[
  {
    "path": ".gitattributes",
    "content": "client/src/session/rest/api/* linguist-generated=true\nserver/data/* linguist-generated=true\nserver/pubsdata/* linguist-generated=true\n"
  },
  {
    "path": ".github/ISSUE_TEMPLATE/bug_report.yml",
    "content": "name: Bug Report\ndescription: Report a bug\ntype: Bug\nbody:\n  - type: textarea\n    attributes:\n      label: Describe the bug\n      placeholder: A clear and concise description of what the bug is\n    validations:\n      required: true\n  - type: textarea\n    attributes:\n      label: Steps to reproduce\n      description: Detailed steps for us to consistently reproduce what you're seeing\n      value: |\n        1.\n        2.\n  - type: textarea\n    attributes:\n      label: SAS code (if applicable)\n      description: If applicable, add the minimal SAS code that will reproduce the bug\n      render: SAS\n  - type: textarea\n    attributes:\n      label: Expected behavior\n      placeholder: A clear and concise description of what you expected to happen\n  - type: textarea\n    attributes:\n      label: Screenshots\n      placeholder: If applicable, add screenshots to help explain your problem\n  - type: input\n    attributes:\n      label: Client OS\n      description: Where is your VS Code running on?\n      placeholder: e.g. Windows 11\n  - type: input\n    attributes:\n      label: Extension version\n      placeholder: e.g. v1.13.0\n    validations:\n      required: true\n  - type: input\n    attributes:\n      label: SAS version\n      placeholder: e.g. Viya 2024.09\n  - type: textarea\n    attributes:\n      label: Additional context\n      placeholder: Add any other context about the problem here\n  - type: checkboxes\n    attributes:\n      label: Sensitive information\n      description: |\n        **<ins>Please do not share screenshots or settings containing sensitive information (i.e. domains, credentials, files, etc)</ins>**\n      options:\n        - label: I have confirmed that this bug report contains no sensitive information\n          required: true\n"
  },
  {
    "path": ".github/ISSUE_TEMPLATE/feature_request.yml",
    "content": "name: Feature Request\ndescription: Suggest an idea for this project\ntype: Feature\nbody:\n  - type: textarea\n    attributes:\n      label: Is your feature request related to a problem? Please describe.\n      placeholder: A clear and concise description of what the problem is. Ex. I'm always frustrated when ...\n  - type: textarea\n    attributes:\n      label: Describe the solution you'd like\n      placeholder: A clear and concise description of what you want to happen.\n  - type: textarea\n    attributes:\n      label: Describe alternatives you've considered\n      placeholder: A clear and concise description of any alternative solutions or features you've considered.\n  - type: textarea\n    attributes:\n      label: Additional context\n      placeholder: Add any other context or screenshots about the feature request here.\n  - type: input\n    attributes:\n      label: SAS version\n      placeholder: e.g. Viya 4\n  - type: checkboxes\n    attributes:\n      label: Sensitive information\n      description: |\n        **<ins>Please do not share screenshots or settings containing sensitive information (i.e. domains, credentials, files, etc)</ins>**\n      options:\n        - label: I have confirmed that this feature request contains no sensitive information\n          required: true\n"
  },
  {
    "path": ".github/dependabot.yml",
    "content": "# To get started with Dependabot version updates, you'll need to specify which\n# package ecosystems to update and where the package manifests are located.\n# Please see the documentation for all configuration options:\n# https://docs.github.com/github/administering-a-repository/configuration-options-for-dependency-updates\n\nversion: 2\nupdates:\n  # Maintain dependencies for npm\n  - package-ecosystem: \"npm\"\n    directory: \"/\"\n    schedule:\n      interval: \"monthly\"\n    groups:\n      dev:\n        patterns:\n          - \"eslint*\"\n          - \"@types*\"\n          - \"ts-*\"\n  - package-ecosystem: \"npm\"\n    directory: \"/client\"\n    schedule:\n      interval: \"monthly\"\n    groups:\n      aggrid:\n        patterns:\n          - \"ag-grid*\"\n      react:\n        patterns:\n          - \"react*\"\n          - \"@types/react*\"\n    ignore:\n      # @types/vscode should match the engine version we're using\n      # should not be upgraded on its own\n      - dependency-name: \"@types/vscode\"\n  - package-ecosystem: \"npm\"\n    directory: \"/server\"\n    schedule:\n      interval: \"monthly\"\n  - package-ecosystem: \"npm\"\n    directory: \"/website\"\n    schedule:\n      interval: \"monthly\"\n    groups:\n      docusaurus:\n        patterns:\n          - \"@docusaurus/*\"\n      react:\n        patterns:\n          - \"react*\"\n  - package-ecosystem: \"github-actions\"\n    # Don't need to specify `/.github/workflows` for `directory`. Github knows it.\n    directory: \"/\"\n    schedule:\n      interval: \"monthly\"\n"
  },
  {
    "path": ".github/workflows/build-vsix.yml",
    "content": "name: Build VSIX for testing\n\non:\n  workflow_dispatch:\n\njobs:\n  package:\n    runs-on: ubuntu-latest\n    steps:\n      - uses: actions/checkout@v6\n      - uses: actions/setup-node@v6\n        with:\n          node-version-file: \".nvmrc\"\n          cache: \"npm\"\n      - run: npm ci\n      - run: npx @vscode/vsce package\n      - uses: actions/upload-artifact@v7\n        with:\n          path: ./*.vsix\n          retention-days: 5\n"
  },
  {
    "path": ".github/workflows/deploy-doc.yml",
    "content": "name: Deploy Doc Website to GitHub Pages\n\non:\n  push:\n    branches:\n      - main\n\nconcurrency:\n  group: ${{ github.workflow }}-${{ github.ref }}\n  cancel-in-progress: true\n\npermissions:\n  contents: write\n\ndefaults:\n  run:\n    shell: bash\n    working-directory: ./website\n\njobs:\n  deploy:\n    runs-on: ubuntu-latest\n    steps:\n      - uses: johnnybenson/package-json-versioned-action@v1.0.9\n        id: package-json\n        with:\n          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}\n      - uses: actions/checkout@v6\n        with:\n          ref: v${{ steps.package-json.outputs.version }}\n      - uses: actions/setup-node@v6\n        with:\n          node-version-file: \".nvmrc\"\n          cache: \"npm\"\n      - run: npm ci\n\n      - name: Build website\n        run: npm run build\n\n      # Popular action to deploy to GitHub Pages:\n      # Docs: https://github.com/peaceiris/actions-gh-pages#%EF%B8%8F-docusaurus\n      - name: Deploy to GitHub Pages\n        uses: peaceiris/actions-gh-pages@v4\n        with:\n          github_token: ${{ secrets.GITHUB_TOKEN }}\n          # Build output to publish to the `gh-pages` branch:\n          publish_dir: ./website/build\n"
  },
  {
    "path": ".github/workflows/package.yml",
    "content": "name: Package and Publish VSIX\n\non:\n  workflow_dispatch:\n  push:\n    branches:\n      - main\n\njobs:\n  package:\n    runs-on: ubuntu-latest\n    steps:\n      - uses: actions/checkout@v6\n      - uses: actions/setup-node@v6\n        with:\n          node-version-file: \".nvmrc\"\n          cache: \"npm\"\n      - run: npm ci\n      - run: npx @vscode/vsce package\n      - uses: actions/upload-artifact@v7\n        with:\n          path: ./*.vsix\n          retention-days: 5\n\n      - uses: johnnybenson/package-json-versioned-action@v1.0.9\n        id: package-json\n        with:\n          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}\n      - run: echo \"vsixPath=sas-lsp-${{ steps.package-json.outputs.version }}.vsix\" >> \"$GITHUB_OUTPUT\"\n        id: vsixPath\n        if: steps.package-json.outputs.has-updated == 'true'\n      - run: npx @vscode/vsce publish -i ${{ steps.vsixPath.outputs.vsixPath }}\n        if: steps.package-json.outputs.has-updated == 'true'\n        env:\n          VSCE_PAT: ${{ secrets.VSCE_PAT }}\n      - run: npx ovsx publish ${{ steps.vsixPath.outputs.vsixPath }} -p ${{ secrets.OVSX_PAT }}\n        if: steps.package-json.outputs.has-updated == 'true'\n      - run: |\n          git tag -f v${{ steps.package-json.outputs.version }}\n          git push -f origin v${{ steps.package-json.outputs.version }}\n        if: steps.package-json.outputs.has-updated == 'true'\n"
  },
  {
    "path": ".github/workflows/pr.yml",
    "content": "# This workflow perform basic checks for a pull request\n\nname: Pull Request Check\n\non: pull_request\n\njobs:\n  build:\n    runs-on: ubuntu-latest\n    steps:\n      - uses: actions/checkout@v6\n      - uses: actions/setup-node@v6\n        with:\n          node-version-file: \".nvmrc\"\n          cache: \"npm\"\n      - run: npm ci\n      - run: npm run format:check\n      - run: npm run copyright:check\n      - run: xvfb-run -a npm run test\n        if: runner.os == 'Linux'\n      - run: npx @vscode/vsce package\n      - uses: actions/upload-artifact@v7\n        with:\n          path: ./*.vsix\n          retention-days: 5\n"
  },
  {
    "path": ".github/workflows/translations.yml",
    "content": "name: Translation Check\n\non:\n  workflow_dispatch:\n  push:\n    branches:\n      - main\n\njobs:\n  check-translations:\n    runs-on: ubuntu-latest\n    steps:\n      - uses: actions/checkout@v6\n      - uses: actions/setup-node@v6\n        with:\n          node-version-file: \".nvmrc\"\n          cache: \"npm\"\n      - run: npm ci\n      - run: npm run locale --update-locales\n      - run: |\n          CHANGES=$(git diff --name-only -- \"*.nls.*\" \"l10n/*\")\n          if [ -z \"$CHANGES\" ]\n          then\n            echo \"No translations needed\"\n          else\n            echo \"The following files need translations:\"\n            echo $CHANGES\n            exit 1\n          fi\n"
  },
  {
    "path": ".gitignore",
    "content": "out\ndist\nnode_modules\n.vscode-test*\n*.vsix\n*.node\n*.qps-ploc.json\nl10n/bundle.l10n.json\n.history"
  },
  {
    "path": ".nvmrc",
    "content": "lts/*"
  },
  {
    "path": ".prettierignore",
    "content": "# generated files\npackage-lock.json\nout/\ndist/\n.vscode-test/\nwebsite/build/\n\n# git files\n.git/\n\n# data files\nserver/**/*.json\n\n# VSCode history\n.history/\n"
  },
  {
    "path": ".vscode/extensions.json",
    "content": "{\n  // See http://go.microsoft.com/fwlink/?LinkId=827846 to learn about workspace recommendations.\n  // Extension identifier format: ${publisher}.${name}. Example: vscode.csharp\n\n  // List of extensions which should be recommended for users of this workspace.\n  \"recommendations\": [\n    // for code formatting\n    \"esbenp.prettier-vscode\",\n    // for linting\n    \"dbaeumer.vscode-eslint\",\n    // for webpack\n    \"amodio.tsl-problem-matcher\"\n  ],\n  // List of extensions recommended by VS Code that should not be recommended for users of this workspace.\n  \"unwantedRecommendations\": []\n}\n"
  },
  {
    "path": ".vscode/launch.json",
    "content": "// A launch configuration that compiles the extension and then opens it inside a new window\n{\n  \"version\": \"0.2.0\",\n  \"configurations\": [\n    {\n      \"type\": \"extensionHost\",\n      \"request\": \"launch\",\n      \"name\": \"Launch Client\",\n      \"runtimeExecutable\": \"${execPath}\",\n      \"args\": [\"--extensionDevelopmentPath=${workspaceRoot}\"],\n      \"outFiles\": [\"${workspaceRoot}/client/dist/**/*.js\"],\n      \"preLaunchTask\": {\n        \"type\": \"npm\",\n        \"script\": \"watch\"\n      }\n    },\n    {\n      \"name\": \"Launch Browser\",\n      \"type\": \"pwa-extensionHost\",\n      \"debugWebWorkerHost\": true,\n      \"request\": \"launch\",\n      \"args\": [\n        \"--extensionDevelopmentPath=${workspaceRoot}\",\n        \"--extensionDevelopmentKind=web\"\n      ],\n      \"outFiles\": [\"${workspaceRoot}/client/dist/**/*.js\"],\n      \"preLaunchTask\": {\n        \"type\": \"npm\",\n        \"script\": \"watch-browser\"\n      }\n    },\n    {\n      \"type\": \"node\",\n      \"request\": \"attach\",\n      \"name\": \"Attach to Server\",\n      \"port\": 6009,\n      \"restart\": true,\n      \"outFiles\": [\"${workspaceRoot}/server/dist/**/*.js\"]\n    },\n    {\n      \"name\": \"Language Server E2E Test\",\n      \"type\": \"extensionHost\",\n      \"request\": \"launch\",\n      \"runtimeExecutable\": \"${execPath}\",\n      \"args\": [\n        \"--extensionDevelopmentPath=${workspaceRoot}\",\n        \"--extensionTestsPath=${workspaceRoot}/client/out/test\",\n        \"${workspaceRoot}/client/testFixture\",\n        \"--disable-extensions\"\n      ],\n      \"env\": { \"testFile\": \"${relativeFile}\" },\n      \"outFiles\": [\"${workspaceRoot}/client/out/test/**/*.js\"],\n      \"preLaunchTask\": {\n        \"type\": \"npm\",\n        \"script\": \"pretest\"\n      }\n    },\n    {\n      \"name\": \"Server Test\",\n      \"type\": \"node\",\n      \"request\": \"launch\",\n      \"program\": \"${workspaceFolder}/node_modules/mocha/bin/_mocha\",\n      \"args\": [\n        \"--require\",\n        \"ts-node/register\",\n        \"-u\",\n        \"bdd\",\n        \"--timeout\",\n        \"999999\",\n        \"--colors\",\n        \"${workspaceFolder}/server/test/**/*.test.ts\"\n      ],\n      \"env\": {\n        \"TS_NODE_PROJECT\": \"${workspaceFolder}/server/tsconfig.json\"\n      },\n      \"cwd\": \"${workspaceFolder}\",\n      \"internalConsoleOptions\": \"openOnSessionStart\",\n      \"sourceMaps\": true\n    }\n  ],\n  \"compounds\": [\n    {\n      \"name\": \"Client + Server\",\n      \"configurations\": [\"Launch Client\", \"Attach to Server\"]\n    }\n  ]\n}\n"
  },
  {
    "path": ".vscode/settings.json",
    "content": "{\n  \"editor.defaultFormatter\": \"esbenp.prettier-vscode\",\n  \"editor.tabSize\": 2,\n  \"editor.insertSpaces\": true,\n  \"editor.formatOnSave\": true,\n  \"typescript.tsc.autoDetect\": \"off\",\n  \"typescript.preferences.quoteStyle\": \"single\"\n}\n"
  },
  {
    "path": ".vscode/tasks.json",
    "content": "{\n  \"version\": \"2.0.0\",\n  \"tasks\": [\n    {\n      \"type\": \"npm\",\n      \"script\": \"watch\",\n      \"isBackground\": true,\n      \"group\": {\n        \"kind\": \"build\",\n        \"isDefault\": true\n      },\n      \"presentation\": {\n        \"panel\": \"dedicated\",\n        \"reveal\": \"never\"\n      },\n      \"problemMatcher\": {\n        \"source\": \"esbuild\",\n        \"owner\": \"typescript\",\n        \"fileLocation\": \"relative\",\n        \"pattern\": {\n          \"regexp\": \"^(.*)$\",\n          \"file\": 1\n        },\n        \"background\": {\n          \"beginsPattern\": {\n            \"regexp\": \"start\"\n          },\n          \"endsPattern\": {\n            \"regexp\": \"end\"\n          }\n        }\n      }\n    },\n    {\n      \"type\": \"npm\",\n      \"script\": \"compile-browser\",\n      \"group\": \"build\",\n      \"presentation\": {\n        \"panel\": \"dedicated\",\n        \"reveal\": \"never\"\n      },\n      \"problemMatcher\": [\"$ts-webpack\", \"$tslint-webpack\"]\n    },\n    {\n      \"type\": \"npm\",\n      \"script\": \"watch-browser\",\n      \"isBackground\": true,\n      \"group\": \"build\",\n      \"presentation\": {\n        \"panel\": \"dedicated\",\n        \"reveal\": \"never\"\n      },\n      \"problemMatcher\": [\"$ts-webpack-watch\", \"$tslint-webpack-watch\"]\n    }\n  ]\n}\n"
  },
  {
    "path": ".vscodeignore",
    "content": ".vscode/**\n.vscode-test/\n.github/**\n.git/\n.gitattributes\n.gitignore\n.prettierignore\n.nvmrc\n.DS_Store\nThumbs.db\n**/src/**\n**/test/**\n**/testFixture/**\n**/out/**\n**/*.ts\n**/*.map\n**/node_modules/**\n**/website/**\ntools\ndoc/**\nprettier.config.js\n**/tsconfig.json\n**/webpack.config.js\ncontributing.md\nContributorAgreement.txt\nSUPPORT.md\n.travis.yml\neslint.config.mjs\npull_request_template.md\nl10n/bundle.l10n.json\n*.vsix\n*.node"
  },
  {
    "path": "CHANGELOG.md",
    "content": "# Changelog\n\nAll notable changes to this project will be documented in this file.\n\nThe format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). If you introduce breaking changes, please group them together in the \"Changed\" section using the **BREAKING:** prefix.\n\n## Unreleased\n\n### Added\n\n- Add R language support for PROC R (syntax highlighting, notebook cells, code formatting preservation) ([#1719](https://github.com/sassoftware/vscode-sas-extension/pull/1719))\n- Add the ability to pin columns ([#1781](https://github.com/sassoftware/vscode-sas-extension/pull/1781))\n- Allow running R code files in SAS Content ([#1845](https://github.com/sassoftware/vscode-sas-extension/pull/1845))\n\n## [1.19.1] - 2026-04-01\n\n### Fixed\n\n- Fix issue impacting ITC users who have a \"Restricted\" execution policy ([#1844](https://github.com/sassoftware/vscode-sas-extension/pull/1844))\n\n## [1.19.0] - 2026-03-26\n\n### Added\n\n- Add filter for data viewer ([#1757](https://github.com/sassoftware/vscode-sas-extension/pull/1757))\n- Add keyboard accessibility / tooltips for table header ([#1743](https://github.com/sassoftware/vscode-sas-extension/pull/1743))\n- Allow running Python code files in SAS Content ([#1815](https://github.com/sassoftware/vscode-sas-extension/pull/1815))\n\n### Fixed\n\n- Syntax highlighter no longer handles if/then/else ([#1718](https://github.com/sassoftware/vscode-sas-extension/issues/1718))\n- Correctly render katex symbols on html export ([#1734](https://github.com/sassoftware/vscode-sas-extension/pull/1734))\n- Fix misc selection issues ([#1748](https://github.com/sassoftware/vscode-sas-extension/pull/1748))\n- Fix sasprogramfile macro ([#1774](https://github.com/sassoftware/vscode-sas-extension/pull/1774))\n\n### Chore\n\n- Update table filter docs ([#1806](https://github.com/sassoftware/vscode-sas-extension/pull/1806))\n- Clarify sas options footnote ([#1816](https://github.com/sassoftware/vscode-sas-extension/pull/1816))\n- Updating pubsdata to use latest SAS doc version ([#1770](https://github.com/sassoftware/vscode-sas-extension/pull/1770))\n- Move itc script to ps1 file ([#1747](https://github.com/sassoftware/vscode-sas-extension/pull/1747))\n\n## [1.18.0] - 2025-12-01\n\n### Added\n\n- Add the ability to sort columns in data viewer and view column properties ([#1622](https://github.com/sassoftware/vscode-sas-extension/pull/1622))\n- Add code comment collapsing ([#1638](https://github.com/sassoftware/vscode-sas-extension/pull/1638))\n- Add ability to view dataset properties ([#1631](https://github.com/sassoftware/vscode-sas-extension/pull/1631))\n\n### Fixed\n\n- Fix light/dark theme toggling ([#1701](https://github.com/sassoftware/vscode-sas-extension/pull/1701))\n- Add name checking for duplicates on drag and drop ([#1665](https://github.com/sassoftware/vscode-sas-extension/pull/1665))\n\n## [1.17.0] - 2025-09-26\n\n### Added\n\n- Added check for unsaved files in a folder upon deletion ([#1559](https://github.com/sassoftware/vscode-sas-extension/pull/1559))\n- Added ability to save cell output ([#1576](https://github.com/sassoftware/vscode-sas-extension/pull/1576))\n- Allow mapping VS Code color theme to custom ODS style ([#1619](https://github.com/sassoftware/vscode-sas-extension/pull/1619))\n\n### Fixed\n\n- First empty line condition for toggleLineComment ([#1583](https://github.com/sassoftware/vscode-sas-extension/issues/1583))\n- Enable filter library name in SET statement ([#1608](https://github.com/sassoftware/vscode-sas-extension/issues/1608))\n- Fix multiple establish connection calls ([#1621](https://github.com/sassoftware/vscode-sas-extension/issues/1621))\n\n## [1.16.0] - 2025-07-31\n\n### Added\n\n- Add support for `fileNavigationCustomRootPath`/`fileNavigationRoot` for rest & iom/com connections ([#1557](https://github.com/sassoftware/vscode-sas-extension/pull/1557))\n- Toggle SAS code comment by line ([#1521](https://github.com/sassoftware/vscode-sas-extension/pull/1521))\n- Be able to ignore region from format ([#1534](https://github.com/sassoftware/vscode-sas-extension/pull/1534))\n- Set default CSV save location to workspace root for remote workspace ([#1550](https://github.com/sassoftware/vscode-sas-extension/pull/1550))\n\n### Fixed\n\n- Folding does not work in certain case ([#1462](https://github.com/sassoftware/vscode-sas-extension/issues/1462))\n- Library viewer optimization for ITC ([#1520](https://github.com/sassoftware/vscode-sas-extension/pull/1520))\n- Remove redundant line break at end when format ([#1522](https://github.com/sassoftware/vscode-sas-extension/issues/1522))\n- Failed to open a file having character '#' in its name ([#1272](https://github.com/sassoftware/vscode-sas-extension/issues/1272))\n- Failed to create and open a file having character \"?\" in its name ([#1532](https://github.com/sassoftware/vscode-sas-extension/issues/1532))\n- Cannot delete a file or folder by keyboard on SAS Explorer pane ([#789](https://github.com/sassoftware/vscode-sas-extension/issues/789))\n- Auto-complete for sub-options ([#1555](https://github.com/sassoftware/vscode-sas-extension/issues/1555))\n- Toggle line comment in Proc Python ([#1554](https://github.com/sassoftware/vscode-sas-extension/issues/1554))\n\n## [1.15.0] - 2025-06-10\n\n### Changed\n\n- SAS Providers for OLE DB is now required for SAS 9.4 (local) and SAS 9.4 (remote – IOM) connection type.\n\n### Added\n\n- Add sas file system support for ITC-based (IOM/COM) connections ([#1388](https://github.com/sassoftware/vscode-sas-extension/pull/1388))\n- Add Traditional Chinese and Polish translations ([#1453](https://github.com/sassoftware/vscode-sas-extension/pull/1453))\n\n### Fixed\n\n- Show problems at corresponding line ([#1347](https://github.com/sassoftware/vscode-sas-extension/issues/1347)) ([#1378](https://github.com/sassoftware/vscode-sas-extension/issues/1378)) ([#1475](https://github.com/sassoftware/vscode-sas-extension/issues/1475))\n- Autocomplete in DATA step ([#1458](https://github.com/sassoftware/vscode-sas-extension/issues/1458))\n- `Fold All Regions` in Command Palette don't work ([#1486](https://github.com/sassoftware/vscode-sas-extension/issues/1486))\n- Table Viewer optimization in ITC ([#1466](https://github.com/sassoftware/vscode-sas-extension/pull/1466)) ([#1132](https://github.com/sassoftware/vscode-sas-extension/issues/1132))\n\n## [1.14.0] - 2025-04-28\n\n### Added\n\n- Add application name to ITC-based (IOM/COM) connections ([#762](https://github.com/sassoftware/vscode-sas-extension/issues/762))\n- Ability to export SAS Notebook to HTML file ([#1417](https://github.com/sassoftware/vscode-sas-extension/pull/1417))\n\n### Fixed\n\n- Reduce overhead time when running code to Viya ([#1447](https://github.com/sassoftware/vscode-sas-extension/issues/1447))\n\n## [1.13.1] - 2025-03-04\n\n### Fixed\n\n- SAS log color issue ([#1325](https://github.com/sassoftware/vscode-sas-extension/issues/1325))\n- Remove unexpected endsubmit autocomplete ([#1357](https://github.com/sassoftware/vscode-sas-extension/issues/1357))\n- Proc Python auto-indent issue ([#1376](https://github.com/sassoftware/vscode-sas-extension/issues/1376))\n- Better error display for Rest session creation errors ([#1367](https://github.com/sassoftware/vscode-sas-extension/issues/1367))\n- Stop running when close session ([#1390](https://github.com/sassoftware/vscode-sas-extension/pull/1390))\n\n## [1.13.0] - 2024-12-23\n\n### Changed\n\n- Required VS Code version 1.89 at minimum\n\n### Added\n\n- Python language features inside proc python ([#991](https://github.com/sassoftware/vscode-sas-extension/pull/991))\n- Inherit VS Code file icons in SAS Content and Server ([#1310](https://github.com/sassoftware/vscode-sas-extension/pull/1310))\n- Display macro name in outline pane ([#1326](https://github.com/sassoftware/vscode-sas-extension/pull/1326))\n\n### Fixed\n\n- Display global option help in data step ([#1282](https://github.com/sassoftware/vscode-sas-extension/issues/1282))\n- Unnecessary empty line added by formatter ([#1288](https://github.com/sassoftware/vscode-sas-extension/issues/1288))\n- Display context in hover help for data step statement option ([#1306](https://github.com/sassoftware/vscode-sas-extension/issues/1306))\n- SAS log code action should not impact others ([#1302](https://github.com/sassoftware/vscode-sas-extension/issues/1302))\n- The notebook file is opened incorrectly after renaming ([#1289](https://github.com/sassoftware/vscode-sas-extension/issues/1289))\n- Resolve breaking changes by AG Grid 33 ([#1334](https://github.com/sassoftware/vscode-sas-extension/issues/1334))\n\n## [1.12.0] - 2024-11-25\n\n### Added\n\n- Added username and password support for SSH connection type ([#1126](https://github.com/sassoftware/vscode-sas-extension/pull/1126))\n- Added support for SAS server for viya connections ([#1203](https://github.com/sassoftware/vscode-sas-extension/pull/1203))\n- Enable find in result pane ([#714](https://github.com/sassoftware/vscode-sas-extension/pull/714))\n\n### Fixed\n\n- Formatting should allow statements between proc python and submit ([#1226](https://github.com/sassoftware/vscode-sas-extension/issues/1226))\n- SAS Log isn't shown ([#1243](https://github.com/sassoftware/vscode-sas-extension/issues/1243))\n- Bracket matching in macro quote ([#1213](https://github.com/sassoftware/vscode-sas-extension/issues/1213))\n- Failed to run code the second time with IOM ([#1266](https://github.com/sassoftware/vscode-sas-extension/issues/1266))\n- Should not show hover help on whitespaces ([#1267](https://github.com/sassoftware/vscode-sas-extension/issues/1267))\n\n## [1.11.0] - 2024-10-09\n\n### Added\n\n- Export sas notebook to sas file ([#1157](https://github.com/sassoftware/vscode-sas-extension/pull/1157))\n- Clear log on execution start (with new setting `SAS.log.clearOnExecutionStart`) ([#1168](https://github.com/sassoftware/vscode-sas-extension/pull/1168))\n\n### Fixed\n\n- \"Run sas file\" tasks do not respect selected code ([#1177](https://github.com/sassoftware/vscode-sas-extension/issues/1177))\n- Use builtin default System Option MEMSIZE value rather than hardcoding to 0 ([#1189](https://github.com/sassoftware/vscode-sas-extension/issues/1189))\n- Log contents are not rendered properly if trying to switch profile from SSH to other connection types ([#1070](https://github.com/sassoftware/vscode-sas-extension/issues/1070))\n- Try to run a SAS file having no contents will lead to console error ([#1201](https://github.com/sassoftware/vscode-sas-extension/issues/1201))\n- Formatting proc FEDSQL deletes the content of the proc ([#1202](https://github.com/sassoftware/vscode-sas-extension/issues/1202))\n\n## [1.10.2] - 2024-08-30\n\n### Fixed\n\n- Code lost when formatting proc python without endsubmit ([#992](https://github.com/sassoftware/vscode-sas-extension/issues/992))\n- Library tree view keeps refreshing ([#1022](https://github.com/sassoftware/vscode-sas-extension/issues/1022))\n- Table viewer does not display variable names ([#1114](https://github.com/sassoftware/vscode-sas-extension/issues/1114))\n- Disable sort UI on table as it does nothing ([#1013](https://github.com/sassoftware/vscode-sas-extension/issues/1013))\n- Inconsistency between column title on table viewer and dataset variable name ([#1117](https://github.com/sassoftware/vscode-sas-extension/issues/1117))\n- Reset cell log upon cell submit in sasnb ([#1080](https://github.com/sassoftware/vscode-sas-extension/issues/1080))\n- Log information are missing in certain case with Viya connection ([#963](https://github.com/sassoftware/vscode-sas-extension/issues/963))\n- Get working directory error in IOM connection ([#1163](https://github.com/sassoftware/vscode-sas-extension/issues/1163))\n\n## [1.10.1] - 2024-07-22\n\n### Fixed\n\n- Auto-indent improvement ([#522](https://github.com/sassoftware/vscode-sas-extension/issues/522)) ([#652](https://github.com/sassoftware/vscode-sas-extension/issues/652))\n- Log output by running task ([#1058](https://github.com/sassoftware/vscode-sas-extension/issues/1058))\n- Resolve the breaking change introduced by AG Grid 32.0 ([#1096](https://github.com/sassoftware/vscode-sas-extension/issues/1096))\n- Library pane crash with option symbolgen ([#1012](https://github.com/sassoftware/vscode-sas-extension/issues/1012))\n\n## [1.10.0] - 2024-06-18\n\n### Added\n\n- Show problems from SAS log ([#627](https://github.com/sassoftware/vscode-sas-extension/pull/627))\n- New [documentation site](https://sassoftware.github.io/vscode-sas-extension/) ([#1030](https://github.com/sassoftware/vscode-sas-extension/pull/1030))\n\n### Fixed\n\n- Fileref OUTFILE should be allowed for COM/IOM ([#868](https://github.com/sassoftware/vscode-sas-extension/issues/868))\n- Syntax help issue in special case ([#900](https://github.com/sassoftware/vscode-sas-extension/issues/900)) ([#954](https://github.com/sassoftware/vscode-sas-extension/issues/954))\n- IOM connection hang when work dir is long ([#964](https://github.com/sassoftware/vscode-sas-extension/issues/964))\n- Support cshell for ssh ([#1005](https://github.com/sassoftware/vscode-sas-extension/issues/1005))\n- Fix content type when saving files ([#878](https://github.com/sassoftware/vscode-sas-extension/issues/878))\n\n## [1.9.0] - 2024-04-30\n\n### Added\n\n- Add data viewer support for IOM/COM connections ([#680](https://github.com/sassoftware/vscode-sas-extension/issues/680))\n- SQL/Python/Lua syntax highlighting ([#813](https://github.com/sassoftware/vscode-sas-extension/pull/813))\n\n### Fixed\n\n- Content type for file creation/upload ([#878](https://github.com/sassoftware/vscode-sas-extension/issues/878))\n- ods html5 output path to work directory ([#664](https://github.com/sassoftware/vscode-sas-extension/pull/664))\n- Log with Error type has no color with Viya connection ([#886](https://github.com/sassoftware/vscode-sas-extension/issues/886))\n- Function autocomplete display issue ([#905](https://github.com/sassoftware/vscode-sas-extension/issues/905))\n- Result panels are empty on VS Code restart ([#937](https://github.com/sassoftware/vscode-sas-extension/issues/937))\n- using pretty for json output to avoid long line ([#938](https://github.com/sassoftware/vscode-sas-extension/pull/938))\n- Password Character Parsing for SAS 9.4 Remote IOM Connection ([#939](https://github.com/sassoftware/vscode-sas-extension/issues/939))\n\n## [1.8.0] - 2024-03-20\n\n### Added\n\n- Added SAS file entry to `New File...` menu ([#812](https://github.com/sassoftware/vscode-sas-extension/pull/812))\n- SAS log colors for Local 94 and IOM ([#843](https://github.com/sassoftware/vscode-sas-extension/pull/843))\n- Added better error reporting for COM/IOM connections ([#842](https://github.com/sassoftware/vscode-sas-extension/pull/842))\n\n### Changed\n\n- Update command palette entry `SAS: Sign in` so that it's only visible for Viya profiles. Non-viya users will still be able to connect and execute code by using the running man icon ([#862](https://github.com/sassoftware/vscode-sas-extension/pull/862))\n\n### Fixed\n\n- Formatting issue when lua submit block is empty ([#848](https://github.com/sassoftware/vscode-sas-extension/issues/848))\n- Remote Unix machine x window issue ([#699](https://github.com/sassoftware/vscode-sas-extension/issues/699))\n- PDF Download doesn't display content ([#838](https://github.com/sassoftware/vscode-sas-extension/issues/838))\n- Prevent Viya connection from generating guid based html files ([#815](https://github.com/sassoftware/vscode-sas-extension/pull/815))\n\n## [1.7.1] - 2024-02-15\n\n### Fixed\n\n- Fixed an issue where users were not able to add new profiles if starting with no profiles ([#826](https://github.com/sassoftware/vscode-sas-extension/pull/826))\n\n### Added\n\n- Add Spanish translation ([#749](https://github.com/sassoftware/vscode-sas-extension/pull/749))\n\n## [1.7.0] - 2024-02-08\n\n### Added\n\n- Support formatting SAS code ([#681](https://github.com/sassoftware/vscode-sas-extension/pull/681))\n- Added extra settings options to customize when SAS log is shown ([#713](https://github.com/sassoftware/vscode-sas-extension/pull/713))\n- Improved function autocomplete ([#724](https://github.com/sassoftware/vscode-sas-extension/pull/724))\n\n### Fixed\n\n- Unexpected indentation when paste ([#735](https://github.com/sassoftware/vscode-sas-extension/issues/735))\n- The \"Close Session\" menu is no longer available after saving any changes to the `settings.json` file ([#745](https://github.com/sassoftware/vscode-sas-extension/issues/745))\n- Error message for connection error need to be externalized ([#734](https://github.com/sassoftware/vscode-sas-extension/issues/734))\n- I18n node names when converting SAS Notebook to SAS Flow ([#530](https://github.com/sassoftware/vscode-sas-extension/issues/530))\n- Ending inner block properly inside macro ([#772](https://github.com/sassoftware/vscode-sas-extension/issues/772))\n\n## [1.6.0] - 2024-01-15\n\n### Added\n\n- Added the ability to upload and download sas content using the context menu ([#547](https://github.com/sassoftware/vscode-sas-extension/issues/547))\n- Added the ability to download results as an html file ([#546](https://github.com/sassoftware/vscode-sas-extension/issues/546))\n- Added sas 9.4 remote connection support via ITC and the IOM Bridge protocol ([#592](https://github.com/sassoftware/vscode-sas-extension/pull/592))\n- Support recursive folding block ([#555](https://github.com/sassoftware/vscode-sas-extension/pull/555))\n- Added `Close Session` button on the tooltip of the active profile status bar item ([#573](https://github.com/sassoftware/vscode-sas-extension/pull/573))\n- Support function signature help ([#626](https://github.com/sassoftware/vscode-sas-extension/pull/626))\n- Added `ods graphics on;` to the wrapper code ([#648](https://github.com/sassoftware/vscode-sas-extension/pull/648))\n- Japanese translation ([#597](https://github.com/sassoftware/vscode-sas-extension/pull/597))\n- French translation ([#634](https://github.com/sassoftware/vscode-sas-extension/pull/634))\n- Italian translation ([#654](https://github.com/sassoftware/vscode-sas-extension/pull/654))\n\n### Changed\n\n- Required VS Code version 1.82 at minimum\n- Removed the disconnect button from the editor toolbar (next to the run button), Please use the `Close Session` button on the tooltip of the active profile status bar item instead. ([#573](https://github.com/sassoftware/vscode-sas-extension/pull/573))\n\n### Fixed\n\n- ODS display image inline ([#471](https://github.com/sassoftware/vscode-sas-extension/issues/471))\n- sasnb extension name for save ([#607](https://github.com/sassoftware/vscode-sas-extension/issues/607))\n- document symbol error ([#715](https://github.com/sassoftware/vscode-sas-extension/issues/715))\n\n## [1.5.0] - 2023-10-27\n\n### Added\n\n- Allow dragging sas content into editor ([#510](https://github.com/sassoftware/vscode-sas-extension/pull/510))\n- Added the ability to use `Convert to flow...` for sas notebooks in the local filesystem ([#552](https://github.com/sassoftware/vscode-sas-extension/pull/552))\n- Add Portuguese (Brazil) translation ([#529](https://github.com/sassoftware/vscode-sas-extension/pull/529))\n- Add Korean translation ([#566](https://github.com/sassoftware/vscode-sas-extension/pull/566))\n- Assign `_SASPROGRAMFILE` macro-variable to path of submitted SAS notebook code ([#551](https://github.com/sassoftware/vscode-sas-extension/pull/551))\n\n### Fixed\n\n- Target display issue for local profile ([#514](https://github.com/sassoftware/vscode-sas-extension/issues/514))\n- Check for failed state during session log stream to prevent unbounded loop ([#562](https://github.com/sassoftware/vscode-sas-extension/issues/562))\n\n## [1.4.1] - 2023-09-29\n\n### Fixed\n\n- Use sas-notebook renderer only for .sasnb files ([#538](https://github.com/sassoftware/vscode-sas-extension/pull/538))\n\n## [1.4.0] - 2023-09-28\n\n### Added\n\n- Run SAS code via VS Code tasks ([#444](https://github.com/sassoftware/vscode-sas-extension/pull/444))\n- Convert `.sasnb` to `.flw` ([#447](https://github.com/sassoftware/vscode-sas-extension/pull/447))\n- Refined SAS code auto-indentation ([#451](https://github.com/sassoftware/vscode-sas-extension/pull/451))\n- Option to control the default placement of Result panel ([#513](https://github.com/sassoftware/vscode-sas-extension/pull/513))\n- Assign `_SASPROGRAMFILE` macro-variable to full path and filename of submitted SAS program ([#524](https://github.com/sassoftware/vscode-sas-extension/pull/524))\n\n### Fixed\n\n- Content rename issues ([#445](https://github.com/sassoftware/vscode-sas-extension/issues/445))([#504](https://github.com/sassoftware/vscode-sas-extension/issues/504))([#507](https://github.com/sassoftware/vscode-sas-extension/issues/507))([#533](https://github.com/sassoftware/vscode-sas-extension/issues/533))\n- Call routine autocomplete ([#497](https://github.com/sassoftware/vscode-sas-extension/issues/497))\n- Update high contrast data viewer theming ([#448](https://github.com/sassoftware/vscode-sas-extension/issues/448))\n\n## [1.3.0] - 2023-09-12\n\n### Added\n\n- Option to specify ODS style (match VS Code color theme by default) ([#473](https://github.com/sassoftware/vscode-sas-extension/pull/473))\n- German translation ([#466](https://github.com/sassoftware/vscode-sas-extension/pull/466))\n- (Engineering) Locale script to ease translating extension into different languages. See `CONTRIBUTING.md` for more information. ([#464](https://github.com/sassoftware/vscode-sas-extension/pull/464))\n\n### Changed\n\n- Setting ID `SAS.session.outputHtml` changed to `SAS.results.html.enabled` ([#496](https://github.com/sassoftware/vscode-sas-extension/pull/496))\n\n### Fixed\n\n- Always show running man icon ([#433](https://github.com/sassoftware/vscode-sas-extension/issues/433))\n- SSH connection error ([#458](https://github.com/sassoftware/vscode-sas-extension/issues/458))\n- Show results even job is in error state ([#468](https://github.com/sassoftware/vscode-sas-extension/pull/468))\n- Escape $ symbol for local connection ([#356](https://github.com/sassoftware/vscode-sas-extension/issues/356))\n- Notebook hangs with local connection ([#472](https://github.com/sassoftware/vscode-sas-extension/issues/472))\n- Previous log shown for SSH connection ([#470](https://github.com/sassoftware/vscode-sas-extension/issues/470))\n- Result displaying issue for SSH connection ([#483](https://github.com/sassoftware/vscode-sas-extension/issues/483))\n\n## [1.2.0] - 2023-08-11\n\n### Added\n\n- Auto-completion follows user's typing case ([#430](https://github.com/sassoftware/vscode-sas-extension/pull/430))\n\n### Fixed\n\n- Fixed column icons for data viewer ([#443](https://github.com/sassoftware/vscode-sas-extension/pull/443))\n\n## [1.1.0] - 2023-08-04\n\n### Added\n\n- Ability to specify SAS options for session startup ([#339](https://github.com/sassoftware/vscode-sas-extension/pull/339))\n- Autoexec support for Viya connection ([#355](https://github.com/sassoftware/vscode-sas-extension/pull/355))\n- Show session startup log ([#380](https://github.com/sassoftware/vscode-sas-extension/pull/380))\n- Added the ability to download tables from the libraries view ([#395](https://github.com/sassoftware/vscode-sas-extension/pull/395))\n- Simplified Chinese translation ([#409](https://github.com/sassoftware/vscode-sas-extension/pull/409))\n- (Engineering) Added support for `npm run copyright:check --fix`. This automatically prepends files with the correct copyright information. ([#344](https://github.com/sassoftware/vscode-sas-extension/pull/344))\n- (Engineering) l10n infrastructure ([#370](https://github.com/sassoftware/vscode-sas-extension/pull/370))\n\n### Changed\n\n- Changed Data viewer to use AG Grid instead of VSCode data grid. Our data viewer now support infinite paging for large tables, a fixed header, and type icons for columns ([#395](https://github.com/sassoftware/vscode-sas-extension/pull/395))\n\n### Fixed\n\n- Result not shown when having many pages ([#330](https://github.com/sassoftware/vscode-sas-extension/issues/330))\n- Ability to cancel profile update ([#389](https://github.com/sassoftware/vscode-sas-extension/issues/389))\n- Local COM hang in zh-cn locale ([#346](https://github.com/sassoftware/vscode-sas-extension/issues/346))\n- SAS Log partially lost ([#420](https://github.com/sassoftware/vscode-sas-extension/issues/420))\n- SAS Content error on Viya 2023.03 ([#328](https://github.com/sassoftware/vscode-sas-extension/issues/328))\n- (Engineering) Fixed an issue with `npm run copyright:check` where some files were not being validated. ([#344](https://github.com/sassoftware/vscode-sas-extension/pull/344))\n\n## [1.0.0] - 2023-06-16\n\n### Added\n\n- Support SAS 9 Local via COM ([#11](https://github.com/sassoftware/vscode-sas-extension/issues/11))\n- Support SAS Notebook ([#174](https://github.com/sassoftware/vscode-sas-extension/issues/174))\n- Support Add to My Favorites and Remove from My Favorites action ([#283](https://github.com/sassoftware/vscode-sas-extension/issues/283))\n- Support Drag & Drop for SAS content ([#310](https://github.com/sassoftware/vscode-sas-extension/issues/310))\n- Support Canceling running job ([#187](https://github.com/sassoftware/vscode-sas-extension/issues/187))\n\n### Changed\n\n- Changed license to official Apache License, Version 2.0 ([#341](https://github.com/sassoftware/vscode-sas-extension/pull/341))\n\n### Fixed\n\n- 406 error for library view on Viya 3.5 ([#300](https://github.com/sassoftware/vscode-sas-extension/issues/300))\n\n## [0.1.5] - 2023-05-19\n\n### Added\n\n- Allow user to provide trusted CA certificates ([#220](https://github.com/sassoftware/vscode-sas-extension/issues/220))\n- Support Run Region ([#222](https://github.com/sassoftware/vscode-sas-extension/issues/222))\n- Infinite scrolling for data table ([#199](https://github.com/sassoftware/vscode-sas-extension/pull/199))\n- Updated folder icons ([#214](https://github.com/sassoftware/vscode-sas-extension/issues/214))\n\n### Fixed\n\n- Errors for libraries view in some cases ([#250](https://github.com/sassoftware/vscode-sas-extension/issues/250)), ([#252](https://github.com/sassoftware/vscode-sas-extension/issues/252))\n- Let built-in suggestions popup in some cases ([#259](https://github.com/sassoftware/vscode-sas-extension/issues/259))\n- Show user acount information correctly ([#235](https://github.com/sassoftware/vscode-sas-extension/issues/235))\n- Updated syntax data ([#249](https://github.com/sassoftware/vscode-sas-extension/issues/249))\n\n## [0.1.4] - 2023-04-28\n\n### Fixed\n\n- Fixed an issue where trailing slashes on viya endpoints caused connection issues ([#232](https://github.com/sassoftware/vscode-sas-extension/pull/232))\n- Added back the F3 (Run Selected) and F8 (Run All) keyboard shortcuts ([#230](https://github.com/sassoftware/vscode-sas-extension/issues/230), [#231](https://github.com/sassoftware/vscode-sas-extension/pull/231))\n- Sort the folder children in Explorer pane alphabetically and case-insensitively, folders first ([#225](https://github.com/sassoftware/vscode-sas-extension/issues/225))\n- Fixed an issue where preview mode wasn't working as expected when opening files in sas content ([#224](https://github.com/sassoftware/vscode-sas-extension/issues/224), [#243](https://github.com/sassoftware/vscode-sas-extension/pull/243))\n\n## [0.1.3] - 2023-04-13\n\n### Added\n\n- Authentication status now persisted in VS Code ([#94](https://github.com/sassoftware/vscode-sas-extension/issues/94), [#110](https://github.com/sassoftware/vscode-sas-extension/pull/110))\n- Added support for running SAS code on a remote 9.4 linux server using ssh and -nodms ([#61](https://github.com/sassoftware/vscode-sas-extension/issues/61), [#155](https://github.com/sassoftware/vscode-sas-extension/issues/155), [#186](https://github.com/sassoftware/vscode-sas-extension/issues/186))\n- Migrate legacy profiles to use new connectionType property ([#157](https://github.com/sassoftware/vscode-sas-extension/issues/157))\n- Updated error message for unsupported connection type ([#151](https://github.com/sassoftware/vscode-sas-extension/issues/151))\n- Added SAS content navigator. You are now able to browse, edit, create, delete, and run files on a SAS server using a Viya connection ([#56](https://github.com/sassoftware/vscode-sas-extension/issues/56), [#162](https://github.com/sassoftware/vscode-sas-extension/pull/162), [#176](https://github.com/sassoftware/vscode-sas-extension/pull/176), [#193](https://github.com/sassoftware/vscode-sas-extension/pull/193))\n- Added support for SAS libraries. You are now able to see libraries and tables from a SAS instance. You are also able to delete, view, and drag tables into your sas programs. ([#129](https://github.com/sassoftware/vscode-sas-extension/issues/129))\n- Update syntax colors ([#153](https://github.com/sassoftware/vscode-sas-extension/pull/153))\n\n## [0.1.2] - 2023-02-01\n\n### Changed\n\n- The `Run Selected SAS Code` command changed to `Run Selected or All SAS Code`. It will run selected code when there's a selection, and run all code when there's no selection #50, #51\n- The running man icon changed to `Run Selected or All SAS Code` #50, #51\n\n### Added\n\n- When there're multiple selections, the `Run Selected or All SAS Code` command will combine all the selected code and submit #50, #51\n- Added default shortcuts, `F3` for `Run Selected or All SAS Code`, `F8` for `Run All SAS Code` #50, #51\n\n### Fixed\n\n- Fixed a problem when there is a period in the profile name #43, #44\n- Fixed a problem when job running longer than 60 seconds #36, #40\n- Only show Result window if result is generated #46, #77\n- Run some code, error happened unexpectedly #63, #40\n\n## [0.1.1] - 2022-11-24\n\n### Changed\n\n- **BREAKING:** Updated extension to require \"Authorization code\" grant. Your client ID needs to be registered with \"authorization_code\" and \"refresh_token\" grant type now.\n\n### Added\n\n- Added login with SASLogon with PKCE\n- Added support to refresh access token with refresh token\n- Added built-in client ID for Viya4 2022.11 and later\n\n### Removed\n\n- Removed password and token file login approach\n\n## [0.1.0] - 2022-10-08\n\n### Changed\n\n- **BREAKING:** Changed Command ID `SAS.session.run` and `SAS.session.runSelected` to `SAS.run` and `SAS.runSelected`\n- **BREAKING:** Changed Settings `SAS.session.host`, `SAS.session.clientId`, etc. to `SAS.connectionProfiles`\n\n### Added\n\n- Added support for connection profiles\n\n### Fixed\n\n- Improved macro statement autocomplete\n- Fixed issue where percentage sign should escape quotes in %str\n- Fixed PROC SQL snippet syntax\n\n## [0.0.7] - 2022-07-26\n\n### Added\n\n- Added support to run selected SAS code\n\n## [0.0.6] - 2022-07-08\n\n### Fixed\n\n- Fixed extension recovery from syntax check mode on each run\n- Corrected syntax highlighting for name literal\n\n### Changed\n\n- Changed SAS themes to provide default colors to non-SAS languages\n- Changed SAS syntax to have basic type colors in non-SAS themes\n- Updated README to show animated gifs\n\n## [0.0.5] - 2022-05-26\n\n### Fixed\n\n- Fixed compute context not found error; user can now specify a compute context name to use\n\n### Changed\n\n- Rearranged settings fields\n- Updated dependencies versions\n\n## [0.0.4] - 2022-05-19\n\n### Fixed\n\n- Fixed error parsing/display\n\n### Changed\n\n- Updated README.md to link to wiki\n\n## [0.0.3] - 2022-05-17\n\nInitial release\n"
  },
  {
    "path": "CONTRIBUTING.md",
    "content": "# How to Contribute\n\nWe'd love to accept your patches and contributions to this project. There are\njust a few small guidelines you need to follow.\n\n## Contributor License Agreement\n\nContributions to this project must be accompanied by a signed\n[Contributor Agreement](ContributorAgreement.txt).\nYou (or your employer) retain the copyright to your contribution,\nthis simply gives us permission to use and redistribute your contributions as\npart of the project.\n\n## Code reviews\n\nAll submissions, including submissions by project members, require review. We\nuse GitHub pull requests for this purpose. Consult\n[GitHub Help](https://help.github.com/articles/about-pull-requests/) for more\ninformation on using pull requests.\n\nPlease make sure your submission passed the `lint`, `format:check` and `test` tasks clean.\n\n### Creating a pull request description\n\nThere are two parts to a pull request description: Summary and Testing.\n\n#### Summary\n\nUse this as a space to provide details about your new feature. Your summary should primarily focus on what has changed, and why it has changed.\n\n#### Testing\n\nFor each pull request, you are expected to test the defaults to make sure no regressions were introduced as part of your change. When adding new features, you are expected to add new test cases that cover the new functionality.\n\n# Development\n\n## Structure\n\n```\n.\n├── client // Language Client\n│   ├── src\n|   |   └── browser\n│   │   |   └── extension.ts // Language Client entry point for browser\n|   |   └── node\n│   │       └── extension.ts // Language Client entry point for electron\n├── package.json // The extension manifest.\n└── server // Language Server\n    └── src\n        └── browser\n        |   └── server.ts // Language Server entry point for browser\n        └── node\n            └── server.ts // Language Server entry point for electron\n```\n\n## Get started\n\n- Download and install the current NodeJS LTS version.\n- Run `npm install` in this folder. This installs all necessary npm modules in both the client and server folder.\n- Open VS Code on this folder.\n- Switch to the `Run and Debug` view in the VS Code Activity Bar (Ctrl+Shift+D).\n- Select `Launch Client` from the drop down (if it is not already).\n- Press ▷ to run the launch config (F5).\n- In the [Extension Development Host] instance of VS Code, open a SAS file.\n- _Optional_: If you want to debug the language server as well, also run the launch configuration `Attach to Server`.\n\n## Adding a new locale\n\nFollow these steps to add a new locale for the SAS Extension for VSCode:\n\n- Follow the instructions in the [Get started](#get-started) section to setup your environment and view results.\n- Run `npm run locale --new=<locale>` (the locale specified here will need to be one of https://code.visualstudio.com/docs/getstarted/locales#_available-locales).\n- Translate the strings in `package.nls.<locale>.json` and `l10/bundle.l10n.<locale>.json`.\n- Install the language pack for your chosen locale and change VSCode's language to the one you're testing.\n- Verify your changes using `Launch Client`.\n- After you've verified changes, you can create a [pull request](https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/creating-a-pull-request-from-a-fork) for review.\n\n## Updating a current locale\n\nFollow these steps to update a locale for the SAS Extension for VSCode:\n\n- Follow the instructions in the [Get started](#get-started) section to setup your environment and view results.\n- Run `npm run locale --update-locale=<locale>`. This will update `package.nls.<locale>.json` and `l10/bundle.l10n.<locale>.json` with any missing translation keys.\n- Update any untranslated strings.\n- Verify your changes using `Launch Client`.\n- After you've verified changes, you can create a [pull request](https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/creating-a-pull-request-from-a-fork) for review.\n\n### Locale contributors\n\n| Language                  | VSCode Language ID | Contributor                                       |\n| ------------------------- | ------------------ | ------------------------------------------------- |\n| **Chinese (Simplified)**  | zh-cn              | Wei Wu, XiangYu Chen                              |\n| **Chinese (Traditional)** | zh-tw              | William Huang                                     |\n| **French**                | fr                 | Valerie Law, Vincent Rejany                       |\n| **German**                | de                 | Susan Hergenhahn, David Weik                      |\n| **Italian**               | it                 | Lorenzo Roccato, Simone Spagnoli, Patrizia Omodei |\n| **Japanese**              | ja                 | Miori Oiunuma                                     |\n| **Korean**                | ko                 | Meilan Ji, SoYoung Huh                            |\n| **Polish**                | pl                 | Magda Posnik-Wiech                                |\n| **Portuguese (Brazil)**   | pt-br              | Larissa Lima                                      |\n| **Spanish**               | es                 | Elyana Mastache, Raquel Nunez                     |\n\n## Run single test file\n\n- Open the `.test.ts` file you want to run\n- Switch to the `Run and Debug` view in the VS Code Activity Bar (Ctrl+Shift+D).\n- Select `Language Server E2E Test` from the drop down.\n- Press ▷ to run the launch config (F5).\n- See test result in the `Debug Console` panel.\n\n## Update documentation\n\nThe `website` directory powers the [documentation website](https://sassoftware.github.io/vscode-sas-extension/). Update the markdown files in `website/docs/` directory. It will be built to the website when pushed to the `main` branch. See its [README](./website/README.md) for details.\n\n# Testing unpublished versions\n\nYou can still try out any commit or pull request (PR) if you don't want to manually build from source code.\n\n## Download VSIX file\n\n- Open below page with your browser\n  - For main branch https://github.com/sassoftware/vscode-sas-extension/actions/workflows/package.yml\n  - For Pull Request https://github.com/sassoftware/vscode-sas-extension/actions/workflows/pr.yml\n- Select the commit/PR you want.\n- Download the `artifact.zip` file from the Artifacts section.\n- Unzip it to get the VSIX file.\n\n## Install VSIX file\n\n- Open the `Extensions` view on the VS Code Activity Bar.\n- Click the `...` from the top right of the Extensions pane, and select `Install from VSIX...`, select the downloaded VSIX file.\n- Restart VS Code\n\n**Note**:\n\n- When testing VSIX files, it's usually a good idea to turn off \"Extensions: Auto Update\" in your VS Code settings to prevent auto-updating to a published version.\n- When switching between multiple VSIX files, it's usually a good idea to clean up the [installation directory](https://code.visualstudio.com/docs/editor/extension-marketplace#_where-are-extensions-installed) after uninstalling a previous version. Otherwise VS Code may cache it as un-published versions may look same.\n"
  },
  {
    "path": "ContributorAgreement.txt",
    "content": "Contributor Agreement\n\nVersion 1.2\n\nTo contribute to this project, you must (1) attest to your right to offer your \ncontribution and (2) clearly indicate whether you used artificial intelligence \ntools to develop your contribution.\n\n== (1) Your Right to Contribute ==\n\nYou must agree to and comply with the terms of the following agreement.\nComplying with the agreement does not alter your right to use your\ncontributions for any other purpose.\n\n        Developer's Certificate of Origin 1.1\n\n        By making a contribution to this project, I certify that:\n\n        (a) The contribution was created in whole or in part by me and I have \n            the right to submit it under the open source license indicated in \n            the file; or\n\n        (b) The contribution is based upon previous work that, to the best of \n            my knowledge, is covered under an appropriate open source license \n            and I have the right under that license to submit that work with \n            modifications, whether created in whole or in part by me, under \n            the same open source license (unless I am permitted to submit \n            under a different license), as indicated in the file; or\n\n        (c) The contribution was provided directly to me by some other person \n            who certified (a), (b) or (c) and I have not modified it.\n\n        (d) I understand and agree that this project and the contribution are \n            public and that a record of the contribution (including all \n            personal information I submit with it, including my sign-off) is \n            maintained indefinitely and may be redistributed consistent with \n            this project or the open source license(s) involved.\n\nIndicate your acceptance of the agreement by including a \"sign-off\" in any \ncontribution you propose. The sign-off is a line of text that accompanies your \nproposed contribution, attesting that you have the right to provide it.\n\nWhen proposing changes via source control systems (such as Git), you can \ncomply with the agreement by adding the following line to your commit message:\n\n\tSigned-off-by: Firstname Lastname <user@domain>\n\nFor example:\n\n\tSigned-off-by: Random J. Developer <random@developer.example.org>\n\nPlease provide your real name (no pseudonyms or anonymous contributions). All \nchanges accepted into the project's official source code must be accompanied \nby this sign-off.\n\n== (2) Your Use of Generative AI Tools ==\n\nYou must note contributions generated in whole or in part by artificial\nintelligence tools. In your comments or commit messages, provide any context\nreviewers might need to understand the change, and explain which part(s) of\nyour proposed change came from the tool. Then follow the instructions below.\n\nIf you used a generative artificial intelligence tool to create your entire \ncontribution, add the following additional line to your commit message:\n\n\tGenerated-by: Assistant Name\n\nFor example:\n\n\tGenerated-by: Claude Code\n\nIf you used a generative artificial intelligence tool to assist you in \ncreating your contribution, add the following line to your commit message:\n\n\tAssisted-by: Assistant Name\n\nFor example:\n\n\tAssisted-by: GitHub Copilot\n"
  },
  {
    "path": "LICENSE",
    "content": "\n                                 Apache License\n                           Version 2.0, January 2004\n                        http://www.apache.org/licenses/\n\n   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION\n\n   1. Definitions.\n\n      \"License\" shall mean the terms and conditions for use, reproduction,\n      and distribution as defined by Sections 1 through 9 of this document.\n\n      \"Licensor\" shall mean the copyright owner or entity authorized by\n      the copyright owner that is granting the License.\n\n      \"Legal Entity\" shall mean the union of the acting entity and all\n      other entities that control, are controlled by, or are under common\n      control with that entity. For the purposes of this definition,\n      \"control\" means (i) the power, direct or indirect, to cause the\n      direction or management of such entity, whether by contract or\n      otherwise, or (ii) ownership of fifty percent (50%) or more of the\n      outstanding shares, or (iii) beneficial ownership of such entity.\n\n      \"You\" (or \"Your\") shall mean an individual or Legal Entity\n      exercising permissions granted by this License.\n\n      \"Source\" form shall mean the preferred form for making modifications,\n      including but not limited to software source code, documentation\n      source, and configuration files.\n\n      \"Object\" form shall mean any form resulting from mechanical\n      transformation or translation of a Source form, including but\n      not limited to compiled object code, generated documentation,\n      and conversions to other media types.\n\n      \"Work\" shall mean the work of authorship, whether in Source or\n      Object form, made available under the License, as indicated by a\n      copyright notice that is included in or attached to the work\n      (an example is provided in the Appendix below).\n\n      \"Derivative Works\" shall mean any work, whether in Source or Object\n      form, that is based on (or derived from) the Work and for which the\n      editorial revisions, annotations, elaborations, or other modifications\n      represent, as a whole, an original work of authorship. For the purposes\n      of this License, Derivative Works shall not include works that remain\n      separable from, or merely link (or bind by name) to the interfaces of,\n      the Work and Derivative Works thereof.\n\n      \"Contribution\" shall mean any work of authorship, including\n      the original version of the Work and any modifications or additions\n      to that Work or Derivative Works thereof, that is intentionally\n      submitted to Licensor for inclusion in the Work by the copyright owner\n      or by an individual or Legal Entity authorized to submit on behalf of\n      the copyright owner. For the purposes of this definition, \"submitted\"\n      means any form of electronic, verbal, or written communication sent\n      to the Licensor or its representatives, including but not limited to\n      communication on electronic mailing lists, source code control systems,\n      and issue tracking systems that are managed by, or on behalf of, the\n      Licensor for the purpose of discussing and improving the Work, but\n      excluding communication that is conspicuously marked or otherwise\n      designated in writing by the copyright owner as \"Not a Contribution.\"\n\n      \"Contributor\" shall mean Licensor and any individual or Legal Entity\n      on behalf of whom a Contribution has been received by Licensor and\n      subsequently incorporated within the Work.\n\n   2. Grant of Copyright License. Subject to the terms and conditions of\n      this License, each Contributor hereby grants to You a perpetual,\n      worldwide, non-exclusive, no-charge, royalty-free, irrevocable\n      copyright license to reproduce, prepare Derivative Works of,\n      publicly display, publicly perform, sublicense, and distribute the\n      Work and such Derivative Works in Source or Object form.\n\n   3. Grant of Patent License. Subject to the terms and conditions of\n      this License, each Contributor hereby grants to You a perpetual,\n      worldwide, non-exclusive, no-charge, royalty-free, irrevocable\n      (except as stated in this section) patent license to make, have made,\n      use, offer to sell, sell, import, and otherwise transfer the Work,\n      where such license applies only to those patent claims licensable\n      by such Contributor that are necessarily infringed by their\n      Contribution(s) alone or by combination of their Contribution(s)\n      with the Work to which such Contribution(s) was submitted. If You\n      institute patent litigation against any entity (including a\n      cross-claim or counterclaim in a lawsuit) alleging that the Work\n      or a Contribution incorporated within the Work constitutes direct\n      or contributory patent infringement, then any patent licenses\n      granted to You under this License for that Work shall terminate\n      as of the date such litigation is filed.\n\n   4. Redistribution. You may reproduce and distribute copies of the\n      Work or Derivative Works thereof in any medium, with or without\n      modifications, and in Source or Object form, provided that You\n      meet the following conditions:\n\n      (a) You must give any other recipients of the Work or\n          Derivative Works a copy of this License; and\n\n      (b) You must cause any modified files to carry prominent notices\n          stating that You changed the files; and\n\n      (c) You must retain, in the Source form of any Derivative Works\n          that You distribute, all copyright, patent, trademark, and\n          attribution notices from the Source form of the Work,\n          excluding those notices that do not pertain to any part of\n          the Derivative Works; and\n\n      (d) If the Work includes a \"NOTICE\" text file as part of its\n          distribution, then any Derivative Works that You distribute must\n          include a readable copy of the attribution notices contained\n          within such NOTICE file, excluding those notices that do not\n          pertain to any part of the Derivative Works, in at least one\n          of the following places: within a NOTICE text file distributed\n          as part of the Derivative Works; within the Source form or\n          documentation, if provided along with the Derivative Works; or,\n          within a display generated by the Derivative Works, if and\n          wherever such third-party notices normally appear. The contents\n          of the NOTICE file are for informational purposes only and\n          do not modify the License. You may add Your own attribution\n          notices within Derivative Works that You distribute, alongside\n          or as an addendum to the NOTICE text from the Work, provided\n          that such additional attribution notices cannot be construed\n          as modifying the License.\n\n      You may add Your own copyright statement to Your modifications and\n      may provide additional or different license terms and conditions\n      for use, reproduction, or distribution of Your modifications, or\n      for any such Derivative Works as a whole, provided Your use,\n      reproduction, and distribution of the Work otherwise complies with\n      the conditions stated in this License.\n\n   5. Submission of Contributions. Unless You explicitly state otherwise,\n      any Contribution intentionally submitted for inclusion in the Work\n      by You to the Licensor shall be under the terms and conditions of\n      this License, without any additional terms or conditions.\n      Notwithstanding the above, nothing herein shall supersede or modify\n      the terms of any separate license agreement you may have executed\n      with Licensor regarding such Contributions.\n\n   6. Trademarks. This License does not grant permission to use the trade\n      names, trademarks, service marks, or product names of the Licensor,\n      except as required for reasonable and customary use in describing the\n      origin of the Work and reproducing the content of the NOTICE file.\n\n   7. Disclaimer of Warranty. Unless required by applicable law or\n      agreed to in writing, Licensor provides the Work (and each\n      Contributor provides its Contributions) on an \"AS IS\" BASIS,\n      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or\n      implied, including, without limitation, any warranties or conditions\n      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A\n      PARTICULAR PURPOSE. You are solely responsible for determining the\n      appropriateness of using or redistributing the Work and assume any\n      risks associated with Your exercise of permissions under this License.\n\n   8. Limitation of Liability. In no event and under no legal theory,\n      whether in tort (including negligence), contract, or otherwise,\n      unless required by applicable law (such as deliberate and grossly\n      negligent acts) or agreed to in writing, shall any Contributor be\n      liable to You for damages, including any direct, indirect, special,\n      incidental, or consequential damages of any character arising as a\n      result of this License or out of the use or inability to use the\n      Work (including but not limited to damages for loss of goodwill,\n      work stoppage, computer failure or malfunction, or any and all\n      other commercial damages or losses), even if such Contributor\n      has been advised of the possibility of such damages.\n\n   9. Accepting Warranty or Additional Liability. While redistributing\n      the Work or Derivative Works thereof, You may choose to offer,\n      and charge a fee for, acceptance of support, warranty, indemnity,\n      or other liability obligations and/or rights consistent with this\n      License. However, in accepting such obligations, You may act only\n      on Your own behalf and on Your sole responsibility, not on behalf\n      of any other Contributor, and only if You agree to indemnify,\n      defend, and hold each Contributor harmless for any liability\n      incurred by, or claims asserted against, such Contributor by reason\n      of your accepting any such warranty or additional liability.\n\n   END OF TERMS AND CONDITIONS\n\n   APPENDIX: How to apply the Apache License to your work.\n\n      To apply the Apache License to your work, attach the following\n      boilerplate notice, with the fields enclosed by brackets \"[]\"\n      replaced with your own identifying information. (Don't include\n      the brackets!)  The text should be enclosed in the appropriate\n      comment syntax for the file format. We also recommend that a\n      file or class name and description of purpose be included on the\n      same \"printed page\" as the copyright notice for easier\n      identification within third-party archives.\n\n   Copyright [yyyy] [name of copyright owner]\n\n   Licensed under the Apache License, Version 2.0 (the \"License\");\n   you may not use this file except in compliance with the License.\n   You may obtain a copy of the License at\n\n       http://www.apache.org/licenses/LICENSE-2.0\n\n   Unless required by applicable law or agreed to in writing, software\n   distributed under the License is distributed on an \"AS IS\" BASIS,\n   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n   See the License for the specific language governing permissions and\n   limitations under the License."
  },
  {
    "path": "README.md",
    "content": "# SAS Extension for Visual Studio Code\n\n[Capabilities](https://sassoftware.github.io/vscode-sas-extension/matrix) | [Installation](https://sassoftware.github.io/vscode-sas-extension/installation) | [Configuration](https://sassoftware.github.io/vscode-sas-extension/Configurations/) | [Features](https://sassoftware.github.io/vscode-sas-extension/Features/) | [FAQ](https://sassoftware.github.io/vscode-sas-extension/faq)\n\nWelcome to the SAS Extension for Visual Studio Code! The SAS extension is lightweight, runs anywhere, and allows you to integrate SAS with other languages. You can connect directly to SAS Viya and SAS 9 and run code.\n\nBefore you can run SAS code, you must [configure the SAS extension](https://sassoftware.github.io/vscode-sas-extension/Configurations/) to access your SAS 9.4 (remote or local) server or a SAS Viya server and [add a connection profile](https://sassoftware.github.io/vscode-sas-extension/Configurations/Profiles/).\n\nThe SAS extension includes many [features](https://sassoftware.github.io/vscode-sas-extension/Features/) to help you access your data, write and run code, and create SAS notebooks.\n\n- SAS syntax highlighting and help, code completion, and code snippets\n- Navigate SAS Content and libraries, including table viewer\n- Create notebooks for SAS, SQL, Python, R, and other languages\n\n<img src=\"website/static/images/featuresGlance.png\"/>\n\n## Support\n\n### FAQs\n\nPlease check the [FAQ](https://sassoftware.github.io/vscode-sas-extension/faq) page for some common questions.\n\n### SAS Programming Documentation\n\n[SAS Programming documentation](https://go.documentation.sas.com/doc/en/pgmsascdc/v_048/lepg/titlepage.htm)\n\n### SAS Communities\n\nFor usage questions, tips, and workarounds, interact with other SAS users to ask questions and get answers on the [SAS Programmers Community site](https://communities.sas.com/t5/SAS-Programming/bd-p/programming).\n\n### SAS Technical Support\n\nSAS Technical Support provides standard support for the current release of the [SAS Extension for Visual Studio Code](https://marketplace.visualstudio.com/items?itemName=SAS.sas-lsp) available through the [Visual Studio Marketplace](https://marketplace.visualstudio.com/items), in accordance with the [Policies for All SAS Products | SAS Support](https://support.sas.com/en/technical-support/services-policies/policies-for-sas-products.html). If you have been unable to solve a problem or find answers using self‑help resources, open a case in the [Customer Service Portal](https://service.sas.com/csm) to get technical support for the SAS Extension for VS Code.\n\n### Reporting Issues\n\nSubmit a [GitHub issue](https://github.com/sassoftware/vscode-sas-extension/issues) for tracking bugs, feature requests, or questions regarding open‑source contributions.\n\n## Contributing to the SAS Extension\n\nWe welcome your contributions! Please read [CONTRIBUTING.md](/CONTRIBUTING.md) for details on how to submit contributions to this project.\n\n## License\n\nThis project is subject to the Apache License Version 2.0, a copy of which is included as [LICENSE](LICENSE)\n"
  },
  {
    "path": "SUPPORT.md",
    "content": "## Support\n\nSupport is provided through multiple channels, depending on your situation:\n\n- For usage questions, tips, and workarounds, interact with other SAS users to ask questions and get answers on the [SAS Programmers Community site](https://communities.sas.com/t5/SAS-Programming/bd-p/programming).\n\n- SAS Technical Support provides standard support for the current release of the [SAS Extension for Visual Studio Code](https://marketplace.visualstudio.com/items?itemName=SAS.sas-lsp) available through the [Visual Studio Marketplace](https://marketplace.visualstudio.com), in accordance with the [Policies for All SAS Products | SAS Support](https://support.sas.com/en/technical-support/services-policies/policies-for-sas-products.html). If you have been unable to solve a problem or find answers using self‑help resources, open a case in the [Customer Service Portal](https://service.sas.com/csm) to get technical support for the SAS Extension for VS Code.\n\n- Submit a [GitHub issue](https://github.com/sassoftware/vscode-sas-extension/issues) for tracking bugs, feature requests, or questions regarding open‑source contributions.\n"
  },
  {
    "path": "client/package.json",
    "content": "{\n  \"name\": \"sas-lsp-client\",\n  \"description\": \"VS Code client for SAS language server\",\n  \"author\": \"SAS Institute Inc.\",\n  \"license\": \"Apache-2.0\",\n  \"version\": \"0.0.1\",\n  \"publisher\": \"SAS\",\n  \"engines\": {\n    \"vscode\": \"^1.89.0\"\n  },\n  \"dependencies\": {\n    \"ag-grid-community\": \"^35.2.1\",\n    \"ag-grid-react\": \"^35.2.1\",\n    \"axios\": \"^1.15.2\",\n    \"highlight.js\": \"^11.11.1\",\n    \"katex\": \"^0.16.45\",\n    \"marked\": \"^17.0.5\",\n    \"marked-katex-extension\": \"^5.1.7\",\n    \"media-typer\": \"^1.1.0\",\n    \"react\": \"^19.2.5\",\n    \"react-dom\": \"^19.2.5\",\n    \"ssh2\": \"^1.17.0\",\n    \"uuid\": \"^14.0.0\",\n    \"vscode-languageclient\": \"^10.0.0-next.2\",\n    \"zustand\": \"^5.0.12\"\n  },\n  \"devDependencies\": {\n    \"@types/react\": \"^19.2.14\",\n    \"@types/react-dom\": \"^19.2.3\",\n    \"@types/ssh2\": \"^1.15.5\",\n    \"@types/uuid\": \"^11.0.0\",\n    \"@types/vscode\": \"1.82.0\",\n    \"@types/vscode-notebook-renderer\": \"^1.72.4\",\n    \"@vscode/test-electron\": \"^2.5.2\"\n  }\n}\n"
  },
  {
    "path": "client/src/browser/extension.ts",
    "content": "// Copyright © 2022, SAS Institute Inc., Cary, NC, USA.  All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { ExtensionContext, Uri, commands } from \"vscode\";\nimport { LanguageClientOptions } from \"vscode-languageclient\";\nimport { LanguageClient } from \"vscode-languageclient/browser\";\n\nlet client: LanguageClient;\n\n// this method is called when vs code is activated\nexport function activate(context: ExtensionContext): void {\n  commands.executeCommand(\"setContext\", \"SAS.hideRunMenuItem\", true);\n\n  // Options to control the language client\n  const clientOptions: LanguageClientOptions = {\n    // Register the server for sas file\n    documentSelector: [{ language: \"sas\" }],\n  };\n\n  client = createWorkerLanguageClient(context, clientOptions);\n\n  client.start();\n}\n\nfunction createWorkerLanguageClient(\n  context: ExtensionContext,\n  clientOptions: LanguageClientOptions,\n) {\n  // Create a worker. The worker main file implements the language server.\n  const serverMain = Uri.joinPath(\n    context.extensionUri,\n    \"server/dist/browser/server.js\",\n  );\n  const worker = new Worker(serverMain.toString());\n\n  // create the language server client to communicate with the server running in the worker\n  return new LanguageClient(\n    \"sas-lsp\",\n    \"SAS Language Server\",\n    worker,\n    clientOptions,\n  );\n}\n\nexport function deactivate(): Thenable<void> | undefined {\n  if (!client) {\n    return undefined;\n  }\n  return client.stop();\n}\n"
  },
  {
    "path": "client/src/commands/authorize.ts",
    "content": "// Copyright © 2023, SAS Institute Inc., Cary, NC, USA.  All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { authentication, commands, window } from \"vscode\";\n\nimport { SASAuthProvider } from \"../components/AuthProvider\";\nimport LibraryNavigator from \"../components/LibraryNavigator\";\nimport { ConnectionType } from \"../components/profile\";\nimport { profileConfig, switchProfile } from \"./profile\";\n\nconst finishAuthorization = (profileConfig): boolean => {\n  commands.executeCommand(\"setContext\", \"SAS.authorizing\", false);\n  return profileConfig.getActiveProfile() !== \"\";\n};\n\nexport const checkProfileAndAuthorize =\n  (libraryNavigator: LibraryNavigator) => async (): Promise<boolean> => {\n    commands.executeCommand(\"setContext\", \"SAS.authorizing\", true);\n    if (profileConfig.getActiveProfile() === \"\") {\n      await switchProfile();\n    }\n\n    if (profileConfig.getActiveProfile() === \"\") {\n      return finishAuthorization(profileConfig);\n    }\n\n    const activeProfile = profileConfig.getProfileByName(\n      profileConfig.getActiveProfile(),\n    );\n\n    switch (activeProfile.connectionType) {\n      case ConnectionType.Rest:\n        try {\n          await authentication.getSession(SASAuthProvider.id, [], {\n            createIfNone: true,\n          });\n        } catch (error) {\n          window.showErrorMessage(error.message);\n        }\n\n        return finishAuthorization(profileConfig);\n      case ConnectionType.IOM:\n      case ConnectionType.COM:\n        commands.executeCommand(\"setContext\", \"SAS.librariesDisplayed\", true);\n        commands.executeCommand(\"setContext\", \"SAS.serverDisplayed\", true);\n        libraryNavigator.refresh();\n        return finishAuthorization(profileConfig);\n      default:\n        return finishAuthorization(profileConfig);\n    }\n  };\n"
  },
  {
    "path": "client/src/commands/closeSession.ts",
    "content": "// Copyright © 2022-2023, SAS Institute Inc., Cary, NC, USA.  All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { window } from \"vscode\";\n\nimport { getSession } from \"../connection\";\nimport { Session } from \"../connection/session\";\n\nexport async function closeSession(message?: string): Promise<void> {\n  let session: Session;\n  try {\n    session = getSession();\n  } catch {\n    // no session, do nothing\n  }\n  await session?.close();\n  if (message) {\n    window.showInformationMessage(message);\n  }\n}\n"
  },
  {
    "path": "client/src/commands/new.ts",
    "content": "// Copyright © 2024, SAS Institute Inc., Cary, NC, USA.  All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport {\n  NotebookCellData,\n  NotebookCellKind,\n  NotebookData,\n  window,\n  workspace,\n} from \"vscode\";\n\nexport async function newSASNotebook() {\n  await window.showNotebookDocument(\n    await workspace.openNotebookDocument(\n      \"sas-notebook\",\n      new NotebookData([\n        new NotebookCellData(NotebookCellKind.Code, \"\", \"sas\"),\n      ]),\n    ),\n  );\n}\n\nexport async function newSASFile() {\n  await window.showTextDocument(\n    await workspace.openTextDocument({ language: \"sas\" }),\n  );\n}\n"
  },
  {
    "path": "client/src/commands/profile.ts",
    "content": "// Copyright © 2022, SAS Institute Inc., Cary, NC, USA.  All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { l10n, window } from \"vscode\";\n\nimport {\n  ProfileConfig,\n  ProfilePromptType,\n  createInputTextBox,\n} from \"../components/profile\";\n\nexport const profileConfig = new ProfileConfig();\n/**\n * Add profile command prompts the user to create a profile by a given name\n * and then proceeds to prompt the user for profile values to be initialied.\n * When a profile is added, this profile will automatically be set as the active\n * profile and will be serialized in the configuration file.\n */\nexport async function addProfile(): Promise<void> {\n  const profileName = await createInputTextBox(ProfilePromptType.NewProfile);\n  if (profileName) {\n    await profileConfig\n      .prompt(profileName)\n      .then(() => profileConfig.updateActiveProfileSetting(profileName));\n  }\n}\n\n/**\n * Update profile command prompts the user to choose a profile to update\n * and then proceeds to prompt for the profile values to reinitialized.\n * When a profile is updated the profile will automatically be serialized\n * in the configuration file.\n */\nexport async function updateProfile(): Promise<void> {\n  const profileList = profileConfig.listProfile();\n  if (profileList.length === 0) {\n    await addProfile();\n    return;\n  }\n  const selected = await window.showQuickPick(profileList, {\n    placeHolder: l10n.t(\"Select a SAS connection profile\"),\n  });\n  if (selected) {\n    await profileConfig.prompt(selected);\n  }\n}\n\n/**\n * Switch profile command modifies the configuration file and and updates the\n * active profile and serializes the changes in the configuration file.\n */\nexport async function switchProfile(): Promise<void> {\n  const profileList = profileConfig.listProfile();\n  if (profileList.length === 0) {\n    await addProfile();\n    return;\n  }\n  const selected = await window.showQuickPick(profileList, {\n    placeHolder: l10n.t(\"Select a SAS connection profile\"),\n  });\n  if (selected) {\n    profileConfig.updateActiveProfileSetting(selected);\n  }\n}\n\n/**\n * Delete profile command will prompt the user to choose a profile name to\n * delete from the profile list.  The delete wil then serialize the changes\n * to the configuration file.\n */\nexport async function deleteProfile(): Promise<void> {\n  const profileList = profileConfig.listProfile();\n  if (profileList.length === 0) {\n    window.showErrorMessage(l10n.t(\"No Profiles available to delete\"));\n    return;\n  }\n  const selected = await window.showQuickPick(profileList, {\n    placeHolder: l10n.t(\"Select a SAS connection profile\"),\n  });\n  if (selected) {\n    profileConfig.deleteProfile(selected);\n    window.showInformationMessage(\n      l10n.t(\n        \"The {selected} SAS connection profile has been deleted from the settings.json file.\",\n        { selected },\n      ),\n    );\n  }\n}\n"
  },
  {
    "path": "client/src/commands/run.ts",
    "content": "// Copyright © 2022-2024, SAS Institute Inc., Cary, NC, USA.  All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport {\n  EventEmitter,\n  Position,\n  ProgressLocation,\n  Selection,\n  Uri,\n  commands,\n  l10n,\n  window,\n} from \"vscode\";\nimport type { BaseLanguageClient } from \"vscode-languageclient\";\n\nimport { basename, dirname, extname } from \"path\";\n\nimport { showResult } from \"../components/ResultPanel\";\nimport {\n  appendExecutionLogFn,\n  appendSessionLogFn,\n  setFileName,\n} from \"../components/logViewer\";\nimport { sasDiagnostic } from \"../components/logViewer/sasDiagnostics\";\nimport { SASCodeDocument } from \"../components/utils/SASCodeDocument\";\nimport { getCodeDocumentConstructionParameters } from \"../components/utils/SASCodeDocumentHelper\";\nimport { isOutputHtmlEnabled } from \"../components/utils/settings\";\nimport { ErrorRepresentation, getSession } from \"../connection\";\nimport { useRunStore } from \"../store\";\nimport { profileConfig, switchProfile } from \"./profile\";\n\ninterface FoldingBlock {\n  startLine: number;\n  startCol: number;\n  endLine: number;\n  endCol: number;\n}\n\nconst { setIsExecutingCode } = useRunStore.getState();\n\nasync function getSelectedRegions(\n  client: BaseLanguageClient,\n): Promise<Selection[]> {\n  const result: string[] = [];\n\n  async function pushBlock(line: number, col: number) {\n    const block = await client.sendRequest<FoldingBlock>(\n      \"sas/getFoldingBlock\",\n      {\n        textDocument: { uri: window.activeTextEditor.document.uri.toString() },\n        line,\n        col,\n      },\n    );\n    if (block) {\n      const start = doc.offsetAt(new Position(block.startLine, block.startCol));\n      const end = doc.offsetAt(new Position(block.endLine, block.endCol));\n      const key = `${start}-${end}`;\n      if (result.indexOf(key) === -1) {\n        result.push(key);\n      }\n      return end;\n    }\n  }\n\n  const editor = window.activeTextEditor;\n  const doc = editor.document;\n  for (const selection of editor.selections) {\n    const start = doc.offsetAt(selection.start);\n    let end = doc.offsetAt(selection.end);\n    const selectedText = doc.getText(selection);\n    if (selectedText.endsWith(\"\\n\")) {\n      --end;\n    }\n    for (let i = start; i <= end; i++) {\n      const pos = doc.positionAt(i);\n      const blockEnd = await pushBlock(pos.line, pos.character);\n      if (blockEnd && blockEnd > i) {\n        i = blockEnd;\n      }\n    }\n  }\n  return result.map((key) => {\n    const [start, end] = key.split(\"-\");\n    return new Selection(\n      doc.positionAt(parseInt(start)),\n      doc.positionAt(parseInt(end)),\n    );\n  });\n}\n\nasync function runCode(selected?: boolean, uri?: Uri) {\n  if (profileConfig.getActiveProfile() === \"\") {\n    switchProfile();\n    return;\n  }\n\n  const outputHtml = isOutputHtmlEnabled();\n  const editor = uri\n    ? window.visibleTextEditors.find(\n        (editor) => editor.document.uri.toString() === uri.toString(),\n      )\n    : window.activeTextEditor;\n\n  const selections = selected ? editor.selections : undefined;\n  const parameters = getCodeDocumentConstructionParameters(editor.document, {\n    selections,\n  });\n  const codeDoc = new SASCodeDocument(parameters);\n  const onExecutionLogFn = sasDiagnostic.generateLogFn(\n    codeDoc,\n    appendExecutionLogFn,\n  );\n\n  const session = getSession();\n  session.onExecutionLogFn = onExecutionLogFn;\n  session.onSessionLogFn = appendSessionLogFn;\n\n  const fullPath = codeDoc.getFileName();\n  const basePath = dirname(fullPath);\n  const fileName = basename(fullPath, extname(fullPath));\n  setFileName(fileName);\n\n  await session.setup();\n\n  await window.withProgress(\n    {\n      location: ProgressLocation.Notification,\n      title: l10n.t(\"SAS code running...\"),\n      cancellable: typeof session.cancel === \"function\",\n    },\n    (_progress, cancellationToken) => {\n      cancellationToken.onCancellationRequested(() => {\n        session.cancel?.();\n      });\n      return session\n        .run(codeDoc.getWrappedCode(), { baseDirectory: basePath })\n        .then((results) => {\n          if (outputHtml && results.html5) {\n            showResult(results.html5, uri);\n          }\n        });\n    },\n  );\n}\n\nconst _run = async (selected = false, uri?: Uri) => {\n  if (useRunStore.getState().isExecutingCode) {\n    return;\n  }\n\n  setIsExecutingCode(true);\n  commands.executeCommand(\"setContext\", \"SAS.running\", true);\n\n  await runCode(selected, uri)\n    .catch((err) => {\n      onRunError(err);\n    })\n    .finally(() => {\n      setIsExecutingCode(false);\n      commands.executeCommand(\"setContext\", \"SAS.running\", false);\n    });\n};\n\nexport async function run(): Promise<void> {\n  await _run();\n}\n\nexport async function runSelected(uri: Uri): Promise<void> {\n  await _run(true, uri);\n}\n\nexport async function runRegion(client: BaseLanguageClient): Promise<void> {\n  const selections = await getSelectedRegions(client);\n  window.activeTextEditor.selections = selections;\n  await _run(true, window.activeTextEditor.document.uri);\n}\n\nexport function hasRunningTask() {\n  return useRunStore.getState().isExecutingCode;\n}\n\nexport async function runTask(\n  codeDoc: SASCodeDocument,\n  messageEmitter?: EventEmitter<string>,\n  closeEmitter?: EventEmitter<number>,\n  taskLabel?: string,\n): Promise<void> {\n  return _runTask(codeDoc, messageEmitter, closeEmitter, taskLabel)\n    .catch((err) => {\n      onRunError(err);\n      throw err;\n    })\n    .finally(() => {\n      setIsExecutingCode(false);\n      commands.executeCommand(\"setContext\", \"SAS.running\", false);\n    });\n}\n\nasync function _runTask(\n  codeDoc: SASCodeDocument,\n  messageEmitter?: EventEmitter<string>,\n  closeEmitter?: EventEmitter<number>,\n  taskLabel?: string,\n): Promise<void> {\n  if (useRunStore.getState().isExecutingCode) {\n    return;\n  }\n\n  if (profileConfig.getActiveProfile() === \"\") {\n    await switchProfile();\n    return;\n  }\n\n  setIsExecutingCode(true);\n  commands.executeCommand(\"setContext\", \"SAS.running\", true);\n\n  let cancelled = false;\n  const session = getSession();\n  closeEmitter.event(async (e) => {\n    if (e > 0) {\n      cancelled = true;\n      await session.cancel();\n    }\n\n    setIsExecutingCode(false);\n    commands.executeCommand(\"setContext\", \"SAS.running\", false);\n  });\n\n  session.onExecutionLogFn = sasDiagnostic.generateLogFn(\n    codeDoc,\n    appendExecutionLogFn,\n  );\n  session.onSessionLogFn = appendSessionLogFn;\n\n  const fullPath = codeDoc.getFileName();\n  const basePath = dirname(fullPath);\n  const fileName = basename(fullPath, extname(fullPath));\n  setFileName(fileName);\n\n  messageEmitter.fire(`${l10n.t(\"Connecting to SAS session...\")}\\r\\n`);\n  !cancelled && (await session.setup(true));\n\n  messageEmitter.fire(`${l10n.t(\"SAS code running...\")}\\r\\n`);\n  return cancelled\n    ? undefined\n    : session\n        .run(codeDoc.getWrappedCode(), { baseDirectory: basePath })\n        .then((results) => {\n          const outputHtml = isOutputHtmlEnabled();\n\n          if (outputHtml && results.html5) {\n            messageEmitter.fire(l10n.t(\"Show results...\") + \"\\r\\n\");\n            showResult(\n              results.html5,\n              undefined,\n              l10n.t(\"Result: {result}\", { result: taskLabel }),\n            );\n          }\n        });\n}\n\nconst isErrorRep = (err: unknown): err is ErrorRepresentation => {\n  if (\n    err &&\n    typeof err === \"object\" &&\n    \"message\" in err &&\n    \"details\" in err &&\n    Array.isArray(err.details) &&\n    \"errorCode\" in err\n  ) {\n    return true;\n  }\n  return false;\n};\n\nexport const onRunError = (err) => {\n  console.dir(err);\n  commands.executeCommand(\"setContext\", \"SAS.librariesDisplayed\", false);\n  commands.executeCommand(\"setContext\", \"SAS.serverDisplayed\", false);\n\n  if (err.response) {\n    // The request was made and we got a status code that falls out side of the 2xx range\n    const errorData = err.response.data;\n\n    if (isErrorRep(errorData)) {\n      //errorData is an error representation, extract out the details to show a better message\n      const details = errorData.details;\n      const options = {\n        modal: true,\n        detail: details.join(\"\\n\"),\n      };\n      window.showErrorMessage(errorData.message, options);\n    } else {\n      window.showErrorMessage(err.message);\n    }\n  } else {\n    // Either the request was made but no response was received, or\n    // there was an issue in the request setup itself, just show the message\n    window.showErrorMessage(err.message);\n  }\n};\n"
  },
  {
    "path": "client/src/commands/toggleLineComment.ts",
    "content": "// Copyright © 2025, SAS Institute Inc., Cary, NC, USA.  All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { Selection, TextEditor, commands } from \"vscode\";\nimport type { BaseLanguageClient } from \"vscode-languageclient\";\n\n/**\n * Register a command to toggle SAS block comment by line\n */\nexport async function toggleLineComment(\n  editor: TextEditor,\n  client: BaseLanguageClient,\n): Promise<void> {\n  const { selections, document } = editor;\n  if (selections.length === 1) {\n    // We have to depend on VS Code native command for embedded (e.g. Python, Lua) code\n    // VS Code native command works on multiple selections together\n    // so we're not able to only change some of selections\n    // We only do for single selection for now\n\n    const selection = selections[0];\n    const endLine =\n      // should not include the last line if it just selected the last return character\n      selection.end.line > selection.start.line && selection.end.character === 0\n        ? selection.end.line - 1\n        : selection.end.line;\n    const fullSelection = new Selection(\n      selection.start.line,\n      0,\n      endLine,\n      document.lineAt(endLine).range.end.character,\n    );\n\n    if (!fullSelection.isSingleLine) {\n      const result = await client.sendRequest<string | null>(\n        \"sas/toggleLineComment\",\n        {\n          textDocument:\n            client.code2ProtocolConverter.asTextDocumentIdentifier(document),\n          range: client.code2ProtocolConverter.asRange(fullSelection),\n        },\n      );\n      if (result) {\n        editor.selection = fullSelection;\n        await editor.edit((editBuilder) => {\n          editBuilder.replace(fullSelection, result);\n        });\n        return;\n      }\n    }\n  }\n  commands.executeCommand(\"editor.action.commentLine\");\n}\n"
  },
  {
    "path": "client/src/components/APIProvider.ts",
    "content": "// Copyright © 2025, SAS Institute Inc., Cary, NC, USA.  All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { authentication } from \"vscode\";\n\nimport { profileConfig } from \"../commands/profile\";\nimport { SASAuthProvider } from \"./AuthProvider\";\nimport { ConnectionType } from \"./profile\";\n\n/* only Rest APIs for now */\n\nconst apis = {};\n\nexport const registerAPI = (name: string, fn) => {\n  apis[name] = fn;\n};\n\nexport const getRestAPIs = async (accessToken: string) => {\n  const activeProfile = profileConfig.getProfileByName(\n    profileConfig.getActiveProfile(),\n  );\n  if (!activeProfile || activeProfile.connectionType !== ConnectionType.Rest) {\n    return;\n  }\n  const session = await authentication.getSession(SASAuthProvider.id, [], {\n    silent: true,\n  });\n  if (session.accessToken !== accessToken) {\n    return;\n  }\n\n  return apis;\n};\n"
  },
  {
    "path": "client/src/components/AuthProvider.ts",
    "content": "// Copyright © 2023, SAS Institute Inc., Cary, NC, USA.  All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport {\n  AuthenticationProvider,\n  AuthenticationProviderAuthenticationSessionsChangeEvent,\n  AuthenticationSession,\n  ConfigurationChangeEvent,\n  Disposable,\n  Event,\n  EventEmitter,\n  commands,\n  workspace,\n} from \"vscode\";\n\nimport { profileConfig } from \"../commands/profile\";\nimport { ConnectionType } from \"../components/profile\";\nimport { getTokens, refreshToken } from \"../connection/rest/auth\";\nimport { getCurrentUser } from \"../connection/rest/identities\";\nimport { getSecretStorage } from \"./ExtensionContext\";\n\nconst SECRET_KEY = \"SASAuth\";\n\ninterface SASAuthSession extends AuthenticationSession {\n  refreshToken?: string;\n}\n\nexport class SASAuthProvider implements AuthenticationProvider, Disposable {\n  static id = \"SAS\";\n\n  private readonly secretStorage;\n  private _disposables: Disposable[];\n  private _lastSession: SASAuthSession | undefined;\n  private _onDidChangeSessions =\n    new EventEmitter<AuthenticationProviderAuthenticationSessionsChangeEvent>();\n  get onDidChangeSessions(): Event<AuthenticationProviderAuthenticationSessionsChangeEvent> {\n    return this._onDidChangeSessions.event;\n  }\n\n  constructor() {\n    this._disposables = [\n      this._onDidChangeSessions,\n      workspace.onDidChangeConfiguration((event: ConfigurationChangeEvent) => {\n        if (\n          event.affectsConfiguration(\"SAS.connectionProfiles\") &&\n          this._lastSession\n        ) {\n          this._onDidChangeSessions.fire({\n            added: [],\n            changed: [],\n            removed: [this._lastSession],\n          });\n          this._lastSession = undefined;\n        }\n      }),\n    ];\n    this.secretStorage = getSecretStorage<SASAuthSession>(SECRET_KEY);\n  }\n\n  dispose(): void {\n    for (const d of this._disposables) {\n      d.dispose();\n    }\n  }\n\n  async getSessions(): Promise<readonly AuthenticationSession[]> {\n    const sessions = await this._getSessions();\n    if (sessions.length === 0) {\n      commands.executeCommand(\"setContext\", \"SAS.authorized\", false);\n    } else {\n      if (this._lastSession?.id !== sessions[0].id) {\n        // have to fire change event so that the Accounts menu can update after switching profile\n        this._lastSession = sessions[0];\n        this._onDidChangeSessions.fire({\n          added: [],\n          changed: sessions,\n          removed: [],\n        });\n      }\n      commands.executeCommand(\"setContext\", \"SAS.authorized\", true);\n    }\n    return sessions;\n  }\n\n  private async _getSessions(): Promise<readonly AuthenticationSession[]> {\n    const sessions = await this.secretStorage.getNamespaceData();\n    if (!sessions) {\n      return [];\n    }\n\n    const activeProfile = profileConfig.getActiveProfileDetail();\n    const profile = activeProfile?.profile;\n    if (!profile || profile.connectionType !== ConnectionType.Rest) {\n      return [];\n    }\n    const profileName = profileConfig.getActiveProfile();\n    const session = sessions[profileName];\n    if (!session) {\n      return [];\n    }\n\n    const tokens = await refreshToken(profile, {\n      access_token: session.accessToken,\n      refresh_token: session.refreshToken,\n    });\n    if (!tokens) {\n      // refresh token failed, the stored session is not valid anymore\n      await this.removeSession(session.id, true);\n      return [];\n    }\n    const accessToken = tokens.access_token;\n    if (accessToken === session.accessToken) {\n      return [session];\n    }\n    const newSession = { ...session, accessToken: tokens.access_token };\n    await this.writeSession(newSession);\n\n    return [newSession];\n  }\n\n  async createSession(): Promise<AuthenticationSession> {\n    const activeProfile = profileConfig.getActiveProfileDetail();\n    const profile = activeProfile.profile;\n\n    if (profile.connectionType !== ConnectionType.Rest) {\n      return;\n    }\n\n    const { access_token: accessToken, refresh_token: refreshToken } =\n      await getTokens(profile);\n    const user = await getCurrentUser({\n      endpoint: profile.endpoint,\n      accessToken,\n    });\n    const profileName = profileConfig.getActiveProfile();\n    const session: SASAuthSession = {\n      id: profileName,\n      account: { id: user.id, label: user.name },\n      accessToken,\n      refreshToken,\n      scopes: [],\n    };\n\n    await this.writeSession(session);\n    this._lastSession = session;\n    this._onDidChangeSessions.fire({\n      added: [session],\n      changed: [],\n      removed: [],\n    });\n\n    commands.executeCommand(\"setContext\", \"SAS.authorized\", true);\n\n    return session;\n  }\n\n  private async writeSession(session: SASAuthSession): Promise<void> {\n    this.secretStorage.store(session.id, session);\n  }\n\n  async removeSession(sessionId: string, silent?: boolean): Promise<void> {\n    const sessions = await this.secretStorage.getNamespaceData();\n    if (!sessions) {\n      return;\n    }\n    const profileName = profileConfig.getActiveProfile();\n    const id = sessions[sessionId] ? sessionId : profileName;\n    const session = sessions[id];\n    if (!session) {\n      return;\n    }\n    delete sessions[id];\n\n    if (!silent) {\n      // Triggered by user sign out from the Accounts menu\n      // VS Code will sign out all sessions by this account\n      Object.values(sessions).forEach((s: SASAuthSession) => {\n        if (s.account.id === session.account.id) {\n          delete sessions[s.id];\n        }\n      });\n    }\n\n    await this.secretStorage.setNamespaceData(sessions);\n\n    this._lastSession = undefined;\n    this._onDidChangeSessions.fire({\n      added: [],\n      changed: [],\n      removed: [session],\n    });\n\n    if (!silent) {\n      commands.executeCommand(\"setContext\", \"SAS.authorized\", false);\n    }\n  }\n}\n"
  },
  {
    "path": "client/src/components/CAHelper.ts",
    "content": "// Copyright © 2023, SAS Institute Inc., Cary, NC, USA.  All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { workspace } from \"vscode\";\n\nimport * as fs from \"fs\";\nimport * as https from \"https\";\nimport * as tls from \"tls\";\n\nexport const installCAs = () => {\n  const certFiles: string[] = workspace\n    .getConfiguration(\"SAS\")\n    .get(\"userProvidedCertificates\");\n  if (!certFiles || !certFiles.length) {\n    return;\n  }\n\n  const userCertificates = [];\n  for (const filename of certFiles) {\n    if (filename && filename.length) {\n      try {\n        userCertificates.push(fs.readFileSync(filename));\n      } catch (e) {\n        console.log(`Failed to read user provided certificate`, e);\n      }\n    }\n  }\n  if (userCertificates.length > 0) {\n    https.globalAgent.options.ca =\n      tls.rootCertificates.concat(userCertificates);\n  }\n};\n"
  },
  {
    "path": "client/src/components/ContentNavigator/ContentAdapterFactory.ts",
    "content": "// Copyright © 2024, SAS Institute Inc., Cary, NC, USA.  All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport ItcServerAdapter from \"../../connection/itc/ItcServerAdapter\";\nimport RestContentAdapter from \"../../connection/rest/RestContentAdapter\";\nimport RestServerAdapter from \"../../connection/rest/RestServerAdapter\";\nimport { ConnectionType, ProfileWithFileRootOptions } from \"../profile\";\nimport {\n  ContentAdapter,\n  ContentNavigatorConfig,\n  ContentSourceType,\n} from \"./types\";\n\nclass ContentAdapterFactory {\n  public create(\n    connectionType: ConnectionType,\n    fileNavigationCustomRootPath: ProfileWithFileRootOptions[\"fileNavigationCustomRootPath\"],\n    fileNavigationRoot: ProfileWithFileRootOptions[\"fileNavigationRoot\"],\n    sourceType: ContentNavigatorConfig[\"sourceType\"],\n  ): ContentAdapter {\n    const key = `${connectionType}.${sourceType}`;\n    switch (key) {\n      case `${ConnectionType.Rest}.${ContentSourceType.SASServer}`:\n        return new RestServerAdapter(\n          fileNavigationCustomRootPath,\n          fileNavigationRoot,\n        );\n      case `${ConnectionType.IOM}.${ContentSourceType.SASServer}`:\n      case `${ConnectionType.COM}.${ContentSourceType.SASServer}`:\n        return new ItcServerAdapter(\n          fileNavigationCustomRootPath,\n          fileNavigationRoot,\n        );\n      case `${ConnectionType.Rest}.${ContentSourceType.SASContent}`:\n      default:\n        return new RestContentAdapter();\n    }\n  }\n}\n\nexport default ContentAdapterFactory;\n"
  },
  {
    "path": "client/src/components/ContentNavigator/ContentDataProvider.ts",
    "content": "// Copyright © 2023, SAS Institute Inc., Cary, NC, USA.  All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport {\n  CancellationToken,\n  DataTransfer,\n  DataTransferItem,\n  Disposable,\n  DocumentDropEdit,\n  Event,\n  EventEmitter,\n  FileChangeEvent,\n  FileStat,\n  FileSystemProvider,\n  FileType,\n  Position,\n  ProviderResult,\n  TabInputNotebook,\n  TabInputText,\n  TextDocument,\n  TextDocumentContentProvider,\n  TreeDataProvider,\n  TreeDragAndDropController,\n  TreeItem,\n  TreeItemCollapsibleState,\n  TreeView,\n  Uri,\n  commands,\n  l10n,\n  languages,\n  window,\n  workspace,\n} from \"vscode\";\n\nimport { lstat, lstatSync, readFile, readdir } from \"fs\";\nimport { basename, join } from \"path\";\nimport { promisify } from \"util\";\n\nimport { profileConfig } from \"../../commands/profile\";\nimport { getResourceId } from \"../../connection/rest/util\";\nimport { SubscriptionProvider } from \"../SubscriptionProvider\";\nimport { ViyaProfile } from \"../profile\";\nimport { ContentModel } from \"./ContentModel\";\nimport {\n  FAVORITES_FOLDER_TYPE,\n  Messages,\n  ROOT_FOLDER_TYPE,\n  SERVER_HOME_FOLDER_TYPE,\n  SERVER_ROOT_FOLDER_TYPE,\n  STOP_SIGN,\n  TRASH_FOLDER_TYPE,\n} from \"./const\";\nimport {\n  ContentItem,\n  ContentNavigatorConfig,\n  FileManipulationEvent,\n} from \"./types\";\nimport {\n  getEditorTabsForItem,\n  getFileStatement,\n  isContainer as getIsContainer,\n} from \"./utils\";\n\nclass ContentDataProvider\n  implements\n    TreeDataProvider<ContentItem>,\n    FileSystemProvider,\n    TextDocumentContentProvider,\n    SubscriptionProvider,\n    TreeDragAndDropController<ContentItem>\n{\n  private _onDidManipulateFile: EventEmitter<FileManipulationEvent>;\n  private _onDidChangeFile: EventEmitter<FileChangeEvent[]>;\n  private _onDidChangeTreeData: EventEmitter<ContentItem | undefined>;\n  private _onDidChange: EventEmitter<Uri>;\n  private _treeView: TreeView<ContentItem>;\n  private _dropEditProvider: Disposable;\n  private model: ContentModel;\n  private extensionUri: Uri;\n  private mimeType: string;\n\n  public dropMimeTypes: string[];\n  public dragMimeTypes: string[];\n\n  private uriToParentMap = new Map<string, string>();\n\n  get treeView(): TreeView<ContentItem> {\n    return this._treeView;\n  }\n\n  constructor(\n    model: ContentModel,\n    extensionUri: Uri,\n    { mimeType, treeIdentifier }: ContentNavigatorConfig,\n  ) {\n    this._onDidManipulateFile = new EventEmitter<FileManipulationEvent>();\n    this._onDidChangeFile = new EventEmitter<FileChangeEvent[]>();\n    this._onDidChangeTreeData = new EventEmitter<ContentItem | undefined>();\n    this._onDidChange = new EventEmitter<Uri>();\n    this.model = model;\n    this.extensionUri = extensionUri;\n    this.dropMimeTypes = [mimeType, \"text/uri-list\"];\n    this.dragMimeTypes = [mimeType];\n    this.mimeType = mimeType;\n\n    this._treeView = window.createTreeView(treeIdentifier, {\n      treeDataProvider: this,\n      dragAndDropController: this,\n      canSelectMany: true,\n    });\n    this._dropEditProvider = languages.registerDocumentDropEditProvider(\n      { language: \"sas\" },\n      this,\n    );\n\n    this._treeView.onDidChangeVisibility(async () => {\n      if (this._treeView.visible) {\n        const activeProfile: ViyaProfile = profileConfig.getProfileByName(\n          profileConfig.getActiveProfile(),\n        );\n        await this.connect(activeProfile.endpoint);\n      }\n    });\n  }\n\n  public useModel(contentModel: ContentModel) {\n    this.model = contentModel;\n  }\n\n  public async handleDrop(\n    target: ContentItem,\n    sources: DataTransfer,\n  ): Promise<void> {\n    for (const mimeType of this.dropMimeTypes) {\n      const item = sources.get(mimeType);\n      if (!item || !item.value) {\n        continue;\n      }\n\n      switch (mimeType) {\n        case this.mimeType:\n          await Promise.all(\n            item.value.map(\n              async (contentItem: ContentItem) =>\n                await this.handleContentItemDrop(target, contentItem),\n            ),\n          );\n          break;\n        case \"text/uri-list\":\n          await this.handleDataTransferItemDrop(target, item);\n          break;\n        default:\n          break;\n      }\n    }\n  }\n\n  public handleDrag(\n    source: ContentItem[],\n    dataTransfer: DataTransfer,\n  ): void | Thenable<void> {\n    const dataTransferItem = new DataTransferItem(source);\n    dataTransfer.set(this.dragMimeTypes[0], dataTransferItem);\n  }\n\n  public async provideDocumentDropEdits(\n    document: TextDocument,\n    position: Position,\n    dataTransfer: DataTransfer,\n    token: CancellationToken,\n  ): Promise<DocumentDropEdit | undefined> {\n    const dataTransferItem = dataTransfer.get(this.dragMimeTypes[0]);\n    const contentItem =\n      dataTransferItem && JSON.parse(dataTransferItem.value)[0];\n    if (token.isCancellationRequested || !contentItem) {\n      return undefined;\n    }\n\n    const fileFolderPath = await this.model.getFileFolderPath(contentItem);\n    if (!fileFolderPath) {\n      return undefined;\n    }\n\n    return {\n      insertText: getFileStatement(\n        contentItem.name,\n        document.getText(),\n        fileFolderPath,\n      ),\n    };\n  }\n\n  public getSubscriptions(): Disposable[] {\n    return [this._treeView, this._dropEditProvider];\n  }\n\n  get onDidChangeFile(): Event<FileChangeEvent[]> {\n    return this._onDidChangeFile.event;\n  }\n\n  get onDidChangeTreeData(): Event<ContentItem> {\n    return this._onDidChangeTreeData.event;\n  }\n\n  get onDidChange(): Event<Uri> {\n    return this._onDidChange.event;\n  }\n\n  get onDidManipulateFile(): Event<FileManipulationEvent> {\n    return this._onDidManipulateFile.event;\n  }\n\n  public async connect(baseUrl: string): Promise<void> {\n    await this.model.connect(baseUrl);\n    this.refresh();\n  }\n\n  public async getTreeItem(item: ContentItem): Promise<TreeItem> {\n    const isContainer = getIsContainer(item);\n    const uri = await this.model.getUri(item, false);\n\n    // Cache the URI to parent mapping\n    this.uriToParentMap.set(\n      item.uri,\n      item.parentFolderUri ? item.parentFolderUri : STOP_SIGN,\n    );\n\n    return {\n      collapsibleState: isContainer\n        ? TreeItemCollapsibleState.Collapsed\n        : undefined,\n      command: isContainer\n        ? undefined\n        : {\n            command: \"vscode.open\",\n            arguments: [uri],\n            title: \"Open SAS File\",\n          },\n      contextValue: item.contextValue || undefined,\n      iconPath: this.iconPathForItem(item),\n      id: item.uid,\n      label: item.name,\n      resourceUri: uri,\n    };\n  }\n\n  public async provideTextDocumentContent(uri: Uri): Promise<string> {\n    // use text document content provider to display the readonly editor for the files in the recycle bin\n    return await this.model.getContentByUri(uri);\n  }\n\n  public getChildren(item?: ContentItem): ProviderResult<ContentItem[]> {\n    return this.model.getChildren(item);\n  }\n\n  public watch(): Disposable {\n    // ignore, fires for all changes...\n    return new Disposable(() => {});\n  }\n\n  public async stat(uri: Uri): Promise<FileStat> {\n    return await this.model\n      .getResourceByUri(uri)\n      .then((resource): FileStat => resource.fileStat);\n  }\n\n  public async readFile(uri: Uri): Promise<Uint8Array> {\n    return await this.model\n      .getContentByUri(uri)\n      .then((content) => new TextEncoder().encode(content));\n  }\n\n  public async createFolder(\n    item: ContentItem,\n    folderName: string,\n  ): Promise<Uri | undefined> {\n    const newItem = await this.model.createFolder(item, folderName);\n    if (newItem) {\n      this.refresh();\n      return newItem.vscUri;\n    }\n  }\n\n  public async createFile(\n    item: ContentItem,\n    fileName: string,\n    buffer?: ArrayBufferLike,\n  ): Promise<Uri | undefined> {\n    const newItem = await this.model.createFile(item, fileName, buffer);\n    if (newItem) {\n      this.refresh();\n      return newItem.vscUri;\n    }\n  }\n\n  public async renameResource(\n    item: ContentItem,\n    name: string,\n  ): Promise<Uri | undefined> {\n    const closing = closeFileIfOpen(item);\n    const removedTabUris = await closing;\n    if (!removedTabUris) {\n      return;\n    }\n\n    const newItem = await this.model.renameResource(item, name);\n    if (!newItem) {\n      return;\n    }\n\n    const newUri = newItem.vscUri;\n    const oldUriToNewUriMap = [[item.vscUri, newUri]];\n    const newItemIsContainer = getIsContainer(newItem);\n    if (closing !== true && !newItemIsContainer) {\n      await commands.executeCommand(\"vscode.open\", newUri);\n    }\n    if (closing !== true && newItemIsContainer) {\n      const urisToOpen = getPreviouslyOpenedChildItems(\n        await this.getChildren(newItem),\n      );\n      for (const [, newUri] of urisToOpen) {\n        await commands.executeCommand(\"vscode.open\", newUri);\n      }\n      oldUriToNewUriMap.push(...urisToOpen);\n    }\n    oldUriToNewUriMap.forEach(([uri, newUri]) =>\n      this._onDidManipulateFile.fire({\n        type: \"rename\",\n        uri,\n        newUri,\n      }),\n    );\n    return newUri;\n\n    function getPreviouslyOpenedChildItems(childItems: ContentItem[]) {\n      const loadChildItems = closing !== true && newItemIsContainer;\n      if (!Array.isArray(removedTabUris) || !loadChildItems) {\n        return [];\n      }\n      // Here's where things get a little weird. When we rename folders in\n      // sas content, we _don't_ close those files. It doesn't matter since\n      // their path isn't hierarchical. In sas file system, the path is hierarchical,\n      // thus we need to re-open all the closed files. This does that by getting\n      // children and comparing the removedTabUris\n      const filteredChildItems = childItems\n        .map((childItem) => {\n          const matchingUri = removedTabUris.find((uri) =>\n            uri.path.endsWith(childItem.name),\n          );\n          if (!matchingUri) {\n            return;\n          }\n\n          return [matchingUri, childItem.vscUri];\n        })\n        .filter((exists) => exists);\n\n      return filteredChildItems;\n    }\n  }\n\n  public writeFile(uri: Uri, content: Uint8Array): void | Promise<void> {\n    return this.model.saveContentToUri(uri, new TextDecoder().decode(content));\n  }\n\n  public async deleteResource(item: ContentItem): Promise<boolean> {\n    if (!(await closeFileIfOpen(item))) {\n      return false;\n    }\n    const success = await this.model.delete(item);\n    if (success) {\n      this.refresh();\n      this._onDidManipulateFile.fire({ type: \"delete\", uri: item.vscUri });\n    }\n    return success;\n  }\n\n  public canRecycleResource(item: ContentItem): boolean {\n    return this.model.canRecycleResource(item);\n  }\n\n  public async recycleResource(item: ContentItem): Promise<boolean> {\n    if (!(await closeFileIfOpen(item))) {\n      return false;\n    }\n\n    const { newUri, oldUri } = await this.model.recycleResource(item);\n\n    if (newUri) {\n      this.refresh();\n      // update the text document content as well just in case that this file was just restored and updated\n      this._onDidChange.fire(newUri);\n      this._onDidManipulateFile.fire({\n        type: \"recycle\",\n        uri: oldUri,\n      });\n    }\n\n    return !!newUri;\n  }\n\n  public async restoreResource(item: ContentItem): Promise<boolean> {\n    if (!(await closeFileIfOpen(item))) {\n      return false;\n    }\n    const success = await this.model.restoreResource(item);\n    if (success) {\n      this.refresh();\n    }\n\n    return success;\n  }\n\n  public async emptyRecycleBin(): Promise<boolean> {\n    const recycleBin = this.model.getDelegateFolder(\"@myRecycleBin\");\n    const children = await this.getChildren(recycleBin);\n    const result = await Promise.all(\n      children.map((child) => this.deleteResource(child)),\n    );\n    const success = result.length === children.length;\n    if (success) {\n      this.refresh();\n    }\n    return success;\n  }\n\n  public async addToMyFavorites(item: ContentItem): Promise<boolean> {\n    const success = await this.model.addFavorite(item);\n    if (success) {\n      this.refresh();\n    }\n    return success;\n  }\n\n  public async removeFromMyFavorites(item: ContentItem): Promise<boolean> {\n    const success = await this.model.removeFavorite(item);\n    if (success) {\n      this.refresh();\n    }\n    return success;\n  }\n\n  public async handleCreationResponse(\n    resource: ContentItem,\n    newUri: Uri | undefined,\n    errorMessage: string,\n  ): Promise<void> {\n    if (!newUri) {\n      window.showErrorMessage(errorMessage);\n      return;\n    }\n\n    this.reveal(resource);\n  }\n\n  public refresh(): void {\n    this._onDidChangeTreeData.fire(undefined);\n    this.uriToParentMap.clear();\n  }\n\n  public async getParent(\n    element: ContentItem,\n  ): Promise<ContentItem | undefined> {\n    return await this.model.getParent(element);\n  }\n\n  public async delete(): Promise<void> {\n    throw new Error(\"Method not implemented.\");\n  }\n\n  public rename(): void | Promise<void> {\n    throw new Error(\"Method not implemented.\");\n  }\n\n  public readDirectory():\n    | [string, FileType][]\n    | Thenable<[string, FileType][]> {\n    throw new Error(\"Method not implemented.\");\n  }\n\n  public createDirectory(): void | Thenable<void> {\n    throw new Error(\"Method not implemented.\");\n  }\n\n  public reveal(item: ContentItem): void {\n    this._treeView.reveal(item, {\n      expand: true,\n      select: false,\n      focus: false,\n    });\n  }\n\n  public async uploadUrisToTarget(\n    uris: Uri[],\n    target: ContentItem,\n  ): Promise<void> {\n    const failedUploads = [];\n    for (let i = 0; i < uris.length; ++i) {\n      const uri = uris[i];\n      const fileName = basename(uri.fsPath);\n      if (lstatSync(uri.fsPath).isDirectory()) {\n        const success = await this.handleFolderDrop(target, uri.fsPath, false);\n        !success && failedUploads.push(fileName);\n      } else {\n        const file = await workspace.fs.readFile(uri);\n        const newUri = await this.createFile(target, fileName, file);\n        !newUri && failedUploads.push(fileName);\n      }\n    }\n\n    if (failedUploads.length > 0) {\n      this.handleCreationResponse(\n        target,\n        undefined,\n        l10n.t(Messages.FileUploadError),\n      );\n    }\n  }\n\n  public async checkFolderDirty(resource: ContentItem): Promise<boolean> {\n    if (!resource.vscUri) {\n      return false;\n    }\n\n    const targetFolderUri = resource.uri;\n\n    // Check for dirty text documents\n    const dirtyTextFiles = workspace.textDocuments\n      .filter((doc) => {\n        if (!doc.isDirty) {\n          return false;\n        }\n\n        const scheme = doc.uri.scheme;\n        return (\n          scheme === \"sasContent\" ||\n          scheme === \"sasServer\" ||\n          scheme === \"sasContentReadOnly\" ||\n          scheme === \"sasServerReadOnly\"\n        );\n      })\n      .map((doc) => doc.uri);\n\n    // Check for dirty notebook documents (SASNB files)\n    const dirtyNotebookFiles = workspace.notebookDocuments\n      .filter((notebook) => {\n        if (!notebook.isDirty) {\n          return false;\n        }\n\n        const scheme = notebook.uri.scheme;\n        return (\n          scheme === \"sasContent\" ||\n          scheme === \"sasServer\" ||\n          scheme === \"sasContentReadOnly\" ||\n          scheme === \"sasServerReadOnly\"\n        );\n      })\n      .map((notebook) => notebook.uri);\n\n    const allDirtyFiles = [...dirtyTextFiles, ...dirtyNotebookFiles];\n\n    if (allDirtyFiles.length === 0) {\n      return false;\n    }\n\n    for (const dirtyFileUri of allDirtyFiles) {\n      if (\n        await this.isDescendantOf(getResourceId(dirtyFileUri), targetFolderUri)\n      ) {\n        return true;\n      }\n    }\n\n    return false;\n  }\n\n  private async isDescendantOf(\n    fileUri: string,\n    ancestorFolderUri: string,\n  ): Promise<boolean> {\n    let currentParentUri = this.uriToParentMap.get(fileUri);\n\n    // If the cache doesn't contain the uri, it's acceptable to not pop up\n    // This can happen when switching Viya profiles where the dirty file\n    // is from a different server context\n    if (!currentParentUri) {\n      return false;\n    }\n\n    let depth = 0;\n    while (currentParentUri || depth <= 10) {\n      if (currentParentUri === ancestorFolderUri) {\n        return true;\n      }\n\n      if (currentParentUri === STOP_SIGN) {\n        return false;\n      }\n\n      const nextParentUri = this.uriToParentMap.get(currentParentUri);\n\n      if (nextParentUri) {\n        currentParentUri = nextParentUri;\n      } else {\n        // If the cache doesn't contain the parent uri, stop traversing\n        // rather than making a server call which could be for a different server\n        break;\n      }\n      depth++;\n    }\n\n    return false;\n  }\n\n  public async downloadContentItems(\n    folderUri: Uri,\n    selections: ContentItem[],\n    allSelections: readonly ContentItem[],\n  ): Promise<void> {\n    for (let i = 0; i < selections.length; ++i) {\n      const selection = selections[i];\n      if (getIsContainer(selection)) {\n        const newFolderUri = Uri.joinPath(folderUri, selection.name);\n        const selectionsWithinFolder = await this.childrenSelections(\n          selection,\n          allSelections,\n        );\n        await workspace.fs.createDirectory(newFolderUri);\n        await this.downloadContentItems(\n          newFolderUri,\n          selectionsWithinFolder,\n          allSelections,\n        );\n      } else {\n        await workspace.fs.writeFile(\n          Uri.joinPath(folderUri, selection.name),\n          await this.model.downloadFile(selection),\n        );\n      }\n    }\n  }\n\n  public async getPathOfItem(item: ContentItem) {\n    return await this.model.getPathOfItem(item);\n  }\n\n  private async childrenSelections(\n    selection: ContentItem,\n    allSelections: readonly ContentItem[],\n  ): Promise<ContentItem[]> {\n    const foundSelections = allSelections.filter(\n      (foundSelection) => foundSelection.parentFolderUri === selection.uri,\n    );\n    if (foundSelections.length > 0) {\n      return foundSelections;\n    }\n\n    // If we don't have any child selections, then the folder must have been\n    // closed and therefore, we expect to select _all_ children\n    return this.getChildren(selection);\n  }\n\n  private async moveItem(\n    item: ContentItem,\n    targetUri: string,\n  ): Promise<boolean> {\n    if (!targetUri) {\n      return false;\n    }\n\n    const closing = closeFileIfOpen(item);\n    if (!(await closing)) {\n      return false;\n    }\n\n    const newUri = await this.model.moveTo(item, targetUri);\n    if (closing !== true) {\n      commands.executeCommand(\"vscode.open\", newUri);\n    }\n\n    return !!newUri;\n  }\n\n  private async handleContentItemDrop(\n    target: ContentItem,\n    item: ContentItem,\n  ): Promise<void> {\n    let success = false;\n    let message = Messages.FileDropError;\n    if (item.flags?.isInRecycleBin) {\n      message = Messages.FileDragFromTrashError;\n    } else if (item.isReference) {\n      message = Messages.FileDragFromFavorites;\n    } else if (target.type === TRASH_FOLDER_TYPE) {\n      success = await this.recycleResource(item);\n    } else if (target.type === FAVORITES_FOLDER_TYPE) {\n      success = await this.addToMyFavorites(item);\n    } else {\n      const targetUri = target.resourceId ?? target.uri;\n      success = await this.moveItem(item, targetUri);\n      if (success) {\n        this.refresh();\n      }\n    }\n\n    if (!success) {\n      window.showErrorMessage(\n        l10n.t(message, {\n          name: item.name,\n        }),\n      );\n    }\n  }\n\n  private async handleFolderDrop(\n    target: ContentItem,\n    path: string,\n    displayErrorMessages: boolean = true,\n  ): Promise<boolean> {\n    const folderName = basename(path);\n    const folder = await this.model.createFolder(target, folderName);\n    let success = true;\n    if (!folder) {\n      displayErrorMessages &&\n        window.showErrorMessage(\n          l10n.t(Messages.FileDropError, {\n            name: folderName,\n          }),\n        );\n\n      return false;\n    }\n\n    // Read all the files in the folder and upload them\n    const filesOrFolders = await promisify(readdir)(path);\n    await Promise.all(\n      filesOrFolders.map(async (fileOrFolderName: string) => {\n        const fileOrFolder = join(path, fileOrFolderName);\n        const isDirectory = (\n          await promisify(lstat)(fileOrFolder)\n        ).isDirectory();\n        if (isDirectory) {\n          success = await this.handleFolderDrop(folder, fileOrFolder);\n        } else {\n          const name = basename(fileOrFolder);\n          const fileCreated = await this.createFile(\n            folder,\n            name,\n            await promisify(readFile)(fileOrFolder),\n          );\n          if (!fileCreated) {\n            success = false;\n            displayErrorMessages &&\n              window.showErrorMessage(\n                l10n.t(Messages.FileDropError, {\n                  name,\n                }),\n              );\n          }\n        }\n      }),\n    );\n\n    return success;\n  }\n\n  private async handleDataTransferItemDrop(\n    target: ContentItem,\n    item: DataTransferItem,\n  ): Promise<void> {\n    // If a user drops multiple files, there will be multiple\n    // uris separated by newlines\n    await Promise.all(\n      item.value.split(\"\\n\").map(async (uri: string) => {\n        const itemUri = Uri.parse(uri.trim());\n        const name = basename(itemUri.path);\n        const isDirectory = (\n          await promisify(lstat)(itemUri.fsPath)\n        ).isDirectory();\n\n        if (isDirectory) {\n          const success = await this.handleFolderDrop(target, itemUri.fsPath);\n          if (success) {\n            this.refresh();\n          }\n\n          return;\n        }\n\n        const fileCreated = await this.createFile(\n          target,\n          name,\n          await promisify(readFile)(itemUri.fsPath),\n        );\n\n        if (!fileCreated) {\n          window.showErrorMessage(\n            l10n.t(Messages.FileDropError, {\n              name,\n            }),\n          );\n        }\n      }),\n    );\n  }\n\n  private iconPathForItem(\n    item: ContentItem,\n  ): undefined | { light: Uri; dark: Uri } {\n    const isContainer = getIsContainer(item);\n    let icon = \"\";\n    if (isContainer) {\n      const type = item.typeName;\n      switch (type) {\n        case ROOT_FOLDER_TYPE:\n          icon = \"sasFolders\";\n          break;\n        case TRASH_FOLDER_TYPE:\n          icon = \"delete\";\n          break;\n        case FAVORITES_FOLDER_TYPE:\n          icon = \"favoritesFolder\";\n          break;\n        case SERVER_HOME_FOLDER_TYPE:\n          icon = \"userWorkspace\";\n          break;\n        case SERVER_ROOT_FOLDER_TYPE:\n          icon = \"server\";\n          break;\n        default:\n          icon = \"folder\";\n          break;\n      }\n    }\n\n    return icon !== \"\"\n      ? {\n          dark: Uri.joinPath(this.extensionUri, `icons/dark/${icon}Dark.svg`),\n          light: Uri.joinPath(\n            this.extensionUri,\n            `icons/light/${icon}Light.svg`,\n          ),\n        }\n      : undefined;\n  }\n}\n\nexport default ContentDataProvider;\n\nconst closeFileIfOpen = (item: ContentItem): Promise<Uri[]> | boolean => {\n  const tabs = getEditorTabsForItem(item);\n  if (tabs.length > 0) {\n    return new Promise((resolve, reject) => {\n      Promise.all(tabs.map((tab) => window.tabGroups.close(tab)))\n        .then(() =>\n          resolve(\n            tabs\n              .map(\n                (tab) =>\n                  (tab.input instanceof TabInputText ||\n                    tab.input instanceof TabInputNotebook) &&\n                  tab.input.uri,\n              )\n              .filter((exists) => exists),\n          ),\n        )\n        .catch(reject);\n    });\n  }\n  return true;\n};\n"
  },
  {
    "path": "client/src/components/ContentNavigator/ContentModel.ts",
    "content": "// Copyright © 2023, SAS Institute Inc., Cary, NC, USA.  All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { Uri, l10n } from \"vscode\";\n\nimport { extname } from \"path\";\n\nimport { ALL_ROOT_FOLDERS, Messages } from \"./const\";\nimport { ContentAdapter, ContentItem } from \"./types\";\nimport { isItemInRecycleBin } from \"./utils\";\n\nexport class ContentModel {\n  private contentAdapter: ContentAdapter;\n\n  constructor(contentAdapter: ContentAdapter) {\n    this.contentAdapter = contentAdapter;\n  }\n\n  public connected(): boolean {\n    return this.contentAdapter.connected();\n  }\n\n  public async connect(baseURL: string): Promise<void> {\n    await this.contentAdapter.connect(baseURL);\n  }\n\n  public getAdapter() {\n    return this.contentAdapter;\n  }\n\n  public async getChildren(item?: ContentItem): Promise<ContentItem[]> {\n    if (!this.connected()) {\n      return [];\n    }\n\n    if (!item) {\n      return Object.entries(await this.contentAdapter.getRootItems())\n        .sort(\n          // sort the delegate folders as the order in the supportedDelegateFolders\n          (a, b) =>\n            ALL_ROOT_FOLDERS.indexOf(a[0]) - ALL_ROOT_FOLDERS.indexOf(b[0]),\n        )\n        .map((entry) => entry[1]);\n    }\n\n    return await this.contentAdapter.getChildItems(item);\n  }\n\n  public async getParent(item: ContentItem): Promise<ContentItem | undefined> {\n    return await this.contentAdapter.getParentOfItem(item);\n  }\n\n  public async getResourceByUri(uri: Uri): Promise<ContentItem> {\n    return await this.contentAdapter.getItemOfUri(uri);\n  }\n\n  public async getContentByUri(uri: Uri): Promise<string> {\n    let data;\n    try {\n      data = (await this.contentAdapter.getContentOfUri(uri)).toString();\n      // eslint-disable-next-line @typescript-eslint/no-unused-vars\n    } catch (e) {\n      throw new Error(Messages.FileOpenError);\n    }\n\n    // We expect the returned data to be a string. If this isn't a string,\n    // we can't really open it\n    if (typeof data === \"object\") {\n      throw new Error(Messages.FileOpenError);\n    }\n\n    return data;\n  }\n\n  public async downloadFile(item: ContentItem): Promise<Buffer | undefined> {\n    try {\n      const data = await this.contentAdapter.getContentOfItem(item);\n\n      return Buffer.from(data, \"binary\");\n      // eslint-disable-next-line @typescript-eslint/no-unused-vars\n    } catch (e) {\n      throw new Error(Messages.FileDownloadError);\n    }\n  }\n\n  public async createFile(\n    parentItem: ContentItem,\n    fileName: string,\n    buffer?: ArrayBufferLike,\n  ): Promise<ContentItem | undefined> {\n    return await this.contentAdapter.createNewItem(\n      parentItem,\n      fileName,\n      buffer,\n    );\n  }\n\n  public async createUniqueFileOfPrefix(\n    parentItem: ContentItem,\n    fileName: string,\n    buffer?: ArrayBufferLike,\n  ) {\n    const itemsInFolder = await this.getChildren(parentItem);\n    const uniqueFileName = getUniqueFileName();\n\n    return await this.createFile(parentItem, uniqueFileName, buffer);\n\n    function getUniqueFileName(): string {\n      const ext = extname(fileName);\n      const basename = fileName.replace(ext, \"\");\n      const usedFlowNames = itemsInFolder.reduce((carry, item) => {\n        if (item.name.endsWith(ext)) {\n          return { ...carry, [item.name]: true };\n        }\n        return carry;\n      }, {});\n\n      if (!usedFlowNames[fileName]) {\n        return fileName;\n      }\n\n      let number = 1;\n      let newFileName;\n      do {\n        newFileName = l10n.t(\"{basename}_Copy{number}{ext}\", {\n          basename,\n          number: number++,\n          ext,\n        });\n      } while (usedFlowNames[newFileName]);\n\n      return newFileName || fileName;\n    }\n  }\n\n  public async createFolder(\n    item: ContentItem,\n    name: string,\n  ): Promise<ContentItem | undefined> {\n    return await this.contentAdapter.createNewFolder(item, name);\n  }\n\n  public async renameResource(\n    item: ContentItem,\n    name: string,\n  ): Promise<ContentItem | undefined> {\n    return await this.contentAdapter.renameItem(item, name);\n  }\n\n  public async saveContentToUri(uri: Uri, content: string): Promise<void> {\n    await this.contentAdapter.updateContentOfItem(uri, content);\n  }\n\n  public async getUri(item: ContentItem, readOnly: boolean): Promise<Uri> {\n    return await this.contentAdapter.getUriOfItem(item, readOnly);\n  }\n\n  public async delete(item: ContentItem): Promise<boolean> {\n    return await this.contentAdapter.deleteItem(item);\n  }\n\n  public async addFavorite(item: ContentItem): Promise<boolean> {\n    return await this.contentAdapter.addItemToFavorites(item);\n  }\n\n  public async removeFavorite(item: ContentItem): Promise<boolean> {\n    return await this.contentAdapter.removeItemFromFavorites(item);\n  }\n\n  public async moveTo(\n    item: ContentItem,\n    targetParentFolderUri: string,\n  ): Promise<boolean | Uri> {\n    return await this.contentAdapter.moveItem(item, targetParentFolderUri);\n  }\n\n  public getDelegateFolder(name: string): ContentItem | undefined {\n    return this.contentAdapter.getRootFolder(name);\n  }\n\n  public async getFileFolderPath(contentItem: ContentItem): Promise<string> {\n    return await this.contentAdapter.getFolderPathForItem(contentItem);\n  }\n\n  public canRecycleResource(item: ContentItem): boolean {\n    return (\n      this.contentAdapter.recycleItem &&\n      this.contentAdapter.restoreItem &&\n      !isItemInRecycleBin(item) &&\n      item.permission.write\n    );\n  }\n\n  public async recycleResource(item: ContentItem) {\n    return await this.contentAdapter?.recycleItem(item);\n  }\n\n  public async restoreResource(item: ContentItem) {\n    return await this.contentAdapter?.restoreItem(item);\n  }\n\n  public async getPathOfItem(item: ContentItem): Promise<string> {\n    return await this.contentAdapter.getPathOfItem(item);\n  }\n}\n"
  },
  {
    "path": "client/src/components/ContentNavigator/const.ts",
    "content": "// Copyright © 2023, SAS Institute Inc., Cary, NC, USA.  All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { l10n } from \"vscode\";\n\nimport { createStaticFolder } from \"./utils\";\n\nexport const DEFAULT_FILE_CONTENT_TYPE = \"text/plain\";\n\nconst CONTENT_FOLDER_ID = \"CONTENT_FOLDER_ID\";\nexport const ROOT_FOLDER_TYPE = \"RootFolder\";\nexport const ROOT_FOLDER = createStaticFolder(\n  CONTENT_FOLDER_ID,\n  \"SAS Content\",\n  ROOT_FOLDER_TYPE,\n  \"/folders/folders\",\n);\n\nexport const SERVER_FOLDER_ID = \"SERVER_FOLDER_ID\";\nexport const SERVER_ROOT_FOLDER_TYPE = \"ServerRootFolder\";\nexport const SERVER_HOME_FOLDER_TYPE = \"ServerHomeFolder\";\nexport const SAS_SERVER_ROOT_FOLDER = createStaticFolder(\n  SERVER_FOLDER_ID,\n  \"SAS Server\",\n  SERVER_ROOT_FOLDER_TYPE,\n  \"/\",\n  \"getDirectoryMembers\",\n);\n\nexport const STOP_SIGN = \"__STOP_SIGN__\";\nexport const FILE_TYPE = \"file\";\nexport const DATAFLOW_TYPE = \"dataFlow\";\nexport const FILE_TYPES = [FILE_TYPE, DATAFLOW_TYPE];\nexport const FOLDER_TYPE = \"folder\";\nexport const MYFOLDER_TYPE = \"myFolder\";\nexport const TRASH_FOLDER_TYPE = \"trashFolder\";\nexport const FAVORITES_FOLDER_TYPE = \"favoritesFolder\";\nexport const FOLDER_TYPES = [\n  ROOT_FOLDER_TYPE,\n  FOLDER_TYPE,\n  MYFOLDER_TYPE,\n  FAVORITES_FOLDER_TYPE,\n  \"userFolder\",\n  \"userRoot\",\n  TRASH_FOLDER_TYPE,\n];\n\nexport const SAS_CONTENT_ROOT_FOLDERS = [\n  \"@myFavorites\",\n  \"@myFolder\",\n  \"@sasRoot\",\n  \"@myRecycleBin\",\n];\n\nexport const SAS_SERVER_ROOT_FOLDERS = [\"@sasServerRoot\"];\n\nexport const ALL_ROOT_FOLDERS = [\n  ...SAS_CONTENT_ROOT_FOLDERS,\n  ...SAS_SERVER_ROOT_FOLDERS,\n];\n\nexport const Messages = {\n  AddFileToMyFolderFailure: l10n.t(\"Unable to add file to my folder.\"),\n  AddFileToMyFolderSuccess: l10n.t(\"File added to my folder.\"),\n  AddToFavoritesError: l10n.t(\"The item could not be added to My Favorites.\"),\n  DeleteButtonLabel: l10n.t(\"Delete\"),\n  MoveToRecycleBinLabel: l10n.t(\"Move to Recycle Bin\"),\n  DeleteWarningMessage: l10n.t(\n    'Are you sure you want to permanently delete the item \"{name}\"?',\n  ),\n  RecycleDirtyFolderWarning: l10n.t(\n    \"This folder contains unsaved files, are you sure you want to delete?\",\n  ),\n  EmptyRecycleBinError: l10n.t(\"Unable to empty the recycle bin.\"),\n  EmptyRecycleBinWarningMessage: l10n.t(\n    \"Are you sure you want to permanently delete all the items? You cannot undo this action.\",\n  ),\n  FileDeletionError: l10n.t(\"Unable to delete file.\"),\n  FileDownloadError: l10n.t(\"Unable to download files.\"),\n  FileDragFromFavorites: l10n.t(\"Unable to drag files from my favorites.\"),\n  FileDragFromTrashError: l10n.t(\"Unable to drag files from trash.\"),\n  FileDropError: l10n.t('Unable to drop item \"{name}\".'),\n  FileNavigationRootAdminError: l10n.t(\n    \"The files cannot be accessed from the path specified in the context definition for the SAS Compute Server. Contact your SAS administrator.\",\n  ),\n  FileNavigationRootUserError: l10n.t(\n    \"The files cannot be accessed from the specified path.\",\n  ),\n  FileOpenError: l10n.t(\"The file type is unsupported.\"),\n  FileRestoreError: l10n.t(\"Unable to restore file.\"),\n  FileUploadError: l10n.t(\"Unable to upload files.\"),\n  FileValidationError: l10n.t(\"Invalid file name.\"),\n  FolderDeletionError: l10n.t(\"Unable to delete folder.\"),\n  FolderRestoreError: l10n.t(\"Unable to restore folder.\"),\n  FolderValidationError: l10n.t(\n    \"The folder name cannot contain more than 100 characters or have invalid characters.\",\n  ),\n  NewFileCreationError: l10n.t('Unable to create file \"{name}\".'),\n  NewFilePrompt: l10n.t(\"Enter a file name.\"),\n  NewFileTitle: l10n.t(\"New File\"),\n  NewFolderCreationError: l10n.t('Unable to create folder \"{name}\".'),\n  NewFolderPrompt: l10n.t(\"Enter a folder name.\"),\n  NewFolderTitle: l10n.t(\"New Folder\"),\n  RemoveFromFavoritesError: l10n.t(\n    \"The item could not be removed from My Favorites.\",\n  ),\n  RenameError: l10n.t('Unable to rename \"{oldName}\" to \"{newName}\".'),\n  RenameFileTitle: l10n.t(\"Rename File\"),\n  RenameFolderTitle: l10n.t(\"Rename Folder\"),\n  RenamePrompt: l10n.t(\"Enter a new name.\"),\n  RenameUnsavedFileError: l10n.t(\n    \"You must save your file before you can rename it.\",\n  ),\n  ConvertNotebookToFlowPrompt: l10n.t(\"Enter a name for the new .flw file\"),\n  NotebookToFlowConversionSuccess: l10n.t(\n    \"The notebook has been successfully converted to a flow and saved into the following folder: {folderName}. You can now open it in SAS Studio.\",\n  ),\n  NotebookToFlowConversionError: l10n.t(\n    \"Error converting the notebook file to .flw format.\",\n  ),\n  NoCodeToConvert: l10n.t(\n    \"The notebook file does not contain any code to convert.\",\n  ),\n  InvalidFlowFileNameError: l10n.t(\n    \"The output file name must end with the .flw extension.\",\n  ),\n  StudioConnectionError: l10n.t(\"Cannot connect to SAS Studio service\"),\n};\n"
  },
  {
    "path": "client/src/components/ContentNavigator/convert.ts",
    "content": "// Copyright © 2023, SAS Institute Inc., Cary, NC, USA.  All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { Uri, authentication, l10n, workspace } from \"vscode\";\n\nimport axios, { AxiosInstance } from \"axios\";\nimport { basename } from \"path\";\nimport { v4 } from \"uuid\";\n\nimport {\n  associateFlowObject,\n  createStudioSession,\n} from \"../../connection/studio\";\nimport { SASAuthProvider } from \"../AuthProvider\";\nimport { ContentModel } from \"./ContentModel\";\nimport { MYFOLDER_TYPE, Messages } from \"./const\";\nimport { ContentItem, ContentSourceType } from \"./types\";\nimport { isContentItem } from \"./utils\";\n\nconst stepRef: Record<string, string> = {\n  sas: \"a7190700-f59c-4a94-afe2-214ce639fcde\",\n  sql: \"a7190700-f59c-4a94-afe2-214ce639fcde\",\n  python: \"ab59f8c4-af9a-4608-a5d5-a8365357bb99\",\n  r: \"ab59f8c4-af9a-4608-a5d5-a8365357bb99\",\n};\n\nconst stepTitle: Record<string, string> = {\n  sas: l10n.t(\"SAS Program\"),\n  sql: l10n.t(\"SQL Program\"),\n  python: l10n.t(\"Python Program\"),\n  r: l10n.t(\"R Program\"),\n};\n\nconst NODE_SPACING = 150;\n\ninterface Entry {\n  language: string;\n  code: string;\n}\n\nfunction getPropPort(idx: number, inputList: Entry[]): Record<string, string> {\n  if (idx === 0) {\n    return {\n      \"UI_PROP_PORT_DESCRIPTION|outTables|0\": \"Output tables\",\n      \"UI_PROP_PORT_LABEL|outTables|0\": \"Output table 1\",\n    };\n  }\n\n  if (idx === inputList.length - 1) {\n    return {\n      \"UI_PROP_PORT_DESCRIPTION|inTables|0\": \"Input tables\",\n      \"UI_PROP_PORT_LABEL|inTables|0\": \"Input table 1\",\n    };\n  }\n\n  return {\n    \"UI_PROP_PORT_DESCRIPTION|inTables|0\": \"Input tables\",\n    \"UI_PROP_PORT_LABEL|inTables|0\": \"Input table 1\",\n    \"UI_PROP_PORT_DESCRIPTION|outTables|0\": \"Output tables\",\n    \"UI_PROP_PORT_LABEL|outTables|0\": \"Output table 1\",\n  };\n}\n\nconst baseFlow = {\n  creationTimeStamp: \"\",\n  modifiedTimeStamp: \"\",\n  createdBy: \"\",\n  modifiedBy: \"\",\n  version: 2,\n  id: null,\n  name: \"\",\n  description: null,\n  properties: {\n    UI_PROP_DF_OPTIMIZE: \"false\",\n    UI_PROP_DF_ID: null,\n    UI_PROP_DF_EXECUTION_ORDERED: \"false\",\n  },\n  links: [],\n  nodes: {},\n  parameters: {},\n  connections: [],\n  extendedProperties: {},\n  stickyNotes: [],\n};\n\nconst baseSwimlane = {\n  dataFlowAndBindings: {\n    dataFlow: {},\n    executionBindings: {\n      arguments: {\n        __NO_OPTIMIZE: {\n          argumentType: \"string\",\n          value: \"true\",\n          version: 1,\n        },\n      },\n      contextId: null,\n      environmentId: \"compute\",\n      sessionId: null,\n      tempTablePrefix: null,\n    },\n  },\n  id: null,\n  name: null,\n  nodeType: \"dataFlow\",\n  portMappings: [],\n  priority: 0,\n  properties: {\n    UI_PROP_IS_EXPANDED: \"true\",\n    UI_PROP_IS_SWIMLANE: \"true\",\n  },\n  version: 1,\n};\n\nconst baseNode = {\n  nodeType: \"step\",\n  version: 1,\n  id: null,\n  name: null,\n  note: {\n    version: 1,\n    id: null,\n    name: null,\n    description: null,\n    properties: {\n      UI_NOTE_PROP_HEIGHT: \"0\",\n      UI_NOTE_PROP_IS_EXPANDED: \"false\",\n      UI_NOTE_PROP_IS_STICKYNOTE: \"false\",\n      UI_NOTE_PROP_WIDTH: \"0\",\n    },\n  },\n  priority: 0,\n  properties: {\n    UI_PROP_COLORGRP: \"0\",\n    UI_PROP_IS_INPUT_EXPANDED: \"false\",\n    UI_PROP_IS_OUTPUT_EXPANDED: \"false\",\n    UI_PROP_NODE_DATA_ID: null,\n    UI_PROP_NODE_DATA_MODIFIED_DATE: null,\n    UI_PROP_XPOS: \"0\",\n    UI_PROP_YPOS: \"75\",\n  },\n  portMappings: [\n    {\n      mappingType: \"tableStructure\",\n      portIndex: 0,\n      portName: \"outTables\",\n      tableStructure: {\n        columnDefinitions: null,\n      },\n    },\n  ],\n  stepReference: {\n    type: \"uri\",\n    path: null,\n  },\n  arguments: {\n    codeOptions: {\n      code: null,\n      contentType: \"embedded\",\n      logHTML: \"\",\n      resultsHTML: \"\",\n      variables: [\n        {\n          name: \"_input1\",\n          value: {\n            portIndex: 0,\n            portName: \"inTables\",\n            referenceType: \"inputPort\",\n          },\n        },\n        {\n          name: \"_output1\",\n          value: {\n            arguments: {},\n            portIndex: 0,\n            portName: \"outTables\",\n            referenceType: \"outputPort\",\n          },\n        },\n      ],\n    },\n  },\n};\n\nfunction generateFlowDataNode(inputList: Entry[], outputFile: string) {\n  const now = new Date();\n  const nowString = now.toISOString();\n  const nowTimestamp = String(now.getTime());\n  const arrayIdNode: string[] = [];\n\n  const flowData = { ...baseFlow };\n  flowData.creationTimeStamp = nowString;\n  flowData.modifiedTimeStamp = nowString;\n  flowData.name = outputFile;\n  flowData.properties = {\n    ...baseFlow.properties,\n    UI_PROP_DF_ID: \"120081fc-2d7f-4cfc-bcd3-47f9684e9763\",\n  };\n  flowData.nodes = {};\n  flowData.connections = [];\n\n  for (let idx = 0; idx < inputList.length; idx++) {\n    const idNode = v4();\n    const idNote = v4();\n    const entry = inputList[idx];\n    const propPorts = getPropPort(idx, inputList);\n\n    const stepNode = {\n      ...baseNode,\n      id: idNode,\n      name: stepTitle[entry.language],\n      note: {\n        ...baseNode.note,\n        id: idNote,\n      },\n      priority: idx,\n      properties: {\n        ...baseNode.properties,\n        ...propPorts,\n        UI_PROP_NODE_DATA_ID: stepRef[entry.language],\n        UI_PROP_NODE_DATA_MODIFIED_DATE: nowTimestamp,\n        UI_PROP_XPOS: ((idx + 1) * NODE_SPACING).toString(),\n      },\n      stepReference: {\n        ...baseNode.stepReference,\n        path: `/dataFlows/steps/${stepRef[entry.language]}`,\n      },\n      arguments: {\n        ...baseNode.arguments,\n        codeOptions: {\n          ...baseNode.arguments.codeOptions,\n          code: entry.code,\n        },\n      },\n    };\n\n    flowData.nodes[idNode] = stepNode;\n    arrayIdNode.push(idNode);\n\n    if (idx > 0) {\n      const connection = {\n        sourcePort: {\n          node: arrayIdNode[idx - 1],\n          portName: \"outTables\",\n          index: 0,\n        },\n        targetPort: {\n          node: arrayIdNode[idx],\n          portName: \"inTables\",\n          index: 0,\n        },\n      };\n      flowData.connections.push(connection);\n    }\n  }\n  return flowData;\n}\n\nfunction generateFlowDataSwimlane(inputList: Entry[], outputFile: string) {\n  const now = new Date();\n  const nowString = now.toISOString();\n\n  const flowData = { ...baseFlow };\n  flowData.creationTimeStamp = nowString;\n  flowData.modifiedTimeStamp = nowString;\n  flowData.name = outputFile;\n  flowData.properties = {\n    ...baseFlow.properties,\n    UI_PROP_DF_ID: \"58e4d421-705d-448c-b397-cc8c9fab6c48\",\n    UI_PROP_DF_EXECUTION_ORDERED: \"true\",\n  };\n  flowData.nodes = {};\n  flowData.connections = [];\n\n  for (let idx = 0; idx < inputList.length; idx++) {\n    const swimlaneName = \"Notebook Cell \" + (idx + 1).toString();\n    const idNode = v4();\n    const swimlane = {\n      ...baseSwimlane,\n      id: idNode,\n      name: swimlaneName,\n      priority: idx + 1,\n      dataFlowAndBindings: {\n        ...baseSwimlane.dataFlowAndBindings,\n        dataFlow: generateFlowDataNode([inputList[idx]], null),\n      },\n    };\n    flowData.nodes[idNode] = swimlane;\n  }\n  return flowData;\n}\n\nfunction generateFlowData(inputList: Entry[], outputFile: string) {\n  const flowConversionMode = workspace\n    .getConfiguration(\"SAS\")\n    .get(\"flowConversionMode\");\n  if (flowConversionMode === \"Node\") {\n    return generateFlowDataNode(inputList, outputFile);\n  }\n  return generateFlowDataSwimlane(inputList, outputFile);\n}\n\nfunction generateCodeListFromSASNotebook(content: string): Entry[] {\n  const codeList = [];\n  try {\n    const notebookContent = JSON.parse(content);\n    for (const cell of notebookContent) {\n      let code = cell.value;\n      if (code !== \"\") {\n        const language = cell.language;\n        if ([\"python\", \"sas\", \"sql\", \"r\"].includes(language)) {\n          if (language === \"sql\") {\n            code = `PROC SQL;\n${code};\nQUIT;`;\n          }\n          codeList.push({ code, language });\n        }\n      }\n    }\n  } catch (error) {\n    console.error(\"Error reading or parsing the .sasnb file:\", error);\n  }\n  return codeList;\n}\n\nexport function convertNotebookToFlow(\n  content: string,\n  inputName: string,\n  outputName: string,\n): string {\n  let codeList = [];\n  if (inputName.endsWith(\".sasnb\")) {\n    codeList = generateCodeListFromSASNotebook(content);\n  } else {\n    console.error(\"Unsupported file type\");\n  }\n  const flowData = generateFlowData(codeList, outputName);\n  // encode json to utf8 bytes without new lines and spaces\n  const flowDataString = JSON.stringify(flowData, null, 0);\n  return flowDataString;\n}\n\nexport class NotebookToFlowConverter {\n  protected studioSessionId: string;\n  protected connection: AxiosInstance;\n\n  public constructor(\n    protected readonly resource: ContentItem | Uri,\n    protected readonly contentModel: ContentModel,\n    protected readonly viyaEndpoint: string,\n    protected readonly sourceType: ContentSourceType,\n  ) {}\n\n  public get inputName() {\n    return isContentItem(this.resource)\n      ? this.resource.name\n      : basename(this.resource.fsPath);\n  }\n\n  private async parent() {\n    const parentItem = isContentItem(this.resource)\n      ? await this.contentModel.getParent(this.resource)\n      : undefined;\n\n    if (parentItem) {\n      return parentItem;\n    }\n\n    const rootFolders = await this.contentModel.getChildren();\n    const myFolder = rootFolders.find(\n      (rootFolder) => rootFolder.type === MYFOLDER_TYPE,\n    );\n    if (!myFolder) {\n      return undefined;\n    }\n\n    return myFolder;\n  }\n\n  public async content() {\n    return isContentItem(this.resource)\n      ? await this.contentModel.getContentByUri(this.resource.vscUri)\n      : (await workspace.fs.readFile(this.resource)).toString();\n  }\n\n  public async establishConnection() {\n    this.connection = axios.create({ baseURL: this.viyaEndpoint });\n    const session = await authentication.getSession(SASAuthProvider.id, [], {\n      createIfNone: true,\n    });\n    this.connection.defaults.headers.common.Authorization = `Bearer ${session.accessToken}`;\n\n    try {\n      const result = await createStudioSession(this.connection);\n      this.studioSessionId = result;\n      // eslint-disable-next-line @typescript-eslint/no-unused-vars\n    } catch (error) {\n      this.studioSessionId = \"\";\n    }\n\n    return this.studioSessionId;\n  }\n\n  public async convert(outputName: string) {\n    const flowDataString = convertNotebookToFlow(\n      await this.content(),\n      this.inputName,\n      outputName,\n    );\n    const flowDataUint8Array = new TextEncoder().encode(flowDataString);\n    if (flowDataUint8Array.length === 0) {\n      throw new Error(Messages.NoCodeToConvert);\n    }\n\n    const parentItem = await this.parent();\n    const newItem = await this.contentModel.createUniqueFileOfPrefix(\n      parentItem,\n      outputName,\n      flowDataUint8Array,\n    );\n    if (!newItem) {\n      throw new Error(\n        l10n.t(Messages.NewFileCreationError, { name: this.inputName }),\n      );\n    }\n\n    // We don't need to associate the flow object if it's stored in sas server\n    if (this.sourceType === ContentSourceType.SASServer) {\n      return {\n        parentItem,\n        folderName: parentItem.uri.split(\"/\").pop().replace(/~fs~/g, \"/\"),\n      };\n    }\n\n    // associate the new .flw file with SAS Studio\n    const folderName = await associateFlowObject(\n      outputName,\n      newItem.resourceId,\n      parentItem.resourceId,\n      this.studioSessionId,\n      this.connection,\n    );\n\n    return { folderName, parentItem };\n  }\n}\n"
  },
  {
    "path": "client/src/components/ContentNavigator/index.ts",
    "content": "// Copyright © 2023, SAS Institute Inc., Cary, NC, USA.  All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport {\n  ConfigurationChangeEvent,\n  Disposable,\n  Event,\n  ExtensionContext,\n  OpenDialogOptions,\n  ProgressLocation,\n  Uri,\n  commands,\n  env,\n  l10n,\n  window,\n  workspace,\n} from \"vscode\";\n\nimport { profileConfig } from \"../../commands/profile\";\nimport { SubscriptionProvider } from \"../SubscriptionProvider\";\nimport { ConnectionType, ProfileWithFileRootOptions } from \"../profile\";\nimport { treeViewSelections } from \"../utils/treeViewSelections\";\nimport ContentAdapterFactory from \"./ContentAdapterFactory\";\nimport ContentDataProvider from \"./ContentDataProvider\";\nimport { ContentModel } from \"./ContentModel\";\nimport { Messages } from \"./const\";\nimport { NotebookToFlowConverter } from \"./convert\";\nimport {\n  ContentAdapter,\n  ContentItem,\n  ContentNavigatorConfig,\n  ContentSourceType,\n  FileManipulationEvent,\n} from \"./types\";\nimport { isContainer as getIsContainer } from \"./utils\";\n\nconst fileValidator = (value: string): string | null =>\n  /^([^/<>;\\\\{}]+)\\.\\w+$/.test(\n    // file service does not allow /, <, >, ;, \\, {, }\n    value,\n  )\n    ? null\n    : Messages.FileValidationError;\n\nconst flowFileValidator = (value: string): string | null => {\n  let res = fileValidator(value);\n  if (!value.endsWith(\".flw\")) {\n    res = Messages.InvalidFlowFileNameError;\n  }\n  return res;\n};\n\nconst folderValidator = (\n  value: string,\n  sourceType: ContentSourceType,\n): string | null => {\n  const regex =\n    sourceType === ContentSourceType.SASServer\n      ? new RegExp(/[:/?\\\\*\"|<>]/g)\n      : new RegExp(/[/;\\\\{}<>]/g);\n\n  return value.length <= 100 && !regex.test(value)\n    ? null\n    : Messages.FolderValidationError;\n};\n\nclass ContentNavigator implements SubscriptionProvider {\n  private contentDataProvider: ContentDataProvider;\n  private contentModel: ContentModel;\n  private sourceType: ContentNavigatorConfig[\"sourceType\"];\n  private treeIdentifier: ContentNavigatorConfig[\"treeIdentifier\"];\n\n  constructor(context: ExtensionContext, config: ContentNavigatorConfig) {\n    this.sourceType = config.sourceType;\n    this.treeIdentifier = config.treeIdentifier;\n    this.contentModel = new ContentModel(\n      this.contentAdapterForConnectionType(),\n    );\n    this.contentDataProvider = new ContentDataProvider(\n      this.contentModel,\n      context.extensionUri,\n      config,\n    );\n\n    workspace.registerFileSystemProvider(\n      config.sourceType,\n      this.contentDataProvider,\n    );\n    workspace.registerTextDocumentContentProvider(\n      `${config.sourceType}ReadOnly`,\n      this.contentDataProvider,\n    );\n  }\n\n  get onDidManipulateFile(): Event<FileManipulationEvent> {\n    return this.contentDataProvider.onDidManipulateFile;\n  }\n\n  public getSubscriptions(): Disposable[] {\n    const SAS = `SAS.${this.sourceType === ContentSourceType.SASContent ? \"content\" : \"server\"}`;\n    return [\n      ...this.contentDataProvider.getSubscriptions(),\n      commands.registerCommand(\n        `${SAS}.deleteResource`,\n        async (item: ContentItem) => {\n          this.getTreeViewSelections(item).forEach(\n            async (resource: ContentItem) => {\n              if (!resource.contextValue.includes(\"delete\")) {\n                return;\n              }\n              const isContainer = getIsContainer(resource);\n              const hasUnsavedFiles = isContainer\n                ? await this.contentDataProvider.checkFolderDirty(resource)\n                : false;\n              const moveToRecycleBin =\n                this.contentDataProvider.canRecycleResource(resource);\n\n              if (\n                !moveToRecycleBin &&\n                !(await window.showWarningMessage(\n                  l10n.t(Messages.DeleteWarningMessage, {\n                    name: resource.name,\n                  }),\n                  { modal: true },\n                  Messages.DeleteButtonLabel,\n                ))\n              ) {\n                return;\n              } else if (moveToRecycleBin && hasUnsavedFiles) {\n                if (\n                  !(await window.showWarningMessage(\n                    l10n.t(Messages.RecycleDirtyFolderWarning, {\n                      name: resource.name,\n                    }),\n                    { modal: true },\n                    Messages.MoveToRecycleBinLabel,\n                  ))\n                ) {\n                  return;\n                }\n              }\n              const deleteResult = moveToRecycleBin\n                ? await this.contentDataProvider.recycleResource(resource)\n                : await this.contentDataProvider.deleteResource(resource);\n              if (!deleteResult) {\n                window.showErrorMessage(\n                  isContainer\n                    ? Messages.FolderDeletionError\n                    : Messages.FileDeletionError,\n                );\n              }\n            },\n          );\n        },\n      ),\n      commands.registerCommand(\n        `${SAS}.restoreResource`,\n        async (item: ContentItem) => {\n          this.getTreeViewSelections(item).forEach(\n            async (resource: ContentItem) => {\n              const isContainer = getIsContainer(resource);\n              if (!(await this.contentDataProvider.restoreResource(resource))) {\n                window.showErrorMessage(\n                  isContainer\n                    ? Messages.FolderRestoreError\n                    : Messages.FileRestoreError,\n                );\n              }\n            },\n          );\n        },\n      ),\n      commands.registerCommand(`${SAS}.emptyRecycleBin`, async () => {\n        if (\n          !(await window.showWarningMessage(\n            Messages.EmptyRecycleBinWarningMessage,\n            { modal: true },\n            Messages.DeleteButtonLabel,\n          ))\n        ) {\n          return;\n        }\n        if (!(await this.contentDataProvider.emptyRecycleBin())) {\n          window.showErrorMessage(Messages.EmptyRecycleBinError);\n        }\n      }),\n      commands.registerCommand(`${SAS}.refreshContent`, () =>\n        this.contentDataProvider.refresh(),\n      ),\n      commands.registerCommand(\n        `${SAS}.addFileResource`,\n        async (resource: ContentItem) => {\n          const fileName = await window.showInputBox({\n            prompt: Messages.NewFilePrompt,\n            title: Messages.NewFileTitle,\n            validateInput: fileValidator,\n          });\n          if (!fileName) {\n            return;\n          }\n\n          const newUri = await this.contentDataProvider.createFile(\n            resource,\n            fileName,\n          );\n          this.contentDataProvider.handleCreationResponse(\n            resource,\n            newUri,\n            l10n.t(Messages.NewFileCreationError, { name: fileName }),\n          );\n\n          if (newUri) {\n            await commands.executeCommand(\"vscode.open\", newUri);\n          }\n        },\n      ),\n      commands.registerCommand(\n        `${SAS}.addFolderResource`,\n        async (resource: ContentItem) => {\n          const folderName = await window.showInputBox({\n            prompt: Messages.NewFolderPrompt,\n            title: Messages.NewFolderTitle,\n            validateInput: (folderName) =>\n              folderValidator(folderName, this.sourceType),\n          });\n          if (!folderName) {\n            return;\n          }\n\n          const newUri = await this.contentDataProvider.createFolder(\n            resource,\n            folderName,\n          );\n          this.contentDataProvider.handleCreationResponse(\n            resource,\n            newUri,\n            l10n.t(Messages.NewFolderCreationError, { name: folderName }),\n          );\n        },\n      ),\n      commands.registerCommand(\n        `${SAS}.renameResource`,\n        async (resource: ContentItem) => {\n          const isContainer = getIsContainer(resource);\n\n          const name = await window.showInputBox({\n            prompt: Messages.RenamePrompt,\n            title: isContainer\n              ? Messages.RenameFolderTitle\n              : Messages.RenameFileTitle,\n            value: resource.name,\n            validateInput: isContainer\n              ? (value) => folderValidator(value, this.sourceType)\n              : fileValidator,\n          });\n          if (!name || name === resource.name) {\n            return;\n          }\n\n          const newUri = await this.contentDataProvider.renameResource(\n            resource,\n            name,\n          );\n\n          if (!newUri) {\n            window.showErrorMessage(\n              l10n.t(Messages.RenameError, {\n                oldName: resource.name,\n                newName: name,\n              }),\n            );\n            return;\n          }\n\n          this.contentDataProvider.refresh();\n        },\n      ),\n      commands.registerCommand(\n        `${SAS}.addToFavorites`,\n        async (item: ContentItem) => {\n          this.getTreeViewSelections(item).forEach(\n            async (resource: ContentItem) => {\n              if (\n                !(await this.contentDataProvider.addToMyFavorites(resource))\n              ) {\n                window.showErrorMessage(Messages.AddToFavoritesError);\n              }\n            },\n          );\n        },\n      ),\n      commands.registerCommand(\n        `${SAS}.removeFromFavorites`,\n        async (item: ContentItem) => {\n          this.getTreeViewSelections(item).forEach(\n            async (resource: ContentItem) => {\n              if (\n                !(await this.contentDataProvider.removeFromMyFavorites(\n                  resource,\n                ))\n              ) {\n                window.showErrorMessage(Messages.RemoveFromFavoritesError);\n              }\n            },\n          );\n        },\n      ),\n      commands.registerCommand(\n        `${SAS}.collapseAllContent`,\n        this.collapseAllContent.bind(this),\n      ),\n      commands.registerCommand(\n        `${SAS}.convertNotebookToFlow`,\n        async (resource: ContentItem | Uri) => {\n          await this.contentModel.connect(this.viyaEndpoint());\n          const notebookToFlowConverter = new NotebookToFlowConverter(\n            resource,\n            this.contentModel,\n            this.viyaEndpoint(),\n            this.sourceType,\n          );\n\n          const inputName = notebookToFlowConverter.inputName;\n          // Open window to chose the name and location of the new .flw file\n          const outputName = await window.showInputBox({\n            prompt: Messages.ConvertNotebookToFlowPrompt,\n            value: inputName.replace(\".sasnb\", \".flw\"),\n            validateInput: flowFileValidator,\n          });\n\n          if (!outputName) {\n            // User canceled the input box\n            return;\n          }\n\n          await window.withProgress(\n            {\n              location: ProgressLocation.Notification,\n              title: l10n.t(\"Converting SAS notebook to flow...\"),\n            },\n            async () => {\n              if (!(await notebookToFlowConverter.establishConnection())) {\n                window.showErrorMessage(Messages.StudioConnectionError);\n                return;\n              }\n\n              let parentItem;\n              try {\n                const response =\n                  await notebookToFlowConverter.convert(outputName);\n                parentItem = response.parentItem;\n                if (!response.folderName) {\n                  throw new Error(Messages.NotebookToFlowConversionError);\n                }\n\n                window.showInformationMessage(\n                  l10n.t(Messages.NotebookToFlowConversionSuccess, {\n                    folderName: response.folderName,\n                  }),\n                );\n\n                this.contentDataProvider.refresh();\n              } catch (e) {\n                window.showErrorMessage(e.message);\n                this.contentDataProvider.reveal(parentItem);\n              }\n            },\n          );\n        },\n      ),\n      commands.registerCommand(\n        `${SAS}.downloadResource`,\n        async (resource: ContentItem) => {\n          const selections = this.getTreeViewSelections(resource);\n          const uris = await window.showOpenDialog({\n            title: l10n.t(\"Choose where to save your files.\"),\n            openLabel: l10n.t(\"Save\"),\n            canSelectFolders: true,\n            canSelectFiles: false,\n            canSelectMany: false,\n          });\n          const uri = uris && uris.length > 0 ? uris[0] : undefined;\n\n          if (!uri) {\n            return;\n          }\n\n          await window.withProgress(\n            {\n              location: ProgressLocation.Notification,\n              title: l10n.t(\"Downloading files...\"),\n            },\n            async () => {\n              await this.contentDataProvider.downloadContentItems(\n                uri,\n                selections,\n                this.contentDataProvider.treeView.selection,\n              );\n            },\n          );\n        },\n      ),\n      // Below, we have three commands to upload files. Mac is currently the only\n      // platform that supports uploading both files and folders. So, for any platform\n      // that isn't Mac, we list a distinct upload file(s) or upload folder(s) command.\n      // See the `OpenDialogOptions` interface for more information.\n      commands.registerCommand(\n        `${SAS}.uploadResource`,\n        async (resource: ContentItem) => this.uploadResource(resource),\n      ),\n      commands.registerCommand(\n        `${SAS}.uploadFileResource`,\n        async (resource: ContentItem) =>\n          this.uploadResource(resource, { canSelectFolders: false }),\n      ),\n      commands.registerCommand(\n        `${SAS}.uploadFolderResource`,\n        async (resource: ContentItem) =>\n          this.uploadResource(resource, { canSelectFiles: false }),\n      ),\n      commands.registerCommand(\n        `${SAS}.copyPath`,\n        async (resource: ContentItem) => {\n          const path = await this.contentDataProvider.getPathOfItem(resource);\n          if (path) {\n            await env.clipboard.writeText(path);\n          }\n        },\n      ),\n      workspace.onDidChangeConfiguration(\n        async (event: ConfigurationChangeEvent) => {\n          if (event.affectsConfiguration(\"SAS.connectionProfiles\")) {\n            const endpoint = this.viyaEndpoint();\n            this.collapseAllContent();\n            const contentModel = new ContentModel(\n              this.contentAdapterForConnectionType(),\n            );\n            this.contentDataProvider.useModel(contentModel);\n            this.contentModel = contentModel;\n            if (endpoint) {\n              await this.contentDataProvider.connect(endpoint);\n            } else {\n              await this.contentDataProvider.refresh();\n            }\n          }\n        },\n      ),\n    ];\n  }\n\n  private async collapseAllContent() {\n    const collapeAllCmd = `workbench.actions.treeView.${this.treeIdentifier}.collapseAll`;\n    const commandExists = (await commands.getCommands()).find(\n      (c) => c === collapeAllCmd,\n    );\n    if (commandExists) {\n      commands.executeCommand(collapeAllCmd);\n    }\n  }\n\n  private async uploadResource(\n    resource: ContentItem,\n    openDialogOptions: Partial<OpenDialogOptions> = {},\n  ) {\n    const uris: Uri[] = await window.showOpenDialog({\n      canSelectFolders: true,\n      canSelectMany: true,\n      canSelectFiles: true,\n      ...openDialogOptions,\n    });\n    if (!uris) {\n      return;\n    }\n\n    await window.withProgress(\n      {\n        location: ProgressLocation.Notification,\n        title: l10n.t(\"Uploading files...\"),\n      },\n      async () => {\n        await this.contentDataProvider.uploadUrisToTarget(uris, resource);\n      },\n    );\n  }\n\n  private viyaEndpoint(): string {\n    const activeProfile = profileConfig.getProfileByName(\n      profileConfig.getActiveProfile(),\n    );\n    return activeProfile &&\n      activeProfile.connectionType === ConnectionType.Rest &&\n      !activeProfile.serverId\n      ? activeProfile.endpoint\n      : \"\";\n  }\n\n  private getTreeViewSelections(item: ContentItem): ContentItem[] {\n    const items = treeViewSelections(this.contentDataProvider.treeView, item);\n\n    const uris: string[] = items.map(({ uri }: ContentItem) => uri);\n\n    // If we have a selection that is a child of something we've already selected,\n    // lets filter it out (i.e. we don't need to include it twice)\n    return items.filter(\n      ({ parentFolderUri }: ContentItem) => !uris.includes(parentFolderUri),\n    );\n  }\n\n  private contentAdapterForConnectionType(): ContentAdapter | undefined {\n    const activeProfile = profileConfig.getProfileByName(\n      profileConfig.getActiveProfile(),\n    );\n\n    if (!activeProfile) {\n      return;\n    }\n\n    const profileWithFileRootOptions = getProfileWithFileRootOptions();\n    return new ContentAdapterFactory().create(\n      activeProfile.connectionType,\n      profileWithFileRootOptions?.fileNavigationCustomRootPath,\n      profileWithFileRootOptions?.fileNavigationRoot,\n      this.sourceType,\n    );\n\n    function getProfileWithFileRootOptions():\n      | ProfileWithFileRootOptions\n      | undefined {\n      switch (activeProfile.connectionType) {\n        case ConnectionType.Rest:\n        case ConnectionType.IOM:\n        case ConnectionType.COM:\n          return activeProfile;\n        default:\n          return undefined;\n      }\n    }\n  }\n}\n\nexport default ContentNavigator;\n"
  },
  {
    "path": "client/src/components/ContentNavigator/mime-types.ts",
    "content": "// Copyright © 2024, SAS Institute Inc., Cary, NC, USA.  All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n\n// Taken from https://github.com/micnic/mime.json\nexport default {\n  \"123\": \"application/vnd.lotus-1-2-3\",\n  \"1km\": \"application/vnd.1000minds.decision-model+xml\",\n  \"3dml\": \"text/vnd.in3d.3dml\",\n  \"3ds\": \"image/x-3ds\",\n  \"3g2\": \"video/3gpp2\",\n  \"3gp\": \"video/3gpp\",\n  \"3gpp\": \"video/3gpp\",\n  \"3mf\": \"model/3mf\",\n  \"7z\": \"application/x-7z-compressed\",\n  aab: \"application/x-authorware-bin\",\n  aac: \"audio/x-aac\",\n  aam: \"application/x-authorware-map\",\n  aas: \"application/x-authorware-seg\",\n  abw: \"application/x-abiword\",\n  ac: \"application/vnd.nokia.n-gage.ac+xml\",\n  acc: \"application/vnd.americandynamics.acc\",\n  ace: \"application/x-ace-compressed\",\n  acu: \"application/vnd.acucobol\",\n  acutc: \"application/vnd.acucorp\",\n  adp: \"audio/adpcm\",\n  adts: \"audio/aac\",\n  aep: \"application/vnd.audiograph\",\n  afm: \"application/x-font-type1\",\n  afp: \"application/vnd.ibm.modcap\",\n  age: \"application/vnd.age\",\n  ahead: \"application/vnd.ahead.space\",\n  ai: \"application/postscript\",\n  aif: \"audio/x-aiff\",\n  aifc: \"audio/x-aiff\",\n  aiff: \"audio/x-aiff\",\n  air: \"application/vnd.adobe.air-application-installer-package+zip\",\n  ait: \"application/vnd.dvb.ait\",\n  ami: \"application/vnd.amiga.ami\",\n  aml: \"application/automationml-aml+xml\",\n  amlx: \"application/automationml-amlx+zip\",\n  amr: \"audio/amr\",\n  apk: \"application/vnd.android.package-archive\",\n  apng: \"image/apng\",\n  appcache: \"text/cache-manifest\",\n  appinstaller: \"application/appinstaller\",\n  application: \"application/x-ms-application\",\n  appx: \"application/appx\",\n  appxbundle: \"application/appxbundle\",\n  apr: \"application/vnd.lotus-approach\",\n  arc: \"application/x-freearc\",\n  arj: \"application/x-arj\",\n  asc: \"application/pgp-signature\",\n  asf: \"video/x-ms-asf\",\n  asm: \"text/x-asm\",\n  aso: \"application/vnd.accpac.simply.aso\",\n  asx: \"video/x-ms-asf\",\n  atc: \"application/vnd.acucorp\",\n  atom: \"application/atom+xml\",\n  atomcat: \"application/atomcat+xml\",\n  atomdeleted: \"application/atomdeleted+xml\",\n  atomsvc: \"application/atomsvc+xml\",\n  atx: \"application/vnd.antix.game-component\",\n  au: \"audio/basic\",\n  avci: \"image/avci\",\n  avcs: \"image/avcs\",\n  avi: \"video/x-msvideo\",\n  avif: \"image/avif\",\n  aw: \"application/applixware\",\n  azf: \"application/vnd.airzip.filesecure.azf\",\n  azs: \"application/vnd.airzip.filesecure.azs\",\n  azv: \"image/vnd.airzip.accelerator.azv\",\n  azw: \"application/vnd.amazon.ebook\",\n  b16: \"image/vnd.pco.b16\",\n  bat: \"application/x-msdownload\",\n  bcpio: \"application/x-bcpio\",\n  bdf: \"application/x-font-bdf\",\n  bdm: \"application/vnd.syncml.dm+wbxml\",\n  bdoc: \"application/x-bdoc\",\n  bed: \"application/vnd.realvnc.bed\",\n  bh2: \"application/vnd.fujitsu.oasysprs\",\n  bin: \"application/octet-stream\",\n  blb: \"application/x-blorb\",\n  blorb: \"application/x-blorb\",\n  bmi: \"application/vnd.bmi\",\n  bmml: \"application/vnd.balsamiq.bmml+xml\",\n  bmp: \"image/x-ms-bmp\",\n  book: \"application/vnd.framemaker\",\n  box: \"application/vnd.previewsystems.box\",\n  boz: \"application/x-bzip2\",\n  bpk: \"application/octet-stream\",\n  bsp: \"model/vnd.valve.source.compiled-map\",\n  btf: \"image/prs.btif\",\n  btif: \"image/prs.btif\",\n  buffer: \"application/octet-stream\",\n  bz: \"application/x-bzip\",\n  bz2: \"application/x-bzip2\",\n  c: \"text/x-c\",\n  c11amc: \"application/vnd.cluetrust.cartomobile-config\",\n  c11amz: \"application/vnd.cluetrust.cartomobile-config-pkg\",\n  c4d: \"application/vnd.clonk.c4group\",\n  c4f: \"application/vnd.clonk.c4group\",\n  c4g: \"application/vnd.clonk.c4group\",\n  c4p: \"application/vnd.clonk.c4group\",\n  c4u: \"application/vnd.clonk.c4group\",\n  cab: \"application/vnd.ms-cab-compressed\",\n  caf: \"audio/x-caf\",\n  cap: \"application/vnd.tcpdump.pcap\",\n  car: \"application/vnd.curl.car\",\n  cat: \"application/vnd.ms-pki.seccat\",\n  cb7: \"application/x-cbr\",\n  cba: \"application/x-cbr\",\n  cbr: \"application/x-cbr\",\n  cbt: \"application/x-cbr\",\n  cbz: \"application/x-cbr\",\n  cc: \"text/x-c\",\n  cco: \"application/x-cocoa\",\n  cct: \"application/x-director\",\n  ccxml: \"application/ccxml+xml\",\n  cdbcmsg: \"application/vnd.contact.cmsg\",\n  cdf: \"application/x-netcdf\",\n  cdfx: \"application/cdfx+xml\",\n  cdkey: \"application/vnd.mediastation.cdkey\",\n  cdmia: \"application/cdmi-capability\",\n  cdmic: \"application/cdmi-container\",\n  cdmid: \"application/cdmi-domain\",\n  cdmio: \"application/cdmi-object\",\n  cdmiq: \"application/cdmi-queue\",\n  cdx: \"chemical/x-cdx\",\n  cdxml: \"application/vnd.chemdraw+xml\",\n  cdy: \"application/vnd.cinderella\",\n  cer: \"application/pkix-cert\",\n  cfs: \"application/x-cfs-compressed\",\n  cgm: \"image/cgm\",\n  chat: \"application/x-chat\",\n  chm: \"application/vnd.ms-htmlhelp\",\n  chrt: \"application/vnd.kde.kchart\",\n  cif: \"chemical/x-cif\",\n  cii: \"application/vnd.anser-web-certificate-issue-initiation\",\n  cil: \"application/vnd.ms-artgalry\",\n  cjs: \"application/node\",\n  cla: \"application/vnd.claymore\",\n  class: \"application/java-vm\",\n  cld: \"model/vnd.cld\",\n  clkk: \"application/vnd.crick.clicker.keyboard\",\n  clkp: \"application/vnd.crick.clicker.palette\",\n  clkt: \"application/vnd.crick.clicker.template\",\n  clkw: \"application/vnd.crick.clicker.wordbank\",\n  clkx: \"application/vnd.crick.clicker\",\n  clp: \"application/x-msclip\",\n  cmc: \"application/vnd.cosmocaller\",\n  cmdf: \"chemical/x-cmdf\",\n  cml: \"chemical/x-cml\",\n  cmp: \"application/vnd.yellowriver-custom-menu\",\n  cmx: \"image/x-cmx\",\n  cod: \"application/vnd.rim.cod\",\n  coffee: \"text/coffeescript\",\n  com: \"application/x-msdownload\",\n  conf: \"text/plain\",\n  cpio: \"application/x-cpio\",\n  cpl: \"application/cpl+xml\",\n  cpp: \"text/x-c\",\n  cpt: \"application/mac-compactpro\",\n  crd: \"application/x-mscardfile\",\n  crl: \"application/pkix-crl\",\n  crt: \"application/x-x509-ca-cert\",\n  crx: \"application/x-chrome-extension\",\n  cryptonote: \"application/vnd.rig.cryptonote\",\n  csh: \"application/x-csh\",\n  csl: \"application/vnd.citationstyles.style+xml\",\n  csml: \"chemical/x-csml\",\n  csp: \"application/vnd.commonspace\",\n  css: \"text/css\",\n  cst: \"application/x-director\",\n  csv: \"text/csv\",\n  cu: \"application/cu-seeme\",\n  curl: \"text/vnd.curl\",\n  cwl: \"application/cwl\",\n  cww: \"application/prs.cww\",\n  cxt: \"application/x-director\",\n  cxx: \"text/x-c\",\n  dae: \"model/vnd.collada+xml\",\n  daf: \"application/vnd.mobius.daf\",\n  dart: \"application/vnd.dart\",\n  dataless: \"application/vnd.fdsn.seed\",\n  davmount: \"application/davmount+xml\",\n  dbf: \"application/vnd.dbf\",\n  dbk: \"application/docbook+xml\",\n  dcr: \"application/x-director\",\n  dcurl: \"text/vnd.curl.dcurl\",\n  dd2: \"application/vnd.oma.dd2+xml\",\n  ddd: \"application/vnd.fujixerox.ddd\",\n  ddf: \"application/vnd.syncml.dmddf+xml\",\n  dds: \"image/vnd.ms-dds\",\n  deb: \"application/x-debian-package\",\n  def: \"text/plain\",\n  deploy: \"application/octet-stream\",\n  der: \"application/x-x509-ca-cert\",\n  dfac: \"application/vnd.dreamfactory\",\n  dgc: \"application/x-dgc-compressed\",\n  dib: \"image/bmp\",\n  dic: \"text/x-c\",\n  dir: \"application/x-director\",\n  dis: \"application/vnd.mobius.dis\",\n  \"disposition-notification\": \"message/disposition-notification\",\n  dist: \"application/octet-stream\",\n  distz: \"application/octet-stream\",\n  djv: \"image/vnd.djvu\",\n  djvu: \"image/vnd.djvu\",\n  dll: \"application/x-msdownload\",\n  dmg: \"application/x-apple-diskimage\",\n  dmp: \"application/vnd.tcpdump.pcap\",\n  dms: \"application/octet-stream\",\n  dna: \"application/vnd.dna\",\n  doc: \"application/msword\",\n  docm: \"application/vnd.ms-word.document.macroenabled.12\",\n  docx: \"application/vnd.openxmlformats-officedocument.wordprocessingml.document\",\n  dot: \"application/msword\",\n  dotm: \"application/vnd.ms-word.template.macroenabled.12\",\n  dotx: \"application/vnd.openxmlformats-officedocument.wordprocessingml.template\",\n  dp: \"application/vnd.osgi.dp\",\n  dpg: \"application/vnd.dpgraph\",\n  dpx: \"image/dpx\",\n  dra: \"audio/vnd.dra\",\n  drle: \"image/dicom-rle\",\n  dsc: \"text/prs.lines.tag\",\n  dssc: \"application/dssc+der\",\n  dtb: \"application/x-dtbook+xml\",\n  dtd: \"application/xml-dtd\",\n  dts: \"audio/vnd.dts\",\n  dtshd: \"audio/vnd.dts.hd\",\n  dump: \"application/octet-stream\",\n  dvb: \"video/vnd.dvb.file\",\n  dvi: \"application/x-dvi\",\n  dwd: \"application/atsc-dwd+xml\",\n  dwf: \"model/vnd.dwf\",\n  dwg: \"image/vnd.dwg\",\n  dxf: \"image/vnd.dxf\",\n  dxp: \"application/vnd.spotfire.dxp\",\n  dxr: \"application/x-director\",\n  ear: \"application/java-archive\",\n  ecelp4800: \"audio/vnd.nuera.ecelp4800\",\n  ecelp7470: \"audio/vnd.nuera.ecelp7470\",\n  ecelp9600: \"audio/vnd.nuera.ecelp9600\",\n  ecma: \"application/ecmascript\",\n  edm: \"application/vnd.novadigm.edm\",\n  edx: \"application/vnd.novadigm.edx\",\n  efif: \"application/vnd.picsel\",\n  ei6: \"application/vnd.pg.osasli\",\n  elc: \"application/octet-stream\",\n  emf: \"image/emf\",\n  eml: \"message/rfc822\",\n  emma: \"application/emma+xml\",\n  emotionml: \"application/emotionml+xml\",\n  emz: \"application/x-msmetafile\",\n  eol: \"audio/vnd.digital-winds\",\n  eot: \"application/vnd.ms-fontobject\",\n  eps: \"application/postscript\",\n  epub: \"application/epub+zip\",\n  es3: \"application/vnd.eszigno3+xml\",\n  esa: \"application/vnd.osgi.subsystem\",\n  esf: \"application/vnd.epson.esf\",\n  et3: \"application/vnd.eszigno3+xml\",\n  etx: \"text/x-setext\",\n  eva: \"application/x-eva\",\n  evy: \"application/x-envoy\",\n  exe: \"application/x-msdownload\",\n  exi: \"application/exi\",\n  exp: \"application/express\",\n  exr: \"image/aces\",\n  ext: \"application/vnd.novadigm.ext\",\n  ez: \"application/andrew-inset\",\n  ez2: \"application/vnd.ezpix-album\",\n  ez3: \"application/vnd.ezpix-package\",\n  f: \"text/x-fortran\",\n  f4v: \"video/x-f4v\",\n  f77: \"text/x-fortran\",\n  f90: \"text/x-fortran\",\n  fbs: \"image/vnd.fastbidsheet\",\n  fcdt: \"application/vnd.adobe.formscentral.fcdt\",\n  fcs: \"application/vnd.isac.fcs\",\n  fdf: \"application/vnd.fdf\",\n  fdt: \"application/fdt+xml\",\n  fe_launch: \"application/vnd.denovo.fcselayout-link\",\n  fg5: \"application/vnd.fujitsu.oasysgp\",\n  fgd: \"application/x-director\",\n  fh: \"image/x-freehand\",\n  fh4: \"image/x-freehand\",\n  fh5: \"image/x-freehand\",\n  fh7: \"image/x-freehand\",\n  fhc: \"image/x-freehand\",\n  fig: \"application/x-xfig\",\n  fits: \"image/fits\",\n  flac: \"audio/x-flac\",\n  fli: \"video/x-fli\",\n  flo: \"application/vnd.micrografx.flo\",\n  flv: \"video/x-flv\",\n  flw: \"application/vnd.kde.kivio\",\n  flx: \"text/vnd.fmi.flexstor\",\n  fly: \"text/vnd.fly\",\n  fm: \"application/vnd.framemaker\",\n  fnc: \"application/vnd.frogans.fnc\",\n  fo: \"application/vnd.software602.filler.form+xml\",\n  for: \"text/x-fortran\",\n  fpx: \"image/vnd.fpx\",\n  frame: \"application/vnd.framemaker\",\n  fsc: \"application/vnd.fsc.weblaunch\",\n  fst: \"image/vnd.fst\",\n  ftc: \"application/vnd.fluxtime.clip\",\n  fti: \"application/vnd.anser-web-funds-transfer-initiation\",\n  fvt: \"video/vnd.fvt\",\n  fxp: \"application/vnd.adobe.fxp\",\n  fxpl: \"application/vnd.adobe.fxp\",\n  fzs: \"application/vnd.fuzzysheet\",\n  g2w: \"application/vnd.geoplan\",\n  g3: \"image/g3fax\",\n  g3w: \"application/vnd.geospace\",\n  gac: \"application/vnd.groove-account\",\n  gam: \"application/x-tads\",\n  gbr: \"application/rpki-ghostbusters\",\n  gca: \"application/x-gca-compressed\",\n  gdl: \"model/vnd.gdl\",\n  gdoc: \"application/vnd.google-apps.document\",\n  ged: \"text/vnd.familysearch.gedcom\",\n  geo: \"application/vnd.dynageo\",\n  geojson: \"application/geo+json\",\n  gex: \"application/vnd.geometry-explorer\",\n  ggb: \"application/vnd.geogebra.file\",\n  ggt: \"application/vnd.geogebra.tool\",\n  ghf: \"application/vnd.groove-help\",\n  gif: \"image/gif\",\n  gim: \"application/vnd.groove-identity-message\",\n  glb: \"model/gltf-binary\",\n  gltf: \"model/gltf+json\",\n  gml: \"application/gml+xml\",\n  gmx: \"application/vnd.gmx\",\n  gnumeric: \"application/x-gnumeric\",\n  gph: \"application/vnd.flographit\",\n  gpx: \"application/gpx+xml\",\n  gqf: \"application/vnd.grafeq\",\n  gqs: \"application/vnd.grafeq\",\n  gram: \"application/srgs\",\n  gramps: \"application/x-gramps-xml\",\n  gre: \"application/vnd.geometry-explorer\",\n  grv: \"application/vnd.groove-injector\",\n  grxml: \"application/srgs+xml\",\n  gsf: \"application/x-font-ghostscript\",\n  gsheet: \"application/vnd.google-apps.spreadsheet\",\n  gslides: \"application/vnd.google-apps.presentation\",\n  gtar: \"application/x-gtar\",\n  gtm: \"application/vnd.groove-tool-message\",\n  gtw: \"model/vnd.gtw\",\n  gv: \"text/vnd.graphviz\",\n  gxf: \"application/gxf\",\n  gxt: \"application/vnd.geonext\",\n  gz: \"application/gzip\",\n  h: \"text/x-c\",\n  h261: \"video/h261\",\n  h263: \"video/h263\",\n  h264: \"video/h264\",\n  hal: \"application/vnd.hal+xml\",\n  hbci: \"application/vnd.hbci\",\n  hbs: \"text/x-handlebars-template\",\n  hdd: \"application/x-virtualbox-hdd\",\n  hdf: \"application/x-hdf\",\n  heic: \"image/heic\",\n  heics: \"image/heic-sequence\",\n  heif: \"image/heif\",\n  heifs: \"image/heif-sequence\",\n  hej2: \"image/hej2k\",\n  held: \"application/atsc-held+xml\",\n  hh: \"text/x-c\",\n  hjson: \"application/hjson\",\n  hlp: \"application/winhlp\",\n  hpgl: \"application/vnd.hp-hpgl\",\n  hpid: \"application/vnd.hp-hpid\",\n  hps: \"application/vnd.hp-hps\",\n  hqx: \"application/mac-binhex40\",\n  hsj2: \"image/hsj2\",\n  htc: \"text/x-component\",\n  htke: \"application/vnd.kenameaapp\",\n  htm: \"text/html\",\n  html: \"text/html\",\n  hvd: \"application/vnd.yamaha.hv-dic\",\n  hvp: \"application/vnd.yamaha.hv-voice\",\n  hvs: \"application/vnd.yamaha.hv-script\",\n  i2g: \"application/vnd.intergeo\",\n  icc: \"application/vnd.iccprofile\",\n  ice: \"x-conference/x-cooltalk\",\n  icm: \"application/vnd.iccprofile\",\n  ico: \"image/x-icon\",\n  ics: \"text/calendar\",\n  ief: \"image/ief\",\n  ifb: \"text/calendar\",\n  ifm: \"application/vnd.shana.informed.formdata\",\n  iges: \"model/iges\",\n  igl: \"application/vnd.igloader\",\n  igm: \"application/vnd.insors.igm\",\n  igs: \"model/iges\",\n  igx: \"application/vnd.micrografx.igx\",\n  iif: \"application/vnd.shana.informed.interchange\",\n  img: \"application/octet-stream\",\n  imp: \"application/vnd.accpac.simply.imp\",\n  ims: \"application/vnd.ms-ims\",\n  in: \"text/plain\",\n  ini: \"text/plain\",\n  ink: \"application/inkml+xml\",\n  inkml: \"application/inkml+xml\",\n  install: \"application/x-install-instructions\",\n  iota: \"application/vnd.astraea-software.iota\",\n  ipfix: \"application/ipfix\",\n  ipk: \"application/vnd.shana.informed.package\",\n  irm: \"application/vnd.ibm.rights-management\",\n  irp: \"application/vnd.irepository.package+xml\",\n  iso: \"application/x-iso9660-image\",\n  itp: \"application/vnd.shana.informed.formtemplate\",\n  its: \"application/its+xml\",\n  ivp: \"application/vnd.immervision-ivp\",\n  ivu: \"application/vnd.immervision-ivu\",\n  jad: \"text/vnd.sun.j2me.app-descriptor\",\n  jade: \"text/jade\",\n  jam: \"application/vnd.jam\",\n  jar: \"application/java-archive\",\n  jardiff: \"application/x-java-archive-diff\",\n  java: \"text/x-java-source\",\n  jhc: \"image/jphc\",\n  jisp: \"application/vnd.jisp\",\n  jls: \"image/jls\",\n  jlt: \"application/vnd.hp-jlyt\",\n  jng: \"image/x-jng\",\n  jnlp: \"application/x-java-jnlp-file\",\n  joda: \"application/vnd.joost.joda-archive\",\n  jp2: \"image/jp2\",\n  jpe: \"image/jpeg\",\n  jpeg: \"image/jpeg\",\n  jpf: \"image/jpx\",\n  jpg: \"image/jpeg\",\n  jpg2: \"image/jp2\",\n  jpgm: \"video/jpm\",\n  jpgv: \"video/jpeg\",\n  jph: \"image/jph\",\n  jpm: \"video/jpm\",\n  jpx: \"image/jpx\",\n  js: \"text/javascript\",\n  json: \"application/json\",\n  json5: \"application/json5\",\n  jsonld: \"application/ld+json\",\n  jsonml: \"application/jsonml+json\",\n  jsx: \"text/jsx\",\n  jt: \"model/jt\",\n  jxr: \"image/jxr\",\n  jxra: \"image/jxra\",\n  jxrs: \"image/jxrs\",\n  jxs: \"image/jxs\",\n  jxsc: \"image/jxsc\",\n  jxsi: \"image/jxsi\",\n  jxss: \"image/jxss\",\n  kar: \"audio/midi\",\n  karbon: \"application/vnd.kde.karbon\",\n  kdbx: \"application/x-keepass2\",\n  key: \"application/x-iwork-keynote-sffkey\",\n  kfo: \"application/vnd.kde.kformula\",\n  kia: \"application/vnd.kidspiration\",\n  kml: \"application/vnd.google-earth.kml+xml\",\n  kmz: \"application/vnd.google-earth.kmz\",\n  kne: \"application/vnd.kinar\",\n  knp: \"application/vnd.kinar\",\n  kon: \"application/vnd.kde.kontour\",\n  kpr: \"application/vnd.kde.kpresenter\",\n  kpt: \"application/vnd.kde.kpresenter\",\n  kpxx: \"application/vnd.ds-keypoint\",\n  ksp: \"application/vnd.kde.kspread\",\n  ktr: \"application/vnd.kahootz\",\n  ktx: \"image/ktx\",\n  ktx2: \"image/ktx2\",\n  ktz: \"application/vnd.kahootz\",\n  kwd: \"application/vnd.kde.kword\",\n  kwt: \"application/vnd.kde.kword\",\n  lasxml: \"application/vnd.las.las+xml\",\n  latex: \"application/x-latex\",\n  lbd: \"application/vnd.llamagraphics.life-balance.desktop\",\n  lbe: \"application/vnd.llamagraphics.life-balance.exchange+xml\",\n  les: \"application/vnd.hhe.lesson-player\",\n  less: \"text/less\",\n  lgr: \"application/lgr+xml\",\n  lha: \"application/x-lzh-compressed\",\n  link66: \"application/vnd.route66.link66+xml\",\n  list: \"text/plain\",\n  list3820: \"application/vnd.ibm.modcap\",\n  listafp: \"application/vnd.ibm.modcap\",\n  litcoffee: \"text/coffeescript\",\n  lnk: \"application/x-ms-shortcut\",\n  log: \"text/plain\",\n  lostxml: \"application/lost+xml\",\n  lrf: \"application/octet-stream\",\n  lrm: \"application/vnd.ms-lrm\",\n  ltf: \"application/vnd.frogans.ltf\",\n  lua: \"text/x-lua\",\n  luac: \"application/x-lua-bytecode\",\n  lvp: \"audio/vnd.lucent.voice\",\n  lwp: \"application/vnd.lotus-wordpro\",\n  lzh: \"application/x-lzh-compressed\",\n  m13: \"application/x-msmediaview\",\n  m14: \"application/x-msmediaview\",\n  m1v: \"video/mpeg\",\n  m21: \"application/mp21\",\n  m2a: \"audio/mpeg\",\n  m2v: \"video/mpeg\",\n  m3a: \"audio/mpeg\",\n  m3u: \"audio/x-mpegurl\",\n  m3u8: \"application/vnd.apple.mpegurl\",\n  m4a: \"audio/x-m4a\",\n  m4p: \"application/mp4\",\n  m4s: \"video/iso.segment\",\n  m4u: \"video/vnd.mpegurl\",\n  m4v: \"video/x-m4v\",\n  ma: \"application/mathematica\",\n  mads: \"application/mads+xml\",\n  maei: \"application/mmt-aei+xml\",\n  mag: \"application/vnd.ecowin.chart\",\n  maker: \"application/vnd.framemaker\",\n  man: \"text/troff\",\n  manifest: \"text/cache-manifest\",\n  map: \"application/json\",\n  mar: \"application/octet-stream\",\n  markdown: \"text/markdown\",\n  mathml: \"application/mathml+xml\",\n  mb: \"application/mathematica\",\n  mbk: \"application/vnd.mobius.mbk\",\n  mbox: \"application/mbox\",\n  mc1: \"application/vnd.medcalcdata\",\n  mcd: \"application/vnd.mcd\",\n  mcurl: \"text/vnd.curl.mcurl\",\n  md: \"text/markdown\",\n  mdb: \"application/x-msaccess\",\n  mdi: \"image/vnd.ms-modi\",\n  mdx: \"text/mdx\",\n  me: \"text/troff\",\n  mesh: \"model/mesh\",\n  meta4: \"application/metalink4+xml\",\n  metalink: \"application/metalink+xml\",\n  mets: \"application/mets+xml\",\n  mfm: \"application/vnd.mfmp\",\n  mft: \"application/rpki-manifest\",\n  mgp: \"application/vnd.osgeo.mapguide.package\",\n  mgz: \"application/vnd.proteus.magazine\",\n  mid: \"audio/midi\",\n  midi: \"audio/midi\",\n  mie: \"application/x-mie\",\n  mif: \"application/vnd.mif\",\n  mime: \"message/rfc822\",\n  mj2: \"video/mj2\",\n  mjp2: \"video/mj2\",\n  mjs: \"text/javascript\",\n  mk3d: \"video/x-matroska\",\n  mka: \"audio/x-matroska\",\n  mkd: \"text/x-markdown\",\n  mks: \"video/x-matroska\",\n  mkv: \"video/x-matroska\",\n  mlp: \"application/vnd.dolby.mlp\",\n  mmd: \"application/vnd.chipnuts.karaoke-mmd\",\n  mmf: \"application/vnd.smaf\",\n  mml: \"text/mathml\",\n  mmr: \"image/vnd.fujixerox.edmics-mmr\",\n  mng: \"video/x-mng\",\n  mny: \"application/x-msmoney\",\n  mobi: \"application/x-mobipocket-ebook\",\n  mods: \"application/mods+xml\",\n  mov: \"video/quicktime\",\n  movie: \"video/x-sgi-movie\",\n  mp2: \"audio/mpeg\",\n  mp21: \"application/mp21\",\n  mp2a: \"audio/mpeg\",\n  mp3: \"audio/mpeg\",\n  mp4: \"video/mp4\",\n  mp4a: \"audio/mp4\",\n  mp4s: \"application/mp4\",\n  mp4v: \"video/mp4\",\n  mpc: \"application/vnd.mophun.certificate\",\n  mpd: \"application/dash+xml\",\n  mpe: \"video/mpeg\",\n  mpeg: \"video/mpeg\",\n  mpf: \"application/media-policy-dataset+xml\",\n  mpg: \"video/mpeg\",\n  mpg4: \"video/mp4\",\n  mpga: \"audio/mpeg\",\n  mpkg: \"application/vnd.apple.installer+xml\",\n  mpm: \"application/vnd.blueice.multipass\",\n  mpn: \"application/vnd.mophun.application\",\n  mpp: \"application/vnd.ms-project\",\n  mpt: \"application/vnd.ms-project\",\n  mpy: \"application/vnd.ibm.minipay\",\n  mqy: \"application/vnd.mobius.mqy\",\n  mrc: \"application/marc\",\n  mrcx: \"application/marcxml+xml\",\n  ms: \"text/troff\",\n  mscml: \"application/mediaservercontrol+xml\",\n  mseed: \"application/vnd.fdsn.mseed\",\n  mseq: \"application/vnd.mseq\",\n  msf: \"application/vnd.epson.msf\",\n  msg: \"application/vnd.ms-outlook\",\n  msh: \"model/mesh\",\n  msi: \"application/x-msdownload\",\n  msix: \"application/msix\",\n  msixbundle: \"application/msixbundle\",\n  msl: \"application/vnd.mobius.msl\",\n  msm: \"application/octet-stream\",\n  msp: \"application/octet-stream\",\n  msty: \"application/vnd.muvee.style\",\n  mtl: \"model/mtl\",\n  mts: \"model/vnd.mts\",\n  mus: \"application/vnd.musician\",\n  musd: \"application/mmt-usd+xml\",\n  musicxml: \"application/vnd.recordare.musicxml+xml\",\n  mvb: \"application/x-msmediaview\",\n  mvt: \"application/vnd.mapbox-vector-tile\",\n  mwf: \"application/vnd.mfer\",\n  mxf: \"application/mxf\",\n  mxl: \"application/vnd.recordare.musicxml\",\n  mxmf: \"audio/mobile-xmf\",\n  mxml: \"application/xv+xml\",\n  mxs: \"application/vnd.triscape.mxs\",\n  mxu: \"video/vnd.mpegurl\",\n  \"n-gage\": \"application/vnd.nokia.n-gage.symbian.install\",\n  n3: \"text/n3\",\n  nb: \"application/mathematica\",\n  nbp: \"application/vnd.wolfram.player\",\n  nc: \"application/x-netcdf\",\n  ncx: \"application/x-dtbncx+xml\",\n  nfo: \"text/x-nfo\",\n  ngdat: \"application/vnd.nokia.n-gage.data\",\n  nitf: \"application/vnd.nitf\",\n  nlu: \"application/vnd.neurolanguage.nlu\",\n  nml: \"application/vnd.enliven\",\n  nnd: \"application/vnd.noblenet-directory\",\n  nns: \"application/vnd.noblenet-sealer\",\n  nnw: \"application/vnd.noblenet-web\",\n  npx: \"image/vnd.net-fpx\",\n  nq: \"application/n-quads\",\n  nsc: \"application/x-conference\",\n  nsf: \"application/vnd.lotus-notes\",\n  nt: \"application/n-triples\",\n  ntf: \"application/vnd.nitf\",\n  numbers: \"application/x-iwork-numbers-sffnumbers\",\n  nzb: \"application/x-nzb\",\n  oa2: \"application/vnd.fujitsu.oasys2\",\n  oa3: \"application/vnd.fujitsu.oasys3\",\n  oas: \"application/vnd.fujitsu.oasys\",\n  obd: \"application/x-msbinder\",\n  obgx: \"application/vnd.openblox.game+xml\",\n  obj: \"model/obj\",\n  oda: \"application/oda\",\n  odb: \"application/vnd.oasis.opendocument.database\",\n  odc: \"application/vnd.oasis.opendocument.chart\",\n  odf: \"application/vnd.oasis.opendocument.formula\",\n  odft: \"application/vnd.oasis.opendocument.formula-template\",\n  odg: \"application/vnd.oasis.opendocument.graphics\",\n  odi: \"application/vnd.oasis.opendocument.image\",\n  odm: \"application/vnd.oasis.opendocument.text-master\",\n  odp: \"application/vnd.oasis.opendocument.presentation\",\n  ods: \"application/vnd.oasis.opendocument.spreadsheet\",\n  odt: \"application/vnd.oasis.opendocument.text\",\n  oga: \"audio/ogg\",\n  ogex: \"model/vnd.opengex\",\n  ogg: \"audio/ogg\",\n  ogv: \"video/ogg\",\n  ogx: \"application/ogg\",\n  omdoc: \"application/omdoc+xml\",\n  onepkg: \"application/onenote\",\n  onetmp: \"application/onenote\",\n  onetoc: \"application/onenote\",\n  onetoc2: \"application/onenote\",\n  opf: \"application/oebps-package+xml\",\n  opml: \"text/x-opml\",\n  oprc: \"application/vnd.palm\",\n  opus: \"audio/ogg\",\n  org: \"text/x-org\",\n  osf: \"application/vnd.yamaha.openscoreformat\",\n  osfpvg: \"application/vnd.yamaha.openscoreformat.osfpvg+xml\",\n  osm: \"application/vnd.openstreetmap.data+xml\",\n  otc: \"application/vnd.oasis.opendocument.chart-template\",\n  otf: \"font/otf\",\n  otg: \"application/vnd.oasis.opendocument.graphics-template\",\n  oth: \"application/vnd.oasis.opendocument.text-web\",\n  oti: \"application/vnd.oasis.opendocument.image-template\",\n  otp: \"application/vnd.oasis.opendocument.presentation-template\",\n  ots: \"application/vnd.oasis.opendocument.spreadsheet-template\",\n  ott: \"application/vnd.oasis.opendocument.text-template\",\n  ova: \"application/x-virtualbox-ova\",\n  ovf: \"application/x-virtualbox-ovf\",\n  owl: \"application/rdf+xml\",\n  oxps: \"application/oxps\",\n  oxt: \"application/vnd.openofficeorg.extension\",\n  p: \"text/x-pascal\",\n  p10: \"application/pkcs10\",\n  p12: \"application/x-pkcs12\",\n  p7b: \"application/x-pkcs7-certificates\",\n  p7c: \"application/pkcs7-mime\",\n  p7m: \"application/pkcs7-mime\",\n  p7r: \"application/x-pkcs7-certreqresp\",\n  p7s: \"application/pkcs7-signature\",\n  p8: \"application/pkcs8\",\n  pac: \"application/x-ns-proxy-autoconfig\",\n  pages: \"application/x-iwork-pages-sffpages\",\n  pas: \"text/x-pascal\",\n  paw: \"application/vnd.pawaafile\",\n  pbd: \"application/vnd.powerbuilder6\",\n  pbm: \"image/x-portable-bitmap\",\n  pcap: \"application/vnd.tcpdump.pcap\",\n  pcf: \"application/x-font-pcf\",\n  pcl: \"application/vnd.hp-pcl\",\n  pclxl: \"application/vnd.hp-pclxl\",\n  pct: \"image/x-pict\",\n  pcurl: \"application/vnd.curl.pcurl\",\n  pcx: \"image/x-pcx\",\n  pdb: \"application/x-pilot\",\n  pde: \"text/x-processing\",\n  pdf: \"application/pdf\",\n  pem: \"application/x-x509-ca-cert\",\n  pfa: \"application/x-font-type1\",\n  pfb: \"application/x-font-type1\",\n  pfm: \"application/x-font-type1\",\n  pfr: \"application/font-tdpfr\",\n  pfx: \"application/x-pkcs12\",\n  pgm: \"image/x-portable-graymap\",\n  pgn: \"application/x-chess-pgn\",\n  pgp: \"application/pgp-encrypted\",\n  php: \"application/x-httpd-php\",\n  pic: \"image/x-pict\",\n  pkg: \"application/octet-stream\",\n  pki: \"application/pkixcmp\",\n  pkipath: \"application/pkix-pkipath\",\n  pkpass: \"application/vnd.apple.pkpass\",\n  pl: \"application/x-perl\",\n  plb: \"application/vnd.3gpp.pic-bw-large\",\n  plc: \"application/vnd.mobius.plc\",\n  plf: \"application/vnd.pocketlearn\",\n  pls: \"application/pls+xml\",\n  pm: \"application/x-perl\",\n  pml: \"application/vnd.ctc-posml\",\n  png: \"image/png\",\n  pnm: \"image/x-portable-anymap\",\n  portpkg: \"application/vnd.macports.portpkg\",\n  pot: \"application/vnd.ms-powerpoint\",\n  potm: \"application/vnd.ms-powerpoint.template.macroenabled.12\",\n  potx: \"application/vnd.openxmlformats-officedocument.presentationml.template\",\n  ppam: \"application/vnd.ms-powerpoint.addin.macroenabled.12\",\n  ppd: \"application/vnd.cups-ppd\",\n  ppm: \"image/x-portable-pixmap\",\n  pps: \"application/vnd.ms-powerpoint\",\n  ppsm: \"application/vnd.ms-powerpoint.slideshow.macroenabled.12\",\n  ppsx: \"application/vnd.openxmlformats-officedocument.presentationml.slideshow\",\n  ppt: \"application/vnd.ms-powerpoint\",\n  pptm: \"application/vnd.ms-powerpoint.presentation.macroenabled.12\",\n  pptx: \"application/vnd.openxmlformats-officedocument.presentationml.presentation\",\n  pqa: \"application/vnd.palm\",\n  prc: \"model/prc\",\n  pre: \"application/vnd.lotus-freelance\",\n  prf: \"application/pics-rules\",\n  provx: \"application/provenance+xml\",\n  ps: \"application/postscript\",\n  psb: \"application/vnd.3gpp.pic-bw-small\",\n  psd: \"image/vnd.adobe.photoshop\",\n  psf: \"application/x-font-linux-psf\",\n  pskcxml: \"application/pskc+xml\",\n  pti: \"image/prs.pti\",\n  ptid: \"application/vnd.pvi.ptid1\",\n  pub: \"application/x-mspublisher\",\n  pvb: \"application/vnd.3gpp.pic-bw-var\",\n  pwn: \"application/vnd.3m.post-it-notes\",\n  pya: \"audio/vnd.ms-playready.media.pya\",\n  pyo: \"model/vnd.pytha.pyox\",\n  pyox: \"model/vnd.pytha.pyox\",\n  pyv: \"video/vnd.ms-playready.media.pyv\",\n  qam: \"application/vnd.epson.quickanime\",\n  qbo: \"application/vnd.intu.qbo\",\n  qfx: \"application/vnd.intu.qfx\",\n  qps: \"application/vnd.publishare-delta-tree\",\n  qt: \"video/quicktime\",\n  qwd: \"application/vnd.quark.quarkxpress\",\n  qwt: \"application/vnd.quark.quarkxpress\",\n  qxb: \"application/vnd.quark.quarkxpress\",\n  qxd: \"application/vnd.quark.quarkxpress\",\n  qxl: \"application/vnd.quark.quarkxpress\",\n  qxt: \"application/vnd.quark.quarkxpress\",\n  ra: \"audio/x-realaudio\",\n  ram: \"audio/x-pn-realaudio\",\n  raml: \"application/raml+yaml\",\n  rapd: \"application/route-apd+xml\",\n  rar: \"application/x-rar-compressed\",\n  ras: \"image/x-cmu-raster\",\n  rcprofile: \"application/vnd.ipunplugged.rcprofile\",\n  rdf: \"application/rdf+xml\",\n  rdz: \"application/vnd.data-vision.rdz\",\n  relo: \"application/p2p-overlay+xml\",\n  rep: \"application/vnd.businessobjects\",\n  res: \"application/x-dtbresource+xml\",\n  rgb: \"image/x-rgb\",\n  rif: \"application/reginfo+xml\",\n  rip: \"audio/vnd.rip\",\n  ris: \"application/x-research-info-systems\",\n  rl: \"application/resource-lists+xml\",\n  rlc: \"image/vnd.fujixerox.edmics-rlc\",\n  rld: \"application/resource-lists-diff+xml\",\n  rm: \"application/vnd.rn-realmedia\",\n  rmi: \"audio/midi\",\n  rmp: \"audio/x-pn-realaudio-plugin\",\n  rms: \"application/vnd.jcp.javame.midlet-rms\",\n  rmvb: \"application/vnd.rn-realmedia-vbr\",\n  rnc: \"application/relax-ng-compact-syntax\",\n  rng: \"application/xml\",\n  roa: \"application/rpki-roa\",\n  roff: \"text/troff\",\n  rp9: \"application/vnd.cloanto.rp9\",\n  rpm: \"application/x-redhat-package-manager\",\n  rpss: \"application/vnd.nokia.radio-presets\",\n  rpst: \"application/vnd.nokia.radio-preset\",\n  rq: \"application/sparql-query\",\n  rs: \"application/rls-services+xml\",\n  rsat: \"application/atsc-rsat+xml\",\n  rsd: \"application/rsd+xml\",\n  rsheet: \"application/urc-ressheet+xml\",\n  rss: \"application/rss+xml\",\n  rtf: \"text/rtf\",\n  rtx: \"text/richtext\",\n  run: \"application/x-makeself\",\n  rusd: \"application/route-usd+xml\",\n  s: \"text/x-asm\",\n  s3m: \"audio/s3m\",\n  saf: \"application/vnd.yamaha.smaf-audio\",\n  sass: \"text/x-sass\",\n  sbml: \"application/sbml+xml\",\n  sc: \"application/vnd.ibm.secure-container\",\n  scd: \"application/x-msschedule\",\n  scm: \"application/vnd.lotus-screencam\",\n  scq: \"application/scvp-cv-request\",\n  scs: \"application/scvp-cv-response\",\n  scss: \"text/x-scss\",\n  scurl: \"text/vnd.curl.scurl\",\n  sda: \"application/vnd.stardivision.draw\",\n  sdc: \"application/vnd.stardivision.calc\",\n  sdd: \"application/vnd.stardivision.impress\",\n  sdkd: \"application/vnd.solent.sdkm+xml\",\n  sdkm: \"application/vnd.solent.sdkm+xml\",\n  sdp: \"application/sdp\",\n  sdw: \"application/vnd.stardivision.writer\",\n  sea: \"application/x-sea\",\n  see: \"application/vnd.seemail\",\n  seed: \"application/vnd.fdsn.seed\",\n  sema: \"application/vnd.sema\",\n  semd: \"application/vnd.semd\",\n  semf: \"application/vnd.semf\",\n  senmlx: \"application/senml+xml\",\n  sensmlx: \"application/sensml+xml\",\n  ser: \"application/java-serialized-object\",\n  setpay: \"application/set-payment-initiation\",\n  setreg: \"application/set-registration-initiation\",\n  \"sfd-hdstx\": \"application/vnd.hydrostatix.sof-data\",\n  sfs: \"application/vnd.spotfire.sfs\",\n  sfv: \"text/x-sfv\",\n  sgi: \"image/sgi\",\n  sgl: \"application/vnd.stardivision.writer-global\",\n  sgm: \"text/sgml\",\n  sgml: \"text/sgml\",\n  sh: \"application/x-sh\",\n  shar: \"application/x-shar\",\n  shex: \"text/shex\",\n  shf: \"application/shf+xml\",\n  shtml: \"text/html\",\n  sid: \"image/x-mrsid-image\",\n  sieve: \"application/sieve\",\n  sig: \"application/pgp-signature\",\n  sil: \"audio/silk\",\n  silo: \"model/mesh\",\n  sis: \"application/vnd.symbian.install\",\n  sisx: \"application/vnd.symbian.install\",\n  sit: \"application/x-stuffit\",\n  sitx: \"application/x-stuffitx\",\n  siv: \"application/sieve\",\n  skd: \"application/vnd.koan\",\n  skm: \"application/vnd.koan\",\n  skp: \"application/vnd.koan\",\n  skt: \"application/vnd.koan\",\n  sldm: \"application/vnd.ms-powerpoint.slide.macroenabled.12\",\n  sldx: \"application/vnd.openxmlformats-officedocument.presentationml.slide\",\n  slim: \"text/slim\",\n  slm: \"text/slim\",\n  sls: \"application/route-s-tsid+xml\",\n  slt: \"application/vnd.epson.salt\",\n  sm: \"application/vnd.stepmania.stepchart\",\n  smf: \"application/vnd.stardivision.math\",\n  smi: \"application/smil+xml\",\n  smil: \"application/smil+xml\",\n  smv: \"video/x-smv\",\n  smzip: \"application/vnd.stepmania.package\",\n  snd: \"audio/basic\",\n  snf: \"application/x-font-snf\",\n  so: \"application/octet-stream\",\n  spc: \"application/x-pkcs7-certificates\",\n  spdx: \"text/spdx\",\n  spf: \"application/vnd.yamaha.smaf-phrase\",\n  spl: \"application/x-futuresplash\",\n  spot: \"text/vnd.in3d.spot\",\n  spp: \"application/scvp-vp-response\",\n  spq: \"application/scvp-vp-request\",\n  spx: \"audio/ogg\",\n  sql: \"application/x-sql\",\n  src: \"application/x-wais-source\",\n  srt: \"application/x-subrip\",\n  sru: \"application/sru+xml\",\n  srx: \"application/sparql-results+xml\",\n  ssdl: \"application/ssdl+xml\",\n  sse: \"application/vnd.kodak-descriptor\",\n  ssf: \"application/vnd.epson.ssf\",\n  ssml: \"application/ssml+xml\",\n  st: \"application/vnd.sailingtracker.track\",\n  stc: \"application/vnd.sun.xml.calc.template\",\n  std: \"application/vnd.sun.xml.draw.template\",\n  stf: \"application/vnd.wt.stf\",\n  sti: \"application/vnd.sun.xml.impress.template\",\n  stk: \"application/hyperstudio\",\n  stl: \"model/stl\",\n  stpx: \"model/step+xml\",\n  stpxz: \"model/step-xml+zip\",\n  stpz: \"model/step+zip\",\n  str: \"application/vnd.pg.format\",\n  stw: \"application/vnd.sun.xml.writer.template\",\n  styl: \"text/stylus\",\n  stylus: \"text/stylus\",\n  sub: \"text/vnd.dvb.subtitle\",\n  sus: \"application/vnd.sus-calendar\",\n  susp: \"application/vnd.sus-calendar\",\n  sv4cpio: \"application/x-sv4cpio\",\n  sv4crc: \"application/x-sv4crc\",\n  svc: \"application/vnd.dvb.service\",\n  svd: \"application/vnd.svd\",\n  svg: \"image/svg+xml\",\n  svgz: \"image/svg+xml\",\n  swa: \"application/x-director\",\n  swf: \"application/x-shockwave-flash\",\n  swi: \"application/vnd.aristanetworks.swi\",\n  swidtag: \"application/swid+xml\",\n  sxc: \"application/vnd.sun.xml.calc\",\n  sxd: \"application/vnd.sun.xml.draw\",\n  sxg: \"application/vnd.sun.xml.writer.global\",\n  sxi: \"application/vnd.sun.xml.impress\",\n  sxm: \"application/vnd.sun.xml.math\",\n  sxw: \"application/vnd.sun.xml.writer\",\n  t: \"text/troff\",\n  t3: \"application/x-t3vm-image\",\n  t38: \"image/t38\",\n  taglet: \"application/vnd.mynfc\",\n  tao: \"application/vnd.tao.intent-module-archive\",\n  tap: \"image/vnd.tencent.tap\",\n  tar: \"application/x-tar\",\n  tcap: \"application/vnd.3gpp2.tcap\",\n  tcl: \"application/x-tcl\",\n  td: \"application/urc-targetdesc+xml\",\n  teacher: \"application/vnd.smart.teacher\",\n  tei: \"application/tei+xml\",\n  teicorpus: \"application/tei+xml\",\n  tex: \"application/x-tex\",\n  texi: \"application/x-texinfo\",\n  texinfo: \"application/x-texinfo\",\n  text: \"text/plain\",\n  tfi: \"application/thraud+xml\",\n  tfm: \"application/x-tex-tfm\",\n  tfx: \"image/tiff-fx\",\n  tga: \"image/x-tga\",\n  thmx: \"application/vnd.ms-officetheme\",\n  tif: \"image/tiff\",\n  tiff: \"image/tiff\",\n  tk: \"application/x-tcl\",\n  tmo: \"application/vnd.tmobile-livetv\",\n  toml: \"application/toml\",\n  torrent: \"application/x-bittorrent\",\n  tpl: \"application/vnd.groove-tool-template\",\n  tpt: \"application/vnd.trid.tpt\",\n  tr: \"text/troff\",\n  tra: \"application/vnd.trueapp\",\n  trig: \"application/trig\",\n  trm: \"application/x-msterminal\",\n  ts: \"video/mp2t\",\n  tsd: \"application/timestamped-data\",\n  tsv: \"text/tab-separated-values\",\n  ttc: \"font/collection\",\n  ttf: \"font/ttf\",\n  ttl: \"text/turtle\",\n  ttml: \"application/ttml+xml\",\n  twd: \"application/vnd.simtech-mindmapper\",\n  twds: \"application/vnd.simtech-mindmapper\",\n  txd: \"application/vnd.genomatix.tuxedo\",\n  txf: \"application/vnd.mobius.txf\",\n  txt: \"text/plain\",\n  u32: \"application/x-authorware-bin\",\n  u3d: \"model/u3d\",\n  u8dsn: \"message/global-delivery-status\",\n  u8hdr: \"message/global-headers\",\n  u8mdn: \"message/global-disposition-notification\",\n  u8msg: \"message/global\",\n  ubj: \"application/ubjson\",\n  udeb: \"application/x-debian-package\",\n  ufd: \"application/vnd.ufdl\",\n  ufdl: \"application/vnd.ufdl\",\n  ulx: \"application/x-glulx\",\n  umj: \"application/vnd.umajin\",\n  unityweb: \"application/vnd.unity\",\n  uo: \"application/vnd.uoml+xml\",\n  uoml: \"application/vnd.uoml+xml\",\n  uri: \"text/uri-list\",\n  uris: \"text/uri-list\",\n  urls: \"text/uri-list\",\n  usda: \"model/vnd.usda\",\n  usdz: \"model/vnd.usdz+zip\",\n  ustar: \"application/x-ustar\",\n  utz: \"application/vnd.uiq.theme\",\n  uu: \"text/x-uuencode\",\n  uva: \"audio/vnd.dece.audio\",\n  uvd: \"application/vnd.dece.data\",\n  uvf: \"application/vnd.dece.data\",\n  uvg: \"image/vnd.dece.graphic\",\n  uvh: \"video/vnd.dece.hd\",\n  uvi: \"image/vnd.dece.graphic\",\n  uvm: \"video/vnd.dece.mobile\",\n  uvp: \"video/vnd.dece.pd\",\n  uvs: \"video/vnd.dece.sd\",\n  uvt: \"application/vnd.dece.ttml+xml\",\n  uvu: \"video/vnd.uvvu.mp4\",\n  uvv: \"video/vnd.dece.video\",\n  uvva: \"audio/vnd.dece.audio\",\n  uvvd: \"application/vnd.dece.data\",\n  uvvf: \"application/vnd.dece.data\",\n  uvvg: \"image/vnd.dece.graphic\",\n  uvvh: \"video/vnd.dece.hd\",\n  uvvi: \"image/vnd.dece.graphic\",\n  uvvm: \"video/vnd.dece.mobile\",\n  uvvp: \"video/vnd.dece.pd\",\n  uvvs: \"video/vnd.dece.sd\",\n  uvvt: \"application/vnd.dece.ttml+xml\",\n  uvvu: \"video/vnd.uvvu.mp4\",\n  uvvv: \"video/vnd.dece.video\",\n  uvvx: \"application/vnd.dece.unspecified\",\n  uvvz: \"application/vnd.dece.zip\",\n  uvx: \"application/vnd.dece.unspecified\",\n  uvz: \"application/vnd.dece.zip\",\n  vbox: \"application/x-virtualbox-vbox\",\n  \"vbox-extpack\": \"application/x-virtualbox-vbox-extpack\",\n  vcard: \"text/vcard\",\n  vcd: \"application/x-cdlink\",\n  vcf: \"text/x-vcard\",\n  vcg: \"application/vnd.groove-vcard\",\n  vcs: \"text/x-vcalendar\",\n  vcx: \"application/vnd.vcx\",\n  vdi: \"application/x-virtualbox-vdi\",\n  vds: \"model/vnd.sap.vds\",\n  vhd: \"application/x-virtualbox-vhd\",\n  vis: \"application/vnd.visionary\",\n  viv: \"video/vnd.vivo\",\n  vmdk: \"application/x-virtualbox-vmdk\",\n  vob: \"video/x-ms-vob\",\n  vor: \"application/vnd.stardivision.writer\",\n  vox: \"application/x-authorware-bin\",\n  vrml: \"model/vrml\",\n  vsd: \"application/vnd.visio\",\n  vsf: \"application/vnd.vsf\",\n  vss: \"application/vnd.visio\",\n  vst: \"application/vnd.visio\",\n  vsw: \"application/vnd.visio\",\n  vtf: \"image/vnd.valve.source.texture\",\n  vtt: \"text/vtt\",\n  vtu: \"model/vnd.vtu\",\n  vxml: \"application/voicexml+xml\",\n  w3d: \"application/x-director\",\n  wad: \"application/x-doom\",\n  wadl: \"application/vnd.sun.wadl+xml\",\n  war: \"application/java-archive\",\n  wasm: \"application/wasm\",\n  wav: \"audio/x-wav\",\n  wax: \"audio/x-ms-wax\",\n  wbmp: \"image/vnd.wap.wbmp\",\n  wbs: \"application/vnd.criticaltools.wbs+xml\",\n  wbxml: \"application/vnd.wap.wbxml\",\n  wcm: \"application/vnd.ms-works\",\n  wdb: \"application/vnd.ms-works\",\n  wdp: \"image/vnd.ms-photo\",\n  weba: \"audio/webm\",\n  webapp: \"application/x-web-app-manifest+json\",\n  webm: \"video/webm\",\n  webmanifest: \"application/manifest+json\",\n  webp: \"image/webp\",\n  wg: \"application/vnd.pmi.widget\",\n  wgsl: \"text/wgsl\",\n  wgt: \"application/widget\",\n  wif: \"application/watcherinfo+xml\",\n  wks: \"application/vnd.ms-works\",\n  wm: \"video/x-ms-wm\",\n  wma: \"audio/x-ms-wma\",\n  wmd: \"application/x-ms-wmd\",\n  wmf: \"image/wmf\",\n  wml: \"text/vnd.wap.wml\",\n  wmlc: \"application/vnd.wap.wmlc\",\n  wmls: \"text/vnd.wap.wmlscript\",\n  wmlsc: \"application/vnd.wap.wmlscriptc\",\n  wmv: \"video/x-ms-wmv\",\n  wmx: \"video/x-ms-wmx\",\n  wmz: \"application/x-msmetafile\",\n  woff: \"font/woff\",\n  woff2: \"font/woff2\",\n  wpd: \"application/vnd.wordperfect\",\n  wpl: \"application/vnd.ms-wpl\",\n  wps: \"application/vnd.ms-works\",\n  wqd: \"application/vnd.wqd\",\n  wri: \"application/x-mswrite\",\n  wrl: \"model/vrml\",\n  wsc: \"message/vnd.wfa.wsc\",\n  wsdl: \"application/wsdl+xml\",\n  wspolicy: \"application/wspolicy+xml\",\n  wtb: \"application/vnd.webturbo\",\n  wvx: \"video/x-ms-wvx\",\n  x32: \"application/x-authorware-bin\",\n  x3d: \"model/x3d+xml\",\n  x3db: \"model/x3d+fastinfoset\",\n  x3dbz: \"model/x3d+binary\",\n  x3dv: \"model/x3d-vrml\",\n  x3dvz: \"model/x3d+vrml\",\n  x3dz: \"model/x3d+xml\",\n  x_b: \"model/vnd.parasolid.transmit.binary\",\n  x_t: \"model/vnd.parasolid.transmit.text\",\n  xaml: \"application/xaml+xml\",\n  xap: \"application/x-silverlight-app\",\n  xar: \"application/vnd.xara\",\n  xav: \"application/xcap-att+xml\",\n  xbap: \"application/x-ms-xbap\",\n  xbd: \"application/vnd.fujixerox.docuworks.binder\",\n  xbm: \"image/x-xbitmap\",\n  xca: \"application/xcap-caps+xml\",\n  xcs: \"application/calendar+xml\",\n  xdf: \"application/xcap-diff+xml\",\n  xdm: \"application/vnd.syncml.dm+xml\",\n  xdp: \"application/vnd.adobe.xdp+xml\",\n  xdssc: \"application/dssc+xml\",\n  xdw: \"application/vnd.fujixerox.docuworks\",\n  xel: \"application/xcap-el+xml\",\n  xenc: \"application/xenc+xml\",\n  xer: \"application/patch-ops-error+xml\",\n  xfdf: \"application/xfdf\",\n  xfdl: \"application/vnd.xfdl\",\n  xht: \"application/xhtml+xml\",\n  xhtm: \"application/vnd.pwg-xhtml-print+xml\",\n  xhtml: \"application/xhtml+xml\",\n  xhvml: \"application/xv+xml\",\n  xif: \"image/vnd.xiff\",\n  xla: \"application/vnd.ms-excel\",\n  xlam: \"application/vnd.ms-excel.addin.macroenabled.12\",\n  xlc: \"application/vnd.ms-excel\",\n  xlf: \"application/xliff+xml\",\n  xlm: \"application/vnd.ms-excel\",\n  xls: \"application/vnd.ms-excel\",\n  xlsb: \"application/vnd.ms-excel.sheet.binary.macroenabled.12\",\n  xlsm: \"application/vnd.ms-excel.sheet.macroenabled.12\",\n  xlsx: \"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet\",\n  xlt: \"application/vnd.ms-excel\",\n  xltm: \"application/vnd.ms-excel.template.macroenabled.12\",\n  xltx: \"application/vnd.openxmlformats-officedocument.spreadsheetml.template\",\n  xlw: \"application/vnd.ms-excel\",\n  xm: \"audio/xm\",\n  xml: \"text/xml\",\n  xns: \"application/xcap-ns+xml\",\n  xo: \"application/vnd.olpc-sugar\",\n  xop: \"application/xop+xml\",\n  xpi: \"application/x-xpinstall\",\n  xpl: \"application/xproc+xml\",\n  xpm: \"image/x-xpixmap\",\n  xpr: \"application/vnd.is-xpr\",\n  xps: \"application/vnd.ms-xpsdocument\",\n  xpw: \"application/vnd.intercon.formnet\",\n  xpx: \"application/vnd.intercon.formnet\",\n  xsd: \"application/xml\",\n  xsf: \"application/prs.xsf+xml\",\n  xsl: \"application/xslt+xml\",\n  xslt: \"application/xslt+xml\",\n  xsm: \"application/vnd.syncml+xml\",\n  xspf: \"application/xspf+xml\",\n  xul: \"application/vnd.mozilla.xul+xml\",\n  xvm: \"application/xv+xml\",\n  xvml: \"application/xv+xml\",\n  xwd: \"image/x-xwindowdump\",\n  xyz: \"chemical/x-xyz\",\n  xz: \"application/x-xz\",\n  yaml: \"text/yaml\",\n  yang: \"application/yang\",\n  yin: \"application/yin+xml\",\n  yml: \"text/yaml\",\n  ymp: \"text/x-suse-ymp\",\n  z1: \"application/x-zmachine\",\n  z2: \"application/x-zmachine\",\n  z3: \"application/x-zmachine\",\n  z4: \"application/x-zmachine\",\n  z5: \"application/x-zmachine\",\n  z6: \"application/x-zmachine\",\n  z7: \"application/x-zmachine\",\n  z8: \"application/x-zmachine\",\n  zaz: \"application/vnd.zzazz.deck+xml\",\n  zip: \"application/zip\",\n  zir: \"application/vnd.zul\",\n  zirz: \"application/vnd.zul\",\n  zmm: \"application/vnd.handheld-entertainment+xml\",\n};\n"
  },
  {
    "path": "client/src/components/ContentNavigator/types.ts",
    "content": "// Copyright © 2023, SAS Institute Inc., Cary, NC, USA.  All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { FileStat, Uri } from \"vscode\";\n\nexport interface ContentItem {\n  // Data returned from service\n  contentType?: string;\n  creationTimeStamp: number;\n  id: string;\n  links: Link[];\n  memberCount?: number;\n  modifiedTimeStamp: number;\n  name: string;\n  parentFolderUri?: string;\n  type?: string;\n  uri: string;\n  // UI properties inferred from service data\n  contextValue?: string;\n  fileStat?: FileStat;\n  flags?: {\n    isInRecycleBin?: boolean;\n    isInMyFavorites?: boolean;\n    favoriteUri?: string;\n  };\n  isReference?: boolean;\n  permission: Permission;\n  resourceId?: string;\n  typeName?: string;\n  uid?: string;\n  vscUri?: Uri;\n}\n\nexport interface Link {\n  method: string;\n  rel: string;\n  href: string;\n  type: string;\n  uri: string;\n}\n\nexport interface Permission {\n  write: boolean;\n  delete: boolean;\n  addMember: boolean;\n}\n\nexport interface FileManipulationEvent {\n  type: \"create\" | \"recycle\" | \"rename\" | \"delete\" | \"restore\";\n  uri: Uri;\n  newUri?: Uri;\n}\n\nexport type RootFolderMap = { [name: string]: ContentItem };\n\nexport interface AddChildItemProperties {\n  name?: string;\n  contentType?: string;\n  type?: string;\n}\n\nexport interface ContentAdapter {\n  addChildItem: (\n    childItemUri: string | undefined,\n    parentItemUri: string | undefined,\n    properties: AddChildItemProperties,\n  ) => Promise<boolean>;\n  addItemToFavorites: (item: ContentItem) => Promise<boolean>;\n  connect: (baseUrl: string) => Promise<void>;\n  connected: () => boolean;\n  createNewFolder: (\n    parentItem: ContentItem,\n    folderName: string,\n  ) => Promise<ContentItem | undefined>;\n  createNewItem: (\n    parentItem: ContentItem,\n    fileName: string,\n    buffer?: ArrayBufferLike,\n  ) => Promise<ContentItem | undefined>;\n  deleteItem: (item: ContentItem) => Promise<boolean>;\n  getChildItems: (parentItem: ContentItem) => Promise<ContentItem[]>;\n  getContentOfItem: (item: ContentItem) => Promise<string>;\n  getContentOfUri: (uri: Uri) => Promise<string>;\n  getFolderPathForItem: (item: ContentItem) => Promise<string> | string;\n  getItemOfUri: (uri: Uri) => Promise<ContentItem>;\n  getParentOfItem: (item: ContentItem) => Promise<ContentItem | undefined>;\n  getPathOfItem?: (\n    item: ContentItem,\n    folderPathOnly?: boolean,\n  ) => Promise<string>;\n  getRootFolder: (name: string) => ContentItem | undefined;\n  getRootItems: () => Promise<RootFolderMap>;\n  getUriOfItem: (item: ContentItem, readOnly: boolean) => Promise<Uri>;\n  moveItem: (\n    item: ContentItem,\n    targetParentFolderUri: string,\n  ) => Promise<Uri | undefined>;\n  recycleItem?: (item: ContentItem) => Promise<{ newUri?: Uri; oldUri?: Uri }>;\n  removeItemFromFavorites: (item: ContentItem) => Promise<boolean>;\n  renameItem: (\n    item: ContentItem,\n    newName: string,\n  ) => Promise<ContentItem | undefined>;\n  restoreItem?: (item: ContentItem) => Promise<boolean>;\n  updateContentOfItem(uri: Uri, content: string): Promise<void>;\n}\n\nexport enum ContentSourceType {\n  SASContent = \"sasContent\",\n  SASServer = \"sasServer\",\n}\n\nexport interface ContentNavigatorConfig {\n  treeIdentifier: string;\n  mimeType: string;\n  sourceType: ContentSourceType;\n}\n"
  },
  {
    "path": "client/src/components/ContentNavigator/utils.ts",
    "content": "// Copyright © 2023, SAS Institute Inc., Cary, NC, USA.  All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport {\n  FileType,\n  SnippetString,\n  Tab,\n  TabInputNotebook,\n  TabInputText,\n  window,\n} from \"vscode\";\n\nimport { basename } from \"path\";\n\nimport { ProfileWithFileRootOptions } from \"../profile\";\nimport {\n  DEFAULT_FILE_CONTENT_TYPE,\n  FILE_TYPES,\n  FOLDER_TYPE,\n  FOLDER_TYPES,\n  SERVER_HOME_FOLDER_TYPE,\n  TRASH_FOLDER_TYPE,\n} from \"./const\";\nimport mimeTypes from \"./mime-types\";\nimport { ContentItem, Permission } from \"./types\";\n\nexport const isContainer = (item: ContentItem): boolean =>\n  item.fileStat.type === FileType.Directory;\n\nexport const isReference = (item: ContentItem): boolean =>\n  !!item && item?.type === \"reference\";\n\nexport const isValidItem = (item: ContentItem): boolean =>\n  !!item && !!item.id && !!item.name && !!item.links;\n\nexport const isItemInRecycleBin = (item: ContentItem): boolean =>\n  !!item && item.flags?.isInRecycleBin;\n\nexport const isContentItem = (item): item is ContentItem => isValidItem(item);\n\n// A document uses uppercase letters _if_ are no words\n// (where word means gte 3 characters) that are lowercase.\nconst documentUsesUppercase = (documentContent: string) =>\n  documentContent &&\n  !documentContent\n    // Exclude anything in quotes from our calculations\n    .replace(/('|\")([^('|\")]*)('|\")/g, \"\")\n    .match(/([a-z]{3,})\\S/g);\n\nexport const getFileStatement = (\n  contentItemName: string,\n  documentContent: string,\n  fileFolderPath: string,\n): SnippetString => {\n  const usesUppercase = documentUsesUppercase(documentContent);\n  const cmd = \"filename ${1:fileref} filesrvc folderpath='$1' filename='$2';\\n\";\n\n  return new SnippetString(\n    (usesUppercase ? cmd.toUpperCase() : cmd)\n      .replace(\"$1\", fileFolderPath.replace(/'/g, \"''\"))\n      .replace(\"$2\", contentItemName.replace(/'/g, \"''\")),\n  );\n};\n\nexport const getFileContentType = (fileName: string) =>\n  mimeTypes[fileName.split(\".\").pop().toLowerCase()] ||\n  DEFAULT_FILE_CONTENT_TYPE;\n\nexport const createStaticFolder = (\n  folderId: string,\n  name: string,\n  type: string,\n  membersUri: string,\n  membersRel: string = \"members\",\n) => ({\n  id: folderId,\n  name,\n  type: type,\n  uri: folderId,\n  links: [\n    {\n      method: \"GET\",\n      rel: membersRel,\n      href: membersUri,\n      uri: membersUri,\n      type: \"GET\",\n    },\n    {\n      method: \"GET\",\n      rel: \"self\",\n      href: folderId,\n      uri: folderId,\n      type: \"GET\",\n    },\n  ],\n});\n\nexport const convertStaticFolderToContentItem = (\n  staticFolder: ReturnType<typeof createStaticFolder>,\n  permission: Permission,\n): ContentItem => {\n  const item: ContentItem = {\n    ...staticFolder,\n    uid: staticFolder.id,\n    creationTimeStamp: 0,\n    modifiedTimeStamp: 0,\n    permission,\n    fileStat: {\n      ctime: 0,\n      mtime: 0,\n      size: 0,\n      type: FileType.Directory,\n    },\n  };\n  item.typeName = staticFolder.type;\n  return item;\n};\n\nexport const getEditorTabsForItem = (item: ContentItem) => {\n  const fileUri = item.vscUri;\n  const tabs: Tab[] = window.tabGroups.all.map((tg) => tg.tabs).flat();\n  return tabs.filter(\n    (tab) =>\n      (tab.input instanceof TabInputText ||\n        tab.input instanceof TabInputNotebook) &&\n      tab.input.uri.query.includes(fileUri.query), // compare the file id\n  );\n};\n\nexport const sortedContentItems = (items: ContentItem[]) =>\n  items.sort((a, b) => {\n    const aIsDirectory = a.fileStat?.type === FileType.Directory;\n    const bIsDirectory = b.fileStat?.type === FileType.Directory;\n    if (aIsDirectory && !bIsDirectory) {\n      return -1;\n    } else if (!aIsDirectory && bIsDirectory) {\n      return 1;\n    } else {\n      return a.name.localeCompare(b.name);\n    }\n  });\n\nexport const homeDirectoryName = (\n  fileNavigationRoot: ProfileWithFileRootOptions[\"fileNavigationRoot\"],\n  fileNavigationCustomRootPath: ProfileWithFileRootOptions[\"fileNavigationCustomRootPath\"],\n): string => {\n  const defaultName = \"Home\";\n  if (fileNavigationRoot !== \"CUSTOM\" || !fileNavigationCustomRootPath) {\n    return defaultName;\n  }\n\n  return basename(fileNavigationCustomRootPath) || defaultName;\n};\n\nexport const homeDirectoryNameAndType = (\n  fileNavigationRoot: ProfileWithFileRootOptions[\"fileNavigationRoot\"],\n  fileNavigationCustomRootPath: ProfileWithFileRootOptions[\"fileNavigationCustomRootPath\"],\n): [string, string] => {\n  const directoryName = homeDirectoryName(\n    fileNavigationRoot,\n    fileNavigationCustomRootPath,\n  );\n  if (directoryName === \"Home\") {\n    return [directoryName, SERVER_HOME_FOLDER_TYPE];\n  }\n\n  return [directoryName, FOLDER_TYPE];\n};\n\nexport const getTypeName = (item: ContentItem): string =>\n  item.contentType || item.type;\n\nexport const isRootFolder = (item: ContentItem, bStrict?: boolean): boolean => {\n  const typeName = item.typeName;\n  if (!bStrict && isItemInRecycleBin(item) && isReference(item)) {\n    return false;\n  }\n  if (FOLDER_TYPES.indexOf(typeName) >= 0) {\n    return true;\n  }\n  return false;\n};\n\nexport enum ContextMenuAction {\n  CreateChild = \"createChild\", // Create a new folder _under_ the current one\n  Delete = \"delete\", // The item can be deleted\n  Update = \"update\", // The item can be updated/edited/renamed\n  Restore = \"restore\", // The item can be restored\n  CopyPath = \"copyPath\", // The item path can be copied\n  Empty = \"empty\", // Whether or not children can be deleted permanently (for the recycling bin)\n  AddToFavorites = \"addToFavorites\", // Item can be added to favorites\n  RemoveFromFavorites = \"removeFromFavorites\", // Item can be removed from favorites\n  ConvertNotebookToFlow = \"convertNotebookToFlow\", // Allows sasnb files to be converted to flows\n  AllowDownload = \"allowDownload\", // Allows downloading files / folders\n}\nexport class ContextMenuProvider {\n  constructor(\n    protected readonly validContextMenuActions: ContextMenuAction[],\n    protected readonly enablementOverrides: Partial<\n      Record<ContextMenuAction, (item: ContentItem) => boolean>\n    > = {},\n  ) {}\n\n  public availableActions(item: ContentItem): string {\n    if (!isValidItem(item)) {\n      return \"\";\n    }\n\n    const { write, delete: canDelete, addMember } = item.permission;\n    const isRecycled = isItemInRecycleBin(item);\n    const type = getTypeName(item);\n\n    const menuActionEnablement = {\n      [ContextMenuAction.CreateChild]: () => addMember && !isRecycled,\n      [ContextMenuAction.Delete]: () =>\n        canDelete && !item.flags?.isInMyFavorites,\n      [ContextMenuAction.Update]: () => write && !isRecycled,\n      [ContextMenuAction.Restore]: () => write && isRecycled,\n      [ContextMenuAction.CopyPath]: () => (addMember || write) && !isRecycled,\n      [ContextMenuAction.Empty]: () =>\n        type === TRASH_FOLDER_TYPE && !!item?.memberCount,\n      [ContextMenuAction.AddToFavorites]: () =>\n        !item.flags?.isInMyFavorites &&\n        item.type !== \"reference\" &&\n        [FOLDER_TYPE, ...FILE_TYPES].includes(type) &&\n        !isRecycled,\n      [ContextMenuAction.RemoveFromFavorites]: () =>\n        item.flags?.isInMyFavorites,\n      [ContextMenuAction.ConvertNotebookToFlow]: () =>\n        item?.name?.endsWith(\".sasnb\"),\n      [ContextMenuAction.AllowDownload]: () => !isRootFolder(item),\n      ...(this.enablementOverrides || {}),\n    };\n\n    const actions = Object.keys(menuActionEnablement)\n      .filter((key: ContextMenuAction) =>\n        this.validContextMenuActions.includes(key),\n      )\n      .filter((key) => menuActionEnablement[key](item))\n      .map((key) => key);\n\n    return actions.sort().join(\"-\");\n  }\n}\n"
  },
  {
    "path": "client/src/components/ExtensionContext.ts",
    "content": "// Copyright © 2023, SAS Institute Inc., Cary, NC, USA.  All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { ExtensionContext, Uri } from \"vscode\";\n\nlet context: ExtensionContext;\n\nexport function setContext(c: ExtensionContext) {\n  context = c;\n}\n\n/**\n * Set an extension context value.\n */\nexport async function setContextValue(\n  key: string,\n  value: string,\n): Promise<void> {\n  context.workspaceState.update(key, value);\n}\n\n/**\n * Get an extension context value.\n */\nexport async function getContextValue(\n  key: string,\n): Promise<string | undefined> {\n  return context.workspaceState.get(key);\n}\n\nexport function getGlobalStorageUri(): Uri {\n  return context.globalStorageUri;\n}\n\nexport function getSecretStorage<T = string>(namespace: string) {\n  const getNamespaceData = async (): Promise<Record<string, T> | undefined> => {\n    const storedSessionData = await context.secrets.get(namespace);\n    if (!storedSessionData) {\n      return;\n    }\n\n    return JSON.parse(storedSessionData);\n  };\n  const setNamespaceData = async (data: Record<string, T>) => {\n    await context.secrets.store(namespace, JSON.stringify(data));\n  };\n\n  const get = async (key: string): Promise<T | undefined> => {\n    const data = await getNamespaceData();\n    if (!data) {\n      return;\n    }\n\n    return data[key];\n  };\n\n  const store = async (key: string, value: T) => {\n    const data = await getNamespaceData();\n    const newData = {\n      ...(data || {}),\n      [key]: value,\n    };\n    await context.secrets.store(namespace, JSON.stringify(newData));\n  };\n\n  return { setNamespaceData, getNamespaceData, get, store };\n}\n"
  },
  {
    "path": "client/src/components/LibraryNavigator/LibraryAdapterFactory.ts",
    "content": "// Copyright © 2024, SAS Institute Inc., Cary, NC, USA.  All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport ItcLibraryAdapter from \"../../connection/itc/ItcLibraryAdapter\";\nimport RestLibraryAdapter from \"../../connection/rest/RestLibraryAdapter\";\nimport { ConnectionType } from \"../profile\";\nimport { LibraryAdapter } from \"./types\";\n\nclass LibraryAdapterFactory {\n  public create(connectionType: ConnectionType): LibraryAdapter {\n    switch (connectionType) {\n      case ConnectionType.IOM:\n      case ConnectionType.COM:\n        return new ItcLibraryAdapter();\n      case ConnectionType.Rest:\n      default:\n        return new RestLibraryAdapter();\n    }\n  }\n}\n\nexport default LibraryAdapterFactory;\n"
  },
  {
    "path": "client/src/components/LibraryNavigator/LibraryDataProvider.ts",
    "content": "// Copyright © 2023, SAS Institute Inc., Cary, NC, USA.  All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport {\n  CancellationToken,\n  DataTransfer,\n  DataTransferItem,\n  Disposable,\n  DocumentDropEdit,\n  DocumentSelector,\n  Event,\n  EventEmitter,\n  Position,\n  ProviderResult,\n  TextDocument,\n  TreeDataProvider,\n  TreeDragAndDropController,\n  TreeItem,\n  TreeItemCollapsibleState,\n  TreeView,\n  Uri,\n  languages,\n  window,\n} from \"vscode\";\n\nimport { Writable } from \"stream\";\n\nimport { registerAPI } from \"../APIProvider\";\nimport { SubscriptionProvider } from \"../SubscriptionProvider\";\nimport LibraryModel from \"./LibraryModel\";\nimport { Icons, Messages, WorkLibraryId } from \"./const\";\nimport { LibraryAdapter, LibraryItem, LibraryType, TableType } from \"./types\";\n\nexport const libraryItemMimeType =\n  \"application/vnd.code.tree.librarydataprovider\";\nconst tableTextMimeType = `${libraryItemMimeType}.text`;\nclass LibraryDataProvider\n  implements\n    TreeDataProvider<LibraryItem>,\n    TreeDragAndDropController<LibraryItem>,\n    SubscriptionProvider\n{\n  private _onDidChangeTreeData = new EventEmitter<LibraryItem | undefined>();\n  private _treeView: TreeView<LibraryItem>;\n  private _dropEditProvider: Disposable;\n\n  public dropMimeTypes: string[] = [];\n  public dragMimeTypes: string[] = [libraryItemMimeType, tableTextMimeType];\n\n  get onDidChangeTreeData(): Event<LibraryItem> {\n    return this._onDidChangeTreeData.event;\n  }\n\n  get treeView(): TreeView<LibraryItem> {\n    return this._treeView;\n  }\n\n  constructor(\n    private readonly model: LibraryModel,\n    private readonly extensionUri: Uri,\n  ) {\n    this._treeView = window.createTreeView(\"librarydataprovider\", {\n      treeDataProvider: this,\n      dragAndDropController: this,\n      canSelectMany: true,\n    });\n    this._dropEditProvider = languages.registerDocumentDropEditProvider(\n      this.selector(),\n      this,\n    );\n    registerAPI(\"getColumns\", model.fetchColumns.bind(model));\n    registerAPI(\"getTables\", model.getTables.bind(model));\n    registerAPI(\"getLibraries\", model.getLibraries.bind(model));\n    registerAPI(\"getTableInfo\", model.getTableInfo.bind(model));\n  }\n\n  public getSubscriptions(): Disposable[] {\n    return [this._treeView, this._dropEditProvider];\n  }\n\n  public handleDrag(\n    source: LibraryItem[],\n    dataTransfer: DataTransfer,\n  ): void | Thenable<void> {\n    const dataTransferItem = new DataTransferItem(source);\n    dataTransfer.set(libraryItemMimeType, dataTransferItem);\n    if (source?.[0].library) {\n      dataTransfer.set(\n        tableTextMimeType,\n        new DataTransferItem(source?.[0].uid),\n      );\n    }\n  }\n\n  public async provideDocumentDropEdits(\n    _document: TextDocument,\n    position: Position,\n    dataTransfer: DataTransfer,\n    token: CancellationToken,\n  ): Promise<DocumentDropEdit | undefined> {\n    const dataTransferItem = dataTransfer.get(this.dragMimeTypes[1]);\n    if (token.isCancellationRequested || !dataTransferItem) {\n      return undefined;\n    }\n\n    return { insertText: dataTransferItem.value };\n  }\n\n  public selector(): DocumentSelector {\n    return { language: \"sas\" };\n  }\n\n  public getTreeItem(item: LibraryItem): TreeItem | Promise<TreeItem> {\n    const iconPath = this.iconPathForItem(item);\n    return {\n      id: item.uid,\n      iconPath: iconPath\n        ? {\n            light: Uri.joinPath(this.extensionUri, iconPath.light),\n            dark: Uri.joinPath(this.extensionUri, iconPath.dark),\n          }\n        : undefined,\n      label: item.name,\n      contextValue: `${item.type}-${item.readOnly ? \"readonly\" : \"actionable\"}`,\n      collapsibleState:\n        item.type === LibraryType\n          ? TreeItemCollapsibleState.Collapsed\n          : TreeItemCollapsibleState.None,\n      command:\n        item.type === TableType\n          ? {\n              command: \"SAS.viewTable\",\n              arguments: [\n                item,\n                this.model.getTableResultSet(item),\n                () => this.model.fetchColumns(item),\n              ],\n              title: Messages.ViewTableCommandTitle,\n            }\n          : undefined,\n    };\n  }\n\n  private iconPathForItem(\n    item: LibraryItem,\n  ): { light: string; dark: string } | undefined {\n    switch (item.type) {\n      case TableType:\n        return Icons.DataSet;\n      case LibraryType:\n        if (item.id === WorkLibraryId) {\n          return Icons.WorkLibrary;\n        }\n\n        if (item.readOnly) {\n          return Icons.ReadOnlyLibrary;\n        }\n\n        return Icons.Library;\n      default:\n        return;\n    }\n  }\n\n  public getChildren(item?: LibraryItem): ProviderResult<LibraryItem[]> {\n    return this.model.getChildren(item);\n  }\n\n  public writeTableContentsToStream(stream: Writable, item: LibraryItem) {\n    return this.model.writeTableContentsToStream(stream, item);\n  }\n\n  public async deleteTables(items: LibraryItem[]): Promise<void> {\n    await this.model.deleteTables(items);\n    this._onDidChangeTreeData.fire(undefined);\n  }\n\n  public watch(): Disposable {\n    // ignore, fires for all changes...\n    return new Disposable(() => {});\n  }\n\n  public useAdapter(libraryAdapter: LibraryAdapter): void {\n    this.model.useAdapter(libraryAdapter);\n    this._onDidChangeTreeData.fire(undefined);\n  }\n\n  public async getTableInfo(item: LibraryItem) {\n    return await this.model.getTableInfo(item);\n  }\n\n  public async fetchColumns(item: LibraryItem) {\n    return await this.model.fetchColumns(item);\n  }\n}\n\nexport default LibraryDataProvider;\n"
  },
  {
    "path": "client/src/components/LibraryNavigator/LibraryModel.ts",
    "content": "// Copyright © 2024, SAS Institute Inc., Cary, NC, USA.  All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { ProgressLocation, l10n, window } from \"vscode\";\n\nimport type { SortModelItem } from \"ag-grid-community\";\nimport { Writable } from \"stream\";\n\nimport PaginatedResultSet from \"./PaginatedResultSet\";\nimport { DefaultRecordLimit, Messages } from \"./const\";\nimport {\n  LibraryAdapter,\n  LibraryItem,\n  LibraryItemType,\n  TableData,\n  TableQuery,\n  TableRow,\n} from \"./types\";\n\nconst sortById = (a: LibraryItem, b: LibraryItem) => a.id.localeCompare(b.id);\n\nclass LibraryModel {\n  public constructor(protected libraryAdapter: LibraryAdapter | undefined) {}\n\n  public useAdapter(adapter: LibraryAdapter): void {\n    this.libraryAdapter = adapter;\n  }\n\n  public getTableResultSet(\n    item: LibraryItem,\n  ): PaginatedResultSet<{ data: TableData; error?: Error }> {\n    return new PaginatedResultSet<{ data: TableData; error?: Error }>(\n      async (\n        start: number,\n        end: number,\n        sortModel: SortModelItem[],\n        query: TableQuery | undefined,\n      ) => {\n        await this.libraryAdapter.setup();\n        const limit = end - start + 1;\n        try {\n          return {\n            data: await this.libraryAdapter.getRows(\n              item,\n              start,\n              limit,\n              sortModel,\n              query,\n            ),\n          };\n        } catch (e) {\n          return { error: e, data: { rows: [], count: 0 } };\n        }\n      },\n    );\n  }\n\n  public async writeTableContentsToStream(\n    fileStream: Writable,\n    item: LibraryItem,\n  ) {\n    await this.libraryAdapter.setup();\n    let offset = 0;\n    const { rowCount: totalItemCount, maxNumberOfRowsToRead: limit } =\n      await this.libraryAdapter.getTableRowCount(item);\n    let hasWrittenHeader: boolean = false;\n    const stringArrayToCsvString = (strings: string[]): string =>\n      `\"${strings\n        .map((item: string | number) =>\n          (item ?? \"\").toString().replace(/\"/g, '\"\"'),\n        )\n        .join('\",\"')}\"`;\n\n    await window.withProgress(\n      {\n        location: ProgressLocation.Notification,\n        title: l10n.t(\"Saving {itemName}.\", {\n          itemName: `${item.library}.${item.name}`,\n        }),\n        cancellable: true,\n      },\n      async (_progress, cancellationToken) => {\n        cancellationToken.onCancellationRequested(() => {\n          fileStream.destroy();\n          return;\n        });\n        do {\n          const data = await this.libraryAdapter.getRowsAsCSV(\n            item,\n            offset,\n            limit,\n          );\n\n          const headers = data.rows.shift();\n          if (!hasWrittenHeader) {\n            fileStream.write(stringArrayToCsvString(headers.columns));\n            hasWrittenHeader = true;\n          }\n\n          data.rows.forEach((item: TableRow) =>\n            fileStream.write(\"\\n\" + stringArrayToCsvString(item.cells)),\n          );\n\n          offset += limit;\n        } while (offset < totalItemCount);\n\n        fileStream.end();\n      },\n    );\n  }\n\n  public async fetchColumns(item: LibraryItem) {\n    await this.libraryAdapter.setup();\n    let offset = 0;\n    let items = [];\n    let totalItemCount = Infinity;\n    do {\n      const data = await this.libraryAdapter.getColumns(\n        item,\n        offset,\n        DefaultRecordLimit,\n      );\n\n      items = [...items, ...data.items];\n      totalItemCount = data.count;\n      offset += DefaultRecordLimit;\n    } while (offset < totalItemCount && totalItemCount !== -1);\n\n    return items;\n  }\n\n  public async deleteTables(items: LibraryItem[]) {\n    const failures: string[] = [];\n\n    for (const item of items) {\n      try {\n        await this.libraryAdapter.deleteTable(item);\n      } catch {\n        failures.push(item.uid);\n      }\n    }\n\n    if (failures.length > 0) {\n      throw new Error(\n        l10n.t(Messages.TableDeletionError, { tableName: failures.join(\", \") }),\n      );\n    }\n  }\n\n  public async getTableInfo(item: LibraryItem) {\n    if (this.libraryAdapter.getTableInfo) {\n      await this.libraryAdapter.setup();\n      return await this.libraryAdapter.getTableInfo(item);\n    }\n    throw new Error(\"Table properties not supported for this connection type\");\n  }\n\n  public async getChildren(item?: LibraryItem): Promise<LibraryItem[]> {\n    if (!this.libraryAdapter) {\n      return [];\n    }\n    if (!item) {\n      return await this.getLibraries();\n    }\n\n    return await this.getTables(item);\n  }\n\n  public async getLibraries(): Promise<LibraryItem[]> {\n    await this.libraryAdapter.setup();\n\n    let offset = 0;\n    let items = [];\n    let totalItemCount = Infinity;\n    do {\n      const data = await this.libraryAdapter.getLibraries(\n        offset,\n        DefaultRecordLimit,\n      );\n\n      items = [...items, ...data.items];\n      totalItemCount = data.count;\n      offset += DefaultRecordLimit;\n    } while (offset < totalItemCount && totalItemCount !== -1);\n\n    items.sort(sortById);\n\n    return this.processItems(items, \"library\", undefined);\n  }\n\n  public async getTables(item: LibraryItem): Promise<LibraryItem[]> {\n    await this.libraryAdapter.setup();\n\n    let offset = 0;\n    let items = [];\n    let totalItemCount = Infinity;\n    do {\n      const data = await this.libraryAdapter.getTables(\n        item,\n        offset,\n        DefaultRecordLimit,\n      );\n      items = [...items, ...data.items];\n      totalItemCount = data.count;\n      offset += DefaultRecordLimit;\n    } while (offset < totalItemCount && totalItemCount !== -1);\n\n    return this.processItems(items, \"table\", item);\n  }\n\n  private processItems(\n    items: LibraryItem[],\n    type: LibraryItemType,\n    library: LibraryItem | undefined,\n  ): LibraryItem[] {\n    return items\n      .map(\n        (libraryItem: LibraryItem): LibraryItem => ({\n          ...libraryItem,\n          uid: `${library?.id || \"\"}.${libraryItem.id}`,\n          library: library?.id,\n          readOnly:\n            libraryItem.readOnly !== undefined\n              ? libraryItem.readOnly\n              : library?.readOnly || false,\n          type,\n        }),\n      )\n      .sort(sortById);\n  }\n}\n\nexport default LibraryModel;\n"
  },
  {
    "path": "client/src/components/LibraryNavigator/PaginatedResultSet.ts",
    "content": "// Copyright © 2023, SAS Institute Inc., Cary, NC, USA.  All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport type { SortModelItem } from \"ag-grid-community\";\n\nimport { TableQuery } from \"./types\";\n\nclass PaginatedResultSet<T> {\n  constructor(\n    protected readonly queryForData: PaginatedResultSet<T>[\"getData\"],\n  ) {}\n\n  public async getData(\n    start: number,\n    end: number,\n    sortModel: SortModelItem[],\n    query: TableQuery | undefined,\n  ): Promise<T> {\n    return await this.queryForData(start, end, sortModel, query);\n  }\n}\n\nexport default PaginatedResultSet;\n"
  },
  {
    "path": "client/src/components/LibraryNavigator/const.ts",
    "content": "// Copyright © 2023, SAS Institute Inc., Cary, NC, USA.  All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { l10n } from \"vscode\";\n\nexport const Messages = {\n  TableDeletionError: l10n.t(\"Unable to delete table {tableName}.\"),\n  TablesDeletionWarning: l10n.t(\n    \"Are you sure you want to delete the selected tables?\",\n  ),\n  ViewTableCommandTitle: l10n.t(\"View SAS Table\"),\n};\n\nexport const Icons = {\n  DataSet: {\n    light: \"icons/light/sasDataSetLight.svg\",\n    dark: \"icons/dark/sasDataSetDark.svg\",\n  },\n  ReadOnlyLibrary: {\n    light: \"icons/light/readOnlyLibraryLight.svg\",\n    dark: \"icons/dark/readOnlyLibraryDark.svg\",\n  },\n  Library: {\n    light: \"icons/light/libraryLight.svg\",\n    dark: \"icons/dark/libraryDark.svg\",\n  },\n  WorkLibrary: {\n    light: \"icons/light/workLibraryLight.svg\",\n    dark: \"icons/dark/workLibraryDark.svg\",\n  },\n};\n\nexport const DefaultRecordLimit = 100;\nexport const WorkLibraryId = \"WORK\";\n"
  },
  {
    "path": "client/src/components/LibraryNavigator/index.ts",
    "content": "// Copyright © 2023, SAS Institute Inc., Cary, NC, USA.  All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport {\n  ConfigurationChangeEvent,\n  Disposable,\n  ExtensionContext,\n  Uri,\n  commands,\n  env,\n  l10n,\n  window,\n  workspace,\n} from \"vscode\";\n\nimport { createWriteStream } from \"fs\";\nimport * as path from \"path\";\n\nimport { profileConfig } from \"../../commands/profile\";\nimport { Column } from \"../../connection/rest/api/compute\";\nimport DataViewer from \"../../panels/DataViewer\";\nimport TablePropertiesViewer from \"../../panels/TablePropertiesViewer\";\nimport { WebViewManager } from \"../../panels/WebviewManager\";\nimport { SubscriptionProvider } from \"../SubscriptionProvider\";\nimport { treeViewSelections } from \"../utils/treeViewSelections\";\nimport LibraryAdapterFactory from \"./LibraryAdapterFactory\";\nimport LibraryDataProvider from \"./LibraryDataProvider\";\nimport LibraryModel from \"./LibraryModel\";\nimport PaginatedResultSet from \"./PaginatedResultSet\";\nimport { Messages } from \"./const\";\nimport { LibraryAdapter, LibraryItem, TableData } from \"./types\";\n\nclass LibraryNavigator implements SubscriptionProvider {\n  private libraryDataProvider: LibraryDataProvider;\n  private extensionUri: Uri;\n  private webviewManager: WebViewManager;\n\n  constructor(context: ExtensionContext) {\n    this.extensionUri = context.extensionUri;\n    this.libraryDataProvider = new LibraryDataProvider(\n      new LibraryModel(this.libraryAdapterForConnectionType()),\n      context.extensionUri,\n    );\n    this.webviewManager = new WebViewManager();\n  }\n\n  public getSubscriptions(): Disposable[] {\n    return [\n      ...this.libraryDataProvider.getSubscriptions(),\n      commands.registerCommand(\n        \"SAS.viewTable\",\n        async (\n          item: LibraryItem,\n          paginator: PaginatedResultSet<{ data: TableData; error?: Error }>,\n          fetchColumns: () => Column[],\n        ) => {\n          this.webviewManager.render(\n            new DataViewer(\n              this.extensionUri,\n              item.uid,\n              paginator,\n              fetchColumns,\n              (columnName: string) => {\n                this.displayTableProperties(item, true, columnName);\n              },\n            ),\n            item.uid,\n          );\n        },\n      ),\n      commands.registerCommand(\"SAS.refreshLibraries\", () => this.refresh()),\n      commands.registerCommand(\"SAS.deleteTable\", async (item: LibraryItem) => {\n        const selectedItems = treeViewSelections(\n          this.libraryDataProvider.treeView,\n          item,\n        );\n\n        if (selectedItems.length === 0) {\n          return;\n        }\n\n        const result = await window.showWarningMessage(\n          l10n.t(Messages.TablesDeletionWarning),\n          { modal: true },\n          \"Delete\",\n        );\n\n        if (result !== \"Delete\") {\n          return;\n        }\n\n        try {\n          await this.libraryDataProvider.deleteTables(selectedItems);\n        } catch (error) {\n          window.showErrorMessage(error.message);\n        }\n      }),\n      commands.registerCommand(\n        \"SAS.downloadTable\",\n        async (item: LibraryItem) => {\n          let dataFilePath: string = \"\";\n          if (\n            env.remoteName !== undefined &&\n            workspace.workspaceFolders &&\n            workspace.workspaceFolders.length > 0\n          ) {\n            // start from 'rootPath' workspace folder\n            dataFilePath = workspace.workspaceFolders[0].uri.fsPath;\n          }\n          dataFilePath = path.join(\n            dataFilePath,\n            `${item.library}.${item.name}.csv`.toLocaleLowerCase(),\n          );\n\n          // display save file dialog\n          const uri = await window.showSaveDialog({\n            defaultUri: Uri.file(dataFilePath),\n          });\n\n          if (!uri) {\n            return;\n          }\n\n          const stream = createWriteStream(uri.fsPath);\n          await this.libraryDataProvider.writeTableContentsToStream(\n            stream,\n            item,\n          );\n        },\n      ),\n      commands.registerCommand(\n        \"SAS.showTableProperties\",\n        async (item: LibraryItem) => {\n          await this.displayTableProperties(item);\n        },\n      ),\n      commands.registerCommand(\"SAS.collapseAllLibraries\", () => {\n        commands.executeCommand(\n          \"workbench.actions.treeView.librarydataprovider.collapseAll\",\n        );\n      }),\n      workspace.onDidChangeConfiguration((event: ConfigurationChangeEvent) => {\n        if (event.affectsConfiguration(\"SAS.connectionProfiles\")) {\n          this.refresh();\n        }\n      }),\n    ];\n  }\n\n  public async refresh(): Promise<void> {\n    this.libraryDataProvider.useAdapter(this.libraryAdapterForConnectionType());\n  }\n\n  private async displayTableProperties(\n    item: LibraryItem,\n    showPropertiesTab: boolean = false,\n    focusedColumn?: string,\n  ) {\n    try {\n      const tableInfo = await this.libraryDataProvider.getTableInfo(item);\n      const columns = await this.libraryDataProvider.fetchColumns(item);\n\n      this.webviewManager.render(\n        new TablePropertiesViewer(\n          this.extensionUri,\n          item.uid,\n          tableInfo,\n          columns,\n          showPropertiesTab,\n          focusedColumn,\n        ),\n        `properties-${item.uid}`,\n        true,\n      );\n    } catch (error) {\n      window.showErrorMessage(\n        `Failed to load table properties: ${error.message}`,\n      );\n    }\n  }\n\n  private libraryAdapterForConnectionType(): LibraryAdapter | undefined {\n    const activeProfile = profileConfig.getProfileByName(\n      profileConfig.getActiveProfile(),\n    );\n\n    if (!activeProfile) {\n      return;\n    }\n\n    return new LibraryAdapterFactory().create(activeProfile.connectionType);\n  }\n}\n\nexport default LibraryNavigator;\n"
  },
  {
    "path": "client/src/components/LibraryNavigator/types.ts",
    "content": "// Copyright © 2023, SAS Institute Inc., Cary, NC, USA.  All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport type { SortModelItem } from \"ag-grid-community\";\n\nimport { ColumnCollection, TableInfo } from \"../../connection/rest/api/compute\";\n\nexport const LibraryType = \"library\";\nexport const TableType = \"table\";\nexport type LibraryItemType = \"library\" | \"table\";\nexport interface LibraryItem {\n  uid: string;\n  id: string;\n  name: string;\n  type: LibraryItemType;\n  library?: string;\n  readOnly: boolean;\n}\n\nexport interface TableRow {\n  cells?: string[];\n  columns?: string[];\n}\n\nexport interface TableData {\n  rows: TableRow[];\n  count: number;\n}\n\nexport interface TableQuery {\n  filterValue: string;\n}\n\nexport interface LibraryAdapter {\n  connect(): Promise<void>;\n  deleteTable(item: LibraryItem): Promise<void>;\n  getColumns(\n    item: LibraryItem,\n    start: number,\n    limit: number,\n  ): Promise<ColumnCollection>;\n  getLibraries(\n    start: number,\n    limit: number,\n  ): Promise<{\n    items: LibraryItem[];\n    count: number;\n  }>;\n  getRows(\n    item: LibraryItem,\n    start: number,\n    limit: number,\n    sortModel: SortModelItem[],\n    query: TableQuery | undefined,\n  ): Promise<TableData>;\n  getRowsAsCSV(\n    item: LibraryItem,\n    start: number,\n    limit: number,\n  ): Promise<TableData>;\n  getTableRowCount(\n    item: LibraryItem,\n  ): Promise<{ rowCount: number; maxNumberOfRowsToRead: number }>;\n  getTables(\n    item: LibraryItem,\n    start: number,\n    limit: number,\n  ): Promise<{\n    items: LibraryItem[];\n    count: number;\n  }>;\n  getTableInfo?(item: LibraryItem): Promise<TableInfo>;\n  setup(): Promise<void>;\n}\n"
  },
  {
    "path": "client/src/components/ResultPanel/ResultPanel.ts",
    "content": "// Copyright © 2023, SAS Institute Inc., Cary, NC, USA.  All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { Uri, ViewColumn, WebviewPanel, l10n, window } from \"vscode\";\n\nimport { v4 } from \"uuid\";\n\nimport { getContextValue, setContextValue } from \"../ExtensionContext\";\nimport { isSideResultEnabled, isSinglePanelEnabled } from \"../utils/settings\";\n\nconst SCRIPT_REGEX = /<script\\b[^<]*(?:(?!<\\/script>)<[^<]*)*<\\/script>/gi;\nexport const SAS_RESULT_PANEL = \"SASResultPanel\";\n\ninterface ResultPanelState {\n  panelId: string;\n}\n\ninterface IdentifiableWebviewPanel {\n  webviewPanel: WebviewPanel;\n  panelId: string;\n}\n\nlet resultPanel: IdentifiableWebviewPanel | undefined;\n\nexport const showResult = (html: string, uri?: Uri, title?: string) => {\n  const sideResult = isSideResultEnabled();\n  const singlePanel = isSinglePanelEnabled();\n  let panelId: string;\n\n  if (!title) {\n    title = l10n.t(\"Result\");\n  }\n\n  if (!singlePanel || !resultPanel) {\n    panelId = `${v4()}`;\n    const webviewPanel = window.createWebviewPanel(\n      SAS_RESULT_PANEL, // Identifies the type of the webview. Used internally\n      title, // Title of the panel displayed to the user\n      {\n        preserveFocus: true,\n        viewColumn: sideResult ? ViewColumn.Beside : ViewColumn.Active,\n      }, // Editor column to show the new webview panel in.\n      {\n        enableScripts: true,\n        enableFindWidget: true,\n      }, // Webview options.\n    );\n    webviewPanel.onDidDispose(() => disposePanel(panelId));\n    resultPanel = { webviewPanel, panelId };\n  } else {\n    const editor = uri\n      ? window.visibleTextEditors.find(\n          (editor) => editor.document.uri.toString() === uri.toString(),\n        )\n      : window.activeTextEditor;\n    if (resultPanel.webviewPanel.title !== title) {\n      resultPanel.webviewPanel.title = title;\n    }\n    panelId = resultPanel.panelId;\n    resultPanel.webviewPanel.reveal(\n      sideResult ? ViewColumn.Beside : editor?.viewColumn,\n      true,\n    );\n  }\n\n  const panelHtml = wrapPanelHtml(html, panelId);\n  resultPanel.webviewPanel.webview.html = panelHtml;\n  setContextValue(resultPanel.panelId, panelHtml);\n};\n\nconst wrapPanelHtml = (html: string, panelId: string): string => {\n  return (\n    html\n      // Inject vscode context into our results html body\n      .replace(\n        \"<body \",\n        `<body data-vscode-context='${JSON.stringify({\n          preventDefaultContextMenuItems: true,\n          panelId,\n        })}' `,\n      )\n      // Make sure the html and body take up the full height of the parent\n      // iframe so that the context menu is clickable anywhere on the page\n      .replace(\n        \"</head>\",\n        `<script language=\"javascript\">\n          if(acquireVsCodeApi){\n            const vscode = acquireVsCodeApi();\n            const panelId = '${panelId}'\n            vscode.setState({panelId});\n          }\n         </script>\n         <style>html,body { height: 100% !important; }</style></head>`,\n      )\n  );\n};\n\nexport const deserializeWebviewPanel = async (\n  webviewPanel: WebviewPanel,\n  state: ResultPanelState,\n): Promise<void> => {\n  const panelHtml: string = await getContextValue(state.panelId);\n  resultPanel = { panelId: state.panelId, webviewPanel: webviewPanel };\n  webviewPanel.webview.html = panelHtml;\n  webviewPanel.onDidDispose(() => disposePanel(state.panelId));\n};\n\nexport const fetchHtmlFor = async (panelId: string) => {\n  let panelHtml: string = \"\";\n  panelHtml = await getContextValue(panelId);\n  panelHtml = panelHtml.replace(SCRIPT_REGEX, \"\");\n\n  return panelHtml;\n};\n\nconst disposePanel = (id: string) => {\n  resultPanel = undefined;\n  setContextValue(id, undefined);\n};\n"
  },
  {
    "path": "client/src/components/ResultPanel/ResultPanelSubscriptionProvider.ts",
    "content": "// Copyright © 2024, SAS Institute Inc., Cary, NC, USA.  All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { Disposable, Uri, commands, window, workspace } from \"vscode\";\n\nimport { SubscriptionProvider } from \"../SubscriptionProvider\";\nimport { fetchHtmlFor } from \"./ResultPanel\";\n\ninterface ResultPanelContext {\n  webview: string;\n  panelId: string;\n}\nexport class ResultPanelSubscriptionProvider implements SubscriptionProvider {\n  getSubscriptions(): Disposable[] {\n    return [\n      commands.registerCommand(\n        \"SAS.saveHTML\",\n        async (context: ResultPanelContext) => {\n          const panelHtml = await fetchHtmlFor(context.panelId);\n\n          if (panelHtml.length === 0) {\n            return;\n          }\n\n          const uri = await window.showSaveDialog({\n            defaultUri: Uri.file(`results.html`),\n          });\n\n          if (!uri) {\n            return;\n          }\n\n          await workspace.fs.writeFile(\n            uri,\n            new TextEncoder().encode(panelHtml),\n          );\n        },\n      ),\n    ];\n  }\n}\n"
  },
  {
    "path": "client/src/components/ResultPanel/index.ts",
    "content": "// Copyright © 2023, SAS Institute Inc., Cary, NC, USA.  All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nexport * from \"./ResultPanel\";\nexport * from \"./ResultPanelSubscriptionProvider\";\n"
  },
  {
    "path": "client/src/components/StatusBarItem.ts",
    "content": "// Copyright © 2023, SAS Institute Inc., Cary, NC, USA.  All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { MarkdownString, StatusBarAlignment, Uri, l10n, window } from \"vscode\";\n\nimport { profileConfig } from \"../commands/profile\";\n\nconst statusBarItem = window.createStatusBarItem(StatusBarAlignment.Left);\nstatusBarItem.command = \"SAS.switchProfile\";\n\nexport const getStatusBarItem = () => statusBarItem;\n\nexport async function updateStatusBarItem(connected?: boolean) {\n  const activeProfileName = profileConfig.getActiveProfile();\n  const activeProfile = profileConfig.getProfileByName(activeProfileName);\n  if (!activeProfile) {\n    resetStatusBarItem();\n  } else {\n    const targetURL = profileConfig.remoteTarget(activeProfileName);\n    const closeSessionUri = Uri.parse(\"command:SAS.close\");\n    const tooltip = new MarkdownString(\n      `#### ${l10n.t(\"SAS Profile\")}\\n\\n${activeProfileName}\\n\\n${targetURL}${\n        connected\n          ? `\\n\\n---\\n\\n[${l10n.t(\"Close Session\")}](${closeSessionUri})`\n          : \"\"\n      }`,\n    );\n    tooltip.isTrusted = true;\n\n    statusBarItem.text = `${\n      connected ? \"$(vm-active)\" : \"$(account)\"\n    } ${activeProfileName}`;\n    statusBarItem.tooltip = tooltip;\n    statusBarItem.show();\n  }\n}\n\nexport function resetStatusBarItem(): void {\n  statusBarItem.text = `$(debug-disconnect) ${l10n.t(\"No Profile\")}`;\n  statusBarItem.tooltip = l10n.t(\"No SAS Connection Profile\");\n  statusBarItem.show();\n}\n"
  },
  {
    "path": "client/src/components/SubscriptionProvider.ts",
    "content": "// Copyright © 2023, SAS Institute Inc., Cary, NC, USA.  All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { Disposable } from \"vscode\";\n\nexport interface SubscriptionProvider {\n  getSubscriptions(): Disposable[];\n}\n"
  },
  {
    "path": "client/src/components/logViewer/DiagnosticCodeActionProvider.ts",
    "content": "// Copyright © 2024, SAS Institute Inc., Cary, NC, USA.  All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport {\n  CodeAction,\n  CodeActionContext,\n  CodeActionKind,\n  CodeActionProvider,\n  Command,\n  Diagnostic,\n  DiagnosticSeverity,\n  ProviderResult,\n  Range,\n  Selection,\n  TextDocument,\n  l10n,\n} from \"vscode\";\n\nimport { diagnosticSource, sasDiagnostic } from \"./sasDiagnostics\";\n\nexport class DiagnosticCodeActionProvider implements CodeActionProvider {\n  public static readonly providedCodeActionKinds = [CodeActionKind.QuickFix];\n  provideCodeActions(\n    document: TextDocument,\n    _range: Range | Selection,\n    context: CodeActionContext,\n  ): ProviderResult<(CodeAction | Command)[]> {\n    const diagnostics = context.diagnostics.filter(\n      (diagnostic) => diagnostic.source === diagnosticSource,\n    );\n    if (diagnostics.length === 0) {\n      return [];\n    }\n\n    return [\n      this.createCodeAction(\n        document,\n        diagnostics,\n        sasDiagnostic.DiagnosticCommands.IgnoreCommand,\n      ),\n      this.createCodeAction(\n        document,\n        diagnostics,\n        sasDiagnostic.DiagnosticCommands.IgnoreAllWarningCommand,\n      ),\n      this.createCodeAction(\n        document,\n        diagnostics,\n        sasDiagnostic.DiagnosticCommands.IgnoreAllErrorCommand,\n      ),\n      this.createCodeAction(\n        document,\n        diagnostics,\n        sasDiagnostic.DiagnosticCommands.IgnoreAllCommand,\n      ),\n    ];\n  }\n\n  private createCodeAction(\n    document: TextDocument,\n    diagnostics: Diagnostic[],\n    command: string,\n  ): CodeAction {\n    const action = new CodeAction(\"\", CodeActionKind.QuickFix);\n\n    switch (command) {\n      case sasDiagnostic.DiagnosticCommands.IgnoreCommand:\n        action.title = l10n.t(\"Ignore: current position\");\n        action.command = {\n          command: command,\n          title: l10n.t(\"Ignore: current position\"),\n          arguments: [diagnostics, document.uri],\n        };\n        break;\n      case sasDiagnostic.DiagnosticCommands.IgnoreAllWarningCommand:\n        action.title = l10n.t(\"Ignore: warning\");\n        action.command = {\n          command: command,\n          title: l10n.t(\"Ignore: warning\"),\n          arguments: [document.uri, DiagnosticSeverity.Warning],\n        };\n        break;\n      case sasDiagnostic.DiagnosticCommands.IgnoreAllErrorCommand:\n        action.title = l10n.t(\"Ignore: error\");\n        action.command = {\n          command: command,\n          title: l10n.t(\"Ignore: error\"),\n          arguments: [document.uri, DiagnosticSeverity.Error],\n        };\n        break;\n      case sasDiagnostic.DiagnosticCommands.IgnoreAllCommand:\n        action.title = l10n.t(\"Ignore: all\");\n        action.command = {\n          command: command,\n          title: l10n.t(\"Ignore: all\"),\n          arguments: [document.uri],\n        };\n        break;\n    }\n    return action;\n  }\n}\n"
  },
  {
    "path": "client/src/components/logViewer/ProblemProcessor.ts",
    "content": "// Copyright © 2023, SAS Institute Inc., Cary, NC, USA.  All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { LogLine } from \"../../connection\";\n\ntype ProblemType = \"error\" | \"warning\";\n\n/* \n there are 4 raw problems below:\n\n  ERROR 22-322: Syntax error, expecting one of the following: (, ;.  \n\n  ERROR 79-322: Expecting a ).\n\n  ERROR 68-185: The function SYMPUTX is unknown, or cannot be accessed.\n\n  ERROR 251-185: The subroutine CALL is unknown, or cannot be accessed. Check your spelling. \n                 Either it was not found in the path(s) of executable images, or there was incorrect or missing subroutine descriptor \n                 information.\n*/\ntype RawProblem = {\n  type: ProblemType; //\"error\" | \"warning\";\n  lines: string[];\n  problemNumber?: string;\n};\n\n/*\n there are 2 group of location lines below:\n\n                     -------                            -\n                     22                                 79\n                     68\n                ----\n                251\n*/\ntype RawLocationGroup = {\n  indicatorLine: string;\n  problemNumberLines: string[];\n};\n\n/* \nall location line groups on one source code, example:\n\n  65       call call symputx('mac', quote(strip(emple)));\n                     -------                            -\n                     22                                 79\n                     68\n                ----\n                251\n*/\ntype RawLocationDesc = {\n  sourceCodeLines: string[];\n  rawLocationGroups?: RawLocationGroup[];\n};\n\n// the start column for code in log may be different with which is in source file,\n// one case is the \\t is converted to multiple spaces, so column offset is needed.\n// the line number is different with which is in source file as well, so line offset is needed.\nexport type LocationOffset = {\n  columnOffset: number;\n  lineOffset: number;\n};\n\nexport type Problem = {\n  lineNumber: number;\n  startColumn: number;\n  endColumn: number;\n  message: string;\n  type: ProblemType;\n};\n\nexport type ProblemLocation = {\n  startColumn?: number;\n  endColumn?: number;\n  lineNumber?: number;\n  problemNumber?: string;\n};\n\n// A problem set includes encountering one or more consecutive problems (followed by other source code log behavior endpoints)\n// and error log lines that may exist prior to these problems for localization purposes\nexport class ProblemProcessor {\n  private currentSourceCodeLines: string[];\n  private rawLocationDescs: RawLocationDesc[];\n  private rawProblems: RawProblem[];\n  private unclaimedLocations: ProblemLocation[];\n\n  public constructor(\n    sourceCodeLine?: string[],\n    private legacyLocations?: ProblemLocation[],\n  ) {\n    this.rawLocationDescs = [];\n    this.rawProblems = [];\n    this.currentSourceCodeLines = [];\n    this.unclaimedLocations = [];\n\n    if (sourceCodeLine && sourceCodeLine.length > 0) {\n      this.currentSourceCodeLines.push(...sourceCodeLine);\n    }\n  }\n\n  public addProblemLogLine(logLine: LogLine) {\n    this.rawProblems.push(this.createRawProblem(logLine));\n  }\n\n  public appendProblemLogLine(logLine: LogLine) {\n    const lastRawProblem = getLastElement(this.rawProblems);\n    if (lastRawProblem) {\n      lastRawProblem.lines.push(logLine.line);\n    }\n  }\n\n  public addLocationIndicatorLogLine(logLine: LogLine) {\n    const newRawLocationGroup: RawLocationGroup = {\n      indicatorLine: logLine.line,\n      problemNumberLines: [],\n    };\n\n    const lastRawLocationDesc = getLastElement(this.rawLocationDescs);\n    if (\n      lastRawLocationDesc &&\n      lastRawLocationDesc.sourceCodeLines.join(\"-\") ===\n        this.currentSourceCodeLines.join(\"-\")\n    ) {\n      lastRawLocationDesc.rawLocationGroups.push(newRawLocationGroup);\n      return;\n    }\n\n    this.rawLocationDescs.push({\n      sourceCodeLines: [...this.currentSourceCodeLines],\n      rawLocationGroups: [newRawLocationGroup],\n    });\n  }\n\n  public addProblemNumberLogLine(logLine: LogLine) {\n    const lastRawLocationDesc = getLastElement(this.rawLocationDescs);\n    if (!lastRawLocationDesc) {\n      return;\n    }\n\n    const lastRawLocationGroup = getLastElement(\n      lastRawLocationDesc.rawLocationGroups,\n    );\n    if (!lastRawLocationGroup || lastRawLocationGroup.indicatorLine === \"\") {\n      return;\n    }\n\n    lastRawLocationGroup.problemNumberLines.push(logLine.line);\n  }\n\n  public isReady() {\n    return this.rawProblems.length > 0;\n  }\n\n  public processProblems(offset?: LocationOffset | undefined): Problem[] {\n    if (!offset) {\n      return [];\n    }\n\n    const problems: Problem[] = [];\n    const generalRawProblems: RawProblem[] = this.rawProblems.filter(\n      (rawProblem) => rawProblem.problemNumber === undefined,\n    );\n    const typedRawProblems: RawProblem[] = this.rawProblems.filter(\n      (rawProblem) => rawProblem.problemNumber !== undefined,\n    );\n\n    // process general problems\n    problems.push(\n      ...this.processGeneralProblems(\n        this.currentSourceCodeLines,\n        generalRawProblems,\n        offset,\n      ),\n    );\n\n    // process typed problems\n    let unprocessedTypedRawProblems: RawProblem[] = [];\n    let result: {\n      problems: Problem[];\n      unprocessedRawProblems: RawProblem[];\n      unclaimedLocations: ProblemLocation[];\n    };\n    if (this.rawLocationDescs.length > 0 && typedRawProblems.length > 0) {\n      const locations = processRawLocationDescs(this.rawLocationDescs, offset);\n      result = this.processTypedProblems(locations, typedRawProblems);\n      problems.push(...result.problems);\n      unprocessedTypedRawProblems = [...result.unprocessedRawProblems];\n      this.unclaimedLocations.push(...result.unclaimedLocations);\n    } else if (this.rawLocationDescs.length > 0) {\n      this.unclaimedLocations.push(\n        ...processRawLocationDescs(this.rawLocationDescs, offset),\n      );\n    } else if (typedRawProblems.length > 0) {\n      unprocessedTypedRawProblems = [...typedRawProblems];\n    }\n\n    // ensure that all raw problems are converted to problems\n    if (\n      unprocessedTypedRawProblems.length > 0 &&\n      (this.legacyLocations?.length ?? 0) > 0\n    ) {\n      result = this.processTypedProblems(\n        this.legacyLocations,\n        unprocessedTypedRawProblems,\n      );\n      problems.push(...result.problems);\n      unprocessedTypedRawProblems = [...result.unprocessedRawProblems];\n    }\n\n    if (unprocessedTypedRawProblems.length > 0) {\n      problems.push(\n        ...this.processGeneralProblems(\n          this.currentSourceCodeLines,\n          unprocessedTypedRawProblems,\n          offset,\n        ),\n      );\n    }\n\n    return problems;\n  }\n\n  // check if the passed line is wrapped line, or a new line start, or same as previous\n  // for wrapped line, it is possible that the passed line is same as previous line, in this case, keep the latter.\n  public setSourceCodeLine(newSourceCodeLine: string) {\n    const lastSourceCodeLine = getLastElement(this.currentSourceCodeLines);\n    if (!lastSourceCodeLine) {\n      this.currentSourceCodeLines = [newSourceCodeLine];\n      return;\n    }\n\n    const isSameAsLast = newSourceCodeLine.trim() === lastSourceCodeLine.trim();\n    if (isSameAsLast) {\n      return;\n    }\n\n    const isWrappedLine = isSourceCodeLineAfterLineWrapping(newSourceCodeLine);\n    if (!isWrappedLine) {\n      this.currentSourceCodeLines = [newSourceCodeLine];\n      return;\n    }\n\n    const lastCodeInfo = decomposeCodeLogLine(lastSourceCodeLine);\n    const newCodeInfo = decomposeCodeLogLine(newSourceCodeLine);\n\n    const isSameLineNumber = lastCodeInfo.lineNumber === newCodeInfo.lineNumber;\n    const lastLine = lastCodeInfo.code.trim();\n    const newLine = newCodeInfo.code.trim();\n    const isSameCode =\n      lastLine.startsWith(newLine) || newLine.startsWith(lastLine);\n\n    if (!isSameLineNumber) {\n      this.currentSourceCodeLines = [newSourceCodeLine];\n      return;\n    }\n\n    if (isSameCode) {\n      const beginIndex = lastSourceCodeLine.indexOf(newLine[0]);\n      this.currentSourceCodeLines.pop();\n      this.currentSourceCodeLines.push(\n        lastSourceCodeLine.substring(0, beginIndex) + newLine,\n      );\n    } else {\n      this.currentSourceCodeLines.push(newSourceCodeLine);\n    }\n  }\n\n  public getSourceCodeLines(): string[] {\n    return this.currentSourceCodeLines;\n  }\n\n  public getUnclaimedLocations(): ProblemLocation[] {\n    return this.unclaimedLocations;\n  }\n\n  private processGeneralProblems(\n    sourceCodeLines: string[],\n    rawProblems: RawProblem[],\n    offset: LocationOffset,\n  ): Problem[] {\n    const { lineNumber, startColumn, endColumn } = processGeneralLocation(\n      sourceCodeLines,\n      offset,\n    );\n\n    return rawProblems.map((rawProblem) => ({\n      lineNumber,\n      startColumn,\n      endColumn,\n      message: rawProblem.lines.map((line) => line.trim()).join(\" \"),\n      type: rawProblem.type,\n    }));\n  }\n\n  /*\n    Associate the problem message with the location, with the strategy of:\n      Iterate over all the locations, the order of the locations in the list is in row order:\n        First, All the locations in the first row.\n        Then, All the locations in the second row.\n        And so on.\n      For the first location, read the problem messages in the order they appear until the corresponding problem is found (based on the problem number).\n      For the second location, the search will start from the location after the location at which the last found problem message, \n        and start from the beginning when it reaches the end of the column.\n      Each subsequent location is searched from the location after the last location at which the problem message was found.\n      *** If the list is traversed and no corresponding problem message is found, discard the location. ***\n  */\n  private processTypedProblems(\n    locations: ProblemLocation[],\n    rawProblems: RawProblem[],\n  ): {\n    problems: Problem[];\n    unprocessedRawProblems: RawProblem[];\n    unclaimedLocations: ProblemLocation[];\n  } {\n    const problems: Problem[] = [];\n    const processedRawProblems = new Set<number>();\n    const lastIndexMap = new Map<string, number>();\n    const unclaimedLocations = [];\n    locations.forEach((location) => {\n      const problemNumber = location.problemNumber;\n      const lastFoundIndex = lastIndexMap.get(problemNumber) ?? -1;\n      let currentIndex = (lastFoundIndex + 1) % rawProblems.length;\n      let foundIndex = undefined;\n      let count = 0;\n      while (count <= rawProblems.length) {\n        if (\n          problemNumber !== undefined &&\n          rawProblems[currentIndex].problemNumber === problemNumber\n        ) {\n          foundIndex = currentIndex;\n          break;\n        }\n\n        count++;\n        currentIndex = (currentIndex + 1) % rawProblems.length;\n      }\n\n      if (foundIndex !== undefined) {\n        lastIndexMap.set(problemNumber, foundIndex);\n        processedRawProblems.add(foundIndex);\n        const { lines, type } = rawProblems[foundIndex];\n        const { lineNumber, startColumn, endColumn } = location;\n        problems.push({\n          lineNumber,\n          startColumn,\n          endColumn,\n          message: lines.map((logLine) => logLine.trim()).join(\" \"),\n          type,\n        });\n      } else {\n        unclaimedLocations.push(location);\n      }\n    });\n\n    const unprocessedRawProblems = rawProblems.filter(\n      (_raw, index) => !processedRawProblems.has(index),\n    );\n\n    return { problems, unprocessedRawProblems, unclaimedLocations };\n  }\n\n  private createRawProblem(logLine: LogLine): RawProblem {\n    const problemNumber = getProblemNumberFromProblemLogLine(logLine.line);\n    const { line, type } = logLine;\n\n    return {\n      lines: [line],\n      type: type === \"error\" ? \"error\" : \"warning\",\n      problemNumber: problemNumber,\n    };\n  }\n}\n\n// decompose code information in a line of log. The line is expected as\n// \"229  \\ttitle 'Output Dataset From PROC UNIVARIATE';\" or\n// \"232!      quit;ods html5 close;\"\nexport function decomposeCodeLogLine(codeLine: string): {\n  lineNumber: number;\n  code: string;\n} | null {\n  const capturingRegExp = /^(?<lineNum>\\d+)\\s*!?(?<code>\\s*.*)/;\n  const match = codeLine.match(capturingRegExp);\n\n  return match !== null && match.groups !== undefined\n    ? {\n        lineNumber: parseInt(match.groups.lineNum),\n        code: match.groups.code,\n      }\n    : null;\n}\n\nfunction getLastElement<T>(arr: T[]): T | null {\n  const lastIndex = arr.length - 1;\n  return lastIndex >= 0 ? arr[lastIndex] : null;\n}\n\n/* there are two kind of beginning log lines indicating new problem\n    1) problem with this kind of beginning has location indicator in one of previous log line.\n      \"22\" will be extracted as problem number in below log line.\n      \"ERROR 22-322: Syntax error, expecting one of the following: ;, CANCEL, \"\n    2) problem with this kind of beginning has no location indicator and it is located to the previous closest source code.\n      \"undefined\" will be returned in below log line, which means a general problem location will be used.\n      \"WARNING: Variable POP_100 not found in data set WORK.UNIVOUT.\"\n*/\nfunction getProblemNumberFromProblemLogLine(\n  logLine: string,\n): string | undefined {\n  const regExp = /(?<=^(warning|error)\\s+)\\d+(?=-\\d+:\\s.*)/gi;\n  const match = logLine.match(regExp);\n  return match?.[0] ?? undefined;\n}\n\nfunction processLocations(\n  line: string,\n  from: \"indicator\" | \"problemNumber\",\n): ProblemLocation[] | null {\n  switch (from) {\n    case \"indicator\":\n      return processLocationsFromIndicatorLine(line);\n    case \"problemNumber\":\n      return processLocationFromProblemNumberLine(line);\n  }\n}\n\nfunction processLocationsFromIndicatorLine(\n  indicatorLogLine: string,\n): ProblemLocation[] | null {\n  // example: \"    ----     ---      --\"\n  const regExp = /[-_]+/g;\n  const locations = Array.from(indicatorLogLine.matchAll(regExp), (match) => ({\n    startColumn: match.index,\n    endColumn: match.index + match[0].length,\n  }));\n\n  return locations.length === 0 ? null : locations;\n}\n\n// problem number log line example:\n//                   22                                 79\nfunction processLocationFromProblemNumberLine(\n  problemNumberLine: string,\n): ProblemLocation[] | null {\n  const regExp = /\\d+/g;\n  const locations: ProblemLocation[] = Array.from(\n    problemNumberLine.matchAll(regExp),\n    (match): ProblemLocation => ({\n      startColumn: match.index,\n      problemNumber: match[0],\n    }),\n  );\n\n  return locations.length === 0 ? null : locations;\n}\n\nfunction reviseLocationsFromIndicatorLine(\n  indicatorLogLine: string,\n  baseLocations: ProblemLocation[],\n): ProblemLocation[] {\n  const arr = Array.from(indicatorLogLine);\n  baseLocations.forEach((location) => {\n    arr[location.startColumn] = \"=\";\n  });\n\n  const regExp = /=[-_]*/g;\n  const locations = Array.from(arr.join(\"\").matchAll(regExp), (match) => ({\n    startColumn: match.index,\n    endColumn: match.index + match[0].length,\n  }));\n\n  return locations.length === 0 ? null : locations;\n}\n\nfunction processRawLocationDescs(\n  rawLocationDescs: RawLocationDesc[],\n  offset: LocationOffset,\n): ProblemLocation[] {\n  const locations: ProblemLocation[] = [];\n  rawLocationDescs.forEach((rawLocationDesc) =>\n    locations.push(...processRawLocationDesc(rawLocationDesc, offset)),\n  );\n  return locations;\n}\n\nfunction processSourceCodeLines(\n  sourceCodeLines: string[],\n  columnOffset: number,\n): { lineNumber?: number; columnCorrection?: number } {\n  if (!sourceCodeLines || sourceCodeLines.length === 0) {\n    return {};\n  }\n\n  const lineNumber = decomposeCodeLogLine(sourceCodeLines[0]).lineNumber;\n\n  // the source code log line may be separated into multiple lines, and the error occurred at the latter line,\n  // in this case, must take account of the previous lines length to make start column correct.\n  const columnCorrection = sourceCodeLines.reduce(\n    (accumulator, line, index, lines) => {\n      // it is possible the beginning and end spaces are trimmed, which makes the column correction wrong.\n      // so in such case, 1 additional column (suppose only one space between two lines) will be considered.\n      const isLastLineEndWithSpace =\n        index === 0 || lines[index - 1].endsWith(\" \");\n      const isCurrentLineStartWithSpace = lines[index]\n        .substring(columnOffset)\n        .startsWith(\" \");\n      // excludes the length of last line\n      const currentLineLength =\n        lines.length - index === 1 ? 0 : line.length - columnOffset;\n\n      return (\n        accumulator +\n        currentLineLength +\n        (!(isLastLineEndWithSpace || isCurrentLineStartWithSpace) ? 1 : 0)\n      );\n    },\n    0,\n  );\n\n  return { lineNumber, columnCorrection };\n}\n\nfunction processRawLocationDesc(\n  rawLocationDesc: RawLocationDesc,\n  offset: LocationOffset,\n): ProblemLocation[] {\n  const { lineNumber, columnCorrection } = processSourceCodeLines(\n    rawLocationDesc.sourceCodeLines,\n    offset.columnOffset,\n  );\n\n  if (lineNumber === undefined || columnCorrection === undefined) {\n    return [];\n  }\n\n  const locations: ProblemLocation[] = [];\n  const groups = rawLocationDesc.rawLocationGroups;\n  groups.forEach((group) => {\n    locations.push(...processRawLocationGroup(group));\n  });\n\n  locations.map((location) => {\n    location.lineNumber = lineNumber;\n    location.startColumn =\n      location.startColumn - offset.columnOffset + columnCorrection;\n    location.endColumn =\n      location.endColumn - offset.columnOffset + columnCorrection;\n  });\n\n  return locations;\n}\n\n/* \n  to handle the case below:\n\n  87         data CUSTOMERS (label=\"Customer data for geocoding\");\n  88            infile datalines dlm=#' dlm=#' dlm=#;\n                                    _             _\n                                    24            24\n                                    24            24\n  ERROR 24-322: Variable name is not valid.\n  ERROR 24-2: Invalid value for the DLM option.\n  89            length address $ 24 city $ 24 state $ 2;\n\n  adjust the item order in list make the items which have same startColumn placed continuously\n*/\nfunction adjustAppearanceOrder(\n  locations: ProblemLocation[],\n): ProblemLocation[] {\n  if (locations.length < 3) {\n    return locations;\n  }\n\n  const findAllMatched = (startColumn: number, problemNumber: string) => {\n    const found = [];\n    locations.map((location, index) => {\n      if (\n        location &&\n        location.startColumn === startColumn &&\n        location.problemNumber === problemNumber\n      ) {\n        locations[index] = undefined;\n        found.push(location);\n      }\n    });\n    return found;\n  };\n\n  const orderedLocations: ProblemLocation[] = [];\n  locations.forEach((location, index) => {\n    if (!location) {\n      return;\n    }\n    orderedLocations.push(location);\n    locations[index] = undefined;\n    const found = findAllMatched(location.startColumn, location.problemNumber);\n    orderedLocations.push(...found);\n  });\n\n  return orderedLocations;\n}\n\nfunction processRawLocationGroup(\n  group: RawLocationGroup,\n): ProblemLocation[] | null {\n  if (\n    !group.indicatorLine ||\n    !group.problemNumberLines ||\n    group.problemNumberLines.length === 0\n  ) {\n    return null;\n  }\n\n  let indicatorLocations = processLocations(group.indicatorLine, \"indicator\");\n\n  const problemNumberLocations = processLocations(\n    group.problemNumberLines[0],\n    \"problemNumber\",\n  );\n\n  // to handle this case:\n  //                         _____\n  //                         1   22\n  if (problemNumberLocations.length > indicatorLocations.length) {\n    indicatorLocations = reviseLocationsFromIndicatorLine(\n      group.indicatorLine,\n      problemNumberLocations,\n    );\n  }\n\n  // TODO\n  if (problemNumberLocations.length < indicatorLocations.length) {\n    // is it possible to have such case:\n    //                        - -\n    //                        221\n    // is it possible to have such case, below includes two problems:\n    //                        ---\n    //                        221\n  }\n\n  const locations: ProblemLocation[] = [];\n  group.problemNumberLines.forEach((line) => {\n    const locationsWithProblemNumber = processLocations(line, \"problemNumber\");\n    locationsWithProblemNumber.forEach((location1) => {\n      const found = indicatorLocations.find(\n        (location2) => location2.startColumn === location1.startColumn,\n      );\n\n      if (found) {\n        locations.push({\n          startColumn: found.startColumn,\n          endColumn: found.endColumn,\n          problemNumber: location1.problemNumber,\n        });\n      }\n    });\n  });\n\n  return adjustAppearanceOrder(locations);\n}\n\nfunction processGeneralLocation(\n  sourceCodeLines: string[],\n  offset: LocationOffset,\n): ProblemLocation | null {\n  if (!sourceCodeLines || sourceCodeLines.length === 0 || !offset) {\n    return null;\n  }\n\n  const lineNumber = decomposeCodeLogLine(sourceCodeLines[0]).lineNumber;\n  const wholeLine = sourceCodeLines.reduce(\n    (accumulator, line) => accumulator + line.substring(offset.columnOffset),\n  );\n\n  const startColumn = getFirstCharacterIndex(wholeLine) - offset.columnOffset;\n  const endColumn =\n    startColumn + wholeLine.substring(startColumn).trim().length - 1;\n  return { lineNumber, startColumn, endColumn };\n}\n\nfunction getFirstCharacterIndex(logLine: string): number {\n  if (logLine.trim() === \"\") {\n    return -1;\n  }\n\n  /*\n    below are 3 cases that source code may be presented in log lines.\n    8  ...\n  \n    8 !      ...\n  \n    12!      ...\n  */\n  const regExp = /(?<=^\\d+\\s*!?\\s+)[^\\s!]/;\n  const match = logLine.match(regExp);\n\n  return match === null ? -1 : match.index;\n}\n\n/* \n  below are 3 cases that source code may be presented in log lines.\n  8  ...\n\n  8 !      ...\n\n  8!      ...\n*/\nexport function isSourceCodeLineAfterLineWrapping(logLine: string): boolean {\n  return /^(?<lineNum>\\d+)\\s*!\\s(?<code>\\s*.*)/.test(logLine);\n}\n"
  },
  {
    "path": "client/src/components/logViewer/index.ts",
    "content": "// Copyright © 2024, SAS Institute Inc., Cary, NC, USA.  All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport {\n  DocumentSemanticTokensProvider,\n  OutputChannel,\n  SemanticTokensBuilder,\n  l10n,\n  window,\n} from \"vscode\";\n\nimport type { OnLogFn } from \"../../connection\";\nimport { useLogStore, useRunStore } from \"../../store\";\nimport { logSelectors, runSelectors } from \"../../store/selectors\";\nimport {\n  clearLogOnExecutionStart,\n  showLogOnExecutionFinish,\n  showLogOnExecutionStart,\n} from \"../utils/settings\";\n\nconst { setProducedExecutionLogOutput } = useLogStore.getState();\n\nlet outputChannel: OutputChannel;\nlet data: string[] = [];\nlet fileName = \"\";\n\nexport const legend = {\n  tokenTypes: [\"error\", \"warning\", \"note\"],\n  tokenModifiers: [],\n};\n\nexport const LogTokensProvider: DocumentSemanticTokensProvider = {\n  provideDocumentSemanticTokens: (document) => {\n    if (document.getText() === \"\") {\n      data = [];\n    }\n    const tokensBuilder = new SemanticTokensBuilder(legend);\n\n    for (let i = 0; i < data.length; i++) {\n      if (legend.tokenTypes.includes(data[i])) {\n        tokensBuilder.push(document.lineAt(i).range, data[i]);\n      }\n    }\n    return tokensBuilder.build();\n  },\n};\n\n/**\n * Handles log lines generated for the SAS session startup.\n * @param logs array of log lines to write.\n */\nexport const appendSessionLogFn: OnLogFn = (logLines) => {\n  appendLogLines(logLines);\n};\n\n/**\n * Handles log lines generated for the SAS session execution.\n * @param logs array of log lines to write.\n */\nexport const appendExecutionLogFn: OnLogFn = (logLines) => {\n  appendLogLines(logLines);\n\n  if (!useLogStore.getState().producedExecutionOutput) {\n    setProducedExecutionLogOutput(true);\n  }\n};\n\nexport const appendLogToken = (type: string): void => {\n  data.push(type);\n};\n\nexport const setFileName = (name: string) => {\n  fileName = name;\n};\n\nconst appendLogLines: OnLogFn = (logs) => {\n  if (!outputChannel) {\n    const name = clearLogOnExecutionStart()\n      ? l10n.t(\"SAS Log: {name}\", { name: fileName })\n      : l10n.t(\"SAS Log\");\n    outputChannel = window.createOutputChannel(name, \"sas-log\");\n  }\n  for (const line of logs) {\n    line.line\n      .trimEnd()\n      .split(\"\\n\")\n      .forEach((text) => {\n        appendLogToken(line.type);\n        outputChannel.appendLine(text);\n      });\n  }\n};\n\nuseLogStore.subscribe(\n  logSelectors.selectProducedExecutionOutput,\n  (producedOutput, prevProducedOutput) => {\n    if (producedOutput && !prevProducedOutput) {\n      if (showLogOnExecutionStart()) {\n        outputChannel?.show(true);\n      }\n    }\n  },\n);\n\nuseRunStore.subscribe(\n  runSelectors.selectIsExecutingCode,\n  (isExecuting, prevIsExecuting) => {\n    if (\n      !isExecuting &&\n      prevIsExecuting &&\n      useLogStore.getState().producedExecutionOutput\n    ) {\n      if (showLogOnExecutionFinish()) {\n        outputChannel?.show(true);\n      }\n    } else if (isExecuting && !prevIsExecuting) {\n      setProducedExecutionLogOutput(false);\n\n      if (\n        clearLogOnExecutionStart() &&\n        outputChannel &&\n        useRunStore.getState().isUserExecuting\n      ) {\n        outputChannel.dispose();\n        outputChannel = undefined;\n        data = [];\n      }\n    }\n  },\n);\n"
  },
  {
    "path": "client/src/components/logViewer/logParser.ts",
    "content": "// Copyright © 2023, SAS Institute Inc., Cary, NC, USA.  All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { LogLine } from \"../../connection\";\nimport {\n  LocationOffset,\n  Problem,\n  ProblemProcessor,\n  decomposeCodeLogLine,\n  isSourceCodeLineAfterLineWrapping,\n} from \"./ProblemProcessor\";\n\nexport function parseLog(\n  logs: LogLine[],\n  logStartFlag: string,\n): [Problem[], string[]] {\n  if (logs.length === 0 || logStartFlag.trim() === \"\") {\n    return [[], []];\n  }\n\n  // logs cleaning\n  const latestLogs = getTheLatestLogs(logs, logStartFlag);\n  const problemRelatedLogs = getProblemRelatedLogs(latestLogs);\n\n  let problemProcessor: ProblemProcessor = new ProblemProcessor();\n  let offset: LocationOffset;\n  const problems: Problem[] = [];\n  const codeLines: string[] = [];\n\n  problemRelatedLogs.forEach((logLine) => {\n    if (isProblemTypeLog(logLine)) {\n      if (isNewProblemLogLine(logLine.line)) {\n        problemProcessor.addProblemLogLine(logLine);\n        return;\n      }\n\n      if (isLocationIndicatorLogLine(logLine.line)) {\n        problemProcessor.addLocationIndicatorLogLine(logLine);\n        return;\n      }\n\n      if (isProblemNumberLogLine(logLine.line)) {\n        problemProcessor.addProblemNumberLogLine(logLine);\n        return;\n      }\n\n      problemProcessor.appendProblemLogLine(logLine);\n      return;\n    } else {\n      codeLines.push(logLine.line);\n\n      if (!isValidSourceCodeLog(logLine)) {\n        return;\n      }\n\n      const currentSourceCodeLine = logLine.line;\n      if (!offset) {\n        offset = calculateLocationOffset(currentSourceCodeLine, logStartFlag);\n      }\n\n      const isWrappedLine = isSourceCodeLineAfterLineWrapping(\n        currentSourceCodeLine,\n      );\n\n      const previousSourceCodeLines = problemProcessor.getSourceCodeLines();\n      const isSameAsPrevious = areSameLines(\n        currentSourceCodeLine,\n        previousSourceCodeLines[previousSourceCodeLines.length - 1],\n      );\n\n      if (problemProcessor.isReady() && !isSameAsPrevious) {\n        problems.push(...problemProcessor.processProblems(offset));\n        const unclaimedLocations = problemProcessor.getUnclaimedLocations();\n        problemProcessor = isWrappedLine\n          ? new ProblemProcessor(previousSourceCodeLines, unclaimedLocations)\n          : new ProblemProcessor(undefined, unclaimedLocations);\n      }\n\n      problemProcessor.setSourceCodeLine(currentSourceCodeLine);\n    }\n  });\n\n  if (problemProcessor.isReady()) {\n    problems.push(...problemProcessor.processProblems(offset));\n  }\n\n  problemProcessor = null;\n\n  return [problems, cleanCodeLines(codeLines)];\n}\n\nfunction getTheLatestLogs(logs: LogLine[], firstCodeLine: string): LogLine[] {\n  let beginningIndex = -1;\n  logs.forEach((logLine, index) => {\n    if (logLine.type !== \"source\") {\n      return;\n    }\n\n    const code = decomposeCodeLogLine(logLine.line)?.code ?? null;\n    if (code !== null && firstCodeLine === code.trim()) {\n      beginningIndex = index;\n    }\n  });\n\n  return beginningIndex === -1 ? [] : logs.slice(beginningIndex);\n}\n\nfunction getProblemRelatedLogs(logs: LogLine[]): LogLine[] {\n  return logs.filter((logLine) => {\n    return [\"error\", \"warning\", \"source\"].includes(logLine.type);\n  });\n}\n\nfunction calculateLocationOffset(\n  codeLogLine: string,\n  firstCodeLine: string,\n): { columnOffset: number; lineOffset: number } {\n  const codeInfo = decomposeCodeLogLine(codeLogLine);\n\n  // there may be a log kept when finishing running selected code,\n  // the kept log will be sent out in following running code.\n  // that log line number should not be used for calculating line offset.\n  if (codeInfo === null || firstCodeLine !== codeInfo.code.trim()) {\n    return { lineOffset: -1, columnOffset: -1 };\n  }\n\n  const lineOffset = codeInfo.lineNumber;\n  const columnOffset = codeLogLine.indexOf(firstCodeLine);\n\n  return { columnOffset, lineOffset };\n}\n\nfunction isProblemTypeLog(logLine: LogLine): boolean {\n  return logLine.type === \"error\" || logLine.type === \"warning\";\n}\n\nfunction isSourceTypeLog(logLine: LogLine): boolean {\n  return logLine.type === \"source\";\n}\n\nfunction isEmptyCodeLogLine(logLine: string): boolean {\n  return /^\\d+\\s*$/.test(logLine);\n}\n\n/* there are two kind of beginning log lines indicating new problem\n  1) problem with this kind of beginning has location indicator in one of previous log line.\n    \"ERROR 22-322: Syntax error, expecting one of the following: ;, CANCEL, \"\n  2) problem with this kind of beginning has no location indicator and it is located to the previous closest source code\n    \"WARNING: Variable POP_100 not found in data set WORK.UNIVOUT.\"\n*/\nfunction isNewProblemLogLine(line: string): boolean {\n  return /^(?<logType>error|warning)(?<errorCategory>\\s*\\d+-\\d+)?:\\s(?<message>.*)/i.test(\n    line,\n  );\n}\n\n/*\nthe continuous hyphens/underscores means a location indicator. \nin below logs, the 2nd & 5th lines are location indicator log lines.\nbelow are part of logs:\n18       call call symputx('mac', quote(strip(emple)));            \n                   -------                            -\n                   22                                 79\n                   68\n              ----\n              251\n*/\nfunction isLocationIndicatorLogLine(logLine: string): boolean {\n  return /^(?<space>\\s+)(?<indicator>[-_]+\\s*)+$/.test(logLine);\n}\n\n/*\nthe number below the continuous hyphens/underscores means a problem number.\nin below logs, the 3rd & 4th & 6th lines are problem number log lines.\nbelow are part of logs:\n18       call call symputx('mac', quote(strip(emple)));            \n                   -------                            -\n                   22                                 79\n                   68\n              ----\n              251\n*/\nfunction isProblemNumberLogLine(line: string): boolean {\n  return /^(?<space>\\s+)(?<problemNumber>\\d+\\s*)+$/.test(line);\n}\n\nfunction isValidSourceCodeLog(logLine: LogLine): boolean {\n  return isSourceTypeLog(logLine) && !isEmptyCodeLogLine(logLine.line);\n}\n\nfunction areSameLines(line1: string, line2: string) {\n  return line1 === line2;\n}\n\n// keep each line number only once\nfunction cleanCodeLines(codeLines: string[]): string[] {\n  if (codeLines.length === 0) {\n    return codeLines;\n  }\n\n  let previousLineNumber = -1;\n  const result = [];\n  codeLines.forEach((line) => {\n    const lineNumber = decomposeCodeLogLine(line)?.lineNumber ?? -1;\n    if (lineNumber === previousLineNumber) {\n      return;\n    } else {\n      previousLineNumber = lineNumber;\n      result.push(line);\n    }\n  });\n\n  return result;\n}\n"
  },
  {
    "path": "client/src/components/logViewer/sasDiagnostics.ts",
    "content": "// Copyright © 2023, SAS Institute Inc., Cary, NC, USA.  All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport {\n  Diagnostic,\n  DiagnosticCollection,\n  DiagnosticSeverity,\n  Disposable,\n  Range,\n  Uri,\n  commands,\n  languages,\n  window,\n  workspace,\n} from \"vscode\";\n\nimport { LogLine, OnLogFn } from \"../../connection\";\nimport { useRunStore } from \"../../store\";\nimport { runSelectors } from \"../../store/selectors\";\nimport { SASCodeDocument } from \"../utils/SASCodeDocument\";\nimport { isShowProblemsFromSASLogEnabled } from \"../utils/settings\";\nimport { DiagnosticCodeActionProvider } from \"./DiagnosticCodeActionProvider\";\nimport { Problem } from \"./ProblemProcessor\";\nimport { parseLog } from \"./logParser\";\n\nexport const diagnosticSource = \"sas log\";\n\nlet diagnosticCollection: DiagnosticCollection;\n\nenum DiagnosticCommands {\n  IgnoreCommand = \"SAS.diagnostic.ignore\",\n  IgnoreAllWarningCommand = \"SAS.diagnostic.ignoreAllWarning\",\n  IgnoreAllErrorCommand = \"SAS.diagnostic.ignoreAllError\",\n  IgnoreAllCommand = \"SAS.diagnostic.ignoreAll\",\n}\n\nfunction ignore(diagnosticsToRemove: Diagnostic[], uri: Uri): void {\n  const diagnostics = getSasDiagnosticCollection().get(uri);\n  const newDiagnostics = diagnostics.filter((diagnostic) => {\n    return !diagnosticsToRemove.includes(diagnostic);\n  });\n\n  getSasDiagnosticCollection().set(uri, newDiagnostics);\n}\n\nfunction ignoreAll(uri: Uri, severity?: DiagnosticSeverity): void {\n  if (severity === undefined) {\n    getSasDiagnosticCollection().delete(uri);\n  } else {\n    const diagnostics = getSasDiagnosticCollection().get(uri);\n    const newDiagnostics = diagnostics.filter((diagnostic) => {\n      return diagnostic.severity !== severity;\n    });\n    getSasDiagnosticCollection().set(uri, newDiagnostics);\n  }\n}\n\nfunction updateDiagnosticUri(oldUri: Uri, newUri: Uri): void {\n  const diagnosticCollection = getSasDiagnosticCollection();\n  const diagnostics = diagnosticCollection.get(oldUri);\n  diagnosticCollection.delete(oldUri);\n  diagnosticCollection.set(newUri, diagnostics);\n}\n\nfunction getSasDiagnosticCollection(): DiagnosticCollection {\n  if (diagnosticCollection === undefined) {\n    diagnosticCollection = languages.createDiagnosticCollection(\"sas\");\n  }\n  return diagnosticCollection;\n}\n\nasync function updateDiagnostics(\n  logs: LogLine[],\n  codeDoc: SASCodeDocument,\n): Promise<void> {\n  if (!isShowProblemsFromSASLogEnabled()) {\n    getSasDiagnosticCollection().clear();\n    return;\n  }\n\n  const [problems, codeLinesInLog] = parseLog(\n    logs,\n    codeDoc.wrappedCodeLineAt(0),\n  );\n\n  await updateProblemLocation(problems, codeDoc, codeLinesInLog);\n\n  const problemsWithValidLocation = problems.filter((problem) => {\n    const { lineNumber, startColumn, endColumn } = problem;\n    return lineNumber * startColumn * endColumn >= 0;\n  });\n\n  const diagnostics = constructDiagnostics(problemsWithValidLocation);\n\n  getSasDiagnosticCollection().set(\n    Uri.parse(codeDoc.getUri()),\n    diagnostics.length > 0 ? diagnostics : undefined,\n  );\n}\n\nasync function updateProblemLocation(\n  problems: Problem[],\n  codeDoc: SASCodeDocument,\n  codeLinesInLog: string[],\n) {\n  for (const problem of problems) {\n    const { lineNumber, startColumn, endColumn } = problem;\n    const {\n      lineNumber: actualLineNumber,\n      startColumn: actualStartColumn,\n      endColumn: actualEndColumn,\n    } = await codeDoc.getLocationInRawCode(\n      {\n        lineNumber,\n        startColumn,\n        endColumn,\n      },\n      codeLinesInLog,\n    );\n\n    problem.lineNumber = actualLineNumber;\n    problem.startColumn = actualStartColumn;\n    problem.endColumn = actualEndColumn;\n  }\n}\n\nfunction constructDiagnostics(problems: Problem[]): Diagnostic[] {\n  const diagnostics = problems.map((problem) => {\n    const { lineNumber, startColumn, endColumn, message, type } = problem;\n    const range = new Range(lineNumber, startColumn, lineNumber, endColumn);\n    const diagnostic = new Diagnostic(\n      range,\n      message,\n      type === \"error\" ? DiagnosticSeverity.Error : DiagnosticSeverity.Warning,\n    );\n    diagnostic.source = diagnosticSource;\n    return diagnostic;\n  });\n\n  return diagnostics;\n}\n\nfunction generateLogFn(\n  codeDoc: SASCodeDocument,\n  originLogFn?: OnLogFn,\n): OnLogFn {\n  const uri = codeDoc.getUri();\n  if (uri === undefined || uri.trim() === \"\") {\n    return originLogFn;\n  }\n\n  const receivedLogs = [];\n  const additionalLogFn: OnLogFn = (logs) => {\n    receivedLogs.push(...logs);\n  };\n\n  const unsubscribe = useRunStore.subscribe(\n    runSelectors.selectIsExecutingCode,\n    (isExecuting) => {\n      if (!isExecuting) {\n        updateDiagnostics(receivedLogs, codeDoc);\n        unsubscribe();\n      }\n    },\n  );\n\n  return (logs) => {\n    originLogFn?.(logs);\n    additionalLogFn(logs);\n  };\n}\n\nfunction getSubscriptions(): Disposable[] {\n  return [\n    getSasDiagnosticCollection(),\n\n    commands.registerCommand(DiagnosticCommands.IgnoreCommand, ignore),\n    commands.registerCommand(\n      DiagnosticCommands.IgnoreAllWarningCommand,\n      ignoreAll,\n    ),\n    commands.registerCommand(\n      DiagnosticCommands.IgnoreAllErrorCommand,\n      ignoreAll,\n    ),\n    commands.registerCommand(DiagnosticCommands.IgnoreAllCommand, ignoreAll),\n    languages.registerCodeActionsProvider(\n      \"sas\",\n      new DiagnosticCodeActionProvider(),\n    ),\n    workspace.onDidRenameFiles((e) => {\n      e.files.forEach((file) => updateDiagnosticUri(file.oldUri, file.newUri));\n    }),\n\n    workspace.onDidDeleteFiles((e) => {\n      e.files.forEach((uri) => {\n        ignoreAll(uri);\n      });\n    }),\n    workspace.onDidSaveTextDocument((e) => {\n      // the new file\n      const uri = window.activeTextEditor.document.uri;\n      const isNewFileSaved =\n        uri.scheme === \"untitled\" && e.languageId === \"sas\";\n      if (isNewFileSaved) {\n        // clear diagnostics on new file\n        ignoreAll(uri);\n        // if the new file is saved, e indicates the file which new file saved to.\n        // no matter if it override a existing file, it is ok to clear its diagnostics.\n        ignoreAll(e.uri);\n      }\n    }),\n    workspace.onDidCloseTextDocument((e) => {\n      const uri = e.uri;\n      // if the new file is saved, the onDidSaveTextDocument is invoked, then this is invoked.\n      // if the new file is not saved, only this is invoked.\n      const isNewFileClosed = uri.scheme === \"untitled\";\n      if (isNewFileClosed) {\n        ignoreAll(uri);\n      }\n    }),\n  ];\n}\n\nexport const sasDiagnostic = {\n  DiagnosticCommands,\n  generateLogFn,\n  getSubscriptions,\n  updateDiagnosticUri,\n  ignoreAll,\n};\n"
  },
  {
    "path": "client/src/components/notebook/Controller.ts",
    "content": "// Copyright © 2023, SAS Institute Inc., Cary, NC, USA.  All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport * as vscode from \"vscode\";\n\nimport { getSession } from \"../../connection\";\nimport { SASCodeDocument } from \"../utils/SASCodeDocument\";\nimport { getCodeDocumentConstructionParameters } from \"../utils/SASCodeDocumentHelper\";\nimport { Deferred, deferred } from \"../utils/deferred\";\n\nexport class NotebookController {\n  readonly controllerId = \"sas-notebook-controller-id\";\n  readonly notebookType = \"sas-notebook\";\n  readonly label = \"SAS Notebook\";\n  readonly supportedLanguages = [\"sas\", \"sql\", \"python\", \"r\"];\n\n  private readonly _controller: vscode.NotebookController;\n  private _executionOrder = 0;\n  private _interrupted: Deferred<void> | undefined;\n\n  constructor() {\n    this._controller = vscode.notebooks.createNotebookController(\n      this.controllerId,\n      this.notebookType,\n      this.label,\n    );\n\n    this._controller.supportedLanguages = this.supportedLanguages;\n    this._controller.supportsExecutionOrder = true;\n    this._controller.executeHandler = this._execute.bind(this);\n    this._controller.interruptHandler = this._interrupt.bind(this);\n  }\n\n  dispose(): void {\n    this._controller.dispose();\n  }\n\n  private async _execute(cells: vscode.NotebookCell[]): Promise<void> {\n    this._interrupted = undefined;\n\n    try {\n      const session = getSession();\n      await session.setup();\n    } catch (err) {\n      vscode.window.showErrorMessage(\n        err.response?.data ? JSON.stringify(err.response.data) : err.message,\n      );\n      return;\n    }\n\n    for (const cell of cells) {\n      await this._doExecution(cell);\n    }\n  }\n\n  private async _doExecution(cell: vscode.NotebookCell): Promise<void> {\n    if (this._interrupted) {\n      return;\n    }\n\n    const execution = this._controller.createNotebookCellExecution(cell);\n    execution.executionOrder = ++this._executionOrder;\n    execution.start(Date.now()); // Keep track of elapsed time to execute cell.\n    execution.clearOutput();\n\n    const session = getSession();\n    session.onExecutionLogFn = (logLines) => {\n      logs = logs.concat(logLines);\n    };\n\n    const parameters = getCodeDocumentConstructionParameters(cell.document);\n    const codeDoc = new SASCodeDocument(parameters);\n\n    let logs = [];\n    try {\n      const result = await session.run(codeDoc.getWrappedCode());\n\n      execution.replaceOutput([\n        new vscode.NotebookCellOutput([\n          ...(result.html5?.length\n            ? [\n                vscode.NotebookCellOutputItem.text(\n                  result.html5,\n                  \"application/vnd.sas.ods.html5\",\n                ),\n              ]\n            : []),\n          vscode.NotebookCellOutputItem.json(\n            logs,\n            \"application/vnd.sas.compute.log.lines\",\n          ),\n        ]),\n      ]);\n      execution.end(true, Date.now());\n    } catch (error) {\n      execution.replaceOutput([\n        new vscode.NotebookCellOutput([\n          vscode.NotebookCellOutputItem.error(error),\n        ]),\n      ]);\n      execution.end(false, Date.now());\n      if (!this._interrupted) {\n        this._interrupted = deferred();\n      }\n    }\n    if (this._interrupted) {\n      this._interrupted.resolve();\n    }\n  }\n\n  private _interrupt() {\n    if (this._interrupted) {\n      return;\n    }\n    this._interrupted = deferred();\n    vscode.window.withProgress(\n      {\n        location: vscode.ProgressLocation.Notification,\n        title: vscode.l10n.t(\"Cancelling job...\"),\n      },\n      () => this._interrupted.promise,\n    );\n    const session = getSession();\n    session.cancel?.();\n  }\n}\n"
  },
  {
    "path": "client/src/components/notebook/Serializer.ts",
    "content": "// Copyright © 2023, SAS Institute Inc., Cary, NC, USA.  All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport * as vscode from \"vscode\";\n\nimport { TextDecoder, TextEncoder } from \"util\";\n\ninterface RawNotebookCell {\n  language: string;\n  value: string;\n  kind: vscode.NotebookCellKind;\n  outputs?: {\n    items: {\n      data: string;\n      mime: string;\n    }[];\n  }[];\n}\n\nexport class NotebookSerializer implements vscode.NotebookSerializer {\n  private readonly _decoder = new TextDecoder();\n  private readonly _encoder = new TextEncoder();\n\n  async deserializeNotebook(content: Uint8Array): Promise<vscode.NotebookData> {\n    const contents = this._decoder.decode(content);\n\n    let raw: RawNotebookCell[];\n    try {\n      // eslint-disable-next-line @typescript-eslint/consistent-type-assertions\n      raw = <RawNotebookCell[]>JSON.parse(contents);\n    } catch {\n      raw = [];\n    }\n\n    const cells = raw.map((item) => {\n      const cell = new vscode.NotebookCellData(\n        item.kind,\n        item.value,\n        item.language,\n      );\n      if (item.outputs) {\n        cell.outputs = item.outputs.map(\n          (output) =>\n            new vscode.NotebookCellOutput(\n              output.items.map((item) =>\n                vscode.NotebookCellOutputItem.text(item.data, item.mime),\n              ),\n            ),\n        );\n      }\n      return cell;\n    });\n\n    return new vscode.NotebookData(cells);\n  }\n\n  async serializeNotebook(data: vscode.NotebookData): Promise<Uint8Array> {\n    const contents: RawNotebookCell[] = [];\n\n    for (const cell of data.cells) {\n      const content: RawNotebookCell = {\n        kind: cell.kind,\n        language: cell.languageId,\n        value: cell.value,\n      };\n      if (cell.outputs) {\n        content.outputs = cell.outputs.map((output) => ({\n          items: output.items.map((item) => ({\n            data: this._decoder.decode(item.data),\n            mime: item.mime,\n          })),\n        }));\n      }\n      contents.push(content);\n    }\n\n    return this._encoder.encode(JSON.stringify(contents));\n  }\n}\n"
  },
  {
    "path": "client/src/components/notebook/exporters/index.ts",
    "content": "// Copyright © 2025, SAS Institute Inc., Cary, NC, USA.  All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { Uri, l10n, window, workspace } from \"vscode\";\nimport type { LanguageClient } from \"vscode-languageclient/node\";\n\nimport path from \"path\";\n\nimport { exportToHTML } from \"./toHTML\";\nimport { exportToSAS } from \"./toSAS\";\n\nexport const exportNotebook = async (client: LanguageClient) => {\n  const notebook = window.activeNotebookEditor?.notebook;\n\n  if (!notebook) {\n    return;\n  }\n\n  // Show QuickPick for export format selection\n  const formatChoices = [\n    {\n      label: l10n.t(\"HTML\"),\n      description: l10n.t(\"Export as HTML file\"),\n      format: \"html\" as const,\n      extension: \"html\",\n    },\n    {\n      label: l10n.t(\"SAS Code\"),\n      description: l10n.t(\"Export as SAS program file\"),\n      format: \"sas\" as const,\n      extension: \"sas\",\n    },\n  ];\n\n  const formatChoice = await window.showQuickPick(formatChoices, {\n    placeHolder: l10n.t(\"Select export format\"),\n    ignoreFocusOut: true,\n  });\n\n  if (!formatChoice) {\n    return;\n  }\n\n  // Show save dialog with appropriate file extension\n  const defaultFileName =\n    path.basename(notebook.uri.path, \".sasnb\") + `.${formatChoice.extension}`;\n\n  const filters: { [name: string]: string[] } = {};\n  filters[formatChoice.extension.toUpperCase()] = [formatChoice.extension];\n\n  const uri = await window.showSaveDialog({\n    filters,\n    defaultUri: Uri.parse(defaultFileName),\n  });\n\n  if (!uri) {\n    return;\n  }\n\n  try {\n    let content: string | Uint8Array;\n\n    // Generate content based on selected format\n    switch (formatChoice.format) {\n      case \"html\":\n        content = await exportToHTML(notebook, client);\n        await workspace.fs.writeFile(uri, new TextEncoder().encode(content));\n        break;\n      case \"sas\":\n        content = exportToSAS(notebook);\n        await workspace.fs.writeFile(uri, new TextEncoder().encode(content));\n        break;\n    }\n\n    window.showInformationMessage(\n      l10n.t(\"Notebook exported to {0}\", uri.fsPath),\n    );\n  } catch (error) {\n    window.showErrorMessage(\n      l10n.t(\"Failed to export notebook: {0}\", error.message || error),\n    );\n  }\n};\n\nexport const saveOutput = async () => {\n  const notebook = window.activeNotebookEditor?.notebook;\n  const activeCell = window.activeNotebookEditor?.selection?.start;\n\n  if (!notebook || activeCell === undefined) {\n    return;\n  }\n\n  const cell = notebook.cellAt(activeCell);\n  if (!cell) {\n    return;\n  }\n\n  let odsItem = null;\n  let logItem = null;\n\n  for (const output of cell.outputs) {\n    if (!odsItem) {\n      odsItem = output.items.find(\n        (item) => item.mime === \"application/vnd.sas.ods.html5\",\n      );\n    }\n    if (!logItem) {\n      logItem = output.items.find(\n        (item) => item.mime === \"application/vnd.sas.compute.log.lines\",\n      );\n    }\n\n    if (odsItem && logItem) {\n      break;\n    }\n  }\n\n  const choices: Array<{\n    label: string;\n    outputType: \"html\" | \"log\";\n  }> = [];\n\n  if (odsItem) {\n    choices.push({\n      label: l10n.t(\"Save ODS HTML\"),\n      outputType: \"html\",\n    });\n  }\n\n  if (logItem) {\n    choices.push({\n      label: l10n.t(\"Save Log\"),\n      outputType: \"log\",\n    });\n  }\n\n  const exportChoice = await window.showQuickPick(choices, {\n    placeHolder: l10n.t(\"Choose output type to save\"),\n    ignoreFocusOut: true,\n  });\n\n  if (!exportChoice) {\n    return;\n  }\n\n  let content = \"\";\n  let fileExtension = \"\";\n  let fileName = \"\";\n  try {\n    if (exportChoice.outputType === \"html\" && odsItem) {\n      content = odsItem.data.toString();\n      fileExtension = \"html\";\n      fileName = `${path.basename(notebook.uri.path, \".sasnb\")}_${l10n.t(\"output\")}_${\n        activeCell + 1\n      }.html`;\n    } else if (exportChoice.outputType === \"log\" && logItem) {\n      const logs: Array<{ line: string; type: string }> = JSON.parse(\n        logItem.data.toString(),\n      );\n      content = logs.map((log) => log.line).join(\"\\n\");\n      fileExtension = \"log\";\n      fileName = `${path.basename(notebook.uri.path, \".sasnb\")}_${l10n.t(\"output\")}_${\n        activeCell + 1\n      }.log`;\n    }\n  } catch (error) {\n    window.showErrorMessage(\n      l10n.t(\"Failed to extract output content.\" + error),\n    );\n    return;\n  }\n\n  const filters: { [name: string]: string[] } = {};\n  filters[fileExtension.toUpperCase()] = [fileExtension];\n\n  const uri = await window.showSaveDialog({\n    filters,\n    defaultUri: Uri.parse(fileName),\n  });\n\n  if (!uri) {\n    return;\n  }\n\n  await workspace.fs.writeFile(uri, new TextEncoder().encode(content));\n\n  window.showInformationMessage(l10n.t(\"Saved to {0}\", uri.fsPath));\n};\n"
  },
  {
    "path": "client/src/components/notebook/exporters/templates/dark.css",
    "content": "body {\n  background-color: #03233a;\n  color: #cccccc;\n  --border-color: #b0b7bb;\n  --highlight-background-color: #9fb6c633;\n}\n.markdown-cell a:link {\n  color: #3794ff;\n}\n.hljs {\n  background: #021727;\n  color: #dddfe4;\n}\n\n/* Syntax highlighting */\n.hljs-operator,\n.hljs-punctuation {\n  color: #dddfe4;\n}\n\n.hljs-keyword {\n  color: #4398f9;\n}\n\n.hljs-comment {\n  color: #97c03f;\n}\n\n.hljs-string {\n  color: #f17e70;\n}\n\n.hljs-number {\n  color: #54b6a4;\n}\n\n.hljs-title {\n  color: #92c3fc;\n  font-weight: bold;\n}\n\n.hljs-built_in {\n  color: #faaa6b;\n}\n\n/* SAS Syntax */\n.sas-syntax-sep {\n  color: #dddfe4;\n}\n\n.sas-syntax-keyword,\n.sas-syntax-macro-keyword {\n  color: #4398f9;\n}\n\n.sas-syntax-sec-keyword,\n.sas-syntax-proc-name {\n  color: #92c3fc;\n  font-weight: bold;\n}\n\n.sas-syntax-comment,\n.sas-syntax-macro-comment {\n  color: #97c03f;\n}\n\n.sas-syntax-macro-ref,\n.sas-syntax-macro-sec-keyword {\n  color: #dddfe4;\n  font-weight: bold;\n}\n\n.sas-syntax-macro-keyword-param {\n  color: #97c6fc;\n}\n\n.sas-syntax-cards-data {\n  color: #faaa6b;\n}\n\n.sas-syntax-string {\n  color: #f17e70;\n}\n\n.sas-syntax-date,\n.sas-syntax-time,\n.sas-syntax-dt,\n.sas-syntax-bitmask {\n  color: #54b6a4;\n  font-weight: bold;\n}\n\n.sas-syntax-namelit {\n  color: #f17e70;\n  font-weight: bold;\n}\n\n.sas-syntax-hex,\n.sas-syntax-numeric {\n  color: #54b6a4;\n  font-weight: bold;\n}\n\n.sas-syntax-format {\n  color: #54b6a4;\n}\n\n.log-line.sas-log-error {\n  color: #ff4d4d;\n}\n\n.log-line.sas-log-warning {\n  color: #ffb829;\n}\n\n.log-line.sas-log-note {\n  color: #2fa8fe;\n}\n"
  },
  {
    "path": "client/src/components/notebook/exporters/templates/default.html",
    "content": "<!doctype html>\n<html>\n  <head>\n    <meta charset=\"utf-8\" />\n    <style>\n      ${katex}\n    </style>\n    <style>\n      body {\n        font-family: \"Segoe UI\", sans-serif;\n      }\n      .markdown-cell table td,\n      .markdown-cell table th {\n        border: 1px solid var(--border-color);\n      }\n      .markdown-cell code {\n        padding: 0 .4em;\n        border-radius: 4px;\n        background-color: var(--highlight-background-color);\n      }\n      /* Override KaTeX default to ensure display mode math is centered */\n      .markdown-cell .katex-display {\n        display: block;\n        text-align: center;\n      }\n      /* Also ensure inner spans inherit the centering */\n      .markdown-cell .katex-display span {\n        text-align: center;\n      }\n      .code-cell {\n        position: relative;\n        font-size: 14px;\n      }\n      .code-cell pre code {\n        font-family: Consolas, monospace;\n      }\n      pre code.hljs {\n        display: block;\n        overflow-x: auto;\n        padding: 1em;\n        border: 1px solid var(--border-color);\n      }\n      .code-cell .languageId {\n        position: absolute;\n        bottom: 0;\n        right: 0;\n        text-transform: uppercase;\n        padding: .1em .5em;\n        background-color: var(--highlight-background-color);\n      }\n      .log-line {\n        font-family: Consolas, monospace;\n        font-size: 14px;\n        white-space: pre-wrap;\n        margin-inline-start: 1em;\n      }\n      ${theme}\n    </style>\n  </head>\n  <body>\n    ${content}\n  </body>\n</html>\n"
  },
  {
    "path": "client/src/components/notebook/exporters/templates/light.css",
    "content": "body {\n  color: #3b3b3b;\n  --border-color: #b0b7bb;\n  --highlight-background-color: #818b981f;\n}\n.hljs {\n  background: #fff;\n}\n\n/* Syntax highlighting */\n.hljs-operator,\n.hljs-punctuation {\n  color: #1b1d22;\n}\n\n.hljs-keyword {\n  color: #3578c5;\n}\n\n.hljs-comment {\n  color: #647f29;\n}\n\n.hljs-string {\n  color: #8f4238;\n}\n\n.hljs-number {\n  color: #3c8275;\n}\n\n.hljs-title {\n  color: #224c7c;\n  font-weight: bold;\n}\n\n.hljs-built_in {\n  color: #aa0d91;\n}\n\n/* SAS Syntax */\n.sas-syntax-sep {\n  color: #1b1d22;\n}\n\n.sas-syntax-keyword,\n.sas-syntax-macro-keyword {\n  color: #3578c5;\n}\n\n.sas-syntax-sec-keyword,\n.sas-syntax-proc-name {\n  color: #224c7c;\n  font-weight: bold;\n}\n\n.sas-syntax-comment,\n.sas-syntax-macro-comment {\n  color: #647f29;\n}\n\n.sas-syntax-macro-ref,\n.sas-syntax-macro-sec-keyword {\n  color: #1b1d22;\n  font-weight: bold;\n}\n\n.sas-syntax-macro-keyword-param {\n  color: #054894;\n}\n\n.sas-syntax-cards-data {\n  color: #ad6531;\n}\n\n.sas-syntax-string {\n  color: #8f4238;\n}\n\n.sas-syntax-date,\n.sas-syntax-time,\n.sas-syntax-dt,\n.sas-syntax-bitmask {\n  color: #3c8275;\n  font-weight: bold;\n}\n\n.sas-syntax-namelit {\n  color: #8f4238;\n  font-weight: bold;\n}\n\n.sas-syntax-hex,\n.sas-syntax-numeric {\n  color: #3c8275;\n  font-weight: bold;\n}\n\n.sas-syntax-format {\n  color: #3c8275;\n}\n\n.log-line.sas-log-error {\n  color: #ff0000;\n}\n\n.log-line.sas-log-warning {\n  color: #8f5f00;\n}\n\n.log-line.sas-log-note {\n  color: #0000ff;\n}\n"
  },
  {
    "path": "client/src/components/notebook/exporters/toHTML.ts",
    "content": "// Copyright © 2025, SAS Institute Inc., Cary, NC, USA.  All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport {\n  ColorThemeKind,\n  NotebookCell,\n  NotebookCellKind,\n  NotebookCellOutput,\n  NotebookDocument,\n  TextDocument,\n  window,\n} from \"vscode\";\nimport {\n  LanguageClient,\n  SemanticTokensRequest,\n} from \"vscode-languageclient/node\";\n\nimport { readFileSync } from \"fs\";\nimport hljs from \"highlight.js/lib/core\";\nimport python from \"highlight.js/lib/languages/python\";\nimport r from \"highlight.js/lib/languages/r\";\nimport sql from \"highlight.js/lib/languages/sql\";\nimport { marked } from \"marked\";\nimport markedKatex from \"marked-katex-extension\";\nimport path from \"path\";\n\nimport type { LogLine } from \"../../../connection\";\nimport { includeLogInNotebookExport } from \"../../utils/settings\";\n\nconst templatesDir = path.resolve(__dirname, \"../notebook/exporters/templates\");\n\nhljs.registerLanguage(\"python\", python);\nhljs.registerLanguage(\"r\", r);\nhljs.registerLanguage(\"sql\", sql);\n\n// Configure marked options\nmarked.setOptions({\n  breaks: false,\n  gfm: false,\n});\n\n// Enable KaTeX extension for marked\nmarked.use(markedKatex());\n\nexport const exportToHTML = async (\n  notebook: NotebookDocument,\n  client: LanguageClient,\n) => {\n  const cells = notebook.getCells();\n\n  let template = readFileSync(`${templatesDir}/default.html`).toString();\n\n  const isDark =\n    window.activeColorTheme.kind === ColorThemeKind.Dark ||\n    window.activeColorTheme.kind === ColorThemeKind.HighContrast;\n  const theme = readFileSync(\n    `${templatesDir}/${isDark ? \"dark\" : \"light\"}.css`,\n  ).toString();\n\n  // Read KaTeX CSS from templates directory (copied from node_modules during build)\n  const katexCss = readFileSync(`${templatesDir}/katex.css`).toString();\n\n  template = template.replace(\"${katex}\", katexCss);\n  template = template.replace(\"${theme}\", theme);\n  template = template.replace(\"${content}\", await exportCells(cells, client));\n\n  return template;\n};\n\nconst exportCells = async (cells: NotebookCell[], client: LanguageClient) => {\n  let result = \"\";\n\n  for (const cell of cells) {\n    if (cell.kind === NotebookCellKind.Markup) {\n      result += markdownToHTML(cell.document) + \"\\n\";\n    } else {\n      result += (await codeToHTML(cell.document, client)) + \"\\n\";\n      if (cell.outputs.length > 0) {\n        for (const output of cell.outputs) {\n          if (includeLogInNotebookExport()) {\n            result += logToHTML(output) + \"\\n\";\n          }\n          result += odsToHTML(output) + \"\\n\";\n        }\n      }\n    }\n  }\n\n  return result;\n};\n\nconst markdownToHTML = (doc: TextDocument) => {\n  let text = doc.getText();\n  text = normalizeDisplayMathBlocks(text);\n\n  return `<div class=\"markdown-cell\">\n${marked.parse(text)}\n</div>`;\n};\n\n/**\n * Normalize display math blocks in markdown text.\n *\n * Ensures each $$...$$ display math block is on its own lines with blank\n * lines before and after, and trims leading/trailing whitespace inside the\n * delimiters while preserving internal newlines.\n *\n * @example\n * Inline: \"This is $$ x^2 $$ in text.\" -> \"This is\\n\\n$$\\n x^2\\n$$\\n\\n\"\n *\n * @example\n * Display: \"Text$$\\\\frac{1}{2}$$More\" -> \"Text\\n\\n$$\\n\\\\frac{1}{2}\\n$$\\n\\nMore\"\n */\nconst normalizeDisplayMathBlocks = (input: string) =>\n  input.replace(/\\$\\$([\\s\\S]*?)\\$\\$/g, (_match, content) => {\n    const trimmedContent = content.trim();\n    return `\\n\\n$$\\n${trimmedContent}\\n$$\\n\\n`;\n  });\n\nconst codeToHTML = async (doc: TextDocument, client: LanguageClient) => {\n  let result = \"\";\n  if (doc.languageId === \"sas\") {\n    result = await SASToHTML(doc, client);\n  } else {\n    result = hljs.highlight(doc.getText(), {\n      language: doc.languageId,\n    }).value;\n  }\n  return `<div class=\"code-cell\">\n<pre><code class=\"hljs\">${result}</code></pre>\n<div class=\"languageId\">${doc.languageId}</div>\n</div>`;\n};\n\nconst SASToHTML = async (doc: TextDocument, client: LanguageClient) => {\n  const result = [];\n  const tokens = (\n    await client.sendRequest(SemanticTokensRequest.type, {\n      textDocument: {\n        uri: doc.uri.toString(),\n      },\n    })\n  ).data;\n  const legend =\n    client.initializeResult.capabilities.semanticTokensProvider.legend\n      .tokenTypes;\n  let tokenIndex = 0;\n  let token =\n    tokenIndex + 4 < tokens.length\n      ? {\n          line: tokens[tokenIndex],\n          startChar: tokens[tokenIndex + 1],\n          length: tokens[tokenIndex + 2],\n          tokenType: tokens[tokenIndex + 3],\n        }\n      : null;\n\n  for (let line = 0; line < doc.lineCount; line++) {\n    const lineText = doc.lineAt(line).text;\n    const parts = [];\n    let end = 0;\n\n    while (token && token.line === line) {\n      parts.push(lineText.slice(end, token.startChar));\n      end = token.startChar + token.length;\n      parts.push(\n        `<span class=\"sas-syntax-${legend[token.tokenType]}\">${lineText.slice(\n          token.startChar,\n          end,\n        )}</span>`,\n      );\n      tokenIndex += 5;\n      token =\n        tokenIndex + 4 < tokens.length\n          ? {\n              line: tokens[tokenIndex] + token.line,\n              startChar:\n                tokens[tokenIndex + 1] +\n                (tokens[tokenIndex] > 0 ? 0 : token.startChar),\n              length: tokens[tokenIndex + 2],\n              tokenType: tokens[tokenIndex + 3],\n            }\n          : null;\n    }\n    parts.push(lineText.slice(end));\n    result.push(parts.join(\"\"));\n  }\n  return result.join(\"\\n\");\n};\n\nconst odsToHTML = (output: NotebookCellOutput) => {\n  const ods = output.items.find(\n    (item) => item.mime === \"application/vnd.sas.ods.html5\",\n  );\n  if (ods) {\n    const html = ods.data.toString();\n    const style = html.slice(\n      html.indexOf(\"<style>\"),\n      html.indexOf(\"</style>\") + 8,\n    );\n    const content = html.slice(\n      html.indexOf(\"<body \") + 6,\n      html.lastIndexOf(\"</body>\"),\n    );\n    return `<div class=\"cell-output\">\n${style}\n<div ${content}</div>\n</div>`;\n  }\n  return \"\";\n};\n\nconst logToHTML = (output: NotebookCellOutput) => {\n  const logItem = output.items.find(\n    (item) => item.mime === \"application/vnd.sas.compute.log.lines\",\n  );\n  if (logItem) {\n    const logs: LogLine[] = JSON.parse(logItem.data.toString());\n    return `<div class=\"cell-output\">\n${logs\n  .map(\n    (line) => `<div class=\"log-line sas-log-${line.type}\">${line.line}</div>`,\n  )\n  .join(\"\\n\")}\n</div>`;\n  }\n  return \"\";\n};\n"
  },
  {
    "path": "client/src/components/notebook/exporters/toSAS.ts",
    "content": "// Copyright © 2025, SAS Institute Inc., Cary, NC, USA.  All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { NotebookCell, NotebookDocument } from \"vscode\";\n\nexport const exportToSAS = (notebook: NotebookDocument) =>\n  notebook\n    .getCells()\n    .map((cell) => exportCell(cell) + \"\\n\")\n    .join(\"\\n\");\n\nconst exportCell = (cell: NotebookCell) => {\n  const text = cell.document.getText();\n  switch (cell.document.languageId) {\n    case \"sas\":\n      return text;\n    case \"python\":\n      return wrapPython(text);\n    case \"r\":\n      return wrapR(text);\n    case \"sql\":\n      return wrapSQL(text);\n    case \"markdown\":\n      return `/*\\n${text}\\n*/`;\n  }\n};\n\nconst wrapSQL = (code: string) => {\n  if (!code.trimEnd().endsWith(\";\")) {\n    code = `${code};`;\n  }\n  return `proc sql;\n${code}\nquit;`;\n};\n\nconst wrapPython = (code: string) => `proc python;\nsubmit;\n${code}\nendsubmit;\nrun;`;\n\nconst wrapR = (code: string) => `proc r;\nsubmit;\n${code}\nendsubmit;\nrun;`;\n"
  },
  {
    "path": "client/src/components/notebook/renderers/HTMLRenderer.ts",
    "content": "// Copyright © 2023, SAS Institute Inc., Cary, NC, USA.  All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport type { ActivationFunction } from \"vscode-notebook-renderer\";\n\n/**\n * Replace the last occurrence of a substring\n */\nfunction replaceLast(\n  base: string,\n  searchValue: string,\n  replaceValue: string,\n): string {\n  const index = base.lastIndexOf(searchValue);\n  if (index < 0) {\n    return base;\n  }\n  return (\n    base.slice(0, index) + replaceValue + base.slice(index + searchValue.length)\n  );\n}\n\nexport const activate: ActivationFunction = () => ({\n  renderOutputItem(data, element) {\n    const html = data.text();\n    let shadow = element.shadowRoot;\n    if (!shadow) {\n      shadow = element.attachShadow({ mode: \"open\" });\n    }\n    shadow.innerHTML = replaceLast(\n      // it's not a whole webview, body not allowed\n      html.replace(\"<body \", \"<div \"),\n      \"</body>\",\n      \"</div>\",\n    );\n  },\n});\n"
  },
  {
    "path": "client/src/components/notebook/renderers/LogRenderer.ts",
    "content": "// Copyright © 2023, SAS Institute Inc., Cary, NC, USA.  All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport type { ActivationFunction } from \"vscode-notebook-renderer\";\n\nimport type { LogLine } from \"../../../connection\";\n\nconst colorMap = {\n  error: \"var(--vscode-editorError-foreground)\",\n  warning: \"var(--vscode-editorWarning-foreground)\",\n  note: \"var(--vscode-editorInfo-foreground)\",\n};\n\nexport const activate: ActivationFunction = () => ({\n  renderOutputItem(data, element) {\n    const root = document.createElement(\"div\");\n    root.style.whiteSpace = \"pre\";\n    root.style.fontFamily = \"var(--vscode-editor-font-family)\";\n\n    const logs: LogLine[] = data.json();\n    for (const line of logs) {\n      const color = colorMap[line.type];\n      const div = document.createElement(\"div\");\n      div.innerText = line.line;\n      if (color) {\n        div.style.color = color;\n      }\n      root.append(div);\n    }\n    element.replaceChildren(root);\n  },\n});\n"
  },
  {
    "path": "client/src/components/profile.ts",
    "content": "// Copyright © 2022-2023, SAS Institute Inc., Cary, NC, USA.  All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport {\n  ConfigurationTarget,\n  QuickPickOptions,\n  commands,\n  l10n,\n  window,\n  workspace,\n} from \"vscode\";\n\nimport { readFileSync } from \"fs\";\n\nexport const EXTENSION_CONFIG_KEY = \"SAS\";\nexport const EXTENSION_DEFINE_PROFILES_CONFIG_KEY = \"connectionProfiles\";\nexport const EXTENSION_PROFILES_CONFIG_KEY = \"profiles\";\nexport const EXTENSION_ACTIVE_PROFILE_CONFIG_KEY = \"activeProfile\";\n\nenum ConnectionOptions {\n  SAS9COM = \"SAS 9.4 (local)\",\n  SAS9IOM = \"SAS 9.4 (remote - IOM)\",\n  SAS9SSH = \"SAS 9.4 (remote - SSH)\",\n  SASViya = \"SAS Viya\",\n}\n\nconst CONNECTION_PICK_OPTS: string[] = [\n  ConnectionOptions.SASViya,\n  ConnectionOptions.SAS9SSH,\n  ConnectionOptions.SAS9IOM,\n  ConnectionOptions.SAS9COM,\n];\n\n/**\n * The default compute context that will be used to create a SAS session.\n */\nexport const DEFAULT_COMPUTE_CONTEXT = \"SAS Job Execution compute context\";\nexport const DEFAULT_SSH_PORT = \"22\";\nexport const DEFAULT_IOM_PORT = \"8591\";\n\n/**\n * Dictionary is a type that maps a generic object with a string key.\n */\nexport type Dictionary<T> = {\n  [key: string]: T;\n};\n\n/**\n * Enum that represents the authentication type for a profile.\n */\nexport enum AuthType {\n  AuthCode = \"authorization_code\",\n  Error = \"error\",\n}\n\n/**\n * Enum that represents the connection type for a profile.\n */\nexport enum ConnectionType {\n  COM = \"com\",\n  IOM = \"iom\",\n  Rest = \"rest\",\n  SSH = \"ssh\",\n}\n\n/**\n * Profile is an interface that represents a users profile.  Currently\n * supports two different authentication flows, token and password\n * flow with the clientId and clientSecret.\n *\n * Direct connect is also supported where a server is already started with\n * a static serverId. Setting serverId in the profile indicates that a connection\n * to that specific server with Id will be created. This overrides the context\n * value. Normally this option should not be set by the user since it is most likely\n * being set by an automated process.\n */\nexport interface ViyaProfile extends BaseProfile, ProfileWithFileRootOptions {\n  connectionType: ConnectionType.Rest;\n  endpoint: string;\n  clientId?: string;\n  clientSecret?: string;\n  context?: string;\n  serverId?: string;\n}\n\nexport interface SSHProfile extends BaseProfile {\n  connectionType: ConnectionType.SSH;\n  host: string;\n  saspath: string;\n  port: number;\n  username: string;\n  privateKeyFilePath?: string;\n}\n\nexport interface COMProfile extends BaseProfile, ProfileWithFileRootOptions {\n  connectionType: ConnectionType.COM;\n  host: string;\n}\n\nexport interface IOMProfile extends BaseProfile, ProfileWithFileRootOptions {\n  connectionType: ConnectionType.IOM;\n  host: string;\n  username: string;\n  port: number;\n}\n\nexport type Profile = ViyaProfile | SSHProfile | COMProfile | IOMProfile;\n\nexport enum AutoExecType {\n  File = \"file\",\n  Line = \"line\",\n}\n\nexport type AutoExec = AutoExecLine | AutoExecFile;\n\nexport interface AutoExecLine {\n  type: AutoExecType.Line;\n  line: string;\n}\n\nexport interface AutoExecFile {\n  type: AutoExecType.File;\n  filePath: string;\n}\n\nexport interface BaseProfile {\n  sasOptions?: string[];\n  autoExec?: AutoExec[];\n}\n\nexport interface ProfileWithFileRootOptions {\n  fileNavigationCustomRootPath?: string;\n  fileNavigationRoot?: \"CUSTOM\" | \"SYSTEM\" | \"USER\";\n}\n\nexport const toAutoExecLines = (autoExec: AutoExec[]): string[] => {\n  const lines: string[] = [];\n\n  for (const item of autoExec) {\n    switch (item.type) {\n      case AutoExecType.Line:\n        lines.push(item.line);\n        break;\n      case AutoExecType.File:\n        lines.push(...toAutoExecLinesFromPaths(item.filePath));\n        break;\n      default:\n        break;\n    }\n  }\n  return lines;\n};\n\n/**\n * Reads content from the given string paths.\n * Content is read sequentially from each path starting at the zeroth path,\n * appending each content line into the output array.\n *\n * If there is an error reading a file in the paths array, then\n * the file is skipped and content is not added.\n * @param paths string array of paths to read content from.\n * @returns string array of lines\n */\nconst toAutoExecLinesFromPaths = (filePath: string): string[] => {\n  const lines: string[] = [];\n  try {\n    const content = readFileSync(filePath, \"utf8\").split(/\\n|\\r\\n/);\n    lines.push(...content);\n  } catch (e) {\n    const err: Error = e;\n    console.warn(\n      `Error reading file: ${filePath}, error: ${err.message}, skipping...`,\n    );\n  }\n  return lines;\n};\n\n/**\n * Profile detail is an interface that encapsulates the name of the profile\n * with the {@link Profile}.\n */\nexport interface ProfileDetail {\n  name: string;\n  profile: Profile;\n}\n\n/**\n * Profile validation is an interface that represents the validation\n * information from a profile needed when making a SAS connection.\n */\nexport interface ProfileValidation {\n  type: AuthType;\n  error: string;\n  data?: string;\n  profile: Profile;\n}\n\n/**\n * ProfileConfig manages a list of {@link Profile}s that are located in vscode settings.\n * Connection Profiles are designed to keep track of multiple\n * configurations of SAS Connections.\n */\nexport class ProfileConfig {\n  /**\n   * Helper function to migrate legacy profiles without a connection type.\n   */\n  async migrateLegacyProfiles() {\n    const profiles = this.getAllProfiles();\n\n    if (profiles) {\n      for (const key in profiles) {\n        const profile = profiles[key];\n        if (profile.connectionType === undefined) {\n          profile.connectionType = ConnectionType.Rest;\n          await this.upsertProfile(key, profile);\n        }\n        if (\n          profile.connectionType === ConnectionType.Rest &&\n          /\\/$/.test(profile.endpoint)\n        ) {\n          profile.endpoint = profile.endpoint.replace(/\\/$/, \"\");\n          await this.upsertProfile(key, profile);\n        }\n      }\n    }\n  }\n\n  /**\n   * Validates settings.json to confirm that SAS.connectionProfiles exists\n   * as a key, and updates it, if the setting does not exists\n   *\n   * @returns Boolean for pass or fail\n   */\n  validateSettings(): boolean {\n    const profileList: Dictionary<Profile> = workspace\n      .getConfiguration(EXTENSION_CONFIG_KEY)\n      .get(EXTENSION_DEFINE_PROFILES_CONFIG_KEY)[EXTENSION_PROFILES_CONFIG_KEY];\n\n    if (!profileList) {\n      workspace.getConfiguration(EXTENSION_CONFIG_KEY).update(\n        EXTENSION_DEFINE_PROFILES_CONFIG_KEY,\n        {\n          activeProfile: \"\",\n          profiles: {},\n        },\n        ConfigurationTarget.Global,\n      );\n      return false;\n    }\n    return true;\n  }\n\n  /**\n   * Get the active profile from the vscode settings.\n   *\n   * @returns String name to the active profile\n   */\n  getActiveProfile(): string {\n    if (!this.validateSettings()) {\n      return \"\";\n    }\n    const activeProfile: string = workspace\n      .getConfiguration(EXTENSION_CONFIG_KEY)\n      .get(EXTENSION_DEFINE_PROFILES_CONFIG_KEY)[\n      EXTENSION_ACTIVE_PROFILE_CONFIG_KEY\n    ];\n    return activeProfile;\n  }\n\n  /**\n   * Gets all profiles from the vscode settings.\n   *\n   * @returns Dictionary of profiles\n   */\n  getAllProfiles(): Dictionary<Profile> {\n    if (!this.validateSettings()) {\n      return {};\n    }\n    const profileList: Dictionary<Profile> = workspace\n      .getConfiguration(EXTENSION_CONFIG_KEY)\n      .get(EXTENSION_DEFINE_PROFILES_CONFIG_KEY)[EXTENSION_PROFILES_CONFIG_KEY];\n\n    return profileList;\n  }\n\n  /**\n   * Update VSCode settings with profile dictionary\n   *\n   * @param profileDict {@link Dictionary<Profile>} the value for the key\n   */\n  async updateProfileSetting(profileDict: Dictionary<Profile>): Promise<void> {\n    const currentActiveProfile = this.getActiveProfile();\n    const profiles = {\n      activeProfile: currentActiveProfile,\n      profiles: profileDict,\n    };\n    await workspace\n      .getConfiguration(EXTENSION_CONFIG_KEY)\n      .update(\n        EXTENSION_DEFINE_PROFILES_CONFIG_KEY,\n        profiles,\n        ConfigurationTarget.Global,\n      );\n  }\n\n  /**\n   * Update VSCode settings with active profile\n   *\n   * @param activeProfileParam {@link String} the value for the key\n   */\n  async updateActiveProfileSetting(activeProfileParam: string): Promise<void> {\n    const profileList = this.getAllProfiles();\n    const profiles = {\n      activeProfile: activeProfileParam,\n      profiles: profileList,\n    };\n    if (activeProfileParam in profileList) {\n      commands.executeCommand(\"SAS.close\", true);\n    } else {\n      profiles.activeProfile = \"\";\n    }\n    await workspace\n      .getConfiguration(EXTENSION_CONFIG_KEY)\n      .update(\n        EXTENSION_DEFINE_PROFILES_CONFIG_KEY,\n        profiles,\n        ConfigurationTarget.Global,\n      );\n  }\n\n  /**\n   * Determines the number of profiles found in settings\n   *\n   * @returns number of profiles found in vscode settings\n   */\n  length(): number {\n    return Object.keys(this.getAllProfiles()).length;\n  }\n\n  /**\n   * Retreives the list of profile names.\n   *\n   * @returns List of profile names\n   */\n  listProfile(): string[] {\n    return Object.keys(this.getAllProfiles());\n  }\n\n  /**\n   * Retrieves the {@link Profile} by name from the profile configuration.  If the profile\n   * is not found by name, a default {@link Profile} will be generated and returned.\n   *\n   * @param name {@link String} of the profile name\n   * @returns Profile object\n   */\n  getProfileByName<T extends Profile>(name: string): T {\n    const profileList = this.getAllProfiles();\n    if (name in profileList) {\n      /* eslint-disable @typescript-eslint/consistent-type-assertions*/\n      return profileList[name] as T;\n    }\n    return undefined;\n  }\n\n  /**\n   * Retrieves the {@link ProfileDetail} of the active profile set in the profile\n   * configurations.\n   *\n   * @returns Optional ProfileDetail\n   */\n  getActiveProfileDetail(): ProfileDetail | undefined {\n    const activeProfileName = this.getActiveProfile();\n\n    const profileList = this.getAllProfiles();\n    if (activeProfileName in profileList) {\n      const profile = { ...profileList[activeProfileName] };\n      if (\n        profile.connectionType === ConnectionType.Rest &&\n        /\\/$/.test(profile.endpoint)\n      ) {\n        profile.endpoint = profile.endpoint.replace(/\\/$/, \"\");\n      }\n      const detail: ProfileDetail = {\n        name: activeProfileName,\n        profile,\n      };\n      return detail;\n    } else {\n      return undefined;\n    }\n  }\n\n  /**\n   * Upsert allows for add or update the new {@link Profile} into vscode settings.\n   *\n   * @param name {@link String} of the name of the profile\n   * @param profile {@link Profile} object\n   */\n  async upsertProfile(name: string, profile: Profile): Promise<void> {\n    const profileList = this.getAllProfiles();\n    // Cannot mutate VSCode Config Object, create a clone and add that to settings.json\n    const newProfileList = JSON.parse(JSON.stringify(profileList));\n    newProfileList[name] = profile;\n    await this.updateProfileSetting(newProfileList);\n  }\n\n  /**\n   * Deletes a profile from the vscode settings.\n   *\n   * @param name {@link String} of the name of the profile\n   */\n  async deleteProfile(name: string): Promise<void> {\n    const profileList = this.getAllProfiles();\n    if (name in profileList) {\n      // Cannot mutate VSCode Config Object, create a clone and add that to settings.json\n      const newProfileList = JSON.parse(JSON.stringify(profileList));\n      delete newProfileList[name];\n      await this.updateProfileSetting(newProfileList);\n      if (name === this.getActiveProfile()) {\n        await this.updateActiveProfileSetting(\"\");\n      }\n    }\n  }\n\n  /**\n   * Validates if the {@link ProfileDetail} meets the requirements needed for authentication\n   * and returns back the authentication type.\n   *\n   * The validation process calculates the authentication flow by what is detailed in the\n   * {@link ProfileDetail}.  If the conditions to calculate the authentication flow are not\n   * meet, then an error is provided in the {@link ProfileValidation}.\n   *\n   * @param profileDetail\n   * @returns ProfileValidation object\n   */\n  validateProfile(profileDetail?: ProfileDetail): ProfileValidation {\n    const pv: ProfileValidation = {\n      type: AuthType.Error,\n      error: \"\",\n      profile: undefined,\n    };\n\n    //Validate active profile, return early if not valid\n    if (!profileDetail?.profile) {\n      pv.error = l10n.t(\"No Active Profile\");\n      return pv;\n    }\n\n    const profile: Profile = profileDetail.profile;\n    if (profile.connectionType === undefined) {\n      pv.error = l10n.t(\"Missing connectionType in active profile.\");\n      return pv;\n    }\n    if (profile.connectionType === ConnectionType.Rest) {\n      if (!profile.endpoint) {\n        pv.error = l10n.t(\"Missing endpoint in active profile.\");\n        return pv;\n      }\n    } else if (profile.connectionType === ConnectionType.SSH) {\n      if (!profile.host) {\n        pv.error = l10n.t(\"Missing host in active profile.\");\n        return pv;\n      }\n\n      if (!profile.port) {\n        pv.error = l10n.t(\"Missing port in active profile.\");\n        return pv;\n      }\n\n      if (!profile.saspath) {\n        pv.error = l10n.t(\"Missing sas path in active profile.\");\n        return pv;\n      }\n      if (!profile.username) {\n        pv.error = l10n.t(\"Missing username in active profile.\");\n        return pv;\n      }\n    }\n\n    pv.profile = profileDetail.profile;\n    pv.type = AuthType.AuthCode;\n    return pv;\n  }\n\n  /**\n   * Requests users input on updating or adding a new profile.\n   *\n   * @param name the {@link String} representation of the name of the profile\n   */\n  async prompt(name: string): Promise<void> {\n    const profile: Profile = this.getProfileByName(name);\n    // Cannot mutate VSCode Config Object, create a clone and upsert\n    let profileClone = { ...profile };\n    if (!profile) {\n      profileClone = {\n        connectionType: ConnectionType.Rest,\n        endpoint: undefined,\n      };\n    }\n\n    const inputConnectionType: string = await createInputQuickPick(\n      CONNECTION_PICK_OPTS,\n      ProfilePromptType.ConnectionType,\n    );\n    if (inputConnectionType === undefined) {\n      return;\n    }\n\n    profileClone.connectionType = mapQuickPickToEnum(inputConnectionType);\n\n    if (profileClone.connectionType === ConnectionType.Rest) {\n      profileClone.endpoint = await createInputTextBox(\n        ProfilePromptType.Endpoint,\n        profileClone.endpoint,\n      );\n\n      if (!profileClone.endpoint) {\n        return;\n      }\n      profileClone.endpoint = profileClone.endpoint.replace(/\\/$/, \"\");\n\n      profileClone.context = await createInputTextBox(\n        ProfilePromptType.ComputeContext,\n        profileClone.context || DEFAULT_COMPUTE_CONTEXT,\n      );\n      if (profileClone.context === undefined) {\n        return;\n      }\n      if (\n        profileClone.context === \"\" ||\n        profileClone.context === DEFAULT_COMPUTE_CONTEXT\n      ) {\n        delete profileClone.context;\n      }\n\n      profileClone.clientId = await createInputTextBox(\n        ProfilePromptType.ClientId,\n        profileClone.clientId,\n      );\n      if (profileClone.clientId === undefined) {\n        return;\n      }\n      if (profileClone.clientId === \"\") {\n        delete profileClone.clientId;\n      }\n\n      if (profileClone.clientId) {\n        profileClone.clientSecret = await createInputTextBox(\n          ProfilePromptType.ClientSecret,\n          profileClone.clientSecret,\n        );\n        if (profileClone.clientSecret === undefined) {\n          return;\n        }\n      }\n\n      await this.upsertProfile(name, profileClone);\n    } else if (profileClone.connectionType === ConnectionType.SSH) {\n      profileClone.host = await createInputTextBox(\n        ProfilePromptType.Host,\n        profileClone.host,\n      );\n      if (!profileClone.host) {\n        return;\n      }\n\n      profileClone.saspath = await createInputTextBox(\n        ProfilePromptType.SASPath,\n        profileClone.saspath,\n      );\n      if (profileClone.saspath === undefined) {\n        return;\n      }\n\n      profileClone.username = await createInputTextBox(\n        ProfilePromptType.Username,\n        profileClone.username,\n      );\n      if (profileClone.username === undefined) {\n        return;\n      }\n\n      profileClone.port = parseInt(\n        await createInputTextBox(ProfilePromptType.Port, DEFAULT_SSH_PORT),\n      );\n      if (isNaN(profileClone.port)) {\n        return;\n      }\n\n      const keyPath = await createInputTextBox(\n        ProfilePromptType.PrivateKeyFilePath,\n        profileClone.privateKeyFilePath,\n      );\n\n      if (keyPath) {\n        profileClone.privateKeyFilePath = keyPath;\n      }\n\n      await this.upsertProfile(name, profileClone);\n    } else if (profileClone.connectionType === ConnectionType.COM) {\n      profileClone.sasOptions = [];\n      profileClone.host = \"localhost\"; //once remote support rolls out this should be set via prompting\n      await this.upsertProfile(name, profileClone);\n    } else if (profileClone.connectionType === ConnectionType.IOM) {\n      profileClone.sasOptions = [];\n      profileClone.host = await createInputTextBox(\n        ProfilePromptType.Host,\n        profileClone.host,\n      );\n      if (!profileClone.host) {\n        return;\n      }\n\n      profileClone.port = parseInt(\n        await createInputTextBox(ProfilePromptType.Port, DEFAULT_IOM_PORT),\n      );\n      if (isNaN(profileClone.port)) {\n        return;\n      }\n\n      profileClone.username = await createInputTextBox(\n        ProfilePromptType.Username,\n        profileClone.username,\n      );\n      if (profileClone.username === undefined) {\n        return;\n      }\n\n      await this.upsertProfile(name, profileClone);\n    }\n  }\n\n  /**\n   * Retrieves the remote target associated with the active profile. For SSH profiles, the host\n   * value is used. For Viya, the endpoint value is used.\n   * @param profileName - a profile name to retrieve.\n   * @returns\n   */\n  remoteTarget(profileName: string): string {\n    const activeProfile = this.getProfileByName(profileName);\n    switch (activeProfile.connectionType) {\n      case ConnectionType.SSH:\n      case ConnectionType.COM:\n      case ConnectionType.IOM:\n        return activeProfile.host;\n      case ConnectionType.Rest:\n        return activeProfile.endpoint;\n    }\n  }\n}\n\n/**\n * Define an object to represent the values needed for prompting a window.showInputBox\n */\nexport interface ProfilePrompt {\n  title: string;\n  placeholder: string;\n  description: string;\n}\n\n/**\n * An enum representing the types of prompts that can be returned for  window.showInputBox\n */\nexport enum ProfilePromptType {\n  Profile = 0,\n  NewProfile,\n  ClientId,\n  Endpoint,\n  ComputeContext,\n  ClientSecret,\n  ConnectionType,\n  Host,\n  SASPath,\n  Port,\n  Username,\n  PrivateKeyFilePath,\n}\n\n/**\n * An interface that will map an enum of {@link ProfilePromptType} to an interface of {@link ProfilePrompt}.\n */\nexport type ProfilePromptInput = {\n  [key in ProfilePromptType]: ProfilePrompt;\n};\n\n/**\n * Retrieves the {@link ProfilePrompt} by the enum {@link ProfilePromptType}\n *\n * @param type {@link ProfilePromptType}\n * @returns ProfilePrompt object\n */\nexport function getProfilePrompt(type: ProfilePromptType): ProfilePrompt {\n  return input[type];\n}\n\n/**\n * Helper method to generate a window.ShowInputBox with using a defined set of {@link ProfilePrompt}s.\n *\n * @param profilePromptType {@link ProfilePromptType}\n * @param defaultValue the {@link String} of the default value that will be represented in the input box. Defaults to null\n * @param maskValue the {@link boolean} if the input value will be masked\n * @param username the {@link String} of the SAS User ID\n * @returns Thenable<{@link String}> of the users input\n */\nexport async function createInputTextBox(\n  profilePromptType: ProfilePromptType,\n  defaultValue: string | undefined = null,\n  maskValue = false,\n): Promise<string> {\n  const profilePrompt = getProfilePrompt(profilePromptType);\n\n  const entered = await window.showInputBox({\n    title: profilePrompt.title,\n    placeHolder: profilePrompt.placeholder,\n    prompt: profilePrompt.description,\n    password: maskValue,\n    value: defaultValue,\n    ignoreFocusOut: true,\n  });\n  return entered;\n}\n\n/**\n * Helper method to generate a window.ShowInputQuickPick using a defined set of {@link ProfilePrompt}s.\n * @param items list of selectable options to bind to the quickpick.\n * @param profilePromptType {@link ProfilePromptType}\n * @returns Thenable<{@link String}> of the users input\n */\nexport async function createInputQuickPick(\n  items: readonly string[] | Thenable<readonly string[]> = [],\n  profilePromptType: ProfilePromptType,\n): Promise<string> {\n  const profilePrompt = getProfilePrompt(profilePromptType);\n\n  const options: QuickPickOptions = {\n    title: profilePrompt.title,\n    placeHolder: profilePrompt.placeholder,\n    ignoreFocusOut: true,\n    canPickMany: false,\n  };\n\n  const entered = await window.showQuickPick(items, options);\n\n  return entered;\n}\n\n/**\n * Mapped {@link ProfilePrompt} to an enum of {@link ProfilePromptType}.\n */\nconst input: ProfilePromptInput = {\n  [ProfilePromptType.Profile]: {\n    title: l10n.t(\"Switch Current SAS Profile\"),\n    placeholder: l10n.t(\"Select a SAS connection profile\"),\n    description: \"\",\n  },\n  [ProfilePromptType.NewProfile]: {\n    title: l10n.t(\"New SAS Connection Profile Name\"),\n    placeholder: l10n.t(\"Enter connection name\"),\n    description: l10n.t(\n      \"You can also specify connection profile using the settings.json file.\",\n    ),\n  },\n  [ProfilePromptType.Endpoint]: {\n    title: l10n.t(\"SAS Viya Server\"),\n    placeholder: l10n.t(\"Enter the URL\"),\n    description: l10n.t(\n      \"Enter the URL for the SAS Viya server. An example is https://example.sas.com.\",\n    ),\n  },\n  [ProfilePromptType.ComputeContext]: {\n    title: l10n.t(\"SAS Compute Context\"),\n    placeholder: l10n.t(\"Enter the SAS compute context\"),\n    description: l10n.t(\"Enter the SAS compute context.\"),\n  },\n  [ProfilePromptType.ClientId]: {\n    title: l10n.t(\"Client ID\"),\n    placeholder: l10n.t(\"Enter a client ID\"),\n    description: l10n.t(\n      \"Enter the registered client ID. An example is myapp.client.\",\n    ),\n  },\n  [ProfilePromptType.ClientSecret]: {\n    title: l10n.t(\"Client Secret\"),\n    placeholder: l10n.t(\"Enter a client secret\"),\n    description: l10n.t(\n      \"Enter secret for client ID. An example is myapp.secret.\",\n    ),\n  },\n  [ProfilePromptType.ConnectionType]: {\n    title: l10n.t(\"Connection Type\"),\n    placeholder: l10n.t(\"Select a Connection Type\"),\n    description: l10n.t(\"Select a Connection Type.\"),\n  },\n  [ProfilePromptType.Host]: {\n    title: l10n.t(\"SAS 9 Server\"),\n    placeholder: l10n.t(\"Enter the server name\"),\n    description: l10n.t(\"Enter the name of the SAS 9 server.\"),\n  },\n  [ProfilePromptType.SASPath]: {\n    title: l10n.t(\"Server Path\"),\n    placeholder: l10n.t(\"Enter the server path\"),\n    description: l10n.t(\"Enter the server path of the SAS Executable.\"),\n  },\n  [ProfilePromptType.Port]: {\n    title: l10n.t(\"Port Number\"),\n    placeholder: l10n.t(\"Enter a port number\"),\n    description: l10n.t(\"Enter a port number.\"),\n  },\n  [ProfilePromptType.Username]: {\n    title: l10n.t(\"SAS Server Username\"),\n    placeholder: l10n.t(\"Enter your username\"),\n    description: l10n.t(\"Enter your SAS server username.\"),\n  },\n  [ProfilePromptType.PrivateKeyFilePath]: {\n    title: l10n.t(\"Private Key File Path (optional)\"),\n    placeholder: l10n.t(\"Enter the local private key file path\"),\n    description: l10n.t(\"To use the SSH Agent or a password, leave blank.\"),\n  },\n};\n\n/**\n * Helper function to map the quick pick item selection to a well known {@link ConnectionType}.\n * @param connectionTypePickInput - string value of one of the quick pick option inputs\n * @returns {@link ConnectionType}\n */\nfunction mapQuickPickToEnum(connectionTypePickInput: string): ConnectionType {\n  /*\n     Having a translation layer here allows the profile types to potentially evolve separately from the\n     underlying technology used to implement the connection. Down the road its quite possible to have\n     more than one selectable quick pick input that uses the same underlying connection methods..\n  */\n  switch (connectionTypePickInput) {\n    case ConnectionOptions.SASViya:\n      return ConnectionType.Rest;\n    case ConnectionOptions.SAS9SSH:\n      return ConnectionType.SSH;\n    case ConnectionOptions.SAS9COM:\n      return ConnectionType.COM;\n    case ConnectionOptions.SAS9IOM:\n      return ConnectionType.IOM;\n    default:\n      return undefined;\n  }\n}\n"
  },
  {
    "path": "client/src/components/tasks/SasTaskProvider.ts",
    "content": "// Copyright © 2023, SAS Institute Inc., Cary, NC, USA.  All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport {\n  CustomExecution,\n  EventEmitter,\n  ProviderResult,\n  Pseudoterminal,\n  Task,\n  TaskProvider,\n  TaskScope,\n  l10n,\n} from \"vscode\";\n\nimport { hasRunningTask } from \"../../commands/run\";\nimport {\n  Execute,\n  SAS_TASK_TYPE,\n  SasTaskDefinition,\n  SasTaskNames,\n  TaskInfo,\n  runSasFileTask,\n} from \"./SasTasks\";\n\nexport class SasTaskProvider implements TaskProvider {\n  provideTasks(): ProviderResult<Task[]> {\n    return [generateTask(SasTaskNames.RunSasFile, runSasFileTask)];\n  }\n\n  resolveTask(task: Task): ProviderResult<Task> {\n    if (task.definition.task === SasTaskNames.RunSasFile) {\n      return generateTask(task, runSasFileTask);\n    }\n  }\n}\n\nexport class SasPseudoterminal implements Pseudoterminal {\n  private messageEmitter = new EventEmitter<string>();\n  private closeEmitter = new EventEmitter<number>();\n\n  constructor(\n    private execute: Execute,\n    private taskInfo: TaskInfo,\n  ) {}\n\n  public onDidWrite = this.messageEmitter.event;\n  public onDidClose? = this.closeEmitter.event;\n\n  public open(): void {\n    if (hasRunningTask()) {\n      this.messageEmitter.fire(\n        \"There is running task, please try again after that is complete.\\n\",\n      );\n      this.closeEmitter.fire(1);\n    } else {\n      this.executeTask();\n    }\n  }\n\n  public close(): void {\n    this.closeEmitter.fire(0);\n  }\n  public handleInput?(data): void {\n    // press ctrl + c to cancel executing task.\n    if (data === \"\u0003\") {\n      this.messageEmitter.fire(\"Task is cancelled.\");\n      this.closeEmitter.fire(1);\n    }\n  }\n\n  private async executeTask(): Promise<void> {\n    return new Promise<void>(() => {\n      this.execute(this.messageEmitter, this.taskInfo, this.closeEmitter)\n        .then(() => {\n          this.messageEmitter.fire(l10n.t(\"Task is complete.\") + \"\\r\\n\\r\\n\");\n          this.closeEmitter.fire(0);\n        })\n        .catch((reason) => {\n          this.messageEmitter.fire(reason.message + \"\\r\\n\\r\\n\");\n          this.messageEmitter.fire(l10n.t(\"Task is cancelled.\") + \"\\r\\n\\r\\n\");\n          this.closeEmitter.fire(1);\n        });\n    });\n  }\n}\n\nfunction generateTask(task: string | Task, execute: Execute) {\n  const definition =\n    typeof task === \"object\"\n      ? task.definition\n      : {\n          type: SAS_TASK_TYPE,\n          task: task,\n        };\n\n  return new Task(\n    definition,\n    TaskScope.Workspace,\n    definition.task,\n    SAS_TASK_TYPE,\n    new CustomExecution(async (taskDefinition: SasTaskDefinition) => {\n      return new SasPseudoterminal(execute, {\n        definition: taskDefinition,\n        label: typeof task === \"object\" ? task.name : task,\n      });\n    }),\n  );\n}\n"
  },
  {
    "path": "client/src/components/tasks/SasTasks.ts",
    "content": "// Copyright © 2023, SAS Institute Inc., Cary, NC, USA.  All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { EventEmitter, TaskDefinition, l10n, window, workspace } from \"vscode\";\n\nimport { isAbsolute } from \"path\";\n\nimport { runTask } from \"../../commands/run\";\nimport { SASCodeDocument } from \"../utils/SASCodeDocument\";\nimport { getCodeDocumentConstructionParameters } from \"../utils/SASCodeDocumentHelper\";\n\nexport const SAS_TASK_TYPE = \"sas\";\n\nexport enum SasTaskNames {\n  // Run the sas file indicated in the \"file\" property. if preamble or postamble provided, wrapping the sas code in the file with them.\n  // If this task is called as predefined task or custom task without file or blank file name provided,\n  // the code to run will be the selected code in active editor or be the active file code if there is no code selected.\n  RunSasFile = \"Run sas file\",\n}\n\nexport interface SasTaskDefinition extends TaskDefinition {\n  task: string;\n  file?: string;\n  preamble?: string;\n  postamble?: string;\n}\n\nexport interface TaskInfo {\n  definition: SasTaskDefinition;\n  label: string;\n}\n\nexport type Execute = (\n  messageEmitter: EventEmitter<string>,\n  taskInfo: TaskInfo,\n  closeEmitter: EventEmitter<number>,\n) => Promise<void>;\n\nexport async function runSasFileTask(\n  messageEmitter: EventEmitter<string>,\n  taskInfo: TaskInfo,\n  closeEmitter: EventEmitter<number>,\n) {\n  const {\n    definition: { file, preamble, postamble },\n    label,\n  } = taskInfo;\n\n  const textDocument = await getTextDocumentFromFile(file);\n  const parameters = getCodeDocumentConstructionParameters(textDocument, {\n    selections:\n      file === undefined || file.trim() === \"\"\n        ? window.activeTextEditor?.selections\n        : undefined,\n    preamble,\n    postamble,\n  });\n\n  const codeDoc = new SASCodeDocument(parameters);\n\n  return runTask(codeDoc, messageEmitter, closeEmitter, label);\n}\n\nasync function getTextDocumentFromFile(file: string | undefined) {\n  if (file === undefined || file.trim() === \"\") {\n    return window.activeTextEditor.document;\n  } else if (isAbsolute(file)) {\n    return await workspace.openTextDocument(file);\n  } else {\n    const uri = (await workspace.findFiles(file))[0];\n    if (uri === undefined) {\n      throw new Error(l10n.t(\"Cannot find file: {file}\", { file }));\n    } else {\n      return await workspace.openTextDocument(uri);\n    }\n  }\n}\n"
  },
  {
    "path": "client/src/components/utils/SASCodeDocument.ts",
    "content": "// Copyright © 2024, SAS Institute Inc., Cary, NC, USA.  All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport {\n  ProblemLocation,\n  decomposeCodeLogLine,\n} from \"../logViewer/ProblemProcessor\";\n\nexport interface SASCodeDocumentParameters {\n  languageId: string;\n  code: string;\n  selectedCode: string;\n  uri?: string;\n  fileName?: string;\n  selections?: ReadonlyArray<{\n    start: { line: number; character: number };\n    end: { line: number; character: number };\n  }>;\n  preamble?: string;\n  postamble?: string;\n  outputHtml?: boolean;\n  htmlStyle?: string;\n  uuid?: string;\n  checkKeyword: (LineNumber: number, ...keywords: string[]) => Promise<boolean>;\n}\n\ntype LineNumber = number;\ntype Offset = { lineOffset: number; columnOffset: number };\n\nexport class SASCodeDocument {\n  // there may be many selected raw code and they can be not continuous in editor.\n  // this field provides a offset map for selected raw code in wrapped code and in whole raw code.\n  private offsetMap: Map<LineNumber, Offset>;\n\n  public constructor(private parameters: SASCodeDocumentParameters) {}\n\n  public getWrappedCode(): string {\n    const code = this.getRawCode();\n    return this.codeIsEmpty(code) ? \"\" : this.wrapCode(code);\n  }\n\n  public getUri(): string {\n    return this.parameters.uri;\n  }\n\n  public getFileName(): string {\n    return this.parameters.fileName;\n  }\n\n  public wrappedCodeLineAt(lineNumber: number) {\n    return this.getWrappedCode().split(\"\\n\")[lineNumber];\n  }\n\n  public async getLocationInRawCode(\n    locationFromLog: ProblemLocation,\n    codeLinesInLog: string[],\n  ): Promise<ProblemLocation> {\n    if (this.offsetMap === undefined) {\n      await this.constructOffsetMap(codeLinesInLog);\n    }\n\n    const {\n      lineNumber: lineNumberInLog,\n      startColumn: startColumnInLog,\n      endColumn: endColumnInLog,\n    } = locationFromLog;\n\n    const offset = this.offsetMap.get(lineNumberInLog);\n    if (offset) {\n      const { lineOffset: lineNumberInRaw, columnOffset } = offset;\n      return {\n        lineNumber: lineNumberInRaw,\n        startColumn: startColumnInLog + columnOffset,\n        endColumn: endColumnInLog + columnOffset,\n      };\n    }\n\n    const firstLineNumber = this.offsetMap.keys().next().value;\n    const lastLineNumber = Array.from(this.offsetMap.keys()).pop() ?? 0;\n\n    // if the problem occurs before the first raw code line,\n    // then re-locate it at the first character in the first raw code line.\n    if (lineNumberInLog < firstLineNumber) {\n      return {\n        lineNumber: 0,\n        startColumn: 0,\n        endColumn: 1,\n      };\n    }\n\n    // if the problem occurs after the last raw code line,\n    // then re-located it at the last character in the last raw code line.\n    if (lineNumberInLog > lastLineNumber) {\n      const codeLinesInRaw = this.getRawCode().split(\"\\n\");\n      const count = codeLinesInRaw[codeLinesInRaw.length - 1].length;\n      let lastCharacterIndex = count === 0 ? 0 : count - 1;\n\n      if (this.offsetMap.size === 1) {\n        lastCharacterIndex = this.parameters.selections[0].end.character - 1;\n      }\n\n      const lineNumberInRaw =\n        this.offsetMap.get(lastLineNumber)?.lineOffset ?? 0;\n\n      return {\n        lineNumber: lineNumberInRaw,\n        startColumn: lastCharacterIndex,\n        endColumn: lastCharacterIndex + 1,\n      };\n    }\n\n    // the problem occurs in imported source code,\n    // re-locate it at the nearest previous raw code line.\n    const nearestPreviousLineNumberInLog = Array.from(this.offsetMap.keys())\n      .reverse()\n      .find((lineNumber) => lineNumberInLog > lineNumber);\n\n    const nearestOffset = this.offsetMap.get(nearestPreviousLineNumberInLog);\n\n    return {\n      lineNumber: nearestOffset.lineOffset,\n      startColumn: 0,\n      endColumn: 1,\n    };\n  }\n\n  private codeIsEmpty(code: string): boolean {\n    return code.trim() === \"\";\n  }\n\n  private wrapCodeWithSASProgramFileName(code: string): string {\n    let fileName = this.parameters.fileName;\n    if (fileName === undefined) {\n      return code;\n    } else {\n      fileName = fileName.replace(/[('\")]/g, \"%$&\");\n      const wrapped =\n        \"%let _SASPROGRAMFILE = %nrquote(%nrstr(\" + fileName + \"));\\n\" + code;\n      return wrapped;\n    }\n  }\n\n  private wrapCodeWithPreambleAndPostamble(code: string): string {\n    return (\n      (this.parameters?.preamble ? this.parameters?.preamble + \"\\n\" : \"\") +\n      code +\n      (this.parameters?.postamble ? \"\\n\" + this.parameters?.postamble : \"\")\n    );\n  }\n\n  private wrapCodeWithOutputHtml(code: string): string {\n    if (this.parameters.outputHtml) {\n      const htmlStyle = this.parameters.htmlStyle.trim();\n      const htmlStyleOption = htmlStyle !== \"\" ? ` style=${htmlStyle}` : \"\";\n      const outputDestination = this.parameters?.uuid\n        ? ` body=\"${this.parameters.uuid}.htm\"`\n        : \"\";\n\n      return `title;footnote;ods _all_ close;\nods graphics on;\nods html5(id=vscode)${htmlStyleOption} options(bitmap_mode='inline' svg_mode='inline')${outputDestination};\n${code}\n;*';*\";*/;run;quit;ods html5(id=vscode) close;\n`;\n    } else {\n      return code;\n    }\n  }\n\n  private wrapSQL(code: string) {\n    return `proc sql;\n${code}\n;quit;`;\n  }\n\n  private wrapPython(code: string) {\n    return `proc python;\nsubmit;\n${code}\nendsubmit;\nrun;`;\n  }\n\n  private wrapR(code: string) {\n    return `proc r;\nsubmit;\n${code}\nendsubmit;\nrun;`;\n  }\n\n  private insertLogStartIndicator(code: string): string {\n    // add a comment line at the top of code,\n    // this comment line will be used as indicator to the beginning of log related with this code\n    return `/** LOG_START_INDICATOR **/\n${code}`;\n  }\n\n  private wrapCode(code: string): string {\n    let wrapped = code;\n\n    if (this.parameters.languageId === \"sql\") {\n      wrapped = this.wrapSQL(wrapped);\n    }\n\n    if (this.parameters.languageId === \"python\") {\n      wrapped = this.wrapPython(wrapped);\n    }\n\n    if (this.parameters.languageId === \"r\") {\n      wrapped = this.wrapR(wrapped);\n    }\n\n    wrapped = this.wrapCodeWithSASProgramFileName(wrapped);\n\n    wrapped = this.wrapCodeWithPreambleAndPostamble(wrapped);\n\n    wrapped = this.wrapCodeWithOutputHtml(wrapped);\n\n    wrapped = this.insertLogStartIndicator(wrapped);\n\n    return wrapped;\n  }\n\n  // getWrappedCode() returns more code than raw code in editor, and addition code may be added at the beginning or end of raw code.\n  // this method return the position at which the raw code begins in wrapped code.\n  private getRawCodeBeginLineNumberInWrappedCode(): number {\n    const FRONT_LOCATOR = \"LOCATOR-TO-MARK-THE-BEGIN-OF-USER-CODE\";\n    const codeWithLocator = FRONT_LOCATOR + this.getRawCode();\n    const wrapped = this.wrapCode(codeWithLocator);\n    return wrapped\n      .split(\"\\n\")\n      .findIndex((line) => line.includes(FRONT_LOCATOR));\n  }\n\n  // return selected code line array, which is in {lineNumber, column, code} format.\n  private constructCodeLinesInRaw(): {\n    lineNumber: LineNumber;\n    column: number;\n    code: string;\n  }[] {\n    const codeLines = this.getRawCode().split(\"\\n\");\n    let index = -1;\n    const codeLinesInRaw = [];\n\n    this.parameters.selections.forEach((selection) => {\n      const { start, end } = selection;\n\n      for (let lineNumber = start.line; lineNumber <= end.line; lineNumber++) {\n        index++;\n        codeLinesInRaw[index] = {\n          lineNumber,\n          column: lineNumber === start.line ? start.character : 0,\n          code: codeLines[index],\n        };\n      }\n    });\n\n    return codeLinesInRaw;\n  }\n\n  private getNextValidCodeLineInLog(\n    codeLines: string[],\n    start: number,\n  ): { code: string; lineNumber: number; index: number } {\n    let index = start;\n    let { code, lineNumber } = decomposeCodeLogLine(codeLines[index]);\n\n    while (\n      index < codeLines.length &&\n      // code not included in the source file starts with \"+\" in the log.\n      code.trim().startsWith(\"+\")\n    ) {\n      ({ code, lineNumber } = decomposeCodeLogLine(codeLines[++index]));\n    }\n    return { code, lineNumber, index };\n  }\n\n  private async constructOffsetMap(codeLinesInLog: string[]): Promise<void> {\n    const codeLinesInRaw = this.constructCodeLinesInRaw();\n    let indexInRaw = 0;\n    let codeLineInRaw: string;\n    let lineNumberInRaw: number;\n    let columnInRaw: number;\n\n    let indexInLog = this.getRawCodeBeginLineNumberInWrappedCode();\n    let codeLineInLog: string;\n    let lineNumberInLog: number;\n    let lastValidLineNumberInLog: number;\n\n    let inInteractiveBlock = false;\n\n    this.offsetMap = new Map<LineNumber, Offset>();\n\n    while (\n      indexInRaw < codeLinesInRaw.length &&\n      indexInLog < codeLinesInLog.length\n    ) {\n      ({\n        code: codeLineInRaw,\n        lineNumber: lineNumberInRaw,\n        column: columnInRaw,\n      } = codeLinesInRaw[indexInRaw]);\n\n      if (inInteractiveBlock) {\n        let index = indexInRaw;\n        let lineInfo = codeLinesInRaw[++index];\n\n        while (\n          !(await this.parameters.checkKeyword(\n            // this.parameters.uri,\n            // lineInfo.code,\n            lineInfo.lineNumber,\n            \"endinteractive\",\n          )) &&\n          index < codeLinesInRaw.length\n        ) {\n          lineInfo = codeLinesInRaw[++index];\n        }\n\n        if (index < codeLinesInRaw.length) {\n          ({\n            code: codeLineInRaw,\n            lineNumber: lineNumberInRaw,\n            column: columnInRaw,\n          } = codeLinesInRaw[++index]);\n          indexInRaw = index;\n          inInteractiveBlock = false;\n        }\n      }\n\n      ({\n        code: codeLineInLog,\n        lineNumber: lineNumberInLog,\n        index: indexInLog,\n      } = this.getNextValidCodeLineInLog(codeLinesInLog, indexInLog));\n\n      // The line numbers in the source code within the log should be continuous.\n      // but if encountering datasets following a datalines statement or %INC statement,\n      // the line numbers will not be continuous.\n      // for datalines-like statements, it will skip the number of dataset lines.\n      // for %INC-like statements, it will continue without skip\n      const delta =\n        lastValidLineNumberInLog === undefined\n          ? 1\n          : lineNumberInLog - lastValidLineNumberInLog;\n      if (\n        delta > 1 &&\n        // if the code line in log can be found in raw,\n        // think of the discontinuous line number is caused by %INC-like statements,\n        // otherwise it is from datalines-like statements and need to skip lines in raw.\n        !isSameOrStartsWith(codeLineInRaw.trim(), codeLineInLog.trim())\n      ) {\n        indexInRaw += delta - 1;\n        ({\n          code: codeLineInRaw,\n          lineNumber: lineNumberInRaw,\n          column: columnInRaw,\n        } = codeLinesInRaw[indexInRaw]);\n      }\n\n      if (!isSameOrStartsWith(codeLineInRaw.trim(), codeLineInLog.trim())) {\n        const match = this.getMatchedCodeLineInLog(\n          codeLineInRaw,\n          codeLinesInLog,\n          indexInLog,\n        );\n        lineNumberInLog = match.lineNumber;\n        indexInLog = match.index;\n      }\n\n      const offset = { lineOffset: lineNumberInRaw, columnOffset: columnInRaw };\n\n      this.offsetMap.set(lineNumberInLog, offset);\n      lastValidLineNumberInLog = lineNumberInLog;\n\n      inInteractiveBlock = await this.parameters.checkKeyword(\n        // this.parameters.uri,\n        // codeLineInRaw,\n        lineNumberInRaw,\n        \"interactive\",\n        \"i\",\n      );\n\n      indexInRaw++;\n      indexInLog++;\n    }\n  }\n\n  private getMatchedCodeLineInLog(\n    codeLineInRaw: string,\n    codeLinesInLog: string[],\n    start: number,\n  ): { code: string; lineNumber: number; index: number } | null {\n    let validCodeLine = { code: \"\", lineNumber: -1, index: start };\n    let indexInLog = start;\n    do {\n      validCodeLine = this.getNextValidCodeLineInLog(\n        codeLinesInLog,\n        indexInLog++,\n      );\n    } while (\n      !isSameOrStartsWith(codeLineInRaw.trim(), validCodeLine.code.trim()) &&\n      indexInLog < codeLinesInLog.length\n    );\n\n    return validCodeLine.index >= codeLinesInLog.length ? null : validCodeLine;\n  }\n\n  // priority return selected code, otherwise, return whole code.\n  private getRawCode(): string {\n    return this.parameters.selectedCode.trim() === \"\"\n      ? this.parameters.code\n      : this.parameters.selectedCode;\n  }\n}\n\nfunction isSameOrStartsWith(base: string, target: string): boolean {\n  return target === \"\" ? base === target : base.startsWith(target);\n}\n"
  },
  {
    "path": "client/src/components/utils/SASCodeDocumentHelper.ts",
    "content": "// Copyright © 2024, SAS Institute Inc., Cary, NC, USA.  All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport {\n  ColorThemeKind,\n  Hover,\n  Position,\n  Selection,\n  TextDocument,\n  commands,\n  window,\n  workspace,\n} from \"vscode\";\n\nimport { v4 } from \"uuid\";\n\nimport { profileConfig } from \"../../commands/profile\";\nimport { ConnectionType } from \"../profile\";\nimport { SASCodeDocumentParameters } from \"./SASCodeDocument\";\nimport { getHtmlStyle, isOutputHtmlEnabled } from \"./settings\";\n\nexport function getCodeDocumentConstructionParameters(\n  textDocument: TextDocument,\n  addition?: {\n    selections?: ReadonlyArray<Selection>;\n    preamble?: string;\n    postamble?: string;\n  },\n): SASCodeDocumentParameters {\n  // TODO #810 This is a temporary solution to prevent creating an excessive\n  // number of result files for viya connections.\n  // This todo will be cleaned up with remaining work in #810.\n  const uuid = connectionTypeIsNotRest() ? v4() : undefined;\n\n  return {\n    languageId: textDocument.languageId,\n    code: textDocument.getText(),\n    selectedCode: getSelectedCode(textDocument, addition?.selections),\n    uri: textDocument.uri.toString(),\n    fileName: getFileName(textDocument),\n    selections: getCodeSelections(addition?.selections, textDocument),\n    preamble: addition?.preamble,\n    postamble: addition?.postamble,\n    htmlStyle: getHtmlStyleValue(),\n    outputHtml: isOutputHtmlEnabled(),\n    uuid,\n    checkKeyword: async (lineNumber: number, ...keywords: string[]) => {\n      const codeLines = textDocument.getText().split(\"\\n\");\n      const codeLine = codeLines[lineNumber];\n\n      const regExp = new RegExp(`\\\\b(${keywords.join(\"|\")})\\\\b`, \"gi\");\n      const matches = Array.from(codeLine.matchAll(regExp));\n\n      if (matches.length === 0) {\n        return false;\n      }\n\n      for (const match of matches) {\n        const [actualHover]: Hover[] = await commands.executeCommand(\n          \"vscode.executeHoverProvider\",\n          textDocument.uri,\n          new Position(lineNumber, match.index),\n        );\n        if (actualHover !== undefined) {\n          return true;\n        }\n      }\n      return false;\n    },\n  };\n}\n\nfunction getSelectedCode(\n  textDocument: TextDocument,\n  selections?: ReadonlyArray<Selection>,\n): string {\n  if (selectionsAreNotEmpty(selections)) {\n    return selections\n      .map((selection) => {\n        return textDocument.getText(selection);\n      })\n      .join(\"\\n\");\n  } else {\n    return \"\";\n  }\n}\n\nfunction connectionTypeIsNotRest(): boolean {\n  const activeProfile = profileConfig.getActiveProfileDetail();\n  return (\n    activeProfile &&\n    activeProfile.profile.connectionType !== ConnectionType.Rest\n  );\n}\n\nfunction selectionsAreNotEmpty(\n  selections: ReadonlyArray<Selection> | undefined,\n): boolean {\n  return (\n    selections?.length > 1 ||\n    // the single cursor (if it is not in a selection) is always treated as a selection in Monaco Editor\n    (selections?.length === 1 && !selections[0].isEmpty)\n  );\n}\n\nfunction getHtmlStyleValue(): string {\n  const htmlStyleSetting = getHtmlStyle();\n  if (htmlStyleSetting === \"(auto)\") {\n    // get the results.html.custom.style object from user settings\n    const customStyle =\n      workspace.getConfiguration(\"SAS\").get<{\n        light?: string;\n        dark?: string;\n        highContrast?: string;\n        highContrastLight?: string;\n      }>(\"results.html.custom.style\") || {};\n\n    switch (window.activeColorTheme.kind) {\n      case ColorThemeKind.Light:\n        return customStyle.light || \"Illuminate\";\n      case ColorThemeKind.Dark:\n        return customStyle.dark || \"Ignite\";\n      case ColorThemeKind.HighContrast:\n        return customStyle.highContrast || \"HighContrast\";\n      case ColorThemeKind.HighContrastLight:\n        return customStyle.highContrastLight || \"Illuminate\";\n      default:\n        return \"\";\n    }\n  } else if (htmlStyleSetting === \"(server default)\") {\n    return \"\";\n  } else {\n    return htmlStyleSetting;\n  }\n}\n\n// if no valid selection, return whole text as only selection\nfunction getCodeSelections(\n  selections: ReadonlyArray<Selection>,\n  textDocument: TextDocument,\n): ReadonlyArray<Selection> | undefined {\n  if (selectionsAreNotEmpty(selections)) {\n    const codeSelections: Selection[] = selections.filter(\n      (selection) => !selection.isEmpty,\n    );\n    return codeSelections;\n  } else {\n    const lastLine = textDocument.lineCount - 1;\n    const lastCharacter = textDocument.lineAt(lastLine).text.length;\n    return [\n      new Selection(new Position(0, 0), new Position(lastLine, lastCharacter)),\n    ];\n  }\n}\n\nfunction getFileName(textDocument: TextDocument): string {\n  // Extract the query parameters\n  const params = new URL(decodeURIComponent(textDocument.uri.toString()))\n    .searchParams;\n\n  let pathName: string;\n\n  // Massage file path value\n  const scheme = textDocument.uri?.scheme;\n  if (scheme === \"sasServer\" && params.has(\"id\")) {\n    const id = params.get(\"id\");\n    // Viya - server file\n    // id = /compute/sessions/<guid>/files/~fs~studiodev~fs~myprogram.sas\n    // result = /studiodev/myprogram.sas\n    if (/^\\/compute\\/sessions\\/\\w+(-\\w+)+\\/files\\/~fs~[^/]+$/.test(id)) {\n      pathName = `${id}`.split(\"/\").pop().replace(/~fs~/g, \"/\");\n    }\n    if (!pathName) {\n      // IOM - server file\n      // id = C:\\\\Users\\\\sasdemo\\\\Documents\\\\My SAS Files\\\\9.4\\\\myfolder\\\\myprogram.sas\n      pathName = id;\n    }\n  }\n\n  // Local files will default to utilizing the fileName.\n  // fileName = c:\\\\Development\\\\VSCODE\\\\files\\\\myprogram.sas\n\n  // We could consider utilizing the \"sasContent\" scheme id value but this\n  // is the internal uri in the form of /files/files/<guid> which would need to\n  // potentially get translated to a readable path name.  Also it doesn't work well\n  // with the _SASPROGRAMDIR variable as it assumes folder structure.\n\n  return pathName ?? textDocument.fileName ?? textDocument.uri?.fsPath;\n}\n"
  },
  {
    "path": "client/src/components/utils/deferred.ts",
    "content": "// Copyright © 2023, SAS Institute Inc., Cary, NC, USA.  All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n\nexport interface Deferred<T> {\n  promise: Promise<T>;\n  resolve: (value: T | PromiseLike<T>) => void;\n  // eslint-disable-next-line @typescript-eslint/no-explicit-any\n  reject: (reason?: any) => void;\n}\n\nexport function deferred<T>() {\n  // eslint-disable-next-line @typescript-eslint/consistent-type-assertions\n  const deferred = {} as Deferred<T>;\n  deferred.promise = new Promise((resolve, reject) => {\n    deferred.resolve = resolve;\n    deferred.reject = reject;\n  });\n  return deferred;\n}\n"
  },
  {
    "path": "client/src/components/utils/settings.ts",
    "content": "// Copyright © 2023, SAS Institute Inc., Cary, NC, USA.  All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { workspace } from \"vscode\";\n\nexport function isOutputHtmlEnabled(): boolean {\n  return !!workspace.getConfiguration(\"SAS\").get(\"results.html.enabled\");\n}\n\nexport function getHtmlStyle(): string {\n  return workspace.getConfiguration(\"SAS\").get(\"results.html.style\");\n}\n\nexport function isSideResultEnabled(): string {\n  return workspace.getConfiguration(\"SAS\").get(\"results.sideBySide\");\n}\n\nexport function isSinglePanelEnabled(): string {\n  return workspace.getConfiguration(\"SAS\").get(\"results.singlePanel\");\n}\n\nexport function showLogOnExecutionStart(): boolean {\n  return workspace.getConfiguration(\"SAS\").get(\"log.showOnExecutionStart\");\n}\n\nexport function showLogOnExecutionFinish(): boolean {\n  return workspace.getConfiguration(\"SAS\").get(\"log.showOnExecutionFinish\");\n}\n\nexport function clearLogOnExecutionStart(): boolean {\n  return workspace.getConfiguration(\"SAS\").get(\"log.clearOnExecutionStart\");\n}\n\nexport function isShowProblemsFromSASLogEnabled(): boolean {\n  return workspace.getConfiguration(\"SAS\").get(\"problems.log.enabled\");\n}\n\nexport function includeLogInNotebookExport(): boolean {\n  return workspace.getConfiguration(\"SAS\").get(\"notebook.export.includeLog\");\n}\n"
  },
  {
    "path": "client/src/components/utils/throttle.ts",
    "content": "// Copyright © 2023, SAS Institute Inc., Cary, NC, USA.  All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n\n/**\n * Run tasks with limited concurrency\n * @param tasks array of tasks to run\n * @param limit limit of tasks that can run in parallel\n * @returns a promise like `Promise.all`\n */\nexport function throttle<T>(tasks: Array<() => Promise<T>>, limit: number) {\n  const total = tasks.length;\n  const results: T[] = Array(total);\n  let count = 0;\n  return new Promise<T[]>((resolve, reject) => {\n    function run() {\n      const index = total - tasks.length;\n      if (index === total) {\n        if (count === total) {\n          resolve(results);\n        }\n        return;\n      }\n      const task = tasks.shift();\n      task().then((result) => {\n        results[index] = result;\n        ++count;\n        run();\n      }, reject);\n    }\n    Array(limit).fill(0).forEach(run);\n  });\n}\n"
  },
  {
    "path": "client/src/components/utils/treeViewSelections.ts",
    "content": "// Copyright © 2024, SAS Institute Inc., Cary, NC, USA.  All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { TreeItem, TreeView } from \"vscode\";\n\n/**\n * Gets the selected items from a tree view based on the current selection state.\n *\n * If an item is present and is not part of selections, return the item. Otherwise,\n * return the selections.\n *\n * @param treeView - The VS Code TreeView instance\n * @param item - The item that was clicked/activated\n * @returns An array of selected items\n */\nexport function treeViewSelections<T extends TreeItem>(\n  treeView: TreeView<T>,\n  item: T | undefined,\n): T[] {\n  if (item) {\n    const itemIsInSelection = treeView.selection.some(\n      ({ id }) => id === item.id,\n    );\n    if (itemIsInSelection) {\n      return [...treeView.selection];\n    }\n\n    return [item];\n  }\n\n  return [...treeView.selection];\n}\n"
  },
  {
    "path": "client/src/connection/index.ts",
    "content": "// Copyright © 2022-2023, SAS Institute Inc., Cary, NC, USA.  All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { l10n } from \"vscode\";\n\nimport {\n  AuthType,\n  ConnectionType,\n  ProfileConfig,\n  ViyaProfile,\n  toAutoExecLines,\n} from \"../components/profile\";\nimport { getSession as getITCSession } from \"./itc\";\nimport { ITCProtocol } from \"./itc/types\";\nimport { Config as RestConfig, getSession as getRestSession } from \"./rest\";\nimport {\n  Error2 as ComputeError,\n  LogLine as ComputeLogLine,\n  LogLineTypeEnum as ComputeLogLineTypeEnum,\n} from \"./rest/api/compute\";\nimport { Session } from \"./session\";\nimport { getSession as getSSHSession } from \"./ssh\";\n\nlet profileConfig: ProfileConfig;\n\nexport type ErrorRepresentation = ComputeError;\nexport type LogLine = ComputeLogLine;\nexport type LogLineTypeEnum = ComputeLogLineTypeEnum;\nexport type OnLogFn = (logs: LogLine[]) => void;\n\nexport interface RunResult {\n  html5?: string;\n  title?: string;\n}\n\nexport interface BaseConfig {\n  sasOptions?: string[];\n  autoExecLines?: string[];\n}\n\nexport function getSession(): Session {\n  if (!profileConfig) {\n    profileConfig = new ProfileConfig();\n  }\n  // retrieve active & valid profile\n  const activeProfile = profileConfig.getActiveProfileDetail();\n  const validProfile = profileConfig.validateProfile(activeProfile);\n\n  if (validProfile.type === AuthType.Error) {\n    throw new Error(validProfile.error);\n  }\n\n  switch (validProfile.profile?.connectionType) {\n    case ConnectionType.Rest:\n      return getRestSession(toRestConfig(validProfile.profile));\n    case ConnectionType.SSH:\n      return getSSHSession(validProfile.profile);\n    case ConnectionType.COM:\n      return getITCSession(validProfile.profile, ITCProtocol.COM);\n    case ConnectionType.IOM:\n      return getITCSession(validProfile.profile, ITCProtocol.IOMBridge);\n    default:\n      throw new Error(\n        l10n.t(\"Invalid connectionType. Check Profile settings.\"),\n      );\n  }\n}\n\n/**\n * Translates a {@link ViyaProfile} interface to a {@link RestConfig} interface.\n * @param profile an input {@link ViyaProfile} to translate.\n * @returns RestConfig instance derived from the input profile.\n */\nfunction toRestConfig(profile: ViyaProfile): RestConfig {\n  const mapped: RestConfig = profile;\n  if (profile.autoExec) {\n    mapped.autoExecLines = toAutoExecLines(profile.autoExec);\n  }\n  return mapped;\n}\n"
  },
  {
    "path": "client/src/connection/itc/CodeRunner.ts",
    "content": "// Copyright © 2024, SAS Institute Inc., Cary, NC, USA.  All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { commands } from \"vscode\";\n\nimport { v4 } from \"uuid\";\n\nimport { ITCSession } from \".\";\nimport { LogLine, getSession } from \"..\";\nimport { useRunStore } from \"../../store\";\nimport { Session } from \"../session\";\nimport { extractTextBetweenTags } from \"../util\";\n\nlet wait: Promise<string> | undefined;\n\nexport async function executeRawCode(code: string): Promise<string> {\n  const randomId = v4();\n  const startTag = `<${randomId}>`;\n  const endTag = `</${randomId}>`;\n  const task = () =>\n    _runCode(\n      async (session) => {\n        // eslint-disable-next-line @typescript-eslint/consistent-type-assertions\n        await (session as ITCSession).execute(\n          `Write-Host \"${startTag}\"\\n${code}\\nWrite-Host \"${endTag}\"\\n`,\n        );\n      },\n      startTag,\n      endTag,\n    );\n\n  wait = wait ? wait.then(task) : task();\n  return wait;\n}\n\nexport async function runCode(\n  code: string,\n  startTag: string = \"\",\n  endTag: string = \"\",\n): Promise<string> {\n  const task = () =>\n    _runCode(\n      // eslint-disable-next-line @typescript-eslint/consistent-type-assertions\n      async (session) => await (session as ITCSession).run(code, true),\n      startTag,\n      endTag,\n    );\n\n  wait = wait ? wait.then(task) : task();\n  return wait;\n}\n\nasync function _runCode(\n  runCallback: (session: Session) => void,\n  startTag: string = \"\",\n  endTag: string = \"\",\n): Promise<string> {\n  // If we're already executing code, lets wait for it\n  // to finish up.\n  let unsubscribe;\n  if (useRunStore.getState().isExecutingCode) {\n    await new Promise((resolve) => {\n      unsubscribe = useRunStore.subscribe(\n        (state) => state.isExecutingCode,\n        (isExecutingCode) => !isExecutingCode && resolve(true),\n      );\n    });\n  }\n\n  const { setIsExecutingCode } = useRunStore.getState();\n  setIsExecutingCode(true, false);\n  commands.executeCommand(\"setContext\", \"SAS.running\", true);\n  const session = getSession();\n\n  let logText = \"\";\n  const onExecutionLogFn = session.onExecutionLogFn;\n  const outputLines = [];\n\n  const addLine = (logLines: LogLine[]) => {\n    outputLines.push(...logLines.map(({ line }) => line));\n  };\n\n  try {\n    await session.setup(true);\n\n    // Lets capture output to use it on\n    session.onExecutionLogFn = addLine;\n\n    await runCallback(session);\n\n    const logOutput = outputLines.filter((line) => line.trim()).join(\"\");\n    logText = extractTextBetweenTags(logOutput, startTag, endTag);\n  } finally {\n    unsubscribe && unsubscribe();\n    // Lets update our session to write to the log\n    session.onExecutionLogFn = onExecutionLogFn;\n\n    setIsExecutingCode(false);\n    commands.executeCommand(\"setContext\", \"SAS.running\", false);\n  }\n\n  return logText;\n}\n"
  },
  {
    "path": "client/src/connection/itc/ItcLibraryAdapter.ts",
    "content": "// Copyright © 2024, SAS Institute Inc., Cary, NC, USA.  All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { l10n } from \"vscode\";\n\nimport type { SortModelItem } from \"ag-grid-community\";\nimport { ChildProcessWithoutNullStreams } from \"child_process\";\n\nimport { onRunError } from \"../../commands/run\";\nimport {\n  LibraryAdapter,\n  LibraryItem,\n  TableData,\n  TableQuery,\n  TableRow,\n} from \"../../components/LibraryNavigator/types\";\nimport { ColumnCollection, TableInfo } from \"../rest/api/compute\";\nimport { getColumnIconType } from \"../util\";\nimport { executeRawCode, runCode } from \"./CodeRunner\";\nimport { Config } from \"./types\";\n\nclass ItcLibraryAdapter implements LibraryAdapter {\n  protected hasEstablishedConnection: boolean = false;\n  protected shellProcess: ChildProcessWithoutNullStreams;\n  protected pollingForLogResults: boolean = false;\n  protected log: string[] = [];\n  protected endTag: string = \"\";\n  protected outputFinished: boolean = false;\n  protected config: Config;\n\n  public async connect(): Promise<void> {\n    this.hasEstablishedConnection = true;\n  }\n\n  public async setup(): Promise<void> {\n    if (this.hasEstablishedConnection) {\n      return;\n    }\n\n    await this.connect();\n  }\n\n  public async deleteTable(item: LibraryItem): Promise<void> {\n    const code = `\n      proc datasets library=${item.library} nolist nodetails; delete ${item.name}; run;\n    `;\n\n    await this.runCode(code);\n  }\n\n  public async getColumns(item: LibraryItem): Promise<ColumnCollection> {\n    const code = `\n      $runner.GetColumns(\"${item.library}\", \"${item.name}\")\n    `;\n    const output = await executeRawCode(code);\n    const rawColumns = JSON.parse(output);\n    const columns = rawColumns.map((column) => ({\n      ...column,\n      type: getColumnIconType(column),\n    }));\n    return {\n      items: columns,\n      count: -1,\n    };\n  }\n  public async getLibraries(): Promise<{\n    items: LibraryItem[];\n    count: number;\n  }> {\n    const code = `\n      $runner.GetLibraries()\n    `;\n\n    const output = await executeRawCode(code);\n    const rawLibraries = JSON.parse(output).libraries;\n\n    const libraries = rawLibraries.map((row: string[]) => {\n      const [libName, readOnlyValue] = row;\n      return {\n        type: \"library\",\n        uid: libName,\n        id: libName,\n        name: libName,\n        readOnly: readOnlyValue === \"yes\",\n      };\n    });\n\n    return {\n      items: libraries,\n      count: -1,\n    };\n  }\n\n  public async getRows(\n    item: LibraryItem,\n    start: number,\n    limit: number,\n    sortModel: SortModelItem[],\n    query: TableQuery | undefined,\n  ): Promise<TableData> {\n    const { rows: rawRowValues, count } = await this.getDatasetInformation(\n      item,\n      start,\n      limit,\n      sortModel,\n      query,\n    );\n\n    const rows = rawRowValues.map((line, idx: number): TableRow => {\n      const rowData = [`${start + idx + 1}`].concat(line);\n      return { cells: rowData };\n    });\n\n    return {\n      rows,\n      count,\n    };\n  }\n\n  public async getRowsAsCSV(\n    item: LibraryItem,\n    start: number,\n    limit: number,\n  ): Promise<TableData> {\n    // We only need the columns for the first page of results\n    const columns =\n      start === 0\n        ? {\n            columns: [\"INDEX\"].concat(\n              (await this.getColumns(item)).items.map((column) => column.name),\n            ),\n          }\n        : {};\n\n    const { rows } = await this.getRows(item, start, limit, [], undefined);\n\n    rows.unshift(columns);\n    // Fetching csv doesn't rely on count. Instead, we get the count\n    // upfront via getTableRowCount\n    return { rows, count: -1 };\n  }\n\n  public async getTableRowCount(\n    item: LibraryItem,\n  ): Promise<{ rowCount: number; maxNumberOfRowsToRead: number }> {\n    const code = `\n      proc sql;\n        SELECT COUNT(1) into: COUNT FROM  ${item.library}.${item.name};\n      quit;\n      %put <Count>&COUNT</Count>;\n    `;\n\n    const output = await this.runCode(code, \"<Count>\", \"</Count>\");\n    const rowCount = parseInt(output.replace(/[^0-9]/g, \"\"), 10);\n\n    return { rowCount, maxNumberOfRowsToRead: 100 };\n  }\n\n  public async getTables(item: LibraryItem): Promise<{\n    items: LibraryItem[];\n    count: number;\n  }> {\n    const code = `\n      $runner.GetTables(\"${item.name}\")\n    `;\n\n    const output = await executeRawCode(code);\n    const rawTables = JSON.parse(output).tables;\n    const tables = rawTables.map((table: string): LibraryItem => {\n      return {\n        type: \"table\",\n        uid: `${item.name!}.${table}`,\n        id: table,\n        name: table,\n        library: item.name,\n        readOnly: item.readOnly,\n      };\n    });\n\n    return { items: tables, count: -1 };\n  }\n\n  protected async getDatasetInformation(\n    item: LibraryItem,\n    start: number,\n    limit: number,\n    sortModel: SortModelItem[],\n    query: TableQuery | undefined,\n  ): Promise<{ rows: Array<string[]>; count: number }> {\n    const sortString = sortModel\n      .map((col) => `${col.colId} ${col.sort}`)\n      .join(\",\");\n    const code = `\n      $runner.GetDatasetRecords(\"${item.library}\",\"${item.name}\", ${start}, ${limit}, \"${sortString}\", '${query ? JSON.stringify(query) : \"\"}')\n    `;\n    const output = await executeRawCode(code);\n    try {\n      return JSON.parse(output);\n    } catch (e) {\n      console.warn(\"Failed to load table data with error\", e);\n      console.warn(\"Raw output\", output);\n      throw new Error(\n        l10n.t(\n          \"An error was encountered when loading table data. This usually happens when a table is too large or the data couldn't be processed. See console for more details.\",\n        ),\n      );\n    }\n  }\n\n  public async getTableInfo(item: LibraryItem): Promise<TableInfo> {\n    const basicInfo: TableInfo = {\n      bookmarkLength: 0, // Not available in vtable\n      columnCount: 0,\n      compressionRoutine: \"\",\n      creationTimeStamp: \"\",\n      encoding: \"\",\n      engine: \"\",\n      extendedType: \"\",\n      label: \"\",\n      libref: item.library,\n      logicalRecordCount: 0,\n      modifiedTimeStamp: \"\",\n      name: item.name,\n      physicalRecordCount: 0,\n      recordLength: 0,\n      rowCount: 0,\n      type: \"DATA\",\n    };\n\n    try {\n      // Use the PowerShell GetTableInfo function which queries sashelp.vtable\n      const code = `\n        $runner.GetTableInfo(\"${item.library}\", \"${item.name}\")\n      `;\n      const output = await executeRawCode(code);\n      const tableInfo = JSON.parse(output);\n\n      return {\n        ...basicInfo,\n        columnCount: tableInfo.columnCount || basicInfo.columnCount,\n        compressionRoutine:\n          tableInfo.compressionRoutine || basicInfo.compressionRoutine,\n        creationTimeStamp:\n          tableInfo.creationTimeStamp || basicInfo.creationTimeStamp,\n        encoding: tableInfo.encoding || basicInfo.encoding,\n        engine: tableInfo.engine || basicInfo.engine,\n        extendedType: tableInfo.extendedType || basicInfo.extendedType,\n        label: tableInfo.label || basicInfo.label,\n        libref: tableInfo.libref || basicInfo.libref,\n        logicalRecordCount: tableInfo.rowCount || basicInfo.logicalRecordCount,\n        modifiedTimeStamp:\n          tableInfo.modifiedTimeStamp || basicInfo.modifiedTimeStamp,\n        name: tableInfo.name || basicInfo.name,\n        physicalRecordCount:\n          tableInfo.rowCount || basicInfo.physicalRecordCount,\n        recordLength: tableInfo.recordLength || basicInfo.recordLength,\n        rowCount: tableInfo.rowCount || basicInfo.rowCount,\n        type: tableInfo.type || basicInfo.type,\n      };\n    } catch (error) {\n      console.warn(\"Failed to get table info:\", error);\n      // If anything fails, return basic info\n      return basicInfo;\n    }\n  }\n\n  protected async executionHandler(\n    callback: () => Promise<string>,\n  ): Promise<string> {\n    try {\n      return await callback();\n    } catch (e) {\n      onRunError(e);\n      return \"\";\n    }\n  }\n\n  protected async runCode(\n    code: string,\n    startTag: string = \"\",\n    endTag: string = \"\",\n  ): Promise<string> {\n    return this.executionHandler(() => runCode(code, startTag, endTag));\n  }\n\n  protected async executeRawCode(code: string): Promise<string> {\n    return this.executionHandler(() => executeRawCode(code));\n  }\n}\n\nexport default ItcLibraryAdapter;\n"
  },
  {
    "path": "client/src/connection/itc/ItcServerAdapter.ts",
    "content": "// Copyright © 2025, SAS Institute Inc., Cary, NC, USA.  All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { FileType, Uri, workspace } from \"vscode\";\n\nimport { v4 } from \"uuid\";\n\nimport { onRunError } from \"../../commands/run\";\nimport {\n  Messages,\n  SAS_SERVER_ROOT_FOLDER,\n  SAS_SERVER_ROOT_FOLDERS,\n  SERVER_FOLDER_ID,\n} from \"../../components/ContentNavigator/const\";\nimport {\n  ContentAdapter,\n  ContentItem,\n  RootFolderMap,\n} from \"../../components/ContentNavigator/types\";\nimport {\n  ContextMenuAction,\n  ContextMenuProvider,\n  convertStaticFolderToContentItem,\n  createStaticFolder,\n  homeDirectoryNameAndType,\n  sortedContentItems,\n} from \"../../components/ContentNavigator/utils\";\nimport { getGlobalStorageUri } from \"../../components/ExtensionContext\";\nimport { ProfileWithFileRootOptions } from \"../../components/profile\";\nimport { getLink, getResourceId, getSasServerUri } from \"../rest/util\";\nimport { executeRawCode } from \"./CodeRunner\";\nimport { PowershellResponse, ScriptActions } from \"./types\";\nimport { getDirectorySeparator } from \"./util\";\n\nclass ItcServerAdapter implements ContentAdapter {\n  protected sessionId: string;\n  private rootFolders: RootFolderMap;\n  private contextMenuProvider: ContextMenuProvider;\n\n  public constructor(\n    protected readonly fileNavigationCustomRootPath: ProfileWithFileRootOptions[\"fileNavigationCustomRootPath\"],\n    protected readonly fileNavigationRoot: ProfileWithFileRootOptions[\"fileNavigationRoot\"],\n  ) {\n    this.rootFolders = {};\n    this.contextMenuProvider = new ContextMenuProvider(\n      [\n        ContextMenuAction.CreateChild,\n        ContextMenuAction.Delete,\n        ContextMenuAction.Update,\n        ContextMenuAction.CopyPath,\n        ContextMenuAction.AllowDownload,\n      ],\n      {\n        [ContextMenuAction.CopyPath]: (item) => item.id !== SERVER_FOLDER_ID,\n      },\n    );\n  }\n\n  /* The following methods are needed for favorites, which are not applicable to sas server */\n  public async addChildItem(): Promise<boolean> {\n    throw new Error(\"Method not implemented\");\n  }\n  public async addItemToFavorites(): Promise<boolean> {\n    throw new Error(\"Method not implemented\");\n  }\n  public removeItemFromFavorites(): Promise<boolean> {\n    throw new Error(\"Method not implemented\");\n  }\n  public getRootFolder(): ContentItem | undefined {\n    return undefined;\n  }\n\n  /* The following is needed for creating a flow, which isn't supported on sas server */\n  public async getParentOfItem(\n    item: ContentItem,\n  ): Promise<ContentItem | undefined> {\n    const parent = await this.getItemAtPath(item.parentFolderUri);\n    if (!parent) {\n      return undefined;\n    }\n\n    return parent;\n  }\n\n  public async getFolderPathForItem(): Promise<string> {\n    return \"\";\n  }\n\n  public async connect(): Promise<void> {\n    return;\n  }\n\n  public connected(): boolean {\n    return true;\n  }\n\n  public async createNewFolder(\n    parentItem: ContentItem,\n    folderName: string,\n  ): Promise<ContentItem | undefined> {\n    try {\n      const { success, data } = await this.execute(\n        ScriptActions.CreateDirectory,\n        {\n          folderPath: parentItem.uri,\n          folderName,\n        },\n      );\n\n      if (!success) {\n        return;\n      }\n\n      return this.convertPowershellResponseToContentItem(data);\n      // eslint-disable-next-line @typescript-eslint/no-unused-vars\n    } catch (error) {\n      return;\n    }\n  }\n\n  public async createNewItem(\n    parentItem: ContentItem,\n    fileName: string,\n    buffer?: ArrayBufferLike,\n  ): Promise<ContentItem | undefined> {\n    try {\n      const { success, data } = await this.execute(ScriptActions.CreateFile, {\n        folderPath: parentItem.uri,\n        fileName,\n        content: buffer ? Buffer.from(buffer).toString(\"base64\") : \"\",\n      });\n\n      if (!success) {\n        return;\n      }\n\n      return this.convertPowershellResponseToContentItem(data);\n      // eslint-disable-next-line @typescript-eslint/no-unused-vars\n    } catch (error) {\n      return;\n    }\n  }\n\n  public async deleteItem(item: ContentItem): Promise<boolean> {\n    try {\n      const { success } = await this.execute(ScriptActions.DeleteFile, {\n        filePath: item.uri,\n      });\n      return success;\n      // eslint-disable-next-line @typescript-eslint/no-unused-vars\n    } catch (error) {\n      return false;\n    }\n  }\n\n  private fileNavigationRootSettings() {\n    return {\n      fileNavigationCustomRootPath: this.fileNavigationCustomRootPath,\n      fileNavigationRoot: this.fileNavigationRoot || \"USER\",\n    };\n  }\n\n  public async getChildItems(parentItem: ContentItem): Promise<ContentItem[]> {\n    // If the user is fetching child items of the root folder, give them the\n    // \"home\" directory\n    if (parentItem.id === SERVER_FOLDER_ID) {\n      const { success, data: items } = await this.execute(\n        ScriptActions.GetChildItems,\n        {\n          path: \"/\",\n          ...this.fileNavigationRootSettings(),\n        },\n      );\n      if (!success) {\n        if (this.fileNavigationRoot === \"CUSTOM\") {\n          throw new Error(Messages.FileNavigationRootUserError);\n        }\n        return [];\n      }\n      const uri = items[0].parentFolderUri;\n      const homeFolder = convertStaticFolderToContentItem(\n        createStaticFolder(\n          uri,\n          ...homeDirectoryNameAndType(\n            this.fileNavigationRoot,\n            this.fileNavigationCustomRootPath,\n          ),\n          \"/\",\n          \"getDirectoryMembers\",\n        ),\n        {\n          write: false,\n          delete: false,\n          addMember: true,\n        },\n      );\n      homeFolder.contextValue =\n        this.contextMenuProvider.availableActions(homeFolder);\n      return [homeFolder];\n    }\n\n    const { success, data: items } = await this.execute(\n      ScriptActions.GetChildItems,\n      {\n        path: getLink(parentItem.links, \"GET\", \"getDirectoryMembers\").uri,\n        ...this.fileNavigationRootSettings(),\n      },\n    );\n    if (!success) {\n      return [];\n    }\n\n    const childItems = items.map(\n      this.convertPowershellResponseToContentItem.bind(this),\n    );\n\n    return sortedContentItems(childItems);\n  }\n\n  public async getPathOfItem(item: ContentItem): Promise<string> {\n    return item.uri;\n  }\n\n  private async getTempFile() {\n    const tempFile = v4();\n    const globalStorageUri = getGlobalStorageUri();\n    try {\n      await workspace.fs.readDirectory(globalStorageUri);\n      // eslint-disable-next-line @typescript-eslint/no-unused-vars\n    } catch (e) {\n      await workspace.fs.createDirectory(globalStorageUri);\n    }\n\n    const outputFile = Uri.joinPath(globalStorageUri, tempFile);\n    return outputFile;\n  }\n\n  public async getContentOfItem(item: ContentItem): Promise<string> {\n    const filePath = item.uri;\n    const outputFile = await this.getTempFile();\n\n    try {\n      const { success } = await this.execute(ScriptActions.FetchFileContent, {\n        filePath,\n        outputFile: outputFile.fsPath,\n      });\n      if (!success) {\n        return \"\";\n      }\n      // eslint-disable-next-line @typescript-eslint/no-unused-vars\n    } catch (error) {\n      return \"\";\n    }\n\n    const file = await workspace.fs.readFile(outputFile);\n    await workspace.fs.delete(outputFile);\n    // eslint-disable-next-line @typescript-eslint/consistent-type-assertions\n    return file as unknown as string;\n  }\n\n  public async getContentOfUri(uri: Uri): Promise<string> {\n    const item = await this.getItemAtPath(getResourceId(uri));\n    return ((await this.getContentOfItem(item)) || \"\").toString();\n  }\n\n  public async getItemOfUri(uri: Uri): Promise<ContentItem> {\n    return this.getItemAtPath(getResourceId(uri));\n  }\n\n  public async getRootItems(): Promise<RootFolderMap> {\n    for (let index = 0; index < SAS_SERVER_ROOT_FOLDERS.length; ++index) {\n      const delegateFolderName = SAS_SERVER_ROOT_FOLDERS[index];\n      this.rootFolders[delegateFolderName] = {\n        uid: `${index}`,\n        ...convertStaticFolderToContentItem(SAS_SERVER_ROOT_FOLDER, {\n          write: false,\n          delete: false,\n          addMember: false,\n        }),\n      };\n    }\n\n    return this.rootFolders;\n  }\n\n  public async getUriOfItem(item: ContentItem): Promise<Uri> {\n    return item.vscUri;\n  }\n\n  public async moveItem(\n    item: ContentItem,\n    targetParentFolderUri: string,\n  ): Promise<Uri | undefined> {\n    try {\n      const { success, data } = await this.execute(ScriptActions.RenameFile, {\n        oldPath: item.uri,\n        newPath: targetParentFolderUri,\n        newName: item.name,\n      });\n      if (!success) {\n        return undefined;\n      }\n      return this.convertPowershellResponseToContentItem(data).vscUri;\n      // eslint-disable-next-line @typescript-eslint/no-unused-vars\n    } catch (error) {\n      return undefined;\n    }\n  }\n\n  public async renameItem(\n    item: ContentItem,\n    newName: string,\n  ): Promise<ContentItem | undefined> {\n    try {\n      const { success, data } = await this.execute(ScriptActions.RenameFile, {\n        oldPath: item.uri,\n        newPath: item.parentFolderUri,\n        newName,\n      });\n      if (!success) {\n        return undefined;\n      }\n      return this.convertPowershellResponseToContentItem(data);\n      // eslint-disable-next-line @typescript-eslint/no-unused-vars\n    } catch (error) {\n      return undefined;\n    }\n  }\n\n  public async updateContentOfItem(uri: Uri, content: string): Promise<void> {\n    try {\n      const item = await this.getItemAtPath(getResourceId(uri));\n      await this.execute(ScriptActions.UpdateFile, {\n        filePath: item.uri,\n        content,\n      });\n      // eslint-disable-next-line @typescript-eslint/no-unused-vars\n    } catch (error) {\n      return;\n    }\n  }\n\n  protected async getItemAtPathWithName(\n    path: string,\n    name: string,\n  ): Promise<ContentItem> {\n    const { data: items } = await this.execute(ScriptActions.GetChildItems, {\n      path,\n      ...this.fileNavigationRootSettings(),\n    });\n\n    const foundItem = items.find((item) => item.name === name);\n    return this.convertPowershellResponseToContentItem(foundItem);\n  }\n\n  protected async getItemAtPath(path: string): Promise<ContentItem> {\n    const separator = getDirectorySeparator(path);\n    const pathPieces = path.split(separator);\n    const name = pathPieces.pop();\n\n    return await this.getItemAtPathWithName(pathPieces.join(separator), name);\n  }\n\n  private convertPowershellResponseToContentItem(\n    response: PowershellResponse,\n  ): ContentItem {\n    // response.category can be 0, 1, or 2. 0 is directory, 1 is \"sas\" type, 2 is other file types\n    const type = response.category === 0 ? FileType.Directory : FileType.File;\n    const uri = response.uri;\n    const links = [\n      type === FileType.Directory && {\n        method: \"GET\",\n        rel: \"getDirectoryMembers\",\n        href: uri,\n        uri: uri,\n        type: \"GET\",\n      },\n      { method: \"GET\", rel: \"self\", href: uri, uri: uri, type: \"GET\" },\n    ].filter((link) => link);\n\n    const modifiedTimeStamp = new Date(\n      response.modifiedTimeStamp.replace(/[^0-9]/g, \"\"),\n    ).getTime();\n    const item: ContentItem = {\n      id: uri,\n      uri,\n      name: response.name,\n      creationTimeStamp: new Date(response.creationTimeStamp).getTime() ?? 0,\n      modifiedTimeStamp,\n      links,\n      permission: {\n        write: true,\n        delete: true,\n        addMember: type === FileType.Directory,\n      },\n      type: \"\",\n      parentFolderUri: response.parentFolderUri,\n      fileStat: {\n        ctime: 0,\n        mtime: modifiedTimeStamp,\n        size: response.size,\n        type,\n      },\n    };\n\n    return {\n      ...item,\n      contextValue: this.contextMenuProvider.availableActions(item),\n      vscUri: getSasServerUri(item, false),\n    };\n  }\n\n  private async execute(incomingCode: string, params: Record<string, string>) {\n    let code = incomingCode;\n\n    Object.keys(params).forEach((key: string) => {\n      // This is a little confusing. Basically, we can pass in any kind of string. Some of those\n      // strings break powershell (ex. NewFile+!@$%^&*.txt). Thus, we create one level of indirection\n      // where we wrap these unprocessed strings in the powershell \"heredoc\" syntax before passing things\n      // along\n      const codeToPrefix = `$processed_${key}=\\n@'\\n${params[key]}\\n'@\\n`;\n      code = codeToPrefix + code.replace(`$${key}`, `$processed_${key}`);\n    });\n\n    try {\n      const output = await executeRawCode(code);\n      const decodedOutput = output ? JSON.parse(output) : \"\";\n\n      // If we do have an error message with more information, lets dump it to console\n      if (decodedOutput && !decodedOutput.success && decodedOutput.message) {\n        console.dir(decodedOutput.message);\n      }\n\n      return decodedOutput;\n    } catch (e) {\n      onRunError(e);\n      return \"\";\n    }\n  }\n}\n\nexport default ItcServerAdapter;\n"
  },
  {
    "path": "client/src/connection/itc/LineParser.ts",
    "content": "// Copyright © 2024, SAS Institute Inc., Cary, NC, USA.  All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n\nexport class LineParser {\n  protected processedLines: string[] = [];\n  protected capturingLine: boolean = false;\n\n  public constructor(\n    protected startTag: string,\n    protected endTag: string,\n    protected returnNonProcessedLines: boolean,\n  ) {}\n\n  public processLine(line: string): string | undefined {\n    if (line.includes(this.startTag) || this.capturingLine) {\n      this.processedLines.push(line);\n      this.capturingLine = true;\n      if (line.includes(this.endTag)) {\n        return this.processedLine();\n      }\n      return;\n    }\n\n    return this.returnNonProcessedLines ? line : undefined;\n  }\n\n  protected processedLine(): string {\n    this.capturingLine = false;\n    const fullError = this.processedLines\n      .join(\"\")\n      .replace(this.startTag, \"\")\n      .replace(this.endTag, \"\");\n    this.processedLines = [];\n    return fullError;\n  }\n\n  public isCapturingLine(): boolean {\n    return this.capturingLine;\n  }\n\n  public reset() {\n    this.capturingLine = false;\n    this.processedLines = [];\n  }\n}\n"
  },
  {
    "path": "client/src/connection/itc/index.ts",
    "content": "// Copyright © 2023, SAS Institute Inc., Cary, NC, USA.  All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport {\n  CancellationTokenSource,\n  Uri,\n  env,\n  l10n,\n  window,\n  workspace,\n} from \"vscode\";\n\nimport { ChildProcessWithoutNullStreams, spawn } from \"child_process\";\nimport { resolve } from \"path\";\n\nimport { LogLineTypeEnum, RunResult } from \"..\";\nimport {\n  getGlobalStorageUri,\n  getSecretStorage,\n} from \"../../components/ExtensionContext\";\nimport { updateStatusBarItem } from \"../../components/StatusBarItem\";\nimport { Session } from \"../session\";\nimport { extractOutputHtmlFileName } from \"../util\";\nimport { LineParser } from \"./LineParser\";\nimport { getScript } from \"./script\";\nimport { LineCodes, Tags } from \"./script/env.json\";\nimport { Config, ITCProtocol } from \"./types\";\nimport {\n  decodeEntities,\n  escapePowershellString,\n  getDirectorySeparator,\n} from \"./util\";\n\nconst LogLineTypes: LogLineTypeEnum[] = [\n  \"normal\",\n  \"hilighted\",\n  \"source\",\n  \"title\",\n  \"byline\",\n  \"footnote\",\n  \"error\",\n  \"warning\",\n  \"note\",\n  \"message\",\n];\n\nconst SECRET_STORAGE_NAMESPACE = \"ITC_SECRET_STORAGE\";\n\nlet sessionInstance: ITCSession;\n\nexport class ITCSession extends Session {\n  private _config: Config;\n  private _shellProcess: ChildProcessWithoutNullStreams;\n  private _html5FileName: string;\n  private _runResolve: ((value?) => void) | undefined;\n  private _runReject: ((reason?) => void) | undefined;\n  private _workDirectory: string;\n  private _password: string;\n  private _secretStorage;\n  private _passwordKey: string;\n  private _pollingForLogResults: boolean;\n  private _logLineType = 0;\n  private _passwordInputCancellationTokenSource:\n    | CancellationTokenSource\n    | undefined;\n  private _errorParser: LineParser;\n  private _workDirectoryParser: LineParser;\n\n  constructor() {\n    super();\n    this._password = \"\";\n    this._secretStorage = getSecretStorage(SECRET_STORAGE_NAMESPACE);\n    this._pollingForLogResults = false;\n    this._errorParser = new LineParser(\n      Tags.ErrorStartTag,\n      Tags.ErrorEndTag,\n      true,\n    );\n    this._workDirectoryParser = new LineParser(\n      Tags.WorkDirStartTag,\n      Tags.WorkDirEndTag,\n      false,\n    );\n  }\n\n  public set config(value: Config) {\n    this._config = value;\n    this._passwordKey = `${value.host}${value.protocol}${value.username}`;\n  }\n\n  /**\n   * Initialization logic that should be performed prior to execution.\n   * @returns void promise.\n   */\n  protected establishConnection = async (): Promise<void> => {\n    const { host, port, protocol, username, interopLibraryFolderPath } =\n      this._config;\n    const setupPromise = new Promise<void>((resolve, reject) => {\n      this._runResolve = resolve;\n      this._runReject = reject;\n    });\n\n    if (this._shellProcess && !this._shellProcess.killed) {\n      this._runResolve();\n      return; // manually terminate to avoid executing the code below\n    }\n\n    this._shellProcess = spawn(\n      \"chcp 65001 >NUL & powershell.exe -NonInteractive -NoProfile -Command -\",\n      {\n        shell: true,\n        env: process.env,\n      },\n    );\n    this._shellProcess.stdout.on(\"data\", this.onShellStdOut);\n    this._shellProcess.stderr.on(\"data\", this.onShellStdErr);\n    this._shellProcess.stdin.write(\n      getScript({\n        interopLibraryFolderPath: escapePowershellString(\n          interopLibraryFolderPath || \"\",\n        ),\n      }) + \"\\n\",\n      this.onWriteComplete,\n    );\n    this._shellProcess.stdin.write(\n      `$runner = New-Object -TypeName SASRunner\\n`,\n      this.onWriteComplete,\n    );\n\n    /*\n     * There are cases where the higher level run command will invoke setup multiple times.\n     * Avoid re-initializing the session when this happens. In a first run scenario a work dir\n     * will not exist. The work dir should only be deleted when close is invoked.\n     */\n    if (!this._workDirectory) {\n      this._shellProcess.stdin.write(`$profileHost = \"${host}\"\\n`);\n      this._shellProcess.stdin.write(`$port = ${port}\\n`);\n      this._shellProcess.stdin.write(`$protocol = ${protocol}\\n`);\n      this._shellProcess.stdin.write(\n        `$username = \"${escapePowershellString(username)}\"\\n`,\n      );\n      const password = await this.fetchPassword();\n      this._shellProcess.stdin.write(\n        `$password = \"${escapePowershellString(password)}\"\\n`,\n      );\n      this._shellProcess.stdin.write(\n        `$serverName = \"${\n          protocol === ITCProtocol.COM ? \"ITC Local\" : \"ITC IOM Bridge\"\n        }\"\\n`,\n      );\n      this._shellProcess.stdin.write(`$displayLang = \"${env.language}\"\\n`);\n      this._shellProcess.stdin.write(\n        `$runner.Setup($profileHost,$username,$password,$port,$protocol,$serverName,$displayLang)\\n`,\n        this.onWriteComplete,\n      );\n      this._workDirectoryParser.reset();\n      this._shellProcess.stdin.write(\n        \"$runner.ResolveSystemVars()\\n\",\n        this.onWriteComplete,\n      );\n\n      if (this._config.sasOptions?.length > 0) {\n        const sasOptsInput = `$sasOpts=${this.formatSASOptions(\n          this._config.sasOptions,\n        )}\\n`;\n        this._shellProcess.stdin.write(sasOptsInput, this.onWriteComplete);\n        this._shellProcess.stdin.write(\n          `$runner.SetOptions($sasOpts)\\n`,\n          this.onWriteComplete,\n        );\n      }\n    }\n\n    // free objects in the scripting env\n    process.on(\"exit\", async () => {\n      close();\n    });\n\n    return setupPromise;\n  };\n\n  private storePassword = async () =>\n    await this._secretStorage.store(this._passwordKey, this._password);\n\n  private clearPassword = async () => {\n    await this._secretStorage.store(this._passwordKey, \"\");\n    this._password = \"\";\n  };\n\n  private fetchPassword = async (): Promise<string> => {\n    if (this._config.protocol === ITCProtocol.COM) {\n      return \"\";\n    }\n\n    const storedPassword = await this._secretStorage.get(this._passwordKey);\n    if (storedPassword) {\n      this._password = storedPassword;\n      return storedPassword;\n    }\n\n    const source = new CancellationTokenSource();\n    this._passwordInputCancellationTokenSource = source;\n    this._password =\n      (await window.showInputBox(\n        {\n          ignoreFocusOut: true,\n          password: true,\n          prompt: l10n.t(\"Enter your password for this connection.\"),\n          title: l10n.t(\"Enter your password\"),\n        },\n        this._passwordInputCancellationTokenSource.token,\n      )) || \"\";\n\n    return this._password;\n  };\n\n  /**\n   * Executes the given input code.\n   * @param code A string of SAS code to execute.\n   * @param onLog A callback handler responsible for marshalling log lines back to the higher level extension API.\n   * @returns A promise that eventually resolves to contain the given {@link RunResult} for the input code execution.\n   */\n  protected _run = async (\n    code: string,\n    skipPageHeaders?: boolean,\n  ): Promise<RunResult> => {\n    const runPromise = new Promise<RunResult>((resolve, reject) => {\n      this._runResolve = resolve;\n      this._runReject = reject;\n    });\n\n    //write ODS output to work so that the session cleans up after itself\n    const codeWithODSPath = code.replace(\n      /\\bods html5\\(id=vscode\\)([^;]*;)/i,\n      `ods html5(id=vscode) path=\"${this._workDirectory}\" $1`,\n    );\n\n    //write an end mnemonic so that the handler knows when execution has finished\n    const codeWithEnd = `${codeWithODSPath}\\n%put ${LineCodes.RunEndCode};`;\n    const codeWithEscapeNewLine = codeWithEnd.replace(\n      /\\n/g,\n      \"\\n'@+[environment]::NewLine+@'\\n\",\n    );\n    const codeToRun = `$code=\\n@'\\n${codeWithEscapeNewLine}\\n'@\\n`;\n\n    this._html5FileName = \"\";\n    this._shellProcess.stdin.write(codeToRun);\n    this._pollingForLogResults = true;\n    this._shellProcess.stdin.write(`$runner.Run($code)\\n`, async (error) => {\n      if (error) {\n        this._runReject(error);\n      }\n\n      await this.fetchLog(skipPageHeaders);\n    });\n\n    return runPromise;\n  };\n\n  public execute = async (code: string): Promise<RunResult> => {\n    const runPromise = new Promise<RunResult>((resolve, reject) => {\n      this._runResolve = resolve;\n      this._runReject = reject;\n    });\n\n    this._html5FileName = \"\";\n    this._pollingForLogResults = true;\n    const codeToExecute = `${code}\\nWrite-Host \"${LineCodes.RunEndCode}\"\\n`;\n    this._shellProcess.stdin.write(codeToExecute, async (error) => {\n      if (error) {\n        this._runReject(error);\n      }\n    });\n\n    return runPromise;\n  };\n\n  /**\n   * Cleans up resources for the given SAS session.\n   * @returns void promise.\n   */\n  protected _close = async (): Promise<void> => {\n    return new Promise((resolve) => {\n      if (this._shellProcess) {\n        this._shellProcess.stdin.write(\n          \"$runner.Close()\\n\",\n          this.onWriteComplete,\n        );\n        this._shellProcess.kill();\n        this._shellProcess = undefined;\n\n        this._workDirectory = undefined;\n        this._runReject = undefined;\n        this._runResolve = undefined;\n      }\n      this.clearPassword();\n      resolve();\n      updateStatusBarItem(false);\n    });\n  };\n\n  /**\n   * Cancels a running SAS program\n   */\n  public cancel = async () => {\n    this._pollingForLogResults = false;\n    this._shellProcess.stdin.write(\"$runner.Cancel()\\n\", async (error) => {\n      if (error) {\n        this._runReject(error);\n      }\n\n      await this.fetchLog();\n    });\n  };\n\n  /**\n   * Formats the SAS Options provided in the profile into a format\n   * that the shell process can understand.\n   * @param sasOptions SAS Options array from the connection profile.\n   * @returns a string  denoting powershell syntax for an array literal.\n   */\n  private formatSASOptions = (sasOptions: string[]): string => {\n    const optionsVariable = `@(\"${sasOptions.join(`\",\"`)}\")`;\n    return optionsVariable;\n  };\n\n  /**\n   * Flushes the SAS log in chunks of [chunkSize] length,\n   * writing each chunk to stdout.\n   */\n  private fetchLog = async (skipPageHeaders?: boolean): Promise<void> => {\n    const pollingInterval = setInterval(() => {\n      if (!this._pollingForLogResults) {\n        clearInterval(pollingInterval);\n      }\n      const skipPageHeadersValue = skipPageHeaders ? \"$true\" : \"$false\";\n      this._shellProcess.stdin.write(\n        `\n  do {\n    $chunkSize = 32768\n    $count = $runner.FlushLogLines($chunkSize, ${skipPageHeadersValue})\n  } while ($count -gt 0)\\n\n    `,\n        this.onWriteComplete,\n      );\n    }, 2 * 1000);\n  };\n\n  /**\n   * Handles stderr output from the powershell child process.\n   * @param chunk a buffer of stderr output from the child process.\n   */\n  private onShellStdErr = (chunk: Buffer): void => {\n    const msg = chunk.toString();\n\n    const errorMessage = this._errorParser.processLine(msg);\n    if (!errorMessage) {\n      return;\n    }\n\n    this._runReject(\n      new Error(this.fetchHumanReadableErrorMessage(errorMessage)),\n    );\n\n    // If we encountered an error in setup, we need to go through everything again\n    const fatalErrors = [\n      /Setup error/,\n      /powershell\\.exe/,\n      /LoadingInterop error/,\n    ];\n    if (fatalErrors.find((regex) => regex.test(errorMessage))) {\n      // If we can't even run the shell script (i.e. powershell.exe not found),\n      // we'll also need to dismiss the password prompt\n      this._passwordInputCancellationTokenSource &&\n        this._passwordInputCancellationTokenSource.cancel();\n\n      this.clearPassword();\n\n      this._shellProcess.kill();\n      this._workDirectory = undefined;\n    }\n  };\n\n  private fetchWorkDirectory = (line: string): string | undefined => {\n    const foundWorkDirectory = this._workDirectoryParser.processLine(line);\n    // We don't want to output any of the captured lines\n    if (this._workDirectoryParser.isCapturingLine()) {\n      return;\n    }\n\n    return foundWorkDirectory || \"\";\n  };\n\n  private fetchHumanReadableErrorMessage = (msg: string): string => {\n    const atLineIndex = msg.indexOf(\"At line\");\n    const errorMessage = atLineIndex ? msg.slice(0, atLineIndex) : msg;\n\n    // Dump error to console\n    console.warn(\"shellProcess stderr: \" + errorMessage);\n\n    if (/powershell\\.exe/.test(msg)) {\n      return l10n.t(\"This platform does not support this connection type.\");\n    }\n\n    if (/LoadingInterop error/.test(msg)) {\n      return l10n.t(\"Unable to load required libraries.\");\n    }\n\n    // Do we have SAS messages?\n    const sasMessages = errorMessage\n      .replace(/\\n|\\t/gm, \"\")\n      .match(/<SASMessage severity=\"[A-Za-z]*\">([^<]*)<\\/SASMessage>/g);\n    if (sasMessages && sasMessages.length) {\n      return decodeEntities(\n        sasMessages\n          .map((sasMessage) =>\n            sasMessage\n              .replace(/<SASMessage severity=\"[A-Za-z]*\">/, \"\")\n              .replace(/<\\/SASMessage>/, \"\"),\n          )\n          .join(\"  \"),\n      );\n    }\n\n    // Do we have a description?\n    const descriptions = errorMessage\n      .replace(/\\n|\\t/gm, \"\")\n      .match(/<description>([^<]*)<\\/description>/g);\n    if (descriptions && descriptions.length) {\n      return decodeEntities(\n        descriptions\n          .map((sasMessage) =>\n            sasMessage\n              .replace(/<description>/, \"\")\n              .replace(/<\\/description>/, \"\"),\n          )\n          .join(\"  \"),\n      );\n    }\n\n    // If we have neither of those, lets just point the user to the console\n    return l10n.t(\n      \"There was an error executing the SAS Program. See [console log](command:workbench.action.toggleDevTools) for more details.\",\n    );\n  };\n\n  /**\n   * Handles stdout output from the powershell child process.\n   * @param data a buffer of stdout output from the child process.\n   */\n  private onShellStdOut = (data: Buffer): void => {\n    const output = data.toString();\n    const outputLines = output.split(/\\n|\\r\\n/);\n\n    outputLines.forEach((line: string) => {\n      if (!line) {\n        return;\n      }\n\n      if (!this.processLineCodes(line)) {\n        if (!this._workDirectory) {\n          const foundWorkDirectory = this.fetchWorkDirectory(line);\n          if (foundWorkDirectory === undefined) {\n            return;\n          }\n\n          if (foundWorkDirectory) {\n            this._workDirectory = foundWorkDirectory.trim();\n            this._runResolve();\n            updateStatusBarItem(true);\n            return;\n          }\n        }\n\n        this._html5FileName = extractOutputHtmlFileName(\n          line,\n          this._html5FileName,\n        );\n\n        if (this._workDirectory) {\n          this._onExecutionLogFn?.([{ type: this.getLogLineType(), line }]);\n        } else {\n          this._onSessionLogFn?.([{ type: this.getLogLineType(), line }]);\n        }\n      }\n    });\n  };\n\n  private processLineCodes(line: string): boolean {\n    if (line.endsWith(LineCodes.RunEndCode)) {\n      // run completed\n      this.fetchResults();\n      return true;\n    }\n\n    if (line.includes(LineCodes.SessionCreatedCode)) {\n      this.storePassword();\n      return true;\n    }\n\n    if (line.includes(LineCodes.ResultsFetchedCode)) {\n      this.displayResults();\n      return true;\n    }\n\n    if (line.includes(LineCodes.RunCancelledCode)) {\n      this._runResolve({});\n      return true;\n    }\n\n    if (line.includes(LineCodes.LogLineType)) {\n      const start =\n        line.indexOf(LineCodes.LogLineType) + LineCodes.LogLineType.length + 1;\n      this._logLineType = parseInt(line.slice(start, start + 1));\n      return true;\n    }\n\n    return false;\n  }\n\n  private getLogLineType(): LogLineTypeEnum {\n    const result = LogLineTypes[this._logLineType];\n    this._logLineType = 0;\n    return result;\n  }\n\n  /**\n   * Generic call for use on stdin write completion.\n   * @param err The error encountered on the write attempt. Undefined if no error occurred.\n   */\n  private onWriteComplete = (err: Error): void => {\n    if (err) {\n      this._runReject?.(err);\n    }\n  };\n\n  /**\n   * Not implemented.\n   */\n  public sessionId = (): string => {\n    throw new Error(\"Not Implemented\");\n  };\n\n  /**\n   * Fetches the ODS output results for the latest html results file.\n   */\n  private fetchResults = async () => {\n    if (!this._html5FileName) {\n      this._pollingForLogResults = false;\n      return this._runResolve({});\n    }\n\n    const globalStorageUri = getGlobalStorageUri();\n    try {\n      await workspace.fs.readDirectory(globalStorageUri);\n      // eslint-disable-next-line @typescript-eslint/no-unused-vars\n    } catch (e) {\n      await workspace.fs.createDirectory(globalStorageUri);\n    }\n\n    this._pollingForLogResults = false;\n    const outputFileUri = Uri.joinPath(\n      globalStorageUri,\n      `${this._html5FileName}.htm`,\n    );\n    const directorySeparator = getDirectorySeparator(this._workDirectory);\n    const filePath =\n      this._config.protocol === ITCProtocol.COM\n        ? resolve(this._workDirectory, this._html5FileName + \".htm\")\n        : `${this._workDirectory}${directorySeparator}${this._html5FileName}.htm`;\n    this._shellProcess.stdin.write(\n      `$filePath = \"${filePath}\"\n$outputFile = \"${outputFileUri.fsPath}\"\n$runner.FetchResultsFile($filePath, $outputFile)\\n`,\n      this.onWriteComplete,\n    );\n  };\n\n  private displayResults = async () => {\n    const globalStorageUri = getGlobalStorageUri();\n    const outputFileUri = Uri.joinPath(\n      globalStorageUri,\n      `${this._html5FileName}.htm`,\n    );\n    const file = await workspace.fs.readFile(outputFileUri);\n\n    const htmlResults = (file || \"\").toString();\n    if (file) {\n      workspace.fs.delete(outputFileUri);\n    }\n\n    const runResult: RunResult = {};\n    if (htmlResults.search('<*id=\"IDX*.+\">') !== -1) {\n      runResult.html5 = htmlResults;\n      runResult.title = \"Result\";\n    }\n    this._runResolve(runResult);\n  };\n}\n\n/**\n * Creates a new SAS 9 Session.\n * @param c Instance denoting configuration parameters for this connection profile.\n * @returns  created COM session.\n */\nexport const getSession = (\n  c: Partial<Config>,\n  protocol: ITCProtocol,\n): Session => {\n  const defaults = {\n    host: \"localhost\",\n    port: 0,\n    username: \"\",\n    protocol,\n  };\n\n  if (!sessionInstance) {\n    sessionInstance = new ITCSession();\n  }\n  sessionInstance.config = { ...defaults, ...c };\n  return sessionInstance;\n};\n"
  },
  {
    "path": "client/src/connection/itc/script/env.json",
    "content": "{\n  \"LineCodes\": {\n    \"LogLineType\": \"--vscode-sas-extension-log-line-type--\",\n    \"ResultsFetchedCode\": \"--vscode-sas-extension-results-fetched--\",\n    \"RunCancelledCode\": \"--vscode-sas-extension-run-cancelled--\",\n    \"RunEndCode\": \"--vscode-sas-extension-submit-end--\",\n    \"SessionCreatedCode\": \"--vscode-sas-extension-session-created--\"\n  },\n  \"Tags\": {\n    \"ErrorEndTag\": \"</ITCError>\",\n    \"ErrorStartTag\": \"<ITCError>\",\n    \"WorkDirEndTag\": \"</WorkDirectory>\",\n    \"WorkDirStartTag\": \"<WorkDirectory>\"\n  }\n}\n"
  },
  {
    "path": "client/src/connection/itc/script/index.ts",
    "content": "// Copyright © 2023, SAS Institute Inc., Cary, NC, USA.  All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport fs from \"fs\";\nimport path from \"path\";\n\ntype ScriptProperties = {\n  interopLibraryFolderPath?: string;\n};\n\nexport const getScript = ({\n  interopLibraryFolderPath = \"\",\n}: ScriptProperties) => `\nSet-Location -Path \"${__dirname}\"\n$global:interopLibraryFolderPath=\"${interopLibraryFolderPath}\"\n\n${fs.readFileSync(path.join(__dirname, \"itc.ps1\")).toString()}\n`;\n"
  },
  {
    "path": "client/src/connection/itc/script/itc.ps1",
    "content": "using namespace System.Collections.Generic\n\n$global:env = (Get-Content -Path \"$PWD\\\\env.json\" -Raw) | ConvertFrom-Json\n\n#region Table Helpers\nfunction GetFilteredView {\n  param(\n    [string]$Library,\n    [string]$Table,\n    [string]$SortCriteria = \"\",\n    [string]$JSONQueryData = \"\"\n  )\n\n  $epoch = [datetime]::FromFileTimeUtc(0)\n  $currentUtcTime = (Get-Date).ToUniversalTime()\n  $ts = [int64]($currentUtcTime - $epoch).TotalSeconds\n  $tableName = \"WORK.temp_$ts\"\n\n  $query = \"CREATE VIEW $tableName AS SELECT * FROM $library.$table\"\n\n  if ($JSONQueryData -ne \"\") {\n    $queryParams = $JSONQueryData | ConvertFrom-Json\n    if ($queryParams.filterValue) {\n      $query = \"$query WHERE $($queryParams.filterValue)\"\n    }\n  }\n\n  if ($SortCriteria -ne \"\") {\n    $query = \"$query ORDER BY $sortCriteria\"\n  }\n\n  return @{\n    Query = $query\n    Name  = $tableName\n  }\n}\n#endregion Table Helpers\n\n#region Setup Helpers\nfunction GetInteropDirectory {\n  # try to load from user specified path first\n  if (\"$($global:interopLibraryFolderPath)\") {\n    if (Test-Path -Path \"$($global:interopLibraryFolderPath)\\\\SASInterop.dll\") {\n      return \"$($global:interopLibraryFolderPath)\"\n    }\n  }\n\n  # try to load path from registry\n  try {\n    $pathFromRegistry = (Get-ItemProperty -ErrorAction Stop -Path \"HKLM:\\\\SOFTWARE\\\\WOW6432Node\\\\SAS Institute Inc.\\\\Common Data\\\\Shared Files\\\\Integration Technologies\").Path\n    if (Test-Path -Path \"$pathFromRegistry\\\\SASInterop.dll\") {\n      return $pathFromRegistry\n    }\n  } catch {\n  }\n\n  # try to load path from integration technologies\n  $itcPath = \"C:\\\\Program Files\\\\SASHome\\\\x86\\\\Integration Technologies\"\n  if (Test-Path -Path \"$itcPath\\\\SASInterop.dll\") {\n    return $itcPath\n  }\n\n  return \"\"\n}\n#endregion Setup Helpers\n\ntry {\n  $interopDir = GetInteropDirectory\n  Add-Type -Path \"$interopDir\\\\SASInterop.dll\"\n  Add-Type -Path \"$interopDir\\\\SASOManInterop.dll\"\n} catch {\n  Write-Error \"$($global:env.Tags.ErrorStartTag)LoadingInterop error: $_$($global:env.Tags.ErrorEndTag)\"\n}\n\nclass SASRunner {\n  [System.__ComObject] $objSAS\n  [System.__ComObject] $objKeeper\n  [System.__ComObject] $dataConnection\n\n  [void]ResolveSystemVars() {\n    try {\n      Write-Host \"$($global:env.Tags.WorkDirStartTag)\"\n      Write-Host $this.GetWorkDir()\n      Write-Host \"$($global:env.Tags.WorkDirEndTag)\"\n    } catch {\n      Write-Error \"$($global:env.Tags.ErrorStartTag)Setup error: $_$($global:env.Tags.ErrorEndTag)\"\n    }\n  }\n\n  [void]Setup([string]$profileHost, [string]$username, [string]$password, [int]$port, [int]$protocol, [string]$serverName, [string]$displayLang) {\n    try {\n      # Set Encoding for input and output\n      $OutputEncoding = [Console]::InputEncoding = [Console]::OutputEncoding = New-Object System.Text.UTF8Encoding\n\n      # create the Integration Technologies objects\n      $objFactory = New-Object -TypeName SASObjectManager.ObjectFactoryMulti2Class\n      $objFactory.ApplicationName = \"SAS Extension for Visual Studio Code\"\n      $objServerDef = New-Object -TypeName SASObjectManager.ServerDefClass\n      $objServerDef.MachineDNSName = $profileHost # SAS Workspace node\n      $objServerDef.Port = $port # workspace server port\n      $objServerDef.Protocol = $protocol # 0 = COM protocol\n      $sasLocale = $displayLang -replace '-', '_'\n      $objServerDef.ExtraNameValuePairs = \"LOCALE=$sasLocale\" # set the correct locale\n\n      # Class Identifier for SAS Workspace\n      $objServerDef.ClassIdentifier = \"440196d4-90f0-11d0-9f41-00a024bb830c\"\n\n      # create and connect to the SAS session\n      $this.objSAS = $objFactory.CreateObjectByServer(\n        $serverName, # server name\n        $true,\n        $objServerDef, # built server definition\n        $username,\n        $password\n      )\n\n      $this.objKeeper = New-Object -ComObject SASObjectManager.ObjectKeeper\n      $this.objKeeper.AddObject(1, \"WorkspaceObject\", $this.objSAS)\n\n      $this.dataConnection = New-Object -comobject ADODB.Connection\n      $this.dataConnection.Provider = \"sas.IOMProvider\"\n      $this.dataConnection.Properties(\"Data Source\") = (\n        \"iom-id://\" + $this.objSAS.UniqueIdentifier\n      )\n      $this.dataConnection.Open()\n\n      Write-Host \"$($global:env.LineCodes.SessionCreatedCode)\"\n    } catch {\n      Write-Error \"$($global:env.Tags.ErrorStartTag)Setup error: $_$($global:env.Tags.ErrorEndTag)\"\n    }\n  }\n\n  [void]SetOptions([array] $sasOptions) {\n    $names = [string[]]@()\n    $values = [string[]]@()\n\n    foreach ($item in $sasOptions) {\n      $parts = $item -split '=| '\n      $names += $parts[0] -replace '^-'\n      if ($parts.Length -gt 1) {\n        $values += $parts[1]\n      } else {\n        $values += \"\"\n      }\n    }\n\n    [ref]$errorIndices = [int[]]::new($names.Length)\n    [ref]$errors = [string[]]::new($names.Length)\n    [ref]$errorCodes = [int[]]::new($names.Length)\n\n    try {\n      $this.objSAS.Utilities.OptionService.SetOptions([string[]]$names, [string[]]$values, $errorIndices, $errorCodes, $errors)\n\n      $errVals = $errors.Value\n      if ($errVals.Length -gt 0) {\n        throw $errVals\n      }\n    } catch {\n      Write-Error \"$($global:env.Tags.ErrorStartTag)$Error[0].Exception.Message$($global:env.Tags.ErrorEndTag)\"\n    }\n  }\n\n  [string]GetWorkDir() {\n    $fieldInclusionMask = ($false, $false, $false, $true, $false)\n    [ref]$engineName = [string[]]@()\n    [ref]$engineAttrs = New-Object 'int[,]' 0, 0\n    [ref]$libraryAttrs = [int[]]@()\n    [ref]$physicalName = [string[]]::new(1)\n    [ref]$infoPropertyNames = New-Object 'string[,]' 0, 0\n    [ref]$infoPropertyValues = New-Object 'string[,]' 0, 0\n    $lib = $this.objSAS.DataService.UseLibref(\"work\")\n    $lib.LevelInfo([bool[]]$fieldInclusionMask, $engineName, $engineAttrs, $libraryAttrs,\n      $physicalName, $infoPropertyNames, $infoPropertyValues)\n    return $physicalName.Value[0]\n  }\n\n  [void]Run([string]$code) {\n    try {\n      $this.objSAS.LanguageService.Reset()\n      $this.objSAS.LanguageService.Async = $true\n      $this.objSAS.LanguageService.Submit($code)\n    } catch {\n      Write-Error \"$($global:env.Tags.ErrorStartTag)Run error: $_$($global:env.Tags.ErrorEndTag)\"\n    }\n  }\n\n  [void]Close() {\n    try {\n      $this.dataConnection.Close()\n      $this.objKeeper.RemoveObject($this.objSAS)\n      $this.objSAS.Close()\n    } catch {\n      Write-Error \"$($global:env.Tags.ErrorStartTag)Close error: $_$($global:env.Tags.ErrorEndTag)\"\n    }\n  }\n\n  [void]Cancel() {\n    try {\n      $this.objSAS.LanguageService.Cancel()\n      Write-Host \"$($global:env.LineCodes.RunCancelledCode)\"\n    } catch {\n      Write-Error \"$($global:env.Tags.ErrorStartTag)Cancel error: $_$($global:env.Tags.ErrorEndTag)\"\n    }\n  }\n\n  [String]FlushLog([int]$chunkSize) {\n    try {\n      return $this.objSAS.LanguageService.FlushLog($chunkSize)\n    } catch {\n      Write-Error \"$($global:env.Tags.ErrorStartTag)FlushLog error: $_$($global:env.Tags.ErrorEndTag)\"\n    }\n    return \"\"\n  }\n\n  [int]FlushLogLines([int]$chunkSize, [bool]$skipPageHeader) {\n    [ref]$carriageControls = [int[]]::new($chunkSize)\n    [ref]$lineTypes = [int[]]::new($chunkSize)\n    [ref]$logLines = [string[]]::new($chunkSize)\n\n    try {\n      $this.objSAS.LanguageService.FlushLogLines($chunkSize, $carriageControls, $lineTypes, $logLines)\n    } catch {\n      Write-Error \"$($global:env.Tags.ErrorStartTag)FlushLog error: $_$($global:env.Tags.ErrorEndTag)\"\n    }\n    for ($i = 0; $i -lt $logLines.Value.Length; $i++) {\n      if (($carriageControls.Value[$i] -eq 1) -and $skipPageHeader) {\n        continue\n      }\n      Write-Host \"$($global:env.LineCodes.LogLineType)\" $lineTypes.Value[$i]\n      Write-Host $logLines.Value[$i]\n    }\n    return $logLines.Value.Length\n  }\n\n  [void]FlushCompleteLog() {\n    do {\n      $chunkSize = 32768\n      $log = $this.FlushLog($chunkSize)\n      Write-Host $log\n    } while ($log.Length -gt 0)\n  }\n\n  [void]FetchResultsFile([string]$filePath, [string]$outputFile) {\n    $fileRef = \"\"\n    $objFile = $this.objSAS.FileService.AssignFileref(\"\", \"DISK\", $filePath, \"\", [ref] $fileRef)\n    $objStream = $objFile.OpenBinaryStream(1);\n    [Byte[]] $bytes = 0x0\n\n    $endOfFile = $false\n    $byteCount = 0\n    $outStream = New-Object System.IO.FileStream($outputFile, [System.IO.FileMode]::OpenOrCreate, [System.IO.FileAccess]::Write)\n    try {\n      do {\n        $objStream.Read(8192, [ref] $bytes)\n        $outStream.Write($bytes, 0, $bytes.length)\n        $endOfFile = $bytes.Length -lt 8192\n        $byteCount = $byteCount + $bytes.Length\n      } while (-not $endOfFile)\n    } finally {\n      $objStream.Close()\n      $outStream.Close()\n      $this.objSAS.FileService.DeassignFileref($objFile.FilerefName)\n    }\n\n    Write-Host \"$($global:env.LineCodes.ResultsFetchedCode)\"\n  }\n\n  [void]GetDatasetRecords([string]$library, [string]$table, [int]$start = 0, [int]$limit = 100, [string]$sortCriteria = \"\", [string]$jsonQueryData = \"\") {\n    $objRecordSet = New-Object -comobject ADODB.Recordset\n    $objRecordSet.ActiveConnection = $this.dataConnection # This is needed to set the properties for sas formats.\n    $objRecordSet.Properties.Item(\"SAS Formats\").Value = \"_ALL_\"\n\n    $queryParams = $jsonQueryData | ConvertFrom-Json\n\n    $tableName = $library + \".\" + $table\n    if ($sortCriteria -ne \"\" -or $jsonQueryData -ne \"\") {\n      $view = GetFilteredView -Library $library -Table $table -SortCriteria $sortCriteria -JSONQueryData $jsonQueryData\n      $tableName = $view.Name\n      $this.dataConnection.Execute($view.Query)\n    }\n\n    $objRecordSet.Open(\n      $tableName,\n      [System.Reflection.Missing]::Value, # Use the active connection\n      2,  # adOpenDynamic\n      1,  # adLockReadOnly\n      512 # adCmdTableDirect\n    )\n\n    $records = [List[List[object]]]::new()\n    $fields = $objRecordSet.Fields.Count\n\n    if ($objRecordSet.EOF) {\n      Write-Host '{\"rows\": [], \"count\": 0}'\n      return\n    }\n\n    $objRecordSet.AbsolutePosition = $start + 1\n    for ($j = 0; $j -lt $limit -and $objRecordSet.EOF -eq $False; $j++) {\n      $cell = [List[object]]::new()\n      for ($i = 0; $i -lt $fields; $i++) {\n        $cell.Add($objRecordSet.Fields.Item($i).Value)\n      }\n      $records.Add($cell)\n      $objRecordSet.MoveNext()\n    }\n    $objRecordSet.Close()\n\n    $objRecordSet.Open(\n      \"SELECT COUNT(1) FROM $tableName\",\n      $this.dataConnection, 3, 1, 1\n    ) # adOpenStatic, adLockReadOnly, adCmdText\n    $count = $objRecordSet.Fields.Item(0).Value\n    $objRecordSet.Close()\n\n    $result = New-Object psobject\n    $result | Add-Member -MemberType NoteProperty -Name \"rows\" -Value $records\n    $result | Add-Member -MemberType NoteProperty -Name \"count\" -Value $count\n\n    if ($sortCriteria -ne \"\") {\n      $this.dataConnection.Execute(\"DROP VIEW $tableName\")\n    }\n\n    Write-Host $(ConvertTo-Json -Depth 10 -InputObject $result -Compress)\n  }\n\n  [void]GetColumns([string]$libname, [string]$memname) {\n    $objRecordSet = New-Object -comobject ADODB.Recordset\n    $objRecordSet.ActiveConnection = $this.dataConnection\n    $query = @\"\n      select name, type, format, informat, label, length, varnum\n      from sashelp.vcolumn\n      where libname='$libname' and memname='$memname'\n      order by varnum;\n\"@\n    $objRecordSet.Open(\n      $query,\n      [System.Reflection.Missing]::Value, # Use the active connection\n      2, # adOpenDynamic\n      1, # adLockReadOnly\n      1  # adCmdText\n    )\n\n    $rows = $objRecordSet.GetRows()\n\n    $objRecordSet.Close()\n\n    $parsedRows = @()\n    for ($i = 0; $i -lt $rows.GetLength(1); $i++) {\n      $parsedRow = [PSCustomObject]@{\n        index  = $i + 1\n        name   = $rows[0, $i]\n        type   = $rows[1, $i]\n        format = $rows[2, $i]\n        informat = $rows[3, $i]\n        label  = $rows[4, $i]\n        length = $rows[5, $i]\n        varnum = $rows[6, $i]\n      }\n      $parsedRows += $parsedRow\n    }\n\n    Write-Host $(ConvertTo-Json -Depth 10 -InputObject $parsedRows -Compress)\n  }\n\n  [void]DeleteItemAtPath([string]$filePath, [bool]$recursive) {\n    if ($recursive) {\n      $items = $this.GetItemsAtPath($filePath, [SAS.FileServiceListFilesMode]::FileServiceListFilesModePath);\n      for ($i = 0; $i -lt $items.Count; $i++) {\n        if ($items[$i].category -eq 0) {\n          $this.DeleteItemAtPath($items[$i].uri, $true);\n        } else {\n          $this.DeleteItemAtPath($items[$i].uri, $false);\n        }\n      }\n      $this.objSAS.FileService.DeleteFile($filePath)\n    } else {\n      $this.objSAS.FileService.DeleteFile($filePath)\n    }\n  }\n\n  [void]DeleteFile([string]$filePath) {\n    $recursive = $true\n    try {\n      # If we error out, that means we're trying to get items at a file path,\n      # which isn't valid (thus, this isn't recursive)\n      $items = $this.GetItemsAtPath($filePath, [SAS.FileServiceListFilesMode]::FileServiceListFilesModePath);\n    } catch {\n      $recursive = $false\n    }\n    try {\n      $this.DeleteItemAtPath($filePath, $recursive)\n      Write-Host (@{success = $true } | ConvertTo-Json)\n    } catch {\n      Write-Host (@{success = $false; message = $Error[0].Exception.Message } | ConvertTo-Json)\n    }\n  }\n\n  [void]CreateDirectory([string]$folderPath, [string]$folderName) {\n    try {\n      $currentFolder = $this.GetItemAtPathWithName($folderPath, $folderName)\n      if ($currentFolder -ne $null) {\n        Write-Host (@{success = $false } | ConvertTo-Json)\n        return;\n      }\n\n      $uri = $this.objSAS.FileService.MakeDirectory($folderPath, $folderName)\n      $newFolder = $this.GetItemAtPathWithName($folderPath, $folderName)\n      Write-Host (@{success = $true; data = $newFolder } | ConvertTo-Json)\n    } catch {\n      Write-Host (@{success = $false; message = $Error[0].Exception.Message } | ConvertTo-Json)\n    }\n  }\n\n  [void]CreateFile([string]$folderPath, [string]$fileName, [string]$content) {\n    try {\n      $currentItem = $this.GetItemAtPathWithName($folderPath, $fileName)\n      if ($currentItem -ne $null) {\n        Write-Host (@{success = $false } | ConvertTo-Json)\n        return;\n      }\n\n      $fileRefName = \"\"\n      $objFile = $this.objSAS.FileService.AssignFileref(\"\", \"DISK\", $folderPath, \"\", [ref] $fileRefName)\n      $assignedName = \"\"\n      $outFile = $objFile.AssignMember(\"\", $fileName, \"DISK\", \"\", [ref] $assignedName)\n      $objStream = $outFile.OpenBinaryStream([SAS.StreamOpenMode]::StreamOpenModeForWriting)\n      $objStream.Write([System.Convert]::FromBase64String($content));\n      $objStream.Close()\n      $this.objSAS.FileService.DeassignFileref($outFile.FilerefName)\n      $this.objSAS.FileService.DeassignFileref($objFile.FilerefName)\n\n      $newFile = $this.GetItemAtPathWithName($folderPath, $fileName)\n      Write-Host (@{success = $true; data = $newFile } | ConvertTo-Json)\n    } catch {\n      Write-Host (@{success = $false; message = $Error[0].Exception.Message } | ConvertTo-Json)\n    }\n  }\n\n  [void]UpdateFile([string]$filePath, [string]$content) {\n    try {\n      $fileRefName = \"\"\n      $objFile = $this.objSAS.FileService.AssignFileref(\"\", \"DISK\", $filePath, \"\", [ref] $fileRefName)\n      $objStream = $objFile.OpenBinaryStream([SAS.StreamOpenMode]::StreamOpenModeForWriting);\n      $encoding = [System.Text.Encoding]::UTF8\n      $objStream.Write($encoding.GetBytes($content));\n\n      $objStream.Close()\n      $this.objSAS.FileService.DeassignFileref($objFile.FilerefName)\n\n      Write-Host (@{success = $true } | ConvertTo-Json)\n    } catch {\n      Write-Host (@{success = $false; message = $Error[0].Exception.Message } | ConvertTo-Json)\n    }\n  }\n\n  [string]GetDirectorySeparator([string]$path) {\n    if ($path -Match \"/\") {\n      return \"/\"\n    }\n\n    return \"\\\"\n  }\n\n  [void]RenameFile([string]$oldPath, [string]$newPath, [string]$newName) {\n    try {\n      $currentItem = $this.GetItemAtPathWithName($newPath, $newName)\n      if ($currentItem -ne $null) {\n        Write-Host (@{success = $false } | ConvertTo-Json)\n        return;\n      }\n\n      $this.objSAS.FileService.RenameFile($oldPath, $newPath + $this.GetDirectorySeparator($newPath) + $newName);\n      $item = $this.GetItemAtPathWithName($newPath, $newName);\n      Write-Host (@{success = $true; data = $item } | ConvertTo-Json)\n    } catch {\n      Write-Host (@{success = $false; message = $Error[0].Exception.Message } | ConvertTo-Json)\n    }\n  }\n\n  [void]FetchFileContent([string]$filePath, [string]$outputFile) {\n    try {\n      $fileRef = \"\"\n      $objFile = $this.objSAS.FileService.AssignFileref(\"\", \"DISK\", $filePath, \"\", [ref] $fileRef)\n      $objStream = $objFile.OpenBinaryStream(1);\n      [Byte[]] $bytes = 0x0\n\n      $endOfFile = $false\n      $byteCount = 0\n      $outStream = New-Object System.IO.FileStream($outputFile, [System.IO.FileMode]::OpenOrCreate, [System.IO.FileAccess]::Write)\n      try {\n        do {\n          $objStream.Read(8192, [ref] $bytes)\n          $outStream.Write($bytes, 0, $bytes.length)\n          $endOfFile = $bytes.Length -lt 8192\n          $byteCount = $byteCount + $bytes.Length\n        } while (-not $endOfFile)\n      } finally {\n        $objStream.Close()\n        $outStream.Close()\n        $this.objSAS.FileService.DeassignFileref($objFile.FilerefName)\n      }\n      Write-Host (@{success = $true } | ConvertTo-Json)\n    } catch {\n      Write-Host (@{success = $false; message = $Error[0].Exception.Message } | ConvertTo-Json)\n    }\n  }\n\n  [object] GetItemAtPathWithName([string]$folderPath, [string]$name) {\n    $items = $this.GetItemsAtPath($folderPath, [SAS.FileServiceListFilesMode]::FileServiceListFilesModePath)\n    for ($i = 0; $i -lt $items.Count; $i++) {\n      if ($items[$i].name -eq $name) {\n        return $items[$i]\n      }\n    }\n    return $null;\n  }\n\n  [object[]] GetItemsAtPath([string]$folderPath, [SAS.FileServiceListFilesMode] $mode) {\n    $fieldInclusionMask = [boolean[]]@()\n    # Out data\n    $listedPath = \"\"\n    $names = [string[]]@()\n    $typeNames = [string[]]@()\n    $typeCategories = [SAS.FileRefTypeCategory[]]@()\n    $sizes = [int[]]@()\n    $modTimes = [DateTime[]]@()\n    $engines = [string[]]@()\n\n    $this.objSAS.FileService.ListFiles(\n      $folderPath,\n      $mode,\n      $fieldInclusionMask,\n      [ref]$listedPath,\n      [ref]$names,\n      [ref]$typeNames,\n      [ref]$typeCategories,\n      [ref]$sizes,\n      [ref]$modTimes,\n      [ref]$engines\n    )\n\n    $output = [object[]]::new($names.Length)\n    for ($i = 0; $i -lt $names.Count; $i++) {\n      $uri = $listedPath.Trim(\"\\\\\") + $this.GetDirectorySeparator($listedPath) + $names[$i];\n      if ($listedPath -eq \"\") {\n        $uri = $names[$i]\n      }\n      $output[$i] = @{\n        uri               = $uri;\n        name              = $names[$i];\n        type              = $typeNames[$i];\n        category          = $typeCategories[$i];\n        size              = $sizes[$i];\n        modifiedTimeStamp = $modTimes[$i];\n        engine            = $engines[$i];\n        parentFolderUri   = $listedPath\n      }\n    }\n\n    return $output\n  }\n\n  [void]GetChildItems([string]$folderPath, [string]$fileNavigationCustomRootPath, [string]$fileNavigationRoot) {\n    try {\n      $mode = [SAS.FileServiceListFilesMode]::FileServiceListFilesModePath\n      if ($folderPath -eq \"/\") {\n        if ($fileNavigationRoot -eq \"USER\") {\n          $mode = [SAS.FileServiceListFilesMode]::FileServiceListFilesModeUser\n        }\n        if ($fileNavigationRoot -eq \"SYSTEM\") {\n          $mode = [SAS.FileServiceListFilesMode]::FileServiceListFilesModePath\n        }\n        if ($fileNavigationRoot -eq \"CUSTOM\") {\n          $folderPath = $fileNavigationCustomRootPath\n          $mode = [SAS.FileServiceListFilesMode]::FileServiceListFilesModePath\n        }\n      }\n      $output = $this.GetItemsAtPath($folderPath, $mode)\n      Write-Host (@{success = $true; data = $output } | ConvertTo-Json)\n    } catch {\n      Write-Host (@{success = $false; message = $Error[0].Exception.Message } | ConvertTo-Json)\n    }\n  }\n\n  [void]GetLibraries() {\n    $objRecordSet = New-Object -comobject ADODB.Recordset\n    $objRecordSet.ActiveConnection = $this.dataConnection\n    $query = @\"\n      select distinct libname, readonly\n      from sashelp.vlibnam\n      order by libname asc;\n\"@\n    $objRecordSet.Open(\n      $query,\n      [System.Reflection.Missing]::Value, # Use the active connection\n      2, # adOpenDynamic\n      1, # adLockReadOnly\n      1  # adCmdText\n    )\n\n    $records = [System.Collections.Generic.List[object[]]]::new()\n    while (-not $objRecordSet.EOF) {\n      $row = @()\n      for ($i = 0; $i -lt $objRecordSet.Fields.Count; $i++) {\n        $row += $objRecordSet.Fields.Item($i).Value\n      }\n      $records.Add($row)\n      $objRecordSet.MoveNext()\n    }\n    $objRecordSet.Close()\n\n    $result = New-Object psobject\n    $result | Add-Member -MemberType NoteProperty -Name \"libraries\" -Value $records\n    $result | Add-Member -MemberType NoteProperty -Name \"count\" -Value $records.Count\n\n    Write-Host $(ConvertTo-Json -Depth 10 -InputObject $result -Compress)\n  }\n\n  [void]GetTableInfo([string]$libname, [string]$memname) {\n    $objRecordSet = New-Object -comobject ADODB.Recordset\n    $objRecordSet.ActiveConnection = $this.dataConnection\n    $query = @\"\n     select v.memname, v.memtype, v.crdate, v.modate, v.nobs, v.obslen, v.nvar, v.compress,\n        v.memlabel, v.typemem, v.filesize, v.delobs, v.encoding, m.engine\n        from sashelp.vtable v\n        left join sashelp.vmember m on v.libname = m.libname and v.memname = m.memname\n        where v.libname='$libname' and v.memname='$memname';\n\"@\n    $objRecordSet.Open(\n      $query,\n      [System.Reflection.Missing]::Value, # Use the active connection\n      2, # adOpenDynamic\n      1, # adLockReadOnly\n      1  # adCmdText\n    )\n\n    $result = New-Object psobject\n    if (-not $objRecordSet.EOF) {\n      $result | Add-Member -MemberType NoteProperty -Name \"name\" -Value $objRecordSet.Fields.Item(0).Value\n      $result | Add-Member -MemberType NoteProperty -Name \"type\" -Value $objRecordSet.Fields.Item(1).Value\n      $result | Add-Member -MemberType NoteProperty -Name \"creationTimeStamp\" -Value $objRecordSet.Fields.Item(2).Value\n      $result | Add-Member -MemberType NoteProperty -Name \"modifiedTimeStamp\" -Value $objRecordSet.Fields.Item(3).Value\n      $result | Add-Member -MemberType NoteProperty -Name \"rowCount\" -Value $objRecordSet.Fields.Item(4).Value\n      $result | Add-Member -MemberType NoteProperty -Name \"recordLength\" -Value $objRecordSet.Fields.Item(5).Value\n      $result | Add-Member -MemberType NoteProperty -Name \"columnCount\" -Value $objRecordSet.Fields.Item(6).Value\n      $result | Add-Member -MemberType NoteProperty -Name \"compressionRoutine\" -Value $objRecordSet.Fields.Item(7).Value\n      $result | Add-Member -MemberType NoteProperty -Name \"label\" -Value $objRecordSet.Fields.Item(8).Value\n      $result | Add-Member -MemberType NoteProperty -Name \"extendedType\" -Value $objRecordSet.Fields.Item(9).Value\n      $result | Add-Member -MemberType NoteProperty -Name \"fileSize\" -Value $objRecordSet.Fields.Item(10).Value\n      $result | Add-Member -MemberType NoteProperty -Name \"deletedObs\" -Value $objRecordSet.Fields.Item(11).Value\n      $result | Add-Member -MemberType NoteProperty -Name \"encoding\" -Value $objRecordSet.Fields.Item(12).Value\n      $result | Add-Member -MemberType NoteProperty -Name \"engine\" -Value $objRecordSet.Fields.Item(13).Value\n      $result | Add-Member -MemberType NoteProperty -Name \"libref\" -Value $libname\n    }\n    $objRecordSet.Close()\n\n    Write-Host $(ConvertTo-Json -Depth 10 -InputObject $result -Compress)\n  }\n\n  [void]GetTables([string]$libname) {\n    $objRecordSet = New-Object -comobject ADODB.Recordset\n    $objRecordSet.ActiveConnection = $this.dataConnection\n    $query = @\"\n      select memname\n      from sashelp.vtable\n      where libname='$libname'\n      order by memname asc;\n\"@\n    $objRecordSet.Open(\n      $query,\n      [System.Reflection.Missing]::Value, # Use the active connection\n      2, # adOpenDynamic\n      1, # adLockReadOnly\n      1  # adCmdText\n    )\n\n    $records = @()\n    while (-not $objRecordSet.EOF) {\n      $records += $objRecordSet.Fields.Item(0).Value\n      $objRecordSet.MoveNext()\n    }\n    $objRecordSet.Close()\n\n    $result = New-Object psobject\n    $result | Add-Member -MemberType NoteProperty -Name \"tables\" -Value $records\n    $result | Add-Member -MemberType NoteProperty -Name \"count\" -Value $records.Count\n\n    Write-Host $(ConvertTo-Json -Depth 10 -InputObject $result -Compress)\n  }\n}\n\n"
  },
  {
    "path": "client/src/connection/itc/types.ts",
    "content": "// Copyright © 2023, SAS Institute Inc., Cary, NC, USA.  All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { BaseConfig } from \"..\";\n\nexport enum ScriptActions {\n  CreateDirectory = `$runner.CreateDirectory($folderPath, $folderName)`,\n  CreateFile = `$runner.CreateFile($folderPath, $fileName, $content)`,\n  DeleteFile = `$runner.DeleteFile($filePath)`,\n  FetchFileContent = `$runner.FetchFileContent($filePath, $outputFile)`,\n  GetChildItems = `$runner.GetChildItems($path, $fileNavigationCustomRootPath, $fileNavigationRoot)`,\n  RenameFile = `$runner.RenameFile($oldPath,$newPath,$newName)`,\n  UpdateFile = `$runner.UpdateFile($filePath, $content)`,\n}\n\nexport enum ITCProtocol {\n  COM = 0,\n  IOMBridge = 2,\n}\n\n/**\n * Configuration parameters for this connection provider\n */\nexport interface Config extends BaseConfig {\n  host: string;\n  port: number;\n  username: string;\n  protocol: ITCProtocol;\n  interopLibraryFolderPath?: string;\n}\n\nexport type PowershellResponse = {\n  category: number;\n  creationTimeStamp?: string;\n  modifiedTimeStamp: string;\n  name: string;\n  parentFolderUri: string;\n  size: number;\n  uri: string;\n};\n"
  },
  {
    "path": "client/src/connection/itc/util.ts",
    "content": "// Copyright © 2024, SAS Institute Inc., Cary, NC, USA.  All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n\nexport const decodeEntities = (msg: string): string => {\n  // Some of our messages from the server contain html encoded\n  // characters. This converts them back.\n  const specialCharacters = {\n    \"&apos;\": \"'\",\n  };\n\n  Object.entries(specialCharacters).map(([encodedHtml, text]) => {\n    msg = msg.replace(encodedHtml, text);\n  });\n\n  return msg;\n};\n\nexport const escapePowershellString = (unescapedString: string): string =>\n  unescapedString.replace(/(`|\"|'|\\$|\\(|\\)|%|{|}|\\[|\\])/g, \"`$1\");\n\nexport const getDirectorySeparator = (path: string): string =>\n  path.lastIndexOf(\"/\") !== -1 ? \"/\" : \"\\\\\";\n"
  },
  {
    "path": "client/src/connection/rest/RestContentAdapter.ts",
    "content": "// Copyright © 2024, SAS Institute Inc., Cary, NC, USA.  All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { FileType, Uri, authentication } from \"vscode\";\n\nimport axios, {\n  AxiosError,\n  AxiosInstance,\n  AxiosRequestConfig,\n  AxiosResponse,\n} from \"axios\";\n\nimport { SASAuthProvider } from \"../../components/AuthProvider\";\nimport {\n  DEFAULT_FILE_CONTENT_TYPE,\n  FILE_TYPES,\n  FOLDER_TYPES,\n  ROOT_FOLDER,\n  SAS_CONTENT_ROOT_FOLDERS,\n  TRASH_FOLDER_TYPE,\n} from \"../../components/ContentNavigator/const\";\nimport {\n  AddChildItemProperties,\n  ContentAdapter,\n  ContentItem,\n  Link,\n  RootFolderMap,\n} from \"../../components/ContentNavigator/types\";\nimport {\n  ContextMenuAction,\n  ContextMenuProvider,\n  getFileContentType,\n  getTypeName,\n  isContainer,\n  isItemInRecycleBin,\n  isReference,\n} from \"../../components/ContentNavigator/utils\";\nimport {\n  getItemContentType,\n  getLink,\n  getPermission,\n  getResourceId,\n  getResourceIdFromItem,\n  getSasContentUri,\n} from \"./util\";\n\nclass RestContentAdapter implements ContentAdapter {\n  private connection: AxiosInstance;\n  private authorized: boolean;\n  private viyaCadence: string;\n  private rootFolders: RootFolderMap;\n  private fileMetadataMap: {\n    [id: string]: { etag: string; lastModified: string; contentType: string };\n  };\n  private contextMenuProvider: ContextMenuProvider;\n\n  public constructor() {\n    this.rootFolders = {};\n    this.fileMetadataMap = {};\n    this.contextMenuProvider = new ContextMenuProvider([\n      ContextMenuAction.CreateChild,\n      ContextMenuAction.Delete,\n      ContextMenuAction.Update,\n      ContextMenuAction.Restore,\n      ContextMenuAction.CopyPath,\n      ContextMenuAction.Empty,\n      ContextMenuAction.AddToFavorites,\n      ContextMenuAction.RemoveFromFavorites,\n      ContextMenuAction.ConvertNotebookToFlow,\n      ContextMenuAction.AllowDownload,\n    ]);\n  }\n\n  public connected(): boolean {\n    return this.authorized;\n  }\n\n  public async connect(baseURL: string): Promise<void> {\n    this.connection = axios.create({ baseURL });\n    this.connection.interceptors.response.use(\n      (response: AxiosResponse) => response,\n      async (error: AxiosError) => {\n        const originalRequest: AxiosRequestConfig & { _retry?: boolean } =\n          error.config;\n\n        if (error.response?.status === 401 && !originalRequest._retry) {\n          originalRequest._retry = true;\n          await this.updateAccessToken();\n          return this.connection(originalRequest);\n        }\n\n        return Promise.reject(error);\n      },\n    );\n    await this.updateAccessToken();\n\n    this.authorized = true;\n    this.viyaCadence = await this.getViyaCadence();\n  }\n\n  public getConnection() {\n    return this.connection;\n  }\n\n  public getRootFolder(name: string): ContentItem | undefined {\n    return this.rootFolders[name];\n  }\n\n  public get myFavoritesFolder(): ContentItem | undefined {\n    return this.getRootFolder(\"@myFavorites\");\n  }\n\n  public async getParentOfItem(\n    item: ContentItem,\n  ): Promise<ContentItem | undefined> {\n    const ancestorsLink = getLink(item.links, \"GET\", \"ancestors\");\n    if (!ancestorsLink) {\n      return;\n    }\n    const { data } = await this.connection.get(ancestorsLink.uri);\n    if (data && data.length > 0) {\n      return this.enrichWithDataProviderProperties(data[0]);\n    }\n  }\n\n  public async getChildItems(parentItem: ContentItem): Promise<ContentItem[]> {\n    const { data: result } = await this.connection.get(\n      await this.generatedMembersUrlForParentItem(parentItem),\n    );\n\n    if (!result.items) {\n      return Promise.reject();\n    }\n\n    const myFavoritesFolder = this.myFavoritesFolder;\n    const isInRecycleBin =\n      TRASH_FOLDER_TYPE === getTypeName(parentItem) ||\n      parentItem.flags?.isInRecycleBin;\n    const parentIdIsFavoritesFolder =\n      getResourceIdFromItem(parentItem) ===\n      getResourceIdFromItem(myFavoritesFolder);\n    const allFavorites = parentIdIsFavoritesFolder\n      ? []\n      : await this.getChildItems(myFavoritesFolder);\n\n    const items = result.items.map(\n      (childItem: ContentItem, index): ContentItem => {\n        const favoriteUri = fetchFavoriteUri(childItem);\n        return {\n          ...childItem,\n          uid: `${parentItem.uid}/${index}`,\n          ...this.enrichWithDataProviderProperties(childItem, {\n            isInRecycleBin,\n            isInMyFavorites: parentIdIsFavoritesFolder || !!favoriteUri,\n            favoriteUri,\n          }),\n        };\n      },\n    );\n\n    return items;\n\n    function fetchFavoriteUri(childItem: ContentItem) {\n      if (parentIdIsFavoritesFolder) {\n        return getLink(childItem.links, \"DELETE\", \"delete\")?.uri;\n      }\n      const favoriteId = allFavorites.find(\n        (favorite) =>\n          getResourceIdFromItem(favorite) === getResourceIdFromItem(childItem),\n      )?.id;\n      if (!favoriteId) {\n        return undefined;\n      }\n\n      return `${getResourceIdFromItem(myFavoritesFolder)}/members/${favoriteId}`;\n    }\n  }\n\n  public async getFolderPathForItem(item: ContentItem): Promise<string> {\n    return await this.getPathOfItem(item, true);\n  }\n\n  public async getPathOfItem(\n    item: ContentItem,\n    folderPathOnly?: boolean,\n  ): Promise<string> {\n    if (!item) {\n      return \"\";\n    }\n\n    const filePathParts = [];\n    let currentContentItem: Pick<ContentItem, \"parentFolderUri\" | \"name\"> =\n      item;\n    if (!folderPathOnly) {\n      filePathParts.push(currentContentItem.name);\n    }\n    do {\n      try {\n        const { data: parentData } = await this.connection.get(\n          currentContentItem.parentFolderUri,\n        );\n        currentContentItem = parentData;\n        // eslint-disable-next-line @typescript-eslint/no-unused-vars\n      } catch (e) {\n        return \"\";\n      }\n      if (currentContentItem.name) {\n        filePathParts.push(currentContentItem.name);\n      }\n    } while (currentContentItem.parentFolderUri);\n\n    return \"/\" + filePathParts.reverse().join(\"/\");\n  }\n\n  public async moveItem(\n    item: ContentItem,\n    parentFolderUri: string,\n  ): Promise<Uri | undefined> {\n    const newItemData = { ...item, parentFolderUri };\n    const updateLink = getLink(item.links, \"PUT\", \"update\");\n    try {\n      const response = await this.connection.put(updateLink.uri, newItemData);\n      return this.enrichWithDataProviderProperties(response.data).vscUri;\n      // eslint-disable-next-line @typescript-eslint/no-unused-vars\n    } catch (error) {\n      return;\n    }\n  }\n\n  private async generatedMembersUrlForParentItem(\n    parentItem: ContentItem,\n  ): Promise<string> {\n    const parentIsContent = parentItem.uri === ROOT_FOLDER.uri;\n    const typeQuery = generateTypeQuery(parentIsContent);\n\n    const membersLink = getLink(parentItem.links, \"GET\", \"members\");\n    let membersUrl = membersLink ? membersLink.uri : null;\n    if (!membersUrl && parentItem.uri) {\n      membersUrl = `${parentItem.uri}/members`;\n    }\n\n    if (!membersUrl) {\n      const selfLink = getLink(parentItem.links, \"GET\", \"self\");\n      if (!selfLink) {\n        console.error(\n          \"Invalid state: FolderService object has no self link : \" +\n            parentItem.name,\n        );\n        return Promise.reject({ status: 404 });\n      }\n      membersUrl = selfLink.uri + \"/members\";\n    }\n\n    membersUrl = membersUrl + \"?limit=1000000\";\n\n    const filters = [];\n\n    if (parentIsContent) {\n      filters.push(\"isNull(parent)\");\n    }\n    if (typeQuery) {\n      filters.push(typeQuery);\n    }\n\n    if (filters.length === 1) {\n      membersUrl = membersUrl + \"&filter=\" + filters[0];\n    } else if (filters.length > 1) {\n      membersUrl = membersUrl + \"&filter=and(\" + filters.join(\",\") + \")\";\n    }\n\n    membersUrl =\n      membersUrl +\n      `&sortBy=${\n        parentIsContent || this.viyaCadence === \"2023.03\" // 2023.03 fails query with this sortBy param\n          ? \"\"\n          : \"eq(contentType,'folder'):descending,\"\n      }name:primary:ascending,type:ascending`;\n\n    return membersUrl;\n\n    function generateTypeQuery(parentIsContent: boolean): string {\n      // Generate type query segment if applicable\n      let typeQuery = \"\";\n      // Determine the set of types on which to filter\n      const includedTypes = FILE_TYPES.concat(FOLDER_TYPES);\n\n      // Generate type query string\n      typeQuery = \"in(\" + (parentIsContent ? \"type\" : \"contentType\") + \",\";\n      for (let i = 0; i < includedTypes.length; i++) {\n        typeQuery += \"'\" + includedTypes[i] + \"'\";\n        if (i !== includedTypes.length - 1) {\n          typeQuery += \",\";\n        }\n      }\n      typeQuery += \")\";\n\n      return typeQuery;\n    }\n  }\n\n  public async getRootItems(): Promise<RootFolderMap> {\n    for (let index = 0; index < SAS_CONTENT_ROOT_FOLDERS.length; ++index) {\n      const delegateFolderName = SAS_CONTENT_ROOT_FOLDERS[index];\n      const result =\n        delegateFolderName === \"@sasRoot\"\n          ? { data: ROOT_FOLDER }\n          : await this.connection.get(`/folders/folders/${delegateFolderName}`);\n\n      this.rootFolders[delegateFolderName] = {\n        ...result.data,\n        uid: `${index}`,\n        ...this.enrichWithDataProviderProperties(result.data),\n      };\n    }\n\n    return this.rootFolders;\n  }\n\n  public async getItemOfId(id: string): Promise<ContentItem> {\n    const response = await this.connection.get(id);\n    this.updateFileMetadata(id, response);\n\n    return this.enrichWithDataProviderProperties(response.data);\n  }\n\n  public async getItemOfUri(uri: Uri): Promise<ContentItem> {\n    const resourceId = getResourceId(uri);\n    return await this.getItemOfId(resourceId);\n  }\n\n  public async getContentOfUri(uri: Uri): Promise<string> {\n    const resourceId = getResourceId(uri);\n    const { data } = await this.connection.get(resourceId + \"/content\", {\n      responseType: \"arraybuffer\",\n    });\n\n    return data;\n  }\n\n  public async getContentOfItem(item: ContentItem): Promise<string> {\n    return await this.getContentOfUri(item.vscUri);\n  }\n\n  public async createNewFolder(\n    parentItem: ContentItem,\n    folderName: string,\n  ): Promise<ContentItem | undefined> {\n    const parentFolderUri =\n      parentItem.uri ||\n      getLink(parentItem.links || [], \"GET\", \"self\")?.uri ||\n      null;\n    if (!parentFolderUri) {\n      return;\n    }\n\n    try {\n      const createFolderResponse = await this.connection.post(\n        `/folders/folders?parentFolderUri=${parentFolderUri}`,\n        { name: folderName },\n      );\n      return this.enrichWithDataProviderProperties(createFolderResponse.data);\n      // eslint-disable-next-line @typescript-eslint/no-unused-vars\n    } catch (error) {\n      return;\n    }\n  }\n\n  private enrichWithDataProviderProperties(\n    item: ContentItem,\n    flags?: ContentItem[\"flags\"],\n  ): ContentItem {\n    item.flags = flags;\n    item.permission = getPermission(item);\n\n    return {\n      ...item,\n      contextValue: this.contextMenuProvider.availableActions(item),\n      fileStat: {\n        ctime: item.creationTimeStamp,\n        mtime: item.modifiedTimeStamp,\n        size: 0,\n        type: getIsContainer(item) ? FileType.Directory : FileType.File,\n      },\n      isReference: isReference(item),\n      resourceId: getResourceIdFromItem(item),\n      vscUri: getSasContentUri(item, flags?.isInRecycleBin || false),\n      typeName: getTypeName(item),\n    };\n\n    function getIsContainer(item: ContentItem): boolean {\n      const typeName = getTypeName(item);\n      if (isItemInRecycleBin(item) && isReference(item)) {\n        return false;\n      }\n      if (FOLDER_TYPES.indexOf(typeName) >= 0) {\n        return true;\n      }\n      return false;\n    }\n  }\n\n  public async renameItem(\n    item: ContentItem,\n    newName: string,\n  ): Promise<ContentItem | undefined> {\n    const itemIsReference = item.type === \"reference\";\n    const uri = itemIsReference\n      ? getLink(item.links, \"GET\", \"self\").uri\n      : item.uri;\n\n    try {\n      const validationUri = getLink(item.links, \"PUT\", \"validateRename\")?.uri;\n      if (validationUri) {\n        await this.connection.put(\n          validationUri\n            .replace(\"{newname}\", encodeURI(newName))\n            .replace(\"{newtype}\", getTypeName(item)),\n        );\n      }\n\n      // not sure why but the response of moveTo request does not return the latest etag so request it every time\n      const fileData = await this.getItemOfId(uri);\n      const contentType = getFileContentType(newName);\n      const fileMetadata = this.fileMetadataMap[uri];\n\n      const patchResponse = await this.connection.put(\n        uri,\n        { ...fileData, name: newName },\n        {\n          headers: {\n            \"If-Unmodified-Since\": fileMetadata.lastModified,\n            \"If-Match\": fileMetadata.etag,\n            \"Content-Type\": getItemContentType(item),\n          },\n        },\n      );\n\n      this.updateFileMetadata(uri, patchResponse, contentType);\n\n      // The links in My Favorites are of type reference. Instead of passing\n      // back the reference objects, we want to pass back the underlying source\n      // objects.\n      if (itemIsReference) {\n        return await this.getItemOfId(item.uri);\n      }\n\n      return this.enrichWithDataProviderProperties(patchResponse.data);\n      // eslint-disable-next-line @typescript-eslint/no-unused-vars\n    } catch (error) {\n      return;\n    }\n  }\n\n  public async createNewItem(\n    parentItem: ContentItem,\n    fileName: string,\n    buffer?: ArrayBufferLike,\n  ): Promise<ContentItem | undefined> {\n    const typeDef = await this.getTypeDefinition(fileName);\n    let createdResource: ContentItem;\n    try {\n      const fileCreationResponse = await this.connection.post<ContentItem>(\n        `/files/files#rawUpload?typeDefName=${typeDef}`,\n        buffer || Buffer.from(\"\", \"binary\"),\n        {\n          headers: {\n            \"Content-Type\": getFileContentType(fileName),\n            \"Content-Disposition\": `filename*=UTF-8''${encodeURI(fileName)}`,\n            Accept: \"application/vnd.sas.file+json\",\n          },\n        },\n      );\n      createdResource = fileCreationResponse.data;\n      // eslint-disable-next-line @typescript-eslint/no-unused-vars\n    } catch (error) {\n      return;\n    }\n\n    const fileLink: Link | null = getLink(createdResource.links, \"GET\", \"self\");\n    const memberAdded = await this.addChildItem(\n      fileLink?.uri,\n      getLink(parentItem.links, \"POST\", \"addMember\")?.uri,\n      {\n        name: fileName,\n        contentType: typeDef,\n      },\n    );\n    if (!memberAdded) {\n      return;\n    }\n\n    return this.enrichWithDataProviderProperties(createdResource);\n  }\n\n  public async addChildItem(\n    childItemUri: string | undefined,\n    parentItemUri: string | undefined,\n    properties: AddChildItemProperties,\n  ): Promise<boolean> {\n    if (!childItemUri || !parentItemUri) {\n      return false;\n    }\n\n    try {\n      await this.connection.post(parentItemUri, {\n        uri: childItemUri,\n        type: \"CHILD\",\n        ...properties,\n      });\n      // eslint-disable-next-line @typescript-eslint/no-unused-vars\n    } catch (error) {\n      return false;\n    }\n\n    return true;\n  }\n\n  public async updateContentOfItem(uri: Uri, content: string): Promise<void> {\n    const resourceId = getResourceId(uri);\n    const { etag, lastModified, contentType } = this.getFileInfo(resourceId);\n    const headers = {\n      \"Content-Type\": contentType,\n      \"If-Unmodified-Since\": lastModified,\n    };\n    if (etag !== \"\") {\n      headers[\"If-Match\"] = etag;\n    }\n    try {\n      const res = await this.connection.put(resourceId + \"/content\", content, {\n        headers,\n      });\n      this.updateFileMetadata(resourceId, res, contentType);\n    } catch (error) {\n      console.log(error);\n    }\n  }\n\n  public async getUriOfItem(item: ContentItem): Promise<Uri> {\n    if (item.type !== \"reference\") {\n      return item.vscUri;\n    }\n\n    // If we're attempting to open a favorite, open the underlying file instead.\n    try {\n      return (await this.getItemOfId(item.uri)).vscUri;\n      // eslint-disable-next-line @typescript-eslint/no-unused-vars\n    } catch (error) {\n      return item.vscUri;\n    }\n  }\n\n  public async deleteItem(item: ContentItem): Promise<boolean> {\n    // folder service will return 409 error if the deleting folder has non-folder item even if add recursive parameter\n    // delete the resource or move item to recycle bin will automatically delete the favorites as well.\n    return await (isContainer(item)\n      ? this.deleteFolder(item)\n      : this.deleteResource(item));\n  }\n\n  public async addItemToFavorites(item: ContentItem): Promise<boolean> {\n    return await this.addChildItem(\n      getResourceIdFromItem(item),\n      getLink(this.myFavoritesFolder.links, \"POST\", \"addMember\").uri,\n      {\n        type: \"reference\",\n        name: item.name,\n        contentType: item.contentType,\n      },\n    );\n  }\n\n  public async removeItemFromFavorites(item: ContentItem): Promise<boolean> {\n    const deleteFavoriteUri = item.flags.favoriteUri;\n    if (!deleteFavoriteUri) {\n      return false;\n    }\n\n    try {\n      await this.connection.delete(deleteFavoriteUri);\n      // eslint-disable-next-line @typescript-eslint/no-unused-vars\n    } catch (error) {\n      return false;\n    }\n    return true;\n  }\n\n  public async recycleItem(\n    item: ContentItem,\n  ): Promise<{ newUri?: Uri; oldUri?: Uri }> {\n    const recycleBin = this.getRootFolder(\"@myRecycleBin\");\n    if (!recycleBin) {\n      // fallback to delete\n      return recycleItemResponse(await this.deleteItem(item));\n    }\n    const recycleBinUri = getLink(recycleBin.links, \"GET\", \"self\")?.uri;\n    if (!recycleBinUri) {\n      return {};\n    }\n\n    const success = await this.moveItem(item, recycleBinUri);\n    return recycleItemResponse(!!success);\n\n    function recycleItemResponse(success: boolean) {\n      if (!success) {\n        return {};\n      }\n\n      return {\n        newUri: getSasContentUri(item, true),\n        oldUri: getSasContentUri(item),\n      };\n    }\n  }\n\n  public async restoreItem(item: ContentItem): Promise<boolean> {\n    const previousParentUri = getLink(item.links, \"GET\", \"previousParent\")?.uri;\n    if (!previousParentUri) {\n      return false;\n    }\n    return !!(await this.moveItem(item, previousParentUri));\n  }\n\n  private async updateAccessToken(): Promise<void> {\n    const session = await authentication.getSession(SASAuthProvider.id, [], {\n      createIfNone: true,\n    });\n    this.connection.defaults.headers.common.Authorization = `Bearer ${session.accessToken}`;\n  }\n\n  private updateFileMetadata(\n    id: string,\n    { headers, data }: AxiosResponse,\n    contentType?: string,\n  ) {\n    this.fileMetadataMap[id] = {\n      etag: headers.etag,\n      lastModified: headers[\"last-modified\"],\n      contentType: contentType || data.contentType,\n    };\n  }\n\n  private getFileInfo(resourceId: string): {\n    etag: string;\n    lastModified: string;\n    contentType: string;\n  } {\n    if (resourceId in this.fileMetadataMap) {\n      return this.fileMetadataMap[resourceId];\n    }\n    const now = new Date();\n    const timestamp = now.toUTCString();\n    return {\n      etag: \"\",\n      lastModified: timestamp,\n      contentType: DEFAULT_FILE_CONTENT_TYPE,\n    };\n  }\n\n  private async deleteFolder(item: ContentItem): Promise<boolean> {\n    try {\n      const children = await this.getChildItems(item);\n      await Promise.all(children.map((child) => this.deleteItem(child)));\n      const deleteRecursivelyLink = getLink(\n        item.links,\n        \"DELETE\",\n        \"deleteRecursively\",\n      )?.uri;\n      const deleteResourceLink = getLink(\n        item.links,\n        \"DELETE\",\n        \"deleteResource\",\n      )?.uri;\n      if (!deleteRecursivelyLink && !deleteResourceLink) {\n        return false;\n      }\n      const deleteLink =\n        deleteRecursivelyLink ?? `${deleteResourceLink}?recursive=true`;\n      await this.connection.delete(deleteLink);\n      // eslint-disable-next-line @typescript-eslint/no-unused-vars\n    } catch (error) {\n      return false;\n    }\n    return true;\n  }\n\n  private async deleteResource(item: ContentItem): Promise<boolean> {\n    const deleteResourceLink = getLink(\n      item.links,\n      \"DELETE\",\n      \"deleteResource\",\n    )?.uri;\n    if (!deleteResourceLink) {\n      return false;\n    }\n    try {\n      await this.connection.delete(deleteResourceLink);\n      // eslint-disable-next-line @typescript-eslint/no-unused-vars\n    } catch (error) {\n      return false;\n    }\n    // Due to delay in folders service's automatic deletion of associated member we need\n    // to attempt manual deletion of member to ensure subsequent data refreshes don't occur before\n    // member is deleted. Per Gary Williams, we must do these steps sequentially not concurrently.\n    // If member already deleted, server treats this call as NO-OP.\n    try {\n      const deleteLink = getLink(item.links, \"DELETE\", \"delete\")?.uri;\n      if (deleteLink) {\n        await this.connection.delete(deleteLink);\n      }\n    } catch (error) {\n      return error.response.status === 404 || error.response.status === 403;\n    }\n    return true;\n  }\n\n  private async getViyaCadence(): Promise<string> {\n    try {\n      const { data } = await this.connection.get(\n        \"/deploymentData/cadenceVersion\",\n      );\n      return data.cadenceVersion;\n      // eslint-disable-next-line @typescript-eslint/no-unused-vars\n    } catch (e) {\n      console.error(\"fail to retrieve the viya cadence\");\n    }\n    return \"unknown\";\n  }\n\n  private async getTypeDefinition(fileName: string): Promise<string> {\n    const defaultContentType = \"file\";\n    const ext = fileName.split(\".\").pop().toLowerCase();\n    if (ext === \"sas\") {\n      return \"programFile\";\n    }\n\n    try {\n      const typeResponse = await this.connection.get(\n        `/types/types?filter=contains('extensions', '${ext}')`,\n      );\n\n      if (typeResponse.data.items && typeResponse.data.items.length !== 0) {\n        return typeResponse.data.items[0].name;\n      }\n    } catch {\n      return defaultContentType;\n    }\n\n    return defaultContentType;\n  }\n\n  private async deleteMemberUriForFavorite(item: ContentItem): Promise<string> {\n    if (item.flags?.isInMyFavorites) {\n      return getLink(item.links, \"DELETE\", \"delete\")?.uri;\n    }\n\n    const myFavoritesFolder = this.getRootFolder(\"@myFavorites\");\n    const allFavorites = await this.getChildItems(myFavoritesFolder);\n    const favoriteId = allFavorites.find(\n      (favorite) =>\n        getResourceIdFromItem(favorite) === getResourceIdFromItem(item),\n    )?.id;\n    if (!favoriteId) {\n      return undefined;\n    }\n\n    return `${getResourceIdFromItem(myFavoritesFolder)}/members/${favoriteId}`;\n  }\n}\n\nexport default RestContentAdapter;\n"
  },
  {
    "path": "client/src/connection/rest/RestLibraryAdapter.ts",
    "content": "// Copyright © 2024, SAS Institute Inc., Cary, NC, USA.  All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport type { SortModelItem } from \"ag-grid-community\";\nimport { AxiosResponse } from \"axios\";\n\nimport { getSession } from \"..\";\nimport {\n  LibraryAdapter,\n  LibraryItem,\n  TableData,\n  TableQuery,\n} from \"../../components/LibraryNavigator/types\";\nimport { appendSessionLogFn } from \"../../components/logViewer\";\nimport {\n  ColumnCollection,\n  DataAccessApi,\n  RowCollection,\n  TableInfo,\n} from \"./api/compute\";\nimport { getApiConfig } from \"./common\";\n\nconst requestOptions = {\n  headers: { Accept: \"application/vnd.sas.collection+json\" },\n};\n\nclass RestLibraryAdapter implements LibraryAdapter {\n  protected dataAccessApi: ReturnType<typeof DataAccessApi>;\n  protected sessionId: string;\n\n  public constructor() {}\n\n  public async connect(): Promise<void> {\n    const session = getSession();\n    session.onSessionLogFn = appendSessionLogFn;\n\n    await session.setup();\n\n    this.sessionId = session?.sessionId();\n    this.dataAccessApi = DataAccessApi(getApiConfig());\n  }\n\n  public async setup(): Promise<void> {\n    if (this.sessionId && this.dataAccessApi) {\n      return;\n    }\n\n    await this.connect();\n  }\n\n  public async getRows(\n    item: Pick<LibraryItem, \"name\" | \"library\">,\n    start: number,\n    limit: number,\n    sortModel: SortModelItem[],\n    query: TableQuery | undefined,\n  ): Promise<TableData> {\n    if (sortModel.length > 0) {\n      return await this.getSortedRows(item, start, limit, sortModel, query);\n    }\n\n    const { data } = await this.retryOnFail<RowCollection>(\n      async () =>\n        await this.dataAccessApi.getRows(\n          {\n            sessionId: this.sessionId,\n            libref: item.library || \"\",\n            tableName: item.name,\n            includeIndex: true,\n            start,\n            limit,\n            formatMissingValues: true,\n            where: query && query.filterValue ? query.filterValue : undefined,\n          },\n          requestOptions,\n        ),\n    );\n\n    return {\n      rows: data.items,\n      count: data.count,\n    };\n  }\n\n  private async getSortedRows(\n    item: Pick<LibraryItem, \"name\" | \"library\">,\n    start: number,\n    limit: number,\n    sortModel: SortModelItem[],\n    query: TableQuery | undefined,\n  ): Promise<TableData> {\n    const { data: viewData } = await this.retryOnFail(\n      async () =>\n        await this.dataAccessApi.createView(\n          {\n            sessionId: this.sessionId,\n            libref: item.library || \"\",\n            tableName: item.name,\n            viewRequest: {\n              sortBy: sortModel.map((sortModelItem) => ({\n                key: sortModelItem.colId,\n                direction:\n                  sortModelItem.sort === \"asc\" ? \"ascending\" : \"descending\",\n              })),\n            },\n          },\n          requestOptions,\n        ),\n    );\n\n    const results = await this.getRows(\n      {\n        library: viewData.libref,\n        name: viewData.name,\n      },\n      start,\n      limit,\n      [],\n      query,\n    );\n\n    await this.deleteTable({ library: viewData.libref, name: viewData.name });\n\n    return results;\n  }\n\n  public async getRowsAsCSV(\n    item: LibraryItem,\n    start: number,\n    limit: number,\n  ): Promise<TableData> {\n    const response = await this.retryOnFail(\n      async () =>\n        await this.dataAccessApi.getRowsAsCSV(\n          {\n            includeColumnNames: true,\n            includeIndex: true,\n            libref: item.library || \"\",\n            // Since we're including column names, we need to grab one more row\n            limit: limit + 1,\n            sessionId: this.sessionId,\n            start,\n            tableName: item.name,\n          },\n          requestOptions,\n        ),\n    );\n\n    // eslint-disable-next-line @typescript-eslint/consistent-type-assertions\n    const data = response.data as unknown as RowCollection;\n    return {\n      rows: data.items,\n      count: data.count,\n    };\n  }\n\n  public async getColumns(\n    item: LibraryItem,\n    start: number,\n    limit: number,\n  ): Promise<ColumnCollection> {\n    const { data } = await this.retryOnFail(\n      async () =>\n        await this.dataAccessApi.getColumns(\n          {\n            sessionId: this.sessionId,\n            limit,\n            start,\n            libref: item.library || \"\",\n            tableName: item.name,\n          },\n          { headers: { Accept: \"application/json\" } },\n        ),\n    );\n\n    return data;\n  }\n\n  public async getTableRowCount(\n    item: LibraryItem,\n  ): Promise<{ rowCount: number; maxNumberOfRowsToRead: number }> {\n    await this.setup();\n    const response = await this.retryOnFail(\n      async () =>\n        await this.dataAccessApi.getTable(\n          {\n            sessionId: this.sessionId,\n            libref: item.library || \"\",\n            tableName: item.name,\n          },\n          { headers: { Accept: \"application/json\" } },\n        ),\n    );\n\n    return { rowCount: response.data.rowCount, maxNumberOfRowsToRead: 1000 };\n  }\n\n  public async getTableInfo(item: LibraryItem): Promise<TableInfo> {\n    await this.setup();\n    const response = await this.retryOnFail(\n      async () =>\n        await this.dataAccessApi.getTable(\n          {\n            sessionId: this.sessionId,\n            libref: item.library || \"\",\n            tableName: item.name,\n          },\n          { headers: { Accept: \"application/json\" } },\n        ),\n    );\n\n    return response.data;\n  }\n\n  private async retryOnFail<T>(\n    callbackFn: () => Promise<AxiosResponse<T>>,\n  ): Promise<AxiosResponse<T>> {\n    try {\n      return await callbackFn();\n    } catch (error) {\n      // If it's not a 404, we can't retry it\n      if (error.response?.status !== 404) {\n        throw error;\n      }\n\n      await this.connect();\n\n      // If it fails a second time, we give up\n      return await callbackFn();\n    }\n  }\n\n  public async deleteTable({\n    library,\n    name,\n  }: Pick<LibraryItem, \"library\" | \"name\">): Promise<void> {\n    await this.setup();\n    try {\n      await this.retryOnFail(\n        async () =>\n          await this.dataAccessApi.deleteTable({\n            sessionId: this.sessionId,\n            libref: library,\n            tableName: name,\n          }),\n      );\n      // eslint-disable-next-line @typescript-eslint/no-unused-vars\n    } catch (error) {\n      throw new Error(\"Cannot delete table\");\n    }\n  }\n\n  public async getLibraries(\n    start: number,\n    limit: number,\n  ): Promise<{ items: LibraryItem[]; count: number }> {\n    const { data } = await this.retryOnFail(\n      async () =>\n        await this.dataAccessApi.getLibraries(\n          {\n            sessionId: this.sessionId,\n            limit,\n            start,\n          },\n          requestOptions,\n        ),\n    );\n\n    const libraryItems: LibraryItem[] = await Promise.all(\n      data.items.map(async (item: LibraryItem): Promise<LibraryItem> => {\n        const { data: responseData } = await this.retryOnFail(\n          async () =>\n            await this.dataAccessApi.getLibrarySummary(\n              {\n                sessionId: this.sessionId,\n                libref: item.id,\n              },\n              {\n                headers: {\n                  Accept: \"application/json\",\n                },\n              },\n            ),\n        );\n\n        return {\n          ...item,\n          // eslint-disable-next-line @typescript-eslint/consistent-type-assertions\n          readOnly: (responseData as { readOnly: boolean }).readOnly,\n        };\n      }),\n    );\n\n    return { items: libraryItems, count: data.count };\n  }\n\n  public async getTables(\n    item: LibraryItem,\n    start: number,\n    limit: number,\n  ): Promise<{ items: LibraryItem[]; count: number }> {\n    const { data } = await this.retryOnFail(\n      async () =>\n        await this.dataAccessApi.getTables(\n          {\n            sessionId: this.sessionId,\n            libref: item.id,\n            limit,\n            start,\n          },\n          requestOptions,\n        ),\n    );\n\n    // eslint-disable-next-line @typescript-eslint/consistent-type-assertions\n    return { items: data.items as LibraryItem[], count: data.count };\n  }\n}\n\nexport default RestLibraryAdapter;\n"
  },
  {
    "path": "client/src/connection/rest/RestServerAdapter.ts",
    "content": "// Copyright © 2024, SAS Institute Inc., Cary, NC, USA.  All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { FileType, Uri } from \"vscode\";\n\nimport { AxiosResponse } from \"axios\";\n\nimport { getSession } from \"..\";\nimport {\n  FOLDER_TYPES,\n  Messages,\n  SAS_SERVER_ROOT_FOLDER,\n  SAS_SERVER_ROOT_FOLDERS,\n  SERVER_FOLDER_ID,\n} from \"../../components/ContentNavigator/const\";\nimport {\n  AddChildItemProperties,\n  ContentAdapter,\n  ContentItem,\n  RootFolderMap,\n} from \"../../components/ContentNavigator/types\";\nimport {\n  ContextMenuAction,\n  ContextMenuProvider,\n  createStaticFolder,\n  getTypeName,\n  homeDirectoryNameAndType,\n  isReference,\n  sortedContentItems,\n} from \"../../components/ContentNavigator/utils\";\nimport { appendSessionLogFn } from \"../../components/logViewer\";\nimport { ProfileWithFileRootOptions } from \"../../components/profile\";\nimport { FileProperties, FileSystemApi } from \"./api/compute\";\nimport { getApiConfig } from \"./common\";\nimport {\n  getLink,\n  getResourceId,\n  getResourceIdFromItem,\n  getSasServerUri,\n} from \"./util\";\n\nexport const SAS_SERVER_HOME_DIRECTORY = \"SAS_SERVER_HOME_DIRECTORY\";\nconst SAS_FILE_SEPARATOR = \"~fs~\";\n\nclass RestServerAdapter implements ContentAdapter {\n  protected baseUrl: string;\n  protected fileSystemApi: ReturnType<typeof FileSystemApi>;\n  protected sessionId: string;\n  private rootFolders: RootFolderMap;\n  private fileMetadataMap: {\n    [id: string]: { etag: string; lastModified?: string; contentType?: string };\n  };\n  private fileNavigationSetByAdmin: boolean;\n  private contextMenuProvider: ContextMenuProvider;\n\n  public constructor(\n    protected fileNavigationCustomRootPath: ProfileWithFileRootOptions[\"fileNavigationCustomRootPath\"],\n    protected fileNavigationRoot: ProfileWithFileRootOptions[\"fileNavigationRoot\"],\n  ) {\n    this.rootFolders = {};\n    this.fileMetadataMap = {};\n    this.fileNavigationSetByAdmin = false;\n    this.contextMenuProvider = new ContextMenuProvider(\n      [\n        ContextMenuAction.CreateChild,\n        ContextMenuAction.Delete,\n        ContextMenuAction.Update,\n        ContextMenuAction.CopyPath,\n        ContextMenuAction.AllowDownload,\n      ],\n      {\n        [ContextMenuAction.CopyPath]: (item) => item.id !== SERVER_FOLDER_ID,\n      },\n    );\n  }\n\n  addChildItem: (\n    childItemUri: string | undefined,\n    parentItemUri: string | undefined,\n    properties: AddChildItemProperties,\n  ) => Promise<boolean>;\n  recycleItem?: (item: ContentItem) => Promise<{ newUri?: Uri; oldUri?: Uri }>;\n  restoreItem?: (item: ContentItem) => Promise<boolean>;\n\n  private async establishConnection() {\n    const session = getSession();\n    session.onSessionLogFn = appendSessionLogFn;\n    await session.setup(true);\n    this.sessionId = session?.sessionId();\n\n    // Overwrite file nav settings with data coming from the compute context\n    if (session.contextAttributes) {\n      const attributes = await session.contextAttributes();\n      if (\n        attributes &&\n        (attributes.fileNavigationCustomRootPath ||\n          attributes.fileNavigationRoot)\n      ) {\n        this.fileNavigationSetByAdmin = true;\n        this.fileNavigationCustomRootPath =\n          attributes.fileNavigationCustomRootPath ?? \"\";\n        this.fileNavigationRoot = attributes.fileNavigationRoot ?? \"USER\";\n      }\n    }\n\n    return this.sessionId;\n  }\n\n  public async connect(): Promise<void> {\n    await this.establishConnection();\n    // This proxies all calls to the fileSystem api to reconnect\n    // if we ever get a 401 (unauthorized)\n    const reconnect = async () => {\n      return await this.establishConnection();\n    };\n    this.fileSystemApi = new Proxy(FileSystemApi(getApiConfig()), {\n      get: function (target, property) {\n        if (typeof target[property] === \"function\") {\n          return new Proxy(target[property], {\n            apply: async function (target, _this, argList) {\n              try {\n                return await target(...argList);\n                // eslint-disable-next-line @typescript-eslint/no-unused-vars\n              } catch (error) {\n                // If we get any error, lets reconnect and try again. If we fail a second time,\n                // then we can assume it's a \"real\" error\n                const sessionId = await reconnect();\n\n                // If we reconnected, lets make sure we update our session id\n                if (argList.length && argList[0].sessionId) {\n                  argList[0].sessionId = sessionId;\n                }\n\n                return await target(...argList);\n              }\n            },\n          });\n        }\n\n        return target[property];\n      },\n    });\n  }\n\n  public connected(): boolean {\n    return true;\n  }\n\n  public async setup(): Promise<void> {\n    if (this.sessionId && this.fileSystemApi) {\n      return;\n    }\n\n    await this.connect();\n  }\n\n  // TODO #417 Implement favorites\n  public async addItemToFavorites(): Promise<boolean> {\n    throw new Error(\"Method not implemented.\");\n  }\n\n  // TODO #417 Implement favorites\n  public async removeItemFromFavorites(): Promise<boolean> {\n    throw new Error(\"Method not implemented.\");\n  }\n\n  public async createNewFolder(\n    parentItem: ContentItem,\n    folderName: string,\n  ): Promise<ContentItem | undefined> {\n    try {\n      const response = await this.fileSystemApi.createFileOrDirectory({\n        sessionId: this.sessionId,\n        fileOrDirectoryPath: this.getCreationPath(parentItem.uri),\n        fileProperties: { name: folderName, isDirectory: true },\n      });\n\n      return this.filePropertiesToContentItem(response.data);\n      // eslint-disable-next-line @typescript-eslint/no-unused-vars\n    } catch (error) {\n      return;\n    }\n  }\n\n  public async createNewItem(\n    parentItem: ContentItem,\n    fileName: string,\n    buffer?: ArrayBufferLike,\n  ): Promise<ContentItem | undefined> {\n    try {\n      const response = await this.fileSystemApi.createFileOrDirectory({\n        sessionId: this.sessionId,\n        fileOrDirectoryPath: this.getCreationPath(parentItem.uri),\n        fileProperties: { name: fileName, isDirectory: false },\n      });\n\n      const contentItem = this.filePropertiesToContentItem(response.data);\n      this.updateFileMetadata(\n        this.trimComputePrefix(contentItem.uri),\n        response,\n      );\n\n      if (buffer) {\n        await this.updateContentOfItemAtPath(\n          this.trimComputePrefix(contentItem.uri),\n          new TextDecoder().decode(buffer),\n        );\n      }\n\n      return contentItem;\n      // eslint-disable-next-line @typescript-eslint/no-unused-vars\n    } catch (error) {\n      return;\n    }\n  }\n\n  private getCreationPath(uri: string) {\n    if (\n      uri === SAS_SERVER_HOME_DIRECTORY &&\n      this.fileNavigationRoot === \"CUSTOM\"\n    ) {\n      return (\n        this.fileNavigationCustomRootPath.replace(/\\//g, SAS_FILE_SEPARATOR) ||\n        SAS_FILE_SEPARATOR\n      );\n    }\n    return this.trimComputePrefix(uri);\n  }\n\n  public async deleteItem(item: ContentItem): Promise<boolean> {\n    const filePath = this.trimComputePrefix(item.uri);\n    try {\n      await this.fileSystemApi.deleteFileOrDirectoryFromSystem({\n        sessionId: this.sessionId,\n        fileOrDirectoryPath: filePath,\n        ifMatch: \"\",\n      });\n      delete this.fileMetadataMap[filePath];\n      return true;\n      // eslint-disable-next-line @typescript-eslint/no-unused-vars\n    } catch (error) {\n      return false;\n    }\n  }\n\n  private getNavigationRoot(): string {\n    if (this.fileNavigationRoot === \"CUSTOM\") {\n      const navPath = this.fileNavigationCustomRootPath.split(\"/\").join(\"~fs~\");\n      return `/compute/sessions/${this.sessionId}/files/${navPath}/members`;\n    }\n    return `/compute/sessions/${this.sessionId}/files/~fs~/members`;\n  }\n\n  public async getChildItems(parentItem: ContentItem): Promise<ContentItem[]> {\n    // If the user is fetching child items of the root folder, give them the\n    // \"home\" directory\n    if (parentItem.id === SERVER_FOLDER_ID) {\n      return [\n        this.filePropertiesToContentItem(\n          createStaticFolder(\n            SAS_SERVER_HOME_DIRECTORY,\n            ...homeDirectoryNameAndType(\n              this.fileNavigationRoot,\n              this.fileNavigationCustomRootPath,\n            ),\n            this.getNavigationRoot(),\n            \"getDirectoryMembers\",\n          ),\n        ),\n      ];\n    }\n\n    const allItems = [];\n    const limit = 100;\n    let start = 0;\n    let totalItemCount = 0;\n    do {\n      let response;\n      try {\n        response = await this.fileSystemApi.getDirectoryMembers({\n          sessionId: this.sessionId,\n          directoryPath: this.trimComputePrefix(\n            getLink(parentItem.links, \"GET\", \"getDirectoryMembers\").uri,\n          ).replace(\"/members\", \"\"),\n          limit,\n          start,\n        });\n      } catch (error) {\n        // If this error is specifically related to file nav root settings, provide\n        // better feedback to the user\n        if (\n          error.status === 404 &&\n          parentItem.uri === SAS_SERVER_HOME_DIRECTORY &&\n          this.fileNavigationRoot === \"CUSTOM\"\n        ) {\n          if (this.fileNavigationSetByAdmin) {\n            throw new Error(Messages.FileNavigationRootAdminError);\n          } else {\n            throw new Error(Messages.FileNavigationRootUserError);\n          }\n        }\n        throw error;\n      }\n      totalItemCount = response.data.count;\n\n      allItems.push(\n        ...response.data.items.map((childItem: FileProperties, index) => ({\n          ...this.filePropertiesToContentItem(childItem),\n          uid: `${parentItem.uid}/${index + start}`,\n        })),\n      );\n\n      start += limit;\n    } while (start < totalItemCount);\n\n    return sortedContentItems(allItems);\n  }\n\n  public async getContentOfItem(item: ContentItem): Promise<string> {\n    const path = this.trimComputePrefix(item.uri);\n    return await this.getContentOfItemAtPath(path);\n  }\n\n  public async getContentOfUri(uri: Uri): Promise<string> {\n    const path = this.trimComputePrefix(getResourceId(uri));\n    return await this.getContentOfItemAtPath(path);\n  }\n\n  private async getContentOfItemAtPath(path: string) {\n    const response = await this.fileSystemApi.getFileContentFromSystem(\n      {\n        sessionId: this.sessionId,\n        filePath: path,\n      },\n      {\n        responseType: \"arraybuffer\",\n      },\n    );\n\n    this.updateFileMetadata(path, response);\n\n    // Disabling typescript checks on this line as this function is typed\n    // to return AxiosResponse<void,any>. However, it appears to return\n    // AxiosResponse<string,>.\n    // eslint-disable-next-line @typescript-eslint/consistent-type-assertions\n    return response.data as unknown as string;\n  }\n\n  public async getFolderPathForItem(): Promise<string> {\n    // This is for creating a filename statement which won't work as expected for\n    // file system files.\n    return \"\";\n  }\n\n  public async getPathOfItem(item: ContentItem): Promise<string> {\n    const uri =\n      item.uri === SAS_SERVER_HOME_DIRECTORY\n        ? this.getNavigationRoot().replace(\"/members\", \"\")\n        : item.uri;\n\n    const path = this.trimComputePrefix(uri);\n    return path.split(SAS_FILE_SEPARATOR).join(\"/\").replace(/~sc~/g, \";\");\n  }\n\n  public async getItemOfUri(uri: Uri): Promise<ContentItem> {\n    const fileOrDirectoryPath = this.trimComputePrefix(getResourceId(uri));\n    const response = await this.fileSystemApi.getFileorDirectoryProperties({\n      sessionId: this.sessionId,\n      fileOrDirectoryPath,\n    });\n\n    this.updateFileMetadata(fileOrDirectoryPath, response);\n\n    return this.filePropertiesToContentItem(response.data);\n  }\n\n  public async getParentOfItem(\n    item: ContentItem,\n  ): Promise<ContentItem | undefined> {\n    const fileOrDirectoryPath = this.getParentPathOfUri(\n      this.trimComputePrefix(item.uri),\n    );\n    const response = await this.fileSystemApi.getFileorDirectoryProperties({\n      sessionId: this.sessionId,\n      fileOrDirectoryPath,\n    });\n\n    return this.filePropertiesToContentItem(response.data);\n  }\n\n  // TODO #417 Implement as part of favorites\n  public getRootFolder(): ContentItem | undefined {\n    return undefined;\n  }\n\n  public async getRootItems(): Promise<RootFolderMap> {\n    await this.setup();\n\n    for (let index = 0; index < SAS_SERVER_ROOT_FOLDERS.length; ++index) {\n      const delegateFolderName = SAS_SERVER_ROOT_FOLDERS[index];\n      const result =\n        delegateFolderName === \"@sasServerRoot\"\n          ? { data: SAS_SERVER_ROOT_FOLDER }\n          : { data: {} };\n\n      this.rootFolders[delegateFolderName] = {\n        ...result.data,\n        uid: `${index}`,\n        ...this.filePropertiesToContentItem(result.data),\n      };\n    }\n\n    return this.rootFolders;\n  }\n\n  public async getUriOfItem(item: ContentItem): Promise<Uri> {\n    if (item.type !== \"reference\") {\n      return item.vscUri;\n    }\n\n    return item.vscUri;\n    // TODO #417 Implement favorites\n    // // If we're attempting to open a favorite, open the underlying file instead.\n    // try {\n    //   return (await this.getItemOfId(item.uri)).vscUri;\n    // } catch (error) {\n    //   return item.vscUri;\n    // }\n  }\n\n  public async moveItem(\n    item: ContentItem,\n    targetParentFolderUri: string,\n  ): Promise<Uri | undefined> {\n    const currentFilePath = this.trimComputePrefix(item.uri);\n    const newFilePath = this.trimComputePrefix(targetParentFolderUri);\n    const { etag } = await this.getFileInfo(currentFilePath, true);\n    const params = {\n      sessionId: this.sessionId,\n      fileOrDirectoryPath: currentFilePath,\n      ifMatch: etag,\n      fileProperties: {\n        name: item.name,\n        path: newFilePath\n          .split(SAS_FILE_SEPARATOR)\n          .join(\"/\")\n          .replace(/~sc~/g, \";\"),\n      },\n    };\n\n    try {\n      const response =\n        await this.fileSystemApi.updateFileOrDirectoryOnSystem(params);\n      delete this.fileMetadataMap[currentFilePath];\n      this.updateFileMetadata(newFilePath, response);\n\n      return this.filePropertiesToContentItem(response.data).vscUri;\n      // eslint-disable-next-line @typescript-eslint/no-unused-vars\n    } catch (error) {\n      return;\n    }\n  }\n\n  public async renameItem(\n    item: ContentItem,\n    newName: string,\n  ): Promise<ContentItem | undefined> {\n    const filePath = this.trimComputePrefix(item.uri);\n\n    const parsedFilePath = filePath.split(SAS_FILE_SEPARATOR);\n    parsedFilePath.pop();\n    const path = parsedFilePath.join(\"/\");\n\n    try {\n      const response = await this.fileSystemApi.updateFileOrDirectoryOnSystem({\n        sessionId: this.sessionId,\n        fileOrDirectoryPath: filePath,\n        ifMatch: \"\",\n        fileProperties: { name: newName, path },\n      });\n\n      this.updateFileMetadata(filePath, response);\n\n      return this.filePropertiesToContentItem(response.data);\n      // eslint-disable-next-line @typescript-eslint/no-unused-vars\n    } catch (error) {\n      return;\n    }\n  }\n\n  public async updateContentOfItem(uri: Uri, content: string): Promise<void> {\n    const filePath = this.trimComputePrefix(getResourceId(uri));\n    return await this.updateContentOfItemAtPath(filePath, content);\n  }\n\n  private async updateContentOfItemAtPath(\n    filePath: string,\n    content: string,\n  ): Promise<void> {\n    const { etag } = await this.getFileInfo(filePath);\n    const data = {\n      sessionId: this.sessionId,\n      filePath,\n      // updateFileContentOnSystem requires body to be a File type. However, the\n      // underlying code is expecting a string. This forces compute to accept\n      // a string.\n      // eslint-disable-next-line @typescript-eslint/consistent-type-assertions\n      body: content as unknown as File,\n      ifMatch: etag,\n    };\n    const response = await this.fileSystemApi.updateFileContentOnSystem(data);\n\n    this.updateFileMetadata(filePath, response);\n  }\n\n  private getParentPathOfUri(uri: string) {\n    const uriPieces = uri.split(SAS_FILE_SEPARATOR);\n    uriPieces.pop();\n    return uriPieces.join(SAS_FILE_SEPARATOR);\n  }\n\n  private filePropertiesToContentItem(\n    fileProperties: FileProperties & { type?: string },\n    flags?: ContentItem[\"flags\"],\n  ): ContentItem {\n    const links = fileProperties.links.map((link) => ({\n      method: link.method,\n      rel: link.rel,\n      href: link.href,\n      type: link.type,\n      uri: link.uri,\n    }));\n\n    const id = getLink(links, \"GET\", \"self\").uri;\n    const isRootFolder = [SERVER_FOLDER_ID, SAS_SERVER_HOME_DIRECTORY].includes(\n      id,\n    );\n    const item = {\n      id,\n      uri: id,\n      name: fileProperties.name,\n      creationTimeStamp: 0,\n      modifiedTimeStamp: new Date(fileProperties.modifiedTimeStamp).getTime(),\n      links,\n      permission: {\n        write: !isRootFolder && !fileProperties.readOnly,\n        delete: !isRootFolder && !fileProperties.readOnly,\n        addMember:\n          !!getLink(links, \"POST\", \"makeDirectory\") ||\n          !!getLink(links, \"POST\", \"createFile\") ||\n          id === SAS_SERVER_HOME_DIRECTORY,\n      },\n      flags,\n      type: fileProperties.type || \"\",\n      parentFolderUri: this.getParentPathOfUri(id),\n    };\n\n    const typeName = getTypeName(item);\n\n    return {\n      ...item,\n      contextValue: this.contextMenuProvider.availableActions(item),\n      fileStat: {\n        ctime: item.creationTimeStamp,\n        mtime: item.modifiedTimeStamp,\n        size: 0,\n        type:\n          fileProperties.isDirectory ||\n          FOLDER_TYPES.indexOf(typeName) >= 0 ||\n          isRootFolder\n            ? FileType.Directory\n            : FileType.File,\n      },\n      isReference: isReference(item),\n      resourceId: getResourceIdFromItem(item),\n      vscUri: getSasServerUri(item, flags?.isInRecycleBin || false),\n      typeName: getTypeName(item),\n    };\n  }\n\n  private trimComputePrefix(uri: string): string {\n    const uriWithoutPrefix = uri.replace(\n      /\\/compute\\/sessions\\/[a-zA-Z0-9-]*\\/files\\//,\n      \"\",\n    );\n    try {\n      return decodeURIComponent(uriWithoutPrefix);\n      // eslint-disable-next-line @typescript-eslint/no-unused-vars\n    } catch (error) {\n      return uriWithoutPrefix;\n    }\n  }\n\n  private updateFileMetadata(id: string, { headers }: AxiosResponse) {\n    this.fileMetadataMap[id] = {\n      etag: headers.etag,\n    };\n\n    return this.fileMetadataMap[id];\n  }\n\n  private async getFileInfo(path: string, forceRefresh?: boolean) {\n    if (!forceRefresh && path in this.fileMetadataMap) {\n      return this.fileMetadataMap[path];\n    }\n\n    // If we don't have file metadata stored, lets attempt to fetch it\n    try {\n      const response = await this.fileSystemApi.getFileorDirectoryProperties({\n        sessionId: this.sessionId,\n        fileOrDirectoryPath: path,\n      });\n      return this.updateFileMetadata(path, response);\n      // eslint-disable-next-line @typescript-eslint/no-unused-vars\n    } catch (error) {\n      // Intentionally blank\n    }\n\n    return {\n      etag: \"\",\n    };\n  }\n}\n\nexport default RestServerAdapter;\n"
  },
  {
    "path": "client/src/connection/rest/api/common.ts",
    "content": "// Copyright © 2022, SAS Institute Inc., Cary, NC, USA.  All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n/**\n * Compute\n * The Compute API defines the replacement for the application servers that were used for SAS 9. The Compute API enables clients to perform the following tasks: <UL> <LI>Submit and execute SAS code. <LI>Obtain the SAS log or listing information from executed SAS code. <LI>View output that is generated by a SAS code submission. <LI>Access SAS data sets that are created by a SAS code submission. <LI>Access SAS filerefs that are created by a SAS code submission. <LI>Access SAS variables that are defined and used in a SAS code submission. <LI>Retrieve information about engines that are available in a session. </UL>\n *\n * The version of the OpenAPI document: 11\n * Contact: devex@sas.com\n *\n * NOTE: This class is auto generated by OpenAPI\n * Do not edit the class manually.\n */\n/* tslint:disable */\n/* eslint-disable */\nimport globalAxios, { AxiosRequestConfig, AxiosResponse } from \"axios\";\nimport { URL, URLSearchParams } from \"url\";\n\nimport { Configuration } from \"./configuration\";\n\n/**\n *\n * @export\n */\nexport const DUMMY_BASE_URL = \"https://example.com\";\n\n/**\n *\n * @export\n * @interface RequestArgs\n */\nexport interface RequestArgs {\n  url: string;\n  options: AxiosRequestConfig;\n}\n\n/**\n *\n * @export\n * @class RequiredError\n * @extends {Error}\n */\nexport class RequiredError extends Error {\n  name: \"RequiredError\" = \"RequiredError\";\n  constructor(\n    public field: string,\n    msg?: string,\n  ) {\n    super(msg);\n  }\n}\n\n/**\n *\n * @throws {RequiredError}\n * @export\n */\nexport const assertParamExists = function (\n  functionName: string,\n  paramName: string,\n  paramValue: unknown,\n) {\n  if (paramValue === null || paramValue === undefined) {\n    throw new RequiredError(\n      paramName,\n      `Required parameter ${paramName} was null or undefined when calling ${functionName}.`,\n    );\n  }\n};\n\nfunction setFlattenedQueryParams(\n  urlSearchParams: URLSearchParams,\n  parameter: any,\n  key: string = \"\",\n): void {\n  if (typeof parameter === \"object\") {\n    if (Array.isArray(parameter)) {\n      (parameter as any[]).forEach((item) =>\n        setFlattenedQueryParams(urlSearchParams, item, key),\n      );\n    } else {\n      Object.keys(parameter).forEach((currentKey) =>\n        setFlattenedQueryParams(\n          urlSearchParams,\n          parameter[currentKey],\n          `${key}${key !== \"\" ? \".\" : \"\"}${currentKey}`,\n        ),\n      );\n    }\n  } else {\n    if (urlSearchParams.has(key)) {\n      urlSearchParams.append(key, parameter);\n    } else {\n      urlSearchParams.set(key, parameter);\n    }\n  }\n}\n\n/**\n *\n * @export\n */\nexport const setSearchParams = function (url: URL, ...objects: any[]) {\n  const searchParams = new URLSearchParams(url.search);\n  setFlattenedQueryParams(searchParams, objects);\n  url.search = searchParams.toString();\n};\n\n/**\n *\n * @export\n */\nexport const serializeDataIfNeeded = function (\n  value: any,\n  requestOptions: any,\n  configuration?: Configuration,\n) {\n  const nonString = typeof value !== \"string\";\n  const needsSerialization =\n    nonString && configuration && configuration.isJsonMime\n      ? configuration.isJsonMime(requestOptions.headers[\"Content-Type\"])\n      : nonString;\n  return needsSerialization\n    ? JSON.stringify(value !== undefined ? value : {})\n    : value || \"\";\n};\n\n/**\n *\n * @export\n */\nexport const toPathString = function (url: URL) {\n  return url.pathname + url.search + url.hash;\n};\n\n/**\n *\n * @export\n */\nexport const createRequestFunction = function <T>(\n  axiosArgs: RequestArgs,\n  configuration?: Configuration,\n) {\n  const axiosRequestArgs = {\n    ...axiosArgs.options,\n    url: (configuration?.basePath || \"\") + axiosArgs.url,\n  };\n  if (axiosRequestArgs.headers && configuration?.accessToken)\n    axiosRequestArgs.headers[\"Authorization\"] =\n      \"Bearer \" + configuration?.accessToken;\n  return globalAxios.request<T, AxiosResponse<T>>(axiosRequestArgs);\n};\n"
  },
  {
    "path": "client/src/connection/rest/api/compute.ts",
    "content": "// Copyright © 2022, SAS Institute Inc., Cary, NC, USA.  All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n/**\n * Compute\n * The Compute API defines the replacement for the application servers that were used for SAS 9. The Compute API enables clients to perform the following tasks: <UL> <LI>Submit and execute SAS code. <LI>Obtain the SAS log or listing information from executed SAS code. <LI>View output that is generated by a SAS code submission. <LI>Access SAS data sets that are created by a SAS code submission. <LI>Access SAS filerefs that are created by a SAS code submission. <LI>Access SAS variables that are defined and used in a SAS code submission. <LI>Retrieve information about engines that are available in a session. </UL>\n *\n * The version of the OpenAPI document: 11\n * Contact: devex@sas.com\n *\n * NOTE: This class is auto generated by OpenAPI\n * Do not edit the class manually.\n */\n/* tslint:disable */\n/* eslint-disable */\nimport { AxiosRequestConfig, AxiosResponse } from \"axios\";\n// URLSearchParams not necessarily used\n// @ts-ignore\nimport { URL } from \"url\";\n\n// Some imports not used depending on template conditions\n// @ts-ignore\nimport {\n  DUMMY_BASE_URL,\n  RequestArgs,\n  assertParamExists,\n  createRequestFunction,\n  serializeDataIfNeeded,\n  setSearchParams,\n  toPathString,\n} from \"./common\";\nimport { Configuration } from \"./configuration\";\n\n/**\n * The list of links to top-level resources and operations available from the root of the API.\n * @export\n * @interface Api\n */\nexport interface Api {\n  /**\n   * The version number of the API representation. This is version 1.\n   * @type {number}\n   * @memberof Api\n   */\n  version: number;\n  /**\n   * The API\\'s top-level links.\n   * @type {Array<Link>}\n   * @memberof Api\n   */\n  links: Array<Link>;\n}\n/**\n * This is a base schema used to define paginated collections of resources. This base schema is extended by other schemas in APIs by adding an \\'items\\' array property. These extensions define the application/vnd.sas.collection media type (version 2)\n * @export\n * @interface BaseCollection2\n */\nexport interface BaseCollection2 {\n  /**\n   * The name of the collection.\n   * @type {string}\n   * @memberof BaseCollection2\n   */\n  name?: string;\n  /**\n   * The zero-based index of the first item in the collection.\n   * @type {number}\n   * @memberof BaseCollection2\n   */\n  start?: number;\n  /**\n   * The number of items that were requested for the collection.\n   * @type {number}\n   * @memberof BaseCollection2\n   */\n  limit?: number;\n  /**\n   * If populated indicates the number of items in the collection.\n   * @type {number}\n   * @memberof BaseCollection2\n   */\n  count?: number;\n  /**\n   * A space-delimited list of media types from which an `Accept` header may be constructed.\n   * @type {string}\n   * @memberof BaseCollection2\n   */\n  accept?: string;\n  /**\n   * The links that apply to the collection.\n   * @type {Array<Link>}\n   * @memberof BaseCollection2\n   */\n  links?: Array<Link>;\n  /**\n   * The version number of the collection representation. This representation is version 2.\n   * @type {number}\n   * @memberof BaseCollection2\n   */\n  version?: number;\n}\n/**\n * Describes a column from a table.\n * @export\n * @interface Column\n */\nexport interface Column {\n  /**\n   * Specifies the version number of this representation schema. This is version 1.\n   * @type {number}\n   * @memberof Column\n   */\n  version?: number;\n  /**\n   * Specifies the identifier for this column.\n   * @type {string}\n   * @memberof Column\n   */\n  id?: string;\n  /**\n   * Specifies the name for this column.\n   * @type {string}\n   * @memberof Column\n   */\n  name?: string;\n  /**\n   * Specifies the numerical index for this column. This is a zero-based index.\n   * @type {number}\n   * @memberof Column\n   */\n  index?: number;\n  /**\n   * Specifies the label for this column. The label is optional.\n   * @type {string}\n   * @memberof Column\n   */\n  label?: string;\n  /**\n   * Specifies the length of the data in this column.\n   * @type {number}\n   * @memberof Column\n   */\n  length?: number;\n  /**\n   * Specifies the data type of the column.\n   * @type {string}\n   * @memberof Column\n   */\n  type?: string;\n  /**\n   *\n   * @type {ColumnSimpleFormat}\n   * @memberof Column\n   */\n  format?: ColumnSimpleFormat;\n  /**\n   *\n   * @type {ColumnSimpleFormat}\n   * @memberof Column\n   */\n  informat?: ColumnSimpleFormat;\n}\n/**\n * Provides a paginated collection of table columns.\n * @export\n * @interface ColumnCollection\n */\nexport interface ColumnCollection {\n  /**\n   * The name of the collection.\n   * @type {string}\n   * @memberof ColumnCollection\n   */\n  name?: string;\n  /**\n   * The zero-based index of the first item in the collection.\n   * @type {number}\n   * @memberof ColumnCollection\n   */\n  start?: number;\n  /**\n   * The number of items that were requested for the collection.\n   * @type {number}\n   * @memberof ColumnCollection\n   */\n  limit?: number;\n  /**\n   * If populated indicates the number of items in the collection.\n   * @type {number}\n   * @memberof ColumnCollection\n   */\n  count?: number;\n  /**\n   * A space-delimited list of media types from which an `Accept` header may be constructed.\n   * @type {string}\n   * @memberof ColumnCollection\n   */\n  accept?: string;\n  /**\n   * The links that apply to the collection.\n   * @type {Array<Link>}\n   * @memberof ColumnCollection\n   */\n  links?: Array<Link>;\n  /**\n   * The version number of the collection representation. This representation is version 2.\n   * @type {number}\n   * @memberof ColumnCollection\n   */\n  version?: number;\n  /**\n   * Specifies an array that contains column resources.\n   * @type {Array<Column>}\n   * @memberof ColumnCollection\n   */\n  items: Array<Column>;\n}\n/**\n *\n * @export\n * @interface ColumnCollectionAllOf\n */\nexport interface ColumnCollectionAllOf {\n  /**\n   * Specifies an array that contains column resources.\n   * @type {Array<Column>}\n   * @memberof ColumnCollectionAllOf\n   */\n  items: Array<Column>;\n}\n/**\n * Specifies the format to apply to a column when retrieving data from a cell.\n * @export\n * @interface ColumnFormatting\n */\nexport interface ColumnFormatting {\n  /**\n   * Specifies the name of a column.\n   * @type {string}\n   * @memberof ColumnFormatting\n   */\n  name?: string;\n  /**\n   * Specifies the format to use when retrieving data from a column.\n   * @type {string}\n   * @memberof ColumnFormatting\n   */\n  format?: string;\n}\n/**\n * Specifies the format to use for values in a column.\n * @export\n * @interface ColumnSimpleFormat\n */\nexport interface ColumnSimpleFormat {\n  /**\n   * Specifies the number of digits to the right of the decimal point.\n   * @type {number}\n   * @memberof ColumnSimpleFormat\n   */\n  decimals?: number;\n  /**\n   * Specifies the length of a formatted value.\n   * @type {number}\n   * @memberof ColumnSimpleFormat\n   */\n  length?: number;\n  /**\n   * Specifies the qualified name of the format or informat in the form of: <$>name<w>.<d>\n   * @type {string}\n   * @memberof ColumnSimpleFormat\n   */\n  name?: string;\n}\n/**\n * Provides a request to generate a column collection.\n * @export\n * @interface ColumnsRequest\n */\nexport interface ColumnsRequest {\n  /**\n   * Specifies the version number of this representation schema. This is version 2.\n   * @type {number}\n   * @memberof ColumnsRequest\n   */\n  version?: number;\n  /**\n   * Specifies the identifier for a column.\n   * @type {string}\n   * @memberof ColumnsRequest\n   */\n  id?: string;\n  /**\n   * Specifies an array of strings that indicate the columns to include in a row set. If you do not specify a value, then all columns are returned. The order of the column names in the list indicates the order of the cells of the row set.\n   * @type {Array<string>}\n   * @memberof ColumnsRequest\n   */\n  includeColumns?: Array<string>;\n  /**\n   *\n   * @type {FileProtection}\n   * @memberof ColumnsRequest\n   */\n  fileProtection?: FileProtection;\n  /**\n   * Specifies the encoding for the password values in the fileProtection structure. If the value is \\\"base64\\\", then the password values in the fileProtection structure should be encoded by converting the text to UTF-8 and base64-encoding the result. If no value is provided, then the password values of the fileProtection structure are expected to be clear text.\n   * @type {string}\n   * @memberof ColumnsRequest\n   */\n  fileProtectionEncoding?: string;\n}\n/**\n * Provides a concatenation of libraries.\n * @export\n * @interface Concatenation\n */\nexport interface Concatenation {\n  /**\n   * Specifies the name of the engine that is used for this member of the concatenation.\n   * @type {string}\n   * @memberof Concatenation\n   */\n  engineName?: string;\n  /**\n   * Specifies the name of the file format that is used for this member of the concatenation.\n   * @type {string}\n   * @memberof Concatenation\n   */\n  fileFormat?: string;\n  /**\n   * Specifies the physical name that is used for this member of the concatenation.\n   * @type {string}\n   * @memberof Concatenation\n   */\n  physicalName?: string;\n}\n/**\n * Provides information about the context that is stored for a service.\n * @export\n * @interface Context\n */\nexport interface Context {\n  /**\n   * Specifies the version number of this representation schema. This is version 4.\n   * @type {number}\n   * @memberof Context\n   */\n  version?: number;\n  /**\n   * Specifies the Compute context definition ID.\n   * @type {string}\n   * @memberof Context\n   */\n  id: string;\n  /**\n   * Specifies the localized context name.\n   * @type {string}\n   * @memberof Context\n   */\n  name: string;\n  /**\n   * Specifies the localized description.\n   * @type {string}\n   * @memberof Context\n   */\n  description?: string;\n  /**\n   *\n   * @type {ContextLaunchContext}\n   * @memberof Context\n   */\n  launchContext: ContextLaunchContext;\n  /**\n   * Specifies the type of launcher to use when launching SAS Compute Servers. The only value currently supported is <b>service</b>, which refers to the Launcher service.\n   * @type {string}\n   * @memberof Context\n   */\n  launchType: string;\n  /**\n   * Specifies the service-defined attributes that were set when this context was created.\n   * @type {object}\n   * @memberof Context\n   */\n  attributes?: object;\n  /**\n   *\n   * @type {Environment}\n   * @memberof Context\n   */\n  environment?: Environment;\n  /**\n   * Specifies optional information that overrides mappings of file extensions to media types in the sessions that was launched for this context. The session attempts to use file extensions to determine the media type of the files that are returned. Standard IANA type mappings are used. To override the default behavior of the server, specify a mapping from a file extension to a media type name. That media type is then used for that file extension.\n   * @type {{ [key: string]: string; }}\n   * @memberof Context\n   */\n  mediaTypeMap?: { [key: string]: string };\n  /**\n   * Specifies the user-ID that created the context definition.\n   * @type {string}\n   * @memberof Context\n   */\n  createdBy?: string;\n  /**\n   * Specifies the user ID that last updated the context definition.\n   * @type {string}\n   * @memberof Context\n   */\n  modifiedBy?: string;\n  /**\n   * Specifies the timestamp when the context was created.\n   * @type {string}\n   * @memberof Context\n   */\n  creationTimeStamp?: string;\n  /**\n   * Specifies the timestamp when the context was last updated.\n   * @type {string}\n   * @memberof Context\n   */\n  modifiedTimeStamp?: string;\n  /**\n   * Specifies links that apply to the context.\n   * @type {Array<Link>}\n   * @memberof Context\n   */\n  links?: Array<Link>;\n  /**\n   * Specifies the resources that have been configured for this context.\n   * @type {Array<Resource>}\n   * @memberof Context\n   */\n  resources?: Array<Resource>;\n  /**\n   * Specifies the name of the workload queue where Compute servers configured from this context should run. If workload queues are not supported, this specification will be ignored. The value of the queue name is limited to 250 characters.\n   * @type {string}\n   * @memberof Context\n   */\n  queueName?: string;\n}\n/**\n * Provides information about the Launch context that is used by the Compute service.\n * @export\n * @interface ContextLaunchContext\n */\nexport interface ContextLaunchContext {\n  /**\n   * Specifies the command that launches the server for this context. If this value is not set, the service uses the default command that is determined at runtime.\n   * @type {string}\n   * @memberof ContextLaunchContext\n   */\n  command?: string;\n  /**\n   * Specifies the context name from the launcher context. If the launchType is service, then contextId or contextName is required.\n   * @type {string}\n   * @memberof ContextLaunchContext\n   */\n  contextName?: string;\n  /**\n   * Specifies the context ID from the launcher context. If the launchType is service, then contextId or contextName is required.\n   * @type {string}\n   * @memberof ContextLaunchContext\n   */\n  contextId?: string;\n}\n/**\n * Enables the creation of a new Compute context.\n * @export\n * @interface ContextRequest\n */\nexport interface ContextRequest {\n  /**\n   * Specifies the version number of this representation schema. This is version 3.\n   * @type {number}\n   * @memberof ContextRequest\n   */\n  version?: number;\n  /**\n   * Specifies the context name. The value of the name is limited to 100 characters. The value must be unique.\n   * @type {string}\n   * @memberof ContextRequest\n   */\n  name: string;\n  /**\n   * Specifies a localized description. The value of description is limited to 1000 characters.\n   * @type {string}\n   * @memberof ContextRequest\n   */\n  description?: string;\n  /**\n   *\n   * @type {ContextLaunchContext}\n   * @memberof ContextRequest\n   */\n  launchContext: ContextLaunchContext;\n  /**\n   * Specifies the type of launcher to use when launching SAS Compute Servers. The only value currently supported is <b>service</b>, which refers to the Launcher service.\n   * @type {string}\n   * @memberof ContextRequest\n   */\n  launchType: string;\n  /**\n   * Specifies the attributes that control the behavior of sessions, based on this context. See the example for details.\n   * @type {object}\n   * @memberof ContextRequest\n   */\n  attributes?: object;\n  /**\n   *\n   * @type {Environment}\n   * @memberof ContextRequest\n   */\n  environment?: Environment;\n  /**\n   * Specifies the list of users who are allowed to request sessions using the specified context.\n   * @type {Array<string>}\n   * @memberof ContextRequest\n   */\n  authorizedUsers?: Array<string>;\n  /**\n   * Specifies the list of groups whose memes are allowed to request sessions using the specified context.\n   * @type {Array<string>}\n   * @memberof ContextRequest\n   */\n  authorizedGroups?: Array<string>;\n  /**\n   * Specifies whether all authenticated users are allowed to request sessions using the specified context. If <b>true</b>, then <b>authorizedUsers</b> and <b>authorizedGroups</b> are ignored.\n   * @type {boolean}\n   * @memberof ContextRequest\n   */\n  authorizeAllAuthenticatedUsers?: boolean;\n  /**\n   * Specifies whether the guest user is allowed to request sessions using the specified context.\n   * @type {boolean}\n   * @memberof ContextRequest\n   */\n  facilitateGuest?: boolean;\n  /**\n   * Specifies optional information that overrides mappings of file extensions to media types in sessions that are launched for this context. The session attempts to use file extensions to determine the media type of files that are returned. Standard IANA type mappings are used. To override the default behavior of the server, specify a mapping from a file extension to a media type name. That media type is then used for that file extension.\n   * @type {{ [key: string]: string; }}\n   * @memberof ContextRequest\n   */\n  mediaTypeMap?: { [key: string]: string };\n  /**\n   * Specifies the resources that have been requested to be added to this context.\n   * @type {Array<Resource>}\n   * @memberof ContextRequest\n   */\n  resources?: Array<Resource>;\n  /**\n   * Specifies the name of the workload queue where Compute servers configured from this context should run. If workload queues are not supported, this specification will be ignored. The value of the queue name is limited to 250 characters.\n   * @type {string}\n   * @memberof ContextRequest\n   */\n  queueName?: string;\n}\n/**\n * Provides summary information about the context that is stored for a service.\n * @export\n * @interface ContextSummary\n */\nexport interface ContextSummary {\n  /**\n   * Specifies the version number of this representation schema. This is version 2.\n   * @type {number}\n   * @memberof ContextSummary\n   */\n  version?: number;\n  /**\n   * Specifies the definition ID of the Compute context summary.\n   * @type {string}\n   * @memberof ContextSummary\n   */\n  id?: string;\n  /**\n   * Specifies the localized context name.\n   * @type {string}\n   * @memberof ContextSummary\n   */\n  name?: string;\n  /**\n   * Specifies the user-ID that created the context definition.\n   * @type {string}\n   * @memberof ContextSummary\n   */\n  createdBy?: string;\n  /**\n   * Specifies the links that apply to the context.\n   * @type {Array<Link>}\n   * @memberof ContextSummary\n   */\n  links?: Array<Link>;\n}\n/**\n * Provides a paginated collection of context summaries.\n * @export\n * @interface ContextSummaryCollection\n */\nexport interface ContextSummaryCollection {\n  /**\n   * The name of the collection.\n   * @type {string}\n   * @memberof ContextSummaryCollection\n   */\n  name?: string;\n  /**\n   * The zero-based index of the first item in the collection.\n   * @type {number}\n   * @memberof ContextSummaryCollection\n   */\n  start?: number;\n  /**\n   * The number of items that were requested for the collection.\n   * @type {number}\n   * @memberof ContextSummaryCollection\n   */\n  limit?: number;\n  /**\n   * If populated indicates the number of items in the collection.\n   * @type {number}\n   * @memberof ContextSummaryCollection\n   */\n  count?: number;\n  /**\n   * A space-delimited list of media types from which an `Accept` header may be constructed.\n   * @type {string}\n   * @memberof ContextSummaryCollection\n   */\n  accept?: string;\n  /**\n   * The links that apply to the collection.\n   * @type {Array<Link>}\n   * @memberof ContextSummaryCollection\n   */\n  links?: Array<Link>;\n  /**\n   * The version number of the collection representation. This representation is version 2.\n   * @type {number}\n   * @memberof ContextSummaryCollection\n   */\n  version?: number;\n  /**\n   * Specifies the array that contains context summaries.\n   * @type {Array<ContextSummary>}\n   * @memberof ContextSummaryCollection\n   */\n  items: Array<ContextSummary>;\n}\n/**\n *\n * @export\n * @interface ContextSummaryCollectionAllOf\n */\nexport interface ContextSummaryCollectionAllOf {\n  /**\n   * Specifies the array that contains context summaries.\n   * @type {Array<ContextSummary>}\n   * @memberof ContextSummaryCollectionAllOf\n   */\n  items: Array<ContextSummary>;\n}\n/**\n * Describes a member of a directory-based fileref object.\n * @export\n * @interface DirMember\n */\nexport interface DirMember {\n  /**\n   * Specifies a Compute context definition id.\n   * @type {string}\n   * @memberof DirMember\n   */\n  id?: string;\n  /**\n   * Links that apply to this directory member\n   * @type {Array<Link>}\n   * @memberof DirMember\n   */\n  links?: Array<Link>;\n}\n/**\n * Provides a collection that contains the members of a directory-based fileref object.\n * @export\n * @interface DirectoryCollection\n */\nexport interface DirectoryCollection {\n  /**\n   * The name of the collection.\n   * @type {string}\n   * @memberof DirectoryCollection\n   */\n  name?: string;\n  /**\n   * The zero-based index of the first item in the collection.\n   * @type {number}\n   * @memberof DirectoryCollection\n   */\n  start?: number;\n  /**\n   * The number of items that were requested for the collection.\n   * @type {number}\n   * @memberof DirectoryCollection\n   */\n  limit?: number;\n  /**\n   * If populated indicates the number of items in the collection.\n   * @type {number}\n   * @memberof DirectoryCollection\n   */\n  count?: number;\n  /**\n   * A space-delimited list of media types from which an `Accept` header may be constructed.\n   * @type {string}\n   * @memberof DirectoryCollection\n   */\n  accept?: string;\n  /**\n   * The links that apply to the collection.\n   * @type {Array<Link>}\n   * @memberof DirectoryCollection\n   */\n  links?: Array<Link>;\n  /**\n   * The version number of the collection representation. This representation is version 2.\n   * @type {number}\n   * @memberof DirectoryCollection\n   */\n  version?: number;\n  /**\n   * Specifies an array that contains a listing of members of a directory fileref.\n   * @type {Array<DirMember>}\n   * @memberof DirectoryCollection\n   */\n  items: Array<DirMember>;\n}\n/**\n *\n * @export\n * @interface DirectoryCollectionAllOf\n */\nexport interface DirectoryCollectionAllOf {\n  /**\n   * Specifies an array that contains a listing of members of a directory fileref.\n   * @type {Array<DirMember>}\n   * @memberof DirectoryCollectionAllOf\n   */\n  items: Array<DirMember>;\n}\n/**\n * Provides a description of a SAS LIBNAME engine.\n * @export\n * @interface Engine\n */\nexport interface Engine {\n  /**\n   * Specifies the version number of this representation schema. This is version 1.\n   * @type {number}\n   * @memberof Engine\n   */\n  version?: number;\n  /**\n   * Specifies the unique name of this engine.\n   * @type {string}\n   * @memberof Engine\n   */\n  name?: string;\n  /**\n   * Specifies the label for this engine. This value maps to the nickname for the engine in the Compute session.\n   * @type {string}\n   * @memberof Engine\n   */\n  label?: string;\n  /**\n   * Specifies the engine description. In the Compute session, this is the short legal name of the engine.\n   * @type {string}\n   * @memberof Engine\n   */\n  description?: string;\n  /**\n   * Specifies the providerId for this service. In a Compute session, this value is compute.\n   * @type {string}\n   * @memberof Engine\n   */\n  providerId?: string;\n  /**\n   * Specifies the identifier of the data source that provides the engine. In a Compute session, this is the context id.\n   * @type {string}\n   * @memberof Engine\n   */\n  dataSourceId?: string;\n  /**\n   * Specifies whether the engine is licensed.\n   * @type {boolean}\n   * @memberof Engine\n   */\n  licensed?: boolean;\n  /**\n   * Specifies links that apply to this engine.\n   * @type {Array<Link>}\n   * @memberof Engine\n   */\n  links?: Array<Link>;\n}\n/**\n * Provides a paginated collection of SAS engine objects.\n * @export\n * @interface EngineCollection\n */\nexport interface EngineCollection {\n  /**\n   * The name of the collection.\n   * @type {string}\n   * @memberof EngineCollection\n   */\n  name?: string;\n  /**\n   * The zero-based index of the first item in the collection.\n   * @type {number}\n   * @memberof EngineCollection\n   */\n  start?: number;\n  /**\n   * The number of items that were requested for the collection.\n   * @type {number}\n   * @memberof EngineCollection\n   */\n  limit?: number;\n  /**\n   * If populated indicates the number of items in the collection.\n   * @type {number}\n   * @memberof EngineCollection\n   */\n  count?: number;\n  /**\n   * A space-delimited list of media types from which an `Accept` header may be constructed.\n   * @type {string}\n   * @memberof EngineCollection\n   */\n  accept?: string;\n  /**\n   * The links that apply to the collection.\n   * @type {Array<Link>}\n   * @memberof EngineCollection\n   */\n  links?: Array<Link>;\n  /**\n   * The version number of the collection representation. This representation is version 2.\n   * @type {number}\n   * @memberof EngineCollection\n   */\n  version?: number;\n  /**\n   * Specifies an array that contains engine resources.\n   * @type {Array<Engine>}\n   * @memberof EngineCollection\n   */\n  items: Array<Engine>;\n}\n/**\n *\n * @export\n * @interface EngineCollectionAllOf\n */\nexport interface EngineCollectionAllOf {\n  /**\n   * Specifies an array that contains engine resources.\n   * @type {Array<Engine>}\n   * @memberof EngineCollectionAllOf\n   */\n  items: Array<Engine>;\n}\n/**\n * Provides the SAS options and initialization code that is used by the Compute service and its sessions.\n * @export\n * @interface Environment\n */\nexport interface Environment {\n  /**\n   * Specifies the SAS options to apply to a context.\n   * @type {Array<string>}\n   * @memberof Environment\n   */\n  options?: Array<string>;\n  /**\n   * Specifies the SAS code to execute during session initialization.\n   * @type {Array<string>}\n   * @memberof Environment\n   */\n  autoExecLines?: Array<string>;\n}\n/**\n * The representation of an error.\n * @export\n * @interface Error2\n */\nexport interface Error2 {\n  /**\n   * The message for the error.\n   * @type {string}\n   * @memberof Error2\n   */\n  message?: string;\n  /**\n   * The string ID for the error.\n   * @type {string}\n   * @memberof Error2\n   */\n  id?: string;\n  /**\n   * The numeric ID for the error.\n   * @type {number}\n   * @memberof Error2\n   */\n  errorCode?: number;\n  /**\n   * The HTTP status code for the error.\n   * @type {number}\n   * @memberof Error2\n   */\n  httpStatusCode: number;\n  /**\n   * Messages that provide additional details about the cause of the error.\n   * @type {Array<string>}\n   * @memberof Error2\n   */\n  details?: Array<string>;\n  /**\n   * A message that describes how to resolve the error.\n   * @type {string}\n   * @memberof Error2\n   */\n  remediation?: string;\n  /**\n   * Any additional errors that occurred.\n   * @type {Array<Error2>}\n   * @memberof Error2\n   */\n  errors?: Array<Error2>;\n  /**\n   * The links that apply to the error.\n   * @type {Array<Link>}\n   * @memberof Error2\n   */\n  links?: Array<Link>;\n  /**\n   * The version number of the error representation. This representation is version 2.\n   * @type {number}\n   * @memberof Error2\n   */\n  version: number;\n}\n/**\n * Provides properties of a file or directory object.\n * @export\n * @interface FileProperties\n */\nexport interface FileProperties {\n  /**\n   * Specifies the version number of this representation schema. This is version 1.\n   * @type {number}\n   * @memberof FileProperties\n   */\n  version?: number;\n  /**\n   * Specifies whether the object references a directory on the system.\n   * @type {boolean}\n   * @memberof FileProperties\n   */\n  isDirectory?: boolean;\n  /**\n   * Specifies whether the file or directory is Read Only.\n   * @type {boolean}\n   * @memberof FileProperties\n   */\n  readOnly?: boolean;\n  /**\n   * Specifies links that apply to this file or directory object.\n   * @type {Array<Link>}\n   * @memberof FileProperties\n   */\n  links?: Array<Link>;\n  /**\n   * Specifies the name of the file or directory.\n   * @type {string}\n   * @memberof FileProperties\n   */\n  name?: string;\n  /**\n   * Specifies the path of the file or directory.\n   * @type {string}\n   * @memberof FileProperties\n   */\n  path?: string;\n  /**\n   * Specifies the size of the file or directory.\n   * @type {number}\n   * @memberof FileProperties\n   */\n  size?: number;\n  /**\n   * Specifies the modification timestamp for this file or directory.\n   * @type {string}\n   * @memberof FileProperties\n   */\n  modifiedTimeStamp?: string;\n  /**\n   * Specifies the creation timestamp for this file or directory. This information is returned only if the file or directory is available.\n   * @type {string}\n   * @memberof FileProperties\n   */\n  creationTimeStamp?: string;\n}\n/**\n * Provides a collection that contains the members of a directory.\n * @export\n * @interface FilePropertiesCollection\n */\nexport interface FilePropertiesCollection {\n  /**\n   * The name of the collection.\n   * @type {string}\n   * @memberof FilePropertiesCollection\n   */\n  name?: string;\n  /**\n   * The zero-based index of the first item in the collection.\n   * @type {number}\n   * @memberof FilePropertiesCollection\n   */\n  start?: number;\n  /**\n   * The number of items that were requested for the collection.\n   * @type {number}\n   * @memberof FilePropertiesCollection\n   */\n  limit?: number;\n  /**\n   * If populated indicates the number of items in the collection.\n   * @type {number}\n   * @memberof FilePropertiesCollection\n   */\n  count?: number;\n  /**\n   * A space-delimited list of media types from which an `Accept` header may be constructed.\n   * @type {string}\n   * @memberof FilePropertiesCollection\n   */\n  accept?: string;\n  /**\n   * The links that apply to the collection.\n   * @type {Array<Link>}\n   * @memberof FilePropertiesCollection\n   */\n  links?: Array<Link>;\n  /**\n   * The version number of the collection representation. This representation is version 2.\n   * @type {number}\n   * @memberof FilePropertiesCollection\n   */\n  version?: number;\n  /**\n   * Specifies an array that contains a listing of members of a directory.\n   * @type {Array<FileProperties>}\n   * @memberof FilePropertiesCollection\n   */\n  items: Array<FileProperties>;\n}\n/**\n *\n * @export\n * @interface FilePropertiesCollectionAllOf\n */\nexport interface FilePropertiesCollectionAllOf {\n  /**\n   * Specifies an array that contains a listing of members of a directory.\n   * @type {Array<FileProperties>}\n   * @memberof FilePropertiesCollectionAllOf\n   */\n  items: Array<FileProperties>;\n}\n/**\n * Specifies information that you use to access data sets or tables that are protected. Provide password values in the format password-type=password. Possible values for password-type are \\\"ALTER\\\", \\\"PW\\\", \\\"READ\\\", or \\\"WRITE\\\". A password value must be a valid eight-character SAS name.\n * @export\n * @interface FileProtection\n */\nexport interface FileProtection {\n  /**\n   * Specifies the password that grants Read access to the file that represents the data set.\n   * @type {string}\n   * @memberof FileProtection\n   */\n  read?: string;\n  /**\n   * Specifies the password that grants Alter access to the file that represents the data set.\n   * @type {string}\n   * @memberof FileProtection\n   */\n  alter?: string;\n  /**\n   * Specifies the password that grants Write access to the file that represents the data set.\n   * @type {string}\n   * @memberof FileProtection\n   */\n  write?: string;\n}\n/**\n * Provides properties of a file or directory object.\n * @export\n * @interface FileRequest\n */\nexport interface FileRequest {\n  /**\n   * Specifies the name of the file or directory.\n   * @type {string}\n   * @memberof FileRequest\n   */\n  name?: string;\n  /**\n   * Specifies the path of the file or directory.\n   * @type {string}\n   * @memberof FileRequest\n   */\n  path?: string;\n}\n/**\n * An object representing a file\n * @export\n * @interface FileResource\n */\nexport interface FileResource {\n  /**\n   * The username of whoever created the resource.\n   * @type {string}\n   * @memberof FileResource\n   */\n  createdBy?: string;\n  /**\n   * The username of whoever last modified the resource.\n   * @type {string}\n   * @memberof FileResource\n   */\n  modifiedBy?: string;\n  /**\n   * The timestamp for when the resource was created.\n   * @type {string}\n   * @memberof FileResource\n   */\n  creationTimeStamp?: string;\n  /**\n   * The timestamp for when the resource was last modified.\n   * @type {string}\n   * @memberof FileResource\n   */\n  modifiedTimeStamp?: string;\n  /**\n   * URI of the object which is either associated or linked with file resource\n   * @type {string}\n   * @memberof FileResource\n   */\n  parentUri?: string;\n  /**\n   * Properties specific to this file. Each property uses a \\\"key\\\" : \\\"value\\\" format and a comma is used as the separator between properties.\n   * @type {{ [key: string]: string; }}\n   * @memberof FileResource\n   */\n  properties?: { [key: string]: string };\n  /**\n   * Value for Content Disposition header which will be set in response while downloading the file\n   * @type {string}\n   * @memberof FileResource\n   */\n  contentDisposition?: string;\n  /**\n   * Type of the content\n   * @type {string}\n   * @memberof FileResource\n   */\n  contentType?: string;\n  /**\n   * Description of the document\n   * @type {string}\n   * @memberof FileResource\n   */\n  description?: string;\n  /**\n   * Type of the document\n   * @type {string}\n   * @memberof FileResource\n   */\n  documentType?: string;\n  /**\n   * Encoding of the document\n   * @type {string}\n   * @memberof FileResource\n   */\n  encoding?: string;\n  /**\n   * Id of the file resource\n   * @type {string}\n   * @memberof FileResource\n   */\n  id?: string;\n  /**\n   * Links that apply to this object.  Includes \\\"self\\\", \\\"content\\\", \\\"patch\\\", \\\"update\\\" and \\\"delete\\\"\n   * @type {Array<Link>}\n   * @memberof FileResource\n   */\n  links?: Array<Link>;\n  /**\n   * Name of the document\n   * @type {string}\n   * @memberof FileResource\n   */\n  name?: string;\n  /**\n   * Byte size of the document content\n   * @type {number}\n   * @memberof FileResource\n   */\n  size?: number;\n}\n/**\n *\n * @export\n * @interface FileResourceAllOf\n */\nexport interface FileResourceAllOf {\n  /**\n   * URI of the object which is either associated or linked with file resource\n   * @type {string}\n   * @memberof FileResourceAllOf\n   */\n  parentUri?: string;\n  /**\n   * Properties specific to this file. Each property uses a \\\"key\\\" : \\\"value\\\" format and a comma is used as the separator between properties.\n   * @type {{ [key: string]: string; }}\n   * @memberof FileResourceAllOf\n   */\n  properties?: { [key: string]: string };\n  /**\n   * Value for Content Disposition header which will be set in response while downloading the file\n   * @type {string}\n   * @memberof FileResourceAllOf\n   */\n  contentDisposition?: string;\n  /**\n   * Type of the content\n   * @type {string}\n   * @memberof FileResourceAllOf\n   */\n  contentType?: string;\n  /**\n   * Description of the document\n   * @type {string}\n   * @memberof FileResourceAllOf\n   */\n  description?: string;\n  /**\n   * Type of the document\n   * @type {string}\n   * @memberof FileResourceAllOf\n   */\n  documentType?: string;\n  /**\n   * Encoding of the document\n   * @type {string}\n   * @memberof FileResourceAllOf\n   */\n  encoding?: string;\n  /**\n   * Id of the file resource\n   * @type {string}\n   * @memberof FileResourceAllOf\n   */\n  id?: string;\n  /**\n   * Links that apply to this object.  Includes \\\"self\\\", \\\"content\\\", \\\"patch\\\", \\\"update\\\" and \\\"delete\\\"\n   * @type {Array<Link>}\n   * @memberof FileResourceAllOf\n   */\n  links?: Array<Link>;\n  /**\n   * Name of the document\n   * @type {string}\n   * @memberof FileResourceAllOf\n   */\n  name?: string;\n  /**\n   * Byte size of the document content\n   * @type {number}\n   * @memberof FileResourceAllOf\n   */\n  size?: number;\n}\n/**\n * Provides a description of a SAS fileref object.\n * @export\n * @interface Fileref\n */\nexport interface Fileref {\n  /**\n   * Specifies the version number of this representation schema. This is version 2.\n   * @type {number}\n   * @memberof Fileref\n   */\n  version?: number;\n  /**\n   * Specifies the access method that is used for this fileref. Common values are \\\"DISK\\\" and \\\"TEMP\\\", but other values  be supported.\n   * @type {string}\n   * @memberof Fileref\n   */\n  accessMethod?: string;\n  /**\n   * Specifies whether the fileref references a directory on the system.\n   * @type {boolean}\n   * @memberof Fileref\n   */\n  isDirectory?: boolean;\n  /**\n   * Specifies links that apply to this fileref.\n   * @type {Array<Link>}\n   * @memberof Fileref\n   */\n  links?: Array<Link>;\n  /**\n   * Specifies the name of fileref resource.\n   * @type {string}\n   * @memberof Fileref\n   */\n  name?: string;\n  /**\n   * Specifies the modification timestamp for this fileref.\n   * @type {string}\n   * @memberof Fileref\n   */\n  modifiedTimeStamp?: string;\n  /**\n   * Specifies the name of the file.\n   * @type {string}\n   * @memberof Fileref\n   */\n  fileName?: string;\n  /**\n   * Specifies the size of the file.\n   * @type {number}\n   * @memberof Fileref\n   */\n  fileSize?: number;\n  /**\n   * Specifies the identifier for this fileref.\n   * @type {string}\n   * @memberof Fileref\n   */\n  id?: string;\n  /**\n   * Specifies the resolved path of the file. Support for this value was added in version 2.\n   * @type {string}\n   * @memberof Fileref\n   */\n  filePath?: string;\n}\n/**\n * Enables you to create a new SAS fileref object.\n * @export\n * @interface FilerefRequest\n */\nexport interface FilerefRequest {\n  /**\n   * Specifies the version number of this representation schema. This is version 1.\n   * @type {number}\n   * @memberof FilerefRequest\n   */\n  version?: number;\n  /**\n   * Specifies the name of this fileref.\n   * @type {string}\n   * @memberof FilerefRequest\n   */\n  name: string;\n  /**\n   * Specifies the path to the file or directory that is referenced by this fileref.\n   * @type {string}\n   * @memberof FilerefRequest\n   */\n  path: string;\n  /**\n   * Specifies the access method that is used for this fileref. Common values are \\\"DISK\\\" and \\\"TEMP\\\", but other values can be supported.\n   * @type {string}\n   * @memberof FilerefRequest\n   */\n  accessMethod?: string;\n  /**\n   * Specifies an options string for the creation of the fileref.\n   * @type {string}\n   * @memberof FilerefRequest\n   */\n  options?: string;\n}\n/**\n * Provides summary information about a SAS fileref.\n * @export\n * @interface FilerefSummary\n */\nexport interface FilerefSummary {\n  /**\n   * Specifies the version number of this representation schema. This is version 1.\n   * @type {number}\n   * @memberof FilerefSummary\n   */\n  version?: number;\n  /**\n   * Specifies the identifier for this fileref.\n   * @type {string}\n   * @memberof FilerefSummary\n   */\n  id?: string;\n  /**\n   * Specifies the name of fileref resource.\n   * @type {string}\n   * @memberof FilerefSummary\n   */\n  name?: string;\n  /**\n   * Specifies links that apply to this fileref.\n   * @type {Array<Link>}\n   * @memberof FilerefSummary\n   */\n  links?: Array<Link>;\n}\n/**\n * Provides a collection of fileref summaries.\n * @export\n * @interface FilerefSummaryCollection\n */\nexport interface FilerefSummaryCollection {\n  /**\n   * The name of the collection.\n   * @type {string}\n   * @memberof FilerefSummaryCollection\n   */\n  name?: string;\n  /**\n   * The zero-based index of the first item in the collection.\n   * @type {number}\n   * @memberof FilerefSummaryCollection\n   */\n  start?: number;\n  /**\n   * The number of items that were requested for the collection.\n   * @type {number}\n   * @memberof FilerefSummaryCollection\n   */\n  limit?: number;\n  /**\n   * If populated indicates the number of items in the collection.\n   * @type {number}\n   * @memberof FilerefSummaryCollection\n   */\n  count?: number;\n  /**\n   * A space-delimited list of media types from which an `Accept` header may be constructed.\n   * @type {string}\n   * @memberof FilerefSummaryCollection\n   */\n  accept?: string;\n  /**\n   * The links that apply to the collection.\n   * @type {Array<Link>}\n   * @memberof FilerefSummaryCollection\n   */\n  links?: Array<Link>;\n  /**\n   * The version number of the collection representation. This representation is version 2.\n   * @type {number}\n   * @memberof FilerefSummaryCollection\n   */\n  version?: number;\n  /**\n   * Array containing list of fileref summary resources.\n   * @type {Array<FilerefSummary>}\n   * @memberof FilerefSummaryCollection\n   */\n  items: Array<FilerefSummary>;\n}\n/**\n *\n * @export\n * @interface FilerefSummaryCollectionAllOf\n */\nexport interface FilerefSummaryCollectionAllOf {\n  /**\n   * Array containing list of fileref summary resources.\n   * @type {Array<FilerefSummary>}\n   * @memberof FilerefSummaryCollectionAllOf\n   */\n  items: Array<FilerefSummary>;\n}\n/**\n * Provides a description of a SAS format or informat.\n * @export\n * @interface Format\n */\nexport interface Format {\n  /**\n   * Specifies the category that this format falls into (for example, CHAR, DATE, BINARY, and so on).\n   * @type {string}\n   * @memberof Format\n   */\n  category?: string;\n  /**\n   * Specifies the decimal precision that a format defaults to.\n   * @type {number}\n   * @memberof Format\n   */\n  defaultDecimals?: number;\n  /**\n   * Specifies the default modifier that is applied to a format.\n   * @type {number}\n   * @memberof Format\n   */\n  defaultModifier?: number;\n  /**\n   * Specifies the default width of this format.\n   * @type {number}\n   * @memberof Format\n   */\n  defaultWidth?: number;\n  /**\n   * Specifies the format type, which is either \\'format\\' or \\'informat\\'.\n   * @type {string}\n   * @memberof Format\n   */\n  formatType?: string;\n  /**\n   * Specifies whether a format is left-justified or right-justified.\n   * @type {string}\n   * @memberof Format\n   */\n  justification?: string;\n  /**\n   * Specifies the maximum decimal precision that you can set for a format.\n   * @type {number}\n   * @memberof Format\n   */\n  maximumDecimals?: number;\n  /**\n   * Specifies the maximum width that you can set for a format.\n   * @type {number}\n   * @memberof Format\n   */\n  maximumWidth?: number;\n  /**\n   * Specifies the minimum decimal precision that you can set for a format.\n   * @type {number}\n   * @memberof Format\n   */\n  minimumDecimals?: number;\n  /**\n   * Specifies the minimum width that you can set for a format.\n   * @type {number}\n   * @memberof Format\n   */\n  minimumWidth?: number;\n  /**\n   * Specifies the version number of this representation schema. This is version 1.\n   * @type {number}\n   * @memberof Format\n   */\n  version?: number;\n  /**\n   * Specifies the identifier of a format.\n   * @type {string}\n   * @memberof Format\n   */\n  id?: string;\n  /**\n   * Specifies the name of a format.\n   * @type {string}\n   * @memberof Format\n   */\n  name?: string;\n  /**\n   * Specifies the links that apply to a format.\n   * @type {Array<Link>}\n   * @memberof Format\n   */\n  links?: Array<Link>;\n}\n/**\n * Provides a summary of a SAS format or informat.\n * @export\n * @interface FormatSummary\n */\nexport interface FormatSummary {\n  /**\n   * Specifies the version number of this representation schema. This is version 1.\n   * @type {number}\n   * @memberof FormatSummary\n   */\n  version?: number;\n  /**\n   * Specifies the identifier of this format.\n   * @type {string}\n   * @memberof FormatSummary\n   */\n  id?: string;\n  /**\n   * Specifies the name of this format.\n   * @type {string}\n   * @memberof FormatSummary\n   */\n  name?: string;\n  /**\n   * Specifies the links that apply to this format.\n   * @type {Array<Link>}\n   * @memberof FormatSummary\n   */\n  links?: Array<Link>;\n}\n/**\n * Provides a collection of format summaries.\n * @export\n * @interface FormatSummaryCollection\n */\nexport interface FormatSummaryCollection {\n  /**\n   * The name of the collection.\n   * @type {string}\n   * @memberof FormatSummaryCollection\n   */\n  name?: string;\n  /**\n   * The zero-based index of the first item in the collection.\n   * @type {number}\n   * @memberof FormatSummaryCollection\n   */\n  start?: number;\n  /**\n   * The number of items that were requested for the collection.\n   * @type {number}\n   * @memberof FormatSummaryCollection\n   */\n  limit?: number;\n  /**\n   * If populated indicates the number of items in the collection.\n   * @type {number}\n   * @memberof FormatSummaryCollection\n   */\n  count?: number;\n  /**\n   * A space-delimited list of media types from which an `Accept` header may be constructed.\n   * @type {string}\n   * @memberof FormatSummaryCollection\n   */\n  accept?: string;\n  /**\n   * The links that apply to the collection.\n   * @type {Array<Link>}\n   * @memberof FormatSummaryCollection\n   */\n  links?: Array<Link>;\n  /**\n   * The version number of the collection representation. This representation is version 2.\n   * @type {number}\n   * @memberof FormatSummaryCollection\n   */\n  version?: number;\n  /**\n   * Specifies an array that contains a list of format summary resources.\n   * @type {Array<FormatSummary>}\n   * @memberof FormatSummaryCollection\n   */\n  items: Array<FormatSummary>;\n}\n/**\n *\n * @export\n * @interface FormatSummaryCollectionAllOf\n */\nexport interface FormatSummaryCollectionAllOf {\n  /**\n   * Specifies an array that contains a list of format summary resources.\n   * @type {Array<FormatSummary>}\n   * @memberof FormatSummaryCollectionAllOf\n   */\n  items: Array<FormatSummary>;\n}\n/**\n * Provides a description of a job that has been submitted to a Compute session.\n * @export\n * @interface Job\n */\nexport interface Job {\n  /**\n   * Specifies the version number of this representation schema. This is version 1.\n   * @type {number}\n   * @memberof Job\n   */\n  version?: number;\n  /**\n   * Specifies the identifier that describes this job.\n   * @type {string}\n   * @memberof Job\n   */\n  id?: string;\n  /**\n   * Specifies an optional name that is associated with this job.\n   * @type {string}\n   * @memberof Job\n   */\n  name?: string;\n  /**\n   * Specifies an optional description for this job.\n   * @type {string}\n   * @memberof Job\n   */\n  description?: string;\n  /**\n   * Specifies the timestamp when the job was created.\n   * @type {string}\n   * @memberof Job\n   */\n  creationTimeStamp?: string;\n  /**\n   * Specifies the timestamp when the job completed.\n   * @type {string}\n   * @memberof Job\n   */\n  completedTimeStamp?: string;\n  /**\n   * Specifies the session that this job was submitted in.\n   * @type {string}\n   * @memberof Job\n   */\n  sessionId?: string;\n  /**\n   * Specifies the current state of this job. Here are the possible values: pending, running, canceled, warning, error, or completed.\n   * @type {string}\n   * @memberof Job\n   */\n  state?: string;\n  /**\n   * Specifies the condition code for this job. This value is set when the job completes, and the value is set to the value of the SYSCC macro variable.\n   * @type {number}\n   * @memberof Job\n   */\n  jobConditionCode?: number;\n  /**\n   *\n   * @type {LogStatistics}\n   * @memberof Job\n   */\n  logStatistics?: LogStatistics;\n  /**\n   *\n   * @type {ListingStatistics}\n   * @memberof Job\n   */\n  listingStatistics?: ListingStatistics;\n  /**\n   *\n   * @type {JobStatistics}\n   * @memberof Job\n   */\n  statistics?: JobStatistics;\n  /**\n   * Specifies the links that apply to this job.\n   * @type {Array<Link>}\n   * @memberof Job\n   */\n  links?: Array<Link>;\n}\n/**\n * Provides a paginated collection of jobs.\n * @export\n * @interface JobCollection\n */\nexport interface JobCollection {\n  /**\n   * The name of the collection.\n   * @type {string}\n   * @memberof JobCollection\n   */\n  name?: string;\n  /**\n   * The zero-based index of the first item in the collection.\n   * @type {number}\n   * @memberof JobCollection\n   */\n  start?: number;\n  /**\n   * The number of items that were requested for the collection.\n   * @type {number}\n   * @memberof JobCollection\n   */\n  limit?: number;\n  /**\n   * If populated indicates the number of items in the collection.\n   * @type {number}\n   * @memberof JobCollection\n   */\n  count?: number;\n  /**\n   * A space-delimited list of media types from which an `Accept` header may be constructed.\n   * @type {string}\n   * @memberof JobCollection\n   */\n  accept?: string;\n  /**\n   * The links that apply to the collection.\n   * @type {Array<Link>}\n   * @memberof JobCollection\n   */\n  links?: Array<Link>;\n  /**\n   * The version number of the collection representation. This representation is version 2.\n   * @type {number}\n   * @memberof JobCollection\n   */\n  version?: number;\n  /**\n   * Specifies an array that contains job resources.\n   * @type {Array<Job>}\n   * @memberof JobCollection\n   */\n  items: Array<Job>;\n}\n/**\n *\n * @export\n * @interface JobCollectionAllOf\n */\nexport interface JobCollectionAllOf {\n  /**\n   * Specifies an array that contains job resources.\n   * @type {Array<Job>}\n   * @memberof JobCollectionAllOf\n   */\n  items: Array<Job>;\n}\n/**\n * Provides a collection of line objects that comprise the output for a job.\n * @export\n * @interface JobListingCollection\n */\nexport interface JobListingCollection {\n  /**\n   * The name of the collection.\n   * @type {string}\n   * @memberof JobListingCollection\n   */\n  name?: string;\n  /**\n   * The zero-based index of the first item in the collection.\n   * @type {number}\n   * @memberof JobListingCollection\n   */\n  start?: number;\n  /**\n   * The number of items that were requested for the collection.\n   * @type {number}\n   * @memberof JobListingCollection\n   */\n  limit?: number;\n  /**\n   * If populated indicates the number of items in the collection.\n   * @type {number}\n   * @memberof JobListingCollection\n   */\n  count?: number;\n  /**\n   * A space-delimited list of media types from which an `Accept` header may be constructed.\n   * @type {string}\n   * @memberof JobListingCollection\n   */\n  accept?: string;\n  /**\n   * The links that apply to the collection.\n   * @type {Array<Link>}\n   * @memberof JobListingCollection\n   */\n  links?: Array<Link>;\n  /**\n   * The version number of the collection representation. This representation is version 2.\n   * @type {number}\n   * @memberof JobListingCollection\n   */\n  version?: number;\n  /**\n   * Specifies an array that contains listing lines from a job.\n   * @type {Array<LogLine>}\n   * @memberof JobListingCollection\n   */\n  items: Array<LogLine>;\n}\n/**\n *\n * @export\n * @interface JobListingCollectionAllOf\n */\nexport interface JobListingCollectionAllOf {\n  /**\n   * Specifies an array that contains listing lines from a job.\n   * @type {Array<LogLine>}\n   * @memberof JobListingCollectionAllOf\n   */\n  items: Array<LogLine>;\n}\n/**\n * Provides a collection of line objects that comprise the log for a job.\n * @export\n * @interface JobLogCollection\n */\nexport interface JobLogCollection {\n  /**\n   * The name of the collection.\n   * @type {string}\n   * @memberof JobLogCollection\n   */\n  name?: string;\n  /**\n   * The zero-based index of the first item in the collection.\n   * @type {number}\n   * @memberof JobLogCollection\n   */\n  start?: number;\n  /**\n   * The number of items that were requested for the collection.\n   * @type {number}\n   * @memberof JobLogCollection\n   */\n  limit?: number;\n  /**\n   * If populated indicates the number of items in the collection.\n   * @type {number}\n   * @memberof JobLogCollection\n   */\n  count?: number;\n  /**\n   * A space-delimited list of media types from which an `Accept` header may be constructed.\n   * @type {string}\n   * @memberof JobLogCollection\n   */\n  accept?: string;\n  /**\n   * The links that apply to the collection.\n   * @type {Array<Link>}\n   * @memberof JobLogCollection\n   */\n  links?: Array<Link>;\n  /**\n   * The version number of the collection representation. This representation is version 2.\n   * @type {number}\n   * @memberof JobLogCollection\n   */\n  version?: number;\n  /**\n   * Specifies an array that contains log lines from a job.\n   * @type {Array<LogLine>}\n   * @memberof JobLogCollection\n   */\n  items: Array<LogLine>;\n}\n/**\n *\n * @export\n * @interface JobLogCollectionAllOf\n */\nexport interface JobLogCollectionAllOf {\n  /**\n   * Specifies an array that contains log lines from a job.\n   * @type {Array<LogLine>}\n   * @memberof JobLogCollectionAllOf\n   */\n  items: Array<LogLine>;\n}\n/**\n * Provides an object that you use to request a new job in a Compute session.\n * @export\n * @interface JobRequest\n */\nexport interface JobRequest {\n  /**\n   * Specifies the version number of this representation schema. This is version 3.\n   * @type {number}\n   * @memberof JobRequest\n   */\n  version?: number;\n  /**\n   * Specifies an optional name that is associated with this job.\n   * @type {string}\n   * @memberof JobRequest\n   */\n  name?: string;\n  /**\n   * Specifies an optional description for this job.\n   * @type {string}\n   * @memberof JobRequest\n   */\n  description?: string;\n  /**\n   *\n   * @type {Environment}\n   * @memberof JobRequest\n   */\n  environment?: Environment;\n  /**\n   * Specifies input variables for this request.\n   * @type {{ [key: string]: string; }}\n   * @memberof JobRequest\n   */\n  variables?: { [key: string]: string };\n  /**\n   *\n   * @type {Array<string>}\n   * @memberof JobRequest\n   */\n  code?: Array<string>;\n  /**\n   * Specifies a URI path to a resource reference from the Files service. You must specify code or codeUri.\n   * @type {string}\n   * @memberof JobRequest\n   */\n  codeUri?: string;\n  /**\n   * Specifies the resources that are requested for this job.\n   * @type {Array<Resource>}\n   * @memberof JobRequest\n   */\n  resources?: Array<Resource>;\n  /**\n   * Specifies the attributes that modify the behavior of this job request. See example for details. Support for these attributes was added in version 2.\n   * @type {object}\n   * @memberof JobRequest\n   */\n  attributes?: object;\n}\n/**\n * Provides performance data for a job.\n * @export\n * @interface JobStatistics\n */\nexport interface JobStatistics {\n  /**\n   * Specifies the elapsed CPU time that is related to the system.\n   * @type {number}\n   * @memberof JobStatistics\n   */\n  systemCpuTime?: number;\n  /**\n   * Specifies the elapsed CPU time that is related to user tasks.\n   * @type {number}\n   * @memberof JobStatistics\n   */\n  userCpuTime?: number;\n}\n/**\n * Describes a SAS libref.\n * @export\n * @interface Library\n */\nexport interface Library {\n  /**\n   * Specifies the version number of this representation schema. This is version 2.\n   * @type {number}\n   * @memberof Library\n   */\n  version?: number;\n  /**\n   * Specifies the identifier for this library. This value is the same as the specified libref at assignment.\n   * @type {string}\n   * @memberof Library\n   */\n  id?: string;\n  /**\n   * Specifies the number of concatenated libraries, if any are concatenated.\n   * @type {number}\n   * @memberof Library\n   */\n  concatenationCount?: number;\n  /**\n   * Specifies the information about the concatenated members, if any are concatenated.\n   * @type {Array<Concatenation>}\n   * @memberof Library\n   */\n  concatenations?: Array<Concatenation>;\n  /**\n   * Specifies the name of the engine that is used with this library.\n   * @type {string}\n   * @memberof Library\n   */\n  engineName?: string;\n  /**\n   * Specifies the identifier of the format for this library.\n   * @type {string}\n   * @memberof Library\n   */\n  fileFormat?: string;\n  /**\n   * Specifies the flags that were used when the library was created.\n   * @type {number}\n   * @memberof Library\n   */\n  flags?: number;\n  /**\n   * Specifies the name of the referenced library.\n   * @type {string}\n   * @memberof Library\n   */\n  libref?: string;\n  /**\n   * Specifies the name of the library resource.\n   * @type {string}\n   * @memberof Library\n   */\n  name?: string;\n  /**\n   * Specifies the options that were used to create this library.\n   * @type {string}\n   * @memberof Library\n   */\n  options?: string;\n  /**\n   * Specifies the resolved location of this library.\n   * @type {string}\n   * @memberof Library\n   */\n  physicalName?: string;\n  /**\n   * Specifies whether the library is read only.\n   * @type {boolean}\n   * @memberof Library\n   */\n  readOnly?: boolean;\n  /**\n   * Specifies links that apply to this library.\n   * @type {Array<Link>}\n   * @memberof Library\n   */\n  links?: Array<Link>;\n}\n/**\n * Assigns a new library or libref.\n * @export\n * @interface LibraryRequest\n */\nexport interface LibraryRequest {\n  /**\n   * Specifies the version number of this representation schema. This is version 1.\n   * @type {number}\n   * @memberof LibraryRequest\n   */\n  version?: number;\n  /**\n   * Specifies the name of the library to assign.\n   * @type {string}\n   * @memberof LibraryRequest\n   */\n  name: string;\n  /**\n   * Specifies the engine to use with this library.\n   * @type {string}\n   * @memberof LibraryRequest\n   */\n  engine: string;\n  /**\n   * Specifies the engine-specific path information for this library.\n   * @type {string}\n   * @memberof LibraryRequest\n   */\n  path: string;\n  /**\n   * Specifies options that the engine uses.\n   * @type {Array<string>}\n   * @memberof LibraryRequest\n   */\n  options?: Array<string>;\n}\n/**\n * Summarizes a SAS libref.\n * @export\n * @interface LibrarySummary\n */\nexport interface LibrarySummary {\n  /**\n   * The version number of this representation schema.  This is version 2.\n   * @type {number}\n   * @memberof LibrarySummary\n   */\n  version?: number;\n  /**\n   * Specifies the identifier for this library summary object. This is currently the same as the libref given at assignment time.\n   * @type {string}\n   * @memberof LibrarySummary\n   */\n  id?: string;\n  /**\n   * Specifies the name of this library summary.\n   * @type {string}\n   * @memberof LibrarySummary\n   */\n  name?: string;\n  /**\n   * Specifies links that apply to this library summary.\n   * @type {Array<Link>}\n   * @memberof LibrarySummary\n   */\n  links?: Array<Link>;\n}\n/**\n * Provides a collection of library summaries.\n * @export\n * @interface LibrarySummaryCollection\n */\nexport interface LibrarySummaryCollection {\n  /**\n   * The name of the collection.\n   * @type {string}\n   * @memberof LibrarySummaryCollection\n   */\n  name?: string;\n  /**\n   * The zero-based index of the first item in the collection.\n   * @type {number}\n   * @memberof LibrarySummaryCollection\n   */\n  start?: number;\n  /**\n   * The number of items that were requested for the collection.\n   * @type {number}\n   * @memberof LibrarySummaryCollection\n   */\n  limit?: number;\n  /**\n   * If populated indicates the number of items in the collection.\n   * @type {number}\n   * @memberof LibrarySummaryCollection\n   */\n  count?: number;\n  /**\n   * A space-delimited list of media types from which an `Accept` header may be constructed.\n   * @type {string}\n   * @memberof LibrarySummaryCollection\n   */\n  accept?: string;\n  /**\n   * The links that apply to the collection.\n   * @type {Array<Link>}\n   * @memberof LibrarySummaryCollection\n   */\n  links?: Array<Link>;\n  /**\n   * The version number of the collection representation. This representation is version 2.\n   * @type {number}\n   * @memberof LibrarySummaryCollection\n   */\n  version?: number;\n  /**\n   * Specifies an array that contains library summary resources.\n   * @type {Array<LibrarySummary>}\n   * @memberof LibrarySummaryCollection\n   */\n  items: Array<LibrarySummary>;\n}\n/**\n *\n * @export\n * @interface LibrarySummaryCollectionAllOf\n */\nexport interface LibrarySummaryCollectionAllOf {\n  /**\n   * Specifies an array that contains library summary resources.\n   * @type {Array<LibrarySummary>}\n   * @memberof LibrarySummaryCollectionAllOf\n   */\n  items: Array<LibrarySummary>;\n}\n/**\n * A link to a related operation or resource.\n * @export\n * @interface Link\n */\nexport interface Link {\n  /**\n   * The HTTP method for the link.\n   * @type {string}\n   * @memberof Link\n   */\n  method?: string;\n  /**\n   * The relationship of the link to the resource.\n   * @type {string}\n   * @memberof Link\n   */\n  rel: string;\n  /**\n   * The relative URI for the link.\n   * @type {string}\n   * @memberof Link\n   */\n  uri?: string;\n  /**\n   * The URL for the link.\n   * @type {string}\n   * @memberof Link\n   */\n  href?: string;\n  /**\n   * The title for the link.\n   * @type {string}\n   * @memberof Link\n   */\n  title?: string;\n  /**\n   * The media type or link type for the link.\n   * @type {string}\n   * @memberof Link\n   */\n  type?: string;\n  /**\n   * If this is a link to a container, `itemType` is the media type or link type for the items in the container.\n   * @type {string}\n   * @memberof Link\n   */\n  itemType?: string;\n  /**\n   * The media type or link type of the response body for a `PUT`, `POST`, or `PATCH` operation.\n   * @type {string}\n   * @memberof Link\n   */\n  responseType?: string;\n  /**\n   * The media type or link type of the items in the response body for a `PUT`, `POST`, or `PATCH` operation.\n   * @type {string}\n   * @memberof Link\n   */\n  responseItemType?: string;\n}\n/**\n * Provides information about the output for a session or job.\n * @export\n * @interface ListingStatistics\n */\nexport interface ListingStatistics {\n  /**\n   * Specifies the number of lines in the specified listing.\n   * @type {number}\n   * @memberof ListingStatistics\n   */\n  lineCount?: number;\n  /**\n   * Specifies the timestamp when the listing information was last updated.\n   * @type {string}\n   * @memberof ListingStatistics\n   */\n  modifiedTimeStamp?: string;\n}\n/**\n * Provides an individual line from a log or listing resource.\n * @export\n * @interface LogLine\n */\nexport interface LogLine {\n  /**\n   * Specifies the version number of this representation schema. This is version 1.\n   * @type {number}\n   * @memberof LogLine\n   */\n  version?: number;\n  /**\n   * Specifies the line entry classification.\n   * @type {string}\n   * @memberof LogLine\n   */\n  type: LogLineTypeEnum;\n  /**\n   * Specifies the line of text without the type (classification) prefix marker.\n   * @type {string}\n   * @memberof LogLine\n   */\n  line: string;\n}\n\nexport const LogLineTypeEnum = {\n  Normal: \"normal\",\n  Hilighted: \"hilighted\",\n  Source: \"source\",\n  Title: \"title\",\n  Byline: \"byline\",\n  Footnote: \"footnote\",\n  Error: \"error\",\n  Warning: \"warning\",\n  Note: \"note\",\n  Message: \"message\",\n} as const;\n\nexport type LogLineTypeEnum =\n  (typeof LogLineTypeEnum)[keyof typeof LogLineTypeEnum];\n\n/**\n * Provides information about the log for a session or a job.\n * @export\n * @interface LogStatistics\n */\nexport interface LogStatistics {\n  /**\n   * Specifies the number of lines in the specified log.\n   * @type {number}\n   * @memberof LogStatistics\n   */\n  lineCount?: number;\n  /**\n   * Specifies the timestamp when the log information was last updated.\n   * @type {string}\n   * @memberof LogStatistics\n   */\n  modifiedTimeStamp?: string;\n}\n/**\n * Requests that session or job log or listing output be uploaded to the Files service.\n * @export\n * @interface OutputStreamFileRequest\n */\nexport interface OutputStreamFileRequest {\n  /**\n   * Specifies the version number of this representation schema. This is version 1.\n   * @type {number}\n   * @memberof OutputStreamFileRequest\n   */\n  version?: number;\n  /**\n   * Specifies the attributes that modify the behavior of this stream request. See example for details.\n   * @type {object}\n   * @memberof OutputStreamFileRequest\n   */\n  attributes?: object;\n}\n/**\n * Provides data from a table for use in building prompts\n * @export\n * @interface PromptContent\n */\nexport interface PromptContent {\n  /**\n   * Specifies the version number of this representation schema. This is version 1.\n   * @type {number}\n   * @memberof PromptContent\n   */\n  version?: number;\n  /**\n   * Specifies the level of column information that is returned.  Values are names (default), detail, or summary.\n   * @type {string}\n   * @memberof PromptContent\n   */\n  columnDetail?: string;\n  /**\n   * Specifies column information for the prompt content.\n   * @type {Array<string>}\n   * @memberof PromptContent\n   */\n  columns?: Array<string>;\n  /**\n   * Specifies the formatted and raw data for the cells in this row.\n   * @type {Array<FormatSummary>}\n   * @memberof PromptContent\n   */\n  rows?: Array<FormatSummary>;\n  /**\n   * Specifies the start index of the returned rows.\n   * @type {number}\n   * @memberof PromptContent\n   */\n  start?: number;\n  /**\n   * Specifies links that apply to this prompt content.\n   * @type {Array<Link>}\n   * @memberof PromptContent\n   */\n  links?: Array<Link>;\n}\n/**\n * Provides a request that you can use to build prompt content based on a given dataset.\n * @export\n * @interface PromptContentRequest\n */\nexport interface PromptContentRequest {\n  /**\n   * Specifies the version number of this representation schema. This is version 1.\n   * @type {number}\n   * @memberof PromptContentRequest\n   */\n  version?: number;\n  /**\n   * Specifies that a standard SAS WHERE clause was used to build the content for this request.\n   * @type {string}\n   * @memberof PromptContentRequest\n   */\n  where?: string;\n  /**\n   *\n   * @type {FileProtection}\n   * @memberof PromptContentRequest\n   */\n  fileProtection?: FileProtection;\n  /**\n   * Specifies the encoding for the password values in the fileProtection structure. If the value is \\\"base64\\\", then the password values in the fileProtection structure should be encoded by converting the text to UTF-8 and base64-encoding the result. If no value is provided, then the password values of the fileProtection structure are expected to be clear text.\n   * @type {string}\n   * @memberof PromptContentRequest\n   */\n  fileProtectionEncoding?: string;\n  /**\n   * Specifies the level of column information to return.\n   * @type {string}\n   * @memberof PromptContentRequest\n   */\n  columnDetail?: PromptContentRequestColumnDetailEnum;\n  /**\n   * Specifies an array of strings that indicate the columns to include in the returned content. If you do not specify a value, then all columns are returned. The order of the column names in the list indicates the order for the cells of the prompt content.\n   * @type {Array<string>}\n   * @memberof PromptContentRequest\n   */\n  includeColumns?: Array<string>;\n  /**\n   * When includeColumns is specified, a value of true for columnNatrualOrder specifies that the cells of the prompt content are returned in the order in which they occur in the data set instead of in the order that is specified by includeColumns.\n   * @type {boolean}\n   * @memberof PromptContentRequest\n   */\n  columnNaturalOrder?: boolean;\n  /**\n   * Specifies an array of objects that describe the sort definitions to use in the prompt content.\n   * @type {Array<SortByRequest>}\n   * @memberof PromptContentRequest\n   */\n  sortBy?: Array<SortByRequest>;\n  /**\n   *\n   * @type {Array<ColumnFormatting>}\n   * @memberof PromptContentRequest\n   */\n  columnFormatting?: Array<ColumnFormatting>;\n}\n\nexport const PromptContentRequestColumnDetailEnum = {\n  Names: \"names\",\n  Detail: \"detail\",\n  Summary: \"summary\",\n} as const;\n\nexport type PromptContentRequestColumnDetailEnum =\n  (typeof PromptContentRequestColumnDetailEnum)[keyof typeof PromptContentRequestColumnDetailEnum];\n\n/**\n * Contains the formatted and raw row data for prompt content\n * @export\n * @interface PromptContentRowData\n */\nexport interface PromptContentRowData {\n  /**\n   * Formatted cells of the given row\n   * @type {Array<object>}\n   * @memberof PromptContentRowData\n   */\n  formatted?: Array<object>;\n  /**\n   * Raw, unformatted cells of the given row\n   * @type {Array<object>}\n   * @memberof PromptContentRowData\n   */\n  raw?: Array<object>;\n}\n/**\n * Provides information about a resource from a different service that can be referenced by the Compute service.\n * @export\n * @interface Resource\n */\nexport interface Resource {\n  /**\n   * Specifies the name for the resource. This name can be used to reference this resource on the server. The value of the name is limited to 40 characters. The value must be unique within a context.\n   * @type {string}\n   * @memberof Resource\n   */\n  name: string;\n  /**\n   * Specifies the URI path to the resource. The URI path contains information about how to access the resource under the services base URL. The value of the URI is limited to 500 characters.\n   * @type {string}\n   * @memberof Resource\n   */\n  uri: string;\n  /**\n   * Specifies the type of resource that is referenced in this item. The value of the type is limited to 100 characters.\n   * @type {string}\n   * @memberof Resource\n   */\n  type: string;\n  /**\n   * Specifies whether the resource can be referenced in the output or results of a session or job.\n   * @type {boolean}\n   * @memberof Resource\n   */\n  output?: boolean;\n  /**\n   * Specifies the scope of the resource. If a resource is specified for a job and the resource has JOB scope, then the resource is deleted or deassigned at the end of the job.\n   * @type {string}\n   * @memberof Resource\n   */\n  scope?: ResourceScopeEnum;\n  /**\n   * Specifies the options to add to the resource for the creation or assignment of an internal SAS component that is created based on type.\n   * @type {object}\n   * @memberof Resource\n   */\n  options?: object;\n  /**\n   * Specifies whether a resource is required. If a required resource cannot be instantiated by the session or job, then that session or job is considered to have failed.\n   * @type {boolean}\n   * @memberof Resource\n   */\n  required?: boolean;\n  /**\n   * Specifies the attributes for the resource. Support for resource attributes was added in version 3 for contexts, context requests, and job requests, and in version 2 for session requests.\n   * @type {object}\n   * @memberof Resource\n   */\n  attributes?: object;\n}\n\nexport const ResourceScopeEnum = {\n  Session: \"SESSION\",\n  Job: \"JOB\",\n} as const;\n\nexport type ResourceScopeEnum =\n  (typeof ResourceScopeEnum)[keyof typeof ResourceScopeEnum];\n\n/**\n * Provides a result that was created by a job and that is available for use by a consumer of a service.\n * @export\n * @interface Result\n */\nexport interface Result {\n  /**\n   * Specifies the identifier for this result item.\n   * @type {string}\n   * @memberof Result\n   */\n  id?: string;\n  /**\n   * Specifies the human readable name of the result item.\n   * @type {string}\n   * @memberof Result\n   */\n  name?: string;\n  /**\n   * Specifies the type of output that is generated for this result.\n   * @type {string}\n   * @memberof Result\n   */\n  type?: ResultTypeEnum;\n  /**\n   * Specifies links that apply to this result.\n   * @type {Array<Link>}\n   * @memberof Result\n   */\n  links?: Array<Link>;\n}\n\nexport const ResultTypeEnum = {\n  Library: \"LIBRARY\",\n  Table: \"TABLE\",\n  File: \"FILE\",\n  Ods: \"ODS\",\n} as const;\n\nexport type ResultTypeEnum =\n  (typeof ResultTypeEnum)[keyof typeof ResultTypeEnum];\n\n/**\n * Provides a paginated collection of result objects.\n * @export\n * @interface ResultCollection\n */\nexport interface ResultCollection {\n  /**\n   * The name of the collection.\n   * @type {string}\n   * @memberof ResultCollection\n   */\n  name?: string;\n  /**\n   * The zero-based index of the first item in the collection.\n   * @type {number}\n   * @memberof ResultCollection\n   */\n  start?: number;\n  /**\n   * The number of items that were requested for the collection.\n   * @type {number}\n   * @memberof ResultCollection\n   */\n  limit?: number;\n  /**\n   * If populated indicates the number of items in the collection.\n   * @type {number}\n   * @memberof ResultCollection\n   */\n  count?: number;\n  /**\n   * A space-delimited list of media types from which an `Accept` header may be constructed.\n   * @type {string}\n   * @memberof ResultCollection\n   */\n  accept?: string;\n  /**\n   * The links that apply to the collection.\n   * @type {Array<Link>}\n   * @memberof ResultCollection\n   */\n  links?: Array<Link>;\n  /**\n   * The version number of the collection representation. This representation is version 2.\n   * @type {number}\n   * @memberof ResultCollection\n   */\n  version?: number;\n  /**\n   * Specifies an array that contains results.\n   * @type {Array<Result>}\n   * @memberof ResultCollection\n   */\n  items: Array<Result>;\n}\n/**\n *\n * @export\n * @interface ResultCollectionAllOf\n */\nexport interface ResultCollectionAllOf {\n  /**\n   * Specifies an array that contains results.\n   * @type {Array<Result>}\n   * @memberof ResultCollectionAllOf\n   */\n  items: Array<Result>;\n}\n/**\n * Provides data from a row of a table.\n * @export\n * @interface Row\n */\nexport interface Row {\n  /**\n   * Specifies values for the data cells in this row.\n   * @type {Array<any>}\n   * @memberof Row\n   */\n  cells?: Array<any>;\n}\n/**\n * Provides a paginated collection of table rows.\n * @export\n * @interface RowCollection\n */\nexport interface RowCollection {\n  /**\n   * The name of the collection.\n   * @type {string}\n   * @memberof RowCollection\n   */\n  name?: string;\n  /**\n   * The zero-based index of the first item in the collection.\n   * @type {number}\n   * @memberof RowCollection\n   */\n  start?: number;\n  /**\n   * The number of items that were requested for the collection.\n   * @type {number}\n   * @memberof RowCollection\n   */\n  limit?: number;\n  /**\n   * If populated indicates the number of items in the collection.\n   * @type {number}\n   * @memberof RowCollection\n   */\n  count?: number;\n  /**\n   * A space-delimited list of media types from which an `Accept` header may be constructed.\n   * @type {string}\n   * @memberof RowCollection\n   */\n  accept?: string;\n  /**\n   * The links that apply to the collection.\n   * @type {Array<Link>}\n   * @memberof RowCollection\n   */\n  links?: Array<Link>;\n  /**\n   * The version number of the collection representation. This representation is version 2.\n   * @type {number}\n   * @memberof RowCollection\n   */\n  version?: number;\n  /**\n   * Specifies an array that contains row resources.\n   * @type {Array<Row>}\n   * @memberof RowCollection\n   */\n  items: Array<Row>;\n}\n/**\n *\n * @export\n * @interface RowCollectionAllOf\n */\nexport interface RowCollectionAllOf {\n  /**\n   * Specifies an array that contains row resources.\n   * @type {Array<Row>}\n   * @memberof RowCollectionAllOf\n   */\n  items: Array<Row>;\n}\n/**\n * Provides data from a table in row set formation.\n * @export\n * @interface RowSet\n */\nexport interface RowSet {\n  /**\n   * Specifies the version number of this representation schema. This is version 1.\n   * @type {number}\n   * @memberof RowSet\n   */\n  version?: number;\n  /**\n   * Specifies the level of column information that is returned. Values are names (default), detail, or summary.\n   * @type {string}\n   * @memberof RowSet\n   */\n  columnDetail?: string;\n  /**\n   * Specifies column information for the row set.\n   * @type {Array<string>}\n   * @memberof RowSet\n   */\n  columns?: Array<string>;\n  /**\n   * Specifies the values for the data cells in this row.\n   * @type {Array<Array<any>>}\n   * @memberof RowSet\n   */\n  rows?: Array<Array<any>>;\n  /**\n   * Specifies the start index of the returned rows.\n   * @type {number}\n   * @memberof RowSet\n   */\n  start?: number;\n  /**\n   * Specifies links that apply to this row set.\n   * @type {Array<Link>}\n   * @memberof RowSet\n   */\n  links?: Array<Link>;\n}\n/**\n * Provides a request that you can use to generate a row set.\n * @export\n * @interface RowSetRequest\n */\nexport interface RowSetRequest {\n  /**\n   * Specifies the version number of this representation schema. This is version 3.\n   * @type {number}\n   * @memberof RowSetRequest\n   */\n  version?: number;\n  /**\n   * Specifies that a standard SAS WHERE clause was used to build the row set for this request.\n   * @type {string}\n   * @memberof RowSetRequest\n   */\n  where?: string;\n  /**\n   *\n   * @type {FileProtection}\n   * @memberof RowSetRequest\n   */\n  fileProtection?: FileProtection;\n  /**\n   * Specifies the encoding for the password values in the fileProtection structure. If the value is \\\"base64\\\", then the password values in the fileProtection structure should be encoded by converting the text to UTF-8 and base64-encoding the result. If no value is provided, then the password values of the fileProtection structure are expected to be clear text.\n   * @type {string}\n   * @memberof RowSetRequest\n   */\n  fileProtectionEncoding?: string;\n  /**\n   * Specifies the level of column information to return.\n   * @type {string}\n   * @memberof RowSetRequest\n   */\n  columnDetail?: RowSetRequestColumnDetailEnum;\n  /**\n   * Specifies an array of strings that indicate the columns to include in a row set. If you do not specify a value, then all columns are returned. The order of the column names in the list indicates the order for the cells of the row set.\n   * @type {Array<string>}\n   * @memberof RowSetRequest\n   */\n  includeColumns?: Array<string>;\n  /**\n   * When includeColumns is specified, a value of true for columnNatrualOrder specifies that the cells of the row set are returned in the order in which they occur in the data set instead of in the order that is specified by includeColumns.\n   * @type {boolean}\n   * @memberof RowSetRequest\n   */\n  columnNaturalOrder?: boolean;\n  /**\n   * Specifies an array of objects that describe the sort definitions to use in this row set.\n   * @type {Array<SortByRequest>}\n   * @memberof RowSetRequest\n   */\n  sortBy?: Array<SortByRequest>;\n  /**\n   *\n   * @type {Array<ColumnFormatting>}\n   * @memberof RowSetRequest\n   */\n  columnFormatting?: Array<ColumnFormatting>;\n}\n\nexport const RowSetRequestColumnDetailEnum = {\n  Names: \"names\",\n  Detail: \"detail\",\n  Summary: \"summary\",\n} as const;\n\nexport type RowSetRequestColumnDetailEnum =\n  (typeof RowSetRequestColumnDetailEnum)[keyof typeof RowSetRequestColumnDetailEnum];\n\n/**\n * Provides a request that you can use to obtain rows from a table or data set.\n * @export\n * @interface RowsRequest\n */\nexport interface RowsRequest {\n  /**\n   * Specifies the version number of this representation schema. This is version 3.\n   * @type {number}\n   * @memberof RowsRequest\n   */\n  version?: number;\n  /**\n   * Specifies that a standard SAS WHERE clause was used to return the rows for this request.\n   * @type {string}\n   * @memberof RowsRequest\n   */\n  where?: string;\n  /**\n   *\n   * @type {FileProtection}\n   * @memberof RowsRequest\n   */\n  fileProtection?: FileProtection;\n  /**\n   * Specifies the encoding for the password values in the fileProtection structure. If the value is \\\"base64\\\", then the password values in the fileProtection structure should be encoded by converting the text to UTF-8 and base64-encoding the result. If no value is provided, then the password values of the fileProtection structure are expected to be clear text.\n   * @type {string}\n   * @memberof RowsRequest\n   */\n  fileProtectionEncoding?: string;\n  /**\n   * Specifies the formatting to be used for specified columns.\n   * @type {Array<ColumnFormatting>}\n   * @memberof RowsRequest\n   */\n  columnFormatting?: Array<ColumnFormatting>;\n}\n/**\n * Provides a running SAS Compute Server process.\n * @export\n * @interface Server\n */\nexport interface Server {\n  /**\n   * Specifies the version number of this representation schema. This is version 2.\n   * @type {number}\n   * @memberof Server\n   */\n  version?: number;\n  /**\n   * Specifies an optional name that is associated with this server.\n   * @type {string}\n   * @memberof Server\n   */\n  name?: string;\n  /**\n   * Specifies an optional description for this server.\n   * @type {string}\n   * @memberof Server\n   */\n  description?: string;\n  /**\n   * Specifies the timestamp when the server was created.\n   * @type {string}\n   * @memberof Server\n   */\n  creationTimeStamp?: string;\n  /**\n   * Specifies the user ID that created the server.\n   * @type {string}\n   * @memberof Server\n   */\n  createdBy?: string;\n  /**\n   * Specifies the identifier for this server.\n   * @type {string}\n   * @memberof Server\n   */\n  id?: string;\n  /**\n   * Specifies the current state of this server. The current value is running.\n   * @type {string}\n   * @memberof Server\n   */\n  state?: string;\n  /**\n   * Specifies the links that apply to this server.\n   * @type {Array<Link>}\n   * @memberof Server\n   */\n  links?: Array<Link>;\n}\n/**\n * Provides a summary of a SAS Compute Server process that is currently running.\n * @export\n * @interface ServerSummary\n */\nexport interface ServerSummary {\n  /**\n   * Specifies the version number of this representation schema. This is version 1.\n   * @type {number}\n   * @memberof ServerSummary\n   */\n  version?: number;\n  /**\n   * Specifies the identifier of this server.\n   * @type {string}\n   * @memberof ServerSummary\n   */\n  id?: string;\n  /**\n   * Specifies the links that apply to this server.\n   * @type {Array<Link>}\n   * @memberof ServerSummary\n   */\n  links?: Array<Link>;\n}\n/**\n * Provides a paginated collection of server summary objects.\n * @export\n * @interface ServerSummaryCollection\n */\nexport interface ServerSummaryCollection {\n  /**\n   * The name of the collection.\n   * @type {string}\n   * @memberof ServerSummaryCollection\n   */\n  name?: string;\n  /**\n   * The zero-based index of the first item in the collection.\n   * @type {number}\n   * @memberof ServerSummaryCollection\n   */\n  start?: number;\n  /**\n   * The number of items that were requested for the collection.\n   * @type {number}\n   * @memberof ServerSummaryCollection\n   */\n  limit?: number;\n  /**\n   * If populated indicates the number of items in the collection.\n   * @type {number}\n   * @memberof ServerSummaryCollection\n   */\n  count?: number;\n  /**\n   * A space-delimited list of media types from which an `Accept` header may be constructed.\n   * @type {string}\n   * @memberof ServerSummaryCollection\n   */\n  accept?: string;\n  /**\n   * The links that apply to the collection.\n   * @type {Array<Link>}\n   * @memberof ServerSummaryCollection\n   */\n  links?: Array<Link>;\n  /**\n   * The version number of the collection representation. This representation is version 2.\n   * @type {number}\n   * @memberof ServerSummaryCollection\n   */\n  version?: number;\n  /**\n   * Specifies the array that contains resource information about the server summary.\n   * @type {Array<ServerSummary>}\n   * @memberof ServerSummaryCollection\n   */\n  items: Array<ServerSummary>;\n}\n/**\n *\n * @export\n * @interface ServerSummaryCollectionAllOf\n */\nexport interface ServerSummaryCollectionAllOf {\n  /**\n   * Specifies the array that contains resource information about the server summary.\n   * @type {Array<ServerSummary>}\n   * @memberof ServerSummaryCollectionAllOf\n   */\n  items: Array<ServerSummary>;\n}\n/**\n * Provides a Compute session object.\n * @export\n * @interface Session\n */\nexport interface Session {\n  /**\n   * Specifies the version number of this representation schema. This is version 2.\n   * @type {number}\n   * @memberof Session\n   */\n  version?: number;\n  /**\n   * Specifies an optional name that is associated with this session.\n   * @type {string}\n   * @memberof Session\n   */\n  name?: string;\n  /**\n   * Specifies an optional description for this session.\n   * @type {string}\n   * @memberof Session\n   */\n  description?: string;\n  /**\n   * Specifies attributes that were defined when the session was requested.\n   * @type {object}\n   * @memberof Session\n   */\n  attributes?: object;\n  /**\n   * Specifies the timestamp when the session was created.\n   * @type {string}\n   * @memberof Session\n   */\n  creationTimeStamp?: string;\n  /**\n   * Specifies the user Id of the owner of this session.\n   * @type {string}\n   * @memberof Session\n   */\n  owner?: string;\n  /**\n   * Specifies the identifier for this session, as determined by the server.\n   * @type {string}\n   * @memberof Session\n   */\n  id?: string;\n  /**\n   * Specifies the identifier of the server that this session belongs to.\n   * @type {string}\n   * @memberof Session\n   */\n  serverId?: string;\n  /**\n   * Specifies the current state of this session. Here are the possible values: completed, failed, running, idle, pending, or stopped.\n   * @type {string}\n   * @memberof Session\n   */\n  state?: string;\n  /**\n   * Specifies the condition code for this session. This is set to the highest value of any jobConditionCode for jobs that executed in the session.\n   * @type {number}\n   * @memberof Session\n   */\n  sessionConditionCode?: number;\n  /**\n   *\n   * @type {LogStatistics}\n   * @memberof Session\n   */\n  logStatistics?: LogStatistics;\n  /**\n   *\n   * @type {ListingStatistics}\n   * @memberof Session\n   */\n  listingStatistics?: ListingStatistics;\n  /**\n   *\n   * @type {SessionStatistics}\n   * @memberof Session\n   */\n  sessionStatistics?: SessionStatistics;\n  /**\n   * Specifies the name of the application that requested this session.\n   * @type {string}\n   * @memberof Session\n   */\n  applicationName?: string;\n  /**\n   * The version of the service API that this session supports.\n   * @type {number}\n   * @memberof Session\n   */\n  serviceAPIVersion?: number;\n  /**\n   * Specifies links that apply to this session.\n   * @type {Array<Link>}\n   * @memberof Session\n   */\n  links?: Array<Link>;\n}\n/**\n * Provides a collection of line objects that comprise the output for a session.\n * @export\n * @interface SessionListingCollection\n */\nexport interface SessionListingCollection {\n  /**\n   * The name of the collection.\n   * @type {string}\n   * @memberof SessionListingCollection\n   */\n  name?: string;\n  /**\n   * The zero-based index of the first item in the collection.\n   * @type {number}\n   * @memberof SessionListingCollection\n   */\n  start?: number;\n  /**\n   * The number of items that were requested for the collection.\n   * @type {number}\n   * @memberof SessionListingCollection\n   */\n  limit?: number;\n  /**\n   * If populated indicates the number of items in the collection.\n   * @type {number}\n   * @memberof SessionListingCollection\n   */\n  count?: number;\n  /**\n   * A space-delimited list of media types from which an `Accept` header may be constructed.\n   * @type {string}\n   * @memberof SessionListingCollection\n   */\n  accept?: string;\n  /**\n   * The links that apply to the collection.\n   * @type {Array<Link>}\n   * @memberof SessionListingCollection\n   */\n  links?: Array<Link>;\n  /**\n   * The version number of the collection representation. This representation is version 2.\n   * @type {number}\n   * @memberof SessionListingCollection\n   */\n  version?: number;\n  /**\n   * Specifies an array that contains listing lines from a session.\n   * @type {Array<LogLine>}\n   * @memberof SessionListingCollection\n   */\n  items: Array<LogLine>;\n}\n/**\n *\n * @export\n * @interface SessionListingCollectionAllOf\n */\nexport interface SessionListingCollectionAllOf {\n  /**\n   * Specifies an array that contains listing lines from a session.\n   * @type {Array<LogLine>}\n   * @memberof SessionListingCollectionAllOf\n   */\n  items: Array<LogLine>;\n}\n/**\n * Provides a collection of line objects that comprise the log for a session.\n * @export\n * @interface SessionLogCollection\n */\nexport interface SessionLogCollection {\n  /**\n   * The name of the collection.\n   * @type {string}\n   * @memberof SessionLogCollection\n   */\n  name?: string;\n  /**\n   * The zero-based index of the first item in the collection.\n   * @type {number}\n   * @memberof SessionLogCollection\n   */\n  start?: number;\n  /**\n   * The number of items that were requested for the collection.\n   * @type {number}\n   * @memberof SessionLogCollection\n   */\n  limit?: number;\n  /**\n   * If populated indicates the number of items in the collection.\n   * @type {number}\n   * @memberof SessionLogCollection\n   */\n  count?: number;\n  /**\n   * A space-delimited list of media types from which an `Accept` header may be constructed.\n   * @type {string}\n   * @memberof SessionLogCollection\n   */\n  accept?: string;\n  /**\n   * The links that apply to the collection.\n   * @type {Array<Link>}\n   * @memberof SessionLogCollection\n   */\n  links?: Array<Link>;\n  /**\n   * The version number of the collection representation. This representation is version 2.\n   * @type {number}\n   * @memberof SessionLogCollection\n   */\n  version?: number;\n  /**\n   * Specifies an array that contains log lines from the session.\n   * @type {Array<LogLine>}\n   * @memberof SessionLogCollection\n   */\n  items: Array<LogLine>;\n}\n/**\n *\n * @export\n * @interface SessionLogCollectionAllOf\n */\nexport interface SessionLogCollectionAllOf {\n  /**\n   * Specifies an array that contains log lines from the session.\n   * @type {Array<LogLine>}\n   * @memberof SessionLogCollectionAllOf\n   */\n  items: Array<LogLine>;\n}\n/**\n * Specifies information about a SAS option that is used in the current session.\n * @export\n * @interface SessionOption\n */\nexport interface SessionOption {\n  /**\n   * Specifies the version number of this representation schema. This is version 1.\n   * @type {number}\n   * @memberof SessionOption\n   */\n  version?: number;\n  /**\n   * Specifies the name of the option.\n   * @type {string}\n   * @memberof SessionOption\n   */\n  name?: string;\n  /**\n   * Specifies the description of the option as defined in the system.\n   * @type {string}\n   * @memberof SessionOption\n   */\n  description?: string;\n  /**\n   * Specifies the current value of the option, if it is available.\n   * @type {string}\n   * @memberof SessionOption\n   */\n  value?: string;\n}\n/**\n * Provides an object that you use to request a new Compute session.\n * @export\n * @interface SessionRequest\n */\nexport interface SessionRequest {\n  /**\n   * Specifies the version number of this representation schema. This is version 2.\n   * @type {number}\n   * @memberof SessionRequest\n   */\n  version?: number;\n  /**\n   * Specifies an optional name that is associated with this session. The value of name is limited to 100 characters. The name is used for informational purposes only.\n   * @type {string}\n   * @memberof SessionRequest\n   */\n  name?: string;\n  /**\n   * Specifies an optional description for this session. The value of description is limited to 1000 characters.\n   * @type {string}\n   * @memberof SessionRequest\n   */\n  description?: string;\n  /**\n   * Specifies service-specific attributes that control the behavior of this session. See the example for details.\n   * @type {object}\n   * @memberof SessionRequest\n   */\n  attributes?: object;\n  /**\n   *\n   * @type {Environment}\n   * @memberof SessionRequest\n   */\n  environment?: Environment;\n  /**\n   * Specifies the resources that are requested for this session.\n   * @type {Array<Resource>}\n   * @memberof SessionRequest\n   */\n  resources?: Array<Resource>;\n}\n/**\n * Provides performance data for a session.\n * @export\n * @interface SessionStatistics\n */\nexport interface SessionStatistics {\n  /**\n   * Specifies the elapsed CPU time that is related to the system for a session.\n   * @type {number}\n   * @memberof SessionStatistics\n   */\n  systemCpuTime?: number;\n  /**\n   * Specifies the elapsed CPU time that is related to the user tasks for a session.\n   * @type {number}\n   * @memberof SessionStatistics\n   */\n  userCpuTime?: number;\n  /**\n   * Specifies the highest level of memory usage by the session.\n   * @type {number}\n   * @memberof SessionStatistics\n   */\n  memorySize?: number;\n}\n/**\n * Provides a Compute session summary object.\n * @export\n * @interface SessionSummary\n */\nexport interface SessionSummary {\n  /**\n   * Specifies the version number of this representation schema. This is version 2.\n   * @type {number}\n   * @memberof SessionSummary\n   */\n  version?: number;\n  /**\n   * Specifies an optional name that is associated with this session.\n   * @type {string}\n   * @memberof SessionSummary\n   */\n  name?: string;\n  /**\n   * Specifies an identifier for this session, as determined by the server.\n   * @type {string}\n   * @memberof SessionSummary\n   */\n  id?: string;\n  /**\n   * Specifies the user ID of the owner of this session.\n   * @type {string}\n   * @memberof SessionSummary\n   */\n  owner?: string;\n  /**\n   * Specifies links that apply to this session.\n   * @type {Array<Link>}\n   * @memberof SessionSummary\n   */\n  links?: Array<Link>;\n}\n/**\n * Provides a paginated collection of Compute session summaries.\n * @export\n * @interface SessionSummaryCollection\n */\nexport interface SessionSummaryCollection {\n  /**\n   * The name of the collection.\n   * @type {string}\n   * @memberof SessionSummaryCollection\n   */\n  name?: string;\n  /**\n   * The zero-based index of the first item in the collection.\n   * @type {number}\n   * @memberof SessionSummaryCollection\n   */\n  start?: number;\n  /**\n   * The number of items that were requested for the collection.\n   * @type {number}\n   * @memberof SessionSummaryCollection\n   */\n  limit?: number;\n  /**\n   * If populated indicates the number of items in the collection.\n   * @type {number}\n   * @memberof SessionSummaryCollection\n   */\n  count?: number;\n  /**\n   * A space-delimited list of media types from which an `Accept` header may be constructed.\n   * @type {string}\n   * @memberof SessionSummaryCollection\n   */\n  accept?: string;\n  /**\n   * The links that apply to the collection.\n   * @type {Array<Link>}\n   * @memberof SessionSummaryCollection\n   */\n  links?: Array<Link>;\n  /**\n   * The version number of the collection representation. This representation is version 2.\n   * @type {number}\n   * @memberof SessionSummaryCollection\n   */\n  version?: number;\n  /**\n   * Specifies an array that contains session summary resources.\n   * @type {Array<SessionSummary>}\n   * @memberof SessionSummaryCollection\n   */\n  items: Array<SessionSummary>;\n}\n/**\n *\n * @export\n * @interface SessionSummaryCollectionAllOf\n */\nexport interface SessionSummaryCollectionAllOf {\n  /**\n   * Specifies an array that contains session summary resources.\n   * @type {Array<SessionSummary>}\n   * @memberof SessionSummaryCollectionAllOf\n   */\n  items: Array<SessionSummary>;\n}\n/**\n * Provides a paginated collection of SAS macro variables.\n * @export\n * @interface SessionVariableCollection\n */\nexport interface SessionVariableCollection {\n  /**\n   * The name of the collection.\n   * @type {string}\n   * @memberof SessionVariableCollection\n   */\n  name?: string;\n  /**\n   * The zero-based index of the first item in the collection.\n   * @type {number}\n   * @memberof SessionVariableCollection\n   */\n  start?: number;\n  /**\n   * The number of items that were requested for the collection.\n   * @type {number}\n   * @memberof SessionVariableCollection\n   */\n  limit?: number;\n  /**\n   * If populated indicates the number of items in the collection.\n   * @type {number}\n   * @memberof SessionVariableCollection\n   */\n  count?: number;\n  /**\n   * A space-delimited list of media types from which an `Accept` header may be constructed.\n   * @type {string}\n   * @memberof SessionVariableCollection\n   */\n  accept?: string;\n  /**\n   * The links that apply to the collection.\n   * @type {Array<Link>}\n   * @memberof SessionVariableCollection\n   */\n  links?: Array<Link>;\n  /**\n   * The version number of the collection representation. This representation is version 2.\n   * @type {number}\n   * @memberof SessionVariableCollection\n   */\n  version?: number;\n  /**\n   * Specifies an array that contains a listing of current session variables.\n   * @type {Array<Variable>}\n   * @memberof SessionVariableCollection\n   */\n  items: Array<Variable>;\n}\n/**\n *\n * @export\n * @interface SessionVariableCollectionAllOf\n */\nexport interface SessionVariableCollectionAllOf {\n  /**\n   * Specifies an array that contains a listing of current session variables.\n   * @type {Array<Variable>}\n   * @memberof SessionVariableCollectionAllOf\n   */\n  items: Array<Variable>;\n}\n/**\n * Provides sorting options to use with a table or data set.\n * @export\n * @interface SortByRequest\n */\nexport interface SortByRequest {\n  /**\n   * Specifies the key to use in this sortBy request.\n   * @type {string}\n   * @memberof SortByRequest\n   */\n  key?: string;\n  /**\n   * Specifies the sort order for this sortBy request.\n   * @type {string}\n   * @memberof SortByRequest\n   */\n  direction?: SortByRequestDirectionEnum;\n}\n\nexport const SortByRequestDirectionEnum = {\n  Ascending: \"ascending\",\n  Descending: \"descending\",\n} as const;\n\nexport type SortByRequestDirectionEnum =\n  (typeof SortByRequestDirectionEnum)[keyof typeof SortByRequestDirectionEnum];\n\n/**\n * Provides information about a SAS table or data set.\n * @export\n * @interface TableInfo\n */\nexport interface TableInfo {\n  /**\n   * Specifies the version number of this representation schema. This is version 1.\n   * @type {number}\n   * @memberof TableInfo\n   */\n  version?: number;\n  /**\n   * Specifies the identifier for this data set.\n   * @type {string}\n   * @memberof TableInfo\n   */\n  id?: string;\n  /**\n   * Specifies the name of this data set.\n   * @type {string}\n   * @memberof TableInfo\n   */\n  name?: string;\n  /**\n   * Specifies the table type as DATA or VIEW.\n   * @type {string}\n   * @memberof TableInfo\n   */\n  type?: string;\n  /**\n   * Specifies that this is a special type of table. Most tables do not have an extended type, but the ones that do typically have special columns, rows, or both that are used by some SAS/STAT procedures.\n   * @type {string}\n   * @memberof TableInfo\n   */\n  extendedType?: string;\n  /**\n   * Specifies the length of the bookmark in this data set.\n   * @type {number}\n   * @memberof TableInfo\n   */\n  bookmarkLength?: number;\n  /**\n   * Specifies the compression routine for this data set.\n   * @type {string}\n   * @memberof TableInfo\n   */\n  compressionRoutine?: string;\n  /**\n   * Specifies the creation timestamp for this data set.\n   * @type {string}\n   * @memberof TableInfo\n   */\n  creationTimeStamp?: string;\n  /**\n   * Specifies the modification timestamp for this data set.\n   * @type {string}\n   * @memberof TableInfo\n   */\n  modifiedTimeStamp?: string;\n  /**\n   * Specifies the name of the engine that handles this data set.\n   * @type {string}\n   * @memberof TableInfo\n   */\n  engine?: string;\n  /**\n   * Specifies the label for this data set. This label describes the data set.\n   * @type {string}\n   * @memberof TableInfo\n   */\n  label?: string;\n  /**\n   * Specifies the name of the library that owns this data set.\n   * @type {string}\n   * @memberof TableInfo\n   */\n  libref?: string;\n  /**\n   * Specifies the logical record count for this data set.\n   * @type {number}\n   * @memberof TableInfo\n   */\n  logicalRecordCount?: number;\n  /**\n   * Specifies the number of columns that are defined in this data set.\n   * @type {number}\n   * @memberof TableInfo\n   */\n  columnCount?: number;\n  /**\n   * Specifies the number of rows that are defined in this data set.\n   * @type {number}\n   * @memberof TableInfo\n   */\n  rowCount?: number;\n  /**\n   * Specifies the physical record count for this data set.\n   * @type {number}\n   * @memberof TableInfo\n   */\n  physicalRecordCount?: number;\n  /**\n   * Specifies the length of a record in this data set.\n   * @type {number}\n   * @memberof TableInfo\n   */\n  recordLength?: number;\n  /**\n   * Specifies the character encoding that is used to store the table.\n   * @type {string}\n   * @memberof TableInfo\n   */\n  encoding?: string;\n  /**\n   * Specifies links that apply to this data set.\n   * @type {Array<Link>}\n   * @memberof TableInfo\n   */\n  links?: Array<Link>;\n}\n/**\n * Summarizes a SAS table or data set.\n * @export\n * @interface TableSummary\n */\nexport interface TableSummary {\n  /**\n   * Specifies the version number of this representation schema. This is version 1.\n   * @type {number}\n   * @memberof TableSummary\n   */\n  version?: number;\n  /**\n   * Specifies the identifier for this table object.\n   * @type {string}\n   * @memberof TableSummary\n   */\n  id?: string;\n  /**\n   * Specifies the name of the table.\n   * @type {string}\n   * @memberof TableSummary\n   */\n  name?: string;\n  /**\n   * Specifies links that apply to this table summary.\n   * @type {Array<Link>}\n   * @memberof TableSummary\n   */\n  links?: Array<Link>;\n}\n/**\n * Provides a paginated collection of SAS table or data set summaries.\n * @export\n * @interface TableSummaryCollection\n */\nexport interface TableSummaryCollection {\n  /**\n   * The name of the collection.\n   * @type {string}\n   * @memberof TableSummaryCollection\n   */\n  name?: string;\n  /**\n   * The zero-based index of the first item in the collection.\n   * @type {number}\n   * @memberof TableSummaryCollection\n   */\n  start?: number;\n  /**\n   * The number of items that were requested for the collection.\n   * @type {number}\n   * @memberof TableSummaryCollection\n   */\n  limit?: number;\n  /**\n   * If populated indicates the number of items in the collection.\n   * @type {number}\n   * @memberof TableSummaryCollection\n   */\n  count?: number;\n  /**\n   * A space-delimited list of media types from which an `Accept` header may be constructed.\n   * @type {string}\n   * @memberof TableSummaryCollection\n   */\n  accept?: string;\n  /**\n   * The links that apply to the collection.\n   * @type {Array<Link>}\n   * @memberof TableSummaryCollection\n   */\n  links?: Array<Link>;\n  /**\n   * The version number of the collection representation. This representation is version 2.\n   * @type {number}\n   * @memberof TableSummaryCollection\n   */\n  version?: number;\n  /**\n   * Specifies an array that contains table summary resources.\n   * @type {Array<TableSummary>}\n   * @memberof TableSummaryCollection\n   */\n  items: Array<TableSummary>;\n}\n/**\n *\n * @export\n * @interface TableSummaryCollectionAllOf\n */\nexport interface TableSummaryCollectionAllOf {\n  /**\n   * Specifies an array that contains table summary resources.\n   * @type {Array<TableSummary>}\n   * @memberof TableSummaryCollectionAllOf\n   */\n  items: Array<TableSummary>;\n}\n/**\n * This class is used to provide common attributes and behaviors around tracking who and when objects were created and modified to representation objects.\n * @export\n * @interface TrackedResource\n */\nexport interface TrackedResource {\n  /**\n   * The username of whoever created the resource.\n   * @type {string}\n   * @memberof TrackedResource\n   */\n  createdBy?: string;\n  /**\n   * The username of whoever last modified the resource.\n   * @type {string}\n   * @memberof TrackedResource\n   */\n  modifiedBy?: string;\n  /**\n   * The timestamp for when the resource was created.\n   * @type {string}\n   * @memberof TrackedResource\n   */\n  creationTimeStamp?: string;\n  /**\n   * The timestamp for when the resource was last modified.\n   * @type {string}\n   * @memberof TrackedResource\n   */\n  modifiedTimeStamp?: string;\n}\n/**\n * Describes a SAS macro variable that is available from the current session.\n * @export\n * @interface Variable\n */\nexport interface Variable {\n  /**\n   * Specifies the version number of this representation schema. This is version 1.\n   * @type {number}\n   * @memberof Variable\n   */\n  version?: number;\n  /**\n   * Specifies the scope of the variable as determined by SAS.\n   * @type {string}\n   * @memberof Variable\n   */\n  scope?: string;\n  /**\n   * Specifies the name of the variable.\n   * @type {string}\n   * @memberof Variable\n   */\n  name?: string;\n  /**\n   * Specifies the value of the variable.\n   * @type {string}\n   * @memberof Variable\n   */\n  value?: string;\n}\n/**\n * Provides a request that you can use to create a view on a table or data set.\n * @export\n * @interface ViewRequest\n */\nexport interface ViewRequest {\n  /**\n   * Specifies the version number of this representation schema. This is version 2.\n   * @type {number}\n   * @memberof ViewRequest\n   */\n  version?: number;\n  /**\n   * Specifies that a standard SAS WHERE clause was used to select the data for this view.\n   * @type {string}\n   * @memberof ViewRequest\n   */\n  where?: string;\n  /**\n   *\n   * @type {FileProtection}\n   * @memberof ViewRequest\n   */\n  fileProtection?: FileProtection;\n  /**\n   * Specifies the encoding for the password values in the fileProtection structure. If the value is \\\"base64\\\", then the password values in the fileProtection structure should be encoded by converting the text to UTF-8 and base64-encoding the result. If no value is provided, then the password values of the fileProtection structure are expected to be clear text.\n   * @type {string}\n   * @memberof ViewRequest\n   */\n  fileProtectionEncoding?: string;\n  /**\n   * Specifies an array of strings that indicate the columns to include in the row set. If no value is specified, then all columns are returned.\n   * @type {Array<string>}\n   * @memberof ViewRequest\n   */\n  includeColumns?: Array<string>;\n  /**\n   * When includeColumns is specified, a value of true for columnNatrualOrder specifies that the cells of the row set are returned in the order in which they occur in the data set instead of in the order that is specified by includeColumns.\n   * @type {boolean}\n   * @memberof ViewRequest\n   */\n  columnNaturalOrder?: boolean;\n  /**\n   * Specifies an array of objects that describe the sort definitions to use for this row set.\n   * @type {Array<SortByRequest>}\n   * @memberof ViewRequest\n   */\n  sortBy?: Array<SortByRequest>;\n  /**\n   * Specifies whether to select only distinct values for the view.\n   * @type {boolean}\n   * @memberof ViewRequest\n   */\n  distinct?: boolean;\n}\n\n/**\n * ContextsApi - axios parameter creator\n * @export\n */\nexport const ContextsApiAxiosParamCreator = function (\n  configuration?: Configuration,\n) {\n  return {\n    /**\n     * Creates a context definition. The new context is assigned a unique ID. The contextName namespace is managed by you, and the contextName must be unique. You can update contexts by performing a PUT on the corresponding URL.\n     * @summary Create a context definition\n     * @param {ContextRequest} contextRequest Specifies a context request.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    createContext: async (\n      contextRequest: ContextRequest,\n      options: AxiosRequestConfig = {},\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'contextRequest' is not null or undefined\n      assertParamExists(\"createContext\", \"contextRequest\", contextRequest);\n      const localVarPath = `/contexts`;\n      // use dummy base URL string because the URL constructor only accepts absolute URLs.\n      const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n      let baseOptions;\n      if (configuration) {\n        baseOptions = configuration.baseOptions;\n      }\n\n      const localVarRequestOptions = {\n        method: \"POST\",\n        ...baseOptions,\n        ...options,\n      };\n      const localVarHeaderParameter = {} as any;\n      const localVarQueryParameter = {} as any;\n\n      localVarHeaderParameter[\"Content-Type\"] =\n        \"application/vnd.sas.compute.context.request+json\";\n\n      setSearchParams(localVarUrlObj, localVarQueryParameter);\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {};\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      };\n      localVarRequestOptions.data = serializeDataIfNeeded(\n        contextRequest,\n        localVarRequestOptions,\n        configuration,\n      );\n\n      return {\n        url: toPathString(localVarUrlObj),\n        options: localVarRequestOptions,\n      };\n    },\n    /**\n     * Creates a new session that is based on the Compute context definition that corresponds to the contextId path variable. If a reusable SAS Compute Server is available to handle this session, a new session is created on that SAS Compute Server. Otherwise, a new SAS Compute Server is created and the new session is created on that SAS Compute Server. The new session is associated with the identity of the requester. URLs that define how to access the session are returned. The contextId matches the ID member of a known context entry. The Location header contains the URI of the created session resource.\n     * @summary Request new session\n     * @param {string} contextId Specifies the context definition ID.\n     * @param {SessionRequest} [sessionRequest]\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    createSession: async (\n      contextId: string,\n      sessionRequest?: SessionRequest,\n      options: AxiosRequestConfig = {},\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'contextId' is not null or undefined\n      assertParamExists(\"createSession\", \"contextId\", contextId);\n      const localVarPath = `/contexts/{contextId}/sessions`.replace(\n        `{${\"contextId\"}}`,\n        encodeURIComponent(String(contextId)),\n      );\n      // use dummy base URL string because the URL constructor only accepts absolute URLs.\n      const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n      let baseOptions;\n      if (configuration) {\n        baseOptions = configuration.baseOptions;\n      }\n\n      const localVarRequestOptions = {\n        method: \"POST\",\n        ...baseOptions,\n        ...options,\n      };\n      const localVarHeaderParameter = {} as any;\n      const localVarQueryParameter = {} as any;\n\n      localVarHeaderParameter[\"Content-Type\"] =\n        \"application/vnd.sas.compute.session.request+json\";\n\n      setSearchParams(localVarUrlObj, localVarQueryParameter);\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {};\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      };\n      localVarRequestOptions.data = serializeDataIfNeeded(\n        sessionRequest,\n        localVarRequestOptions,\n        configuration,\n      );\n\n      return {\n        url: toPathString(localVarUrlObj),\n        options: localVarRequestOptions,\n      };\n    },\n    /**\n     * Deletes the context definition that has the specified contextId.\n     * @summary Delete a context definition\n     * @param {string} contextId Deletes the context definition with the specified ID.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    deleteContext: async (\n      contextId: string,\n      options: AxiosRequestConfig = {},\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'contextId' is not null or undefined\n      assertParamExists(\"deleteContext\", \"contextId\", contextId);\n      const localVarPath = `/contexts/{contextId}`.replace(\n        `{${\"contextId\"}}`,\n        encodeURIComponent(String(contextId)),\n      );\n      // use dummy base URL string because the URL constructor only accepts absolute URLs.\n      const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n      let baseOptions;\n      if (configuration) {\n        baseOptions = configuration.baseOptions;\n      }\n\n      const localVarRequestOptions = {\n        method: \"DELETE\",\n        ...baseOptions,\n        ...options,\n      };\n      const localVarHeaderParameter = {} as any;\n      const localVarQueryParameter = {} as any;\n\n      setSearchParams(localVarUrlObj, localVarQueryParameter);\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {};\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      };\n\n      return {\n        url: toPathString(localVarUrlObj),\n        options: localVarRequestOptions,\n      };\n    },\n    /**\n     * Returns the context definition that has the specified contextId.\n     * @summary Get a context definition\n     * @param {string} contextId Returns the context definition with the specified ID.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    getContext: async (\n      contextId: string,\n      options: AxiosRequestConfig = {},\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'contextId' is not null or undefined\n      assertParamExists(\"getContext\", \"contextId\", contextId);\n      const localVarPath = `/contexts/{contextId}`.replace(\n        `{${\"contextId\"}}`,\n        encodeURIComponent(String(contextId)),\n      );\n      // use dummy base URL string because the URL constructor only accepts absolute URLs.\n      const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n      let baseOptions;\n      if (configuration) {\n        baseOptions = configuration.baseOptions;\n      }\n\n      const localVarRequestOptions = {\n        method: \"GET\",\n        ...baseOptions,\n        ...options,\n      };\n      const localVarHeaderParameter = {} as any;\n      const localVarQueryParameter = {} as any;\n\n      setSearchParams(localVarUrlObj, localVarQueryParameter);\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {};\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      };\n\n      return {\n        url: toPathString(localVarUrlObj),\n        options: localVarRequestOptions,\n      };\n    },\n    /**\n     * Returns a list of Compute context definitions. Standard paging, filtering, and sorting options are provided. By default, this endpoint returns a summary of the available information about the contexts. Specify an Accept-Item header with the value application/vnd.sas.compute.context+json to get all available information for each context.\n     * @summary Get context definitions\n     * @param {'application/vnd.sas.compute.context+json' | 'application/vnd.sas.compute.context.summary+json'} [acceptItem] Specifies the desired context representation.&lt;br&gt; The Accept-Item options are: &lt;ul&gt; &lt;li&gt;application/vnd.sas.compute.context+json &lt;li&gt;application/vnd.sas.compute.context.summary+json &lt;li&gt;blank &lt;/ul&gt; If the application/vnd.sas.compute.context.summary+json type is specified or no Accept-Item header is specified, then the contexts are returned as summary representation context objects.\n     * @param {number} [start] Specifies the offset of the first context definition to return. The default value is \\&quot;0\\&quot;.\n     * @param {number} [limit] Specifies the maximum number of context definitions to return. The default value is \\&quot;10\\&quot;.\n     * @param {string} [filter] Specifies the filter criteria for returned context definitions.\n     * @param {string} [sortBy] Sorts returned context definitions.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    getContexts: async (\n      acceptItem?:\n        | \"application/vnd.sas.compute.context+json\"\n        | \"application/vnd.sas.compute.context.summary+json\",\n      start?: number,\n      limit?: number,\n      filter?: string,\n      sortBy?: string,\n      options: AxiosRequestConfig = {},\n    ): Promise<RequestArgs> => {\n      const localVarPath = `/contexts`;\n      // use dummy base URL string because the URL constructor only accepts absolute URLs.\n      const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n      let baseOptions;\n      if (configuration) {\n        baseOptions = configuration.baseOptions;\n      }\n\n      const localVarRequestOptions = {\n        method: \"GET\",\n        ...baseOptions,\n        ...options,\n      };\n      const localVarHeaderParameter = {} as any;\n      const localVarQueryParameter = {} as any;\n\n      if (start !== undefined) {\n        localVarQueryParameter[\"start\"] = start;\n      }\n\n      if (limit !== undefined) {\n        localVarQueryParameter[\"limit\"] = limit;\n      }\n\n      if (filter !== undefined) {\n        localVarQueryParameter[\"filter\"] = filter;\n      }\n\n      if (sortBy !== undefined) {\n        localVarQueryParameter[\"sortBy\"] = sortBy;\n      }\n\n      if (acceptItem != null) {\n        localVarHeaderParameter[\"Accept-Item\"] = String(acceptItem);\n      }\n\n      setSearchParams(localVarUrlObj, localVarQueryParameter);\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {};\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      };\n\n      return {\n        url: toPathString(localVarUrlObj),\n        options: localVarRequestOptions,\n      };\n    },\n    /**\n     * Determines whether the specified context exists.\n     * @summary Verify that a context exists\n     * @param {string} contextId Specifies the context to check.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    headersForContext: async (\n      contextId: string,\n      options: AxiosRequestConfig = {},\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'contextId' is not null or undefined\n      assertParamExists(\"headersForContext\", \"contextId\", contextId);\n      const localVarPath = `/contexts/{contextId}`.replace(\n        `{${\"contextId\"}}`,\n        encodeURIComponent(String(contextId)),\n      );\n      // use dummy base URL string because the URL constructor only accepts absolute URLs.\n      const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n      let baseOptions;\n      if (configuration) {\n        baseOptions = configuration.baseOptions;\n      }\n\n      const localVarRequestOptions = {\n        method: \"HEAD\",\n        ...baseOptions,\n        ...options,\n      };\n      const localVarHeaderParameter = {} as any;\n      const localVarQueryParameter = {} as any;\n\n      setSearchParams(localVarUrlObj, localVarQueryParameter);\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {};\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      };\n\n      return {\n        url: toPathString(localVarUrlObj),\n        options: localVarRequestOptions,\n      };\n    },\n    /**\n     * Determines whether an endpoint is currently available.\n     * @summary Check endpoint availability\n     * @param {number} [start] Returns the offset of first context definition to return. The default value is \\&quot;0\\&quot;.\n     * @param {number} [limit] Returns the maximum number of context definitions to return. The default value is \\&quot;10\\&quot;.\n     * @param {string} [filter] Specifies the filter criteria for returned context definitions.\n     * @param {string} [sortBy] Sorts returned context definitions.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    headersForContexts: async (\n      start?: number,\n      limit?: number,\n      filter?: string,\n      sortBy?: string,\n      options: AxiosRequestConfig = {},\n    ): Promise<RequestArgs> => {\n      const localVarPath = `/contexts`;\n      // use dummy base URL string because the URL constructor only accepts absolute URLs.\n      const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n      let baseOptions;\n      if (configuration) {\n        baseOptions = configuration.baseOptions;\n      }\n\n      const localVarRequestOptions = {\n        method: \"HEAD\",\n        ...baseOptions,\n        ...options,\n      };\n      const localVarHeaderParameter = {} as any;\n      const localVarQueryParameter = {} as any;\n\n      if (start !== undefined) {\n        localVarQueryParameter[\"start\"] = start;\n      }\n\n      if (limit !== undefined) {\n        localVarQueryParameter[\"limit\"] = limit;\n      }\n\n      if (filter !== undefined) {\n        localVarQueryParameter[\"filter\"] = filter;\n      }\n\n      if (sortBy !== undefined) {\n        localVarQueryParameter[\"sortBy\"] = sortBy;\n      }\n\n      setSearchParams(localVarUrlObj, localVarQueryParameter);\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {};\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      };\n\n      return {\n        url: toPathString(localVarUrlObj),\n        options: localVarRequestOptions,\n      };\n    },\n    /**\n     * Updates a context definition. Changing a context does not affect any sessions that are currently running on the server that is instantiated by that context. Servers that are created after updating the context use the current definition. If the contextId matches the ID of an existing context, that context is updated. Otherwise, an error is returned. The request must include the current ETag of the context as the value of the If-Match request header to prevent concurrent updates. The current ETag of the context is provided in the value of the ETag response header of any endpoint that produces application/vnd.sas.compute.context.\n     * @summary Update a context definition\n     * @param {string} contextId Specifies the ID of the context definition.\n     * @param {string} ifMatch Specifies the current ETag of the context that you are updating.\n     * @param {Context} context context definition\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    updateContext: async (\n      contextId: string,\n      ifMatch: string,\n      context: Context,\n      options: AxiosRequestConfig = {},\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'contextId' is not null or undefined\n      assertParamExists(\"updateContext\", \"contextId\", contextId);\n      // verify required parameter 'ifMatch' is not null or undefined\n      assertParamExists(\"updateContext\", \"ifMatch\", ifMatch);\n      // verify required parameter 'context' is not null or undefined\n      assertParamExists(\"updateContext\", \"context\", context);\n      const localVarPath = `/contexts/{contextId}`.replace(\n        `{${\"contextId\"}}`,\n        encodeURIComponent(String(contextId)),\n      );\n      // use dummy base URL string because the URL constructor only accepts absolute URLs.\n      const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n      let baseOptions;\n      if (configuration) {\n        baseOptions = configuration.baseOptions;\n      }\n\n      const localVarRequestOptions = {\n        method: \"PUT\",\n        ...baseOptions,\n        ...options,\n      };\n      const localVarHeaderParameter = {} as any;\n      const localVarQueryParameter = {} as any;\n\n      if (ifMatch != null) {\n        localVarHeaderParameter[\"If-Match\"] = String(ifMatch);\n      }\n\n      localVarHeaderParameter[\"Content-Type\"] =\n        \"application/vnd.sas.compute.context+json\";\n\n      setSearchParams(localVarUrlObj, localVarQueryParameter);\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {};\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      };\n      localVarRequestOptions.data = serializeDataIfNeeded(\n        context,\n        localVarRequestOptions,\n        configuration,\n      );\n\n      return {\n        url: toPathString(localVarUrlObj),\n        options: localVarRequestOptions,\n      };\n    },\n  };\n};\n\n/**\n * ContextsApi - functional programming interface\n * @export\n */\nexport const ContextsApi = function (configuration?: Configuration) {\n  const localVarAxiosParamCreator = ContextsApiAxiosParamCreator(configuration);\n  return {\n    /**\n     * Creates a context definition. The new context is assigned a unique ID. The contextName namespace is managed by you, and the contextName must be unique. You can update contexts by performing a PUT on the corresponding URL.\n     * @summary Create a context definition\n     * @param {ContextsApiCreateContextRequest} requestParameters Request parameters.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async createContext(\n      requestParameters: ContextsApiCreateContextRequest,\n      options?: AxiosRequestConfig,\n    ): Promise<AxiosResponse<Context>> {\n      const localVarAxiosArgs = await localVarAxiosParamCreator.createContext(\n        requestParameters.contextRequest,\n        options,\n      );\n      return createRequestFunction(localVarAxiosArgs, configuration);\n    },\n\n    /**\n     * Creates a new session that is based on the Compute context definition that corresponds to the contextId path variable. If a reusable SAS Compute Server is available to handle this session, a new session is created on that SAS Compute Server. Otherwise, a new SAS Compute Server is created and the new session is created on that SAS Compute Server. The new session is associated with the identity of the requester. URLs that define how to access the session are returned. The contextId matches the ID member of a known context entry. The Location header contains the URI of the created session resource.\n     * @summary Request new session\n     * @param {ContextsApiCreateSessionRequest} requestParameters Request parameters.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async createSession(\n      requestParameters: ContextsApiCreateSessionRequest,\n      options?: AxiosRequestConfig,\n    ): Promise<AxiosResponse<Session>> {\n      const localVarAxiosArgs = await localVarAxiosParamCreator.createSession(\n        requestParameters.contextId,\n        requestParameters.sessionRequest,\n        options,\n      );\n      return createRequestFunction(localVarAxiosArgs, configuration);\n    },\n\n    /**\n     * Deletes the context definition that has the specified contextId.\n     * @summary Delete a context definition\n     * @param {ContextsApiDeleteContextRequest} requestParameters Request parameters.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async deleteContext(\n      requestParameters: ContextsApiDeleteContextRequest,\n      options?: AxiosRequestConfig,\n    ): Promise<AxiosResponse<void>> {\n      const localVarAxiosArgs = await localVarAxiosParamCreator.deleteContext(\n        requestParameters.contextId,\n        options,\n      );\n      return createRequestFunction(localVarAxiosArgs, configuration);\n    },\n\n    /**\n     * Returns the context definition that has the specified contextId.\n     * @summary Get a context definition\n     * @param {ContextsApiGetContextRequest} requestParameters Request parameters.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async getContext(\n      requestParameters: ContextsApiGetContextRequest,\n      options?: AxiosRequestConfig,\n    ): Promise<AxiosResponse<Context>> {\n      const localVarAxiosArgs = await localVarAxiosParamCreator.getContext(\n        requestParameters.contextId,\n        options,\n      );\n      return createRequestFunction(localVarAxiosArgs, configuration);\n    },\n\n    /**\n     * Returns a list of Compute context definitions. Standard paging, filtering, and sorting options are provided. By default, this endpoint returns a summary of the available information about the contexts. Specify an Accept-Item header with the value application/vnd.sas.compute.context+json to get all available information for each context.\n     * @summary Get context definitions\n     * @param {ContextsApiGetContextsRequest} requestParameters Request parameters.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async getContexts(\n      requestParameters: ContextsApiGetContextsRequest = {},\n      options?: AxiosRequestConfig,\n    ): Promise<AxiosResponse<ContextSummaryCollection>> {\n      const localVarAxiosArgs = await localVarAxiosParamCreator.getContexts(\n        requestParameters.acceptItem,\n        requestParameters.start,\n        requestParameters.limit,\n        requestParameters.filter,\n        requestParameters.sortBy,\n        options,\n      );\n      return createRequestFunction(localVarAxiosArgs, configuration);\n    },\n\n    /**\n     * Determines whether the specified context exists.\n     * @summary Verify that a context exists\n     * @param {ContextsApiHeadersForContextRequest} requestParameters Request parameters.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async headersForContext(\n      requestParameters: ContextsApiHeadersForContextRequest,\n      options?: AxiosRequestConfig,\n    ): Promise<AxiosResponse<void>> {\n      const localVarAxiosArgs =\n        await localVarAxiosParamCreator.headersForContext(\n          requestParameters.contextId,\n          options,\n        );\n      return createRequestFunction(localVarAxiosArgs, configuration);\n    },\n\n    /**\n     * Determines whether an endpoint is currently available.\n     * @summary Check endpoint availability\n     * @param {ContextsApiHeadersForContextsRequest} requestParameters Request parameters.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async headersForContexts(\n      requestParameters: ContextsApiHeadersForContextsRequest = {},\n      options?: AxiosRequestConfig,\n    ): Promise<AxiosResponse<void>> {\n      const localVarAxiosArgs =\n        await localVarAxiosParamCreator.headersForContexts(\n          requestParameters.start,\n          requestParameters.limit,\n          requestParameters.filter,\n          requestParameters.sortBy,\n          options,\n        );\n      return createRequestFunction(localVarAxiosArgs, configuration);\n    },\n\n    /**\n     * Updates a context definition. Changing a context does not affect any sessions that are currently running on the server that is instantiated by that context. Servers that are created after updating the context use the current definition. If the contextId matches the ID of an existing context, that context is updated. Otherwise, an error is returned. The request must include the current ETag of the context as the value of the If-Match request header to prevent concurrent updates. The current ETag of the context is provided in the value of the ETag response header of any endpoint that produces application/vnd.sas.compute.context.\n     * @summary Update a context definition\n     * @param {ContextsApiUpdateContextRequest} requestParameters Request parameters.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async updateContext(\n      requestParameters: ContextsApiUpdateContextRequest,\n      options?: AxiosRequestConfig,\n    ): Promise<AxiosResponse<Context>> {\n      const localVarAxiosArgs = await localVarAxiosParamCreator.updateContext(\n        requestParameters.contextId,\n        requestParameters.ifMatch,\n        requestParameters.context,\n        options,\n      );\n      return createRequestFunction(localVarAxiosArgs, configuration);\n    },\n  };\n};\n\n/**\n * Request parameters for createContext operation in ContextsApi.\n * @export\n * @interface ContextsApiCreateContextRequest\n */\nexport interface ContextsApiCreateContextRequest {\n  /**\n   * Specifies a context request.\n   * @type {ContextRequest}\n   * @memberof ContextsApiCreateContext\n   */\n  readonly contextRequest: ContextRequest;\n}\n\n/**\n * Request parameters for createSession operation in ContextsApi.\n * @export\n * @interface ContextsApiCreateSessionRequest\n */\nexport interface ContextsApiCreateSessionRequest {\n  /**\n   * Specifies the context definition ID.\n   * @type {string}\n   * @memberof ContextsApiCreateSession\n   */\n  readonly contextId: string;\n\n  /**\n   *\n   * @type {SessionRequest}\n   * @memberof ContextsApiCreateSession\n   */\n  readonly sessionRequest?: SessionRequest;\n}\n\n/**\n * Request parameters for deleteContext operation in ContextsApi.\n * @export\n * @interface ContextsApiDeleteContextRequest\n */\nexport interface ContextsApiDeleteContextRequest {\n  /**\n   * Deletes the context definition with the specified ID.\n   * @type {string}\n   * @memberof ContextsApiDeleteContext\n   */\n  readonly contextId: string;\n}\n\n/**\n * Request parameters for getContext operation in ContextsApi.\n * @export\n * @interface ContextsApiGetContextRequest\n */\nexport interface ContextsApiGetContextRequest {\n  /**\n   * Returns the context definition with the specified ID.\n   * @type {string}\n   * @memberof ContextsApiGetContext\n   */\n  readonly contextId: string;\n}\n\n/**\n * Request parameters for getContexts operation in ContextsApi.\n * @export\n * @interface ContextsApiGetContextsRequest\n */\nexport interface ContextsApiGetContextsRequest {\n  /**\n   * Specifies the desired context representation.&lt;br&gt; The Accept-Item options are: &lt;ul&gt; &lt;li&gt;application/vnd.sas.compute.context+json &lt;li&gt;application/vnd.sas.compute.context.summary+json &lt;li&gt;blank &lt;/ul&gt; If the application/vnd.sas.compute.context.summary+json type is specified or no Accept-Item header is specified, then the contexts are returned as summary representation context objects.\n   * @type {'application/vnd.sas.compute.context+json' | 'application/vnd.sas.compute.context.summary+json'}\n   * @memberof ContextsApiGetContexts\n   */\n  readonly acceptItem?:\n    | \"application/vnd.sas.compute.context+json\"\n    | \"application/vnd.sas.compute.context.summary+json\";\n\n  /**\n   * Specifies the offset of the first context definition to return. The default value is \\&quot;0\\&quot;.\n   * @type {number}\n   * @memberof ContextsApiGetContexts\n   */\n  readonly start?: number;\n\n  /**\n   * Specifies the maximum number of context definitions to return. The default value is \\&quot;10\\&quot;.\n   * @type {number}\n   * @memberof ContextsApiGetContexts\n   */\n  readonly limit?: number;\n\n  /**\n   * Specifies the filter criteria for returned context definitions.\n   * @type {string}\n   * @memberof ContextsApiGetContexts\n   */\n  readonly filter?: string;\n\n  /**\n   * Sorts returned context definitions.\n   * @type {string}\n   * @memberof ContextsApiGetContexts\n   */\n  readonly sortBy?: string;\n}\n\n/**\n * Request parameters for headersForContext operation in ContextsApi.\n * @export\n * @interface ContextsApiHeadersForContextRequest\n */\nexport interface ContextsApiHeadersForContextRequest {\n  /**\n   * Specifies the context to check.\n   * @type {string}\n   * @memberof ContextsApiHeadersForContext\n   */\n  readonly contextId: string;\n}\n\n/**\n * Request parameters for headersForContexts operation in ContextsApi.\n * @export\n * @interface ContextsApiHeadersForContextsRequest\n */\nexport interface ContextsApiHeadersForContextsRequest {\n  /**\n   * Returns the offset of first context definition to return. The default value is \\&quot;0\\&quot;.\n   * @type {number}\n   * @memberof ContextsApiHeadersForContexts\n   */\n  readonly start?: number;\n\n  /**\n   * Returns the maximum number of context definitions to return. The default value is \\&quot;10\\&quot;.\n   * @type {number}\n   * @memberof ContextsApiHeadersForContexts\n   */\n  readonly limit?: number;\n\n  /**\n   * Specifies the filter criteria for returned context definitions.\n   * @type {string}\n   * @memberof ContextsApiHeadersForContexts\n   */\n  readonly filter?: string;\n\n  /**\n   * Sorts returned context definitions.\n   * @type {string}\n   * @memberof ContextsApiHeadersForContexts\n   */\n  readonly sortBy?: string;\n}\n\n/**\n * Request parameters for updateContext operation in ContextsApi.\n * @export\n * @interface ContextsApiUpdateContextRequest\n */\nexport interface ContextsApiUpdateContextRequest {\n  /**\n   * Specifies the ID of the context definition.\n   * @type {string}\n   * @memberof ContextsApiUpdateContext\n   */\n  readonly contextId: string;\n\n  /**\n   * Specifies the current ETag of the context that you are updating.\n   * @type {string}\n   * @memberof ContextsApiUpdateContext\n   */\n  readonly ifMatch: string;\n\n  /**\n   * context definition\n   * @type {Context}\n   * @memberof ContextsApiUpdateContext\n   */\n  readonly context: Context;\n}\n\n/**\n * DataAccessApi - axios parameter creator\n * @export\n */\nexport const DataAccessApiAxiosParamCreator = function (\n  configuration?: Configuration,\n) {\n  return {\n    /**\n     * Assigns a libref that is based on the request body for a session. The Location header contains the URI of the libref resource.\n     * @summary Assign a libref\n     * @param {string} sessionId Specifies the ID of the session.\n     * @param {LibraryRequest} libraryRequest Specifies a libref assignment request.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    createLibrary: async (\n      sessionId: string,\n      libraryRequest: LibraryRequest,\n      options: AxiosRequestConfig = {},\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'sessionId' is not null or undefined\n      assertParamExists(\"createLibrary\", \"sessionId\", sessionId);\n      // verify required parameter 'libraryRequest' is not null or undefined\n      assertParamExists(\"createLibrary\", \"libraryRequest\", libraryRequest);\n      const localVarPath = `/sessions/{sessionId}/data`.replace(\n        `{${\"sessionId\"}}`,\n        encodeURIComponent(String(sessionId)),\n      );\n      // use dummy base URL string because the URL constructor only accepts absolute URLs.\n      const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n      let baseOptions;\n      if (configuration) {\n        baseOptions = configuration.baseOptions;\n      }\n\n      const localVarRequestOptions = {\n        method: \"POST\",\n        ...baseOptions,\n        ...options,\n      };\n      const localVarHeaderParameter = {} as any;\n      const localVarQueryParameter = {} as any;\n\n      localVarHeaderParameter[\"Content-Type\"] =\n        \"application/vnd.sas.compute.library.request+json\";\n\n      setSearchParams(localVarUrlObj, localVarQueryParameter);\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {};\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      };\n      localVarRequestOptions.data = serializeDataIfNeeded(\n        libraryRequest,\n        localVarRequestOptions,\n        configuration,\n      );\n\n      return {\n        url: toPathString(localVarUrlObj),\n        options: localVarRequestOptions,\n      };\n    },\n    /**\n     * Returns a view of the specified data set. The request body that you provide controls the view that is created. You can then access the returned view as a table.\n     * @summary Create a data set view\n     * @param {string} sessionId Specifies the ID of the session.\n     * @param {string} libref Specifies the libref for the request.\n     * @param {string} tableName Specifies the table or data set to query.\n     * @param {ViewRequest} viewRequest Specifies a view creation request.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    createView: async (\n      sessionId: string,\n      libref: string,\n      tableName: string,\n      viewRequest: ViewRequest,\n      options: AxiosRequestConfig = {},\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'sessionId' is not null or undefined\n      assertParamExists(\"createView\", \"sessionId\", sessionId);\n      // verify required parameter 'libref' is not null or undefined\n      assertParamExists(\"createView\", \"libref\", libref);\n      // verify required parameter 'tableName' is not null or undefined\n      assertParamExists(\"createView\", \"tableName\", tableName);\n      // verify required parameter 'viewRequest' is not null or undefined\n      assertParamExists(\"createView\", \"viewRequest\", viewRequest);\n      const localVarPath =\n        `/sessions/{sessionId}/data/{libref}/{tableName}/views`\n          .replace(`{${\"sessionId\"}}`, encodeURIComponent(String(sessionId)))\n          .replace(`{${\"libref\"}}`, encodeURIComponent(String(libref)))\n          .replace(`{${\"tableName\"}}`, encodeURIComponent(String(tableName)));\n      // use dummy base URL string because the URL constructor only accepts absolute URLs.\n      const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n      let baseOptions;\n      if (configuration) {\n        baseOptions = configuration.baseOptions;\n      }\n\n      const localVarRequestOptions = {\n        method: \"POST\",\n        ...baseOptions,\n        ...options,\n      };\n      const localVarHeaderParameter = {} as any;\n      const localVarQueryParameter = {} as any;\n\n      localVarHeaderParameter[\"Content-Type\"] =\n        \"application/vnd.sas.compute.data.table.view.request+json\";\n\n      setSearchParams(localVarUrlObj, localVarQueryParameter);\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {};\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      };\n      localVarRequestOptions.data = serializeDataIfNeeded(\n        viewRequest,\n        localVarRequestOptions,\n        configuration,\n      );\n\n      return {\n        url: toPathString(localVarUrlObj),\n        options: localVarRequestOptions,\n      };\n    },\n    /**\n     * Removes the libref from the session.\n     * @summary Deassign libref\n     * @param {string} sessionId Specifies the ID of the session.\n     * @param {string} libref Specifies the libref to deassign.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    deleteLibrary: async (\n      sessionId: string,\n      libref: string,\n      options: AxiosRequestConfig = {},\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'sessionId' is not null or undefined\n      assertParamExists(\"deleteLibrary\", \"sessionId\", sessionId);\n      // verify required parameter 'libref' is not null or undefined\n      assertParamExists(\"deleteLibrary\", \"libref\", libref);\n      const localVarPath = `/sessions/{sessionId}/data/{libref}`\n        .replace(`{${\"sessionId\"}}`, encodeURIComponent(String(sessionId)))\n        .replace(`{${\"libref\"}}`, encodeURIComponent(String(libref)));\n      // use dummy base URL string because the URL constructor only accepts absolute URLs.\n      const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n      let baseOptions;\n      if (configuration) {\n        baseOptions = configuration.baseOptions;\n      }\n\n      const localVarRequestOptions = {\n        method: \"DELETE\",\n        ...baseOptions,\n        ...options,\n      };\n      const localVarHeaderParameter = {} as any;\n      const localVarQueryParameter = {} as any;\n\n      setSearchParams(localVarUrlObj, localVarQueryParameter);\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {};\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      };\n\n      return {\n        url: toPathString(localVarUrlObj),\n        options: localVarRequestOptions,\n      };\n    },\n    /**\n     * Deletes a table or view. If you request to delete a table and you have proper permissions, then the data set is deleted. If you request to delete a view, then the view is destroyed.\n     * @summary Delete a table or view\n     * @param {string} sessionId Specifies the ID of the session.\n     * @param {string} libref Specifies the libref for the request.\n     * @param {string} tableName Specifies the table or data set to update.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    deleteTable: async (\n      sessionId: string,\n      libref: string,\n      tableName: string,\n      options: AxiosRequestConfig = {},\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'sessionId' is not null or undefined\n      assertParamExists(\"deleteTable\", \"sessionId\", sessionId);\n      // verify required parameter 'libref' is not null or undefined\n      assertParamExists(\"deleteTable\", \"libref\", libref);\n      // verify required parameter 'tableName' is not null or undefined\n      assertParamExists(\"deleteTable\", \"tableName\", tableName);\n      const localVarPath = `/sessions/{sessionId}/data/{libref}/{tableName}`\n        .replace(`{${\"sessionId\"}}`, encodeURIComponent(String(sessionId)))\n        .replace(`{${\"libref\"}}`, encodeURIComponent(String(libref)))\n        .replace(`{${\"tableName\"}}`, encodeURIComponent(String(tableName)));\n      // use dummy base URL string because the URL constructor only accepts absolute URLs.\n      const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n      let baseOptions;\n      if (configuration) {\n        baseOptions = configuration.baseOptions;\n      }\n\n      const localVarRequestOptions = {\n        method: \"DELETE\",\n        ...baseOptions,\n        ...options,\n      };\n      const localVarHeaderParameter = {} as any;\n      const localVarQueryParameter = {} as any;\n\n      setSearchParams(localVarUrlObj, localVarQueryParameter);\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {};\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      };\n\n      return {\n        url: toPathString(localVarUrlObj),\n        options: localVarRequestOptions,\n      };\n    },\n    /**\n     * Gets a specific column from a data set.\n     * @summary Get a column\n     * @param {string} sessionId Specifies the ID of the session.\n     * @param {string} libref Specifies the libref for the request.\n     * @param {string} tableName Specifies the table or data set to query.\n     * @param {string} columnName Specifies the name of the column to retrieve.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    getColumn: async (\n      sessionId: string,\n      libref: string,\n      tableName: string,\n      columnName: string,\n      options: AxiosRequestConfig = {},\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'sessionId' is not null or undefined\n      assertParamExists(\"getColumn\", \"sessionId\", sessionId);\n      // verify required parameter 'libref' is not null or undefined\n      assertParamExists(\"getColumn\", \"libref\", libref);\n      // verify required parameter 'tableName' is not null or undefined\n      assertParamExists(\"getColumn\", \"tableName\", tableName);\n      // verify required parameter 'columnName' is not null or undefined\n      assertParamExists(\"getColumn\", \"columnName\", columnName);\n      const localVarPath =\n        `/sessions/{sessionId}/data/{libref}/{tableName}/columns/{columnName}`\n          .replace(`{${\"sessionId\"}}`, encodeURIComponent(String(sessionId)))\n          .replace(`{${\"libref\"}}`, encodeURIComponent(String(libref)))\n          .replace(`{${\"tableName\"}}`, encodeURIComponent(String(tableName)))\n          .replace(`{${\"columnName\"}}`, encodeURIComponent(String(columnName)));\n      // use dummy base URL string because the URL constructor only accepts absolute URLs.\n      const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n      let baseOptions;\n      if (configuration) {\n        baseOptions = configuration.baseOptions;\n      }\n\n      const localVarRequestOptions = {\n        method: \"GET\",\n        ...baseOptions,\n        ...options,\n      };\n      const localVarHeaderParameter = {} as any;\n      const localVarQueryParameter = {} as any;\n\n      setSearchParams(localVarUrlObj, localVarQueryParameter);\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {};\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      };\n\n      return {\n        url: toPathString(localVarUrlObj),\n        options: localVarRequestOptions,\n      };\n    },\n    /**\n     * Returns the column information for a specified data set. By default, a collection is returned, and standard paging options are available.\n     * @summary Get column information\n     * @param {string} sessionId Specifies the ID of the session.\n     * @param {string} libref Specifies the libref for the request.\n     * @param {string} tableName Specifies the table or data set to query.\n     * @param {number} [start] Specifies the offset of the first column entry to return.\n     * @param {number} [limit] Specifies the maximum number of columns to return.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    getColumns: async (\n      sessionId: string,\n      libref: string,\n      tableName: string,\n      start?: number,\n      limit?: number,\n      options: AxiosRequestConfig = {},\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'sessionId' is not null or undefined\n      assertParamExists(\"getColumns\", \"sessionId\", sessionId);\n      // verify required parameter 'libref' is not null or undefined\n      assertParamExists(\"getColumns\", \"libref\", libref);\n      // verify required parameter 'tableName' is not null or undefined\n      assertParamExists(\"getColumns\", \"tableName\", tableName);\n      const localVarPath =\n        `/sessions/{sessionId}/data/{libref}/{tableName}/columns`\n          .replace(`{${\"sessionId\"}}`, encodeURIComponent(String(sessionId)))\n          .replace(`{${\"libref\"}}`, encodeURIComponent(String(libref)))\n          .replace(`{${\"tableName\"}}`, encodeURIComponent(String(tableName)));\n      // use dummy base URL string because the URL constructor only accepts absolute URLs.\n      const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n      let baseOptions;\n      if (configuration) {\n        baseOptions = configuration.baseOptions;\n      }\n\n      const localVarRequestOptions = {\n        method: \"GET\",\n        ...baseOptions,\n        ...options,\n      };\n      const localVarHeaderParameter = {} as any;\n      const localVarQueryParameter = {} as any;\n\n      if (start !== undefined) {\n        localVarQueryParameter[\"start\"] = start;\n      }\n\n      if (limit !== undefined) {\n        localVarQueryParameter[\"limit\"] = limit;\n      }\n\n      setSearchParams(localVarUrlObj, localVarQueryParameter);\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {};\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      };\n\n      return {\n        url: toPathString(localVarUrlObj),\n        options: localVarRequestOptions,\n      };\n    },\n    /**\n     * Returns the column information for a specified data set based on the submitted request body. By default, a collection is returned, and standard paging options are available.\n     * @summary Retrieve column information\n     * @param {string} sessionId Specifies the ID of the session.\n     * @param {string} libref Specifies the libref for the request.\n     * @param {string} tableName Specifies the table or data set to query.\n     * @param {number} [start] Specifies the offset of the first column entry to return.\n     * @param {number} [limit] Specifies the maximum number of columns to return.\n     * @param {ColumnsRequest} [columnsRequest] Optional body that is used to refine a request.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    getColumnsWithRequest: async (\n      sessionId: string,\n      libref: string,\n      tableName: string,\n      start?: number,\n      limit?: number,\n      columnsRequest?: ColumnsRequest,\n      options: AxiosRequestConfig = {},\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'sessionId' is not null or undefined\n      assertParamExists(\"getColumnsWithRequest\", \"sessionId\", sessionId);\n      // verify required parameter 'libref' is not null or undefined\n      assertParamExists(\"getColumnsWithRequest\", \"libref\", libref);\n      // verify required parameter 'tableName' is not null or undefined\n      assertParamExists(\"getColumnsWithRequest\", \"tableName\", tableName);\n      const localVarPath =\n        `/sessions/{sessionId}/data/{libref}/{tableName}/columns`\n          .replace(`{${\"sessionId\"}}`, encodeURIComponent(String(sessionId)))\n          .replace(`{${\"libref\"}}`, encodeURIComponent(String(libref)))\n          .replace(`{${\"tableName\"}}`, encodeURIComponent(String(tableName)));\n      // use dummy base URL string because the URL constructor only accepts absolute URLs.\n      const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n      let baseOptions;\n      if (configuration) {\n        baseOptions = configuration.baseOptions;\n      }\n\n      const localVarRequestOptions = {\n        method: \"POST\",\n        ...baseOptions,\n        ...options,\n      };\n      const localVarHeaderParameter = {} as any;\n      const localVarQueryParameter = {} as any;\n\n      if (start !== undefined) {\n        localVarQueryParameter[\"start\"] = start;\n      }\n\n      if (limit !== undefined) {\n        localVarQueryParameter[\"limit\"] = limit;\n      }\n\n      localVarHeaderParameter[\"Content-Type\"] =\n        \"application/vnd.sas.compute.data.table.columns.request+json\";\n\n      setSearchParams(localVarUrlObj, localVarQueryParameter);\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {};\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      };\n      localVarRequestOptions.data = serializeDataIfNeeded(\n        columnsRequest,\n        localVarRequestOptions,\n        configuration,\n      );\n\n      return {\n        url: toPathString(localVarUrlObj),\n        options: localVarRequestOptions,\n      };\n    },\n    /**\n     * Provides a listing that contains summaries of the libraries that are defined in the current session.\n     * @summary Return libraries in a session\n     * @param {string} sessionId Specifies the ID of the session.\n     * @param {'application/vnd.sas.compute.library+json' | 'application/vnd.sas.compute.library.summary+json'} [acceptItem] Specifies the desired library representation.&lt;br&gt; The Accept-Item options are: &lt;ul&gt; &lt;li&gt;application/vnd.sas.compute.library+json &lt;li&gt;application/vnd.sas.compute.library.summary+json &lt;li&gt;blank &lt;/ul&gt; If the application/vnd.sas.compute.library.summary+json type is specified or no Accept-Item header is specified, then the libraries are returned as summary representation library objects.\n     * @param {number} [start] Specifies the offset of the first library to return.\n     * @param {number} [limit] Specifies the maximum number of libraries to return.\n     * @param {boolean} [noCache] Specifies whether to force the library collection to be refreshed before it is returned.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    getLibraries: async (\n      sessionId: string,\n      acceptItem?:\n        | \"application/vnd.sas.compute.library+json\"\n        | \"application/vnd.sas.compute.library.summary+json\",\n      start?: number,\n      limit?: number,\n      noCache?: boolean,\n      options: AxiosRequestConfig = {},\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'sessionId' is not null or undefined\n      assertParamExists(\"getLibraries\", \"sessionId\", sessionId);\n      const localVarPath = `/sessions/{sessionId}/data`.replace(\n        `{${\"sessionId\"}}`,\n        encodeURIComponent(String(sessionId)),\n      );\n      // use dummy base URL string because the URL constructor only accepts absolute URLs.\n      const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n      let baseOptions;\n      if (configuration) {\n        baseOptions = configuration.baseOptions;\n      }\n\n      const localVarRequestOptions = {\n        method: \"GET\",\n        ...baseOptions,\n        ...options,\n      };\n      const localVarHeaderParameter = {} as any;\n      const localVarQueryParameter = {} as any;\n\n      if (start !== undefined) {\n        localVarQueryParameter[\"start\"] = start;\n      }\n\n      if (limit !== undefined) {\n        localVarQueryParameter[\"limit\"] = limit;\n      }\n\n      if (noCache !== undefined) {\n        localVarQueryParameter[\"noCache\"] = noCache;\n      }\n\n      if (acceptItem != null) {\n        localVarHeaderParameter[\"Accept-Item\"] = String(acceptItem);\n      }\n\n      setSearchParams(localVarUrlObj, localVarQueryParameter);\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {};\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      };\n\n      return {\n        url: toPathString(localVarUrlObj),\n        options: localVarRequestOptions,\n      };\n    },\n    /**\n     * Retrieves information about a specified libref, including links to tables.\n     * @summary Get libref information\n     * @param {string} sessionId Specifies the ID of the session.\n     * @param {string} libref Specifies the libref to query.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    getLibrary: async (\n      sessionId: string,\n      libref: string,\n      options: AxiosRequestConfig = {},\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'sessionId' is not null or undefined\n      assertParamExists(\"getLibrary\", \"sessionId\", sessionId);\n      // verify required parameter 'libref' is not null or undefined\n      assertParamExists(\"getLibrary\", \"libref\", libref);\n      const localVarPath = `/sessions/{sessionId}/data/{libref}`\n        .replace(`{${\"sessionId\"}}`, encodeURIComponent(String(sessionId)))\n        .replace(`{${\"libref\"}}`, encodeURIComponent(String(libref)));\n      // use dummy base URL string because the URL constructor only accepts absolute URLs.\n      const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n      let baseOptions;\n      if (configuration) {\n        baseOptions = configuration.baseOptions;\n      }\n\n      const localVarRequestOptions = {\n        method: \"GET\",\n        ...baseOptions,\n        ...options,\n      };\n      const localVarHeaderParameter = {} as any;\n      const localVarQueryParameter = {} as any;\n\n      setSearchParams(localVarUrlObj, localVarQueryParameter);\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {};\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      };\n\n      return {\n        url: toPathString(localVarUrlObj),\n        options: localVarRequestOptions,\n      };\n    },\n    /**\n     * Returns summary information about a specified libref.\n     * @summary Get libref summary\n     * @param {string} sessionId Specifies the ID of the session.\n     * @param {string} libref Specifies the libref to query.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    getLibrarySummary: async (\n      sessionId: string,\n      libref: string,\n      options: AxiosRequestConfig = {},\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'sessionId' is not null or undefined\n      assertParamExists(\"getLibrarySummary\", \"sessionId\", sessionId);\n      // verify required parameter 'libref' is not null or undefined\n      assertParamExists(\"getLibrarySummary\", \"libref\", libref);\n      const localVarPath = `/sessions/{sessionId}/data/{libref}#summary`\n        .replace(`{${\"sessionId\"}}`, encodeURIComponent(String(sessionId)))\n        .replace(`{${\"libref\"}}`, encodeURIComponent(String(libref)));\n      // use dummy base URL string because the URL constructor only accepts absolute URLs.\n      const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n      let baseOptions;\n      if (configuration) {\n        baseOptions = configuration.baseOptions;\n      }\n\n      const localVarRequestOptions = {\n        method: \"GET\",\n        ...baseOptions,\n        ...options,\n      };\n      const localVarHeaderParameter = {} as any;\n      const localVarQueryParameter = {} as any;\n\n      setSearchParams(localVarUrlObj, localVarQueryParameter);\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {};\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      };\n\n      return {\n        url: toPathString(localVarUrlObj),\n        options: localVarRequestOptions,\n      };\n    },\n    /**\n     * Returns content useful for populating prompts more effectively.\n     * @summary Get prompt content from a data set\n     * @param {string} sessionId Specifies the ID of the session.\n     * @param {string} libref Specifies the libref for the request.\n     * @param {string} tableName Specifies the table or data set to query.\n     * @param {string} [where] Specifies that a standard SAS WHERE clause was used to build the content for this request.\n     * @param {'names' | 'detail' | 'summary'} [columnDetail] Specifies the level of column information to return.\n     * @param {string} [includeColumns] Specifies a comma-separated list of columns to include in the returned content . If you do not specify a list, all columns are returned. The order of the column names in the list determines the order of cells of the return prompt content.\n     * @param {boolean} [columnNaturalOrder] When includeColumns is specified, a value of true for columnNatrualOrder specifies that the cells of the content are returned in the order in which they occur in the data set instead of in the order that is specified by includeColumns.\n     * @param {number} [start] Specifies the offset of the first row to return.\n     * @param {number} [limit] Specifies the maximum number of rows to return.\n     * @param {string} [sortBy] Sets the sort order for the returned row set.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    getPromptContent: async (\n      sessionId: string,\n      libref: string,\n      tableName: string,\n      where?: string,\n      columnDetail?: \"names\" | \"detail\" | \"summary\",\n      includeColumns?: string,\n      columnNaturalOrder?: boolean,\n      start?: number,\n      limit?: number,\n      sortBy?: string,\n      options: AxiosRequestConfig = {},\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'sessionId' is not null or undefined\n      assertParamExists(\"getPromptContent\", \"sessionId\", sessionId);\n      // verify required parameter 'libref' is not null or undefined\n      assertParamExists(\"getPromptContent\", \"libref\", libref);\n      // verify required parameter 'tableName' is not null or undefined\n      assertParamExists(\"getPromptContent\", \"tableName\", tableName);\n      const localVarPath =\n        `/sessions/{sessionId}/data/{libref}/{tableName}/promptContent`\n          .replace(`{${\"sessionId\"}}`, encodeURIComponent(String(sessionId)))\n          .replace(`{${\"libref\"}}`, encodeURIComponent(String(libref)))\n          .replace(`{${\"tableName\"}}`, encodeURIComponent(String(tableName)));\n      // use dummy base URL string because the URL constructor only accepts absolute URLs.\n      const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n      let baseOptions;\n      if (configuration) {\n        baseOptions = configuration.baseOptions;\n      }\n\n      const localVarRequestOptions = {\n        method: \"GET\",\n        ...baseOptions,\n        ...options,\n      };\n      const localVarHeaderParameter = {} as any;\n      const localVarQueryParameter = {} as any;\n\n      if (where !== undefined) {\n        localVarQueryParameter[\"where\"] = where;\n      }\n\n      if (columnDetail !== undefined) {\n        localVarQueryParameter[\"columnDetail\"] = columnDetail;\n      }\n\n      if (includeColumns !== undefined) {\n        localVarQueryParameter[\"includeColumns\"] = includeColumns;\n      }\n\n      if (columnNaturalOrder !== undefined) {\n        localVarQueryParameter[\"columnNaturalOrder\"] = columnNaturalOrder;\n      }\n\n      if (start !== undefined) {\n        localVarQueryParameter[\"start\"] = start;\n      }\n\n      if (limit !== undefined) {\n        localVarQueryParameter[\"limit\"] = limit;\n      }\n\n      if (sortBy !== undefined) {\n        localVarQueryParameter[\"sortBy\"] = sortBy;\n      }\n\n      setSearchParams(localVarUrlObj, localVarQueryParameter);\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {};\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      };\n\n      return {\n        url: toPathString(localVarUrlObj),\n        options: localVarRequestOptions,\n      };\n    },\n    /**\n     * Returns content useful for populating prompts more effectively.\n     * @summary Get prompt content from a data set\n     * @param {string} sessionId Specifies the ID of the session.\n     * @param {string} libref Specifies the libref for the request.\n     * @param {string} tableName Specifies the table or data set to query.\n     * @param {PromptContentRequest} promptContentRequest Specifies a prompt content creation request.\n     * @param {number} [start] Specifies the offset of the first row to return.\n     * @param {number} [limit] Specifies the maximum number of rows to return.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    getPromptContentWithRequest: async (\n      sessionId: string,\n      libref: string,\n      tableName: string,\n      promptContentRequest: PromptContentRequest,\n      start?: number,\n      limit?: number,\n      options: AxiosRequestConfig = {},\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'sessionId' is not null or undefined\n      assertParamExists(\"getPromptContentWithRequest\", \"sessionId\", sessionId);\n      // verify required parameter 'libref' is not null or undefined\n      assertParamExists(\"getPromptContentWithRequest\", \"libref\", libref);\n      // verify required parameter 'tableName' is not null or undefined\n      assertParamExists(\"getPromptContentWithRequest\", \"tableName\", tableName);\n      // verify required parameter 'promptContentRequest' is not null or undefined\n      assertParamExists(\n        \"getPromptContentWithRequest\",\n        \"promptContentRequest\",\n        promptContentRequest,\n      );\n      const localVarPath =\n        `/sessions/{sessionId}/data/{libref}/{tableName}/promptContent`\n          .replace(`{${\"sessionId\"}}`, encodeURIComponent(String(sessionId)))\n          .replace(`{${\"libref\"}}`, encodeURIComponent(String(libref)))\n          .replace(`{${\"tableName\"}}`, encodeURIComponent(String(tableName)));\n      // use dummy base URL string because the URL constructor only accepts absolute URLs.\n      const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n      let baseOptions;\n      if (configuration) {\n        baseOptions = configuration.baseOptions;\n      }\n\n      const localVarRequestOptions = {\n        method: \"POST\",\n        ...baseOptions,\n        ...options,\n      };\n      const localVarHeaderParameter = {} as any;\n      const localVarQueryParameter = {} as any;\n\n      if (start !== undefined) {\n        localVarQueryParameter[\"start\"] = start;\n      }\n\n      if (limit !== undefined) {\n        localVarQueryParameter[\"limit\"] = limit;\n      }\n\n      localVarHeaderParameter[\"Content-Type\"] =\n        \"application/vnd.sas.compute.data.table.prompt.content.request+json\";\n\n      setSearchParams(localVarUrlObj, localVarQueryParameter);\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {};\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      };\n      localVarRequestOptions.data = serializeDataIfNeeded(\n        promptContentRequest,\n        localVarRequestOptions,\n        configuration,\n      );\n\n      return {\n        url: toPathString(localVarUrlObj),\n        options: localVarRequestOptions,\n      };\n    },\n    /**\n     * Returns a row set that is based on the specified table and an optional WHERE clause.\n     * @summary Get a row set from a data set\n     * @param {string} sessionId Specifies the ID of the session.\n     * @param {string} libref Specifies the libref for the request.\n     * @param {string} tableName Specifies the table or data set to query.\n     * @param {string} [where] Specifies that a standard SAS WHERE clause was used to build the row set for this request.\n     * @param {boolean} [format] Specifies whether to format the data in the cells.\n     * @param {'names' | 'detail' | 'summary'} [columnDetail] Specifies the level of column information to return.\n     * @param {string} [includeColumns] Specifies a comma-separated list of columns to include in a row set. If you do not specify a list, all columns are returned. The order of the column names in the list determines the order of cells of the row set.\n     * @param {boolean} [columnNaturalOrder] When includeColumns is specified, a value of true for columnNatrualOrder specifies that the cells of the row set are returned in the order in which they occur in the data set instead of in the order that is specified by includeColumns.\n     * @param {number} [start] Specifies the offset of the first row to return.\n     * @param {number} [limit] Specifies the maximum number of rows to return.\n     * @param {string} [sortBy] Sets the sort order for the returned row set.\n     * @param {boolean} [formatMissingValues] If set to true, SAS missing values found in the data will be formatted based on the setting of the SAS Option MISSING.   Otherwise, a NULL value will be returned.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    getRowSet: async (\n      sessionId: string,\n      libref: string,\n      tableName: string,\n      where?: string,\n      format?: boolean,\n      columnDetail?: \"names\" | \"detail\" | \"summary\",\n      includeColumns?: string,\n      columnNaturalOrder?: boolean,\n      start?: number,\n      limit?: number,\n      sortBy?: string,\n      formatMissingValues?: boolean,\n      options: AxiosRequestConfig = {},\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'sessionId' is not null or undefined\n      assertParamExists(\"getRowSet\", \"sessionId\", sessionId);\n      // verify required parameter 'libref' is not null or undefined\n      assertParamExists(\"getRowSet\", \"libref\", libref);\n      // verify required parameter 'tableName' is not null or undefined\n      assertParamExists(\"getRowSet\", \"tableName\", tableName);\n      const localVarPath =\n        `/sessions/{sessionId}/data/{libref}/{tableName}/rowSet`\n          .replace(`{${\"sessionId\"}}`, encodeURIComponent(String(sessionId)))\n          .replace(`{${\"libref\"}}`, encodeURIComponent(String(libref)))\n          .replace(`{${\"tableName\"}}`, encodeURIComponent(String(tableName)));\n      // use dummy base URL string because the URL constructor only accepts absolute URLs.\n      const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n      let baseOptions;\n      if (configuration) {\n        baseOptions = configuration.baseOptions;\n      }\n\n      const localVarRequestOptions = {\n        method: \"GET\",\n        ...baseOptions,\n        ...options,\n      };\n      const localVarHeaderParameter = {} as any;\n      const localVarQueryParameter = {} as any;\n\n      if (where !== undefined) {\n        localVarQueryParameter[\"where\"] = where;\n      }\n\n      if (format !== undefined) {\n        localVarQueryParameter[\"format\"] = format;\n      }\n\n      if (columnDetail !== undefined) {\n        localVarQueryParameter[\"columnDetail\"] = columnDetail;\n      }\n\n      if (includeColumns !== undefined) {\n        localVarQueryParameter[\"includeColumns\"] = includeColumns;\n      }\n\n      if (columnNaturalOrder !== undefined) {\n        localVarQueryParameter[\"columnNaturalOrder\"] = columnNaturalOrder;\n      }\n\n      if (start !== undefined) {\n        localVarQueryParameter[\"start\"] = start;\n      }\n\n      if (limit !== undefined) {\n        localVarQueryParameter[\"limit\"] = limit;\n      }\n\n      if (sortBy !== undefined) {\n        localVarQueryParameter[\"sortBy\"] = sortBy;\n      }\n\n      if (formatMissingValues !== undefined) {\n        localVarQueryParameter[\"formatMissingValues\"] = formatMissingValues;\n      }\n\n      setSearchParams(localVarUrlObj, localVarQueryParameter);\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {};\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      };\n\n      return {\n        url: toPathString(localVarUrlObj),\n        options: localVarRequestOptions,\n      };\n    },\n    /**\n     * Returns a row set that is based on the specified request body.\n     * @summary Get a row set from a data set\n     * @param {string} sessionId Specifies the ID of the session.\n     * @param {string} libref Specifies the libref for the request.\n     * @param {string} tableName Specifies the table or data set to query.\n     * @param {RowSetRequest} rowSetRequest Specifies a row set creation request.\n     * @param {boolean} [format] Specifies whether to format the data in the cells.\n     * @param {number} [start] Specifies the offset of the first row to return.\n     * @param {number} [limit] Specifies the maximum number of rows to return.\n     * @param {boolean} [formatMissingValues] If set to true, SAS missing values found in the data will be formatted based on the setting of the SAS Option MISSING.   Otherwise, a NULL value will be returned.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    getRowSetWithRequest: async (\n      sessionId: string,\n      libref: string,\n      tableName: string,\n      rowSetRequest: RowSetRequest,\n      format?: boolean,\n      start?: number,\n      limit?: number,\n      formatMissingValues?: boolean,\n      options: AxiosRequestConfig = {},\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'sessionId' is not null or undefined\n      assertParamExists(\"getRowSetWithRequest\", \"sessionId\", sessionId);\n      // verify required parameter 'libref' is not null or undefined\n      assertParamExists(\"getRowSetWithRequest\", \"libref\", libref);\n      // verify required parameter 'tableName' is not null or undefined\n      assertParamExists(\"getRowSetWithRequest\", \"tableName\", tableName);\n      // verify required parameter 'rowSetRequest' is not null or undefined\n      assertParamExists(\"getRowSetWithRequest\", \"rowSetRequest\", rowSetRequest);\n      const localVarPath =\n        `/sessions/{sessionId}/data/{libref}/{tableName}/rowSet`\n          .replace(`{${\"sessionId\"}}`, encodeURIComponent(String(sessionId)))\n          .replace(`{${\"libref\"}}`, encodeURIComponent(String(libref)))\n          .replace(`{${\"tableName\"}}`, encodeURIComponent(String(tableName)));\n      // use dummy base URL string because the URL constructor only accepts absolute URLs.\n      const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n      let baseOptions;\n      if (configuration) {\n        baseOptions = configuration.baseOptions;\n      }\n\n      const localVarRequestOptions = {\n        method: \"POST\",\n        ...baseOptions,\n        ...options,\n      };\n      const localVarHeaderParameter = {} as any;\n      const localVarQueryParameter = {} as any;\n\n      if (format !== undefined) {\n        localVarQueryParameter[\"format\"] = format;\n      }\n\n      if (start !== undefined) {\n        localVarQueryParameter[\"start\"] = start;\n      }\n\n      if (limit !== undefined) {\n        localVarQueryParameter[\"limit\"] = limit;\n      }\n\n      if (formatMissingValues !== undefined) {\n        localVarQueryParameter[\"formatMissingValues\"] = formatMissingValues;\n      }\n\n      localVarHeaderParameter[\"Content-Type\"] =\n        \"application/vnd.sas.compute.data.table.row.set.request+json\";\n\n      setSearchParams(localVarUrlObj, localVarQueryParameter);\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {};\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      };\n      localVarRequestOptions.data = serializeDataIfNeeded(\n        rowSetRequest,\n        localVarRequestOptions,\n        configuration,\n      );\n\n      return {\n        url: toPathString(localVarUrlObj),\n        options: localVarRequestOptions,\n      };\n    },\n    /**\n     * Returns the rows for a specified data set. By default, a collection is returned, and standard paging options are available.\n     * @summary Get row information\n     * @param {string} sessionId Specifies the ID of the session.\n     * @param {string} libref Specifies the libref for the request.\n     * @param {string} tableName Specifies the table or data set to query.\n     * @param {number} [start] Specifies the offset of the first row to return.\n     * @param {number} [limit] Specifies the maximum number of rows to return.\n     * @param {boolean} [format] Specifies whether to format the data in the cells.\n     * @param {boolean} [includeIndex] Specifies whether the first value in the cell is the index of the requested row. Support for this parameter was added in version 2.\n     * @param {string} [where] Specifies that a standard SAS WHERE clause was used to return the rows for this request.\n     * @param {boolean} [includeColumnNames] Specifies whether the first row that is returned consists of column names.\n     * @param {boolean} [formatMissingValues] If set to true, SAS missing values found in the data will be formatted based on the setting of the SAS Option MISSING.   Otherwise, a NULL value will be returned.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    getRows: async (\n      sessionId: string,\n      libref: string,\n      tableName: string,\n      start?: number,\n      limit?: number,\n      format?: boolean,\n      includeIndex?: boolean,\n      where?: string,\n      includeColumnNames?: boolean,\n      formatMissingValues?: boolean,\n      options: AxiosRequestConfig = {},\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'sessionId' is not null or undefined\n      assertParamExists(\"getRows\", \"sessionId\", sessionId);\n      // verify required parameter 'libref' is not null or undefined\n      assertParamExists(\"getRows\", \"libref\", libref);\n      // verify required parameter 'tableName' is not null or undefined\n      assertParamExists(\"getRows\", \"tableName\", tableName);\n      const localVarPath =\n        `/sessions/{sessionId}/data/{libref}/{tableName}/rows`\n          .replace(`{${\"sessionId\"}}`, encodeURIComponent(String(sessionId)))\n          .replace(`{${\"libref\"}}`, encodeURIComponent(String(libref)))\n          .replace(`{${\"tableName\"}}`, encodeURIComponent(String(tableName)));\n      // use dummy base URL string because the URL constructor only accepts absolute URLs.\n      const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n      let baseOptions;\n      if (configuration) {\n        baseOptions = configuration.baseOptions;\n      }\n\n      const localVarRequestOptions = {\n        method: \"GET\",\n        ...baseOptions,\n        ...options,\n      };\n      const localVarHeaderParameter = {} as any;\n      const localVarQueryParameter = {} as any;\n\n      if (start !== undefined) {\n        localVarQueryParameter[\"start\"] = start;\n      }\n\n      if (limit !== undefined) {\n        localVarQueryParameter[\"limit\"] = limit;\n      }\n\n      if (format !== undefined) {\n        localVarQueryParameter[\"format\"] = format;\n      }\n\n      if (includeIndex !== undefined) {\n        localVarQueryParameter[\"includeIndex\"] = includeIndex;\n      }\n\n      if (where !== undefined) {\n        localVarQueryParameter[\"where\"] = where;\n      }\n\n      if (includeColumnNames !== undefined) {\n        localVarQueryParameter[\"includeColumnNames\"] = includeColumnNames;\n      }\n\n      if (formatMissingValues !== undefined) {\n        localVarQueryParameter[\"formatMissingValues\"] = formatMissingValues;\n      }\n\n      setSearchParams(localVarUrlObj, localVarQueryParameter);\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {};\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      };\n\n      return {\n        url: toPathString(localVarUrlObj),\n        options: localVarRequestOptions,\n      };\n    },\n    /**\n     * Returns rows in CSV format for a specified data set.\n     * @summary Get row information as comma-separated values\n     * @param {string} sessionId Specifies the ID of the session.\n     * @param {string} libref Specifies the libref for the request.\n     * @param {string} tableName Specifies the table or data set to query.\n     * @param {number} [start] Specifies the offset of the first row to return.\n     * @param {number} [limit] (Optional) Specifies the maximum number of rows to return. If not set, all rows are returned.\n     * @param {boolean} [format] Specifies whether to format the data in the cells.\n     * @param {boolean} [includeIndex] Specifies whether the first value in the cell is the index of the requested row. Support for this parameter was added in version 2.\n     * @param {string} [where] Specifies that a standard SAS WHERE clause has been used to return the rows for this request.\n     * @param {boolean} [includeColumnNames] Specifies whether the first row that is returned consists of column names.\n     * @param {string} [columnSeparator] Specifies the character to use as the column separator. If no character is specified, a comma is used as the separator.\n     * @param {string} [rowSeparator] Specifies the characters to use as the row separator. If no characters are specified, a line feed character (\\\\n) is used.\n     * @param {boolean} [enableQuoting] Specifies whether values that contain special characters are quoted.\n     * @param {boolean} [enableEscaping] Specifies whether special characters in values are escaped if the value is not quoted.\n     * @param {boolean} [formatMissingValues] If set to true, SAS missing values found in the data will be formatted based on the setting of the SAS Option MISSING.   Otherwise, a NULL value will be returned.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    getRowsAsCSV: async (\n      sessionId: string,\n      libref: string,\n      tableName: string,\n      start?: number,\n      limit?: number,\n      format?: boolean,\n      includeIndex?: boolean,\n      where?: string,\n      includeColumnNames?: boolean,\n      columnSeparator?: string,\n      rowSeparator?: string,\n      enableQuoting?: boolean,\n      enableEscaping?: boolean,\n      formatMissingValues?: boolean,\n      options: AxiosRequestConfig = {},\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'sessionId' is not null or undefined\n      assertParamExists(\"getRowsAsCSV\", \"sessionId\", sessionId);\n      // verify required parameter 'libref' is not null or undefined\n      assertParamExists(\"getRowsAsCSV\", \"libref\", libref);\n      // verify required parameter 'tableName' is not null or undefined\n      assertParamExists(\"getRowsAsCSV\", \"tableName\", tableName);\n      const localVarPath =\n        `/sessions/{sessionId}/data/{libref}/{tableName}/rows#CSV`\n          .replace(`{${\"sessionId\"}}`, encodeURIComponent(String(sessionId)))\n          .replace(`{${\"libref\"}}`, encodeURIComponent(String(libref)))\n          .replace(`{${\"tableName\"}}`, encodeURIComponent(String(tableName)));\n      // use dummy base URL string because the URL constructor only accepts absolute URLs.\n      const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n      let baseOptions;\n      if (configuration) {\n        baseOptions = configuration.baseOptions;\n      }\n\n      const localVarRequestOptions = {\n        method: \"GET\",\n        ...baseOptions,\n        ...options,\n      };\n      const localVarHeaderParameter = {} as any;\n      const localVarQueryParameter = {} as any;\n\n      if (start !== undefined) {\n        localVarQueryParameter[\"start\"] = start;\n      }\n\n      if (limit !== undefined) {\n        localVarQueryParameter[\"limit\"] = limit;\n      }\n\n      if (format !== undefined) {\n        localVarQueryParameter[\"format\"] = format;\n      }\n\n      if (includeIndex !== undefined) {\n        localVarQueryParameter[\"includeIndex\"] = includeIndex;\n      }\n\n      if (where !== undefined) {\n        localVarQueryParameter[\"where\"] = where;\n      }\n\n      if (includeColumnNames !== undefined) {\n        localVarQueryParameter[\"includeColumnNames\"] = includeColumnNames;\n      }\n\n      if (columnSeparator !== undefined) {\n        localVarQueryParameter[\"columnSeparator\"] = columnSeparator;\n      }\n\n      if (rowSeparator !== undefined) {\n        localVarQueryParameter[\"rowSeparator\"] = rowSeparator;\n      }\n\n      if (enableQuoting !== undefined) {\n        localVarQueryParameter[\"enableQuoting\"] = enableQuoting;\n      }\n\n      if (enableEscaping !== undefined) {\n        localVarQueryParameter[\"enableEscaping\"] = enableEscaping;\n      }\n\n      if (formatMissingValues !== undefined) {\n        localVarQueryParameter[\"formatMissingValues\"] = formatMissingValues;\n      }\n\n      setSearchParams(localVarUrlObj, localVarQueryParameter);\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {};\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      };\n\n      return {\n        url: toPathString(localVarUrlObj),\n        options: localVarRequestOptions,\n      };\n    },\n    /**\n     * Returns the rows for a specified data set based on the submitted request body. By default, a collection is returned, and standard paging options are available.\n     * @summary Obtain rows from a data set\n     * @param {string} sessionId Specifies the ID of the session.\n     * @param {string} libref Specifies the libref for the request.\n     * @param {string} tableName Specifies the table or data set to query.\n     * @param {RowsRequest} rowsRequest Specifies a row-generation request.\n     * @param {number} [start] Specifies the offset of the first row to return.\n     * @param {number} [limit] Specifies the maximum number of rows to return.\n     * @param {boolean} [format] Specifies whether to format the data in the cells.\n     * @param {boolean} [includeIndex] Specifies whether the first value in the cell is the index of a specific row. Support for this parameter was added in version 2.\n     * @param {boolean} [formatMissingValues] If set to true, SAS missing values found in the data will be formatted based on the setting of the SAS Option MISSING.   Otherwise, a NULL value will be returned.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    getRowsWithRequest: async (\n      sessionId: string,\n      libref: string,\n      tableName: string,\n      rowsRequest: RowsRequest,\n      start?: number,\n      limit?: number,\n      format?: boolean,\n      includeIndex?: boolean,\n      formatMissingValues?: boolean,\n      options: AxiosRequestConfig = {},\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'sessionId' is not null or undefined\n      assertParamExists(\"getRowsWithRequest\", \"sessionId\", sessionId);\n      // verify required parameter 'libref' is not null or undefined\n      assertParamExists(\"getRowsWithRequest\", \"libref\", libref);\n      // verify required parameter 'tableName' is not null or undefined\n      assertParamExists(\"getRowsWithRequest\", \"tableName\", tableName);\n      // verify required parameter 'rowsRequest' is not null or undefined\n      assertParamExists(\"getRowsWithRequest\", \"rowsRequest\", rowsRequest);\n      const localVarPath =\n        `/sessions/{sessionId}/data/{libref}/{tableName}/rows`\n          .replace(`{${\"sessionId\"}}`, encodeURIComponent(String(sessionId)))\n          .replace(`{${\"libref\"}}`, encodeURIComponent(String(libref)))\n          .replace(`{${\"tableName\"}}`, encodeURIComponent(String(tableName)));\n      // use dummy base URL string because the URL constructor only accepts absolute URLs.\n      const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n      let baseOptions;\n      if (configuration) {\n        baseOptions = configuration.baseOptions;\n      }\n\n      const localVarRequestOptions = {\n        method: \"POST\",\n        ...baseOptions,\n        ...options,\n      };\n      const localVarHeaderParameter = {} as any;\n      const localVarQueryParameter = {} as any;\n\n      if (start !== undefined) {\n        localVarQueryParameter[\"start\"] = start;\n      }\n\n      if (limit !== undefined) {\n        localVarQueryParameter[\"limit\"] = limit;\n      }\n\n      if (format !== undefined) {\n        localVarQueryParameter[\"format\"] = format;\n      }\n\n      if (includeIndex !== undefined) {\n        localVarQueryParameter[\"includeIndex\"] = includeIndex;\n      }\n\n      if (formatMissingValues !== undefined) {\n        localVarQueryParameter[\"formatMissingValues\"] = formatMissingValues;\n      }\n\n      localVarHeaderParameter[\"Content-Type\"] =\n        \"application/vnd.sas.compute.data.table.rows.request+json\";\n\n      setSearchParams(localVarUrlObj, localVarQueryParameter);\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {};\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      };\n      localVarRequestOptions.data = serializeDataIfNeeded(\n        rowsRequest,\n        localVarRequestOptions,\n        configuration,\n      );\n\n      return {\n        url: toPathString(localVarUrlObj),\n        options: localVarRequestOptions,\n      };\n    },\n    /**\n     * Returns information about a data set.\n     * @summary Get a data set\n     * @param {string} sessionId Specifies the ID of the session.\n     * @param {string} libref Specifies the libref for the request.\n     * @param {string} tableName Specifies the table or data set to query.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    getTable: async (\n      sessionId: string,\n      libref: string,\n      tableName: string,\n      options: AxiosRequestConfig = {},\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'sessionId' is not null or undefined\n      assertParamExists(\"getTable\", \"sessionId\", sessionId);\n      // verify required parameter 'libref' is not null or undefined\n      assertParamExists(\"getTable\", \"libref\", libref);\n      // verify required parameter 'tableName' is not null or undefined\n      assertParamExists(\"getTable\", \"tableName\", tableName);\n      const localVarPath = `/sessions/{sessionId}/data/{libref}/{tableName}`\n        .replace(`{${\"sessionId\"}}`, encodeURIComponent(String(sessionId)))\n        .replace(`{${\"libref\"}}`, encodeURIComponent(String(libref)))\n        .replace(`{${\"tableName\"}}`, encodeURIComponent(String(tableName)));\n      // use dummy base URL string because the URL constructor only accepts absolute URLs.\n      const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n      let baseOptions;\n      if (configuration) {\n        baseOptions = configuration.baseOptions;\n      }\n\n      const localVarRequestOptions = {\n        method: \"GET\",\n        ...baseOptions,\n        ...options,\n      };\n      const localVarHeaderParameter = {} as any;\n      const localVarQueryParameter = {} as any;\n\n      setSearchParams(localVarUrlObj, localVarQueryParameter);\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {};\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      };\n\n      return {\n        url: toPathString(localVarUrlObj),\n        options: localVarRequestOptions,\n      };\n    },\n    /**\n     * Returns summary information about a data set.\n     * @summary Get a summary of a data set\n     * @param {string} sessionId Specifies the ID of the session.\n     * @param {string} libref Specifies the libref for the request.\n     * @param {string} tableName Specifies the table or data set to query.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    getTableSummary: async (\n      sessionId: string,\n      libref: string,\n      tableName: string,\n      options: AxiosRequestConfig = {},\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'sessionId' is not null or undefined\n      assertParamExists(\"getTableSummary\", \"sessionId\", sessionId);\n      // verify required parameter 'libref' is not null or undefined\n      assertParamExists(\"getTableSummary\", \"libref\", libref);\n      // verify required parameter 'tableName' is not null or undefined\n      assertParamExists(\"getTableSummary\", \"tableName\", tableName);\n      const localVarPath =\n        `/sessions/{sessionId}/data/{libref}/{tableName}#summary`\n          .replace(`{${\"sessionId\"}}`, encodeURIComponent(String(sessionId)))\n          .replace(`{${\"libref\"}}`, encodeURIComponent(String(libref)))\n          .replace(`{${\"tableName\"}}`, encodeURIComponent(String(tableName)));\n      // use dummy base URL string because the URL constructor only accepts absolute URLs.\n      const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n      let baseOptions;\n      if (configuration) {\n        baseOptions = configuration.baseOptions;\n      }\n\n      const localVarRequestOptions = {\n        method: \"GET\",\n        ...baseOptions,\n        ...options,\n      };\n      const localVarHeaderParameter = {} as any;\n      const localVarQueryParameter = {} as any;\n\n      setSearchParams(localVarUrlObj, localVarQueryParameter);\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {};\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      };\n\n      return {\n        url: toPathString(localVarUrlObj),\n        options: localVarRequestOptions,\n      };\n    },\n    /**\n     * Returns a collection of data sets that are associated with a specified libref. Set the Accept header on this method to application/vnd.sas.collection+json. The collection contains application/vnd.sas.compute.data.table.summary items.  Standard paging options are provided.\n     * @summary Get data sets in a libref\n     * @param {string} sessionId Specifies the ID of the session.\n     * @param {string} libref Specifies the libref to query.\n     * @param {'application/vnd.sas.compute.data.table+json'} [acceptItem] Specifies the desired data table representation.&lt;br&gt; The Accept-Item options are: &lt;ul&gt; &lt;li&gt;application/vnd.sas.compute.data.table+json &lt;li&gt;application/vnd.sas.compute.data.table.summary+json &lt;li&gt;blank &lt;/ul&gt; If the application/vnd.sas.compute.data.table.summary+json type is specified or no Accept-Item header is specified, then the data tables are returned as summary representation data table objects.\n     * @param {number} [start] Specifies the offset of the first table summary to return.\n     * @param {number} [limit] Specifies the maximum number of table summaries to return.\n     * @param {boolean} [noCache] Specifies whether to force the table collection to be refreshed before it is returned.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    getTables: async (\n      sessionId: string,\n      libref: string,\n      acceptItem?: \"application/vnd.sas.compute.data.table+json\",\n      start?: number,\n      limit?: number,\n      noCache?: boolean,\n      options: AxiosRequestConfig = {},\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'sessionId' is not null or undefined\n      assertParamExists(\"getTables\", \"sessionId\", sessionId);\n      // verify required parameter 'libref' is not null or undefined\n      assertParamExists(\"getTables\", \"libref\", libref);\n      const localVarPath = `/sessions/{sessionId}/data/{libref}#tables`\n        .replace(`{${\"sessionId\"}}`, encodeURIComponent(String(sessionId)))\n        .replace(`{${\"libref\"}}`, encodeURIComponent(String(libref)));\n      // use dummy base URL string because the URL constructor only accepts absolute URLs.\n      const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n      let baseOptions;\n      if (configuration) {\n        baseOptions = configuration.baseOptions;\n      }\n\n      const localVarRequestOptions = {\n        method: \"GET\",\n        ...baseOptions,\n        ...options,\n      };\n      const localVarHeaderParameter = {} as any;\n      const localVarQueryParameter = {} as any;\n\n      if (start !== undefined) {\n        localVarQueryParameter[\"start\"] = start;\n      }\n\n      if (limit !== undefined) {\n        localVarQueryParameter[\"limit\"] = limit;\n      }\n\n      if (noCache !== undefined) {\n        localVarQueryParameter[\"noCache\"] = noCache;\n      }\n\n      if (acceptItem != null) {\n        localVarHeaderParameter[\"Accept-Item\"] = String(acceptItem);\n      }\n\n      setSearchParams(localVarUrlObj, localVarQueryParameter);\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {};\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      };\n\n      return {\n        url: toPathString(localVarUrlObj),\n        options: localVarRequestOptions,\n      };\n    },\n    /**\n     * Determines whether a specified data set has access to a column.\n     * @summary Check for a column in a table\n     * @param {string} sessionId Specifies the ID of the session.\n     * @param {string} libref Specifies the libref for the request.\n     * @param {string} tableName Specifies the table or data set to query.\n     * @param {string} columnName Specifies the column name to check.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    headersForColumn: async (\n      sessionId: string,\n      libref: string,\n      tableName: string,\n      columnName: string,\n      options: AxiosRequestConfig = {},\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'sessionId' is not null or undefined\n      assertParamExists(\"headersForColumn\", \"sessionId\", sessionId);\n      // verify required parameter 'libref' is not null or undefined\n      assertParamExists(\"headersForColumn\", \"libref\", libref);\n      // verify required parameter 'tableName' is not null or undefined\n      assertParamExists(\"headersForColumn\", \"tableName\", tableName);\n      // verify required parameter 'columnName' is not null or undefined\n      assertParamExists(\"headersForColumn\", \"columnName\", columnName);\n      const localVarPath =\n        `/sessions/{sessionId}/data/{libref}/{tableName}/columns/{columnName}`\n          .replace(`{${\"sessionId\"}}`, encodeURIComponent(String(sessionId)))\n          .replace(`{${\"libref\"}}`, encodeURIComponent(String(libref)))\n          .replace(`{${\"tableName\"}}`, encodeURIComponent(String(tableName)))\n          .replace(`{${\"columnName\"}}`, encodeURIComponent(String(columnName)));\n      // use dummy base URL string because the URL constructor only accepts absolute URLs.\n      const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n      let baseOptions;\n      if (configuration) {\n        baseOptions = configuration.baseOptions;\n      }\n\n      const localVarRequestOptions = {\n        method: \"HEAD\",\n        ...baseOptions,\n        ...options,\n      };\n      const localVarHeaderParameter = {} as any;\n      const localVarQueryParameter = {} as any;\n\n      setSearchParams(localVarUrlObj, localVarQueryParameter);\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {};\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      };\n\n      return {\n        url: toPathString(localVarUrlObj),\n        options: localVarRequestOptions,\n      };\n    },\n    /**\n     * Determines whether the specified data set has access to columns.\n     * @summary Check for available columns in a table\n     * @param {string} sessionId Specifies the ID of the session.\n     * @param {string} libref Specifies the libref for the request.\n     * @param {string} tableName Specifies the table or data set to query.\n     * @param {number} [start] Specifies the offset of the first column entry to return.\n     * @param {number} [limit] Specifies the maximum number of columns to return.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    headersForColumns: async (\n      sessionId: string,\n      libref: string,\n      tableName: string,\n      start?: number,\n      limit?: number,\n      options: AxiosRequestConfig = {},\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'sessionId' is not null or undefined\n      assertParamExists(\"headersForColumns\", \"sessionId\", sessionId);\n      // verify required parameter 'libref' is not null or undefined\n      assertParamExists(\"headersForColumns\", \"libref\", libref);\n      // verify required parameter 'tableName' is not null or undefined\n      assertParamExists(\"headersForColumns\", \"tableName\", tableName);\n      const localVarPath =\n        `/sessions/{sessionId}/data/{libref}/{tableName}/columns`\n          .replace(`{${\"sessionId\"}}`, encodeURIComponent(String(sessionId)))\n          .replace(`{${\"libref\"}}`, encodeURIComponent(String(libref)))\n          .replace(`{${\"tableName\"}}`, encodeURIComponent(String(tableName)));\n      // use dummy base URL string because the URL constructor only accepts absolute URLs.\n      const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n      let baseOptions;\n      if (configuration) {\n        baseOptions = configuration.baseOptions;\n      }\n\n      const localVarRequestOptions = {\n        method: \"HEAD\",\n        ...baseOptions,\n        ...options,\n      };\n      const localVarHeaderParameter = {} as any;\n      const localVarQueryParameter = {} as any;\n\n      if (start !== undefined) {\n        localVarQueryParameter[\"start\"] = start;\n      }\n\n      if (limit !== undefined) {\n        localVarQueryParameter[\"limit\"] = limit;\n      }\n\n      setSearchParams(localVarUrlObj, localVarQueryParameter);\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {};\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      };\n\n      return {\n        url: toPathString(localVarUrlObj),\n        options: localVarRequestOptions,\n      };\n    },\n    /**\n     * Determines whether the specified libref exists in a session.\n     * @summary Verify that a libref exists\n     * @param {string} sessionId Specifies the ID of the session.\n     * @param {string} libref Specifies the libref to query.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    headersForLibrary: async (\n      sessionId: string,\n      libref: string,\n      options: AxiosRequestConfig = {},\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'sessionId' is not null or undefined\n      assertParamExists(\"headersForLibrary\", \"sessionId\", sessionId);\n      // verify required parameter 'libref' is not null or undefined\n      assertParamExists(\"headersForLibrary\", \"libref\", libref);\n      const localVarPath = `/sessions/{sessionId}/data/{libref}`\n        .replace(`{${\"sessionId\"}}`, encodeURIComponent(String(sessionId)))\n        .replace(`{${\"libref\"}}`, encodeURIComponent(String(libref)));\n      // use dummy base URL string because the URL constructor only accepts absolute URLs.\n      const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n      let baseOptions;\n      if (configuration) {\n        baseOptions = configuration.baseOptions;\n      }\n\n      const localVarRequestOptions = {\n        method: \"HEAD\",\n        ...baseOptions,\n        ...options,\n      };\n      const localVarHeaderParameter = {} as any;\n      const localVarQueryParameter = {} as any;\n\n      setSearchParams(localVarUrlObj, localVarQueryParameter);\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {};\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      };\n\n      return {\n        url: toPathString(localVarUrlObj),\n        options: localVarRequestOptions,\n      };\n    },\n    /**\n     * Determines headers for prompt content for a given data set.\n     * @summary Check prompt content availability\n     * @param {string} sessionId Specifies the ID of the session\n     * @param {string} libref Specifies the libref for the request.\n     * @param {string} tableName Specifies the table or data set to query.\n     * @param {string} [where] Specifies that a standard SAS WHERE clause was used to build the content for this request.\n     * @param {'names' | 'detail' | 'summary'} [columnDetail] Specifies the level of column information to return.\n     * @param {string} [includeColumns] Specifies a comma separated list of columns to include in the returned content. If you do not specify a list, all columns are returned. The order of the column names in the list is the order in which the cells of the content are in as well.\n     * @param {boolean} [columnNaturalOrder] When includeColumns is specified, a value of true for columnNatrualOrder specifies that the cells of the returned content are returned in the order in which they occur in the data set instead of in the order that is specified by includeColumns.\n     * @param {number} [start] Specifies the offset of the first row to return. The default value is \\&quot;0\\&quot;.\n     * @param {number} [limit] Specifies the maximum number of rows to return. The default value is \\&quot;10\\&quot;.\n     * @param {string} [sortBy] Sets the sort order for the returned prompt content.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    headersForPromptContent: async (\n      sessionId: string,\n      libref: string,\n      tableName: string,\n      where?: string,\n      columnDetail?: \"names\" | \"detail\" | \"summary\",\n      includeColumns?: string,\n      columnNaturalOrder?: boolean,\n      start?: number,\n      limit?: number,\n      sortBy?: string,\n      options: AxiosRequestConfig = {},\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'sessionId' is not null or undefined\n      assertParamExists(\"headersForPromptContent\", \"sessionId\", sessionId);\n      // verify required parameter 'libref' is not null or undefined\n      assertParamExists(\"headersForPromptContent\", \"libref\", libref);\n      // verify required parameter 'tableName' is not null or undefined\n      assertParamExists(\"headersForPromptContent\", \"tableName\", tableName);\n      const localVarPath =\n        `/sessions/{sessionId}/data/{libref}/{tableName}/promptContent`\n          .replace(`{${\"sessionId\"}}`, encodeURIComponent(String(sessionId)))\n          .replace(`{${\"libref\"}}`, encodeURIComponent(String(libref)))\n          .replace(`{${\"tableName\"}}`, encodeURIComponent(String(tableName)));\n      // use dummy base URL string because the URL constructor only accepts absolute URLs.\n      const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n      let baseOptions;\n      if (configuration) {\n        baseOptions = configuration.baseOptions;\n      }\n\n      const localVarRequestOptions = {\n        method: \"HEAD\",\n        ...baseOptions,\n        ...options,\n      };\n      const localVarHeaderParameter = {} as any;\n      const localVarQueryParameter = {} as any;\n\n      if (where !== undefined) {\n        localVarQueryParameter[\"where\"] = where;\n      }\n\n      if (columnDetail !== undefined) {\n        localVarQueryParameter[\"columnDetail\"] = columnDetail;\n      }\n\n      if (includeColumns !== undefined) {\n        localVarQueryParameter[\"includeColumns\"] = includeColumns;\n      }\n\n      if (columnNaturalOrder !== undefined) {\n        localVarQueryParameter[\"columnNaturalOrder\"] = columnNaturalOrder;\n      }\n\n      if (start !== undefined) {\n        localVarQueryParameter[\"start\"] = start;\n      }\n\n      if (limit !== undefined) {\n        localVarQueryParameter[\"limit\"] = limit;\n      }\n\n      if (sortBy !== undefined) {\n        localVarQueryParameter[\"sortBy\"] = sortBy;\n      }\n\n      setSearchParams(localVarUrlObj, localVarQueryParameter);\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {};\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      };\n\n      return {\n        url: toPathString(localVarUrlObj),\n        options: localVarRequestOptions,\n      };\n    },\n    /**\n     * Determines whether a data set has access to a specific row.\n     * @summary Check row availability\n     * @param {string} sessionId Specifies the ID of the session.\n     * @param {string} libref Specifies the libref for the request.\n     * @param {string} tableName Specifies the table or data set to query.\n     * @param {number} [start] Specifies the offset of the first row to return.\n     * @param {number} [limit] Specifies the maximum number of rows to return.\n     * @param {boolean} [format] Specifies whether to format the data in the cells.\n     * @param {boolean} [includeIndex] Specifies whether the first value in the cell is the index of the requested row. Support for this parameter was added in version 2.\n     * @param {string} [where] Specifies that a standard SAS WHERE clause was used to return the rows for this request.\n     * @param {boolean} [includeColumnNames] Specifies whether the first row that is returned consists of column names.\n     * @param {boolean} [formatMissingValues] If set to true, SAS missing values found in the data will be formatted based on the setting of the SAS Option MISSING.   Otherwise, a NULL value will be returned.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    headersForRow: async (\n      sessionId: string,\n      libref: string,\n      tableName: string,\n      start?: number,\n      limit?: number,\n      format?: boolean,\n      includeIndex?: boolean,\n      where?: string,\n      includeColumnNames?: boolean,\n      formatMissingValues?: boolean,\n      options: AxiosRequestConfig = {},\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'sessionId' is not null or undefined\n      assertParamExists(\"headersForRow\", \"sessionId\", sessionId);\n      // verify required parameter 'libref' is not null or undefined\n      assertParamExists(\"headersForRow\", \"libref\", libref);\n      // verify required parameter 'tableName' is not null or undefined\n      assertParamExists(\"headersForRow\", \"tableName\", tableName);\n      const localVarPath =\n        `/sessions/{sessionId}/data/{libref}/{tableName}/rows`\n          .replace(`{${\"sessionId\"}}`, encodeURIComponent(String(sessionId)))\n          .replace(`{${\"libref\"}}`, encodeURIComponent(String(libref)))\n          .replace(`{${\"tableName\"}}`, encodeURIComponent(String(tableName)));\n      // use dummy base URL string because the URL constructor only accepts absolute URLs.\n      const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n      let baseOptions;\n      if (configuration) {\n        baseOptions = configuration.baseOptions;\n      }\n\n      const localVarRequestOptions = {\n        method: \"HEAD\",\n        ...baseOptions,\n        ...options,\n      };\n      const localVarHeaderParameter = {} as any;\n      const localVarQueryParameter = {} as any;\n\n      if (start !== undefined) {\n        localVarQueryParameter[\"start\"] = start;\n      }\n\n      if (limit !== undefined) {\n        localVarQueryParameter[\"limit\"] = limit;\n      }\n\n      if (format !== undefined) {\n        localVarQueryParameter[\"format\"] = format;\n      }\n\n      if (includeIndex !== undefined) {\n        localVarQueryParameter[\"includeIndex\"] = includeIndex;\n      }\n\n      if (where !== undefined) {\n        localVarQueryParameter[\"where\"] = where;\n      }\n\n      if (includeColumnNames !== undefined) {\n        localVarQueryParameter[\"includeColumnNames\"] = includeColumnNames;\n      }\n\n      if (formatMissingValues !== undefined) {\n        localVarQueryParameter[\"formatMissingValues\"] = formatMissingValues;\n      }\n\n      setSearchParams(localVarUrlObj, localVarQueryParameter);\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {};\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      };\n\n      return {\n        url: toPathString(localVarUrlObj),\n        options: localVarRequestOptions,\n      };\n    },\n    /**\n     * Determines whether a row set is available on for a data set.\n     * @summary Check row set availability\n     * @param {string} sessionId Specifies the ID of the session\n     * @param {string} libref Specifies the libref for the request.\n     * @param {string} tableName Specifies the table or data set to query.\n     * @param {string} [where] Specifies that a standard SAS WHERE clause was used to build the row set for this request.\n     * @param {boolean} [format] Specifies whether to format the data in the cells.\n     * @param {'names' | 'detail' | 'summary'} [columnDetail] Specifies the level of column information to return.\n     * @param {string} [includeColumns] Specifies a comma separated list of columns to include in the row set. If you do not specify a list, all columns are returned. The order of the column names in the list is the order in which the cells of the row set are in as well.\n     * @param {boolean} [columnNaturalOrder] When includeColumns is specified, a value of true for columnNatrualOrder specifies that the cells of the row set are returned in the order in which they occur in the data set instead of in the order that is specified by includeColumns.\n     * @param {number} [start] Specifies the offset of the first row to return. The default value is \\&quot;0\\&quot;.\n     * @param {number} [limit] Specifies the maximum number of rows to return. The default value is \\&quot;10\\&quot;.\n     * @param {string} [sortBy] Sets the sort order for the returned row set.\n     * @param {boolean} [formatMissingValues] If set to true, SAS missing values found in the data will be formatted based on the setting of the SAS Option MISSING.   Otherwise, a NULL value will be returned.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    headersForRowSet: async (\n      sessionId: string,\n      libref: string,\n      tableName: string,\n      where?: string,\n      format?: boolean,\n      columnDetail?: \"names\" | \"detail\" | \"summary\",\n      includeColumns?: string,\n      columnNaturalOrder?: boolean,\n      start?: number,\n      limit?: number,\n      sortBy?: string,\n      formatMissingValues?: boolean,\n      options: AxiosRequestConfig = {},\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'sessionId' is not null or undefined\n      assertParamExists(\"headersForRowSet\", \"sessionId\", sessionId);\n      // verify required parameter 'libref' is not null or undefined\n      assertParamExists(\"headersForRowSet\", \"libref\", libref);\n      // verify required parameter 'tableName' is not null or undefined\n      assertParamExists(\"headersForRowSet\", \"tableName\", tableName);\n      const localVarPath =\n        `/sessions/{sessionId}/data/{libref}/{tableName}/rowSet`\n          .replace(`{${\"sessionId\"}}`, encodeURIComponent(String(sessionId)))\n          .replace(`{${\"libref\"}}`, encodeURIComponent(String(libref)))\n          .replace(`{${\"tableName\"}}`, encodeURIComponent(String(tableName)));\n      // use dummy base URL string because the URL constructor only accepts absolute URLs.\n      const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n      let baseOptions;\n      if (configuration) {\n        baseOptions = configuration.baseOptions;\n      }\n\n      const localVarRequestOptions = {\n        method: \"HEAD\",\n        ...baseOptions,\n        ...options,\n      };\n      const localVarHeaderParameter = {} as any;\n      const localVarQueryParameter = {} as any;\n\n      if (where !== undefined) {\n        localVarQueryParameter[\"where\"] = where;\n      }\n\n      if (format !== undefined) {\n        localVarQueryParameter[\"format\"] = format;\n      }\n\n      if (columnDetail !== undefined) {\n        localVarQueryParameter[\"columnDetail\"] = columnDetail;\n      }\n\n      if (includeColumns !== undefined) {\n        localVarQueryParameter[\"includeColumns\"] = includeColumns;\n      }\n\n      if (columnNaturalOrder !== undefined) {\n        localVarQueryParameter[\"columnNaturalOrder\"] = columnNaturalOrder;\n      }\n\n      if (start !== undefined) {\n        localVarQueryParameter[\"start\"] = start;\n      }\n\n      if (limit !== undefined) {\n        localVarQueryParameter[\"limit\"] = limit;\n      }\n\n      if (sortBy !== undefined) {\n        localVarQueryParameter[\"sortBy\"] = sortBy;\n      }\n\n      if (formatMissingValues !== undefined) {\n        localVarQueryParameter[\"formatMissingValues\"] = formatMissingValues;\n      }\n\n      setSearchParams(localVarUrlObj, localVarQueryParameter);\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {};\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      };\n\n      return {\n        url: toPathString(localVarUrlObj),\n        options: localVarRequestOptions,\n      };\n    },\n    /**\n     * Returns the headers for rows in CSV format for a specified data set.\n     * @summary Get headers for rows represented as comma-separated values\n     * @param {string} sessionId Specifies the ID of the session.\n     * @param {string} libref Specifies the libref for the request.\n     * @param {string} tableName Specifies the table or data set to query.\n     * @param {number} [start] Specifies the offset of the first row to return.\n     * @param {number} [limit] (Optional) Specifies the maximum number of rows to return. If not set, all rows are returned.\n     * @param {boolean} [format] Specifies whether to format the data in the cells.\n     * @param {boolean} [includeIndex] Specifies whether the first value in the cell is the index of the requested row. Support for this parameter was added in version 2.\n     * @param {string} [where] Specifies that a standard SAS WHERE clause was used to return the rows for this request.\n     * @param {boolean} [includeColumnNames] Specifies whether the first row that is returned consists of column names.\n     * @param {string} [columnSeparator] Specifies the character to use as the column separator. If no character is specified, a comma is used as the separator.\n     * @param {string} [rowSeparator] Specifies the characters to use as the row separator. If no characters are specified, a line feed character (\\\\n) is used.\n     * @param {boolean} [enableQuoting] Specifies whether values that contain special characters are quoted.\n     * @param {boolean} [enableEscaping] Specifies whether special characters in values are escaped if the values are not quoted.\n     * @param {boolean} [formatMissingValues] If set to true, SAS missing values found in the data will be formatted based on the setting of the SAS Option MISSING.   Otherwise, a NULL value will be returned.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    headersForRowsAsCSV: async (\n      sessionId: string,\n      libref: string,\n      tableName: string,\n      start?: number,\n      limit?: number,\n      format?: boolean,\n      includeIndex?: boolean,\n      where?: string,\n      includeColumnNames?: boolean,\n      columnSeparator?: string,\n      rowSeparator?: string,\n      enableQuoting?: boolean,\n      enableEscaping?: boolean,\n      formatMissingValues?: boolean,\n      options: AxiosRequestConfig = {},\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'sessionId' is not null or undefined\n      assertParamExists(\"headersForRowsAsCSV\", \"sessionId\", sessionId);\n      // verify required parameter 'libref' is not null or undefined\n      assertParamExists(\"headersForRowsAsCSV\", \"libref\", libref);\n      // verify required parameter 'tableName' is not null or undefined\n      assertParamExists(\"headersForRowsAsCSV\", \"tableName\", tableName);\n      const localVarPath =\n        `/sessions/{sessionId}/data/{libref}/{tableName}/rows#CSV`\n          .replace(`{${\"sessionId\"}}`, encodeURIComponent(String(sessionId)))\n          .replace(`{${\"libref\"}}`, encodeURIComponent(String(libref)))\n          .replace(`{${\"tableName\"}}`, encodeURIComponent(String(tableName)));\n      // use dummy base URL string because the URL constructor only accepts absolute URLs.\n      const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n      let baseOptions;\n      if (configuration) {\n        baseOptions = configuration.baseOptions;\n      }\n\n      const localVarRequestOptions = {\n        method: \"HEAD\",\n        ...baseOptions,\n        ...options,\n      };\n      const localVarHeaderParameter = {} as any;\n      const localVarQueryParameter = {} as any;\n\n      if (start !== undefined) {\n        localVarQueryParameter[\"start\"] = start;\n      }\n\n      if (limit !== undefined) {\n        localVarQueryParameter[\"limit\"] = limit;\n      }\n\n      if (format !== undefined) {\n        localVarQueryParameter[\"format\"] = format;\n      }\n\n      if (includeIndex !== undefined) {\n        localVarQueryParameter[\"includeIndex\"] = includeIndex;\n      }\n\n      if (where !== undefined) {\n        localVarQueryParameter[\"where\"] = where;\n      }\n\n      if (includeColumnNames !== undefined) {\n        localVarQueryParameter[\"includeColumnNames\"] = includeColumnNames;\n      }\n\n      if (columnSeparator !== undefined) {\n        localVarQueryParameter[\"columnSeparator\"] = columnSeparator;\n      }\n\n      if (rowSeparator !== undefined) {\n        localVarQueryParameter[\"rowSeparator\"] = rowSeparator;\n      }\n\n      if (enableQuoting !== undefined) {\n        localVarQueryParameter[\"enableQuoting\"] = enableQuoting;\n      }\n\n      if (enableEscaping !== undefined) {\n        localVarQueryParameter[\"enableEscaping\"] = enableEscaping;\n      }\n\n      if (formatMissingValues !== undefined) {\n        localVarQueryParameter[\"formatMissingValues\"] = formatMissingValues;\n      }\n\n      setSearchParams(localVarUrlObj, localVarQueryParameter);\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {};\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      };\n\n      return {\n        url: toPathString(localVarUrlObj),\n        options: localVarRequestOptions,\n      };\n    },\n    /**\n     * Determines whether a session has a data endpoint available.\n     * @summary Check access to data for a session\n     * @param {string} sessionId Specifies the ID of the session.\n     * @param {number} [start] Specifies the offset of the first library to return.\n     * @param {number} [limit] Specifies the maximum number of libraries to return.\n     * @param {boolean} [noCache] Specifies whether to force the library collection to be refreshed before it is returned.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    headersForSessionLibraries: async (\n      sessionId: string,\n      start?: number,\n      limit?: number,\n      noCache?: boolean,\n      options: AxiosRequestConfig = {},\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'sessionId' is not null or undefined\n      assertParamExists(\"headersForSessionLibraries\", \"sessionId\", sessionId);\n      const localVarPath = `/sessions/{sessionId}/data`.replace(\n        `{${\"sessionId\"}}`,\n        encodeURIComponent(String(sessionId)),\n      );\n      // use dummy base URL string because the URL constructor only accepts absolute URLs.\n      const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n      let baseOptions;\n      if (configuration) {\n        baseOptions = configuration.baseOptions;\n      }\n\n      const localVarRequestOptions = {\n        method: \"HEAD\",\n        ...baseOptions,\n        ...options,\n      };\n      const localVarHeaderParameter = {} as any;\n      const localVarQueryParameter = {} as any;\n\n      if (start !== undefined) {\n        localVarQueryParameter[\"start\"] = start;\n      }\n\n      if (limit !== undefined) {\n        localVarQueryParameter[\"limit\"] = limit;\n      }\n\n      if (noCache !== undefined) {\n        localVarQueryParameter[\"noCache\"] = noCache;\n      }\n\n      setSearchParams(localVarUrlObj, localVarQueryParameter);\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {};\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      };\n\n      return {\n        url: toPathString(localVarUrlObj),\n        options: localVarRequestOptions,\n      };\n    },\n    /**\n     * Determines whether the specified data set exists in a libref.\n     * @summary Check for a data set in a libref\n     * @param {string} sessionId Specifies the ID of the session.\n     * @param {string} libref Specifies the libref for the request.\n     * @param {string} tableName Specifies the table or data set to query.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    headersForTable: async (\n      sessionId: string,\n      libref: string,\n      tableName: string,\n      options: AxiosRequestConfig = {},\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'sessionId' is not null or undefined\n      assertParamExists(\"headersForTable\", \"sessionId\", sessionId);\n      // verify required parameter 'libref' is not null or undefined\n      assertParamExists(\"headersForTable\", \"libref\", libref);\n      // verify required parameter 'tableName' is not null or undefined\n      assertParamExists(\"headersForTable\", \"tableName\", tableName);\n      const localVarPath = `/sessions/{sessionId}/data/{libref}/{tableName}`\n        .replace(`{${\"sessionId\"}}`, encodeURIComponent(String(sessionId)))\n        .replace(`{${\"libref\"}}`, encodeURIComponent(String(libref)))\n        .replace(`{${\"tableName\"}}`, encodeURIComponent(String(tableName)));\n      // use dummy base URL string because the URL constructor only accepts absolute URLs.\n      const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n      let baseOptions;\n      if (configuration) {\n        baseOptions = configuration.baseOptions;\n      }\n\n      const localVarRequestOptions = {\n        method: \"HEAD\",\n        ...baseOptions,\n        ...options,\n      };\n      const localVarHeaderParameter = {} as any;\n      const localVarQueryParameter = {} as any;\n\n      setSearchParams(localVarUrlObj, localVarQueryParameter);\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {};\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      };\n\n      return {\n        url: toPathString(localVarUrlObj),\n        options: localVarRequestOptions,\n      };\n    },\n    /**\n     * Updates the name, label, format, or informat information for a specified column.\n     * @summary Update column information\n     * @param {string} sessionId Specifies the ID of the session.\n     * @param {string} libref Specifies the libref for the request.\n     * @param {string} tableName Specifies the table that contains the column to update.\n     * @param {string} columnName Specifies the column name to update.\n     * @param {string} ifMatch Specifies the ETag of the column that you are updating.\n     * @param {Column} column Specifies the information to update for the column.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    updateColumn: async (\n      sessionId: string,\n      libref: string,\n      tableName: string,\n      columnName: string,\n      ifMatch: string,\n      column: Column,\n      options: AxiosRequestConfig = {},\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'sessionId' is not null or undefined\n      assertParamExists(\"updateColumn\", \"sessionId\", sessionId);\n      // verify required parameter 'libref' is not null or undefined\n      assertParamExists(\"updateColumn\", \"libref\", libref);\n      // verify required parameter 'tableName' is not null or undefined\n      assertParamExists(\"updateColumn\", \"tableName\", tableName);\n      // verify required parameter 'columnName' is not null or undefined\n      assertParamExists(\"updateColumn\", \"columnName\", columnName);\n      // verify required parameter 'ifMatch' is not null or undefined\n      assertParamExists(\"updateColumn\", \"ifMatch\", ifMatch);\n      // verify required parameter 'column' is not null or undefined\n      assertParamExists(\"updateColumn\", \"column\", column);\n      const localVarPath =\n        `/sessions/{sessionId}/data/{libref}/{tableName}/columns/{columnName}`\n          .replace(`{${\"sessionId\"}}`, encodeURIComponent(String(sessionId)))\n          .replace(`{${\"libref\"}}`, encodeURIComponent(String(libref)))\n          .replace(`{${\"tableName\"}}`, encodeURIComponent(String(tableName)))\n          .replace(`{${\"columnName\"}}`, encodeURIComponent(String(columnName)));\n      // use dummy base URL string because the URL constructor only accepts absolute URLs.\n      const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n      let baseOptions;\n      if (configuration) {\n        baseOptions = configuration.baseOptions;\n      }\n\n      const localVarRequestOptions = {\n        method: \"PUT\",\n        ...baseOptions,\n        ...options,\n      };\n      const localVarHeaderParameter = {} as any;\n      const localVarQueryParameter = {} as any;\n\n      if (ifMatch != null) {\n        localVarHeaderParameter[\"If-Match\"] = String(ifMatch);\n      }\n\n      localVarHeaderParameter[\"Content-Type\"] =\n        \"application/vnd.sas.compute.data.table.column+json\";\n\n      setSearchParams(localVarUrlObj, localVarQueryParameter);\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {};\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      };\n      localVarRequestOptions.data = serializeDataIfNeeded(\n        column,\n        localVarRequestOptions,\n        configuration,\n      );\n\n      return {\n        url: toPathString(localVarUrlObj),\n        options: localVarRequestOptions,\n      };\n    },\n    /**\n     * Updates the name or label of the specified table.\n     * @summary Update table information\n     * @param {string} sessionId Specifies the ID of the session.\n     * @param {string} libref Specifies the libref for the request.\n     * @param {string} tableName Specifies the table or data set to update.\n     * @param {string} ifMatch Specifies the ETag of the table that you are updating.\n     * @param {TableInfo} tableInfo Specifies the information to update for the table.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    updateTable: async (\n      sessionId: string,\n      libref: string,\n      tableName: string,\n      ifMatch: string,\n      tableInfo: TableInfo,\n      options: AxiosRequestConfig = {},\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'sessionId' is not null or undefined\n      assertParamExists(\"updateTable\", \"sessionId\", sessionId);\n      // verify required parameter 'libref' is not null or undefined\n      assertParamExists(\"updateTable\", \"libref\", libref);\n      // verify required parameter 'tableName' is not null or undefined\n      assertParamExists(\"updateTable\", \"tableName\", tableName);\n      // verify required parameter 'ifMatch' is not null or undefined\n      assertParamExists(\"updateTable\", \"ifMatch\", ifMatch);\n      // verify required parameter 'tableInfo' is not null or undefined\n      assertParamExists(\"updateTable\", \"tableInfo\", tableInfo);\n      const localVarPath = `/sessions/{sessionId}/data/{libref}/{tableName}`\n        .replace(`{${\"sessionId\"}}`, encodeURIComponent(String(sessionId)))\n        .replace(`{${\"libref\"}}`, encodeURIComponent(String(libref)))\n        .replace(`{${\"tableName\"}}`, encodeURIComponent(String(tableName)));\n      // use dummy base URL string because the URL constructor only accepts absolute URLs.\n      const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n      let baseOptions;\n      if (configuration) {\n        baseOptions = configuration.baseOptions;\n      }\n\n      const localVarRequestOptions = {\n        method: \"PUT\",\n        ...baseOptions,\n        ...options,\n      };\n      const localVarHeaderParameter = {} as any;\n      const localVarQueryParameter = {} as any;\n\n      if (ifMatch != null) {\n        localVarHeaderParameter[\"If-Match\"] = String(ifMatch);\n      }\n\n      localVarHeaderParameter[\"Content-Type\"] =\n        \"application/vnd.sas.compute.data.table+json\";\n\n      setSearchParams(localVarUrlObj, localVarQueryParameter);\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {};\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      };\n      localVarRequestOptions.data = serializeDataIfNeeded(\n        tableInfo,\n        localVarRequestOptions,\n        configuration,\n      );\n\n      return {\n        url: toPathString(localVarUrlObj),\n        options: localVarRequestOptions,\n      };\n    },\n  };\n};\n\n/**\n * DataAccessApi - functional programming interface\n * @export\n */\nexport const DataAccessApi = function (configuration?: Configuration) {\n  const localVarAxiosParamCreator =\n    DataAccessApiAxiosParamCreator(configuration);\n  return {\n    /**\n     * Assigns a libref that is based on the request body for a session. The Location header contains the URI of the libref resource.\n     * @summary Assign a libref\n     * @param {DataAccessApiCreateLibraryRequest} requestParameters Request parameters.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async createLibrary(\n      requestParameters: DataAccessApiCreateLibraryRequest,\n      options?: AxiosRequestConfig,\n    ): Promise<AxiosResponse<void>> {\n      const localVarAxiosArgs = await localVarAxiosParamCreator.createLibrary(\n        requestParameters.sessionId,\n        requestParameters.libraryRequest,\n        options,\n      );\n      return createRequestFunction(localVarAxiosArgs, configuration);\n    },\n\n    /**\n     * Returns a view of the specified data set. The request body that you provide controls the view that is created. You can then access the returned view as a table.\n     * @summary Create a data set view\n     * @param {DataAccessApiCreateViewRequest} requestParameters Request parameters.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async createView(\n      requestParameters: DataAccessApiCreateViewRequest,\n      options?: AxiosRequestConfig,\n    ): Promise<AxiosResponse<TableInfo>> {\n      const localVarAxiosArgs = await localVarAxiosParamCreator.createView(\n        requestParameters.sessionId,\n        requestParameters.libref,\n        requestParameters.tableName,\n        requestParameters.viewRequest,\n        options,\n      );\n      return createRequestFunction(localVarAxiosArgs, configuration);\n    },\n\n    /**\n     * Removes the libref from the session.\n     * @summary Deassign libref\n     * @param {DataAccessApiDeleteLibraryRequest} requestParameters Request parameters.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async deleteLibrary(\n      requestParameters: DataAccessApiDeleteLibraryRequest,\n      options?: AxiosRequestConfig,\n    ): Promise<AxiosResponse<void>> {\n      const localVarAxiosArgs = await localVarAxiosParamCreator.deleteLibrary(\n        requestParameters.sessionId,\n        requestParameters.libref,\n        options,\n      );\n      return createRequestFunction(localVarAxiosArgs, configuration);\n    },\n\n    /**\n     * Deletes a table or view. If you request to delete a table and you have proper permissions, then the data set is deleted. If you request to delete a view, then the view is destroyed.\n     * @summary Delete a table or view\n     * @param {DataAccessApiDeleteTableRequest} requestParameters Request parameters.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async deleteTable(\n      requestParameters: DataAccessApiDeleteTableRequest,\n      options?: AxiosRequestConfig,\n    ): Promise<AxiosResponse<void>> {\n      const localVarAxiosArgs = await localVarAxiosParamCreator.deleteTable(\n        requestParameters.sessionId,\n        requestParameters.libref,\n        requestParameters.tableName,\n        options,\n      );\n      return createRequestFunction(localVarAxiosArgs, configuration);\n    },\n\n    /**\n     * Gets a specific column from a data set.\n     * @summary Get a column\n     * @param {DataAccessApiGetColumnRequest} requestParameters Request parameters.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async getColumn(\n      requestParameters: DataAccessApiGetColumnRequest,\n      options?: AxiosRequestConfig,\n    ): Promise<AxiosResponse<Column>> {\n      const localVarAxiosArgs = await localVarAxiosParamCreator.getColumn(\n        requestParameters.sessionId,\n        requestParameters.libref,\n        requestParameters.tableName,\n        requestParameters.columnName,\n        options,\n      );\n      return createRequestFunction(localVarAxiosArgs, configuration);\n    },\n\n    /**\n     * Returns the column information for a specified data set. By default, a collection is returned, and standard paging options are available.\n     * @summary Get column information\n     * @param {DataAccessApiGetColumnsRequest} requestParameters Request parameters.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async getColumns(\n      requestParameters: DataAccessApiGetColumnsRequest,\n      options?: AxiosRequestConfig,\n    ): Promise<AxiosResponse<ColumnCollection>> {\n      const localVarAxiosArgs = await localVarAxiosParamCreator.getColumns(\n        requestParameters.sessionId,\n        requestParameters.libref,\n        requestParameters.tableName,\n        requestParameters.start,\n        requestParameters.limit,\n        options,\n      );\n      return createRequestFunction(localVarAxiosArgs, configuration);\n    },\n\n    /**\n     * Returns the column information for a specified data set based on the submitted request body. By default, a collection is returned, and standard paging options are available.\n     * @summary Retrieve column information\n     * @param {DataAccessApiGetColumnsWithRequestRequest} requestParameters Request parameters.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async getColumnsWithRequest(\n      requestParameters: DataAccessApiGetColumnsWithRequestRequest,\n      options?: AxiosRequestConfig,\n    ): Promise<AxiosResponse<ColumnCollection>> {\n      const localVarAxiosArgs =\n        await localVarAxiosParamCreator.getColumnsWithRequest(\n          requestParameters.sessionId,\n          requestParameters.libref,\n          requestParameters.tableName,\n          requestParameters.start,\n          requestParameters.limit,\n          requestParameters.columnsRequest,\n          options,\n        );\n      return createRequestFunction(localVarAxiosArgs, configuration);\n    },\n\n    /**\n     * Provides a listing that contains summaries of the libraries that are defined in the current session.\n     * @summary Return libraries in a session\n     * @param {DataAccessApiGetLibrariesRequest} requestParameters Request parameters.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async getLibraries(\n      requestParameters: DataAccessApiGetLibrariesRequest,\n      options?: AxiosRequestConfig,\n    ): Promise<AxiosResponse<LibrarySummaryCollection>> {\n      const localVarAxiosArgs = await localVarAxiosParamCreator.getLibraries(\n        requestParameters.sessionId,\n        requestParameters.acceptItem,\n        requestParameters.start,\n        requestParameters.limit,\n        requestParameters.noCache,\n        options,\n      );\n      return createRequestFunction(localVarAxiosArgs, configuration);\n    },\n\n    /**\n     * Retrieves information about a specified libref, including links to tables.\n     * @summary Get libref information\n     * @param {DataAccessApiGetLibraryRequest} requestParameters Request parameters.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async getLibrary(\n      requestParameters: DataAccessApiGetLibraryRequest,\n      options?: AxiosRequestConfig,\n    ): Promise<AxiosResponse<Library>> {\n      const localVarAxiosArgs = await localVarAxiosParamCreator.getLibrary(\n        requestParameters.sessionId,\n        requestParameters.libref,\n        options,\n      );\n      return createRequestFunction(localVarAxiosArgs, configuration);\n    },\n\n    /**\n     * Returns summary information about a specified libref.\n     * @summary Get libref summary\n     * @param {DataAccessApiGetLibrarySummaryRequest} requestParameters Request parameters.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async getLibrarySummary(\n      requestParameters: DataAccessApiGetLibrarySummaryRequest,\n      options?: AxiosRequestConfig,\n    ): Promise<AxiosResponse<LibrarySummary>> {\n      const localVarAxiosArgs =\n        await localVarAxiosParamCreator.getLibrarySummary(\n          requestParameters.sessionId,\n          requestParameters.libref,\n          options,\n        );\n      return createRequestFunction(localVarAxiosArgs, configuration);\n    },\n\n    /**\n     * Returns content useful for populating prompts more effectively.\n     * @summary Get prompt content from a data set\n     * @param {DataAccessApiGetPromptContentRequest} requestParameters Request parameters.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async getPromptContent(\n      requestParameters: DataAccessApiGetPromptContentRequest,\n      options?: AxiosRequestConfig,\n    ): Promise<AxiosResponse<PromptContent>> {\n      const localVarAxiosArgs =\n        await localVarAxiosParamCreator.getPromptContent(\n          requestParameters.sessionId,\n          requestParameters.libref,\n          requestParameters.tableName,\n          requestParameters.where,\n          requestParameters.columnDetail,\n          requestParameters.includeColumns,\n          requestParameters.columnNaturalOrder,\n          requestParameters.start,\n          requestParameters.limit,\n          requestParameters.sortBy,\n          options,\n        );\n      return createRequestFunction(localVarAxiosArgs, configuration);\n    },\n\n    /**\n     * Returns content useful for populating prompts more effectively.\n     * @summary Get prompt content from a data set\n     * @param {DataAccessApiGetPromptContentWithRequestRequest} requestParameters Request parameters.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async getPromptContentWithRequest(\n      requestParameters: DataAccessApiGetPromptContentWithRequestRequest,\n      options?: AxiosRequestConfig,\n    ): Promise<AxiosResponse<PromptContent>> {\n      const localVarAxiosArgs =\n        await localVarAxiosParamCreator.getPromptContentWithRequest(\n          requestParameters.sessionId,\n          requestParameters.libref,\n          requestParameters.tableName,\n          requestParameters.promptContentRequest,\n          requestParameters.start,\n          requestParameters.limit,\n          options,\n        );\n      return createRequestFunction(localVarAxiosArgs, configuration);\n    },\n\n    /**\n     * Returns a row set that is based on the specified table and an optional WHERE clause.\n     * @summary Get a row set from a data set\n     * @param {DataAccessApiGetRowSetRequest} requestParameters Request parameters.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async getRowSet(\n      requestParameters: DataAccessApiGetRowSetRequest,\n      options?: AxiosRequestConfig,\n    ): Promise<AxiosResponse<RowSet>> {\n      const localVarAxiosArgs = await localVarAxiosParamCreator.getRowSet(\n        requestParameters.sessionId,\n        requestParameters.libref,\n        requestParameters.tableName,\n        requestParameters.where,\n        requestParameters.format,\n        requestParameters.columnDetail,\n        requestParameters.includeColumns,\n        requestParameters.columnNaturalOrder,\n        requestParameters.start,\n        requestParameters.limit,\n        requestParameters.sortBy,\n        requestParameters.formatMissingValues,\n        options,\n      );\n      return createRequestFunction(localVarAxiosArgs, configuration);\n    },\n\n    /**\n     * Returns a row set that is based on the specified request body.\n     * @summary Get a row set from a data set\n     * @param {DataAccessApiGetRowSetWithRequestRequest} requestParameters Request parameters.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async getRowSetWithRequest(\n      requestParameters: DataAccessApiGetRowSetWithRequestRequest,\n      options?: AxiosRequestConfig,\n    ): Promise<AxiosResponse<RowSet>> {\n      const localVarAxiosArgs =\n        await localVarAxiosParamCreator.getRowSetWithRequest(\n          requestParameters.sessionId,\n          requestParameters.libref,\n          requestParameters.tableName,\n          requestParameters.rowSetRequest,\n          requestParameters.format,\n          requestParameters.start,\n          requestParameters.limit,\n          requestParameters.formatMissingValues,\n          options,\n        );\n      return createRequestFunction(localVarAxiosArgs, configuration);\n    },\n\n    /**\n     * Returns the rows for a specified data set. By default, a collection is returned, and standard paging options are available.\n     * @summary Get row information\n     * @param {DataAccessApiGetRowsRequest} requestParameters Request parameters.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async getRows(\n      requestParameters: DataAccessApiGetRowsRequest,\n      options?: AxiosRequestConfig,\n    ): Promise<AxiosResponse<RowCollection>> {\n      const localVarAxiosArgs = await localVarAxiosParamCreator.getRows(\n        requestParameters.sessionId,\n        requestParameters.libref,\n        requestParameters.tableName,\n        requestParameters.start,\n        requestParameters.limit,\n        requestParameters.format,\n        requestParameters.includeIndex,\n        requestParameters.where,\n        requestParameters.includeColumnNames,\n        requestParameters.formatMissingValues,\n        options,\n      );\n      return createRequestFunction(localVarAxiosArgs, configuration);\n    },\n\n    /**\n     * Returns rows in CSV format for a specified data set.\n     * @summary Get row information as comma-separated values\n     * @param {DataAccessApiGetRowsAsCSVRequest} requestParameters Request parameters.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async getRowsAsCSV(\n      requestParameters: DataAccessApiGetRowsAsCSVRequest,\n      options?: AxiosRequestConfig,\n    ): Promise<AxiosResponse<void>> {\n      const localVarAxiosArgs = await localVarAxiosParamCreator.getRowsAsCSV(\n        requestParameters.sessionId,\n        requestParameters.libref,\n        requestParameters.tableName,\n        requestParameters.start,\n        requestParameters.limit,\n        requestParameters.format,\n        requestParameters.includeIndex,\n        requestParameters.where,\n        requestParameters.includeColumnNames,\n        requestParameters.columnSeparator,\n        requestParameters.rowSeparator,\n        requestParameters.enableQuoting,\n        requestParameters.enableEscaping,\n        requestParameters.formatMissingValues,\n        options,\n      );\n      return createRequestFunction(localVarAxiosArgs, configuration);\n    },\n\n    /**\n     * Returns the rows for a specified data set based on the submitted request body. By default, a collection is returned, and standard paging options are available.\n     * @summary Obtain rows from a data set\n     * @param {DataAccessApiGetRowsWithRequestRequest} requestParameters Request parameters.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async getRowsWithRequest(\n      requestParameters: DataAccessApiGetRowsWithRequestRequest,\n      options?: AxiosRequestConfig,\n    ): Promise<AxiosResponse<RowCollection>> {\n      const localVarAxiosArgs =\n        await localVarAxiosParamCreator.getRowsWithRequest(\n          requestParameters.sessionId,\n          requestParameters.libref,\n          requestParameters.tableName,\n          requestParameters.rowsRequest,\n          requestParameters.start,\n          requestParameters.limit,\n          requestParameters.format,\n          requestParameters.includeIndex,\n          requestParameters.formatMissingValues,\n          options,\n        );\n      return createRequestFunction(localVarAxiosArgs, configuration);\n    },\n\n    /**\n     * Returns information about a data set.\n     * @summary Get a data set\n     * @param {DataAccessApiGetTableRequest} requestParameters Request parameters.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async getTable(\n      requestParameters: DataAccessApiGetTableRequest,\n      options?: AxiosRequestConfig,\n    ): Promise<AxiosResponse<TableInfo>> {\n      const localVarAxiosArgs = await localVarAxiosParamCreator.getTable(\n        requestParameters.sessionId,\n        requestParameters.libref,\n        requestParameters.tableName,\n        options,\n      );\n      return createRequestFunction(localVarAxiosArgs, configuration);\n    },\n\n    /**\n     * Returns summary information about a data set.\n     * @summary Get a summary of a data set\n     * @param {DataAccessApiGetTableSummaryRequest} requestParameters Request parameters.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async getTableSummary(\n      requestParameters: DataAccessApiGetTableSummaryRequest,\n      options?: AxiosRequestConfig,\n    ): Promise<AxiosResponse<TableSummary>> {\n      const localVarAxiosArgs = await localVarAxiosParamCreator.getTableSummary(\n        requestParameters.sessionId,\n        requestParameters.libref,\n        requestParameters.tableName,\n        options,\n      );\n      return createRequestFunction(localVarAxiosArgs, configuration);\n    },\n\n    /**\n     * Returns a collection of data sets that are associated with a specified libref. Set the Accept header on this method to application/vnd.sas.collection+json. The collection contains application/vnd.sas.compute.data.table.summary items.  Standard paging options are provided.\n     * @summary Get data sets in a libref\n     * @param {DataAccessApiGetTablesRequest} requestParameters Request parameters.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async getTables(\n      requestParameters: DataAccessApiGetTablesRequest,\n      options?: AxiosRequestConfig,\n    ): Promise<AxiosResponse<TableSummaryCollection>> {\n      const localVarAxiosArgs = await localVarAxiosParamCreator.getTables(\n        requestParameters.sessionId,\n        requestParameters.libref,\n        requestParameters.acceptItem,\n        requestParameters.start,\n        requestParameters.limit,\n        requestParameters.noCache,\n        options,\n      );\n      return createRequestFunction(localVarAxiosArgs, configuration);\n    },\n\n    /**\n     * Determines whether a specified data set has access to a column.\n     * @summary Check for a column in a table\n     * @param {DataAccessApiHeadersForColumnRequest} requestParameters Request parameters.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async headersForColumn(\n      requestParameters: DataAccessApiHeadersForColumnRequest,\n      options?: AxiosRequestConfig,\n    ): Promise<AxiosResponse<void>> {\n      const localVarAxiosArgs =\n        await localVarAxiosParamCreator.headersForColumn(\n          requestParameters.sessionId,\n          requestParameters.libref,\n          requestParameters.tableName,\n          requestParameters.columnName,\n          options,\n        );\n      return createRequestFunction(localVarAxiosArgs, configuration);\n    },\n\n    /**\n     * Determines whether the specified data set has access to columns.\n     * @summary Check for available columns in a table\n     * @param {DataAccessApiHeadersForColumnsRequest} requestParameters Request parameters.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async headersForColumns(\n      requestParameters: DataAccessApiHeadersForColumnsRequest,\n      options?: AxiosRequestConfig,\n    ): Promise<AxiosResponse<void>> {\n      const localVarAxiosArgs =\n        await localVarAxiosParamCreator.headersForColumns(\n          requestParameters.sessionId,\n          requestParameters.libref,\n          requestParameters.tableName,\n          requestParameters.start,\n          requestParameters.limit,\n          options,\n        );\n      return createRequestFunction(localVarAxiosArgs, configuration);\n    },\n\n    /**\n     * Determines whether the specified libref exists in a session.\n     * @summary Verify that a libref exists\n     * @param {DataAccessApiHeadersForLibraryRequest} requestParameters Request parameters.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async headersForLibrary(\n      requestParameters: DataAccessApiHeadersForLibraryRequest,\n      options?: AxiosRequestConfig,\n    ): Promise<AxiosResponse<void>> {\n      const localVarAxiosArgs =\n        await localVarAxiosParamCreator.headersForLibrary(\n          requestParameters.sessionId,\n          requestParameters.libref,\n          options,\n        );\n      return createRequestFunction(localVarAxiosArgs, configuration);\n    },\n\n    /**\n     * Determines headers for prompt content for a given data set.\n     * @summary Check prompt content availability\n     * @param {DataAccessApiHeadersForPromptContentRequest} requestParameters Request parameters.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async headersForPromptContent(\n      requestParameters: DataAccessApiHeadersForPromptContentRequest,\n      options?: AxiosRequestConfig,\n    ): Promise<AxiosResponse<void>> {\n      const localVarAxiosArgs =\n        await localVarAxiosParamCreator.headersForPromptContent(\n          requestParameters.sessionId,\n          requestParameters.libref,\n          requestParameters.tableName,\n          requestParameters.where,\n          requestParameters.columnDetail,\n          requestParameters.includeColumns,\n          requestParameters.columnNaturalOrder,\n          requestParameters.start,\n          requestParameters.limit,\n          requestParameters.sortBy,\n          options,\n        );\n      return createRequestFunction(localVarAxiosArgs, configuration);\n    },\n\n    /**\n     * Determines whether a data set has access to a specific row.\n     * @summary Check row availability\n     * @param {DataAccessApiHeadersForRowRequest} requestParameters Request parameters.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async headersForRow(\n      requestParameters: DataAccessApiHeadersForRowRequest,\n      options?: AxiosRequestConfig,\n    ): Promise<AxiosResponse<void>> {\n      const localVarAxiosArgs = await localVarAxiosParamCreator.headersForRow(\n        requestParameters.sessionId,\n        requestParameters.libref,\n        requestParameters.tableName,\n        requestParameters.start,\n        requestParameters.limit,\n        requestParameters.format,\n        requestParameters.includeIndex,\n        requestParameters.where,\n        requestParameters.includeColumnNames,\n        requestParameters.formatMissingValues,\n        options,\n      );\n      return createRequestFunction(localVarAxiosArgs, configuration);\n    },\n\n    /**\n     * Determines whether a row set is available on for a data set.\n     * @summary Check row set availability\n     * @param {DataAccessApiHeadersForRowSetRequest} requestParameters Request parameters.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async headersForRowSet(\n      requestParameters: DataAccessApiHeadersForRowSetRequest,\n      options?: AxiosRequestConfig,\n    ): Promise<AxiosResponse<void>> {\n      const localVarAxiosArgs =\n        await localVarAxiosParamCreator.headersForRowSet(\n          requestParameters.sessionId,\n          requestParameters.libref,\n          requestParameters.tableName,\n          requestParameters.where,\n          requestParameters.format,\n          requestParameters.columnDetail,\n          requestParameters.includeColumns,\n          requestParameters.columnNaturalOrder,\n          requestParameters.start,\n          requestParameters.limit,\n          requestParameters.sortBy,\n          requestParameters.formatMissingValues,\n          options,\n        );\n      return createRequestFunction(localVarAxiosArgs, configuration);\n    },\n\n    /**\n     * Returns the headers for rows in CSV format for a specified data set.\n     * @summary Get headers for rows represented as comma-separated values\n     * @param {DataAccessApiHeadersForRowsAsCSVRequest} requestParameters Request parameters.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async headersForRowsAsCSV(\n      requestParameters: DataAccessApiHeadersForRowsAsCSVRequest,\n      options?: AxiosRequestConfig,\n    ): Promise<AxiosResponse<void>> {\n      const localVarAxiosArgs =\n        await localVarAxiosParamCreator.headersForRowsAsCSV(\n          requestParameters.sessionId,\n          requestParameters.libref,\n          requestParameters.tableName,\n          requestParameters.start,\n          requestParameters.limit,\n          requestParameters.format,\n          requestParameters.includeIndex,\n          requestParameters.where,\n          requestParameters.includeColumnNames,\n          requestParameters.columnSeparator,\n          requestParameters.rowSeparator,\n          requestParameters.enableQuoting,\n          requestParameters.enableEscaping,\n          requestParameters.formatMissingValues,\n          options,\n        );\n      return createRequestFunction(localVarAxiosArgs, configuration);\n    },\n\n    /**\n     * Determines whether a session has a data endpoint available.\n     * @summary Check access to data for a session\n     * @param {DataAccessApiHeadersForSessionLibrariesRequest} requestParameters Request parameters.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async headersForSessionLibraries(\n      requestParameters: DataAccessApiHeadersForSessionLibrariesRequest,\n      options?: AxiosRequestConfig,\n    ): Promise<AxiosResponse<void>> {\n      const localVarAxiosArgs =\n        await localVarAxiosParamCreator.headersForSessionLibraries(\n          requestParameters.sessionId,\n          requestParameters.start,\n          requestParameters.limit,\n          requestParameters.noCache,\n          options,\n        );\n      return createRequestFunction(localVarAxiosArgs, configuration);\n    },\n\n    /**\n     * Determines whether the specified data set exists in a libref.\n     * @summary Check for a data set in a libref\n     * @param {DataAccessApiHeadersForTableRequest} requestParameters Request parameters.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async headersForTable(\n      requestParameters: DataAccessApiHeadersForTableRequest,\n      options?: AxiosRequestConfig,\n    ): Promise<AxiosResponse<void>> {\n      const localVarAxiosArgs = await localVarAxiosParamCreator.headersForTable(\n        requestParameters.sessionId,\n        requestParameters.libref,\n        requestParameters.tableName,\n        options,\n      );\n      return createRequestFunction(localVarAxiosArgs, configuration);\n    },\n\n    /**\n     * Updates the name, label, format, or informat information for a specified column.\n     * @summary Update column information\n     * @param {DataAccessApiUpdateColumnRequest} requestParameters Request parameters.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async updateColumn(\n      requestParameters: DataAccessApiUpdateColumnRequest,\n      options?: AxiosRequestConfig,\n    ): Promise<AxiosResponse<Column>> {\n      const localVarAxiosArgs = await localVarAxiosParamCreator.updateColumn(\n        requestParameters.sessionId,\n        requestParameters.libref,\n        requestParameters.tableName,\n        requestParameters.columnName,\n        requestParameters.ifMatch,\n        requestParameters.column,\n        options,\n      );\n      return createRequestFunction(localVarAxiosArgs, configuration);\n    },\n\n    /**\n     * Updates the name or label of the specified table.\n     * @summary Update table information\n     * @param {DataAccessApiUpdateTableRequest} requestParameters Request parameters.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async updateTable(\n      requestParameters: DataAccessApiUpdateTableRequest,\n      options?: AxiosRequestConfig,\n    ): Promise<AxiosResponse<TableInfo>> {\n      const localVarAxiosArgs = await localVarAxiosParamCreator.updateTable(\n        requestParameters.sessionId,\n        requestParameters.libref,\n        requestParameters.tableName,\n        requestParameters.ifMatch,\n        requestParameters.tableInfo,\n        options,\n      );\n      return createRequestFunction(localVarAxiosArgs, configuration);\n    },\n  };\n};\n\n/**\n * Request parameters for createLibrary operation in DataAccessApi.\n * @export\n * @interface DataAccessApiCreateLibraryRequest\n */\nexport interface DataAccessApiCreateLibraryRequest {\n  /**\n   * Specifies the ID of the session.\n   * @type {string}\n   * @memberof DataAccessApiCreateLibrary\n   */\n  readonly sessionId: string;\n\n  /**\n   * Specifies a libref assignment request.\n   * @type {LibraryRequest}\n   * @memberof DataAccessApiCreateLibrary\n   */\n  readonly libraryRequest: LibraryRequest;\n}\n\n/**\n * Request parameters for createView operation in DataAccessApi.\n * @export\n * @interface DataAccessApiCreateViewRequest\n */\nexport interface DataAccessApiCreateViewRequest {\n  /**\n   * Specifies the ID of the session.\n   * @type {string}\n   * @memberof DataAccessApiCreateView\n   */\n  readonly sessionId: string;\n\n  /**\n   * Specifies the libref for the request.\n   * @type {string}\n   * @memberof DataAccessApiCreateView\n   */\n  readonly libref: string;\n\n  /**\n   * Specifies the table or data set to query.\n   * @type {string}\n   * @memberof DataAccessApiCreateView\n   */\n  readonly tableName: string;\n\n  /**\n   * Specifies a view creation request.\n   * @type {ViewRequest}\n   * @memberof DataAccessApiCreateView\n   */\n  readonly viewRequest: ViewRequest;\n}\n\n/**\n * Request parameters for deleteLibrary operation in DataAccessApi.\n * @export\n * @interface DataAccessApiDeleteLibraryRequest\n */\nexport interface DataAccessApiDeleteLibraryRequest {\n  /**\n   * Specifies the ID of the session.\n   * @type {string}\n   * @memberof DataAccessApiDeleteLibrary\n   */\n  readonly sessionId: string;\n\n  /**\n   * Specifies the libref to deassign.\n   * @type {string}\n   * @memberof DataAccessApiDeleteLibrary\n   */\n  readonly libref: string;\n}\n\n/**\n * Request parameters for deleteTable operation in DataAccessApi.\n * @export\n * @interface DataAccessApiDeleteTableRequest\n */\nexport interface DataAccessApiDeleteTableRequest {\n  /**\n   * Specifies the ID of the session.\n   * @type {string}\n   * @memberof DataAccessApiDeleteTable\n   */\n  readonly sessionId: string;\n\n  /**\n   * Specifies the libref for the request.\n   * @type {string}\n   * @memberof DataAccessApiDeleteTable\n   */\n  readonly libref: string;\n\n  /**\n   * Specifies the table or data set to update.\n   * @type {string}\n   * @memberof DataAccessApiDeleteTable\n   */\n  readonly tableName: string;\n}\n\n/**\n * Request parameters for getColumn operation in DataAccessApi.\n * @export\n * @interface DataAccessApiGetColumnRequest\n */\nexport interface DataAccessApiGetColumnRequest {\n  /**\n   * Specifies the ID of the session.\n   * @type {string}\n   * @memberof DataAccessApiGetColumn\n   */\n  readonly sessionId: string;\n\n  /**\n   * Specifies the libref for the request.\n   * @type {string}\n   * @memberof DataAccessApiGetColumn\n   */\n  readonly libref: string;\n\n  /**\n   * Specifies the table or data set to query.\n   * @type {string}\n   * @memberof DataAccessApiGetColumn\n   */\n  readonly tableName: string;\n\n  /**\n   * Specifies the name of the column to retrieve.\n   * @type {string}\n   * @memberof DataAccessApiGetColumn\n   */\n  readonly columnName: string;\n}\n\n/**\n * Request parameters for getColumns operation in DataAccessApi.\n * @export\n * @interface DataAccessApiGetColumnsRequest\n */\nexport interface DataAccessApiGetColumnsRequest {\n  /**\n   * Specifies the ID of the session.\n   * @type {string}\n   * @memberof DataAccessApiGetColumns\n   */\n  readonly sessionId: string;\n\n  /**\n   * Specifies the libref for the request.\n   * @type {string}\n   * @memberof DataAccessApiGetColumns\n   */\n  readonly libref: string;\n\n  /**\n   * Specifies the table or data set to query.\n   * @type {string}\n   * @memberof DataAccessApiGetColumns\n   */\n  readonly tableName: string;\n\n  /**\n   * Specifies the offset of the first column entry to return.\n   * @type {number}\n   * @memberof DataAccessApiGetColumns\n   */\n  readonly start?: number;\n\n  /**\n   * Specifies the maximum number of columns to return.\n   * @type {number}\n   * @memberof DataAccessApiGetColumns\n   */\n  readonly limit?: number;\n}\n\n/**\n * Request parameters for getColumnsWithRequest operation in DataAccessApi.\n * @export\n * @interface DataAccessApiGetColumnsWithRequestRequest\n */\nexport interface DataAccessApiGetColumnsWithRequestRequest {\n  /**\n   * Specifies the ID of the session.\n   * @type {string}\n   * @memberof DataAccessApiGetColumnsWithRequest\n   */\n  readonly sessionId: string;\n\n  /**\n   * Specifies the libref for the request.\n   * @type {string}\n   * @memberof DataAccessApiGetColumnsWithRequest\n   */\n  readonly libref: string;\n\n  /**\n   * Specifies the table or data set to query.\n   * @type {string}\n   * @memberof DataAccessApiGetColumnsWithRequest\n   */\n  readonly tableName: string;\n\n  /**\n   * Specifies the offset of the first column entry to return.\n   * @type {number}\n   * @memberof DataAccessApiGetColumnsWithRequest\n   */\n  readonly start?: number;\n\n  /**\n   * Specifies the maximum number of columns to return.\n   * @type {number}\n   * @memberof DataAccessApiGetColumnsWithRequest\n   */\n  readonly limit?: number;\n\n  /**\n   * Optional body that is used to refine a request.\n   * @type {ColumnsRequest}\n   * @memberof DataAccessApiGetColumnsWithRequest\n   */\n  readonly columnsRequest?: ColumnsRequest;\n}\n\n/**\n * Request parameters for getLibraries operation in DataAccessApi.\n * @export\n * @interface DataAccessApiGetLibrariesRequest\n */\nexport interface DataAccessApiGetLibrariesRequest {\n  /**\n   * Specifies the ID of the session.\n   * @type {string}\n   * @memberof DataAccessApiGetLibraries\n   */\n  readonly sessionId: string;\n\n  /**\n   * Specifies the desired library representation.&lt;br&gt; The Accept-Item options are: &lt;ul&gt; &lt;li&gt;application/vnd.sas.compute.library+json &lt;li&gt;application/vnd.sas.compute.library.summary+json &lt;li&gt;blank &lt;/ul&gt; If the application/vnd.sas.compute.library.summary+json type is specified or no Accept-Item header is specified, then the libraries are returned as summary representation library objects.\n   * @type {'application/vnd.sas.compute.library+json' | 'application/vnd.sas.compute.library.summary+json'}\n   * @memberof DataAccessApiGetLibraries\n   */\n  readonly acceptItem?:\n    | \"application/vnd.sas.compute.library+json\"\n    | \"application/vnd.sas.compute.library.summary+json\";\n\n  /**\n   * Specifies the offset of the first library to return.\n   * @type {number}\n   * @memberof DataAccessApiGetLibraries\n   */\n  readonly start?: number;\n\n  /**\n   * Specifies the maximum number of libraries to return.\n   * @type {number}\n   * @memberof DataAccessApiGetLibraries\n   */\n  readonly limit?: number;\n\n  /**\n   * Specifies whether to force the library collection to be refreshed before it is returned.\n   * @type {boolean}\n   * @memberof DataAccessApiGetLibraries\n   */\n  readonly noCache?: boolean;\n}\n\n/**\n * Request parameters for getLibrary operation in DataAccessApi.\n * @export\n * @interface DataAccessApiGetLibraryRequest\n */\nexport interface DataAccessApiGetLibraryRequest {\n  /**\n   * Specifies the ID of the session.\n   * @type {string}\n   * @memberof DataAccessApiGetLibrary\n   */\n  readonly sessionId: string;\n\n  /**\n   * Specifies the libref to query.\n   * @type {string}\n   * @memberof DataAccessApiGetLibrary\n   */\n  readonly libref: string;\n}\n\n/**\n * Request parameters for getLibrarySummary operation in DataAccessApi.\n * @export\n * @interface DataAccessApiGetLibrarySummaryRequest\n */\nexport interface DataAccessApiGetLibrarySummaryRequest {\n  /**\n   * Specifies the ID of the session.\n   * @type {string}\n   * @memberof DataAccessApiGetLibrarySummary\n   */\n  readonly sessionId: string;\n\n  /**\n   * Specifies the libref to query.\n   * @type {string}\n   * @memberof DataAccessApiGetLibrarySummary\n   */\n  readonly libref: string;\n}\n\n/**\n * Request parameters for getPromptContent operation in DataAccessApi.\n * @export\n * @interface DataAccessApiGetPromptContentRequest\n */\nexport interface DataAccessApiGetPromptContentRequest {\n  /**\n   * Specifies the ID of the session.\n   * @type {string}\n   * @memberof DataAccessApiGetPromptContent\n   */\n  readonly sessionId: string;\n\n  /**\n   * Specifies the libref for the request.\n   * @type {string}\n   * @memberof DataAccessApiGetPromptContent\n   */\n  readonly libref: string;\n\n  /**\n   * Specifies the table or data set to query.\n   * @type {string}\n   * @memberof DataAccessApiGetPromptContent\n   */\n  readonly tableName: string;\n\n  /**\n   * Specifies that a standard SAS WHERE clause was used to build the content for this request.\n   * @type {string}\n   * @memberof DataAccessApiGetPromptContent\n   */\n  readonly where?: string;\n\n  /**\n   * Specifies the level of column information to return.\n   * @type {'names' | 'detail' | 'summary'}\n   * @memberof DataAccessApiGetPromptContent\n   */\n  readonly columnDetail?: \"names\" | \"detail\" | \"summary\";\n\n  /**\n   * Specifies a comma-separated list of columns to include in the returned content . If you do not specify a list, all columns are returned. The order of the column names in the list determines the order of cells of the return prompt content.\n   * @type {string}\n   * @memberof DataAccessApiGetPromptContent\n   */\n  readonly includeColumns?: string;\n\n  /**\n   * When includeColumns is specified, a value of true for columnNatrualOrder specifies that the cells of the content are returned in the order in which they occur in the data set instead of in the order that is specified by includeColumns.\n   * @type {boolean}\n   * @memberof DataAccessApiGetPromptContent\n   */\n  readonly columnNaturalOrder?: boolean;\n\n  /**\n   * Specifies the offset of the first row to return.\n   * @type {number}\n   * @memberof DataAccessApiGetPromptContent\n   */\n  readonly start?: number;\n\n  /**\n   * Specifies the maximum number of rows to return.\n   * @type {number}\n   * @memberof DataAccessApiGetPromptContent\n   */\n  readonly limit?: number;\n\n  /**\n   * Sets the sort order for the returned row set.\n   * @type {string}\n   * @memberof DataAccessApiGetPromptContent\n   */\n  readonly sortBy?: string;\n}\n\n/**\n * Request parameters for getPromptContentWithRequest operation in DataAccessApi.\n * @export\n * @interface DataAccessApiGetPromptContentWithRequestRequest\n */\nexport interface DataAccessApiGetPromptContentWithRequestRequest {\n  /**\n   * Specifies the ID of the session.\n   * @type {string}\n   * @memberof DataAccessApiGetPromptContentWithRequest\n   */\n  readonly sessionId: string;\n\n  /**\n   * Specifies the libref for the request.\n   * @type {string}\n   * @memberof DataAccessApiGetPromptContentWithRequest\n   */\n  readonly libref: string;\n\n  /**\n   * Specifies the table or data set to query.\n   * @type {string}\n   * @memberof DataAccessApiGetPromptContentWithRequest\n   */\n  readonly tableName: string;\n\n  /**\n   * Specifies a prompt content creation request.\n   * @type {PromptContentRequest}\n   * @memberof DataAccessApiGetPromptContentWithRequest\n   */\n  readonly promptContentRequest: PromptContentRequest;\n\n  /**\n   * Specifies the offset of the first row to return.\n   * @type {number}\n   * @memberof DataAccessApiGetPromptContentWithRequest\n   */\n  readonly start?: number;\n\n  /**\n   * Specifies the maximum number of rows to return.\n   * @type {number}\n   * @memberof DataAccessApiGetPromptContentWithRequest\n   */\n  readonly limit?: number;\n}\n\n/**\n * Request parameters for getRowSet operation in DataAccessApi.\n * @export\n * @interface DataAccessApiGetRowSetRequest\n */\nexport interface DataAccessApiGetRowSetRequest {\n  /**\n   * Specifies the ID of the session.\n   * @type {string}\n   * @memberof DataAccessApiGetRowSet\n   */\n  readonly sessionId: string;\n\n  /**\n   * Specifies the libref for the request.\n   * @type {string}\n   * @memberof DataAccessApiGetRowSet\n   */\n  readonly libref: string;\n\n  /**\n   * Specifies the table or data set to query.\n   * @type {string}\n   * @memberof DataAccessApiGetRowSet\n   */\n  readonly tableName: string;\n\n  /**\n   * Specifies that a standard SAS WHERE clause was used to build the row set for this request.\n   * @type {string}\n   * @memberof DataAccessApiGetRowSet\n   */\n  readonly where?: string;\n\n  /**\n   * Specifies whether to format the data in the cells.\n   * @type {boolean}\n   * @memberof DataAccessApiGetRowSet\n   */\n  readonly format?: boolean;\n\n  /**\n   * Specifies the level of column information to return.\n   * @type {'names' | 'detail' | 'summary'}\n   * @memberof DataAccessApiGetRowSet\n   */\n  readonly columnDetail?: \"names\" | \"detail\" | \"summary\";\n\n  /**\n   * Specifies a comma-separated list of columns to include in a row set. If you do not specify a list, all columns are returned. The order of the column names in the list determines the order of cells of the row set.\n   * @type {string}\n   * @memberof DataAccessApiGetRowSet\n   */\n  readonly includeColumns?: string;\n\n  /**\n   * When includeColumns is specified, a value of true for columnNatrualOrder specifies that the cells of the row set are returned in the order in which they occur in the data set instead of in the order that is specified by includeColumns.\n   * @type {boolean}\n   * @memberof DataAccessApiGetRowSet\n   */\n  readonly columnNaturalOrder?: boolean;\n\n  /**\n   * Specifies the offset of the first row to return.\n   * @type {number}\n   * @memberof DataAccessApiGetRowSet\n   */\n  readonly start?: number;\n\n  /**\n   * Specifies the maximum number of rows to return.\n   * @type {number}\n   * @memberof DataAccessApiGetRowSet\n   */\n  readonly limit?: number;\n\n  /**\n   * Sets the sort order for the returned row set.\n   * @type {string}\n   * @memberof DataAccessApiGetRowSet\n   */\n  readonly sortBy?: string;\n\n  /**\n   * If set to true, SAS missing values found in the data will be formatted based on the setting of the SAS Option MISSING.   Otherwise, a NULL value will be returned.\n   * @type {boolean}\n   * @memberof DataAccessApiGetRowSet\n   */\n  readonly formatMissingValues?: boolean;\n}\n\n/**\n * Request parameters for getRowSetWithRequest operation in DataAccessApi.\n * @export\n * @interface DataAccessApiGetRowSetWithRequestRequest\n */\nexport interface DataAccessApiGetRowSetWithRequestRequest {\n  /**\n   * Specifies the ID of the session.\n   * @type {string}\n   * @memberof DataAccessApiGetRowSetWithRequest\n   */\n  readonly sessionId: string;\n\n  /**\n   * Specifies the libref for the request.\n   * @type {string}\n   * @memberof DataAccessApiGetRowSetWithRequest\n   */\n  readonly libref: string;\n\n  /**\n   * Specifies the table or data set to query.\n   * @type {string}\n   * @memberof DataAccessApiGetRowSetWithRequest\n   */\n  readonly tableName: string;\n\n  /**\n   * Specifies a row set creation request.\n   * @type {RowSetRequest}\n   * @memberof DataAccessApiGetRowSetWithRequest\n   */\n  readonly rowSetRequest: RowSetRequest;\n\n  /**\n   * Specifies whether to format the data in the cells.\n   * @type {boolean}\n   * @memberof DataAccessApiGetRowSetWithRequest\n   */\n  readonly format?: boolean;\n\n  /**\n   * Specifies the offset of the first row to return.\n   * @type {number}\n   * @memberof DataAccessApiGetRowSetWithRequest\n   */\n  readonly start?: number;\n\n  /**\n   * Specifies the maximum number of rows to return.\n   * @type {number}\n   * @memberof DataAccessApiGetRowSetWithRequest\n   */\n  readonly limit?: number;\n\n  /**\n   * If set to true, SAS missing values found in the data will be formatted based on the setting of the SAS Option MISSING.   Otherwise, a NULL value will be returned.\n   * @type {boolean}\n   * @memberof DataAccessApiGetRowSetWithRequest\n   */\n  readonly formatMissingValues?: boolean;\n}\n\n/**\n * Request parameters for getRows operation in DataAccessApi.\n * @export\n * @interface DataAccessApiGetRowsRequest\n */\nexport interface DataAccessApiGetRowsRequest {\n  /**\n   * Specifies the ID of the session.\n   * @type {string}\n   * @memberof DataAccessApiGetRows\n   */\n  readonly sessionId: string;\n\n  /**\n   * Specifies the libref for the request.\n   * @type {string}\n   * @memberof DataAccessApiGetRows\n   */\n  readonly libref: string;\n\n  /**\n   * Specifies the table or data set to query.\n   * @type {string}\n   * @memberof DataAccessApiGetRows\n   */\n  readonly tableName: string;\n\n  /**\n   * Specifies the offset of the first row to return.\n   * @type {number}\n   * @memberof DataAccessApiGetRows\n   */\n  readonly start?: number;\n\n  /**\n   * Specifies the maximum number of rows to return.\n   * @type {number}\n   * @memberof DataAccessApiGetRows\n   */\n  readonly limit?: number;\n\n  /**\n   * Specifies whether to format the data in the cells.\n   * @type {boolean}\n   * @memberof DataAccessApiGetRows\n   */\n  readonly format?: boolean;\n\n  /**\n   * Specifies whether the first value in the cell is the index of the requested row. Support for this parameter was added in version 2.\n   * @type {boolean}\n   * @memberof DataAccessApiGetRows\n   */\n  readonly includeIndex?: boolean;\n\n  /**\n   * Specifies that a standard SAS WHERE clause was used to return the rows for this request.\n   * @type {string}\n   * @memberof DataAccessApiGetRows\n   */\n  readonly where?: string;\n\n  /**\n   * Specifies whether the first row that is returned consists of column names.\n   * @type {boolean}\n   * @memberof DataAccessApiGetRows\n   */\n  readonly includeColumnNames?: boolean;\n\n  /**\n   * If set to true, SAS missing values found in the data will be formatted based on the setting of the SAS Option MISSING.   Otherwise, a NULL value will be returned.\n   * @type {boolean}\n   * @memberof DataAccessApiGetRows\n   */\n  readonly formatMissingValues?: boolean;\n}\n\n/**\n * Request parameters for getRowsAsCSV operation in DataAccessApi.\n * @export\n * @interface DataAccessApiGetRowsAsCSVRequest\n */\nexport interface DataAccessApiGetRowsAsCSVRequest {\n  /**\n   * Specifies the ID of the session.\n   * @type {string}\n   * @memberof DataAccessApiGetRowsAsCSV\n   */\n  readonly sessionId: string;\n\n  /**\n   * Specifies the libref for the request.\n   * @type {string}\n   * @memberof DataAccessApiGetRowsAsCSV\n   */\n  readonly libref: string;\n\n  /**\n   * Specifies the table or data set to query.\n   * @type {string}\n   * @memberof DataAccessApiGetRowsAsCSV\n   */\n  readonly tableName: string;\n\n  /**\n   * Specifies the offset of the first row to return.\n   * @type {number}\n   * @memberof DataAccessApiGetRowsAsCSV\n   */\n  readonly start?: number;\n\n  /**\n   * (Optional) Specifies the maximum number of rows to return. If not set, all rows are returned.\n   * @type {number}\n   * @memberof DataAccessApiGetRowsAsCSV\n   */\n  readonly limit?: number;\n\n  /**\n   * Specifies whether to format the data in the cells.\n   * @type {boolean}\n   * @memberof DataAccessApiGetRowsAsCSV\n   */\n  readonly format?: boolean;\n\n  /**\n   * Specifies whether the first value in the cell is the index of the requested row. Support for this parameter was added in version 2.\n   * @type {boolean}\n   * @memberof DataAccessApiGetRowsAsCSV\n   */\n  readonly includeIndex?: boolean;\n\n  /**\n   * Specifies that a standard SAS WHERE clause has been used to return the rows for this request.\n   * @type {string}\n   * @memberof DataAccessApiGetRowsAsCSV\n   */\n  readonly where?: string;\n\n  /**\n   * Specifies whether the first row that is returned consists of column names.\n   * @type {boolean}\n   * @memberof DataAccessApiGetRowsAsCSV\n   */\n  readonly includeColumnNames?: boolean;\n\n  /**\n   * Specifies the character to use as the column separator. If no character is specified, a comma is used as the separator.\n   * @type {string}\n   * @memberof DataAccessApiGetRowsAsCSV\n   */\n  readonly columnSeparator?: string;\n\n  /**\n   * Specifies the characters to use as the row separator. If no characters are specified, a line feed character (\\\\n) is used.\n   * @type {string}\n   * @memberof DataAccessApiGetRowsAsCSV\n   */\n  readonly rowSeparator?: string;\n\n  /**\n   * Specifies whether values that contain special characters are quoted.\n   * @type {boolean}\n   * @memberof DataAccessApiGetRowsAsCSV\n   */\n  readonly enableQuoting?: boolean;\n\n  /**\n   * Specifies whether special characters in values are escaped if the value is not quoted.\n   * @type {boolean}\n   * @memberof DataAccessApiGetRowsAsCSV\n   */\n  readonly enableEscaping?: boolean;\n\n  /**\n   * If set to true, SAS missing values found in the data will be formatted based on the setting of the SAS Option MISSING.   Otherwise, a NULL value will be returned.\n   * @type {boolean}\n   * @memberof DataAccessApiGetRowsAsCSV\n   */\n  readonly formatMissingValues?: boolean;\n}\n\n/**\n * Request parameters for getRowsWithRequest operation in DataAccessApi.\n * @export\n * @interface DataAccessApiGetRowsWithRequestRequest\n */\nexport interface DataAccessApiGetRowsWithRequestRequest {\n  /**\n   * Specifies the ID of the session.\n   * @type {string}\n   * @memberof DataAccessApiGetRowsWithRequest\n   */\n  readonly sessionId: string;\n\n  /**\n   * Specifies the libref for the request.\n   * @type {string}\n   * @memberof DataAccessApiGetRowsWithRequest\n   */\n  readonly libref: string;\n\n  /**\n   * Specifies the table or data set to query.\n   * @type {string}\n   * @memberof DataAccessApiGetRowsWithRequest\n   */\n  readonly tableName: string;\n\n  /**\n   * Specifies a row-generation request.\n   * @type {RowsRequest}\n   * @memberof DataAccessApiGetRowsWithRequest\n   */\n  readonly rowsRequest: RowsRequest;\n\n  /**\n   * Specifies the offset of the first row to return.\n   * @type {number}\n   * @memberof DataAccessApiGetRowsWithRequest\n   */\n  readonly start?: number;\n\n  /**\n   * Specifies the maximum number of rows to return.\n   * @type {number}\n   * @memberof DataAccessApiGetRowsWithRequest\n   */\n  readonly limit?: number;\n\n  /**\n   * Specifies whether to format the data in the cells.\n   * @type {boolean}\n   * @memberof DataAccessApiGetRowsWithRequest\n   */\n  readonly format?: boolean;\n\n  /**\n   * Specifies whether the first value in the cell is the index of a specific row. Support for this parameter was added in version 2.\n   * @type {boolean}\n   * @memberof DataAccessApiGetRowsWithRequest\n   */\n  readonly includeIndex?: boolean;\n\n  /**\n   * If set to true, SAS missing values found in the data will be formatted based on the setting of the SAS Option MISSING.   Otherwise, a NULL value will be returned.\n   * @type {boolean}\n   * @memberof DataAccessApiGetRowsWithRequest\n   */\n  readonly formatMissingValues?: boolean;\n}\n\n/**\n * Request parameters for getTable operation in DataAccessApi.\n * @export\n * @interface DataAccessApiGetTableRequest\n */\nexport interface DataAccessApiGetTableRequest {\n  /**\n   * Specifies the ID of the session.\n   * @type {string}\n   * @memberof DataAccessApiGetTable\n   */\n  readonly sessionId: string;\n\n  /**\n   * Specifies the libref for the request.\n   * @type {string}\n   * @memberof DataAccessApiGetTable\n   */\n  readonly libref: string;\n\n  /**\n   * Specifies the table or data set to query.\n   * @type {string}\n   * @memberof DataAccessApiGetTable\n   */\n  readonly tableName: string;\n}\n\n/**\n * Request parameters for getTableSummary operation in DataAccessApi.\n * @export\n * @interface DataAccessApiGetTableSummaryRequest\n */\nexport interface DataAccessApiGetTableSummaryRequest {\n  /**\n   * Specifies the ID of the session.\n   * @type {string}\n   * @memberof DataAccessApiGetTableSummary\n   */\n  readonly sessionId: string;\n\n  /**\n   * Specifies the libref for the request.\n   * @type {string}\n   * @memberof DataAccessApiGetTableSummary\n   */\n  readonly libref: string;\n\n  /**\n   * Specifies the table or data set to query.\n   * @type {string}\n   * @memberof DataAccessApiGetTableSummary\n   */\n  readonly tableName: string;\n}\n\n/**\n * Request parameters for getTables operation in DataAccessApi.\n * @export\n * @interface DataAccessApiGetTablesRequest\n */\nexport interface DataAccessApiGetTablesRequest {\n  /**\n   * Specifies the ID of the session.\n   * @type {string}\n   * @memberof DataAccessApiGetTables\n   */\n  readonly sessionId: string;\n\n  /**\n   * Specifies the libref to query.\n   * @type {string}\n   * @memberof DataAccessApiGetTables\n   */\n  readonly libref: string;\n\n  /**\n   * Specifies the desired data table representation.&lt;br&gt; The Accept-Item options are: &lt;ul&gt; &lt;li&gt;application/vnd.sas.compute.data.table+json &lt;li&gt;application/vnd.sas.compute.data.table.summary+json &lt;li&gt;blank &lt;/ul&gt; If the application/vnd.sas.compute.data.table.summary+json type is specified or no Accept-Item header is specified, then the data tables are returned as summary representation data table objects.\n   * @type {'application/vnd.sas.compute.data.table+json'}\n   * @memberof DataAccessApiGetTables\n   */\n  readonly acceptItem?: \"application/vnd.sas.compute.data.table+json\";\n\n  /**\n   * Specifies the offset of the first table summary to return.\n   * @type {number}\n   * @memberof DataAccessApiGetTables\n   */\n  readonly start?: number;\n\n  /**\n   * Specifies the maximum number of table summaries to return.\n   * @type {number}\n   * @memberof DataAccessApiGetTables\n   */\n  readonly limit?: number;\n\n  /**\n   * Specifies whether to force the table collection to be refreshed before it is returned.\n   * @type {boolean}\n   * @memberof DataAccessApiGetTables\n   */\n  readonly noCache?: boolean;\n}\n\n/**\n * Request parameters for headersForColumn operation in DataAccessApi.\n * @export\n * @interface DataAccessApiHeadersForColumnRequest\n */\nexport interface DataAccessApiHeadersForColumnRequest {\n  /**\n   * Specifies the ID of the session.\n   * @type {string}\n   * @memberof DataAccessApiHeadersForColumn\n   */\n  readonly sessionId: string;\n\n  /**\n   * Specifies the libref for the request.\n   * @type {string}\n   * @memberof DataAccessApiHeadersForColumn\n   */\n  readonly libref: string;\n\n  /**\n   * Specifies the table or data set to query.\n   * @type {string}\n   * @memberof DataAccessApiHeadersForColumn\n   */\n  readonly tableName: string;\n\n  /**\n   * Specifies the column name to check.\n   * @type {string}\n   * @memberof DataAccessApiHeadersForColumn\n   */\n  readonly columnName: string;\n}\n\n/**\n * Request parameters for headersForColumns operation in DataAccessApi.\n * @export\n * @interface DataAccessApiHeadersForColumnsRequest\n */\nexport interface DataAccessApiHeadersForColumnsRequest {\n  /**\n   * Specifies the ID of the session.\n   * @type {string}\n   * @memberof DataAccessApiHeadersForColumns\n   */\n  readonly sessionId: string;\n\n  /**\n   * Specifies the libref for the request.\n   * @type {string}\n   * @memberof DataAccessApiHeadersForColumns\n   */\n  readonly libref: string;\n\n  /**\n   * Specifies the table or data set to query.\n   * @type {string}\n   * @memberof DataAccessApiHeadersForColumns\n   */\n  readonly tableName: string;\n\n  /**\n   * Specifies the offset of the first column entry to return.\n   * @type {number}\n   * @memberof DataAccessApiHeadersForColumns\n   */\n  readonly start?: number;\n\n  /**\n   * Specifies the maximum number of columns to return.\n   * @type {number}\n   * @memberof DataAccessApiHeadersForColumns\n   */\n  readonly limit?: number;\n}\n\n/**\n * Request parameters for headersForLibrary operation in DataAccessApi.\n * @export\n * @interface DataAccessApiHeadersForLibraryRequest\n */\nexport interface DataAccessApiHeadersForLibraryRequest {\n  /**\n   * Specifies the ID of the session.\n   * @type {string}\n   * @memberof DataAccessApiHeadersForLibrary\n   */\n  readonly sessionId: string;\n\n  /**\n   * Specifies the libref to query.\n   * @type {string}\n   * @memberof DataAccessApiHeadersForLibrary\n   */\n  readonly libref: string;\n}\n\n/**\n * Request parameters for headersForPromptContent operation in DataAccessApi.\n * @export\n * @interface DataAccessApiHeadersForPromptContentRequest\n */\nexport interface DataAccessApiHeadersForPromptContentRequest {\n  /**\n   * Specifies the ID of the session\n   * @type {string}\n   * @memberof DataAccessApiHeadersForPromptContent\n   */\n  readonly sessionId: string;\n\n  /**\n   * Specifies the libref for the request.\n   * @type {string}\n   * @memberof DataAccessApiHeadersForPromptContent\n   */\n  readonly libref: string;\n\n  /**\n   * Specifies the table or data set to query.\n   * @type {string}\n   * @memberof DataAccessApiHeadersForPromptContent\n   */\n  readonly tableName: string;\n\n  /**\n   * Specifies that a standard SAS WHERE clause was used to build the content for this request.\n   * @type {string}\n   * @memberof DataAccessApiHeadersForPromptContent\n   */\n  readonly where?: string;\n\n  /**\n   * Specifies the level of column information to return.\n   * @type {'names' | 'detail' | 'summary'}\n   * @memberof DataAccessApiHeadersForPromptContent\n   */\n  readonly columnDetail?: \"names\" | \"detail\" | \"summary\";\n\n  /**\n   * Specifies a comma separated list of columns to include in the returned content. If you do not specify a list, all columns are returned. The order of the column names in the list is the order in which the cells of the content are in as well.\n   * @type {string}\n   * @memberof DataAccessApiHeadersForPromptContent\n   */\n  readonly includeColumns?: string;\n\n  /**\n   * When includeColumns is specified, a value of true for columnNatrualOrder specifies that the cells of the returned content are returned in the order in which they occur in the data set instead of in the order that is specified by includeColumns.\n   * @type {boolean}\n   * @memberof DataAccessApiHeadersForPromptContent\n   */\n  readonly columnNaturalOrder?: boolean;\n\n  /**\n   * Specifies the offset of the first row to return. The default value is \\&quot;0\\&quot;.\n   * @type {number}\n   * @memberof DataAccessApiHeadersForPromptContent\n   */\n  readonly start?: number;\n\n  /**\n   * Specifies the maximum number of rows to return. The default value is \\&quot;10\\&quot;.\n   * @type {number}\n   * @memberof DataAccessApiHeadersForPromptContent\n   */\n  readonly limit?: number;\n\n  /**\n   * Sets the sort order for the returned prompt content.\n   * @type {string}\n   * @memberof DataAccessApiHeadersForPromptContent\n   */\n  readonly sortBy?: string;\n}\n\n/**\n * Request parameters for headersForRow operation in DataAccessApi.\n * @export\n * @interface DataAccessApiHeadersForRowRequest\n */\nexport interface DataAccessApiHeadersForRowRequest {\n  /**\n   * Specifies the ID of the session.\n   * @type {string}\n   * @memberof DataAccessApiHeadersForRow\n   */\n  readonly sessionId: string;\n\n  /**\n   * Specifies the libref for the request.\n   * @type {string}\n   * @memberof DataAccessApiHeadersForRow\n   */\n  readonly libref: string;\n\n  /**\n   * Specifies the table or data set to query.\n   * @type {string}\n   * @memberof DataAccessApiHeadersForRow\n   */\n  readonly tableName: string;\n\n  /**\n   * Specifies the offset of the first row to return.\n   * @type {number}\n   * @memberof DataAccessApiHeadersForRow\n   */\n  readonly start?: number;\n\n  /**\n   * Specifies the maximum number of rows to return.\n   * @type {number}\n   * @memberof DataAccessApiHeadersForRow\n   */\n  readonly limit?: number;\n\n  /**\n   * Specifies whether to format the data in the cells.\n   * @type {boolean}\n   * @memberof DataAccessApiHeadersForRow\n   */\n  readonly format?: boolean;\n\n  /**\n   * Specifies whether the first value in the cell is the index of the requested row. Support for this parameter was added in version 2.\n   * @type {boolean}\n   * @memberof DataAccessApiHeadersForRow\n   */\n  readonly includeIndex?: boolean;\n\n  /**\n   * Specifies that a standard SAS WHERE clause was used to return the rows for this request.\n   * @type {string}\n   * @memberof DataAccessApiHeadersForRow\n   */\n  readonly where?: string;\n\n  /**\n   * Specifies whether the first row that is returned consists of column names.\n   * @type {boolean}\n   * @memberof DataAccessApiHeadersForRow\n   */\n  readonly includeColumnNames?: boolean;\n\n  /**\n   * If set to true, SAS missing values found in the data will be formatted based on the setting of the SAS Option MISSING.   Otherwise, a NULL value will be returned.\n   * @type {boolean}\n   * @memberof DataAccessApiHeadersForRow\n   */\n  readonly formatMissingValues?: boolean;\n}\n\n/**\n * Request parameters for headersForRowSet operation in DataAccessApi.\n * @export\n * @interface DataAccessApiHeadersForRowSetRequest\n */\nexport interface DataAccessApiHeadersForRowSetRequest {\n  /**\n   * Specifies the ID of the session\n   * @type {string}\n   * @memberof DataAccessApiHeadersForRowSet\n   */\n  readonly sessionId: string;\n\n  /**\n   * Specifies the libref for the request.\n   * @type {string}\n   * @memberof DataAccessApiHeadersForRowSet\n   */\n  readonly libref: string;\n\n  /**\n   * Specifies the table or data set to query.\n   * @type {string}\n   * @memberof DataAccessApiHeadersForRowSet\n   */\n  readonly tableName: string;\n\n  /**\n   * Specifies that a standard SAS WHERE clause was used to build the row set for this request.\n   * @type {string}\n   * @memberof DataAccessApiHeadersForRowSet\n   */\n  readonly where?: string;\n\n  /**\n   * Specifies whether to format the data in the cells.\n   * @type {boolean}\n   * @memberof DataAccessApiHeadersForRowSet\n   */\n  readonly format?: boolean;\n\n  /**\n   * Specifies the level of column information to return.\n   * @type {'names' | 'detail' | 'summary'}\n   * @memberof DataAccessApiHeadersForRowSet\n   */\n  readonly columnDetail?: \"names\" | \"detail\" | \"summary\";\n\n  /**\n   * Specifies a comma separated list of columns to include in the row set. If you do not specify a list, all columns are returned. The order of the column names in the list is the order in which the cells of the row set are in as well.\n   * @type {string}\n   * @memberof DataAccessApiHeadersForRowSet\n   */\n  readonly includeColumns?: string;\n\n  /**\n   * When includeColumns is specified, a value of true for columnNatrualOrder specifies that the cells of the row set are returned in the order in which they occur in the data set instead of in the order that is specified by includeColumns.\n   * @type {boolean}\n   * @memberof DataAccessApiHeadersForRowSet\n   */\n  readonly columnNaturalOrder?: boolean;\n\n  /**\n   * Specifies the offset of the first row to return. The default value is \\&quot;0\\&quot;.\n   * @type {number}\n   * @memberof DataAccessApiHeadersForRowSet\n   */\n  readonly start?: number;\n\n  /**\n   * Specifies the maximum number of rows to return. The default value is \\&quot;10\\&quot;.\n   * @type {number}\n   * @memberof DataAccessApiHeadersForRowSet\n   */\n  readonly limit?: number;\n\n  /**\n   * Sets the sort order for the returned row set.\n   * @type {string}\n   * @memberof DataAccessApiHeadersForRowSet\n   */\n  readonly sortBy?: string;\n\n  /**\n   * If set to true, SAS missing values found in the data will be formatted based on the setting of the SAS Option MISSING.   Otherwise, a NULL value will be returned.\n   * @type {boolean}\n   * @memberof DataAccessApiHeadersForRowSet\n   */\n  readonly formatMissingValues?: boolean;\n}\n\n/**\n * Request parameters for headersForRowsAsCSV operation in DataAccessApi.\n * @export\n * @interface DataAccessApiHeadersForRowsAsCSVRequest\n */\nexport interface DataAccessApiHeadersForRowsAsCSVRequest {\n  /**\n   * Specifies the ID of the session.\n   * @type {string}\n   * @memberof DataAccessApiHeadersForRowsAsCSV\n   */\n  readonly sessionId: string;\n\n  /**\n   * Specifies the libref for the request.\n   * @type {string}\n   * @memberof DataAccessApiHeadersForRowsAsCSV\n   */\n  readonly libref: string;\n\n  /**\n   * Specifies the table or data set to query.\n   * @type {string}\n   * @memberof DataAccessApiHeadersForRowsAsCSV\n   */\n  readonly tableName: string;\n\n  /**\n   * Specifies the offset of the first row to return.\n   * @type {number}\n   * @memberof DataAccessApiHeadersForRowsAsCSV\n   */\n  readonly start?: number;\n\n  /**\n   * (Optional) Specifies the maximum number of rows to return. If not set, all rows are returned.\n   * @type {number}\n   * @memberof DataAccessApiHeadersForRowsAsCSV\n   */\n  readonly limit?: number;\n\n  /**\n   * Specifies whether to format the data in the cells.\n   * @type {boolean}\n   * @memberof DataAccessApiHeadersForRowsAsCSV\n   */\n  readonly format?: boolean;\n\n  /**\n   * Specifies whether the first value in the cell is the index of the requested row. Support for this parameter was added in version 2.\n   * @type {boolean}\n   * @memberof DataAccessApiHeadersForRowsAsCSV\n   */\n  readonly includeIndex?: boolean;\n\n  /**\n   * Specifies that a standard SAS WHERE clause was used to return the rows for this request.\n   * @type {string}\n   * @memberof DataAccessApiHeadersForRowsAsCSV\n   */\n  readonly where?: string;\n\n  /**\n   * Specifies whether the first row that is returned consists of column names.\n   * @type {boolean}\n   * @memberof DataAccessApiHeadersForRowsAsCSV\n   */\n  readonly includeColumnNames?: boolean;\n\n  /**\n   * Specifies the character to use as the column separator. If no character is specified, a comma is used as the separator.\n   * @type {string}\n   * @memberof DataAccessApiHeadersForRowsAsCSV\n   */\n  readonly columnSeparator?: string;\n\n  /**\n   * Specifies the characters to use as the row separator. If no characters are specified, a line feed character (\\\\n) is used.\n   * @type {string}\n   * @memberof DataAccessApiHeadersForRowsAsCSV\n   */\n  readonly rowSeparator?: string;\n\n  /**\n   * Specifies whether values that contain special characters are quoted.\n   * @type {boolean}\n   * @memberof DataAccessApiHeadersForRowsAsCSV\n   */\n  readonly enableQuoting?: boolean;\n\n  /**\n   * Specifies whether special characters in values are escaped if the values are not quoted.\n   * @type {boolean}\n   * @memberof DataAccessApiHeadersForRowsAsCSV\n   */\n  readonly enableEscaping?: boolean;\n\n  /**\n   * If set to true, SAS missing values found in the data will be formatted based on the setting of the SAS Option MISSING.   Otherwise, a NULL value will be returned.\n   * @type {boolean}\n   * @memberof DataAccessApiHeadersForRowsAsCSV\n   */\n  readonly formatMissingValues?: boolean;\n}\n\n/**\n * Request parameters for headersForSessionLibraries operation in DataAccessApi.\n * @export\n * @interface DataAccessApiHeadersForSessionLibrariesRequest\n */\nexport interface DataAccessApiHeadersForSessionLibrariesRequest {\n  /**\n   * Specifies the ID of the session.\n   * @type {string}\n   * @memberof DataAccessApiHeadersForSessionLibraries\n   */\n  readonly sessionId: string;\n\n  /**\n   * Specifies the offset of the first library to return.\n   * @type {number}\n   * @memberof DataAccessApiHeadersForSessionLibraries\n   */\n  readonly start?: number;\n\n  /**\n   * Specifies the maximum number of libraries to return.\n   * @type {number}\n   * @memberof DataAccessApiHeadersForSessionLibraries\n   */\n  readonly limit?: number;\n\n  /**\n   * Specifies whether to force the library collection to be refreshed before it is returned.\n   * @type {boolean}\n   * @memberof DataAccessApiHeadersForSessionLibraries\n   */\n  readonly noCache?: boolean;\n}\n\n/**\n * Request parameters for headersForTable operation in DataAccessApi.\n * @export\n * @interface DataAccessApiHeadersForTableRequest\n */\nexport interface DataAccessApiHeadersForTableRequest {\n  /**\n   * Specifies the ID of the session.\n   * @type {string}\n   * @memberof DataAccessApiHeadersForTable\n   */\n  readonly sessionId: string;\n\n  /**\n   * Specifies the libref for the request.\n   * @type {string}\n   * @memberof DataAccessApiHeadersForTable\n   */\n  readonly libref: string;\n\n  /**\n   * Specifies the table or data set to query.\n   * @type {string}\n   * @memberof DataAccessApiHeadersForTable\n   */\n  readonly tableName: string;\n}\n\n/**\n * Request parameters for updateColumn operation in DataAccessApi.\n * @export\n * @interface DataAccessApiUpdateColumnRequest\n */\nexport interface DataAccessApiUpdateColumnRequest {\n  /**\n   * Specifies the ID of the session.\n   * @type {string}\n   * @memberof DataAccessApiUpdateColumn\n   */\n  readonly sessionId: string;\n\n  /**\n   * Specifies the libref for the request.\n   * @type {string}\n   * @memberof DataAccessApiUpdateColumn\n   */\n  readonly libref: string;\n\n  /**\n   * Specifies the table that contains the column to update.\n   * @type {string}\n   * @memberof DataAccessApiUpdateColumn\n   */\n  readonly tableName: string;\n\n  /**\n   * Specifies the column name to update.\n   * @type {string}\n   * @memberof DataAccessApiUpdateColumn\n   */\n  readonly columnName: string;\n\n  /**\n   * Specifies the ETag of the column that you are updating.\n   * @type {string}\n   * @memberof DataAccessApiUpdateColumn\n   */\n  readonly ifMatch: string;\n\n  /**\n   * Specifies the information to update for the column.\n   * @type {Column}\n   * @memberof DataAccessApiUpdateColumn\n   */\n  readonly column: Column;\n}\n\n/**\n * Request parameters for updateTable operation in DataAccessApi.\n * @export\n * @interface DataAccessApiUpdateTableRequest\n */\nexport interface DataAccessApiUpdateTableRequest {\n  /**\n   * Specifies the ID of the session.\n   * @type {string}\n   * @memberof DataAccessApiUpdateTable\n   */\n  readonly sessionId: string;\n\n  /**\n   * Specifies the libref for the request.\n   * @type {string}\n   * @memberof DataAccessApiUpdateTable\n   */\n  readonly libref: string;\n\n  /**\n   * Specifies the table or data set to update.\n   * @type {string}\n   * @memberof DataAccessApiUpdateTable\n   */\n  readonly tableName: string;\n\n  /**\n   * Specifies the ETag of the table that you are updating.\n   * @type {string}\n   * @memberof DataAccessApiUpdateTable\n   */\n  readonly ifMatch: string;\n\n  /**\n   * Specifies the information to update for the table.\n   * @type {TableInfo}\n   * @memberof DataAccessApiUpdateTable\n   */\n  readonly tableInfo: TableInfo;\n}\n\n/**\n * EnginesApi - axios parameter creator\n * @export\n */\nexport const EnginesApiAxiosParamCreator = function (\n  configuration?: Configuration,\n) {\n  return {\n    /**\n     * Returns information about a specific engine.\n     * @summary Get engine information for a session\n     * @param {string} sessionId Specifies the ID of the session.\n     * @param {string} engineName Specifies the name or nickname of the specified engine.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    getEngine: async (\n      sessionId: string,\n      engineName: string,\n      options: AxiosRequestConfig = {},\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'sessionId' is not null or undefined\n      assertParamExists(\"getEngine\", \"sessionId\", sessionId);\n      // verify required parameter 'engineName' is not null or undefined\n      assertParamExists(\"getEngine\", \"engineName\", engineName);\n      const localVarPath = `/sessions/{sessionId}/engines/{engineName}`\n        .replace(`{${\"sessionId\"}}`, encodeURIComponent(String(sessionId)))\n        .replace(`{${\"engineName\"}}`, encodeURIComponent(String(engineName)));\n      // use dummy base URL string because the URL constructor only accepts absolute URLs.\n      const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n      let baseOptions;\n      if (configuration) {\n        baseOptions = configuration.baseOptions;\n      }\n\n      const localVarRequestOptions = {\n        method: \"GET\",\n        ...baseOptions,\n        ...options,\n      };\n      const localVarHeaderParameter = {} as any;\n      const localVarQueryParameter = {} as any;\n\n      setSearchParams(localVarUrlObj, localVarQueryParameter);\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {};\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      };\n\n      return {\n        url: toPathString(localVarUrlObj),\n        options: localVarRequestOptions,\n      };\n    },\n    /**\n     * Returns the options schema for a specific engine.\n     * @summary Get options schema for an engine\n     * @param {string} sessionId Specifies the ID of the session.\n     * @param {string} engineName Specifies the name or nickname of the requested engine.\n     * @param {number} [start] Specifies the offset of the first resource to return. The default value is \\&quot;0\\&quot;.\n     * @param {number} [limit] Specifies the maximum number of resources to return. The default value is \\&quot;50\\&quot;.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    getEngineDefinition: async (\n      sessionId: string,\n      engineName: string,\n      start?: number,\n      limit?: number,\n      options: AxiosRequestConfig = {},\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'sessionId' is not null or undefined\n      assertParamExists(\"getEngineDefinition\", \"sessionId\", sessionId);\n      // verify required parameter 'engineName' is not null or undefined\n      assertParamExists(\"getEngineDefinition\", \"engineName\", engineName);\n      const localVarPath =\n        `/sessions/{sessionId}/engines/{engineName}/definition`\n          .replace(`{${\"sessionId\"}}`, encodeURIComponent(String(sessionId)))\n          .replace(`{${\"engineName\"}}`, encodeURIComponent(String(engineName)));\n      // use dummy base URL string because the URL constructor only accepts absolute URLs.\n      const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n      let baseOptions;\n      if (configuration) {\n        baseOptions = configuration.baseOptions;\n      }\n\n      const localVarRequestOptions = {\n        method: \"GET\",\n        ...baseOptions,\n        ...options,\n      };\n      const localVarHeaderParameter = {} as any;\n      const localVarQueryParameter = {} as any;\n\n      if (start !== undefined) {\n        localVarQueryParameter[\"start\"] = start;\n      }\n\n      if (limit !== undefined) {\n        localVarQueryParameter[\"limit\"] = limit;\n      }\n\n      setSearchParams(localVarUrlObj, localVarQueryParameter);\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {};\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      };\n\n      return {\n        url: toPathString(localVarUrlObj),\n        options: localVarRequestOptions,\n      };\n    },\n    /**\n     * Returns engine information for a session. An engine enables you to access data from different storage locations. Each engine might have different requirements for usage. This endpoint returns a collection of engine information that enables you to determine what engines can be used in a session. A collection of application/vnd.sas.data.engine items is returned. Standard pagination rules apply, and simple filtering is allowed.\n     * @summary Get an engine list for a session\n     * @param {string} sessionId Specifies the ID of the session.\n     * @param {string} [filter] Specifies filter criteria for returned context definitions.\n     * @param {number} [start] Specifies the offset of the first engine to return. The default value is 0.\n     * @param {number} [limit] Specifies the maximum number of engines to return on a page. The default value is 10.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    getEngines: async (\n      sessionId: string,\n      filter?: string,\n      start?: number,\n      limit?: number,\n      options: AxiosRequestConfig = {},\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'sessionId' is not null or undefined\n      assertParamExists(\"getEngines\", \"sessionId\", sessionId);\n      const localVarPath = `/sessions/{sessionId}/engines`.replace(\n        `{${\"sessionId\"}}`,\n        encodeURIComponent(String(sessionId)),\n      );\n      // use dummy base URL string because the URL constructor only accepts absolute URLs.\n      const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n      let baseOptions;\n      if (configuration) {\n        baseOptions = configuration.baseOptions;\n      }\n\n      const localVarRequestOptions = {\n        method: \"GET\",\n        ...baseOptions,\n        ...options,\n      };\n      const localVarHeaderParameter = {} as any;\n      const localVarQueryParameter = {} as any;\n\n      if (filter !== undefined) {\n        localVarQueryParameter[\"filter\"] = filter;\n      }\n\n      if (start !== undefined) {\n        localVarQueryParameter[\"start\"] = start;\n      }\n\n      if (limit !== undefined) {\n        localVarQueryParameter[\"limit\"] = limit;\n      }\n\n      setSearchParams(localVarUrlObj, localVarQueryParameter);\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {};\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      };\n\n      return {\n        url: toPathString(localVarUrlObj),\n        options: localVarRequestOptions,\n      };\n    },\n    /**\n     * Determines whether information for a specific engine is available.\n     * @summary Get engine information\n     * @param {string} sessionId Specifies the ID of the session.\n     * @param {string} engineName Specifies the name or nickname of the engine.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    headersForEngine: async (\n      sessionId: string,\n      engineName: string,\n      options: AxiosRequestConfig = {},\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'sessionId' is not null or undefined\n      assertParamExists(\"headersForEngine\", \"sessionId\", sessionId);\n      // verify required parameter 'engineName' is not null or undefined\n      assertParamExists(\"headersForEngine\", \"engineName\", engineName);\n      const localVarPath = `/sessions/{sessionId}/engines/{engineName}`\n        .replace(`{${\"sessionId\"}}`, encodeURIComponent(String(sessionId)))\n        .replace(`{${\"engineName\"}}`, encodeURIComponent(String(engineName)));\n      // use dummy base URL string because the URL constructor only accepts absolute URLs.\n      const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n      let baseOptions;\n      if (configuration) {\n        baseOptions = configuration.baseOptions;\n      }\n\n      const localVarRequestOptions = {\n        method: \"HEAD\",\n        ...baseOptions,\n        ...options,\n      };\n      const localVarHeaderParameter = {} as any;\n      const localVarQueryParameter = {} as any;\n\n      setSearchParams(localVarUrlObj, localVarQueryParameter);\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {};\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      };\n\n      return {\n        url: toPathString(localVarUrlObj),\n        options: localVarRequestOptions,\n      };\n    },\n    /**\n     * Determines whether information for the specified engine is available.\n     * @summary Get engine information for a session\n     * @param {string} sessionId Specifies the ID of the session.\n     * @param {string} engineName Specifies the name or nickname of the requested engine.\n     * @param {number} [start] Specifies the offset of the first resource to return. The default value is \\&quot;0\\&quot;.\n     * @param {number} [limit] Specifies the maximum number of resources to return. The default value is \\&quot;50\\&quot;.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    headersForEngineDefinition: async (\n      sessionId: string,\n      engineName: string,\n      start?: number,\n      limit?: number,\n      options: AxiosRequestConfig = {},\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'sessionId' is not null or undefined\n      assertParamExists(\"headersForEngineDefinition\", \"sessionId\", sessionId);\n      // verify required parameter 'engineName' is not null or undefined\n      assertParamExists(\"headersForEngineDefinition\", \"engineName\", engineName);\n      const localVarPath =\n        `/sessions/{sessionId}/engines/{engineName}/definition`\n          .replace(`{${\"sessionId\"}}`, encodeURIComponent(String(sessionId)))\n          .replace(`{${\"engineName\"}}`, encodeURIComponent(String(engineName)));\n      // use dummy base URL string because the URL constructor only accepts absolute URLs.\n      const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n      let baseOptions;\n      if (configuration) {\n        baseOptions = configuration.baseOptions;\n      }\n\n      const localVarRequestOptions = {\n        method: \"HEAD\",\n        ...baseOptions,\n        ...options,\n      };\n      const localVarHeaderParameter = {} as any;\n      const localVarQueryParameter = {} as any;\n\n      if (start !== undefined) {\n        localVarQueryParameter[\"start\"] = start;\n      }\n\n      if (limit !== undefined) {\n        localVarQueryParameter[\"limit\"] = limit;\n      }\n\n      setSearchParams(localVarUrlObj, localVarQueryParameter);\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {};\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      };\n\n      return {\n        url: toPathString(localVarUrlObj),\n        options: localVarRequestOptions,\n      };\n    },\n    /**\n     * Determines whether it is possible to get engine information for a session.\n     * @summary Check engine list availability for a session\n     * @param {string} sessionId Specifies the ID of the session.\n     * @param {string} [filter] Specifies filter criteria for returned context definitions.\n     * @param {number} [start] Specifies the offset of the first engine to return. The default value is \\&quot;0\\&quot;.\n     * @param {number} [limit] Specifies the maximum number of engines to return in a page. The default value is \\&quot;10\\&quot;.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    headersForEngines: async (\n      sessionId: string,\n      filter?: string,\n      start?: number,\n      limit?: number,\n      options: AxiosRequestConfig = {},\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'sessionId' is not null or undefined\n      assertParamExists(\"headersForEngines\", \"sessionId\", sessionId);\n      const localVarPath = `/sessions/{sessionId}/engines`.replace(\n        `{${\"sessionId\"}}`,\n        encodeURIComponent(String(sessionId)),\n      );\n      // use dummy base URL string because the URL constructor only accepts absolute URLs.\n      const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n      let baseOptions;\n      if (configuration) {\n        baseOptions = configuration.baseOptions;\n      }\n\n      const localVarRequestOptions = {\n        method: \"HEAD\",\n        ...baseOptions,\n        ...options,\n      };\n      const localVarHeaderParameter = {} as any;\n      const localVarQueryParameter = {} as any;\n\n      if (filter !== undefined) {\n        localVarQueryParameter[\"filter\"] = filter;\n      }\n\n      if (start !== undefined) {\n        localVarQueryParameter[\"start\"] = start;\n      }\n\n      if (limit !== undefined) {\n        localVarQueryParameter[\"limit\"] = limit;\n      }\n\n      setSearchParams(localVarUrlObj, localVarQueryParameter);\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {};\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      };\n\n      return {\n        url: toPathString(localVarUrlObj),\n        options: localVarRequestOptions,\n      };\n    },\n  };\n};\n\n/**\n * EnginesApi - functional programming interface\n * @export\n */\nexport const EnginesApi = function (configuration?: Configuration) {\n  const localVarAxiosParamCreator = EnginesApiAxiosParamCreator(configuration);\n  return {\n    /**\n     * Returns information about a specific engine.\n     * @summary Get engine information for a session\n     * @param {EnginesApiGetEngineRequest} requestParameters Request parameters.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async getEngine(\n      requestParameters: EnginesApiGetEngineRequest,\n      options?: AxiosRequestConfig,\n    ): Promise<AxiosResponse<Engine>> {\n      const localVarAxiosArgs = await localVarAxiosParamCreator.getEngine(\n        requestParameters.sessionId,\n        requestParameters.engineName,\n        options,\n      );\n      return createRequestFunction(localVarAxiosArgs, configuration);\n    },\n\n    /**\n     * Returns the options schema for a specific engine.\n     * @summary Get options schema for an engine\n     * @param {EnginesApiGetEngineDefinitionRequest} requestParameters Request parameters.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async getEngineDefinition(\n      requestParameters: EnginesApiGetEngineDefinitionRequest,\n      options?: AxiosRequestConfig,\n    ): Promise<AxiosResponse<void>> {\n      const localVarAxiosArgs =\n        await localVarAxiosParamCreator.getEngineDefinition(\n          requestParameters.sessionId,\n          requestParameters.engineName,\n          requestParameters.start,\n          requestParameters.limit,\n          options,\n        );\n      return createRequestFunction(localVarAxiosArgs, configuration);\n    },\n\n    /**\n     * Returns engine information for a session. An engine enables you to access data from different storage locations. Each engine might have different requirements for usage. This endpoint returns a collection of engine information that enables you to determine what engines can be used in a session. A collection of application/vnd.sas.data.engine items is returned. Standard pagination rules apply, and simple filtering is allowed.\n     * @summary Get an engine list for a session\n     * @param {EnginesApiGetEnginesRequest} requestParameters Request parameters.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async getEngines(\n      requestParameters: EnginesApiGetEnginesRequest,\n      options?: AxiosRequestConfig,\n    ): Promise<AxiosResponse<EngineCollection>> {\n      const localVarAxiosArgs = await localVarAxiosParamCreator.getEngines(\n        requestParameters.sessionId,\n        requestParameters.filter,\n        requestParameters.start,\n        requestParameters.limit,\n        options,\n      );\n      return createRequestFunction(localVarAxiosArgs, configuration);\n    },\n\n    /**\n     * Determines whether information for a specific engine is available.\n     * @summary Get engine information\n     * @param {EnginesApiHeadersForEngineRequest} requestParameters Request parameters.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async headersForEngine(\n      requestParameters: EnginesApiHeadersForEngineRequest,\n      options?: AxiosRequestConfig,\n    ): Promise<AxiosResponse<void>> {\n      const localVarAxiosArgs =\n        await localVarAxiosParamCreator.headersForEngine(\n          requestParameters.sessionId,\n          requestParameters.engineName,\n          options,\n        );\n      return createRequestFunction(localVarAxiosArgs, configuration);\n    },\n\n    /**\n     * Determines whether information for the specified engine is available.\n     * @summary Get engine information for a session\n     * @param {EnginesApiHeadersForEngineDefinitionRequest} requestParameters Request parameters.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async headersForEngineDefinition(\n      requestParameters: EnginesApiHeadersForEngineDefinitionRequest,\n      options?: AxiosRequestConfig,\n    ): Promise<AxiosResponse<void>> {\n      const localVarAxiosArgs =\n        await localVarAxiosParamCreator.headersForEngineDefinition(\n          requestParameters.sessionId,\n          requestParameters.engineName,\n          requestParameters.start,\n          requestParameters.limit,\n          options,\n        );\n      return createRequestFunction(localVarAxiosArgs, configuration);\n    },\n\n    /**\n     * Determines whether it is possible to get engine information for a session.\n     * @summary Check engine list availability for a session\n     * @param {EnginesApiHeadersForEnginesRequest} requestParameters Request parameters.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async headersForEngines(\n      requestParameters: EnginesApiHeadersForEnginesRequest,\n      options?: AxiosRequestConfig,\n    ): Promise<AxiosResponse<void>> {\n      const localVarAxiosArgs =\n        await localVarAxiosParamCreator.headersForEngines(\n          requestParameters.sessionId,\n          requestParameters.filter,\n          requestParameters.start,\n          requestParameters.limit,\n          options,\n        );\n      return createRequestFunction(localVarAxiosArgs, configuration);\n    },\n  };\n};\n\n/**\n * Request parameters for getEngine operation in EnginesApi.\n * @export\n * @interface EnginesApiGetEngineRequest\n */\nexport interface EnginesApiGetEngineRequest {\n  /**\n   * Specifies the ID of the session.\n   * @type {string}\n   * @memberof EnginesApiGetEngine\n   */\n  readonly sessionId: string;\n\n  /**\n   * Specifies the name or nickname of the specified engine.\n   * @type {string}\n   * @memberof EnginesApiGetEngine\n   */\n  readonly engineName: string;\n}\n\n/**\n * Request parameters for getEngineDefinition operation in EnginesApi.\n * @export\n * @interface EnginesApiGetEngineDefinitionRequest\n */\nexport interface EnginesApiGetEngineDefinitionRequest {\n  /**\n   * Specifies the ID of the session.\n   * @type {string}\n   * @memberof EnginesApiGetEngineDefinition\n   */\n  readonly sessionId: string;\n\n  /**\n   * Specifies the name or nickname of the requested engine.\n   * @type {string}\n   * @memberof EnginesApiGetEngineDefinition\n   */\n  readonly engineName: string;\n\n  /**\n   * Specifies the offset of the first resource to return. The default value is \\&quot;0\\&quot;.\n   * @type {number}\n   * @memberof EnginesApiGetEngineDefinition\n   */\n  readonly start?: number;\n\n  /**\n   * Specifies the maximum number of resources to return. The default value is \\&quot;50\\&quot;.\n   * @type {number}\n   * @memberof EnginesApiGetEngineDefinition\n   */\n  readonly limit?: number;\n}\n\n/**\n * Request parameters for getEngines operation in EnginesApi.\n * @export\n * @interface EnginesApiGetEnginesRequest\n */\nexport interface EnginesApiGetEnginesRequest {\n  /**\n   * Specifies the ID of the session.\n   * @type {string}\n   * @memberof EnginesApiGetEngines\n   */\n  readonly sessionId: string;\n\n  /**\n   * Specifies filter criteria for returned context definitions.\n   * @type {string}\n   * @memberof EnginesApiGetEngines\n   */\n  readonly filter?: string;\n\n  /**\n   * Specifies the offset of the first engine to return. The default value is 0.\n   * @type {number}\n   * @memberof EnginesApiGetEngines\n   */\n  readonly start?: number;\n\n  /**\n   * Specifies the maximum number of engines to return on a page. The default value is 10.\n   * @type {number}\n   * @memberof EnginesApiGetEngines\n   */\n  readonly limit?: number;\n}\n\n/**\n * Request parameters for headersForEngine operation in EnginesApi.\n * @export\n * @interface EnginesApiHeadersForEngineRequest\n */\nexport interface EnginesApiHeadersForEngineRequest {\n  /**\n   * Specifies the ID of the session.\n   * @type {string}\n   * @memberof EnginesApiHeadersForEngine\n   */\n  readonly sessionId: string;\n\n  /**\n   * Specifies the name or nickname of the engine.\n   * @type {string}\n   * @memberof EnginesApiHeadersForEngine\n   */\n  readonly engineName: string;\n}\n\n/**\n * Request parameters for headersForEngineDefinition operation in EnginesApi.\n * @export\n * @interface EnginesApiHeadersForEngineDefinitionRequest\n */\nexport interface EnginesApiHeadersForEngineDefinitionRequest {\n  /**\n   * Specifies the ID of the session.\n   * @type {string}\n   * @memberof EnginesApiHeadersForEngineDefinition\n   */\n  readonly sessionId: string;\n\n  /**\n   * Specifies the name or nickname of the requested engine.\n   * @type {string}\n   * @memberof EnginesApiHeadersForEngineDefinition\n   */\n  readonly engineName: string;\n\n  /**\n   * Specifies the offset of the first resource to return. The default value is \\&quot;0\\&quot;.\n   * @type {number}\n   * @memberof EnginesApiHeadersForEngineDefinition\n   */\n  readonly start?: number;\n\n  /**\n   * Specifies the maximum number of resources to return. The default value is \\&quot;50\\&quot;.\n   * @type {number}\n   * @memberof EnginesApiHeadersForEngineDefinition\n   */\n  readonly limit?: number;\n}\n\n/**\n * Request parameters for headersForEngines operation in EnginesApi.\n * @export\n * @interface EnginesApiHeadersForEnginesRequest\n */\nexport interface EnginesApiHeadersForEnginesRequest {\n  /**\n   * Specifies the ID of the session.\n   * @type {string}\n   * @memberof EnginesApiHeadersForEngines\n   */\n  readonly sessionId: string;\n\n  /**\n   * Specifies filter criteria for returned context definitions.\n   * @type {string}\n   * @memberof EnginesApiHeadersForEngines\n   */\n  readonly filter?: string;\n\n  /**\n   * Specifies the offset of the first engine to return. The default value is \\&quot;0\\&quot;.\n   * @type {number}\n   * @memberof EnginesApiHeadersForEngines\n   */\n  readonly start?: number;\n\n  /**\n   * Specifies the maximum number of engines to return in a page. The default value is \\&quot;10\\&quot;.\n   * @type {number}\n   * @memberof EnginesApiHeadersForEngines\n   */\n  readonly limit?: number;\n}\n\n/**\n * FileSystemApi - axios parameter creator\n * @export\n */\nexport const FileSystemApiAxiosParamCreator = function (\n  configuration?: Configuration,\n) {\n  return {\n    /**\n     * Copies a file or directory. Provide the path of the destination file or directory in the URI. Provide the path of the source file or directory in the request body. If you do not provide a path in the request body, then the current working directory is assumed.\n     * @summary Copy a file or directory\n     * @param {string} sessionId Specifies the ID of the session.\n     * @param {string} destinationFileOrDirectoryPath Specifies the destination file or directory path. In the path value, replace each forward slash with ~fs~.\n     * @param {FileRequest} fileRequest Specifies the source file or directory &#x60;name&#x60; and &#x60;path&#x60; elements. The &#x60;name&#x60; element is required, and the &#x60;path&#x60; element is optional.\n     * @param {boolean} [overwrite] Specifies whether to force an overwrite of an existing file or directory if one of the same name exists at the destination path. If you specify true, the request replaces the existing file or directory.\n     * @param {boolean} [expandPath] Specifies whether to return fully qualified paths in response links.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    copyFileOrDirectory: async (\n      sessionId: string,\n      destinationFileOrDirectoryPath: string,\n      fileRequest: FileRequest,\n      overwrite?: boolean,\n      expandPath?: boolean,\n      options: AxiosRequestConfig = {},\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'sessionId' is not null or undefined\n      assertParamExists(\"copyFileOrDirectory\", \"sessionId\", sessionId);\n      // verify required parameter 'destinationFileOrDirectoryPath' is not null or undefined\n      assertParamExists(\n        \"copyFileOrDirectory\",\n        \"destinationFileOrDirectoryPath\",\n        destinationFileOrDirectoryPath,\n      );\n      // verify required parameter 'fileRequest' is not null or undefined\n      assertParamExists(\"copyFileOrDirectory\", \"fileRequest\", fileRequest);\n      const localVarPath =\n        `/sessions/{sessionId}/files/{destinationFileOrDirectoryPath}#copyFileOrDirectory`\n          .replace(`{${\"sessionId\"}}`, encodeURIComponent(String(sessionId)))\n          .replace(\n            `{${\"destinationFileOrDirectoryPath\"}}`,\n            encodeURIComponent(String(destinationFileOrDirectoryPath)),\n          );\n      // use dummy base URL string because the URL constructor only accepts absolute URLs.\n      const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n      let baseOptions;\n      if (configuration) {\n        baseOptions = configuration.baseOptions;\n      }\n\n      const localVarRequestOptions = {\n        method: \"POST\",\n        ...baseOptions,\n        ...options,\n      };\n      const localVarHeaderParameter = {} as any;\n      const localVarQueryParameter = {} as any;\n\n      if (overwrite !== undefined) {\n        localVarQueryParameter[\"overwrite\"] = overwrite;\n      }\n\n      if (expandPath !== undefined) {\n        localVarQueryParameter[\"expandPath\"] = expandPath;\n      }\n\n      localVarHeaderParameter[\"Content-Type\"] =\n        \"application/vnd.sas.compute.file.request+json\";\n\n      setSearchParams(localVarUrlObj, localVarQueryParameter);\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {};\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      };\n      localVarRequestOptions.data = serializeDataIfNeeded(\n        fileRequest,\n        localVarRequestOptions,\n        configuration,\n      );\n\n      return {\n        url: toPathString(localVarUrlObj),\n        options: localVarRequestOptions,\n      };\n    },\n    /**\n     * Creates an empty file or directory. In the request body, set the `isDirectory` attribute to \\'false\\' for files and to \\'true\\' for a directory. The `name` attribute specifies the name of the new file or directory. Provide the path of the new file or directory either in the URI or in the `path` attribute in the request body. If you do not provide a path, then the new file or directory is created under the current working directory.\n     * @summary Create an empty file or directory\n     * @param {string} sessionId Specifies the ID of the session.\n     * @param {string} fileOrDirectoryPath Specifies the file or directory path. In the path value, replace each forward slash with ~fs~.\n     * @param {FileProperties} fileProperties Specifies the file or directory &#x60;name&#x60; and &#x60;path&#x60; elements. The &#x60;name&#x60; element is required and the &#x60;path&#x60; element is optional.\n     * @param {boolean} [expandPath] Specifies whether to return fully qualified paths in response links.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    createFileOrDirectory: async (\n      sessionId: string,\n      fileOrDirectoryPath: string,\n      fileProperties: FileProperties,\n      expandPath?: boolean,\n      options: AxiosRequestConfig = {},\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'sessionId' is not null or undefined\n      assertParamExists(\"createFileOrDirectory\", \"sessionId\", sessionId);\n      // verify required parameter 'fileOrDirectoryPath' is not null or undefined\n      assertParamExists(\n        \"createFileOrDirectory\",\n        \"fileOrDirectoryPath\",\n        fileOrDirectoryPath,\n      );\n      // verify required parameter 'fileProperties' is not null or undefined\n      assertParamExists(\n        \"createFileOrDirectory\",\n        \"fileProperties\",\n        fileProperties,\n      );\n      const localVarPath =\n        `/sessions/{sessionId}/files/{fileOrDirectoryPath}#touchFileOrDirectory`\n          .replace(`{${\"sessionId\"}}`, encodeURIComponent(String(sessionId)))\n          .replace(\n            `{${\"fileOrDirectoryPath\"}}`,\n            encodeURIComponent(String(fileOrDirectoryPath)),\n          );\n      // use dummy base URL string because the URL constructor only accepts absolute URLs.\n      const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n      let baseOptions;\n      if (configuration) {\n        baseOptions = configuration.baseOptions;\n      }\n\n      const localVarRequestOptions = {\n        method: \"POST\",\n        ...baseOptions,\n        ...options,\n      };\n      const localVarHeaderParameter = {} as any;\n      const localVarQueryParameter = {} as any;\n\n      if (expandPath !== undefined) {\n        localVarQueryParameter[\"expandPath\"] = expandPath;\n      }\n\n      localVarHeaderParameter[\"Content-Type\"] =\n        \"application/vnd.sas.compute.file.properties+json\";\n\n      setSearchParams(localVarUrlObj, localVarQueryParameter);\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {};\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      };\n      localVarRequestOptions.data = serializeDataIfNeeded(\n        fileProperties,\n        localVarRequestOptions,\n        configuration,\n      );\n\n      return {\n        url: toPathString(localVarUrlObj),\n        options: localVarRequestOptions,\n      };\n    },\n    /**\n     * Deletes a file or directory.\n     * @summary Delete a file or directory\n     * @param {string} sessionId Specifies the ID of the session.\n     * @param {string} fileOrDirectoryPath Specifies the file or directory path. In the path value, replace each forward slash with ~fs~.\n     * @param {string} ifMatch Specifies the current ETag of the file or directory resource that you are deleting.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    deleteFileOrDirectoryFromSystem: async (\n      sessionId: string,\n      fileOrDirectoryPath: string,\n      ifMatch: string,\n      options: AxiosRequestConfig = {},\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'sessionId' is not null or undefined\n      assertParamExists(\n        \"deleteFileOrDirectoryFromSystem\",\n        \"sessionId\",\n        sessionId,\n      );\n      // verify required parameter 'fileOrDirectoryPath' is not null or undefined\n      assertParamExists(\n        \"deleteFileOrDirectoryFromSystem\",\n        \"fileOrDirectoryPath\",\n        fileOrDirectoryPath,\n      );\n      // verify required parameter 'ifMatch' is not null or undefined\n      assertParamExists(\"deleteFileOrDirectoryFromSystem\", \"ifMatch\", ifMatch);\n      const localVarPath = `/sessions/{sessionId}/files/{fileOrDirectoryPath}`\n        .replace(`{${\"sessionId\"}}`, encodeURIComponent(String(sessionId)))\n        .replace(\n          `{${\"fileOrDirectoryPath\"}}`,\n          encodeURIComponent(String(fileOrDirectoryPath)),\n        );\n      // use dummy base URL string because the URL constructor only accepts absolute URLs.\n      const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n      let baseOptions;\n      if (configuration) {\n        baseOptions = configuration.baseOptions;\n      }\n\n      const localVarRequestOptions = {\n        method: \"DELETE\",\n        ...baseOptions,\n        ...options,\n      };\n      const localVarHeaderParameter = {} as any;\n      const localVarQueryParameter = {} as any;\n\n      if (ifMatch != null) {\n        localVarHeaderParameter[\"If-Match\"] = String(ifMatch);\n      }\n\n      setSearchParams(localVarUrlObj, localVarQueryParameter);\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {};\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      };\n\n      return {\n        url: toPathString(localVarUrlObj),\n        options: localVarRequestOptions,\n      };\n    },\n    /**\n     * Returns a collection of directory members from a specified directory path.\n     * @summary Get directory members\n     * @param {string} sessionId Specifies the ID of the session.\n     * @param {string} directoryPath Specifies the directory path. In the directory path, replace each forward slash with ~fs~.\n     * @param {boolean} [showAll] Specifies whether to return hidden members in the directory.\n     * @param {boolean} [expandPath] Specifies whether to return fully qualified paths in response links.\n     * @param {number} [start] Specifies the offset of the first directory member to return. The default value is 0.\n     * @param {number} [limit] Specifies the maximum number of members to return. The default value is 10.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    getDirectoryMembers: async (\n      sessionId: string,\n      directoryPath: string,\n      showAll?: boolean,\n      expandPath?: boolean,\n      start?: number,\n      limit?: number,\n      options: AxiosRequestConfig = {},\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'sessionId' is not null or undefined\n      assertParamExists(\"getDirectoryMembers\", \"sessionId\", sessionId);\n      // verify required parameter 'directoryPath' is not null or undefined\n      assertParamExists(\"getDirectoryMembers\", \"directoryPath\", directoryPath);\n      const localVarPath = `/sessions/{sessionId}/files/{directoryPath}/members`\n        .replace(`{${\"sessionId\"}}`, encodeURIComponent(String(sessionId)))\n        .replace(\n          `{${\"directoryPath\"}}`,\n          encodeURIComponent(String(directoryPath)),\n        );\n      // use dummy base URL string because the URL constructor only accepts absolute URLs.\n      const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n      let baseOptions;\n      if (configuration) {\n        baseOptions = configuration.baseOptions;\n      }\n\n      const localVarRequestOptions = {\n        method: \"GET\",\n        ...baseOptions,\n        ...options,\n      };\n      const localVarHeaderParameter = {} as any;\n      const localVarQueryParameter = {} as any;\n\n      if (showAll !== undefined) {\n        localVarQueryParameter[\"showAll\"] = showAll;\n      }\n\n      if (expandPath !== undefined) {\n        localVarQueryParameter[\"expandPath\"] = expandPath;\n      }\n\n      if (start !== undefined) {\n        localVarQueryParameter[\"start\"] = start;\n      }\n\n      if (limit !== undefined) {\n        localVarQueryParameter[\"limit\"] = limit;\n      }\n\n      setSearchParams(localVarUrlObj, localVarQueryParameter);\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {};\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      };\n\n      return {\n        url: toPathString(localVarUrlObj),\n        options: localVarRequestOptions,\n      };\n    },\n    /**\n     * Gets contents of a file that is specified by the file path. If the server can determine the type of file that is returned, then the `Content-type` header returns the appropriate media type information. Otherwise, application/octet-stream data is returned for the `Content-type` header.\n     * @summary Download file contents\n     * @param {string} sessionId Specifies the ID of the session.\n     * @param {string} filePath Specifies the file path. In the file path, replace each forward slash with ~fs~.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    getFileContentFromSystem: async (\n      sessionId: string,\n      filePath: string,\n      options: AxiosRequestConfig = {},\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'sessionId' is not null or undefined\n      assertParamExists(\"getFileContentFromSystem\", \"sessionId\", sessionId);\n      // verify required parameter 'filePath' is not null or undefined\n      assertParamExists(\"getFileContentFromSystem\", \"filePath\", filePath);\n      const localVarPath = `/sessions/{sessionId}/files/{filePath}/content`\n        .replace(`{${\"sessionId\"}}`, encodeURIComponent(String(sessionId)))\n        .replace(`{${\"filePath\"}}`, encodeURIComponent(String(filePath)));\n      // use dummy base URL string because the URL constructor only accepts absolute URLs.\n      const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n      let baseOptions;\n      if (configuration) {\n        baseOptions = configuration.baseOptions;\n      }\n\n      const localVarRequestOptions = {\n        method: \"GET\",\n        ...baseOptions,\n        ...options,\n      };\n      const localVarHeaderParameter = {} as any;\n      const localVarQueryParameter = {} as any;\n\n      setSearchParams(localVarUrlObj, localVarQueryParameter);\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {};\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      };\n\n      return {\n        url: toPathString(localVarUrlObj),\n        options: localVarRequestOptions,\n      };\n    },\n    /**\n     * Gets file or directory properties at a specified path.\n     * @summary Get file or directory properties\n     * @param {string} sessionId Specifies the ID of the session.\n     * @param {string} fileOrDirectoryPath Specifies the file or directory path. In the path value, replace each forward slash with ~fs~.\n     * @param {boolean} [expandPath] Specifies whether to return fully qualified paths in response links.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    getFileorDirectoryProperties: async (\n      sessionId: string,\n      fileOrDirectoryPath: string,\n      expandPath?: boolean,\n      options: AxiosRequestConfig = {},\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'sessionId' is not null or undefined\n      assertParamExists(\"getFileorDirectoryProperties\", \"sessionId\", sessionId);\n      // verify required parameter 'fileOrDirectoryPath' is not null or undefined\n      assertParamExists(\n        \"getFileorDirectoryProperties\",\n        \"fileOrDirectoryPath\",\n        fileOrDirectoryPath,\n      );\n      const localVarPath = `/sessions/{sessionId}/files/{fileOrDirectoryPath}`\n        .replace(`{${\"sessionId\"}}`, encodeURIComponent(String(sessionId)))\n        .replace(\n          `{${\"fileOrDirectoryPath\"}}`,\n          encodeURIComponent(String(fileOrDirectoryPath)),\n        );\n      // use dummy base URL string because the URL constructor only accepts absolute URLs.\n      const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n      let baseOptions;\n      if (configuration) {\n        baseOptions = configuration.baseOptions;\n      }\n\n      const localVarRequestOptions = {\n        method: \"GET\",\n        ...baseOptions,\n        ...options,\n      };\n      const localVarHeaderParameter = {} as any;\n      const localVarQueryParameter = {} as any;\n\n      if (expandPath !== undefined) {\n        localVarQueryParameter[\"expandPath\"] = expandPath;\n      }\n\n      setSearchParams(localVarUrlObj, localVarQueryParameter);\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {};\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      };\n\n      return {\n        url: toPathString(localVarUrlObj),\n        options: localVarRequestOptions,\n      };\n    },\n    /**\n     * Determines whether the specified file or directory exists.\n     * @summary Check for file or directory properties\n     * @param {string} sessionId Specifies the ID of the session.\n     * @param {string} fileOrDirectoryPath Specifies the file or directory path. In the path value, replace each forward slash with ~fs~.\n     * @param {boolean} [expandPath] Specifies whether to return fully qualified paths in response links.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    headersForFileorDirectoryProperties: async (\n      sessionId: string,\n      fileOrDirectoryPath: string,\n      expandPath?: boolean,\n      options: AxiosRequestConfig = {},\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'sessionId' is not null or undefined\n      assertParamExists(\n        \"headersForFileorDirectoryProperties\",\n        \"sessionId\",\n        sessionId,\n      );\n      // verify required parameter 'fileOrDirectoryPath' is not null or undefined\n      assertParamExists(\n        \"headersForFileorDirectoryProperties\",\n        \"fileOrDirectoryPath\",\n        fileOrDirectoryPath,\n      );\n      const localVarPath = `/sessions/{sessionId}/files/{fileOrDirectoryPath}`\n        .replace(`{${\"sessionId\"}}`, encodeURIComponent(String(sessionId)))\n        .replace(\n          `{${\"fileOrDirectoryPath\"}}`,\n          encodeURIComponent(String(fileOrDirectoryPath)),\n        );\n      // use dummy base URL string because the URL constructor only accepts absolute URLs.\n      const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n      let baseOptions;\n      if (configuration) {\n        baseOptions = configuration.baseOptions;\n      }\n\n      const localVarRequestOptions = {\n        method: \"HEAD\",\n        ...baseOptions,\n        ...options,\n      };\n      const localVarHeaderParameter = {} as any;\n      const localVarQueryParameter = {} as any;\n\n      if (expandPath !== undefined) {\n        localVarQueryParameter[\"expandPath\"] = expandPath;\n      }\n\n      setSearchParams(localVarUrlObj, localVarQueryParameter);\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {};\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      };\n\n      return {\n        url: toPathString(localVarUrlObj),\n        options: localVarRequestOptions,\n      };\n    },\n    /**\n     * Creates a file or replaces an existing file. An ETag is required when you replace an existing file.\n     * @summary Upload file content\n     * @param {string} sessionId Specifies the ID of the session.\n     * @param {string} filePath Specifies the file path. In the file path, replace each forward slash with ~fs~.\n     * @param {File} body Specifies the content to upload to the file.\n     * @param {string} [ifMatch] Specifies the current ETag of the file resource that you are deleting.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    updateFileContentOnSystem: async (\n      sessionId: string,\n      filePath: string,\n      body: File,\n      ifMatch?: string,\n      options: AxiosRequestConfig = {},\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'sessionId' is not null or undefined\n      assertParamExists(\"updateFileContentOnSystem\", \"sessionId\", sessionId);\n      // verify required parameter 'filePath' is not null or undefined\n      assertParamExists(\"updateFileContentOnSystem\", \"filePath\", filePath);\n      // verify required parameter 'body' is not null or undefined\n      assertParamExists(\"updateFileContentOnSystem\", \"body\", body);\n      const localVarPath = `/sessions/{sessionId}/files/{filePath}/content`\n        .replace(`{${\"sessionId\"}}`, encodeURIComponent(String(sessionId)))\n        .replace(`{${\"filePath\"}}`, encodeURIComponent(String(filePath)));\n      // use dummy base URL string because the URL constructor only accepts absolute URLs.\n      const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n      let baseOptions;\n      if (configuration) {\n        baseOptions = configuration.baseOptions;\n      }\n\n      const localVarRequestOptions = {\n        method: \"PUT\",\n        ...baseOptions,\n        ...options,\n      };\n      const localVarHeaderParameter = {} as any;\n      const localVarQueryParameter = {} as any;\n\n      if (ifMatch != null) {\n        localVarHeaderParameter[\"If-Match\"] = String(ifMatch);\n      }\n\n      localVarHeaderParameter[\"Content-Type\"] = \"application/octet-stream\";\n\n      setSearchParams(localVarUrlObj, localVarQueryParameter);\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {};\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      };\n      localVarRequestOptions.data = serializeDataIfNeeded(\n        body,\n        localVarRequestOptions,\n        configuration,\n      );\n\n      return {\n        url: toPathString(localVarUrlObj),\n        options: localVarRequestOptions,\n      };\n    },\n    /**\n     * Renames a file or directory at the specified location. Can also be used to move a file or directory to a location that you specify in the `path` element of the application/vnd.sas.compute.file.properties body. If no `path` is provided, the file is moved to the current working directory. The `move` action causes the path for the new file or directory to change.\n     * @summary Rename a file or directory\n     * @param {string} sessionId Specifies the ID of the session.\n     * @param {string} fileOrDirectoryPath Specifies the file or directory path. In the path value, replace each forward slash with ~fs~.\n     * @param {string} ifMatch Specifies the current ETag of the file or directory resource that you are renaming.\n     * @param {FileProperties} fileProperties Specifies the file or directory &#x60;name&#x60; and &#x60;path&#x60; elements. The &#x60;name&#x60; element is required and the &#x60;path&#x60; element is optional. If specified, the \\&#39;path\\&#39; value can contain an absolute path or a path that is relative to the current working directory. Do not replace forward slash characters with ~fs~ for the &#x60;path&#x60; element.\n     * @param {boolean} [overwrite] Specifies whether to force an overwrite of an existing file or directory if one of the same name exists at the destination path. If you specify true, the request replaces the existing file or directory.\n     * @param {boolean} [expandPath] Specifies whether to return fully qualified paths in response links.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    updateFileOrDirectoryOnSystem: async (\n      sessionId: string,\n      fileOrDirectoryPath: string,\n      ifMatch: string,\n      fileProperties: FileProperties,\n      overwrite?: boolean,\n      expandPath?: boolean,\n      options: AxiosRequestConfig = {},\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'sessionId' is not null or undefined\n      assertParamExists(\n        \"updateFileOrDirectoryOnSystem\",\n        \"sessionId\",\n        sessionId,\n      );\n      // verify required parameter 'fileOrDirectoryPath' is not null or undefined\n      assertParamExists(\n        \"updateFileOrDirectoryOnSystem\",\n        \"fileOrDirectoryPath\",\n        fileOrDirectoryPath,\n      );\n      // verify required parameter 'ifMatch' is not null or undefined\n      assertParamExists(\"updateFileOrDirectoryOnSystem\", \"ifMatch\", ifMatch);\n      // verify required parameter 'fileProperties' is not null or undefined\n      assertParamExists(\n        \"updateFileOrDirectoryOnSystem\",\n        \"fileProperties\",\n        fileProperties,\n      );\n      const localVarPath = `/sessions/{sessionId}/files/{fileOrDirectoryPath}`\n        .replace(`{${\"sessionId\"}}`, encodeURIComponent(String(sessionId)))\n        .replace(\n          `{${\"fileOrDirectoryPath\"}}`,\n          encodeURIComponent(String(fileOrDirectoryPath)),\n        );\n      // use dummy base URL string because the URL constructor only accepts absolute URLs.\n      const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n      let baseOptions;\n      if (configuration) {\n        baseOptions = configuration.baseOptions;\n      }\n\n      const localVarRequestOptions = {\n        method: \"PUT\",\n        ...baseOptions,\n        ...options,\n      };\n      const localVarHeaderParameter = {} as any;\n      const localVarQueryParameter = {} as any;\n\n      if (overwrite !== undefined) {\n        localVarQueryParameter[\"overwrite\"] = overwrite;\n      }\n\n      if (expandPath !== undefined) {\n        localVarQueryParameter[\"expandPath\"] = expandPath;\n      }\n\n      if (ifMatch != null) {\n        localVarHeaderParameter[\"If-Match\"] = String(ifMatch);\n      }\n\n      localVarHeaderParameter[\"Content-Type\"] =\n        \"application/vnd.sas.compute.file.properties+json\";\n\n      setSearchParams(localVarUrlObj, localVarQueryParameter);\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {};\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      };\n      localVarRequestOptions.data = serializeDataIfNeeded(\n        fileProperties,\n        localVarRequestOptions,\n        configuration,\n      );\n\n      return {\n        url: toPathString(localVarUrlObj),\n        options: localVarRequestOptions,\n      };\n    },\n  };\n};\n\n/**\n * FileSystemApi - functional programming interface\n * @export\n */\nexport const FileSystemApi = function (configuration?: Configuration) {\n  const localVarAxiosParamCreator =\n    FileSystemApiAxiosParamCreator(configuration);\n  return {\n    /**\n     * Copies a file or directory. Provide the path of the destination file or directory in the URI. Provide the path of the source file or directory in the request body. If you do not provide a path in the request body, then the current working directory is assumed.\n     * @summary Copy a file or directory\n     * @param {FileSystemApiCopyFileOrDirectoryRequest} requestParameters Request parameters.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async copyFileOrDirectory(\n      requestParameters: FileSystemApiCopyFileOrDirectoryRequest,\n      options?: AxiosRequestConfig,\n    ): Promise<AxiosResponse<FileProperties>> {\n      const localVarAxiosArgs =\n        await localVarAxiosParamCreator.copyFileOrDirectory(\n          requestParameters.sessionId,\n          requestParameters.destinationFileOrDirectoryPath,\n          requestParameters.fileRequest,\n          requestParameters.overwrite,\n          requestParameters.expandPath,\n          options,\n        );\n      return createRequestFunction(localVarAxiosArgs, configuration);\n    },\n\n    /**\n     * Creates an empty file or directory. In the request body, set the `isDirectory` attribute to \\'false\\' for files and to \\'true\\' for a directory. The `name` attribute specifies the name of the new file or directory. Provide the path of the new file or directory either in the URI or in the `path` attribute in the request body. If you do not provide a path, then the new file or directory is created under the current working directory.\n     * @summary Create an empty file or directory\n     * @param {FileSystemApiCreateFileOrDirectoryRequest} requestParameters Request parameters.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async createFileOrDirectory(\n      requestParameters: FileSystemApiCreateFileOrDirectoryRequest,\n      options?: AxiosRequestConfig,\n    ): Promise<AxiosResponse<FileProperties>> {\n      const localVarAxiosArgs =\n        await localVarAxiosParamCreator.createFileOrDirectory(\n          requestParameters.sessionId,\n          requestParameters.fileOrDirectoryPath,\n          requestParameters.fileProperties,\n          requestParameters.expandPath,\n          options,\n        );\n      return createRequestFunction(localVarAxiosArgs, configuration);\n    },\n\n    /**\n     * Deletes a file or directory.\n     * @summary Delete a file or directory\n     * @param {FileSystemApiDeleteFileOrDirectoryFromSystemRequest} requestParameters Request parameters.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async deleteFileOrDirectoryFromSystem(\n      requestParameters: FileSystemApiDeleteFileOrDirectoryFromSystemRequest,\n      options?: AxiosRequestConfig,\n    ): Promise<AxiosResponse<void>> {\n      const localVarAxiosArgs =\n        await localVarAxiosParamCreator.deleteFileOrDirectoryFromSystem(\n          requestParameters.sessionId,\n          requestParameters.fileOrDirectoryPath,\n          requestParameters.ifMatch,\n          options,\n        );\n      return createRequestFunction(localVarAxiosArgs, configuration);\n    },\n\n    /**\n     * Returns a collection of directory members from a specified directory path.\n     * @summary Get directory members\n     * @param {FileSystemApiGetDirectoryMembersRequest} requestParameters Request parameters.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async getDirectoryMembers(\n      requestParameters: FileSystemApiGetDirectoryMembersRequest,\n      options?: AxiosRequestConfig,\n    ): Promise<AxiosResponse<FilePropertiesCollection>> {\n      const localVarAxiosArgs =\n        await localVarAxiosParamCreator.getDirectoryMembers(\n          requestParameters.sessionId,\n          requestParameters.directoryPath,\n          requestParameters.showAll,\n          requestParameters.expandPath,\n          requestParameters.start,\n          requestParameters.limit,\n          options,\n        );\n      return createRequestFunction(localVarAxiosArgs, configuration);\n    },\n\n    /**\n     * Gets contents of a file that is specified by the file path. If the server can determine the type of file that is returned, then the `Content-type` header returns the appropriate media type information. Otherwise, application/octet-stream data is returned for the `Content-type` header.\n     * @summary Download file contents\n     * @param {FileSystemApiGetFileContentFromSystemRequest} requestParameters Request parameters.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async getFileContentFromSystem(\n      requestParameters: FileSystemApiGetFileContentFromSystemRequest,\n      options?: AxiosRequestConfig,\n    ): Promise<AxiosResponse<void>> {\n      const localVarAxiosArgs =\n        await localVarAxiosParamCreator.getFileContentFromSystem(\n          requestParameters.sessionId,\n          requestParameters.filePath,\n          options,\n        );\n      return createRequestFunction(localVarAxiosArgs, configuration);\n    },\n\n    /**\n     * Gets file or directory properties at a specified path.\n     * @summary Get file or directory properties\n     * @param {FileSystemApiGetFileorDirectoryPropertiesRequest} requestParameters Request parameters.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async getFileorDirectoryProperties(\n      requestParameters: FileSystemApiGetFileorDirectoryPropertiesRequest,\n      options?: AxiosRequestConfig,\n    ): Promise<AxiosResponse<FileProperties>> {\n      const localVarAxiosArgs =\n        await localVarAxiosParamCreator.getFileorDirectoryProperties(\n          requestParameters.sessionId,\n          requestParameters.fileOrDirectoryPath,\n          requestParameters.expandPath,\n          options,\n        );\n      return createRequestFunction(localVarAxiosArgs, configuration);\n    },\n\n    /**\n     * Determines whether the specified file or directory exists.\n     * @summary Check for file or directory properties\n     * @param {FileSystemApiHeadersForFileorDirectoryPropertiesRequest} requestParameters Request parameters.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async headersForFileorDirectoryProperties(\n      requestParameters: FileSystemApiHeadersForFileorDirectoryPropertiesRequest,\n      options?: AxiosRequestConfig,\n    ): Promise<AxiosResponse<void>> {\n      const localVarAxiosArgs =\n        await localVarAxiosParamCreator.headersForFileorDirectoryProperties(\n          requestParameters.sessionId,\n          requestParameters.fileOrDirectoryPath,\n          requestParameters.expandPath,\n          options,\n        );\n      return createRequestFunction(localVarAxiosArgs, configuration);\n    },\n\n    /**\n     * Creates a file or replaces an existing file. An ETag is required when you replace an existing file.\n     * @summary Upload file content\n     * @param {FileSystemApiUpdateFileContentOnSystemRequest} requestParameters Request parameters.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async updateFileContentOnSystem(\n      requestParameters: FileSystemApiUpdateFileContentOnSystemRequest,\n      options?: AxiosRequestConfig,\n    ): Promise<AxiosResponse<FileProperties>> {\n      const localVarAxiosArgs =\n        await localVarAxiosParamCreator.updateFileContentOnSystem(\n          requestParameters.sessionId,\n          requestParameters.filePath,\n          requestParameters.body,\n          requestParameters.ifMatch,\n          options,\n        );\n      return createRequestFunction(localVarAxiosArgs, configuration);\n    },\n\n    /**\n     * Renames a file or directory at the specified location. Can also be used to move a file or directory to a location that you specify in the `path` element of the application/vnd.sas.compute.file.properties body. If no `path` is provided, the file is moved to the current working directory. The `move` action causes the path for the new file or directory to change.\n     * @summary Rename a file or directory\n     * @param {FileSystemApiUpdateFileOrDirectoryOnSystemRequest} requestParameters Request parameters.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async updateFileOrDirectoryOnSystem(\n      requestParameters: FileSystemApiUpdateFileOrDirectoryOnSystemRequest,\n      options?: AxiosRequestConfig,\n    ): Promise<AxiosResponse<FileProperties>> {\n      const localVarAxiosArgs =\n        await localVarAxiosParamCreator.updateFileOrDirectoryOnSystem(\n          requestParameters.sessionId,\n          requestParameters.fileOrDirectoryPath,\n          requestParameters.ifMatch,\n          requestParameters.fileProperties,\n          requestParameters.overwrite,\n          requestParameters.expandPath,\n          options,\n        );\n      return createRequestFunction(localVarAxiosArgs, configuration);\n    },\n  };\n};\n\n/**\n * Request parameters for copyFileOrDirectory operation in FileSystemApi.\n * @export\n * @interface FileSystemApiCopyFileOrDirectoryRequest\n */\nexport interface FileSystemApiCopyFileOrDirectoryRequest {\n  /**\n   * Specifies the ID of the session.\n   * @type {string}\n   * @memberof FileSystemApiCopyFileOrDirectory\n   */\n  readonly sessionId: string;\n\n  /**\n   * Specifies the destination file or directory path. In the path value, replace each forward slash with ~fs~.\n   * @type {string}\n   * @memberof FileSystemApiCopyFileOrDirectory\n   */\n  readonly destinationFileOrDirectoryPath: string;\n\n  /**\n   * Specifies the source file or directory &#x60;name&#x60; and &#x60;path&#x60; elements. The &#x60;name&#x60; element is required, and the &#x60;path&#x60; element is optional.\n   * @type {FileRequest}\n   * @memberof FileSystemApiCopyFileOrDirectory\n   */\n  readonly fileRequest: FileRequest;\n\n  /**\n   * Specifies whether to force an overwrite of an existing file or directory if one of the same name exists at the destination path. If you specify true, the request replaces the existing file or directory.\n   * @type {boolean}\n   * @memberof FileSystemApiCopyFileOrDirectory\n   */\n  readonly overwrite?: boolean;\n\n  /**\n   * Specifies whether to return fully qualified paths in response links.\n   * @type {boolean}\n   * @memberof FileSystemApiCopyFileOrDirectory\n   */\n  readonly expandPath?: boolean;\n}\n\n/**\n * Request parameters for createFileOrDirectory operation in FileSystemApi.\n * @export\n * @interface FileSystemApiCreateFileOrDirectoryRequest\n */\nexport interface FileSystemApiCreateFileOrDirectoryRequest {\n  /**\n   * Specifies the ID of the session.\n   * @type {string}\n   * @memberof FileSystemApiCreateFileOrDirectory\n   */\n  readonly sessionId: string;\n\n  /**\n   * Specifies the file or directory path. In the path value, replace each forward slash with ~fs~.\n   * @type {string}\n   * @memberof FileSystemApiCreateFileOrDirectory\n   */\n  readonly fileOrDirectoryPath: string;\n\n  /**\n   * Specifies the file or directory &#x60;name&#x60; and &#x60;path&#x60; elements. The &#x60;name&#x60; element is required and the &#x60;path&#x60; element is optional.\n   * @type {FileProperties}\n   * @memberof FileSystemApiCreateFileOrDirectory\n   */\n  readonly fileProperties: FileProperties;\n\n  /**\n   * Specifies whether to return fully qualified paths in response links.\n   * @type {boolean}\n   * @memberof FileSystemApiCreateFileOrDirectory\n   */\n  readonly expandPath?: boolean;\n}\n\n/**\n * Request parameters for deleteFileOrDirectoryFromSystem operation in FileSystemApi.\n * @export\n * @interface FileSystemApiDeleteFileOrDirectoryFromSystemRequest\n */\nexport interface FileSystemApiDeleteFileOrDirectoryFromSystemRequest {\n  /**\n   * Specifies the ID of the session.\n   * @type {string}\n   * @memberof FileSystemApiDeleteFileOrDirectoryFromSystem\n   */\n  readonly sessionId: string;\n\n  /**\n   * Specifies the file or directory path. In the path value, replace each forward slash with ~fs~.\n   * @type {string}\n   * @memberof FileSystemApiDeleteFileOrDirectoryFromSystem\n   */\n  readonly fileOrDirectoryPath: string;\n\n  /**\n   * Specifies the current ETag of the file or directory resource that you are deleting.\n   * @type {string}\n   * @memberof FileSystemApiDeleteFileOrDirectoryFromSystem\n   */\n  readonly ifMatch: string;\n}\n\n/**\n * Request parameters for getDirectoryMembers operation in FileSystemApi.\n * @export\n * @interface FileSystemApiGetDirectoryMembersRequest\n */\nexport interface FileSystemApiGetDirectoryMembersRequest {\n  /**\n   * Specifies the ID of the session.\n   * @type {string}\n   * @memberof FileSystemApiGetDirectoryMembers\n   */\n  readonly sessionId: string;\n\n  /**\n   * Specifies the directory path. In the directory path, replace each forward slash with ~fs~.\n   * @type {string}\n   * @memberof FileSystemApiGetDirectoryMembers\n   */\n  readonly directoryPath: string;\n\n  /**\n   * Specifies whether to return hidden members in the directory.\n   * @type {boolean}\n   * @memberof FileSystemApiGetDirectoryMembers\n   */\n  readonly showAll?: boolean;\n\n  /**\n   * Specifies whether to return fully qualified paths in response links.\n   * @type {boolean}\n   * @memberof FileSystemApiGetDirectoryMembers\n   */\n  readonly expandPath?: boolean;\n\n  /**\n   * Specifies the offset of the first directory member to return. The default value is 0.\n   * @type {number}\n   * @memberof FileSystemApiGetDirectoryMembers\n   */\n  readonly start?: number;\n\n  /**\n   * Specifies the maximum number of members to return. The default value is 10.\n   * @type {number}\n   * @memberof FileSystemApiGetDirectoryMembers\n   */\n  readonly limit?: number;\n}\n\n/**\n * Request parameters for getFileContentFromSystem operation in FileSystemApi.\n * @export\n * @interface FileSystemApiGetFileContentFromSystemRequest\n */\nexport interface FileSystemApiGetFileContentFromSystemRequest {\n  /**\n   * Specifies the ID of the session.\n   * @type {string}\n   * @memberof FileSystemApiGetFileContentFromSystem\n   */\n  readonly sessionId: string;\n\n  /**\n   * Specifies the file path. In the file path, replace each forward slash with ~fs~.\n   * @type {string}\n   * @memberof FileSystemApiGetFileContentFromSystem\n   */\n  readonly filePath: string;\n}\n\n/**\n * Request parameters for getFileorDirectoryProperties operation in FileSystemApi.\n * @export\n * @interface FileSystemApiGetFileorDirectoryPropertiesRequest\n */\nexport interface FileSystemApiGetFileorDirectoryPropertiesRequest {\n  /**\n   * Specifies the ID of the session.\n   * @type {string}\n   * @memberof FileSystemApiGetFileorDirectoryProperties\n   */\n  readonly sessionId: string;\n\n  /**\n   * Specifies the file or directory path. In the path value, replace each forward slash with ~fs~.\n   * @type {string}\n   * @memberof FileSystemApiGetFileorDirectoryProperties\n   */\n  readonly fileOrDirectoryPath: string;\n\n  /**\n   * Specifies whether to return fully qualified paths in response links.\n   * @type {boolean}\n   * @memberof FileSystemApiGetFileorDirectoryProperties\n   */\n  readonly expandPath?: boolean;\n}\n\n/**\n * Request parameters for headersForFileorDirectoryProperties operation in FileSystemApi.\n * @export\n * @interface FileSystemApiHeadersForFileorDirectoryPropertiesRequest\n */\nexport interface FileSystemApiHeadersForFileorDirectoryPropertiesRequest {\n  /**\n   * Specifies the ID of the session.\n   * @type {string}\n   * @memberof FileSystemApiHeadersForFileorDirectoryProperties\n   */\n  readonly sessionId: string;\n\n  /**\n   * Specifies the file or directory path. In the path value, replace each forward slash with ~fs~.\n   * @type {string}\n   * @memberof FileSystemApiHeadersForFileorDirectoryProperties\n   */\n  readonly fileOrDirectoryPath: string;\n\n  /**\n   * Specifies whether to return fully qualified paths in response links.\n   * @type {boolean}\n   * @memberof FileSystemApiHeadersForFileorDirectoryProperties\n   */\n  readonly expandPath?: boolean;\n}\n\n/**\n * Request parameters for updateFileContentOnSystem operation in FileSystemApi.\n * @export\n * @interface FileSystemApiUpdateFileContentOnSystemRequest\n */\nexport interface FileSystemApiUpdateFileContentOnSystemRequest {\n  /**\n   * Specifies the ID of the session.\n   * @type {string}\n   * @memberof FileSystemApiUpdateFileContentOnSystem\n   */\n  readonly sessionId: string;\n\n  /**\n   * Specifies the file path. In the file path, replace each forward slash with ~fs~.\n   * @type {string}\n   * @memberof FileSystemApiUpdateFileContentOnSystem\n   */\n  readonly filePath: string;\n\n  /**\n   * Specifies the content to upload to the file.\n   * @type {File}\n   * @memberof FileSystemApiUpdateFileContentOnSystem\n   */\n  readonly body: File;\n\n  /**\n   * Specifies the current ETag of the file resource that you are deleting.\n   * @type {string}\n   * @memberof FileSystemApiUpdateFileContentOnSystem\n   */\n  readonly ifMatch?: string;\n}\n\n/**\n * Request parameters for updateFileOrDirectoryOnSystem operation in FileSystemApi.\n * @export\n * @interface FileSystemApiUpdateFileOrDirectoryOnSystemRequest\n */\nexport interface FileSystemApiUpdateFileOrDirectoryOnSystemRequest {\n  /**\n   * Specifies the ID of the session.\n   * @type {string}\n   * @memberof FileSystemApiUpdateFileOrDirectoryOnSystem\n   */\n  readonly sessionId: string;\n\n  /**\n   * Specifies the file or directory path. In the path value, replace each forward slash with ~fs~.\n   * @type {string}\n   * @memberof FileSystemApiUpdateFileOrDirectoryOnSystem\n   */\n  readonly fileOrDirectoryPath: string;\n\n  /**\n   * Specifies the current ETag of the file or directory resource that you are renaming.\n   * @type {string}\n   * @memberof FileSystemApiUpdateFileOrDirectoryOnSystem\n   */\n  readonly ifMatch: string;\n\n  /**\n   * Specifies the file or directory &#x60;name&#x60; and &#x60;path&#x60; elements. The &#x60;name&#x60; element is required and the &#x60;path&#x60; element is optional. If specified, the \\&#39;path\\&#39; value can contain an absolute path or a path that is relative to the current working directory. Do not replace forward slash characters with ~fs~ for the &#x60;path&#x60; element.\n   * @type {FileProperties}\n   * @memberof FileSystemApiUpdateFileOrDirectoryOnSystem\n   */\n  readonly fileProperties: FileProperties;\n\n  /**\n   * Specifies whether to force an overwrite of an existing file or directory if one of the same name exists at the destination path. If you specify true, the request replaces the existing file or directory.\n   * @type {boolean}\n   * @memberof FileSystemApiUpdateFileOrDirectoryOnSystem\n   */\n  readonly overwrite?: boolean;\n\n  /**\n   * Specifies whether to return fully qualified paths in response links.\n   * @type {boolean}\n   * @memberof FileSystemApiUpdateFileOrDirectoryOnSystem\n   */\n  readonly expandPath?: boolean;\n}\n\n/**\n * FilesApi - axios parameter creator\n * @export\n */\nexport const FilesApiAxiosParamCreator = function (\n  configuration?: Configuration,\n) {\n  return {\n    /**\n     * Creates or assigns a fileref for a session.\n     * @summary Assign a fileref\n     * @param {string} sessionId Specifies the ID of the session.\n     * @param {FilerefRequest} filerefRequest Specifies a fileref creation request.\n     * @param {string} [parent] To create a fileref to a member of a directory fileref, specify the directory fileref as the parent.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    assignFileref: async (\n      sessionId: string,\n      filerefRequest: FilerefRequest,\n      parent?: string,\n      options: AxiosRequestConfig = {},\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'sessionId' is not null or undefined\n      assertParamExists(\"assignFileref\", \"sessionId\", sessionId);\n      // verify required parameter 'filerefRequest' is not null or undefined\n      assertParamExists(\"assignFileref\", \"filerefRequest\", filerefRequest);\n      const localVarPath = `/sessions/{sessionId}/filerefs`.replace(\n        `{${\"sessionId\"}}`,\n        encodeURIComponent(String(sessionId)),\n      );\n      // use dummy base URL string because the URL constructor only accepts absolute URLs.\n      const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n      let baseOptions;\n      if (configuration) {\n        baseOptions = configuration.baseOptions;\n      }\n\n      const localVarRequestOptions = {\n        method: \"POST\",\n        ...baseOptions,\n        ...options,\n      };\n      const localVarHeaderParameter = {} as any;\n      const localVarQueryParameter = {} as any;\n\n      if (parent !== undefined) {\n        localVarQueryParameter[\"parent\"] = parent;\n      }\n\n      localVarHeaderParameter[\"Content-Type\"] =\n        \"application/vnd.sas.compute.fileref.request+json\";\n\n      setSearchParams(localVarUrlObj, localVarQueryParameter);\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {};\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      };\n      localVarRequestOptions.data = serializeDataIfNeeded(\n        filerefRequest,\n        localVarRequestOptions,\n        configuration,\n      );\n\n      return {\n        url: toPathString(localVarUrlObj),\n        options: localVarRequestOptions,\n      };\n    },\n    /**\n     * Deletes the file that is referenced by the fileref.\n     * @summary Delete a file\n     * @param {string} sessionId Specifies the ID of the session.\n     * @param {string} fileref Specifies the fileref name. The name must be eight or fewer characters.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    deleteFile: async (\n      sessionId: string,\n      fileref: string,\n      options: AxiosRequestConfig = {},\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'sessionId' is not null or undefined\n      assertParamExists(\"deleteFile\", \"sessionId\", sessionId);\n      // verify required parameter 'fileref' is not null or undefined\n      assertParamExists(\"deleteFile\", \"fileref\", fileref);\n      const localVarPath = `/sessions/{sessionId}/filerefs/{fileref}/content`\n        .replace(`{${\"sessionId\"}}`, encodeURIComponent(String(sessionId)))\n        .replace(`{${\"fileref\"}}`, encodeURIComponent(String(fileref)));\n      // use dummy base URL string because the URL constructor only accepts absolute URLs.\n      const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n      let baseOptions;\n      if (configuration) {\n        baseOptions = configuration.baseOptions;\n      }\n\n      const localVarRequestOptions = {\n        method: \"DELETE\",\n        ...baseOptions,\n        ...options,\n      };\n      const localVarHeaderParameter = {} as any;\n      const localVarQueryParameter = {} as any;\n\n      setSearchParams(localVarUrlObj, localVarQueryParameter);\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {};\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      };\n\n      return {\n        url: toPathString(localVarUrlObj),\n        options: localVarRequestOptions,\n      };\n    },\n    /**\n     * Deassigns the specified fileref in a session.\n     * @summary Deassign a fileref\n     * @param {string} sessionId Specifies the ID of the session.\n     * @param {string} fileref Specifies the fileref name. The name must be eight or fewer characters.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    deleteFileref: async (\n      sessionId: string,\n      fileref: string,\n      options: AxiosRequestConfig = {},\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'sessionId' is not null or undefined\n      assertParamExists(\"deleteFileref\", \"sessionId\", sessionId);\n      // verify required parameter 'fileref' is not null or undefined\n      assertParamExists(\"deleteFileref\", \"fileref\", fileref);\n      const localVarPath = `/sessions/{sessionId}/filerefs/{fileref}`\n        .replace(`{${\"sessionId\"}}`, encodeURIComponent(String(sessionId)))\n        .replace(`{${\"fileref\"}}`, encodeURIComponent(String(fileref)));\n      // use dummy base URL string because the URL constructor only accepts absolute URLs.\n      const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n      let baseOptions;\n      if (configuration) {\n        baseOptions = configuration.baseOptions;\n      }\n\n      const localVarRequestOptions = {\n        method: \"DELETE\",\n        ...baseOptions,\n        ...options,\n      };\n      const localVarHeaderParameter = {} as any;\n      const localVarQueryParameter = {} as any;\n\n      setSearchParams(localVarUrlObj, localVarQueryParameter);\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {};\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      };\n\n      return {\n        url: toPathString(localVarUrlObj),\n        options: localVarRequestOptions,\n      };\n    },\n    /**\n     * Gets information about a member of a directory fileref.\n     * @summary Get a directory member\n     * @param {string} sessionId Specifies the ID of the session.\n     * @param {string} fileref Specifies the fileref name. The name must be eight or fewer characters.\n     * @param {string} member Specifies the name of the member to return.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    getDirectoryFileref: async (\n      sessionId: string,\n      fileref: string,\n      member: string,\n      options: AxiosRequestConfig = {},\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'sessionId' is not null or undefined\n      assertParamExists(\"getDirectoryFileref\", \"sessionId\", sessionId);\n      // verify required parameter 'fileref' is not null or undefined\n      assertParamExists(\"getDirectoryFileref\", \"fileref\", fileref);\n      // verify required parameter 'member' is not null or undefined\n      assertParamExists(\"getDirectoryFileref\", \"member\", member);\n      const localVarPath = `/sessions/{sessionId}/filerefs/{fileref}#directory`\n        .replace(`{${\"sessionId\"}}`, encodeURIComponent(String(sessionId)))\n        .replace(`{${\"fileref\"}}`, encodeURIComponent(String(fileref)));\n      // use dummy base URL string because the URL constructor only accepts absolute URLs.\n      const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n      let baseOptions;\n      if (configuration) {\n        baseOptions = configuration.baseOptions;\n      }\n\n      const localVarRequestOptions = {\n        method: \"GET\",\n        ...baseOptions,\n        ...options,\n      };\n      const localVarHeaderParameter = {} as any;\n      const localVarQueryParameter = {} as any;\n\n      if (member !== undefined) {\n        localVarQueryParameter[\"member\"] = member;\n      }\n\n      setSearchParams(localVarUrlObj, localVarQueryParameter);\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {};\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      };\n\n      return {\n        url: toPathString(localVarUrlObj),\n        options: localVarRequestOptions,\n      };\n    },\n    /**\n     * Returns a directory listing when a fileref refers to a directory. A collection of directory members is returned.\n     * @summary Get directory contents\n     * @param {string} sessionId Specifies the ID of the session.\n     * @param {string} fileref Specifies the fileref name. The name must be eight or fewer characters.\n     * @param {number} [start] Specifies the offset of the first directory member to return. The default value is \\&quot;0\\&quot;.\n     * @param {number} [limit] Specifies the maximum number of members to return. The default value is \\&quot;10\\&quot;.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    getDirectoryFilerefContents: async (\n      sessionId: string,\n      fileref: string,\n      start?: number,\n      limit?: number,\n      options: AxiosRequestConfig = {},\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'sessionId' is not null or undefined\n      assertParamExists(\"getDirectoryFilerefContents\", \"sessionId\", sessionId);\n      // verify required parameter 'fileref' is not null or undefined\n      assertParamExists(\"getDirectoryFilerefContents\", \"fileref\", fileref);\n      const localVarPath =\n        `/sessions/{sessionId}/filerefs/{fileref}/content#directory`\n          .replace(`{${\"sessionId\"}}`, encodeURIComponent(String(sessionId)))\n          .replace(`{${\"fileref\"}}`, encodeURIComponent(String(fileref)));\n      // use dummy base URL string because the URL constructor only accepts absolute URLs.\n      const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n      let baseOptions;\n      if (configuration) {\n        baseOptions = configuration.baseOptions;\n      }\n\n      const localVarRequestOptions = {\n        method: \"GET\",\n        ...baseOptions,\n        ...options,\n      };\n      const localVarHeaderParameter = {} as any;\n      const localVarQueryParameter = {} as any;\n\n      if (start !== undefined) {\n        localVarQueryParameter[\"start\"] = start;\n      }\n\n      if (limit !== undefined) {\n        localVarQueryParameter[\"limit\"] = limit;\n      }\n\n      setSearchParams(localVarUrlObj, localVarQueryParameter);\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {};\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      };\n\n      return {\n        url: toPathString(localVarUrlObj),\n        options: localVarRequestOptions,\n      };\n    },\n    /**\n     * Gets contents of a file that you refer to by a fileref. If the server can determine the type of file that is returned, the Content-type header returns the appropriate media type information. Otherwise, application/octet-stream data is returned for the Content-type header.\n     * @summary Download a file\n     * @param {string} sessionId Specifies the ID of the session.\n     * @param {string} fileref Specifies the fileref name. The name must be eight or fewer characters.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    getFile: async (\n      sessionId: string,\n      fileref: string,\n      options: AxiosRequestConfig = {},\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'sessionId' is not null or undefined\n      assertParamExists(\"getFile\", \"sessionId\", sessionId);\n      // verify required parameter 'fileref' is not null or undefined\n      assertParamExists(\"getFile\", \"fileref\", fileref);\n      const localVarPath = `/sessions/{sessionId}/filerefs/{fileref}/content`\n        .replace(`{${\"sessionId\"}}`, encodeURIComponent(String(sessionId)))\n        .replace(`{${\"fileref\"}}`, encodeURIComponent(String(fileref)));\n      // use dummy base URL string because the URL constructor only accepts absolute URLs.\n      const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n      let baseOptions;\n      if (configuration) {\n        baseOptions = configuration.baseOptions;\n      }\n\n      const localVarRequestOptions = {\n        method: \"GET\",\n        ...baseOptions,\n        ...options,\n      };\n      const localVarHeaderParameter = {} as any;\n      const localVarQueryParameter = {} as any;\n\n      setSearchParams(localVarUrlObj, localVarQueryParameter);\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {};\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      };\n\n      return {\n        url: toPathString(localVarUrlObj),\n        options: localVarRequestOptions,\n      };\n    },\n    /**\n     * Get file information from a fileref in a session.\n     * @summary Get fileref information\n     * @param {string} sessionId Specifies the ID of the session.\n     * @param {string} fileref Specifies the fileref name. The name must be eight or fewer characters.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    getFileref: async (\n      sessionId: string,\n      fileref: string,\n      options: AxiosRequestConfig = {},\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'sessionId' is not null or undefined\n      assertParamExists(\"getFileref\", \"sessionId\", sessionId);\n      // verify required parameter 'fileref' is not null or undefined\n      assertParamExists(\"getFileref\", \"fileref\", fileref);\n      const localVarPath = `/sessions/{sessionId}/filerefs/{fileref}`\n        .replace(`{${\"sessionId\"}}`, encodeURIComponent(String(sessionId)))\n        .replace(`{${\"fileref\"}}`, encodeURIComponent(String(fileref)));\n      // use dummy base URL string because the URL constructor only accepts absolute URLs.\n      const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n      let baseOptions;\n      if (configuration) {\n        baseOptions = configuration.baseOptions;\n      }\n\n      const localVarRequestOptions = {\n        method: \"GET\",\n        ...baseOptions,\n        ...options,\n      };\n      const localVarHeaderParameter = {} as any;\n      const localVarQueryParameter = {} as any;\n\n      setSearchParams(localVarUrlObj, localVarQueryParameter);\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {};\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      };\n\n      return {\n        url: toPathString(localVarUrlObj),\n        options: localVarRequestOptions,\n      };\n    },\n    /**\n     * Gets fileref summary information for a fileref in a session.\n     * @summary Get fileref summary information\n     * @param {string} sessionId Specifies the ID of the session.\n     * @param {string} fileref Specifies the fileref name. The name must be eight or fewer characters.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    getFilerefSummary: async (\n      sessionId: string,\n      fileref: string,\n      options: AxiosRequestConfig = {},\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'sessionId' is not null or undefined\n      assertParamExists(\"getFilerefSummary\", \"sessionId\", sessionId);\n      // verify required parameter 'fileref' is not null or undefined\n      assertParamExists(\"getFilerefSummary\", \"fileref\", fileref);\n      const localVarPath = `/sessions/{sessionId}/filerefs/{fileref}#summary`\n        .replace(`{${\"sessionId\"}}`, encodeURIComponent(String(sessionId)))\n        .replace(`{${\"fileref\"}}`, encodeURIComponent(String(fileref)));\n      // use dummy base URL string because the URL constructor only accepts absolute URLs.\n      const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n      let baseOptions;\n      if (configuration) {\n        baseOptions = configuration.baseOptions;\n      }\n\n      const localVarRequestOptions = {\n        method: \"GET\",\n        ...baseOptions,\n        ...options,\n      };\n      const localVarHeaderParameter = {} as any;\n      const localVarQueryParameter = {} as any;\n\n      setSearchParams(localVarUrlObj, localVarQueryParameter);\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {};\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      };\n\n      return {\n        url: toPathString(localVarUrlObj),\n        options: localVarRequestOptions,\n      };\n    },\n    /**\n     * Returns a list of all the filerefs that are defined for a session.\n     * @summary List filerefs in a session\n     * @param {'application/vnd.sas.compute.fileref+json'} acceptItem Specifies the desired fileref representation.&lt;br&gt; The Accept-Item options are: &lt;ul&gt; &lt;li&gt;application/vnd.sas.compute.fileref+json &lt;li&gt;application/vnd.sas.compute.fileref.summary+json &lt;li&gt;blank &lt;/ul&gt; If the application/vnd.sas.compute.fileref.summary+json type is specified or no Accept-Item header is specified, the filerefs are returned as summary representation fileref objects.\n     * @param {string} sessionId Specifies the ID of the session.\n     * @param {string} [filter] Specifies filter criteria for returned filerefs.\n     * @param {number} [start] Specifies the offset of the first fileref to return.\n     * @param {number} [limit] Specifies the maximum number of filerefs to return.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    getFilerefs: async (\n      acceptItem: \"application/vnd.sas.compute.fileref+json\",\n      sessionId: string,\n      filter?: string,\n      start?: number,\n      limit?: number,\n      options: AxiosRequestConfig = {},\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'acceptItem' is not null or undefined\n      assertParamExists(\"getFilerefs\", \"acceptItem\", acceptItem);\n      // verify required parameter 'sessionId' is not null or undefined\n      assertParamExists(\"getFilerefs\", \"sessionId\", sessionId);\n      const localVarPath = `/sessions/{sessionId}/filerefs`.replace(\n        `{${\"sessionId\"}}`,\n        encodeURIComponent(String(sessionId)),\n      );\n      // use dummy base URL string because the URL constructor only accepts absolute URLs.\n      const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n      let baseOptions;\n      if (configuration) {\n        baseOptions = configuration.baseOptions;\n      }\n\n      const localVarRequestOptions = {\n        method: \"GET\",\n        ...baseOptions,\n        ...options,\n      };\n      const localVarHeaderParameter = {} as any;\n      const localVarQueryParameter = {} as any;\n\n      if (filter !== undefined) {\n        localVarQueryParameter[\"filter\"] = filter;\n      }\n\n      if (start !== undefined) {\n        localVarQueryParameter[\"start\"] = start;\n      }\n\n      if (limit !== undefined) {\n        localVarQueryParameter[\"limit\"] = limit;\n      }\n\n      if (acceptItem != null) {\n        localVarHeaderParameter[\"Accept-Item\"] = String(acceptItem);\n      }\n\n      setSearchParams(localVarUrlObj, localVarQueryParameter);\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {};\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      };\n\n      return {\n        url: toPathString(localVarUrlObj),\n        options: localVarRequestOptions,\n      };\n    },\n    /**\n     * Determines whether the specified fileref exists in a session.\n     * @summary Check for a fileref\n     * @param {string} sessionId Specifies the ID of the session.\n     * @param {string} fileref Specifies the fileref name. The name must be eight or fewer characters.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    headersForFileref: async (\n      sessionId: string,\n      fileref: string,\n      options: AxiosRequestConfig = {},\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'sessionId' is not null or undefined\n      assertParamExists(\"headersForFileref\", \"sessionId\", sessionId);\n      // verify required parameter 'fileref' is not null or undefined\n      assertParamExists(\"headersForFileref\", \"fileref\", fileref);\n      const localVarPath = `/sessions/{sessionId}/filerefs/{fileref}`\n        .replace(`{${\"sessionId\"}}`, encodeURIComponent(String(sessionId)))\n        .replace(`{${\"fileref\"}}`, encodeURIComponent(String(fileref)));\n      // use dummy base URL string because the URL constructor only accepts absolute URLs.\n      const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n      let baseOptions;\n      if (configuration) {\n        baseOptions = configuration.baseOptions;\n      }\n\n      const localVarRequestOptions = {\n        method: \"HEAD\",\n        ...baseOptions,\n        ...options,\n      };\n      const localVarHeaderParameter = {} as any;\n      const localVarQueryParameter = {} as any;\n\n      setSearchParams(localVarUrlObj, localVarQueryParameter);\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {};\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      };\n\n      return {\n        url: toPathString(localVarUrlObj),\n        options: localVarRequestOptions,\n      };\n    },\n    /**\n     * Determines whether the file service is available for a session.\n     * @summary Check endpoint availability\n     * @param {string} sessionId Specifies the ID of the session.\n     * @param {string} [filter] Specifies the filter criteria for returned filerefs.\n     * @param {number} [start] Specifies the offset of the first fileref to return. The default value is \\&quot;0\\&quot;.\n     * @param {number} [limit] Specifies the maximum number of filerefs to return.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    headersForFilerefs: async (\n      sessionId: string,\n      filter?: string,\n      start?: number,\n      limit?: number,\n      options: AxiosRequestConfig = {},\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'sessionId' is not null or undefined\n      assertParamExists(\"headersForFilerefs\", \"sessionId\", sessionId);\n      const localVarPath = `/sessions/{sessionId}/filerefs`.replace(\n        `{${\"sessionId\"}}`,\n        encodeURIComponent(String(sessionId)),\n      );\n      // use dummy base URL string because the URL constructor only accepts absolute URLs.\n      const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n      let baseOptions;\n      if (configuration) {\n        baseOptions = configuration.baseOptions;\n      }\n\n      const localVarRequestOptions = {\n        method: \"HEAD\",\n        ...baseOptions,\n        ...options,\n      };\n      const localVarHeaderParameter = {} as any;\n      const localVarQueryParameter = {} as any;\n\n      if (filter !== undefined) {\n        localVarQueryParameter[\"filter\"] = filter;\n      }\n\n      if (start !== undefined) {\n        localVarQueryParameter[\"start\"] = start;\n      }\n\n      if (limit !== undefined) {\n        localVarQueryParameter[\"limit\"] = limit;\n      }\n\n      setSearchParams(localVarUrlObj, localVarQueryParameter);\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {};\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      };\n\n      return {\n        url: toPathString(localVarUrlObj),\n        options: localVarRequestOptions,\n      };\n    },\n    /**\n     * Determines whether a file is available for download.\n     * @summary Check file availability\n     * @param {string} sessionId Specifies the ID of the session.\n     * @param {string} fileref Specifies the fileref name. The name must be eight or fewer characters.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    headersForGetFile: async (\n      sessionId: string,\n      fileref: string,\n      options: AxiosRequestConfig = {},\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'sessionId' is not null or undefined\n      assertParamExists(\"headersForGetFile\", \"sessionId\", sessionId);\n      // verify required parameter 'fileref' is not null or undefined\n      assertParamExists(\"headersForGetFile\", \"fileref\", fileref);\n      const localVarPath = `/sessions/{sessionId}/filerefs/{fileref}/content`\n        .replace(`{${\"sessionId\"}}`, encodeURIComponent(String(sessionId)))\n        .replace(`{${\"fileref\"}}`, encodeURIComponent(String(fileref)));\n      // use dummy base URL string because the URL constructor only accepts absolute URLs.\n      const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n      let baseOptions;\n      if (configuration) {\n        baseOptions = configuration.baseOptions;\n      }\n\n      const localVarRequestOptions = {\n        method: \"HEAD\",\n        ...baseOptions,\n        ...options,\n      };\n      const localVarHeaderParameter = {} as any;\n      const localVarQueryParameter = {} as any;\n\n      setSearchParams(localVarUrlObj, localVarQueryParameter);\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {};\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      };\n\n      return {\n        url: toPathString(localVarUrlObj),\n        options: localVarRequestOptions,\n      };\n    },\n    /**\n     * Uploads a physical file that is associated with a fileref.\n     * @summary Upload a file\n     * @param {string} sessionId Specifies the ID of the session.\n     * @param {string} fileref Specifies the fileref name. The name must be eight or fewer characters.\n     * @param {string} ifMatch Specifies the ETag of the fileref that you are updating.\n     * @param {File} body Specifies the data to upload to the fileref.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    updateFileContent: async (\n      sessionId: string,\n      fileref: string,\n      ifMatch: string,\n      body: File,\n      options: AxiosRequestConfig = {},\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'sessionId' is not null or undefined\n      assertParamExists(\"updateFileContent\", \"sessionId\", sessionId);\n      // verify required parameter 'fileref' is not null or undefined\n      assertParamExists(\"updateFileContent\", \"fileref\", fileref);\n      // verify required parameter 'ifMatch' is not null or undefined\n      assertParamExists(\"updateFileContent\", \"ifMatch\", ifMatch);\n      // verify required parameter 'body' is not null or undefined\n      assertParamExists(\"updateFileContent\", \"body\", body);\n      const localVarPath = `/sessions/{sessionId}/filerefs/{fileref}/content`\n        .replace(`{${\"sessionId\"}}`, encodeURIComponent(String(sessionId)))\n        .replace(`{${\"fileref\"}}`, encodeURIComponent(String(fileref)));\n      // use dummy base URL string because the URL constructor only accepts absolute URLs.\n      const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n      let baseOptions;\n      if (configuration) {\n        baseOptions = configuration.baseOptions;\n      }\n\n      const localVarRequestOptions = {\n        method: \"PUT\",\n        ...baseOptions,\n        ...options,\n      };\n      const localVarHeaderParameter = {} as any;\n      const localVarQueryParameter = {} as any;\n\n      if (ifMatch != null) {\n        localVarHeaderParameter[\"If-Match\"] = String(ifMatch);\n      }\n\n      localVarHeaderParameter[\"Content-Type\"] = \"application/octet-stream\";\n\n      setSearchParams(localVarUrlObj, localVarQueryParameter);\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {};\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      };\n      localVarRequestOptions.data = serializeDataIfNeeded(\n        body,\n        localVarRequestOptions,\n        configuration,\n      );\n\n      return {\n        url: toPathString(localVarUrlObj),\n        options: localVarRequestOptions,\n      };\n    },\n  };\n};\n\n/**\n * FilesApi - functional programming interface\n * @export\n */\nexport const FilesApi = function (configuration?: Configuration) {\n  const localVarAxiosParamCreator = FilesApiAxiosParamCreator(configuration);\n  return {\n    /**\n     * Creates or assigns a fileref for a session.\n     * @summary Assign a fileref\n     * @param {FilesApiAssignFilerefRequest} requestParameters Request parameters.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async assignFileref(\n      requestParameters: FilesApiAssignFilerefRequest,\n      options?: AxiosRequestConfig,\n    ): Promise<AxiosResponse<Fileref>> {\n      const localVarAxiosArgs = await localVarAxiosParamCreator.assignFileref(\n        requestParameters.sessionId,\n        requestParameters.filerefRequest,\n        requestParameters.parent,\n        options,\n      );\n      return createRequestFunction(localVarAxiosArgs, configuration);\n    },\n\n    /**\n     * Deletes the file that is referenced by the fileref.\n     * @summary Delete a file\n     * @param {FilesApiDeleteFileRequest} requestParameters Request parameters.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async deleteFile(\n      requestParameters: FilesApiDeleteFileRequest,\n      options?: AxiosRequestConfig,\n    ): Promise<AxiosResponse<void>> {\n      const localVarAxiosArgs = await localVarAxiosParamCreator.deleteFile(\n        requestParameters.sessionId,\n        requestParameters.fileref,\n        options,\n      );\n      return createRequestFunction(localVarAxiosArgs, configuration);\n    },\n\n    /**\n     * Deassigns the specified fileref in a session.\n     * @summary Deassign a fileref\n     * @param {FilesApiDeleteFilerefRequest} requestParameters Request parameters.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async deleteFileref(\n      requestParameters: FilesApiDeleteFilerefRequest,\n      options?: AxiosRequestConfig,\n    ): Promise<AxiosResponse<void>> {\n      const localVarAxiosArgs = await localVarAxiosParamCreator.deleteFileref(\n        requestParameters.sessionId,\n        requestParameters.fileref,\n        options,\n      );\n      return createRequestFunction(localVarAxiosArgs, configuration);\n    },\n\n    /**\n     * Gets information about a member of a directory fileref.\n     * @summary Get a directory member\n     * @param {FilesApiGetDirectoryFilerefRequest} requestParameters Request parameters.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async getDirectoryFileref(\n      requestParameters: FilesApiGetDirectoryFilerefRequest,\n      options?: AxiosRequestConfig,\n    ): Promise<AxiosResponse<DirMember>> {\n      const localVarAxiosArgs =\n        await localVarAxiosParamCreator.getDirectoryFileref(\n          requestParameters.sessionId,\n          requestParameters.fileref,\n          requestParameters.member,\n          options,\n        );\n      return createRequestFunction(localVarAxiosArgs, configuration);\n    },\n\n    /**\n     * Returns a directory listing when a fileref refers to a directory. A collection of directory members is returned.\n     * @summary Get directory contents\n     * @param {FilesApiGetDirectoryFilerefContentsRequest} requestParameters Request parameters.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async getDirectoryFilerefContents(\n      requestParameters: FilesApiGetDirectoryFilerefContentsRequest,\n      options?: AxiosRequestConfig,\n    ): Promise<AxiosResponse<DirectoryCollection>> {\n      const localVarAxiosArgs =\n        await localVarAxiosParamCreator.getDirectoryFilerefContents(\n          requestParameters.sessionId,\n          requestParameters.fileref,\n          requestParameters.start,\n          requestParameters.limit,\n          options,\n        );\n      return createRequestFunction(localVarAxiosArgs, configuration);\n    },\n\n    /**\n     * Gets contents of a file that you refer to by a fileref. If the server can determine the type of file that is returned, the Content-type header returns the appropriate media type information. Otherwise, application/octet-stream data is returned for the Content-type header.\n     * @summary Download a file\n     * @param {FilesApiGetFileRequest} requestParameters Request parameters.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async getFile(\n      requestParameters: FilesApiGetFileRequest,\n      options?: AxiosRequestConfig,\n    ): Promise<AxiosResponse<void>> {\n      const localVarAxiosArgs = await localVarAxiosParamCreator.getFile(\n        requestParameters.sessionId,\n        requestParameters.fileref,\n        options,\n      );\n      return createRequestFunction(localVarAxiosArgs, configuration);\n    },\n\n    /**\n     * Get file information from a fileref in a session.\n     * @summary Get fileref information\n     * @param {FilesApiGetFilerefRequest} requestParameters Request parameters.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async getFileref(\n      requestParameters: FilesApiGetFilerefRequest,\n      options?: AxiosRequestConfig,\n    ): Promise<AxiosResponse<Fileref>> {\n      const localVarAxiosArgs = await localVarAxiosParamCreator.getFileref(\n        requestParameters.sessionId,\n        requestParameters.fileref,\n        options,\n      );\n      return createRequestFunction(localVarAxiosArgs, configuration);\n    },\n\n    /**\n     * Gets fileref summary information for a fileref in a session.\n     * @summary Get fileref summary information\n     * @param {FilesApiGetFilerefSummaryRequest} requestParameters Request parameters.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async getFilerefSummary(\n      requestParameters: FilesApiGetFilerefSummaryRequest,\n      options?: AxiosRequestConfig,\n    ): Promise<AxiosResponse<FilerefSummary>> {\n      const localVarAxiosArgs =\n        await localVarAxiosParamCreator.getFilerefSummary(\n          requestParameters.sessionId,\n          requestParameters.fileref,\n          options,\n        );\n      return createRequestFunction(localVarAxiosArgs, configuration);\n    },\n\n    /**\n     * Returns a list of all the filerefs that are defined for a session.\n     * @summary List filerefs in a session\n     * @param {FilesApiGetFilerefsRequest} requestParameters Request parameters.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async getFilerefs(\n      requestParameters: FilesApiGetFilerefsRequest,\n      options?: AxiosRequestConfig,\n    ): Promise<AxiosResponse<FilerefSummaryCollection>> {\n      const localVarAxiosArgs = await localVarAxiosParamCreator.getFilerefs(\n        requestParameters.acceptItem,\n        requestParameters.sessionId,\n        requestParameters.filter,\n        requestParameters.start,\n        requestParameters.limit,\n        options,\n      );\n      return createRequestFunction(localVarAxiosArgs, configuration);\n    },\n\n    /**\n     * Determines whether the specified fileref exists in a session.\n     * @summary Check for a fileref\n     * @param {FilesApiHeadersForFilerefRequest} requestParameters Request parameters.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async headersForFileref(\n      requestParameters: FilesApiHeadersForFilerefRequest,\n      options?: AxiosRequestConfig,\n    ): Promise<AxiosResponse<void>> {\n      const localVarAxiosArgs =\n        await localVarAxiosParamCreator.headersForFileref(\n          requestParameters.sessionId,\n          requestParameters.fileref,\n          options,\n        );\n      return createRequestFunction(localVarAxiosArgs, configuration);\n    },\n\n    /**\n     * Determines whether the file service is available for a session.\n     * @summary Check endpoint availability\n     * @param {FilesApiHeadersForFilerefsRequest} requestParameters Request parameters.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async headersForFilerefs(\n      requestParameters: FilesApiHeadersForFilerefsRequest,\n      options?: AxiosRequestConfig,\n    ): Promise<AxiosResponse<void>> {\n      const localVarAxiosArgs =\n        await localVarAxiosParamCreator.headersForFilerefs(\n          requestParameters.sessionId,\n          requestParameters.filter,\n          requestParameters.start,\n          requestParameters.limit,\n          options,\n        );\n      return createRequestFunction(localVarAxiosArgs, configuration);\n    },\n\n    /**\n     * Determines whether a file is available for download.\n     * @summary Check file availability\n     * @param {FilesApiHeadersForGetFileRequest} requestParameters Request parameters.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async headersForGetFile(\n      requestParameters: FilesApiHeadersForGetFileRequest,\n      options?: AxiosRequestConfig,\n    ): Promise<AxiosResponse<void>> {\n      const localVarAxiosArgs =\n        await localVarAxiosParamCreator.headersForGetFile(\n          requestParameters.sessionId,\n          requestParameters.fileref,\n          options,\n        );\n      return createRequestFunction(localVarAxiosArgs, configuration);\n    },\n\n    /**\n     * Uploads a physical file that is associated with a fileref.\n     * @summary Upload a file\n     * @param {FilesApiUpdateFileContentRequest} requestParameters Request parameters.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async updateFileContent(\n      requestParameters: FilesApiUpdateFileContentRequest,\n      options?: AxiosRequestConfig,\n    ): Promise<AxiosResponse<void>> {\n      const localVarAxiosArgs =\n        await localVarAxiosParamCreator.updateFileContent(\n          requestParameters.sessionId,\n          requestParameters.fileref,\n          requestParameters.ifMatch,\n          requestParameters.body,\n          options,\n        );\n      return createRequestFunction(localVarAxiosArgs, configuration);\n    },\n  };\n};\n\n/**\n * Request parameters for assignFileref operation in FilesApi.\n * @export\n * @interface FilesApiAssignFilerefRequest\n */\nexport interface FilesApiAssignFilerefRequest {\n  /**\n   * Specifies the ID of the session.\n   * @type {string}\n   * @memberof FilesApiAssignFileref\n   */\n  readonly sessionId: string;\n\n  /**\n   * Specifies a fileref creation request.\n   * @type {FilerefRequest}\n   * @memberof FilesApiAssignFileref\n   */\n  readonly filerefRequest: FilerefRequest;\n\n  /**\n   * To create a fileref to a member of a directory fileref, specify the directory fileref as the parent.\n   * @type {string}\n   * @memberof FilesApiAssignFileref\n   */\n  readonly parent?: string;\n}\n\n/**\n * Request parameters for deleteFile operation in FilesApi.\n * @export\n * @interface FilesApiDeleteFileRequest\n */\nexport interface FilesApiDeleteFileRequest {\n  /**\n   * Specifies the ID of the session.\n   * @type {string}\n   * @memberof FilesApiDeleteFile\n   */\n  readonly sessionId: string;\n\n  /**\n   * Specifies the fileref name. The name must be eight or fewer characters.\n   * @type {string}\n   * @memberof FilesApiDeleteFile\n   */\n  readonly fileref: string;\n}\n\n/**\n * Request parameters for deleteFileref operation in FilesApi.\n * @export\n * @interface FilesApiDeleteFilerefRequest\n */\nexport interface FilesApiDeleteFilerefRequest {\n  /**\n   * Specifies the ID of the session.\n   * @type {string}\n   * @memberof FilesApiDeleteFileref\n   */\n  readonly sessionId: string;\n\n  /**\n   * Specifies the fileref name. The name must be eight or fewer characters.\n   * @type {string}\n   * @memberof FilesApiDeleteFileref\n   */\n  readonly fileref: string;\n}\n\n/**\n * Request parameters for getDirectoryFileref operation in FilesApi.\n * @export\n * @interface FilesApiGetDirectoryFilerefRequest\n */\nexport interface FilesApiGetDirectoryFilerefRequest {\n  /**\n   * Specifies the ID of the session.\n   * @type {string}\n   * @memberof FilesApiGetDirectoryFileref\n   */\n  readonly sessionId: string;\n\n  /**\n   * Specifies the fileref name. The name must be eight or fewer characters.\n   * @type {string}\n   * @memberof FilesApiGetDirectoryFileref\n   */\n  readonly fileref: string;\n\n  /**\n   * Specifies the name of the member to return.\n   * @type {string}\n   * @memberof FilesApiGetDirectoryFileref\n   */\n  readonly member: string;\n}\n\n/**\n * Request parameters for getDirectoryFilerefContents operation in FilesApi.\n * @export\n * @interface FilesApiGetDirectoryFilerefContentsRequest\n */\nexport interface FilesApiGetDirectoryFilerefContentsRequest {\n  /**\n   * Specifies the ID of the session.\n   * @type {string}\n   * @memberof FilesApiGetDirectoryFilerefContents\n   */\n  readonly sessionId: string;\n\n  /**\n   * Specifies the fileref name. The name must be eight or fewer characters.\n   * @type {string}\n   * @memberof FilesApiGetDirectoryFilerefContents\n   */\n  readonly fileref: string;\n\n  /**\n   * Specifies the offset of the first directory member to return. The default value is \\&quot;0\\&quot;.\n   * @type {number}\n   * @memberof FilesApiGetDirectoryFilerefContents\n   */\n  readonly start?: number;\n\n  /**\n   * Specifies the maximum number of members to return. The default value is \\&quot;10\\&quot;.\n   * @type {number}\n   * @memberof FilesApiGetDirectoryFilerefContents\n   */\n  readonly limit?: number;\n}\n\n/**\n * Request parameters for getFile operation in FilesApi.\n * @export\n * @interface FilesApiGetFileRequest\n */\nexport interface FilesApiGetFileRequest {\n  /**\n   * Specifies the ID of the session.\n   * @type {string}\n   * @memberof FilesApiGetFile\n   */\n  readonly sessionId: string;\n\n  /**\n   * Specifies the fileref name. The name must be eight or fewer characters.\n   * @type {string}\n   * @memberof FilesApiGetFile\n   */\n  readonly fileref: string;\n}\n\n/**\n * Request parameters for getFileref operation in FilesApi.\n * @export\n * @interface FilesApiGetFilerefRequest\n */\nexport interface FilesApiGetFilerefRequest {\n  /**\n   * Specifies the ID of the session.\n   * @type {string}\n   * @memberof FilesApiGetFileref\n   */\n  readonly sessionId: string;\n\n  /**\n   * Specifies the fileref name. The name must be eight or fewer characters.\n   * @type {string}\n   * @memberof FilesApiGetFileref\n   */\n  readonly fileref: string;\n}\n\n/**\n * Request parameters for getFilerefSummary operation in FilesApi.\n * @export\n * @interface FilesApiGetFilerefSummaryRequest\n */\nexport interface FilesApiGetFilerefSummaryRequest {\n  /**\n   * Specifies the ID of the session.\n   * @type {string}\n   * @memberof FilesApiGetFilerefSummary\n   */\n  readonly sessionId: string;\n\n  /**\n   * Specifies the fileref name. The name must be eight or fewer characters.\n   * @type {string}\n   * @memberof FilesApiGetFilerefSummary\n   */\n  readonly fileref: string;\n}\n\n/**\n * Request parameters for getFilerefs operation in FilesApi.\n * @export\n * @interface FilesApiGetFilerefsRequest\n */\nexport interface FilesApiGetFilerefsRequest {\n  /**\n   * Specifies the desired fileref representation.&lt;br&gt; The Accept-Item options are: &lt;ul&gt; &lt;li&gt;application/vnd.sas.compute.fileref+json &lt;li&gt;application/vnd.sas.compute.fileref.summary+json &lt;li&gt;blank &lt;/ul&gt; If the application/vnd.sas.compute.fileref.summary+json type is specified or no Accept-Item header is specified, the filerefs are returned as summary representation fileref objects.\n   * @type {'application/vnd.sas.compute.fileref+json'}\n   * @memberof FilesApiGetFilerefs\n   */\n  readonly acceptItem: \"application/vnd.sas.compute.fileref+json\";\n\n  /**\n   * Specifies the ID of the session.\n   * @type {string}\n   * @memberof FilesApiGetFilerefs\n   */\n  readonly sessionId: string;\n\n  /**\n   * Specifies filter criteria for returned filerefs.\n   * @type {string}\n   * @memberof FilesApiGetFilerefs\n   */\n  readonly filter?: string;\n\n  /**\n   * Specifies the offset of the first fileref to return.\n   * @type {number}\n   * @memberof FilesApiGetFilerefs\n   */\n  readonly start?: number;\n\n  /**\n   * Specifies the maximum number of filerefs to return.\n   * @type {number}\n   * @memberof FilesApiGetFilerefs\n   */\n  readonly limit?: number;\n}\n\n/**\n * Request parameters for headersForFileref operation in FilesApi.\n * @export\n * @interface FilesApiHeadersForFilerefRequest\n */\nexport interface FilesApiHeadersForFilerefRequest {\n  /**\n   * Specifies the ID of the session.\n   * @type {string}\n   * @memberof FilesApiHeadersForFileref\n   */\n  readonly sessionId: string;\n\n  /**\n   * Specifies the fileref name. The name must be eight or fewer characters.\n   * @type {string}\n   * @memberof FilesApiHeadersForFileref\n   */\n  readonly fileref: string;\n}\n\n/**\n * Request parameters for headersForFilerefs operation in FilesApi.\n * @export\n * @interface FilesApiHeadersForFilerefsRequest\n */\nexport interface FilesApiHeadersForFilerefsRequest {\n  /**\n   * Specifies the ID of the session.\n   * @type {string}\n   * @memberof FilesApiHeadersForFilerefs\n   */\n  readonly sessionId: string;\n\n  /**\n   * Specifies the filter criteria for returned filerefs.\n   * @type {string}\n   * @memberof FilesApiHeadersForFilerefs\n   */\n  readonly filter?: string;\n\n  /**\n   * Specifies the offset of the first fileref to return. The default value is \\&quot;0\\&quot;.\n   * @type {number}\n   * @memberof FilesApiHeadersForFilerefs\n   */\n  readonly start?: number;\n\n  /**\n   * Specifies the maximum number of filerefs to return.\n   * @type {number}\n   * @memberof FilesApiHeadersForFilerefs\n   */\n  readonly limit?: number;\n}\n\n/**\n * Request parameters for headersForGetFile operation in FilesApi.\n * @export\n * @interface FilesApiHeadersForGetFileRequest\n */\nexport interface FilesApiHeadersForGetFileRequest {\n  /**\n   * Specifies the ID of the session.\n   * @type {string}\n   * @memberof FilesApiHeadersForGetFile\n   */\n  readonly sessionId: string;\n\n  /**\n   * Specifies the fileref name. The name must be eight or fewer characters.\n   * @type {string}\n   * @memberof FilesApiHeadersForGetFile\n   */\n  readonly fileref: string;\n}\n\n/**\n * Request parameters for updateFileContent operation in FilesApi.\n * @export\n * @interface FilesApiUpdateFileContentRequest\n */\nexport interface FilesApiUpdateFileContentRequest {\n  /**\n   * Specifies the ID of the session.\n   * @type {string}\n   * @memberof FilesApiUpdateFileContent\n   */\n  readonly sessionId: string;\n\n  /**\n   * Specifies the fileref name. The name must be eight or fewer characters.\n   * @type {string}\n   * @memberof FilesApiUpdateFileContent\n   */\n  readonly fileref: string;\n\n  /**\n   * Specifies the ETag of the fileref that you are updating.\n   * @type {string}\n   * @memberof FilesApiUpdateFileContent\n   */\n  readonly ifMatch: string;\n\n  /**\n   * Specifies the data to upload to the fileref.\n   * @type {File}\n   * @memberof FilesApiUpdateFileContent\n   */\n  readonly body: File;\n}\n\n/**\n * FormatsApi - axios parameter creator\n * @export\n */\nexport const FormatsApiAxiosParamCreator = function (\n  configuration?: Configuration,\n) {\n  return {\n    /**\n     * Gets format information from a session.\n     * @summary Get format information\n     * @param {string} sessionId Specifies the ID of the session.\n     * @param {string} formatName Specifies the format name.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    getFormat: async (\n      sessionId: string,\n      formatName: string,\n      options: AxiosRequestConfig = {},\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'sessionId' is not null or undefined\n      assertParamExists(\"getFormat\", \"sessionId\", sessionId);\n      // verify required parameter 'formatName' is not null or undefined\n      assertParamExists(\"getFormat\", \"formatName\", formatName);\n      const localVarPath = `/sessions/{sessionId}/formats/{formatName}`\n        .replace(`{${\"sessionId\"}}`, encodeURIComponent(String(sessionId)))\n        .replace(`{${\"formatName\"}}`, encodeURIComponent(String(formatName)));\n      // use dummy base URL string because the URL constructor only accepts absolute URLs.\n      const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n      let baseOptions;\n      if (configuration) {\n        baseOptions = configuration.baseOptions;\n      }\n\n      const localVarRequestOptions = {\n        method: \"GET\",\n        ...baseOptions,\n        ...options,\n      };\n      const localVarHeaderParameter = {} as any;\n      const localVarQueryParameter = {} as any;\n\n      setSearchParams(localVarUrlObj, localVarQueryParameter);\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {};\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      };\n\n      return {\n        url: toPathString(localVarUrlObj),\n        options: localVarRequestOptions,\n      };\n    },\n    /**\n     * Returns a list of all the formats that are defined for a session.\n     * @summary List formats in a session\n     * @param {string} sessionId Specifies the ID of the session.\n     * @param {'application/vnd.sas.format.summary+json' | 'application/vnd.sas.format+json'} [acceptItem] Specifies the desired format representation.&lt;br&gt; The Accept-Item options are: &lt;ul&gt; &lt;li&gt;application/vnd.sas.format+json &lt;li&gt;application/vnd.sas.format.summary+json &lt;li&gt;blank &lt;/ul&gt; If the application/vnd.sas.format.summary+json type is specified or no Accept-Item header is specified, then the formats are returned as summary representation format objects.\n     * @param {string} [filter] Specifies filter criteria for returned formats.\n     * @param {number} [start] Specifies the offset of the first format to return.\n     * @param {number} [limit] Specifies the maximum number of formats to return.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    getFormats: async (\n      sessionId: string,\n      acceptItem?:\n        | \"application/vnd.sas.format.summary+json\"\n        | \"application/vnd.sas.format+json\",\n      filter?: string,\n      start?: number,\n      limit?: number,\n      options: AxiosRequestConfig = {},\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'sessionId' is not null or undefined\n      assertParamExists(\"getFormats\", \"sessionId\", sessionId);\n      const localVarPath = `/sessions/{sessionId}/formats`.replace(\n        `{${\"sessionId\"}}`,\n        encodeURIComponent(String(sessionId)),\n      );\n      // use dummy base URL string because the URL constructor only accepts absolute URLs.\n      const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n      let baseOptions;\n      if (configuration) {\n        baseOptions = configuration.baseOptions;\n      }\n\n      const localVarRequestOptions = {\n        method: \"GET\",\n        ...baseOptions,\n        ...options,\n      };\n      const localVarHeaderParameter = {} as any;\n      const localVarQueryParameter = {} as any;\n\n      if (filter !== undefined) {\n        localVarQueryParameter[\"filter\"] = filter;\n      }\n\n      if (start !== undefined) {\n        localVarQueryParameter[\"start\"] = start;\n      }\n\n      if (limit !== undefined) {\n        localVarQueryParameter[\"limit\"] = limit;\n      }\n\n      if (acceptItem != null) {\n        localVarHeaderParameter[\"Accept-Item\"] = String(acceptItem);\n      }\n\n      setSearchParams(localVarUrlObj, localVarQueryParameter);\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {};\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      };\n\n      return {\n        url: toPathString(localVarUrlObj),\n        options: localVarRequestOptions,\n      };\n    },\n    /**\n     * Determines whether the specified format exists in a session.\n     * @summary Check for a format\n     * @param {string} sessionId Specifies the ID of the session.\n     * @param {string} formatName Specifies the format name.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    headersForFormat: async (\n      sessionId: string,\n      formatName: string,\n      options: AxiosRequestConfig = {},\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'sessionId' is not null or undefined\n      assertParamExists(\"headersForFormat\", \"sessionId\", sessionId);\n      // verify required parameter 'formatName' is not null or undefined\n      assertParamExists(\"headersForFormat\", \"formatName\", formatName);\n      const localVarPath = `/sessions/{sessionId}/formats/{formatName}`\n        .replace(`{${\"sessionId\"}}`, encodeURIComponent(String(sessionId)))\n        .replace(`{${\"formatName\"}}`, encodeURIComponent(String(formatName)));\n      // use dummy base URL string because the URL constructor only accepts absolute URLs.\n      const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n      let baseOptions;\n      if (configuration) {\n        baseOptions = configuration.baseOptions;\n      }\n\n      const localVarRequestOptions = {\n        method: \"HEAD\",\n        ...baseOptions,\n        ...options,\n      };\n      const localVarHeaderParameter = {} as any;\n      const localVarQueryParameter = {} as any;\n\n      setSearchParams(localVarUrlObj, localVarQueryParameter);\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {};\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      };\n\n      return {\n        url: toPathString(localVarUrlObj),\n        options: localVarRequestOptions,\n      };\n    },\n    /**\n     * Determines whether the formats endpoint is available for a session.\n     * @summary Check endpoint availability\n     * @param {string} sessionId Specifies the ID of the session.\n     * @param {string} [filter] Specifies the filter criteria for returned formats.\n     * @param {number} [start] Specifies the offset of the first format to return. The default value is 0.\n     * @param {number} [limit] Specifies the maximum number of formats to return.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    headersForFormats: async (\n      sessionId: string,\n      filter?: string,\n      start?: number,\n      limit?: number,\n      options: AxiosRequestConfig = {},\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'sessionId' is not null or undefined\n      assertParamExists(\"headersForFormats\", \"sessionId\", sessionId);\n      const localVarPath = `/sessions/{sessionId}/formats`.replace(\n        `{${\"sessionId\"}}`,\n        encodeURIComponent(String(sessionId)),\n      );\n      // use dummy base URL string because the URL constructor only accepts absolute URLs.\n      const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n      let baseOptions;\n      if (configuration) {\n        baseOptions = configuration.baseOptions;\n      }\n\n      const localVarRequestOptions = {\n        method: \"HEAD\",\n        ...baseOptions,\n        ...options,\n      };\n      const localVarHeaderParameter = {} as any;\n      const localVarQueryParameter = {} as any;\n\n      if (filter !== undefined) {\n        localVarQueryParameter[\"filter\"] = filter;\n      }\n\n      if (start !== undefined) {\n        localVarQueryParameter[\"start\"] = start;\n      }\n\n      if (limit !== undefined) {\n        localVarQueryParameter[\"limit\"] = limit;\n      }\n\n      setSearchParams(localVarUrlObj, localVarQueryParameter);\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {};\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      };\n\n      return {\n        url: toPathString(localVarUrlObj),\n        options: localVarRequestOptions,\n      };\n    },\n  };\n};\n\n/**\n * FormatsApi - functional programming interface\n * @export\n */\nexport const FormatsApi = function (configuration?: Configuration) {\n  const localVarAxiosParamCreator = FormatsApiAxiosParamCreator(configuration);\n  return {\n    /**\n     * Gets format information from a session.\n     * @summary Get format information\n     * @param {FormatsApiGetFormatRequest} requestParameters Request parameters.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async getFormat(\n      requestParameters: FormatsApiGetFormatRequest,\n      options?: AxiosRequestConfig,\n    ): Promise<AxiosResponse<Format>> {\n      const localVarAxiosArgs = await localVarAxiosParamCreator.getFormat(\n        requestParameters.sessionId,\n        requestParameters.formatName,\n        options,\n      );\n      return createRequestFunction(localVarAxiosArgs, configuration);\n    },\n\n    /**\n     * Returns a list of all the formats that are defined for a session.\n     * @summary List formats in a session\n     * @param {FormatsApiGetFormatsRequest} requestParameters Request parameters.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async getFormats(\n      requestParameters: FormatsApiGetFormatsRequest,\n      options?: AxiosRequestConfig,\n    ): Promise<AxiosResponse<FormatSummaryCollection>> {\n      const localVarAxiosArgs = await localVarAxiosParamCreator.getFormats(\n        requestParameters.sessionId,\n        requestParameters.acceptItem,\n        requestParameters.filter,\n        requestParameters.start,\n        requestParameters.limit,\n        options,\n      );\n      return createRequestFunction(localVarAxiosArgs, configuration);\n    },\n\n    /**\n     * Determines whether the specified format exists in a session.\n     * @summary Check for a format\n     * @param {FormatsApiHeadersForFormatRequest} requestParameters Request parameters.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async headersForFormat(\n      requestParameters: FormatsApiHeadersForFormatRequest,\n      options?: AxiosRequestConfig,\n    ): Promise<AxiosResponse<void>> {\n      const localVarAxiosArgs =\n        await localVarAxiosParamCreator.headersForFormat(\n          requestParameters.sessionId,\n          requestParameters.formatName,\n          options,\n        );\n      return createRequestFunction(localVarAxiosArgs, configuration);\n    },\n\n    /**\n     * Determines whether the formats endpoint is available for a session.\n     * @summary Check endpoint availability\n     * @param {FormatsApiHeadersForFormatsRequest} requestParameters Request parameters.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async headersForFormats(\n      requestParameters: FormatsApiHeadersForFormatsRequest,\n      options?: AxiosRequestConfig,\n    ): Promise<AxiosResponse<void>> {\n      const localVarAxiosArgs =\n        await localVarAxiosParamCreator.headersForFormats(\n          requestParameters.sessionId,\n          requestParameters.filter,\n          requestParameters.start,\n          requestParameters.limit,\n          options,\n        );\n      return createRequestFunction(localVarAxiosArgs, configuration);\n    },\n  };\n};\n\n/**\n * Request parameters for getFormat operation in FormatsApi.\n * @export\n * @interface FormatsApiGetFormatRequest\n */\nexport interface FormatsApiGetFormatRequest {\n  /**\n   * Specifies the ID of the session.\n   * @type {string}\n   * @memberof FormatsApiGetFormat\n   */\n  readonly sessionId: string;\n\n  /**\n   * Specifies the format name.\n   * @type {string}\n   * @memberof FormatsApiGetFormat\n   */\n  readonly formatName: string;\n}\n\n/**\n * Request parameters for getFormats operation in FormatsApi.\n * @export\n * @interface FormatsApiGetFormatsRequest\n */\nexport interface FormatsApiGetFormatsRequest {\n  /**\n   * Specifies the ID of the session.\n   * @type {string}\n   * @memberof FormatsApiGetFormats\n   */\n  readonly sessionId: string;\n\n  /**\n   * Specifies the desired format representation.&lt;br&gt; The Accept-Item options are: &lt;ul&gt; &lt;li&gt;application/vnd.sas.format+json &lt;li&gt;application/vnd.sas.format.summary+json &lt;li&gt;blank &lt;/ul&gt; If the application/vnd.sas.format.summary+json type is specified or no Accept-Item header is specified, then the formats are returned as summary representation format objects.\n   * @type {'application/vnd.sas.format.summary+json' | 'application/vnd.sas.format+json'}\n   * @memberof FormatsApiGetFormats\n   */\n  readonly acceptItem?:\n    | \"application/vnd.sas.format.summary+json\"\n    | \"application/vnd.sas.format+json\";\n\n  /**\n   * Specifies filter criteria for returned formats.\n   * @type {string}\n   * @memberof FormatsApiGetFormats\n   */\n  readonly filter?: string;\n\n  /**\n   * Specifies the offset of the first format to return.\n   * @type {number}\n   * @memberof FormatsApiGetFormats\n   */\n  readonly start?: number;\n\n  /**\n   * Specifies the maximum number of formats to return.\n   * @type {number}\n   * @memberof FormatsApiGetFormats\n   */\n  readonly limit?: number;\n}\n\n/**\n * Request parameters for headersForFormat operation in FormatsApi.\n * @export\n * @interface FormatsApiHeadersForFormatRequest\n */\nexport interface FormatsApiHeadersForFormatRequest {\n  /**\n   * Specifies the ID of the session.\n   * @type {string}\n   * @memberof FormatsApiHeadersForFormat\n   */\n  readonly sessionId: string;\n\n  /**\n   * Specifies the format name.\n   * @type {string}\n   * @memberof FormatsApiHeadersForFormat\n   */\n  readonly formatName: string;\n}\n\n/**\n * Request parameters for headersForFormats operation in FormatsApi.\n * @export\n * @interface FormatsApiHeadersForFormatsRequest\n */\nexport interface FormatsApiHeadersForFormatsRequest {\n  /**\n   * Specifies the ID of the session.\n   * @type {string}\n   * @memberof FormatsApiHeadersForFormats\n   */\n  readonly sessionId: string;\n\n  /**\n   * Specifies the filter criteria for returned formats.\n   * @type {string}\n   * @memberof FormatsApiHeadersForFormats\n   */\n  readonly filter?: string;\n\n  /**\n   * Specifies the offset of the first format to return. The default value is 0.\n   * @type {number}\n   * @memberof FormatsApiHeadersForFormats\n   */\n  readonly start?: number;\n\n  /**\n   * Specifies the maximum number of formats to return.\n   * @type {number}\n   * @memberof FormatsApiHeadersForFormats\n   */\n  readonly limit?: number;\n}\n\n/**\n * InformatsApi - axios parameter creator\n * @export\n */\nexport const InformatsApiAxiosParamCreator = function (\n  configuration?: Configuration,\n) {\n  return {\n    /**\n     * Gets informat information from a session.\n     * @summary Get informat information\n     * @param {string} sessionId Specifies the ID of the session.\n     * @param {string} informatName Specifies the informat name.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    getInformat: async (\n      sessionId: string,\n      informatName: string,\n      options: AxiosRequestConfig = {},\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'sessionId' is not null or undefined\n      assertParamExists(\"getInformat\", \"sessionId\", sessionId);\n      // verify required parameter 'informatName' is not null or undefined\n      assertParamExists(\"getInformat\", \"informatName\", informatName);\n      const localVarPath = `/sessions/{sessionId}/informats/{informatName}`\n        .replace(`{${\"sessionId\"}}`, encodeURIComponent(String(sessionId)))\n        .replace(\n          `{${\"informatName\"}}`,\n          encodeURIComponent(String(informatName)),\n        );\n      // use dummy base URL string because the URL constructor only accepts absolute URLs.\n      const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n      let baseOptions;\n      if (configuration) {\n        baseOptions = configuration.baseOptions;\n      }\n\n      const localVarRequestOptions = {\n        method: \"GET\",\n        ...baseOptions,\n        ...options,\n      };\n      const localVarHeaderParameter = {} as any;\n      const localVarQueryParameter = {} as any;\n\n      setSearchParams(localVarUrlObj, localVarQueryParameter);\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {};\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      };\n\n      return {\n        url: toPathString(localVarUrlObj),\n        options: localVarRequestOptions,\n      };\n    },\n    /**\n     * Returns a list of all the informats that are defined for a session.\n     * @summary List informats in a session\n     * @param {string} sessionId Specifies the ID of the session.\n     * @param {'application/vnd.sas.format.summary+json' | 'application/vnd.sas.format+json'} [acceptItem] Specifies the desired format representation.&lt;br&gt; The Accept-Item options are: &lt;ul&gt; &lt;li&gt;application/vnd.sas.format+json &lt;li&gt;application/vnd.sas.format.summary+json &lt;li&gt;blank &lt;/ul&gt; If the application/vnd.sas.format.summary+json type is specified or no Accept-Item header is specified, then the formats are returned as summary representation format objects.\n     * @param {string} [filter] Specifies filter criteria for returned informats.\n     * @param {number} [start] Specifies the offset of the first informat to return.\n     * @param {number} [limit] Specifies the maximum number of informats to return.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    getInformats: async (\n      sessionId: string,\n      acceptItem?:\n        | \"application/vnd.sas.format.summary+json\"\n        | \"application/vnd.sas.format+json\",\n      filter?: string,\n      start?: number,\n      limit?: number,\n      options: AxiosRequestConfig = {},\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'sessionId' is not null or undefined\n      assertParamExists(\"getInformats\", \"sessionId\", sessionId);\n      const localVarPath = `/sessions/{sessionId}/informats`.replace(\n        `{${\"sessionId\"}}`,\n        encodeURIComponent(String(sessionId)),\n      );\n      // use dummy base URL string because the URL constructor only accepts absolute URLs.\n      const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n      let baseOptions;\n      if (configuration) {\n        baseOptions = configuration.baseOptions;\n      }\n\n      const localVarRequestOptions = {\n        method: \"GET\",\n        ...baseOptions,\n        ...options,\n      };\n      const localVarHeaderParameter = {} as any;\n      const localVarQueryParameter = {} as any;\n\n      if (filter !== undefined) {\n        localVarQueryParameter[\"filter\"] = filter;\n      }\n\n      if (start !== undefined) {\n        localVarQueryParameter[\"start\"] = start;\n      }\n\n      if (limit !== undefined) {\n        localVarQueryParameter[\"limit\"] = limit;\n      }\n\n      if (acceptItem != null) {\n        localVarHeaderParameter[\"Accept-Item\"] = String(acceptItem);\n      }\n\n      setSearchParams(localVarUrlObj, localVarQueryParameter);\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {};\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      };\n\n      return {\n        url: toPathString(localVarUrlObj),\n        options: localVarRequestOptions,\n      };\n    },\n    /**\n     * Determines whether the specified informat exists in a session.\n     * @summary Check for an informat\n     * @param {string} sessionId Specifies the ID of the session.\n     * @param {string} informatName Specifies the informat name.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    headersForInformat: async (\n      sessionId: string,\n      informatName: string,\n      options: AxiosRequestConfig = {},\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'sessionId' is not null or undefined\n      assertParamExists(\"headersForInformat\", \"sessionId\", sessionId);\n      // verify required parameter 'informatName' is not null or undefined\n      assertParamExists(\"headersForInformat\", \"informatName\", informatName);\n      const localVarPath = `/sessions/{sessionId}/informats/{informatName}`\n        .replace(`{${\"sessionId\"}}`, encodeURIComponent(String(sessionId)))\n        .replace(\n          `{${\"informatName\"}}`,\n          encodeURIComponent(String(informatName)),\n        );\n      // use dummy base URL string because the URL constructor only accepts absolute URLs.\n      const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n      let baseOptions;\n      if (configuration) {\n        baseOptions = configuration.baseOptions;\n      }\n\n      const localVarRequestOptions = {\n        method: \"HEAD\",\n        ...baseOptions,\n        ...options,\n      };\n      const localVarHeaderParameter = {} as any;\n      const localVarQueryParameter = {} as any;\n\n      setSearchParams(localVarUrlObj, localVarQueryParameter);\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {};\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      };\n\n      return {\n        url: toPathString(localVarUrlObj),\n        options: localVarRequestOptions,\n      };\n    },\n    /**\n     * Determines whether the informats endpoint is available for a session.\n     * @summary Check endpoint availability\n     * @param {string} sessionId Specifies the ID of the session.\n     * @param {string} [filter] Specifies the filter criteria for returned informats.\n     * @param {number} [start] Specifies the offset of the first informat to return. The default value is 0.\n     * @param {number} [limit] Specifies the maximum number of informats to return.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    headersForInformats: async (\n      sessionId: string,\n      filter?: string,\n      start?: number,\n      limit?: number,\n      options: AxiosRequestConfig = {},\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'sessionId' is not null or undefined\n      assertParamExists(\"headersForInformats\", \"sessionId\", sessionId);\n      const localVarPath = `/sessions/{sessionId}/informats`.replace(\n        `{${\"sessionId\"}}`,\n        encodeURIComponent(String(sessionId)),\n      );\n      // use dummy base URL string because the URL constructor only accepts absolute URLs.\n      const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n      let baseOptions;\n      if (configuration) {\n        baseOptions = configuration.baseOptions;\n      }\n\n      const localVarRequestOptions = {\n        method: \"HEAD\",\n        ...baseOptions,\n        ...options,\n      };\n      const localVarHeaderParameter = {} as any;\n      const localVarQueryParameter = {} as any;\n\n      if (filter !== undefined) {\n        localVarQueryParameter[\"filter\"] = filter;\n      }\n\n      if (start !== undefined) {\n        localVarQueryParameter[\"start\"] = start;\n      }\n\n      if (limit !== undefined) {\n        localVarQueryParameter[\"limit\"] = limit;\n      }\n\n      setSearchParams(localVarUrlObj, localVarQueryParameter);\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {};\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      };\n\n      return {\n        url: toPathString(localVarUrlObj),\n        options: localVarRequestOptions,\n      };\n    },\n  };\n};\n\n/**\n * InformatsApi - functional programming interface\n * @export\n */\nexport const InformatsApi = function (configuration?: Configuration) {\n  const localVarAxiosParamCreator =\n    InformatsApiAxiosParamCreator(configuration);\n  return {\n    /**\n     * Gets informat information from a session.\n     * @summary Get informat information\n     * @param {InformatsApiGetInformatRequest} requestParameters Request parameters.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async getInformat(\n      requestParameters: InformatsApiGetInformatRequest,\n      options?: AxiosRequestConfig,\n    ): Promise<AxiosResponse<Format>> {\n      const localVarAxiosArgs = await localVarAxiosParamCreator.getInformat(\n        requestParameters.sessionId,\n        requestParameters.informatName,\n        options,\n      );\n      return createRequestFunction(localVarAxiosArgs, configuration);\n    },\n\n    /**\n     * Returns a list of all the informats that are defined for a session.\n     * @summary List informats in a session\n     * @param {InformatsApiGetInformatsRequest} requestParameters Request parameters.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async getInformats(\n      requestParameters: InformatsApiGetInformatsRequest,\n      options?: AxiosRequestConfig,\n    ): Promise<AxiosResponse<FormatSummaryCollection>> {\n      const localVarAxiosArgs = await localVarAxiosParamCreator.getInformats(\n        requestParameters.sessionId,\n        requestParameters.acceptItem,\n        requestParameters.filter,\n        requestParameters.start,\n        requestParameters.limit,\n        options,\n      );\n      return createRequestFunction(localVarAxiosArgs, configuration);\n    },\n\n    /**\n     * Determines whether the specified informat exists in a session.\n     * @summary Check for an informat\n     * @param {InformatsApiHeadersForInformatRequest} requestParameters Request parameters.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async headersForInformat(\n      requestParameters: InformatsApiHeadersForInformatRequest,\n      options?: AxiosRequestConfig,\n    ): Promise<AxiosResponse<void>> {\n      const localVarAxiosArgs =\n        await localVarAxiosParamCreator.headersForInformat(\n          requestParameters.sessionId,\n          requestParameters.informatName,\n          options,\n        );\n      return createRequestFunction(localVarAxiosArgs, configuration);\n    },\n\n    /**\n     * Determines whether the informats endpoint is available for a session.\n     * @summary Check endpoint availability\n     * @param {InformatsApiHeadersForInformatsRequest} requestParameters Request parameters.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async headersForInformats(\n      requestParameters: InformatsApiHeadersForInformatsRequest,\n      options?: AxiosRequestConfig,\n    ): Promise<AxiosResponse<void>> {\n      const localVarAxiosArgs =\n        await localVarAxiosParamCreator.headersForInformats(\n          requestParameters.sessionId,\n          requestParameters.filter,\n          requestParameters.start,\n          requestParameters.limit,\n          options,\n        );\n      return createRequestFunction(localVarAxiosArgs, configuration);\n    },\n  };\n};\n\n/**\n * Request parameters for getInformat operation in InformatsApi.\n * @export\n * @interface InformatsApiGetInformatRequest\n */\nexport interface InformatsApiGetInformatRequest {\n  /**\n   * Specifies the ID of the session.\n   * @type {string}\n   * @memberof InformatsApiGetInformat\n   */\n  readonly sessionId: string;\n\n  /**\n   * Specifies the informat name.\n   * @type {string}\n   * @memberof InformatsApiGetInformat\n   */\n  readonly informatName: string;\n}\n\n/**\n * Request parameters for getInformats operation in InformatsApi.\n * @export\n * @interface InformatsApiGetInformatsRequest\n */\nexport interface InformatsApiGetInformatsRequest {\n  /**\n   * Specifies the ID of the session.\n   * @type {string}\n   * @memberof InformatsApiGetInformats\n   */\n  readonly sessionId: string;\n\n  /**\n   * Specifies the desired format representation.&lt;br&gt; The Accept-Item options are: &lt;ul&gt; &lt;li&gt;application/vnd.sas.format+json &lt;li&gt;application/vnd.sas.format.summary+json &lt;li&gt;blank &lt;/ul&gt; If the application/vnd.sas.format.summary+json type is specified or no Accept-Item header is specified, then the formats are returned as summary representation format objects.\n   * @type {'application/vnd.sas.format.summary+json' | 'application/vnd.sas.format+json'}\n   * @memberof InformatsApiGetInformats\n   */\n  readonly acceptItem?:\n    | \"application/vnd.sas.format.summary+json\"\n    | \"application/vnd.sas.format+json\";\n\n  /**\n   * Specifies filter criteria for returned informats.\n   * @type {string}\n   * @memberof InformatsApiGetInformats\n   */\n  readonly filter?: string;\n\n  /**\n   * Specifies the offset of the first informat to return.\n   * @type {number}\n   * @memberof InformatsApiGetInformats\n   */\n  readonly start?: number;\n\n  /**\n   * Specifies the maximum number of informats to return.\n   * @type {number}\n   * @memberof InformatsApiGetInformats\n   */\n  readonly limit?: number;\n}\n\n/**\n * Request parameters for headersForInformat operation in InformatsApi.\n * @export\n * @interface InformatsApiHeadersForInformatRequest\n */\nexport interface InformatsApiHeadersForInformatRequest {\n  /**\n   * Specifies the ID of the session.\n   * @type {string}\n   * @memberof InformatsApiHeadersForInformat\n   */\n  readonly sessionId: string;\n\n  /**\n   * Specifies the informat name.\n   * @type {string}\n   * @memberof InformatsApiHeadersForInformat\n   */\n  readonly informatName: string;\n}\n\n/**\n * Request parameters for headersForInformats operation in InformatsApi.\n * @export\n * @interface InformatsApiHeadersForInformatsRequest\n */\nexport interface InformatsApiHeadersForInformatsRequest {\n  /**\n   * Specifies the ID of the session.\n   * @type {string}\n   * @memberof InformatsApiHeadersForInformats\n   */\n  readonly sessionId: string;\n\n  /**\n   * Specifies the filter criteria for returned informats.\n   * @type {string}\n   * @memberof InformatsApiHeadersForInformats\n   */\n  readonly filter?: string;\n\n  /**\n   * Specifies the offset of the first informat to return. The default value is 0.\n   * @type {number}\n   * @memberof InformatsApiHeadersForInformats\n   */\n  readonly start?: number;\n\n  /**\n   * Specifies the maximum number of informats to return.\n   * @type {number}\n   * @memberof InformatsApiHeadersForInformats\n   */\n  readonly limit?: number;\n}\n\n/**\n * JobsApi - axios parameter creator\n * @export\n */\nexport const JobsApiAxiosParamCreator = function (\n  configuration?: Configuration,\n) {\n  return {\n    /**\n     * Executes SAS code in the specified session. Code is always submitted asynchronously. URLs are returned that contain endpoints. The Location header contains the URI of the job resource. You might submit the code directly in a request or as a reference to a File service resource.\n     * @summary Execute SAS code in a session\n     * @param {string} sessionId Specifies the ID of the session.\n     * @param {JobRequest} jobRequest Specifies the job submission request.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    createJob: async (\n      sessionId: string,\n      jobRequest: JobRequest,\n      options: AxiosRequestConfig = {},\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'sessionId' is not null or undefined\n      assertParamExists(\"createJob\", \"sessionId\", sessionId);\n      // verify required parameter 'jobRequest' is not null or undefined\n      assertParamExists(\"createJob\", \"jobRequest\", jobRequest);\n      const localVarPath = `/sessions/{sessionId}/jobs`.replace(\n        `{${\"sessionId\"}}`,\n        encodeURIComponent(String(sessionId)),\n      );\n      // use dummy base URL string because the URL constructor only accepts absolute URLs.\n      const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n      let baseOptions;\n      if (configuration) {\n        baseOptions = configuration.baseOptions;\n      }\n\n      const localVarRequestOptions = {\n        method: \"POST\",\n        ...baseOptions,\n        ...options,\n      };\n      const localVarHeaderParameter = {} as any;\n      const localVarQueryParameter = {} as any;\n\n      localVarHeaderParameter[\"Content-Type\"] =\n        \"application/vnd.sas.compute.job.request+json\";\n\n      setSearchParams(localVarUrlObj, localVarQueryParameter);\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {};\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      };\n      localVarRequestOptions.data = serializeDataIfNeeded(\n        jobRequest,\n        localVarRequestOptions,\n        configuration,\n      );\n\n      return {\n        url: toPathString(localVarUrlObj),\n        options: localVarRequestOptions,\n      };\n    },\n    /**\n     * Deletes a job and all job access points into a session from this job. The log, listing, and results that were created by the job are also deleted. Actual job resources are still available via the session, until the session is destroyed.\n     * @summary Delete a job\n     * @param {string} sessionId Specifies the ID of the session.\n     * @param {string} jobId Specifies the ID of the job.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    deleteJob: async (\n      sessionId: string,\n      jobId: string,\n      options: AxiosRequestConfig = {},\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'sessionId' is not null or undefined\n      assertParamExists(\"deleteJob\", \"sessionId\", sessionId);\n      // verify required parameter 'jobId' is not null or undefined\n      assertParamExists(\"deleteJob\", \"jobId\", jobId);\n      const localVarPath = `/sessions/{sessionId}/jobs/{jobId}`\n        .replace(`{${\"sessionId\"}}`, encodeURIComponent(String(sessionId)))\n        .replace(`{${\"jobId\"}}`, encodeURIComponent(String(jobId)));\n      // use dummy base URL string because the URL constructor only accepts absolute URLs.\n      const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n      let baseOptions;\n      if (configuration) {\n        baseOptions = configuration.baseOptions;\n      }\n\n      const localVarRequestOptions = {\n        method: \"DELETE\",\n        ...baseOptions,\n        ...options,\n      };\n      const localVarHeaderParameter = {} as any;\n      const localVarQueryParameter = {} as any;\n\n      setSearchParams(localVarUrlObj, localVarQueryParameter);\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {};\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      };\n\n      return {\n        url: toPathString(localVarUrlObj),\n        options: localVarRequestOptions,\n      };\n    },\n    /**\n     * Returns information about a specified job. This information includes the job\\'s current state and links to other endpoints that are associated with the job, such as results, log, or output.\n     * @summary Get information about a job\n     * @param {string} sessionId Specifies the ID of the session.\n     * @param {string} jobId Specifies the ID of the job to return information for.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    getJob: async (\n      sessionId: string,\n      jobId: string,\n      options: AxiosRequestConfig = {},\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'sessionId' is not null or undefined\n      assertParamExists(\"getJob\", \"sessionId\", sessionId);\n      // verify required parameter 'jobId' is not null or undefined\n      assertParamExists(\"getJob\", \"jobId\", jobId);\n      const localVarPath = `/sessions/{sessionId}/jobs/{jobId}`\n        .replace(`{${\"sessionId\"}}`, encodeURIComponent(String(sessionId)))\n        .replace(`{${\"jobId\"}}`, encodeURIComponent(String(jobId)));\n      // use dummy base URL string because the URL constructor only accepts absolute URLs.\n      const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n      let baseOptions;\n      if (configuration) {\n        baseOptions = configuration.baseOptions;\n      }\n\n      const localVarRequestOptions = {\n        method: \"GET\",\n        ...baseOptions,\n        ...options,\n      };\n      const localVarHeaderParameter = {} as any;\n      const localVarQueryParameter = {} as any;\n\n      setSearchParams(localVarUrlObj, localVarQueryParameter);\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {};\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      };\n\n      return {\n        url: toPathString(localVarUrlObj),\n        options: localVarRequestOptions,\n      };\n    },\n    /**\n     * Returns the current state of the specified job.\n     * @summary Get current state of a job\n     * @param {string} sessionId Specifies the ID of the session.\n     * @param {string} jobId Specifies the ID of the job to return information for.\n     * @param {number} [wait] Specifies the request time-out, in seconds. This parameter is ignored unless it is specified in combination with the &#x60;If-None-Match&#x60; header. If the state of the resource remains unchanged until the specified number of seconds has elapsed, then a status of 304 is returned. The request determines whether the current state matches the state when the ETag was specified via the &#x60;If-None-Match&#x60; header. If the state differs within the specified time period, then the new state is returned.\n     * @param {string} [ifNoneMatch] Specifies the ETag that is associated with a value of the job state.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    getJobState: async (\n      sessionId: string,\n      jobId: string,\n      wait?: number,\n      ifNoneMatch?: string,\n      options: AxiosRequestConfig = {},\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'sessionId' is not null or undefined\n      assertParamExists(\"getJobState\", \"sessionId\", sessionId);\n      // verify required parameter 'jobId' is not null or undefined\n      assertParamExists(\"getJobState\", \"jobId\", jobId);\n      const localVarPath = `/sessions/{sessionId}/jobs/{jobId}/state`\n        .replace(`{${\"sessionId\"}}`, encodeURIComponent(String(sessionId)))\n        .replace(`{${\"jobId\"}}`, encodeURIComponent(String(jobId)));\n      // use dummy base URL string because the URL constructor only accepts absolute URLs.\n      const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n      let baseOptions;\n      if (configuration) {\n        baseOptions = configuration.baseOptions;\n      }\n\n      const localVarRequestOptions = {\n        method: \"GET\",\n        ...baseOptions,\n        ...options,\n      };\n      const localVarHeaderParameter = {} as any;\n      const localVarQueryParameter = {} as any;\n\n      if (wait !== undefined) {\n        localVarQueryParameter[\"wait\"] = wait;\n      }\n\n      if (ifNoneMatch != null) {\n        localVarHeaderParameter[\"If-None-Match\"] = String(ifNoneMatch);\n      }\n\n      setSearchParams(localVarUrlObj, localVarQueryParameter);\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {};\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      };\n\n      return {\n        url: toPathString(localVarUrlObj),\n        options: localVarRequestOptions,\n      };\n    },\n    /**\n     * Returns a collection of all the current jobs for a session. Standard paging, filtering, and sorting options are provided.\n     * @summary Get the current jobs for a session\n     * @param {string} sessionId Specifies the ID of the session.\n     * @param {string} [jobId] Returns jobs that match the specified jobId.\n     * @param {number} [start] Specifies the offset of the first job to return. The default value is \\&quot;0\\&quot;.\n     * @param {number} [limit] Specifies the maximum number of jobs to return. The default value is \\&quot;10\\&quot;.\n     * @param {string} [filter] Specifies the filter criteria for returned jobs.\n     * @param {string} [sortBy] Sorts returned jobs.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    getJobs: async (\n      sessionId: string,\n      jobId?: string,\n      start?: number,\n      limit?: number,\n      filter?: string,\n      sortBy?: string,\n      options: AxiosRequestConfig = {},\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'sessionId' is not null or undefined\n      assertParamExists(\"getJobs\", \"sessionId\", sessionId);\n      const localVarPath = `/sessions/{sessionId}/jobs`.replace(\n        `{${\"sessionId\"}}`,\n        encodeURIComponent(String(sessionId)),\n      );\n      // use dummy base URL string because the URL constructor only accepts absolute URLs.\n      const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n      let baseOptions;\n      if (configuration) {\n        baseOptions = configuration.baseOptions;\n      }\n\n      const localVarRequestOptions = {\n        method: \"GET\",\n        ...baseOptions,\n        ...options,\n      };\n      const localVarHeaderParameter = {} as any;\n      const localVarQueryParameter = {} as any;\n\n      if (jobId !== undefined) {\n        localVarQueryParameter[\"jobId\"] = jobId;\n      }\n\n      if (start !== undefined) {\n        localVarQueryParameter[\"start\"] = start;\n      }\n\n      if (limit !== undefined) {\n        localVarQueryParameter[\"limit\"] = limit;\n      }\n\n      if (filter !== undefined) {\n        localVarQueryParameter[\"filter\"] = filter;\n      }\n\n      if (sortBy !== undefined) {\n        localVarQueryParameter[\"sortBy\"] = sortBy;\n      }\n\n      setSearchParams(localVarUrlObj, localVarQueryParameter);\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {};\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      };\n\n      return {\n        url: toPathString(localVarUrlObj),\n        options: localVarRequestOptions,\n      };\n    },\n    /**\n     * Determines whether the specified job exists.\n     * @summary Verify that a job exists\n     * @param {string} sessionId Specifies the ID of the session.\n     * @param {string} jobId Specifies the ID of the job to query.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    headersForJob: async (\n      sessionId: string,\n      jobId: string,\n      options: AxiosRequestConfig = {},\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'sessionId' is not null or undefined\n      assertParamExists(\"headersForJob\", \"sessionId\", sessionId);\n      // verify required parameter 'jobId' is not null or undefined\n      assertParamExists(\"headersForJob\", \"jobId\", jobId);\n      const localVarPath = `/sessions/{sessionId}/jobs/{jobId}`\n        .replace(`{${\"sessionId\"}}`, encodeURIComponent(String(sessionId)))\n        .replace(`{${\"jobId\"}}`, encodeURIComponent(String(jobId)));\n      // use dummy base URL string because the URL constructor only accepts absolute URLs.\n      const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n      let baseOptions;\n      if (configuration) {\n        baseOptions = configuration.baseOptions;\n      }\n\n      const localVarRequestOptions = {\n        method: \"HEAD\",\n        ...baseOptions,\n        ...options,\n      };\n      const localVarHeaderParameter = {} as any;\n      const localVarQueryParameter = {} as any;\n\n      setSearchParams(localVarUrlObj, localVarQueryParameter);\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {};\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      };\n\n      return {\n        url: toPathString(localVarUrlObj),\n        options: localVarRequestOptions,\n      };\n    },\n    /**\n     * Determines whether the state can be determined for a job.\n     * @summary Check endpoint availability\n     * @param {string} sessionId Specifies the ID of the session.\n     * @param {string} jobId Specifies the ID of the job to return information for.\n     * @param {number} [wait] Specifies the request time-out, in seconds. This parameter is ignored unless it is specified in combination with the &#x60;If-None-Match&#x60; header. If the state of the resource remains unchanged until the specified number of seconds has elapsed, then a status of 304 is returned. The request determines whether the current state matches the state when the ETag was specified via the &#x60;If-None-Match&#x60; header. If the state differs within the specified time period, then the new state is returned.\n     * @param {string} [ifNoneMatch] Specifies the ETag that is associated with a value of the job state.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    headersForJobState: async (\n      sessionId: string,\n      jobId: string,\n      wait?: number,\n      ifNoneMatch?: string,\n      options: AxiosRequestConfig = {},\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'sessionId' is not null or undefined\n      assertParamExists(\"headersForJobState\", \"sessionId\", sessionId);\n      // verify required parameter 'jobId' is not null or undefined\n      assertParamExists(\"headersForJobState\", \"jobId\", jobId);\n      const localVarPath = `/sessions/{sessionId}/jobs/{jobId}/state`\n        .replace(`{${\"sessionId\"}}`, encodeURIComponent(String(sessionId)))\n        .replace(`{${\"jobId\"}}`, encodeURIComponent(String(jobId)));\n      // use dummy base URL string because the URL constructor only accepts absolute URLs.\n      const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n      let baseOptions;\n      if (configuration) {\n        baseOptions = configuration.baseOptions;\n      }\n\n      const localVarRequestOptions = {\n        method: \"HEAD\",\n        ...baseOptions,\n        ...options,\n      };\n      const localVarHeaderParameter = {} as any;\n      const localVarQueryParameter = {} as any;\n\n      if (wait !== undefined) {\n        localVarQueryParameter[\"wait\"] = wait;\n      }\n\n      if (ifNoneMatch != null) {\n        localVarHeaderParameter[\"If-None-Match\"] = String(ifNoneMatch);\n      }\n\n      setSearchParams(localVarUrlObj, localVarQueryParameter);\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {};\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      };\n\n      return {\n        url: toPathString(localVarUrlObj),\n        options: localVarRequestOptions,\n      };\n    },\n    /**\n     * Determines whether the jobs endpoint is available for a session.\n     * @summary Check endpoint availability\n     * @param {string} sessionId Specifies the ID of the session.\n     * @param {string} [jobId] Returns only jobs that match this jobId.\n     * @param {number} [start] Specifies the offset of the first job to return. The default value is \\&quot;0\\&quot;.\n     * @param {number} [limit] Specifies the maximum number of jobs to return. The default value is \\&quot;10\\&quot;.\n     * @param {string} [filter] Specifies the filter criteria for returned jobs.\n     * @param {string} [sortBy] Sorts returned jobs.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    headersForJobs: async (\n      sessionId: string,\n      jobId?: string,\n      start?: number,\n      limit?: number,\n      filter?: string,\n      sortBy?: string,\n      options: AxiosRequestConfig = {},\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'sessionId' is not null or undefined\n      assertParamExists(\"headersForJobs\", \"sessionId\", sessionId);\n      const localVarPath = `/sessions/{sessionId}/jobs`.replace(\n        `{${\"sessionId\"}}`,\n        encodeURIComponent(String(sessionId)),\n      );\n      // use dummy base URL string because the URL constructor only accepts absolute URLs.\n      const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n      let baseOptions;\n      if (configuration) {\n        baseOptions = configuration.baseOptions;\n      }\n\n      const localVarRequestOptions = {\n        method: \"HEAD\",\n        ...baseOptions,\n        ...options,\n      };\n      const localVarHeaderParameter = {} as any;\n      const localVarQueryParameter = {} as any;\n\n      if (jobId !== undefined) {\n        localVarQueryParameter[\"jobId\"] = jobId;\n      }\n\n      if (start !== undefined) {\n        localVarQueryParameter[\"start\"] = start;\n      }\n\n      if (limit !== undefined) {\n        localVarQueryParameter[\"limit\"] = limit;\n      }\n\n      if (filter !== undefined) {\n        localVarQueryParameter[\"filter\"] = filter;\n      }\n\n      if (sortBy !== undefined) {\n        localVarQueryParameter[\"sortBy\"] = sortBy;\n      }\n\n      setSearchParams(localVarUrlObj, localVarQueryParameter);\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {};\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      };\n\n      return {\n        url: toPathString(localVarUrlObj),\n        options: localVarRequestOptions,\n      };\n    },\n    /**\n     * Sets the current state of the specified job. For example, you can use this method to set the state to canceled.\n     * @summary Set current state of a job\n     * @param {string} sessionId Specifies the ID of the session.\n     * @param {string} jobId Specifies the ID of the job whose state you want to update.\n     * @param {'canceled' | 'deleted'} value Specifies the new job state, such as canceled.\n     * @param {string} ifMatch Specifies the current ETag of the job being updated.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    updateJobState: async (\n      sessionId: string,\n      jobId: string,\n      value: \"canceled\" | \"deleted\",\n      ifMatch: string,\n      options: AxiosRequestConfig = {},\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'sessionId' is not null or undefined\n      assertParamExists(\"updateJobState\", \"sessionId\", sessionId);\n      // verify required parameter 'jobId' is not null or undefined\n      assertParamExists(\"updateJobState\", \"jobId\", jobId);\n      // verify required parameter 'value' is not null or undefined\n      assertParamExists(\"updateJobState\", \"value\", value);\n      // verify required parameter 'ifMatch' is not null or undefined\n      assertParamExists(\"updateJobState\", \"ifMatch\", ifMatch);\n      const localVarPath = `/sessions/{sessionId}/jobs/{jobId}/state`\n        .replace(`{${\"sessionId\"}}`, encodeURIComponent(String(sessionId)))\n        .replace(`{${\"jobId\"}}`, encodeURIComponent(String(jobId)));\n      // use dummy base URL string because the URL constructor only accepts absolute URLs.\n      const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n      let baseOptions;\n      if (configuration) {\n        baseOptions = configuration.baseOptions;\n      }\n\n      const localVarRequestOptions = {\n        method: \"PUT\",\n        ...baseOptions,\n        ...options,\n      };\n      const localVarHeaderParameter = {} as any;\n      const localVarQueryParameter = {} as any;\n\n      if (value !== undefined) {\n        localVarQueryParameter[\"value\"] = value;\n      }\n\n      if (ifMatch != null) {\n        localVarHeaderParameter[\"If-Match\"] = String(ifMatch);\n      }\n\n      setSearchParams(localVarUrlObj, localVarQueryParameter);\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {};\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      };\n\n      return {\n        url: toPathString(localVarUrlObj),\n        options: localVarRequestOptions,\n      };\n    },\n  };\n};\n\n/**\n * JobsApi - functional programming interface\n * @export\n */\nexport const JobsApi = function (configuration?: Configuration) {\n  const localVarAxiosParamCreator = JobsApiAxiosParamCreator(configuration);\n  return {\n    /**\n     * Executes SAS code in the specified session. Code is always submitted asynchronously. URLs are returned that contain endpoints. The Location header contains the URI of the job resource. You might submit the code directly in a request or as a reference to a File service resource.\n     * @summary Execute SAS code in a session\n     * @param {JobsApiCreateJobRequest} requestParameters Request parameters.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async createJob(\n      requestParameters: JobsApiCreateJobRequest,\n      options?: AxiosRequestConfig,\n    ): Promise<AxiosResponse<Job>> {\n      const localVarAxiosArgs = await localVarAxiosParamCreator.createJob(\n        requestParameters.sessionId,\n        requestParameters.jobRequest,\n        options,\n      );\n      return createRequestFunction(localVarAxiosArgs, configuration);\n    },\n\n    /**\n     * Deletes a job and all job access points into a session from this job. The log, listing, and results that were created by the job are also deleted. Actual job resources are still available via the session, until the session is destroyed.\n     * @summary Delete a job\n     * @param {JobsApiDeleteJobRequest} requestParameters Request parameters.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async deleteJob(\n      requestParameters: JobsApiDeleteJobRequest,\n      options?: AxiosRequestConfig,\n    ): Promise<AxiosResponse<void>> {\n      const localVarAxiosArgs = await localVarAxiosParamCreator.deleteJob(\n        requestParameters.sessionId,\n        requestParameters.jobId,\n        options,\n      );\n      return createRequestFunction(localVarAxiosArgs, configuration);\n    },\n\n    /**\n     * Returns information about a specified job. This information includes the job\\'s current state and links to other endpoints that are associated with the job, such as results, log, or output.\n     * @summary Get information about a job\n     * @param {JobsApiGetJobRequest} requestParameters Request parameters.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async getJob(\n      requestParameters: JobsApiGetJobRequest,\n      options?: AxiosRequestConfig,\n    ): Promise<AxiosResponse<Job>> {\n      const localVarAxiosArgs = await localVarAxiosParamCreator.getJob(\n        requestParameters.sessionId,\n        requestParameters.jobId,\n        options,\n      );\n      return createRequestFunction(localVarAxiosArgs, configuration);\n    },\n\n    /**\n     * Returns the current state of the specified job.\n     * @summary Get current state of a job\n     * @param {JobsApiGetJobStateRequest} requestParameters Request parameters.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async getJobState(\n      requestParameters: JobsApiGetJobStateRequest,\n      options?: AxiosRequestConfig,\n    ): Promise<AxiosResponse<string>> {\n      const localVarAxiosArgs = await localVarAxiosParamCreator.getJobState(\n        requestParameters.sessionId,\n        requestParameters.jobId,\n        requestParameters.wait,\n        requestParameters.ifNoneMatch,\n        options,\n      );\n      return createRequestFunction(localVarAxiosArgs, configuration);\n    },\n\n    /**\n     * Returns a collection of all the current jobs for a session. Standard paging, filtering, and sorting options are provided.\n     * @summary Get the current jobs for a session\n     * @param {JobsApiGetJobsRequest} requestParameters Request parameters.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async getJobs(\n      requestParameters: JobsApiGetJobsRequest,\n      options?: AxiosRequestConfig,\n    ): Promise<AxiosResponse<JobCollection>> {\n      const localVarAxiosArgs = await localVarAxiosParamCreator.getJobs(\n        requestParameters.sessionId,\n        requestParameters.jobId,\n        requestParameters.start,\n        requestParameters.limit,\n        requestParameters.filter,\n        requestParameters.sortBy,\n        options,\n      );\n      return createRequestFunction(localVarAxiosArgs, configuration);\n    },\n\n    /**\n     * Determines whether the specified job exists.\n     * @summary Verify that a job exists\n     * @param {JobsApiHeadersForJobRequest} requestParameters Request parameters.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async headersForJob(\n      requestParameters: JobsApiHeadersForJobRequest,\n      options?: AxiosRequestConfig,\n    ): Promise<AxiosResponse<void>> {\n      const localVarAxiosArgs = await localVarAxiosParamCreator.headersForJob(\n        requestParameters.sessionId,\n        requestParameters.jobId,\n        options,\n      );\n      return createRequestFunction(localVarAxiosArgs, configuration);\n    },\n\n    /**\n     * Determines whether the state can be determined for a job.\n     * @summary Check endpoint availability\n     * @param {JobsApiHeadersForJobStateRequest} requestParameters Request parameters.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async headersForJobState(\n      requestParameters: JobsApiHeadersForJobStateRequest,\n      options?: AxiosRequestConfig,\n    ): Promise<AxiosResponse<void>> {\n      const localVarAxiosArgs =\n        await localVarAxiosParamCreator.headersForJobState(\n          requestParameters.sessionId,\n          requestParameters.jobId,\n          requestParameters.wait,\n          requestParameters.ifNoneMatch,\n          options,\n        );\n      return createRequestFunction(localVarAxiosArgs, configuration);\n    },\n\n    /**\n     * Determines whether the jobs endpoint is available for a session.\n     * @summary Check endpoint availability\n     * @param {JobsApiHeadersForJobsRequest} requestParameters Request parameters.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async headersForJobs(\n      requestParameters: JobsApiHeadersForJobsRequest,\n      options?: AxiosRequestConfig,\n    ): Promise<AxiosResponse<void>> {\n      const localVarAxiosArgs = await localVarAxiosParamCreator.headersForJobs(\n        requestParameters.sessionId,\n        requestParameters.jobId,\n        requestParameters.start,\n        requestParameters.limit,\n        requestParameters.filter,\n        requestParameters.sortBy,\n        options,\n      );\n      return createRequestFunction(localVarAxiosArgs, configuration);\n    },\n\n    /**\n     * Sets the current state of the specified job. For example, you can use this method to set the state to canceled.\n     * @summary Set current state of a job\n     * @param {JobsApiUpdateJobStateRequest} requestParameters Request parameters.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async updateJobState(\n      requestParameters: JobsApiUpdateJobStateRequest,\n      options?: AxiosRequestConfig,\n    ): Promise<AxiosResponse<void>> {\n      const localVarAxiosArgs = await localVarAxiosParamCreator.updateJobState(\n        requestParameters.sessionId,\n        requestParameters.jobId,\n        requestParameters.value,\n        requestParameters.ifMatch,\n        options,\n      );\n      return createRequestFunction(localVarAxiosArgs, configuration);\n    },\n  };\n};\n\n/**\n * Request parameters for createJob operation in JobsApi.\n * @export\n * @interface JobsApiCreateJobRequest\n */\nexport interface JobsApiCreateJobRequest {\n  /**\n   * Specifies the ID of the session.\n   * @type {string}\n   * @memberof JobsApiCreateJob\n   */\n  readonly sessionId: string;\n\n  /**\n   * Specifies the job submission request.\n   * @type {JobRequest}\n   * @memberof JobsApiCreateJob\n   */\n  readonly jobRequest: JobRequest;\n}\n\n/**\n * Request parameters for deleteJob operation in JobsApi.\n * @export\n * @interface JobsApiDeleteJobRequest\n */\nexport interface JobsApiDeleteJobRequest {\n  /**\n   * Specifies the ID of the session.\n   * @type {string}\n   * @memberof JobsApiDeleteJob\n   */\n  readonly sessionId: string;\n\n  /**\n   * Specifies the ID of the job.\n   * @type {string}\n   * @memberof JobsApiDeleteJob\n   */\n  readonly jobId: string;\n}\n\n/**\n * Request parameters for getJob operation in JobsApi.\n * @export\n * @interface JobsApiGetJobRequest\n */\nexport interface JobsApiGetJobRequest {\n  /**\n   * Specifies the ID of the session.\n   * @type {string}\n   * @memberof JobsApiGetJob\n   */\n  readonly sessionId: string;\n\n  /**\n   * Specifies the ID of the job to return information for.\n   * @type {string}\n   * @memberof JobsApiGetJob\n   */\n  readonly jobId: string;\n}\n\n/**\n * Request parameters for getJobState operation in JobsApi.\n * @export\n * @interface JobsApiGetJobStateRequest\n */\nexport interface JobsApiGetJobStateRequest {\n  /**\n   * Specifies the ID of the session.\n   * @type {string}\n   * @memberof JobsApiGetJobState\n   */\n  readonly sessionId: string;\n\n  /**\n   * Specifies the ID of the job to return information for.\n   * @type {string}\n   * @memberof JobsApiGetJobState\n   */\n  readonly jobId: string;\n\n  /**\n   * Specifies the request time-out, in seconds. This parameter is ignored unless it is specified in combination with the &#x60;If-None-Match&#x60; header. If the state of the resource remains unchanged until the specified number of seconds has elapsed, then a status of 304 is returned. The request determines whether the current state matches the state when the ETag was specified via the &#x60;If-None-Match&#x60; header. If the state differs within the specified time period, then the new state is returned.\n   * @type {number}\n   * @memberof JobsApiGetJobState\n   */\n  readonly wait?: number;\n\n  /**\n   * Specifies the ETag that is associated with a value of the job state.\n   * @type {string}\n   * @memberof JobsApiGetJobState\n   */\n  readonly ifNoneMatch?: string;\n}\n\n/**\n * Request parameters for getJobs operation in JobsApi.\n * @export\n * @interface JobsApiGetJobsRequest\n */\nexport interface JobsApiGetJobsRequest {\n  /**\n   * Specifies the ID of the session.\n   * @type {string}\n   * @memberof JobsApiGetJobs\n   */\n  readonly sessionId: string;\n\n  /**\n   * Returns jobs that match the specified jobId.\n   * @type {string}\n   * @memberof JobsApiGetJobs\n   */\n  readonly jobId?: string;\n\n  /**\n   * Specifies the offset of the first job to return. The default value is \\&quot;0\\&quot;.\n   * @type {number}\n   * @memberof JobsApiGetJobs\n   */\n  readonly start?: number;\n\n  /**\n   * Specifies the maximum number of jobs to return. The default value is \\&quot;10\\&quot;.\n   * @type {number}\n   * @memberof JobsApiGetJobs\n   */\n  readonly limit?: number;\n\n  /**\n   * Specifies the filter criteria for returned jobs.\n   * @type {string}\n   * @memberof JobsApiGetJobs\n   */\n  readonly filter?: string;\n\n  /**\n   * Sorts returned jobs.\n   * @type {string}\n   * @memberof JobsApiGetJobs\n   */\n  readonly sortBy?: string;\n}\n\n/**\n * Request parameters for headersForJob operation in JobsApi.\n * @export\n * @interface JobsApiHeadersForJobRequest\n */\nexport interface JobsApiHeadersForJobRequest {\n  /**\n   * Specifies the ID of the session.\n   * @type {string}\n   * @memberof JobsApiHeadersForJob\n   */\n  readonly sessionId: string;\n\n  /**\n   * Specifies the ID of the job to query.\n   * @type {string}\n   * @memberof JobsApiHeadersForJob\n   */\n  readonly jobId: string;\n}\n\n/**\n * Request parameters for headersForJobState operation in JobsApi.\n * @export\n * @interface JobsApiHeadersForJobStateRequest\n */\nexport interface JobsApiHeadersForJobStateRequest {\n  /**\n   * Specifies the ID of the session.\n   * @type {string}\n   * @memberof JobsApiHeadersForJobState\n   */\n  readonly sessionId: string;\n\n  /**\n   * Specifies the ID of the job to return information for.\n   * @type {string}\n   * @memberof JobsApiHeadersForJobState\n   */\n  readonly jobId: string;\n\n  /**\n   * Specifies the request time-out, in seconds. This parameter is ignored unless it is specified in combination with the &#x60;If-None-Match&#x60; header. If the state of the resource remains unchanged until the specified number of seconds has elapsed, then a status of 304 is returned. The request determines whether the current state matches the state when the ETag was specified via the &#x60;If-None-Match&#x60; header. If the state differs within the specified time period, then the new state is returned.\n   * @type {number}\n   * @memberof JobsApiHeadersForJobState\n   */\n  readonly wait?: number;\n\n  /**\n   * Specifies the ETag that is associated with a value of the job state.\n   * @type {string}\n   * @memberof JobsApiHeadersForJobState\n   */\n  readonly ifNoneMatch?: string;\n}\n\n/**\n * Request parameters for headersForJobs operation in JobsApi.\n * @export\n * @interface JobsApiHeadersForJobsRequest\n */\nexport interface JobsApiHeadersForJobsRequest {\n  /**\n   * Specifies the ID of the session.\n   * @type {string}\n   * @memberof JobsApiHeadersForJobs\n   */\n  readonly sessionId: string;\n\n  /**\n   * Returns only jobs that match this jobId.\n   * @type {string}\n   * @memberof JobsApiHeadersForJobs\n   */\n  readonly jobId?: string;\n\n  /**\n   * Specifies the offset of the first job to return. The default value is \\&quot;0\\&quot;.\n   * @type {number}\n   * @memberof JobsApiHeadersForJobs\n   */\n  readonly start?: number;\n\n  /**\n   * Specifies the maximum number of jobs to return. The default value is \\&quot;10\\&quot;.\n   * @type {number}\n   * @memberof JobsApiHeadersForJobs\n   */\n  readonly limit?: number;\n\n  /**\n   * Specifies the filter criteria for returned jobs.\n   * @type {string}\n   * @memberof JobsApiHeadersForJobs\n   */\n  readonly filter?: string;\n\n  /**\n   * Sorts returned jobs.\n   * @type {string}\n   * @memberof JobsApiHeadersForJobs\n   */\n  readonly sortBy?: string;\n}\n\n/**\n * Request parameters for updateJobState operation in JobsApi.\n * @export\n * @interface JobsApiUpdateJobStateRequest\n */\nexport interface JobsApiUpdateJobStateRequest {\n  /**\n   * Specifies the ID of the session.\n   * @type {string}\n   * @memberof JobsApiUpdateJobState\n   */\n  readonly sessionId: string;\n\n  /**\n   * Specifies the ID of the job whose state you want to update.\n   * @type {string}\n   * @memberof JobsApiUpdateJobState\n   */\n  readonly jobId: string;\n\n  /**\n   * Specifies the new job state, such as canceled.\n   * @type {'canceled' | 'deleted'}\n   * @memberof JobsApiUpdateJobState\n   */\n  readonly value: \"canceled\" | \"deleted\";\n\n  /**\n   * Specifies the current ETag of the job being updated.\n   * @type {string}\n   * @memberof JobsApiUpdateJobState\n   */\n  readonly ifMatch: string;\n}\n\n/**\n * ListingsApi - axios parameter creator\n * @export\n */\nexport const ListingsApiAxiosParamCreator = function (\n  configuration?: Configuration,\n) {\n  return {\n    /**\n     * Retrieves the listing output associated with a job. A job listing is a subset of the session listing. Therefore, the first line of a job listing begins at a location (offset) within the session listing. This operation returns a collection in which each entry is of the type application/vnd.sas.compute.log.line.\n     * @summary Retrieve listing information for a job\n     * @param {string} sessionId Specifies the ID of the session.\n     * @param {string} jobId Specifies the ID of the job.\n     * @param {number} [start] Specifies the offset of the first item in the collection. The first line is at start&#x3D;0.\n     * @param {number} [limit] Specifies the number of items in this page.\n     * @param {string} [type] Restricts listing information to those entries whose type matches the query. Specify multiple types by separating them with a \\&#39;|\\&#39;. For example, you might specify ?type&#x3D;normal or ?type&#x3D;normal|hilighted.\n     * @param {number} [timeout] Specifies the request time-out in seconds.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    getJobListing: async (\n      sessionId: string,\n      jobId: string,\n      start?: number,\n      limit?: number,\n      type?: string,\n      timeout?: number,\n      options: AxiosRequestConfig = {},\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'sessionId' is not null or undefined\n      assertParamExists(\"getJobListing\", \"sessionId\", sessionId);\n      // verify required parameter 'jobId' is not null or undefined\n      assertParamExists(\"getJobListing\", \"jobId\", jobId);\n      const localVarPath = `/sessions/{sessionId}/jobs/{jobId}/listing`\n        .replace(`{${\"sessionId\"}}`, encodeURIComponent(String(sessionId)))\n        .replace(`{${\"jobId\"}}`, encodeURIComponent(String(jobId)));\n      // use dummy base URL string because the URL constructor only accepts absolute URLs.\n      const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n      let baseOptions;\n      if (configuration) {\n        baseOptions = configuration.baseOptions;\n      }\n\n      const localVarRequestOptions = {\n        method: \"GET\",\n        ...baseOptions,\n        ...options,\n      };\n      const localVarHeaderParameter = {} as any;\n      const localVarQueryParameter = {} as any;\n\n      if (start !== undefined) {\n        localVarQueryParameter[\"start\"] = start;\n      }\n\n      if (limit !== undefined) {\n        localVarQueryParameter[\"limit\"] = limit;\n      }\n\n      if (type !== undefined) {\n        localVarQueryParameter[\"type\"] = type;\n      }\n\n      if (timeout !== undefined) {\n        localVarQueryParameter[\"timeout\"] = timeout;\n      }\n\n      setSearchParams(localVarUrlObj, localVarQueryParameter);\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {};\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      };\n\n      return {\n        url: toPathString(localVarUrlObj),\n        options: localVarRequestOptions,\n      };\n    },\n    /**\n     * Retrieves the listing output associated with a job as text.\n     * @summary Retrieve listing information for a job as text.\n     * @param {string} sessionId Specifies the ID of the session.\n     * @param {string} jobId Specifies the ID of the job.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    getJobListingAsText: async (\n      sessionId: string,\n      jobId: string,\n      options: AxiosRequestConfig = {},\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'sessionId' is not null or undefined\n      assertParamExists(\"getJobListingAsText\", \"sessionId\", sessionId);\n      // verify required parameter 'jobId' is not null or undefined\n      assertParamExists(\"getJobListingAsText\", \"jobId\", jobId);\n      const localVarPath = `/sessions/{sessionId}/jobs/{jobId}/listing#asText`\n        .replace(`{${\"sessionId\"}}`, encodeURIComponent(String(sessionId)))\n        .replace(`{${\"jobId\"}}`, encodeURIComponent(String(jobId)));\n      // use dummy base URL string because the URL constructor only accepts absolute URLs.\n      const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n      let baseOptions;\n      if (configuration) {\n        baseOptions = configuration.baseOptions;\n      }\n\n      const localVarRequestOptions = {\n        method: \"GET\",\n        ...baseOptions,\n        ...options,\n      };\n      const localVarHeaderParameter = {} as any;\n      const localVarQueryParameter = {} as any;\n\n      setSearchParams(localVarUrlObj, localVarQueryParameter);\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {};\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      };\n\n      return {\n        url: toPathString(localVarUrlObj),\n        options: localVarRequestOptions,\n      };\n    },\n    /**\n     * Retrieves the listing output associated with a session. This operation returns a collection in which each entry is of the type application/vnd.sas.compute.log.line.\n     * @summary Retrieve listing information for a session\n     * @param {string} sessionId Specifies the ID of the session.\n     * @param {number} [start] Specifies the offset of the first item in the collection. The first line is at start&#x3D;0.\n     * @param {number} [limit] Specifies the number of items in this page.\n     * @param {string} [type] Restricts listing information to those entries whose type matches the query. Specify multiple types by separating them with a \\&#39;|\\&#39;. For example, you might specify ?type&#x3D;normal or ?type&#x3D;normal|hilighted.\n     * @param {number} [timeout] Specifies the request time-out in seconds.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    getSessionListing: async (\n      sessionId: string,\n      start?: number,\n      limit?: number,\n      type?: string,\n      timeout?: number,\n      options: AxiosRequestConfig = {},\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'sessionId' is not null or undefined\n      assertParamExists(\"getSessionListing\", \"sessionId\", sessionId);\n      const localVarPath = `/sessions/{sessionId}/listing`.replace(\n        `{${\"sessionId\"}}`,\n        encodeURIComponent(String(sessionId)),\n      );\n      // use dummy base URL string because the URL constructor only accepts absolute URLs.\n      const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n      let baseOptions;\n      if (configuration) {\n        baseOptions = configuration.baseOptions;\n      }\n\n      const localVarRequestOptions = {\n        method: \"GET\",\n        ...baseOptions,\n        ...options,\n      };\n      const localVarHeaderParameter = {} as any;\n      const localVarQueryParameter = {} as any;\n\n      if (start !== undefined) {\n        localVarQueryParameter[\"start\"] = start;\n      }\n\n      if (limit !== undefined) {\n        localVarQueryParameter[\"limit\"] = limit;\n      }\n\n      if (type !== undefined) {\n        localVarQueryParameter[\"type\"] = type;\n      }\n\n      if (timeout !== undefined) {\n        localVarQueryParameter[\"timeout\"] = timeout;\n      }\n\n      setSearchParams(localVarUrlObj, localVarQueryParameter);\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {};\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      };\n\n      return {\n        url: toPathString(localVarUrlObj),\n        options: localVarRequestOptions,\n      };\n    },\n    /**\n     * Retrieves the listing output associated with a session as text.\n     * @summary Retrieve listing information for a session as text.\n     * @param {string} sessionId Specifies the ID of the session.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    getSessionListingAsText: async (\n      sessionId: string,\n      options: AxiosRequestConfig = {},\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'sessionId' is not null or undefined\n      assertParamExists(\"getSessionListingAsText\", \"sessionId\", sessionId);\n      const localVarPath = `/sessions/{sessionId}/listing#asText`.replace(\n        `{${\"sessionId\"}}`,\n        encodeURIComponent(String(sessionId)),\n      );\n      // use dummy base URL string because the URL constructor only accepts absolute URLs.\n      const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n      let baseOptions;\n      if (configuration) {\n        baseOptions = configuration.baseOptions;\n      }\n\n      const localVarRequestOptions = {\n        method: \"GET\",\n        ...baseOptions,\n        ...options,\n      };\n      const localVarHeaderParameter = {} as any;\n      const localVarQueryParameter = {} as any;\n\n      setSearchParams(localVarUrlObj, localVarQueryParameter);\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {};\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      };\n\n      return {\n        url: toPathString(localVarUrlObj),\n        options: localVarRequestOptions,\n      };\n    },\n    /**\n     * Determines whether a job listing exists.\n     * @summary Check for a job listing\n     * @param {string} sessionId Specifies the ID of the session.\n     * @param {string} jobId Specifies the ID of the job.\n     * @param {number} [start] Specifies the offset of the first item in the collection.  The first line is at start&#x3D;0.\n     * @param {number} [limit] Specifies the number of items in this page.\n     * @param {string} [type] Restricts listing information to those entries whose type matches the query. Specify multiple types by separating them with a \\&#39;|\\&#39;. For example, you might specify ?type&#x3D;error or ?type&#x3D;error|warning.\n     * @param {number} [timeout] Specifies the request time-out in seconds.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    headersForJobListing: async (\n      sessionId: string,\n      jobId: string,\n      start?: number,\n      limit?: number,\n      type?: string,\n      timeout?: number,\n      options: AxiosRequestConfig = {},\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'sessionId' is not null or undefined\n      assertParamExists(\"headersForJobListing\", \"sessionId\", sessionId);\n      // verify required parameter 'jobId' is not null or undefined\n      assertParamExists(\"headersForJobListing\", \"jobId\", jobId);\n      const localVarPath = `/sessions/{sessionId}/jobs/{jobId}/listing`\n        .replace(`{${\"sessionId\"}}`, encodeURIComponent(String(sessionId)))\n        .replace(`{${\"jobId\"}}`, encodeURIComponent(String(jobId)));\n      // use dummy base URL string because the URL constructor only accepts absolute URLs.\n      const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n      let baseOptions;\n      if (configuration) {\n        baseOptions = configuration.baseOptions;\n      }\n\n      const localVarRequestOptions = {\n        method: \"HEAD\",\n        ...baseOptions,\n        ...options,\n      };\n      const localVarHeaderParameter = {} as any;\n      const localVarQueryParameter = {} as any;\n\n      if (start !== undefined) {\n        localVarQueryParameter[\"start\"] = start;\n      }\n\n      if (limit !== undefined) {\n        localVarQueryParameter[\"limit\"] = limit;\n      }\n\n      if (type !== undefined) {\n        localVarQueryParameter[\"type\"] = type;\n      }\n\n      if (timeout !== undefined) {\n        localVarQueryParameter[\"timeout\"] = timeout;\n      }\n\n      setSearchParams(localVarUrlObj, localVarQueryParameter);\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {};\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      };\n\n      return {\n        url: toPathString(localVarUrlObj),\n        options: localVarRequestOptions,\n      };\n    },\n    /**\n     * Determines whether a job listing exists as text.\n     * @summary Check for job listing as text\n     * @param {string} sessionId Specifies the ID of the session.\n     * @param {string} jobId Specifies the ID of the job.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    headersForJobListingAsText: async (\n      sessionId: string,\n      jobId: string,\n      options: AxiosRequestConfig = {},\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'sessionId' is not null or undefined\n      assertParamExists(\"headersForJobListingAsText\", \"sessionId\", sessionId);\n      // verify required parameter 'jobId' is not null or undefined\n      assertParamExists(\"headersForJobListingAsText\", \"jobId\", jobId);\n      const localVarPath = `/sessions/{sessionId}/jobs/{jobId}/listing#asText`\n        .replace(`{${\"sessionId\"}}`, encodeURIComponent(String(sessionId)))\n        .replace(`{${\"jobId\"}}`, encodeURIComponent(String(jobId)));\n      // use dummy base URL string because the URL constructor only accepts absolute URLs.\n      const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n      let baseOptions;\n      if (configuration) {\n        baseOptions = configuration.baseOptions;\n      }\n\n      const localVarRequestOptions = {\n        method: \"HEAD\",\n        ...baseOptions,\n        ...options,\n      };\n      const localVarHeaderParameter = {} as any;\n      const localVarQueryParameter = {} as any;\n\n      setSearchParams(localVarUrlObj, localVarQueryParameter);\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {};\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      };\n\n      return {\n        url: toPathString(localVarUrlObj),\n        options: localVarRequestOptions,\n      };\n    },\n    /**\n     * Determines whether a session listing is available.\n     * @summary Check for a session listing\n     * @param {string} sessionId Specifies the ID of the session.\n     * @param {number} [start] Specifies the offset of the first item in the collection. The first line is at start&#x3D;0.\n     * @param {number} [limit] Specifies the number of items in this page.\n     * @param {string} [type] Restricts listing information to those entries whose type matches the query. Specify multiple types by separating them with a \\&#39;|\\&#39;. For example, you might specify ?type&#x3D;error or ?type&#x3D;error|warning.\n     * @param {number} [timeout] Specifies the request time-out in seconds.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    headersForSessionListing: async (\n      sessionId: string,\n      start?: number,\n      limit?: number,\n      type?: string,\n      timeout?: number,\n      options: AxiosRequestConfig = {},\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'sessionId' is not null or undefined\n      assertParamExists(\"headersForSessionListing\", \"sessionId\", sessionId);\n      const localVarPath = `/sessions/{sessionId}/listing`.replace(\n        `{${\"sessionId\"}}`,\n        encodeURIComponent(String(sessionId)),\n      );\n      // use dummy base URL string because the URL constructor only accepts absolute URLs.\n      const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n      let baseOptions;\n      if (configuration) {\n        baseOptions = configuration.baseOptions;\n      }\n\n      const localVarRequestOptions = {\n        method: \"HEAD\",\n        ...baseOptions,\n        ...options,\n      };\n      const localVarHeaderParameter = {} as any;\n      const localVarQueryParameter = {} as any;\n\n      if (start !== undefined) {\n        localVarQueryParameter[\"start\"] = start;\n      }\n\n      if (limit !== undefined) {\n        localVarQueryParameter[\"limit\"] = limit;\n      }\n\n      if (type !== undefined) {\n        localVarQueryParameter[\"type\"] = type;\n      }\n\n      if (timeout !== undefined) {\n        localVarQueryParameter[\"timeout\"] = timeout;\n      }\n\n      setSearchParams(localVarUrlObj, localVarQueryParameter);\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {};\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      };\n\n      return {\n        url: toPathString(localVarUrlObj),\n        options: localVarRequestOptions,\n      };\n    },\n    /**\n     * Determines whether a session listing is available as text.\n     * @summary Check for session listing as text.\n     * @param {string} sessionId Specifies the ID of the session.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    headersForSessionListingAsText: async (\n      sessionId: string,\n      options: AxiosRequestConfig = {},\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'sessionId' is not null or undefined\n      assertParamExists(\n        \"headersForSessionListingAsText\",\n        \"sessionId\",\n        sessionId,\n      );\n      const localVarPath = `/sessions/{sessionId}/listing#asText`.replace(\n        `{${\"sessionId\"}}`,\n        encodeURIComponent(String(sessionId)),\n      );\n      // use dummy base URL string because the URL constructor only accepts absolute URLs.\n      const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n      let baseOptions;\n      if (configuration) {\n        baseOptions = configuration.baseOptions;\n      }\n\n      const localVarRequestOptions = {\n        method: \"HEAD\",\n        ...baseOptions,\n        ...options,\n      };\n      const localVarHeaderParameter = {} as any;\n      const localVarQueryParameter = {} as any;\n\n      setSearchParams(localVarUrlObj, localVarQueryParameter);\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {};\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      };\n\n      return {\n        url: toPathString(localVarUrlObj),\n        options: localVarRequestOptions,\n      };\n    },\n    /**\n     * Uploads job listing output to the Files service and returns the representation of the file resource containing the output. The file is created in one of two formats, based on the value of the property \\\"format\\\" specified in the post body. If \\\"collection\\\" is specified as the value of \\\"format\\\", the output file is rendered as application/vnd.sas.collection+json. If the format is specified as \\\"prefixedText\\\", the output is text/plain in which each line of output is prefixed with the name of the line type followed by a colon. In either case, all available output is returned; neither pagination nor filtering is supported.\n     * @summary Upload job listing output to the Files service\n     * @param {string} sessionId Specifies the ID of the session.\n     * @param {string} jobId Specifies the ID of the job.\n     * @param {OutputStreamFileRequest} outputStreamFileRequest Specifies the request to stream output to the Files service.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    streamJobListingAsFile: async (\n      sessionId: string,\n      jobId: string,\n      outputStreamFileRequest: OutputStreamFileRequest,\n      options: AxiosRequestConfig = {},\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'sessionId' is not null or undefined\n      assertParamExists(\"streamJobListingAsFile\", \"sessionId\", sessionId);\n      // verify required parameter 'jobId' is not null or undefined\n      assertParamExists(\"streamJobListingAsFile\", \"jobId\", jobId);\n      // verify required parameter 'outputStreamFileRequest' is not null or undefined\n      assertParamExists(\n        \"streamJobListingAsFile\",\n        \"outputStreamFileRequest\",\n        outputStreamFileRequest,\n      );\n      const localVarPath = `/sessions/{sessionId}/jobs/{jobId}/listing`\n        .replace(`{${\"sessionId\"}}`, encodeURIComponent(String(sessionId)))\n        .replace(`{${\"jobId\"}}`, encodeURIComponent(String(jobId)));\n      // use dummy base URL string because the URL constructor only accepts absolute URLs.\n      const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n      let baseOptions;\n      if (configuration) {\n        baseOptions = configuration.baseOptions;\n      }\n\n      const localVarRequestOptions = {\n        method: \"POST\",\n        ...baseOptions,\n        ...options,\n      };\n      const localVarHeaderParameter = {} as any;\n      const localVarQueryParameter = {} as any;\n\n      localVarHeaderParameter[\"Content-Type\"] =\n        \"application/vnd.sas.compute.output.stream.file.request+json\";\n\n      setSearchParams(localVarUrlObj, localVarQueryParameter);\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {};\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      };\n      localVarRequestOptions.data = serializeDataIfNeeded(\n        outputStreamFileRequest,\n        localVarRequestOptions,\n        configuration,\n      );\n\n      return {\n        url: toPathString(localVarUrlObj),\n        options: localVarRequestOptions,\n      };\n    },\n    /**\n     * Uploads session listing output to the Files service and returns the representation of the file resource containing the output. The file is created in one of two formats, based on the value of the property \\\"format\\\" specified in the post body. If \\\"collection\\\" is specified as the value of \\\"format\\\", the output file is rendered as application/vnd.sas.collection+json. If the format is specified as \\\"prefixedText\\\", the output is text/plain in which each line of output is prefixed with the name of the line type followed by a colon. In either case, all available output is returned; neither pagination nor filtering is supported.\n     * @summary Upload session listing output to the Files service\n     * @param {string} sessionId Specifies the ID of the session.\n     * @param {OutputStreamFileRequest} outputStreamFileRequest Specifies the request to stream output to the Files service.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    streamSessionListingAsFile: async (\n      sessionId: string,\n      outputStreamFileRequest: OutputStreamFileRequest,\n      options: AxiosRequestConfig = {},\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'sessionId' is not null or undefined\n      assertParamExists(\"streamSessionListingAsFile\", \"sessionId\", sessionId);\n      // verify required parameter 'outputStreamFileRequest' is not null or undefined\n      assertParamExists(\n        \"streamSessionListingAsFile\",\n        \"outputStreamFileRequest\",\n        outputStreamFileRequest,\n      );\n      const localVarPath = `/sessions/{sessionId}/listing`.replace(\n        `{${\"sessionId\"}}`,\n        encodeURIComponent(String(sessionId)),\n      );\n      // use dummy base URL string because the URL constructor only accepts absolute URLs.\n      const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n      let baseOptions;\n      if (configuration) {\n        baseOptions = configuration.baseOptions;\n      }\n\n      const localVarRequestOptions = {\n        method: \"POST\",\n        ...baseOptions,\n        ...options,\n      };\n      const localVarHeaderParameter = {} as any;\n      const localVarQueryParameter = {} as any;\n\n      localVarHeaderParameter[\"Content-Type\"] =\n        \"application/vnd.sas.compute.output.stream.file.request+json\";\n\n      setSearchParams(localVarUrlObj, localVarQueryParameter);\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {};\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      };\n      localVarRequestOptions.data = serializeDataIfNeeded(\n        outputStreamFileRequest,\n        localVarRequestOptions,\n        configuration,\n      );\n\n      return {\n        url: toPathString(localVarUrlObj),\n        options: localVarRequestOptions,\n      };\n    },\n  };\n};\n\n/**\n * ListingsApi - functional programming interface\n * @export\n */\nexport const ListingsApi = function (configuration?: Configuration) {\n  const localVarAxiosParamCreator = ListingsApiAxiosParamCreator(configuration);\n  return {\n    /**\n     * Retrieves the listing output associated with a job. A job listing is a subset of the session listing. Therefore, the first line of a job listing begins at a location (offset) within the session listing. This operation returns a collection in which each entry is of the type application/vnd.sas.compute.log.line.\n     * @summary Retrieve listing information for a job\n     * @param {ListingsApiGetJobListingRequest} requestParameters Request parameters.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async getJobListing(\n      requestParameters: ListingsApiGetJobListingRequest,\n      options?: AxiosRequestConfig,\n    ): Promise<AxiosResponse<JobListingCollection>> {\n      const localVarAxiosArgs = await localVarAxiosParamCreator.getJobListing(\n        requestParameters.sessionId,\n        requestParameters.jobId,\n        requestParameters.start,\n        requestParameters.limit,\n        requestParameters.type,\n        requestParameters.timeout,\n        options,\n      );\n      return createRequestFunction(localVarAxiosArgs, configuration);\n    },\n\n    /**\n     * Retrieves the listing output associated with a job as text.\n     * @summary Retrieve listing information for a job as text.\n     * @param {ListingsApiGetJobListingAsTextRequest} requestParameters Request parameters.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async getJobListingAsText(\n      requestParameters: ListingsApiGetJobListingAsTextRequest,\n      options?: AxiosRequestConfig,\n    ): Promise<AxiosResponse<void>> {\n      const localVarAxiosArgs =\n        await localVarAxiosParamCreator.getJobListingAsText(\n          requestParameters.sessionId,\n          requestParameters.jobId,\n          options,\n        );\n      return createRequestFunction(localVarAxiosArgs, configuration);\n    },\n\n    /**\n     * Retrieves the listing output associated with a session. This operation returns a collection in which each entry is of the type application/vnd.sas.compute.log.line.\n     * @summary Retrieve listing information for a session\n     * @param {ListingsApiGetSessionListingRequest} requestParameters Request parameters.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async getSessionListing(\n      requestParameters: ListingsApiGetSessionListingRequest,\n      options?: AxiosRequestConfig,\n    ): Promise<AxiosResponse<SessionListingCollection>> {\n      const localVarAxiosArgs =\n        await localVarAxiosParamCreator.getSessionListing(\n          requestParameters.sessionId,\n          requestParameters.start,\n          requestParameters.limit,\n          requestParameters.type,\n          requestParameters.timeout,\n          options,\n        );\n      return createRequestFunction(localVarAxiosArgs, configuration);\n    },\n\n    /**\n     * Retrieves the listing output associated with a session as text.\n     * @summary Retrieve listing information for a session as text.\n     * @param {ListingsApiGetSessionListingAsTextRequest} requestParameters Request parameters.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async getSessionListingAsText(\n      requestParameters: ListingsApiGetSessionListingAsTextRequest,\n      options?: AxiosRequestConfig,\n    ): Promise<AxiosResponse<void>> {\n      const localVarAxiosArgs =\n        await localVarAxiosParamCreator.getSessionListingAsText(\n          requestParameters.sessionId,\n          options,\n        );\n      return createRequestFunction(localVarAxiosArgs, configuration);\n    },\n\n    /**\n     * Determines whether a job listing exists.\n     * @summary Check for a job listing\n     * @param {ListingsApiHeadersForJobListingRequest} requestParameters Request parameters.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async headersForJobListing(\n      requestParameters: ListingsApiHeadersForJobListingRequest,\n      options?: AxiosRequestConfig,\n    ): Promise<AxiosResponse<void>> {\n      const localVarAxiosArgs =\n        await localVarAxiosParamCreator.headersForJobListing(\n          requestParameters.sessionId,\n          requestParameters.jobId,\n          requestParameters.start,\n          requestParameters.limit,\n          requestParameters.type,\n          requestParameters.timeout,\n          options,\n        );\n      return createRequestFunction(localVarAxiosArgs, configuration);\n    },\n\n    /**\n     * Determines whether a job listing exists as text.\n     * @summary Check for job listing as text\n     * @param {ListingsApiHeadersForJobListingAsTextRequest} requestParameters Request parameters.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async headersForJobListingAsText(\n      requestParameters: ListingsApiHeadersForJobListingAsTextRequest,\n      options?: AxiosRequestConfig,\n    ): Promise<AxiosResponse<void>> {\n      const localVarAxiosArgs =\n        await localVarAxiosParamCreator.headersForJobListingAsText(\n          requestParameters.sessionId,\n          requestParameters.jobId,\n          options,\n        );\n      return createRequestFunction(localVarAxiosArgs, configuration);\n    },\n\n    /**\n     * Determines whether a session listing is available.\n     * @summary Check for a session listing\n     * @param {ListingsApiHeadersForSessionListingRequest} requestParameters Request parameters.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async headersForSessionListing(\n      requestParameters: ListingsApiHeadersForSessionListingRequest,\n      options?: AxiosRequestConfig,\n    ): Promise<AxiosResponse<void>> {\n      const localVarAxiosArgs =\n        await localVarAxiosParamCreator.headersForSessionListing(\n          requestParameters.sessionId,\n          requestParameters.start,\n          requestParameters.limit,\n          requestParameters.type,\n          requestParameters.timeout,\n          options,\n        );\n      return createRequestFunction(localVarAxiosArgs, configuration);\n    },\n\n    /**\n     * Determines whether a session listing is available as text.\n     * @summary Check for session listing as text.\n     * @param {ListingsApiHeadersForSessionListingAsTextRequest} requestParameters Request parameters.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async headersForSessionListingAsText(\n      requestParameters: ListingsApiHeadersForSessionListingAsTextRequest,\n      options?: AxiosRequestConfig,\n    ): Promise<AxiosResponse<void>> {\n      const localVarAxiosArgs =\n        await localVarAxiosParamCreator.headersForSessionListingAsText(\n          requestParameters.sessionId,\n          options,\n        );\n      return createRequestFunction(localVarAxiosArgs, configuration);\n    },\n\n    /**\n     * Uploads job listing output to the Files service and returns the representation of the file resource containing the output. The file is created in one of two formats, based on the value of the property \\\"format\\\" specified in the post body. If \\\"collection\\\" is specified as the value of \\\"format\\\", the output file is rendered as application/vnd.sas.collection+json. If the format is specified as \\\"prefixedText\\\", the output is text/plain in which each line of output is prefixed with the name of the line type followed by a colon. In either case, all available output is returned; neither pagination nor filtering is supported.\n     * @summary Upload job listing output to the Files service\n     * @param {ListingsApiStreamJobListingAsFileRequest} requestParameters Request parameters.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async streamJobListingAsFile(\n      requestParameters: ListingsApiStreamJobListingAsFileRequest,\n      options?: AxiosRequestConfig,\n    ): Promise<AxiosResponse<FileResource>> {\n      const localVarAxiosArgs =\n        await localVarAxiosParamCreator.streamJobListingAsFile(\n          requestParameters.sessionId,\n          requestParameters.jobId,\n          requestParameters.outputStreamFileRequest,\n          options,\n        );\n      return createRequestFunction(localVarAxiosArgs, configuration);\n    },\n\n    /**\n     * Uploads session listing output to the Files service and returns the representation of the file resource containing the output. The file is created in one of two formats, based on the value of the property \\\"format\\\" specified in the post body. If \\\"collection\\\" is specified as the value of \\\"format\\\", the output file is rendered as application/vnd.sas.collection+json. If the format is specified as \\\"prefixedText\\\", the output is text/plain in which each line of output is prefixed with the name of the line type followed by a colon. In either case, all available output is returned; neither pagination nor filtering is supported.\n     * @summary Upload session listing output to the Files service\n     * @param {ListingsApiStreamSessionListingAsFileRequest} requestParameters Request parameters.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async streamSessionListingAsFile(\n      requestParameters: ListingsApiStreamSessionListingAsFileRequest,\n      options?: AxiosRequestConfig,\n    ): Promise<AxiosResponse<FileResource>> {\n      const localVarAxiosArgs =\n        await localVarAxiosParamCreator.streamSessionListingAsFile(\n          requestParameters.sessionId,\n          requestParameters.outputStreamFileRequest,\n          options,\n        );\n      return createRequestFunction(localVarAxiosArgs, configuration);\n    },\n  };\n};\n\n/**\n * Request parameters for getJobListing operation in ListingsApi.\n * @export\n * @interface ListingsApiGetJobListingRequest\n */\nexport interface ListingsApiGetJobListingRequest {\n  /**\n   * Specifies the ID of the session.\n   * @type {string}\n   * @memberof ListingsApiGetJobListing\n   */\n  readonly sessionId: string;\n\n  /**\n   * Specifies the ID of the job.\n   * @type {string}\n   * @memberof ListingsApiGetJobListing\n   */\n  readonly jobId: string;\n\n  /**\n   * Specifies the offset of the first item in the collection. The first line is at start&#x3D;0.\n   * @type {number}\n   * @memberof ListingsApiGetJobListing\n   */\n  readonly start?: number;\n\n  /**\n   * Specifies the number of items in this page.\n   * @type {number}\n   * @memberof ListingsApiGetJobListing\n   */\n  readonly limit?: number;\n\n  /**\n   * Restricts listing information to those entries whose type matches the query. Specify multiple types by separating them with a \\&#39;|\\&#39;. For example, you might specify ?type&#x3D;normal or ?type&#x3D;normal|hilighted.\n   * @type {string}\n   * @memberof ListingsApiGetJobListing\n   */\n  readonly type?: string;\n\n  /**\n   * Specifies the request time-out in seconds.\n   * @type {number}\n   * @memberof ListingsApiGetJobListing\n   */\n  readonly timeout?: number;\n}\n\n/**\n * Request parameters for getJobListingAsText operation in ListingsApi.\n * @export\n * @interface ListingsApiGetJobListingAsTextRequest\n */\nexport interface ListingsApiGetJobListingAsTextRequest {\n  /**\n   * Specifies the ID of the session.\n   * @type {string}\n   * @memberof ListingsApiGetJobListingAsText\n   */\n  readonly sessionId: string;\n\n  /**\n   * Specifies the ID of the job.\n   * @type {string}\n   * @memberof ListingsApiGetJobListingAsText\n   */\n  readonly jobId: string;\n}\n\n/**\n * Request parameters for getSessionListing operation in ListingsApi.\n * @export\n * @interface ListingsApiGetSessionListingRequest\n */\nexport interface ListingsApiGetSessionListingRequest {\n  /**\n   * Specifies the ID of the session.\n   * @type {string}\n   * @memberof ListingsApiGetSessionListing\n   */\n  readonly sessionId: string;\n\n  /**\n   * Specifies the offset of the first item in the collection. The first line is at start&#x3D;0.\n   * @type {number}\n   * @memberof ListingsApiGetSessionListing\n   */\n  readonly start?: number;\n\n  /**\n   * Specifies the number of items in this page.\n   * @type {number}\n   * @memberof ListingsApiGetSessionListing\n   */\n  readonly limit?: number;\n\n  /**\n   * Restricts listing information to those entries whose type matches the query. Specify multiple types by separating them with a \\&#39;|\\&#39;. For example, you might specify ?type&#x3D;normal or ?type&#x3D;normal|hilighted.\n   * @type {string}\n   * @memberof ListingsApiGetSessionListing\n   */\n  readonly type?: string;\n\n  /**\n   * Specifies the request time-out in seconds.\n   * @type {number}\n   * @memberof ListingsApiGetSessionListing\n   */\n  readonly timeout?: number;\n}\n\n/**\n * Request parameters for getSessionListingAsText operation in ListingsApi.\n * @export\n * @interface ListingsApiGetSessionListingAsTextRequest\n */\nexport interface ListingsApiGetSessionListingAsTextRequest {\n  /**\n   * Specifies the ID of the session.\n   * @type {string}\n   * @memberof ListingsApiGetSessionListingAsText\n   */\n  readonly sessionId: string;\n}\n\n/**\n * Request parameters for headersForJobListing operation in ListingsApi.\n * @export\n * @interface ListingsApiHeadersForJobListingRequest\n */\nexport interface ListingsApiHeadersForJobListingRequest {\n  /**\n   * Specifies the ID of the session.\n   * @type {string}\n   * @memberof ListingsApiHeadersForJobListing\n   */\n  readonly sessionId: string;\n\n  /**\n   * Specifies the ID of the job.\n   * @type {string}\n   * @memberof ListingsApiHeadersForJobListing\n   */\n  readonly jobId: string;\n\n  /**\n   * Specifies the offset of the first item in the collection.  The first line is at start&#x3D;0.\n   * @type {number}\n   * @memberof ListingsApiHeadersForJobListing\n   */\n  readonly start?: number;\n\n  /**\n   * Specifies the number of items in this page.\n   * @type {number}\n   * @memberof ListingsApiHeadersForJobListing\n   */\n  readonly limit?: number;\n\n  /**\n   * Restricts listing information to those entries whose type matches the query. Specify multiple types by separating them with a \\&#39;|\\&#39;. For example, you might specify ?type&#x3D;error or ?type&#x3D;error|warning.\n   * @type {string}\n   * @memberof ListingsApiHeadersForJobListing\n   */\n  readonly type?: string;\n\n  /**\n   * Specifies the request time-out in seconds.\n   * @type {number}\n   * @memberof ListingsApiHeadersForJobListing\n   */\n  readonly timeout?: number;\n}\n\n/**\n * Request parameters for headersForJobListingAsText operation in ListingsApi.\n * @export\n * @interface ListingsApiHeadersForJobListingAsTextRequest\n */\nexport interface ListingsApiHeadersForJobListingAsTextRequest {\n  /**\n   * Specifies the ID of the session.\n   * @type {string}\n   * @memberof ListingsApiHeadersForJobListingAsText\n   */\n  readonly sessionId: string;\n\n  /**\n   * Specifies the ID of the job.\n   * @type {string}\n   * @memberof ListingsApiHeadersForJobListingAsText\n   */\n  readonly jobId: string;\n}\n\n/**\n * Request parameters for headersForSessionListing operation in ListingsApi.\n * @export\n * @interface ListingsApiHeadersForSessionListingRequest\n */\nexport interface ListingsApiHeadersForSessionListingRequest {\n  /**\n   * Specifies the ID of the session.\n   * @type {string}\n   * @memberof ListingsApiHeadersForSessionListing\n   */\n  readonly sessionId: string;\n\n  /**\n   * Specifies the offset of the first item in the collection. The first line is at start&#x3D;0.\n   * @type {number}\n   * @memberof ListingsApiHeadersForSessionListing\n   */\n  readonly start?: number;\n\n  /**\n   * Specifies the number of items in this page.\n   * @type {number}\n   * @memberof ListingsApiHeadersForSessionListing\n   */\n  readonly limit?: number;\n\n  /**\n   * Restricts listing information to those entries whose type matches the query. Specify multiple types by separating them with a \\&#39;|\\&#39;. For example, you might specify ?type&#x3D;error or ?type&#x3D;error|warning.\n   * @type {string}\n   * @memberof ListingsApiHeadersForSessionListing\n   */\n  readonly type?: string;\n\n  /**\n   * Specifies the request time-out in seconds.\n   * @type {number}\n   * @memberof ListingsApiHeadersForSessionListing\n   */\n  readonly timeout?: number;\n}\n\n/**\n * Request parameters for headersForSessionListingAsText operation in ListingsApi.\n * @export\n * @interface ListingsApiHeadersForSessionListingAsTextRequest\n */\nexport interface ListingsApiHeadersForSessionListingAsTextRequest {\n  /**\n   * Specifies the ID of the session.\n   * @type {string}\n   * @memberof ListingsApiHeadersForSessionListingAsText\n   */\n  readonly sessionId: string;\n}\n\n/**\n * Request parameters for streamJobListingAsFile operation in ListingsApi.\n * @export\n * @interface ListingsApiStreamJobListingAsFileRequest\n */\nexport interface ListingsApiStreamJobListingAsFileRequest {\n  /**\n   * Specifies the ID of the session.\n   * @type {string}\n   * @memberof ListingsApiStreamJobListingAsFile\n   */\n  readonly sessionId: string;\n\n  /**\n   * Specifies the ID of the job.\n   * @type {string}\n   * @memberof ListingsApiStreamJobListingAsFile\n   */\n  readonly jobId: string;\n\n  /**\n   * Specifies the request to stream output to the Files service.\n   * @type {OutputStreamFileRequest}\n   * @memberof ListingsApiStreamJobListingAsFile\n   */\n  readonly outputStreamFileRequest: OutputStreamFileRequest;\n}\n\n/**\n * Request parameters for streamSessionListingAsFile operation in ListingsApi.\n * @export\n * @interface ListingsApiStreamSessionListingAsFileRequest\n */\nexport interface ListingsApiStreamSessionListingAsFileRequest {\n  /**\n   * Specifies the ID of the session.\n   * @type {string}\n   * @memberof ListingsApiStreamSessionListingAsFile\n   */\n  readonly sessionId: string;\n\n  /**\n   * Specifies the request to stream output to the Files service.\n   * @type {OutputStreamFileRequest}\n   * @memberof ListingsApiStreamSessionListingAsFile\n   */\n  readonly outputStreamFileRequest: OutputStreamFileRequest;\n}\n\n/**\n * LogsApi - axios parameter creator\n * @export\n */\nexport const LogsApiAxiosParamCreator = function (\n  configuration?: Configuration,\n) {\n  return {\n    /**\n     * Retrieves the log output associated with a job. A job log is a subset of the session log. Therefore, the first line of a job log begins at a location (offset) within the session log. This operation returns a collection in which each entry is of the type application/vnd.sas.compute.log.line.\n     * @summary Retrieve a job log\n     * @param {string} sessionId Specifies the ID of the session.\n     * @param {string} jobId Specifies the ID of the job.\n     * @param {number} [start] Specifies the offset of the first item in a collection. The first line is at start&#x3D;0.\n     * @param {number} [limit] Specifies the number of items in a page.\n     * @param {string} [type] Restricts log collection to those entries with a specified type. Specify multiple types in a query by separating them with a \\&#39;|\\&#39;.  For example, you might specify ?type&#x3D;error or ?type&#x3D;error|warning.\n     * @param {number} [timeout] Specifies the request time-out in seconds. If no log lines are available over this time period, an empty collection is returned.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    getJobLog: async (\n      sessionId: string,\n      jobId: string,\n      start?: number,\n      limit?: number,\n      type?: string,\n      timeout?: number,\n      options: AxiosRequestConfig = {},\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'sessionId' is not null or undefined\n      assertParamExists(\"getJobLog\", \"sessionId\", sessionId);\n      // verify required parameter 'jobId' is not null or undefined\n      assertParamExists(\"getJobLog\", \"jobId\", jobId);\n      const localVarPath = `/sessions/{sessionId}/jobs/{jobId}/log`\n        .replace(`{${\"sessionId\"}}`, encodeURIComponent(String(sessionId)))\n        .replace(`{${\"jobId\"}}`, encodeURIComponent(String(jobId)));\n      // use dummy base URL string because the URL constructor only accepts absolute URLs.\n      const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n      let baseOptions;\n      if (configuration) {\n        baseOptions = configuration.baseOptions;\n      }\n\n      const localVarRequestOptions = {\n        method: \"GET\",\n        ...baseOptions,\n        ...options,\n      };\n      const localVarHeaderParameter = {} as any;\n      const localVarQueryParameter = {} as any;\n\n      if (start !== undefined) {\n        localVarQueryParameter[\"start\"] = start;\n      }\n\n      if (limit !== undefined) {\n        localVarQueryParameter[\"limit\"] = limit;\n      }\n\n      if (type !== undefined) {\n        localVarQueryParameter[\"type\"] = type;\n      }\n\n      if (timeout !== undefined) {\n        localVarQueryParameter[\"timeout\"] = timeout;\n      }\n\n      setSearchParams(localVarUrlObj, localVarQueryParameter);\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {};\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      };\n\n      return {\n        url: toPathString(localVarUrlObj),\n        options: localVarRequestOptions,\n      };\n    },\n    /**\n     * Retrieves the entire log output associated with a job as text.\n     * @summary Retrieve a job log as text.\n     * @param {string} sessionId Specifies the ID of the session.\n     * @param {string} jobId Specifies the ID of the job.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    getJobLogAsText: async (\n      sessionId: string,\n      jobId: string,\n      options: AxiosRequestConfig = {},\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'sessionId' is not null or undefined\n      assertParamExists(\"getJobLogAsText\", \"sessionId\", sessionId);\n      // verify required parameter 'jobId' is not null or undefined\n      assertParamExists(\"getJobLogAsText\", \"jobId\", jobId);\n      const localVarPath = `/sessions/{sessionId}/jobs/{jobId}/log#asText`\n        .replace(`{${\"sessionId\"}}`, encodeURIComponent(String(sessionId)))\n        .replace(`{${\"jobId\"}}`, encodeURIComponent(String(jobId)));\n      // use dummy base URL string because the URL constructor only accepts absolute URLs.\n      const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n      let baseOptions;\n      if (configuration) {\n        baseOptions = configuration.baseOptions;\n      }\n\n      const localVarRequestOptions = {\n        method: \"GET\",\n        ...baseOptions,\n        ...options,\n      };\n      const localVarHeaderParameter = {} as any;\n      const localVarQueryParameter = {} as any;\n\n      setSearchParams(localVarUrlObj, localVarQueryParameter);\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {};\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      };\n\n      return {\n        url: toPathString(localVarUrlObj),\n        options: localVarRequestOptions,\n      };\n    },\n    /**\n     * Retrieves the log output associated with a session. This operation returns a collection in which each entry is of the type application/vnd.sas.compute.log.line.\n     * @summary Retrieve a session log\n     * @param {string} sessionId Specifies the ID of the session.\n     * @param {number} [start] Specifies the offset of the first item in the collection. The first line is at start&#x3D;0.\n     * @param {number} [limit] Specifies the number of items in this page.\n     * @param {string} [type] Restricts the log collection to those entries whose type matches the query. Specify multiple types by separating them with a \\&#39;|\\&#39;. For example, you might specify ?type&#x3D;error or ?type&#x3D;error|warning.\n     * @param {number} [timeout] Specifies the request time-out in seconds.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    getSessionLog: async (\n      sessionId: string,\n      start?: number,\n      limit?: number,\n      type?: string,\n      timeout?: number,\n      options: AxiosRequestConfig = {},\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'sessionId' is not null or undefined\n      assertParamExists(\"getSessionLog\", \"sessionId\", sessionId);\n      const localVarPath = `/sessions/{sessionId}/log`.replace(\n        `{${\"sessionId\"}}`,\n        encodeURIComponent(String(sessionId)),\n      );\n      // use dummy base URL string because the URL constructor only accepts absolute URLs.\n      const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n      let baseOptions;\n      if (configuration) {\n        baseOptions = configuration.baseOptions;\n      }\n\n      const localVarRequestOptions = {\n        method: \"GET\",\n        ...baseOptions,\n        ...options,\n      };\n      const localVarHeaderParameter = {} as any;\n      const localVarQueryParameter = {} as any;\n\n      if (start !== undefined) {\n        localVarQueryParameter[\"start\"] = start;\n      }\n\n      if (limit !== undefined) {\n        localVarQueryParameter[\"limit\"] = limit;\n      }\n\n      if (type !== undefined) {\n        localVarQueryParameter[\"type\"] = type;\n      }\n\n      if (timeout !== undefined) {\n        localVarQueryParameter[\"timeout\"] = timeout;\n      }\n\n      setSearchParams(localVarUrlObj, localVarQueryParameter);\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {};\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      };\n\n      return {\n        url: toPathString(localVarUrlObj),\n        options: localVarRequestOptions,\n      };\n    },\n    /**\n     * Retrieves the log output associated with a session as text.\n     * @summary Retrieve a session log as text.\n     * @param {string} sessionId Specifies the ID of the session.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    getSessionLogAsText: async (\n      sessionId: string,\n      options: AxiosRequestConfig = {},\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'sessionId' is not null or undefined\n      assertParamExists(\"getSessionLogAsText\", \"sessionId\", sessionId);\n      const localVarPath = `/sessions/{sessionId}/log#asText`.replace(\n        `{${\"sessionId\"}}`,\n        encodeURIComponent(String(sessionId)),\n      );\n      // use dummy base URL string because the URL constructor only accepts absolute URLs.\n      const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n      let baseOptions;\n      if (configuration) {\n        baseOptions = configuration.baseOptions;\n      }\n\n      const localVarRequestOptions = {\n        method: \"GET\",\n        ...baseOptions,\n        ...options,\n      };\n      const localVarHeaderParameter = {} as any;\n      const localVarQueryParameter = {} as any;\n\n      setSearchParams(localVarUrlObj, localVarQueryParameter);\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {};\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      };\n\n      return {\n        url: toPathString(localVarUrlObj),\n        options: localVarRequestOptions,\n      };\n    },\n    /**\n     * Determines whether there is currently a log for a job.\n     * @summary Check job log availability\n     * @param {string} sessionId Specifies the ID of the session.\n     * @param {string} jobId Specifies the ID of the job.\n     * @param {number} [start] Specifies the offset of the first item in the collection. The first line is at start&#x3D;0.\n     * @param {number} [limit] Specifies the number of items in this page.\n     * @param {string} [type] Restricts a log collection to those entries whose type matches the query. Specify multiple types by separating them with a \\&#39;|\\&#39;.  For example, you might specify ?type&#x3D;error or ?type&#x3D;error|warning.\n     * @param {number} [timeout] Specifies the request time-out in seconds. If no log lines are available in this time period, an empty collection is returned.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    headersForJobLog: async (\n      sessionId: string,\n      jobId: string,\n      start?: number,\n      limit?: number,\n      type?: string,\n      timeout?: number,\n      options: AxiosRequestConfig = {},\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'sessionId' is not null or undefined\n      assertParamExists(\"headersForJobLog\", \"sessionId\", sessionId);\n      // verify required parameter 'jobId' is not null or undefined\n      assertParamExists(\"headersForJobLog\", \"jobId\", jobId);\n      const localVarPath = `/sessions/{sessionId}/jobs/{jobId}/log`\n        .replace(`{${\"sessionId\"}}`, encodeURIComponent(String(sessionId)))\n        .replace(`{${\"jobId\"}}`, encodeURIComponent(String(jobId)));\n      // use dummy base URL string because the URL constructor only accepts absolute URLs.\n      const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n      let baseOptions;\n      if (configuration) {\n        baseOptions = configuration.baseOptions;\n      }\n\n      const localVarRequestOptions = {\n        method: \"HEAD\",\n        ...baseOptions,\n        ...options,\n      };\n      const localVarHeaderParameter = {} as any;\n      const localVarQueryParameter = {} as any;\n\n      if (start !== undefined) {\n        localVarQueryParameter[\"start\"] = start;\n      }\n\n      if (limit !== undefined) {\n        localVarQueryParameter[\"limit\"] = limit;\n      }\n\n      if (type !== undefined) {\n        localVarQueryParameter[\"type\"] = type;\n      }\n\n      if (timeout !== undefined) {\n        localVarQueryParameter[\"timeout\"] = timeout;\n      }\n\n      setSearchParams(localVarUrlObj, localVarQueryParameter);\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {};\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      };\n\n      return {\n        url: toPathString(localVarUrlObj),\n        options: localVarRequestOptions,\n      };\n    },\n    /**\n     * Determines whether there is currently a log for a job as text.\n     * @summary Check for job log as text\n     * @param {string} sessionId Specifies the ID of the session.\n     * @param {string} jobId Specifies the ID of the job.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    headersForJobLogAsText: async (\n      sessionId: string,\n      jobId: string,\n      options: AxiosRequestConfig = {},\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'sessionId' is not null or undefined\n      assertParamExists(\"headersForJobLogAsText\", \"sessionId\", sessionId);\n      // verify required parameter 'jobId' is not null or undefined\n      assertParamExists(\"headersForJobLogAsText\", \"jobId\", jobId);\n      const localVarPath = `/sessions/{sessionId}/jobs/{jobId}/log#asText`\n        .replace(`{${\"sessionId\"}}`, encodeURIComponent(String(sessionId)))\n        .replace(`{${\"jobId\"}}`, encodeURIComponent(String(jobId)));\n      // use dummy base URL string because the URL constructor only accepts absolute URLs.\n      const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n      let baseOptions;\n      if (configuration) {\n        baseOptions = configuration.baseOptions;\n      }\n\n      const localVarRequestOptions = {\n        method: \"HEAD\",\n        ...baseOptions,\n        ...options,\n      };\n      const localVarHeaderParameter = {} as any;\n      const localVarQueryParameter = {} as any;\n\n      setSearchParams(localVarUrlObj, localVarQueryParameter);\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {};\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      };\n\n      return {\n        url: toPathString(localVarUrlObj),\n        options: localVarRequestOptions,\n      };\n    },\n    /**\n     * Determines whether the session has a log available.\n     * @summary Check for a session log\n     * @param {string} sessionId Specifies the ID of the session.\n     * @param {number} [start] Specifies the offset of the first item in the collection. The first line is at start&#x3D;0.\n     * @param {number} [limit] Specifies the number of items in this page.\n     * @param {string} [type] Restricts log collection to those entries whose type matches the query. Specify multiple types by separating them with a \\&#39;|\\&#39;. For example, you might specify ?type&#x3D;error or ?type&#x3D;error|warning.\n     * @param {number} [timeout] Specifies the request time-out in seconds.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    headersForSessionLog: async (\n      sessionId: string,\n      start?: number,\n      limit?: number,\n      type?: string,\n      timeout?: number,\n      options: AxiosRequestConfig = {},\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'sessionId' is not null or undefined\n      assertParamExists(\"headersForSessionLog\", \"sessionId\", sessionId);\n      const localVarPath = `/sessions/{sessionId}/log`.replace(\n        `{${\"sessionId\"}}`,\n        encodeURIComponent(String(sessionId)),\n      );\n      // use dummy base URL string because the URL constructor only accepts absolute URLs.\n      const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n      let baseOptions;\n      if (configuration) {\n        baseOptions = configuration.baseOptions;\n      }\n\n      const localVarRequestOptions = {\n        method: \"HEAD\",\n        ...baseOptions,\n        ...options,\n      };\n      const localVarHeaderParameter = {} as any;\n      const localVarQueryParameter = {} as any;\n\n      if (start !== undefined) {\n        localVarQueryParameter[\"start\"] = start;\n      }\n\n      if (limit !== undefined) {\n        localVarQueryParameter[\"limit\"] = limit;\n      }\n\n      if (type !== undefined) {\n        localVarQueryParameter[\"type\"] = type;\n      }\n\n      if (timeout !== undefined) {\n        localVarQueryParameter[\"timeout\"] = timeout;\n      }\n\n      setSearchParams(localVarUrlObj, localVarQueryParameter);\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {};\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      };\n\n      return {\n        url: toPathString(localVarUrlObj),\n        options: localVarRequestOptions,\n      };\n    },\n    /**\n     * Determines whether the session has a log available as text.\n     * @summary Check for session log as text.\n     * @param {string} sessionId Specifies the ID of the session.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    headersForSessionLogAsText: async (\n      sessionId: string,\n      options: AxiosRequestConfig = {},\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'sessionId' is not null or undefined\n      assertParamExists(\"headersForSessionLogAsText\", \"sessionId\", sessionId);\n      const localVarPath = `/sessions/{sessionId}/log#asText`.replace(\n        `{${\"sessionId\"}}`,\n        encodeURIComponent(String(sessionId)),\n      );\n      // use dummy base URL string because the URL constructor only accepts absolute URLs.\n      const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n      let baseOptions;\n      if (configuration) {\n        baseOptions = configuration.baseOptions;\n      }\n\n      const localVarRequestOptions = {\n        method: \"HEAD\",\n        ...baseOptions,\n        ...options,\n      };\n      const localVarHeaderParameter = {} as any;\n      const localVarQueryParameter = {} as any;\n\n      setSearchParams(localVarUrlObj, localVarQueryParameter);\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {};\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      };\n\n      return {\n        url: toPathString(localVarUrlObj),\n        options: localVarRequestOptions,\n      };\n    },\n    /**\n     * Uploads job log output to the Files service and returns the representation of the file resource containing the output. The file is created in one of two formats, based on the value of the property \\\"format\\\" specified in the post body. If \\\"collection\\\" is specified as the value of \\\"format\\\", the output file is rendered as application/vnd.sas.collection+json. If the format is specified as \\\"prefixedText\\\", the output is text/plain in which each line of output is prefixed with the name of the line type followed by a colon. In either case, all available output is returned; neither pagination nor filtering is supported.\n     * @summary Upload job log output to the Files service\n     * @param {string} sessionId Specifies the ID of the session.\n     * @param {string} jobId Specifies the ID of the job.\n     * @param {OutputStreamFileRequest} outputStreamFileRequest Specifies the request to stream output to the Files service.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    streamJobLogAsFile: async (\n      sessionId: string,\n      jobId: string,\n      outputStreamFileRequest: OutputStreamFileRequest,\n      options: AxiosRequestConfig = {},\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'sessionId' is not null or undefined\n      assertParamExists(\"streamJobLogAsFile\", \"sessionId\", sessionId);\n      // verify required parameter 'jobId' is not null or undefined\n      assertParamExists(\"streamJobLogAsFile\", \"jobId\", jobId);\n      // verify required parameter 'outputStreamFileRequest' is not null or undefined\n      assertParamExists(\n        \"streamJobLogAsFile\",\n        \"outputStreamFileRequest\",\n        outputStreamFileRequest,\n      );\n      const localVarPath = `/sessions/{sessionId}/jobs/{jobId}/log`\n        .replace(`{${\"sessionId\"}}`, encodeURIComponent(String(sessionId)))\n        .replace(`{${\"jobId\"}}`, encodeURIComponent(String(jobId)));\n      // use dummy base URL string because the URL constructor only accepts absolute URLs.\n      const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n      let baseOptions;\n      if (configuration) {\n        baseOptions = configuration.baseOptions;\n      }\n\n      const localVarRequestOptions = {\n        method: \"POST\",\n        ...baseOptions,\n        ...options,\n      };\n      const localVarHeaderParameter = {} as any;\n      const localVarQueryParameter = {} as any;\n\n      localVarHeaderParameter[\"Content-Type\"] =\n        \"application/vnd.sas.compute.output.stream.file.request+json\";\n\n      setSearchParams(localVarUrlObj, localVarQueryParameter);\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {};\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      };\n      localVarRequestOptions.data = serializeDataIfNeeded(\n        outputStreamFileRequest,\n        localVarRequestOptions,\n        configuration,\n      );\n\n      return {\n        url: toPathString(localVarUrlObj),\n        options: localVarRequestOptions,\n      };\n    },\n    /**\n     * Uploads session log output to the Files service and returns the representation of the file resource containing the output. The file is created in one of two formats, based on the value of the property \\\"format\\\" specified in the post body. If \\\"collection\\\" is specified as the value of \\\"format\\\", the output file is rendered as application/vnd.sas.collection+json. If the format is specified as \\\"prefixedText\\\", the output is text/plain in which each line of output is prefixed with the name of the line type followed by a colon. In either case, all available output is returned; neither pagination nor filtering is supported.\n     * @summary Upload session log output to the Files service\n     * @param {string} sessionId Specifies the ID of the session.\n     * @param {OutputStreamFileRequest} outputStreamFileRequest Specifies the request to stream output to the Files service.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    streamSessionLogAsFile: async (\n      sessionId: string,\n      outputStreamFileRequest: OutputStreamFileRequest,\n      options: AxiosRequestConfig = {},\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'sessionId' is not null or undefined\n      assertParamExists(\"streamSessionLogAsFile\", \"sessionId\", sessionId);\n      // verify required parameter 'outputStreamFileRequest' is not null or undefined\n      assertParamExists(\n        \"streamSessionLogAsFile\",\n        \"outputStreamFileRequest\",\n        outputStreamFileRequest,\n      );\n      const localVarPath = `/sessions/{sessionId}/log`.replace(\n        `{${\"sessionId\"}}`,\n        encodeURIComponent(String(sessionId)),\n      );\n      // use dummy base URL string because the URL constructor only accepts absolute URLs.\n      const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n      let baseOptions;\n      if (configuration) {\n        baseOptions = configuration.baseOptions;\n      }\n\n      const localVarRequestOptions = {\n        method: \"POST\",\n        ...baseOptions,\n        ...options,\n      };\n      const localVarHeaderParameter = {} as any;\n      const localVarQueryParameter = {} as any;\n\n      localVarHeaderParameter[\"Content-Type\"] =\n        \"application/vnd.sas.compute.output.stream.file.request+json\";\n\n      setSearchParams(localVarUrlObj, localVarQueryParameter);\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {};\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      };\n      localVarRequestOptions.data = serializeDataIfNeeded(\n        outputStreamFileRequest,\n        localVarRequestOptions,\n        configuration,\n      );\n\n      return {\n        url: toPathString(localVarUrlObj),\n        options: localVarRequestOptions,\n      };\n    },\n  };\n};\n\n/**\n * LogsApi - functional programming interface\n * @export\n */\nexport const LogsApi = function (configuration?: Configuration) {\n  const localVarAxiosParamCreator = LogsApiAxiosParamCreator(configuration);\n  return {\n    /**\n     * Retrieves the log output associated with a job. A job log is a subset of the session log. Therefore, the first line of a job log begins at a location (offset) within the session log. This operation returns a collection in which each entry is of the type application/vnd.sas.compute.log.line.\n     * @summary Retrieve a job log\n     * @param {LogsApiGetJobLogRequest} requestParameters Request parameters.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async getJobLog(\n      requestParameters: LogsApiGetJobLogRequest,\n      options?: AxiosRequestConfig,\n    ): Promise<AxiosResponse<JobLogCollection>> {\n      const localVarAxiosArgs = await localVarAxiosParamCreator.getJobLog(\n        requestParameters.sessionId,\n        requestParameters.jobId,\n        requestParameters.start,\n        requestParameters.limit,\n        requestParameters.type,\n        requestParameters.timeout,\n        options,\n      );\n      return createRequestFunction(localVarAxiosArgs, configuration);\n    },\n\n    /**\n     * Retrieves the entire log output associated with a job as text.\n     * @summary Retrieve a job log as text.\n     * @param {LogsApiGetJobLogAsTextRequest} requestParameters Request parameters.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async getJobLogAsText(\n      requestParameters: LogsApiGetJobLogAsTextRequest,\n      options?: AxiosRequestConfig,\n    ): Promise<AxiosResponse<void>> {\n      const localVarAxiosArgs = await localVarAxiosParamCreator.getJobLogAsText(\n        requestParameters.sessionId,\n        requestParameters.jobId,\n        options,\n      );\n      return createRequestFunction(localVarAxiosArgs, configuration);\n    },\n\n    /**\n     * Retrieves the log output associated with a session. This operation returns a collection in which each entry is of the type application/vnd.sas.compute.log.line.\n     * @summary Retrieve a session log\n     * @param {LogsApiGetSessionLogRequest} requestParameters Request parameters.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async getSessionLog(\n      requestParameters: LogsApiGetSessionLogRequest,\n      options?: AxiosRequestConfig,\n    ): Promise<AxiosResponse<SessionLogCollection>> {\n      const localVarAxiosArgs = await localVarAxiosParamCreator.getSessionLog(\n        requestParameters.sessionId,\n        requestParameters.start,\n        requestParameters.limit,\n        requestParameters.type,\n        requestParameters.timeout,\n        options,\n      );\n      return createRequestFunction(localVarAxiosArgs, configuration);\n    },\n\n    /**\n     * Retrieves the log output associated with a session as text.\n     * @summary Retrieve a session log as text.\n     * @param {LogsApiGetSessionLogAsTextRequest} requestParameters Request parameters.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async getSessionLogAsText(\n      requestParameters: LogsApiGetSessionLogAsTextRequest,\n      options?: AxiosRequestConfig,\n    ): Promise<AxiosResponse<void>> {\n      const localVarAxiosArgs =\n        await localVarAxiosParamCreator.getSessionLogAsText(\n          requestParameters.sessionId,\n          options,\n        );\n      return createRequestFunction(localVarAxiosArgs, configuration);\n    },\n\n    /**\n     * Determines whether there is currently a log for a job.\n     * @summary Check job log availability\n     * @param {LogsApiHeadersForJobLogRequest} requestParameters Request parameters.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async headersForJobLog(\n      requestParameters: LogsApiHeadersForJobLogRequest,\n      options?: AxiosRequestConfig,\n    ): Promise<AxiosResponse<void>> {\n      const localVarAxiosArgs =\n        await localVarAxiosParamCreator.headersForJobLog(\n          requestParameters.sessionId,\n          requestParameters.jobId,\n          requestParameters.start,\n          requestParameters.limit,\n          requestParameters.type,\n          requestParameters.timeout,\n          options,\n        );\n      return createRequestFunction(localVarAxiosArgs, configuration);\n    },\n\n    /**\n     * Determines whether there is currently a log for a job as text.\n     * @summary Check for job log as text\n     * @param {LogsApiHeadersForJobLogAsTextRequest} requestParameters Request parameters.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async headersForJobLogAsText(\n      requestParameters: LogsApiHeadersForJobLogAsTextRequest,\n      options?: AxiosRequestConfig,\n    ): Promise<AxiosResponse<void>> {\n      const localVarAxiosArgs =\n        await localVarAxiosParamCreator.headersForJobLogAsText(\n          requestParameters.sessionId,\n          requestParameters.jobId,\n          options,\n        );\n      return createRequestFunction(localVarAxiosArgs, configuration);\n    },\n\n    /**\n     * Determines whether the session has a log available.\n     * @summary Check for a session log\n     * @param {LogsApiHeadersForSessionLogRequest} requestParameters Request parameters.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async headersForSessionLog(\n      requestParameters: LogsApiHeadersForSessionLogRequest,\n      options?: AxiosRequestConfig,\n    ): Promise<AxiosResponse<void>> {\n      const localVarAxiosArgs =\n        await localVarAxiosParamCreator.headersForSessionLog(\n          requestParameters.sessionId,\n          requestParameters.start,\n          requestParameters.limit,\n          requestParameters.type,\n          requestParameters.timeout,\n          options,\n        );\n      return createRequestFunction(localVarAxiosArgs, configuration);\n    },\n\n    /**\n     * Determines whether the session has a log available as text.\n     * @summary Check for session log as text.\n     * @param {LogsApiHeadersForSessionLogAsTextRequest} requestParameters Request parameters.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async headersForSessionLogAsText(\n      requestParameters: LogsApiHeadersForSessionLogAsTextRequest,\n      options?: AxiosRequestConfig,\n    ): Promise<AxiosResponse<void>> {\n      const localVarAxiosArgs =\n        await localVarAxiosParamCreator.headersForSessionLogAsText(\n          requestParameters.sessionId,\n          options,\n        );\n      return createRequestFunction(localVarAxiosArgs, configuration);\n    },\n\n    /**\n     * Uploads job log output to the Files service and returns the representation of the file resource containing the output. The file is created in one of two formats, based on the value of the property \\\"format\\\" specified in the post body. If \\\"collection\\\" is specified as the value of \\\"format\\\", the output file is rendered as application/vnd.sas.collection+json. If the format is specified as \\\"prefixedText\\\", the output is text/plain in which each line of output is prefixed with the name of the line type followed by a colon. In either case, all available output is returned; neither pagination nor filtering is supported.\n     * @summary Upload job log output to the Files service\n     * @param {LogsApiStreamJobLogAsFileRequest} requestParameters Request parameters.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async streamJobLogAsFile(\n      requestParameters: LogsApiStreamJobLogAsFileRequest,\n      options?: AxiosRequestConfig,\n    ): Promise<AxiosResponse<FileResource>> {\n      const localVarAxiosArgs =\n        await localVarAxiosParamCreator.streamJobLogAsFile(\n          requestParameters.sessionId,\n          requestParameters.jobId,\n          requestParameters.outputStreamFileRequest,\n          options,\n        );\n      return createRequestFunction(localVarAxiosArgs, configuration);\n    },\n\n    /**\n     * Uploads session log output to the Files service and returns the representation of the file resource containing the output. The file is created in one of two formats, based on the value of the property \\\"format\\\" specified in the post body. If \\\"collection\\\" is specified as the value of \\\"format\\\", the output file is rendered as application/vnd.sas.collection+json. If the format is specified as \\\"prefixedText\\\", the output is text/plain in which each line of output is prefixed with the name of the line type followed by a colon. In either case, all available output is returned; neither pagination nor filtering is supported.\n     * @summary Upload session log output to the Files service\n     * @param {LogsApiStreamSessionLogAsFileRequest} requestParameters Request parameters.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async streamSessionLogAsFile(\n      requestParameters: LogsApiStreamSessionLogAsFileRequest,\n      options?: AxiosRequestConfig,\n    ): Promise<AxiosResponse<FileResource>> {\n      const localVarAxiosArgs =\n        await localVarAxiosParamCreator.streamSessionLogAsFile(\n          requestParameters.sessionId,\n          requestParameters.outputStreamFileRequest,\n          options,\n        );\n      return createRequestFunction(localVarAxiosArgs, configuration);\n    },\n  };\n};\n\n/**\n * Request parameters for getJobLog operation in LogsApi.\n * @export\n * @interface LogsApiGetJobLogRequest\n */\nexport interface LogsApiGetJobLogRequest {\n  /**\n   * Specifies the ID of the session.\n   * @type {string}\n   * @memberof LogsApiGetJobLog\n   */\n  readonly sessionId: string;\n\n  /**\n   * Specifies the ID of the job.\n   * @type {string}\n   * @memberof LogsApiGetJobLog\n   */\n  readonly jobId: string;\n\n  /**\n   * Specifies the offset of the first item in a collection. The first line is at start&#x3D;0.\n   * @type {number}\n   * @memberof LogsApiGetJobLog\n   */\n  readonly start?: number;\n\n  /**\n   * Specifies the number of items in a page.\n   * @type {number}\n   * @memberof LogsApiGetJobLog\n   */\n  readonly limit?: number;\n\n  /**\n   * Restricts log collection to those entries with a specified type. Specify multiple types in a query by separating them with a \\&#39;|\\&#39;.  For example, you might specify ?type&#x3D;error or ?type&#x3D;error|warning.\n   * @type {string}\n   * @memberof LogsApiGetJobLog\n   */\n  readonly type?: string;\n\n  /**\n   * Specifies the request time-out in seconds. If no log lines are available over this time period, an empty collection is returned.\n   * @type {number}\n   * @memberof LogsApiGetJobLog\n   */\n  readonly timeout?: number;\n}\n\n/**\n * Request parameters for getJobLogAsText operation in LogsApi.\n * @export\n * @interface LogsApiGetJobLogAsTextRequest\n */\nexport interface LogsApiGetJobLogAsTextRequest {\n  /**\n   * Specifies the ID of the session.\n   * @type {string}\n   * @memberof LogsApiGetJobLogAsText\n   */\n  readonly sessionId: string;\n\n  /**\n   * Specifies the ID of the job.\n   * @type {string}\n   * @memberof LogsApiGetJobLogAsText\n   */\n  readonly jobId: string;\n}\n\n/**\n * Request parameters for getSessionLog operation in LogsApi.\n * @export\n * @interface LogsApiGetSessionLogRequest\n */\nexport interface LogsApiGetSessionLogRequest {\n  /**\n   * Specifies the ID of the session.\n   * @type {string}\n   * @memberof LogsApiGetSessionLog\n   */\n  readonly sessionId: string;\n\n  /**\n   * Specifies the offset of the first item in the collection. The first line is at start&#x3D;0.\n   * @type {number}\n   * @memberof LogsApiGetSessionLog\n   */\n  readonly start?: number;\n\n  /**\n   * Specifies the number of items in this page.\n   * @type {number}\n   * @memberof LogsApiGetSessionLog\n   */\n  readonly limit?: number;\n\n  /**\n   * Restricts the log collection to those entries whose type matches the query. Specify multiple types by separating them with a \\&#39;|\\&#39;. For example, you might specify ?type&#x3D;error or ?type&#x3D;error|warning.\n   * @type {string}\n   * @memberof LogsApiGetSessionLog\n   */\n  readonly type?: string;\n\n  /**\n   * Specifies the request time-out in seconds.\n   * @type {number}\n   * @memberof LogsApiGetSessionLog\n   */\n  readonly timeout?: number;\n}\n\n/**\n * Request parameters for getSessionLogAsText operation in LogsApi.\n * @export\n * @interface LogsApiGetSessionLogAsTextRequest\n */\nexport interface LogsApiGetSessionLogAsTextRequest {\n  /**\n   * Specifies the ID of the session.\n   * @type {string}\n   * @memberof LogsApiGetSessionLogAsText\n   */\n  readonly sessionId: string;\n}\n\n/**\n * Request parameters for headersForJobLog operation in LogsApi.\n * @export\n * @interface LogsApiHeadersForJobLogRequest\n */\nexport interface LogsApiHeadersForJobLogRequest {\n  /**\n   * Specifies the ID of the session.\n   * @type {string}\n   * @memberof LogsApiHeadersForJobLog\n   */\n  readonly sessionId: string;\n\n  /**\n   * Specifies the ID of the job.\n   * @type {string}\n   * @memberof LogsApiHeadersForJobLog\n   */\n  readonly jobId: string;\n\n  /**\n   * Specifies the offset of the first item in the collection. The first line is at start&#x3D;0.\n   * @type {number}\n   * @memberof LogsApiHeadersForJobLog\n   */\n  readonly start?: number;\n\n  /**\n   * Specifies the number of items in this page.\n   * @type {number}\n   * @memberof LogsApiHeadersForJobLog\n   */\n  readonly limit?: number;\n\n  /**\n   * Restricts a log collection to those entries whose type matches the query. Specify multiple types by separating them with a \\&#39;|\\&#39;.  For example, you might specify ?type&#x3D;error or ?type&#x3D;error|warning.\n   * @type {string}\n   * @memberof LogsApiHeadersForJobLog\n   */\n  readonly type?: string;\n\n  /**\n   * Specifies the request time-out in seconds. If no log lines are available in this time period, an empty collection is returned.\n   * @type {number}\n   * @memberof LogsApiHeadersForJobLog\n   */\n  readonly timeout?: number;\n}\n\n/**\n * Request parameters for headersForJobLogAsText operation in LogsApi.\n * @export\n * @interface LogsApiHeadersForJobLogAsTextRequest\n */\nexport interface LogsApiHeadersForJobLogAsTextRequest {\n  /**\n   * Specifies the ID of the session.\n   * @type {string}\n   * @memberof LogsApiHeadersForJobLogAsText\n   */\n  readonly sessionId: string;\n\n  /**\n   * Specifies the ID of the job.\n   * @type {string}\n   * @memberof LogsApiHeadersForJobLogAsText\n   */\n  readonly jobId: string;\n}\n\n/**\n * Request parameters for headersForSessionLog operation in LogsApi.\n * @export\n * @interface LogsApiHeadersForSessionLogRequest\n */\nexport interface LogsApiHeadersForSessionLogRequest {\n  /**\n   * Specifies the ID of the session.\n   * @type {string}\n   * @memberof LogsApiHeadersForSessionLog\n   */\n  readonly sessionId: string;\n\n  /**\n   * Specifies the offset of the first item in the collection. The first line is at start&#x3D;0.\n   * @type {number}\n   * @memberof LogsApiHeadersForSessionLog\n   */\n  readonly start?: number;\n\n  /**\n   * Specifies the number of items in this page.\n   * @type {number}\n   * @memberof LogsApiHeadersForSessionLog\n   */\n  readonly limit?: number;\n\n  /**\n   * Restricts log collection to those entries whose type matches the query. Specify multiple types by separating them with a \\&#39;|\\&#39;. For example, you might specify ?type&#x3D;error or ?type&#x3D;error|warning.\n   * @type {string}\n   * @memberof LogsApiHeadersForSessionLog\n   */\n  readonly type?: string;\n\n  /**\n   * Specifies the request time-out in seconds.\n   * @type {number}\n   * @memberof LogsApiHeadersForSessionLog\n   */\n  readonly timeout?: number;\n}\n\n/**\n * Request parameters for headersForSessionLogAsText operation in LogsApi.\n * @export\n * @interface LogsApiHeadersForSessionLogAsTextRequest\n */\nexport interface LogsApiHeadersForSessionLogAsTextRequest {\n  /**\n   * Specifies the ID of the session.\n   * @type {string}\n   * @memberof LogsApiHeadersForSessionLogAsText\n   */\n  readonly sessionId: string;\n}\n\n/**\n * Request parameters for streamJobLogAsFile operation in LogsApi.\n * @export\n * @interface LogsApiStreamJobLogAsFileRequest\n */\nexport interface LogsApiStreamJobLogAsFileRequest {\n  /**\n   * Specifies the ID of the session.\n   * @type {string}\n   * @memberof LogsApiStreamJobLogAsFile\n   */\n  readonly sessionId: string;\n\n  /**\n   * Specifies the ID of the job.\n   * @type {string}\n   * @memberof LogsApiStreamJobLogAsFile\n   */\n  readonly jobId: string;\n\n  /**\n   * Specifies the request to stream output to the Files service.\n   * @type {OutputStreamFileRequest}\n   * @memberof LogsApiStreamJobLogAsFile\n   */\n  readonly outputStreamFileRequest: OutputStreamFileRequest;\n}\n\n/**\n * Request parameters for streamSessionLogAsFile operation in LogsApi.\n * @export\n * @interface LogsApiStreamSessionLogAsFileRequest\n */\nexport interface LogsApiStreamSessionLogAsFileRequest {\n  /**\n   * Specifies the ID of the session.\n   * @type {string}\n   * @memberof LogsApiStreamSessionLogAsFile\n   */\n  readonly sessionId: string;\n\n  /**\n   * Specifies the request to stream output to the Files service.\n   * @type {OutputStreamFileRequest}\n   * @memberof LogsApiStreamSessionLogAsFile\n   */\n  readonly outputStreamFileRequest: OutputStreamFileRequest;\n}\n\n/**\n * OptionsApi - axios parameter creator\n * @export\n */\nexport const OptionsApiAxiosParamCreator = function (\n  configuration?: Configuration,\n) {\n  return {\n    /**\n     * Returns the value of the option as a plain text value.\n     * @summary Get an option by name\n     * @param {string} sessionId Specifies the ID of the session.\n     * @param {string} optionName Specifies the name of the requested option.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    getOptionValue: async (\n      sessionId: string,\n      optionName: string,\n      options: AxiosRequestConfig = {},\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'sessionId' is not null or undefined\n      assertParamExists(\"getOptionValue\", \"sessionId\", sessionId);\n      // verify required parameter 'optionName' is not null or undefined\n      assertParamExists(\"getOptionValue\", \"optionName\", optionName);\n      const localVarPath = `/sessions/{sessionId}/options/{optionName}`\n        .replace(`{${\"sessionId\"}}`, encodeURIComponent(String(sessionId)))\n        .replace(`{${\"optionName\"}}`, encodeURIComponent(String(optionName)));\n      // use dummy base URL string because the URL constructor only accepts absolute URLs.\n      const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n      let baseOptions;\n      if (configuration) {\n        baseOptions = configuration.baseOptions;\n      }\n\n      const localVarRequestOptions = {\n        method: \"GET\",\n        ...baseOptions,\n        ...options,\n      };\n      const localVarHeaderParameter = {} as any;\n      const localVarQueryParameter = {} as any;\n\n      setSearchParams(localVarUrlObj, localVarQueryParameter);\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {};\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      };\n\n      return {\n        url: toPathString(localVarUrlObj),\n        options: localVarRequestOptions,\n      };\n    },\n    /**\n     * Returns information about the specified option, including the value.\n     * @summary Get an option representation\n     * @param {string} sessionId Specifies the ID of the session.\n     * @param {string} optionName Specifies the name of the requested option.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    getOptionValueFull: async (\n      sessionId: string,\n      optionName: string,\n      options: AxiosRequestConfig = {},\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'sessionId' is not null or undefined\n      assertParamExists(\"getOptionValueFull\", \"sessionId\", sessionId);\n      // verify required parameter 'optionName' is not null or undefined\n      assertParamExists(\"getOptionValueFull\", \"optionName\", optionName);\n      const localVarPath =\n        `/sessions/{sessionId}/options/{optionName}#optionFull`\n          .replace(`{${\"sessionId\"}}`, encodeURIComponent(String(sessionId)))\n          .replace(`{${\"optionName\"}}`, encodeURIComponent(String(optionName)));\n      // use dummy base URL string because the URL constructor only accepts absolute URLs.\n      const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n      let baseOptions;\n      if (configuration) {\n        baseOptions = configuration.baseOptions;\n      }\n\n      const localVarRequestOptions = {\n        method: \"GET\",\n        ...baseOptions,\n        ...options,\n      };\n      const localVarHeaderParameter = {} as any;\n      const localVarQueryParameter = {} as any;\n\n      setSearchParams(localVarUrlObj, localVarQueryParameter);\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {};\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      };\n\n      return {\n        url: toPathString(localVarUrlObj),\n        options: localVarRequestOptions,\n      };\n    },\n    /**\n     * Returns headers for option retrieval.\n     * @summary Verify that an option exists\n     * @param {string} sessionId Specifies the ID of the session.\n     * @param {string} optionName Specifies the name of the requested option.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    headersForOptionValue: async (\n      sessionId: string,\n      optionName: string,\n      options: AxiosRequestConfig = {},\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'sessionId' is not null or undefined\n      assertParamExists(\"headersForOptionValue\", \"sessionId\", sessionId);\n      // verify required parameter 'optionName' is not null or undefined\n      assertParamExists(\"headersForOptionValue\", \"optionName\", optionName);\n      const localVarPath = `/sessions/{sessionId}/options/{optionName}`\n        .replace(`{${\"sessionId\"}}`, encodeURIComponent(String(sessionId)))\n        .replace(`{${\"optionName\"}}`, encodeURIComponent(String(optionName)));\n      // use dummy base URL string because the URL constructor only accepts absolute URLs.\n      const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n      let baseOptions;\n      if (configuration) {\n        baseOptions = configuration.baseOptions;\n      }\n\n      const localVarRequestOptions = {\n        method: \"HEAD\",\n        ...baseOptions,\n        ...options,\n      };\n      const localVarHeaderParameter = {} as any;\n      const localVarQueryParameter = {} as any;\n\n      setSearchParams(localVarUrlObj, localVarQueryParameter);\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {};\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      };\n\n      return {\n        url: toPathString(localVarUrlObj),\n        options: localVarRequestOptions,\n      };\n    },\n    /**\n     * Returns headers for option retrieval.\n     * @summary Verify that an option exists\n     * @param {string} sessionId Specifies the ID of the session.\n     * @param {string} optionName Specifies the name of the requested option.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    headersForOptionValueFull: async (\n      sessionId: string,\n      optionName: string,\n      options: AxiosRequestConfig = {},\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'sessionId' is not null or undefined\n      assertParamExists(\"headersForOptionValueFull\", \"sessionId\", sessionId);\n      // verify required parameter 'optionName' is not null or undefined\n      assertParamExists(\"headersForOptionValueFull\", \"optionName\", optionName);\n      const localVarPath =\n        `/sessions/{sessionId}/options/{optionName}#optionFull`\n          .replace(`{${\"sessionId\"}}`, encodeURIComponent(String(sessionId)))\n          .replace(`{${\"optionName\"}}`, encodeURIComponent(String(optionName)));\n      // use dummy base URL string because the URL constructor only accepts absolute URLs.\n      const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n      let baseOptions;\n      if (configuration) {\n        baseOptions = configuration.baseOptions;\n      }\n\n      const localVarRequestOptions = {\n        method: \"HEAD\",\n        ...baseOptions,\n        ...options,\n      };\n      const localVarHeaderParameter = {} as any;\n      const localVarQueryParameter = {} as any;\n\n      setSearchParams(localVarUrlObj, localVarQueryParameter);\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {};\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      };\n\n      return {\n        url: toPathString(localVarUrlObj),\n        options: localVarRequestOptions,\n      };\n    },\n    /**\n     * Enables you to set or update the value of the specified option.\n     * @summary Set or update option value\n     * @param {string} sessionId Specifies the ID of the session.\n     * @param {string} optionName Specifies the name of the requested option.\n     * @param {string} body Specifies the value for the requested option.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    updateOptionValue: async (\n      sessionId: string,\n      optionName: string,\n      body: string,\n      options: AxiosRequestConfig = {},\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'sessionId' is not null or undefined\n      assertParamExists(\"updateOptionValue\", \"sessionId\", sessionId);\n      // verify required parameter 'optionName' is not null or undefined\n      assertParamExists(\"updateOptionValue\", \"optionName\", optionName);\n      // verify required parameter 'body' is not null or undefined\n      assertParamExists(\"updateOptionValue\", \"body\", body);\n      const localVarPath = `/sessions/{sessionId}/options/{optionName}`\n        .replace(`{${\"sessionId\"}}`, encodeURIComponent(String(sessionId)))\n        .replace(`{${\"optionName\"}}`, encodeURIComponent(String(optionName)));\n      // use dummy base URL string because the URL constructor only accepts absolute URLs.\n      const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n      let baseOptions;\n      if (configuration) {\n        baseOptions = configuration.baseOptions;\n      }\n\n      const localVarRequestOptions = {\n        method: \"PUT\",\n        ...baseOptions,\n        ...options,\n      };\n      const localVarHeaderParameter = {} as any;\n      const localVarQueryParameter = {} as any;\n\n      localVarHeaderParameter[\"Content-Type\"] = \"text/plain\";\n\n      setSearchParams(localVarUrlObj, localVarQueryParameter);\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {};\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      };\n      localVarRequestOptions.data = serializeDataIfNeeded(\n        body,\n        localVarRequestOptions,\n        configuration,\n      );\n\n      return {\n        url: toPathString(localVarUrlObj),\n        options: localVarRequestOptions,\n      };\n    },\n  };\n};\n\n/**\n * OptionsApi - functional programming interface\n * @export\n */\nexport const OptionsApi = function (configuration?: Configuration) {\n  const localVarAxiosParamCreator = OptionsApiAxiosParamCreator(configuration);\n  return {\n    /**\n     * Returns the value of the option as a plain text value.\n     * @summary Get an option by name\n     * @param {OptionsApiGetOptionValueRequest} requestParameters Request parameters.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async getOptionValue(\n      requestParameters: OptionsApiGetOptionValueRequest,\n      options?: AxiosRequestConfig,\n    ): Promise<AxiosResponse<string>> {\n      const localVarAxiosArgs = await localVarAxiosParamCreator.getOptionValue(\n        requestParameters.sessionId,\n        requestParameters.optionName,\n        options,\n      );\n      return createRequestFunction(localVarAxiosArgs, configuration);\n    },\n\n    /**\n     * Returns information about the specified option, including the value.\n     * @summary Get an option representation\n     * @param {OptionsApiGetOptionValueFullRequest} requestParameters Request parameters.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async getOptionValueFull(\n      requestParameters: OptionsApiGetOptionValueFullRequest,\n      options?: AxiosRequestConfig,\n    ): Promise<AxiosResponse<SessionOption>> {\n      const localVarAxiosArgs =\n        await localVarAxiosParamCreator.getOptionValueFull(\n          requestParameters.sessionId,\n          requestParameters.optionName,\n          options,\n        );\n      return createRequestFunction(localVarAxiosArgs, configuration);\n    },\n\n    /**\n     * Returns headers for option retrieval.\n     * @summary Verify that an option exists\n     * @param {OptionsApiHeadersForOptionValueRequest} requestParameters Request parameters.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async headersForOptionValue(\n      requestParameters: OptionsApiHeadersForOptionValueRequest,\n      options?: AxiosRequestConfig,\n    ): Promise<AxiosResponse<void>> {\n      const localVarAxiosArgs =\n        await localVarAxiosParamCreator.headersForOptionValue(\n          requestParameters.sessionId,\n          requestParameters.optionName,\n          options,\n        );\n      return createRequestFunction(localVarAxiosArgs, configuration);\n    },\n\n    /**\n     * Returns headers for option retrieval.\n     * @summary Verify that an option exists\n     * @param {OptionsApiHeadersForOptionValueFullRequest} requestParameters Request parameters.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async headersForOptionValueFull(\n      requestParameters: OptionsApiHeadersForOptionValueFullRequest,\n      options?: AxiosRequestConfig,\n    ): Promise<AxiosResponse<void>> {\n      const localVarAxiosArgs =\n        await localVarAxiosParamCreator.headersForOptionValueFull(\n          requestParameters.sessionId,\n          requestParameters.optionName,\n          options,\n        );\n      return createRequestFunction(localVarAxiosArgs, configuration);\n    },\n\n    /**\n     * Enables you to set or update the value of the specified option.\n     * @summary Set or update option value\n     * @param {OptionsApiUpdateOptionValueRequest} requestParameters Request parameters.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async updateOptionValue(\n      requestParameters: OptionsApiUpdateOptionValueRequest,\n      options?: AxiosRequestConfig,\n    ): Promise<AxiosResponse<string>> {\n      const localVarAxiosArgs =\n        await localVarAxiosParamCreator.updateOptionValue(\n          requestParameters.sessionId,\n          requestParameters.optionName,\n          requestParameters.body,\n          options,\n        );\n      return createRequestFunction(localVarAxiosArgs, configuration);\n    },\n  };\n};\n\n/**\n * Request parameters for getOptionValue operation in OptionsApi.\n * @export\n * @interface OptionsApiGetOptionValueRequest\n */\nexport interface OptionsApiGetOptionValueRequest {\n  /**\n   * Specifies the ID of the session.\n   * @type {string}\n   * @memberof OptionsApiGetOptionValue\n   */\n  readonly sessionId: string;\n\n  /**\n   * Specifies the name of the requested option.\n   * @type {string}\n   * @memberof OptionsApiGetOptionValue\n   */\n  readonly optionName: string;\n}\n\n/**\n * Request parameters for getOptionValueFull operation in OptionsApi.\n * @export\n * @interface OptionsApiGetOptionValueFullRequest\n */\nexport interface OptionsApiGetOptionValueFullRequest {\n  /**\n   * Specifies the ID of the session.\n   * @type {string}\n   * @memberof OptionsApiGetOptionValueFull\n   */\n  readonly sessionId: string;\n\n  /**\n   * Specifies the name of the requested option.\n   * @type {string}\n   * @memberof OptionsApiGetOptionValueFull\n   */\n  readonly optionName: string;\n}\n\n/**\n * Request parameters for headersForOptionValue operation in OptionsApi.\n * @export\n * @interface OptionsApiHeadersForOptionValueRequest\n */\nexport interface OptionsApiHeadersForOptionValueRequest {\n  /**\n   * Specifies the ID of the session.\n   * @type {string}\n   * @memberof OptionsApiHeadersForOptionValue\n   */\n  readonly sessionId: string;\n\n  /**\n   * Specifies the name of the requested option.\n   * @type {string}\n   * @memberof OptionsApiHeadersForOptionValue\n   */\n  readonly optionName: string;\n}\n\n/**\n * Request parameters for headersForOptionValueFull operation in OptionsApi.\n * @export\n * @interface OptionsApiHeadersForOptionValueFullRequest\n */\nexport interface OptionsApiHeadersForOptionValueFullRequest {\n  /**\n   * Specifies the ID of the session.\n   * @type {string}\n   * @memberof OptionsApiHeadersForOptionValueFull\n   */\n  readonly sessionId: string;\n\n  /**\n   * Specifies the name of the requested option.\n   * @type {string}\n   * @memberof OptionsApiHeadersForOptionValueFull\n   */\n  readonly optionName: string;\n}\n\n/**\n * Request parameters for updateOptionValue operation in OptionsApi.\n * @export\n * @interface OptionsApiUpdateOptionValueRequest\n */\nexport interface OptionsApiUpdateOptionValueRequest {\n  /**\n   * Specifies the ID of the session.\n   * @type {string}\n   * @memberof OptionsApiUpdateOptionValue\n   */\n  readonly sessionId: string;\n\n  /**\n   * Specifies the name of the requested option.\n   * @type {string}\n   * @memberof OptionsApiUpdateOptionValue\n   */\n  readonly optionName: string;\n\n  /**\n   * Specifies the value for the requested option.\n   * @type {string}\n   * @memberof OptionsApiUpdateOptionValue\n   */\n  readonly body: string;\n}\n\n/**\n * ResultsApi - axios parameter creator\n * @export\n */\nexport const ResultsApiAxiosParamCreator = function (\n  configuration?: Configuration,\n) {\n  return {\n    /**\n     * Retrieves the results of a job as a collection. The results might be ODS output or other output. Standard paging options are available.\n     * @summary Fetch the results of a job\n     * @param {string} sessionId Specifies the ID of the session.\n     * @param {string} jobId Specifies the ID of the job whose results you want to retrieve.\n     * @param {number} [start] Specifies the offset of the first item in the collection. The first line is at start&#x3D;0.\n     * @param {number} [limit] Specifies the number of items requested.\n     * @param {string} [filter] Specifies the filter criteria for returned items.\n     * @param {string} [sortBy] Sorts returned items.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    getJobResults: async (\n      sessionId: string,\n      jobId: string,\n      start?: number,\n      limit?: number,\n      filter?: string,\n      sortBy?: string,\n      options: AxiosRequestConfig = {},\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'sessionId' is not null or undefined\n      assertParamExists(\"getJobResults\", \"sessionId\", sessionId);\n      // verify required parameter 'jobId' is not null or undefined\n      assertParamExists(\"getJobResults\", \"jobId\", jobId);\n      const localVarPath = `/sessions/{sessionId}/jobs/{jobId}/results`\n        .replace(`{${\"sessionId\"}}`, encodeURIComponent(String(sessionId)))\n        .replace(`{${\"jobId\"}}`, encodeURIComponent(String(jobId)));\n      // use dummy base URL string because the URL constructor only accepts absolute URLs.\n      const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n      let baseOptions;\n      if (configuration) {\n        baseOptions = configuration.baseOptions;\n      }\n\n      const localVarRequestOptions = {\n        method: \"GET\",\n        ...baseOptions,\n        ...options,\n      };\n      const localVarHeaderParameter = {} as any;\n      const localVarQueryParameter = {} as any;\n\n      if (start !== undefined) {\n        localVarQueryParameter[\"start\"] = start;\n      }\n\n      if (limit !== undefined) {\n        localVarQueryParameter[\"limit\"] = limit;\n      }\n\n      if (filter !== undefined) {\n        localVarQueryParameter[\"filter\"] = filter;\n      }\n\n      if (sortBy !== undefined) {\n        localVarQueryParameter[\"sortBy\"] = sortBy;\n      }\n\n      setSearchParams(localVarUrlObj, localVarQueryParameter);\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {};\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      };\n\n      return {\n        url: toPathString(localVarUrlObj),\n        options: localVarRequestOptions,\n      };\n    },\n    /**\n     * Retrieves the results of an entire session. This can be ODS output or other output.\n     * @summary Fetch results for a session\n     * @param {string} sessionId Specifies the ID of the session.\n     * @param {number} [start] Specifies the offset of the first item in the collection.  The first line is at start&#x3D;0.\n     * @param {number} [limit] Specifies the number of items that were requested.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    getSessionResults: async (\n      sessionId: string,\n      start?: number,\n      limit?: number,\n      options: AxiosRequestConfig = {},\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'sessionId' is not null or undefined\n      assertParamExists(\"getSessionResults\", \"sessionId\", sessionId);\n      const localVarPath = `/sessions/{sessionId}/results`.replace(\n        `{${\"sessionId\"}}`,\n        encodeURIComponent(String(sessionId)),\n      );\n      // use dummy base URL string because the URL constructor only accepts absolute URLs.\n      const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n      let baseOptions;\n      if (configuration) {\n        baseOptions = configuration.baseOptions;\n      }\n\n      const localVarRequestOptions = {\n        method: \"GET\",\n        ...baseOptions,\n        ...options,\n      };\n      const localVarHeaderParameter = {} as any;\n      const localVarQueryParameter = {} as any;\n\n      if (start !== undefined) {\n        localVarQueryParameter[\"start\"] = start;\n      }\n\n      if (limit !== undefined) {\n        localVarQueryParameter[\"limit\"] = limit;\n      }\n\n      setSearchParams(localVarUrlObj, localVarQueryParameter);\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {};\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      };\n\n      return {\n        url: toPathString(localVarUrlObj),\n        options: localVarRequestOptions,\n      };\n    },\n    /**\n     * Determines whether a job has any results.\n     * @summary Check for job results\n     * @param {string} sessionId Specifies the ID of the session.\n     * @param {string} jobId Specifies the ID of the job to fetch results from.\n     * @param {number} [start] Specifies the offset of the first item in the collection. The first line is at start&#x3D;0.\n     * @param {number} [limit] Specifies the number of items to fetch.\n     * @param {string} [filter] Specifies the filter criteria for returned items.\n     * @param {string} [sortBy] Sorts returned items.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    headersForJobResults: async (\n      sessionId: string,\n      jobId: string,\n      start?: number,\n      limit?: number,\n      filter?: string,\n      sortBy?: string,\n      options: AxiosRequestConfig = {},\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'sessionId' is not null or undefined\n      assertParamExists(\"headersForJobResults\", \"sessionId\", sessionId);\n      // verify required parameter 'jobId' is not null or undefined\n      assertParamExists(\"headersForJobResults\", \"jobId\", jobId);\n      const localVarPath = `/sessions/{sessionId}/jobs/{jobId}/results`\n        .replace(`{${\"sessionId\"}}`, encodeURIComponent(String(sessionId)))\n        .replace(`{${\"jobId\"}}`, encodeURIComponent(String(jobId)));\n      // use dummy base URL string because the URL constructor only accepts absolute URLs.\n      const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n      let baseOptions;\n      if (configuration) {\n        baseOptions = configuration.baseOptions;\n      }\n\n      const localVarRequestOptions = {\n        method: \"HEAD\",\n        ...baseOptions,\n        ...options,\n      };\n      const localVarHeaderParameter = {} as any;\n      const localVarQueryParameter = {} as any;\n\n      if (start !== undefined) {\n        localVarQueryParameter[\"start\"] = start;\n      }\n\n      if (limit !== undefined) {\n        localVarQueryParameter[\"limit\"] = limit;\n      }\n\n      if (filter !== undefined) {\n        localVarQueryParameter[\"filter\"] = filter;\n      }\n\n      if (sortBy !== undefined) {\n        localVarQueryParameter[\"sortBy\"] = sortBy;\n      }\n\n      setSearchParams(localVarUrlObj, localVarQueryParameter);\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {};\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      };\n\n      return {\n        url: toPathString(localVarUrlObj),\n        options: localVarRequestOptions,\n      };\n    },\n    /**\n     * Determines whether the session has any results.\n     * @summary Check for session results\n     * @param {string} sessionId Specifies the ID of the session.\n     * @param {number} [start] Specifies the offset of the first item in the collection.  The first line is at start&#x3D;0.\n     * @param {number} [limit] Specifies the number of items that were requested.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    headersForSessionResults: async (\n      sessionId: string,\n      start?: number,\n      limit?: number,\n      options: AxiosRequestConfig = {},\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'sessionId' is not null or undefined\n      assertParamExists(\"headersForSessionResults\", \"sessionId\", sessionId);\n      const localVarPath = `/sessions/{sessionId}/results`.replace(\n        `{${\"sessionId\"}}`,\n        encodeURIComponent(String(sessionId)),\n      );\n      // use dummy base URL string because the URL constructor only accepts absolute URLs.\n      const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n      let baseOptions;\n      if (configuration) {\n        baseOptions = configuration.baseOptions;\n      }\n\n      const localVarRequestOptions = {\n        method: \"HEAD\",\n        ...baseOptions,\n        ...options,\n      };\n      const localVarHeaderParameter = {} as any;\n      const localVarQueryParameter = {} as any;\n\n      if (start !== undefined) {\n        localVarQueryParameter[\"start\"] = start;\n      }\n\n      if (limit !== undefined) {\n        localVarQueryParameter[\"limit\"] = limit;\n      }\n\n      setSearchParams(localVarUrlObj, localVarQueryParameter);\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {};\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      };\n\n      return {\n        url: toPathString(localVarUrlObj),\n        options: localVarRequestOptions,\n      };\n    },\n  };\n};\n\n/**\n * ResultsApi - functional programming interface\n * @export\n */\nexport const ResultsApi = function (configuration?: Configuration) {\n  const localVarAxiosParamCreator = ResultsApiAxiosParamCreator(configuration);\n  return {\n    /**\n     * Retrieves the results of a job as a collection. The results might be ODS output or other output. Standard paging options are available.\n     * @summary Fetch the results of a job\n     * @param {ResultsApiGetJobResultsRequest} requestParameters Request parameters.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async getJobResults(\n      requestParameters: ResultsApiGetJobResultsRequest,\n      options?: AxiosRequestConfig,\n    ): Promise<AxiosResponse<ResultCollection>> {\n      const localVarAxiosArgs = await localVarAxiosParamCreator.getJobResults(\n        requestParameters.sessionId,\n        requestParameters.jobId,\n        requestParameters.start,\n        requestParameters.limit,\n        requestParameters.filter,\n        requestParameters.sortBy,\n        options,\n      );\n      return createRequestFunction(localVarAxiosArgs, configuration);\n    },\n\n    /**\n     * Retrieves the results of an entire session. This can be ODS output or other output.\n     * @summary Fetch results for a session\n     * @param {ResultsApiGetSessionResultsRequest} requestParameters Request parameters.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async getSessionResults(\n      requestParameters: ResultsApiGetSessionResultsRequest,\n      options?: AxiosRequestConfig,\n    ): Promise<AxiosResponse<ResultCollection>> {\n      const localVarAxiosArgs =\n        await localVarAxiosParamCreator.getSessionResults(\n          requestParameters.sessionId,\n          requestParameters.start,\n          requestParameters.limit,\n          options,\n        );\n      return createRequestFunction(localVarAxiosArgs, configuration);\n    },\n\n    /**\n     * Determines whether a job has any results.\n     * @summary Check for job results\n     * @param {ResultsApiHeadersForJobResultsRequest} requestParameters Request parameters.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async headersForJobResults(\n      requestParameters: ResultsApiHeadersForJobResultsRequest,\n      options?: AxiosRequestConfig,\n    ): Promise<AxiosResponse<void>> {\n      const localVarAxiosArgs =\n        await localVarAxiosParamCreator.headersForJobResults(\n          requestParameters.sessionId,\n          requestParameters.jobId,\n          requestParameters.start,\n          requestParameters.limit,\n          requestParameters.filter,\n          requestParameters.sortBy,\n          options,\n        );\n      return createRequestFunction(localVarAxiosArgs, configuration);\n    },\n\n    /**\n     * Determines whether the session has any results.\n     * @summary Check for session results\n     * @param {ResultsApiHeadersForSessionResultsRequest} requestParameters Request parameters.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async headersForSessionResults(\n      requestParameters: ResultsApiHeadersForSessionResultsRequest,\n      options?: AxiosRequestConfig,\n    ): Promise<AxiosResponse<void>> {\n      const localVarAxiosArgs =\n        await localVarAxiosParamCreator.headersForSessionResults(\n          requestParameters.sessionId,\n          requestParameters.start,\n          requestParameters.limit,\n          options,\n        );\n      return createRequestFunction(localVarAxiosArgs, configuration);\n    },\n  };\n};\n\n/**\n * Request parameters for getJobResults operation in ResultsApi.\n * @export\n * @interface ResultsApiGetJobResultsRequest\n */\nexport interface ResultsApiGetJobResultsRequest {\n  /**\n   * Specifies the ID of the session.\n   * @type {string}\n   * @memberof ResultsApiGetJobResults\n   */\n  readonly sessionId: string;\n\n  /**\n   * Specifies the ID of the job whose results you want to retrieve.\n   * @type {string}\n   * @memberof ResultsApiGetJobResults\n   */\n  readonly jobId: string;\n\n  /**\n   * Specifies the offset of the first item in the collection. The first line is at start&#x3D;0.\n   * @type {number}\n   * @memberof ResultsApiGetJobResults\n   */\n  readonly start?: number;\n\n  /**\n   * Specifies the number of items requested.\n   * @type {number}\n   * @memberof ResultsApiGetJobResults\n   */\n  readonly limit?: number;\n\n  /**\n   * Specifies the filter criteria for returned items.\n   * @type {string}\n   * @memberof ResultsApiGetJobResults\n   */\n  readonly filter?: string;\n\n  /**\n   * Sorts returned items.\n   * @type {string}\n   * @memberof ResultsApiGetJobResults\n   */\n  readonly sortBy?: string;\n}\n\n/**\n * Request parameters for getSessionResults operation in ResultsApi.\n * @export\n * @interface ResultsApiGetSessionResultsRequest\n */\nexport interface ResultsApiGetSessionResultsRequest {\n  /**\n   * Specifies the ID of the session.\n   * @type {string}\n   * @memberof ResultsApiGetSessionResults\n   */\n  readonly sessionId: string;\n\n  /**\n   * Specifies the offset of the first item in the collection.  The first line is at start&#x3D;0.\n   * @type {number}\n   * @memberof ResultsApiGetSessionResults\n   */\n  readonly start?: number;\n\n  /**\n   * Specifies the number of items that were requested.\n   * @type {number}\n   * @memberof ResultsApiGetSessionResults\n   */\n  readonly limit?: number;\n}\n\n/**\n * Request parameters for headersForJobResults operation in ResultsApi.\n * @export\n * @interface ResultsApiHeadersForJobResultsRequest\n */\nexport interface ResultsApiHeadersForJobResultsRequest {\n  /**\n   * Specifies the ID of the session.\n   * @type {string}\n   * @memberof ResultsApiHeadersForJobResults\n   */\n  readonly sessionId: string;\n\n  /**\n   * Specifies the ID of the job to fetch results from.\n   * @type {string}\n   * @memberof ResultsApiHeadersForJobResults\n   */\n  readonly jobId: string;\n\n  /**\n   * Specifies the offset of the first item in the collection. The first line is at start&#x3D;0.\n   * @type {number}\n   * @memberof ResultsApiHeadersForJobResults\n   */\n  readonly start?: number;\n\n  /**\n   * Specifies the number of items to fetch.\n   * @type {number}\n   * @memberof ResultsApiHeadersForJobResults\n   */\n  readonly limit?: number;\n\n  /**\n   * Specifies the filter criteria for returned items.\n   * @type {string}\n   * @memberof ResultsApiHeadersForJobResults\n   */\n  readonly filter?: string;\n\n  /**\n   * Sorts returned items.\n   * @type {string}\n   * @memberof ResultsApiHeadersForJobResults\n   */\n  readonly sortBy?: string;\n}\n\n/**\n * Request parameters for headersForSessionResults operation in ResultsApi.\n * @export\n * @interface ResultsApiHeadersForSessionResultsRequest\n */\nexport interface ResultsApiHeadersForSessionResultsRequest {\n  /**\n   * Specifies the ID of the session.\n   * @type {string}\n   * @memberof ResultsApiHeadersForSessionResults\n   */\n  readonly sessionId: string;\n\n  /**\n   * Specifies the offset of the first item in the collection.  The first line is at start&#x3D;0.\n   * @type {number}\n   * @memberof ResultsApiHeadersForSessionResults\n   */\n  readonly start?: number;\n\n  /**\n   * Specifies the number of items that were requested.\n   * @type {number}\n   * @memberof ResultsApiHeadersForSessionResults\n   */\n  readonly limit?: number;\n}\n\n/**\n * RootApi - axios parameter creator\n * @export\n */\nexport const RootApiAxiosParamCreator = function (\n  configuration?: Configuration,\n) {\n  return {\n    /**\n     * Checks the availability of the service.\n     * @summary Check service availability\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    headersForRoot: async (\n      options: AxiosRequestConfig = {},\n    ): Promise<RequestArgs> => {\n      const localVarPath = `/`;\n      // use dummy base URL string because the URL constructor only accepts absolute URLs.\n      const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n      let baseOptions;\n      if (configuration) {\n        baseOptions = configuration.baseOptions;\n      }\n\n      const localVarRequestOptions = {\n        method: \"HEAD\",\n        ...baseOptions,\n        ...options,\n      };\n      const localVarHeaderParameter = {} as any;\n      const localVarQueryParameter = {} as any;\n\n      setSearchParams(localVarUrlObj, localVarQueryParameter);\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {};\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      };\n\n      return {\n        url: toPathString(localVarUrlObj),\n        options: localVarRequestOptions,\n      };\n    },\n    /**\n     * Returns a list of links to the top level resources in this API.\n     * @summary Get API resource links\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    root: async (options: AxiosRequestConfig = {}): Promise<RequestArgs> => {\n      const localVarPath = `/`;\n      // use dummy base URL string because the URL constructor only accepts absolute URLs.\n      const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n      let baseOptions;\n      if (configuration) {\n        baseOptions = configuration.baseOptions;\n      }\n\n      const localVarRequestOptions = {\n        method: \"GET\",\n        ...baseOptions,\n        ...options,\n      };\n      const localVarHeaderParameter = {} as any;\n      const localVarQueryParameter = {} as any;\n\n      setSearchParams(localVarUrlObj, localVarQueryParameter);\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {};\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      };\n\n      return {\n        url: toPathString(localVarUrlObj),\n        options: localVarRequestOptions,\n      };\n    },\n  };\n};\n\n/**\n * RootApi - functional programming interface\n * @export\n */\nexport const RootApi = function (configuration?: Configuration) {\n  const localVarAxiosParamCreator = RootApiAxiosParamCreator(configuration);\n  return {\n    /**\n     * Checks the availability of the service.\n     * @summary Check service availability\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async headersForRoot(\n      options?: AxiosRequestConfig,\n    ): Promise<AxiosResponse<void>> {\n      const localVarAxiosArgs =\n        await localVarAxiosParamCreator.headersForRoot(options);\n      return createRequestFunction(localVarAxiosArgs, configuration);\n    },\n\n    /**\n     * Returns a list of links to the top level resources in this API.\n     * @summary Get API resource links\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async root(options?: AxiosRequestConfig): Promise<AxiosResponse<Api>> {\n      const localVarAxiosArgs = await localVarAxiosParamCreator.root(options);\n      return createRequestFunction(localVarAxiosArgs, configuration);\n    },\n  };\n};\n\n/**\n * ServersApi - axios parameter creator\n * @export\n */\nexport const ServersApiAxiosParamCreator = function (\n  configuration?: Configuration,\n) {\n  return {\n    /**\n     * Stops the specified server instance. The user must have administration permissions on the server to perform this request.\n     * @summary Stop the server\n     * @param {string} serverId Specifies the ID of the server definition.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    deleteServer: async (\n      serverId: string,\n      options: AxiosRequestConfig = {},\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'serverId' is not null or undefined\n      assertParamExists(\"deleteServer\", \"serverId\", serverId);\n      const localVarPath = `/servers/{serverId}`.replace(\n        `{${\"serverId\"}}`,\n        encodeURIComponent(String(serverId)),\n      );\n      // use dummy base URL string because the URL constructor only accepts absolute URLs.\n      const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n      let baseOptions;\n      if (configuration) {\n        baseOptions = configuration.baseOptions;\n      }\n\n      const localVarRequestOptions = {\n        method: \"DELETE\",\n        ...baseOptions,\n        ...options,\n      };\n      const localVarHeaderParameter = {} as any;\n      const localVarQueryParameter = {} as any;\n\n      setSearchParams(localVarUrlObj, localVarQueryParameter);\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {};\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      };\n\n      return {\n        url: toPathString(localVarUrlObj),\n        options: localVarRequestOptions,\n      };\n    },\n    /**\n     * Returns links and information for the active server instance. The serverId is a unique identifier for an active SAS Compute Server instance.\n     * @summary Get links for the active server\n     * @param {string} serverId Returns the active server for this server identifier.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    getServer: async (\n      serverId: string,\n      options: AxiosRequestConfig = {},\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'serverId' is not null or undefined\n      assertParamExists(\"getServer\", \"serverId\", serverId);\n      const localVarPath = `/servers/{serverId}`.replace(\n        `{${\"serverId\"}}`,\n        encodeURIComponent(String(serverId)),\n      );\n      // use dummy base URL string because the URL constructor only accepts absolute URLs.\n      const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n      let baseOptions;\n      if (configuration) {\n        baseOptions = configuration.baseOptions;\n      }\n\n      const localVarRequestOptions = {\n        method: \"GET\",\n        ...baseOptions,\n        ...options,\n      };\n      const localVarHeaderParameter = {} as any;\n      const localVarQueryParameter = {} as any;\n\n      setSearchParams(localVarUrlObj, localVarQueryParameter);\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {};\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      };\n\n      return {\n        url: toPathString(localVarUrlObj),\n        options: localVarRequestOptions,\n      };\n    },\n    /**\n     * Gets a paginated list of sessions that are owned by the requested service instance. Standard paging, filtering, and sorting options are provided.\n     * @summary Get active sessions for server\n     * @param {string} serverId Specifies the ID of the server definition.\n     * @param {'application/vnd.sas.compute.session+json' | 'application/vnd.sas.compute.session.summary+json'} [acceptItem] Returns the desired session representation.&lt;br&gt; The Accept-Item options are: &lt;ul&gt; &lt;li&gt;application/vnd.sas.compute.session+json &lt;li&gt;application/vnd.sas.compute.session.summary+json &lt;li&gt;blank &lt;/ul&gt; If the application/vnd.sas.compute.session.summary+json type is specified or no Accept-Item header is specified, then the sessions are returned as summary representation session objects.\n     * @param {number} [start] Specifies the offset of first session to return. The default value is \\&quot;0\\&quot;.\n     * @param {number} [limit] Specifies the maximum number of sessions to return. The default value is \\&quot;10\\&quot;.\n     * @param {string} [filter] Specifies the filter criteria for returned sessions.\n     * @param {string} [sortBy] Sorts returned sessions.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    getServerSessions: async (\n      serverId: string,\n      acceptItem?:\n        | \"application/vnd.sas.compute.session+json\"\n        | \"application/vnd.sas.compute.session.summary+json\",\n      start?: number,\n      limit?: number,\n      filter?: string,\n      sortBy?: string,\n      options: AxiosRequestConfig = {},\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'serverId' is not null or undefined\n      assertParamExists(\"getServerSessions\", \"serverId\", serverId);\n      const localVarPath = `/servers/{serverId}/sessions`.replace(\n        `{${\"serverId\"}}`,\n        encodeURIComponent(String(serverId)),\n      );\n      // use dummy base URL string because the URL constructor only accepts absolute URLs.\n      const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n      let baseOptions;\n      if (configuration) {\n        baseOptions = configuration.baseOptions;\n      }\n\n      const localVarRequestOptions = {\n        method: \"GET\",\n        ...baseOptions,\n        ...options,\n      };\n      const localVarHeaderParameter = {} as any;\n      const localVarQueryParameter = {} as any;\n\n      if (start !== undefined) {\n        localVarQueryParameter[\"start\"] = start;\n      }\n\n      if (limit !== undefined) {\n        localVarQueryParameter[\"limit\"] = limit;\n      }\n\n      if (filter !== undefined) {\n        localVarQueryParameter[\"filter\"] = filter;\n      }\n\n      if (sortBy !== undefined) {\n        localVarQueryParameter[\"sortBy\"] = sortBy;\n      }\n\n      if (acceptItem != null) {\n        localVarHeaderParameter[\"Accept-Item\"] = String(acceptItem);\n      }\n\n      setSearchParams(localVarUrlObj, localVarQueryParameter);\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {};\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      };\n\n      return {\n        url: toPathString(localVarUrlObj),\n        options: localVarRequestOptions,\n      };\n    },\n    /**\n     * Gets the current status of a server. The value that is returned is either running or stopped.\n     * @summary Get server status\n     * @param {string} serverId Specifies the ID of the server.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    getServerState: async (\n      serverId: string,\n      options: AxiosRequestConfig = {},\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'serverId' is not null or undefined\n      assertParamExists(\"getServerState\", \"serverId\", serverId);\n      const localVarPath = `/servers/{serverId}/state`.replace(\n        `{${\"serverId\"}}`,\n        encodeURIComponent(String(serverId)),\n      );\n      // use dummy base URL string because the URL constructor only accepts absolute URLs.\n      const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n      let baseOptions;\n      if (configuration) {\n        baseOptions = configuration.baseOptions;\n      }\n\n      const localVarRequestOptions = {\n        method: \"GET\",\n        ...baseOptions,\n        ...options,\n      };\n      const localVarHeaderParameter = {} as any;\n      const localVarQueryParameter = {} as any;\n\n      setSearchParams(localVarUrlObj, localVarQueryParameter);\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {};\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      };\n\n      return {\n        url: toPathString(localVarUrlObj),\n        options: localVarRequestOptions,\n      };\n    },\n    /**\n     * Returns a list of active servers. Standard paging, filtering, and sorting options are provided. This method is restricted to users with ADMIN permission on this URL for monitoring purposes. By default, this endpoint returns a summary of the available information about the active servers. Specify an Accept-Item header with the value application/vnd.sas.compute.server+json to get all available information for each server.\n     * @summary Get active servers\n     * @param {'application/vnd.sas.compute.server+json' | 'application/vnd.sas.compute.server.summary+json'} [acceptItem] Specifies the desired server representation.&lt;br&gt; The Accept-Item options are: &lt;ul&gt; &lt;li&gt;application/vnd.sas.compute.server+json &lt;li&gt;application/vnd.sas.compute.server.summary+json &lt;li&gt;blank &lt;/ul&gt; If the application/vnd.sas.compute.server.summary+json type is specified or no Accept-Item header is specified, then the servers are returned as summary representation server objects.\n     * @param {string} [serverId] Returns only the active server that matches the serverId. The serverId is a unique identifier for an active SAS Compute Server instance.\n     * @param {string} [contextName] Returns only active servers for the specified context definition.\n     * @param {number} [start] Specifies the offset of first active server listing to return. The default value is \\&quot;0\\&quot;.\n     * @param {number} [limit] Specifies the maximum number of active server listings to return. The default value is \\&quot;10\\&quot;.\n     * @param {string} [filter] Specifies the filter criteria for returned active server listings.\n     * @param {string} [sortBy] Sorts returned active server listings.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    getServers: async (\n      acceptItem?:\n        | \"application/vnd.sas.compute.server+json\"\n        | \"application/vnd.sas.compute.server.summary+json\",\n      serverId?: string,\n      contextName?: string,\n      start?: number,\n      limit?: number,\n      filter?: string,\n      sortBy?: string,\n      options: AxiosRequestConfig = {},\n    ): Promise<RequestArgs> => {\n      const localVarPath = `/servers`;\n      // use dummy base URL string because the URL constructor only accepts absolute URLs.\n      const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n      let baseOptions;\n      if (configuration) {\n        baseOptions = configuration.baseOptions;\n      }\n\n      const localVarRequestOptions = {\n        method: \"GET\",\n        ...baseOptions,\n        ...options,\n      };\n      const localVarHeaderParameter = {} as any;\n      const localVarQueryParameter = {} as any;\n\n      if (serverId !== undefined) {\n        localVarQueryParameter[\"serverId\"] = serverId;\n      }\n\n      if (contextName !== undefined) {\n        localVarQueryParameter[\"contextName\"] = contextName;\n      }\n\n      if (start !== undefined) {\n        localVarQueryParameter[\"start\"] = start;\n      }\n\n      if (limit !== undefined) {\n        localVarQueryParameter[\"limit\"] = limit;\n      }\n\n      if (filter !== undefined) {\n        localVarQueryParameter[\"filter\"] = filter;\n      }\n\n      if (sortBy !== undefined) {\n        localVarQueryParameter[\"sortBy\"] = sortBy;\n      }\n\n      if (acceptItem != null) {\n        localVarHeaderParameter[\"Accept-Item\"] = String(acceptItem);\n      }\n\n      setSearchParams(localVarUrlObj, localVarQueryParameter);\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {};\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      };\n\n      return {\n        url: toPathString(localVarUrlObj),\n        options: localVarRequestOptions,\n      };\n    },\n    /**\n     * Determines whether the specified server exists.\n     * @summary Verify that a server exists\n     * @param {string} serverId Returns the active server for this server identifier.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    headersForServer: async (\n      serverId: string,\n      options: AxiosRequestConfig = {},\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'serverId' is not null or undefined\n      assertParamExists(\"headersForServer\", \"serverId\", serverId);\n      const localVarPath = `/servers/{serverId}`.replace(\n        `{${\"serverId\"}}`,\n        encodeURIComponent(String(serverId)),\n      );\n      // use dummy base URL string because the URL constructor only accepts absolute URLs.\n      const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n      let baseOptions;\n      if (configuration) {\n        baseOptions = configuration.baseOptions;\n      }\n\n      const localVarRequestOptions = {\n        method: \"HEAD\",\n        ...baseOptions,\n        ...options,\n      };\n      const localVarHeaderParameter = {} as any;\n      const localVarQueryParameter = {} as any;\n\n      setSearchParams(localVarUrlObj, localVarQueryParameter);\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {};\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      };\n\n      return {\n        url: toPathString(localVarUrlObj),\n        options: localVarRequestOptions,\n      };\n    },\n    /**\n     * Determines whether the session endpoint for a server is available.\n     * @summary Check sessions endpoint for a server\n     * @param {string} serverId Specifies the ID of the server definition.\n     * @param {number} [start] Specifies the offset of first session to return. The default value is \\&quot;0\\&quot;.\n     * @param {number} [limit] Specifies the maximum number of sessions to return. The default value is \\&quot;10\\&quot;.\n     * @param {string} [filter] Specifies the filter criteria for returned sessions.\n     * @param {string} [sortBy] Sorts returned sessions.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    headersForServerSessions: async (\n      serverId: string,\n      start?: number,\n      limit?: number,\n      filter?: string,\n      sortBy?: string,\n      options: AxiosRequestConfig = {},\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'serverId' is not null or undefined\n      assertParamExists(\"headersForServerSessions\", \"serverId\", serverId);\n      const localVarPath = `/servers/{serverId}/sessions`.replace(\n        `{${\"serverId\"}}`,\n        encodeURIComponent(String(serverId)),\n      );\n      // use dummy base URL string because the URL constructor only accepts absolute URLs.\n      const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n      let baseOptions;\n      if (configuration) {\n        baseOptions = configuration.baseOptions;\n      }\n\n      const localVarRequestOptions = {\n        method: \"HEAD\",\n        ...baseOptions,\n        ...options,\n      };\n      const localVarHeaderParameter = {} as any;\n      const localVarQueryParameter = {} as any;\n\n      if (start !== undefined) {\n        localVarQueryParameter[\"start\"] = start;\n      }\n\n      if (limit !== undefined) {\n        localVarQueryParameter[\"limit\"] = limit;\n      }\n\n      if (filter !== undefined) {\n        localVarQueryParameter[\"filter\"] = filter;\n      }\n\n      if (sortBy !== undefined) {\n        localVarQueryParameter[\"sortBy\"] = sortBy;\n      }\n\n      setSearchParams(localVarUrlObj, localVarQueryParameter);\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {};\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      };\n\n      return {\n        url: toPathString(localVarUrlObj),\n        options: localVarRequestOptions,\n      };\n    },\n    /**\n     * Determines whether the status endpoint for a server is available.\n     * @summary Check server status endpoint\n     * @param {string} serverId Specifies the ID of the server.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    headersForServerState: async (\n      serverId: string,\n      options: AxiosRequestConfig = {},\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'serverId' is not null or undefined\n      assertParamExists(\"headersForServerState\", \"serverId\", serverId);\n      const localVarPath = `/servers/{serverId}/state`.replace(\n        `{${\"serverId\"}}`,\n        encodeURIComponent(String(serverId)),\n      );\n      // use dummy base URL string because the URL constructor only accepts absolute URLs.\n      const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n      let baseOptions;\n      if (configuration) {\n        baseOptions = configuration.baseOptions;\n      }\n\n      const localVarRequestOptions = {\n        method: \"HEAD\",\n        ...baseOptions,\n        ...options,\n      };\n      const localVarHeaderParameter = {} as any;\n      const localVarQueryParameter = {} as any;\n\n      setSearchParams(localVarUrlObj, localVarQueryParameter);\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {};\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      };\n\n      return {\n        url: toPathString(localVarUrlObj),\n        options: localVarRequestOptions,\n      };\n    },\n    /**\n     * Determine whether the servers endpoint is currently available.\n     * @summary Check endpoint availability\n     * @param {string} [serverId] Returns the active server that matches a serverId. The serverId is a unique identifier for an active SAS Compute Server instance.\n     * @param {string} [contextName] Returns active servers for the specified context definition.\n     * @param {number} [start] Specifies the offset of the first active server listing to return. The default value is \\&quot;0\\&quot;.\n     * @param {number} [limit] Specifies the maximum number of active server listings to return. The default value is \\&quot;10\\&quot;.\n     * @param {string} [filter] Specifies the filter criteria for returned active server listings.\n     * @param {string} [sortBy] Sorts returned active server listings.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    headersForServers: async (\n      serverId?: string,\n      contextName?: string,\n      start?: number,\n      limit?: number,\n      filter?: string,\n      sortBy?: string,\n      options: AxiosRequestConfig = {},\n    ): Promise<RequestArgs> => {\n      const localVarPath = `/servers`;\n      // use dummy base URL string because the URL constructor only accepts absolute URLs.\n      const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n      let baseOptions;\n      if (configuration) {\n        baseOptions = configuration.baseOptions;\n      }\n\n      const localVarRequestOptions = {\n        method: \"HEAD\",\n        ...baseOptions,\n        ...options,\n      };\n      const localVarHeaderParameter = {} as any;\n      const localVarQueryParameter = {} as any;\n\n      if (serverId !== undefined) {\n        localVarQueryParameter[\"serverId\"] = serverId;\n      }\n\n      if (contextName !== undefined) {\n        localVarQueryParameter[\"contextName\"] = contextName;\n      }\n\n      if (start !== undefined) {\n        localVarQueryParameter[\"start\"] = start;\n      }\n\n      if (limit !== undefined) {\n        localVarQueryParameter[\"limit\"] = limit;\n      }\n\n      if (filter !== undefined) {\n        localVarQueryParameter[\"filter\"] = filter;\n      }\n\n      if (sortBy !== undefined) {\n        localVarQueryParameter[\"sortBy\"] = sortBy;\n      }\n\n      setSearchParams(localVarUrlObj, localVarQueryParameter);\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {};\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      };\n\n      return {\n        url: toPathString(localVarUrlObj),\n        options: localVarRequestOptions,\n      };\n    },\n  };\n};\n\n/**\n * ServersApi - functional programming interface\n * @export\n */\nexport const ServersApi = function (configuration?: Configuration) {\n  const localVarAxiosParamCreator = ServersApiAxiosParamCreator(configuration);\n  return {\n    /**\n     * Stops the specified server instance. The user must have administration permissions on the server to perform this request.\n     * @summary Stop the server\n     * @param {ServersApiDeleteServerRequest} requestParameters Request parameters.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async deleteServer(\n      requestParameters: ServersApiDeleteServerRequest,\n      options?: AxiosRequestConfig,\n    ): Promise<AxiosResponse<void>> {\n      const localVarAxiosArgs = await localVarAxiosParamCreator.deleteServer(\n        requestParameters.serverId,\n        options,\n      );\n      return createRequestFunction(localVarAxiosArgs, configuration);\n    },\n\n    /**\n     * Returns links and information for the active server instance. The serverId is a unique identifier for an active SAS Compute Server instance.\n     * @summary Get links for the active server\n     * @param {ServersApiGetServerRequest} requestParameters Request parameters.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async getServer(\n      requestParameters: ServersApiGetServerRequest,\n      options?: AxiosRequestConfig,\n    ): Promise<AxiosResponse<Server>> {\n      const localVarAxiosArgs = await localVarAxiosParamCreator.getServer(\n        requestParameters.serverId,\n        options,\n      );\n      return createRequestFunction(localVarAxiosArgs, configuration);\n    },\n\n    /**\n     * Gets a paginated list of sessions that are owned by the requested service instance. Standard paging, filtering, and sorting options are provided.\n     * @summary Get active sessions for server\n     * @param {ServersApiGetServerSessionsRequest} requestParameters Request parameters.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async getServerSessions(\n      requestParameters: ServersApiGetServerSessionsRequest,\n      options?: AxiosRequestConfig,\n    ): Promise<AxiosResponse<SessionSummaryCollection>> {\n      const localVarAxiosArgs =\n        await localVarAxiosParamCreator.getServerSessions(\n          requestParameters.serverId,\n          requestParameters.acceptItem,\n          requestParameters.start,\n          requestParameters.limit,\n          requestParameters.filter,\n          requestParameters.sortBy,\n          options,\n        );\n      return createRequestFunction(localVarAxiosArgs, configuration);\n    },\n\n    /**\n     * Gets the current status of a server. The value that is returned is either running or stopped.\n     * @summary Get server status\n     * @param {ServersApiGetServerStateRequest} requestParameters Request parameters.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async getServerState(\n      requestParameters: ServersApiGetServerStateRequest,\n      options?: AxiosRequestConfig,\n    ): Promise<AxiosResponse<string>> {\n      const localVarAxiosArgs = await localVarAxiosParamCreator.getServerState(\n        requestParameters.serverId,\n        options,\n      );\n      return createRequestFunction(localVarAxiosArgs, configuration);\n    },\n\n    /**\n     * Returns a list of active servers. Standard paging, filtering, and sorting options are provided. This method is restricted to users with ADMIN permission on this URL for monitoring purposes. By default, this endpoint returns a summary of the available information about the active servers. Specify an Accept-Item header with the value application/vnd.sas.compute.server+json to get all available information for each server.\n     * @summary Get active servers\n     * @param {ServersApiGetServersRequest} requestParameters Request parameters.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async getServers(\n      requestParameters: ServersApiGetServersRequest = {},\n      options?: AxiosRequestConfig,\n    ): Promise<AxiosResponse<ServerSummaryCollection>> {\n      const localVarAxiosArgs = await localVarAxiosParamCreator.getServers(\n        requestParameters.acceptItem,\n        requestParameters.serverId,\n        requestParameters.contextName,\n        requestParameters.start,\n        requestParameters.limit,\n        requestParameters.filter,\n        requestParameters.sortBy,\n        options,\n      );\n      return createRequestFunction(localVarAxiosArgs, configuration);\n    },\n\n    /**\n     * Determines whether the specified server exists.\n     * @summary Verify that a server exists\n     * @param {ServersApiHeadersForServerRequest} requestParameters Request parameters.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async headersForServer(\n      requestParameters: ServersApiHeadersForServerRequest,\n      options?: AxiosRequestConfig,\n    ): Promise<AxiosResponse<void>> {\n      const localVarAxiosArgs =\n        await localVarAxiosParamCreator.headersForServer(\n          requestParameters.serverId,\n          options,\n        );\n      return createRequestFunction(localVarAxiosArgs, configuration);\n    },\n\n    /**\n     * Determines whether the session endpoint for a server is available.\n     * @summary Check sessions endpoint for a server\n     * @param {ServersApiHeadersForServerSessionsRequest} requestParameters Request parameters.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async headersForServerSessions(\n      requestParameters: ServersApiHeadersForServerSessionsRequest,\n      options?: AxiosRequestConfig,\n    ): Promise<AxiosResponse<void>> {\n      const localVarAxiosArgs =\n        await localVarAxiosParamCreator.headersForServerSessions(\n          requestParameters.serverId,\n          requestParameters.start,\n          requestParameters.limit,\n          requestParameters.filter,\n          requestParameters.sortBy,\n          options,\n        );\n      return createRequestFunction(localVarAxiosArgs, configuration);\n    },\n\n    /**\n     * Determines whether the status endpoint for a server is available.\n     * @summary Check server status endpoint\n     * @param {ServersApiHeadersForServerStateRequest} requestParameters Request parameters.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async headersForServerState(\n      requestParameters: ServersApiHeadersForServerStateRequest,\n      options?: AxiosRequestConfig,\n    ): Promise<AxiosResponse<void>> {\n      const localVarAxiosArgs =\n        await localVarAxiosParamCreator.headersForServerState(\n          requestParameters.serverId,\n          options,\n        );\n      return createRequestFunction(localVarAxiosArgs, configuration);\n    },\n\n    /**\n     * Determine whether the servers endpoint is currently available.\n     * @summary Check endpoint availability\n     * @param {ServersApiHeadersForServersRequest} requestParameters Request parameters.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async headersForServers(\n      requestParameters: ServersApiHeadersForServersRequest = {},\n      options?: AxiosRequestConfig,\n    ): Promise<AxiosResponse<void>> {\n      const localVarAxiosArgs =\n        await localVarAxiosParamCreator.headersForServers(\n          requestParameters.serverId,\n          requestParameters.contextName,\n          requestParameters.start,\n          requestParameters.limit,\n          requestParameters.filter,\n          requestParameters.sortBy,\n          options,\n        );\n      return createRequestFunction(localVarAxiosArgs, configuration);\n    },\n  };\n};\n\n/**\n * Request parameters for deleteServer operation in ServersApi.\n * @export\n * @interface ServersApiDeleteServerRequest\n */\nexport interface ServersApiDeleteServerRequest {\n  /**\n   * Specifies the ID of the server definition.\n   * @type {string}\n   * @memberof ServersApiDeleteServer\n   */\n  readonly serverId: string;\n}\n\n/**\n * Request parameters for getServer operation in ServersApi.\n * @export\n * @interface ServersApiGetServerRequest\n */\nexport interface ServersApiGetServerRequest {\n  /**\n   * Returns the active server for this server identifier.\n   * @type {string}\n   * @memberof ServersApiGetServer\n   */\n  readonly serverId: string;\n}\n\n/**\n * Request parameters for getServerSessions operation in ServersApi.\n * @export\n * @interface ServersApiGetServerSessionsRequest\n */\nexport interface ServersApiGetServerSessionsRequest {\n  /**\n   * Specifies the ID of the server definition.\n   * @type {string}\n   * @memberof ServersApiGetServerSessions\n   */\n  readonly serverId: string;\n\n  /**\n   * Returns the desired session representation.&lt;br&gt; The Accept-Item options are: &lt;ul&gt; &lt;li&gt;application/vnd.sas.compute.session+json &lt;li&gt;application/vnd.sas.compute.session.summary+json &lt;li&gt;blank &lt;/ul&gt; If the application/vnd.sas.compute.session.summary+json type is specified or no Accept-Item header is specified, then the sessions are returned as summary representation session objects.\n   * @type {'application/vnd.sas.compute.session+json' | 'application/vnd.sas.compute.session.summary+json'}\n   * @memberof ServersApiGetServerSessions\n   */\n  readonly acceptItem?:\n    | \"application/vnd.sas.compute.session+json\"\n    | \"application/vnd.sas.compute.session.summary+json\";\n\n  /**\n   * Specifies the offset of first session to return. The default value is \\&quot;0\\&quot;.\n   * @type {number}\n   * @memberof ServersApiGetServerSessions\n   */\n  readonly start?: number;\n\n  /**\n   * Specifies the maximum number of sessions to return. The default value is \\&quot;10\\&quot;.\n   * @type {number}\n   * @memberof ServersApiGetServerSessions\n   */\n  readonly limit?: number;\n\n  /**\n   * Specifies the filter criteria for returned sessions.\n   * @type {string}\n   * @memberof ServersApiGetServerSessions\n   */\n  readonly filter?: string;\n\n  /**\n   * Sorts returned sessions.\n   * @type {string}\n   * @memberof ServersApiGetServerSessions\n   */\n  readonly sortBy?: string;\n}\n\n/**\n * Request parameters for getServerState operation in ServersApi.\n * @export\n * @interface ServersApiGetServerStateRequest\n */\nexport interface ServersApiGetServerStateRequest {\n  /**\n   * Specifies the ID of the server.\n   * @type {string}\n   * @memberof ServersApiGetServerState\n   */\n  readonly serverId: string;\n}\n\n/**\n * Request parameters for getServers operation in ServersApi.\n * @export\n * @interface ServersApiGetServersRequest\n */\nexport interface ServersApiGetServersRequest {\n  /**\n   * Specifies the desired server representation.&lt;br&gt; The Accept-Item options are: &lt;ul&gt; &lt;li&gt;application/vnd.sas.compute.server+json &lt;li&gt;application/vnd.sas.compute.server.summary+json &lt;li&gt;blank &lt;/ul&gt; If the application/vnd.sas.compute.server.summary+json type is specified or no Accept-Item header is specified, then the servers are returned as summary representation server objects.\n   * @type {'application/vnd.sas.compute.server+json' | 'application/vnd.sas.compute.server.summary+json'}\n   * @memberof ServersApiGetServers\n   */\n  readonly acceptItem?:\n    | \"application/vnd.sas.compute.server+json\"\n    | \"application/vnd.sas.compute.server.summary+json\";\n\n  /**\n   * Returns only the active server that matches the serverId. The serverId is a unique identifier for an active SAS Compute Server instance.\n   * @type {string}\n   * @memberof ServersApiGetServers\n   */\n  readonly serverId?: string;\n\n  /**\n   * Returns only active servers for the specified context definition.\n   * @type {string}\n   * @memberof ServersApiGetServers\n   */\n  readonly contextName?: string;\n\n  /**\n   * Specifies the offset of first active server listing to return. The default value is \\&quot;0\\&quot;.\n   * @type {number}\n   * @memberof ServersApiGetServers\n   */\n  readonly start?: number;\n\n  /**\n   * Specifies the maximum number of active server listings to return. The default value is \\&quot;10\\&quot;.\n   * @type {number}\n   * @memberof ServersApiGetServers\n   */\n  readonly limit?: number;\n\n  /**\n   * Specifies the filter criteria for returned active server listings.\n   * @type {string}\n   * @memberof ServersApiGetServers\n   */\n  readonly filter?: string;\n\n  /**\n   * Sorts returned active server listings.\n   * @type {string}\n   * @memberof ServersApiGetServers\n   */\n  readonly sortBy?: string;\n}\n\n/**\n * Request parameters for headersForServer operation in ServersApi.\n * @export\n * @interface ServersApiHeadersForServerRequest\n */\nexport interface ServersApiHeadersForServerRequest {\n  /**\n   * Returns the active server for this server identifier.\n   * @type {string}\n   * @memberof ServersApiHeadersForServer\n   */\n  readonly serverId: string;\n}\n\n/**\n * Request parameters for headersForServerSessions operation in ServersApi.\n * @export\n * @interface ServersApiHeadersForServerSessionsRequest\n */\nexport interface ServersApiHeadersForServerSessionsRequest {\n  /**\n   * Specifies the ID of the server definition.\n   * @type {string}\n   * @memberof ServersApiHeadersForServerSessions\n   */\n  readonly serverId: string;\n\n  /**\n   * Specifies the offset of first session to return. The default value is \\&quot;0\\&quot;.\n   * @type {number}\n   * @memberof ServersApiHeadersForServerSessions\n   */\n  readonly start?: number;\n\n  /**\n   * Specifies the maximum number of sessions to return. The default value is \\&quot;10\\&quot;.\n   * @type {number}\n   * @memberof ServersApiHeadersForServerSessions\n   */\n  readonly limit?: number;\n\n  /**\n   * Specifies the filter criteria for returned sessions.\n   * @type {string}\n   * @memberof ServersApiHeadersForServerSessions\n   */\n  readonly filter?: string;\n\n  /**\n   * Sorts returned sessions.\n   * @type {string}\n   * @memberof ServersApiHeadersForServerSessions\n   */\n  readonly sortBy?: string;\n}\n\n/**\n * Request parameters for headersForServerState operation in ServersApi.\n * @export\n * @interface ServersApiHeadersForServerStateRequest\n */\nexport interface ServersApiHeadersForServerStateRequest {\n  /**\n   * Specifies the ID of the server.\n   * @type {string}\n   * @memberof ServersApiHeadersForServerState\n   */\n  readonly serverId: string;\n}\n\n/**\n * Request parameters for headersForServers operation in ServersApi.\n * @export\n * @interface ServersApiHeadersForServersRequest\n */\nexport interface ServersApiHeadersForServersRequest {\n  /**\n   * Returns the active server that matches a serverId. The serverId is a unique identifier for an active SAS Compute Server instance.\n   * @type {string}\n   * @memberof ServersApiHeadersForServers\n   */\n  readonly serverId?: string;\n\n  /**\n   * Returns active servers for the specified context definition.\n   * @type {string}\n   * @memberof ServersApiHeadersForServers\n   */\n  readonly contextName?: string;\n\n  /**\n   * Specifies the offset of the first active server listing to return. The default value is \\&quot;0\\&quot;.\n   * @type {number}\n   * @memberof ServersApiHeadersForServers\n   */\n  readonly start?: number;\n\n  /**\n   * Specifies the maximum number of active server listings to return. The default value is \\&quot;10\\&quot;.\n   * @type {number}\n   * @memberof ServersApiHeadersForServers\n   */\n  readonly limit?: number;\n\n  /**\n   * Specifies the filter criteria for returned active server listings.\n   * @type {string}\n   * @memberof ServersApiHeadersForServers\n   */\n  readonly filter?: string;\n\n  /**\n   * Sorts returned active server listings.\n   * @type {string}\n   * @memberof ServersApiHeadersForServers\n   */\n  readonly sortBy?: string;\n}\n\n/**\n * SessionsApi - axios parameter creator\n * @export\n */\nexport const SessionsApiAxiosParamCreator = function (\n  configuration?: Configuration,\n) {\n  return {\n    /**\n     * Deletes the specified session.\n     * @summary Delete session\n     * @param {string} sessionId Specifies the ID of the session.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    deleteSession: async (\n      sessionId: string,\n      options: AxiosRequestConfig = {},\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'sessionId' is not null or undefined\n      assertParamExists(\"deleteSession\", \"sessionId\", sessionId);\n      const localVarPath = `/sessions/{sessionId}`.replace(\n        `{${\"sessionId\"}}`,\n        encodeURIComponent(String(sessionId)),\n      );\n      // use dummy base URL string because the URL constructor only accepts absolute URLs.\n      const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n      let baseOptions;\n      if (configuration) {\n        baseOptions = configuration.baseOptions;\n      }\n\n      const localVarRequestOptions = {\n        method: \"DELETE\",\n        ...baseOptions,\n        ...options,\n      };\n      const localVarHeaderParameter = {} as any;\n      const localVarQueryParameter = {} as any;\n\n      setSearchParams(localVarUrlObj, localVarQueryParameter);\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {};\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      };\n\n      return {\n        url: toPathString(localVarUrlObj),\n        options: localVarRequestOptions,\n      };\n    },\n    /**\n     * Returns a representation of the session that includes links for the session.\n     * @summary Get current session information\n     * @param {string} sessionId Specifies the ID of the session.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    getSession: async (\n      sessionId: string,\n      options: AxiosRequestConfig = {},\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'sessionId' is not null or undefined\n      assertParamExists(\"getSession\", \"sessionId\", sessionId);\n      const localVarPath = `/sessions/{sessionId}`.replace(\n        `{${\"sessionId\"}}`,\n        encodeURIComponent(String(sessionId)),\n      );\n      // use dummy base URL string because the URL constructor only accepts absolute URLs.\n      const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n      let baseOptions;\n      if (configuration) {\n        baseOptions = configuration.baseOptions;\n      }\n\n      const localVarRequestOptions = {\n        method: \"GET\",\n        ...baseOptions,\n        ...options,\n      };\n      const localVarHeaderParameter = {} as any;\n      const localVarQueryParameter = {} as any;\n\n      setSearchParams(localVarUrlObj, localVarQueryParameter);\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {};\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      };\n\n      return {\n        url: toPathString(localVarUrlObj),\n        options: localVarRequestOptions,\n      };\n    },\n    /**\n     * Returns the session state.\n     * @summary Get session state\n     * @param {string} sessionId Specifies the ID of the session.\n     * @param {number} [wait] Specifies the request time-out, in seconds. This parameter is ignored unless it is specified in combination with the &#x60;If-None-Match&#x60; header. If the state of the resource remains unchanged until the specified number of seconds has elapsed, then a status of 304 is returned. The request determines whether the current state matches the state when the ETag was specified via the &#x60;If-None-Match&#x60; header. If the state differs within the specified time period, then the new state is returned.\n     * @param {string} [ifNoneMatch] Specifies the ETag associated with a value of the session state.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    getSessionState: async (\n      sessionId: string,\n      wait?: number,\n      ifNoneMatch?: string,\n      options: AxiosRequestConfig = {},\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'sessionId' is not null or undefined\n      assertParamExists(\"getSessionState\", \"sessionId\", sessionId);\n      const localVarPath = `/sessions/{sessionId}/state`.replace(\n        `{${\"sessionId\"}}`,\n        encodeURIComponent(String(sessionId)),\n      );\n      // use dummy base URL string because the URL constructor only accepts absolute URLs.\n      const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n      let baseOptions;\n      if (configuration) {\n        baseOptions = configuration.baseOptions;\n      }\n\n      const localVarRequestOptions = {\n        method: \"GET\",\n        ...baseOptions,\n        ...options,\n      };\n      const localVarHeaderParameter = {} as any;\n      const localVarQueryParameter = {} as any;\n\n      if (wait !== undefined) {\n        localVarQueryParameter[\"wait\"] = wait;\n      }\n\n      if (ifNoneMatch != null) {\n        localVarHeaderParameter[\"If-None-Match\"] = String(ifNoneMatch);\n      }\n\n      setSearchParams(localVarUrlObj, localVarQueryParameter);\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {};\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      };\n\n      return {\n        url: toPathString(localVarUrlObj),\n        options: localVarRequestOptions,\n      };\n    },\n    /**\n     * Gets a paginated list of sessions. Standard paging, filtering, and sorting options are provided. By default, this endpoint returns a summary of the available information about the sessions. Specify an Accept-Item header with the value application/vnd.sas.compute.session+json to get all available information for each session.\n     * @summary Get active compute sessions\n     * @param {'application/vnd.sas.compute.session+json' | 'application/vnd.sas.compute.session.summary+json'} [acceptItem] Specifies the desired session representation.&lt;br&gt; The Accept-Item options are: &lt;ul&gt; &lt;li&gt;application/vnd.sas.compute.session+json &lt;li&gt;application/vnd.sas.compute.session.summary+json &lt;li&gt;blank &lt;/ul&gt; If the application/vnd.sas.compute.session.summary+json type is specified or no Accept-Item header is specified, then the sessions are returned as summary representation session objects.\n     * @param {number} [start] Specifies the offset of first session to return. The default value is \\&quot;0\\&quot;.\n     * @param {number} [limit] Specifies the maximum number of sessions to return. The default value is \\&quot;10\\&quot;.\n     * @param {string} [filter] Specifies the filter criteria for returned sessions.\n     * @param {string} [sortBy] Sorts returned sessions.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    getSessions: async (\n      acceptItem?:\n        | \"application/vnd.sas.compute.session+json\"\n        | \"application/vnd.sas.compute.session.summary+json\",\n      start?: number,\n      limit?: number,\n      filter?: string,\n      sortBy?: string,\n      options: AxiosRequestConfig = {},\n    ): Promise<RequestArgs> => {\n      const localVarPath = `/sessions`;\n      // use dummy base URL string because the URL constructor only accepts absolute URLs.\n      const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n      let baseOptions;\n      if (configuration) {\n        baseOptions = configuration.baseOptions;\n      }\n\n      const localVarRequestOptions = {\n        method: \"GET\",\n        ...baseOptions,\n        ...options,\n      };\n      const localVarHeaderParameter = {} as any;\n      const localVarQueryParameter = {} as any;\n\n      if (start !== undefined) {\n        localVarQueryParameter[\"start\"] = start;\n      }\n\n      if (limit !== undefined) {\n        localVarQueryParameter[\"limit\"] = limit;\n      }\n\n      if (filter !== undefined) {\n        localVarQueryParameter[\"filter\"] = filter;\n      }\n\n      if (sortBy !== undefined) {\n        localVarQueryParameter[\"sortBy\"] = sortBy;\n      }\n\n      if (acceptItem != null) {\n        localVarHeaderParameter[\"Accept-Item\"] = String(acceptItem);\n      }\n\n      setSearchParams(localVarUrlObj, localVarQueryParameter);\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {};\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      };\n\n      return {\n        url: toPathString(localVarUrlObj),\n        options: localVarRequestOptions,\n      };\n    },\n    /**\n     * Determines whether the specified session is available.\n     * @summary Verify session availability\n     * @param {string} sessionId Specifies the ID of the session that you are checking.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    headersForSession: async (\n      sessionId: string,\n      options: AxiosRequestConfig = {},\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'sessionId' is not null or undefined\n      assertParamExists(\"headersForSession\", \"sessionId\", sessionId);\n      const localVarPath = `/sessions/{sessionId}`.replace(\n        `{${\"sessionId\"}}`,\n        encodeURIComponent(String(sessionId)),\n      );\n      // use dummy base URL string because the URL constructor only accepts absolute URLs.\n      const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n      let baseOptions;\n      if (configuration) {\n        baseOptions = configuration.baseOptions;\n      }\n\n      const localVarRequestOptions = {\n        method: \"HEAD\",\n        ...baseOptions,\n        ...options,\n      };\n      const localVarHeaderParameter = {} as any;\n      const localVarQueryParameter = {} as any;\n\n      setSearchParams(localVarUrlObj, localVarQueryParameter);\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {};\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      };\n\n      return {\n        url: toPathString(localVarUrlObj),\n        options: localVarRequestOptions,\n      };\n    },\n    /**\n     * Determines whether the state endpoint is available.\n     * @summary Check state availability\n     * @param {string} sessionId Specifies the ID of the session whose state endpoint you are checking.\n     * @param {number} [wait] Specifies the request time-out, in seconds. This parameter is ignored unless it is specified in combination with the &#x60;If-None-Match&#x60; header. If the state of the resource remains unchanged until the specified number of seconds has elapsed, then a status of 304 is returned. The request determines whether the current state matches the state when the ETag was specified via the &#x60;If-None-Match&#x60; header. If the state differs within the specified time period, then the new state is returned.\n     * @param {string} [ifNoneMatch] Specifies the ETag that is associated with a value of the session state.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    headersForSessionState: async (\n      sessionId: string,\n      wait?: number,\n      ifNoneMatch?: string,\n      options: AxiosRequestConfig = {},\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'sessionId' is not null or undefined\n      assertParamExists(\"headersForSessionState\", \"sessionId\", sessionId);\n      const localVarPath = `/sessions/{sessionId}/state`.replace(\n        `{${\"sessionId\"}}`,\n        encodeURIComponent(String(sessionId)),\n      );\n      // use dummy base URL string because the URL constructor only accepts absolute URLs.\n      const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n      let baseOptions;\n      if (configuration) {\n        baseOptions = configuration.baseOptions;\n      }\n\n      const localVarRequestOptions = {\n        method: \"HEAD\",\n        ...baseOptions,\n        ...options,\n      };\n      const localVarHeaderParameter = {} as any;\n      const localVarQueryParameter = {} as any;\n\n      if (wait !== undefined) {\n        localVarQueryParameter[\"wait\"] = wait;\n      }\n\n      if (ifNoneMatch != null) {\n        localVarHeaderParameter[\"If-None-Match\"] = String(ifNoneMatch);\n      }\n\n      setSearchParams(localVarUrlObj, localVarQueryParameter);\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {};\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      };\n\n      return {\n        url: toPathString(localVarUrlObj),\n        options: localVarRequestOptions,\n      };\n    },\n    /**\n     * Determines whether a session endpoint is available.\n     * @summary Check endpoint availability\n     * @param {number} [start] Specifies the offset of the first session to return. The default value is \\&quot;0\\&quot;.\n     * @param {number} [limit] Maximum number of sessions to return.  The default value is \\&quot;10\\&quot;.\n     * @param {string} [filter] Specifies the filter criteria for returned sessions.\n     * @param {string} [sortBy] Sorts returned sessions.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    headersForSessions: async (\n      start?: number,\n      limit?: number,\n      filter?: string,\n      sortBy?: string,\n      options: AxiosRequestConfig = {},\n    ): Promise<RequestArgs> => {\n      const localVarPath = `/sessions`;\n      // use dummy base URL string because the URL constructor only accepts absolute URLs.\n      const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n      let baseOptions;\n      if (configuration) {\n        baseOptions = configuration.baseOptions;\n      }\n\n      const localVarRequestOptions = {\n        method: \"HEAD\",\n        ...baseOptions,\n        ...options,\n      };\n      const localVarHeaderParameter = {} as any;\n      const localVarQueryParameter = {} as any;\n\n      if (start !== undefined) {\n        localVarQueryParameter[\"start\"] = start;\n      }\n\n      if (limit !== undefined) {\n        localVarQueryParameter[\"limit\"] = limit;\n      }\n\n      if (filter !== undefined) {\n        localVarQueryParameter[\"filter\"] = filter;\n      }\n\n      if (sortBy !== undefined) {\n        localVarQueryParameter[\"sortBy\"] = sortBy;\n      }\n\n      setSearchParams(localVarUrlObj, localVarQueryParameter);\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {};\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      };\n\n      return {\n        url: toPathString(localVarUrlObj),\n        options: localVarRequestOptions,\n      };\n    },\n    /**\n     * Sets the current state of a session. Use this method to cancel running code by setting the state to canceled.\n     * @summary Set state of a session\n     * @param {string} sessionId Specifies the ID of the session.\n     * @param {'canceled' | 'deleted'} value Specifies the new session state, such as canceled.\n     * @param {string} ifMatch Specifies the ETag of the session that you are updating.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    updateSessionState: async (\n      sessionId: string,\n      value: \"canceled\" | \"deleted\",\n      ifMatch: string,\n      options: AxiosRequestConfig = {},\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'sessionId' is not null or undefined\n      assertParamExists(\"updateSessionState\", \"sessionId\", sessionId);\n      // verify required parameter 'value' is not null or undefined\n      assertParamExists(\"updateSessionState\", \"value\", value);\n      // verify required parameter 'ifMatch' is not null or undefined\n      assertParamExists(\"updateSessionState\", \"ifMatch\", ifMatch);\n      const localVarPath = `/sessions/{sessionId}/state`.replace(\n        `{${\"sessionId\"}}`,\n        encodeURIComponent(String(sessionId)),\n      );\n      // use dummy base URL string because the URL constructor only accepts absolute URLs.\n      const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n      let baseOptions;\n      if (configuration) {\n        baseOptions = configuration.baseOptions;\n      }\n\n      const localVarRequestOptions = {\n        method: \"PUT\",\n        ...baseOptions,\n        ...options,\n      };\n      const localVarHeaderParameter = {} as any;\n      const localVarQueryParameter = {} as any;\n\n      if (value !== undefined) {\n        localVarQueryParameter[\"value\"] = value;\n      }\n\n      if (ifMatch != null) {\n        localVarHeaderParameter[\"If-Match\"] = String(ifMatch);\n      }\n\n      setSearchParams(localVarUrlObj, localVarQueryParameter);\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {};\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      };\n\n      return {\n        url: toPathString(localVarUrlObj),\n        options: localVarRequestOptions,\n      };\n    },\n  };\n};\n\n/**\n * SessionsApi - functional programming interface\n * @export\n */\nexport const SessionsApi = function (configuration?: Configuration) {\n  const localVarAxiosParamCreator = SessionsApiAxiosParamCreator(configuration);\n  return {\n    /**\n     * Deletes the specified session.\n     * @summary Delete session\n     * @param {SessionsApiDeleteSessionRequest} requestParameters Request parameters.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async deleteSession(\n      requestParameters: SessionsApiDeleteSessionRequest,\n      options?: AxiosRequestConfig,\n    ): Promise<AxiosResponse<void>> {\n      const localVarAxiosArgs = await localVarAxiosParamCreator.deleteSession(\n        requestParameters.sessionId,\n        options,\n      );\n      return createRequestFunction(localVarAxiosArgs, configuration);\n    },\n\n    /**\n     * Returns a representation of the session that includes links for the session.\n     * @summary Get current session information\n     * @param {SessionsApiGetSessionRequest} requestParameters Request parameters.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async getSession(\n      requestParameters: SessionsApiGetSessionRequest,\n      options?: AxiosRequestConfig,\n    ): Promise<AxiosResponse<Session>> {\n      const localVarAxiosArgs = await localVarAxiosParamCreator.getSession(\n        requestParameters.sessionId,\n        options,\n      );\n      return createRequestFunction(localVarAxiosArgs, configuration);\n    },\n\n    /**\n     * Returns the session state.\n     * @summary Get session state\n     * @param {SessionsApiGetSessionStateRequest} requestParameters Request parameters.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async getSessionState(\n      requestParameters: SessionsApiGetSessionStateRequest,\n      options?: AxiosRequestConfig,\n    ): Promise<AxiosResponse<string>> {\n      const localVarAxiosArgs = await localVarAxiosParamCreator.getSessionState(\n        requestParameters.sessionId,\n        requestParameters.wait,\n        requestParameters.ifNoneMatch,\n        options,\n      );\n      return createRequestFunction(localVarAxiosArgs, configuration);\n    },\n\n    /**\n     * Gets a paginated list of sessions. Standard paging, filtering, and sorting options are provided. By default, this endpoint returns a summary of the available information about the sessions. Specify an Accept-Item header with the value application/vnd.sas.compute.session+json to get all available information for each session.\n     * @summary Get active compute sessions\n     * @param {SessionsApiGetSessionsRequest} requestParameters Request parameters.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async getSessions(\n      requestParameters: SessionsApiGetSessionsRequest = {},\n      options?: AxiosRequestConfig,\n    ): Promise<AxiosResponse<SessionSummaryCollection>> {\n      const localVarAxiosArgs = await localVarAxiosParamCreator.getSessions(\n        requestParameters.acceptItem,\n        requestParameters.start,\n        requestParameters.limit,\n        requestParameters.filter,\n        requestParameters.sortBy,\n        options,\n      );\n      return createRequestFunction(localVarAxiosArgs, configuration);\n    },\n\n    /**\n     * Determines whether the specified session is available.\n     * @summary Verify session availability\n     * @param {SessionsApiHeadersForSessionRequest} requestParameters Request parameters.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async headersForSession(\n      requestParameters: SessionsApiHeadersForSessionRequest,\n      options?: AxiosRequestConfig,\n    ): Promise<AxiosResponse<void>> {\n      const localVarAxiosArgs =\n        await localVarAxiosParamCreator.headersForSession(\n          requestParameters.sessionId,\n          options,\n        );\n      return createRequestFunction(localVarAxiosArgs, configuration);\n    },\n\n    /**\n     * Determines whether the state endpoint is available.\n     * @summary Check state availability\n     * @param {SessionsApiHeadersForSessionStateRequest} requestParameters Request parameters.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async headersForSessionState(\n      requestParameters: SessionsApiHeadersForSessionStateRequest,\n      options?: AxiosRequestConfig,\n    ): Promise<AxiosResponse<void>> {\n      const localVarAxiosArgs =\n        await localVarAxiosParamCreator.headersForSessionState(\n          requestParameters.sessionId,\n          requestParameters.wait,\n          requestParameters.ifNoneMatch,\n          options,\n        );\n      return createRequestFunction(localVarAxiosArgs, configuration);\n    },\n\n    /**\n     * Determines whether a session endpoint is available.\n     * @summary Check endpoint availability\n     * @param {SessionsApiHeadersForSessionsRequest} requestParameters Request parameters.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async headersForSessions(\n      requestParameters: SessionsApiHeadersForSessionsRequest = {},\n      options?: AxiosRequestConfig,\n    ): Promise<AxiosResponse<void>> {\n      const localVarAxiosArgs =\n        await localVarAxiosParamCreator.headersForSessions(\n          requestParameters.start,\n          requestParameters.limit,\n          requestParameters.filter,\n          requestParameters.sortBy,\n          options,\n        );\n      return createRequestFunction(localVarAxiosArgs, configuration);\n    },\n\n    /**\n     * Sets the current state of a session. Use this method to cancel running code by setting the state to canceled.\n     * @summary Set state of a session\n     * @param {SessionsApiUpdateSessionStateRequest} requestParameters Request parameters.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async updateSessionState(\n      requestParameters: SessionsApiUpdateSessionStateRequest,\n      options?: AxiosRequestConfig,\n    ): Promise<AxiosResponse<void>> {\n      const localVarAxiosArgs =\n        await localVarAxiosParamCreator.updateSessionState(\n          requestParameters.sessionId,\n          requestParameters.value,\n          requestParameters.ifMatch,\n          options,\n        );\n      return createRequestFunction(localVarAxiosArgs, configuration);\n    },\n  };\n};\n\n/**\n * Request parameters for deleteSession operation in SessionsApi.\n * @export\n * @interface SessionsApiDeleteSessionRequest\n */\nexport interface SessionsApiDeleteSessionRequest {\n  /**\n   * Specifies the ID of the session.\n   * @type {string}\n   * @memberof SessionsApiDeleteSession\n   */\n  readonly sessionId: string;\n}\n\n/**\n * Request parameters for getSession operation in SessionsApi.\n * @export\n * @interface SessionsApiGetSessionRequest\n */\nexport interface SessionsApiGetSessionRequest {\n  /**\n   * Specifies the ID of the session.\n   * @type {string}\n   * @memberof SessionsApiGetSession\n   */\n  readonly sessionId: string;\n}\n\n/**\n * Request parameters for getSessionState operation in SessionsApi.\n * @export\n * @interface SessionsApiGetSessionStateRequest\n */\nexport interface SessionsApiGetSessionStateRequest {\n  /**\n   * Specifies the ID of the session.\n   * @type {string}\n   * @memberof SessionsApiGetSessionState\n   */\n  readonly sessionId: string;\n\n  /**\n   * Specifies the request time-out, in seconds. This parameter is ignored unless it is specified in combination with the &#x60;If-None-Match&#x60; header. If the state of the resource remains unchanged until the specified number of seconds has elapsed, then a status of 304 is returned. The request determines whether the current state matches the state when the ETag was specified via the &#x60;If-None-Match&#x60; header. If the state differs within the specified time period, then the new state is returned.\n   * @type {number}\n   * @memberof SessionsApiGetSessionState\n   */\n  readonly wait?: number;\n\n  /**\n   * Specifies the ETag associated with a value of the session state.\n   * @type {string}\n   * @memberof SessionsApiGetSessionState\n   */\n  readonly ifNoneMatch?: string;\n}\n\n/**\n * Request parameters for getSessions operation in SessionsApi.\n * @export\n * @interface SessionsApiGetSessionsRequest\n */\nexport interface SessionsApiGetSessionsRequest {\n  /**\n   * Specifies the desired session representation.&lt;br&gt; The Accept-Item options are: &lt;ul&gt; &lt;li&gt;application/vnd.sas.compute.session+json &lt;li&gt;application/vnd.sas.compute.session.summary+json &lt;li&gt;blank &lt;/ul&gt; If the application/vnd.sas.compute.session.summary+json type is specified or no Accept-Item header is specified, then the sessions are returned as summary representation session objects.\n   * @type {'application/vnd.sas.compute.session+json' | 'application/vnd.sas.compute.session.summary+json'}\n   * @memberof SessionsApiGetSessions\n   */\n  readonly acceptItem?:\n    | \"application/vnd.sas.compute.session+json\"\n    | \"application/vnd.sas.compute.session.summary+json\";\n\n  /**\n   * Specifies the offset of first session to return. The default value is \\&quot;0\\&quot;.\n   * @type {number}\n   * @memberof SessionsApiGetSessions\n   */\n  readonly start?: number;\n\n  /**\n   * Specifies the maximum number of sessions to return. The default value is \\&quot;10\\&quot;.\n   * @type {number}\n   * @memberof SessionsApiGetSessions\n   */\n  readonly limit?: number;\n\n  /**\n   * Specifies the filter criteria for returned sessions.\n   * @type {string}\n   * @memberof SessionsApiGetSessions\n   */\n  readonly filter?: string;\n\n  /**\n   * Sorts returned sessions.\n   * @type {string}\n   * @memberof SessionsApiGetSessions\n   */\n  readonly sortBy?: string;\n}\n\n/**\n * Request parameters for headersForSession operation in SessionsApi.\n * @export\n * @interface SessionsApiHeadersForSessionRequest\n */\nexport interface SessionsApiHeadersForSessionRequest {\n  /**\n   * Specifies the ID of the session that you are checking.\n   * @type {string}\n   * @memberof SessionsApiHeadersForSession\n   */\n  readonly sessionId: string;\n}\n\n/**\n * Request parameters for headersForSessionState operation in SessionsApi.\n * @export\n * @interface SessionsApiHeadersForSessionStateRequest\n */\nexport interface SessionsApiHeadersForSessionStateRequest {\n  /**\n   * Specifies the ID of the session whose state endpoint you are checking.\n   * @type {string}\n   * @memberof SessionsApiHeadersForSessionState\n   */\n  readonly sessionId: string;\n\n  /**\n   * Specifies the request time-out, in seconds. This parameter is ignored unless it is specified in combination with the &#x60;If-None-Match&#x60; header. If the state of the resource remains unchanged until the specified number of seconds has elapsed, then a status of 304 is returned. The request determines whether the current state matches the state when the ETag was specified via the &#x60;If-None-Match&#x60; header. If the state differs within the specified time period, then the new state is returned.\n   * @type {number}\n   * @memberof SessionsApiHeadersForSessionState\n   */\n  readonly wait?: number;\n\n  /**\n   * Specifies the ETag that is associated with a value of the session state.\n   * @type {string}\n   * @memberof SessionsApiHeadersForSessionState\n   */\n  readonly ifNoneMatch?: string;\n}\n\n/**\n * Request parameters for headersForSessions operation in SessionsApi.\n * @export\n * @interface SessionsApiHeadersForSessionsRequest\n */\nexport interface SessionsApiHeadersForSessionsRequest {\n  /**\n   * Specifies the offset of the first session to return. The default value is \\&quot;0\\&quot;.\n   * @type {number}\n   * @memberof SessionsApiHeadersForSessions\n   */\n  readonly start?: number;\n\n  /**\n   * Maximum number of sessions to return.  The default value is \\&quot;10\\&quot;.\n   * @type {number}\n   * @memberof SessionsApiHeadersForSessions\n   */\n  readonly limit?: number;\n\n  /**\n   * Specifies the filter criteria for returned sessions.\n   * @type {string}\n   * @memberof SessionsApiHeadersForSessions\n   */\n  readonly filter?: string;\n\n  /**\n   * Sorts returned sessions.\n   * @type {string}\n   * @memberof SessionsApiHeadersForSessions\n   */\n  readonly sortBy?: string;\n}\n\n/**\n * Request parameters for updateSessionState operation in SessionsApi.\n * @export\n * @interface SessionsApiUpdateSessionStateRequest\n */\nexport interface SessionsApiUpdateSessionStateRequest {\n  /**\n   * Specifies the ID of the session.\n   * @type {string}\n   * @memberof SessionsApiUpdateSessionState\n   */\n  readonly sessionId: string;\n\n  /**\n   * Specifies the new session state, such as canceled.\n   * @type {'canceled' | 'deleted'}\n   * @memberof SessionsApiUpdateSessionState\n   */\n  readonly value: \"canceled\" | \"deleted\";\n\n  /**\n   * Specifies the ETag of the session that you are updating.\n   * @type {string}\n   * @memberof SessionsApiUpdateSessionState\n   */\n  readonly ifMatch: string;\n}\n\n/**\n * VariablesApi - axios parameter creator\n * @export\n */\nexport const VariablesApiAxiosParamCreator = function (\n  configuration?: Configuration,\n) {\n  return {\n    /**\n     * Returns the information about the requested variable in the session. By default, the session variable resource is returned. You can get the simple value of the variable by specifying an Accept header of text/plain.\n     * @summary Get a variable from the session\n     * @param {string} sessionId Specifies the ID of the session.\n     * @param {string} variableName Specifies the name of the variable to retrieve.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    getVariable: async (\n      sessionId: string,\n      variableName: string,\n      options: AxiosRequestConfig = {},\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'sessionId' is not null or undefined\n      assertParamExists(\"getVariable\", \"sessionId\", sessionId);\n      // verify required parameter 'variableName' is not null or undefined\n      assertParamExists(\"getVariable\", \"variableName\", variableName);\n      const localVarPath = `/sessions/{sessionId}/variables/{variableName}`\n        .replace(`{${\"sessionId\"}}`, encodeURIComponent(String(sessionId)))\n        .replace(\n          `{${\"variableName\"}}`,\n          encodeURIComponent(String(variableName)),\n        );\n      // use dummy base URL string because the URL constructor only accepts absolute URLs.\n      const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n      let baseOptions;\n      if (configuration) {\n        baseOptions = configuration.baseOptions;\n      }\n\n      const localVarRequestOptions = {\n        method: \"GET\",\n        ...baseOptions,\n        ...options,\n      };\n      const localVarHeaderParameter = {} as any;\n      const localVarQueryParameter = {} as any;\n\n      setSearchParams(localVarUrlObj, localVarQueryParameter);\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {};\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      };\n\n      return {\n        url: toPathString(localVarUrlObj),\n        options: localVarRequestOptions,\n      };\n    },\n    /**\n     * Gets the variables that are currently defined in a session. These variables are macro variables that have been defined either by SAS or by you. A collection of application/vnd.sas.compute.variable items is returned. Standard pagination rules apply, and simple filtering is allowed.\n     * @summary Get session variables\n     * @param {string} sessionId Specifies the ID of the session.\n     * @param {string} [filter] Specifies filter criteria for returned context definitions.\n     * @param {number} [start] Specifies the offset of the first variable to return. The default value is \\&quot;0\\&quot;.\n     * @param {number} [limit] Specifies the maximum number of variables to return in a page. The default value is \\&quot;50\\&quot;.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    getVariables: async (\n      sessionId: string,\n      filter?: string,\n      start?: number,\n      limit?: number,\n      options: AxiosRequestConfig = {},\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'sessionId' is not null or undefined\n      assertParamExists(\"getVariables\", \"sessionId\", sessionId);\n      const localVarPath = `/sessions/{sessionId}/variables`.replace(\n        `{${\"sessionId\"}}`,\n        encodeURIComponent(String(sessionId)),\n      );\n      // use dummy base URL string because the URL constructor only accepts absolute URLs.\n      const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n      let baseOptions;\n      if (configuration) {\n        baseOptions = configuration.baseOptions;\n      }\n\n      const localVarRequestOptions = {\n        method: \"GET\",\n        ...baseOptions,\n        ...options,\n      };\n      const localVarHeaderParameter = {} as any;\n      const localVarQueryParameter = {} as any;\n\n      if (filter !== undefined) {\n        localVarQueryParameter[\"filter\"] = filter;\n      }\n\n      if (start !== undefined) {\n        localVarQueryParameter[\"start\"] = start;\n      }\n\n      if (limit !== undefined) {\n        localVarQueryParameter[\"limit\"] = limit;\n      }\n\n      setSearchParams(localVarUrlObj, localVarQueryParameter);\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {};\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      };\n\n      return {\n        url: toPathString(localVarUrlObj),\n        options: localVarRequestOptions,\n      };\n    },\n    /**\n     * Determines whether the requested variable exists for a session and obtains the header information for the variable.\n     * @summary Determine whether a variable exists in a session\n     * @param {string} sessionId Specifies the ID of the session.\n     * @param {string} variableName Specifies the name of the variable to retrieve.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    headersForVariable: async (\n      sessionId: string,\n      variableName: string,\n      options: AxiosRequestConfig = {},\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'sessionId' is not null or undefined\n      assertParamExists(\"headersForVariable\", \"sessionId\", sessionId);\n      // verify required parameter 'variableName' is not null or undefined\n      assertParamExists(\"headersForVariable\", \"variableName\", variableName);\n      const localVarPath = `/sessions/{sessionId}/variables/{variableName}`\n        .replace(`{${\"sessionId\"}}`, encodeURIComponent(String(sessionId)))\n        .replace(\n          `{${\"variableName\"}}`,\n          encodeURIComponent(String(variableName)),\n        );\n      // use dummy base URL string because the URL constructor only accepts absolute URLs.\n      const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n      let baseOptions;\n      if (configuration) {\n        baseOptions = configuration.baseOptions;\n      }\n\n      const localVarRequestOptions = {\n        method: \"HEAD\",\n        ...baseOptions,\n        ...options,\n      };\n      const localVarHeaderParameter = {} as any;\n      const localVarQueryParameter = {} as any;\n\n      setSearchParams(localVarUrlObj, localVarQueryParameter);\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {};\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      };\n\n      return {\n        url: toPathString(localVarUrlObj),\n        options: localVarRequestOptions,\n      };\n    },\n    /**\n     * Determines whether it is possible to get variables for a session.\n     * @summary Check variable availability for a session\n     * @param {string} sessionId Specifies the ID of the session.\n     * @param {string} [filter] Specifies the filter criteria for returned context definitions.\n     * @param {number} [start] Specifies the offset of the first variable to return. The default value is \\&quot;0\\&quot;.\n     * @param {number} [limit] Specifies the maximum number of variables to return in a page. The default value is \\&quot;50\\&quot;.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    headersForVariables: async (\n      sessionId: string,\n      filter?: string,\n      start?: number,\n      limit?: number,\n      options: AxiosRequestConfig = {},\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'sessionId' is not null or undefined\n      assertParamExists(\"headersForVariables\", \"sessionId\", sessionId);\n      const localVarPath = `/sessions/{sessionId}/variables`.replace(\n        `{${\"sessionId\"}}`,\n        encodeURIComponent(String(sessionId)),\n      );\n      // use dummy base URL string because the URL constructor only accepts absolute URLs.\n      const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n      let baseOptions;\n      if (configuration) {\n        baseOptions = configuration.baseOptions;\n      }\n\n      const localVarRequestOptions = {\n        method: \"HEAD\",\n        ...baseOptions,\n        ...options,\n      };\n      const localVarHeaderParameter = {} as any;\n      const localVarQueryParameter = {} as any;\n\n      if (filter !== undefined) {\n        localVarQueryParameter[\"filter\"] = filter;\n      }\n\n      if (start !== undefined) {\n        localVarQueryParameter[\"start\"] = start;\n      }\n\n      if (limit !== undefined) {\n        localVarQueryParameter[\"limit\"] = limit;\n      }\n\n      setSearchParams(localVarUrlObj, localVarQueryParameter);\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {};\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      };\n\n      return {\n        url: toPathString(localVarUrlObj),\n        options: localVarRequestOptions,\n      };\n    },\n  };\n};\n\n/**\n * VariablesApi - functional programming interface\n * @export\n */\nexport const VariablesApi = function (configuration?: Configuration) {\n  const localVarAxiosParamCreator =\n    VariablesApiAxiosParamCreator(configuration);\n  return {\n    /**\n     * Returns the information about the requested variable in the session. By default, the session variable resource is returned. You can get the simple value of the variable by specifying an Accept header of text/plain.\n     * @summary Get a variable from the session\n     * @param {VariablesApiGetVariableRequest} requestParameters Request parameters.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async getVariable(\n      requestParameters: VariablesApiGetVariableRequest,\n      options?: AxiosRequestConfig,\n    ): Promise<AxiosResponse<Variable>> {\n      const localVarAxiosArgs = await localVarAxiosParamCreator.getVariable(\n        requestParameters.sessionId,\n        requestParameters.variableName,\n        options,\n      );\n      return createRequestFunction(localVarAxiosArgs, configuration);\n    },\n\n    /**\n     * Gets the variables that are currently defined in a session. These variables are macro variables that have been defined either by SAS or by you. A collection of application/vnd.sas.compute.variable items is returned. Standard pagination rules apply, and simple filtering is allowed.\n     * @summary Get session variables\n     * @param {VariablesApiGetVariablesRequest} requestParameters Request parameters.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async getVariables(\n      requestParameters: VariablesApiGetVariablesRequest,\n      options?: AxiosRequestConfig,\n    ): Promise<AxiosResponse<SessionVariableCollection>> {\n      const localVarAxiosArgs = await localVarAxiosParamCreator.getVariables(\n        requestParameters.sessionId,\n        requestParameters.filter,\n        requestParameters.start,\n        requestParameters.limit,\n        options,\n      );\n      return createRequestFunction(localVarAxiosArgs, configuration);\n    },\n\n    /**\n     * Determines whether the requested variable exists for a session and obtains the header information for the variable.\n     * @summary Determine whether a variable exists in a session\n     * @param {VariablesApiHeadersForVariableRequest} requestParameters Request parameters.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async headersForVariable(\n      requestParameters: VariablesApiHeadersForVariableRequest,\n      options?: AxiosRequestConfig,\n    ): Promise<AxiosResponse<void>> {\n      const localVarAxiosArgs =\n        await localVarAxiosParamCreator.headersForVariable(\n          requestParameters.sessionId,\n          requestParameters.variableName,\n          options,\n        );\n      return createRequestFunction(localVarAxiosArgs, configuration);\n    },\n\n    /**\n     * Determines whether it is possible to get variables for a session.\n     * @summary Check variable availability for a session\n     * @param {VariablesApiHeadersForVariablesRequest} requestParameters Request parameters.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async headersForVariables(\n      requestParameters: VariablesApiHeadersForVariablesRequest,\n      options?: AxiosRequestConfig,\n    ): Promise<AxiosResponse<void>> {\n      const localVarAxiosArgs =\n        await localVarAxiosParamCreator.headersForVariables(\n          requestParameters.sessionId,\n          requestParameters.filter,\n          requestParameters.start,\n          requestParameters.limit,\n          options,\n        );\n      return createRequestFunction(localVarAxiosArgs, configuration);\n    },\n  };\n};\n\n/**\n * Request parameters for getVariable operation in VariablesApi.\n * @export\n * @interface VariablesApiGetVariableRequest\n */\nexport interface VariablesApiGetVariableRequest {\n  /**\n   * Specifies the ID of the session.\n   * @type {string}\n   * @memberof VariablesApiGetVariable\n   */\n  readonly sessionId: string;\n\n  /**\n   * Specifies the name of the variable to retrieve.\n   * @type {string}\n   * @memberof VariablesApiGetVariable\n   */\n  readonly variableName: string;\n}\n\n/**\n * Request parameters for getVariables operation in VariablesApi.\n * @export\n * @interface VariablesApiGetVariablesRequest\n */\nexport interface VariablesApiGetVariablesRequest {\n  /**\n   * Specifies the ID of the session.\n   * @type {string}\n   * @memberof VariablesApiGetVariables\n   */\n  readonly sessionId: string;\n\n  /**\n   * Specifies filter criteria for returned context definitions.\n   * @type {string}\n   * @memberof VariablesApiGetVariables\n   */\n  readonly filter?: string;\n\n  /**\n   * Specifies the offset of the first variable to return. The default value is \\&quot;0\\&quot;.\n   * @type {number}\n   * @memberof VariablesApiGetVariables\n   */\n  readonly start?: number;\n\n  /**\n   * Specifies the maximum number of variables to return in a page. The default value is \\&quot;50\\&quot;.\n   * @type {number}\n   * @memberof VariablesApiGetVariables\n   */\n  readonly limit?: number;\n}\n\n/**\n * Request parameters for headersForVariable operation in VariablesApi.\n * @export\n * @interface VariablesApiHeadersForVariableRequest\n */\nexport interface VariablesApiHeadersForVariableRequest {\n  /**\n   * Specifies the ID of the session.\n   * @type {string}\n   * @memberof VariablesApiHeadersForVariable\n   */\n  readonly sessionId: string;\n\n  /**\n   * Specifies the name of the variable to retrieve.\n   * @type {string}\n   * @memberof VariablesApiHeadersForVariable\n   */\n  readonly variableName: string;\n}\n\n/**\n * Request parameters for headersForVariables operation in VariablesApi.\n * @export\n * @interface VariablesApiHeadersForVariablesRequest\n */\nexport interface VariablesApiHeadersForVariablesRequest {\n  /**\n   * Specifies the ID of the session.\n   * @type {string}\n   * @memberof VariablesApiHeadersForVariables\n   */\n  readonly sessionId: string;\n\n  /**\n   * Specifies the filter criteria for returned context definitions.\n   * @type {string}\n   * @memberof VariablesApiHeadersForVariables\n   */\n  readonly filter?: string;\n\n  /**\n   * Specifies the offset of the first variable to return. The default value is \\&quot;0\\&quot;.\n   * @type {number}\n   * @memberof VariablesApiHeadersForVariables\n   */\n  readonly start?: number;\n\n  /**\n   * Specifies the maximum number of variables to return in a page. The default value is \\&quot;50\\&quot;.\n   * @type {number}\n   * @memberof VariablesApiHeadersForVariables\n   */\n  readonly limit?: number;\n}\n"
  },
  {
    "path": "client/src/connection/rest/api/configuration.ts",
    "content": "// Copyright © 2022, SAS Institute Inc., Cary, NC, USA.  All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n\n/**\n * Compute\n * The Compute API defines the replacement for the application servers that were used for SAS 9. The Compute API enables clients to perform the following tasks: <UL> <LI>Submit and execute SAS code. <LI>Obtain the SAS log or listing information from executed SAS code. <LI>View output that is generated by a SAS code submission. <LI>Access SAS data sets that are created by a SAS code submission. <LI>Access SAS filerefs that are created by a SAS code submission. <LI>Access SAS variables that are defined and used in a SAS code submission. <LI>Retrieve information about engines that are available in a session. </UL>\n *\n * The version of the OpenAPI document: 11\n * Contact: devex@sas.com\n *\n * NOTE: This class is auto generated by OpenAPI\n * Do not edit the class manually.\n */\n\n/* tslint:disable */\n/* eslint-disable */\n\nexport interface ConfigurationParameters {\n  apiKey?:\n    | string\n    | Promise<string>\n    | ((name: string) => string)\n    | ((name: string) => Promise<string>);\n  username?: string;\n  password?: string;\n  accessToken?:\n    | string\n    | Promise<string>\n    | ((name?: string, scopes?: string[]) => string)\n    | ((name?: string, scopes?: string[]) => Promise<string>);\n  basePath?: string;\n  baseOptions?: any;\n  formDataCtor?: new () => any;\n}\n\nexport class Configuration {\n  /**\n   * parameter for apiKey security\n   * @param name security name\n   * @memberof Configuration\n   */\n  apiKey?:\n    | string\n    | Promise<string>\n    | ((name: string) => string)\n    | ((name: string) => Promise<string>);\n  /**\n   * parameter for basic security\n   *\n   * @type {string}\n   * @memberof Configuration\n   */\n  username?: string;\n  /**\n   * parameter for basic security\n   *\n   * @type {string}\n   * @memberof Configuration\n   */\n  password?: string;\n  /**\n   * parameter for oauth2 security\n   * @param name security name\n   * @param scopes oauth2 scope\n   * @memberof Configuration\n   */\n  accessToken?:\n    | string\n    | Promise<string>\n    | ((name?: string, scopes?: string[]) => string)\n    | ((name?: string, scopes?: string[]) => Promise<string>);\n  /**\n   * override base path\n   *\n   * @type {string}\n   * @memberof Configuration\n   */\n  basePath?: string;\n  /**\n   * base options for axios calls\n   *\n   * @type {any}\n   * @memberof Configuration\n   */\n  baseOptions?: any;\n  /**\n   * The FormData constructor that will be used to create multipart form data\n   * requests. You can inject this here so that execution environments that\n   * do not support the FormData class can still run the generated client.\n   *\n   * @type {new () => FormData}\n   */\n  formDataCtor?: new () => any;\n\n  constructor(param: ConfigurationParameters = {}) {\n    this.apiKey = param.apiKey;\n    this.username = param.username;\n    this.password = param.password;\n    this.accessToken = param.accessToken;\n    this.basePath = param.basePath;\n    this.baseOptions = param.baseOptions;\n    this.formDataCtor = param.formDataCtor;\n  }\n\n  /**\n   * Check if the given MIME is a JSON MIME.\n   * JSON MIME examples:\n   *   application/json\n   *   application/json; charset=UTF8\n   *   APPLICATION/JSON\n   *   application/vnd.company+json\n   * @param mime - MIME (Multipurpose Internet Mail Extensions)\n   * @return True if the given MIME is JSON, false otherwise.\n   */\n  public isJsonMime(mime: string): boolean {\n    const jsonMime: RegExp = new RegExp(\n      \"^(application/json|[^;/ \\t]+/[^;/ \\t]+[+]json)[ \\t]*(;.*)?$\",\n      \"i\",\n    );\n    return (\n      mime !== null &&\n      (jsonMime.test(mime) ||\n        mime.toLowerCase() === \"application/json-patch+json\")\n    );\n  }\n}\n"
  },
  {
    "path": "client/src/connection/rest/api/files.ts",
    "content": "// Copyright © 2023, SAS Institute Inc., Cary, NC, USA.  All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n/**\n * Files\n * The Files API provides persistence of files, such as comment attachments and report images.With this version File API will now support versioned files. A solution can maintain multiple versions of a file. There are few additional parameters which will be required while creation of File, which indicates that the File is a versioned file.\n *\n * The version of the OpenAPI document: 9\n * Contact: devex@sas.com\n *\n * NOTE: This class is auto generated by OpenAPI\n * Do not edit the class manually.\n */\n/* tslint:disable */\n/* eslint-disable */\nimport { AxiosRequestConfig, AxiosResponse } from \"axios\";\n// URLSearchParams not necessarily used\n// @ts-ignore\nimport { URL, URLSearchParams } from \"url\";\n\n// Some imports not used depending on template conditions\n// @ts-ignore\nimport {\n  DUMMY_BASE_URL,\n  RequestArgs,\n  assertParamExists,\n  createRequestFunction,\n  serializeDataIfNeeded,\n  setSearchParams,\n  toPathString,\n} from \"./common\";\nimport { Configuration } from \"./configuration\";\n\n/**\n * The list of links to top-level resources and operations available from the root of the API.\n * @export\n * @interface Api\n */\nexport interface Api {\n  /**\n   * The API\\'s top-level links.\n   * @type {Array<Link>}\n   * @memberof Api\n   */\n  links?: Array<Link>;\n  /**\n   * The version number of the API representation. This is version 1.\n   * @type {number}\n   * @memberof Api\n   */\n  version?: number;\n}\n/**\n * The configuration settings for this service.\n * @export\n * @interface AttributesMap\n */\nexport interface AttributesMap {\n  /**\n   * The comma seperated list of blocked media type.\n   * @type {Array<string>}\n   * @memberof AttributesMap\n   */\n  blockedTypes?: Array<string>;\n  /**\n   * The max files size which can be uploaded in the file service.\n   * @type {number}\n   * @memberof AttributesMap\n   */\n  maxFileSizeMB?: number;\n}\n/**\n * This is a base schema used to define paginated collections of resources. This base schema is extended by other schemas in APIs by adding an \\'items\\' array property. These extensions define the application/vnd.sas.collection media type (version 2)\n * @export\n * @interface BaseCollection2\n */\nexport interface BaseCollection2 {\n  /**\n   * A space-delimited list of media types from which an `Accept` header may be constructed.\n   * @type {string}\n   * @memberof BaseCollection2\n   */\n  accept?: string;\n  /**\n   * If populated indicates the number of items in the collection.\n   * @type {number}\n   * @memberof BaseCollection2\n   */\n  count?: number;\n  /**\n   * The number of items that were requested for the collection.\n   * @type {number}\n   * @memberof BaseCollection2\n   */\n  limit?: number;\n  /**\n   * The links that apply to the collection.\n   * @type {Array<Link>}\n   * @memberof BaseCollection2\n   */\n  links?: Array<Link>;\n  /**\n   * The name of the collection.\n   * @type {string}\n   * @memberof BaseCollection2\n   */\n  name?: string;\n  /**\n   * The zero-based index of the first item in the collection.\n   * @type {number}\n   * @memberof BaseCollection2\n   */\n  start?: number;\n  /**\n   * The version number of the collection representation. This representation is version 2.\n   * @type {number}\n   * @memberof BaseCollection2\n   */\n  version?: number;\n}\n/**\n * Standard media type for error response.\n * @export\n * @interface Error2\n */\nexport interface Error2 {\n  /**\n   * Messages that provide additional details about the cause of the error.\n   * @type {Array<string>}\n   * @memberof Error2\n   */\n  details?: Array<string>;\n  /**\n   * The numeric ID for the error.\n   * @type {number}\n   * @memberof Error2\n   */\n  errorCode?: number;\n  /**\n   * Any additional errors that occurred.\n   * @type {Array<Error2>}\n   * @memberof Error2\n   */\n  errors?: Array<Error2>;\n  /**\n   * The HTTP status code for the error.\n   * @type {number}\n   * @memberof Error2\n   */\n  httpStatusCode?: number;\n  /**\n   * The string ID for the error.\n   * @type {string}\n   * @memberof Error2\n   */\n  id?: string;\n  /**\n   * The links that apply to the error.\n   * @type {Array<Link>}\n   * @memberof Error2\n   */\n  links?: Array<Link>;\n  /**\n   * The message for the error.\n   * @type {string}\n   * @memberof Error2\n   */\n  message?: string;\n  /**\n   * A message that describes how to resolve the error.\n   * @type {string}\n   * @memberof Error2\n   */\n  remediation?: string;\n  /**\n   * The version number of the error representation. This representation is version 2.\n   * @type {number}\n   * @memberof Error2\n   */\n  version?: number;\n}\n/**\n * The file service field to be indexed.\n * @export\n * @interface Field\n */\nexport interface Field {\n  /**\n   * The boolean value to represent if the field is primary key.\n   * @type {boolean}\n   * @memberof Field\n   */\n  primaryKey?: boolean;\n  /**\n   * The name of the field.\n   * @type {string}\n   * @memberof Field\n   */\n  name?: string;\n  /**\n   * The type of the field.\n   * @type {string}\n   * @memberof Field\n   */\n  type?: string;\n  /**\n   * The label given to the field.\n   * @type {string}\n   * @memberof Field\n   */\n  label?: string;\n  /**\n   * It indicates if the field is facetable.\n   * @type {boolean}\n   * @memberof Field\n   */\n  facetable?: boolean;\n  /**\n   * It indicates if the field is searchable.\n   * @type {boolean}\n   * @memberof Field\n   */\n  searchable?: boolean;\n  /**\n   * It indicates if the field is default facet.\n   * @type {boolean}\n   * @memberof Field\n   */\n  defaultFacet?: boolean;\n  /**\n   * It indicates if the field is multivalued.\n   * @type {boolean}\n   * @memberof Field\n   */\n  multiValued?: boolean;\n  /**\n   * It indicates if the field should be displayed.\n   * @type {boolean}\n   * @memberof Field\n   */\n  displayableFacet?: boolean;\n}\n/**\n * Details of file resource\n * @export\n * @interface FileResource\n */\nexport interface FileResource {\n  /**\n   * The URI of the object that is associated with or linked to a file resource.\n   * @type {string}\n   * @memberof FileResource\n   */\n  parentUri?: string;\n  /**\n   * Properties that are specific to this file. Each property uses a \\\"key\\\" : \\\"value\\\" format. Use a comma to separate  properties.\n   * @type {{ [key: string]: string; }}\n   * @memberof FileResource\n   */\n  properties?: { [key: string]: string };\n  /**\n   * Value for the Content-Disposition header. It is specified in response when downloading the file.\n   * @type {string}\n   * @memberof FileResource\n   */\n  contentDisposition?: string;\n  /**\n   * The type of the content.\n   * @type {string}\n   * @memberof FileResource\n   */\n  contentType?: string;\n  /**\n   * The name of the author.\n   * @type {string}\n   * @memberof FileResource\n   */\n  createdBy?: string;\n  /**\n   * The timestamp that indicates when the file resource was created.\n   * @type {string}\n   * @memberof FileResource\n   */\n  creationTimeStamp?: string;\n  /**\n   * The description of the file resource.\n   * @type {string}\n   * @memberof FileResource\n   */\n  description?: string;\n  /**\n   * The type of the file resource.\n   * @type {string}\n   * @memberof FileResource\n   */\n  documentType?: string;\n  /**\n   * The encoding of the file resource.\n   * @type {string}\n   * @memberof FileResource\n   */\n  encoding?: string;\n  /**\n   * The identifier of the file resource.\n   * @type {string}\n   * @memberof FileResource\n   */\n  id?: string;\n  /**\n   * Links that apply to this file resource. The links are \\\"self\\\", \\\"content\\\", \\\"patch\\\", \\\"update\\\", and \\\"delete\\\".\n   * @type {Array<Link>}\n   * @memberof FileResource\n   */\n  links?: Array<Link>;\n  /**\n   * The name of the user who modified this file resource.\n   * @type {string}\n   * @memberof FileResource\n   */\n  modifiedBy?: string;\n  /**\n   * The timestamp when the file resource was modified.\n   * @type {string}\n   * @memberof FileResource\n   */\n  modifiedTimeStamp?: string;\n  /**\n   * The name of the file resource.\n   * @type {string}\n   * @memberof FileResource\n   */\n  name?: string;\n  /**\n   * The byte size of the file resource content.\n   * @type {number}\n   * @memberof FileResource\n   */\n  size?: number;\n  /**\n   * The type definition name of the file. If the file is associated with a folder and the client does not provide the value of this parameter, the file-service tries to find the best possible value using the type-registry service. If it fails to find a default value, it defaults to \\\"file\\\".\n   * @type {string}\n   * @memberof FileResource\n   */\n  typeDefName?: string;\n  /**\n   * It indicates if a file is searchable or not.\n   * @type {boolean}\n   * @memberof FileResource\n   */\n  searchable?: boolean;\n  /**\n   * It indicates the version of the file. In case the file is not versioned then the value will be \\'0\\'. If the file is versioned then the file Version will be greater then \\'0\\'.\n   * @type {number}\n   * @memberof FileResource\n   */\n  fileVersion?: number;\n  /**\n   * It indicates the fileStatus whether locked or unlocked.\n   * @type {string}\n   * @memberof FileResource\n   */\n  fileStatus?: string;\n  /**\n   * An indicator specifying if a file contains virus or not.\n   * @type {boolean}\n   * @memberof FileResource\n   */\n  virusDetected?: boolean;\n  /**\n   * An indicator specifying if a file of type html, JS or CSS, contains an URL.\n   * @type {boolean}\n   * @memberof FileResource\n   */\n  urlDetected?: boolean;\n  /**\n   * An indicator that if a file contains vulnerability then the file will be quarantined.\n   * @type {boolean}\n   * @memberof FileResource\n   */\n  quarantine?: boolean;\n}\n/**\n * A collection of file representations.\n * @export\n * @interface FileResourceCollection\n */\nexport interface FileResourceCollection {\n  /**\n   * A space-delimited list of media types from which an `Accept` header may be constructed.\n   * @type {string}\n   * @memberof FileResourceCollection\n   */\n  accept?: string;\n  /**\n   * If populated indicates the number of items in the collection.\n   * @type {number}\n   * @memberof FileResourceCollection\n   */\n  count?: number;\n  /**\n   * The number of items that were requested for the collection.\n   * @type {number}\n   * @memberof FileResourceCollection\n   */\n  limit?: number;\n  /**\n   * The links that apply to the collection.\n   * @type {Array<Link>}\n   * @memberof FileResourceCollection\n   */\n  links?: Array<Link>;\n  /**\n   * The name of the collection.\n   * @type {string}\n   * @memberof FileResourceCollection\n   */\n  name?: string;\n  /**\n   * The zero-based index of the first item in the collection.\n   * @type {number}\n   * @memberof FileResourceCollection\n   */\n  start?: number;\n  /**\n   * The version number of the collection representation. This representation is version 2.\n   * @type {number}\n   * @memberof FileResourceCollection\n   */\n  version?: number;\n  /**\n   * The array of application/vnd.sas.file representations.\n   * @type {Array<FileResource>}\n   * @memberof FileResourceCollection\n   */\n  items?: Array<FileResource>;\n}\n/**\n *\n * @export\n * @interface FileResourceCollectionAllOf\n */\nexport interface FileResourceCollectionAllOf {\n  /**\n   * The array of application/vnd.sas.file representations.\n   * @type {Array<FileResource>}\n   * @memberof FileResourceCollectionAllOf\n   */\n  items?: Array<FileResource>;\n}\n/**\n * Collection of indexable representation of the files.\n * @export\n * @interface FileResourceIndex\n */\nexport interface FileResourceIndex {\n  /**\n   * The version of the representation.\n   * @type {number}\n   * @memberof FileResourceIndex\n   */\n  version?: number;\n  /**\n   *\n   * @type {Array<IndexableDataElement>}\n   * @memberof FileResourceIndex\n   */\n  properties?: Array<IndexableDataElement>;\n  /**\n   * The URI of the representation.\n   * @type {string}\n   * @memberof FileResourceIndex\n   */\n  resourceUri?: string;\n  /**\n   * The sasType of the representation.\n   * @type {string}\n   * @memberof FileResourceIndex\n   */\n  sasType?: string;\n}\n/**\n * A collection of file representations.\n * @export\n * @interface FileResourceIndexCollection\n */\nexport interface FileResourceIndexCollection {\n  /**\n   * A space-delimited list of media types from which an `Accept` header may be constructed.\n   * @type {string}\n   * @memberof FileResourceIndexCollection\n   */\n  accept?: string;\n  /**\n   * If populated indicates the number of items in the collection.\n   * @type {number}\n   * @memberof FileResourceIndexCollection\n   */\n  count?: number;\n  /**\n   * The number of items that were requested for the collection.\n   * @type {number}\n   * @memberof FileResourceIndexCollection\n   */\n  limit?: number;\n  /**\n   * The links that apply to the collection.\n   * @type {Array<Link>}\n   * @memberof FileResourceIndexCollection\n   */\n  links?: Array<Link>;\n  /**\n   * The name of the collection.\n   * @type {string}\n   * @memberof FileResourceIndexCollection\n   */\n  name?: string;\n  /**\n   * The zero-based index of the first item in the collection.\n   * @type {number}\n   * @memberof FileResourceIndexCollection\n   */\n  start?: number;\n  /**\n   * The version number of the collection representation. This representation is version 2.\n   * @type {number}\n   * @memberof FileResourceIndexCollection\n   */\n  version?: number;\n  /**\n   * The array of file indexable representations.\n   * @type {Array<FileResourceIndex>}\n   * @memberof FileResourceIndexCollection\n   */\n  items?: Array<FileResourceIndex>;\n}\n/**\n *\n * @export\n * @interface FileResourceIndexCollectionAllOf\n */\nexport interface FileResourceIndexCollectionAllOf {\n  /**\n   * The array of file indexable representations.\n   * @type {Array<FileResourceIndex>}\n   * @memberof FileResourceIndexCollectionAllOf\n   */\n  items?: Array<FileResourceIndex>;\n}\n/**\n * A generic summary representation of a file.\n * @export\n * @interface FileResourceSummary\n */\nexport interface FileResourceSummary {\n  /**\n   * The name of the author.\n   * @type {string}\n   * @memberof FileResourceSummary\n   */\n  createdBy?: string;\n  /**\n   * The timestamp that indicates when the file resource was created.\n   * @type {string}\n   * @memberof FileResourceSummary\n   */\n  creationTimeStamp?: string;\n  /**\n   * The description of the file resource.\n   * @type {string}\n   * @memberof FileResourceSummary\n   */\n  description?: string;\n  /**\n   * The identifier of the file resource.\n   * @type {string}\n   * @memberof FileResourceSummary\n   */\n  id?: string;\n  /**\n   * The alternate link to fetch the complete representation of the file resource--for example, vnd.sas.file.\n   * @type {Array<Link>}\n   * @memberof FileResourceSummary\n   */\n  links?: Array<Link>;\n  /**\n   * The name of the user who modified the file resource.\n   * @type {string}\n   * @memberof FileResourceSummary\n   */\n  modifiedBy?: string;\n  /**\n   * The timestamp that indicates when the file resource was modified.\n   * @type {string}\n   * @memberof FileResourceSummary\n   */\n  modifiedTimeStamp?: string;\n  /**\n   * The name of the file.\n   * @type {string}\n   * @memberof FileResourceSummary\n   */\n  name?: string;\n  /**\n   * The timestamp that indicates when the file expires.\n   * @type {string}\n   * @memberof FileResourceSummary\n   */\n  expirationTimeStamp?: string;\n  /**\n   * The type definition name of the fileIf the file is associated with a folder and the client does not provide the value of this parameter, the  file-service tries to find the best possible value using type-registry service. If it fails to find a default value, it defaults to \\\"file\\\".\n   * @type {string}\n   * @memberof FileResourceSummary\n   */\n  typeDefName?: string;\n  /**\n   * The version of the media type.\n   * @type {number}\n   * @memberof FileResourceSummary\n   */\n  version?: number;\n}\n/**\n * A collection of file representations.\n * @export\n * @interface FileResourceSummaryCollection\n */\nexport interface FileResourceSummaryCollection {\n  /**\n   * A space-delimited list of media types from which an `Accept` header may be constructed.\n   * @type {string}\n   * @memberof FileResourceSummaryCollection\n   */\n  accept?: string;\n  /**\n   * If populated indicates the number of items in the collection.\n   * @type {number}\n   * @memberof FileResourceSummaryCollection\n   */\n  count?: number;\n  /**\n   * The number of items that were requested for the collection.\n   * @type {number}\n   * @memberof FileResourceSummaryCollection\n   */\n  limit?: number;\n  /**\n   * The links that apply to the collection.\n   * @type {Array<Link>}\n   * @memberof FileResourceSummaryCollection\n   */\n  links?: Array<Link>;\n  /**\n   * The name of the collection.\n   * @type {string}\n   * @memberof FileResourceSummaryCollection\n   */\n  name?: string;\n  /**\n   * The zero-based index of the first item in the collection.\n   * @type {number}\n   * @memberof FileResourceSummaryCollection\n   */\n  start?: number;\n  /**\n   * The version number of the collection representation. This representation is version 2.\n   * @type {number}\n   * @memberof FileResourceSummaryCollection\n   */\n  version?: number;\n  /**\n   * The array of file resource summary representations.\n   * @type {Array<FileResourceSummary>}\n   * @memberof FileResourceSummaryCollection\n   */\n  items?: Array<FileResourceSummary>;\n}\n/**\n *\n * @export\n * @interface FileResourceSummaryCollectionAllOf\n */\nexport interface FileResourceSummaryCollectionAllOf {\n  /**\n   * The array of file resource summary representations.\n   * @type {Array<FileResourceSummary>}\n   * @memberof FileResourceSummaryCollectionAllOf\n   */\n  items?: Array<FileResourceSummary>;\n}\n/**\n * File to Patch\n * @export\n * @interface FileToPatch\n */\nexport interface FileToPatch {\n  /**\n   * The URI of the object that is associated with or linked to a file resource.\n   * @type {string}\n   * @memberof FileToPatch\n   */\n  parentUri?: string;\n  /**\n   * The properties that are specific to this file. Each property uses a \\\"key\\\" : \\\"value\\\" format. Use a comma to separate properties.\n   * @type {{ [key: string]: string; }}\n   * @memberof FileToPatch\n   */\n  properties?: { [key: string]: string };\n  /**\n   * The value for the Content-Disposition header. This is specified in response when downloading the file.\n   * @type {string}\n   * @memberof FileToPatch\n   */\n  contentDisposition?: string;\n  /**\n   * The description of the file resource.\n   * @type {string}\n   * @memberof FileToPatch\n   */\n  description?: string;\n  /**\n   * The type of the file resource.\n   * @type {string}\n   * @memberof FileToPatch\n   */\n  documentType?: string;\n  /**\n   * The name of the file resource.\n   * @type {string}\n   * @memberof FileToPatch\n   */\n  name: string;\n  /**\n   * It indicates if a file is searchable or not.\n   * @type {boolean}\n   * @memberof FileToPatch\n   */\n  searchable: boolean;\n  /**\n   * The type definition name of the file. If the file is associated with a folder and the client does not provide the value of this parameter, the file-service tries to find the best possible value using the type-registry service. If it fails to find a default value, it defaults to \\\"file\\\".\n   * @type {string}\n   * @memberof FileToPatch\n   */\n  typeDefName?: string;\n}\n/**\n * INdexable representation of the file.\n * @export\n * @interface IndexableDataElement\n */\nexport interface IndexableDataElement {\n  /**\n   * The name of the field.\n   * @type {string}\n   * @memberof IndexableDataElement\n   */\n  name?: string;\n  /**\n   * The value of the field.\n   * @type {string}\n   * @memberof IndexableDataElement\n   */\n  value?: string;\n}\n/**\n * A link to a related operation or resource.\n * @export\n * @interface Link\n */\nexport interface Link {\n  /**\n   * The URL for the link.\n   * @type {string}\n   * @memberof Link\n   */\n  href?: string;\n  /**\n   * If this is a link to a container, `itemType` is the media type or link type for the items in the container.\n   * @type {string}\n   * @memberof Link\n   */\n  itemType?: string;\n  /**\n   * The HTTP method for the link.\n   * @type {string}\n   * @memberof Link\n   */\n  method?: string;\n  /**\n   * The relationship of the link to the resource.\n   * @type {string}\n   * @memberof Link\n   */\n  rel?: string;\n  /**\n   * The media type or link type of the items in the response body for a `PUT`, `POST`, or `PATCH` operation.\n   * @type {string}\n   * @memberof Link\n   */\n  responseItemType?: string;\n  /**\n   * The media type or link type of the response body for a `PUT`, `POST`, or `PATCH` operation.\n   * @type {string}\n   * @memberof Link\n   */\n  responseType?: string;\n  /**\n   * The title for the link.\n   * @type {string}\n   * @memberof Link\n   */\n  title?: string;\n  /**\n   * The media type or link type for the link.\n   * @type {string}\n   * @memberof Link\n   */\n  type?: string;\n  /**\n   * The relative URI for the link.\n   * @type {string}\n   * @memberof Link\n   */\n  uri?: string;\n}\n/**\n * File to Patch for quarantine status\n * @export\n * @interface QuarantineFileToPatch\n */\nexport interface QuarantineFileToPatch {\n  /**\n   * An indicator that if a file contains vulnerability then the file will be quarantined.\n   * @type {boolean}\n   * @memberof QuarantineFileToPatch\n   */\n  quarantine: boolean;\n}\n/**\n * The schema representation of file service fields to be indexed.\n * @export\n * @interface Schema\n */\nexport interface Schema {\n  /**\n   * The collection of schema fields.\n   * @type {Array<Field>}\n   * @memberof Schema\n   */\n  fields?: Array<Field>;\n  /**\n   * The version of the representation.\n   * @type {number}\n   * @memberof Schema\n   */\n  version?: number;\n}\n/**\n * Multiple parentUri values that are specified as an array of string values.\n * @export\n * @interface Selection\n */\nexport interface Selection {\n  /**\n   * An array of links to related resources and actions.\n   * @type {Array<Link>}\n   * @memberof Selection\n   */\n  links?: Array<Link>;\n  /**\n   * An array of resource IDs or URIs\n   * @type {Array<string>}\n   * @memberof Selection\n   */\n  resources?: Array<string>;\n  /**\n   * A URI template in which the {id} parameter can be replaced with a value from the \\\"resources\\\" array in order to yield the URI of the identified resource.\n   * @type {string}\n   * @memberof Selection\n   */\n  template?: string;\n  /**\n   * Specifies whether the resources array contains IDs, URIs, or both. <dl> <dt>\\\"id\\\"</dt><dd>the array contains resource identifiers only. This is the default if \\\"type\\\" is omitted.</dd> <dt>\\\"uri\\\"</dt><dd>the array contains resource URIs</dd> <dt>\\\"mixed\\\"</dt><dd>the array contains a mixture of identifiers and URIs.</dd> </dl>\n   * @type {string}\n   * @memberof Selection\n   */\n  type?: SelectionTypeEnum;\n  /**\n   * The schema version number of this media type. This representation is version 1.\n   * @type {number}\n   * @memberof Selection\n   */\n  version?: number;\n}\n\nexport const SelectionTypeEnum = {\n  Id: \"id\",\n  Uri: \"uri\",\n  Mixed: \"mixed\",\n} as const;\n\nexport type SelectionTypeEnum =\n  (typeof SelectionTypeEnum)[keyof typeof SelectionTypeEnum];\n\n/**\n * The configuration settings exposed for commons usage.\n * @export\n * @interface Settings\n */\nexport interface Settings {\n  /**\n   * Version information for this attribute list.\n   * @type {number}\n   * @memberof Settings\n   */\n  version: number;\n  /**\n   * The navigable links relative to this media type.\n   * @type {Array<Link>}\n   * @memberof Settings\n   */\n  links: Array<Link>;\n  /**\n   *\n   * @type {AttributesMap}\n   * @memberof Settings\n   */\n  attributes: AttributesMap;\n}\n\n/**\n * FilesApi - axios parameter creator\n * @export\n */\nexport const FilesApiAxiosParamCreator = function (\n  configuration?: Configuration,\n) {\n  return {\n    /**\n     * Copies the file if the user has Read access to the specified file.\n     * @summary Copy an existing file\n     * @param {string} fileId The identifier of the file resource for which to fetch content.\n     * @param {string} [contentDisposition] The content disposition. The previously assigned value can be changed. This indicates whether the content is expected to be displayed inline in a browser (as a web page or part of a web page) or as an attachment that is downloaded and saved locally. If a filename is specified in the header, it is used as the default name of the file.\n     * @param {string} [expirationTimeStamp] The date and time at which a file expires. If not specified, the file never expires.\n     * @param {string} [parentFolderUri] The URI of the folder in which to add the file.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    createCopyOfFile: async (\n      fileId: string,\n      contentDisposition?: string,\n      expirationTimeStamp?: string,\n      parentFolderUri?: string,\n      options: AxiosRequestConfig = {},\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'fileId' is not null or undefined\n      assertParamExists(\"createCopyOfFile\", \"fileId\", fileId);\n      const localVarPath = `/files/{fileId}/copy`.replace(\n        `{${\"fileId\"}}`,\n        encodeURIComponent(String(fileId)),\n      );\n      // use dummy base URL string because the URL constructor only accepts absolute URLs.\n      const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n      let baseOptions;\n      if (configuration) {\n        baseOptions = configuration.baseOptions;\n      }\n\n      const localVarRequestOptions = {\n        method: \"POST\",\n        ...baseOptions,\n        ...options,\n      };\n      const localVarHeaderParameter = {} as any;\n      const localVarQueryParameter = {} as any;\n\n      if (expirationTimeStamp !== undefined) {\n        localVarQueryParameter[\"expirationTimeStamp\"] = expirationTimeStamp;\n      }\n\n      if (parentFolderUri !== undefined) {\n        localVarQueryParameter[\"parentFolderUri\"] = parentFolderUri;\n      }\n\n      if (contentDisposition != null) {\n        localVarHeaderParameter[\"Content-Disposition\"] =\n          String(contentDisposition);\n      }\n\n      setSearchParams(localVarUrlObj, localVarQueryParameter);\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {};\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      };\n\n      return {\n        url: toPathString(localVarUrlObj),\n        options: localVarRequestOptions,\n      };\n    },\n    /**\n     * Creates a new file resource by passing file content in the request body.\n     * @summary Create new file resource\n     * @param {string} [contentType] The actual MIME type of the file.\n     * @param {string} [contentDisposition] The content disposition. It indicates whether the content is expected to be displayed inline in a browser (as a web page or part of a web page) or as an attachment that is downloaded and saved locally. If a filename is specified in the header, it is used as the default name of the file.\n     * @param {string} [expirationTimeStamp] A timestamp that indicates when a file expires. If this is not specified, the file never expires.\n     * @param {string} [parentFolderUri] The URI of the folder in which the file should be made a member.\n     * @param {string} [searchable] An indicator specifying if a file is searchable or not. Defaulted to \\&#39;true\\&#39; indicating file is searchable.\n     * @param {string} [typeDefName] The type definition name of the file. If the file is associated with a folder and the client does not provide the value of this parameter, the file-service tries to find the best possible value using type-registry service. If it fails to find a default value, it defaults to \\&quot;file\\&quot;.\n     * @param {boolean} [versioned] An indicator specifying if a file is a version control file or not. If set to true, the endpoint will return first version of the file.\n     * @param {string} [body] The contents of the file to be passed in raw format in the request body.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    createNewFile: async (\n      contentType?: string,\n      contentDisposition?: string,\n      expirationTimeStamp?: string,\n      parentFolderUri?: string,\n      searchable?: string,\n      typeDefName?: string,\n      versioned?: boolean,\n      body?: string,\n      options: AxiosRequestConfig = {},\n    ): Promise<RequestArgs> => {\n      const localVarPath = `/files#rawUpload`;\n      // use dummy base URL string because the URL constructor only accepts absolute URLs.\n      const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n      let baseOptions;\n      if (configuration) {\n        baseOptions = configuration.baseOptions;\n      }\n\n      const localVarRequestOptions = {\n        method: \"POST\",\n        ...baseOptions,\n        ...options,\n      };\n      const localVarHeaderParameter = {} as any;\n      const localVarQueryParameter = {} as any;\n\n      if (expirationTimeStamp !== undefined) {\n        localVarQueryParameter[\"expirationTimeStamp\"] = expirationTimeStamp;\n      }\n\n      if (parentFolderUri !== undefined) {\n        localVarQueryParameter[\"parentFolderUri\"] = parentFolderUri;\n      }\n\n      if (searchable !== undefined) {\n        localVarQueryParameter[\"searchable\"] = searchable;\n      }\n\n      if (typeDefName !== undefined) {\n        localVarQueryParameter[\"typeDefName\"] = typeDefName;\n      }\n\n      if (versioned !== undefined) {\n        localVarQueryParameter[\"versioned\"] = versioned;\n      }\n\n      if (contentType != null) {\n        localVarHeaderParameter[\"Content-Type\"] = String(contentType);\n      }\n\n      if (contentDisposition != null) {\n        localVarHeaderParameter[\"Content-Disposition\"] =\n          String(contentDisposition);\n      }\n\n      localVarHeaderParameter[\"Content-Type\"] = \"application/json\";\n\n      setSearchParams(localVarUrlObj, localVarQueryParameter);\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {};\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      };\n      localVarRequestOptions.data = serializeDataIfNeeded(\n        body,\n        localVarRequestOptions,\n        configuration,\n      );\n\n      return {\n        url: toPathString(localVarUrlObj),\n        options: localVarRequestOptions,\n      };\n    },\n    /**\n     * Creates a new file resource by passing a file in the form of a multipart request.\n     * @summary Create a new file resource\n     * @param {string} [contentType] The MIME type for the multipart request. You must specify \\&quot;multipart/form-data; boundary&#x3D;{boundaryString}\\&quot;. You can specify the actual MIME type of the file by using Content-Type as form data in the request body.\n     * @param {string} [contentDisposition] The content disposition. This indicates whether the content is expected to be displayed inline in a browser (as a web page or part of a web page) or as an attachment that is downloaded and saved locally. If a filename is specified in the header, it is used as the default name of the file.\n     * @param {string} [expirationTimeStamp] A timestamp that indicates when a file expires. If it is not specified, the file never expires.\n     * @param {string} [parentFolderUri] The URI of the folder in which to add the file.\n     * @param {string} [searchable] An indicator specifying if a file is searchable or not. Defaulted to \\&#39;true\\&#39; indicating file is searchable.\n     * @param {string} [typeDefName] The type definition name of the file. If the file is associated with folder and the client does not provide the value of this parameter, the  file-service tries to find the best possible value using type-registry service. If it fails to find a default value, it defaults to \\&quot;file\\&quot;.\n     * @param {boolean} [versioned] An indicator specifying if a file is a version control file or not. If set to true, the endpoint will return first version of the file.\n     * @param {boolean} [recoverable] An indicator specifying if a file is recoverable or not.If a user deleted the file then those files can be recovered.There is a certain retention period till which the file will be retained.\n     * @param {string} [filename] The name of the file. Clients must specify name of the file as form data in the request body.\n     * @param {File} [file] The actual file content. The content should be listed in the format of standard form data in the request body. Only one file is permitted in a multipart request.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    createNewFileMultiPart: async (\n      contentType?: string,\n      contentDisposition?: string,\n      expirationTimeStamp?: string,\n      parentFolderUri?: string,\n      searchable?: string,\n      typeDefName?: string,\n      versioned?: boolean,\n      recoverable?: boolean,\n      filename?: string,\n      file?: File,\n      options: AxiosRequestConfig = {},\n    ): Promise<RequestArgs> => {\n      const localVarPath = `/files#multipartUpload`;\n      // use dummy base URL string because the URL constructor only accepts absolute URLs.\n      const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n      let baseOptions;\n      if (configuration) {\n        baseOptions = configuration.baseOptions;\n      }\n\n      const localVarRequestOptions = {\n        method: \"POST\",\n        ...baseOptions,\n        ...options,\n      };\n      const localVarHeaderParameter = {} as any;\n      const localVarQueryParameter = {} as any;\n      const localVarFormParams = new (\n        (configuration && configuration.formDataCtor) ||\n        FormData\n      )();\n\n      if (expirationTimeStamp !== undefined) {\n        localVarQueryParameter[\"expirationTimeStamp\"] = expirationTimeStamp;\n      }\n\n      if (parentFolderUri !== undefined) {\n        localVarQueryParameter[\"parentFolderUri\"] = parentFolderUri;\n      }\n\n      if (searchable !== undefined) {\n        localVarQueryParameter[\"searchable\"] = searchable;\n      }\n\n      if (typeDefName !== undefined) {\n        localVarQueryParameter[\"typeDefName\"] = typeDefName;\n      }\n\n      if (versioned !== undefined) {\n        localVarQueryParameter[\"versioned\"] = versioned;\n      }\n\n      if (recoverable !== undefined) {\n        localVarQueryParameter[\"recoverable\"] = recoverable;\n      }\n\n      if (contentType != null) {\n        localVarHeaderParameter[\"Content-Type\"] = String(contentType);\n      }\n\n      if (contentDisposition != null) {\n        localVarHeaderParameter[\"Content-Disposition\"] =\n          String(contentDisposition);\n      }\n\n      if (filename !== undefined) {\n        localVarFormParams.append(\"filename\", filename as any);\n      }\n\n      if (file !== undefined) {\n        localVarFormParams.append(\"file\", file as any);\n      }\n\n      localVarHeaderParameter[\"Content-Type\"] = \"multipart/form-data\";\n\n      setSearchParams(localVarUrlObj, localVarQueryParameter);\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {};\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      };\n      localVarRequestOptions.data = localVarFormParams;\n\n      return {\n        url: toPathString(localVarUrlObj),\n        options: localVarRequestOptions,\n      };\n    },\n    /**\n     * Deletes the file resource.\n     * @summary Delete a file resource\n     * @param {string} fileId The identifier of the file resource to delete.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    deleteFileResource: async (\n      fileId: string,\n      options: AxiosRequestConfig = {},\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'fileId' is not null or undefined\n      assertParamExists(\"deleteFileResource\", \"fileId\", fileId);\n      const localVarPath = `/files/{fileId}`.replace(\n        `{${\"fileId\"}}`,\n        encodeURIComponent(String(fileId)),\n      );\n      // use dummy base URL string because the URL constructor only accepts absolute URLs.\n      const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n      let baseOptions;\n      if (configuration) {\n        baseOptions = configuration.baseOptions;\n      }\n\n      const localVarRequestOptions = {\n        method: \"DELETE\",\n        ...baseOptions,\n        ...options,\n      };\n      const localVarHeaderParameter = {} as any;\n      const localVarQueryParameter = {} as any;\n\n      setSearchParams(localVarUrlObj, localVarQueryParameter);\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {};\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      };\n\n      return {\n        url: toPathString(localVarUrlObj),\n        options: localVarRequestOptions,\n      };\n    },\n    /**\n     * Deletes file resources for the specified parentUri. If the user is not authorized to delete all matching files, no files are deleted.\n     * @summary Delete file resources\n     * @param {string} parentUri The parent URI that is associated with the file resources to be deleted.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    deleteFileResourceForGivenParentUri: async (\n      parentUri: string,\n      options: AxiosRequestConfig = {},\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'parentUri' is not null or undefined\n      assertParamExists(\n        \"deleteFileResourceForGivenParentUri\",\n        \"parentUri\",\n        parentUri,\n      );\n      const localVarPath = `/files`;\n      // use dummy base URL string because the URL constructor only accepts absolute URLs.\n      const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n      let baseOptions;\n      if (configuration) {\n        baseOptions = configuration.baseOptions;\n      }\n\n      const localVarRequestOptions = {\n        method: \"DELETE\",\n        ...baseOptions,\n        ...options,\n      };\n      const localVarHeaderParameter = {} as any;\n      const localVarQueryParameter = {} as any;\n\n      if (parentUri !== undefined) {\n        localVarQueryParameter[\"parentUri\"] = parentUri;\n      }\n\n      setSearchParams(localVarUrlObj, localVarQueryParameter);\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {};\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      };\n\n      return {\n        url: toPathString(localVarUrlObj),\n        options: localVarRequestOptions,\n      };\n    },\n    /**\n     * Retrieves the file resources that are associated with multiple parentUri specifications. Request the parentUri values in the body. The returned collection is grouped by parentUri.\n     * @summary Get file resources for multiple parentUris\n     * @param {Selection} selection Multiple parentUri values that are specified as an array of string values. The file resources that are associated with each parentUri are retrieved.\n     * @param {string} [acceptItem] The file resource media type value. If this is not specified, the API returns the latest version.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    fetchFilesForParentUris: async (\n      selection: Selection,\n      acceptItem?: string,\n      options: AxiosRequestConfig = {},\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'selection' is not null or undefined\n      assertParamExists(\"fetchFilesForParentUris\", \"selection\", selection);\n      const localVarPath = `/files#fetchFilesForMultipleParentUri`;\n      // use dummy base URL string because the URL constructor only accepts absolute URLs.\n      const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n      let baseOptions;\n      if (configuration) {\n        baseOptions = configuration.baseOptions;\n      }\n\n      const localVarRequestOptions = {\n        method: \"POST\",\n        ...baseOptions,\n        ...options,\n      };\n      const localVarHeaderParameter = {} as any;\n      const localVarQueryParameter = {} as any;\n\n      if (acceptItem != null) {\n        localVarHeaderParameter[\"Accept-Item\"] = String(acceptItem);\n      }\n\n      localVarHeaderParameter[\"Content-Type\"] =\n        \"application/vnd.sas.selection+json\";\n\n      setSearchParams(localVarUrlObj, localVarQueryParameter);\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {};\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      };\n      localVarRequestOptions.data = serializeDataIfNeeded(\n        selection,\n        localVarRequestOptions,\n        configuration,\n      );\n\n      return {\n        url: toPathString(localVarUrlObj),\n        options: localVarRequestOptions,\n      };\n    },\n    /**\n     * Retrieves a file resource by specifying a fileId.\n     * @summary Get a file resource\n     * @param {string} fileId The identifier of the file resource.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    getFile: async (\n      fileId: string,\n      options: AxiosRequestConfig = {},\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'fileId' is not null or undefined\n      assertParamExists(\"getFile\", \"fileId\", fileId);\n      const localVarPath = `/files/{fileId}`.replace(\n        `{${\"fileId\"}}`,\n        encodeURIComponent(String(fileId)),\n      );\n      // use dummy base URL string because the URL constructor only accepts absolute URLs.\n      const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n      let baseOptions;\n      if (configuration) {\n        baseOptions = configuration.baseOptions;\n      }\n\n      const localVarRequestOptions = {\n        method: \"GET\",\n        ...baseOptions,\n        ...options,\n      };\n      const localVarHeaderParameter = {} as any;\n      const localVarQueryParameter = {} as any;\n\n      setSearchParams(localVarUrlObj, localVarQueryParameter);\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {};\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      };\n\n      return {\n        url: toPathString(localVarUrlObj),\n        options: localVarRequestOptions,\n      };\n    },\n    /**\n     * Retrieves file resources for the specified criteria. Standard paging, filtering, and sorting options are available.\n     * @summary Get file resources\n     * @param {string} [acceptItem] The file resource media type value. If this is not specified, the API returns the latest version.\n     * @param {string} [parentUri] The URI of the associated object or parent object.\n     * @param {number} [start] The offset of the first member to return. The default value is 0.\n     * @param {number} [limit] The maximum number of members to return. The default value is 10.\n     * @param {string} [filter] The filter criteria to apply to the returned member collection.\n     * @param {string} [sortBy] The sort criteria  applies to the returned member collection.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    getFileResourceForFilterQuery: async (\n      acceptItem?: string,\n      parentUri?: string,\n      start?: number,\n      limit?: number,\n      filter?: string,\n      sortBy?: string,\n      options: AxiosRequestConfig = {},\n    ): Promise<RequestArgs> => {\n      const localVarPath = `/files`;\n      // use dummy base URL string because the URL constructor only accepts absolute URLs.\n      const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n      let baseOptions;\n      if (configuration) {\n        baseOptions = configuration.baseOptions;\n      }\n\n      const localVarRequestOptions = {\n        method: \"GET\",\n        ...baseOptions,\n        ...options,\n      };\n      const localVarHeaderParameter = {} as any;\n      const localVarQueryParameter = {} as any;\n\n      if (parentUri !== undefined) {\n        localVarQueryParameter[\"parentUri\"] = parentUri;\n      }\n\n      if (start !== undefined) {\n        localVarQueryParameter[\"start\"] = start;\n      }\n\n      if (limit !== undefined) {\n        localVarQueryParameter[\"limit\"] = limit;\n      }\n\n      if (filter !== undefined) {\n        localVarQueryParameter[\"filter\"] = filter;\n      }\n\n      if (sortBy !== undefined) {\n        localVarQueryParameter[\"sortBy\"] = sortBy;\n      }\n\n      if (acceptItem != null) {\n        localVarHeaderParameter[\"Accept-Item\"] = String(acceptItem);\n      }\n\n      setSearchParams(localVarUrlObj, localVarQueryParameter);\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {};\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      };\n\n      return {\n        url: toPathString(localVarUrlObj),\n        options: localVarRequestOptions,\n      };\n    },\n    /**\n     * Retrieves file resources of all the versions of a given fileId. Standard paging, option is available.\n     * @summary Get all the versions of a given file id\n     * @param {string} fileId The specific field identifier of the file to return.\n     * @param {number} [start] The offset of the first member to return. The default value is 0.\n     * @param {number} [limit] The maximum number of members to return. The default value is 10.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    getFileVersionResourceForFilterQuery: async (\n      fileId: string,\n      start?: number,\n      limit?: number,\n      options: AxiosRequestConfig = {},\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'fileId' is not null or undefined\n      assertParamExists(\n        \"getFileVersionResourceForFilterQuery\",\n        \"fileId\",\n        fileId,\n      );\n      const localVarPath = `/files/{fileId}/versions`.replace(\n        `{${\"fileId\"}}`,\n        encodeURIComponent(String(fileId)),\n      );\n      // use dummy base URL string because the URL constructor only accepts absolute URLs.\n      const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n      let baseOptions;\n      if (configuration) {\n        baseOptions = configuration.baseOptions;\n      }\n\n      const localVarRequestOptions = {\n        method: \"GET\",\n        ...baseOptions,\n        ...options,\n      };\n      const localVarHeaderParameter = {} as any;\n      const localVarQueryParameter = {} as any;\n\n      if (start !== undefined) {\n        localVarQueryParameter[\"start\"] = start;\n      }\n\n      if (limit !== undefined) {\n        localVarQueryParameter[\"limit\"] = limit;\n      }\n\n      setSearchParams(localVarUrlObj, localVarQueryParameter);\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {};\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      };\n\n      return {\n        url: toPathString(localVarUrlObj),\n        options: localVarRequestOptions,\n      };\n    },\n    /**\n     * Retrieves the content of the file resource.\n     * @summary Get file resource content\n     * @param {string} fileId The identifier of the file resource for which to fetch content.\n     * @param {boolean} [changeContentDisposition] Specifies whether to use the persisted content-disposition value. If this is specified to true and the word \\&quot;attachment\\&quot; appears in the content-disposition, it is changed to \\&quot;inline\\&quot;. No other changes are made to the content-disposition value.\n     * @param {string} [ifRange] A conditional range request. The client must specify the previously returned &#x60;ETag&#x60; as the &#x60;If-Range&#x60; header value. This determines whether the resource has been modified. If it has been modified, the entire file is returned. Otherwise, only partial content is returned using the &#x60;Range&#x60; header.\n     * @param {string} [range] A specific range request. The value specifies the required byte range--for example, bytes&#x3D;0-100.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    getfileContentForGivenId: async (\n      fileId: string,\n      changeContentDisposition?: boolean,\n      ifRange?: string,\n      range?: string,\n      options: AxiosRequestConfig = {},\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'fileId' is not null or undefined\n      assertParamExists(\"getfileContentForGivenId\", \"fileId\", fileId);\n      const localVarPath = `/files/{fileId}/content`.replace(\n        `{${\"fileId\"}}`,\n        encodeURIComponent(String(fileId)),\n      );\n      // use dummy base URL string because the URL constructor only accepts absolute URLs.\n      const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n      let baseOptions;\n      if (configuration) {\n        baseOptions = configuration.baseOptions;\n      }\n\n      const localVarRequestOptions = {\n        method: \"GET\",\n        ...baseOptions,\n        ...options,\n      };\n      const localVarHeaderParameter = {} as any;\n      const localVarQueryParameter = {} as any;\n\n      if (changeContentDisposition !== undefined) {\n        localVarQueryParameter[\"changeContentDisposition\"] =\n          changeContentDisposition;\n      }\n\n      if (ifRange != null) {\n        localVarHeaderParameter[\"If-Range\"] = String(ifRange);\n      }\n\n      if (range != null) {\n        localVarHeaderParameter[\"Range\"] = String(range);\n      }\n\n      setSearchParams(localVarUrlObj, localVarQueryParameter);\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {};\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      };\n\n      return {\n        url: toPathString(localVarUrlObj),\n        options: localVarRequestOptions,\n      };\n    },\n    /**\n     * Retrieves the content of the file resource for a specified version.\n     * @summary Get the file resource content for a specified version\n     * @param {string} fileId The identifier of the file resource for which to fetch content.\n     * @param {string} fileVersion The version of the file resource for which to fetch content.\n     * @param {boolean} [changeContentDisposition] Specifies whether to use the persisted content-disposition value. If this is specified to true and the word \\&quot;attachment\\&quot; appears in the content-disposition, it is changed to \\&quot;inline\\&quot;. No other changes are made to the content-disposition value.\n     * @param {string} [ifRange] A conditional range request. The client must specify the previously returned &#x60;ETag&#x60; as the &#x60;If-Range&#x60; header value. This determines whether the resource has been modified. If it has been modified, the entire file is returned. Otherwise, only partial content is returned using the &#x60;Range&#x60; header.\n     * @param {string} [range] A specific range request. The value specifies the required byte range--for example, bytes&#x3D;0-100.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    getfileContentForGivenVersion: async (\n      fileId: string,\n      fileVersion: string,\n      changeContentDisposition?: boolean,\n      ifRange?: string,\n      range?: string,\n      options: AxiosRequestConfig = {},\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'fileId' is not null or undefined\n      assertParamExists(\"getfileContentForGivenVersion\", \"fileId\", fileId);\n      // verify required parameter 'fileVersion' is not null or undefined\n      assertParamExists(\n        \"getfileContentForGivenVersion\",\n        \"fileVersion\",\n        fileVersion,\n      );\n      const localVarPath = `/files/{fileId}/version/{fileVersion}/content`\n        .replace(`{${\"fileId\"}}`, encodeURIComponent(String(fileId)))\n        .replace(`{${\"fileVersion\"}}`, encodeURIComponent(String(fileVersion)));\n      // use dummy base URL string because the URL constructor only accepts absolute URLs.\n      const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n      let baseOptions;\n      if (configuration) {\n        baseOptions = configuration.baseOptions;\n      }\n\n      const localVarRequestOptions = {\n        method: \"GET\",\n        ...baseOptions,\n        ...options,\n      };\n      const localVarHeaderParameter = {} as any;\n      const localVarQueryParameter = {} as any;\n\n      if (changeContentDisposition !== undefined) {\n        localVarQueryParameter[\"changeContentDisposition\"] =\n          changeContentDisposition;\n      }\n\n      if (ifRange != null) {\n        localVarHeaderParameter[\"If-Range\"] = String(ifRange);\n      }\n\n      if (range != null) {\n        localVarHeaderParameter[\"Range\"] = String(range);\n      }\n\n      setSearchParams(localVarUrlObj, localVarQueryParameter);\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {};\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      };\n\n      return {\n        url: toPathString(localVarUrlObj),\n        options: localVarRequestOptions,\n      };\n    },\n    /**\n     * Retrieves a file resource by specifying fileVersion of a fileId.\n     * @summary Get a file resource for specific version\n     * @param {string} fileId The identifier of the file resource.\n     * @param {number} fileVersion The version of the file resource.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    getfileIdForGivenVersion: async (\n      fileId: string,\n      fileVersion: number,\n      options: AxiosRequestConfig = {},\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'fileId' is not null or undefined\n      assertParamExists(\"getfileIdForGivenVersion\", \"fileId\", fileId);\n      // verify required parameter 'fileVersion' is not null or undefined\n      assertParamExists(\"getfileIdForGivenVersion\", \"fileVersion\", fileVersion);\n      const localVarPath = `/files/{fileId}/version/{fileVersion}`\n        .replace(`{${\"fileId\"}}`, encodeURIComponent(String(fileId)))\n        .replace(`{${\"fileVersion\"}}`, encodeURIComponent(String(fileVersion)));\n      // use dummy base URL string because the URL constructor only accepts absolute URLs.\n      const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n      let baseOptions;\n      if (configuration) {\n        baseOptions = configuration.baseOptions;\n      }\n\n      const localVarRequestOptions = {\n        method: \"GET\",\n        ...baseOptions,\n        ...options,\n      };\n      const localVarHeaderParameter = {} as any;\n      const localVarQueryParameter = {} as any;\n\n      setSearchParams(localVarUrlObj, localVarQueryParameter);\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {};\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      };\n\n      return {\n        url: toPathString(localVarUrlObj),\n        options: localVarRequestOptions,\n      };\n    },\n    /**\n     * This endpoint returns schema field to be indexed by search service.\n     * @summary Get schema for indexing\n     * @param {string} [accept] The type specific schema representation media type application/vnd.sas.search.type.schema+json.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    getfileindexschema: async (\n      accept?: string,\n      options: AxiosRequestConfig = {},\n    ): Promise<RequestArgs> => {\n      const localVarPath = `/files#schema`;\n      // use dummy base URL string because the URL constructor only accepts absolute URLs.\n      const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n      let baseOptions;\n      if (configuration) {\n        baseOptions = configuration.baseOptions;\n      }\n\n      const localVarRequestOptions = {\n        method: \"GET\",\n        ...baseOptions,\n        ...options,\n      };\n      const localVarHeaderParameter = {} as any;\n      const localVarQueryParameter = {} as any;\n\n      if (accept != null) {\n        localVarHeaderParameter[\"Accept\"] = String(accept);\n      }\n\n      setSearchParams(localVarUrlObj, localVarQueryParameter);\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {};\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      };\n\n      return {\n        url: toPathString(localVarUrlObj),\n        options: localVarRequestOptions,\n      };\n    },\n    /**\n     * Determines whether a file resource exists for the specified fileId.\n     * @summary Check if a file resource exists\n     * @param {string} fileId The identifier of the file resource.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    headersForFile: async (\n      fileId: string,\n      options: AxiosRequestConfig = {},\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'fileId' is not null or undefined\n      assertParamExists(\"headersForFile\", \"fileId\", fileId);\n      const localVarPath = `/files/{fileId}`.replace(\n        `{${\"fileId\"}}`,\n        encodeURIComponent(String(fileId)),\n      );\n      // use dummy base URL string because the URL constructor only accepts absolute URLs.\n      const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n      let baseOptions;\n      if (configuration) {\n        baseOptions = configuration.baseOptions;\n      }\n\n      const localVarRequestOptions = {\n        method: \"HEAD\",\n        ...baseOptions,\n        ...options,\n      };\n      const localVarHeaderParameter = {} as any;\n      const localVarQueryParameter = {} as any;\n\n      setSearchParams(localVarUrlObj, localVarQueryParameter);\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {};\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      };\n\n      return {\n        url: toPathString(localVarUrlObj),\n        options: localVarRequestOptions,\n      };\n    },\n    /**\n     * Determines whether a file resource exists for the specified version of fileId.\n     * @summary Check if a file resource exists for given fileVersion\n     * @param {string} fileId The identifier of the file resource.\n     * @param {number} fileVersion The version of the file resource.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    headersForfileIdForGivenVersion: async (\n      fileId: string,\n      fileVersion: number,\n      options: AxiosRequestConfig = {},\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'fileId' is not null or undefined\n      assertParamExists(\"headersForfileIdForGivenVersion\", \"fileId\", fileId);\n      // verify required parameter 'fileVersion' is not null or undefined\n      assertParamExists(\n        \"headersForfileIdForGivenVersion\",\n        \"fileVersion\",\n        fileVersion,\n      );\n      const localVarPath = `/files/{fileId}/version/{fileVersion}`\n        .replace(`{${\"fileId\"}}`, encodeURIComponent(String(fileId)))\n        .replace(`{${\"fileVersion\"}}`, encodeURIComponent(String(fileVersion)));\n      // use dummy base URL string because the URL constructor only accepts absolute URLs.\n      const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n      let baseOptions;\n      if (configuration) {\n        baseOptions = configuration.baseOptions;\n      }\n\n      const localVarRequestOptions = {\n        method: \"HEAD\",\n        ...baseOptions,\n        ...options,\n      };\n      const localVarHeaderParameter = {} as any;\n      const localVarQueryParameter = {} as any;\n\n      setSearchParams(localVarUrlObj, localVarQueryParameter);\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {};\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      };\n\n      return {\n        url: toPathString(localVarUrlObj),\n        options: localVarRequestOptions,\n      };\n    },\n    /**\n     * Updates the file resource information. The user can change these attributes: `name`, `description`, `parentUri`, `documentType`, `contentDisposition`, `properties`, `expirationTimeStamp`,`typeDefName` and `searchable`\n     * @summary Update a file resource\n     * @param {string} fileId The identifier of the file resource to update.\n     * @param {FileToPatch} fileToPatch The file resource to update.\n     * @param {string} [ifMatch] The entity tag that was obtained from the most recent &#x60;ETag&#x60; response header.\n     * @param {string} [ifUnmodifiedSince] The timestamp that was obtained from the most recent &#x60;Last-Modified&#x60; response header. This is ignored when &#x60;If-Match&#x60; is specified.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    patchFileResourceInfo: async (\n      fileId: string,\n      fileToPatch: FileToPatch,\n      ifMatch?: string,\n      ifUnmodifiedSince?: string,\n      options: AxiosRequestConfig = {},\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'fileId' is not null or undefined\n      assertParamExists(\"patchFileResourceInfo\", \"fileId\", fileId);\n      // verify required parameter 'fileToPatch' is not null or undefined\n      assertParamExists(\"patchFileResourceInfo\", \"fileToPatch\", fileToPatch);\n      const localVarPath = `/files/{fileId}`.replace(\n        `{${\"fileId\"}}`,\n        encodeURIComponent(String(fileId)),\n      );\n      // use dummy base URL string because the URL constructor only accepts absolute URLs.\n      const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n      let baseOptions;\n      if (configuration) {\n        baseOptions = configuration.baseOptions;\n      }\n\n      const localVarRequestOptions = {\n        method: \"PATCH\",\n        ...baseOptions,\n        ...options,\n      };\n      const localVarHeaderParameter = {} as any;\n      const localVarQueryParameter = {} as any;\n\n      if (ifMatch != null) {\n        localVarHeaderParameter[\"If-Match\"] = String(ifMatch);\n      }\n\n      if (ifUnmodifiedSince != null) {\n        localVarHeaderParameter[\"If-Unmodified-Since\"] =\n          String(ifUnmodifiedSince);\n      }\n\n      localVarHeaderParameter[\"Content-Type\"] = \"application/vnd.sas.file+json\";\n\n      setSearchParams(localVarUrlObj, localVarQueryParameter);\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {};\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      };\n      localVarRequestOptions.data = serializeDataIfNeeded(\n        fileToPatch,\n        localVarRequestOptions,\n        configuration,\n      );\n\n      return {\n        url: toPathString(localVarUrlObj),\n        options: localVarRequestOptions,\n      };\n    },\n    /**\n     * Updates the file resource information. The user can change these attributes: `name`, `description`, `parentUri`, `documentType`, `contentDisposition`, `properties`,`expirationTimeStamp`,`typeDefName` and `searchable`\n     * @summary Update a file resource\n     * @param {string} fileId The identifier of the file resource to update.\n     * @param {FileToPatch} fileToPatch The file resource to update.\n     * @param {string} [ifMatch] The entity tag that was obtained from the most recent &#x60;ETag&#x60; response header.\n     * @param {string} [ifUnmodifiedSince] The timestamp that was obtained from the most recent &#x60;Last-Modified&#x60; response header. This is ignored when &#x60;If-Match&#x60; is specified.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    updateFileResource: async (\n      fileId: string,\n      fileToPatch: FileToPatch,\n      ifMatch?: string,\n      ifUnmodifiedSince?: string,\n      options: AxiosRequestConfig = {},\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'fileId' is not null or undefined\n      assertParamExists(\"updateFileResource\", \"fileId\", fileId);\n      // verify required parameter 'fileToPatch' is not null or undefined\n      assertParamExists(\"updateFileResource\", \"fileToPatch\", fileToPatch);\n      const localVarPath = `/files/{fileId}`.replace(\n        `{${\"fileId\"}}`,\n        encodeURIComponent(String(fileId)),\n      );\n      // use dummy base URL string because the URL constructor only accepts absolute URLs.\n      const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n      let baseOptions;\n      if (configuration) {\n        baseOptions = configuration.baseOptions;\n      }\n\n      const localVarRequestOptions = {\n        method: \"PUT\",\n        ...baseOptions,\n        ...options,\n      };\n      const localVarHeaderParameter = {} as any;\n      const localVarQueryParameter = {} as any;\n\n      if (ifMatch != null) {\n        localVarHeaderParameter[\"If-Match\"] = String(ifMatch);\n      }\n\n      if (ifUnmodifiedSince != null) {\n        localVarHeaderParameter[\"If-Unmodified-Since\"] =\n          String(ifUnmodifiedSince);\n      }\n\n      localVarHeaderParameter[\"Content-Type\"] = \"application/vnd.sas.file+json\";\n\n      setSearchParams(localVarUrlObj, localVarQueryParameter);\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {};\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      };\n      localVarRequestOptions.data = serializeDataIfNeeded(\n        fileToPatch,\n        localVarRequestOptions,\n        configuration,\n      );\n\n      return {\n        url: toPathString(localVarUrlObj),\n        options: localVarRequestOptions,\n      };\n    },\n    /**\n     * Updates the content of the file resource.\n     * @summary Update file resource content\n     * @param {string} fileId The identifier of the file resource for which to fetch content.\n     * @param {string} contentType The content type. Specify this as \\&quot;multipart/form-data\\&quot; if you are using a multipart request, or specify the actual MIME type of the file if the request is a raw data upload.\n     * @param {File} file The file data. If you are using a raw data upload request, the request body should contain only the file data (the actual file content). If you are using a multipart request, the request body should be in multipart or form-data format, where the file data is listed as &#x60;file&#x60; in the form data. Only one file is permitted in a multipart request.\n     * @param {string} [ifMatch] The entity tag that was obtained from the most recent &#x60;ETag&#x60; response header.\n     * @param {string} [ifUnmodifiedSince] The timestamp that was obtained from the most recent &#x60;Last-Modified&#x60; response header. This is ignored when &#x60;If-Match&#x60; is specified.\n     * @param {string} [contentDisposition] The content disposition. The previously assigned value can be changed. This indicates whether the content is expected to be displayed inline in a browser (as a web page or part of a web page) or as an attachment that is downloaded and saved locally. If a filename is specified in the header, it is used as the default name of the file.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    updatedFileContent: async (\n      fileId: string,\n      contentType: string,\n      file: File,\n      ifMatch?: string,\n      ifUnmodifiedSince?: string,\n      contentDisposition?: string,\n      options: AxiosRequestConfig = {},\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'fileId' is not null or undefined\n      assertParamExists(\"updatedFileContent\", \"fileId\", fileId);\n      // verify required parameter 'contentType' is not null or undefined\n      assertParamExists(\"updatedFileContent\", \"contentType\", contentType);\n      // verify required parameter 'file' is not null or undefined\n      assertParamExists(\"updatedFileContent\", \"file\", file);\n      const localVarPath = `/files/{fileId}/content`.replace(\n        `{${\"fileId\"}}`,\n        encodeURIComponent(String(fileId)),\n      );\n      // use dummy base URL string because the URL constructor only accepts absolute URLs.\n      const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n      let baseOptions;\n      if (configuration) {\n        baseOptions = configuration.baseOptions;\n      }\n\n      const localVarRequestOptions = {\n        method: \"PUT\",\n        ...baseOptions,\n        ...options,\n      };\n      const localVarHeaderParameter = {} as any;\n      const localVarQueryParameter = {} as any;\n      const localVarFormParams = new (\n        (configuration && configuration.formDataCtor) ||\n        FormData\n      )();\n\n      if (ifMatch != null) {\n        localVarHeaderParameter[\"If-Match\"] = String(ifMatch);\n      }\n\n      if (ifUnmodifiedSince != null) {\n        localVarHeaderParameter[\"If-Unmodified-Since\"] =\n          String(ifUnmodifiedSince);\n      }\n\n      if (contentType != null) {\n        localVarHeaderParameter[\"Content-Type\"] = String(contentType);\n      }\n\n      if (contentDisposition != null) {\n        localVarHeaderParameter[\"Content-Disposition\"] =\n          String(contentDisposition);\n      }\n\n      if (file !== undefined) {\n        localVarFormParams.append(\"file\", file as any);\n      }\n\n      localVarHeaderParameter[\"Content-Type\"] = \"multipart/form-data\";\n\n      setSearchParams(localVarUrlObj, localVarQueryParameter);\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {};\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      };\n      localVarRequestOptions.data = localVarFormParams;\n\n      return {\n        url: toPathString(localVarUrlObj),\n        options: localVarRequestOptions,\n      };\n    },\n  };\n};\n\n/**\n * FilesApi - functional programming interface\n * @export\n */\nexport const FilesApi = function (configuration?: Configuration) {\n  const localVarAxiosParamCreator = FilesApiAxiosParamCreator(configuration);\n  return {\n    /**\n     * Copies the file if the user has Read access to the specified file.\n     * @summary Copy an existing file\n     * @param {FilesApiCreateCopyOfFileRequest} requestParameters Request parameters.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async createCopyOfFile(\n      requestParameters: FilesApiCreateCopyOfFileRequest,\n      options?: AxiosRequestConfig,\n    ): Promise<AxiosResponse<FileResource>> {\n      const localVarAxiosArgs =\n        await localVarAxiosParamCreator.createCopyOfFile(\n          requestParameters.fileId,\n          requestParameters.contentDisposition,\n          requestParameters.expirationTimeStamp,\n          requestParameters.parentFolderUri,\n          options,\n        );\n      return createRequestFunction(localVarAxiosArgs, configuration);\n    },\n\n    /**\n     * Creates a new file resource by passing file content in the request body.\n     * @summary Create new file resource\n     * @param {FilesApiCreateNewFileRequest} requestParameters Request parameters.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async createNewFile(\n      requestParameters: FilesApiCreateNewFileRequest = {},\n      options?: AxiosRequestConfig,\n    ): Promise<AxiosResponse<FileResource>> {\n      const localVarAxiosArgs = await localVarAxiosParamCreator.createNewFile(\n        requestParameters.contentType,\n        requestParameters.contentDisposition,\n        requestParameters.expirationTimeStamp,\n        requestParameters.parentFolderUri,\n        requestParameters.searchable,\n        requestParameters.typeDefName,\n        requestParameters.versioned,\n        requestParameters.body,\n        options,\n      );\n      return createRequestFunction(localVarAxiosArgs, configuration);\n    },\n\n    /**\n     * Creates a new file resource by passing a file in the form of a multipart request.\n     * @summary Create a new file resource\n     * @param {FilesApiCreateNewFileMultiPartRequest} requestParameters Request parameters.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async createNewFileMultiPart(\n      requestParameters: FilesApiCreateNewFileMultiPartRequest = {},\n      options?: AxiosRequestConfig,\n    ): Promise<AxiosResponse<FileResource>> {\n      const localVarAxiosArgs =\n        await localVarAxiosParamCreator.createNewFileMultiPart(\n          requestParameters.contentType,\n          requestParameters.contentDisposition,\n          requestParameters.expirationTimeStamp,\n          requestParameters.parentFolderUri,\n          requestParameters.searchable,\n          requestParameters.typeDefName,\n          requestParameters.versioned,\n          requestParameters.recoverable,\n          requestParameters.filename,\n          requestParameters.file,\n          options,\n        );\n      return createRequestFunction(localVarAxiosArgs, configuration);\n    },\n\n    /**\n     * Deletes the file resource.\n     * @summary Delete a file resource\n     * @param {FilesApiDeleteFileResourceRequest} requestParameters Request parameters.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async deleteFileResource(\n      requestParameters: FilesApiDeleteFileResourceRequest,\n      options?: AxiosRequestConfig,\n    ): Promise<AxiosResponse<void>> {\n      const localVarAxiosArgs =\n        await localVarAxiosParamCreator.deleteFileResource(\n          requestParameters.fileId,\n          options,\n        );\n      return createRequestFunction(localVarAxiosArgs, configuration);\n    },\n\n    /**\n     * Deletes file resources for the specified parentUri. If the user is not authorized to delete all matching files, no files are deleted.\n     * @summary Delete file resources\n     * @param {FilesApiDeleteFileResourceForGivenParentUriRequest} requestParameters Request parameters.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async deleteFileResourceForGivenParentUri(\n      requestParameters: FilesApiDeleteFileResourceForGivenParentUriRequest,\n      options?: AxiosRequestConfig,\n    ): Promise<AxiosResponse<void>> {\n      const localVarAxiosArgs =\n        await localVarAxiosParamCreator.deleteFileResourceForGivenParentUri(\n          requestParameters.parentUri,\n          options,\n        );\n      return createRequestFunction(localVarAxiosArgs, configuration);\n    },\n\n    /**\n     * Retrieves the file resources that are associated with multiple parentUri specifications. Request the parentUri values in the body. The returned collection is grouped by parentUri.\n     * @summary Get file resources for multiple parentUris\n     * @param {FilesApiFetchFilesForParentUrisRequest} requestParameters Request parameters.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async fetchFilesForParentUris(\n      requestParameters: FilesApiFetchFilesForParentUrisRequest,\n      options?: AxiosRequestConfig,\n    ): Promise<AxiosResponse<FileResourceCollection>> {\n      const localVarAxiosArgs =\n        await localVarAxiosParamCreator.fetchFilesForParentUris(\n          requestParameters.selection,\n          requestParameters.acceptItem,\n          options,\n        );\n      return createRequestFunction(localVarAxiosArgs, configuration);\n    },\n\n    /**\n     * Retrieves a file resource by specifying a fileId.\n     * @summary Get a file resource\n     * @param {FilesApiGetFileRequest} requestParameters Request parameters.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async getFile(\n      requestParameters: FilesApiGetFileRequest,\n      options?: AxiosRequestConfig,\n    ): Promise<AxiosResponse<FileResource>> {\n      const localVarAxiosArgs = await localVarAxiosParamCreator.getFile(\n        requestParameters.fileId,\n        options,\n      );\n      return createRequestFunction(localVarAxiosArgs, configuration);\n    },\n\n    /**\n     * Retrieves file resources for the specified criteria. Standard paging, filtering, and sorting options are available.\n     * @summary Get file resources\n     * @param {FilesApiGetFileResourceForFilterQueryRequest} requestParameters Request parameters.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async getFileResourceForFilterQuery(\n      requestParameters: FilesApiGetFileResourceForFilterQueryRequest = {},\n      options?: AxiosRequestConfig,\n    ): Promise<AxiosResponse<FileResourceCollection>> {\n      const localVarAxiosArgs =\n        await localVarAxiosParamCreator.getFileResourceForFilterQuery(\n          requestParameters.acceptItem,\n          requestParameters.parentUri,\n          requestParameters.start,\n          requestParameters.limit,\n          requestParameters.filter,\n          requestParameters.sortBy,\n          options,\n        );\n      return createRequestFunction(localVarAxiosArgs, configuration);\n    },\n\n    /**\n     * Retrieves file resources of all the versions of a given fileId. Standard paging, option is available.\n     * @summary Get all the versions of a given file id\n     * @param {FilesApiGetFileVersionResourceForFilterQueryRequest} requestParameters Request parameters.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async getFileVersionResourceForFilterQuery(\n      requestParameters: FilesApiGetFileVersionResourceForFilterQueryRequest,\n      options?: AxiosRequestConfig,\n    ): Promise<AxiosResponse<FileResourceCollection>> {\n      const localVarAxiosArgs =\n        await localVarAxiosParamCreator.getFileVersionResourceForFilterQuery(\n          requestParameters.fileId,\n          requestParameters.start,\n          requestParameters.limit,\n          options,\n        );\n      return createRequestFunction(localVarAxiosArgs, configuration);\n    },\n\n    /**\n     * Retrieves the content of the file resource.\n     * @summary Get file resource content\n     * @param {FilesApiGetfileContentForGivenIdRequest} requestParameters Request parameters.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async getfileContentForGivenId(\n      requestParameters: FilesApiGetfileContentForGivenIdRequest,\n      options?: AxiosRequestConfig,\n    ): Promise<AxiosResponse<void>> {\n      const localVarAxiosArgs =\n        await localVarAxiosParamCreator.getfileContentForGivenId(\n          requestParameters.fileId,\n          requestParameters.changeContentDisposition,\n          requestParameters.ifRange,\n          requestParameters.range,\n          options,\n        );\n      return createRequestFunction(localVarAxiosArgs, configuration);\n    },\n\n    /**\n     * Retrieves the content of the file resource for a specified version.\n     * @summary Get the file resource content for a specified version\n     * @param {FilesApiGetfileContentForGivenVersionRequest} requestParameters Request parameters.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async getfileContentForGivenVersion(\n      requestParameters: FilesApiGetfileContentForGivenVersionRequest,\n      options?: AxiosRequestConfig,\n    ): Promise<AxiosResponse<void>> {\n      const localVarAxiosArgs =\n        await localVarAxiosParamCreator.getfileContentForGivenVersion(\n          requestParameters.fileId,\n          requestParameters.fileVersion,\n          requestParameters.changeContentDisposition,\n          requestParameters.ifRange,\n          requestParameters.range,\n          options,\n        );\n      return createRequestFunction(localVarAxiosArgs, configuration);\n    },\n\n    /**\n     * Retrieves a file resource by specifying fileVersion of a fileId.\n     * @summary Get a file resource for specific version\n     * @param {FilesApiGetfileIdForGivenVersionRequest} requestParameters Request parameters.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async getfileIdForGivenVersion(\n      requestParameters: FilesApiGetfileIdForGivenVersionRequest,\n      options?: AxiosRequestConfig,\n    ): Promise<AxiosResponse<FileResource>> {\n      const localVarAxiosArgs =\n        await localVarAxiosParamCreator.getfileIdForGivenVersion(\n          requestParameters.fileId,\n          requestParameters.fileVersion,\n          options,\n        );\n      return createRequestFunction(localVarAxiosArgs, configuration);\n    },\n\n    /**\n     * This endpoint returns schema field to be indexed by search service.\n     * @summary Get schema for indexing\n     * @param {FilesApiGetfileindexschemaRequest} requestParameters Request parameters.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async getfileindexschema(\n      requestParameters: FilesApiGetfileindexschemaRequest = {},\n      options?: AxiosRequestConfig,\n    ): Promise<AxiosResponse<Schema>> {\n      const localVarAxiosArgs =\n        await localVarAxiosParamCreator.getfileindexschema(\n          requestParameters.accept,\n          options,\n        );\n      return createRequestFunction(localVarAxiosArgs, configuration);\n    },\n\n    /**\n     * Determines whether a file resource exists for the specified fileId.\n     * @summary Check if a file resource exists\n     * @param {FilesApiHeadersForFileRequest} requestParameters Request parameters.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async headersForFile(\n      requestParameters: FilesApiHeadersForFileRequest,\n      options?: AxiosRequestConfig,\n    ): Promise<AxiosResponse<void>> {\n      const localVarAxiosArgs = await localVarAxiosParamCreator.headersForFile(\n        requestParameters.fileId,\n        options,\n      );\n      return createRequestFunction(localVarAxiosArgs, configuration);\n    },\n\n    /**\n     * Determines whether a file resource exists for the specified version of fileId.\n     * @summary Check if a file resource exists for given fileVersion\n     * @param {FilesApiHeadersForfileIdForGivenVersionRequest} requestParameters Request parameters.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async headersForfileIdForGivenVersion(\n      requestParameters: FilesApiHeadersForfileIdForGivenVersionRequest,\n      options?: AxiosRequestConfig,\n    ): Promise<AxiosResponse<void>> {\n      const localVarAxiosArgs =\n        await localVarAxiosParamCreator.headersForfileIdForGivenVersion(\n          requestParameters.fileId,\n          requestParameters.fileVersion,\n          options,\n        );\n      return createRequestFunction(localVarAxiosArgs, configuration);\n    },\n\n    /**\n     * Updates the file resource information. The user can change these attributes: `name`, `description`, `parentUri`, `documentType`, `contentDisposition`, `properties`, `expirationTimeStamp`,`typeDefName` and `searchable`\n     * @summary Update a file resource\n     * @param {FilesApiPatchFileResourceInfoRequest} requestParameters Request parameters.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async patchFileResourceInfo(\n      requestParameters: FilesApiPatchFileResourceInfoRequest,\n      options?: AxiosRequestConfig,\n    ): Promise<AxiosResponse<FileResource>> {\n      const localVarAxiosArgs =\n        await localVarAxiosParamCreator.patchFileResourceInfo(\n          requestParameters.fileId,\n          requestParameters.fileToPatch,\n          requestParameters.ifMatch,\n          requestParameters.ifUnmodifiedSince,\n          options,\n        );\n      return createRequestFunction(localVarAxiosArgs, configuration);\n    },\n\n    /**\n     * Updates the file resource information. The user can change these attributes: `name`, `description`, `parentUri`, `documentType`, `contentDisposition`, `properties`,`expirationTimeStamp`,`typeDefName` and `searchable`\n     * @summary Update a file resource\n     * @param {FilesApiUpdateFileResourceRequest} requestParameters Request parameters.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async updateFileResource(\n      requestParameters: FilesApiUpdateFileResourceRequest,\n      options?: AxiosRequestConfig,\n    ): Promise<AxiosResponse<FileResource>> {\n      const localVarAxiosArgs =\n        await localVarAxiosParamCreator.updateFileResource(\n          requestParameters.fileId,\n          requestParameters.fileToPatch,\n          requestParameters.ifMatch,\n          requestParameters.ifUnmodifiedSince,\n          options,\n        );\n      return createRequestFunction(localVarAxiosArgs, configuration);\n    },\n\n    /**\n     * Updates the content of the file resource.\n     * @summary Update file resource content\n     * @param {FilesApiUpdatedFileContentRequest} requestParameters Request parameters.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async updatedFileContent(\n      requestParameters: FilesApiUpdatedFileContentRequest,\n      options?: AxiosRequestConfig,\n    ): Promise<AxiosResponse<FileResource>> {\n      const localVarAxiosArgs =\n        await localVarAxiosParamCreator.updatedFileContent(\n          requestParameters.fileId,\n          requestParameters.contentType,\n          requestParameters.file,\n          requestParameters.ifMatch,\n          requestParameters.ifUnmodifiedSince,\n          requestParameters.contentDisposition,\n          options,\n        );\n      return createRequestFunction(localVarAxiosArgs, configuration);\n    },\n  };\n};\n\n/**\n * Request parameters for createCopyOfFile operation in FilesApi.\n * @export\n * @interface FilesApiCreateCopyOfFileRequest\n */\nexport interface FilesApiCreateCopyOfFileRequest {\n  /**\n   * The identifier of the file resource for which to fetch content.\n   * @type {string}\n   * @memberof FilesApiCreateCopyOfFile\n   */\n  readonly fileId: string;\n\n  /**\n   * The content disposition. The previously assigned value can be changed. This indicates whether the content is expected to be displayed inline in a browser (as a web page or part of a web page) or as an attachment that is downloaded and saved locally. If a filename is specified in the header, it is used as the default name of the file.\n   * @type {string}\n   * @memberof FilesApiCreateCopyOfFile\n   */\n  readonly contentDisposition?: string;\n\n  /**\n   * The date and time at which a file expires. If not specified, the file never expires.\n   * @type {string}\n   * @memberof FilesApiCreateCopyOfFile\n   */\n  readonly expirationTimeStamp?: string;\n\n  /**\n   * The URI of the folder in which to add the file.\n   * @type {string}\n   * @memberof FilesApiCreateCopyOfFile\n   */\n  readonly parentFolderUri?: string;\n}\n\n/**\n * Request parameters for createNewFile operation in FilesApi.\n * @export\n * @interface FilesApiCreateNewFileRequest\n */\nexport interface FilesApiCreateNewFileRequest {\n  /**\n   * The actual MIME type of the file.\n   * @type {string}\n   * @memberof FilesApiCreateNewFile\n   */\n  readonly contentType?: string;\n\n  /**\n   * The content disposition. It indicates whether the content is expected to be displayed inline in a browser (as a web page or part of a web page) or as an attachment that is downloaded and saved locally. If a filename is specified in the header, it is used as the default name of the file.\n   * @type {string}\n   * @memberof FilesApiCreateNewFile\n   */\n  readonly contentDisposition?: string;\n\n  /**\n   * A timestamp that indicates when a file expires. If this is not specified, the file never expires.\n   * @type {string}\n   * @memberof FilesApiCreateNewFile\n   */\n  readonly expirationTimeStamp?: string;\n\n  /**\n   * The URI of the folder in which the file should be made a member.\n   * @type {string}\n   * @memberof FilesApiCreateNewFile\n   */\n  readonly parentFolderUri?: string;\n\n  /**\n   * An indicator specifying if a file is searchable or not. Defaulted to \\&#39;true\\&#39; indicating file is searchable.\n   * @type {string}\n   * @memberof FilesApiCreateNewFile\n   */\n  readonly searchable?: string;\n\n  /**\n   * The type definition name of the file. If the file is associated with a folder and the client does not provide the value of this parameter, the file-service tries to find the best possible value using type-registry service. If it fails to find a default value, it defaults to \\&quot;file\\&quot;.\n   * @type {string}\n   * @memberof FilesApiCreateNewFile\n   */\n  readonly typeDefName?: string;\n\n  /**\n   * An indicator specifying if a file is a version control file or not. If set to true, the endpoint will return first version of the file.\n   * @type {boolean}\n   * @memberof FilesApiCreateNewFile\n   */\n  readonly versioned?: boolean;\n\n  /**\n   * The contents of the file to be passed in raw format in the request body.\n   * @type {string}\n   * @memberof FilesApiCreateNewFile\n   */\n  readonly body?: string;\n}\n\n/**\n * Request parameters for createNewFileMultiPart operation in FilesApi.\n * @export\n * @interface FilesApiCreateNewFileMultiPartRequest\n */\nexport interface FilesApiCreateNewFileMultiPartRequest {\n  /**\n   * The MIME type for the multipart request. You must specify \\&quot;multipart/form-data; boundary&#x3D;{boundaryString}\\&quot;. You can specify the actual MIME type of the file by using Content-Type as form data in the request body.\n   * @type {string}\n   * @memberof FilesApiCreateNewFileMultiPart\n   */\n  readonly contentType?: string;\n\n  /**\n   * The content disposition. This indicates whether the content is expected to be displayed inline in a browser (as a web page or part of a web page) or as an attachment that is downloaded and saved locally. If a filename is specified in the header, it is used as the default name of the file.\n   * @type {string}\n   * @memberof FilesApiCreateNewFileMultiPart\n   */\n  readonly contentDisposition?: string;\n\n  /**\n   * A timestamp that indicates when a file expires. If it is not specified, the file never expires.\n   * @type {string}\n   * @memberof FilesApiCreateNewFileMultiPart\n   */\n  readonly expirationTimeStamp?: string;\n\n  /**\n   * The URI of the folder in which to add the file.\n   * @type {string}\n   * @memberof FilesApiCreateNewFileMultiPart\n   */\n  readonly parentFolderUri?: string;\n\n  /**\n   * An indicator specifying if a file is searchable or not. Defaulted to \\&#39;true\\&#39; indicating file is searchable.\n   * @type {string}\n   * @memberof FilesApiCreateNewFileMultiPart\n   */\n  readonly searchable?: string;\n\n  /**\n   * The type definition name of the file. If the file is associated with folder and the client does not provide the value of this parameter, the  file-service tries to find the best possible value using type-registry service. If it fails to find a default value, it defaults to \\&quot;file\\&quot;.\n   * @type {string}\n   * @memberof FilesApiCreateNewFileMultiPart\n   */\n  readonly typeDefName?: string;\n\n  /**\n   * An indicator specifying if a file is a version control file or not. If set to true, the endpoint will return first version of the file.\n   * @type {boolean}\n   * @memberof FilesApiCreateNewFileMultiPart\n   */\n  readonly versioned?: boolean;\n\n  /**\n   * An indicator specifying if a file is recoverable or not.If a user deleted the file then those files can be recovered.There is a certain retention period till which the file will be retained.\n   * @type {boolean}\n   * @memberof FilesApiCreateNewFileMultiPart\n   */\n  readonly recoverable?: boolean;\n\n  /**\n   * The name of the file. Clients must specify name of the file as form data in the request body.\n   * @type {string}\n   * @memberof FilesApiCreateNewFileMultiPart\n   */\n  readonly filename?: string;\n\n  /**\n   * The actual file content. The content should be listed in the format of standard form data in the request body. Only one file is permitted in a multipart request.\n   * @type {File}\n   * @memberof FilesApiCreateNewFileMultiPart\n   */\n  readonly file?: File;\n}\n\n/**\n * Request parameters for deleteFileResource operation in FilesApi.\n * @export\n * @interface FilesApiDeleteFileResourceRequest\n */\nexport interface FilesApiDeleteFileResourceRequest {\n  /**\n   * The identifier of the file resource to delete.\n   * @type {string}\n   * @memberof FilesApiDeleteFileResource\n   */\n  readonly fileId: string;\n}\n\n/**\n * Request parameters for deleteFileResourceForGivenParentUri operation in FilesApi.\n * @export\n * @interface FilesApiDeleteFileResourceForGivenParentUriRequest\n */\nexport interface FilesApiDeleteFileResourceForGivenParentUriRequest {\n  /**\n   * The parent URI that is associated with the file resources to be deleted.\n   * @type {string}\n   * @memberof FilesApiDeleteFileResourceForGivenParentUri\n   */\n  readonly parentUri: string;\n}\n\n/**\n * Request parameters for fetchFilesForParentUris operation in FilesApi.\n * @export\n * @interface FilesApiFetchFilesForParentUrisRequest\n */\nexport interface FilesApiFetchFilesForParentUrisRequest {\n  /**\n   * Multiple parentUri values that are specified as an array of string values. The file resources that are associated with each parentUri are retrieved.\n   * @type {Selection}\n   * @memberof FilesApiFetchFilesForParentUris\n   */\n  readonly selection: Selection;\n\n  /**\n   * The file resource media type value. If this is not specified, the API returns the latest version.\n   * @type {string}\n   * @memberof FilesApiFetchFilesForParentUris\n   */\n  readonly acceptItem?: string;\n}\n\n/**\n * Request parameters for getFile operation in FilesApi.\n * @export\n * @interface FilesApiGetFileRequest\n */\nexport interface FilesApiGetFileRequest {\n  /**\n   * The identifier of the file resource.\n   * @type {string}\n   * @memberof FilesApiGetFile\n   */\n  readonly fileId: string;\n}\n\n/**\n * Request parameters for getFileResourceForFilterQuery operation in FilesApi.\n * @export\n * @interface FilesApiGetFileResourceForFilterQueryRequest\n */\nexport interface FilesApiGetFileResourceForFilterQueryRequest {\n  /**\n   * The file resource media type value. If this is not specified, the API returns the latest version.\n   * @type {string}\n   * @memberof FilesApiGetFileResourceForFilterQuery\n   */\n  readonly acceptItem?: string;\n\n  /**\n   * The URI of the associated object or parent object.\n   * @type {string}\n   * @memberof FilesApiGetFileResourceForFilterQuery\n   */\n  readonly parentUri?: string;\n\n  /**\n   * The offset of the first member to return. The default value is 0.\n   * @type {number}\n   * @memberof FilesApiGetFileResourceForFilterQuery\n   */\n  readonly start?: number;\n\n  /**\n   * The maximum number of members to return. The default value is 10.\n   * @type {number}\n   * @memberof FilesApiGetFileResourceForFilterQuery\n   */\n  readonly limit?: number;\n\n  /**\n   * The filter criteria to apply to the returned member collection.\n   * @type {string}\n   * @memberof FilesApiGetFileResourceForFilterQuery\n   */\n  readonly filter?: string;\n\n  /**\n   * The sort criteria  applies to the returned member collection.\n   * @type {string}\n   * @memberof FilesApiGetFileResourceForFilterQuery\n   */\n  readonly sortBy?: string;\n}\n\n/**\n * Request parameters for getFileVersionResourceForFilterQuery operation in FilesApi.\n * @export\n * @interface FilesApiGetFileVersionResourceForFilterQueryRequest\n */\nexport interface FilesApiGetFileVersionResourceForFilterQueryRequest {\n  /**\n   * The specific field identifier of the file to return.\n   * @type {string}\n   * @memberof FilesApiGetFileVersionResourceForFilterQuery\n   */\n  readonly fileId: string;\n\n  /**\n   * The offset of the first member to return. The default value is 0.\n   * @type {number}\n   * @memberof FilesApiGetFileVersionResourceForFilterQuery\n   */\n  readonly start?: number;\n\n  /**\n   * The maximum number of members to return. The default value is 10.\n   * @type {number}\n   * @memberof FilesApiGetFileVersionResourceForFilterQuery\n   */\n  readonly limit?: number;\n}\n\n/**\n * Request parameters for getfileContentForGivenId operation in FilesApi.\n * @export\n * @interface FilesApiGetfileContentForGivenIdRequest\n */\nexport interface FilesApiGetfileContentForGivenIdRequest {\n  /**\n   * The identifier of the file resource for which to fetch content.\n   * @type {string}\n   * @memberof FilesApiGetfileContentForGivenId\n   */\n  readonly fileId: string;\n\n  /**\n   * Specifies whether to use the persisted content-disposition value. If this is specified to true and the word \\&quot;attachment\\&quot; appears in the content-disposition, it is changed to \\&quot;inline\\&quot;. No other changes are made to the content-disposition value.\n   * @type {boolean}\n   * @memberof FilesApiGetfileContentForGivenId\n   */\n  readonly changeContentDisposition?: boolean;\n\n  /**\n   * A conditional range request. The client must specify the previously returned &#x60;ETag&#x60; as the &#x60;If-Range&#x60; header value. This determines whether the resource has been modified. If it has been modified, the entire file is returned. Otherwise, only partial content is returned using the &#x60;Range&#x60; header.\n   * @type {string}\n   * @memberof FilesApiGetfileContentForGivenId\n   */\n  readonly ifRange?: string;\n\n  /**\n   * A specific range request. The value specifies the required byte range--for example, bytes&#x3D;0-100.\n   * @type {string}\n   * @memberof FilesApiGetfileContentForGivenId\n   */\n  readonly range?: string;\n}\n\n/**\n * Request parameters for getfileContentForGivenVersion operation in FilesApi.\n * @export\n * @interface FilesApiGetfileContentForGivenVersionRequest\n */\nexport interface FilesApiGetfileContentForGivenVersionRequest {\n  /**\n   * The identifier of the file resource for which to fetch content.\n   * @type {string}\n   * @memberof FilesApiGetfileContentForGivenVersion\n   */\n  readonly fileId: string;\n\n  /**\n   * The version of the file resource for which to fetch content.\n   * @type {string}\n   * @memberof FilesApiGetfileContentForGivenVersion\n   */\n  readonly fileVersion: string;\n\n  /**\n   * Specifies whether to use the persisted content-disposition value. If this is specified to true and the word \\&quot;attachment\\&quot; appears in the content-disposition, it is changed to \\&quot;inline\\&quot;. No other changes are made to the content-disposition value.\n   * @type {boolean}\n   * @memberof FilesApiGetfileContentForGivenVersion\n   */\n  readonly changeContentDisposition?: boolean;\n\n  /**\n   * A conditional range request. The client must specify the previously returned &#x60;ETag&#x60; as the &#x60;If-Range&#x60; header value. This determines whether the resource has been modified. If it has been modified, the entire file is returned. Otherwise, only partial content is returned using the &#x60;Range&#x60; header.\n   * @type {string}\n   * @memberof FilesApiGetfileContentForGivenVersion\n   */\n  readonly ifRange?: string;\n\n  /**\n   * A specific range request. The value specifies the required byte range--for example, bytes&#x3D;0-100.\n   * @type {string}\n   * @memberof FilesApiGetfileContentForGivenVersion\n   */\n  readonly range?: string;\n}\n\n/**\n * Request parameters for getfileIdForGivenVersion operation in FilesApi.\n * @export\n * @interface FilesApiGetfileIdForGivenVersionRequest\n */\nexport interface FilesApiGetfileIdForGivenVersionRequest {\n  /**\n   * The identifier of the file resource.\n   * @type {string}\n   * @memberof FilesApiGetfileIdForGivenVersion\n   */\n  readonly fileId: string;\n\n  /**\n   * The version of the file resource.\n   * @type {number}\n   * @memberof FilesApiGetfileIdForGivenVersion\n   */\n  readonly fileVersion: number;\n}\n\n/**\n * Request parameters for getfileindexschema operation in FilesApi.\n * @export\n * @interface FilesApiGetfileindexschemaRequest\n */\nexport interface FilesApiGetfileindexschemaRequest {\n  /**\n   * The type specific schema representation media type application/vnd.sas.search.type.schema+json.\n   * @type {string}\n   * @memberof FilesApiGetfileindexschema\n   */\n  readonly accept?: string;\n}\n\n/**\n * Request parameters for headersForFile operation in FilesApi.\n * @export\n * @interface FilesApiHeadersForFileRequest\n */\nexport interface FilesApiHeadersForFileRequest {\n  /**\n   * The identifier of the file resource.\n   * @type {string}\n   * @memberof FilesApiHeadersForFile\n   */\n  readonly fileId: string;\n}\n\n/**\n * Request parameters for headersForfileIdForGivenVersion operation in FilesApi.\n * @export\n * @interface FilesApiHeadersForfileIdForGivenVersionRequest\n */\nexport interface FilesApiHeadersForfileIdForGivenVersionRequest {\n  /**\n   * The identifier of the file resource.\n   * @type {string}\n   * @memberof FilesApiHeadersForfileIdForGivenVersion\n   */\n  readonly fileId: string;\n\n  /**\n   * The version of the file resource.\n   * @type {number}\n   * @memberof FilesApiHeadersForfileIdForGivenVersion\n   */\n  readonly fileVersion: number;\n}\n\n/**\n * Request parameters for patchFileResourceInfo operation in FilesApi.\n * @export\n * @interface FilesApiPatchFileResourceInfoRequest\n */\nexport interface FilesApiPatchFileResourceInfoRequest {\n  /**\n   * The identifier of the file resource to update.\n   * @type {string}\n   * @memberof FilesApiPatchFileResourceInfo\n   */\n  readonly fileId: string;\n\n  /**\n   * The file resource to update.\n   * @type {FileToPatch}\n   * @memberof FilesApiPatchFileResourceInfo\n   */\n  readonly fileToPatch: FileToPatch;\n\n  /**\n   * The entity tag that was obtained from the most recent &#x60;ETag&#x60; response header.\n   * @type {string}\n   * @memberof FilesApiPatchFileResourceInfo\n   */\n  readonly ifMatch?: string;\n\n  /**\n   * The timestamp that was obtained from the most recent &#x60;Last-Modified&#x60; response header. This is ignored when &#x60;If-Match&#x60; is specified.\n   * @type {string}\n   * @memberof FilesApiPatchFileResourceInfo\n   */\n  readonly ifUnmodifiedSince?: string;\n}\n\n/**\n * Request parameters for updateFileResource operation in FilesApi.\n * @export\n * @interface FilesApiUpdateFileResourceRequest\n */\nexport interface FilesApiUpdateFileResourceRequest {\n  /**\n   * The identifier of the file resource to update.\n   * @type {string}\n   * @memberof FilesApiUpdateFileResource\n   */\n  readonly fileId: string;\n\n  /**\n   * The file resource to update.\n   * @type {FileToPatch}\n   * @memberof FilesApiUpdateFileResource\n   */\n  readonly fileToPatch: FileToPatch;\n\n  /**\n   * The entity tag that was obtained from the most recent &#x60;ETag&#x60; response header.\n   * @type {string}\n   * @memberof FilesApiUpdateFileResource\n   */\n  readonly ifMatch?: string;\n\n  /**\n   * The timestamp that was obtained from the most recent &#x60;Last-Modified&#x60; response header. This is ignored when &#x60;If-Match&#x60; is specified.\n   * @type {string}\n   * @memberof FilesApiUpdateFileResource\n   */\n  readonly ifUnmodifiedSince?: string;\n}\n\n/**\n * Request parameters for updatedFileContent operation in FilesApi.\n * @export\n * @interface FilesApiUpdatedFileContentRequest\n */\nexport interface FilesApiUpdatedFileContentRequest {\n  /**\n   * The identifier of the file resource for which to fetch content.\n   * @type {string}\n   * @memberof FilesApiUpdatedFileContent\n   */\n  readonly fileId: string;\n\n  /**\n   * The content type. Specify this as \\&quot;multipart/form-data\\&quot; if you are using a multipart request, or specify the actual MIME type of the file if the request is a raw data upload.\n   * @type {string}\n   * @memberof FilesApiUpdatedFileContent\n   */\n  readonly contentType: string;\n\n  /**\n   * The file data. If you are using a raw data upload request, the request body should contain only the file data (the actual file content). If you are using a multipart request, the request body should be in multipart or form-data format, where the file data is listed as &#x60;file&#x60; in the form data. Only one file is permitted in a multipart request.\n   * @type {File}\n   * @memberof FilesApiUpdatedFileContent\n   */\n  readonly file: File;\n\n  /**\n   * The entity tag that was obtained from the most recent &#x60;ETag&#x60; response header.\n   * @type {string}\n   * @memberof FilesApiUpdatedFileContent\n   */\n  readonly ifMatch?: string;\n\n  /**\n   * The timestamp that was obtained from the most recent &#x60;Last-Modified&#x60; response header. This is ignored when &#x60;If-Match&#x60; is specified.\n   * @type {string}\n   * @memberof FilesApiUpdatedFileContent\n   */\n  readonly ifUnmodifiedSince?: string;\n\n  /**\n   * The content disposition. The previously assigned value can be changed. This indicates whether the content is expected to be displayed inline in a browser (as a web page or part of a web page) or as an attachment that is downloaded and saved locally. If a filename is specified in the header, it is used as the default name of the file.\n   * @type {string}\n   * @memberof FilesApiUpdatedFileContent\n   */\n  readonly contentDisposition?: string;\n}\n\n/**\n * IndexApi - axios parameter creator\n * @export\n */\nexport const IndexApiAxiosParamCreator = function (\n  configuration?: Configuration,\n) {\n  return {\n    /**\n     * Retrieves indexable representations of files that are associated with multiple parentUri specifications. Request the parentUri values in the body. The returned collection is grouped by parentUri.\n     * @summary Get indexable representations for parentUris\n     * @param {string} acceptItem The value of the file resource media type. You must specify this as \\&quot;application/vnd.sas.search.indexable.data\\&quot;.\n     * @param {Selection} selection Multiple parentUri values that are specified as an array of string values. The file resources that are associated with each parentUri are retrieved.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    fetchFilesIndexableRepForParentUris: async (\n      acceptItem: string,\n      selection: Selection,\n      options: AxiosRequestConfig = {},\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'acceptItem' is not null or undefined\n      assertParamExists(\n        \"fetchFilesIndexableRepForParentUris\",\n        \"acceptItem\",\n        acceptItem,\n      );\n      // verify required parameter 'selection' is not null or undefined\n      assertParamExists(\n        \"fetchFilesIndexableRepForParentUris\",\n        \"selection\",\n        selection,\n      );\n      const localVarPath = `/files#fetchIndexableRepresentationCollection`;\n      // use dummy base URL string because the URL constructor only accepts absolute URLs.\n      const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n      let baseOptions;\n      if (configuration) {\n        baseOptions = configuration.baseOptions;\n      }\n\n      const localVarRequestOptions = {\n        method: \"POST\",\n        ...baseOptions,\n        ...options,\n      };\n      const localVarHeaderParameter = {} as any;\n      const localVarQueryParameter = {} as any;\n\n      if (acceptItem != null) {\n        localVarHeaderParameter[\"Accept-Item\"] = String(acceptItem);\n      }\n\n      localVarHeaderParameter[\"Content-Type\"] =\n        \"application/vnd.sas.selection+json\";\n\n      setSearchParams(localVarUrlObj, localVarQueryParameter);\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {};\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      };\n      localVarRequestOptions.data = serializeDataIfNeeded(\n        selection,\n        localVarRequestOptions,\n        configuration,\n      );\n\n      return {\n        url: toPathString(localVarUrlObj),\n        options: localVarRequestOptions,\n      };\n    },\n    /**\n     * Retrieves a generic indexable representation of file for the specified identifier.\n     * @summary Get a generic indexable representation\n     * @param {string} fileId The identifier of the file resource.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    getFileIndexableRep: async (\n      fileId: string,\n      options: AxiosRequestConfig = {},\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'fileId' is not null or undefined\n      assertParamExists(\"getFileIndexableRep\", \"fileId\", fileId);\n      const localVarPath = `/files/{fileId}#getIndexableRepresentation`.replace(\n        `{${\"fileId\"}}`,\n        encodeURIComponent(String(fileId)),\n      );\n      // use dummy base URL string because the URL constructor only accepts absolute URLs.\n      const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n      let baseOptions;\n      if (configuration) {\n        baseOptions = configuration.baseOptions;\n      }\n\n      const localVarRequestOptions = {\n        method: \"GET\",\n        ...baseOptions,\n        ...options,\n      };\n      const localVarHeaderParameter = {} as any;\n      const localVarQueryParameter = {} as any;\n\n      setSearchParams(localVarUrlObj, localVarQueryParameter);\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {};\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      };\n\n      return {\n        url: toPathString(localVarUrlObj),\n        options: localVarRequestOptions,\n      };\n    },\n    /**\n     * Retrieves indexable representations of file resources for the specified criteria. Standard paging, filtering, and sorting options are available.\n     * @summary Get indexable representations for files\n     * @param {string} acceptItem The value of the file resource media type. You must specify this as \\&quot;application/vnd.sas.search.indexable.data\\&quot;.\n     * @param {string} [parentUri] The URI of the associated object or parent object.\n     * @param {number} [start] The offset of the first member to return. The default is 0.\n     * @param {number} [limit] The maximum number of members to return. The default value is 10.\n     * @param {string} [filter] The filter criteria to apply to the returned member collection.\n     * @param {string} [sortBy] The sort criteria to apply to the returned member collection.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    getFilesIndexableResource: async (\n      acceptItem: string,\n      parentUri?: string,\n      start?: number,\n      limit?: number,\n      filter?: string,\n      sortBy?: string,\n      options: AxiosRequestConfig = {},\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'acceptItem' is not null or undefined\n      assertParamExists(\"getFilesIndexableResource\", \"acceptItem\", acceptItem);\n      const localVarPath = `/files#getIndexableRepresentationCollection`;\n      // use dummy base URL string because the URL constructor only accepts absolute URLs.\n      const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n      let baseOptions;\n      if (configuration) {\n        baseOptions = configuration.baseOptions;\n      }\n\n      const localVarRequestOptions = {\n        method: \"GET\",\n        ...baseOptions,\n        ...options,\n      };\n      const localVarHeaderParameter = {} as any;\n      const localVarQueryParameter = {} as any;\n\n      if (parentUri !== undefined) {\n        localVarQueryParameter[\"parentUri\"] = parentUri;\n      }\n\n      if (start !== undefined) {\n        localVarQueryParameter[\"start\"] = start;\n      }\n\n      if (limit !== undefined) {\n        localVarQueryParameter[\"limit\"] = limit;\n      }\n\n      if (filter !== undefined) {\n        localVarQueryParameter[\"filter\"] = filter;\n      }\n\n      if (sortBy !== undefined) {\n        localVarQueryParameter[\"sortBy\"] = sortBy;\n      }\n\n      if (acceptItem != null) {\n        localVarHeaderParameter[\"Accept-Item\"] = String(acceptItem);\n      }\n\n      setSearchParams(localVarUrlObj, localVarQueryParameter);\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {};\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      };\n\n      return {\n        url: toPathString(localVarUrlObj),\n        options: localVarRequestOptions,\n      };\n    },\n  };\n};\n\n/**\n * IndexApi - functional programming interface\n * @export\n */\nexport const IndexApi = function (configuration?: Configuration) {\n  const localVarAxiosParamCreator = IndexApiAxiosParamCreator(configuration);\n  return {\n    /**\n     * Retrieves indexable representations of files that are associated with multiple parentUri specifications. Request the parentUri values in the body. The returned collection is grouped by parentUri.\n     * @summary Get indexable representations for parentUris\n     * @param {IndexApiFetchFilesIndexableRepForParentUrisRequest} requestParameters Request parameters.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async fetchFilesIndexableRepForParentUris(\n      requestParameters: IndexApiFetchFilesIndexableRepForParentUrisRequest,\n      options?: AxiosRequestConfig,\n    ): Promise<AxiosResponse<FileResourceCollection>> {\n      const localVarAxiosArgs =\n        await localVarAxiosParamCreator.fetchFilesIndexableRepForParentUris(\n          requestParameters.acceptItem,\n          requestParameters.selection,\n          options,\n        );\n      return createRequestFunction(localVarAxiosArgs, configuration);\n    },\n\n    /**\n     * Retrieves a generic indexable representation of file for the specified identifier.\n     * @summary Get a generic indexable representation\n     * @param {IndexApiGetFileIndexableRepRequest} requestParameters Request parameters.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async getFileIndexableRep(\n      requestParameters: IndexApiGetFileIndexableRepRequest,\n      options?: AxiosRequestConfig,\n    ): Promise<AxiosResponse<FileResourceIndex>> {\n      const localVarAxiosArgs =\n        await localVarAxiosParamCreator.getFileIndexableRep(\n          requestParameters.fileId,\n          options,\n        );\n      return createRequestFunction(localVarAxiosArgs, configuration);\n    },\n\n    /**\n     * Retrieves indexable representations of file resources for the specified criteria. Standard paging, filtering, and sorting options are available.\n     * @summary Get indexable representations for files\n     * @param {IndexApiGetFilesIndexableResourceRequest} requestParameters Request parameters.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async getFilesIndexableResource(\n      requestParameters: IndexApiGetFilesIndexableResourceRequest,\n      options?: AxiosRequestConfig,\n    ): Promise<AxiosResponse<FileResourceIndexCollection>> {\n      const localVarAxiosArgs =\n        await localVarAxiosParamCreator.getFilesIndexableResource(\n          requestParameters.acceptItem,\n          requestParameters.parentUri,\n          requestParameters.start,\n          requestParameters.limit,\n          requestParameters.filter,\n          requestParameters.sortBy,\n          options,\n        );\n      return createRequestFunction(localVarAxiosArgs, configuration);\n    },\n  };\n};\n\n/**\n * Request parameters for fetchFilesIndexableRepForParentUris operation in IndexApi.\n * @export\n * @interface IndexApiFetchFilesIndexableRepForParentUrisRequest\n */\nexport interface IndexApiFetchFilesIndexableRepForParentUrisRequest {\n  /**\n   * The value of the file resource media type. You must specify this as \\&quot;application/vnd.sas.search.indexable.data\\&quot;.\n   * @type {string}\n   * @memberof IndexApiFetchFilesIndexableRepForParentUris\n   */\n  readonly acceptItem: string;\n\n  /**\n   * Multiple parentUri values that are specified as an array of string values. The file resources that are associated with each parentUri are retrieved.\n   * @type {Selection}\n   * @memberof IndexApiFetchFilesIndexableRepForParentUris\n   */\n  readonly selection: Selection;\n}\n\n/**\n * Request parameters for getFileIndexableRep operation in IndexApi.\n * @export\n * @interface IndexApiGetFileIndexableRepRequest\n */\nexport interface IndexApiGetFileIndexableRepRequest {\n  /**\n   * The identifier of the file resource.\n   * @type {string}\n   * @memberof IndexApiGetFileIndexableRep\n   */\n  readonly fileId: string;\n}\n\n/**\n * Request parameters for getFilesIndexableResource operation in IndexApi.\n * @export\n * @interface IndexApiGetFilesIndexableResourceRequest\n */\nexport interface IndexApiGetFilesIndexableResourceRequest {\n  /**\n   * The value of the file resource media type. You must specify this as \\&quot;application/vnd.sas.search.indexable.data\\&quot;.\n   * @type {string}\n   * @memberof IndexApiGetFilesIndexableResource\n   */\n  readonly acceptItem: string;\n\n  /**\n   * The URI of the associated object or parent object.\n   * @type {string}\n   * @memberof IndexApiGetFilesIndexableResource\n   */\n  readonly parentUri?: string;\n\n  /**\n   * The offset of the first member to return. The default is 0.\n   * @type {number}\n   * @memberof IndexApiGetFilesIndexableResource\n   */\n  readonly start?: number;\n\n  /**\n   * The maximum number of members to return. The default value is 10.\n   * @type {number}\n   * @memberof IndexApiGetFilesIndexableResource\n   */\n  readonly limit?: number;\n\n  /**\n   * The filter criteria to apply to the returned member collection.\n   * @type {string}\n   * @memberof IndexApiGetFilesIndexableResource\n   */\n  readonly filter?: string;\n\n  /**\n   * The sort criteria to apply to the returned member collection.\n   * @type {string}\n   * @memberof IndexApiGetFilesIndexableResource\n   */\n  readonly sortBy?: string;\n}\n\n/**\n * RootApi - axios parameter creator\n * @export\n */\nexport const RootApiAxiosParamCreator = function (\n  configuration?: Configuration,\n) {\n  return {\n    /**\n     * Indicates whether the service is available.\n     * @summary Check the state of the service\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    headersForRoot: async (\n      options: AxiosRequestConfig = {},\n    ): Promise<RequestArgs> => {\n      const localVarPath = `/`;\n      // use dummy base URL string because the URL constructor only accepts absolute URLs.\n      const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n      let baseOptions;\n      if (configuration) {\n        baseOptions = configuration.baseOptions;\n      }\n\n      const localVarRequestOptions = {\n        method: \"HEAD\",\n        ...baseOptions,\n        ...options,\n      };\n      const localVarHeaderParameter = {} as any;\n      const localVarQueryParameter = {} as any;\n\n      setSearchParams(localVarUrlObj, localVarQueryParameter);\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {};\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      };\n\n      return {\n        url: toPathString(localVarUrlObj),\n        options: localVarRequestOptions,\n      };\n    },\n    /**\n     * Returns a list of links to the top-level resources that are available through the API. These top-level links include create and retrieve operations for /files.\n     * @summary Get top-level resource links\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    root: async (options: AxiosRequestConfig = {}): Promise<RequestArgs> => {\n      const localVarPath = `/`;\n      // use dummy base URL string because the URL constructor only accepts absolute URLs.\n      const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n      let baseOptions;\n      if (configuration) {\n        baseOptions = configuration.baseOptions;\n      }\n\n      const localVarRequestOptions = {\n        method: \"GET\",\n        ...baseOptions,\n        ...options,\n      };\n      const localVarHeaderParameter = {} as any;\n      const localVarQueryParameter = {} as any;\n\n      setSearchParams(localVarUrlObj, localVarQueryParameter);\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {};\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      };\n\n      return {\n        url: toPathString(localVarUrlObj),\n        options: localVarRequestOptions,\n      };\n    },\n  };\n};\n\n/**\n * RootApi - functional programming interface\n * @export\n */\nexport const RootApi = function (configuration?: Configuration) {\n  const localVarAxiosParamCreator = RootApiAxiosParamCreator(configuration);\n  return {\n    /**\n     * Indicates whether the service is available.\n     * @summary Check the state of the service\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async headersForRoot(\n      options?: AxiosRequestConfig,\n    ): Promise<AxiosResponse<void>> {\n      const localVarAxiosArgs =\n        await localVarAxiosParamCreator.headersForRoot(options);\n      return createRequestFunction(localVarAxiosArgs, configuration);\n    },\n\n    /**\n     * Returns a list of links to the top-level resources that are available through the API. These top-level links include create and retrieve operations for /files.\n     * @summary Get top-level resource links\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async root(options?: AxiosRequestConfig): Promise<AxiosResponse<Api>> {\n      const localVarAxiosArgs = await localVarAxiosParamCreator.root(options);\n      return createRequestFunction(localVarAxiosArgs, configuration);\n    },\n  };\n};\n\n/**\n * SecurityApi - axios parameter creator\n * @export\n */\nexport const SecurityApiAxiosParamCreator = function (\n  configuration?: Configuration,\n) {\n  return {\n    /**\n     * Updates the quarantine file resource information. The user can change only `quarantine` status. This end-Point is only accessible to SAS Administrators.\n     * @summary Update the quarantine status of file resource\n     * @param {string} fileId The identifier of the file resource to update.\n     * @param {QuarantineFileToPatch} quarantineFileToPatch The file resource to update for quarantine status.\n     * @param {string} [ifMatch] The entity tag that was obtained from the most recent &#x60;ETag&#x60; response header.\n     * @param {string} [ifUnmodifiedSince] The timestamp that was obtained from the most recent &#x60;Last-Modified&#x60; response header. This is ignored when &#x60;If-Match&#x60; is specified.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    patchFileResourceQuarantine: async (\n      fileId: string,\n      quarantineFileToPatch: QuarantineFileToPatch,\n      ifMatch?: string,\n      ifUnmodifiedSince?: string,\n      options: AxiosRequestConfig = {},\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'fileId' is not null or undefined\n      assertParamExists(\"patchFileResourceQuarantine\", \"fileId\", fileId);\n      // verify required parameter 'quarantineFileToPatch' is not null or undefined\n      assertParamExists(\n        \"patchFileResourceQuarantine\",\n        \"quarantineFileToPatch\",\n        quarantineFileToPatch,\n      );\n      const localVarPath = `/files/{fileId}/quarantine`.replace(\n        `{${\"fileId\"}}`,\n        encodeURIComponent(String(fileId)),\n      );\n      // use dummy base URL string because the URL constructor only accepts absolute URLs.\n      const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n      let baseOptions;\n      if (configuration) {\n        baseOptions = configuration.baseOptions;\n      }\n\n      const localVarRequestOptions = {\n        method: \"PATCH\",\n        ...baseOptions,\n        ...options,\n      };\n      const localVarHeaderParameter = {} as any;\n      const localVarQueryParameter = {} as any;\n\n      if (ifMatch != null) {\n        localVarHeaderParameter[\"If-Match\"] = String(ifMatch);\n      }\n\n      if (ifUnmodifiedSince != null) {\n        localVarHeaderParameter[\"If-Unmodified-Since\"] =\n          String(ifUnmodifiedSince);\n      }\n\n      localVarHeaderParameter[\"Content-Type\"] = \"application/vnd.sas.file+json\";\n\n      setSearchParams(localVarUrlObj, localVarQueryParameter);\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {};\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      };\n      localVarRequestOptions.data = serializeDataIfNeeded(\n        quarantineFileToPatch,\n        localVarRequestOptions,\n        configuration,\n      );\n\n      return {\n        url: toPathString(localVarUrlObj),\n        options: localVarRequestOptions,\n      };\n    },\n  };\n};\n\n/**\n * SecurityApi - functional programming interface\n * @export\n */\nexport const SecurityApi = function (configuration?: Configuration) {\n  const localVarAxiosParamCreator = SecurityApiAxiosParamCreator(configuration);\n  return {\n    /**\n     * Updates the quarantine file resource information. The user can change only `quarantine` status. This end-Point is only accessible to SAS Administrators.\n     * @summary Update the quarantine status of file resource\n     * @param {SecurityApiPatchFileResourceQuarantineRequest} requestParameters Request parameters.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async patchFileResourceQuarantine(\n      requestParameters: SecurityApiPatchFileResourceQuarantineRequest,\n      options?: AxiosRequestConfig,\n    ): Promise<AxiosResponse<FileResource>> {\n      const localVarAxiosArgs =\n        await localVarAxiosParamCreator.patchFileResourceQuarantine(\n          requestParameters.fileId,\n          requestParameters.quarantineFileToPatch,\n          requestParameters.ifMatch,\n          requestParameters.ifUnmodifiedSince,\n          options,\n        );\n      return createRequestFunction(localVarAxiosArgs, configuration);\n    },\n  };\n};\n\n/**\n * Request parameters for patchFileResourceQuarantine operation in SecurityApi.\n * @export\n * @interface SecurityApiPatchFileResourceQuarantineRequest\n */\nexport interface SecurityApiPatchFileResourceQuarantineRequest {\n  /**\n   * The identifier of the file resource to update.\n   * @type {string}\n   * @memberof SecurityApiPatchFileResourceQuarantine\n   */\n  readonly fileId: string;\n\n  /**\n   * The file resource to update for quarantine status.\n   * @type {QuarantineFileToPatch}\n   * @memberof SecurityApiPatchFileResourceQuarantine\n   */\n  readonly quarantineFileToPatch: QuarantineFileToPatch;\n\n  /**\n   * The entity tag that was obtained from the most recent &#x60;ETag&#x60; response header.\n   * @type {string}\n   * @memberof SecurityApiPatchFileResourceQuarantine\n   */\n  readonly ifMatch?: string;\n\n  /**\n   * The timestamp that was obtained from the most recent &#x60;Last-Modified&#x60; response header. This is ignored when &#x60;If-Match&#x60; is specified.\n   * @type {string}\n   * @memberof SecurityApiPatchFileResourceQuarantine\n   */\n  readonly ifUnmodifiedSince?: string;\n}\n\n/**\n * SettingsApi - axios parameter creator\n * @export\n */\nexport const SettingsApiAxiosParamCreator = function (\n  configuration?: Configuration,\n) {\n  return {\n    /**\n     * Returns the possible configuration settings that this API/service shares.\n     * @summary Get the API/service configuration settings\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    getSettings: async (\n      options: AxiosRequestConfig = {},\n    ): Promise<RequestArgs> => {\n      const localVarPath = `/commons/settings`;\n      // use dummy base URL string because the URL constructor only accepts absolute URLs.\n      const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n      let baseOptions;\n      if (configuration) {\n        baseOptions = configuration.baseOptions;\n      }\n\n      const localVarRequestOptions = {\n        method: \"GET\",\n        ...baseOptions,\n        ...options,\n      };\n      const localVarHeaderParameter = {} as any;\n      const localVarQueryParameter = {} as any;\n\n      setSearchParams(localVarUrlObj, localVarQueryParameter);\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {};\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      };\n\n      return {\n        url: toPathString(localVarUrlObj),\n        options: localVarRequestOptions,\n      };\n    },\n  };\n};\n\n/**\n * SettingsApi - functional programming interface\n * @export\n */\nexport const SettingsApi = function (configuration?: Configuration) {\n  const localVarAxiosParamCreator = SettingsApiAxiosParamCreator(configuration);\n  return {\n    /**\n     * Returns the possible configuration settings that this API/service shares.\n     * @summary Get the API/service configuration settings\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async getSettings(\n      options?: AxiosRequestConfig,\n    ): Promise<AxiosResponse<Settings>> {\n      const localVarAxiosArgs =\n        await localVarAxiosParamCreator.getSettings(options);\n      return createRequestFunction(localVarAxiosArgs, configuration);\n    },\n  };\n};\n\n/**\n * SummaryApi - axios parameter creator\n * @export\n */\nexport const SummaryApiAxiosParamCreator = function (\n  configuration?: Configuration,\n) {\n  return {\n    /**\n     * Retrieves summary representations of file resources for the specified criteria. Standard paging, filtering, and sorting options are available.\n     * @summary Get summary representations\n     * @param {string} acceptItem The value of the file resource media type. You must specify this as \\&quot;application/vnd.sas.summary\\&quot;.\n     * @param {string} [parentUri] The URI of the associated object or parent object.\n     * @param {number} [start] The offset of the first member to return. The default value is 0.\n     * @param {number} [limit] The maximum number of members to return. The default value is 10.\n     * @param {string} [filter] The filter criteria to apply to the returned member collection.\n     * @param {string} [sortBy] The sort criteria to apply to the returned member collection.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    getFilesSummaryForFilter: async (\n      acceptItem: string,\n      parentUri?: string,\n      start?: number,\n      limit?: number,\n      filter?: string,\n      sortBy?: string,\n      options: AxiosRequestConfig = {},\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'acceptItem' is not null or undefined\n      assertParamExists(\"getFilesSummaryForFilter\", \"acceptItem\", acceptItem);\n      const localVarPath = `/files#getSummaryRepresentationCollection`;\n      // use dummy base URL string because the URL constructor only accepts absolute URLs.\n      const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n      let baseOptions;\n      if (configuration) {\n        baseOptions = configuration.baseOptions;\n      }\n\n      const localVarRequestOptions = {\n        method: \"GET\",\n        ...baseOptions,\n        ...options,\n      };\n      const localVarHeaderParameter = {} as any;\n      const localVarQueryParameter = {} as any;\n\n      if (parentUri !== undefined) {\n        localVarQueryParameter[\"parentUri\"] = parentUri;\n      }\n\n      if (start !== undefined) {\n        localVarQueryParameter[\"start\"] = start;\n      }\n\n      if (limit !== undefined) {\n        localVarQueryParameter[\"limit\"] = limit;\n      }\n\n      if (filter !== undefined) {\n        localVarQueryParameter[\"filter\"] = filter;\n      }\n\n      if (sortBy !== undefined) {\n        localVarQueryParameter[\"sortBy\"] = sortBy;\n      }\n\n      if (acceptItem != null) {\n        localVarHeaderParameter[\"Accept-Item\"] = String(acceptItem);\n      }\n\n      setSearchParams(localVarUrlObj, localVarQueryParameter);\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {};\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      };\n\n      return {\n        url: toPathString(localVarUrlObj),\n        options: localVarRequestOptions,\n      };\n    },\n    /**\n     * Retrieves a generic summary representation of a file for the specified identifier.\n     * @summary Get a generic summary representation\n     * @param {string} fileId The identifier of the file resource.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    getfileSummaryRepForGivenId: async (\n      fileId: string,\n      options: AxiosRequestConfig = {},\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'fileId' is not null or undefined\n      assertParamExists(\"getfileSummaryRepForGivenId\", \"fileId\", fileId);\n      const localVarPath = `/files/{fileId}#getSummaryRepresentation`.replace(\n        `{${\"fileId\"}}`,\n        encodeURIComponent(String(fileId)),\n      );\n      // use dummy base URL string because the URL constructor only accepts absolute URLs.\n      const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n      let baseOptions;\n      if (configuration) {\n        baseOptions = configuration.baseOptions;\n      }\n\n      const localVarRequestOptions = {\n        method: \"GET\",\n        ...baseOptions,\n        ...options,\n      };\n      const localVarHeaderParameter = {} as any;\n      const localVarQueryParameter = {} as any;\n\n      setSearchParams(localVarUrlObj, localVarQueryParameter);\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {};\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      };\n\n      return {\n        url: toPathString(localVarUrlObj),\n        options: localVarRequestOptions,\n      };\n    },\n  };\n};\n\n/**\n * SummaryApi - functional programming interface\n * @export\n */\nexport const SummaryApi = function (configuration?: Configuration) {\n  const localVarAxiosParamCreator = SummaryApiAxiosParamCreator(configuration);\n  return {\n    /**\n     * Retrieves summary representations of file resources for the specified criteria. Standard paging, filtering, and sorting options are available.\n     * @summary Get summary representations\n     * @param {SummaryApiGetFilesSummaryForFilterRequest} requestParameters Request parameters.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async getFilesSummaryForFilter(\n      requestParameters: SummaryApiGetFilesSummaryForFilterRequest,\n      options?: AxiosRequestConfig,\n    ): Promise<AxiosResponse<FileResourceSummaryCollection>> {\n      const localVarAxiosArgs =\n        await localVarAxiosParamCreator.getFilesSummaryForFilter(\n          requestParameters.acceptItem,\n          requestParameters.parentUri,\n          requestParameters.start,\n          requestParameters.limit,\n          requestParameters.filter,\n          requestParameters.sortBy,\n          options,\n        );\n      return createRequestFunction(localVarAxiosArgs, configuration);\n    },\n\n    /**\n     * Retrieves a generic summary representation of a file for the specified identifier.\n     * @summary Get a generic summary representation\n     * @param {SummaryApiGetfileSummaryRepForGivenIdRequest} requestParameters Request parameters.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async getfileSummaryRepForGivenId(\n      requestParameters: SummaryApiGetfileSummaryRepForGivenIdRequest,\n      options?: AxiosRequestConfig,\n    ): Promise<AxiosResponse<FileResourceSummary>> {\n      const localVarAxiosArgs =\n        await localVarAxiosParamCreator.getfileSummaryRepForGivenId(\n          requestParameters.fileId,\n          options,\n        );\n      return createRequestFunction(localVarAxiosArgs, configuration);\n    },\n  };\n};\n\n/**\n * Request parameters for getFilesSummaryForFilter operation in SummaryApi.\n * @export\n * @interface SummaryApiGetFilesSummaryForFilterRequest\n */\nexport interface SummaryApiGetFilesSummaryForFilterRequest {\n  /**\n   * The value of the file resource media type. You must specify this as \\&quot;application/vnd.sas.summary\\&quot;.\n   * @type {string}\n   * @memberof SummaryApiGetFilesSummaryForFilter\n   */\n  readonly acceptItem: string;\n\n  /**\n   * The URI of the associated object or parent object.\n   * @type {string}\n   * @memberof SummaryApiGetFilesSummaryForFilter\n   */\n  readonly parentUri?: string;\n\n  /**\n   * The offset of the first member to return. The default value is 0.\n   * @type {number}\n   * @memberof SummaryApiGetFilesSummaryForFilter\n   */\n  readonly start?: number;\n\n  /**\n   * The maximum number of members to return. The default value is 10.\n   * @type {number}\n   * @memberof SummaryApiGetFilesSummaryForFilter\n   */\n  readonly limit?: number;\n\n  /**\n   * The filter criteria to apply to the returned member collection.\n   * @type {string}\n   * @memberof SummaryApiGetFilesSummaryForFilter\n   */\n  readonly filter?: string;\n\n  /**\n   * The sort criteria to apply to the returned member collection.\n   * @type {string}\n   * @memberof SummaryApiGetFilesSummaryForFilter\n   */\n  readonly sortBy?: string;\n}\n\n/**\n * Request parameters for getfileSummaryRepForGivenId operation in SummaryApi.\n * @export\n * @interface SummaryApiGetfileSummaryRepForGivenIdRequest\n */\nexport interface SummaryApiGetfileSummaryRepForGivenIdRequest {\n  /**\n   * The identifier of the file resource.\n   * @type {string}\n   * @memberof SummaryApiGetfileSummaryRepForGivenId\n   */\n  readonly fileId: string;\n}\n"
  },
  {
    "path": "client/src/connection/rest/api/folders.ts",
    "content": "// Copyright © 2023, SAS Institute Inc., Cary, NC, USA.  All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n/**\n * Folders\n * The Folders API provides an organizational structure for SAS and external content. It can also be used for favorites folders or a history of objects accessed. The resources that are stored in folders (members) use a URI to point back to those resources. <H4><strong>Terminology:</strong></H4> <H4>folder</H4>    <p> A virtual container for other folders, or any resource that can be represented with a URI.</p> <H4>member</H4>   <p> A resource contained in a folder. A member can itself be a folder, creating a hierarchical structure for folders and subfolders. Members have two types: child and reference. A child member inherits authorizations from its container, and a given resource can be a child only in a single folder. Reference members do not inherit authorizations, and a resource can have many references in many different folders.\n *\n * The version of the OpenAPI document: 4\n * Contact: devex@sas.com\n *\n * NOTE: This class is auto generated by OpenAPI\n * Do not edit the class manually.\n */\n/* tslint:disable */\n/* eslint-disable */\nimport { AxiosRequestConfig, AxiosResponse } from \"axios\";\n// URLSearchParams not necessarily used\n// @ts-ignore\nimport { URL, URLSearchParams } from \"url\";\n\n// Some imports not used depending on template conditions\n// @ts-ignore\nimport {\n  DUMMY_BASE_URL,\n  RequestArgs,\n  assertParamExists,\n  createRequestFunction,\n  serializeDataIfNeeded,\n  setSearchParams,\n  toPathString,\n} from \"./common\";\nimport { Configuration } from \"./configuration\";\n\n/**\n * An ancestor entry that is returned from an ancestor\\'s request.\n * @export\n * @interface Ancestor\n */\nexport interface Ancestor {\n  /**\n   * The URI whose ancestry was requested.\n   * @type {string}\n   * @memberof Ancestor\n   */\n  childUri?: string;\n  /**\n   * An ordered list of the folders that parent the URI, starting with the immediate parent.\n   * @type {Array<Folder>}\n   * @memberof Ancestor\n   */\n  ancestors?: Array<Folder>;\n  /**\n   * This media type\\'s schema version number. This representation is version 1.\n   * @type {number}\n   * @memberof Ancestor\n   */\n  version?: number;\n}\n/**\n * A collection of ancestor entries that are returned from an ancestors request.\n * @export\n * @interface AncestorCollection\n */\nexport interface AncestorCollection {\n  /**\n   * The name of the collection.\n   * @type {string}\n   * @memberof AncestorCollection\n   */\n  name?: string;\n  /**\n   * The zero-based index of the first item in the collection.\n   * @type {number}\n   * @memberof AncestorCollection\n   */\n  start?: number;\n  /**\n   * The number of items that were requested for the collection.\n   * @type {number}\n   * @memberof AncestorCollection\n   */\n  limit?: number;\n  /**\n   * If populated indicates the number of items in the collection.\n   * @type {number}\n   * @memberof AncestorCollection\n   */\n  count?: number;\n  /**\n   * A space-delimited list of media types from which an `Accept` header can be constructed.\n   * @type {string}\n   * @memberof AncestorCollection\n   */\n  accept?: string;\n  /**\n   * The links that apply to the collection.\n   * @type {Array<Link>}\n   * @memberof AncestorCollection\n   */\n  links?: Array<Link>;\n  /**\n   * The version number of the collection representation. This representation is version 2.\n   * @type {number}\n   * @memberof AncestorCollection\n   */\n  version?: number;\n  /**\n   * The collection of ancestor results.\n   * @type {Array<Ancestor>}\n   * @memberof AncestorCollection\n   */\n  items?: Array<Ancestor>;\n}\n/**\n *\n * @export\n * @interface AncestorCollectionAllOf\n */\nexport interface AncestorCollectionAllOf {\n  /**\n   * The collection of ancestor results.\n   * @type {Array<Ancestor>}\n   * @memberof AncestorCollectionAllOf\n   */\n  items?: Array<Ancestor>;\n}\n/**\n * This is a base schema used to define paginated collections of resources. This base schema is extended by other schemas in APIs by adding an \\'items\\' array property. These extensions define the application/vnd.sas.collection media type (version 2)\n * @export\n * @interface BaseCollection\n */\nexport interface BaseCollection {\n  /**\n   * The name of the collection.\n   * @type {string}\n   * @memberof BaseCollection\n   */\n  name?: string;\n  /**\n   * The zero-based index of the first item in the collection.\n   * @type {number}\n   * @memberof BaseCollection\n   */\n  start?: number;\n  /**\n   * The number of items that were requested for the collection.\n   * @type {number}\n   * @memberof BaseCollection\n   */\n  limit?: number;\n  /**\n   * If populated indicates the number of items in the collection.\n   * @type {number}\n   * @memberof BaseCollection\n   */\n  count?: number;\n  /**\n   * A space-delimited list of media types from which an `Accept` header can be constructed.\n   * @type {string}\n   * @memberof BaseCollection\n   */\n  accept?: string;\n  /**\n   * The links that apply to the collection.\n   * @type {Array<Link>}\n   * @memberof BaseCollection\n   */\n  links?: Array<Link>;\n  /**\n   * The version number of the collection representation. This representation is version 2.\n   * @type {number}\n   * @memberof BaseCollection\n   */\n  version?: number;\n}\n/**\n * A representation of a delegate identifier that is recognized by the Folders API.\n * @export\n * @interface Delegate\n */\nexport interface Delegate {\n  /**\n   * The delegate name, always starting with \\'@\\'.\n   * @type {string}\n   * @memberof Delegate\n   */\n  name?: string;\n  /**\n   * The folder name of the delegate, for example, for @myFolder, My Folder.\n   * @type {string}\n   * @memberof Delegate\n   */\n  folderName?: string;\n  /**\n   * The value of the type field for this delegate. For example, for @myFolder, myFolder.\n   * @type {string}\n   * @memberof Delegate\n   */\n  folderType?: string;\n  /**\n   * This media type\\'s schema version number. This representation is version 1.\n   * @type {number}\n   * @memberof Delegate\n   */\n  version?: number;\n}\n/**\n * A collection of delegate objects.\n * @export\n * @interface DelegateCollection\n */\nexport interface DelegateCollection {\n  /**\n   * The name of the collection.\n   * @type {string}\n   * @memberof DelegateCollection\n   */\n  name?: string;\n  /**\n   * The zero-based index of the first item in the collection.\n   * @type {number}\n   * @memberof DelegateCollection\n   */\n  start?: number;\n  /**\n   * The number of items that were requested for the collection.\n   * @type {number}\n   * @memberof DelegateCollection\n   */\n  limit?: number;\n  /**\n   * If populated indicates the number of items in the collection.\n   * @type {number}\n   * @memberof DelegateCollection\n   */\n  count?: number;\n  /**\n   * A space-delimited list of media types from which an `Accept` header can be constructed.\n   * @type {string}\n   * @memberof DelegateCollection\n   */\n  accept?: string;\n  /**\n   * The links that apply to the collection.\n   * @type {Array<Link>}\n   * @memberof DelegateCollection\n   */\n  links?: Array<Link>;\n  /**\n   * The version number of the collection representation. This representation is version 2.\n   * @type {number}\n   * @memberof DelegateCollection\n   */\n  version?: number;\n  /**\n   * The collection of delegate definitions.\n   * @type {Array<Delegate>}\n   * @memberof DelegateCollection\n   */\n  items?: Array<Delegate>;\n}\n/**\n *\n * @export\n * @interface DelegateCollectionAllOf\n */\nexport interface DelegateCollectionAllOf {\n  /**\n   * The collection of delegate definitions.\n   * @type {Array<Delegate>}\n   * @memberof DelegateCollectionAllOf\n   */\n  items?: Array<Delegate>;\n}\n/**\n * The representation of an error.\n * @export\n * @interface ErrorResponse\n */\nexport interface ErrorResponse {\n  /**\n   * The error message.\n   * @type {string}\n   * @memberof ErrorResponse\n   */\n  message?: string;\n  /**\n   * The string ID for the error.\n   * @type {string}\n   * @memberof ErrorResponse\n   */\n  id?: string;\n  /**\n   * The numeric ID for the error.\n   * @type {number}\n   * @memberof ErrorResponse\n   */\n  errorCode?: number;\n  /**\n   * The HTTP status code for the error.\n   * @type {number}\n   * @memberof ErrorResponse\n   */\n  httpStatusCode: number;\n  /**\n   * Messages that provide additional details about the cause of the error.\n   * @type {Array<string>}\n   * @memberof ErrorResponse\n   */\n  details?: Array<string>;\n  /**\n   * A message that describes how to resolve the error.\n   * @type {string}\n   * @memberof ErrorResponse\n   */\n  remediation?: string;\n  /**\n   * Any additional errors that occurred\n   * @type {Array<ErrorResponse>}\n   * @memberof ErrorResponse\n   */\n  errors?: Array<ErrorResponse>;\n  /**\n   * The links that apply to the error.\n   * @type {Array<Link>}\n   * @memberof ErrorResponse\n   */\n  links?: Array<Link>;\n  /**\n   * The version number of the error representation. This representation is version 2.\n   * @type {number}\n   * @memberof ErrorResponse\n   */\n  version: number;\n}\n/**\n * The full representation of a folder object.\n * @export\n * @interface Folder\n */\nexport interface Folder {\n  /**\n   * Folder id.\n   * @type {string}\n   * @memberof Folder\n   */\n  id?: string;\n  /**\n   * Localizable folder name.\n   * @type {string}\n   * @memberof Folder\n   */\n  name?: string;\n  /**\n   * Folder description.\n   * @type {string}\n   * @memberof Folder\n   */\n  description?: string;\n  /**\n   * The URI of this folder\\'s parent folder. This is writable by the client. In order to perform a move, PUT this folder with an updated parentFolderUri pointing to the new parent. It is valid for this field to be null, which indicates a root folder.\n   * @type {string}\n   * @memberof Folder\n   */\n  parentFolderUri?: string;\n  /**\n   * Timestamp of folder creation.\n   * @type {string}\n   * @memberof Folder\n   */\n  creationTimeStamp?: string;\n  /**\n   * Timestamp of last folder modification.\n   * @type {string}\n   * @memberof Folder\n   */\n  modifiedTimeStamp?: string;\n  /**\n   * The name of the user who created this folder.\n   * @type {string}\n   * @memberof Folder\n   */\n  createdBy?: string;\n  /**\n   * The name of the last user who modified this object.\n   * @type {string}\n   * @memberof Folder\n   */\n  modifiedBy?: string;\n  /**\n   * The folder type.\n   * @type {string}\n   * @memberof Folder\n   */\n  type?: string;\n  /**\n   * The folder icon URI.\n   * @type {string}\n   * @memberof Folder\n   */\n  iconUri?: string;\n  /**\n   * The number of members in the folder.\n   * @type {number}\n   * @memberof Folder\n   */\n  memberCount?: number;\n  /**\n   * Links that apply to this object. Includes \\\"self\\\", \\\"members\\\", and \\\"delete\\\".\n   * @type {Array<Link>}\n   * @memberof Folder\n   */\n  links?: Array<Link>;\n  /**\n   * A collection of name/value pairs that help describe the folder.\n   * @type {{ [key: string]: string; }}\n   * @memberof Folder\n   */\n  properties?: { [key: string]: string };\n  /**\n   * This media type\\'s schema version number. This representation is version 1.\n   * @type {number}\n   * @memberof Folder\n   */\n  version?: number;\n}\n/**\n * A collection of folders.\n * @export\n * @interface FolderCollection\n */\nexport interface FolderCollection {\n  /**\n   * The name of the collection.\n   * @type {string}\n   * @memberof FolderCollection\n   */\n  name?: string;\n  /**\n   * The zero-based index of the first item in the collection.\n   * @type {number}\n   * @memberof FolderCollection\n   */\n  start?: number;\n  /**\n   * The number of items that were requested for the collection.\n   * @type {number}\n   * @memberof FolderCollection\n   */\n  limit?: number;\n  /**\n   * If populated indicates the number of items in the collection.\n   * @type {number}\n   * @memberof FolderCollection\n   */\n  count?: number;\n  /**\n   * A space-delimited list of media types from which an `Accept` header can be constructed.\n   * @type {string}\n   * @memberof FolderCollection\n   */\n  accept?: string;\n  /**\n   * The links that apply to the collection.\n   * @type {Array<Link>}\n   * @memberof FolderCollection\n   */\n  links?: Array<Link>;\n  /**\n   * The version number of the collection representation. This representation is version 2.\n   * @type {number}\n   * @memberof FolderCollection\n   */\n  version?: number;\n  /**\n   * The actual results of a query.\n   * @type {Array<Folder>}\n   * @memberof FolderCollection\n   */\n  items?: Array<Folder>;\n}\n/**\n *\n * @export\n * @interface FolderCollectionAllOf\n */\nexport interface FolderCollectionAllOf {\n  /**\n   * The actual results of a query.\n   * @type {Array<Folder>}\n   * @memberof FolderCollectionAllOf\n   */\n  items?: Array<Folder>;\n}\n/**\n * The schema for creating a new folder.\n * @export\n * @interface FolderIn\n */\nexport interface FolderIn {\n  /**\n   * Localizable folder name.\n   * @type {string}\n   * @memberof FolderIn\n   */\n  name: string;\n  /**\n   * Localizable folder description.\n   * @type {string}\n   * @memberof FolderIn\n   */\n  description?: string;\n  /**\n   * Specialized subtype for this folder. The default value is \\'folder\\'.\n   * @type {string}\n   * @memberof FolderIn\n   */\n  folderType?: string;\n  /**\n   * The URI of this folder\\'s parent folder. This is writable by the client. In order to perform a move, PUT this folder with an updated parentFolderUri pointing to the new parent. It is valid for this field to be null, which indicates a root folder.\n   * @type {string}\n   * @memberof FolderIn\n   */\n  parentFolderUri?: string;\n  /**\n   * This media type\\'s schema version number. This representation is version 1.\n   * @type {number}\n   * @memberof FolderIn\n   */\n  version?: number;\n}\n/**\n * A representation of a folder type.\n * @export\n * @interface FolderType\n */\nexport interface FolderType {\n  /**\n   * The name of the folder type. This is the value that goes in the folderType field of a folder.\n   * @type {string}\n   * @memberof FolderType\n   */\n  name?: string;\n  /**\n   * The localizable label that can be presented to a user.\n   * @type {string}\n   * @memberof FolderType\n   */\n  label?: string;\n  /**\n   * True if the type is acceptable to use in a folder being created by a client.\n   * @type {boolean}\n   * @memberof FolderType\n   */\n  userAssignable?: boolean;\n  /**\n   * This media type\\'s schema version number. This representation is version 1.\n   * @type {number}\n   * @memberof FolderType\n   */\n  version?: number;\n}\n/**\n * A collection of folder types.\n * @export\n * @interface FolderTypeCollection\n */\nexport interface FolderTypeCollection {\n  /**\n   * The name of the collection.\n   * @type {string}\n   * @memberof FolderTypeCollection\n   */\n  name?: string;\n  /**\n   * The zero-based index of the first item in the collection.\n   * @type {number}\n   * @memberof FolderTypeCollection\n   */\n  start?: number;\n  /**\n   * The number of items that were requested for the collection.\n   * @type {number}\n   * @memberof FolderTypeCollection\n   */\n  limit?: number;\n  /**\n   * If populated indicates the number of items in the collection.\n   * @type {number}\n   * @memberof FolderTypeCollection\n   */\n  count?: number;\n  /**\n   * A space-delimited list of media types from which an `Accept` header can be constructed.\n   * @type {string}\n   * @memberof FolderTypeCollection\n   */\n  accept?: string;\n  /**\n   * The links that apply to the collection.\n   * @type {Array<Link>}\n   * @memberof FolderTypeCollection\n   */\n  links?: Array<Link>;\n  /**\n   * The version number of the collection representation. This representation is version 2.\n   * @type {number}\n   * @memberof FolderTypeCollection\n   */\n  version?: number;\n  /**\n   * The collection of folder types.\n   * @type {Array<FolderType>}\n   * @memberof FolderTypeCollection\n   */\n  items?: Array<FolderType>;\n}\n/**\n *\n * @export\n * @interface FolderTypeCollectionAllOf\n */\nexport interface FolderTypeCollectionAllOf {\n  /**\n   * The collection of folder types.\n   * @type {Array<FolderType>}\n   * @memberof FolderTypeCollectionAllOf\n   */\n  items?: Array<FolderType>;\n}\n/**\n * A link to a related operation or resource.\n * @export\n * @interface Link\n */\nexport interface Link {\n  /**\n   * The HTTP method to invoke this endpoint.\n   * @type {string}\n   * @memberof Link\n   */\n  method?: string;\n  /**\n   * The relationship of this URL to the object.\n   * @type {string}\n   * @memberof Link\n   */\n  rel?: string;\n  /**\n   * The relative URI of the REST endpoint.\n   * @type {string}\n   * @memberof Link\n   */\n  uri?: string;\n  /**\n   * The full URL of the REST endpoint.\n   * @type {string}\n   * @memberof Link\n   */\n  href?: string;\n  /**\n   * The media type consumed/produced.\n   * @type {string}\n   * @memberof Link\n   */\n  type?: string;\n}\n/**\n * The full representation of a folder member.\n * @export\n * @interface Member\n */\nexport interface Member {\n  /**\n   * Member id.\n   * @type {string}\n   * @memberof Member\n   */\n  id?: string;\n  /**\n   * The URI of the item that the member represents. The service does not make any attempt to validate this field, so it can be anything. However, if this is a folder, it MUST be the folder\\'s URI. It should come from the folder\\'s \\\"self\\\" link, and not be assembled from pieces.\n   * @type {string}\n   * @memberof Member\n   */\n  uri?: string;\n  /**\n   * Timestamp when member was last added to folder.\n   * @type {string}\n   * @memberof Member\n   */\n  added?: string;\n  /**\n   * Must be \\\"child\\\" or \\\"reference\\\". Child members are deleted when the  parent folder is deleted. Child members that rely on SAS authorization checking inherit authorization settings from the parent folder. An object can be a child of one and only one folder. Reference members have no such restrictions. Any member object can be referenced from an unrestricted number of containers.\n   * @type {string}\n   * @memberof Member\n   */\n  type?: string;\n  /**\n   * The URI of this member\\'s parent folder. This is writable by the client. In order to perform a move, PUT this member with an updated parentFolderUri pointing to the new parent.\n   * @type {string}\n   * @memberof Member\n   */\n  parentFolderUri?: string;\n  /**\n   * Localizable name of the member object. This attribute is persisted with the folder for performance reasons. For SAS managed objects, this value is intended to be synchronized with the attribute persisted with the object.\n   * @type {string}\n   * @memberof Member\n   */\n  name?: string;\n  /**\n   * Localizable description of the member object. Member attribute is synchronized with attribute of member object for SAS managed objects.\n   * @type {string}\n   * @memberof Member\n   */\n  description?: string;\n  /**\n   * The user name of the user who created the object represented by this member.\n   * @type {string}\n   * @memberof Member\n   */\n  createdBy?: string;\n  /**\n   * Timestamp of member object creation. Member attribute is synchronized with attribute of member object for SAS managed objects.\n   * @type {string}\n   * @memberof Member\n   */\n  creationTimeStamp?: string;\n  /**\n   * The user name of the user who last modified the object represented by this member.\n   * @type {string}\n   * @memberof Member\n   */\n  modifiedBy?: string;\n  /**\n   * Timestamp of last member object modification. Member attribute is synchronized with attribute of member object for SAS managed objects.\n   * @type {string}\n   * @memberof Member\n   */\n  modifiedTimeStamp?: string;\n  /**\n   * Member object type. Member attribute is synchronized with attribute of member object for SAS managed objects.\n   * @type {string}\n   * @memberof Member\n   */\n  contentType?: string;\n  /**\n   * (version 2) If the resource has a subtype that applies, the client can specify it when creating the member. This gives the client navigating the members more information for filtering, sorting, or searching for matching members.\n   * @type {string}\n   * @memberof Member\n   */\n  typeDefName?: string;\n  /**\n   * Member object icon URI. Member attribute is synchronized with attribute of member object for SAS managed objects.\n   * @type {string}\n   * @memberof Member\n   */\n  iconUri?: string;\n  /**\n   * Optional ordering specifier to provide user ordering of members. When retrieving members, if no other ordering is specified, members are ordered by this field in ascending order. The values do not have to be sequential; the results are ordered according to the values provided. They also do not have to be unique. However, duplicates result in arbitrary ordering of records with duplicate values.\n   * @type {number}\n   * @memberof Member\n   */\n  orderNum?: number;\n  /**\n   * Links that apply to this object. Links for members include \\\"self\\\" and \\\"delete\\\".\n   * @type {Array<Link>}\n   * @memberof Member\n   */\n  links?: Array<Link>;\n  /**\n   * This media type\\'s schema version number. This representation is version 2.\n   * @type {number}\n   * @memberof Member\n   */\n  version?: number;\n}\n/**\n * A collection of folder members.\n * @export\n * @interface MemberCollection\n */\nexport interface MemberCollection {\n  /**\n   * The name of the collection.\n   * @type {string}\n   * @memberof MemberCollection\n   */\n  name?: string;\n  /**\n   * The zero-based index of the first item in the collection.\n   * @type {number}\n   * @memberof MemberCollection\n   */\n  start?: number;\n  /**\n   * The number of items that were requested for the collection.\n   * @type {number}\n   * @memberof MemberCollection\n   */\n  limit?: number;\n  /**\n   * If populated indicates the number of items in the collection.\n   * @type {number}\n   * @memberof MemberCollection\n   */\n  count?: number;\n  /**\n   * A space-delimited list of media types from which an `Accept` header can be constructed.\n   * @type {string}\n   * @memberof MemberCollection\n   */\n  accept?: string;\n  /**\n   * The links that apply to the collection.\n   * @type {Array<Link>}\n   * @memberof MemberCollection\n   */\n  links?: Array<Link>;\n  /**\n   * The version number of the collection representation. This representation is version 2.\n   * @type {number}\n   * @memberof MemberCollection\n   */\n  version?: number;\n  /**\n   * The actual results of a query.\n   * @type {Array<Member>}\n   * @memberof MemberCollection\n   */\n  items?: Array<Member>;\n}\n/**\n *\n * @export\n * @interface MemberCollectionAllOf\n */\nexport interface MemberCollectionAllOf {\n  /**\n   * The actual results of a query.\n   * @type {Array<Member>}\n   * @memberof MemberCollectionAllOf\n   */\n  items?: Array<Member>;\n}\n/**\n * The schema for creating a new folder member.\n * @export\n * @interface MemberIn\n */\nexport interface MemberIn {\n  /**\n   * The URI of the item that the member represents. The service does not make any attempt to validate this field, so it can be anything. However, if this is a folder, it MUST be the folder\\'s URI. It should come from the folder\\'s \\\"self\\\" link, and not be assembled from pieces.\n   * @type {string}\n   * @memberof MemberIn\n   */\n  uri: string;\n  /**\n   * Must be \\\"child\\\" or \\\"reference\\\". Child members are deleted when the parent folder is deleted. Child members that rely on SAS authorization checking inherit authorization settings from the parent folder. An object can be a child of one and only one folder. Reference members have no such restrictions. Any member object can be referenced from an unrestricted number of containers.\n   * @type {string}\n   * @memberof MemberIn\n   */\n  type: string;\n  /**\n   * The URI of this member\\'s parent folder. This is writable by the client. In order to perform a move, PUT this member with an updated parentFolderUri pointing to the new parent.\n   * @type {string}\n   * @memberof MemberIn\n   */\n  parentFolderUri?: string;\n  /**\n   * Localizable name of the member object. This attribute is persisted with the folder for performance reasons. For SAS managed objects, this value is intended to be synchronized with the attribute persisted with the object.\n   * @type {string}\n   * @memberof MemberIn\n   */\n  name: string;\n  /**\n   * Localizable description of the member object. Member attribute is synchronized with attribute of member object for SAS managed objects.\n   * @type {string}\n   * @memberof MemberIn\n   */\n  description?: string;\n  /**\n   * Timestamp of member object creation. Member attribute is synchronized with attribute of member object for SAS managed objects.\n   * @type {string}\n   * @memberof MemberIn\n   */\n  creationTimeStamp?: string;\n  /**\n   * Timestamp of last member object modification. Member attribute is synchronized with attribute of member object for SAS managed objects.\n   * @type {string}\n   * @memberof MemberIn\n   */\n  modifiedTimeStamp?: string;\n  /**\n   * Member object type. Member attribute is synchronized with attribute of member object for SAS managed objects.\n   * @type {string}\n   * @memberof MemberIn\n   */\n  contentType?: string;\n  /**\n   * (version 2) If the resource has a subtype that applies, the client can specify it when creating the member. This gives the client navigating the members more information for filtering, sorting, or searching for matching members.\n   * @type {string}\n   * @memberof MemberIn\n   */\n  typeDefName?: string;\n  /**\n   * Member object icon URI. Member attribute is synchronized with attribute of member object for SAS managed objects.\n   * @type {string}\n   * @memberof MemberIn\n   */\n  iconUri?: string;\n  /**\n   * Optional ordering specifier to provide user ordering of members. When retrieving members, if no other ordering is specified, members are ordered by this field in ascending order. The values do not have to be sequential; the results are ordered according to the values provided. The values also do not have to be unique. However, duplicates result in arbitrary ordering of records with duplicate values.\n   * @type {number}\n   * @memberof MemberIn\n   */\n  orderNum?: number;\n  /**\n   * This media type\\'s schema version number. This representation is version 2.\n   * @type {number}\n   * @memberof MemberIn\n   */\n  version?: number;\n}\n/**\n * A representation of a path request.\n * @export\n * @interface Path\n */\nexport interface Path {\n  /**\n   * An ordered list of parent folder names, with the desired object\\'s name at the end of the list.\n   * @type {Array<string>}\n   * @memberof Path\n   */\n  items?: Array<string>;\n  /**\n   * The content type of the object to return. Must match the content type of the Member entry.\n   * @type {string}\n   * @memberof Path\n   */\n  contentType?: string;\n  /**\n   * The type definition name of the member being requested.\n   * @type {string}\n   * @memberof Path\n   */\n  typeDefName?: string;\n  /**\n   * This media type\\'s schema version number. This representation is version 1.\n   * @type {number}\n   * @memberof Path\n   */\n  version?: number;\n}\n/**\n * The summarized representation of a resource. Often used in collection responses when more specific details are not needed.\n * @export\n * @interface Summary\n */\nexport interface Summary {\n  /**\n   * The unique identifier for the resource.\n   * @type {string}\n   * @memberof Summary\n   */\n  id: string;\n  /**\n   * The name of the resource.\n   * @type {string}\n   * @memberof Summary\n   */\n  name?: string;\n  /**\n   * The type of the resource.\n   * @type {string}\n   * @memberof Summary\n   */\n  type?: string;\n  /**\n   * The description of the resource.\n   * @type {string}\n   * @memberof Summary\n   */\n  description?: string;\n  /**\n   * The user who created the resource.\n   * @type {string}\n   * @memberof Summary\n   */\n  createdBy?: string;\n  /**\n   * The timestamp in YYYY-MM-DDThh:mm:ss.sssZ format when the resource was created.\n   * @type {string}\n   * @memberof Summary\n   */\n  creationTimeStamp?: string;\n  /**\n   * The user who most recently modified the resource.\n   * @type {string}\n   * @memberof Summary\n   */\n  modifiedBy?: string;\n  /**\n   * The timestamp in YYYY-MM-DDThh:mm:ss.sssZ format when the resource was last modified.\n   * @type {string}\n   * @memberof Summary\n   */\n  modifiedTimeStamp?: string;\n  /**\n   * The links that apply to the resource.\n   * @type {Array<Link>}\n   * @memberof Summary\n   */\n  links: Array<Link>;\n  /**\n   * The version number of the resource. This representation is version 1.\n   * @type {number}\n   * @memberof Summary\n   */\n  version: number;\n}\n/**\n * The response from a pre-flight validation request. For APIs that support validation, the client can run operations (typically on resources in the `/commons/validation`) with `application/vnd.sas.validation+json` as the requested response type (via the `Accept:` request header). The service will validate the request but not execute the request, and return this response to indicate whether the request was valid at the time it was made.\n * @export\n * @interface Validation\n */\nexport interface Validation {\n  /**\n   * This media type\\'s schema version number. This representation is version 1.\n   * @type {number}\n   * @memberof Validation\n   */\n  version: number;\n  /**\n   * `true` if and only if the validation was successful.\n   * @type {boolean}\n   * @memberof Validation\n   */\n  valid: boolean;\n  /**\n   *\n   * @type {ErrorResponse}\n   * @memberof Validation\n   */\n  error?: ErrorResponse;\n  /**\n   * An array of links to related resources and actions.\n   * @type {Array<Link>}\n   * @memberof Validation\n   */\n  links?: Array<Link>;\n}\n\n/**\n * FolderApi - axios parameter creator\n * @export\n */\nexport const FolderApiAxiosParamCreator = function (\n  configuration?: Configuration,\n) {\n  return {\n    /**\n     * Creates a new empty folder. Members can be added to the folder using the `/folders/{folderId}/members` endpoint. This service maintains name uniqueness at any given level in the folder structure. In other words, if you try to create a root folder named \\\"newRootFolder\\\", and a root folder with that name exists, the operation fails with a 409 status. If you try to create a subfolder using the `?parentFolderUri` parameter, and the parent already has a subfolder with the same name, the operation fails with a 409 status.\n     * @summary Create a new folder\n     * @param {string} parentFolderUri URI of folder to add new folder as a child. This parameter is required. An explicit value of \\&quot;none\\&quot; indicates that the client wants to create a root folder.\n     * @param {FolderIn} [folderIn] Folder\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    createFolder: async (\n      parentFolderUri: string,\n      folderIn?: FolderIn,\n      options: AxiosRequestConfig = {},\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'parentFolderUri' is not null or undefined\n      assertParamExists(\"createFolder\", \"parentFolderUri\", parentFolderUri);\n      const localVarPath = `/folders`;\n      // use dummy base URL string because the URL constructor only accepts absolute URLs.\n      const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n      let baseOptions;\n      if (configuration) {\n        baseOptions = configuration.baseOptions;\n      }\n\n      const localVarRequestOptions = {\n        method: \"POST\",\n        ...baseOptions,\n        ...options,\n      };\n      const localVarHeaderParameter = {} as any;\n      const localVarQueryParameter = {} as any;\n\n      if (parentFolderUri !== undefined) {\n        localVarQueryParameter[\"parentFolderUri\"] = parentFolderUri;\n      }\n\n      localVarHeaderParameter[\"Content-Type\"] =\n        \"application/vnd.sas.content.folder+json\";\n\n      setSearchParams(localVarUrlObj, localVarQueryParameter);\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {};\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      };\n      localVarRequestOptions.data = serializeDataIfNeeded(\n        folderIn,\n        localVarRequestOptions,\n        configuration,\n      );\n\n      return {\n        url: toPathString(localVarUrlObj),\n        options: localVarRequestOptions,\n      };\n    },\n    /**\n     * The specified folder is deleted. If the folder is not empty, a recursive option can be specified to indicate a recursive delete. If the folder is not empty and no recursive option is present, an error response is returned. Any non-folder content will not be deleted.\n     * @summary Delete a folder\n     * @param {string} folderId The identifier of a specific folder or one of the delegate strings @myFolder, @appDataFolder, @myHistory, @myFavorites, or @public.\n     * @param {boolean} [recursive] do a recursive delete of the folder\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    deleteFolder: async (\n      folderId: string,\n      recursive?: boolean,\n      options: AxiosRequestConfig = {},\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'folderId' is not null or undefined\n      assertParamExists(\"deleteFolder\", \"folderId\", folderId);\n      const localVarPath = `/folders/{folderId}`.replace(\n        `{${\"folderId\"}}`,\n        encodeURIComponent(String(folderId)),\n      );\n      // use dummy base URL string because the URL constructor only accepts absolute URLs.\n      const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n      let baseOptions;\n      if (configuration) {\n        baseOptions = configuration.baseOptions;\n      }\n\n      const localVarRequestOptions = {\n        method: \"DELETE\",\n        ...baseOptions,\n        ...options,\n      };\n      const localVarHeaderParameter = {} as any;\n      const localVarQueryParameter = {} as any;\n\n      if (recursive !== undefined) {\n        localVarQueryParameter[\"recursive\"] = recursive;\n      }\n\n      setSearchParams(localVarUrlObj, localVarQueryParameter);\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {};\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      };\n\n      return {\n        url: toPathString(localVarUrlObj),\n        options: localVarRequestOptions,\n      };\n    },\n    /**\n     * Find an object, if it exists, by path. The client provides an ordered list of parent folder names, the object name, and the object content type.\n     * @summary Find an object by path\n     * @param {Path} path The set of parent names, the object name, and the object content type.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    findByPath: async (\n      path: Path,\n      options: AxiosRequestConfig = {},\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'path' is not null or undefined\n      assertParamExists(\"findByPath\", \"path\", path);\n      const localVarPath = `/paths`;\n      // use dummy base URL string because the URL constructor only accepts absolute URLs.\n      const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n      let baseOptions;\n      if (configuration) {\n        baseOptions = configuration.baseOptions;\n      }\n\n      const localVarRequestOptions = {\n        method: \"POST\",\n        ...baseOptions,\n        ...options,\n      };\n      const localVarHeaderParameter = {} as any;\n      const localVarQueryParameter = {} as any;\n\n      localVarHeaderParameter[\"Content-Type\"] =\n        \"application/vnd.sas.content.folder.path+json\";\n\n      setSearchParams(localVarUrlObj, localVarQueryParameter);\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {};\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      };\n      localVarRequestOptions.data = serializeDataIfNeeded(\n        path,\n        localVarRequestOptions,\n        configuration,\n      );\n\n      return {\n        url: toPathString(localVarUrlObj),\n        options: localVarRequestOptions,\n      };\n    },\n    /**\n     * Returns the folders for the given set of delegate names, or all delegate folders if no names are provided.\n     * @summary Get the folders for a given set of delegate names\n     * @param {string} [name] The name of the delegate (including the leading \\&#39;@\\&#39;) desired. Multiple values of the name parameter can be provided.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    getDelegateFolders: async (\n      name?: string,\n      options: AxiosRequestConfig = {},\n    ): Promise<RequestArgs> => {\n      const localVarPath = `/delegateFolders`;\n      // use dummy base URL string because the URL constructor only accepts absolute URLs.\n      const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n      let baseOptions;\n      if (configuration) {\n        baseOptions = configuration.baseOptions;\n      }\n\n      const localVarRequestOptions = {\n        method: \"GET\",\n        ...baseOptions,\n        ...options,\n      };\n      const localVarHeaderParameter = {} as any;\n      const localVarQueryParameter = {} as any;\n\n      if (name !== undefined) {\n        localVarQueryParameter[\"name\"] = name;\n      }\n\n      setSearchParams(localVarUrlObj, localVarQueryParameter);\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {};\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      };\n\n      return {\n        url: toPathString(localVarUrlObj),\n        options: localVarRequestOptions,\n      };\n    },\n    /**\n     * Returns the specified folder.\n     * @summary Get a folder\n     * @param {string} folderId The identifier of a specific folder or one of the delegate strings @myFolder, @appDataFolder, @myHistory, @myFavorites, or @public.\n     * @param {string} [acceptLanguage] Enumerates the languages that the client prefers to use for the response. This can be used to provide localized data where available.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    getFolder: async (\n      folderId: string,\n      acceptLanguage?: string,\n      options: AxiosRequestConfig = {},\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'folderId' is not null or undefined\n      assertParamExists(\"getFolder\", \"folderId\", folderId);\n      const localVarPath = `/folders/{folderId}`.replace(\n        `{${\"folderId\"}}`,\n        encodeURIComponent(String(folderId)),\n      );\n      // use dummy base URL string because the URL constructor only accepts absolute URLs.\n      const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n      let baseOptions;\n      if (configuration) {\n        baseOptions = configuration.baseOptions;\n      }\n\n      const localVarRequestOptions = {\n        method: \"GET\",\n        ...baseOptions,\n        ...options,\n      };\n      const localVarHeaderParameter = {} as any;\n      const localVarQueryParameter = {} as any;\n\n      if (acceptLanguage != null) {\n        localVarHeaderParameter[\"Accept-Language\"] = String(acceptLanguage);\n      }\n\n      setSearchParams(localVarUrlObj, localVarQueryParameter);\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {};\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      };\n\n      return {\n        url: toPathString(localVarUrlObj),\n        options: localVarRequestOptions,\n      };\n    },\n    /**\n     * Get a folder with a resource wildcard. Either a path or a child URI is required. The result must be exactly one matching folder. If the childUri parameter is provided, the parent folder of the member with the matching URI is returned, if it exists. If the path is provided, it must be a slash-delimited path to the desired folder.\n     * @summary Get a folder with a path or a child URI\n     * @param {string} [childUri] The URI of a resource whose parent folder you want to return. This can be a folder or non-folder resource.\n     * @param {string} [path] The slash-delimited path to a folder. For example, &#x60;/root/child/grandchild/greatgrandchild&#x60; would return the folder greatgrandchild.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    getFolderItem: async (\n      childUri?: string,\n      path?: string,\n      options: AxiosRequestConfig = {},\n    ): Promise<RequestArgs> => {\n      const localVarPath = `/folders/@item`;\n      // use dummy base URL string because the URL constructor only accepts absolute URLs.\n      const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n      let baseOptions;\n      if (configuration) {\n        baseOptions = configuration.baseOptions;\n      }\n\n      const localVarRequestOptions = {\n        method: \"GET\",\n        ...baseOptions,\n        ...options,\n      };\n      const localVarHeaderParameter = {} as any;\n      const localVarQueryParameter = {} as any;\n\n      if (childUri !== undefined) {\n        localVarQueryParameter[\"childUri\"] = childUri;\n      }\n\n      if (path !== undefined) {\n        localVarQueryParameter[\"path\"] = path;\n      }\n\n      setSearchParams(localVarUrlObj, localVarQueryParameter);\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {};\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      };\n\n      return {\n        url: toPathString(localVarUrlObj),\n        options: localVarRequestOptions,\n      };\n    },\n    /**\n     * Returns a list of folders. Standard paging, filtering, and sorting options are provided.\n     * @summary Get a list of folders\n     * @param {number} [start] 0-based offset of first folder to return. The default value is 0.\n     * @param {number} [limit] Maximum number of folders to return. The default value is 20.\n     * @param {string} [filter] Filter criteria for returned folders. See [Filtering in REST APIs](https://developer.sas.com/apis/rest/Topics/#filters). &lt;br&gt;Any member of the Folder object can be used to filter the results: id, name, description, createdBy, modifiedBy, properties, folderType, or parent. Date fields currently cannot be used to filter results. &lt;br&gt;Sample queries&lt;br&gt; &lt;ul&gt; &lt;li&gt;Get Root Folders: &#x60;/folders?filter&#x3D;isNull(parent)&#x60;&lt;/li&gt; &lt;li&gt;Get folders by name: &#x60;/folders?filter&#x3D;contains(name, \\&#39;Sample\\&#39;)&#x60;&lt;/li&gt; &lt;li&gt;Get folders by folderType: &#x60;/folders?filter&#x3D;in(folderType, \\&#39;history\\&#39;, \\&#39;favorites\\&#39;)&#x60;&lt;/li&gt; &lt;/ul&gt;\n     * @param {string} [sortBy] Sort returned folder. See [Sorting in REST APIs](https://developer.sas.com/apis/rest/Topics/#sorting).&lt;br&gt; The default sort order is name:ascending. Other valid sorting options are &lt;ul&gt;&lt;li&gt;&lt;code&gt;orderNum&lt;/code&gt; the order specified by the user&lt;/li&gt; &lt;li&gt;&lt;code&gt;added&lt;/code&gt; the timestamp when the item was added to the folder&lt;/li&gt; &lt;li&gt;&lt;code&gt;name&lt;/code&gt; the folder name &lt;/ul&gt;\n     * @param {string} [childUri] Return only folders containing a child member with the specified URI. For now, childUri, referenceUri, memberUri, and filter are mutually exclusive. The childUri has special semantics, because it should return only a single item. The URL form &#x60;/folders/.?childUri&#x3D;{resourceUri}&#x60; can be used to return a single item.\n     * @param {string} [referenceUri] Return only folders containing a reference member with the specified URI. For now, childUri, referenceUri, memberUri, and filter are mutually exclusive.\n     * @param {string} [memberUri] Return only folders containing any member with the specified URI. For now, childUri, referenceUri, memberUri, and filter are mutually exclusive.\n     * @param {string} [acceptLanguage] Enumerates the languages that the client prefers to use for the response. This can be used to provide localized data where available.\n     * @param {string} [acceptItem] If provided, this should be an alternative media type that the service recognizes. If the media type is not one that the service can provide, a 406 response is returned.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    getFolders: async (\n      start?: number,\n      limit?: number,\n      filter?: string,\n      sortBy?: string,\n      childUri?: string,\n      referenceUri?: string,\n      memberUri?: string,\n      acceptLanguage?: string,\n      acceptItem?: string,\n      options: AxiosRequestConfig = {},\n    ): Promise<RequestArgs> => {\n      const localVarPath = `/folders`;\n      // use dummy base URL string because the URL constructor only accepts absolute URLs.\n      const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n      let baseOptions;\n      if (configuration) {\n        baseOptions = configuration.baseOptions;\n      }\n\n      const localVarRequestOptions = {\n        method: \"GET\",\n        ...baseOptions,\n        ...options,\n      };\n      const localVarHeaderParameter = {} as any;\n      const localVarQueryParameter = {} as any;\n\n      if (start !== undefined) {\n        localVarQueryParameter[\"start\"] = start;\n      }\n\n      if (limit !== undefined) {\n        localVarQueryParameter[\"limit\"] = limit;\n      }\n\n      if (filter !== undefined) {\n        localVarQueryParameter[\"filter\"] = filter;\n      }\n\n      if (sortBy !== undefined) {\n        localVarQueryParameter[\"sortBy\"] = sortBy;\n      }\n\n      if (childUri !== undefined) {\n        localVarQueryParameter[\"childUri\"] = childUri;\n      }\n\n      if (referenceUri !== undefined) {\n        localVarQueryParameter[\"referenceUri\"] = referenceUri;\n      }\n\n      if (memberUri !== undefined) {\n        localVarQueryParameter[\"memberUri\"] = memberUri;\n      }\n\n      if (acceptLanguage != null) {\n        localVarHeaderParameter[\"Accept-Language\"] = String(acceptLanguage);\n      }\n\n      if (acceptItem != null) {\n        localVarHeaderParameter[\"Accept-Item\"] = String(acceptItem);\n      }\n\n      setSearchParams(localVarUrlObj, localVarQueryParameter);\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {};\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      };\n\n      return {\n        url: toPathString(localVarUrlObj),\n        options: localVarRequestOptions,\n      };\n    },\n    /**\n     * Returns a list of root folders. Standard paging, filtering, and sorting options are provided.\n     * @summary Get a list of root folders\n     * @param {number} [start] 0-based offset of first folder to return. The default value is 0.\n     * @param {number} [limit] Maximum number of folders to return. The default value is 20.\n     * @param {string} [filter] Filter criteria for returned folders. See [Filtering in REST APIs](https://developer.sas.com/apis/rest/Topics/#filters). &lt;br&gt;Any member of the Folder object can be used to filter the results: id, name, description, createdBy, modifiedBy, properties, folderType, or parent. Date fields currently cannot be used to filter results.\n     * @param {string} [sortBy] Sort returned folder. See [Sorting in REST APIs](https://developer.sas.com/apis/rest/Topics/#sorting).&lt;br&gt; The default sort order is name:ascending. Other valid sorting options are &lt;li&gt;&lt;code&gt;added&lt;/code&gt; the timestamp when the item was added to the folder&lt;/li&gt; &lt;li&gt;&lt;code&gt;name&lt;/code&gt; the folder name &lt;/ul&gt;\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    getRootFolders: async (\n      start?: number,\n      limit?: number,\n      filter?: string,\n      sortBy?: string,\n      options: AxiosRequestConfig = {},\n    ): Promise<RequestArgs> => {\n      const localVarPath = `/rootFolders`;\n      // use dummy base URL string because the URL constructor only accepts absolute URLs.\n      const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n      let baseOptions;\n      if (configuration) {\n        baseOptions = configuration.baseOptions;\n      }\n\n      const localVarRequestOptions = {\n        method: \"GET\",\n        ...baseOptions,\n        ...options,\n      };\n      const localVarHeaderParameter = {} as any;\n      const localVarQueryParameter = {} as any;\n\n      if (start !== undefined) {\n        localVarQueryParameter[\"start\"] = start;\n      }\n\n      if (limit !== undefined) {\n        localVarQueryParameter[\"limit\"] = limit;\n      }\n\n      if (filter !== undefined) {\n        localVarQueryParameter[\"filter\"] = filter;\n      }\n\n      if (sortBy !== undefined) {\n        localVarQueryParameter[\"sortBy\"] = sortBy;\n      }\n\n      setSearchParams(localVarUrlObj, localVarQueryParameter);\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {};\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      };\n\n      return {\n        url: toPathString(localVarUrlObj),\n        options: localVarRequestOptions,\n      };\n    },\n    /**\n     * Returns the specified folder.\n     * @summary Get a folder\n     * @param {string} folderId The identifier of a specific folder or one of the delegate strings @myFolder, @appDataFolder, @myHistory, @myFavorites, or @public.\n     * @param {string} [acceptLanguage] Enumerates the languages that the client prefers to use for the response. This can be used to provide localized data where available.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    headersForFolder: async (\n      folderId: string,\n      acceptLanguage?: string,\n      options: AxiosRequestConfig = {},\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'folderId' is not null or undefined\n      assertParamExists(\"headersForFolder\", \"folderId\", folderId);\n      const localVarPath = `/folders/{folderId}`.replace(\n        `{${\"folderId\"}}`,\n        encodeURIComponent(String(folderId)),\n      );\n      // use dummy base URL string because the URL constructor only accepts absolute URLs.\n      const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n      let baseOptions;\n      if (configuration) {\n        baseOptions = configuration.baseOptions;\n      }\n\n      const localVarRequestOptions = {\n        method: \"HEAD\",\n        ...baseOptions,\n        ...options,\n      };\n      const localVarHeaderParameter = {} as any;\n      const localVarQueryParameter = {} as any;\n\n      if (acceptLanguage != null) {\n        localVarHeaderParameter[\"Accept-Language\"] = String(acceptLanguage);\n      }\n\n      setSearchParams(localVarUrlObj, localVarQueryParameter);\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {};\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      };\n\n      return {\n        url: toPathString(localVarUrlObj),\n        options: localVarRequestOptions,\n      };\n    },\n    /**\n     * Updates the provided fields of a folder. The client can provide a sparsely populated object, and only the non-null fields contribute to the updates. A body such as { \\\"name\\\": \\\"NewFolderName\\\" } causes the folder to have its name changed, but no other field is affected. The full resulting object is returned in the response.\n     * @summary Make a partial update to a folder\n     * @param {string} folderId The identifier of a specific folder, or of one of the delegate strings @myFolder, @appDataFolder, @myHistory, @myFavorites, or @public.\n     * @param {string} [ifMatch] The ETag that was returned from a GET, POST, or PUT of this folder.\n     * @param {string} [ifUnmodifiedSince] The value of the lastModified date of the folder. If the folder has been updated since this time, the update fails.\n     * @param {FolderIn} [folderIn] Folder\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    patchFolder: async (\n      folderId: string,\n      ifMatch?: string,\n      ifUnmodifiedSince?: string,\n      folderIn?: FolderIn,\n      options: AxiosRequestConfig = {},\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'folderId' is not null or undefined\n      assertParamExists(\"patchFolder\", \"folderId\", folderId);\n      const localVarPath = `/folders/{folderId}`.replace(\n        `{${\"folderId\"}}`,\n        encodeURIComponent(String(folderId)),\n      );\n      // use dummy base URL string because the URL constructor only accepts absolute URLs.\n      const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n      let baseOptions;\n      if (configuration) {\n        baseOptions = configuration.baseOptions;\n      }\n\n      const localVarRequestOptions = {\n        method: \"PATCH\",\n        ...baseOptions,\n        ...options,\n      };\n      const localVarHeaderParameter = {} as any;\n      const localVarQueryParameter = {} as any;\n\n      if (ifMatch != null) {\n        localVarHeaderParameter[\"If-Match\"] = String(ifMatch);\n      }\n\n      if (ifUnmodifiedSince != null) {\n        localVarHeaderParameter[\"If-Unmodified-Since\"] =\n          String(ifUnmodifiedSince);\n      }\n\n      localVarHeaderParameter[\"Content-Type\"] =\n        \"application/vnd.sas.content.folder+json\";\n\n      setSearchParams(localVarUrlObj, localVarQueryParameter);\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {};\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      };\n      localVarRequestOptions.data = serializeDataIfNeeded(\n        folderIn,\n        localVarRequestOptions,\n        configuration,\n      );\n\n      return {\n        url: toPathString(localVarUrlObj),\n        options: localVarRequestOptions,\n      };\n    },\n    /**\n     * Move the child member for the resource specified by childUri to the folder specified by parentFolderUri.\n     * @summary Move the child member for a resource to a folder specified by the parentFolderUri\n     * @param {string} [childUri] The URI of a resource whose parent folder is to be changed.\n     * @param {string} [parentFolderUri] The URI of the target folder to move the resource to.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    patchMoveFolderItem: async (\n      childUri?: string,\n      parentFolderUri?: string,\n      options: AxiosRequestConfig = {},\n    ): Promise<RequestArgs> => {\n      const localVarPath = `/folders/@item`;\n      // use dummy base URL string because the URL constructor only accepts absolute URLs.\n      const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n      let baseOptions;\n      if (configuration) {\n        baseOptions = configuration.baseOptions;\n      }\n\n      const localVarRequestOptions = {\n        method: \"PATCH\",\n        ...baseOptions,\n        ...options,\n      };\n      const localVarHeaderParameter = {} as any;\n      const localVarQueryParameter = {} as any;\n\n      if (childUri !== undefined) {\n        localVarQueryParameter[\"childUri\"] = childUri;\n      }\n\n      if (parentFolderUri !== undefined) {\n        localVarQueryParameter[\"parentFolderUri\"] = parentFolderUri;\n      }\n\n      setSearchParams(localVarUrlObj, localVarQueryParameter);\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {};\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      };\n\n      return {\n        url: toPathString(localVarUrlObj),\n        options: localVarRequestOptions,\n      };\n    },\n    /**\n     * Replaces an existing folder.\n     * @summary Update a folder\n     * @param {string} folderId The identifier of a specific folder, or of one of the delegate strings @myFolder, @appDataFolder, @myHistory, @myFavorites, or @public.\n     * @param {string} [ifMatch] The ETag that was returned from a GET, POST, or PUT of this folder.\n     * @param {string} [ifUnmodifiedSince] The value of the lastModified date of the folder. If the folder has been updated since this time, the update fails.\n     * @param {FolderIn} [folderIn] Folder\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    updateFolder: async (\n      folderId: string,\n      ifMatch?: string,\n      ifUnmodifiedSince?: string,\n      folderIn?: FolderIn,\n      options: AxiosRequestConfig = {},\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'folderId' is not null or undefined\n      assertParamExists(\"updateFolder\", \"folderId\", folderId);\n      const localVarPath = `/folders/{folderId}`.replace(\n        `{${\"folderId\"}}`,\n        encodeURIComponent(String(folderId)),\n      );\n      // use dummy base URL string because the URL constructor only accepts absolute URLs.\n      const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n      let baseOptions;\n      if (configuration) {\n        baseOptions = configuration.baseOptions;\n      }\n\n      const localVarRequestOptions = {\n        method: \"PUT\",\n        ...baseOptions,\n        ...options,\n      };\n      const localVarHeaderParameter = {} as any;\n      const localVarQueryParameter = {} as any;\n\n      if (ifMatch != null) {\n        localVarHeaderParameter[\"If-Match\"] = String(ifMatch);\n      }\n\n      if (ifUnmodifiedSince != null) {\n        localVarHeaderParameter[\"If-Unmodified-Since\"] =\n          String(ifUnmodifiedSince);\n      }\n\n      localVarHeaderParameter[\"Content-Type\"] =\n        \"application/vnd.sas.content.folder+json\";\n\n      setSearchParams(localVarUrlObj, localVarQueryParameter);\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {};\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      };\n      localVarRequestOptions.data = serializeDataIfNeeded(\n        folderIn,\n        localVarRequestOptions,\n        configuration,\n      );\n\n      return {\n        url: toPathString(localVarUrlObj),\n        options: localVarRequestOptions,\n      };\n    },\n  };\n};\n\n/**\n * FolderApi - functional programming interface\n * @export\n */\nexport const FolderApi = function (configuration?: Configuration) {\n  const localVarAxiosParamCreator = FolderApiAxiosParamCreator(configuration);\n  return {\n    /**\n     * Creates a new empty folder. Members can be added to the folder using the `/folders/{folderId}/members` endpoint. This service maintains name uniqueness at any given level in the folder structure. In other words, if you try to create a root folder named \\\"newRootFolder\\\", and a root folder with that name exists, the operation fails with a 409 status. If you try to create a subfolder using the `?parentFolderUri` parameter, and the parent already has a subfolder with the same name, the operation fails with a 409 status.\n     * @summary Create a new folder\n     * @param {FolderApiCreateFolderRequest} requestParameters Request parameters.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async createFolder(\n      requestParameters: FolderApiCreateFolderRequest,\n      options?: AxiosRequestConfig,\n    ): Promise<AxiosResponse<Folder>> {\n      const localVarAxiosArgs = await localVarAxiosParamCreator.createFolder(\n        requestParameters.parentFolderUri,\n        requestParameters.folderIn,\n        options,\n      );\n      return createRequestFunction(localVarAxiosArgs, configuration);\n    },\n\n    /**\n     * The specified folder is deleted. If the folder is not empty, a recursive option can be specified to indicate a recursive delete. If the folder is not empty and no recursive option is present, an error response is returned. Any non-folder content will not be deleted.\n     * @summary Delete a folder\n     * @param {FolderApiDeleteFolderRequest} requestParameters Request parameters.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async deleteFolder(\n      requestParameters: FolderApiDeleteFolderRequest,\n      options?: AxiosRequestConfig,\n    ): Promise<AxiosResponse<void>> {\n      const localVarAxiosArgs = await localVarAxiosParamCreator.deleteFolder(\n        requestParameters.folderId,\n        requestParameters.recursive,\n        options,\n      );\n      return createRequestFunction(localVarAxiosArgs, configuration);\n    },\n\n    /**\n     * Find an object, if it exists, by path. The client provides an ordered list of parent folder names, the object name, and the object content type.\n     * @summary Find an object by path\n     * @param {FolderApiFindByPathRequest} requestParameters Request parameters.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async findByPath(\n      requestParameters: FolderApiFindByPathRequest,\n      options?: AxiosRequestConfig,\n    ): Promise<AxiosResponse<Summary>> {\n      const localVarAxiosArgs = await localVarAxiosParamCreator.findByPath(\n        requestParameters.path,\n        options,\n      );\n      return createRequestFunction(localVarAxiosArgs, configuration);\n    },\n\n    /**\n     * Returns the folders for the given set of delegate names, or all delegate folders if no names are provided.\n     * @summary Get the folders for a given set of delegate names\n     * @param {FolderApiGetDelegateFoldersRequest} requestParameters Request parameters.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async getDelegateFolders(\n      requestParameters: FolderApiGetDelegateFoldersRequest = {},\n      options?: AxiosRequestConfig,\n    ): Promise<AxiosResponse<FolderCollection>> {\n      const localVarAxiosArgs =\n        await localVarAxiosParamCreator.getDelegateFolders(\n          requestParameters.name,\n          options,\n        );\n      return createRequestFunction(localVarAxiosArgs, configuration);\n    },\n\n    /**\n     * Returns the specified folder.\n     * @summary Get a folder\n     * @param {FolderApiGetFolderRequest} requestParameters Request parameters.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async getFolder(\n      requestParameters: FolderApiGetFolderRequest,\n      options?: AxiosRequestConfig,\n    ): Promise<AxiosResponse<Folder>> {\n      const localVarAxiosArgs = await localVarAxiosParamCreator.getFolder(\n        requestParameters.folderId,\n        requestParameters.acceptLanguage,\n        options,\n      );\n      return createRequestFunction(localVarAxiosArgs, configuration);\n    },\n\n    /**\n     * Get a folder with a resource wildcard. Either a path or a child URI is required. The result must be exactly one matching folder. If the childUri parameter is provided, the parent folder of the member with the matching URI is returned, if it exists. If the path is provided, it must be a slash-delimited path to the desired folder.\n     * @summary Get a folder with a path or a child URI\n     * @param {FolderApiGetFolderItemRequest} requestParameters Request parameters.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async getFolderItem(\n      requestParameters: FolderApiGetFolderItemRequest = {},\n      options?: AxiosRequestConfig,\n    ): Promise<AxiosResponse<Folder>> {\n      const localVarAxiosArgs = await localVarAxiosParamCreator.getFolderItem(\n        requestParameters.childUri,\n        requestParameters.path,\n        options,\n      );\n      return createRequestFunction(localVarAxiosArgs, configuration);\n    },\n\n    /**\n     * Returns a list of folders. Standard paging, filtering, and sorting options are provided.\n     * @summary Get a list of folders\n     * @param {FolderApiGetFoldersRequest} requestParameters Request parameters.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async getFolders(\n      requestParameters: FolderApiGetFoldersRequest = {},\n      options?: AxiosRequestConfig,\n    ): Promise<AxiosResponse<FolderCollection>> {\n      const localVarAxiosArgs = await localVarAxiosParamCreator.getFolders(\n        requestParameters.start,\n        requestParameters.limit,\n        requestParameters.filter,\n        requestParameters.sortBy,\n        requestParameters.childUri,\n        requestParameters.referenceUri,\n        requestParameters.memberUri,\n        requestParameters.acceptLanguage,\n        requestParameters.acceptItem,\n        options,\n      );\n      return createRequestFunction(localVarAxiosArgs, configuration);\n    },\n\n    /**\n     * Returns a list of root folders. Standard paging, filtering, and sorting options are provided.\n     * @summary Get a list of root folders\n     * @param {FolderApiGetRootFoldersRequest} requestParameters Request parameters.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async getRootFolders(\n      requestParameters: FolderApiGetRootFoldersRequest = {},\n      options?: AxiosRequestConfig,\n    ): Promise<AxiosResponse<FolderCollection>> {\n      const localVarAxiosArgs = await localVarAxiosParamCreator.getRootFolders(\n        requestParameters.start,\n        requestParameters.limit,\n        requestParameters.filter,\n        requestParameters.sortBy,\n        options,\n      );\n      return createRequestFunction(localVarAxiosArgs, configuration);\n    },\n\n    /**\n     * Returns the specified folder.\n     * @summary Get a folder\n     * @param {FolderApiHeadersForFolderRequest} requestParameters Request parameters.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async headersForFolder(\n      requestParameters: FolderApiHeadersForFolderRequest,\n      options?: AxiosRequestConfig,\n    ): Promise<AxiosResponse<void>> {\n      const localVarAxiosArgs =\n        await localVarAxiosParamCreator.headersForFolder(\n          requestParameters.folderId,\n          requestParameters.acceptLanguage,\n          options,\n        );\n      return createRequestFunction(localVarAxiosArgs, configuration);\n    },\n\n    /**\n     * Updates the provided fields of a folder. The client can provide a sparsely populated object, and only the non-null fields contribute to the updates. A body such as { \\\"name\\\": \\\"NewFolderName\\\" } causes the folder to have its name changed, but no other field is affected. The full resulting object is returned in the response.\n     * @summary Make a partial update to a folder\n     * @param {FolderApiPatchFolderRequest} requestParameters Request parameters.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async patchFolder(\n      requestParameters: FolderApiPatchFolderRequest,\n      options?: AxiosRequestConfig,\n    ): Promise<AxiosResponse<Folder>> {\n      const localVarAxiosArgs = await localVarAxiosParamCreator.patchFolder(\n        requestParameters.folderId,\n        requestParameters.ifMatch,\n        requestParameters.ifUnmodifiedSince,\n        requestParameters.folderIn,\n        options,\n      );\n      return createRequestFunction(localVarAxiosArgs, configuration);\n    },\n\n    /**\n     * Move the child member for the resource specified by childUri to the folder specified by parentFolderUri.\n     * @summary Move the child member for a resource to a folder specified by the parentFolderUri\n     * @param {FolderApiPatchMoveFolderItemRequest} requestParameters Request parameters.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async patchMoveFolderItem(\n      requestParameters: FolderApiPatchMoveFolderItemRequest = {},\n      options?: AxiosRequestConfig,\n    ): Promise<AxiosResponse<Folder>> {\n      const localVarAxiosArgs =\n        await localVarAxiosParamCreator.patchMoveFolderItem(\n          requestParameters.childUri,\n          requestParameters.parentFolderUri,\n          options,\n        );\n      return createRequestFunction(localVarAxiosArgs, configuration);\n    },\n\n    /**\n     * Replaces an existing folder.\n     * @summary Update a folder\n     * @param {FolderApiUpdateFolderRequest} requestParameters Request parameters.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async updateFolder(\n      requestParameters: FolderApiUpdateFolderRequest,\n      options?: AxiosRequestConfig,\n    ): Promise<AxiosResponse<Folder>> {\n      const localVarAxiosArgs = await localVarAxiosParamCreator.updateFolder(\n        requestParameters.folderId,\n        requestParameters.ifMatch,\n        requestParameters.ifUnmodifiedSince,\n        requestParameters.folderIn,\n        options,\n      );\n      return createRequestFunction(localVarAxiosArgs, configuration);\n    },\n  };\n};\n\n/**\n * Request parameters for createFolder operation in FolderApi.\n * @export\n * @interface FolderApiCreateFolderRequest\n */\nexport interface FolderApiCreateFolderRequest {\n  /**\n   * URI of folder to add new folder as a child. This parameter is required. An explicit value of \\&quot;none\\&quot; indicates that the client wants to create a root folder.\n   * @type {string}\n   * @memberof FolderApiCreateFolder\n   */\n  readonly parentFolderUri: string;\n\n  /**\n   * Folder\n   * @type {FolderIn}\n   * @memberof FolderApiCreateFolder\n   */\n  readonly folderIn?: FolderIn;\n}\n\n/**\n * Request parameters for deleteFolder operation in FolderApi.\n * @export\n * @interface FolderApiDeleteFolderRequest\n */\nexport interface FolderApiDeleteFolderRequest {\n  /**\n   * The identifier of a specific folder or one of the delegate strings @myFolder, @appDataFolder, @myHistory, @myFavorites, or @public.\n   * @type {string}\n   * @memberof FolderApiDeleteFolder\n   */\n  readonly folderId: string;\n\n  /**\n   * do a recursive delete of the folder\n   * @type {boolean}\n   * @memberof FolderApiDeleteFolder\n   */\n  readonly recursive?: boolean;\n}\n\n/**\n * Request parameters for findByPath operation in FolderApi.\n * @export\n * @interface FolderApiFindByPathRequest\n */\nexport interface FolderApiFindByPathRequest {\n  /**\n   * The set of parent names, the object name, and the object content type.\n   * @type {Path}\n   * @memberof FolderApiFindByPath\n   */\n  readonly path: Path;\n}\n\n/**\n * Request parameters for getDelegateFolders operation in FolderApi.\n * @export\n * @interface FolderApiGetDelegateFoldersRequest\n */\nexport interface FolderApiGetDelegateFoldersRequest {\n  /**\n   * The name of the delegate (including the leading \\&#39;@\\&#39;) desired. Multiple values of the name parameter can be provided.\n   * @type {string}\n   * @memberof FolderApiGetDelegateFolders\n   */\n  readonly name?: string;\n}\n\n/**\n * Request parameters for getFolder operation in FolderApi.\n * @export\n * @interface FolderApiGetFolderRequest\n */\nexport interface FolderApiGetFolderRequest {\n  /**\n   * The identifier of a specific folder or one of the delegate strings @myFolder, @appDataFolder, @myHistory, @myFavorites, or @public.\n   * @type {string}\n   * @memberof FolderApiGetFolder\n   */\n  readonly folderId: string;\n\n  /**\n   * Enumerates the languages that the client prefers to use for the response. This can be used to provide localized data where available.\n   * @type {string}\n   * @memberof FolderApiGetFolder\n   */\n  readonly acceptLanguage?: string;\n}\n\n/**\n * Request parameters for getFolderItem operation in FolderApi.\n * @export\n * @interface FolderApiGetFolderItemRequest\n */\nexport interface FolderApiGetFolderItemRequest {\n  /**\n   * The URI of a resource whose parent folder you want to return. This can be a folder or non-folder resource.\n   * @type {string}\n   * @memberof FolderApiGetFolderItem\n   */\n  readonly childUri?: string;\n\n  /**\n   * The slash-delimited path to a folder. For example, &#x60;/root/child/grandchild/greatgrandchild&#x60; would return the folder greatgrandchild.\n   * @type {string}\n   * @memberof FolderApiGetFolderItem\n   */\n  readonly path?: string;\n}\n\n/**\n * Request parameters for getFolders operation in FolderApi.\n * @export\n * @interface FolderApiGetFoldersRequest\n */\nexport interface FolderApiGetFoldersRequest {\n  /**\n   * 0-based offset of first folder to return. The default value is 0.\n   * @type {number}\n   * @memberof FolderApiGetFolders\n   */\n  readonly start?: number;\n\n  /**\n   * Maximum number of folders to return. The default value is 20.\n   * @type {number}\n   * @memberof FolderApiGetFolders\n   */\n  readonly limit?: number;\n\n  /**\n   * Filter criteria for returned folders. See [Filtering in REST APIs](https://developer.sas.com/apis/rest/Topics/#filters). &lt;br&gt;Any member of the Folder object can be used to filter the results: id, name, description, createdBy, modifiedBy, properties, folderType, or parent. Date fields currently cannot be used to filter results. &lt;br&gt;Sample queries&lt;br&gt; &lt;ul&gt; &lt;li&gt;Get Root Folders: &#x60;/folders?filter&#x3D;isNull(parent)&#x60;&lt;/li&gt; &lt;li&gt;Get folders by name: &#x60;/folders?filter&#x3D;contains(name, \\&#39;Sample\\&#39;)&#x60;&lt;/li&gt; &lt;li&gt;Get folders by folderType: &#x60;/folders?filter&#x3D;in(folderType, \\&#39;history\\&#39;, \\&#39;favorites\\&#39;)&#x60;&lt;/li&gt; &lt;/ul&gt;\n   * @type {string}\n   * @memberof FolderApiGetFolders\n   */\n  readonly filter?: string;\n\n  /**\n   * Sort returned folder. See [Sorting in REST APIs](https://developer.sas.com/apis/rest/Topics/#sorting).&lt;br&gt; The default sort order is name:ascending. Other valid sorting options are &lt;ul&gt;&lt;li&gt;&lt;code&gt;orderNum&lt;/code&gt; the order specified by the user&lt;/li&gt; &lt;li&gt;&lt;code&gt;added&lt;/code&gt; the timestamp when the item was added to the folder&lt;/li&gt; &lt;li&gt;&lt;code&gt;name&lt;/code&gt; the folder name &lt;/ul&gt;\n   * @type {string}\n   * @memberof FolderApiGetFolders\n   */\n  readonly sortBy?: string;\n\n  /**\n   * Return only folders containing a child member with the specified URI. For now, childUri, referenceUri, memberUri, and filter are mutually exclusive. The childUri has special semantics, because it should return only a single item. The URL form &#x60;/folders/.?childUri&#x3D;{resourceUri}&#x60; can be used to return a single item.\n   * @type {string}\n   * @memberof FolderApiGetFolders\n   */\n  readonly childUri?: string;\n\n  /**\n   * Return only folders containing a reference member with the specified URI. For now, childUri, referenceUri, memberUri, and filter are mutually exclusive.\n   * @type {string}\n   * @memberof FolderApiGetFolders\n   */\n  readonly referenceUri?: string;\n\n  /**\n   * Return only folders containing any member with the specified URI. For now, childUri, referenceUri, memberUri, and filter are mutually exclusive.\n   * @type {string}\n   * @memberof FolderApiGetFolders\n   */\n  readonly memberUri?: string;\n\n  /**\n   * Enumerates the languages that the client prefers to use for the response. This can be used to provide localized data where available.\n   * @type {string}\n   * @memberof FolderApiGetFolders\n   */\n  readonly acceptLanguage?: string;\n\n  /**\n   * If provided, this should be an alternative media type that the service recognizes. If the media type is not one that the service can provide, a 406 response is returned.\n   * @type {string}\n   * @memberof FolderApiGetFolders\n   */\n  readonly acceptItem?: string;\n}\n\n/**\n * Request parameters for getRootFolders operation in FolderApi.\n * @export\n * @interface FolderApiGetRootFoldersRequest\n */\nexport interface FolderApiGetRootFoldersRequest {\n  /**\n   * 0-based offset of first folder to return. The default value is 0.\n   * @type {number}\n   * @memberof FolderApiGetRootFolders\n   */\n  readonly start?: number;\n\n  /**\n   * Maximum number of folders to return. The default value is 20.\n   * @type {number}\n   * @memberof FolderApiGetRootFolders\n   */\n  readonly limit?: number;\n\n  /**\n   * Filter criteria for returned folders. See [Filtering in REST APIs](https://developer.sas.com/apis/rest/Topics/#filters). &lt;br&gt;Any member of the Folder object can be used to filter the results: id, name, description, createdBy, modifiedBy, properties, folderType, or parent. Date fields currently cannot be used to filter results.\n   * @type {string}\n   * @memberof FolderApiGetRootFolders\n   */\n  readonly filter?: string;\n\n  /**\n   * Sort returned folder. See [Sorting in REST APIs](https://developer.sas.com/apis/rest/Topics/#sorting).&lt;br&gt; The default sort order is name:ascending. Other valid sorting options are &lt;li&gt;&lt;code&gt;added&lt;/code&gt; the timestamp when the item was added to the folder&lt;/li&gt; &lt;li&gt;&lt;code&gt;name&lt;/code&gt; the folder name &lt;/ul&gt;\n   * @type {string}\n   * @memberof FolderApiGetRootFolders\n   */\n  readonly sortBy?: string;\n}\n\n/**\n * Request parameters for headersForFolder operation in FolderApi.\n * @export\n * @interface FolderApiHeadersForFolderRequest\n */\nexport interface FolderApiHeadersForFolderRequest {\n  /**\n   * The identifier of a specific folder or one of the delegate strings @myFolder, @appDataFolder, @myHistory, @myFavorites, or @public.\n   * @type {string}\n   * @memberof FolderApiHeadersForFolder\n   */\n  readonly folderId: string;\n\n  /**\n   * Enumerates the languages that the client prefers to use for the response. This can be used to provide localized data where available.\n   * @type {string}\n   * @memberof FolderApiHeadersForFolder\n   */\n  readonly acceptLanguage?: string;\n}\n\n/**\n * Request parameters for patchFolder operation in FolderApi.\n * @export\n * @interface FolderApiPatchFolderRequest\n */\nexport interface FolderApiPatchFolderRequest {\n  /**\n   * The identifier of a specific folder, or of one of the delegate strings @myFolder, @appDataFolder, @myHistory, @myFavorites, or @public.\n   * @type {string}\n   * @memberof FolderApiPatchFolder\n   */\n  readonly folderId: string;\n\n  /**\n   * The ETag that was returned from a GET, POST, or PUT of this folder.\n   * @type {string}\n   * @memberof FolderApiPatchFolder\n   */\n  readonly ifMatch?: string;\n\n  /**\n   * The value of the lastModified date of the folder. If the folder has been updated since this time, the update fails.\n   * @type {string}\n   * @memberof FolderApiPatchFolder\n   */\n  readonly ifUnmodifiedSince?: string;\n\n  /**\n   * Folder\n   * @type {FolderIn}\n   * @memberof FolderApiPatchFolder\n   */\n  readonly folderIn?: FolderIn;\n}\n\n/**\n * Request parameters for patchMoveFolderItem operation in FolderApi.\n * @export\n * @interface FolderApiPatchMoveFolderItemRequest\n */\nexport interface FolderApiPatchMoveFolderItemRequest {\n  /**\n   * The URI of a resource whose parent folder is to be changed.\n   * @type {string}\n   * @memberof FolderApiPatchMoveFolderItem\n   */\n  readonly childUri?: string;\n\n  /**\n   * The URI of the target folder to move the resource to.\n   * @type {string}\n   * @memberof FolderApiPatchMoveFolderItem\n   */\n  readonly parentFolderUri?: string;\n}\n\n/**\n * Request parameters for updateFolder operation in FolderApi.\n * @export\n * @interface FolderApiUpdateFolderRequest\n */\nexport interface FolderApiUpdateFolderRequest {\n  /**\n   * The identifier of a specific folder, or of one of the delegate strings @myFolder, @appDataFolder, @myHistory, @myFavorites, or @public.\n   * @type {string}\n   * @memberof FolderApiUpdateFolder\n   */\n  readonly folderId: string;\n\n  /**\n   * The ETag that was returned from a GET, POST, or PUT of this folder.\n   * @type {string}\n   * @memberof FolderApiUpdateFolder\n   */\n  readonly ifMatch?: string;\n\n  /**\n   * The value of the lastModified date of the folder. If the folder has been updated since this time, the update fails.\n   * @type {string}\n   * @memberof FolderApiUpdateFolder\n   */\n  readonly ifUnmodifiedSince?: string;\n\n  /**\n   * Folder\n   * @type {FolderIn}\n   * @memberof FolderApiUpdateFolder\n   */\n  readonly folderIn?: FolderIn;\n}\n\n/**\n * MemberApi - axios parameter creator\n * @export\n */\nexport const MemberApiAxiosParamCreator = function (\n  configuration?: Configuration,\n) {\n  return {\n    /**\n     * Adds a new member to the folder. If the member type is \\'child\\' and the object referenced is already a member of any folder (including the specified parent), this operation fails with a 409 status (conflict). If the object being added is a folder, this method checks that the name is unique (among other members that are of the same type). If a name collision occurs, a 409 status is returned.\n     * @summary Add a member to a folder\n     * @param {string} folderId The identifier of a specific folder, or of one of the delegate strings @myFolder, @appDataFolder, @myHistory, @myFavorites, or @public.\n     * @param {boolean} [abortOnMetadataFailure] If true, the member creation is aborted if the GET to retrieve the member metadata fails. If false, the member creation succeeds regardless of the metadata retrieval status. The default value is false.\n     * @param {boolean} [forceMove] If true, if this is a creation of a child member and if the URI in the member already exists in another folder, the member is moved to the requested folder. If it is already a member of the requested folder, the request succeeds. The default value is false.\n     * @param {MemberIn} [memberIn] Member\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    createFolderMember: async (\n      folderId: string,\n      abortOnMetadataFailure?: boolean,\n      forceMove?: boolean,\n      memberIn?: MemberIn,\n      options: AxiosRequestConfig = {},\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'folderId' is not null or undefined\n      assertParamExists(\"createFolderMember\", \"folderId\", folderId);\n      const localVarPath = `/folders/{folderId}/members`.replace(\n        `{${\"folderId\"}}`,\n        encodeURIComponent(String(folderId)),\n      );\n      // use dummy base URL string because the URL constructor only accepts absolute URLs.\n      const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n      let baseOptions;\n      if (configuration) {\n        baseOptions = configuration.baseOptions;\n      }\n\n      const localVarRequestOptions = {\n        method: \"POST\",\n        ...baseOptions,\n        ...options,\n      };\n      const localVarHeaderParameter = {} as any;\n      const localVarQueryParameter = {} as any;\n\n      if (abortOnMetadataFailure !== undefined) {\n        localVarQueryParameter[\"abortOnMetadataFailure\"] =\n          abortOnMetadataFailure;\n      }\n\n      if (forceMove !== undefined) {\n        localVarQueryParameter[\"forceMove\"] = forceMove;\n      }\n\n      localVarHeaderParameter[\"Content-Type\"] =\n        \"application/vnd.sas.content.folder.member+json\";\n\n      setSearchParams(localVarUrlObj, localVarQueryParameter);\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {};\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      };\n      localVarRequestOptions.data = serializeDataIfNeeded(\n        memberIn,\n        localVarRequestOptions,\n        configuration,\n      );\n\n      return {\n        url: toPathString(localVarUrlObj),\n        options: localVarRequestOptions,\n      };\n    },\n    /**\n     * Updates the modification date for a history member. If the object URI exists as a reference in the history folder, the information including the added field is updated. If it does not exist, a new member is added, and an eviction is performed if the folder is already at the maximum members threshold.\n     * @summary Update the modification date for a history member\n     * @param {string} folderId The identifier of a specific history folder, or the delegate string: @myHistory.\n     * @param {boolean} [abortOnMetadataFailure] If true, if the GET to retrieve the member metadata fails, abort the member creation. If false, the member creation succeeds regardless of the metadata retrieval status. The default value is false.\n     * @param {MemberIn} [memberIn] Member\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    createHistory: async (\n      folderId: string,\n      abortOnMetadataFailure?: boolean,\n      memberIn?: MemberIn,\n      options: AxiosRequestConfig = {},\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'folderId' is not null or undefined\n      assertParamExists(\"createHistory\", \"folderId\", folderId);\n      const localVarPath = `/folders/{folderId}/histories`.replace(\n        `{${\"folderId\"}}`,\n        encodeURIComponent(String(folderId)),\n      );\n      // use dummy base URL string because the URL constructor only accepts absolute URLs.\n      const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n      let baseOptions;\n      if (configuration) {\n        baseOptions = configuration.baseOptions;\n      }\n\n      const localVarRequestOptions = {\n        method: \"POST\",\n        ...baseOptions,\n        ...options,\n      };\n      const localVarHeaderParameter = {} as any;\n      const localVarQueryParameter = {} as any;\n\n      if (abortOnMetadataFailure !== undefined) {\n        localVarQueryParameter[\"abortOnMetadataFailure\"] =\n          abortOnMetadataFailure;\n      }\n\n      localVarHeaderParameter[\"Content-Type\"] =\n        \"application/vnd.sas.content.folder.member+json\";\n\n      setSearchParams(localVarUrlObj, localVarQueryParameter);\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {};\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      };\n      localVarRequestOptions.data = serializeDataIfNeeded(\n        memberIn,\n        localVarRequestOptions,\n        configuration,\n      );\n\n      return {\n        url: toPathString(localVarUrlObj),\n        options: localVarRequestOptions,\n      };\n    },\n    /**\n     * Removes the specified member from the folder. <b>This does not delete the target resource.</b> The proper way to delete a resource is to use the resource\\'s persistence service to delete it. Using that service generates an event that causes the folders service to clean up any members that have that target resource\\'s URI.\n     * @summary Remove a member from a folder\n     * @param {string} folderId The identifier of a specific folder, or of one of the delegate strings @myFolder, @appDataFolder, @myHistory, @myFavorites, or @public.\n     * @param {string} memberId Member id.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    deleteFolderMember: async (\n      folderId: string,\n      memberId: string,\n      options: AxiosRequestConfig = {},\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'folderId' is not null or undefined\n      assertParamExists(\"deleteFolderMember\", \"folderId\", folderId);\n      // verify required parameter 'memberId' is not null or undefined\n      assertParamExists(\"deleteFolderMember\", \"memberId\", memberId);\n      const localVarPath = `/folders/{folderId}/members/{memberId}`\n        .replace(`{${\"folderId\"}}`, encodeURIComponent(String(folderId)))\n        .replace(`{${\"memberId\"}}`, encodeURIComponent(String(memberId)));\n      // use dummy base URL string because the URL constructor only accepts absolute URLs.\n      const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n      let baseOptions;\n      if (configuration) {\n        baseOptions = configuration.baseOptions;\n      }\n\n      const localVarRequestOptions = {\n        method: \"DELETE\",\n        ...baseOptions,\n        ...options,\n      };\n      const localVarHeaderParameter = {} as any;\n      const localVarQueryParameter = {} as any;\n\n      setSearchParams(localVarUrlObj, localVarQueryParameter);\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {};\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      };\n\n      return {\n        url: toPathString(localVarUrlObj),\n        options: localVarRequestOptions,\n      };\n    },\n    /**\n     * Returns the specified member.\n     * @summary Get a folder member\n     * @param {string} folderId The identifier of a specific folder, or of one of the delegate strings @myFolder, @appDataFolder, @myHistory, @myFavorites, or @public.\n     * @param {string} memberId Member id.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    getFolderMember: async (\n      folderId: string,\n      memberId: string,\n      options: AxiosRequestConfig = {},\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'folderId' is not null or undefined\n      assertParamExists(\"getFolderMember\", \"folderId\", folderId);\n      // verify required parameter 'memberId' is not null or undefined\n      assertParamExists(\"getFolderMember\", \"memberId\", memberId);\n      const localVarPath = `/folders/{folderId}/members/{memberId}`\n        .replace(`{${\"folderId\"}}`, encodeURIComponent(String(folderId)))\n        .replace(`{${\"memberId\"}}`, encodeURIComponent(String(memberId)));\n      // use dummy base URL string because the URL constructor only accepts absolute URLs.\n      const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n      let baseOptions;\n      if (configuration) {\n        baseOptions = configuration.baseOptions;\n      }\n\n      const localVarRequestOptions = {\n        method: \"GET\",\n        ...baseOptions,\n        ...options,\n      };\n      const localVarHeaderParameter = {} as any;\n      const localVarQueryParameter = {} as any;\n\n      setSearchParams(localVarUrlObj, localVarQueryParameter);\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {};\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      };\n\n      return {\n        url: toPathString(localVarUrlObj),\n        options: localVarRequestOptions,\n      };\n    },\n    /**\n     * Returns a list of folder members. Standard paging, filtering, and sorting options are available. The media type of the returned collection items is application/vnd.sas.content.folder.member. Default sorting for this collection is name:ascending, unless the folder is of the history folder type. Default sorting for history folders is added:descending, which orders the elements starting with the most recently added.\n     * @summary Get a list of folder members\n     * @param {string} folderId The identifier of a specific folder, or of one of the delegate strings @myFolder, @appDataFolder, @myHistory, @myFavorites, or @public.\n     * @param {number} [start] Offset of first member to return. The default value is 0.\n     * @param {number} [limit] Maximum number of members to return. The default value is 20.\n     * @param {string} [filter] Filter criteria for returned members. See [Filtering in REST APIs](https://developer.sas.com/apis/rest/Topics/#filters). For example, you can filter for a member with a given name as a way to test if a folder already has a member with that name: &lt;code&gt;?filter&#x3D;eq(name, \\&#39;bobsyouruncle\\&#39;)&lt;/code&gt;\n     * @param {string} [sortBy] Sort returned collection of members. See [Sorting in REST APIs](https://developer.sas.com/apis/rest/Topics/#sorting). The member collection can be sorted by folders first by using sortBy&#x3D;eq(contentType,\\&#39;folder\\&#39;):descending Use :ascending to soft by folders last. Specifying sortBy&#x3D;eq(contentType,\\&#39;folder\\&#39;):descending,name:ascending,type:ascending sorts by folders first, then by name, then by type.\n     * @param {boolean} [recursive] If true, the members of the requested folder, plus all of its descendants, are returned in a flat list (no order is guaranteed). Reference members that refer to folders are not followed unless the followReferences parameter is true. The default value of this parameter is false.\n     * @param {boolean} [followReferences] If true, references to other folders are followed when returning the recursive list of members. If recursive is false, then the value of this parameter is meaningless. The default value of this parameter is false.\n     * @param {string} [acceptLanguage] Enumerates the languages that the client prefers to use for the response. This can be used to provide localized data where available.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    getFolderMembers: async (\n      folderId: string,\n      start?: number,\n      limit?: number,\n      filter?: string,\n      sortBy?: string,\n      recursive?: boolean,\n      followReferences?: boolean,\n      acceptLanguage?: string,\n      options: AxiosRequestConfig = {},\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'folderId' is not null or undefined\n      assertParamExists(\"getFolderMembers\", \"folderId\", folderId);\n      const localVarPath = `/folders/{folderId}/members`.replace(\n        `{${\"folderId\"}}`,\n        encodeURIComponent(String(folderId)),\n      );\n      // use dummy base URL string because the URL constructor only accepts absolute URLs.\n      const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n      let baseOptions;\n      if (configuration) {\n        baseOptions = configuration.baseOptions;\n      }\n\n      const localVarRequestOptions = {\n        method: \"GET\",\n        ...baseOptions,\n        ...options,\n      };\n      const localVarHeaderParameter = {} as any;\n      const localVarQueryParameter = {} as any;\n\n      if (start !== undefined) {\n        localVarQueryParameter[\"start\"] = start;\n      }\n\n      if (limit !== undefined) {\n        localVarQueryParameter[\"limit\"] = limit;\n      }\n\n      if (filter !== undefined) {\n        localVarQueryParameter[\"filter\"] = filter;\n      }\n\n      if (sortBy !== undefined) {\n        localVarQueryParameter[\"sortBy\"] = sortBy;\n      }\n\n      if (recursive !== undefined) {\n        localVarQueryParameter[\"recursive\"] = recursive;\n      }\n\n      if (followReferences !== undefined) {\n        localVarQueryParameter[\"followReferences\"] = followReferences;\n      }\n\n      if (acceptLanguage != null) {\n        localVarHeaderParameter[\"Accept-Language\"] = String(acceptLanguage);\n      }\n\n      setSearchParams(localVarUrlObj, localVarQueryParameter);\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {};\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      };\n\n      return {\n        url: toPathString(localVarUrlObj),\n        options: localVarRequestOptions,\n      };\n    },\n    /**\n     * Returns the specified member.\n     * @summary Get a folder member\n     * @param {string} folderId The identifier of a specific folder, or of one of the delegate strings @myFolder, @appDataFolder, @myHistory, @myFavorites, or @public.\n     * @param {string} memberId Member id.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    headersForFolderMember: async (\n      folderId: string,\n      memberId: string,\n      options: AxiosRequestConfig = {},\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'folderId' is not null or undefined\n      assertParamExists(\"headersForFolderMember\", \"folderId\", folderId);\n      // verify required parameter 'memberId' is not null or undefined\n      assertParamExists(\"headersForFolderMember\", \"memberId\", memberId);\n      const localVarPath = `/folders/{folderId}/members/{memberId}`\n        .replace(`{${\"folderId\"}}`, encodeURIComponent(String(folderId)))\n        .replace(`{${\"memberId\"}}`, encodeURIComponent(String(memberId)));\n      // use dummy base URL string because the URL constructor only accepts absolute URLs.\n      const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n      let baseOptions;\n      if (configuration) {\n        baseOptions = configuration.baseOptions;\n      }\n\n      const localVarRequestOptions = {\n        method: \"HEAD\",\n        ...baseOptions,\n        ...options,\n      };\n      const localVarHeaderParameter = {} as any;\n      const localVarQueryParameter = {} as any;\n\n      setSearchParams(localVarUrlObj, localVarQueryParameter);\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {};\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      };\n\n      return {\n        url: toPathString(localVarUrlObj),\n        options: localVarRequestOptions,\n      };\n    },\n    /**\n     * Returns a list of folder members. Standard paging, filtering, and sorting options are available. The media type of the returned collection items is application/vnd.sas.content.folder.member. Default sorting for this collection is name:ascending, unless the folder is of the history folder type. Default sorting for history folders is added:descending, which orders the elements starting with the most recently added.\n     * @summary Get a list of folder members\n     * @param {string} folderId The identifier of a specific folder, or of one of the delegate strings @myFolder, @appDataFolder, @myHistory, @myFavorites, or @public.\n     * @param {number} [start] Offset of first member to return. The default value is 0.\n     * @param {number} [limit] Maximum number of members to return. The default value is 20.\n     * @param {string} [filter] Filter criteria for returned members. See [Filtering in REST APIs](https://developer.sas.com/apis/rest/Topics/#filters). For example, you can filter for a member with a given name as a way to test if a folder already has a member with that name: &lt;code&gt;?filter&#x3D;eq(name, \\&#39;bobsyouruncle\\&#39;)&lt;/code&gt;\n     * @param {string} [sortBy] Sort returned collection of members. See [Sorting in REST APIs](https://developer.sas.com/apis/rest/Topics/#sorting). The member collection can be sorted by folders first by using sortBy&#x3D;eq(contentType,\\&#39;folder\\&#39;):descending Use :ascending to soft by folders last. Specifying sortBy&#x3D;eq(contentType,\\&#39;folder\\&#39;):descending,name:ascending,type:ascending sorts by folders first, then by name, then by type.\n     * @param {boolean} [recursive] If true, the members of the requested folder, plus all of its descendants, are returned in a flat list (no order is guaranteed). Reference members that refer to folders are not followed unless the followReferences parameter is true. The default value of this parameter is false.\n     * @param {boolean} [followReferences] If true, references to other folders are followed when returning the recursive list of members. If recursive is false, then the value of this parameter is meaningless. The default value of this parameter is false.\n     * @param {string} [acceptLanguage] Enumerates the languages that the client prefers to use for the response. This can be used to provide localized data where available.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    headersForFolderMembers: async (\n      folderId: string,\n      start?: number,\n      limit?: number,\n      filter?: string,\n      sortBy?: string,\n      recursive?: boolean,\n      followReferences?: boolean,\n      acceptLanguage?: string,\n      options: AxiosRequestConfig = {},\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'folderId' is not null or undefined\n      assertParamExists(\"headersForFolderMembers\", \"folderId\", folderId);\n      const localVarPath = `/folders/{folderId}/members`.replace(\n        `{${\"folderId\"}}`,\n        encodeURIComponent(String(folderId)),\n      );\n      // use dummy base URL string because the URL constructor only accepts absolute URLs.\n      const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n      let baseOptions;\n      if (configuration) {\n        baseOptions = configuration.baseOptions;\n      }\n\n      const localVarRequestOptions = {\n        method: \"HEAD\",\n        ...baseOptions,\n        ...options,\n      };\n      const localVarHeaderParameter = {} as any;\n      const localVarQueryParameter = {} as any;\n\n      if (start !== undefined) {\n        localVarQueryParameter[\"start\"] = start;\n      }\n\n      if (limit !== undefined) {\n        localVarQueryParameter[\"limit\"] = limit;\n      }\n\n      if (filter !== undefined) {\n        localVarQueryParameter[\"filter\"] = filter;\n      }\n\n      if (sortBy !== undefined) {\n        localVarQueryParameter[\"sortBy\"] = sortBy;\n      }\n\n      if (recursive !== undefined) {\n        localVarQueryParameter[\"recursive\"] = recursive;\n      }\n\n      if (followReferences !== undefined) {\n        localVarQueryParameter[\"followReferences\"] = followReferences;\n      }\n\n      if (acceptLanguage != null) {\n        localVarHeaderParameter[\"Accept-Language\"] = String(acceptLanguage);\n      }\n\n      setSearchParams(localVarUrlObj, localVarQueryParameter);\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {};\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      };\n\n      return {\n        url: toPathString(localVarUrlObj),\n        options: localVarRequestOptions,\n      };\n    },\n    /**\n     * Updates the provided fields of a member. The client can provide a sparsely populated object, and only the non-null fields contribute to the updates. So, a body like { \\\"name\\\": \\\"NewMemberName\\\" } causes the member to have its name changed, but no other field is affected. The full resulting object is returned in the response.\n     * @summary Make a partial update to a folder member\n     * @param {string} folderId The identifier of a specific folder, or of one of the delegate strings @myFolder, @appDataFolder, @myHistory, @myFavorites, or @public.\n     * @param {string} memberId Member id.\n     * @param {string} [ifMatch] The ETag that was returned from a GET, POST, or PUT of this folder.\n     * @param {string} [ifUnmodifiedSince] The value of the lastModified date of the folder. If the folder has been updated since this time, the update fails.\n     * @param {MemberIn} [memberIn] Member\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    patchFolderMember: async (\n      folderId: string,\n      memberId: string,\n      ifMatch?: string,\n      ifUnmodifiedSince?: string,\n      memberIn?: MemberIn,\n      options: AxiosRequestConfig = {},\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'folderId' is not null or undefined\n      assertParamExists(\"patchFolderMember\", \"folderId\", folderId);\n      // verify required parameter 'memberId' is not null or undefined\n      assertParamExists(\"patchFolderMember\", \"memberId\", memberId);\n      const localVarPath = `/folders/{folderId}/members/{memberId}`\n        .replace(`{${\"folderId\"}}`, encodeURIComponent(String(folderId)))\n        .replace(`{${\"memberId\"}}`, encodeURIComponent(String(memberId)));\n      // use dummy base URL string because the URL constructor only accepts absolute URLs.\n      const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n      let baseOptions;\n      if (configuration) {\n        baseOptions = configuration.baseOptions;\n      }\n\n      const localVarRequestOptions = {\n        method: \"PATCH\",\n        ...baseOptions,\n        ...options,\n      };\n      const localVarHeaderParameter = {} as any;\n      const localVarQueryParameter = {} as any;\n\n      if (ifMatch != null) {\n        localVarHeaderParameter[\"If-Match\"] = String(ifMatch);\n      }\n\n      if (ifUnmodifiedSince != null) {\n        localVarHeaderParameter[\"If-Unmodified-Since\"] =\n          String(ifUnmodifiedSince);\n      }\n\n      localVarHeaderParameter[\"Content-Type\"] =\n        \"application/vnd.sas.content.folder.member+json\";\n\n      setSearchParams(localVarUrlObj, localVarQueryParameter);\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {};\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      };\n      localVarRequestOptions.data = serializeDataIfNeeded(\n        memberIn,\n        localVarRequestOptions,\n        configuration,\n      );\n\n      return {\n        url: toPathString(localVarUrlObj),\n        options: localVarRequestOptions,\n      };\n    },\n    /**\n     * Replaces an existing folder member. Changing the parentUri affects a move operation. Neither the URI or the type of the member can be changed.\n     * @summary Update a folder member\n     * @param {string} folderId The identifier of a specific folder, or of one of the delegate strings @myFolder, @appDataFolder, @myHistory, @myFavorites, or @public.\n     * @param {string} memberId Member id.\n     * @param {string} [ifMatch] The ETag that was returned from a GET, POST, or PUT of this folder.\n     * @param {string} [ifUnmodifiedSince] The value of the lastModified date of the folder. If the folder has been updated since this time, the update fails.\n     * @param {MemberIn} [memberIn] Member\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    updateFolderMember: async (\n      folderId: string,\n      memberId: string,\n      ifMatch?: string,\n      ifUnmodifiedSince?: string,\n      memberIn?: MemberIn,\n      options: AxiosRequestConfig = {},\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'folderId' is not null or undefined\n      assertParamExists(\"updateFolderMember\", \"folderId\", folderId);\n      // verify required parameter 'memberId' is not null or undefined\n      assertParamExists(\"updateFolderMember\", \"memberId\", memberId);\n      const localVarPath = `/folders/{folderId}/members/{memberId}`\n        .replace(`{${\"folderId\"}}`, encodeURIComponent(String(folderId)))\n        .replace(`{${\"memberId\"}}`, encodeURIComponent(String(memberId)));\n      // use dummy base URL string because the URL constructor only accepts absolute URLs.\n      const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n      let baseOptions;\n      if (configuration) {\n        baseOptions = configuration.baseOptions;\n      }\n\n      const localVarRequestOptions = {\n        method: \"PUT\",\n        ...baseOptions,\n        ...options,\n      };\n      const localVarHeaderParameter = {} as any;\n      const localVarQueryParameter = {} as any;\n\n      if (ifMatch != null) {\n        localVarHeaderParameter[\"If-Match\"] = String(ifMatch);\n      }\n\n      if (ifUnmodifiedSince != null) {\n        localVarHeaderParameter[\"If-Unmodified-Since\"] =\n          String(ifUnmodifiedSince);\n      }\n\n      localVarHeaderParameter[\"Content-Type\"] =\n        \"application/vnd.sas.content.folder.member+json\";\n\n      setSearchParams(localVarUrlObj, localVarQueryParameter);\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {};\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      };\n      localVarRequestOptions.data = serializeDataIfNeeded(\n        memberIn,\n        localVarRequestOptions,\n        configuration,\n      );\n\n      return {\n        url: toPathString(localVarUrlObj),\n        options: localVarRequestOptions,\n      };\n    },\n    /**\n     * This endpoint can be used by a client to test whether creating or renaming a member would create a naming conflict before actually attempting the operation. When creating a new member, a memberId of @new indicates that the attempted operation would create a new member, where a folderId of @root is a placeholder representing the root level of the folder hierarchy. For example,<br> PUT /commons/validations/folders/@root/members/@new/name?value=TestFolder1&type=folder<br> would check if one could successfully create a root folder named TestFolder1 and respond appropriately.<br> PUT /commons/validations/folders/@myFolder/members/@new/name?value=TestReport1&type=report<br> would check whether a new member named TestReport1 of type report could be added to the user\\'s My Folder.\n     * @summary Validate that a member can be named or renamed to the given value without creating a conflict\n     * @param {string} folderId The identifier of the folder whose members are to be checked. A value of @root indicates checking a root-level folder, and type must be folder.\n     * @param {string} memberId If a rename is being attempted, the identifier of the member being renamed. If a new member is being created, the @new placeholder is used.\n     * @param {string} value The name to be tested.\n     * @param {string} type The type of the member to be tested. Members of the same type have to be named uniquely, so both the new name and type are required.\n     * @param {string} [typeDefName] The Type definition name to test against. This must match exactly with the desired value. A null value is compared with null values in the repository.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    validateMemberName: async (\n      folderId: string,\n      memberId: string,\n      value: string,\n      type: string,\n      typeDefName?: string,\n      options: AxiosRequestConfig = {},\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'folderId' is not null or undefined\n      assertParamExists(\"validateMemberName\", \"folderId\", folderId);\n      // verify required parameter 'memberId' is not null or undefined\n      assertParamExists(\"validateMemberName\", \"memberId\", memberId);\n      // verify required parameter 'value' is not null or undefined\n      assertParamExists(\"validateMemberName\", \"value\", value);\n      // verify required parameter 'type' is not null or undefined\n      assertParamExists(\"validateMemberName\", \"type\", type);\n      const localVarPath =\n        `/commons/validations/folders/{folderId}/members/{memberId}/name`\n          .replace(`{${\"folderId\"}}`, encodeURIComponent(String(folderId)))\n          .replace(`{${\"memberId\"}}`, encodeURIComponent(String(memberId)));\n      // use dummy base URL string because the URL constructor only accepts absolute URLs.\n      const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n      let baseOptions;\n      if (configuration) {\n        baseOptions = configuration.baseOptions;\n      }\n\n      const localVarRequestOptions = {\n        method: \"PUT\",\n        ...baseOptions,\n        ...options,\n      };\n      const localVarHeaderParameter = {} as any;\n      const localVarQueryParameter = {} as any;\n\n      if (value !== undefined) {\n        localVarQueryParameter[\"value\"] = value;\n      }\n\n      if (type !== undefined) {\n        localVarQueryParameter[\"type\"] = type;\n      }\n\n      if (typeDefName !== undefined) {\n        localVarQueryParameter[\"typeDefName\"] = typeDefName;\n      }\n\n      setSearchParams(localVarUrlObj, localVarQueryParameter);\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {};\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      };\n\n      return {\n        url: toPathString(localVarUrlObj),\n        options: localVarRequestOptions,\n      };\n    },\n  };\n};\n\n/**\n * MemberApi - functional programming interface\n * @export\n */\nexport const MemberApi = function (configuration?: Configuration) {\n  const localVarAxiosParamCreator = MemberApiAxiosParamCreator(configuration);\n  return {\n    /**\n     * Adds a new member to the folder. If the member type is \\'child\\' and the object referenced is already a member of any folder (including the specified parent), this operation fails with a 409 status (conflict). If the object being added is a folder, this method checks that the name is unique (among other members that are of the same type). If a name collision occurs, a 409 status is returned.\n     * @summary Add a member to a folder\n     * @param {MemberApiCreateFolderMemberRequest} requestParameters Request parameters.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async createFolderMember(\n      requestParameters: MemberApiCreateFolderMemberRequest,\n      options?: AxiosRequestConfig,\n    ): Promise<AxiosResponse<Member>> {\n      const localVarAxiosArgs =\n        await localVarAxiosParamCreator.createFolderMember(\n          requestParameters.folderId,\n          requestParameters.abortOnMetadataFailure,\n          requestParameters.forceMove,\n          requestParameters.memberIn,\n          options,\n        );\n      return createRequestFunction(localVarAxiosArgs, configuration);\n    },\n\n    /**\n     * Updates the modification date for a history member. If the object URI exists as a reference in the history folder, the information including the added field is updated. If it does not exist, a new member is added, and an eviction is performed if the folder is already at the maximum members threshold.\n     * @summary Update the modification date for a history member\n     * @param {MemberApiCreateHistoryRequest} requestParameters Request parameters.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async createHistory(\n      requestParameters: MemberApiCreateHistoryRequest,\n      options?: AxiosRequestConfig,\n    ): Promise<AxiosResponse<Member>> {\n      const localVarAxiosArgs = await localVarAxiosParamCreator.createHistory(\n        requestParameters.folderId,\n        requestParameters.abortOnMetadataFailure,\n        requestParameters.memberIn,\n        options,\n      );\n      return createRequestFunction(localVarAxiosArgs, configuration);\n    },\n\n    /**\n     * Removes the specified member from the folder. <b>This does not delete the target resource.</b> The proper way to delete a resource is to use the resource\\'s persistence service to delete it. Using that service generates an event that causes the folders service to clean up any members that have that target resource\\'s URI.\n     * @summary Remove a member from a folder\n     * @param {MemberApiDeleteFolderMemberRequest} requestParameters Request parameters.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async deleteFolderMember(\n      requestParameters: MemberApiDeleteFolderMemberRequest,\n      options?: AxiosRequestConfig,\n    ): Promise<AxiosResponse<void>> {\n      const localVarAxiosArgs =\n        await localVarAxiosParamCreator.deleteFolderMember(\n          requestParameters.folderId,\n          requestParameters.memberId,\n          options,\n        );\n      return createRequestFunction(localVarAxiosArgs, configuration);\n    },\n\n    /**\n     * Returns the specified member.\n     * @summary Get a folder member\n     * @param {MemberApiGetFolderMemberRequest} requestParameters Request parameters.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async getFolderMember(\n      requestParameters: MemberApiGetFolderMemberRequest,\n      options?: AxiosRequestConfig,\n    ): Promise<AxiosResponse<Member>> {\n      const localVarAxiosArgs = await localVarAxiosParamCreator.getFolderMember(\n        requestParameters.folderId,\n        requestParameters.memberId,\n        options,\n      );\n      return createRequestFunction(localVarAxiosArgs, configuration);\n    },\n\n    /**\n     * Returns a list of folder members. Standard paging, filtering, and sorting options are available. The media type of the returned collection items is application/vnd.sas.content.folder.member. Default sorting for this collection is name:ascending, unless the folder is of the history folder type. Default sorting for history folders is added:descending, which orders the elements starting with the most recently added.\n     * @summary Get a list of folder members\n     * @param {MemberApiGetFolderMembersRequest} requestParameters Request parameters.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async getFolderMembers(\n      requestParameters: MemberApiGetFolderMembersRequest,\n      options?: AxiosRequestConfig,\n    ): Promise<AxiosResponse<MemberCollection>> {\n      const localVarAxiosArgs =\n        await localVarAxiosParamCreator.getFolderMembers(\n          requestParameters.folderId,\n          requestParameters.start,\n          requestParameters.limit,\n          requestParameters.filter,\n          requestParameters.sortBy,\n          requestParameters.recursive,\n          requestParameters.followReferences,\n          requestParameters.acceptLanguage,\n          options,\n        );\n      return createRequestFunction(localVarAxiosArgs, configuration);\n    },\n\n    /**\n     * Returns the specified member.\n     * @summary Get a folder member\n     * @param {MemberApiHeadersForFolderMemberRequest} requestParameters Request parameters.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async headersForFolderMember(\n      requestParameters: MemberApiHeadersForFolderMemberRequest,\n      options?: AxiosRequestConfig,\n    ): Promise<AxiosResponse<void>> {\n      const localVarAxiosArgs =\n        await localVarAxiosParamCreator.headersForFolderMember(\n          requestParameters.folderId,\n          requestParameters.memberId,\n          options,\n        );\n      return createRequestFunction(localVarAxiosArgs, configuration);\n    },\n\n    /**\n     * Returns a list of folder members. Standard paging, filtering, and sorting options are available. The media type of the returned collection items is application/vnd.sas.content.folder.member. Default sorting for this collection is name:ascending, unless the folder is of the history folder type. Default sorting for history folders is added:descending, which orders the elements starting with the most recently added.\n     * @summary Get a list of folder members\n     * @param {MemberApiHeadersForFolderMembersRequest} requestParameters Request parameters.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async headersForFolderMembers(\n      requestParameters: MemberApiHeadersForFolderMembersRequest,\n      options?: AxiosRequestConfig,\n    ): Promise<AxiosResponse<void>> {\n      const localVarAxiosArgs =\n        await localVarAxiosParamCreator.headersForFolderMembers(\n          requestParameters.folderId,\n          requestParameters.start,\n          requestParameters.limit,\n          requestParameters.filter,\n          requestParameters.sortBy,\n          requestParameters.recursive,\n          requestParameters.followReferences,\n          requestParameters.acceptLanguage,\n          options,\n        );\n      return createRequestFunction(localVarAxiosArgs, configuration);\n    },\n\n    /**\n     * Updates the provided fields of a member. The client can provide a sparsely populated object, and only the non-null fields contribute to the updates. So, a body like { \\\"name\\\": \\\"NewMemberName\\\" } causes the member to have its name changed, but no other field is affected. The full resulting object is returned in the response.\n     * @summary Make a partial update to a folder member\n     * @param {MemberApiPatchFolderMemberRequest} requestParameters Request parameters.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async patchFolderMember(\n      requestParameters: MemberApiPatchFolderMemberRequest,\n      options?: AxiosRequestConfig,\n    ): Promise<AxiosResponse<Member>> {\n      const localVarAxiosArgs =\n        await localVarAxiosParamCreator.patchFolderMember(\n          requestParameters.folderId,\n          requestParameters.memberId,\n          requestParameters.ifMatch,\n          requestParameters.ifUnmodifiedSince,\n          requestParameters.memberIn,\n          options,\n        );\n      return createRequestFunction(localVarAxiosArgs, configuration);\n    },\n\n    /**\n     * Replaces an existing folder member. Changing the parentUri affects a move operation. Neither the URI or the type of the member can be changed.\n     * @summary Update a folder member\n     * @param {MemberApiUpdateFolderMemberRequest} requestParameters Request parameters.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async updateFolderMember(\n      requestParameters: MemberApiUpdateFolderMemberRequest,\n      options?: AxiosRequestConfig,\n    ): Promise<AxiosResponse<Member>> {\n      const localVarAxiosArgs =\n        await localVarAxiosParamCreator.updateFolderMember(\n          requestParameters.folderId,\n          requestParameters.memberId,\n          requestParameters.ifMatch,\n          requestParameters.ifUnmodifiedSince,\n          requestParameters.memberIn,\n          options,\n        );\n      return createRequestFunction(localVarAxiosArgs, configuration);\n    },\n\n    /**\n     * This endpoint can be used by a client to test whether creating or renaming a member would create a naming conflict before actually attempting the operation. When creating a new member, a memberId of @new indicates that the attempted operation would create a new member, where a folderId of @root is a placeholder representing the root level of the folder hierarchy. For example,<br> PUT /commons/validations/folders/@root/members/@new/name?value=TestFolder1&type=folder<br> would check if one could successfully create a root folder named TestFolder1 and respond appropriately.<br> PUT /commons/validations/folders/@myFolder/members/@new/name?value=TestReport1&type=report<br> would check whether a new member named TestReport1 of type report could be added to the user\\'s My Folder.\n     * @summary Validate that a member can be named or renamed to the given value without creating a conflict\n     * @param {MemberApiValidateMemberNameRequest} requestParameters Request parameters.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async validateMemberName(\n      requestParameters: MemberApiValidateMemberNameRequest,\n      options?: AxiosRequestConfig,\n    ): Promise<AxiosResponse<Validation>> {\n      const localVarAxiosArgs =\n        await localVarAxiosParamCreator.validateMemberName(\n          requestParameters.folderId,\n          requestParameters.memberId,\n          requestParameters.value,\n          requestParameters.type,\n          requestParameters.typeDefName,\n          options,\n        );\n      return createRequestFunction(localVarAxiosArgs, configuration);\n    },\n  };\n};\n\n/**\n * Request parameters for createFolderMember operation in MemberApi.\n * @export\n * @interface MemberApiCreateFolderMemberRequest\n */\nexport interface MemberApiCreateFolderMemberRequest {\n  /**\n   * The identifier of a specific folder, or of one of the delegate strings @myFolder, @appDataFolder, @myHistory, @myFavorites, or @public.\n   * @type {string}\n   * @memberof MemberApiCreateFolderMember\n   */\n  readonly folderId: string;\n\n  /**\n   * If true, the member creation is aborted if the GET to retrieve the member metadata fails. If false, the member creation succeeds regardless of the metadata retrieval status. The default value is false.\n   * @type {boolean}\n   * @memberof MemberApiCreateFolderMember\n   */\n  readonly abortOnMetadataFailure?: boolean;\n\n  /**\n   * If true, if this is a creation of a child member and if the URI in the member already exists in another folder, the member is moved to the requested folder. If it is already a member of the requested folder, the request succeeds. The default value is false.\n   * @type {boolean}\n   * @memberof MemberApiCreateFolderMember\n   */\n  readonly forceMove?: boolean;\n\n  /**\n   * Member\n   * @type {MemberIn}\n   * @memberof MemberApiCreateFolderMember\n   */\n  readonly memberIn?: MemberIn;\n}\n\n/**\n * Request parameters for createHistory operation in MemberApi.\n * @export\n * @interface MemberApiCreateHistoryRequest\n */\nexport interface MemberApiCreateHistoryRequest {\n  /**\n   * The identifier of a specific history folder, or the delegate string: @myHistory.\n   * @type {string}\n   * @memberof MemberApiCreateHistory\n   */\n  readonly folderId: string;\n\n  /**\n   * If true, if the GET to retrieve the member metadata fails, abort the member creation. If false, the member creation succeeds regardless of the metadata retrieval status. The default value is false.\n   * @type {boolean}\n   * @memberof MemberApiCreateHistory\n   */\n  readonly abortOnMetadataFailure?: boolean;\n\n  /**\n   * Member\n   * @type {MemberIn}\n   * @memberof MemberApiCreateHistory\n   */\n  readonly memberIn?: MemberIn;\n}\n\n/**\n * Request parameters for deleteFolderMember operation in MemberApi.\n * @export\n * @interface MemberApiDeleteFolderMemberRequest\n */\nexport interface MemberApiDeleteFolderMemberRequest {\n  /**\n   * The identifier of a specific folder, or of one of the delegate strings @myFolder, @appDataFolder, @myHistory, @myFavorites, or @public.\n   * @type {string}\n   * @memberof MemberApiDeleteFolderMember\n   */\n  readonly folderId: string;\n\n  /**\n   * Member id.\n   * @type {string}\n   * @memberof MemberApiDeleteFolderMember\n   */\n  readonly memberId: string;\n}\n\n/**\n * Request parameters for getFolderMember operation in MemberApi.\n * @export\n * @interface MemberApiGetFolderMemberRequest\n */\nexport interface MemberApiGetFolderMemberRequest {\n  /**\n   * The identifier of a specific folder, or of one of the delegate strings @myFolder, @appDataFolder, @myHistory, @myFavorites, or @public.\n   * @type {string}\n   * @memberof MemberApiGetFolderMember\n   */\n  readonly folderId: string;\n\n  /**\n   * Member id.\n   * @type {string}\n   * @memberof MemberApiGetFolderMember\n   */\n  readonly memberId: string;\n}\n\n/**\n * Request parameters for getFolderMembers operation in MemberApi.\n * @export\n * @interface MemberApiGetFolderMembersRequest\n */\nexport interface MemberApiGetFolderMembersRequest {\n  /**\n   * The identifier of a specific folder, or of one of the delegate strings @myFolder, @appDataFolder, @myHistory, @myFavorites, or @public.\n   * @type {string}\n   * @memberof MemberApiGetFolderMembers\n   */\n  readonly folderId: string;\n\n  /**\n   * Offset of first member to return. The default value is 0.\n   * @type {number}\n   * @memberof MemberApiGetFolderMembers\n   */\n  readonly start?: number;\n\n  /**\n   * Maximum number of members to return. The default value is 20.\n   * @type {number}\n   * @memberof MemberApiGetFolderMembers\n   */\n  readonly limit?: number;\n\n  /**\n   * Filter criteria for returned members. See [Filtering in REST APIs](https://developer.sas.com/apis/rest/Topics/#filters). For example, you can filter for a member with a given name as a way to test if a folder already has a member with that name: &lt;code&gt;?filter&#x3D;eq(name, \\&#39;bobsyouruncle\\&#39;)&lt;/code&gt;\n   * @type {string}\n   * @memberof MemberApiGetFolderMembers\n   */\n  readonly filter?: string;\n\n  /**\n   * Sort returned collection of members. See [Sorting in REST APIs](https://developer.sas.com/apis/rest/Topics/#sorting). The member collection can be sorted by folders first by using sortBy&#x3D;eq(contentType,\\&#39;folder\\&#39;):descending Use :ascending to soft by folders last. Specifying sortBy&#x3D;eq(contentType,\\&#39;folder\\&#39;):descending,name:ascending,type:ascending sorts by folders first, then by name, then by type.\n   * @type {string}\n   * @memberof MemberApiGetFolderMembers\n   */\n  readonly sortBy?: string;\n\n  /**\n   * If true, the members of the requested folder, plus all of its descendants, are returned in a flat list (no order is guaranteed). Reference members that refer to folders are not followed unless the followReferences parameter is true. The default value of this parameter is false.\n   * @type {boolean}\n   * @memberof MemberApiGetFolderMembers\n   */\n  readonly recursive?: boolean;\n\n  /**\n   * If true, references to other folders are followed when returning the recursive list of members. If recursive is false, then the value of this parameter is meaningless. The default value of this parameter is false.\n   * @type {boolean}\n   * @memberof MemberApiGetFolderMembers\n   */\n  readonly followReferences?: boolean;\n\n  /**\n   * Enumerates the languages that the client prefers to use for the response. This can be used to provide localized data where available.\n   * @type {string}\n   * @memberof MemberApiGetFolderMembers\n   */\n  readonly acceptLanguage?: string;\n}\n\n/**\n * Request parameters for headersForFolderMember operation in MemberApi.\n * @export\n * @interface MemberApiHeadersForFolderMemberRequest\n */\nexport interface MemberApiHeadersForFolderMemberRequest {\n  /**\n   * The identifier of a specific folder, or of one of the delegate strings @myFolder, @appDataFolder, @myHistory, @myFavorites, or @public.\n   * @type {string}\n   * @memberof MemberApiHeadersForFolderMember\n   */\n  readonly folderId: string;\n\n  /**\n   * Member id.\n   * @type {string}\n   * @memberof MemberApiHeadersForFolderMember\n   */\n  readonly memberId: string;\n}\n\n/**\n * Request parameters for headersForFolderMembers operation in MemberApi.\n * @export\n * @interface MemberApiHeadersForFolderMembersRequest\n */\nexport interface MemberApiHeadersForFolderMembersRequest {\n  /**\n   * The identifier of a specific folder, or of one of the delegate strings @myFolder, @appDataFolder, @myHistory, @myFavorites, or @public.\n   * @type {string}\n   * @memberof MemberApiHeadersForFolderMembers\n   */\n  readonly folderId: string;\n\n  /**\n   * Offset of first member to return. The default value is 0.\n   * @type {number}\n   * @memberof MemberApiHeadersForFolderMembers\n   */\n  readonly start?: number;\n\n  /**\n   * Maximum number of members to return. The default value is 20.\n   * @type {number}\n   * @memberof MemberApiHeadersForFolderMembers\n   */\n  readonly limit?: number;\n\n  /**\n   * Filter criteria for returned members. See [Filtering in REST APIs](https://developer.sas.com/apis/rest/Topics/#filters). For example, you can filter for a member with a given name as a way to test if a folder already has a member with that name: &lt;code&gt;?filter&#x3D;eq(name, \\&#39;bobsyouruncle\\&#39;)&lt;/code&gt;\n   * @type {string}\n   * @memberof MemberApiHeadersForFolderMembers\n   */\n  readonly filter?: string;\n\n  /**\n   * Sort returned collection of members. See [Sorting in REST APIs](https://developer.sas.com/apis/rest/Topics/#sorting). The member collection can be sorted by folders first by using sortBy&#x3D;eq(contentType,\\&#39;folder\\&#39;):descending Use :ascending to soft by folders last. Specifying sortBy&#x3D;eq(contentType,\\&#39;folder\\&#39;):descending,name:ascending,type:ascending sorts by folders first, then by name, then by type.\n   * @type {string}\n   * @memberof MemberApiHeadersForFolderMembers\n   */\n  readonly sortBy?: string;\n\n  /**\n   * If true, the members of the requested folder, plus all of its descendants, are returned in a flat list (no order is guaranteed). Reference members that refer to folders are not followed unless the followReferences parameter is true. The default value of this parameter is false.\n   * @type {boolean}\n   * @memberof MemberApiHeadersForFolderMembers\n   */\n  readonly recursive?: boolean;\n\n  /**\n   * If true, references to other folders are followed when returning the recursive list of members. If recursive is false, then the value of this parameter is meaningless. The default value of this parameter is false.\n   * @type {boolean}\n   * @memberof MemberApiHeadersForFolderMembers\n   */\n  readonly followReferences?: boolean;\n\n  /**\n   * Enumerates the languages that the client prefers to use for the response. This can be used to provide localized data where available.\n   * @type {string}\n   * @memberof MemberApiHeadersForFolderMembers\n   */\n  readonly acceptLanguage?: string;\n}\n\n/**\n * Request parameters for patchFolderMember operation in MemberApi.\n * @export\n * @interface MemberApiPatchFolderMemberRequest\n */\nexport interface MemberApiPatchFolderMemberRequest {\n  /**\n   * The identifier of a specific folder, or of one of the delegate strings @myFolder, @appDataFolder, @myHistory, @myFavorites, or @public.\n   * @type {string}\n   * @memberof MemberApiPatchFolderMember\n   */\n  readonly folderId: string;\n\n  /**\n   * Member id.\n   * @type {string}\n   * @memberof MemberApiPatchFolderMember\n   */\n  readonly memberId: string;\n\n  /**\n   * The ETag that was returned from a GET, POST, or PUT of this folder.\n   * @type {string}\n   * @memberof MemberApiPatchFolderMember\n   */\n  readonly ifMatch?: string;\n\n  /**\n   * The value of the lastModified date of the folder. If the folder has been updated since this time, the update fails.\n   * @type {string}\n   * @memberof MemberApiPatchFolderMember\n   */\n  readonly ifUnmodifiedSince?: string;\n\n  /**\n   * Member\n   * @type {MemberIn}\n   * @memberof MemberApiPatchFolderMember\n   */\n  readonly memberIn?: MemberIn;\n}\n\n/**\n * Request parameters for updateFolderMember operation in MemberApi.\n * @export\n * @interface MemberApiUpdateFolderMemberRequest\n */\nexport interface MemberApiUpdateFolderMemberRequest {\n  /**\n   * The identifier of a specific folder, or of one of the delegate strings @myFolder, @appDataFolder, @myHistory, @myFavorites, or @public.\n   * @type {string}\n   * @memberof MemberApiUpdateFolderMember\n   */\n  readonly folderId: string;\n\n  /**\n   * Member id.\n   * @type {string}\n   * @memberof MemberApiUpdateFolderMember\n   */\n  readonly memberId: string;\n\n  /**\n   * The ETag that was returned from a GET, POST, or PUT of this folder.\n   * @type {string}\n   * @memberof MemberApiUpdateFolderMember\n   */\n  readonly ifMatch?: string;\n\n  /**\n   * The value of the lastModified date of the folder. If the folder has been updated since this time, the update fails.\n   * @type {string}\n   * @memberof MemberApiUpdateFolderMember\n   */\n  readonly ifUnmodifiedSince?: string;\n\n  /**\n   * Member\n   * @type {MemberIn}\n   * @memberof MemberApiUpdateFolderMember\n   */\n  readonly memberIn?: MemberIn;\n}\n\n/**\n * Request parameters for validateMemberName operation in MemberApi.\n * @export\n * @interface MemberApiValidateMemberNameRequest\n */\nexport interface MemberApiValidateMemberNameRequest {\n  /**\n   * The identifier of the folder whose members are to be checked. A value of @root indicates checking a root-level folder, and type must be folder.\n   * @type {string}\n   * @memberof MemberApiValidateMemberName\n   */\n  readonly folderId: string;\n\n  /**\n   * If a rename is being attempted, the identifier of the member being renamed. If a new member is being created, the @new placeholder is used.\n   * @type {string}\n   * @memberof MemberApiValidateMemberName\n   */\n  readonly memberId: string;\n\n  /**\n   * The name to be tested.\n   * @type {string}\n   * @memberof MemberApiValidateMemberName\n   */\n  readonly value: string;\n\n  /**\n   * The type of the member to be tested. Members of the same type have to be named uniquely, so both the new name and type are required.\n   * @type {string}\n   * @memberof MemberApiValidateMemberName\n   */\n  readonly type: string;\n\n  /**\n   * The Type definition name to test against. This must match exactly with the desired value. A null value is compared with null values in the repository.\n   * @type {string}\n   * @memberof MemberApiValidateMemberName\n   */\n  readonly typeDefName?: string;\n}\n\n/**\n * MetainfoApi - axios parameter creator\n * @export\n */\nexport const MetainfoApiAxiosParamCreator = function (\n  configuration?: Configuration,\n) {\n  return {\n    /**\n     * Get the ancestors of a set of URIs. Each URI is represented in the result as an Ancestor object.\n     * @summary Get ancestors for a list of resource URIs\n     * @param {Array<string>} requestBody The list of URIs for which to retrieve ancestry.\n     * @param {boolean} [allowPartialPath] Allow a partial path from the item if the user does not have access to all the folders in the path.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    createBulkAncestors: async (\n      requestBody: Array<string>,\n      allowPartialPath?: boolean,\n      options: AxiosRequestConfig = {},\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'requestBody' is not null or undefined\n      assertParamExists(\"createBulkAncestors\", \"requestBody\", requestBody);\n      const localVarPath = `/ancestors`;\n      // use dummy base URL string because the URL constructor only accepts absolute URLs.\n      const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n      let baseOptions;\n      if (configuration) {\n        baseOptions = configuration.baseOptions;\n      }\n\n      const localVarRequestOptions = {\n        method: \"POST\",\n        ...baseOptions,\n        ...options,\n      };\n      const localVarHeaderParameter = {} as any;\n      const localVarQueryParameter = {} as any;\n\n      if (allowPartialPath !== undefined) {\n        localVarQueryParameter[\"allowPartialPath\"] = allowPartialPath;\n      }\n\n      localVarHeaderParameter[\"Content-Type\"] = \"application/json\";\n\n      setSearchParams(localVarUrlObj, localVarQueryParameter);\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {};\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      };\n      localVarRequestOptions.data = serializeDataIfNeeded(\n        requestBody,\n        localVarRequestOptions,\n        configuration,\n      );\n\n      return {\n        url: toPathString(localVarUrlObj),\n        options: localVarRequestOptions,\n      };\n    },\n    /**\n     * Get the ancestors of a resource by URI as a flat list, ordered starting with the parent folder of the resource, and continuing up to the root folder.\n     * @summary Get a resource\\'s ancestors\n     * @param {string} childUri The URI of the target resource whose ancestry is desired.\n     * @param {boolean} [allowPartialPath] Allow a partial path from the item if the user does not have access to all the folders in the path.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    getAncestors: async (\n      childUri: string,\n      allowPartialPath?: boolean,\n      options: AxiosRequestConfig = {},\n    ): Promise<RequestArgs> => {\n      // verify required parameter 'childUri' is not null or undefined\n      assertParamExists(\"getAncestors\", \"childUri\", childUri);\n      const localVarPath = `/ancestors`;\n      // use dummy base URL string because the URL constructor only accepts absolute URLs.\n      const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n      let baseOptions;\n      if (configuration) {\n        baseOptions = configuration.baseOptions;\n      }\n\n      const localVarRequestOptions = {\n        method: \"GET\",\n        ...baseOptions,\n        ...options,\n      };\n      const localVarHeaderParameter = {} as any;\n      const localVarQueryParameter = {} as any;\n\n      if (childUri !== undefined) {\n        localVarQueryParameter[\"childUri\"] = childUri;\n      }\n\n      if (allowPartialPath !== undefined) {\n        localVarQueryParameter[\"allowPartialPath\"] = allowPartialPath;\n      }\n\n      setSearchParams(localVarUrlObj, localVarQueryParameter);\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {};\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      };\n\n      return {\n        url: toPathString(localVarUrlObj),\n        options: localVarRequestOptions,\n      };\n    },\n    /**\n     * Returns the set of delegates known to the folders service.\n     * @summary Get a list of known delegate-represented folders\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    getDelegateInfo: async (\n      options: AxiosRequestConfig = {},\n    ): Promise<RequestArgs> => {\n      const localVarPath = `/delegateInfo`;\n      // use dummy base URL string because the URL constructor only accepts absolute URLs.\n      const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n      let baseOptions;\n      if (configuration) {\n        baseOptions = configuration.baseOptions;\n      }\n\n      const localVarRequestOptions = {\n        method: \"GET\",\n        ...baseOptions,\n        ...options,\n      };\n      const localVarHeaderParameter = {} as any;\n      const localVarQueryParameter = {} as any;\n\n      setSearchParams(localVarUrlObj, localVarQueryParameter);\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {};\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      };\n\n      return {\n        url: toPathString(localVarUrlObj),\n        options: localVarRequestOptions,\n      };\n    },\n    /**\n     * Retrieves the list of folder types that are recognized by the folders service. Returns a collection of application/vnd.sas.content.folder.type+json objects.\n     * @summary Get a list of acceptable folder types\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    getFolderTypes: async (\n      options: AxiosRequestConfig = {},\n    ): Promise<RequestArgs> => {\n      const localVarPath = `/folderTypes`;\n      // use dummy base URL string because the URL constructor only accepts absolute URLs.\n      const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n      let baseOptions;\n      if (configuration) {\n        baseOptions = configuration.baseOptions;\n      }\n\n      const localVarRequestOptions = {\n        method: \"GET\",\n        ...baseOptions,\n        ...options,\n      };\n      const localVarHeaderParameter = {} as any;\n      const localVarQueryParameter = {} as any;\n\n      setSearchParams(localVarUrlObj, localVarQueryParameter);\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {};\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      };\n\n      return {\n        url: toPathString(localVarUrlObj),\n        options: localVarRequestOptions,\n      };\n    },\n  };\n};\n\n/**\n * MetainfoApi - functional programming interface\n * @export\n */\nexport const MetainfoApi = function (configuration?: Configuration) {\n  const localVarAxiosParamCreator = MetainfoApiAxiosParamCreator(configuration);\n  return {\n    /**\n     * Get the ancestors of a set of URIs. Each URI is represented in the result as an Ancestor object.\n     * @summary Get ancestors for a list of resource URIs\n     * @param {MetainfoApiCreateBulkAncestorsRequest} requestParameters Request parameters.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async createBulkAncestors(\n      requestParameters: MetainfoApiCreateBulkAncestorsRequest,\n      options?: AxiosRequestConfig,\n    ): Promise<AxiosResponse<AncestorCollection>> {\n      const localVarAxiosArgs =\n        await localVarAxiosParamCreator.createBulkAncestors(\n          requestParameters.requestBody,\n          requestParameters.allowPartialPath,\n          options,\n        );\n      return createRequestFunction(localVarAxiosArgs, configuration);\n    },\n\n    /**\n     * Get the ancestors of a resource by URI as a flat list, ordered starting with the parent folder of the resource, and continuing up to the root folder.\n     * @summary Get a resource\\'s ancestors\n     * @param {MetainfoApiGetAncestorsRequest} requestParameters Request parameters.\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async getAncestors(\n      requestParameters: MetainfoApiGetAncestorsRequest,\n      options?: AxiosRequestConfig,\n    ): Promise<AxiosResponse<Ancestor>> {\n      const localVarAxiosArgs = await localVarAxiosParamCreator.getAncestors(\n        requestParameters.childUri,\n        requestParameters.allowPartialPath,\n        options,\n      );\n      return createRequestFunction(localVarAxiosArgs, configuration);\n    },\n\n    /**\n     * Returns the set of delegates known to the folders service.\n     * @summary Get a list of known delegate-represented folders\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async getDelegateInfo(\n      options?: AxiosRequestConfig,\n    ): Promise<AxiosResponse<DelegateCollection>> {\n      const localVarAxiosArgs =\n        await localVarAxiosParamCreator.getDelegateInfo(options);\n      return createRequestFunction(localVarAxiosArgs, configuration);\n    },\n\n    /**\n     * Retrieves the list of folder types that are recognized by the folders service. Returns a collection of application/vnd.sas.content.folder.type+json objects.\n     * @summary Get a list of acceptable folder types\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async getFolderTypes(\n      options?: AxiosRequestConfig,\n    ): Promise<AxiosResponse<FolderTypeCollection>> {\n      const localVarAxiosArgs =\n        await localVarAxiosParamCreator.getFolderTypes(options);\n      return createRequestFunction(localVarAxiosArgs, configuration);\n    },\n  };\n};\n\n/**\n * Request parameters for createBulkAncestors operation in MetainfoApi.\n * @export\n * @interface MetainfoApiCreateBulkAncestorsRequest\n */\nexport interface MetainfoApiCreateBulkAncestorsRequest {\n  /**\n   * The list of URIs for which to retrieve ancestry.\n   * @type {Array<string>}\n   * @memberof MetainfoApiCreateBulkAncestors\n   */\n  readonly requestBody: Array<string>;\n\n  /**\n   * Allow a partial path from the item if the user does not have access to all the folders in the path.\n   * @type {boolean}\n   * @memberof MetainfoApiCreateBulkAncestors\n   */\n  readonly allowPartialPath?: boolean;\n}\n\n/**\n * Request parameters for getAncestors operation in MetainfoApi.\n * @export\n * @interface MetainfoApiGetAncestorsRequest\n */\nexport interface MetainfoApiGetAncestorsRequest {\n  /**\n   * The URI of the target resource whose ancestry is desired.\n   * @type {string}\n   * @memberof MetainfoApiGetAncestors\n   */\n  readonly childUri: string;\n\n  /**\n   * Allow a partial path from the item if the user does not have access to all the folders in the path.\n   * @type {boolean}\n   * @memberof MetainfoApiGetAncestors\n   */\n  readonly allowPartialPath?: boolean;\n}\n\n/**\n * RootApi - axios parameter creator\n * @export\n */\nexport const RootApiAxiosParamCreator = function (\n  configuration?: Configuration,\n) {\n  return {\n    /**\n     * Returns a list of links to the top-level collections surfaced through this API. These top-level links include /folders and /ancestors.\n     * @summary Get a list of top-level links\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    root: async (options: AxiosRequestConfig = {}): Promise<RequestArgs> => {\n      const localVarPath = `/`;\n      // use dummy base URL string because the URL constructor only accepts absolute URLs.\n      const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n      let baseOptions;\n      if (configuration) {\n        baseOptions = configuration.baseOptions;\n      }\n\n      const localVarRequestOptions = {\n        method: \"GET\",\n        ...baseOptions,\n        ...options,\n      };\n      const localVarHeaderParameter = {} as any;\n      const localVarQueryParameter = {} as any;\n\n      setSearchParams(localVarUrlObj, localVarQueryParameter);\n      let headersFromBaseOptions =\n        baseOptions && baseOptions.headers ? baseOptions.headers : {};\n      localVarRequestOptions.headers = {\n        ...localVarHeaderParameter,\n        ...headersFromBaseOptions,\n        ...options.headers,\n      };\n\n      return {\n        url: toPathString(localVarUrlObj),\n        options: localVarRequestOptions,\n      };\n    },\n  };\n};\n\n/**\n * RootApi - functional programming interface\n * @export\n */\nexport const RootApi = function (configuration?: Configuration) {\n  const localVarAxiosParamCreator = RootApiAxiosParamCreator(configuration);\n  return {\n    /**\n     * Returns a list of links to the top-level collections surfaced through this API. These top-level links include /folders and /ancestors.\n     * @summary Get a list of top-level links\n     * @param {*} [options] Override http request option.\n     * @throws {RequiredError}\n     */\n    async root(\n      options?: AxiosRequestConfig,\n    ): Promise<AxiosResponse<FolderCollection>> {\n      const localVarAxiosArgs = await localVarAxiosParamCreator.root(options);\n      return createRequestFunction(localVarAxiosArgs, configuration);\n    },\n  };\n};\n"
  },
  {
    "path": "client/src/connection/rest/auth.ts",
    "content": "// Copyright © 2022-2023, SAS Institute Inc., Cary, NC, USA.  All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { CancellationTokenSource, Uri, env, l10n, window } from \"vscode\";\n\nimport axios from \"axios\";\nimport { createHash } from \"crypto\";\nimport { URLSearchParams } from \"url\";\n\nimport { Config } from \".\";\nimport { RootApi } from \"./api/compute\";\nimport { Configuration } from \"./api/configuration\";\n\ninterface Tokens {\n  access_token: string;\n  refresh_token: string;\n}\n\nexport async function refreshToken(\n  config: Config,\n  tokens: Tokens,\n): Promise<Tokens | undefined> {\n  const clientId = config.clientId || \"vscode\";\n  const clientSecret = config.clientSecret ?? \"\";\n  const rootApi = RootApi(\n    new Configuration({\n      basePath: config.endpoint + \"/compute\",\n      accessToken: tokens.access_token,\n    }),\n  );\n  await rootApi.headersForRoot().catch((err) => {\n    if (err.response?.status === 401) {\n      // token expired, try refresh token\n      return axios\n        .post(\n          `${config.endpoint}/SASLogon/oauth/token`,\n          new URLSearchParams({\n            client_id: clientId,\n            client_secret: clientSecret,\n            grant_type: \"refresh_token\",\n            refresh_token: tokens?.refresh_token,\n          }).toString(),\n        )\n        .then(\n          (res) => {\n            tokens = res.data;\n          },\n          () => {\n            // refresh token failed, has to login again\n            tokens = undefined;\n          },\n        );\n    }\n    throw err;\n  });\n\n  return tokens;\n}\n\nexport async function getTokens(\n  config: Config,\n  tokens?: Tokens,\n): Promise<Tokens> {\n  const clientId = config.clientId || \"vscode\";\n  const clientSecret = config.clientSecret ?? \"\";\n\n  const { codeVerifier, codeChallenge } = getPKCE();\n\n  const callbackUrl = await env.asExternalUri(\n    Uri.parse(`${env.uriScheme}://sas.sas-lsp`),\n  );\n\n  const params = new URLSearchParams([\n    [\"client_id\", clientId],\n    [\"response_type\", \"code\"],\n    [\"code_challenge_method\", \"S256\"],\n    [\"code_challenge\", codeChallenge],\n    [\"state\", encodeURIComponent(callbackUrl.toString(true))],\n  ]);\n  await env.openExternal(\n    Uri.parse(\n      `${config.endpoint}/SASLogon/oauth/authorize?${params.toString()}`,\n    ),\n  );\n\n  const cancellationToken = new CancellationTokenSource();\n  let authCode: string;\n  const handler = window.registerUriHandler({\n    handleUri: (uri) => {\n      const code = new URLSearchParams(uri.query).get(\"code\");\n      if (code) {\n        authCode = code;\n        cancellationToken.cancel();\n      }\n    },\n  });\n  const inputCode = await window.showInputBox(\n    {\n      placeHolder: l10n.t(\"Paste authorization code here\"),\n      password: true,\n      ignoreFocusOut: true,\n    },\n    cancellationToken.token,\n  );\n  handler.dispose();\n  if (!authCode && inputCode) {\n    authCode = inputCode;\n  }\n  if (!authCode) {\n    throw new Error(l10n.t(\"No authorization code\"));\n  }\n\n  tokens = (\n    await axios.post(\n      `${config.endpoint}/SASLogon/oauth/token`,\n      new URLSearchParams({\n        client_id: clientId,\n        client_secret: clientSecret,\n        grant_type: \"authorization_code\",\n        code: authCode,\n        code_verifier: codeVerifier,\n      }).toString(),\n    )\n  ).data;\n  return tokens;\n}\n\nfunction getPKCE() {\n  // Refers to https://www.rfc-editor.org/rfc/rfc7636\n  const LENGTH = 128;\n  const possible =\n    \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-._~\";\n  let codeVerifier = \"\";\n  for (let i = 0; i < LENGTH; i++) {\n    codeVerifier += possible.charAt(\n      Math.floor(Math.random() * possible.length),\n    );\n  }\n  const codeChallenge = createHash(\"sha256\")\n    .update(codeVerifier)\n    .digest(\"base64\")\n    .replace(/=/g, \"\")\n    .replace(/\\+/g, \"-\")\n    .replace(/\\//g, \"_\");\n  return { codeVerifier, codeChallenge };\n}\n"
  },
  {
    "path": "client/src/connection/rest/common.ts",
    "content": "// Copyright © 2022, SAS Institute Inc., Cary, NC, USA.  All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { AxiosRequestConfig, AxiosResponse } from \"axios\";\nimport {\n  format as formatMediaType,\n  parse as parseMediaType,\n} from \"media-typer\";\n\nimport { RequestArgs, createRequestFunction } from \"./api/common\";\nimport { Link } from \"./api/compute\";\nimport { Configuration } from \"./api/configuration\";\n\n/**\n * States that can be on a Job or Session\n */\nexport enum ComputeState {\n  Error = \"error\",\n  Canceled = \"canceled\",\n  Done = \"done\",\n  Warning = \"warning\",\n  Completed = \"completed\",\n  Running = \"running\",\n  Pending = \"pending\",\n  Idle = \"idle\",\n}\n\nexport interface stateOptions {\n  onChange?: boolean;\n  wait?: number;\n}\n\nexport interface BaseCompute {\n  links?: Array<Link>;\n}\n\n//global api config\nconst apiConfig = new Configuration({ baseOptions: {} });\n\nexport function getApiConfig(): Configuration {\n  return apiConfig;\n}\n\nexport function computeMediaType(type: string): string {\n  const parsed = parseMediaType(type);\n  if (\n    parsed.type === \"application\" &&\n    parsed.subtype?.startsWith(\"vnd.sas\") &&\n    parsed.suffix === undefined\n  ) {\n    parsed.suffix = \"json\";\n    return formatMediaType(parsed);\n  }\n  return type;\n}\n\n/**\n * Base class for compute like objects\n */\nexport class Compute {\n  etag: string;\n\n  async self<T>(): Promise<T> {\n    throw new Error(\"Not implemented\");\n  }\n\n  //Shortcut function to get a link by its name\n  getLink(links: Array<Link>, rel: string): Link | undefined {\n    return links.find((link: Link) => link.rel === rel);\n  }\n\n  /*\n  Get the options for a link\n  This sets the URL, accept/content-type headers as well as the Method and \n  etag headers if needed\n  */\n  getLinkOptions(link: Link, options?: AxiosRequestConfig): RequestArgs {\n    const headers = options ? { ...options?.headers } : {};\n\n    if (link.method === \"POST\") {\n      if (link.type !== undefined) {\n        headers[\"Content-Type\"] = computeMediaType(link.type);\n      }\n      if (link.responseType !== undefined) {\n        headers.Accept = computeMediaType(link.responseType);\n      }\n    } else if (link.method === \"PUT\") {\n      if (link.type !== undefined) {\n        headers[\"Content-Type\"] = computeMediaType(link.type);\n      }\n      if (link.responseType !== undefined) {\n        headers.Accept = computeMediaType(link.responseType);\n      }\n      if (this.etag !== undefined) {\n        headers[\"If-Match\"] = this.etag;\n      }\n    } else if (link.method === \"DELETE\") {\n      if (this.etag !== undefined) {\n        headers[\"If-Match\"] = this.etag;\n      }\n    } else if (link.type !== undefined) {\n      headers.Accept = computeMediaType(link.type);\n    }\n\n    //The link must have an href\n    if (!link.href) {\n      throw new Error();\n    }\n\n    //Take the optional options given and merge in the link options\n    const processedConfig: AxiosRequestConfig = {\n      ...options,\n      headers: headers,\n      method: link.method,\n      url: link.href,\n    };\n\n    //TODO: We should not have to remove the /compute from the link\n    return { url: link.href.replace(\"/compute\", \"\"), options: processedConfig };\n  }\n\n  /*\n  Make a request via a link\n  */\n  async requestLink<T>(\n    link: Link,\n    options?: AxiosRequestConfig,\n  ): Promise<AxiosResponse<T>> {\n    const apiConfig = getApiConfig();\n\n    /*\n    Ideally we would use the base options as the root, and overwrite any \n    options coming in on the function call. Right now the only option we\n    are looking at in base options is headers, but I dont know a way\n    to \"merge\" intefaces in typescipt.\n    */\n    const processedConfig: AxiosRequestConfig = {\n      ...options,\n      headers: {\n        ...apiConfig.baseOptions?.headers,\n        ...options?.headers,\n      },\n    };\n\n    const linkOptions = this.getLinkOptions(link, processedConfig);\n\n    return createRequestFunction<T>(linkOptions, apiConfig);\n  }\n}\n"
  },
  {
    "path": "client/src/connection/rest/context.ts",
    "content": "// Copyright © 2022, SAS Institute Inc., Cary, NC, USA.  All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { l10n } from \"vscode\";\n\nimport axios, { AxiosResponse } from \"axios\";\n\nimport {\n  Context,\n  ContextSummary,\n  ContextsApi,\n  Link,\n  SessionRequest,\n} from \"./api/compute\";\nimport { BaseCompute, Compute, getApiConfig } from \"./common\";\nimport { ComputeSession } from \"./session\";\n\nexport class ComputeContext extends Compute {\n  api;\n  _self: Context | (ContextSummary & BaseCompute);\n\n  constructor(id: string, name: string, launchType: string) {\n    super();\n\n    this._self = { id, name, launchType, launchContext: {} };\n\n    this.api = ContextsApi(getApiConfig());\n  }\n\n  static fromInterface(context: Context | ContextSummary): ComputeContext {\n    const ctx = new ComputeContext(\"\", \"\", \"\");\n    ctx._self = context;\n    return ctx;\n  }\n\n  static fromResponse(response: AxiosResponse): ComputeContext {\n    const ctx = ComputeContext.fromInterface(response.data);\n    ctx.etag = response.headers.etag;\n    return ctx;\n  }\n\n  static async getContextByName(name: string): Promise<ComputeContext> {\n    const contextsApi = ContextsApi(getApiConfig());\n    const context = (\n      await contextsApi.getContexts({\n        filter: `eq(name,'${name}')`,\n      })\n    ).data.items[0];\n    if (!context?.id) {\n      throw new Error(l10n.t(\"Compute Context not found: {name}\", { name }));\n    }\n\n    return ComputeContext.fromInterface(context);\n  }\n\n  get id(): string {\n    return this._self?.id || \"\";\n  }\n\n  get links(): Array<Link> {\n    return this._self?.links || [];\n  }\n\n  async self<Context>(): Promise<Context> {\n    if (this._self.id === undefined) {\n      throw new Error(l10n.t(\"Cannot call self on object with no id\"));\n    }\n\n    throw new Error(l10n.t(\"Not implemented\"));\n  }\n\n  async createSession(): Promise<ComputeSession> {\n    if (this._self.links === undefined) {\n      await this.self();\n    }\n\n    const link = this.getLink(this.links, \"createSession\");\n    if (link === undefined) {\n      throw new Error(l10n.t(\"Server does not have createSession link\"));\n    }\n\n    //Create the session\n    const body: SessionRequest = {\n      version: 1,\n      name: \"mysess\",\n      description: \"This is a session\",\n      attributes: {},\n      environment: {\n        options: [\"-validmemname EXTEND\", \"-validvarname ANY\"],\n        autoExecLines: [],\n      },\n    };\n\n    const options = this.getLinkOptions(link, { data: body });\n\n    let resp: AxiosResponse;\n    try {\n      resp = await this.requestLink(link, options);\n    } catch (error) {\n      if (axios.isAxiosError(error)) {\n        throw new Error(error.message);\n      }\n    }\n\n    //Create the session from the http resposne\n    return ComputeSession.fromResponse(resp);\n  }\n}\n"
  },
  {
    "path": "client/src/connection/rest/identities.ts",
    "content": "// Copyright © 2023, SAS Institute Inc., Cary, NC, USA.  All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport axios from \"axios\";\n\nexport interface User {\n  id: string;\n  name: string;\n}\n\n// It's used by AuthProvider before a new authentication session returned\n// So has to pass access token mannually\nexport async function getCurrentUser(options: {\n  endpoint: string;\n  accessToken: string;\n}) {\n  return (\n    await axios\n      .create({\n        baseURL: options.endpoint,\n        headers: {\n          Authorization: \"Bearer \" + options.accessToken,\n        },\n      })\n      .get<User>(\"/identities/users/@currentUser\")\n  ).data;\n}\n"
  },
  {
    "path": "client/src/connection/rest/index.ts",
    "content": "// Copyright © 2022-2024, SAS Institute Inc., Cary, NC, USA.  All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { authentication, l10n } from \"vscode\";\n\nimport { BaseConfig, RunResult } from \"..\";\nimport { SASAuthProvider } from \"../../components/AuthProvider\";\nimport {\n  getContextValue,\n  setContextValue,\n} from \"../../components/ExtensionContext\";\nimport { updateStatusBarItem } from \"../../components/StatusBarItem\";\nimport { Session, SessionContextAttributes } from \"../session\";\nimport { Context, ContextsApi, SessionsApi } from \"./api/compute\";\nimport { ComputeState, getApiConfig } from \"./common\";\nimport { ComputeJob } from \"./job\";\nimport { ComputeServer } from \"./server\";\nimport { ComputeSession } from \"./session\";\n\nlet sessionInstance: RestSession;\n\nexport interface Config extends BaseConfig {\n  endpoint: string;\n  clientId?: string;\n  clientSecret?: string;\n  context?: string;\n  serverId?: string;\n  reconnect?: boolean;\n}\n\nclass RestSession extends Session {\n  private _config: Config;\n  private _computeSession: ComputeSession | undefined;\n  private _cachedContext: Context | undefined;\n\n  constructor() {\n    super();\n  }\n\n  public set config(value: Config) {\n    this._config = value;\n  }\n\n  public async contextAttributes(): Promise<SessionContextAttributes> {\n    const context = await this.getContext();\n    // eslint-disable-next-line @typescript-eslint/consistent-type-assertions\n    return context.attributes as SessionContextAttributes;\n  }\n\n  public async getContext() {\n    const contextName =\n      this._config.context || \"SAS Job Execution compute context\";\n    if (this._cachedContext && this._cachedContext.name === contextName) {\n      return this._cachedContext;\n    }\n    const contextsApi = ContextsApi(getApiConfig());\n    const context = (\n      await contextsApi.getContexts({\n        filter: `eq(name,'${contextName}')`,\n      })\n    ).data.items[0];\n    if (!context?.id) {\n      throw new Error(\n        l10n.t(\"Compute Context not found: {name}\", { name: contextName }),\n      );\n    }\n\n    // Lets use the id to get context details\n    const contextResponse = await contextsApi.getContext({\n      contextId: context.id,\n    });\n\n    // eslint-disable-next-line @typescript-eslint/consistent-type-assertions\n    this._cachedContext = contextResponse.data || (context as Context);\n\n    return this._cachedContext;\n  }\n\n  protected establishConnection = async (): Promise<void> => {\n    const apiConfig = getApiConfig();\n    let formattedOpts: string[] = [];\n    const autoExecLines = this._config.autoExecLines || [];\n\n    if (this._config.sasOptions) {\n      formattedOpts = this.formatSASOptions();\n    }\n\n    if (!this._config.serverId) {\n      const session = await authentication.getSession(SASAuthProvider.id, [], {\n        createIfNone: true,\n      });\n      apiConfig.accessToken = session.accessToken;\n    }\n\n    if (this._computeSession && this._computeSession.sessionId) {\n      const state = await this._computeSession\n        .getState()\n        .catch(() => (this._computeSession = undefined));\n      if (state === ComputeState.Error) {\n        await this._computeSession.cancel();\n      } else if (this._computeSession !== undefined) {\n        //This might look weird, but I dont know how to detect the session being in\n        //syntax check mode right now so we need to send the cancel every time to make\n        //sure the session is in a good state.\n        await this._computeSession.cancel();\n      }\n    }\n\n    if (this._computeSession) {\n      return;\n    }\n\n    //Set the locale in the base options so it appears on all api calls\n    let locale = JSON.parse(process.env.VSCODE_NLS_CONFIG ?? \"{}\").locale;\n    if (locale === \"qps-ploc\") {\n      // VS Code's pseudo locale, not supported in Viya server\n      locale = \"en\";\n    }\n    apiConfig.baseOptions.headers = { \"Accept-Language\": locale };\n\n    //Check to see if we can reconnect to a session first\n    this._computeSession = await this.reconnectComputeSession();\n    if (this._computeSession) {\n      //reconnected to a running session, so just return\n      await this.printSessionLog(this._computeSession);\n      updateStatusBarItem(true);\n      return;\n    }\n\n    //Start a new session\n    if (this._config.serverId) {\n      const server1 = new ComputeServer(this._config.serverId);\n      server1.options = formattedOpts;\n      server1.autoExecLines = this._config.autoExecLines;\n      this._computeSession = await server1.getSession();\n\n      //Maybe wait for session to be initialized?\n    } else {\n      const contextsApi = ContextsApi(apiConfig);\n      const context = await this.getContext();\n\n      //Create session from context\n      const sess = (\n        await contextsApi.createSession(\n          {\n            contextId: context.id,\n            sessionRequest: {\n              environment: {\n                options: [...formattedOpts],\n                autoExecLines: [...autoExecLines],\n              },\n            },\n          },\n          { headers: { \"accept-language\": locale } },\n        )\n      ).data;\n      this._computeSession = ComputeSession.fromInterface(sess);\n    }\n\n    await this.printSessionLog(this._computeSession);\n\n    //Save the current sessionId\n    setContextValue(\"SAS.sessionId\", this._computeSession.sessionId);\n    updateStatusBarItem(true);\n  };\n\n  protected _run = async (code: string, ...args) => {\n    if (!this._computeSession?.sessionId) {\n      throw new Error();\n    }\n\n    //Check the args for extra information\n    const variables: { [key: string]: string } = {};\n\n    //If baseDirectory is passed in, use it as a sas variable\n    const runArgs = args[0] || {};\n    const basePath = runArgs.baseDirectory || undefined;\n    if (basePath) {\n      variables._SASPROGRAMDIR = basePath;\n    }\n\n    //Get the job\n    const job = await this._computeSession.execute({\n      code: [code],\n      variables: variables,\n    });\n\n    //Clear out the logs\n    await this.printJobLog(job);\n    //Now get the results\n    const results = await job.results();\n\n    const res: RunResult = {\n      html5: \"\",\n      title: \"\",\n    };\n\n    /*\n      We can return more than just html, but for right now we are only returning\n      the last HTML file that we get.\n      The last one is returned so that the one created from the vscode injected ods statement is\n      always returned.\n    */\n    for (const result of results.reverse()) {\n      const link = result.links[0];\n      if (link?.type === \"text/html\") {\n        const html5 = (await job.requestLink<string>(link)).data;\n\n        //Make sure that the html has a valid body\n        if (html5.search('<*id=\"IDX*.+\">') !== -1) {\n          res.html5 = html5;\n          res.title = result.name;\n        }\n\n        break;\n      }\n    }\n\n    return res;\n  };\n\n  protected _close = async () => {\n    this._cachedContext = undefined;\n    if (this.sessionId()) {\n      this._computeSession.delete();\n      this._computeSession = undefined;\n\n      //Since the session is being closed, remove the cached session id\n      setContextValue(\"SAS.sessionId\", undefined);\n      updateStatusBarItem(false);\n    }\n  };\n\n  public sessionId = (): string => {\n    return this._computeSession && this._computeSession.sessionId;\n  };\n\n  public cancel = async (): Promise<void> => {\n    this._cachedContext = undefined;\n    if (this._computeSession) {\n      await this._computeSession.self();\n      await this._computeSession.cancel();\n    }\n  };\n\n  /**\n   * Formats the connection profile sasOptions into a format that the compute\n   * API can understand.\n   *\n   * Examples:\n   *\n   * ```\n   * [\"-PAGESIZE=MAX\"] -> [\"-PAGESIZE MAX\"]\n   * [\"-NOTERMINAL\"] -> [\"-NOTERMINAL\"]\n   * ```\n   *\n   * @returns formatted SAS Options\n   */\n  private formatSASOptions = (): string[] => {\n    const formattedOpts = this._config.sasOptions.map((opt) => {\n      let formatted = opt;\n      formatted = formatted.replace(/=/gi, \" \");\n      return formatted;\n    });\n    return formattedOpts;\n  };\n\n  private reconnectComputeSession = async (): Promise<ComputeSession> => {\n    let session: ComputeSession = undefined;\n\n    if (!this._config.reconnect) {\n      return undefined;\n    }\n\n    //Grab the sessionId\n    const sessionId: string = await getContextValue(\"SAS.sessionId\");\n\n    if (sessionId === undefined) {\n      //No sessionId in the cache means nothing to reconnect to\n      return undefined;\n    }\n\n    //At this point a sessionId was retrieved, so try and re-connect\n\n    if (this._config.serverId) {\n      const computeServer = new ComputeServer(this._config.serverId);\n\n      try {\n        session = await computeServer.getSession(sessionId);\n        // eslint-disable-next-line @typescript-eslint/no-unused-vars\n      } catch (error) {\n        console.log(\n          `Attempt to reconnect to session ${sessionId} failed. A new session will be started`,\n        );\n      }\n    } else {\n      const apiConfig = getApiConfig();\n      const sessions = SessionsApi(apiConfig);\n\n      try {\n        const mySession = (await sessions.getSession({ sessionId: sessionId }))\n          .data;\n        session = ComputeSession.fromInterface(mySession);\n        // eslint-disable-next-line @typescript-eslint/no-unused-vars\n      } catch (error) {\n        console.log(\n          `Attempt to reconnect to session ${sessionId} failed. A new session will be started`,\n        );\n      }\n    }\n\n    if (session === undefined) {\n      //If we tried to reconnect and failed, set the cached sessionId to undefined\n      setContextValue(\"SAS.sessionId\", undefined);\n    }\n\n    return session;\n  };\n\n  /**\n   * Prints the job log in an async manner.\n   * @param job a job id to print logs for.\n   */\n  private printJobLog = async (job: ComputeJob) => {\n    const logs = job.getLogStream();\n    for await (const log of logs) {\n      if (log?.length > 0) {\n        this._onExecutionLogFn(log);\n      }\n    }\n  };\n\n  /**\n   * Prints the session log in an async manner.\n   * @param session a session id to print logs for.\n   */\n  private printSessionLog = async (session: ComputeSession) => {\n    const logs = await session.getLogStream();\n    for await (const log of logs) {\n      if (log?.length > 0 && this._onSessionLogFn) {\n        this._onSessionLogFn(log);\n      }\n    }\n  };\n}\n\nexport function getSession(c: Config): Session {\n  getApiConfig().basePath = c.endpoint + \"/compute\";\n\n  if (!sessionInstance) {\n    sessionInstance = new RestSession();\n  }\n  sessionInstance.config = c;\n\n  return sessionInstance;\n}\n"
  },
  {
    "path": "client/src/connection/rest/job.ts",
    "content": "// Copyright © 2022, SAS Institute Inc., Cary, NC, USA.  All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { l10n } from \"vscode\";\n\nimport { AxiosRequestConfig, AxiosResponse } from \"axios\";\n\nimport { throttle } from \"../../components/utils/throttle\";\nimport {\n  Job,\n  JobsApi,\n  JobsApiGetJobStateRequest,\n  Link,\n  LogLine,\n  LogsApi,\n  Result,\n  ResultCollection,\n} from \"./api/compute\";\nimport { Compute, getApiConfig, stateOptions } from \"./common\";\n\nexport class ComputeJob extends Compute {\n  api: ReturnType<typeof JobsApi>;\n  logs: ReturnType<typeof LogsApi>;\n  _self: Job;\n\n  constructor(id: string) {\n    super();\n\n    //set the id\n    this._self = { id: id };\n\n    //Get the apis I need\n    this.api = JobsApi(getApiConfig());\n    this.logs = LogsApi(getApiConfig());\n  }\n\n  get id(): string {\n    return this._self?.id || \"\";\n  }\n\n  static fromInterface(job: Job): ComputeJob {\n    const obj = new ComputeJob(\"\");\n    obj._self = job;\n    return obj;\n  }\n\n  static fromResponse(response: AxiosResponse): ComputeJob {\n    const obj = ComputeJob.fromInterface(response.data);\n    obj.etag = response.headers.etag;\n    return obj;\n  }\n\n  async followLink<T>(\n    linkName: string,\n    options?: AxiosRequestConfig,\n  ): Promise<AxiosResponse<T>> {\n    if (this._self.links === undefined) {\n      await this.self();\n    }\n    const link = this.getLink(this._self.links, linkName);\n    if (link === undefined) {\n      throw new Error(\n        l10n.t(\"Job does not have '{linkName}' link\", {\n          linkName,\n        }),\n      );\n    }\n\n    return await this.requestLink(link, options);\n  }\n\n  async getState(options?: stateOptions): Promise<string> {\n    const parms: JobsApiGetJobStateRequest = {\n      sessionId: this._self.sessionId,\n      jobId: this.id,\n      wait: options?.wait,\n      ifNoneMatch: options?.onChange ? this.etag : undefined,\n    };\n\n    const resp = await this.api.getJobState(parms, {\n      validateStatus: (status) => {\n        return status >= 200 && status < 400;\n      },\n    });\n    if (resp.status === 200) {\n      //Set the new etag\n      this.etag = resp.headers.etag;\n\n      //return the state\n      return resp.data;\n    } else if (resp.status === 304) {\n      //Not modified\n      return await this.getState(); //This is bad. We need to cache the last state value\n    } else {\n      throw new Error(l10n.t(\"Something went wrong\"));\n    }\n  }\n\n  //Get the job log as a stream.\n  async *getLogStream(options?: {\n    timeout?: number;\n  }): AsyncGenerator<LogLine[]> {\n    let state = await this.getState();\n    const timeout = options?.timeout ?? 10;\n    let start = 0;\n\n    const states = [\"done\", \"canceled\", \"error\", \"warning\", \"completed\"];\n\n    while (states.indexOf(state) === -1) {\n      //Get a log page\n      const resp = await this.logs.getJobLog({\n        sessionId: this._self.sessionId,\n        jobId: this.id,\n        start: start,\n        timeout: timeout,\n      });\n\n      if (resp.status === 200) {\n        const items = resp.data.items;\n        const num = items.length;\n\n        yield items;\n\n        //increase start location\n        start += num;\n\n        //get new state\n        state = await this.getState();\n      } else {\n        break;\n      }\n    }\n\n    //There is a chance that the job ended between our last read and now.\n    //Need to make sure we clear out the log\n\n    let nextLink: Link = undefined;\n    let resp = await this.logs.getJobLog({\n      sessionId: this._self.sessionId,\n      jobId: this.id,\n      start: start,\n      timeout: timeout,\n    });\n\n    //To clear out the log, we yield all lines until there is not \"next\" link\n    do {\n      if (resp.status === 200) {\n        nextLink = resp.data.links?.find((link) => link.rel === \"next\");\n        const items = resp.data.items;\n        yield items;\n\n        if (nextLink) {\n          resp = await this.requestLink(nextLink);\n        }\n      } else {\n        break;\n      }\n    } while (nextLink !== undefined);\n  }\n\n  /*\n  Check to see if the job is done.\n  Done is defined as the job having run to some sort of completed state\n  ie. the job stopped because it finished executing or is was stopped\n  due to an error or other signal.\n  */\n  async isDone(state?: string): Promise<boolean> {\n    const doneStates = [\"done\", \"canceled\", \"error\", \"warning\", \"completed\"];\n\n    return doneStates.indexOf(state || (await this.getState())) === -1;\n  }\n\n  /*\n  Return job results\n  */\n  async results(type?: string): Promise<Result[]> {\n    const link = this.getLink(this._self.links, \"results\");\n    const resp = await this.requestLink<ResultCollection>(link, {\n      params: {\n        filter: `eq(type,${type ?? \"ODS\"})`,\n      },\n    });\n    const count = resp.data.count;\n    const limit = resp.data.limit;\n    if (count <= limit) {\n      return resp.data.items;\n    }\n\n    // get all pages\n    const requests: Array<() => Promise<AxiosResponse<ResultCollection>>> = [];\n    for (let i = limit; i < count; i += limit) {\n      requests.push(() =>\n        this.requestLink<ResultCollection>(link, {\n          params: {\n            filter: `eq(type,${type ?? \"ODS\"})`,\n            start: i,\n            limit,\n          },\n        }),\n      );\n    }\n    const results = await throttle(requests, 3);\n    return results.reduce(\n      (prev, resp) => prev.concat(resp.data.items),\n      resp.data.items,\n    );\n  }\n}\n"
  },
  {
    "path": "client/src/connection/rest/server.ts",
    "content": "// Copyright © 2022, SAS Institute Inc., Cary, NC, USA.  All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { l10n } from \"vscode\";\n\nimport { AxiosResponse } from \"axios\";\n\nimport { Link, Server, ServersApi, SessionRequest } from \"./api/compute\";\nimport { BaseCompute, Compute, getApiConfig, stateOptions } from \"./common\";\nimport { ComputeSession } from \"./session\";\n\nconst DEFAULT_COMPUTE_OPTS = [\"-validmemname EXTEND\", \"-validvarname ANY\"];\n\nexport class ComputeServer extends Compute {\n  api;\n  _self: Server & BaseCompute;\n  _options?: string[];\n  _autoExecLines?: string[];\n\n  constructor(id: string) {\n    super();\n\n    this._self = { id: id };\n\n    this.api = ServersApi(getApiConfig());\n  }\n\n  get id(): string {\n    return this._self?.id || \"\";\n  }\n\n  get links(): Array<Link> {\n    return this._self?.links || [];\n  }\n\n  set options(value: string[]) {\n    this._options = value;\n  }\n\n  set autoExecLines(value: string[]) {\n    this._autoExecLines = value;\n  }\n\n  static fromInterface(server: Server): ComputeServer {\n    const _server = new ComputeServer(\"\");\n    _server._self = server;\n    return _server;\n  }\n\n  static fromResponse(response: AxiosResponse): ComputeServer {\n    const _server = ComputeServer.fromInterface(response.data);\n    _server.etag = response.headers.etag;\n    return _server;\n  }\n\n  async self<Server>(): Promise<Server> {\n    if (this._self.id === undefined) {\n      throw new Error(l10n.t(\"Cannot call self on object with no id\"));\n    }\n\n    const res = await this.api.getServer({ serverId: this.id });\n    if (res.status === 200) {\n      this._self = res.data;\n      this.etag = res.headers.etag;\n      return res.data;\n    } else {\n      throw new Error(\n        l10n.t(\"Error getting server with ID {id} - {message}\", {\n          id: this.id,\n          message: res.message,\n        }),\n      );\n    }\n  }\n\n  async createSession(): Promise<ComputeSession> {\n    if (this._self.links === undefined) {\n      await this.self();\n    }\n\n    const link = this.getLink(this.links, \"createSession\");\n    if (link === undefined) {\n      throw new Error(l10n.t(\"Server does not have createSession link\"));\n    }\n\n    //Create the session\n    const body: SessionRequest = {\n      version: 1,\n      name: \"mysess\",\n      description: \"This is a session\",\n      attributes: {},\n      environment: {\n        options: [...DEFAULT_COMPUTE_OPTS, ...this._options],\n        autoExecLines: this._autoExecLines || [],\n      },\n    };\n\n    const resp = await this.requestLink(link, { data: body });\n\n    //Create the session from the http resposne\n    const session = ComputeSession.fromResponse(resp);\n    return session;\n  }\n\n  async getSession(sessionId?: string): Promise<ComputeSession> {\n    if (sessionId !== undefined) {\n      const sess = new ComputeSession(sessionId);\n      await sess.self();\n      return sess;\n    } else {\n      return this.createSession();\n    }\n  }\n\n  async getState(options?: stateOptions): Promise<string> {\n    if (this._self.links === undefined) {\n      await this.self();\n    }\n\n    const params: { timeout?: number } = {};\n    const headers = {};\n\n    if (options !== undefined) {\n      if (options.onChange) {\n        headers[\"If-None-Match\"] = this.etag;\n      }\n\n      if (options.wait) {\n        params.timeout = options.wait;\n      }\n    }\n\n    const link = this.getLink(this._self.links, \"state\");\n    if (link === undefined) {\n      throw new Error(l10n.t(\"Server does not have state link\"));\n    }\n\n    const { data, status } = await this.requestLink<string>(link, {\n      params: params,\n      headers: headers,\n    });\n\n    if (status === 200) {\n      return data;\n    } else {\n      throw new Error(l10n.t(\"Something went wrong\"));\n    }\n  }\n}\n"
  },
  {
    "path": "client/src/connection/rest/session.ts",
    "content": "// Copyright © 2022, SAS Institute Inc., Cary, NC, USA.  All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { l10n } from \"vscode\";\n\nimport { AxiosRequestConfig, AxiosResponse } from \"axios\";\n\nimport {\n  JobRequest,\n  JobsApiAxiosParamCreator,\n  Link,\n  LogLine,\n  LogsApi,\n  Session,\n  SessionsApi,\n  SessionsApiGetSessionStateRequest,\n} from \"./api/compute\";\nimport {\n  BaseCompute,\n  Compute,\n  ComputeState,\n  getApiConfig,\n  stateOptions,\n} from \"./common\";\nimport { ComputeJob } from \"./job\";\n\nexport class ComputeSession extends Compute {\n  api; //Session api\n  logs; //Logs api\n  _self: Session & BaseCompute;\n\n  constructor(id: string) {\n    super();\n\n    //Set at least Id in self.\n    this._self = { id: id };\n\n    //Get the api objects we need\n    this.api = SessionsApi(getApiConfig());\n    this.logs = LogsApi(getApiConfig());\n  }\n\n  get sessionId(): string {\n    return this._self?.id || \"\";\n  }\n\n  static fromInterface(session: Session): ComputeSession {\n    const sess = new ComputeSession(\"\");\n    sess._self = session;\n    return sess;\n  }\n\n  static fromResponse(response: AxiosResponse): ComputeSession {\n    const sess = ComputeSession.fromInterface(response.data);\n    sess.etag = response.headers.etag;\n    return sess;\n  }\n\n  async getSession(sessionId?: string): Promise<Session> {\n    const id = sessionId || this.sessionId;\n    const res = await this.api.getSession({ sessionId: id });\n    if (res.status === 200) {\n      return res.data;\n    } else {\n      throw new Error(\n        l10n.t(\"Error getting session with ID {id} - {message}\", {\n          id,\n          message: res.message,\n        }),\n      );\n    }\n  }\n\n  async self<Session>(): Promise<Session> {\n    if (this._self.id === undefined) {\n      throw new Error(l10n.t(\"Cannot call self on ComputeSession with no id\"));\n    }\n\n    const res = await this.api.getSession({ sessionId: this.sessionId });\n    if (res.status === 200) {\n      this._self = res.data;\n      this.etag = res.headers.etag;\n      return res.data;\n    } else {\n      throw new Error(\n        l10n.t(\"Error getting server with ID {id} - {message}\", {\n          id: this._self.id,\n          message: res.message,\n        }),\n      );\n    }\n  }\n\n  async getState(options?: stateOptions): Promise<string> {\n    const parms: SessionsApiGetSessionStateRequest = {\n      sessionId: this.sessionId,\n      wait: options?.wait,\n      ifNoneMatch: options?.onChange ? this.etag : undefined,\n    };\n\n    const resp = await this.api.getSessionState(parms);\n\n    if (resp?.data) {\n      this.etag = resp.headers.etag;\n      return resp.data;\n    }\n\n    throw new Error(\n      l10n.t(\"Failed to get state from Session {sessionId}\", {\n        sessionId: this.sessionId,\n      }),\n    );\n  }\n\n  async followLink<T>(\n    linkName: string,\n    options?: AxiosRequestConfig,\n  ): Promise<AxiosResponse<T>> {\n    if (this._self.links === undefined) {\n      await this.self();\n    }\n    const link = this.getLink(this._self.links, linkName);\n    if (link === undefined) {\n      throw new Error(\n        l10n.t(\"Session does not have '{linkName}' link\", { linkName }),\n      );\n    }\n\n    return await this.requestLink(link, options);\n  }\n\n  /**\n   * Set the state of a session.\n   * Not all states may be set on a session.\n   *\n   * @param state\n   */\n  async setState(state: ComputeState): Promise<AxiosResponse<void>> {\n    return this.api.updateSessionState(\n      {\n        sessionId: this.sessionId,\n        value: state,\n        ifMatch: this.etag,\n      },\n      { headers: { \"Content-Type\": \"text/plain\" } },\n    );\n  }\n\n  /**\n   * Cancel a session.\n   * This is used to recover from syntax check mode.\n   * @returns\n   */\n  async cancel(): Promise<boolean> {\n    const resp = await this.setState(ComputeState.Canceled);\n\n    if (resp.status === 200) {\n      this.etag = resp.headers.etag;\n      return true;\n    } else if (resp.status === 412) {\n      await this.self();\n      return await this.cancel();\n    }\n    return false;\n  }\n\n  /**\n   * Execute code in the SAS session\n   * @param request\n   * @returns\n   */\n  async execute(request: JobRequest): Promise<ComputeJob> {\n    const paramCreator = JobsApiAxiosParamCreator(getApiConfig());\n    const options = (await paramCreator.createJob(this.sessionId, request))\n      .options;\n\n    //Submit the job.\n    //This does not wait for the job to complete, just to return the definition\n    const resp = await this.followLink(\"execute\", options);\n\n    //Now create the job object\n    return ComputeJob.fromResponse(resp);\n  }\n\n  /**\n   * Delete a session.\n   *\n   * This shuts down the SAS session.\n   */\n  async delete(): Promise<void> {\n    await this.followLink(\"delete\");\n  }\n\n  async *getLogStream(options?: {\n    timeout?: number;\n  }): AsyncGenerator<LogLine[]> {\n    let state = await this.getState();\n    const timeout = options?.timeout ?? 10;\n    let start = 0;\n\n    const states = [\n      \"done\",\n      \"canceled\",\n      \"error\",\n      \"warning\",\n      \"completed\",\n      \"idle\",\n      \"failed\",\n    ];\n\n    while (states.indexOf(state) === -1) {\n      //Get a log page\n      const resp = await this.logs.getSessionLog({\n        sessionId: this.sessionId,\n        start: start,\n        timeout: timeout,\n      });\n\n      if (resp.status === 200) {\n        const items = resp.data.items;\n        const num = items.length;\n\n        yield items;\n\n        //increase start location\n        start += num;\n\n        //get new state\n        state = await this.getState();\n      } else {\n        break;\n      }\n    }\n\n    //There is a chance that the job ended between our last read and now.\n    //Need to make sure we clear out the log\n\n    let nextLink: Link = undefined;\n    let resp = await this.logs.getSessionLog({\n      sessionId: this.sessionId,\n      start: start,\n    });\n\n    //To clear out the log, we yeild all lines until there is not \"next\" link\n    do {\n      if (resp.status === 200) {\n        nextLink = resp.data.links?.find((link) => link.rel === \"next\");\n        const items = resp.data.items;\n        yield items;\n\n        if (nextLink) {\n          resp = await this.requestLink(nextLink);\n        }\n      } else {\n        break;\n      }\n    } while (nextLink !== undefined);\n  }\n}\n"
  },
  {
    "path": "client/src/connection/rest/util.ts",
    "content": "// Copyright © 2024, SAS Institute Inc., Cary, NC, USA.  All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { Uri } from \"vscode\";\n\nimport {\n  DATAFLOW_TYPE,\n  FAVORITES_FOLDER_TYPE,\n  FILE_TYPES,\n  FOLDER_TYPE,\n  TRASH_FOLDER_TYPE,\n} from \"../../components/ContentNavigator/const\";\nimport {\n  ContentItem,\n  ContentSourceType,\n  Link,\n  Permission,\n} from \"../../components/ContentNavigator/types\";\nimport {\n  getTypeName,\n  isRootFolder,\n} from \"../../components/ContentNavigator/utils\";\n\nexport const getLink = (\n  links: Array<Link>,\n  method: string,\n  relationship: string,\n): Link | null =>\n  !links || links.length === 0\n    ? null\n    : links.find((link) => link.method === method && link.rel === relationship);\n\nexport const getResourceIdFromItem = (item: ContentItem): string | null => {\n  // Only members have uri attribute.\n  if (item.uri) {\n    return item.uri;\n  }\n\n  return getLink(item.links, \"GET\", \"self\")?.uri || null;\n};\n\nexport const getSasContentUri = (item: ContentItem, readOnly?: boolean): Uri =>\n  Uri.parse(\n    `${readOnly ? `${ContentSourceType.SASContent}ReadOnly` : ContentSourceType.SASContent}:/${\n      item.name\n        ? item.name.replace(/#/g, \"%23\").replace(/\\?/g, \"%3F\")\n        : item.name\n    }?id=${getResourceIdFromItem(item)}`,\n  );\n\nexport const getSasServerUri = (item: ContentItem, readOnly?: boolean): Uri =>\n  Uri.parse(\n    `${readOnly ? `${ContentSourceType.SASServer}ReadOnly` : ContentSourceType.SASServer}:/${\n      item.name\n        ? item.name.replace(/#/g, \"%23\").replace(/\\?/g, \"%3F\")\n        : item.name\n    }?id=${getResourceIdFromItem(item)}`,\n  );\n\nexport const getPermission = (item: ContentItem): Permission => {\n  const itemType = getTypeName(item);\n  return [FOLDER_TYPE, ...FILE_TYPES].includes(itemType) // normal folders and files\n    ? {\n        write: !!getLink(item.links, \"PUT\", \"update\"),\n        delete: !!getLink(item.links, \"DELETE\", \"deleteResource\"),\n        addMember: !!getLink(item.links, \"POST\", \"createChild\"),\n      }\n    : {\n        // delegate folders, user folder and user root folder\n        write: false,\n        delete: false,\n        addMember:\n          itemType !== TRASH_FOLDER_TYPE &&\n          itemType !== FAVORITES_FOLDER_TYPE &&\n          !!getLink(item.links, \"POST\", \"createChild\"),\n      };\n};\n\nexport const getItemContentType = (item: ContentItem): string | undefined => {\n  const itemIsReference = item.type === \"reference\";\n  if (itemIsReference || isRootFolder(item)) {\n    return undefined;\n  }\n\n  if (item.contentType === DATAFLOW_TYPE) {\n    return \"application/json\";\n  }\n\n  return \"application/vnd.sas.file+json\";\n};\n\nexport const getResourceId = (uri: Uri): string => uri.query.substring(3); // ?id=...\n"
  },
  {
    "path": "client/src/connection/session.ts",
    "content": "// Copyright © 2022-2023, SAS Institute Inc., Cary, NC, USA.  All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { ProgressLocation, l10n, window } from \"vscode\";\n\nimport type { OnLogFn, RunResult } from \".\";\n\nexport type SessionContextAttributes =\n  | {\n      fileNavigationCustomRootPath: string | undefined;\n      fileNavigationRoot: \"CUSTOM\" | \"SYSTEM\" | \"USER\" | undefined;\n    }\n  | undefined;\n\nexport abstract class Session {\n  protected _rejectRun: (reason?: unknown) => void | undefined;\n  protected _connectionPromise: Promise<void> | undefined;\n\n  protected _onSessionLogFn: OnLogFn | undefined;\n  public set onSessionLogFn(value: OnLogFn) {\n    this._onSessionLogFn = value;\n  }\n\n  protected _onExecutionLogFn: OnLogFn | undefined;\n  public set onExecutionLogFn(value: OnLogFn) {\n    this._onExecutionLogFn = value;\n  }\n\n  async setup(silent?: boolean): Promise<void> {\n    // If we already have a connection promise we're awaiting, lets use that.\n    // Otherwise, establish a new connection\n    this._connectionPromise ||= this.establishConnection();\n    if (silent) {\n      const resolvedData = await this._connectionPromise;\n      this._connectionPromise = undefined;\n      return resolvedData;\n    }\n\n    await window.withProgress(\n      {\n        location: ProgressLocation.Notification,\n        title: l10n.t(\"Connecting to SAS session...\"),\n      },\n      async () => {\n        const resolvedData = await this._connectionPromise;\n        this._connectionPromise = undefined;\n        return resolvedData;\n      },\n    );\n  }\n\n  protected abstract establishConnection(): Promise<void>;\n\n  run(code: string, ...args): Promise<RunResult> {\n    return new Promise((resolve, reject) => {\n      this._rejectRun = reject;\n      this._run(code, ...args)\n        .then(resolve, reject)\n        .finally(() => (this._rejectRun = undefined));\n    });\n  }\n  protected abstract _run(code: string, ...args): Promise<RunResult>;\n\n  cancel?(): Promise<void>;\n\n  close(): Promise<void> | void {\n    if (this._rejectRun) {\n      this._rejectRun({ message: l10n.t(\"The SAS session has closed.\") });\n      this._rejectRun = undefined;\n    }\n    this._connectionPromise = undefined;\n    return this._close();\n  }\n  protected abstract _close(): Promise<void> | void;\n\n  abstract sessionId?(): string | undefined;\n\n  contextAttributes?(): Promise<SessionContextAttributes>;\n}\n"
  },
  {
    "path": "client/src/connection/ssh/auth.ts",
    "content": "// Copyright © 2022-2024, SAS Institute Inc., Cary, NC, USA.  All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { l10n, window } from \"vscode\";\n\nimport { readFileSync } from \"fs\";\nimport {\n  AgentAuthMethod,\n  KeyboardInteractiveAuthMethod,\n  ParsedKey,\n  PasswordAuthMethod,\n  Prompt,\n  PublicKeyAuthMethod,\n  utils,\n} from \"ssh2\";\n\n/**\n * Abstraction for presenting authentication prompts to the user.\n */\nexport interface AuthPresenter {\n  /**\n   * Prompt the user for a passphrase.\n   * @returns the passphrase entered by the user\n   */\n  presentPasswordPrompt: (username: string) => Promise<string>;\n  /**\n   * Prompt the user for a password.\n   * @returns the password entered by the user\n   */\n  presentPassphrasePrompt: () => Promise<string>;\n  /**\n   * Present multiple prompts to the user.\n   * This scenario can happen when the server sends multiple input prompts to the user during keyboard-interactive authentication.\n   * Auth setups involving MFA or PAM can trigger this scenario.\n   * One input box will be presented for each prompt.\n   * @param prompts an array of prompts to present to the user\n   * @returns array of answers to the prompts\n   */\n  presentMultiplePrompts: (\n    username: string,\n    prompts: Prompt[],\n  ) => Promise<string[]>;\n}\n\nclass AuthPresenterImpl implements AuthPresenter {\n  presentPasswordPrompt = async (username: string): Promise<string> => {\n    return this.presentPrompt(\n      l10n.t(\"Enter the password for user: {username}\", { username }),\n      l10n.t(\"Password Required\"),\n      true,\n    );\n  };\n\n  presentPassphrasePrompt = async (): Promise<string> => {\n    return this.presentPrompt(\n      l10n.t(\"Enter the passphrase for the private key\"),\n      l10n.t(\"Passphrase Required\"),\n      true,\n    );\n  };\n\n  presentMultiplePrompts = async (\n    username: string,\n    prompts: Prompt[],\n  ): Promise<string[]> => {\n    const answers: string[] = [];\n    for (const prompt of prompts) {\n      const answer = await this.presentPrompt(\n        undefined,\n        l10n.t(\"User {username} {prompt}\", {\n          username,\n          prompt: prompt.prompt,\n        }),\n        !prompt.echo,\n      );\n      if (answer) {\n        answers.push(answer);\n      }\n    }\n    return answers;\n  };\n\n  /**\n   * Present a secure prompt to the user.\n   * @param prompt  the prompt to display to the user\n   * @param title  optional title for the prompt\n   * @param isSecureInput  whether the input should be hidden\n   * @returns the user's response to the prompt\n   */\n  private presentPrompt = async (\n    prompt: string,\n    title?: string,\n    isSecureInput?: boolean,\n  ): Promise<string> => {\n    return window.showInputBox({\n      ignoreFocusOut: true,\n      prompt: prompt,\n      title: title,\n      password: isSecureInput,\n    });\n  };\n}\n\n/**\n * Handles the authentication process for the ssh connection.\n *\n */\nexport class AuthHandler {\n  private _authPresenter: AuthPresenter;\n  private _keyParser: KeyParser;\n\n  constructor(authPresenter?: AuthPresenter, keyParser?: KeyParser) {\n    this._authPresenter = authPresenter;\n    this._keyParser = keyParser;\n\n    if (!authPresenter) {\n      this._authPresenter = new AuthPresenterImpl();\n    }\n    if (!keyParser) {\n      this._keyParser = new KeyParserImpl();\n    }\n  }\n\n  /**\n   * Authenticate to the server using the password method.\n   * @param cb ssh2 NextHandler callback instance. This is used to pass the authentication information to the ssh server.\n   * @param resolve a function that resolves the promise that is waiting for the password\n   * @param username the user name to use for the connection\n   */\n  passwordAuth = async (username: string): Promise<PasswordAuthMethod> => {\n    const pw = await this._authPresenter.presentPasswordPrompt(username);\n    return {\n      type: \"password\",\n      password: pw,\n      username: username,\n    };\n  };\n\n  /**\n   * Authenticate to the server using the keyboard-interactive method.\n   * @param cb ssh2 NextHandler callback instance. This is used to pass the authentication information to the ssh server.\n   * @param resolve a function that resolves the promise that is waiting for authentication\n   * @param username the user name to use for the connection\n   */\n  keyboardInteractiveAuth = async (\n    username: string,\n  ): Promise<KeyboardInteractiveAuthMethod> => {\n    return {\n      type: \"keyboard-interactive\",\n      username: username,\n      prompt: (_name, _instructions, _instructionsLang, prompts, finish) => {\n        // often, the server will only send a single prompt for the password.\n        // however, PAM can send multiple prompts, so we need to handle that case\n        this._authPresenter\n          .presentMultiplePrompts(username, prompts)\n          .then((answers) => {\n            finish(answers);\n          });\n      },\n    };\n  };\n\n  /**\n   * Authenticate to the server using the ssh-agent. See the extension Docs for more information on how to set up the ssh-agent.\n   * @param cb ssh2 NextHandler callback instance. This is used to pass the authentication information to the ssh server.\n   * @param username the user name to use for the connection\n   */\n  sshAgentAuth = (username: string): AgentAuthMethod => {\n    return {\n      type: \"agent\",\n      agent: process.env.SSH_AUTH_SOCK,\n      username: username,\n    };\n  };\n\n  /**\n   * Authenticate to the server using a private key file.\n   * If a private key file is defined in the connection profile, this function will read the file and use it to authenticate to the server.\n   * If the key is encrypted, the user will be prompted for the passphrase.\n   * @param cb ssh2 NextHandler callback instance. This is used to pass the authentication information to the ssh server.\n   * @param resolve a function that resolves the promise that is waiting for authentication\n   * @param privateKeyFilePath the path to the private key file defined in the connection profile\n   * @param username the user name to use for the connection\n   */\n  privateKeyAuth = async (\n    privateKeyFilePath: string,\n    username: string,\n  ): Promise<PublicKeyAuthMethod> => {\n    // first, try to parse the key file without a passphrase\n    const parsedKeyResult = this._keyParser.parseKey(privateKeyFilePath);\n    const hasParseError = parsedKeyResult instanceof Error;\n    const passphraseRequired =\n      hasParseError &&\n      parsedKeyResult.message ===\n        \"Encrypted private OpenSSH key detected, but no passphrase given\";\n    // key is encrypted, prompt for passphrase\n    if (passphraseRequired) {\n      const passphrase = await this._authPresenter.presentPassphrasePrompt();\n      //parse the keyfile using the passphrase\n      const passphrasedKeyContentsResult = this._keyParser.parseKey(\n        privateKeyFilePath,\n        passphrase,\n      );\n\n      if (passphrasedKeyContentsResult instanceof Error) {\n        throw passphrasedKeyContentsResult;\n      } else {\n        return {\n          type: \"publickey\",\n          key: passphrasedKeyContentsResult,\n          passphrase: passphrase,\n          username: username,\n        };\n      }\n    } else {\n      if (hasParseError) {\n        throw parsedKeyResult;\n      } else {\n        return {\n          type: \"publickey\",\n          key: parsedKeyResult,\n          username: username,\n        };\n      }\n    }\n  };\n}\n\n/**\n * Parses a private key file.\n */\nexport interface KeyParser {\n  /**\n   * Parse the private key file.\n   * If a passphrase is specified, the key will be decrypted using the passphrase.\n   * @param privateKeyPath the path to the private key file\n   * @param passphrase the passphrase to decrypt the key if applicable\n   * @returns the parsed key or an error if the key could not be parsed\n   */\n  parseKey: (privateKeyPath: string, passphrase?: string) => ParsedKey | Error;\n}\n\nclass KeyParserImpl implements KeyParser {\n  private readKeyFile = (privateKeyPath: string): Buffer => {\n    try {\n      return readFileSync(privateKeyPath);\n    } catch (e) {\n      throw new Error(\n        l10n.t(\"Error reading private key file: {filePath}, error: {message}\", {\n          filePath: privateKeyPath,\n          message: e.message,\n        }),\n      );\n    }\n  };\n\n  public parseKey = (\n    privateKeyPath: string,\n    passphrase?: string,\n  ): ParsedKey | Error => {\n    const keyContents = this.readKeyFile(privateKeyPath);\n    return utils.parseKey(keyContents, passphrase);\n  };\n}\n"
  },
  {
    "path": "client/src/connection/ssh/const.ts",
    "content": "// Copyright © 2024, SAS Institute Inc., Cary, NC, USA.  All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n\nconst SECOND = 1000;\nconst MINUTE = 60 * SECOND;\nexport const KEEPALIVE_INTERVAL = 60 * SECOND; //How often (in milliseconds) to send SSH-level keepalive packets to the server. Set to 0 to disable.\nexport const KEEPALIVE_UNANSWERED_THRESHOLD =\n  (15 * MINUTE) / KEEPALIVE_INTERVAL; //How many consecutive, unanswered SSH-level keepalive packets that can be sent to the server before disconnection.\nexport const WORK_DIR_START_TAG = \"WORKDIR\";\nexport const WORK_DIR_END_TAG = \"WORKDIREND\";\nexport const CONNECT_READY_TIMEOUT = 5 * MINUTE; //allow extra time due to possible prompting\n"
  },
  {
    "path": "client/src/connection/ssh/index.ts",
    "content": "// Copyright © 2022-2024, SAS Institute Inc., Cary, NC, USA.  All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { l10n } from \"vscode\";\n\nimport {\n  AgentAuthMethod,\n  AuthHandlerMiddleware,\n  AuthenticationType,\n  Client,\n  ClientChannel,\n  ConnectConfig,\n  KeyboardInteractiveAuthMethod,\n  NextAuthHandler,\n  PasswordAuthMethod,\n  PublicKeyAuthMethod,\n} from \"ssh2\";\n\nimport { BaseConfig, RunResult } from \"..\";\nimport { updateStatusBarItem } from \"../../components/StatusBarItem\";\nimport { Session } from \"../session\";\nimport { extractOutputHtmlFileName } from \"../util\";\nimport { AuthHandler } from \"./auth\";\nimport {\n  CONNECT_READY_TIMEOUT,\n  KEEPALIVE_INTERVAL,\n  KEEPALIVE_UNANSWERED_THRESHOLD,\n  WORK_DIR_END_TAG,\n  WORK_DIR_START_TAG,\n} from \"./const\";\nimport { LineCodes } from \"./types\";\n\nlet sessionInstance: SSHSession;\n\nexport interface Config extends BaseConfig {\n  host: string;\n  username: string;\n  saspath: string;\n  port: number;\n  privateKeyFilePath?: string;\n}\n\nexport function getSession(c: Config): Session {\n  if (!sessionInstance) {\n    sessionInstance = new SSHSession(c, new Client());\n  }\n  return sessionInstance;\n}\nexport class SSHSession extends Session {\n  private _conn: Client;\n  private _stream: ClientChannel | undefined;\n  private _config: Config;\n  private _resolve: ((value?) => void) | undefined;\n  private _reject: ((reason?) => void) | undefined;\n  private _html5FileName = \"\";\n  private _sessionReady: boolean;\n  private _authHandler: AuthHandler;\n  private _workDirectory: string;\n  private _authsLeft: AuthenticationType[];\n\n  constructor(c?: Config, client?: Client) {\n    super();\n    this._config = c;\n    this._conn = client;\n    this._sessionReady = false;\n    this._authHandler = new AuthHandler();\n    this._authsLeft = [];\n  }\n\n  public sessionId? = (): string => {\n    throw new Error(l10n.t(\"Method not implemented.\"));\n  };\n\n  set config(newValue: Config) {\n    this._config = newValue;\n  }\n\n  protected establishConnection = (): Promise<void> => {\n    return new Promise((pResolve, pReject) => {\n      this._resolve = pResolve;\n      this._reject = pReject;\n\n      if (this._stream) {\n        this._resolve?.({});\n        return;\n      }\n\n      const authHandlerFn = this.handleSSHAuthentication();\n      const cfg: ConnectConfig = {\n        host: this._config.host,\n        port: this._config.port,\n        username: this._config.username,\n        readyTimeout: CONNECT_READY_TIMEOUT,\n        keepaliveInterval: KEEPALIVE_INTERVAL,\n        keepaliveCountMax: KEEPALIVE_UNANSWERED_THRESHOLD,\n        authHandler: (methodsLeft, partialSuccess, callback) => (\n          authHandlerFn(methodsLeft, partialSuccess, callback),\n          undefined\n        ),\n      };\n\n      if (!this._conn) {\n        this._conn = new Client();\n      }\n\n      this._conn\n        .on(\"close\", this.onConnectionClose)\n        .on(\"ready\", () => {\n          this._conn.shell(this.onShell);\n        })\n        .on(\"error\", this.onConnectionError);\n\n      this._conn.connect(cfg);\n    });\n  };\n\n  protected _run = (code: string): Promise<RunResult> => {\n    this._html5FileName = \"\";\n\n    return new Promise((_resolve, _reject) => {\n      this._resolve = _resolve;\n      this._reject = _reject;\n\n      this._stream?.write(`${code}\\n`);\n      this._stream?.write(`%put ${LineCodes.RunEndCode};\\n`);\n    });\n  };\n\n  protected _close = (): void | Promise<void> => {\n    if (!this._stream) {\n      this.disposeResources();\n      return;\n    }\n    this._stream.write(\"endsas;\\n\");\n    this._stream.close();\n  };\n\n  private onConnectionClose = () => {\n    if (!this._sessionReady) {\n      this._reject?.(new Error(l10n.t(\"Could not connect to the SAS server.\")));\n    }\n\n    this.disposeResources();\n  };\n\n  private disposeResources = () => {\n    this._stream = undefined;\n    this._resolve = undefined;\n    this._reject = undefined;\n    this._html5FileName = \"\";\n    this._workDirectory = undefined;\n    this.clearAuthState();\n    sessionInstance = undefined;\n    this._authsLeft = [];\n  };\n\n  private onConnectionError = (err: Error) => {\n    this.clearAuthState();\n    this._reject?.(err);\n  };\n\n  private getResult = (): void => {\n    const runResult: RunResult = {};\n    if (!this._html5FileName) {\n      this._resolve?.(runResult);\n      return;\n    }\n    let fileContents = \"\";\n    this._conn.exec(\n      `cat ${this._workDirectory}/${this._html5FileName}.htm`,\n      (err: Error, s: ClientChannel) => {\n        if (err) {\n          this._reject?.(err);\n          return;\n        }\n\n        s.on(\"data\", (data) => {\n          fileContents += data.toString();\n        }).on(\"close\", (code) => {\n          const rc: number = code;\n\n          if (rc === 0) {\n            //Make sure that the html has a valid body\n            //TODO #185: should this be refactored into a shared location?\n            if (fileContents.search('<*id=\"IDX*.+\">') !== -1) {\n              runResult.html5 = fileContents;\n              runResult.title = l10n.t(\"Result\");\n            }\n          }\n          this._resolve?.(runResult);\n        });\n      },\n    );\n  };\n\n  private onStreamClose = (): void => {\n    this._conn.end();\n    updateStatusBarItem(false);\n  };\n\n  private resolveSystemVars = (): void => {\n    const code = `%let wd = %sysfunc(pathname(work));\n  %let rc = %sysfunc(dlgcdir(\"&wd\"));\n  data _null_; length x $ 4096;\n    file STDERR;\n    x = resolve('&wd');  put '${WORK_DIR_START_TAG}' x '${WORK_DIR_END_TAG}';\n  run;\n\n  `;\n    this._stream.write(code);\n  };\n\n  private onStreamData = (data: Buffer): void => {\n    const output = data.toString().trimEnd();\n\n    if (!this._sessionReady && output.endsWith(\"?\")) {\n      this._sessionReady = true;\n      this._resolve?.();\n      this.resolveSystemVars();\n      updateStatusBarItem(true);\n      return;\n    }\n\n    if (this._sessionReady && !this._workDirectory) {\n      const match = output.match(\n        `${WORK_DIR_START_TAG}(/[\\\\s\\\\S]*?)${WORK_DIR_END_TAG}`,\n      );\n      if (match && match.length > 1) {\n        this._workDirectory = match[1].trimEnd().replace(/(\\r\\n|\\n|\\r)/gm, \"\");\n      }\n    }\n\n    const outputLines = output.split(/\\n|\\r\\n/);\n    outputLines.forEach((line) => {\n      if (!line) {\n        return;\n      }\n      const trimmedLine = line.trimEnd();\n      if (trimmedLine.endsWith(LineCodes.RunEndCode)) {\n        // run completed\n        this.getResult();\n      }\n      if (!(trimmedLine.endsWith(\"?\") || trimmedLine.endsWith(\">\"))) {\n        this._html5FileName = extractOutputHtmlFileName(\n          line,\n          this._html5FileName,\n        );\n        this._onExecutionLogFn?.([{ type: \"normal\", line }]);\n      }\n    });\n  };\n\n  private onShell = (err: Error, s: ClientChannel): void => {\n    if (err) {\n      this._reject?.(err);\n      return;\n    }\n    this._stream = s;\n    if (!this._stream) {\n      this._reject?.(err);\n      return;\n    }\n\n    this._stream.on(\"close\", this.onStreamClose);\n    this._stream.on(\"data\", this.onStreamData);\n\n    const resolvedEnv: string[] = [\n      \"env\",\n      '_JAVA_OPTIONS=\"-Djava.awt.headless=true\"',\n    ];\n    const execArgs: string = resolvedEnv.join(\" \");\n\n    const resolvedSasOpts: string[] = [\n      \"-nodms\",\n      \"-noterminal\",\n      \"-nosyntaxcheck\",\n    ];\n\n    if (this._config.sasOptions?.length > 0) {\n      resolvedSasOpts.push(...this._config.sasOptions);\n    }\n    const execSasOpts: string = resolvedSasOpts.join(\" \");\n\n    this._stream.write(`${execArgs} ${this._config.saspath} ${execSasOpts} \\n`);\n  };\n\n  /**\n   * Resets the SSH auth state.\n   */\n  private clearAuthState = (): void => {\n    this._sessionReady = false;\n    this._authsLeft = [];\n  };\n\n  private handleSSHAuthentication = (): AuthHandlerMiddleware => {\n    //The ssh2 library supports sending false to stop the authentication process\n    // eslint-disable-next-line @typescript-eslint/consistent-type-assertions\n    const END_AUTH = false as unknown as AuthenticationType;\n    return async (\n      authsLeft: AuthenticationType[],\n      partialSuccess: boolean, //used in scenarios which require multiple auth methods to denote partial success\n      nextAuth: NextAuthHandler,\n    ) => {\n      if (!authsLeft) {\n        return nextAuth({ type: \"none\", username: this._config.username }); //sending none will prompt the server to send supported auth methods\n      } else {\n        if (authsLeft.length === 0) {\n          return nextAuth(END_AUTH);\n        }\n\n        if (this._authsLeft.length === 0 || partialSuccess) {\n          this._authsLeft = authsLeft;\n        }\n\n        const authMethod = this._authsLeft.shift();\n\n        try {\n          let authPayload:\n            | PublicKeyAuthMethod\n            | AgentAuthMethod\n            | PasswordAuthMethod\n            | KeyboardInteractiveAuthMethod;\n\n          switch (authMethod) {\n            case \"publickey\": {\n              //user set a keyfile path in profile config\n              if (this._config.privateKeyFilePath) {\n                authPayload = await this._authHandler.privateKeyAuth(\n                  this._config.privateKeyFilePath,\n                  this._config.username,\n                );\n              } else if (process.env.SSH_AUTH_SOCK) {\n                authPayload = this._authHandler.sshAgentAuth(\n                  this._config.username,\n                );\n              }\n              break;\n            }\n            case \"password\": {\n              authPayload = await this._authHandler.passwordAuth(\n                this._config.username,\n              );\n              break;\n            }\n            case \"keyboard-interactive\": {\n              authPayload = await this._authHandler.keyboardInteractiveAuth(\n                this._config.username,\n              );\n              break;\n            }\n            default:\n              nextAuth(authMethod);\n          }\n          return nextAuth(authPayload);\n        } catch (e) {\n          this._reject?.(e);\n          return nextAuth(END_AUTH);\n        }\n      }\n    };\n  };\n}\n"
  },
  {
    "path": "client/src/connection/ssh/types.ts",
    "content": "// Copyright © 2022-2024, SAS Institute Inc., Cary, NC, USA.  All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { BaseConfig } from \"..\";\n\nexport interface Config extends BaseConfig {\n  host: string;\n  username: string;\n  saspath: string;\n  port: number;\n  privateKeyFilePath: string;\n}\n\nexport enum LineCodes {\n  ResultsFetchedCode = \"--vscode-sas-extension-results-fetched--\",\n  RunCancelledCode = \"--vscode-sas-extension-run-cancelled--\",\n  RunEndCode = \"--vscode-sas-extension-submit-end--\",\n  LogLineType = \"--vscode-sas-extension-log-line-type--\",\n}\n"
  },
  {
    "path": "client/src/connection/studio/index.ts",
    "content": "// Copyright © 2023, SAS Institute Inc., Cary, NC, USA.  All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { AxiosInstance } from \"axios\";\n\nfunction getStudioSessionRequest(connection: AxiosInstance) {\n  const date = new Date();\n  const timeZoneOffset = date.getTimezoneOffset();\n  // Extract hours and minutes from the time zone offset\n  const hoursOffset = Math.floor(Math.abs(timeZoneOffset) / 60);\n  const minutesOffset = Math.abs(timeZoneOffset) % 60;\n  // Convert the time zone offset to the desired format (e.g., \"GMT+02:00\")\n  const formattedTimeZoneOffset = `GMT${\n    timeZoneOffset >= 0 ? \"-\" : \"+\"\n  }${hoursOffset.toString().padStart(2, \"0\")}:${minutesOffset\n    .toString()\n    .padStart(2, \"0\")}`;\n  // Create the request body\n  return JSON.stringify({\n    baseUri: connection.getUri() + \"/SASStudio/\",\n    locale: \"en_US\",\n    zone: formattedTimeZoneOffset,\n  });\n}\n\nfunction getflowObjRequest(\n  name: string,\n  resourceId: string,\n  parentResourceId: string,\n) {\n  return JSON.stringify({\n    name: name,\n    uri: \"sascontent:\" + resourceId,\n    parentUri: \"sascontent:\" + parentResourceId,\n    currentParentUri: null,\n  });\n}\n\nexport async function createStudioSession(\n  connection: AxiosInstance,\n): Promise<string> {\n  const studioSessionRequest = getStudioSessionRequest(connection);\n  const res = await connection.post(\"/studio/sessions\", studioSessionRequest, {\n    headers: {\n      \"Content-Type\": \"application/json\",\n      Accept: \"application/json\",\n    },\n  });\n  return res.data.id;\n}\n\nexport async function associateFlowObject(\n  name: string,\n  resourceId: string,\n  parentResourceId: string,\n  sessionId: string,\n  connection: AxiosInstance,\n): Promise<string> {\n  const flowObjRequest = getflowObjRequest(name, resourceId, parentResourceId);\n  const response = await connection.post(\n    \"/SASStudio/sasexec/{sessionId}/associateFlowObj\".replace(\n      `{${\"sessionId\"}}`,\n      sessionId,\n    ),\n    flowObjRequest,\n    {\n      headers: {\n        \"Content-Type\": \"application/json\",\n        Accept: \"*/*\",\n      },\n    },\n  );\n  return response.data.uri;\n}\n"
  },
  {
    "path": "client/src/connection/util.ts",
    "content": "// Copyright © 2024, SAS Institute Inc., Cary, NC, USA.  All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n\nexport function extractOutputHtmlFileName(\n  line: string,\n  defaultValue: string,\n): string {\n  return (\n    line.match(/body=\"(.{8}-.{4}-.{4}-.{4}-.{12}).htm\"/)?.[1] ?? defaultValue\n  );\n}\n\nexport const extractTextBetweenTags = (\n  text: string,\n  startTag: string = \"\",\n  endTag: string = \"\",\n): string => {\n  return startTag && endTag\n    ? text\n        .slice(text.lastIndexOf(startTag), text.lastIndexOf(endTag))\n        .replace(startTag, \"\")\n        .replace(endTag, \"\")\n        .replace(/^\\n/, \"\")\n        .replace(/\\n$/, \"\")\n    : text;\n};\n\nexport const getColumnIconType = ({\n  type,\n  format,\n}: {\n  index: number;\n  type: string;\n  name: string;\n  format: string;\n}) => {\n  format = format.toUpperCase();\n\n  const isDateFormat = () =>\n    [\n      \"DAT\",\n      \"MM\",\n      \"DD\",\n      \"YY\",\n      \"EURDF\",\n      \"JUL\",\n      \"YEAR\",\n      \"DAY\",\n      \"MONTH\",\n      \"MON\",\n      \"DOWNAME\",\n    ].some((f) => format.includes(f)) &&\n    ![\n      \"TIME\",\n      \"HH\",\n      \"SS\",\n      \"COMM\",\n      \"DATEAMPM\",\n      \"DATETIME\",\n      \"NLDATMTM\",\n      \"NLDATM\",\n      \"NLDATMAP\",\n      \"NLDATMW\",\n    ].some((f) => format.includes(f));\n\n  const isTimeFormat = () =>\n    [\"TIME\", \"TIMAP\", \"HOUR\", \"HH\", \"MM\", \"SS\", \"NLDATMTM\"].some((f) =>\n      format.includes(f),\n    ) && ![\"DATEAMPM\", \"DATETIME\", \"COMMA\"].some((f) => format.includes(f));\n\n  const isDateTimeFormat = () =>\n    [\"DATEAMPM\", \"DATETIME\", \"NLDATM\", \"NLDATMAP\", \"NLDATMW\"].some((f) =>\n      format.includes(f),\n    );\n\n  const isCurrencyFormat = () =>\n    [\"NLMNI\", \"NLMNL\", \"NLMNY\", \"YEN\", \"DOLLAR\", \"EURO\"].some((f) =>\n      format.includes(f),\n    );\n\n  if (type !== \"num\") {\n    return type;\n  }\n\n  if (isDateFormat()) {\n    return \"date\";\n  }\n  if (isTimeFormat()) {\n    return \"time\";\n  }\n  if (isDateTimeFormat()) {\n    return \"datetime\";\n  }\n  if (isCurrencyFormat()) {\n    return \"currency\";\n  }\n\n  return type;\n};\n"
  },
  {
    "path": "client/src/node/extension.ts",
    "content": "// Copyright © 2022-2023, SAS Institute Inc., Cary, NC, USA.  All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport {\n  ConfigurationChangeEvent,\n  ExtensionContext,\n  Uri,\n  authentication,\n  commands,\n  l10n,\n  languages,\n  tasks,\n  window,\n  workspace,\n} from \"vscode\";\nimport {\n  LanguageClient,\n  LanguageClientOptions,\n  ServerOptions,\n  TransportKind,\n} from \"vscode-languageclient/node\";\n\nimport * as path from \"path\";\n\nimport { checkProfileAndAuthorize } from \"../commands/authorize\";\nimport { closeSession } from \"../commands/closeSession\";\nimport { newSASFile, newSASNotebook } from \"../commands/new\";\nimport {\n  addProfile,\n  deleteProfile,\n  profileConfig,\n  switchProfile,\n  updateProfile,\n} from \"../commands/profile\";\nimport { run, runRegion, runSelected } from \"../commands/run\";\nimport { toggleLineComment } from \"../commands/toggleLineComment\";\nimport { getRestAPIs } from \"../components/APIProvider\";\nimport { SASAuthProvider } from \"../components/AuthProvider\";\nimport { installCAs } from \"../components/CAHelper\";\nimport ContentNavigator from \"../components/ContentNavigator\";\nimport { ContentSourceType } from \"../components/ContentNavigator/types\";\nimport { setContext } from \"../components/ExtensionContext\";\nimport LibraryNavigator from \"../components/LibraryNavigator\";\nimport {\n  ResultPanelSubscriptionProvider,\n  SAS_RESULT_PANEL,\n  deserializeWebviewPanel,\n} from \"../components/ResultPanel\";\nimport {\n  getStatusBarItem,\n  resetStatusBarItem,\n  updateStatusBarItem,\n} from \"../components/StatusBarItem\";\nimport { LogTokensProvider, legend } from \"../components/logViewer\";\nimport { sasDiagnostic } from \"../components/logViewer/sasDiagnostics\";\nimport { NotebookController } from \"../components/notebook/Controller\";\nimport { NotebookSerializer } from \"../components/notebook/Serializer\";\nimport { exportNotebook, saveOutput } from \"../components/notebook/exporters\";\nimport { ConnectionType } from \"../components/profile\";\nimport { SasTaskProvider } from \"../components/tasks/SasTaskProvider\";\nimport { SAS_TASK_TYPE } from \"../components/tasks/SasTasks\";\n\nlet client: LanguageClient;\n\nexport let extensionContext: ExtensionContext | undefined;\n\nexport function activate(context: ExtensionContext) {\n  // The server is implemented in node\n  extensionContext = context;\n  const serverModule = context.asAbsolutePath(\n    path.join(\"server\", \"dist\", \"node\", \"server.js\"),\n  );\n  // The debug options for the server\n  // --inspect=6009: runs the server in Node's Inspector mode so VS Code can attach to the server for debugging\n  const debugOptions = { execArgv: [\"--nolazy\", \"--inspect=6009\"] };\n\n  // If the extension is launched in debug mode then the debug server options are used\n  // Otherwise the run options are used\n  const serverOptions: ServerOptions = {\n    run: { module: serverModule, transport: TransportKind.ipc },\n    debug: {\n      module: serverModule,\n      transport: TransportKind.ipc,\n      options: debugOptions,\n    },\n  };\n\n  // Options to control the language client\n  const clientOptions: LanguageClientOptions = {\n    // Register the server for sas file\n    documentSelector: [{ language: \"sas\" }],\n  };\n\n  // Create the language client and start the client.\n  client = new LanguageClient(\n    \"sas-lsp\",\n    \"SAS Language Server\",\n    serverOptions,\n    clientOptions,\n  );\n\n  // Start the client. This will also launch the server\n  client.start();\n\n  installCAs();\n\n  setContext(context);\n\n  const libraryNavigator = new LibraryNavigator(context);\n\n  // Below we have two content navigators. We'll have one to navigate\n  // SAS Content and another to navigate SAS Server. Both of these will\n  // also determine which adapter to use for processing. The options look\n  // like this:\n  // - rest connection w/ sourceType=\"sasContent\" uses a RestContentAdapter\n  // - rest connection w/ sourceType=\"sasServer\" uses a RestServerAdapter\n  // - itc/iom connection w/ sourceType=\"sasServer\" uses ItcServerAdapter\n  const sasContentNavigator = new ContentNavigator(context, {\n    mimeType: \"application/vnd.code.tree.contentdataprovider\",\n    sourceType: ContentSourceType.SASContent,\n    treeIdentifier: \"contentdataprovider\",\n  });\n  const sasServerNavigator = new ContentNavigator(context, {\n    mimeType: \"application/vnd.code.tree.serverdataprovider\",\n    sourceType: ContentSourceType.SASServer,\n    treeIdentifier: \"serverdataprovider\",\n  });\n  const handleFileUpdated = (e) => {\n    switch (e.type) {\n      case \"rename\":\n        sasDiagnostic.updateDiagnosticUri(e.uri, e.newUri);\n        break;\n      case \"recycle\":\n      case \"delete\":\n        sasDiagnostic.ignoreAll(e.uri);\n        break;\n    }\n  };\n\n  const resultPanelSubscriptionProvider = new ResultPanelSubscriptionProvider();\n\n  window.registerWebviewPanelSerializer(SAS_RESULT_PANEL, {\n    deserializeWebviewPanel,\n  });\n\n  context.subscriptions.push(\n    commands.registerCommand(\"SAS.run\", async () => {\n      await run();\n      await libraryNavigator.refresh();\n    }),\n    commands.registerCommand(\"SAS.runSelected\", async (uri: Uri) => {\n      await runSelected(uri);\n      await libraryNavigator.refresh();\n    }),\n    commands.registerCommand(\"SAS.runRegion\", async () => {\n      await runRegion(client);\n      await libraryNavigator.refresh();\n    }),\n    commands.registerCommand(\"SAS.close\", (silent) => {\n      closeSession(\n        silent === true ? undefined : l10n.t(\"The SAS session has closed.\"),\n      );\n    }),\n    commands.registerCommand(\"SAS.switchProfile\", switchProfile),\n    commands.registerCommand(\"SAS.addProfile\", addProfile),\n    commands.registerCommand(\"SAS.deleteProfile\", deleteProfile),\n    commands.registerCommand(\"SAS.updateProfile\", updateProfile),\n    commands.registerCommand(\n      \"SAS.authorize\",\n      checkProfileAndAuthorize(libraryNavigator),\n    ),\n    authentication.registerAuthenticationProvider(\n      SASAuthProvider.id,\n      \"SAS\",\n      new SASAuthProvider(),\n    ),\n    languages.registerDocumentSemanticTokensProvider(\n      { language: \"sas-log\" },\n      LogTokensProvider,\n      legend,\n    ),\n    getStatusBarItem(),\n    ...libraryNavigator.getSubscriptions(),\n    ...sasContentNavigator.getSubscriptions(),\n    ...sasServerNavigator.getSubscriptions(),\n    ...resultPanelSubscriptionProvider.getSubscriptions(),\n    sasContentNavigator.onDidManipulateFile(handleFileUpdated),\n    sasServerNavigator.onDidManipulateFile(handleFileUpdated),\n    // If configFile setting is changed, update watcher to watch new configuration file\n    workspace.onDidChangeConfiguration((event: ConfigurationChangeEvent) => {\n      if (event.affectsConfiguration(\"SAS.connectionProfiles\")) {\n        triggerProfileUpdate();\n        updateViewSettings();\n      }\n    }),\n    workspace.registerNotebookSerializer(\n      \"sas-notebook\",\n      new NotebookSerializer(),\n    ),\n    new NotebookController(),\n    commands.registerCommand(\"SAS.notebook.new\", newSASNotebook),\n    commands.registerCommand(\"SAS.file.new\", newSASFile),\n    commands.registerCommand(\"SAS.notebook.export\", () =>\n      exportNotebook(client),\n    ),\n    commands.registerCommand(\"SAS.notebook.saveOutput\", saveOutput),\n    tasks.registerTaskProvider(SAS_TASK_TYPE, new SasTaskProvider()),\n    ...sasDiagnostic.getSubscriptions(),\n    commands.registerTextEditorCommand(\"SAS.toggleLineComment\", (editor) => {\n      toggleLineComment(editor, client);\n    }),\n  );\n\n  // Reset first to set \"No Active Profiles\"\n  resetStatusBarItem();\n  // Update status bar if profile is found\n  updateStatusBarItem();\n\n  profileConfig.migrateLegacyProfiles();\n  triggerProfileUpdate();\n  updateViewSettings();\n\n  return {\n    getRestAPIs,\n  };\n}\n\nfunction updateViewSettings(): void {\n  const activeProfile = profileConfig.getProfileByName(\n    profileConfig.getActiveProfile(),\n  );\n\n  const settings = {\n    canSignIn:\n      !activeProfile || activeProfile.connectionType !== ConnectionType.SSH,\n    librariesEnabled: false,\n    contentEnabled: false,\n    librariesDisplayed: false,\n    serverEnabled: false,\n    serverDisplayed: false,\n  };\n  if (activeProfile) {\n    settings.librariesEnabled =\n      activeProfile.connectionType !== ConnectionType.SSH;\n    settings.serverEnabled =\n      activeProfile.connectionType !== ConnectionType.SSH;\n    settings.contentEnabled =\n      activeProfile.connectionType === ConnectionType.Rest;\n  }\n\n  Object.entries(settings).forEach(([key, value]) =>\n    commands.executeCommand(\"setContext\", `SAS.${key}`, value),\n  );\n}\n\nfunction triggerProfileUpdate(): void {\n  commands.executeCommand(\"SAS.close\", true);\n  const profileList = profileConfig.getAllProfiles();\n  const activeProfileName = profileConfig.getActiveProfile();\n  if (profileList[activeProfileName]) {\n    updateStatusBarItem();\n\n    const connectionType =\n      profileList[activeProfileName].connectionType || ConnectionType.Rest;\n\n    //Set the connection type\n    commands.executeCommand(\"setContext\", \"SAS.connectionType\", connectionType);\n\n    //See if the connection is direct (ie. serverId)\n    commands.executeCommand(\n      \"setContext\",\n      \"SAS.connection.direct\",\n      connectionType === ConnectionType.Rest &&\n        \"serverId\" in profileList[activeProfileName],\n    );\n  } else {\n    profileConfig.updateActiveProfileSetting(\"\");\n    commands.executeCommand(\n      \"setContext\",\n      \"SAS.connectionType\",\n      ConnectionType.Rest,\n    );\n  }\n}\n\nexport function deactivate(): Thenable<void> | undefined {\n  if (!client) {\n    return undefined;\n  }\n  return client.stop();\n}\n"
  },
  {
    "path": "client/src/panels/DataViewer.ts",
    "content": "// Copyright © 2023, SAS Institute Inc., Cary, NC, USA.  All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { Uri, l10n, window } from \"vscode\";\n\nimport type { ColumnState, SortModelItem } from \"ag-grid-community\";\n\nimport PaginatedResultSet from \"../components/LibraryNavigator/PaginatedResultSet\";\nimport { TableData, TableQuery } from \"../components/LibraryNavigator/types\";\nimport { Column } from \"../connection/rest/api/compute\";\nimport { WebView } from \"./WebviewManager\";\n\nexport type ViewProperties = {\n  columnState?: ColumnState[];\n  query?: TableQuery;\n};\n\nclass DataViewer extends WebView {\n  protected viewProperties: ViewProperties = {};\n  public constructor(\n    extensionUri: Uri,\n    uid: string,\n    protected readonly paginator: PaginatedResultSet<{\n      data: TableData;\n      error?: Error;\n    }>,\n    protected readonly fetchColumns: () => Column[],\n    protected readonly loadColumnProperties: (columnName: string) => void,\n  ) {\n    super(extensionUri, uid);\n  }\n\n  public l10nMessages() {\n    return {\n      \"Ascending (add to sorting)\": l10n.t(\"Ascending (add to sorting)\"),\n      \"Descending (add to sorting)\": l10n.t(\"Descending (add to sorting)\"),\n      \"Enter expression\": l10n.t(\"Enter expression\"),\n      \"No data matches the current filters.\": l10n.t(\n        \"No data matches the current filters.\",\n      ),\n      \"Not pinned\": l10n.t(\"Not pinned\"),\n      \"Pinned to the left\": l10n.t(\"Pinned to the left\"),\n      \"Pinned to the right\": l10n.t(\"Pinned to the right\"),\n      \"Remove all sorting\": l10n.t(\"Remove all sorting\"),\n      \"Remove sorting\": l10n.t(\"Remove sorting\"),\n      \"Row number\": l10n.t(\"Row number\"),\n      \"Sorted, Ascending\": l10n.t(\"Sorted, Ascending\"),\n      \"Sorted, Descending\": l10n.t(\"Sorted, Descending\"),\n      Ascending: l10n.t(\"Ascending\"),\n      Character: l10n.t(\"Character\"),\n      Clear: l10n.t(\"Clear\"),\n      Currency: l10n.t(\"Currency\"),\n      Date: l10n.t(\"Date\"),\n      Datetime: l10n.t(\"Datetime\"),\n      Descending: l10n.t(\"Descending\"),\n      Numeric: l10n.t(\"Numeric\"),\n      Options: l10n.t(\"Options\"),\n      Pin: l10n.t(\"Pin\"),\n      Properties: l10n.t(\"Properties\"),\n      Search: l10n.t(\"Search\"),\n      Sort: l10n.t(\"Sort\"),\n    };\n  }\n\n  public styles() {\n    return [\"DataViewer.css\"];\n  }\n\n  public scripts() {\n    return [\"DataViewer.js\"];\n  }\n\n  public body() {\n    return `<div class=\"data-viewer-container\" data-title=\"${this.title}\"></div>`;\n  }\n\n  public async processMessage(\n    event: Event & {\n      key: string;\n      command: string;\n      data?: {\n        start?: number;\n        end?: number;\n        sortModel?: SortModelItem[];\n        columnName?: string;\n        viewProperties?: Partial<ViewProperties>;\n        query: TableQuery | undefined;\n      };\n    },\n  ): Promise<void> {\n    switch (event.command) {\n      case \"request:loadData\": {\n        const { data, error } = await this.paginator.getData(\n          event.data!.start!,\n          event.data!.end!,\n          event.data!.sortModel!,\n          event.data!.query!,\n        );\n        this.panel.webview.postMessage({\n          command: \"response:loadData\",\n          key: event.key,\n          data,\n        });\n        if (error) {\n          await window.showErrorMessage(error.message);\n        }\n        break;\n      }\n      case \"request:loadColumns\":\n        this.panel.webview.postMessage({\n          key: event.key,\n          command: \"response:loadColumns\",\n          data: {\n            columns: await this.fetchColumns(),\n            viewProperties: this.viewProperties,\n          },\n        });\n        break;\n      case \"request:loadColumnProperties\":\n        if (event.data.columnName) {\n          this.loadColumnProperties(event.data.columnName);\n        }\n        break;\n      case \"request:storeViewProperties\":\n        if (event.data.viewProperties) {\n          this.viewProperties = {\n            ...this.viewProperties,\n            ...event.data.viewProperties,\n          };\n        }\n        break;\n      default:\n        break;\n    }\n  }\n}\n\nexport default DataViewer;\n"
  },
  {
    "path": "client/src/panels/TablePropertiesViewer.ts",
    "content": "// Copyright © 2024, SAS Institute Inc., Cary, NC, USA.  All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { Uri, l10n } from \"vscode\";\n\nimport { Column, TableInfo } from \"../connection/rest/api/compute\";\nimport { WebView } from \"./WebviewManager\";\n\nclass TablePropertiesViewer extends WebView {\n  l10nMessages = undefined;\n\n  constructor(\n    extensionUri: Uri,\n    private readonly tableName: string,\n    private readonly tableInfo: TableInfo,\n    private readonly columns: Column[],\n    private readonly showColumns: boolean = false,\n    private readonly focusedColumn: string = \"\",\n  ) {\n    super(extensionUri, l10n.t(\"Table Properties\"));\n  }\n\n  public body(): string {\n    return `<div class=\"container\">\n      <h1>${l10n.t(\"Table: {tableName}\", { tableName: this.tableName })}</h1>\n\n      <div class=\"tabs\">\n        <button class=\"tab ${this.showColumns ? \"\" : \"active\"}\" data-tab=\"properties\">${l10n.t(\"General\")}</button>\n        <button class=\"tab ${this.showColumns ? \"active\" : \"\"}\" data-tab=\"columns\">${l10n.t(\"Columns\")}</button>\n      </div>\n\n      <div id=\"properties\" class=\"tab-content ${this.showColumns ? \"\" : \"active\"}\">\n        ${this.generatePropertiesContent()}\n      </div>\n\n      <div id=\"columns\" class=\"tab-content ${this.showColumns ? \"active\" : \"\"}\">\n        ${this.generateColumnsContent()}\n      </div>\n    </div>`;\n  }\n\n  public scripts(): string[] {\n    return [\"TablePropertiesViewer.js\"];\n  }\n  public styles(): string[] {\n    return [\"TablePropertiesViewer.css\"];\n  }\n\n  public processMessage(): void {\n    // No messages to process for this static viewer\n  }\n\n  private generatePropertiesContent(): string {\n    const formatValue = (value: unknown): string => {\n      if (value === null || value === undefined) {\n        return \"\";\n      }\n      if (typeof value === \"number\") {\n        return value.toLocaleString();\n      }\n      return String(value);\n    };\n\n    const formatDate = (value: unknown): string => {\n      try {\n        const stringVal = String(value);\n        let dateVal = new Date(stringVal);\n        if (!isNaN(dateVal.getTime())) {\n          return dateVal.toLocaleString();\n        }\n\n        const numVal = parseFloat(stringVal);\n        if (numVal > 0) {\n          // SAS datetime is seconds since 1960-01-01; subtract the offset of 315619200 seconds to shift to Unix epoch (1970-01-01), then multiply by 1000 for JavaScript milliseconds.\n          dateVal = new Date((numVal - 315619200) * 1000);\n          if (!isNaN(dateVal.getTime())) {\n            return dateVal.toLocaleString();\n          }\n        }\n\n        return stringVal;\n      } catch {\n        return String(value);\n      }\n    };\n\n    return `\n      <div class=\"section-title\">${l10n.t(\"General Information\")}</div>\n      <table class=\"properties-table\">\n        <tr>\n          <td class=\"property-label\">${l10n.t(\"Name\")}</td>\n          <td>${formatValue(this.tableInfo.name)}</td>\n        </tr>\n        <tr>\n          <td class=\"property-label\">${l10n.t(\"Library\")}</td>\n          <td>${formatValue(this.tableInfo.libref)}</td>\n        </tr>\n        <tr>\n          <td class=\"property-label\">${l10n.t(\"Type\")}</td>\n          <td>${formatValue(this.tableInfo.type)}</td>\n        </tr>\n        <tr>\n          <td class=\"property-label\">${l10n.t(\"Label\")}</td>\n          <td>${formatValue(this.tableInfo.label)}</td>\n        </tr>\n        <tr>\n          <td class=\"property-label\">${l10n.t(\"Engine\")}</td>\n          <td>${formatValue(this.tableInfo.engine)}</td>\n        </tr>\n        <tr>\n          <td class=\"property-label\">${l10n.t(\"Extended Type\")}</td>\n          <td>${formatValue(this.tableInfo.extendedType)}</td>\n        </tr>\n      </table>\n\n      <div class=\"section-title\">${l10n.t(\"Size Information\")}</div>\n      <table class=\"properties-table\">\n        <tr>\n          <td class=\"property-label\">${l10n.t(\"Number of Rows\")}</td>\n          <td>${formatValue(this.tableInfo.rowCount)}</td>\n        </tr>\n        <tr>\n          <td class=\"property-label\">${l10n.t(\"Number of Columns\")}</td>\n          <td>${formatValue(this.tableInfo.columnCount)}</td>\n        </tr>\n        <tr>\n          <td class=\"property-label\">${l10n.t(\"Logical Record Count\")}</td>\n          <td>${formatValue(this.tableInfo.logicalRecordCount)}</td>\n        </tr>\n        <tr>\n          <td class=\"property-label\">${l10n.t(\"Physical Record Count\")}</td>\n          <td>${formatValue(this.tableInfo.physicalRecordCount)}</td>\n        </tr>\n        <tr>\n          <td class=\"property-label\">${l10n.t(\"Record Length\")}</td>\n          <td>${formatValue(this.tableInfo.recordLength)}</td>\n        </tr>\n      </table>\n\n      <div class=\"section-title\">${l10n.t(\"Technical Information\")}</div>\n      <table class=\"properties-table\">\n        <tr>\n          <td class=\"property-label\">${l10n.t(\"Created\")}</td>\n          <td>${formatDate(this.tableInfo.creationTimeStamp)}</td>\n        </tr>\n        <tr>\n          <td class=\"property-label\">${l10n.t(\"Modified\")}</td>\n          <td>${formatDate(this.tableInfo.modifiedTimeStamp)}</td>\n        </tr>\n        <tr>\n          <td class=\"property-label\">${l10n.t(\"Compression\")}</td>\n          <td>${formatValue(this.tableInfo.compressionRoutine)}</td>\n        </tr>\n        <tr>\n          <td class=\"property-label\">${l10n.t(\"Character Encoding\")}</td>\n          <td>${formatValue(this.tableInfo.encoding)}</td>\n        </tr>\n        <tr>\n          <td class=\"property-label\">${l10n.t(\"Bookmark Length\")}</td>\n          <td>${formatValue(this.tableInfo.bookmarkLength)}</td>\n        </tr>\n      </table>\n    `;\n  }\n\n  private generateColumnsContent(): string {\n    const formatValue = (value: unknown): string => {\n      if (value === null || value === undefined) {\n        return \"\";\n      }\n      return String(value);\n    };\n\n    const columnsRows = this.columns\n      .map(\n        (column, index) => `\n          <tr class=\"${column.name === this.focusedColumn ? \"active\" : \"\"}\">\n            <td>${index + 1}</td>\n            <td>${formatValue(column.name)}</td>\n            <td>${formatValue(column.type)}</td>\n            <td>${formatValue(column.length)}</td>\n            <td>${formatValue(column.format?.name ? column.format?.name : column.format)}</td>\n            <td>${formatValue(column.informat?.name ? column.informat?.name : column.informat)}</td>\n            <td>${formatValue(column.label)}</td>\n          </tr>\n        `,\n      )\n      .join(\"\");\n\n    return `\n      <div class=\"section-title\">${l10n.t(\"Columns ({count})\", { count: this.columns.length })}</div>\n      <table class=\"properties-table\">\n        <thead>\n          <tr>\n            <th>${l10n.t(\"#\")}</th>\n            <th>${l10n.t(\"Name\")}</th>\n            <th>${l10n.t(\"Type\")}</th>\n            <th>${l10n.t(\"Length\")}</th>\n            <th>${l10n.t(\"Format\")}</th>\n            <th>${l10n.t(\"Informat\")}</th>\n            <th>${l10n.t(\"Label\")}</th>\n          </tr>\n        </thead>\n        <tbody>\n          ${columnsRows}\n        </tbody>\n      </table>\n    `;\n  }\n}\n\nexport default TablePropertiesViewer;\n"
  },
  {
    "path": "client/src/panels/WebviewManager.ts",
    "content": "// Copyright © 2023, SAS Institute Inc., Cary, NC, USA.  All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { Disposable, Uri, ViewColumn, WebviewPanel, window } from \"vscode\";\n\nexport class WebViewManager {\n  public panels: Record<string, WebView> = {};\n\n  public render(webview: WebView, uid: string, forceReRender: boolean = false) {\n    if (this.panels[uid]) {\n      if (forceReRender) {\n        this.panels[uid] = webview\n          .withPanel(this.panels[uid].getPanel())\n          .render();\n      }\n      this.panels[uid].display();\n      return;\n    }\n\n    const panel = window.createWebviewPanel(\"webView\", uid, ViewColumn.One, {\n      enableScripts: true,\n    });\n\n    webview.onDispose = () => delete this.panels[uid];\n    this.panels[uid] = webview.withPanel(panel).render();\n  }\n}\n\nexport abstract class WebView {\n  protected panel: WebviewPanel;\n  private _disposables: Disposable[] = [];\n  private _onDispose: () => void;\n\n  public constructor(\n    protected readonly extensionUri: Uri,\n    protected readonly title: string,\n  ) {}\n\n  set onDispose(disposeCallback: () => void) {\n    this._onDispose = disposeCallback;\n  }\n\n  abstract body(): string;\n  abstract l10nMessages?(): Record<string, string>;\n  abstract scripts?(): string[];\n  abstract styles?(): string[];\n  public render(): WebView {\n    const policies = [\n      `default-src 'none';`,\n      `font-src ${this.panel.webview.cspSource} data:;`,\n      `img-src ${this.panel.webview.cspSource} data:;`,\n      `script-src ${this.panel.webview.cspSource};`,\n      `style-src ${this.panel.webview.cspSource};`,\n    ];\n    const styles = (this?.styles() || [])\n      .map(\n        (style) =>\n          `<link rel=\"stylesheet\" href=\"${this.webviewUri(\n            this.extensionUri,\n            style,\n          )}\">`,\n      )\n      .join(\"\");\n    const scripts = (this?.scripts() || [])\n      .map(\n        (script) =>\n          `<script type=\"module\" src=\"${this.webviewUri(\n            this.extensionUri,\n            script,\n          )}\"></script>`,\n      )\n      .join(\"\");\n\n    this.panel.webview.html = `<!DOCTYPE html>\n      <html lang=\"en\">\n        <head>\n          <meta charset=\"UTF-8\" />\n          <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\" />\n          <meta http-equiv=\"Content-Security-Policy\" content=\"${policies.join(\n            \" \",\n          )}\" />\n          ${styles}\n          <title>${this.title}</title>\n        </head>\n        <body data-l10n='${JSON.stringify(this.l10nMessages ? this.l10nMessages() : {})}'>\n          ${this.body()}\n          ${scripts}\n        </body>\n      </html>`;\n\n    return this;\n  }\n\n  abstract processMessage(event: Event): void;\n\n  public withPanel(webviewPanel: WebviewPanel): WebView {\n    this.panel = webviewPanel;\n    this.panel.onDidDispose(() => this.dispose(), null, this._disposables);\n    this.panel.webview.onDidReceiveMessage(this.processMessage.bind(this));\n\n    return this;\n  }\n\n  public getPanel() {\n    return this.panel;\n  }\n\n  public dispose() {\n    this.panel.dispose();\n    while (this._disposables.length) {\n      const disposable = this._disposables.pop();\n      if (disposable) {\n        disposable.dispose();\n      }\n    }\n    this._onDispose && this._onDispose();\n  }\n\n  public display() {\n    this.panel.reveal(ViewColumn.One);\n  }\n\n  public webviewUri(extensionUri: Uri, name: string): Uri {\n    return this.panel.webview.asWebviewUri(\n      Uri.joinPath(extensionUri, \"client\", \"dist\", \"webview\", name),\n    );\n  }\n}\n"
  },
  {
    "path": "client/src/store/index.ts",
    "content": "// Copyright © 2022-2024, SAS Institute Inc., Cary, NC, USA.  All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nexport { useStore as useLogStore } from \"./log/store\";\nexport { useStore as useRunStore } from \"./run/store\";\n"
  },
  {
    "path": "client/src/store/log/actions.ts",
    "content": "// Copyright © 2022-2024, SAS Institute Inc., Cary, NC, USA.  All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { StateCreator } from \"zustand/vanilla\";\n\nimport type { Store } from \"./store\";\n\nexport interface LogActions {\n  /**\n   * Resets producedExecutionOutput to its default value.\n   */\n  setProducedExecutionLogOutput: (boolean) => void;\n}\n\nexport const createLogActions: StateCreator<Store, [], [], LogActions> = (\n  set,\n) => ({\n  setProducedExecutionLogOutput: (producedExecutionOutput: boolean) =>\n    set({ producedExecutionOutput }),\n});\n"
  },
  {
    "path": "client/src/store/log/initialState.ts",
    "content": "// Copyright © 2022-2024, SAS Institute Inc., Cary, NC, USA.  All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n//TODO: when session is refactored to flux pattern, types will move over\n\nexport interface LogState {\n  producedExecutionOutput: boolean;\n}\n\nexport const initialState: LogState = {\n  producedExecutionOutput: false,\n};\n"
  },
  {
    "path": "client/src/store/log/selectors.ts",
    "content": "// Copyright © 2022-2024, SAS Institute Inc., Cary, NC, USA.  All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport type { LogState } from \"./initialState\";\n\nconst selectProducedExecutionOutput = (store: LogState) => {\n  return store.producedExecutionOutput;\n};\n\nexport const logSelectors = {\n  selectProducedExecutionOutput,\n};\n"
  },
  {
    "path": "client/src/store/log/store.ts",
    "content": "// Copyright © 2022-2024, SAS Institute Inc., Cary, NC, USA.  All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { subscribeWithSelector } from \"zustand/middleware\";\nimport { StateCreator, createStore } from \"zustand/vanilla\";\n\nimport { LogActions, createLogActions } from \"./actions\";\nimport { LogState, initialState } from \"./initialState\";\n\nexport type Store = LogState & LogActions;\n\nconst createdStore: StateCreator<Store, []> = (...parameters) => ({\n  ...initialState,\n  ...createLogActions(...parameters),\n});\n\nexport const useStore = createStore<Store>()(\n  subscribeWithSelector(createdStore),\n);\n"
  },
  {
    "path": "client/src/store/middleware.ts",
    "content": "// Copyright © 2022-2024, SAS Institute Inc., Cary, NC, USA.  All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n\n/**\n * Middleware that will log state changes to the console. Useful for debugging purposes.\n * @param config\n */\nexport const logger = (config) => (set, get, api) => {\n  return config(\n    (args) => {\n      const newState = typeof args === \"function\" ? args(get()) : args;\n      console.info(`State changed:`, newState);\n      set(newState);\n    },\n    get,\n    api,\n  );\n};\n"
  },
  {
    "path": "client/src/store/run/actions.ts",
    "content": "// Copyright © 2022-2024, SAS Institute Inc., Cary, NC, USA.  All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { StateCreator } from \"zustand/vanilla\";\n\nimport { type Store } from \"./store\";\n\nexport interface RunActions {\n  setIsExecutingCode: (isExecuting: boolean, isUserExecuting?: boolean) => void;\n}\n\nexport const createRunActions: StateCreator<Store, [], [], RunActions> = (\n  set,\n) => ({\n  setIsExecutingCode: (isExecutingCode, isUserExecuting = true) => {\n    set({\n      isExecutingCode,\n      isUserExecuting,\n    });\n  },\n});\n"
  },
  {
    "path": "client/src/store/run/initialState.ts",
    "content": "// Copyright © 2022-2024, SAS Institute Inc., Cary, NC, USA.  All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nexport interface RunState {\n  isExecutingCode: boolean;\n  isUserExecuting: boolean;\n}\n\nexport const initialState: RunState = {\n  isExecutingCode: false,\n  isUserExecuting: false,\n};\n"
  },
  {
    "path": "client/src/store/run/selectors.ts",
    "content": "// Copyright © 2022-2024, SAS Institute Inc., Cary, NC, USA.  All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { RunState } from \"./initialState\";\n\nconst selectIsExecutingCode = (store: RunState) => {\n  return store.isExecutingCode;\n};\n\nexport const runSelectors = {\n  selectIsExecutingCode,\n};\n"
  },
  {
    "path": "client/src/store/run/store.ts",
    "content": "// Copyright © 2022-2024, SAS Institute Inc., Cary, NC, USA.  All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { subscribeWithSelector } from \"zustand/middleware\";\nimport { StateCreator, createStore } from \"zustand/vanilla\";\n\nimport { RunActions, createRunActions } from \"./actions\";\nimport { RunState, initialState } from \"./initialState\";\n\nexport type Store = RunState & RunActions;\n\nconst createdStore: StateCreator<Store, []> = (...parameters) => ({\n  ...initialState,\n  ...createRunActions(...parameters),\n});\n\nexport const useStore = createStore<Store>()(\n  subscribeWithSelector(createdStore),\n);\n"
  },
  {
    "path": "client/src/store/selectors.ts",
    "content": "// Copyright © 2022-2024, SAS Institute Inc., Cary, NC, USA.  All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n\nexport { logSelectors } from \"./log/selectors\";\nexport { runSelectors } from \"./run/selectors\";\n"
  },
  {
    "path": "client/src/webview/ColumnHeader.tsx",
    "content": "// Copyright © 2025, SAS Institute Inc., Cary, NC, USA.  All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { useRef } from \"react\";\n\nimport { AgColumn, GridApi } from \"ag-grid-community\";\n\nimport localize from \"./localize\";\nimport useTheme from \"./useTheme\";\n\nconst getIconForColumnType = (type: string) => {\n  switch (type.toLocaleLowerCase()) {\n    case \"float\":\n    case \"num\":\n      return \"float\";\n    case \"date\":\n      return \"date\";\n    case \"time\":\n      return \"time\";\n    case \"datetime\":\n      return \"date-time\";\n    case \"currency\":\n      return \"currency\";\n    case \"char\":\n      return \"char\";\n    default:\n      return \"\";\n  }\n};\n\nconst getTermForColumnType = (type: string) => {\n  switch (type.toLocaleLowerCase()) {\n    case \"float\":\n    case \"num\":\n      return localize(\"Numeric\");\n    case \"date\":\n      return localize(\"Date\");\n    case \"time\":\n    case \"datetime\":\n      return localize(\"Datetime\");\n    case \"currency\":\n      return localize(\"Currency\");\n    case \"char\":\n    default:\n      return localize(\"Character\");\n  }\n};\n\nconst ColumnHeader = ({\n  api,\n  column,\n  currentColumn: getCurrentColumn,\n  columnType,\n  displayMenuForColumn,\n}: {\n  api: GridApi;\n  column: AgColumn;\n  currentColumn: () => AgColumn | undefined;\n  columnType: string;\n  displayMenuForColumn: (api: GridApi, column: AgColumn, rect: DOMRect) => void;\n}) => {\n  const theme = useTheme();\n  const ref = useRef<HTMLButtonElement>(undefined!);\n  const currentColumn = getCurrentColumn();\n  const currentSortedColumns = api.getColumnState().filter((c) => c.sort);\n  const sort = column.getSort();\n  const columnNumber =\n    sort && currentSortedColumns.length > 1 ? `${column.sortIndex + 1}` : \"\";\n  const dropdownClassname =\n    currentColumn?.colId === column.colId ? \"active dropdown\" : \"dropdown\";\n  const sortTitle =\n    sort === \"asc\"\n      ? localize(\"Sorted, Ascending\")\n      : localize(\"Sorted, Descending\");\n\n  const displayColumnMenu = () =>\n    displayMenuForColumn(api, column, ref.current.getBoundingClientRect());\n\n  return (\n    <div className={`ag-cell-label-container ${theme}`} role=\"presentation\">\n      <div className=\"ag-header-cell-label\" role=\"presentation\">\n        <span\n          className={`header-icon ${getIconForColumnType(columnType)}`}\n          title={getTermForColumnType(columnType)}\n        />\n        <span className=\"ag-header-cell-text\" title={column.colId}>\n          {column.colId}\n        </span>\n        <span className=\"sort-icon-wrapper\">\n          {!!sort && (\n            <>\n              <span className={`icon ${sort}`} title={sortTitle}></span>\n              {!!columnNumber && <span className=\"number\">{columnNumber}</span>}\n            </>\n          )}\n        </span>\n        <div className={dropdownClassname}>\n          <button\n            ref={ref}\n            type=\"button\"\n            onClick={displayColumnMenu}\n            tabIndex={-1}\n            title={localize(\"Options\")}\n          >\n            <span />\n          </button>\n        </div>\n      </div>\n    </div>\n  );\n};\n\nexport default ColumnHeader;\n"
  },
  {
    "path": "client/src/webview/ColumnMenu.tsx",
    "content": "// Copyright © 2025, SAS Institute Inc., Cary, NC, USA.  All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { AgColumn, ColumnState, GridApi } from \"ag-grid-community\";\n\nimport GridMenu from \"./GridMenu\";\nimport localize from \"./localize\";\nimport { applyColumnState } from \"./useDataViewer\";\nimport useTheme from \"./useTheme\";\n\nexport interface ColumnMenuProps {\n  column: AgColumn;\n  dismissMenu: () => void;\n  hasSort: boolean;\n  left: number;\n  loadColumnProperties: () => void;\n  pinColumn: (side: \"left\" | \"right\" | false) => void;\n  removeAllSorting: () => void;\n  removeFromSort: () => void;\n  sortColumn: (direction: \"asc\" | \"desc\") => void;\n  top: number;\n}\n\n// Lets pick off only the column properties we care about.\nconst filteredColumnState = (columnState: ColumnState[]) => {\n  return columnState.map(({ colId, sort, sortIndex, pinned }) => {\n    return { colId, sort, sortIndex, pinned };\n  });\n};\n\nexport const getColumnMenu = (\n  api: GridApi,\n  column: AgColumn,\n  { height, top, left }: DOMRect,\n  dismissMenu: () => void,\n  loadColumnProperties: (columnName: string) => void,\n): ColumnMenuProps => ({\n  column,\n  dismissMenu,\n  hasSort: api.getColumnState().some((c) => c.sort),\n  left,\n  top: top + height,\n  pinColumn: (side: \"left\" | \"right\" | false) => {\n    const columnState = filteredColumnState(api.getColumnState());\n    const foundColumn = columnState.find((col) => col.colId === column.colId);\n    foundColumn.pinned = side;\n    applyColumnState(api, columnState);\n  },\n  sortColumn: (direction: \"asc\" | \"desc\" | null) => {\n    const columnState = filteredColumnState(api.getColumnState());\n    const foundColumn = columnState.find((col) => col.colId === column.colId);\n    const currentSortValue = foundColumn.sort;\n    foundColumn.sort = direction;\n    if (!currentSortValue) {\n      foundColumn.sortIndex = api.getColumnState().filter((c) => c.sort).length;\n    }\n    applyColumnState(api, columnState);\n  },\n  removeAllSorting: () =>\n    applyColumnState(\n      api,\n      filteredColumnState(api.getColumnState()).map((c) => ({\n        ...c,\n        sort: null,\n      })),\n    ),\n  removeFromSort: () => {\n    // First, lets remove from sort\n    let newColumnState = filteredColumnState(api.getColumnState())\n      .sort((a, b) => a.sortIndex - b.sortIndex)\n      .map((c) => ({\n        ...c,\n        sort: column.colId === c.colId ? null : c.sort,\n      }));\n\n    // Next, lets assign updated sort indices\n    let sortIndex = 0;\n    newColumnState = newColumnState.map((c) => {\n      if (!c.sort) {\n        return c;\n      }\n      return { ...c, sortIndex: sortIndex++ };\n    });\n\n    applyColumnState(api, newColumnState);\n  },\n  loadColumnProperties: () => {\n    loadColumnProperties(column.colId);\n  },\n});\n\nconst ColumnMenu = ({\n  column,\n  dismissMenu,\n  hasSort,\n  left,\n  loadColumnProperties,\n  pinColumn,\n  removeAllSorting,\n  removeFromSort,\n  sortColumn,\n  top,\n}: ColumnMenuProps) => {\n  const theme = useTheme();\n  const sort = column.getSort();\n  const pinned = column.getPinned();\n  const menuItems = [\n    {\n      name: localize(\"Pin\"),\n      children: [\n        {\n          name: localize(\"Pinned to the left\"),\n          checked: pinned === \"left\",\n          onPress: () => {\n            pinColumn(\"left\");\n            dismissMenu();\n          },\n        },\n        {\n          name: localize(\"Pinned to the right\"),\n          checked: pinned === \"right\",\n          onPress: () => {\n            pinColumn(\"right\");\n            dismissMenu();\n          },\n        },\n        {\n          name: localize(\"Not pinned\"),\n          checked: !pinned,\n          onPress: () => {\n            pinColumn(false);\n            dismissMenu();\n          },\n        },\n      ],\n    },\n    \"separator\",\n    {\n      name: localize(\"Sort\"),\n      children: [\n        {\n          name:\n            hasSort && !sort\n              ? localize(\"Ascending (add to sorting)\")\n              : localize(\"Ascending\"),\n          checked: sort === \"asc\",\n          onPress: () => {\n            sortColumn(\"asc\");\n            dismissMenu();\n          },\n        },\n        {\n          name:\n            hasSort && !sort\n              ? localize(\"Descending (add to sorting)\")\n              : localize(\"Descending\"),\n          checked: sort === \"desc\",\n          onPress: () => {\n            sortColumn(\"desc\");\n            dismissMenu();\n          },\n        },\n        \"separator\",\n        {\n          name: localize(\"Remove sorting\"),\n          onPress: () => {\n            removeFromSort();\n            dismissMenu();\n          },\n          disabled: !hasSort || !sort,\n        },\n        {\n          name: localize(\"Remove all sorting\"),\n          onPress: () => {\n            removeAllSorting();\n            dismissMenu();\n          },\n          disabled: !hasSort,\n        },\n      ],\n    },\n    \"separator\",\n    {\n      name: localize(\"Properties\"),\n      onPress: loadColumnProperties,\n    },\n  ];\n\n  return <GridMenu menuItems={menuItems} top={top} left={left} theme={theme} />;\n};\n\nexport default ColumnMenu;\n"
  },
  {
    "path": "client/src/webview/DataViewer.css",
    "content": "body {\n  padding: 0;\n}\n\nhtml,\nbody {\n  min-height: 100%;\n}\n\nhtml,\nbody,\n.data-viewer-container,\n.data-viewer {\n  height: 100%;\n}\n\n.data-viewer-container {\n  overflow: hidden;\n}\n\n.data-viewer {\n  padding: 1rem 1rem 0 1rem;\n}\n\n.header-icon.float,\n.header-icon.date,\n.header-icon.time,\n.header-icon.date-time,\n.header-icon.currency,\n.header-icon.char {\n  width: 16px;\n  height: 22px;\n  margin-right: 0.25rem;\n}\n\n/* DEFAULT ICONS */\n\n.header-icon.float {\n  background: url(../../../icons/light/tableHeaderNumericTypeLight.svg) center\n    no-repeat;\n}\n\n.header-icon.time,\n.header-icon.date-time,\n.header-icon.date {\n  background: url(../../../icons/light/tableHeaderDateLight.svg) center\n    no-repeat;\n}\n\n.header-icon.currency {\n  background: url(../../../icons/light/tableHeaderCurrencyLight.svg) center\n    no-repeat;\n}\n\n.header-icon.char {\n  background: url(../../../icons/light/tableHeaderCharacterTypeLight.svg) center\n    no-repeat;\n}\n\n/* DARK MODE ICONS */\n\n.vscode-dark .header-icon.float,\n.vscode-high-contrast .header-icon.float {\n  background: url(../../../icons/dark/tableHeaderNumericTypeDark.svg) center\n    no-repeat;\n}\n\n.header-icon.time,\n.header-icon.date-time,\n.vscode-dark .header-icon.date,\n.vscode-high-contrast .header-icon.date {\n  background: url(../../../icons/dark/tableHeaderDateDark.svg) center no-repeat;\n}\n\n.vscode-dark .header-icon.currency,\n.vscode-high-contrast .header-icon.currency {\n  background: url(../../../icons/dark/tableHeaderCurrencyDark.svg) center\n    no-repeat;\n}\n\n.vscode-dark .header-icon.char,\n.vscode-high-contrast .header-icon.char {\n  background: url(../../../icons/dark/tableHeaderCharacterTypeDark.svg) center\n    no-repeat;\n}\n\n.ag-cell-label-container button {\n  background: none;\n  border: none;\n  margin: 0;\n  padding: 0;\n}\n\n.ag-cell-label-container {\n  position: relative;\n}\n\n.ag-cell-label-container .dropdown {\n  display: none;\n  margin-left: 0.25rem;\n}\n\nbutton,\n.ag-menu-option:not(.ag-menu-option-disabled) {\n  cursor: pointer;\n}\n\n.dropdown button {\n  display: block;\n  width: 16px;\n  height: 16px;\n}\n\n.dropdown button {\n  background: url(../../../icons/light/more.svg);\n  background-size: 16px 16px;\n}\n\n.vscode-dark .dropdown button {\n  background: url(../../../icons/dark/more.svg);\n  background-size: 16px 16px;\n}\n\n.ag-header-active .ag-cell-label-container .dropdown,\n.ag-cell-label-container .dropdown.active {\n  display: flex;\n}\n\n.sort-icon-wrapper {\n  margin-left: auto;\n}\n\n.sort-icon-wrapper .icon,\n.sort-icon-wrapper .number {\n  width: 16px;\n  height: 16px;\n  display: inline-block;\n  vertical-align: middle;\n}\n\n.sort-icon-wrapper .icon.asc {\n  background: url(../../../icons/light/arrow-up.svg);\n  background-size: 16px 16px;\n}\n\n.vscode-dark .sort-icon-wrapper .icon.asc {\n  background: url(../../../icons/dark/arrow-up.svg);\n  background-size: 16px 16px;\n}\n\n.sort-icon-wrapper .icon.desc {\n  background: url(../../../icons/light/arrow-down.svg);\n  background-size: 16px 16px;\n}\n\n.vscode-dark .sort-icon-wrapper .icon.desc {\n  background: url(../../../icons/dark/arrow-down.svg);\n  background-size: 16px 16px;\n}\n\n.filter-wrapper .filter-input {\n  background: var(--vscode-input-background);\n  margin-bottom: 1rem;\n  position: relative;\n}\n.filter-wrapper .filter-input input {\n  color: var(--vscode-input-foreground);\n  background: transparent;\n  border: none;\n  padding: 0.5rem;\n  width: 100%;\n  box-sizing: border-box;\n  padding-right: calc(32px + 2rem);\n  outline: 1px solid var(--vscode-editorGroup-border);\n}\n\n.filter-wrapper .filter-input input:focus {\n  outline: 1px solid var(--vscode-inputOption-activeBorder);\n}\n\n.filter-wrapper .filter-input button {\n  width: 16px;\n  height: 16px;\n  position: absolute;\n  top: 0;\n  padding: 1rem;\n  border: 0;\n  right: 0;\n}\n\n.filter-wrapper .filter-input button.clear {\n  right: calc(16px + 1rem);\n}\n\n.vscode-dark .filter-wrapper .filter-input button.clear {\n  background: url(../../../icons/dark/close.svg) center no-repeat;\n  background-size: 16px 16px;\n}\n\n.vscode-dark .filter-wrapper .filter-input button.search {\n  background: url(../../../icons/dark/search.svg) center no-repeat;\n  background-size: 16px 16px;\n}\n\n.vscode-light .filter-wrapper .filter-input button.clear {\n  background: url(../../../icons/light/close.svg) center no-repeat;\n  background-size: 16px 16px;\n}\n\n.vscode-light .filter-wrapper .filter-input button.search {\n  background: url(../../../icons/light/search.svg) center no-repeat;\n  background-size: 16px 16px;\n}\n"
  },
  {
    "path": "client/src/webview/DataViewer.tsx",
    "content": "// Copyright © 2023, SAS Institute Inc., Cary, NC, USA.  All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { useCallback, useEffect } from \"react\";\nimport { createRoot } from \"react-dom/client\";\n\nimport { AgGridReact } from \"ag-grid-react\";\n\nimport \".\";\nimport ColumnMenu from \"./ColumnMenu\";\nimport TableFilter from \"./TableFilter\";\nimport localize from \"./localize\";\nimport useDataViewer from \"./useDataViewer\";\nimport useTheme from \"./useTheme\";\n\nimport \"./DataViewer.css\";\nimport \"ag-grid-community/styles/ag-grid.css\";\nimport \"ag-grid-community/styles/ag-theme-alpine.css\";\n\nconst gridStyles = {\n  \"--ag-borders\": \"none\",\n  \"--ag-row-border-width\": \"0px\",\n  height: \"calc(100% - 9.2rem)\",\n  width: \"100%\",\n};\n\nconst DataViewer = () => {\n  const title = document\n    .querySelector(\"[data-title]\")\n    .getAttribute(\"data-title\");\n  const theme = useTheme();\n  const {\n    columnMenu,\n    columns,\n    dismissMenu,\n    gridRef,\n    onGridReady,\n    refreshResults,\n    viewProperties,\n  } = useDataViewer();\n\n  const handleKeydown = useCallback(\n    (event) => {\n      if (event.key === \"Escape\" && columnMenu) {\n        dismissMenu();\n      }\n    },\n    [columnMenu, dismissMenu],\n  );\n  const dismissMenuWithoutFocus = useCallback(\n    () => dismissMenu(false),\n    [dismissMenu],\n  );\n\n  useEffect(() => {\n    document.addEventListener(\"keydown\", handleKeydown);\n    window.addEventListener(\"blur\", dismissMenuWithoutFocus);\n    return () => {\n      document.removeEventListener(\"keydown\", handleKeydown);\n      window.removeEventListener(\"blur\", dismissMenuWithoutFocus);\n    };\n  }, [handleKeydown, dismissMenuWithoutFocus]);\n\n  if (columns.length === 0) {\n    return null;\n  }\n\n  return (\n    <div className=\"data-viewer\">\n      <h1>{title}</h1>\n      <TableFilter\n        onCommit={(value) => {\n          refreshResults({ filterValue: value });\n        }}\n        initialValue={viewProperties()?.query?.filterValue ?? \"\"}\n      />\n      {columnMenu && <ColumnMenu {...columnMenu} />}\n      <div\n        className={`ag-grid-wrapper ${theme}`}\n        style={gridStyles}\n        onClick={() => columnMenu && dismissMenuWithoutFocus()}\n      >\n        <AgGridReact\n          ref={gridRef}\n          cacheBlockSize={100}\n          columnDefs={columns}\n          defaultColDef={{\n            sortable: true,\n          }}\n          maintainColumnOrder\n          infiniteInitialRowCount={100}\n          maxBlocksInCache={10}\n          onGridReady={onGridReady}\n          rowModelType=\"infinite\"\n          theme=\"legacy\"\n          noRowsOverlayComponent={() =>\n            localize(\"No data matches the current filters.\")\n          }\n          suppressDragLeaveHidesColumns\n        />\n      </div>\n    </div>\n  );\n};\n\nconst root = createRoot(document.querySelector(\".data-viewer-container\"));\nroot.render(<DataViewer />);\n"
  },
  {
    "path": "client/src/webview/GridMenu.tsx",
    "content": "// Copyright © 2025, SAS Institute Inc., Cary, NC, USA.  All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { useCallback, useEffect, useRef, useState } from \"react\";\n\nconst MENU_RIGHT_OFFSET = 30;\n\ninterface MenuItem {\n  checked?: boolean;\n  children?: (MenuItem | string)[];\n  disabled?: boolean;\n  name: string;\n  onPress?: () => void;\n}\n\nconst GridMenu = ({\n  dismissMenu,\n  // note: `id` is used to distinguish one menu from another, so that we trigger\n  // a resize when the menu contents have changed.\n  id,\n  left: incomingLeft,\n  menuItems,\n  parentDimensions,\n  subMenu: isSubMenu,\n  theme,\n  top,\n}: {\n  dismissMenu?: () => void;\n  id?: number;\n  left?: number;\n  menuItems: (MenuItem | string)[];\n  parentDimensions?: { left: number; width: number };\n  subMenu?: boolean;\n  theme: string;\n  top: number;\n}) => {\n  const menuRef = useRef<HTMLDivElement>(undefined);\n  const [activeIndex, setActiveIndex] = useState(-1);\n  const [subMenu, setSubMenu] = useState<\n    { items: (MenuItem | string)[]; index: number } | undefined\n  >(undefined);\n  const className = isSubMenu\n    ? `ag-menu ag-ltr ag-popup-child ${theme}`\n    : `ag-menu ag-column-menu ag-ltr ag-popup-child ag-popup-positioned-under ${theme}`;\n\n  // The following useEffect positions our column header menu. There are three general\n  // ways of laying things out.\n  // - option 1. If there is enough room for the parent menu and child menu to the right, the\n  //.  menus are displayed left to right.\n  // - option 2. If the parent menu has enough room, we don't shift it. If the child menu doesn't\n  //.  fit to the right, we move it to the left side.\n  // - option 3. The parent menu doesn't fit on the screen, so we shift it to the left and\n  //   put the child menu on the left side.\n  const [left, setLeft] = useState(parentDimensions?.left ?? incomingLeft);\n  const [width, setWidth] = useState(0);\n  const [selectedIndex, setSelectedIndex] = useState(0);\n\n  const handleClickMenuItem = useCallback(\n    (index: number, menuItem: MenuItem) => {\n      if (menuItem.disabled) {\n        return;\n      }\n      if (menuItem.onPress) {\n        return menuItem.onPress();\n      }\n      if (menuItem.children) {\n        setSubMenu({ items: menuItem.children, index });\n      }\n    },\n    [],\n  );\n\n  const focusItem = (index: number) => {\n    setTimeout(() => {\n      const item =\n        menuRef.current &&\n        // eslint-disable-next-line @typescript-eslint/consistent-type-assertions\n        (menuRef.current.querySelector(\n          `[data-index=\"${index}\"]`,\n        ) as HTMLElement);\n      if (!item) {\n        return;\n      }\n      item.focus();\n      setSelectedIndex(index);\n    }, 0);\n  };\n\n  const handleKeydown = useCallback(\n    (event: KeyboardEvent) => {\n      if (subMenu || typeof menuItems[selectedIndex] === \"string\") {\n        return;\n      }\n\n      switch (event.key) {\n        case \"ArrowLeft\":\n        case \"Escape\":\n          if (event.key === \"ArrowLeft\") {\n            event.stopPropagation();\n          }\n          if (dismissMenu) {\n            return dismissMenu();\n          }\n          break;\n        case \"ArrowDown\":\n          return focusItem(nextIndex());\n        case \"ArrowUp\":\n          return focusItem(previousIndex());\n        case \"Enter\":\n        case \" \":\n          handleClickMenuItem(selectedIndex, menuItems[selectedIndex]);\n          return event.stopPropagation();\n        case \"ArrowRight\":\n          if (!menuItems[selectedIndex].children) {\n            break;\n          }\n          handleClickMenuItem(selectedIndex, menuItems[selectedIndex]);\n          return event.stopPropagation();\n        default:\n          break;\n      }\n      function nextIndex() {\n        return menuItems.findIndex(\n          (menuItem, index) =>\n            index > selectedIndex && typeof menuItem !== \"string\",\n        );\n      }\n      function previousIndex() {\n        for (let index = menuItems.length - 1; index >= 0; --index) {\n          if (index < selectedIndex && typeof menuItems[index] !== \"string\") {\n            return index;\n          }\n        }\n        return 0;\n      }\n    },\n    [handleClickMenuItem, selectedIndex, menuItems, dismissMenu, subMenu],\n  );\n\n  useEffect(() => {\n    document.addEventListener(\"keydown\", handleKeydown);\n    return () => {\n      document.removeEventListener(\"keydown\", handleKeydown);\n    };\n  }, [handleKeydown]);\n\n  useEffect(() => {\n    const clientWidth = menuRef.current.closest(\"body\").clientWidth;\n    const width = menuRef.current.getBoundingClientRect().width;\n    setWidth(width);\n    focusItem(0);\n    if (parentDimensions) {\n      // First, lets put the child menu to the right\n      let adjustedLeft = parentDimensions.left + parentDimensions.width;\n      // If that's off screen, lets instead place it to the left\n      if (adjustedLeft + width > clientWidth) {\n        adjustedLeft = parentDimensions.left - width;\n      }\n      setLeft(adjustedLeft);\n      return;\n    }\n    if (left + width > clientWidth) {\n      setLeft(left - (left + width - clientWidth + MENU_RIGHT_OFFSET));\n    }\n  }, [id]); // eslint-disable-line react-hooks/exhaustive-deps\n\n  return (\n    <>\n      {subMenu && subMenu.items.length > 0 && (\n        <GridMenu\n          id={subMenu.index}\n          dismissMenu={() => {\n            focusItem(subMenu.index);\n            setSubMenu(undefined);\n          }}\n          menuItems={subMenu.items}\n          parentDimensions={{ left, width }}\n          subMenu\n          theme={theme}\n          top={top}\n        />\n      )}\n      <div\n        className=\"ag-theme-sas ag-popup\"\n        // We rely on the menu being displayed/having width _first_ before being able to\n        // calculate it's correct left position. This prevents actually showing the\n        // menu to the user until we've figured that out. This prevents flashes of the\n        // menu in the wrong position.\n        style={{ visibility: width ? \"visible\" : \"hidden\" }}\n      >\n        <div\n          className={className}\n          role=\"presentation\"\n          style={{ top, left }}\n          ref={menuRef}\n        >\n          <div className=\"ag-menu-list ag-focus-managed\" role=\"menu\">\n            <div\n              className=\"ag-tab-guard ag-tab-guard-top\"\n              role=\"presentation\"\n            ></div>\n            {menuItems.map((menuItem, index) => {\n              if (typeof menuItem === \"string\") {\n                return <Separator key={index} />;\n              }\n              return (\n                <div\n                  aria-expanded=\"false\"\n                  data-index={index}\n                  className={`ag-menu-option ${index === activeIndex ? \"ag-menu-option-active\" : \"\"} ${menuItem.disabled ? \"ag-menu-option-disabled\" : \"\"}`}\n                  role=\"menuitem\"\n                  aria-haspopup=\"menu\"\n                  key={menuItem.name}\n                  tabIndex={-1}\n                  onMouseEnter={() => {\n                    if (menuItem.disabled) {\n                      return;\n                    }\n                    setActiveIndex(index);\n                    if (menuItem.children) {\n                      setSubMenu({ items: menuItem.children, index });\n                    } else {\n                      setSubMenu(undefined);\n                    }\n                  }}\n                  onMouseLeave={(e) => {\n                    if (menuItem.disabled) {\n                      return;\n                    }\n                    setActiveIndex(-1);\n                    const targetInPopup = Array.from(\n                      document.querySelectorAll(\".ag-popup\"),\n                      // eslint-disable-next-line @typescript-eslint/consistent-type-assertions\n                    ).some((t) => t.contains(e.target as HTMLElement));\n                    if (!targetInPopup) {\n                      setSubMenu(undefined);\n                    }\n                  }}\n                >\n                  <span\n                    className=\"ag-menu-option-part ag-menu-option-icon\"\n                    role=\"presentation\"\n                  >\n                    {menuItem.checked && (\n                      <span\n                        className=\"ag-icon ag-icon-tick\"\n                        role=\"presentation\"\n                      />\n                    )}\n                  </span>\n                  <span\n                    className=\"ag-menu-option-part ag-menu-option-text\"\n                    onClick={() => handleClickMenuItem(index, menuItem)}\n                  >\n                    {menuItem.name}\n                  </span>\n                  <span className=\"ag-menu-option-part ag-menu-option-shortcut\"></span>\n                  <span className=\"ag-menu-option-part ag-menu-option-popup-pointer\">\n                    {menuItem.children && menuItem.children.length > 0 && (\n                      <span\n                        className=\"ag-icon ag-icon-small-right\"\n                        role=\"presentation\"\n                      />\n                    )}\n                  </span>\n                </div>\n              );\n            })}\n            <div\n              className=\"ag-tab-guard ag-tab-guard-bottom\"\n              role=\"presentation\"\n            />\n          </div>\n        </div>\n      </div>\n    </>\n  );\n};\n\nconst Separator = () => (\n  <div className=\"ag-menu-separator\" aria-hidden=\"true\">\n    {\" \"}\n    <div className=\"ag-menu-separator-part\"></div>{\" \"}\n    <div className=\"ag-menu-separator-part\"></div>{\" \"}\n    <div className=\"ag-menu-separator-part\"></div>{\" \"}\n    <div className=\"ag-menu-separator-part\"></div>{\" \"}\n  </div>\n);\n\nexport default GridMenu;\n"
  },
  {
    "path": "client/src/webview/TableFilter.tsx",
    "content": "// Copyright © 2026, SAS Institute Inc., Cary, NC, USA.  All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { useState } from \"react\";\n\nimport localize from \"./localize\";\n\ninterface TableFilterProps {\n  onCommit: (value: string) => void;\n  initialValue: string;\n}\n\nconst TableFilter = ({ onCommit, initialValue }: TableFilterProps) => {\n  const [filterValue, setFilterValue] = useState(initialValue);\n\n  return (\n    <div className=\"filter-wrapper\">\n      <div className=\"filter-input\">\n        <input\n          type=\"text\"\n          title={localize(\"Enter expression\")}\n          placeholder={localize(\"Enter expression\")}\n          value={filterValue}\n          onChange={(e) => setFilterValue(e.target.value)}\n          onKeyUp={(e) => {\n            if (e.key === \"Enter\") {\n              onCommit(filterValue);\n            }\n          }}\n        />\n        {filterValue ? (\n          <button\n            className=\"clear\"\n            title={localize(\"Clear\")}\n            type=\"button\"\n            onClick={() => {\n              setFilterValue(\"\");\n              onCommit(\"\");\n            }}\n          ></button>\n        ) : undefined}\n        <button\n          className=\"search\"\n          title={localize(\"Search\")}\n          type=\"button\"\n          onClick={() => onCommit(filterValue)}\n        ></button>\n      </div>\n    </div>\n  );\n};\n\nexport default TableFilter;\n"
  },
  {
    "path": "client/src/webview/TablePropertiesViewer.css",
    "content": "body {\n  font-family: var(--vscode-font-family);\n  font-size: var(--vscode-font-size);\n  font-weight: var(--vscode-font-weight);\n  color: var(--vscode-foreground);\n  background-color: var(--vscode-editor-background);\n  margin: 0;\n  padding: 16px;\n}\n\n.container {\n  max-width: 1200px;\n  margin: 0 auto;\n}\n\n.tabs {\n  display: flex;\n  border-bottom: 1px solid var(--vscode-panel-border);\n  margin-bottom: 16px;\n}\n\n.tab {\n  padding: 10px 20px;\n  cursor: pointer;\n  border: none;\n  background: none;\n  color: var(--vscode-foreground);\n  border-bottom: 2px solid transparent;\n  font-family: inherit;\n  font-size: inherit;\n}\n\n.tab:hover {\n  background-color: var(--vscode-list-hoverBackground);\n}\n\n.tab.active {\n  border-bottom-color: var(--vscode-focusBorder);\n  color: var(--vscode-tab-activeForeground);\n}\n\n.tab-content {\n  display: none;\n  padding: 20px 0;\n}\n\n.tab-content.active {\n  display: block;\n}\n\n.properties-table {\n  width: 100%;\n  border-collapse: collapse;\n  margin-bottom: 16px;\n}\n\n.properties-table th,\n.properties-table td {\n  border: 1px solid var(--vscode-panel-border);\n  padding: 8px 12px;\n  text-align: left;\n}\n\n.properties-table th {\n  background-color: var(--vscode-list-hoverBackground);\n  font-weight: bold;\n}\n\n.properties-table tr:nth-child(even) {\n  background-color: var(--vscode-list-hoverBackground);\n}\n\n.properties-table tr.active {\n  color: var(--vscode-list-activeSelectionForeground);\n  background-color: var(--vscode-list-activeSelectionBackground);\n}\n\n.property-label {\n  font-weight: bold;\n  min-width: 200px;\n}\n\n.section-title {\n  font-size: 1.2em;\n  font-weight: bold;\n  margin: 20px 0 10px 0;\n  color: var(--vscode-foreground);\n}\n"
  },
  {
    "path": "client/src/webview/TablePropertiesViewer.ts",
    "content": "// Copyright © 2025, SAS Institute Inc., Cary, NC, USA.  All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport \"./TablePropertiesViewer.css\";\n\nfunction showTab(tabName: string, clickedTab?: HTMLElement): void {\n  const contents = document.querySelectorAll(\".tab-content\");\n  contents.forEach((content) => content.classList.remove(\"active\"));\n\n  const tabs = document.querySelectorAll(\".tab\");\n  tabs.forEach((tab) => tab.classList.remove(\"active\"));\n\n  const selectedContent = document.getElementById(tabName);\n  if (selectedContent) {\n    selectedContent.classList.add(\"active\");\n  }\n\n  if (clickedTab) {\n    clickedTab.classList.add(\"active\");\n  }\n}\n\nconst eventListeners: Array<{\n  element: Element;\n  handler: EventListener;\n}> = [];\n\nfunction setupEventListeners(): void {\n  const tabButtons = document.querySelectorAll(\".tab\");\n  tabButtons.forEach((button) => {\n    const handler = (event: Event) => {\n      const target = event.currentTarget;\n      if (target instanceof HTMLElement) {\n        const tabName = target.getAttribute(\"data-tab\");\n        if (tabName) {\n          showTab(tabName, target);\n        }\n      }\n    };\n    button.addEventListener(\"click\", handler);\n    eventListeners.push({ element: button, handler });\n  });\n}\n\nfunction cleanupEventListeners(): void {\n  eventListeners.forEach(({ element, handler }) => {\n    element.removeEventListener(\"click\", handler);\n  });\n  eventListeners.length = 0;\n}\n\ndocument.addEventListener(\"DOMContentLoaded\", setupEventListeners);\nwindow.addEventListener(\"beforeunload\", cleanupEventListeners);\n\nexport {};\n"
  },
  {
    "path": "client/src/webview/index.ts",
    "content": "// Copyright © 2023, SAS Institute Inc., Cary, NC, USA.  All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n\n// This declares a global type for DedicatedWorkerGlobalScope which\n// doesn't exist in the DOM library. This is necessary because there are conflicts\n// when including both DOM & WebWorker. See https://github.com/microsoft/TypeScript/issues/20595\n// for more information.\ndeclare global {\n  type DedicatedWorkerGlobalScope = Worker;\n}\n\nexport {};\n"
  },
  {
    "path": "client/src/webview/localize.ts",
    "content": "// Copyright © 2025, SAS Institute Inc., Cary, NC, USA.  All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n\n// `localize` provides functionality to use localized strings in react webviews\n// This expects for translations to be defined in a script block with an id of\n// `l10-messages`.\nlet localizedTerms = null;\nconst localize = (term: string, replacments?: Record<string, string>) => {\n  if (!localizedTerms) {\n    try {\n      localizedTerms = JSON.parse(\n        document.body.getAttribute(\"data-l10n\") || \"{}\",\n      );\n      // eslint-disable-next-line @typescript-eslint/no-unused-vars\n    } catch (e) {\n      return term;\n    }\n  }\n\n  let translatedString = localizedTerms[term] ?? term;\n  if (replacments) {\n    Object.entries(replacments).forEach(\n      ([key, value]) =>\n        (translatedString = translatedString.replace(`{${key}}`, value)),\n    );\n  }\n\n  return translatedString;\n};\n\nexport default localize;\n"
  },
  {
    "path": "client/src/webview/useDataViewer.ts",
    "content": "// Copyright © 2023, SAS Institute Inc., Cary, NC, USA.  All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { useCallback, useEffect, useRef, useState } from \"react\";\n\nimport {\n  AgColumn,\n  AllCommunityModule,\n  ColDef,\n  ColumnState,\n  GridApi,\n  GridReadyEvent,\n  IGetRowsParams,\n  ModuleRegistry,\n  SortModelItem,\n  SuppressHeaderKeyboardEventParams,\n} from \"ag-grid-community\";\nimport { AgGridReact } from \"ag-grid-react\";\nimport { v4 } from \"uuid\";\n\nimport type {\n  TableData,\n  TableQuery,\n} from \"../components/LibraryNavigator/types\";\nimport { Column } from \"../connection/rest/api/compute\";\nimport type { ViewProperties } from \"../panels/DataViewer\";\nimport ColumnHeader from \"./ColumnHeader\";\nimport { ColumnMenuProps, getColumnMenu } from \"./ColumnMenu\";\nimport localize from \"./localize\";\n\ndeclare const acquireVsCodeApi;\nconst vscode = acquireVsCodeApi();\n\nModuleRegistry.registerModules([AllCommunityModule]);\n\nconst contextMenuHandler = (e) => {\n  e.stopImmediatePropagation();\n};\n\nexport const applyColumnState = (api: GridApi, state: ColumnState[]) => {\n  api.applyColumnState({ state, defaultState: { sort: null } });\n  api.ensureIndexVisible(0);\n  storeViewProperties({ columnState: state });\n};\n\nconst defaultTimeout = 60 * 1000; // 60 seconds (accounting for compute session expiration)\n\nlet queryTableDataTimeoutId: ReturnType<typeof setTimeout> | null = null;\nconst clearQueryTimeout = (): void => {\n  if (!queryTableDataTimeoutId) {\n    return;\n  }\n  clearTimeout(queryTableDataTimeoutId);\n  queryTableDataTimeoutId = null;\n};\nconst queryTableData = (\n  start: number,\n  end: number,\n  sortModel: SortModelItem[],\n  query: TableQuery | undefined,\n): Promise<TableData> => {\n  const requestKey = v4();\n  vscode.postMessage({\n    command: \"request:loadData\",\n    key: requestKey,\n    data: { start, end, sortModel, query },\n  });\n\n  return new Promise((resolve, reject) => {\n    const commandHandler = (event) => {\n      const { data } = event.data;\n      if (event.data.key !== requestKey) {\n        return;\n      }\n      if (event.data.command === \"response:loadData\") {\n        window.removeEventListener(\"message\", commandHandler);\n        clearQueryTimeout();\n        resolve(data);\n      }\n    };\n\n    clearQueryTimeout();\n    queryTableDataTimeoutId = setTimeout(() => {\n      window.removeEventListener(\"message\", commandHandler);\n      reject(new Error(\"Timeout exceeded\"));\n    }, defaultTimeout);\n\n    window.addEventListener(\"message\", commandHandler);\n  });\n};\n\nlet fetchColumnsTimeoutId: ReturnType<typeof setTimeout> | null = null;\nconst clearFetchColumnsTimeout = () =>\n  fetchColumnsTimeoutId && clearTimeout(fetchColumnsTimeoutId);\nconst fetchColumns = (): Promise<{\n  columns: Column[];\n  viewProperties?: ViewProperties;\n}> => {\n  const requestKey = v4();\n  vscode.postMessage({ command: \"request:loadColumns\", key: requestKey });\n\n  return new Promise((resolve, reject) => {\n    const commandHandler = (event) => {\n      const { data } = event.data;\n      if (event.data.key !== requestKey) {\n        return;\n      }\n      if (event.data.command === \"response:loadColumns\") {\n        window.removeEventListener(\"message\", commandHandler);\n        clearFetchColumnsTimeout();\n        resolve(data);\n      }\n    };\n\n    clearFetchColumnsTimeout();\n    fetchColumnsTimeoutId = setTimeout(() => {\n      window.removeEventListener(\"message\", commandHandler);\n      reject(new Error(\"Timeout exceeded\"));\n    }, defaultTimeout);\n\n    window.addEventListener(\"message\", commandHandler);\n  });\n};\n\nexport const storeViewProperties = (viewProperties: ViewProperties) =>\n  vscode.postMessage({\n    command: \"request:storeViewProperties\",\n    data: { viewProperties },\n  });\n\nconst useDataViewer = () => {\n  const gridRef = useRef<AgGridReact>(null);\n  const [columns, setColumns] = useState<ColDef[]>([]);\n  const [columnMenu, setColumnMenu] = useState<ColumnMenuProps | undefined>();\n  const [queryParams, setQueryParamsState] = useState<TableQuery | undefined>(\n    undefined,\n  );\n  const setQueryParams = (query: TableQuery | undefined) => {\n    setQueryParamsState(query);\n    storeViewProperties({ query });\n  };\n\n  const columnMenuRef = useRef<ColumnMenuProps | undefined>(columnMenu);\n  const columnStateRef = useRef<ColumnState[] | undefined>(undefined);\n  const loadedViewPropertiesRef = useRef<ViewProperties | undefined>(undefined);\n  useEffect(() => {\n    columnMenuRef.current = columnMenu;\n  }, [columnMenu]);\n\n  const dataSource = useCallback(\n    (incomingQueryParams?: TableQuery) => ({\n      rowCount: undefined,\n      getRows: async (params: IGetRowsParams) => {\n        params.api.setGridOption(\"activeOverlay\", undefined);\n        const tableData = await queryTableData(\n          params.startRow,\n          params.endRow,\n          params.sortModel,\n          incomingQueryParams || queryParams,\n        );\n        if (tableData.rows.length === 0) {\n          params.api.setGridOption(\"activeOverlay\", \"agNoRowsOverlay\");\n        }\n\n        const { rows, count } = tableData;\n        const rowData = rows.map(({ cells }) => {\n          const row = cells.reduce(\n            (carry, cell, index) => ({\n              ...carry,\n              [columns[index].field]: cell,\n            }),\n            {},\n          );\n\n          return row;\n        });\n\n        params.successCallback(\n          rowData,\n          // If we've returned less than 100 rows, we can assume that's the last page\n          // of the data and stop searching.\n          rowData.length < 100 && count === undefined\n            ? rowData[rowData.length - 1][\"#\"]\n            : count,\n        );\n      },\n    }),\n    [columns, queryParams],\n  );\n\n  const onGridReady = useCallback(\n    (event: GridReadyEvent) => {\n      const { columnState, query } = loadedViewPropertiesRef.current;\n      event.api.setGridOption(\"datasource\", dataSource(query));\n\n      // Re-hydrate our view with persisted view properties\n      if (!loadedViewPropertiesRef.current) {\n        return;\n      }\n      if (query) {\n        setQueryParams(query);\n      }\n      if (columnState && columnState.length > 0) {\n        applyColumnState(event.api, columnState);\n        event.api.refreshHeader();\n        columnStateRef.current = undefined;\n      }\n    },\n    [dataSource],\n  );\n\n  const dismissMenu = (focusColumn: boolean = true) => {\n    if (focusColumn && columnMenuRef.current?.column.colId) {\n      // eslint-disable-next-line @typescript-eslint/consistent-type-assertions\n      const headerElement = document.querySelector(\n        `.ag-header-cell[col-id=\"${columnMenuRef.current.column.colId}\"]`,\n      ) as HTMLElement;\n      if (headerElement) {\n        headerElement.focus();\n      }\n    }\n    setColumnMenu(undefined);\n  };\n\n  const refreshResults = useCallback(\n    (query: TableQuery | undefined) => {\n      const params = queryParams ? { ...queryParams, ...(query || {}) } : query;\n      setQueryParams(params);\n      gridRef.current.api.setGridOption(\"datasource\", dataSource(params));\n    },\n    [dataSource, queryParams],\n  );\n\n  const displayMenuForColumn = useCallback(\n    (api: GridApi, column: AgColumn, rect: DOMRect) => {\n      if (columnMenuRef.current?.column) {\n        return setColumnMenu(undefined);\n      }\n      setColumnMenu(\n        getColumnMenu(api, column, rect, dismissMenu, (columnName: string) => {\n          vscode.postMessage({\n            command: \"request:loadColumnProperties\",\n            data: { columnName },\n          });\n        }),\n      );\n    },\n    [],\n  );\n\n  useEffect(() => {\n    if (columns.length > 0) {\n      return;\n    }\n\n    fetchColumns().then(({ columns: columnsData, viewProperties }) => {\n      if (viewProperties.columnState && viewProperties.columnState.length > 0) {\n        columnStateRef.current = viewProperties.columnState;\n      }\n      loadedViewPropertiesRef.current = viewProperties;\n\n      const columns: ColDef[] = columnsData.map((column) => ({\n        field: column.name,\n        headerComponent: ColumnHeader,\n        headerComponentParams: {\n          columnType: column.type,\n          currentColumn: () => columnMenuRef.current?.column,\n          displayMenuForColumn,\n        },\n        suppressHeaderKeyboardEvent: (\n          params: SuppressHeaderKeyboardEventParams,\n        ) => {\n          // If a user tabs to a different column, dismiss the column menu\n          if (params.event.key === \"Tab\") {\n            setColumnMenu(undefined);\n            return false;\n          }\n          if (\n            params.event.key === \"Enter\" ||\n            (params.event.key === \"F10\" && params.event.shiftKey)\n          ) {\n            // eslint-disable-next-line @typescript-eslint/consistent-type-assertions\n            const dropdown = (params.event.target as HTMLElement).querySelector(\n              \".dropdown\",\n            );\n            if (!dropdown) {\n              return true;\n            }\n            if (!dropdown.classList.contains(\"active\")) {\n              dropdown.classList.add(\"active\");\n            }\n            const dropdownButton = dropdown.querySelector(\"button\");\n            displayMenuForColumn(\n              params.api,\n              // eslint-disable-next-line @typescript-eslint/consistent-type-assertions\n              params.column as AgColumn,\n              dropdownButton.getBoundingClientRect(),\n            );\n            params.event.stopPropagation();\n            return true;\n          }\n          return false;\n        },\n      }));\n\n      columns.unshift({\n        field: \"#\",\n        headerTooltip: localize(\"Row number\"),\n        pinned: \"left\",\n        lockPinned: true,\n        lockPosition: true,\n        sortable: false,\n        suppressMovable: true,\n      });\n\n      setColumns(columns);\n    });\n  }, [columns.length, displayMenuForColumn]);\n\n  useEffect(() => {\n    window.addEventListener(\"contextmenu\", contextMenuHandler, true);\n\n    return () => {\n      window.removeEventListener(\"contextmenu\", contextMenuHandler);\n    };\n  }, []);\n\n  return {\n    columnMenu,\n    columns,\n    dismissMenu,\n    gridRef,\n    onGridReady,\n    refreshResults,\n    viewProperties: () => loadedViewPropertiesRef.current,\n  };\n};\n\nexport default useDataViewer;\n"
  },
  {
    "path": "client/src/webview/useTheme.ts",
    "content": "// Copyright © 2025, SAS Institute Inc., Cary, NC, USA.  All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { useEffect, useMemo, useState } from \"react\";\n\nconst THEME_ATTRIBUTE = \"data-vscode-theme-kind\";\nconst SELECTOR = `[${THEME_ATTRIBUTE}]`;\n\n/**\n * This listens for changes to vscode's theme kind and updates our internal\n * theme to match.\n * @returns theme:string matching the ag grid theme for the vscode theme kind\n */\nconst useTheme = () => {\n  const [themeKind, setThemeKind] = useState(\n    document.querySelector(SELECTOR).getAttribute(THEME_ATTRIBUTE),\n  );\n  useEffect(() => {\n    const obs = new MutationObserver((record) =>\n      setThemeKind(\n        // eslint-disable-next-line @typescript-eslint/consistent-type-assertions\n        (record[0].target as HTMLElement).getAttribute(THEME_ATTRIBUTE),\n      ),\n    );\n    obs.observe(document.querySelector(SELECTOR), {\n      attributes: true,\n      attributeFilter: [THEME_ATTRIBUTE],\n    });\n    return () => {\n      obs.disconnect();\n    };\n  }, []);\n\n  const theme = useMemo(() => {\n    switch (themeKind) {\n      case \"vscode-high-contrast-light\":\n      case \"vscode-light\":\n        return \"ag-theme-alpine\";\n      case \"vscode-high-contrast\":\n      case \"vscode-dark\":\n        return \"ag-theme-alpine-dark\";\n    }\n  }, [themeKind]);\n\n  return theme;\n};\n\nexport default useTheme;\n"
  },
  {
    "path": "client/test/components/ContentNavigator/ContentDataProvider.test.ts",
    "content": "import {\n  DataTransfer,\n  DataTransferItem,\n  FileStat,\n  FileType,\n  TreeItem,\n  Uri,\n  authentication,\n} from \"vscode\";\n\nimport axios, { AxiosInstance, HeadersDefaults } from \"axios\";\nimport { expect } from \"chai\";\nimport * as sinon from \"sinon\";\nimport { StubbedInstance, stubInterface } from \"ts-sinon\";\n\nimport ContentDataProvider from \"../../../src/components/ContentNavigator/ContentDataProvider\";\nimport { ContentModel } from \"../../../src/components/ContentNavigator/ContentModel\";\nimport {\n  FAVORITES_FOLDER_TYPE,\n  ROOT_FOLDER,\n  TRASH_FOLDER_TYPE,\n} from \"../../../src/components/ContentNavigator/const\";\nimport {\n  ContentItem,\n  ContentSourceType,\n} from \"../../../src/components/ContentNavigator/types\";\nimport RestContentAdapter from \"../../../src/connection/rest/RestContentAdapter\";\nimport { getSasContentUri as getUri } from \"../../../src/connection/rest/util\";\nimport { getUri as getTestUri } from \"../../utils\";\n\nlet stub;\nlet axiosInstance: StubbedInstance<AxiosInstance>;\n\nconst defaultConfig = {\n  mimeType: \"application/vnd.code.tree.contentdataprovider\",\n  sourceType: ContentSourceType.SASContent,\n  treeIdentifier: \"contentdataprovider\",\n};\n\nconst mockContentItem = (\n  initialContentItem: Partial<ContentItem> = {},\n): ContentItem => {\n  const contentItem = {\n    id: \"abc123\",\n    type: \"file\",\n    fileStat: {\n      type: FileType.File,\n      ctime: 1234,\n      mtime: 1234,\n      size: 0,\n    },\n    creationTimeStamp: 1234,\n    links: [\n      {\n        rel: \"self\",\n        uri: \"uri://self\",\n        method: \"GET\",\n        href: \"uri://self\",\n        type: \"test\",\n      },\n    ],\n    modifiedTimeStamp: 1234,\n    name: \"testFile\",\n    uri: \"uri://test\",\n    permission: {\n      write: false,\n      addMember: false,\n      delete: false,\n    },\n    flags: {\n      isInRecycleBin: false,\n      isInMyFavorites: false,\n    },\n    uid: \"unique-id\",\n    ...initialContentItem,\n  };\n\n  return {\n    ...contentItem,\n    vscUri: getUri(contentItem),\n  };\n};\n\nconst createDataProvider = () => {\n  const adapter = new RestContentAdapter();\n  const mockGetRootFolder = sinon.stub(adapter, \"getRootFolder\");\n  mockGetRootFolder.withArgs(\"@myRecycleBin\").returns(\n    mockContentItem({\n      type: \"trashFolder\",\n      name: \"Recycle Bin\",\n      links: [\n        {\n          rel: \"self\",\n          uri: \"uri://self\",\n          method: \"GET\",\n          href: \"uri://self\",\n          type: \"test\",\n        },\n      ],\n      uri: \"uri://recyleBin\",\n    }),\n  );\n  mockGetRootFolder.withArgs(\"@myFavorites\").returns(\n    mockContentItem({\n      type: \"favoritesFolder\",\n      name: \"My Favorites\",\n      links: [\n        {\n          rel: \"addMember\",\n          uri: \"uri://addMember\",\n          method: \"POST\",\n          href: \"uri://addMember\",\n          type: \"test\",\n        },\n      ],\n      uri: \"uri://myFavorites\",\n    }),\n  );\n\n  return new ContentDataProvider(\n    new ContentModel(adapter),\n    Uri.from({ scheme: \"http\" }),\n    defaultConfig,\n  );\n};\n\ndescribe(\"ContentDataProvider\", async function () {\n  let authStub;\n  beforeEach(() => {\n    authStub = sinon.stub(authentication, \"getSession\").resolves({\n      accessToken: \"12345\",\n      account: { id: \"id\", label: \"label\" },\n      id: \"id\",\n      scopes: [],\n    });\n\n    axiosInstance = stubInterface<AxiosInstance>();\n    axiosInstance.interceptors.response = {\n      use: () => null,\n      eject: () => null,\n      clear: () => null,\n    };\n    const defaultHeader: HeadersDefaults = {\n      common: {\n        Authorization: \"\",\n      },\n      put: {},\n      post: {},\n      patch: {},\n      delete: {},\n      head: {},\n      get: {},\n    };\n    axiosInstance.defaults = {\n      // eslint-disable-next-line @typescript-eslint/consistent-type-assertions\n      headers: defaultHeader as AxiosInstance[\"defaults\"][\"headers\"],\n    };\n\n    stub = sinon.stub(axios, \"create\").returns(axiosInstance);\n  });\n\n  afterEach(() => {\n    if (stub) {\n      stub.restore();\n    }\n    authStub.restore();\n    axiosInstance = undefined;\n  });\n\n  it(\"getTreeItem - returns a file tree item for file reference\", async () => {\n    const contentItem: ContentItem = mockContentItem();\n    const dataProvider = createDataProvider();\n\n    const treeItem = await dataProvider.getTreeItem(contentItem);\n    const uri = contentItem.vscUri;\n    const expectedTreeItem: TreeItem = {\n      id: \"unique-id\",\n      label: \"testFile\",\n      command: {\n        command: \"vscode.open\",\n        arguments: [uri],\n        title: \"Open SAS File\",\n      },\n      resourceUri: uri,\n    };\n\n    expect(treeItem).to.deep.include(expectedTreeItem);\n  });\n\n  it(\"getTreeItem - returns a folder tree item for file reference\", async () => {\n    const contentItem: ContentItem = mockContentItem({\n      type: \"folder\",\n      name: \"testFolder\",\n    });\n    const dataProvider = createDataProvider();\n\n    const treeItem = await dataProvider.getTreeItem(contentItem);\n    const expectedTreeItem: TreeItem = {\n      id: \"unique-id\",\n      label: \"testFolder\",\n    };\n\n    expect(treeItem).to.deep.include(expectedTreeItem);\n  });\n\n  it(\"getChildren - returns no children if not authorized\", async () => {\n    const dataProvider = createDataProvider();\n    const children = await dataProvider.getChildren();\n    expect(children.length).to.equal(0);\n  });\n\n  it(\"getChildren - returns root children without content item\", async function () {\n    const dataProvider = createDataProvider();\n\n    axiosInstance.get.withArgs(\"/folders/folders/@myFavorites\").resolves({\n      data: mockContentItem({\n        name: \"@myFavorites\",\n        type: \"folder\",\n      }),\n    });\n\n    axiosInstance.get.withArgs(\"/folders/folders/@myFolder\").resolves({\n      data: mockContentItem({\n        name: \"@myFolder\",\n        type: \"folder\",\n      }),\n    });\n\n    axiosInstance.get.withArgs(\"/folders/folders/@myRecycleBin\").resolves({\n      data: mockContentItem({\n        name: \"@myRecycleBin\",\n        type: \"folder\",\n      }),\n    });\n\n    await dataProvider.connect(\"http://test.io\");\n\n    const children = await dataProvider.getChildren();\n    expect(children.length).to.equal(4);\n    expect(children[0].name).to.equal(\"@myFavorites\");\n    expect(children[1].name).to.equal(\"@myFolder\");\n    expect(children[2].name).to.equal(ROOT_FOLDER.name);\n    expect(children[3].name).to.equal(\"@myRecycleBin\");\n  });\n\n  it(\"getChildren - returns children with content item\", async function () {\n    const childItem = mockContentItem({\n      flags: {\n        isInMyFavorites: true,\n        isInRecycleBin: false,\n      },\n      uid: \"my-favorite/0\",\n    });\n    const dataProvider = createDataProvider();\n\n    axiosInstance.get.withArgs(\"/deploymentData/cadenceVersion\").resolves({\n      data: { cadenceVersion: \"2023.07\" },\n    });\n\n    axiosInstance.get\n      .withArgs(\n        \"uri://myFavorites?limit=1000000&filter=in(contentType,'file','dataFlow','RootFolder','folder','myFolder','favoritesFolder','userFolder','userRoot','trashFolder')&sortBy=eq(contentType,'folder'):descending,name:primary:ascending,type:ascending\",\n      )\n      .resolves({\n        data: {\n          items: [childItem],\n        },\n      });\n\n    await dataProvider.connect(\"http://test.io\");\n\n    const children = await dataProvider.getChildren(\n      mockContentItem({\n        name: \"@myFavorites\",\n        type: \"folder\",\n        links: [\n          {\n            rel: \"members\",\n            uri: \"uri://myFavorites\",\n            method: \"GET\",\n            href: \"uri://@myFavorites\",\n            type: \"test\",\n          },\n        ],\n        uri: \"uri://myFavorites\",\n        uid: \"my-favorite\",\n      }),\n    );\n\n    expect(children.length).to.equal(1);\n    expect(children[0]).to.deep.include(childItem);\n  });\n\n  it(\"stat - returns file data\", async function () {\n    const childItem = mockContentItem();\n    const dataProvider = createDataProvider();\n\n    axiosInstance.get.withArgs(\"uri://test\").resolves({\n      data: childItem,\n      headers: { etag: \"1234\", \"last-modified\": \"5678\" },\n    });\n\n    await dataProvider.connect(\"http://test.io\");\n    const fileData: FileStat = await dataProvider.stat(getUri(childItem));\n\n    expect(fileData).to.deep.include({\n      type: FileType.File,\n      ctime: 1234,\n      mtime: 1234,\n      size: 0,\n    });\n  });\n\n  it(\"stat - returns folder data\", async function () {\n    const childItem = mockContentItem({ type: \"folder\" });\n    const dataProvider = createDataProvider();\n\n    axiosInstance.get.withArgs(\"uri://test\").resolves({\n      data: childItem,\n      headers: { etag: \"1234\", \"last-modified\": \"5678\" },\n    });\n\n    await dataProvider.connect(\"http://test.io\");\n    const folderData: FileStat = await dataProvider.stat(getUri(childItem));\n\n    expect(folderData).to.deep.include({\n      type: FileType.Directory,\n      ctime: 1234,\n      mtime: 1234,\n      size: 0,\n    });\n  });\n\n  it(\"readFile - returns file contents\", async function () {\n    const childItem = mockContentItem();\n    const dataProvider = createDataProvider();\n\n    axiosInstance.get.withArgs(\"uri://test/content\").resolves({\n      data: \"/* file content */\",\n      headers: { etag: \"1234\", \"last-modified\": \"5678\" },\n    });\n\n    await dataProvider.connect(\"http://test.io\");\n    const fileData: Uint8Array = await dataProvider.readFile(getUri(childItem));\n\n    expect(new TextDecoder().decode(fileData)).to.equal(\"/* file content */\");\n  });\n\n  it(\"createFolder - creates a folder\", async function () {\n    const parentItem = mockContentItem({\n      type: \"folder\",\n      uri: \"uri://parent-folder\",\n    });\n    const createdFolder = mockContentItem({\n      type: \"folder\",\n      name: \"folder-test\",\n    });\n    const dataProvider = createDataProvider();\n\n    axiosInstance.post\n      .withArgs(\"/folders/folders?parentFolderUri=uri://parent-folder\", {\n        name: \"folder-test\",\n      })\n      .resolves({\n        data: createdFolder,\n      });\n\n    await dataProvider.connect(\"http://test.io\");\n    const uri: Uri = await dataProvider.createFolder(parentItem, \"folder-test\");\n    expect(uri).to.deep.equal(getUri(createdFolder));\n  });\n\n  it(\"createFolder - fails to create a folder without parent folder\", async function () {\n    const parentItem = mockContentItem({ type: \"folder\", uri: \"\" });\n    const dataProvider = createDataProvider();\n\n    const item = await dataProvider.createFolder(parentItem, \"folder-test\");\n\n    expect(item).to.equal(undefined);\n  });\n\n  it(\"createFile - creates a file and adds it to a folder\", async function () {\n    const parentItem = mockContentItem({\n      type: \"folder\",\n      uri: \"uri://parent-folder\",\n      links: [\n        {\n          rel: \"addMember\",\n          uri: \"uri://addMember\",\n          method: \"POST\",\n          href: \"uri://addMember\",\n          type: \"test\",\n        },\n      ],\n    });\n    const createdFile = mockContentItem({\n      type: \"file\",\n      name: \"file.sas\",\n    });\n\n    const dataProvider = createDataProvider();\n\n    axiosInstance.post\n      .withArgs(\n        \"/files/files#rawUpload?typeDefName=programFile\",\n        Buffer.from(\"\", \"binary\"),\n      )\n      .resolves({\n        data: createdFile,\n      });\n\n    axiosInstance.post\n      .withArgs(\"uri://addMember\", {\n        uri: \"uri://self\",\n        type: \"CHILD\",\n        name: \"file.sas\",\n        contentType: \"programFile\",\n      })\n      .resolves({ data: {} });\n\n    await dataProvider.connect(\"http://test.io\");\n    const uri: Uri = await dataProvider.createFile(parentItem, \"file.sas\");\n    expect(uri).to.deep.equal(getUri(createdFile));\n  });\n\n  it(\"renameResource - fail if the new name is conflicted\", async function () {\n    const origItem = mockContentItem({\n      type: \"file\",\n      name: \"file.sas\",\n      uri: \"uri://rename\",\n      links: [\n        {\n          method: \"PUT\",\n          rel: \"validateRename\",\n          uri: \"uri://validate?value={newname}&type={newtype}\",\n          href: \"uri://validate?value={newname}&type={newtype}\",\n          type: \"test\",\n        },\n      ],\n    });\n\n    axiosInstance.get.withArgs(\"uri://rename\").resolves({\n      data: origItem,\n      headers: { etag: \"1234\", \"last-modified\": \"5678\" },\n    });\n    axiosInstance.put\n      .withArgs(\"uri://validate?value=new-file.sas&type=file\")\n      .rejects({\n        data: {\n          status: 409,\n        },\n      });\n    axiosInstance.get\n      .withArgs(\n        \"uri://myFavorites/members?limit=1000000&filter=in(contentType,'file','dataFlow','RootFolder','folder','myFolder','favoritesFolder','userFolder','userRoot','trashFolder')&sortBy=eq(contentType,'folder'):descending,name:primary:ascending,type:ascending\",\n      )\n      .resolves({ data: { items: [] } });\n    axiosInstance.get\n      .withArgs(\n        \"uri://test/members?limit=1000000&filter=in(contentType,'file','dataFlow','RootFolder','folder','myFolder','favoritesFolder','userFolder','userRoot','trashFolder')&sortBy=eq(contentType,'folder'):descending,name:primary:ascending,type:ascending\",\n      )\n      .resolves({ data: [] });\n\n    const dataProvider = createDataProvider();\n\n    await dataProvider.connect(\"http://test.io\");\n    const uri: Uri = await dataProvider.renameResource(\n      origItem,\n      \"new-file.sas\",\n    );\n    expect(uri).to.equal(undefined);\n  });\n\n  it(\"renameResource - renames resource and returns uri\", async function () {\n    const origItem = mockContentItem({\n      type: \"file\",\n      name: \"file.sas\",\n      uri: \"uri://rename\",\n    });\n\n    const newItem = mockContentItem({\n      type: \"file\",\n      name: \"new-file.sas\",\n      uri: \"uri://rename\",\n    });\n\n    axiosInstance.get.withArgs(\"uri://rename\").resolves({\n      data: origItem,\n      headers: { etag: \"1234\", \"last-modified\": \"5678\" },\n    });\n    axiosInstance.put.withArgs(\"uri://rename\").resolves({\n      data: { ...origItem, name: \"new-file.sas\" },\n      headers: { etag: \"1234\", \"last-modified\": \"5678\" },\n    });\n    axiosInstance.get\n      .withArgs(\n        \"uri://myFavorites/members?limit=1000000&filter=in(contentType,'file','dataFlow','RootFolder','folder','myFolder','favoritesFolder','userFolder','userRoot','trashFolder')&sortBy=eq(contentType,'folder'):descending,name:primary:ascending,type:ascending\",\n      )\n      .resolves({ data: { items: [] } });\n    axiosInstance.get\n      .withArgs(\n        \"uri://rename/members?limit=1000000&filter=in(contentType,'file','dataFlow','RootFolder','folder','myFolder','favoritesFolder','userFolder','userRoot','trashFolder')&sortBy=eq(contentType,'folder'):descending,name:primary:ascending,type:ascending\",\n      )\n      .resolves({ data: { items: [] } });\n\n    const dataProvider = createDataProvider();\n\n    await dataProvider.connect(\"http://test.io\");\n    const uri: Uri = await dataProvider.renameResource(\n      origItem,\n      \"new-file.sas\",\n    );\n\n    expect(uri).to.deep.equal(getUri(newItem));\n  });\n\n  it(\"renameResource - renames reference resource and returns uri of referenced item\", async function () {\n    const item = mockContentItem({\n      type: \"reference\",\n      name: \"favorite-link.sas\",\n      uri: \"uri://rename\",\n    });\n\n    const referencedFile = mockContentItem({\n      type: \"file\",\n      name: \"the-real-file.sas\",\n    });\n\n    const dataProvider = createDataProvider();\n\n    axiosInstance.get.withArgs(\"uri://self\").resolves({\n      data: item,\n      headers: { etag: \"1234\", \"last-modified\": \"5678\" },\n    });\n    axiosInstance.put.withArgs(\"uri://self\").resolves({\n      data: { ...item, name: \"favorite-link.sas\" },\n      headers: { etag: \"1234\", \"last-modified\": \"5678\" },\n    });\n    axiosInstance.get.withArgs(\"uri://rename\").resolves({\n      data: referencedFile,\n      headers: { etag: \"1234\", \"last-modified\": \"5678\" },\n    });\n    axiosInstance.get\n      .withArgs(\n        \"uri://myFavorites/members?limit=1000000&filter=in(contentType,'file','dataFlow','RootFolder','folder','myFolder','favoritesFolder','userFolder','userRoot','trashFolder')&sortBy=eq(contentType,'folder'):descending,name:primary:ascending,type:ascending\",\n      )\n      .resolves({ data: { items: [] } });\n    axiosInstance.get\n      .withArgs(\n        \"uri://test/members?limit=1000000&filter=in(contentType,'file','dataFlow','RootFolder','folder','myFolder','favoritesFolder','userFolder','userRoot','trashFolder')&sortBy=eq(contentType,'folder'):descending,name:primary:ascending,type:ascending\",\n      )\n      .resolves({ data: { items: [] } });\n\n    await dataProvider.connect(\"http://test.io\");\n    const uri: Uri = await dataProvider.renameResource(\n      item,\n      \"favorite-link.sas\",\n    );\n\n    expect(uri).to.deep.equal(getUri(referencedFile));\n  });\n\n  it(\"writeFile - saves text based content to file\", async function () {\n    const item = mockContentItem({\n      type: \"file\",\n      name: \"file.sas\",\n    });\n\n    const dataProvider = createDataProvider();\n\n    // Make initial request and store file token data\n    axiosInstance.get.withArgs(\"uri://test/content\").resolves({\n      data: \"/* file content */\",\n      headers: { etag: \"1234\", \"last-modified\": \"5678\" },\n    });\n\n    await dataProvider.connect(\"http://test.io\");\n\n    axiosInstance.put\n      .withArgs(\"uri://test/content\", \"/* This is the content */\")\n      .resolves({\n        data: item,\n        headers: { etag: \"1234\", \"last-modified\": \"5678\" },\n      });\n\n    await dataProvider.connect(\"http://test.io\");\n    await dataProvider.writeFile(\n      getUri(item),\n      new TextEncoder().encode(\"/* This is the content */\"),\n    );\n  });\n\n  it(\"delete - deletes item and underlying resource\", async function () {\n    const item = mockContentItem({\n      type: \"file\",\n      name: \"file.sas\",\n      links: [\n        {\n          rel: \"delete\",\n          uri: \"uri://delete\",\n          method: \"DELETE\",\n          href: \"uri://delete\",\n          type: \"test\",\n        },\n        {\n          rel: \"deleteResource\",\n          uri: \"uri://delete-resource\",\n          method: \"DELETE\",\n          href: \"uri://delete-resource\",\n          type: \"test\",\n        },\n      ],\n    });\n\n    const dataProvider = createDataProvider();\n\n    axiosInstance.delete.withArgs(\"uri://delete\").resolves({ data: {} });\n    axiosInstance.delete\n      .withArgs(\"uri://delete-resource\")\n      .resolves({ data: {} });\n\n    await dataProvider.connect(\"http://test.io\");\n    const deleted = await dataProvider.deleteResource(item);\n\n    expect(deleted).to.equal(true);\n  });\n\n  it(\"recycleResource - move item to the recycle bin\", async function () {\n    const item = mockContentItem({\n      type: \"file\",\n      name: \"file.sas\",\n      links: [\n        {\n          rel: \"update\",\n          uri: \"uri://update\",\n          method: \"PUT\",\n          href: \"uri://update\",\n          type: \"test\",\n        },\n      ],\n    });\n    const dataProvider = createDataProvider();\n\n    axiosInstance.put.withArgs(\"uri://update\").resolves({ data: {} });\n\n    await dataProvider.connect(\"http://test.io\");\n    const recycled = await dataProvider.recycleResource(item);\n\n    expect(recycled).to.equal(true);\n  });\n\n  it(\"restoreResource - restore item to the previous parent folder\", async function () {\n    const item = mockContentItem({\n      type: \"file\",\n      name: \"file.sas\",\n      links: [\n        {\n          rel: \"update\",\n          uri: \"uri://update\",\n          method: \"PUT\",\n          href: \"uri://update\",\n          type: \"test\",\n        },\n        {\n          rel: \"previousParent\",\n          uri: \"uri://previous.parent\",\n          method: \"GET\",\n          href: \"previousParent\",\n          type: \"test\",\n        },\n      ],\n    });\n\n    const dataProvider = createDataProvider();\n\n    axiosInstance.put.withArgs(\"uri://update\").resolves({ data: {} });\n\n    await dataProvider.connect(\"http://test.io\");\n    const deleted = await dataProvider.restoreResource(item);\n\n    expect(deleted).to.equal(true);\n  });\n\n  it(\"add to favorites - Add the reference of an item to My Favorites folder\", async function () {\n    const item = mockContentItem({\n      type: \"file\",\n      name: \"file.sas\",\n      links: [\n        {\n          rel: \"getResource\",\n          uri: \"uri://resource\",\n          method: \"GET\",\n          href: \"uri://resource\",\n          type: \"test\",\n        },\n      ],\n    });\n\n    const dataProvider = createDataProvider();\n\n    axiosInstance.post.withArgs(\"uri://addMember\").resolves({ data: {} });\n\n    await dataProvider.connect(\"http://test.io\");\n    const success = await dataProvider.addToMyFavorites(item);\n\n    expect(success).to.equal(true);\n  });\n\n  it(\"remove from favorites - Remove the reference of an item from the resource\", async function () {\n    const item = mockContentItem({\n      type: \"file\",\n      name: \"file.sas\",\n      flags: {\n        favoriteUri: \"uri://myFavorites/members/favorite-id\",\n      },\n    });\n    const dataProvider = createDataProvider();\n\n    axiosInstance.get.resolves({ data: { items: [item] } });\n    axiosInstance.delete\n      .withArgs(\"uri://myFavorites/members/favorite-id\")\n      .resolves({ data: {} });\n\n    await dataProvider.connect(\"http://test.io\");\n    const success = await dataProvider.removeFromMyFavorites(item);\n\n    expect(success).to.equal(true);\n  });\n\n  it(\"handleDrop - allows dropping files\", async function () {\n    const parentItem = mockContentItem({\n      type: \"folder\",\n      name: \"parent\",\n    });\n\n    const uri = getTestUri(\"SampleCode.sas\").toString();\n    const item = mockContentItem();\n\n    const model = new ContentModel(new RestContentAdapter());\n    const stub: sinon.SinonStub = sinon.stub(model, \"createFile\");\n\n    const dataProvider = new ContentDataProvider(\n      model,\n      Uri.from({ scheme: \"http\" }),\n      defaultConfig,\n    );\n\n    const dataTransfer = new DataTransfer();\n    const dataTransferItem = new DataTransferItem(uri);\n    dataTransfer.set(\"text/uri-list\", dataTransferItem);\n\n    stub.returns(new Promise((resolve) => resolve(item)));\n\n    await dataProvider.handleDrop(parentItem, dataTransfer);\n\n    expect(stub.calledOnceWith(parentItem, \"SampleCode.sas\")).to.be.true;\n  });\n\n  it(\"handleDrop - allows dropping folder\", async function () {\n    const parentItem = mockContentItem({\n      type: \"folder\",\n      name: \"parent\",\n    });\n    const newParentItem = mockContentItem({\n      type: \"folder\",\n      name: \"new-parent\",\n    });\n\n    const uriObject = getTestUri(\"TestFolder\");\n    const uri = uriObject.toString();\n    const item = mockContentItem();\n\n    const model = new ContentModel(new RestContentAdapter());\n    const createFileStub: sinon.SinonStub = sinon.stub(model, \"createFile\");\n    const createFolderStub: sinon.SinonStub = sinon.stub(model, \"createFolder\");\n\n    const dataProvider = new ContentDataProvider(\n      model,\n      Uri.from({ scheme: \"http\" }),\n      defaultConfig,\n    );\n\n    const dataTransfer = new DataTransfer();\n    const dataTransferItem = new DataTransferItem(uri);\n    dataTransfer.set(\"text/uri-list\", dataTransferItem);\n\n    createFileStub.returns(new Promise((resolve) => resolve(item)));\n    createFolderStub.returns(new Promise((resolve) => resolve(newParentItem)));\n\n    await dataProvider.handleDrop(parentItem, dataTransfer);\n\n    expect(createFolderStub.calledWith(parentItem, \"TestFolder\")).to.be.true;\n    expect(createFileStub.calledWith(newParentItem, \"SampleCode1.sas\")).to.be\n      .true;\n    expect(createFolderStub.calledWith(newParentItem, \"TestSubFolder\")).to.be\n      .true;\n    expect(createFileStub.calledWith(newParentItem, \"SampleCode2.sas\")).to.be\n      .true;\n  });\n\n  it(\"handleDrop - allows dropping content items\", async function () {\n    const parentItem = mockContentItem({\n      name: \"parent\",\n      resourceId: \"/resource-id\",\n      type: \"folder\",\n    });\n    const item = mockContentItem();\n\n    const model = new ContentModel(new RestContentAdapter());\n    const stub: sinon.SinonStub = sinon.stub(model, \"moveTo\");\n    stub.returns(new Promise((resolve) => resolve(true)));\n\n    const dataProvider = new ContentDataProvider(\n      model,\n      Uri.from({ scheme: \"http\" }),\n      defaultConfig,\n    );\n\n    const dataTransfer = new DataTransfer();\n    const dataTransferItem = new DataTransferItem([item]);\n    dataTransfer.set(\n      \"application/vnd.code.tree.contentdataprovider\",\n      dataTransferItem,\n    );\n\n    await dataProvider.handleDrop(parentItem, dataTransfer);\n\n    expect(stub.calledWith(item, \"/resource-id\")).to.be.true;\n  });\n\n  it(\"handleDrop - allows dropping content items to favorites\", async function () {\n    const parentItem = mockContentItem({\n      type: FAVORITES_FOLDER_TYPE,\n      name: \"favorites\",\n      links: [\n        {\n          rel: \"addMember\",\n          uri: \"uri://addfav\",\n          method: \"POST\",\n          href: \"uri://addfav\",\n          type: \"test\",\n        },\n      ],\n    });\n    const item = mockContentItem({\n      uri: \"uri://favitem\",\n      links: [\n        {\n          rel: \"getResource\",\n          uri: \"uri://favitem\",\n          method: \"GET\",\n          href: \"uri://favitem\",\n          type: \"test\",\n        },\n      ],\n    });\n\n    const adapter = new RestContentAdapter();\n    const model = new ContentModel(adapter);\n    const stub: sinon.SinonStub = sinon.stub(adapter, \"addChildItem\");\n    stub.returns(new Promise((resolve) => resolve(true)));\n\n    sinon.stub(adapter, \"getRootFolder\").returns(parentItem);\n\n    const dataProvider = new ContentDataProvider(\n      model,\n      Uri.from({ scheme: \"http\" }),\n      defaultConfig,\n    );\n\n    const dataTransfer = new DataTransfer();\n    const dataTransferItem = new DataTransferItem([item]);\n    dataTransfer.set(\n      \"application/vnd.code.tree.contentdataprovider\",\n      dataTransferItem,\n    );\n\n    await dataProvider.handleDrop(parentItem, dataTransfer);\n\n    expect(stub.calledWith(\"uri://favitem\", \"uri://addfav\")).to.be.true;\n  });\n\n  it(\"handleDrop - allows dropping content items to trash\", async function () {\n    const parentItem = mockContentItem({\n      type: TRASH_FOLDER_TYPE,\n      name: \"trash\",\n      links: [\n        {\n          rel: \"self\",\n          uri: \"uri://trash\",\n          method: \"GET\",\n          href: \"uri://trash\",\n          type: \"test\",\n        },\n      ],\n    });\n    const item = mockContentItem();\n\n    const adapter = new RestContentAdapter();\n    const model = new ContentModel(adapter);\n    const stub: sinon.SinonStub = sinon.stub(model, \"recycleResource\");\n    stub.returns(\n      new Promise((resolve) => resolve({ newUri: \"new\", oldUri: \"old\" })),\n    );\n\n    sinon.stub(adapter, \"getRootFolder\").returns(parentItem);\n\n    const dataProvider = new ContentDataProvider(\n      model,\n      Uri.from({ scheme: \"http\" }),\n      defaultConfig,\n    );\n\n    const dataTransfer = new DataTransfer();\n    const dataTransferItem = new DataTransferItem([item]);\n    dataTransfer.set(\n      \"application/vnd.code.tree.contentdataprovider\",\n      dataTransferItem,\n    );\n\n    await dataProvider.handleDrop(parentItem, dataTransfer);\n\n    expect(stub.calledWith(item)).to.be.true;\n  });\n\n  it(\"getFileFolderPath - returns empty path for folder\", async function () {\n    const item = mockContentItem({\n      type: \"folder\",\n      name: \"folder\",\n    });\n\n    const model = new ContentModel(new RestContentAdapter());\n    const dataProvider = new ContentDataProvider(\n      model,\n      Uri.from({ scheme: \"http\" }),\n      defaultConfig,\n    );\n\n    await dataProvider.connect(\"http://test.io\");\n    const path = await model.getFileFolderPath(item);\n\n    expect(path).to.equal(\"\");\n  });\n\n  it(\"getFileFolderPath - traverses parentFolderUri to find path\", async function () {\n    const grandparent = mockContentItem({\n      type: \"folder\",\n      name: \"grandparent\",\n      id: \"/id/grandparent\",\n    });\n    const parent = mockContentItem({\n      type: \"folder\",\n      name: \"parent\",\n      id: \"/id/parent\",\n      parentFolderUri: \"/id/grandparent\",\n    });\n    const item = mockContentItem({\n      type: \"file\",\n      name: \"file.sas\",\n      parentFolderUri: \"/id/parent\",\n    });\n    const item2 = mockContentItem({\n      type: \"file\",\n      name: \"file2.sas\",\n      parentFolderUri: \"/id/parent\",\n    });\n\n    const model = new ContentModel(new RestContentAdapter());\n    const dataProvider = new ContentDataProvider(\n      model,\n      Uri.from({ scheme: \"http\" }),\n      defaultConfig,\n    );\n\n    axiosInstance.get.withArgs(\"/id/parent\").resolves({\n      data: parent,\n    });\n    axiosInstance.get.withArgs(\"/id/grandparent\").resolves({\n      data: grandparent,\n    });\n\n    await dataProvider.connect(\"http://test.io\");\n\n    // We expect both files to have the same folder path\n    expect(await model.getFileFolderPath(item)).to.equal(\"/grandparent/parent\");\n    expect(await model.getFileFolderPath(item2)).to.equal(\n      \"/grandparent/parent\",\n    );\n  });\n});\n"
  },
  {
    "path": "client/test/components/ContentNavigator/convert.test.ts",
    "content": "// Copyright © 2023, SAS Institute Inc., Cary, NC, USA.  All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { workspace } from \"vscode\";\n\nimport { deepEqual } from \"assert\";\n\nimport { convertNotebookToFlow } from \"../../../src/components/ContentNavigator/convert\";\nimport { getTestFixtureContent } from \"../../utils\";\n\nfunction parseFlowData(flowDataString) {\n  const flowData = JSON.parse(\n    flowDataString\n      .replace(/\\n/g, \"\\\\n\")\n      .replace(/\\t/g, \"\\\\t\")\n      .replace(/\\r/g, \"\\\\r\"),\n  );\n  return flowData;\n}\n\nfunction removeIdsNodes(flowData) {\n  flowData.creationTimeStamp = \"\";\n  flowData.modifiedTimeStamp = \"\";\n  flowData.createdBy = \"\";\n  flowData.modifiedBy = \"\";\n  flowData.links = [];\n  flowData.name = \"test.flw\";\n  const keys = Object.keys(flowData.nodes);\n  for (let i = 0; i < keys.length; i++) {\n    const newKey = \"IDNODE\" + i.toString();\n    const oldKey = keys[i];\n    flowData.nodes[newKey] = flowData.nodes[oldKey];\n    delete flowData.nodes[oldKey];\n    flowData.nodes[newKey].id = newKey;\n    flowData.nodes[newKey].note.id = \"IDNOTE\" + i.toString();\n    flowData.nodes[newKey].properties.UI_PROP_NODE_DATA_MODIFIED_DATE = \"\";\n  }\n  if (flowData.connections.length === 2) {\n    flowData.connections[0].sourcePort.node = \"IDNODE0\";\n    flowData.connections[0].targetPort.node = \"IDNODE1\";\n    flowData.connections[1].sourcePort.node = \"IDNODE1\";\n    flowData.connections[1].targetPort.node = \"IDNODE2\";\n  } else if (flowData.connections.length === 1) {\n    flowData.connections[0].sourcePort.node = \"IDNODE0\";\n    flowData.connections[0].targetPort.node = \"IDNODE1\";\n  } else {\n    flowData.connections = [];\n  }\n  return flowData;\n}\n\nfunction removeIdsSwimlanes(flowData) {\n  flowData.creationTimeStamp = \"\";\n  flowData.modifiedTimeStamp = \"\";\n  flowData.createdBy = \"\";\n  flowData.modifiedBy = \"\";\n  flowData.links = [];\n  flowData.name = \"test.flw\";\n  const keys = Object.keys(flowData.nodes);\n  for (let i = 0; i < keys.length; i++) {\n    const newKey = \"IDSWIMLANE\" + i.toString();\n    const oldKey = keys[i];\n    flowData.nodes[newKey] = flowData.nodes[oldKey];\n    delete flowData.nodes[oldKey];\n    flowData.nodes[newKey].id = newKey;\n    flowData.nodes[newKey].dataFlowAndBindings.dataFlow.creationTimeStamp = \"\";\n    flowData.nodes[newKey].dataFlowAndBindings.dataFlow.modifiedTimeStamp = \"\";\n    flowData.nodes[newKey].dataFlowAndBindings.dataFlow.createdBy = \"\";\n    flowData.nodes[newKey].dataFlowAndBindings.dataFlow.modifiedBy = \"\";\n    flowData.nodes[newKey].dataFlowAndBindings.dataFlow.links = [];\n    const nodeKeys = Object.keys(\n      flowData.nodes[newKey].dataFlowAndBindings.dataFlow.nodes,\n    );\n    for (let j = 0; j < nodeKeys.length; j++) {\n      const newNodeKey = \"IDNODE\" + i.toString() + j.toString();\n      const oldNodeKey = nodeKeys[j];\n      flowData.nodes[newKey].dataFlowAndBindings.dataFlow.nodes[newNodeKey] =\n        flowData.nodes[newKey].dataFlowAndBindings.dataFlow.nodes[oldNodeKey];\n      delete flowData.nodes[newKey].dataFlowAndBindings.dataFlow.nodes[\n        oldNodeKey\n      ];\n      flowData.nodes[newKey].dataFlowAndBindings.dataFlow.nodes[newNodeKey].id =\n        newNodeKey;\n      flowData.nodes[newKey].dataFlowAndBindings.dataFlow.nodes[\n        newNodeKey\n      ].note.id = \"IDNOTE\" + i.toString() + j.toString();\n      flowData.nodes[newKey].dataFlowAndBindings.dataFlow.nodes[\n        newNodeKey\n      ].properties.UI_PROP_NODE_DATA_MODIFIED_DATE = \"\";\n    }\n  }\n  return flowData;\n}\n\nfunction removeIds(flowData, mode) {\n  if (mode === \"Node\") {\n    return removeIdsNodes(flowData);\n  }\n  return removeIdsSwimlanes(flowData);\n}\n\nfunction convertAndRemoveIds(inputContent, inputName, expectedFlowData, mode) {\n  const flowDataString = convertNotebookToFlow(\n    inputContent,\n    inputName,\n    \"test.flw\",\n  );\n  let flowDataNode = parseFlowData(flowDataString);\n  flowDataNode = removeIds(flowDataNode, mode);\n  let expectedflowDataOut = {};\n  if (typeof expectedFlowData === \"string\") {\n    expectedflowDataOut = parseFlowData(expectedFlowData);\n    expectedflowDataOut = removeIds(expectedflowDataOut, mode);\n  } else {\n    expectedflowDataOut = removeIds(expectedFlowData, mode);\n  }\n  return [flowDataNode, expectedflowDataOut];\n}\n\nasync function updateWorkspaceSettings(Mode) {\n  const configuration = workspace.getConfiguration(); // Get the workspace configuration\n  await configuration.update(\"SAS.flowConversionMode\", Mode, true);\n}\n\ndescribe(\"Notebook Conversion\", async () => {\n  it(\"convert the multi cell sas notebook to node flow\", async () => {\n    await updateWorkspaceSettings(\"Node\");\n    const contentSASNotebookMulti =\n      getTestFixtureContent(\"test_multi.sasnb\").toString();\n    const flowDataSASNotebookMulti = getTestFixtureContent(\n      \"test_multi_node.flw\",\n    ).toString();\n    const [flowDataActual, flowDataExpected] = convertAndRemoveIds(\n      contentSASNotebookMulti,\n      \"test.sasnb\",\n      flowDataSASNotebookMulti,\n      workspace.getConfiguration().get(\"SAS.flowConversionMode\"),\n    );\n    deepEqual(flowDataActual, flowDataExpected, \"The flow data is not correct\");\n  });\n\n  it(\"convert the single cell sas notebook to node flow\", async () => {\n    await updateWorkspaceSettings(\"Node\");\n    const contentSASNotebookSingle =\n      getTestFixtureContent(\"test_single.sasnb\").toString();\n    const flowDataSASNotebookSingle = getTestFixtureContent(\n      \"test_single_node.flw\",\n    ).toString();\n    const [flowDataActual, flowDataExpected] = convertAndRemoveIds(\n      contentSASNotebookSingle,\n      \"test.sasnb\",\n      flowDataSASNotebookSingle,\n      workspace.getConfiguration().get(\"SAS.flowConversionMode\"),\n    );\n    deepEqual(flowDataActual, flowDataExpected, \"The flow data is not correct\");\n  });\n\n  it(\"convert the multi cell sas notebook to swimlane flow\", async () => {\n    await updateWorkspaceSettings(\"Swimlane\");\n    const contentSASNotebookMulti =\n      getTestFixtureContent(\"test_multi.sasnb\").toString();\n    const flowDataSASNotebookMulti = getTestFixtureContent(\n      \"test_multi_swimlane.flw\",\n    ).toString();\n    const [flowDataActual, flowDataExpected] = convertAndRemoveIds(\n      contentSASNotebookMulti,\n      \"test.sasnb\",\n      flowDataSASNotebookMulti,\n      workspace.getConfiguration().get(\"SAS.flowConversionMode\"),\n    );\n    deepEqual(flowDataActual, flowDataExpected, \"The flow data is not correct\");\n  });\n\n  it(\"convert the single cell sas notebook to swimlane flow\", async () => {\n    await updateWorkspaceSettings(\"Swimlane\");\n    const contentSASNotebookSingle =\n      getTestFixtureContent(\"test_single.sasnb\").toString();\n    const flowDataSASNotebookSingle = getTestFixtureContent(\n      \"test_single_swimlane.flw\",\n    ).toString();\n    const [flowDataActual, flowDataExpected] = convertAndRemoveIds(\n      contentSASNotebookSingle,\n      \"test.sasnb\",\n      flowDataSASNotebookSingle,\n      workspace.getConfiguration().get(\"SAS.flowConversionMode\"),\n    );\n    deepEqual(flowDataActual, flowDataExpected, \"The flow data is not correct\");\n  });\n});\n"
  },
  {
    "path": "client/test/components/ContentNavigator/utils.test.ts",
    "content": "import { expect } from \"chai\";\n\nimport { getFileStatement } from \"../../../src/components/ContentNavigator/utils\";\n\ndescribe(\"utils\", async function () {\n  it(\"getFileStatement - returns extensionless name + numeric suffix with no content\", () => {\n    expect(getFileStatement(\"testcsv.csv\", \"\", \"/path\").value).to.equal(\n      `filename \\${1:fileref} filesrvc folderpath='/path' filename='testcsv.csv';\\n`,\n    );\n  });\n\n  it(\"getFileStatement - returns uppercase name + suffix with uppercase content\", () => {\n    expect(\n      getFileStatement(\"testcsv.csv\", \"UPPER CASE CONTENT\", \"/path\").value,\n    ).to.equal(\n      `FILENAME \\${1:FILEREF} FILESRVC FOLDERPATH='/path' FILENAME='testcsv.csv';\\n`,\n    );\n  });\n\n  it(\"getFileStatement - returns encoded filename when filename contains quotes\", () => {\n    expect(\n      getFileStatement(\"testcsv-'withquotes'.csv\", \"\", \"/path\").value,\n    ).to.equal(\n      `filename \\${1:fileref} filesrvc folderpath='/path' filename='testcsv-''withquotes''.csv';\\n`,\n    );\n  });\n});\n"
  },
  {
    "path": "client/test/components/LibraryNavigator/LibraryDataProvider.test.ts",
    "content": "import { TreeItemCollapsibleState, Uri, l10n } from \"vscode\";\n\nimport { AxiosResponse } from \"axios\";\nimport { expect } from \"chai\";\nimport * as sinon from \"sinon\";\n\nimport LibraryDataProvider from \"../../../src/components/LibraryNavigator/LibraryDataProvider\";\nimport LibraryModel from \"../../../src/components/LibraryNavigator/LibraryModel\";\nimport {\n  DefaultRecordLimit,\n  Icons,\n  Messages,\n} from \"../../../src/components/LibraryNavigator/const\";\nimport { LibraryItem } from \"../../../src/components/LibraryNavigator/types\";\nimport RestLibraryAdapter from \"../../../src/connection/rest/RestLibraryAdapter\";\nimport { DataAccessApi } from \"../../../src/connection/rest/api/compute\";\nimport { getApiConfig } from \"../../../src/connection/rest/common\";\n\nclass MockRestLibraryAdapter extends RestLibraryAdapter {\n  constructor(api: ReturnType<typeof DataAccessApi>) {\n    super();\n    this.dataAccessApi = api;\n    this.sessionId = \"1234\";\n  }\n}\n\nclass MockLibraryModel extends LibraryModel {\n  constructor(api: ReturnType<typeof DataAccessApi>) {\n    super(new MockRestLibraryAdapter(api));\n  }\n}\n\nconst dataAccessApi = () => {\n  const apiConfig = getApiConfig();\n  apiConfig.baseOptions.baseURL = \"https://test.local\";\n  return DataAccessApi(apiConfig);\n};\n\nconst libraryDataProvider = (\n  api: ReturnType<typeof DataAccessApi> = dataAccessApi(),\n) =>\n  new LibraryDataProvider(\n    new MockLibraryModel(api),\n    Uri.from({ scheme: \"file\" }),\n  );\n\ndescribe(\"LibraryDataProvider\", async function () {\n  it(\"getChildren - returns an empty array when no adapter is specified\", async () => {\n    const libraryDataProvider = new LibraryDataProvider(\n      new LibraryModel(undefined),\n      Uri.from({ scheme: \"file\" }),\n    );\n    const children = await libraryDataProvider.getChildren();\n\n    expect(children.length).to.equal(0);\n  });\n\n  it(\"getChildren - returns tables with a content item\", async () => {\n    const library: LibraryItem = {\n      uid: \"lib\",\n      id: \"lib\",\n      name: \"lib\",\n      type: \"library\",\n      readOnly: false,\n    };\n\n    const api = dataAccessApi();\n    const getTablesStub = sinon.stub(api, \"getTables\");\n    getTablesStub\n      .withArgs({\n        sessionId: \"1234\",\n        libref: library.id,\n        limit: DefaultRecordLimit,\n        start: 0,\n      })\n      .resolves({\n        data: {\n          items: [\n            {\n              id: \"table\",\n              name: \"table\",\n            },\n          ],\n          count: 0,\n        },\n      } as AxiosResponse);\n\n    const provider = libraryDataProvider(api);\n    const children = await provider.getChildren(library);\n\n    expect(children[0]).to.deep.equal({\n      library: library.id,\n      uid: `${library.id}.table`,\n      id: \"table\",\n      name: \"table\",\n      type: \"table\",\n      readOnly: library.readOnly,\n    });\n    getTablesStub.restore();\n  });\n\n  it(\"getChildren - returns libraries without content item\", async () => {\n    const api = dataAccessApi();\n    // One call to get libraries\n    const getLibrariesStub = sinon.stub(api, \"getLibraries\").resolves({\n      data: {\n        items: [\n          {\n            id: \"library\",\n            name: \"library\",\n          },\n        ],\n        count: 0,\n      },\n    } as AxiosResponse);\n\n    // One to get library summary\n    const getLibrarySummaryStub = sinon\n      .stub(api, \"getLibrarySummary\")\n      .resolves({\n        data: {\n          readOnly: true,\n        },\n      } as AxiosResponse);\n\n    const provider = libraryDataProvider(api);\n    const children = await provider.getChildren();\n\n    expect(children[0]).to.deep.equal({\n      library: undefined,\n      uid: `.library`,\n      id: \"library\",\n      name: \"library\",\n      type: \"library\",\n      readOnly: true,\n    });\n\n    getLibrariesStub.restore();\n    getLibrarySummaryStub.restore();\n  });\n\n  it(\"getTreeItem - returns table tree item\", async () => {\n    const item: LibraryItem = {\n      uid: \"test\",\n      id: \"test\",\n      name: \"test\",\n      type: \"table\",\n      readOnly: false,\n    };\n\n    const provider = libraryDataProvider();\n    const treeItem = await provider.getTreeItem(item);\n    expect(treeItem.id).to.equal(item.id);\n    expect(Object.values(treeItem.iconPath)[0].path).to.contain(\n      Icons.DataSet.light,\n    );\n    expect(treeItem.contextValue).to.contain(\"table-actionable\");\n    expect(treeItem.collapsibleState).to.equal(TreeItemCollapsibleState.None);\n    expect(treeItem.command).to.contain({ command: \"SAS.viewTable\" });\n  });\n\n  it(\"getTreeItem - returns read only library\", async () => {\n    const item: LibraryItem = {\n      uid: \"test\",\n      id: \"test\",\n      name: \"test\",\n      type: \"library\",\n      readOnly: true,\n    };\n\n    const provider = libraryDataProvider();\n    const treeItem = await provider.getTreeItem(item);\n    expect(treeItem.id).to.equal(item.id);\n    expect(Object.values(treeItem.iconPath)[0].path).to.contain(\n      Icons.ReadOnlyLibrary.light,\n    );\n    expect(treeItem.contextValue).to.contain(\"library-readonly\");\n    expect(treeItem.collapsibleState).to.equal(\n      TreeItemCollapsibleState.Collapsed,\n    );\n    expect(treeItem.command === undefined).to.equal(true);\n  });\n\n  it(\"getTreeItem - returns regular library\", async () => {\n    const item: LibraryItem = {\n      uid: \"test\",\n      id: \"test\",\n      name: \"test\",\n      type: \"library\",\n      readOnly: false,\n    };\n\n    const provider = libraryDataProvider();\n    const treeItem = await provider.getTreeItem(item);\n    expect(treeItem.id).to.equal(item.id);\n    expect(Object.values(treeItem.iconPath)[0].path).to.contain(\n      Icons.Library.light,\n    );\n    expect(treeItem.contextValue).to.contain(\"library-actionable\");\n    expect(treeItem.collapsibleState).to.equal(\n      TreeItemCollapsibleState.Collapsed,\n    );\n    expect(treeItem.command === undefined).to.equal(true);\n  });\n\n  it(\"getTreeItem - returns work library\", async () => {\n    const item: LibraryItem = {\n      uid: \"WORK\",\n      id: \"WORK\",\n      name: \"WORK\",\n      type: \"library\",\n      readOnly: false,\n    };\n\n    const provider = libraryDataProvider();\n    const treeItem = await provider.getTreeItem(item);\n    expect(treeItem.id).to.equal(item.id);\n    expect(Object.values(treeItem.iconPath)[0].path).to.contain(\n      Icons.WorkLibrary.light,\n    );\n    expect(treeItem.contextValue).to.contain(\"library-actionable\");\n    expect(treeItem.collapsibleState).to.equal(\n      TreeItemCollapsibleState.Collapsed,\n    );\n    expect(treeItem.command === undefined).to.equal(true);\n  });\n\n  it(\"deleteTables - deletes a single table successfully\", async () => {\n    const items: LibraryItem[] = [\n      {\n        uid: \"test\",\n        id: \"test\",\n        name: \"test\",\n        type: \"table\",\n        readOnly: false,\n        library: \"lib\",\n      },\n    ];\n\n    const api = dataAccessApi();\n    const deleteTableStub = sinon.stub(api, \"deleteTable\");\n\n    const provider = libraryDataProvider(api);\n    await provider.deleteTables(items);\n    expect(deleteTableStub.calledOnce).to.equal(true);\n    deleteTableStub.restore();\n  });\n\n  it(\"deleteTables - fails with error message for single table\", async () => {\n    const items: LibraryItem[] = [\n      {\n        uid: \"test\",\n        id: \"test\",\n        name: \"test\",\n        type: \"table\",\n        readOnly: false,\n        library: \"lib\",\n      },\n    ];\n\n    const api = dataAccessApi();\n    const deleteTableStub = sinon.stub(api, \"deleteTable\");\n    deleteTableStub.throwsException(new Error());\n\n    const provider = libraryDataProvider(api);\n    try {\n      await provider.deleteTables(items);\n    } catch (error) {\n      expect(error.message).to.equal(\n        new Error(l10n.t(Messages.TableDeletionError, { tableName: \"test\" }))\n          .message,\n      );\n    }\n\n    deleteTableStub.restore();\n  });\n\n  it(\"deleteTables - deletes multiple tables successfully\", async () => {\n    const items: LibraryItem[] = [\n      {\n        uid: \"lib.table1\",\n        id: \"table1\",\n        name: \"table1\",\n        type: \"table\",\n        readOnly: false,\n        library: \"lib\",\n      },\n      {\n        uid: \"lib.table2\",\n        id: \"table2\",\n        name: \"table2\",\n        type: \"table\",\n        readOnly: false,\n        library: \"lib\",\n      },\n    ];\n\n    const api = dataAccessApi();\n    const deleteTableStub = sinon.stub(api, \"deleteTable\");\n\n    const provider = libraryDataProvider(api);\n    await provider.deleteTables(items);\n\n    expect(deleteTableStub.callCount).to.equal(2);\n    deleteTableStub.restore();\n  });\n\n  it(\"deleteTables - reports failures when some tables fail to delete\", async () => {\n    const items: LibraryItem[] = [\n      {\n        uid: \"lib.table1\",\n        id: \"table1\",\n        name: \"table1\",\n        type: \"table\",\n        readOnly: false,\n        library: \"lib\",\n      },\n      {\n        uid: \"lib.table2\",\n        id: \"table2\",\n        name: \"table2\",\n        type: \"table\",\n        readOnly: false,\n        library: \"lib\",\n      },\n      {\n        uid: \"lib.table3\",\n        id: \"table3\",\n        name: \"table3\",\n        type: \"table\",\n        readOnly: false,\n        library: \"lib\",\n      },\n    ];\n\n    const api = dataAccessApi();\n    const deleteTableStub = sinon.stub(api, \"deleteTable\");\n\n    // First table succeeds\n    deleteTableStub.onFirstCall().resolves();\n    // Second table fails\n    deleteTableStub\n      .onSecondCall()\n      .throwsException(new Error(\"Failed to delete\"));\n    // Third table succeeds\n    deleteTableStub.onThirdCall().resolves();\n\n    const provider = libraryDataProvider(api);\n\n    try {\n      await provider.deleteTables(items);\n      expect.fail(\"Should have thrown an error\");\n    } catch (error) {\n      expect(error.message).to.contain(\"lib.table2\");\n      expect(deleteTableStub.callCount).to.equal(3);\n    }\n\n    deleteTableStub.restore();\n  });\n});\n"
  },
  {
    "path": "client/test/components/LibraryNavigator/PaginatedResultSet.test.ts",
    "content": "import { AxiosHeaders, AxiosResponse } from \"axios\";\nimport { expect } from \"chai\";\n\nimport PaginatedResultSet from \"../../../src/components/LibraryNavigator/PaginatedResultSet\";\n\nconst axiosResponseDefaults = {\n  status: 200,\n  statusText: \"OK\",\n  headers: {},\n  config: {\n    headers: new AxiosHeaders(),\n  },\n};\n\ndescribe(\"PaginatedResultSet\", async function () {\n  it(\"returns a basic response\", async () => {\n    const mockAxiosResponse: AxiosResponse = {\n      ...axiosResponseDefaults,\n      data: {\n        limit: 0,\n        count: 100,\n        test: \"yes\",\n      },\n    };\n\n    const paginatedResultSet = new PaginatedResultSet(\n      async () => mockAxiosResponse,\n    );\n\n    expect(\n      await paginatedResultSet.getData(0, 100, [], undefined),\n    ).to.deep.equal(mockAxiosResponse);\n  });\n});\n"
  },
  {
    "path": "client/test/components/logViewer/log.ts",
    "content": "// Copyright © 2024, SAS Institute Inc., Cary, NC, USA.  All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { LogLine } from \"../../../src/connection\";\n\nexport const logWith13Problems: LogLine[] = [\n  {\n    line: \"28   /** LOG_START_INDICATOR **/\",\n    type: \"source\",\n    version: 1,\n  },\n  { line: \"29   title;footnote;ods _all_ close;\", type: \"source\", version: 1 },\n  { line: \"30   ods graphics on;\", type: \"source\", version: 1 },\n  {\n    line: \"31   ods html5 style=Illuminate options(bitmap_mode='inline' svg_mode='inline');\",\n    type: \"source\",\n    version: 1,\n  },\n  {\n    line: \"NOTE: Writing HTML5 Body file: sashtml2.htm\",\n    type: \"note\",\n    version: 1,\n  },\n  {\n    line: \"32   %let _SASPROGRAMFILE = %nrquote(%nrstr(c:\\\\\\\\SAS\\\\\\\\GIT\\\\\\\\GitHub\\\\\\\\TestData\\\\\\\\error3.sas));\",\n    type: \"source\",\n    version: 1,\n  },\n  { line: \"33   \", type: \"source\", version: 1 },\n  { line: \"34   \", type: \"source\", version: 1 },\n  { line: \"35   \", type: \"source\", version: 1 },\n  { line: \"36   /* I am comment */\", type: \"source\", version: 1 },\n  { line: \"37   options ls=72;\", type: \"source\", version: 1 },\n  { line: \"38   data pf70 pm70 pf80 pm80;\", type: \"source\", version: 1 },\n  {\n    line: \"39   \\\\tinput state $ pop_f70 pop_m70 pop_f80 pop_m80 @@;\",\n    type: \"source\",\n    version: 1,\n  },\n  {\n    line: \"40   \\\\tdrop pop_m70 pop_f70 pop_m80 pop_f80;\",\n    type: \"source\",\n    version: 1,\n  },\n  { line: \"41   \\\\tdecade= 70;\", type: \"source\", version: 1 },\n  { line: \"42   \\\\tsex= 'Female'\", type: \"source\", version: 1 },\n  { line: \"43   \\\\tpop= pop_f70;  output pf70;\", type: \"source\", version: 1 },\n  { line: \"      ---\", type: \"error\", version: 1 },\n  { line: \"      22\", type: \"error\", version: 1 },\n  {\n    line: \"ERROR 22-322: Syntax error, expecting one of the following: !, !!, &, \",\n    type: \"error\",\n    version: 1,\n  },\n  {\n    line: \"              *, **, +, -, /, ;, <, <=, <>, =, >, ><, >=, AND, EQ, GE, \",\n    type: \"error\",\n    version: 1,\n  },\n  {\n    line: \"              GT, IN, LE, LT, MAX, MIN, NE, NG, NL, NOTIN, OR, ^=, |, \",\n    type: \"error\",\n    version: 1,\n  },\n  { line: \"              ||, ~=.  \", type: \"error\", version: 1 },\n  { line: \"\", type: \"normal\", version: 1 },\n  { line: \"44   \\\\tsex= 'Male';\", type: \"source\", version: 1 },\n  { line: \"45   \\\\tpop= pop_m70;  output pm70;\", type: \"source\", version: 1 },\n  { line: \"46   \\\\tdecade= 80;\", type: \"source\", version: 1 },\n  { line: \"47   \\\\tpop= pop_m80;  output pm80;\", type: \"source\", version: 1 },\n  { line: \"48   \\\\tsex= 'Female';\", type: \"source\", version: 1 },\n  { line: \"49   \\\\tpop= pop_f80;  output pf80;\", type: \"source\", version: 1 },\n  { line: \"50   \\\\tcards,\", type: \"source\", version: 1 },\n  { line: \"           -\", type: \"error\", version: 1 },\n  { line: \"           22\", type: \"error\", version: 1 },\n  { line: \"           76\", type: \"error\", version: 1 },\n  {\n    line: \"ERROR 22-322: Syntax error, expecting one of the following: ;, CANCEL, \",\n    type: \"error\",\n    version: 1,\n  },\n  { line: \"              PGM.  \", type: \"error\", version: 1 },\n  { line: \"\", type: \"normal\", version: 1 },\n  {\n    line: \"ERROR 76-322: Syntax error, statement will be ignored.\",\n    type: \"error\",\n    version: 1,\n  },\n  { line: \"\", type: \"normal\", version: 1 },\n  {\n    line: \"51   ALA    1.78  1.66  2.02  1.87   ALASKA 0.14  0.16  0.19  0.21\",\n    type: \"source\",\n    version: 1,\n  },\n  {\n    line: \"52   ARIZ   0.90  0.87  1.38  1.34   ARK    0.99  0.93  1.18  1.10\",\n    type: \"source\",\n    version: 1,\n  },\n  {\n    line: \"53   CALIF 10.14  9.82 12.00 11.67   COLO   1.12  1.09  1.46  1.43\",\n    type: \"source\",\n    version: 1,\n  },\n  {\n    line: \"54   CONN   1.56  1.47  1.61  1.50   DEL    0.28  0.27  0.31  0.29\",\n    type: \"source\",\n    version: 1,\n  },\n  {\n    line: \"55   FLA    3.51  3.28  5.07  4.68   GA     2.36  2.23  2.82  2.64\",\n    type: \"source\",\n    version: 1,\n  },\n  {\n    line: \"56   HAW    0.37  0.40  0.47  0.49   IDAHO  0.36  0.36  0.47  0.47\",\n    type: \"source\",\n    version: 1,\n  },\n  {\n    line: \"57   ILL    5.72  5.39  5.89  5.54   IND    2.66  2.53  2.82  2.67\",\n    type: \"source\",\n    version: 1,\n  },\n  {\n    line: \"58   IOWA   1.45  1.37  1.50  1.41   KAN    1.15  1.02  1.21  1.16\",\n    type: \"source\",\n    version: 1,\n  },\n  {\n    line: \"59   KY     1.64  1.58  1.87  1.79   LA     1.87  1.77  2.17  2.04\",\n    type: \"source\",\n    version: 1,\n  },\n  {\n    line: \"60   ME     0.51  0.48  0.58  0.55   MD     2.01  1.92  2.17  2.04\",\n    type: \"source\",\n    version: 1,\n  },\n  {\n    line: \"61   MASS   2.97  2.72  3.01  2.73   MICH   4.53  4.39  4.75  4.52\",\n    type: \"source\",\n    version: 1,\n  },\n  {\n    line: \"62   MINN   1.94  1.86  2.08  2.00   MISS   1.14  1.07  1.31  1.21\",\n    type: \"source\",\n    version: 1,\n  },\n  {\n    line: \"63   MO     2.42  2.26  2.55  2.37   MONT   0.35  0.35  0.39  0.39\",\n    type: \"source\",\n    version: 1,\n  },\n  {\n    line: \"64   NEB    0.76  0.72  0.80  0.77   NEV    0.24  0.25  0.40  0.41\",\n    type: \"source\",\n    version: 1,\n  },\n  {\n    line: \"65   NH     0.38  0.36  0.47  0.45   NJ     3.70  3.47  3.83  3.53\",\n    type: \"source\",\n    version: 1,\n  },\n  {\n    line: \"4                            The SAS System\",\n    type: \"title\",\n    version: 1,\n  },\n  {\n    line: \"                                    Friday, January 19, 2024 08:12:00 AM\",\n    type: \"title\",\n    version: 1,\n  },\n  { line: \"\", type: \"title\", version: 1 },\n  {\n    line: \"66   NM     0.52  0.50  0.66  0.64   NY     9.52  8.72  9.22  8.34\",\n    type: \"source\",\n    version: 1,\n  },\n  {\n    line: \"67   NC     2.59  2.49  3.03  2.86   ND     0.31  0.31  0.32  0.33\",\n    type: \"source\",\n    version: 1,\n  },\n  {\n    line: \"68   OHIO   5.49  5.16  5.58  5.22   OKLA   1.31  1.25  1.55  1.48\",\n    type: \"source\",\n    version: 1,\n  },\n  {\n    line: \"69   ORE    1.07  1.02  1.34  1.30   PA     6.13  5.67  6.18  5.68\",\n    type: \"source\",\n    version: 1,\n  },\n  {\n    line: \"70   RI     0.48  0.46  0.50  0.45   SC     1.32  1.27  1.60  1.52\",\n    type: \"source\",\n    version: 1,\n  },\n  {\n    line: \"71   SD     0.34  0.33  0.35  0.34   TENN   2.03  1.90  2.37  2.22\",\n    type: \"source\",\n    version: 1,\n  },\n  {\n    line: \"72   TEXAS  5.72  5.48  7.23  7.00   UTAH   0.54  0.52  0.74  0.72\",\n    type: \"source\",\n    version: 1,\n  },\n  {\n    line: \"73   VT     0.23  0.22  0.26  0.25   VA     2.35  2.30  2.73  2.62\",\n    type: \"source\",\n    version: 1,\n  },\n  {\n    line: \"NOTE: DATA statement used (Total process time):\",\n    type: \"note\",\n    version: 1,\n  },\n  { line: \"      real time           0.01 seconds\", type: \"note\", version: 1 },\n  { line: \"      cpu time            0.02 seconds\", type: \"note\", version: 1 },\n  { line: \"      \", type: \"note\", version: 1 },\n  {\n    line: \"NOTE: Character values have been converted to numeric \",\n    type: \"note\",\n    version: 1,\n  },\n  {\n    line: \"      values at the places given by: (Line):(Column).\",\n    type: \"note\",\n    version: 1,\n  },\n  { line: \"      42:7   44:7   48:7   \", type: \"note\", version: 1 },\n  {\n    line: \"NOTE: The SAS System stopped processing this step because of errors.\",\n    type: \"note\",\n    version: 1,\n  },\n  {\n    line: \"WARNING: The data set WORK.PF70 may be incomplete.  When this step was \",\n    type: \"warning\",\n    version: 1,\n  },\n  {\n    line: \"         stopped there were 0 observations and 4 variables.\",\n    type: \"warning\",\n    version: 1,\n  },\n  {\n    line: \"WARNING: The data set WORK.PM70 may be incomplete.  When this step was \",\n    type: \"warning\",\n    version: 1,\n  },\n  {\n    line: \"         stopped there were 0 observations and 4 variables.\",\n    type: \"warning\",\n    version: 1,\n  },\n  {\n    line: \"WARNING: The data set WORK.PF80 may be incomplete.  When this step was \",\n    type: \"warning\",\n    version: 1,\n  },\n  {\n    line: \"         stopped there were 0 observations and 4 variables.\",\n    type: \"warning\",\n    version: 1,\n  },\n  {\n    line: \"WARNING: The data set WORK.PM80 may be incomplete.  When this step was \",\n    type: \"warning\",\n    version: 1,\n  },\n  {\n    line: \"         stopped there were 0 observations and 4 variables.\",\n    type: \"warning\",\n    version: 1,\n  },\n  {\n    line: \"74   WASH   1.72  1.69  2.08  2.05   W.VA   0.90  0.84  1.00  0.95\",\n    type: \"source\",\n    version: 1,\n  },\n  {\n    line: \"75   WIS    2.25  2.17  2.40  2.31   WYO    0.16  0.17  0.23  0.24\",\n    type: \"source\",\n    version: 1,\n  },\n  {\n    line: \"76   XX      .     .     .     .     YY      .     .     .     .\",\n    type: \"source\",\n    version: 1,\n  },\n  { line: \"77   ;\", type: \"source\", version: 1 },\n  { line: \"\", type: \"note\", version: 1 },\n  { line: \"\", type: \"note\", version: 1 },\n  { line: \"78   data popstate;\", type: \"source\", version: 1 },\n  { line: \"79   \\\\tset pf70 pm70 pf80 pm80;\", type: \"source\", version: 1 },\n  {\n    line: \"80   \\\\tlabel pop= 'Census Population In Millions';\",\n    type: \"source\",\n    version: 1,\n  },\n  { line: \"81   title 'The SAS System';\", type: \"source\", version: 1 },\n  { line: \"\", type: \"note\", version: 1 },\n  {\n    line: \"NOTE: The data set WORK.POPSTATE has 0 observations and 4 variables.\",\n    type: \"note\",\n    version: 1,\n  },\n  {\n    line: \"NOTE: DATA statement used (Total process time):\",\n    type: \"note\",\n    version: 1,\n  },\n  { line: \"      real time           0.00 seconds\", type: \"note\", version: 1 },\n  { line: \"      cpu time            0.00 seconds\", type: \"note\", version: 1 },\n  { line: \"      \", type: \"note\", version: 1 },\n  { line: \"\", type: \"note\", version: 1 },\n  {\n    line: \"82   proc univariate data=popstate freq plot normal;\",\n    type: \"source\",\n    version: 1,\n  },\n  { line: \"83   \\\\tvar2 pop;\", type: \"source\", version: 1 },\n  { line: \"      ----\", type: \"warning\", version: 1 },\n  { line: \"      1\", type: \"warning\", version: 1 },\n  {\n    line: \"WARNING 1-322: Assuming the symbol VAR was misspelled as var2.\",\n    type: \"warning\",\n    version: 1,\n  },\n  { line: \"84   \\\\tid state;\", type: \"source\", version: 1 },\n  { line: \"85   \\\\tby decade sex;\", type: \"source\", version: 1 },\n  {\n    line: \"86   \\\\toutput out= univout mean= popnmean median= popn50\",\n    type: \"source\",\n    version: 1,\n  },\n  {\n    line: \"87   \\\\t\\\\tpctlpre= pop_  pctlpts= 50, 95 to 100 by 2.5;\",\n    type: \"source\",\n    version: 1,\n  },\n  { line: \"\", type: \"note\", version: 1 },\n  {\n    line: \"NOTE: The data set WORK.UNIVOUT has 0 observations and 0 variables.\",\n    type: \"note\",\n    version: 1,\n  },\n  {\n    line: \"NOTE: PROCEDURE UNIVARIATE used (Total process time):\",\n    type: \"note\",\n    version: 1,\n  },\n  { line: \"      real time           0.01 seconds\", type: \"note\", version: 1 },\n  { line: \"      cpu time            0.00 seconds\", type: \"note\", version: 1 },\n  { line: \"      \", type: \"note\", version: 1 },\n  { line: \"\", type: \"note\", version: 1 },\n  {\n    line: \"5                            The SAS System\",\n    type: \"title\",\n    version: 1,\n  },\n  {\n    line: \"                                    Friday, January 19, 2024 08:12:00 AM\",\n    type: \"title\",\n    version: 1,\n  },\n  { line: \"\", type: \"title\", version: 1 },\n  { line: \"88   proc print data= univout;\", type: \"source\", version: 1 },\n  {\n    line: \"89   \\\\ttitle 'Output Dataset From PROC UNIVARIATE';\",\n    type: \"source\",\n    version: 1,\n  },\n  {\n    line: \"90   \\\\tformat popn50 pop_50 pop_95 pop_97_5 pop_100 best8.;\",\n    type: \"source\",\n    version: 1,\n  },\n  {\n    line: \"WARNING: Variable POPN50 not found in data set WORK.UNIVOUT.\",\n    type: \"warning\",\n    version: 1,\n  },\n  {\n    line: \"WARNING: Variable POP_50 not found in data set WORK.UNIVOUT.\",\n    type: \"warning\",\n    version: 1,\n  },\n  {\n    line: \"WARNING: Variable POP_95 not found in data set WORK.UNIVOUT.\",\n    type: \"warning\",\n    version: 1,\n  },\n  {\n    line: \"WARNING: Variable POP_97_5 not found in data set WORK.UNIVOUT.\",\n    type: \"warning\",\n    version: 1,\n  },\n  {\n    line: \"WARNING: Variable POP_100 not found in data set WORK.UNIVOUT.\",\n    type: \"warning\",\n    version: 1,\n  },\n  { line: \"91   \", type: \"source\", version: 1 },\n  { line: \"92   ;*';*\\\\\\\";*/;run;\", type: \"source\", version: 1 },\n  { line: \"\", type: \"note\", version: 1 },\n  {\n    line: \"NOTE: PROCEDURE PRINT used (Total process time):\",\n    type: \"note\",\n    version: 1,\n  },\n  { line: \"      real time           0.01 seconds\", type: \"note\", version: 1 },\n  { line: \"      cpu time            0.00 seconds\", type: \"note\", version: 1 },\n  { line: \"      \", type: \"note\", version: 1 },\n  { line: \"\", type: \"note\", version: 1 },\n  {\n    line: \"92 !               quit;ods html5 close;\",\n    type: \"source\",\n    version: 1,\n  },\n];\n\nexport const logWith7Problems: LogLine[] = [\n  {\n    line: \"28   /** LOG_START_INDICATOR **/\",\n    type: \"source\",\n    version: 1,\n  },\n  { line: \"29   title;footnote;ods _all_ close;\", type: \"source\", version: 1 },\n  { line: \"30   ods graphics on;\", type: \"source\", version: 1 },\n  {\n    line: \"31   ods html5 style=Ignite options(bitmap_mode='inline' svg_mode='inline');\",\n    type: \"source\",\n    version: 1,\n  },\n  {\n    line: \"NOTE: Writing HTML5 Body file: sashtml2.htm\",\n    type: \"note\",\n    version: 1,\n  },\n  {\n    line: \"32   %let _SASPROGRAMFILE = %nrquote(%nrstr(c:\\\\\\\\SAS\\\\\\\\GIT\\\\\\\\GitHub\\\\\\\\TestData\\\\\\\\error4.sas));\",\n    type: \"source\",\n    version: 1,\n  },\n  { line: \"33   proc foo; run;\", type: \"source\", version: 1 },\n  { line: \"ERROR: Procedure FOO not found.\", type: \"error\", version: 1 },\n  { line: \"\", type: \"note\", version: 1 },\n  {\n    line: \"NOTE: The SAS System stopped processing this step because of errors.\",\n    type: \"note\",\n    version: 1,\n  },\n  {\n    line: \"NOTE: PROCEDURE FOO used (Total process time):\",\n    type: \"note\",\n    version: 1,\n  },\n  { line: \"      real time           0.00 seconds\", type: \"note\", version: 1 },\n  { line: \"      cpu time            0.00 seconds\", type: \"note\", version: 1 },\n  { line: \"      \", type: \"note\", version: 1 },\n  { line: \"34   \", type: \"source\", version: 1 },\n  { line: \"35   options option=foo;\", type: \"source\", version: 1 },\n  { line: \"             ------\", type: \"error\", version: 1 },\n  { line: \"             13\", type: \"error\", version: 1 },\n  {\n    line: \"ERROR 13-12: Unrecognized SAS option name OPTION.\",\n    type: \"error\",\n    version: 1,\n  },\n  { line: \"36   \", type: \"source\", version: 1 },\n  { line: \"\", type: \"note\", version: 1 },\n  { line: \"\", type: \"note\", version: 1 },\n  { line: \"37   data x;\", type: \"source\", version: 1 },\n  { line: \"38   \", type: \"source\", version: 1 },\n  { line: \"39       print(x);\", type: \"source\", version: 1 },\n  { line: \"                 -\", type: \"error\", version: 1 },\n  { line: \"                 22\", type: \"error\", version: 1 },\n  { line: \"                 76\", type: \"error\", version: 1 },\n  {\n    line: \"ERROR: Undeclared array referenced: print.\",\n    type: \"error\",\n    version: 1,\n  },\n  {\n    line: \"ERROR 22-322: Syntax error, expecting one of the following: +, =.  \",\n    type: \"error\",\n    version: 1,\n  },\n  { line: \"\", type: \"normal\", version: 1 },\n  {\n    line: \"ERROR 76-322: Syntax error, statement will be ignored.\",\n    type: \"error\",\n    version: 1,\n  },\n  { line: \"\", type: \"normal\", version: 1 },\n  { line: \"40   \", type: \"source\", version: 1 },\n  { line: \"41   run;\", type: \"source\", version: 1 },\n  { line: \"\", type: \"note\", version: 1 },\n  {\n    line: \"NOTE: The SAS System stopped processing this step because of errors.\",\n    type: \"note\",\n    version: 1,\n  },\n  {\n    line: \"WARNING: The data set WORK.X may be incomplete.  When this step was stopped there were 0 observations and 1 variables.\",\n    type: \"warning\",\n    version: 1,\n  },\n  {\n    line: \"WARNING: Data set WORK.X was not replaced because this step was stopped.\",\n    type: \"warning\",\n    version: 1,\n  },\n  {\n    line: \"NOTE: DATA statement used (Total process time):\",\n    type: \"note\",\n    version: 1,\n  },\n  { line: \"      real time           0.00 seconds\", type: \"note\", version: 1 },\n  { line: \"      cpu time            0.00 seconds\", type: \"note\", version: 1 },\n  { line: \"      \", type: \"note\", version: 1 },\n  { line: \"\", type: \"note\", version: 1 },\n  {\n    line: \"42   ;*';*\\\\\\\";*/;run;quit;ods html5 close;\",\n    type: \"source\",\n    version: 1,\n  },\n];\n\nexport const logWith3Problems: LogLine[] = [\n  {\n    line: \"1                                                          The SAS System                       Monday, January 22, 2024 02:43:00 AM\",\n    type: \"title\",\n    version: 1,\n  },\n  { line: \"\", type: \"title\", version: 1 },\n  {\n    line: \"NOTE: Copyright (c) 2016-2023 by SAS Institute Inc., Cary, NC, USA. \",\n    type: \"note\",\n    version: 1,\n  },\n  {\n    line: \"NOTE: SAS (r) Proprietary Software V.04.00 (TS M0 MBCS3170) \",\n    type: \"note\",\n    version: 1,\n  },\n  {\n    line: \"      Licensed to SCI-VA-VIYA4CD-LAX-RELEASE-TESTREADY, Site 70180938.\",\n    type: \"note\",\n    version: 1,\n  },\n  {\n    line: \"NOTE: This session is executing on the Linux 4.18.0-425.3.1.el8.x86_64 (LIN X64) platform.\",\n    type: \"note\",\n    version: 1,\n  },\n  { line: \"\", type: \"normal\", version: 1 },\n  { line: \"\", type: \"normal\", version: 1 },\n  { line: \"\", type: \"normal\", version: 1 },\n  { line: \"NOTE: Additional host information:\", type: \"note\", version: 1 },\n  { line: \"\", type: \"note\", version: 1 },\n  {\n    line: \" Linux LIN X64 4.18.0-425.3.1.el8.x86_64 #1 SMP Wed Nov 9 20:13:27 UTC 2022 x86_64 Red Hat Enterprise Linux release 8.9 (Ootpa) \",\n    type: \"note\",\n    version: 1,\n  },\n  { line: \"\", type: \"note\", version: 1 },\n  { line: \"NOTE: SAS initialization used:\", type: \"note\", version: 1 },\n  { line: \"      real time           0.04 seconds\", type: \"note\", version: 1 },\n  { line: \"      cpu time            0.04 seconds\", type: \"note\", version: 1 },\n  { line: \"      \", type: \"note\", version: 1 },\n  { line: \"\", type: \"note\", version: 1 },\n  {\n    line: \"NOTE: AUTOEXEC processing beginning; file is /opt/sas/viya/config/etc/compsrv/default/autoexec.sas.\",\n    type: \"note\",\n    version: 1,\n  },\n  { line: \"\", type: \"normal\", version: 1 },\n  { line: \"\", type: \"note\", version: 1 },\n  {\n    line: \"NOTE: DATA statement used (Total process time):\",\n    type: \"note\",\n    version: 1,\n  },\n  { line: \"      real time           0.01 seconds\", type: \"note\", version: 1 },\n  { line: \"      cpu time            0.02 seconds\", type: \"note\", version: 1 },\n  { line: \"      \", type: \"note\", version: 1 },\n  { line: \"\", type: \"note\", version: 1 },\n  { line: \"\", type: \"note\", version: 1 },\n  { line: \"\", type: \"normal\", version: 1 },\n  { line: \"NOTE: AUTOEXEC processing completed.\", type: \"note\", version: 1 },\n  { line: \"\", type: \"note\", version: 1 },\n  { line: \"\", type: \"note\", version: 1 },\n  {\n    line: \"NOTE: The LOCKDOWN option has been set. SAS is now in the lockdown state.\",\n    type: \"note\",\n    version: 1,\n  },\n  { line: \"\", type: \"note\", version: 1 },\n  {\n    line: \"NOTE: NOTE: The LOCKDOWN option has been set. SAS is now in the lockdown state.\",\n    type: \"note\",\n    version: 1,\n  },\n  {\n    line: \"1    /** LOG_START_INDICATOR **/\",\n    type: \"source\",\n    version: 1,\n  },\n  { line: \"2    title;footnote;ods _all_ close;\", type: \"source\", version: 1 },\n  { line: \"3    ods graphics on;\", type: \"source\", version: 1 },\n  {\n    line: \"4    ods html5 style=Illuminate options(bitmap_mode='inline' svg_mode='inline');\",\n    type: \"source\",\n    version: 1,\n  },\n  {\n    line: \"NOTE: Writing HTML5 Body file: sashtml.htm\",\n    type: \"note\",\n    version: 1,\n  },\n  {\n    line: \"5    %let _SASPROGRAMFILE = %nrquote(%nrstr(c:\\\\\\\\SAS\\\\\\\\GIT\\\\\\\\GitHub\\\\\\\\TestData\\\\\\\\error5.sas));\",\n    type: \"source\",\n    version: 1,\n  },\n  { line: \"6    option ls=72,\", type: \"source\", version: 1 },\n  { line: \"                 -\", type: \"error\", version: 1 },\n  { line: \"                 13\", type: \"error\", version: 1 },\n  {\n    line: \"ERROR 13-12: Unrecognized SAS option name ,.\",\n    type: \"error\",\n    version: 1,\n  },\n  { line: \"\", type: \"normal\", version: 1 },\n  { line: \"7    \", type: \"source\", version: 1 },\n  { line: \"8    data pf70;\", type: \"source\", version: 1 },\n  { line: \"     ----\", type: \"error\", version: 1 },\n  { line: \"     13\", type: \"error\", version: 1 },\n  {\n    line: \"ERROR 13-12: Unrecognized SAS option name DATA.\",\n    type: \"error\",\n    version: 1,\n  },\n  { line: \"\", type: \"error\", version: 1 },\n  { line: \"8  ! data pf70;\", type: \"source\", version: 1 },\n  { line: \"          ----\", type: \"error\", version: 1 },\n  { line: \"          13\", type: \"error\", version: 1 },\n  {\n    line: \"ERROR 13-12: Unrecognized SAS option name PF70.\",\n    type: \"error\",\n    version: 1,\n  },\n  { line: \"\", type: \"normal\", version: 1 },\n  {\n    line: \"9    ;*';*\\\\\\\";*/;run;quit;ods html5 close;\",\n    type: \"source\",\n    version: 1,\n  },\n];\n\nexport const replayedLogWith7Problems: LogLine[] = [\n  {\n    line: \"1                                                          The SAS System                       Monday, January 22, 2024 05:24:00 AM\",\n    type: \"title\",\n    version: 1,\n  },\n  { line: \"\", type: \"title\", version: 1 },\n  {\n    line: \"NOTE: Copyright (c) 2016-2023 by SAS Institute Inc., Cary, NC, USA. \",\n    type: \"note\",\n    version: 1,\n  },\n  {\n    line: \"NOTE: SAS (r) Proprietary Software V.04.00 (TS M0 MBCS3170) \",\n    type: \"note\",\n    version: 1,\n  },\n  {\n    line: \"      Licensed to SCI-VA-VIYA4CD-LAX-RELEASE-TESTREADY, Site 70180938.\",\n    type: \"note\",\n    version: 1,\n  },\n  {\n    line: \"NOTE: This session is executing on the Linux 4.18.0-425.3.1.el8.x86_64 (LIN X64) platform.\",\n    type: \"note\",\n    version: 1,\n  },\n  { line: \"\", type: \"normal\", version: 1 },\n  { line: \"\", type: \"normal\", version: 1 },\n  { line: \"\", type: \"normal\", version: 1 },\n  { line: \"NOTE: Additional host information:\", type: \"note\", version: 1 },\n  { line: \"\", type: \"note\", version: 1 },\n  {\n    line: \" Linux LIN X64 4.18.0-425.3.1.el8.x86_64 #1 SMP Wed Nov 9 20:13:27 UTC 2022 x86_64 Red Hat Enterprise Linux release 8.9 (Ootpa) \",\n    type: \"note\",\n    version: 1,\n  },\n  { line: \"\", type: \"note\", version: 1 },\n  { line: \"NOTE: SAS initialization used:\", type: \"note\", version: 1 },\n  { line: \"      real time           0.04 seconds\", type: \"note\", version: 1 },\n  { line: \"      cpu time            0.03 seconds\", type: \"note\", version: 1 },\n  { line: \"      \", type: \"note\", version: 1 },\n  { line: \"\", type: \"note\", version: 1 },\n  {\n    line: \"NOTE: AUTOEXEC processing beginning; file is /opt/sas/viya/config/etc/compsrv/default/autoexec.sas.\",\n    type: \"note\",\n    version: 1,\n  },\n  { line: \"\", type: \"normal\", version: 1 },\n  { line: \"\", type: \"note\", version: 1 },\n  {\n    line: \"NOTE: DATA statement used (Total process time):\",\n    type: \"note\",\n    version: 1,\n  },\n  { line: \"      real time           0.01 seconds\", type: \"note\", version: 1 },\n  { line: \"      cpu time            0.00 seconds\", type: \"note\", version: 1 },\n  { line: \"      \", type: \"note\", version: 1 },\n  { line: \"\", type: \"note\", version: 1 },\n  { line: \"\", type: \"note\", version: 1 },\n  { line: \"\", type: \"normal\", version: 1 },\n  { line: \"NOTE: AUTOEXEC processing completed.\", type: \"note\", version: 1 },\n  { line: \"\", type: \"note\", version: 1 },\n  { line: \"\", type: \"note\", version: 1 },\n  {\n    line: \"NOTE: The LOCKDOWN option has been set. SAS is now in the lockdown state.\",\n    type: \"note\",\n    version: 1,\n  },\n  { line: \"\", type: \"note\", version: 1 },\n  {\n    line: \"NOTE: NOTE: The LOCKDOWN option has been set. SAS is now in the lockdown state.\",\n    type: \"note\",\n    version: 1,\n  },\n  {\n    line: \"1    /** LOG_START_INDICATOR **/\",\n    type: \"source\",\n    version: 1,\n  },\n  {\n    line: \"2    title;footnote;ods _all_ close;\",\n    type: \"source\",\n    version: 1,\n  },\n  { line: \"3    ods graphics on;\", type: \"source\", version: 1 },\n  {\n    line: \"4    ods html5 style=Illuminate options(bitmap_mode='inline' svg_mode='inline');\",\n    type: \"source\",\n    version: 1,\n  },\n  {\n    line: \"NOTE: Writing HTML5 Body file: sashtml.htm\",\n    type: \"note\",\n    version: 1,\n  },\n  {\n    line: \"5    %let _SASPROGRAMFILE = %nrquote(%nrstr(c:\\\\\\\\SAS\\\\\\\\GIT\\\\\\\\GitHub\\\\\\\\TestData\\\\\\\\error4.sas));\",\n    type: \"source\",\n    version: 1,\n  },\n  { line: \"6    proc foo; run;\", type: \"source\", version: 1 },\n  { line: \"ERROR: Procedure FOO not found.\", type: \"error\", version: 1 },\n  { line: \"\", type: \"note\", version: 1 },\n  {\n    line: \"NOTE: The SAS System stopped processing this step because of errors.\",\n    type: \"note\",\n    version: 1,\n  },\n  {\n    line: \"NOTE: Due to ERROR(s) above, SAS set option OBS=0, enabling syntax check mode. \",\n    type: \"note\",\n    version: 1,\n  },\n  {\n    line: \"      This prevents execution of subsequent data modification statements.\",\n    type: \"note\",\n    version: 1,\n  },\n  {\n    line: \"NOTE: PROCEDURE FOO used (Total process time):\",\n    type: \"note\",\n    version: 1,\n  },\n  { line: \"      real time           0.00 seconds\", type: \"note\", version: 1 },\n  { line: \"      cpu time            0.00 seconds\", type: \"note\", version: 1 },\n  { line: \"      \", type: \"note\", version: 1 },\n  { line: \"7    \", type: \"source\", version: 1 },\n  { line: \"8    options option=foo;\", type: \"source\", version: 1 },\n  { line: \"             ------\", type: \"error\", version: 1 },\n  { line: \"             13\", type: \"error\", version: 1 },\n  {\n    line: \"ERROR 13-12: Unrecognized SAS option name OPTION.\",\n    type: \"error\",\n    version: 1,\n  },\n  { line: \"9    \", type: \"source\", version: 1 },\n  { line: \"\", type: \"note\", version: 1 },\n  { line: \"\", type: \"note\", version: 1 },\n  { line: \"10   data x;\", type: \"source\", version: 1 },\n  { line: \"11   \", type: \"source\", version: 1 },\n  { line: \"12       print(x);\", type: \"source\", version: 1 },\n  {\n    line: \"2                                                          The SAS System                       Monday, January 22, 2024 05:24:00 AM\",\n    type: \"title\",\n    version: 1,\n  },\n  { line: \"\", type: \"title\", version: 1 },\n  { line: \"                 -\", type: \"error\", version: 1 },\n  { line: \"                 22\", type: \"error\", version: 1 },\n  { line: \"                 76\", type: \"error\", version: 1 },\n  {\n    line: \"ERROR: Undeclared array referenced: print.\",\n    type: \"error\",\n    version: 1,\n  },\n  {\n    line: \"ERROR 22-322: Syntax error, expecting one of the following: +, =.  \",\n    type: \"error\",\n    version: 1,\n  },\n  { line: \"\", type: \"normal\", version: 1 },\n  {\n    line: \"ERROR 76-322: Syntax error, statement will be ignored.\",\n    type: \"error\",\n    version: 1,\n  },\n  { line: \"\", type: \"normal\", version: 1 },\n  { line: \"13   \", type: \"source\", version: 1 },\n  { line: \"14   run;\", type: \"source\", version: 1 },\n  { line: \"\", type: \"note\", version: 1 },\n  {\n    line: \"NOTE: The SAS System stopped processing this step because of errors.\",\n    type: \"note\",\n    version: 1,\n  },\n  {\n    line: \"WARNING: The data set WORK.X may be incomplete.  When this step was stopped there were 0 observations and 1 variables.\",\n    type: \"warning\",\n    version: 1,\n  },\n  {\n    line: \"NOTE: DATA statement used (Total process time):\",\n    type: \"note\",\n    version: 1,\n  },\n  { line: \"      real time           0.00 seconds\", type: \"note\", version: 1 },\n  { line: \"      cpu time            0.02 seconds\", type: \"note\", version: 1 },\n  { line: \"      \", type: \"note\", version: 1 },\n  { line: \"\", type: \"note\", version: 1 },\n  {\n    line: \"15   ;*';*\\\\\\\";*/;run;quit;ods html5 close;\",\n    type: \"source\",\n    version: 1,\n  },\n  { line: \"16   title;footnote;ods _all_ close;\", type: \"source\", version: 1 },\n  { line: \"17   ods graphics on;\", type: \"source\", version: 1 },\n  {\n    line: \"18   ods html5 style=Illuminate options(bitmap_mode='inline' svg_mode='inline');\",\n    type: \"source\",\n    version: 1,\n  },\n  {\n    line: \"NOTE: Writing HTML5 Body file: sashtml1.htm\",\n    type: \"note\",\n    version: 1,\n  },\n  {\n    line: \"19   %let _SASPROGRAMFILE = %nrquote(%nrstr(c:\\\\\\\\SAS\\\\\\\\GIT\\\\\\\\GitHub\\\\\\\\TestData\\\\\\\\error4.sas));\",\n    type: \"source\",\n    version: 1,\n  },\n  { line: \"20   ;\", type: \"source\", version: 1 },\n  {\n    line: \"21   ;*';*\\\\\\\";*/;run;quit;ods html5 close;\",\n    type: \"source\",\n    version: 1,\n  },\n  { line: \"22   title;footnote;ods _all_ close;\", type: \"source\", version: 1 },\n  { line: \"23   ods graphics on;\", type: \"source\", version: 1 },\n  {\n    line: \"24   ods html5 style=Illuminate options(bitmap_mode='inline' svg_mode='inline');\",\n    type: \"source\",\n    version: 1,\n  },\n  {\n    line: \"NOTE: Writing HTML5 Body file: sashtml2.htm\",\n    type: \"note\",\n    version: 1,\n  },\n  {\n    line: \"25   %let _SASPROGRAMFILE = %nrquote(%nrstr(c:\\\\\\\\SAS\\\\\\\\GIT\\\\\\\\GitHub\\\\\\\\TestData\\\\\\\\error4.sas));\",\n    type: \"source\",\n    version: 1,\n  },\n  { line: \"26   proc foo; run;\", type: \"source\", version: 1 },\n  { line: \"ERROR: Procedure FOO not found.\", type: \"error\", version: 1 },\n  { line: \"\", type: \"note\", version: 1 },\n  {\n    line: \"NOTE: The SAS System stopped processing this step because of errors.\",\n    type: \"note\",\n    version: 1,\n  },\n  {\n    line: \"NOTE: PROCEDURE FOO used (Total process time):\",\n    type: \"note\",\n    version: 1,\n  },\n  { line: \"      real time           0.00 seconds\", type: \"note\", version: 1 },\n  { line: \"      cpu time            0.00 seconds\", type: \"note\", version: 1 },\n  { line: \"      \", type: \"note\", version: 1 },\n  { line: \"27   \", type: \"source\", version: 1 },\n  { line: \"28   options option=foo;\", type: \"source\", version: 1 },\n  { line: \"             ------\", type: \"error\", version: 1 },\n  { line: \"             13\", type: \"error\", version: 1 },\n  {\n    line: \"ERROR 13-12: Unrecognized SAS option name OPTION.\",\n    type: \"error\",\n    version: 1,\n  },\n  { line: \"29   \", type: \"source\", version: 1 },\n  { line: \"\", type: \"note\", version: 1 },\n  { line: \"\", type: \"note\", version: 1 },\n  { line: \"30   data x;\", type: \"source\", version: 1 },\n  { line: \"31   \", type: \"source\", version: 1 },\n  { line: \"32       print(x);\", type: \"source\", version: 1 },\n  { line: \"                 -\", type: \"error\", version: 1 },\n  { line: \"                 22\", type: \"error\", version: 1 },\n  { line: \"                 76\", type: \"error\", version: 1 },\n  {\n    line: \"ERROR: Undeclared array referenced: print.\",\n    type: \"error\",\n    version: 1,\n  },\n  {\n    line: \"ERROR 22-322: Syntax error, expecting one of the following: +, =.  \",\n    type: \"error\",\n    version: 1,\n  },\n  { line: \"\", type: \"normal\", version: 1 },\n  {\n    line: \"ERROR 76-322: Syntax error, statement will be ignored.\",\n    type: \"error\",\n    version: 1,\n  },\n  { line: \"\", type: \"normal\", version: 1 },\n  {\n    line: \"3                                                          The SAS System                       Monday, January 22, 2024 05:24:00 AM\",\n    type: \"title\",\n    version: 1,\n  },\n  { line: \"\", type: \"title\", version: 1 },\n  { line: \"33   \", type: \"source\", version: 1 },\n  { line: \"34   run;\", type: \"source\", version: 1 },\n  { line: \"\", type: \"note\", version: 1 },\n  {\n    line: \"NOTE: The SAS System stopped processing this step because of errors.\",\n    type: \"note\",\n    version: 1,\n  },\n  {\n    line: \"WARNING: The data set WORK.X may be incomplete.  When this step was stopped there were 0 observations and 1 variables.\",\n    type: \"warning\",\n    version: 1,\n  },\n  {\n    line: \"WARNING: Data set WORK.X was not replaced because this step was stopped.\",\n    type: \"warning\",\n    version: 1,\n  },\n  {\n    line: \"NOTE: DATA statement used (Total process time):\",\n    type: \"note\",\n    version: 1,\n  },\n  { line: \"      real time           0.00 seconds\", type: \"note\", version: 1 },\n  { line: \"      cpu time            0.00 seconds\", type: \"note\", version: 1 },\n  { line: \"      \", type: \"note\", version: 1 },\n  { line: \"\", type: \"note\", version: 1 },\n  {\n    line: \"35   ;*';*\\\\\\\";*/;run;quit;ods html5 close;\",\n    type: \"source\",\n    version: 1,\n  },\n];\n\nexport const logWithLongSourceCode: LogLine[] = [\n  {\n    line: \"6    /** LOG_START_INDICATOR **/\",\n    type: \"source\",\n    version: 1,\n  },\n  {\n    line: \"7    %let _SASPROGRAMFILE = \",\n    type: \"source\",\n    version: 1,\n  },\n  {\n    line: \"7  !                        %nrquote(%nrstr(c:\\\\SAS\\\\GIT\\\\GitHub\\\\TestData\\\\error7.sas));\",\n    type: \"source\",\n    version: 1,\n  },\n  { line: \"8    proc casutil;\", type: \"source\", version: 1 },\n  {\n    line: \"ERROR: A connection to the Cloud Analytic Services session could not be made.\",\n    type: \"error\",\n    version: 1,\n  },\n  { line: \"ERROR: An error has occurred.\", type: \"error\", version: 1 },\n  {\n    line: '8  !               load data=SASHELP.BASEBALL outcaslib=\"CASUSER\" casout=\"CASBALL\"; run;',\n    type: \"source\",\n    version: 1,\n  },\n  { line: \"ERROR: An error has occurred.\", type: \"error\", version: 1 },\n  { line: \"\", type: \"note\", version: 1 },\n  { line: \"9    \", type: \"source\", version: 1 },\n  { line: \"\", type: \"note\", version: 1 },\n];\n\nexport const logWithMultipleIndicatorInOneLine: LogLine[] = [\n  { line: \"36   /** LOG_START_INDICATOR **/\", type: \"source\", version: 1 },\n  {\n    line: \"37   %let _SASPROGRAMFILE = %nrquote(%nrstr(c:\\\\SAS\\\\GIT\\\\GitHub\\\\TestData\\\\errot9.sas));\",\n    type: \"source\",\n    version: 1,\n  },\n  {\n    line: \"38   /* PROC PRINT DATA=SASHELP.CLASS;\",\n    type: \"source\",\n    version: 1,\n  },\n  { line: \"39   RUN;*/\", type: \"source\", version: 1 },\n  { line: \"40   /*\", type: \"source\", version: 1 },\n  { line: \"41   %MACRO NAME;\", type: \"source\", version: 1 },\n  { line: \"42   %MEND; */\", type: \"source\", version: 1 },\n  { line: \"43   \", type: \"source\", version: 1 },\n  { line: \"44   /* %macro name;\", type: \"source\", version: 1 },\n  { line: \"45   %mend; */\", type: \"source\", version: 1 },\n  { line: \"46   \", type: \"source\", version: 1 },\n  { line: \"47   data _null_;\", type: \"source\", version: 1 },\n  { line: \"48       set one;\", type: \"source\", version: 1 },\n  {\n    line: \"ERROR: File WORK.ONE.DATA does not exist.\",\n    type: \"error\",\n    version: 1,\n  },\n  {\n    line: \"49       call call symputx('mac', quote(strip(emple)));\",\n    type: \"source\",\n    version: 1,\n  },\n  {\n    line: \"                   -------                            -\",\n    type: \"error\",\n    version: 1,\n  },\n  {\n    line: \"                   22                                 79\",\n    type: \"error\",\n    version: 1,\n  },\n  { line: \"                   68\", type: \"error\", version: 1 },\n  { line: \"              ----\", type: \"error\", version: 1 },\n  { line: \"              251\", type: \"error\", version: 1 },\n  {\n    line: \"ERROR 22-322: Syntax error, expecting one of the following: (, ;.  \",\n    type: \"error\",\n    version: 1,\n  },\n  { line: \"\", type: \"normal\", version: 1 },\n  { line: \"ERROR 79-322: Expecting a ).\", type: \"error\", version: 1 },\n  { line: \"\", type: \"normal\", version: 1 },\n  {\n    line: \"ERROR 68-185: The function SYMPUTX is unknown, or cannot be accessed.\",\n    type: \"error\",\n    version: 1,\n  },\n  { line: \"\", type: \"normal\", version: 1 },\n  {\n    line: \"ERROR 251-185: The subroutine CALL is unknown, or cannot be accessed. Check your spelling. \",\n    type: \"error\",\n    version: 1,\n  },\n  {\n    line: \"               Either it was not found in the path(s) of executable images, or there was incorrect or missing subroutine descriptor \",\n    type: \"error\",\n    version: 1,\n  },\n  { line: \"               information.\", type: \"error\", version: 1 },\n  { line: \"\", type: \"normal\", version: 1 },\n  {\n    line: \"50       call execute(%let list=&list &mac);\",\n    type: \"source\",\n    version: 1,\n  },\n  {\n    line: \"WARNING: Apparent symbolic reference MAC not resolved.\",\n    type: \"warning\",\n    version: 1,\n  },\n  {\n    line: \"WARNING: Apparent symbolic reference MAC not resolved.\",\n    type: \"warning\",\n    version: 1,\n  },\n  { line: \"51   run;\", type: \"source\", version: 1 },\n  { line: \"        -\", type: \"error\", version: 1 },\n  { line: \"        79\", type: \"error\", version: 1 },\n  { line: \"\", type: \"note\", version: 1 },\n  { line: \"ERROR 79-322: Expecting a ).\", type: \"error\", version: 1 },\n  { line: \"\", type: \"normal\", version: 1 },\n];\n\nexport const multipleSameProblemIndexAtOneLine: LogLine[] = [\n  {\n    type: \"title\",\n    line: \"16                                                   The SAS System                         15:44 Friday, March 22, 2024\",\n  },\n  { type: \"source\", line: \"261        /** LOG_START_INDICATOR **/\" },\n  { type: \"source\", line: \"262        title;footnote;ods _all_ close;\" },\n  { type: \"source\", line: \"263        ods graphics on;\" },\n  {\n    type: \"source\",\n    line: \"264        ods html5 style=Ignite options(bitmap_mode='inline' svg_mode='inline')\",\n  },\n  {\n    type: \"source\",\n    line: '264      ! body=\\\\\"574c9522-8068-4c99-aeb5-4137a53ae941.htm\\\\\";',\n  },\n  {\n    type: \"note\",\n    line: \"NOTE: Writing HTML5 Body file: 574c9522-8068-4c99-aeb5-4137a53ae941.htm\",\n  },\n  {\n    type: \"source\",\n    line: \"265        %let _SASPROGRAMFILE = %nrquote(%nrstr(c:\\\\\\\\SAS\\\\\\\\GIT\\\\\\\\GitHub\\\\\\\\TestData\\\\\\\\error_04.sas));\",\n  },\n  { type: \"source\", line: \"266         /*=========================*/\" },\n  { type: \"source\", line: \"267         /* Pass-Through Sample 1  */\" },\n  { type: \"source\", line: \"268         /*=========================*/\" },\n  { type: \"source\", line: \"269        /* BLANK LINE*/\" },\n  {\n    type: \"source\",\n    line: \"270        title 'Pass-Through Sample 1: Brief Data for All Invoices';\",\n  },\n  { type: \"source\", line: \"271        /* BLANK LINE*/\" },\n  { type: \"source\", line: \"272        options linesize=120;\" },\n  { type: \"source\", line: \"273        /* BLANK LINE*/\" },\n  { type: \"source\", line: \"274        proc sql;\" },\n  { type: \"source\", line: \"275        connect to &dbms as mydb (&CONNOPT);\" },\n  { type: \"error\", line: \"                      _              _\" },\n  { type: \"error\", line: \"                      22             79\" },\n  { type: \"error\", line: \"                      200            200\" },\n  {\n    type: \"warning\",\n    line: \"WARNING: Apparent symbolic reference DBMS not resolved.\",\n  },\n  {\n    type: \"warning\",\n    line: \"WARNING: Apparent symbolic reference CONNOPT not resolved.\",\n  },\n  { type: \"error\", line: \"ERROR 22-322: Expecting a name.  \" },\n  { type: \"error\", line: \"ERROR 79-322: Expecting a ).\" },\n  {\n    type: \"error\",\n    line: \"ERROR 200-322: The symbol is not recognized and will be ignored.\",\n  },\n  {\n    type: \"note\",\n    line: \"NOTE: PROC SQL set option NOEXEC and will continue to check the syntax of statements.\",\n  },\n  { type: \"source\", line: \"276        %put %superq(sqlxmsg);\" },\n  {\n    type: \"error\",\n    line: \"ERROR: A Connection to the mydb DBMS is not currently supported, or is not installed at your site.\",\n  },\n  { type: \"source\", line: \"277        /* BLANK LINE*/\" },\n  { type: \"source\", line: \"278           select INVNUM, NAME, BILLEDON,\" },\n  { type: \"source\", line: \"279                  AMTINUS format=dollar20.2\" },\n  { type: \"source\", line: \"280           from connection to mydb\" },\n  {\n    type: \"source\",\n    line: \"281              (select INVNUM, BILLEDON, AMTINUS, NAME\",\n  },\n  { type: \"source\", line: \"282                  from SAMDAT9, SAMDAT11\" },\n  {\n    type: \"source\",\n    line: \"283                  where SAMDAT9.BILLEDTO=SAMDAT11.CUSTOMER\",\n  },\n  { type: \"source\", line: \"284                  order by BILLEDON, INVNUM);\" },\n  { type: \"error\", line: \"ERROR: The MYDB engine cannot be found.\" },\n  {\n    type: \"error\",\n    line: \"ERROR: A Connection to the mydb DBMS is not currently supported, or is not installed at your site.\",\n  },\n  { type: \"source\", line: \"285        %put %superq(sqlxmsg);\" },\n  {\n    type: \"error\",\n    line: \"ERROR: A Connection to the mydb DBMS is not currently supported, or is not installed at your site.\",\n  },\n  { type: \"source\", line: \"286        /* BLANK LINE*/\" },\n  { type: \"source\", line: \"287        disconnect from mydb;\" },\n  { type: \"note\", line: \"NOTE: Statement not executed due to NOEXEC option.\" },\n  { type: \"source\", line: \"288        quit;\" },\n  {\n    type: \"note\",\n    line: \"NOTE: The SAS System stopped processing this step because of errors.\",\n  },\n  { type: \"note\", line: \"NOTE: PROCEDURE SQL used (Total process time):\" },\n  { type: \"note\", line: \"      real time           0.02 seconds\" },\n  { type: \"note\", line: \"      cpu time            0.00 seconds\" },\n  { type: \"note\", line: \"      \" },\n  { type: \"source\", line: \"289        /* BLANK LINE*/\" },\n  { type: \"source\", line: \"290        proc sql;\" },\n  {\n    type: \"title\",\n    line: \"17                                                   The SAS System                         15:44 Friday, March 22, 2024\",\n  },\n  { type: \"source\", line: \"291        connect to &dbms as mydb (&CONNOPT);\" },\n  { type: \"error\", line: \"                      _              _\" },\n  { type: \"error\", line: \"                      22             79\" },\n  { type: \"error\", line: \"                      200            200\" },\n  {\n    type: \"warning\",\n    line: \"WARNING: Apparent symbolic reference DBMS not resolved.\",\n  },\n  {\n    type: \"warning\",\n    line: \"WARNING: Apparent symbolic reference CONNOPT not resolved.\",\n  },\n  { type: \"error\", line: \"ERROR 22-322: Expecting a name.  \" },\n  { type: \"error\", line: \"ERROR 79-322: Expecting a ).\" },\n  {\n    type: \"error\",\n    line: \"ERROR 200-322: The symbol is not recognized and will be ignored.\",\n  },\n  {\n    type: \"note\",\n    line: \"NOTE: PROC SQL set option NOEXEC and will continue to check the syntax of statements.\",\n  },\n  { type: \"source\", line: \"292        %put %superq(sqlxmsg);\" },\n  {\n    type: \"error\",\n    line: \"ERROR: A Connection to the mydb DBMS is not currently supported, or is not installed at your site.\",\n  },\n  { type: \"source\", line: \"293        /* BLANK LINE*/\" },\n  { type: \"source\", line: \"294        create view samples.brief as\" },\n  { type: \"source\", line: \"295           select INVNUM, NAME, BILLEDON,\" },\n  { type: \"source\", line: \"296                  AMTINUS format=dollar20.2\" },\n  { type: \"source\", line: \"297           from connection to mydb\" },\n  {\n    type: \"source\",\n    line: \"298              (select INVNUM, BILLEDON, AMTINUS, NAME\",\n  },\n  { type: \"source\", line: \"299                  from SAMDAT9, SAMDAT11\" },\n  {\n    type: \"source\",\n    line: \"300                  where SAMDAT9.BILLEDTO=SAMDAT11.CUSTOMER);\",\n  },\n  { type: \"note\", line: \"NOTE: Statement not executed due to NOEXEC option.\" },\n  { type: \"source\", line: \"301        /* BLANK LINE*/\" },\n  { type: \"source\", line: \"302        %put %superq(sqlxmsg);\" },\n  {\n    type: \"error\",\n    line: \"ERROR: A Connection to the mydb DBMS is not currently supported, or is not installed at your site.\",\n  },\n  { type: \"source\", line: \"303        /* BLANK LINE*/\" },\n  { type: \"source\", line: \"304        disconnect from mydb;\" },\n  { type: \"note\", line: \"NOTE: Statement not executed due to NOEXEC option.\" },\n  { type: \"source\", line: \"305        /* BLANK LINE*/\" },\n  { type: \"source\", line: \"306        options ls=120 label;\" },\n  { type: \"source\", line: \"307        /* BLANK LINE*/\" },\n  { type: \"source\", line: \"308        select * from samples.brief\" },\n  { type: \"source\", line: \"309           order by BILLEDON, INVNUM;\" },\n  { type: \"error\", line: \"ERROR: Libref SAMPLES is not assigned.\" },\n  { type: \"source\", line: \"310        /* BLANK LINE*/\" },\n  { type: \"source\", line: \"311        quit;\" },\n  {\n    type: \"note\",\n    line: \"NOTE: The SAS System stopped processing this step because of errors.\",\n  },\n  { type: \"note\", line: \"NOTE: PROCEDURE SQL used (Total process time):\" },\n  { type: \"note\", line: \"      real time           0.00 seconds\" },\n  { type: \"note\", line: \"      cpu time            0.00 seconds\" },\n  { type: \"note\", line: \"      \" },\n  { type: \"source\", line: \"312        /* BLANK LINE*/\" },\n  { type: \"source\", line: \"313          /*=========================*/\" },\n  { type: \"source\", line: \"314          /* Pass-Through Sample 2  */\" },\n  { type: \"source\", line: \"315          /*=========================*/\" },\n  { type: \"source\", line: \"316        /* BLANK LINE*/\" },\n  { type: \"source\", line: \"317        options ls=120;\" },\n  { type: \"source\", line: \"318        /* BLANK LINE*/\" },\n  {\n    type: \"source\",\n    line: \"319        title 'Pass-Through Sample 2: Interns Who Are Family Members of Employees';\",\n  },\n  { type: \"source\", line: \"320        /* BLANK LINE*/\" },\n  { type: \"source\", line: \"321        proc sql;\" },\n  { type: \"source\", line: \"322        connect to &dbms as mydb (&CONNOPT);\" },\n  { type: \"error\", line: \"                      _              _\" },\n  { type: \"error\", line: \"                      22             79\" },\n  {\n    type: \"title\",\n    line: \"18                                                   The SAS System                         15:44 Friday, March 22, 2024\",\n  },\n  { type: \"error\", line: \"                      200            200\" },\n  {\n    type: \"warning\",\n    line: \"WARNING: Apparent symbolic reference DBMS not resolved.\",\n  },\n  {\n    type: \"warning\",\n    line: \"WARNING: Apparent symbolic reference CONNOPT not resolved.\",\n  },\n  { type: \"error\", line: \"ERROR 22-322: Expecting a name.  \" },\n  { type: \"error\", line: \"ERROR 79-322: Expecting a ).\" },\n  {\n    type: \"error\",\n    line: \"ERROR 200-322: The symbol is not recognized and will be ignored.\",\n  },\n  {\n    type: \"note\",\n    line: \"NOTE: PROC SQL set option NOEXEC and will continue to check the syntax of statements.\",\n  },\n  { type: \"source\", line: \"323        %put %superq(sqlxmsg);\" },\n  {\n    type: \"error\",\n    line: \"ERROR: A Connection to the mydb DBMS is not currently supported, or is not installed at your site.\",\n  },\n  { type: \"source\", line: \"324        /* BLANK LINE*/\" },\n  {\n    type: \"source\",\n    line: \"325        select samdat13.LASTNAME, samdat13.FIRSTNAM,\",\n  },\n  {\n    type: \"source\",\n    line: \"326               samdat13.EMPID, samdat13.FAMILYID,\",\n  },\n  { type: \"source\", line: \"327               samdat13.GENDER, samdat13.DEPT,\" },\n  { type: \"source\", line: \"328               samdat13.HIREDATE\" },\n  { type: \"source\", line: \"329           from connection to mydb\" },\n  {\n    type: \"source\",\n    line: \"330              (select * from SAMDAT10) as query1, samples.samdat13\",\n  },\n  {\n    type: \"source\",\n    line: \"331           where query1.EMPID=samdat13.FAMILYID;\",\n  },\n  { type: \"error\", line: \"ERROR: The MYDB engine cannot be found.\" },\n  {\n    type: \"error\",\n    line: \"ERROR: A Connection to the mydb DBMS is not currently supported, or is not installed at your site.\",\n  },\n  { type: \"error\", line: \"ERROR: Libref SAMPLES is not assigned.\" },\n  { type: \"source\", line: \"332        /* BLANK LINE*/\" },\n  { type: \"source\", line: \"333        %put %superq(sqlxmsg);\" },\n  {\n    type: \"error\",\n    line: \"ERROR: A Connection to the mydb DBMS is not currently supported, or is not installed at your site.\",\n  },\n  { type: \"source\", line: \"334        /* BLANK LINE*/\" },\n  { type: \"source\", line: \"335        disconnect from mydb;\" },\n  { type: \"note\", line: \"NOTE: Statement not executed due to NOEXEC option.\" },\n  { type: \"source\", line: \"336        quit;\" },\n  {\n    type: \"note\",\n    line: \"NOTE: The SAS System stopped processing this step because of errors.\",\n  },\n  { type: \"note\", line: \"NOTE: PROCEDURE SQL used (Total process time):\" },\n  { type: \"note\", line: \"      real time           0.00 seconds\" },\n  { type: \"note\", line: \"      cpu time            0.00 seconds\" },\n  { type: \"note\", line: \"      \" },\n  { type: \"source\", line: \"337        /* BLANK LINE*/\" },\n  { type: \"source\", line: \"338        /* BLANK LINE*/\" },\n  { type: \"source\", line: \"339         /*=========================*/\" },\n  { type: \"source\", line: \"340         /* Pass-Through Sample 3  */\" },\n  { type: \"source\", line: \"341         /*=========================*/\" },\n  { type: \"source\", line: \"342        /* BLANK LINE*/\" },\n  { type: \"source\", line: \"343        proc sql;\" },\n  { type: \"source\", line: \"344        /* BLANK LINE*/\" },\n  { type: \"source\", line: \"345           create view samples.allemp as\" },\n  { type: \"source\", line: \"346             select * from mydblib.SAMDAT10;\" },\n  { type: \"error\", line: \"ERROR: Libref SAMPLES is not assigned.\" },\n  { type: \"error\", line: \"ERROR: Create View failed.\" },\n  {\n    type: \"note\",\n    line: \"NOTE: PROC SQL set option NOEXEC and will continue to check the syntax of statements.\",\n  },\n  { type: \"source\", line: \"347        /* BLANK LINE*/\" },\n  { type: \"source\", line: \"348        quit;\" },\n  {\n    type: \"note\",\n    line: \"NOTE: The SAS System stopped processing this step because of errors.\",\n  },\n  { type: \"note\", line: \"NOTE: PROCEDURE SQL used (Total process time):\" },\n  { type: \"note\", line: \"      real time           0.00 seconds\" },\n  { type: \"note\", line: \"      cpu time            0.00 seconds\" },\n  { type: \"note\", line: \"      \" },\n  { type: \"source\", line: \"349        /* BLANK LINE*/\" },\n  {\n    type: \"title\",\n    line: \"19                                                   The SAS System                         15:44 Friday, March 22, 2024\",\n  },\n  { type: \"source\", line: \"350        %let dept='ACC%';\" },\n  { type: \"source\", line: \"351        /* BLANK LINE*/\" },\n  { type: \"source\", line: \"352        proc sql stimer;\" },\n  { type: \"note\", line: \"NOTE: SQL Statement used (Total process time):\" },\n  { type: \"note\", line: \"      real time           0.00 seconds\" },\n  { type: \"note\", line: \"      cpu time            0.00 seconds\" },\n  { type: \"note\", line: \"      \" },\n  {\n    type: \"source\",\n    line: \"353        title 'Pass-Through Sample 3: Employees Who Earn Below the Dept Average\",\n  },\n  { type: \"source\", line: \"354        Salary';\" },\n  {\n    type: \"warning\",\n    line: \"WARNING: Apparent symbolic reference DBMS not resolved.\",\n  },\n  {\n    type: \"warning\",\n    line: \"WARNING: Apparent symbolic reference CONNOPT not resolved.\",\n  },\n  { type: \"source\", line: \"355        connect to &dbms (&CONNOPT);\" },\n  { type: \"error\", line: \"                      _\" },\n  { type: \"error\", line: \"                      22\" },\n  { type: \"error\", line: \"                      200\" },\n  { type: \"error\", line: \"ERROR 22-322: Expecting a name.  \" },\n  {\n    type: \"error\",\n    line: \"ERROR 200-322: The symbol is not recognized and will be ignored.\",\n  },\n  {\n    type: \"note\",\n    line: \"NOTE: PROC SQL set option NOEXEC and will continue to check the syntax of statements.\",\n  },\n  { type: \"note\", line: \"NOTE: SQL Statement used (Total process time):\" },\n  { type: \"note\", line: \"      real time           0.00 seconds\" },\n  { type: \"note\", line: \"      cpu time            0.00 seconds\" },\n  { type: \"note\", line: \"      \" },\n  { type: \"source\", line: \"356        /* BLANK LINE*/\" },\n  { type: \"source\", line: \"357        select EMPID, LASTNAME\" },\n  { type: \"source\", line: \"358           from samples.allemp\" },\n  { type: \"source\", line: \"359           where DEPT like &dept and SALARY <\" },\n  { type: \"source\", line: \"360                 (select avg(SALARY)\" },\n  { type: \"source\", line: \"361                     from connection to &dbms\" },\n  {\n    type: \"warning\",\n    line: \"WARNING: Apparent symbolic reference DBMS not resolved.\",\n  },\n  { type: \"source\", line: \"361                     from connection to &dbms\" },\n  { type: \"error\", line: \"                                           _\" },\n  { type: \"error\", line: \"                                           22\" },\n  { type: \"error\", line: \"ERROR 22-322: Expecting a name.  \" },\n  { type: \"source\", line: \"361                     from connection to &dbms\" },\n  { type: \"error\", line: \"                                           _\" },\n  { type: \"error\", line: \"                                           76\" },\n  {\n    type: \"error\",\n    line: \"ERROR 76-322: Syntax error, statement will be ignored.\",\n  },\n  {\n    type: \"source\",\n    line: \"362                        (select SALARY from SAMDAT10\",\n  },\n  {\n    type: \"source\",\n    line: \"363                            where DEPT like &dept));\",\n  },\n  { type: \"note\", line: \"NOTE: SQL Statement used (Total process time):\" },\n  { type: \"note\", line: \"      real time           0.00 seconds\" },\n  { type: \"note\", line: \"      cpu time            0.00 seconds\" },\n  { type: \"note\", line: \"      \" },\n  { type: \"source\", line: \"364        %put %superq(sqlxmsg);\" },\n  {\n    type: \"error\",\n    line: \"ERROR: A Connection to the mydb DBMS is not currently supported, or is not installed at your site.\",\n  },\n  { type: \"source\", line: \"365        disconnect from &dbms;\" },\n  { type: \"error\", line: \"                           _\" },\n  { type: \"error\", line: \"                           22\" },\n  { type: \"error\", line: \"                           200\" },\n  {\n    type: \"warning\",\n    line: \"WARNING: Apparent symbolic reference DBMS not resolved.\",\n  },\n  { type: \"error\", line: \"ERROR 22-322: Expecting a name.  \" },\n  {\n    type: \"title\",\n    line: \"20                                                   The SAS System                         15:44 Friday, March 22, 2024\",\n  },\n  {\n    type: \"error\",\n    line: \"ERROR 200-322: The symbol is not recognized and will be ignored.\",\n  },\n  { type: \"note\", line: \"NOTE: SQL Statement used (Total process time):\" },\n  { type: \"note\", line: \"      real time           0.00 seconds\" },\n  { type: \"note\", line: \"      cpu time            0.00 seconds\" },\n  { type: \"note\", line: \"      \" },\n  { type: \"source\", line: \"366        /* BLANK LINE*/\" },\n  { type: \"source\", line: \"367        quit;\" },\n  {\n    type: \"note\",\n    line: \"NOTE: The SAS System stopped processing this step because of errors.\",\n  },\n  { type: \"note\", line: \"NOTE: PROCEDURE SQL used (Total process time):\" },\n  { type: \"note\", line: \"      real time           0.00 seconds\" },\n  { type: \"note\", line: \"      cpu time            0.00 seconds\" },\n  { type: \"note\", line: \"      \" },\n  { type: \"source\", line: \"368        ;*';*\\\\\\\";*/;run;quit;ods html5 close;\" },\n  {\n    type: \"source\",\n    line: \"369        %put --vscode-sas-extension-submit-end--;\",\n  },\n];\n\nexport const case4: LogLine[] = [\n  {\n    type: \"title\",\n    line: \"11                                                   The SAS System                       15:30 Thursday, April 18, 2024\",\n  },\n  { type: \"source\", line: \"177        /** LOG_START_INDICATOR **/\" },\n  { type: \"source\", line: \"178        title;footnote;ods _all_ close;\" },\n  { type: \"source\", line: \"179        ods graphics on;\" },\n  {\n    type: \"source\",\n    line: \"180        ods html5 style=Ignite options(bitmap_mode='inline' svg_mode='inline')\",\n  },\n  {\n    type: \"source\",\n    line: '180      ! body=\\\\\"38b4ac72-54cd-45d5-8f57-39931d8b55f5.htm\\\\\";',\n  },\n  {\n    type: \"note\",\n    line: \"NOTE: Writing HTML5 Body file: 38b4ac72-54cd-45d5-8f57-39931d8b55f5.htm\",\n  },\n  {\n    type: \"source\",\n    line: \"181        %let _SASPROGRAMFILE = %nrquote(%nrstr(c:\\\\\\\\SAS\\\\\\\\GIT\\\\\\\\GitHub\\\\\\\\TestData\\\\\\\\error_case_4.sas));\",\n  },\n  {\n    type: \"source\",\n    line: '182        data CUSTOMERS (label=\\\\\"Customer data for geocoding\\\\\");',\n  },\n  {\n    type: \"source\",\n    line: \"183           infiles datalines x dlm=# dlm=# dlm=## dlm=# dlm=# dlm=# dlm=# dlm=#;\",\n  },\n  {\n    type: \"error\",\n    line: \"              _______           _     _     _     __     _     _     _     _     _\",\n  },\n  {\n    type: \"error\",\n    line: \"              1                 23    24    24    24     24    24    24    24    24\",\n  },\n  {\n    type: \"error\",\n    line: \"                                      24    24    24     24    24    24    24    24\",\n  },\n  {\n    type: \"warning\",\n    line: \"WARNING 1-322: Assuming the symbol INFILE was misspelled as infiles.\",\n  },\n  { type: \"error\", line: \"ERROR 23-2: Invalid option name X.\" },\n  { type: \"error\", line: \"ERROR 24-322: Variable name is not valid.\" },\n  { type: \"error\", line: \"ERROR 24-2: Invalid value for the DLM option.\" },\n  {\n    type: \"source\",\n    line: \"184           length address $ 24 city $ 24 state $ 2;\",\n  },\n  {\n    type: \"source\",\n    line: \"185           input address   /* House number and street name */\",\n  },\n  {\n    type: \"source\",\n    line: \"186              zip          /* Customer ZIP code (numeric)  */\",\n  },\n  {\n    type: \"source\",\n    line: \"187              city         /* City name                    */\",\n  },\n  {\n    type: \"source\",\n    line: \"188              state        /* State abbreviation           */;\",\n  },\n  {\n    type: \"source\",\n    line: \"189           cust_ID = _n_;   /* Assign customer ID number    */\",\n  },\n  { type: \"source\", line: \"190        datalines;\" },\n  {\n    type: \"note\",\n    line: \"NOTE: The SAS System stopped processing this step because of errors.\",\n  },\n  {\n    type: \"warning\",\n    line: \"WARNING: The data set WORK.CUSTOMERS may be incomplete.  When this step was stopped there were 0 observations and 5 \",\n  },\n  { type: \"warning\", line: \"         variables.\" },\n  {\n    type: \"warning\",\n    line: \"WARNING: Data set WORK.CUSTOMERS was not replaced because this step was stopped.\",\n  },\n  { type: \"note\", line: \"NOTE: DATA statement used (Total process time):\" },\n  { type: \"note\", line: \"      real time           0.03 seconds\" },\n  { type: \"note\", line: \"      cpu time            0.00 seconds\" },\n  { type: \"note\", line: \"      \" },\n  { type: \"source\", line: \"192        ;\" },\n  { type: \"source\", line: \"193        run;\" },\n  { type: \"source\", line: \"194        ;*';*\\\\\\\";*/;run;quit;ods html5 close;\" },\n  {\n    type: \"source\",\n    line: \"195        %put --vscode-sas-extension-submit-end--;\",\n  },\n];\n\nexport const case5: LogLine[] = [\n  {\n    type: \"title\",\n    line: \"12                                                   The SAS System                       15:30 Thursday, April 18, 2024\",\n  },\n  { type: \"source\", line: \"196        /** LOG_START_INDICATOR **/\" },\n  { type: \"source\", line: \"197        title;footnote;ods _all_ close;\" },\n  { type: \"source\", line: \"198        ods graphics on;\" },\n  {\n    type: \"source\",\n    line: \"199        ods html5 style=Ignite options(bitmap_mode='inline' svg_mode='inline')\",\n  },\n  {\n    type: \"source\",\n    line: '199      ! body=\\\\\"0677d731-e06b-434b-bf34-7389838b5f25.htm\\\\\";',\n  },\n  {\n    type: \"note\",\n    line: \"NOTE: Writing HTML5 Body file: 0677d731-e06b-434b-bf34-7389838b5f25.htm\",\n  },\n  {\n    type: \"source\",\n    line: \"200        %let _SASPROGRAMFILE = %nrquote(%nrstr(c:\\\\\\\\SAS\\\\\\\\GIT\\\\\\\\GitHub\\\\\\\\TestData\\\\\\\\error_case_5.sas));\",\n  },\n  {\n    type: \"source\",\n    line: '201        proc sgscatter data=sashelp.iris(=(species=\\\\\"Virginica\\\\\"));',\n  },\n  {\n    type: \"error\",\n    line: \"                                            _                     _\",\n  },\n  {\n    type: \"error\",\n    line: \"                                            22                    22\",\n  },\n  {\n    type: \"error\",\n    line: \"                                                                  200\",\n  },\n  { type: \"error\", line: \"ERROR 22-7: Invalid option name =.\" },\n  {\n    type: \"error\",\n    line: \"ERROR 22-322: Syntax error, expecting one of the following: ;, BACKCOLOR, DATA, DATACOLORS, DATACONTRASTCOLORS, \",\n  },\n  {\n    type: \"error\",\n    line: \"              DATALINEPATTERNS, DATASYMBOLS, DATTRMAP, DESCRIPTION, NOOPAQUE, NOSUBPIXEL, OPAQUE, PAD, RATTRMAP, \",\n  },\n  {\n    type: \"error\",\n    line: \"              SGANNO, SUBPIXEL, TMPLOUT, WALLCOLOR.  \",\n  },\n  {\n    type: \"error\",\n    line: \"ERROR 200-322: The symbol is not recognized and will be ignored.\",\n  },\n  {\n    type: \"source\",\n    line: '201      ! proc sgscatter data=sashelp.iris(=(species=\\\\\"Virginica\\\\\"));',\n  },\n  {\n    type: \"error\",\n    line: \"                                              _______\",\n  },\n  { type: \"error\", line: \"                                              22\" },\n  { type: \"error\", line: \"ERROR 22-7: Invalid option name SPECIES.\" },\n  {\n    type: \"source\",\n    line: '202          title \\\\\"Multi-Celled Spline Curve for Species Virginica\\\\\";',\n  },\n  {\n    type: \"source\",\n    line: \"203          plot (sepallength sepalwidth)*(petallength petalwidth)\",\n  },\n  { type: \"source\", line: \"204               / pbspline;\" },\n  { type: \"source\", line: \"205        run;\" },\n  {\n    type: \"note\",\n    line: \"NOTE: The SAS System stopped processing this step because of errors.\",\n  },\n  {\n    type: \"note\",\n    line: \"NOTE: PROCEDURE SGSCATTER used (Total process time):\",\n  },\n  { type: \"note\", line: \"      real time           0.01 seconds\" },\n  { type: \"note\", line: \"      cpu time            0.00 seconds\" },\n  { type: \"note\", line: \"      \" },\n  { type: \"source\", line: \"206        title;\" },\n  { type: \"source\", line: \"207        ;*';*\\\\\\\";*/;run;quit;ods html5 close;\" },\n  {\n    type: \"source\",\n    line: \"208        %put --vscode-sas-extension-submit-end--;\",\n  },\n];\n\nexport const case6: LogLine[] = [\n  {\n    type: \"title\",\n    line: \"13                                                   The SAS System                       15:30 Thursday, April 18, 2024\",\n  },\n  { type: \"source\", line: \"209        /** LOG_START_INDICATOR **/\" },\n  { type: \"source\", line: \"210        title;footnote;ods _all_ close;\" },\n  { type: \"source\", line: \"211        ods graphics on;\" },\n  {\n    type: \"source\",\n    line: \"212        ods html5 style=Ignite options(bitmap_mode='inline' svg_mode='inline')\",\n  },\n  {\n    type: \"source\",\n    line: '212      ! body=\\\\\"39fc438c-e10b-4931-a6e4-1f34c082c876.htm\\\\\";',\n  },\n  {\n    type: \"note\",\n    line: \"NOTE: Writing HTML5 Body file: 39fc438c-e10b-4931-a6e4-1f34c082c876.htm\",\n  },\n  {\n    type: \"source\",\n    line: \"213        %let _SASPROGRAMFILE = %nrquote(%nrstr(c:\\\\\\\\SAS\\\\\\\\GIT\\\\\\\\GitHub\\\\\\\\TestData\\\\\\\\error_case_6.sas));\",\n  },\n  { type: \"note\", line: \"NOTE: PROCEDURE HPCLUS used (Total process time):\" },\n  { type: \"note\", line: \"      real time           0.03 seconds\" },\n  { type: \"note\", line: \"      cpu time            0.01 seconds\" },\n  { type: \"note\", line: \"      \" },\n  {\n    type: \"note\",\n    line: \"NOTE: The SAS System stopped processing this step because of errors.\",\n  },\n  {\n    type: \"source\",\n    line: \"214        proc hpclus data=sampsio.dmairis maxclusters=9\",\n  },\n  {\n    type: \"source\",\n    line: \"215                 NOC=ABCB=10 minclusters=2 align=PCA criterion=FIRSTPEAK);\",\n  },\n  { type: \"error\", line: \"                        _____\" },\n  { type: \"error\", line: \"                        1   22\" },\n  { type: \"error\", line: \"                            200\" },\n  {\n    type: \"warning\",\n    line: \"WARNING 1-322: Assuming the symbol ABC was misspelled as ABCB.\",\n  },\n  {\n    type: \"error\",\n    line: \"ERROR 22-322: Syntax error, expecting one of the following: ;, (, DATA, DISTANCE, DISTANCEINT, DISTANCENOM, IMP, \",\n  },\n  {\n    type: \"error\",\n    line: \"              IMPUTE, IMPUTEINT, IMPUTENOM, INSEED, INSTAT, MAXC, MAXCLUSTERS, MAXITER, NOC, NOPRINT, OUTITER, OUTSTAT, \",\n  },\n  { type: \"error\", line: \"              SEED, STANDARDIZE, STOPCRITERION.  \" },\n  {\n    type: \"error\",\n    line: \"ERROR 200-322: The symbol is not recognized and will be ignored.\",\n  },\n  { type: \"source\", line: \"216           input  sep: pet: ;\" },\n  { type: \"source\", line: \"217           ods output ABCStats=ABCStats1;\" },\n  { type: \"source\", line: \"218        run;\" },\n  { type: \"source\", line: \"219        ;*';*\\\\\\\";*/;run;quit;ods html5 close;\" },\n  {\n    type: \"source\",\n    line: \"220        %put --vscode-sas-extension-submit-end--;\",\n  },\n];\n\nexport const case7_8: LogLine[] = [\n  {\n    type: \"title\",\n    line: \"14                                                   The SAS System                       15:30 Thursday, April 18, 2024\",\n  },\n  { type: \"source\", line: \"221        /** LOG_START_INDICATOR **/\" },\n  { type: \"source\", line: \"222        title;footnote;ods _all_ close;\" },\n  { type: \"source\", line: \"223        ods graphics on;\" },\n  {\n    type: \"source\",\n    line: \"224        ods html5 style=Ignite options(bitmap_mode='inline' svg_mode='inline')\",\n  },\n  {\n    type: \"source\",\n    line: '224      ! body=\\\\\"61e33882-6d9c-4cf9-89bc-6be999155016.htm\\\\\";',\n  },\n  {\n    type: \"note\",\n    line: \"NOTE: Writing HTML5 Body file: 61e33882-6d9c-4cf9-89bc-6be999155016.htm\",\n  },\n  {\n    type: \"source\",\n    line: \"225        %let _SASPROGRAMFILE = %nrquote(%nrstr(c:\\\\\\\\SAS\\\\\\\\GIT\\\\\\\\GitHub\\\\\\\\TestData\\\\\\\\error_case_7_8.sas));\",\n  },\n  { type: \"source\", line: \"226         data a;\" },\n  { type: \"source\", line: \"227              drop theta pi;\" },\n  { type: \"source\", line: \"228              array c{4} c1-c4;\" },\n  { type: \"source\", line: \"229              array s{3} s1-s3;\" },\n  { type: \"source\", line: \"230              pi = arcos(-1);\" },\n  { type: \"source\", line: \"231              do Habitat=1 to 4;\" },\n  { type: \"source\", line: \"232                 do Month=1 to 12;\" },\n  { type: \"source\", line: \"233                    theta = pi * Month / 4;\" },\n  {\n    type: \"source\",\n    line: \"234                    do i=1 to 4; c{i} = cos(i*theta); end;\",\n  },\n  {\n    type: \"source\",\n    line: \"235                    do i=1 to 3; s{i} = sin(i*theta); end;\",\n  },\n  { type: \"source\", line: \"236                    output;\" },\n  { type: \"source\", line: \"237                 end;\" },\n  { type: \"source\", line: \"238              end;\" },\n  { type: \"source\", line: \"239           run;\" },\n  {\n    type: \"note\",\n    line: \"NOTE: The data set WORK.A has 48 observations and 10 variables.\",\n  },\n  { type: \"note\", line: \"NOTE: DATA statement used (Total process time):\" },\n  { type: \"note\", line: \"      real time           0.02 seconds\" },\n  { type: \"note\", line: \"      cpu time            0.00 seconds\" },\n  { type: \"note\", line: \"      \" },\n  {\n    type: \"source\",\n    line: \"240            Data set a contains the 48 candidate points and includes the four cosine variables (c1, c2, c3, and c4)\",\n  },\n  {\n    type: \"error\",\n    line: \"                    ___                __                                                          __\",\n  },\n  {\n    type: \"error\",\n    line: \"_                                                                                                                       \",\n  },\n  {\n    type: \"error\",\n    line: \"____                                                                                                                    \",\n  },\n  {\n    type: \"error\",\n    line: \"                    56                 22                                                          22\",\n  },\n  {\n    type: \"error\",\n    line: \"200                                                                                                  \",\n  },\n  {\n    type: \"error\",\n    line: \"22                                                                                                   \",\n  },\n  { type: \"error\", line: \"                                       200\" },\n  { type: \"error\", line: \"200                                       \" },\n  {\n    type: \"error\",\n    line: \"ERROR 56-185: SET is not allowed in the DATA statement when option DATASTMTCHK=COREKEYWORDS.  Check for a missing \",\n  },\n  {\n    type: \"error\",\n    line: \"              semicolon in the DATA statement, or use DATASTMTCHK=NONE.\",\n  },\n  {\n    type: \"error\",\n    line: \"ERROR 22-322: Syntax error, expecting one of the following: a name, a quoted string, (, /, ;, _DATA_, _LAST_, _NULL_.  \",\n  },\n  { type: \"error\", line: \"ERROR 22-7: Invalid option name C1.\" },\n  {\n    type: \"error\",\n    line: \"ERROR 200-322: The symbol is not recognized and will be ignored.\",\n  },\n  {\n    type: \"source\",\n    line: \"240      ! Data set a contains the 48 candidate points and includes the four cosine variables (c1, c2, c3, and c4) or\",\n  },\n  {\n    type: \"source\",\n    line: \"240      ! three sine variables (s1, s2, and s3). The following statements produce Output 13.1.1:\",\n  },\n  { type: \"error\", line: \"                                 __             _\" },\n  { type: \"error\", line: \"                                 22             22\" },\n  { type: \"error\", line: \"ERROR 22-7: Invalid option name S1.\" },\n  {\n    type: \"error\",\n    line: \"ERROR 22-322: Syntax error, expecting one of the following: a name, a quoted string, /, ;, _DATA_, _LAST_, _NULL_.  \",\n  },\n  { type: \"source\", line: \"241        /* BLANK LINE*/\" },\n  { type: \"source\", line: \"242        proc optex seed=193030034 data=a;\" },\n  {\n    type: \"title\",\n    line: \"15                                                   The SAS System                       15:30 Thursday, April 18, 2024\",\n  },\n  { type: \"error\", line: \"                          _\" },\n  { type: \"error\", line: \"                          22\" },\n  { type: \"error\", line: \"                          200\" },\n  { type: \"source\", line: \"243           class    Habitat;\" },\n  { type: \"error\", line: \"              _____\" },\n  { type: \"error\", line: \"              180\" },\n  {\n    type: \"source\",\n    line: \"244           model    Habitat Month c1-c4 s1-s3 / noint;\",\n  },\n  { type: \"error\", line: \"              _____\" },\n  { type: \"error\", line: \"              180\" },\n  { type: \"source\", line: \"245           generate n=12;\" },\n  { type: \"error\", line: \"              ________\" },\n  { type: \"error\", line: \"              180\" },\n  {\n    type: \"error\",\n    line: \"ERROR 22-322: Syntax error, expecting one of the following: a name, a quoted string, (, /, ;, _DATA_, _LAST_, _NULL_.  \",\n  },\n  {\n    type: \"error\",\n    line: \"ERROR 200-322: The symbol is not recognized and will be ignored.\",\n  },\n  {\n    type: \"error\",\n    line: \"ERROR 180-322: Statement is not valid or it is used out of proper order.\",\n  },\n  { type: \"source\", line: \"246        run;\" },\n  {\n    type: \"note\",\n    line: \"NOTE: The SAS System stopped processing this step because of errors.\",\n  },\n  { type: \"note\", line: \"NOTE: DATA statement used (Total process time):\" },\n  { type: \"note\", line: \"      real time           0.00 seconds\" },\n  { type: \"note\", line: \"      cpu time            0.00 seconds\" },\n  { type: \"note\", line: \"      \" },\n  { type: \"source\", line: \"247        ;*';*\\\\\\\";*/;run;quit;ods html5 close;\" },\n  {\n    type: \"source\",\n    line: \"248        %put --vscode-sas-extension-submit-end--;\",\n  },\n];\n\nexport const case9: LogLine[] = [\n  { type: \"source\", line: \"3             %put &=workDir;\" },\n  {\n    type: \"normal\",\n    line: \"WORKDIR=C:\\\\\\\\Users\\\\\\\\scnjdl\\\\\\\\AppData\\\\\\\\Local\\\\\\\\Temp\\\\\\\\SAS Temporary Files\\\\\\\\_TD44188_SAS-3YR23T3_\\\\\\\\Prc2\",\n  },\n  {\n    type: \"note\",\n    line: 'NOTE: The current working directory is now \\\\\"C:\\\\\\\\Users\\\\\\\\scnjdl\\\\\\\\AppData\\\\\\\\Local\\\\\\\\Temp\\\\\\\\SAS Temporary Files\\\\\\\\_TD44188_SAS-3YR23T3_\\\\\\\\Prc2\\\\\".',\n  },\n  {\n    type: \"source\",\n    line: '4             %let rc = %sysfunc(dlgcdir(\\\\\"&workDir\\\\\"));',\n  },\n  { type: \"source\", line: \"5             run;\" },\n  {\n    type: \"title\",\n    line: \"2                                                          The SAS System                             16:36 Thursday, April 25, 2024\",\n  },\n  { type: \"source\", line: \"6          /** LOG_START_INDICATOR **/\" },\n  { type: \"source\", line: \"7          title;footnote;ods _all_ close;\" },\n  { type: \"source\", line: \"8          ods graphics on;\" },\n  {\n    type: \"source\",\n    line: '9          ods html5(id=vscode) path=\\\\\"C:\\\\\\\\Users\\\\\\\\scnjdl\\\\\\\\AppData\\\\\\\\Local\\\\\\\\Temp\\\\\\\\SAS Temporary Files\\\\\\\\_TD44188_SAS-3YR23T3_\\\\\\\\Prc2\\\\\"',\n  },\n  {\n    type: \"source\",\n    line: \"9        ! style=Ignite options(bitmap_mode='inline' svg_mode='inline') body=\\\\\\\"375c94f5-9bbe-4abf-9381-6db8a336303b.htm\\\\\\\";\",\n  },\n  {\n    type: \"note\",\n    line: \"NOTE: Writing HTML5(VSCODE) Body file: 375c94f5-9bbe-4abf-9381-6db8a336303b.htm\",\n  },\n  {\n    type: \"source\",\n    line: \"10         %let _SASPROGRAMFILE = %nrquote(%nrstr(c:\\\\\\\\SAS\\\\\\\\GIT\\\\\\\\GitHub\\\\\\\\TestData\\\\\\\\error_case_9.sas));\",\n  },\n  {\n    type: \"note\",\n    line: \"NOTE: PROCEDURE MAPIMPORT used (Total process time):\",\n  },\n  { type: \"note\", line: \"      real time           0.00 seconds\" },\n  { type: \"note\", line: \"      cpu time            0.00 seconds\" },\n  { type: \"note\", line: \"      \" },\n  {\n    type: \"warning\",\n    line: \"WARNING: Physical file does not exist, C:\\\\\\\\Users\\\\\\\\scnjdl\\\\\\\\AppData\\\\\\\\Local\\\\\\\\Temp\\\\\\\\SAS Temporary \",\n  },\n  {\n    type: \"warning\",\n    line: \"         Files\\\\\\\\_TD44188_SAS-3YR23T3_\\\\\\\\Prc2\\\\\\\\~sasdemo\\\\\\\\data\\\\\\\\mapping\\\\\\\\states.shp.\",\n  },\n  { type: \"error\", line: \"ERROR: Unable to open DATAFILE.\" },\n  {\n    type: \"note\",\n    line: \"NOTE: The SAS System stopped processing this step because of errors.\",\n  },\n  { type: \"source\", line: \"11         PROC MAPIMPORT OUT=mystates\" },\n  {\n    type: \"source\",\n    line: '12         DATAFILE=\\\\\"~sasdemo/data/mapping/states.shp\\\\\";',\n  },\n  {\n    type: \"source\",\n    line: \"13              SELECT STATE_FIPS STATE_NAME STATE_ABBR;\",\n  },\n  {\n    type: \"source\",\n    line: \"14              RENAME STATE_FIPS=FIPS STATE_NAME=STATE STATE_ABBR=ABBREV;\",\n  },\n  { type: \"source\", line: \"15         run;\" },\n  {\n    type: \"source\",\n    line: \"16         ;*';*\\\\\\\";*/;run;quit;ods html5(id=vscode) close;\",\n  },\n  {\n    type: \"source\",\n    line: \"17         %put --vscode-sas-extension-submit-end--;\",\n  },\n];\n\nexport const case10: LogLine[] = [\n  {\n    type: \"title\",\n    line: \"3                                                          The SAS System                             16:36 Thursday, April 25, 2024\",\n  },\n  { type: \"source\", line: \"18         /** LOG_START_INDICATOR **/\" },\n  { type: \"source\", line: \"19         title;footnote;ods _all_ close;\" },\n  { type: \"source\", line: \"20         ods graphics on;\" },\n  {\n    type: \"source\",\n    line: '21         ods html5(id=vscode) path=\\\\\"C:\\\\\\\\Users\\\\\\\\scnjdl\\\\\\\\AppData\\\\\\\\Local\\\\\\\\Temp\\\\\\\\SAS Temporary Files\\\\\\\\_TD44188_SAS-3YR23T3_\\\\\\\\Prc2\\\\\"',\n  },\n  {\n    type: \"source\",\n    line: \"21       ! style=Ignite options(bitmap_mode='inline' svg_mode='inline') body=\\\\\\\"c43d6fcb-bc82-48e8-8d73-253845af2055.htm\\\\\\\";\",\n  },\n  {\n    type: \"note\",\n    line: \"NOTE: Writing HTML5(VSCODE) Body file: c43d6fcb-bc82-48e8-8d73-253845af2055.htm\",\n  },\n  {\n    type: \"source\",\n    line: \"22         %let _SASPROGRAMFILE = %nrquote(%nrstr(c:\\\\\\\\SAS\\\\\\\\GIT\\\\\\\\GitHub\\\\\\\\TestData\\\\\\\\error_case_10.sas));\",\n  },\n  {\n    type: \"source\",\n    line: \"23         proc sgplot data=&dvttestdata1 dattrmap=&dvttestdata2;\",\n  },\n  { type: \"error\", line: \"                            _\" },\n  { type: \"error\", line: \"                            22\" },\n  { type: \"error\", line: \"                            200\" },\n  {\n    type: \"warning\",\n    line: \"WARNING: Apparent symbolic reference DVTTESTDATA1 not resolved.\",\n  },\n  {\n    type: \"source\",\n    line: \"23         proc sgplot data=&dvttestdata1 dattrmap=&dvttestdata2;\",\n  },\n  {\n    type: \"error\",\n    line: \"                                                   _\",\n  },\n  {\n    type: \"error\",\n    line: \"                                                   22\",\n  },\n  { type: \"error\", line: \"ERROR 22-322: Expecting a name.  \" },\n  {\n    type: \"error\",\n    line: \"ERROR 200-322: The symbol is not recognized and will be ignored.\",\n  },\n  {\n    type: \"source\",\n    line: \"23         proc sgplot data=&dvttestdata1 dattrmap=&dvttestdata2;\",\n  },\n  {\n    type: \"error\",\n    line: \"                                                   _\",\n  },\n  {\n    type: \"error\",\n    line: \"                                                   200\",\n  },\n  {\n    type: \"error\",\n    line: \"ERROR 200-322: The symbol is not recognized and will be ignored.\",\n  },\n  { type: \"error\", line: \"ERROR: File WORK.DVTTESTDATA1.DATA does not exist.\" },\n  {\n    type: \"warning\",\n    line: \"WARNING: Apparent symbolic reference DVTTESTDATA2 not resolved.\",\n  },\n  { type: \"error\", line: \"ERROR: File WORK.DVTTESTDATA2.DATA does not exist.\" },\n  {\n    type: \"source\",\n    line: \"24             scatter x=x y=x2 / group=y3 attrid=myid1;\",\n  },\n  { type: \"error\", line: \"ERROR: No data set open to look up variables.\" },\n  { type: \"error\", line: \"ERROR: No data set open to look up variables.\" },\n  { type: \"error\", line: \"ERROR: No data set open to look up variables.\" },\n  { type: \"source\", line: \"25         run;\" },\n  {\n    type: \"note\",\n    line: \"NOTE: The SAS System stopped processing this step because of errors.\",\n  },\n  { type: \"note\", line: \"NOTE: PROCEDURE SGPLOT used (Total process time):\" },\n  { type: \"note\", line: \"      real time           0.04 seconds\" },\n  { type: \"note\", line: \"      cpu time            0.00 seconds\" },\n  { type: \"note\", line: \"      \" },\n  {\n    type: \"source\",\n    line: \"26         ;*';*\\\\\\\";*/;run;quit;ods html5(id=vscode) close;\",\n  },\n  {\n    type: \"source\",\n    line: \"27         %put --vscode-sas-extension-submit-end--;\",\n  },\n];\n\nexport const case11: LogLine[] = [\n  {\n    type: \"title\",\n    line: \"4                                                          The SAS System                             16:36 Thursday, April 25, 2024\",\n  },\n  { type: \"source\", line: \"28         /** LOG_START_INDICATOR **/\" },\n  { type: \"source\", line: \"29         title;footnote;ods _all_ close;\" },\n  { type: \"source\", line: \"30         ods graphics on;\" },\n  {\n    type: \"source\",\n    line: '31         ods html5(id=vscode) path=\\\\\"C:\\\\\\\\Users\\\\\\\\scnjdl\\\\\\\\AppData\\\\\\\\Local\\\\\\\\Temp\\\\\\\\SAS Temporary Files\\\\\\\\_TD44188_SAS-3YR23T3_\\\\\\\\Prc2\\\\\"',\n  },\n  {\n    type: \"source\",\n    line: \"31       ! style=Ignite options(bitmap_mode='inline' svg_mode='inline') body=\\\\\\\"71b79405-8be6-4a49-9d5a-c1107c6b4c1d.htm\\\\\\\";\",\n  },\n  {\n    type: \"note\",\n    line: \"NOTE: Writing HTML5(VSCODE) Body file: 71b79405-8be6-4a49-9d5a-c1107c6b4c1d.htm\",\n  },\n  {\n    type: \"source\",\n    line: \"32         %let _SASPROGRAMFILE = %nrquote(%nrstr(c:\\\\\\\\SAS\\\\\\\\GIT\\\\\\\\GitHub\\\\\\\\TestData\\\\\\\\error_case_11.sas));\",\n  },\n  { type: \"source\", line: \"33         data hernio;\" },\n  {\n    type: \"source\",\n    line: \"34            input patient age gender$ OKstatus leave los;\",\n  },\n  { type: \"source\", line: \"35            datalines;\" },\n  {\n    type: \"note\",\n    line: \"NOTE: The data set WORK.HERNIO has 32 observations and 6 variables.\",\n  },\n  { type: \"note\", line: \"NOTE: DATA statement used (Total process time):\" },\n  { type: \"note\", line: \"      real time           0.04 seconds\" },\n  { type: \"note\", line: \"      cpu time            0.00 seconds\" },\n  { type: \"note\", line: \"      \" },\n  { type: \"source\", line: \"68         ;\" },\n  { type: \"source\", line: \"69         /* BLANK LINE*/\" },\n  { type: \"source\", line: \"70         data hernio_uv;\" },\n  { type: \"source\", line: \"71            length dist $7;\" },\n  { type: \"source\", line: \"72            set hernio;\" },\n  { type: \"source\", line: \"73            response = (leave=1);\" },\n  { type: \"source\", line: '74            dist     = \\\\\"Binary\\\\\";' },\n  { type: \"source\", line: \"75            output;\" },\n  { type: \"source\", line: \"76            response = los;\" },\n  { type: \"source\", line: '77            dist     = \\\\\"Poisson\\\\\";' },\n  { type: \"source\", line: \"78            output;\" },\n  {\n    type: \"source\",\n    line: \"79            keep patient age OKstatus response dist;\",\n  },\n  { type: \"source\", line: \"80         run;\" },\n  {\n    type: \"note\",\n    line: \"NOTE: There were 32 observations read from the data set WORK.HERNIO.\",\n  },\n  {\n    type: \"note\",\n    line: \"NOTE: The data set WORK.HERNIO_UV has 64 observations and 5 variables.\",\n  },\n  { type: \"note\", line: \"NOTE: DATA statement used (Total process time):\" },\n  { type: \"note\", line: \"      real time           0.03 seconds\" },\n  { type: \"note\", line: \"      cpu time            0.00 seconds\" },\n  { type: \"note\", line: \"      \" },\n  { type: \"source\", line: \"81         /* BLANK LINE*/\" },\n  {\n    type: \"source\",\n    line: '82         proc glimmix data=hernio_uv(where=(dist=\\\\\"Binary));',\n  },\n  {\n    type: \"source\",\n    line: \"83            model response(event='1') = age OKStatus / s dist=binary;\",\n  },\n  { type: \"note\", line: \"NOTE: PROCEDURE GLIMMIX used (Total process time):\" },\n  { type: \"note\", line: \"      real time           0.13 seconds\" },\n  { type: \"note\", line: \"      cpu time            0.00 seconds\" },\n  { type: \"note\", line: \"      \" },\n  { type: \"error\", line: \"ERROR: Syntax error while parsing WHERE clause.\" },\n  {\n    type: \"note\",\n    line: \"NOTE: The SAS System stopped processing this step because of errors.\",\n  },\n  { type: \"source\", line: \"84         run;\" },\n  { type: \"source\", line: \"85         /* BLANK LINE*/\" },\n  { type: \"source\", line: \"86         /* BLANK LINE*/\" },\n  {\n    type: \"source\",\n    line: \"87         ;*';*\\\\\\\";*/;run;quit;ods html5(id=vscode) close;\",\n  },\n  { type: \"error\", line: \"                 _\" },\n  { type: \"error\", line: \"                 79\" },\n  { type: \"error\", line: \"                 22\" },\n  { type: \"error\", line: \"                 180\" },\n  { type: \"error\", line: \"ERROR 79-322: Expecting a ).\" },\n  {\n    type: \"title\",\n    line: \"5                                                          The SAS System                             16:36 Thursday, April 25, 2024\",\n  },\n  {\n    type: \"error\",\n    line: \"ERROR 22-322: Missing ')' parenthesis for data set option list\",\n  },\n  {\n    type: \"error\",\n    line: \"ERROR 180-322: Statement is not valid or it is used out of proper order.\",\n  },\n  {\n    type: \"source\",\n    line: \"88         %put --vscode-sas-extension-submit-end--;\",\n  },\n];\n"
  },
  {
    "path": "client/test/components/logViewer/logParser.test.ts",
    "content": "// Copyright © 2023, SAS Institute Inc., Cary, NC, USA.  All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport assert from \"assert\";\n\nimport { parseLog } from \"../../../src/components/logViewer/logParser\";\nimport {\n  case4,\n  case5,\n  case6,\n  case7_8,\n  case9,\n  case10,\n  case11,\n  logWith3Problems,\n  logWith7Problems,\n  logWith13Problems,\n  logWithLongSourceCode,\n  logWithMultipleIndicatorInOneLine,\n  multipleSameProblemIndexAtOneLine,\n  replayedLogWith7Problems,\n} from \"./log\";\n\nconst firstCodeLine = \"/** LOG_START_INDICATOR **/\";\n\ndescribe(\"parse log\", () => {\n  it(\"parse the log in which has 7 problems\", () => {\n    const [result] = parseLog(logWith7Problems, firstCodeLine);\n    assert.equal(result.length, 7, \"result should have 7 problems.\");\n  });\n\n  it(\"parse the log in which has 13 problems\", () => {\n    const [result] = parseLog(logWith13Problems, firstCodeLine);\n    assert.equal(result.length, 13, \"result should have 13 problems.\");\n  });\n\n  it(\"parse the log in which has 3 problems\", () => {\n    const [result] = parseLog(logWith3Problems, firstCodeLine);\n    assert.equal(result.length, 3, \"result should have 3 problems.\");\n  });\n\n  it(\"parse the replayed log in which has 13 problems\", () => {\n    const [result] = parseLog(replayedLogWith7Problems, firstCodeLine);\n    assert.equal(result.length, 13, \"result should have 13 problems.\");\n  });\n\n  /*\n  this test case concerns the truncated source code lines:\n\n  18   proc casutil;\n  ERROR: A connection to the Cloud Analytic Services session could not be made.\n  ERROR: An error has occurred.\n  18 !               load data=SASHELP.BASEBALL outcaslib=\"CASUSER\" casout=\"CASBALL\"; run;\n  ERROR: An error has occurred.\n\n  */\n  it(\"parse the log in which has long source code and 3 problems\", () => {\n    const [result] = parseLog(logWithLongSourceCode, firstCodeLine);\n    assert.equal(result.length, 3, \"result should have 3 problems.\");\n  });\n\n  /* \n  this test case concerns multiple location indicators in one line:\n  case 1:\n  65       call call symputx('mac', quote(strip(emple)));\n                     -------                            -\n                     22                                 79\n                     68\n                ----\n                251\n  ERROR 22-322: Syntax error, expecting one of the following: (, ;.  \n\n  ERROR 79-322: Expecting a ).\n\n  ERROR 68-185: The function SYMPUTX is unknown, or cannot be accessed.\n\n  ERROR 251-185: The subroutine CALL is unknown, or cannot be accessed. Check your spelling. \n                 Either it was not found in the path(s) of executable images, or there was incorrect or missing subroutine descriptor \n                 information.\n  \n  */\n  it(\"parse the log in which has 8 problems, 6 errors and 2 warning\", () => {\n    const [result] = parseLog(logWithMultipleIndicatorInOneLine, firstCodeLine);\n    assert.equal(result.length, 8, \"result should have 8 problems.\");\n\n    const errors = result.filter((problem) => problem.type === \"error\").length;\n    assert.equal(errors, 6, \"result should have 6 error type problems.\");\n\n    const warnings = result.filter(\n      (problem) => problem.type === \"warning\",\n    ).length;\n    assert.equal(warnings, 2, \"result should have 2 warning type problems.\");\n\n    // problem location\n    assert.deepEqual(\n      result[1],\n      {\n        startColumn: 14,\n        endColumn: 21,\n        lineNumber: 49,\n        type: \"error\",\n        message:\n          \"ERROR 22-322: Syntax error, expecting one of the following: (, ;.\",\n      },\n      \"location is incorrect.\",\n    );\n  });\n\n  /* \n  this test case handle below log snippet. the point is the problem index 200 occurred multiple times in on source code,\n  but there is only one log message to indicate what 200 problem index means. In such case, the generated problem count will more than\n  problem count in log\n  case 2:\n  67         connect to &dbms as mydb (&CONNOPT);\n                        _              _\n                        22             79\n                        200            200\n  WARNING: Apparent symbolic reference DBMS not resolved.\n  4                                                    The SAS System                         09:25 Monday, March 25, 2024\n  WARNING: Apparent symbolic reference CONNOPT not resolved.\n  ERROR 22-322: Expecting a name.  \n  ERROR 79-322: Expecting a ).\n  ERROR 200-322: The symbol is not recognized and will be ignored.\nNOTE: PROC SQL set option NOEXEC and will continue to check the syntax of statements.\n   */\n  it(\"parse the log in which an problem message is shared\", () => {\n    const [result] = parseLog(multipleSameProblemIndexAtOneLine, firstCodeLine);\n    assert.equal(result.length, 43, \"result should have 43 problems.\");\n  });\n\n  /*\n  87         data CUSTOMERS (label=\"Customer data for geocoding\");\n  88            infile datalines dlm=#' dlm=#' dlm=#;\n                                     _             _\n                                     24            24\n                                     24            24\n  ERROR 24-322: Variable name is not valid.\n  ERROR 24-2: Invalid value for the DLM option.\n  89            length address $ 24 city $ 24 state $ 2;\n  */\n  it(\"parse the log in which same problem index occurs at different positions in different lines\", () => {\n    const [result] = parseLog(case4, firstCodeLine);\n    assert.equal(result.length, 20, \"result should have 20 problems.\");\n  });\n\n  /*\n  118        proc sgscatter data=sashelp.iris(=(species=\"Virginica\"));\n                                              _                     _\n                                              22                    22\n                                                                    200\n  ERROR 22-7: Invalid option name =.\n  ERROR 22-322: Syntax error, expecting one of the following: ;, BACKCOLOR, DATA, DATACOLORS, DATACONTRASTCOLORS, DATALINEPATTERNS, \n                DATASYMBOLS, DATTRMAP, DESCRIPTION, NOOPAQUE, NOSUBPIXEL, OPAQUE, PAD, RATTRMAP, SGANNO, SUBPIXEL, TMPLOUT, \n                WALLCOLOR.  \n  ERROR 200-322: The symbol is not recognized and will be ignored.\n  118      ! proc sgscatter data=sashelp.iris(=(species=\"Virginica\"));\n  */\n  it(\"parse the log in which same problem index have different problem message\", () => {\n    const [result] = parseLog(case5, firstCodeLine);\n    assert.equal(result.length, 4, \"result should have 4 problems.\");\n  });\n\n  /*\n  NOTE: 由于出错，SAS 系统停止处理该步。\n  11         proc hpclus data=sampsio.dmairis maxclusters=9\n  12                  NOC=ABCB=10 minclusters=2 align=PCA criterion=FIRSTPEAK);\n                          _____\n                          1   22\n                              200\n  WARNING 1-322: 假定符号 ABC 被错拼为 ABCB。\n  ERROR 22-322: 语法错误，期望下列之一: ;, (, DATA, DISTANCE, DISTANCEINT, DISTANCENOM, IMP, IMPUTE, IMPUTEINT, IMPUTENOM, INSEED,\n                INSTAT, MAXC, MAXCLUSTERS, MAXITER, NOC, NOPRINT, OUTITER, OUTSTAT, SEED, STANDARDIZE, STOPCRITERION.  \n  ERROR 200-322: 该符号不可识别，将被忽略。\n  */\n\n  it(\"parse the log in which there is 1 indicator but 2 problem indexes\", () => {\n    const [result] = parseLog(case6, firstCodeLine);\n    assert.equal(result.length, 3, \"result should have 3 problems.\");\n  });\n\n  /*\n  50   proc optex seed=193030034 data=a;\n                      -\n                      22\n                      200\n  51      class    Habitat;\n          -----\n          180\n  52      model    Habitat Month c1-c4 s1-s3 / noint;\n          -----\n          180\n  53      generate n=12;\n          --------\n          180\n  ERROR 22-322: Syntax error, expecting one of the following: a name, a quoted string, (, /, ;, _DATA_, _LAST_, _NULL_.  \n  ERROR 200-322: The symbol is not recognized and will be ignored.\n  ERROR 180-322: Statement is not valid or it is used out of proper order.\n   */\n  it(\"parse the long log\", () => {\n    const [result] = parseLog(case7_8, firstCodeLine);\n    assert.equal(result.length, 11, \"result should have 11 problems.\");\n  });\n\n  /*\n  problems occur before user's source code.\n   */\n  it(\"parse the log with case9\", () => {\n    const [result] = parseLog(case9, firstCodeLine);\n    assert.equal(result.length, 2, \"result should have 2 problems.\");\n  });\n\n  /*\n  handle below case: same source code line appear many times with error on it.\n\n  22         %let _SASPROGRAMFILE = %nrquote(%nrstr(c:\\SAS\\GIT\\GitHub\\TestData\\error_case_10.sas));\n  23         proc sgplot data=&dvttestdata1 dattrmap=&dvttestdata2;\n                              _\n                              22\n                              200\n  WARNING: Apparent symbolic reference DVTTESTDATA1 not resolved.\n  23         proc sgplot data=&dvttestdata1 dattrmap=&dvttestdata2;\n                                                    _\n                                                    22\n  ERROR 22-322: Expecting a name.\n  ERROR 200-322: The symbol is not recognized and will be ignored.\n  23         proc sgplot data=&dvttestdata1 dattrmap=&dvttestdata2;\n                                                    _\n                                                    200\n  ERROR 200-322: The symbol is not recognized and will be ignored.\n  ERROR: File WORK.DVTTESTDATA1.DATA does not exist.\n  WARNING: Apparent symbolic reference DVTTESTDATA2 not resolved.\n  ERROR: File WORK.DVTTESTDATA2.DATA does not exist.\n  24             scatter x=x y=x2 / group=y3 attrid=myid1;\n  */\n  it(\"parse the log with case10\", () => {\n    const [result] = parseLog(case10, firstCodeLine);\n    assert.equal(result.length, 11, \"result should have 11 problems.\");\n  });\n\n  /*\n  problems occur after user's source code\n  */\n  it(\"parse the log with case11\", () => {\n    const [result] = parseLog(case11, firstCodeLine);\n    assert.equal(result.length, 4, \"result should have 4 problems.\");\n  });\n});\n"
  },
  {
    "path": "client/test/components/notebook/exporter.test.ts",
    "content": "import * as vscode from \"vscode\";\n\nimport * as assert from \"assert\";\nimport * as sinon from \"sinon\";\n\nimport { getTestFixtureContent, getUri, openNotebookDoc } from \"../../utils\";\n\ndescribe(\"export notebook\", () => {\n  let writeFileFn: sinon.SinonSpy;\n  let showQuickPickStub: sinon.SinonStub;\n  let showSaveDialogStub: sinon.SinonStub;\n\n  beforeEach(async () => {\n    writeFileFn = sinon.spy();\n    await openNotebookDoc(getUri(\"sasnb_export.sasnb\"));\n    showQuickPickStub = sinon.stub(vscode.window, \"showQuickPick\");\n    showSaveDialogStub = sinon.stub(vscode.window, \"showSaveDialog\");\n    sinon.stub(vscode.workspace, \"fs\").get(() => ({\n      writeFile: writeFileFn,\n    }));\n  });\n\n  afterEach(() => {\n    sinon.restore();\n  });\n\n  it(\"exports the sasnb to sas file correctly\", async () => {\n    const uri = vscode.Uri.file(\"/test.sas\");\n    showQuickPickStub.resolves({\n      label: \"SAS Code\",\n      description: \"Export as SAS program file\",\n      format: \"sas\",\n      extension: \"sas\",\n    });\n    showSaveDialogStub.resolves(uri);\n\n    await vscode.commands.executeCommand(\"SAS.notebook.export\");\n\n    assert.strictEqual(writeFileFn.calledOnce, true);\n    assert.strictEqual(writeFileFn.firstCall.args[0], uri);\n\n    const sasContent = new TextDecoder().decode(writeFileFn.firstCall.args[1]);\n    const expectedContent = new TextDecoder().decode(\n      getTestFixtureContent(\"sasnb_export.sas\"),\n    );\n    assert.strictEqual(sasContent, expectedContent);\n  });\n\n  it(\"cancels export when no format is selected\", async () => {\n    showQuickPickStub.resolves(undefined);\n\n    await vscode.commands.executeCommand(\"SAS.notebook.export\");\n    assert.strictEqual(writeFileFn.called, false);\n  });\n\n  it(\"cancels export when no save location is selected\", async () => {\n    showQuickPickStub.resolves({\n      label: \"SAS Code\",\n      description: \"Export as SAS program file\",\n      format: \"sas\",\n      extension: \"sas\",\n    });\n    showSaveDialogStub.resolves(undefined);\n\n    await vscode.commands.executeCommand(\"SAS.notebook.export\");\n    assert.strictEqual(writeFileFn.called, false);\n  });\n});\n"
  },
  {
    "path": "client/test/components/notebook/serializer.test.ts",
    "content": "import * as vscode from \"vscode\";\n\nimport * as assert from \"assert\";\n\nimport { NotebookSerializer } from \"../../../src/components/notebook/Serializer\";\n\nconst testCell = new vscode.NotebookCellData(\n  vscode.NotebookCellKind.Code,\n  \"test\",\n  \"sas\",\n);\ntestCell.outputs = [\n  new vscode.NotebookCellOutput([\n    vscode.NotebookCellOutputItem.text(\"test\", \"application/test\"),\n    vscode.NotebookCellOutputItem.text(\"test1\", \"application/test1\"),\n  ]),\n];\nconst testData = new vscode.NotebookData([\n  new vscode.NotebookCellData(\n    vscode.NotebookCellKind.Markup,\n    \"test\",\n    \"markdown\",\n  ),\n  testCell,\n]);\nconst decoder = new TextDecoder();\n\ndescribe(\"notebook serializer\", () => {\n  it(\"serialize/deserialize the data correctly\", async () => {\n    const serializer = new NotebookSerializer();\n    const serializedData = await serializer.serializeNotebook(testData);\n    const newData = await serializer.serializeNotebook(\n      await serializer.deserializeNotebook(serializedData),\n    );\n    assert.equal(\n      decoder.decode(newData),\n      decoder.decode(serializedData),\n      \"The data don't match after serialize/deserialize\",\n    );\n  });\n});\n"
  },
  {
    "path": "client/test/components/profile/profile.test.ts",
    "content": "import { ConfigurationTarget, workspace } from \"vscode\";\n\nimport { assert, expect } from \"chai\";\n\nimport {\n  AuthType,\n  COMProfile,\n  ConnectionType,\n  EXTENSION_CONFIG_KEY,\n  EXTENSION_DEFINE_PROFILES_CONFIG_KEY,\n  ProfileConfig,\n  ProfilePromptType,\n  SSHProfile,\n  ViyaProfile,\n  getProfilePrompt,\n} from \"../../../src/components/profile\";\n\nlet testProfileName: string;\nlet testProfileNewName: string;\nlet profileConfig: ProfileConfig;\nlet testProfileClientId;\nlet testOverloadedProfile;\nlet testEmptyProfile;\nlet testEmptyItemsProfile;\nlet testSSHProfile;\nlet testCOMProfile;\nlet legacyProfile;\n\nasync function initProfile(): Promise<void> {\n  profileConfig = new ProfileConfig();\n}\n\ndescribe(\"Profiles\", async function () {\n  before(async () => {\n    await workspace\n      .getConfiguration(EXTENSION_CONFIG_KEY)\n      .update(\n        EXTENSION_DEFINE_PROFILES_CONFIG_KEY,\n        undefined,\n        ConfigurationTarget.Global,\n      );\n    testProfileClientId = {\n      activeProfile: \"\",\n      profiles: {\n        testProfile: {\n          endpoint: \"https://test-host.sas.com\",\n          clientId: \"sas.test\",\n          clientSecret: \"\",\n          context: \"SAS Studio context\",\n          connectionType: \"rest\",\n        },\n      },\n    };\n    testEmptyProfile = {\n      activeProfile: \"\",\n      profiles: {\n        testProfile: {},\n      },\n    };\n    testEmptyItemsProfile = {\n      activeProfile: \"\",\n      profiles: {\n        testProfile: {\n          endpoint: \"\",\n          context: \"\",\n          clientId: \"\",\n          clientSecret: \"\",\n        },\n      },\n    };\n    testOverloadedProfile = {\n      activeProfile: \"\",\n      profiles: {\n        testProfile: {\n          endpoint: \"https://test-host.sas.com\",\n          clientId: \"sas.test\",\n          clientSecret: \"\",\n          context: \"SAS Studio context\",\n          username: \"sastest\",\n          tokenFile: \"path/to/token.txt\",\n          connectionType: \"rest\",\n        },\n      },\n    };\n    testSSHProfile = {\n      activeProfile: \"\",\n      profiles: {\n        testProfile: {\n          host: \"host\",\n          username: \"username\",\n          port: 22,\n          sasPath: \"sasPath\",\n          sasOptions: [\"-nonews\"],\n          connectionType: \"ssh\",\n          privateKeyFilePath: \"/private/key/file/path\",\n        },\n      },\n    };\n\n    testCOMProfile = {\n      activeProfile: \"\",\n      profiles: {\n        testProfile: {\n          host: \"host\",\n          sasOptions: [],\n          ConnectionType: \"com\",\n        },\n      },\n    };\n    legacyProfile = {\n      activeProfile: \"\",\n      profiles: {\n        testSSHProfile: {\n          host: \"host\",\n          username: \"username\",\n          port: 22,\n          sasPath: \"sasPath\",\n          sasOptions: [\"-nonews\"],\n          connectionType: \"ssh\",\n        },\n        testViyaProfile: {\n          endpoint: \"https://test-host.sas.com/\",\n          clientId: \"sas.test\",\n          clientSecret: \"\",\n          context: \"SAS Studio context\",\n          username: \"sastest\",\n          tokenFile: \"path/to/token.txt\",\n        },\n        testProfile: {\n          endpoint: \"\",\n          context: \"\",\n          clientId: \"\",\n          clientSecret: \"\",\n        },\n      },\n    };\n  });\n\n  afterEach(async () => {\n    if (testProfileName) {\n      testProfileName = \"\";\n    }\n    if (testProfileNewName) {\n      testProfileNewName = \"\";\n    }\n  });\n\n  describe(\"Legacy Profile\", async function () {\n    beforeEach(async () => {\n      await initProfile();\n      await workspace\n        .getConfiguration(EXTENSION_CONFIG_KEY)\n        .update(\n          EXTENSION_DEFINE_PROFILES_CONFIG_KEY,\n          legacyProfile,\n          ConfigurationTarget.Global,\n        );\n    });\n\n    this.afterEach(async () => {\n      await workspace\n        .getConfiguration(EXTENSION_CONFIG_KEY)\n        .update(\n          EXTENSION_DEFINE_PROFILES_CONFIG_KEY,\n          undefined,\n          ConfigurationTarget.Global,\n        );\n    });\n\n    it(\"adds connectionType to legacy profiles\", async () => {\n      await profileConfig.migrateLegacyProfiles();\n\n      const profiles = profileConfig.getAllProfiles();\n      expect(Object.keys(profiles).length).to.be.greaterThan(0);\n\n      for (const key in profiles) {\n        const profile = profiles[key];\n        if (profile.connectionType === undefined) {\n          assert.fail(`Found undefined connectionType in profile named ${key}`);\n        }\n      }\n    });\n\n    it(\"removes trailing slash from endpoint on legacy profiles\", async () => {\n      await profileConfig.migrateLegacyProfiles();\n\n      const profiles = profileConfig.getAllProfiles();\n      expect(Object.keys(profiles).length).to.be.greaterThan(0);\n\n      for (const key in profiles) {\n        const profile = profiles[key];\n        if (\n          profile.connectionType === ConnectionType.Rest &&\n          /\\/$/.test(profile.endpoint)\n        ) {\n          assert.fail(\n            `Found trailing slash in endpoint of profile named ${key}`,\n          );\n        }\n      }\n    });\n\n    it(\"fails to validate missing connectionType\", async () => {\n      // Arrange\n\n      const profileByName = profileConfig.getProfileByName(\"testViyaProfile\");\n\n      // Act\n      const validateProfile = await profileConfig.validateProfile({\n        name: testProfileName,\n        profile: profileByName,\n      });\n\n      // Assert\n      expect(validateProfile.data).to.equal(undefined);\n      expect(validateProfile.type).to.equal(\n        AuthType.Error,\n        \"legacy profile did not return correct AuthType\",\n      );\n      expect(validateProfile.error).to.equal(\n        \"Missing connectionType in active profile.\",\n        \"should return messing connectionType error\",\n      );\n    });\n  });\n\n  describe(\"No Profile\", async function () {\n    beforeEach(async () => {\n      testProfileNewName = \"testProfile\";\n      initProfile();\n    });\n    describe(\"CRUD Operations\", async function () {\n      it(\"validate initial state\", async function () {\n        // Arrange\n        // Act\n        const profileLen = profileConfig.length();\n\n        // Verify\n        expect(profileLen).to.equal(0, \"No profiles should exist\");\n      });\n\n      it(\"add a new viya profile\", async function () {\n        // Arrange\n        // Act\n        await profileConfig.upsertProfile(testProfileNewName, {\n          connectionType: ConnectionType.Rest,\n          endpoint: \"https://test-host.sas.com\",\n          context: \"SAS Studio context\",\n        });\n        const profiles = await profileConfig.listProfile();\n\n        // Assert\n        expect(profiles).to.have.length(\n          1,\n          \"A single profile should be in the list\",\n        );\n\n        expect(profiles).to.include(\n          testProfileNewName,\n          `Profile ${testProfileName} should exist`,\n        );\n      });\n    });\n  });\n\n  describe(\"ClientId/Secret Profile\", async function () {\n    beforeEach(async () => {\n      testProfileName = \"testProfile\";\n      testProfileNewName = \"testProfile2\";\n      await initProfile();\n      await workspace\n        .getConfiguration(EXTENSION_CONFIG_KEY)\n        .update(\n          EXTENSION_DEFINE_PROFILES_CONFIG_KEY,\n          testProfileClientId,\n          ConfigurationTarget.Global,\n        );\n    });\n\n    describe(\"CRUD Operations\", async function () {\n      it(\"add a new profile\", async function () {\n        // Arrange\n        // Act\n        await profileConfig.upsertProfile(testProfileNewName, {\n          endpoint: \"https://test-host.sas.com\",\n          context: \"SAS Studio context\",\n          connectionType: ConnectionType.Rest,\n        });\n        const profilesList = await profileConfig.listProfile();\n\n        // Assert\n        expect(profilesList).to.have.length(\n          2,\n          \"A second profile should be in the list\",\n        );\n        expect(profilesList).to.include(\n          testProfileNewName,\n          `Profile ${testProfileNewName} should exist`,\n        );\n        expect(profilesList).to.include(\n          testProfileName,\n          `Profile ${testProfileName} should exist`,\n        );\n      });\n\n      it(\"delete a profile\", async function () {\n        // Arrange\n        // Act\n        await profileConfig.deleteProfile(testProfileName);\n\n        // Assert\n        const profiles = await profileConfig.listProfile();\n        expect(profiles).to.have.length(0);\n      });\n\n      it(\"list the expected profiles\", async function () {\n        // Arrange\n        // Act\n        const profileList = profileConfig.listProfile();\n\n        // Assert\n        expect(profileList).to.eql(\n          [testProfileName],\n          \"Expected profile name does not exist\",\n        );\n      });\n\n      it(\"get profile by name\", async function () {\n        // Arrange\n        // Act\n        const testProfile: ViyaProfile =\n          profileConfig.getProfileByName(testProfileName);\n\n        // Assert\n        expect(testProfile.endpoint).to.equal(\n          \"https://test-host.sas.com\",\n          \"Host is not matching\",\n        );\n        expect(testProfile.clientId).to.equal(\n          \"sas.test\",\n          \"Client ID is not matching\",\n        );\n        expect(testProfile.clientSecret).to.equal(\n          \"\",\n          \"Client Secret is not matching\",\n        );\n        expect(testProfile.context).to.equal(\n          \"SAS Studio context\",\n          \"Compute Context is not matching\",\n        );\n      });\n\n      it(\"update single element of the profile\", async function () {\n        // Arrange\n        let testProfile: ViyaProfile =\n          profileConfig.getProfileByName(testProfileName);\n\n        // Act\n        // update profile manually\n        testProfile.endpoint = \"https://test2-host.sas.com\";\n        await profileConfig.upsertProfile(testProfileName, testProfile);\n        testProfile = profileConfig.getProfileByName(testProfileName);\n\n        // Assert\n        // validate host has changed and clientId and token is still empty\n        expect(testProfile.endpoint).to.equal(\"https://test2-host.sas.com\");\n        expect(testProfile.clientId).to.equal(\"sas.test\");\n        expect(testProfile).to.not.have.any.keys(\"tokenFile\");\n      });\n    });\n\n    describe(\"Validate Profile\", async function () {\n      it(\"set active profile\", async function () {\n        // Arrange\n        // Act\n        await profileConfig.updateActiveProfileSetting(testProfileName);\n\n        // Assert\n        const testProfile = profileConfig.getActiveProfile();\n        expect(testProfileName).to.equal(\n          testProfile,\n          \"Active profile not successfully set\",\n        );\n      });\n\n      it(\"get active profile\", async function () {\n        // Arrange\n        // Act\n        await profileConfig.updateActiveProfileSetting(testProfileName);\n        const activeProfileName = profileConfig.getActiveProfile();\n        const activeProfile: ViyaProfile =\n          profileConfig.getProfileByName(activeProfileName);\n\n        // Assert\n        expect(activeProfileName).to.equal(\n          testProfileName,\n          \"Active profile has not been set\",\n        );\n        expect(activeProfile.endpoint).to.equal(\n          \"https://test-host.sas.com\",\n          \"Active profile endpoint not expected\",\n        );\n      });\n\n      it(\"validate client id/secret profile\", async function () {\n        // Arrange\n        const profileByName = profileConfig.getProfileByName(testProfileName);\n\n        // Act\n        const validateProfile = await profileConfig.validateProfile({\n          name: testProfileName,\n          profile: profileByName,\n        });\n\n        // Assert\n        expect(validateProfile.data).to.equal(undefined);\n        expect(validateProfile.type).to.equal(\n          AuthType.AuthCode,\n          \"client id/secret profile did not return correct AuthType\",\n        );\n        expect(validateProfile.error).to.equal(\n          \"\",\n          \"client id/secret profile should not return error\",\n        );\n      });\n    });\n  });\n\n  describe(\"Empty File Profile\", async function () {\n    beforeEach(async () => {\n      testProfileName = \"testProfile\";\n      testProfileNewName = \"testProfile2\";\n      await initProfile();\n      await workspace\n        .getConfiguration(EXTENSION_CONFIG_KEY)\n        .update(\n          EXTENSION_DEFINE_PROFILES_CONFIG_KEY,\n          testEmptyProfile,\n          ConfigurationTarget.Global,\n        );\n    });\n    describe(\"CRUD Operations\", async function () {\n      it(\"add a new profile\", async function () {\n        const newProfile: ViyaProfile = {\n          endpoint: \"https://test-host.sas.com\",\n          context: \"SAS Studio context\",\n          connectionType: ConnectionType.Rest,\n        };\n        // Arrange\n        // Act\n        await profileConfig.upsertProfile(testProfileNewName, newProfile);\n        const profiles = profileConfig.listProfile();\n\n        // Assert\n        expect(profiles).to.have.length(\n          2,\n          \"A second profile should be in the list\",\n        );\n        expect(profiles).to.include(\n          testProfileNewName,\n          `Profile ${testProfileName} should exist`,\n        );\n      });\n\n      it(\"delete a profile\", async function () {\n        // Arrange\n        // Act\n        await profileConfig.deleteProfile(testProfileName);\n\n        // Assert\n        const profiles = profileConfig.listProfile();\n        expect(profiles).to.have.length(0);\n      });\n\n      it(\"get profile by name\", async function () {\n        // Arrange\n        // Act\n        const testProfile: ViyaProfile =\n          profileConfig.getProfileByName(testProfileName);\n\n        // Assert\n        expect(testProfile.endpoint).to.equal(\n          undefined,\n          \"Host is not matching\",\n        );\n        expect(testProfile.context).to.equal(\n          undefined,\n          \"Compute Context is not matching\",\n        );\n      });\n\n      it(\"list the expected profiles\", async function () {\n        // Arrange\n        // Act\n        const profileList = profileConfig.listProfile();\n\n        // Assert\n        expect(profileList).to.eql(\n          [testProfileName],\n          \"Expected profile name does not exist\",\n        );\n      });\n\n      it(\"update single element of the profile\", async function () {\n        // Arrange\n        let testProfile: ViyaProfile =\n          profileConfig.getProfileByName(testProfileName);\n\n        // Act\n        // update profile manually\n        const newProfileSetting = testEmptyProfile;\n        newProfileSetting.profiles[testProfileName].endpoint =\n          \"https://test2-host.sas.com\";\n        await workspace\n          .getConfiguration(EXTENSION_CONFIG_KEY)\n          .update(\n            EXTENSION_DEFINE_PROFILES_CONFIG_KEY,\n            newProfileSetting,\n            ConfigurationTarget.Global,\n          );\n        // get profile after settings update\n        testProfile = profileConfig.getProfileByName(testProfileName);\n\n        // Assert\n        // validate that endpoint was added\n        expect(testProfile.endpoint).to.equal(\"https://test2-host.sas.com\");\n      });\n    });\n\n    describe(\"Validate Profiles\", async function () {\n      it(\"validate no active profile when only name sent in\", async function () {\n        // Arrange\n        // Act\n        const validateProfile = await profileConfig.validateProfile({\n          name: testProfileName,\n          profile: undefined,\n        });\n\n        // Assert\n        expect(validateProfile.data).to.equal(undefined);\n        expect(validateProfile.type).to.equal(\n          AuthType.Error,\n          \"No active profile did not return correct AuthType\",\n        );\n        expect(validateProfile.error).to.equal(\n          \"No Active Profile\",\n          \"No active profile did not return error\",\n        );\n      });\n\n      it(\"get active profile when no profile active\", async function () {\n        // Arrange\n        // Act\n        const activeProfileName = profileConfig.getActiveProfile();\n        const activeProfile = profileConfig.getProfileByName(activeProfileName);\n\n        // Assert\n        expect(activeProfile).to.be.equal(\n          undefined,\n          \"No active profile should be found\",\n        );\n      });\n    });\n  });\n\n  describe(\"Overloaded Profile\", async function () {\n    beforeEach(async () => {\n      testProfileName = \"testProfile\";\n      await initProfile();\n      await workspace\n        .getConfiguration(EXTENSION_CONFIG_KEY)\n        .update(\n          EXTENSION_DEFINE_PROFILES_CONFIG_KEY,\n          testOverloadedProfile,\n          ConfigurationTarget.Global,\n        );\n    });\n    describe(\"Validate Profiles\", async function () {\n      it(\"set active profile\", async function () {\n        // Arrange\n        // Act\n        await profileConfig.updateActiveProfileSetting(testProfileName);\n        const activeProfile = profileConfig.getActiveProfile();\n\n        // Assert\n        expect(activeProfile).to.equal(\n          testProfileName,\n          \"Active profile not successfully set\",\n        );\n      });\n\n      it(\"get active profile\", async function () {\n        // Arrange\n        // Act\n        await profileConfig.updateActiveProfileSetting(testProfileName);\n        const activeProfileName = profileConfig.getActiveProfile();\n        const activeProfile: ViyaProfile =\n          profileConfig.getProfileByName(activeProfileName);\n\n        // Assert\n        expect(activeProfileName).to.equal(\n          testProfileName,\n          \"Active profile has not been set\",\n        );\n        expect(activeProfile.endpoint).to.equal(\n          \"https://test-host.sas.com\",\n          \"Active profile endpoint not expected\",\n        );\n      });\n\n      it(\"validate overloaded file profile\", async function () {\n        // Arrange\n        const profileByName = profileConfig.getProfileByName(testProfileName);\n\n        // Act\n        const validateProfile = await profileConfig.validateProfile({\n          name: testProfileName,\n          profile: profileByName,\n        });\n\n        // Assert\n        // Overloaded file should take authcode as precedence\n        expect(validateProfile.data).to.equal(undefined);\n        expect(validateProfile.type).to.equal(\n          AuthType.AuthCode,\n          \"validate overloaded file profile did not return correct AuthType\",\n        );\n        expect(validateProfile.error).to.equal(\n          \"\",\n          \"validate overloaded file profile should not return error\",\n        );\n      });\n    });\n  });\n\n  describe(\"SSH Profile\", async function () {\n    beforeEach(async () => {\n      testProfileName = \"testProfile\";\n      testProfileNewName = \"testProfile2\";\n      await initProfile();\n      await workspace\n        .getConfiguration(EXTENSION_CONFIG_KEY)\n        .update(\n          EXTENSION_DEFINE_PROFILES_CONFIG_KEY,\n          testSSHProfile,\n          ConfigurationTarget.Global,\n        );\n    });\n    describe(\"CRUD Operations\", async function () {\n      it(\"add a new profile\", async function () {\n        const requestSSHProfile: SSHProfile = {\n          connectionType: ConnectionType.SSH,\n          host: \"ssh.host\",\n          port: 22,\n          sasOptions: [\"-nonews\"],\n          saspath: \"/sas/path\",\n          username: \"username\",\n          privateKeyFilePath: \"/private/key/file/path\",\n        };\n        // Arrange\n        // Act\n        await profileConfig.upsertProfile(\n          testProfileNewName,\n          requestSSHProfile,\n        );\n        const profilesList = profileConfig.listProfile();\n\n        // Assert\n        expect(profilesList).to.have.length(\n          2,\n          \"A second profile should be in the list\",\n        );\n        expect(profilesList).to.include(\n          testProfileNewName,\n          `Profile ${testProfileNewName} should exist`,\n        );\n        expect(profilesList).to.include(\n          testProfileName,\n          `Profile ${testProfileName} should exist`,\n        );\n\n        const addedProfile: SSHProfile =\n          profileConfig.getProfileByName(testProfileNewName);\n\n        expect(addedProfile).to.eql(\n          requestSSHProfile,\n          `Profile ${testProfileNewName} should have expected contents after creation`,\n        );\n      });\n      it(\"delete a profile\", async function () {\n        // Arrange\n        // Act\n        await profileConfig.deleteProfile(testProfileName);\n\n        // Assert\n        const profiles = await profileConfig.listProfile();\n        expect(profiles).to.have.length(0);\n      });\n      it(\"list the expected profiles\", async function () {\n        // Arrange\n        // Act\n        const profileList = profileConfig.listProfile();\n\n        // Assert\n        expect(profileList).to.eql(\n          [testProfileName],\n          \"Expected ssh profile name does not exist\",\n        );\n      });\n    });\n  });\n\n  describe(\"COM Profile\", async function () {\n    beforeEach(async () => {\n      testProfileName = \"testProfile\";\n      testProfileNewName = \"testProfile2\";\n      await initProfile();\n      await workspace\n        .getConfiguration(EXTENSION_CONFIG_KEY)\n        .update(\n          EXTENSION_DEFINE_PROFILES_CONFIG_KEY,\n          testCOMProfile,\n          ConfigurationTarget.Global,\n        );\n    });\n    describe(\"CRUD Operations\", async function () {\n      it(\"add a new profile\", async function () {\n        const requestCOMProfile: COMProfile = {\n          connectionType: ConnectionType.COM,\n          host: \"com.host\",\n          sasOptions: [\"-nonews\"],\n        };\n        // Arrange\n        // Act\n        await profileConfig.upsertProfile(\n          testProfileNewName,\n          requestCOMProfile,\n        );\n        const profilesList = profileConfig.listProfile();\n\n        // Assert\n        expect(profilesList).to.have.length(\n          2,\n          \"A second profile should be in the list\",\n        );\n        expect(profilesList).to.include(\n          testProfileNewName,\n          `Profile ${testProfileNewName} should exist`,\n        );\n        expect(profilesList).to.include(\n          testProfileName,\n          `Profile ${testProfileName} should exist`,\n        );\n\n        const addedProfile: COMProfile =\n          profileConfig.getProfileByName(testProfileNewName);\n\n        expect(addedProfile).to.eql(\n          requestCOMProfile,\n          `Profile ${testProfileNewName} should have expected contents after creation`,\n        );\n      });\n      it(\"delete a profile\", async function () {\n        // Arrange\n        // Act\n        await profileConfig.deleteProfile(testProfileName);\n\n        // Assert\n        const profiles = await profileConfig.listProfile();\n        expect(profiles).to.have.length(0);\n      });\n      it(\"list the expected profiles\", async function () {\n        // Arrange\n        // Act\n        const profileList = profileConfig.listProfile();\n\n        // Assert\n        expect(profileList).to.eql(\n          [testProfileName],\n          \"Expected com profile name does not exist\",\n        );\n      });\n    });\n  });\n\n  describe(\"Empty Item Profile\", async function () {\n    beforeEach(async () => {\n      testProfileName = \"testProfile\";\n      await initProfile();\n      await workspace\n        .getConfiguration(EXTENSION_CONFIG_KEY)\n        .update(\n          EXTENSION_DEFINE_PROFILES_CONFIG_KEY,\n          testEmptyItemsProfile,\n          ConfigurationTarget.Global,\n        );\n    });\n    describe(\"Validate Profiles\", async function () {\n      it(\"set active profile\", async function () {\n        // Arrange\n        // Act\n        await profileConfig.updateActiveProfileSetting(testProfileName);\n        const testProfile = profileConfig.getActiveProfile();\n\n        // Assert\n        expect(testProfile).to.equal(\n          testProfileName,\n          \"Active profile not successfully set\",\n        );\n      });\n\n      it(\"get active profile\", async function () {\n        // Arrange\n        // Act\n        await profileConfig.updateActiveProfileSetting(testProfileName);\n        const activeProfileName = profileConfig.getActiveProfile();\n        const activeProfile: ViyaProfile =\n          profileConfig.getProfileByName(activeProfileName);\n\n        // Assert\n        expect(activeProfileName).to.equal(\n          testProfileName,\n          \"Active profile has not been set\",\n        );\n        expect(activeProfile.endpoint).to.equal(\n          \"\",\n          \"Active profile endpoint not expected\",\n        );\n      });\n    });\n  });\n\n  describe(\"Viya Input Prompts\", async function () {\n    it(\"Valid Profile Input\", function () {\n      // Arrange\n      // Act\n      const result = getProfilePrompt(ProfilePromptType.Profile);\n\n      // Assert\n      expect(result).to.not.equal(undefined);\n      expect(result.title).to.equal(\n        \"Switch Current SAS Profile\",\n        \"Profile title does not match expected\",\n      );\n      expect(result.placeholder).to.equal(\n        \"Select a SAS connection profile\",\n        \"Profile placeholder does not match expected\",\n      );\n    });\n\n    it(\"Valid New Profile Input\", function () {\n      // Arrange\n      // Act\n      const result = getProfilePrompt(ProfilePromptType.NewProfile);\n\n      // Assert\n      expect(result).to.not.equal(undefined);\n      expect(result.title).to.equal(\n        \"New SAS Connection Profile Name\",\n        \"NewProfile title does not match expected\",\n      );\n      expect(result.placeholder).to.equal(\n        \"Enter connection name\",\n        \"NewProfile placeholder does not match expected\",\n      );\n    });\n\n    it(\"Valid Endpoint Input\", function () {\n      // Arrange\n      // Act\n      const result = getProfilePrompt(ProfilePromptType.Endpoint);\n\n      // Assert\n      expect(result).to.not.equal(undefined);\n      expect(result.title).to.equal(\n        \"SAS Viya Server\",\n        \"Endpoint title does not match expected\",\n      );\n      expect(result.placeholder).to.equal(\n        \"Enter the URL\",\n        \"Endpoint placeholder does not match expected\",\n      );\n    });\n\n    it(\"Valid Compute Context Input\", function () {\n      // Arrange\n      // Act\n      const result = getProfilePrompt(ProfilePromptType.ComputeContext);\n\n      // Assert\n      expect(result).to.not.equal(undefined);\n      expect(result.title).to.equal(\n        \"SAS Compute Context\",\n        \"ComputeContext title does not match expected\",\n      );\n      expect(result.placeholder).to.equal(\n        \"Enter the SAS compute context\",\n        \"ComputeContext placeholder does not match expected\",\n      );\n    });\n\n    it(\"Valid Client Id Input\", function () {\n      // Arrange\n      // Act\n      const result = getProfilePrompt(ProfilePromptType.ClientId);\n\n      // Assert\n      expect(result).to.not.equal(undefined);\n      expect(result.title).to.equal(\n        \"Client ID\",\n        \"ClientId title does not match expected\",\n      );\n      expect(result.placeholder).to.equal(\n        \"Enter a client ID\",\n        \"ClientId placeholder does not match expected\",\n      );\n    });\n\n    it(\"Valid Client Secret Input\", function () {\n      // Arrange\n      // Act\n      const result = getProfilePrompt(ProfilePromptType.ClientSecret);\n\n      // Assert\n      expect(result).to.not.equal(undefined);\n      expect(result.title).to.equal(\n        \"Client Secret\",\n        \"ClientSecret title does not match expected\",\n      );\n      expect(result.placeholder).to.equal(\n        \"Enter a client secret\",\n        \"ClientSecret placeholder does not match expected\",\n      );\n    });\n  });\n\n  describe(\"SSH Input Prompts\", async function () {\n    interface testCase {\n      name: string;\n      prompt: ProfilePromptType;\n      wantTitle: string;\n      wantPlaceHolder: string;\n      wantDescription: string;\n    }\n    const testCases: testCase[] = [\n      {\n        name: \"Host\",\n        prompt: ProfilePromptType.Host,\n        wantTitle: \"SAS 9 Server\",\n        wantDescription: \"Enter the name of the SAS 9 server.\",\n        wantPlaceHolder: \"Enter the server name\",\n      },\n      {\n        name: \"SAS Path\",\n        prompt: ProfilePromptType.SASPath,\n        wantTitle: \"Server Path\",\n        wantDescription: \"Enter the server path of the SAS Executable.\",\n        wantPlaceHolder: \"Enter the server path\",\n      },\n      {\n        name: \"Port\",\n        prompt: ProfilePromptType.Port,\n        wantTitle: \"Port Number\",\n        wantDescription: \"Enter a port number.\",\n        wantPlaceHolder: \"Enter a port number\",\n      },\n      {\n        name: \"Username\",\n        prompt: ProfilePromptType.Username,\n        wantTitle: \"SAS Server Username\",\n        wantDescription: \"Enter your SAS server username.\",\n        wantPlaceHolder: \"Enter your username\",\n      },\n      {\n        name: \"Private Key File Path\",\n        prompt: ProfilePromptType.PrivateKeyFilePath,\n        wantTitle: \"Private Key File Path (optional)\",\n        wantDescription: \"To use the SSH Agent or a password, leave blank.\",\n        wantPlaceHolder: \"Enter the local private key file path\",\n      },\n    ];\n\n    testCases.forEach((testCase) => {\n      it(`Valid ${testCase.name} Input`, function () {\n        const foundPrompt = getProfilePrompt(testCase.prompt);\n        expect(foundPrompt).to.not.equal(undefined);\n\n        expect(foundPrompt.title).to.equal(\n          testCase.wantTitle,\n          `${testCase.name} title does not match expected`,\n        );\n        expect(foundPrompt.placeholder).to.equal(\n          testCase.wantPlaceHolder,\n          `${testCase.name} placeholder does not match expected`,\n        );\n        expect(foundPrompt.description).to.equal(\n          testCase.wantDescription,\n          `${testCase.name} description does not match expected`,\n        );\n      });\n    });\n  });\n});\n"
  },
  {
    "path": "client/test/components/util/SASCodeDocument.test.ts",
    "content": "// Copyright © 2024, SAS Institute Inc., Cary, NC, USA.  All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport assert from \"assert\";\n\nimport {\n  SASCodeDocument,\n  SASCodeDocumentParameters,\n} from \"../../../src/components/utils/SASCodeDocument\";\n\ndescribe(\"sas code document\", () => {\n  it(\"wrap python code\", () => {\n    const parameters: SASCodeDocumentParameters = {\n      languageId: \"python\",\n      code: `python code\nselected python code`,\n      selectedCode: \"\",\n      htmlStyle: \"Illuminate\",\n      outputHtml: true,\n      uuid: \"519058ad-d33b-4b5c-9d23-4cc8d6ffb163\",\n      checkKeyword: async () => false,\n    };\n\n    const sasCodeDoc = new SASCodeDocument(parameters);\n\n    const expected = `/** LOG_START_INDICATOR **/\ntitle;footnote;ods _all_ close;\nods graphics on;\nods html5(id=vscode) style=Illuminate options(bitmap_mode='inline' svg_mode='inline') body=\"519058ad-d33b-4b5c-9d23-4cc8d6ffb163.htm\";\nproc python;\nsubmit;\npython code\nselected python code\nendsubmit;\nrun;\n;*';*\";*/;run;quit;ods html5(id=vscode) close;\n`;\n\n    assert.equal(sasCodeDoc.getWrappedCode(), expected);\n  });\n\n  it(\"wrap r code\", () => {\n    const parameters: SASCodeDocumentParameters = {\n      languageId: \"r\",\n      code: `for (x in 1:6) {\n  print(x)\n}\nprint(\"test\")`,\n      selectedCode: \"\",\n      htmlStyle: \"Illuminate\",\n      outputHtml: true,\n      uuid: \"519058ad-d33b-4b5c-9d23-4cc8d6ffb163\",\n      checkKeyword: async () => false,\n    };\n\n    const sasCodeDoc = new SASCodeDocument(parameters);\n\n    const expected = `/** LOG_START_INDICATOR **/\ntitle;footnote;ods _all_ close;\nods graphics on;\nods html5(id=vscode) style=Illuminate options(bitmap_mode='inline' svg_mode='inline') body=\"519058ad-d33b-4b5c-9d23-4cc8d6ffb163.htm\";\nproc r;\nsubmit;\nfor (x in 1:6) {\n  print(x)\n}\nprint(\"test\")\nendsubmit;\nrun;\n;*';*\";*/;run;quit;ods html5(id=vscode) close;\n`;\n\n    assert.equal(sasCodeDoc.getWrappedCode(), expected);\n  });\n\n  it(\"wrap sql code\", () => {\n    const parameters: SASCodeDocumentParameters = {\n      languageId: \"sql\",\n      code: `SELECT * FROM issues WHERE issue.developer = 'scnjdl'`,\n      selectedCode: \"\",\n      htmlStyle: \"Illuminate\",\n      outputHtml: true,\n      uuid: \"519058ad-d33b-4b5c-9d23-4cc8d6ffb163\",\n      checkKeyword: async () => false,\n    };\n\n    const sasCodeDoc = new SASCodeDocument(parameters);\n\n    const expected = `/** LOG_START_INDICATOR **/\ntitle;footnote;ods _all_ close;\nods graphics on;\nods html5(id=vscode) style=Illuminate options(bitmap_mode='inline' svg_mode='inline') body=\"519058ad-d33b-4b5c-9d23-4cc8d6ffb163.htm\";\nproc sql;\nSELECT * FROM issues WHERE issue.developer = 'scnjdl'\n;quit;\n;*';*\";*/;run;quit;ods html5(id=vscode) close;\n`;\n\n    assert.equal(sasCodeDoc.getWrappedCode(), expected);\n  });\n\n  it(\"wrap sas code\", () => {\n    const parameters: SASCodeDocumentParameters = {\n      languageId: \"sas\",\n      code: `proc sgplot data=sashelp.class;\n  histogram age;\nrun;`,\n      selectedCode: \"\",\n      uri: \"file:///c%3A/SAS/GIT/GitHub/TestData/run.sas\",\n      fileName: \"c:\\\\SAS\\\\GIT\\\\GitHub\\\\TestData\\\\run.sas\",\n      htmlStyle: \"Illuminate\",\n      outputHtml: true,\n      uuid: \"519058ad-d33b-4b5c-9d23-4cc8d6ffb163\",\n      checkKeyword: async () => false,\n    };\n\n    const sasCodeDoc = new SASCodeDocument(parameters);\n\n    const expected = `/** LOG_START_INDICATOR **/\ntitle;footnote;ods _all_ close;\nods graphics on;\nods html5(id=vscode) style=Illuminate options(bitmap_mode='inline' svg_mode='inline') body=\"519058ad-d33b-4b5c-9d23-4cc8d6ffb163.htm\";\n%let _SASPROGRAMFILE = %nrquote(%nrstr(c:\\\\SAS\\\\GIT\\\\GitHub\\\\TestData\\\\run.sas));\nproc sgplot data=sashelp.class;\n  histogram age;\nrun;\n;*';*\";*/;run;quit;ods html5(id=vscode) close;\n`;\n\n    assert.equal(sasCodeDoc.getWrappedCode(), expected);\n  });\n\n  it(\"wrap sas code with correct windows style file path to &_SASPROGRAMFILE\", () => {\n    const parameters: SASCodeDocumentParameters = {\n      languageId: \"sas\",\n      code: \"%put &=_SASPROGRAMFILE;\",\n      selectedCode: \"\",\n      uri: \"file:///c%3A/SAS/GIT/GitHub/TestData/run.sas\",\n      fileName: `c:\\\\temp\\\\My Test\\\\R&D\\\\mean(95%CI)\\\\Parkinson's Disease example.sas`,\n      htmlStyle: \"Illuminate\",\n      outputHtml: true,\n      uuid: \"519058ad-d33b-4b5c-9d23-4cc8d6ffb163\",\n      checkKeyword: async () => false,\n    };\n    const sasCodeDoc = new SASCodeDocument(parameters);\n\n    const expected = `/** LOG_START_INDICATOR **/\ntitle;footnote;ods _all_ close;\nods graphics on;\nods html5(id=vscode) style=Illuminate options(bitmap_mode='inline' svg_mode='inline') body=\"519058ad-d33b-4b5c-9d23-4cc8d6ffb163.htm\";\n%let _SASPROGRAMFILE = %nrquote(%nrstr(c:\\\\temp\\\\My Test\\\\R&D\\\\mean%(95%CI%)\\\\Parkinson%'s Disease example.sas));\n%put &=_SASPROGRAMFILE;\n;*';*\";*/;run;quit;ods html5(id=vscode) close;\n`;\n\n    assert.equal(\n      sasCodeDoc.getWrappedCode(),\n      expected,\n      \"assign_SASProgramFile returned unexpected string\",\n    );\n  });\n\n  it(\"wrap sas code with correct unix style file path to &_SASPROGRAMFILE\", () => {\n    const parameters: SASCodeDocumentParameters = {\n      languageId: \"sas\",\n      code: \"%put &=_SASPROGRAMFILE;\",\n      selectedCode: \"\",\n      uri: \"file:///c%3A/SAS/GIT/GitHub/TestData/run.sas\",\n      fileName: `/tmp/My Test/R&D/mean(95%CI)/Parkinson's Disease example.sas`,\n      htmlStyle: \"Illuminate\",\n      outputHtml: true,\n      uuid: \"519058ad-d33b-4b5c-9d23-4cc8d6ffb163\",\n      checkKeyword: async () => false,\n    };\n\n    const sasCodeDoc = new SASCodeDocument(parameters);\n    const expected = `/** LOG_START_INDICATOR **/\ntitle;footnote;ods _all_ close;\nods graphics on;\nods html5(id=vscode) style=Illuminate options(bitmap_mode='inline' svg_mode='inline') body=\"519058ad-d33b-4b5c-9d23-4cc8d6ffb163.htm\";\n%let _SASPROGRAMFILE = %nrquote(%nrstr(/tmp/My Test/R&D/mean%(95%CI%)/Parkinson%'s Disease example.sas));\n%put &=_SASPROGRAMFILE;\n;*';*\";*/;run;quit;ods html5(id=vscode) close;\n`;\n\n    assert.equal(\n      sasCodeDoc.getWrappedCode(),\n      expected,\n      \"assign_SASProgramFile returned unexpected string\",\n    );\n  });\n\n  it(\"includes blank lines\", () => {\n    const parameters: SASCodeDocumentParameters = {\n      languageId: \"sas\",\n      code: `cas; caslib _all_ assign;\n\n  data casuser.cascars; set sashelp.cars; run;\n\n  proc casutil; load data=SASHELP.BASEBALL outcaslib=\"CASUSER\" casout=\"CASBALL\";run;`,\n      selectedCode: \"\",\n      uri: \"file:///c%3A/SAS/GIT/GitHub/TestData/run.sas\",\n      fileName: `/tmp/My Test/R&D/mean(95%CI)/Parkinson's Disease example.sas`,\n      htmlStyle: \"Illuminate\",\n      outputHtml: true,\n      uuid: \"519058ad-d33b-4b5c-9d23-4cc8d6ffb163\",\n      checkKeyword: async () => false,\n    };\n\n    const sasCodeDoc = new SASCodeDocument(parameters);\n    const expected = `/** LOG_START_INDICATOR **/\ntitle;footnote;ods _all_ close;\\nods graphics on;\nods html5(id=vscode) style=Illuminate options(bitmap_mode='inline' svg_mode='inline') body=\"519058ad-d33b-4b5c-9d23-4cc8d6ffb163.htm\";\n%let _SASPROGRAMFILE = %nrquote(%nrstr(/tmp/My Test/R&D/mean%(95%CI%)/Parkinson%'s Disease example.sas));\ncas; caslib _all_ assign;\n\n  data casuser.cascars; set sashelp.cars; run;\n\n  proc casutil; load data=SASHELP.BASEBALL outcaslib=\"CASUSER\" casout=\"CASBALL\";run;\n;*';*\";*/;run;quit;ods html5(id=vscode) close;\n`;\n\n    assert.equal(\n      sasCodeDoc.getWrappedCode(),\n      expected,\n      \"returns unexpected string\",\n    );\n  });\n\n  it(\"getProblemLocationInRawCode\", async () => {\n    const parameters: SASCodeDocumentParameters = {\n      languageId: \"sas\",\n      code: \"\\r\\n\\r\\n/* I am comment */\\r\\noptions ls=72;\\r\\n\\r\\ndata pf70 pm70 pf80 pm80;\\r\\n\\tinput state $ pop_f70 pop_m70 pop_f80 pop_m80 @@;\\r\\n\\tdrop pop_m70 pop_f70 pop_m80 pop_f80;\\r\\n\\tdecade= 70;\\r\\n\\tsex= 'Female'\\r\\n\\tpop= pop_f70;  output pf70;\\r\\n\\tsex= 'Male';\\r\\n\\tpop= pop_m70;  output pm70;\\r\\n\\r\\n\\tdecade= 80;\\r\\n\\tpop= pop_m80;  output pm80;\\r\\n\\tsex= 'Female';\\r\\n\\tpop= pop_f80;  output pf80;\\r\\n\\tdecade= 70;\\r\\n\\tsex= 'Female'\\r\\n\\tpop= pop_f70;  output pf70;\\r\\n\\tsex= 'Male';\\r\\n\\tpop= pop_m70;  output pm70;\\r\\n\\tdecade= 80;\\r\\n\\tpop= pop_m80;  output pm80;\\r\\n\\tsex= 'Female';\\r\\n\\tpop= pop_f80;  output pf80;\\r\\n\\tcards;\\r\\nALA    1.78  1.66  2.02  1.87   ALASKA 0.14  0.16  0.19  0.21\\r\\nARIZ   0.90  0.87  1.38  1.34   ARK    0.99  0.93  1.18  1.10\\r\\nCALIF 10.14  9.82 12.00 11.67   COLO   1.12  1.09  1.46  1.43\\r\\nCONN   1.56  1.47  1.61  1.50   DEL    0.28  0.27  0.31  0.29\\r\\nFLA    3.51  3.28  5.07  4.68   GA     2.36  2.23  2.82  2.64\\r\\nHAW    0.37  0.40  0.47  0.49   IDAHO  0.36  0.36  0.47  0.47\\r\\nILL    5.72  5.39  5.89  5.54   IND    2.66  2.53  2.82  2.67\\r\\nIOWA   1.45  1.37  1.50  1.41   KAN    1.15  1.02  1.21  1.16\\r\\nKY     1.64  1.58  1.87  1.79   LA     1.87  1.77  2.17  2.04\\r\\nME     0.51  0.48  0.58  0.55   MD     2.01  1.92  2.17  2.04\\r\\n\\r\\nMASS   2.97  2.72  3.01  2.73   MICH   4.53  4.39  4.75  4.52\\r\\nMINN   1.94  1.86  2.08  2.00   MISS   1.14  1.07  1.31  1.21\\r\\nMO     2.42  2.26  2.55  2.37   MONT   0.35  0.35  0.39  0.39\\r\\nNEB    0.76  0.72  0.80  0.77   NEV    0.24  0.25  0.40  0.41\\r\\nNH     0.38  0.36  0.47  0.45   NJ     3.70  3.47  3.83  3.53\\r\\nNM     0.52  0.50  0.66  0.64   NY     9.52  8.72  9.22  8.34\\r\\nNC     2.59  2.49  3.03  2.86   ND     0.31  0.31  0.32  0.33\\r\\nOHIO   5.49  5.16  5.58  5.22   OKLA   1.31  1.25  1.55  1.48\\r\\nORE    1.07  1.02  1.34  1.30   PA     6.13  5.67  6.18  5.68\\r\\nRI     0.48  0.46  0.50  0.45   SC     1.32  1.27  1.60  1.52\\r\\nSD     0.34  0.33  0.35  0.34   TENN   2.03  1.90  2.37  2.22\\r\\nTEXAS  5.72  5.48  7.23  7.00   UTAH   0.54  0.52  0.74  0.72\\r\\nVT     0.23  0.22  0.26  0.25   VA     2.35  2.30  2.73  2.62\\r\\nWASH   1.72  1.69  2.08  2.05   W.VA   0.90  0.84  1.00  0.95\\r\\nWIS    2.25  2.17  2.40  2.31   WYO    0.16  0.17  0.23  0.24\\r\\nXX      .     .     .     .     YY      .     .     .     .\\r\\n;\\r\\n\\r\\ndata popstate;\\r\\n\\tset pf70 pm70 pf80 pm80;\\r\\n\\tlabel pop= 'Census Population In Millions';\\r\\ntitle 'The SAS System';\\r\\n\\r\\nproc univariate data=popstate freq plot normal;\\r\\n\\tvar2 pop;\\r\\n\\tid state;\\r\\n\\tby decade sex;\\r\\n\\toutput out= univout mean= popnmean median= popn50\\r\\n\\t\\tpctlpre= pop_  pctlpts= 50, 95 to 100 by 2.5;\\r\\n\\r\\nproc print data= univout;\\r\\n\\ttitle 'Output Dataset From PROC UNIVARIATE';\\r\\n\\tformat popn50 pop_50 pop_95 pop_97_5 pop_100 best8.;\\r\\n\",\n      selectedCode: \"\",\n      uri: \"file:///c%3A/SAS/GIT/GitHub/TestData/error_init.sas\",\n      fileName: `c:\\\\SAS\\\\GIT\\\\GitHub\\\\TestData\\\\error_init.sas`,\n      htmlStyle: \"Ignite\",\n      outputHtml: true,\n      uuid: \"6128b4fc-7337-4a2c-94ab-bdc592fcdf44\",\n      selections: [\n        { start: { line: 0, character: 0 }, end: { line: 72, character: 0 } },\n      ],\n      checkKeyword: async () => false,\n    };\n\n    const sasCodeDoc = new SASCodeDocument(parameters);\n    const problem = {\n      lineNumber: 72,\n      startColumn: 2,\n      endColumn: 57,\n      message:\n        \"WARNING: Data set WORK.UNIVOUT was not replaced because new file is incomplete.\",\n      type: \"warning\",\n    };\n    const problemLocationInRawCode = await sasCodeDoc.getLocationInRawCode(\n      problem,\n      codeLinesInLog,\n    );\n    assert.equal(problemLocationInRawCode.lineNumber, 66);\n  });\n});\n\nconst codeLinesInLog = [\n  \"1    /** LOG_START_INDICATOR **/\",\n  \"2    title;footnote;ods _all_ close;\",\n  \"3    ods graphics on;\",\n  \"4    ods html5(id=vscode) style=Ignite options(bitmap_mode='inline' svg_mode='inline');\",\n  \"5    %let _SASPROGRAMFILE = %nrquote(%nrstr(c:\\\\SAS\\\\Workspace\\\\SAS-EXTENSION\\\\TestData\\\\samples\\\\temp.sas));\",\n  \"6    \",\n  \"7    \",\n  \"8    /* I am comment */\",\n  \"9    options ls=72;\",\n  \"10   \",\n  \"11   data pf70 pm70 pf80 pm80;\",\n  \"12       input state $ pop_f70 pop_m70 pop_f80 pop_m80 @@;\",\n  \"13       drop pop_m70 pop_f70 pop_m80 pop_f80;\",\n  \"14       decade= 70;\",\n  \"15       sex= 'Female'\",\n  \"16       pop= pop_f70;  output pf70;\",\n  \"17       sex= 'Male';\",\n  \"18       pop= pop_m70;  output pm70;\",\n  \"19   \",\n  \"20       decade= 80;\",\n  \"21       pop= pop_m80;  output pm80;\",\n  \"22       sex= 'Female';\",\n  \"23       pop= pop_f80;  output pf80;\",\n  \"24       decade= 70;\",\n  \"25       sex= 'Female'\",\n  \"26       pop= pop_f70;  output pf70;\",\n  \"27       sex= 'Male';\",\n  \"28       pop= pop_m70;  output pm70;\",\n  \"29       decade= 80;\",\n  \"30       pop= pop_m80;  output pm80;\",\n  \"31       sex= 'Female';\",\n  \"32       pop= pop_f80;  output pf80;\",\n  \"33       cards;\",\n  \"61   ;\",\n  \"62   \",\n  \"63   data popstate;\",\n  \"64       set pf70 pm70 pf80 pm80;\",\n  \"65       label pop= 'Census Population In Millions';\",\n  \"66   title 'The SAS System';\",\n  \"67   \",\n  \"68   proc univariate data=popstate freq plot normal;\",\n  \"69       var2 pop;\",\n  \"70       id state;\",\n  \"71       by decade sex;\",\n  \"72       output out= univout mean= popnmean median= popn50\",\n  \"73           pctlpre= pop_  pctlpts= 50, 95 to 100 by 2.5;\",\n  \"74   \",\n  \"75   proc print data= univout;\",\n  \"76       title 'Output Dataset From PROC UNIVARIATE';\",\n  \"77       format popn50 pop_50 pop_95 pop_97_5 pop_100 best8.;\",\n  \"78   \",\n  `79   ;*';*\";*/;run;`,\n  \"80   \",\n];\n"
  },
  {
    "path": "client/test/components/util/SASCodeDocumentHelper.test.ts",
    "content": "import * as vscode from \"vscode\";\n\nimport { assert } from \"chai\";\nimport sinon from \"sinon\";\n\nimport { profileConfig } from \"../../../src/commands/profile\";\nimport { ConnectionType } from \"../../../src/components/profile\";\nimport { getCodeDocumentConstructionParameters } from \"../../../src/components/utils/SASCodeDocumentHelper\";\n\ndescribe(\"sas code document helper\", () => {\n  describe(\"getCodeDocumentConstructionParameters\", () => {\n    let getConfigurationStub: sinon.SinonStub;\n    let colorThemeStub: sinon.SinonStub;\n    let htmlStyle = \"(auto)\";\n    const htmlCustomStyle = { dark: \"MyCustomDarkStyle\" };\n\n    beforeEach(() => {\n      getConfigurationStub = sinon.stub(vscode.workspace, \"getConfiguration\");\n      getConfigurationStub.withArgs(\"SAS\").returns({\n        get: (key: string) => {\n          if (key === \"results.html.style\") {\n            return htmlStyle;\n          }\n          if (key === \"results.html.custom.style\") {\n            return htmlCustomStyle;\n          }\n          return undefined;\n        },\n      });\n      colorThemeStub = sinon\n        .stub(vscode.window, \"activeColorTheme\")\n        .value({ kind: vscode.ColorThemeKind.Dark });\n      profileConfig.getActiveProfileDetail = () => ({\n        name: \"mock\",\n        profile: {\n          connectionType: ConnectionType.Rest,\n          endpoint: \"http://example.com\",\n        },\n      });\n    });\n\n    afterEach(() => {\n      getConfigurationStub.restore();\n      colorThemeStub.restore();\n    });\n\n    const mockTextDocument = {\n      languageId: \"sas\",\n      getText: function () {\n        return \"data _null_; run;\";\n      },\n      uri: vscode.Uri.file(\"/fake/path/test.sas\"),\n      fileName: \"/fake/path/test.sas\",\n      lineCount: 1,\n      lineAt: function (lineOrPos: number | vscode.Position = 0) {\n        const lineNumber =\n          typeof lineOrPos === \"number\" ? lineOrPos : lineOrPos.line;\n        return {\n          lineNumber,\n          text: \"data _null_; run;\",\n          range: new vscode.Range(lineNumber, 0, lineNumber, 16),\n          rangeIncludingLineBreak: new vscode.Range(\n            lineNumber,\n            0,\n            lineNumber,\n            17,\n          ),\n          firstNonWhitespaceCharacterIndex: 0,\n          isEmptyOrWhitespace: false,\n        };\n      },\n      isUntitled: false,\n      version: 1,\n      isDirty: false,\n      isClosed: false,\n      save: async () => true,\n      eol: 1,\n      offsetAt: () => 0,\n      positionAt: () => new vscode.Position(0, 0),\n      validateRange: (range: vscode.Range) => range,\n      validatePosition: (pos: vscode.Position) => pos,\n      getWordRangeAtPosition: () => undefined,\n    };\n\n    it(\"should construct parameters with default values\", () => {\n      const params = getCodeDocumentConstructionParameters(mockTextDocument);\n      assert.equal(params.languageId, \"sas\");\n      assert.equal(params.code, \"data _null_; run;\");\n      assert.equal(\n        params.uri,\n        vscode.Uri.file(\"/fake/path/test.sas\").toString(),\n      );\n      assert.equal(params.fileName, \"/fake/path/test.sas\");\n    });\n\n    it(\"should use custom style from results.html.custom.style for dark theme\", () => {\n      const params = getCodeDocumentConstructionParameters(mockTextDocument);\n      // the custom style should be applied\n      assert.equal(params.htmlStyle, \"MyCustomDarkStyle\");\n    });\n\n    it(\"should not use custom style from results.html.custom.style for dark theme when not defined\", () => {\n      htmlCustomStyle.dark = undefined;\n      const params = getCodeDocumentConstructionParameters(mockTextDocument);\n      // the default Ignite style should be used\n      assert.equal(params.htmlStyle, \"Ignite\");\n    });\n\n    it(\"should use no style when results.html.style is '(server default)'\", () => {\n      htmlStyle = \"(server default)\";\n      const params = getCodeDocumentConstructionParameters(mockTextDocument);\n      // no style should be applied\n      assert.equal(params.htmlStyle, \"\");\n    });\n\n    it(\"should use results.html.style when results.html.style is neither '(auto)' nor '(server default)'\", () => {\n      htmlStyle = \"HTMLBlue\";\n      const params = getCodeDocumentConstructionParameters(mockTextDocument);\n      // the results.html.style should be applied\n      assert.equal(params.htmlStyle, \"HTMLBlue\");\n    });\n  });\n});\n"
  },
  {
    "path": "client/test/connection/itc/Coderunner.test.ts",
    "content": "import { expect } from \"chai\";\nimport sinon from \"sinon\";\n\nimport * as connection from \"../../../src/connection\";\nimport { runCode } from \"../../../src/connection/itc/CodeRunner\";\nimport { Session } from \"../../../src/connection/session\";\n\nexport class MockSession extends Session {\n  protected _logFn;\n  private _runMap: Record<string, string> | undefined;\n  public sasSystemLine = \"The Sas System\";\n\n  public set onSessionLogFn(logFn) {\n    this._logFn = logFn;\n  }\n  public set onExecutionLogFn(logFn) {\n    this._logFn = logFn;\n  }\n\n  public constructor(runMap?: Record<string, string>) {\n    super();\n    this._runMap = runMap;\n  }\n\n  protected async establishConnection(): Promise<void> {\n    return;\n  }\n\n  protected async _run(codeString: string): Promise<connection.RunResult> {\n    if (this._runMap) {\n      const [, result] = Object.entries(this._runMap).find(([code]) =>\n        codeString.includes(code),\n      );\n      if (result) {\n        this._logFn(\n          result.split(\"\\n\").map((line) => ({ line, type: \"normal\" })),\n        );\n        return;\n      }\n    }\n\n    this._logFn(\n      codeString.split(\"\\n\").map((line) => ({ line, type: \"normal\" })),\n    );\n    return {};\n  }\n\n  protected _close(): void | Promise<void> {}\n\n  public sessionId?(): string {\n    return \"\";\n  }\n}\n\ndescribe(\"CodeRunner tests\", () => {\n  let sessionStub;\n  before(() => {\n    sessionStub = sinon.stub(connection, \"getSession\");\n    sessionStub.returns(new MockSession());\n  });\n\n  after(() => {\n    sessionStub.restore();\n  });\n\n  it(\"parses output between start tag and end tag\", async () => {\n    const codeString = `\n// prefixed sas code\n<CodeTag>Test Code</CodeTag>\n// postfixed sas code\n    `;\n\n    const results = await runCode(codeString, \"<CodeTag>\", \"</CodeTag>\");\n\n    expect(results).to.equal(\"Test Code\");\n  });\n\n  it(\"returns all output when no tags are specifed\", async () => {\n    const codeString = `\n// prefixed sas code\n<CodeTag>Test Code</CodeTag>\n// postfixed sas code\n    `;\n\n    const results = await runCode(codeString);\n\n    expect(results).to.equal(\n      codeString\n        .split(\"\\n\")\n        .map((l) => l.trim())\n        .join(\"\"),\n    );\n  });\n});\n"
  },
  {
    "path": "client/test/connection/itc/ItcLibraryAdapter.test.ts",
    "content": "import { expect } from \"chai\";\nimport proxyquire from \"proxyquire\";\nimport sinon from \"sinon\";\n\nimport {\n  LibraryItem,\n  TableData,\n} from \"../../../src/components/LibraryNavigator/types\";\nimport * as connection from \"../../../src/connection\";\nimport { MockSession } from \"./Coderunner.test\";\n\nconst mockOutput = () => ({\n  \"SELECT COUNT(1)\": `<Count>1234</Count>`,\n});\n\nclass DatasetMockSession extends MockSession {\n  private outputs: Array<string>;\n  private calls = 0;\n  public constructor(outputs: Array<string>) {\n    super();\n    this.outputs = outputs;\n  }\n  protected async execute(): Promise<void> {\n    const output = `<mocked-uuid>${this.outputs[this.calls]}</mocked-uuid>`;\n    this.calls += 1;\n    this._logFn(output.split(\"\\n\").map((line) => ({ line, type: \"normal\" })));\n  }\n}\ndescribe(\"ItcLibraryAdapter tests\", () => {\n  let now;\n  let clock;\n  let sessionStub;\n  let ItcLibraryAdapter;\n  beforeEach(() => {\n    now = new Date();\n    clock = sinon.useFakeTimers(now.getTime());\n    sessionStub = sinon.stub(connection, \"getSession\");\n    sessionStub.returns(new MockSession(mockOutput()));\n    const codeRunner = proxyquire(\"../../../src/connection/itc/CodeRunner\", {\n      uuid: {\n        v4: () => \"mocked-uuid\",\n      },\n    });\n    ItcLibraryAdapter = proxyquire(\n      \"../../../src/connection/itc/ItcLibraryAdapter\",\n      {\n        \"./CodeRunner\": codeRunner,\n      },\n    ).default;\n  });\n\n  afterEach(() => {\n    clock.restore();\n    sessionStub.restore();\n  });\n\n  it(\"fetches columns\", async () => {\n    const item: LibraryItem = {\n      uid: \"test\",\n      type: \"table\",\n      id: \"test\",\n      name: \"test\",\n      readOnly: true,\n    };\n\n    const libraryAdapter = new ItcLibraryAdapter();\n    const expectedColumns = [\n      {\n        name: \"first\",\n        type: \"char\",\n        format: \"$8.\",\n        index: 1,\n      },\n      {\n        name: \"date\",\n        type: \"date\",\n        format: \"YYMMDD10.\",\n        index: 2,\n      },\n    ];\n\n    const mockOutput = JSON.stringify([\n      { index: 1, name: \"first\", type: \"char\", format: \"$8.\" },\n      { index: 2, name: \"date\", type: \"num\", format: \"YYMMDD10.\" },\n    ]);\n\n    sessionStub.returns(new DatasetMockSession([mockOutput]));\n\n    const response = await libraryAdapter.getColumns(item);\n\n    expect(response.items).to.eql(expectedColumns);\n    expect(response.count).to.equal(-1);\n  });\n\n  it(\"loads libraries\", async () => {\n    const expectedLibraries: LibraryItem[] = [\n      {\n        uid: \"test1\",\n        id: \"test1\",\n        name: \"test1\",\n        type: \"library\",\n        readOnly: true,\n      },\n      {\n        uid: \"test2\",\n        id: \"test2\",\n        name: \"test2\",\n        type: \"library\",\n        readOnly: false,\n      },\n    ];\n\n    const mockOutput = JSON.stringify({\n      libraries: [\n        [\"test1\", \"yes\"],\n        [\"test2\", \"no\"],\n      ],\n      count: 2,\n    });\n\n    sessionStub.returns(new DatasetMockSession([mockOutput]));\n\n    const libraryAdapter = new ItcLibraryAdapter();\n    const response = await libraryAdapter.getLibraries();\n\n    expect(response.items).to.eql(expectedLibraries);\n    expect(response.count).to.equal(-1);\n  });\n\n  it(\"loads table data\", async () => {\n    const item: LibraryItem = {\n      uid: \"test\",\n      type: \"table\",\n      id: \"test\",\n      name: \"TEST\",\n      readOnly: true,\n    };\n\n    const mockOutput = JSON.stringify({\n      rows: [\n        [\"Peter\", \"Parker\"],\n        [\"Tony\", \"Stark\"],\n      ],\n      count: 1234,\n    });\n\n    sessionStub.returns(new DatasetMockSession([mockOutput]));\n\n    const libraryAdapter = new ItcLibraryAdapter();\n    const expectedTableData: TableData = {\n      rows: [\n        { cells: [\"1\", \"Peter\", \"Parker\"] },\n        { cells: [\"2\", \"Tony\", \"Stark\"] },\n      ],\n      count: 1234,\n    };\n\n    const tableData = await libraryAdapter.getRows(item, 0, 100, []);\n\n    expect(tableData).to.eql(expectedTableData);\n  });\n\n  it(\"loads table data for csv output\", async () => {\n    const item: LibraryItem = {\n      uid: \"test\",\n      type: \"table\",\n      id: \"test\",\n      name: \"TEST\",\n      readOnly: true,\n    };\n\n    const mockOutputColumn = JSON.stringify([\n      { index: 1, name: \"first\", type: \"char\", format: \"$8.\" },\n      { index: 2, name: \"last\", type: \"num\", format: \"YYMMDD10.\" },\n    ]);\n\n    const mockOutputData = JSON.stringify({\n      rows: [\n        [\"Peter\", \"Parker\"],\n        [\"Tony\", \"Stark\"],\n      ],\n      count: 1234,\n    });\n\n    sessionStub.returns(\n      new DatasetMockSession([mockOutputColumn, mockOutputData]),\n    );\n\n    const libraryAdapter = new ItcLibraryAdapter();\n    const expectedTableData: TableData = {\n      rows: [\n        { columns: [\"INDEX\", \"first\", \"last\"] },\n        { cells: [\"1\", \"Peter\", \"Parker\"] },\n        { cells: [\"2\", \"Tony\", \"Stark\"] },\n      ],\n      count: -1,\n    };\n\n    const tableData = await libraryAdapter.getRowsAsCSV(item, 0, 100);\n\n    expect(tableData).to.eql(expectedTableData);\n  });\n\n  it(\"gets table row count\", async () => {\n    const item: LibraryItem = {\n      uid: \"test\",\n      type: \"table\",\n      id: \"test\",\n      name: \"TEST\",\n      readOnly: true,\n    };\n    const libraryAdapter = new ItcLibraryAdapter();\n\n    const response = await libraryAdapter.getTableRowCount(item);\n    expect(response.rowCount).to.equal(1234);\n  });\n\n  it(\"loads a list of tables\", async () => {\n    const library: LibraryItem = {\n      uid: \"lib\",\n      id: \"lib\",\n      name: \"lib\",\n      type: \"library\",\n      readOnly: true,\n    };\n\n    const mockOutput = JSON.stringify({\n      tables: [\"test1\", \"test2\"],\n      count: 2,\n    });\n\n    sessionStub.returns(new DatasetMockSession([mockOutput]));\n\n    const expectedTables: LibraryItem[] = [\n      {\n        library: \"lib\",\n        uid: \"lib.test1\",\n        id: \"test1\",\n        name: \"test1\",\n        type: \"table\",\n        readOnly: true,\n      },\n      {\n        library: \"lib\",\n        uid: \"lib.test2\",\n        id: \"test2\",\n        name: \"test2\",\n        type: \"table\",\n        readOnly: true,\n      },\n    ];\n\n    const libraryAdapter = new ItcLibraryAdapter();\n    const response = await libraryAdapter.getTables(library);\n\n    expect(response.items).to.eql(expectedTables);\n    expect(response.count).to.equal(-1);\n  });\n});\n"
  },
  {
    "path": "client/test/connection/itc/index.test.ts",
    "content": "import * as vscode from \"vscode\";\n\nimport { expect } from \"chai\";\nimport proc from \"child_process\";\nimport { unlinkSync, writeFileSync } from \"fs\";\nimport { join } from \"path\";\nimport { SinonSandbox, SinonStub, createSandbox } from \"sinon\";\nimport { stubInterface } from \"ts-sinon\";\nimport { v4 } from \"uuid\";\n\nimport { setContext } from \"../../../src/components/ExtensionContext\";\nimport { getSession } from \"../../../src/connection/itc\";\nimport * as scripts from \"../../../src/connection/itc/script\";\nimport { LineCodes, Tags } from \"../../../src/connection/itc/script/env.json\";\nimport { ITCProtocol } from \"../../../src/connection/itc/types\";\nimport { Session } from \"../../../src/connection/session\";\nimport { extensionContext } from \"../../../src/node/extension\";\n\ndescribe(\"ITC connection\", () => {\n  let sandbox: SinonSandbox;\n  let spawnStub: SinonStub;\n  let stdoutStub: SinonStub;\n  let stdoutWriteStub: SinonStub;\n  let stderrStub: SinonStub;\n  let stdinStub: SinonStub;\n  let killStub: SinonStub;\n  let endStub: SinonStub;\n  let session: Session;\n  let onDataCallback;\n\n  beforeEach(() => {\n    sandbox = createSandbox({});\n\n    // For these tests, we don't particularly care about the script\n    // contents, but rather care about how our ts code interacts with\n    // the script.\n    sandbox.stub(scripts, \"getScript\");\n    spawnStub = sandbox.stub(proc, \"spawn\");\n\n    stdoutStub = sandbox.stub();\n    stdoutWriteStub = sandbox.stub();\n    stderrStub = sandbox.stub();\n    stdinStub = sandbox.stub();\n    endStub = sandbox.stub();\n    killStub = sandbox.stub();\n\n    spawnStub.returns({\n      stdout: { on: stdoutStub, write: stdoutWriteStub },\n      stderr: { on: stderrStub },\n      stdin: { write: stdinStub, end: endStub },\n      on: sandbox.stub(),\n      kill: killStub,\n    });\n\n    stdoutStub.callsFake((event, callback) => {\n      if (event === \"data\") {\n        //save off the callback to simulate stdout events\n        onDataCallback = callback;\n      }\n    });\n    const config = {\n      sasOptions: [\"-PAGESIZE=MAX\"],\n      host: \"localhost\",\n    };\n\n    const secretStore = stubInterface<vscode.SecretStorage>();\n    const stubbedExtensionContext: vscode.ExtensionContext = {\n      ...extensionContext,\n      globalStorageUri: vscode.Uri.from({ scheme: \"file\", path: __dirname }),\n      secrets: secretStore,\n    };\n\n    setContext(stubbedExtensionContext);\n\n    session = getSession(config, ITCProtocol.COM);\n    session.onExecutionLogFn = () => {\n      return;\n    };\n  });\n\n  afterEach(() => {\n    sandbox.restore();\n  });\n\n  describe(\"setup\", () => {\n    afterEach(async () => {\n      await session.close();\n    });\n    it(\"creates a well-formed local session\", async () => {\n      const setupPromise = session.setup();\n\n      onDataCallback(Buffer.from(`${Tags.WorkDirStartTag}`));\n      onDataCallback(Buffer.from(`/work/dir`));\n      onDataCallback(Buffer.from(`${Tags.WorkDirEndTag}`));\n\n      await setupPromise;\n\n      expect(\n        spawnStub.calledWith(\n          \"chcp 65001 >NUL & powershell.exe -NonInteractive -NoProfile -Command -\",\n        ),\n      ).to.be.true;\n\n      //using args here allows use of deep equal, that generates a concise diff in the test output on failures\n      expect(stdinStub.args[1][0]).to.deep.equal(\n        \"$runner = New-Object -TypeName SASRunner\\n\",\n      );\n\n      expect(stdinStub.args[2][0]).to.deep.equal(\n        `$profileHost = \"localhost\"\\n`,\n      );\n      expect(stdinStub.args[3][0]).to.deep.equal(`$port = 0\\n`);\n      expect(stdinStub.args[4][0]).to.deep.equal(`$protocol = 0\\n`);\n      expect(stdinStub.args[5][0]).to.deep.equal(`$username = \"\"\\n`);\n      expect(stdinStub.args[6][0]).to.deep.equal(`$password = \"\"\\n`);\n      expect(stdinStub.args[7][0]).to.deep.equal(`$serverName = \"ITC Local\"\\n`);\n      expect(stdinStub.args[8][0]).to.deep.equal(`$displayLang = \"en\"\\n`);\n      expect(stdinStub.args[9][0]).to.deep.equal(\n        \"$runner.Setup($profileHost,$username,$password,$port,$protocol,$serverName,$displayLang)\\n\",\n      );\n      expect(stdinStub.args[10][0]).to.deep.equal(\n        \"$runner.ResolveSystemVars()\\n\",\n      );\n\n      expect(stdinStub.args[11][0]).to.deep.equal(\n        `$sasOpts=@(\"-PAGESIZE=MAX\")\\n`,\n      );\n      expect(stdinStub.args[12][0]).to.deep.equal(\n        `$runner.SetOptions($sasOpts)\\n`,\n      );\n    });\n  });\n\n  describe(\"run\", () => {\n    const html5 = '<div id=\"IDX\">';\n    const htmlLocation = v4();\n    const tempHtmlPath = join(__dirname, `${htmlLocation}.htm`);\n    beforeEach(async () => {\n      writeFileSync(tempHtmlPath, html5);\n      const setupPromise = session.setup();\n      onDataCallback(Buffer.from(`${Tags.WorkDirStartTag}`));\n      onDataCallback(Buffer.from(`/work/dir`));\n      onDataCallback(Buffer.from(`${Tags.WorkDirEndTag}`));\n      await setupPromise;\n    });\n    afterEach(() => {\n      try {\n        unlinkSync(tempHtmlPath);\n      } catch (e) {\n        // Intentionally blank\n      }\n    });\n    it(\"calls run function from script\", async () => {\n      const runPromise = session.run(\n        `ods html5(id=vscode);\\nproc print data=sashelp.cars;\\nrun;`,\n      );\n\n      //simulate log message for body file\n      onDataCallback(Buffer.from(`ods html5 body=\"${htmlLocation}.htm\"`));\n      //simulate end of submission\n      onDataCallback(Buffer.from(LineCodes.RunEndCode));\n      onDataCallback(Buffer.from(LineCodes.ResultsFetchedCode));\n\n      const runResult = await runPromise;\n      expect(runResult.html5).to.equal(html5);\n      expect(runResult.title).to.equal(\"Result\");\n\n      expect(stdinStub.args[13][0]).to.deep.equal(\n        `$code=\n@'\nods html5(id=vscode) path=\"/work/dir\" ;\n'@+[environment]::NewLine+@'\nproc print data=sashelp.cars;\n'@+[environment]::NewLine+@'\nrun;\n'@+[environment]::NewLine+@'\n%put --vscode-sas-extension-submit-end--;\n'@\n`,\n      );\n\n      expect(stdinStub.args[14][0]).to.deep.equal(`$runner.Run($code)\\n`);\n      expect(stdinStub.args[15][0]).to.contain(`$outputFile = \"${tempHtmlPath}\"\n$runner.FetchResultsFile($filePath, $outputFile)\n`);\n    });\n  });\n\n  describe(\"close\", () => {\n    beforeEach(async () => {\n      const setupPromise = session.setup();\n      onDataCallback(Buffer.from(`${Tags.WorkDirStartTag}`));\n      onDataCallback(Buffer.from(`/work/dir`));\n      onDataCallback(Buffer.from(`${Tags.WorkDirEndTag}`));\n      await setupPromise;\n    });\n\n    it(\"closes session gracefully\", async () => {\n      const closePromise = session.close();\n\n      //we have a lifecycle issue here that currently prevents proper use of expects.\n      //the close method sets the child process to undefined which resets the stub state.\n      //as a result, the spy call history gets lost. For now just make sure we didnt reject.\n      await closePromise;\n    });\n  });\n});\n"
  },
  {
    "path": "client/test/connection/itc/util.test.ts",
    "content": "import { expect } from \"chai\";\n\nimport { escapePowershellString } from \"../../../src/connection/itc/util\";\n\ndescribe(\"ITC util test\", () => {\n  it(\"escapePowershellString - escapes powershell special characters\", () => {\n    const input = \"P@$${}[]()\\\"'%{}rd\";\n    const expectedOutput = \"P@`$`$`{`}`[`]`(`)`\\\"`'`%`{`}rd\";\n\n    expect(escapePowershellString(input)).to.equal(expectedOutput);\n  });\n});\n"
  },
  {
    "path": "client/test/connection/rest/index.test.ts",
    "content": "// Copyright © 2022-2024, SAS Institute Inc., Cary, NC, USA.  All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { expect } from \"chai\";\nimport { SinonSandbox, createSandbox } from \"sinon\";\n\n// Test the baseDirectory argument handling logic in isolation\n// This mirrors the logic from RestSession._run without requiring VS Code APIs\n\ninterface RunArgs {\n  baseDirectory?: string;\n}\n\nfunction processRunArgs(args: unknown[]): Record<string, string> {\n  const variables: Record<string, string> = {};\n\n  // If baseDirectory is passed in, use it as a sas variable\n  const runArgs = (args[0] as RunArgs) || {};\n  const basePath = runArgs.baseDirectory || undefined;\n  if (basePath) {\n    variables._SASPROGRAMDIR = basePath;\n  }\n\n  return variables;\n}\n\ndescribe(\"REST Session _run\", () => {\n  let sandbox: SinonSandbox;\n\n  beforeEach(() => {\n    sandbox = createSandbox({});\n  });\n\n  afterEach(() => {\n    sandbox.restore();\n  });\n\n  describe(\"baseDirectory argument handling\", () => {\n    it(\"should set _SASPROGRAMDIR variable when baseDirectory is provided\", () => {\n      const baseDirectory = \"/home/user/projects/sas\";\n\n      const variables = processRunArgs([{ baseDirectory }]);\n\n      expect(variables).to.deep.equal({\n        _SASPROGRAMDIR: baseDirectory,\n      });\n    });\n\n    it(\"should not set _SASPROGRAMDIR variable when baseDirectory is not provided\", () => {\n      const variables = processRunArgs([]);\n\n      expect(variables).to.deep.equal({});\n    });\n\n    it(\"should not set _SASPROGRAMDIR variable when args object is empty\", () => {\n      const variables = processRunArgs([{}]);\n\n      expect(variables).to.deep.equal({});\n    });\n\n    it(\"should not set _SASPROGRAMDIR variable when baseDirectory is undefined\", () => {\n      const variables = processRunArgs([{ baseDirectory: undefined }]);\n\n      expect(variables).to.deep.equal({});\n    });\n\n    it(\"should not set _SASPROGRAMDIR variable when baseDirectory is empty string\", () => {\n      const variables = processRunArgs([{ baseDirectory: \"\" }]);\n\n      expect(variables).to.deep.equal({});\n    });\n\n    it(\"should handle Windows-style paths for baseDirectory\", () => {\n      const baseDirectory = \"C:\\\\Users\\\\user\\\\projects\\\\sas\";\n\n      const variables = processRunArgs([{ baseDirectory }]);\n\n      expect(variables).to.deep.equal({\n        _SASPROGRAMDIR: baseDirectory,\n      });\n    });\n\n    it(\"should handle Unix-style paths for baseDirectory\", () => {\n      const baseDirectory = \"/usr/local/sas/programs\";\n\n      const variables = processRunArgs([{ baseDirectory }]);\n\n      expect(variables).to.deep.equal({\n        _SASPROGRAMDIR: baseDirectory,\n      });\n    });\n  });\n});\n"
  },
  {
    "path": "client/test/connection/session.test.ts",
    "content": "import { expect } from \"chai\";\nimport * as sinon from \"sinon\";\n\nimport { RunResult } from \"../../src/connection\";\nimport { Session } from \"../../src/connection/session\";\n\nclass MockSession extends Session {\n  constructor(protected readonly connectionMock: () => void) {\n    super();\n  }\n  protected async establishConnection(): Promise<void> {\n    return new Promise((resolve) => {\n      setTimeout(() => {\n        this.connectionMock();\n        resolve();\n      }, 100);\n    });\n  }\n  protected _run(code: string, ...args: any[]): Promise<RunResult> {\n    throw new Error(\"Method not implemented.\");\n  }\n  protected _close(): Promise<void> | void {}\n  sessionId?(): string | undefined {\n    return;\n  }\n}\n\ndescribe(\"Session test\", () => {\n  it(\"triggers establish connection only once\", async () => {\n    const mockConnectionFn = sinon.mock();\n    const mockSession = new MockSession(mockConnectionFn);\n    const setupPromises: Promise<void>[] = Array(10)\n      .fill(true)\n      .map(() => mockSession.setup());\n\n    // Wait for everything to wrap up\n    await Promise.all(setupPromises);\n\n    // We called setup 10 times, but we expect to have only called establishConnection\n    // once.\n    expect(mockConnectionFn.callCount).to.equal(1);\n  });\n});\n"
  },
  {
    "path": "client/test/connection/ssh/auth.test.ts",
    "content": "import { expect } from \"chai\";\nimport * as fs from \"fs\";\nimport { KeyboardInteractiveAuthMethod, ParsedKey } from \"ssh2\";\nimport sinon, { stubInterface } from \"ts-sinon\";\n\nimport {\n  AuthHandler,\n  AuthPresenter,\n  KeyParser,\n} from \"../../../src/connection/ssh/auth\";\n\ndescribe(\"ssh connection auth handler\", () => {\n  let authHandler: AuthHandler;\n\n  describe(\"sshAgentAuth\", () => {\n    beforeEach(() => {\n      process.env.SSH_AUTH_SOCK = \"socketPath\";\n    });\n\n    it(\"pass socket path to the callback\", async () => {\n      const username = \"username\";\n      const socketPath = \"socketPath\";\n\n      const presenter = stubInterface<AuthPresenter>();\n      authHandler = new AuthHandler(presenter);\n\n      const agentPayload = authHandler.sshAgentAuth(username);\n\n      expect(agentPayload).to.deep.equal({\n        type: \"agent\",\n        agent: socketPath,\n        username: username,\n      });\n    });\n  });\n\n  describe(\"privateKeyAuth\", () => {\n    let sandbox: sinon.SinonSandbox;\n\n    beforeEach(() => {\n      sandbox = sinon.createSandbox();\n    });\n    afterEach(() => {\n      sandbox.restore();\n    });\n\n    it(\"should pass the key contents and passphrase to the callback for an encrypted key\", async () => {\n      const username = \"username\";\n      const passphrase = \"passphrase\";\n      const privateKeyFilePath = \"privateKeyFilePath\";\n\n      const presenter = stubInterface<AuthPresenter>();\n      const keyParser = stubInterface<KeyParser>();\n\n      const key = stubInterface<ParsedKey>();\n      keyParser.parseKey\n        .withArgs(privateKeyFilePath)\n        .returns(\n          new Error(\n            \"Encrypted private OpenSSH key detected, but no passphrase given\",\n          ),\n        );\n      keyParser.parseKey.withArgs(privateKeyFilePath, passphrase).returns(key);\n      presenter.presentPassphrasePrompt.resolves(passphrase);\n\n      authHandler = new AuthHandler(presenter, keyParser);\n\n      const pkPayload = await authHandler.privateKeyAuth(\n        privateKeyFilePath,\n        username,\n      );\n\n      expect(pkPayload).to.deep.equal({\n        type: \"publickey\",\n        key: key,\n        passphrase: passphrase,\n        username: username,\n      });\n    });\n\n    it(\"should pass the key contents to the callback for an unencrypted key\", async () => {\n      const username = \"username\";\n      const privateKeyFilePath = \"privateKeyFilePath\";\n\n      sandbox\n        .stub(fs, \"readFileSync\")\n        .callsFake(() => Buffer.from(\"keyContents\"));\n\n      const presenter = stubInterface<AuthPresenter>();\n      const keyParser = stubInterface<KeyParser>();\n\n      const key = stubInterface<ParsedKey>();\n      keyParser.parseKey.returns(key);\n      authHandler = new AuthHandler(presenter, keyParser);\n\n      const pkPayload = await authHandler.privateKeyAuth(\n        privateKeyFilePath,\n        username,\n      );\n      expect(pkPayload).to.deep.equal({\n        type: \"publickey\",\n        key: key,\n        username: username,\n      });\n    });\n  });\n\n  describe(\"passwordAuth\", () => {\n    it(\"should pass the password to the callback\", async () => {\n      const username = \"username\";\n      const pw = \"password\";\n\n      const presenter = stubInterface<AuthPresenter>();\n      presenter.presentPasswordPrompt.resolves(pw);\n\n      authHandler = new AuthHandler(presenter);\n\n      const pwPayload = await authHandler.passwordAuth(username);\n\n      expect(pwPayload).to.deep.equal({\n        type: \"password\",\n        password: pw,\n        username: username,\n      });\n    });\n  });\n\n  describe(\"keyboardAuth\", () => {\n    it(\"should present input prompts and pass the answers to the callback\", async () => {\n      const promptCbStub = (answers: string[]) => {\n        expect(answers).to.deep.equal([\"answer1\", \"answer2\"]);\n      };\n      const cb = (auth: KeyboardInteractiveAuthMethod) => {\n        expect(auth.type).to.equal(\"keyboard-interactive\");\n        expect(auth.username).to.equal(\"username\");\n        auth.prompt(\n          \"name\",\n          \"instruction\",\n          \"lang\",\n          [{ prompt: \"question1\" }, { prompt: \"question2\" }],\n          promptCbStub,\n        );\n      };\n\n      const answers = [\"answer1\", \"answer2\"];\n      const presenter = stubInterface<AuthPresenter>();\n      presenter.presentMultiplePrompts.resolves(answers);\n\n      authHandler = new AuthHandler(presenter);\n\n      const kbPayload = await authHandler.keyboardInteractiveAuth(\"username\");\n      cb(kbPayload);\n    });\n  });\n});\n"
  },
  {
    "path": "client/test/connection/ssh/index.test.ts",
    "content": "import { assert, expect } from \"chai\";\nimport * as sinon from \"sinon\";\nimport { Client, ClientChannel } from \"ssh2\";\nimport { StubbedInstance, stubInterface } from \"ts-sinon\";\n\nimport { SSHSession, getSession } from \"../../../src/connection/ssh\";\nimport { assertThrowsAsync } from \"../../utils\";\n\ndescribe(\"ssh connection\", () => {\n  const seconds = 1000;\n  let sandbox: sinon.SinonSandbox;\n  let session: SSHSession;\n  let streamOnStub;\n\n  beforeEach(() => {\n    sandbox = sinon.createSandbox({\n      useFakeTimers: { shouldClearNativeTimers: true },\n    });\n    sandbox.clock;\n\n    const config = {\n      host: \"host\",\n      username: \"username\",\n      port: 22,\n      saspath: \"/path/to/sas_u8\",\n      sasOptions: [],\n      agentSocket: \"/agent/socket\",\n    };\n\n    session = new SSHSession(config);\n    session.onExecutionLogFn = () => {\n      return;\n    };\n  });\n\n  afterEach(() => {\n    sandbox.restore();\n    sandbox.clock.restore();\n  });\n\n  describe(\"setup\", () => {\n    it(\"calls connect with correct params\", async () => {\n      const config = {\n        host: \"host\",\n        username: \"username\",\n        port: 22,\n        saspath: \"/path/to/sas_u8\",\n        sasOptions: [],\n      };\n\n      sandbox.stub(Client.prototype, \"connect\").callsFake(function () {\n        this.emit(\"ready\");\n        return undefined;\n      });\n\n      sandbox.stub(Client.prototype, \"shell\").callsArgWithAsync(0, null, {\n        on: (streamOnStub = sandbox.stub()),\n        write: sandbox.stub(),\n      });\n\n      sandbox.stub(Client.prototype, \"end\");\n\n      const sshStreamCloseStub = sandbox.stub();\n      streamOnStub.withArgs(\"close\").callsArgWithAsync(1).returns({\n        close: sshStreamCloseStub,\n      });\n\n      session = new SSHSession(config);\n\n      streamOnStub.callsFake((event, callback) => {\n        if (event === \"data\") {\n          //simulate a question mark to resolve the promise\n          callback(\"?\");\n        }\n      });\n\n      await session.setup();\n    });\n\n    it(\"rejects on connection error\", async () => {\n      const config = {\n        host: \"host\",\n        username: \"username\",\n        port: 22,\n        saspath: \"/path/to/sas_u8\",\n        sasOptions: [],\n        agentSocket: \"/agent/socket\",\n      };\n\n      sandbox.stub(Client.prototype, \"connect\").callsFake(function () {\n        this.emit(\"error\", new Error(\"SSH Connection Failed\"));\n        return undefined;\n      });\n\n      session = new SSHSession(config);\n      await assertThrowsAsync(async () => {\n        await session.setup();\n      }, \"SSH Connection Failed\");\n    });\n\n    it(\"rejects on shell error\", async () => {\n      const config = {\n        host: \"host\",\n        username: \"username\",\n        port: 22,\n        saspath: \"/path/to/sas_u8\",\n        sasOptions: [],\n        agentSocket: \"/agent/socket\",\n      };\n\n      sandbox.stub(Client.prototype, \"connect\").callsFake(function () {\n        this.emit(\"ready\");\n        return undefined;\n      });\n\n      sandbox.stub(Client.prototype, \"shell\").callsFake((cb) => {\n        cb(new Error(\"Shell Connection Failed\"), null);\n        return this;\n      });\n\n      session = new SSHSession(config);\n\n      await assertThrowsAsync(async () => {\n        await session.setup();\n      }, \"Shell Connection Failed\");\n    });\n  });\n\n  describe(\"run\", () => {\n    let streamStub: StubbedInstance<ClientChannel>;\n    let onDataListener;\n\n    const config = {\n      host: \"host\",\n      username: \"username\",\n      port: 22,\n      saspath: \"/path/to/sas_u8\",\n      sasOptions: [],\n      agentSocket: \"/agent/socket\",\n    };\n\n    const session = new SSHSession(config);\n    session.onExecutionLogFn = () => {\n      return;\n    };\n\n    beforeEach(() => {\n      streamStub = stubInterface<ClientChannel>();\n      sandbox.stub(Client.prototype, \"connect\").callsFake(function () {\n        this.emit(\"ready\");\n        return undefined;\n      });\n\n      sandbox.stub(Client.prototype, \"shell\").callsFake((callback) => {\n        callback(null, streamStub);\n        return this;\n      });\n\n      streamStub.on.callsFake((event, callback) => {\n        if (event === \"data\") {\n          onDataListener = callback;\n          //need to pass a \"?\" to the callback to resolve the promise here\n          onDataListener(\"?\");\n          return this;\n        }\n      });\n    });\n\n    afterEach(() => {\n      streamStub = undefined;\n      onDataListener = undefined;\n    });\n\n    it(\"writes code input to stream\", async () => {\n      let onDataListener;\n      streamStub.on.callsFake((event, callback) => {\n        if (event === \"data\") {\n          onDataListener = callback;\n          //need to pass a \"?\" to the callback to resolve the promise here\n          onDataListener(\"?\");\n          return this;\n        }\n      });\n\n      try {\n        await session.setup();\n      } catch (err) {\n        const error: Error = err;\n        assert.fail(error.message);\n      }\n\n      streamStub.write.callsFake((chunk, cb) => {\n        if (chunk === \"%put --vscode-sas-extension-submit-end--;\\n\") {\n          if (cb) {\n            cb(null);\n          }\n\n          if (onDataListener) {\n            // send back end code to finish running\n            onDataListener(\"--vscode-sas-extension-submit-end--\\n\");\n          }\n        }\n        return true;\n      });\n      await session.run(\"test code\").catch((err) => assert.fail(err));\n\n      expect(streamStub.write.calledWith(\"test code\\n\")).to.be.true;\n      expect(\n        streamStub.write.calledWith(\n          \"%put --vscode-sas-extension-submit-end--;\\n\",\n        ),\n      ).to.be.true;\n    });\n\n    it(\"runs long-running code to completion\", async () => {\n      let onDataListener;\n      streamStub.on.callsFake((event, callback) => {\n        if (event === \"data\") {\n          onDataListener = callback;\n          //need to pass a \"?\" to the callback to resolve the promise here\n          onDataListener(\"?\");\n          return this;\n        }\n      });\n\n      try {\n        await session.setup();\n      } catch (err) {\n        const error: Error = err;\n        assert.fail(error.message);\n      }\n\n      streamStub.write.callsFake((chunk, cb) => {\n        if (chunk === \"%put --vscode-sas-extension-submit-end--;\\n\") {\n          if (cb) {\n            cb(null);\n          }\n\n          if (onDataListener) {\n            //here we define long running as a value that exceeds the timeout values set in the provider\n            sandbox.clock.tick(50 * seconds);\n            // send back end code to finish running\n            onDataListener(\"--vscode-sas-extension-submit-end--\\n\");\n          }\n        }\n        return true;\n      });\n      await session.run(\"test code\").catch((err) => assert.fail(err));\n    });\n  });\n\n  describe(\"close\", () => {\n    let streamStub: StubbedInstance<ClientChannel>;\n    let onDataListener;\n\n    beforeEach(() => {\n      streamStub = stubInterface<ClientChannel>();\n      sandbox.stub(Client.prototype, \"connect\").callsFake(function () {\n        this.emit(\"ready\");\n        return undefined;\n      });\n\n      sandbox.stub(Client.prototype, \"shell\").callsFake((callback) => {\n        callback(null, streamStub);\n        return this;\n      });\n\n      streamStub.on.callsFake((event, callback) => {\n        if (event === \"data\") {\n          onDataListener = callback;\n          //need to pass a \"?\" to the callback to resolve the promise here\n          onDataListener(\"?\");\n          return this;\n        }\n      });\n    });\n\n    afterEach(() => {\n      streamStub = undefined;\n      onDataListener = undefined;\n    });\n\n    it(\"writes closing commands to ssh session\", async () => {\n      streamStub.write.callsFake((chunk, cb) => {\n        if (chunk === \"%put --vscode-sas-extension-submit-end--;\\n\") {\n          if (cb) {\n            cb(null);\n          }\n\n          if (onDataListener) {\n            //need to pass a \"?\" to the callback to resolve the promise here\n            onDataListener(\"?\");\n          }\n        }\n        return true;\n      });\n\n      try {\n        await session.setup();\n        await session.close();\n      } catch (err) {\n        assert.fail(err);\n      }\n\n      expect(streamStub.write.calledWith(\"endsas;\\n\")).to.be.true;\n      expect(streamStub.close.calledOnce).to.be.true;\n    });\n  });\n\n  describe(\"getSession\", () => {\n    let config;\n    beforeEach(() => {\n      process.env.SSH_AUTH_SOCK = \"val\";\n      config = {\n        host: \"host\",\n        username: \"username\",\n        saspath: \"saspath\",\n        sasOptions: [\"-nonews\"],\n        port: 22,\n      };\n    });\n\n    afterEach(() => {\n      delete process.env.SSH_AUTH_SOCK;\n    });\n\n    it(\"builds a well-formed ssh session instance\", () => {\n      const session = getSession(config);\n\n      expect(session).to.not.equal(undefined);\n    });\n  });\n});\n"
  },
  {
    "path": "client/test/extension.test.ts",
    "content": "import * as vscode from \"vscode\";\n\nimport * as assert from \"assert\";\n\nimport { getUri, openDoc } from \"./utils\";\n\nlet docUri;\n\ndescribe(\"lsp\", () => {\n  before(async () => {\n    docUri = getUri(\"SampleCode.sas\");\n    await openDoc(docUri);\n  });\n\n  it(\"provides completion items\", async () => {\n    // Executing the command `vscode.executeCompletionItemProvider` to simulate triggering completion\n    const actualCompletionList: vscode.CompletionList =\n      await vscode.commands.executeCommand(\n        \"vscode.executeCompletionItemProvider\",\n        docUri,\n        new vscode.Position(0, 0),\n      );\n    assert.ok(actualCompletionList.items.length > 0);\n  });\n\n  it(\"provides hover\", async () => {\n    // Executing the command `vscode.executeHoverProvider` to simulate mouse hovering\n    const [actualHover]: vscode.Hover[] = await vscode.commands.executeCommand(\n      \"vscode.executeHoverProvider\",\n      docUri,\n      new vscode.Position(0, 0),\n    );\n    assert.ok(actualHover.contents[0]);\n  });\n\n  it(\"provides signature help\", async () => {\n    // Executing the command `vscode.executeSignatureHelpProvider` to simulate signature help\n    const docUri2 = getUri(\"SampleCode2.sas\");\n    await openDoc(docUri2);\n    const actualSignatureHelp: vscode.SignatureHelp =\n      await vscode.commands.executeCommand(\n        \"vscode.executeSignatureHelpProvider\",\n        docUri2,\n        new vscode.Position(1, 10),\n        \"(\",\n      );\n    assert.ok(actualSignatureHelp.signatures.length > 0);\n  });\n\n  it(\"provides document symbol\", async () => {\n    // Executing the command `vscode.executeDocumentSymbolProvider` to simulate outline\n    const actualDocumentSymbol: vscode.DocumentSymbol[] =\n      await vscode.commands.executeCommand(\n        \"vscode.executeDocumentSymbolProvider\",\n        docUri,\n      );\n    assert.ok(actualDocumentSymbol.length > 0);\n  });\n});\n"
  },
  {
    "path": "client/test/index.ts",
    "content": "import { glob } from \"glob\";\nimport Mocha from \"mocha\";\nimport path from \"path\";\n\nexport function run(): Promise<void> {\n  // Create the mocha test\n  const mocha = new Mocha({\n    ui: \"bdd\",\n    color: true,\n  });\n  mocha.timeout(100000);\n\n  const testsRoot = __dirname;\n  const testFile = process.env.testFile;\n  const pattern = testFile\n    ? path.join(...testFile.replace(/\\.ts$/, \".js\").split(path.sep).slice(2))\n    : \"**/**.test.js\";\n\n  return new Promise((resolve, reject) => {\n    try {\n      const files = glob.sync(pattern, { cwd: testsRoot }).sort();\n      // Add files to the test suite\n      files.forEach((f) => mocha.addFile(path.resolve(testsRoot, f)));\n\n      try {\n        // Run the mocha test\n        mocha.run((failures) => {\n          if (failures > 0) {\n            reject(new Error(`${failures} tests failed.`));\n          } else {\n            resolve();\n          }\n        });\n      } catch (err) {\n        console.error(err);\n        reject(err);\n      }\n    } catch (err) {\n      return reject(err);\n    }\n  });\n}\n"
  },
  {
    "path": "client/test/languageServer/formatter.test.ts",
    "content": "import * as vscode from \"vscode\";\n\nimport * as assert from \"assert\";\n\nimport { getTestFixtureContent, getUri, openDoc } from \"../utils\";\n\nconst expected = getTestFixtureContent(\"formatter/expected.sas\").toString();\n// Re-enable this test after https://github.com/microsoft/vscode/issues/277352 is deployed.\ndescribe.skip(\"Formatter tests\", () => {\n  it(\"formats sas code well\", async () => {\n    const docUri = getUri(\"formatter/unformatted.sas\");\n    await openDoc(docUri);\n\n    // Executing the command `vscode.executeFormatDocumentProvider` to simulate triggering format\n    const edits: vscode.TextEdit[] = await vscode.commands.executeCommand(\n      \"vscode.executeFormatDocumentProvider\",\n      docUri,\n      {},\n    );\n\n    const edit = new vscode.WorkspaceEdit();\n    edit.set(docUri, edits);\n    await vscode.workspace.applyEdit(edit);\n    assert.strictEqual(\n      vscode.window.activeTextEditor.document.getText().replace(/\\r\\n/g, \"\\n\"),\n      expected,\n    );\n  });\n});\n"
  },
  {
    "path": "client/test/runTest.ts",
    "content": "import { runTests } from \"@vscode/test-electron\";\n\nimport * as path from \"path\";\n\nasync function main() {\n  try {\n    // The folder containing the Extension Manifest package.json\n    // Passed to `--extensionDevelopmentPath`\n    const extensionDevelopmentPath = path.resolve(__dirname, \"../../../\");\n\n    // The path to test runner\n    // Passed to --extensionTestsPath\n    const extensionTestsPath = path.resolve(__dirname, \"./index\");\n\n    // Download VS Code, unzip it and run the integration test\n    await runTests({\n      extensionDevelopmentPath,\n      extensionTestsPath,\n      launchArgs: [\"--disable-extensions\", \"--locale en-US\"],\n    });\n  } catch (err) {\n    console.error(\"Failed to run tests\");\n    process.exit(1);\n  }\n}\n\nmain();\n"
  },
  {
    "path": "client/test/store/log/actions.test.ts",
    "content": "import { expect } from \"chai\";\n\nimport { useLogStore } from \"../../../src/store\";\nimport { initialState } from \"../../../src/store/log/initialState\";\n\ndescribe(\"log actions\", () => {\n  beforeEach(() => {\n    useLogStore.setState(initialState);\n  });\n\n  it(\"unsetProducedExecutionOutput\", () => {\n    useLogStore.getState().setProducedExecutionLogOutput(false);\n\n    expect(useLogStore.getState().producedExecutionOutput).to.be.false;\n  });\n});\n"
  },
  {
    "path": "client/test/store/run/actions.test.ts",
    "content": "import { expect } from \"chai\";\n\nimport { useRunStore } from \"../../../src/store\";\nimport { RunState, initialState } from \"../../../src/store/run/initialState\";\n\ndescribe(\"run actions\", () => {\n  beforeEach(() => {\n    useRunStore.setState(initialState);\n  });\n\n  it(\"setIsExecutingCode\", () => {\n    const { setIsExecutingCode } = useRunStore.getState();\n    const expectedState: RunState = {\n      isExecutingCode: true,\n      isUserExecuting: true,\n    };\n\n    setIsExecutingCode(true);\n\n    expect(useRunStore.getState()).to.deep.include(expectedState);\n  });\n});\n"
  },
  {
    "path": "client/test/utils.ts",
    "content": "import * as vscode from \"vscode\";\n\nimport { assert } from \"chai\";\nimport { readFileSync } from \"fs\";\nimport * as path from \"path\";\n\nexport function getUri(name: string): vscode.Uri {\n  return vscode.Uri.file(path.resolve(__dirname, \"../../testFixture\", name));\n}\n\nexport async function openDoc(docUri: vscode.Uri): Promise<void> {\n  const doc = await vscode.workspace.openTextDocument(docUri);\n  await vscode.window.showTextDocument(doc);\n  await sleep(5000); // Wait for server activation\n}\n\nexport async function openNotebookDoc(docUri: vscode.Uri): Promise<void> {\n  const doc = await vscode.workspace.openNotebookDocument(docUri);\n  await vscode.window.showNotebookDocument(doc);\n}\n\nasync function sleep(ms: number) {\n  return new Promise((resolve) => setTimeout(resolve, ms));\n}\n\nexport function getTestFixtureContent(name: string): Buffer {\n  return readFileSync(path.resolve(__dirname, \"../../testFixture\", name));\n}\n\nexport const assertThrowsAsync = async (fn, expectedMsg?: string) => {\n  try {\n    await fn();\n  } catch (err) {\n    if (expectedMsg) {\n      const typedError: Error = err;\n      assert.include(\n        typedError.message,\n        expectedMsg,\n        \"Expected Message not found in returned error message\",\n      );\n    }\n    return;\n  }\n  assert.fail(\"function was expected to throw, but did not\");\n};\n"
  },
  {
    "path": "client/testFixture/SampleCode.sas",
    "content": "options ls=72;\ndata pf70 pm70 pf80 pm80;\n\tinput state $ pop_f70 pop_m70 pop_f80 pop_m80 @@;\n\tdrop pop_m70 pop_f70 pop_m80 pop_f80;\n\tdecade= 70;\n\tsex= 'Female';\n\tpop= pop_f70;  output pf70;\n\tsex= 'Male';\n\tpop= pop_m70;  output pm70;\n\tdecade= 80;\n\tpop= pop_m80;  output pm80;\n\tsex= 'Female';\n\tpop= pop_f80;  output pf80;\n\tcards;\nALA    1.78  1.66  2.02  1.87   ALASKA 0.14  0.16  0.19  0.21\nARIZ   0.90  0.87  1.38  1.34   ARK    0.99  0.93  1.18  1.10\nCALIF 10.14  9.82 12.00 11.67   COLO   1.12  1.09  1.46  1.43\nCONN   1.56  1.47  1.61  1.50   DEL    0.28  0.27  0.31  0.29\nFLA    3.51  3.28  5.07  4.68   GA     2.36  2.23  2.82  2.64\nHAW    0.37  0.40  0.47  0.49   IDAHO  0.36  0.36  0.47  0.47\nILL    5.72  5.39  5.89  5.54   IND    2.66  2.53  2.82  2.67\nIOWA   1.45  1.37  1.50  1.41   KAN    1.15  1.02  1.21  1.16\nKY     1.64  1.58  1.87  1.79   LA     1.87  1.77  2.17  2.04\nME     0.51  0.48  0.58  0.55   MD     2.01  1.92  2.17  2.04\nMASS   2.97  2.72  3.01  2.73   MICH   4.53  4.39  4.75  4.52\nMINN   1.94  1.86  2.08  2.00   MISS   1.14  1.07  1.31  1.21\nMO     2.42  2.26  2.55  2.37   MONT   0.35  0.35  0.39  0.39\nNEB    0.76  0.72  0.80  0.77   NEV    0.24  0.25  0.40  0.41\nNH     0.38  0.36  0.47  0.45   NJ     3.70  3.47  3.83  3.53\nNM     0.52  0.50  0.66  0.64   NY     9.52  8.72  9.22  8.34\nNC     2.59  2.49  3.03  2.86   ND     0.31  0.31  0.32  0.33\nOHIO   5.49  5.16  5.58  5.22   OKLA   1.31  1.25  1.55  1.48\nORE    1.07  1.02  1.34  1.30   PA     6.13  5.67  6.18  5.68\nRI     0.48  0.46  0.50  0.45   SC     1.32  1.27  1.60  1.52\nSD     0.34  0.33  0.35  0.34   TENN   2.03  1.90  2.37  2.22\nTEXAS  5.72  5.48  7.23  7.00   UTAH   0.54  0.52  0.74  0.72\nVT     0.23  0.22  0.26  0.25   VA     2.35  2.30  2.73  2.62\nWASH   1.72  1.69  2.08  2.05   W.VA   0.90  0.84  1.00  0.95\nWIS    2.25  2.17  2.40  2.31   WYO    0.16  0.17  0.23  0.24\nXX      .     .     .     .     YY      .     .     .     .\n;\ndata popstate;\n\tset pf70 pm70 pf80 pm80;\n\tlabel pop= 'Census Population In Millions';\ntitle 'The SAS System';\nproc univariate data=popstate freq plot normal;\n\tvar pop;\n\tid state;\n\tby decade sex;\n\toutput out= univout mean= popnmean median= popn50\n\t\tpctlpre= pop_  pctlpts= 50, 95 to 100 by 2.5;\nproc print data= univout;\n\ttitle 'Output Dataset From PROC UNIVARIATE';\n\tformat popn50 pop_50 pop_95 pop_97_5 pop_100 best8.;\n"
  },
  {
    "path": "client/testFixture/SampleCode2.sas",
    "content": "proc iml;\nFF = FINV(0.05/32,2,29);\nprint FF;\nquit;\n"
  },
  {
    "path": "client/testFixture/TestFolder/SampleCode1.sas",
    "content": "proc print data=sashelp.air;\n"
  },
  {
    "path": "client/testFixture/TestFolder/TestSubFolder/SampleCode2.sas",
    "content": "proc print data=sashelp.aarfm;\n"
  },
  {
    "path": "client/testFixture/formatter/expected.sas",
    "content": "options ls=72;\n%let a=%nrquote(%nrstr(test%'s     message;));\n\ndata _null_;\n  input name=$ / 1-8 $10. @ @15 @@ @(b*3) @weekday #2 +5 4. ? ?? name=$ / 1-8\n    $10. @ @15 @@ @(b*3) @weekday #2 +5 4. ? ??;\n  cards;\n1  AA  2\n3  BB  4\n;\n\n\ndata a;\n  cards4;\n1  AA  2\n3  BB  4\n;;;;\n  datalines4;\n1  AA  2\n3  BB  4\n;;;;\n\n  title 'a';\n  title 'a';\n\n/* leading comment */\nproc catalog;\n  contents out=a; /* trailing comment */\n  run;\n  copy out=a;\n  run;\nquit;\n\ndata new;\n  date='06MAY98';\n  month=substr(date, 3, 3);\n  year=substr(date, 6, 2);\n  put month= year=;\nrun;\n\nproc python terminate;\nsubmit;\n#Reference to variable defined in previous PROC PYTHON call\nprint(\"x = \" + x)\ndef my_function():\n    print(\"Inside the proc step\")\nendsubmit;\nrun;\n\nproc r;\nsubmit;\n# Reference to variable defined in previous PROC R call\nprint(paste(\"x =\", x))\nmy_function <- function() {\n    print(\"Inside the proc step\")\n}\nendsubmit;\nrun;\n\nproc lua;\nsubmit;\nlocal dsid = sas.open(\"sashelp.company\") -- open for input            \n\n-- Iterate over the variables in the data set\nfor var in sas.vars(dsid) do\n    vars[var.name:lower()] = var               \nend\n\nsas.close(dsid)\nendsubmit;\nrun;\n\nproc template;\n  define statgraph barline;\n    begingraph;\n      entrytitle \"Overlay of REFERENCELINE, BARCHARTPARM and SERIESPLOT\";\n      layout overlay;\n        referenceline y=25000000 / curvelabel=\"Target\";\n        barchartparm category=year response=retail / dataskin=matte\n          fillattrs=(transparency=0.5) fillpatternattrs=(pattern=R1\n          color=lightgray);\n        seriesplot x=year y=profit / name=\"series\";\n        discretelegend \"series\";\n      endlayout;\n    endgraph;\n  end;\nrun;\n\nproc ds2 libs=work;\n  data _null_;\n    method init();\n      dcl varchar(16) str;\n      str='Hello World!';\n      put str;\n    end;\n  enddata;\n  run;\nquit;\n\n%macro reportit(request);\n  %if %upcase(&request)=STAT %then %do;\n    proc means;\n      title \"Summary of All Numeric Variables\";\n    run;\n  %end;\n  %else %if %upcase(&request)=PRINTIT %then %do;\n    proc print;\n      title \"Listing of Data\";\n    run;\n  %end;\n  %else %put Incorrect report type. Please try again.;\n  title;\n%mend reportit;\n\n*region;\n%macro;\n  *region;\n  data _null_;\n    *region;\n    /** a block comment\n     * additional comment line\n     */\n    do i=2 to 20 by 2 until((x/3)>y);\nmylabel:\n      do x=1, 2, 3 while (x=2);\n        a=0;\n      end;\n    end;\n    *endregion;\n  *endregion;\n%mend;\n*endregion;\n%test\n\nproc python;\ninteractive;\nfruits = [\"apple\", \"banana\", \"cherry\"]\nfor x in fruits:\n   print(x)\n\nprint('first statement after for loop')\nendinteractive;\nrun;\n\nproc r;\nsubmit;\nfruits <- c(\"apple\", \"banana\", \"cherry\")\nfor (x in fruits) {\n   print(x)\n}\n\nprint('first statement after for loop')\nendsubmit;\nrun;\n\nproc lua;\nsubmit;\n\n    local rc\n\n    local code = [[\n        data sample; set answer;\n        where CCUID = @ccuid@;\n        y = @subValue@;\n        run;\n    ]]\n\n    rc = sas.submit(code, {ccuid=\"67\", subValue=72})\n\nendsubmit;\nrun;\n\nproc lua;\nsubmit;\n   if (sas.exists(\"work.homes\")) then\n      local t = sas.read_ds(\"work.homes\")\n      i=1\n      while(t[i] ~= nil) do\n         print(\"Obs #\" .. i)\n         for k,v in pairs(t[i]) do \n             print(k,v) \n         end\n         print(\"\\n\")\n         i = i+1\n      end\n   end\nendsubmit;\nrun;\n\nproc python;\n/* comment */\ni;\nprint('hello')\nendinteractive;\n  /* comment */\nrun;\n\nproc format library=library;\n/* region format-ignore */\n  invalue evaluation 'O'=4\n                     'S'=3\n                     'E'=2\n                     'C'=1\n                     'N'=0;\n/* endregion */\nrun;\n"
  },
  {
    "path": "client/testFixture/formatter/unformatted.sas",
    "content": "options    ls=72;\n%let a= %nrquote(%nrstr(test%'s     message;));\ndata _null_;input name= $ / 1-8 $10. @ @15 @@ @(b*3) @weekday #2 +5 4. ? ?? name= $ / 1-8 $10. @ @15 @@ @(b*3) @weekday #2 +5 4. ? ??;\ncards;\n1  AA  2\n3  BB  4\n;\ndata a;\ncards4;\n1  AA  2\n3  BB  4\n;;;;\n        datalines4;\n1  AA  2\n3  BB  4\n;;;;\n\n\ntitle 'a';\ntitle 'a';\n/* leading comment */\nproc catalog;\ncontents out=a; /* trailing comment */\nrun;\ncopy out=a;\nrun;\nquit;\ndata new;\n    date = '06MAY98';\n    month= substr(date, 3, 3);\n    year =substr(date, 6, 2);\n    put month= year=;\nrun;\n\nproc python terminate;\nsubmit;\n#Reference to variable defined in previous PROC PYTHON call\nprint(\"x = \" + x)\ndef my_function():\n    print(\"Inside the proc step\")\nendsubmit;\nrun;\nproc r;\nsubmit;\n# Reference to variable defined in previous PROC R call\nprint(paste(\"x =\", x))\nmy_function <- function() {\n    print(\"Inside the proc step\")\n}\nendsubmit;\nrun;\nproc lua;\nsubmit;\nlocal dsid = sas.open(\"sashelp.company\") -- open for input            \n\n-- Iterate over the variables in the data set\nfor var in sas.vars(dsid) do\n    vars[var.name:lower()] = var               \nend\n\nsas.close(dsid)\nendsubmit;\nrun;\n\n\nproc template;\ndefine statgraph barline;\n    begingraph;\n    entrytitle \"Overlay of REFERENCELINE, BARCHARTPARM and SERIESPLOT\";\n    layout overlay;\n    referenceline y=25000000 / curvelabel=\"Target\";\n    barchartparm category=year response=retail / dataskin=matte\n        fillattrs=(transparency=0.5)\n        fillpatternattrs=(pattern=R1 color=lightgray);\n    seriesplot x=year y=profit / name=\"series\";\n    discretelegend \"series\";\n    endlayout;\n    endgraph;\nend;\nrun;\n\nproc ds2 libs=work;\ndata _null_;\n    method init();\n      dcl varchar(16) str;\n      str = 'Hello World!';\n      put str;\n    end;\nenddata;\nrun;\nquit;\n\n%macro reportit(request);\n%if %upcase(&request)=STAT %then\n%do;\nproc means;\n    title \"Summary of All Numeric Variables\";\nrun;\n%end;\n%else %if %upcase(&request)=PRINTIT %then\n%do;\nproc print;\n    title \"Listing of Data\";\nrun;\n%end;\n%else %put Incorrect report type. Please try again.;\ntitle;\n%mend reportit;\n\n*region;\n%macro;\n*region;\ndata _null_;\n*region;\n/** a block comment\n* additional comment line\n*/\ndo i=2 to 20 by 2 until((x/3)>y);\nmylabel: do x=1, 2, 3 while (x=2);\na=0;\nend;\nend;\n*endregion;\n*endregion;\n%mend;\n*endregion;\n%test\nproc python;\ninteractive;\nfruits = [\"apple\", \"banana\", \"cherry\"]\nfor x in fruits:\n   print(x)\n\nprint('first statement after for loop')\nendinteractive;\nrun;\n\nproc r;\nsubmit;\nfruits <- c(\"apple\", \"banana\", \"cherry\")\nfor (x in fruits) {\n   print(x)\n}\n\nprint('first statement after for loop')\nendsubmit;\nrun;\n\nproc lua;\nsubmit;\n\n    local rc\n\n    local code = [[\n        data sample; set answer;\n        where CCUID = @ccuid@;\n        y = @subValue@;\n        run;\n    ]]\n\n    rc = sas.submit(code, {ccuid=\"67\", subValue=72})\n\nendsubmit;\nrun;\nproc lua;\nsubmit;\n   if (sas.exists(\"work.homes\")) then\n      local t = sas.read_ds(\"work.homes\")\n      i=1\n      while(t[i] ~= nil) do\n         print(\"Obs #\" .. i)\n         for k,v in pairs(t[i]) do \n             print(k,v) \n         end\n         print(\"\\n\")\n         i = i+1\n      end\n   end\nendsubmit;\nrun;\n\nproc python;\n/* comment */\ni;\nprint('hello')\nendinteractive;\n/* comment */\nrun;\nproc format library=library;\n/* region format-ignore */\n  invalue evaluation 'O'=4\n                     'S'=3\n                     'E'=2\n                     'C'=1\n                     'N'=0;\n/* endregion */\nrun;"
  },
  {
    "path": "client/testFixture/keyContent.txt",
    "content": "-----BEGIN EC PRIVATE KEY-----\nMHcCAQEEICC/c7CdkJ77uAbVTbySFZoQAE06MMn/DnAMwn47IEj0oAoGCCqGSM49\nAwEHoUQDQgAEMZhIWuZ1G0yl6ZBYjlhPz2KBV0QG/W4rtMiTimfflFh6v4QOmFqi\n3V1bpb+aMETqJzZDNfuH66549cLzRw1rzw==\n-----END EC PRIVATE KEY-----"
  },
  {
    "path": "client/testFixture/sasnb_export.sas",
    "content": "/*\n# Notebook to SAS Test\n*/\n\n/*\n## Python Code\n\nThis is some Python code\n*/\n\n/*\nThis is a separate note in **Markdown** format.\n*/\n\nproc python;\nsubmit;\na, b = 4, 2\nprint(\"Result: \", a*10 + b)\nendsubmit;\nrun;\n\n/*\n## R Code\n\nThis is some R code\n*/\n\n/*\nThis is a separate note in **Markdown** format.\n*/\n\nproc r;\nsubmit;\ndie <- 1:6\npaste(\"Die Maths: \", die[3]*4 + die[6])\nendsubmit;\nrun;\n\n/*\n## SAS Code\n*/\n\ndata work.prdsale;\n\tset sashelp.PRDSALE;\nrun;\n\nproc means data=work.prdsale;\nrun;\n\n/*\n## SQL Code\n*/\n\nproc sql;\nCREATE TABLE WORK.QUERY_PRDSALE AS\n    SELECT\n        (t1.COUNTRY) LABEL='Country' FORMAT=$CHAR10.,\n        (SUM(t1.ACTUAL)) FORMAT=DOLLAR12.2 LENGTH=8 AS SUM_ACTUAL\n    FROM\n        WORK.PRDSALE t1\n    GROUP BY\n        t1.COUNTRY;\nquit;\n\n/*\nA last comment in Markdown at the end of the document\n*/\n\n/*\n\n*/\n"
  },
  {
    "path": "client/testFixture/sasnb_export.sasnb",
    "content": "[{\"kind\":1,\"language\":\"markdown\",\"value\":\"# Notebook to SAS Test\",\"outputs\":[]},{\"kind\":1,\"language\":\"markdown\",\"value\":\"## Python Code\\n\\nThis is some Python code\",\"outputs\":[]},{\"kind\":1,\"language\":\"markdown\",\"value\":\"This is a separate note in **Markdown** format.\",\"outputs\":[]},{\"kind\":2,\"language\":\"python\",\"value\":\"a, b = 4, 2\\nprint(\\\"Result: \\\", a*10 + b)\",\"outputs\":[{\"items\":[{\"data\":\"[\\n\\t{\\n\\t\\t\\\"line\\\": \\\"14   /** LOG_START_INDICATOR **/\\\",\\n\\t\\t\\\"type\\\": \\\"source\\\",\\n\\t\\t\\\"version\\\": 1\\n\\t},\\n\\t{\\n\\t\\t\\\"line\\\": \\\"15   title;footnote;ods _all_ close;\\\",\\n\\t\\t\\\"type\\\": \\\"source\\\",\\n\\t\\t\\\"version\\\": 1\\n\\t},\\n\\t{\\n\\t\\t\\\"line\\\": \\\"16   ods graphics on;\\\",\\n\\t\\t\\\"type\\\": \\\"source\\\",\\n\\t\\t\\\"version\\\": 1\\n\\t},\\n\\t{\\n\\t\\t\\\"line\\\": \\\"17   ods html5(id=vscode) style=Ignite options(bitmap_mode='inline' svg_mode='inline');\\\",\\n\\t\\t\\\"type\\\": \\\"source\\\",\\n\\t\\t\\\"version\\\": 1\\n\\t},\\n\\t{\\n\\t\\t\\\"line\\\": \\\"NOTE: Writing HTML5(VSCODE) Body file: sashtml1.htm\\\",\\n\\t\\t\\\"type\\\": \\\"note\\\",\\n\\t\\t\\\"version\\\": 1\\n\\t},\\n\\t{\\n\\t\\t\\\"line\\\": \\\"18   %let _SASPROGRAMFILE = %nrquote(%nrstr(/Users/elreid/personalGit/vscode-sas-extension/client/testFixture/sasnb_export.sasnb));\\\",\\n\\t\\t\\\"type\\\": \\\"source\\\",\\n\\t\\t\\\"version\\\": 1\\n\\t},\\n\\t{\\n\\t\\t\\\"line\\\": \\\"19   proc python;\\\",\\n\\t\\t\\\"type\\\": \\\"source\\\",\\n\\t\\t\\\"version\\\": 1\\n\\t},\\n\\t{\\n\\t\\t\\\"line\\\": \\\"20   submit\\\",\\n\\t\\t\\\"type\\\": \\\"source\\\",\\n\\t\\t\\\"version\\\": 1\\n\\t},\\n\\t{\\n\\t\\t\\\"line\\\": \\\"NOTE: Python initialized.\\\",\\n\\t\\t\\\"type\\\": \\\"note\\\",\\n\\t\\t\\\"version\\\": 1\\n\\t},\\n\\t{\\n\\t\\t\\\"line\\\": \\\"Python 3.11.10 (main, Nov 30 2025, 14:30:37) [GCC 11.5.0 20240719 (Red Hat 11.5.0-11)] on linux\\\",\\n\\t\\t\\\"type\\\": \\\"normal\\\",\\n\\t\\t\\\"version\\\": 1\\n\\t},\\n\\t{\\n\\t\\t\\\"line\\\": \\\"Type \\\\\\\"help\\\\\\\", \\\\\\\"copyright\\\\\\\", \\\\\\\"credits\\\\\\\" or \\\\\\\"license\\\\\\\" for more information.\\\",\\n\\t\\t\\\"type\\\": \\\"normal\\\",\\n\\t\\t\\\"version\\\": 1\\n\\t},\\n\\t{\\n\\t\\t\\\"line\\\": \\\">>>\\\",\\n\\t\\t\\\"type\\\": \\\"normal\\\",\\n\\t\\t\\\"version\\\": 1\\n\\t},\\n\\t{\\n\\t\\t\\\"line\\\": \\\">>> \\\",\\n\\t\\t\\\"type\\\": \\\"normal\\\",\\n\\t\\t\\\"version\\\": 1\\n\\t},\\n\\t{\\n\\t\\t\\\"line\\\": \\\"20 !       ;\\\",\\n\\t\\t\\\"type\\\": \\\"source\\\",\\n\\t\\t\\\"version\\\": 1\\n\\t},\\n\\t{\\n\\t\\t\\\"line\\\": \\\"21   a, b = 4, 2\\\",\\n\\t\\t\\\"type\\\": \\\"source\\\",\\n\\t\\t\\\"version\\\": 1\\n\\t},\\n\\t{\\n\\t\\t\\\"line\\\": \\\"22   print(\\\\\\\"Result: \\\\\\\", a*10 + b)\\\",\\n\\t\\t\\\"type\\\": \\\"source\\\",\\n\\t\\t\\\"version\\\": 1\\n\\t},\\n\\t{\\n\\t\\t\\\"line\\\": \\\"23   endsubmit;\\\",\\n\\t\\t\\\"type\\\": \\\"source\\\",\\n\\t\\t\\\"version\\\": 1\\n\\t},\\n\\t{\\n\\t\\t\\\"line\\\": \\\"24   run;\\\",\\n\\t\\t\\\"type\\\": \\\"source\\\",\\n\\t\\t\\\"version\\\": 1\\n\\t},\\n\\t{\\n\\t\\t\\\"line\\\": \\\"\\\",\\n\\t\\t\\\"type\\\": \\\"note\\\",\\n\\t\\t\\\"version\\\": 1\\n\\t},\\n\\t{\\n\\t\\t\\\"line\\\": \\\">>>\\\",\\n\\t\\t\\\"type\\\": \\\"normal\\\",\\n\\t\\t\\\"version\\\": 1\\n\\t},\\n\\t{\\n\\t\\t\\\"line\\\": \\\"Result:  42\\\",\\n\\t\\t\\\"type\\\": \\\"normal\\\",\\n\\t\\t\\\"version\\\": 1\\n\\t},\\n\\t{\\n\\t\\t\\\"line\\\": \\\">>> \\\",\\n\\t\\t\\\"type\\\": \\\"normal\\\",\\n\\t\\t\\\"version\\\": 1\\n\\t},\\n\\t{\\n\\t\\t\\\"line\\\": \\\"NOTE: PROCEDURE PYTHON used (Total process time):\\\",\\n\\t\\t\\\"type\\\": \\\"note\\\",\\n\\t\\t\\\"version\\\": 1\\n\\t},\\n\\t{\\n\\t\\t\\\"line\\\": \\\"      real time           1.99 seconds\\\",\\n\\t\\t\\\"type\\\": \\\"note\\\",\\n\\t\\t\\\"version\\\": 1\\n\\t},\\n\\t{\\n\\t\\t\\\"line\\\": \\\"      cpu time            0.08 seconds\\\",\\n\\t\\t\\\"type\\\": \\\"note\\\",\\n\\t\\t\\\"version\\\": 1\\n\\t},\\n\\t{\\n\\t\\t\\\"line\\\": \\\"      \\\",\\n\\t\\t\\\"type\\\": \\\"note\\\",\\n\\t\\t\\\"version\\\": 1\\n\\t},\\n\\t{\\n\\t\\t\\\"line\\\": \\\"\\\",\\n\\t\\t\\\"type\\\": \\\"note\\\",\\n\\t\\t\\\"version\\\": 1\\n\\t},\\n\\t{\\n\\t\\t\\\"line\\\": \\\"25   ;*';*\\\\\\\";*/;run;quit;ods html5(id=vscode) close;\\\",\\n\\t\\t\\\"type\\\": \\\"source\\\",\\n\\t\\t\\\"version\\\": 1\\n\\t},\\n\\t{\\n\\t\\t\\\"line\\\": \\\"26   \\\",\\n\\t\\t\\\"type\\\": \\\"source\\\",\\n\\t\\t\\\"version\\\": 1\\n\\t},\\n\\t{\\n\\t\\t\\\"line\\\": \\\"\\\",\\n\\t\\t\\\"type\\\": \\\"note\\\",\\n\\t\\t\\\"version\\\": 1\\n\\t}\\n]\",\"mime\":\"application/vnd.sas.compute.log.lines\"}]}]},{\"kind\":1,\"language\":\"markdown\",\"value\":\"## R Code\\n\\nThis is some R code\",\"outputs\":[]},{\"kind\":1,\"language\":\"markdown\",\"value\":\"This is a separate note in **Markdown** format.\",\"outputs\":[]},{\"kind\":2,\"language\":\"r\",\"value\":\"die <- 1:6\\npaste(\\\"Die Maths: \\\", die[3]*4 + die[6])\",\"outputs\":[{\"items\":[{\"data\":\"[\\n\\t{\\n\\t\\t\\\"line\\\": \\\"1    /** LOG_START_INDICATOR **/\\\",\\n\\t\\t\\\"type\\\": \\\"source\\\",\\n\\t\\t\\\"version\\\": 1\\n\\t},\\n\\t{\\n\\t\\t\\\"line\\\": \\\"2    title;footnote;ods _all_ close;\\\",\\n\\t\\t\\\"type\\\": \\\"source\\\",\\n\\t\\t\\\"version\\\": 1\\n\\t},\\n\\t{\\n\\t\\t\\\"line\\\": \\\"3    ods graphics on;\\\",\\n\\t\\t\\\"type\\\": \\\"source\\\",\\n\\t\\t\\\"version\\\": 1\\n\\t},\\n\\t{\\n\\t\\t\\\"line\\\": \\\"4    ods html5(id=vscode) style=Ignite options(bitmap_mode='inline' svg_mode='inline');\\\",\\n\\t\\t\\\"type\\\": \\\"source\\\",\\n\\t\\t\\\"version\\\": 1\\n\\t},\\n\\t{\\n\\t\\t\\\"line\\\": \\\"NOTE: Writing HTML5(VSCODE) Body file: sashtml.htm\\\",\\n\\t\\t\\\"type\\\": \\\"note\\\",\\n\\t\\t\\\"version\\\": 1\\n\\t},\\n\\t{\\n\\t\\t\\\"line\\\": \\\"5    %let _SASPROGRAMFILE = %nrquote(%nrstr(/Users/elreid/personalGit/vscode-sas-extension/client/testFixture/sasnb_export.sasnb));\\\",\\n\\t\\t\\\"type\\\": \\\"source\\\",\\n\\t\\t\\\"version\\\": 1\\n\\t},\\n\\t{\\n\\t\\t\\\"line\\\": \\\"ERROR:  UNABLE TO ACCESS MESSAGE 1187.7\\\",\\n\\t\\t\\\"type\\\": \\\"normal\\\",\\n\\t\\t\\\"version\\\": 1\\n\\t},\\n\\t{\\n\\t\\t\\\"line\\\": \\\"6    proc r;\\\",\\n\\t\\t\\\"type\\\": \\\"source\\\",\\n\\t\\t\\\"version\\\": 1\\n\\t},\\n\\t{\\n\\t\\t\\\"line\\\": \\\"7    submit\\\",\\n\\t\\t\\\"type\\\": \\\"source\\\",\\n\\t\\t\\\"version\\\": 1\\n\\t},\\n\\t{\\n\\t\\t\\\"line\\\": \\\"[RLANG] env R_LIBS_USER= /vol/bigdisk/lax/elreid/R/x86_64-pc-linux-gnu-library/4.3 \\\",\\n\\t\\t\\\"type\\\": \\\"normal\\\",\\n\\t\\t\\\"version\\\": 1\\n\\t},\\n\\t{\\n\\t\\t\\\"line\\\": \\\"[RLANG] .libPaths= /opt/sas/viya/home/sas-pyconfig/R-4.3.3.1766327103/lib64/R/library \\\",\\n\\t\\t\\\"type\\\": \\\"normal\\\",\\n\\t\\t\\\"version\\\": 1\\n\\t},\\n\\t{\\n\\t\\t\\\"line\\\": \\\"[RLANG] loaded SAS package\\\",\\n\\t\\t\\\"type\\\": \\\"normal\\\",\\n\\t\\t\\\"version\\\": 1\\n\\t},\\n\\t{\\n\\t\\t\\\"line\\\": \\\"[RLANG] class(SAS)= classGeneratorFunction \\\",\\n\\t\\t\\\"type\\\": \\\"normal\\\",\\n\\t\\t\\\"version\\\": 1\\n\\t},\\n\\t{\\n\\t\\t\\\"line\\\": \\\"[RLANG] invoking constructor on port  47961 \\\",\\n\\t\\t\\\"type\\\": \\\"normal\\\",\\n\\t\\t\\\"version\\\": 1\\n\\t},\\n\\t{\\n\\t\\t\\\"line\\\": \\\"[RLANG] constructor returned\\\",\\n\\t\\t\\\"type\\\": \\\"normal\\\",\\n\\t\\t\\\"version\\\": 1\\n\\t},\\n\\t{\\n\\t\\t\\\"line\\\": \\\"[RLANG] sas assigned to global, exists= TRUE \\\",\\n\\t\\t\\\"type\\\": \\\"normal\\\",\\n\\t\\t\\\"version\\\": 1\\n\\t},\\n\\t{\\n\\t\\t\\\"line\\\": \\\"7  !       ;\\\",\\n\\t\\t\\\"type\\\": \\\"source\\\",\\n\\t\\t\\\"version\\\": 1\\n\\t},\\n\\t{\\n\\t\\t\\\"line\\\": \\\"8    die <- 1:6\\\",\\n\\t\\t\\\"type\\\": \\\"source\\\",\\n\\t\\t\\\"version\\\": 1\\n\\t},\\n\\t{\\n\\t\\t\\\"line\\\": \\\"9    paste(\\\\\\\"Die Maths: \\\\\\\", die[3]*4 + die[6])\\\",\\n\\t\\t\\\"type\\\": \\\"source\\\",\\n\\t\\t\\\"version\\\": 1\\n\\t},\\n\\t{\\n\\t\\t\\\"line\\\": \\\"10   endsubmit;\\\",\\n\\t\\t\\\"type\\\": \\\"source\\\",\\n\\t\\t\\\"version\\\": 1\\n\\t},\\n\\t{\\n\\t\\t\\\"line\\\": \\\"11   run;\\\",\\n\\t\\t\\\"type\\\": \\\"source\\\",\\n\\t\\t\\\"version\\\": 1\\n\\t},\\n\\t{\\n\\t\\t\\\"line\\\": \\\"\\\",\\n\\t\\t\\\"type\\\": \\\"note\\\",\\n\\t\\t\\\"version\\\": 1\\n\\t},\\n\\t{\\n\\t\\t\\\"line\\\": \\\"[1] \\\\\\\"Die Maths:  18\\\\\\\"\\\",\\n\\t\\t\\\"type\\\": \\\"normal\\\",\\n\\t\\t\\\"version\\\": 1\\n\\t},\\n\\t{\\n\\t\\t\\\"line\\\": \\\"NOTE: PROCEDURE R used (Total process time):\\\",\\n\\t\\t\\\"type\\\": \\\"note\\\",\\n\\t\\t\\\"version\\\": 1\\n\\t},\\n\\t{\\n\\t\\t\\\"line\\\": \\\"      real time           3.60 seconds\\\",\\n\\t\\t\\\"type\\\": \\\"note\\\",\\n\\t\\t\\\"version\\\": 1\\n\\t},\\n\\t{\\n\\t\\t\\\"line\\\": \\\"      cpu time            0.07 seconds\\\",\\n\\t\\t\\\"type\\\": \\\"note\\\",\\n\\t\\t\\\"version\\\": 1\\n\\t},\\n\\t{\\n\\t\\t\\\"line\\\": \\\"2                                                          The SAS System                         Tuesday, 23 December 2025 15:16:00\\\",\\n\\t\\t\\\"type\\\": \\\"title\\\",\\n\\t\\t\\\"version\\\": 1\\n\\t},\\n\\t{\\n\\t\\t\\\"line\\\": \\\"\\\",\\n\\t\\t\\\"type\\\": \\\"title\\\",\\n\\t\\t\\\"version\\\": 1\\n\\t},\\n\\t{\\n\\t\\t\\\"line\\\": \\\"      \\\",\\n\\t\\t\\\"type\\\": \\\"note\\\",\\n\\t\\t\\\"version\\\": 1\\n\\t},\\n\\t{\\n\\t\\t\\\"line\\\": \\\"\\\",\\n\\t\\t\\\"type\\\": \\\"note\\\",\\n\\t\\t\\\"version\\\": 1\\n\\t},\\n\\t{\\n\\t\\t\\\"line\\\": \\\"12   ;*';*\\\\\\\";*/;run;quit;ods html5(id=vscode) close;\\\",\\n\\t\\t\\\"type\\\": \\\"source\\\",\\n\\t\\t\\\"version\\\": 1\\n\\t},\\n\\t{\\n\\t\\t\\\"line\\\": \\\"13   \\\",\\n\\t\\t\\\"type\\\": \\\"source\\\",\\n\\t\\t\\\"version\\\": 1\\n\\t},\\n\\t{\\n\\t\\t\\\"line\\\": \\\"\\\",\\n\\t\\t\\\"type\\\": \\\"note\\\",\\n\\t\\t\\\"version\\\": 1\\n\\t}\\n]\",\"mime\":\"application/vnd.sas.compute.log.lines\"}]}]},{\"kind\":1,\"language\":\"markdown\",\"value\":\"## SAS Code\",\"outputs\":[]},{\"kind\":2,\"language\":\"sas\",\"value\":\"data work.prdsale;\\n\\tset sashelp.PRDSALE;\\nrun;\\n\\nproc means data=work.prdsale;\\nrun;\",\"outputs\":[{\"items\":[{\"data\":\"<!DOCTYPE html>\\n<html lang=\\\"en\\\" xml:lang=\\\"en\\\" xmlns=\\\"http://www.w3.org/1999/xhtml\\\">\\n<head>\\n<meta charset=\\\"utf-8\\\"/>\\n<meta content=\\\"SAS V.04.00\\\" name=\\\"generator\\\"/>\\n<title>SAS Output</title>\\n<style>\\n/*<![CDATA[*/\\n.body.c > table, .body.c > pre, .body.c div > table,\\n.body.c div > pre, .body.c > table, .body.c > pre,\\n.body.j > table, .body.j > pre, .body.j div > table,\\n.body.j div > pre, .body.j > table, .body.j > pre,\\n.body.c p.note, .body.c p.warning, .body.c p.error, .body.c p.fatal,\\n.body.j p.note, .body.j p.warning, .body.j p.error, .body.j p.fatal,\\n.body.c > table.layoutcontainer, .body.j > table.layoutcontainer { margin-left: auto; margin-right: auto }\\n.layoutregion.l table, .layoutregion.l pre, .layoutregion.l p.note,\\n.layoutregion.l p.warning, .layoutregion.l p.error, .layoutregion.l p.fatal { margin-left: 0 }\\n.layoutregion.c table, .layoutregion.c pre, .layoutregion.c p.note,\\n.layoutregion.c p.warning, .layoutregion.c p.error, .layoutregion.c p.fatal { margin-left: auto; margin-right: auto }\\n.layoutregion.r table, .layoutregion.r pre, .layoutregion.r p.note,\\n.layoutregion.r table, .layoutregion.r pre, .layoutregion.r p.note,\\n.layoutregion.r p.warning, .layoutregion.r p.error, .layoutregion.r p.fatal { margin-right: 0 }\\narticle, aside, details, figcaption, figure, footer, header, hgroup, nav, section { display: block }\\nhtml{ font-size: 100% }\\n.body { margin: 1em; font-size: 13px; line-height: 1.231 }\\nsup { position: relative; vertical-align: baseline; bottom: 0.25em; font-size: 0.8em }\\nsub { position: relative; vertical-align: baseline; top: 0.25em; font-size: 0.8em }\\nul, ol { margin: 1em 0; padding: 0 0 0 40px }\\ndd { margin: 0 0 0 40px }\\nnav ul, nav ol { list-style: none; list-style-image: none; margin: 0; padding: 0 }\\nimg { border: 0; vertical-align: middle }\\nsvg:not(:root) { overflow: hidden }\\nfigure { margin: 0 }\\ntable { border-collapse: collapse; border-spacing: 0 }\\n.layoutcontainer { border-collapse: separate; border-spacing: 0 }\\np { margin-top: 0; text-align: left }\\nh1.heading1 { text-align: left }\\nh2.heading2 { text-align: left }\\nh3.heading3 { text-align: left }\\nh4.heading4 { text-align: left }\\nh5.heading5 { text-align: left }\\nh6.heading6 { text-align: left }\\nspan { text-align: left }\\ntable { margin-bottom: 1em }\\ntd, th { text-align: left; padding: 3px 6px; vertical-align: top }\\ntd[class$=\\\"fixed\\\"], th[class$=\\\"fixed\\\"] { white-space: pre }\\nsection, article { padding-top: 1px; padding-bottom: 8px }\\nhr.pagebreak { height: 0px; border: 0; border-bottom: 1px solid #c0c0c0; margin: 1em 0 }\\n.stacked-value { text-align: left; display: block }\\n.stacked-cell > .stacked-value, td.data > td.data, th.data > td.data, th.data > th.data, td.data > th.data, th.header > th.header { border: 0 }\\n.stacked-cell > div.data { border-width: 0 }\\n.systitleandfootercontainer { white-space: nowrap; margin-bottom: 1em }\\n.systitleandfootercontainer > p { margin: 0 }\\n.systitleandfootercontainer > p > span { display: inline-block; width: 100%; white-space: normal }\\n.batch { display: table }\\n.toc { display: none }\\n.proc_note_group, .proc_title_group { margin-bottom: 1em }\\np.proctitle { margin: 0 }\\np.note, p.warning, p.error, p.fatal { display: table }\\n.notebanner, .warnbanner, .errorbanner, .fatalbanner,\\n.notecontent, .warncontent, .errorcontent, .fatalcontent { display: table-cell; padding: 0.5em }\\n.notebanner, .warnbanner, .errorbanner, .fatalbanner { padding-right: 0 }\\n.body > div > ol li { text-align: left }\\n.beforecaption > h4 { margin-top: 0; margin-bottom: 0 }\\n.c { text-align: center }\\n.r { text-align: right }\\n.l { text-align: left }\\n.j { text-align: justify }\\n.d { text-align: right }\\n.b { vertical-align: bottom }\\n.m { vertical-align: middle }\\n.t { vertical-align: top }\\n.accessiblecaption {\\n    background-color: #011829;\\n    color: #f9fafb;\\n    font-family: 'Anova UI', Arial, 'Albany AMT', Helvetica, Helv;\\n    font-size: 11pt;\\n    font-style: normal;\\n    font-weight: bold;\\n}\\na:active { color: #f9fafb }\\n.aftercaption {\\n    background-color: #011829;\\n    border-spacing: 0;\\n    color: #ffffff;\\n    font-family: 'Anova UI', Arial, 'Albany AMT', Helvetica, Helv;\\n    font-size: 9pt;\\n    font-style: normal;\\n    font-weight: bold;\\n    padding-top: 4pt;\\n}\\n.batch > colgroup {\\n    border-left: 1px solid #f9fafb;\\n    border-right: 1px solid #f9fafb;\\n}\\n.batch > tbody, .batch > thead, .batch > tfoot {\\n    border-top: 1px solid #f9fafb;\\n    border-bottom: 1px solid #f9fafb;\\n}\\n.batch { border: hidden; }\\n.batch {\\n    background-color: #021727;\\n    border: 1px solid #f9fafb;\\n    border-collapse: separate;\\n    border-spacing: 1px;\\n    color: #ffffff;\\n    font-family: 'SAS Monospace', 'Courier New', Courier, monospace;\\n    font-size: 7pt;\\n    font-style: normal;\\n    font-weight: normal;\\n    padding: 7px;\\n    }\\n.beforecaption {\\n    background-color: #011829;\\n    border-spacing: 0;\\n    color: #ffffff;\\n    font-family: 'Anova UI', Arial, 'Albany AMT', Helvetica, Helv;\\n    font-size: 9pt;\\n    font-style: normal;\\n    font-weight: bold;\\n}\\n.body {\\n    background-color: #011829;\\n    color: #f9fafb;\\n    font-family: 'Anova UI', Arial, 'Albany AMT', Helvetica, Helv;\\n    font-size: 9pt;\\n    font-style: normal;\\n    font-weight: normal;\\n    margin-left: 8px;\\n    margin-right: 8px;\\n}\\n.bodydate {\\n    background-color: #011829;\\n    border-spacing: 0;\\n    color: #f9fafb;\\n    font-family: 'Anova UI', Arial, 'Albany AMT', Helvetica, Helv;\\n    font-size: 9pt;\\n    font-style: normal;\\n    font-weight: normal;\\n    text-align: right;\\n    vertical-align: top;\\n    width: 100%;\\n}\\n.bycontentfolder {\\n    color: #f9fafb;\\n    font-family: 'Anova UI', Arial, 'Albany AMT', Helvetica, Helv;\\n    font-size: 9pt;\\n    font-style: normal;\\n    font-weight: normal;\\n    list-style-type: none;\\n    margin-left: 6pt;\\n}\\n.byline {\\n    background-color: #011829;\\n    border-spacing: 0;\\n    color: #f9fafb;\\n    font-family: 'Anova UI', Arial, 'Albany AMT', Helvetica, Helv;\\n    font-size: 9pt;\\n    font-style: normal;\\n    font-weight: bold;\\n}\\n.bylinecontainer > col, .bylinecontainer > colgroup > col, .bylinecontainer > colgroup, .bylinecontainer > tr, .bylinecontainer > * > tr, .bylinecontainer > thead, .bylinecontainer > tbody, .bylinecontainer > tfoot { border: none; }\\n.bylinecontainer {\\n    background-color: #011829;\\n    border: none;\\n    border-spacing: 1px;\\n    color: #f9fafb;\\n    font-family: 'Anova UI', Arial, 'Albany AMT', Helvetica, Helv;\\n    font-size: 9pt;\\n    font-style: normal;\\n    font-weight: normal;\\n    width: 100%;\\n}\\n.caption {\\n    background-color: #011829;\\n    border-spacing: 0;\\n    color: #ffffff;\\n    font-family: 'Anova UI', Arial, 'Albany AMT', Helvetica, Helv;\\n    font-size: 9pt;\\n    font-style: normal;\\n    font-weight: bold;\\n}\\n.cell, .container {\\n    background-color: #011829;\\n    color: #f9fafb;\\n    font-family: 'Anova UI', Arial, 'Albany AMT', Helvetica, Helv;\\n    font-size: 9pt;\\n    font-style: normal;\\n    font-weight: normal;\\n}\\n.contentfolder, .contentitem {\\n    color: #f9fafb;\\n    font-family: 'Anova UI', Arial, 'Albany AMT', Helvetica, Helv;\\n    font-size: 9pt;\\n    font-style: normal;\\n    font-weight: normal;\\n    list-style-type: none;\\n    margin-left: 6pt;\\n}\\n.contentproclabel, .contentprocname {\\n    background-color: #011829;\\n    color: #f9fafb;\\n    font-family: 'Anova UI', Arial, 'Albany AMT', Helvetica, Helv;\\n    font-size: 11pt;\\n    font-style: normal;\\n    font-weight: bold;\\n}\\n.contents {\\n    background-color: #011829;\\n    color: #f9fafb;\\n    font-family: 'Anova UI', Arial, 'Albany AMT', Helvetica, Helv;\\n    font-size: 9pt;\\n    font-style: normal;\\n    font-weight: normal;\\n    list-style-type: decimal;\\n    margin-left: 8px;\\n    margin-right: 8px;\\n}\\n.contentsdate {\\n    background-color: #011829;\\n    color: #f9fafb;\\n    font-family: 'Anova UI', Arial, 'Albany AMT', Helvetica, Helv;\\n    font-size: 9pt;\\n    font-style: normal;\\n    font-weight: normal;\\n    width: 100%;\\n}\\n.contenttitle {\\n    background-color: #011829;\\n    color: #f9fafb;\\n    font-family: 'Anova UI', Arial, 'Albany AMT', Helvetica, Helv;\\n    font-size: 9pt;\\n    font-style: italic;\\n    font-weight: bold;\\n}\\n.continued {\\n    background-color: #011829;\\n    border-spacing: 0;\\n    color: #f9fafb;\\n    font-family: 'Anova UI', Arial, 'Albany AMT', Helvetica, Helv;\\n    font-size: 9pt;\\n    font-style: normal;\\n    font-weight: bold;\\n    width: 100%;\\n}\\n.data {\\n    background-color: #021727;\\n    border: 1px solid #013154;\\n    color: #ffffff;\\n    font-family: 'Anova UI', Arial, 'Albany AMT', Helvetica, Helv;\\n    font-size: 9pt;\\n    font-style: normal;\\n    font-weight: normal;\\n}\\n.dataemphasis {\\n    background-color: #021727;\\n    border-color: #c1c1c1;\\n    border-style: solid;\\n    border-width: 0 1px 1px 0;\\n    color: #ffffff;\\n    font-family: 'Anova UI', Arial, 'Albany AMT', Helvetica, Helv;\\n    font-size: 9pt;\\n    font-style: italic;\\n    font-weight: normal;\\n}\\n.dataemphasisfixed {\\n    background-color: #021727;\\n    border-color: #c1c1c1;\\n    border-style: solid;\\n    border-width: 0 1px 1px 0;\\n    color: #ffffff;\\n    font-family: 'Courier New', Courier, monospace;\\n    font-size: 8pt;\\n    font-style: italic;\\n    font-weight: normal;\\n}\\n.dataempty {\\n    background-color: #021727;\\n    border: 1px solid #013154;\\n    color: #ffffff;\\n    font-family: 'Anova UI', Arial, 'Albany AMT', Helvetica, Helv;\\n    font-size: 9pt;\\n    font-style: normal;\\n    font-weight: normal;\\n}\\n.datafixed {\\n    background-color: #021727;\\n    border: 1px solid #013154;\\n    color: #ffffff;\\n    font-family: 'Courier New', Courier;\\n    font-size: 8pt;\\n    font-style: normal;\\n    font-weight: normal;\\n}\\n.datastrong {\\n    background-color: #021727;\\n    border: 1px solid #013154;\\n    color: #ffffff;\\n    font-family: 'Anova UI', Arial, 'Albany AMT', Helvetica, Helv;\\n    font-size: 9pt;\\n    font-style: normal;\\n    font-weight: bold;\\n}\\n.datastrongfixed {\\n    background-color: #021727;\\n    border: 1px solid #013154;\\n    color: #ffffff;\\n    font-family: 'Courier New', Courier, monospace;\\n    font-size: 8pt;\\n    font-style: normal;\\n    font-weight: bold;\\n}\\n.date {\\n    background-color: #011829;\\n    color: #f9fafb;\\n    font-family: 'Anova UI', Arial, 'Albany AMT', Helvetica, Helv;\\n    font-size: 9pt;\\n    font-style: normal;\\n    font-weight: normal;\\n    width: 100%;\\n}\\n.document {\\n    background-color: #011829;\\n    color: #f9fafb;\\n    font-family: 'Anova UI', Arial, 'Albany AMT', Helvetica, Helv;\\n    font-size: 9pt;\\n    font-style: normal;\\n    font-weight: normal;\\n}\\n.errorbanner {\\n    background-color: #011829;\\n    color: #f9fafb;\\n    font-family: 'Anova UI', Arial, 'Albany AMT', Helvetica, Helv;\\n    font-size: 9pt;\\n    font-style: normal;\\n    font-weight: bold;\\n}\\n.errorcontent {\\n    background-color: #011829;\\n    color: #f9fafb;\\n    font-family: 'Anova UI', Arial, 'Albany AMT', Helvetica, Helv;\\n    font-size: 9pt;\\n    font-style: normal;\\n    font-weight: normal;\\n}\\n.errorcontentfixed {\\n    background-color: #011829;\\n    color: #f9fafb;\\n    font-family: 'Courier New', Courier;\\n    font-size: 8pt;\\n    font-style: normal;\\n    font-weight: normal;\\n}\\n.extendedpage {\\n    background-color: #011829;\\n    border-style: solid;\\n    border-width: 1pt;\\n    color: #f9fafb;\\n    font-family: 'Anova UI', Arial, 'Albany AMT', Helvetica, Helv;\\n    font-size: 9pt;\\n    font-style: italic;\\n    font-weight: normal;\\n    text-align: center;\\n}\\n.fatalbanner {\\n    background-color: #011829;\\n    color: #f9fafb;\\n    font-family: 'Anova UI', Arial, 'Albany AMT', Helvetica, Helv;\\n    font-size: 9pt;\\n    font-style: normal;\\n    font-weight: bold;\\n}\\n.fatalcontent {\\n    background-color: #011829;\\n    color: #f9fafb;\\n    font-family: 'Anova UI', Arial, 'Albany AMT', Helvetica, Helv;\\n    font-size: 9pt;\\n    font-style: normal;\\n    font-weight: normal;\\n}\\n.fatalcontentfixed {\\n    background-color: #011829;\\n    color: #f9fafb;\\n    font-family: 'Courier New', Courier;\\n    font-size: 8pt;\\n    font-style: normal;\\n    font-weight: normal;\\n}\\n.folderaction {\\n    color: #f9fafb;\\n    font-family: 'Anova UI', Arial, 'Albany AMT', Helvetica, Helv;\\n    font-size: 9pt;\\n    font-style: normal;\\n    font-weight: normal;\\n    list-style-type: none;\\n    margin-left: 6pt;\\n}\\n.footer {\\n    background-color: #021727;\\n    border: 1px solid #013154;\\n    color: #ffffff;\\n    font-family: 'Anova UI', Arial, 'Albany AMT', Helvetica, Helv;\\n    font-size: 9pt;\\n    font-style: normal;\\n    font-weight: bold;\\n}\\n.footeremphasis {\\n    background-color: #021727;\\n    border: 1px solid #013154;\\n    color: #ffffff;\\n    font-family: 'Anova UI', Arial, 'Albany AMT', Helvetica, Helv;\\n    font-size: 9pt;\\n    font-style: italic;\\n    font-weight: normal;\\n}\\n.footeremphasisfixed {\\n    background-color: #021727;\\n    border: 1px solid #013154;\\n    color: #ffffff;\\n    font-family: 'Courier New', Courier, monospace;\\n    font-size: 8pt;\\n    font-style: italic;\\n    font-weight: normal;\\n}\\n.footerempty {\\n    background-color: #021727;\\n    border: 1px solid #013154;\\n    color: #ffffff;\\n    font-family: 'Anova UI', Arial, 'Albany AMT', Helvetica, Helv;\\n    font-size: 9pt;\\n    font-style: normal;\\n    font-weight: bold;\\n}\\n.footerfixed {\\n    background-color: #021727;\\n    border: 1px solid #013154;\\n    color: #ffffff;\\n    font-family: 'Courier New', Courier;\\n    font-size: 8pt;\\n    font-style: normal;\\n    font-weight: normal;\\n}\\n.footerstrong {\\n    background-color: #021727;\\n    border: 1px solid #013154;\\n    color: #ffffff;\\n    font-family: 'Anova UI', Arial, 'Albany AMT', Helvetica, Helv;\\n    font-size: 9pt;\\n    font-style: normal;\\n    font-weight: bold;\\n}\\n.footerstrongfixed {\\n    background-color: #021727;\\n    border: 1px solid #013154;\\n    color: #ffffff;\\n    font-family: 'Courier New', Courier, monospace;\\n    font-size: 8pt;\\n    font-style: normal;\\n    font-weight: bold;\\n}\\n.frame {\\n    background-color: #011829;\\n    color: #f9fafb;\\n    font-family: 'Anova UI', Arial, 'Albany AMT', Helvetica, Helv;\\n    font-size: 9pt;\\n    font-style: normal;\\n    font-weight: normal;\\n}\\n.graph > colgroup {\\n    border-left: 1px solid #f9fafb;\\n    border-right: 1px solid #f9fafb;\\n}\\n.graph > tbody, .graph > thead, .graph > tfoot {\\n    border-top: 1px solid #f9fafb;\\n    border-bottom: 1px solid #f9fafb;\\n}\\n.graph { border: hidden; }\\n.graph {\\n    background-color: #011829;\\n    border: 1px solid #f9fafb;\\n    border-collapse: separate;\\n    border-spacing: 1px;\\n    color: #f9fafb;\\n    font-family: 'Anova UI', Arial, 'Albany AMT', Helvetica, Helv;\\n    font-size: 9pt;\\n    font-style: normal;\\n    font-weight: normal;\\n    }\\n.header {\\n    background-color: #021727;\\n    border: 1px solid #013154;\\n    color: #ffffff;\\n    font-family: 'Anova UI', Arial, 'Albany AMT', Helvetica, Helv;\\n    font-size: 9pt;\\n    font-style: normal;\\n    font-weight: bold;\\n}\\n.headeremphasis {\\n    background-color: #021727;\\n    border: 1px solid #013154;\\n    color: #ffffff;\\n    font-family: 'Anova UI', Arial, 'Albany AMT', Helvetica, Helv;\\n    font-size: 9pt;\\n    font-style: italic;\\n    font-weight: normal;\\n}\\n.headeremphasisfixed {\\n    background-color: #021727;\\n    border: 1px solid #013154;\\n    color: #ffffff;\\n    font-family: 'Courier New', Courier, monospace;\\n    font-size: 8pt;\\n    font-style: italic;\\n    font-weight: normal;\\n}\\n.headerempty {\\n    background-color: #021727;\\n    border: 1px solid #013154;\\n    color: #ffffff;\\n    font-family: 'Anova UI', Arial, 'Albany AMT', Helvetica, Helv;\\n    font-size: 9pt;\\n    font-style: normal;\\n    font-weight: bold;\\n}\\n.headerfixed {\\n    background-color: #021727;\\n    border: 1px solid #013154;\\n    color: #ffffff;\\n    font-family: 'Courier New', Courier;\\n    font-size: 8pt;\\n    font-style: normal;\\n    font-weight: normal;\\n}\\n.headersandfooters {\\n    background-color: #021727;\\n    color: #ffffff;\\n    font-family: 'Anova UI', Arial, 'Albany AMT', Helvetica, Helv;\\n    font-size: 9pt;\\n    font-style: normal;\\n    font-weight: bold;\\n}\\n.headerstrong {\\n    background-color: #021727;\\n    border: 1px solid #013154;\\n    color: #ffffff;\\n    font-family: 'Anova UI', Arial, 'Albany AMT', Helvetica, Helv;\\n    font-size: 9pt;\\n    font-style: normal;\\n    font-weight: bold;\\n}\\n.headerstrongfixed {\\n    background-color: #021727;\\n    border: 1px solid #013154;\\n    color: #ffffff;\\n    font-family: 'Courier New', Courier, monospace;\\n    font-size: 8pt;\\n    font-style: normal;\\n    font-weight: bold;\\n}\\n.heading1 {\\n    background-color: #011829;\\n    color: #f9fafb;\\n    font-family: 'Anova UI', Arial, 'Albany AMT', Helvetica, Helv;\\n    font-size: 24pt;\\n    font-style: normal;\\n    font-weight: bold;\\n}\\n.heading2 {\\n    background-color: #011829;\\n    color: #f9fafb;\\n    font-family: 'Anova UI', Arial, 'Albany AMT', Helvetica, Helv;\\n    font-size: 18pt;\\n    font-style: normal;\\n    font-weight: bold;\\n}\\n.heading3 {\\n    background-color: #011829;\\n    color: #f9fafb;\\n    font-family: 'Anova UI', Arial, 'Albany AMT', Helvetica, Helv;\\n    font-size: 14pt;\\n    font-style: normal;\\n    font-weight: bold;\\n}\\n.heading4 {\\n    background-color: #011829;\\n    color: #f9fafb;\\n    font-family: 'Anova UI', Arial, 'Albany AMT', Helvetica, Helv;\\n    font-size: 12pt;\\n    font-style: normal;\\n    font-weight: bold;\\n}\\n.heading5 {\\n    background-color: #011829;\\n    color: #f9fafb;\\n    font-family: 'Anova UI', Arial, 'Albany AMT', Helvetica, Helv;\\n    font-size: 10pt;\\n    font-style: normal;\\n    font-weight: bold;\\n}\\n.heading6 {\\n    background-color: #011829;\\n    color: #f9fafb;\\n    font-family: 'Anova UI', Arial, 'Albany AMT', Helvetica, Helv;\\n    font-size: 8pt;\\n    font-style: normal;\\n    font-weight: bold;\\n}\\n.index {\\n    background-color: #011829;\\n    color: #f9fafb;\\n    font-family: 'Anova UI', Arial, 'Albany AMT', Helvetica, Helv;\\n    font-size: 9pt;\\n    font-style: normal;\\n    font-weight: normal;\\n}\\n.indexaction, .indexitem {\\n    color: #f9fafb;\\n    font-family: 'Anova UI', Arial, 'Albany AMT', Helvetica, Helv;\\n    font-size: 9pt;\\n    font-style: normal;\\n    font-weight: normal;\\n    list-style-type: none;\\n    margin-left: 6pt;\\n}\\n.indexprocname {\\n    background-color: #011829;\\n    color: #f9fafb;\\n    font-family: 'Anova UI', Arial, 'Albany AMT', Helvetica, Helv;\\n    font-size: 11pt;\\n    font-style: normal;\\n    font-weight: bold;\\n}\\n.indextitle {\\n    background-color: #011829;\\n    color: #f9fafb;\\n    font-family: 'Anova UI', Arial, 'Albany AMT', Helvetica, Helv;\\n    font-size: 9pt;\\n    font-style: italic;\\n    font-weight: bold;\\n}\\n.layoutcontainer, .layoutregion {\\n    border-width: 0;\\n    border-spacing: 30px;\\n}\\n.linecontent {\\n    background-color: #011829;\\n    border: 1px solid #013154;\\n    color: #f9fafb;\\n    font-family: 'Anova UI', Arial, 'Albany AMT', Helvetica, Helv;\\n    font-size: 9pt;\\n    font-style: normal;\\n    font-weight: normal;\\n}\\na:link { color: #e0e3e4 }\\n.list {\\n    background-color: #011829;\\n    color: #f9fafb;\\n    font-family: 'Anova UI', Arial, 'Albany AMT', Helvetica, Helv;\\n    font-size: 9pt;\\n    font-style: normal;\\n    font-weight: normal;\\n    list-style-type: disc;\\n}\\n.list10 {\\n    background-color: #011829;\\n    color: #f9fafb;\\n    font-family: 'Anova UI', Arial, 'Albany AMT', Helvetica, Helv;\\n    font-size: 9pt;\\n    font-style: normal;\\n    font-weight: normal;\\n    list-style-type: square;\\n}\\n.list2 {\\n    background-color: #011829;\\n    color: #f9fafb;\\n    font-family: 'Anova UI', Arial, 'Albany AMT', Helvetica, Helv;\\n    font-size: 9pt;\\n    font-style: normal;\\n    font-weight: normal;\\n    list-style-type: circle;\\n}\\n.list3, .list4, .list5, .list6, .list7, .list8, .list9 {\\n    background-color: #011829;\\n    color: #f9fafb;\\n    font-family: 'Anova UI', Arial, 'Albany AMT', Helvetica, Helv;\\n    font-size: 9pt;\\n    font-style: normal;\\n    font-weight: normal;\\n    list-style-type: square;\\n}\\n.listitem {\\n    background-color: #011829;\\n    color: #f9fafb;\\n    font-family: 'Anova UI', Arial, 'Albany AMT', Helvetica, Helv;\\n    font-size: 9pt;\\n    font-style: normal;\\n    font-weight: normal;\\n    list-style-type: disc;\\n}\\n.listitem10 {\\n    background-color: #011829;\\n    color: #f9fafb;\\n    font-family: 'Anova UI', Arial, 'Albany AMT', Helvetica, Helv;\\n    font-size: 9pt;\\n    font-style: normal;\\n    font-weight: normal;\\n    list-style-type: square;\\n}\\n.listitem2 {\\n    background-color: #011829;\\n    color: #f9fafb;\\n    font-family: 'Anova UI', Arial, 'Albany AMT', Helvetica, Helv;\\n    font-size: 9pt;\\n    font-style: normal;\\n    font-weight: normal;\\n    list-style-type: circle;\\n}\\n.listitem3, .listitem4, .listitem5, .listitem6, .listitem7, .listitem8, .listitem9 {\\n    background-color: #011829;\\n    color: #f9fafb;\\n    font-family: 'Anova UI', Arial, 'Albany AMT', Helvetica, Helv;\\n    font-size: 9pt;\\n    font-style: normal;\\n    font-weight: normal;\\n    list-style-type: square;\\n}\\n.note {\\n    background-color: #011829;\\n    color: #f9fafb;\\n    font-family: 'Anova UI', Arial, 'Albany AMT', Helvetica, Helv;\\n    font-size: 9pt;\\n    font-style: normal;\\n    font-weight: normal;\\n}\\n.notebanner {\\n    background-color: #011829;\\n    color: #f9fafb;\\n    font-family: 'Anova UI', Arial, 'Albany AMT', Helvetica, Helv;\\n    font-size: 9pt;\\n    font-style: normal;\\n    font-weight: bold;\\n}\\n.notecontent {\\n    background-color: #011829;\\n    color: #f9fafb;\\n    font-family: 'Anova UI', Arial, 'Albany AMT', Helvetica, Helv;\\n    font-size: 9pt;\\n    font-style: normal;\\n    font-weight: normal;\\n}\\n.notecontentfixed {\\n    background-color: #011829;\\n    color: #f9fafb;\\n    font-family: 'Courier New', Courier;\\n    font-size: 8pt;\\n    font-style: normal;\\n    font-weight: normal;\\n}\\n.output > colgroup {\\n    border-left: 1px solid #f9fafb;\\n    border-right: 1px solid #f9fafb;\\n}\\n.output > tbody, .output > thead, .output > tfoot {\\n    border-top: 1px solid #f9fafb;\\n    border-bottom: 1px solid #f9fafb;\\n}\\n.output { border: hidden; }\\n.output {\\n    background-color: #021727;\\n    border: 1px solid #f9fafb;\\n    border-collapse: separate;\\n    border-spacing: 1px;\\n    color: #f9fafb;\\n    font-family: 'Anova UI', Arial, 'Albany AMT', Helvetica, Helv;\\n    font-size: 9pt;\\n    font-style: normal;\\n    font-weight: normal;\\n    }\\n.pageno {\\n    background-color: #011829;\\n    border-spacing: 0;\\n    color: #f9fafb;\\n    font-family: 'Anova UI', Arial, 'Albany AMT', Helvetica, Helv;\\n    font-size: 9pt;\\n    font-style: normal;\\n    font-weight: bold;\\n    text-align: right;\\n    vertical-align: top;\\n}\\n.pages {\\n    background-color: #011829;\\n    color: #f9fafb;\\n    font-family: 'Anova UI', Arial, 'Albany AMT', Helvetica, Helv;\\n    font-size: 9pt;\\n    font-style: normal;\\n    font-weight: normal;\\n    list-style-type: decimal;\\n    margin-left: 8px;\\n    margin-right: 8px;\\n}\\n.pagesdate {\\n    background-color: #011829;\\n    color: #f9fafb;\\n    font-family: 'Anova UI', Arial, 'Albany AMT', Helvetica, Helv;\\n    font-size: 9pt;\\n    font-style: normal;\\n    font-weight: normal;\\n    width: 100%;\\n}\\n.pagesitem {\\n    color: #f9fafb;\\n    font-family: 'Anova UI', Arial, 'Albany AMT', Helvetica, Helv;\\n    font-size: 9pt;\\n    font-style: normal;\\n    font-weight: normal;\\n    list-style-type: none;\\n    margin-left: 6pt;\\n}\\n.pagesproclabel, .pagesprocname {\\n    background-color: #011829;\\n    color: #f9fafb;\\n    font-family: 'Anova UI', Arial, 'Albany AMT', Helvetica, Helv;\\n    font-size: 11pt;\\n    font-style: normal;\\n    font-weight: bold;\\n}\\n.pagestitle {\\n    background-color: #011829;\\n    color: #f9fafb;\\n    font-family: 'Anova UI', Arial, 'Albany AMT', Helvetica, Helv;\\n    font-size: 9pt;\\n    font-style: italic;\\n    font-weight: bold;\\n}\\n.paragraph {\\n    background-color: #011829;\\n    color: #f9fafb;\\n    font-family: 'Anova UI', Arial, 'Albany AMT', Helvetica, Helv;\\n    font-size: 9pt;\\n    font-style: normal;\\n    font-weight: normal;\\n}\\n.parskip > col, .parskip > colgroup > col, .parskip > colgroup, .parskip > tr, .parskip > * > tr, .parskip > thead, .parskip > tbody, .parskip > tfoot { border: none; }\\n.parskip {\\n    border: none;\\n    border-spacing: 0;\\n    font-family: 'Anova UI', Arial, 'Albany AMT', Helvetica, Helv;\\n    font-size: 9pt;\\n    font-style: normal;\\n    font-weight: bold;\\n    }\\n.prepage {\\n    background-color: #011829;\\n    color: #f9fafb;\\n    font-family: 'Anova UI', Arial, 'Albany AMT', Helvetica, Helv;\\n    font-size: 9pt;\\n    font-style: normal;\\n    font-weight: normal;\\n    text-align: left;\\n}\\n.proctitle {\\n    background-color: #011829;\\n    color: #f9fafb;\\n    font-family: 'Anova UI', Arial, 'Albany AMT', Helvetica, Helv;\\n    font-size: 11pt;\\n    font-style: normal;\\n    font-weight: bold;\\n}\\n.proctitlefixed {\\n    background-color: #011829;\\n    color: #f9fafb;\\n    font-family: 'Courier New', Courier, monospace;\\n    font-size: 8pt;\\n    font-style: normal;\\n    font-weight: bold;\\n}\\n.rowfooter {\\n    background-color: #021727;\\n    border: 1px solid #013154;\\n    color: #ffffff;\\n    font-family: 'Anova UI', Arial, 'Albany AMT', Helvetica, Helv;\\n    font-size: 9pt;\\n    font-style: normal;\\n    font-weight: bold;\\n}\\n.rowfooteremphasis {\\n    background-color: #021727;\\n    border: 1px solid #013154;\\n    color: #ffffff;\\n    font-family: 'Anova UI', Arial, 'Albany AMT', Helvetica, Helv;\\n    font-size: 9pt;\\n    font-style: italic;\\n    font-weight: normal;\\n}\\n.rowfooteremphasisfixed {\\n    background-color: #021727;\\n    border: 1px solid #013154;\\n    color: #ffffff;\\n    font-family: 'Courier New', Courier, monospace;\\n    font-size: 8pt;\\n    font-style: italic;\\n    font-weight: normal;\\n}\\n.rowfooterempty {\\n    background-color: #021727;\\n    border: 1px solid #013154;\\n    color: #ffffff;\\n    font-family: 'Anova UI', Arial, 'Albany AMT', Helvetica, Helv;\\n    font-size: 9pt;\\n    font-style: normal;\\n    font-weight: bold;\\n}\\n.rowfooterfixed {\\n    background-color: #021727;\\n    border: 1px solid #013154;\\n    color: #ffffff;\\n    font-family: 'Courier New', Courier;\\n    font-size: 8pt;\\n    font-style: normal;\\n    font-weight: normal;\\n}\\n.rowfooterstrong {\\n    background-color: #021727;\\n    border: 1px solid #013154;\\n    color: #ffffff;\\n    font-family: 'Anova UI', Arial, 'Albany AMT', Helvetica, Helv;\\n    font-size: 9pt;\\n    font-style: normal;\\n    font-weight: bold;\\n}\\n.rowfooterstrongfixed {\\n    background-color: #021727;\\n    border: 1px solid #013154;\\n    color: #ffffff;\\n    font-family: 'Courier New', Courier, monospace;\\n    font-size: 8pt;\\n    font-style: normal;\\n    font-weight: bold;\\n}\\n.rowheader {\\n    background-color: #021727;\\n    border: 1px solid #013154;\\n    color: #ffffff;\\n    font-family: 'Anova UI', Arial, 'Albany AMT', Helvetica, Helv;\\n    font-size: 9pt;\\n    font-style: normal;\\n    font-weight: bold;\\n}\\n.rowheaderemphasis {\\n    background-color: #021727;\\n    border: 1px solid #013154;\\n    color: #ffffff;\\n    font-family: 'Anova UI', Arial, 'Albany AMT', Helvetica, Helv;\\n    font-size: 9pt;\\n    font-style: italic;\\n    font-weight: normal;\\n}\\n.rowheaderemphasisfixed {\\n    background-color: #021727;\\n    border: 1px solid #013154;\\n    color: #ffffff;\\n    font-family: 'Courier New', Courier, monospace;\\n    font-size: 8pt;\\n    font-style: italic;\\n    font-weight: normal;\\n}\\n.rowheaderempty {\\n    background-color: #021727;\\n    border: 1px solid #013154;\\n    color: #ffffff;\\n    font-family: 'Anova UI', Arial, 'Albany AMT', Helvetica, Helv;\\n    font-size: 9pt;\\n    font-style: normal;\\n    font-weight: bold;\\n}\\n.rowheaderfixed {\\n    background-color: #021727;\\n    border: 1px solid #013154;\\n    color: #ffffff;\\n    font-family: 'Courier New', Courier;\\n    font-size: 8pt;\\n    font-style: normal;\\n    font-weight: normal;\\n}\\n.rowheaderstrong {\\n    background-color: #021727;\\n    border: 1px solid #013154;\\n    color: #ffffff;\\n    font-family: 'Anova UI', Arial, 'Albany AMT', Helvetica, Helv;\\n    font-size: 9pt;\\n    font-style: normal;\\n    font-weight: bold;\\n}\\n.rowheaderstrongfixed {\\n    background-color: #021727;\\n    border: 1px solid #013154;\\n    color: #ffffff;\\n    font-family: 'Courier New', Courier, monospace;\\n    font-size: 8pt;\\n    font-style: normal;\\n    font-weight: bold;\\n}\\n.systemfooter, .systemfooter10, .systemfooter2, .systemfooter3, .systemfooter4, .systemfooter5, .systemfooter6, .systemfooter7, .systemfooter8, .systemfooter9 {\\n    background-color: #011829;\\n    color: #f9fafb;\\n    font-family: 'Anova UI', Arial, 'Albany AMT', Helvetica, Helv;\\n    font-size: 9pt;\\n    font-style: normal;\\n    font-weight: normal;\\n}\\n.systemtitle, .systemtitle10, .systemtitle2, .systemtitle3, .systemtitle4, .systemtitle5, .systemtitle6, .systemtitle7, .systemtitle8, .systemtitle9 {\\n    background-color: #011829;\\n    color: #f9fafb;\\n    font-family: 'Anova UI', Arial, 'Albany AMT', Helvetica, Helv;\\n    font-size: 12pt;\\n    font-style: normal;\\n    font-weight: bold;\\n}\\n.systitleandfootercontainer > col, .systitleandfootercontainer > colgroup > col, .systitleandfootercontainer > colgroup, .systitleandfootercontainer > tr, .systitleandfootercontainer > * > tr, .systitleandfootercontainer > thead, .systitleandfootercontainer > tbody, .systitleandfootercontainer > tfoot { border: none; }\\n.systitleandfootercontainer {\\n    background-color: #011829;\\n    border: none;\\n    border-spacing: 1px;\\n    color: #f9fafb;\\n    font-family: 'Anova UI', Arial, 'Albany AMT', Helvetica, Helv;\\n    font-size: 9pt;\\n    font-style: normal;\\n    font-weight: normal;\\n    width: 100%;\\n}\\n.table > col, .table > colgroup > col {\\n    border-left: 1px solid #c1c1c1;\\n    border-right: 0 solid #c1c1c1;\\n}\\n.table > tr, .table > * > tr {\\n    border-top: 1px solid #c1c1c1;\\n    border-bottom: 0 solid #c1c1c1;\\n}\\n.table { border: hidden; }\\n.table {\\n    border-color: #c1c1c1;\\n    border-style: solid;\\n    border-width: 1px 0 0 1px;\\n    border-collapse: collapse;\\n    border-spacing: 0;\\n    }\\n.titleandnotecontainer > col, .titleandnotecontainer > colgroup > col, .titleandnotecontainer > colgroup, .titleandnotecontainer > tr, .titleandnotecontainer > * > tr, .titleandnotecontainer > thead, .titleandnotecontainer > tbody, .titleandnotecontainer > tfoot { border: none; }\\n.titleandnotecontainer {\\n    background-color: #011829;\\n    border: none;\\n    border-spacing: 1px;\\n    color: #f9fafb;\\n    font-family: 'Anova UI', Arial, 'Albany AMT', Helvetica, Helv;\\n    font-size: 9pt;\\n    font-style: normal;\\n    font-weight: normal;\\n    width: 100%;\\n}\\n.titlesandfooters {\\n    background-color: #011829;\\n    color: #f9fafb;\\n    font-family: 'Anova UI', Arial, 'Albany AMT', Helvetica, Helv;\\n    font-size: 11pt;\\n    font-style: normal;\\n    font-weight: bold;\\n}\\n.usertext {\\n    background-color: #011829;\\n    color: #f9fafb;\\n    font-family: 'Anova UI', Arial, 'Albany AMT', Helvetica, Helv;\\n    font-size: 9pt;\\n    font-style: normal;\\n    font-weight: normal;\\n}\\na:visited { color: #f9fafb }\\n.warnbanner {\\n    background-color: #011829;\\n    color: #f9fafb;\\n    font-family: 'Anova UI', Arial, 'Albany AMT', Helvetica, Helv;\\n    font-size: 9pt;\\n    font-style: normal;\\n    font-weight: bold;\\n}\\n.warncontent {\\n    background-color: #011829;\\n    color: #f9fafb;\\n    font-family: 'Anova UI', Arial, 'Albany AMT', Helvetica, Helv;\\n    font-size: 9pt;\\n    font-style: normal;\\n    font-weight: normal;\\n}\\n.warncontentfixed {\\n    background-color: #011829;\\n    color: #f9fafb;\\n    font-family: 'Courier New', Courier;\\n    font-size: 8pt;\\n    font-style: normal;\\n    font-weight: normal;\\n}\\n/*]]>*/\\n</style>\\n</head>\\n<body class=\\\"c body\\\">\\n<div style=\\\"padding-bottom: 8px; padding-top: 1px\\\">\\n<div id=\\\"IDX\\\" class=\\\"proc_title_group\\\">\\n<p class=\\\"c proctitle\\\">The MEANS Procedure</p>\\n</div>\\n<div style=\\\"padding-bottom: 8px; padding-top: 1px\\\">\\n<table class=\\\"table\\\" style=\\\"border-spacing: 0\\\" aria-label=\\\"Summary statistics\\\">\\n<caption aria-label=\\\"Summary statistics\\\"></caption>\\n<colgroup><col/><col/></colgroup><colgroup><col/><col/><col/><col/><col/></colgroup>\\n<thead>\\n<tr>\\n<th class=\\\"b header\\\" scope=\\\"col\\\">Variable</th>\\n<th class=\\\"b header\\\" scope=\\\"col\\\">Label</th>\\n<th class=\\\"r b header\\\" scope=\\\"col\\\">N</th>\\n<th class=\\\"r b header\\\" scope=\\\"col\\\">Mean</th>\\n<th class=\\\"r b header\\\" scope=\\\"col\\\">Std Dev</th>\\n<th class=\\\"r b header\\\" scope=\\\"col\\\">Minimum</th>\\n<th class=\\\"r b header\\\" scope=\\\"col\\\">Maximum</th>\\n</tr>\\n</thead>\\n<tbody>\\n<tr>\\n<th class=\\\"data\\\">\\n<div class=\\\"stacked-cell\\\">\\n<div>ACTUAL</div>\\n<div>PREDICT</div>\\n<div>QUARTER</div>\\n<div>YEAR</div>\\n<div>MONTH</div>\\n</div>\\n</th>\\n<th class=\\\"data\\\">\\n<div class=\\\"stacked-cell\\\">\\n<div>Actual Sales</div>\\n<div>Predicted Sales</div>\\n<div>Quarter</div>\\n<div>Year</div>\\n<div>Month</div>\\n</div>\\n</th>\\n<td class=\\\"r data\\\">\\n<div class=\\\"stacked-cell\\\">\\n<div class=\\\"r\\\">1440</div>\\n<div class=\\\"r\\\">1440</div>\\n<div class=\\\"r\\\">1440</div>\\n<div class=\\\"r\\\">1440</div>\\n<div class=\\\"r\\\">1440</div>\\n</div>\\n</td>\\n<td class=\\\"r data\\\">\\n<div class=\\\"stacked-cell\\\">\\n<div class=\\\"r\\\">507.1784722</div>\\n<div class=\\\"r\\\">490.4826389</div>\\n<div class=\\\"r\\\">2.5000000</div>\\n<div class=\\\"r\\\">1993.50</div>\\n<div class=\\\"r\\\">12403.00</div>\\n</div>\\n</td>\\n<td class=\\\"r data\\\">\\n<div class=\\\"stacked-cell\\\">\\n<div class=\\\"r\\\">287.0313065</div>\\n<div class=\\\"r\\\">285.7667904</div>\\n<div class=\\\"r\\\">1.1184224</div>\\n<div class=\\\"r\\\">0.5001737</div>\\n<div class=\\\"r\\\">210.6291578</div>\\n</div>\\n</td>\\n<td class=\\\"r data\\\">\\n<div class=\\\"stacked-cell\\\">\\n<div class=\\\"r\\\">3.0000000</div>\\n<div class=\\\"r\\\">0</div>\\n<div class=\\\"r\\\">1.0000000</div>\\n<div class=\\\"r\\\">1993.00</div>\\n<div class=\\\"r\\\">12054.00</div>\\n</div>\\n</td>\\n<td class=\\\"r data\\\">\\n<div class=\\\"stacked-cell\\\">\\n<div class=\\\"r\\\">1000.00</div>\\n<div class=\\\"r\\\">1000.00</div>\\n<div class=\\\"r\\\">4.0000000</div>\\n<div class=\\\"r\\\">1994.00</div>\\n<div class=\\\"r\\\">12753.00</div>\\n</div>\\n</td>\\n</tr>\\n</tbody>\\n</table>\\n</div>\\n</div>\\n</body>\\n</html>\\n\",\"mime\":\"application/vnd.sas.ods.html5\"},{\"data\":\"[\\n\\t{\\n\\t\\t\\\"line\\\": \\\"40   /** LOG_START_INDICATOR **/\\\",\\n\\t\\t\\\"type\\\": \\\"source\\\",\\n\\t\\t\\\"version\\\": 1\\n\\t},\\n\\t{\\n\\t\\t\\\"line\\\": \\\"3                                                          The SAS System                          Friday,  5 December 2025 14:39:00\\\",\\n\\t\\t\\\"type\\\": \\\"title\\\",\\n\\t\\t\\\"version\\\": 1\\n\\t},\\n\\t{\\n\\t\\t\\\"line\\\": \\\"\\\",\\n\\t\\t\\\"type\\\": \\\"title\\\",\\n\\t\\t\\\"version\\\": 1\\n\\t},\\n\\t{\\n\\t\\t\\\"line\\\": \\\"41   title;footnote;ods _all_ close;\\\",\\n\\t\\t\\\"type\\\": \\\"source\\\",\\n\\t\\t\\\"version\\\": 1\\n\\t},\\n\\t{\\n\\t\\t\\\"line\\\": \\\"42   ods graphics on;\\\",\\n\\t\\t\\\"type\\\": \\\"source\\\",\\n\\t\\t\\\"version\\\": 1\\n\\t},\\n\\t{\\n\\t\\t\\\"line\\\": \\\"43   ods html5(id=vscode) style=Ignite options(bitmap_mode='inline' svg_mode='inline');\\\",\\n\\t\\t\\\"type\\\": \\\"source\\\",\\n\\t\\t\\\"version\\\": 1\\n\\t},\\n\\t{\\n\\t\\t\\\"line\\\": \\\"NOTE: Writing HTML5(VSCODE) Body file: sashtml3.htm\\\",\\n\\t\\t\\\"type\\\": \\\"note\\\",\\n\\t\\t\\\"version\\\": 1\\n\\t},\\n\\t{\\n\\t\\t\\\"line\\\": \\\"44   %let _SASPROGRAMFILE = %nrquote(%nrstr(/Users/elreid/personalGit/vscode-sas-extension/client/testFixture/sasnb_export.sasnb));\\\",\\n\\t\\t\\\"type\\\": \\\"source\\\",\\n\\t\\t\\\"version\\\": 1\\n\\t},\\n\\t{\\n\\t\\t\\\"line\\\": \\\"45   data work.prdsale;\\\",\\n\\t\\t\\\"type\\\": \\\"source\\\",\\n\\t\\t\\\"version\\\": 1\\n\\t},\\n\\t{\\n\\t\\t\\\"line\\\": \\\"46   \\\\tset sashelp.PRDSALE;\\\",\\n\\t\\t\\\"type\\\": \\\"source\\\",\\n\\t\\t\\\"version\\\": 1\\n\\t},\\n\\t{\\n\\t\\t\\\"line\\\": \\\"47   run;\\\",\\n\\t\\t\\\"type\\\": \\\"source\\\",\\n\\t\\t\\\"version\\\": 1\\n\\t},\\n\\t{\\n\\t\\t\\\"line\\\": \\\"\\\",\\n\\t\\t\\\"type\\\": \\\"note\\\",\\n\\t\\t\\\"version\\\": 1\\n\\t},\\n\\t{\\n\\t\\t\\\"line\\\": \\\"NOTE: There were 1440 observations read from the data set SASHELP.PRDSALE.\\\",\\n\\t\\t\\\"type\\\": \\\"note\\\",\\n\\t\\t\\\"version\\\": 1\\n\\t},\\n\\t{\\n\\t\\t\\\"line\\\": \\\"NOTE: The data set WORK.PRDSALE has 1440 observations and 10 variables.\\\",\\n\\t\\t\\\"type\\\": \\\"note\\\",\\n\\t\\t\\\"version\\\": 1\\n\\t},\\n\\t{\\n\\t\\t\\\"line\\\": \\\"NOTE: DATA statement used (Total process time):\\\",\\n\\t\\t\\\"type\\\": \\\"note\\\",\\n\\t\\t\\\"version\\\": 1\\n\\t},\\n\\t{\\n\\t\\t\\\"line\\\": \\\"      real time           0.00 seconds\\\",\\n\\t\\t\\\"type\\\": \\\"note\\\",\\n\\t\\t\\\"version\\\": 1\\n\\t},\\n\\t{\\n\\t\\t\\\"line\\\": \\\"      cpu time            0.02 seconds\\\",\\n\\t\\t\\\"type\\\": \\\"note\\\",\\n\\t\\t\\\"version\\\": 1\\n\\t},\\n\\t{\\n\\t\\t\\\"line\\\": \\\"      \\\",\\n\\t\\t\\\"type\\\": \\\"note\\\",\\n\\t\\t\\\"version\\\": 1\\n\\t},\\n\\t{\\n\\t\\t\\\"line\\\": \\\"\\\",\\n\\t\\t\\\"type\\\": \\\"note\\\",\\n\\t\\t\\\"version\\\": 1\\n\\t},\\n\\t{\\n\\t\\t\\\"line\\\": \\\"48   \\\",\\n\\t\\t\\\"type\\\": \\\"source\\\",\\n\\t\\t\\\"version\\\": 1\\n\\t},\\n\\t{\\n\\t\\t\\\"line\\\": \\\"49   proc means data=work.prdsale;\\\",\\n\\t\\t\\\"type\\\": \\\"source\\\",\\n\\t\\t\\\"version\\\": 1\\n\\t},\\n\\t{\\n\\t\\t\\\"line\\\": \\\"50   run;\\\",\\n\\t\\t\\\"type\\\": \\\"source\\\",\\n\\t\\t\\\"version\\\": 1\\n\\t},\\n\\t{\\n\\t\\t\\\"line\\\": \\\"\\\",\\n\\t\\t\\\"type\\\": \\\"note\\\",\\n\\t\\t\\\"version\\\": 1\\n\\t},\\n\\t{\\n\\t\\t\\\"line\\\": \\\"NOTE: There were 1440 observations read from the data set WORK.PRDSALE.\\\",\\n\\t\\t\\\"type\\\": \\\"note\\\",\\n\\t\\t\\\"version\\\": 1\\n\\t},\\n\\t{\\n\\t\\t\\\"line\\\": \\\"NOTE: PROCEDURE MEANS used (Total process time):\\\",\\n\\t\\t\\\"type\\\": \\\"note\\\",\\n\\t\\t\\\"version\\\": 1\\n\\t},\\n\\t{\\n\\t\\t\\\"line\\\": \\\"      real time           0.05 seconds\\\",\\n\\t\\t\\\"type\\\": \\\"note\\\",\\n\\t\\t\\\"version\\\": 1\\n\\t},\\n\\t{\\n\\t\\t\\\"line\\\": \\\"      cpu time            0.05 seconds\\\",\\n\\t\\t\\\"type\\\": \\\"note\\\",\\n\\t\\t\\\"version\\\": 1\\n\\t},\\n\\t{\\n\\t\\t\\\"line\\\": \\\"      \\\",\\n\\t\\t\\\"type\\\": \\\"note\\\",\\n\\t\\t\\\"version\\\": 1\\n\\t},\\n\\t{\\n\\t\\t\\\"line\\\": \\\"\\\",\\n\\t\\t\\\"type\\\": \\\"note\\\",\\n\\t\\t\\\"version\\\": 1\\n\\t},\\n\\t{\\n\\t\\t\\\"line\\\": \\\"51   ;*';*\\\\\\\";*/;run;quit;ods html5(id=vscode) close;\\\",\\n\\t\\t\\\"type\\\": \\\"source\\\",\\n\\t\\t\\\"version\\\": 1\\n\\t},\\n\\t{\\n\\t\\t\\\"line\\\": \\\"52   \\\",\\n\\t\\t\\\"type\\\": \\\"source\\\",\\n\\t\\t\\\"version\\\": 1\\n\\t},\\n\\t{\\n\\t\\t\\\"line\\\": \\\"\\\",\\n\\t\\t\\\"type\\\": \\\"note\\\",\\n\\t\\t\\\"version\\\": 1\\n\\t}\\n]\",\"mime\":\"application/vnd.sas.compute.log.lines\"}]}]},{\"kind\":1,\"language\":\"markdown\",\"value\":\"## SQL Code\",\"outputs\":[]},{\"kind\":2,\"language\":\"sql\",\"value\":\"CREATE TABLE WORK.QUERY_PRDSALE AS\\n    SELECT\\n        (t1.COUNTRY) LABEL='Country' FORMAT=$CHAR10.,\\n        (SUM(t1.ACTUAL)) FORMAT=DOLLAR12.2 LENGTH=8 AS SUM_ACTUAL\\n    FROM\\n        WORK.PRDSALE t1\\n    GROUP BY\\n        t1.COUNTRY\",\"outputs\":[{\"items\":[{\"data\":\"[\\n\\t{\\n\\t\\t\\\"line\\\": \\\"53   /** LOG_START_INDICATOR **/\\\",\\n\\t\\t\\\"type\\\": \\\"source\\\",\\n\\t\\t\\\"version\\\": 1\\n\\t},\\n\\t{\\n\\t\\t\\\"line\\\": \\\"54   title;footnote;ods _all_ close;\\\",\\n\\t\\t\\\"type\\\": \\\"source\\\",\\n\\t\\t\\\"version\\\": 1\\n\\t},\\n\\t{\\n\\t\\t\\\"line\\\": \\\"55   ods graphics on;\\\",\\n\\t\\t\\\"type\\\": \\\"source\\\",\\n\\t\\t\\\"version\\\": 1\\n\\t},\\n\\t{\\n\\t\\t\\\"line\\\": \\\"56   ods html5(id=vscode) style=Ignite options(bitmap_mode='inline' svg_mode='inline');\\\",\\n\\t\\t\\\"type\\\": \\\"source\\\",\\n\\t\\t\\\"version\\\": 1\\n\\t},\\n\\t{\\n\\t\\t\\\"line\\\": \\\"NOTE: Writing HTML5(VSCODE) Body file: sashtml4.htm\\\",\\n\\t\\t\\\"type\\\": \\\"note\\\",\\n\\t\\t\\\"version\\\": 1\\n\\t},\\n\\t{\\n\\t\\t\\\"line\\\": \\\"57   %let _SASPROGRAMFILE = %nrquote(%nrstr(/Users/elreid/personalGit/vscode-sas-extension/client/testFixture/sasnb_export.sasnb));\\\",\\n\\t\\t\\\"type\\\": \\\"source\\\",\\n\\t\\t\\\"version\\\": 1\\n\\t},\\n\\t{\\n\\t\\t\\\"line\\\": \\\"58   proc sql;\\\",\\n\\t\\t\\\"type\\\": \\\"source\\\",\\n\\t\\t\\\"version\\\": 1\\n\\t},\\n\\t{\\n\\t\\t\\\"line\\\": \\\"59   CREATE TABLE WORK.QUERY_PRDSALE AS\\\",\\n\\t\\t\\\"type\\\": \\\"source\\\",\\n\\t\\t\\\"version\\\": 1\\n\\t},\\n\\t{\\n\\t\\t\\\"line\\\": \\\"60       SELECT\\\",\\n\\t\\t\\\"type\\\": \\\"source\\\",\\n\\t\\t\\\"version\\\": 1\\n\\t},\\n\\t{\\n\\t\\t\\\"line\\\": \\\"61           (t1.COUNTRY) LABEL='Country' FORMAT=$CHAR10.,\\\",\\n\\t\\t\\\"type\\\": \\\"source\\\",\\n\\t\\t\\\"version\\\": 1\\n\\t},\\n\\t{\\n\\t\\t\\\"line\\\": \\\"62           (SUM(t1.ACTUAL)) FORMAT=DOLLAR12.2 LENGTH=8 AS SUM_ACTUAL\\\",\\n\\t\\t\\\"type\\\": \\\"source\\\",\\n\\t\\t\\\"version\\\": 1\\n\\t},\\n\\t{\\n\\t\\t\\\"line\\\": \\\"63       FROM\\\",\\n\\t\\t\\\"type\\\": \\\"source\\\",\\n\\t\\t\\\"version\\\": 1\\n\\t},\\n\\t{\\n\\t\\t\\\"line\\\": \\\"64           WORK.PRDSALE t1\\\",\\n\\t\\t\\\"type\\\": \\\"source\\\",\\n\\t\\t\\\"version\\\": 1\\n\\t},\\n\\t{\\n\\t\\t\\\"line\\\": \\\"65       GROUP BY\\\",\\n\\t\\t\\\"type\\\": \\\"source\\\",\\n\\t\\t\\\"version\\\": 1\\n\\t},\\n\\t{\\n\\t\\t\\\"line\\\": \\\"66           t1.COUNTRY\\\",\\n\\t\\t\\\"type\\\": \\\"source\\\",\\n\\t\\t\\\"version\\\": 1\\n\\t},\\n\\t{\\n\\t\\t\\\"line\\\": \\\"67   ;\\\",\\n\\t\\t\\\"type\\\": \\\"source\\\",\\n\\t\\t\\\"version\\\": 1\\n\\t},\\n\\t{\\n\\t\\t\\\"line\\\": \\\"NOTE: Table WORK.QUERY_PRDSALE created, with 3 rows and 2 columns.\\\",\\n\\t\\t\\\"type\\\": \\\"note\\\",\\n\\t\\t\\\"version\\\": 1\\n\\t},\\n\\t{\\n\\t\\t\\\"line\\\": \\\"\\\",\\n\\t\\t\\\"type\\\": \\\"normal\\\",\\n\\t\\t\\\"version\\\": 1\\n\\t},\\n\\t{\\n\\t\\t\\\"line\\\": \\\"67 !  quit;\\\",\\n\\t\\t\\\"type\\\": \\\"source\\\",\\n\\t\\t\\\"version\\\": 1\\n\\t},\\n\\t{\\n\\t\\t\\\"line\\\": \\\"NOTE: PROCEDURE SQL used (Total process time):\\\",\\n\\t\\t\\\"type\\\": \\\"note\\\",\\n\\t\\t\\\"version\\\": 1\\n\\t},\\n\\t{\\n\\t\\t\\\"line\\\": \\\"      real time           0.01 seconds\\\",\\n\\t\\t\\\"type\\\": \\\"note\\\",\\n\\t\\t\\\"version\\\": 1\\n\\t},\\n\\t{\\n\\t\\t\\\"line\\\": \\\"      cpu time            0.01 seconds\\\",\\n\\t\\t\\\"type\\\": \\\"note\\\",\\n\\t\\t\\\"version\\\": 1\\n\\t},\\n\\t{\\n\\t\\t\\\"line\\\": \\\"      \\\",\\n\\t\\t\\\"type\\\": \\\"note\\\",\\n\\t\\t\\\"version\\\": 1\\n\\t},\\n\\t{\\n\\t\\t\\\"line\\\": \\\"\\\",\\n\\t\\t\\\"type\\\": \\\"note\\\",\\n\\t\\t\\\"version\\\": 1\\n\\t},\\n\\t{\\n\\t\\t\\\"line\\\": \\\"68   ;*';*\\\\\\\";*/;run;quit;ods html5(id=vscode) close;\\\",\\n\\t\\t\\\"type\\\": \\\"source\\\",\\n\\t\\t\\\"version\\\": 1\\n\\t},\\n\\t{\\n\\t\\t\\\"line\\\": \\\"69   \\\",\\n\\t\\t\\\"type\\\": \\\"source\\\",\\n\\t\\t\\\"version\\\": 1\\n\\t},\\n\\t{\\n\\t\\t\\\"line\\\": \\\"\\\",\\n\\t\\t\\\"type\\\": \\\"note\\\",\\n\\t\\t\\\"version\\\": 1\\n\\t}\\n]\",\"mime\":\"application/vnd.sas.compute.log.lines\"}]}]},{\"kind\":1,\"language\":\"markdown\",\"value\":\"A last comment in Markdown at the end of the document\",\"outputs\":[]},{\"kind\":1,\"language\":\"markdown\",\"value\":\"\",\"outputs\":[]}]"
  },
  {
    "path": "client/testFixture/test.ipynb",
    "content": "{\n \"cells\": [\n  {\n   \"cell_type\": \"markdown\",\n   \"id\": \"26fe0d41-b4da-4902-845a-98e5c0c8e72a\",\n   \"metadata\": {},\n   \"source\": [\n    \"# Python test\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"id\": \"78855cba-1ec7-4e26-be74-23665ca2f4ee\",\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"import pandas as pd\\n\",\n    \"\\n\",\n    \"df = pd.DataFrame({'col1': [1, 2], 'col2': [3, 4]})\\n\",\n    \"df.head()\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"id\": \"7906e55d-829b-41da-8536-5dba90d2dddd\",\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": []\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"id\": \"483eda5c-6fb4-4193-99c1-7ea7ab9ad338\",\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"df.info()\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"id\": \"3f652f5e-c531-4e9d-9349-9ae1f52773ad\",\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": []\n  }\n ],\n \"metadata\": {\n  \"kernelspec\": {\n   \"display_name\": \"Python 3 (ipykernel)\",\n   \"language\": \"python\",\n   \"name\": \"python3\"\n  },\n  \"language_info\": {\n   \"codemirror_mode\": {\n    \"name\": \"ipython\",\n    \"version\": 3\n   },\n   \"file_extension\": \".py\",\n   \"mimetype\": \"text/x-python\",\n   \"name\": \"python\",\n   \"nbconvert_exporter\": \"python\",\n   \"pygments_lexer\": \"ipython3\",\n   \"version\": \"3.9.7\"\n  }\n },\n \"nbformat\": 4,\n \"nbformat_minor\": 5\n}\n"
  },
  {
    "path": "client/testFixture/test_ipynb.flw",
    "content": "{\"creationTimeStamp\":\"2023-08-29T13:15:46.334Z\",\"modifiedTimeStamp\":\"2023-08-29T13:15:46.334Z\",\"createdBy\":\"user@sas.com\",\"modifiedBy\":\"user@sas.com\",\"version\":2,\"id\":null,\"name\":\"test_ipynb_node.flw\",\"description\":null,\"properties\":{\"UI_PROP_DF_OPTIMIZE\":\"false\",\"UI_PROP_DF_ID\":\"120081fc-2d7f-4cfc-bcd3-47f9684e9763\",\"UI_PROP_DF_EXECUTION_ORDERED\":\"false\"},\"links\":[{\"method\":\"GET\",\"rel\":\"self\",\"href\":\"/dataFlows/dataFlows/77047e43-d5eb-40c4-a58f-ed030dd9849e\",\"uri\":\"/dataFlows/dataFlows/77047e43-d5eb-40c4-a58f-ed030dd9849e\",\"type\":\"application/vnd.sas.data.flow\"},{\"method\":\"GET\",\"rel\":\"alternate\",\"href\":\"/dataFlows/dataFlows/77047e43-d5eb-40c4-a58f-ed030dd9849e\",\"uri\":\"/dataFlows/dataFlows/77047e43-d5eb-40c4-a58f-ed030dd9849e\",\"type\":\"application/vnd.sas.data.flow.summary\"},{\"method\":\"GET\",\"rel\":\"up\",\"href\":\"/dataFlows/dataFlows\",\"uri\":\"/dataFlows/dataFlows\",\"type\":\"application/vnd.sas.collection\",\"itemType\":\"application/vnd.sas.data.flow.summary\"},{\"method\":\"PUT\",\"rel\":\"update\",\"href\":\"/dataFlows/dataFlows/77047e43-d5eb-40c4-a58f-ed030dd9849e\",\"uri\":\"/dataFlows/dataFlows/77047e43-d5eb-40c4-a58f-ed030dd9849e\",\"type\":\"application/vnd.sas.data.flow\",\"responseType\":\"application/vnd.sas.data.flow\"},{\"method\":\"DELETE\",\"rel\":\"delete\",\"href\":\"/dataFlows/dataFlows/77047e43-d5eb-40c4-a58f-ed030dd9849e\",\"uri\":\"/dataFlows/dataFlows/77047e43-d5eb-40c4-a58f-ed030dd9849e\"},{\"method\":\"GET\",\"rel\":\"transferExport\",\"href\":\"/dataFlows/dataFlows/77047e43-d5eb-40c4-a58f-ed030dd9849e\",\"uri\":\"/dataFlows/dataFlows/77047e43-d5eb-40c4-a58f-ed030dd9849e\",\"responseType\":\"application/vnd.sas.transfer.object\"},{\"method\":\"PUT\",\"rel\":\"transferImportUpdate\",\"href\":\"/dataFlows/dataFlows/77047e43-d5eb-40c4-a58f-ed030dd9849e\",\"uri\":\"/dataFlows/dataFlows/77047e43-d5eb-40c4-a58f-ed030dd9849e\",\"type\":\"application/vnd.sas.transfer.object\",\"responseType\":\"application/vnd.sas.summary\"}],\"nodes\":{\"884cafa1-864e-46b8-9dae-6315e08b28d4\":{\"nodeType\":\"step\",\"version\":1,\"id\":\"884cafa1-864e-46b8-9dae-6315e08b28d4\",\"name\":\"Python Program\",\"note\":{\"version\":1,\"id\":\"5cd551f7-60d8-4095-93bb-3e778b5622ed\",\"name\":null,\"description\":null,\"properties\":{\"UI_NOTE_PROP_HEIGHT\":\"0\",\"UI_NOTE_PROP_IS_EXPANDED\":\"false\",\"UI_NOTE_PROP_IS_STICKYNOTE\":\"false\",\"UI_NOTE_PROP_WIDTH\":\"0\"}},\"priority\":0,\"properties\":{\"UI_PROP_COLORGRP\":\"0\",\"UI_PROP_IS_INPUT_EXPANDED\":\"false\",\"UI_PROP_IS_OUTPUT_EXPANDED\":\"false\",\"UI_PROP_NODE_DATA_ID\":\"ab59f8c4-af9a-4608-a5d5-a8365357bb99\",\"UI_PROP_NODE_DATA_MODIFIED_DATE\":\"1693314944715\",\"UI_PROP_PORT_DESCRIPTION|outTables|0\":\"Output tables\",\"UI_PROP_PORT_LABEL|outTables|0\":\"Output table 1\",\"UI_PROP_XPOS\":\"150\",\"UI_PROP_YPOS\":\"75\"},\"portMappings\":[{\"mappingType\":\"tableStructure\",\"portName\":\"outTables\",\"portIndex\":0,\"tableStructure\":{\"columnDefinitions\":null}}],\"stepReference\":{\"type\":\"uri\",\"path\":\"/dataFlows/steps/ab59f8c4-af9a-4608-a5d5-a8365357bb99\"},\"arguments\":{\"codeOptions\":{\"code\":\"import pandas as pd\\n\\ndf = pd.DataFrame({'col1': [1, 2], 'col2': [3, 4]})\\ndf.head()\",\"contentType\":\"embedded\",\"logHTML\":\"\",\"resultsHTML\":\"\",\"variables\":[{\"name\":\"_input1\",\"value\":{\"portIndex\":0,\"portName\":\"inTables\",\"referenceType\":\"inputPort\"}},{\"name\":\"_output1\",\"value\":{\"arguments\":{},\"portIndex\":0,\"portName\":\"outTables\",\"referenceType\":\"outputPort\"}}]}}},\"da186f9d-d1f1-4b5f-9f1c-6e16f979a296\":{\"nodeType\":\"step\",\"version\":1,\"id\":\"da186f9d-d1f1-4b5f-9f1c-6e16f979a296\",\"name\":\"Python Program\",\"note\":{\"version\":1,\"id\":\"7ef2a8df-095a-48b2-916e-8a292c2d1e5a\",\"name\":null,\"description\":null,\"properties\":{\"UI_NOTE_PROP_HEIGHT\":\"0\",\"UI_NOTE_PROP_IS_EXPANDED\":\"false\",\"UI_NOTE_PROP_IS_STICKYNOTE\":\"false\",\"UI_NOTE_PROP_WIDTH\":\"0\"}},\"priority\":1,\"properties\":{\"UI_PROP_COLORGRP\":\"0\",\"UI_PROP_IS_INPUT_EXPANDED\":\"false\",\"UI_PROP_IS_OUTPUT_EXPANDED\":\"false\",\"UI_PROP_NODE_DATA_ID\":\"ab59f8c4-af9a-4608-a5d5-a8365357bb99\",\"UI_PROP_NODE_DATA_MODIFIED_DATE\":\"1693314944715\",\"UI_PROP_PORT_DESCRIPTION|inTables|0\":\"Input tables\",\"UI_PROP_PORT_LABEL|inTables|0\":\"Input table 1\",\"UI_PROP_XPOS\":\"300\",\"UI_PROP_YPOS\":\"75\"},\"portMappings\":[{\"mappingType\":\"tableStructure\",\"portName\":\"outTables\",\"portIndex\":0,\"tableStructure\":{\"columnDefinitions\":null}}],\"stepReference\":{\"type\":\"uri\",\"path\":\"/dataFlows/steps/ab59f8c4-af9a-4608-a5d5-a8365357bb99\"},\"arguments\":{\"codeOptions\":{\"code\":\"df.info()\",\"contentType\":\"embedded\",\"logHTML\":\"\",\"resultsHTML\":\"\",\"variables\":[{\"name\":\"_input1\",\"value\":{\"portIndex\":0,\"portName\":\"inTables\",\"referenceType\":\"inputPort\"}},{\"name\":\"_output1\",\"value\":{\"arguments\":{},\"portIndex\":0,\"portName\":\"outTables\",\"referenceType\":\"outputPort\"}}]}}}},\"parameters\":{},\"connections\":[{\"sourcePort\":{\"node\":\"884cafa1-864e-46b8-9dae-6315e08b28d4\",\"portName\":\"outTables\",\"index\":0},\"targetPort\":{\"node\":\"da186f9d-d1f1-4b5f-9f1c-6e16f979a296\",\"portName\":\"inTables\",\"index\":0}}],\"extendedProperties\":{},\"stickyNotes\":[]}"
  },
  {
    "path": "client/testFixture/test_multi.sasnb",
    "content": "[{\"kind\":1,\"language\":\"markdown\",\"value\":\"# Notebook to Flow Test\",\"outputs\":[]},{\"kind\":1,\"language\":\"markdown\",\"value\":\"## Python Code\\n\\nThis is some Python code\",\"outputs\":[]},{\"kind\":1,\"language\":\"markdown\",\"value\":\"This is a separate note in **Markdown** format.\",\"outputs\":[]},{\"kind\":2,\"language\":\"python\",\"value\":\"a, b = 4, 2\\r\\nprint(\\\"Result: \\\", a*10 + b)\",\"outputs\":[{\"items\":[{\"data\":\"[\\n\\t{\\n\\t\\t\\\"line\\\": \\\"44   ods html5;\\\",\\n\\t\\t\\\"type\\\": \\\"source\\\",\\n\\t\\t\\\"version\\\": 1\\n\\t},\\n\\t{\\n\\t\\t\\\"line\\\": \\\"NOTE: Writing HTML5 Body file: sashtml4.htm\\\",\\n\\t\\t\\\"type\\\": \\\"note\\\",\\n\\t\\t\\\"version\\\": 1\\n\\t},\\n\\t{\\n\\t\\t\\\"line\\\": \\\"45   proc python;\\\",\\n\\t\\t\\\"type\\\": \\\"source\\\",\\n\\t\\t\\\"version\\\": 1\\n\\t},\\n\\t{\\n\\t\\t\\\"line\\\": \\\"46   submit\\\",\\n\\t\\t\\\"type\\\": \\\"source\\\",\\n\\t\\t\\\"version\\\": 1\\n\\t},\\n\\t{\\n\\t\\t\\\"line\\\": \\\"NOTE: Resuming Python state from previous PROC PYTHON invocation.\\\",\\n\\t\\t\\\"type\\\": \\\"note\\\",\\n\\t\\t\\\"version\\\": 1\\n\\t},\\n\\t{\\n\\t\\t\\\"line\\\": \\\"46 !       ;\\\",\\n\\t\\t\\\"type\\\": \\\"source\\\",\\n\\t\\t\\\"version\\\": 1\\n\\t},\\n\\t{\\n\\t\\t\\\"line\\\": \\\"47   a, b = 4, 2\\\",\\n\\t\\t\\\"type\\\": \\\"source\\\",\\n\\t\\t\\\"version\\\": 1\\n\\t},\\n\\t{\\n\\t\\t\\\"line\\\": \\\"48   print(\\\\\\\"Result: \\\\\\\", a*10 + b)\\\",\\n\\t\\t\\\"type\\\": \\\"source\\\",\\n\\t\\t\\\"version\\\": 1\\n\\t},\\n\\t{\\n\\t\\t\\\"line\\\": \\\"49   endsubmit;\\\",\\n\\t\\t\\\"type\\\": \\\"source\\\",\\n\\t\\t\\\"version\\\": 1\\n\\t},\\n\\t{\\n\\t\\t\\\"line\\\": \\\"50   run;\\\",\\n\\t\\t\\\"type\\\": \\\"source\\\",\\n\\t\\t\\\"version\\\": 1\\n\\t},\\n\\t{\\n\\t\\t\\\"line\\\": \\\"\\\",\\n\\t\\t\\\"type\\\": \\\"note\\\",\\n\\t\\t\\\"version\\\": 1\\n\\t},\\n\\t{\\n\\t\\t\\\"line\\\": \\\">>>\\\",\\n\\t\\t\\\"type\\\": \\\"normal\\\",\\n\\t\\t\\\"version\\\": 1\\n\\t},\\n\\t{\\n\\t\\t\\\"line\\\": \\\"Result:  42\\\",\\n\\t\\t\\\"type\\\": \\\"normal\\\",\\n\\t\\t\\\"version\\\": 1\\n\\t},\\n\\t{\\n\\t\\t\\\"line\\\": \\\">>> \\\",\\n\\t\\t\\\"type\\\": \\\"normal\\\",\\n\\t\\t\\\"version\\\": 1\\n\\t},\\n\\t{\\n\\t\\t\\\"line\\\": \\\"NOTE: PROCEDURE PYTHON used (Total process time):\\\",\\n\\t\\t\\\"type\\\": \\\"note\\\",\\n\\t\\t\\\"version\\\": 1\\n\\t},\\n\\t{\\n\\t\\t\\\"line\\\": \\\"      real time           0.00 seconds\\\",\\n\\t\\t\\\"type\\\": \\\"note\\\",\\n\\t\\t\\\"version\\\": 1\\n\\t},\\n\\t{\\n\\t\\t\\\"line\\\": \\\"      cpu time            0.00 seconds\\\",\\n\\t\\t\\\"type\\\": \\\"note\\\",\\n\\t\\t\\\"version\\\": 1\\n\\t},\\n\\t{\\n\\t\\t\\\"line\\\": \\\"      \\\",\\n\\t\\t\\\"type\\\": \\\"note\\\",\\n\\t\\t\\\"version\\\": 1\\n\\t},\\n\\t{\\n\\t\\t\\\"line\\\": \\\"\\\",\\n\\t\\t\\\"type\\\": \\\"note\\\",\\n\\t\\t\\\"version\\\": 1\\n\\t},\\n\\t{\\n\\t\\t\\\"line\\\": \\\"51   ;run;quit;ods html5 close;\\\",\\n\\t\\t\\\"type\\\": \\\"source\\\",\\n\\t\\t\\\"version\\\": 1\\n\\t}\\n]\",\"mime\":\"application/vnd.sas.compute.log.lines\"}]}]},{\"kind\":1,\"language\":\"markdown\",\"value\":\"## SAS Code\",\"outputs\":[]},{\"kind\":2,\"language\":\"sas\",\"value\":\"data work.prdsale;\\r\\n\\tset sashelp.PRDSALE;\\r\\nrun;\\r\\n\\r\\nproc means data=work.prdsale;\\r\\nrun;\",\"outputs\":[{\"items\":[{\"data\":\"<!DOCTYPE html>\\n<html lang=\\\"en\\\" xml:lang=\\\"en\\\" xmlns=\\\"http://www.w3.org/1999/xhtml\\\">\\n<head>\\n<meta charset=\\\"utf-8\\\"/>\\n<meta content=\\\"SAS V.04.00\\\" name=\\\"generator\\\"/>\\n<title>SAS Output</title>\\n<style>\\n/*<![CDATA[*/\\n.body.c > table, .body.c > pre, .body.c div > table,\\n.body.c div > pre, .body.c > table, .body.c > pre,\\n.body.j > table, .body.j > pre, .body.j div > table,\\n.body.j div > pre, .body.j > table, .body.j > pre,\\n.body.c p.note, .body.c p.warning, .body.c p.error, .body.c p.fatal,\\n.body.j p.note, .body.j p.warning, .body.j p.error, .body.j p.fatal,\\n.body.c > table.layoutcontainer, .body.j > table.layoutcontainer { margin-left: auto; margin-right: auto }\\n.layoutregion.l table, .layoutregion.l pre, .layoutregion.l p.note,\\n.layoutregion.l p.warning, .layoutregion.l p.error, .layoutregion.l p.fatal { margin-left: 0 }\\n.layoutregion.c table, .layoutregion.c pre, .layoutregion.c p.note,\\n.layoutregion.c p.warning, .layoutregion.c p.error, .layoutregion.c p.fatal { margin-left: auto; margin-right: auto }\\n.layoutregion.r table, .layoutregion.r pre, .layoutregion.r p.note,\\n.layoutregion.r table, .layoutregion.r pre, .layoutregion.r p.note,\\n.layoutregion.r p.warning, .layoutregion.r p.error, .layoutregion.r p.fatal { margin-right: 0 }\\narticle, aside, details, figcaption, figure, footer, header, hgroup, nav, section { display: block }\\nhtml{ font-size: 100% }\\n.body { margin: 1em; font-size: 13px; line-height: 1.231 }\\nsup { position: relative; vertical-align: baseline; bottom: 0.25em; font-size: 0.8em }\\nsub { position: relative; vertical-align: baseline; top: 0.25em; font-size: 0.8em }\\nul, ol { margin: 1em 0; padding: 0 0 0 40px }\\ndd { margin: 0 0 0 40px }\\nnav ul, nav ol { list-style: none; list-style-image: none; margin: 0; padding: 0 }\\nimg { border: 0; vertical-align: middle }\\nsvg:not(:root) { overflow: hidden }\\nfigure { margin: 0 }\\ntable { border-collapse: collapse; border-spacing: 0 }\\n.layoutcontainer { border-collapse: separate; border-spacing: 0 }\\np { margin-top: 0; text-align: left }\\nh1.heading1 { text-align: left }\\nh2.heading2 { text-align: left }\\nh3.heading3 { text-align: left }\\nh4.heading4 { text-align: left }\\nh5.heading5 { text-align: left }\\nh6.heading6 { text-align: left }\\nspan { text-align: left }\\ntable { margin-bottom: 1em }\\ntd, th { text-align: left; padding: 3px 6px; vertical-align: top }\\ntd[class$=\\\"fixed\\\"], th[class$=\\\"fixed\\\"] { white-space: pre }\\nsection, article { padding-top: 1px; padding-bottom: 8px }\\nhr.pagebreak { height: 0px; border: 0; border-bottom: 1px solid #c0c0c0; margin: 1em 0 }\\n.stacked-value { text-align: left; display: block }\\n.stacked-cell > .stacked-value, td.data > td.data, th.data > td.data, th.data > th.data, td.data > th.data, th.header > th.header { border: 0 }\\n.stacked-cell > div.data { border-width: 0 }\\n.systitleandfootercontainer { white-space: nowrap; margin-bottom: 1em }\\n.systitleandfootercontainer > p { margin: 0 }\\n.systitleandfootercontainer > p > span { display: inline-block; width: 100%; white-space: normal }\\n.batch { display: table }\\n.toc { display: none }\\n.proc_note_group, .proc_title_group { margin-bottom: 1em }\\np.proctitle { margin: 0 }\\np.note, p.warning, p.error, p.fatal { display: table }\\n.notebanner, .warnbanner, .errorbanner, .fatalbanner,\\n.notecontent, .warncontent, .errorcontent, .fatalcontent { display: table-cell; padding: 0.5em }\\n.notebanner, .warnbanner, .errorbanner, .fatalbanner { padding-right: 0 }\\n.body > div > ol li { text-align: left }\\n.beforecaption > h4 { margin-top: 0; margin-bottom: 0 }\\n.c { text-align: center }\\n.r { text-align: right }\\n.l { text-align: left }\\n.j { text-align: justify }\\n.d { text-align: right }\\n.b { vertical-align: bottom }\\n.m { vertical-align: middle }\\n.t { vertical-align: top }\\n.accessiblecaption {\\n    background-color: #fafbfe;\\n    color: #112277;\\n    font-family: 'Avenir Next for SAS', Arial, 'Albany AMT', Helvetica, Helv;\\n    font-size: 14px;\\n    font-style: normal;\\n    font-weight: bold;\\n}\\na:active { color: #800080 }\\n.aftercaption {\\n    background-color: #fafbfe;\\n    border-spacing: 0;\\n    color: #112277;\\n    font-family: 'Avenir Next for SAS', Arial, 'Albany AMT', Helvetica, Helv;\\n    font-size: 14px;\\n    font-style: normal;\\n    font-weight: bold;\\n    padding-top: 4pt;\\n}\\n.batch > colgroup {\\n    border-left: 1px solid #c1c1c1;\\n    border-right: 1px solid #c1c1c1;\\n}\\n.batch > tbody, .batch > thead, .batch > tfoot {\\n    border-top: 1px solid #c1c1c1;\\n    border-bottom: 1px solid #c1c1c1;\\n}\\n.batch { border: hidden; }\\n.batch {\\n    background-color: #fafbfe;\\n    border: 1px solid #c1c1c1;\\n    border-collapse: separate;\\n    border-spacing: 1px;\\n    color: #000000;\\n    font-family: 'SAS Monospace', 'Courier New', Courier, monospace;\\n    font-size: 14px;\\n    font-style: normal;\\n    font-weight: normal;\\n    padding: 7px;\\n    }\\n.beforecaption {\\n    background-color: #fafbfe;\\n    border-spacing: 0;\\n    color: #112277;\\n    font-family: 'Avenir Next for SAS', Arial, 'Albany AMT', Helvetica, Helv;\\n    font-size: 14px;\\n    font-style: normal;\\n    font-weight: bold;\\n}\\n.body {\\n    background-color: #fafbfe;\\n    color: #000000;\\n    font-family: 'Avenir Next for SAS', Arial, 'Albany AMT', Helvetica, Helv;\\n    font-size: 14px;\\n    font-style: normal;\\n    font-weight: normal;\\n    margin-left: 8px;\\n    margin-right: 8px;\\n}\\n.bodydate {\\n    background-color: #fafbfe;\\n    border-spacing: 0;\\n    color: #000000;\\n    font-family: 'Avenir Next for SAS', Arial, 'Albany AMT', Helvetica, Helv;\\n    font-size: 14px;\\n    font-style: normal;\\n    font-weight: normal;\\n    text-align: right;\\n    vertical-align: top;\\n    width: 100%;\\n}\\n.bycontentfolder {\\n    color: #000000;\\n    font-family: 'Avenir Next for SAS', Arial, 'Albany AMT', Helvetica, Helv;\\n    font-size: 14px;\\n    font-style: normal;\\n    font-weight: normal;\\n    list-style-type: none;\\n    margin-left: 6pt;\\n}\\n.byline {\\n    background-color: #fafbfe;\\n    border-spacing: 0;\\n    color: #112277;\\n    font-family: 'Avenir Next for SAS', Arial, 'Albany AMT', Helvetica, Helv;\\n    font-size: 14px;\\n    font-style: normal;\\n    font-weight: bold;\\n}\\n.bylinecontainer > col, .bylinecontainer > colgroup > col, .bylinecontainer > colgroup, .bylinecontainer > tr, .bylinecontainer > * > tr, .bylinecontainer > thead, .bylinecontainer > tbody, .bylinecontainer > tfoot { border: none; }\\n.bylinecontainer {\\n    background-color: #fafbfe;\\n    border: none;\\n    border-spacing: 1px;\\n    color: #000000;\\n    font-family: 'Avenir Next for SAS', Arial, 'Albany AMT', Helvetica, Helv;\\n    font-size: 14px;\\n    font-style: normal;\\n    font-weight: normal;\\n    width: 100%;\\n}\\n.caption {\\n    background-color: #fafbfe;\\n    border-spacing: 0;\\n    color: #112277;\\n    font-family: 'Avenir Next for SAS', Arial, 'Albany AMT', Helvetica, Helv;\\n    font-size: 14px;\\n    font-style: normal;\\n    font-weight: bold;\\n}\\n.cell, .container {\\n    background-color: #fafbfe;\\n    color: #000000;\\n    font-family: 'Avenir Next for SAS', Arial, 'Albany AMT', Helvetica, Helv;\\n    font-size: 14px;\\n    font-style: normal;\\n    font-weight: normal;\\n}\\n.contentfolder, .contentitem {\\n    color: #000000;\\n    font-family: 'Avenir Next for SAS', Arial, 'Albany AMT', Helvetica, Helv;\\n    font-size: 14px;\\n    font-style: normal;\\n    font-weight: normal;\\n    list-style-type: none;\\n    margin-left: 6pt;\\n}\\n.contentproclabel, .contentprocname {\\n    background-color: #fafbfe;\\n    color: #112277;\\n    font-family: 'Avenir Next for SAS', Arial, 'Albany AMT', Helvetica, Helv;\\n    font-size: 14px;\\n    font-style: normal;\\n    font-weight: bold;\\n}\\n.contents {\\n    background-color: #fafbfe;\\n    color: #000000;\\n    font-family: 'Avenir Next for SAS', Arial, 'Albany AMT', Helvetica, Helv;\\n    font-size: 14px;\\n    font-style: normal;\\n    font-weight: normal;\\n    list-style-type: decimal;\\n    margin-left: 8px;\\n    margin-right: 8px;\\n}\\n.contentsdate {\\n    background-color: #fafbfe;\\n    color: #000000;\\n    font-family: 'Avenir Next for SAS', Arial, 'Albany AMT', Helvetica, Helv;\\n    font-size: 14px;\\n    font-style: normal;\\n    font-weight: normal;\\n    width: 100%;\\n}\\n.contenttitle {\\n    background-color: #fafbfe;\\n    color: #112277;\\n    font-family: 'Avenir Next for SAS', Arial, 'Albany AMT', Helvetica, Helv;\\n    font-size: 14px;\\n    font-style: italic;\\n    font-weight: bold;\\n}\\n.continued {\\n    background-color: #fafbfe;\\n    border-spacing: 0;\\n    color: #112277;\\n    font-family: 'Avenir Next for SAS', Arial, 'Albany AMT', Helvetica, Helv;\\n    font-size: 14px;\\n    font-style: normal;\\n    font-weight: bold;\\n    width: 100%;\\n}\\n.data, .dataemphasis {\\n    background-color: #ffffff;\\n    border-color: #c1c1c1;\\n    border-style: solid;\\n    border-width: 0 1px 1px 0;\\n    font-family: 'Avenir Next for SAS', Arial, 'Albany AMT', Helvetica, Helv;\\n    font-size: 14px;\\n    font-style: normal;\\n    font-weight: normal;\\n}\\n.dataemphasisfixed {\\n    background-color: #ffffff;\\n    border-color: #c1c1c1;\\n    border-style: solid;\\n    border-width: 0 1px 1px 0;\\n    font-family: 'Courier New', Courier, monospace;\\n    font-size: 14px;\\n    font-style: italic;\\n    font-weight: normal;\\n}\\n.dataempty {\\n    background-color: #ffffff;\\n    border-color: #c1c1c1;\\n    border-style: solid;\\n    border-width: 0 1px 1px 0;\\n    font-family: 'Avenir Next for SAS', Arial, 'Albany AMT', Helvetica, Helv;\\n    font-size: 14px;\\n    font-style: normal;\\n    font-weight: normal;\\n}\\n.datafixed {\\n    background-color: #ffffff;\\n    border-color: #c1c1c1;\\n    border-style: solid;\\n    border-width: 0 1px 1px 0;\\n    font-family: 'Courier New', Courier;\\n    font-size: 14px;\\n    font-style: normal;\\n    font-weight: normal;\\n}\\n.datastrong {\\n    background-color: #ffffff;\\n    border-color: #c1c1c1;\\n    border-style: solid;\\n    border-width: 0 1px 1px 0;\\n    color: #000000;\\n    font-family: 'Avenir Next for SAS', Arial, 'Albany AMT', Helvetica, Helv;\\n    font-size: 14px;\\n    font-style: normal;\\n    font-weight: bold;\\n}\\n.datastrongfixed {\\n    background-color: #ffffff;\\n    border-color: #c1c1c1;\\n    border-style: solid;\\n    border-width: 0 1px 1px 0;\\n    color: #000000;\\n    font-family: 'Courier New', Courier, monospace;\\n    font-size: 14px;\\n    font-style: normal;\\n    font-weight: bold;\\n}\\n.date {\\n    background-color: #fafbfe;\\n    color: #000000;\\n    font-family: 'Avenir Next for SAS', Arial, 'Albany AMT', Helvetica, Helv;\\n    font-size: 14px;\\n    font-style: normal;\\n    font-weight: normal;\\n    width: 100%;\\n}\\n.document {\\n    background-color: #fafbfe;\\n    color: #000000;\\n    font-family: 'Avenir Next for SAS', Arial, 'Albany AMT', Helvetica, Helv;\\n    font-size: 14px;\\n    font-style: normal;\\n    font-weight: normal;\\n}\\n.errorbanner {\\n    background-color: #fafbfe;\\n    color: #112277;\\n    font-family: 'Avenir Next for SAS', Arial, 'Albany AMT', Helvetica, Helv;\\n    font-size: 14px;\\n    font-style: normal;\\n    font-weight: bold;\\n}\\n.errorcontent {\\n    background-color: #fafbfe;\\n    color: #112277;\\n    font-family: 'Avenir Next for SAS', Arial, 'Albany AMT', Helvetica, Helv;\\n    font-size: 14px;\\n    font-style: normal;\\n    font-weight: normal;\\n}\\n.errorcontentfixed {\\n    background-color: #fafbfe;\\n    color: #112277;\\n    font-family: 'Courier New', Courier;\\n    font-size: 14px;\\n    font-style: normal;\\n    font-weight: normal;\\n}\\n.extendedpage {\\n    background-color: #fafbfe;\\n    border-style: solid;\\n    border-width: 1pt;\\n    color: #112277;\\n    font-family: 'Avenir Next for SAS', Arial, 'Albany AMT', Helvetica, Helv;\\n    font-size: 14px;\\n    font-style: italic;\\n    font-weight: normal;\\n    text-align: center;\\n}\\n.fatalbanner {\\n    background-color: #fafbfe;\\n    color: #112277;\\n    font-family: 'Avenir Next for SAS', Arial, 'Albany AMT', Helvetica, Helv;\\n    font-size: 14px;\\n    font-style: normal;\\n    font-weight: bold;\\n}\\n.fatalcontent {\\n    background-color: #fafbfe;\\n    color: #112277;\\n    font-family: 'Avenir Next for SAS', Arial, 'Albany AMT', Helvetica, Helv;\\n    font-size: 14px;\\n    font-style: normal;\\n    font-weight: normal;\\n}\\n.fatalcontentfixed {\\n    background-color: #fafbfe;\\n    color: #112277;\\n    font-family: 'Courier New', Courier;\\n    font-size: 14px;\\n    font-style: normal;\\n    font-weight: normal;\\n}\\n.folderaction {\\n    color: #000000;\\n    font-family: 'Avenir Next for SAS', Arial, 'Albany AMT', Helvetica, Helv;\\n    font-size: 14px;\\n    font-style: normal;\\n    font-weight: normal;\\n    list-style-type: none;\\n    margin-left: 6pt;\\n}\\n.footer {\\n    background-color: #edf2f9;\\n    border-color: #b0b7bb;\\n    border-style: solid;\\n    border-width: 0 1px 1px 0;\\n    color: #112277;\\n    font-family: 'Avenir Next for SAS', Arial, 'Albany AMT', Helvetica, Helv;\\n    font-size: 14px;\\n    font-style: normal;\\n    font-weight: bold;\\n}\\n.footeremphasis {\\n    background-color: #edf2f9;\\n    border-color: #b0b7bb;\\n    border-style: solid;\\n    border-width: 0 1px 1px 0;\\n    color: #112277;\\n    font-family: 'Avenir Next for SAS', Arial, 'Albany AMT', Helvetica, Helv;\\n    font-size: 14px;\\n    font-style: italic;\\n    font-weight: normal;\\n}\\n.footeremphasisfixed {\\n    background-color: #edf2f9;\\n    border-color: #b0b7bb;\\n    border-style: solid;\\n    border-width: 0 1px 1px 0;\\n    color: #112277;\\n    font-family: 'Courier New', Courier, monospace;\\n    font-size: 14px;\\n    font-style: italic;\\n    font-weight: normal;\\n}\\n.footerempty {\\n    background-color: #edf2f9;\\n    border-color: #b0b7bb;\\n    border-style: solid;\\n    border-width: 0 1px 1px 0;\\n    color: #112277;\\n    font-family: 'Avenir Next for SAS', Arial, 'Albany AMT', Helvetica, Helv;\\n    font-size: 14px;\\n    font-style: normal;\\n    font-weight: bold;\\n}\\n.footerfixed {\\n    background-color: #edf2f9;\\n    border-color: #b0b7bb;\\n    border-style: solid;\\n    border-width: 0 1px 1px 0;\\n    color: #112277;\\n    font-family: 'Courier New', Courier;\\n    font-size: 14px;\\n    font-style: normal;\\n    font-weight: normal;\\n}\\n.footerstrong {\\n    background-color: #edf2f9;\\n    border-color: #b0b7bb;\\n    border-style: solid;\\n    border-width: 0 1px 1px 0;\\n    color: #112277;\\n    font-family: 'Avenir Next for SAS', Arial, 'Albany AMT', Helvetica, Helv;\\n    font-size: 14px;\\n    font-style: normal;\\n    font-weight: bold;\\n}\\n.footerstrongfixed {\\n    background-color: #edf2f9;\\n    border-color: #b0b7bb;\\n    border-style: solid;\\n    border-width: 0 1px 1px 0;\\n    color: #112277;\\n    font-family: 'Courier New', Courier, monospace;\\n    font-size: 14px;\\n    font-style: normal;\\n    font-weight: bold;\\n}\\n.frame {\\n    background-color: #fafbfe;\\n    color: #000000;\\n    font-family: 'Avenir Next for SAS', Arial, 'Albany AMT', Helvetica, Helv;\\n    font-size: 14px;\\n    font-style: normal;\\n    font-weight: normal;\\n}\\n.graph > colgroup {\\n    border-left: 1px solid #c1c1c1;\\n    border-right: 1px solid #c1c1c1;\\n}\\n.graph > tbody, .graph > thead, .graph > tfoot {\\n    border-top: 1px solid #c1c1c1;\\n    border-bottom: 1px solid #c1c1c1;\\n}\\n.graph { border: hidden; }\\n.graph {\\n    background-color: #fafbfe;\\n    border: 1px solid #c1c1c1;\\n    border-collapse: separate;\\n    border-spacing: 1px;\\n    color: #000000;\\n    font-family: 'Avenir Next for SAS', Arial, 'Albany AMT', Helvetica, Helv;\\n    font-size: 14px;\\n    font-style: normal;\\n    font-weight: normal;\\n    }\\n.header {\\n    background-color: #edf2f9;\\n    border-color: #b0b7bb;\\n    border-style: solid;\\n    border-width: 0 1px 1px 0;\\n    color: #112277;\\n    font-family: 'Avenir Next for SAS', Arial, 'Albany AMT', Helvetica, Helv;\\n    font-size: 14px;\\n    font-style: normal;\\n    font-weight: bold;\\n}\\n.headeremphasis {\\n    background-color: #d8dbd3;\\n    border-color: #b0b7bb;\\n    border-style: solid;\\n    border-width: 0 1px 1px 0;\\n    color: #000000;\\n    font-family: 'Avenir Next for SAS', Arial, 'Albany AMT', Helvetica, Helv;\\n    font-size: 14px;\\n    font-style: italic;\\n    font-weight: normal;\\n}\\n.headeremphasisfixed {\\n    background-color: #d8dbd3;\\n    border-color: #b0b7bb;\\n    border-style: solid;\\n    border-width: 0 1px 1px 0;\\n    color: #000000;\\n    font-family: 'Courier New', Courier, monospace;\\n    font-size: 14px;\\n    font-style: italic;\\n    font-weight: normal;\\n}\\n.headerempty {\\n    background-color: #edf2f9;\\n    border-color: #b0b7bb;\\n    border-style: solid;\\n    border-width: 0 1px 1px 0;\\n    color: #112277;\\n    font-family: 'Avenir Next for SAS', Arial, 'Albany AMT', Helvetica, Helv;\\n    font-size: 14px;\\n    font-style: normal;\\n    font-weight: bold;\\n}\\n.headerfixed {\\n    background-color: #edf2f9;\\n    border-color: #b0b7bb;\\n    border-style: solid;\\n    border-width: 0 1px 1px 0;\\n    color: #112277;\\n    font-family: 'Courier New', Courier;\\n    font-size: 14px;\\n    font-style: normal;\\n    font-weight: normal;\\n}\\n.headersandfooters {\\n    background-color: #edf2f9;\\n    color: #000000;\\n    font-family: 'Avenir Next for SAS', Arial, 'Albany AMT', Helvetica, Helv;\\n    font-size: 14px;\\n    font-style: normal;\\n    font-weight: bold;\\n}\\n.headerstrong {\\n    background-color: #d8dbd3;\\n    border-color: #b0b7bb;\\n    border-style: solid;\\n    border-width: 0 1px 1px 0;\\n    color: #000000;\\n    font-family: 'Avenir Next for SAS', Arial, 'Albany AMT', Helvetica, Helv;\\n    font-size: 14px;\\n    font-style: normal;\\n    font-weight: bold;\\n}\\n.headerstrongfixed {\\n    background-color: #d8dbd3;\\n    border-color: #b0b7bb;\\n    border-style: solid;\\n    border-width: 0 1px 1px 0;\\n    color: #000000;\\n    font-family: 'Courier New', Courier, monospace;\\n    font-size: 14px;\\n    font-style: normal;\\n    font-weight: bold;\\n}\\n.heading1 {\\n    background-color: #fafbfe;\\n    color: #000000;\\n    font-family: 'Avenir Next for SAS', Arial, 'Albany AMT', Helvetica, Helv;\\n    font-size: 24pt;\\n    font-style: normal;\\n    font-weight: bold;\\n}\\n.heading2 {\\n    background-color: #fafbfe;\\n    color: #000000;\\n    font-family: 'Avenir Next for SAS', Arial, 'Albany AMT', Helvetica, Helv;\\n    font-size: 18pt;\\n    font-style: normal;\\n    font-weight: bold;\\n}\\n.heading3 {\\n    background-color: #fafbfe;\\n    color: #000000;\\n    font-family: 'Avenir Next for SAS', Arial, 'Albany AMT', Helvetica, Helv;\\n    font-size: 14pt;\\n    font-style: normal;\\n    font-weight: bold;\\n}\\n.heading4 {\\n    background-color: #fafbfe;\\n    color: #000000;\\n    font-family: 'Avenir Next for SAS', Arial, 'Albany AMT', Helvetica, Helv;\\n    font-size: 12pt;\\n    font-style: normal;\\n    font-weight: bold;\\n}\\n.heading5 {\\n    background-color: #fafbfe;\\n    color: #000000;\\n    font-family: 'Avenir Next for SAS', Arial, 'Albany AMT', Helvetica, Helv;\\n    font-size: 10pt;\\n    font-style: normal;\\n    font-weight: bold;\\n}\\n.heading6 {\\n    background-color: #fafbfe;\\n    color: #000000;\\n    font-family: 'Avenir Next for SAS', Arial, 'Albany AMT', Helvetica, Helv;\\n    font-size: 8pt;\\n    font-style: normal;\\n    font-weight: bold;\\n}\\n.index {\\n    background-color: #fafbfe;\\n    color: #000000;\\n    font-family: 'Avenir Next for SAS', Arial, 'Albany AMT', Helvetica, Helv;\\n    font-size: 14px;\\n    font-style: normal;\\n    font-weight: normal;\\n}\\n.indexaction, .indexitem {\\n    color: #000000;\\n    font-family: 'Avenir Next for SAS', Arial, 'Albany AMT', Helvetica, Helv;\\n    font-size: 14px;\\n    font-style: normal;\\n    font-weight: normal;\\n    list-style-type: none;\\n    margin-left: 6pt;\\n}\\n.indexprocname {\\n    background-color: #fafbfe;\\n    color: #112277;\\n    font-family: 'Avenir Next for SAS', Arial, 'Albany AMT', Helvetica, Helv;\\n    font-size: 14px;\\n    font-style: normal;\\n    font-weight: bold;\\n}\\n.indextitle {\\n    background-color: #fafbfe;\\n    color: #112277;\\n    font-family: 'Avenir Next for SAS', Arial, 'Albany AMT', Helvetica, Helv;\\n    font-size: 14px;\\n    font-style: italic;\\n    font-weight: bold;\\n}\\n.layoutcontainer, .layoutregion {\\n    border-width: 0;\\n    border-spacing: 30px;\\n}\\n.linecontent {\\n    background-color: #fafbfe;\\n    border-color: #c1c1c1;\\n    border-style: solid;\\n    border-width: 0 1px 1px 0;\\n    color: #112277;\\n    font-family: 'Avenir Next for SAS', Arial, 'Albany AMT', Helvetica, Helv;\\n    font-size: 14px;\\n    font-style: normal;\\n    font-weight: normal;\\n}\\na:link { color: #0000ff }\\n.list {\\n    background-color: #fafbfe;\\n    color: #000000;\\n    font-family: 'Avenir Next for SAS', Arial, 'Albany AMT', Helvetica, Helv;\\n    font-size: 14px;\\n    font-style: normal;\\n    font-weight: normal;\\n    list-style-type: disc;\\n}\\n.list10 {\\n    background-color: #fafbfe;\\n    color: #000000;\\n    font-family: 'Avenir Next for SAS', Arial, 'Albany AMT', Helvetica, Helv;\\n    font-size: 14px;\\n    font-style: normal;\\n    font-weight: normal;\\n    list-style-type: square;\\n}\\n.list2 {\\n    background-color: #fafbfe;\\n    color: #000000;\\n    font-family: 'Avenir Next for SAS', Arial, 'Albany AMT', Helvetica, Helv;\\n    font-size: 14px;\\n    font-style: normal;\\n    font-weight: normal;\\n    list-style-type: circle;\\n}\\n.list3, .list4, .list5, .list6, .list7, .list8, .list9 {\\n    background-color: #fafbfe;\\n    color: #000000;\\n    font-family: 'Avenir Next for SAS', Arial, 'Albany AMT', Helvetica, Helv;\\n    font-size: 14px;\\n    font-style: normal;\\n    font-weight: normal;\\n    list-style-type: square;\\n}\\n.listitem {\\n    background-color: #fafbfe;\\n    color: #000000;\\n    font-family: 'Avenir Next for SAS', Arial, 'Albany AMT', Helvetica, Helv;\\n    font-size: 14px;\\n    font-style: normal;\\n    font-weight: normal;\\n    list-style-type: disc;\\n}\\n.listitem10 {\\n    background-color: #fafbfe;\\n    color: #000000;\\n    font-family: 'Avenir Next for SAS', Arial, 'Albany AMT', Helvetica, Helv;\\n    font-size: 14px;\\n    font-style: normal;\\n    font-weight: normal;\\n    list-style-type: square;\\n}\\n.listitem2 {\\n    background-color: #fafbfe;\\n    color: #000000;\\n    font-family: 'Avenir Next for SAS', Arial, 'Albany AMT', Helvetica, Helv;\\n    font-size: 14px;\\n    font-style: normal;\\n    font-weight: normal;\\n    list-style-type: circle;\\n}\\n.listitem3, .listitem4, .listitem5, .listitem6, .listitem7, .listitem8, .listitem9 {\\n    background-color: #fafbfe;\\n    color: #000000;\\n    font-family: 'Avenir Next for SAS', Arial, 'Albany AMT', Helvetica, Helv;\\n    font-size: 14px;\\n    font-style: normal;\\n    font-weight: normal;\\n    list-style-type: square;\\n}\\n.note {\\n    background-color: #fafbfe;\\n    color: #112277;\\n    font-family: 'Avenir Next for SAS', Arial, 'Albany AMT', Helvetica, Helv;\\n    font-size: 14px;\\n    font-style: normal;\\n    font-weight: normal;\\n}\\n.notebanner {\\n    background-color: #fafbfe;\\n    color: #112277;\\n    font-family: 'Avenir Next for SAS', Arial, 'Albany AMT', Helvetica, Helv;\\n    font-size: 14px;\\n    font-style: normal;\\n    font-weight: bold;\\n}\\n.notecontent {\\n    background-color: #fafbfe;\\n    color: #112277;\\n    font-family: 'Avenir Next for SAS', Arial, 'Albany AMT', Helvetica, Helv;\\n    font-size: 14px;\\n    font-style: normal;\\n    font-weight: normal;\\n}\\n.notecontentfixed {\\n    background-color: #fafbfe;\\n    color: #112277;\\n    font-family: 'Courier New', Courier;\\n    font-size: 14px;\\n    font-style: normal;\\n    font-weight: normal;\\n}\\n.output > colgroup {\\n    border-left: 1px solid #c1c1c1;\\n    border-right: 1px solid #c1c1c1;\\n}\\n.output > tbody, .output > thead, .output > tfoot {\\n    border-top: 1px solid #c1c1c1;\\n    border-bottom: 1px solid #c1c1c1;\\n}\\n.output { border: hidden; }\\n.output {\\n    background-color: #fafbfe;\\n    border: 1px solid #c1c1c1;\\n    border-collapse: separate;\\n    border-spacing: 1px;\\n    color: #000000;\\n    font-family: 'Avenir Next for SAS', Arial, 'Albany AMT', Helvetica, Helv;\\n    font-size: 14px;\\n    font-style: normal;\\n    font-weight: normal;\\n    }\\n.pageno {\\n    background-color: #fafbfe;\\n    border-spacing: 0;\\n    color: #112277;\\n    font-family: 'Avenir Next for SAS', Arial, 'Albany AMT', Helvetica, Helv;\\n    font-size: 14px;\\n    font-style: normal;\\n    font-weight: bold;\\n    text-align: right;\\n    vertical-align: top;\\n}\\n.pages {\\n    background-color: #fafbfe;\\n    color: #000000;\\n    font-family: 'Avenir Next for SAS', Arial, 'Albany AMT', Helvetica, Helv;\\n    font-size: 14px;\\n    font-style: normal;\\n    font-weight: normal;\\n    list-style-type: decimal;\\n    margin-left: 8px;\\n    margin-right: 8px;\\n}\\n.pagesdate {\\n    background-color: #fafbfe;\\n    color: #000000;\\n    font-family: 'Avenir Next for SAS', Arial, 'Albany AMT', Helvetica, Helv;\\n    font-size: 14px;\\n    font-style: normal;\\n    font-weight: normal;\\n    width: 100%;\\n}\\n.pagesitem {\\n    color: #000000;\\n    font-family: 'Avenir Next for SAS', Arial, 'Albany AMT', Helvetica, Helv;\\n    font-size: 14px;\\n    font-style: normal;\\n    font-weight: normal;\\n    list-style-type: none;\\n    margin-left: 6pt;\\n}\\n.pagesproclabel, .pagesprocname {\\n    background-color: #fafbfe;\\n    color: #112277;\\n    font-family: 'Avenir Next for SAS', Arial, 'Albany AMT', Helvetica, Helv;\\n    font-size: 14px;\\n    font-style: normal;\\n    font-weight: bold;\\n}\\n.pagestitle {\\n    background-color: #fafbfe;\\n    color: #112277;\\n    font-family: 'Avenir Next for SAS', Arial, 'Albany AMT', Helvetica, Helv;\\n    font-size: 14px;\\n    font-style: italic;\\n    font-weight: bold;\\n}\\n.paragraph {\\n    background-color: #fafbfe;\\n    color: #000000;\\n    font-family: 'Avenir Next for SAS', Arial, 'Albany AMT', Helvetica, Helv;\\n    font-size: 14px;\\n    font-style: normal;\\n    font-weight: normal;\\n}\\n.parskip > col, .parskip > colgroup > col, .parskip > colgroup, .parskip > tr, .parskip > * > tr, .parskip > thead, .parskip > tbody, .parskip > tfoot { border: none; }\\n.parskip {\\n    border: none;\\n    border-spacing: 0;\\n    font-family: 'Avenir Next for SAS', Arial, 'Albany AMT', Helvetica, Helv;\\n    font-size: 14px;\\n    font-style: normal;\\n    font-weight: bold;\\n    }\\n.prepage {\\n    background-color: #fafbfe;\\n    color: #112277;\\n    font-family: 'Avenir Next for SAS', Arial, 'Albany AMT', Helvetica, Helv;\\n    font-size: 14px;\\n    font-style: normal;\\n    font-weight: normal;\\n    text-align: left;\\n}\\n.proctitle {\\n    background-color: #fafbfe;\\n    color: #112277;\\n    font-family: 'Avenir Next for SAS', Arial, 'Albany AMT', Helvetica, Helv;\\n    font-size: 14px;\\n    font-style: normal;\\n    font-weight: bold;\\n}\\n.proctitlefixed {\\n    background-color: #fafbfe;\\n    color: #112277;\\n    font-family: 'Courier New', Courier, monospace;\\n    font-size: 14px;\\n    font-style: normal;\\n    font-weight: bold;\\n}\\n.rowfooter {\\n    background-color: #edf2f9;\\n    border-color: #b0b7bb;\\n    border-style: solid;\\n    border-width: 0 1px 1px 0;\\n    color: #112277;\\n    font-family: 'Avenir Next for SAS', Arial, 'Albany AMT', Helvetica, Helv;\\n    font-size: 14px;\\n    font-style: normal;\\n    font-weight: bold;\\n}\\n.rowfooteremphasis {\\n    background-color: #edf2f9;\\n    border-color: #b0b7bb;\\n    border-style: solid;\\n    border-width: 0 1px 1px 0;\\n    color: #112277;\\n    font-family: 'Avenir Next for SAS', Arial, 'Albany AMT', Helvetica, Helv;\\n    font-size: 14px;\\n    font-style: italic;\\n    font-weight: normal;\\n}\\n.rowfooteremphasisfixed {\\n    background-color: #edf2f9;\\n    border-color: #b0b7bb;\\n    border-style: solid;\\n    border-width: 0 1px 1px 0;\\n    color: #112277;\\n    font-family: 'Courier New', Courier, monospace;\\n    font-size: 14px;\\n    font-style: italic;\\n    font-weight: normal;\\n}\\n.rowfooterempty {\\n    background-color: #edf2f9;\\n    border-color: #b0b7bb;\\n    border-style: solid;\\n    border-width: 0 1px 1px 0;\\n    color: #112277;\\n    font-family: 'Avenir Next for SAS', Arial, 'Albany AMT', Helvetica, Helv;\\n    font-size: 14px;\\n    font-style: normal;\\n    font-weight: bold;\\n}\\n.rowfooterfixed {\\n    background-color: #edf2f9;\\n    border-color: #b0b7bb;\\n    border-style: solid;\\n    border-width: 0 1px 1px 0;\\n    color: #112277;\\n    font-family: 'Courier New', Courier;\\n    font-size: 14px;\\n    font-style: normal;\\n    font-weight: normal;\\n}\\n.rowfooterstrong {\\n    background-color: #edf2f9;\\n    border-color: #b0b7bb;\\n    border-style: solid;\\n    border-width: 0 1px 1px 0;\\n    color: #112277;\\n    font-family: 'Avenir Next for SAS', Arial, 'Albany AMT', Helvetica, Helv;\\n    font-size: 14px;\\n    font-style: normal;\\n    font-weight: bold;\\n}\\n.rowfooterstrongfixed {\\n    background-color: #edf2f9;\\n    border-color: #b0b7bb;\\n    border-style: solid;\\n    border-width: 0 1px 1px 0;\\n    color: #112277;\\n    font-family: 'Courier New', Courier, monospace;\\n    font-size: 14px;\\n    font-style: normal;\\n    font-weight: bold;\\n}\\n.rowheader {\\n    background-color: #edf2f9;\\n    border-color: #b0b7bb;\\n    border-style: solid;\\n    border-width: 0 1px 1px 0;\\n    color: #112277;\\n    font-family: 'Avenir Next for SAS', Arial, 'Albany AMT', Helvetica, Helv;\\n    font-size: 14px;\\n    font-style: normal;\\n    font-weight: bold;\\n}\\n.rowheaderemphasis {\\n    background-color: #edf2f9;\\n    border-color: #b0b7bb;\\n    border-style: solid;\\n    border-width: 0 1px 1px 0;\\n    color: #112277;\\n    font-family: 'Avenir Next for SAS', Arial, 'Albany AMT', Helvetica, Helv;\\n    font-size: 14px;\\n    font-style: italic;\\n    font-weight: normal;\\n}\\n.rowheaderemphasisfixed {\\n    background-color: #edf2f9;\\n    border-color: #b0b7bb;\\n    border-style: solid;\\n    border-width: 0 1px 1px 0;\\n    color: #112277;\\n    font-family: 'Courier New', Courier, monospace;\\n    font-size: 14px;\\n    font-style: italic;\\n    font-weight: normal;\\n}\\n.rowheaderempty {\\n    background-color: #edf2f9;\\n    border-color: #b0b7bb;\\n    border-style: solid;\\n    border-width: 0 1px 1px 0;\\n    color: #112277;\\n    font-family: 'Avenir Next for SAS', Arial, 'Albany AMT', Helvetica, Helv;\\n    font-size: 14px;\\n    font-style: normal;\\n    font-weight: bold;\\n}\\n.rowheaderfixed {\\n    background-color: #edf2f9;\\n    border-color: #b0b7bb;\\n    border-style: solid;\\n    border-width: 0 1px 1px 0;\\n    color: #112277;\\n    font-family: 'Courier New', Courier;\\n    font-size: 14px;\\n    font-style: normal;\\n    font-weight: normal;\\n}\\n.rowheaderstrong {\\n    background-color: #edf2f9;\\n    border-color: #b0b7bb;\\n    border-style: solid;\\n    border-width: 0 1px 1px 0;\\n    color: #112277;\\n    font-family: 'Avenir Next for SAS', Arial, 'Albany AMT', Helvetica, Helv;\\n    font-size: 14px;\\n    font-style: normal;\\n    font-weight: bold;\\n}\\n.rowheaderstrongfixed {\\n    background-color: #edf2f9;\\n    border-color: #b0b7bb;\\n    border-style: solid;\\n    border-width: 0 1px 1px 0;\\n    color: #112277;\\n    font-family: 'Courier New', Courier, monospace;\\n    font-size: 14px;\\n    font-style: normal;\\n    font-weight: bold;\\n}\\n.systemfooter, .systemfooter10, .systemfooter2, .systemfooter3, .systemfooter4, .systemfooter5, .systemfooter6, .systemfooter7, .systemfooter8, .systemfooter9 {\\n    background-color: #fafbfe;\\n    color: #112277;\\n    font-family: 'Avenir Next for SAS', Arial, 'Albany AMT', Helvetica, Helv;\\n    font-size: 14px;\\n    font-style: normal;\\n    font-weight: normal;\\n}\\n.systemtitle, .systemtitle10, .systemtitle2, .systemtitle3, .systemtitle4, .systemtitle5, .systemtitle6, .systemtitle7, .systemtitle8, .systemtitle9 {\\n    background-color: #fafbfe;\\n    color: #112277;\\n    font-family: 'Avenir Next for SAS', Arial, 'Albany AMT', Helvetica, Helv;\\n    font-size: 16px;\\n    font-style: normal;\\n    font-weight: bold;\\n}\\n.systitleandfootercontainer > col, .systitleandfootercontainer > colgroup > col, .systitleandfootercontainer > colgroup, .systitleandfootercontainer > tr, .systitleandfootercontainer > * > tr, .systitleandfootercontainer > thead, .systitleandfootercontainer > tbody, .systitleandfootercontainer > tfoot { border: none; }\\n.systitleandfootercontainer {\\n    background-color: #fafbfe;\\n    border: none;\\n    border-spacing: 1px;\\n    color: #000000;\\n    font-family: 'Avenir Next for SAS', Arial, 'Albany AMT', Helvetica, Helv;\\n    font-size: 14px;\\n    font-style: normal;\\n    font-weight: normal;\\n    width: 100%;\\n}\\n.table > col, .table > colgroup > col {\\n    border-left: 1px solid #c1c1c1;\\n    border-right: 0 solid #c1c1c1;\\n}\\n.table > tr, .table > * > tr {\\n    border-top: 1px solid #c1c1c1;\\n    border-bottom: 0 solid #c1c1c1;\\n}\\n.table { border: hidden; }\\n.table {\\n    border-color: #c1c1c1;\\n    border-style: solid;\\n    border-width: 1px 0 0 1px;\\n    border-collapse: collapse;\\n    border-spacing: 0;\\n    }\\n.titleandnotecontainer > col, .titleandnotecontainer > colgroup > col, .titleandnotecontainer > colgroup, .titleandnotecontainer > tr, .titleandnotecontainer > * > tr, .titleandnotecontainer > thead, .titleandnotecontainer > tbody, .titleandnotecontainer > tfoot { border: none; }\\n.titleandnotecontainer {\\n    background-color: #fafbfe;\\n    border: none;\\n    border-spacing: 1px;\\n    color: #000000;\\n    font-family: 'Avenir Next for SAS', Arial, 'Albany AMT', Helvetica, Helv;\\n    font-size: 14px;\\n    font-style: normal;\\n    font-weight: normal;\\n    width: 100%;\\n}\\n.titlesandfooters {\\n    background-color: #fafbfe;\\n    color: #112277;\\n    font-family: 'Avenir Next for SAS', Arial, 'Albany AMT', Helvetica, Helv;\\n    font-size: 14px;\\n    font-style: normal;\\n    font-weight: bold;\\n}\\n.usertext {\\n    background-color: #fafbfe;\\n    color: #112277;\\n    font-family: 'Avenir Next for SAS', Arial, 'Albany AMT', Helvetica, Helv;\\n    font-size: 14px;\\n    font-style: normal;\\n    font-weight: normal;\\n}\\na:visited { color: #800080 }\\n.warnbanner {\\n    background-color: #fafbfe;\\n    color: #112277;\\n    font-family: 'Avenir Next for SAS', Arial, 'Albany AMT', Helvetica, Helv;\\n    font-size: 14px;\\n    font-style: normal;\\n    font-weight: bold;\\n}\\n.warncontent {\\n    background-color: #fafbfe;\\n    color: #112277;\\n    font-family: 'Avenir Next for SAS', Arial, 'Albany AMT', Helvetica, Helv;\\n    font-size: 14px;\\n    font-style: normal;\\n    font-weight: normal;\\n}\\n.warncontentfixed {\\n    background-color: #fafbfe;\\n    color: #112277;\\n    font-family: 'Courier New', Courier;\\n    font-size: 14px;\\n    font-style: normal;\\n    font-weight: normal;\\n}\\n/*]]>*/\\n</style>\\n</head>\\n<body class=\\\"c body\\\">\\n<div style=\\\"padding-bottom: 8px; padding-top: 1px\\\">\\n<div id=\\\"IDX\\\" class=\\\"systitleandfootercontainer\\\" style=\\\"border-spacing: 1px\\\">\\n<p><span class=\\\"c systemtitle\\\">The SAS System</span> </p>\\n</div>\\n<div class=\\\"proc_title_group\\\">\\n<p class=\\\"c proctitle\\\">The MEANS Procedure</p>\\n</div>\\n<div style=\\\"padding-bottom: 8px; padding-top: 1px\\\">\\n<table class=\\\"table\\\" style=\\\"border-spacing: 0\\\" aria-label=\\\"Summary statistics\\\">\\n<caption aria-label=\\\"Summary statistics\\\"></caption>\\n<colgroup><col/><col/></colgroup><colgroup><col/><col/><col/><col/><col/></colgroup>\\n<thead>\\n<tr>\\n<th class=\\\"b header\\\" scope=\\\"col\\\">Variable</th>\\n<th class=\\\"b header\\\" scope=\\\"col\\\">Label</th>\\n<th class=\\\"r b header\\\" scope=\\\"col\\\">N</th>\\n<th class=\\\"r b header\\\" scope=\\\"col\\\">Mean</th>\\n<th class=\\\"r b header\\\" scope=\\\"col\\\">Std Dev</th>\\n<th class=\\\"r b header\\\" scope=\\\"col\\\">Minimum</th>\\n<th class=\\\"r b header\\\" scope=\\\"col\\\">Maximum</th>\\n</tr>\\n</thead>\\n<tbody>\\n<tr>\\n<th class=\\\"data\\\">\\n<div class=\\\"stacked-cell\\\">\\n<div>ACTUAL</div>\\n<div>PREDICT</div>\\n<div>QUARTER</div>\\n<div>YEAR</div>\\n<div>MONTH</div>\\n</div>\\n</th>\\n<th class=\\\"data\\\">\\n<div class=\\\"stacked-cell\\\">\\n<div>Actual Sales</div>\\n<div>Predicted Sales</div>\\n<div>Quarter</div>\\n<div>Year</div>\\n<div>Month</div>\\n</div>\\n</th>\\n<td class=\\\"r data\\\">\\n<div class=\\\"stacked-cell\\\">\\n<div class=\\\"r\\\">1440</div>\\n<div class=\\\"r\\\">1440</div>\\n<div class=\\\"r\\\">1440</div>\\n<div class=\\\"r\\\">1440</div>\\n<div class=\\\"r\\\">1440</div>\\n</div>\\n</td>\\n<td class=\\\"r data\\\">\\n<div class=\\\"stacked-cell\\\">\\n<div class=\\\"r\\\">507.1784722</div>\\n<div class=\\\"r\\\">490.4826389</div>\\n<div class=\\\"r\\\">2.5000000</div>\\n<div class=\\\"r\\\">1993.50</div>\\n<div class=\\\"r\\\">12403.00</div>\\n</div>\\n</td>\\n<td class=\\\"r data\\\">\\n<div class=\\\"stacked-cell\\\">\\n<div class=\\\"r\\\">287.0313065</div>\\n<div class=\\\"r\\\">285.7667904</div>\\n<div class=\\\"r\\\">1.1184224</div>\\n<div class=\\\"r\\\">0.5001737</div>\\n<div class=\\\"r\\\">210.6291578</div>\\n</div>\\n</td>\\n<td class=\\\"r data\\\">\\n<div class=\\\"stacked-cell\\\">\\n<div class=\\\"r\\\">3.0000000</div>\\n<div class=\\\"r\\\">0</div>\\n<div class=\\\"r\\\">1.0000000</div>\\n<div class=\\\"r\\\">1993.00</div>\\n<div class=\\\"r\\\">12054.00</div>\\n</div>\\n</td>\\n<td class=\\\"r data\\\">\\n<div class=\\\"stacked-cell\\\">\\n<div class=\\\"r\\\">1000.00</div>\\n<div class=\\\"r\\\">1000.00</div>\\n<div class=\\\"r\\\">4.0000000</div>\\n<div class=\\\"r\\\">1994.00</div>\\n<div class=\\\"r\\\">12753.00</div>\\n</div>\\n</td>\\n</tr>\\n</tbody>\\n</table>\\n</div>\\n</div>\\n</body>\\n</html>\\n\",\"mime\":\"application/vnd.sas.ods.html5\"},{\"data\":\"[\\n\\t{\\n\\t\\t\\\"line\\\": \\\"16   ods html5;\\\",\\n\\t\\t\\\"type\\\": \\\"source\\\",\\n\\t\\t\\\"version\\\": 1\\n\\t},\\n\\t{\\n\\t\\t\\\"line\\\": \\\"NOTE: Writing HTML5 Body file: sashtml1.htm\\\",\\n\\t\\t\\\"type\\\": \\\"note\\\",\\n\\t\\t\\\"version\\\": 1\\n\\t},\\n\\t{\\n\\t\\t\\\"line\\\": \\\"17   data work.prdsale;\\\",\\n\\t\\t\\\"type\\\": \\\"source\\\",\\n\\t\\t\\\"version\\\": 1\\n\\t},\\n\\t{\\n\\t\\t\\\"line\\\": \\\"18   \\\\tset sashelp.PRDSALE;\\\",\\n\\t\\t\\\"type\\\": \\\"source\\\",\\n\\t\\t\\\"version\\\": 1\\n\\t},\\n\\t{\\n\\t\\t\\\"line\\\": \\\"19   run;\\\",\\n\\t\\t\\\"type\\\": \\\"source\\\",\\n\\t\\t\\\"version\\\": 1\\n\\t},\\n\\t{\\n\\t\\t\\\"line\\\": \\\"\\\",\\n\\t\\t\\\"type\\\": \\\"note\\\",\\n\\t\\t\\\"version\\\": 1\\n\\t},\\n\\t{\\n\\t\\t\\\"line\\\": \\\"NOTE: There were 1440 observations read from the data set SASHELP.PRDSALE.\\\",\\n\\t\\t\\\"type\\\": \\\"note\\\",\\n\\t\\t\\\"version\\\": 1\\n\\t},\\n\\t{\\n\\t\\t\\\"line\\\": \\\"NOTE: The data set WORK.PRDSALE has 1440 observations and 10 variables.\\\",\\n\\t\\t\\\"type\\\": \\\"note\\\",\\n\\t\\t\\\"version\\\": 1\\n\\t},\\n\\t{\\n\\t\\t\\\"line\\\": \\\"NOTE: DATA statement used (Total process time):\\\",\\n\\t\\t\\\"type\\\": \\\"note\\\",\\n\\t\\t\\\"version\\\": 1\\n\\t},\\n\\t{\\n\\t\\t\\\"line\\\": \\\"      real time           0.00 seconds\\\",\\n\\t\\t\\\"type\\\": \\\"note\\\",\\n\\t\\t\\\"version\\\": 1\\n\\t},\\n\\t{\\n\\t\\t\\\"line\\\": \\\"      cpu time            0.01 seconds\\\",\\n\\t\\t\\\"type\\\": \\\"note\\\",\\n\\t\\t\\\"version\\\": 1\\n\\t},\\n\\t{\\n\\t\\t\\\"line\\\": \\\"      \\\",\\n\\t\\t\\\"type\\\": \\\"note\\\",\\n\\t\\t\\\"version\\\": 1\\n\\t},\\n\\t{\\n\\t\\t\\\"line\\\": \\\"\\\",\\n\\t\\t\\\"type\\\": \\\"note\\\",\\n\\t\\t\\\"version\\\": 1\\n\\t},\\n\\t{\\n\\t\\t\\\"line\\\": \\\"20   \\\",\\n\\t\\t\\\"type\\\": \\\"source\\\",\\n\\t\\t\\\"version\\\": 1\\n\\t},\\n\\t{\\n\\t\\t\\\"line\\\": \\\"21   proc means data=work.prdsale;\\\",\\n\\t\\t\\\"type\\\": \\\"source\\\",\\n\\t\\t\\\"version\\\": 1\\n\\t},\\n\\t{\\n\\t\\t\\\"line\\\": \\\"22   run;\\\",\\n\\t\\t\\\"type\\\": \\\"source\\\",\\n\\t\\t\\\"version\\\": 1\\n\\t},\\n\\t{\\n\\t\\t\\\"line\\\": \\\"\\\",\\n\\t\\t\\\"type\\\": \\\"note\\\",\\n\\t\\t\\\"version\\\": 1\\n\\t},\\n\\t{\\n\\t\\t\\\"line\\\": \\\"NOTE: There were 1440 observations read from the data set WORK.PRDSALE.\\\",\\n\\t\\t\\\"type\\\": \\\"note\\\",\\n\\t\\t\\\"version\\\": 1\\n\\t},\\n\\t{\\n\\t\\t\\\"line\\\": \\\"NOTE: The PROCEDURE MEANS printed page 1.\\\",\\n\\t\\t\\\"type\\\": \\\"note\\\",\\n\\t\\t\\\"version\\\": 1\\n\\t},\\n\\t{\\n\\t\\t\\\"line\\\": \\\"NOTE: PROCEDURE MEANS used (Total process time):\\\",\\n\\t\\t\\\"type\\\": \\\"note\\\",\\n\\t\\t\\\"version\\\": 1\\n\\t},\\n\\t{\\n\\t\\t\\\"line\\\": \\\"      real time           0.04 seconds\\\",\\n\\t\\t\\\"type\\\": \\\"note\\\",\\n\\t\\t\\\"version\\\": 1\\n\\t},\\n\\t{\\n\\t\\t\\\"line\\\": \\\"      cpu time            0.05 seconds\\\",\\n\\t\\t\\\"type\\\": \\\"note\\\",\\n\\t\\t\\\"version\\\": 1\\n\\t},\\n\\t{\\n\\t\\t\\\"line\\\": \\\"      \\\",\\n\\t\\t\\\"type\\\": \\\"note\\\",\\n\\t\\t\\\"version\\\": 1\\n\\t},\\n\\t{\\n\\t\\t\\\"line\\\": \\\"\\\",\\n\\t\\t\\\"type\\\": \\\"note\\\",\\n\\t\\t\\\"version\\\": 1\\n\\t},\\n\\t{\\n\\t\\t\\\"line\\\": \\\"23   ;run;quit;ods html5 close;\\\",\\n\\t\\t\\\"type\\\": \\\"source\\\",\\n\\t\\t\\\"version\\\": 1\\n\\t}\\n]\",\"mime\":\"application/vnd.sas.compute.log.lines\"}]}]},{\"kind\":1,\"language\":\"markdown\",\"value\":\"## SQL Code\",\"outputs\":[]},{\"kind\":2,\"language\":\"sql\",\"value\":\"CREATE TABLE WORK.QUERY_PRDSALE AS\\r\\n    SELECT\\r\\n        (t1.COUNTRY) LABEL='Country' FORMAT=$CHAR10.,\\r\\n        (SUM(t1.ACTUAL)) FORMAT=DOLLAR12.2 LENGTH=8 AS SUM_ACTUAL\\r\\n    FROM\\r\\n        WORK.PRDSALE t1\\r\\n    GROUP BY\\r\\n        t1.COUNTRY\",\"outputs\":[{\"items\":[{\"data\":\"[\\n\\t{\\n\\t\\t\\\"line\\\": \\\"24   ods html5;\\\",\\n\\t\\t\\\"type\\\": \\\"source\\\",\\n\\t\\t\\\"version\\\": 1\\n\\t},\\n\\t{\\n\\t\\t\\\"line\\\": \\\"NOTE: Writing HTML5 Body file: sashtml2.htm\\\",\\n\\t\\t\\\"type\\\": \\\"note\\\",\\n\\t\\t\\\"version\\\": 1\\n\\t},\\n\\t{\\n\\t\\t\\\"line\\\": \\\"25   proc sql;\\\",\\n\\t\\t\\\"type\\\": \\\"source\\\",\\n\\t\\t\\\"version\\\": 1\\n\\t},\\n\\t{\\n\\t\\t\\\"line\\\": \\\"26   CREATE TABLE WORK.QUERY_PRDSALE AS\\\",\\n\\t\\t\\\"type\\\": \\\"source\\\",\\n\\t\\t\\\"version\\\": 1\\n\\t},\\n\\t{\\n\\t\\t\\\"line\\\": \\\"27       SELECT\\\",\\n\\t\\t\\\"type\\\": \\\"source\\\",\\n\\t\\t\\\"version\\\": 1\\n\\t},\\n\\t{\\n\\t\\t\\\"line\\\": \\\"28           (t1.COUNTRY) LABEL='Country' FORMAT=$CHAR10.,\\\",\\n\\t\\t\\\"type\\\": \\\"source\\\",\\n\\t\\t\\\"version\\\": 1\\n\\t},\\n\\t{\\n\\t\\t\\\"line\\\": \\\"29           (SUM(t1.ACTUAL)) FORMAT=DOLLAR12.2 LENGTH=8 AS SUM_ACTUAL\\\",\\n\\t\\t\\\"type\\\": \\\"source\\\",\\n\\t\\t\\\"version\\\": 1\\n\\t},\\n\\t{\\n\\t\\t\\\"line\\\": \\\"30       FROM\\\",\\n\\t\\t\\\"type\\\": \\\"source\\\",\\n\\t\\t\\\"version\\\": 1\\n\\t},\\n\\t{\\n\\t\\t\\\"line\\\": \\\"31           WORK.PRDSALE t1\\\",\\n\\t\\t\\\"type\\\": \\\"source\\\",\\n\\t\\t\\\"version\\\": 1\\n\\t},\\n\\t{\\n\\t\\t\\\"line\\\": \\\"32       GROUP BY\\\",\\n\\t\\t\\\"type\\\": \\\"source\\\",\\n\\t\\t\\\"version\\\": 1\\n\\t},\\n\\t{\\n\\t\\t\\\"line\\\": \\\"33           t1.COUNTRY\\\",\\n\\t\\t\\\"type\\\": \\\"source\\\",\\n\\t\\t\\\"version\\\": 1\\n\\t},\\n\\t{\\n\\t\\t\\\"line\\\": \\\"34   ;\\\",\\n\\t\\t\\\"type\\\": \\\"source\\\",\\n\\t\\t\\\"version\\\": 1\\n\\t},\\n\\t{\\n\\t\\t\\\"line\\\": \\\"NOTE: Table WORK.QUERY_PRDSALE created, with 3 rows and 2 columns.\\\",\\n\\t\\t\\\"type\\\": \\\"note\\\",\\n\\t\\t\\\"version\\\": 1\\n\\t},\\n\\t{\\n\\t\\t\\\"line\\\": \\\"\\\",\\n\\t\\t\\\"type\\\": \\\"normal\\\",\\n\\t\\t\\\"version\\\": 1\\n\\t},\\n\\t{\\n\\t\\t\\\"line\\\": \\\"34 !  quit;\\\",\\n\\t\\t\\\"type\\\": \\\"source\\\",\\n\\t\\t\\\"version\\\": 1\\n\\t},\\n\\t{\\n\\t\\t\\\"line\\\": \\\"NOTE: PROCEDURE SQL used (Total process time):\\\",\\n\\t\\t\\\"type\\\": \\\"note\\\",\\n\\t\\t\\\"version\\\": 1\\n\\t},\\n\\t{\\n\\t\\t\\\"line\\\": \\\"      real time           0.00 seconds\\\",\\n\\t\\t\\\"type\\\": \\\"note\\\",\\n\\t\\t\\\"version\\\": 1\\n\\t},\\n\\t{\\n\\t\\t\\\"line\\\": \\\"      cpu time            0.00 seconds\\\",\\n\\t\\t\\\"type\\\": \\\"note\\\",\\n\\t\\t\\\"version\\\": 1\\n\\t},\\n\\t{\\n\\t\\t\\\"line\\\": \\\"      \\\",\\n\\t\\t\\\"type\\\": \\\"note\\\",\\n\\t\\t\\\"version\\\": 1\\n\\t},\\n\\t{\\n\\t\\t\\\"line\\\": \\\"\\\",\\n\\t\\t\\\"type\\\": \\\"note\\\",\\n\\t\\t\\\"version\\\": 1\\n\\t},\\n\\t{\\n\\t\\t\\\"line\\\": \\\"6                                                          The SAS System                        Monday, August 21, 2023 02:56:00 PM\\\",\\n\\t\\t\\\"type\\\": \\\"title\\\",\\n\\t\\t\\\"version\\\": 1\\n\\t},\\n\\t{\\n\\t\\t\\\"line\\\": \\\"\\\",\\n\\t\\t\\\"type\\\": \\\"title\\\",\\n\\t\\t\\\"version\\\": 1\\n\\t},\\n\\t{\\n\\t\\t\\\"line\\\": \\\"35   ;run;quit;ods html5 close;\\\",\\n\\t\\t\\\"type\\\": \\\"source\\\",\\n\\t\\t\\\"version\\\": 1\\n\\t}\\n]\",\"mime\":\"application/vnd.sas.compute.log.lines\"}]}]},{\"kind\":1,\"language\":\"markdown\",\"value\":\"A last comment in Markdown at the end of the document\",\"outputs\":[]},{\"kind\":1,\"language\":\"markdown\",\"value\":\"\",\"outputs\":[]}]"
  },
  {
    "path": "client/testFixture/test_multi_node.flw",
    "content": "{\"creationTimeStamp\":\"2023-09-01T08:52:52.609Z\",\"modifiedTimeStamp\":\"2023-09-01T08:52:52.609Z\",\"createdBy\":\"user\",\"modifiedBy\":\"user\",\"version\":2,\"id\":null,\"name\":\"test_multi_node.flw\",\"description\":null,\"properties\":{\"UI_PROP_DF_OPTIMIZE\":\"false\",\"UI_PROP_DF_ID\":\"120081fc-2d7f-4cfc-bcd3-47f9684e9763\",\"UI_PROP_DF_EXECUTION_ORDERED\":\"false\"},\"links\":[{\"method\":\"GET\",\"rel\":\"self\",\"href\":\"/dataFlows/dataFlows/3fca587b-12db-4763-8948-3e25dc3613dc\",\"uri\":\"/dataFlows/dataFlows/3fca587b-12db-4763-8948-3e25dc3613dc\",\"type\":\"application/vnd.sas.data.flow\"},{\"method\":\"GET\",\"rel\":\"alternate\",\"href\":\"/dataFlows/dataFlows/3fca587b-12db-4763-8948-3e25dc3613dc\",\"uri\":\"/dataFlows/dataFlows/3fca587b-12db-4763-8948-3e25dc3613dc\",\"type\":\"application/vnd.sas.data.flow.summary\"},{\"method\":\"GET\",\"rel\":\"up\",\"href\":\"/dataFlows/dataFlows\",\"uri\":\"/dataFlows/dataFlows\",\"type\":\"application/vnd.sas.collection\",\"itemType\":\"application/vnd.sas.data.flow.summary\"},{\"method\":\"PUT\",\"rel\":\"update\",\"href\":\"/dataFlows/dataFlows/3fca587b-12db-4763-8948-3e25dc3613dc\",\"uri\":\"/dataFlows/dataFlows/3fca587b-12db-4763-8948-3e25dc3613dc\",\"type\":\"application/vnd.sas.data.flow\",\"responseType\":\"application/vnd.sas.data.flow\"},{\"method\":\"DELETE\",\"rel\":\"delete\",\"href\":\"/dataFlows/dataFlows/3fca587b-12db-4763-8948-3e25dc3613dc\",\"uri\":\"/dataFlows/dataFlows/3fca587b-12db-4763-8948-3e25dc3613dc\"},{\"method\":\"GET\",\"rel\":\"transferExport\",\"href\":\"/dataFlows/dataFlows/3fca587b-12db-4763-8948-3e25dc3613dc\",\"uri\":\"/dataFlows/dataFlows/3fca587b-12db-4763-8948-3e25dc3613dc\",\"responseType\":\"application/vnd.sas.transfer.object\"},{\"method\":\"PUT\",\"rel\":\"transferImportUpdate\",\"href\":\"/dataFlows/dataFlows/3fca587b-12db-4763-8948-3e25dc3613dc\",\"uri\":\"/dataFlows/dataFlows/3fca587b-12db-4763-8948-3e25dc3613dc\",\"type\":\"application/vnd.sas.transfer.object\",\"responseType\":\"application/vnd.sas.summary\"}],\"nodes\":{\"568a8eab-2b78-4f14-8424-e61e92a547cf\":{\"nodeType\":\"step\",\"version\":1,\"id\":\"568a8eab-2b78-4f14-8424-e61e92a547cf\",\"name\":\"Python Program\",\"note\":{\"version\":1,\"id\":\"9a863167-b652-4c12-852e-875f57cd4edd\",\"name\":null,\"description\":null,\"properties\":{\"UI_NOTE_PROP_HEIGHT\":\"0\",\"UI_NOTE_PROP_IS_EXPANDED\":\"false\",\"UI_NOTE_PROP_IS_STICKYNOTE\":\"false\",\"UI_NOTE_PROP_WIDTH\":\"0\"}},\"priority\":0,\"properties\":{\"UI_PROP_COLORGRP\":\"0\",\"UI_PROP_IS_INPUT_EXPANDED\":\"false\",\"UI_PROP_IS_OUTPUT_EXPANDED\":\"false\",\"UI_PROP_NODE_DATA_ID\":\"ab59f8c4-af9a-4608-a5d5-a8365357bb99\",\"UI_PROP_NODE_DATA_MODIFIED_DATE\":\"1693558370677\",\"UI_PROP_PORT_DESCRIPTION|outTables|0\":\"Output tables\",\"UI_PROP_PORT_LABEL|outTables|0\":\"Output table 1\",\"UI_PROP_XPOS\":\"150\",\"UI_PROP_YPOS\":\"75\"},\"portMappings\":[{\"mappingType\":\"tableStructure\",\"portName\":\"outTables\",\"portIndex\":0,\"tableStructure\":{\"columnDefinitions\":null}}],\"stepReference\":{\"type\":\"uri\",\"path\":\"/dataFlows/steps/ab59f8c4-af9a-4608-a5d5-a8365357bb99\"},\"arguments\":{\"codeOptions\":{\"code\":\"a, b = 4, 2\\r\\nprint(\\\"Result: \\\", a*10 + b)\",\"contentType\":\"embedded\",\"logHTML\":\"\",\"resultsHTML\":\"\",\"variables\":[{\"name\":\"_input1\",\"value\":{\"portIndex\":0,\"portName\":\"inTables\",\"referenceType\":\"inputPort\"}},{\"name\":\"_output1\",\"value\":{\"arguments\":{},\"portIndex\":0,\"portName\":\"outTables\",\"referenceType\":\"outputPort\"}}]}}},\"b235f8c3-62d0-4127-bc0f-42a04d806273\":{\"nodeType\":\"step\",\"version\":1,\"id\":\"b235f8c3-62d0-4127-bc0f-42a04d806273\",\"name\":\"SAS Program\",\"note\":{\"version\":1,\"id\":\"024c8d0f-dcc4-4ddb-9d68-7e8b4e0a229d\",\"name\":null,\"description\":null,\"properties\":{\"UI_NOTE_PROP_HEIGHT\":\"0\",\"UI_NOTE_PROP_IS_EXPANDED\":\"false\",\"UI_NOTE_PROP_IS_STICKYNOTE\":\"false\",\"UI_NOTE_PROP_WIDTH\":\"0\"}},\"priority\":1,\"properties\":{\"UI_PROP_COLORGRP\":\"0\",\"UI_PROP_IS_INPUT_EXPANDED\":\"false\",\"UI_PROP_IS_OUTPUT_EXPANDED\":\"false\",\"UI_PROP_NODE_DATA_ID\":\"a7190700-f59c-4a94-afe2-214ce639fcde\",\"UI_PROP_NODE_DATA_MODIFIED_DATE\":\"1693558370677\",\"UI_PROP_PORT_DESCRIPTION|inTables|0\":\"Input tables\",\"UI_PROP_PORT_DESCRIPTION|outTables|0\":\"Output tables\",\"UI_PROP_PORT_LABEL|inTables|0\":\"Input table 1\",\"UI_PROP_PORT_LABEL|outTables|0\":\"Output table 1\",\"UI_PROP_XPOS\":\"300\",\"UI_PROP_YPOS\":\"75\"},\"portMappings\":[{\"mappingType\":\"tableStructure\",\"portName\":\"outTables\",\"portIndex\":0,\"tableStructure\":{\"columnDefinitions\":null}}],\"stepReference\":{\"type\":\"uri\",\"path\":\"/dataFlows/steps/a7190700-f59c-4a94-afe2-214ce639fcde\"},\"arguments\":{\"codeOptions\":{\"code\":\"data work.prdsale;\\r\\n\\tset sashelp.PRDSALE;\\r\\nrun;\\r\\n\\r\\nproc means data=work.prdsale;\\r\\nrun;\",\"contentType\":\"embedded\",\"logHTML\":\"\",\"resultsHTML\":\"\",\"variables\":[{\"name\":\"_input1\",\"value\":{\"portIndex\":0,\"portName\":\"inTables\",\"referenceType\":\"inputPort\"}},{\"name\":\"_output1\",\"value\":{\"arguments\":{},\"portIndex\":0,\"portName\":\"outTables\",\"referenceType\":\"outputPort\"}}]}}},\"c686d9fb-eba1-40a5-a19b-18af43c5f44c\":{\"nodeType\":\"step\",\"version\":1,\"id\":\"c686d9fb-eba1-40a5-a19b-18af43c5f44c\",\"name\":\"SQL Program\",\"note\":{\"version\":1,\"id\":\"806734cb-a48e-45ce-9106-24ab44b5b036\",\"name\":null,\"description\":null,\"properties\":{\"UI_NOTE_PROP_HEIGHT\":\"0\",\"UI_NOTE_PROP_IS_EXPANDED\":\"false\",\"UI_NOTE_PROP_IS_STICKYNOTE\":\"false\",\"UI_NOTE_PROP_WIDTH\":\"0\"}},\"priority\":2,\"properties\":{\"UI_PROP_COLORGRP\":\"0\",\"UI_PROP_IS_INPUT_EXPANDED\":\"false\",\"UI_PROP_IS_OUTPUT_EXPANDED\":\"false\",\"UI_PROP_NODE_DATA_ID\":\"a7190700-f59c-4a94-afe2-214ce639fcde\",\"UI_PROP_NODE_DATA_MODIFIED_DATE\":\"1693558370677\",\"UI_PROP_PORT_DESCRIPTION|inTables|0\":\"Input tables\",\"UI_PROP_PORT_LABEL|inTables|0\":\"Input table 1\",\"UI_PROP_XPOS\":\"450\",\"UI_PROP_YPOS\":\"75\"},\"portMappings\":[{\"mappingType\":\"tableStructure\",\"portName\":\"outTables\",\"portIndex\":0,\"tableStructure\":{\"columnDefinitions\":null}}],\"stepReference\":{\"type\":\"uri\",\"path\":\"/dataFlows/steps/a7190700-f59c-4a94-afe2-214ce639fcde\"},\"arguments\":{\"codeOptions\":{\"code\":\"PROC SQL;\\nCREATE TABLE WORK.QUERY_PRDSALE AS\\r\\n    SELECT\\r\\n        (t1.COUNTRY) LABEL='Country' FORMAT=$CHAR10.,\\r\\n        (SUM(t1.ACTUAL)) FORMAT=DOLLAR12.2 LENGTH=8 AS SUM_ACTUAL\\r\\n    FROM\\r\\n        WORK.PRDSALE t1\\r\\n    GROUP BY\\r\\n        t1.COUNTRY;\\nQUIT;\",\"contentType\":\"embedded\",\"logHTML\":\"\",\"resultsHTML\":\"\",\"variables\":[{\"name\":\"_input1\",\"value\":{\"portIndex\":0,\"portName\":\"inTables\",\"referenceType\":\"inputPort\"}},{\"name\":\"_output1\",\"value\":{\"arguments\":{},\"portIndex\":0,\"portName\":\"outTables\",\"referenceType\":\"outputPort\"}}]}}}},\"parameters\":{},\"connections\":[{\"sourcePort\":{\"node\":\"568a8eab-2b78-4f14-8424-e61e92a547cf\",\"portName\":\"outTables\",\"index\":0},\"targetPort\":{\"node\":\"b235f8c3-62d0-4127-bc0f-42a04d806273\",\"portName\":\"inTables\",\"index\":0}},{\"sourcePort\":{\"node\":\"b235f8c3-62d0-4127-bc0f-42a04d806273\",\"portName\":\"outTables\",\"index\":0},\"targetPort\":{\"node\":\"c686d9fb-eba1-40a5-a19b-18af43c5f44c\",\"portName\":\"inTables\",\"index\":0}}],\"extendedProperties\":{},\"stickyNotes\":[]}"
  },
  {
    "path": "client/testFixture/test_multi_swimlane.flw",
    "content": "{\"creationTimeStamp\":\"2023-09-01T08:59:20.994Z\",\"modifiedTimeStamp\":\"2023-09-01T08:59:20.994Z\",\"createdBy\":\"user\",\"modifiedBy\":\"user\",\"version\":2,\"id\":null,\"name\":\"test_multi_swimlane.flw\",\"description\":null,\"properties\":{\"UI_PROP_DF_OPTIMIZE\":\"false\",\"UI_PROP_DF_ID\":\"58e4d421-705d-448c-b397-cc8c9fab6c48\",\"UI_PROP_DF_EXECUTION_ORDERED\":\"true\"},\"links\":[{\"method\":\"GET\",\"rel\":\"self\",\"href\":\"/dataFlows/dataFlows/3b6cd151-07a3-4ca0-8078-a15e8d7a5b64\",\"uri\":\"/dataFlows/dataFlows/3b6cd151-07a3-4ca0-8078-a15e8d7a5b64\",\"type\":\"application/vnd.sas.data.flow\"},{\"method\":\"GET\",\"rel\":\"alternate\",\"href\":\"/dataFlows/dataFlows/3b6cd151-07a3-4ca0-8078-a15e8d7a5b64\",\"uri\":\"/dataFlows/dataFlows/3b6cd151-07a3-4ca0-8078-a15e8d7a5b64\",\"type\":\"application/vnd.sas.data.flow.summary\"},{\"method\":\"GET\",\"rel\":\"up\",\"href\":\"/dataFlows/dataFlows\",\"uri\":\"/dataFlows/dataFlows\",\"type\":\"application/vnd.sas.collection\",\"itemType\":\"application/vnd.sas.data.flow.summary\"},{\"method\":\"PUT\",\"rel\":\"update\",\"href\":\"/dataFlows/dataFlows/3b6cd151-07a3-4ca0-8078-a15e8d7a5b64\",\"uri\":\"/dataFlows/dataFlows/3b6cd151-07a3-4ca0-8078-a15e8d7a5b64\",\"type\":\"application/vnd.sas.data.flow\",\"responseType\":\"application/vnd.sas.data.flow\"},{\"method\":\"DELETE\",\"rel\":\"delete\",\"href\":\"/dataFlows/dataFlows/3b6cd151-07a3-4ca0-8078-a15e8d7a5b64\",\"uri\":\"/dataFlows/dataFlows/3b6cd151-07a3-4ca0-8078-a15e8d7a5b64\"},{\"method\":\"GET\",\"rel\":\"transferExport\",\"href\":\"/dataFlows/dataFlows/3b6cd151-07a3-4ca0-8078-a15e8d7a5b64\",\"uri\":\"/dataFlows/dataFlows/3b6cd151-07a3-4ca0-8078-a15e8d7a5b64\",\"responseType\":\"application/vnd.sas.transfer.object\"},{\"method\":\"PUT\",\"rel\":\"transferImportUpdate\",\"href\":\"/dataFlows/dataFlows/3b6cd151-07a3-4ca0-8078-a15e8d7a5b64\",\"uri\":\"/dataFlows/dataFlows/3b6cd151-07a3-4ca0-8078-a15e8d7a5b64\",\"type\":\"application/vnd.sas.transfer.object\",\"responseType\":\"application/vnd.sas.summary\"}],\"nodes\":{\"17d988e0-3120-435b-bffa-ce06e3798668\":{\"nodeType\":\"dataFlow\",\"version\":1,\"id\":\"17d988e0-3120-435b-bffa-ce06e3798668\",\"name\":\"Notebook Cell 1\",\"priority\":1,\"properties\":{\"UI_PROP_IS_EXPANDED\":\"true\",\"UI_PROP_IS_SWIMLANE\":\"true\"},\"portMappings\":[],\"dataFlowAndBindings\":{\"dataFlow\":{\"creationTimeStamp\":\"2023-09-01T08:59:19.073Z\",\"modifiedTimeStamp\":\"2023-09-01T08:59:19.073Z\",\"createdBy\":null,\"modifiedBy\":null,\"version\":2,\"id\":null,\"name\":null,\"description\":null,\"properties\":{\"UI_PROP_DF_OPTIMIZE\":\"false\",\"UI_PROP_DF_ID\":\"120081fc-2d7f-4cfc-bcd3-47f9684e9763\",\"UI_PROP_DF_EXECUTION_ORDERED\":\"false\"},\"links\":[],\"nodes\":{\"41ea96e5-ae92-4fa9-b083-4a2d618753ac\":{\"nodeType\":\"step\",\"version\":1,\"id\":\"41ea96e5-ae92-4fa9-b083-4a2d618753ac\",\"name\":\"Python Program\",\"note\":{\"version\":1,\"id\":\"7d87cc48-5fa6-4059-8cb3-f1bc037949a6\",\"name\":null,\"description\":null,\"properties\":{\"UI_NOTE_PROP_HEIGHT\":\"0\",\"UI_NOTE_PROP_IS_EXPANDED\":\"false\",\"UI_NOTE_PROP_IS_STICKYNOTE\":\"false\",\"UI_NOTE_PROP_WIDTH\":\"0\"}},\"priority\":0,\"properties\":{\"UI_PROP_COLORGRP\":\"0\",\"UI_PROP_IS_INPUT_EXPANDED\":\"false\",\"UI_PROP_IS_OUTPUT_EXPANDED\":\"false\",\"UI_PROP_NODE_DATA_ID\":\"ab59f8c4-af9a-4608-a5d5-a8365357bb99\",\"UI_PROP_NODE_DATA_MODIFIED_DATE\":\"1693558759073\",\"UI_PROP_PORT_DESCRIPTION|outTables|0\":\"Output tables\",\"UI_PROP_PORT_LABEL|outTables|0\":\"Output table 1\",\"UI_PROP_XPOS\":\"150\",\"UI_PROP_YPOS\":\"75\"},\"portMappings\":[{\"mappingType\":\"tableStructure\",\"portName\":\"outTables\",\"portIndex\":0,\"tableStructure\":{\"columnDefinitions\":null}}],\"stepReference\":{\"type\":\"uri\",\"path\":\"/dataFlows/steps/ab59f8c4-af9a-4608-a5d5-a8365357bb99\"},\"arguments\":{\"codeOptions\":{\"code\":\"a, b = 4, 2\\r\\nprint(\\\"Result: \\\", a*10 + b)\",\"contentType\":\"embedded\",\"logHTML\":\"\",\"resultsHTML\":\"\",\"variables\":[{\"name\":\"_input1\",\"value\":{\"portIndex\":0,\"portName\":\"inTables\",\"referenceType\":\"inputPort\"}},{\"name\":\"_output1\",\"value\":{\"arguments\":{},\"portIndex\":0,\"portName\":\"outTables\",\"referenceType\":\"outputPort\"}}]}}}},\"parameters\":{},\"connections\":[],\"extendedProperties\":{},\"stickyNotes\":[]},\"executionBindings\":{\"sessionId\":null,\"contextId\":null,\"environmentId\":\"compute\",\"tempTablePrefix\":null,\"arguments\":{\"__NO_OPTIMIZE\":{\"argumentType\":\"string\",\"version\":1,\"value\":\"true\"}}}}},\"3620ecf8-a5f9-416f-a328-b539531d1bc6\":{\"nodeType\":\"dataFlow\",\"version\":1,\"id\":\"3620ecf8-a5f9-416f-a328-b539531d1bc6\",\"name\":\"Notebook Cell 2\",\"priority\":2,\"properties\":{\"UI_PROP_IS_EXPANDED\":\"true\",\"UI_PROP_IS_SWIMLANE\":\"true\"},\"portMappings\":[],\"dataFlowAndBindings\":{\"dataFlow\":{\"creationTimeStamp\":\"2023-09-01T08:59:19.073Z\",\"modifiedTimeStamp\":\"2023-09-01T08:59:19.073Z\",\"createdBy\":null,\"modifiedBy\":null,\"version\":2,\"id\":null,\"name\":null,\"description\":null,\"properties\":{\"UI_PROP_DF_OPTIMIZE\":\"false\",\"UI_PROP_DF_ID\":\"120081fc-2d7f-4cfc-bcd3-47f9684e9763\",\"UI_PROP_DF_EXECUTION_ORDERED\":\"false\"},\"links\":[],\"nodes\":{\"b6bb812d-0297-4dfc-a2c3-44d7fc80b0df\":{\"nodeType\":\"step\",\"version\":1,\"id\":\"b6bb812d-0297-4dfc-a2c3-44d7fc80b0df\",\"name\":\"SAS Program\",\"note\":{\"version\":1,\"id\":\"0719c2de-67b0-43ee-b589-2ae5b31a8252\",\"name\":null,\"description\":null,\"properties\":{\"UI_NOTE_PROP_HEIGHT\":\"0\",\"UI_NOTE_PROP_IS_EXPANDED\":\"false\",\"UI_NOTE_PROP_IS_STICKYNOTE\":\"false\",\"UI_NOTE_PROP_WIDTH\":\"0\"}},\"priority\":0,\"properties\":{\"UI_PROP_COLORGRP\":\"0\",\"UI_PROP_IS_INPUT_EXPANDED\":\"false\",\"UI_PROP_IS_OUTPUT_EXPANDED\":\"false\",\"UI_PROP_NODE_DATA_ID\":\"a7190700-f59c-4a94-afe2-214ce639fcde\",\"UI_PROP_NODE_DATA_MODIFIED_DATE\":\"1693558759073\",\"UI_PROP_PORT_DESCRIPTION|outTables|0\":\"Output tables\",\"UI_PROP_PORT_LABEL|outTables|0\":\"Output table 1\",\"UI_PROP_XPOS\":\"150\",\"UI_PROP_YPOS\":\"75\"},\"portMappings\":[{\"mappingType\":\"tableStructure\",\"portName\":\"outTables\",\"portIndex\":0,\"tableStructure\":{\"columnDefinitions\":null}}],\"stepReference\":{\"type\":\"uri\",\"path\":\"/dataFlows/steps/a7190700-f59c-4a94-afe2-214ce639fcde\"},\"arguments\":{\"codeOptions\":{\"code\":\"data work.prdsale;\\r\\n\\tset sashelp.PRDSALE;\\r\\nrun;\\r\\n\\r\\nproc means data=work.prdsale;\\r\\nrun;\",\"contentType\":\"embedded\",\"logHTML\":\"\",\"resultsHTML\":\"\",\"variables\":[{\"name\":\"_input1\",\"value\":{\"portIndex\":0,\"portName\":\"inTables\",\"referenceType\":\"inputPort\"}},{\"name\":\"_output1\",\"value\":{\"arguments\":{},\"portIndex\":0,\"portName\":\"outTables\",\"referenceType\":\"outputPort\"}}]}}}},\"parameters\":{},\"connections\":[],\"extendedProperties\":{},\"stickyNotes\":[]},\"executionBindings\":{\"sessionId\":null,\"contextId\":null,\"environmentId\":\"compute\",\"tempTablePrefix\":null,\"arguments\":{\"__NO_OPTIMIZE\":{\"argumentType\":\"string\",\"version\":1,\"value\":\"true\"}}}}},\"c0501d96-4b46-4b0f-b20c-708e03e1b737\":{\"nodeType\":\"dataFlow\",\"version\":1,\"id\":\"c0501d96-4b46-4b0f-b20c-708e03e1b737\",\"name\":\"Notebook Cell 3\",\"priority\":3,\"properties\":{\"UI_PROP_IS_EXPANDED\":\"true\",\"UI_PROP_IS_SWIMLANE\":\"true\"},\"portMappings\":[],\"dataFlowAndBindings\":{\"dataFlow\":{\"creationTimeStamp\":\"2023-09-01T08:59:19.073Z\",\"modifiedTimeStamp\":\"2023-09-01T08:59:19.073Z\",\"createdBy\":null,\"modifiedBy\":null,\"version\":2,\"id\":null,\"name\":null,\"description\":null,\"properties\":{\"UI_PROP_DF_OPTIMIZE\":\"false\",\"UI_PROP_DF_ID\":\"120081fc-2d7f-4cfc-bcd3-47f9684e9763\",\"UI_PROP_DF_EXECUTION_ORDERED\":\"false\"},\"links\":[],\"nodes\":{\"4287de33-f407-4511-8b6c-e08dd2c23151\":{\"nodeType\":\"step\",\"version\":1,\"id\":\"4287de33-f407-4511-8b6c-e08dd2c23151\",\"name\":\"SQL Program\",\"note\":{\"version\":1,\"id\":\"f47277fa-e8f9-4c44-b9a7-ff3723ca04c4\",\"name\":null,\"description\":null,\"properties\":{\"UI_NOTE_PROP_HEIGHT\":\"0\",\"UI_NOTE_PROP_IS_EXPANDED\":\"false\",\"UI_NOTE_PROP_IS_STICKYNOTE\":\"false\",\"UI_NOTE_PROP_WIDTH\":\"0\"}},\"priority\":0,\"properties\":{\"UI_PROP_COLORGRP\":\"0\",\"UI_PROP_IS_INPUT_EXPANDED\":\"false\",\"UI_PROP_IS_OUTPUT_EXPANDED\":\"false\",\"UI_PROP_NODE_DATA_ID\":\"a7190700-f59c-4a94-afe2-214ce639fcde\",\"UI_PROP_NODE_DATA_MODIFIED_DATE\":\"1693558759073\",\"UI_PROP_PORT_DESCRIPTION|outTables|0\":\"Output tables\",\"UI_PROP_PORT_LABEL|outTables|0\":\"Output table 1\",\"UI_PROP_XPOS\":\"150\",\"UI_PROP_YPOS\":\"75\"},\"portMappings\":[{\"mappingType\":\"tableStructure\",\"portName\":\"outTables\",\"portIndex\":0,\"tableStructure\":{\"columnDefinitions\":null}}],\"stepReference\":{\"type\":\"uri\",\"path\":\"/dataFlows/steps/a7190700-f59c-4a94-afe2-214ce639fcde\"},\"arguments\":{\"codeOptions\":{\"code\":\"PROC SQL;\\nCREATE TABLE WORK.QUERY_PRDSALE AS\\r\\n    SELECT\\r\\n        (t1.COUNTRY) LABEL='Country' FORMAT=$CHAR10.,\\r\\n        (SUM(t1.ACTUAL)) FORMAT=DOLLAR12.2 LENGTH=8 AS SUM_ACTUAL\\r\\n    FROM\\r\\n        WORK.PRDSALE t1\\r\\n    GROUP BY\\r\\n        t1.COUNTRY;\\nQUIT;\",\"contentType\":\"embedded\",\"logHTML\":\"\",\"resultsHTML\":\"\",\"variables\":[{\"name\":\"_input1\",\"value\":{\"portIndex\":0,\"portName\":\"inTables\",\"referenceType\":\"inputPort\"}},{\"name\":\"_output1\",\"value\":{\"arguments\":{},\"portIndex\":0,\"portName\":\"outTables\",\"referenceType\":\"outputPort\"}}]}}}},\"parameters\":{},\"connections\":[],\"extendedProperties\":{},\"stickyNotes\":[]},\"executionBindings\":{\"sessionId\":null,\"contextId\":null,\"environmentId\":\"compute\",\"tempTablePrefix\":null,\"arguments\":{\"__NO_OPTIMIZE\":{\"argumentType\":\"string\",\"version\":1,\"value\":\"true\"}}}}}},\"parameters\":{},\"connections\":[],\"extendedProperties\":{},\"stickyNotes\":[]}"
  },
  {
    "path": "client/testFixture/test_single.sasnb",
    "content": "[{\"kind\":2,\"language\":\"sas\",\"value\":\"data work.prdsale;\\n\\tset sashelp.PRDSALE;\\nrun;\\n\\nproc means data=work.prdsale;\\nrun;\",\"outputs\":[{\"items\":[{\"data\":\"<!DOCTYPE html>\\n<html lang=\\\"en\\\" xml:lang=\\\"en\\\" xmlns=\\\"http://www.w3.org/1999/xhtml\\\">\\n<head>\\n<meta charset=\\\"utf-8\\\"/>\\n<meta content=\\\"SAS V.04.00\\\" name=\\\"generator\\\"/>\\n<title>SAS Output</title>\\n<style>\\n/*<![CDATA[*/\\n.body.c > table, .body.c > pre, .body.c div > table,\\n.body.c div > pre, .body.c > table, .body.c > pre,\\n.body.j > table, .body.j > pre, .body.j div > table,\\n.body.j div > pre, .body.j > table, .body.j > pre,\\n.body.c p.note, .body.c p.warning, .body.c p.error, .body.c p.fatal,\\n.body.j p.note, .body.j p.warning, .body.j p.error, .body.j p.fatal,\\n.body.c > table.layoutcontainer, .body.j > table.layoutcontainer { margin-left: auto; margin-right: auto }\\n.layoutregion.l table, .layoutregion.l pre, .layoutregion.l p.note,\\n.layoutregion.l p.warning, .layoutregion.l p.error, .layoutregion.l p.fatal { margin-left: 0 }\\n.layoutregion.c table, .layoutregion.c pre, .layoutregion.c p.note,\\n.layoutregion.c p.warning, .layoutregion.c p.error, .layoutregion.c p.fatal { margin-left: auto; margin-right: auto }\\n.layoutregion.r table, .layoutregion.r pre, .layoutregion.r p.note,\\n.layoutregion.r table, .layoutregion.r pre, .layoutregion.r p.note,\\n.layoutregion.r p.warning, .layoutregion.r p.error, .layoutregion.r p.fatal { margin-right: 0 }\\narticle, aside, details, figcaption, figure, footer, header, hgroup, nav, section { display: block }\\nhtml{ font-size: 100% }\\n.body { margin: 1em; font-size: 13px; line-height: 1.231 }\\nsup { position: relative; vertical-align: baseline; bottom: 0.25em; font-size: 0.8em }\\nsub { position: relative; vertical-align: baseline; top: 0.25em; font-size: 0.8em }\\nul, ol { margin: 1em 0; padding: 0 0 0 40px }\\ndd { margin: 0 0 0 40px }\\nnav ul, nav ol { list-style: none; list-style-image: none; margin: 0; padding: 0 }\\nimg { border: 0; vertical-align: middle }\\nsvg:not(:root) { overflow: hidden }\\nfigure { margin: 0 }\\ntable { border-collapse: collapse; border-spacing: 0 }\\n.layoutcontainer { border-collapse: separate; border-spacing: 0 }\\np { margin-top: 0; text-align: left }\\nh1.heading1 { text-align: left }\\nh2.heading2 { text-align: left }\\nh3.heading3 { text-align: left }\\nh4.heading4 { text-align: left }\\nh5.heading5 { text-align: left }\\nh6.heading6 { text-align: left }\\nspan { text-align: left }\\ntable { margin-bottom: 1em }\\ntd, th { text-align: left; padding: 3px 6px; vertical-align: top }\\ntd[class$=\\\"fixed\\\"], th[class$=\\\"fixed\\\"] { white-space: pre }\\nsection, article { padding-top: 1px; padding-bottom: 8px }\\nhr.pagebreak { height: 0px; border: 0; border-bottom: 1px solid #c0c0c0; margin: 1em 0 }\\n.stacked-value { text-align: left; display: block }\\n.stacked-cell > .stacked-value, td.data > td.data, th.data > td.data, th.data > th.data, td.data > th.data, th.header > th.header { border: 0 }\\n.stacked-cell > div.data { border-width: 0 }\\n.systitleandfootercontainer { white-space: nowrap; margin-bottom: 1em }\\n.systitleandfootercontainer > p { margin: 0 }\\n.systitleandfootercontainer > p > span { display: inline-block; width: 100%; white-space: normal }\\n.batch { display: table }\\n.toc { display: none }\\n.proc_note_group, .proc_title_group { margin-bottom: 1em }\\np.proctitle { margin: 0 }\\np.note, p.warning, p.error, p.fatal { display: table }\\n.notebanner, .warnbanner, .errorbanner, .fatalbanner,\\n.notecontent, .warncontent, .errorcontent, .fatalcontent { display: table-cell; padding: 0.5em }\\n.notebanner, .warnbanner, .errorbanner, .fatalbanner { padding-right: 0 }\\n.body > div > ol li { text-align: left }\\n.beforecaption > h4 { margin-top: 0; margin-bottom: 0 }\\n.c { text-align: center }\\n.r { text-align: right }\\n.l { text-align: left }\\n.j { text-align: justify }\\n.d { text-align: right }\\n.b { vertical-align: bottom }\\n.m { vertical-align: middle }\\n.t { vertical-align: top }\\n.accessiblecaption {\\n    background-color: #fafbfe;\\n    color: #112277;\\n    font-family: 'Avenir Next for SAS', Arial, 'Albany AMT', Helvetica, Helv;\\n    font-size: 14px;\\n    font-style: normal;\\n    font-weight: bold;\\n}\\na:active { color: #800080 }\\n.aftercaption {\\n    background-color: #fafbfe;\\n    border-spacing: 0;\\n    color: #112277;\\n    font-family: 'Avenir Next for SAS', Arial, 'Albany AMT', Helvetica, Helv;\\n    font-size: 14px;\\n    font-style: normal;\\n    font-weight: bold;\\n    padding-top: 4pt;\\n}\\n.batch > colgroup {\\n    border-left: 1px solid #c1c1c1;\\n    border-right: 1px solid #c1c1c1;\\n}\\n.batch > tbody, .batch > thead, .batch > tfoot {\\n    border-top: 1px solid #c1c1c1;\\n    border-bottom: 1px solid #c1c1c1;\\n}\\n.batch { border: hidden; }\\n.batch {\\n    background-color: #fafbfe;\\n    border: 1px solid #c1c1c1;\\n    border-collapse: separate;\\n    border-spacing: 1px;\\n    color: #000000;\\n    font-family: 'SAS Monospace', 'Courier New', Courier, monospace;\\n    font-size: 14px;\\n    font-style: normal;\\n    font-weight: normal;\\n    padding: 7px;\\n    }\\n.beforecaption {\\n    background-color: #fafbfe;\\n    border-spacing: 0;\\n    color: #112277;\\n    font-family: 'Avenir Next for SAS', Arial, 'Albany AMT', Helvetica, Helv;\\n    font-size: 14px;\\n    font-style: normal;\\n    font-weight: bold;\\n}\\n.body {\\n    background-color: #fafbfe;\\n    color: #000000;\\n    font-family: 'Avenir Next for SAS', Arial, 'Albany AMT', Helvetica, Helv;\\n    font-size: 14px;\\n    font-style: normal;\\n    font-weight: normal;\\n    margin-left: 8px;\\n    margin-right: 8px;\\n}\\n.bodydate {\\n    background-color: #fafbfe;\\n    border-spacing: 0;\\n    color: #000000;\\n    font-family: 'Avenir Next for SAS', Arial, 'Albany AMT', Helvetica, Helv;\\n    font-size: 14px;\\n    font-style: normal;\\n    font-weight: normal;\\n    text-align: right;\\n    vertical-align: top;\\n    width: 100%;\\n}\\n.bycontentfolder {\\n    color: #000000;\\n    font-family: 'Avenir Next for SAS', Arial, 'Albany AMT', Helvetica, Helv;\\n    font-size: 14px;\\n    font-style: normal;\\n    font-weight: normal;\\n    list-style-type: none;\\n    margin-left: 6pt;\\n}\\n.byline {\\n    background-color: #fafbfe;\\n    border-spacing: 0;\\n    color: #112277;\\n    font-family: 'Avenir Next for SAS', Arial, 'Albany AMT', Helvetica, Helv;\\n    font-size: 14px;\\n    font-style: normal;\\n    font-weight: bold;\\n}\\n.bylinecontainer > col, .bylinecontainer > colgroup > col, .bylinecontainer > colgroup, .bylinecontainer > tr, .bylinecontainer > * > tr, .bylinecontainer > thead, .bylinecontainer > tbody, .bylinecontainer > tfoot { border: none; }\\n.bylinecontainer {\\n    background-color: #fafbfe;\\n    border: none;\\n    border-spacing: 1px;\\n    color: #000000;\\n    font-family: 'Avenir Next for SAS', Arial, 'Albany AMT', Helvetica, Helv;\\n    font-size: 14px;\\n    font-style: normal;\\n    font-weight: normal;\\n    width: 100%;\\n}\\n.caption {\\n    background-color: #fafbfe;\\n    border-spacing: 0;\\n    color: #112277;\\n    font-family: 'Avenir Next for SAS', Arial, 'Albany AMT', Helvetica, Helv;\\n    font-size: 14px;\\n    font-style: normal;\\n    font-weight: bold;\\n}\\n.cell, .container {\\n    background-color: #fafbfe;\\n    color: #000000;\\n    font-family: 'Avenir Next for SAS', Arial, 'Albany AMT', Helvetica, Helv;\\n    font-size: 14px;\\n    font-style: normal;\\n    font-weight: normal;\\n}\\n.contentfolder, .contentitem {\\n    color: #000000;\\n    font-family: 'Avenir Next for SAS', Arial, 'Albany AMT', Helvetica, Helv;\\n    font-size: 14px;\\n    font-style: normal;\\n    font-weight: normal;\\n    list-style-type: none;\\n    margin-left: 6pt;\\n}\\n.contentproclabel, .contentprocname {\\n    background-color: #fafbfe;\\n    color: #112277;\\n    font-family: 'Avenir Next for SAS', Arial, 'Albany AMT', Helvetica, Helv;\\n    font-size: 14px;\\n    font-style: normal;\\n    font-weight: bold;\\n}\\n.contents {\\n    background-color: #fafbfe;\\n    color: #000000;\\n    font-family: 'Avenir Next for SAS', Arial, 'Albany AMT', Helvetica, Helv;\\n    font-size: 14px;\\n    font-style: normal;\\n    font-weight: normal;\\n    list-style-type: decimal;\\n    margin-left: 8px;\\n    margin-right: 8px;\\n}\\n.contentsdate {\\n    background-color: #fafbfe;\\n    color: #000000;\\n    font-family: 'Avenir Next for SAS', Arial, 'Albany AMT', Helvetica, Helv;\\n    font-size: 14px;\\n    font-style: normal;\\n    font-weight: normal;\\n    width: 100%;\\n}\\n.contenttitle {\\n    background-color: #fafbfe;\\n    color: #112277;\\n    font-family: 'Avenir Next for SAS', Arial, 'Albany AMT', Helvetica, Helv;\\n    font-size: 14px;\\n    font-style: italic;\\n    font-weight: bold;\\n}\\n.continued {\\n    background-color: #fafbfe;\\n    border-spacing: 0;\\n    color: #112277;\\n    font-family: 'Avenir Next for SAS', Arial, 'Albany AMT', Helvetica, Helv;\\n    font-size: 14px;\\n    font-style: normal;\\n    font-weight: bold;\\n    width: 100%;\\n}\\n.data, .dataemphasis {\\n    background-color: #ffffff;\\n    border-color: #c1c1c1;\\n    border-style: solid;\\n    border-width: 0 1px 1px 0;\\n    font-family: 'Avenir Next for SAS', Arial, 'Albany AMT', Helvetica, Helv;\\n    font-size: 14px;\\n    font-style: normal;\\n    font-weight: normal;\\n}\\n.dataemphasisfixed {\\n    background-color: #ffffff;\\n    border-color: #c1c1c1;\\n    border-style: solid;\\n    border-width: 0 1px 1px 0;\\n    font-family: 'Courier New', Courier, monospace;\\n    font-size: 14px;\\n    font-style: italic;\\n    font-weight: normal;\\n}\\n.dataempty {\\n    background-color: #ffffff;\\n    border-color: #c1c1c1;\\n    border-style: solid;\\n    border-width: 0 1px 1px 0;\\n    font-family: 'Avenir Next for SAS', Arial, 'Albany AMT', Helvetica, Helv;\\n    font-size: 14px;\\n    font-style: normal;\\n    font-weight: normal;\\n}\\n.datafixed {\\n    background-color: #ffffff;\\n    border-color: #c1c1c1;\\n    border-style: solid;\\n    border-width: 0 1px 1px 0;\\n    font-family: 'Courier New', Courier;\\n    font-size: 14px;\\n    font-style: normal;\\n    font-weight: normal;\\n}\\n.datastrong {\\n    background-color: #ffffff;\\n    border-color: #c1c1c1;\\n    border-style: solid;\\n    border-width: 0 1px 1px 0;\\n    color: #000000;\\n    font-family: 'Avenir Next for SAS', Arial, 'Albany AMT', Helvetica, Helv;\\n    font-size: 14px;\\n    font-style: normal;\\n    font-weight: bold;\\n}\\n.datastrongfixed {\\n    background-color: #ffffff;\\n    border-color: #c1c1c1;\\n    border-style: solid;\\n    border-width: 0 1px 1px 0;\\n    color: #000000;\\n    font-family: 'Courier New', Courier, monospace;\\n    font-size: 14px;\\n    font-style: normal;\\n    font-weight: bold;\\n}\\n.date {\\n    background-color: #fafbfe;\\n    color: #000000;\\n    font-family: 'Avenir Next for SAS', Arial, 'Albany AMT', Helvetica, Helv;\\n    font-size: 14px;\\n    font-style: normal;\\n    font-weight: normal;\\n    width: 100%;\\n}\\n.document {\\n    background-color: #fafbfe;\\n    color: #000000;\\n    font-family: 'Avenir Next for SAS', Arial, 'Albany AMT', Helvetica, Helv;\\n    font-size: 14px;\\n    font-style: normal;\\n    font-weight: normal;\\n}\\n.errorbanner {\\n    background-color: #fafbfe;\\n    color: #112277;\\n    font-family: 'Avenir Next for SAS', Arial, 'Albany AMT', Helvetica, Helv;\\n    font-size: 14px;\\n    font-style: normal;\\n    font-weight: bold;\\n}\\n.errorcontent {\\n    background-color: #fafbfe;\\n    color: #112277;\\n    font-family: 'Avenir Next for SAS', Arial, 'Albany AMT', Helvetica, Helv;\\n    font-size: 14px;\\n    font-style: normal;\\n    font-weight: normal;\\n}\\n.errorcontentfixed {\\n    background-color: #fafbfe;\\n    color: #112277;\\n    font-family: 'Courier New', Courier;\\n    font-size: 14px;\\n    font-style: normal;\\n    font-weight: normal;\\n}\\n.extendedpage {\\n    background-color: #fafbfe;\\n    border-style: solid;\\n    border-width: 1pt;\\n    color: #112277;\\n    font-family: 'Avenir Next for SAS', Arial, 'Albany AMT', Helvetica, Helv;\\n    font-size: 14px;\\n    font-style: italic;\\n    font-weight: normal;\\n    text-align: center;\\n}\\n.fatalbanner {\\n    background-color: #fafbfe;\\n    color: #112277;\\n    font-family: 'Avenir Next for SAS', Arial, 'Albany AMT', Helvetica, Helv;\\n    font-size: 14px;\\n    font-style: normal;\\n    font-weight: bold;\\n}\\n.fatalcontent {\\n    background-color: #fafbfe;\\n    color: #112277;\\n    font-family: 'Avenir Next for SAS', Arial, 'Albany AMT', Helvetica, Helv;\\n    font-size: 14px;\\n    font-style: normal;\\n    font-weight: normal;\\n}\\n.fatalcontentfixed {\\n    background-color: #fafbfe;\\n    color: #112277;\\n    font-family: 'Courier New', Courier;\\n    font-size: 14px;\\n    font-style: normal;\\n    font-weight: normal;\\n}\\n.folderaction {\\n    color: #000000;\\n    font-family: 'Avenir Next for SAS', Arial, 'Albany AMT', Helvetica, Helv;\\n    font-size: 14px;\\n    font-style: normal;\\n    font-weight: normal;\\n    list-style-type: none;\\n    margin-left: 6pt;\\n}\\n.footer {\\n    background-color: #edf2f9;\\n    border-color: #b0b7bb;\\n    border-style: solid;\\n    border-width: 0 1px 1px 0;\\n    color: #112277;\\n    font-family: 'Avenir Next for SAS', Arial, 'Albany AMT', Helvetica, Helv;\\n    font-size: 14px;\\n    font-style: normal;\\n    font-weight: bold;\\n}\\n.footeremphasis {\\n    background-color: #edf2f9;\\n    border-color: #b0b7bb;\\n    border-style: solid;\\n    border-width: 0 1px 1px 0;\\n    color: #112277;\\n    font-family: 'Avenir Next for SAS', Arial, 'Albany AMT', Helvetica, Helv;\\n    font-size: 14px;\\n    font-style: italic;\\n    font-weight: normal;\\n}\\n.footeremphasisfixed {\\n    background-color: #edf2f9;\\n    border-color: #b0b7bb;\\n    border-style: solid;\\n    border-width: 0 1px 1px 0;\\n    color: #112277;\\n    font-family: 'Courier New', Courier, monospace;\\n    font-size: 14px;\\n    font-style: italic;\\n    font-weight: normal;\\n}\\n.footerempty {\\n    background-color: #edf2f9;\\n    border-color: #b0b7bb;\\n    border-style: solid;\\n    border-width: 0 1px 1px 0;\\n    color: #112277;\\n    font-family: 'Avenir Next for SAS', Arial, 'Albany AMT', Helvetica, Helv;\\n    font-size: 14px;\\n    font-style: normal;\\n    font-weight: bold;\\n}\\n.footerfixed {\\n    background-color: #edf2f9;\\n    border-color: #b0b7bb;\\n    border-style: solid;\\n    border-width: 0 1px 1px 0;\\n    color: #112277;\\n    font-family: 'Courier New', Courier;\\n    font-size: 14px;\\n    font-style: normal;\\n    font-weight: normal;\\n}\\n.footerstrong {\\n    background-color: #edf2f9;\\n    border-color: #b0b7bb;\\n    border-style: solid;\\n    border-width: 0 1px 1px 0;\\n    color: #112277;\\n    font-family: 'Avenir Next for SAS', Arial, 'Albany AMT', Helvetica, Helv;\\n    font-size: 14px;\\n    font-style: normal;\\n    font-weight: bold;\\n}\\n.footerstrongfixed {\\n    background-color: #edf2f9;\\n    border-color: #b0b7bb;\\n    border-style: solid;\\n    border-width: 0 1px 1px 0;\\n    color: #112277;\\n    font-family: 'Courier New', Courier, monospace;\\n    font-size: 14px;\\n    font-style: normal;\\n    font-weight: bold;\\n}\\n.frame {\\n    background-color: #fafbfe;\\n    color: #000000;\\n    font-family: 'Avenir Next for SAS', Arial, 'Albany AMT', Helvetica, Helv;\\n    font-size: 14px;\\n    font-style: normal;\\n    font-weight: normal;\\n}\\n.graph > colgroup {\\n    border-left: 1px solid #c1c1c1;\\n    border-right: 1px solid #c1c1c1;\\n}\\n.graph > tbody, .graph > thead, .graph > tfoot {\\n    border-top: 1px solid #c1c1c1;\\n    border-bottom: 1px solid #c1c1c1;\\n}\\n.graph { border: hidden; }\\n.graph {\\n    background-color: #fafbfe;\\n    border: 1px solid #c1c1c1;\\n    border-collapse: separate;\\n    border-spacing: 1px;\\n    color: #000000;\\n    font-family: 'Avenir Next for SAS', Arial, 'Albany AMT', Helvetica, Helv;\\n    font-size: 14px;\\n    font-style: normal;\\n    font-weight: normal;\\n    }\\n.header {\\n    background-color: #edf2f9;\\n    border-color: #b0b7bb;\\n    border-style: solid;\\n    border-width: 0 1px 1px 0;\\n    color: #112277;\\n    font-family: 'Avenir Next for SAS', Arial, 'Albany AMT', Helvetica, Helv;\\n    font-size: 14px;\\n    font-style: normal;\\n    font-weight: bold;\\n}\\n.headeremphasis {\\n    background-color: #d8dbd3;\\n    border-color: #b0b7bb;\\n    border-style: solid;\\n    border-width: 0 1px 1px 0;\\n    color: #000000;\\n    font-family: 'Avenir Next for SAS', Arial, 'Albany AMT', Helvetica, Helv;\\n    font-size: 14px;\\n    font-style: italic;\\n    font-weight: normal;\\n}\\n.headeremphasisfixed {\\n    background-color: #d8dbd3;\\n    border-color: #b0b7bb;\\n    border-style: solid;\\n    border-width: 0 1px 1px 0;\\n    color: #000000;\\n    font-family: 'Courier New', Courier, monospace;\\n    font-size: 14px;\\n    font-style: italic;\\n    font-weight: normal;\\n}\\n.headerempty {\\n    background-color: #edf2f9;\\n    border-color: #b0b7bb;\\n    border-style: solid;\\n    border-width: 0 1px 1px 0;\\n    color: #112277;\\n    font-family: 'Avenir Next for SAS', Arial, 'Albany AMT', Helvetica, Helv;\\n    font-size: 14px;\\n    font-style: normal;\\n    font-weight: bold;\\n}\\n.headerfixed {\\n    background-color: #edf2f9;\\n    border-color: #b0b7bb;\\n    border-style: solid;\\n    border-width: 0 1px 1px 0;\\n    color: #112277;\\n    font-family: 'Courier New', Courier;\\n    font-size: 14px;\\n    font-style: normal;\\n    font-weight: normal;\\n}\\n.headersandfooters {\\n    background-color: #edf2f9;\\n    color: #000000;\\n    font-family: 'Avenir Next for SAS', Arial, 'Albany AMT', Helvetica, Helv;\\n    font-size: 14px;\\n    font-style: normal;\\n    font-weight: bold;\\n}\\n.headerstrong {\\n    background-color: #d8dbd3;\\n    border-color: #b0b7bb;\\n    border-style: solid;\\n    border-width: 0 1px 1px 0;\\n    color: #000000;\\n    font-family: 'Avenir Next for SAS', Arial, 'Albany AMT', Helvetica, Helv;\\n    font-size: 14px;\\n    font-style: normal;\\n    font-weight: bold;\\n}\\n.headerstrongfixed {\\n    background-color: #d8dbd3;\\n    border-color: #b0b7bb;\\n    border-style: solid;\\n    border-width: 0 1px 1px 0;\\n    color: #000000;\\n    font-family: 'Courier New', Courier, monospace;\\n    font-size: 14px;\\n    font-style: normal;\\n    font-weight: bold;\\n}\\n.heading1 {\\n    background-color: #fafbfe;\\n    color: #000000;\\n    font-family: 'Avenir Next for SAS', Arial, 'Albany AMT', Helvetica, Helv;\\n    font-size: 24pt;\\n    font-style: normal;\\n    font-weight: bold;\\n}\\n.heading2 {\\n    background-color: #fafbfe;\\n    color: #000000;\\n    font-family: 'Avenir Next for SAS', Arial, 'Albany AMT', Helvetica, Helv;\\n    font-size: 18pt;\\n    font-style: normal;\\n    font-weight: bold;\\n}\\n.heading3 {\\n    background-color: #fafbfe;\\n    color: #000000;\\n    font-family: 'Avenir Next for SAS', Arial, 'Albany AMT', Helvetica, Helv;\\n    font-size: 14pt;\\n    font-style: normal;\\n    font-weight: bold;\\n}\\n.heading4 {\\n    background-color: #fafbfe;\\n    color: #000000;\\n    font-family: 'Avenir Next for SAS', Arial, 'Albany AMT', Helvetica, Helv;\\n    font-size: 12pt;\\n    font-style: normal;\\n    font-weight: bold;\\n}\\n.heading5 {\\n    background-color: #fafbfe;\\n    color: #000000;\\n    font-family: 'Avenir Next for SAS', Arial, 'Albany AMT', Helvetica, Helv;\\n    font-size: 10pt;\\n    font-style: normal;\\n    font-weight: bold;\\n}\\n.heading6 {\\n    background-color: #fafbfe;\\n    color: #000000;\\n    font-family: 'Avenir Next for SAS', Arial, 'Albany AMT', Helvetica, Helv;\\n    font-size: 8pt;\\n    font-style: normal;\\n    font-weight: bold;\\n}\\n.index {\\n    background-color: #fafbfe;\\n    color: #000000;\\n    font-family: 'Avenir Next for SAS', Arial, 'Albany AMT', Helvetica, Helv;\\n    font-size: 14px;\\n    font-style: normal;\\n    font-weight: normal;\\n}\\n.indexaction, .indexitem {\\n    color: #000000;\\n    font-family: 'Avenir Next for SAS', Arial, 'Albany AMT', Helvetica, Helv;\\n    font-size: 14px;\\n    font-style: normal;\\n    font-weight: normal;\\n    list-style-type: none;\\n    margin-left: 6pt;\\n}\\n.indexprocname {\\n    background-color: #fafbfe;\\n    color: #112277;\\n    font-family: 'Avenir Next for SAS', Arial, 'Albany AMT', Helvetica, Helv;\\n    font-size: 14px;\\n    font-style: normal;\\n    font-weight: bold;\\n}\\n.indextitle {\\n    background-color: #fafbfe;\\n    color: #112277;\\n    font-family: 'Avenir Next for SAS', Arial, 'Albany AMT', Helvetica, Helv;\\n    font-size: 14px;\\n    font-style: italic;\\n    font-weight: bold;\\n}\\n.layoutcontainer, .layoutregion {\\n    border-width: 0;\\n    border-spacing: 30px;\\n}\\n.linecontent {\\n    background-color: #fafbfe;\\n    border-color: #c1c1c1;\\n    border-style: solid;\\n    border-width: 0 1px 1px 0;\\n    color: #112277;\\n    font-family: 'Avenir Next for SAS', Arial, 'Albany AMT', Helvetica, Helv;\\n    font-size: 14px;\\n    font-style: normal;\\n    font-weight: normal;\\n}\\na:link { color: #0000ff }\\n.list {\\n    background-color: #fafbfe;\\n    color: #000000;\\n    font-family: 'Avenir Next for SAS', Arial, 'Albany AMT', Helvetica, Helv;\\n    font-size: 14px;\\n    font-style: normal;\\n    font-weight: normal;\\n    list-style-type: disc;\\n}\\n.list10 {\\n    background-color: #fafbfe;\\n    color: #000000;\\n    font-family: 'Avenir Next for SAS', Arial, 'Albany AMT', Helvetica, Helv;\\n    font-size: 14px;\\n    font-style: normal;\\n    font-weight: normal;\\n    list-style-type: square;\\n}\\n.list2 {\\n    background-color: #fafbfe;\\n    color: #000000;\\n    font-family: 'Avenir Next for SAS', Arial, 'Albany AMT', Helvetica, Helv;\\n    font-size: 14px;\\n    font-style: normal;\\n    font-weight: normal;\\n    list-style-type: circle;\\n}\\n.list3, .list4, .list5, .list6, .list7, .list8, .list9 {\\n    background-color: #fafbfe;\\n    color: #000000;\\n    font-family: 'Avenir Next for SAS', Arial, 'Albany AMT', Helvetica, Helv;\\n    font-size: 14px;\\n    font-style: normal;\\n    font-weight: normal;\\n    list-style-type: square;\\n}\\n.listitem {\\n    background-color: #fafbfe;\\n    color: #000000;\\n    font-family: 'Avenir Next for SAS', Arial, 'Albany AMT', Helvetica, Helv;\\n    font-size: 14px;\\n    font-style: normal;\\n    font-weight: normal;\\n    list-style-type: disc;\\n}\\n.listitem10 {\\n    background-color: #fafbfe;\\n    color: #000000;\\n    font-family: 'Avenir Next for SAS', Arial, 'Albany AMT', Helvetica, Helv;\\n    font-size: 14px;\\n    font-style: normal;\\n    font-weight: normal;\\n    list-style-type: square;\\n}\\n.listitem2 {\\n    background-color: #fafbfe;\\n    color: #000000;\\n    font-family: 'Avenir Next for SAS', Arial, 'Albany AMT', Helvetica, Helv;\\n    font-size: 14px;\\n    font-style: normal;\\n    font-weight: normal;\\n    list-style-type: circle;\\n}\\n.listitem3, .listitem4, .listitem5, .listitem6, .listitem7, .listitem8, .listitem9 {\\n    background-color: #fafbfe;\\n    color: #000000;\\n    font-family: 'Avenir Next for SAS', Arial, 'Albany AMT', Helvetica, Helv;\\n    font-size: 14px;\\n    font-style: normal;\\n    font-weight: normal;\\n    list-style-type: square;\\n}\\n.note {\\n    background-color: #fafbfe;\\n    color: #112277;\\n    font-family: 'Avenir Next for SAS', Arial, 'Albany AMT', Helvetica, Helv;\\n    font-size: 14px;\\n    font-style: normal;\\n    font-weight: normal;\\n}\\n.notebanner {\\n    background-color: #fafbfe;\\n    color: #112277;\\n    font-family: 'Avenir Next for SAS', Arial, 'Albany AMT', Helvetica, Helv;\\n    font-size: 14px;\\n    font-style: normal;\\n    font-weight: bold;\\n}\\n.notecontent {\\n    background-color: #fafbfe;\\n    color: #112277;\\n    font-family: 'Avenir Next for SAS', Arial, 'Albany AMT', Helvetica, Helv;\\n    font-size: 14px;\\n    font-style: normal;\\n    font-weight: normal;\\n}\\n.notecontentfixed {\\n    background-color: #fafbfe;\\n    color: #112277;\\n    font-family: 'Courier New', Courier;\\n    font-size: 14px;\\n    font-style: normal;\\n    font-weight: normal;\\n}\\n.output > colgroup {\\n    border-left: 1px solid #c1c1c1;\\n    border-right: 1px solid #c1c1c1;\\n}\\n.output > tbody, .output > thead, .output > tfoot {\\n    border-top: 1px solid #c1c1c1;\\n    border-bottom: 1px solid #c1c1c1;\\n}\\n.output { border: hidden; }\\n.output {\\n    background-color: #fafbfe;\\n    border: 1px solid #c1c1c1;\\n    border-collapse: separate;\\n    border-spacing: 1px;\\n    color: #000000;\\n    font-family: 'Avenir Next for SAS', Arial, 'Albany AMT', Helvetica, Helv;\\n    font-size: 14px;\\n    font-style: normal;\\n    font-weight: normal;\\n    }\\n.pageno {\\n    background-color: #fafbfe;\\n    border-spacing: 0;\\n    color: #112277;\\n    font-family: 'Avenir Next for SAS', Arial, 'Albany AMT', Helvetica, Helv;\\n    font-size: 14px;\\n    font-style: normal;\\n    font-weight: bold;\\n    text-align: right;\\n    vertical-align: top;\\n}\\n.pages {\\n    background-color: #fafbfe;\\n    color: #000000;\\n    font-family: 'Avenir Next for SAS', Arial, 'Albany AMT', Helvetica, Helv;\\n    font-size: 14px;\\n    font-style: normal;\\n    font-weight: normal;\\n    list-style-type: decimal;\\n    margin-left: 8px;\\n    margin-right: 8px;\\n}\\n.pagesdate {\\n    background-color: #fafbfe;\\n    color: #000000;\\n    font-family: 'Avenir Next for SAS', Arial, 'Albany AMT', Helvetica, Helv;\\n    font-size: 14px;\\n    font-style: normal;\\n    font-weight: normal;\\n    width: 100%;\\n}\\n.pagesitem {\\n    color: #000000;\\n    font-family: 'Avenir Next for SAS', Arial, 'Albany AMT', Helvetica, Helv;\\n    font-size: 14px;\\n    font-style: normal;\\n    font-weight: normal;\\n    list-style-type: none;\\n    margin-left: 6pt;\\n}\\n.pagesproclabel, .pagesprocname {\\n    background-color: #fafbfe;\\n    color: #112277;\\n    font-family: 'Avenir Next for SAS', Arial, 'Albany AMT', Helvetica, Helv;\\n    font-size: 14px;\\n    font-style: normal;\\n    font-weight: bold;\\n}\\n.pagestitle {\\n    background-color: #fafbfe;\\n    color: #112277;\\n    font-family: 'Avenir Next for SAS', Arial, 'Albany AMT', Helvetica, Helv;\\n    font-size: 14px;\\n    font-style: italic;\\n    font-weight: bold;\\n}\\n.paragraph {\\n    background-color: #fafbfe;\\n    color: #000000;\\n    font-family: 'Avenir Next for SAS', Arial, 'Albany AMT', Helvetica, Helv;\\n    font-size: 14px;\\n    font-style: normal;\\n    font-weight: normal;\\n}\\n.parskip > col, .parskip > colgroup > col, .parskip > colgroup, .parskip > tr, .parskip > * > tr, .parskip > thead, .parskip > tbody, .parskip > tfoot { border: none; }\\n.parskip {\\n    border: none;\\n    border-spacing: 0;\\n    font-family: 'Avenir Next for SAS', Arial, 'Albany AMT', Helvetica, Helv;\\n    font-size: 14px;\\n    font-style: normal;\\n    font-weight: bold;\\n    }\\n.prepage {\\n    background-color: #fafbfe;\\n    color: #112277;\\n    font-family: 'Avenir Next for SAS', Arial, 'Albany AMT', Helvetica, Helv;\\n    font-size: 14px;\\n    font-style: normal;\\n    font-weight: normal;\\n    text-align: left;\\n}\\n.proctitle {\\n    background-color: #fafbfe;\\n    color: #112277;\\n    font-family: 'Avenir Next for SAS', Arial, 'Albany AMT', Helvetica, Helv;\\n    font-size: 14px;\\n    font-style: normal;\\n    font-weight: bold;\\n}\\n.proctitlefixed {\\n    background-color: #fafbfe;\\n    color: #112277;\\n    font-family: 'Courier New', Courier, monospace;\\n    font-size: 14px;\\n    font-style: normal;\\n    font-weight: bold;\\n}\\n.rowfooter {\\n    background-color: #edf2f9;\\n    border-color: #b0b7bb;\\n    border-style: solid;\\n    border-width: 0 1px 1px 0;\\n    color: #112277;\\n    font-family: 'Avenir Next for SAS', Arial, 'Albany AMT', Helvetica, Helv;\\n    font-size: 14px;\\n    font-style: normal;\\n    font-weight: bold;\\n}\\n.rowfooteremphasis {\\n    background-color: #edf2f9;\\n    border-color: #b0b7bb;\\n    border-style: solid;\\n    border-width: 0 1px 1px 0;\\n    color: #112277;\\n    font-family: 'Avenir Next for SAS', Arial, 'Albany AMT', Helvetica, Helv;\\n    font-size: 14px;\\n    font-style: italic;\\n    font-weight: normal;\\n}\\n.rowfooteremphasisfixed {\\n    background-color: #edf2f9;\\n    border-color: #b0b7bb;\\n    border-style: solid;\\n    border-width: 0 1px 1px 0;\\n    color: #112277;\\n    font-family: 'Courier New', Courier, monospace;\\n    font-size: 14px;\\n    font-style: italic;\\n    font-weight: normal;\\n}\\n.rowfooterempty {\\n    background-color: #edf2f9;\\n    border-color: #b0b7bb;\\n    border-style: solid;\\n    border-width: 0 1px 1px 0;\\n    color: #112277;\\n    font-family: 'Avenir Next for SAS', Arial, 'Albany AMT', Helvetica, Helv;\\n    font-size: 14px;\\n    font-style: normal;\\n    font-weight: bold;\\n}\\n.rowfooterfixed {\\n    background-color: #edf2f9;\\n    border-color: #b0b7bb;\\n    border-style: solid;\\n    border-width: 0 1px 1px 0;\\n    color: #112277;\\n    font-family: 'Courier New', Courier;\\n    font-size: 14px;\\n    font-style: normal;\\n    font-weight: normal;\\n}\\n.rowfooterstrong {\\n    background-color: #edf2f9;\\n    border-color: #b0b7bb;\\n    border-style: solid;\\n    border-width: 0 1px 1px 0;\\n    color: #112277;\\n    font-family: 'Avenir Next for SAS', Arial, 'Albany AMT', Helvetica, Helv;\\n    font-size: 14px;\\n    font-style: normal;\\n    font-weight: bold;\\n}\\n.rowfooterstrongfixed {\\n    background-color: #edf2f9;\\n    border-color: #b0b7bb;\\n    border-style: solid;\\n    border-width: 0 1px 1px 0;\\n    color: #112277;\\n    font-family: 'Courier New', Courier, monospace;\\n    font-size: 14px;\\n    font-style: normal;\\n    font-weight: bold;\\n}\\n.rowheader {\\n    background-color: #edf2f9;\\n    border-color: #b0b7bb;\\n    border-style: solid;\\n    border-width: 0 1px 1px 0;\\n    color: #112277;\\n    font-family: 'Avenir Next for SAS', Arial, 'Albany AMT', Helvetica, Helv;\\n    font-size: 14px;\\n    font-style: normal;\\n    font-weight: bold;\\n}\\n.rowheaderemphasis {\\n    background-color: #edf2f9;\\n    border-color: #b0b7bb;\\n    border-style: solid;\\n    border-width: 0 1px 1px 0;\\n    color: #112277;\\n    font-family: 'Avenir Next for SAS', Arial, 'Albany AMT', Helvetica, Helv;\\n    font-size: 14px;\\n    font-style: italic;\\n    font-weight: normal;\\n}\\n.rowheaderemphasisfixed {\\n    background-color: #edf2f9;\\n    border-color: #b0b7bb;\\n    border-style: solid;\\n    border-width: 0 1px 1px 0;\\n    color: #112277;\\n    font-family: 'Courier New', Courier, monospace;\\n    font-size: 14px;\\n    font-style: italic;\\n    font-weight: normal;\\n}\\n.rowheaderempty {\\n    background-color: #edf2f9;\\n    border-color: #b0b7bb;\\n    border-style: solid;\\n    border-width: 0 1px 1px 0;\\n    color: #112277;\\n    font-family: 'Avenir Next for SAS', Arial, 'Albany AMT', Helvetica, Helv;\\n    font-size: 14px;\\n    font-style: normal;\\n    font-weight: bold;\\n}\\n.rowheaderfixed {\\n    background-color: #edf2f9;\\n    border-color: #b0b7bb;\\n    border-style: solid;\\n    border-width: 0 1px 1px 0;\\n    color: #112277;\\n    font-family: 'Courier New', Courier;\\n    font-size: 14px;\\n    font-style: normal;\\n    font-weight: normal;\\n}\\n.rowheaderstrong {\\n    background-color: #edf2f9;\\n    border-color: #b0b7bb;\\n    border-style: solid;\\n    border-width: 0 1px 1px 0;\\n    color: #112277;\\n    font-family: 'Avenir Next for SAS', Arial, 'Albany AMT', Helvetica, Helv;\\n    font-size: 14px;\\n    font-style: normal;\\n    font-weight: bold;\\n}\\n.rowheaderstrongfixed {\\n    background-color: #edf2f9;\\n    border-color: #b0b7bb;\\n    border-style: solid;\\n    border-width: 0 1px 1px 0;\\n    color: #112277;\\n    font-family: 'Courier New', Courier, monospace;\\n    font-size: 14px;\\n    font-style: normal;\\n    font-weight: bold;\\n}\\n.systemfooter, .systemfooter10, .systemfooter2, .systemfooter3, .systemfooter4, .systemfooter5, .systemfooter6, .systemfooter7, .systemfooter8, .systemfooter9 {\\n    background-color: #fafbfe;\\n    color: #112277;\\n    font-family: 'Avenir Next for SAS', Arial, 'Albany AMT', Helvetica, Helv;\\n    font-size: 14px;\\n    font-style: normal;\\n    font-weight: normal;\\n}\\n.systemtitle, .systemtitle10, .systemtitle2, .systemtitle3, .systemtitle4, .systemtitle5, .systemtitle6, .systemtitle7, .systemtitle8, .systemtitle9 {\\n    background-color: #fafbfe;\\n    color: #112277;\\n    font-family: 'Avenir Next for SAS', Arial, 'Albany AMT', Helvetica, Helv;\\n    font-size: 16px;\\n    font-style: normal;\\n    font-weight: bold;\\n}\\n.systitleandfootercontainer > col, .systitleandfootercontainer > colgroup > col, .systitleandfootercontainer > colgroup, .systitleandfootercontainer > tr, .systitleandfootercontainer > * > tr, .systitleandfootercontainer > thead, .systitleandfootercontainer > tbody, .systitleandfootercontainer > tfoot { border: none; }\\n.systitleandfootercontainer {\\n    background-color: #fafbfe;\\n    border: none;\\n    border-spacing: 1px;\\n    color: #000000;\\n    font-family: 'Avenir Next for SAS', Arial, 'Albany AMT', Helvetica, Helv;\\n    font-size: 14px;\\n    font-style: normal;\\n    font-weight: normal;\\n    width: 100%;\\n}\\n.table > col, .table > colgroup > col {\\n    border-left: 1px solid #c1c1c1;\\n    border-right: 0 solid #c1c1c1;\\n}\\n.table > tr, .table > * > tr {\\n    border-top: 1px solid #c1c1c1;\\n    border-bottom: 0 solid #c1c1c1;\\n}\\n.table { border: hidden; }\\n.table {\\n    border-color: #c1c1c1;\\n    border-style: solid;\\n    border-width: 1px 0 0 1px;\\n    border-collapse: collapse;\\n    border-spacing: 0;\\n    }\\n.titleandnotecontainer > col, .titleandnotecontainer > colgroup > col, .titleandnotecontainer > colgroup, .titleandnotecontainer > tr, .titleandnotecontainer > * > tr, .titleandnotecontainer > thead, .titleandnotecontainer > tbody, .titleandnotecontainer > tfoot { border: none; }\\n.titleandnotecontainer {\\n    background-color: #fafbfe;\\n    border: none;\\n    border-spacing: 1px;\\n    color: #000000;\\n    font-family: 'Avenir Next for SAS', Arial, 'Albany AMT', Helvetica, Helv;\\n    font-size: 14px;\\n    font-style: normal;\\n    font-weight: normal;\\n    width: 100%;\\n}\\n.titlesandfooters {\\n    background-color: #fafbfe;\\n    color: #112277;\\n    font-family: 'Avenir Next for SAS', Arial, 'Albany AMT', Helvetica, Helv;\\n    font-size: 14px;\\n    font-style: normal;\\n    font-weight: bold;\\n}\\n.usertext {\\n    background-color: #fafbfe;\\n    color: #112277;\\n    font-family: 'Avenir Next for SAS', Arial, 'Albany AMT', Helvetica, Helv;\\n    font-size: 14px;\\n    font-style: normal;\\n    font-weight: normal;\\n}\\na:visited { color: #800080 }\\n.warnbanner {\\n    background-color: #fafbfe;\\n    color: #112277;\\n    font-family: 'Avenir Next for SAS', Arial, 'Albany AMT', Helvetica, Helv;\\n    font-size: 14px;\\n    font-style: normal;\\n    font-weight: bold;\\n}\\n.warncontent {\\n    background-color: #fafbfe;\\n    color: #112277;\\n    font-family: 'Avenir Next for SAS', Arial, 'Albany AMT', Helvetica, Helv;\\n    font-size: 14px;\\n    font-style: normal;\\n    font-weight: normal;\\n}\\n.warncontentfixed {\\n    background-color: #fafbfe;\\n    color: #112277;\\n    font-family: 'Courier New', Courier;\\n    font-size: 14px;\\n    font-style: normal;\\n    font-weight: normal;\\n}\\n/*]]>*/\\n</style>\\n</head>\\n<body class=\\\"c body\\\">\\n<div style=\\\"padding-bottom: 8px; padding-top: 1px\\\">\\n<div id=\\\"IDX\\\" class=\\\"systitleandfootercontainer\\\" style=\\\"border-spacing: 1px\\\">\\n<p><span class=\\\"c systemtitle\\\">The SAS System</span> </p>\\n</div>\\n<div class=\\\"proc_title_group\\\">\\n<p class=\\\"c proctitle\\\">The MEANS Procedure</p>\\n</div>\\n<div style=\\\"padding-bottom: 8px; padding-top: 1px\\\">\\n<table class=\\\"table\\\" style=\\\"border-spacing: 0\\\" aria-label=\\\"Summary statistics\\\">\\n<caption aria-label=\\\"Summary statistics\\\"></caption>\\n<colgroup><col/><col/></colgroup><colgroup><col/><col/><col/><col/><col/></colgroup>\\n<thead>\\n<tr>\\n<th class=\\\"b header\\\" scope=\\\"col\\\">Variable</th>\\n<th class=\\\"b header\\\" scope=\\\"col\\\">Label</th>\\n<th class=\\\"r b header\\\" scope=\\\"col\\\">N</th>\\n<th class=\\\"r b header\\\" scope=\\\"col\\\">Mean</th>\\n<th class=\\\"r b header\\\" scope=\\\"col\\\">Std Dev</th>\\n<th class=\\\"r b header\\\" scope=\\\"col\\\">Minimum</th>\\n<th class=\\\"r b header\\\" scope=\\\"col\\\">Maximum</th>\\n</tr>\\n</thead>\\n<tbody>\\n<tr>\\n<th class=\\\"data\\\">\\n<div class=\\\"stacked-cell\\\">\\n<div>ACTUAL</div>\\n<div>PREDICT</div>\\n<div>QUARTER</div>\\n<div>YEAR</div>\\n<div>MONTH</div>\\n</div>\\n</th>\\n<th class=\\\"data\\\">\\n<div class=\\\"stacked-cell\\\">\\n<div>Actual Sales</div>\\n<div>Predicted Sales</div>\\n<div>Quarter</div>\\n<div>Year</div>\\n<div>Month</div>\\n</div>\\n</th>\\n<td class=\\\"r data\\\">\\n<div class=\\\"stacked-cell\\\">\\n<div class=\\\"r\\\">1440</div>\\n<div class=\\\"r\\\">1440</div>\\n<div class=\\\"r\\\">1440</div>\\n<div class=\\\"r\\\">1440</div>\\n<div class=\\\"r\\\">1440</div>\\n</div>\\n</td>\\n<td class=\\\"r data\\\">\\n<div class=\\\"stacked-cell\\\">\\n<div class=\\\"r\\\">507.1784722</div>\\n<div class=\\\"r\\\">490.4826389</div>\\n<div class=\\\"r\\\">2.5000000</div>\\n<div class=\\\"r\\\">1993.50</div>\\n<div class=\\\"r\\\">12403.00</div>\\n</div>\\n</td>\\n<td class=\\\"r data\\\">\\n<div class=\\\"stacked-cell\\\">\\n<div class=\\\"r\\\">287.0313065</div>\\n<div class=\\\"r\\\">285.7667904</div>\\n<div class=\\\"r\\\">1.1184224</div>\\n<div class=\\\"r\\\">0.5001737</div>\\n<div class=\\\"r\\\">210.6291578</div>\\n</div>\\n</td>\\n<td class=\\\"r data\\\">\\n<div class=\\\"stacked-cell\\\">\\n<div class=\\\"r\\\">3.0000000</div>\\n<div class=\\\"r\\\">0</div>\\n<div class=\\\"r\\\">1.0000000</div>\\n<div class=\\\"r\\\">1993.00</div>\\n<div class=\\\"r\\\">12054.00</div>\\n</div>\\n</td>\\n<td class=\\\"r data\\\">\\n<div class=\\\"stacked-cell\\\">\\n<div class=\\\"r\\\">1000.00</div>\\n<div class=\\\"r\\\">1000.00</div>\\n<div class=\\\"r\\\">4.0000000</div>\\n<div class=\\\"r\\\">1994.00</div>\\n<div class=\\\"r\\\">12753.00</div>\\n</div>\\n</td>\\n</tr>\\n</tbody>\\n</table>\\n</div>\\n</div>\\n</body>\\n</html>\\n\",\"mime\":\"application/vnd.sas.ods.html5\"},{\"data\":\"[\\n\\t{\\n\\t\\t\\\"line\\\": \\\"1    ods html5;\\\",\\n\\t\\t\\\"type\\\": \\\"source\\\",\\n\\t\\t\\\"version\\\": 1\\n\\t},\\n\\t{\\n\\t\\t\\\"line\\\": \\\"NOTE: Writing HTML5 Body file: sashtml.htm\\\",\\n\\t\\t\\\"type\\\": \\\"note\\\",\\n\\t\\t\\\"version\\\": 1\\n\\t},\\n\\t{\\n\\t\\t\\\"line\\\": \\\"2    data work.prdsale;\\\",\\n\\t\\t\\\"type\\\": \\\"source\\\",\\n\\t\\t\\\"version\\\": 1\\n\\t},\\n\\t{\\n\\t\\t\\\"line\\\": \\\"3    \\\\tset sashelp.PRDSALE;\\\",\\n\\t\\t\\\"type\\\": \\\"source\\\",\\n\\t\\t\\\"version\\\": 1\\n\\t},\\n\\t{\\n\\t\\t\\\"line\\\": \\\"4    run;\\\",\\n\\t\\t\\\"type\\\": \\\"source\\\",\\n\\t\\t\\\"version\\\": 1\\n\\t},\\n\\t{\\n\\t\\t\\\"line\\\": \\\"\\\",\\n\\t\\t\\\"type\\\": \\\"note\\\",\\n\\t\\t\\\"version\\\": 1\\n\\t},\\n\\t{\\n\\t\\t\\\"line\\\": \\\"NOTE: There were 1440 observations read from the data set SASHELP.PRDSALE.\\\",\\n\\t\\t\\\"type\\\": \\\"note\\\",\\n\\t\\t\\\"version\\\": 1\\n\\t},\\n\\t{\\n\\t\\t\\\"line\\\": \\\"NOTE: The data set WORK.PRDSALE has 1440 observations and 10 variables.\\\",\\n\\t\\t\\\"type\\\": \\\"note\\\",\\n\\t\\t\\\"version\\\": 1\\n\\t},\\n\\t{\\n\\t\\t\\\"line\\\": \\\"NOTE: DATA statement used (Total process time):\\\",\\n\\t\\t\\\"type\\\": \\\"note\\\",\\n\\t\\t\\\"version\\\": 1\\n\\t},\\n\\t{\\n\\t\\t\\\"line\\\": \\\"      real time           0.00 seconds\\\",\\n\\t\\t\\\"type\\\": \\\"note\\\",\\n\\t\\t\\\"version\\\": 1\\n\\t},\\n\\t{\\n\\t\\t\\\"line\\\": \\\"      cpu time            0.01 seconds\\\",\\n\\t\\t\\\"type\\\": \\\"note\\\",\\n\\t\\t\\\"version\\\": 1\\n\\t},\\n\\t{\\n\\t\\t\\\"line\\\": \\\"      \\\",\\n\\t\\t\\\"type\\\": \\\"note\\\",\\n\\t\\t\\\"version\\\": 1\\n\\t},\\n\\t{\\n\\t\\t\\\"line\\\": \\\"\\\",\\n\\t\\t\\\"type\\\": \\\"note\\\",\\n\\t\\t\\\"version\\\": 1\\n\\t},\\n\\t{\\n\\t\\t\\\"line\\\": \\\"5    \\\",\\n\\t\\t\\\"type\\\": \\\"source\\\",\\n\\t\\t\\\"version\\\": 1\\n\\t},\\n\\t{\\n\\t\\t\\\"line\\\": \\\"6    proc means data=work.prdsale;\\\",\\n\\t\\t\\\"type\\\": \\\"source\\\",\\n\\t\\t\\\"version\\\": 1\\n\\t},\\n\\t{\\n\\t\\t\\\"line\\\": \\\"7    run;\\\",\\n\\t\\t\\\"type\\\": \\\"source\\\",\\n\\t\\t\\\"version\\\": 1\\n\\t},\\n\\t{\\n\\t\\t\\\"line\\\": \\\"\\\",\\n\\t\\t\\\"type\\\": \\\"note\\\",\\n\\t\\t\\\"version\\\": 1\\n\\t},\\n\\t{\\n\\t\\t\\\"line\\\": \\\"NOTE: There were 1440 observations read from the data set WORK.PRDSALE.\\\",\\n\\t\\t\\\"type\\\": \\\"note\\\",\\n\\t\\t\\\"version\\\": 1\\n\\t},\\n\\t{\\n\\t\\t\\\"line\\\": \\\"NOTE: The PROCEDURE MEANS printed page 1.\\\",\\n\\t\\t\\\"type\\\": \\\"note\\\",\\n\\t\\t\\\"version\\\": 1\\n\\t},\\n\\t{\\n\\t\\t\\\"line\\\": \\\"NOTE: PROCEDURE MEANS used (Total process time):\\\",\\n\\t\\t\\\"type\\\": \\\"note\\\",\\n\\t\\t\\\"version\\\": 1\\n\\t},\\n\\t{\\n\\t\\t\\\"line\\\": \\\"      real time           0.04 seconds\\\",\\n\\t\\t\\\"type\\\": \\\"note\\\",\\n\\t\\t\\\"version\\\": 1\\n\\t},\\n\\t{\\n\\t\\t\\\"line\\\": \\\"      cpu time            0.04 seconds\\\",\\n\\t\\t\\\"type\\\": \\\"note\\\",\\n\\t\\t\\\"version\\\": 1\\n\\t},\\n\\t{\\n\\t\\t\\\"line\\\": \\\"      \\\",\\n\\t\\t\\\"type\\\": \\\"note\\\",\\n\\t\\t\\\"version\\\": 1\\n\\t},\\n\\t{\\n\\t\\t\\\"line\\\": \\\"\\\",\\n\\t\\t\\\"type\\\": \\\"note\\\",\\n\\t\\t\\\"version\\\": 1\\n\\t},\\n\\t{\\n\\t\\t\\\"line\\\": \\\"8    ;run;quit;ods html5 close;\\\",\\n\\t\\t\\\"type\\\": \\\"source\\\",\\n\\t\\t\\\"version\\\": 1\\n\\t}\\n]\",\"mime\":\"application/vnd.sas.compute.log.lines\"}]}]},{\"kind\":2,\"language\":\"sas\",\"value\":\"\",\"outputs\":[]},{\"kind\":1,\"language\":\"markdown\",\"value\":\"Just a markdown cell\",\"outputs\":[]},{\"kind\":1,\"language\":\"markdown\",\"value\":\"\",\"outputs\":[]}]"
  },
  {
    "path": "client/testFixture/test_single_node.flw",
    "content": "{\"creationTimeStamp\":\"2023-09-01T08:53:10.159Z\",\"modifiedTimeStamp\":\"2023-09-01T08:53:10.159Z\",\"createdBy\":\"user\",\"modifiedBy\":\"user\",\"version\":2,\"id\":null,\"name\":\"test_single_node.flw\",\"description\":null,\"properties\":{\"UI_PROP_DF_OPTIMIZE\":\"false\",\"UI_PROP_DF_ID\":\"120081fc-2d7f-4cfc-bcd3-47f9684e9763\",\"UI_PROP_DF_EXECUTION_ORDERED\":\"false\"},\"links\":[{\"method\":\"GET\",\"rel\":\"self\",\"href\":\"/dataFlows/dataFlows/4812de47-4c03-4fd0-8810-53e67ea0f6e7\",\"uri\":\"/dataFlows/dataFlows/4812de47-4c03-4fd0-8810-53e67ea0f6e7\",\"type\":\"application/vnd.sas.data.flow\"},{\"method\":\"GET\",\"rel\":\"alternate\",\"href\":\"/dataFlows/dataFlows/4812de47-4c03-4fd0-8810-53e67ea0f6e7\",\"uri\":\"/dataFlows/dataFlows/4812de47-4c03-4fd0-8810-53e67ea0f6e7\",\"type\":\"application/vnd.sas.data.flow.summary\"},{\"method\":\"GET\",\"rel\":\"up\",\"href\":\"/dataFlows/dataFlows\",\"uri\":\"/dataFlows/dataFlows\",\"type\":\"application/vnd.sas.collection\",\"itemType\":\"application/vnd.sas.data.flow.summary\"},{\"method\":\"PUT\",\"rel\":\"update\",\"href\":\"/dataFlows/dataFlows/4812de47-4c03-4fd0-8810-53e67ea0f6e7\",\"uri\":\"/dataFlows/dataFlows/4812de47-4c03-4fd0-8810-53e67ea0f6e7\",\"type\":\"application/vnd.sas.data.flow\",\"responseType\":\"application/vnd.sas.data.flow\"},{\"method\":\"DELETE\",\"rel\":\"delete\",\"href\":\"/dataFlows/dataFlows/4812de47-4c03-4fd0-8810-53e67ea0f6e7\",\"uri\":\"/dataFlows/dataFlows/4812de47-4c03-4fd0-8810-53e67ea0f6e7\"},{\"method\":\"GET\",\"rel\":\"transferExport\",\"href\":\"/dataFlows/dataFlows/4812de47-4c03-4fd0-8810-53e67ea0f6e7\",\"uri\":\"/dataFlows/dataFlows/4812de47-4c03-4fd0-8810-53e67ea0f6e7\",\"responseType\":\"application/vnd.sas.transfer.object\"},{\"method\":\"PUT\",\"rel\":\"transferImportUpdate\",\"href\":\"/dataFlows/dataFlows/4812de47-4c03-4fd0-8810-53e67ea0f6e7\",\"uri\":\"/dataFlows/dataFlows/4812de47-4c03-4fd0-8810-53e67ea0f6e7\",\"type\":\"application/vnd.sas.transfer.object\",\"responseType\":\"application/vnd.sas.summary\"}],\"nodes\":{\"ef3f95e1-be19-4fed-a759-9239ef50c062\":{\"nodeType\":\"step\",\"version\":1,\"id\":\"ef3f95e1-be19-4fed-a759-9239ef50c062\",\"name\":\"SAS Program\",\"note\":{\"version\":1,\"id\":\"b38f236b-b86a-4203-a8aa-60ffbac52074\",\"name\":null,\"description\":null,\"properties\":{\"UI_NOTE_PROP_HEIGHT\":\"0\",\"UI_NOTE_PROP_IS_EXPANDED\":\"false\",\"UI_NOTE_PROP_IS_STICKYNOTE\":\"false\",\"UI_NOTE_PROP_WIDTH\":\"0\"}},\"priority\":0,\"properties\":{\"UI_PROP_COLORGRP\":\"0\",\"UI_PROP_IS_INPUT_EXPANDED\":\"false\",\"UI_PROP_IS_OUTPUT_EXPANDED\":\"false\",\"UI_PROP_NODE_DATA_ID\":\"a7190700-f59c-4a94-afe2-214ce639fcde\",\"UI_PROP_NODE_DATA_MODIFIED_DATE\":\"1693558388299\",\"UI_PROP_PORT_DESCRIPTION|outTables|0\":\"Output tables\",\"UI_PROP_PORT_LABEL|outTables|0\":\"Output table 1\",\"UI_PROP_XPOS\":\"150\",\"UI_PROP_YPOS\":\"75\"},\"portMappings\":[{\"mappingType\":\"tableStructure\",\"portName\":\"outTables\",\"portIndex\":0,\"tableStructure\":{\"columnDefinitions\":null}}],\"stepReference\":{\"type\":\"uri\",\"path\":\"/dataFlows/steps/a7190700-f59c-4a94-afe2-214ce639fcde\"},\"arguments\":{\"codeOptions\":{\"code\":\"data work.prdsale;\\n\\tset sashelp.PRDSALE;\\nrun;\\n\\nproc means data=work.prdsale;\\nrun;\",\"contentType\":\"embedded\",\"logHTML\":\"\",\"resultsHTML\":\"\",\"variables\":[{\"name\":\"_input1\",\"value\":{\"portIndex\":0,\"portName\":\"inTables\",\"referenceType\":\"inputPort\"}},{\"name\":\"_output1\",\"value\":{\"arguments\":{},\"portIndex\":0,\"portName\":\"outTables\",\"referenceType\":\"outputPort\"}}]}}}},\"parameters\":{},\"connections\":[],\"extendedProperties\":{},\"stickyNotes\":[]}"
  },
  {
    "path": "client/testFixture/test_single_swimlane.flw",
    "content": "{\"creationTimeStamp\":\"2023-08-29T17:37:10.606Z\",\"modifiedTimeStamp\":\"2023-08-29T17:37:10.606Z\",\"createdBy\":\"user\",\"modifiedBy\":\"user\",\"version\":2,\"id\":null,\"name\":\"test_one.flw\",\"description\":null,\"properties\":{\"UI_PROP_DF_OPTIMIZE\":\"false\",\"UI_PROP_DF_ID\":\"58e4d421-705d-448c-b397-cc8c9fab6c48\",\"UI_PROP_DF_EXECUTION_ORDERED\":\"true\"},\"links\":[{\"method\":\"GET\",\"rel\":\"self\",\"href\":\"/dataFlows/dataFlows/80f7b074-b7a2-42a0-ae54-79a9f173f49c\",\"uri\":\"/dataFlows/dataFlows/80f7b074-b7a2-42a0-ae54-79a9f173f49c\",\"type\":\"application/vnd.sas.data.flow\"},{\"method\":\"GET\",\"rel\":\"alternate\",\"href\":\"/dataFlows/dataFlows/80f7b074-b7a2-42a0-ae54-79a9f173f49c\",\"uri\":\"/dataFlows/dataFlows/80f7b074-b7a2-42a0-ae54-79a9f173f49c\",\"type\":\"application/vnd.sas.data.flow.summary\"},{\"method\":\"GET\",\"rel\":\"up\",\"href\":\"/dataFlows/dataFlows\",\"uri\":\"/dataFlows/dataFlows\",\"type\":\"application/vnd.sas.collection\",\"itemType\":\"application/vnd.sas.data.flow.summary\"},{\"method\":\"PUT\",\"rel\":\"update\",\"href\":\"/dataFlows/dataFlows/80f7b074-b7a2-42a0-ae54-79a9f173f49c\",\"uri\":\"/dataFlows/dataFlows/80f7b074-b7a2-42a0-ae54-79a9f173f49c\",\"type\":\"application/vnd.sas.data.flow\",\"responseType\":\"application/vnd.sas.data.flow\"},{\"method\":\"DELETE\",\"rel\":\"delete\",\"href\":\"/dataFlows/dataFlows/80f7b074-b7a2-42a0-ae54-79a9f173f49c\",\"uri\":\"/dataFlows/dataFlows/80f7b074-b7a2-42a0-ae54-79a9f173f49c\"},{\"method\":\"GET\",\"rel\":\"transferExport\",\"href\":\"/dataFlows/dataFlows/80f7b074-b7a2-42a0-ae54-79a9f173f49c\",\"uri\":\"/dataFlows/dataFlows/80f7b074-b7a2-42a0-ae54-79a9f173f49c\",\"responseType\":\"application/vnd.sas.transfer.object\"},{\"method\":\"PUT\",\"rel\":\"transferImportUpdate\",\"href\":\"/dataFlows/dataFlows/80f7b074-b7a2-42a0-ae54-79a9f173f49c\",\"uri\":\"/dataFlows/dataFlows/80f7b074-b7a2-42a0-ae54-79a9f173f49c\",\"type\":\"application/vnd.sas.transfer.object\",\"responseType\":\"application/vnd.sas.summary\"}],\"nodes\":{\"cc8b1a63-196c-42b4-b21b-27fcd3f1613a\":{\"nodeType\":\"dataFlow\",\"version\":1,\"id\":\"cc8b1a63-196c-42b4-b21b-27fcd3f1613a\",\"name\":\"Notebook Cell 1\",\"priority\":1,\"properties\":{\"UI_PROP_IS_EXPANDED\":\"true\",\"UI_PROP_IS_SWIMLANE\":\"true\"},\"portMappings\":[],\"dataFlowAndBindings\":{\"dataFlow\":{\"creationTimeStamp\":\"2023-08-29T17:37:09.472Z\",\"modifiedTimeStamp\":\"2023-08-29T17:37:09.472Z\",\"createdBy\":null,\"modifiedBy\":null,\"version\":2,\"id\":null,\"name\":null,\"description\":null,\"properties\":{\"UI_PROP_DF_OPTIMIZE\":\"false\",\"UI_PROP_DF_ID\":\"120081fc-2d7f-4cfc-bcd3-47f9684e9763\",\"UI_PROP_DF_EXECUTION_ORDERED\":\"false\"},\"links\":[],\"nodes\":{\"4157ee94-7caf-496e-9635-50ae8a675353\":{\"nodeType\":\"step\",\"version\":1,\"id\":\"4157ee94-7caf-496e-9635-50ae8a675353\",\"name\":\"SAS Program\",\"note\":{\"version\":1,\"id\":\"e957dab4-3532-4d1b-a15d-b4ba5d7e9a5c\",\"name\":null,\"description\":null,\"properties\":{\"UI_NOTE_PROP_HEIGHT\":\"0\",\"UI_NOTE_PROP_IS_EXPANDED\":\"false\",\"UI_NOTE_PROP_IS_STICKYNOTE\":\"false\",\"UI_NOTE_PROP_WIDTH\":\"0\"}},\"priority\":0,\"properties\":{\"UI_PROP_COLORGRP\":\"0\",\"UI_PROP_IS_INPUT_EXPANDED\":\"false\",\"UI_PROP_IS_OUTPUT_EXPANDED\":\"false\",\"UI_PROP_NODE_DATA_ID\":\"a7190700-f59c-4a94-afe2-214ce639fcde\",\"UI_PROP_NODE_DATA_MODIFIED_DATE\":\"1693330629472\",\"UI_PROP_PORT_DESCRIPTION|outTables|0\":\"Output tables\",\"UI_PROP_PORT_LABEL|outTables|0\":\"Output table 1\",\"UI_PROP_XPOS\":\"150\",\"UI_PROP_YPOS\":\"75\"},\"portMappings\":[{\"mappingType\":\"tableStructure\",\"portName\":\"outTables\",\"portIndex\":0,\"tableStructure\":{\"columnDefinitions\":null}}],\"stepReference\":{\"type\":\"uri\",\"path\":\"/dataFlows/steps/a7190700-f59c-4a94-afe2-214ce639fcde\"},\"arguments\":{\"codeOptions\":{\"code\":\"data work.prdsale;\\n\\tset sashelp.PRDSALE;\\nrun;\\n\\nproc means data=work.prdsale;\\nrun;\",\"contentType\":\"embedded\",\"logHTML\":\"\",\"resultsHTML\":\"\",\"variables\":[{\"name\":\"_input1\",\"value\":{\"portIndex\":0,\"portName\":\"inTables\",\"referenceType\":\"inputPort\"}},{\"name\":\"_output1\",\"value\":{\"arguments\":{},\"portIndex\":0,\"portName\":\"outTables\",\"referenceType\":\"outputPort\"}}]}}}},\"parameters\":{},\"connections\":[],\"extendedProperties\":{},\"stickyNotes\":[]},\"executionBindings\":{\"sessionId\":null,\"contextId\":null,\"environmentId\":\"compute\",\"tempTablePrefix\":null,\"arguments\":{\"__NO_OPTIMIZE\":{\"argumentType\":\"string\",\"version\":1,\"value\":\"true\"}}}}}},\"parameters\":{},\"connections\":[],\"extendedProperties\":{},\"stickyNotes\":[]}"
  },
  {
    "path": "client/tsconfig.json",
    "content": "{\n  \"compilerOptions\": {\n    \"resolveJsonModule\": true,\n    \"esModuleInterop\": true,\n    \"jsx\": \"react-jsx\",\n    \"lib\": [\"ES2019\", \"DOM\"],\n    \"module\": \"commonjs\",\n    \"outDir\": \"out\",\n    \"rootDir\": \".\",\n    \"sourceMap\": true,\n    \"target\": \"es2019\"\n  },\n  \"include\": [\"src\", \"test\"],\n  \"exclude\": [\"node_modules\", \".vscode-test\"]\n}\n"
  },
  {
    "path": "doc/ag-grid-technical-details.md",
    "content": "# AG Grid implementation details\n\nThis summarizes how ag grid functionality is being used in this code base.\n\n## Column headers / context menus\n\n- This repository defines custom column headers using the `headerComponent` property from `ColDef`. See [useDataViewer.ts](../client/src/webview/useDataViewer.ts) for implementation details, and [column header documentation](https://www.ag-grid.com/javascript-data-grid/column-properties/#reference-header-headerComponent) from AG Grid.\n- Context menus are not supported in the community edition of AG Grid. To implement this functionality, we use custom html as part of the `headerComponent` and keep track of ui interactions with `keydown` listeners and various click events.\n- Context menu actions (sort, etc) make use of AG Grid column state to update the underlying table data. For AG grid data changes, our internal code calls [`applyColumnState`](https://www.ag-grid.com/javascript-data-grid/column-state/#reference-state-applyColumnState)\n- The html used for the context menu roughly matches what is found on the [AG Grid's example page](https://ag-grid.com/example/)\n\n## Data filtering\n\nThe SAS extension currently supports a where style filter for filtering table data. This sets a filter property and updates AG Grids datasource to fetch table data based on the filter value. The implementation can be found in the `refreshResults` callback in See [useDataViewer.ts](../client/src/webview/useDataViewer.ts).\n\nThis makes use of AG Grid's [`setGridOption`](https://www.ag-grid.com/javascript-data-grid/grid-api/#reference-gridOptions-setGridOption)\n"
  },
  {
    "path": "doc/profileExamples/viya4.json",
    "content": "{\n  \"SAS.log.showOnExecutionFinish\": true,\n  \"SAS.log.showOnExecutionStart\": false,\n  \"SAS.connectionProfiles\": {\n    \"activeProfile\": \"viyaServer\",\n    \"profiles\": {\n      \"viya4\": {\n        \"endpoint\": \"https://example-endpoint.com\",\n        \"connectionType\": \"rest\",\n        \"sasOptions\": [\"NONEWS\", \"ECHOAUTO\"],\n        \"autoExec\": [\n          {\n            \"type\": \"line\",\n            \"line\": \"ods graphics / imagemap;\"\n          },\n          {\n            \"type\": \"file\",\n            \"filePath\": \"/my/local/autoexec.sas\"\n          }\n        ]\n      }\n    }\n  }\n}\n"
  },
  {
    "path": "doc/scripts/itc-connection-test.ps1",
    "content": "<#\n  Use this script to test itc connections. This imports our itc script and is runnable in\n  Powershell in the following way (see optional parameters in \"Script setup\" region):\n  `C:\\<scriptPath>\\itc-connection-test.ps1 -HostName <host> -Username <user> -Password <password>`\n\n  See a list of optional parameters below.\n\n  Additionally, you can modify code in the \"Code to execute\" region to fit your testing needs.\n#>\n\n#region Script setup\n# NOTE: You shouldn't need to edit anything in this region.\nparam (\n  [string] $HostName = \"\",\n  [string] $Port = \"8591\",\n  [string] $Protocol = \"2\", # IOMBridge\n  [string] $Username = \"\",\n  [string] $Password = \"\",\n  [string] $DisplayLang = \"EN_US\",\n  [string] $InteropLibraryPath = \"\"\n)\n\n$global:interopLibraryFolderPath = $InteropLibraryPath\n\nSet-Location \"$PSScriptRoot\\..\\..\\client\\src\\connection\\itc\\script\\\"\n\nfunction GetInteropDirectory {\n  # try to load from user specified path first\n  if (\"$($global:interopLibraryFolderPath)\") {\n    if (Test-Path -Path \"$($global:interopLibraryFolderPath)\\\\SASInterop.dll\") {\n      return \"$($global:interopLibraryFolderPath)\"\n    }\n  }\n\n  # try to load path from registry\n  try {\n    $pathFromRegistry = (Get-ItemProperty -ErrorAction Stop -Path \"HKLM:\\\\SOFTWARE\\\\WOW6432Node\\\\SAS Institute Inc.\\\\Common Data\\\\Shared Files\\\\Integration Technologies\").Path\n    if (Test-Path -Path \"$pathFromRegistry\\\\SASInterop.dll\") {\n      return $pathFromRegistry\n    }\n  } catch {\n  }\n\n  # try to load path from integration technologies\n  $itcPath = \"C:\\\\Program Files\\\\SASHome\\\\x86\\\\Integration Technologies\"\n  if (Test-Path -Path \"$itcPath\\\\SASInterop.dll\") {\n    return $itcPath\n  }\n\n  return \"\"\n}\n\ntry {\n  $interopDir = GetInteropDirectory\n  Add-Type -Path \"$interopDir\\\\SASInterop.dll\"\n  Add-Type -Path \"$interopDir\\\\SASOManInterop.dll\"\n} catch {\n  Write-Error \"$($global:env.Tags.ErrorStartTag)LoadingInterop error: $_$($global:env.Tags.ErrorEndTag)\"\n}\n\n. \".\\itc.ps1\"\n\n$runner = New-Object -TypeName SASRunner\n$runner.Setup($HostName, $Username, $Password, [int]$Port, [int]$Protocol, \"ITC Connection Test\", $DisplayLang)\n$runner.ResolveSystemVars()\n#endregion\n\n#region Code to execute\n# Uncomment the following line to set any options\n$runner.SetOptions(\"VALIDVARNAME=ANY\")\n\n# Adjust the value of $code as needed\n$code = \"proc options group=languagecontrol;\"\n$runner.Run($code)\n\ndo {\n  $chunkSize = 32768\n  $log = $runner.FlushLog($chunkSize)\n  Write-Host $log\n} while ($log.Length -gt 0)\n#endregion\n"
  },
  {
    "path": "eslint.config.mjs",
    "content": "import { fixupConfigRules, fixupPluginRules } from \"@eslint/compat\";\nimport { FlatCompat } from \"@eslint/eslintrc\";\nimport js from \"@eslint/js\";\nimport typescriptEslint from \"@typescript-eslint/eslint-plugin\";\nimport tsParser from \"@typescript-eslint/parser\";\n\nimport react from \"eslint-plugin-react\";\nimport reactHooks from \"eslint-plugin-react-hooks\";\nimport globals from \"globals\";\nimport path from \"node:path\";\nimport { fileURLToPath } from \"node:url\";\n\nconst __filename = fileURLToPath(import.meta.url);\nconst __dirname = path.dirname(__filename);\nconst compat = new FlatCompat({\n  baseDirectory: __dirname,\n  recommendedConfig: js.configs.recommended,\n  allConfig: js.configs.all,\n});\n\nexport default [\n  ...fixupConfigRules(\n    compat.extends(\n      \"eslint:recommended\",\n      \"plugin:@typescript-eslint/recommended\",\n      \"plugin:react/recommended\",\n      \"plugin:react-hooks/recommended\",\n      \"plugin:react/jsx-runtime\",\n    ),\n  ),\n  {\n    plugins: {\n      \"@typescript-eslint\": fixupPluginRules(typescriptEslint),\n      react: fixupPluginRules(react),\n      \"react-hooks\": fixupPluginRules(reactHooks),\n    },\n\n    languageOptions: {\n      globals: {\n        ...globals.node,\n      },\n\n      parser: tsParser,\n      ecmaVersion: 2018,\n      sourceType: \"module\",\n\n      parserOptions: {\n        ecmaFeatures: {\n          jsx: true,\n        },\n\n        project: [\n          \"./tsconfig.json\",\n          \"./client/tsconfig.json\",\n          \"./server/tsconfig.json\",\n        ],\n      },\n    },\n\n    settings: {\n      react: {\n        version: \"detect\",\n      },\n    },\n\n    rules: {\n      eqeqeq: \"error\",\n      \"prefer-const\": \"error\",\n      \"@typescript-eslint/dot-notation\": \"error\",\n      \"@typescript-eslint/no-unused-vars\": \"error\",\n\n      \"@typescript-eslint/consistent-type-assertions\": [\n        \"error\",\n        {\n          assertionStyle: \"never\",\n        },\n      ],\n      \"@typescript-eslint/no-unused-expressions\": \"off\",\n\n      curly: \"error\",\n    },\n  },\n];\n"
  },
  {
    "path": "l10n/bundle.l10n.de.json",
    "content": "{\n  \"#\": \"#\",\n  \"An error was encountered when loading table data. This usually happens when a table is too large or the data couldn't be processed. See console for more details.\": \"Beim Laden von Tabellendaten ist ein Fehler aufgetreten. Dies geschieht normalerweise, wenn eine Tabelle zu groß ist oder die Daten nicht verarbeitet werden konnten. Siehe Konsole für weitere Details.\",\n  \"Are you sure you want to delete the selected tables?\": \"Möchten Sie die ausgewählten Tabellen wirklich löschen?\",\n  \"Are you sure you want to permanently delete all the items? You cannot undo this action.\": \"Sind Sie sicher, dass Sie alle Elemente dauerhaft löschen möchten? Sie können diese Aktion nicht rückgängig machen.\",\n  \"Are you sure you want to permanently delete the item \\\"{name}\\\"?\": \"Sind Sie sicher, das Sie \\\"{name}\\\" permanent löschen wollen?\",\n  \"Ascending\": \"Aufsteigend\",\n  \"Ascending (add to sorting)\": \"Aufsteigend (zu Sortierung hinzufügen)\",\n  \"Bookmark Length\": \"Lesezeichenlänge\",\n  \"Cancelling job...\": \"Abbruch des Jobs...\",\n  \"Cannot call self on ComputeSession with no id\": \"Kann self nicht für ComputeSessions ohne ID aufrufen\",\n  \"Cannot call self on object with no id\": \"Kann self für ein Object ohne ID nicht aufrufen\",\n  \"Cannot connect to SAS Studio service\": \"Verbindung zum SAS Studio-Service ist nicht möglich\",\n  \"Cannot find file: {file}\": \"{file} konnte nicht gefunden werden\",\n  \"Character\": \"Alphanumerisch\",\n  \"Character Encoding\": \"Zeichencodierung\",\n  \"Choose output type to save\": \"Wählen Sie den Ausgabetyp zum Speichern aus\",\n  \"Choose where to save your files.\": \"Wählen Sie wo die Dateien gespeichert werden sollen.\",\n  \"Clear\": \"Löschen\",\n  \"Client ID\": \"Client ID\",\n  \"Client Secret\": \"Client Secret\",\n  \"Close Session\": \"Session beenden\",\n  \"Columns\": \"Spalten\",\n  \"Columns ({count})\": \"Spalten ({count})\",\n  \"Compression\": \"Komprimierung\",\n  \"Compute Context not found: {name}\": \"Der Compute Context wurde nicht gefunden: {name}\",\n  \"Connecting to SAS session...\": \"Verbinden mit einer SAS Session...\",\n  \"Connection Type\": \"Verbindungstyp\",\n  \"Converting SAS notebook to flow...\": \"Konvertiere SAS Notebook zu Flow...\",\n  \"Could not connect to the SAS server.\": \"Keine Verbindung zum SAS Server möglich\",\n  \"Created\": \"Erstellt\",\n  \"Currency\": \"Währung\",\n  \"Date\": \"Datum\",\n  \"Datetime\": \"Datetime\",\n  \"Delete\": \"Löschen\",\n  \"Descending\": \"Absteigend\",\n  \"Descending (add to sorting)\": \"Absteigend (zu Sortierung hinzufügen)\",\n  \"Downloading files...\": \"Dateien herunterladen...\",\n  \"Engine\": \"Engine\",\n  \"Enter a client ID\": \"Geben Sie eine Client ID ein\",\n  \"Enter a client secret\": \"Geben Sie ein Client Secret ein\",\n  \"Enter a file name.\": \"Geben Sie einen Dateiname ein.\",\n  \"Enter a folder name.\": \"Geben Sie einen Ordnernamen ein.\",\n  \"Enter a name for the new .flw file\": \"Geben Sie einen Namen für die neue .flw Datei ein\",\n  \"Enter a new name.\": \"Geben Sie einen neuen Namen ein.\",\n  \"Enter a port number\": \"Geben Sie den Port ein\",\n  \"Enter a port number.\": \"Geben Sie den Port ein\",\n  \"Enter connection name\": \"Geben Sie einen Verbindungsprofilname ein\",\n  \"Enter expression\": \"Ausdruck eingeben\",\n  \"Enter secret for client ID. An example is myapp.secret.\": \"Geben Sie das Secret für die Client ID ein. Hier ein Beispiel myapp.secret.\",\n  \"Enter the SAS compute context\": \"Geben Sie den SAS Compute Context ein\",\n  \"Enter the SAS compute context.\": \"Geben Sie den SAS Compute Context ein.\",\n  \"Enter the URL\": \"Geben Sie die URL ein\",\n  \"Enter the URL for the SAS Viya server. An example is https://example.sas.com.\": \"Geben Sie die URL des SAS Viya Server ein. Hier ein Beispiel https://example.sas.com\",\n  \"Enter the local private key file path\": \"Gib den Pfad des Private Keys ein\",\n  \"Enter the name of the SAS 9 server.\": \"Geben Sie den Namen des SAS 9 Servers ein\",\n  \"Enter the passphrase for the private key\": \"Gib die Passphrase für den Private Key ein\",\n  \"Enter the password for user: {username}\": \"Passworteingabe für den Benutzer: {username}\",\n  \"Enter the registered client ID. An example is myapp.client.\": \"Geben Sie die registrierte Client ID ein. Hier ein Beispiel myapp.client.\",\n  \"Enter the server name\": \"Geben Sie den Servername ein\",\n  \"Enter the server path\": \"Geben Sie den Serverpfad ein\",\n  \"Enter the server path of the SAS Executable.\": \"Geben Sie den Serverpfad zur SAS exe ein\",\n  \"Enter your SAS server username.\": \"Geben Sie Ihren SAS Server Benutzername ein.\",\n  \"Enter your password\": \"Geben Sie Ihr Passwort ein\",\n  \"Enter your password for this connection.\": \"Geben Sie Ihr Passwort für diese Verbindung ein.\",\n  \"Enter your username\": \"Geben Sie Ihren Benutzername ein\",\n  \"Error converting the notebook file to .flw format.\": \"Fehler bei der Konvertierung des Notebooks in das .flw-Format.\",\n  \"Error getting server with ID {id} - {message}\": \"Fehler bei der Verbindung mit dem Server mit der ID {id} - {message}\",\n  \"Error getting session with ID {id} - {message}\": \"Fehler beim Verbinden mit der Session {id} - {message}\",\n  \"Error reading private key file: {filePath}, error: {message}\": \"Error reading private key file: {filePath}, error: {message}\",\n  \"Export as HTML file\": \"Als HTML-Datei exportieren\",\n  \"Export as SAS program file\": \"Als-SAS-Programmdatei exportieren\",\n  \"Extended Type\": \"Erweiterter Typ\",\n  \"Failed to export notebook: {0}\": \"Notebook exportieren fehlgeschlagen: {0}\",\n  \"Failed to get state from Session {sessionId}\": \"Fehler beim Session-Statusabruf {sessionId}\",\n  \"File added to my folder.\": \"Datei wurde Meinem Ordner hinzugefügt.\",\n  \"Format\": \"Format\",\n  \"General\": \"Allgemein\",\n  \"General Information\": \"Allgemeine Informationen\",\n  \"HTML\": \"HTML\",\n  \"Ignore: all\": \"Ignorieren: Alles\",\n  \"Ignore: current position\": \"Ignorieren: aktuelle Position\",\n  \"Ignore: error\": \"Ignorieren: Fehler\",\n  \"Ignore: warning\": \"Ignorieren: Warnung\",\n  \"Informat\": \"Einleseformat\",\n  \"Invalid connectionType. Check Profile settings.\": \"Nicht gültiger Verbindungstyp. Bitte die Profileinstellungen überprüfen.\",\n  \"Invalid file name.\": \"Ungültiger Dateiname\",\n  \"Job does not have '{linkName}' link\": \"Der Job hat keinen '{linkName}' Link\",\n  \"Label\": \"Etikett\",\n  \"Length\": \"Länge\",\n  \"Library\": \"Bibliothek\",\n  \"Logical Record Count\": \"Anzahl der logischen Datensätze\",\n  \"Method not implemented.\": \"Die Methode ist nicht implementiert.\",\n  \"Missing connectionType in active profile.\": \"Fehlender Verbindungstyp im aktiven Profil.\",\n  \"Missing endpoint in active profile.\": \"Fehlender Endpunkt im aktiven Profil.\",\n  \"Missing host in active profile.\": \"Fehlender Host im aktiven Profil.\",\n  \"Missing port in active profile.\": \"Fehlender Port im aktiven Profil.\",\n  \"Missing sas path in active profile.\": \"Fehlender SAS Pfad im aktiven Profil.\",\n  \"Missing username in active profile.\": \"Fehlender Benutzername im aktiven Profil.\",\n  \"Modified\": \"Geändert\",\n  \"Move to Recycle Bin\": \"In Papierkorb verschieben\",\n  \"Name\": \"Name\",\n  \"New File\": \"Neue Datei\",\n  \"New Folder\": \"Neuer Ordner\",\n  \"New SAS Connection Profile Name\": \"Neuer SAS Verbindungsprofilname\",\n  \"No Active Profile\": \"Kein aktives Profil\",\n  \"No Profile\": \"Kein Profil\",\n  \"No Profiles available to delete\": \"Es gibt keine Profile die gelöscht werden können\",\n  \"No SAS Connection Profile\": \"Kein SAS Verbindungsprofil\",\n  \"No authorization code\": \"Kein Authorisierungs Code\",\n  \"No data matches the current filters.\": \"Keine Daten entsprechen den aktuellen Filtern.\",\n  \"Not implemented\": \"Nicht implementiert\",\n  \"Notebook exported to {0}\": \"Notebook exportiert nach {0}\",\n  \"Number of Columns\": \"Anzahl der Spalten\",\n  \"Number of Rows\": \"Anzahl der Zeilen\",\n  \"Numeric\": \"Numerisch\",\n  \"Options\": \"Optionen\",\n  \"Passphrase Required\": \"Passpharse benötigt\",\n  \"Password Required\": \"Passwort benötigt\",\n  \"Paste authorization code here\": \"Fügen Sie hier Ihren Authorisierungscode ein\",\n  \"Physical Record Count\": \"Anzahl der physischen Datensätze\",\n  \"Port Number\": \"Port\",\n  \"Private Key File Path (optional)\": \"Pfad zum Private Key (optional)\",\n  \"Properties\": \"Eigenschaften\",\n  \"Python Program\": \"Python Programm\",\n  \"Record Length\": \"Datensatzlänge\",\n  \"Remove all sorting\": \"Alle Sortierungen entfernen\",\n  \"Remove sorting\": \"Sortierung entfernen\",\n  \"Rename File\": \"Datei umbennen\",\n  \"Rename Folder\": \"Ordner umbenennen\",\n  \"Result\": \"Ergebnis\",\n  \"Result: {result}\": \"Ergebniss: {result}\",\n  \"Row number\": \"Zeilennummer\",\n  \"SAS 9 Server\": \"SAS 9 Server\",\n  \"SAS Code\": \"SAS-Code\",\n  \"SAS Compute Context\": \"SAS Compute Context\",\n  \"SAS Log\": \"SAS Log\",\n  \"SAS Log: {name}\": \"SAS Log: {name}\",\n  \"SAS Profile\": \"SAS Profile\",\n  \"SAS Program\": \"SAS Programm\",\n  \"SAS Server Username\": \"SAS Server Benutzername\",\n  \"SAS Viya Server\": \"SAS Viya Server\",\n  \"SAS code running...\": \"SAS Code wird ausgeführt...\",\n  \"SQL Program\": \"SQL Programm\",\n  \"Save\": \"Speichern\",\n  \"Save Log\": \"Log speichern\",\n  \"Save ODS HTML\": \"ODS HTML speichern\",\n  \"Saved to {0}\": \"Gespeichert in {0}\",\n  \"Saving {itemName}.\": \"SavSpeichere {itemName}.\",\n  \"Search\": \"Suchen\",\n  \"Select a Connection Type\": \"Wählen Sie einen Verbindungstyp\",\n  \"Select a Connection Type.\": \"Wählen Sie einen Verbindungstyp.\",\n  \"Select a SAS connection profile\": \"Wählen Sie ein SAS Verbindungsprofil\",\n  \"Select export format\": \"Exportformat auswählen\",\n  \"Server Path\": \"Serverpfad\",\n  \"Server does not have createSession link\": \"Der Server hat keinen createSession Link\",\n  \"Server does not have state link\": \"Der Server hat keinen Statuslink\",\n  \"Session does not have '{linkName}' link\": \"Session hat keinen '{linkName}' Link\",\n  \"Show results...\": \"Ergebnisse anzeigen...\",\n  \"Size Information\": \"Größeninformationen\",\n  \"Something went wrong\": \"Etwas ist schief gelaufen\",\n  \"Sort\": \"Sortieren\",\n  \"Sorted, Ascending\": \"Sortiert, Aufsteigend\",\n  \"Sorted, Descending\": \"Sortiert, Absteigend\",\n  \"Switch Current SAS Profile\": \"Aktuelles SAS Profil wechseln\",\n  \"Table Properties\": \"Tabelleneigenschaften\",\n  \"Table: {tableName}\": \"Tabelle: {tableName}\",\n  \"Task is cancelled.\": \"Der Task wurde abgebrochen.\",\n  \"Task is complete.\": \"Der Task ist erledigt.\",\n  \"Technical Information\": \"Technische Informationen\",\n  \"The SAS session has closed.\": \"Die SAS Session wurde beendet.\",\n  \"The file type is unsupported.\": \"Der Dateityp wird nicht unterstützt\",\n  \"The files cannot be accessed from the path specified in the context definition for the SAS Compute Server. Contact your SAS administrator.\": \"Auf die Dateien kann nicht über den in der Kontextdefinition für den SAS Compute Server angegebenen Pfad zugegriffen werden. Wenden Sie sich an Ihren SAS-Administrator.\",\n  \"The files cannot be accessed from the specified path.\": \"Auf die Dateien kann vom angegebenen Pfad aus nicht zugegriffen werden\",\n  \"The folder name cannot contain more than 100 characters or have invalid characters.\": \"Der Ordnername darf nicht mehr als 100 Zeichen enthalten oder ungültige Zeichen aufweisen.\",\n  \"The item could not be added to My Favorites.\": \"Der Inhalt konnte nicht zu Meinen Favoriten hinzugefügt werden.\",\n  \"The item could not be removed from My Favorites.\": \"Der Inhalt konnte nicht aus Meinen Favoriten entfernt werden.\",\n  \"The notebook file does not contain any code to convert.\": \"Das Notebook enthält keinen zu konvertierenden Code.\",\n  \"The notebook has been successfully converted to a flow and saved into the following folder: {folderName}. You can now open it in SAS Studio.\": \"Das Notebook wurde erfolgreich in einen Flow konvertiert und im folgenden Ordner gespeichert: {folderName}. Sie können es nun in SAS Studio öffnen.\",\n  \"The output file name must end with the .flw extension.\": \"Der Name der Ausgabedatei muss mit .flw enden.\",\n  \"The {selected} SAS connection profile has been deleted from the settings.json file.\": \"Das {selected} SAS Verbindungsprofil wurde aus der settings.json Datei gelöscht.\",\n  \"There was an error executing the SAS Program. See [console log](command:workbench.action.toggleDevTools) for more details.\": \"Bei der Ausführung des SAS-Programms ist ein Fehler aufgetreten. Siehe [console log](command:workbench.action.toggleDevTools) für weitere Details.\",\n  \"This folder contains unsaved files, are you sure you want to delete?\": \"Dieser Ordner enthält nicht gespeicherte Dateien. Möchten Sie ihn wirklich löschen?\",\n  \"This platform does not support this connection type.\": \"Diese Plattform unterstützt diesen Verbindungstyp nicht.\",\n  \"To use the SSH Agent or a password, leave blank.\": \"To use the SSH Agent or a password, leave blank.\",\n  \"Type\": \"Typ\",\n  \"Unable to add file to my folder.\": \"Nicht imstande die Datei Meinem Ordner hinzu zufügen\",\n  \"Unable to create file \\\"{name}\\\".\": \"Nicht imstande die Datei \\\"{name}\\\" zu erstellen.\",\n  \"Unable to create folder \\\"{name}\\\".\": \"Nicht imstande den Ordner \\\"{name}\\\" zu erstellen.\",\n  \"Unable to delete file.\": \"Nicht imstande die Datei zu löschen.\",\n  \"Unable to delete folder.\": \"Nicht imstande den Ordner zu löschen\",\n  \"Unable to delete table {tableName}.\": \"Nicht imstande die Tabelle {tableName} zu löschen.\",\n  \"Unable to download files.\": \"Dateien konnten nicht heruntergeladen werden.\",\n  \"Unable to drag files from my favorites.\": \"Nicht imstande Dateien aus den Favoriten zu verschieben.\",\n  \"Unable to drag files from trash.\": \"Nicht imstande Dateien aus dem Papierkorb zu verschieben.\",\n  \"Unable to drop item \\\"{name}\\\".\": \"Nicht imstande \\\"{name}\\\" einzufügen.\",\n  \"Unable to empty the recycle bin.\": \"Nicht imstande den Papierkorb zu leeren.\",\n  \"Unable to load required libraries.\": \"Erforderliche Bibliotheken können nicht geladen werden\",\n  \"Unable to rename \\\"{oldName}\\\" to \\\"{newName}\\\".\": \"Nicht imstande \\\"{oldName}\\\" in \\\"{newName}\\\" umzubenennen.\",\n  \"Unable to restore file.\": \"Nicht imstande die Datei wiederherzustellen\",\n  \"Unable to restore folder.\": \"Nicht imstande den Ordner wiederherzustellen.\",\n  \"Unable to upload files.\": \"Dateien können nicht hochgeladen werden.\",\n  \"Uploading files...\": \"Dateoem hochladen...\",\n  \"User {username} {prompt}\": \"Benutzer {username} {prompt}\",\n  \"View SAS Table\": \"SAS Tabelle anzeigen\",\n  \"You can also specify connection profile using the settings.json file.\": \"Sie können ein Verbindungsprofil auch über die settings.json Datei eingeben.\",\n  \"You must save your file before you can rename it.\": \"Sie müssen die Datei zunächstspeichern, bevor Sie sie umbenennen können.\",\n  \"output\": \"Ausgabe\",\n  \"{basename}_Copy{number}{ext}\": \"{basename}_Kopie{number}{ext}\"\n}\n"
  },
  {
    "path": "l10n/bundle.l10n.es.json",
    "content": "{\n  \"#\": \"#\",\n  \"An error was encountered when loading table data. This usually happens when a table is too large or the data couldn't be processed. See console for more details.\": \"Se encontró un error al cargar los datos de la tabla. Esto suele ocurrir cuando una tabla es demasiado grande o los datos no se pueden procesar. Consulte la consola para obtener más detalles.\",\n  \"Are you sure you want to delete the selected tables?\": \"¿Confirma que desea eliminar las tablas seleccionadas?\",\n  \"Are you sure you want to permanently delete all the items? You cannot undo this action.\": \"¿Confirma que desea eliminar permanentemente todos los elementos? No puede deshacer esta acción.\",\n  \"Are you sure you want to permanently delete the item \\\"{name}\\\"?\": \"¿Confirma que desea eliminar permanentemente el elemento \\\"{name}\\\"?\",\n  \"Ascending\": \"Ascendente\",\n  \"Ascending (add to sorting)\": \"Ascendente (añadir a clasificación)\",\n  \"Bookmark Length\": \"Longitud del registro\",\n  \"Cancelling job...\": \"Cancelando el trabajo…\",\n  \"Cannot call self on ComputeSession with no id\": \"No se puede invocar automáticamente ComputeSession sin ningún ID\",\n  \"Cannot call self on object with no id\": \"No se puede invocar automáticamente el objeto sin ningún ID\",\n  \"Cannot connect to SAS Studio service\": \"No se puede conectar al servicio SAS Studio\",\n  \"Cannot find file: {file}\": \"No se puede encontrar el archivo: {file}\",\n  \"Character\": \"Alfanumérico\",\n  \"Character Encoding\": \"Codificación de caracteres\",\n  \"Choose output type to save\": \"Elegir el tipo de salida que se va a guardar\",\n  \"Choose where to save your files.\": \"Elija donde guardar los archivos.\",\n  \"Clear\": \"Borrar\",\n  \"Client ID\": \"ID de cliente\",\n  \"Client Secret\": \"Secreto de cliente\",\n  \"Close Session\": \"Cerrar sesión\",\n  \"Columns\": \"Columnas\",\n  \"Columns ({count})\": \"Columnas ({count})\",\n  \"Compression\": \"Compresión\",\n  \"Compute Context not found: {name}\": \"No se ha encontrado el contexto de cálculo: {name}\",\n  \"Connecting to SAS session...\": \"Conexión a la sesión SAS…\",\n  \"Connection Type\": \"Tipo de conexión\",\n  \"Converting SAS notebook to flow...\": \"Conversión del bloc de notas SAS en el flujo…\",\n  \"Could not connect to the SAS server.\": \"Imposible conectarse al servidor SAS\",\n  \"Created\": \"Creado\",\n  \"Currency\": \"Monetario\",\n  \"Date\": \"Fecha\",\n  \"Datetime\": \"Fecha y hora\",\n  \"Delete\": \"Eliminar\",\n  \"Descending\": \"Descendente\",\n  \"Descending (add to sorting)\": \"Descendente (añadir a clasificación)\",\n  \"Downloading files...\": \"Descargando archivos…\",\n  \"Engine\": \"Motor\",\n  \"Enter a client ID\": \"Introducir un ID de cliente\",\n  \"Enter a client secret\": \"Introducir un secreto de cliente\",\n  \"Enter a file name.\": \"Introducir un nombre de archivo.\",\n  \"Enter a folder name.\": \"Introducir un nombre de carpeta.\",\n  \"Enter a name for the new .flw file\": \"Introducir un nombre para el nuevo archivo .flw\",\n  \"Enter a new name.\": \"Introducir un nombre nuevo.\",\n  \"Enter a port number\": \"Introducir un número de puerto\",\n  \"Enter a port number.\": \"Introducir un número de puerto.\",\n  \"Enter connection name\": \"Introducir nombre de conexión\",\n  \"Enter expression\": \"Introducir expresión\",\n  \"Enter secret for client ID. An example is myapp.secret.\": \"Introducir secreto para ID de cliente. Por ejemplo myapp.secret.\",\n  \"Enter the SAS compute context\": \"Introducir el contexto de cálculo SAS\",\n  \"Enter the SAS compute context.\": \"Introducir el contexto de cálculo SAS.\",\n  \"Enter the URL\": \"Introducir la URL\",\n  \"Enter the URL for the SAS Viya server. An example is https://example.sas.com.\": \"Introducir la URL para el servidor SAS Viya. Por ejemplo https://example.sas.com.\",\n  \"Enter the local private key file path\": \"Introduzca la ruta del archivo de clave privada local\",\n  \"Enter the name of the SAS 9 server.\": \"Introduzca el nombre del servidor SAS 9.\",\n  \"Enter the passphrase for the private key\": \"Introduzca la frase de contraseña para la clave privada: {username}\",\n  \"Enter the password for user: {username}\": \"Introduzca la contraseña para el usuario: {username}\",\n  \"Enter the registered client ID. An example is myapp.client.\": \"Introducir el ID de cliente registrado. Por ejemplo myapp.client.\",\n  \"Enter the server name\": \"Introducir el nombre del servidor\",\n  \"Enter the server path\": \"Introducir la ruta del servidor\",\n  \"Enter the server path of the SAS Executable.\": \"Introducir la ruta del servidor del ejecutable SAS.\",\n  \"Enter your SAS server username.\": \"Introducir el nombre de usuario del servidor SAS.\",\n  \"Enter your password\": \"Introduce tu contraseña\",\n  \"Enter your password for this connection.\": \"Introduce tu contraseña para esta conexión\",\n  \"Enter your username\": \"Introducir el nombre de usuario\",\n  \"Error converting the notebook file to .flw format.\": \"Error al convertir el archivo de bloc de notas en formato .flw.\",\n  \"Error getting server with ID {id} - {message}\": \"Error al obtener el servidor con ID  {id} - {message}\",\n  \"Error getting session with ID {id} - {message}\": \"Error al obtener la sesión con ID  {id} - {message}\",\n  \"Error reading private key file: {filePath}, error: {message}\": \"Error en la lectura del archivo de clave privada: {filePath}, error: {message}\",\n  \"Export as HTML file\": \"Exportar como archivo HTML\",\n  \"Export as SAS program file\": \"Exportar como archivo de programa SAS\",\n  \"Extended Type\": \"Tipo ampliado\",\n  \"Failed to export notebook: {0}\": \"No se ha podido exportar el bloc de notas: {0}\",\n  \"Failed to get state from Session {sessionId}\": \"Fallos al obtener el estado desde la sesión {sessionId}\",\n  \"File added to my folder.\": \"Archivo añadido a mi carpeta.\",\n  \"Format\": \"Formato\",\n  \"General\": \"General\",\n  \"General Information\": \"Información general\",\n  \"HTML\": \"HTML\",\n  \"Ignore: all\": \"Ignorar: todo\",\n  \"Ignore: current position\": \"Ignorar: posición actual\",\n  \"Ignore: error\": \"Ignorar: error\",\n  \"Ignore: warning\": \"Ignorar: aviso\",\n  \"Informat\": \"Formato de lectura\",\n  \"Invalid connectionType. Check Profile settings.\": \"Tipo de conexión no válido. Compruebe los ajustes del perfil.\",\n  \"Invalid file name.\": \"Nombre de archivo no válido.\",\n  \"Job does not have '{linkName}' link\": \"El trabajo no tiene un enlace '{linkName}'\",\n  \"Label\": \"Etiqueta\",\n  \"Length\": \"Longitud\",\n  \"Library\": \"Librería\",\n  \"Logical Record Count\": \"Conteo de registros lógicos\",\n  \"Method not implemented.\": \"Método no implementado.\",\n  \"Missing connectionType in active profile.\": \"Falta el tipo de conexión en el perfil activo.\",\n  \"Missing endpoint in active profile.\": \"Falta el punto de conexión en el perfil activo.\",\n  \"Missing host in active profile.\": \"Falta el host en el perfil activo.\",\n  \"Missing port in active profile.\": \"Falta el puerto en el perfil activo.\",\n  \"Missing sas path in active profile.\": \"Falta la ruta sas en el perfil activo.\",\n  \"Missing username in active profile.\": \"Falta el nombre de usuario en el perfil activo.\",\n  \"Modified\": \"Modificado\",\n  \"Move to Recycle Bin\": \"Mover a la papelera de reciclaje\",\n  \"Name\": \"Nombre\",\n  \"New File\": \"Nuevo archivo\",\n  \"New Folder\": \"Nueva carpeta\",\n  \"New SAS Connection Profile Name\": \"Nuevo nombre del perfil de conexión SAS\",\n  \"No Active Profile\": \"No hay ningún perfil activo\",\n  \"No Profile\": \"No hay perfil\",\n  \"No Profiles available to delete\": \"No hay ningún perfil disponible para eliminar\",\n  \"No SAS Connection Profile\": \"No hay un perfil de conexión SAS\",\n  \"No authorization code\": \"No hay ningún código de autorización\",\n  \"No data matches the current filters.\": \"No hay datos que coincidan con los filtros actuales.\",\n  \"Not implemented\": \"No implementado\",\n  \"Notebook exported to {0}\": \"Bloc de notas exportado a {0>\",\n  \"Number of Columns\": \"Número de columnas\",\n  \"Number of Rows\": \"Número de filas\",\n  \"Numeric\": \"Numérico\",\n  \"Options\": \"Opciones\",\n  \"Passphrase Required\": \"Frase de contraseña requerida\",\n  \"Password Required\": \"Contraseña requerida\",\n  \"Paste authorization code here\": \"Pegar aquí el código de autorización\",\n  \"Physical Record Count\": \"Conteo de registros físicos\",\n  \"Port Number\": \"Número de puerto\",\n  \"Private Key File Path (optional)\": \"Ruta del archivo de clave privada (opcional)\",\n  \"Properties\": \"Propiedades\",\n  \"Python Program\": \"Programa Python\",\n  \"Record Length\": \"Longitud del registro\",\n  \"Remove all sorting\": \"Quitar toda la clasificación\",\n  \"Remove sorting\": \"Quitar clasificación\",\n  \"Rename File\": \"Renombrar archivo\",\n  \"Rename Folder\": \"Renombrar carpeta\",\n  \"Result\": \"Resultado\",\n  \"Result: {result}\": \"Resultado: {result}\",\n  \"Row number\": \"Número de fila\",\n  \"SAS 9 Server\": \"Servidor SSH SAS 9\",\n  \"SAS Code\": \"Código SAS\",\n  \"SAS Compute Context\": \"Contexto de cálculo SAS\",\n  \"SAS Log\": \"Log SAS\",\n  \"SAS Log: {name}\": \"Log SAS: {nombre}\",\n  \"SAS Profile\": \"Perfil SAS\",\n  \"SAS Program\": \"Programa SAS\",\n  \"SAS Server Username\": \"Nombre de usuario del servidor SAS\",\n  \"SAS Viya Server\": \"Servidor SAS Viya\",\n  \"SAS code running...\": \"Código SAS en ejecución...\",\n  \"SQL Program\": \"Programa SQL\",\n  \"Save\": \"Guardar\",\n  \"Save Log\": \"Guardar log\",\n  \"Save ODS HTML\": \"Guardar ODS HTML\",\n  \"Saved to {0}\": \"Guardar en {0}\",\n  \"Saving {itemName}.\": \"Guardando {itemName}.\",\n  \"Search\": \"Búsqueda\",\n  \"Select a Connection Type\": \"Seleccionar un tipo de conexión\",\n  \"Select a Connection Type.\": \"Seleccionar un tipo de conexión.\",\n  \"Select a SAS connection profile\": \"Seleccionar un perfil de conexión SAS\",\n  \"Select export format\": \"Seleccionar formato de exportación\",\n  \"Server Path\": \"Ruta del servidor\",\n  \"Server does not have createSession link\": \"El servidor no tiene un enlace createSession\",\n  \"Server does not have state link\": \"El servidor no tiene un enlace de estado\",\n  \"Session does not have '{linkName}' link\": \"La sesión no tiene el enlace '{linkName}'\",\n  \"Show results...\": \"Mostrar resultados...\",\n  \"Size Information\": \"Información del tamaño\",\n  \"Something went wrong\": \"Ha habido algún problema\",\n  \"Sort\": \"Clasificar\",\n  \"Sorted, Ascending\": \"Ordenado, ascendente\",\n  \"Sorted, Descending\": \"Ordenado, descendente\",\n  \"Switch Current SAS Profile\": \"Cambiar perfil SAS actual\",\n  \"Table Properties\": \"Propiedades de la tabla\",\n  \"Table: {tableName}\": \"Tabla: {tableName}\",\n  \"Task is cancelled.\": \"La tarea está cancelada.\",\n  \"Task is complete.\": \"La tarea está completada.\",\n  \"Technical Information\": \"Información técnica\",\n  \"The SAS session has closed.\": \"Se ha cerrado la sesión SAS.\",\n  \"The file type is unsupported.\": \"El tipo de archivo no es compatible.\",\n  \"The files cannot be accessed from the path specified in the context definition for the SAS Compute Server. Contact your SAS administrator.\": \"No se puede acceder a los archivos desde la ruta especificada en la definición de contexto para SAS Compute Server. Póngase en contacto con el administrador SAS\",\n  \"The files cannot be accessed from the specified path.\": \"No se puede acceder a los archivos desde la ruta especificada\",\n  \"The folder name cannot contain more than 100 characters or have invalid characters.\": \"El nombre de la carpeta no puede contener más de 100 caracteres ni tener caracteres no válidos.\",\n  \"The item could not be added to My Favorites.\": \"El elemento no se ha podido añadir a Mis favoritos.\",\n  \"The item could not be removed from My Favorites.\": \"El elemento no se ha podido quitar de Mis favoritos.\",\n  \"The notebook file does not contain any code to convert.\": \"El archivo de bloc de notas no contiene ningún código para convertir.\",\n  \"The notebook has been successfully converted to a flow and saved into the following folder: {folderName}. You can now open it in SAS Studio.\": \"El bloc de notas se ha convertido correctamente en un flujo y se ha guardado en la siguiente carpeta: {folderName}. Ya puede abrirlo en SAS Studio.\",\n  \"The output file name must end with the .flw extension.\": \"El nombre del archivo de salida debe terminar con la extensión .flw.\",\n  \"The {selected} SAS connection profile has been deleted from the settings.json file.\": \"El perfil de conexión SAS {selected} se ha eliminado del archivo settings.json.\",\n  \"There was an error executing the SAS Program. See [console log](command:workbench.action.toggleDevTools) for more details.\": \"Se produjo un error en la ejecución del programa SAS. Para más detalles, consulte [console log](command:workbench.action.toggleDevTools).\",\n  \"This folder contains unsaved files, are you sure you want to delete?\": \"Esta carpeta contiene archivos sin guardar. ¿Está seguro de que desea eliminarla?\",\n  \"This platform does not support this connection type.\": \"La plataforma no admite este tipo de conexión.\",\n  \"To use the SSH Agent or a password, leave blank.\": \"Para utilizar el agente SSH o una contraseña, deje el campo en blanco\",\n  \"Type\": \"Tipo\",\n  \"Unable to add file to my folder.\": \"No es posible añadir archivos a mi carpeta.\",\n  \"Unable to create file \\\"{name}\\\".\": \"No es posible crear el archivo \\\"{name}\\\".\",\n  \"Unable to create folder \\\"{name}\\\".\": \"No es posible crear la carpeta \\\"{name}\\\".\",\n  \"Unable to delete file.\": \"No es posible eliminar el archivo.\",\n  \"Unable to delete folder.\": \"No es posible eliminar la carpeta.\",\n  \"Unable to delete table {tableName}.\": \"No es posible eliminar la tabla {tableName}.\",\n  \"Unable to download files.\": \"No se pueden descargar archivos.\",\n  \"Unable to drag files from my favorites.\": \"No es posible arrastrar archivos desde mis favoritos.\",\n  \"Unable to drag files from trash.\": \"No es posible arrastrar archivos desde la papelera.\",\n  \"Unable to drop item \\\"{name}\\\".\": \"No es posible arrastrar el elemento \\\"{name}\\\".\",\n  \"Unable to empty the recycle bin.\": \"No es posible vaciar la papelera de reciclaje.\",\n  \"Unable to load required libraries.\": \"No es posible cargar las librerías requeridas\",\n  \"Unable to rename \\\"{oldName}\\\" to \\\"{newName}\\\".\": \"No es posible renombrar \\\"{oldName}\\\" to \\\"{newName}\\\".\",\n  \"Unable to restore file.\": \"No es posible restaurar el archivo.\",\n  \"Unable to restore folder.\": \"No es posible restaurar la carpeta.\",\n  \"Unable to upload files.\": \"No es posible subir archivos.\",\n  \"Uploading files...\": \"Subiendo archivos...\",\n  \"User {username} {prompt}\": \"Usuario {username} {prompt}\",\n  \"View SAS Table\": \"Ver tabla SAS\",\n  \"You can also specify connection profile using the settings.json file.\": \"También puede especificar el perfil de conexión utilizando el archivo settings.json.\",\n  \"You must save your file before you can rename it.\": \"Debe guardar el archivo para poder renombrarlo.\",\n  \"output\": \"salida\",\n  \"{basename}_Copy{number}{ext}\": \"{basename}_Copia{number}{ext}\"\n}\n"
  },
  {
    "path": "l10n/bundle.l10n.fr.json",
    "content": "{\n  \"#\": \"#\",\n  \"An error was encountered when loading table data. This usually happens when a table is too large or the data couldn't be processed. See console for more details.\": \"Une erreur est survenue lors du chargement des données de la table. Cela se produit généralement lorsqu'une table est trop volumineuse ou que les données n'ont pas pu être traitées. Consultez la console pour plus d'information.\",\n  \"Are you sure you want to delete the selected tables?\": \"Êtes-vous sûr de vouloir supprimer les tables sélectionnées ?\",\n  \"Are you sure you want to permanently delete all the items? You cannot undo this action.\": \"Êtes-vous sûr de vouloir supprimer définitivement tous les éléments ? Cette action ne peut pas être annulée.\",\n  \"Are you sure you want to permanently delete the item \\\"{name}\\\"?\": \"Êtes-vous sûr de vouloir supprimer définitivement l'élément \\\"{name}\\\"?\",\n  \"Ascending\": \"Croissant\",\n  \"Ascending (add to sorting)\": \"Croissant (ajouter au tri)\",\n  \"Bookmark Length\": \"Longueur du signet\",\n  \"Cancelling job...\": \"Annulation de la tâche...\",\n  \"Cannot call self on ComputeSession with no id\": \"Impossible d'appeler une session Compute sans identifiant\",\n  \"Cannot call self on object with no id\": \"Impossible d'appeler un objet sans identifiant\",\n  \"Cannot connect to SAS Studio service\": \"Impossible de se connecter au service SAS Studio\",\n  \"Cannot find file: {file}\": \"Impossible de trouver le fichier: {file}\",\n  \"Character\": \"Caractère\",\n  \"Character Encoding\": \"Codage de caractères\",\n  \"Choose output type to save\": \"Choisir le type de sortie à enregistrer\",\n  \"Choose where to save your files.\": \"Choisissez où enregistrer vos fichiers.\",\n  \"Clear\": \"Effacer\",\n  \"Client ID\": \"ID client\",\n  \"Client Secret\": \"Clé secrète client\",\n  \"Close Session\": \"Fermer la session\",\n  \"Columns\": \"Colonnes\",\n  \"Columns ({count})\": \"Colonnes ({count})\",\n  \"Compression\": \"Compression\",\n  \"Compute Context not found: {name}\": \"SAS Compute Context non trouvé: {name}\",\n  \"Connecting to SAS session...\": \"Connexion à la session SAS...\",\n  \"Connection Type\": \"Type de connexion\",\n  \"Converting SAS notebook to flow...\": \"Conversion du notebook SAS en flux...\",\n  \"Could not connect to the SAS server.\": \"Impossible de se connecter au serveur SAS.\",\n  \"Created\": \"Créé\",\n  \"Currency\": \"Devise\",\n  \"Date\": \"Date\",\n  \"Datetime\": \"Date-heure\",\n  \"Delete\": \"Supprimer\",\n  \"Descending\": \"Décroissant\",\n  \"Descending (add to sorting)\": \"Décroissant (ajouter au tri)\",\n  \"Downloading files...\": \"Téléchargement des fichiers...\",\n  \"Engine\": \"Moteur\",\n  \"Enter a client ID\": \"Entrez un ID client\",\n  \"Enter a client secret\": \"Entrez une clé secrète client\",\n  \"Enter a file name.\": \"Entrez un nom de fichier.\",\n  \"Enter a folder name.\": \"Entrez un nom de dossier.\",\n  \"Enter a name for the new .flw file\": \"Entrez un nom pour le nouveau fichier .flw\",\n  \"Enter a new name.\": \"Entrez un nouveau nom.\",\n  \"Enter a port number\": \"Entrez un numéro de port\",\n  \"Enter a port number.\": \"Entrez un numéro de port.\",\n  \"Enter connection name\": \"Entrez le nom de la connexion\",\n  \"Enter expression\": \"Saisir l'expression\",\n  \"Enter secret for client ID. An example is myapp.secret.\": \"Clé secrète pour l'ID client. Un exemple est myapp.secret.\",\n  \"Enter the SAS compute context\": \"Entrez le SAS Compute Context\",\n  \"Enter the SAS compute context.\": \"Entrez le SAS Compute Context.\",\n  \"Enter the URL\": \"Entrez l'URL\",\n  \"Enter the URL for the SAS Viya server. An example is https://example.sas.com.\": \"Entrez l'URL du serveur SAS Viya. Un exemple est https://example.sas.com.\",\n  \"Enter the local private key file path\": \"Entrez le chemin local du fichier de clé privée\",\n  \"Enter the name of the SAS 9 server.\": \"Veuillez entrer le nom du serveur SAS 9.\",\n  \"Enter the passphrase for the private key\": \"Entrez la phrase secrète pour la clé privée\",\n  \"Enter the password for user: {username}\": \"Entrez le mot de passe pour l'utilisateur : {username}\",\n  \"Enter the registered client ID. An example is myapp.client.\": \"Entrez l'ID client enregistré. Un exemple est myapp.client.\",\n  \"Enter the server name\": \"Entrez le nom du serveur\",\n  \"Enter the server path\": \"Entrez le chemin du serveur\",\n  \"Enter the server path of the SAS Executable.\": \"Entrez le chemin du serveur de l'exécutable SAS.\",\n  \"Enter your SAS server username.\": \"Entrez votre nom d'utilisateur du serveur SAS.\",\n  \"Enter your password\": \"Veuillez saisir votre de mot de passe\",\n  \"Enter your password for this connection.\": \"Veuillez saisir votre de mot de passe pour cette connexion.\",\n  \"Enter your username\": \"Entrez votre nom d'utilisateur\",\n  \"Error converting the notebook file to .flw format.\": \"Erreur lors de la conversion du fichier de notebook au format .flw.\",\n  \"Error getting server with ID {id} - {message}\": \"Erreur lors de l'obtention du serveur avec l'ID {id} - {message}\",\n  \"Error getting session with ID {id} - {message}\": \"Erreur lors de l'obtention de la session avec l'ID {id} - {message}\",\n  \"Error reading private key file: {filePath}, error: {message}\": \"Erreur lors de la lecture du fichier de clé privée : {filePath}, erreur : {message}\",\n  \"Export as HTML file\": \"Exporter en tant que fichier HTML\",\n  \"Export as SAS program file\": \"Exporter en tant que programme SAS\",\n  \"Extended Type\": \"Type étendu\",\n  \"Failed to export notebook: {0}\": \"Échec de l'exportation du bloc-notes : {0}\",\n  \"Failed to get state from Session {sessionId}\": \"Échec de l'obtention de l'état de la session {sessionId}\",\n  \"File added to my folder.\": \"Fichier ajouté à mon dossier.\",\n  \"Format\": \"Format\",\n  \"General\": \"Général\",\n  \"General Information\": \"Informations générales\",\n  \"HTML\": \"HTML\",\n  \"Ignore: all\": \"Ignorer; tout\",\n  \"Ignore: current position\": \"Ignorer: position actuelle\",\n  \"Ignore: error\": \"Ignorer: erreur\",\n  \"Ignore: warning\": \"Ignorer: avertissement\",\n  \"Informat\": \"Informat\",\n  \"Invalid connectionType. Check Profile settings.\": \"Type de connexion invalide. Vérifiez les paramètres du profil.\",\n  \"Invalid file name.\": \"Nom de fichier non valide.\",\n  \"Job does not have '{linkName}' link\": \"La tâche ne possède pas le lien '{linkName}'\",\n  \"Label\": \"Libellé\",\n  \"Length\": \"Longueur\",\n  \"Library\": \"Bibliothèque\",\n  \"Logical Record Count\": \"Nombre d'enregistrements logiques\",\n  \"Method not implemented.\": \"Méthode non implémentée.\",\n  \"Missing connectionType in active profile.\": \"Type de connexion manquant dans le profil actif.\",\n  \"Missing endpoint in active profile.\": \"Point de terminaison manquant dans le profil actif.\",\n  \"Missing host in active profile.\": \"Hôte manquant dans le profil actif.\",\n  \"Missing port in active profile.\": \"Port manquant dans le profil actif.\",\n  \"Missing sas path in active profile.\": \"Chemin SAS manquant dans le profil actif.\",\n  \"Missing username in active profile.\": \"Nom d'utilisateur manquant dans le profil actif.\",\n  \"Modified\": \"Modifié\",\n  \"Move to Recycle Bin\": \"Déplacer vers la Corbeille\",\n  \"Name\": \"Nom\",\n  \"New File\": \"Nouveau fichier\",\n  \"New Folder\": \"Nouveau dossier\",\n  \"New SAS Connection Profile Name\": \"Nouveau nom de profil de connexion SAS\",\n  \"No Active Profile\": \"Aucun profil actif\",\n  \"No Profile\": \"Aucun profil\",\n  \"No Profiles available to delete\": \"Aucun profil disponible à supprimer\",\n  \"No SAS Connection Profile\": \"Aucun profil de connexion SAS\",\n  \"No authorization code\": \"Aucun code d'autorisation\",\n  \"No data matches the current filters.\": \"Aucune donnée ne correspond aux filtres en cours.\",\n  \"Not implemented\": \"Non implémenté\",\n  \"Notebook exported to {0}\": \"Bloc-notes exporté vers {0}\",\n  \"Number of Columns\": \"Nombre de colonnes\",\n  \"Number of Rows\": \"Nombre de lignes\",\n  \"Numeric\": \"Numérique\",\n  \"Options\": \"Options\",\n  \"Passphrase Required\": \"Phrase secrète requise\",\n  \"Password Required\": \"Mot de passe requis\",\n  \"Paste authorization code here\": \"Collez le code d'autorisation ici\",\n  \"Physical Record Count\": \"Nombre d'enregistrements physiques\",\n  \"Port Number\": \"Numéro de port\",\n  \"Private Key File Path (optional)\": \"Chemin du fichier de clé privée (optionnel)\",\n  \"Properties\": \"Propriétés\",\n  \"Python Program\": \"Programme Python\",\n  \"Record Length\": \"Longueur d'enregistrement\",\n  \"Remove all sorting\": \"Supprimer tout le tri\",\n  \"Remove sorting\": \"Supprimer le tri\",\n  \"Rename File\": \"Renommer le fichier\",\n  \"Rename Folder\": \"Renommer le dossier\",\n  \"Result\": \"Résultat\",\n  \"Result: {result}\": \"Résultat: {result}\",\n  \"Row number\": \"Numéro de ligne\",\n  \"SAS 9 Server\": \"Serveur SAS 9\",\n  \"SAS Code\": \"Code SAS\",\n  \"SAS Compute Context\": \"SAS Compute Context\",\n  \"SAS Log\": \"Journal SAS\",\n  \"SAS Log: {name}\": \"SAS Log: {name}\",\n  \"SAS Profile\": \"Profil SAS\",\n  \"SAS Program\": \"Programme SAS\",\n  \"SAS Server Username\": \"Nom d'utilisateur du serveur SAS\",\n  \"SAS Viya Server\": \"Serveur SAS Viya\",\n  \"SAS code running...\": \"Exécution du code SAS...\",\n  \"SQL Program\": \"Programme SQL\",\n  \"Save\": \"Enregistrer\",\n  \"Save Log\": \"Enregistrer le journal\",\n  \"Save ODS HTML\": \"Enregistrer ODS HTML\",\n  \"Saved to {0}\": \"Enregistré dans {0}\",\n  \"Saving {itemName}.\": \"Enregistrement de {itemName}.\",\n  \"Search\": \"Recherche\",\n  \"Select a Connection Type\": \"Sélectionnez un type de connexion\",\n  \"Select a Connection Type.\": \"Sélectionnez un type de connexion.\",\n  \"Select a SAS connection profile\": \"Sélectionnez un profil de connexion SAS\",\n  \"Select export format\": \"Sélectionner le format d'exportation\",\n  \"Server Path\": \"Chemin du serveur\",\n  \"Server does not have createSession link\": \"Le serveur ne possède pas de lien createSession\",\n  \"Server does not have state link\": \"Le serveur ne possède pas de lien d'état\",\n  \"Session does not have '{linkName}' link\": \"La session ne possède pas le lien '{linkName}'\",\n  \"Show results...\": \"Afficher les résultats...\",\n  \"Size Information\": \"Informations sur la taille\",\n  \"Something went wrong\": \"Un incident est survenu\",\n  \"Sort\": \"Trier\",\n  \"Sorted, Ascending\": \"Trié, Croissant\",\n  \"Sorted, Descending\": \"Trié, Décroissant\",\n  \"Switch Current SAS Profile\": \"Changer le profil SAS actuel\",\n  \"Table Properties\": \"Propriétés de la table\",\n  \"Table: {tableName}\": \"Table : {tableName}\",\n  \"Task is cancelled.\": \"La tâche est annulée.\",\n  \"Task is complete.\": \"La tâche est terminée.\",\n  \"Technical Information\": \"Informations techniques\",\n  \"The SAS session has closed.\": \"La session SAS s'est fermée.\",\n  \"The file type is unsupported.\": \"Le type de fichier n'est pas pris en charge.\",\n  \"The files cannot be accessed from the path specified in the context definition for the SAS Compute Server. Contact your SAS administrator.\": \"Impossible d'accéder aux fichiers depuis le chemin spécifié dans la définition de contexte pour le SAS Compute Server. Contactez votre administrateur SAS.\",\n  \"The files cannot be accessed from the specified path.\": \"Impossible d'accéder aux fichiers depuis le chemin spécifié.\",\n  \"The folder name cannot contain more than 100 characters or have invalid characters.\": \"Le nom du dossier ne peut pas contenir plus de 100 caractères ni comporter de caractères invalides.\",\n  \"The item could not be added to My Favorites.\": \"Impossible d'ajouter l'élément à Mes favoris.\",\n  \"The item could not be removed from My Favorites.\": \"Impossible de supprimer l'élément de Mes favoris.\",\n  \"The notebook file does not contain any code to convert.\": \"Le fichier de notebook ne contient aucun code à convertir.\",\n  \"The notebook has been successfully converted to a flow and saved into the following folder: {folderName}. You can now open it in SAS Studio.\": \"Le notebook a été converti avec succès en flux et enregistré dans le dossier suivant: {folderName}. Vous pouvez désormais ouvrir le flux dans SAS Studio.\",\n  \"The output file name must end with the .flw extension.\": \"Le nom du fichier de sortie doit se terminer par l'extension .flw.\",\n  \"The {selected} SAS connection profile has been deleted from the settings.json file.\": \"Le profil de connexion SAS {selected} a été supprimé du fichier settings.json.\",\n  \"There was an error executing the SAS Program. See [console log](command:workbench.action.toggleDevTools) for more details.\": \"Erreur lors de l'exécution du Programme SAS. Veuilez consulter le [console log](command:workbench.action.toggleDevTools) pour plus d'informations.\",\n  \"This folder contains unsaved files, are you sure you want to delete?\": \"Ce dossier contient des fichiers non enregistrés. Êtes-vous sûr de vouloir supprimer ?\",\n  \"This platform does not support this connection type.\": \"Cette plateforme ne supporte pas ce type de connexion\",\n  \"To use the SSH Agent or a password, leave blank.\": \"Pour utiliser l'agent SSH ou un mot de passe, laissez vide.\",\n  \"Type\": \"Type\",\n  \"Unable to add file to my folder.\": \"Impossible d'ajouter le fichier à mon dossier.\",\n  \"Unable to create file \\\"{name}\\\".\": \"Impossible de créer le fichier \\\"{name}\\\".\",\n  \"Unable to create folder \\\"{name}\\\".\": \"Impossible de créer le dossier \\\"{name}\\\".\",\n  \"Unable to delete file.\": \"Impossible de supprimer le fichier.\",\n  \"Unable to delete folder.\": \"Impossible de supprimer le dossier.\",\n  \"Unable to delete table {tableName}.\": \"Impossible de supprimer la table {tableName}.\",\n  \"Unable to download files.\": \"Impossible de télécharger les fichiers\",\n  \"Unable to drag files from my favorites.\": \"Impossible de faire glisser les fichiers depuis Mes favoris.\",\n  \"Unable to drag files from trash.\": \"Impossible de faire glisser les fichiers depuis la corbeille.\",\n  \"Unable to drop item \\\"{name}\\\".\": \"Impossible de déposer l'élément \\\"{name}\\\".\",\n  \"Unable to empty the recycle bin.\": \"Impossible de vider la corbeille.\",\n  \"Unable to load required libraries.\": \"Impossible de charger les bibliothèques requises.\",\n  \"Unable to rename \\\"{oldName}\\\" to \\\"{newName}\\\".\": \"Impossible de renommer \\\"{oldName}\\\" en \\\"{newName}\\\".\",\n  \"Unable to restore file.\": \"Impossible de restaurer le fichier.\",\n  \"Unable to restore folder.\": \"Impossible de restaurer le dossier.\",\n  \"Unable to upload files.\": \"Impossible d'importer les fichiers.\",\n  \"Uploading files...\": \"Import des fichiers...\",\n  \"User {username} {prompt}\": \"Utilisateur {username} {prompt}\",\n  \"View SAS Table\": \"Afficher la table SAS\",\n  \"You can also specify connection profile using the settings.json file.\": \"Vous pouvez également spécifier le profil de connexion en utilisant le fichier settings.json.\",\n  \"You must save your file before you can rename it.\": \"Vous devez enregistrer votre fichier avant de pouvoir le renommer.\",\n  \"output\": \"sortie\",\n  \"{basename}_Copy{number}{ext}\": \"{basename}_Copie{number}{ext}\"\n}\n"
  },
  {
    "path": "l10n/bundle.l10n.it.json",
    "content": "{\n  \"#\": \"#\",\n  \"An error was encountered when loading table data. This usually happens when a table is too large or the data couldn't be processed. See console for more details.\": \"Rilevato un errore caricando i dati della tabella. Generalmente succede quando una tabella è troppo grande o i dati non possono essere elaborati. Vedere la console per maggiori dettagli.\",\n  \"Are you sure you want to delete the selected tables?\": \"Eliminare le tabelle selezionate?\",\n  \"Are you sure you want to permanently delete all the items? You cannot undo this action.\": \"Eliminare tutti gli elementi in modo permanente? Questa azione non può essere annullata.\",\n  \"Are you sure you want to permanently delete the item \\\"{name}\\\"?\": \"Eliminare l'elemento \\\"{name}\\\" in modo permanente?\",\n  \"Ascending\": \"Crescente\",\n  \"Ascending (add to sorting)\": \"Crescente (aggiungere all'ordinamento)\",\n  \"Bookmark Length\": \"Lunghezza del segnalibro\",\n  \"Cancelling job...\": \"Annullamento del job...\",\n  \"Cannot call self on ComputeSession with no id\": \"Impossibile chiamare self su ComputeSession senza ID \",\n  \"Cannot call self on object with no id\": \"Impossibile chiamare self su un oggetto senza ID\",\n  \"Cannot connect to SAS Studio service\": \"Impossibile connettersi al servizio di SAS Studio\",\n  \"Cannot find file: {file}\": \"Impossibile trovare il file: {file}\",\n  \"Character\": \"Alfanumerico\",\n  \"Character Encoding\": \"Codifica dei caratteri\",\n  \"Choose output type to save\": \"Scegliere il tipo di output da salvare\",\n  \"Choose where to save your files.\": \"Scegliere il percorso in cui salvare i file.\",\n  \"Clear\": \"Cancella\",\n  \"Client ID\": \"ID client\",\n  \"Client Secret\": \"Client secret\",\n  \"Close Session\": \"Chiudi sessione\",\n  \"Columns\": \"Colonne\",\n  \"Columns ({count})\": \"Colonne ({count})\",\n  \"Compression\": \"Compressione\",\n  \"Compute Context not found: {name}\": \"Contesto di calcolo non trovato: {name}\",\n  \"Connecting to SAS session...\": \"Connessione alla sessione SAS...\",\n  \"Connection Type\": \"Tipo di connessione\",\n  \"Converting SAS notebook to flow...\": \"Conversione di SAS Notebook in un flusso...\",\n  \"Could not connect to the SAS server.\": \"Impossibile connettersi al server SAS.\",\n  \"Created\": \"Data di creazione\",\n  \"Currency\": \"Valuta\",\n  \"Date\": \"Data\",\n  \"Datetime\": \"Data e ora\",\n  \"Delete\": \"Elimina\",\n  \"Descending\": \"Decrescente\",\n  \"Descending (add to sorting)\": \"Decrescente (aggiungere all'ordinamento)\",\n  \"Downloading files...\": \"Download dei file...\",\n  \"Engine\": \"Engine\",\n  \"Enter a client ID\": \"Immetti l'ID client\",\n  \"Enter a client secret\": \"Immetti un client secret\",\n  \"Enter a file name.\": \"Immettere un nome di file.\",\n  \"Enter a folder name.\": \"Immettere un nome di cartella.\",\n  \"Enter a name for the new .flw file\": \"Immetti un nome per il nuovo file .flw\",\n  \"Enter a new name.\": \"Immettere un nuovo nome.\",\n  \"Enter a port number\": \"Immetti un numero della porta\",\n  \"Enter a port number.\": \"Immettere un numero della porta.\",\n  \"Enter connection name\": \"Immetti il nome della connessione\",\n  \"Enter expression\": \"Immettere l'espressione\",\n  \"Enter secret for client ID. An example is myapp.secret.\": \"Immettere il secret per l'ID client. Esempio: miaapp.client\",\n  \"Enter the SAS compute context\": \"Immetti il contesto di calcolo SAS\",\n  \"Enter the SAS compute context.\": \"Immettere il contesto di calcolo SAS.\",\n  \"Enter the URL\": \"Immetti l'URL\",\n  \"Enter the URL for the SAS Viya server. An example is https://example.sas.com.\": \"Immettere l'URL del server SAS Viya. Esempio: https://esempio.sas.com\",\n  \"Enter the local private key file path\": \"Immetti il percorso del file della chiave privata\",\n  \"Enter the name of the SAS 9 server.\": \"Immettere il nome del server SAS 9\",\n  \"Enter the passphrase for the private key\": \"Immetti la passphrase per la chiave privata\",\n  \"Enter the password for user: {username}\": \"Immetti la password per l'utente: {username}\",\n  \"Enter the registered client ID. An example is myapp.client.\": \"Immettere l'ID client registrato. Esempio: miaapp.client\",\n  \"Enter the server name\": \"Immetti il nome del server\",\n  \"Enter the server path\": \"Immetti il percorso del server\",\n  \"Enter the server path of the SAS Executable.\": \"Immettere il percorso del server dell'eseguibile SAS.\",\n  \"Enter your SAS server username.\": \"Immettere il nome utente del server SAS.\",\n  \"Enter your password\": \"Immetti la password\",\n  \"Enter your password for this connection.\": \"Immetti la password per questa connessione\",\n  \"Enter your username\": \"Immetti il nome utente\",\n  \"Error converting the notebook file to .flw format.\": \"Errore di conversione del file del notebook nel formato .flw.\",\n  \"Error getting server with ID {id} - {message}\": \"Errore recuperando il server con ID {id} - {message}\",\n  \"Error getting session with ID {id} - {message}\": \"Errore recuperando la sessione con ID {id} - {message}\",\n  \"Error reading private key file: {filePath}, error: {message}\": \"Errore leggendo il file della chiave privata: {filePath}, errore: {message}\",\n  \"Export as HTML file\": \"Esporta come file HTML\",\n  \"Export as SAS program file\": \"Esporta come file di programma SAS\",\n  \"Extended Type\": \"Tipo esteso\",\n  \"Failed to export notebook: {0}\": \"Impossibile esportare il notebook: {0}\",\n  \"Failed to get state from Session {sessionId}\": \"Impossibile ottenere lo stato dalla sessione {sessionId}\",\n  \"File added to my folder.\": \"File aggiunto alla cartella personale.\",\n  \"Format\": \"Formato\",\n  \"General\": \"Generale\",\n  \"General Information\": \"Informazioni generali\",\n  \"HTML\": \"HTML\",\n  \"Ignore: all\": \"Ignora: tutto\",\n  \"Ignore: current position\": \"Ignora: posizione corrente\",\n  \"Ignore: error\": \"Ignora: errore\",\n  \"Ignore: warning\": \"Ignora: avvertimento\",\n  \"Informat\": \"Formato di input\",\n  \"Invalid connectionType. Check Profile settings.\": \"Tipo di connessione non valido. Controllare le impostazioni del profilo\",\n  \"Invalid file name.\": \"Nome del file non valido.\",\n  \"Job does not have '{linkName}' link\": \"Il job non ha il collegamento '{linkName}\",\n  \"Label\": \"Etichetta\",\n  \"Length\": \"Lunghezza\",\n  \"Library\": \"Libreria\",\n  \"Logical Record Count\": \"Conteggio dei record logici\",\n  \"Method not implemented.\": \"Metodo non implementato\",\n  \"Missing connectionType in active profile.\": \"Tipo di connessione mancante nel profilo attivo \",\n  \"Missing endpoint in active profile.\": \"Endpoint mancante nel profilo attivo.\",\n  \"Missing host in active profile.\": \"Host mancante nel profilo attivo\",\n  \"Missing port in active profile.\": \"Porta mancante nel profilo attivo\",\n  \"Missing sas path in active profile.\": \"Percorso SAS mancante nel profilo attivo\",\n  \"Missing username in active profile.\": \"Nome utente mancante nel profilo attivo\",\n  \"Modified\": \"Data di modifica\",\n  \"Move to Recycle Bin\": \"Sposta nel Cestino\",\n  \"Name\": \"Nome\",\n  \"New File\": \"Nuovo file\",\n  \"New Folder\": \"Nuova cartella\",\n  \"New SAS Connection Profile Name\": \"Nuovo profilo di connessione SAS\",\n  \"No Active Profile\": \"Nessun profilo attivo\",\n  \"No Profile\": \"Nessun profilo\",\n  \"No Profiles available to delete\": \"Profili non disponibili per l'eliminazione\",\n  \"No SAS Connection Profile\": \"Nessun profilo di connessione SAS\",\n  \"No authorization code\": \"Nessun codice di autorizzazione\",\n  \"No data matches the current filters.\": \"Nessun dato corrisponde ai filtri correnti.\",\n  \"Not implemented\": \"Non implementato\",\n  \"Notebook exported to {0}\": \"Notebook esportato in  {0}\",\n  \"Number of Columns\": \"Numero di colonne\",\n  \"Number of Rows\": \"Numero di righe\",\n  \"Numeric\": \"Numerico \",\n  \"Options\": \"Opzioni\",\n  \"Passphrase Required\": \"Passphrase obbligatoria\",\n  \"Password Required\": \"Password obbligatoria\",\n  \"Paste authorization code here\": \"Incolla qui il codice di autorizzazione\",\n  \"Physical Record Count\": \"Conteggio dei record fisici\",\n  \"Port Number\": \"Numero della porta\",\n  \"Private Key File Path (optional)\": \"Percorso del file della chiave privata (facoltativo)\",\n  \"Properties\": \"Proprietà\",\n  \"Python Program\": \"Programma Python\",\n  \"Record Length\": \"Lunghezza del record\",\n  \"Remove all sorting\": \"Rimuovi tutto l'ordinamento\",\n  \"Remove sorting\": \"Rimuovi l'ordinamento\",\n  \"Rename File\": \"Rinomina il file\",\n  \"Rename Folder\": \"Rinomina la cartella\",\n  \"Result\": \"Risultato\",\n  \"Result: {result}\": \"Risultato: {result}\",\n  \"Row number\": \"Numero di riga\",\n  \"SAS 9 Server\": \"Server SAS 9\",\n  \"SAS Code\": \"Codice SAS\",\n  \"SAS Compute Context\": \"Contesto di calcolo SAS\",\n  \"SAS Log\": \"Log SAS\",\n  \"SAS Log: {name}\": \"Log SAS: {name}\",\n  \"SAS Profile\": \"Profilo SAS\",\n  \"SAS Program\": \"Programma SAS\",\n  \"SAS Server Username\": \"Nome utente del server SAS\",\n  \"SAS Viya Server\": \"Server SAS Viya\",\n  \"SAS code running...\": \"Codice SAS in esecuzione...\",\n  \"SQL Program\": \"Programma SQL\",\n  \"Save\": \"Salva\",\n  \"Save Log\": \"Salva il log\",\n  \"Save ODS HTML\": \"Salva ODS HTML\",\n  \"Saved to {0}\": \"Salvato in {0}\",\n  \"Saving {itemName}.\": \"Salvataggio di {itemName}.\",\n  \"Search\": \"Ricerca\",\n  \"Select a Connection Type\": \"Seleziona un tipo di connessione\",\n  \"Select a Connection Type.\": \"Selezionare un tipo di connessione.\",\n  \"Select a SAS connection profile\": \"Seleziona un profilo di connessione SAS\",\n  \"Select export format\": \"Selezionare il formato di esportazione\",\n  \"Server Path\": \"Percorso del server\",\n  \"Server does not have createSession link\": \"Il server non ha il collegamento createSession \",\n  \"Server does not have state link\": \"Il server non ha il collegamento di stato \",\n  \"Session does not have '{linkName}' link\": \"La sessione non ha il collegamento '{linkName}\",\n  \"Show results...\": \"Mostra i risultati...\",\n  \"Size Information\": \"Informazioni sulle dimensioni\",\n  \"Something went wrong\": \"Rilevato un errore\",\n  \"Sort\": \"Ordina\",\n  \"Sorted, Ascending\": \"Ordinato, in sequenza crescente\",\n  \"Sorted, Descending\": \"Ordinato, in sequenza decrescente\",\n  \"Switch Current SAS Profile\": \"Passa al profilo corrente\",\n  \"Table Properties\": \"Proprietà della tabella\",\n  \"Table: {tableName}\": \"Tabella: {tableName}\",\n  \"Task is cancelled.\": \"Il task è annullato.\",\n  \"Task is complete.\": \"Il task è completo.\",\n  \"Technical Information\": \"Informazioni tecniche\",\n  \"The SAS session has closed.\": \"La sessione SAS è stata chiusa.\",\n  \"The file type is unsupported.\": \"Il tipo di file non è supportato.\",\n  \"The files cannot be accessed from the path specified in the context definition for the SAS Compute Server. Contact your SAS administrator.\": \"Impossibile accedere ai file dal percorso specificato nella definizione del contesto per il SAS Compute Server. Contattare l'amministratore SAS.\",\n  \"The files cannot be accessed from the specified path.\": \"Impossibile accedere ai file dal percorso specificato.\",\n  \"The folder name cannot contain more than 100 characters or have invalid characters.\": \"Il nome della cartella non può avere una lunghezza superiore a 100 caratteri o contenere caratteri non validi.\",\n  \"The item could not be added to My Favorites.\": \"Impossibile aggiungere l'elemento ai Preferiti.\",\n  \"The item could not be removed from My Favorites.\": \"Impossibile rimuovere l'elemento dai Preferiti.\",\n  \"The notebook file does not contain any code to convert.\": \"Il file del notebook non contiene codice da convertire.\",\n  \"The notebook has been successfully converted to a flow and saved into the following folder: {folderName}. You can now open it in SAS Studio.\": \"Il notebook è stato convertito correttamente in un flusso e salvato nella seguente cartella: {folderName}. È ora possibile aprirlo in SAS Studio. \",\n  \"The output file name must end with the .flw extension.\": \"Il nome del file di output deve terminare con l'estensione .flw.\",\n  \"The {selected} SAS connection profile has been deleted from the settings.json file.\": \"Il profilo di connessione SAS {selected} è stato eliminato dal file settings.json.\",\n  \"There was an error executing the SAS Program. See [console log](command:workbench.action.toggleDevTools) for more details.\": \"Rilevato un errore eseguendo il programma SAS. Consultare [console log](command:workbench.action.toggleDevTools) per maggiori dettagli.\",\n  \"This folder contains unsaved files, are you sure you want to delete?\": \"Questa cartella contiene file non salvati; eliminarli?\",\n  \"This platform does not support this connection type.\": \"Questa piattaforma non supporta questo tipo di connessione.\",\n  \"To use the SSH Agent or a password, leave blank.\": \"Per usare l'agente SSH o una password, lasciare il campo vuoto.\",\n  \"Type\": \"Tipo\",\n  \"Unable to add file to my folder.\": \"Impossibile aggiungere il file alla cartella personale.\",\n  \"Unable to create file \\\"{name}\\\".\": \"Impossibile creare il file \\\"{name}\\\".\",\n  \"Unable to create folder \\\"{name}\\\".\": \"Impossibile creare la cartella \\\"{name}\\\".\",\n  \"Unable to delete file.\": \"Impossibile eliminare il file.\",\n  \"Unable to delete folder.\": \"Impossibile eliminare la cartella.\",\n  \"Unable to delete table {tableName}.\": \"Impossibile eliminare la tabella {tableName}.\",\n  \"Unable to download files.\": \"Impossibile effettuare il download dei file.\",\n  \"Unable to drag files from my favorites.\": \"Impossibile trascinare i file da Preferiti.\",\n  \"Unable to drag files from trash.\": \"Impossibile trascinare i file dal Cestino.\",\n  \"Unable to drop item \\\"{name}\\\".\": \"Impossibile rilasciare l'elemento \\\"{name}\\\".\",\n  \"Unable to empty the recycle bin.\": \"Impossibile svuotare il Cestino.\",\n  \"Unable to load required libraries.\": \"Impossibile caricare le librerie obbligatorie.\",\n  \"Unable to rename \\\"{oldName}\\\" to \\\"{newName}\\\".\": \"Impossibile rinominare \\\"{oldName}\\\" in \\\"{newName}\\\".\",\n  \"Unable to restore file.\": \"Impossibile ripristinare il file.\",\n  \"Unable to restore folder.\": \"Impossibile ripristinare la cartella.\",\n  \"Unable to upload files.\": \"Impossibile eseguire l'upload dei file.\",\n  \"Uploading files...\": \"Upload dei file...\",\n  \"User {username} {prompt}\": \"Utente {username} {prompt}\",\n  \"View SAS Table\": \"Visualizza la tabella SAS\",\n  \"You can also specify connection profile using the settings.json file.\": \"È possibile specificare il profilo di connessione anche utilizzando il file settings.json.\",\n  \"You must save your file before you can rename it.\": \"Occorre salvare il file prima di poterlo rinominare.\",\n  \"output\": \"output\",\n  \"{basename}_Copy{number}{ext}\": \"{basename}_Copia{number}{ext}\"\n}\n"
  },
  {
    "path": "l10n/bundle.l10n.ja.json",
    "content": "{\n  \"#\": \"#\",\n  \"An error was encountered when loading table data. This usually happens when a table is too large or the data couldn't be processed. See console for more details.\": \"テーブルデータのロード中にエラーが発生しました。これは通常、テーブルが大きすぎるか、データを処理できなかった場合に発生します。詳細については、コンソールを参照してください。\",\n  \"Are you sure you want to delete the selected tables?\": \"選択したテーブルを削除しますか?\",\n  \"Are you sure you want to permanently delete all the items? You cannot undo this action.\": \"すべてのアイテムを完全に削除しますか? このアクションは元に戻せません。\",\n  \"Are you sure you want to permanently delete the item \\\"{name}\\\"?\": \"アイテム \\\"{name}\\\" を完全に削除しますか?\",\n  \"Ascending\": \"昇順\",\n  \"Ascending (add to sorting)\": \"昇順 (並べ替えに追加)\",\n  \"Bookmark Length\": \"ブックマーク長\",\n  \"Cancelling job...\": \"ジョブをキャンセルしています...\",\n  \"Cannot call self on ComputeSession with no id\": \"ID なしで ComputeSession で self を呼び出すことはできません\",\n  \"Cannot call self on object with no id\": \"ID なしでオブジェクトで self を呼び出すことはできません\",\n  \"Cannot connect to SAS Studio service\": \"SAS Studio サービスに接続できません\",\n  \"Cannot find file: {file}\": \"ファイルが見つかりません: {file}\",\n  \"Character\": \"文字\",\n  \"Character Encoding\": \"文字エンコーディング\",\n  \"Choose output type to save\": \"保存する出力の種類を選択\",\n  \"Choose where to save your files.\": \"ファイルを保存する場所を選択します。\",\n  \"Clear\": \"クリア\",\n  \"Client ID\": \"クライアント ID\",\n  \"Client Secret\": \"クライアントシークレット\",\n  \"Close Session\": \"セッションを閉じる\",\n  \"Columns\": \"列\",\n  \"Columns ({count})\": \"列 ({count})\",\n  \"Compression\": \"圧縮\",\n  \"Compute Context not found: {name}\": \"計算コンテキストが見つかりません: {name}\",\n  \"Connecting to SAS session...\": \"SAS Server に接続しています...\",\n  \"Connection Type\": \"接続の種類\",\n  \"Converting SAS notebook to flow...\": \"SAS ノートブックをフローに変換しています...\",\n  \"Could not connect to the SAS server.\": \"SAS サーバーに接続できませんでした。\",\n  \"Created\": \"作成\",\n  \"Currency\": \"通貨\",\n  \"Date\": \"日付\",\n  \"Datetime\": \"日時\",\n  \"Delete\": \"削除\",\n  \"Descending\": \"降順\",\n  \"Descending (add to sorting)\": \"降順 (並べ替えに追加)\",\n  \"Downloading files...\": \"ファイルをダウンロードしています...\",\n  \"Engine\": \"エンジン\",\n  \"Enter a client ID\": \"クライアント ID を入力してください\",\n  \"Enter a client secret\": \"クライアントシークレットを入力してください\",\n  \"Enter a file name.\": \"ファイル名を入力します。\",\n  \"Enter a folder name.\": \"フォルダー名を入力します。\",\n  \"Enter a name for the new .flw file\": \"新しい .flw ファイルの名前を入力します。\",\n  \"Enter a new name.\": \"新しい名前を入力します。\",\n  \"Enter a port number\": \"ポート番号を入力してください\",\n  \"Enter a port number.\": \"ポート番号を入力します。\",\n  \"Enter connection name\": \"接続名を入力してください\",\n  \"Enter expression\": \"式の入力\",\n  \"Enter secret for client ID. An example is myapp.secret.\": \"クライアント ID のシークレットを入力します。例: myapp.secret\",\n  \"Enter the SAS compute context\": \"SAS 計算コンテキストを入力してください\",\n  \"Enter the SAS compute context.\": \"SAS 計算コンテキストを入力します。\",\n  \"Enter the URL\": \"URL を入力してください\",\n  \"Enter the URL for the SAS Viya server. An example is https://example.sas.com.\": \"SAS Viya サーバーの URL を入力します。例: https://example.sas.com\",\n  \"Enter the local private key file path\": \"ローカル秘密キーのファイルパスを入力\",\n  \"Enter the name of the SAS 9 server.\": \"SAS 9 Server の名前を入力します。\",\n  \"Enter the passphrase for the private key\": \"秘密キーファイルのパスフレーズを入力\",\n  \"Enter the password for user: {username}\": \"ユーザーのパスワードを入力: {username}\",\n  \"Enter the registered client ID. An example is myapp.client.\": \"登録されているクライアント ID を入力します。例: myapp.client\",\n  \"Enter the server name\": \"サーバー名を入力してください\",\n  \"Enter the server path\": \"サーバーパスを入力してください\",\n  \"Enter the server path of the SAS Executable.\": \"SAS 実行可能ファイルのサーバーパスを入力します。\",\n  \"Enter your SAS server username.\": \"SAS Server のユーザー名を入力します。\",\n  \"Enter your password\": \"パスワードの入力\",\n  \"Enter your password for this connection.\": \"この接続のパスワードを入力してください。\",\n  \"Enter your username\": \"ユーザー名を入力して下さい\",\n  \"Error converting the notebook file to .flw format.\": \"ノートブックファイルを .flw 形式に変換する際にエラーが発生しました。\",\n  \"Error getting server with ID {id} - {message}\": \"ID {id} のサーバーの取得エラー - {message}\",\n  \"Error getting session with ID {id} - {message}\": \"ID {id} のセッションの取得中にエラーが発生しました - {message}\",\n  \"Error reading private key file: {filePath}, error: {message}\": \"秘密キーファイルの読み取りエラー: {filePath}、エラー: {message}\",\n  \"Export as HTML file\": \"HTML ファイル形式でエクスポート\",\n  \"Export as SAS program file\": \"SAS プログラムファイル形式でエクスポート\",\n  \"Extended Type\": \"拡張タイプ\",\n  \"Failed to export notebook: {0}\": \"ノートブックのエクスポートに失敗しました: {0}\",\n  \"Failed to get state from Session {sessionId}\": \"セッション {sessionId} から状態を取得できませんでした\",\n  \"File added to my folder.\": \"ファイルがマイフォルダーに追加されました。\",\n  \"Format\": \"出力形式\",\n  \"General\": \"一般\",\n  \"General Information\": \"一般情報\",\n  \"HTML\": \"HTML\",\n  \"Ignore: all\": \"Ignore: すべて\",\n  \"Ignore: current position\": \"Ignore: 現在の位置\",\n  \"Ignore: error\": \"Ignore: エラー\",\n  \"Ignore: warning\": \"Ignore: 警告\",\n  \"Informat\": \"入力形式\",\n  \"Invalid connectionType. Check Profile settings.\": \"無効な接続タイプです。プロファイル設定を確認してください。\",\n  \"Invalid file name.\": \"無効なファイル名です。\",\n  \"Job does not have '{linkName}' link\": \"ジョブには '{linkName}' リンクがありません\",\n  \"Label\": \"ラベル\",\n  \"Length\": \"長さ\",\n  \"Library\": \"ライブラリ\",\n  \"Logical Record Count\": \"論理レコード数\",\n  \"Method not implemented.\": \"メソッドは実装されていません。\",\n  \"Missing connectionType in active profile.\": \"アクティブなプロファイルに connectionType がありません。\",\n  \"Missing endpoint in active profile.\": \"アクティブなプロファイルに endpoint がありません。\",\n  \"Missing host in active profile.\": \"アクティブなプロファイルに host がありません。\",\n  \"Missing port in active profile.\": \"アクティブなプロファイルに port がありません。\",\n  \"Missing sas path in active profile.\": \"アクティブなプロファイルに sas path がありません。\",\n  \"Missing username in active profile.\": \"アクティブなプロファイルに username がありません。\",\n  \"Modified\": \"変更\",\n  \"Move to Recycle Bin\": \"ごみ箱に移動\",\n  \"Name\": \"名前\",\n  \"New File\": \"ファイルの新規作成\",\n  \"New Folder\": \"フォルダーの新規作成\",\n  \"New SAS Connection Profile Name\": \"新しい SAS 接続プロファイル名\",\n  \"No Active Profile\": \"アクティブなプロファイルがありません\",\n  \"No Profile\": \"プロファイルがありません\",\n  \"No Profiles available to delete\": \"削除するプロファイルがありません\",\n  \"No SAS Connection Profile\": \"SAS 接続プロファイルがありません\",\n  \"No authorization code\": \"認証コードがありません\",\n  \"No data matches the current filters.\": \"現在のフィルターに一致するデータはありません。\",\n  \"Not implemented\": \"実装されていません\",\n  \"Notebook exported to {0}\": \"ノートブックが {0} にエクスポートされました\",\n  \"Number of Columns\": \"列数\",\n  \"Number of Rows\": \"行数\",\n  \"Numeric\": \"数値\",\n  \"Options\": \"オプション\",\n  \"Passphrase Required\": \"パスフレーズが必要です\",\n  \"Password Required\": \"パスワードが必要です\",\n  \"Paste authorization code here\": \"ここに認証コードを貼り付けます\",\n  \"Physical Record Count\": \"物理レコード数\",\n  \"Port Number\": \"ポート番号\",\n  \"Private Key File Path (optional)\": \"秘密キーファイルパス(オプション)\",\n  \"Properties\": \"プロパティ\",\n  \"Python Program\": \"Pythonプログラム\",\n  \"Record Length\": \"レコード長\",\n  \"Remove all sorting\": \"並べ替えをすべて削除\",\n  \"Remove sorting\": \"並べ替えを削除\",\n  \"Rename File\": \"ファイル名の変更\",\n  \"Rename Folder\": \"フォルダー名の変更\",\n  \"Result\": \"結果\",\n  \"Result: {result}\": \"結果: {result}\",\n  \"Row number\": \"行番号\",\n  \"SAS 9 Server\": \"SAS 9 Server\",\n  \"SAS Code\": \"SAS コード\",\n  \"SAS Compute Context\": \"SAS 計算コンテキスト\",\n  \"SAS Log\": \"SAS ログ\",\n  \"SAS Log: {name}\": \"SAS ログ: {name}\",\n  \"SAS Profile\": \"SAS プロファイル\",\n  \"SAS Program\": \"SAS プログラム\",\n  \"SAS Server Username\": \"SAS Server ユーザー名\",\n  \"SAS Viya Server\": \"SAS Viya Server\",\n  \"SAS code running...\": \"SAS コードを実行しています...\",\n  \"SQL Program\": \"SQL プログラム\",\n  \"Save\": \"保存\",\n  \"Save Log\": \"ログの保存\",\n  \"Save ODS HTML\": \"ODS HTML の保存\",\n  \"Saved to {0}\": \"{0} に保存\",\n  \"Saving {itemName}.\": \"{itemName} を保存しています...\",\n  \"Search\": \"検索\",\n  \"Select a Connection Type\": \"接続の種類を選択してください\",\n  \"Select a Connection Type.\": \"接続の種類を選択します\",\n  \"Select a SAS connection profile\": \"SAS 接続プロファイルを選択する\",\n  \"Select export format\": \"エクスポート形式の選択\",\n  \"Server Path\": \"サーバーパス\",\n  \"Server does not have createSession link\": \"サーバーには createSession リンクがありません\",\n  \"Server does not have state link\": \"サーバーには状態リンクがありません\",\n  \"Session does not have '{linkName}' link\": \"セッションには '{linkName}' リンクがありません\",\n  \"Show results...\": \"結果を表示...\",\n  \"Size Information\": \"サイズ情報\",\n  \"Something went wrong\": \"問題が発生しました\",\n  \"Sort\": \"並べ替え\",\n  \"Sorted, Ascending\": \"並べ替え (昇順)\",\n  \"Sorted, Descending\": \"並べ替え (降順)\",\n  \"Switch Current SAS Profile\": \"現在の SAS プロファイルを切り替える\",\n  \"Table Properties\": \"テーブルプロパティ\",\n  \"Table: {tableName}\": \"テーブル: {tableName}\",\n  \"Task is cancelled.\": \"タスクがキャンセルされました。\",\n  \"Task is complete.\": \"タスクは完了しました。\",\n  \"Technical Information\": \"技術情報\",\n  \"The SAS session has closed.\": \"SAS セッションが終了しました。\",\n  \"The file type is unsupported.\": \"ファイルの種類はサポートされていません。\",\n  \"The files cannot be accessed from the path specified in the context definition for the SAS Compute Server. Contact your SAS administrator.\": \"SAS Compute Server のコンテキスト定義で指定されたパスからファイルにアクセスできません。SAS 管理者に問い合わせてください。\",\n  \"The files cannot be accessed from the specified path.\": \"指定されたパスからファイルにアクセスできません。\",\n  \"The folder name cannot contain more than 100 characters or have invalid characters.\": \"フォルダー名には 100 文字を超える文字や無効な文字を含めることはできません。\",\n  \"The item could not be added to My Favorites.\": \"アイテムをお気に入りに追加できませんでした。\",\n  \"The item could not be removed from My Favorites.\": \"アイテムをお気に入りから削除できませんでした。\",\n  \"The notebook file does not contain any code to convert.\": \"ノートブックファイルには、変換するコードが含まれていません。\",\n  \"The notebook has been successfully converted to a flow and saved into the following folder: {folderName}. You can now open it in SAS Studio.\": \"ノートブックは正常にフローに変換され、フォルダー: {folderName} に保存されました。SAS Studioで開くことができます。\",\n  \"The output file name must end with the .flw extension.\": \"出力ファイル名は .flw 拡張子で終わる必要があります。\",\n  \"The {selected} SAS connection profile has been deleted from the settings.json file.\": \"{selected} SAS 接続プロファイルが settings.json ファイルから削除されました。\",\n  \"There was an error executing the SAS Program. See [console log](command:workbench.action.toggleDevTools) for more details.\": \"SAS プログラムの実行中にエラーが発生しました。詳細については、[コンソールログ](command:workbench.action.toggleDevTools) を参照してください。\",\n  \"This folder contains unsaved files, are you sure you want to delete?\": \"このフォルダーには未保存のファイルが含まれています。削除しますか?\",\n  \"This platform does not support this connection type.\": \"このプラットフォームはこの接続タイプをサポートしていません。\",\n  \"To use the SSH Agent or a password, leave blank.\": \"SSH エージェントまたはパスワードを使用する場合は、空白のままにします。\",\n  \"Type\": \"タイプ\",\n  \"Unable to add file to my folder.\": \"ファイルをマイフォルダーに追加できません。\",\n  \"Unable to create file \\\"{name}\\\".\": \"ファイル \\\"{name}\\\" を作成できません。\",\n  \"Unable to create folder \\\"{name}\\\".\": \"フォルダー \\\"{name}\\\" を作成できません。\",\n  \"Unable to delete file.\": \"ファイルを削除できません。\",\n  \"Unable to delete folder.\": \"フォルダーを削除できません。\",\n  \"Unable to delete table {tableName}.\": \"テーブル {tableName} を削除できません。\",\n  \"Unable to download files.\": \"ファイルをダウンロードできません。\",\n  \"Unable to drag files from my favorites.\": \"お気に入りからファイルをドラッグできません。\",\n  \"Unable to drag files from trash.\": \"ゴミ箱からファイルをドラッグできません。\",\n  \"Unable to drop item \\\"{name}\\\".\": \"アイテム \\\"{name}\\\" をドロップできません。\",\n  \"Unable to empty the recycle bin.\": \"ごみ箱を空にできません。\",\n  \"Unable to load required libraries.\": \"必要なライブラリをロードできません。\",\n  \"Unable to rename \\\"{oldName}\\\" to \\\"{newName}\\\".\": \"\\\"{oldName}\\\" の名前を \\\"{newName}\\\" に変更できません。\",\n  \"Unable to restore file.\": \"ファイルを復元できません。\",\n  \"Unable to restore folder.\": \"フォルダーを復元できません。\",\n  \"Unable to upload files.\": \"ファイルをアップロードできません。\",\n  \"Uploading files...\": \"ファイルをアップロードしています...\",\n  \"User {username} {prompt}\": \"ユーザー {username} {prompt}\",\n  \"View SAS Table\": \"SAS テーブルの表示\",\n  \"You can also specify connection profile using the settings.json file.\": \"settings.json ファイルを使用して接続プロファイルを指定することもできます。\",\n  \"You must save your file before you can rename it.\": \"ファイル名を変更する前に、ファイルを保存する必要があります。\",\n  \"output\": \"出力\",\n  \"{basename}_Copy{number}{ext}\": \"{basename}_Copy{number}{ext}\"\n}\n"
  },
  {
    "path": "l10n/bundle.l10n.ko.json",
    "content": "{\n  \"#\": \"#\",\n  \"An error was encountered when loading table data. This usually happens when a table is too large or the data couldn't be processed. See console for more details.\": \"테이블 데이터를 로드하는 중에 오류가 발생했습니다. 이는 일반적으로 테이블이 너무 크거나 데이터를 처리할 수 없는 경우에 발생합니다. 자세한 내용은 콘솔을 참조하세요.\",\n  \"Are you sure you want to delete the selected tables?\": \"선택한 테이블을 삭제하시겠습니까?\",\n  \"Are you sure you want to permanently delete all the items? You cannot undo this action.\": \"모든 항목을 영구적으로 삭제하시겠습니까? 이 작업은 취소할 수 없습니다.\",\n  \"Are you sure you want to permanently delete the item \\\"{name}\\\"?\": \"항목 \\\"{name}\\\"을(를) 영구적으로 삭제하시겠습니까?\",\n  \"Ascending\": \"오름차순\",\n  \"Ascending (add to sorting)\": \"오름차순(정렬에 추가)\",\n  \"Bookmark Length\": \"북마크 길이\",\n  \"Cancelling job...\": \"작업 취소 중...\",\n  \"Cannot call self on ComputeSession with no id\": \"id가 없는 ComputeSession에서 self를 호출할 수 없습니다\",\n  \"Cannot call self on object with no id\": \"id가 없는 개체에서 self를 호출할 수 없습니다\",\n  \"Cannot connect to SAS Studio service\": \"SAS Studio 서비스에 연결할 수 없습니다\",\n  \"Cannot find file: {file}\": \"파일을 찾을 수 없습니다: {file}\",\n  \"Character\": \"문자\",\n  \"Character Encoding\": \"문자 인코딩\",\n  \"Choose output type to save\": \"저장할 출력 유형 선택\",\n  \"Choose where to save your files.\": \"파일을 저장할 위치 선택.\",\n  \"Clear\": \"지우기\",\n  \"Client ID\": \"클라이언트 ID\",\n  \"Client Secret\": \"클라이언트 비밀번호\",\n  \"Close Session\": \"세션 닫기\",\n  \"Columns\": \"칼럼\",\n  \"Columns ({count})\": \"칼럼 ({count})\",\n  \"Compression\": \"압축\",\n  \"Compute Context not found: {name}\": \"컴퓨팅 컨텍스트를 찾을 수 없음: {name}\",\n  \"Connecting to SAS session...\": \"SAS 세션에 연결 중...\",\n  \"Connection Type\": \"연결 유형\",\n  \"Converting SAS notebook to flow...\": \"SAS 노트북을 플로우로 변환하는 중...\",\n  \"Could not connect to the SAS server.\": \"SAS 서버에 연결할 수 없습니다.\",\n  \"Created\": \"생성일\",\n  \"Currency\": \"통화\",\n  \"Date\": \"날짜\",\n  \"Datetime\": \"날짜시간\",\n  \"Delete\": \"삭제\",\n  \"Descending\": \"내림차순\",\n  \"Descending (add to sorting)\": \"내림차순(정렬에 추가)\",\n  \"Downloading files...\": \"파일 다운로드 중...\",\n  \"Engine\": \"엔진\",\n  \"Enter a client ID\": \"클라이언트 ID를 입력하세요\",\n  \"Enter a client secret\": \"클라이언트 비밀번호를 입력하세요\",\n  \"Enter a file name.\": \"파일 이름을 입력하세요.\",\n  \"Enter a folder name.\": \"폴더 이름을 입력하세요.\",\n  \"Enter a name for the new .flw file\": \"새 .flw 파일의 이름을 입력하세요\",\n  \"Enter a new name.\": \"새 이름을 입력하세요.\",\n  \"Enter a port number\": \"포트 번호를 입력하세요\",\n  \"Enter a port number.\": \"포트 번호를 입력하세요.\",\n  \"Enter connection name\": \"연결 이름을 입력하세요\",\n  \"Enter expression\": \"표현식 입력\",\n  \"Enter secret for client ID. An example is myapp.secret.\": \"클라이언트 ID의 비밀번호를 입력하세요. 예시: myapp.secret.\",\n  \"Enter the SAS compute context\": \"SAS 컴퓨팅 컨텍스트를 입력하세요\",\n  \"Enter the SAS compute context.\": \"SAS 컴퓨팅 컨텍스트를 입력하세요.\",\n  \"Enter the URL\": \"URL을 입력하세요\",\n  \"Enter the URL for the SAS Viya server. An example is https://example.sas.com.\": \"SAS Viya 서버의 URL을 입력하세요. 예시: https://example.sas.com\",\n  \"Enter the local private key file path\": \"로컬 개인 키 파일 경로를 입력하십시오.\",\n  \"Enter the name of the SAS 9 server.\": \"SAS 9 서버의 이름을 입력하십시오.\",\n  \"Enter the passphrase for the private key\": \"개인 키의 패스프레이즈를 입력하십시오.\",\n  \"Enter the password for user: {username}\": \"사용자 {username}의 비밀번호를 입력하십시오.\",\n  \"Enter the registered client ID. An example is myapp.client.\": \"등록된 클라이언트 ID를 입력하세요. 예시: myapp.client.\",\n  \"Enter the server name\": \"서버 이름을 입력하세요\",\n  \"Enter the server path\": \"서버 경로를 입력하세요\",\n  \"Enter the server path of the SAS Executable.\": \"SAS 실행 파일의 서버 경로를 입력하세요.\",\n  \"Enter your SAS server username.\": \"SAS 서버 사용자 이름을 입력하세요.\",\n  \"Enter your password\": \"비밀번호를 입력하세요\",\n  \"Enter your password for this connection.\": \"이 연결에 대한 비밀번호를 입력하세요.\",\n  \"Enter your username\": \"사용자 이름을 입력하세요\",\n  \"Error converting the notebook file to .flw format.\": \"노트북 파일을 .flw 형식으로 변환하는 중 오류가 발생했습니다.\",\n  \"Error getting server with ID {id} - {message}\": \"ID {id} - {message} 서버를 가져오는 중 오류 발생\",\n  \"Error getting session with ID {id} - {message}\": \"ID {id} - {message} 세션을 가져오는 중 오류 발생\",\n  \"Error reading private key file: {filePath}, error: {message}\": \"개인 키 파일 읽기 오류: {filePath}, 오류: {message}\",\n  \"Export as HTML file\": \"HTML 파일로 내보내기\",\n  \"Export as SAS program file\": \"SAS 프로그램 파일로 내보내기\",\n  \"Extended Type\": \"확장된 유형\",\n  \"Failed to export notebook: {0}\": \"노트북으로 내보내지 못함: {0}\",\n  \"Failed to get state from Session {sessionId}\": \"{sessionId} 세션에서 상태를 가져오지 못했습니다\",\n  \"File added to my folder.\": \"파일이 내 폴더에 추가되었습니다.\",\n  \"Format\": \"출력형식\",\n  \"General\": \"일반\",\n  \"General Information\": \"일반 속성\",\n  \"HTML\": \"HTML\",\n  \"Ignore: all\": \"무시: 전체\",\n  \"Ignore: current position\": \"무시: 현재 위치\",\n  \"Ignore: error\": \"무시: 오류\",\n  \"Ignore: warning\": \"무시: 경고\",\n  \"Informat\": \"입력형식\",\n  \"Invalid connectionType. Check Profile settings.\": \"유효하지 않은 연결 유형입니다. 프로필 설정을 확인하세요.\",\n  \"Invalid file name.\": \"유효하지 않은 파일 이름입니다.\",\n  \"Job does not have '{linkName}' link\": \"작업에 '{linkName}' 링크가 없습니다\",\n  \"Label\": \"레이블\",\n  \"Length\": \"길이\",\n  \"Library\": \"라이브러리\",\n  \"Logical Record Count\": \"논리적 레코드 수\",\n  \"Method not implemented.\": \"메서드가 구현되지 않았습니다.\",\n  \"Missing connectionType in active profile.\": \"활성 프로필에 연결 유형이 누락되었습니다.\",\n  \"Missing endpoint in active profile.\": \"활성 프로필에 엔드포인트가 누락되었습니다.\",\n  \"Missing host in active profile.\": \"활성 프로필에 호스트가 누락되었습니다.\",\n  \"Missing port in active profile.\": \"활성 프로필에 포트가 누락되었습니다.\",\n  \"Missing sas path in active profile.\": \"활성 프로필에 SAS 경로가 누락되었습니다.\",\n  \"Missing username in active profile.\": \"활성 프로필에 사용자 이름이 누락되었습니다.\",\n  \"Modified\": \"수정일\",\n  \"Move to Recycle Bin\": \"휴지통으로 이동\",\n  \"Name\": \"이름\",\n  \"New File\": \"새 파일\",\n  \"New Folder\": \"새 폴더\",\n  \"New SAS Connection Profile Name\": \"새 SAS 연결 프로필 이름\",\n  \"No Active Profile\": \"활성 프로필 없음\",\n  \"No Profile\": \"프로필 없음\",\n  \"No Profiles available to delete\": \"삭제할 수 있는 프로필이 없습니다\",\n  \"No SAS Connection Profile\": \"SAS 연결 프로필 없음\",\n  \"No authorization code\": \"인증 코드 없음\",\n  \"No data matches the current filters.\": \"현재 필터와 일치하는 데이터가 없습니다.\",\n  \"Not implemented\": \"구현되지 않음\",\n  \"Notebook exported to {0}\": \"{0}(으)로 내보낸 노트북\",\n  \"Number of Columns\": \"칼럼 수\",\n  \"Number of Rows\": \"행 수\",\n  \"Numeric\": \"숫자\",\n  \"Options\": \"옵션\",\n  \"Passphrase Required\": \"패스프레이즈 필요\",\n  \"Password Required\": \"비밀번호 필요\",\n  \"Paste authorization code here\": \"여기에 인증 코드 붙여넣기\",\n  \"Physical Record Count\": \"물리적 레코드 수\",\n  \"Port Number\": \"포트 번호\",\n  \"Private Key File Path (optional)\": \"개인 키 파일 경로 (선택 사항)\",\n  \"Properties\": \"속성\",\n  \"Python Program\": \"Python 프로그램\",\n  \"Record Length\": \"레코드 길이\",\n  \"Remove all sorting\": \"모든 장렬 제거\",\n  \"Remove sorting\": \"정렬 제거\",\n  \"Rename File\": \"파일 이름 변경\",\n  \"Rename Folder\": \"폴더 이름 변경\",\n  \"Result\": \"결과\",\n  \"Result: {result}\": \"결과: {result}\",\n  \"Row number\": \"행 번호\",\n  \"SAS 9 Server\": \"SAS 9 서버\",\n  \"SAS Code\": \"SAS 코드\",\n  \"SAS Compute Context\": \"SAS 컴퓨팅 컨텍스트\",\n  \"SAS Log\": \"SAS 로그\",\n  \"SAS Log: {name}\": \"SAS 로그: {name}\",\n  \"SAS Profile\": \"SAS 프로필\",\n  \"SAS Program\": \"SAS 프로그램\",\n  \"SAS Server Username\": \"SAS 서버 사용자 이름\",\n  \"SAS Viya Server\": \"SAS Viya 서버\",\n  \"SAS code running...\": \"SAS 코드 실행 중...\",\n  \"SQL Program\": \"SQL 프로그램\",\n  \"Save\": \"저장\",\n  \"Save Log\": \"로그 저장\",\n  \"Save ODS HTML\": \"ODS HTML 저장\",\n  \"Saved to {0}\": \"{0}에 저장\",\n  \"Saving {itemName}.\": \"{itemName} 저장 중...\",\n  \"Search\": \"검색\",\n  \"Select a Connection Type\": \"연결 유형 선택\",\n  \"Select a Connection Type.\": \"연결 유형을 선택하십시오.\",\n  \"Select a SAS connection profile\": \"SAS 연결 프로필 선택\",\n  \"Select export format\": \"내보내기 출력형시 선택\",\n  \"Server Path\": \"서버 경로\",\n  \"Server does not have createSession link\": \"서버에 createSession 링크가 없습니다\",\n  \"Server does not have state link\": \"서버에 상태 링크가 없습니다\",\n  \"Session does not have '{linkName}' link\": \"세션에 '{linkName}' 링크가 없습니다\",\n  \"Show results...\": \"결과 표시 중...\",\n  \"Size Information\": \"크기 정보\",\n  \"Something went wrong\": \"문제가 발생했습니다\",\n  \"Sort\": \"정렬\",\n  \"Sorted, Ascending\": \"정렬됨, 오름차순\",\n  \"Sorted, Descending\": \"정렬됨, 내림차순\",\n  \"Switch Current SAS Profile\": \"현재 SAS 프로필 전환\",\n  \"Table Properties\": \"테이블 속성\",\n  \"Table: {tableName}\": \"테이블: {tableName}\",\n  \"Task is cancelled.\": \"작업이 취소되었습니다.\",\n  \"Task is complete.\": \"작업이 완료되었습니다.\",\n  \"Technical Information\": \"기술 정보\",\n  \"The SAS session has closed.\": \"SAS 세션이 종료되었습니다.\",\n  \"The file type is unsupported.\": \"지원되지 않는 파일 형식입니다.\",\n  \"The files cannot be accessed from the path specified in the context definition for the SAS Compute Server. Contact your SAS administrator.\": \"SAS Compute Server에 대한 컨텍스트 정의에 지정된 경로에서 파일에 액세스할 수 없습니다. SAS 관리자에게 문의하십시오.\",\n  \"The files cannot be accessed from the specified path.\": \"지정된 경로에서 파일에 액세스할 수 없습니다.\",\n  \"The folder name cannot contain more than 100 characters or have invalid characters.\": \"폴더 이름은 100자를 초과하거나 잘못된 문자를 포함할 수 없습니다.\",\n  \"The item could not be added to My Favorites.\": \"항목을 즐겨찾기에 추가할 수 없습니다.\",\n  \"The item could not be removed from My Favorites.\": \"항목을 즐겨찾기에서 제거할 수 없습니다.\",\n  \"The notebook file does not contain any code to convert.\": \"노트북 파일에 변환할 코드가 포함되어 있지 않습니다.\",\n  \"The notebook has been successfully converted to a flow and saved into the following folder: {folderName}. You can now open it in SAS Studio.\": \"노트북이 성공적으로 플로우로 변환되어 다음 폴더에 저장되었습니다: {folderName}. 이제 SAS Studio에서 열 수 있습니다.\",\n  \"The output file name must end with the .flw extension.\": \"출력 파일 이름은 .flw 확장자로 끝나야 합니다.\",\n  \"The {selected} SAS connection profile has been deleted from the settings.json file.\": \"{selected} SAS 연결 프로필이 settings.json 파일에서 삭제되었습니다.\",\n  \"There was an error executing the SAS Program. See [console log](command:workbench.action.toggleDevTools) for more details.\": \"SAS 프로그램을 실행하는 동안 오류가 발생했습니다. 자세한 내용은 [콘솔 로그](command:workbench.action.toggleDevTools)를 참조하십시오.\",\n  \"This folder contains unsaved files, are you sure you want to delete?\": \"이 폴더에 저장되지 않은 파일이 있습니다. 삭제하시겠습니까?\",\n  \"This platform does not support this connection type.\": \"이 플랫폼은 이 연결 유형을 지원하지 않습니다.\",\n  \"To use the SSH Agent or a password, leave blank.\": \"SSH 에이전트나 비밀번호를 사용하려면 비워 두십시오.\",\n  \"Type\": \"유형\",\n  \"Unable to add file to my folder.\": \"파일을 내 폴더에 추가할 수 없습니다.\",\n  \"Unable to create file \\\"{name}\\\".\": \"\\\"{name}\\\" 파일을 생성할 수 없습니다.\",\n  \"Unable to create folder \\\"{name}\\\".\": \"\\\"{name}\\\" 폴더를 생성할 수 없습니다.\",\n  \"Unable to delete file.\": \"파일을 삭제할 수 없습니다.\",\n  \"Unable to delete folder.\": \"폴더를 삭제할 수 없습니다.\",\n  \"Unable to delete table {tableName}.\": \"{tableName} 테이블을 삭제할 수 없습니다.\",\n  \"Unable to download files.\": \"파일을 다운로드할 수 없습니다.\",\n  \"Unable to drag files from my favorites.\": \"즐겨찾기에서 파일을 드래그할 수 없습니다.\",\n  \"Unable to drag files from trash.\": \"휴지통에서 파일을 드래그할 수 없습니다.\",\n  \"Unable to drop item \\\"{name}\\\".\": \"\\\"{name}\\\" 항목을 놓을 수 없습니다.\",\n  \"Unable to empty the recycle bin.\": \"휴지통을 비울 수 없습니다\",\n  \"Unable to load required libraries.\": \"필요한 라이브러리를 로드할 수 없습니다.\",\n  \"Unable to rename \\\"{oldName}\\\" to \\\"{newName}\\\".\": \"\\\"{oldName}\\\"을(를) \\\"{newName}\\\" 이름으로 바꿀 수 없습니다.\",\n  \"Unable to restore file.\": \"파일을 복원할 수 없습니다.\",\n  \"Unable to restore folder.\": \"폴더를 복원할 수 없습니다.\",\n  \"Unable to upload files.\": \"파일을 업로드할 수 없습니다.\",\n  \"Uploading files...\": \"파일 업로드 중...\",\n  \"User {username} {prompt}\": \"사용자 {username} {prompt}\",\n  \"View SAS Table\": \"SAS 테이블 보기\",\n  \"You can also specify connection profile using the settings.json file.\": \"settings.json 파일을 사용하여 연결 프로필을 지정할 수도 있습니다.\",\n  \"You must save your file before you can rename it.\": \"파일 이름을 바꾸기 전에 파일을 저장해야 합니다.\",\n  \"output\": \"출력\",\n  \"{basename}_Copy{number}{ext}\": \"{basename}_Copy{number}{ext}\"\n}\n"
  },
  {
    "path": "l10n/bundle.l10n.pl.json",
    "content": "{\n  \"#\": \"#\",\n  \"An error was encountered when loading table data. This usually happens when a table is too large or the data couldn't be processed. See console for more details.\": \"Podczas ładowania tabeli danych wystąpił błąd. Zdarza się to zwykle gdy tabela jest zbyt duża lub gdy nie można przetworzyć danych. Szczegółowe informacje znajdziesz w konsoli\",\n  \"Are you sure you want to delete the selected tables?\": \"Czy na pewno chcesz usunąć wybrane tabele?\",\n  \"Are you sure you want to permanently delete all the items? You cannot undo this action.\": \"Czy na pewno chcesz trwale usunąć te wszystkie elementy? Jest to działanie nieodwracalne.\",\n  \"Are you sure you want to permanently delete the item \\\"{name}\\\"?\": \"Czy na pewno chcesz trwale usunąć element o nazwie \\\"{name}\\\"?\",\n  \"Ascending\": \"Rosnąco\",\n  \"Ascending (add to sorting)\": \"Rosnąco (dodaj do sortowania)\",\n  \"Bookmark Length\": \"Długość zakładki\",\n  \"Cancelling job...\": \"Anulowanie procesu...\",\n  \"Cannot call self on ComputeSession with no id\": \"Nie można się wywołać na sesji obliczeniowej bez identyfikatora\",\n  \"Cannot call self on object with no id\": \"Nie można się wywołać na obiekcie bez identyfikatora\",\n  \"Cannot connect to SAS Studio service\": \"Nie można połączyć się z usługą SAS Studio\",\n  \"Cannot find file: {file}\": \"Nie znaleziono pliku\",\n  \"Character\": \"Znakowe\",\n  \"Character Encoding\": \"Kodowanie znaków\",\n  \"Choose output type to save\": \"Wybierz typ zapisywanych wyników\",\n  \"Choose where to save your files.\": \"Wybierz gdzie chcesz zapisać pliki.\",\n  \"Clear\": \"Wyczyść\",\n  \"Client ID\": \"Identyfikator klienta\",\n  \"Client Secret\": \"Klucz tajny klienta\",\n  \"Close Session\": \"Zamknij sesję\",\n  \"Columns\": \"Kolumny\",\n  \"Columns ({count})\": \"Kolumny ({count})\",\n  \"Compression\": \"Kompresja\",\n  \"Compute Context not found: {name}\": \"Nie znaleziono kontekstu obliczeniowego: {name}\",\n  \"Connecting to SAS session...\": \"Łączenie z sesją SAS-a…\",\n  \"Connection Type\": \"Typ połączenia\",\n  \"Converting SAS notebook to flow...\": \"Konwersja notatnika SAS-owego na przepływ...\",\n  \"Could not connect to the SAS server.\": \"Nie można połączyć się z serwerem SAS-a\",\n  \"Created\": \"Utworzono\",\n  \"Currency\": \"Waluta\",\n  \"Date\": \"Data\",\n  \"Datetime\": \"Data-czas\",\n  \"Delete\": \"Usuń\",\n  \"Descending\": \"Malejąco\",\n  \"Descending (add to sorting)\": \"Malejąco (dodaj do sortowania)\",\n  \"Downloading files...\": \"Pobieranie plików...\",\n  \"Engine\": \"Mechanizm\",\n  \"Enter a client ID\": \"Wprowadź identyfikator klienta\",\n  \"Enter a client secret\": \"Wprowadź klucz tajny klienta\",\n  \"Enter a file name.\": \"Wprowadź nazwę pliku.\",\n  \"Enter a folder name.\": \"Wprowadź nazwę folderu.\",\n  \"Enter a name for the new .flw file\": \"Wprowadź nazwę nowego pliku .flw\",\n  \"Enter a new name.\": \"Wprowadź nową nazwę.\",\n  \"Enter a port number\": \"Wprowadź numer portu\",\n  \"Enter a port number.\": \"Wprowadź numer portu.\",\n  \"Enter connection name\": \"Wprowadź nazwę połączenia\",\n  \"Enter expression\": \"Wpisz wyrażenie\",\n  \"Enter secret for client ID. An example is myapp.secret.\": \"Wprowadź klucz tajny klienta. Przykład to myapp.secret.\",\n  \"Enter the SAS compute context\": \"Wprowadź kontekst obliczeniowy SAS-a\",\n  \"Enter the SAS compute context.\": \"Wprowadź kontekst obliczeniowy SAS-a\",\n  \"Enter the URL\": \"Wprowadź adres URL\",\n  \"Enter the URL for the SAS Viya server. An example is https://example.sas.com.\": \"Wprowadź adres URL dla serwera SAS Viya\",\n  \"Enter the local private key file path\": \"Wprowadź ścieżkę do pliku lokalnego klucza prywatnego\",\n  \"Enter the name of the SAS 9 server.\": \"Wprowadź nazwę serwera SAS-a 9.\",\n  \"Enter the passphrase for the private key\": \"Wpisz kod dla klucza prywatnego\",\n  \"Enter the password for user: {username}\": \"Wprowadź hasło użytkownika: {username}\",\n  \"Enter the registered client ID. An example is myapp.client.\": \"Wprowadź zarejestrowany identyfikator klienta. Przykład to myapp.client\",\n  \"Enter the server name\": \"Wprowadź nazwę serwera\",\n  \"Enter the server path\": \"Wprowadź ścieżkę do serwera\",\n  \"Enter the server path of the SAS Executable.\": \"Wprowadź ścieżkę do serwera dla SAS Executable.\",\n  \"Enter your SAS server username.\": \"Wprowadź swoją nazwę użytkownika serwera SAS-a.\",\n  \"Enter your password\": \"Wprowadź hasło\",\n  \"Enter your password for this connection.\": \"Wprowadź hasło dla tego połączenia\",\n  \"Enter your username\": \"Wprowadź swoją nazwę użytkownika\",\n  \"Error converting the notebook file to .flw format.\": \"Błąd konwersji pliku notatnika do formatu .flw.\",\n  \"Error getting server with ID {id} - {message}\": \"Błąd pobierania serwera o identyfikatorze {id} - {message}\",\n  \"Error getting session with ID {id} - {message}\": \"Błąd pobierania sesji o identyfikatorze {id} - {message}\",\n  \"Error reading private key file: {filePath}, error: {message}\": \"Error reading private key file: {filePath}, error: {message}\",\n  \"Export as HTML file\": \"Eksportuj jako  plik HTML\",\n  \"Export as SAS program file\": \"Eksportuj jako plik programu SAS-owego\",\n  \"Extended Type\": \"Typ rozszerzony\",\n  \"Failed to export notebook: {0}\": \"Nie wyeksortowano notatnika: {0}\",\n  \"Failed to get state from Session {sessionId}\": \"Nie pobrano statusu sesji {sessionId}\",\n  \"File added to my folder.\": \"Plik dodano do mojego folderu.\",\n  \"Format\": \"Format\",\n  \"General\": \"Ogólne\",\n  \"General Information\": \"Informacje ogólne\",\n  \"HTML\": \"HTML\",\n  \"Ignore: all\": \"Zignoruj: wszystko\",\n  \"Ignore: current position\": \"Zignoruj: bieżącą pozycję\",\n  \"Ignore: error\": \"Zignoruj: błąd\",\n  \"Ignore: warning\": \"Zignoruj: ostrzeżenie\",\n  \"Informat\": \"Informat\",\n  \"Invalid connectionType. Check Profile settings.\": \"Nieprawidłowy typ połączenia. Sprawdź ustawienia profilu.\",\n  \"Invalid file name.\": \"Nieprawidłowa nazwa pliku.\",\n  \"Job does not have '{linkName}' link\": \"Proces nie ma łącza '{linkName}'\",\n  \"Label\": \"Etykieta\",\n  \"Length\": \"Długość\",\n  \"Library\": \"Biblioteka\",\n  \"Logical Record Count\": \"Liczba rekordów logicznych\",\n  \"Method not implemented.\": \"Nie zastosowano metody.\",\n  \"Missing connectionType in active profile.\": \"W aktywnym profilu brak typu połączenia\",\n  \"Missing endpoint in active profile.\": \"W aktywnym profilu brak punktu końcowego\",\n  \"Missing host in active profile.\": \"W aktywnym profilu brak hosta\",\n  \"Missing port in active profile.\": \"W aktywnym profilu brak portu\",\n  \"Missing sas path in active profile.\": \"W aktywnym profilu brak ścieżki SAS-owej\",\n  \"Missing username in active profile.\": \"W aktywnym profilu brak nazwy użytkownika\",\n  \"Modified\": \"Zmodyfikowano\",\n  \"Move to Recycle Bin\": \"Przenieś do Kosza\",\n  \"Name\": \"Nazwa\",\n  \"New File\": \"Nowy plik\",\n  \"New Folder\": \"Nowy folder\",\n  \"New SAS Connection Profile Name\": \"Nowa nazwa profilu połączenia SAS-owego\",\n  \"No Active Profile\": \"Brak aktywnego profilu\",\n  \"No Profile\": \"Brak profilu\",\n  \"No Profiles available to delete\": \"Brak dostępnych profilów do usunięcia\",\n  \"No SAS Connection Profile\": \"Brak profilu połączenia SAS-owego\",\n  \"No authorization code\": \"Brak kodu autoryzacji\",\n  \"No data matches the current filters.\": \"Brak dopasowań danych dla bieżących filtrów.\",\n  \"Not implemented\": \"Nie wdrożono\",\n  \"Notebook exported to {0}\": \"Notatnik wyeksportowany do {0}\",\n  \"Number of Columns\": \"Liczba kolumn\",\n  \"Number of Rows\": \"Liczba wierszy\",\n  \"Numeric\": \"Numeryczne\",\n  \"Options\": \"Opcje\",\n  \"Passphrase Required\": \"Kod wymagany\",\n  \"Password Required\": \"Hasło wymagane\",\n  \"Paste authorization code here\": \"Tu wklej kod autoryzacji\",\n  \"Physical Record Count\": \"Liczba rekordów fizycznych\",\n  \"Port Number\": \"Numer portu\",\n  \"Private Key File Path (optional)\": \"Ścieżka do pliku klucza prywatnego (opcjonalna)\",\n  \"Properties\": \"Właściwości\",\n  \"Python Program\": \"Program Pythona\",\n  \"Record Length\": \"Długość rekordu\",\n  \"Remove all sorting\": \"Usuń wszystkie sortowania\",\n  \"Remove sorting\": \"Usuń sortowanie\",\n  \"Rename File\": \"Zmień nazwę pliku\",\n  \"Rename Folder\": \"Zmień nazwę folderu\",\n  \"Result\": \"Rezultat\",\n  \"Result: {result}\": \"Rezultat: {result}\",\n  \"Row number\": \"Numer wiersza\",\n  \"SAS 9 Server\": \"Serwer SAS-a 9\",\n  \"SAS Code\": \"Kod SAS-owy\",\n  \"SAS Compute Context\": \"Kontekst obliczeniowy SAS-a\",\n  \"SAS Log\": \"Log SAS-owy\",\n  \"SAS Log: {name}\": \"Log SAS-owy: {name}\",\n  \"SAS Profile\": \"Profil SAS-owy\",\n  \"SAS Program\": \"Program SAS-a\",\n  \"SAS Server Username\": \"Nazwa użytkownika serwera SAS-a\",\n  \"SAS Viya Server\": \"Serwer SAS Viya\",\n  \"SAS code running...\": \"Kod SAS-owy uruchomiony...\",\n  \"SQL Program\": \"Program SQL-a\",\n  \"Save\": \"Zapisz\",\n  \"Save Log\": \"Zapisz log\",\n  \"Save ODS HTML\": \"Zapisz ODS HTML\",\n  \"Saved to {0}\": \"Zapisano w {0}\",\n  \"Saving {itemName}.\": \"Zapisywanie elementu {itemName}.\",\n  \"Search\": \"Wyszukaj\",\n  \"Select a Connection Type\": \"Wybierz typ połączenia\",\n  \"Select a Connection Type.\": \"Wybierz typ połączenia.\",\n  \"Select a SAS connection profile\": \"Wybierz profil połączenia SAS-owego\",\n  \"Select export format\": \"Wybierz format eksportu\",\n  \"Server Path\": \"Ścieżka do serwera\",\n  \"Server does not have createSession link\": \"Serwer nie ma łącza createSession\",\n  \"Server does not have state link\": \"Serwer nie ma łącza statusu\",\n  \"Session does not have '{linkName}' link\": \"Sesja nie ma łącza '{linkName}'\",\n  \"Show results...\": \"Pokaż rezultaty...\",\n  \"Size Information\": \"Wielkość informacji\",\n  \"Something went wrong\": \"Coś poszło nie tak\",\n  \"Sort\": \"Sortuj\",\n  \"Sorted, Ascending\": \"Posortowane, Rosnąco\",\n  \"Sorted, Descending\": \"Posortowane, Malejąco\",\n  \"Switch Current SAS Profile\": \"Przełącz bieżący profil SAS-owy\",\n  \"Table Properties\": \"Table Properties\",\n  \"Table: {tableName}\": \"Tabela: {tableName}\",\n  \"Task is cancelled.\": \"Zadanie anulowane.\",\n  \"Task is complete.\": \"Zadanie ukończone\",\n  \"Technical Information\": \"Informacje techniczne\",\n  \"The SAS session has closed.\": \"Sesja SAS-owa została zamknięta.\",\n  \"The file type is unsupported.\": \"Ten typ pliku nie jest obsługiwany.\",\n  \"The files cannot be accessed from the path specified in the context definition for the SAS Compute Server. Contact your SAS administrator.\": \"Nie można uzyskać dostępu do plików za pomocą ścieżki podanej w definicji kontekstu serwera obliczeniowego SAS-a. Zwróć się do administratora SAS-a.\",\n  \"The files cannot be accessed from the specified path.\": \"Z podanej ścieżki nie można uzyskać dostępu do plików.\",\n  \"The folder name cannot contain more than 100 characters or have invalid characters.\": \"Nazwa folderu nie może zawierać więcej niż 100 znaków ani nie może zawierać nieprawidłowych znaków.\",\n  \"The item could not be added to My Favorites.\": \"Elementu nie można dodać do Moich ulubionych.\",\n  \"The item could not be removed from My Favorites.\": \"Tego elementu nie można usunąć z Moich ulubionych.\",\n  \"The notebook file does not contain any code to convert.\": \"Plik notatnika nie zawiera żadnego kodu który można skonwertować.\",\n  \"The notebook has been successfully converted to a flow and saved into the following folder: {folderName}. You can now open it in SAS Studio.\": \"Notatnik został przekonwertowany na przepływ i zapisany w folderze: {folderName}. Można go teraz otworzyć w SAS Studio.\",\n  \"The output file name must end with the .flw extension.\": \"Nazwa pliku wynikowego musi mieć rozszerzenie .flw.\",\n  \"The {selected} SAS connection profile has been deleted from the settings.json file.\": \"Profil połączenia SAS-wego {selected} został usunięty z pliku settings.json.\",\n  \"There was an error executing the SAS Program. See [console log](command:workbench.action.toggleDevTools) for more details.\": \"Podczas wykonywania programu SAS-owego wystąpił błąd. Dalsze informacje znajdziesz w [console log](command:workbench.action.toggleDevTools)\",\n  \"This folder contains unsaved files, are you sure you want to delete?\": \"Ten folder zawiera niezapisane piki; czy na pewno chcesz je usunąć?\",\n  \"This platform does not support this connection type.\": \"Ta platforma nie obsługuje tego typu połączenia\",\n  \"To use the SSH Agent or a password, leave blank.\": \"To use the SSH Agent or a password, leave blank.\",\n  \"Type\": \"Typ\",\n  \"Unable to add file to my folder.\": \"Nie można dodać pliku do mojego folderu.\",\n  \"Unable to create file \\\"{name}\\\".\": \"Nie można utworzyć pliku \\\"{name}\\\".\",\n  \"Unable to create folder \\\"{name}\\\".\": \"Nie można utworzyć folderu \\\"{name}\\\".\",\n  \"Unable to delete file.\": \"Nie można usunąć pliku.\",\n  \"Unable to delete folder.\": \"Nie można usunąć folderu.\",\n  \"Unable to delete table {tableName}.\": \"Nie można usunąć tabeli {tableName}.\",\n  \"Unable to download files.\": \"Nie można pobrać plików.\",\n  \"Unable to drag files from my favorites.\": \"Nie można przeciągnąć plików z Moich ulubionych.\",\n  \"Unable to drag files from trash.\": \"Nie można przywrócić plików z Kosza.\",\n  \"Unable to drop item \\\"{name}\\\".\": \"Nie można upuścić elementu \\\"{name}\\\".\",\n  \"Unable to empty the recycle bin.\": \"Nie można opróżnić Kosza.\",\n  \"Unable to load required libraries.\": \"Nie można załadować żądanych bibliotek\",\n  \"Unable to rename \\\"{oldName}\\\" to \\\"{newName}\\\".\": \"Nie można zmienić nazwy z \\\"{oldName}\\\" na \\\"{newName}\\\".\",\n  \"Unable to restore file.\": \"Nie można przywrócić pliku.\",\n  \"Unable to restore folder.\": \"Nie można przywrócić folderu.\",\n  \"Unable to upload files.\": \"Nie można załadować plików.\",\n  \"Uploading files...\": \"Załadowywanie plików...\",\n  \"User {username} {prompt}\": \"Użytkownik {username} {prompt}\",\n  \"View SAS Table\": \"Wyświetl tabelę SAS-ową\",\n  \"You can also specify connection profile using the settings.json file.\": \"Można także określić profil połączenia za pomocą pliku settings.json\",\n  \"You must save your file before you can rename it.\": \"Przed zmianą nazwy pliku należy go zapisać.\",\n  \"output\": \"wyniki\",\n  \"{basename}_Copy{number}{ext}\": \"{basename}_kopia{number}{ext}\"\n}\n"
  },
  {
    "path": "l10n/bundle.l10n.pt-br.json",
    "content": "{\n  \"#\": \"#\",\n  \"An error was encountered when loading table data. This usually happens when a table is too large or the data couldn't be processed. See console for more details.\": \"Foi encontrado um erro ao carregar a tabela. Geralmente, isso acontece quando a tabela é grande demais ou os dados não podem ser processados. Consulte o console para obter mais informacões.\",\n  \"Are you sure you want to delete the selected tables?\": \"Você tem certeza que quer deletar as tabelas selecionadas?\",\n  \"Are you sure you want to permanently delete all the items? You cannot undo this action.\": \"Tem certeza que deseja excluir todos estes itens permanentemente? Não é possível desfazer esta ação.\",\n  \"Are you sure you want to permanently delete the item \\\"{name}\\\"?\": \"Tem certeza que desejas excluir este iten permanentemente \\\"{name}\\\"?\",\n  \"Ascending\": \"Crescente\",\n  \"Ascending (add to sorting)\": \"Crescente (adicionar a ordenação)\",\n  \"Bookmark Length\": \"Tamanho do marcador\",\n  \"Cancelling job...\": \"Cancellando esta tarefa...\",\n  \"Cannot call self on ComputeSession with no id\": \"Uma Compute Session sem identificação (ID) não pode chamar a si mesmo\",\n  \"Cannot call self on object with no id\": \"Um objeto sem ID não pode chamar a si mesmo\",\n  \"Cannot connect to SAS Studio service\": \"Não é possível conectar ao serviço SAS Studio\",\n  \"Cannot find file: {file}\": \"Não é possível localizar o arquivo: {file}\",\n  \"Character\": \"Caractere\",\n  \"Character Encoding\": \"Codificação de caractere\",\n  \"Choose output type to save\": \"Escolha o tipo de saída para salvar\",\n  \"Choose where to save your files.\": \"Seleciona o local onde queres salvar os seus arquivos.\",\n  \"Clear\": \"Limpar\",\n  \"Client ID\": \"ID do Cliente\",\n  \"Client Secret\": \"Segredo do Cliente\",\n  \"Close Session\": \"Fecha a Sessão\",\n  \"Columns\": \"Colunas\",\n  \"Columns ({count})\": \"Colunas ({count})\",\n  \"Compression\": \"Compressão\",\n  \"Compute Context not found: {name}\": \"Contexto Computacional não encontrado: {name}\",\n  \"Connecting to SAS session...\": \"Conectando à sessão de SAS...\",\n  \"Connection Type\": \"Tipo de ligação\",\n  \"Converting SAS notebook to flow...\": \"Convertendo o notebook SAS ao um Flow...\",\n  \"Could not connect to the SAS server.\": \"Foi impossível conectar ao servidor SAS.\",\n  \"Created\": \"Criado\",\n  \"Currency\": \"Moeda\",\n  \"Date\": \"Data\",\n  \"Datetime\": \"Data/Hora\",\n  \"Delete\": \"Exclui\",\n  \"Descending\": \"Descrescente\",\n  \"Descending (add to sorting)\": \"Decrescente (adicionar a ordenação)\",\n  \"Downloading files...\": \"Descarregando arquivos...\",\n  \"Engine\": \"Máquina\",\n  \"Enter a client ID\": \"Insere o ID do cliente\",\n  \"Enter a client secret\": \"Insere o segredo do cliente\",\n  \"Enter a file name.\": \"Token.\",\n  \"Enter a folder name.\": \"Insere o nome de uma pasta.\",\n  \"Enter a name for the new .flw file\": \"Insira o nome do novo arquivo .flw\",\n  \"Enter a new name.\": \"Insere o nome novo.\",\n  \"Enter a port number\": \"Insira o número da porta\",\n  \"Enter a port number.\": \"Insira o número da porta.\",\n  \"Enter connection name\": \"Insere o nome do conexão\",\n  \"Enter expression\": \"Insira a expressão\",\n  \"Enter secret for client ID. An example is myapp.secret.\": \"Insere o segredo do ID do cliente. Por exemplo: myapp.secret.\",\n  \"Enter the SAS compute context\": \"Insere o contexto computacional de SAS\",\n  \"Enter the SAS compute context.\": \"Insere o contexto computacional de SAS.\",\n  \"Enter the URL\": \"Insere o URL\",\n  \"Enter the URL for the SAS Viya server. An example is https://example.sas.com.\": \"Insere o URL do servidor SAS Viya. Por exemplo: https://example.sas.com.\",\n  \"Enter the local private key file path\": \"Digite o caminnho ao arquivo da chave privada local\",\n  \"Enter the name of the SAS 9 server.\": \"Digite o nome do servidor SAS 9\",\n  \"Enter the passphrase for the private key\": \"Digite a frase-senha da chave privada\",\n  \"Enter the password for user: {username}\": \"Digite a senha do usuário: {username}\",\n  \"Enter the registered client ID. An example is myapp.client.\": \"Insira o ID registrado do cliente. Por exemplo: myapp.client.\",\n  \"Enter the server name\": \"Insere o nome do servidor\",\n  \"Enter the server path\": \"Insere o caminho ao servidor\",\n  \"Enter the server path of the SAS Executable.\": \"Insira o caminho no servidor ao arquivo executável de SAS.\",\n  \"Enter your SAS server username.\": \"Insira seu nome de usuário para o servidor de SAS.\",\n  \"Enter your password\": \"Digite sua senha\",\n  \"Enter your password for this connection.\": \"Digite sua senha para esta conexão.\",\n  \"Enter your username\": \"Insira seu nome de usuário\",\n  \"Error converting the notebook file to .flw format.\": \"Erro convertendo o arquivo notebook para o formato .flw.\",\n  \"Error getting server with ID {id} - {message}\": \"Erro obtendo servidor com o ID {id} - {message}\",\n  \"Error getting session with ID {id} - {message}\": \"Erro obtendo uma sessão com o ID {id} - {message}\",\n  \"Error reading private key file: {filePath}, error: {message}\": \"Erro encontrado lendo o arquivo de chave privada: {filePath}, erro: {message}\",\n  \"Export as HTML file\": \"Exportar como arquivo HTML\",\n  \"Export as SAS program file\": \"Exportar como arquivo de programação SAS\",\n  \"Extended Type\": \"Tipo extensível\",\n  \"Failed to export notebook: {0}\": \"Falha ao exportar o notebook: {0}\",\n  \"Failed to get state from Session {sessionId}\": \"Falhou obtendo o estado da Sessão {sessionId}\",\n  \"File added to my folder.\": \"Arquivo adicionado na minha pasta.\",\n  \"Format\": \"Formato\",\n  \"General\": \"Geral\",\n  \"General Information\": \"Informação Geral\",\n  \"HTML\": \"HTML\",\n  \"Ignore: all\": \"Ignore: tudo\",\n  \"Ignore: current position\": \"Ignore: posição atual\",\n  \"Ignore: error\": \"Ignore: erro\",\n  \"Ignore: warning\": \"Ignore: aviso\",\n  \"Informat\": \"Formato de entrada\",\n  \"Invalid connectionType. Check Profile settings.\": \"Tipo de conexão (connectionType) inválido. Verifique as configurações do perfil.\",\n  \"Invalid file name.\": \"Nome do arquivo é inválido.\",\n  \"Job does not have '{linkName}' link\": \"A tarefa não possui o link chamado '{linkName}'\",\n  \"Label\": \"Rótulo\",\n  \"Length\": \"Tamanho\",\n  \"Library\": \"Biblioteca\",\n  \"Logical Record Count\": \"Contagem de registros lógicos\",\n  \"Method not implemented.\": \"Método não é implementado.\",\n  \"Missing connectionType in active profile.\": \"Tipo de conexão (connectionType) ausente no perfil ativo.\",\n  \"Missing endpoint in active profile.\": \"Ponto final (endpoint) ausente no perfil ativo.\",\n  \"Missing host in active profile.\": \"Host ausente no perfil ativo.\",\n  \"Missing port in active profile.\": \"Porta ausente no perfil ativo.\",\n  \"Missing sas path in active profile.\": \"Caminho ao arquivo executável de SAS ausente no perfil ativo.\",\n  \"Missing username in active profile.\": \"Nome de usuário ausente no perfil ativo.\",\n  \"Modified\": \"Modificado\",\n  \"Move to Recycle Bin\": \"Mover para a Lixeira\",\n  \"Name\": \"Nome\",\n  \"New File\": \"Arquivo novo\",\n  \"New Folder\": \"Pasta nova\",\n  \"New SAS Connection Profile Name\": \"Nome nova do perfil de conexão a SAS\",\n  \"No Active Profile\": \"Não ha Perfil Ativo\",\n  \"No Profile\": \"Não ha Perfil\",\n  \"No Profiles available to delete\": \"Nenhum perfil disponível para exclusão\",\n  \"No SAS Connection Profile\": \"Não ha perfil de conexão a SAS\",\n  \"No authorization code\": \"Não ha código de autorização\",\n  \"No data matches the current filters.\": \"Nenhum dado corresponde aos filtros atuais.\",\n  \"Not implemented\": \"Não é implementado\",\n  \"Notebook exported to {0}\": \"Notebook exportado para {0}\",\n  \"Number of Columns\": \"Número de colunas\",\n  \"Number of Rows\": \"Número de linhas\",\n  \"Numeric\": \"Numérico\",\n  \"Options\": \"Opções\",\n  \"Passphrase Required\": \"Frase-senha requerido\",\n  \"Password Required\": \"Senha requerido\",\n  \"Paste authorization code here\": \"Cole aqui o código de autorização\",\n  \"Physical Record Count\": \"Contagem de registros físicos\",\n  \"Port Number\": \"Número da Porta\",\n  \"Private Key File Path (optional)\": \"Caminho ao arquivo da chave privada \",\n  \"Properties\": \"Propriedades\",\n  \"Python Program\": \"Programa Python\",\n  \"Record Length\": \"Tamanho do registro\",\n  \"Remove all sorting\": \"Remover todas as ordenações\",\n  \"Remove sorting\": \"Remover ordenação\",\n  \"Rename File\": \"Renomear um arquivo\",\n  \"Rename Folder\": \"Renomear uma pasta\",\n  \"Result\": \"Resultado\",\n  \"Result: {result}\": \"Resultado: {result}\",\n  \"Row number\": \"Número da linha\",\n  \"SAS 9 Server\": \"Servidor SAS 9\",\n  \"SAS Code\": \"Código SAS\",\n  \"SAS Compute Context\": \"Contexto de computação SAS\",\n  \"SAS Log\": \"Registro de SAS\",\n  \"SAS Log: {name}\": \"Registro de SAS: {name}\",\n  \"SAS Profile\": \"Perfil SAS\",\n  \"SAS Program\": \"Programa SAS\",\n  \"SAS Server Username\": \"Nome de usuário para o servidor de SAS\",\n  \"SAS Viya Server\": \"Servidor de SAS Viya\",\n  \"SAS code running...\": \"Executando o programa de SAS...\",\n  \"SQL Program\": \"Programa SQL\",\n  \"Save\": \"Salve\",\n  \"Save Log\": \"Salvar Log\",\n  \"Save ODS HTML\": \"Salvar HTML ODS\",\n  \"Saved to {0}\": \"Salvo em {0}\",\n  \"Saving {itemName}.\": \"Salvando {itemName}.\",\n  \"Search\": \"Pesquisa\",\n  \"Select a Connection Type\": \"Escolha o tipo de conexão\",\n  \"Select a Connection Type.\": \"Escolha o tipo de conexão.\",\n  \"Select a SAS connection profile\": \"Escolha o perfil do conexão a SAS\",\n  \"Select export format\": \"Selecione o formato de exportação\",\n  \"Server Path\": \"Caminho ao servidor\",\n  \"Server does not have createSession link\": \"O servidor não tem o link createSession\",\n  \"Server does not have state link\": \"O servidor não tem o link de status\",\n  \"Session does not have '{linkName}' link\": \"O sessão não tem o link '{linkName}'\",\n  \"Show results...\": \"Mostra os resultados...\",\n  \"Size Information\": \"Informação de tamanho\",\n  \"Something went wrong\": \"Algo deu errado\",\n  \"Sort\": \"Ordenar\",\n  \"Sorted, Ascending\": \"Ordenado, Crescente\",\n  \"Sorted, Descending\": \"Ordenado, Decrescente\",\n  \"Switch Current SAS Profile\": \"Mudar o perfil atual de SAS\",\n  \"Table Properties\": \"Tabela de propriedades\",\n  \"Table: {tableName}\": \"Tabela: {tableName}\",\n  \"Task is cancelled.\": \"Tarefa cancelado.\",\n  \"Task is complete.\": \"Tarefa completado.\",\n  \"Technical Information\": \"Informação técnica\",\n  \"The SAS session has closed.\": \"A sessão de SAS foi encerrada.\",\n  \"The file type is unsupported.\": \"Este tipo de arquivo não é compatível.\",\n  \"The files cannot be accessed from the path specified in the context definition for the SAS Compute Server. Contact your SAS administrator.\": \"Os arquivos não podem ser acessados a partir da seleção do caminho de contexto do seu SAS Compute Server. Entre em contato com o administrador SAS.\",\n  \"The files cannot be accessed from the specified path.\": \"Os arquivos não podem ser acessados a partir do caminho especificado.\",\n  \"The folder name cannot contain more than 100 characters or have invalid characters.\": \"O nome da pasta não pode incluir mais de 100 caracteres ou qualquer caracteres inválidos.\",\n  \"The item could not be added to My Favorites.\": \"Não foi possível adicionar o iten a My Favorites.\",\n  \"The item could not be removed from My Favorites.\": \"Não foi possível excluir o iten do My Favorites.\",\n  \"The notebook file does not contain any code to convert.\": \"O arquivo notebook não contém nenhum código para converter.\",\n  \"The notebook has been successfully converted to a flow and saved into the following folder: {folderName}. You can now open it in SAS Studio.\": \"O notebook foi convertido ao um Flow e salvado na pasta: {folderName}. Pode agora abri-lo em SAS Studio.\",\n  \"The output file name must end with the .flw extension.\": \"Precisas terminar o nome do arquivo de saída com a extensão .flw.\",\n  \"The {selected} SAS connection profile has been deleted from the settings.json file.\": \"O perfil de conexão a SAS {selected} foi excluído do arquivo settings.json.\",\n  \"There was an error executing the SAS Program. See [console log](command:workbench.action.toggleDevTools) for more details.\": \"Ocorreu um erro durante a execução do programa SAS. Veja  [console log](command:workbench.action.toggleDevTools) para os detalhes.\",\n  \"This folder contains unsaved files, are you sure you want to delete?\": \"Esta pasta contém arquivos não salvos. Tem certeza de que deseja excluí-los?\",\n  \"This platform does not support this connection type.\": \"Esta plataforma não suporta este tipo de conexão.\",\n  \"To use the SSH Agent or a password, leave blank.\": \"Para usar o Agente SSH ou uma senha, deixe em branco.\",\n  \"Type\": \"Tipo\",\n  \"Unable to add file to my folder.\": \"Não foi possível adicionar o arquivo a my folder.\",\n  \"Unable to create file \\\"{name}\\\".\": \"Não foi possível criar o arquivo \\\"{name}\\\".\",\n  \"Unable to create folder \\\"{name}\\\".\": \"Não foi possível criar a pasta \\\"{name}\\\".\",\n  \"Unable to delete file.\": \"Não foi possível excluir o arquivo.\",\n  \"Unable to delete folder.\": \"Não foi possível excluir a pasta.\",\n  \"Unable to delete table {tableName}.\": \"Não foi possível excluir a tabela {tableName}.\",\n  \"Unable to download files.\": \"É impossível baixar os arquivos.\",\n  \"Unable to drag files from my favorites.\": \"Não foi possível arrastar arquivos de my favorites.\",\n  \"Unable to drag files from trash.\": \"Não foi possível arrastar arquivos do lixo.\",\n  \"Unable to drop item \\\"{name}\\\".\": \"Não foi possível descartar o iten \\\"{name}\\\".\",\n  \"Unable to empty the recycle bin.\": \"Não foi possível esvaziar a lixeira.\",\n  \"Unable to load required libraries.\": \"Não é possível carregar as bibliotecas necessárias.\",\n  \"Unable to rename \\\"{oldName}\\\" to \\\"{newName}\\\".\": \"Não foi possível renomear \\\"{oldName}\\\" a \\\"{newName}\\\".\",\n  \"Unable to restore file.\": \"Não foi possível recuperar o arquivo.\",\n  \"Unable to restore folder.\": \"Não foi possível recuperar a pasta.\",\n  \"Unable to upload files.\": \"Não é possível fazer upload dos arquivos.\",\n  \"Uploading files...\": \"Fazendo upload dos arquivos...\",\n  \"User {username} {prompt}\": \"Usuário {username} {prompt}\",\n  \"View SAS Table\": \"Veja a tabela de SAS\",\n  \"You can also specify connection profile using the settings.json file.\": \"Também pode especificar o perfil de conexão no arquivo settings.json.\",\n  \"You must save your file before you can rename it.\": \"Precisas salvar o arquivo antes de renomeá-lo.\",\n  \"output\": \"resultado\",\n  \"{basename}_Copy{number}{ext}\": \"{basename}_Cópia{number}{ext}\"\n}\n"
  },
  {
    "path": "l10n/bundle.l10n.zh-cn.json",
    "content": "{\n  \"#\": \"#\",\n  \"An error was encountered when loading table data. This usually happens when a table is too large or the data couldn't be processed. See console for more details.\": \"加载表数据时遇到错误。 当表太大或无法处理数据时，通常会发生这种情况。 请参阅控制台了解更多详细信息。\",\n  \"Are you sure you want to delete the selected tables?\": \"确实要删除选定的表吗？\",\n  \"Are you sure you want to permanently delete all the items? You cannot undo this action.\": \"您确定要永久删除所有项目吗？您无法撤消此操作。\",\n  \"Are you sure you want to permanently delete the item \\\"{name}\\\"?\": \"您确定要永久删除项目\\\"{name}\\\"吗？\",\n  \"Ascending\": \"升序\",\n  \"Ascending (add to sorting)\": \"升序（添加至排序）\",\n  \"Bookmark Length\": \"书签长度\",\n  \"Cancelling job...\": \"正在取消作业...\",\n  \"Cannot call self on ComputeSession with no id\": \"无法在没有id的ComputeSession上调用self\",\n  \"Cannot call self on object with no id\": \"无法在没有id的对象上调用self\",\n  \"Cannot connect to SAS Studio service\": \"无法连接到 SAS Studio 服务\",\n  \"Cannot find file: {file}\": \"无法找到文件: {file}\",\n  \"Character\": \"字符\",\n  \"Character Encoding\": \"字符编码\",\n  \"Choose output type to save\": \"选择要保存的输出类型\",\n  \"Choose where to save your files.\": \"选择保存文件的位置。\",\n  \"Clear\": \"清除\",\n  \"Client ID\": \"客户端ID\",\n  \"Client Secret\": \"客户端密钥\",\n  \"Close Session\": \"关闭会话\",\n  \"Columns\": \"列\",\n  \"Columns ({count})\": \"列（{count}）\",\n  \"Compression\": \"压缩\",\n  \"Compute Context not found: {name}\": \"未找到计算上下文：{name}\",\n  \"Connecting to SAS session...\": \"正在连接到SAS会话...\",\n  \"Connection Type\": \"连接类型\",\n  \"Converting SAS notebook to flow...\": \"将 SAS 笔记本转换为流...\",\n  \"Could not connect to the SAS server.\": \"无法连接到 SAS 服务器。\",\n  \"Created\": \"创建时间\",\n  \"Currency\": \"货币\",\n  \"Date\": \"日期\",\n  \"Datetime\": \"日期时间\",\n  \"Delete\": \"删除\",\n  \"Descending\": \"降序\",\n  \"Descending (add to sorting)\": \"降序（添加至排序）\",\n  \"Downloading files...\": \"正在下载文件...\",\n  \"Engine\": \"引擎\",\n  \"Enter a client ID\": \"输入客户端ID\",\n  \"Enter a client secret\": \"输入客户端密钥\",\n  \"Enter a file name.\": \"输入文件名。\",\n  \"Enter a folder name.\": \"请输入文件夹名称。\",\n  \"Enter a name for the new .flw file\": \"输入新 .flw 文件的名称\",\n  \"Enter a new name.\": \"输入新名称。\",\n  \"Enter a port number\": \"输入端口号\",\n  \"Enter a port number.\": \"输入端口号。\",\n  \"Enter connection name\": \"输入连接名称\",\n  \"Enter expression\": \"输入表达式\",\n  \"Enter secret for client ID. An example is myapp.secret.\": \"输入客户端ID的密钥。示例是 myapp.secret。\",\n  \"Enter the SAS compute context\": \"输入SAS计算上下文\",\n  \"Enter the SAS compute context.\": \"输入SAS计算上下文。\",\n  \"Enter the URL\": \"输入网址\",\n  \"Enter the URL for the SAS Viya server. An example is https://example.sas.com.\": \"输入SAS Viya服务器的URL。示例为 https://example.sas.com\",\n  \"Enter the local private key file path\": \"输入本地私钥文件路径\",\n  \"Enter the name of the SAS 9 server.\": \"输入SAS 9 服务器的名称。\",\n  \"Enter the passphrase for the private key\": \"输入私钥的密码\",\n  \"Enter the password for user: {username}\": \"输入用户 {username} 的密码\",\n  \"Enter the registered client ID. An example is myapp.client.\": \"输入注册的客户端ID。示例是 myapp.client。\",\n  \"Enter the server name\": \"输入服务器名称\",\n  \"Enter the server path\": \"输入服务器路径\",\n  \"Enter the server path of the SAS Executable.\": \"输入SAS可执行文件的服务器路径。\",\n  \"Enter your SAS server username.\": \"输入您的SAS服务器用户名。\",\n  \"Enter your password\": \"输入您的密码\",\n  \"Enter your password for this connection.\": \"输入此连接的密码。\",\n  \"Enter your username\": \"输入您的用户名\",\n  \"Error converting the notebook file to .flw format.\": \"将笔记本文件转换为 .flw 格式时出错。\",\n  \"Error getting server with ID {id} - {message}\": \"获取ID为{id} - {message}的服务器时出错\",\n  \"Error getting session with ID {id} - {message}\": \"获取ID为{id} - {message}的会话时出错\",\n  \"Error reading private key file: {filePath}, error: {message}\": \"读取私钥文件 {filePath} 时出错，错误：{message}\",\n  \"Export as HTML file\": \"导出为 HTML 文件\",\n  \"Export as SAS program file\": \"导出为 SAS 程序文件\",\n  \"Extended Type\": \"扩展类型\",\n  \"Failed to export notebook: {0}\": \"未能导出笔记本: {0}\",\n  \"Failed to get state from Session {sessionId}\": \"从会话{sessionId}获取状态失败\",\n  \"File added to my folder.\": \"文件已添加到我的文件夹。\",\n  \"Format\": \"输出格式\",\n  \"General\": \"常规\",\n  \"General Information\": \"常规信息\",\n  \"HTML\": \"HTML\",\n  \"Ignore: all\": \"忽略: 全部\",\n  \"Ignore: current position\": \"忽略: 当前位置\",\n  \"Ignore: error\": \"忽略: 错误\",\n  \"Ignore: warning\": \"忽略: 警告\",\n  \"Informat\": \"输入格式\",\n  \"Invalid connectionType. Check Profile settings.\": \"无效的连接类型。请检查配置文件设置。\",\n  \"Invalid file name.\": \"无效的文件名。\",\n  \"Job does not have '{linkName}' link\": \"作业没有'{linkName}'链接\",\n  \"Label\": \"标签\",\n  \"Length\": \"长度\",\n  \"Library\": \"逻辑库\",\n  \"Logical Record Count\": \"逻辑记录计数\",\n  \"Method not implemented.\": \"方法未实现。\",\n  \"Missing connectionType in active profile.\": \"活动配置文件中缺少连接类型。\",\n  \"Missing endpoint in active profile.\": \"活动配置文件中缺少端点。\",\n  \"Missing host in active profile.\": \"活动配置文件中缺少主机。\",\n  \"Missing port in active profile.\": \"活动配置文件中缺少端口。\",\n  \"Missing sas path in active profile.\": \"活动配置文件中缺少sas路径。\",\n  \"Missing username in active profile.\": \"活动配置文件中缺少用户名\",\n  \"Modified\": \"修改时间\",\n  \"Move to Recycle Bin\": \"移至回收站\",\n  \"Name\": \"名称\",\n  \"New File\": \"新文件\",\n  \"New Folder\": \"新文件夹\",\n  \"New SAS Connection Profile Name\": \"新SAS连接配置文件名称\",\n  \"No Active Profile\": \"无活动配置文件\",\n  \"No Profile\": \"无配置文件\",\n  \"No Profiles available to delete\": \"没有可删除的配置文件\",\n  \"No SAS Connection Profile\": \"无SAS连接配置文件\",\n  \"No authorization code\": \"无授权码\",\n  \"No data matches the current filters.\": \"没有匹配当前过滤器的数据。\",\n  \"Not implemented\": \"未实现\",\n  \"Notebook exported to {0}\": \"笔记本导出至{0}\",\n  \"Number of Columns\": \"列数\",\n  \"Number of Rows\": \"行数\",\n  \"Numeric\": \"数值型\",\n  \"Options\": \"选项\",\n  \"Passphrase Required\": \"需要密码短语\",\n  \"Password Required\": \"需要密码\",\n  \"Paste authorization code here\": \"在此处粘贴授权码\",\n  \"Physical Record Count\": \"物理记录计数\",\n  \"Port Number\": \"端口号\",\n  \"Private Key File Path (optional)\": \"私钥文件路径（可选）\",\n  \"Properties\": \"属性\",\n  \"Python Program\": \"Python 程序\",\n  \"Record Length\": \"记录长度\",\n  \"Remove all sorting\": \"移除全部排序\",\n  \"Remove sorting\": \"移除排序\",\n  \"Rename File\": \"重命名文件\",\n  \"Rename Folder\": \"重命名文件夹\",\n  \"Result\": \"结果\",\n  \"Result: {result}\": \"结果: {result}\",\n  \"Row number\": \"行号\",\n  \"SAS 9 Server\": \"SAS 9 服务器\",\n  \"SAS Code\": \"SAS 代码\",\n  \"SAS Compute Context\": \"SAS计算上下文\",\n  \"SAS Log\": \"SAS 日志\",\n  \"SAS Log: {name}\": \"SAS 日志: {name}\",\n  \"SAS Profile\": \"SAS 连接配置文件\",\n  \"SAS Program\": \"SAS 程序\",\n  \"SAS Server Username\": \"SAS服务器用户名\",\n  \"SAS Viya Server\": \"SAS Viya服务器\",\n  \"SAS code running...\": \"SAS代码正在运行...\",\n  \"SQL Program\": \"SQL 程序\",\n  \"Save\": \"保存\",\n  \"Save Log\": \"保存日志\",\n  \"Save ODS HTML\": \"保存 ODS HTML\",\n  \"Saved to {0}\": \"已保存至 {0}\",\n  \"Saving {itemName}.\": \"保存 {itemName}.\",\n  \"Search\": \"搜索\",\n  \"Select a Connection Type\": \"选择连接类型\",\n  \"Select a Connection Type.\": \"选择连接类型。\",\n  \"Select a SAS connection profile\": \"选择SAS连接配置文件\",\n  \"Select export format\": \"选择导出格式\",\n  \"Server Path\": \"服务器路径\",\n  \"Server does not have createSession link\": \"服务器没有createSession链接\",\n  \"Server does not have state link\": \"服务器没有状态链接\",\n  \"Session does not have '{linkName}' link\": \"会话没有'{linkName}'链接\",\n  \"Show results...\": \"显示结果...\",\n  \"Size Information\": \"大小信息\",\n  \"Something went wrong\": \"出了点问题\",\n  \"Sort\": \"排序\",\n  \"Sorted, Ascending\": \"已排序，升序\",\n  \"Sorted, Descending\": \"已排序，降序\",\n  \"Switch Current SAS Profile\": \"切换当前SAS配置文件\",\n  \"Table Properties\": \"表属性\",\n  \"Table: {tableName}\": \"表: {tableName}\",\n  \"Task is cancelled.\": \"任务中止。\",\n  \"Task is complete.\": \"任务完成。\",\n  \"Technical Information\": \"技术信息\",\n  \"The SAS session has closed.\": \"SAS会话已关闭。\",\n  \"The file type is unsupported.\": \"不支持该文件类型。\",\n  \"The files cannot be accessed from the path specified in the context definition for the SAS Compute Server. Contact your SAS administrator.\": \"无法从 SAS 计算服务器上下文定义中指定的路径访问这些文件。请联系您的 SAS 管理员。\",\n  \"The files cannot be accessed from the specified path.\": \"无法从指定路径访问文件。\",\n  \"The folder name cannot contain more than 100 characters or have invalid characters.\": \"文件夹名称不能超过 100 个字符或包含无效字符。\",\n  \"The item could not be added to My Favorites.\": \"该项目无法添加到我的收藏夹。\",\n  \"The item could not be removed from My Favorites.\": \"无法从我的收藏夹中删除该项目。\",\n  \"The notebook file does not contain any code to convert.\": \"笔记本文件不包含任何要转换的代码。\",\n  \"The notebook has been successfully converted to a flow and saved into the following folder: {folderName}. You can now open it in SAS Studio.\": \"笔记本已成功转换为流并保存到以下文件夹中：{folderName}。 您现在可以在 SAS Studio 中打开它。\",\n  \"The output file name must end with the .flw extension.\": \"输出文件名必须以 .flw 扩展名结尾。\",\n  \"The {selected} SAS connection profile has been deleted from the settings.json file.\": \"已从settings.json文件中删除{selected} SAS连接配置文件。\",\n  \"There was an error executing the SAS Program. See [console log](command:workbench.action.toggleDevTools) for more details.\": \"SAS程序执行出错。请参见[开发控制台日志](command:workbench.action.toggleDevTools)获取更多信息。\",\n  \"This folder contains unsaved files, are you sure you want to delete?\": \"此文件夹包含未保存的文件，您确定要删除吗？\",\n  \"This platform does not support this connection type.\": \"该平台不支持该连接类型。\",\n  \"To use the SSH Agent or a password, leave blank.\": \"要使用 SSH 代理或密码，请留空。\",\n  \"Type\": \"类型\",\n  \"Unable to add file to my folder.\": \"无法将文件添加到我的文件夹。\",\n  \"Unable to create file \\\"{name}\\\".\": \"无法创建文件\\\"{name}\\\"。\",\n  \"Unable to create folder \\\"{name}\\\".\": \"无法创建文件夹\\\"{name}\\\"。\",\n  \"Unable to delete file.\": \"无法删除文件。\",\n  \"Unable to delete folder.\": \"无法删除文件夹。\",\n  \"Unable to delete table {tableName}.\": \"无法删除表 {tableName}。\",\n  \"Unable to download files.\": \"无法下载文件。\",\n  \"Unable to drag files from my favorites.\": \"无法从我的收藏夹中拖动文件。\",\n  \"Unable to drag files from trash.\": \"无法从垃圾箱中拖动文件。\",\n  \"Unable to drop item \\\"{name}\\\".\": \"无法投放项目\\\"{name}\\\"。\",\n  \"Unable to empty the recycle bin.\": \"无法清空回收站。\",\n  \"Unable to load required libraries.\": \"无法加载所需的库。\",\n  \"Unable to rename \\\"{oldName}\\\" to \\\"{newName}\\\".\": \"无法将\\\"{oldName}\\\"重命名为\\\"{newName}\\\"。\",\n  \"Unable to restore file.\": \"无法恢复文件。\",\n  \"Unable to restore folder.\": \"无法恢复文件夹。\",\n  \"Unable to upload files.\": \"无法上传文件。\",\n  \"Uploading files...\": \"正在上传文件...\",\n  \"User {username} {prompt}\": \"用户 {username} {prompt}\",\n  \"View SAS Table\": \"查看 SAS 表\",\n  \"You can also specify connection profile using the settings.json file.\": \"您还可以使用settings.json文件指定连接配置文件。\",\n  \"You must save your file before you can rename it.\": \"您必须先保存文件，然后才能重命名它。\",\n  \"output\": \"输出\",\n  \"{basename}_Copy{number}{ext}\": \"{basename}_副本{number}{ext}\"\n}\n"
  },
  {
    "path": "l10n/bundle.l10n.zh-tw.json",
    "content": "{\n  \"#\": \"#\",\n  \"An error was encountered when loading table data. This usually happens when a table is too large or the data couldn't be processed. See console for more details.\": \"載入表格資料時發生錯誤。這通常發生在表格太大或資料無法處理時。如需詳細資訊，請參閱主控台。\",\n  \"Are you sure you want to delete the selected tables?\": \"是否確定要刪除選取的表格?\",\n  \"Are you sure you want to permanently delete all the items? You cannot undo this action.\": \"是否確定要永久刪除所有項目? 您無法還原此動作。\",\n  \"Are you sure you want to permanently delete the item \\\"{name}\\\"?\": \"確定要永久刪除項目 \\\"{name}\\\" 嗎?\",\n  \"Ascending\": \"遞增\",\n  \"Ascending (add to sorting)\": \"遞增 (增加至排序)\",\n  \"Bookmark Length\": \"書籤長度\",\n  \"Cancelling job...\": \"正在取消工作…\",\n  \"Cannot call self on ComputeSession with no id\": \"無法在沒有 ID 的 ComputeSession 上呼叫自我\",\n  \"Cannot call self on object with no id\": \"無法在沒有 ID 的物件上呼叫自我\",\n  \"Cannot connect to SAS Studio service\": \"無法連線至 SAS Studio 服務\",\n  \"Cannot find file: {file}\": \"找不到檔案: {file}\",\n  \"Character\": \"字元\",\n  \"Character Encoding\": \"字元編碼\",\n  \"Choose output type to save\": \"選擇要儲存的輸出類型\",\n  \"Choose where to save your files.\": \"選擇儲存檔案的位置。\",\n  \"Clear\": \"清除\",\n  \"Client ID\": \"用戶端 ID\",\n  \"Client Secret\": \"用戶端密碼\",\n  \"Close Session\": \"關閉工作階段\",\n  \"Columns\": \"欄\",\n  \"Columns ({count})\": \"欄 ({count})\",\n  \"Compression\": \"壓縮\",\n  \"Compute Context not found: {name}\": \"找不到計算環境: {name}\",\n  \"Connecting to SAS session...\": \"正在連線至 SAS 工作階段…\",\n  \"Connection Type\": \"連線類型\",\n  \"Converting SAS notebook to flow...\": \"正在將 SAS 筆記本轉換為流程…\",\n  \"Could not connect to the SAS server.\": \"無法連線到 SAS 伺服器。\",\n  \"Created\": \"建立\",\n  \"Currency\": \"貨幣\",\n  \"Date\": \"日期\",\n  \"Datetime\": \"日期時間\",\n  \"Delete\": \"刪除\",\n  \"Descending\": \"遞減\",\n  \"Descending (add to sorting)\": \"遞減 (增加至排序)\",\n  \"Downloading files...\": \"正在下載檔案…\",\n  \"Engine\": \"引擎\",\n  \"Enter a client ID\": \"輸入用戶端 ID\",\n  \"Enter a client secret\": \"輸入用戶端密碼\",\n  \"Enter a file name.\": \"輸入檔案名稱。\",\n  \"Enter a folder name.\": \"輸入資料夾名稱。\",\n  \"Enter a name for the new .flw file\": \"輸入新的 .flw 檔案的名稱\",\n  \"Enter a new name.\": \"輸入新的名稱。\",\n  \"Enter a port number\": \"輸入連接埠號碼\",\n  \"Enter a port number.\": \"輸入連接埠號碼。\",\n  \"Enter connection name\": \"輸入連線名稱\",\n  \"Enter expression\": \"輸入運算式\",\n  \"Enter secret for client ID. An example is myapp.secret.\": \"輸入用戶端 ID 的密碼。例如 myapp.secret。\",\n  \"Enter the SAS compute context\": \"輸入 SAS 計算環境\",\n  \"Enter the SAS compute context.\": \"輸入 SAS 計算環境。\",\n  \"Enter the URL\": \"輸入 URL\",\n  \"Enter the URL for the SAS Viya server. An example is https://example.sas.com.\": \"輸入 SAS Viya 伺服器的 URL。例如 https://example.sas.com。\",\n  \"Enter the local private key file path\": \"輸入本機私密金鑰檔案路徑\",\n  \"Enter the name of the SAS 9 server.\": \"輸入 SAS 9 伺服器的名稱。\",\n  \"Enter the passphrase for the private key\": \"輸入私密金鑰的複雜密碼\",\n  \"Enter the password for user: {username}\": \"輸入使用者的密碼: {username}\",\n  \"Enter the registered client ID. An example is myapp.client.\": \"輸入已註冊的用戶端 ID。例如 myapp.client。\",\n  \"Enter the server name\": \"輸入伺服器名稱\",\n  \"Enter the server path\": \"輸入伺服器路徑\",\n  \"Enter the server path of the SAS Executable.\": \"輸入 SAS Executable 的伺服器路徑。\",\n  \"Enter your SAS server username.\": \"輸入您的 SAS 伺服器使用者名稱。\",\n  \"Enter your password\": \"輸入您的密碼\",\n  \"Enter your password for this connection.\": \"輸入此連線的密碼。\",\n  \"Enter your username\": \"輸入您的使用者名稱\",\n  \"Error converting the notebook file to .flw format.\": \"將筆記本檔案轉換為 .flw 格式時發生錯誤。\",\n  \"Error getting server with ID {id} - {message}\": \"取得 ID 為 {id} 的伺服器時發生錯誤 - {message}\",\n  \"Error getting session with ID {id} - {message}\": \"取得 ID 為 {id} 的工作階段時發生錯誤 - {message}\",\n  \"Error reading private key file: {filePath}, error: {message}\": \"讀取私密金鑰檔案時發生錯誤: {filePath}，錯誤: {message}\",\n  \"Export as HTML file\": \"匯出 HTML 檔案\",\n  \"Export as SAS program file\": \"匯出為 SAS 程式檔案\",\n  \"Extended Type\": \"擴充類型\",\n  \"Failed to export notebook: {0}\": \"無法匯出筆記本: {0}\",\n  \"Failed to get state from Session {sessionId}\": \"無法從工作階段 {sessionId} 取得狀態\",\n  \"File added to my folder.\": \"檔案已增加到我的資料夾。\",\n  \"Format\": \"輸出格式\",\n  \"General\": \"一般\",\n  \"General Information\": \"一般資訊\",\n  \"HTML\": \"HTML\",\n  \"Ignore: all\": \"忽略: 全部\",\n  \"Ignore: current position\": \"忽略: 目前位置\",\n  \"Ignore: error\": \"忽略: 錯誤\",\n  \"Ignore: warning\": \"忽略: 警告\",\n  \"Informat\": \"輸入格式\",\n  \"Invalid connectionType. Check Profile settings.\": \"無效的 connectionType。檢查設定檔設定。\",\n  \"Invalid file name.\": \"無效的檔案名稱。\",\n  \"Job does not have '{linkName}' link\": \"工作沒有 '{linkName}' 連結\",\n  \"Label\": \"標籤\",\n  \"Length\": \"長度\",\n  \"Library\": \"資料館\",\n  \"Logical Record Count\": \"邏輯記錄計數\",\n  \"Method not implemented.\": \"未實作方法。\",\n  \"Missing connectionType in active profile.\": \"使用中設定檔中缺少 connectionType。\",\n  \"Missing endpoint in active profile.\": \"使用中設定檔中缺少端點。\",\n  \"Missing host in active profile.\": \"使用中設定檔中缺少主機。\",\n  \"Missing port in active profile.\": \"使用中設定檔中缺少連接埠。\",\n  \"Missing sas path in active profile.\": \"使用中設定檔中缺少 sas 路徑。\",\n  \"Missing username in active profile.\": \"使用中設定檔中缺少使用者名稱。\",\n  \"Modified\": \"修改\",\n  \"Move to Recycle Bin\": \"移至資源回收筒\",\n  \"Name\": \"名稱\",\n  \"New File\": \"新增檔案\",\n  \"New Folder\": \"新增資料夾\",\n  \"New SAS Connection Profile Name\": \"新增 SAS 連線設定檔名稱\",\n  \"No Active Profile\": \"沒有使用中的設定檔\",\n  \"No Profile\": \"沒有設定檔\",\n  \"No Profiles available to delete\": \"沒有可刪除的設定檔\",\n  \"No SAS Connection Profile\": \"沒有 SAS 連線設定檔\",\n  \"No authorization code\": \"沒有授權碼\",\n  \"No data matches the current filters.\": \"沒有資料符合目前的篩選。\",\n  \"Not implemented\": \"未實作\",\n  \"Notebook exported to {0}\": \"筆記本已匯出至 {0}\",\n  \"Number of Columns\": \"欄數\",\n  \"Number of Rows\": \"列數\",\n  \"Numeric\": \"數值\",\n  \"Options\": \"選項\",\n  \"Passphrase Required\": \"需要複雜密碼\",\n  \"Password Required\": \"需要密碼\",\n  \"Paste authorization code here\": \"在此處貼上授權碼\",\n  \"Physical Record Count\": \"實體記錄計數\",\n  \"Port Number\": \"連接埠號碼\",\n  \"Private Key File Path (optional)\": \"私密金鑰檔案路徑 (選用)\",\n  \"Properties\": \"屬性\",\n  \"Python Program\": \"Python 程式\",\n  \"Record Length\": \"記錄長度\",\n  \"Remove all sorting\": \"移除所有排序\",\n  \"Remove sorting\": \"移除排序\",\n  \"Rename File\": \"重新命名檔案\",\n  \"Rename Folder\": \"重新命名資料夾\",\n  \"Result\": \"結果\",\n  \"Result: {result}\": \"結果: {result}\",\n  \"Row number\": \"列號\",\n  \"SAS 9 Server\": \"SAS 9 伺服器\",\n  \"SAS Code\": \"SAS 程式碼\",\n  \"SAS Compute Context\": \"SAS 計算環境\",\n  \"SAS Log\": \"SAS 日誌\",\n  \"SAS Log: {name}\": \"SAS 日誌: {name}\",\n  \"SAS Profile\": \"SAS 設定檔\",\n  \"SAS Program\": \"SAS 程式\",\n  \"SAS Server Username\": \"SAS 伺服器使用者名稱\",\n  \"SAS Viya Server\": \"SAS Viya 伺服器\",\n  \"SAS code running...\": \"SAS 程式碼執行中…\",\n  \"SQL Program\": \"SQL 程式\",\n  \"Save\": \"儲存\",\n  \"Save Log\": \"儲存日誌\",\n  \"Save ODS HTML\": \"儲存 ODS HTML\",\n  \"Saved to {0}\": \"已儲存到 {0}\",\n  \"Saving {itemName}.\": \"正在儲存 {itemName}。\",\n  \"Search\": \"搜尋\",\n  \"Select a Connection Type\": \"選取連線類型\",\n  \"Select a Connection Type.\": \"選取連線類型。\",\n  \"Select a SAS connection profile\": \"選取 SAS 連線設定檔\",\n  \"Select export format\": \"選取匯出格式\",\n  \"Server Path\": \"伺服器路徑\",\n  \"Server does not have createSession link\": \"伺服器沒有 createSession 連結\",\n  \"Server does not have state link\": \"伺服器沒有狀態連結\",\n  \"Session does not have '{linkName}' link\": \"工作階段沒有 '{linkName}' 連結\",\n  \"Show results...\": \"顯示結果…\",\n  \"Size Information\": \"大小資訊\",\n  \"Something went wrong\": \"發生問題\",\n  \"Sort\": \"排序\",\n  \"Sorted, Ascending\": \"已排序，遞增\",\n  \"Sorted, Descending\": \"已排序，遞減\",\n  \"Switch Current SAS Profile\": \"切換目前的 SAS 設定檔\",\n  \"Table Properties\": \"表格屬性\",\n  \"Table: {tableName}\": \"表格: {tableName}\",\n  \"Task is cancelled.\": \"任務已取消。\",\n  \"Task is complete.\": \"任務完成。\",\n  \"Technical Information\": \"技術資訊\",\n  \"The SAS session has closed.\": \"已結束 SAS 工作階段。\",\n  \"The file type is unsupported.\": \"檔案類型不受支援。\",\n  \"The files cannot be accessed from the path specified in the context definition for the SAS Compute Server. Contact your SAS administrator.\": \"無法從 SAS Compute Server 的內容定義中指定的路徑存取檔案。請聯絡您的 SAS 管理員。\",\n  \"The files cannot be accessed from the specified path.\": \"無法從指定的路徑存取檔案。\",\n  \"The folder name cannot contain more than 100 characters or have invalid characters.\": \"資料夾名稱不能包含超過 100 個字元或包含無效字元。\",\n  \"The item could not be added to My Favorites.\": \"無法將項目增加到我的最愛。\",\n  \"The item could not be removed from My Favorites.\": \"無法將項目從我的最愛移除。\",\n  \"The notebook file does not contain any code to convert.\": \"筆記本檔案未包含任何要轉換的程式碼。\",\n  \"The notebook has been successfully converted to a flow and saved into the following folder: {folderName}. You can now open it in SAS Studio.\": \"已成功將筆記本轉換為流程並儲存至下列資料夾: {folderName}。您現在可以在 SAS Studio 中將其開啟。\",\n  \"The output file name must end with the .flw extension.\": \"輸出檔案名稱必須以 .flw 副檔名結尾。\",\n  \"The {selected} SAS connection profile has been deleted from the settings.json file.\": \"{selected} SAS 連線設定檔已從 settings.json 檔案中刪除。\",\n  \"There was an error executing the SAS Program. See [console log](command:workbench.action.toggleDevTools) for more details.\": \"執行 SAS 程式時發生錯誤。如需詳細資料，請參閱 [console log](command:workbench.action.toggleDevTools)。\",\n  \"This folder contains unsaved files, are you sure you want to delete?\": \"此資料夾包含未儲存的檔案，是否確定要刪除?\",\n  \"This platform does not support this connection type.\": \"此平台不支援此連線類型。\",\n  \"To use the SSH Agent or a password, leave blank.\": \"若要使用 SSH 代理程式或密碼，請留空白。\",\n  \"Type\": \"類型\",\n  \"Unable to add file to my folder.\": \"無法將檔案增加到我的資料夾。\",\n  \"Unable to create file \\\"{name}\\\".\": \"無法建立檔案 \\\"{name}\\\"。\",\n  \"Unable to create folder \\\"{name}\\\".\": \"無法建立資料夾 \\\"{name}\\\"。\",\n  \"Unable to delete file.\": \"無法刪除檔案。\",\n  \"Unable to delete folder.\": \"無法刪除資料夾。\",\n  \"Unable to delete table {tableName}.\": \"無法刪除表格 {tableName}。\",\n  \"Unable to download files.\": \"無法下載檔案。\",\n  \"Unable to drag files from my favorites.\": \"無法從我的最愛拖曳檔案。\",\n  \"Unable to drag files from trash.\": \"無法從垃圾桶拖曳檔案。\",\n  \"Unable to drop item \\\"{name}\\\".\": \"無法捨棄項目 \\\"{name}\\\"。\",\n  \"Unable to empty the recycle bin.\": \"無法清空資源回收筒。\",\n  \"Unable to load required libraries.\": \"無法載入必要的資料館。\",\n  \"Unable to rename \\\"{oldName}\\\" to \\\"{newName}\\\".\": \"無法將 \\\"{oldName}\\\" 重新命名為 \\\"{newName}\\\"。\",\n  \"Unable to restore file.\": \"無法還原檔案。\",\n  \"Unable to restore folder.\": \"無法還原資料夾。\",\n  \"Unable to upload files.\": \"無法上傳檔案。\",\n  \"Uploading files...\": \"正在上傳檔案…\",\n  \"User {username} {prompt}\": \"使用者 {username} {prompt}\",\n  \"View SAS Table\": \"檢視 SAS 表格\",\n  \"You can also specify connection profile using the settings.json file.\": \"您也可以使用 settings.json 檔案來指定連線設定檔。\",\n  \"You must save your file before you can rename it.\": \"您必須先儲存檔案，才能重新命名。\",\n  \"output\": \"輸出\",\n  \"{basename}_Copy{number}{ext}\": \"{basename}_Copy{number}{ext}\"\n}\n"
  },
  {
    "path": "language-configuration.json",
    "content": "{\n  \"comments\": {\n    \"blockComment\": [\"/*\", \"*/\"]\n  },\n  \"brackets\": [\n    [\"{\", \"}\"],\n    [\"[\", \"]\"],\n    [\"(\", \")\"]\n  ],\n  \"autoClosingPairs\": [\n    { \"open\": \"{\", \"close\": \"}\" },\n    { \"open\": \"[\", \"close\": \"]\" },\n    { \"open\": \"(\", \"close\": \")\" },\n    { \"open\": \"'\", \"close\": \"'\", \"notIn\": [\"string\", \"comment\"] },\n    { \"open\": \"\\\"\", \"close\": \"\\\"\", \"notIn\": [\"string\"] },\n    { \"open\": \"/**\", \"close\": \" */\", \"notIn\": [\"string\"] }\n  ],\n  \"autoCloseBefore\": \";:.,=}])> \\n\\t\",\n  \"surroundingPairs\": [\n    [\"{\", \"}\"],\n    [\"[\", \"]\"],\n    [\"(\", \")\"],\n    [\"'\", \"'\"],\n    [\"\\\"\", \"\\\"\"]\n  ],\n  \"indentationRules\": {\n    \"increaseIndentPattern\": {\n      \"pattern\": \"(data|proc|%macro)\\\\b[^;]*;(\\\\s|/\\\\*.*\\\\*/|\\\\*[^;]*;)*$\",\n      \"flags\": \"i\"\n    },\n    \"decreaseIndentPattern\": {\n      \"pattern\": \"(;|^\\\\s*)(\\\\s|/\\\\*.*\\\\*/|\\\\*[^;]*;)*(run|quit|%mend)(\\\\s|/\\\\*.*\\\\*/|\\\\*[^;]*;)*;$\",\n      \"flags\": \"i\"\n    }\n  },\n  \"wordPattern\": \"(-?\\\\d*\\\\.\\\\d\\\\w*)|(\\\\%?[^\\\\`\\\\~\\\\!\\\\@\\\\#\\\\%\\\\^\\\\&\\\\*\\\\(\\\\)\\\\-\\\\=\\\\+\\\\[\\\\{\\\\]\\\\}\\\\\\\\\\\\|\\\\;\\\\:\\\\'\\\\\\\"\\\\,\\\\.\\\\<\\\\>\\\\/\\\\?\\\\s]+)\"\n}\n"
  },
  {
    "path": "package.json",
    "content": "{\n  \"name\": \"sas-lsp\",\n  \"displayName\": \"SAS\",\n  \"description\": \"Official SAS Language Extension for VS Code\",\n  \"version\": \"1.19.1\",\n  \"categories\": [\n    \"Programming Languages\",\n    \"Data Science\",\n    \"Machine Learning\",\n    \"Notebooks\"\n  ],\n  \"publisher\": \"SAS\",\n  \"license\": \"Apache-2.0\",\n  \"icon\": \"icons/sas.png\",\n  \"engines\": {\n    \"vscode\": \"^1.89.0\"\n  },\n  \"activationEvents\": [\n    \"onWebviewPanel:SASResultPanel\",\n    \"onLanguage:sas\",\n    \"onNotebook:sas-notebook\"\n  ],\n  \"main\": \"./client/dist/node/extension\",\n  \"browser\": \"./client/dist/browser/extension\",\n  \"l10n\": \"./l10n\",\n  \"capabilities\": {\n    \"untrustedWorkspaces\": {\n      \"supported\": true\n    },\n    \"virtualWorkspaces\": true\n  },\n  \"contributes\": {\n    \"authentication\": [\n      {\n        \"id\": \"SAS\",\n        \"label\": \"SAS\"\n      }\n    ],\n    \"taskDefinitions\": [\n      {\n        \"type\": \"sas\",\n        \"when\": \"!SAS.hideRunMenuItem\",\n        \"required\": [\n          \"task\"\n        ],\n        \"properties\": {\n          \"task\": {\n            \"type\": \"string\",\n            \"description\": \"Task name\"\n          },\n          \"file\": {\n            \"type\": \"string\",\n            \"description\": \"The name of sas file to run\"\n          },\n          \"preamble\": {\n            \"type\": \"string\",\n            \"description\": \"Specify the preamble SAS code that you want automatically inserted before running code. \"\n          },\n          \"postamble\": {\n            \"type\": \"string\",\n            \"description\": \"Specify the postamble SAS code that you want automatically inserted after running code. \"\n          }\n        }\n      }\n    ],\n    \"semanticTokenTypes\": [\n      {\n        \"id\": \"date\",\n        \"superType\": \"numeric\",\n        \"description\": \"Date\"\n      },\n      {\n        \"id\": \"time\",\n        \"superType\": \"numeric\",\n        \"description\": \"Time\"\n      },\n      {\n        \"id\": \"dt\",\n        \"superType\": \"numeric\",\n        \"description\": \"DateTime\"\n      },\n      {\n        \"id\": \"format\",\n        \"superType\": \"decorator\",\n        \"description\": \"Format\"\n      },\n      {\n        \"id\": \"namelit\",\n        \"superType\": \"string\",\n        \"description\": \"Name literal\"\n      },\n      {\n        \"id\": \"numeric\",\n        \"superType\": \"number\",\n        \"description\": \"Numeric\"\n      },\n      {\n        \"id\": \"bitmask\",\n        \"superType\": \"string\",\n        \"description\": \"Bit mask\"\n      },\n      {\n        \"id\": \"hex\",\n        \"superType\": \"number\",\n        \"description\": \"Hexadecimal notation\"\n      },\n      {\n        \"id\": \"sep\",\n        \"superType\": \"operator\",\n        \"description\": \"Separator\"\n      },\n      {\n        \"id\": \"macro-sec-keyword\",\n        \"superType\": \"macro\",\n        \"description\": \"SAS Macro Section Keyword\"\n      },\n      {\n        \"id\": \"macro-ref\",\n        \"superType\": \"variable\",\n        \"description\": \"SAS Macro Reference\"\n      },\n      {\n        \"id\": \"macro-keyword\",\n        \"superType\": \"keyword\",\n        \"description\": \"SAS Macro Keyword\"\n      },\n      {\n        \"id\": \"macro-comment\",\n        \"superType\": \"comment\",\n        \"description\": \"SAS Macro Comment\"\n      },\n      {\n        \"id\": \"macro-keyword-param\",\n        \"superType\": \"parameter\",\n        \"description\": \"SAS Macro Keyword Parameter\"\n      },\n      {\n        \"id\": \"sec-keyword\",\n        \"superType\": \"function\",\n        \"description\": \"SAS Section keyword\"\n      },\n      {\n        \"id\": \"proc-name\",\n        \"superType\": \"function\",\n        \"description\": \"Name of the proc\"\n      },\n      {\n        \"id\": \"cards-data\",\n        \"superType\": \"parameter\",\n        \"description\": \"Card data\"\n      }\n    ],\n    \"configuration\": [\n      {\n        \"properties\": {\n          \"SAS.connectionProfiles\": {\n            \"order\": 0,\n            \"type\": \"object\",\n            \"description\": \"%configuration.SAS.connectionProfiles%\",\n            \"properties\": {\n              \"activeProfile\": {\n                \"order\": 0,\n                \"type\": \"string\",\n                \"description\": \"%configuration.SAS.connectionProfiles.activeProfile%\",\n                \"default\": \"\"\n              },\n              \"profiles\": {\n                \"order\": 1,\n                \"type\": \"object\",\n                \"description\": \"%configuration.SAS.connectionProfiles.profiles%\",\n                \"additionalProperties\": {\n                  \"type\": \"object\",\n                  \"description\": \"%configuration.SAS.connectionProfiles.profiles.name%\",\n                  \"required\": [\n                    \"connectionType\"\n                  ],\n                  \"properties\": {\n                    \"connectionType\": {\n                      \"type\": \"string\",\n                      \"default\": \"rest\",\n                      \"description\": \"%configuration.SAS.connectionProfiles.profiles.connectionType%\",\n                      \"enum\": [\n                        \"rest\",\n                        \"ssh\",\n                        \"com\",\n                        \"iom\"\n                      ]\n                    },\n                    \"sasOptions\": {\n                      \"type\": \"array\",\n                      \"default\": [],\n                      \"description\": \"%configuration.SAS.connectionProfiles.profiles.sasOptions%\",\n                      \"items\": {\n                        \"type\": \"string\"\n                      }\n                    },\n                    \"autoExec\": {\n                      \"type\": \"array\",\n                      \"default\": [],\n                      \"description\": \"%configuration.SAS.connectionProfiles.profiles.autoExec%\",\n                      \"items\": {\n                        \"type\": \"object\",\n                        \"properties\": {\n                          \"type\": {\n                            \"type\": \"string\",\n                            \"default\": \"line\",\n                            \"description\": \"%configuration.SAS.connectionProfiles.profiles.autoExec.type%\",\n                            \"enum\": [\n                              \"line\",\n                              \"file\"\n                            ]\n                          }\n                        },\n                        \"allOf\": [\n                          {\n                            \"if\": {\n                              \"properties\": {\n                                \"type\": {\n                                  \"const\": \"line\"\n                                }\n                              }\n                            },\n                            \"then\": {\n                              \"required\": [\n                                \"line\"\n                              ],\n                              \"properties\": {\n                                \"line\": {\n                                  \"type\": \"string\",\n                                  \"default\": \"\",\n                                  \"description\": \"%configuration.SAS.connectionProfiles.profiles.autoExec.line%\"\n                                }\n                              }\n                            }\n                          },\n                          {\n                            \"if\": {\n                              \"properties\": {\n                                \"type\": {\n                                  \"const\": \"file\"\n                                }\n                              }\n                            },\n                            \"then\": {\n                              \"required\": [\n                                \"filePath\"\n                              ],\n                              \"properties\": {\n                                \"filePath\": {\n                                  \"type\": \"string\",\n                                  \"default\": \"\",\n                                  \"description\": \"%configuration.SAS.connectionProfiles.profiles.autoExec.filePath%\"\n                                }\n                              }\n                            }\n                          }\n                        ]\n                      }\n                    }\n                  },\n                  \"allOf\": [\n                    {\n                      \"if\": {\n                        \"properties\": {\n                          \"connectionType\": {\n                            \"const\": \"rest\"\n                          }\n                        }\n                      },\n                      \"then\": {\n                        \"required\": [\n                          \"endpoint\"\n                        ],\n                        \"properties\": {\n                          \"endpoint\": {\n                            \"type\": \"string\",\n                            \"default\": \"\",\n                            \"description\": \"%configuration.SAS.connectionProfiles.profiles.endpoint%\"\n                          },\n                          \"context\": {\n                            \"type\": \"string\",\n                            \"default\": \"SAS Job Execution compute context\",\n                            \"description\": \"%configuration.SAS.connectionProfiles.profiles.context%\"\n                          },\n                          \"clientId\": {\n                            \"type\": \"string\",\n                            \"default\": \"\",\n                            \"description\": \"%configuration.SAS.connectionProfiles.profiles.clientId%\"\n                          },\n                          \"clientSecret\": {\n                            \"type\": \"string\",\n                            \"default\": \"\",\n                            \"description\": \"%configuration.SAS.connectionProfiles.profiles.clientSecret%\"\n                          },\n                          \"fileNavigationCustomRootPath\": {\n                            \"type\": \"string\",\n                            \"default\": \"\",\n                            \"description\": \"%configuration.SAS.connectionProfiles.profiles.fileNavigationCustomRootPath%\"\n                          },\n                          \"fileNavigationRoot\": {\n                            \"type\": \"string\",\n                            \"default\": \"USER\",\n                            \"description\": \"%configuration.SAS.connectionProfiles.profiles.fileNavigationRoot%\",\n                            \"enum\": [\n                              \"CUSTOM\",\n                              \"USER\",\n                              \"SYSTEM\"\n                            ]\n                          }\n                        }\n                      }\n                    },\n                    {\n                      \"if\": {\n                        \"properties\": {\n                          \"connectionType\": {\n                            \"const\": \"ssh\"\n                          }\n                        }\n                      },\n                      \"then\": {\n                        \"required\": [\n                          \"host\",\n                          \"saspath\",\n                          \"username\",\n                          \"port\"\n                        ],\n                        \"properties\": {\n                          \"host\": {\n                            \"type\": \"string\",\n                            \"default\": \"\",\n                            \"description\": \"%configuration.SAS.connectionProfiles.profiles.ssh.host%\"\n                          },\n                          \"saspath\": {\n                            \"type\": \"string\",\n                            \"default\": \"\",\n                            \"description\": \"%configuration.SAS.connectionProfiles.profiles.ssh.saspath%\"\n                          },\n                          \"username\": {\n                            \"type\": \"string\",\n                            \"default\": \"\",\n                            \"description\": \"%configuration.SAS.connectionProfiles.profiles.ssh.username%\"\n                          },\n                          \"port\": {\n                            \"type\": \"number\",\n                            \"default\": 22,\n                            \"description\": \"%configuration.SAS.connectionProfiles.profiles.ssh.port%\",\n                            \"exclusiveMinimum\": 1,\n                            \"exclusiveMaximum\": 65535\n                          },\n                          \"privateKeyFilePath\": {\n                            \"type\": \"string\",\n                            \"default\": \"\",\n                            \"description\": \"%configuration.SAS.connectionProfiles.profiles.ssh.privateKeyFilePath%\"\n                          }\n                        }\n                      }\n                    },\n                    {\n                      \"if\": {\n                        \"properties\": {\n                          \"connectionType\": {\n                            \"const\": \"iom\"\n                          }\n                        }\n                      },\n                      \"then\": {\n                        \"required\": [\n                          \"host\",\n                          \"username\",\n                          \"port\"\n                        ],\n                        \"properties\": {\n                          \"host\": {\n                            \"type\": \"string\",\n                            \"default\": \"\",\n                            \"description\": \"%configuration.SAS.connectionProfiles.profiles.iom.host%\"\n                          },\n                          \"username\": {\n                            \"type\": \"string\",\n                            \"default\": \"\",\n                            \"description\": \"%configuration.SAS.connectionProfiles.profiles.iom.username%\"\n                          },\n                          \"port\": {\n                            \"type\": \"number\",\n                            \"default\": 8591,\n                            \"description\": \"%configuration.SAS.connectionProfiles.profiles.iom.port%\",\n                            \"exclusiveMinimum\": 1,\n                            \"exclusiveMaximum\": 65535\n                          },\n                          \"interopLibraryFolderPath\": {\n                            \"type\": \"string\",\n                            \"default\": \"\",\n                            \"description\": \"%configuration.SAS.connectionProfiles.profiles.iom.interopLibraryFolderPath%\"\n                          },\n                          \"fileNavigationCustomRootPath\": {\n                            \"type\": \"string\",\n                            \"default\": \"\",\n                            \"description\": \"%configuration.SAS.connectionProfiles.profiles.fileNavigationCustomRootPath%\"\n                          },\n                          \"fileNavigationRoot\": {\n                            \"type\": \"string\",\n                            \"default\": \"USER\",\n                            \"description\": \"%configuration.SAS.connectionProfiles.profiles.fileNavigationRoot%\",\n                            \"enum\": [\n                              \"CUSTOM\",\n                              \"USER\",\n                              \"SYSTEM\"\n                            ]\n                          }\n                        }\n                      }\n                    },\n                    {\n                      \"if\": {\n                        \"properties\": {\n                          \"connectionType\": {\n                            \"const\": \"com\"\n                          }\n                        }\n                      },\n                      \"then\": {\n                        \"required\": [\n                          \"host\"\n                        ],\n                        \"properties\": {\n                          \"host\": {\n                            \"type\": \"string\",\n                            \"default\": \"\",\n                            \"description\": \"%configuration.SAS.connectionProfiles.profiles.com.host%\"\n                          },\n                          \"interopLibraryFolderPath\": {\n                            \"type\": \"string\",\n                            \"default\": \"\",\n                            \"description\": \"%configuration.SAS.connectionProfiles.profiles.com.interopLibraryFolderPath%\"\n                          },\n                          \"fileNavigationCustomRootPath\": {\n                            \"type\": \"string\",\n                            \"default\": \"\",\n                            \"description\": \"%configuration.SAS.connectionProfiles.profiles.fileNavigationCustomRootPath%\"\n                          },\n                          \"fileNavigationRoot\": {\n                            \"type\": \"string\",\n                            \"default\": \"USER\",\n                            \"description\": \"%configuration.SAS.connectionProfiles.profiles.fileNavigationRoot%\",\n                            \"enum\": [\n                              \"CUSTOM\",\n                              \"USER\",\n                              \"SYSTEM\"\n                            ]\n                          }\n                        }\n                      }\n                    }\n                  ]\n                }\n              }\n            }\n          },\n          \"SAS.userProvidedCertificates\": {\n            \"order\": 1,\n            \"type\": \"array\",\n            \"description\": \"%configuration.SAS.userProvidedCertificates%\",\n            \"items\": {\n              \"type\": \"string\"\n            }\n          },\n          \"SAS.results.sideBySide\": {\n            \"order\": 2,\n            \"type\": \"boolean\",\n            \"default\": true,\n            \"description\": \"%configuration.SAS.results.sideBySide%\"\n          },\n          \"SAS.results.singlePanel\": {\n            \"order\": 3,\n            \"type\": \"boolean\",\n            \"default\": false,\n            \"description\": \"%configuration.SAS.results.singlePanel%\"\n          },\n          \"SAS.results.html.enabled\": {\n            \"order\": 4,\n            \"type\": \"boolean\",\n            \"default\": true,\n            \"description\": \"%configuration.SAS.results.html.enabled%\"\n          },\n          \"SAS.results.html.style\": {\n            \"order\": 5,\n            \"type\": \"string\",\n            \"default\": \"(auto)\",\n            \"enum\": [\n              \"(auto)\",\n              \"(server default)\",\n              \"Aqua\",\n              \"Daisy\",\n              \"Dove\",\n              \"HighContrast\",\n              \"HighContrastLarge\",\n              \"HTMLBlue\",\n              \"HTMLEncore\",\n              \"Ignite\",\n              \"Illuminate\",\n              \"Journal\",\n              \"Journal2\",\n              \"Journal3\",\n              \"Marine\",\n              \"Midnight\",\n              \"Moonflower\",\n              \"Opal\",\n              \"Pearl\",\n              \"Sapphire\"\n            ],\n            \"enumDescriptions\": [\n              \"%configuration.SAS.results.html.style.(auto)%\",\n              \"%configuration.SAS.results.html.style.(server default)%\"\n            ],\n            \"description\": \"%configuration.SAS.results.html.style%\"\n          },\n          \"SAS.results.html.custom.style\": {\n            \"type\": \"object\",\n            \"default\": {},\n            \"markdownDescription\": \"%configuration.SAS.results.html.custom.style%\",\n            \"properties\": {\n              \"light\": {\n                \"type\": \"string\",\n                \"description\": \"%configuration.SAS.results.html.custom.style.light%\"\n              },\n              \"dark\": {\n                \"type\": \"string\",\n                \"description\": \"%configuration.SAS.results.html.custom.style.dark%\"\n              },\n              \"highContrast\": {\n                \"type\": \"string\",\n                \"description\": \"%configuration.SAS.results.html.custom.style.highContrast%\"\n              },\n              \"highContrastLight\": {\n                \"type\": \"string\",\n                \"description\": \"%configuration.SAS.results.html.custom.style.highContrastLight%\"\n              }\n            }\n          },\n          \"SAS.problems.log.enabled\": {\n            \"type\": \"boolean\",\n            \"default\": true,\n            \"description\": \"%configuration.SAS.problems.log.enabled%\"\n          },\n          \"SAS.flowConversionMode\": {\n            \"order\": 6,\n            \"type\": \"string\",\n            \"default\": \"Swimlane\",\n            \"enum\": [\n              \"Swimlane\",\n              \"Node\"\n            ],\n            \"description\": \"%configuration.SAS.flowConversionMode%\",\n            \"enumDescriptions\": [\n              \"%configuration.SAS.flowConversionModeSwimlane%\",\n              \"%configuration.SAS.flowConversionModeNode%\"\n            ]\n          },\n          \"SAS.log.showOnExecutionStart\": {\n            \"order\": 7,\n            \"type\": \"boolean\",\n            \"default\": true,\n            \"description\": \"%configuration.SAS.log.showOnExecutionStart%\"\n          },\n          \"SAS.log.showOnExecutionFinish\": {\n            \"order\": 8,\n            \"type\": \"boolean\",\n            \"default\": true,\n            \"description\": \"%configuration.SAS.log.showOnExecutionFinish%\"\n          },\n          \"SAS.log.clearOnExecutionStart\": {\n            \"order\": 9,\n            \"type\": \"boolean\",\n            \"default\": true,\n            \"description\": \"%configuration.SAS.log.clearOnExecutionStart%\"\n          },\n          \"SAS.notebook.export.includeLog\": {\n            \"order\": 10,\n            \"type\": \"boolean\",\n            \"default\": false,\n            \"description\": \"%configuration.SAS.notebook.export.includeLog%\"\n          }\n        }\n      }\n    ],\n    \"configurationDefaults\": {\n      \"[sas]\": {\n        \"editor.formatOnType\": true,\n        \"editor.formatOnPaste\": true,\n        \"editor.defaultFormatter\": \"SAS.sas-lsp\"\n      }\n    },\n    \"commands\": [\n      {\n        \"command\": \"SAS.run\",\n        \"title\": \"%commands.SAS.run%\",\n        \"icon\": {\n          \"light\": \"icons/light/submitSASCode.svg\",\n          \"dark\": \"icons/dark/submitSASCode.svg\"\n        },\n        \"enablement\": \"!SAS.running\",\n        \"category\": \"SAS\"\n      },\n      {\n        \"command\": \"SAS.runSelected\",\n        \"title\": \"%commands.SAS.runSelected%\",\n        \"icon\": {\n          \"light\": \"icons/light/submitSASCode.svg\",\n          \"dark\": \"icons/dark/submitSASCode.svg\"\n        },\n        \"enablement\": \"!SAS.running\",\n        \"category\": \"SAS\"\n      },\n      {\n        \"command\": \"SAS.runRegion\",\n        \"title\": \"%commands.SAS.runRegion%\",\n        \"icon\": {\n          \"light\": \"icons/light/submitSASCode.svg\",\n          \"dark\": \"icons/dark/submitSASCode.svg\"\n        },\n        \"enablement\": \"!SAS.running\",\n        \"category\": \"SAS\"\n      },\n      {\n        \"command\": \"SAS.close\",\n        \"title\": \"%commands.SAS.close%\",\n        \"icon\": {\n          \"light\": \"icons/light/connectorNodeIndicator.svg\",\n          \"dark\": \"icons/dark/connectorNodeIndicator.svg\"\n        },\n        \"category\": \"SAS\"\n      },\n      {\n        \"command\": \"SAS.switchProfile\",\n        \"title\": \"%commands.SAS.switchProfile%\",\n        \"category\": \"SAS\"\n      },\n      {\n        \"command\": \"SAS.addProfile\",\n        \"title\": \"%commands.SAS.addProfile%\",\n        \"category\": \"SAS\"\n      },\n      {\n        \"command\": \"SAS.deleteProfile\",\n        \"title\": \"%commands.SAS.deleteProfile%\",\n        \"category\": \"SAS\"\n      },\n      {\n        \"command\": \"SAS.updateProfile\",\n        \"title\": \"%commands.SAS.updateProfile%\",\n        \"category\": \"SAS\"\n      },\n      {\n        \"command\": \"SAS.authorize\",\n        \"title\": \"%commands.SAS.authorize%\",\n        \"category\": \"SAS\"\n      },\n      {\n        \"command\": \"SAS.content.copyPath\",\n        \"title\": \"%commands.SAS.copyPath%\",\n        \"category\": \"SAS\"\n      },\n      {\n        \"command\": \"SAS.content.deleteResource\",\n        \"title\": \"%commands.SAS.deleteResource%\",\n        \"category\": \"SAS\"\n      },\n      {\n        \"command\": \"SAS.content.addFileResource\",\n        \"title\": \"%commands.SAS.addFileResource%\",\n        \"category\": \"SAS\"\n      },\n      {\n        \"command\": \"SAS.content.addFolderResource\",\n        \"title\": \"%commands.SAS.addFolderResource%\",\n        \"category\": \"SAS\"\n      },\n      {\n        \"command\": \"SAS.content.renameResource\",\n        \"title\": \"%commands.SAS.renameResource%\",\n        \"category\": \"SAS\"\n      },\n      {\n        \"command\": \"SAS.content.restoreResource\",\n        \"title\": \"%commands.SAS.restoreResource%\",\n        \"category\": \"SAS\"\n      },\n      {\n        \"command\": \"SAS.content.emptyRecycleBin\",\n        \"title\": \"%commands.SAS.emptyRecycleBin%\",\n        \"category\": \"SAS\"\n      },\n      {\n        \"command\": \"SAS.content.addToFavorites\",\n        \"title\": \"%commands.SAS.addToFavorites%\",\n        \"category\": \"SAS\"\n      },\n      {\n        \"command\": \"SAS.content.convertNotebookToFlow\",\n        \"title\": \"%commands.SAS.convertNotebookToFlow%\",\n        \"category\": \"SAS\"\n      },\n      {\n        \"command\": \"SAS.content.removeFromFavorites\",\n        \"title\": \"%commands.SAS.removeFromFavorites%\",\n        \"category\": \"SAS\"\n      },\n      {\n        \"command\": \"SAS.content.refreshContent\",\n        \"title\": \"%commands.SAS.refresh%\",\n        \"category\": \"SAS\",\n        \"icon\": \"$(refresh)\"\n      },\n      {\n        \"command\": \"SAS.content.collapseAllContent\",\n        \"title\": \"%commands.SAS.collapseAll%\",\n        \"category\": \"SAS\",\n        \"icon\": \"$(collapse-all)\"\n      },\n      {\n        \"command\": \"SAS.content.downloadResource\",\n        \"title\": \"%commands.SAS.download%\",\n        \"category\": \"SAS\"\n      },\n      {\n        \"command\": \"SAS.content.uploadResource\",\n        \"title\": \"%commands.SAS.upload%\",\n        \"category\": \"SAS\"\n      },\n      {\n        \"command\": \"SAS.content.uploadFileResource\",\n        \"title\": \"%commands.SAS.uploadFiles%\",\n        \"category\": \"SAS\"\n      },\n      {\n        \"command\": \"SAS.content.uploadFolderResource\",\n        \"title\": \"%commands.SAS.uploadFolders%\",\n        \"category\": \"SAS\"\n      },\n      {\n        \"command\": \"SAS.server.copyPath\",\n        \"title\": \"%commands.SAS.copyPath%\",\n        \"category\": \"SAS\"\n      },\n      {\n        \"command\": \"SAS.server.deleteResource\",\n        \"title\": \"%commands.SAS.deleteResource%\",\n        \"category\": \"SAS\"\n      },\n      {\n        \"command\": \"SAS.server.addFileResource\",\n        \"title\": \"%commands.SAS.addFileResource%\",\n        \"category\": \"SAS\"\n      },\n      {\n        \"command\": \"SAS.server.addFolderResource\",\n        \"title\": \"%commands.SAS.addFolderResource%\",\n        \"category\": \"SAS\"\n      },\n      {\n        \"command\": \"SAS.server.renameResource\",\n        \"title\": \"%commands.SAS.renameResource%\",\n        \"category\": \"SAS\"\n      },\n      {\n        \"command\": \"SAS.server.restoreResource\",\n        \"title\": \"%commands.SAS.restoreResource%\",\n        \"category\": \"SAS\"\n      },\n      {\n        \"command\": \"SAS.server.emptyRecycleBin\",\n        \"title\": \"%commands.SAS.emptyRecycleBin%\",\n        \"category\": \"SAS\"\n      },\n      {\n        \"command\": \"SAS.server.addToFavorites\",\n        \"title\": \"%commands.SAS.addToFavorites%\",\n        \"category\": \"SAS\"\n      },\n      {\n        \"command\": \"SAS.server.convertNotebookToFlow\",\n        \"title\": \"%commands.SAS.convertNotebookToFlow%\",\n        \"category\": \"SAS\"\n      },\n      {\n        \"command\": \"SAS.server.removeFromFavorites\",\n        \"title\": \"%commands.SAS.removeFromFavorites%\",\n        \"category\": \"SAS\"\n      },\n      {\n        \"command\": \"SAS.server.refreshContent\",\n        \"title\": \"%commands.SAS.refresh%\",\n        \"category\": \"SAS\",\n        \"icon\": \"$(refresh)\"\n      },\n      {\n        \"command\": \"SAS.server.collapseAllContent\",\n        \"title\": \"%commands.SAS.collapseAll%\",\n        \"category\": \"SAS\",\n        \"icon\": \"$(collapse-all)\"\n      },\n      {\n        \"command\": \"SAS.server.downloadResource\",\n        \"title\": \"%commands.SAS.download%\",\n        \"category\": \"SAS\"\n      },\n      {\n        \"command\": \"SAS.server.uploadResource\",\n        \"title\": \"%commands.SAS.upload%\",\n        \"category\": \"SAS\"\n      },\n      {\n        \"command\": \"SAS.server.uploadFileResource\",\n        \"title\": \"%commands.SAS.uploadFiles%\",\n        \"category\": \"SAS\"\n      },\n      {\n        \"command\": \"SAS.server.uploadFolderResource\",\n        \"title\": \"%commands.SAS.uploadFolders%\",\n        \"category\": \"SAS\"\n      },\n      {\n        \"command\": \"SAS.refreshLibraries\",\n        \"title\": \"%commands.SAS.refresh%\",\n        \"category\": \"SAS\",\n        \"icon\": \"$(refresh)\"\n      },\n      {\n        \"command\": \"SAS.collapseAllLibraries\",\n        \"title\": \"%commands.SAS.collapseAll%\",\n        \"category\": \"SAS\",\n        \"icon\": \"$(collapse-all)\"\n      },\n      {\n        \"command\": \"SAS.deleteTable\",\n        \"title\": \"%commands.SAS.deleteTable%\",\n        \"category\": \"SAS\"\n      },\n      {\n        \"command\": \"SAS.downloadTable\",\n        \"title\": \"%commands.SAS.download%\",\n        \"category\": \"SAS\"\n      },\n      {\n        \"command\": \"SAS.showTableProperties\",\n        \"title\": \"%commands.SAS.showTableProperties%\",\n        \"category\": \"SAS\"\n      },\n      {\n        \"command\": \"SAS.notebook.new\",\n        \"shortTitle\": \"%commands.SAS.notebook.new.short%\",\n        \"title\": \"%commands.SAS.notebook.new%\",\n        \"category\": \"SAS Notebook\"\n      },\n      {\n        \"command\": \"SAS.notebook.export\",\n        \"title\": \"%commands.SAS.notebook.export%\",\n        \"category\": \"SAS Notebook\"\n      },\n      {\n        \"command\": \"SAS.notebook.saveOutput\",\n        \"title\": \"%commands.SAS.notebook.saveOutput%\",\n        \"category\": \"SAS Notebook\"\n      },\n      {\n        \"command\": \"SAS.file.new\",\n        \"shortTitle\": \"%commands.SAS.file.new.short%\",\n        \"title\": \"%commands.SAS.file.new%\",\n        \"category\": \"SAS\"\n      },\n      {\n        \"command\": \"SAS.saveHTML\",\n        \"title\": \"%commands.SAS.download%\",\n        \"category\": \"SAS\"\n      },\n      {\n        \"command\": \"SAS.toggleLineComment\",\n        \"title\": \"%commands.SAS.toggleLineComment%\",\n        \"category\": \"SAS\"\n      }\n    ],\n    \"keybindings\": [\n      {\n        \"when\": \"editorFocus && (editorLangId == sas || (editorLangId =~ /^(python|r|sql)$/ && resourceScheme =~ /^sas(Content|Server).*/)) && !SAS.hideRunMenuItem\",\n        \"command\": \"SAS.run\",\n        \"key\": \"f8\"\n      },\n      {\n        \"when\": \"(editorLangId == sas || (editorLangId =~ /^(python|r|sql)$/ && resourceScheme =~ /^sas(Content|Server).*/)) && !SAS.hideRunMenuItem\",\n        \"command\": \"SAS.runSelected\",\n        \"key\": \"f3\"\n      },\n      {\n        \"key\": \"ctrl+/\",\n        \"mac\": \"cmd+/\",\n        \"command\": \"SAS.toggleLineComment\",\n        \"when\": \"editorTextFocus && editorLangId == 'sas'\"\n      },\n      {\n        \"when\": \"focusedView == contentdataprovider\",\n        \"command\": \"SAS.content.deleteResource\",\n        \"key\": \"delete\"\n      },\n      {\n        \"when\": \"focusedView == serverdataprovider\",\n        \"command\": \"SAS.server.deleteResource\",\n        \"key\": \"delete\"\n      }\n    ],\n    \"menus\": {\n      \"webview/context\": [\n        {\n          \"command\": \"SAS.saveHTML\",\n          \"when\": \"webviewId =~ /SASResultPanel/\"\n        }\n      ],\n      \"view/title\": [\n        {\n          \"command\": \"SAS.content.refreshContent\",\n          \"when\": \"view == contentdataprovider\",\n          \"group\": \"navigation@0\"\n        },\n        {\n          \"command\": \"SAS.content.collapseAllContent\",\n          \"when\": \"view == contentdataprovider\",\n          \"group\": \"navigation@1\"\n        },\n        {\n          \"command\": \"SAS.server.refreshContent\",\n          \"when\": \"view == serverdataprovider\",\n          \"group\": \"navigation@0\"\n        },\n        {\n          \"command\": \"SAS.server.collapseAllContent\",\n          \"when\": \"view == serverdataprovider\",\n          \"group\": \"navigation@1\"\n        },\n        {\n          \"command\": \"SAS.refreshLibraries\",\n          \"when\": \"view == librarydataprovider\",\n          \"group\": \"navigation@0\"\n        },\n        {\n          \"command\": \"SAS.collapseAllLibraries\",\n          \"when\": \"view == librarydataprovider\",\n          \"group\": \"navigation@1\"\n        }\n      ],\n      \"explorer/context\": [\n        {\n          \"command\": \"SAS.content.convertNotebookToFlow\",\n          \"when\": \"resourceExtname == .sasnb && SAS.connectionType == rest && !SAS.connection.direct\",\n          \"group\": \"actionsgroup@0\"\n        }\n      ],\n      \"view/item/context\": [\n        {\n          \"command\": \"SAS.deleteTable\",\n          \"when\": \"viewItem =~ /table-actionable/ && view == librarydataprovider\",\n          \"group\": \"delete@0\"\n        },\n        {\n          \"command\": \"SAS.downloadTable\",\n          \"when\": \"viewItem =~ /table-/ && view == librarydataprovider\",\n          \"group\": \"download@0\"\n        },\n        {\n          \"command\": \"SAS.showTableProperties\",\n          \"when\": \"viewItem =~ /table-/ && view == librarydataprovider\",\n          \"group\": \"properties@0\"\n        },\n        {\n          \"command\": \"SAS.content.addFolderResource\",\n          \"when\": \"viewItem =~ /createChild/ && view == contentdataprovider && !listMultiSelection\",\n          \"group\": \"addgroup@0\"\n        },\n        {\n          \"command\": \"SAS.content.addFileResource\",\n          \"when\": \"viewItem =~ /createChild/ && view == contentdataprovider && !listMultiSelection\",\n          \"group\": \"addgroup@1\"\n        },\n        {\n          \"command\": \"SAS.content.addToFavorites\",\n          \"when\": \"viewItem =~ /addToFavorites/ && view == contentdataprovider\",\n          \"group\": \"favoritesgroup@0\"\n        },\n        {\n          \"command\": \"SAS.content.removeFromFavorites\",\n          \"when\": \"viewItem =~ /removeFromFavorites/ && view == contentdataprovider\",\n          \"group\": \"favoritesgroup@1\"\n        },\n        {\n          \"command\": \"SAS.content.copyPath\",\n          \"when\": \"viewItem =~ /copyPath/ && view == contentdataprovider && !listMultiSelection\",\n          \"group\": \"copypathgroup@0\"\n        },\n        {\n          \"command\": \"SAS.content.renameResource\",\n          \"when\": \"viewItem =~ /update/ && view == contentdataprovider && !listMultiSelection\",\n          \"group\": \"delrenamegroup@0\"\n        },\n        {\n          \"command\": \"SAS.content.deleteResource\",\n          \"when\": \"viewItem =~ /delete/ && view == contentdataprovider\",\n          \"group\": \"delrenamegroup@1\"\n        },\n        {\n          \"command\": \"SAS.content.convertNotebookToFlow\",\n          \"when\": \"viewItem =~ /convertNotebookToFlow/ && view == contentdataprovider && !listMultiSelection\",\n          \"group\": \"actionsgroup@0\"\n        },\n        {\n          \"command\": \"SAS.content.restoreResource\",\n          \"when\": \"viewItem =~ /restore/ && view == contentdataprovider\",\n          \"group\": \"restoregroup@0\"\n        },\n        {\n          \"command\": \"SAS.content.emptyRecycleBin\",\n          \"when\": \"viewItem =~ /empty/ && view == contentdataprovider\",\n          \"group\": \"emptygroup@0\"\n        },\n        {\n          \"command\": \"SAS.content.downloadResource\",\n          \"when\": \"(viewItem =~ /update/ || viewItem =~ /createChild/) && view == contentdataprovider\",\n          \"group\": \"uploaddownloadgroup@0\"\n        },\n        {\n          \"command\": \"SAS.content.uploadResource\",\n          \"when\": \"(viewItem =~ /update/ || viewItem =~ /createChild/) && view == contentdataprovider && !listMultiSelection && workspacePlatform == mac\",\n          \"group\": \"uploaddownloadgroup@1\"\n        },\n        {\n          \"command\": \"SAS.content.uploadFileResource\",\n          \"when\": \"(viewItem =~ /update/ || viewItem =~ /createChild/) && view == contentdataprovider && !listMultiSelection && workspacePlatform != mac\",\n          \"group\": \"uploaddownloadgroup@1\"\n        },\n        {\n          \"command\": \"SAS.content.uploadFolderResource\",\n          \"when\": \"(viewItem =~ /update/ || viewItem =~ /createChild/) && view == contentdataprovider && !listMultiSelection && workspacePlatform != mac\",\n          \"group\": \"uploaddownloadgroup@1\"\n        },\n        {\n          \"command\": \"SAS.server.addFolderResource\",\n          \"when\": \"viewItem =~ /createChild/ && view == serverdataprovider\",\n          \"group\": \"addgroup@0\"\n        },\n        {\n          \"command\": \"SAS.server.addFileResource\",\n          \"when\": \"viewItem =~ /createChild/ && view == serverdataprovider\",\n          \"group\": \"addgroup@1\"\n        },\n        {\n          \"command\": \"SAS.server.addToFavorites\",\n          \"when\": \"viewItem =~ /addToFavorites/ && view == serverdataprovider\",\n          \"group\": \"favoritesgroup@0\"\n        },\n        {\n          \"command\": \"SAS.server.removeFromFavorites\",\n          \"when\": \"viewItem =~ /removeFromFavorites/ && view == serverdataprovider\",\n          \"group\": \"favoritesgroup@1\"\n        },\n        {\n          \"command\": \"SAS.server.copyPath\",\n          \"when\": \"viewItem =~ /copyPath/ && view == serverdataprovider\",\n          \"group\": \"copypathgroup@0\"\n        },\n        {\n          \"command\": \"SAS.server.renameResource\",\n          \"when\": \"viewItem =~ /update/ && view == serverdataprovider && !listMultiSelection\",\n          \"group\": \"delrenamegroup@0\"\n        },\n        {\n          \"command\": \"SAS.server.deleteResource\",\n          \"when\": \"viewItem =~ /delete/ && view == serverdataprovider\",\n          \"group\": \"delrenamegroup@1\"\n        },\n        {\n          \"command\": \"SAS.server.convertNotebookToFlow\",\n          \"when\": \"viewItem =~ /convertNotebookToFlow/ && view == serverdataprovider && SAS.connectionType != iom && SAS.connectionType != com \",\n          \"group\": \"actionsgroup@0\"\n        },\n        {\n          \"command\": \"SAS.server.restoreResource\",\n          \"when\": \"viewItem =~ /restore/ && view == serverdataprovider\",\n          \"group\": \"restoregroup@0\"\n        },\n        {\n          \"command\": \"SAS.server.emptyRecycleBin\",\n          \"when\": \"viewItem =~ /empty/ && view == serverdataprovider\",\n          \"group\": \"emptygroup@0\"\n        },\n        {\n          \"command\": \"SAS.server.downloadResource\",\n          \"when\": \"(viewItem =~ /update/ || viewItem =~ /createChild/) && view == serverdataprovider\",\n          \"group\": \"uploaddownloadgroup@0\"\n        },\n        {\n          \"command\": \"SAS.server.uploadResource\",\n          \"when\": \"(viewItem =~ /update/ || viewItem =~ /createChild/) && view == serverdataprovider && !listMultiSelection && workspacePlatform == mac\",\n          \"group\": \"uploaddownloadgroup@1\"\n        },\n        {\n          \"command\": \"SAS.server.uploadFileResource\",\n          \"when\": \"(viewItem =~ /update/ || viewItem =~ /createChild/) && view == serverdataprovider && !listMultiSelection && workspacePlatform != mac\",\n          \"group\": \"uploaddownloadgroup@1\"\n        },\n        {\n          \"command\": \"SAS.server.uploadFolderResource\",\n          \"when\": \"(viewItem =~ /update/ || viewItem =~ /createChild/) && view == serverdataprovider && !listMultiSelection && workspacePlatform != mac\",\n          \"group\": \"uploaddownloadgroup@1\"\n        }\n      ],\n      \"editor/title/run\": [\n        {\n          \"when\": \"(editorLangId == sas || (editorLangId =~ /^(python|r|sql)$/ && resourceScheme =~ /^sas(Content|Server).*/)) && !SAS.hideRunMenuItem\",\n          \"command\": \"SAS.runSelected\"\n        }\n      ],\n      \"editor/context\": [\n        {\n          \"when\": \"(editorLangId == sas || (editorLangId =~ /^(python|r|sql)$/ && resourceScheme =~ /^sas(Content|Server).*/)) && !SAS.hideRunMenuItem\",\n          \"command\": \"SAS.run\",\n          \"group\": \"navigation@2\"\n        },\n        {\n          \"when\": \"(editorLangId == sas || (editorLangId =~ /^(python|r|sql)$/ && resourceScheme =~ /^sas(Content|Server).*/)) && !SAS.hideRunMenuItem\",\n          \"command\": \"SAS.runSelected\",\n          \"group\": \"navigation@1\"\n        },\n        {\n          \"when\": \"(editorLangId == sas || (editorLangId =~ /^(python|r|sql)$/ && resourceScheme =~ /^sas(Content|Server).*/)) && !SAS.hideRunMenuItem\",\n          \"command\": \"SAS.runRegion\",\n          \"group\": \"navigation@3\"\n        }\n      ],\n      \"notebook/toolbar\": [\n        {\n          \"when\": \"notebookType == 'sas-notebook'\",\n          \"command\": \"SAS.notebook.export\"\n        }\n      ],\n      \"notebook/cell/title\": [\n        {\n          \"command\": \"SAS.notebook.saveOutput\",\n          \"when\": \"notebookType == 'sas-notebook' && notebookCellHasOutputs\"\n        }\n      ],\n      \"commandPalette\": [\n        {\n          \"when\": \"(editorLangId == sas || (editorLangId =~ /^(python|r|sql)$/ && resourceScheme =~ /^sas(Content|Server).*/)) && !SAS.hideRunMenuItem\",\n          \"command\": \"SAS.run\"\n        },\n        {\n          \"when\": \"(editorLangId == sas || (editorLangId =~ /^(python|r|sql)$/ && resourceScheme =~ /^sas(Content|Server).*/)) && !SAS.hideRunMenuItem\",\n          \"command\": \"SAS.runSelected\"\n        },\n        {\n          \"when\": \"(editorLangId == sas || (editorLangId =~ /^(python|r|sql)$/ && resourceScheme =~ /^sas(Content|Server).*/)) && !SAS.hideRunMenuItem\",\n          \"command\": \"SAS.runRegion\"\n        },\n        {\n          \"command\": \"SAS.authorize\",\n          \"when\": \"(!SAS.authorized && SAS.connectionType == rest) && !SAS.connection.direct\"\n        },\n        {\n          \"when\": \"false\",\n          \"command\": \"SAS.collapseAllLibraries\"\n        },\n        {\n          \"when\": \"false\",\n          \"command\": \"SAS.content.addFileResource\"\n        },\n        {\n          \"when\": \"false\",\n          \"command\": \"SAS.content.addFolderResource\"\n        },\n        {\n          \"when\": \"false\",\n          \"command\": \"SAS.content.addToFavorites\"\n        },\n        {\n          \"when\": \"false\",\n          \"command\": \"SAS.content.collapseAllContent\"\n        },\n        {\n          \"when\": \"false\",\n          \"command\": \"SAS.content.convertNotebookToFlow\"\n        },\n        {\n          \"when\": \"false\",\n          \"command\": \"SAS.content.copyPath\"\n        },\n        {\n          \"when\": \"false\",\n          \"command\": \"SAS.content.deleteResource\"\n        },\n        {\n          \"when\": \"false\",\n          \"command\": \"SAS.content.downloadResource\"\n        },\n        {\n          \"when\": \"false\",\n          \"command\": \"SAS.content.emptyRecycleBin\"\n        },\n        {\n          \"when\": \"false\",\n          \"command\": \"SAS.content.refreshContent\"\n        },\n        {\n          \"when\": \"false\",\n          \"command\": \"SAS.content.removeFromFavorites\"\n        },\n        {\n          \"when\": \"false\",\n          \"command\": \"SAS.content.renameResource\"\n        },\n        {\n          \"when\": \"false\",\n          \"command\": \"SAS.content.restoreResource\"\n        },\n        {\n          \"when\": \"false\",\n          \"command\": \"SAS.content.uploadFileResource\"\n        },\n        {\n          \"when\": \"false\",\n          \"command\": \"SAS.content.uploadFolderResource\"\n        },\n        {\n          \"when\": \"false\",\n          \"command\": \"SAS.content.uploadResource\"\n        },\n        {\n          \"when\": \"false\",\n          \"command\": \"SAS.deleteTable\"\n        },\n        {\n          \"when\": \"false\",\n          \"command\": \"SAS.downloadTable\"\n        },\n        {\n          \"when\": \"false\",\n          \"command\": \"SAS.notebook.export\"\n        },\n        {\n          \"when\": \"false\",\n          \"command\": \"SAS.notebook.saveOutput\"\n        },\n        {\n          \"when\": \"false\",\n          \"command\": \"SAS.refreshLibraries\"\n        },\n        {\n          \"when\": \"false\",\n          \"command\": \"SAS.saveHTML\"\n        },\n        {\n          \"when\": \"false\",\n          \"command\": \"SAS.server.addFileResource\"\n        },\n        {\n          \"when\": \"false\",\n          \"command\": \"SAS.server.addFolderResource\"\n        },\n        {\n          \"when\": \"false\",\n          \"command\": \"SAS.server.addToFavorites\"\n        },\n        {\n          \"when\": \"false\",\n          \"command\": \"SAS.server.collapseAllContent\"\n        },\n        {\n          \"when\": \"false\",\n          \"command\": \"SAS.server.convertNotebookToFlow\"\n        },\n        {\n          \"when\": \"false\",\n          \"command\": \"SAS.server.copyPath\"\n        },\n        {\n          \"when\": \"false\",\n          \"command\": \"SAS.server.deleteResource\"\n        },\n        {\n          \"when\": \"false\",\n          \"command\": \"SAS.server.downloadResource\"\n        },\n        {\n          \"when\": \"false\",\n          \"command\": \"SAS.server.emptyRecycleBin\"\n        },\n        {\n          \"when\": \"false\",\n          \"command\": \"SAS.server.refreshContent\"\n        },\n        {\n          \"when\": \"false\",\n          \"command\": \"SAS.server.removeFromFavorites\"\n        },\n        {\n          \"when\": \"false\",\n          \"command\": \"SAS.server.renameResource\"\n        },\n        {\n          \"when\": \"false\",\n          \"command\": \"SAS.server.restoreResource\"\n        },\n        {\n          \"when\": \"false\",\n          \"command\": \"SAS.server.uploadFileResource\"\n        },\n        {\n          \"when\": \"false\",\n          \"command\": \"SAS.server.uploadFolderResource\"\n        },\n        {\n          \"when\": \"false\",\n          \"command\": \"SAS.server.uploadResource\"\n        },\n        {\n          \"when\": \"false\",\n          \"command\": \"SAS.showTableProperties\"\n        }\n      ],\n      \"file/newFile\": [\n        {\n          \"command\": \"SAS.notebook.new\",\n          \"group\": \"notebook\"\n        },\n        {\n          \"command\": \"SAS.file.new\",\n          \"group\": \"file\"\n        }\n      ]\n    },\n    \"languages\": [\n      {\n        \"id\": \"sas\",\n        \"aliases\": [\n          \"SAS\"\n        ],\n        \"extensions\": [\n          \".sas\"\n        ],\n        \"icon\": {\n          \"dark\": \"icons/dark/sasProgramFileDark.svg\",\n          \"light\": \"icons/light/sasProgramFileLight.svg\"\n        },\n        \"configuration\": \"./language-configuration.json\"\n      },\n      {\n        \"id\": \"sas-log\"\n      }\n    ],\n    \"grammars\": [\n      {\n        \"scopeName\": \"source.sassql\",\n        \"path\": \"./syntaxes/sassql.tmLanguage.json\",\n        \"injectTo\": [\n          \"source.sas\"\n        ]\n      },\n      {\n        \"language\": \"sas\",\n        \"scopeName\": \"source.sas\",\n        \"path\": \"./syntaxes/sas.tmLanguage.json\",\n        \"embeddedLanguages\": {\n          \"source.python\": \"python\",\n          \"source.lua\": \"lua\",\n          \"source.sql\": \"sql\",\n          \"source.r\": \"r\"\n        }\n      }\n    ],\n    \"themes\": [\n      {\n        \"label\": \"%themes.SAS.light%\",\n        \"uiTheme\": \"vs\",\n        \"path\": \"./themes/sas-light-color-theme.json\"\n      },\n      {\n        \"label\": \"%themes.SAS.dark%\",\n        \"uiTheme\": \"vs-dark\",\n        \"path\": \"./themes/sas-dark-color-theme.json\"\n      },\n      {\n        \"label\": \"%themes.SAS.highContrast%\",\n        \"uiTheme\": \"hc-black\",\n        \"path\": \"./themes/sas-highcontrast-color-theme.json\"\n      }\n    ],\n    \"snippets\": [\n      {\n        \"language\": \"sas\",\n        \"path\": \"./snippets/proc-snippets.json\"\n      }\n    ],\n    \"viewsContainers\": {\n      \"activitybar\": [\n        {\n          \"id\": \"sas-view-container\",\n          \"title\": \"SAS\",\n          \"icon\": \"icons/dark/sasIndicatorDark.svg\"\n        }\n      ]\n    },\n    \"views\": {\n      \"sas-view-container\": [\n        {\n          \"id\": \"contentdataprovider\",\n          \"name\": \"%views.SAS.explorer%\",\n          \"when\": \"SAS.authorized && SAS.connectionType == rest\"\n        },\n        {\n          \"id\": \"serverdataprovider\",\n          \"name\": \"%views.SAS.serverExplorer%\",\n          \"when\": \"(SAS.authorized || SAS.serverDisplayed) && SAS.serverEnabled\"\n        },\n        {\n          \"id\": \"librarydataprovider\",\n          \"name\": \"%views.SAS.libraries%\",\n          \"when\": \"((SAS.authorized || SAS.librariesDisplayed) && SAS.librariesEnabled) || SAS.connection.direct\"\n        },\n        {\n          \"id\": \"sas-content-get-started\",\n          \"name\": \"%views.SAS.signIn%\",\n          \"when\": \"(!(SAS.authorized || SAS.librariesDisplayed || SAS.serverDisplayed) && SAS.canSignIn) && !SAS.connection.direct\"\n        },\n        {\n          \"id\": \"sas-content-invalid-connection\",\n          \"name\": \"%views.SAS.signIn%\",\n          \"when\": \"!SAS.authorized && !SAS.canSignIn\"\n        }\n      ]\n    },\n    \"viewsWelcome\": [\n      {\n        \"view\": \"sas-content-get-started\",\n        \"contents\": \"%views.SAS.welcome%\",\n        \"enablement\": \"!SAS.authorizing\"\n      },\n      {\n        \"view\": \"sas-content-invalid-connection\",\n        \"contents\": \"%views.SAS.unsupportedConnection%\"\n      }\n    ],\n    \"notebooks\": [\n      {\n        \"type\": \"sas-notebook\",\n        \"displayName\": \"%notebooks.SAS.sasNotebook%\",\n        \"selector\": [\n          {\n            \"filenamePattern\": \"*.sasnb\"\n          }\n        ]\n      }\n    ],\n    \"notebookRenderer\": [\n      {\n        \"id\": \"sas-log-renderer\",\n        \"displayName\": \"%notebooks.SAS.logRenderer%\",\n        \"entrypoint\": \"./client/dist/notebook/LogRenderer.js\",\n        \"mimeTypes\": [\n          \"application/vnd.sas.compute.log.lines\"\n        ]\n      },\n      {\n        \"id\": \"sas-html-renderer\",\n        \"displayName\": \"%notebooks.SAS.htmlRenderer%\",\n        \"entrypoint\": \"./client/dist/notebook/HTMLRenderer.js\",\n        \"mimeTypes\": [\n          \"application/vnd.sas.ods.html5\"\n        ]\n      }\n    ]\n  },\n  \"repository\": {\n    \"type\": \"git\",\n    \"url\": \"https://github.com/sassoftware/vscode-sas-extension\"\n  },\n  \"bugs\": {\n    \"url\": \"https://github.com/sassoftware/vscode-sas-extension/issues\"\n  },\n  \"homepage\": \"https://www.sas.com\",\n  \"qna\": \"https://marketplace.visualstudio.com/items?itemName=SAS.sas-lsp&ssr=false#qna\",\n  \"scripts\": {\n    \"vscode:prepublish\": \"npm run lint && npm run compile && npm run compile-browser\",\n    \"lint\": \"node node_modules/eslint/bin/eslint.js \\\"./client/src/**/*.ts\\\" \\\"./client/src/**/*.tsx\\\" \\\"./server/src/**/*.ts\\\"\",\n    \"compile\": \"node ./tools/build.mjs\",\n    \"watch\": \"node ./tools/build.mjs dev\",\n    \"compile-browser\": \"webpack --mode production\",\n    \"watch-browser\": \"webpack --watch\",\n    \"format:check\": \"prettier --check .\",\n    \"format\": \"prettier --write .\",\n    \"pretest\": \"npm run compile && tsc -p ./client\",\n    \"test-client\": \"node ./client/out/test/runTest.js\",\n    \"test-server\": \"cross-env TS_NODE_PROJECT=./server/tsconfig.json mocha -r ts-node/register ./server/test/**/*.test.ts\",\n    \"test\": \"npm run test-server && npm run test-client\",\n    \"pseudoLocalize\": \"npx @vscode/l10n-dev export -o ./l10n ./client/src && npx @vscode/l10n-dev generate-pseudo -o ./l10n/ ./l10n/bundle.l10n.json ./package.nls.json\",\n    \"postinstall\": \"cd client && npm install && cd ../server && npm install && cd ..\",\n    \"copyright:check\": \"node ./tools/check-copyright.mjs\",\n    \"locale\": \"npx @vscode/l10n-dev export -o ./l10n ./client/src && node ./tools/locale.mjs\"\n  },\n  \"devDependencies\": {\n    \"@eslint/compat\": \"2.0.5\",\n    \"@trivago/prettier-plugin-sort-imports\": \"^6.0.2\",\n    \"@types/chai\": \"^4.3.11\",\n    \"@types/mocha\": \"^10.0.10\",\n    \"@types/node\": \"^25.0.10\",\n    \"@types/sinon\": \"^21.0.1\",\n    \"@typescript-eslint/eslint-plugin\": \"^8.53.1\",\n    \"@typescript-eslint/parser\": \"^8.32.1\",\n    \"@vscode/l10n-dev\": \"^0.0.35\",\n    \"buffer\": \"6.0.3\",\n    \"chai\": \"^4.4.1\",\n    \"concurrently\": \"^9.2.1\",\n    \"cross-env\": \"^10.1.0\",\n    \"esbuild\": \"^0.28.0\",\n    \"eslint\": \"^9.39.2\",\n    \"eslint-plugin-react\": \"^7.37.5\",\n    \"eslint-plugin-react-hooks\": \"^7.0.1\",\n    \"glob\": \"^13.0.3\",\n    \"mocha\": \"^11.7.5\",\n    \"papaparse\": \"^5.5.3\",\n    \"path-browserify\": \"^1.0.1\",\n    \"prettier\": \"^3.8.3\",\n    \"proxyquire\": \"^2.1.3\",\n    \"sinon\": \"^21.0.3\",\n    \"ts-loader\": \"^9.5.4\",\n    \"ts-node\": \"^10.9.2\",\n    \"ts-sinon\": \"^2.0.2\",\n    \"typescript\": \"^5.5.3\",\n    \"webpack\": \"^5.106.2\",\n    \"webpack-cli\": \"^7.0.2\"\n  }\n}\n"
  },
  {
    "path": "package.nls.de.json",
    "content": "{\n  \"commands.SAS.addFileResource\": \"Neue Datei...\",\n  \"commands.SAS.addFolderResource\": \"Neuer Ordner...\",\n  \"commands.SAS.addProfile\": \"Neues Verbindungsprofil hinzufügen\",\n  \"commands.SAS.addToFavorites\": \"Zu Meine Favoriten hinzufügen\",\n  \"commands.SAS.authorize\": \"Anmelden\",\n  \"commands.SAS.close\": \"Schließen der aktuellen Verbindung\",\n  \"commands.SAS.collapseAll\": \"Alles einklappen\",\n  \"commands.SAS.convertNotebookToFlow\": \"In Flow umwandeln...\",\n  \"commands.SAS.copyPath\": \"Pfad kopieren\",\n  \"commands.SAS.deleteProfile\": \"Verbindungsprofil löschen\",\n  \"commands.SAS.deleteResource\": \"Löschen\",\n  \"commands.SAS.deleteTable\": \"Löschen\",\n  \"commands.SAS.download\": \"Download\",\n  \"commands.SAS.emptyRecycleBin\": \"Papierkorb leeren\",\n  \"commands.SAS.file.new\": \"Neue SAS Datei\",\n  \"commands.SAS.file.new.short\": \"SAS Datei\",\n  \"commands.SAS.notebook.export\": \"Exportieren\",\n  \"commands.SAS.notebook.new\": \"Neues SAS Notebook\",\n  \"commands.SAS.notebook.new.short\": \"SAS Notebook\",\n  \"commands.SAS.notebook.saveOutput\": \"Ausgabe speichern\",\n  \"commands.SAS.refresh\": \"Aktualisieren\",\n  \"commands.SAS.removeFromFavorites\": \"Von Meine Faviorten entfernen\",\n  \"commands.SAS.renameResource\": \"Umbenennen...\",\n  \"commands.SAS.restoreResource\": \"Wiederherstellen\",\n  \"commands.SAS.run\": \"Allen SAS Code ausführen\",\n  \"commands.SAS.runRegion\": \"Auswahl ausführen\",\n  \"commands.SAS.runSelected\": \"Auswahl oder Allen SAS Code ausführen\",\n  \"commands.SAS.showTableProperties\": \"Eigenschaften\",\n  \"commands.SAS.switchProfile\": \"Aktuelles Verbindungsprofil wechseln\",\n  \"commands.SAS.toggleLineComment\": \"SAS-Code-Kommentare zeilenweise ein-/ausblenden\",\n  \"commands.SAS.updateProfile\": \"Verbindungsprofil aktualisieren\",\n  \"commands.SAS.upload\": \"Hochladen\",\n  \"commands.SAS.uploadFiles\": \"Dateien hochladen\",\n  \"commands.SAS.uploadFolders\": \"Ordner hochladen\",\n  \"configuration.SAS.connectionProfiles\": \"Definieren Sie das Verbindungsprofil für die Verbindung zum SAS-Server. Wenn Sie mehr als ein Profil definieren, können Sie zwischen ihnen wechseln.\",\n  \"configuration.SAS.connectionProfiles.activeProfile\": \"Aktives SAS Verbindungs Profil\",\n  \"configuration.SAS.connectionProfiles.profiles\": \"SAS Verbindungs Profile\",\n  \"configuration.SAS.connectionProfiles.profiles.autoExec\": \"SAS Verbindungs AutoExec\",\n  \"configuration.SAS.connectionProfiles.profiles.autoExec.filePath\": \"SAS Verbindungs AutoExec Dateipfad\",\n  \"configuration.SAS.connectionProfiles.profiles.autoExec.line\": \"SAS Verbindungs AutoExec Zeile\",\n  \"configuration.SAS.connectionProfiles.profiles.autoExec.type\": \"SAS Verbindungs AutoExec Typ\",\n  \"configuration.SAS.connectionProfiles.profiles.clientId\": \"SAS Viya Client ID\",\n  \"configuration.SAS.connectionProfiles.profiles.clientSecret\": \"SAS Viya Client Secret\",\n  \"configuration.SAS.connectionProfiles.profiles.com.host\": \"SAS COM Verbindungshost\",\n  \"configuration.SAS.connectionProfiles.profiles.com.interopLibraryFolderPath\": \"Pfad für SAS COM Interop-Bibliothek\",\n  \"configuration.SAS.connectionProfiles.profiles.connectionType\": \"SAS Verbindungsprofiltyp\",\n  \"configuration.SAS.connectionProfiles.profiles.context\": \"SAS Viya Kontext\",\n  \"configuration.SAS.connectionProfiles.profiles.endpoint\": \"SAS Viya Verbindungsprofil Endpunkt\",\n  \"configuration.SAS.connectionProfiles.profiles.fileNavigationCustomRootPath\": \"Benutzerdefinierter Stammverzeichnispfad des SAS-Servers\",\n  \"configuration.SAS.connectionProfiles.profiles.fileNavigationRoot\": \"Stammverzeichnis des SAS-Servers\",\n  \"configuration.SAS.connectionProfiles.profiles.iom.host\": \"SAS IOM Server\",\n  \"configuration.SAS.connectionProfiles.profiles.iom.interopLibraryFolderPath\": \"Pfad für SAS IOM Interop-Bibliothek\",\n  \"configuration.SAS.connectionProfiles.profiles.iom.port\": \"SAS IOM Serverport\",\n  \"configuration.SAS.connectionProfiles.profiles.iom.username\": \"SAS IOM Verbindungsbenutzername\",\n  \"configuration.SAS.connectionProfiles.profiles.name\": \"SAS Verbindungsprofilname\",\n  \"configuration.SAS.connectionProfiles.profiles.sasOptions\": \"SAS Verbindungs SAS Optionen\",\n  \"configuration.SAS.connectionProfiles.profiles.ssh.host\": \"SAS SSH Verbindungs SSH-Host\",\n  \"configuration.SAS.connectionProfiles.profiles.ssh.port\": \"SAS SSH Verbindungsport\",\n  \"configuration.SAS.connectionProfiles.profiles.ssh.privateKeyFilePath\": \"SAS SSH Private Key Dateipfad\",\n  \"configuration.SAS.connectionProfiles.profiles.ssh.saspath\": \"Ausführbarer Pfad für die SAS SSH-Verbindung\",\n  \"configuration.SAS.connectionProfiles.profiles.ssh.username\": \"SAS SSH Verbindungsbenutzername\",\n  \"configuration.SAS.flowConversionMode\": \"Wählen Sie den Konvertierungsmodus für Notebooks\",\n  \"configuration.SAS.flowConversionModeNode\": \"Jede Notebook-Zelle in einen Knoten umwandeln\",\n  \"configuration.SAS.flowConversionModeSwimlane\": \"Jede Notebook-Zelle in eine Swimlane umwandeln\",\n  \"configuration.SAS.log.clearOnExecutionStart\": \"SAS Log zurück setzen bevor der Code ausgeführt wird\",\n  \"configuration.SAS.log.showOnExecutionFinish\": \"SAS Log anzeigen wenn die Codeausführung beendet ist\",\n  \"configuration.SAS.log.showOnExecutionStart\": \"SAS Log anzeigen mit Beginn der Codeausführung\",\n  \"configuration.SAS.notebook.export.includeLog\": \"SAS-Log in exportiertes Notebook einschließen\",\n  \"configuration.SAS.problems.log.enabled\": \"Probleme aus dem SAS-Protokoll anzeigen\",\n  \"configuration.SAS.results.html.custom.style\": \"Legt fest, welcher SAS-Stil für die Schemata Light, Dark, HighContrast oder HighContrastLight verwendet werden soll. Diese Option wird wirksam, wenn `#SAS.results.html.style#` auf `(auto)` gesetzt ist.\",\n  \"configuration.SAS.results.html.custom.style.dark\": \"Zu verwendender Stil für Schema Dark\",\n  \"configuration.SAS.results.html.custom.style.highContrast\": \"Zu verwendender Stil für Schema High Contrast\",\n  \"configuration.SAS.results.html.custom.style.highContrastLight\": \"Zu verwendender Stil für Schema High Contrast Light\",\n  \"configuration.SAS.results.html.custom.style.light\": \"Zu verwendender Stil für Schema Light\",\n  \"configuration.SAS.results.html.enabled\": \"Aktiveren/deaktiveren der ODS HTML5 Ausgabe\",\n  \"configuration.SAS.results.html.style\": \"Lege den Style für ODS HTML5 Ergebnisse fest.\",\n  \"configuration.SAS.results.html.style.(auto)\": \"Lassen Sie die Erweiterung einen Stil auswählen, der dem Farbschema am ehesten entspricht.\",\n  \"configuration.SAS.results.html.style.(server default)\": \"Nutze den auf dem SAS Server konfigurierten Standardstyle.\",\n  \"configuration.SAS.results.sideBySide\": \"Ergebnisse neben dem Code anzeigen\",\n  \"configuration.SAS.results.singlePanel\": \"Ein Panel zur Anzeige der Ergebnisse wiederverwenden\",\n  \"configuration.SAS.userProvidedCertificates\": \"Bereitstellung von vertrauenswürdigen CA-Zertifikatsdateien\",\n  \"notebooks.SAS.htmlRenderer\": \"SAS HTML Renderer\",\n  \"notebooks.SAS.logRenderer\": \"SAS Log Renderer\",\n  \"notebooks.SAS.sasNotebook\": \"SAS Notebook\",\n  \"themes.SAS.dark\": \"SAS Dunkel\",\n  \"themes.SAS.highContrast\": \"SAS Hoher Kontrast\",\n  \"themes.SAS.light\": \"SAS Hell\",\n  \"views.SAS.explorer\": \"SAS Content\",\n  \"views.SAS.libraries\": \"Bibliotheken\",\n  \"views.SAS.serverExplorer\": \"SAS Server\",\n  \"views.SAS.signIn\": \"Anmelden\",\n  \"views.SAS.unsupportedConnection\": \"Ihre Verbindung unterstützt nicht die Navigation in SAS-Inhalten innerhalb der SAS Extension for Visual Studio Code. Sie können nur über die Explorer-Ansicht auf Dateien zugreifen.\",\n  \"views.SAS.welcome\": \"Um die SAS-Erweiterung für Visual Studio Code zu nutzen, müssen Sie sich bei SAS anmelden.\\n[Anmelden](command:SAS.authorize)\"\n}\n"
  },
  {
    "path": "package.nls.es.json",
    "content": "{\n  \"commands.SAS.addFileResource\": \"Nuevo archivo...\",\n  \"commands.SAS.addFolderResource\": \"Nueva carpeta...\",\n  \"commands.SAS.addProfile\": \"Añadir nuevo perfil de conexión\",\n  \"commands.SAS.addToFavorites\": \"Añadir a Mis favoritos\",\n  \"commands.SAS.authorize\": \"Conexión\",\n  \"commands.SAS.close\": \"Cerrar sesión actual\",\n  \"commands.SAS.collapseAll\": \"Contraer todo\",\n  \"commands.SAS.convertNotebookToFlow\": \"Convertir en flujo...\",\n  \"commands.SAS.copyPath\": \"Copiar ruta\",\n  \"commands.SAS.deleteProfile\": \"Eliminar perfil de conexión\",\n  \"commands.SAS.deleteResource\": \"Eliminar\",\n  \"commands.SAS.deleteTable\": \"Eliminar\",\n  \"commands.SAS.download\": \"Descargar\",\n  \"commands.SAS.emptyRecycleBin\": \"Vaciar papelera de reciclaje\",\n  \"commands.SAS.file.new\": \"Nuevo archivo SAS\",\n  \"commands.SAS.file.new.short\": \"Archivo SAS\",\n  \"commands.SAS.notebook.export\": \"Exportar\",\n  \"commands.SAS.notebook.new\": \"Nuevo bloc de notas SAS\",\n  \"commands.SAS.notebook.new.short\": \"Bloc de notas SAS\",\n  \"commands.SAS.notebook.saveOutput\": \"Guardar salida\",\n  \"commands.SAS.refresh\": \"Actualizar\",\n  \"commands.SAS.removeFromFavorites\": \"Quitar de Mis favoritos\",\n  \"commands.SAS.renameResource\": \"Renombrar...\",\n  \"commands.SAS.restoreResource\": \"Restaurar\",\n  \"commands.SAS.run\": \"Ejecutar todo el código SAS\",\n  \"commands.SAS.runRegion\": \"Ejecutar región\",\n  \"commands.SAS.runSelected\": \"Ejecutar seleccionado o todo el código SAS\",\n  \"commands.SAS.showTableProperties\": \"Propiedades\",\n  \"commands.SAS.switchProfile\": \"Cambiar perfil de conexión actual\",\n  \"commands.SAS.toggleLineComment\": \"Activar o desactivar comentarios de código SAS por línea\",\n  \"commands.SAS.updateProfile\": \"Actualizar perfil de conexión\",\n  \"commands.SAS.upload\": \"Subir\",\n  \"commands.SAS.uploadFiles\": \"Subir archivos\",\n  \"commands.SAS.uploadFolders\": \"Subir carpetas\",\n  \"configuration.SAS.connectionProfiles\": \"Defina los perfiles de conexión para conectarse a servidores SAS. Si define más de un perfil, puede cambiarlos.\",\n  \"configuration.SAS.connectionProfiles.activeProfile\": \"Activar perfil de conexión\",\n  \"configuration.SAS.connectionProfiles.profiles\": \"Perfiles de conexión SAS\",\n  \"configuration.SAS.connectionProfiles.profiles.autoExec\": \"Autoexec de conexión SAS\",\n  \"configuration.SAS.connectionProfiles.profiles.autoExec.filePath\": \"Ruta del archivo autoexec de conexión SAS\",\n  \"configuration.SAS.connectionProfiles.profiles.autoExec.line\": \"Línea de autoexec de conexión SAS\",\n  \"configuration.SAS.connectionProfiles.profiles.autoExec.type\": \"Tipo de autoexec de conexión SAS\",\n  \"configuration.SAS.connectionProfiles.profiles.clientId\": \"ID de cliente SAS Viya\",\n  \"configuration.SAS.connectionProfiles.profiles.clientSecret\": \"Secreto de cliente SAS Viya\",\n  \"configuration.SAS.connectionProfiles.profiles.com.host\": \"Host de conexión SAS COM\",\n  \"configuration.SAS.connectionProfiles.profiles.com.interopLibraryFolderPath\": \"Ruta de la librería SAS COM interop\",\n  \"configuration.SAS.connectionProfiles.profiles.connectionType\": \"Tipo de conexión del perfil SAS\",\n  \"configuration.SAS.connectionProfiles.profiles.context\": \"Contexto SAS Viya\",\n  \"configuration.SAS.connectionProfiles.profiles.endpoint\": \"Punto de conexión del perfil de conexión SAS Viya\",\n  \"configuration.SAS.connectionProfiles.profiles.fileNavigationCustomRootPath\": \"Ruta raíz personalizada del servidor SAS\",\n  \"configuration.SAS.connectionProfiles.profiles.fileNavigationRoot\": \"Raíz del servidor SAS\",\n  \"configuration.SAS.connectionProfiles.profiles.iom.host\": \"Host de conexión SAS IOM\",\n  \"configuration.SAS.connectionProfiles.profiles.iom.interopLibraryFolderPath\": \"Ruta de la librería SAS IOM interop\",\n  \"configuration.SAS.connectionProfiles.profiles.iom.port\": \"Puerto de conexión SAS IOM\",\n  \"configuration.SAS.connectionProfiles.profiles.iom.username\": \"Nombre de usuario de la conexión SAS IOM\",\n  \"configuration.SAS.connectionProfiles.profiles.name\": \"Nombre del perfil de conexión SAS\",\n  \"configuration.SAS.connectionProfiles.profiles.sasOptions\": \"Opciones SAS de conexión SAS\",\n  \"configuration.SAS.connectionProfiles.profiles.ssh.host\": \"Host SSH de conexión SSH SAS\",\n  \"configuration.SAS.connectionProfiles.profiles.ssh.port\": \"Puerto de conexión SSH SAS\",\n  \"configuration.SAS.connectionProfiles.profiles.ssh.privateKeyFilePath\": \"Ruta del archivo de clave privada de la conexión SAS SSH\",\n  \"configuration.SAS.connectionProfiles.profiles.ssh.saspath\": \"Ruta ejecutable de conexión SSH SAS\",\n  \"configuration.SAS.connectionProfiles.profiles.ssh.username\": \"Nombre de usuario de conexión SSH SAS\",\n  \"configuration.SAS.flowConversionMode\": \"Elegir el modo de conversión para blocs de notas\",\n  \"configuration.SAS.flowConversionModeNode\": \"Convertir cada celda del bloc de notas en un nodo\",\n  \"configuration.SAS.flowConversionModeSwimlane\": \"Convertir cada celda del bloc de notas en un canal\",\n  \"configuration.SAS.log.clearOnExecutionStart\": \"Borrar Log SAS al iniciar la ejecución del código\",\n  \"configuration.SAS.log.showOnExecutionFinish\": \"Mostrar log de SAS al finalizar la ejecución del código\",\n  \"configuration.SAS.log.showOnExecutionStart\": \"Mostrar log de SAS al iniciar la ejecución del código\",\n  \"configuration.SAS.notebook.export.includeLog\": \"Incluir log SAS en el bloc de notas exportado\",\n  \"configuration.SAS.problems.log.enabled\": \"Mostrar problemas desde la log de SAS\",\n  \"configuration.SAS.results.html.custom.style\": \"Especifica el estilo SAS que se va a utilizar para los temas light, dark, highContrast o highContrastLight. Esta opción se aplica cuando `#SAS.results.html.style#` se establece en `(auto)`.\",\n  \"configuration.SAS.results.html.custom.style.dark\": \"Estilo que se va a utilizar para el tema dark\",\n  \"configuration.SAS.results.html.custom.style.highContrast\": \"Estilo que se va a utilizar para el tema high contrast\",\n  \"configuration.SAS.results.html.custom.style.highContrastLight\": \"Estilo que se va a utilizar para el tema  high contrast light\",\n  \"configuration.SAS.results.html.custom.style.light\": \"Estilo que se va a utilizar para el tema light\",\n  \"configuration.SAS.results.html.enabled\": \"Habilitar/desabilitar la salida ODS HTML5\",\n  \"configuration.SAS.results.html.style\": \"Especifica el estilo para resultados ODS HTML5.\",\n  \"configuration.SAS.results.html.style.(auto)\": \"Permitir que la extensión seleccione un estilo que más se aproxime al tema de color.\",\n  \"configuration.SAS.results.html.style.(server default)\": \"Utilizar el estilo predeterminado configurado en el servidor  SAS.\",\n  \"configuration.SAS.results.sideBySide\": \"Mostrar resultados en la parte del código\",\n  \"configuration.SAS.results.singlePanel\": \"Reutilizar un solo panel para mostrar resultados\",\n  \"configuration.SAS.userProvidedCertificates\": \"Proporcionar archivos de certificado SAS de confianza\",\n  \"notebooks.SAS.htmlRenderer\": \"Renderización HTML SAS\",\n  \"notebooks.SAS.logRenderer\": \"Renderización Log SAS\",\n  \"notebooks.SAS.sasNotebook\": \"Bloc de notas SAS\",\n  \"themes.SAS.dark\": \"SAS Dark\",\n  \"themes.SAS.highContrast\": \"SAS High Contrast\",\n  \"themes.SAS.light\": \"SAS Light\",\n  \"views.SAS.explorer\": \"Contenido SAS\",\n  \"views.SAS.libraries\": \"Librerías\",\n  \"views.SAS.serverExplorer\": \"Servidor SAS\",\n  \"views.SAS.signIn\": \"Conexión\",\n  \"views.SAS.unsupportedConnection\": \"La conexión no permite la navegación de contenido SAS dentro de SAS Extension for Visual Studio Code. Sólo puede acceder a los archivos utilizando la vista del explorador.\",\n  \"views.SAS.welcome\": \"Para utilizar SAS Extension for Visual Studio Code, debe estar conectado a SAS.\\n[Conexión](command:SAS.authorize)\"\n}\n"
  },
  {
    "path": "package.nls.fr.json",
    "content": "{\n  \"commands.SAS.addFileResource\": \"Nouveau fichier…\",\n  \"commands.SAS.addFolderResource\": \"Nouveau dossier…\",\n  \"commands.SAS.addProfile\": \"Ajouter un nouveau profil de connexion\",\n  \"commands.SAS.addToFavorites\": \"Ajouter aux favoris\",\n  \"commands.SAS.authorize\": \"Se connecter\",\n  \"commands.SAS.close\": \"Se déconnecter\",\n  \"commands.SAS.collapseAll\": \"Réduire tout\",\n  \"commands.SAS.convertNotebookToFlow\": \"Convertir en flux…\",\n  \"commands.SAS.copyPath\": \"Copier le chemin\",\n  \"commands.SAS.deleteProfile\": \"Supprimer le profil de connexion\",\n  \"commands.SAS.deleteResource\": \"Supprimer\",\n  \"commands.SAS.deleteTable\": \"Supprimer la table\",\n  \"commands.SAS.download\": \"Télécharger\",\n  \"commands.SAS.emptyRecycleBin\": \"Vider la corbeille\",\n  \"commands.SAS.file.new\": \"Nouveau programme SAS\",\n  \"commands.SAS.file.new.short\": \"Programme SAS\",\n  \"commands.SAS.notebook.export\": \"Exporter\",\n  \"commands.SAS.notebook.new\": \"Nouveau Notebook SAS\",\n  \"commands.SAS.notebook.new.short\": \"Notebook SAS\",\n  \"commands.SAS.notebook.saveOutput\": \"Enregistrer la sortie\",\n  \"commands.SAS.refresh\": \"Actualiser\",\n  \"commands.SAS.removeFromFavorites\": \"Retirer des favoris\",\n  \"commands.SAS.renameResource\": \"Renommer...\",\n  \"commands.SAS.restoreResource\": \"Restaurer\",\n  \"commands.SAS.run\": \"Exécuter tout le code SAS\",\n  \"commands.SAS.runRegion\": \"Exécuter la sélection\",\n  \"commands.SAS.runSelected\": \"Exécuter la sélection ou tout le code SAS\",\n  \"commands.SAS.showTableProperties\": \"Propriétés\",\n  \"commands.SAS.switchProfile\": \"Changer le profil de connexion actuel\",\n  \"commands.SAS.toggleLineComment\": \"Activer/Désactiver les commentaires du code SAS par ligne\",\n  \"commands.SAS.updateProfile\": \"Mettre à jour le profil de connexion\",\n  \"commands.SAS.upload\": \"Télécharger vers le serveur\",\n  \"commands.SAS.uploadFiles\": \"Télécharger des fichiers vers le serveur\",\n  \"commands.SAS.uploadFolders\": \"Télécharger des dossiers vers le serveur\",\n  \"configuration.SAS.connectionProfiles\": \"Définir le profil de connexion pour se connecter au serveur SAS. Si vous définissez plus d'un profil vous pouvez basculer entre eux.\",\n  \"configuration.SAS.connectionProfiles.activeProfile\": \"Profil de connexion SAS actif\",\n  \"configuration.SAS.connectionProfiles.profiles\": \"Profils de connexion SAS\",\n  \"configuration.SAS.connectionProfiles.profiles.autoExec\": \"Fichier AutoExec de la connexion SAS\",\n  \"configuration.SAS.connectionProfiles.profiles.autoExec.filePath\": \"Chemin du fichier AutoExec de la connexion SAS\",\n  \"configuration.SAS.connectionProfiles.profiles.autoExec.line\": \"Ligne dans le fichier AutoExec de la connexion SAS\",\n  \"configuration.SAS.connectionProfiles.profiles.autoExec.type\": \"Type du fichier AutoExec de la connexion SAS\",\n  \"configuration.SAS.connectionProfiles.profiles.clientId\": \"ID du client SAS Viya\",\n  \"configuration.SAS.connectionProfiles.profiles.clientSecret\": \"Clé secrète client SAS Viya\",\n  \"configuration.SAS.connectionProfiles.profiles.com.host\": \"Hôte de connexion SAS COM\",\n  \"configuration.SAS.connectionProfiles.profiles.com.interopLibraryFolderPath\": \"Chemin de la bibliothèque SAS COM interop\",\n  \"configuration.SAS.connectionProfiles.profiles.connectionType\": \"Type de connexion du profil SAS\",\n  \"configuration.SAS.connectionProfiles.profiles.context\": \"Contexte SAS Viya\",\n  \"configuration.SAS.connectionProfiles.profiles.endpoint\": \"Point de terminaison du profil de connexion SAS Viya\",\n  \"configuration.SAS.connectionProfiles.profiles.fileNavigationCustomRootPath\": \"Chemin racine personnalisé du SAS Server\",\n  \"configuration.SAS.connectionProfiles.profiles.fileNavigationRoot\": \"Chemin racine du SAS Server\",\n  \"configuration.SAS.connectionProfiles.profiles.iom.host\": \"Hôte de connexion SAS IOM\",\n  \"configuration.SAS.connectionProfiles.profiles.iom.interopLibraryFolderPath\": \"Chemin de la bibliothèque SAS IOM interop\",\n  \"configuration.SAS.connectionProfiles.profiles.iom.port\": \"Port de la connexion SAS IOM\",\n  \"configuration.SAS.connectionProfiles.profiles.iom.username\": \"Nom d'utilisateur de la connexion SAS IOM\",\n  \"configuration.SAS.connectionProfiles.profiles.name\": \"Nom du profil de connexion SAS\",\n  \"configuration.SAS.connectionProfiles.profiles.sasOptions\": \"Options pour la connexion SAS\",\n  \"configuration.SAS.connectionProfiles.profiles.ssh.host\": \"Hôte SSH de la connexion SAS\",\n  \"configuration.SAS.connectionProfiles.profiles.ssh.port\": \"Port SSH de la connexion SAS\",\n  \"configuration.SAS.connectionProfiles.profiles.ssh.privateKeyFilePath\": \"Chemin du fichier de clé privée pour la connexion SSH SAS\",\n  \"configuration.SAS.connectionProfiles.profiles.ssh.saspath\": \"Chemin exécutable de la connexion SAS SSH\",\n  \"configuration.SAS.connectionProfiles.profiles.ssh.username\": \"Nom d'utilisateur de la connexion SAS SSH\",\n  \"configuration.SAS.flowConversionMode\": \"Choisissez le mode de conversion pour les notebooks SAS\",\n  \"configuration.SAS.flowConversionModeNode\": \"Convertir chaque cellule du notebook en noeud\",\n  \"configuration.SAS.flowConversionModeSwimlane\": \"Convertir chaque cellule du notebook en swimlane\",\n  \"configuration.SAS.log.clearOnExecutionStart\": \"Purger le Journal (SAS Log) au démarrage de l'exécution\",\n  \"configuration.SAS.log.showOnExecutionFinish\": \"Afficher le journal SAS quand l'exécution est terminée\",\n  \"configuration.SAS.log.showOnExecutionStart\": \"Afficher le journal SAS au démarrage de l'exécution\",\n  \"configuration.SAS.notebook.export.includeLog\": \"Inclure le journal SAS dans le bloc-notes exporté\",\n  \"configuration.SAS.problems.log.enabled\": \"Afficher les erreurs dans le Journal (SAS Log)\",\n  \"configuration.SAS.results.html.custom.style\": \"Spécifie quel style SAS utiliser pour les thèmes Light, Dark, HighContrast ou HighContrastLight. Cette option prend effet lorsque `#SAS.results.html.style#` est défini à `(auto)`.\",\n  \"configuration.SAS.results.html.custom.style.dark\": \"Style à utiliser pour le thème Dark\",\n  \"configuration.SAS.results.html.custom.style.highContrast\": \"Style à utiliser pour le thème High Contrast\",\n  \"configuration.SAS.results.html.custom.style.highContrastLight\": \"Style à utiliser pour le thème High Contrast Light\",\n  \"configuration.SAS.results.html.custom.style.light\": \"Style à utiliser pour le thème Light\",\n  \"configuration.SAS.results.html.enabled\": \"Activer/désactiver la sortie ODS HTML5\",\n  \"configuration.SAS.results.html.style\": \"Définir le style des résultats ODS HTML5\",\n  \"configuration.SAS.results.html.style.(auto)\": \"Laisser l'extension choisir le style qui correspond le mieux au thème de couleurs\",\n  \"configuration.SAS.results.html.style.(server default)\": \"Utiliser le style par défaut configuré sur le serveur SAS\",\n  \"configuration.SAS.results.sideBySide\": \"Afficher les résultats à côté du code\",\n  \"configuration.SAS.results.singlePanel\": \"Afficher les résultats dans une fenêtre indépendante\",\n  \"configuration.SAS.userProvidedCertificates\": \"Fournir des fichiers de certificats d'autorité de certification (CA) fiables\",\n  \"notebooks.SAS.htmlRenderer\": \"Rendu HTML SAS\",\n  \"notebooks.SAS.logRenderer\": \"SAS Log Renderer\",\n  \"notebooks.SAS.sasNotebook\": \"Notebook SAS\",\n  \"themes.SAS.dark\": \"SAS Dark\",\n  \"themes.SAS.highContrast\": \"SAS High Contrast\",\n  \"themes.SAS.light\": \"SAS Light\",\n  \"views.SAS.explorer\": \"SAS Content\",\n  \"views.SAS.libraries\": \"Bibliothèques\",\n  \"views.SAS.serverExplorer\": \"Explorateur\",\n  \"views.SAS.signIn\": \"Se connecter\",\n  \"views.SAS.unsupportedConnection\": \"Cette connexion ne prend pas en charge la navigation dans le contenu SAS via l'extension Visual Studio Code. Vous ne pouvez accéder aux fichiers qu'à travers l'Explorateur.\",\n  \"views.SAS.welcome\": \"Pour utiliser SAS Extension for Visual Studio Code, vous devez vous connecter à SAS.\\n[Se connecter](command:SAS.authorize)\"\n}\n"
  },
  {
    "path": "package.nls.it.json",
    "content": "{\n  \"commands.SAS.addFileResource\": \"Nuovo file...\",\n  \"commands.SAS.addFolderResource\": \"Nuova cartella...\",\n  \"commands.SAS.addProfile\": \"Aggiungi nuovo profilo di connessione\",\n  \"commands.SAS.addToFavorites\": \"Aggiungi a Preferiti\",\n  \"commands.SAS.authorize\": \"Accedi\",\n  \"commands.SAS.close\": \"Chiudi sessione corrente\",\n  \"commands.SAS.collapseAll\": \"Comprimi tutto\",\n  \"commands.SAS.convertNotebookToFlow\": \"Converti in flusso...\",\n  \"commands.SAS.copyPath\": \"Copia percorso\",\n  \"commands.SAS.deleteProfile\": \"Elimina profilo di connessione\",\n  \"commands.SAS.deleteResource\": \"Elimina\",\n  \"commands.SAS.deleteTable\": \"Elimina\",\n  \"commands.SAS.download\": \"Esegui download\",\n  \"commands.SAS.emptyRecycleBin\": \"Svuota Cestino\",\n  \"commands.SAS.file.new\": \"Nuovo file SAS\",\n  \"commands.SAS.file.new.short\": \"File SAS\",\n  \"commands.SAS.notebook.export\": \"Esporta\",\n  \"commands.SAS.notebook.new\": \"Nuovo SAS Notebook\",\n  \"commands.SAS.notebook.new.short\": \"SAS Notebook\",\n  \"commands.SAS.notebook.saveOutput\": \"Salva l'output\",\n  \"commands.SAS.refresh\": \"Aggiorna\",\n  \"commands.SAS.removeFromFavorites\": \"Rimuovi da Preferiti\",\n  \"commands.SAS.renameResource\": \"Rinomina...\",\n  \"commands.SAS.restoreResource\": \"Ripristina\",\n  \"commands.SAS.run\": \"Esegui tutto il codice SAS\",\n  \"commands.SAS.runRegion\": \"Esegui la sezione\",\n  \"commands.SAS.runSelected\": \"Esegui codice SAS selezionato o tutto\",\n  \"commands.SAS.showTableProperties\": \"Proprietà\",\n  \"commands.SAS.switchProfile\": \"Passa al profilo di connessione corrente\",\n  \"commands.SAS.toggleLineComment\": \"Attiva/Disattiva i commenti di SAS Code per riga\",\n  \"commands.SAS.updateProfile\": \"Aggiorna profilo di connessione\",\n  \"commands.SAS.upload\": \"Esegui upload\",\n  \"commands.SAS.uploadFiles\": \"Esegui upload dei file\",\n  \"commands.SAS.uploadFolders\": \"Esegui upload delle cartelle\",\n  \"configuration.SAS.connectionProfiles\": \"Definire i profili di connessione per connettersi ai server SAS. Se si definisce più di un profilo, è possibile passare da uno all'altro.\",\n  \"configuration.SAS.connectionProfiles.activeProfile\": \"Profilo di connessione SAS attivo\",\n  \"configuration.SAS.connectionProfiles.profiles\": \"Profili di connessione SAS\",\n  \"configuration.SAS.connectionProfiles.profiles.autoExec\": \"AutoExec della connessione SAS\",\n  \"configuration.SAS.connectionProfiles.profiles.autoExec.filePath\": \"Percorso del file di autoExec della connessione SAS\",\n  \"configuration.SAS.connectionProfiles.profiles.autoExec.line\": \"Riga di autoExec della connessione SAS\",\n  \"configuration.SAS.connectionProfiles.profiles.autoExec.type\": \"Tipo di autoExec della connessione SAS\",\n  \"configuration.SAS.connectionProfiles.profiles.clientId\": \"ID Client SAS Viya\",\n  \"configuration.SAS.connectionProfiles.profiles.clientSecret\": \"Client secret SAS Viya\",\n  \"configuration.SAS.connectionProfiles.profiles.com.host\": \"Host della connessione SAS COM\",\n  \"configuration.SAS.connectionProfiles.profiles.com.interopLibraryFolderPath\": \"Percorso della libreria SAS COM Interop\",\n  \"configuration.SAS.connectionProfiles.profiles.connectionType\": \"Tipo di connessione del profilo SAS\",\n  \"configuration.SAS.connectionProfiles.profiles.context\": \"Contesto di SAS Viya\",\n  \"configuration.SAS.connectionProfiles.profiles.endpoint\": \"Endpoint del profilo di connessione SAS Viya\",\n  \"configuration.SAS.connectionProfiles.profiles.fileNavigationCustomRootPath\": \"Percorso principale personalizzato del server SAS\",\n  \"configuration.SAS.connectionProfiles.profiles.fileNavigationRoot\": \"Percorso principale del server SAS\",\n  \"configuration.SAS.connectionProfiles.profiles.iom.host\": \"Host di Connessione SAS IOM\",\n  \"configuration.SAS.connectionProfiles.profiles.iom.interopLibraryFolderPath\": \"Percorso della libreria SAS IOM Interop\",\n  \"configuration.SAS.connectionProfiles.profiles.iom.port\": \"Porta di Connessione SAS IOM\",\n  \"configuration.SAS.connectionProfiles.profiles.iom.username\": \"Nome utente per connessione SAS IOM\",\n  \"configuration.SAS.connectionProfiles.profiles.name\": \"Nome del profilo di connessione SAS\",\n  \"configuration.SAS.connectionProfiles.profiles.sasOptions\": \"Opzioni della connessione SAS\",\n  \"configuration.SAS.connectionProfiles.profiles.ssh.host\": \"Host della connessione SAS SSH\",\n  \"configuration.SAS.connectionProfiles.profiles.ssh.port\": \"Porta della connessione SAS SSH\",\n  \"configuration.SAS.connectionProfiles.profiles.ssh.privateKeyFilePath\": \"Percorso del file della chiave privata della connessione SSH SAS\",\n  \"configuration.SAS.connectionProfiles.profiles.ssh.saspath\": \"Percorso dell'eseguibile della connessione SAS SSH\",\n  \"configuration.SAS.connectionProfiles.profiles.ssh.username\": \"Nome utente della connessione SAS SSH\",\n  \"configuration.SAS.flowConversionMode\": \"Scegli la modalità di conversione per i notebook\",\n  \"configuration.SAS.flowConversionModeNode\": \"Converti ogni cella del notebook in un nodo\",\n  \"configuration.SAS.flowConversionModeSwimlane\": \"Converti ogni cella del notebook in una swimlane\",\n  \"configuration.SAS.log.clearOnExecutionStart\": \"Cancella il log SAS all'avvio dell'esecuzione\",\n  \"configuration.SAS.log.showOnExecutionFinish\": \"Mostra il log SAS quando l'esecuzione termina\",\n  \"configuration.SAS.log.showOnExecutionStart\": \"Mostra il log SAS quando l'esecuzione inizia\",\n  \"configuration.SAS.notebook.export.includeLog\": \"Includi log SAS nel notebook esportato\",\n  \"configuration.SAS.problems.log.enabled\": \"Mostra problemi evidenziati nel log SAS\",\n  \"configuration.SAS.results.html.custom.style\": \"Specifica quale stile SAS usare per i temi Light, Dark, HighContrast o HighContrastLight. Questa opzione ha effetto quando `#SAS.results.html.style#` è impostato a `(auto)`.\",\n  \"configuration.SAS.results.html.custom.style.dark\": \"Stile da usare per il tema Dark\",\n  \"configuration.SAS.results.html.custom.style.highContrast\": \"Stile da usare per il tema High Contrast\",\n  \"configuration.SAS.results.html.custom.style.highContrastLight\": \"Stile da usare per il tema High Contrast Light\",\n  \"configuration.SAS.results.html.custom.style.light\": \"Stile da usare per il tema Light\",\n  \"configuration.SAS.results.html.enabled\": \"Abilita/Disabilita output ODS HTML5\",\n  \"configuration.SAS.results.html.style\": \"Specifica lo stile per i risultati ODS HTML5.\",\n  \"configuration.SAS.results.html.style.(auto)\": \"Permetti all'estensione di scegliere uno stile che si avvicina maggiormente al tema del colore.\",\n  \"configuration.SAS.results.html.style.(server default)\": \"Impostare come default lo stile configurato sul server SAS.\",\n  \"configuration.SAS.results.sideBySide\": \"Mostra i risultati accanto al codice\",\n  \"configuration.SAS.results.singlePanel\": \"Riutilizza un singolo riquadro per mostrare i risultati\",\n  \"configuration.SAS.userProvidedCertificates\": \"Fornisci file dei certificati CA affidabili\",\n  \"notebooks.SAS.htmlRenderer\": \"SAS HTML Renderer\",\n  \"notebooks.SAS.logRenderer\": \"SAS Log Renderer\",\n  \"notebooks.SAS.sasNotebook\": \"SAS Notebook\",\n  \"themes.SAS.dark\": \"SAS Dark\",\n  \"themes.SAS.highContrast\": \"SAS High Contrast\",\n  \"themes.SAS.light\": \"SAS Light\",\n  \"views.SAS.explorer\": \"Contenuto SAS\",\n  \"views.SAS.libraries\": \"Librerie\",\n  \"views.SAS.serverExplorer\": \"Server SAS\",\n  \"views.SAS.signIn\": \"Accedi\",\n  \"views.SAS.unsupportedConnection\": \"La connessione non supporta la navigazione nel contenuto SAS all'interno di SAS Extension for Visual Studio Code. È possibile accedere ai file solo utilizzando la visualizzazione Explorer.\",\n  \"views.SAS.welcome\": \"Per utilizzare SAS Extension for Visual Studio Code, occorre accedere a SAS.\\n[Accedi](command:SAS.authorize)\"\n}\n"
  },
  {
    "path": "package.nls.ja.json",
    "content": "{\n  \"commands.SAS.addFileResource\": \"ファイルの新規作成...\",\n  \"commands.SAS.addFolderResource\": \"フォルダーの新規作成...\",\n  \"commands.SAS.addProfile\": \"新しい接続プロファイルを追加する\",\n  \"commands.SAS.addToFavorites\": \"お気に入りに追加する\",\n  \"commands.SAS.authorize\": \"サインイン\",\n  \"commands.SAS.close\": \"現在のセッションを閉じる\",\n  \"commands.SAS.collapseAll\": \"すべて折りたたむ\",\n  \"commands.SAS.convertNotebookToFlow\": \"フローに変換...\",\n  \"commands.SAS.copyPath\": \"パスのコピー\",\n  \"commands.SAS.deleteProfile\": \"接続プロファイルを削除する\",\n  \"commands.SAS.deleteResource\": \"削除\",\n  \"commands.SAS.deleteTable\": \"削除\",\n  \"commands.SAS.download\": \"ダウンロード\",\n  \"commands.SAS.emptyRecycleBin\": \"ごみ箱を空にする\",\n  \"commands.SAS.file.new\": \"SAS ファイルの新規作成\",\n  \"commands.SAS.file.new.short\": \"SAS ファイル\",\n  \"commands.SAS.notebook.export\": \"エクスポート\",\n  \"commands.SAS.notebook.new\": \"新しい SAS ノートブック\",\n  \"commands.SAS.notebook.new.short\": \"SAS ノートブック\",\n  \"commands.SAS.notebook.saveOutput\": \"出力の保存\",\n  \"commands.SAS.refresh\": \"更新\",\n  \"commands.SAS.removeFromFavorites\": \"お気に入りから削除する\",\n  \"commands.SAS.renameResource\": \"名前の変更...\",\n  \"commands.SAS.restoreResource\": \"復元\",\n  \"commands.SAS.run\": \"すべて SAS コードを実行する\",\n  \"commands.SAS.runRegion\": \"領域の実行\",\n  \"commands.SAS.runSelected\": \"選択済みまたはすべての SAS コードを実行\",\n  \"commands.SAS.showTableProperties\": \"プロパティ\",\n  \"commands.SAS.switchProfile\": \"現在の接続プロファイルを切り替える\",\n  \"commands.SAS.toggleLineComment\": \"SAS コードのコメントを行単位で切り替える\",\n  \"commands.SAS.updateProfile\": \"接続プロファイルの更新\",\n  \"commands.SAS.upload\": \"アップロード\",\n  \"commands.SAS.uploadFiles\": \"ファイルのアップロード\",\n  \"commands.SAS.uploadFolders\": \"フォルダーのアップロード\",\n  \"configuration.SAS.connectionProfiles\": \"SAS Server に接続するための接続プロファイルを定義します。複数のプロファイルを定義する場合は、それらを切り替えることができます。\",\n  \"configuration.SAS.connectionProfiles.activeProfile\": \"アクティブな SAS 接続プロファイル\",\n  \"configuration.SAS.connectionProfiles.profiles\": \"SAS 接続プロファイル\",\n  \"configuration.SAS.connectionProfiles.profiles.autoExec\": \"SAS 接続 AutoExec\",\n  \"configuration.SAS.connectionProfiles.profiles.autoExec.filePath\": \"SAS 接続 AutoExec ファイルパス\",\n  \"configuration.SAS.connectionProfiles.profiles.autoExec.line\": \"SAS 接続 AutoExec 行\",\n  \"configuration.SAS.connectionProfiles.profiles.autoExec.type\": \"SAS 接続 AutoExec 種類\",\n  \"configuration.SAS.connectionProfiles.profiles.clientId\": \"SAS Viya クライアント ID\",\n  \"configuration.SAS.connectionProfiles.profiles.clientSecret\": \"SAS Viya クライアントシークレット\",\n  \"configuration.SAS.connectionProfiles.profiles.com.host\": \"SAS COM 接続ホスト\",\n  \"configuration.SAS.connectionProfiles.profiles.com.interopLibraryFolderPath\": \"SAS COM interop ライブラリパス\",\n  \"configuration.SAS.connectionProfiles.profiles.connectionType\": \"SAS プロファイル接続タイプ\",\n  \"configuration.SAS.connectionProfiles.profiles.context\": \"SAS Viya コンテキスト\",\n  \"configuration.SAS.connectionProfiles.profiles.endpoint\": \"SAS Viya 接続プロファイルエンドポイント\",\n  \"configuration.SAS.connectionProfiles.profiles.fileNavigationCustomRootPath\": \"SAS サーバーのカスタムルートパス\",\n  \"configuration.SAS.connectionProfiles.profiles.fileNavigationRoot\": \"SAS サーバーのルート\",\n  \"configuration.SAS.connectionProfiles.profiles.iom.host\": \"SAS IOM 接続ホスト\",\n  \"configuration.SAS.connectionProfiles.profiles.iom.interopLibraryFolderPath\": \"SAS IOM interop ライブラリパス\",\n  \"configuration.SAS.connectionProfiles.profiles.iom.port\": \"SAS IOM 接続ポート\",\n  \"configuration.SAS.connectionProfiles.profiles.iom.username\": \"SAS IOM 接続ユーザー名\",\n  \"configuration.SAS.connectionProfiles.profiles.name\": \"SAS 接続プロファイル名\",\n  \"configuration.SAS.connectionProfiles.profiles.sasOptions\": \"SAS 接続 SAS オプション\",\n  \"configuration.SAS.connectionProfiles.profiles.ssh.host\": \"SAS SSH 接続 SSH ホスト\",\n  \"configuration.SAS.connectionProfiles.profiles.ssh.port\": \"SAS SSH 接続ポート\",\n  \"configuration.SAS.connectionProfiles.profiles.ssh.privateKeyFilePath\": \"SAS SSH 接続の秘密キーファイルパス\",\n  \"configuration.SAS.connectionProfiles.profiles.ssh.saspath\": \"SAS SSH 接続の実行可能パス\",\n  \"configuration.SAS.connectionProfiles.profiles.ssh.username\": \"SAS SSH 接続ユーザー名\",\n  \"configuration.SAS.flowConversionMode\": \"ノートブックの変換モードを選択する\",\n  \"configuration.SAS.flowConversionModeNode\": \"各ノートブックのセルをノードに変換する\",\n  \"configuration.SAS.flowConversionModeSwimlane\": \"各ノートブックのセルをスイムレーンに変換する\",\n  \"configuration.SAS.log.clearOnExecutionStart\": \"コードの実行開始時に SAS ログをクリア\",\n  \"configuration.SAS.log.showOnExecutionFinish\": \"コードの実行終了時に SAS ログを表示する\",\n  \"configuration.SAS.log.showOnExecutionStart\": \"コードの実行開始時に SAS ログを表示する\",\n  \"configuration.SAS.notebook.export.includeLog\": \"エクスポートするノートブックに SAS ログを含める\",\n  \"configuration.SAS.problems.log.enabled\": \"SAS ログから問題を表示する\",\n  \"configuration.SAS.results.html.custom.style\": \"light、dark、highContrast、highContrastLight の各テーマに使用する SAS スタイルを指定します。このオプションは、`#SAS.results.html.style#` が `(auto)` に設定されている場合に有効になります。\",\n  \"configuration.SAS.results.html.custom.style.dark\": \"dark テーマに使用するスタイル\",\n  \"configuration.SAS.results.html.custom.style.highContrast\": \"high contrast テーマに使用するスタイル\",\n  \"configuration.SAS.results.html.custom.style.highContrastLight\": \"high contrast light テーマに使用するスタイル\",\n  \"configuration.SAS.results.html.custom.style.light\": \"light テーマに使用するスタイル\",\n  \"configuration.SAS.results.html.enabled\": \"ODS HTML5 出力の有効化/無効化を設定する\",\n  \"configuration.SAS.results.html.style\": \"ODS HTML5 結果のスタイルを指定する\",\n  \"configuration.SAS.results.html.style.(auto)\": \"カラーテーマに最も近いスタイルを拡張機能に選択させます。\",\n  \"configuration.SAS.results.html.style.(server default)\": \"デフォルトは、SAS Server で構成されたスタイルです。\",\n  \"configuration.SAS.results.sideBySide\": \"結果をコードの横に表示する\",\n  \"configuration.SAS.results.singlePanel\": \"単一パネルを再利用して結果を表示する\",\n  \"configuration.SAS.userProvidedCertificates\": \"信頼された証明機関 (CA) 証明書ファイルを指定する\",\n  \"notebooks.SAS.htmlRenderer\": \"SAS HTML レンダラー\",\n  \"notebooks.SAS.logRenderer\": \"SAS ログレンダラー\",\n  \"notebooks.SAS.sasNotebook\": \"SAS ノートブック\",\n  \"themes.SAS.dark\": \"SAS Dark\",\n  \"themes.SAS.highContrast\": \"SAS High Contrast\",\n  \"themes.SAS.light\": \"SAS Light\",\n  \"views.SAS.explorer\": \"SAS コンテンツ\",\n  \"views.SAS.libraries\": \"ライブラリ\",\n  \"views.SAS.serverExplorer\": \"SAS サーバー\",\n  \"views.SAS.signIn\": \"サインイン\",\n  \"views.SAS.unsupportedConnection\": \"この接続では、SAS Extension for Visual Studio Code 内の SAS コンテンツナビゲーションがサポートされていません。ファイルにアクセスできるのは、エクスプローラービューのみです。\",\n  \"views.SAS.welcome\": \"SAS Extension for Visual Studio Code を使用するには、SAS にサインインする必要があります。\\n [Sign In](command:SAS.authorize)\"\n}\n"
  },
  {
    "path": "package.nls.json",
    "content": "{\n  \"commands.SAS.addFileResource\": \"New File...\",\n  \"commands.SAS.addFolderResource\": \"New Folder...\",\n  \"commands.SAS.addProfile\": \"Add New Connection Profile\",\n  \"commands.SAS.addToFavorites\": \"Add to My Favorites\",\n  \"commands.SAS.authorize\": \"Sign in\",\n  \"commands.SAS.close\": \"Close Current Session\",\n  \"commands.SAS.collapseAll\": \"Collapse All\",\n  \"commands.SAS.convertNotebookToFlow\": \"Convert to Flow...\",\n  \"commands.SAS.copyPath\": \"Copy Path\",\n  \"commands.SAS.deleteProfile\": \"Delete Connection Profile\",\n  \"commands.SAS.deleteResource\": \"Delete\",\n  \"commands.SAS.deleteTable\": \"Delete\",\n  \"commands.SAS.download\": \"Download\",\n  \"commands.SAS.emptyRecycleBin\": \"Empty Recycle Bin\",\n  \"commands.SAS.file.new\": \"New SAS File\",\n  \"commands.SAS.file.new.short\": \"SAS File\",\n  \"commands.SAS.notebook.export\": \"Export\",\n  \"commands.SAS.notebook.new\": \"New SAS Notebook\",\n  \"commands.SAS.notebook.new.short\": \"SAS Notebook\",\n  \"commands.SAS.notebook.saveOutput\": \"Save Output\",\n  \"commands.SAS.refresh\": \"Refresh\",\n  \"commands.SAS.removeFromFavorites\": \"Remove from My Favorites\",\n  \"commands.SAS.renameResource\": \"Rename...\",\n  \"commands.SAS.restoreResource\": \"Restore\",\n  \"commands.SAS.run\": \"Run All SAS Code\",\n  \"commands.SAS.runRegion\": \"Run Region\",\n  \"commands.SAS.runSelected\": \"Run Selected or All SAS Code\",\n  \"commands.SAS.showTableProperties\": \"Properties\",\n  \"commands.SAS.switchProfile\": \"Switch Current Connection Profile\",\n  \"commands.SAS.toggleLineComment\": \"Toggle SAS Code Comments by Line\",\n  \"commands.SAS.updateProfile\": \"Update Connection Profile\",\n  \"commands.SAS.upload\": \"Upload\",\n  \"commands.SAS.uploadFiles\": \"Upload Files\",\n  \"commands.SAS.uploadFolders\": \"Upload Folders\",\n  \"configuration.SAS.connectionProfiles\": \"Define the connection profiles to connect to SAS servers. If you define more than one profile, you can switch between them.\",\n  \"configuration.SAS.connectionProfiles.activeProfile\": \"Active SAS Connection Profile\",\n  \"configuration.SAS.connectionProfiles.profiles\": \"SAS Connection Profiles\",\n  \"configuration.SAS.connectionProfiles.profiles.autoExec\": \"SAS Connection AutoExec\",\n  \"configuration.SAS.connectionProfiles.profiles.autoExec.filePath\": \"SAS Connection AutoExec File path\",\n  \"configuration.SAS.connectionProfiles.profiles.autoExec.line\": \"SAS Connection AutoExec Line\",\n  \"configuration.SAS.connectionProfiles.profiles.autoExec.type\": \"SAS Connection AutoExec type\",\n  \"configuration.SAS.connectionProfiles.profiles.clientId\": \"SAS Viya Client ID\",\n  \"configuration.SAS.connectionProfiles.profiles.clientSecret\": \"SAS Viya Client Secret\",\n  \"configuration.SAS.connectionProfiles.profiles.com.host\": \"SAS COM Connection Host\",\n  \"configuration.SAS.connectionProfiles.profiles.com.interopLibraryFolderPath\": \"SAS COM interop library path\",\n  \"configuration.SAS.connectionProfiles.profiles.connectionType\": \"SAS Profile Connection Type\",\n  \"configuration.SAS.connectionProfiles.profiles.context\": \"SAS Viya Context\",\n  \"configuration.SAS.connectionProfiles.profiles.endpoint\": \"SAS Viya Connection Profile Endpoint\",\n  \"configuration.SAS.connectionProfiles.profiles.fileNavigationCustomRootPath\": \"SAS Server custom root path\",\n  \"configuration.SAS.connectionProfiles.profiles.fileNavigationRoot\": \"SAS Server root\",\n  \"configuration.SAS.connectionProfiles.profiles.iom.host\": \"SAS IOM Connection Host\",\n  \"configuration.SAS.connectionProfiles.profiles.iom.interopLibraryFolderPath\": \"SAS IOM interop library path\",\n  \"configuration.SAS.connectionProfiles.profiles.iom.port\": \"SAS IOM Connection port\",\n  \"configuration.SAS.connectionProfiles.profiles.iom.username\": \"SAS IOM Connection username\",\n  \"configuration.SAS.connectionProfiles.profiles.name\": \"SAS Connection Profile Name\",\n  \"configuration.SAS.connectionProfiles.profiles.sasOptions\": \"SAS Connection SAS options\",\n  \"configuration.SAS.connectionProfiles.profiles.ssh.host\": \"SAS SSH Connection SSH Host\",\n  \"configuration.SAS.connectionProfiles.profiles.ssh.port\": \"SAS SSH Connection port\",\n  \"configuration.SAS.connectionProfiles.profiles.ssh.privateKeyFilePath\": \"SAS SSH Connection private key file path\",\n  \"configuration.SAS.connectionProfiles.profiles.ssh.saspath\": \"SAS SSH Connection executable path\",\n  \"configuration.SAS.connectionProfiles.profiles.ssh.username\": \"SAS SSH Connection username\",\n  \"configuration.SAS.flowConversionMode\": \"Choose the conversion mode for notebooks\",\n  \"configuration.SAS.flowConversionModeNode\": \"Convert each notebook cell to a node\",\n  \"configuration.SAS.flowConversionModeSwimlane\": \"Convert each notebook cell to a swimlane\",\n  \"configuration.SAS.log.clearOnExecutionStart\": \"Clear SAS Log when code execution starts\",\n  \"configuration.SAS.log.showOnExecutionFinish\": \"Show SAS Log when code execution is finished\",\n  \"configuration.SAS.log.showOnExecutionStart\": \"Show SAS Log when code execution starts\",\n  \"configuration.SAS.notebook.export.includeLog\": \"Include SAS log in exported notebook\",\n  \"configuration.SAS.problems.log.enabled\": \"Show problems from SAS log\",\n  \"configuration.SAS.results.html.custom.style\": \"Specifies which SAS style to use for the light, dark, highContrast, or highContrastLight themes. This option takes effect when `#SAS.results.html.style#` is set to `(auto)`.\",\n  \"configuration.SAS.results.html.custom.style.dark\": \"Style to use for dark theme\",\n  \"configuration.SAS.results.html.custom.style.highContrast\": \"Style to use for high contrast theme\",\n  \"configuration.SAS.results.html.custom.style.highContrastLight\": \"Style to use for high contrast light theme\",\n  \"configuration.SAS.results.html.custom.style.light\": \"Style to use for light theme\",\n  \"configuration.SAS.results.html.enabled\": \"Enable/disable ODS HTML5 output\",\n  \"configuration.SAS.results.html.style\": \"Specifies the style for ODS HTML5 results.\",\n  \"configuration.SAS.results.html.style.(auto)\": \"Let the extension pick a style that most closely matches the color theme.\",\n  \"configuration.SAS.results.html.style.(server default)\": \"Default to the style configured on the SAS server.\",\n  \"configuration.SAS.results.sideBySide\": \"Display results to the side of the code\",\n  \"configuration.SAS.results.singlePanel\": \"Reuse single panel to display results\",\n  \"configuration.SAS.userProvidedCertificates\": \"Provide trusted CA certificate files\",\n  \"notebooks.SAS.htmlRenderer\": \"SAS HTML Renderer\",\n  \"notebooks.SAS.logRenderer\": \"SAS Log Renderer\",\n  \"notebooks.SAS.sasNotebook\": \"SAS Notebook\",\n  \"themes.SAS.dark\": \"SAS Dark\",\n  \"themes.SAS.highContrast\": \"SAS High Contrast\",\n  \"themes.SAS.light\": \"SAS Light\",\n  \"views.SAS.explorer\": \"SAS Content\",\n  \"views.SAS.libraries\": \"Libraries\",\n  \"views.SAS.serverExplorer\": \"SAS Server\",\n  \"views.SAS.signIn\": \"Sign In\",\n  \"views.SAS.unsupportedConnection\": \"Your connection does not support SAS content navigation within the SAS Extension for Visual Studio Code. You can access files only using the Explorer view.\",\n  \"views.SAS.welcome\": \"To use the SAS Extension for Visual Studio Code, you must sign in to SAS.\\n[Sign In](command:SAS.authorize)\"\n}\n"
  },
  {
    "path": "package.nls.ko.json",
    "content": "{\n  \"commands.SAS.addFileResource\": \"새 파일...\",\n  \"commands.SAS.addFolderResource\": \"새 폴더...\",\n  \"commands.SAS.addProfile\": \"새로운 연결 프로필 추가\",\n  \"commands.SAS.addToFavorites\": \"내 즐겨찾기에 추가\",\n  \"commands.SAS.authorize\": \"로그인\",\n  \"commands.SAS.close\": \"현재 세션 닫기\",\n  \"commands.SAS.collapseAll\": \"모두 축소\",\n  \"commands.SAS.convertNotebookToFlow\": \"플로우로 변환...\",\n  \"commands.SAS.copyPath\": \"복사 경로\",\n  \"commands.SAS.deleteProfile\": \"연결 프로필 삭제\",\n  \"commands.SAS.deleteResource\": \"삭제\",\n  \"commands.SAS.deleteTable\": \"삭제\",\n  \"commands.SAS.download\": \"다운로드\",\n  \"commands.SAS.emptyRecycleBin\": \"휴지통 비우기\",\n  \"commands.SAS.file.new\": \"새 SAS 파일\",\n  \"commands.SAS.file.new.short\": \"SAS 파일\",\n  \"commands.SAS.notebook.export\": \"내보내기\",\n  \"commands.SAS.notebook.new\": \"새로운 SAS 노트북\",\n  \"commands.SAS.notebook.new.short\": \"SAS 노트북\",\n  \"commands.SAS.notebook.saveOutput\": \"출력 저장\",\n  \"commands.SAS.refresh\": \"새로고침\",\n  \"commands.SAS.removeFromFavorites\": \"내 즐겨찾기에서 제거\",\n  \"commands.SAS.renameResource\": \"이름 변경...\",\n  \"commands.SAS.restoreResource\": \"복원\",\n  \"commands.SAS.run\": \"모든 SAS 코드 실행\",\n  \"commands.SAS.runRegion\": \"영역 실행\",\n  \"commands.SAS.runSelected\": \"선택한 코드 또는 모든 SAS 코드 실행\",\n  \"commands.SAS.showTableProperties\": \"속성\",\n  \"commands.SAS.switchProfile\": \"현재 연결 프로필 전환\",\n  \"commands.SAS.toggleLineComment\": \"행별 SAS 코드 주석 켜기/끄기\",\n  \"commands.SAS.updateProfile\": \"연결 프로필 업데이트\",\n  \"commands.SAS.upload\": \"업로드\",\n  \"commands.SAS.uploadFiles\": \"파일 업로드\",\n  \"commands.SAS.uploadFolders\": \"폴더 업로드\",\n  \"configuration.SAS.connectionProfiles\": \"SAS 서버에 연결하기 위한 연결 프로필을 정의합니다. 두 개 이상의 프로필을 정의하는 경우 서로 전환할 수 있습니다.\",\n  \"configuration.SAS.connectionProfiles.activeProfile\": \"활성 SAS 연결 프로필\",\n  \"configuration.SAS.connectionProfiles.profiles\": \"SAS 연결 프로필\",\n  \"configuration.SAS.connectionProfiles.profiles.autoExec\": \"SAS 연결 자동 실행\",\n  \"configuration.SAS.connectionProfiles.profiles.autoExec.filePath\": \"SAS 연결 자동 실행 파일 경로\",\n  \"configuration.SAS.connectionProfiles.profiles.autoExec.line\": \"SAS 연결 자동 실행 라인\",\n  \"configuration.SAS.connectionProfiles.profiles.autoExec.type\": \"SAS 연결 자동 실행 유형\",\n  \"configuration.SAS.connectionProfiles.profiles.clientId\": \"SAS Viya 클라이언트 ID\",\n  \"configuration.SAS.connectionProfiles.profiles.clientSecret\": \"SAS Viya 클라이언트 비밀번호\",\n  \"configuration.SAS.connectionProfiles.profiles.com.host\": \"SAS COM 연결 호스트\",\n  \"configuration.SAS.connectionProfiles.profiles.com.interopLibraryFolderPath\": \"SAS COM interop 라이브러리 경로\",\n  \"configuration.SAS.connectionProfiles.profiles.connectionType\": \"SAS 프로필 연결 유형\",\n  \"configuration.SAS.connectionProfiles.profiles.context\": \"SAS Viya 컨텍스트\",\n  \"configuration.SAS.connectionProfiles.profiles.endpoint\": \"SAS Viya 연결 프로필 엔드포인트\",\n  \"configuration.SAS.connectionProfiles.profiles.fileNavigationCustomRootPath\": \"SAS Server 사용자 정의 루트 경로\",\n  \"configuration.SAS.connectionProfiles.profiles.fileNavigationRoot\": \"SAS Server 루트\",\n  \"configuration.SAS.connectionProfiles.profiles.iom.host\": \"SAS IOM 연결 호스트\",\n  \"configuration.SAS.connectionProfiles.profiles.iom.interopLibraryFolderPath\": \"SAS IOM interop 라이브러리 경로\",\n  \"configuration.SAS.connectionProfiles.profiles.iom.port\": \"SAS IOM 연결 포트\",\n  \"configuration.SAS.connectionProfiles.profiles.iom.username\": \"SAS IOM 연결 사용자 이름\",\n  \"configuration.SAS.connectionProfiles.profiles.name\": \"SAS 연결 프로필 이름\",\n  \"configuration.SAS.connectionProfiles.profiles.sasOptions\": \"SAS 연결 SAS 옵션\",\n  \"configuration.SAS.connectionProfiles.profiles.ssh.host\": \"SAS SSH 연결 SSH 호스트\",\n  \"configuration.SAS.connectionProfiles.profiles.ssh.port\": \"SAS SSH 연결 포트\",\n  \"configuration.SAS.connectionProfiles.profiles.ssh.privateKeyFilePath\": \"SAS SSH 연결 개인 키 파일 경로\",\n  \"configuration.SAS.connectionProfiles.profiles.ssh.saspath\": \"SAS SSH 연결 실행 파일 경로\",\n  \"configuration.SAS.connectionProfiles.profiles.ssh.username\": \"SAS SSH 연결 사용자 이름\",\n  \"configuration.SAS.flowConversionMode\": \"노트북의 변환 모드 선택\",\n  \"configuration.SAS.flowConversionModeNode\": \"각 노트북 셀을 노드로 변환\",\n  \"configuration.SAS.flowConversionModeSwimlane\": \"각 노트북 셀을 스윔레인으로 변환\",\n  \"configuration.SAS.log.clearOnExecutionStart\": \"코드 실행 시작 시 SAS 로그 지우기\",\n  \"configuration.SAS.log.showOnExecutionFinish\": \"코드 실행이 완료되면 SAS 로그 표시\",\n  \"configuration.SAS.log.showOnExecutionStart\": \"코드 실행이 시작되면 SAS 로그 표시\",\n  \"configuration.SAS.notebook.export.includeLog\": \"내보낸 노트북에 SAS 로그 포함\",\n  \"configuration.SAS.problems.log.enabled\": \"SAS 로그에서 문제 표시\",\n  \"configuration.SAS.results.html.custom.style\": \"Light, Dark, highContrast 또는 highContrastLight 테마에 사용할 SAS 스타일을 지정합니다. 이 옵션은 `#SAS.results.html.style#`이 `(auto)`로 설정될 때 적용됩니다.\",\n  \"configuration.SAS.results.html.custom.style.dark\": \"Dark 테마에 사용할 스타일\",\n  \"configuration.SAS.results.html.custom.style.highContrast\": \"High Contrast 테마에 사용할 스타일\",\n  \"configuration.SAS.results.html.custom.style.highContrastLight\": \"High Contrast Light 테마에 사용할 스타일\",\n  \"configuration.SAS.results.html.custom.style.light\": \"Light 테마에 사용할 스타일\",\n  \"configuration.SAS.results.html.enabled\": \"ODS HTML5 출력 활성화/비활성화\",\n  \"configuration.SAS.results.html.style\": \"ODS HTML5 결과에 대한 스타일 지정\",\n  \"configuration.SAS.results.html.style.(auto)\": \"확장 기능이 색상 테마와 가장 일치하는 스타일을 선택하도록 합니다.\",\n  \"configuration.SAS.results.html.style.(server default)\": \"SAS 서버에서 구성한 스타일을 기본값으로 설정합니다.\",\n  \"configuration.SAS.results.sideBySide\": \"코드 옆에 결과 표시\",\n  \"configuration.SAS.results.singlePanel\": \"결과 표시에 단일 패널 재사용\",\n  \"configuration.SAS.userProvidedCertificates\": \"신뢰할 수 있는 CA 인증서 파일 제공\",\n  \"notebooks.SAS.htmlRenderer\": \"SAS HTML 렌더러\",\n  \"notebooks.SAS.logRenderer\": \"SAS 로그 렌더러\",\n  \"notebooks.SAS.sasNotebook\": \"SAS 노트북\",\n  \"themes.SAS.dark\": \"SAS 다크\",\n  \"themes.SAS.highContrast\": \"SAS 고대비\",\n  \"themes.SAS.light\": \"SAS 라이트\",\n  \"views.SAS.explorer\": \"SAS 콘텐츠\",\n  \"views.SAS.libraries\": \"라이브러리\",\n  \"views.SAS.serverExplorer\": \"SAS 서버\",\n  \"views.SAS.signIn\": \"로그인\",\n  \"views.SAS.unsupportedConnection\": \"귀하의 연결은 SAS Extension for Visual Studio Code 내에서 SAS 콘텐츠 탐색을 지원하지 않습니다. 탐색기 뷰를 사용하여야 파일을 방문할 수 있습니다.\",\n  \"views.SAS.welcome\": \"SAS Extension for Visual Studio Code를 사용하려면 SAS에 로그인해야 합니다.\\n[로그인](command:SAS.authorize)\"\n}\n"
  },
  {
    "path": "package.nls.pl.json",
    "content": "{\n  \"commands.SAS.addFileResource\": \"Nowy plik…\",\n  \"commands.SAS.addFolderResource\": \"Nowy folder…\",\n  \"commands.SAS.addProfile\": \"Dodaj nowy profil połączenia\",\n  \"commands.SAS.addToFavorites\": \"Dodaj do Moich ulubionych \",\n  \"commands.SAS.authorize\": \"Zaloguj się\",\n  \"commands.SAS.close\": \"Zamknij bieżącą serię\",\n  \"commands.SAS.collapseAll\": \"Zwiń wszystko\",\n  \"commands.SAS.convertNotebookToFlow\": \"Konwertuj na potok…\",\n  \"commands.SAS.copyPath\": \"Kopiuj ścieżkę\",\n  \"commands.SAS.deleteProfile\": \"Usuń profil połączenia\",\n  \"commands.SAS.deleteResource\": \"Usuń\",\n  \"commands.SAS.deleteTable\": \"Usuń\",\n  \"commands.SAS.download\": \"Pobierz\",\n  \"commands.SAS.emptyRecycleBin\": \"Opróżnij kosz\",\n  \"commands.SAS.file.new\": \"Nowy plik SAS-owy\",\n  \"commands.SAS.file.new.short\": \"Plik SAS-owy\",\n  \"commands.SAS.notebook.export\": \"Eksportuj\",\n  \"commands.SAS.notebook.new\": \"Nowy notatnik SAS-owy\",\n  \"commands.SAS.notebook.new.short\": \"Notatnik SAS-owy\",\n  \"commands.SAS.notebook.saveOutput\": \"Zapisz wyniki\",\n  \"commands.SAS.refresh\": \"Odśwież\",\n  \"commands.SAS.removeFromFavorites\": \"Usuń z Moich ulubionych\",\n  \"commands.SAS.renameResource\": \"Zmień nazwę…\",\n  \"commands.SAS.restoreResource\": \"Przywróć\",\n  \"commands.SAS.run\": \"Uruchom cały kod SAS-owy\",\n  \"commands.SAS.runRegion\": \"Uruchom region\",\n  \"commands.SAS.runSelected\": \"Uruchom wybrane lub cały kod SAS-owy\",\n  \"commands.SAS.showTableProperties\": \"Właściwości\",\n  \"commands.SAS.switchProfile\": \"Przełącz bieżący profil SAS-owy\",\n  \"commands.SAS.toggleLineComment\": \"Przełącz komentarze do kodu SAS-owego wg wiersza\",\n  \"commands.SAS.updateProfile\": \"Zaktualizuj profil połączenia\",\n  \"commands.SAS.upload\": \"Załaduj\",\n  \"commands.SAS.uploadFiles\": \"Załaduj pliki\",\n  \"commands.SAS.uploadFolders\": \"Załaduj foldery\",\n  \"configuration.SAS.connectionProfiles\": \"add translation here\",\n  \"configuration.SAS.connectionProfiles.activeProfile\": \"Aktywny profil połączenia SAS-owego\",\n  \"configuration.SAS.connectionProfiles.profiles\": \"Profile połączeń SAS-owych\",\n  \"configuration.SAS.connectionProfiles.profiles.autoExec\": \"Plik autoexec połączenia SAS-owego\",\n  \"configuration.SAS.connectionProfiles.profiles.autoExec.filePath\": \"Ścieżka pliku autoexec połączenia SAS-owego\",\n  \"configuration.SAS.connectionProfiles.profiles.autoExec.line\": \"Wiersz autoexec połączenia SAS-owego\",\n  \"configuration.SAS.connectionProfiles.profiles.autoExec.type\": \"Typ pliku autoexec połączenia SAS-owego\",\n  \"configuration.SAS.connectionProfiles.profiles.clientId\": \"Id. klienta SAS Viya\",\n  \"configuration.SAS.connectionProfiles.profiles.clientSecret\": \"Klucz tajny klienta SAS Viya\",\n  \"configuration.SAS.connectionProfiles.profiles.com.host\": \"Host połączenia SAS COM\",\n  \"configuration.SAS.connectionProfiles.profiles.com.interopLibraryFolderPath\": \"Ścieżka do biblioteki interop SAS COM\",\n  \"configuration.SAS.connectionProfiles.profiles.connectionType\": \"Typ profilu SAS-owego\",\n  \"configuration.SAS.connectionProfiles.profiles.context\": \"Kontekst SAS Viya\",\n  \"configuration.SAS.connectionProfiles.profiles.endpoint\": \"Punkt końcowy profilu połączenia SAS Viya\",\n  \"configuration.SAS.connectionProfiles.profiles.fileNavigationCustomRootPath\": \"Niestandardowa ścieżka główna serwera SAS-owego\",\n  \"configuration.SAS.connectionProfiles.profiles.fileNavigationRoot\": \"Ścieżka główna serwera SAS-owego\",\n  \"configuration.SAS.connectionProfiles.profiles.iom.host\": \"Host połączenia SAS IOM\",\n  \"configuration.SAS.connectionProfiles.profiles.iom.interopLibraryFolderPath\": \"Ścieżka do biblioteki interop SAS IOM\",\n  \"configuration.SAS.connectionProfiles.profiles.iom.port\": \"Port połączenia SAS IOM\",\n  \"configuration.SAS.connectionProfiles.profiles.iom.username\": \"Nazwa użytkownika połączenia SAS IOM\",\n  \"configuration.SAS.connectionProfiles.profiles.name\": \"Nazwa profilu połączenia SAS-owego\",\n  \"configuration.SAS.connectionProfiles.profiles.sasOptions\": \"Opcje SAS-owe połączenia SAS-owego\",\n  \"configuration.SAS.connectionProfiles.profiles.ssh.host\": \"Host SSH połączenia SAS-owego SSH\",\n  \"configuration.SAS.connectionProfiles.profiles.ssh.port\": \"Port połączenia SAS-owego SSH\",\n  \"configuration.SAS.connectionProfiles.profiles.ssh.privateKeyFilePath\": \"Ścieżka do pliku klucza prywatnego dla połączenia SAS-owego SSH\",\n  \"configuration.SAS.connectionProfiles.profiles.ssh.saspath\": \"Ścieżka wykonywalna do połączenia SAS-owego SSH\",\n  \"configuration.SAS.connectionProfiles.profiles.ssh.username\": \"Nazwa użytkownika połączenia SAS-owego SSH\",\n  \"configuration.SAS.flowConversionMode\": \"Wybierz metodę konwersji dla notatników\",\n  \"configuration.SAS.flowConversionModeNode\": \"Konwertuj każdą komórkę notatnika na węzeł\",\n  \"configuration.SAS.flowConversionModeSwimlane\": \"Konweruj każdą komórkę notatnika na tor\",\n  \"configuration.SAS.log.clearOnExecutionStart\": \"Wyczyść log SAS-owy po rozpoczęciu uruchamiania kodu\",\n  \"configuration.SAS.log.showOnExecutionFinish\": \"Wyświetl log SAS-owy po zakończeniu uruchamiania kodu\",\n  \"configuration.SAS.log.showOnExecutionStart\": \"Wyświetl log SAS-owy po rozpoczęciu uruchamiania kodu\",\n  \"configuration.SAS.notebook.export.includeLog\": \"Dołącz log SAS-owy do eksportowanego notatnika\",\n  \"configuration.SAS.problems.log.enabled\": \"Wyświetl problemy z logu SAS-owego\",\n  \"configuration.SAS.results.html.custom.style\": \"Określa, którego stylu SAS-owego należy użyć do motywu Light, Dark, High Contrast lub High Contrast Light. Opcja ta daje efekty, gdy `#SAS.results.html.style#` jest ustawione jako `(auto)`.\",\n  \"configuration.SAS.results.html.custom.style.dark\": \"Styl używany do motywu Dark\",\n  \"configuration.SAS.results.html.custom.style.highContrast\": \"Styl używany do motywu High Contrast\",\n  \"configuration.SAS.results.html.custom.style.highContrastLight\": \"Styl używany do motywu High Contrast Light\",\n  \"configuration.SAS.results.html.custom.style.light\": \"Styl używany do motywu Light\",\n  \"configuration.SAS.results.html.enabled\": \"Włącz/wyłącz wyniki ODS HTML5\",\n  \"configuration.SAS.results.html.style\": \"Określa styl rezultatów ODS HTML5\",\n  \"configuration.SAS.results.html.style.(auto)\": \"Rozszerzenie wybiera styl najbardziej odpowiadający schematowi kolorystycznemu\",\n  \"configuration.SAS.results.html.style.(server default)\": \"Domyślnie użyj stylu skonfigurowanego na serwerze SAS-owym\",\n  \"configuration.SAS.results.sideBySide\": \"Wyświetl rezultaty z boku kodu\",\n  \"configuration.SAS.results.singlePanel\": \"Ponownie użyj panelu aby wyświelić rezultaty\",\n  \"configuration.SAS.userProvidedCertificates\": \"Podaj pliki zaufane certyfikatu CA\",\n  \"notebooks.SAS.htmlRenderer\": \"Renderer SAS-owego kodu HTML\",\n  \"notebooks.SAS.logRenderer\": \"Renderer logu SAS-owego\",\n  \"notebooks.SAS.sasNotebook\": \"Notatnik SAS-owy\",\n  \"themes.SAS.dark\": \"SAS-owy ciemny\",\n  \"themes.SAS.highContrast\": \"SAS-owy wysoki kontrast\",\n  \"themes.SAS.light\": \"SAS-owy jasny\",\n  \"views.SAS.explorer\": \"Zawartość SAS-owa\",\n  \"views.SAS.libraries\": \"Biblioteki\",\n  \"views.SAS.serverExplorer\": \"Serwer SAS-owy\",\n  \"views.SAS.signIn\": \"Zaloguj się\",\n  \"views.SAS.unsupportedConnection\": \"Połączenie nie obsługuje nawigacji po zawartości SAS-owej w obrębie SAS Extension for Visual Studio Code.\",\n  \"views.SAS.welcome\": \"Aby użyć SAS Extension for Visual Studio Code należy zalogować się do SAS-a. [Sign In](command:SAS.authorize)\"\n}\n"
  },
  {
    "path": "package.nls.pt-br.json",
    "content": "{\n  \"commands.SAS.addFileResource\": \"Arquivo novo...\",\n  \"commands.SAS.addFolderResource\": \"Pasta nova...\",\n  \"commands.SAS.addProfile\": \"Adicionar um Perfil de Conexão novo\",\n  \"commands.SAS.addToFavorites\": \"Adiciona ao My Favorites\",\n  \"commands.SAS.authorize\": \"Conecte-se\",\n  \"commands.SAS.close\": \"Fecha a sessão atual\",\n  \"commands.SAS.collapseAll\": \"Recolher todos\",\n  \"commands.SAS.convertNotebookToFlow\": \"Converta a Flow...\",\n  \"commands.SAS.copyPath\": \"Copiar caminho\",\n  \"commands.SAS.deleteProfile\": \"Exclui Perfil de Conexão\",\n  \"commands.SAS.deleteResource\": \"Exclui recurso\",\n  \"commands.SAS.deleteTable\": \"Exclui tabela\",\n  \"commands.SAS.download\": \"Download\",\n  \"commands.SAS.emptyRecycleBin\": \"Esvazia a lixeira\",\n  \"commands.SAS.file.new\": \"Novo arquivo SAS\",\n  \"commands.SAS.file.new.short\": \"Arquivo SAS\",\n  \"commands.SAS.notebook.export\": \"Exporte\",\n  \"commands.SAS.notebook.new\": \"Novo Notebook SAS\",\n  \"commands.SAS.notebook.new.short\": \"Notebook SAS\",\n  \"commands.SAS.notebook.saveOutput\": \"Salvar resultado\",\n  \"commands.SAS.refresh\": \"Refrescar\",\n  \"commands.SAS.removeFromFavorites\": \"Exclui iten de My Favorites\",\n  \"commands.SAS.renameResource\": \"Renomeia...\",\n  \"commands.SAS.restoreResource\": \"Restabelece\",\n  \"commands.SAS.run\": \"Execute o inteiro programa SAS\",\n  \"commands.SAS.runRegion\": \"Execute o código da região\",\n  \"commands.SAS.runSelected\": \"Execute o selecão ou o programa SAS inteiro\",\n  \"commands.SAS.showTableProperties\": \"Propriedades\",\n  \"commands.SAS.switchProfile\": \"Troca o perfil de conexão atual\",\n  \"commands.SAS.toggleLineComment\": \"Alternar comentários de código SAS por linha\",\n  \"commands.SAS.updateProfile\": \"Atualiza o perfil de conexão\",\n  \"commands.SAS.upload\": \"Faz upload\",\n  \"commands.SAS.uploadFiles\": \"Faz upload dos arquivos\",\n  \"commands.SAS.uploadFolders\": \"Faz upload da pasta\",\n  \"configuration.SAS.connectionProfiles\": \"Define os perfis de conexão para conectar-se aos servidores SAS. Se defines mais de um perfil, poderá alternar entre eles.\",\n  \"configuration.SAS.connectionProfiles.activeProfile\": \"Ativa Perfil de Conexão SAS\",\n  \"configuration.SAS.connectionProfiles.profiles\": \"Perfils de Conexão SAS\",\n  \"configuration.SAS.connectionProfiles.profiles.autoExec\": \"Arquivo AutoExec da Conexão SAS\",\n  \"configuration.SAS.connectionProfiles.profiles.autoExec.filePath\": \"Caminho do Arquivo AutoExec da Conexão SAS\",\n  \"configuration.SAS.connectionProfiles.profiles.autoExec.line\": \"Linha no Arquivo AutoExec da Conexão SAS\",\n  \"configuration.SAS.connectionProfiles.profiles.autoExec.type\": \"Tipo do Arquivo AutoExec da Conexão SAS\",\n  \"configuration.SAS.connectionProfiles.profiles.clientId\": \"ID do Cliente do SAS Viya\",\n  \"configuration.SAS.connectionProfiles.profiles.clientSecret\": \"Segredo do Cliente do SAS Viya \",\n  \"configuration.SAS.connectionProfiles.profiles.com.host\": \"Host de conexão SAS COM\",\n  \"configuration.SAS.connectionProfiles.profiles.com.interopLibraryFolderPath\": \"Caminho da biblioteca interop SAS COM\",\n  \"configuration.SAS.connectionProfiles.profiles.connectionType\": \"Tipo de Conexão do Perfil SAS\",\n  \"configuration.SAS.connectionProfiles.profiles.context\": \"Contexto SAS Viya\",\n  \"configuration.SAS.connectionProfiles.profiles.endpoint\": \"Ponto final do perfil de conexão SAS Viya\",\n  \"configuration.SAS.connectionProfiles.profiles.fileNavigationCustomRootPath\": \"Caminho raiz personalizado do arquivo no servidor SAS\",\n  \"configuration.SAS.connectionProfiles.profiles.fileNavigationRoot\": \"Caminho raiz do arquivo no servidor SAS\",\n  \"configuration.SAS.connectionProfiles.profiles.iom.host\": \"Conexão do Host SAS IOM\",\n  \"configuration.SAS.connectionProfiles.profiles.iom.interopLibraryFolderPath\": \"Caminho da biblioteca interop SAS IOM\",\n  \"configuration.SAS.connectionProfiles.profiles.iom.port\": \"Porta do Host SAS IOM\",\n  \"configuration.SAS.connectionProfiles.profiles.iom.username\": \"Nome de usuário para o conexão SAS IOM\",\n  \"configuration.SAS.connectionProfiles.profiles.name\": \"Nome do Perfil de Conexão SAS\",\n  \"configuration.SAS.connectionProfiles.profiles.sasOptions\": \"Opções SAS da conexão SAS\",\n  \"configuration.SAS.connectionProfiles.profiles.ssh.host\": \"Host SSH da Conexão SSH SAS\",\n  \"configuration.SAS.connectionProfiles.profiles.ssh.port\": \"Porta da Conexão SSH SAS\",\n  \"configuration.SAS.connectionProfiles.profiles.ssh.privateKeyFilePath\": \"Caminho ao arquivo da chave privada da conexão SSH do SAS\",\n  \"configuration.SAS.connectionProfiles.profiles.ssh.saspath\": \"Caminho executável da Conexão SSH SAS\",\n  \"configuration.SAS.connectionProfiles.profiles.ssh.username\": \"Nome de Usuário do Conexão SAS\",\n  \"configuration.SAS.flowConversionMode\": \"Escolha o modo de conversão para os notebooks\",\n  \"configuration.SAS.flowConversionModeNode\": \"Converta cada célula do notebook a um nó\",\n  \"configuration.SAS.flowConversionModeSwimlane\": \"Converta cada célula do notebook em uma raia (swimlane)\",\n  \"configuration.SAS.log.clearOnExecutionStart\": \"Limpa o SAS ao início da execução do código\",\n  \"configuration.SAS.log.showOnExecutionFinish\": \"Mostrar log SAS quando a execução for concluída\",\n  \"configuration.SAS.log.showOnExecutionStart\": \"Mostrar log SAS quando a execução começa\",\n  \"configuration.SAS.notebook.export.includeLog\": \"Incluir o log SAS no notebook exportado\",\n  \"configuration.SAS.problems.log.enabled\": \"Mostre os problemas do log do SAS\",\n  \"configuration.SAS.results.html.custom.style\": \"Especifica qual estilo SAS usar para os temas claro, escuro, alto contraste ou alto contraste claro. Esta opção é aplicada quando `#SAS.results.html.style#` está definido como `(auto)`.\",\n  \"configuration.SAS.results.html.custom.style.dark\": \"Estilo a ser usado para o tema escuro\",\n  \"configuration.SAS.results.html.custom.style.highContrast\": \"Estilo a ser usado para o tema alto contraste\",\n  \"configuration.SAS.results.html.custom.style.highContrastLight\": \"Estilo a ser usado para o tema alto contraste claro\",\n  \"configuration.SAS.results.html.custom.style.light\": \"Estilo a ser usado para o tema claro\",\n  \"configuration.SAS.results.html.enabled\": \"Habilitar/desabilitar resultados HTML5 do ODS\",\n  \"configuration.SAS.results.html.style\": \"Especifica o estilo dos resultados HTML5 do ODS.\",\n  \"configuration.SAS.results.html.style.(auto)\": \"Deixa que a extensão escolha o estilo que corresponda melhor ao tema de cores.\",\n  \"configuration.SAS.results.html.style.(server default)\": \"Use o estilo padrão configurado no servidor SAS.\",\n  \"configuration.SAS.results.sideBySide\": \"Exibir resultados ao lado do código\",\n  \"configuration.SAS.results.singlePanel\": \"Exibe os resultados em um painel único e reutilizado\",\n  \"configuration.SAS.userProvidedCertificates\": \"Forneça os arquivos de certifiçao CA confiáveis.\",\n  \"notebooks.SAS.htmlRenderer\": \"Renderizador SAS de HTML\",\n  \"notebooks.SAS.logRenderer\": \"SAS Log Renderer\",\n  \"notebooks.SAS.sasNotebook\": \"Notebook SAS\",\n  \"themes.SAS.dark\": \"SAS Escuro\",\n  \"themes.SAS.highContrast\": \"SAS Alta Contrasto\",\n  \"themes.SAS.light\": \"SAS Clara\",\n  \"views.SAS.explorer\": \"Conteúdo SAS\",\n  \"views.SAS.libraries\": \"Bibliotecas\",\n  \"views.SAS.serverExplorer\": \"Servidor SAS\",\n  \"views.SAS.signIn\": \"Sign In\",\n  \"views.SAS.unsupportedConnection\": \"Este conexão não suporte a navegação de conteúdo SAS na extensão Visual Studio Code SAS. Somente pode acessar arquivos usando o Explorador.\",\n  \"views.SAS.welcome\": \"Para usar a extensão SAS no Visual Studio Code, precisas fazer login  ao SAS.\\n[Sign In](command:SAS.authorize)\"\n}\n"
  },
  {
    "path": "package.nls.zh-cn.json",
    "content": "{\n  \"commands.SAS.addFileResource\": \"新文件...\",\n  \"commands.SAS.addFolderResource\": \"新文件夹...\",\n  \"commands.SAS.addProfile\": \"添加新的连接配置文件\",\n  \"commands.SAS.addToFavorites\": \"添加到我的收藏夹\",\n  \"commands.SAS.authorize\": \"登录\",\n  \"commands.SAS.close\": \"关闭当前会话\",\n  \"commands.SAS.collapseAll\": \"全部折叠\",\n  \"commands.SAS.convertNotebookToFlow\": \"转换为流...\",\n  \"commands.SAS.copyPath\": \"复制路径\",\n  \"commands.SAS.deleteProfile\": \"删除连接配置文件\",\n  \"commands.SAS.deleteResource\": \"删除\",\n  \"commands.SAS.deleteTable\": \"删除\",\n  \"commands.SAS.download\": \"下载\",\n  \"commands.SAS.emptyRecycleBin\": \"清空回收站\",\n  \"commands.SAS.file.new\": \"新 SAS 文件\",\n  \"commands.SAS.file.new.short\": \"SAS 文件\",\n  \"commands.SAS.notebook.export\": \"导出\",\n  \"commands.SAS.notebook.new\": \"新 SAS 笔记本\",\n  \"commands.SAS.notebook.new.short\": \"SAS 笔记本\",\n  \"commands.SAS.notebook.saveOutput\": \"保存输出\",\n  \"commands.SAS.refresh\": \"刷新\",\n  \"commands.SAS.removeFromFavorites\": \"从我的收藏夹中删除\",\n  \"commands.SAS.renameResource\": \"重命名...\",\n  \"commands.SAS.restoreResource\": \"恢复\",\n  \"commands.SAS.run\": \"运行所有 SAS 代码\",\n  \"commands.SAS.runRegion\": \"运行区域\",\n  \"commands.SAS.runSelected\": \"运行选定或所有 SAS 代码\",\n  \"commands.SAS.showTableProperties\": \"属性\",\n  \"commands.SAS.switchProfile\": \"切换当前连接配置文件\",\n  \"commands.SAS.toggleLineComment\": \"按行切换 SAS 代码注释\",\n  \"commands.SAS.updateProfile\": \"更新连接配置文件\",\n  \"commands.SAS.upload\": \"上传\",\n  \"commands.SAS.uploadFiles\": \"上传文件\",\n  \"commands.SAS.uploadFolders\": \"上传文件夹\",\n  \"configuration.SAS.connectionProfiles\": \"定义连接配置文件以连接到 SAS 服务器。如果定义多个配置文件，您可以在它们之间进行切换。\",\n  \"configuration.SAS.connectionProfiles.activeProfile\": \"活动 SAS 连接配置文件\",\n  \"configuration.SAS.connectionProfiles.profiles\": \"SAS 连接配置文件\",\n  \"configuration.SAS.connectionProfiles.profiles.autoExec\": \"SAS 连接 AutoExec\",\n  \"configuration.SAS.connectionProfiles.profiles.autoExec.filePath\": \"SAS 连接 AutoExec 文件路径\",\n  \"configuration.SAS.connectionProfiles.profiles.autoExec.line\": \"SAS 连接 AutoExec 行\",\n  \"configuration.SAS.connectionProfiles.profiles.autoExec.type\": \"SAS 连接 AutoExec 类型\",\n  \"configuration.SAS.connectionProfiles.profiles.clientId\": \"SAS Viya 客户端 ID\",\n  \"configuration.SAS.connectionProfiles.profiles.clientSecret\": \"SAS Viya 客户端密钥\",\n  \"configuration.SAS.connectionProfiles.profiles.com.host\": \"SAS COM 连接主机\",\n  \"configuration.SAS.connectionProfiles.profiles.com.interopLibraryFolderPath\": \"SAS COM 互操作库路径\",\n  \"configuration.SAS.connectionProfiles.profiles.connectionType\": \"SAS 配置文件连接类型\",\n  \"configuration.SAS.connectionProfiles.profiles.context\": \"SAS Viya 上下文\",\n  \"configuration.SAS.connectionProfiles.profiles.endpoint\": \"SAS Viya 连接配置文件端点\",\n  \"configuration.SAS.connectionProfiles.profiles.fileNavigationCustomRootPath\": \"SAS 服务器自定义根路径\",\n  \"configuration.SAS.connectionProfiles.profiles.fileNavigationRoot\": \"SAS 服务器根目录\",\n  \"configuration.SAS.connectionProfiles.profiles.iom.host\": \"SAS IOM 连接主机\",\n  \"configuration.SAS.connectionProfiles.profiles.iom.interopLibraryFolderPath\": \"SAS IOM 互操作库路径\",\n  \"configuration.SAS.connectionProfiles.profiles.iom.port\": \"SAS IOM 连接端口\",\n  \"configuration.SAS.connectionProfiles.profiles.iom.username\": \"SAS IOM 连接用户名\",\n  \"configuration.SAS.connectionProfiles.profiles.name\": \"SAS 连接配置文件名称\",\n  \"configuration.SAS.connectionProfiles.profiles.sasOptions\": \"SAS 连接 SAS 选项\",\n  \"configuration.SAS.connectionProfiles.profiles.ssh.host\": \"SAS SSH 连接 SSH 主机\",\n  \"configuration.SAS.connectionProfiles.profiles.ssh.port\": \"SAS SSH 连接端口\",\n  \"configuration.SAS.connectionProfiles.profiles.ssh.privateKeyFilePath\": \"SAS SSH 连接私钥文件路径\",\n  \"configuration.SAS.connectionProfiles.profiles.ssh.saspath\": \"SAS SSH 连接可执行路径\",\n  \"configuration.SAS.connectionProfiles.profiles.ssh.username\": \"SAS SSH 连接用户名\",\n  \"configuration.SAS.flowConversionMode\": \"选择笔记本的转换模式\",\n  \"configuration.SAS.flowConversionModeNode\": \"将每个笔记本单元转换为一个节点\",\n  \"configuration.SAS.flowConversionModeSwimlane\": \"将每个笔记本单元转换为泳道\",\n  \"configuration.SAS.log.clearOnExecutionStart\": \"代码执行开始时清空 SAS 日志\",\n  \"configuration.SAS.log.showOnExecutionFinish\": \"代码执行完成时显示 SAS 日志\",\n  \"configuration.SAS.log.showOnExecutionStart\": \"代码执行开始时显示 SAS 日志\",\n  \"configuration.SAS.notebook.export.includeLog\": \"在导出的笔记本中包含 SAS 日志\",\n  \"configuration.SAS.problems.log.enabled\": \"显示SAS日志中报告的问题\",\n  \"configuration.SAS.results.html.custom.style\": \"指定浅色、深色、高对比度或高对比度浅色主题使用的 SAS 样式。当`#SAS.results.html.style#`设置为`(auto)`时，此选项生效。\",\n  \"configuration.SAS.results.html.custom.style.dark\": \"用于深色主题的样式\",\n  \"configuration.SAS.results.html.custom.style.highContrast\": \"用于高对比度主题的样式\",\n  \"configuration.SAS.results.html.custom.style.highContrastLight\": \"用于高对比度浅色主题的样式\",\n  \"configuration.SAS.results.html.custom.style.light\": \"用于浅色主题的样式\",\n  \"configuration.SAS.results.html.enabled\": \"启用/禁用 ODS HTML5 输出\",\n  \"configuration.SAS.results.html.style\": \"指定 ODS HTML5 结果的样式。\",\n  \"configuration.SAS.results.html.style.(auto)\": \"让扩展程序选择与颜色主题最匹配的样式。\",\n  \"configuration.SAS.results.html.style.(server default)\": \"默认为 SAS 服务器上配置的样式。\",\n  \"configuration.SAS.results.sideBySide\": \"将结果显示在代码旁边\",\n  \"configuration.SAS.results.singlePanel\": \"重复使用单个面板来显示结果\",\n  \"configuration.SAS.userProvidedCertificates\": \"提供受信任的 CA 证书文件\",\n  \"notebooks.SAS.htmlRenderer\": \"SAS HTML 渲染器\",\n  \"notebooks.SAS.logRenderer\": \"SAS 日志渲染器\",\n  \"notebooks.SAS.sasNotebook\": \"SAS 笔记本\",\n  \"themes.SAS.dark\": \"SAS 深色\",\n  \"themes.SAS.highContrast\": \"SAS 高对比度\",\n  \"themes.SAS.light\": \"SAS 浅色\",\n  \"views.SAS.explorer\": \"SAS 内容\",\n  \"views.SAS.libraries\": \"库\",\n  \"views.SAS.serverExplorer\": \"SAS 服务器\",\n  \"views.SAS.signIn\": \"登录\",\n  \"views.SAS.unsupportedConnection\": \"您的连接不支持 SAS Extension for Visual Studio Code 中的 SAS 内容导航。您只能使用资源管理器视图访问文件。\",\n  \"views.SAS.welcome\": \"要使用 SAS Extension for Visual Studio Code，您必须登录 SAS。\\n[登录](command:SAS.authorize)\"\n}\n"
  },
  {
    "path": "package.nls.zh-tw.json",
    "content": "{\n  \"commands.SAS.addFileResource\": \"新增檔案…\",\n  \"commands.SAS.addFolderResource\": \"新增資料夾…\",\n  \"commands.SAS.addProfile\": \"增加新的連線設定檔\",\n  \"commands.SAS.addToFavorites\": \"增加到我的最愛\",\n  \"commands.SAS.authorize\": \"登入\",\n  \"commands.SAS.close\": \"關閉目前工作階段\",\n  \"commands.SAS.collapseAll\": \"全部摺疊\",\n  \"commands.SAS.convertNotebookToFlow\": \"轉換為流程…\",\n  \"commands.SAS.copyPath\": \"複製路徑\",\n  \"commands.SAS.deleteProfile\": \"刪除連線設定檔\",\n  \"commands.SAS.deleteResource\": \"刪除\",\n  \"commands.SAS.deleteTable\": \"刪除\",\n  \"commands.SAS.download\": \"下載\",\n  \"commands.SAS.emptyRecycleBin\": \"清空資源回收筒\",\n  \"commands.SAS.file.new\": \"新增 SAS 檔案\",\n  \"commands.SAS.file.new.short\": \"SAS 檔案\",\n  \"commands.SAS.notebook.export\": \"匯出\",\n  \"commands.SAS.notebook.new\": \"新增 SAS 筆記本\",\n  \"commands.SAS.notebook.new.short\": \"SAS 筆記本\",\n  \"commands.SAS.notebook.saveOutput\": \"儲存輸出\",\n  \"commands.SAS.refresh\": \"重新整理\",\n  \"commands.SAS.removeFromFavorites\": \"從我的最愛移除\",\n  \"commands.SAS.renameResource\": \"重新命名…\",\n  \"commands.SAS.restoreResource\": \"還原\",\n  \"commands.SAS.run\": \"執行所有 SAS 程式碼\",\n  \"commands.SAS.runRegion\": \"執行區域\",\n  \"commands.SAS.runSelected\": \"執行選取的或所有的 SAS 程式碼\",\n  \"commands.SAS.showTableProperties\": \"屬性\",\n  \"commands.SAS.switchProfile\": \"切換目前連線設定檔\",\n  \"commands.SAS.toggleLineComment\": \"依行切換 SAS 程式碼註解\",\n  \"commands.SAS.updateProfile\": \"更新連線設定檔\",\n  \"commands.SAS.upload\": \"上傳\",\n  \"commands.SAS.uploadFiles\": \"上傳檔案\",\n  \"commands.SAS.uploadFolders\": \"上傳資料夾\",\n  \"configuration.SAS.connectionProfiles\": \"定義連線設定檔以連線至 SAS 伺服器。如果您定義多個設定檔，則可以在設定檔之間進行切換。\",\n  \"configuration.SAS.connectionProfiles.activeProfile\": \"使用中的 SAS 連線設定檔\",\n  \"configuration.SAS.connectionProfiles.profiles\": \"SAS 連線設定檔\",\n  \"configuration.SAS.connectionProfiles.profiles.autoExec\": \"SAS 連線 AutoExec\",\n  \"configuration.SAS.connectionProfiles.profiles.autoExec.filePath\": \"SAS 連線 AutoExec 檔案路徑\",\n  \"configuration.SAS.connectionProfiles.profiles.autoExec.line\": \"SAS 連線 AutoExec 行\",\n  \"configuration.SAS.connectionProfiles.profiles.autoExec.type\": \"SAS 連線 AutoExec 類型\",\n  \"configuration.SAS.connectionProfiles.profiles.clientId\": \"SAS Viya 用戶端 ID\",\n  \"configuration.SAS.connectionProfiles.profiles.clientSecret\": \"SAS Viya 用戶端密碼\",\n  \"configuration.SAS.connectionProfiles.profiles.com.host\": \"SAS COM 連線主機\",\n  \"configuration.SAS.connectionProfiles.profiles.com.interopLibraryFolderPath\": \"SAS COM Interop 程式庫路徑\",\n  \"configuration.SAS.connectionProfiles.profiles.connectionType\": \"SAS 設定檔連線類型\",\n  \"configuration.SAS.connectionProfiles.profiles.context\": \"SAS Viya 環境\",\n  \"configuration.SAS.connectionProfiles.profiles.endpoint\": \"SAS Viya 連線設定檔端點\",\n  \"configuration.SAS.connectionProfiles.profiles.fileNavigationCustomRootPath\": \"SAS 伺服器自訂根路徑\",\n  \"configuration.SAS.connectionProfiles.profiles.fileNavigationRoot\": \"SAS 伺服器根\",\n  \"configuration.SAS.connectionProfiles.profiles.iom.host\": \"SAS IOM 連線主機\",\n  \"configuration.SAS.connectionProfiles.profiles.iom.interopLibraryFolderPath\": \"SAS IOM Interop 程式庫路徑\",\n  \"configuration.SAS.connectionProfiles.profiles.iom.port\": \"SAS IOM 連線連接埠\",\n  \"configuration.SAS.connectionProfiles.profiles.iom.username\": \"SAS IOM 連線使用者名稱\",\n  \"configuration.SAS.connectionProfiles.profiles.name\": \"SAS 連線設定檔名稱\",\n  \"configuration.SAS.connectionProfiles.profiles.sasOptions\": \"SAS 連線 SAS 選項\",\n  \"configuration.SAS.connectionProfiles.profiles.ssh.host\": \"SAS SSH 連線 SSH 主機\",\n  \"configuration.SAS.connectionProfiles.profiles.ssh.port\": \"SAS SSH 連線連接埠\",\n  \"configuration.SAS.connectionProfiles.profiles.ssh.privateKeyFilePath\": \"SAS SSH 連線私密金鑰檔案路徑\",\n  \"configuration.SAS.connectionProfiles.profiles.ssh.saspath\": \"SAS SSH 連線可執行檔路徑\",\n  \"configuration.SAS.connectionProfiles.profiles.ssh.username\": \"SAS SSH 連線使用者名稱\",\n  \"configuration.SAS.flowConversionMode\": \"選擇筆記本的轉換模式\",\n  \"configuration.SAS.flowConversionModeNode\": \"將每個筆記本儲存格轉換為節點\",\n  \"configuration.SAS.flowConversionModeSwimlane\": \"將每個筆記本儲存格轉換為區隔線\",\n  \"configuration.SAS.log.clearOnExecutionStart\": \"在程式碼開始執行時清除 SAS 日誌\",\n  \"configuration.SAS.log.showOnExecutionFinish\": \"在程式碼完成執行時顯示 SAS 日誌\",\n  \"configuration.SAS.log.showOnExecutionStart\": \"在程式碼開始執行時顯示 SAS 日誌\",\n  \"configuration.SAS.notebook.export.includeLog\": \"在匯出的筆記本中包含 SAS 日誌\",\n  \"configuration.SAS.problems.log.enabled\": \"顯示 SAS 日誌中的問題\",\n  \"configuration.SAS.results.html.custom.style\": \"指定要使用哪個主題的 SAS 樣式──light、dark、highContrast 或 highContrastLight 主題。此選項會在 `#SAS.results.html.style#` 設定為 `(auto)` 時生效。\",\n  \"configuration.SAS.results.html.custom.style.dark\": \"Dark 主題樣式\",\n  \"configuration.SAS.results.html.custom.style.highContrast\": \"High Contrast 主題樣式\",\n  \"configuration.SAS.results.html.custom.style.highContrastLight\": \"High Contrast Light 主題樣式\",\n  \"configuration.SAS.results.html.custom.style.light\": \"Light 主題樣式\",\n  \"configuration.SAS.results.html.enabled\": \"啟用/停用 ODS HTML5 輸出\",\n  \"configuration.SAS.results.html.style\": \"指定 ODS HTML5 結果的樣式。\",\n  \"configuration.SAS.results.html.style.(auto)\": \"讓擴充模組選擇最符合顏色主題的樣式。\",\n  \"configuration.SAS.results.html.style.(server default)\": \"預設為 SAS 伺服器上設定的樣式。\",\n  \"configuration.SAS.results.sideBySide\": \"在程式碼旁邊顯示結果\",\n  \"configuration.SAS.results.singlePanel\": \"重複使用單一面板來顯示結果\",\n  \"configuration.SAS.userProvidedCertificates\": \"提供信任的 CA 憑證檔案\",\n  \"notebooks.SAS.htmlRenderer\": \"SAS HTML 轉譯器\",\n  \"notebooks.SAS.logRenderer\": \"SAS 日誌轉譯器\",\n  \"notebooks.SAS.sasNotebook\": \"SAS 筆記本\",\n  \"themes.SAS.dark\": \"SAS Dark\",\n  \"themes.SAS.highContrast\": \"SAS High Contrast\",\n  \"themes.SAS.light\": \"SAS Light\",\n  \"views.SAS.explorer\": \"SAS 內容\",\n  \"views.SAS.libraries\": \"資料館\",\n  \"views.SAS.serverExplorer\": \"SAS 伺服器\",\n  \"views.SAS.signIn\": \"登入\",\n  \"views.SAS.unsupportedConnection\": \"您的連線不支援 SAS Extension for Visual Studio Code 內的 SAS 內容瀏覽。您只能使用檔案總管檢視來存取檔案。\",\n  \"views.SAS.welcome\": \"若要使用 SAS Extension for Visual Studio Code，您必須登入 SAS.\\r\\n[Sign In](command:SAS.authorize)\"\n}\n"
  },
  {
    "path": "prettier.config.js",
    "content": "module.exports = {\n  plugins: [\"@trivago/prettier-plugin-sort-imports\"],\n  importOrder: [\n    \"^vscode(.*)$\",\n    \"^react(.*)$\",\n    \"^@(.*)$\",\n    \"<THIRD_PARTY_MODULES>\",\n    \"^[./].*(?<!\\\\.(css))$\",\n    \"\\\\.(css)$\",\n  ],\n  importOrderSeparation: true,\n  importOrderSortSpecifiers: true,\n  // See https://github.com/trivago/prettier-plugin-sort-imports/issues/113\n  overrides: [\n    {\n      files: \"*.ts\",\n      options: {\n        importOrderParserPlugins: [\"typescript\"],\n      },\n    },\n  ],\n};\n"
  },
  {
    "path": "pull_request_template.md",
    "content": "**Summary:**\nPlease provide a description of your changes\n\n**Testing:**\nHow did you test this change?\n\n**TODOs:**\n\n- [ ] Add any supporting documentation and (optionally) update [CHANGELOG.md](CHANGELOG.md)\n"
  },
  {
    "path": "server/data/DS2ContextPrompt.json",
    "content": "{\"ContextPrompt\":{\"Function\":[{\"Name\":\"ARMCONV\",\"Definition\":\"Converts a SAS System 9 or later ARM log written in simple format to the more readable label=item format that was used in SAS 8.2.\",\"Parameter1\":\"login='aname'\",\"Description1\":\"Is the physical name of the input ARM log.\",\"Parameter2\":\"logout='aname'\",\"Description2\":\"Is the physical name of the output ARM log.\"},{\"Name\":\"ARMEND\",\"Definition\":\"Indicates the termination of an application.\",\"Parameter1\":\"option-1&lt;\",\"Description1\":\"Options: APPID=numeric variable or constant; APPIDVAR=numeric variable; LEVEL= variable; MACONLY=NO | YES; SCL=NO | YES.\",\"Parameter2\":\"...option-n&gt;\",\"Description2\":\"Options: APPID=numeric variable or constant; APPIDVAR=numeric variable; LEVEL= variable; MACONLY=NO | YES; SCL=NO | YES.\"},{\"Name\":\"ARMGTID\",\"Definition\":\"Assigns a unique identifier to a transaction class.\",\"Parameter1\":\"TXNNAME='aname'&lt;\",\"Description1\":\"Is a required transaction name that is a SAS character variable or quoted literal value, up to 127 characters.\",\"Parameter2\":\"option-1&lt;, ...option-n&gt;&gt;\",\"Description2\":\"Options: APPID=numeric variable or constant; APPIDVAR=numeric variable; LEVEL=numeric constant or variable; MACONLY=NO | YES; METRNAM1-7='aname'; METRDEF1-7=option; SCL=NO | YES; TXNDET='aname'; TXNIDVAR=numeric variable.\"},{\"Name\":\"ARMINIT\",\"Definition\":\"Starts the initialization of an application.\",\"Parameter1\":\"APPNAME='aname'&lt;\",\"Description1\":\"Is the required application name that is a SAS character variable or quoted literal value.\",\"Parameter2\":\"option-1&lt;\",\"Description2\":\"Options: APPIDVAR=numeric variable; APPUSER='aname'; GETID=NO | YES; LEVEL=numeric constant or variable; MACONLY=NO | YES; SCL=NO | YES; TXNIDVAR=numeric variable; TXNDET='aname'; TXNNAME='aname'\",\"Parameter3\":\"...option-n&gt;&gt;\",\"Description3\":\"Options: APPIDVAR=numeric variable; APPUSER='aname'; GETID=NO | YES; LEVEL=numeric constant or variable; MACONLY=NO | YES; SCL=NO | YES; TXNIDVAR=numeric variable; TXNDET='aname'; TXNNAME='aname'\"},{\"Name\":\"ARMJOIN\",\"Definition\":\"Reads the six SAS data sets created by the %ARMPROC macro, and creates SAS data sets and SQL views that contain common information about applications and transactions.\",\"Parameter1\":\"&lt;option-1&lt;\",\"Description1\":\"Options: LIBIN=libref; LIBOUT=libref; TXNDS=YES | NO; UPDTDS=YES | NO.\",\"Parameter2\":\"...option-n&gt;&gt;\",\"Description2\":\"Options: LIBIN=libref; LIBOUT=libref; TXNDS=YES | NO; UPDTDS=YES | NO.\"},{\"Name\":\"ARMPROC\",\"Definition\":\"Processes an input ARM log, and outputs six SAS data sets that contain the gathered information from the log.\",\"Parameter1\":\"&lt;option-1&lt;\",\"Description1\":\"Options: LIB=libref; LOG=pathname; LOGNEW=pathname.\",\"Parameter2\":\"...option-n&gt;&gt;\",\"Description2\":\"Options: LIB=libref; LOG=pathname; LOGNEW=pathname.\"},{\"Name\":\"ARMSTOP\",\"Definition\":\"Specifies the end of a transaction instance.\",\"Parameter1\":[\"&lt;option-1&lt;\",\"...option-n&gt;&gt;\"],\"Description1\":[\"Options: LEVEL=numeric constant or variable; MACONLY=NO | YES; METRVAL1-7='aname'; SCL=NO | YES; SHANDLE=numeric variable or constant; SHDLVAR=numeric variable; STATUS=numeric variable or numeric constants.\",\"Options: LEVEL=numeric constant or variable; MACONLY=NO | YES; METRVAL1-7='aname'; SCL=NO | YES; SHANDLE=numeric variable or constant; SHDLVAR=numeric variable; STATUS=numeric variable or numeric constants.\"]},{\"Name\":\"ARMSTRT\",\"Definition\":\"Specifies the start of execution of a transaction instance, and returns a unique handle that is passed to %ARMUPDT and %ARMSTOP.\",\"Parameter1\":\"option-1&lt;\",\"Description1\":\"Options: APPID=numeric variable or constant; APPIDVAR=numeric variable; CORR=n; GETID=NO | YES; LEVEL=numeric constant or variable; MACONLY=NO | YES; METRVAL1-7='aname'; PARNTVAR=numeric variable; SCL=NO | YES; SHDLVAR=numeric variable; TXNDET='aname'; TXNID=numeric variable or constant; TXNIDVAR=numeric variable; TXNNAME='aname'.\",\"Parameter2\":\"...option-n&gt;\",\"Description2\":\"Options: APPID=numeric variable or constant; APPIDVAR=numeric variable; CORR=n; GETID=NO | YES; LEVEL=numeric constant or variable; MACONLY=NO | YES; METRVAL1-7='aname'; PARNTVAR=numeric variable; SCL=NO | YES; SHDLVAR=numeric variable; TXNDET='aname'; TXNID=numeric variable or constant; TXNIDVAR=numeric variable; TXNNAME='aname'.\"},{\"Name\":\"ARMUPDT\",\"Definition\":\"Updates a transaction instance that has been previously started.\",\"Parameter1\":\"DATA='variable'&lt;\",\"Description1\":\"Is a SAS character variable or a quoted literal user-supplied data buffer that contains text to pass to the ARM_UPDATE function call. DATA = is not required but highly recommended.\",\"Parameter2\":\"option-1&lt;\",\"Description2\":\"Options: LEVEL=numeric constant or variable; MACONLY=NO | YES; METRVAL1-7='aname'; SCL=NO | YES; SHANDLE=numeric or constant; SHDLVAR=numeric variable.\",\"Parameter3\":\"...option-n&gt;&gt;\",\"Description3\":\"Options: LEVEL=numeric constant or variable; MACONLY=NO | YES; METRVAL1-7='aname'; SCL=NO | YES; SHANDLE=numeric or constant; SHDLVAR=numeric variable.\"},{\"Name\":\"ABS\",\"Definition\":\"Returns the absolute value.\",\"Parameter1\":\"expression\",\"Description1\":\"Specifies any valid expression that evaluates to a numeric value.\\n\\nValid data types: DOUBLE, BIGINT\\n    \"},{\"Name\":\"ADDR\",\"Definition\":\"Returns the memory address of a variable on a 32-bit platform. The value that is returned is numeric.\",\"Parameter1\":\"variable\",\"Description1\":\"Specifies a variable name.\"},{\"Name\":\"ADDRLONG\",\"Definition\":\"Returns the memory address of a variable on 32-bit and 64-bit platforms. The return value is a character string that contains the binary representation of the address. To display this value, use the $HEXw. format to convert the binary value to its hexadecimal equivalent.\",\"Parameter1\":\"variable\",\"Description1\":\"Specifies a variable.\"},{\"Name\":\"AIRY\",\"Definition\":\"Returns the value of the Airy function.\",\"Parameter1\":\"x\",\"Description1\":\"Specifies a numeric constant, variable, or expression.\"},{\"Name\":\"ALLPERM\",\"Definition\":\"Generates all permutations of the values of several variables in a minimal change order.\",\"Parameter1\":\"count\",\"Description1\":\"Specifies an integer variable that ranges from 1 to the number of permutations.\",\"Parameter2\":\"variable-1&lt;\",\"Description2\":\"Specifies either all numeric variables, or all character variables that have the same length. The values of these variables are permuted.\",\"Parameter3\":\"variable-2...&gt;\",\"Description3\":\"Specifies either all numeric variables, or all character variables that have the same length. The values of these variables are permuted.\"},{\"Name\":\"ANYALNUM\",\"Definition\":\"Searches a character string for an alphanumeric character, and returns the first position at which the character is found.\",\"Parameter1\":\"string &lt;\",\"Description1\":\"Specifies a character constant, variable, or expression to search.\",\"Parameter2\":\"start&gt;\",\"Description2\":\"Is an optional integer that specifies the position at which the search should start and the direction in which to search.\"},{\"Name\":\"ANYALPHA\",\"Definition\":\"Searches a character string for an alphabetic character, and returns the first position at which the character is found.\",\"Parameter1\":\"string &lt;\",\"Description1\":\"Is the character constant, variable, or expression to search.\",\"Parameter2\":\"start&gt;\",\"Description2\":\"Is an optional integer that specifies the position at which the search should start and the direction in which to search.\"},{\"Name\":\"ANYCNTRL\",\"Definition\":\"Searches a character string for a control character, and returns the first position at which that character is found.\",\"Parameter1\":\"string &lt;\",\"Description1\":\"Is the character constant, variable, or expression to search.\",\"Parameter2\":\"start&gt;\",\"Description2\":\"Is an optional integer that specifies the position at which the search should start and the direction in which to search.\"},{\"Name\":\"ANYDIGIT\",\"Definition\":\"Searches a character string for a digit, and returns the first position at which the digit is found.\",\"Parameter1\":\"string &lt;\",\"Description1\":\"Is the character constant, variable, or expression to search.\",\"Parameter2\":\"start&gt;\",\"Description2\":\"Is an optional integer that specifies the position at which the search should start and the direction in which to search.\"},{\"Name\":\"ANYFIRST\",\"Definition\":\"Searches a character string for a character that is valid as the first character in a SAS variable name under VALIDVARNAME=V7, and returns the first position at which that character is found.\",\"Parameter1\":\"string &lt;\",\"Description1\":\"Is the character constant, variable, or expression to search.\",\"Parameter2\":\"start&gt;\",\"Description2\":\"Is an optional integer that specifies the position at which the search should start and the direction in which to search.\"},{\"Name\":\"ANYGRAPH\",\"Definition\":\"Searches a character string for a graphical character, and returns the first position at which that character is found.\",\"Parameter1\":\"string &lt;\",\"Description1\":\"Is the character constant, variable, or expression to search.\",\"Parameter2\":\"start&gt;\",\"Description2\":\"Is an optional integer that specifies the position at which the search should start and the direction in which to search.\"},{\"Name\":\"ANYLOWER\",\"Definition\":\"Searches a character string for a lowercase letter, and returns the first position at which the letter is found.\",\"Parameter1\":\"string &lt;\",\"Description1\":\"Is the character constant, variable, or expression to search.\",\"Parameter2\":\"start&gt;\",\"Description2\":\"Is an optional integer that specifies the position at which the search should start and the direction in which to search.\"},{\"Name\":\"ANYNAME\",\"Definition\":\"Searches a character string for a character that is valid in a SAS variable name under VALIDVARNAME=V7, and returns the first position at which that character is found.\",\"Parameter1\":\"string &lt;\",\"Description1\":\"Is the character constant, variable, or expression to search.\",\"Parameter2\":\"start&gt;\",\"Description2\":\"Is an optional integer that specifies the position at which the search should start and the direction in which to search.\"},{\"Name\":\"ANYPRINT\",\"Definition\":\"Searches a character string for a printable character, and returns the first position at which that character is found.\",\"Parameter1\":\"string &lt;\",\"Description1\":\"Is the character constant, variable, or expression to search.\",\"Parameter2\":\"start&gt;\",\"Description2\":\"Is an optional integer that specifies the position at which the search should start and the direction in which to search.\"},{\"Name\":\"ANYPUNCT\",\"Definition\":\"Searches a character string for a punctuation character, and returns the first position at which that character is found.\",\"Parameter1\":\"string &lt;\",\"Description1\":\"Is the character constant, variable, or expression to search.\",\"Parameter2\":\"start&gt;\",\"Description2\":\"Is an optional integer that specifies the position at which the search should start and the direction in which to search.\"},{\"Name\":\"ANYSPACE\",\"Definition\":\"Searches a character string for a white-space character (blank, horizontal and vertical tab, carriage return, line feed, and form feed), and returns the first position at which that character is found.\",\"Parameter1\":\"string &lt;\",\"Description1\":\"Is the character constant, variable, or expression to search.\",\"Parameter2\":\"start&gt;\",\"Description2\":\"Is an optional integer that specifies the position at which the search should start and the direction in which to search.\"},{\"Name\":\"ANYUPPER\",\"Definition\":\"Searches a character string for an uppercase letter, and returns the first position at which the letter is found.\",\"Parameter1\":\"string &lt;\",\"Description1\":\"Is the character constant, variable, or expression to search.\",\"Parameter2\":\"start&gt;\",\"Description2\":\"Is an optional integer that specifies the position at which the search should start and the direction in which to search.\"},{\"Name\":\"ANYXDIGIT\",\"Definition\":\"Searches a character string for a hexadecimal character that represents a digit, and returns the first position at which that character is found.\",\"Parameter1\":\"string &lt;\",\"Description1\":\"Is the character constant, variable, or expression to search.\",\"Parameter2\":\"start&gt;\",\"Description2\":\"Is an optional integer that specifies the position at which the search should start and the direction in which to search.\"},{\"Name\":\"ARCOS\",\"Definition\":\"Returns the arccosine in radians. \\n    \\nReturn value data type: DOUBLE  \\n    \",\"Parameter1\":\"argument \",\"Description1\":\"Specifies a numeric constant, variable, or expression. \\n    \\nRange: -1 to 1 \\n\\nValid data types: DOUBLE\"},{\"Name\":\"ARCOSH\",\"Definition\":\"Returns the inverse hyperbolic cosine.\",\"Parameter1\":\"x\",\"Description1\":\"Specifies a numeric constant, variable, or expression. Range is greater than or equal to 1.\"},{\"Name\":\"ARSIN\",\"Definition\":\"Returns the arcsine in radians.\",\"Parameter1\":\"argument \",\"Description1\":\"Specifies any valid expression that evaluates to a numeric value.\\n    \\nRange: -1 to 1\\n\\nValid data types: DOUBLE\"},{\"Name\":\"ARSINH\",\"Definition\":\"Returns the inverse hyperbolic sine.\",\"Parameter1\":\"x\",\"Description1\":\"Specifies a numeric constant, variable, or expression. Range is from negative infinity to infinity.\"},{\"Name\":\"ARTANH\",\"Definition\":\"Returns the inverse hyperbolic tangent.\",\"Parameter1\":\"x\",\"Description1\":\"Specifies a numeric constant, variable, or expression. Range is between -1 to 1.\"},{\"Name\":\"ATAN\",\"Definition\":\"Returns the arctangent in radians.\",\"Parameter1\":\"expression\",\"Description1\":\"Specifies any valid expression that evaluates to a numeric value.\\n    \\nRange: -1 to 1\\n\\nValid data types: DOUBLE\"},{\"Name\":\"ARTAN\",\"Definition\":\"Returns the arctangent in radians.\",\"Parameter1\":\"expression\",\"Description1\":\"Specifies any valid expression that evaluates to a numeric value.\\n    \\nRange: -1 to 1\\n\\nValid data types: DOUBLE\"},{\"Name\":\"ATAN2\",\"Definition\":\"Returns the arctangent of the x and y coordinates of a right triangle, in radians.\\n    \\nReturn value data type: DOUBLE\",\"Parameter1\":\"expression-1\",\"Description1\":\"Specifies any valid expression that evaluates to a numeric value. \\n    \\nexpression-1 specifies the x coordinate of the end of the hypotenuse of a right triangle.\\n\\nValid data types: DOUBLE\",\"Parameter2\":\"expression-2\",\"Description2\":\"Specifies any valid expression that evaluates to a numeric value. \\n    \\nexpression-2 specifies the y coordinate of the end of the hypotenuse of a right triangle.\\n\\nValid data types: DOUBLE\"},{\"Name\":\"ATTRC\",\"Definition\":\"Returns the value of a character attribute for a SAS data set.\",\"Parameter1\":\"data-set-id\",\"Description1\":\"Specifies the data set identifier that the OPEN function returns.\",\"Parameter2\":\"attr-name\",\"Description2\":\"Is an attribute name. If attr-name is invalid, a missing value is returned. Valid values are: \\\"CHARSET\\\", \\\"ENCRYPT\\\", \\\"ENGINE\\\", \\\"LABEL\\\", \\\"LIB\\\", \\\"MEM\\\", \\\"MODE\\\", \\\"MTYPE\\\", \\\"SORTEDBY\\\", \\\"SORTLVL\\\", \\\"SORTSEQ\\\", \\\"TYPE\\\".\\n    \"},{\"Name\":\"ATTRN\",\"Definition\":\"Returns the value of a numeric attribute for a SAS data set.\",\"Parameter1\":\"data-set-id\",\"Description1\":\"Specifies the data set identifier that the OPEN function returns.\",\"Parameter2\":\"attr-name\",\"Description2\":\"Is the name of the SAS data set attribute whose numeric value\\nis returned. If the value of attr-name is invalid, a missing\\nvalue is returned. The following values are valid: \\\"ALTERPW\\\",\\n\\\"ANOBS\\\", \\\"ANY\\\", \\\"ARAND\\\", \\\"ARWU\\\", \\\"AUDIT\\\", \\\"AUDIT_DATA\\\",\\n\\\"AUDIT_BEFORE\\\", \\\"AUDIT_ERROR\\\", \\\"CRDTE\\\", \\\"ICONST\\\", \\\"INDEX\\\",\\n\\\"ISINDEX\\\", \\\"ISSUBSET\\\", \\\"LRECL\\\", \\\"LRID\\\", \\\"MAXGEN\\\", \\\"MAXRC\\\",\\n\\\"MODTE\\\", \\\"NDEL\\\", \\\"NEXTGEN\\\", \\\"NLOBS\\\", \\\"NLOBSF\\\", \\\"NOBS\\\", \\\"NVARS\\\",\\n\\\"PW\\\", \\\"RADIX\\\", \\\"READPW\\\", \\\"TAPE\\\", \\\"WHSTMT\\\", \\\"WRITEPW\\\".\\n    \"},{\"Name\":\"BAND\",\"Definition\":\"Returns the bitwise logical AND of two arguments. \\n    \\nReturn value data type: DOUBLE\",\"Parameter1\":\"expression-1\",\"Description1\":\"Specifies any valid expression that evaluates to a numeric value. \\n\\nRange: between 0 and (2\\u00b3\\u00b2)-1 inclusive \\nValid data types: DOUBLE\",\"Parameter2\":\"expression-2\",\"Description2\":\"Specifies any valid expression that evaluates to a numeric value. \\n\\nRange: between 0 and (2\\u00b3\\u00b2)-1 inclusive \\nValid data types: DOUBLE\"},{\"Name\":\"BETA\",\"Definition\":\"Returns the value of the beta function.\",\"Parameter1\":\"a\",\"Description1\":\"Is the first shape parameter, where a &gt; 0.\",\"Parameter2\":\"b\",\"Description2\":\"Is the second shape parameter, where b &gt; 0.\"},{\"Name\":\"BETAINV\",\"Definition\":\"Returns a quantile from the beta distribution with shape parameters a and b.\",\"Parameter1\":\"p\",\"Description1\":\"Is a numeric probability. Range: 0 \\u2264 p \\u2264 1.\",\"Parameter2\":\"a\",\"Description2\":\"Is a numeric shape parameter. Range: a &gt; 0.\",\"Parameter3\":\"b\",\"Description3\":\"Is a numeric shape parameter. Range: b &gt; 0.\"},{\"Name\":\"BLACKCLPRC\",\"Definition\":\"Calculates call prices for European options on futures, based on the Black model.\",\"Parameter1\":\"E\",\"Description1\":\"Is a non-missing, positive value that specifies exercise price. Specify E and F in the same units.\",\"Parameter2\":\"t\",\"Description2\":\"Is a non-missing value that specifies time to maturity.\",\"Parameter3\":\"F\",\"Description3\":\"Is a non-missing, positive value that specifies future price. Specify F and E in the same units.\",\"Parameter4\":\"r\",\"Description4\":\"Is a non-missing, positive fraction that specifies the risk-free interest rate between the present time and t. Specify a value for r for the same time period as the unit of t.\",\"Parameter5\":\"sigma\",\"Description5\":\"Is a non-missing, positive fraction that specifies the volatility (the square root of the variance of r). Specify a value for sigma for the same time period as the unit of t.\"},{\"Name\":\"BLACKPTPRC\",\"Definition\":\"Calculates put prices for European options on futures, based on the Black model.\",\"Parameter1\":\"E\",\"Description1\":\"Is a non-missing, positive value that specifies exercise price. Specify E and F in the same units.\",\"Parameter2\":\"t\",\"Description2\":\"Is a non-missing value that specifies time to maturity.\",\"Parameter3\":\"F\",\"Description3\":\"Is a non-missing, positive value that specifies future price. Specify F and E in the same units.\",\"Parameter4\":\"r\",\"Description4\":\"Is a non-missing, positive fraction that specifies the risk-free interest rate between the present time and t. Specify a value for r for the same time period as the unit of t.\",\"Parameter5\":\"sigma\",\"Description5\":\"Is a non-missing, positive fraction that specifies the volatility (the square root of the variance of r). Specify a value for sigma for the same time period as the unit of t.\"},{\"Name\":\"BLKSHCLPRC\",\"Definition\":\"Calculates call prices for European options on stocks, based on the Black-Scholes model.\",\"Parameter1\":\"E\",\"Description1\":\"Is a non-missing, positive value that specifies exercise price. Specify E and S in the same units.\",\"Parameter2\":\"t\",\"Description2\":\"Is a non-missing value that specifies time to maturity.\",\"Parameter3\":\"S\",\"Description3\":\"Is a non-missing, positive value that specifies share price. Specify S and E in the same units.\",\"Parameter4\":\"r\",\"Description4\":\"Is a non-missing, positive fraction that specifies the risk-free interest rate between the present time and t. Specify a value for r for the same time period as the unit of t.\",\"Parameter5\":\"sigma\",\"Description5\":\"Is a non-missing, positive fraction that specifies the volatility (the square root of the variance of r). Specify a value for sigma for the same time period as the unit of t.\"},{\"Name\":\"BLSHIFT\",\"Definition\":\"Returns the bitwise logical left shift of two arguments. If either argument contains a missing value, then the function returns a missing value and sets _ERROR_ equal to 1.\",\"Parameter1\":\"expression-1\",\"Description1\":\"Specifies a numeric constant, variable, or expression. Range: between 0 and 2\\u00b3\\u00b2-1 inclusive.\",\"Parameter2\":\"expression-2\",\"Description2\":\"Specifies a numeric constant, variable, or expression. Range: 0 to 31, inclusive.\"},{\"Name\":\"BNOT\",\"Definition\":\"Returns the bitwise logical NOT of an argument. \\n    \\nReturn value data type: DOUBLE\",\"Parameter1\":\"expression\",\"Description1\":\"Specifies any valid expression that evaluates to a numeric value.  \\n    \\nRange: between 0 and (2\\u00b3\\u00b2)-1 inclusive.\\nValid data types: DOUBLE\"},{\"Name\":\"BOR\",\"Definition\":\"Returns the bitwise logical OR of two arguments.\\n    \\nReturn value data type: DOUBLE\",\"Parameter1\":\"expression-1\",\"Description1\":\"Specifies any valid expression that evaluates to a numeric value.  \\n    \\nRange: between 0 and (2\\u00b3\\u00b2)-1 inclusive.\\nValid data types: DOUBLE\",\"Parameter2\":\"expression-2\",\"Description2\":\"Specifies any valid expression that evaluates to a numeric value.  \\n    \\nRange: between 0 and (2\\u00b3\\u00b2)-1 inclusive.\\nValid data types: DOUBLE\"},{\"Name\":\"BRSHIFT\",\"Definition\":\"Returns the bitwise logical right shift of two arguments.\\n    \\nReturn value data type: DOUBLE\",\"Parameter1\":\"expression-1\",\"Description1\":\"Specifies any valid expression that evaluates to a numeric value.  \\n    \\nRange: between 0 and (2\\u00b3\\u00b2)-1 inclusive.\\nValid data types: DOUBLE\",\"Parameter2\":\"expression-2\",\"Description2\":\"Specifies any valid expression that evaluates to a numeric value.  \\n    \\nRange: between 0 and (2\\u00b3\\u00b2)-1 inclusive.\\nValid data types: DOUBLE\"},{\"Name\":\"BXOR\",\"Definition\":\"Returns the bitwise logical EXCLUSIVE OR of two arguments. \\n    \\nReturn value data type: DOUBLE\",\"Parameter1\":\"expression-1\",\"Description1\":\"Specifies any valid expression that evaluates to a numeric value.  \\n    \\nRange: between 0 and (2\\u00b3\\u00b2)-1 inclusive.\\nValid data types: DOUBLE\",\"Parameter2\":\"expression-2\",\"Description2\":\"Specifies any valid expression that evaluates to a numeric value.  \\n    \\nRange: between 0 and (2\\u00b3\\u00b2)-1 inclusive.\\nValid data types: DOUBLE\"},{\"Name\":\"BYTE\",\"Definition\":\"Returns one character in the ASCII or the EBCDIC collating sequence.\",\"Parameter1\":\"n\",\"Description1\":\"Specifies an integer that represents a specific ASCII or EBCDIC character. \\n    \\nRange: 0-255. \\nValid data types: NCHAR\"},{\"Name\":\"ALLCOMB\",\"Definition\":\"Generates all combinations of the values of n variables taken k at a time in a minimal change order.\",\"Parameter1\":\"count\",\"Description1\":\"Specifies an integer variable that is assigned from 1 to the number of combinations in a loop.\",\"Parameter2\":\"variable-1, ..., variable-n\",\"Description2\":\"Specifies either all numeric variables, or all character variables that have the same length. The values of these variables are permuted.\"},{\"Name\":\"ALLCOMBI\",\"Definition\":\"Generates all combinations of the indices of n objects taken k at a time in a minimal change order.\",\"Parameter1\":\"N\",\"Description1\":\"Is a numeric constant, variable, or expression that specifies the total number of objects.\",\"Parameter2\":\"K\",\"Description2\":\"Is a numeric constant, variable, or expression that specifies the number of objects in each combination.\",\"Parameter3\":\"index-1, ..., index-K &lt;\",\"Description3\":\"Is a numeric variable that contains indices of the objects in the returned combination. Indices are integers between 1 and N inclusive.\",\"Parameter4\":\"index-added\",\"Description4\":\"Is a numeric variable in which ALLCOMBI returns the value of the index that was added.\",\"Parameter5\":\"index-removed&gt;\",\"Description5\":\"Is a numeric variable in which ALLCOMBI returns the value of the index that was removed.\"},{\"Name\":\"CATS*1\",\"Definition\":\"Removes leading and trailing blanks, and returns a concatenated character string.\",\"Parameter1\":\"string-1&lt;, ...string-n&gt;\",\"Description1\":\"Specifies a SAS character string.\"},{\"Name\":\"CATS*2\",\"Definition\":\"Removes leading and trailing blanks, and returns a concatenated character string.\",\"Parameter1\":\"result\",\"Description1\":\"Specifies a character variable.\",\"Parameter2\":\"string-1&lt;, ...string-n&gt;\",\"Description2\":\"Specifies a constant, variable, or expression, either character or numeric. If item is numeric, then its value is converted to a character string using the BESTw. format. In this case, SAS does not write a note to the log.\"},{\"Name\":\"CATT*1\",\"Definition\":\"Removes trailing blanks, and returns a concatenated character string.\",\"Parameter1\":\"string-1&lt;, ...string-n&gt;\",\"Description1\":\"Specifies a SAS character string.\"},{\"Name\":\"CATT*2\",\"Definition\":\"Removes trailing blanks, and returns a concatenated character string.\",\"Parameter1\":\"result\",\"Description1\":\"Specifies a character variable.\",\"Parameter2\":\"string-1&lt;, ...string-n&gt;\",\"Description2\":\"Specifies a constant, variable, or expression, either character or numeric. If item is numeric, then its value is converted to a character string using the BESTw. format. In this case, SAS does not write a note to the log.\"},{\"Name\":\"CATX*1\",\"Definition\":\"Removes leading and trailing blanks, inserts delimiters, and returns a concatenated character string.\",\"Parameter1\":\"delimiter\",\"Description1\":\"Specifies a character string that is used as a delimiter between concatenated strings.\",\"Parameter2\":\"string-1&lt;, ...string-n&gt;\",\"Description2\":\"Specifies a constant, variable, or expression, either character or numeric. If item is numeric, then its value is converted to a character string using the BESTw. format. In this case, SAS does not write a note to the log.\"},{\"Name\":\"CATX*2\",\"Definition\":\"Removes leading and trailing blanks, inserts delimiters, and returns a concatenated character string.\",\"Parameter1\":\"delimiter\",\"Description1\":\"Specifies a character string that is used as a delimiter between concatenated strings.\",\"Parameter2\":\"result\",\"Description2\":\"Specifies a character variable.\",\"Parameter3\":\"string-1&lt;, ...string-n&gt;\",\"Description3\":\"Specifies a constant, variable, or expression, either character or numeric. If item is numeric, then its value is converted to a character string using the BESTw. format. In this case, SAS does not write a note to the log.\"},{\"Name\":\"COMPCOST\",\"Definition\":\"Sets the costs of operations for later use by the COMPGED function.\",\"Parameter1\":\"operation\",\"Description1\":\"Is a character constant, variable, or expression that specifies an operation that is performed by the COMPGED function.\",\"Parameter2\":\"value-1 &lt;\",\"Description2\":\"Is a numeric constant, variable, or expression that specifies the cost of the operation that is indicated by the preceding argument. Must be an integer that ranges from -32767 to 32767, or a missing value.\",\"Parameter3\":\"operation-2, value-2 ...&gt;\",\"Description3\":\"Optional additional operation-value pairs.\"},{\"Name\":\"EXECUTE\",\"Definition\":\"Resolves the argument, and issues the resolved value for execution at the next step boundary.\",\"Parameter1\":\"argument\",\"Description1\":\"Specifies a character expression, a DATA step variable, or a character constant (enclosed in quotation marks) that yields a macro invocation or a SAS statement.\"},{\"Name\":\"GRAYCODE*1\",\"Definition\":\"Generates all subsets of n items in a minimal change order.\",\"Parameter1\":\"k\",\"Description1\":\"Specifies a numeric variable. Initializing k to a negative number causes CALL GRAYCODE to initialize the subset to be empty.\",\"Parameter2\":\"numeric-variable-1, ..., numeric-variable-n\",\"Description2\":\"Specifies numeric variables that have values of 0 or 1 which are updated when CALL GRAYCODE is executed.\"},{\"Name\":\"GRAYCODE*2\",\"Definition\":\"Generates all subsets of n items in a minimal change order.\",\"Parameter1\":\"k\",\"Description1\":\"Specifies a numeric variable. Initializing k to a negative number causes CALL GRAYCODE to initialize the subset to be empty.\",\"Parameter2\":\"character-variable&lt;\",\"Description2\":\"Specifies a character variable that has a length of at least n characters. The first n characters indicate which items are in the subset.\",\"Parameter3\":\"n&lt;\",\"Description3\":\"Specifies a numeric constant, variable, or expression. By default, n is the length of character-variable.\",\"Parameter4\":\"in-out&gt;&gt;\",\"Description4\":\"Specifies a character constant, variable, or expression. The default value is \\\"IO.\\\" The first character is used to indicate that an item is in the subset. The second character is used to indicate that an item is out of the subset.\"},{\"Name\":\"IS8601_CONVERT\",\"Definition\":\"Converts an ISO 8601 interval to datetime and duration values, or converts datetime and duration values to an ISO 8601 interval.\",\"Parameter1\":\"convert-from\",\"Description1\":\"Specifies a keyword in single quotation marks that indicates whether the source for the conversion is an interval, a datetime and duration value, or a duration value.\",\"Parameter2\":\"convert-to\",\"Description2\":\"Specifies a keyword in single quotation marks that indicates the results of the conversion.\",\"Parameter3\":\"&lt;from-variable(s)&gt;\",\"Description3\":\"Specifies one or two variables that contain the source value. Specify one variable for an interval value and two variables, one each, for datetime and duration values.\",\"Parameter4\":\"&lt;to-variable(s)&gt;\",\"Description4\":\"Specifies one or two variables that contain converted values. Specify one variable for in interval value and two variables, one each, for datetime and duration values.\",\"Parameter5\":\"date_time_replacements\",\"Description5\":\"Specifies date or time component values to use when a month, day, or time component is omitted from an interval, datetime, or duration value. date_time_replacements is specified as a series of numbers separated by a comma to represent, in this order, the year, month, day, hour, minute, or second.\"},{\"Name\":\"LABEL\",\"Definition\":\"Assigns a variable label to a specified character variable.\",\"Parameter1\":\"variable-1\",\"Description1\":\"Specifies any SAS variable. If variable-1 does not have a label, the variable name is assigned as the value of variable-2.\",\"Parameter2\":\"variable-2\",\"Description2\":\"Specifies any SAS character variable. Variable labels can be up to 256 characters long; therefore, the length of variable-2 should be at least 256 characters to avoid truncating variable labels.\"},{\"Name\":\"LEXCOMB\",\"Definition\":\"Generates all distinct combinations of the non-missing values of n variables taken k at a time in lexicographic order.\",\"Parameter1\":\"count\",\"Description1\":\"Specifies an integer value that is assigned values from 1 to the number of combinations in a loop.\",\"Parameter2\":\"k\",\"Description2\":\"Specifies an integer constant, variable, or expression between 1 and n, inclusive, that specifies the number of items in each combination.\",\"Parameter3\":\"variable-1, ..., variable-n\",\"Description3\":\"Specifies either all numeric variables, or all character variables that have the same length. The values of these variables are permuted.\"},{\"Name\":\"LEXCOMBI\",\"Definition\":\"Generates all combinations of the indices of n objects taken k at a time in lexicographic order.\",\"Parameter1\":\"n\",\"Description1\":\"Is a numeric constant, variable, or expression that specifies the total number of objects.\",\"Parameter2\":\"k\",\"Description2\":\"Is a numeric constant, variable, or expression that specifies the number of objects in each combination.\",\"Parameter3\":\"index-1, ..., index-k\",\"Description3\":\"Is a numeric variable that contains indices of the objects in the combination that is returned. Indices are integers between 1 and n, inclusive.\"},{\"Name\":\"LEXPERK\",\"Definition\":\"Generates all distinct permutations of the non-missing values of n variables taken k at a time in lexicographic order.\",\"Parameter1\":\"count\",\"Description1\":\"Specifies an integer variable that is assigned a value from 1 to the number of permutations in a loop.\",\"Parameter2\":\"k\",\"Description2\":\"Specifies an integer constant, variable, or expression between 1 and n, inclusive, that specifies the number of items in each permutation.\",\"Parameter3\":\"variable-1, ..., variable-n\",\"Description3\":\"Specifies either all numeric variables, or all character variables that have the same length. The values of these variables are permuted.\"},{\"Name\":\"LEXPERM\",\"Definition\":\"Generates all distinct permutations of the non-missing values of several variables in lexicographic order.\",\"Parameter1\":\"count\",\"Description1\":\"Specifies a numeric variable that has an integer value that ranges from 1 to the number of permutations.\",\"Parameter2\":\"variable-1 &lt;, ..., variable-N&gt;\",\"Description2\":\"Specifies either all numeric variables, or all character variables that have the same length. The values of these variables are permuted by LEXPERM.\"},{\"Name\":\"LOGISTIC\",\"Definition\":\"Applies the logistic function to each argument.\",\"Parameter1\":\"argument&lt;, argument, ...&gt;\",\"Description1\":\"Is a numeric variable.\"},{\"Name\":\"MISSING\",\"Definition\":\"Assigns missing values to the specified character or numeric variables.\",\"Parameter1\":\"varname1&lt;, varname2, ...&gt;\",\"Description1\":\"Specifies the name of SAS character or numeric variables.\"},{\"Name\":\"MODULE\",\"Definition\":\"Calls an external routine without any return code.\",\"Parameter1\":\"&lt;cntl-string\",\"Description1\":\"Is an optional control string whose first character must be an asterisk (*), followed by any combination of the following characters: I (detects incorrect arguments or attribute tables), E (prints error messages), Sx (uses x as a separator character to separate field definitions), H (provides help on CALL MODULE routine syntax).\",\"Parameter2\":\"&gt;module-name&lt;\",\"Description2\":\"Is the name of the external module to use.\",\"Parameter3\":\"expression-1\",\"Description3\":\"Is one or more arguments to pass to the requested routine.\",\"Parameter4\":\"..., expression-n&gt;\",\"Description4\":\"Is one or more arguments to pass to the requested routine.\"},{\"Name\":\"POKE\",\"Definition\":\"Writes a value directly into memory on a 32-bit platform.\",\"Parameter1\":\"source\",\"Description1\":\"Specifies a character constant, variable, or expression that contains a value to write into memory.\",\"Parameter2\":\"pointer\",\"Description2\":\"Specifies a character string that contains the virtual address of the data that the CALL POKE routine alters.\",\"Parameter3\":\"&lt;length&gt;\",\"Description3\":\"Specifies a numeric constant, variable, or expression that contains the number of bytes to write from the source to the address that is indicated by pointer.\",\"Parameter4\":\"&lt;floating-point&gt;\",\"Description4\":\"Specifies that the value of source is stored as a floating-point number. The value of floating-point can be any number.\"},{\"Name\":\"POKELONG\",\"Definition\":\"Writes a value directly into memory on 32-bit and 64-bit platforms.\",\"Parameter1\":\"source\",\"Description1\":\"Specifies a character constant, variable, or expression that contains a value to write into memory.\",\"Parameter2\":\"pointer\",\"Description2\":\"Specifies a character string that contains the virtual address of the data that the CALL POKELONG routine alters.\",\"Parameter3\":\"&lt;length&gt;\",\"Description3\":\"Specifies a numeric SAS expression that contains the number of bytes to write from the source to the address that is indicated by the pointer.\",\"Parameter4\":\"&lt;floating-point&gt;\",\"Description4\":\"Specifies that the value of source is stored as a floating-point number. The value of floating-point can be any number.\"},{\"Name\":\"PRXDEBUG\",\"Definition\":\"Enables Perl regular expressions in a DATA step to send debugging output to the SAS log.\",\"Parameter1\":\"on-off\",\"Description1\":\"Specifies a numeric constant, variable, or expression. If the value of on-off is positive and non-zero, then debugging is turned on. If the value of on-off is zero, then debugging is turned off.\"},{\"Name\":\"PRXFREE\",\"Definition\":\"Frees memory that was allocated for a Perl regular expression.\",\"Parameter1\":\"regular-expression-id\",\"Description1\":\"Specifies a numeric variable with a value that is the identification number that is returned by the PRXPARSE function. regular-expression-id is set to missing if the call to the PRXFREE routine occurs without error.\"},{\"Name\":\"PRXNEXT\",\"Definition\":\"Returns the position and length of a substring that matches a pattern, and iterates over multiple matches within one string.\",\"Parameter1\":\"regular-expression-id\",\"Description1\":\"Specifies a numeric variable with a value that is the identification number that is returned by the PRXPARSE function.\",\"Parameter2\":\"start\",\"Description2\":\"Is a numeric variable that specifies the position at which to start the pattern matching in source.\",\"Parameter3\":\"stop\",\"Description3\":\"Is a numeric constant, variable, or expression that specifies the last character to use in source. If stop is -1, then the last character is the last non-blank character in source.\",\"Parameter4\":\"source\",\"Description4\":\"Specifies a character constant, variable, or expression that you want to search.\",\"Parameter5\":\"position\",\"Description5\":\"Is a numeric variable with a returned value that is the position in source at which the pattern begins. If no match is found, CALL PRXNEXT returns zero.\",\"Parameter6\":\"length\",\"Description6\":\"Is a numeric variable with a returned value that is the length of the string that is matched by the pattern. If no match is found, CALL PRXNEXT returns zero.\"},{\"Name\":\"PRXPOSN\",\"Definition\":\"Returns the start position and length for a capture buffer.\",\"Parameter1\":\"regular-expression-id\",\"Description1\":\"Specifies a numeric variable with a value that is a pattern identifier that is returned by the PRXPARSE function.\",\"Parameter2\":\"capture-buffer\",\"Description2\":\"Is a numeric constant, variable, or expression with a value that identifies the capture buffer from which to retrieve the start position and length.\",\"Parameter3\":\"start &lt;\",\"Description3\":\"Is a numeric variable with a returned value that is the position at which the capture buffer is found.\",\"Parameter4\":\"length&gt;\",\"Description4\":\"Is a numeric variable with a returned value that is the position at which the capture buffer is found.\"},{\"Name\":\"PRXSUBSTR\",\"Definition\":\"Returns the position and length of a substring that matches a pattern.\",\"Parameter1\":\"regular-expression-id\",\"Description1\":\"Specifies a numeric variable with a value that is an identification number that is returned by the PRXPARSE function.\",\"Parameter2\":\"source\",\"Description2\":\"Specifies a character constant, variable, or expression that you want to search.\",\"Parameter3\":\"position &lt;\",\"Description3\":\"Is a numeric variable with a returned value that is the position in source where the pattern begins. If no match is found, CALL PRXSUBSTR returns zero.\",\"Parameter4\":\"length&gt;\",\"Description4\":\"Is a numeric variable with a returned value that is the length of the substring that is matched by the pattern. If no match is found, CALL PRXSUBSTR returns zero.\"},{\"Name\":\"RANBIN*1\",\"Definition\":\"Returns a random variate from a binomial distribution.\",\"Parameter1\":\"seed\",\"Description1\":\"Is an integer. If seed is less than or equal to 0, the time of day is used to initialize the seed stream. Range: seed &lt; 2\\u00b3\\u00b9 - 1.\",\"Parameter2\":\"n\",\"Description2\":\"Is an integer number of independent Bernoulli trials. Range: n &gt; 0.\",\"Parameter3\":\"p\",\"Description3\":\"Is a numeric probability of success parameter. Range: 0 &lt; p &lt; 1.\"},{\"Name\":\"RANBIN*2\",\"Definition\":\"Returns a random variate from a binomial distribution.\",\"Parameter1\":\"seed\",\"Description1\":\"Is the seed value. A new value for seed is returned each time CALL RANBIN is executed. Range: seed &lt; 2\\u00b3\\u00b9 - 1.\",\"Parameter2\":\"n\",\"Description2\":\"Is an integer number of independent Bernoulli trials. Range: n &gt; 0.\",\"Parameter3\":\"p\",\"Description3\":\"Is a numeric probability of success parameter. Range: 0 &lt; p &lt; 1.\",\"Parameter4\":\"x\",\"Description4\":\"Is a numeric SAS variable. A new value for the random variate x is returned each time CALL RANBIN is executed.\"},{\"Name\":\"RANCAU*1\",\"Definition\":\"Returns a random variate from a Cauchy distribution.\",\"Parameter1\":\"seed\",\"Description1\":\"Is an integer. If seed is less than or equal to 0, the time of day is used to initialize the seed stream.  Range: seed &lt; 2\\u00b3\\u00b9 - 1.\"},{\"Name\":\"RANCAU*2\",\"Definition\":\"Returns a random variate from a Cauchy distribution.\",\"Parameter1\":\"seed\",\"Description1\":\"Is the seed value. A new value for seed is returned each time CALL RANCAU is executed. Range: seed &lt; 2\\u00b3\\u00b9 - 1.\",\"Parameter2\":\"x\",\"Description2\":\"Is a numeric SAS variable. A new value for the random variate x is returned each time CALL RANCAU is executed.\"},{\"Name\":\"RANEXP*1\",\"Definition\":\"Returns a random variate from an exponential distribution.\",\"Parameter1\":\"seed\",\"Description1\":\"Is an integer. If seed is less than or equal to 0, the time of day is used to initialize the seed stream.  Range: seed &lt; 2\\u00b3\\u00b9 - 1.\"},{\"Name\":\"RANEXP*2\",\"Definition\":\"Returns a random variate from an exponential distribution.\",\"Parameter1\":\"seed\",\"Description1\":\"Is the seed value. A new value for seed is returned each time CALL RANEXP is executed. Range: seed &lt; 2\\u00b3\\u00b9 - 1.\",\"Parameter2\":\"x\",\"Description2\":\"Is a numeric variable. A new value for the random variate x is returned each time CALL RANEXP is executed.\"},{\"Name\":\"RANGAM*1\",\"Definition\":\"Returns a random variate from a gamma distribution.\",\"Parameter1\":\"seed\",\"Description1\":\"Is an integer. If seed is less than or equal to 0, the time of day is used to initialize the seed stream.  Range: seed &lt; 2\\u00b3\\u00b9 - 1.\",\"Parameter2\":\"a\",\"Description2\":\"Is a numeric shape parameter. Range: a &gt; 0.\"},{\"Name\":\"RANGAM*2\",\"Definition\":\"Returns a random variate from a gamma distribution.\",\"Parameter1\":\"seed\",\"Description1\":\"Is the seed value. A new value for seed is returned each time CALL RANGAM is executed. Range: seed &lt; 2\\u00b3\\u00b9 - 1.\",\"Parameter2\":\"a\",\"Description2\":\"Is a numeric shape parameter. Range: a &gt; 0.\",\"Parameter3\":\"x\",\"Description3\":\"Is a numeric variable. A new value for the random variate x is returned each time CALL RANGAM is executed.\"},{\"Name\":\"RANNOR*1\",\"Definition\":\"Returns a random variate from a normal distribution.\",\"Parameter1\":\"seed\",\"Description1\":\"Is an integer. If seed is less than or equal to 0, the time of day is used to initialize the seed stream.  Range: seed &lt; 2\\u00b3\\u00b9 - 1.\"},{\"Name\":\"RANNOR*2\",\"Definition\":\"Returns a random variate from a normal distribution.\",\"Parameter1\":\"seed\",\"Description1\":\"Is the seed value. A new value for seed is returned each time CALL RANNOR is executed. Range: seed &lt; 2\\u00b3\\u00b9 - 1.\",\"Parameter2\":\"x\",\"Description2\":\"Is a numeric variable. A new value for the random variate x is returned each time CALL RANNOR is executed.\"},{\"Name\":\"RANPERK\",\"Definition\":\"Randomly permutes the values of the arguments, and returns a permutation of k out of n values.\",\"Parameter1\":\"seed\",\"Description1\":\"Is a numeric variable that contains the random number seed.\",\"Parameter2\":\"k\",\"Description2\":\"Is the number of values that you want to have in the random permutation.\",\"Parameter3\":\"variable-1&lt;\",\"Description3\":\"Specifies all numeric variables, or all character variables that have the same length. K values of these variables are randomly permuted.\",\"Parameter4\":\"variable-2, ...&gt;\",\"Description4\":\"Specifies all numeric variables, or all character variables that have the same length. K values of these variables are randomly permuted.\"},{\"Name\":\"RANPERM\",\"Definition\":\"Randomly permutes the values of the arguments.\",\"Parameter1\":\"seed\",\"Description1\":\"Is a numeric variable that contains the random number seed.\",\"Parameter2\":\"variable-1&lt;\",\"Description2\":\"Specifies all numeric variables or all character variables that have the same length. The values of these variables are randomly permuted.\",\"Parameter3\":\"variable-2, ...&gt;\",\"Description3\":\"Specifies all numeric variables or all character variables that have the same length. The values of these variables are randomly permuted.\"},{\"Name\":\"RANPOI*1\",\"Definition\":\"Returns a random variate from a Poisson distribution.\",\"Parameter1\":\"seed\",\"Description1\":\"Is an integer. If seed is less than or equal to 0, the time of day is used to initialize the seed stream.  Range: seed &lt; 2\\u00b3\\u00b9 - 1.\",\"Parameter2\":\"m\",\"Description2\":\"Is a numeric mean parameter greater than or equal to zero.\"},{\"Name\":\"RANPOI*2\",\"Definition\":\"Returns a random variate from a Poisson distribution.\",\"Parameter1\":\"seed\",\"Description1\":\"Is the seed value. A new value for seed is returned each time CALL RANPOI is executed. Range: seed &lt; 2\\u00b3\\u00b9 - 1.\",\"Parameter2\":\"m\",\"Description2\":\"Is a numeric mean parameter greater than or equal to zero.\",\"Parameter3\":\"x\",\"Description3\":\"Is a numeric variable. A new value for the random variate x is returned each time CALL RANPOI is executed.\"},{\"Name\":\"RANTBL*1\",\"Definition\":\"Returns a random variate from a tabled probability distribution.\",\"Parameter1\":\"seed\",\"Description1\":\"Is an integer. If seed is less than or equal to 0, the time of day is used to initialize the seed stream.  Range: seed &lt; 2\\u00b3\\u00b9 - 1.\",\"Parameter2\":\"p1, ...pn\",\"Description2\":\"Is a numeric SAS value.\"},{\"Name\":\"RANTBL*2\",\"Definition\":\"Returns a random variate from a tabled probability distribution.\",\"Parameter1\":\"seed\",\"Description1\":\"Is the seed value. A new value for seed is returned each time CALL RANTBL is executed. Range: seed &lt; 2\\u00b3\\u00b9 - 1.\",\"Parameter2\":\"p1, ...pn\",\"Description2\":\"Is a numeric SAS value.\",\"Parameter3\":\"x\",\"Description3\":\"Is a numeric SAS variable. A new value for the random variate x is returned each time CALL RANTBL is executed.\"},{\"Name\":\"RANTRI*1\",\"Definition\":\"Returns a random variate from a triangular distribution.\",\"Parameter1\":\"seed\",\"Description1\":\"Is an integer. If seed is less than or equal to 0, the time of day is used to initialize the seed stream.  Range: seed &lt; 2\\u00b3\\u00b9 - 1.\",\"Parameter2\":\"h\",\"Description2\":\"Is a numeric SAS value. Range: 0 &lt; h &lt; 1.\"},{\"Name\":\"RANTRI*2\",\"Definition\":\"Returns a random variate from a triangular distribution.\",\"Parameter1\":\"seed\",\"Description1\":\"Is the seed value. A new value for seed is returned each time CALL RANTRI is executed. Range: seed &lt; 2\\u00b3\\u00b9 - 1.\",\"Parameter2\":\"h\",\"Description2\":\"Is a numeric SAS value. Range: 0 &lt; h &lt; 1.\",\"Parameter3\":\"x\",\"Description3\":\"Is a numeric SAS variable. A new value for the random variate x is returned each time CALL RANTRI is executed.\"},{\"Name\":\"RANUNI*1\",\"Definition\":\"Returns a random variate from a uniform distribution.\",\"Parameter1\":\"seed\",\"Description1\":\"Is an integer. If seed is less than or equal to 0, the time of day is used to initialize the seed stream.  Range: seed &lt; 2\\u00b3\\u00b9 - 1.\"},{\"Name\":\"RANUNI*2\",\"Definition\":\"Returns a random variate from a uniform distribution.\",\"Parameter1\":\"seed\",\"Description1\":\"Is the seed value. A new value for seed is returned each time CALL RANUNI is executed. Range: seed &lt; 2\\u00b3\\u00b9 - 1.\",\"Parameter2\":\"x\",\"Description2\":\"Is a numeric variable. A new value for the random variate x is returned each time CALL RANUNI is executed.\"},{\"Name\":\"SET\",\"Definition\":\"Links SAS data set variables to DATA step or macro variables that have the same name and data type.\",\"Parameter1\":\"data-set-id\",\"Description1\":\"Is the identifier that is assigned by the OPEN function when the data set is opened.\"},{\"Name\":\"SOFTMAX\",\"Definition\":\"Returns the softmax value.\",\"Parameter1\":\"argument&lt;,argument, ...&gt;\",\"Description1\":\"Is numeric.\"},{\"Name\":\"SORTC\",\"Definition\":\"Sorts the values of character arguments.\",\"Parameter1\":\"variable-1&lt;, ..., variable-n&gt;\",\"Description1\":\"Specifies a character variable.\"},{\"Name\":\"SORTN\",\"Definition\":\"Sorts the values of numeric arguments.\",\"Parameter1\":\"variable-1&lt;, ..., variable-n&gt;\",\"Description1\":\"Specifies a numeric variable.\"},{\"Name\":\"STDIZE\",\"Definition\":\"Standardizes the values of one or more variables.\",\"Parameter1\":\"&lt;option-1, option-2, ...\",\"Description1\":\"Specifies a character expression whose values can be uppercase, lowercase, or mixed case letters. Leading and trailing blanks are ignored.\",\"Parameter2\":\"&gt;variable-1&lt;\",\"Description2\":\"Is numeric. These values will be standardized according to the method that you use.\",\"Parameter3\":\"variable-2, ...&gt;\",\"Description3\":\"Is numeric. These values will be standardized according to the method that you use.\"},{\"Name\":\"STREAMINIT\",\"Definition\":\"Specifies a seed value to use for subsequent random number generation by the RAND function.\",\"Parameter1\":\"seed\",\"Description1\":\"Is an integer seed value.  Range: seed &lt; 2\\u00b3\\u00b9 - 1.\"},{\"Name\":\"SYMPUT\",\"Definition\":\"Assigns DATA step information to a macro variable.\",\"Parameter1\":\"expression-1\",\"Description1\":\"Specifies a character expression that identifies the macro variable that is assigned a value. If the macro variable does not exist, the routine creates it.\",\"Parameter2\":\"expression-2\",\"Description2\":\"Specifies a character constant, variable, or expression that contains the value that is assigned.\"},{\"Name\":\"SYMPUTX\",\"Definition\":\"Assigns a value to a macro variable, and removes both leading and trailing blanks.\",\"Parameter1\":\"macro-variable\",\"Description1\":\"A character constant, variable, or expression.\",\"Parameter2\":\"value\",\"Description2\":\"Specifies a character or numeric constant, variable, or expression. If value is numeric, SAS converts the value to a character string using the BEST. format and does not issue a note to the SAS log.\",\"Parameter3\":\"symbol-table\",\"Description3\":\"Specifies a character constant, variable, or expression. The following values are valid as the first non-blank character in symbol-table: G (global symbol table), L (local symbol table), F (any symbol table).\"},{\"Name\":\"SYSTEM\",\"Definition\":\"Submits an operating environment command for execution.\",\"Parameter1\":\"command\",\"Description1\":\"Specifies any of the following: a system command that is enclosed in quotation marks (character string), an expression whose value is a system command, or the name of a character variable whose value is a system command that is executed.\"},{\"Name\":\"VNEXT\",\"Definition\":\"Returns the name, type, and length of a variable that is used in a DATA step.\",\"Parameter1\":\"varname&lt;\",\"Description1\":\"Is a character variable that is updated by the CALL VNEXT routine.\",\"Parameter2\":\"vartype&lt;\",\"Description2\":\"Is a character variable whose input value is ignored. The value that is returned is \\\"N\\\" or \\\"C\\\".\",\"Parameter3\":\"varlength\",\"Description3\":\"Is a numeric variable. The input value of varlength is ignored.\"},{\"Name\":\"CAT\",\"Definition\":\"Does not remove leading or trailing blanks, and returns a concatenated character string.\",\"Parameter1\":\"item-1 &lt;, ..., item-n&gt;\",\"Description1\":\"Specifies a constant, variable, or expression, either character or numeric. If item is numeric, then its value is converted to a character string by using the BESTw. format.\"},{\"Name\":\"CATQ\",\"Definition\":\"Concatenates character or numeric values by using a delimiter to separate items and by adding quotation marks to strings that contain the delimiter.\",\"Parameter1\":\"modifier(s)&lt;\",\"Description1\":\"Specifies a character constant, variable, or expression in which each non-blank character modifies the action of the CATQ function. Blanks are ignored.\",\"Parameter2\":\"delimiter&gt;\",\"Description2\":\"Specifies a character constant, variable, or expression that is used as a delimiter between concatenated strings. If you specify this argument, then you must also specify the D modifier.\",\"Parameter3\":\"item\",\"Description3\":\"Specifies a constant, variable, or expression, either character or numeric. If item is numeric, then its value is converted to a character string by using the BESTw. format.\"},{\"Name\":\"CDF\",\"Definition\":\"Returns a value from a cumulative probability distribution.\",\"Parameter1\":\"distribution\",\"Description1\":\"Is a character constant, variable, or expression that identifies the distribution.\",\"Parameter2\":\"quantile&lt;\",\"Description2\":\"Is a numeric constant, variable, or expression that specifies the value of the random variable.\",\"Parameter3\":\"parm-1, ... ,parm-k&gt;\",\"Description3\":\"Are optional constants, variables, or expressions that specify shape, location, or scale parameters appropriate for the specific distribution.\"},{\"Name\":\"CEIL\",\"Definition\":\"Returns the smallest integer greater than or equal to a numeric value expression. \\n    \\nReturn value data type: DOUBLE\",\"Parameter1\":\"expression\",\"Description1\":\"Specifies any valid expression that evaluates to a numeric value.\\n\\nValid data types: DOUBLE\"},{\"Name\":\"CEILZ\",\"Definition\":\"Returns the smallest integer that is greater than or equal to the argument, using zero fuzzing. \\n    \\nReturn value data type: DOUBLE\",\"Parameter1\":\"expression\",\"Description1\":\"Specifies any valid expression that evaluates to a numeric value.\\n\\nValid data types: DOUBLE\"},{\"Name\":\"CEXIST\",\"Definition\":\"Verifies the existence of a SAS catalog or SAS catalog entry.\",\"Parameter1\":\"entry&lt;\",\"Description1\":\"Is a character constant, variable, or expression that specifies a SAS catalog, or the name of an entry in a catalog. If the entry value is a one- or two-level name, then it is assumed to be the name of a catalog.\",\"Parameter2\":\"'U'&gt;\",\"Description2\":\"tests whether the catalog can be opened for updating.\"},{\"Name\":\"CHAR\",\"Definition\":\"Returns a single character from a specified position in a character string.\",\"Parameter1\":\"string\",\"Description1\":\"Specifies a character constant, variable, or expression.\",\"Parameter2\":\"position\",\"Description2\":\"Is an integer that specifies the position of the character to be returned.\"},{\"Name\":\"CHOOSEC\",\"Definition\":\"Returns a character value that represents the results of choosing from a list of arguments.\",\"Parameter1\":\"index-expression\",\"Description1\":\"Specifies a numeric constant, variable, or expression.\",\"Parameter2\":\"selection-1 &lt;\",\"Description2\":\"Specifies a character constant, variable, or expression. The value of this argument is returned by the CHOOSEC function.\",\"Parameter3\":\"...selection-n&gt;\",\"Description3\":\"Specifies a character constant, variable, or expression. The value of this argument is returned by the CHOOSEC function.\"},{\"Name\":\"CHOOSEN\",\"Definition\":\"Returns a numeric value that represents the results of choosing from a list of arguments.\",\"Parameter1\":\"index-expression\",\"Description1\":\"Specifies a numeric constant, variable, or expression.\",\"Parameter2\":\"selection-1 &lt;\",\"Description2\":\"Specifies a numeric constant, variable, or expression. The value of this argument is returned by the CHOOSEN function.\",\"Parameter3\":\"...selection-n&gt;\",\"Description3\":\"Specifies a numeric constant, variable, or expression. The value of this argument is returned by the CHOOSEN function.\"},{\"Name\":\"CINV\",\"Definition\":\"Returns a quantile from the chi-square distribution.\",\"Parameter1\":\"p\",\"Description1\":\"Is a numeric probability. Range: 0 \\u2264 p &lt; 1\",\"Parameter2\":\"df&lt;\",\"Description2\":\"Is a numeric degrees of freedom parameter. Range: df &gt; 0.\",\"Parameter3\":\"nc&gt;\",\"Description3\":\"Is an optional numeric noncentrality parameter. Range: nc \\u2265 0.\"},{\"Name\":\"CLOSE\",\"Definition\":\"Closes a SAS data set.\",\"Parameter1\":\"data-set-id\",\"Description1\":\"Is a numeric variable that specifies the data set identifier that the OPEN function returns.\"},{\"Name\":\"CMISS\",\"Definition\":\"Counts the number of missing arguments.\",\"Parameter1\":\"expression-1 &lt;\",\"Description1\":\"Specifies a constant, variable, or expression. Argument can be either a character value or a numeric value.\",\"Parameter2\":\"expression-2...&gt;\",\"Description2\":\"Specifies a constant, variable, or expression. Argument can be either a character value or a numeric value.\"},{\"Name\":\"CNONCT\",\"Definition\":\"Returns the noncentrality parameter from a chi-square distribution.\",\"Parameter1\":\"x\",\"Description1\":\"Is a numeric random variable greater than or equal to zero.\",\"Parameter2\":\"df\",\"Description2\":\"Is a numeric degrees of freedom parameter. Range:  df &gt; 0.\",\"Parameter3\":\"prob\",\"Description3\":\"Is a probability. Range: 0 &lt; prob &lt; 1.\"},{\"Name\":\"COALESCE\",\"Definition\":\"Returns the first non-null or non-missing value from a list of numeric arguments. \\n    \\nReturn value data type: DOUBLE\",\"Parameter1\":\"expression-1 [\",\"Description1\":\"Specifies any valid expression that evaluates to a numeric value.\\n\\nValid data types: DOUBLE\",\"Parameter2\":\"... expression-n ]\",\"Description2\":\"Specifies any valid expression that evaluates to a numeric value.\\n\\nValid data types: DOUBLE\"},{\"Name\":\"COALESCEC\",\"Definition\":\"Returns the first non-null or non-missing value from a list of character arguments.\",\"Parameter1\":\"expression-1 [\",\"Description1\":\"Specifies any valid expression that evaluates to a character value. \\n\\nValid data types: NCHAR\",\"Parameter2\":\"... expression-n ]\",\"Description2\":\"Specifies any valid expression that evaluates to a character value. \\n\\nValid data types: NCHAR\"},{\"Name\":\"COLLATE*1\",\"Definition\":\"Returns a character string in ASCII or EBCDIC collating sequence. \\n    \\nValid for Data Types: NCHAR\",\"Parameter1\":\"start-position [\",\"Description1\":\"Specifies the numeric position in the collating sequence of the first character \\nto be returned. \\n\\nInteraction: If you specify only start-position, COLLATE returns consecutive \\ncharacters from that position to the end of the collating sequence or up to \\n255 characters, whichever comes first. \\n\\nValid data types: NCHAR\",\"Parameter2\":\"end-position ]\",\"Description2\":\"Specifies the numeric position in the collating sequence of the last character \\nto be returned.\\n\\nThe maximum end-position for the EBCDIC collating sequence is 255. For ASCII \\ncollating sequences, the characters that correspond to end-position values \\nbetween 0 and 127 represent the standard character set. Other ASCII characters \\nthat correspond to end-position values between 128 and 255 are available on \\ncertain ASCII operating environments, but the information that those characters \\nrepresent varies with the operating environment.\\n\\nRequirement: end-position must be larger than start-position  \\nValid data types: NCHAR \\nTip: If you specify end-position, COLLATE returns all character values in the \\ncollating sequence between start-position and end-position, inclusive.\"},{\"Name\":\"COLLATE*2\",\"Definition\":\"Returns a character string in ASCII or EBCDIC collating sequence.\",\"Parameter1\":\"start-position&lt;\",\"Description1\":\"Specifies the numeric position in the collating sequence of the first character to be returned.\",\"Parameter2\":\"length&gt;\",\"Description2\":\"Specifies the number of characters in the collating sequence. Default value: 200.\"},{\"Name\":\"COMB\",\"Definition\":\"Computes the number of combinations of n elements taken r at a time.\",\"Parameter1\":\"n\",\"Description1\":\"Is a non-negative integer that represents the total number of elements from which the sample is chosen.\",\"Parameter2\":\"r\",\"Description2\":\"Is a non-negative integer that represents the number of chosen elements. Range: r \\u2264 n.\"},{\"Name\":\"COMPARE\",\"Definition\":\"Returns the position of the leftmost character by which two strings differ, or returns 0 if there is no difference.\",\"Parameter1\":\"string-1\",\"Description1\":\"Specifies a character constant, variable, or expression.\",\"Parameter2\":\"string-2&lt;\",\"Description2\":\"Specifies a character constant, variable, or expression.\",\"Parameter3\":\"modifier(s)&gt;\",\"Description3\":\"Specifies a character string that can modify the action of the COMPARE function. You can use one or more of the following characters as a valid modifier: i or I (to ignore case), l or L (to remove leading blanks), n or N (to remove quotation marks), : (to truncate the longer of string-1 or string-2 to the length of the shorter string, or to one, whichever is greater.\"},{\"Name\":\"COMPBL\",\"Definition\":\"Removes multiple blanks from a character string. \\n    \\nReturn value data types: NCHAR\",\"Parameter1\":\"character-expression\",\"Description1\":\"Specifies any valid expression that evaluates to a character string and that specifies \\nthe character string to compress.\\n\\nValid data types: NCHAR \\n\"},{\"Name\":\"COMPGED\",\"Definition\":\"Returns the generalized edit distance between two strings.\",\"Parameter1\":\"string-1\",\"Description1\":\"Specifies a character constant, variable, or expression.\",\"Parameter2\":\"string-2&lt;\",\"Description2\":\"Specifies a character constant, variable, or expression.\",\"Parameter3\":\"cutoff&gt;&lt;\",\"Description3\":\"Is a numeric constant, variable, or expression. If the actual generalized edit distance is greater than the value of cutoff, the value that is returned is equal to the value of cutoff.\",\"Parameter4\":\"modifiers&gt;\",\"Description4\":\"Specifies a character string that can modify the action of the COMPGED function. You can use one or more of the following characters as a valid modifier:  i or I (to ignore case), l or L (to remove leading blanks), n or N (to remove quotation marks), : (to truncate the longer of string-1 or string-2 to the length of the shorter string, or to one, whichever is greater.\"},{\"Name\":\"COMPLEV\",\"Definition\":\"Returns the Levenshtein edit distance between two strings.\",\"Parameter1\":\"string-1\",\"Description1\":\"Specifies a character constant, variable, or expression.\",\"Parameter2\":\"string-2&lt;\",\"Description2\":\"Specifies a character constant, variable, or expression.\",\"Parameter3\":\"cutoff&gt;&lt;\",\"Description3\":\"Specifies a numeric constant, variable, or expression. If the actual Levenshtein edit distance is greater than the value of cutoff, the value that is returned is equal to the value of cutoff.\",\"Parameter4\":\"modifiers&gt;\",\"Description4\":\"Specifies a character string that can modify the action of the COMPLEV function. You can use one or more of the following characters as a valid modifier: i or I (to ignore case), l or L (to remove leading blanks), n or N (to remove quotation marks), : (to truncate the longer of string-1 or string-2 to the length of the shorter string, or to one, whichever is greater.\"},{\"Name\":\"COMPOUND\",\"Definition\":\"Returns compound interest parameters.\",\"Parameter1\":\"a\",\"Description1\":\"Is numeric, and specifies the initial amount. Range: a \\u2265 0.\",\"Parameter2\":\"f\",\"Description2\":\"Is numeric, and specifies the future amount (at the end of n periods). Range: f \\u2265 0.\",\"Parameter3\":\"r\",\"Description3\":\"Is numeric, and specifies the periodic interest rate expressed as a fraction. Range: r \\u2265 0.\",\"Parameter4\":\"n\",\"Description4\":\"Is an integer, and specifies the number of compounding periods. Range: n \\u2265 0.\"},{\"Name\":\"COMPRESS\",\"Definition\":\"Returns a character string with specified characters removed from the original string. \\n    \\nReturn value data type: CHAR, NCHAR\",\"Parameter1\":\"character-expression [\",\"Description1\":\"Specifies any valid expression that evaluates to a character expression and from which \\nspecified characters will be removed. \\n\\nRequirement: Enclose a literal string of characters in single quotation marks. \\nValid data types: CHAR, NCHAR\",\"Parameter2\":\"character-list-expression ]\",\"Description2\":\"Specifies a variable or any valid expression that initializes a list of characters.\\n\\nBy default, the characters in this list are removed from character-expression. \\n\\nRequirement: Enclose a literal string of characters in single quotation marks. \\nValid data types: CHAR, NCHAR\"},{\"Name\":\"CONSTANT\",\"Definition\":\"Computes machine and mathematical constants.\",\"Parameter1\":\"constant&lt;\",\"Description1\":\"Is a character constant, variable, or expression that identifies the constant to be returned. Valid constants are as follows: 'E', 'EULER', 'PI', 'EXACTINT', 'BIG', 'LOGBIG', 'SQRTBIG', 'SMALL', 'LOGSMALL', 'SQRTSMALL', 'MACEPS', 'LOGMACEPS', 'SQRTMACEPS'.\",\"Parameter2\":\"parameter&gt;\",\"Description2\":\"Is an optional numeric parameter. Some of the constants specified in constant have an optional argument that alters the functionality of the CONSTANT function.\"},{\"Name\":\"CONVX\",\"Definition\":\"Returns the convexity for an enumerated cash flow.\",\"Parameter1\":\"y\",\"Description1\":\"Specifies the effective per-period yield-to-maturity, expressed as a fraction. Range: 0 &lt; y &lt; 1.\",\"Parameter2\":\"f\",\"Description2\":\"Specifies the frequency of cash flows per period. Range: f &gt; 0.\",\"Parameter3\":\"c(1), ..., c(k)\",\"Description3\":\"Specifies a list of cash flows.\"},{\"Name\":\"CONVXP\",\"Definition\":\"Returns the convexity for a periodic cash flow stream, such as a bond.\",\"Parameter1\":\"A\",\"Description1\":\"Specifies the par value. Range: A &gt; 0\",\"Parameter2\":\"c\",\"Description2\":\"Specifies the nominal per-period coupon rate, expressed as a fraction. Range: 0 \\u2264 c &lt; 1.\",\"Parameter3\":\"n\",\"Description3\":\"Specifies the number of coupons per period. n &gt; 0 and is an integer.\",\"Parameter4\":\"K\",\"Description4\":\"Specifies the number of remaining coupons. Range: K &gt; 0\",\"Parameter5\":\"ko\",\"Description5\":\"Specifies the time from the present date to the first coupon date, expressed in terms of the number of periods. Range: 0 &lt; ko \\u2264 1/n.\",\"Parameter6\":\"y\",\"Description6\":\"Specifies the nominal per-period yield-to-maturity, expressed as a fraction. Range: y &gt; 0.\"},{\"Name\":\"COS\",\"Definition\":\"Returns the cosine in radians. \\n    \\nReturn value data type: DOUBLE\",\"Parameter1\":\"expression\",\"Description1\":\"Specifies any valid expression that evaluates to a numeric value.\\n\\nValid data types: DOUBLE\"},{\"Name\":\"COSH\",\"Definition\":\"Returns the hyperbolic cosine in radians. \\n    \\nReturn value data type: DOUBLE\",\"Parameter1\":\"expression\",\"Description1\":\"Specifies any valid expression that evaluates to a numeric value.\\n\\nValid data types: DOUBLE\"},{\"Name\":\"COUNT\",\"Definition\":\"Counts the number of times that a specified substring appears within a character string.\",\"Parameter1\":\"string\",\"Description1\":\"Specifies a character constant, variable, or expression in which substrings are to be counted. Enclose a literal string of characters in quotation marks.\",\"Parameter2\":\"substring&lt;\",\"Description2\":\"Is a character constant, variable, or expression that specifies the substring of characters to count in string. Enclose a literal string of characters in quotation marks.\",\"Parameter3\":\"modifiers&gt;\",\"Description3\":\"Is a character constant, variable, or expression that specifies one or more modifiers. The following modifiers can be in uppercase or lowercase: i (ignores character case), t (trims trailing blanks).\"},{\"Name\":\"COUNTC\",\"Definition\":\"Counts the number of characters in a string that appear or do not appear in a list of characters.\",\"Parameter1\":\"string\",\"Description1\":\"Specifies a character constant, variable, or expression in which characters are counted. Enclose a literal string of characters in quotation marks.\",\"Parameter2\":\"charlist&lt;\",\"Description2\":\"Specifies a character constant, variable, or expression that initializes a list of characters. COUNTC counts characters in this list, provided that you do not specify the V modifier in the modifier argument.\",\"Parameter3\":\"modifier(s)&gt;\",\"Description3\":\"Specifies a character constant, variable, or expression in which each non-blank character modifies the action of the COUNTC function. Blanks are ignored.\"},{\"Name\":\"COUNTW\",\"Definition\":\"Counts the number of words in a character string.\",\"Parameter1\":\"&lt;string&gt;&lt;\",\"Description1\":\"Specifies a character constant, variable, or expression in which words are counted.\",\"Parameter2\":\"&lt;chars&gt;&lt;\",\"Description2\":\"Specifies an optional character constant, variable, or expression that initializes a list of characters. The characters in this list are the delimiters that separate words, provided that you do not use the K modifier in the modifier argument. If you specify the K modifier, then all characters that are not in this list are delimiters.\",\"Parameter3\":\"modifier(s)&gt;\",\"Description3\":\"Specifies a character constant, variable, or expression in which each non-blank character modifies the action of the COUNTW function.\"},{\"Name\":\"CSS\",\"Definition\":\"Returns the corrected sum of squares. \\n    \\nReturn value data type: DOUBLE\",\"Parameter1\":\"expression [, ...expression ]\",\"Description1\":\"Specifies any valid expression that evaluates to a numeric value. \\n\\nRequirement: At least one non-null or non-missing expression is required. \\nValid data types: DOUBLE\"},{\"Name\":\"CUROBS\",\"Definition\":\"Returns the observation number of the current observation.\",\"Parameter1\":\"data-set-id\",\"Description1\":\"Is a numeric value that specifies the data set identifier that the OPEN function returns.\"},{\"Name\":\"CV\",\"Definition\":\"Returns the coefficient of variation. \\n \\nRequirement: At least two arguments are required. \\nReturn value data type: DOUBLE\",\"Parameter1\":\"expression-1\",\"Description1\":\"Specifies any valid expression that evaluates to a numeric value. \\n\\nValid data types: DOUBLE\",\"Parameter2\":\"expression-2 [, ...expression-n ]\",\"Description2\":\"Specifies any valid expression that evaluates to a numeric value. \\n\\nValid data types: DOUBLE\"},{\"Name\":\"DACCDB\",\"Definition\":\"Returns the accumulated declining balance depreciation.\",\"Parameter1\":\"p\",\"Description1\":\"Is numeric, the period for which the calculation is to be done. For noninteger p arguments, the depreciation is prorated between the two consecutive time periods that precede and follow the fractional period.\",\"Parameter2\":\"v\",\"Description2\":\"Is numeric, the depreciable initial value of the asset.\",\"Parameter3\":\"y\",\"Description3\":\"Is numeric, the lifetime of the asset. Range: y &gt; 0.\",\"Parameter4\":\"r\",\"Description4\":\"Is numeric, the rate of depreciation expressed as a decimal. Range: r &gt; 0.\"},{\"Name\":\"DACCDBSL\",\"Definition\":\"Returns the accumulated declining balance with conversion to a straight-line depreciation.\",\"Parameter1\":\"p\",\"Description1\":\"Is numeric, the period for which the calculation is to be done.\",\"Parameter2\":\"v\",\"Description2\":\"Is numeric, the depreciable initial value of the asset.\",\"Parameter3\":\"y\",\"Description3\":\"Is an integer, the lifetime of the asset. Range y &gt; 0.\",\"Parameter4\":\"r\",\"Description4\":\"Is numeric, the rate of depreciation that is expressed as a fraction. Range r &gt; 0.\"},{\"Name\":\"DACCSL\",\"Definition\":\"Returns the accumulated straight-line depreciation.\",\"Parameter1\":\"p\",\"Description1\":\"Is numeric, the period for which the calculation is to be done. For fractional p, the depreciation is prorated between the two consecutive time periods that precede and follow the fractional period.\",\"Parameter2\":\"v\",\"Description2\":\"Is numeric, the depreciable initial value of the asset.\",\"Parameter3\":\"y\",\"Description3\":\"Is numeric, the lifetime of the asset. Range y &gt; 0.\"},{\"Name\":\"DACCSYD\",\"Definition\":\"Returns the accumulated sum-of-years-digits depreciation.\",\"Parameter1\":\"p\",\"Description1\":\"Is numeric, the period for which the calculation is to be done. For noninteger p arguments, the depreciation is prorated between the two consecutive time periods that precede and follow the fractional period.\",\"Parameter2\":\"v\",\"Description2\":\"Is numeric, the depreciable initial value of the asset.\",\"Parameter3\":\"y\",\"Description3\":\"Is numeric, the lifetime of the asset. Range y &gt; 0.\"},{\"Name\":\"DACCTAB\",\"Definition\":\"Returns the accumulated depreciation from specified tables.\",\"Parameter1\":\"p\",\"Description1\":\"Is numeric, the period for which the calculation is to be done. For noninteger p arguments, the depreciation is prorated between the two consecutive time periods that precede and follow the fractional period.\",\"Parameter2\":\"v\",\"Description2\":\"Is numeric, the depreciable initial value of the asset.\",\"Parameter3\":\"t1, t2, ..., tn\",\"Description3\":\"Are numeric, the fractions of depreciation for each time period with t1+t2+...tn\\u22641.\"},{\"Name\":\"DAIRY\",\"Definition\":\"Returns the derivative of the AIRY function.\",\"Parameter1\":\"x\",\"Description1\":\"Specifies a numeric constant, variable, or expression.\"},{\"Name\":\"DATDIF\",\"Definition\":\"Returns the number of days between two dates.\",\"Parameter1\":\"sdate\",\"Description1\":\"Specifies a SAS date value that identifies the starting date. If sdate falls at the end of a month, then SAS treats the date as if it were the last day of a 30-day month.\",\"Parameter2\":\"edate\",\"Description2\":\"Specifies a SAS date value that identifies the ending date. If sdate falls at the end of a month, then SAS treats the date as if it were the last day of a 30-day month.\",\"Parameter3\":\"basis\",\"Description3\":\"Identifies a character constant or variable that describes how SAS calculates the date difference in the securities industry. The following character strings are valid: '30/360' (30-day month and a 360-day year), 'ACT/ACT' (uses actual number of days between dates), 'ACT/360' (uses actual number of calendar days in a month, and 360 days for the year), 'ACT/365' (uses actual number of calendar days for each month, and 365 days for the year).\"},{\"Name\":\"DATE\",\"Definition\":\"Returns the current date as a SAS date value.\\n    \\nReturn value data type: DOUBLE\"},{\"Name\":\"DATEJUL\",\"Definition\":\"Converts a Julian date to a SAS date value. \\n    \\nReturn value data type: DOUBLE\",\"Parameter1\":\"julian-date\",\"Description1\":\"Specifies a SAS numeric expression that represents a Julian date. A Julian date in SAS is a date in the form yyddd or yyyyddd, where yy or yyyy is a two-digit or four-digit integer that represents the year and ddd is the number of the day of the year. The value of ddd must be between 1 and 365 (or 366 for a leap year).\"},{\"Name\":\"DATEPART\",\"Definition\":\"Extracts the date from a SAS datetime value.\",\"Parameter1\":\"datetime\",\"Description1\":\"Specifies any valid expression that represents a SAS datetime value.\\n\\nValid data types: DOUBLE\"},{\"Name\":\"DATETIME\",\"Definition\":\"Returns the current date and time of day as a SAS datetime value. \\n    \\nReturn value data type: DOUBLE\"},{\"Name\":\"DAY\",\"Definition\":\"Returns the day of the month from a SAS date value. \\n    \\nReturn value data type: DOUBLE\",\"Parameter1\":\"date\",\"Description1\":\"Specifies any valid expression that represents a SAS date value.\\n\\nValid data types: DOUBLE\"},{\"Name\":\"DCLOSE\",\"Definition\":\"Closes a directory that was opened by the DOPEN function.\",\"Parameter1\":\"directory-id\",\"Description1\":\"Is a numeric variable that specifies the identifier that was assigned when the directory was opened by the DOPEN function.\"},{\"Name\":\"DCREATE\",\"Definition\":\"Returns the complete pathname of a new, external directory.\",\"Parameter1\":\"directory-name&lt;\",\"Description1\":\"Is a character constant, variable, or expression that specifies the name of the directory to create. This value cannot include a pathname.\",\"Parameter2\":\"parent-directory&gt;\",\"Description2\":\"Is a character constant, variable, or expression that contains the complete pathname of the directory in which to create the new directory. If you do not supply a value for parent-directory, then the current directory is the parent directory.\"},{\"Name\":\"DEPDB\",\"Definition\":\"Returns the declining balance depreciation.\",\"Parameter1\":\"p\",\"Description1\":\"Is numeric, the period for which the calculation is to be done. For noninteger p arguments, the depreciation is prorated between the two consecutive time periods that precede and follow the fractional period.\",\"Parameter2\":\"v\",\"Description2\":\"Is numeric, the depreciable initial value of the asset.\",\"Parameter3\":\"y\",\"Description3\":\"Is numeric, the lifetime of the asset. Range: y &gt; 0.\",\"Parameter4\":\"r\",\"Description4\":\"Is numeric, the rate of depreciation that is expressed as a fraction. Range: r &gt; 0.\"},{\"Name\":\"DEPDBSL\",\"Definition\":\"Returns the declining balance with conversion to a straight-line depreciation.\",\"Parameter1\":\"p\",\"Description1\":\"Is an integer, the period for which the calculation is to be done.\",\"Parameter2\":\"v\",\"Description2\":\"Is numeric, the depreciable initial value of the asset.\",\"Parameter3\":\"y\",\"Description3\":\"Is an integer, the lifetime of the asset. Range: y&gt;0.\",\"Parameter4\":\"r\",\"Description4\":\"Is numeric, the rate of depreciation that is expressed as a fraction. Range: r &gt; 0.\"},{\"Name\":\"DEPSL\",\"Definition\":\"Returns the straight-line depreciation.\",\"Parameter1\":\"p\",\"Description1\":\"Is numeric, the period for which the calculation is to be done. For fractional p, the depreciation is prorated between the two consecutive time periods that precede and follow the fractional period.\",\"Parameter2\":\"v\",\"Description2\":\"Is numeric, the depreciable initial value of the asset.\",\"Parameter3\":\"y\",\"Description3\":\"Is numeric, the lifetime of the asset. Range: y &gt; 0.\"},{\"Name\":\"DEPSYD\",\"Definition\":\"Returns the sum-of-years-digits depreciation.\",\"Parameter1\":\"p\",\"Description1\":\"Is numeric, the period for which the calculation is to be done. For noninteger p arguments, the depreciation is prorated between the two consecutive time periods that precede and follow the fractional period.\",\"Parameter2\":\"v\",\"Description2\":\"Is numeric, the depreciable initial value of the asset.\",\"Parameter3\":\"y\",\"Description3\":\"Is numeric, the lifetime of the asset in number of depreciation periods. Range: y &gt; 0.\"},{\"Name\":\"DEPTAB\",\"Definition\":\"Returns the depreciation from specified tables.\",\"Parameter1\":\"p\",\"Description1\":\"Is numeric, the period for which the calculation is to be done. For noninteger p arguments, the depreciation is prorated between the two consecutive time periods that precede and follow the fractional period.\",\"Parameter2\":\"v\",\"Description2\":\"Is numeric, the depreciable initial value of the asset.\",\"Parameter3\":\"t1, t2, ..., tn\",\"Description3\":\"are numeric, the fractions of depreciation for each time period with t1+t2+...tn\\u22641.\"},{\"Name\":\"DEQUOTE\",\"Definition\":\"Removes matching quotation marks from a character string that begins with a quotation \\nmark, and deletes all characters to the right of the closing quotation mark.\",\"Parameter1\":\"expression\",\"Description1\":\"Specifies any valid expression that evaluates to a character string.\\n\\nValid data types: NCHAR\"},{\"Name\":\"DEVIANCE\",\"Definition\":\"Returns the deviance based on a probability distribution.\",\"Parameter1\":\"distribution\",\"Description1\":\"Is a character constant, variable, or expression that identifies the distribution. Valid distributions are: 'BERNOULLI' | 'BERN', 'BINOMIAL' | 'BINO', 'GAMMA', 'IGAUSS' | 'WALD', 'NORMAL' | 'GAUSSIAN', 'NORMAL' | 'GAUSSIAN'.\",\"Parameter2\":\"variable\",\"Description2\":\"Is a numeric constant, variable, or expression.\",\"Parameter3\":\"shape-parameter(s)&lt;\",\"Description3\":\"Are one or more distribution-specific numeric parameters that characterize the shape of the distribution.\",\"Parameter4\":\"epsilon&gt;\",\"Description4\":\"Is an optional numeric small value used for all of the distributions, except for the normal distribution.\"},{\"Name\":\"DHMS\",\"Definition\":\"Returns a SAS datetime value from date, hour, minute, and second values. \\n    \\nReturn value data type: DOUBLE\",\"Parameter1\":\"date\",\"Description1\":\"Specifies any valid expression that represents a SAS date value.\\n\\nValid data types: DOUBLE\",\"Parameter2\":\"hour\",\"Description2\":\"Specifies a numeric expression that represents an integer from 1 through 12.\\n\\nValid data types: DOUBLE\",\"Parameter3\":\"minute\",\"Description3\":\"Specifies a numeric expression that represents an integer from 1 through 59. \\n\\nValid data types: DOUBLE\",\"Parameter4\":\"second\",\"Description4\":\"Specifies a numeric expression that represents an integer from 1 through 59.\\n\\nValid data types: DOUBLE\"},{\"Name\":\"DIF\",\"Definition\":\"Returns differences between an argument and its nth lag. n specifies the number of lags.\",\"Parameter1\":\"argument\",\"Description1\":\"Specifies a numeric constant, variable, or expression.\"},{\"Name\":\"DIGAMMA\",\"Definition\":\"Returns the value of the digamma function. \\n    \\nReturn value data type: DOUBLE\",\"Parameter1\":\"expression\",\"Description1\":\"Specifies any valid expression that evaluates to a numeric value. \\n\\nRestriction: Zero and negative integers are not valid. \\nValid data types: DOUBLE\"},{\"Name\":\"DIM*1\",\"Definition\":\"Returns the number of elements in an array. n specifies the dimension, in a multidimensional array, for which you want to know the number of elements.\",\"Parameter1\":\"array-name\",\"Description1\":\"Specifies the name of an array that was previously defined in the same DATA step. This argument cannot be a constant, variable, or expression.\"},{\"Name\":\"DIM*2\",\"Definition\":\"Returns the number of elements in an array.\",\"Parameter1\":\"array-name\",\"Description1\":\"Specifies the name of an array that was previously defined in the same DATA step. This argument cannot be a constant, variable, or expression.\",\"Parameter2\":\"bound-n\",\"Description2\":\"Is a numeric constant, variable, or expression that specifies the dimension, in a multidimensional array, for which you want to know the number of elements. Use bound-n only when n is not specified.\"},{\"Name\":\"DINFO\",\"Definition\":\"Returns information about a directory.\",\"Parameter1\":\"directory-id\",\"Description1\":\"Is a numeric variable that specifies the identifier that was assigned when the directory was opened by the DOPEN function.\",\"Parameter2\":\"info-item\",\"Description2\":\"Is a character constant, variable, or expression that specifies the information item to be retrieved. DINFO returns a blank if the value of the info-item argument is invalid. The information available varies according to the operating environment.\"},{\"Name\":\"DIVIDE\",\"Definition\":\"Returns the result of a division that handles special missing values for ODS output.\",\"Parameter1\":\"x\",\"Description1\":\"Is a numeric constant, variable, or expression.\",\"Parameter2\":\"y\",\"Description2\":\"Is a numeric constant, variable, or expression.\"},{\"Name\":\"DNUM\",\"Definition\":\"Returns the number of members in a directory.\",\"Parameter1\":\"directory-id\",\"Description1\":\"Is a numeric variable that specifies the identifier that was assigned when the directory was opened by the DOPEN function.\"},{\"Name\":\"DOPEN\",\"Definition\":\"Opens a directory, and returns a directory identifier value.\",\"Parameter1\":\"fileref\",\"Description1\":\"Is a character constant, variable, or expression that specifies the fileref assigned to the directory.\"},{\"Name\":\"DOPTNAME\",\"Definition\":\"Returns directory attribute information.\",\"Parameter1\":\"directory-id\",\"Description1\":\"Is a numeric variable that specifies the identifier that was assigned when the directory was opened by the DOPEN function.\",\"Parameter2\":\"nval\",\"Description2\":\"Is a numeric constant, variable, or expression that specifies the sequence number of the option.\"},{\"Name\":\"DOPTNUM\",\"Definition\":\"Returns the number of information items that are available for a directory.\",\"Parameter1\":\"directory-id\",\"Description1\":\"Is a numeric variable that specifies the identifier that was assigned when the directory was opened by the DOPEN function.\"},{\"Name\":\"DREAD\",\"Definition\":\"Returns the name of a directory member.\",\"Parameter1\":\"directory-id\",\"Description1\":\"Is a numeric value that specifies the identifier that was assigned when the directory was opened by the DOPEN function.\",\"Parameter2\":\"nval\",\"Description2\":\"Is a numeric constant, variable, or expression that specifies the sequence number of the member within the directory.\"},{\"Name\":\"DROPNOTE\",\"Definition\":\"Deletes a note marker from a SAS data set or an external file.\",\"Parameter1\":\"data-set-id|file-id\",\"Description1\":\"Is a numeric variable that specifies the identifier that was assigned when the data set or external file was opened, generally by the OPEN function or the FOPEN function.\",\"Parameter2\":\"note-id\",\"Description2\":\"Is a numeric value that specifies the identifier that was assigned by the NOTE or FNOTE function.\"},{\"Name\":\"DSNAME\",\"Definition\":\"Returns the SAS data set name that is associated with a data set identifier.\",\"Parameter1\":\"data-set-id\",\"Description1\":\"Is a numeric variable that specifies the data set identifier that is returned by the OPEN function.\"},{\"Name\":\"DUR\",\"Definition\":\"Returns the modified duration for an enumerated cash flow.\",\"Parameter1\":\"y\",\"Description1\":\"Specifies the effective per-period yield-to-maturity, expressed as a fraction. Range: y &gt; 0.\",\"Parameter2\":\"f\",\"Description2\":\"Specifies the frequency of cash flows per period. Range: f &gt; 0.\",\"Parameter3\":\"c(1), ... ,c(k)\",\"Description3\":\"Specifies a list of cash flows.\"},{\"Name\":\"DURP\",\"Definition\":\"Returns the modified duration for a periodic cash flow stream, such as a bond.\",\"Parameter1\":\"A\",\"Description1\":\"Specifies the par value. Range: A &gt; 0.\",\"Parameter2\":\"c\",\"Description2\":\"Specifies the nominal per-period coupon rate, expressed as a fraction. Range: 0 \\u2264 c &lt; 1.\",\"Parameter3\":\"n\",\"Description3\":\"Specifies the number of coupons per period. Range: n &gt; 0 and is an integer.\",\"Parameter4\":\"K\",\"Description4\":\"Specifies the number of remaining coupons. Range: K &gt; 0 and is an integer.\",\"Parameter5\":\"ko\",\"Description5\":\"Specifies the time from the present date to the first coupon date, expressed in terms of the number of periods. Range: 0 &lt; c \\u2264 1/n.\",\"Parameter6\":\"y\",\"Description6\":\"Specifies the nominal per-period yield-to-maturity, expressed as a fraction. Range: y &gt; 0.\"},{\"Name\":\"ENVLEN\",\"Definition\":\"Returns the length of an environment variable.\",\"Parameter1\":\"argument\",\"Description1\":\"Specifies a character variable that is the name of an operating system environment variable. Enclose argument in quotation marks.\"},{\"Name\":\"ERF\",\"Definition\":\"Returns the value of the (normal) error function.\",\"Parameter1\":\"argument\",\"Description1\":\"Specifies a numeric constant, variable, or expression.\"},{\"Name\":\"ERFC\",\"Definition\":\"Returns the value of the complementary (normal) error function.\",\"Parameter1\":\"argument\",\"Description1\":\"Specifies a numeric constant, variable, or expression.\",\"Description4\":null},{\"Name\":\"EUCLID\",\"Definition\":\"Returns the Euclidean norm of the non-missing arguments.\",\"Parameter1\":\"value-1 &lt;,value-2 ...&gt;\",\"Description1\":\"Specifies a numeric constant, variable, or expression.\"},{\"Name\":\"EXIST\",\"Definition\":\"Verifies the existence of a SAS library member.\",\"Parameter1\":\"member-name&lt;\",\"Description1\":\"Is a character constant, variable, or expression that specifies the SAS library member.\",\"Parameter2\":\"member-type&lt;\",\"Description2\":\"Is a character constant, variable, or expression that specifies the type of SAS library member.\",\"Parameter3\":\"generation&gt;&gt;\",\"Description3\":\"Is a numeric constant, variable, or expression that specifies the generation number of the SAS data set whose existence you are checking.\"},{\"Name\":\"EXP\",\"Definition\":\"Returns the value of the exponential function. \\n    \\nReturn value data type: DOUBLE\",\"Parameter1\":\"expression\",\"Description1\":\"Specifies any valid expression that evaluates to a numeric value.\\n\\nValid data types: DOUBLE\"},{\"Name\":\"FACT\",\"Definition\":\"Computes a factorial.\",\"Parameter1\":\"n\",\"Description1\":\"Is a numeric constant, variable, or expression.\"},{\"Name\":\"FAPPEND\",\"Definition\":\"Appends the current record to the end of an external file.\",\"Parameter1\":\"file-id&lt;\",\"Description1\":\"Is a numeric variable that specifies the identifier that was assigned when the file was opened, generally by the FOPEN function.\",\"Parameter2\":\"cc&gt;\",\"Description2\":\"Is a character constant, variable, or expression that specifies a carriage-control character: blank (start record on a new line), 0 (skip one blank line), - (skip two blanks), 1 (start a new page), + (overstrike a previous line), P (computer prompt), = (contains carriage control info), all else (start a new line).\"},{\"Name\":\"FCLOSE\",\"Definition\":\"Closes an external file, directory, or directory member.\",\"Parameter1\":\"file-id\",\"Description1\":\"Is a numeric variable that specifies the identifier that was assigned when the file was opened, generally by the FOPEN function.\"},{\"Name\":\"FCOL\",\"Definition\":\"Returns the current column position in the File Data Buffer (FDB).\",\"Parameter1\":\"file-id\",\"Description1\":\"Is a numeric variable that specifies the identifier that was assigned when the file was opened, generally by the FOPEN function.\"},{\"Name\":\"FDELETE\",\"Definition\":\"Deletes an external file or an empty directory.\",\"Parameter1\":\"fileref | directory\",\"Description1\":\"Is a character constant, variable, or expression that specifies the fileref that you assigned to the external file, or an empty directory that you want to delete.\"},{\"Name\":\"FETCH\",\"Definition\":\"Reads the next non-deleted observation from a SAS data set into the Data Set Data Vector (DDV).\",\"Parameter1\":\"data-set-id&lt;\",\"Description1\":\"Is a numeric variable that specifies the data set identifier that is returned by the OPEN function.\",\"Parameter2\":\"'NOSET'&gt;\",\"Description2\":\"Prevents the automatic passing of SAS data set variable values to macro or DATA step variables even if the SET routine has been called.\"},{\"Name\":\"FETCHOBS\",\"Definition\":\"Reads a specified observation from a SAS data set into the Data Set Data Vector (DDV).\",\"Parameter1\":\"data-set-id\",\"Description1\":\"Is a numeric variable that specifies the data set identifier that is returned by the OPEN function.\",\"Parameter2\":\"obs-number&lt;\",\"Description2\":\"Is a numeric constant, variable, or expression that specifies the number of the observation to read.\",\"Parameter3\":\"options&gt;\",\"Description3\":\"Is a character constant, variable, or expression that names one or more options, separated by blanks: ABS (obs-number is absolute), NOSET (prevents automatic passing of SAS data set variable values even if the SET routine has been called).\"},{\"Name\":\"FEXIST\",\"Definition\":\"Verifies the existence of an external file that is associated with a fileref.\",\"Parameter1\":\"fileref\",\"Description1\":\"Is a character constant, variable, or expression that specifies the fileref that is assigned to an external file.\"},{\"Name\":\"FGET\",\"Definition\":\"Copies data from the File Data Buffer (FDB) into a variable.\",\"Parameter1\":\"file-id\",\"Description1\":\"Is a numeric variable that specifies the identifier that was assigned when the file was opened, generally by the FOPEN function.\",\"Parameter2\":\"variable&lt;\",\"Description2\":\"In a DATA step, specifies a character variable to hold the data. In a macro, specifies a macro variable to hold the data. If variable is a macro variable and it does not exist, it is created.\",\"Parameter3\":\"length&gt;\",\"Description3\":\"Specifies the number of characters to retrieve from the FDB. If length is omitted, all characters in the FDB from the current column position to the next delimiter are returned.\"},{\"Name\":\"FILEEXIST\",\"Definition\":\"Verifies the existence of an external file by its physical name.\",\"Parameter1\":\"file-name\",\"Description1\":\"Is a character constant, variable, or expression that specifies a fully qualified physical filename of the external file in the operating environment.\"},{\"Name\":\"FILENAME\",\"Definition\":\"Assigns or deassigns a fileref to an external file, directory, or output device.\",\"Parameter1\":\"fileref&lt;\",\"Description1\":\"Specifies the fileref to assign to the external file.\",\"Parameter2\":\"file-name&gt;&lt;\",\"Description2\":\"Is a character constant, variable, or expression that specifies the external file.\",\"Parameter3\":\"device-type&gt;&lt;\",\"Description3\":\"Is a character constant, variable, or expression that specifies the type of device. Valid values: DISK, PRINTER, TEMP, DUMMY, PIPE, PLOTTER, TAPE, TERMINAL, GTERM, UPRINTER.\",\"Parameter4\":\"host-options&gt;&lt;\",\"Description4\":\"Specifies host-specific details such as file attributes and processing attributes.\",\"Parameter5\":\"dir-ref&gt;\",\"Description5\":\"Specifies the fileref that was assigned to the directory or partitioned data set in which the external file resides.\"},{\"Name\":\"FILEREF\",\"Definition\":\"Verifies whether a fileref has been assigned for the current SAS session.\",\"Parameter1\":\"fileref\",\"Description1\":\"Is a character constant, variable, or expression that specifies the fileref to be validated. Range: 1 to 8 character.\"},{\"Name\":\"FINANCE\",\"Definition\":\"Computes financial calculations such as depreciation, maturation, accrued interest, net present value, periodic savings, and internal rates of return.\",\"Parameter1\":\"string-identifier\",\"Description1\":\"Specifies a character constant, variable, or expression. Refer to the SAS documentation for valid values of the string-identifier.\",\"Parameter2\":\"parm1, parm2, ...\",\"Description2\":\"Specifies a parameter that is associated with each string-identifier.\"},{\"Name\":\"FIND*1\",\"Definition\":\"Searches for a specific substring of characters within a character string.\",\"Parameter1\":\"string\",\"Description1\":\"Specifies a character constant, variable, or expression that will be searched for substrings. Enclose a literal string of characters in quotation marks.\",\"Parameter2\":\"substring&lt;\",\"Description2\":\"Is a character constant, variable, or expression that specifies the substring of characters to search for in string. Enclose a literal string of characters in quotation marks.\",\"Parameter3\":\"modifiers&gt;&lt;\",\"Description3\":\"Is a character constant, variable, or expression that specifies one or more modifiers. The following modifiers can be in uppercase or lowercase: i (ignore character case), t (trim trailing blanks from string and substring).\",\"Parameter4\":\"startpos&gt;\",\"Description4\":\"Is a numeric constant, variable, or expression with an integer value that specifies the position at which the search should start and the direction of the search.\"},{\"Name\":\"FIND*2\",\"Definition\":\"Searches for a specific substring of characters within a character string.\",\"Parameter1\":\"string\",\"Description1\":\"Specifies a character constant, variable, or expression that will be searched for substrings. Enclose a literal string of characters in quotation marks.\",\"Parameter2\":\"substring&lt;\",\"Description2\":\"Is a character constant, variable, or expression that specifies the substring of characters to search for in string. Enclose a literal string of characters in quotation marks.\",\"Parameter3\":\"startpos&gt;&lt;\",\"Description3\":\"Is a numeric constant, variable, or expression with an integer value that specifies the position at which the search should start and the direction of the search.\",\"Parameter4\":\"modifiers&gt;\",\"Description4\":\"Is a character constant, variable, or expression that specifies one or more modifiers. The following modifiers can be in uppercase or lowercase: i (ignore character case), t (trim trailing blanks from string and substring).\"},{\"Name\":\"FINDC*1\",\"Definition\":\"Searches a string for any character in a list of characters.\",\"Parameter1\":\"string&lt;\",\"Description1\":\"Is a character constant, variable, or expression that specifies the character string to be searched. Enclose a literal string of characters in quotation marks.\",\"Parameter2\":\"charlist&gt;\",\"Description2\":\"Is an optional constant, variable, or character expression that initializes a list of characters. FINDC searches for the characters in this list provided that you do not specify the K modifier in the modifier argument.\"},{\"Name\":\"FINDC*2\",\"Definition\":\"Searches a string for any character in a list of characters.\",\"Parameter1\":\"string\",\"Description1\":\"Is a character constant, variable, or expression that specifies the character string to be searched. Enclose a literal string of characters in quotation marks.\",\"Parameter2\":\"charlist&lt;\",\"Description2\":\"Is an optional constant, variable, or character expression that initializes a list of characters. FINDC searches for the characters in this list provided that you do not specify the K modifier in the modifier argument.\",\"Parameter3\":\"modifier(s)&gt;\",\"Description3\":\"Is an optional character constant, variable, or expression in which each character modifies the action of the FINDC function. Refer to SAS documentation for list of valid modifiers.\"},{\"Name\":\"FINDC*3\",\"Definition\":\"Searches a string for any character in a list of characters.\",\"Parameter1\":\"string\",\"Description1\":\"Is a character constant, variable, or expression that specifies the character string to be searched. Enclose a literal string of characters in quotation marks.\",\"Parameter2\":\"charlist\",\"Description2\":\"Is an optional constant, variable, or character expression that initializes a list of characters. FINDC searches for the characters in this list provided that you do not specify the K modifier in the modifier argument.\",\"Parameter3\":\"modifier(s)&lt;\",\"Description3\":\"Is an optional character constant, variable, or expression in which each character modifies the action of the FINDC function. Refer to SAS documentation for list of valid modifiers.\",\"Parameter4\":\"startpos&gt;\",\"Description4\":\"Is an optional numeric constant, variable, or expression having an integer value that specifies the position at which the search should start and the direction in which to search.\"},{\"Name\":\"FINDC*4\",\"Definition\":\"Searches a string for any character in a list of characters.\",\"Parameter1\":\"string\",\"Description1\":\"Is a character constant, variable, or expression that specifies the character string to be searched. Enclose a literal string of characters in quotation marks.\",\"Parameter2\":\"charlist\",\"Description2\":\"Is an optional constant, variable, or character expression that initializes a list of characters. FINDC searches for the characters in this list provided that you do not specify the K modifier in the modifier argument.\",\"Parameter3\":\"&lt;startpos&gt;\",\"Description3\":\"Is an optional numeric constant, variable, or expression having an integer value that specifies the position at which the search should start and the direction in which to search.\",\"Parameter4\":\"modifier(s)&gt;\",\"Description4\":\"Is an optional character constant, variable, or expression in which each character modifies the action of the FINDC function. Refer to SAS documentation for list of valid modifiers.\"},{\"Name\":\"FINDW*1\",\"Definition\":\"Returns the character position of a word in a string, or returns the number of the word in a string.\",\"Parameter1\":\"string\",\"Description1\":\"Is a character constant, variable, or expression that specifies the character string to be searched.\",\"Parameter2\":\"word&lt;\",\"Description2\":\"Is a character constant, variable, or expression that specifies the word to be searched.\",\"Parameter3\":\"chars&gt;\",\"Description3\":\"Is an optional character constant, variable, or expression that initializes a list of characters. The characters in this list are the delimiters that separate words, provided that you do not specify the K modifier in the modifier argument.\"},{\"Name\":\"FINDW*2\",\"Definition\":\"Returns the character position of a word in a string, or returns the number of the word in a string.\",\"Parameter1\":\"string\",\"Description1\":\"Is a character constant, variable, or expression that specifies the character string to be searched.\",\"Parameter2\":\"word\",\"Description2\":\"Is a character constant, variable, or expression that specifies the word to be searched.\",\"Parameter3\":\"chars\",\"Description3\":\"Is an optional character constant, variable, or expression that initializes a list of characters. The characters in this list are the delimiters that separate words, provided that you do not specify the K modifier in the modifier argument.\",\"Parameter4\":\"modifier(s)&lt;\",\"Description4\":\"Specifies a character constant, variable, or expression in which each non-blank character modifies the action of the FINDW function. Refer to SAS documentation for list of valid modifiers.\",\"Parameter5\":\"startpos&gt;\",\"Description5\":\"Is an optional numeric constant, variable, or expression with an integer value that specifies the position at which the search should begin and the direction in which to search.\"},{\"Name\":\"FINDW*3\",\"Definition\":\"Returns the character position of a word in a string, or returns the number of the word in a string.\",\"Parameter1\":\"string\",\"Description1\":\"Is a character constant, variable, or expression that specifies the character string to be searched.\",\"Parameter2\":\"word\",\"Description2\":\"Is a character constant, variable, or expression that specifies the word to be searched.\",\"Parameter3\":\"chars\",\"Description3\":\"Is an optional character constant, variable, or expression that initializes a list of characters. The characters in this list are the delimiters that separate words, provided that you do not specify the K modifier in the modifier argument.\",\"Parameter4\":\"startpos&lt;\",\"Description4\":\"Is an optional numeric constant, variable, or expression with an integer value that specifies the position at which the search should begin and the direction in which to search.\",\"Parameter5\":\"modifier(s)&gt;\",\"Description5\":\"Specifies a character constant, variable, or expression in which each non-blank character modifies the action of the FINDW function. Refer to SAS documentation for list of valid modifiers.\"},{\"Name\":\"FINDW*4\",\"Definition\":\"Returns the character position of a word in a string, or returns the number of the word in a string.\",\"Parameter1\":\"string\",\"Description1\":\"Is a character constant, variable, or expression that specifies the character string to be searched.\",\"Parameter2\":\"word\",\"Description2\":\"Is a character constant, variable, or expression that specifies the word to be searched.\",\"Parameter3\":\"startpos&lt;\",\"Description3\":\"Is an optional numeric constant, variable, or expression with an integer value that specifies the position at which the search should begin and the direction in which to search.\",\"Parameter4\":\"chars&lt;\",\"Description4\":\"Is an optional character constant, variable, or expression that initializes a list of characters. The characters in this list are the delimiters that separate words, provided that you do not specify the K modifier in the modifier argument.\",\"Parameter5\":\"modifier(s)&gt;&gt;\",\"Description5\":\"Specifies a character constant, variable, or expression in which each non-blank character modifies the action of the FINDW function. Refer to SAS documentation for list of valid modifiers.\"},{\"Name\":\"FINFO\",\"Definition\":\"Returns the value of a file information item.\",\"Parameter1\":\"file-id\",\"Description1\":\"Is a numeric constant, variable, or expression that specifies the identifier that was assigned when the file was opened, generally by the FOPEN function.\",\"Parameter2\":\"info-item\",\"Description2\":\"Is a character constant, variable, or expression that specifies the name of the file information item to be retrieved.\"},{\"Name\":\"FINV\",\"Definition\":\"Returns a quantile from the F distribution.\",\"Parameter1\":\"p\",\"Description1\":\"Is a numeric probability. Range: 0 \\u2264 p &lt; 1.\",\"Parameter2\":\"ndf\",\"Description2\":\"Is a numeric numerator degrees of freedom parameter. Range: ndf &gt; 0.\",\"Parameter3\":\"ddf&lt;\",\"Description3\":\"Is a numeric denominator degrees of freedom parameter. Range: ddf &gt; 0.\",\"Parameter4\":\"nc&gt;\",\"Description4\":\"Is an optional numeric noncentrality parameter. Range: nc \\u2265 0.\"},{\"Name\":\"FIPNAME\",\"Definition\":\"Converts two-digit FIPS codes to uppercase state names.\",\"Parameter1\":\"expression\",\"Description1\":\"Specifies a numeric constant, variable, or expression that represents a U.S. FIPS code.\"},{\"Name\":\"FIPNAMEL\",\"Definition\":\"Converts two-digit FIPS codes to mixed case state names.\",\"Parameter1\":\"expression\",\"Description1\":\"Specifies a numeric constant, variable, or expression that represents a U.S. FIPS code.\"},{\"Name\":\"FIPSTATE\",\"Definition\":\"Converts two-digit FIPS codes to two-character state postal codes.\",\"Parameter1\":\"expression\",\"Description1\":\"Specifies a numeric constant, variable, or expression that represents a U.S. FIPS code.\"},{\"Name\":\"FIRST\",\"Definition\":\"Returns the first character in a character string.\",\"Parameter1\":\"string\",\"Description1\":\"Specifies a character string.\"},{\"Name\":\"FLOOR\",\"Definition\":\"Returns the largest integer less than or equal to a numeric value expression. \\n    \\nReturn value data type: DOUBLE\",\"Parameter1\":\"expression\",\"Description1\":\"Specifies any valid expression that evaluates to a numeric value.\\n\\nValid data types: DOUBLE\"},{\"Name\":\"FLOORZ\",\"Definition\":\"Returns the largest integer that is less than or equal to the argument, using zero fuzzing. \\n    \\nCategory: Truncation  \\nReturn value data type: DOUBLE\",\"Parameter1\":\"expression\",\"Description1\":\"Specifies any valid expression that evaluates to a numeric value.\\n\\nValid data types: DOUBLE\"},{\"Name\":\"FNONCT\",\"Definition\":\"Returns the value of the noncentrality parameter of an F distribution.\",\"Parameter1\":\"x\",\"Description1\":\"Is a numeric random variable. Range: x \\u2265 0.\",\"Parameter2\":\"ndf\",\"Description2\":\"Is a numeric numerator degree of freedom parameter. Range: ndf &gt; 0.\",\"Parameter3\":\"ddf\",\"Description3\":\"Is a numeric denominator degree of freedom parameter. Range: ddf &gt; 0.\",\"Parameter4\":\"prob\",\"Description4\":\"Is a probability. Range: 0 &lt; prob &lt; 1.\"},{\"Name\":\"FNOTE\",\"Definition\":\"Identifies the last record that was read, and returns a value that the FPOINT function can use.\",\"Parameter1\":\"file-id\",\"Description1\":\"Is a numeric constant, variable, or expression that specifies the identifier that was assigned when the file was opened, generally by the FOPEN function.\"},{\"Name\":\"FOPEN\",\"Definition\":\"Opens an external file and returns a file identifier value.\",\"Parameter1\":\"fileref&lt;\",\"Description1\":\"Is a character constant, variable, or expression that specifies the fileref assigned to the external file.\",\"Parameter2\":\"open-mode\",\"Description2\":\"Is a character constant, variable, or expression that specifies the type of access to the file: A (APPEND mode writes new records at end of file), I (INPUT mode allows reading only), O (OUTPUT mode allows writing new records at beginning of file), S (SEQUENTIAL input mode for pipes or ports), U (UPDATE mode allows both reading and writing).\",\"Parameter3\":\"record-length\",\"Description3\":\"Is a numeric constant, variable, or expression that specifies the logical record length of the file.\",\"Parameter4\":\"record-format\",\"Description4\":\"Is a character constant, variable, or expression that specifies the record format of the file. Valid values: B (binary), D (default format), E (editable), F(fixed-length records), P (contains printer carriage control), V (variable-length records).\"},{\"Name\":\"FOPTNAME\",\"Definition\":\"Returns the name of an item of information about a file.\",\"Parameter1\":\"file-id\",\"Description1\":\"Is a numeric variable that specifies the identifier that was assigned when the file was opened, generally by the FOPEN function.\",\"Parameter2\":\"nval\",\"Description2\":\"Is a numeric constant, variable, or expression that specifies the number of the information item.\"},{\"Name\":\"FOPTNUM\",\"Definition\":\"Returns the number of information items that are available for an external file.\",\"Parameter1\":\"file-id\",\"Description1\":\"Is a numeric variable that specifies the identifier that was assigned when the file was opened, generally by the FOPEN function.\"},{\"Name\":\"FPOINT\",\"Definition\":\"Positions the read pointer on the next record to be read.\",\"Parameter1\":\"file-id\",\"Description1\":\"Is a numeric variable that specifies the identifier that was assigned when the file was opened, generally by the FOPEN function.\",\"Parameter2\":\"note-id\",\"Description2\":\"Specifies the identifier that was assigned by the FNOTE function.\"},{\"Name\":\"FPOS\",\"Definition\":\"Sets the position of the column pointer in the File Data Buffer (FDB).\",\"Parameter1\":\"file-id\",\"Description1\":\"Is a numeric variable that specifies the identifier that was assigned when the file was opened, generally by the FOPEN function.\",\"Parameter2\":\"nval\",\"Description2\":\"Is a numeric constant, variable, or expression that specifies the column at which to set the pointer.\"},{\"Name\":\"FPUT\",\"Definition\":\"Moves data to the File Data Buffer (FDB) of an external file, starting at the FDB's current column position.\",\"Parameter1\":\"file-id\",\"Description1\":\"Is a numeric variable that specifies the identifier that was assigned when the file was opened, generally by the FOPEN function.\",\"Parameter2\":\"cval\",\"Description2\":\"Is a character constant, variable, or expression that specifies the file data.\"},{\"Name\":\"FREAD\",\"Definition\":\"Reads a record from an external file into the File Data Buffer (FDB).\",\"Parameter1\":\"file-id\",\"Description1\":\"Is a numeric variable that specifies the identifier that was assigned when the file was opened, generally by the FOPEN function.\"},{\"Name\":\"FREWIND\",\"Definition\":\"Positions the file pointer to the start of the file.\",\"Parameter1\":\"file-id\",\"Description1\":\"Is a numeric variable that specifies the identifier that was assigned when the file was opened, generally by the FOPEN function.\"},{\"Name\":\"FRLEN\",\"Definition\":\"Returns the size of the last record that was read, or, if the file is opened for output, returns the current record size.\",\"Parameter1\":\"file-id\",\"Description1\":\"Is a numeric variable that specifies the identifier that was assigned when the file was opened, generally by the FOPEN function.\"},{\"Name\":\"FSEP\",\"Definition\":\"Sets the token delimiters for the FGET function.\",\"Parameter1\":\"file-id\",\"Description1\":\"Is a numeric variable that specifies the identifier that was assigned when the file was opened, generally by the FOPEN function.\",\"Parameter2\":\"character(s)&lt;\",\"Description2\":\"Is a character constant, variable, or expression that specifies one or more delimiters that separate items in the File Data Buffer (FDB).\",\"Parameter3\":\"'x' | 'X'&gt;\",\"Description3\":\"Specifies that the character delimiter is a hexadecimal value.\"},{\"Name\":\"FUZZ\",\"Definition\":\"Returns the nearest integer if the argument is within 1E-12 of that integer. \\n    \\nReturn value data type: DOUBLE\",\"Parameter1\":\"expression\",\"Description1\":\"Specifies any valid expression that evaluates to a numeric value.\\n\\nValid data types: DOUBLE\"},{\"Name\":\"FWRITE\",\"Definition\":\"Writes a record to an external file.\",\"Parameter1\":\"file-id&lt;\",\"Description1\":\"Is a numeric variable that specifies the identifier that was assigned when the file was opened, generally by the FOPEN function.\",\"Parameter2\":\"cc&gt;\",\"Description2\":\"Is a character constant, variable, or expression that specifies a carriage-control character: blank (start record on a new line), 0 (skip one blank line), - (skip two blanks), 1 (start a new page), + (overstrike a previous line), P (computer prompt), = (contains carriage control info), all else (start a new line).\"},{\"Name\":\"GAMINV\",\"Definition\":\"Returns a quantile from the gamma distribution.\",\"Parameter1\":\"p\",\"Description1\":\"Is a numeric probability. Range: 0 \\u2264 p &lt; 1.\",\"Parameter2\":\"a\",\"Description2\":\"Is a numeric shape parameter. Range: a &gt; 0.\"},{\"Name\":\"GAMMA\",\"Definition\":\"Returns the value of the gamma function. \\n    \\nReturn value data type: DOUBLE\",\"Parameter1\":\"expression\",\"Description1\":\"Specifies any valid expression that evaluates to a numeric value. \\n\\nRestriction: Nonpositive integers are invalid. \\nValid data types: DOUBLE\"},{\"Name\":\"GARKHCLPRC\",\"Definition\":\"Calculates call prices for European options on stocks, based on the Garman-Kohlhagen model.\",\"Parameter1\":\"E\",\"Description1\":\"Is a non-missing, positive value that specifies the exercise price. Specify E and S in the same units.\",\"Parameter2\":\"t\",\"Description2\":\"Is a non-missing value that specifies the time to maturity.\",\"Parameter3\":\"S\",\"Description3\":\"Is a non-missing, positive value that specifies the spot currency price. Specify S and E in the same units.\",\"Parameter4\":\"Rd\",\"Description4\":\"Is a non-missing, positive fraction that specifies the risk-free domestic interest rate for period t. Specify a value for Rd for the same time period as the unit of t.\",\"Parameter5\":\"Rf\",\"Description5\":\"Is a non-missing, positive fraction that specifies the risk-free foreign interest rate for period t. Specify a value for Rf for the same time period as the unit of t.\",\"Parameter6\":\"sigma\",\"Description6\":\"Is a non-missing, positive fraction that specifies the volatility of the currency rate. Specify a value for sigma for the same time period as the unit of t.\"},{\"Name\":\"GARKHPTPRC\",\"Definition\":\"Calculates put prices for European options on stocks, based on the Garman-Kohlhagen model.\",\"Parameter1\":\"E\",\"Description1\":\"Is a non-missing, positive value that specifies the exercise price. Specify E and S in the same units.\",\"Parameter2\":\"t\",\"Description2\":\"Is a non-missing value that specifies the time to maturity.\",\"Parameter3\":\"S\",\"Description3\":\"Is a non-missing, positive value that specifies the spot currency price. Specify S and E in the same units.\",\"Parameter4\":\"Rd\",\"Description4\":\"Is a non-missing, positive fraction that specifies the risk-free domestic interest rate for period t. Specify a value for Rd for the same time period as the unit of t.\",\"Parameter5\":\"Rf\",\"Description5\":\"Is a non-missing, positive fraction that specifies the risk-free foreign interest rate for period t. Specify a value for Rf for the same time period as the unit of t.\",\"Parameter6\":\"sigma\",\"Description6\":\"Is a non-missing, positive fraction that specifies the volatility of the currency rate. Specify a value for sigma for the same time period as the unit of t.\"},{\"Name\":\"GCD\",\"Definition\":\"Returns the greatest common divisor for one or more integers. \\n    \\nRequirements: At least two arguments are required.   \\nReturn value data type: DOUBLE\",\"Parameter1\":\"expression-1\",\"Description1\":\"Specifies any valid expression that evaluates to a numeric value.\\n    \\nValid data types: DOUBLE\",\"Parameter2\":\"expression-2 [, ... expression-n ]\",\"Description2\":\"Specifies any valid expression that evaluates to a numeric value.\\n    \\nValid data types: DOUBLE\"},{\"Name\":\"GEODIST\",\"Definition\":\"Returns the geodetic distance between two latitude and longitude coordinates.\",\"Parameter1\":\"latitude-1\",\"Description1\":\"Is a numeric constant, variable, or expression that specifies the coordinate of a given position north or south of the equator.\",\"Parameter2\":\"longitude-1\",\"Description2\":\"Is a numeric constant, variable, or expression that specifies the coordinate of a given position east or west of the prime meridian, which runs through Greenwich, England.\",\"Parameter3\":\"latitude-2\",\"Description3\":\"Is a numeric constant, variable, or expression that specifies the coordinate of a given position north or south of the equator.\",\"Parameter4\":\"longitude-2&lt;\",\"Description4\":\"Is a numeric constant, variable, or expression that specifies the coordinate of a given position east or west of the prime meridian, which runs through Greenwich, England.\",\"Parameter5\":\"option(s)&gt;\",\"Description5\":\"Specifies a character constant, variable, or expression that contains any of the following characters: M (distance in miles), K (distance in kilometers), D (input values in degrees), R (input values in radians).\"},{\"Name\":\"GEOMEAN\",\"Definition\":\"Returns the geometric mean. \\n    \\nReturn value data type: DOUBLE\",\"Parameter1\":\"expression [, ....expression ]\",\"Description1\":\"Specifies any valid expression that evaluates to a non-negative numeric value.\\n\\nValid data types: DOUBLE\"},{\"Name\":\"GEOMEANZ\",\"Definition\":\"Returns the geometric mean, using zero fuzzing. \\n    \\nReturn value data type: DOUBLE\",\"Parameter1\":\"expression [, ... expression ]\",\"Description1\":\"Specifies any valid expression that evaluates to a non-negative numeric value.\\n\\nValid data types: DOUBLE\"},{\"Name\":\"GETOPTION\",\"Definition\":\"Returns the value of a SAS system or graphics option.\",\"Parameter1\":\"option-name&lt;\",\"Description1\":\"Is a character constant, variable, or expression that specifies the name of the system option (without the equal sign).\",\"Parameter2\":\"reporting-options&lt;, ...&gt;&gt;\",\"Description2\":\"Is a character constant, variable, or expression that specifies the reporting options. Refer to SAS documentation for the list of valid reporting options.\"},{\"Name\":\"GETVARC\",\"Definition\":\"Returns the value of a SAS data set character variable.\",\"Parameter1\":\"data-set-id\",\"Description1\":\"Is a numeric constant, variable, or expression that specifies the data set identifier that the OPEN function returns.\",\"Parameter2\":\"var-num\",\"Description2\":\"Is a numeric constant, variable, or expression that specifies the number of the variable in the Data Set Data Vector (DDV). You can obtain this value by using the VARNUM function.\"},{\"Name\":\"GETVARN\",\"Definition\":\"Returns the value of a SAS data set numeric variable.\",\"Parameter1\":\"data-set-id\",\"Description1\":\"Is a numeric constant, variable, or expression that specifies the data set identifier that the OPEN function returns.\",\"Parameter2\":\"var-num\",\"Description2\":\"Is a numeric constant, variable, or expression that specifies the number of the variable in the Data Set Data Vector (DDV). You can obtain this value by using the VARNUM function.\"},{\"Name\":\"HARMEAN\",\"Definition\":\"Returns the harmonic mean. \\n    \\nReturn value data type: DOUBLE\",\"Parameter1\":\"expression [, ...expression ]\",\"Description1\":\"Specifies any valid expression that evaluates to a non-negative numeric value.\\n\\nValid data types: DOUBLE\"},{\"Name\":\"HARMEANZ\",\"Definition\":\"Returns the harmonic mean, using zero fuzzing. \\n    \\nReturn value data type: DOUBLE\",\"Parameter1\":\"expression [, ...expression ]\",\"Description1\":\"Specifies any valid expression that evaluates to a non-negative numeric value.\\n\\nValid data types: DOUBLE\"},{\"Name\":\"HBOUND*1\",\"Definition\":\"Returns the upper bound of an array. n is an optional integer constant that specifies the dimension for which you want to know the upper bound. If no n value is specified, the HBOUND function returns the upper bound of the first dimension of the array.\",\"Parameter1\":\"array-name\",\"Description1\":\"Is the name of an array that was defined previously in the same DATA step.\"},{\"Name\":\"HBOUND*2\",\"Definition\":\"Returns the upper bound of an array. n is an optional integer constant that specifies the dimension for which you want to know the upper bound. If no n value is specified, the HBOUND function returns the upper bound of the first dimension of the array.\",\"Parameter1\":\"array-name\",\"Description1\":\"Is the name of an array that was defined previously in the same DATA step.\",\"Parameter2\":\"bound-n\",\"Description2\":\"Is a numeric constant, variable, or expression that specifies the dimension for which you want to know the upper bound. Use bound-n only if n is not specified.\"},{\"Name\":\"HMS\",\"Definition\":\"Returns a SAS time value from hour, minute, and second values. \\n    \\nReturn value data type: DOUBLE\",\"Parameter1\":\"hour\",\"Description1\":\"Specifies a numeric expression that represents an integer from 1 through 12.\\n\\nValid data types: DOUBLE\",\"Parameter2\":\"minute\",\"Description2\":\"Specifies a numeric expression that represents an integer from 1 through 59. \\n\\nValid data types: DOUBLE\",\"Parameter3\":\"second\",\"Description3\":\"Specifies a numeric expression that represents an integer from 1 through 59.\\n\\nValid data types: DOUBLE\"},{\"Name\":\"HOLIDAY\",\"Definition\":\"Returns a SAS date value of a specified holiday for a specified year.\",\"Parameter1\":\"'holiday'\",\"Description1\":\"Is a character constant, variable, or expression that specifies one of the holiday values recognized by SAS (refer to SAS documentation for the list).\",\"Parameter2\":\"year\",\"Description2\":\"Is a numeric constant, variable, or expression that specifies a four-digit year. If you use a two-digit year, then you must specify the YEARCUTOFF= system option.\"},{\"Name\":\"HOUR\",\"Definition\":\"Returns the hour from a SAS time or datetime value. \\n    \\nReturn value data type: DOUBLE\",\"Parameter1\":\"[ time | datetime ]\",\"Description1\":\"time\\nspecifies any valid expression that represents a SAS time value.\\n\\nValid data types: DOUBLE \\n\\ndatetime \\nspecifies any valid expression that represents a SAS datetime value.\\n\\nValid data types: DOUBLE\"},{\"Name\":\"HTMLDECODE\",\"Definition\":\"Decodes a string that contains HTML numeric character references or HTML character entity references, and returns the decoded string.\",\"Parameter1\":\"expression\",\"Description1\":\"Specifies a character constant, variable, or expression.\"},{\"Name\":\"HTMLENCODE\",\"Definition\":\"Encodes characters using HTML character entity references, and returns the encoded string.\",\"Parameter1\":\"expression&lt;\",\"Description1\":\"Specifies a character constant, variable, or expression.\",\"Parameter2\":\"options&gt;\",\"Description2\":\"Is a character constant, variable, or expression that specifies the type of characters to encode. If you use more than one option, separate the options by spaces (eg. 'amp gt lt apos quot').\"},{\"Name\":\"IBESSEL\",\"Definition\":\"Returns the value of the modified Bessel function.\",\"Parameter1\":\"nu\",\"Description1\":\"Specifies a numeric constant, variable, or expression. Range: V \\u2265 0.\",\"Parameter2\":\"x\",\"Description2\":\"Specifies a numeric constant, variable, or expression. Range: x \\u2265 0.\",\"Parameter3\":\"kode\",\"Description3\":\"Is a numeric constant, variable, or expression that specifies a nonnegative integer.\"},{\"Name\":\"IFC\",\"Definition\":\"Returns a character value based on whether an expression is true, false, or missing.\",\"Parameter1\":\"logical-expression\",\"Description1\":\"Specifies a numeric constant, variable, or expression.\",\"Parameter2\":\"value-returned-when-true\",\"Description2\":\"Specifies a character constant, variable, or expression that is returned when the value of logical-expression is true.\",\"Parameter3\":\"value-returned-when-false&lt;\",\"Description3\":\"Specifies a character constant, variable, or expression that is returned when the value of logical-expression is false.\",\"Parameter4\":\"value-returned-when-missing&gt;\",\"Description4\":\"Specifies a character constant, variable, or expression that is returned when the value of logical-expression is missing.\"},{\"Name\":\"IFN\",\"Definition\":\"Returns a numeric value based on whether an expression is true, false, or missing.\",\"Parameter1\":\"logical-expression\",\"Description1\":\"Specifies a numeric constant, variable, or expression.\",\"Parameter2\":\"value-returned-when-true\",\"Description2\":\"Specifies a numeric constant, variable, or expression that is returned when the value of logical-expression is true.\",\"Parameter3\":\"value-returned-when-false&lt;\",\"Description3\":\"Specifies a numeric constant, variable, or expression that is returned when the value of logical-expression is false.\",\"Parameter4\":\"value-returned-when-missing&gt;\",\"Description4\":\"Specifies a numeric constant, variable or expression that is returned when the value of logical-expression is missing.\"},{\"Name\":\"INDEX\",\"Definition\":\"Searches a character expression for a string of characters, and returns the position \\nof the string's first character for the first occurrence of the string. \\n\\nReturn value data type: DOUBLE\",\"Parameter1\":\"target-expression\",\"Description1\":\"Specifies any valid expression that evaluates to a character string.\\n\\nValid data types: NCHAR\",\"Parameter2\":\"search-expression\",\"Description2\":\"Specifies any valid expression that evaluates to a character string to search for \\nin target-expression.\\n\\nValid data types: NCHAR \\nTip: Enclose a literal string of characters in single quotation marks.\"},{\"Name\":\"INDEXC\",\"Definition\":\"Searches a character expression for specified characters and returns the position of the \\nfirst occurrence of any of the characters. \\n\\nReturn value data type: DOUBLE\",\"Parameter1\":\"target-expression\",\"Description1\":\"Specifies any valid expression that evaluates to a character string that is searched.\\n\\nValid data types: NCHAR\",\"Parameter2\":\"search-expression [, ...search-expression ]\",\"Description2\":\"Specifies the characters to search for in target-expression.\\n\\nValid data types: NCHAR\"},{\"Name\":\"INDEXW\",\"Definition\":\"Searches a character expression for a string that is specified as a word, and returns the position of the first character in the word.\",\"Parameter1\":\"target-expression\",\"Description1\":\"Specifies any valid expression that evaluates to a character string that is searched.\\n\\nValid data types: NCHAR\",\"Parameter2\":\"search-expression [\",\"Description2\":\"Specifies any valid expression that evaluates to a character string and that is searched for \\nin target-expression. SAS removes the leading and trailing delimiters from search-expression.\\n\\nValid data types: NCHAR \\n\\nTip: INDEXW has the following behavior when search-expression contains blank spaces or \\nhas a length of 0: \\nIf both target-expression and search-expression contain only blank spaces or have a length \\nof 0, then INDEXW returns a value of 1. \\n\\nIf search-expression contains only blank spaces or has a length of 0, and target-expression \\ncontains character or numeric data, then INDEXW returns a value of 0.\\n \\n\",\"Parameter3\":\"delimiter ]\",\"Description3\":\"Specifies a character expression that you want INDEXW to use as a word separator in the \\ncharacter strings. The default delimiter is the blank character. \\n\\nTip: If the blank character is a delimiter, order it so that it is not the last character \\nin delimiter. Trailing blanks are ignored because delimiter is trimmed of trailing blanks. \\n\\nValid data types: NCHAR\"},{\"Name\":\"INPUT\",\"Definition\":\"Returns the value that is produced when SAS converts an expression using the specified informat.\",\"Parameter1\":\"source\",\"Description1\":\"Specifies a character constant, variable, or expression to which you want to apply a specific informat.\",\"Parameter2\":\"&lt;? | ??&gt;informat.\",\"Description2\":\"The SAS informat you want to apply to the source. The optional ? and ?? modifiers suppress error messages and input lines when invalid data are read.\"},{\"Name\":\"INPUTC\",\"Definition\":\"Enables you to specify a character informat at run time.\",\"Parameter1\":\"source\",\"Description1\":\"Specifies a character constant, variable, or expression to which you want to apply the informat.\",\"Parameter2\":\"informat&lt;\",\"Description2\":\"Is a character constant, variable, or expression that contains the character informat you want to apply to source.\",\"Parameter3\":\"w&gt;\",\"Description3\":\"Is a numeric constant, variable, or expression that specifies a width to apply to the informat.\"},{\"Name\":\"INPUTN\",\"Definition\":\"Enables you to specify a numeric informat at run time.\",\"Parameter1\":\"source\",\"Description1\":\"Specifies a character constant, variable, or expression to which you want to apply the informat.\",\"Parameter2\":\"informat&lt;\",\"Description2\":\"Is a character constant, variable or expression that contains the numeric informat you want to apply to source.\",\"Parameter3\":\"w&lt;\",\"Description3\":\"Is a numeric constant, variable, or expression that specifies a width to apply to the informat.\",\"Parameter4\":\"d&gt;&gt;\",\"Description4\":\"Is a numeric constant, variable, or expression that specifies the number of decimal places to use.\"},{\"Name\":\"INT\",\"Definition\":\"Returns the integer value, fuzzed to avoid unexpected floating-point results. \\n    \\nReturn value data type: DOUBLE\",\"Parameter1\":\"expression\",\"Description1\":\"Specifies any expression that evaluates to a numeric value.\\n\\nValid data types: DOUBLE\"},{\"Name\":\"INTCINDEX\",\"Definition\":\"Returns the cycle index when a date, time, or datetime interval and value are specified.\",\"Parameter1\":\"interval&lt;&lt;multiple.&lt;shift-index&gt;&gt;&gt;\",\"Description1\":\"A three-part interval name (WEEK3.2, MONTH2.2, YEAR2.4, or QTR). For example, the interval name MONTH2.2 specifies bimonthly periods starting on the first day of even-numbered months.\",\"Parameter2\":\"date-time-value\",\"Description2\":\"Specifies a date, time, or datetime value that represents a time period of a specified interval.\"},{\"Name\":\"INTCK\",\"Definition\":\"Returns the count of the number of interval boundaries between two dates, two times, or two datetime values.\",\"Parameter1\":\"interval&lt;multiple&gt;&lt;.shift-index&gt;\",\"Description1\":\"A three-part interval name (WEEK3.2, MONTH2.2, YEAR2.4, or QTR.3). For example, the interval name MONTH2.2 specifies bimonthly periods starting on the first day of even-numbered months.\",\"Parameter2\":\"from\",\"Description2\":\"Specifies a SAS expression that represents the starting SAS date, time, or datetime value.\",\"Parameter3\":\"to\",\"Description3\":\"Specifies a SAS expression that represents the ending SAS date, time, or datetime value.\"},{\"Name\":\"INTCYCLE\",\"Definition\":\"Returns the date, time, or datetime interval at the next higher seasonal cycle when a date, time, or datetime interval is specified.\",\"Parameter1\":\"interval&lt;&lt;multiple.&lt;shift-index&gt;&gt;&gt;\",\"Description1\":\"A three-part interval name (WEEK3.2, MONTH2.2, YEAR2.4, or QTR.3). For example, the interval name MONTH2.2 specifies bimonthly periods starting on the first day of even-numbered months.\"},{\"Name\":\"INTFIT\",\"Definition\":\"Returns a time interval that is aligned between two dates.\",\"Parameter1\":\"expression-1\",\"Description1\":\"Specifies a SAS expression that represents a SAS date or datetime value, or an observation.\",\"Parameter2\":\"expression-2\",\"Description2\":\"Specifies a SAS expression that represents a SAS date or datetime value, or an observation.\",\"Parameter3\":\"'type'\",\"Description3\":\"Specifies whether the arguments are SAS date values, datetime values, or observations. Valid values: d (date), dt (datetime), obs (observations).\"},{\"Name\":\"INTFMT\",\"Definition\":\"Returns a recommended SAS format when a date, time, or datetime interval is specified.\",\"Parameter1\":\"interval&lt;&lt;multiple.&lt;shift-index&gt;&gt;&gt;\",\"Description1\":\"A three-part interval name (WEEK3.2, MONTH2.2, YEAR2.4, or QTR.3). For example, the interval name MONTH2.2 specifies bimonthly periods starting on the first day of even-numbered months.\",\"Parameter2\":\"'size'\",\"Description2\":\"Specifies either LONG or SHORT. When a format includes a year value, LONG or L specifies a format that uses a four-digit year. SHORT or S specifies a format that uses a two-digit year.\"},{\"Name\":\"INTGET\",\"Definition\":\"Returns a time interval based on three date or datetime values.\",\"Parameter1\":\"date-1\",\"Description1\":\"Specifies a SAS date or datetime value.\",\"Parameter2\":\"date-2\",\"Description2\":\"Specifies a SAS date or datetime value.\",\"Parameter3\":\"date-3\",\"Description3\":\"Specifies a SAS date or datetime value.\"},{\"Name\":\"INTINDEX\",\"Definition\":\"Returns the seasonal index when a date, time, or datetime interval and value are specified.\",\"Parameter1\":\"interval&lt;&lt;multiple.&lt;shift-index&gt;&gt;&gt;\",\"Description1\":\"A three-part interval name (WEEK3.2, MONTH2.2, YEAR2.4, or QTR.3). For example, the interval name MONTH2.2 specifies bimonthly periods starting on the first day of even-numbered months.\",\"Parameter2\":\"date-value\",\"Description2\":\"Specifies a date, time, or datetime value that represents a time period of the given interval.\"},{\"Name\":\"INTNX\",\"Definition\":\"Increments a date, time, or datetime value by a given time interval, and returns a date, time, or datetime value.\",\"Parameter1\":\"interval&lt;multiple&gt;&lt;.shift-index&gt;\",\"Description1\":\"A three-part interval name (WEEK3.2, MONTH2.2, YEAR2.4, or QTR.3). For example, the interval name MONTH2.2 specifies bimonthly periods starting on the first day of even-numbered months.\",\"Parameter2\":\"start-from\",\"Description2\":\"Specifies a SAS expression that represents a SAS date, time, or datetime value that identifies a starting point.\",\"Parameter3\":\"increment&lt;\",\"Description3\":\"Specifies a negative, positive, or zero integer that represents the number of date, time, or datetime intervals. Increment is the number of intervals to shift the value of start-from.\",\"Parameter4\":\"alignment&gt;\",\"Description4\":\"Controls the position of SAS dates within the interval. Alignment can be one of these values: BEGINNING|B, MIDDLE|M, END|E, SAME (as the input date).\"},{\"Name\":\"INTRR\",\"Definition\":\"Returns the internal rate of return as a fraction.\",\"Parameter1\":\"freq\",\"Description1\":\"Is numeric, the number of payments over a specified base period of time that is associated with the desired internal rate of return. Range: freq &gt; 0.\",\"Parameter2\":\"c0, c1, ..., cn\",\"Description2\":\"Are numeric, the optional cash payments.\"},{\"Name\":\"INTSEAS\",\"Definition\":\"Returns the length of the seasonal cycle when a date, time, or datetime interval is specified.\",\"Parameter1\":\"interval&lt;&lt;multiple.&lt;shift-index&gt;&gt;&gt;\",\"Description1\":\"A three-part interval name (WEEK3.2, MONTH2.2, YEAR2.4, or QTR.3). For example, the interval name MONTH2.2 specifies bimonthly periods starting on the first day of even-numbered months.\"},{\"Name\":\"INTSHIFT\",\"Definition\":\"Returns the shift interval that corresponds to the base interval.\",\"Parameter1\":\"interval&lt;&lt;multiple.&lt;shift-index&gt;&gt;&gt;\",\"Description1\":\"A three-part interval name (WEEK3.2, MONTH2.2, YEAR2.4, or QTR.3). For example, the interval name MONTH2.2 specifies bimonthly periods starting on the first day of even-numbered months.\"},{\"Name\":\"INTTEST\",\"Definition\":\"Returns 1 if a time interval is valid, and returns 0 if a time interval is invalid.\",\"Parameter1\":\"interval&lt;&lt;multiple.&lt;shift-index&gt;&gt;&gt;\",\"Description1\":\"A three-part interval name (WEEK3.2, MONTH2.2, YEAR2.4, or QTR.3). For example, the interval name MONTH2.2 specifies bimonthly periods starting on the first day of even-numbered months.\"},{\"Name\":\"INTZ\",\"Definition\":\"Returns the integer portion of the argument, using zero fuzzing. \\n    \\nReturn value data type: DOUBLE\",\"Parameter1\":\"expression\",\"Description1\":\"Specifies any valid expression that evaluates to a numeric value.\\n\\nValid data types: DOUBLE\"},{\"Name\":\"IQR\",\"Definition\":\"Returns the interquartile range. \\n    \\nReturn value data type: DOUBLE\",\"Parameter1\":[\"expression [\",\"...expression ]\"],\"Description1\":[\"Specifies any valid expression that evaluates to a numeric value.\\n\\nValid data types: DOUBLE\",\"Specifies any valid expression that evaluates to a numeric value.\\n\\nValid data types: DOUBLE\"]},{\"Name\":\"IORCMSG\",\"Definition\":\"Returns a formatted error message for _IORC_.\"},{\"Name\":\"IRR\",\"Definition\":\"Returns the internal rate of return as a percentage.\",\"Parameter1\":\"freq\",\"Description1\":\"Is numeric, the number of payments over a specified base period of time that is associated with the desired internal rate of return.\",\"Parameter2\":\"c0,c1, ...,cn\",\"Description2\":\"Are numeric, the optional cash payments.\"},{\"Name\":\"JBESSEL\",\"Definition\":\"Returns the value of the Bessel function.\",\"Parameter1\":\"nu\",\"Description1\":\"Specifies a numeric constant, variable, or expression. Range: V &gt; 0.\",\"Parameter2\":\"x\",\"Description2\":\"Specifies a numeric constant, variable, or expression. Range: x &gt; 0.\"},{\"Name\":\"JULDATE\",\"Definition\":\"Returns the Julian date from a SAS date value. \\n    \\nReturn value data type: DOUBLE\",\"Parameter1\":\"date\",\"Description1\":\"Specifies any valid expression that represents a SAS date value. \\n\\nValid data types: DOUBLE\"},{\"Name\":\"JULDATE7\",\"Definition\":\"Returns a seven-digit Julian date from a SAS date value. \\n    \\nReturn value data type: DOUBLE\",\"Parameter1\":\"date\",\"Description1\":\"Specifies any valid expression that represents a SAS date value.\\n\\nValid data types: DOUBLE\"},{\"Name\":\"KURTOSIS\",\"Definition\":\"Returns the kurtosis. \\n    \\nRequirement: At least four non-null or non-missing arguments are required. \\nOtherwise, the function returns a null or missing value.\\n\\nReturn value data type: DOUBLE\",\"Parameter1\":\"expression-1\",\"Description1\":\"Specifies any valid expression that evaluates to a numeric value.\\n\\nValid data types: DOUBLE\",\"Parameter2\":\"expression-2\",\"Description2\":\"Specifies any valid expression that evaluates to a numeric value.\\n\\nValid data types: DOUBLE\",\"Parameter3\":\"expression-3\",\"Description3\":\"Specifies any valid expression that evaluates to a numeric value.\\n\\nValid data types: DOUBLE\",\"Parameter4\":\"expression-4 [\",\"Description4\":\"Specifies any valid expression that evaluates to a numeric value.\\n\\nValid data types: DOUBLE\",\"Parameter5\":\"expression-n ]\",\"Description5\":\"Specifies any valid expression that evaluates to a numeric value.\\n\\nValid data types: DOUBLE\"},{\"Name\":\"LAG\",\"Definition\":\"Returns values from a queue. n specifies the number of lagged values.\",\"Parameter1\":\"argument\",\"Description1\":\"Specifies a numeric or character constant, variable, or expression.\",\"Parameter2\":null,\"Description2\":null,\"Parameter3\":null,\"Description3\":null,\"Parameter4\":null,\"Description4\":null},{\"Name\":\"LARGEST\",\"Definition\":\"Returns the kth largest non-missing value. \\n    \\nReturn value data type: DOUBLE\",\"Parameter1\":\"k\",\"Description1\":\"Specifies any valid expression that evaluates to a numeric value that represents \\nthe largest value to return. For example, if k is 2, the LARGEST function returns \\nthe second largest value from the list of expressions.\\n\\nValid data types: DOUBLE\",\"Parameter2\":[\"expression [\",\"...expression ]\"],\"Description2\":[\"Specifies any valid expression that evaluates to a numeric value and that is to be searched. \\n\\nValid data types: DOUBLE\",\"Specifies any valid expression that evaluates to a numeric value and that is to be searched.\\n\\nValid data types: DOUBLE\\n    \"]},{\"Name\":\"LBOUND*1\",\"Definition\":\"Returns the lower bound of an array. n is an optional integer constant that specifies the dimension for which you want to know the lower bound. If no n value is specified, the LBOUND function returns the lower bound of the first dimension of the array.\",\"Parameter1\":\"array-name\",\"Description1\":\"Is the name of an array that was defined previously in the same DATA step.\"},{\"Name\":\"LBOUND*2\",\"Definition\":\"Returns the lower bound of an array. n is an optional integer constant that specifies the dimension for which you want to know the lower bound. If no n value is specified, the LBOUND function returns the lower bound of the first dimension of the array.\",\"Parameter1\":\"array-name\",\"Description1\":\"Is the name of an array that was defined previously in the same DATA step.\",\"Parameter2\":\"bound-n\",\"Description2\":\"Is a numeric constant, variable, or expression that specifies the dimension for which you want to know the upper bound. Use bound-n only if n is not specified.\"},{\"Name\":\"LCM\",\"Definition\":\"Returns the least common multiple. \\n    \\nReturn value data type: DOUBLE\\n\\nRequirements: At least two arguments are required.\",\"Parameter1\":\"expression-1\",\"Description1\":\"Specifies any valid expression that evaluates to an integer.\\n\\nValid data types: DOUBLE\",\"Parameter2\":\"expression-2 [, ...expression-n ]\",\"Description2\":\"Specifies any valid expression that evaluates to an integer.\\n\\nValid data types: DOUBLE\"},{\"Name\":\"LCOMB\",\"Definition\":\"Computes the logarithm of the COMB function; that is, the logarithm of the number of combinations of n objects taken r at a time.\",\"Parameter1\":\"n\",\"Description1\":\"Is a non-negative integer that represents the total number of elements from which the sample is chosen.\",\"Parameter2\":\"r\",\"Description2\":\"Is a non-negative integer that represents the number of chosen elements. Restriction: r \\u2264 n.\"},{\"Name\":\"LEFT\",\"Definition\":\"Left-aligns a character string by removing leading blanks. \\n    \\nReturn value data type: VARCHAR, NVARCHAR\",\"Parameter1\":\"expression\",\"Description1\":\"Specifies any valid expression that evaluates to a character string.\\n\\nValid data types: CHAR, NCHAR\"},{\"Name\":\"QLEFT\",\"Definition\":\"Left-aligns a character string by removing leading blanks.\",\"Parameter1\":\"argument\",\"Description1\":\"Specifies a character constant, variable, or expression that might contain the following special characters and mnemonic operators: .\"},{\"Name\":\"LENGTH\",\"Definition\":\"Returns the length of a non-blank character string, excluding trailing blanks, and returns \\na 0 for a blank character string. \\n\\nReturn value data type: DOUBLE\",\"Parameter1\":\"expression\",\"Description1\":\"Specifies any valid expression that evaluates to a character string.\\n\\nValid data types: CHAR, NCHAR\"},{\"Name\":\"LENGTHC\",\"Definition\":\"Returns the length of a character string, including trailing blanks. \\n    \\nReturn value data type: DOUBLE\",\"Parameter1\":\"expression\",\"Description1\":\"Specifies any valid expression that evaluates to a character string.\\n\\nValid data types: NCHAR\"},{\"Name\":\"LENGTHM\",\"Definition\":\"Returns the amount of memory, in characters, that is allocated for a character string. \\n    \\nReturn value data type: DOUBLE\",\"Parameter1\":\"character-expression\",\"Description1\":\"Specifies any valid expression that evaluates to a character string.\\n\\nValid data types: NCHAR\"},{\"Name\":\"LENGTHN\",\"Definition\":\"Returns the length of a non-blank character string, excluding trailing blanks, and returns \\na 0 for a blank character string. \\n\\nReturn value data type: DOUBLE\",\"Parameter1\":\"expression\",\"Description1\":\"Specifies any valid expression that evaluates to a character string.\\n\\nValid data types: CHAR, NCHAR\"},{\"Name\":\"LFACT\",\"Definition\":\"Computes the logarithm of the FACT (factorial) function.\",\"Parameter1\":\"n\",\"Description1\":\"Is an integer that represents the total number of elements from which the sample is chosen.\"},{\"Name\":\"LGAMMA\",\"Definition\":\"Returns the natural logarithm of the Gamma function. \\n    \\nReturn value data type: DOUBLE\",\"Parameter1\":\"expression\",\"Description1\":\"Specifies any valid expression that evaluates to a numeric value.\\n\\nRequirement: Must be a positive number. \\nValid data types: DOUBLE\"},{\"Name\":\"LIBNAME\",\"Definition\":\"Assigns or deassigns a libref for a SAS library.\",\"Parameter1\":\"&lt;libref&gt;&lt;\",\"Description1\":\"Is a character constant, variable, or expression that specifies the libref that is assigned to a SAS library. The maximum length of libref is eight characters.\",\"Parameter2\":\"SAS-library&lt;\",\"Description2\":\"Is a character constant, variable, or expression that specifies the physical name of the SAS library that is associated with the libref. is a character constant, variable, or expression that specifies one or more valid options for the specified engine, delimited with blanks. This argument can be null.\",\"Parameter3\":\"engine&lt;\",\"Description3\":\"Is a character constant, variable, or expression that specifies the engine that is used to access SAS files opened in the data library. is a character constant, variable, or expression that specifies one or more valid options for the specified engine, delimited with blanks. This argument can be null.\",\"Parameter4\":\"options&gt;&gt;&gt;\",\"Description4\":\"Is a character constant, variable, or expression that specifies one or more valid options for the specified engine, delimited with blanks. This argument can be null.\"},{\"Name\":\"LIBREF\",\"Definition\":\"Verifies that a libref has been assigned.\",\"Parameter1\":\"libref\",\"Description1\":\"Specifies the libref to be verified.\"},{\"Name\":\"LOG\",\"Definition\":\"Returns the natural logarithm (base e) of a numeric value expression. \\n    \\nReturn value data type: DOUBLE\",\"Parameter1\":\"expression\",\"Description1\":\"Specifies any valid expression that evaluates to a numeric value.\\n\\nValid data types: DOUBLE\"},{\"Name\":\"LOG1PX\",\"Definition\":\"Returns the log of 1 plus the argument.\",\"Parameter1\":\"x\",\"Description1\":\"Specifies a numeric variable, constant, or expression.\"},{\"Name\":\"LOG10\",\"Definition\":\"Returns the base-10 logarithm of a numeric value expression. \\n    \\nReturn value data type: DOUBLE\",\"Parameter1\":\"expression\",\"Description1\":\"Specifies any valid expression that evaluates to a numeric value.\\n\\nRequirement: Must be a positive number. \\nValid data types: DOUBLE\"},{\"Name\":\"LOG2\",\"Definition\":\"Returns the base-2 logarithm of a numeric value expression.\",\"Parameter1\":\"expression\",\"Description1\":\"Specifies any valid expression that evaluates to a numeric value.\\n\\nRequirement: Must be a positive number. \\nValid data types: DOUBLE\"},{\"Name\":\"LOGBETA\",\"Definition\":\"Returns the logarithm of the beta function.\",\"Parameter1\":\"a\",\"Description1\":\"Is the first shape parameter, where a &gt; 0.\",\"Parameter2\":\"b\",\"Description2\":\"Is the second shape parameter, where b &gt; 0.\"},{\"Name\":\"LOGCDF\",\"Definition\":\"Returns the logarithm of a left cumulative distribution function.\",\"Parameter1\":\"'dist'\",\"Description1\":\"Is a character constant, variable, or expression that identifies the distribution. Refer to SAS documentation for valid distributions (eg. 'NORMAL', 'CHISQUARE', 'F', 'T', etc.).\",\"Parameter2\":\"quantile&lt;\",\"Description2\":\"Is a numeric variable, constant, or expression that specifies the value of a random variable.\",\"Parameter3\":\"parm-1, ...,parm-k&gt;\",\"Description3\":\"Are optional shape, location, or scale parameters appropriate for the specific distribution.\"},{\"Name\":\"LOGPDF\",\"Definition\":\"Returns the logarithm of a probability density (mass) function.\",\"Parameter1\":\"'dist'\",\"Description1\":\"Is a character constant, variable, or expression that identifies the distribution. Refer to SAS documentation for valid distributions (eg. 'NORMAL', 'CHISQUARE', 'F', 'T', etc.).\",\"Parameter2\":\"quantile&lt;\",\"Description2\":\"Is a numeric variable, constant, or expression that specifies the value of a random variable.\",\"Parameter3\":\"parm-1, ...,parm-k&gt;\",\"Description3\":\"Are optional shape, location, or scale parameters appropriate for the specific distribution.\"},{\"Name\":\"LOGSDF\",\"Definition\":\"Returns the logarithm of a survival function.\",\"Parameter1\":\"'dist'\",\"Description1\":\"Is a character constant, variable, or expression that identifies the distribution. Refer to SAS documentation for valid distributions (eg. 'NORMAL', 'CHISQUARE', 'F', 'T', etc.).\",\"Parameter2\":\"quantile&lt;\",\"Description2\":\"Is a numeric variable, constant, or expression that specifies the value of a random variable.\",\"Parameter3\":\"parm-1, ...,parm-k&gt;\",\"Description3\":\"Are optional shape, location, or scale parameters appropriate for the specific distribution.\"},{\"Name\":\"LOWCASE\",\"Definition\":\"Converts all letters in a character expression to lowercase. \\n    \\nReturn value data type: VARCHAR, NVARCHAR\",\"Parameter1\":\"expression\",\"Description1\":\"Specifies any valid expression that evaluates to a character string.\\n\\nRequirement: Literal character expressions must be enclosed in single quotation marks. \\nValid data types: CHAR, NCHAR\"},{\"Name\":\"QLOWCASE\",\"Definition\":\"Converts all letters in an argument to lowercase. QLOWCASE produces a result with special characters and mnemonic operators masked.\",\"Parameter1\":\"argument\",\"Description1\":\"Specifies a character constant, variable, or expression that might contain the following special characters and mnemonic operators masked: &amp; % ' \\\" ( ) + - * / &lt; &gt; = \\u00ac ^ ~ ; , # blank AND OR NOT EQ NE LE LT GE GT IN.\"},{\"Name\":\"LPERM\",\"Definition\":\"Computes the logarithm of the PERM function; that is, the logarithm of the number of permutations of n objects, with the option of including r number of elements.\",\"Parameter1\":\"n&lt;\",\"Description1\":\"Is an integer that represents the total number of elements from which the sample is chosen.\",\"Parameter2\":\"r\",\"Description2\":\"Is an optional integer value that represents the number of chosen elements. If r is omitted, the function returns the factorial of n. Restriction: r \\u2264 n.\"},{\"Name\":\"LPNORM\",\"Definition\":\"Returns the Lp norm of the second argument and subsequent non-missing arguments.\",\"Parameter1\":\"p\",\"Description1\":\"Specifies a numeric constant, variable, or expression that is greater than or equal to 1, which is used as the power for computing the Lp norm.\",\"Parameter2\":\"value-1&lt;\",\"Description2\":\"Specifies a numeric constant, variable, or expression.\",\"Parameter3\":\"value-2...&gt;\",\"Description3\":\"Specifies a numeric constant, variable, or expression.\"},{\"Name\":\"MAD\",\"Definition\":\"Returns the median absolute deviation from the median.\",\"Parameter1\":\"value-1&lt;\",\"Description1\":\"Specifies a numeric constant, variable, or expression of which the median absolute deviation from the median is to be computed.\",\"Parameter2\":\"value-2...&gt;\",\"Description2\":\"Specifies a numeric constant, variable, or expression of which the median absolute deviation from the median is to be computed.\"},{\"Name\":\"MARGRCLPRC\",\"Definition\":\"Calculates call prices for European options on stocks, based on the Margrabe model.\",\"Parameter1\":\"X1\",\"Description1\":\"Is a non-missing, positive value that specifies the price of the first asset. Specify X1 and X2 in the same units.\",\"Parameter2\":\"t\",\"Description2\":\"Is a non-missing value that specifies the time to expiration.\",\"Parameter3\":\"X2\",\"Description3\":\"Is a non-missing, positive value that specifies the price of the second asset. Specify X2 and X1 in the same units.\",\"Parameter4\":\"sigma1\",\"Description4\":\"Is a non-missing, positive fraction that specifies the volatility of the first asset. Specify a value for sigma1 for the same time period as the unit of t.\",\"Parameter5\":\"sigma2\",\"Description5\":\"Is a non-missing, positive fraction that specifies the volatility of the second asset. Specify a value for sigma2 for the same time period as the unit of t.\",\"Parameter6\":\"rho12\",\"Description6\":\"Specifies the correlation between the first and second assets. Range: between -1 and 1.\"},{\"Name\":\"MARGRPTPRC\",\"Definition\":\"Calculates put prices for European options on stocks, based on the Margrabe model.\",\"Parameter1\":\"X1\",\"Description1\":\"Is a non-missing, positive value that specifies the price of the first asset. Specify X1 and X2 in the same units.\",\"Parameter2\":\"t\",\"Description2\":\"Is a non-missing value that specifies the time to expiration.\",\"Parameter3\":\"X2\",\"Description3\":\"Is a non-missing, positive value that specifies the price of the second asset. Specify X2 and X1 in the same units.\",\"Parameter4\":\"sigma1\",\"Description4\":\"Is a non-missing, positive fraction that specifies the volatility of the first asset. Specify a value for sigma1 for the same time period as the unit of t.\",\"Parameter5\":\"sigma2\",\"Description5\":\"Is a non-missing, positive fraction that specifies the volatility of the second asset. Specify a value for sigma2 for the same time period as the unit of t.\",\"Parameter6\":\"rho12\",\"Description6\":\"Specifies the correlation between the first and second assets. Range: between -1 and 1.\"},{\"Name\":\"MAX\",\"Definition\":\"Returns the largest value from a list of arguments. \\n    \\nAt least two arguments are required.\",\"Parameter1\":\"expression-1\",\"Description1\":\"Specifies any valid expression that evaluates to a numeric value. \\n\\nValid data types: DOUBLE, BIGINT\",\"Parameter2\":\"expression-2 [\",\"Description2\":\"Specifies any valid expression that evaluates to a numeric value. \\n\\nValid data types: DOUBLE, BIGINT\",\"Parameter3\":\"...expression-n ]\",\"Description3\":\"Specifies any valid expression that evaluates to a numeric value. \\n\\nValid data types: DOUBLE, BIGINT\"},{\"Name\":\"MD5\",\"Definition\":\"Returns the result of the message digest of a specified string.\",\"Parameter1\":\"string\",\"Description1\":\"Specifies a character constant, variable, or expression. Enclose a literal string of characters in quotation marks.\"},{\"Name\":\"MDY\",\"Definition\":\"Returns a SAS date value from month, day, and year values. \\n    \\nReturn value data type: DOUBLE\",\"Parameter1\":\"month\",\"Description1\":\"Specifies a numeric expression that represents an integer from 1 through 12.\\n\\nValid data types: DOUBLE\",\"Parameter2\":\"day\",\"Description2\":\"Specifies a numeric expression that represents an integer from 1 through 31.\\n\\nValid data types: DOUBLE\",\"Parameter3\":\"year\",\"Description3\":\"Specifies a numeric expression that represents a two-digit or four-digit year. \\nThe YEARCUTOFF= system option defines the year value for two-digit dates.\\n\\nValid data types: DOUBLE\"},{\"Name\":\"MEAN\",\"Definition\":\"Returns the arithmetic mean (average) of the non-null or non-missing arguments. \\n    \\nAt least one non-missing argument is required. Otherwise, the function returns a missing value. \\n\\nReturn value data type: DOUBLE\",\"Parameter1\":\"expression-1 [\",\"Description1\":\"Specifies any valid expression that evaluates to a numeric value. \\n    \\nValid data types: DOUBLE\",\"Parameter2\":\"...expression-n ]\",\"Description2\":\"Specifies any valid expression that evaluates to a numeric value. \\n    \\nValid data types: DOUBLE\"},{\"Name\":\"MEDIAN\",\"Definition\":\"Returns the median value.\",\"Parameter1\":\"value1&lt;\",\"Description1\":\"Is a numeric constant, variable, or expression.\",\"Parameter2\":\"value2, ...&gt;\",\"Description2\":\"Is a numeric constant, variable, or expression.\"},{\"Name\":\"MIN\",\"Definition\":\"Returns the smallest value. \\n    \\nAt least two arguments are required.\",\"Parameter1\":\"expression-1\",\"Description1\":\"Specifies any valid expression that evaluates to a numeric value. \\n    \\nValid data types: DOUBLE, BIGINT\",\"Parameter2\":\"expression-2 [\",\"Description2\":\"Specifies a numeric constant, variable, or expression.\",\"Parameter3\":\"...expression-n ]\",\"Description3\":\"Specifies any valid expression that evaluates to a numeric value. \\n    \\nValid data types: DOUBLE, BIGINT\"},{\"Name\":\"MINUTE\",\"Definition\":\"Returns the minute from a SAS time or datetime value. \\n    \\nReturn value data type: DOUBLE\",\"Parameter1\":\"time | datetime\",\"Description1\":\"time \\nspecifies any valid expression that represents a SAS time value.\\n\\nValid data types: DOUBLE \\n\\ndatetime \\nspecifies any valid expression that represents a SAS datetime value.\\n\\nValid data types: DOUBLE\"},{\"Name\":\"MISSING\",\"Definition\":\"Returns a number that indicates whether the argument contains a missing value. \\n    \\nReturn value data type INTEGER\",\"Parameter1\":\"numeric-expression | character-expression\",\"Description1\":\"numeric-expression \\nspecifies any valid expression that evaluates to a numeric value.\\n\\nValid data types: DOUBLE \\n\\ncharacter-expression \\nspecifies any valid expression that evaluates to a character value. \\n\\nValid data types: CHAR, NCHAR\"},{\"Name\":\"MOD\",\"Definition\":\"Returns the remainder from the division of the first argument by the second argument, \\nfuzzed to avoid most unexpected floating-point results. \\n\\nReturn value data type: DOUBLE\",\"Parameter1\":\"dividend-expression\",\"Description1\":\"Specifies a dividend that is any valid expression that evaluates to a numeric value. \\n\\nValid data types: DOUBLE\",\"Parameter2\":\"divisor-expression\",\"Description2\":\"Specifies a divisor that is any valid expression that evaluates to a numeric value. \\n\\nRestriction: divisor-expression cannot be 0 \\nValid data types: DOUBLE\"},{\"Name\":\"MODZ\",\"Definition\":\"Returns the remainder from the division of the first argument by the second argument, \\nusing zero fuzzing.\\n\\nReturn value data type: DOUBLE\",\"Parameter1\":\"dividend-expression\",\"Description1\":\"Specifies a dividend that is any valid expression that evaluates to a numeric value. \\n\\nValid data types: DOUBLE\",\"Parameter2\":\"divisor-expression\",\"Description2\":\"Specifies a divisor that is any valid expression that evaluates to a numeric value. \\n\\nRestriction: divisor-expression cannot be 0 \\nValid data types: DOUBLE\"},{\"Name\":\"MODULEIC\",\"Definition\":\"Calls an external routine or module that resides in an image that can be shared. Returns a character value.\",\"Parameter1\":\"&lt;cntl-string\",\"Description1\":\"Is an optional control string whose first character must be an asterisk (*), followed by any combination of the following characters: I (detects incorrect arguments or attribute tables), E (prints error messages), Sx (uses x as a separator character to separate field definitions), H (provides help on CALL MODULE routine syntax).\",\"Parameter2\":\"&gt;module-name&lt;\",\"Description2\":\"Is the name of the external module to use.\",\"Parameter3\":\"expression-1\",\"Description3\":\"Is one or more arguments to pass to the requested routine.\",\"Parameter4\":\"..., expression-n&gt;\",\"Description4\":\"Is one or more arguments to pass to the requested routine.\"},{\"Name\":\"MODULEIN\",\"Definition\":\"Calls an external routine or module that resides in an image that can be shared. Returns a numeric value.\",\"Parameter1\":\"&lt;cntl-string\",\"Description1\":\"Is an optional control string whose first character must be an asterisk (*), followed by any combination of the following characters: I (detects incorrect arguments or attribute tables), E (prints error messages), Sx (uses x as a separator character to separate field definitions), H (provides help on CALL MODULE routine syntax).\",\"Parameter2\":\"&gt;module-name&lt;\",\"Description2\":\"Is the name of the external module to use.\",\"Parameter3\":\"expression-1\",\"Description3\":\"Is one or more arguments to pass to the requested routine.\",\"Parameter4\":\"..., expression-n&gt;\",\"Description4\":\"Is one or more arguments to pass to the requested routine.\"},{\"Name\":\"MODULEC\",\"Definition\":\"Calls an external routine and returns a character value.\",\"Parameter1\":\"&lt;cntl-string\",\"Description1\":\"Is an optional control string whose first character must be an asterisk (*), followed by any combination of the following characters: I (detects incorrect arguments or attribute tables), E (prints error messages), Sx (uses x as a separator character to separate field definitions), H (provides help on CALL MODULE routine syntax).\",\"Parameter2\":\"&gt;module-name&lt;\",\"Description2\":\"Is the name of the external module to use.\",\"Parameter3\":\"expression-1\",\"Description3\":\"Is one or more arguments to pass to the requested routine.\",\"Parameter4\":\"..., expression-n&gt;\",\"Description4\":\"Is one or more arguments to pass to the requested routine.\"},{\"Name\":\"MODULEN\",\"Definition\":\"Calls an external routine and returns a numeric value.\",\"Parameter1\":\"&lt;cntl-string\",\"Description1\":\"Is an optional control string whose first character must be an asterisk (*), followed by any combination of the following characters: I (detects incorrect arguments or attribute tables), E (prints error messages), Sx (uses x as a separator character to separate field definitions), H (provides help on CALL MODULE routine syntax).\",\"Parameter2\":\"&gt;module-name&lt;\",\"Description2\":\"Is the name of the external module to use.\",\"Parameter3\":\"expression-1\",\"Description3\":\"Is one or more arguments to pass to the requested routine.\",\"Parameter4\":\"..., expression-n&gt;\",\"Description4\":\"Is one or more arguments to pass to the requested routine.\"},{\"Name\":\"MONTH\",\"Definition\":\"Returns the month from a SAS date value. \\n    \\nReturn value data type: DOUBLE\",\"Parameter1\":\"date\",\"Description1\":\"Specifies any valid expression that represents a SAS date value.\\n\\nRange: 1 - 12 \\nValid data types: DOUBLE\"},{\"Name\":\"MOPEN\",\"Definition\":\"Opens a file by directory ID and member name, and returns either the file identifier or a 0.\",\"Parameter1\":\"directory-id\",\"Description1\":\"Is a numeric variable that specifies the identifier that was assigned when the directory was opened, generally by the DOPEN function.\",\"Parameter2\":\"member-name\",\"Description2\":\"Is a character constant, variable, or expression that specifies the member name in the directory.\",\"Parameter3\":\"open-mode\",\"Description3\":\"Is a character constant, variable, or expression that specifies the type of access to the file: A (APPEND mode writes new records at end of file), I (INPUT mode allows reading only), O (OUTPUT mode allows writing new records at beginning of file), S (SEQUENTIAL input mode for pipes or ports), U (UPDATE mode allows both reading and writing), W (SEQUENTIAL update mode for pipes or ports)\",\"Parameter4\":\"record-length\",\"Description4\":\"Is a numeric constant, variable, or expression that specifies the logical record length of the file. To use the existing record length for the file, specify a length of 0, or do not provide a value here.\",\"Parameter5\":\"record-format\",\"Description5\":\"Is a character constant, variable, or expression that specifies the record format of the file. Valid values: B (binary), D (default format), E (editable), F(fixed-length records), P (contains printer carriage control), V (variable-length records).\"},{\"Name\":\"MORT\",\"Definition\":\"Returns amortization parameters.\",\"Parameter1\":\"a\",\"Description1\":\"Is numeric, and specifies the initial amount.\",\"Parameter2\":\"p\",\"Description2\":\"Is numeric, and specifies the periodic payment.\",\"Parameter3\":\"r\",\"Description3\":\"Is numeric, and specifies the periodic interest rate that is expressed as a fraction.\",\"Parameter4\":\"n\",\"Description4\":\"Is an integer, and specifies the number of compounding periods. Range: n \\u2265 0.\"},{\"Name\":\"MSPLINT\",\"Definition\":\"Returns the ordinate of a monotonicity-preserving interpolating spline.\",\"Parameter1\":\"X\",\"Description1\":\"Is a numeric constant, variable, or expression that specifies the abscissa for which the ordinate of the spline is to be computed.\",\"Parameter2\":\"n\",\"Description2\":\"Is a numeric constant, variable, or expression that specifies the number of knots. N must be a positive integer.\",\"Parameter3\":\"X1 &lt;, X2, ..., Xn&gt;\",\"Description3\":\"Are numeric constants, variables, or expressions that specify the abscissas of the knots. These values must be non-missing and listed in nondecreasing order.\",\"Parameter4\":\"Y1 &lt;,Y2, ..., Yn&gt;&lt;\",\"Description4\":\"Are numeric constants, variables, or expressions that specify the ordinates of the knots. The number of Y1 through Yn arguments must be the same as the number of X1 through Xn arguments.\",\"Parameter5\":\"D1, Dn&gt;\",\"Description5\":\"Are optional numeric constants, variables, or expressions that specify the derivatives of the spline at X1 and Xn.\"},{\"Name\":\"N\",\"Definition\":\"Returns the number of non-missing numeric values. \\n    \\nAt least one argument is required. \\n\\nReturn value data type: DOUBLE\",\"Parameter1\":\"expression-1 [\",\"Description1\":\"Specifies any valid expression that evaluates to a numeric value. \\n\\nValid data types: DOUBLE\",\"Parameter2\":\"...expression-n ]\",\"Description2\":\"Specifies any valid expression that evaluates to a numeric value. \\n\\nValid data types: DOUBLE\"},{\"Name\":\"NETPV\",\"Definition\":\"Returns the net present value as a fraction.\",\"Parameter1\":\"r\",\"Description1\":\"Is numeric, the interest rate over a specified base period of time expressed as a fraction. Range: r \\u2265 0.\",\"Parameter2\":\"freq\",\"Description2\":\"Is numeric, the number of payments during the base period of time that is specified with the rate r. Range: freq &gt; 0. Exception: The case freq=0 is a flag to allow continuous discounting.\",\"Parameter3\":\"c0,c1, ...,cn\",\"Description3\":\"Are numeric cash flows that represent cash outlays (payments) or cash inflows (income) occurring at times 0, 1, ...n.\"},{\"Name\":\"NLITERAL\",\"Definition\":\"Converts a character string that you specify to a SAS name literal.\",\"Parameter1\":\"string\",\"Description1\":\"Specifies a character constant, variable, or expression that is to be converted to a SAS name literal. Enclose a literal string of characters in quotation marks.\"},{\"Name\":\"NMISS\",\"Definition\":\"Returns the number of null and SAS missing numeric values. \\n    \\nAt least one argument is required.\\n\\nReturn value data type: INTEGER\",\"Parameter1\":\"expression-1 [\",\"Description1\":\"Specifies any valid expression that evaluates to a numeric value. \\n    \\nValid data types: DOUBLE\",\"Parameter2\":\"...expression-n ]\",\"Description2\":\"Specifies any valid expression that evaluates to a numeric value. \\n    \\nValid data types: DOUBLE\"},{\"Name\":\"NOTALNUM\",\"Definition\":\"Searches a character string for a non-alphanumeric character, and returns the first position at which the character is found.\",\"Parameter1\":\"string&lt;\",\"Description1\":\"Specifies a character constant, variable, or expression to search.\",\"Parameter2\":\"start&gt;\",\"Description2\":\"Is an optional numeric constant, variable, or expression with an integer value that specifies the position at which the search should start and the direction in which to search.\"},{\"Name\":\"NOTALPHA\",\"Definition\":\"Searches a character string for a nonalphabetic character, and returns the first position at which the character is found.\",\"Parameter1\":\"string&lt;\",\"Description1\":\"Specifies a character constant, variable, or expression to search.\",\"Parameter2\":\"start&gt;\",\"Description2\":\"Is an optional numeric constant, variable, or expression with an integer value that specifies the position at which the search should start and the direction in which to search.\"},{\"Name\":\"NOTCNTRL\",\"Definition\":\"Searches a character string for a character that is not a control character, and returns the first position at which that character is found.\",\"Parameter1\":\"string&lt;\",\"Description1\":\"Specifies a character constant, variable, or expression to search.\",\"Parameter2\":\"start&gt;\",\"Description2\":\"Is an optional numeric constant, variable, or expression with an integer value that specifies the position at which the search should start and the direction in which to search.\"},{\"Name\":\"NOTDIGIT\",\"Definition\":\"Searches a character string for any character that is not a digit, and returns the first position at which that character is found.\",\"Parameter1\":\"string&lt;\",\"Description1\":\"Specifies a character constant, variable, or expression to search.\",\"Parameter2\":\"start&gt;\",\"Description2\":\"Is an optional numeric constant, variable, or expression with an integer value that specifies the position at which the search should start and the direction in which to search.\"},{\"Name\":\"NOTE\",\"Definition\":\"Returns an observation ID for the current observation of a SAS data set.\",\"Parameter1\":\"data-set-id\",\"Description1\":\"Is a numeric variable that specifies the data set identifier that the OPEN function returns.\"},{\"Name\":\"NOTFIRST\",\"Definition\":\"Searches a character string for an invalid first character in a SAS variable name under VALIDVARNAME=V7, and returns the first position at which that character is found.\",\"Parameter1\":\"string&lt;\",\"Description1\":\"Specifies a character constant, variable, or expression to search.\",\"Parameter2\":\"start&gt;\",\"Description2\":\"Is an optional numeric constant, variable, or expression with an integer value that specifies the position at which the search should start and the direction in which to search.\"},{\"Name\":\"NOTGRAPH\",\"Definition\":\"Searches a character string for a non-graphical character, and returns the first position at which that character is found.\",\"Parameter1\":\"string&lt;\",\"Description1\":\"Specifies a character constant, variable, or expression to search.\",\"Parameter2\":\"start&gt;\",\"Description2\":\"Is an optional numeric constant, variable, or expression with an integer value that specifies the position at which the search should start and the direction in which to search.\"},{\"Name\":\"NOTLOWER\",\"Definition\":\"Searches a character string for a character that is not a lowercase letter, and returns the first position at which that character is found.\",\"Parameter1\":\"string&lt;\",\"Description1\":\"Specifies a character constant, variable, or expression to search.\",\"Parameter2\":\"start&gt;\",\"Description2\":\"Is an optional numeric constant, variable, or expression with an integer value that specifies the position at which the search should start and the direction in which to search.\"},{\"Name\":\"NOTNAME\",\"Definition\":\"Searches a character string for an invalid character in a SAS variable name under VALIDVARNAME=V7, and returns the first position at which that character is found.\",\"Parameter1\":\"string&lt;\",\"Description1\":\"Specifies a character constant, variable, or expression to search.\",\"Parameter2\":\"start&gt;\",\"Description2\":\"Is an optional numeric constant, variable, or expression with an integer value that specifies the position at which the search should start and the direction in which to search.\"},{\"Name\":\"NOTPRINT\",\"Definition\":\"Searches a character string for a nonprintable character, and returns the first position at which that character is found.\",\"Parameter1\":\"string&lt;\",\"Description1\":\"Specifies a character constant, variable, or expression to search.\",\"Parameter2\":\"start&gt;\",\"Description2\":\"Is an optional numeric constant, variable, or expression with an integer value that specifies the position at which the search should start and the direction in which to search.\"},{\"Name\":\"NOTPUNCT\",\"Definition\":\"Searches a character string for a character that is not a punctuation character, and returns the first position at which that character is found.\",\"Parameter1\":\"string&lt;\",\"Description1\":\"Specifies a character constant, variable, or expression to search.\",\"Parameter2\":\"start&gt;\",\"Description2\":\"Is an optional numeric constant, variable, or expression with an integer value that specifies the position at which the search should start and the direction in which to search.\"},{\"Name\":\"NOTSPACE\",\"Definition\":\"Searches a character string for a character that is not a white-space character (blank, horizontal and vertical tab, carriage return, line feed, and form feed), and returns the first position at which that character is found.\",\"Parameter1\":\"string&lt;\",\"Description1\":\"Specifies a character constant, variable, or expression to search.\",\"Parameter2\":\"start&gt;\",\"Description2\":\"Is an optional numeric constant, variable, or expression with an integer value that specifies the position at which the search should start and the direction in which to search.\"},{\"Name\":\"NOTUPPER\",\"Definition\":\"Searches a character string for a character that is not an uppercase letter, and returns the first position at which that character is found.\",\"Parameter1\":\"string&lt;\",\"Description1\":\"Specifies a character constant, variable, or expression to search.\",\"Parameter2\":\"start&gt;\",\"Description2\":\"Is an optional numeric constant, variable, or expression with an integer value that specifies the position at which the search should start and the direction in which to search.\"},{\"Name\":\"NOTXDIGIT\",\"Definition\":\"Searches a character string for a character that is not a hexadecimal character, and returns the first position at which that character is found.\",\"Parameter1\":\"string&lt;\",\"Description1\":\"Specifies a character constant, variable, or expression to search.\",\"Parameter2\":\"start&gt;\",\"Description2\":\"Is an optional numeric constant, variable, or expression with an integer value that specifies the position at which the search should start and the direction in which to search.\"},{\"Name\":\"NPV\",\"Definition\":\"Returns the net present value with the rate expressed as a percentage.\",\"Parameter1\":\"r\",\"Description1\":\"Is numeric, the interest rate over a specified base period of time expressed as a percentage.\",\"Parameter2\":\"freq\",\"Description2\":\"Is numeric, the number of payments during the base period of time specified with the rate r. Range: freq &gt; 0. Exception: The case freq=0 is a flag to allow continuous discounting.\",\"Parameter3\":\"c0,c1, ...,cn\",\"Description3\":\"Are numeric cash flows that represent cash outlays (payments) or cash inflows (income) occurring at times 0, 1, ...n.\"},{\"Name\":\"NULL\",\"Definition\":\"Returns a 1 if the argument is null and a 0 if the argument is not null. \\n    \\nReturn value data type: DOUBLE\",\"Parameter1\":\"expression\",\"Description1\":\"Specifies any valid expression.\\n\\nValid data types: CHAR, DOUBLE\"},{\"Name\":\"NVALID\",\"Definition\":\"Checks the validity of a character string for use as a SAS variable name.\",\"Parameter1\":\"string&lt;\",\"Description1\":\"Specifies a character constant, variable, or expression which will be checked to determine whether its value can be used as a SAS variable name. Trailing blanks are ignored.\",\"Parameter2\":\"validvarname&gt;\",\"Description2\":\"Is a character constant, variable, or expression that specifies one of the following values: V7, ANY, NLITERAL\"},{\"Name\":\"NWKDOM\",\"Definition\":\"Returns the date for the nth occurrence of a weekday for the specified month and year.\",\"Parameter1\":\"n\",\"Description1\":\"Specifies the numeric week of the month that contains the specified day. Range: 1-5.\",\"Parameter2\":\"weekday\",\"Description2\":\"Specifies the number that corresponds to the day of the week. Range: 1-7. Tip: Sunday is considered the first day of the week and has a weekday value of 1.\",\"Parameter3\":\"month\",\"Description3\":\"Specifies the number that corresponds to the month of the year. Range: 1-12.\",\"Parameter4\":\"year\",\"Description4\":\"Specifies a four-digit calendar year.\"},{\"Name\":\"OPEN\",\"Definition\":\"Opens a SAS data set.\",\"Parameter1\":\"&lt;data-set-name&lt;\",\"Description1\":\"Is a character constant, variable, or expression that specifies the name of the SAS data set or SAS SQL view to be opened. The value of this character string should be of the form &lt;libref.&gt;member-name&lt;(data-set-options)&gt;\",\"Parameter2\":\"mode&gt;&gt;\",\"Description2\":\"Is a character constant, variable, or expression that specifies the type of access to the data set: I (INPUT mode, for read only), IN (sequential INPUT mode, with revisit of observations allowed), IS (sequential INPUT mode, with revisit of observations not allowed).\"},{\"Name\":\"ORDINAL\",\"Definition\":\"Returns the kth smallest of the missing and nonmissing values. \\n    \\nAt least two arguments are required.\\n\\nReturn value data type: DOUBLE\",\"Parameter1\":\"position\",\"Description1\":\"an integer that is less than or equal to the number of elements in the list of arguments.\\n\\nRequirements: position must be a positive number. \\nValid data types: DOUBLE\",\"Parameter2\":\"expression-1\",\"Description2\":\"Specifies any valid expression that evaluates to a numeric value.\\n    \\nValid data types: DOUBLE\",\"Parameter3\":\"expression-2 [\",\"Description3\":\"Specifies any valid expression that evaluates to a numeric value.\\n    \\nValid data types: DOUBLE\",\"Parameter4\":\"...expression-n ]\",\"Description4\":\"Specifies any valid expression that evaluates to a numeric value.\\n    \\nValid data types: DOUBLE\"},{\"Name\":\"PATHNAME\",\"Definition\":\"Returns the physical name of an external file or a SAS library, or returns a blank.\",\"Parameter1\":\"(fileref | libref)&lt;\",\"Description1\":\"Is a character constant, variable, or expression that specifies either the fileref that is assigned to an external file or the libref that is assigned to a SAS library.\",\"Parameter2\":\"search-ref&gt;\",\"Description2\":\"Is a character constant, variable, or expression that specifies whether to search for a fileref or a libref. Values: F (to search for a fileref) or L (to search for a libref).\"},{\"Name\":\"PCTL\",\"Definition\":\"Returns the percentile that corresponds to the percentage. \\n    \\nReturn value data type: DOUBLE\",\"Parameter1\":\"[ n ]\",\"Description1\":\"\\n      Is a digit from 1 to 5 which specifies the definition of the percentile to be computed.\\n\\n      Default: definition 5\\n      Valid data types: DOUBLE\",\"Parameter2\":\"percentage\",\"Description2\":\"Specifies the percentile to be computed.\\n\\nRequirement: is numeric where 0 \\u2264 percentage \\u2264 100.\",\"Parameter3\":[\"expression [\",\"...expression ]\"],\"Description3\":[\"Specifies any valid expression that evaluates to a numeric value, whose value is computed \\nin the percentile calculation.\\n\\nValid data types: DOUBLE\",\"Specifies any valid expression that evaluates to a numeric value, whose value is computed\\nin the percentile calculation.\\n\\nValid data types: DOUBLE\"]},{\"Name\":\"PDF*1\",\"Definition\":\"Returns a value from a probability density (mass) distribution.\",\"Parameter1\":\"dist\",\"Description1\":\"Is a character constant, variable, or expression that identifies the distribution. Refer to SAS documentation for valid distributions (eg. 'NORMAL', 'CHISQUARE', 'F', 'T', etc.).\",\"Parameter2\":\"quantile&lt;\",\"Description2\":\"Is a numeric constant, variable, or expression that specifies the value of the random variable.\",\"Parameter3\":\"parm-1, ...,parm-k&gt;\",\"Description3\":\"Are optional numeric constants, variables, or expressions that specify the values of shape, location, or scale parameters that are appropriate for the specific distribution.\"},{\"Name\":\"PDF*2\",\"Definition\":\"Returns a value from a Bernoulli probability density (mass) distribution.\",\"Parameter1\":\"'BERNOULLI'\",\"Description1\":\"Is a character constant, variable, or expression that identifies the distribution.\",\"Parameter2\":\"x\",\"Description2\":\"Is a numeric random variable.\",\"Parameter3\":\"p\",\"Description3\":\"Is a numeric probability of success. Range: 0 \\u2264 p \\u2264 1.\"},{\"Name\":\"PDF*3\",\"Definition\":\"Returns a value from a \\u03b2 probability density (mass) distribution.\",\"Parameter1\":\"'BETA'\",\"Description1\":\"Is a character constant, variable, or expression that identifies the distribution.\",\"Parameter2\":\"x\",\"Description2\":\"Is a numeric random variable.\",\"Parameter3\":\"a\",\"Description3\":\"Is a numeric shape parameter. Range: a &gt; 0.\",\"Parameter4\":\"b&lt;\",\"Description4\":\"Is a numeric shape parameter. Range: b &gt; 0.\",\"Parameter5\":\"l\",\"Description5\":\"Is the numeric left location parameter. Default: 0.\",\"Parameter6\":\"r&gt;\",\"Description6\":\"Is the right location parameter. Default: 0.  Range: r&gt;l.\"},{\"Name\":\"PDF*4\",\"Definition\":\"Returns a value from a binomial probability density (mass) distribution.\",\"Parameter1\":\"'BINOMIAL'\",\"Description1\":\"Is a character constant, variable, or expression that identifies the distribution.\",\"Parameter2\":\"m\",\"Description2\":\"Is an integer random variable that counts the number of successes.\",\"Parameter3\":\"p\",\"Description3\":\"Is a numeric probability of success. Range: 0 \\u2264 p \\u2264 1.\",\"Parameter4\":\"n\",\"Description4\":\"Is an integer parameter that counts the number of independent Bernoulli trials.\"},{\"Name\":\"PDF*5\",\"Definition\":\"Returns a value from a Cauchy probability density (mass) distribution.\",\"Parameter1\":\"'CAUCHY'\",\"Description1\":\"Is a character constant, variable, or expression that identifies the distribution.\",\"Parameter2\":\"x&lt;\",\"Description2\":\"Is a numeric random variable.\",\"Parameter3\":\"theta\",\"Description3\":\"Is a numeric location parameter. Default: 0.\",\"Parameter4\":\"lambda&gt;\",\"Description4\":\"Is a numeric scale parameter. Default: 1. Range: lambda &gt; 0.\"},{\"Name\":\"PDF*6\",\"Definition\":\"Returns a value from a chi-square probability density (mass) distribution.\",\"Parameter1\":\"'CHISQUARE'\",\"Description1\":\"Is a character constant, variable, or expression that identifies the distribution.\",\"Parameter2\":\"x\",\"Description2\":\"Is a numeric random variable.\",\"Parameter3\":\"df&lt;\",\"Description3\":\"Is a numeric degrees of freedom parameter. Range: df &gt; 0.\",\"Parameter4\":\"nc&gt;\",\"Description4\":\"Is an optional numeric non-centrality parameter. Range: nc \\u2265 0.\"},{\"Name\":\"PDF*7\",\"Definition\":\"Returns a value from a probability density (mass) distribution.\",\"Parameter1\":\"'EXPONENTIAL'\",\"Description1\":\"Is a character constant, variable, or expression that identifies the distribution.\",\"Parameter2\":\"x&lt;\",\"Description2\":\"Is a numeric random variable.\",\"Parameter4\":\"lambda&gt;\",\"Description4\":\"Is a numeric scale parameter. Default: 1. Range: lambda &gt; 0.\"},{\"Name\":\"PDF*8\",\"Definition\":\"Returns a value from an F probability density (mass) distribution.\",\"Parameter1\":\"'F'\",\"Description1\":\"Is a character constant, variable, or expression that identifies the distribution.\",\"Parameter2\":\"x\",\"Description2\":\"Is a numeric random variable.\",\"Parameter3\":\"ndf\",\"Description3\":\"Is a numeric numerator degrees of freedom parameter. Range: ndf &gt; 0.\",\"Parameter4\":\"ddf&lt;\",\"Description4\":\"Is a numeric denominator degrees of freedom parameter. Range: ddf &gt; 0.\",\"Parameter5\":\"nc&gt;\",\"Description5\":\"Is a numeric non-centrality parameter. Range: nc &gt; =0.\"},{\"Name\":\"PDF*9\",\"Definition\":\"Returns a value from a Gamma probability density (mass) distribution.\",\"Parameter1\":\"'GAMMA'\",\"Description1\":\"Is a character constant, variable, or expression that identifies the distribution.\",\"Parameter2\":\"x\",\"Description2\":\"Is a numeric random variable.\",\"Parameter3\":\"a&lt;\",\"Description3\":\"Is a numeric shape parameter. Range: a &gt; 0.\",\"Parameter4\":\"lambda&gt;\",\"Description4\":\"Is a numeric scale parameter. Default: 1. Range: lambda &gt; 0.\"},{\"Name\":\"PDF*10\",\"Definition\":\"Returns a value from a Geometric probability density (mass) distribution.\",\"Parameter1\":\"'GEOMETRIC'\",\"Description1\":\"Is a character constant, variable, or expression that identifies the distribution.\",\"Parameter2\":\"m\",\"Description2\":\"Is a numeric random variable that denotes the number of failures before the first success. Range: m \\u2265 0.\",\"Parameter3\":\"p\",\"Description3\":\"Is a numeric probability of success. Range: 0 \\u2264 p \\u2264 1.\"},{\"Name\":\"PDF*11\",\"Definition\":\"Returns a value from a Hypergeometric probability density (mass) distribution.\",\"Parameter1\":\"'HYPER'\",\"Description1\":\"Is a character constant, variable, or expression that identifies the distribution.\",\"Parameter2\":\"x\",\"Description2\":\"Is an integer random variable.\",\"Parameter3\":\"N\",\"Description3\":\"Is an integer population size parameter. Range: N = 1, 2, ...\",\"Parameter4\":\"R\",\"Description4\":\"Is an integer number of items in the category of interest. Range: R = 0, 1, ..., N\",\"Parameter5\":\"n&lt;\",\"Description5\":\"Is an integer sample size parameter. Range: n = 1, 2, ..., N\",\"Parameter6\":\"o&gt;\",\"Description6\":\"Is an optional numeric odds ratio parameter. Range: o &gt; 0.\"},{\"Name\":\"PDF*12\",\"Definition\":\"Returns a value from a Laplace probability density (mass) distribution.\",\"Parameter1\":\"'LAPLACE'\",\"Description1\":\"Is a character constant, variable, or expression that identifies the distribution.\",\"Parameter2\":\"x&lt;\",\"Description2\":\"Is a numeric random variable.\",\"Parameter3\":\"theta\",\"Description3\":\"Is a numeric location parameter. Default: 0\",\"Parameter4\":\"lambda&gt;\",\"Description4\":\"Is a numeric scale parameter. Default: 1. Range: lambda &gt; 0.\"},{\"Name\":\"PDF*13\",\"Definition\":\"Returns a value from a Logistic probability density (mass) distribution.\",\"Parameter1\":\"'LOGISTIC'\",\"Description1\":\"Is a character constant, variable, or expression that identifies the distribution.\",\"Parameter2\":\"x&lt;\",\"Description2\":\"Is a numeric random variable.\",\"Parameter3\":\"theta\",\"Description3\":\"Is a numeric location parameter. Default: 0\",\"Parameter4\":\"lambda&gt;\",\"Description4\":\"Is a numeric scale parameter. Default: 1. Range: lambda &gt; 0.\"},{\"Name\":\"PDF*14\",\"Definition\":\"Returns a value from a Lognormal probability density (mass) distribution.\",\"Parameter1\":\"'LOGNORMAL'\",\"Description1\":\"Is a character constant, variable, or expression that identifies the distribution.\",\"Parameter2\":\"x&lt;\",\"Description2\":\"Is a numeric random variable.\",\"Parameter3\":\"theta\",\"Description3\":\"Is a numeric location parameter. Default: 0\",\"Parameter4\":\"lambda&gt;\",\"Description4\":\"Is a numeric scale parameter. Default: 1. Range: lambda &gt; 0.\"},{\"Name\":\"PDF*15\",\"Definition\":\"Returns a value from a Negative Binomial probability density (mass) distribution.\",\"Parameter1\":\"'NEGBINOMIAL'\",\"Description1\":\"Is a character constant, variable, or expression that identifies the distribution.\",\"Parameter2\":\"m\",\"Description2\":\"Is a positive integer random variable that counts the number of failures. Range: m= 0, 1, ...\",\"Parameter3\":\"p\",\"Description3\":\"Is a numeric probability of success. Range: 0 \\u2264 p \\u2264 1.\",\"Parameter4\":\"n\",\"Description4\":\"Is a numeric value that counts the number of successes. Range: n &gt; 0.\"},{\"Name\":\"PDF*16\",\"Definition\":\"Returns a value from a Normal probability density (mass) distribution.\",\"Parameter1\":\"'NORMAL'\",\"Description1\":\"Is a character constant, variable, or expression that identifies the distribution.\",\"Parameter2\":\"x&lt;\",\"Description2\":\"Is a numeric random variable.\",\"Parameter3\":\"theta\",\"Description3\":\"Is a numeric location parameter. Default: 0\",\"Parameter4\":\"lambda&gt;\",\"Description4\":\"Is a numeric scale parameter. Default: 1. Range: lambda &gt; 0.\"},{\"Name\":\"PDF*17\",\"Definition\":\"Returns a value from a Normal Mixture probability density (mass) distribution.\",\"Parameter1\":\"'NORMALMIX'\",\"Description1\":\"Is a character constant, variable, or expression that identifies the distribution.\",\"Parameter2\":\"x\",\"Description2\":\"Is a numeric random variable.\",\"Parameter3\":\"n\",\"Description3\":\"Is the integer number of mixtures. Range: n = 1, 2, ...\",\"Parameter4\":\"p\",\"Description4\":\"Is the n proportions, p1, p2, ..., pn, where sum of p1 to pn is equal to 1. Range: p = 0, 1, ...\",\"Parameter5\":\"m\",\"Description5\":\"Is the n means, m1, m2, ...,mn.\",\"Parameter6\":\"s\",\"Description6\":\"Is the n standard deviations, s1, s2, ..., sn. Range: s &gt; 0.\"},{\"Name\":\"PDF*18\",\"Definition\":\"Returns a value from a Pareto probability density (mass) distribution.\",\"Parameter1\":\"'PARETO'\",\"Description1\":\"Is a character constant, variable, or expression that identifies the distribution.\",\"Parameter2\":\"x\",\"Description2\":\"Is a numeric random variable.\",\"Parameter3\":\"a&lt;\",\"Description3\":\"Is a numeric shape parameter. Range: a &gt; 0.\",\"Parameter4\":\"k&gt;\",\"Description4\":\"Is a numeric scale parameter. Default: 1. Range: k &gt; 0.\"},{\"Name\":\"PDF*19\",\"Definition\":\"Returns a value from a Poisson probability density (mass) distribution.\",\"Parameter1\":\"'POISSON'\",\"Description1\":\"Is a character constant, variable, or expression that identifies the distribution.\",\"Parameter2\":\"n\",\"Description2\":\"Is an integer random variable. Range: n= 0, 1, ...\",\"Parameter3\":\"m\",\"Description3\":\"Is a numeric mean parameter. Range: m &gt; 0.\"},{\"Name\":\"PDF*20\",\"Definition\":\"Returns a value from a T probability density (mass) distribution.\",\"Parameter1\":\"'T'\",\"Description1\":\"Is a character constant, variable, or expression that identifies the distribution.\",\"Parameter2\":\"t\",\"Description2\":\"Is a numeric random variable.\",\"Parameter3\":\"df&lt;\",\"Description3\":\"Is a numeric degrees of freedom parameter. Range: df &gt; 0.\",\"Parameter4\":\"nc&gt;\",\"Description4\":\"Is an optional numeric non-centrality parameter.\"},{\"Name\":\"PDF*21\",\"Definition\":\"Returns a value from a Uniform probability density (mass) distribution.\",\"Parameter1\":\"'UNIFORM'\",\"Description1\":\"Is a character constant, variable, or expression that identifies the distribution.\",\"Parameter2\":\"x\",\"Description2\":\"Is a numeric random variable.\",\"Parameter3\":\"l\",\"Description3\":\"Is the numeric left location parameter. Default: 0.\",\"Parameter4\":\"r\",\"Description4\":\"Is the numeric right location parameter. Default: 1. Range: r&gt;l.\"},{\"Name\":\"PDF*22\",\"Definition\":\"Returns a value from a Wald (Inverse Gaussian) probability density (mass) distribution.\",\"Parameter1\":\"'WALD'\",\"Description1\":\"Is a character constant, variable, or expression that identifies the distribution.\",\"Parameter2\":\"x\",\"Description2\":\"Is a numeric random variable.\",\"Parameter3\":\"d\",\"Description3\":\"Is a numeric shape parameter. Range: d&gt;l.\"},{\"Name\":\"PDF*23\",\"Definition\":\"Returns a value from a Weibull probability density (mass) distribution.\",\"Parameter1\":\"'WEIBULL'\",\"Description1\":\"Is a character constant, variable, or expression that identifies the distribution.\",\"Parameter2\":\"x\",\"Description2\":\"Is a numeric random variable.\",\"Parameter3\":\"a&lt;\",\"Description3\":\"Is a numeric shape parameter. Range: a &gt; 0.\",\"Parameter4\":\"lambda&gt;\",\"Description4\":\"Is a numeric scale parameter. Default: 1. Range: lambda &gt; 0.\"},{\"Name\":\"PEEK\",\"Definition\":\"Stores the contents of a memory address in a numeric variable on a 32-bit platform.\",\"Parameter1\":\"address&lt;\",\"Description1\":\"Is a numeric constant, variable, or expression that specifies the memory address.\",\"Parameter2\":\"length&gt;\",\"Description2\":\"Is a numeric constant, variable, or expression that specifies the data length. Range: 2 to 8.\"},{\"Name\":\"PEEKC\",\"Definition\":\"Stores the contents of a memory address in a character variable on a 32-bit platform.\",\"Parameter1\":\"address&lt;\",\"Description1\":\"Is a numeric constant, variable, or expression that specifies the memory address.\",\"Parameter2\":\"length&gt;\",\"Description2\":\"Is a numeric constant, variable, or expression that specifies the data length. Default: 8. Range: 1 to 32,767.\"},{\"Name\":\"PEEKCLONG\",\"Definition\":\"Stores the contents of a memory address in a character variable on 32-bit and 64-bit platforms.\",\"Parameter1\":\"address&lt;\",\"Description1\":\"Specifies a character constant, variable, or expression that contains the binary pointer address.\",\"Parameter2\":\"length&gt;\",\"Description2\":\"Is a numeric constant, variable, or expression that specifies the length of the character data. Default: 8. Range: 1 to 32,767.\"},{\"Name\":\"PEEKLONG\",\"Definition\":\"Stores the contents of a memory address in a numeric variable on 32-bit and 64-bit platforms.\",\"Parameter1\":\"address&lt;\",\"Description1\":\"Specifies a character constant, variable, or expression that contains the binary pointer address.\",\"Parameter2\":\"length&gt;\",\"Description2\":\"Is a numeric constant, variable, or expression that specifies the length of the character data. Default: 4 on 32-bit computers; 8 on 64-bit computers. Range: 1 -4 on 32-bit computers; 1-8 on 64-bit computers.\"},{\"Name\":\"PERM\",\"Definition\":\"Computes the number of permutations of n items that are taken r at a time.\",\"Parameter1\":\"n&lt;\",\"Description1\":\"Is an integer that represents the total number of elements from which the sample is chosen.\",\"Parameter2\":\"r&gt;\",\"Description2\":\"Is an integer value that represents the number of chosen elements. If r is omitted, the function returns the factorial of n. Restriction: r \\u2264 n.\"},{\"Name\":\"POINT\",\"Definition\":\"Locates an observation that is identified by the NOTE function.\",\"Parameter1\":\"data-set-id\",\"Description1\":\"Is a numeric variable that specifies the data set identifier that the OPEN function returns.\",\"Parameter2\":\"note-id\",\"Description2\":\"Is a numeric variable that specifies the identifier assigned to the observation by the NOTE function.\"},{\"Name\":\"POISSON\",\"Definition\":\"Returns the probability from a Poisson distribution.\",\"Parameter1\":\"m\",\"Description1\":\"Is a numeric mean parameter. Range: m \\u2265 0.\",\"Parameter2\":\"n\",\"Description2\":\"Is an integer random variable. Range: n \\u2265 0.\"},{\"Name\":\"POWER\",\"Definition\":\"Returns the value of a numeric value expression raised to a specified power. \\n    \\nReturn value data type: DOUBLE\",\"Parameter1\":\"numeric-expression\",\"Description1\":\"Specifies any valid expression that evaluates to a numeric value.\\n\\nValid data types: DOUBLE\",\"Parameter2\":\"integer-expression\",\"Description2\":\"Specifies any valid expression that evaluates to an integer value.\\n\\nValid data types: INTEGER, DOUBLE\"},{\"Name\":\"PROBBETA\",\"Definition\":\"Returns the probability from a beta distribution.\",\"Parameter1\":\"x\",\"Description1\":\"Is a numeric random variable. Range: 0 \\u2264 x \\u2264 1.\",\"Parameter2\":\"a\",\"Description2\":\"Is a numeric shape parameter. Range: a &gt; 0.\",\"Parameter3\":\"b\",\"Description3\":\"Is a numeric shape parameter. Range: b &gt; 0.\"},{\"Name\":\"PROBBNML\",\"Definition\":\"Returns the probability from a binomial distribution.\",\"Parameter1\":\"p\",\"Description1\":\"Is a numeric probability of success parameter. Range: 0 \\u2264 p \\u2264 1.\",\"Parameter2\":\"n\",\"Description2\":\"Is an integer number of independent Bernoulli trials parameter. Range: n &gt; 0.\",\"Parameter3\":\"m\",\"Description3\":\"Is an integer number of successes random variable. Range: 0 \\u2264 m \\u2264 n.\"},{\"Name\":\"PROBBNRM\",\"Definition\":\"Returns a probability from a bivariate normal distribution.\",\"Parameter1\":\"x\",\"Description1\":\"Specifies a numeric constant, variable, or expression.\",\"Parameter2\":\"y\",\"Description2\":\"Specifies a numeric constant, variable, or expression.\",\"Parameter3\":\"r\",\"Description3\":\"Is a numeric correlation coefficient. Range: -1 \\u2264 r \\u2264 1.\"},{\"Name\":\"PROBCHI\",\"Definition\":\"Returns the probability from a chi-square distribution.\",\"Parameter1\":\"x\",\"Description1\":\"Is a numeric random variable. Range: x \\u2265 0.\",\"Parameter2\":\"df\",\"Description2\":\"Is a numeric degrees of freedom parameter. Range: df \\u2265 0.\",\"Parameter3\":\"nc\",\"Description3\":\"Is an optional numeric noncentrality parameter. Range: nc \\u2265 0.\"},{\"Name\":\"PROBF\",\"Definition\":\"Returns the probability from an F distribution.\",\"Parameter1\":\"x\",\"Description1\":\"Is a numeric random variable. Range: x \\u2265 0.\",\"Parameter2\":\"ndf\",\"Description2\":\"Is a numeric numerator degrees of freedom parameter. Range: ndf \\u2265 0.\",\"Parameter3\":\"ddf&lt;\",\"Description3\":\"Is a numeric denominator degrees of freedom parameter. Range: ddf \\u2265 0.\",\"Parameter4\":\"nc\",\"Description4\":\"Is an optional numeric noncentrality parameter. Range: nc \\u2265 0.\"},{\"Name\":\"PROBGAM\",\"Definition\":\"Returns the probability from a gamma distribution.\",\"Parameter1\":\"x\",\"Description1\":\"Is a numeric random variable. Range: x \\u2265 0.\",\"Parameter2\":\"a\",\"Description2\":\"Is a numeric shape parameter. Range: a \\u2265 0.\"},{\"Name\":\"PROBHYPR\",\"Definition\":\"Returns the probability from a hypergeometric distribution.\",\"Parameter1\":\"N\",\"Description1\":\"Is an integer population size parameter. Range: N \\u2265 1.\",\"Parameter2\":\"K\",\"Description2\":\"Is an integer number of items in the category of interest parameter.  Range: 0 \\u2264 K \\u2264 N.\",\"Parameter3\":\"n\",\"Description3\":\"Is an integer sample size parameter.  Range: 0 \\u2264 n \\u2264 N.\",\"Parameter4\":\"x&lt;\",\"Description4\":\"Is an integer random variable.  Range: max(0, K + n-N) \\u2264 n \\u2264 min(K,n).\",\"Parameter5\":\"r&gt;\",\"Description5\":\"Is an optional numeric odds ratio parameter. Range: r \\u2265 0.\"},{\"Name\":\"PROBIT\",\"Definition\":\"Returns a quantile from the standard normal distribution.\",\"Parameter1\":\"p\",\"Description1\":\"Is a numeric probability.  Range: 0 &lt; p &lt; 1.\"},{\"Name\":\"PROBMC\",\"Definition\":\"Returns a probability or a quantile from various distributions for multiple comparisons of means.\",\"Parameter1\":\"distribution\",\"Description1\":\"Is a character constant, variable, or expression that identifies the distribution. Valid distributions: ANOM (Analysis of Means), DUNNETT1 (One-sided Dunnett), DUNNETT2 (Two-sided Dunnett), MAXMOD (Maximum Modulus), PARTRANGE (Partitioned Range), RANGE (Studentized Range), WILLIAMS.\",\"Parameter2\":\"q\",\"Description2\":\"Is the quantile from the distribution.\",\"Parameter3\":\"prob\",\"Description3\":\"Is the left probability from the distribution. Restriction: Either prob or q can be specified, but not both.\",\"Parameter4\":\"df\",\"Description4\":\"Is the degrees of freedom.\",\"Parameter5\":\"nparms&lt;\",\"Description5\":\"Is the number of treatments. For DUNNETT1 and DUNNETT2, the control group is not counted.\",\"Parameter6\":\"parameters&gt;\",\"Description6\":\"Is an optional set of nparms parameters that must be specified to handle the case of unequal sample sizes. The meaning of parameters depends on the value of distribution. If parameters is not specified, equal sample sizes are assumed, which is usually the case for a null hypothesis.\"},{\"Name\":\"PROBNEGB\",\"Definition\":\"Returns the probability from a negative binomial distribution.\",\"Parameter1\":\"p\",\"Description1\":\"Is a numeric probability of success parameter.  Range: 0 \\u2264 p \\u2264 1.\",\"Parameter2\":\"n\",\"Description2\":\"Is an integer number of successes parameter. Range: n \\u2265 0.\",\"Parameter3\":\"m\",\"Description3\":\"Is a positive integer random variable, the number of failures. Range: m \\u2265 0.\"},{\"Name\":\"PROBNORM\",\"Definition\":\"Returns the probability from the standard normal distribution.\",\"Parameter1\":\"x\",\"Description1\":\"Is a numeric random variable.\"},{\"Name\":\"PROBT\",\"Definition\":\"Returns the probability from a t distribution.\",\"Parameter1\":\"x\",\"Description1\":\"Is a numeric random variable.\",\"Parameter2\":\"df&lt;\",\"Description2\":\"Is a numeric degrees of freedom parameter. Range: df \\u2265 0.\",\"Parameter3\":\"nc&gt;\",\"Description3\":\"Is an optional numeric noncentrality parameter.\"},{\"Name\":\"PROPCASE\",\"Definition\":\"Converts all words in an argument to proper case.\",\"Parameter1\":\"argument&lt;\",\"Description1\":\"Specifies a character constant, variable, or expression.\",\"Parameter2\":\"delimiter(s)&gt;\",\"Description2\":\"Specifies one or more delimiters that are enclosed in quotation marks. The default delimiters are blank, forward slash, hyphen, open parenthesis, period, and tab.\"},{\"Name\":\"PRXMATCH\",\"Definition\":\"Searches for a pattern match and returns the position at which the pattern is found.\",\"Parameter1\":\"regular-expression-id | perl-regular-expression\",\"Description1\":\"Specifies either a numeric variable with a value that is a pattern identifier that is returned from the PRXPARSE function, or a character constant, variable, or expression with a value that is a Perl regular expression.\",\"Parameter2\":\"source\",\"Description2\":\"Specifies a character constant, variable, or expression that you want to search.\"},{\"Name\":\"PRXPAREN\",\"Definition\":\"Returns the last bracket match for which there is a match in a pattern.\",\"Parameter1\":\"regular-expression-id\",\"Description1\":\"Specifies a numeric variable with a value that is an identification number that is returned by the PRXPARSE function.\"},{\"Name\":\"PRXPARSE\",\"Definition\":\"Compiles a Perl regular expression (PRX) that can be used for pattern matching of a character value.\",\"Parameter1\":\"perl-regular-expression\",\"Description1\":\"Specifies a character value that is a Perl regular expression.\"},{\"Name\":\"PRXPOSN\",\"Definition\":\"Returns a character string that contains the value for a capture buffer.\",\"Parameter1\":\"regular-expression-id\",\"Description1\":\"Specifies a numeric variable with a value that is a pattern identifier that is returned by the PRXPARSE function.\",\"Parameter2\":\"capture-buffer\",\"Description2\":\"Is a numeric constant, variable, or expression that identifies the capture buffer for which to retrieve a value: 0 returns the entire match; between 1 and the number of open parentheses returns the value for that capture buffer; greater than the number of open parentheses returns a missing value.\",\"Parameter3\":\"source\",\"Description3\":\"Specifies the text from which to extract capture buffers.\"},{\"Name\":\"PTRLONGADD\",\"Definition\":\"Returns the pointer address as a character variable on 32-bit and 64-bit platforms.\",\"Parameter1\":\"pointer&lt;\",\"Description1\":\"Is a character constant, variable, or expression that specifies the pointer address.\",\"Parameter2\":\"amount&gt;\",\"Description2\":\"Is a numeric constant, variable, or expression that specifies the amount to add to the address.\"},{\"Name\":\"PUT\",\"Definition\":\"Returns a value using a specified format. \\n    \\nReturn value data type: NVARCHAR\",\"Parameter1\":\"expression\",\"Description1\":\"Specifies any valid expression. \\n\\nValid data types: DOUBLE, DATE, TIME, TIMESTAMP, CHAR, NCHAR\",\"Parameter2\":\"format.\",\"Description2\":\"Specifies either a TSPL format or a user-defined format that you want applied to expression. \\n\\nTo override the default alignment, you can add an alignment specification to a format: \\n\\n  -L left aligns the value\\n \\n  -C centers the value\\n \\n  -R right aligns the value\"},{\"Name\":\"PUTC\",\"Definition\":\"Enables you to specify a character format at run time.\",\"Parameter1\":\"source\",\"Description1\":\"Specifies a character constant, variable, or expression to which you want to apply the format.\",\"Parameter2\":\"format.&lt;\",\"Description2\":\"Is a character constant, variable, or expression with a value that is the character format you want to apply to source.\",\"Parameter3\":\"w&gt;\",\"Description3\":\"Is a numeric constant, variable, or expression that specifies a width to apply to the format. It overrides any width specification in the format. argument.\"},{\"Name\":\"PUTN\",\"Definition\":\"Enables you to specify a numeric format at run time.\",\"Parameter1\":\"source\",\"Description1\":\"Specifies a character constant, variable, or expression to which you want to apply the format.\",\"Parameter2\":\"format.&lt;\",\"Description2\":\"Is a character constant, variable, or expression with a value that is the numeric format you want to apply to source.\",\"Parameter3\":\"w&lt;\",\"Description3\":\"Is a numeric constant, variable, or expression that specifies a width to apply to the format. It overrides any width specification in the format. argument.\",\"Parameter4\":\"d&gt;&gt;\",\"Description4\":\"Is a numeric constant, variable, or expression that specifies the number of decimal places to use.\"},{\"Name\":\"PVP\",\"Definition\":\"Returns the present value for a periodic cash flow stream (such as a bond), with repayment of principal at maturity.\",\"Parameter1\":\"A\",\"Description1\":\"Specifies the par value. Range: A &gt; 0.\",\"Parameter2\":\"c\",\"Description2\":\"Specifies the nominal per-year coupon rate, expressed as a fraction. Range: 0 \\u2264 c \\u2264 1.\",\"Parameter3\":\"n\",\"Description3\":\"Specifies the number of coupons per year. Range: n &gt; 0 and is an integer.\",\"Parameter4\":\"K\",\"Description4\":\"Specifies the number of remaining coupons. Range: K &gt; 0 and is an integer.\",\"Parameter5\":\"ko\",\"Description5\":\"Specifies the time from the present date to the first coupon date, expressed in terms of the number of years. Range: 0 \\u2264 ko \\u2264 1/n.\",\"Parameter6\":\"y\",\"Description6\":\"Specifies the nominal per-year yield-to-maturity, expressed as a fraction. Range: y &gt; 0.\"},{\"Name\":\"QTR\",\"Definition\":\"Returns the quarter of the year from a SAS date value. \\n    \\nReturn value data type: DOUBLE\",\"Parameter1\":\"date\",\"Description1\":\"Specifies any valid expression that represents a SAS date value.\\n\\nValid data types: DOUBLE\"},{\"Name\":\"QUANTILE\",\"Definition\":\"Returns the quantile from a distribution that you specify.\",\"Parameter1\":\"dist\",\"Description1\":\"Is a character constant, variable, or expression that identifies the distribution. Refer to SAS documentation for valid distributions (eg. 'NORMAL', 'CHISQUARE', 'F', 'T', etc.).\",\"Parameter2\":\"probability\",\"Description2\":\"Is a numeric constant, variable, or expression that specifies the value of a random variable.\",\"Parameter3\":\"parm-1, ...,parm-k\",\"Description3\":\"Are optional shape, location, or scale parameters appropriate for the specific distribution.\"},{\"Name\":\"QUOTE\",\"Definition\":\"Adds double quotation marks to a character value. \\n    \\nReturn value data type: NCHAR\",\"Parameter1\":\"expression\",\"Description1\":\"Specifies any valid expression that evaluates to a character string.\\n\\nValid data types: NCHAR\"},{\"Name\":\"RANBIN\",\"Definition\":\"Returns a random variate from a binomial distribution.\",\"Parameter1\":\"seed\",\"Description1\":\"Is a numeric constant, variable, or expression with an integer value. If seed \\u2264 0, the time of day is used to initialize the seed stream. Range: seed&lt;(2\\u00b3\\u00b9)-1.\",\"Parameter2\":\"n\",\"Description2\":\"Is a numeric constant, variable, or expression with an integer value that specifies the number of independent Bernoulli trials parameter. Range: n &gt; 0.\",\"Parameter3\":\"p\",\"Description3\":\"Is a numeric constant, variable, or expression that specifies the probability of success. Range: 0 &lt; p &lt; 1.\"},{\"Name\":\"RANCAU\",\"Definition\":\"Returns a random variate from a Cauchy distribution.\",\"Parameter1\":\"seed\",\"Description1\":\"Is a numeric constant, variable, or expression with an integer value. If seed \\u2264 0, the time of day is used to initialize the seed stream. Range: seed&lt;(2\\u00b3\\u00b9)-1.\"},{\"Name\":\"RAND\",\"Definition\":\"Generates random numbers from a distribution that you specify.\",\"Parameter1\":\"dist\",\"Description1\":\"Is a character constant, variable, or expression that identifies the distribution. Refer to SAS documentation for valid distributions (eg. 'NORMAL', 'CHISQUARE', 'F', 'T', etc.).\",\"Parameter2\":\"parm-1, ...,parm-k\",\"Description2\":\"Are shape, location, or scale parameters appropriate for the specific distribution.\"},{\"Name\":\"RANEXP\",\"Definition\":\"Returns a random variate from an exponential distribution.\",\"Parameter1\":\"seed\",\"Description1\":\"Is a numeric constant, variable, or expression with an integer value. If seed \\u2264 0, the time of day is used to initialize the seed stream. Range: seed&lt;(2\\u00b3\\u00b9)-1.\"},{\"Name\":\"RANGAM\",\"Definition\":\"Returns a random variate from a gamma distribution.\",\"Parameter1\":\"seed\",\"Description1\":\"Is a numeric constant, variable, or expression with an integer value. If seed \\u2264 0, the time of day is used to initialize the seed stream. Range: seed&lt;(2\\u00b3\\u00b9)-1.\",\"Parameter2\":\"a\",\"Description2\":\"Is a numeric constant, variable, or expression that specifies the shape parameter. Range: a &gt; 0 \"},{\"Name\":\"RANGE\",\"Definition\":\"Returns the range of the nonmissing values. \\n    \\nAt least one non-null or nonmissing argument is required. Otherwise, \\nthe function returns a null or missing value. \\n\\nReturn value data type: DOUBLE\",\"Parameter1\":\"expression-1 [\",\"Description1\":\"Specifies any valid expression that evaluates to a numeric value. \\n\\nValid data types: DOUBLE\",\"Parameter2\":\"...expression-n ]\",\"Description2\":\"Specifies any valid expression that evaluates to a numeric value. \\n\\nValid data types: DOUBLE\"},{\"Name\":\"RANK\",\"Definition\":\"Returns the position of a character in the ASCII or EBCDIC collating sequence. \\n    \\nReturn value data type: DOUBLE\",\"Parameter1\":\"expression\",\"Description1\":\"Specifies any valid expression that evaluates to a character string.\\n\\nValid data types: NCHAR\"},{\"Name\":\"RANUNI\",\"Definition\":\"Returns a random variate from a uniform distribution.\",\"Parameter1\":\"seed\",\"Description1\":\"Is a numeric constant, variable, or expression with an integer value. If seed \\u2264 0, the time of day is used to initialize the seed stream. Range: seed&lt;(2\\u00b3\\u00b9)-1.\"},{\"Name\":\"RENAME\",\"Definition\":\"Renames a member of a SAS library, an entry in a SAS catalog, an external file, or a directory.\",\"Parameter1\":\"old-name\",\"Description1\":\"Specifies a character constant, variable, or expression that is the current name of a member of a SAS library, an entry in a SAS catalog, an external file, or an external directory.\",\"Parameter2\":\"new-name&lt;\",\"Description2\":\"Specifies a character constant, variable, or expression that is the new one-level name for the library member, catalog entry, external file, or directory.\",\"Parameter3\":\"type\",\"Description3\":\"Is a character constant, variable, or expression that specifies the type of element to rename. Values: 'ACCESS' (SAS/ACCESS), 'CATALOG', 'DATA', 'VIEW', 'FILE'. Default: 'DATA'\",\"Parameter4\":\"description&lt;\",\"Description4\":\"Specifies a character constant, variable, or expression that is the description of a catalog entry. You can specify description only when the value of type is CATALOG. Description can be a null argument.\",\"Parameter5\":\"password&lt;\",\"Description5\":\"Is a character constant, variable, or expression that specifies the password for the data set that is being renamed. Password can be a null argument.\",\"Parameter6\":\"generation&gt;&gt;&gt;&gt;\",\"Description6\":\"Is a numeric constant, variable, or expression that specifies the generation number of the data set that is being renamed. Generation can be a null argument.\"},{\"Name\":\"REPEAT\",\"Definition\":\"Repeats a character expression. \\n    \\nReturn value data type: VARCHAR, NVARCHAR\",\"Parameter1\":\"expression\",\"Description1\":\"Specifies any valid expression that evaluates to a character string.\\n\\nValid data types: CHAR, NCHAR\",\"Parameter2\":\"n\",\"Description2\":\"Specifies the number of times to repeat expression.\\n\\nRestriction: n must be greater than or equal to 0. \\n\\nValid data types: INTEGER\"},{\"Name\":\"RESOLVE\",\"Definition\":\"Returns the resolved value of the argument after it has been processed by the macro facility.\",\"Parameter1\":\"argument\",\"Description1\":\"Is a character constant, variable, or expression with a value that is a macro expression.\"},{\"Name\":\"REVERSE\",\"Definition\":\"Reverses a character expression.\",\"Parameter1\":\"expression\",\"Description1\":\"Specifies any valid expression that evaluates to a character string.\\n\\nValid data types: NCHAR\"},{\"Name\":\"REWIND\",\"Definition\":\"Positions the data set pointer at the beginning of a SAS data set.\",\"Parameter1\":\"data-set-id\",\"Description1\":\"Is a numeric variable that specifies the data set identifier that the OPEN function returns.\"},{\"Name\":\"RIGHT\",\"Definition\":\"Right aligns a character expression. \\n    \\nReturn value data type: NCHAR\",\"Parameter1\":\"expression\",\"Description1\":\"Specifies any valid expression that evaluates to a character string.\\n\\nValid data types: NCHAR\"},{\"Name\":\"RMS\",\"Definition\":\"Returns the root mean square. \\n    \\nReturn value data type: DOUBLE\",\"Parameter1\":\"expression-1 [\",\"Description1\":\"Specifies any valid expression that evaluates to a numeric value.\\n\\nValid data types: DOUBLE\",\"Parameter2\":\"... expression-n ]\",\"Description2\":\"Specifies any valid expression that evaluates to a numeric value.\\n\\nValid data types: DOUBLE\"},{\"Name\":\"ROUND\",\"Definition\":\"Rounds the first argument to the nearest multiple of the second argument, \\nor to the nearest integer when the second argument is omitted. \\n\\nReturn value data type: DOUBLE\",\"Parameter1\":\"expression [\",\"Description1\":\"Specifies any valid expression that evaluates to a numeric value, to be rounded.\\n\\nValid data types: DOUBLE\",\"Parameter2\":\"rounding-unit ]\",\"Description2\":\"Specifies a positive numeric expression that specifies the rounding unit.\\n\\nValid data types: DOUBLE\"},{\"Name\":\"ROUNDE\",\"Definition\":\"Rounds the first argument to the nearest multiple of the second argument, and returns an \\neven multiple when the first argument is halfway between the two nearest multiples. \\n\\nReturn value data type: DOUBLE\",\"Parameter1\":\"expression [\",\"Description1\":\"Specifies any valid expression that evaluates to a numeric value and that is to be rounded.\\n\\nValid data types: DOUBLE\",\"Parameter2\":\"rounding-unit ]\",\"Description2\":\"Specifies a positive numeric expression that specifies the rounding unit.\\n\\nDefault: 1 \\n\\nValid data types: DOUBLE\"},{\"Name\":\"ROUNDZ\",\"Definition\":\"Rounds the first argument to the nearest multiple of the second argument, \\nusing zero fuzzing.\\n\\nReturn value data type: DOUBLE\",\"Parameter1\":\"expression [\",\"Description1\":\"Specifies any valid expression that evaluates to a numeric value.\\n\\nValid data types: DOUBLE\",\"Parameter2\":\"rounding-unit ]\",\"Description2\":\"Specifies any valid expression that evaluates to a numeric expression and that specifies \\nthe rounding unit. \\n\\nRequirements: Only positive values are valid. \\nValid data types: DOUBLE \\nDefault value: 1\"},{\"Name\":\"SAVING\",\"Definition\":\"Returns the future value of a periodic saving.\",\"Parameter1\":\"f\",\"Description1\":\"Is numeric, the future amount (at the end of n periods). Range: f \\u2265 0.\",\"Parameter2\":\"p\",\"Description2\":\"Is numeric, the fixed periodic payment. Range: p \\u2265 0.\",\"Parameter3\":\"r\",\"Description3\":\"Is numeric, the periodic interest rate expressed as a decimal. Range: r \\u2265 0.\",\"Parameter4\":\"n\",\"Description4\":\"Is an integer, the number of compounding periods. Range: n \\u2265 0.\"},{\"Name\":\"SCAN*1\",\"Definition\":\"Returns the nth word from a character expression. \\n    \\nReturn value data type: NCHAR\",\"Parameter1\":\"expression\",\"Description1\":\"Specifies any valid expression that evaluates to a character string.\\n\\nValid data types: NCHAR\",\"Parameter2\":\"n [\",\"Description2\":\"Is a non-zero numeric expression that specifies the number of the word in the character \\nexpression that you want SCAN to select. The following rules apply: \\n\\nIf n is positive, SCAN counts words from left to right in the character string.\\n\\nIf n is negative, SCAN counts words from right to left in the character string.\\n\\nIf n is greater than the number of words in expression, SCAN returns a blank value.\",\"Parameter3\":\"delimiters ]\",\"Description3\":\"Specifies any valid expression that evaluates to a character string and that SCAN uses as word separators in the expression.\\n\\nRequirement: If delimiter is a constant, enclose delimiter in single quotation marks. \\nASCII default delimiters: blank . , ( + &amp; ! $ * ) ; ^ -- / % | \\nIn environments without the ^ character, SCAN uses the ~ character instead.\\n \\nEBCDIC default delimiters: blank . &lt; ( + | &amp; ! $ * ) ; \\u00ac -- / , % \\u00a2 \\nValid data types: NCHAR\"},{\"Name\":\"SCAN*2\",\"Definition\":\"This CALL SCAN routine returns the position and length of the nth word from a character string.\",\"Parameter1\":\"&lt;string&gt;\",\"Description1\":\"Specifies a character constant, variable, or expression.\",\"Parameter2\":\"count\",\"Description2\":\"Is a non-zero numeric constant, variable, or expression that has an integer value that specifies the number of the word in the character string that you want the CALL SCAN routine to select.\",\"Parameter3\":\"position\",\"Description3\":\"Specifies a numeric variable in which the position of the word is returned. If count exceeds the number of words in the string, then the value that is returned in position is zero. If count is zero or missing, then the value that is returned in position is missing.\",\"Parameter4\":\"length &lt;\",\"Description4\":\"Specifies a numeric variable in which the length of the word is returned. If count exceeds the number of words in the string, then the value that is returned in length is zero. If count is zero or missing, then the value that is returned in length is missing.\",\"Parameter5\":\"&lt;charlist&gt; &lt;\",\"Description5\":\"Specifies an optional character constant, variable, or expression that initializes a list of characters. This list determines which characters are used as the delimiters that separate words.\",\"Parameter6\":\"&lt;modifier&gt;&gt;&gt;\",\"Description6\":\"Specifies a character constant, variable, or expression in which each non-blank character modifies the action of the CALL SCAN routine. Blanks are ignored.\"},{\"Name\":\"SCAN*3\",\"Definition\":\"Searches for a word and masks special characters and mnemonic operators.\",\"Parameter1\":\"argument\",\"Description1\":\"Is a character string or a text expression. If argument contains a special character or mnemonic operator, use %QSCAN.\",\"Parameter2\":\"n&lt;\",\"Description2\":\"Is an integer or a text expression that yields an integer, which specifies the position of the word to return.\",\"Parameter3\":\"delimiters&gt;\",\"Description3\":\"Specifies an optional list of one or more characters that separate \\\"words\\\" or text expressions that yield one or more characters. Possible delimiters: blank . &lt; ( + &amp; ! $ * ) ; ^ - / , % |.\"},{\"Name\":\"SCANQ*1\",\"Definition\":\"Returns the nth word from a character expression, ignoring delimiters that are enclosed in quotation marks.\",\"Parameter1\":\"string\",\"Description1\":\"Specifies a character constant, variable, or expression.\",\"Parameter2\":\"n&lt;\",\"Description2\":\"Is a numeric constant, variable, or expression that has an integer value that specifies the number of the word in the character string that you want QSCAN to select. If n is positive, CALL SCANQ counts words from left to right. If n is negative, SCANQ counts words from right to left. If n is zero, or |n| is greater than the number of words in the character string, CALL SCANQ returns a position and length of zero.\",\"Parameter3\":\"delimiter(s)&lt;\",\"Description3\":\"Specifies an optional character constant, variable, or expression that specifies the characters that you want SCANQ to use to separate words in the character string. Restriction: You cannot use single or double quotation marks as delimiters. Default: If you omit delimiter, SCANQ uses white space characters (blank, horizontal and vertical tab, carriage return, line feed, and form feed) as delimiters.\"},{\"Name\":\"SCANQ*2\",\"Definition\":\"Returns the position and length of a given word from a character expression, and ignores delimiters that are enclosed in quotation marks.\",\"Parameter1\":\"string\",\"Description1\":\"Specifies a character constant, variable, or expression.\",\"Parameter2\":\"n\",\"Description2\":\"Is a numeric constant, variable, or expression that has an integer value that specifies the number of the word in the character string that you want QSCAN to select. If n is positive, CALL SCANQ counts words from left to right. If n is negative, SCANQ counts words from right to left. If n is zero, or |n| is greater than the number of words in the character string, CALL SCANQ returns a position and length of zero.\",\"Parameter3\":\"position\",\"Description3\":\"Specifies a numeric variable in which the position of the word is returned.\",\"Parameter4\":\"length&lt;\",\"Description4\":\"Specifies a numeric variable in which the length of the word is returned.\",\"Parameter5\":\"delimiter(s)&lt;\",\"Description5\":\"Specifies an optional character constant, variable, or expression that specifies the characters that you want SCANQ to use to separate words in the character string. Restriction: You cannot use single or double quotation marks as delimiters. Default: If you omit delimiter, SCANQ uses white space characters (blank, horizontal and vertical tab, carriage return, line feed, and form feed) as delimiters.\"},{\"Name\":\"SDF\",\"Definition\":\"Returns a survival function.\",\"Parameter1\":\"dist\",\"Description1\":\"Is a character string that identifies the distribution. Refer to SAS documentation for valid distributions (eg. 'NORMAL', 'CHISQUARE', 'F', 'T', etc.).\",\"Parameter2\":\"quantile\",\"Description2\":\"Is a numeric constant, variable or expression that specifies the value of a random variable.\",\"Parameter3\":\"parm-1, ...,parm-k\",\"Description3\":\"Are optional shape, location, or scale parameters appropriate for the specific distribution.\"},{\"Name\":\"SECOND\",\"Definition\":\"Returns the second from a SAS time or datetime value. \\n    \\nReturn value data type: DOUBLE\",\"Parameter1\":\"time | datetime\",\"Description1\":\"time \\nspecifies any valid expression that represents a SAS time value.\\n\\nValid data types: DOUBLE \\n\\ndatetime \\nspecifies any valid expression that represents a SAS datetime value.\\n\\nValid data types: DOUBLE\"},{\"Name\":\"SIGN\",\"Definition\":\"Returns a number that indicates the sign of a numeric value expression. \\n    \\nReturn value data type: DOUBLE\",\"Parameter1\":\"expression\",\"Description1\":\"Specifies any valid expression that evaluates to a numeric value.\\n\\nValid data types: DOUBLE\"},{\"Name\":\"SIN\",\"Definition\":\"Returns the trigonometric sine. \\n    \\nReturn value data type: DOUBLE\",\"Parameter1\":\"expression\",\"Description1\":\"Specifies any valid expression that evaluates to a numeric value.\\n\\nValid data types: DOUBLE\"},{\"Name\":\"SINH\",\"Definition\":\"Returns the hyperbolic sine. \\n    \\nReturn value data type: DOUBLE\",\"Parameter1\":\"expression\",\"Description1\":\"Specifies any valid expression that evaluates to a numeric value.\\n\\nValid data types: DOUBLE\"},{\"Name\":\"SKEWNESS\",\"Definition\":\"Returns the skewness. \\n    \\nRequirements: At least three non-null or non-missing arguments are required. \\nOtherwise, the function returns a null or missing value. \\n\\nReturn value data type: DOUBLE\",\"Parameter1\":\"expression-1\",\"Description1\":\"Specifies any valid expression that evaluates to a numeric value. \\n\\nValid data types: DOUBLE\",\"Parameter2\":\"expression-2\",\"Description2\":\"Specifies any valid expression that evaluates to a numeric value. \\n\\nValid data types: DOUBLE\",\"Parameter3\":\"expression-3 [\",\"Description3\":\"Specifies any valid expression that evaluates to a numeric value. \\n\\nValid data types: DOUBLE\",\"Parameter4\":\"...expression-n ]\",\"Description4\":\"Specifies any valid expression that evaluates to a numeric value. \\n\\nValid data types: DOUBLE\"},{\"Name\":\"SLEEP\",\"Definition\":\"For a specified period of time, suspends the execution of a program that invokes this function.\\n    \\nReturn value data type: DOUBLE\",\"Parameter1\":\"number-of-time-units [\",\"Description1\":\"Specifies any valid expression that evaluates to a numeric value and that specifies \\nthe number of units of time for which you want to suspend execution of a program.\\n\\nRange: n \\u2265 0\",\"Parameter2\":\"time-unit ]\",\"Description2\":\"Specifies  the unit of time, as a power of 10, which is applied to number-of-time-units. \\nFor example, 1 corresponds to a second, and .001 to a millisecond. \\n\\nDefault: 1 in a Windows PC environment, .001 in other environments\"},{\"Name\":\"SMALLEST\",\"Definition\":\"Returns the kth smallest non-null or non-missing value. \\n    \\nReturn value data type: DOUBLE\",\"Parameter1\":\"k\",\"Description1\":\"Specifies any valid expression that evaluates to a numeric value to return.\\n\\nValid data types: DOUBLE\",\"Parameter2\":\"expression [\",\"Description2\":\"Specifies any valid expression that evaluates to a numeric value to be processed. \\n\\nValid data types: DOUBLE\",\"Parameter3\":\"... expression ]\",\"Description3\":\"Specifies any valid expression that evaluates to a numeric value to be processed. \\n\\nValid data types: DOUBLE\"},{\"Name\":\"SOUNDEX\",\"Definition\":\"Encodes a string to facilitate searching.\",\"Parameter1\":\"argument\",\"Description1\":\"Specifies a character constant, variable, or expression.\"},{\"Name\":\"SPEDIS\",\"Definition\":\"Determines the likelihood of two words matching, expressed as the asymmetric spelling distance between the two words.\",\"Parameter1\":\"query\",\"Description1\":\"Identifies the word to query for the likelihood of a match. SPEDIS removes trailing blanks before comparing the value.\",\"Parameter2\":\"keyword\",\"Description2\":\"Specifies a target word for the query. SPEDIS removes trailing blanks before comparing the value.\"},{\"Name\":\"SQRT\",\"Definition\":\"Returns the square root of a value. \\n    \\nReturn value data type: DOUBLE\",\"Parameter1\":\"expression\",\"Description1\":\"Specifies any valid expression that evaluates to a nonnegative numeric value.\\n\\nValid data types: DOUBLE\"},{\"Name\":\"STD\",\"Definition\":\"Returns the standard deviation.\\n    \\nRequirements: At least two non-null or non-missing arguments are required. \\nOtherwise, the function returns a null or missing value. \\n\\nReturn value data type: DOUBLE\",\"Parameter1\":\"expression-1\",\"Description1\":\"Specifies any valid expression that evaluates to a numeric value. \\n\\nValid data types: DOUBLE\",\"Parameter2\":\"expression-2 [\",\"Description2\":\"Specifies any valid expression that evaluates to a numeric value. \\n\\nValid data types: DOUBLE\",\"Parameter3\":\"...expression-n ]\",\"Description3\":\"Specifies any valid expression that evaluates to a numeric value. \\n\\nValid data types: DOUBLE\"},{\"Name\":\"STDERR\",\"Definition\":\"Returns the standard error of the mean.\\n    \\nRequirements: At least two non-null or non-missing arguments are required. \\nOtherwise, the function returns a null or missing value. \\n\\nReturn value data type: DOUBLE\",\"Parameter1\":\"expression-1\",\"Description1\":\"Specifies any valid expression that evaluates to a numeric value. \\n\\nValid data types: DOUBLE\",\"Parameter2\":\"expression-2 [\",\"Description2\":\"Specifies any valid expression that evaluates to a numeric value. \\n\\nValid data types: DOUBLE\",\"Parameter3\":\"...expression-n ]\",\"Description3\":\"Specifies any valid expression that evaluates to a numeric value. \\n\\nValid data types: DOUBLE\"},{\"Name\":\"STFIPS\",\"Definition\":\"Converts state postal codes to FIPS state codes.\",\"Parameter1\":\"postal-code\",\"Description1\":\"Specifies a character expression that contains the two-character standard state postal code. Characters can be mixed case. The function ignores trailing blanks, but generates an error if the expression contains leading blanks.\"},{\"Name\":\"STNAME\",\"Definition\":\"Converts state postal codes to uppercase state names.\",\"Parameter1\":\"postal-code\",\"Description1\":\"Specifies a character expression that contains the two-character standard state postal code. Characters can be mixed case. The function ignores trailing blanks, but generates an error if the expression contains leading blanks.\"},{\"Name\":\"STNAMEL\",\"Definition\":\"Converts state postal codes to mixed case state names.\",\"Parameter1\":\"postal-code\",\"Description1\":\"Specifies a character expression that contains the two-character standard state postal code. Characters can be mixed case. The function ignores trailing blanks, but generates an error if the expression contains leading blanks.\"},{\"Name\":\"STRIP\",\"Definition\":\"Returns a character string with all leading and trailing blanks removed. \\n    \\nReturn value data type: NCHAR\",\"Parameter1\":\"expression\",\"Description1\":\"Specifies any valid expression that evaluates to a character string.\\n\\nValid data types: NCHAR\"},{\"Name\":\"SUBPAD\",\"Definition\":\"Returns a substring that has a length you specify, using blank padding if necessary.\",\"Parameter1\":\"string\",\"Description1\":\"Specifies a character constant, variable, or expression.\",\"Parameter2\":\"position&lt;\",\"Description2\":\"Is a positive integer that specifies the position of the first character in the substring.\",\"Parameter3\":\"length&gt;\",\"Description3\":\"Is a non-negative integer that specifies the length of the substring. If you do not specify length, the SUBPAD function returns the substring that extends from the position that you specify to the end of the string.\"},{\"Name\":\"SUBSTR*1\",\"Definition\":\"Returns a substring, allowing a result with a length of zero. \\n    \\nReturn value data type: VARCHAR, NVARCHAR\",\"Parameter1\":\"character-expression\",\"Description1\":\"Specifies any valid expression that evaluates to a character string.\\n\\nValid data types: CHAR, NCHAR\",\"Parameter2\":\"position-expression [\",\"Description2\":\"Specifies any valid expression that evaluates to an integer and that specifies the \\nposition of the first character in the substring. \\n\\nValid data types: INTEGER\",\"Parameter3\":\"length-expression ]\",\"Description3\":\"Specifies any valid expression that evaluates to an integer and that specifies the length \\nof the substring. If you do not specify length-expression, the SUBSTR function returns \\nthe substring that extends from the position that you specify to the end of the string.\\n\\nValid data types: INTEGER\"},{\"Name\":\"SUBSTR*2\",\"Definition\":\"Replaces character value contents. Appropriate for a SUBSTR (left of =) function, of the form SUBSTR(variable, position&lt;,length&gt;)=characters-to-replace.\",\"Parameter1\":\"variable\",\"Description1\":\"Specifies a character variable.\",\"Parameter2\":\"position [\",\"Description2\":\"Specifies a numeric constant, variable, or expression that is the beginning character position.\",\"Parameter3\":\"length ]\",\"Description3\":\"Specifies a numeric constant, variable, or expression that is the length of the substring that will be replaced.\"},{\"Name\":\"QSUBSTR\",\"Definition\":\"%QSUBSTR produces a substring of a character string, masking special characters and mnemonic operators.\",\"Parameter1\":\"argument\",\"Description1\":\"Is a character string or a text expression that might contain special characters and mnemonic operators such as &amp; % ' \\\" ( ) + - * / &lt; &gt; = \\u00ac ^ ~ ; , #  blank AND OR NOT EQ NE LE LT GE GT IN.\",\"Parameter2\":\"position&lt;\",\"Description2\":\"Is an integer or an expression (text, logical, or arithmetic) that yields an integer, which specifies the position of the first character in the substring.\",\"Parameter3\":\"length&gt;\",\"Description3\":\"Is an optional integer or an expression (text, logical, or arithmetic) that yields an integer that specifies the number of characters in the substring.\"},{\"Name\":\"SUBSTRN\",\"Definition\":\"Returns a substring, allowing a result with a length of zero.\",\"Parameter1\":\"string\",\"Description1\":\"Specifies a character constant, variable, or expression.\",\"Parameter2\":\"position&lt;\",\"Description2\":\"Is an integer that specifies the position of the first character in the substring.\",\"Parameter3\":\"length\",\"Description3\":\"Is an integer that specifies the length of the substring. If you do not specify length, the SUBSTRN function returns the substring that extends from the position that you specify to the end of the string.\"},{\"Name\":\"SUM\",\"Definition\":\"Returns the sum of the non-null or nonmissing arguments. \\n    \\nReturn value data type: BIGINT if all argument data types are BIGINT, otherwise, DOUBLE \\n\\nRequirements: At least two arguments are required.\",\"Parameter1\":\"expression-1\",\"Description1\":\"Specifies any valid expression that evaluates to a numeric value.\\n    \\nValid data types: DOUBLE, BIGINT\",\"Parameter2\":\"expression-2 [\",\"Description2\":\"&gt;Specifies any valid expression that evaluates to a numeric value.\\n    \\nValid data types: DOUBLE, BIGINT\",\"Parameter3\":\"... expression-n ]\",\"Description3\":\"Specifies any valid expression that evaluates to a numeric value.\\n    \\nValid data types: DOUBLE, BIGINT\"},{\"Name\":\"SUMABS\",\"Definition\":\"Returns the sum of the absolute values of the non-missing arguments.\",\"Parameter1\":\"value-1&lt;\",\"Description1\":\"Specifies a numeric expression.\",\"Parameter2\":\"value-2 ...&gt;\",\"Description2\":\"Specifies a numeric expression.\"},{\"Name\":\"SYMEXIST\",\"Definition\":\"Returns an indication of the existence of a macro variable.\",\"Parameter1\":\"argument\",\"Description1\":\"Can be one of the following items: (1) the name of a macro variable within double quotation marks but without an ampersand; (2) the name of a DATA step character variable, specified with no quotation marks, which contains a macro variable name; (3) a character expression that constructs a macro variable name.\"},{\"Name\":\"SYMGET\",\"Definition\":\"Returns the value of a macro variable during DATA step execution.\",\"Parameter1\":\"argument\",\"Description1\":\"Can be one of the following items: (1) the name of a macro variable within double quotation marks but without an ampersand; (2) the name of a DATA step character variable, specified with no quotation marks, which contains a macro variable name; (3) a character expression that constructs a macro variable name.\"},{\"Name\":\"SYMGLOBL\",\"Definition\":\"Returns an indication of whether a macro variable is in global scope to the DATA step during DATA step execution.\",\"Parameter1\":\"argument\",\"Description1\":\"Can be one of the following items: (1) the name of a macro variable within double quotation marks but without an ampersand; (2) the name of a DATA step character variable, specified with no quotation marks, which contains a macro variable name; (3) a character expression that constructs a macro variable name.\"},{\"Name\":\"SYMLOCAL\",\"Definition\":\"Returns an indication of whether a macro variable is in local scope to the DATA step during DATA step execution.\",\"Parameter1\":\"argument\",\"Description1\":\"Can be one of the following items: (1) the name of a macro variable within double quotation marks but without an ampersand; (2) the name of a DATA step character variable, specified with no quotation marks, which contains a macro variable name; (3) a character expression that constructs a macro variable name.\"},{\"Name\":\"SYSGET\",\"Definition\":\"Returns the value of the specified operating environment variable.\",\"Parameter1\":\"operating-environment-variable\",\"Description1\":\"Is a character constant, variable, or expression with a value that is the name of an operating environment variable. The case of operating-environment-variable must agree with the case that is stored in the operating environment. Trailing blanks in the argument of SYSGET are significant. Use the TRIM function to remove them.\"},{\"Name\":\"SYSMSG\",\"Definition\":\"Returns error or warning message text from processing the last data set or external file function.\"},{\"Name\":\"SYSPARM\",\"Definition\":\"Returns the system parameter string.\"},{\"Name\":\"SYSPROCESSID\",\"Definition\":\"Returns the process ID of the current process.\"},{\"Name\":\"SYSPROCESSNAME\",\"Definition\":\"Returns the process name that is associated with a given process ID, or returns the name of the current process.\",\"Parameter1\":\"&lt;process_id&gt;\",\"Description1\":\"Specifies a 32-character hexadecimal process id.\"},{\"Name\":\"SYSPROD\",\"Definition\":\"Determines whether a product is licensed.\",\"Parameter1\":\"product-name\",\"Description1\":\"Specifies a character constant, variable, or expression with a value that is the name of a SAS product.\"},{\"Name\":\"SYSRC\",\"Definition\":\"Returns a system error number.\"},{\"Name\":\"SYSTEM\",\"Definition\":\"Issues an operating environment command during a SAS session, and returns the system return code.\",\"Parameter1\":\"command\",\"Description1\":\"Specifies any of the following: a system command that is enclosed in quotation marks (explicit character string), an expression whose value is a system command, or the name of a character variable whose value is a system command that is executed.\"},{\"Name\":\"TAN\",\"Definition\":\"Returns the tangent. \\n    \\nReturn value data type: DOUBLE\",\"Parameter1\":\"expression\",\"Description1\":\"Specifies any valid expression that evaluates to a numeric value in radians.\\n\\nRestriction: expression cannot be an odd multiple of \\u03c0/2 \\nValid data types: DOUBLE\"},{\"Name\":\"TANH*1\",\"Definition\":\"Returns the hyperbolic tangent. \\n    \\nReturn value data type: DOUBLE\",\"Parameter1\":\"expression\",\"Description1\":\"Specifies any valid expression that evaluates to a numeric value.\\n\\nRestriction: expression cannot be an odd multiple of \\u03c0/2 \\nValid data types: DOUBLE\"},{\"Name\":\"TANH*2\",\"Definition\":\"This CALL TANH routine returns the hyperbolic tangent.\",\"Parameter1\":\"expression-1&lt;\",\"Description1\":\"Specifies a numeric variable. Do not use a constant or a SAS expression because the CALL routine is unable to update these arguments.\",\"Parameter2\":\"..., expression-n&gt;\",\"Description2\":\"Specifies a numeric variable. Do not use a constant or a SAS expression because the CALL routine is unable to update these arguments.\"},{\"Name\":\"TIME\",\"Definition\":\"Returns the current time of day as a numeric SAS time value.\"},{\"Name\":\"TIMEPART\",\"Definition\":\"Extracts a time value from a SAS datetime value. \\n    \\nReturn value data type: DOUBLE\",\"Parameter1\":\"datetime\",\"Description1\":\"Specifies any valid expression that represents a SAS datetime value.\\n\\nValid data types: DOUBLE\"},{\"Name\":\"TINV\",\"Definition\":\"Returns a quantile from the t distribution.\",\"Parameter1\":\"p\",\"Description1\":\"Is a numeric probability. Range: 0 &lt; p &lt; 1\",\"Parameter2\":\"df\",\"Description2\":\"Is a numeric degrees of freedom parameter. Range: df &gt; 0.\",\"Parameter3\":\"nc\",\"Description3\":\"Is an optional numeric noncentrality parameter.\"},{\"Name\":\"TNONCT\",\"Definition\":\"Returns the value of the noncentrality parameter from the Student's t distribution.\",\"Parameter1\":\"x\",\"Description1\":\"Is a numeric random variable.\",\"Parameter2\":\"df\",\"Description2\":\"Is a numeric degrees of freedom parameter. Range: df &gt; 0.\",\"Parameter3\":\"prob\",\"Description3\":\"Is a probability. Range: 0 &lt; prob &lt; 1\",\"Parameter4\":null,\"Description4\":null},{\"Name\":\"TODAY\",\"Definition\":\"Returns the current date as a numeric SAS date value. \\n    \\nReturn value data type: DOUBLE\"},{\"Name\":\"TRANSLATE\",\"Definition\":\"Replaces specific characters in a character expression. \\n    \\nReturn value data type: NCHAR\",\"Parameter1\":\"expression\",\"Description1\":\"Specifies any valid expression that evaluates to a character string. expression contains the original character value.\\n\\nValid data types: CHAR\",\"Parameter2\":\"to-characters\",\"Description2\":\"Specifies the characters that you want TRANSLATE to use as substitutes.\\n\\nValid data types: NCHAR\",\"Parameter3\":\"from-characters\",\"Description3\":\"Specifies the characters that you want TRANSLATE to replace. \\n\\nValid data types: NCHAR\"},{\"Name\":\"TRANSTRN\",\"Definition\":\"Replaces all occurrences of a substring found in a character string, allowing a zero-length replacement string.\",\"Parameter1\":\"text\",\"Description1\":\"Specifies the input string.\",\"Parameter2\":\"from\",\"Description2\":\"Specifies the string to be searched for.\",\"Parameter3\":\"to\",\"Description3\":\"Specifies what each occurrence of the from argument will be changed to.\"},{\"Name\":\"TRANWRD\",\"Definition\":\"Replaces or removes all occurrences of a substring in a character string. \\n    \\nReturn value data type: NCHAR\",\"Parameter1\":\"source-expression\",\"Description1\":\"Specifies any valid expression that evaluates to a character string, whose characters \\nyou want to replace.\\n\\nValid data types: NCHAR\",\"Parameter2\":\"target-expression\",\"Description2\":\"Specifies any valid expression that evaluates to a character string and that is searched \\nfor in source-expression.\\n\\nValid data types: NCHAR \\n\\nRequirement: The length of the target-expression must be greater than zero.\",\"Parameter3\":\"replacement-expressiont\",\"Description3\":\"Specifies any valid expression that evaluates to a character string and that replaces \\ntarget-expression.\\n\\nValid data types: NCHAR\"},{\"Name\":\"TRIGAMMA\",\"Definition\":\"Returns the value of the trigamma function. \\n    \\nReturn value data type: DOUBLE\",\"Parameter1\":\"expression\",\"Description1\":\"Specifies any valid expression that evaluates to a numeric value. \\n\\nRestriction: Nonpositive integers are invalid. \\nValid data types: DOUBLE\"},{\"Name\":\"TRIM\",\"Definition\":\"Removes trailing blanks from a character expression. \\n    \\nReturn value data type: VARCHAR, NVARCHAR\",\"Parameter1\":\"expression\",\"Description1\":\"Specifies  any valid expression that evaluates to a character string.\\n\\nValid data types: CHAR, NCHAR\"},{\"Name\":\"QTRIM\",\"Definition\":\"Removes trailing blanks from a character string, and returns one blank if the string is missing. QTRIM produces a result with special characters and mnemonic operators masked.\",\"Parameter1\":\"argument\",\"Description1\":\"Specifies a character constant, variable, or text expression that might contain special characters and/or mnemonic operators such as &amp; % ' \\\" ( ) + - * / &lt; &gt; = \\u00ac ^ ~ ; , # blank AND OR NOT EQ NE LE LT GE GT IN.\"},{\"Name\":\"TRIMN\",\"Definition\":\"Removes trailing blanks from a character expression. \\n    \\nReturn value data type: VARCHAR, NVARCHAR\",\"Parameter1\":\"expression\",\"Description1\":\"Specifies  any valid expression that evaluates to a character string.\\n\\nValid data types: CHAR, NCHAR\"},{\"Name\":\"TRUNC\",\"Definition\":\"Truncates a numeric value to a specified length. \\n    \\nReturn value data type: DOUBLE\",\"Parameter1\":\"expression\",\"Description1\":\"Specifies any valid expression that evaluates to a numeric value.\\n\\nValid data types: DOUBLE\",\"Parameter2\":\"length-expression\",\"Description2\":\"Specifies  any valid expression that evaluates to a numeric value.\\n\\nRange: 3 - 8 \\nValid data types: DOUBLE\"},{\"Name\":\"UNIFORM\",\"Definition\":\"Returns a random variate from a uniform distribution.\",\"Parameter1\":\"seed\",\"Description1\":\"Is the seed value. A new value for seed is returned each time CALL RANUNI is executed. Range: seed &lt; 2\\u00b3\\u00b9 - 1.\",\"Parameter2\":\"x\",\"Description2\":\"Is a numeric variable. A new value for the random variate x is returned each time CALL RANUNI is executed.\"},{\"Name\":\"UPCASE\",\"Definition\":\"Converts all letters in an argument to uppercase. \\n    \\nReturn value data type: VARCHAR, NVARCHAR\",\"Parameter1\":\"expression\",\"Description1\":\"Specifies any valid expression that evaluates to a character string.\\n\\nValid data types: CHAR, NCHAR\"},{\"Name\":\"QUPCASE\",\"Definition\":\"Converts all letters in an argument to uppercase. %QUPCASE masks special characters and mnemonic operators in its result.\",\"Parameter1\":\"character string | text expression\",\"Description1\":\"Specifies a character constant, variable, or text expression that might contain special characters and/or mnemonic operators such as &amp; % ' \\\" ( ) + - * / &lt; &gt; = \\u00ac ^ ~ ; , # blank AND OR NOT EQ NE LE LT GE GT IN.\"},{\"Name\":\"URLDECODE\",\"Definition\":\"Returns a string that was decoded using the URL escape syntax.\",\"Parameter1\":\"argument\",\"Description1\":\"Specifies a character constant, variable, or expression.\"},{\"Name\":\"URLENCODE\",\"Definition\":\"Returns a string that was encoded using the URL escape syntax.\",\"Parameter1\":\"argument\",\"Description1\":\"Specifies a character constant, variable, or expression.\"},{\"Name\":\"USS\",\"Definition\":\"Returns the uncorrected sum of squares. \\n    \\nReturn value data type: DOUBLE \\n\\nRequirement: At least one non-null or non-missing argument is required. \\nOtherwise, the function returns a null or missing value.\",\"Parameter1\":\"expression-1 [\",\"Description1\":\"Specifies any valid expression that evaluates to a numeric value. \\n\\nValid data types: DOUBLE \\n\",\"Parameter2\":\"... expression-n ]\",\"Description2\":\"Specifies a numeric constant, variable, or expression.\"},{\"Name\":\"UUIDGEN\",\"Definition\":\"Returns the short or binary form of a Universal Unique Identifier (UUID).\",\"Parameter1\":\"&lt;max-warnings&lt;\",\"Description1\":\"Specifies an integer value that represents the maximum number of warnings that this function writes to the log. Default: 1.\",\"Parameter2\":\"binary-result&gt;&gt;\",\"Description2\":\"Specifies an integer value that indicates whether this function should return a binary result. Nonzero indicates a binary result should be returned. Zero indicates that a character result should be returned. Default: 0.\",\"Parameter3\":null,\"Description3\":null,\"Parameter4\":null,\"Description4\":null},{\"Name\":\"VAR\",\"Definition\":\"Returns the variance. \\n    \\nReturn value data type: DOUBLE \\n\\nRequirements: At least two non-null or non-missing arguments are required. \\nOtherwise, the function returns a null or missing value. \",\"Parameter1\":\"expression-1\",\"Description1\":\"Specifies any valid expression that evaluates to a numeric value. The argument \\nlist can consist of a variable list. \\n\\nValid data types: DOUBLE\",\"Parameter2\":\"expression-2 [\",\"Description2\":\"Specifies any valid expression that evaluates to a numeric value. The argument \\nlist can consist of a variable list. \\n\\nValid data types: DOUBLE\",\"Parameter3\":\"... expression-n ]\",\"Description3\":\"Specifies any valid expression that evaluates to a numeric value. The argument \\nlist can consist of a variable list. \\n\\nValid data types: DOUBLE\"},{\"Name\":\"VARFMT\",\"Definition\":\"Returns the format that is assigned to a SAS data set variable.\",\"Parameter1\":\"data-set-id\",\"Description1\":\"Specifies the data set identifier that the OPEN function returns.\",\"Parameter2\":\"var-num\",\"Description2\":\"Specifies the number of the variable's position in the SAS data set.\"},{\"Name\":\"VARINFMT\",\"Definition\":\"Returns the informat that is assigned to a SAS data set variable.\",\"Parameter1\":\"data-set-id\",\"Description1\":\"Specifies the data set identifier that the OPEN function returns.\",\"Parameter2\":\"var-num\",\"Description2\":\"Specifies the number of the variable's position in the SAS data set.\"},{\"Name\":\"VARLABEL\",\"Definition\":\"Returns the label that is assigned to a SAS data set variable.\",\"Parameter1\":\"data-set-id\",\"Description1\":\"Specifies the data set identifier that the OPEN function returns.\",\"Parameter2\":\"var-num\",\"Description2\":\"Specifies the number of the variable's position in the SAS data set.\"},{\"Name\":\"VARLEN\",\"Definition\":\"Returns the length of a SAS data set variable.\",\"Parameter1\":\"data-set-id\",\"Description1\":\"Specifies the data set identifier that the OPEN function returns.\",\"Parameter2\":\"var-num\",\"Description2\":\"Specifies the number of the variable's position in the SAS data set.\"},{\"Name\":\"VARNAME\",\"Definition\":\"Returns the name of a SAS data set variable.\",\"Parameter1\":\"data-set-id\",\"Description1\":\"Specifies the data set identifier that the OPEN function returns.\",\"Parameter2\":\"var-num\",\"Description2\":\"Specifies the number of the variable's position in the SAS data set.\"},{\"Name\":\"VARNUM\",\"Definition\":\"Returns the number of a variable's position in a SAS data set.\",\"Parameter1\":\"data-set-id\",\"Description1\":[\"Specifies the data set identifier that the OPEN function returns.\",null],\"Parameter2\":\"var-name\",\"Description2\":\"Specifies the variable's name.\"},{\"Name\":\"VARRAY\",\"Definition\":\"Returns a value that indicates whether the specified name is an array.\",\"Parameter1\":\"name\",\"Description1\":\"Specifies a name that is expressed as a scalar or as an array reference.\"},{\"Name\":\"VARRAYX\",\"Definition\":\"Returns a value that indicates whether the value of the specified argument is an array.\",\"Parameter1\":\"expression\",\"Description1\":\"Specifies a character constant, variable, or expression. The value of the specified expression cannot denote an array reference.\"},{\"Name\":\"VARTYPE\",\"Definition\":\"Returns the data type of a SAS data set variable.\",\"Parameter1\":\"data-set-id\",\"Description1\":\"Specifies the data set identifier that the OPEN function returns.\",\"Parameter2\":\"var-num\",\"Description2\":\"Specifies the number of the variable's position in the SAS data set.\"},{\"Name\":\"VERIFY\",\"Definition\":\"Returns the position of the first character that is unique to an expression. \\n    \\n Return value data type: DOUBLE\",\"Parameter1\":\"target-expression\",\"Description1\":\"Specifies any valid expression that evaluates to a character string that is to be searched. \\n\\nRequirements: Literal character strings must be enclosed in single quotation marks. \\nValid data types: NCHAR\",\"Parameter2\":\"search-expression\",\"Description2\":\"Specifies any valid expression that evaluates to a character string.\\n\\nRequirements: Literal character strings must be enclosed in single quotation marks. \\nValid data types: NCHAR\"},{\"Name\":\"VFORMAT\",\"Definition\":\"Returns the format that is associated with the specified variable.\",\"Parameter1\":\"var\",\"Description1\":\"Specifies a variable that is expressed as a scalar or as an array reference. You cannot use an expression as an argument.\"},{\"Name\":\"VFORMATD\",\"Definition\":\"Returns the decimal value of the format that is associated with the specified variable.\",\"Parameter1\":\"var\",\"Description1\":\"Specifies a variable that is expressed as a scalar or as an array reference. You cannot use an expression as an argument.\"},{\"Name\":\"VFORMATDX\",\"Definition\":\"Returns the decimal value of the format that is associated with the value of the specified argument.\",\"Parameter1\":\"expression\",\"Description1\":\"Specifies a SAS character constant, variable, or expression that evaluates to a variable name. The value of the specified expression cannot denote an array reference.\"},{\"Name\":\"VFORMATN\",\"Definition\":\"Returns the format name that is associated with the specified variable.\",\"Parameter1\":\"var\",\"Description1\":\"Specifies a variable that is expressed as a scalar or as an array reference. You cannot use an expression as an argument.\"},{\"Name\":\"VFORMATNX\",\"Definition\":\"Returns the format name that is associated with the value of the specified argument.\",\"Parameter1\":\"expression\",\"Description1\":\"Specifies a SAS character constant, variable, or expression that evaluates to a variable name. The value of the specified expression cannot denote an array reference.\"},{\"Name\":\"VFORMATW\",\"Definition\":\"Returns the format width that is associated with the specified variable.\",\"Parameter1\":\"var\",\"Description1\":\"Specifies a variable that is expressed as a scalar or as an array reference. You cannot use an expression as an argument.\"},{\"Name\":\"VFORMATWX\",\"Definition\":\"Returns the format width that is associated with the value of the specified argument.\",\"Parameter1\":\"expression\",\"Description1\":\"Specifies a SAS character constant, variable, or expression that evaluates to a variable name. The value of the specified expression cannot denote an array reference.\"},{\"Name\":\"VFORMATX\",\"Definition\":\"Returns the format that is associated with the value of the specified argument.\",\"Parameter1\":\"expression\",\"Description1\":\"Specifies a SAS character constant, variable, or expression that evaluates to a variable name. The value of the specified expression cannot denote an array reference.\"},{\"Name\":\"VINARRAY\",\"Definition\":\"Returns a value that indicates whether the specified variable is a member of an array.\",\"Parameter1\":\"var\",\"Description1\":\"Specifies a variable that is expressed as a scalar or as an array reference. You cannot use an expression as an argument.\"},{\"Name\":\"VINARRAYX\",\"Definition\":\"Returns a value that indicates whether the value of the specified argument is a member of an array.\",\"Parameter1\":\"expression\",\"Description1\":\"Specifies a SAS character constant, variable, or expression that evaluates to a variable name. The value of the specified expression cannot denote an array reference.\"},{\"Name\":\"VINFORMAT\",\"Definition\":\"Returns the informat that is associated with the specified variable.\",\"Parameter1\":\"var\",\"Description1\":\"Specifies a variable that is expressed as a scalar or as an array reference. You cannot use an expression as an argument.\"},{\"Name\":\"VINFORMATD\",\"Definition\":\"Returns the decimal value of the informat that is associated with the specified variable.\",\"Parameter1\":\"var\",\"Description1\":\"Specifies a variable that is expressed as a scalar or as an array reference. You cannot use an expression as an argument.\"},{\"Name\":\"VINFORMATDX\",\"Definition\":\"Returns the decimal value of the informat that is associated with the value of the specified variable.\",\"Parameter1\":\"expression\",\"Description1\":\"Specifies a SAS character constant, variable, or expression that evaluates to a variable name. The value of the specified expression cannot denote an array reference.\"},{\"Name\":\"VINFORMATN\",\"Definition\":\"Returns the informat name that is associated with the specified variable.\",\"Parameter1\":\"var\",\"Description1\":\"Specifies a variable that is expressed as a scalar or as an array reference. You cannot use an expression as an argument.\"},{\"Name\":\"VINFORMATNX\",\"Definition\":\"Returns the informat name that is associated with the value of the specified argument.\",\"Parameter1\":\"expression\",\"Description1\":\"Specifies a SAS character constant, variable, or expression that evaluates to a variable name. The value of the specified expression cannot denote an array reference.\"},{\"Name\":\"VINFORMATW\",\"Definition\":\"Returns the informat width that is associated with the specified variable.\",\"Parameter1\":\"var\",\"Description1\":\"Specifies a variable that is expressed as a scalar or as an array reference. You cannot use an expression as an argument.\"},{\"Name\":\"VINFORMATWX\",\"Definition\":\"Returns the informat width that is associated with the value of the specified argument.\",\"Parameter1\":\"expression\",\"Description1\":\"Specifies a SAS character constant, variable, or expression that evaluates to a variable name. The value of the specified expression cannot denote an array reference.\"},{\"Name\":\"VINFORMATX\",\"Definition\":\"Returns the informat that is associated with the value of the specified argument.\",\"Parameter1\":\"expression\",\"Description1\":\"Specifies a SAS character constant, variable, or expression that evaluates to a variable name. The value of the specified expression cannot denote an array reference.\"},{\"Name\":\"VLABEL\",\"Definition\":\"Returns the label that is associated with the specified variable.\",\"Parameter1\":\"var\",\"Description1\":\"Specifies a variable that is expressed as a scalar or as an array reference. You cannot use an expression as an argument.\"},{\"Name\":\"VLABELX\",\"Definition\":\"Returns the label that is associated with the value of the specified argument.\",\"Parameter1\":\"expression\",\"Description1\":\"Specifies a SAS character constant, variable, or expression that evaluates to a variable name. The value of the specified expression cannot denote an array reference.\"},{\"Name\":\"VLENGTH\",\"Definition\":\"Returns the compile-time (allocated) size of the specified variable.\",\"Parameter1\":\"var\",\"Description1\":\"Specifies a variable that is expressed as a scalar or as an array reference. You cannot use an expression as an argument.\"},{\"Name\":\"VLENGTHX\",\"Definition\":\"Returns the compile-time (allocated) size for the variable that has a name that is the same as the value of the argument.\",\"Parameter1\":\"expression\",\"Description1\":\"Specifies a SAS character constant, variable, or expression that evaluates to a variable name. The value of the specified expression cannot denote an array reference.\"},{\"Name\":\"VNAME*1\",\"Definition\":\"Returns the name of the specified variable.\",\"Parameter1\":\"var\",\"Description1\":\"Specifies a variable that is expressed as a scalar or as an array reference. You cannot use an expression as an argument.\"},{\"Name\":\"VNAME*2\",\"Definition\":\"Assigns a variable name as the value of a specified variable (variable-2).\",\"Parameter1\":\"variable-1\",\"Description1\":\"Specifies any SAS variable.\",\"Parameter2\":\"variable-2\",\"Description2\":\"Specifies any SAS character variable. Because SAS variable names can contain up to 32 characters, the length of variable-2 should be at least 32.\"},{\"Name\":\"VNAMEX\",\"Definition\":\"Validates the value of the specified argument as a variable name.\",\"Parameter1\":\"expression\",\"Description1\":\"Specifies a SAS character constant, variable, or expression that evaluates to a variable name. The value of the specified expression cannot denote an array reference.\"},{\"Name\":\"VTYPE\",\"Definition\":\"Returns the type (character or numeric) of the specified variable.\",\"Parameter1\":\"var\",\"Description1\":\"Specifies a variable that is expressed as a scalar or as an array reference. You cannot use an expression as an argument.\"},{\"Name\":\"VTYPEX\",\"Definition\":\"Returns the type (character or numeric) for the value of the specified argument.\",\"Parameter1\":\"expression\",\"Description1\":\"Specifies a SAS character constant, variable, or expression that evaluates to a variable name. The value of the specified expression cannot denote an array reference.\"},{\"Name\":\"VVALUE\",\"Definition\":\"Returns the formatted value that is associated with the variable that you specify.\",\"Parameter1\":\"var\",\"Description1\":\"Specifies a variable that is expressed as a scalar or as an array reference. You cannot use an expression as an argument.\"},{\"Name\":\"VVALUEX\",\"Definition\":\"Returns the formatted value that is associated with the argument that you specify.\",\"Parameter1\":\"expression\",\"Description1\":\"Specifies a SAS character constant, variable, or expression that evaluates to a variable name. The value of the specified expression cannot denote an array reference.\"},{\"Name\":\"WEEK\",\"Definition\":\"Returns the week-number value.\",\"Parameter1\":\"&lt;sas-date&gt;\",\"Description1\":\"Specifies a SAS date value. If the SAS date argument is not specified, the WEEK function returns the week-number value of the current date.\",\"Parameter2\":\"&lt;'descriptor'&gt;\",\"Description2\":\"Specifies the value of the descriptor. The following descriptors can be specified in uppercase or lowercase characters: 'U' (Default; SAS date specified as number-of-week value in decimal number 0-53; Sunday first day of week); 'V' (SAS date specified as number-of-week value in decimal number 1-53; Monday first day of week); 'W' (SAS date specified as number-of-week value in decimal number 0-53; Monday first day of week);\"},{\"Name\":\"WEEKDAY\",\"Definition\":\"From a SAS date value, returns an integer that corresponds to the day of the week. \\n    \\nReturn value data type: DOUBLE\",\"Parameter1\":\"expression\",\"Description1\":\"Specifies any valid expression that represents a SAS date value.\\n\\nValid data types: DOUBLE\"},{\"Name\":\"WHICHC\",\"Definition\":\"Returns the first position of a character string from a list of character strings. \\n    \\nReturn value data type:  DOUBLE\",\"Parameter1\":\"search-expression\",\"Description1\":\"Specifies any valid expression that evaluates to a character string that is compared \\nwith a list of character string expressions. \\n\\nRequirements: Literal character strings must be enclosed in single quotation marks. \\n\\nValid data types: NCHAR\",\"Parameter2\":\"expression-list-item-1\",\"Description2\":\"Specifies any valid expression that evaluates to a character string and that is a member \\nof a list of character string expressions. \\n\\nRequirements: Literal character strings must be enclosed in single quotation marks. \\nAt least two expressions are required in the list. \\n\\nValid data types: NCHAR\",\"Parameter3\":\"expression-list-item-2 [\",\"Description3\":\"Specifies any valid expression that evaluates to a character string and that is a member \\nof a list of character string expressions. \\n\\nRequirements: Literal character strings must be enclosed in single quotation marks. \\nAt least two expressions are required in the list. \\n\\nValid data types: NCHAR\",\"Parameter4\":\"... expression-list-item-n ]\",\"Description4\":\"Specifies any valid expression that evaluates to a character string and that is a member \\nof a list of character string expressions. \\n\\nRequirements: Literal character strings must be enclosed in single quotation marks. \\nAt least two expressions are required in the list. \\n\\nValid data types: NCHAR\"},{\"Name\":\"WHICHN\",\"Definition\":\"Returns the first position of a number from a list of numbers. \\n    \\nReturn value data type: DOUBLE\",\"Parameter1\":\"search-expression\",\"Description1\":\"Specifies any valid expression that evaluates to a character string that is compared \\nwith a list of numeric expressions. \\n\\nRequirements: Literal character strings must be enclosed in single quotation marks. \\n\\nValid data types: NCHAR\",\"Parameter2\":\"expression-list-item-1\",\"Description2\":\"Specifies any valid expression that evaluates to a number and is part of a list.\\n\\nRequirements: At least two expressions are required in the list. \\nValid data types: DOUBLE\",\"Parameter3\":\"expression-list-item-2 [\",\"Description3\":\"Specifies any valid expression that evaluates to a number and is part of a list.\\n\\nRequirements: At least two expressions are required in the list. \\nValid data types: DOUBLE\",\"Parameter4\":\"... expression-list-item-n ]\",\"Description4\":\"Specifies any valid expression that evaluates to a number and is part of a list.\\n\\nRequirements: At least two expressions are required in the list. \\nValid data types: DOUBLE\"},{\"Name\":\"YEAR\",\"Definition\":\"Returns the year from a SAS date value. \\n    \\nReturn value data type DOUBLE\",\"Parameter1\":\"date\",\"Description1\":\"Specifies any valid expression that represents a SAS date value.\\n\\nValid data types: DOUBLE\"},{\"Name\":\"YIELDP\",\"Definition\":\"Returns the yield-to-maturity for a periodic cash flow stream, such as a bond.\",\"Parameter1\":\"A\",\"Description1\":\"Specifies the face value. Range: A &gt; 0.\",\"Parameter2\":\"c\",\"Description2\":\"Specifies the nominal annual coupon rate, expressed as a fraction. Range: 0 \\u2264 c &lt; 1.\",\"Parameter3\":\"n\",\"Description3\":\"Specifies the number of coupons per year. Range: n &gt; 0.\",\"Parameter4\":\"K\",\"Description4\":\"Specifies the number of remaining coupons from settlement date to maturity. Range: K &gt; 0 and is an integer.\",\"Parameter5\":\"ko\",\"Description5\":\"Specifies the time from settlement date to the next coupon as a fraction of the annual basis.  Range: 0 &lt; c \\u2264 1/n.\",\"Parameter6\":\"p\",\"Description6\":\"Specifies the price with accrued interest. Range: p &gt; 0.\"},{\"Name\":\"YRDIF\",\"Definition\":\"Returns the difference in years between two dates.\",\"Parameter1\":\"sdate\",\"Description1\":\"Specifies a SAS date value that identifies the starting date.\",\"Parameter2\":\"edate\",\"Description2\":\"Specifies a SAS date value that identifies the ending date.\",\"Parameter3\":\"basis\",\"Description3\":\"Identifies a character constant or variable that describes how SAS calculates the date difference in the securities industry. The following character strings are valid: '30/360' (30-day month and a 360-day year), 'ACT/ACT' (uses actual number of days between dates), 'ACT/360' (uses actual number of calendar days in a month, and 360 days for the year), 'ACT/365' (uses actual number of calendar days for each month, and 365 days for the year).\"},{\"Name\":\"YYQ\",\"Definition\":\"Returns a SAS date value from year and quarter year values. \\n    \\nReturn value data type: DOUBLE\",\"Parameter1\":\"year\",\"Description1\":\"Specifies any valid expression that evaluates to a two-digit or four-digit integer \\nthat represents the year. The YEARCUTOFF= system option defines the year value for \\ntwo-digit dates.\\n\\nValid data types: DOUBLE\",\"Parameter2\":\"quarter\",\"Description2\":\"Specifies the quarter of the year (1, 2, 3, or 4).\"},{\"Name\":\"ZIPCITY\",\"Definition\":\"Returns a city name and the two-character postal code that corresponds to a zip code.\",\"Parameter1\":\"zip-code\",\"Description1\":\"Specifies a numeric or character expression that contains a five-digit zip code.\"},{\"Name\":\"ZIPCITYDISTANCE\",\"Definition\":\"Returns the geodetic distance between two zip code locations.\",\"Parameter1\":[\"zip-code-1\",\"zip-code-2\"],\"Description1\":[\"Specifies a numeric or character expression that contains the zip code of a location in the United States of America.\",\"Specifies a numeric or character expression that contains the zip code of a location in the United States of America.\"]},{\"Name\":\"ZIPFIPS\",\"Definition\":\"Converts zip codes to two-digit FIPS codes.\",\"Parameter1\":\"zip-code\",\"Description1\":\"Specifies a numeric or character expression that contains a five-digit zip code.\"},{\"Name\":\"ZIPNAME\",\"Definition\":\"Converts zip codes to uppercase state names.\",\"Parameter1\":\"zip-code\",\"Description1\":\"Specifies a numeric or character expression that contains a five-digit zip code.\"},{\"Name\":\"ZIPNAMEL\",\"Definition\":\"Converts zip codes to mixed case state names.\",\"Parameter1\":\"zip-code\",\"Description1\":\"Specifies a numeric or character expression that contains a five-digit zip code.\"},{\"Name\":\"ZIPSTATE\",\"Definition\":\"Converts zip codes to two-character state postal codes.\",\"Parameter1\":\"zip-code\",\"Description1\":\"Specifies a numeric or character expression that contains a five-digit zip code.\"},{\"Name\":\"ASCEBC\",\"Definition\":\"Converts an input character string from ASCII to EBCDIC.\",\"Parameter1\":\"in-string\",\"Description1\":\"Is any ASCII string, and can be a character variable, a character literal enclosed in double quotation marks, or another character expression. The value of in-string is limited to 200 characters.\"},{\"Name\":\"EBCASC\",\"Definition\":\"Converts an input character string from EBCDIC to ASCII.\",\"Parameter1\":\"in-string\",\"Description1\":\"Is any EBCDIC string, and can be a character variable, a character literal enclosed in double quotation marks, or another character expression. The value of in-string is limited to 200 characters.\"},{\"Name\":\"FILEATTR\",\"Definition\":\"Returns the attribute information for a specified file.\",\"Parameter1\":\"file-specification\",\"Description1\":\"Is the file for which you are requesting information. It can be a character variable, a character literal enclosed in double quotation marks, or another character expression.\",\"Parameter2\":\"item\",\"Description2\":\"Specifies which attribute of the file you are requesting. It can be a character variable, a character literal enclosed in double quotation marks, or another character expression.\"},{\"Name\":\"FINDFILE\",\"Definition\":\"Searches a directory for a file.\",\"Parameter1\":\"file-specification\",\"Description1\":\"Specifies the file specification of the file that you are searching for. It can contain any valid OpenVMS file specification, including wildcards. The value for file-specification can be a character variable, a character literal enclosed in double quotation marks, or another character expression.\",\"Parameter2\":\"context\",\"Description2\":\"Is a variable used internally by SAS to maintain the search context between executions of FINDFILE. It must be initialized to 0 before the first execution of FINDFILE for a given file-specification and must not be modified between executions.\"},{\"Name\":\"GETDVI\",\"Definition\":\"Returns a specified item of information from a device.\",\"Parameter1\":\"device-name\",\"Description1\":\"Specifies a physical device name or a logical name equated to a physical device name. Specify the device name as a character-string expression.\",\"Parameter2\":\"item\",\"Description2\":\"Is a character variable that contains any item accepted by the F$GETDVI lexical function (for example, the physical device name).\"},{\"Name\":\"GETJPI\",\"Definition\":\"Retrieves job-process information.\",\"Parameter1\":\"jpi-item&lt;\",\"Description1\":\"Is a character variable that contains any item accepted by the F$GETJPI lexical function, for example, a user process name.\",\"Parameter2\":\"pid\",\"Description2\":\"Can be either character (process-name variable) or numeric (process-ID variable).\"},{\"Name\":\"GETLOG\",\"Definition\":\"Returns information about a DCL logical name.\",\"Parameter1\":\"logical-name&lt;\",\"Description1\":\"Can be a character variable, character literal enclosed in double quotation marks, or another character expression.\",\"Parameter2\":\"table&gt;\",\"Description2\":\"Is an optional character parameter that is the name of a DCL logical name table. It can be a character variable, a character literal enclosed in double quotation marks, or another character expression.\",\"Parameter3\":\"&lt;index&gt;\",\"Description3\":\"Is an optional numeric parameter that indicates the number of the translation to return if a logical name has multiple translations. This argument can be either a numeric literal or numeric variable. The default value is 0.\",\"Parameter4\":\"&lt;mode&gt;\",\"Description4\":\"Is an optional character parameter that contains the access mode to be used for translation. It can be a character variable, a character literal enclosed in double quotation marks, or another character expression. The default is \\\"USER\\\".\",\"Parameter5\":\"&lt;case&gt;\",\"Description5\":\"Is an optional character parameter that determines the case to be used for translation. Values: \\\"CASE_BLIND\\\" | \\\"CASE_SENSITIVE\\\".\",\"Parameter6\":\"item\",\"Description6\":\"Is an optional character parameter that specifies what type of information is to be returned about a logical name. It can be a character variable, a character literal enclosed in double quotation marks, or another character expression. The default value is \\\"VALUE\\\".\"},{\"Name\":\"GETMSG\",\"Definition\":\"Translates an OpenVMS error code into text.\",\"Parameter1\":\"status\",\"Description1\":\"Is an OpenVMS status code. It is usually returned from one of the other functions that return an OpenVMS status code on failure.\"},{\"Name\":\"GETQUOTA\",\"Definition\":\"Retrieves disk quota information.\",\"Parameter1\":\"dev\",\"Description1\":\"Is the device that you want to gather disk quota information for.\",\"Parameter2\":\"user\",\"Description2\":\"Receives your numeric user identification code (UIC) on the disk. The UICw. format can be used to format the numeric value. This variable must be initialized to 0 before the first execution.\",\"Parameter3\":\"usage\",\"Description3\":\"Receives your current disk usage in blocks. This variable must be initialized to 0 before the first execution.\",\"Parameter4\":\"perm\",\"Description4\":\"Receives your permanent quota. This variable must be initialized to 0 before the first execution.\",\"Parameter5\":\"over\",\"Description5\":\"Receives your allowed overdraft. This variable must be initialized to 0 before the first execution.\",\"Parameter6\":\"context\",\"Description6\":\"Is a numeric variable that must be initialized to 0 before the first execution and must not be modified between calls.\",\"Parameter7\":\"chan\",\"Description7\":\"Is a numeric variable that must be initialized to 0 before the first execution and must not be modified between calls.\"},{\"Name\":\"GETSYM\",\"Definition\":\"Returns the value of a DCL symbol.\",\"Parameter1\":\"symbol-name\",\"Description1\":\"Is the name of a DCL symbol defined in your process. It can be a character variable, character literal enclosed in double quotation marks, or another character expression. If symbol-name is more than 200 characters long, it is truncated.\"},{\"Name\":\"GETTERM\",\"Definition\":\"Returns the characteristics of your terminal device.\",\"Parameter1\":\"characteristic-name\",\"Description1\":\"Is the name of the terminal characteristic to be returned. The argument can be a character variable, character literal enclosed in double quotation marks, or another character expression. If characteristic-name is longer than 200 characters, it is truncated.\"},{\"Name\":\"NODENAME\",\"Definition\":\"Returns the name of the current node.\"},{\"Name\":\"PUTLOG\",\"Definition\":\"Creates an OpenVMS logical-name in your process-level logical name table.\",\"Parameter1\":\"logical-name\",\"Description1\":\"The name of the OpenVMS logical name that you want to create. It can be a character variable, a character literal enclosed in double quotation marks, or another character expression.\",\"Parameter2\":\"value\",\"Description2\":\"Is the string to be assigned to the symbol. It can be a character variable, a character literal enclosed in double quotation marks, or another character expression.\"},{\"Name\":\"PUTSYM\",\"Definition\":\"Creates a DCL symbol in the parent SAS process.\",\"Parameter1\":\"symbol-name\",\"Description1\":\"Is the name of the DCL symbol that you want to create. It can be a character variable value, a character literal enclosed in double quotation marks, or another character expression.\",\"Parameter2\":\"value\",\"Description2\":\"Is the string to be assigned to the symbol. It can be a character variable, a character literal enclosed in double quotation marks, or another character expression.\",\"Parameter3\":\"scope\",\"Description3\":\"Defines whether the symbol is a local or global symbol. If the value of scope is 1, the symbol is defined as a local symbol. If the value of scope is 2, the symbol is defined as a global symbol. The scope argument can be either a numeric literal or a numeric variable.\"},{\"Name\":\"SETTERM\",\"Definition\":\"Modifies a characteristic of your terminal device.\",\"Parameter1\":\"characteristic-name\",\"Description1\":\"Is the name of the terminal characteristic to be modified. The argument can be a character variable, a character literal enclosed in double quotation marks, or another character expression.\",\"Parameter2\":\"new-value\",\"Description2\":\"Is the new setting for the characteristic.\"},{\"Name\":\"TERMIN\",\"Definition\":\"Allows simple input from SYS$INPUT.\",\"Parameter1\":\"prompt\",\"Description1\":\"Is the prompt printed on the monitor. It can be a character variable, a character literal enclosed in double quotation marks, or another character expression.\"},{\"Name\":\"TERMOUT\",\"Definition\":\"Allows simple output to SYS$OUTPUT.\",\"Parameter1\":\"output\",\"Description1\":\"Is a character string to write to SYS$OUTPUT. It can be a character variable, character literal enclosed in double quotation marks, or another character expression.\"},{\"Name\":\"TTCLOSE\",\"Definition\":\"Closes a channel that was previously assigned by TTOPEN.\",\"Parameter1\":\"channel\",\"Description1\":\"Is the channel variable returned from the TTOPEN function.\"},{\"Name\":\"TTCONTRL\",\"Definition\":\"Modifies the characteristics of a channel that was previously assigned by TTOPEN.\",\"Parameter1\":\"control-specification\",\"Description1\":\"Is the control string as described for the TTOPEN function. The syntax for control-specification is the same as for TTOPEN, except that the DEVICE= attribute cannot be changed.\",\"Parameter2\":\"channel\",\"Description2\":\"Is the channel variable that was returned from the TTOPEN function.\"},{\"Name\":\"TTOPEN\",\"Definition\":\"Assigns an I/O channel to a terminal.\",\"Parameter1\":\"control-specification\",\"Description1\":\"Is the control string that specifies the terminal and processing options, separated from each other by blanks. It can be a character variable, a character literal enclosed in double quotation marks, or another character expression.\",\"Parameter2\":\"channel\",\"Description2\":\"Is a numeric variable into which the TTOPEN function places the channel number.\"},{\"Name\":\"TTREAD\",\"Definition\":\"Reads characters from the channel assigned by TTOPEN.\",\"Parameter1\":\"channel\",\"Description1\":\"Is the channel variable returned from the TTOPEN function.\",\"Parameter2\":\"buffer\",\"Description2\":\"Is the character variable where the returned characters are stored.\",\"Parameter3\":\"&lt;size&gt;\",\"Description3\":\"Is an optional numeric variable, numeric literal, or an expression which indicates the maximum number of characters to read and receives the number of characters read. If you do not specify size, the TTREAD function reads characters up to the size of buffer.\"},{\"Name\":\"TTWRITE\",\"Definition\":\"Writes characters to the channel assigned by TTOPEN.\",\"Parameter1\":\"channel\",\"Description1\":\"Is the channel variable returned from the TTOPEN function.\",\"Parameter2\":\"buffer\",\"Description2\":\"Is the character variable, character literal, or an expression that contains the data to be written.\",\"Parameter3\":\"&lt;size&gt;\",\"Description3\":\"Is an optional numeric variable, numeric literal, or expression that specifies how many characters to write from buffer. If you do not specify size, the entire buffer is sent, including any trailing blanks.\"},{\"Name\":\"VMS\",\"Definition\":\"Spawns a subprocess and executes a DCL command.\",\"Parameter1\":\"DCL-command\",\"Description1\":\"Is the DCL command that is passed to the subprocess. It can be a character variable, a character literal enclosed in double quotation marks, or another character expression.\"},{\"Name\":\"BQUOTE\",\"Definition\":\"Mask special characters and mnemonic operators in a resolved value at macro execution.\",\"Parameter1\":\"character string | text expression\",\"Description1\":\"Character string or text expression.\"},{\"Name\":\"NRBQUOTE\",\"Definition\":\"Mask special characters and mnemonic operators in a resolved value at macro execution.\",\"Parameter1\":\"character string | text expression\",\"Description1\":\"Character string or text expression.\"},{\"Name\":\"EVAL\",\"Definition\":\"Evaluates arithmetic and logical expressions using integer arithmetic.\",\"Parameter1\":\"arithmetic or logical expression\",\"Description1\":\"Integer arithmetic or logical expression.\"},{\"Name\":\"NRQUOTE\",\"Definition\":\"Masks special characters, including &amp; and %, and mnemonic operators in a resolved value at macro execution.\",\"Parameter1\":\"character string | text expression\",\"Description1\":\"Character string or text expression.\"},{\"Name\":\"STR\",\"Definition\":\"Masks special characters, excluding &amp; and %, and mnemonic operators in constant text during macro compilation.\",\"Parameter1\":\"character-string\",\"Description1\":\"A character string that may contain special characters and/or mnemonic operators such as + - * / &lt; &gt; = \\u00ac ^ ~ ; ,  # blank AND OR NOT EQ NE LE LT GE GT IN.\"},{\"Name\":\"NRSTR\",\"Definition\":\"Masks special characters, including &amp; and %, and mnemonic operators in constant text during macro compilation.\",\"Parameter1\":\"character-string\",\"Description1\":\"A character string that may contain special characters and/or mnemonic operators such as + - * / &lt; &gt; = \\u00ac ^ ~ ; ,  # blank AND OR NOT EQ NE LE LT GE GT IN &amp; %.\"},{\"Name\":\"QSCAN\",\"Definition\":\"Searches for a word and masks special characters and mnemonic operators.\",\"Parameter1\":\"argument\",\"Description1\":\"Is a character string or a text expression. If argument might contain a special character or mnemonic operator, listed below, use %QSCAN.\",\"Parameter2\":\"n&lt;\",\"Description2\":\"Is an integer or a text expression that yields an integer, which specifies the position of the word to return.\",\"Parameter3\":\"delimiters&gt;\",\"Description3\":\"Specifies an optional list of one or more characters that separate \\\"words\\\" or text expressions that yield one or more characters. Possible delimiters: blank . &lt; ( + &amp; ! $ * ) ; ^ - / , % |.\"},{\"Name\":\"SUPERQ\",\"Definition\":\"Masks all special characters and mnemonic operators at macro execution but prevents further resolution of the value.\",\"Parameter1\":\"argument\",\"Description1\":\"Is the name of a macro variable with no leading ampersand or a text expression that produces the name of a macro variable with no leading ampersand.\"},{\"Name\":\"SYMEXIST\",\"Definition\":\"Returns an indication of the existence of a macro variable.\",\"Parameter1\":\"macro-variable-name\",\"Description1\":\"Is the name of a macro variable or a text expression that yields the name of a macro variable.\"},{\"Name\":\"SYSEVALF\",\"Definition\":\"Evaluates arithmetic and logical expressions using floating-point arithmetic.\",\"Parameter1\":\"expression&lt;\",\"Description1\":\"Is an arithmetic or logical expression to evaluate.\",\"Parameter2\":\"conversion-type&gt;\",\"Description2\":\"Converts the value returned by %SYSEVALF to the type of value specified. Valid values: BOOLEAN (returns 0 if result is 0 or missing; 1 if any other value); CEIL (returns a character value representing the smallest integer that is greater than or equal to the result of the expression.); FLOOR (returns a character value representing the largest integer that is less than or equal to the result of the expression.); INTEGER (returns a character value representing the integer portion of the result, truncating the decimal portion.)\"},{\"Name\":\"SYSFUNC\",\"Definition\":\"Execute SAS functions or user-written functions.\",\"Parameter1\":\"function(expression-1 &lt;...expression-n&gt;)&lt;\",\"Description1\":\"Is the function to execute, including one or more arguments used by the function. You cannot nest functions to be used with a single %SYSFUNC. However, you can nest %SYSFUNC calls.\",\"Parameter2\":\"format&gt;\",\"Description2\":\"Is an optional format to apply to the result of function. This format can be provided by SAS, generated by PROC FORMAT, or created with SAS/TOOLKIT.\"},{\"Name\":\"QSYSFUNC\",\"Definition\":\"Execute SAS functions or user-written functions. %QSYSFUNC masks special characters and mnemonic operators such as &amp; % ' \\\" ( ) + - * / &lt; &gt; = \\u00ac ^ ~ ; , #  blank AND OR NOT EQ NE LE LT GE GT IN.\",\"Parameter1\":\"function(expression-1 &lt;...expression-n&gt;)&lt;\",\"Description1\":\"Is the function to execute, including one or more arguments used by the function. You cannot nest functions to be used with a single %SYSFUNC. However, you can nest %SYSFUNC calls.\",\"Parameter2\":\"format&gt;\",\"Description2\":\"Is an optional format to apply to the result of function. This format can be provided by SAS, generated by PROC FORMAT, or created with SAS/TOOLKIT.\"},{\"Name\":\"SYSGET\",\"Definition\":\"Returns the value of the specified operating environment variable.\",\"Parameter1\":\"environment-variable\",\"Description1\":\"Is the name of an environment variable. The case of environment-variable must agree with the case that is stored on the operating environment.\"},{\"Name\":\"SYSPROD\",\"Definition\":\"Reports whether a SAS software product is licensed at the site.\",\"Parameter1\":\"product\",\"Description1\":\"Can be a character string or text expression that yields a code for a SAS product: AF CPE GRAPH PH-CLINICAL ASSIST EIS IML QC BASE ETS INSIGHT  SHARE CALC FSP  LAB STAT CONNECT GIS OR TOOLKIT.\"},{\"Name\":\"UNQUOTE\",\"Definition\":\"During macro execution, unmasks all special characters and mnemonic operators for a value.\",\"Parameter1\":\"character string | text expression\",\"Description1\":\"Character string or text expression that might contain special characters and/or mnemonic operators.\"},{\"Name\":\"CMPRES\",\"Definition\":\"Compress multiple blanks and remove leading and trailing blanks.\",\"Parameter1\":\"text | text expression\",\"Description1\":\"A character constant or expression.\"},{\"Name\":\"QCMPRES\",\"Definition\":\"Compress multiple blanks and remove leading and trailing blanks.  QCMPRES produces a result with special characters and mnemonic operators masked.\",\"Parameter1\":\"text | text expression\",\"Description1\":\"A character constant or expression that might contain special characters and/or mnemonic operators such as &amp; % ' \\\" ( ) + - * / &lt; &gt; = \\u00ac ^ ~ ; , # blank AND OR NOT EQ NE LE LT GE GT IN.\"},{\"Name\":\"COMPSTOR\",\"Definition\":\"Compiles macros and stores them in a catalog in a permanent SAS library.\",\"Parameter1\":\"PATHNAME=SAS-data-library\",\"Description1\":\"SAS-data-library is the physical name of a SAS library on your host system.\"},{\"Name\":\"DATATYP\",\"Definition\":\"Returns the data type of a value.\",\"Parameter1\":\"text | text expression\",\"Description1\":\"A character constant or expression.\"},{\"Name\":\"VERIFY\",\"Definition\":\"Returns the position of the first character unique to an expression. %VERIFY returns the position of the first character in source that is not also present in excerpt. If all characters in source are present in excerpt, %VERIFY returns 0.\",\"Parameter1\":\"source\",\"Description1\":\"Is text or a text expression that you want to examine for characters that do not exist in excerpt.\",\"Parameter2\":\"excerpt \",\"Description2\":\"Is text or a text expression. This is the text that defines the set of characters that %VERIFY uses to examine source.\"},{\"Name\":\"DQLOAD\",\"Definition\":\"Sets system option values and loads locales into memory.\",\"Parameter1\":\"DQLOCALE=(locale1 ...localeN)\",\"Description1\":\"Specifies a value for the DQLOCALE= system option to load an ordered list of locales into memory.\",\"Parameter2\":\"DQSETUPLOC=`file-specification' | `path-specification'\",\"Description2\":\"Specifies a value for the system option DQSETUPLOC=.\",\"Parameter3\":\"&lt;DQINFO=0 | 1&gt;\",\"Description3\":\"Generates additional information in the SAS log about the status of the locale load operation. The default value is DQINFO=0.\"},{\"Name\":\"DQPUTLOC\",\"Definition\":\"Displays current information on a specified locale in the SAS log.\",\"Parameter1\":\"locale\",\"Description1\":\"Specifies the locale of interest. The value can be a locale name in quotation marks or the name of a variable whose value is a locale name or an expression that evaluates to a locale name.\",\"Parameter2\":\"&lt;SHORT=0 | 1&gt;\",\"Description2\":\"Shortens the length of the entry in the SAS log. Specify SHORT=1 to remove the descriptions of how the definitions are used. The default value is SHORT=0, which displays the descriptions of how the definitions are used.\",\"Parameter3\":\"&lt;PARSEDEFN=0 | 1&gt;\",\"Description3\":\"Lists with each gender analysis definition and each match definition the related parse definition, if such a parse definition exists. The default value PARSEDEFN=1 lists the related parse definition. PARSEDEFN=0 does not list the related parse definition.\"},{\"Name\":\"DQCASE\",\"Definition\":\"Returns a character value with standardized capitalization.\",\"Parameter1\":\"char\",\"Description1\":\"Is the value that is transformed, according to the specified case definition. The value can be the name of a character variable, a character value in quotation marks, or an expression that evaluates to a variable name or a quoted value.\",\"Parameter2\":\"'case-definition'&lt;\",\"Description2\":\"Specifies the name of the case definition that will be referenced during the transformation.\",\"Parameter3\":\"'locale'&gt;\",\"Description3\":\"Specifies the name of the locale that contains the specified case definition. The value can be a name in quotation marks, the name of a variable whose value is a locale name, or an expression that evaluates to a variable name or to a quoted locale name.\"},{\"Name\":\"DQGENDER\",\"Definition\":\"Returns a gender determination from the name of an individual.\",\"Parameter1\":\"char\",\"Description1\":\"Is the name of a character variable, a character value in quotation marks, or an expression that evaluates to a variable name or a quoted value.\",\"Parameter2\":\"'gender-analysis-definition'&lt;\",\"Description2\":\"Specifies the name of the gender analysis definition, which must exist in the specified locale.\",\"Parameter3\":\"'locale'&gt;\",\"Description3\":\"Specifies the name of the locale that contains the specified gender analysis definition. The value can be a name in quotation marks, the name of a variable whose value is a locale name, or an expression that evaluates to a variable name or to a quoted locale name.\"},{\"Name\":\"DQGENDERINFOGET\",\"Definition\":\"Returns the name of the parse definition that is associated with the specified gender definition.\",\"Parameter1\":\"'gender-analysis-definition'&lt;\",\"Description1\":\"Specifies the name of the gender analysis definition, which must exist in the specified locale.\",\"Parameter2\":\"'locale'&gt;\",\"Description2\":\"Specifies the name of the locale that contains the specified gender analysis definition. The value can be a name in quotation marks, the name of a variable whose value is a locale name, or an expression that evaluates to a variable name or to a quoted locale name.\"},{\"Name\":\"DQGENDERPARSED\",\"Definition\":\"Returns a gender determination from the parsed name of an individual.\",\"Parameter1\":\"parsed-char\",\"Description1\":\"Is a parsed value that contains the name of an individual. The value can be expressed as the name of a character variable, a character value in quotation marks, or an expression that evaluates to a variable name or a quoted value.\",\"Parameter2\":\"'gender-analysis-definition'&lt;\",\"Description2\":\"Specifies the name of the gender analysis definition that will be referenced to determine gender. The specified gender analysis definition has a related parse definition. To return an accurate gender determination, the related parse definition must be the same parse definition that was used to parse the parsed-char.\",\"Parameter3\":\"'locale'&gt;\",\"Description3\":\"Specifies the name of the locale that contains the specified gender analysis definition. The value can be a name in quotation marks, the name of a variable whose value is a locale name, or an expression that evaluates to a variable name or to a quoted locale name.\"},{\"Name\":\"DQIDENTIFY\",\"Definition\":\"Returns a category name from a character value.\",\"Parameter1\":\"char\",\"Description1\":\"Is the value that is transformed, according to the specified identification definition. The value can be the name of a character variable, a character value in quotation marks, or an expression that evaluates to a variable name or a quoted value.\",\"Parameter2\":\"'identification-definition'&lt;\",\"Description2\":\"Specifies the name of the identification definition, which must exist in the specified locale.\",\"Parameter3\":\"'locale'&gt;\",\"Description3\":\"Specifies the name of the locale that contains the specified identification definition. The value can be a name in quotation marks, the name of a variable whose value is a locale name, or an expression that evaluates to a variable name or to a quoted locale name.\"},{\"Name\":\"DQLOCALEGUESS\",\"Definition\":\"Returns the name of the locale that is most likely represented by a character value.\",\"Parameter1\":\"char\",\"Description1\":\"Is the value that is analyzed to determine a locale, according to the specified guess definition. The value can be the name of a character variable, a character value in quotation marks, or an expression that evaluates to a variable name or a quoted value.\",\"Parameter2\":\"'locale-guess-definition'\",\"Description2\":\"Specifies the name of the guess definition.\"},{\"Name\":\"DQLOCALEINFOGET\",\"Definition\":\"Returns information about locales.\",\"Parameter1\":\"&lt;'info-type'&gt;\",\"Description1\":\"Specifies the type of locale information that is to be returned. The only valid value is LOADED. If no parameter is specified, LOADED is used by default.\"},{\"Name\":\"DQLOCALEINFOLIST\",\"Definition\":\"Displays the names of the definitions in a locale and returns a count of those definitions.\",\"Parameter1\":\"'definition-type'&lt;\",\"Description1\":\"Specifies the definitions that are displayed. Valid values are ALL CASE GENDER GUESS IDENTIFICATION MATCH PARSE PATTERN STANDARDIZATION.\",\"Parameter2\":\"'locale'&gt;\",\"Description2\":\"Specifies the name of the locale. The value can be a name in quotation marks, the name of a variable whose value is a locale name, or an expression that evaluates to a variable name or to a quoted locale name.\"},{\"Name\":\"DQMATCH\",\"Definition\":\"Returns a match code from a character value.\",\"Parameter1\":\"char\",\"Description1\":\"Is the value for which a match code is created, according to the specified match definition. The value can be the name of a character variable, a character value in quotation marks, or an expression that evaluates to a variable name or a quoted value.\",\"Parameter2\":\"`match-definition'&lt;\",\"Description2\":\"Specifies the name of the match definition.\",\"Parameter3\":\"sensitivity\",\"Description3\":\"Specifies an integer value that determines the amount of information in the returned match code. Valid values range from 50 to 95. The default value is 85. A higher sensitivity value includes more information in the match code.\",\"Parameter4\":\"'locale'&gt;\",\"Description4\":\"Specifies the name of the locale that contains the specified match definition. The value can be a name in quotation marks, the name of a variable whose value is a locale name, or an expression that evaluates to a variable name or to a quoted locale name.\"},{\"Name\":\"DQMATCHINFOGET\",\"Definition\":\"Returns the name of the parse definition that is associated with a match definition.\",\"Parameter1\":\"`match-definition'&lt;\",\"Description1\":\"Specifies the name of the match definition, which must exist in the specified locale.\",\"Parameter2\":\"'locale'&gt;\",\"Description2\":\"Specifies the name of the locale that contains the specified match definition. The value can be a name in quotation marks, the name of a variable whose value is a locale name, or an expression that evaluates to a variable name or to a quoted locale name.\"},{\"Name\":\"DQMATCHPARSED\",\"Definition\":\"Returns a match code from a parsed character value.\",\"Parameter1\":\"parsed-char\",\"Description1\":\"Is a parsed character value for which a match code will be created. The value can be the name of a character variable, a character value in quotation marks, or an expression that evaluates to a variable name or a quoted value. The value must have been parsed with the parse definition that is associated with the specified match definition.\",\"Parameter2\":\"`match-definition'&lt;\",\"Description2\":\"Specifies the name of the match definition.\",\"Parameter3\":\"sensitivity\",\"Description3\":\"Specifies an integer value that determines the amount of information in the returned match code. Valid values range from 50 to 95. The default value is 85. A higher sensitivity value includes more information in the match code.\",\"Parameter4\":\"'locale'&gt;\",\"Description4\":\"Specifies the name of the locale that contains the specified match definition. The value can be a name in quotation marks, the name of a variable whose value is a locale name, or an expression that evaluates to a variable name or to a quoted locale name.\"},{\"Name\":\"DQPARSE*1\",\"Definition\":\"Returns a parsed character value and a status flag.\",\"Parameter1\":\"parsed-string\",\"Description1\":\"Is the input value that is parsed according to the specified parse definition. The value can be the name of a character variable, a character value in quotation marks, or an expression that evaluates to a variable name or a quoted value.\",\"Parameter2\":\"`parse-definition'&lt;\",\"Description2\":\"Specifies the name of the parse definition.\",\"Parameter3\":\"'locale'&gt;\",\"Description3\":\"Specifies the name of the locale that contains the specified parse definition. The value can be a name in quotation marks, the name of a variable whose value is a locale name, or an expression that evaluates to a variable name or to a quoted locale name.\"},{\"Name\":\"DQPARSE*2\",\"Definition\":\"Returns a parsed character value and a status flag.\",\"Parameter1\":\"parsed-string\",\"Description1\":\"Is the input value that is parsed according to the specified parse definition. The value can be the name of a character variable, a character value in quotation marks, or an expression that evaluates to a variable name or a quoted value.\",\"Parameter2\":\"`parse-definition'\",\"Description2\":\"Specifies the name of the parse definition\",\"Parameter3\":\"`parse-result'\",\"Description3\":\"Is an output character variable that receives the result of the parse operation.\",\"Parameter4\":\"`parse-return-code'&lt;\",\"Description4\":\"Is an output numeric variable that returns 1.0 when the parse operation is successful. Otherwise, this variable receives a 0.\",\"Parameter5\":\"'locale'&gt;\",\"Description5\":\"Specifies the name of the locale that contains the specified match definition. The value can be a name in quotation marks, the name of a variable whose value is a locale name, or an expression that evaluates to a variable name or to a quoted locale name.\"},{\"Name\":\"DQPARSEINFOGET\",\"Definition\":\"Returns the token names in a parse definition.\",\"Parameter1\":\"`parse-definition'&lt;\",\"Description1\":\"Specifies the name of the parse definition.\",\"Parameter2\":\"'locale'&gt;\",\"Description2\":\"Specifies the name of the locale that contains the specified parse definition. The value can be a name in quotation marks, the name of a variable whose value is a locale name, or an expression that evaluates to a variable name or to a quoted locale name.\"},{\"Name\":\"DQPARSETOKENGET\",\"Definition\":\"Returns a token from a parsed character value.\",\"Parameter1\":\"parsed-char\",\"Description1\":\"Is the parsed character value from which the value of the specified token will be returned. The parsed-char can be the name of a character variable, a character value in quotation marks, or an expression that evaluates to a variable name or a quoted value.\",\"Parameter2\":\"`token'\",\"Description2\":\"Specifies the name of the token that is returned from the parsed value. The token must be enabled by the specified parse definition.\",\"Parameter3\":\"'parse-definition'&lt;\",\"Description3\":\"Specifies the name of the parse definition that will be used to obtain the value of the token. The parse definition must be the same as the parse definition that originally parsed the parsed-char value.\",\"Parameter4\":\"'locale'&gt;\",\"Description4\":\"Specifies the name of the locale that contains the specified match definition. The value can be a name in quotation marks, the name of a variable whose value is a locale name, or an expression that evaluates to a variable name or to a quoted locale name.\"},{\"Name\":\"DQPARSETOKENPUT\",\"Definition\":\"Inserts a token into a parsed character value and returns the updated parsed character value.\",\"Parameter1\":\"parsed-char\",\"Description1\":\"Is the parsed character value that receives the new token value, according to the specified parse definition. The parsed-char value can be the name of a character variable, a character value in quotation marks, or an expression that evaluates to a variable name or a quoted value.\",\"Parameter2\":\"token-value\",\"Description2\":\"Specifies the value of the token that is to be inserted into the parsed value.\",\"Parameter3\":\"`token-name'\",\"Description3\":\"Specifies the name of the token that is to be inserted into the parsed value. The specified token must be enabled by the specified parse definition.\",\"Parameter4\":\"`parse-definition'&lt;\",\"Description4\":\"Specifies the name of the parse definition, which must exist in the specified locale. The specified parse definition must be the same definition that was used to parse the parsed-char value.\",\"Parameter5\":\"'locale'&gt;\",\"Description5\":\"Specifies the name of the parse definition, which must exist in the specified locale. The specified parse definition must be the same definition that was used to parse the parsed-char value.\"},{\"Name\":\"DQPATTERN\",\"Definition\":\"Returns a pattern analysis from an input character value.\",\"Parameter1\":\"char\",\"Description1\":\"Is the name of the value that will be analyzed. The value can be a character variable, a character value in quotation marks, or an expression that evaluates to a variable name or a quoted value.\",\"Parameter2\":\"`pattern-analysis-definition'&lt;\",\"Description2\":\"Specifies the name of the definition that will be referenced during the creation of the pattern analysis. The definition must exist in the specified locale.\",\"Parameter3\":\"'locale'&gt;\",\"Description3\":\"Specifies the name of the locale that contains the specified pattern analysis definition. The value can be a name in quotation marks, the name of a variable whose value is a locale name, or an expression that evaluates to a variable name or to a quoted locale name.\"},{\"Name\":\"DQSCHEMEAPPLY*1\",\"Definition\":\"Applies a scheme and returns a transformed value.\",\"Parameter1\":\"char\",\"Description1\":\"Is the value to which the specified scheme will be applied. The value can be the name of a character variable, a character value in quotation marks, or an expression that evaluates to a variable name or a quoted value.\",\"Parameter2\":\"`scheme'\",\"Description2\":\"Identifies the scheme that is applied to the input value. For schemes using SAS format, the scheme argument is a fully-qualified SAS data set name in quotation marks.\",\"Parameter3\":\"`scheme-format'&lt;\",\"Description3\":\"Identifies the file format of the scheme. Valid values are as follows:\\n\\n      BFD\\n      indicates that the specified scheme is stored in Blue Fusion Data format. This is the default value.\\n\\n      NOBFD\\n      indicates that the specified scheme is stored in SAS format.\",\"Parameter4\":\"`mode'\",\"Description4\":\"Specifies how the scheme is to be applied to the values of the input character variable. Valid values for the mode argument are defined as follows:\\n\\n      PHRASE\\n      compares the entire input character value to the entirety of each of the DATA values in the scheme.\\n\\n      ELEMENT\\n      compares each element in the input character value to each of the DATA values in the scheme.\",\"Parameter5\":\"'scheme-lookup-method'\",\"Description5\":\"Specifies one of three mutually-exclusive methods of applying the scheme. Valid values are as follows:\\n\\n      EXACT\\n      this default value specifies that the input value is to be compared to the DATA values in the scheme without changing the input value in any way.\\n\\n      IGNORE_CASE\\n      specifies that capitalization is to be ignored when the input value is compared to the DATA values in the scheme.\\n\\n      USE_MATCHDEF\\n      specifies that the match code of the input value is to be compared to the match codes of the DATA values in the scheme.\",\"Parameter6\":\"`match-definition'\",\"Description6\":\"Specifies the name of the match definition in the specified locale that will be used to create match codes during the application of the scheme.\",\"Parameter7\":\"sensitivity\",\"Description7\":\"Specifies the amount of information in the match codes that are created during the application of the scheme. With higher sensitivity values, two values must be increasingly similar to create the same match code. At lower sensitivity values, values can receive the same match code despite their dissimilarities. Valid values range from 50 to 95.\",\"Parameter8\":\"'locale'&gt;\",\"Description8\":\"Specifies the locale that contains the specified match definition that will be referenced during the application of the scheme. The value can be a locale name in quotation marks, or the name of a variable whose value resolves to a locale name.\"},{\"Name\":\"DQSCHEMEAPPLY*2\",\"Definition\":\"Applies a scheme and returns a transformed value and a transformation flag.\",\"Parameter1\":\"char\",\"Description1\":\"Is the value to which the specified scheme will be applied. The value can be the name of a character variable, a character value in quotation marks, or an expression that evaluates to a variable name or a quoted value.\",\"Parameter2\":\"output-variable\",\"Description2\":\"Identifies the character variable that receives the transformed input value.\",\"Parameter3\":\"'scheme'\",\"Description3\":\"Identifies the scheme that is applied to the input value.\",\"Parameter4\":\"`scheme-format'&lt;\",\"Description4\":\"Identifies the file format of the scheme. Valid values are as follows:\\n\\n      BFD\\n      indicates that the specified scheme is stored in Blue Fusion Data format. This is the default value.\\n\\n      NOBFD\\n      indicates that the specified scheme is stored in SAS format.\",\"Parameter5\":\"`mode'\",\"Description5\":\"Specifies how the scheme is to be applied to the values of the input character variable. Valid values for the mode argument are defined as follows:\\n\\n      PHRASE\\n      compares the entire input character value to the entirety of each of the DATA values in the scheme.\\n\\n      ELEMENT\\n      compares each element in the input character value to each of the DATA values in the scheme.\\n    \",\"Parameter6\":\"transform-count-variable\",\"Description6\":\"Identifies the numeric variable that receives the returned number of transformations that were performed on the input value.\",\"Parameter7\":\"'scheme-lookup-method'\",\"Description7\":\"Specifies one of three mutually-exclusive methods of applying the scheme. Valid values are as follows:\\n\\n      EXACT\\n      this default value specifies that the input value is to be compared to the DATA values in the scheme without changing the input value in any way.\\n\\n      IGNORE_CASE\\n      specifies that capitalization is to be ignored when the input value is compared to the DATA values in the scheme.\\n\\n      USE_MATCHDEF\\n      specifies that the match code of the input value is to be compared to the match codes of the DATA values in the scheme.\\n    \",\"Parameter8\":\"'match-definition'\",\"Description8\":\"Specifies the name of the match definition in the specified locale that will be used to create match codes during the application of the scheme.\",\"Parameter9\":\"sensitivity\",\"Description9\":\"Specifies the amount of information in the match codes that are created during the application of the scheme. With higher sensitivity values, two values must be increasingly similar to create the same match code. At lower sensitivity values, two values receive the same match code despite their dissimilarities. Valid values range from 50 to 95.\",\"Parameter10\":\"'locale'&gt;\",\"Description10\":\"Specifies the locale that contains the specified match definition that will be referenced during the application of the scheme. The value can be a locale name in quotation marks or the name of a variable whose value resolves to a locale name.\"},{\"Name\":\"DQSRVARCHJOB\",\"Definition\":\"Runs an dfPower Architect job on a DataFlux Integration Server and returns a job identifier.\",\"Parameter1\":\"job-name\",\"Description1\":\"Identifies the dfPower Architect job as it exists on the specified DataFlux Integration Server.\",\"Parameter2\":\"&lt;host&gt;\",\"Description2\":\"Identifies the host of the DataFlux Integration Server. If this value is not specified, then the local host is used by default.\",\"Parameter3\":\"&lt;port&gt;\",\"Description3\":\"Identifies the port through which the local host communicates with the DataFlux Integration Server. If this argument is not specified, or if the value is 0 or a negative number, then the default port number is used. The default port number is 21036.\",\"Parameter4\":\"&lt;macro-name1\",\"Description4\":\"Identifies an dfPower Architect macro that exists on the DataFlux Integration Server. The value of macro-nameX can be specified as text, or as the name of a character variable.\",\"Parameter5\":\"macro-value1\",\"Description5\":\"Specifies the character value that will be used by the associated dfPower Architect macro. Macro-value1 is used by macro-name1. The value of macro-valueX can be specified as text, or as the name of a character variable.\",\"Parameter6\":\"macro-name2\",\"Description6\":\"Identifies an dfPower Architect macro that exists on the DataFlux Integration Server. The value of macro-nameX can be specified as text, or as the name of a character variable.\",\"Parameter7\":\"macro-value2...&gt;\",\"Description7\":\"Specifies the character value that will be used by the associated dfPower Architect macro. Macro-value1 is used by macro-name1. The value of macro-valueX can be specified as text, or as the name of a character variable.\"},{\"Name\":\"DQSRVCOPYLOG\",\"Definition\":\"Copies a job's log file from a DataFlux Integration Server.\",\"Parameter1\":\"job-id\",\"Description1\":\"Identifies the job that was submitted to a DataFlux Integration Server. The identifier was previously returned by a function such as DQSRVARCHJOB or DQSRVPROFJOBFILE.\",\"Parameter2\":\"&lt;host&gt;\",\"Description2\":\"Identifies the host of the DataFlux Integration Server. If this value is not specified, then the local host is used by default.\",\"Parameter3\":\"&lt;port&gt;\",\"Description3\":\"Identifies the port through which the local host communicates with the DataFlux Integration Server. If this argument is not specified, or if the value is 0 or a negative number, then the default port number is used. The default port number is 21036.\",\"Parameter4\":\"filename\",\"Description4\":\"Identifies where the log file will be copied on the local host.\"},{\"Name\":\"DQSRVDELETELOG\",\"Definition\":\"Deletes a job's log file from a DataFlux Integration Server.\",\"Parameter1\":\"job-id\",\"Description1\":\"Identifies the job that was submitted to a DataFlux Integration Server. The identifier was previously returned by a function such as DQSRVARCHJOB or DQSRVPROFJOBFILE.\",\"Parameter2\":\"&lt;host&gt;\",\"Description2\":\"Identifies the host of the DataFlux Integration Server. If this value is not specified, then the local host is used by default.\",\"Parameter3\":\"&lt;port&gt;\",\"Description3\":\"Identifies the port through which the local host communicates with the DataFlux Integration Server. If this argument is not specified, or if the value is 0 or a negative number, then the default port number is used. The default port number is 21036.\"},{\"Name\":\"DQSRVJOBSTATUS\",\"Definition\":\"Returns the status of a job that was submitted to a DataFlux Integration Server.\",\"Parameter1\":\"job-id\",\"Description1\":\"Identifies the job that was submitted to a DataFlux Integration Server. The identifier was previously returned by a function such as DQSRVARCHJOB or DQSRVPROFJOBFILE.\",\"Parameter2\":\"&lt;host&gt;\",\"Description2\":\"Identifies the host of the DataFlux Integration Server. If this value is not specified, then the local host is used by default.\",\"Parameter3\":\"port\",\"Description3\":\"Identifies the port through which the local host communicates with the DataFlux Integration Server. If this argument is not specified, or if the value is 0 or a negative number, then the default port number is used. The default port number is 21036.\",\"Parameter4\":\"timeout\",\"Description4\":\"Specifies a time in seconds that determines when status information is returned from the host. Valid values are defined as follows:\\n\\n      -1 \\n      returns status information only when the job is finished. Return values are 0 (job completed successfully) or 1 (job failed).\\n\\n      0 \\n      returns status information immediately. Return values are 0 (job completed successfully), 1 (job failed), or 2 (job running).\\n\\n      greater-than-zero: \\n      specifies a time limit for the interval argument. If the job is still running after the timeout value, another value is returned only when the job is finished.\",\"Parameter5\":\"interval\",\"Description5\":\"Specifies the repeat period for the return of status information, within the limit that is imposed by the timeout argument.\"},{\"Name\":\"DQSRVKILLJOB\",\"Definition\":\"Terminates a job that is running on a DataFlux Integration Server.\",\"Parameter1\":\"job-id\",\"Description1\":\"Identifies the job that was submitted to a DataFlux Integration Server. The identifier was previously returned by a function such as DQSRVARCHJOB or DQSRVPROFJOBFILE.\",\"Parameter2\":\"&lt;host&gt;\",\"Description2\":\"Identifies the host of the DataFlux Integration Server. If this value is not specified, then the local host is used by default.\",\"Parameter3\":\"port\",\"Description3\":\"Identifies the port through which the local host communicates with the DataFlux Integration Server. If this argument is not specified, or if the value is 0 or a negative number, then the default port number is used. The default port number is 21036.\"},{\"Name\":\"DQSRVPROFJOBFILE\",\"Definition\":\"Runs a file-type Profile job on a DataFlux Integration Server and returns a job identifier.\",\"Parameter1\":\"job-name\",\"Description1\":\"Identifies the dfPower Architect job as it exists on the specified DataFlux Integration Server.\",\"Parameter2\":\"&lt;host&gt;\",\"Description2\":\"Identifies the host of the DataFlux Integration Server. If this value is not specified, then the local host is used by default.\",\"Parameter3\":\"port\",\"Description3\":\"Identifies the port through which the local host communicates with the DataFlux Integration Server. If this argument is not specified, or if the value is 0 or a negative number, then the default port number is used. The default port number is 21036.\",\"Parameter4\":\"results-filename\",\"Description4\":\"Identifies the file that receives job results.\",\"Parameter5\":\"append\",\"Description5\":\"Valid values are defined as follows:\\n\\n      0 appends job results below any existing content in the results file.\\n\\n      1 overwrites any existing content in the results file.\",\"Parameter6\":\"description&lt;\",\"Description6\":\"Identifies a character variable whose value describes the current run of the job. The descriptive text is added either to the top of the results file or above the results that will be appended to the bottom of the results file.\",\"Parameter7\":\"macro-name1\",\"Description7\":\"Identifies an dfPower Architect macro that exists on the DataFlux Integration Server. The value of macro-nameX can be specified as text, or as the name of a character variable.\",\"Parameter8\":\"macro-value1\",\"Description8\":\"Specifies the character value that will be used by the associated dfPower Architect macro. Macro-value1 is used by macro-name1. The value of macro-valueX can be specified as text, or as the name of a character variable.\",\"Parameter9\":\"macro-name2\",\"Description9\":\"Identifies an dfPower Architect macro that exists on the DataFlux Integration Server. The value of macro-nameX can be specified as text, or as the name of a character variable.\",\"Parameter10\":\"macro-value2...&gt;\",\"Description10\":\"Specifies the character value that will be used by the associated dfPower Architect macro. Macro-value1 is used by macro-name1. The value of macro-valueX can be specified as text, or as the name of a character variable.\"},{\"Name\":\"DQSRVPROFJOBREP\",\"Definition\":\"Runs a repository-type Profile job on a DataFlux Integration Server and returns a job identifier.\",\"Parameter1\":\"job-name\",\"Description1\":\"Identifies the dfPower Architect job as it exists on the specified DataFlux Integration Server.\",\"Parameter2\":\"&lt;host&gt;\",\"Description2\":\"Identifies the host of the DataFlux Integration Server. If this value is not specified, then the local host is used by default.\",\"Parameter3\":\"port\",\"Description3\":\"Identifies the port through which the local host communicates with the DataFlux Integration Server. If this argument is not specified, or if the value is 0 or a negative number, then the default port number is used. The default port number is 21036.\",\"Parameter4\":\"repository\",\"Description4\":\"Identifies the repository on the DataFlux Integration Server that contains the dfPower Profile job.\",\"Parameter5\":\"report\",\"Description5\":\"Identifies the file that receives the report that is generated by the dfPower Profile job.\",\"Parameter6\":\"description&lt;\",\"Description6\":\"Identifies a character variable whose value describes the current run of the job. The descriptive text is added either to the top of the results file or above the results that will be appended to the bottom of the results file.\",\"Parameter7\":\"macro-name1\",\"Description7\":\"Identifies an dfPower Architect macro that exists on the DataFlux Integration Server. The value of macro-nameX can be specified as text, or as the name of a character variable.\",\"Parameter8\":\"macro-value1\",\"Description8\":\"Specifies the character value that will be used by the associated dfPower Architect macro. Macro-value1 is used by macro-name1. The value of macro-valueX can be specified as text, or as the name of a character variable.\",\"Parameter9\":\"macro-name2\",\"Description9\":\"Identifies an dfPower Architect macro that exists on the DataFlux Integration Server. The value of macro-nameX can be specified as text, or as the name of a character variable.\",\"Parameter10\":\"macro-value2...&gt;\",\"Description10\":\"Specifies the character value that will be used by the associated dfPower Architect macro. Macro-value1 is used by macro-name1. The value of macro-valueX can be specified as text, or as the name of a character variable.\"},{\"Name\":\"DQSRVUSER\",\"Definition\":\"Authenticates a user on a DataFlux Integration Server.\",\"Parameter1\":\"userid\",\"Description1\":\"Identifies the user according to the registry in a DataFlux Integration Server.\",\"Parameter2\":\"password\",\"Description2\":\"Authenticates the user according to the registry in the DataFlux Integration Server. The password can be plain text or SAS-encoded.\"},{\"Name\":\"DQSTANDARDIZE\",\"Definition\":\"Returns a character value after standardizing casing, spacing, and format, and applies a common representation to certain words and abbreviations.\",\"Parameter1\":\"char\",\"Description1\":\"Is the value that will be standardized according to the specified standardization definition. The value can be the name of a character variable, a character value in quotation marks, or an expression that evaluates to a variable name or a quoted value.\",\"Parameter2\":\"'standardization-definition'&lt;\",\"Description2\":\"Specifies the name of the standardization definition, which must exist in the specified locale.\",\"Parameter3\":\"locale&gt;\",\"Description3\":\"Specifies the name of the locale that contains the specified standardization definition. The value can be a name in quotation marks, the name of a variable whose value is a locale name, or an expression that evaluates to a variable name or to a quoted locale name.\"},{\"Name\":\"DQTOKEN\",\"Definition\":\"Returns a token from a character value.\",\"Parameter1\":\"char\",\"Description1\":\"Is the value from which the specified token will be returned, according to the specified parse definition. The value can be the name of a character variable, a character value in quotation marks, or an expression that evaluates to a variable name or a quoted value.\",\"Parameter2\":\"`token'\",\"Description2\":\"Identifies the token that is returned.\",\"Parameter3\":\"'parse-definition'&lt;\",\"Description3\":\"Specifies the name of the parse definition, which must exist in the specified locale.\",\"Parameter4\":\"locale&gt;\",\"Description4\":\"Specifies the name of the locale that contains the specified parse definition. The value can be a name in quotation marks, the name of a variable whose value is a locale name, or an expression that evaluates to a variable name or to a quoted locale name.\"},{\"Name\":\"TPLOT\",\"Definition\":\"Creates a triangular plot that graphically displays genetic marker test results.\",\"Parameter1\":\"SAS-data-set\",\"Description1\":\"Specifies the name of the SAS data set that is the output data set from the ALLELE procedure, containing the linkage disequilibrium test and HWE test p-values.\",\"Parameter2\":\"SAS-data-set\",\"Description2\":\"Specifies the name of the SAS data set that contains the p-values for the marker-trait association tests. This data set can be the output data set from the CASECONTROL procedure, the FAMILY procedure, or the PSMOOTH procedure, or it can be created by the user.\",\"Parameter3\":\"variable\",\"Description3\":\"Names the variable that contains the marker-trait association p-values in the SAS data set that is specified in the second argument.\",\"Parameter4\":\"&lt;ALPHA=number&gt;\",\"Description4\":\"Specifies the significance level for the marker-trait association test. This level is used as a cut-off for the p-value range corresponding to the symbol shape on the plot. This number must be between 0 and 1. The default is ALPHA=0.05.\"},{\"Name\":\"DEFINE\",\"Definition\":\"Sets the value of an attribute for a particular column in the current row.\",\"Parameter1\":\"column-id | _ROW_\",\"Description1\":\"Specifies a column name or a column number (that is, the position of the column from the left edge of the report). _ROW_ is an automatic variable that indicates the entire current row.\",\"Parameter2\":\"'attribute-name'\",\"Description2\":\"Is the attribute to define. Valid attributes are: BLINK, COLOR, COMMAND, FORMAT, HIGHLIGHT, RVSVIDEO, URL, URLBP, and URLP.\",\"Parameter3\":\"value\",\"Description3\":\"Sets the value for the attribute.\"},{\"Name\":\"FOREACH\",\"Definition\":\"The FOREACH statement iteratively applies a constraint over an array of variables.\",\"Parameter1\":\"array\",\"Description1\":\"An array defined in the ARRAY statement.\",\"Parameter2\":\"type\",\"Description2\":\"The type of the constraint.\",\"Parameter3\":\"&lt;offset&gt;\",\"Description3\":\"The optional offset parameter is an integer and is interpreted in the context of the constraint type.\"},{\"Name\":\"ContinueFor\",\"Definition\":\"Sets the number of additional iterations for the genetic algorithm optimization\",\"Parameter1\":\"niter\",\"Description1\":\"Specifies that the optimization continue for niter more iterations. To stop at the current iteration, set niter to 0.\"},{\"Name\":\"Cross\",\"Definition\":\"Executes a genetic crossover operator from within a user subroutine.\",\"Parameter1\":\"selected\",\"Description1\":\"Is an array that specifies the solutions to be crossed.\",\"Parameter2\":\"seg\",\"Description2\":\"Is the desired segment of the solution to which the crossover operator should be applied.\",\"Parameter3\":\"type&lt;\",\"Description3\":\"Is the type of crossover operator to apply, which also determines the number and type of parameters expected. The accepted values for type are: 'arithmetic', cycle', heuristic', 'null', 'order', pmatch', 'simple', twopoint', and 'uniform'.\",\"Parameter4\":\"parameter1\",\"Description4\":\"Optional parameter applicable to some operators.\",\"Parameter5\":\"parameter2, ...&gt;\",\"Description5\":\"Optional parameter(s) applicable to some operators.\"},{\"Name\":\"Dynamic_array\",\"Definition\":\"Allocates a numeric array.\",\"Parameter1\":\"arrayname\",\"Description1\":\"Is a previously declared array, whose dimensions are to be re-allocated.\",\"Parameter2\":\"dim1&lt;\",\"Description2\":\"Is the size of the first dimension.\",\"Parameter3\":\"dim2, ...dim6&gt;\",\"Description3\":\"Are optional. Up to six dimensions can be specified.\"},{\"Name\":\"EvaluateLC\",\"Definition\":\"Evaluates linear constraints.\",\"Parameter1\":\"lc\",\"Description1\":\"Is a two-dimensional array representing the linear constraints.\",\"Parameter2\":\"results\",\"Description2\":\"Is a numeric array to receive the magnitude of the constraint violation for each linear constraint.\",\"Parameter3\":\"sum\",\"Description3\":\"Is a variable to receive the sum of the constraint violations over all the constraints.\",\"Parameter4\":\"selected\",\"Description4\":\"Is an array identifying the selected solution.\",\"Parameter5\":\"seg&lt;\",\"Description5\":\"Is the segment of the solution to which the linear constraints apply.\",\"Parameter6\":\"child&gt;\",\"Description6\":\"Is an optional parameter, and should be specified only when EvaluateLC is called from a user crossover operator.\"},{\"Name\":\"GetDimensions\",\"Definition\":\"Gets the dimensions of an array variable.\",\"Parameter1\":\"source\",\"Description1\":\"Is the array variable whose dimensions are desired.\",\"Parameter2\":\"dest\",\"Description2\":\"Is an array to receive the dimensions of source.\"},{\"Name\":\"GetObjValues\",\"Definition\":\"Retrieves objective function values from the current solution generation.\",\"Parameter1\":\"dest\",\"Description1\":\"Is an array to receive the objective values.\",\"Parameter2\":\"n\",\"Description2\":\"Is the number of objective values to get.\"},{\"Name\":\"GetSolutions\",\"Definition\":\"Retrieves solutions from the current generation.\",\"Parameter1\":\"sol\",\"Description1\":\"Is an array to receive the solution elements.\",\"Parameter2\":\"n\",\"Description2\":\"Is the number of solutions to get.\",\"Parameter3\":\"seg\",\"Description3\":\"Is the segment of the solution to retrieve.\"},{\"Name\":\"Initialize\",\"Definition\":\"Creates the initial solution generation.\",\"Parameter1\":\"option\",\"Description1\":\"Is a string that specifies an initialization option. The available options and their effect are as follows:\\n\\n      '_uniform_'     generate uniformly distributed solutions\\n      _dataset_'      read solutions from the data set specified in a FIRSTGEN= option.\\n      'default'       read solutions from the data set specified in a FIRSTGEN= option, if one was specified.\\n      '_retain_'      bring forward the best solutions from the current generation.\\n      'user-routine'  Any string not matching the preceding options is interpreted to be a user-defined initialization routine.\\n    \",\"Parameter2\":\"size&lt;\",\"Description2\":\"Is the number of solutions to create by using a given option.\",\"Parameter3\":\"option, size&gt;...\",\"Description3\":\"More option-size pairs (optional).\"},{\"Name\":\"MarkPareto\",\"Definition\":\"Identifies the Pareto-optimal set from a population of solutions\",\"Parameter1\":\"result\",\"Description1\":\"Is a one-dimensional array to accept the results of the evaluation.\",\"Parameter2\":\"n\",\"Description2\":\"Is a variable to receive the number of Pareto-optimal solutions.\",\"Parameter3\":\"objectives\",\"Description3\":\"Is a two-dimensional array that contains the multiple objective values for each solution.\",\"Parameter4\":\"minmax\",\"Description4\":\"Is a one-dimensional array to specify how the objective values are to be used.\"},{\"Name\":\"Mutate\",\"Definition\":\"Executes a genetic mutation operator from within a user subroutine.\",\"Parameter1\":\"selected\",\"Description1\":\"Is an array that specifies the solution to be mutated.\",\"Parameter2\":\"seg\",\"Description2\":\"Is the desired segment of the solution to which the mutation should be applied.\",\"Parameter3\":\"type&lt;\",\"Description3\":\"Is the type of mutation operator to apply, which also determines the number and type of parameters expected. The accepted values for type are: 'delta', 'invert', swap', and 'uniform'.\",\"Parameter4\":\"parameter1, parameter2, ...&gt;\",\"Description4\":\"Are optional parameters applicable to some operators.\"},{\"Name\":\"Objective\",\"Definition\":\"Evaluates a standard objective function from within a user subroutine.\",\"Parameter1\":\"selected\",\"Description1\":\"Is an array that specifies the solution to be evaluated.\",\"Parameter2\":\"seg\",\"Description2\":\"Is the desired segment of the solution to be evaluated.\",\"Parameter3\":\"type&lt;\",\"Description3\":\"Is objective function name, which also determines the number and type of parameters expected. The accepted value for type is 'TSP'.\",\"Parameter4\":\"parameter1, parameter2, ...&gt;\",\"Description4\":\"Are optional parameters applicable to particular objective functions.\"},{\"Name\":\"PackBits\",\"Definition\":\"Writes bits to a packed integer array.\",\"Parameter1\":\"array\",\"Description1\":\"Is an array to which the value is to be assigned.\",\"Parameter2\":\"start\",\"Description2\":\"Is the starting position for the bit assignments.\",\"Parameter3\":\"width\",\"Description3\":\"Is the number of bits to assign.\",\"Parameter4\":\"value\",\"Description4\":\"Is the value to be assigned to the bits. For a single bit, this should be 0 or 1.\"},{\"Name\":\"ReadChild\",\"Definition\":\"Reads a segment from a selected child solution into an array, within a user crossover operator.\",\"Parameter1\":\"selected\",\"Description1\":\"Specifies the family (parents and children) obtained from the selection process.\",\"Parameter2\":\"seg\",\"Description2\":\"Specifies the solution segment to be read.\",\"Parameter3\":\"n\",\"Description3\":\"Specifies the child in the family from which to read the solution segment.\",\"Parameter4\":\"values\",\"Description4\":\"Specifies an array to receive the solution elements.\"},{\"Name\":\"ReadCompare\",\"Definition\":\"Reads a segment from a selected solution into an array, within a user fitness comparison subroutine.\",\"Parameter1\":\"selected\",\"Description1\":\"Specifies the pair of solutions to be compared, obtained from the selection process.\",\"Parameter2\":\"seg\",\"Description2\":\"Specifies the solution segment to be read.\",\"Parameter3\":\"n\",\"Description3\":\"Specifies the solution (1 or 2) from which to read the segment.\",\"Parameter4\":\"values\",\"Description4\":\"Specifies an array to receive the solution elements.\"},{\"Name\":\"ReadMember\",\"Definition\":\"Reads the selected solution into an array for a user objective function or mutation operator\",\"Parameter1\":\"selected\",\"Description1\":\"Is a parameter passed to the user subroutine by the GA procedure, which points to the selected solution.\",\"Parameter2\":\"seg\",\"Description2\":\"Specifies which segment of the solution to retrieve.\",\"Parameter3\":\"destination\",\"Description3\":\"Specifies an array in which to store the solution elements.\"},{\"Name\":\"ReadParent\",\"Definition\":\"Reads selected solution elements into an array in a user crossover subroutine.\",\"Parameter1\":\"selected\",\"Description1\":\"Is a parameter passed to the user subroutine by the GA procedure, which points to the selected solution family.\",\"Parameter2\":\"seg\",\"Description2\":\"Is the segment of the desired parent solution to be obtained \",\"Parameter3\":\"n\",\"Description3\":\"Is the number of the parent, starting at 1.\",\"Parameter4\":\"destination\",\"Description4\":\"Is an array in which to store the solution elements.\"},{\"Name\":\"ReEvaluate\",\"Definition\":\"Reruns the evaluation phase of the genetic algorithm.\",\"Parameter1\":\"&lt;index&gt;\",\"Description1\":\"Is a numeric scalar or array that specifies the indices of the solutions to be updated. The indices correspond to the order of the solutions obtained from a GetSolutions call.\"},{\"Name\":\"SetBounds\",\"Definition\":\"The SetBounds subroutine is used to establish upper and lower bounds on the solution space.\",\"Parameter1\":\"lower\",\"Description1\":\"Is a lower bound for the solution components.\",\"Parameter2\":\"upper&lt;\",\"Description2\":\"Is an upper bound for the solution components.\",\"Parameter3\":\"seg&gt;\",\"Description3\":\"Is optional, and specifies a segment of the solution to which the bounds apply. If seg is not specified, then it defaults to a value of 1.\",\"Parameter4\":null,\"Description4\":null},{\"Name\":\"SetCross\",\"Definition\":\"The SetCross routine is used to assign a standard crossover operator.\",\"Parameter1\":\"type&lt;\",\"Description1\":\"Is the name of the crossover operator to be applied. The accepted values for type are: 'arithmetic', 'cycle', 'heuristic', order', 'pmatch', simple', twopoint', and 'uniform'.\",\"Parameter2\":\"seg&gt;&lt;\",\"Description2\":\"Is optional, and specifies a segment of the solution to which the operator should be applied. If seg is not specified, then it defaults to a value of 1.\",\"Parameter3\":\"pname\",\"Description3\":\"Is optional, and specifies the name of a particular property to be set for the crossover operator.\",\"Parameter4\":\"pvalue&gt;&lt;\",\"Description4\":\" specifies the value to be assigned to the corresponding property name.\",\"Parameter5\":\"pname, pvalue&gt;...\",\"Description5\":\"More optional pname-pvalue pairs.\"},{\"Name\":\"SetCrossProb\",\"Definition\":\"The SetCrossProb subroutine is used to set the crossover probability for the genetic algorithm optimization process.\",\"Parameter1\":\"p\",\"Description1\":\"Is the crossover probability.\"},{\"Name\":\"SetCrossRoutine\",\"Definition\":\"Installs a user subroutine for the crossover operator.\",\"Parameter1\":\"'routine'&lt;\",\"Description1\":\"Is the name of a subroutine you have defined, which is called when the mutation operator is applied. This parameter must be a string literal; a variable is not accepted.\",\"Parameter2\":\"nparents\",\"Description2\":\"Is optional, and specifies the number of parent solutions the operator requires. If not specified, 2 is assumed.\",\"Parameter3\":\"nchildren&gt;\",\"Description3\":\"Is optional, and specifies the number of children solutions the operator will generate. If not specified, 2 is assumed.\"},{\"Name\":\"SetElite\",\"Definition\":\"Sets the number of best solutions to pass to the next generation.\",\"Parameter1\":\"elite\",\"Description1\":\"Is the number of best solutions to be passed unmodified from the current solution generation to the next.\"},{\"Name\":\"SetEncoding\",\"Definition\":\"The SetEncoding subroutine is used to establish the type of problem solution encoding.\",\"Parameter1\":\"encoding\",\"Description1\":\"Is a string used to specify the form of the solution.\"},{\"Name\":\"SetFinalize\",\"Definition\":\"Designates a user subroutine to perform post processing at the end of the optimization process.\",\"Parameter1\":\"'routine'\",\"Description1\":\"Is the name of a subroutine you have defined, which is called when the optimization process ends. This parameter must be a string literal; a variable is not accepted.\"},{\"Name\":\"SetMut\",\"Definition\":\"The SetMut routine is used to assign a standard mutation operator.\",\"Parameter1\":\"type&lt;\",\"Description1\":\"Is the name of the mutation operator to be applied. The accepted values for type are: 'delta', 'invert', 'null', 'swap'. and 'uniform'.\",\"Parameter2\":\"seg&gt;&lt;\",\"Description2\":\"Is optional, and specifies a segment of the solution to which the operator should be applied.\",\"Parameter3\":\"pname\",\"Description3\":\"Is optional, and specifies the name of a particular property to be set for the mutation operator.\",\"Parameter4\":\"pvalue&gt;&lt;\",\"Description4\":\"Specifies the value to be assigned to the corresponding property name.\",\"Parameter5\":\"pname, pvalue&gt;...\",\"Description5\":\"More optional pname-pvalue pairs.\"},{\"Name\":\"SetMutProb\",\"Definition\":\"The SetMutProb subroutine is used to set the mutation probability for the genetic algorithm optimization.\",\"Parameter1\":\"p\",\"Description1\":\"Is the mutation probability.\"},{\"Name\":\"SetMutRoutine\",\"Definition\":\"The SetMutRoutine call enables you to designate a subroutine you have defined to be used for the mutation operator.\",\"Parameter1\":\"'routine'\",\"Description1\":\"Is the name of a subroutine you have defined, which is called when the mutation operator is applied. This parameter must be a string literal; a variable is not accepted.\"},{\"Name\":\"SetObj\",\"Definition\":\"The SetObj routine is used to assign a procedure-supplied objective function.\",\"Parameter1\":\"type\",\"Description1\":\"Is the name of the objective function to be used. The accepted value for type is 'TSP'.\",\"Parameter2\":\"minmax&lt;\",\"Description2\":\"Is an indicator to maximize or minimize the objective. A value of 0 is used to specify a minimization, and a value of 1 to specify maximizing the objective.\",\"Parameter3\":\"seg&gt;&lt;\",\"Description3\":\"Is optional, and specifies a segment of the solution to which the objective function should be applied.\",\"Parameter4\":\"pname\",\"Description4\":\"Is optional, and specifies the name of a particular property to be set for the objective function.\",\"Parameter5\":\"pvalue&gt;&lt;\",\"Description5\":\"Specifies the value to be assigned to the corresponding property name.\",\"Parameter6\":\"pname, pvalue&gt;...\",\"Description6\":\"More optional pname-pvalue pair(s).\"},{\"Name\":\"SetObjFunc\",\"Definition\":\"The SetObjFunc subroutine is used to designate a user function to be the objective for the optimization process.\",\"Parameter1\":\"'fname'\",\"Description1\":\"Is the name of a user objective function. This parameter must be a literal string.\",\"Parameter2\":\"minmax\",\"Description2\":\"Is set to 0 to minimize the objective, 1 to maximize.\"},{\"Name\":\"SetProperty\",\"Definition\":\"The SetProperty call is used to set or modify properties of a genetic operator, objective function, or a selector.\",\"Parameter1\":\"optype&lt;\",\"Description1\":\"Is the type of operator. It should have a value of 'cross' for a crossover operator, 'mut' for a mutation operator, 'obj' for an objective function, or 'sel' for a selector.\",\"Parameter2\":\"seg&gt;\",\"Description2\":\"Is optional, used only for mutation and crossover operators, and specifies the segment in which the operator resides. It is necessary only for multisegment encoding. The default value if seg is not specified is 1.\",\"Parameter3\":\"pname\",\"Description3\":\"Specifies the name of a particular property to be set.\",\"Parameter4\":\"pvalue&lt;\",\"Description4\":\" specifies the value to be assigned to the corresponding property name.\",\"Parameter5\":\"pname, pvalue&gt;...\",\"Description5\":\"Additional pname-pvalue pair(s) (optional).\"},{\"Name\":\"SetSel\",\"Definition\":\"The SetSel call is used to specify a selector for the regeneration process, which selects members of the current generation to be propagated to the next.\",\"Parameter1\":\"selector&lt;\",\"Description1\":\"Is the type of selection strategy to be used.\",\"Parameter2\":\"pname\",\"Description2\":\"Is optional, and specifies the name of a particular property to be set for the selector operator.\",\"Parameter3\":\"pvalue&gt;&lt;\",\"Description3\":\"Specifies the value to be assigned to the corresponding property name.\",\"Parameter4\":\"pname, pvalue&gt;...\",\"Description4\":\"Additional optional pname-pvalue pair(s).\"},{\"Name\":\"SetUpdateRoutine\",\"Definition\":\"Designates a control subroutine to be called at each iteration.\",\"Parameter1\":\"'routine'\",\"Description1\":\"Is the name of a subroutine you have defined that is called once during each iteration of the optimization process. This parameter must be a string literal; a variable is not accepted.\"},{\"Name\":\"ShellSort\",\"Definition\":\"Sorts a numeric array.\",\"Parameter1\":\"x&lt;\",\"Description1\":\"Is a one or two dimensional array to be sorted.\",\"Parameter2\":\"by&lt;\",\"Description2\":\"Is an optional numeric scalar or array that specifies the columns by which the array is to be sorted. If not specified, column 1 is the default.\",\"Parameter3\":\"descend&gt;&gt;\",\"Description3\":\"Is an optional numeric scalar or array used to specify which columns in the by parameter are to be in descending order. Any columns not specified in a descend parameter will be in ascending order.\"},{\"Name\":\"Shuffle\",\"Definition\":\"The Shuffle subroutine randomly rearranges the elements of the x array.\",\"Parameter1\":\"x\",\"Description1\":\"Is a numeric array to be randomly shuffled.\"},{\"Name\":\"UnpackBits\",\"Definition\":\"The UnpackBits function facilitates the extraction of bit values from arbitrary locations in an integer array.\",\"Parameter1\":\"source\",\"Description1\":\"Is an array containing the packed bit values.\",\"Parameter2\":\"start\",\"Description2\":\"Is the starting bit, with the lowest bit starting at 1.\",\"Parameter3\":\"width\",\"Description3\":\"Is the number of bits to retrieve. A value of 1 retrieves a single bit.\"},{\"Name\":\"UpdateSolutions\",\"Definition\":\"The UpdateSolutions subroutine is used to replace the values of the selected solution segment with new values computed in an update routine.\",\"Parameter1\":\"sol\",\"Description1\":\"Is an array containing the replacement solution elements.\",\"Parameter2\":\"n\",\"Description2\":\"Is the number of solutions to update.\",\"Parameter3\":\"seg\",\"Description3\":\"Is the segment of the solution to replace.\"},{\"Name\":\"WriteChild\",\"Definition\":\"The WriteChild subroutine is called inside a user crossover operator subroutine to assign to the elements of a selected child solution.\",\"Parameter1\":\"selected\",\"Description1\":\"Is an array specifying the selected family of solutions.\",\"Parameter2\":\"seg\",\"Description2\":\"Is the segment to which the elements are to be written.\",\"Parameter3\":\"n\",\"Description3\":\"Is the child within the family to which the elements are to be written. A value of 1 is for the first child, 2 for the second, and so on.\",\"Parameter4\":\"source\",\"Description4\":\"Is an array containing the values to be written.\"},{\"Name\":\"WriteMember\",\"Definition\":\"Assigns values to a selected solution from within a user objective function or mutation operator.\",\"Parameter1\":\"selected\",\"Description1\":\"Is an array specifying the selected family of solutions.\",\"Parameter2\":\"seg\",\"Description2\":\"Is the segment to which the elements are to be written.\",\"Parameter3\":\"source\",\"Description3\":\"Is an array containing the values to be written.\"},{\"Name\":\"INSERT_CATALOG\",\"Definition\":\"Inserts a SAS catalog into a package.\",\"Parameter1\":\"packageID\",\"Description1\":\"Identifies the package into which the catalog will be inserted. \\n    \\nType: Numeric.\",\"Parameter2\":\"libname\",\"Description2\":\"Names the library that contains the catalog. \\n    \\nType: Numeric.\",\"Parameter3\":\"memname\",\"Description3\":\"Specifies the name of the catalog. \\n    \\nType: Character\",\"Parameter4\":\"desc\",\"Description4\":\"Describes the catalog. \\n    \\nType: Character\",\"Parameter5\":\"nameValue\",\"Description5\":\"Identifies a list of one or more space-separated name/value pairs, each in one of the following forms:\\n\\n      name\\n      name=value\\n      name=\\\"value\\\"\\n      name=\\\"single value with spaces\\\"\\n      name=(value)\\n      name=(\\\"value\\\")\\n      name=(value1, \\\"value 2\\\", ... valueN)\\n\\nName/value pairs are site-specific; they are used for the purpose of filtering.\\n    \",\"Parameter6\":\"rc\",\"Description6\":\"Receives a return code. \\n    \\nType: Numeric.\"},{\"Name\":\"INSERT_DATASET\",\"Definition\":\"Inserts a SAS data set into a package.\",\"Parameter1\":\"packageId\",\"Description1\":\"Identifies the package into which the data set will be inserted. \\n    \\nType: Numeric.\",\"Parameter2\":\"libname\",\"Description2\":\"Names the library that contains the data set. \\n    \\nType: Character.\",\"Parameter3\":\"memname\",\"Description3\":\"Specifies the name of the data set. \\n    \\nType: Character.\",\"Parameter4\":\"desc\",\"Description4\":\"Describes the data set. \\n    \\nType: Character.\",\"Parameter5\":\"nameValue\",\"Description5\":\"Identifies a list of one or more space-separated name/value pairs, each in one of the following forms:\\n\\n      name\\n      name=value\\n      name=\\\"value\\\"\\n      name=\\\"single value with spaces\\\"\\n      name=(value)\\n      name=(\\\"value\\\")\\n      name=(value1, \\\"value 2\\\", ... valueN)\\n\\nName/value pairs are site-specific; they are used for the purpose of filtering.\\n    \",\"Parameter6\":\"rc&lt;\",\"Description6\":\"Receives a return code. \\n    \\nType: Numeric.\",\"Parameter7\":\"properties\",\"Description7\":\"Identifies a comma-separated list of optional property names. Valid property names are as follows:\\n\\n      ALLOW_READ_PROTECTED_MEMBER\\n      DATASET_OPTIONS\\n      TRANSFORMATION_TYPE\\n      CSV_SEPARATOR\\n      CSV_FLAG\\n\\nType: Character\\n    \",\"Parameter8\":\"propValue1, ...propValueN&gt;\",\"Description8\":\"Specifies one value for each specified property. The order of the values matches the order of the property names in the properties parameter. Valid property values are defined as follows:\\n\\n      ALLOW_READ_PROTECTED_MEMBER\\n      specifies a value of \\\"YES\\\". It is important to note that the password and encryption \\n      attributes are not preserved in the intermediate published format (whether on a queue \\n      or in an archive). Because of this exposure, take care when publishing data sets that \\n      are password protected, encrypted or both. \\n\\n      DATASET_OPTIONS\\n      specifies data set options. \\n\\n      TRANSFORMATION_TYPE\\n      indicates that the data set should be transformed to the specified type when published. \\n      At this time, the only supported value for this property is CSV, for Comma-Separated-Value.\\n\\n      CSV_SEPARATOR\\n      indicates the separator to use when creating the CSV file. The default separator \\n      is a comma (,).\\n\\n      CSV_FLAG\\n      indicates a CSV override flag. Supported values include NO_VARIABLES, NO_LABELS, and \\n      EXTENDED. By default, when writing numeric variable values into the CSV file, BEST is \\n      used to format numerics that have no format associated with them. To override this \\n      default, specify the property value EXTENDED on the CSV_FLAG property. This extends \\n      the number of digits used as the precision level. By default, if the data set is \\n      transformed into a CSV file, then the file's first line contains all of the specified \\n      variables. The second line contains all of the specified labels. To override this \\n      default behavior, specify flags with values \\\"NO_VARIABLES\\\" or \\\"NO_LABELS\\\". To \\n      specify both values, a CSV_FLAG property must be specified for each.\\n\\nType: Character or Numeric\\n    \"},{\"Name\":\"INSERT_FDB\",\"Definition\":[\"Inserts a financial database (FDB) into a package.\",\"Inserts a SAS data set into a package.\"],\"Parameter1\":\"packageID\",\"Description1\":\"Identifies the package into which the FDB will be inserted. \\n    \\nType: Numeric.\",\"Parameter2\":\"libname\",\"Description2\":\"Names the library that contains the FDB. \\n    \\nType: Character.\",\"Parameter3\":\"memname\",\"Description3\":\"Specifies the name of the FDB. \\n    \\nType: Character.\",\"Parameter4\":\"desc\",\"Description4\":\"Describes the FDB. \\n    \\nType: Character.\",\"Parameter5\":\"nameValue\",\"Description5\":\"Identifies a list of one or more space-separated name/value pairs, each in one of the following forms:\\n\\n      name\\n      name=value\\n      name=\\\"value\\\"\\n      name=\\\"single value with spaces\\\"\\n      name=(value)\\n      name=(\\\"value\\\")\\n      name=(value1, \\\"value 2\\\", ... valueN)\\n\\nName/value pairs are site-specific; they are used for the purpose of filtering.\\n    \",\"Parameter6\":\"rc&lt;\",\"Description6\":\"Receives a return code. Type: Numeric.\"},{\"Name\":\"INSERT_FILE\",\"Definition\":\"Inserts a file into a package.\",\"Parameter1\":\"packageID\",\"Description1\":\"Identifies the package into which the file will be inserted. \\n    \\nType: Numeric.\",\"Parameter2\":\"filename\",\"Description2\":\"Names the file, using the following syntax:\\n\\n      FILENAME: external_filename\\n      FILEREF: sas_fileref\\n\\nType: Character\\n    \",\"Parameter3\":\"filetype\",\"Description3\":\"Specifies the file type, which must be TEXT or BINARY. \\n    \\nType: Character.\\n    \",\"Parameter4\":\"mimeType\",\"Description4\":\"Specifies the MIME type, the value of which is determined by the user. Subscribers can filter packages based on MIME type.\\n\\n      Suggested MIME types include the following:\\n\\n      application/msword\\n      application/octet-stream\\n      application/pdf\\n      application/postscript\\n      application/zip\\n      audio/basic\\n      image/jpeg\\n      image/gif\\n      image/tiff\\n      model/vrml\\n      text/html\\n      text/plain\\n      text/richtext\\n      video/mpeg\\n      video/quicktime\\n    \",\"Parameter5\":[\"desc\",\"nameValue\"],\"Description5\":\"Describes the file. Type: Character.\",\"Parameter6\":\"nameValue\",\"Description6\":\"Identifies a list of one or more space-separated name/value pairs, each in one of the following forms:\\n\\n      name\\n      name=value\\n      name=\\\"value\\\"\\n      name=\\\"single value with spaces\\\"\\n      name=(value)\\n      name=(\\\"value\\\")\\n      name=(value1, \\\"value 2\\\", ... valueN)\\n\\n      Name/value pairs are site-specific; they are used for the purpose of filtering.\\n    \",\"Parameter7\":\"rc&lt;\",\"Description7\":\"Receives a return code. \\n    \\nType: Numeric.\",\"Parameter8\":\"properties\",\"Description8\":\"Identifies a comma-separated list of optional property names. Valid property names are as follows:\\n\\n    PATH\\n\\nType: Character \\n    \",\"Parameter9\":\"propValue1, ...propValueN&gt;\",\"Description9\":\"Specifies one value for each specified property name. The order of the property values must match the order of the property names in the properties parameter. Valid property values are defined as follows:\\n\\n      PATH\\n      indicates the relative path information for this file. The relative path is included \\n      as the name of the file when defined in the ZIP file. The specified path should not \\n      contain a drive or device letter, or a leading slash. All slashes should be forward \\n      slashes '/' as opposed to backslashes '\\\\'. This property is recognized only by the \\n      archive transport. It is ignored by all other transports.\\n\\nType: Character\\n    \"},{\"Name\":\"INSERT_HTML\",\"Definition\":\"Inserts HTML files into a package.\",\"Parameter1\":\"packageId\",\"Description1\":\"Identifies the package into which the HTML will be inserted. \\n    \\nType: Numeric.\",\"Parameter2\":\"body\",\"Description2\":\"Names the HTML body file, using the following syntax:\\n\\n    FILEREF: SAS_fileref\\n    FILENAME: external_filename\\n\\nType: Character \\n    \",\"Parameter3\":\"bodyURL\",\"Description3\":\"Specifies the URL to be used for the body file.\\n\\nType: Character \\n    \",\"Parameter4\":\"frame\",\"Description4\":\"Names the HTML frame file, using the following syntax:\\n\\n    FILEREF: SAS_fileref\\n    FILENAME: external_filename\\n\\nType: Character \\n    \",\"Parameter5\":\"frameURL\",\"Description5\":\"Specifies the URL to be used for the frame file. Type: Character\",\"Parameter6\":\"contents\",\"Description6\":\"Names the HTML contents file, using the following syntax:\\n\\n    FILEREF: SAS_fileref\\n    FILENAME: external_filename\\n\\nType: Character \\n    \",\"Parameter7\":\"contentsURL\",\"Description7\":\"Specifies the URL to be used for the contents file. \\n    \\nType: Character.\",\"Parameter8\":\"page\",\"Description8\":\"Names the HTML page file, using the following syntax:\\n\\n    FILEREF: SAS_fileref \\n    FILENAME: external_filename\\n\\nType: Character \\n    \",\"Parameter9\":\"pageURL\",\"Description9\":\"Specifies the URL to be used for the page file. \\n    \\nType: Character.\",\"Parameter10\":\"desc\",\"Description10\":\"Describes the inserted HTML package entry. \\n    \\nType: Character.\",\"Parameter11\":\"nameValue\",\"Description11\":\"Identifies a list of one or more space-separated name/value pairs, each in the form of name=value. Name/value pairs are site-specific; they are used for the purpose of filtering.\\n    \",\"Parameter12\":\"rc&lt;\",\"Description12\":\"Receives a return code. \\n    \\nType: Numeric.\",\"Parameter13\":\"properties\",\"Description13\":\"Identifies a comma-separated list of optional property names. Valid property names are as follows:\\n\\n      ENCODING\\n      COMPANION_FILE\\n      COMPANION_MIMETYPE\\n      COMPANION_URL\\n      GPATH\\n      GPATH_URL\\n      NESTED_NAME\\n\\nType: Character\\n    \",\"Parameter14\":\"propValue1, ...propValueN&gt;\",\"Description14\":\"Specifies one value for each specified property. The order of the values matches the order of the property names in the properties parameter. Valid property values are defined as follows:\\n\\n      ENCODING\\n      indicates the character set of the HTML files, such as ISO-8859-1.\\n\\n      COMPANION_FILE\\n      indicates the name of an additional HTML file that is to be added to this set of \\n      HTML files. Multiple COMPANION_FILE properties and values can be specified. Name \\n      the companion files, using the following syntax: FILEREF: SAS_fileref or\\n      FILENAME: external_filename\\n\\n      COMPANION_MIMETYPE\\n      indicates the MIME type of the companion file that is to be added to the inserted \\n      HTML entry. If specified, then this property must be preceded by the COMPANION_FILE \\n      property.\\n\\n      COMPANION_URL\\n      indicates the URL of an HTML file that is to be added to the inserted HTML entry.\\n      If specified, then this property must be preceded by the COMPANION_FILE property.\\n\\n      GPATH\\n      indicates the name of a single directory that contains the ODS-generated graphical \\n      files for inclusion as companion files to the HTML file set.\\n      \\n      GPATH_URL\\n      indicates the URL of the directory that contains the ODS-generated graphical files. \\n      An example of a URL might be ~ods-output/images. Alternatively, you can specify \\n      \\\"NONE\\\" as the GPATH_URL property value. If the value of \\\"NONE\\\" is specified, then \\n      only the filename is used as the URL.\\n\\n      NESTED_NAME\\n      indicates the name of the nested directory to create for the storage of the set \\n      of HTML files. If you do not specify a value for this property, then a name is \\n      generated automatically.\\n\\nType: Character\\n    \"},{\"Name\":\"INSERT_MDDB\",\"Definition\":\"Inserts a SAS multidimensional database into a package.\",\"Parameter1\":\"packageID\",\"Description1\":\"Identifies the package into which the MDDB will be inserted. \\n    \\nType: Numeric.\",\"Parameter2\":\"libname\",\"Description2\":\"Names the library that contains the MDDB. \\n    \\nType: Character.\",\"Parameter3\":\"memname\",\"Description3\":\"Specifies the name of the MDDB. \\n    \\nType: Character.\",\"Parameter4\":\"desc\",\"Description4\":\"Describes the MDDB. \\n    \\nType: Character.\",\"Parameter5\":\"nameValue\",\"Description5\":\"\\n      Identifies a list of one or more space-separated name/value pairs, each in one of the following forms:\\n\\n      name\\n      name=value\\n      name=\\\"value\\\"\\n      name=\\\"single value with spaces\\\"\\n      name=(value)\\n      name=(\\\"value\\\")\\n      name=(value1, \\\"value 2\\\", ... valueN)\\n\\nName/value pairs are site-specific; they are used for the purpose of filtering.\\n    \",\"Parameter6\":\"rc\",\"Description6\":\"Receives a return code. \\n    \\nType: Numeric.\"},{\"Name\":\"INSERT_PACKAGE\",\"Definition\":\"Inserts a package into another package.\",\"Parameter1\":\"packageId\",\"Description1\":\"Identifies the package. \\n    \\nType: Numeric.\",\"Parameter2\":\"insertPackageId\",\"Description2\":\"Identifies the package that will be nested in the package identified by packageID. \\n    \\nType: Numeric.\",\"Parameter3\":\"rc&lt;\",\"Description3\":\"Receives a return code. \\n    \\nType: Numeric.\",\"Parameter4\":\"properties\",\"Description4\":\"Identifies a comma-separated list of optional property names. At present, only one property is supported:\\n\\n    NESTED_NAME\\n\\n    Type: Character \\n    \",\"Parameter5\":\"propValue1, ...propValueN&gt;\",\"Description5\":\"Specifies one value for each specified property name. The order of the property values must match the order of the property names in the properties parameter. Valid property values are defined as follows:\\n\\n    NESTED_NAME \\n    indicates the name of the nested directory to create for the storage of the nested package. \\n    If you do not specify a value for this property, then a name is generated automatically. \\n\\n    Note: The NESTED_NAME property is valid only when publishing to the WebDAV-compliant \\n    server transport.  \\nType: Character \\n    \"},{\"Name\":\"INSERT_REF\",\"Definition\":\"Inserts a reference into a package.\",\"Parameter1\":\"packageID\",\"Description1\":\"Identifies the package into which the reference will be inserted. \\n    \\nType: Numeric.\",\"Parameter2\":\"referenceType\",\"Description2\":\"Specifies the type of the reference. Specify HTML or URL. \\n    \\nType: Character.\",\"Parameter3\":\"reference\",\"Description3\":\"Specifies the reference that is to be inserted. \\n    \\nType: Character.\",\"Parameter4\":\"desc\",\"Description4\":\"Describes the reference. \\n    \\nType: Character.\",\"Parameter5\":\"nameValue\",\"Description5\":\"Identifies a list of one or more space-separated name/value pairs, each in one of the following forms:\\n\\n      name\\n      name=value\\n      name=\\\"value\\\"\\n      name=\\\"single value with spaces\\\"\\n      name=(value)\\n      name=(\\\"value\\\")\\n      name=(value1, \\\"value 2\\\", ... valueN)\\n\\nName/value pairs are site-specific; they are used for the purpose of filtering.\\n    \",\"Parameter6\":\"rc\",\"Description6\":\"Receives a return code. Type: Numeric.\"},{\"Name\":\"INSERT_SQLVIEW\",\"Definition\":\"Inserts a PROC SQL view into a package.\",\"Parameter1\":\"packageId\",\"Description1\":\"Identifies the package into which the PROC SQL view will be inserted. \\n    \\nType: Numeric.\",\"Parameter2\":\"libname\",\"Description2\":\"Names the library that contains the PROC SQL view. \\n    \\nType: Character.\",\"Parameter3\":\"memname\",\"Description3\":\"Specifies the name of the PROC SQL view. \\n    \\nType: Character.\",\"Parameter4\":\"desc\",\"Description4\":\"Describes the PROC SQL view. \\n    \\nType: Character.\",\"Parameter5\":\"nameValue\",\"Description5\":\"\\n      Identifies a list of one or more space-separated name/value pairs, each in one of the following forms:\\n\\n      name\\n      name=value\\n      name=\\\"value\\\"\\n      name=\\\"single value with spaces\\\"\\n      name=(value)\\n      name=(\\\"value\\\")\\n      name=(value1, \\\"value 2\\\", ... valueN)\\n\\nName/value pairs are site-specific; they are used for the purpose of filtering.\\n    \",\"Parameter6\":\"rc\",\"Description6\":\"Receives a return code. \\n    \\nType: Numeric.\"},{\"Name\":\"INSERT_VIEWER\",\"Definition\":\"Inserts a viewer into a package.\",\"Parameter1\":\"packageId\",\"Description1\":\"Identifies the package into which the viewer will be inserted. \\n    \\nType: Numeric.\",\"Parameter2\":\"filename\",\"Description2\":\"Names the viewer, using the following syntax:\\n\\n      FILENAME: external_filename\\n      FILEREF: sas_fileref\\n\\nType: Character\\n    \",\"Parameter3\":\"mimeType\",\"Description3\":\"Specifies the MIME type, the value of which is determined by the user. Subscribers can filter packages based on MIME type.\",\"Parameter4\":\"desc\",\"Description4\":\"Describes the file. \\n    \\nType: Character.\",\"Parameter5\":\"nameValue\",\"Description5\":\"Identifies a list of one or more space-separated name/value pairs, each in one of the following forms:\\n\\n      name\\n      name=value\\n      name=\\\"value\\\"\\n      name=\\\"single value with spaces\\\"\\n      name=(value)\\n      name=(\\\"value\\\")\\n      name=(value1, \\\"value 2\\\", ... valueN)\\n\\n      Name/value pairs are site-specific; they are used for the purpose of filtering.\\n    \",\"Parameter6\":\"rc&lt;\",\"Description6\":\"Receives a return code. \\n    \\nType: Numeric.\",\"Parameter7\":\"properties\",\"Description7\":\"Identifies a comma-separated list of optional property names. Valid property names are as follows:\\n\\n    ENCODING\\n    VIEWER_TYPE\\n\\nType: Character \\n    \",\"Parameter8\":\"propValue1, ...propValueN&gt;\",\"Description8\":\"Specifies one value for each specified property. The order of the values must match the order of the property names in the properties parameter. Valid property values are defined as follows:\\n\\n      ENCODING \\n      indicates the character set of the viewer file, such as ISO-8859-1. \\n\\n      VIEWER_TYPE \\n      indicates the type of the viewer. Valid values are HTML and TEXT. \\n      The default value is HTML.\\n\\nType: Character\\n    \"},{\"Name\":\"PACKAGE_BEGIN\",\"Definition\":\"Initializes a package and returns a unique package identifier.\",\"Parameter1\":\"packageId\",\"Description1\":\"Identifies the new package. \\n    \\nType: Numeric.\",\"Parameter2\":\"desc\",\"Description2\":\"Describes the package. \\n    \\nType: Character.\",\"Parameter3\":\"nameValue\",\"Description3\":\"Identifies a list of one or more space-separated name/value pairs, each in one of the following forms:\\n\\n      name\\n      name=value\\n      name=\\\"value\\\"\\n      name=\\\"single value with spaces\\\"\\n      name=(value)\\n      name=(\\\"value\\\")\\n      name=(value1, \\\"value 2\\\", ... valueN)\\n\\n      Name/value pairs are site-specific; they are used for the purpose of filtering.\\n    \",\"Parameter6\":\"rc&lt;\",\"Description6\":\"Receives a return code. \\n    \\nType: Numeric.\",\"Parameter7\":\"properties\",\"Description7\":\"Identifies a comma-separated list of optional property names. Valid property names are as follows:\\n\\n    ABSTRACT\\n    EXPIRATION_DATETIME\\n    NAMESPACES\\n    \\nType: Character \\n    \",\"Parameter8\":\"propValue1, ...propValueN&gt;\",\"Description8\":\"Specifies one value for each specified property name. The order of the values must match the order of the property names in the properties parameter. Valid property values are defined as follows:\\n\\n      ABSTRACT \\n      provides an abstract (short summary) of the inserted package.\\n\\n      EXPIRATION_DATETIME \\n      numeric SAS datetime value. This value should be specified in GMT format. \\n\\n      NAMESPACES \\n      specifies unique names that associate published packages with specific contexts \\n      on a WebDAV-compliant server. The association of a namespace with a package \\n      organizes package data on a server according to meaningful criteria or contexts.\\n\\nType: Character or Numeric\\n    \"},{\"Name\":\"PACKAGE_END\",\"Definition\":\"Frees the resources that are associated with a package.\",\"Parameter1\":\"packageID\",\"Description1\":\"Identifies the package. \\n    \\nType: Numeric.\",\"Parameter2\":\"rc\",\"Description2\":\"Receives a return code. \\n    \\nType: Numeric.\"},{\"Name\":\"PACKAGE_PUBLISH*1\",\"Definition\":\"Publishes a package to an archive.\",\"Parameter1\":\"packageID\",\"Description1\":\"Identifies the package that is to be published. \\n    \\nType: Numeric.\",\"Parameter2\":\"publishType\",\"Description2\":\"Indicates how to publish the package. To publish the package by using the archive transport, specify TO_ARCHIVE. \\n    \\nType: Character.\",\"Parameter3\":\"rc&lt;\",\"Description3\":\"Receives a return code. \\n    \\nType: Numeric\",\"Parameter4\":\"properties\",\"Description4\":\"Identifies a comma-separated list of optional property names. Specify any of the following property names, or specify '' to indicate that no properties are to be applied: \\n\\n    ARCHIVE_NAME\\n    ARCHIVE_PATH\\n    FTP_PASSWORD\\n    FTP_USER\\n    HTTP_PASSWORD\\n    HTTP_PROXY_URL\\n    HTTP_USER\\n\\nType: Character \\n    \",\"Parameter5\":\"propValue1, ...propValueN&gt;\",\"Description5\":\"Specifies a value for each specified property name. The order of the property values must match the order of the property names in the properties parameter.\\n\\nType: Character \\n    \"},{\"Name\":\"PACKAGE_PUBLISH*2\",\"Definition\":\"Publishes a package using the e-mail transport.\",\"Parameter1\":\"packageID\",\"Description1\":\"Identifies the package that is to be published. \\n    \\nType: Numeric.\",\"Parameter2\":\"publishType\",\"Description2\":\"Indicates how to publish the package. To publish the package by using the e-mail transport, specify TO_EMAIL. Type: Character.\",\"Parameter3\":\"rc&lt;\",\"Description3\":\"Receives a return code. \\n    \\nType: Numeric.\",\"Parameter4\":\"properties\",\"Description4\":\"Identifies a comma-separated list of optional property names. Specify any of the following property names, or specify '' to indicate that no properties are to be applied: \\n\\n    ADDRESSLIST_DATASET_LIBNAME, ADDRESSLIST_DATASET_MEMNAME, \\n    ADDRESSLIST_VARIABLE_NAME, APPLIED_TEXT_VIEWER_NAME, \\n    APPLIED_VIEWER_NAME, ARCHIVE_NAME, ARCHIVE_PATH, \\n    COLLECTION_URL, DATASET_OPTIONS, ENCODING, FROM, \\n    FTP_PASSWORD, FTP_USER,     HTTP_PASSWORD, HTTP_PROXY_URL,\\n    HTTP_USER, IF_EXISTS, PARENT_URL, PROCESS_VIEWER, REPLYTO, \\n    SUBJECT, TARGET_VIEW_NAME, TARGET_VIEW_MIMETYPE, \\n    TEXT_VIEWER_NAME, VIEWER_NAME \\n\\nType: Character \\n    \",\"Parameter5\":\"propValue1, ...propValueN&gt;\",\"Description5\":\"Specifies a value for each specified property name. The order of the property values must match the order of the property names in the properties parameter.\\n\\nType: Character or Numeric.\\n    \",\"Parameter6\":\"address1 &lt;, ...addressN&gt;\",\"Description6\":null},{\"Name\":\"PACKAGE_PUBLISH*3\",\"Definition\":\"Publishes a package to one or more message queues.\",\"Parameter1\":\"packageID\",\"Description1\":\"Identifies the package that is to be published. \\n    \\nType: Numeric.\",\"Parameter2\":\"publishType\",\"Description2\":\"Indicates how to publish the package. To publish the package by using the queue transport, specify a publishType of TO_QUEUE. Type: Character.\",\"Parameter3\":\"rc&lt;\",\"Description3\":\"Receives a return code. \\n    \\nType: Numeric.\",\"Parameter4\":\"properties&lt;\",\"Description4\":\"Identifies a comma-separated list of optional property names. Specify any of the following property names, or specify '' to indicate that no properties are to be applied: \\n\\nType: Character \\n    \",\"Parameter5\":\"propValue1, ...propValueN&gt;\",\"Description5\":\"Specifies a value for each specified property name. The order of the property values must match the order of the property names in the properties parameter.\\n    \\n    ARCHIVE_NAME\\n    ARCHIVE_PATH\\n    CORRELATIONID\\n    FTP_PASSWORD\\n    FTP_USER\\n    HTTP_PASSWORD\\n    HTTP_PROXY_URL\\n    HTTP_USER\\n    \\nType: Character or Numeric.\\n    \",\"Parameter6\":\"queue1 &lt;, ...queueN&gt;\",\"Description6\":\"Character string that specifies the queue(s) that will be used to publish the package. When publishing to MSMQ queues, use the following syntax: \\n\\n    MSMQ://queueHostMachineName\\\\queueName\\n    \\n    When publishing to MQSeries queues, use the following syntax: \\n        MQSERIES://queueManager:queueName\\n    or \\n        MQSERIES-C://queueManager:queueName\\n\\nType: Character \\n  \"},{\"Name\":\"PACKAGE_PUBLISH*4\",\"Definition\":\"Publishes a package to subscribers who are associated with specified channel.\",\"Parameter1\":\"packageID\",\"Description1\":\"Identifies the package that is to be published. \\n    \\nType: Numeric.\",\"Parameter2\":\"publishType\",\"Description2\":\"Indicates how to publish the package. To publish a package to the subscribers of a channel, specify a publishType value of TO_SUBSCRIBERS. Type: Character.\",\"Parameter3\":\"rc&lt;\",\"Description3\":\"Receives a return code. \\n    \\nType: Numeric.\",\"Parameter4\":\"properties&lt;\",\"Description4\":\"Identifies a comma-separated list of optional property names. Specify any of the following property names, or specify '' to indicate that no properties are to be applied: \\n\\n    APPLIED_TEXT_VIEWER_NAME, APPLIED_VIEWER_NAME, ARCHIVE_NAME, \\n    ARCHIVE_PATH, CHANNEL_STORE, COLLECTION_URL, CORRELATIONID, \\n    ENCODING, FOLDER_PATH, FROM, FTP_PASSWORD, FTP_USER, \\n    GENERATED_NAME, HTTP_PASSWORD, HTTP_PROXY_URL, HTTP_USER, \\n    IF_EXISTS, METAPASS, METAUSER, PARENT_URL, PROCESS_VIEWER,\\n    REPLYTO, SUBJECT, TARGET_VIEW_NAME, TARGET_VIEW_MIMETYPE, \\n    TEXT_VIEWER_NAME, VIEWER_NAME\\n\\nType: Character \\n    \",\"Parameter5\":\"propValue1, ...propValueN&gt;\",\"Description5\":\"Specifies a value for each specified property name. The order of the property values must match the order of the property names in the properties parameter.\\n\\nType: Character or Numeric.\\n    \",\"Parameter6\":\"channel\",\"Description6\":\"Specifies the name of the channel as it is defined in the SAS Metadata Repository. The channel contains a list of subscribers to whom the package will be published. \\n\\nType: Character \\n  \"},{\"Name\":\"PACKAGE_PUBLISH*5\",\"Definition\":\"Publishes a package to a WebDAV-compliant server.\",\"Parameter1\":\"packageID\",\"Description1\":\"Identifies the package that is to be published. \\n    \\nType: Numeric.\",\"Parameter2\":\"publishType\",\"Description2\":\"Indicates how to publish the package. To publish the package using the WebDAV transport, specify a publishType of TO_WEBDAV. Type: Character.\",\"Parameter3\":\"rc&lt;\",\"Description3\":\"Receives a return code. \\n    \\nType: Numeric.\",\"Parameter4\":\"properties&lt;\",\"Description4\":\"Identifies a comma-separated list of optional property names. Specify any of the following property names, or specify '' to indicate that no properties are to be applied:\\n\\n      ARCHIVE_NAME\\n      ARCHIVE_PATH\\n      COLLECTION_URL\\n      HTTP_PASSWORD\\n      HTTP_PROXY_URL\\n      HTTP_USER\\n      IF_EXISTS\\n      PARENT_URL\\n      TARGET_VIEW_MIMETYPE\\n      TARGET_VIEW_NAME\\n      TEXT_VIEWER_NAME\\n      VIEWER_NAME\\n      \\nType: Character\\n    \",\"Parameter5\":\"propValue1, ...propValueN&gt;\",\"Description5\":\"Specifies a value for each specified property name. The order of the property values must match the order of the property names in the properties parameter.\\n\\nType: Character or Numeric.\\n    \"},{\"Name\":\"COMPANION_NEXT\",\"Definition\":\"Retrieves the next companion HTML file in the ODS HTML set.\",\"Parameter1\":\"entryIdx\",\"Description1\":\"Identifies the companion HTML file entry.\",\"Parameter2\":\"path\",\"Description2\":\"Specifies the full path of the location that will receive the retrieved file.\\n\\nType: Character \\n\",\"Parameter3\":\"filename\",\"Description3\":\"Returns the name of the new file. \\n    \\nType: Character.\",\"Parameter4\":\"url\",\"Description4\":\"Returns the URL of the companion file. \\n    \\nType: Character.\",\"Parameter5\":\"rc&lt;\",\"Description5\":\"Receives a return code. \\n    \\nType: Numeric.\",\"Parameter6\":\"properties\",\"Description6\":\"Identifies a comma-separated list of optional property names. Valid property names are as follows:\\n\\n    ENCODING\\n    MIMETYPE\\n\\nType: Character \\n\",\"Parameter7\":\"propValue1, ...propValueN&gt;\",\"Description7\":\"Specifies one value for each specified property name. The order of the property values must match the order of the property names in the properties parameter. Valid property values are defined as follows: \\n\\n    ENCODING \\n    input character string that specifies the target encoding for the companion \\n    file. The companion file is translated into the specified encoding. An example \\n    of a target encoding value is ISO-8859-1.\\n\\n    MIMETYPE \\n    character output parameter that identifies the MIME type of the companion \\n    file. The MIME type is returned in the MIMETYPE variable. The publisher of \\n    the companion file can set the user-specified MIME type after the companion \\n    file is published. If the publisher does not specify the MIME type, then the \\n    returned value is blank.\\n\\nType: Character \\n\"},{\"Name\":\"ENTRY_FIRST\",\"Definition\":\"Returns header information for the first entry in a package.\",\"Parameter1\":\"packageId\",\"Description1\":\"identifies the package. \\n    \\nType: Numeric.\",\"Parameter2\":\"entryId\",\"Description2\":\"Returns the identifier of the entry. \\n    \\nType: Numeric\",\"Parameter3\":\"entryType\",\"Description3\":\"Returns the type of the entry. Available types include the following:\\n\\n    BINARY\\n    CATALOG\\n    DATASET\\n    FDB\\n    HTML\\n    MDDB\\n    NESTED_PACKAGE\\n    REFERENCE\\n    SQLVIEW\\n    TEXT\\n    VIEWER\\n\\nType: Character \\n\",\"Parameter4\":\"userSpecString\",\"Description4\":\"Returns a string from the specified entry. \\n    \\nType: Character.\",\"Parameter5\":\"desc\",\"Description5\":\"Returns the entry description from the specified entry. \\n    \\nType: Character.\",\"Parameter6\":\"nameValue\",\"Description6\":\"Returns the name/value pairs assigned to the specified entry. Name/value pairs are site-specific; they are used for the purpose of filtering. \\n\\nType: Character \\n    \",\"Parameter7\":\"rc&lt;\",\"Description7\":\"Receives a return code. \\n    \\nType: Numeric.\",\"Parameter8\":\"properties\",\"Description8\":\"Identifies a comma-separated list of optional property names. Valid property names are as follows:\\n\\n    FILENAME\\n\\nType: Character \\n    \",\"Parameter9\":\"propValue1, ...propValueN&gt;\",\"Description9\":\"Returns one value for each specified property name. Valid property names are supported as follows: \\n\\n    FILENAME \\n    output character string variable that returns the name of the file \\n    (as it exists in the package).\\n\\nType: Character \\n  \"},{\"Name\":\"ENTRY_NEXT\",\"Definition\":\"Returns header information for the next entry in a package.\",\"Parameter1\":\"packageId\",\"Description1\":\"identifies the package. \\n    \\nType: Numeric.\",\"Parameter2\":\"entryId\",\"Description2\":\"Returns the identifier of the entry. \\n    \\nType: Numeric\",\"Parameter3\":\"entryType\",\"Description3\":\"Returns the type of the entry. Available types include the following:\\n\\n    BINARY\\n    CATALOG\\n    DATASET\\n    FDB\\n    HTML\\n    MDDB\\n    NESTED_PACKAGE\\n    REFERENCE\\n    SQLVIEW\\n    TEXT\\n    VIEWER\\n\\nType: Character \\n    \",\"Parameter4\":\"userSpecString\",\"Description4\":\"Returns a string from the specified entry. \\n    \\nType: Character.\",\"Parameter5\":\"desc\",\"Description5\":\"Returns the entry description from the specified entry. \\n    \\nType: Character.\",\"Parameter6\":\"nameValue\",\"Description6\":\"Returns the name/value pairs assigned to the specified entry. Name/value pairs are site-specific; they are used for the purpose of filtering. \\n\\nType: Character \\n\",\"Parameter7\":\"rc&lt;\",\"Description7\":\"Receives a return code. Type: Numeric.\",\"Parameter8\":\"properties\",\"Description8\":\"Identifies a comma-separated list of optional property names. Valid property names are as follows:\\n\\n    FILENAME\\n\\nType: Character \\n\",\"Parameter9\":\"propValue1, ...propValueN&gt;\",\"Description9\":\"Returns one value for each specified property name. Valid property names are supported as follows: \\n\\n    FILENAME \\n    output character string variable that returns the name of the file \\n    (as it exists in the package).\\n\\nType: Character \\n  \"},{\"Name\":\"PACKAGE_DESTROY\",\"Definition\":\"Deletes a package.\",\"Parameter1\":\"packageID\",\"Description1\":\"Identifies the package to be deleted. \\n    \\nType: Numeric.\",\"Parameter2\":\"rc\",\"Description2\":\"Receives a return code. \\n    \\nType: Numeric.\"},{\"Name\":\"PACKAGE_FIRST\",\"Definition\":\"Returns the header information for the first package in the package list.\",\"Parameter1\":\"pkgListId\",\"Description1\":\"Identifies the list of retrieved packages. \\n    \\nType: Numeric.\",\"Parameter2\":\"packageId\",\"Description2\":\"Identifies the retrieved package. \\n    \\nType: Numeric.\",\"Parameter3\":\"numEntries\",\"Description3\":\"Returns the number of entries in the package. \\n    \\nType: Numeric.\",\"Parameter4\":\"desc\",\"Description4\":\"Returns a description of the package. \\n    \\nType: Character.\",\"Parameter5\":\"dateTime\",\"Description5\":\"Returns the date and time that the package was published, in GMT format.\\n\\nType: Numeric\\n    \",\"Parameter6\":\"nameValue\",\"Description6\":\"Returns the name/value pairs assigned to the package. Name/value pairs are site-specific; they are used for the purpose of filtering. \\n\\nType: Character \\n    \",\"Parameter7\":\"channel\",\"Description7\":\"Returns the name of a channel to which the package was published.\\n\\nType: Character \\n    \",\"Parameter8\":\"rc&lt;\",\"Description8\":\"Receives a return code.\\n\\nType: Numeric \\n    \",\"Parameter9\":\"properties\",\"Description9\":\"Identifies a comma-separated list of optional property names to be returned from the package. Valid property names are as follows:\\n\\n    ABSTRACT\\n    EXPIRATION_DATETIME\\n\\nType: Character \\n    \",\"Parameter10\":\"propValue1, ...propValueN&gt;\",\"Description10\":\"Returns one value for each specified property. The order of the values matches the order of the property names in the properties parameter. Valid property values are defined as follows: \\n\\n    ABSTRACT \\n    character string variable, if specified, is returned to the ABSTRACT \\n    variable.\\n\\n    EXPIRATION_DATETIME \\n    numeric variable, if specified, is returned as the package expiration\\n    date-and-time stamp to the EXPIRATION_DATETIME variable. The date-and-\\n    time stamp is in GMT format.\\n\\nType: Character or Numeric \\n  \"},{\"Name\":\"PACKAGE_NEXT\",\"Definition\":\"Returns the header information for the next package in the package list.\",\"Parameter1\":\"pkgListId\",\"Description1\":\"Identifies the list of retrieved packages. \\n    \\nType: Numeric.\",\"Parameter2\":\"packageId\",\"Description2\":\"Returns the name of the retrieved package. \\n    \\nType: Numeric.\",\"Parameter3\":\"numEntries\",\"Description3\":\"Returns the total number of entries in the package. \\n    \\nType: Numeric.\",\"Parameter4\":\"desc\",\"Description4\":\"Describes the package. \\n    \\nType: Character.\",\"Parameter5\":\"dateTime\",\"Description5\":\"Returns the date and time value that the package was published, in GMT format.\\n\\nType: Numeric\\n    \",\"Parameter6\":\"nameValue\",\"Description6\":\"Returns the name/value pairs assigned to the package. Name/value pairs are site-specific; they are used for the purpose of filtering. \\n\\nType: Character \\n    \",\"Parameter7\":\"channel\",\"Description7\":\"Returns the name of a channel to which the package was published.\\n\\nType: Character \\n    \",\"Parameter8\":\"rc&lt;\",\"Description8\":\"Receives a return code.\\n\\nType: Numeric \\n    \",\"Parameter9\":\"properties\",\"Description9\":\"Identifies a comma-separated list of optional property names to be returned from the package. Valid property names are as follows:\\n\\n    ABSTRACT\\n    EXPIRATION_DATETIME\\n\\nType: Character \\n    \",\"Parameter10\":\"propValue1, ...propValueN&gt;\",\"Description10\":\"Returns one value for each specified property. The order of the values matches the order of the property names in the properties parameter. Valid property values are defined as follows: \\n\\n    ABSTRACT \\n    character string variable, if specified, is returned to the ABSTRACT \\n    variable.\\n\\n    EXPIRATION_DATETIME \\n    numeric variable, if specified, is returned as the package expiration\\n    date-and-time stamp to the EXPIRATION_DATETIME variable. The date-and-\\n    time stamp is in GMT format.\\n\\nType: Character or Numeric \\n  \"},{\"Name\":\"PACKAGE_TERM\",\"Definition\":\"Frees all resources associated with the package list identifier.\",\"Parameter1\":\"pkgListId\",\"Description1\":\"Identifies the list of packages. \\n    \\nType: Numeric.\",\"Parameter2\":\"rc\",\"Description2\":\"Receives a return code. \\n    \\nType: Numeric.\"},{\"Name\":\"RETRIEVE_CATALOG\",\"Definition\":\"Retrieves a catalog from a package.\",\"Parameter1\":\"entryId\",\"Description1\":\"Identifies the catalog entry.\\n\\nType: Numeric \\n    \",\"Parameter2\":\"libname\",\"Description2\":\"Specifies the SAS library that will contain the retrieved catalog.\\n\\nType: Character \\n    \",\"Parameter3\":\"memname\",\"Description3\":\"Names the retrieved catalog.\\n\\nType: Character \\n    \",\"Parameter4\":\"rc\",\"Description4\":\"Receives a return code.\\n\\nType: Numeric \\n    \"},{\"Name\":\"RETRIEVE_DATASET\",\"Definition\":\"This CALL routine retrieves a data set entry from a package.\",\"Parameter1\":\"entryId\",\"Description1\":\"Identifies the data set entry. \\n    \\nType: Numeric.\",\"Parameter2\":\"libname\",\"Description2\":\"Specifies the SAS library that will contain the retrieved data set. \\n    \\nType: Character.\",\"Parameter3\":\"memname\",\"Description3\":\"Names the retrieved data set. \\n    \\nType: Character.\",\"Parameter4\":\"rc&lt;\",\"Description4\":\"Receives a return code. \\n    \\nType: Numeric.\",\"Parameter7\":\"properties\",\"Description7\":\"\\n      Identifies a comma-separated list of optional property names. Valid property names are as follows:\\n\\n      DATASET_OPTIONS\\n      CSV_SEPARATOR\\n      CSV_FLAG\\n\\n      Type: Character\\n    \",\"Parameter8\":\"propValue1, ...propValueN&gt;\",\"Description8\":\"\\n      Specifies one value for each specified property. The order of the values matches the order of the property names in the properties parameter. Valid property values are defined as follows:\\n\\n      DATASET_OPTIONS\\n      character parameter SAS data set options that are to be applied to the\\n      retrieved data set.\\n\\n      CSV_SEPARATOR\\n      character property that applies only when the RETRIEVE_DATASET CALL routine\\n      is called on a CSV file entry. When this occurs, the CSV file is transformed\\n      into a SAS data set. A binary CSV file is identified by a MIME type of\\n      application/x-comma-separated-values. Use the CSV_SEPARATOR property to\\n      indicate the separator to be used when creating the CSV file. The default\\n      separator is a comma.\\n\\n      CSV_FLAG\\n      character property that only applies when calling the RETRIEVE_DATASET \\n      CALL routine for a binary file entry. A binary CSV file is identified \\n      by a MIME type of application/x-comma-separated-values. This property \\n      is a CSV override flag. By default when converting this binary CSV file \\n      into a SAS data set, the first line will be processed as variable names. \\n      The second line will be processed as variable label names.\\n\\nType: Character \\n    \"},{\"Name\":\"RETRIEVE_FDB\",\"Definition\":\"Retrieves a financial database entry from a package.\",\"Parameter1\":\"entryId\",\"Description1\":\"Identifies the FDB entry. \\n    \\nType: Numeric.\",\"Parameter2\":\"libname\",\"Description2\":\"Specifies the SAS library that will contain the retrieved FDB. \\n    \\nType: Character.\",\"Parameter3\":\"memname\",\"Description3\":\"Specifies the member name of the retrieved FDB. \\n    \\nType: Character.\",\"Parameter4\":\"rc\",\"Description4\":\"Receives a return code. \\n    \\nType: Numeric.\"},{\"Name\":\"RETRIEVE_FILE\",\"Definition\":\"Retrieves an external binary or text file from a package.\",\"Parameter1\":\"entryId\",\"Description1\":\"Identifies the file entry. \\n    \\nType: Numeric.\",\"Parameter2\":\"filename\",\"Description2\":\"Specifies the name of the file or fileref, using the following syntax:\\n\\n    FILENAME: external_filename\\n    FILEREF: SAS_fileref\\n\\nType: Character \\n    \",\"Parameter3\":\"rc\",\"Description3\":\"Receives a return code. \\n    \\nType: Numeric.\"},{\"Name\":\"RETRIEVE_HTML\",\"Definition\":\"Retrieves an HTML entry from a package.\",\"Parameter1\":\"entryId\",\"Description1\":\"Identifies the HTML entry. \\n    \\nType: Numeric.\",\"Parameter2\":\"path\",\"Description2\":\"Specifies the full designation of the location that will receive the retrieved files.\\n\\nType: Character \\n    \",\"Parameter3\":\"body\",\"Description3\":\"Returns the name of the HTML body file. \\n\\nType: Character \\n    \",\"Parameter4\":\"bodyURL\",\"Description4\":\"Returns the URL of the HTML body file. \\n\\nType: Character \\n    \",\"Parameter5\":\"frame\",\"Description5\":\"Returns the name of the HTML frame file.\\n\\nType: Character \\n    \",\"Parameter6\":\"frameURL\",\"Description6\":\"returns the URL of the HTML frame file.\\n\\nType: Character \\n    \",\"Parameter7\":\"contents\",\"Description7\":\"Returns the name of the HTML contents file. \\n    \\nType: Character.\",\"Parameter8\":\"contentsURL\",\"Description8\":\"Returns the URL of the HTML contents file. \\n    \\nType: Character.\",\"Parameter9\":\"pages\",\"Description9\":\"Returns the name of the HTML page file.\\n\\nType: Character \\n    \",\"Parameter10\":[\"pagesURL\",\"desc\"],\"Description10\":[\"Returns the URL of the HTML page file. \\n    \\nType: Character.\",\"Describes the inserted HTML package entry. \\n    \\nType: Character.\"],\"Parameter11\":\"rc&lt;\",\"Description11\":\"Receives a return code. \\n    \\nType: Numeric.\",\"Parameter12\":\"properties\",\"Description12\":\"\\n      Identifies a comma-separated list of optional property names. Valid property names are as follows:\\n\\n      ENCODING\\n      BODY_TOTAL\\n      FILE_TOTAL\\n      COMPANION_TOTAL\\n      \\nType: Character\\n    \",\"Parameter13\":\"propValue1, ...propValueN&gt;\",\"Description13\":\"Specifies one value for each specified property. The order of the values matches the order of the property names in the properties parameter. Valid property values are defined as follows:\\n\\n      ENCODING\\n      input character string that indicates the target encoding for the retrieved \\n      HTML file. An example of a target encoding value is ISO-8859-1. Refer to \\n      Publish and Retrieve Encoding Behavior for further information.\\n\\n      BODY_TOTAL\\n      numeric output parameter that returns the total number of HTML body files \\n      published as part of this set.\\n\\n      FILE_TOTAL\\n      numeric output parameter that returns the total number of all HTML files \\n      published as part of this set. This includes all body, page, contents, \\n      frame, and additional HTML files and companion files.\\n\\n      COMPANION_TOTAL\\n      numeric output parameter that returns the total number of extraneous \\n      HTML files that were published as part of this set.\\n\\nType: Character or Numeric\\n\\n    \"},{\"Name\":\"RETRIEVE_MDDB\",\"Definition\":\"Retrieves an MDDB entry from a package. An MDDB is a multidimensional database (not a data set) offered by SAS.\",\"Parameter1\":\"entryId\",\"Description1\":\"Identifies the MDDB entry. \\n    \\nType: Numeric.\",\"Parameter2\":\"libname\",\"Description2\":\"Specifies the SAS library that will contain the retrieved MDDB. \\n    \\nType: Character.\",\"Parameter3\":\"memname\",\"Description3\":\"Specifies the name of the retrieved MDDB. \\n    \\nType: Character.\",\"Parameter4\":\"rc\",\"Description4\":\"Receives a return code. \\n    \\nType: Numeric.\"},{\"Name\":\"RETRIEVE_NESTED\",\"Definition\":\"Retrieves the descriptive header information for a nested package entry \",\"Parameter1\":\"entryId\",\"Description1\":\"Identifies the nested package entry. \\n    \\nType: Numeric.\",\"Parameter2\":\"packageId\",\"Description2\":\"Returns the identifier of the nested package. \\n    \\nType: Numeric.\",\"Parameter3\":\"numEntries\",\"Description3\":\"Returns the number of entries in the nested package. \\n    \\nType: Numeric.\",\"Parameter4\":\"desc\",\"Description4\":\"Returns a description of the nested package entry. \\n    \\nType: Character.\",\"Parameter5\":\"dateTime\",\"Description5\":\"Returns the date and time that the nested package was published, in GMT format.\\n\\nType: Numeric\\n    \",\"Parameter6\":\"nameValue\",\"Description6\":\"Returns the name/value pairs assigned to the package. Name/value pairs are site-specific; they are used for the purpose of filtering. \\n\\nType: Character \\n    \",\"Parameter7\":\"rc\",\"Description7\":\"Receives a return code.\\n\\nType: Numeric \\n    \"},{\"Name\":\"RETRIEVE_PACKAGE\",\"Definition\":\"This CALL routine retrieves descriptive header information for all packages.\",\"Parameter1\":\"pkgListId\",\"Description1\":\"Identifies the list of packages. \\n    \\nType: Numeric.\",\"Parameter2\":\"retrievalType\",\"Description2\":\"Specifies the transport to use when retrieving a package. Valid values include the following:\\n\\n      FROM_QUEUE\\n      FROM_ARCHIVE\\n      FROM_WEBDAV\\n\\nType: Character\\n    \",\"Parameter3\":\"retrievalInfo\",\"Description3\":\"Specifies transport-specific information that determines the package to retrieve. When retrieving from an archive, specify the physical path and name of the archive, excluding the extension. When retrieving from a WebDAV-compliant server, specify the URL that identifies the package to retrieve. When retrieving from MSMQ queues, use the following syntax:\\n\\n      MSMQ://queueHostMachineName\\\\queueName\\n      \\n      When retrieving from MQSeries queues, use the following syntax:\\n        MQSERIES://queueManager:queueName \\n      or\\n        MQSERIES-C://queueManager:queueName \\n        \\nType: Character\\n    \",\"Parameter4\":\"totalPackages\",\"Description4\":\"Provides the total number of packages found.\\n\\nType: Numeric \\n    \",\"Parameter5\":\"rc&lt;\",\"Description5\":\"Receives a return code.\\n\\nType: Numeric \\n    \",\"Parameter6\":\"properties\",\"Description6\":\"Identifies a comma-separated list of optional property names to be returned from the package. Valid property names are as follows:\\n\\n      CORRELATIONID\\n      FTP_PASSWORD\\n      FTP_USER\\n      HTTP_PASSWORD\\n      HTTP_PROXY_URL\\n      HTTP_USER\\n      NAMESPACES\\n      QUEUE_TIMEOUT\\n      \\nType: Character\\n    \",\"Parameter7\":\"propValue1, ...propValueN&gt;\",\"Description7\":\"Returns one value for each specified property. The order of the values matches the order of the property names in the properties parameter. Valid property values are defined as follows:\\n\\n      CORRELATIONID\\n      This character string specifies retrieval of only those packages that have the\\n      specified correlation identifier. (Applies only to the message queue transport.)\\n\\n      FTP_PASSWORD\\n      When retrieving with the archive transport (FROM_ARCHIVE), this character string \\n      indicates the password that is used to connect to the remote host. Specify this \\n      property only when the host does not accept anonymous access. (Applies to the \\n      FROM_ARCHIVE property when the FTP protocol is used.)\\n\\n      FTP_USER\\n      When retrieving with the archive transport, this character string indicates the \\n      name of the user to connect to the remote host. (Applies to the FROM_ARCHIVE \\n      property when the FTP protocol is used.)\\n\\n      HTTP_PASSWORD\\n      When retrieving with the WebDAV transport (FROM_WEBDAV), this character string \\n      indicates the password used to bind to the Web server. Specify this property only \\n      when the Web server does not accept anonymous access. (Applies to the FROM_ARCHIVE \\n      property when the HTTP protocol is used.)\\n\\n      HTTP_PROXY_URL\\n      When retrieving with the WebDAV transport, this character string indicates the \\n      URL of the proxy server. (Applies to the archive transport when the HTTP protocol \\n      is used with archive specifications.)\\n\\n      HTTP_USER\\n      When retrieving with the WebDAV transport, this character string indicates the \\n      name of the user to bind to the Web server. (Applies to the FROM_ARCHIVE property \\n      when the HTTP protocol is used.)\\n\\n      NAMESPACES\\n      When retrieving with the WebDav transport, this character string lists one or \\n      more namespaces that you are interested in, using the syntax shown in the \\n      following example:\\n\\n      a=\\\"http://www.host.com/myNamespace\\\"\\n      A=\\\"http://www.host.com/myNamespace1\\\"\\n      B=\\\"http://www.host.com/myNamespace2\\\"\\n      \\n      QUEUE_TIMEOUT      \\n      This numeric value identifies the number of seconds for the poll timeout. \\n      By default, if this property is not specified, the RETRIEVE_PACKAGE CALL \\n      routine polls and returns immediately with the number of packages found, \\n      if any. To override this default, specify the QUEUE_TIMEOUT property so \\n      that the RETRIEVE_PACKAGE CALL routine will continue to poll for packages \\n      until at least one package is found on the queue or until the timeout \\n      occurs, whichever occurs first.\\n\\nType: Character or Numeric\\n    \"},{\"Name\":\"RETRIEVE_REF\",\"Definition\":\"Retrieves a reference from a package.\",\"Parameter1\":\"entryId\",\"Description1\":\"Identifies the reference entry to be retrieved. \\n    \\nType: Numeric.\",\"Parameter2\":\"referenceType\",\"Description2\":\"Returns the type of the reference, the value of which can be HTML or URL. \\n    \\nType: Character\",\"Parameter3\":\"reference\",\"Description3\":\"Returns the value of the reference. \\n    \\nType: Character\",\"Parameter4\":\"rc\",\"Description4\":\"Receives a return code. \\n    \\nType: Numeric.\"},{\"Name\":\"RETRIEVE_SQLVIEW\",\"Definition\":\"Retrieves a PROC SQL view from a package.\",\"Parameter1\":\"entryId\",\"Description1\":\"identifies the PROC SQL view entry. \\n    \\nType: Numeric\",\"Parameter2\":\"libname\",\"Description2\":\"Specifies the SAS library that will contain the retrieved PROC SQL view. \\n    \\nType: Character\",\"Parameter3\":\"memname\",\"Description3\":\"Specifies the name of the PROC SQL view. \\n    \\nType: Character\",\"Parameter4\":\"rc\",\"Description4\":\"Receives a return code. \\n    \\nType: Numeric\"},{\"Name\":\"RETRIEVE_VIEWER\",\"Definition\":\"Retrieves a viewer entry from a package.\",\"Parameter1\":\"entryId\",\"Description1\":\"Identifies the file entry. \\n    \\nType: Numeric.\",\"Parameter2\":\"filename\",\"Description2\":\"Specifies the name of the file or fileref, using the following syntax:\\n\\n      FILENAME: external_filename\\n      FILEREF: sas_fileref\\n\\nType: Character\\n    \",\"Parameter3\":\"rc&lt;\",\"Description3\":\"Receives a return code. \\n    \\nType: Numeric.\",\"Parameter4\":\"properties\",\"Description4\":\"Identifies a comma-separated list of optional property names. Valid property names are as follows:\\n\\n    ENCODING\\n    \\nType: Character \\n    \",\"Parameter5\":\"propValue1, ...propValueN&gt;\",\"Description5\":\"Specifies one value for each specified property. The order of the values must match the order of the property names in the properties parameter. Valid property values are defined as follows:\\n\\n      ENCODING \\n      input character string that indicates the target encoding for the retrieved \\n      viewer file. An example of a target encoding value is ISO-8859-1.\\n\\nType: Character\\n    \"},{\"Name\":\"PRXCHANGE\",\"Definition\":\"Performs a pattern-matching replacement.\",\"Parameter1\":\"perl-regular-expression | CHARregular-expression-id\",\"Description1\":\"perl-regular-expression\\n  specifies a character constant, variable, or expression with a value that is a Perl regular expression.\\n  Data type: CHAR\\n\\nregular-expression-id\\n  specifies a numeric variable with a value that is a pattern identifier that is returned from the PRXPARSE function.\\n  Restriction: If you use this argument, you must also use the PRXPARSE function.\\n  Data type: INTEGER\\n    \",\"Parameter2\":\"times\",\"Description2\":\"Is a numeric constant, variable, or expression that specifies the number of times to search for a match and replace a matching pattern.\\n\\nData type: INTEGER\\n\\nTip: If the value of times is \\u20131, then matching patterns continue to be replaced until the end of source is reached.\",\"Parameter3\":\"source\",\"Description3\":\"Specifies a character constant, variable, or expression that you want to search.\\n\\nData type: CHAR\"},{\"Name\":\"PRXPAREN\",\"Definition\":\"Returns the last bracket match for which there is a match in a pattern.\",\"Parameter1\":\"regular-expression-id\",\"Description1\":\"Specifies a numeric variable with a value that is an identification number that is returned by the PRXPARSE function.\"},{\"Name\":\"PRXPARSE\",\"Definition\":\"Compiles a Perl regular expression (PRX) that can be used for pattern matching of a character value. \\n    \\nSyntax: regular-expression-id=PRXPARSE(perl-regular-expression) \\n\\nregular-expression-id\\n  is a numeric pattern identifier that is returned by the PRXPARSE function.\\n  Data type: INTEGER\",\"Parameter1\":\"perl-regular-expression\",\"Description1\":\"specifies a character, constant, variable, or expression with a value that is a Perl regular expression.\\n\\nData type: CHAR\"},{\"Name\":\"PRXPOSN\",\"Definition\":\"Returns a character string that contains the value for a capture buffer. \\n    \\n Returned data type: CHAR\",\"Parameter1\":\"regular-expression-id\",\"Description1\":\"Specifies a numeric variable with a value that is a pattern identifier that is returned by the PRXPARSE function.\\n\\nData type: INTEGER\",\"Parameter2\":\"capture-buffer\",\"Description2\":\"Is a numeric constant, variable, or expression that identifies the capture buffer for which to retrieve a value:\\n  \\u2022If the value of capture-buffer is zero, PRXPOSN returns the entire match.\\n  \\u2022If the value of capture-buffer is between 1 and the number of open parentheses in the regular expression, then PRXPOSN returns the value for that capture buffer.\\n  \\u2022If the value of capture-buffer is greater than the number of open parentheses, then PRXPOSN returns a missing value.\\n  \\n  Data type: INTEGER\",\"Parameter3\":\"source\",\"Description3\":\"Specifies the text from which to extract capture buffers.\\n\\nData type: CHAR\"},{\"Name\":\"KSTRCAT\",\"Definition\":\"Concatenates two or more character expressions.\",\"Parameter1\":\"expression-1\",\"Description1\":\"Specifies the first single-byte or double-byte character expression.\\n\\nRequirement: At least two expressions are required.\\nData type: NCHAR\",\"Parameter2\":\"expression-2[, \\u2026 expression-n]\",\"Description2\":\"Specifies more single-byte or double-byte character expression. \\n    \\nRequirement: At least one more expression is required.\\nData type: NCHAR\"},{\"Name\":\"KCOUNT\",\"Definition\":\"Returns the number of double-byte characters in an expression.\",\"Parameter1\":\"[']source[']\",\"Description1\":\"Specifies any valid expression that evaluates to a character string.\\n\\nData type: NCHAR\\nTip: Enclose a literal string of characters in quotation marks.\"},{\"Name\":\"KSTRIP\",\"Definition\":\"Returns a character string with all leading and trailing blanks removed.\",\"Parameter1\":\"[']string[']\",\"Description1\":\"Specifies any valid expression that evaluates to a character string.\\n  \\nData type: NCHAR\\nTip: Enclose a literal string of characters in quotation marks.\"},{\"Name\":\"KUPDATE\",\"Definition\":\"Inserts, deletes, and replaces character value contents.\",\"Parameter1\":\"[']expression[']\",\"Description1\":\"Specifies any valid expression that evaluates to a character string.\\n\\nData type: NCHAR\\nTip: Enclose a literal string of characters in quotation marks.\",\"Parameter2\":\"position\",\"Description2\":\"Specifies a numeric expression that is the beginning character position.\\n\\nData type: INTEGER\\n    \",\"Parameter3\":\"n[\",\"Description3\":\"Specifies a numeric expression that is the length of the substring to be replaced.\\n\\nRestrictions: n cannot be larger than the length of the expression that remains in expression after position. \\n  n is optional, but you cannot omit both n and characters-to-replace from the function.\\n\\nData type: INTEGER\\nTip: If you omit n, SAS uses all of the characters in characters-to-replace to replace the values of expression.\",\"Parameter4\":\"[']characters-to-replace[']]\",\"Description4\":\"Specifies an expression which evaluates to a character string that replaces the contents of expression. \\n    \\nRestriction: characters-to-replace is optional, but you cannot omit both characters-to-replace and n from the function.\\nData type: NCHAR\\nTip: Enclose a literal string of characters in quotation marks.\"},{\"Name\":\"KUPDATES\",\"Definition\":\"Inserts, deletes, and replaces the contents of the character value according to the byte position of the character value in the argument.\",\"Parameter1\":\"[']expression[']\",\"Description1\":\"Specifies any valid expression that evaluates to a character string.\\n\\nData type: NCHAR\\nTip: Enclose a literal string of characters in quotation marks.\",\"Parameter2\":\"position\",\"Description2\":\"Specifies a numeric expression that is the beginning character position in bytes.\\n\\nData type: INTEGER\\n    \",\"Parameter3\":\"n[\",\"Description3\":\"Specifies a numeric expression that is the length of the substring to be replaced.\\n\\nRestrictions: n cannot be larger than the length of the expression that remains in expression after position. \\n  n is optional, but you cannot omit both n and characters-to-replace from the function.\\n\\nData type: INTEGER\\nTip: If you omit n, SAS uses all of the characters in characters-to-replace to replace the values of expression.\",\"Parameter4\":\"[']characters-to-replace[']]\",\"Description4\":\"Specifies an expression which evaluates to a character string that replaces the contents of expression. \\n    \\nRestriction: characters-to-replace is optional, but you cannot omit both characters-to-replace and n from the function.\\nData type: NCHAR\\nTip: Enclose a literal string of characters in quotation marks.\"},{\"Name\":\"UUIDGEN\",\"Definition\":\"Returns the short form of a Universal Unique Identifier (UUID).\"}],\"#comment\":[{},{},{},{}]}}"
  },
  {
    "path": "server/data/DS2Functions.json",
    "content": "{\"Keywords\":{\"Keyword\":[{\"Name\":\"ABS\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the absolute value of a numeric value expression.\\n    \\nReturn value data type: BIGINT if all argument data types are BIGINT, otherwise, DOUBLE  \\n    \\nSyntax: ABS (expression)  \\n\\nArguments:\\nexpression \\n  specifies any valid expression that evaluates to a numeric value.\\n\\n  Valid data types: DOUBLE, BIGINT \\n \\nDetails:\\nIf the result is a number that does not fit into the range of the argument's data type, \\nthe ABS function fails.\"}},{\"Name\":\"ARCOS\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the arccosine in radians. \\n   \\nReturn value data type: DOUBLE \\n\\nSyntax: ARCOS (expression)  \\n\\nArguments: \\nexpression \\n  specifies any valid expression that evaluates to a numeric value.\\n\\n  Range: -1 to 1 \\n  Valid data types: DOUBLE \\n \\nDetails:\\nThe ARCOS function returns the arccosine (inverse cosine) of the argument. The value \\nthat is returned is specified in radians.\"}},{\"Name\":\"ARSIN\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the arcsine in radians. \\n    \\nReturn value data type: DOUBLE  \\n\\nSyntax: ARSIN (expression)  \\n\\nArguments: \\nexpression \\n  specifies any valid expression that evaluates to a numeric value.\\n\\n  Range: -1 to 1 \\n  Valid data types: DOUBLE \\n \\nDetails:\\nThe ARSIN function returns the arcsine (inverse sine) of the argument. The value that \\nis returned is specified in radians.\"}},{\"Name\":\"ATAN|ARTAN\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the arctangent in radians. \\n    \\nReturn value data type: DOUBLE  \\n\\nSyntax: ATAN (expression)  \\n\\nArguments:\\nexpression \\n  specifies any valid expression that evaluates to a numeric value.\\n\\n  Valid data types: DOUBLE \\n \\nDetails: \\nThe ATAN function returns the 2-quadrant arctangent (inverse tangent) of the argument. \\nThe value that is returned is the angle (in radians) whose tangent is x and whose value \\nranges from -\\u03c0/2 to \\u03c0/2. \\n\\nComparisons:\\nThe ATAN function is similar to the ATAN2 function except that ATAN2 calculates the \\narctangent of the angle from the ratio of two arguments rather than from one argument.\"}},{\"Name\":\"ATAN2\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the arctangent of the x and y coordinates of a right triangle, in radians. \\n    \\nReturn value data type: DOUBLE  \\n\\nATAN2 (expression-1, expression-2,)  \\n\\nArguments: \\nexpression-1 \\n  specifies any valid expression that evaluates to a numeric value. expression-1 specifies \\n  the x coordinate of the end of the hypotenuse of a right triangle. \\n  Valid data types: DOUBLE \\n\\nexpression-2 \\n  specifies any valid expression that evaluates to a numeric value. expression-2 specifies \\n  the y coordinate of the end of the hypotenuse of a right triangle.\\n  Valid data types: DOUBLE \\n \\nDetails:\\nThe ATAN2 function returns the arctangent (inverse tangent) of two numeric variables. \\nThe result of this function is similar to the result of calculating the arc tangent \\nof expression-1 / expression-2, except that the signs of both arguments are used to \\ndetermine the quadrant of the result. \\n \\nComparisons:\\nThe ATAN2 function is similar to the ATAN function except that ATAN calculates the \\narctangent of the angle from the value of one argument rather than from two arguments.\"}},{\"Name\":\"BAND\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the bitwise logical AND of two arguments.\\n    \\nReturn value data type: DOUBLE  \\n\\nSyntax: BAND(expression-1, expression-2)  \\n\\nArguments: \\nexpression-1, expression-2 \\n  specifies any valid expression that evaluates to a numeric value. \\n\\n  Range: between 0 and (2\\u00b3\\u00b2)-1 inclusive \\u00b3\\u00b2\\n  Valid data types: DOUBLE\"}},{\"Name\":\"BLSHIFT\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the bitwise logical left shift of two arguments. \\n    \\nReturn value data type: DOUBLE  \\n\\nSyntax: BLSHIFT(expression-1, expression-2)  \\n\\nArguments: \\nexpression-1 \\n  specifies any valid expression that evaluates to a numeric value.\\n\\n  Range: between 0 and (2\\u00b3\\u00b2)-1 inclusive \\n  Valid data types: DOUBLE \\n\\nexpression-2 \\n  specifies any valid expression that evaluates to a numeric value.\\n\\n  Range: 0 to 31, inclusive \\n  Valid data types: DOUBLE\"}},{\"Name\":\"BNOT\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the bitwise logical NOT of an argument. \\n    \\nReturn value data type: DOUBLE  \\n\\nSyntax: BNOT(expression)  \\n\\nArguments: \\nexpression \\n  specifies any valid expression that evaluates to a numeric value. \\n\\n  Range: between 0 and (2\\u00b3\\u00b2)-1 inclusive \\n  Valid data types: DOUBLE\"}},{\"Name\":\"BOR\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the bitwise logical OR of two arguments. \\n    \\nReturn value data type: DOUBLE  \\n\\nSyntax: BOR(expression-1, expression-2)  \\n\\nArguments:\\nexpression-1, expression-2 \\n  specifies any valid expression that evaluates to a numeric value.\\n\\n  Range: between 0 and (2\\u00b3\\u00b2)-1 inclusive \\n  Valid data types: DOUBLE\"}},{\"Name\":\"BRSHIFT\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the bitwise logical right shift of two arguments. \\n    \\nReturn value data type: DOUBLE  \\n\\nSyntax: BRSHIFT(expression-1, expression-2)  \\n\\nArguments: \\nexpression-1 \\n  specifies any valid expression that evaluates to a numeric value.\\n\\n  Range: between 0 and (2\\u00b3\\u00b2)-1 inclusive \\n  Valid data types: DOUBLE \\n\\nexpression-2 \\n  specifies any valid expression that evaluates to a numeric value. \\n\\n  Range: 0 to 31, inclusive \\n  Valid data types: DOUBLE\"}},{\"Name\":\"BXOR\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the bitwise logical EXCLUSIVE OR of two arguments. \\n    \\nReturn value data type: DOUBLE  \\n\\nSyntax: BXOR(expression-1, expression-2)  \\n\\nArguments: \\nexpression-1, expression-2 \\n  specifies any valid expression that evaluates to a numeric value.\\n\\n  Range: between 0 and (2\\u00b3\\u00b2)-1 inclusive \\n  Valid data types: DOUBLE\"}},{\"Name\":\"BYTE\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns one character in the ASCII or the EBCDIC collating sequence. \\n    \\nReturn value data type: VARCHAR  \\n\\nSyntax: BYTE (n)  \\n\\nArguments: \\nn \\n  specifies an integer that represents a specific ASCII or EBCDIC character. \\n\\n  Range: 0-255 \\n  Valid data types: NCHAR \\n \\nDetails: \\nFor EBCDIC collating sequences, n is between 0 and 255. For ASCII collating sequences, \\nthe characters that correspond to values between 0 and 127 represent the standard character \\nset. Other ASCII characters that correspond to values between 128 and 255 are available on \\ncertain ASCII operating environments, but the information those characters represent varies \\nwith the operating environment.\"}},{\"Name\":\"CEIL\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the smallest integer greater than or equal to a numeric value expression. \\n    \\nReturn value data type: DOUBLE  \\n\\nSyntax: CEIL (expression)  \\n\\nArguments: \\nexpression \\n  specifies any valid expression that evaluates to a numeric value.\\n\\n  Valid data types: DOUBLE \\n   \\nDetails:\\nIf the result is a number that does not fit into the range of the argument's data type, \\nthe CEIL function fails.\\n \\nComparisons: \\nUnlike the CEILZ function, the CEIL function fuzzes the result. If the argument is within \\n1E-12 of an integer, the CEIL function fuzzes the result to be equal to that integer. The \\nCEILZ function does not fuzz the result. Therefore, with the CEILZ function you might get \\nunexpected results.\"}},{\"Name\":\"CEILZ\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the smallest integer that is greater than or equal to the argument, \\nusing zero fuzzing.   \\n\\nReturn value data type: DOUBLE  \\n\\nSyntax: CEILZ (expression)  \\n\\nArguments: \\nexpression \\n  specifies any valid expression that evaluates to a numeric value.\\n\\n  Valid data types: DOUBLE \\n \\nComparisons:\\nUnlike the CEIL function, the CEILZ function uses zero fuzzing. If the argument \\nis within 1E-12 of an integer, the CEIL function fuzzes the result to be equal \\nto that integer. The CEILZ function does not fuzz the result. Therefore, with \\nthe CEILZ function you might get unexpected results.\"}},{\"Name\":\"COALESCE\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the first non-null or non-missing value from a list of numeric arguments. \\n    \\nReturn value data type: DOUBLE  \\n\\nSyntax: COALESCE(expression [ ,...expression ] )  \\n\\nArguments: \\nexpression \\n  specifies any valid expression that evaluates to a numeric value.\\n\\n  Valid data types: DOUBLE \\n \\nDetails:\\nCOALESCE accepts one or more numeric expressions. The COALESCE function checks the value \\nof each expression in the order in which they are listed and returns the first non-null \\nor non-missing value. If only one value is listed, then the COALESCE function returns the \\nvalue of that argument. If all the values of all expressions are null or missing, then the \\nCOALESCE function returns a null or a missing value depending on whether you are in ANSI \\nmode or SAS mode.\"}},{\"Name\":\"COALESCEC\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the first non-null or non-missing value from a list of character arguments. \\n    \\nReturn value data type: NCHAR  \\n\\nSyntax: COALESCEC(expression [ ,...expression ] )  \\n\\nArguments: \\nexpression \\n  specifies any valid expression that evaluates to a character value. \\n\\n  Valid data types: NCHAR \\n \\nDetails:\\nCOALESCEC accepts one or more character expressions. The COALESCEC function checks the \\nvalue of each expression in the order in which they are listed and returns the first \\nnon-null or non-missing value. If only one value is listed, then the COALESCEC function \\nreturns the value of that expression. If all the values of all expressions are null or \\nmissing, then the COALESCEC function returns a null or missing value depending on whether \\nyou are in ANSI mode or SAS mode.\"}},{\"Name\":\"COLLATE\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns a character string in ASCII or EBCDIC collating sequence. \\n    \\nValid for Data Types: NCHAR \\n\\nSyntax: COLLATE (start-position [, end-position ] )  \\n\\nArguments: \\nstart-position \\n  specifies the numeric position in the collating sequence of the first character to be returned. \\n\\n  Interaction: If you specify only start-position, COLLATE returns consecutive characters from \\n  that position to the end of the collating sequence or up to 255 characters, whichever comes first. \\n  Valid data types: NCHAR \\n\\nend-position \\n  specifies the numeric position in the collating sequence of the last character to be returned.\\n\\n  The maximum end-position for the EBCDIC collating sequence is 255. For ASCII collating sequences, \\n  the characters that correspond to end-position values between 0 and 127 represent the standard \\n  character set. Other ASCII characters that correspond to end-position values between 128 and 255 \\n  are available on certain ASCII operating environments, but the information that those characters \\n  represent varies with the operating environment.\\n\\n  Requirement: end-position must be larger than start-position  \\n  Valid data types: NCHAR \\n  Tip: If you specify end-position, COLLATE returns all character values in the collating sequence \\n  between start-position and end-position, inclusive. \\n \\nDetails: \\nIf you request a string longer than the remainder of the sequence, COLLATE returns a \\nstring through the end of the sequence.\"}},{\"Name\":\"COMPBL\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Removes multiple blanks from a character string. \\n    \\nReturn value data types: NCHAR  \\n\\nDetails: \\nThe COMPBL function removes multiple blanks in a character string by translating each \\noccurrence of two or more consecutive blanks into a single blank.\\n \\nComparisons: \\nThe COMPRESS function removes every occurrence of the specific character from a string. \\nIf you specify a blank as the character to remove from the source string, the COMPRESS \\nfunction is similar to the COMPBL function. However, the COMPRESS function removes all \\nblanks from the source string, while the COMPBL function compresses multiple blanks to \\na single blank and has no effect on a single blank.\"}},{\"Name\":\"COMPRESS\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns a character string with specified characters removed from the original string. \\n    \\nReturn value data type: CHAR, NCHAR  \\n\\nSyntax: COMPRESS(character-expression [ , character-list-expression ] )  \\n\\nArguments: \\ncharacter-expression \\n  specifies any valid expression that evaluates to a character expression and \\n  from which specified characters will be removed. \\n\\n  Requirement: Enclose a literal string of characters in single quotation marks. \\n  Valid data types: CHAR, NCHAR \\n\\ncharacter-list-expression \\n  specifies a variable or any valid expression that initializes a list of characters.\\n\\n  By default, the characters in this list are removed from character-expression. \\n\\n  Requirement: Enclose a literal string of characters in single quotation marks. \\n  Valid data types: CHAR, NCHAR \\n \\nDetails: \\nThe COMPRESS function allows null arguments. A null argument is treated as a string \\nthat has a length of zero.\"}},{\"Name\":\"COS\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the cosine in radians. \\n    \\nReturn value data type: DOUBLE \\n\\nSyntax: COS (expression)  \\n\\nArguments: \\nexpression \\n  is any valid expression that evaluates to a numeric value.\\n\\n  Valid data types: DOUBLE\"}},{\"Name\":\"COSH\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the hyperbolic cosine in radians. \\n    \\nReturn value data type: DOUBLE  \\n \\nSyntax: COSH (expression)  \\n\\nArguments: \\nexpression \\n  is any valid expression that evaluates to a numeric value.\\n\\n  Valid data types: DOUBLE \\n \\nDetails: \\nThe COSH function returns the hyperbolic cosine of the argument, given by\\n\\n(\\u03f5^argument + \\u03f5^-argument)/2\"}},{\"Name\":\"CSS\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the corrected sum of squares. \\n    \\nReturn value data type: DOUBLE  \\n\\nSyntax: CSS(expression [, ...expression] )  \\n\\nArguments: \\nexpression \\n  specifies any valid expression that evaluates to a numeric value. \\n\\n  Requirement: At least one non-null or non-missing expression is required. \\n  Valid data types: DOUBLE\"}},{\"Name\":\"CV\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the coefficient of variation. \\n    \\nReturn value data type: DOUBLE \\n\\nSyntax: CV(expression [, ...expression ] )  \\n\\nArguments: \\nexpression \\n  specifies any valid expression that evaluates to a numeric value. \\n\\n  Requirement: At least two arguments are required. \\n  Valid data types: DOUBLE\"}},{\"Name\":\"DATE|TODAY\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the current date as a SAS date value. \\n\\nReturn value data type: DOUBLE  \\n\\nSyntax: DATE()  \\n \\nDetails: \\nThe DATE function does not take any arguments. The SAS date value returned is the number \\nof days from January 1, 1960 to the current date.\"}},{\"Name\":\"DATEJUL\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Converts a Julian date to a SAS date value. \\n    \\nReturn value data type: DOUBLE  \\n \\nSyntax: DATEJUL(julian-date)  \\n\\nArguments:\\n  julian-date \\n  specifies any valid expression that evaluates to a numeric value and that represents a Julian date. A Julian date is a date in the form yyddd or yyyyddd, where yy or yyyy is a two-digit or four-digit integer that represents the year and ddd is the number of the day of the year. The value of ddd must be between 1 and 365 (or 366 for a leap year).\\n\\n  Valid data types: DOUBLE \\n \\nDetails: \\nA SAS date value is the number of days from January 1, 1960 to a specified date. The \\nDATEJUL function returns the number of days from January 1, 1960 to the Julian date \\nspecified in julian-date.\"}},{\"Name\":\"DATEPART\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Extracts the date from a SAS datetime value. \\n    \\nReturn value data type: DOUBLE  \\n\\nSyntax: DATEPART(datetime)  \\n\\nArguments: \\ndatetime \\n  specifies any valid expression that represents a SAS datetime value.\\n\\n  Valid data types: DOUBLE \\n \\nDetails:\\nA SAS datetime value is the number of seconds between January 1, 1960 and the hour, \\nminute, and seconds within a specific date. The DATEPART function determines the date \\nportion of the SAS datetime value and returns the date as a SAS date value, which is \\nthe number of days from January 1, 1960.\"}},{\"Name\":\"DATETIME\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the current date and time of day as a SAS datetime value. \\n    \\nReturn value data type: DOUBLE  \\n\\nSyntax: DATETIME()  \\n\\nDetails: \\nThe DATETIME function does not take any arguments. The SAS datetime value returned \\nis the number of seconds from January 1, 1960 to the current date and time.\"}},{\"Name\":\"DAY\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the day of the month from a SAS date value. \\n    \\nReturn value data type: DOUBLE  \\n\\nSyntax: DAY(date)  \\n\\nArguments: \\ndate \\n  specifies any valid expression that represents a SAS date value.\\n\\n  Valid data types: DOUBLE \\n \\nDetails: \\nThe DAY function produces an integer from 1 to 31 that represents the day of the month.\\n\\nA SAS date value is the number of days from January 1, 1960 to a specific date.\"}},{\"Name\":\"DEQUOTE\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Removes matching single quotation marks from a character string that begins with \\na single quotation mark, and deletes all characters to the right of the closing \\nquotation mark.  \\n\\nReturn value data types: NCHAR  \\nSyntax: DEQUOTE(expression)  \\n\\nArguments: \\nexpression \\n  specifies any valid expression that evaluates to a character string. \\n  Valid data types: NCHAR \\n \\nDetails:\\nThe value that is returned by the DEQUOTE function depends on the first character or the \\nfirst two characters in expression:\\n\\n  o If the first character of expression is not a quotation mark, DEQUOTE returns a syntax error.\\n  o If the first character of expression is a single quotation mark, the DEQUOTE function removes \\n    that single quotation mark from the result. DEQUOTE then scans expression from left to right, \\n    looking for more single quotation marks or double quotation marks . \\n\\n    All paired single quotation marks are reduced to a single quotation mark. \\n    All paired double quotation marks are retained.\\n\\n    If a double quotation mark is the second character, DEQUOTE removes the double quotation mark \\n    from the result. DEQUOTE then scans expression from left to right. If a matching double quotation \\n    mark is found, the text between the double quotation marks is returned. Any text to the right of \\n    the closing double quotation mark, to the end of expression is removed from the result.\\n\\n    The first non-paired single quotation mark in expression is the closing single quotation mark and \\n    is removed. \\n\\n    If a close parentheses follows the close single quotation mark, the function returns the dequoted \\n    string. If characters exist to the right of the close single quotation mark, the function results \\n    in a syntax error and the error is printed in the SAS log.\\n\\n  o If expression is enclosed in double quotation marks, the DEQUOTE function returns a null or missing value.\\n\\nNote: If expression is a constant enclosed by quotation marks, those quotation marks are not part \\nof the value of expression. Therefore, you do not need to use DEQUOTE to remove the quotation marks \\nthat denote a constant.\"}},{\"Name\":\"DHMS\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns a SAS datetime value from date, hour, minute, and second values. \\n    \\nReturn value data type: DOUBLE  \\n\\nSyntax: DHMS(date,hour,minute,second)  \\n\\nArguments:\\n\\n  date \\n    specifies any valid expression that represents a SAS date value.\\n    Valid data types: DOUBLE \\n  \\n  hour \\n    specifies a numeric expression that represents an integer from 1 through 12.\\n    Valid data types: DOUBLE \\n\\n  minute \\n    specifies a numeric expression that represents an integer from 1 through 59. \\n    Valid data types: DOUBLE \\n\\n  second \\n    specifies a numeric expression that represents an integer from 1 through 59. \\n    Valid data types: DOUBLE \\n \\nDetails: \\nThe DHMS function returns a numeric value that represents a SAS datetime value. \\nThis numeric value can be either positive or negative.\"}},{\"Name\":\"DIGAMMA\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the value of the digamma function. \\n    \\nReturn value data type: DOUBLE  \\n\\nSyntax: DIGAMMA(expression)  \\n\\nArguments: \\nexpression \\n  specifies any valid expression that evaluates to a numeric value. \\n\\n  Restriction: Zero and negative integers are not valid. \\n  Valid data types: DOUBLE \\n\\nDetails:\\nThe DIGAMMA function returns the ratio that is given by\\n\\n\\u03a8(x) = \\u0393\\u0384(x)/ \\u0393(x)\\n\\nwhere \\u0393() and \\u0393\\u0384() denote the Gamma function and its derivative, respectively. For expression > 0, \\nthe DIGAMMA function is the derivative of the LGAMMA function.\"}},{\"Name\":\"EXP\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the value of the e constant raised to a specified power. \\n    \\nReturn value data type: DOUBLE  \\n\\nSyntax: EXP (expression)  \\n\\nArguments: \\nexpression \\n  specifies any valid expression that evaluates to a numeric value.\\n\\n  Valid data types: DOUBLE \\n \\nDetails:\\nThe EXP function raises the constant e, which is approximately given by 2.71828, \\nto the power that is supplied by the argument. The result is limited by the maximum \\nvalue of a double decimal value on the computer.\"}},{\"Name\":\"FLOOR\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the largest integer less than or equal to a numeric value expression. \\n    \\nReturn value data type: DOUBLE  \\n\\nSyntax: FLOOR (expression)  \\n\\nArguments: \\nexpression \\n  specifies any valid expression that evaluates to a numeric value.\\n\\n  Valid data types: DOUBLE \\n \\nDetails:\\nIf expression is within 1E-12 of an integer, the function returns that integer. If the \\nresult is a number that does not fit into the range of a DOUBLE, the FLOOR function fails.\\n\\nComparisons: \\nThe FLOOR function fuzzes the results so that if the results are within 1E-12 of an integer, \\nthe FLOOR function returns that integer. The FLOORZ function uses zero fuzzing. Therefore, \\nwith the FLOORZ function you might get unexpected results.\"}},{\"Name\":\"FLOORZ\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the largest integer that is less than or equal to the argument, using zero fuzzing. \\n    \\nReturn value data type: DOUBLE  \\n\\nSyntax: FLOORZ (expression)  \\n\\nArguments: \\nexpression \\n  specifies any valid expression that evaluates to a numeric value.\\n\\n  Valid data types: DOUBLE \\n \\nComparisons: \\nUnlike the FLOOR function, the FLOORZ function uses zero fuzzing. If the argument is within \\n1E-12 of an integer, the FLOOR function fuzzes the result to be equal to that integer. The \\nFLOORZ function does not fuzz the result. Therefore, with the FLOORZ function you might get \\nunexpected results.\"}},{\"Name\":\"FUZZ\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the nearest integer if the argument is within 1E-12 of that integer. \\n    \\nReturn value data type: DOUBLE  \\n\\nSyntax: FUZZ(expression)  \\n\\nArguments: \\nexpression \\n  specifies any valid expression that evaluates to a numeric value.\\n\\n  Valid data types: DOUBLE \\n \\nDetails: \\nThe FUZZ function returns the nearest integer value if the expression is within 1E-12 of the \\ninteger (that is, if the absolute difference between the integer and argument is less than \\n1E-12). Otherwise, the expression is returned.\"}},{\"Name\":\"GAMMA\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the value of the gamma function. \\n    \\nReturn value data type: DOUBLE  \\n\\nSyntax: GAMMA(expression)  \\n\\nArguments: \\nexpression \\n  specifies any valid expression that evaluates to a numeric value. \\n\\n  Restriction: Nonpositive integers are invalid. \\n  Valid data types: DOUBLE \\n \\nDetails:\\nThe GAMMA function returns the integral, which is given by\\n\\nGAMMA(x)=\\u222bt^(x-1) \\u03f5^(-t) dt\\n\\nFor positive integers, GAMMA(x) is (x - 1)!. This function is commonly denoted by \\u0393(x).\\n\\n\"}},{\"Name\":\"GCD\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the greatest common divisor for a set of integers. \\n    \\nReturn value data type: DOUBLE  \\n\\nSyntax: GCD (expression-1, expression-2 [, ... expression-n ] )  \\n\\nArguments:\\nexpression \\n  specifies any valid expression that evaluates to a numeric value.\\n\\n  Requirements: At least two arguments are required. \\n  Valid data types: DOUBLE \\n \\nDetails:\\nThe GCD (greatest common divisor) function returns the greatest common divisor of one \\nor more integers. For example, the greatest common divisor for 30 and 42 is 6. The \\ngreatest common divisor is also called the highest common factor.\"}},{\"Name\":\"GEOMEAN\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the geometric mean. \\n    \\nReturn value data type: DOUBLE  \\n\\nSyntax: GEOMEAN(expression [, ....expression ] )  \\n\\nArguments: \\nexpression \\n  is any valid expression that evaluates to a non-negative numeric value.\\n\\n  Valid data types: DOUBLE \\n \\nDetails:\\nIf any argument is negative, then the result is a null or missing value. A message \\nappears in the log that the negative argument is invalid. If any argument is zero, \\nthen the geometric mean is zero. If all the arguments are null or missing values, \\nthen the result is a null or missing value. Otherwise, the result is the geometric \\nmean of the non-null or non-missing values.\"}},{\"Name\":\"GEOMEANZ\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the geometric mean, using zero fuzzing. \\n    \\nReturn value data type: DOUBLE \\n\\nSyntax: GEOMEANZ(expression [, ... expression ] )  \\n\\nArguments: \\nexpression \\n  specifies any valid expression that evaluates to a non-negative numeric value.\\n\\n  Valid data types: DOUBLE \\n \\nDetails: \\nIf any argument is negative, then the result is a null or missing value. A message \\nappears in the log that the negative argument is invalid. If any argument is zero, \\nthen the geometric mean is zero. If all the arguments are null or missing values, \\nthen the result is a null or missing value. Otherwise, the result is the geometric \\nmean of the non-null or non-missing values.\"}},{\"Name\":\"HARMEAN\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the harmonic mean. \\n    \\nReturn value data type: DOUBLE  \\n\\nSyntax: HARMEAN(expression [, ...expression ] )  \\n\\nArguments: \\nexpression \\n  specifies any valid expression that evaluates to a non-negative numeric value.\\n\\n  Valid data types: DOUBLE \\n \\nDetails:\\nIf any argument is negative, then the result is a null or missing value. A message \\nappears in the log that the negative argument is invalid. If all the arguments are \\nnull or missing values, then the result is a null or missing value. Otherwise, the \\nresult is the harmonic mean of the non-null or non-missing values. \\n\\nIf any argument is zero, then the harmonic mean is zero. Otherwise, the harmonic \\nmean is the reciprocal of the arithmetic mean of the reciprocals of the values.\"}},{\"Name\":\"HARMEANZ\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the harmonic mean, using zero fuzzing. \\n    \\nReturn value data type: DOUBLE  \\n\\nSyntax: HARMEANZ(expression [, ...expression ] ) \\n\\nArguments: \\n  expression \\n  specifies any valid expression that evaluates to a non-negative numeric value.\\n\\n  Valid data types: DOUBLE \\n \\nDetails:\\nIf any argument is negative, then the result is a null or value. A message appears \\nin the log that the negative argument is invalid. If all the arguments are null or \\nvalues, then the result is a null or value. Otherwise, the result is the harmonic \\nmean of the non-null or non-missing values. \\n\\nIf any argument is zero, then the harmonic mean is zero. Otherwise, the harmonic \\nmean is the reciprocal of the arithmetic mean of the reciprocals of the values.\"}},{\"Name\":\"HMS\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns a SAS time value from hour, minute, and second values. \\n    \\nReturn value data type: DOUBLE  \\n\\nSyntax: HMS (hour, minute, second)  \\n\\nArguments: \\nhour \\n  specifies a numeric expression that represents an integer from 1 through 12.\\n\\n  Valid data types: DOUBLE \\n  \\nminute \\n  specifies a numeric expression that represents an integer from 1 through 59. \\n\\n  Valid data types: DOUBLE \\n\\nsecond \\n  specifies a numeric expression that represents an integer from 1 through 59.\\n\\n  Valid data types: DOUBLE \\n \\nDetails:\\nThe HMS function returns a numeric value that represents a SAS time value. A SAS time \\nvalue is a number that represents the number of seconds since midnight of the current day.\"}},{\"Name\":\"HOUR\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the hour from a SAS time or datetime value. \\n    \\nReturn value data type: DOUBLE  \\n\\nSyntax: HOUR( [time | datetime ] )  \\n\\nArguments: \\ntime \\n  specifies any valid expression that represents a SAS time value.\\n\\n  Valid data types: DOUBLE \\n\\ndatetime\\n  specifies any valid expression that represents a SAS datetime value.\\n\\n  Valid data types: DOUBLE \\n  \\nDetails:\\nThe HOUR function returns a numeric value that represents the hour from a SAS time \\nor datetime value. Numeric values can range from 0 through 23. HOUR always returns \\na positive number.\"}},{\"Name\":\"INDEX\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Searches a character expression for a string of characters, and returns the \\nposition of the string's first character for the first occurrence of the string.   \\n\\nReturn value data type: DOUBLE  \\n\\nSyntax: INDEX(target-expression, search-expression)  \\n\\nArguments: \\ntarget-expression \\n  specifies any valid expression that evaluates to a character string.\\n\\n  Valid data types: NCHAR \\n  \\nsearch-expression \\n  specifies any valid expression that evaluates to a character string to search for in target-expression.\\n\\n  Valid data types: NCHAR \\n  Tip: Enclose a literal string of characters in single quotation marks. \\n \\nDetails:\\nThe INDEX function searches target-expression, from left to right, for the first \\noccurrence of the string specified in search-expression, and returns the position \\nin target-expression of the string's first character. If the string is not found \\nin target-expression, INDEX returns a value of 0. If there are multiple occurrences \\nof the string, INDEX returns only the position of the first occurrence. \\n \\nComparisons:\\nThe VERIFY function returns the position of the first character in target-expression \\nthat does not contain search-expression where the INDEX function returns the position \\nof the first occurrence of search-expression that is present in target-expression.\"}},{\"Name\":\"INDEXC\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Searches a character expression for specified characters and returns the position \\nof the first occurrence of any of the characters. \\n\\nReturn value data type: DOUBLE  \\n\\nSyntax: INDEXC(target-expression, search-expression [, ...search-expression ] )  \\n\\nArguments: \\ntarget-expression \\n  specifies any valid expression that evaluates to a character string that is searched.\\n\\n  Valid data types: NCHAR \\n\\nsearch-expression \\n  specifies the characters to search for in target-expression.\\n\\n  Valid data types: NCHAR \\n  Tip: Enclose a literal string of characters in single quotation marks. \\n \\nDetails:\\nThe INDEXC function searches target-expression, from left to right, for the first \\noccurrence of any character present in the search expressions and returns the position \\nin target-expression of that character. If none of the characters in the search \\nexpressions are found in target-expression, INDEXC returns a value of 0.\\n \\nComparisons:\\nThe INDEXC function searches for the first occurrence of any individual character that \\nis present within the search expression, whereas the INDEX function searches for the \\nfirst occurrence of the search expression as a pattern.\"}},{\"Name\":\"INDEXW\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Searches a character expression for a string that is specified as a word, and \\nreturns the position of the first character in the word. \\n\\nReturn value data type: DOUBLE  \\nSyntax: INDEXW(target-expression, search-expression [, delimiter] )  \\n\\nArguments:\\ntarget-expression \\n  specifies any valid expression that evaluates to a character string that is searched. \\n  Valid data types: NCHAR \\n  \\nsearch-expression \\n  specifies any valid expression that evaluates to a character string and that is searched \\n  for in target-expression. SAS removes the leading and trailing delimiters from search-expression.\\n  Valid data types: NCHAR \\n  Tip: INDEXW has the following behavior when search-expression contains blank spaces or \\n  has a length of 0: \\n  If both target-expression and search-expression contain only blank spaces or have a length \\n  of 0, then INDEXW returns a value of 1. \\n\\n  If search-expression contains only blank spaces or has a length of 0, and target-expression \\n  contains character or numeric data, then INDEXW returns a value of 0.  \\n\\ndelimiter \\n  specifies a character expression that you want INDEXW to use as a word separator in the \\n  character strings. The default delimiter is the blank character. \\n  Tip: If the blank character is a delimiter, order it so that it is not the last character \\n  in delimiter. Trailing blanks are ignored because delimiter is trimmed of trailing blanks. \\n  Valid data types: NCHAR \\n  \\nDetails:\\nThe INDEXW function searches target-expression, from left to right, for the first occurrence \\nof search-expression and returns the position in target-expression of the substring's first \\ncharacter. If the substring is not found in target-expression, then INDEXW returns a value \\nof 0. If there are multiple occurrences of the string, then INDEXW returns only the position \\nof the first occurrence.\\n\\nThe substring pattern must begin and end on a word boundary. For INDEXW, word boundaries are \\ndelimiters, the beginning of target-expression, and the end of target-expression.\\n \\nComparisons: \\nThe INDEXW function searches for strings that are words, whereas the INDEX function searches \\nfor patterns as separate words or as parts of other words. INDEXC searches for any characters \\nthat are present in the excerpts.\"}},{\"Name\":\"INT\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the integer value, fuzzed to avoid unexpected floating-point results. \\n    \\nReturn value data type: DOUBLE  \\n\\nSyntax: INT(expression)  \\n\\nArguments: \\nexpression \\n  specifies any expression that evaluates to a numeric value. \\n  Valid data types: DOUBLE \\n \\nDetails: \\nThe INT function returns the integer portion of the argument (truncates the decimal portion). \\nIf the argument's value is within 1E-12 of an integer, the function results in that integer. \\nIf the value of expression is positive, the INT function has the same result as the FLOOR \\nfunction. If the value of expression is negative, the INT function has the same result as \\nthe CEILING function. \\n \\nComparisons:\\nUnlike the INTZ function, the INT function fuzzes the result. If the argument is within \\n1E-12 of an integer, the INT function fuzzes the result to be equal to that integer. The \\nINTZ function does not fuzz the result. Therefore, with the INTZ function you might get \\nunexpected results.\"}},{\"Name\":\"INTZ\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the integer portion of the argument, using zero fuzzing. \\n    \\nReturn value data type: DOUBLE  \\n\\nSyntax: INTZ (expression)  \\n\\nArguments: \\nexpression \\n  specifies any valid expression that evaluates to a numeric value.\\n\\n  Valid data types: DOUBLE \\n \\nDetails: \\nThe following rules apply: \\n\\n  o If the value of the argument is an exact integer, INTZ returns that integer.\\n\\n  o If the argument is positive and not an integer, INTZ returns the largest integer that is less than the argument. \\n\\n  o If the argument is negative and not an integer, INTZ returns the smallest integer that is greater than the argument.\\n \\nComparisons: \\nUnlike the INT function, the INTZ function uses zero fuzzing. If the argument is within 1E-12 \\nof an integer, the INT function fuzzes the result to be equal to that integer. The INTZ function \\ndoes not fuzz the result. Therefore, with the INTZ function you might get unexpected results.\"}},{\"Name\":\"IQR\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the interquartile range. \\n    \\nReturn value data type: DOUBLE \\n\\nSyntax: IQR(expression [, ...expression ] )  \\n\\nArguments: \\nexpression \\n  specifies any valid expression that evaluates to a numeric value.\\n\\n  Valid data types: DOUBLE \\n \\nDetails: \\nIf all arguments have null or missing values, the result is a null or missing value \\ndepending on whether you are in ANSI mode or SAS mode.\\n\\nOtherwise, the result is the interquartile range of the non-null or non-missing values. \\nThe formula for the interquartile range is the same as the one that is used in the\\nBase SAS UNIVARIATE procedure.\"}},{\"Name\":\"JULDATE\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the Julian date from a SAS date value. \\n    \\nReturn value data type: DOUBLE  \\nSyntax: JULDATE(date)  \\n\\nArguments: \\ndate \\n  specifies any valid expression that represents a SAS date value. \\n  Valid data types: DOUBLE \\n \\nDetails:\\nA SAS date value is a number that represents the number of days from January 1, 1960 \\nto a specific date. The JULDATE function converts a SAS date value to a Julian date. \\nIf date falls within the 100-year span defined by the system option YEARCUTOFF=, the \\nresult has three, four or five digits: In a five digit result, the first two digits \\nrepresent the year, and the next three digits represent the day of the year (1 to 365, \\nor 1 to 366 for leap years). As leading zeros are dropped from the result, the year \\nportion of a Julian date can be omitted (for years ending in 00) or it can have only \\none digit (for years ending 01 - 09). Otherwise, the result has seven digits: the \\nfirst four digits represent the year, and the next three digits represent the day \\nof the year.\\n\\nFor years that end between 00 - 09, you can format the five digit Julian date by \\nusing the Z5. format. \\n\\nComparisons: \\nThe function JULDATE7 is similar to JULDATE except that JULDATE7 always returns a \\nfour digit year. Thus JULDATE7 is year 2000 compliant because it eliminates the need \\nto consider the implications of a two digit year.\"}},{\"Name\":\"JULDATE7\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns a seven-digit Julian date from a SAS date value. \\n    \\nReturn value data type: DOUBLE  \\n\\nSyntax: JULDATE7(date)  \\n\\nArguments: \\ndate \\n  specifies any valid expression that represents a SAS date value. \\n  Valid data types: DOUBLE \\n \\nDetails:\\nA SAS date value is a number that represents the number of days from January 1, 1960 \\nto a specific date. The JULDATE7 function returns a seven digit Julian date from a SAS \\ndate value. The first four digits represent the year, and the next three digits represent \\nthe day of the year. \\n\\nComparisons: \\nThe function JULDATE7 is similar to JULDATE except that JULDATE7 always returns a four \\ndigit year. Thus JULDATE7 is year 2000 compliant because it eliminates the need to consider \\nthe implications of a two digit year.\"}},{\"Name\":\"KURTOSIS\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the kurtosis. \\n    \\nReturn value data type: DOUBLE  \\n\\nSyntax \\nKURTOSIS(expression-1, expression-2, expression-3, expression-4 [ ,...expression-n ] )  \\n\\nArguments: \\nexpression \\n  specifies any valid expression that evaluates to a numeric value.\\n\\n  Requirement: At least four non-null or non-missing arguments are required. Otherwise, \\n  the function returns a null or missing value.  \\n  Valid data types: DOUBLE \\n \\nDetails: \\nKurtosis is primarily a measure of the heaviness of the tails of a distribution. Large \\nkurtosis values indicate that the distribution has heavy tails. \\n\\nNull values and missing values are ignored and are not included in the computation.\\n\\nIf all non-null or non-missing arguments have equal values, the kurtosis is mathematically \\nundefined and the KURTOSIS function returns a null or missing value.\"}},{\"Name\":\"LARGEST\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the kth largest non-null or non-missing value. \\n    \\nReturn value data type: DOUBLE  \\nSyntax: LARGEST (k, expression [, ...expression] )  \\n\\nArguments: \\nk \\n  specifies any valid expression that evaluates to a numeric value that represents \\n  the largest value to return. For example, if k is 2, the LARGEST function returns \\n  the second largest value from the list of expressions.\\n\\n  Valid data types: DOUBLE \\n  See: TSPL Expressions \\n\\nexpression \\n  specifies any valid expression that evaluates to a numeric value and that is to be searched. \\n  Valid data types: DOUBLE \\n  See: TSPL Expressions \\n \\nDetails:\\nIf k is null or missing, less than zero, or greater than the number of values, the result \\nis a null or missing value. Otherwise, if k is greater than the number of non-null or \\nnon-missing values, the result is a null or missing value.\"}},{\"Name\":\"LCM\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the least common multiple for a set of integers. \\n    \\nReturn value data type: DOUBLE \\n\\nSyntax \\nLCM (expression-1, expression-2 [ ,...expression-n ] )  \\n\\nArguments: \\nexpression \\n  specifies any valid expression that evaluates to an integer.\\n\\n  Requirements: At least two arguments are required. \\n  Valid data types: DOUBLE \\n \\nDetails: \\nThe least common multiple is the smallest number that two or more numbers will \\ndivide into evenly.\"}},{\"Name\":\"LEFT\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Left aligns a character expression. \\n    \\nReturn value data type: VARCHAR, NVARCHAR  \\n\\nSyntax: LEFT(expression)  \\n\\nArguments: \\nexpression \\n  specifies any valid expression that evaluates to a character string. \\n  Valid data types: CHAR, NCHAR \\n \\nDetails: \\nLEFT returns a character string with leading blanks moved to the end of the value.\"}},{\"Name\":\"LENGTH|LENGTHN\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the length of a character string, excluding trailing blanks, and returns a 0 \\nfor a blank character string. \\n\\nReturn value data type: DOUBLE  \\n\\nSyntax: LENGTH(expression)  \\n\\nArguments: \\nexpression \\n  specifies any valid expression that evaluates to a character string. \\n  Valid data types: CHAR, NCHAR \\n \\nDetails:\\nThe LENGTH function returns an integer that represents the position of the rightmost \\nnon-blank character or number in expression. If the value of expression is a blank \\ncharacter, LENGTH returns a value of 0. If expression is a numeric expression, LENGTH \\nconverts and processes the expression as a character expression. \\n\\nComparisons: \\nThe LENGTH function returns the length of a character string, excluding trailing blanks, \\nwhereas the LENGTHC function returns the length of a character string, including trailing blanks.\\n\\nThe LENGTH function returns the length of a character string, excluding trailing blanks,\\nwhereas the LENGTHM function returns the amount of memory in bytes that is allocated for \\na character string.\"}},{\"Name\":\"LENGTHC\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the length of a character string, including trailing blanks. \\n    \\nReturn value data type: DOUBLE  \\nSyntax: LENGTHC(expression)  \\n\\nArguments: \\nexpression \\n  specifies any valid expression that evaluates to a character string. \\n  Valid data types: NCHAR \\n  \\nDetails:\\nThe LENGTHC function returns an integer that represents the position of the rightmost \\nblank or non-blank character in expression. For fixed-length variables, LENGTHC returns \\nthe declared length of the variable. If the value of expression is missing and contains \\nblanks, LENGTHC returns the number of blanks in expression. If expression is a numeric \\nexpression, LENGTHC converts and processes the numeric expression as a character expression. \\n\\nComparisons: \\n  o The LENGTHC function returns the length of a character string, including trailing blanks, \\n    whereas the LENGTH function returns the length of a character string, excluding trailing \\n    blanks. LENGTHC always returns a value that is greater than or equal to the value returned \\n    by LENGTH.\\n\\n  o The LENGTHC function returns the length of a character string, including trailing blanks, \\n    whereas the LENGTHM function returns the amount of memory in bytes that is allocated for \\n    a character string. For fixed-length character strings, LENGTHC and LENGTHM always return \\n    the same value. For varying-length character strings, LENGTHC always returns a value that \\n    is less than or equal to the value returned by LENGTHM.\"}},{\"Name\":\"LENGTHM\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the amount of memory, in characters, that is allocated for a character string. \\n    \\nReturn value data type: DOUBLE  \\nSyntax: LENGTHM(character-expression)  \\n\\nArguments: \\nexpression \\n  specifies any valid expression that evaluates to a character string. \\n  Valid data types: NCHAR \\n \\nDetails: \\nThe LENGTHM function returns an integer that represents the amount of memory in bytes \\nthat is allocated for the expression. If expression is a numeric expression (either \\ninitialized or uninitialized), SAS automatically converts the numeric value to a right-\\njustified character string by using the BEST12. format. In this case, LENGTHM returns \\na value of 12 and writes a note in the SAS log stating that the numeric values have \\nbeen converted to character values.\\n \\nComparisons: \\nThe LENGTHM function returns the amount of memory in characters that is allocated for \\na character string, whereas the LENGTH and LENGTHC functions return the length of a \\ncharacter string. LENGTHM always returns a value that is greater than or equal to the \\nvalues returned by LENGTH and LENGTHC.\"}},{\"Name\":\"LGAMMA\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the natural logarithm of the Gamma function. \\n    \\nReturn value data type: DOUBLE  \\n\\nSyntax: LGAMMA(expression)  \\n\\nArguments: \\nexpression \\n  specifies any valid expression that evaluates to a numeric value.\\n\\n  Requirement: Must be a positive number. \\n  Valid data types: DOUBLE\"}},{\"Name\":\"LOG\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the natural logarithm (base e) of a numeric value expression. \\n    \\nReturn value data type: DOUBLE \\n \\nSyntax: LOG (expression)  \\n\\nArguments: \\nexpression \\n  specifies any valid expression that evaluates to a numeric value.\\n\\n  Valid data types: DOUBLE\"}},{\"Name\":\"LOG10\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the base-10 logarithm of a numeric value expression. \\n    \\nReturn value data type: DOUBLE  \\n\\nSyntax: LOG10 (expression)  \\n\\nArguments: \\nexpression \\n  specifies any valid expression that evaluates to a numeric value.\\n\\n  Requirement: Must be a positive number. \\n  Valid data types: DOUBLE\"}},{\"Name\":\"LOG2\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the base 2 logarithm of a numeric value expression. \\n    \\nReturn value data type: DOUBLE  \\n\\nSyntax: LOG2 (expression)  \\n\\nArguments: \\nexpression \\n  specifies any valid expression that evaluates to a numeric value.\\n\\n  Requirement: Must be a positive number. \\n  Valid data types: DOUBLE\"}},{\"Name\":\"LOWCASE\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Converts all letters in a character expression to lowercase. \\n    \\nReturn value data type: VARCHAR, NVARCHAR  \\nSyntax: LOWCASE(expression)  \\n\\nArguments: \\nexpression \\n  specifies any valid expression that evaluates to a character string. \\n  Requirement: Literal character expressions must be enclosed in single quotation marks. \\n  Valid data types: CHAR, NCHAR \\n  \\nDetails: \\nThe LOWCASE function copies a character expression, converts all uppercase letters to \\nlowercase letters, and returns the altered value as a result.\\n \\nComparisons: \\nThe UPCASE function converts all letters in an argument to uppercase letters. The LOWCASE \\nfunction converts all letters in an argument to lowercase letters.\"}},{\"Name\":\"MAX\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the largest value from a list of arguments. \\n    \\nReturn value data type: BIGINT if all argument data types are BIGINT, otherwise, DOUBLE  \\nSyntax: MAX(expression-1, expression-2 [ ,...expression-n ] )  \\n\\nArguments: \\nexpression \\n  is any valid expression that evaluates to a numeric value. \\n  Requirement: At least two arguments are required. \\n  Valid data types: DOUBLE, BIGINT \\n  \\nComparisons: \\nThe MAX function returns the largest value from a list of arguments. The MAX operator (<>) \\nreturns the largest of two operands. \\n\\nThe MAX function returns a null or missing value only if all arguments are null or missing. \\nThe MAX operator (<>) returns a null or missing value only if both operands are null or \\nmissing. In this case, it returns the value of the operand that is higher in the sort order \\nfor null or missing values.\"}},{\"Name\":\"MDY\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns a SAS date value from month, day, and year values. \\n    \\nReturn value data type: DOUBLE  \\n\\nSyntax: MDY(month, day, year)  \\n\\nArguments: \\nmonth \\n  specifies a numeric expression that represents an integer from 1 through 12. \\n  Valid data types: DOUBLE \\n\\nday \\n  specifies a numeric expression that represents an integer from 1 through 31. \\n  Valid data types: DOUBLE \\n  \\nyear \\n  specifies a numeric expression that represents a two-digit or four-digit year. \\n  The YEARCUTOFF= system option defines the year value for two-digit dates. \\n  Valid data types: DOUBLE\"}},{\"Name\":\"MEAN\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the arithmetic mean (average) of the non-null or non-missing arguments. \\n    \\nReturn value data type: DOUBLE  \\n\\nSyntax: MEAN(expression [, ...expression] )  \\n\\nArguments: \\nexpression \\n  specifies any valid expression that evaluates to a numeric value. \\n\\n  Requirement: At least one non-null or non-missing argument is required. Otherwise, \\n  the function returns a null or missing value.  \\n  Valid data types: DOUBLE \\n \\nComparisons:\\nThe GEOMEAN function returns the geometric mean, the HARMEAN function returns the harmonic \\nmean, and the MEDIAN function returns the median of the non-null or non-missing values, \\nwhereas the MEAN function returns the arithmetic mean (average).\"}},{\"Name\":\"MIN\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the smallest value. \\n    \\nReturn value data type: BIGINT if all argument data types are BIGINT, otherwise, DOUBLE  \\n\\nSyntax: MIN(expression-1, expression-2 [, ...expression-n ] )  \\n\\nArguments: \\nexpression \\n  specifies any valid expression that evaluates to a numeric value. \\n  Requirement: At least two arguments are required.  \\n  Valid data types: DOUBLE, BIGINT \\n  \\nComparisons: \\nThe MIN function returns the smallest value from a list of values. The MIN operator (><) \\nreturns the smallest value of two operands. \\n\\nThe MIN function returns a null or missing value only if all arguments are null or missing. \\nThe MIN operator returns a null or missing value only if either operand is null or missing. \\nIn this case, it returns the value of the operand that is lower in the sort order for null \\nor missing values.\"}},{\"Name\":\"MINUTE\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the minute from a SAS time or datetime value. \\n    \\nReturn value data type: DOUBLE  \\n\\nSyntax: MINUTE(time | datetime)  \\n\\nArguments: \\ntime \\n  specifies any valid expression that represents a SAS time value.\\n  Valid data types: DOUBLE \\n\\ndatetime \\n  specifies any valid expression that represents a SAS datetime value.\\n\\n  Valid data types: DOUBLE \\n \\nDetails: \\nThe MINUTE function returns an integer that represents a specific minute of the hour. \\nMINUTE always returns a positive number in the range of 0 through 59. Null or missing \\nvalues are ignored.\"}},{\"Name\":\"MISSING\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns a number that indicates whether the argument contains a missing value. \\n    \\nReturn value data type INTEGER  \\n\\nnumeric-expression \\n  specifies any valid expression that evaluates to a numeric value. \\n  Valid data types: DOUBLE \\n\\ncharacter-expression \\n  specifies any valid expression that evaluates to a character value. \\n  Valid data types: CHAR, NCHAR \\n \\nDetails:\\nThe MISSING function checks a numeric or character expression for a null or missing value, \\nand returns a numeric result. If the argument does not contain a null or missing value, SAS \\nreturns a value of 0. If the argument contains a null or missing value, SAS returns a value of 1. \\n\\ncharacter-expression is defined as having a missing value if the result of the expression \\ncontains all blank spaces.\\n\\nnumeric-expression is defined as having a missing value if the result of the expression is\\nnull or missing ( . ), or if the expression contains special missing values that you used \\nto differentiate among missing values. The special missing values are the letters A through \\nZ and the underscore, preceded by a period.\\n \\nComparisons: \\nThe MISSING function can have only one argument. The NMISS function requires numeric arguments \\nand returns the number of missing values in the list of arguments.\"}},{\"Name\":\"MOD\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the remainder from the division of the first argument by the second argument, \\nfuzzed to avoid most unexpected floating-point results. \\n\\nReturn value data type: DOUBLE  \\nSyntax: MOD (dividend-expression, divisor-expression)  \\n\\nArguments: \\ndividend-expression \\n  specifies a dividend that is any valid expression that evaluates to a numeric value. \\n  Valid data types: DOUBLE \\n\\ndivisor-expression \\n  specifies a divisor that is any valid expression that evaluates to a numeric value. \\n  Restriction: divisor-expression cannot be 0 \\n  Valid data types: DOUBLE \\n  See: TSPL Expressions \\n  \\nDetails: \\nThe MOD function returns the remainder from the division of dividend-expression by divisor-expression. \\nWhen the result is non-zero, the result has the same sign as the first argument. The sign of the second \\nargument is ignored.\\n\\nThe computation that is performed by the MOD function is exact if both of the following conditions are true: \\n  o Both arguments are exact integers. \\n  o All integers that are less than either argument have exact 8-byte floating-point representations.\\n\\nIf either of the above conditions is not true, a small amount of numerical error can occur in the \\nfloating-point computation. In this case \\n  o MOD returns zero if the remainder is very close to zero or very close to the value of the second argument. \\n  o MOD returns a null or missing value if the remainder cannot be computed to a precision of approximately \\n    three digits or more. In this case, SAS also writes an error message to the log.\"}},{\"Name\":\"MODZ\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the remainder from the division of the first argument by the second argument, \\nusing zero fuzzing.\\n\\nReturn value data type: DOUBLE  \\nSyntax: MODZ (dividend-expression, divisor-expression)  \\n\\nArguments: \\ndividend-expression \\n  specifies a dividend that is any valid expression that evaluates to a numeric value. \\n  Valid data types: DOUBLE \\n\\ndivisor-expression \\n  specifies a divisor that is any valid expression that evaluates to a numeric value. \\n  Restriction: divisor-expression cannot be 0 \\n \\nDetails: \\nThe MODZ function returns the remainder from the division of dividend-expression by \\ndivisor-expression. When the result is non-zero, the result has the same sign as the \\nfirst argument. The sign of the second argument is ignored.\\n\\nThe computation that is performed by the MODZ function is exact if both of the following \\nconditions are true: \\n  o Both arguments are exact integers. \\n  o All integers that are less than either argument have exact 8-byte floating-point representation. \\n\\nIf either of the above conditions is not true, a small amount of numerical error can occur in the \\nfloating-point computation. For example, when you use exact arithmetic and the result is zero, \\nMODZ might return a very small positive value or a value slightly less than the second argument.\"}},{\"Name\":\"MONTH\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns a number that represents the month from a SAS date value. \\n    \\nReturn value data type: DOUBLE \\n\\nSyntax: MONTH(date)  \\n\\nArguments:\\ndate \\n  specifies any valid expression that represents a SAS date value.\\n\\n  Range: 1 - 12 \\n  Valid data types: DOUBLE\"}},{\"Name\":\"N\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the number of non-null or non-missing numeric values.   \\n    \\nReturn value data type: DOUBLE  \\n\\nSyntax: N(expression [, ...expression ] )  \\n\\nArguments: \\nexpression \\n  specifies any valid expression that evaluates to a numeric value. \\n\\n  Requirements: At least one argument is required. \\n  Valid data types: DOUBLE \\n \\nDetails:\\nNull values are converted to missing values and are counted as missing values.\\n\\nComparisons: \\nThe N function counts non-null and non-missing values, whereas the NMISS function \\ncounts missing values. The N function requires numeric arguments.\"}},{\"Name\":\"NMISS\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the number of null and SAS missing numeric values. \\n    \\nReturn value data type: INTEGER  \\n\\nSyntax: NMISS(expression [, ...expression ] )  \\n\\nArguments: \\nexpression \\n  specifies any valid expression that evaluates to a numeric value. \\n\\n  Requirements: At least one argument is required. \\n  Valid data types: DOUBLE \\n \\nDetails: \\nNull values are converted to SAS missing values and are counted as missing values.\\n \\nComparisons: \\nThe NMISS function returns the number of null or SAS missing values, whereas the N \\nfunction returns the number of non-null and non-missing values. NMISS requires numeric \\nvalues and works with multiple numeric values, whereas MISSING works with only one value \\nthat can be either numeric or character.\"}},{\"Name\":\"NULL\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns a 1 if the argument is null and a 0 if the argument is not null. \\n    \\nReturn value data type: DOUBLE  \\n\\nSyntax: NULL (expression)  \\n\\nArguments: \\nexpression \\n  specifies any valid expression.\\n\\n  Valid data types: CHAR, DOUBLE. \\n   \\nDetails:\\nThe NULL function returns a 1 only for a null value. It returns a 0 for a SAS missing value.\"}},{\"Name\":\"ORDINAL\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Orders a list of values, and returns a value that is based on a position in the list. \\n    \\nReturn value data type: DOUBLE  \\n\\nSyntax: ORDINAL(position, expression-1, expression-2 [ , ...expression-n ] )  \\n\\nArguments: \\n  position \\n  specifies an integer that is less than or equal to the number of elements in the list of arguments. \\n  Requirements: position must be a positive number. \\n  Valid data types: DOUBLE \\n\\nexpression\\n  specifies any valid expression that evaluates to a numeric value. \\n  Requirements: At least two arguments are required. \\n  Valid data types: DOUBLE \\n \\nDetails: \\nThe ORDINAL function sorts the list and returns the argument in the list that is specified \\nby position. Missing values are sorted low and are placed before any numeric values.\\n \\nComparisons: \\nThe ORDINAL function counts both null, missing, non-null, and non-missing values, whereas \\nthe SMALLEST function counts only non-null and non-missing values.\"}},{\"Name\":\"PCTL\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the percentile that corresponds to the percentage. \\n    \\nReturn value data type: DOUBLE \\nSyntax: PCTL[ n ](percentage, expression[, ...expression ] )  \\n\\nArguments: \\nn \\n  is a digit from 1 to 5 which specifies the definition of the percentile to be computed. \\n  Default: definition 5 \\n  Valid data types: DOUBLE    \\n\\npercentage \\n  specifies the percentile to be computed. \\n  Requirement: is numeric where, 0 percentage 100. \\n  Valid data types: DOUBLE \\n\\nexpression \\n  specifies any valid expression that evaluates to a numeric value, whose value is computed \\n  in the percentile calculation.\\n\\n  Valid data types: DOUBLE \\n \\nDetails: \\nThe PCTL function returns the percentile of the non-null or non-missing values corresponding \\nto the percentage. If percentage is null or missing, less than zero, or greater than 100, the \\nPCTL function generates an error message.\"}},{\"Name\":\"POWER\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the value of a numeric value expression raised to a specified power. \\n    \\nReturn value data type: DOUBLE  \\n\\nSyntax: POWER (numeric-expression, integer-expression) \\n\\nArguments: \\nnumeric-expression \\n  specifies any valid expression that evaluates to a numeric value. \\n  Valid data types: DOUBLE \\n\\ninteger-expression \\n  specifies any valid expression that evaluates to an integer value. \\n  Valid data types: INTEGER, DOUBLE \\n   \\nDetails: \\nIf numeric_expression is null, then the POWER function returns null. If the result \\nis a number that does not fit into the range of the argument's data type, the POWER \\nfunction fails.\"}},{\"Name\":\"PUT\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns a value using a specified format. \\n    \\nReturn value data type: NVARCHAR  \\nSyntax: PUT(expression, format.)  \\n\\nArguments:\\nexpression \\n  specifies any valid expression. \\n  Valid data types: DOUBLE, DATE, TIME, TIMESTAMP, CHAR, NCHAR \\n\\nformat. \\n  specifies either a TSPL format or a user-defined format that you want applied to expression. \\n  To override the default alignment, you can add an alignment specification to a format: \\n\\n  -L left aligns the value  \\n  -C centers the value  \\n  -R right aligns the value\\n  \\nDetails: \\nIf a value is not specified for the format width or decimal specification, TSPL uses the default \\nvalues for that format.\\n\\nIf expression is not a valid data type for the format type (either numeric or character), TSPL \\nconverts expression to a valid data type for format., with these exceptions:\\n\\n  o date and time expressions are converted to a SAS date, time, or datetime DOUBLE value for \\n    numeric formats, and converted to NCHAR for character string formats \\n  o when the format is a binary character format such as $BINARY, $HEX or $OCTAL, expressions \\n    with a data type of DOUBLE are converted to NCHAR \\n  o an error is issued when an expression with a data type of VARBINARY is used with a numeric \\n    format that does not produce a data type of VARBINARY\\n\\nWhen TSPL converts an expression's data type in an assignment statement, the result is left-aligned. \\nYou can use the PUT function to convert a numeric value to a character value and to convert a date, \\ntime, or timestamp value to a SAS date/time value.\"}},{\"Name\":\"QTR\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the quarter of the year from a SAS date value. \\n    \\nReturn value data type: DOUBLE  \\n\\nSyntax: QTR(date)  \\n\\nArguments: \\ndate \\n  specifies any valid expression that represents a SAS date value.\\n\\n  Valid data types: DOUBLE \\n  See: TSPL Expressions \\n \\nDetails: \\nThe QTR function returns a value of 1, 2, 3, or 4 from a SAS date value to indicate \\nthe quarter of the year in which a date value falls.\"}},{\"Name\":\"QUOTE\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Adds double quotation marks to a character value. \\n    \\nReturn value data type: NCHAR \\nSyntax: QUOTE(expression)  \\n\\nArguments: \\nexpression \\n  specifies any valid expression that evaluates to a character string. \\n  Valid data types: NCHAR \\n \\nDetails: \\nThe QUOTE function adds double quotation marks, the default character, to a character value. If \\ndouble quotation marks are found within the argument, they are doubled in the output.\\n\\nThe length of the receiving variable must be long enough to contain the argument (including \\ntrailing blanks), leading and trailing quotation marks, and any embedded quotation marks that \\nare doubled. For example, if the argument is ABC followed by three trailing blanks, then the \\nreceiving variable must have a length of at least eight to hold \\\"ABC###\\\". (The character # \\nrepresents a blank space.) If the receiving field is not long enough, the QUOTE function \\nreturns a blank string, and writes an invalid argument note to the SAS log.\\n\\nA string of characters enclosed in double quotation marks is a TSPL identifier and not a \\ncharacter constant. The double quotation marks become part of the identifier. Quoted \\nidentifiers cannot be used to create column names in an output table.\"}},{\"Name\":\"RANGE\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the difference between the largest and the smallest values. \\n    \\nReturn value data type: DOUBLE  \\n\\nSyntax: RANGE(expression [, ...expression ) ] \\n\\nArguments: \\nexpression \\n  specifies any valid expression that evaluates to a numeric value. \\n\\n  Requirements: At least one non-null or non-missing argument is required. Otherwise, \\n  the function returns a null or missing value.  \\n  Valid data types: DOUBLE \\n \\nDetails: \\nThe RANGE function returns the difference between the largest and the smallest of the \\nnon-null or non-missing arguments.\"}},{\"Name\":\"RANK\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the position of a character in the ASCII or EBCDIC collating sequence. \\n    \\nReturn value data type: DOUBLE  \\n\\nSyntax: RANK(expression)  \\n\\nArguments: \\nexpression \\n  specifies any valid expression that evaluates to a character string. \\n  Valid data types: NCHAR \\n \\nDetails: \\nThe RANK function returns an integer that represents the position of the first character \\nin the character expression.\"}},{\"Name\":\"REPEAT\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Repeats a character expression. \\n    \\nReturn value data type: VARCHAR, NVARCHAR  \\n\\nSyntax: REPEAT(expression, n)  \\n\\nArguments: \\nexpression \\n  specifies any valid expression that evaluates to a character string.\\n  Valid data types: CHAR, NCHAR \\n\\nn \\n  specifies the number of times to repeat expression.\\n  Restriction: n must be greater than or equal to 0. \\n  Valid data types: INTEGER \\n \\nDetails: \\nThe REPEAT function returns a character value consisting of the first argument repeated \\nn times. Thus, the first argument appears n+1 times in the result.\"}},{\"Name\":\"REVERSE\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Reverses a character expression. \\n    \\nReturn value data type: NCHAR  \\n\\nSyntax: REVERSE(expression)  \\n\\nArguments: \\nexpression \\n  specifies any valid expression that evaluates to a character string.\\n\\n  Valid data types: NCHAR \\n  See: TSPL Expressions \\n \\nDetails: \\nThe REVERSE function returns a character value with the last character in the expression \\nis the first character in the result, the next-to-last character in the expression is the \\nsecond character in the result, and so on. \\n\\nNote: Trailing blanks in the expression become leading blanks in the result.\"}},{\"Name\":\"RIGHT\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Right aligns a character expression. \\n    \\nReturn value data type: NCHAR  \\n\\nSyntax: RIGHT(expression)  \\n\\nArguments: \\nexpression \\n  specifies any valid expression that evaluates to a character string.\\n\\n  Valid data types: NCHAR \\n\\nDetails: \\nThe RIGHT function returns an argument with trailing blanks moved to the start of the \\nvalue. The argument's length does not change.\"}},{\"Name\":\"RMS\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the root mean square. \\n    \\nReturn value data type: DOUBLE  \\n\\nSyntax: RMS(expression [, ...expression ) ]  \\n\\nArguments: \\nexpression \\n  specifies any valid expression that evaluates to a numeric value.\\n\\n  Valid data types: DOUBLE \\n \\nDetails: \\nThe root mean square is the square root of the arithmetic mean of the squares of \\nthe values. If all the arguments are null or missing values, then the result is \\na null or missing value. Otherwise, the result is the root mean square of the \\nnon-null or non-missing values.\"}},{\"Name\":\"ROUND\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Rounds the first argument to the nearest multiple of the second argument, or to \\nthe nearest integer when the second argument is omitted. \\n\\nReturn value data type: DOUBLE  \\n\\nSyntax: ROUND (expression [, rounding-unit ] )  \\n\\nArguments: \\nexpression \\n  specifies any valid expression that evaluates to a numeric value, to be rounded.\\n\\n  Valid data types: DOUBLE \\n  \\nrounding-unit \\n  specifies a positive numeric expression that specifies the rounding unit.\\n\\n  Valid data types: DOUBLE \\n \\nDetails: \\nThe ROUND function rounds the first argument to a value that is very close to a multiple \\nof the second argument. The results might not be an exact multiple of the second argument.\"}},{\"Name\":\"ROUNDE\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Rounds the first argument to the nearest multiple of the second argument, and returns \\nan even multiple when the first argument is halfway between the two nearest multiples. \\n\\nReturn value data type: DOUBLE  \\n\\nSyntax: ROUNDE (expression [, rounding-unit] )  \\n\\nArguments: \\nexpression \\n  specifies any valid expression that evaluates to a numeric value and that is to be rounded. \\n  Valid data types: DOUBLE \\n\\nrounding-unit \\n  is a positive, numeric expression that specifies the rounding unit. \\n  Default: 1 \\n  Valid data types: DOUBLE \\n  \\nDetails: \\nThe ROUNDE function rounds the first argument to the nearest multiple of the second argument. \\n \\nComparisons: \\nThe ROUNDE function is the same as the ROUND function except that when the first argument \\nis halfway between the two nearest multiples of the second argument, ROUNDE returns an even\\nmultiple. ROUND returns the multiple with the larger absolute value.\"}},{\"Name\":\"ROUNDZ\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Rounds the first argument to the nearest multiple of the second argument, using \\nzero fuzzing. \\n\\nReturn value data type: DOUBLE  \\n\\nSyntax: ROUNDZ (expression [, rounding-unit ] ) \\n\\nArguments: \\nexpression \\n  specifies any valid expression that evaluates to a numeric value. \\n  Valid data types: DOUBLE \\n\\nrounding-unit \\n  specifies any valid expression that evaluates to a numeric expression and that specifies \\n  the rounding unit. \\n\\n  Requirements: Only positive values are valid. \\n  Valid data types: DOUBLE \\n  Default value: 1 \\n \\nDetails: \\nThe ROUNDZ function rounds the first argument to the nearest multiple of the second argument.\"}},{\"Name\":\"SCAN\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the nth word from a character expression. \\n    \\nReturn value data type: NCHAR  \\nSyntax: SCAN( expression, n [, delimiters ] )  \\n\\nArguments: \\nexpression \\n  specifies any valid expression that evaluates to a character string. \\n  Valid data types: NCHAR \\nn \\n  is a non-zero numeric expression that specifies the number of the word in the character \\n  expression that you want SCAN to select. The following rules apply: \\n\\n    o If n is positive, SCAN counts words from left to right in the character string. \\n    o If n is negative, SCAN counts words from right to left in the character string. \\n    o If n is greater than the number of words in expression, SCAN returns a blank value.\\n\\ndelimiters \\n  specifies any valid expression that evaluates to a character string and that SCAN \\n  uses as word separators in the expression.\\n\\n  Requirement: If delimiter is a constant, enclose delimiter in single quotation marks. \\n  ASCII default delimiters: blank . , ( + & ! $ * ) ; ^ -- / % | \\n  In environments without the ^ character, SCAN uses the ~ character instead.\\n \\n  EBCDIC default delimiters: blank . < ( + | & ! $ * ) ; \\u00ac -- / , % \\u00a2 \\n  Valid data types: NCHAR \\n \\nDetails:\\nLeading delimiters before the first word in the expression do not effect SCAN. If there \\nare two or more contiguous delimiters, SCAN treats them as one.\"}},{\"Name\":\"SECOND\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the second from a SAS time or datetime value. \\n    \\nReturn value data type: DOUBLE  \\n\\nSyntax: SECOND(time | datetime)  \\n\\nArguments: \\ntime \\n  specifies any valid expression that represents a SAS time value.\\n  Valid data types: DOUBLE \\n\\ndatetime \\n  specifies any valid expression that represents a SAS datetime value. \\n  Valid data types: DOUBLE \\n \\nDetails: \\nThe SECOND function produces a numeric value that represents a specific second of \\nthe minute. The result can be any number that is >= 0 and < 60.\"}},{\"Name\":\"SIGN\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns a number that indicates the sign of a numeric value expression. \\n    \\nReturn value data type: DOUBLE  \\n\\nSyntax: SIGN (expression)  \\n\\nArguments: \\nexpression \\n  specifies any valid expression that evaluates to a numeric value.\\n\\n  Valid data types: DOUBLE \\n \\nDetails: \\nThe SIGN function returns the following values: \\n\\n  -1 if expression < 0 \\n \\n  0 if expression = 0 \\n \\n  1  if expression > 0.\"}},{\"Name\":\"SIN\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the trigonometric sine. \\n    \\nReturn value data type: DOUBLE  \\n\\nSyntax: SIN (expression)  \\n\\nArguments: \\nexpression \\n  specifies any valid expression that evaluates to a numeric value.\\n\\n  Valid data types: DOUBLE\"}},{\"Name\":\"SINH\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the hyperbolic sine. \\n    \\nReturn value data type: DOUBLE  \\n\\nSyntax: SINH (expression)  \\n\\nArguments: \\nexpression \\n  specifies any valid expression that evaluates to a numeric value.\\n\\n  Valid data types: DOUBLE \\n \\nDetails: \\nThe SINH function returns the hyperbolic sine of the argument, which is given by\\n\\n(\\u03f5^argument - \\u03f5^-argument)/2\"}},{\"Name\":\"SKEWNESS\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the skewness. \\n    \\nReturn value data type: DOUBLE  \\n\\nSyntax: SKEWNESS(expression-1, expression-2, expression-3 [, ...expression-n ] )  \\n\\nArguments: \\nexpression \\n  specifies any valid expression that evaluates to a numeric value. \\n\\n  Requirements: At least three non-null or non-missing arguments are required. \\n  Otherwise, the function returns a null or missing value. \\n  Valid data types: DOUBLE \\n \\nDetails: \\nIf all non-null or non-missing arguments have equal values, the skewness is mathematically \\nundefined and the SKEWNESS function returns a null or missing value.\"}},{\"Name\":\"SLEEP\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"For a specified period of time, suspends the execution of a program that invokes \\nthis function. \\n\\nReturn value data type: DOUBLE  \\n\\nSyntax: SLEEP(number-of-time-units [, time- unit ] )  \\n\\nArguments: \\nnumber-of-time-units \\n  specifies any valid expression that evaluates to a numeric value and that specifies the \\n  number of units of time for which you want to suspend execution of a program.\\n\\n  Range: n \\u2265 0 \\n\\ntime-unit \\n  specifies the unit of time, as a power of 10, which is applied to number-of-time-units. \\n  For example, 1 corresponds to a second, and .001 to a millisecond. \\n\\n  Default: 1 in a Windows PC environment, .001 in other environments \\n \\nDetails: \\nThe SLEEP function suspends the execution of a program that invokes this function for \\na period of time that you specify. The maximum sleep period for the SLEEP function is \\n46 days.\"}},{\"Name\":\"SMALLEST\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the kth smallest non-null or non-missing value. \\n    \\nReturn value data type: DOUBLE  \\n\\nSyntax: SMALLEST (k, expression [, ...expression ] )  \\n\\nArguments: \\nk \\n  specifies any valid expression that evaluates to a numeric value to return. \\n  Valid data types: DOUBLE \\n\\nexpression \\n  specifies any valid expression that evaluates to a numeric value to be processed. \\n  Valid data types: DOUBLE \\n \\nDetails: \\nIf k is null or missing, less than zero, or greater than the number of values, the result \\nis a null or missing value. \\n \\nComparisons: \\nThe SMALLEST function differs from the ORDINAL function in that SMALLEST ignores null \\nand missing values, but ORDINAL counts null and missing values.\"}},{\"Name\":\"SQRT\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the square root of a value. \\n    \\nReturn value data type: DOUBLE  \\n\\nSyntax: SQRT (expression)  \\n\\nArguments: \\nexpression \\n  specifies any valid expression that evaluates to a nonnegative numeric value.\\n\\n  Valid data types: DOUBLE\"}},{\"Name\":\"STD\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the standard deviation. \\n    \\nReturn value data type: DOUBLE  \\n\\nSyntax: STD(expression-1, expression-2 [, ...expression-n ] )  \\n\\nArguments: \\nexpression \\n  specifies any valid expression that evaluates to a numeric value. \\n\\n  Requirements: At least two non-null or non-missing arguments are required. Otherwise, \\n  the function returns a null or missing value. \\n  Valid data types: DOUBLE\"}},{\"Name\":\"STDERR\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the standard error of the mean. \\n    \\nReturn value data type: DOUBLE  \\n\\nSyntax: STDERR(expression-1, expression-2 [, ...expression-n ] )  \\n\\nArguments: \\nexpression \\n  specifies any valid expression that evaluates to a numeric value.\\n\\n  Requirements: At least two non-null or non-missing arguments are required. Otherwise, \\n  the function returns a null or missing value.  \\n  Valid data types: DOUBLE\"}},{\"Name\":\"STRIP\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns a character string with all leading and trailing blanks removed. \\n    \\nReturn value data type: NCHAR  \\n\\nSyntax: STRIP(expression)  \\n\\nArguments: \\nexpression \\n  specifies any valid expression that evaluates to a character string. \\n  Valid data types: NCHAR \\n \\nDetails: \\nThe STRIP function returns the argument with all leading and trailing blanks removed. \\nIf the argument is blank, STRIP returns a string with a length of zero. \\n\\nIf the value that is trimmed is shorter than the length of the receiving variable, \\nSAS pads the value with new trailing blanks.\\n\\nNote: The STRIP function is useful for concatenation because the concatenation \\noperator does not remove trailing blanks.\"}},{\"Name\":\"SUBSTR\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns a substring, allowing a result with a length of zero. \\n    \\nReturn value data type: VARCHAR, NVARCHAR  \\nSyntax: SUBSTR(character-expression, position-expression [, length-expression ] )  \\n\\nArguments: \\ncharacter-expression \\n  specifies any valid expression that evaluates to a character string. \\n  Valid data types: CHAR, NCHAR \\n\\nposition-expression \\n  specifies any valid expression that evaluates to an integer and that specifies the \\n  position of the first character in the substring. \\n  Valid data types: INTEGER \\n\\nlength-expression \\n  specifies any valid expression that evaluates to an integer and that specifies the length \\n  of the substring. If you do not specify length-expression, the SUBSTR function returns  \\n  the substring that extends from the position that you specify to the end of the string. \\n  Valid data types: INTEGER \\n \\nDetails: \\nThe following information applies to the SUBSTR function: \\n\\n  o The SUBSTR function returns a string with a length of zero if either position-expression or  \\n    length-expression has a missing or null value, or if position-expression is a non-positive value. \\n  o If the value for length-expression is non-positive, the SUBSTR function ignores length-expression. \\n  o If the length that you specify extends beyond the end of the string, the result is truncated \\n    at the end, so that the last character of the result is the last character of the string.\"}},{\"Name\":\"SUM\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the sum of the non-null or non-missing arguments. \\n    \\nReturn value data type: BIGINT if all argument data types are BIGINT, otherwise, DOUBLE  \\n\\nSyntax: SUM(expression-1, expression-2 [, ...expression-n ] )  \\n\\nArguments: \\nexpression \\n  specifies any valid expression that evaluates to a numeric value.\\n\\n  Requirements: At least two arguments are required. \\n  Valid data types: DOUBLE, BIGINT \\n \\nDetails: \\nNull and missing values are ignored and not included in the computation. If all of the \\narguments have missing values, the result is a missing value. If all the arguments have \\na null value, the result is a null value.\"}},{\"Name\":\"TAN\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the tangent. \\n    \\nReturn value data type: DOUBLE  \\n\\nSyntax: TAN (expression)  \\n\\nArguments: \\nexpression \\n  specifies any valid expression that evaluates to a numeric value in radians.\\n\\n  Restriction: expression cannot be an odd multiple of \\u03c0/2 \\n  Valid data types: DOUBLE\"}},{\"Name\":\"TANH\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the hyperbolic tangent. \\n    \\nReturn value data type: DOUBLE  \\n\\nSyntax: TANH (expression)  \\n\\nArguments: \\nexpression \\n  specifies any valid expression that evaluates to a numeric value.\\n\\n  Restriction: expression cannot be an odd multiple of \\u03c0/2 \\n  Valid data types: DOUBLE \\n \\nDetails: \\nThe TANH function returns the hyperbolic tangent of the argument, which is given by\\n\\n(\\u03f5^argument - \\u03f5^-argument)/(\\u03f5^argument + \\u03f5^-argument)\"}},{\"Name\":\"TIME\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the current time of day as a numeric SAS time value. \\n    \\nReturn value data type: DOUBLE \\n\\nSyntax: TIME()  \\n\\nDetails: \\nThe TIME function does not take any arguments. It produces the current time in the form \\nof a SAS time value.\"}},{\"Name\":\"TIMEPART\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Extracts a time value from a SAS datetime value. \\n    \\nReturn value data type: DOUBLE  \\n\\nSyntax: TIMEPART(datetime)  \\n\\nArguments: \\ndatetime \\n  specifies any valid expression that represents a SAS datetime value.\\n\\n  Valid data types: DOUBLE\"}},{\"Name\":\"TODAY\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the current date as a numeric SAS date value. \\n    \\nReturn value data type: DOUBLE  \\n\\nSyntax: TODAY()  \\n \\nDetails: \\nThe TODAY function does not take any arguments. It produces the current date in the \\nform of a SAS date value, which is the number of days since January 1, 1960.\"}},{\"Name\":\"TRANSLATE\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Replaces specific characters in a character expression. \\n    \\nReturn value data type: NCHAR  \\nSyntax: TRANSLATE(expression, to-characters, from-characters)  \\n\\nArguments: \\nexpression \\n  specifies any valid expression that evaluates to a character string. expression \\n  contains the original character value. \\n  Valid data types: CHAR \\n\\nto-characters \\n  specifies the characters that you want TRANSLATE to use as substitutes. \\n  Valid data types: NCHAR \\n\\nfrom-characters \\n  specifies the characters that you want TRANSLATE to replace. \\n  Valid data types: NCHAR \\n \\nDetails: \\nValues of to-characters and from-characters correspond on a character-by-character basis; \\nTRANSLATE changes the first character in from-characters to the first character in to-characters, \\nand so on. If to-characters has fewer characters than from-characters, TRANSLATE changes the \\nextra from-characters to blanks. If to-characters has more characters than \\nfrom-characters, TRANSLATE ignores the extra to-characters.\"}},{\"Name\":\"TRANWRD\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Replaces or removes all occurrences of a word in a character string. \\n    \\nReturn value data type: NCHAR  \\n\\nSyntax: TRANWRD(source-expression, target-expression, replacement-expression)  \\n\\nArguments:\\nsource-expression \\n  specifies any valid expression that evaluates to a character string, whose characters \\n  you want to replace. \\n  Valid data types: NCHAR \\n\\ntarget-expression \\n  specifies any valid expression that evaluates to a character string and that is searched \\n  for in source-expression. \\n  Valid data types: NCHAR \\n  Requirement: The length of the target-expression must be greater than zero. \\n\\nreplacement-expression \\n  specifies any valid expression that evaluates to a character string and that replaces \\n  target-expression. \\n  Valid data types: NCHAR \\n \\nDetails: \\nThe TRANWRD function replaces or removes all occurrences of a given word (or a pattern of \\ncharacters) within a character string. The TRANWRD function does not remove trailing blanks \\nin the target-expression string and the replacement-expression string.\"}},{\"Name\":\"TRIGAMMA\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the value of the trigamma function. \\n    \\nReturn value data type: DOUBLE  \\n\\nSyntax: TRIGAMMA( expression )  \\n\\nArguments: \\nexpression \\n  specifies any valid expression that evaluates to a numeric value. \\n\\n  Restriction: Nonpositive integers are invalid. \\n  Valid data types: DOUBLE \\n  \\nDetails: \\nThe TRIGAMMA function returns the derivative of the DIGAMMA function. For expression > 0, \\nthe TRIGAMMA function is the second derivative of the LGAMMA function.\"}},{\"Name\":\"TRIM|TRIMN\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Removes trailing blanks from a character expression. \\n    \\nReturn value data type: VARCHAR, NVARCHAR  \\n\\nSyntax: TRIM ( expression )  \\n\\nArguments: \\nexpression \\n  specifies any valid expression that evaluates to a character string.\\n  Valid data types: CHAR, NCHAR \\n \\nDetails:\\nThe TRIM function removes trailing blanks from expression and returns the trimmed value \\nas a result. If the resulting string is blank, TRIM returns a zero length string. TRIM \\nis useful for concatenating because concatenation does not remove trailing blanks.\"}},{\"Name\":\"TRUNC\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Truncates a numeric value to a specified length. \\n    \\nReturn value data type: DOUBLE \\nSyntax: TRUNC(expression, length-expression)  \\n\\nArguments: \\nexpression \\n  specifies any valid expression that evaluates to a numeric value. \\n  Valid data types: DOUBLE \\n\\nlength-expression \\n  specifies any valid expression that evaluates to a numeric value. \\n  Range: 3 - 8 \\n  Valid data types: DOUBLE \\n \\nDetails: \\nThe TRUNC function truncates a full-length numeric expression (stored as a DOUBLE) \\nto a smaller number of bytes, as specified in length-expression and pads the truncated \\nbytes with 0s. The truncation and subsequent expansion duplicate the effect of storing \\nnumbers in less than full length and then reading them.\"}},{\"Name\":\"UPCASE\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Converts all letters in an argument to uppercase. \\n    \\nReturn value data type: VARCHAR, NVARCHAR  \\n\\nSyntax: UPCASE(expression)  \\n\\nArguments: \\nexpression \\n  specifies any valid expression that evaluates to a character string. \\n  Valid data types: CHAR, NCHAR \\n \\nDetails: \\nThe UPCASE function copies a character expression, converts all lowercase letters to \\nuppercase letters, and returns the altered value as a result. \\n \\nComparisons: \\nThe LOWCASE function converts all letters in an argument to lowercase letters. The \\nUPCASE function converts all letters in an argument to uppercase letters.\"}},{\"Name\":\"USS\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the uncorrected sum of squares. \\n    \\nReturn value data type: DOUBLE  \\n\\nSyntax: USS(expression [, ...expression ] )  \\n\\nArguments: \\nexpression \\n  specifies any valid expression that evaluates to a numeric value.\\n\\n  Requirement: At least one non-null or non-missing argument is required. Otherwise, \\n  the function returns a null or missing value.  \\n  Valid data types: DOUBLE\"}},{\"Name\":\"VAR\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the variance. \\n    \\nReturn value data type: DOUBLE  \\n\\nSyntax: VAR(expression-1, expression-2 [ ,...expression-n])  \\n\\nArguments: \\nexpression \\n  specifies any valid expression that evaluates to a numeric value. The argument list \\n  can consist of a variable list. \\n\\n  Requirements: At least two non-null or non-missing arguments are required. Otherwise, \\n  the function returns a null or missing value.  \\n  \\n  Valid data types: DOUBLE\"}},{\"Name\":\"VERIFY\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the position of the first character that is unique to an expression. \\n    \\nReturn value data type: DOUBLE  \\nSyntax: VERIFY(target-expression, search-expression)  \\n\\nArguments: \\ntarget-expression \\n  specifies any valid expression that evaluates to a character string that is to be searched. \\n\\n  Requirements: Literal character strings must be enclosed in single quotation marks. \\n  Valid data types: NCHAR \\n\\nsearch-expression \\n  specifies any valid expression that evaluates to a character string.\\n\\n  Requirements: Literal character strings must be enclosed in single quotation marks. \\n  Valid data types: NCHAR \\n \\nDetails: \\nThe VERIFY function returns the position of the first character in target-expression that \\nis not present in search-expression. If there are no characters in target-expression that \\nare unique from those in search-expression, VERIFY returns a 0.\"}},{\"Name\":\"WEEKDAY\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"From a SAS date value, returns an integer that corresponds to the day of the week. \\n    \\nReturn value data type: DOUBLE \\n\\nSyntax: WEEKDAY(expression)  \\n\\nArguments: \\nexpression \\n  specifies any valid expression that represents a SAS date value.\\n\\n  Valid data types: DOUBLE \\n \\nDetails: \\nThe WEEKDAY function produces an integer that represents the day of the week, where 1 = Sunday, \\n2 = Monday, ..., 7 = Saturday.\"}},{\"Name\":\"WHICHC\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the first position of a character string from a list of character strings. \\n    \\nReturn value data type:  DOUBLE  \\nSyntax: WHICHC(search-expression, expression-list-item-1, expression-list-item-2 [, ...expression-list-item-n ] )  \\n\\nArguments: \\nsearch-expression \\n  specifies any valid expression that evaluates to a character string that is compared with \\n  a list of character string expressions. \\n\\n  Requirements: Literal character strings must be enclosed in single quotation marks. \\n  Valid data types: NCHAR \\n  \\nstring-expression-list-item \\n  specifies any valid expression that evaluates to a character string and that is a member of a list of character string expressions. \\n\\n  Requirements: Literal character strings must be enclosed in single quotation marks. \\n  At least two expressions are required in the list. \\n  Valid data types: NCHAR \\n \\nDetails: \\nThe WHICHC function searches the character expression list, from left to right, for the \\nfirst expression that matches the search expression. If a match is found, WHICHC returns \\nits position in the expression list. If none of the expressions match the search expression, \\nWHICHC returns a value of 0.\"}},{\"Name\":\"WHICHN\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the first position of a number from a list of numbers. \\n    \\nReturn value data type: DOUBLE  \\nSyntax: WHICHN(search-expression, expression-list-item-1, expression-list-item-2 \\n  [, ...expression-list-item-n ] )  \\n\\nArguments: \\nsearch-expression \\n  specifies any valid expression that evaluates to a number and that is compared with \\n  a list of numeric expressions. \\n  Valid data types: DOUBLE \\n\\nexpression-list-item \\n  specifies any valid expression that evaluates to a number and is part of a list. \\n  Requirements: At least two expressions are required in the list. \\n  Valid data types: DOUBLE \\n \\nDetails: \\nThe WHICHN function searches the numeric expression list, from left to right, for the \\nfirst expression that matches the search expression. If a match is found, WHICHN returns \\nits position in the expression list. If none of the expressions match the search expression, \\nWHICHN returns a value of 0. Arguments for the WHICHN functions can be any numeric data type.\"}},{\"Name\":\"YEAR\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the year from a SAS date value. \\n    \\nReturn value data type DOUBLE  \\n\\nSyntax: YEAR(date)  \\n\\nArguments: \\ndate \\n  specifies any valid expression that represents a SAS date value.\\n\\n  Valid data types: DOUBLE \\n \\nDetails: \\nThe YEAR function produces a four-digit numeric value that represents the year.\"}},{\"Name\":\"YYQ\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns a SAS date value from year and quarter year values. \\n    \\nReturn value data type: DOUBLE  \\n\\nSyntax: YYQ(year,quarter)  \\n\\nArguments: \\nyear \\n  specifies any valid expression that evaluates to a two-digit or four-digit integer \\n  that represents the year. The YEARCUTOFF= system option defines the year value for \\n  two-digit dates.\\n\\n  Valid data types: DOUBLE \\n  \\nquarter \\n  specifies the quarter of the year (1, 2, 3, or 4). \\n  Valid data types: DOUBLE \\n \\nDetails: \\nThe YYQ function returns a SAS date value that corresponds to the first day of the \\nspecified quarter. If either year or quarter is null or missing, or if the quarter \\nvalue is not valid, the result is a null or missing value.\"}},{\"Name\":\"PRXCHANGE\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Performs a pattern-matching replacement. \\n    \\nReturned data type: CHAR\\n\\nSyntax: PRXCHANGE(perl-regular-expression | regular-expression-id, times, source)\\n\\nArguments:\\nperl-regular-expression\\n  specifies a character constant, variable, or expression with a value that is a Perl regular expression.\\n  Data type: CHAR\\nregular-expression-id\\n  specifies a numeric variable with a value that is a pattern identifier that is returned from the PRXPARSE function.\\n  Restriction: If you use this argument, you must also use the PRXPARSE function.\\n  Data type: INTEGER\\ntimes\\n  is a numeric constant, variable, or expression that specifies the number of times to search for a match and \\n  replace a matching pattern.\\n  Data type: INTEGER\\n  Tip: If the value of times is \\u20131, then matching patterns continue to be replaced until the end of source is reached. \\nsource\\n  specifies a character constant, variable, or expression that you want to search.\\n  Data type: CHAR\"}},{\"Name\":\"PRXPAREN\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the last bracket match for which there is a match in a pattern. \\n    \\nSyntax: PRXPAREN(regular-expression-id) \\n\\nArguments:\\nregular-expression-id\\n  specifies a numeric variable with a value that is an identification number that is returned by the PRXPARSE function.\"}},{\"Name\":\"PRXPARSE\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Compiles a Perl regular expression (PRX) that can be used for pattern matching of a character value.\\n\\nReturned data type: INTEGER\\n\\nSyntax: regular-expression-id=PRXPARSE(perl-regular-expression)\\n\\nArguments:\\nregular-expression-id\\n  is a numeric pattern identifier that is returned by the PRXPARSE function.\\n  Data type: INTEGER\\nperl-regular-expression\\n  specifies a character, constant, variable, or expression with a value that is a Perl regular expression.\\n  Data type: CHAR\"}},{\"Name\":\"PRXPOSN\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns a character string that contains the value for a capture buffer.\\n\\nReturned data type: CHAR\\n\\nSyntax: PRXPOSN(regular-expression-id, capture-buffer, source)\\n\\nArguments:\\nregular-expression-id\\n  specifies a numeric variable with a value that is a pattern identifier that is returned by the PRXPARSE function.\\n\\n  Data type: INTEGER\\ncapture-buffer\\n  is a numeric constant, variable, or expression that identifies the capture buffer for which to retrieve a value:\\n  \\u2022If the value of capture-buffer is zero, PRXPOSN returns the entire match.\\n  \\u2022If the value of capture-buffer is between 1 and the number of open parentheses in the regular expression, then PRXPOSN returns the value for that capture buffer.\\n  \\u2022If the value of capture-buffer is greater than the number of open parentheses, then PRXPOSN returns a missing value.\\n  Data type: INTEGER \\n  \\nsource\\n  specifies the text from which to extract capture buffers.\\n  Data type: CHAR\"}},{\"Name\":\"KCOUNT\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the number of double-byte characters in an expression. \\n    \\nSyntax: KCOUNT([']source['])\\n\\nArguments:\\n'source'\\n  specifies any valid expression that evaluates to a character string.\\n  Data type: NCHAR\\n  Tip: Enclose a literal string of characters in quotation marks.\"}},{\"Name\":\"KSTRCAT\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Concatenates two or more character expressions.\\n\\nReturned data type: NCHAR\\n\\nSyntax: KSTRCAT(expression-1, expression-2[, \\u2026 expression-n] ) \\n\\nArguments: \\nexpression\\n  specifies any single-byte or double-byte character expression.\\n\\n  Requirement: At least two expressions are required.\\n  Data type: NCHAR\"}},{\"Name\":\"KSTRIP\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns a character string with all leading and trailing blanks removed.\\n\\nReturned data type: NCHAR\\nSyntax: KSTRIP([']string['])\\n\\nArguments:\\n[']string[']\\n  specifies any valid expression that evaluates to a character string.\\n  Data type: NCHAR\\n  Tip: Enclose a literal string of characters in quotation marks.\"}},{\"Name\":\"KUDPATE\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Inserts, deletes, and replaces character value contents.\\n\\nReturned data type: NCHAR \\n\\nSyntax: \\nKUPDATE([']expression['], position, n [, [']characters-to-replace[']] ) \\nKUPDATE([']expression['], position [, n], [']characters-to-replace['])\\n\\nArguments:\\n[']expression[']\\n  specifies any valid expression that evaluates to a character string.\\n  Data type: NCHAR\\n  Tip: Enclose a literal string of characters in quotation marks.\\n\\nposition\\n  specifies a numeric expression that is the beginning character position.\\n  Data type: INTEGER\\nn\\n  specifies a numeric expression that is the length of the substring to be replaced.\\n  Restrictions: n cannot be larger than the length of the expression that remains in expression after \\n  position.n is optional, but you cannot omit both n and characters-to-replace from the function.\\n  Data type: INTEGER\\n  Tip: If you omit n, SAS uses all of the characters in characters-to-replace to replace the values of expression.\\n\\n[']characters-to-replace[']\\n  specifies an expression which evaluates to a character string that replaces the contents of expression.\\n  Restriction: characters-to-replace is optional, but you cannot omit both characters-to-replace and n from the function.\\n  Data type: NCHAR\\n  Tip: Enclose a literal string of characters in quotation marks.\"}},{\"Name\":\"KUPDATES\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Inserts, deletes, and replaces the contents of the character value according to the byte position of the \\ncharacter value in the argument. \\n\\nReturned data type: NCHAR\\nSyntax:\\nKUPDATES([']expression['], position, n [, [']characters-to-replace[']] ) \\nKUPDATES([']expression['], position [, n], [']characters-to-replace['])\\n\\nArguments:\\n[']expression[']\\n  specifies any valid expression that evaluates to a character string.\\n  Data type: NCHAR\\n  Tip: Enclose a literal string of characters in quotation marks. \\nposition\\n  specifies a numeric expression that is the beginning character position in bytes.\\n  Data type: INTEGER\\nn\\n  specifies the length of the substring to be replaced in bytes.\\n  Restrictions: n cannot be larger than the length (in bytes) of the expression that remains in expression after position.\\n  n is optional, but you cannot omit both n and characters-to-replace from the function.\\n  Data type: INTEGER\\n  Tip: If you omit n, SAS uses all of the characters in characters-to-replace to replace the values of expression.\\n\\n[']characters-to-replace[']\\n  specifies an expression which evaluates to a character string that replaces the contents of expression.\\n  Restriction: characters-to-replace is optional, but you cannot omit both characters-to-replace and n from the function.\\n  Data type: NCHAR\\n  Tip: Enclose a literal string of characters in quotation marks.\"}},{\"Name\":\"UUIDGEN\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the short form of a Universal Unique Identifier (UUID).\\n\\nReturned data type: CHAR \\n\\nSyntax: UUIDGEN( )\\n\\nWithout Arguments\\n  The UUIDGEN function has no arguments.\"}}],\"#comment\":{}}}"
  },
  {
    "path": "server/data/DS2Keywords.json",
    "content": "{\"Keywords\":{\"Keyword\":[{\"Name\":\"ALTER=\",\"Help\":{\"#cdata\":\"Syntax: ALTER=alter-password \\n    \\nSyntax Description:\\nalter-password \\n  must be a valid SAS name.\\n \\nDetails \\nThe ALTER= option applies only to a SAS data set. You can use this option to assign \\na password or to access a read-protected, write-protected, or alter-protected file. \\nWhen you replace a data set that is protected with an ALTER password, the new data \\nset inherits the ALTER password. \\n\\nThe password is blotted out when the code is written in the SAS log. For example: \\n\\n  set a(alter=XXXXXXX);\\n\\nNote: A SAS password does not control access to a SAS file beyond the SAS system. \\nYou should use the operating system-supplied utilities and file-system security \\ncontrols in order to control access to SAS files outside of SAS.\"},\"Type\":\"TABLE_OPTION\"},{\"Name\":\"BUFNO=\",\"Help\":{\"#cdata\":\"Specifies the number of buffers to be allocated for processing a SAS data set. \\n    \\nSyntax: BUFNO= n | nK | hexX | MIN | MAX  \\n\\nSyntax Description:\\n\\nn | nK \\n  specifies the number of buffers in multiples of 1 (bytes); 1,024 (kilobytes). For example, \\n  a value of 8 specifies 8 buffers, and a value of 1k specifies 1024 buffers.\\n\\nhex \\n  specifies the number of buffers as a hexadecimal value. You must specify the value beginning \\n  with a number (0-9), followed by an X. For example, the value 2dx sets the number of buffers \\n  to 45 buffers.\\n\\nMIN \\n  sets the minimum number of buffers to 0, which causes SAS to use the minimum optimal value \\n  for the operating environment. This is the default.\\n\\nMAX \\n  sets the number of buffers to the maximum possible number in your operating environment, \\n  up to the largest four-byte, signed integer, which is 2\\u00b3\\u00b9-1, or approximately 2 billion.\"},\"Type\":\"TABLE_OPTION\",\"Values\":{\"@Value1\":\"n\",\"@Value2\":\"nK\",\"@Value3\":\"hexX\",\"@Value4\":\"MIN\",\"@Value5\":\"MAX\"},\"ToolTips\":{\"@ToolTip1\":\"Specifies the number of buffers in multiples of 1 (bytes).  Replace n with an integer value.\",\"@ToolTip2\":\"Specifies the number of buffers in multiples of 1,024 (kilobytes).  Replace n with an integer value.\",\"@ToolTip3\":\"Specifies the number of buffers as a hexadecimal value.  Replace hex with an actual hexadecimal value.\",\"@ToolTip4\":\"Sets the minimum number of buffers to 0, which causes SAS to use the minimum optimal value  for the operating environment. This is the default.\",\"@ToolTip5\":\"Sets the number of buffers to the maximum possible number in your operating environment,  up to the largest four-byte, signed integer, which is 2\\u00b3\\u00b9-1, or approximately 2 billion.\"}},{\"Name\":\"BUFSIZE=\",\"Help\":{\"#cdata\":\"Specifies the size of a permanent buffer page for an output SAS data set. \\n    \\nSyntax: BUFSIZE= n | nK | nM | nG | hexX | MAX  \\n\\nSyntax Description:\\n\\nn | nK | nM | nG \\nspecifies the page size in multiples of 1 (bytes); 1,024 (kilobytes); 1,048,576 (megabytes); \\nor 1,073,741,824 (gigabytes). For example, a value of 8 specifies a page size of 8 bytes, and \\na value of 4k specifies a page size of 4096 bytes. \\n\\nhexX \\nspecifies the page size as a hexadecimal value. You must specify the value beginning with a \\nnumber (0-9), followed by an X. For example, the value 2dx sets the page size to 45 bytes.\\n\\nMAX \\nsets the page size to the maximum possible number in your operating environment, up to the \\nlargest four-byte, signed integer, which is 231-1, or approximately 2 billion bytes.\"},\"Type\":\"TABLE_OPTION\",\"Values\":{\"@Value1\":\"n\",\"@Value2\":\"nK\",\"@Value3\":\"nM\",\"@Value4\":\"nG\",\"@Value5\":\"hexX\",\"@Value6\":\"MAX\"},\"ToolTips\":{\"@ToolTip1\":\"Specifies the page size in multiples of 1 (bytes).  Replace n with an integer value.\",\"@ToolTip2\":\"Specifies the page size in multiples of 1,024 (kilobytes).  Replace n with an integer value.\",\"@ToolTip3\":\"Specifies the page size in multiples of 1,048,576 (megabytes).  Replace n with an integer value.\",\"@ToolTip4\":\"Specifies the page size in multiples of 1,073,741,824 (gigabytes).  Replace n with an integer value.\",\"@ToolTip5\":\"Specifies the page size as a hexadecimal value.  Replace hex with an actual hexadecimal value.\",\"@ToolTip6\":\"Sets the page size to the maximum possible number in your operating environment,  up to the largest four-byte, signed integer, which is 2\\u00b3\\u00b9-1, or approximately 2 billion bytes.\"}},{\"Name\":\"BULKLOAD=\",\"Help\":{\"#cdata\":\"Loads rows of data as one unit. Default value: NO  \\n    \\nSyntax: BULKLOAD=YES | NO  \\n\\nSyntax Description:\\n\\nYES \\ncalls a DBMS-specific bulk load facility in order to insert or append rows to a DBMS table.\\n\\nNO \\nuses the dynamic SAS/ACCESS engine to insert or append data to a DBMS table.\"},\"Type\":\"TABLE_OPTION\",\"Values\":{\"@Value1\":\"YES\",\"@Value2\":\"NO\"},\"ToolTips\":{\"@ToolTip1\":\"Calls a DBMS-specific bulk load facility in order to insert or append rows to a DBMS table.\",\"@ToolTip2\":\"Uses the dynamic SAS/ACCESS engine to insert or append data to a DBMS table.\"}},{\"Name\":\"COMPRESS=\",\"Help\":{\"#cdata\":\"\\n    \\nSyntax: COMPRESS=NO | YES | CHAR | BINARY  \\n\\nSyntax Description:\\nNO \\nspecifies that the observations in a newly created SAS data set are uncompressed (fixed-length records).\\n\\nYES | CHAR \\nspecifies that the observations in a newly created SAS data set are compressed (variable-length records) \\nby SAS using RLE (Run Length Encoding). RLE compresses observations by reducing repeated consecutive \\ncharacters (including blanks) to two-byte or three-byte representations. \\n\\n  Alias: ON \\n  Tip: Use this compression algorithm for character data. \\n  Note:   COMPRESS=CHAR is accepted by Version 7 and later versions.  \\n\\nBINARY \\n  specifies that the observations in a newly created SAS data set are compressed (variable-length records) \\n  by SAS using RDC (Ross Data Compression). RDC combines run-length encoding and sliding-window compression \\n  to compress the file.\\n\\n  Tip: This method is highly effective for compressing medium to large (several hundred bytes or larger) \\n  blocks of binary data (numeric variables). Because the compression function operates on a single record \\n  at a time, the record length needs to be several hundred bytes or larger for effective compression.\"},\"Type\":\"TABLE_OPTION\",\"Values\":{\"@Value1\":\"NO\",\"@Value2\":\"YES|ON\",\"@Value3\":\"CHAR\",\"@Value4\":\"BINARY\"},\"ToolTips\":{\"@ToolTip1\":\"Specifies that the observations in a newly created SAS data set are uncompressed  (fixed-length records).\",\"@ToolTip2\":\"Specifies that the observations in a newly created SAS data set are compressed  (variable-length records) by SAS using RLE (Run Length Encoding). RLE compresses  observations by reducing repeated consecutive characters (including blanks) to  two-byte or three-byte representations.\",\"@ToolTip3\":\"Specifies that the observations in a newly created SAS data set are compressed  (variable-length records) by SAS using RLE (Run Length Encoding). RLE compresses  observations by reducing repeated consecutive characters (including blanks) to  two-byte or three-byte representations.   COMPRESS=CHAR is accepted by Version 7 and later versions.\",\"@ToolTip4\":\"Specifies that the observations in a newly created SAS data set are compressed  (variable-length records) by SAS using RDC (Ross Data Compression). RDC combines  run-length encoding and sliding-window compression to compress the file.\"}},{\"Name\":\"DBCREATE_TABLE_OPTS=\",\"Help\":{\"#cdata\":\"Syntax: DBCREATE_TABLE_OPTS= 'DBMS-option(s)' \\n\\nSpecifies DBMS-specific options to be added to the DATA statement.\\n\\nArguments:\\nDBMS-option(s)\\n  specifies one or more valid DBMS-specific options. If more than one option is specified, \\n  the options should be separated in the same way as options are separated in the DBMS.\"},\"Type\":\"TABLE_OPTION\"},{\"Name\":\"DBKEY=\",\"Help\":{\"#cdata\":\"Specifies a key column to optimize DBMS retrieval. Can improve performance when you \\nare processing a join that involves a large DBMS table and a small SAS data set \\nor DBMS table.\\n    \\nSyntax: DBKEY=([ ' ] column [ ' ] [... [ ' ] column [ ' ] ])  \\n\\nSyntax Description: \\n\\ncolumn \\n  used by SAS to build an internal WHERE clause to search for matches in the DBMS table \\n  based on the key column. For example:\\n\\n    select * from sas.a, dbms.b(dbkey=x) where a.x=b.x;\\n    \\nIn this example, DBKEY= specifies column x , which matches the key column designated in \\nthe WHERE clause. However, if the DBKEY= column does NOT match the key column in the \\nWHERE clause, then DBKEY= is not used.\"},\"Type\":\"TABLE_OPTION\"},{\"Name\":\"DBNULL=\",\"Help\":{\"#cdata\":\"Indicates whether NULL is a valid value for the specified columns when a table is created. \\n    \\nSyntax: DBNULL={ _ALL=YES | NO } | ( [column=YES | NO [ ... column=YES | NO ] ] )  \\n\\nSyntax Description: \\n_ALL_ \\n  specifies that the YES or NO applies to all columns in the table. (This is valid in \\n  the interfaces to Informix, Oracle, Sybase, and Teradata only.)\\n\\nYES \\n  specifies that the NULL value is valid for the specified columns in the DBMS table.\\n\\nNO \\n  specifies that the NULL value is not valid for the specified columns in the DBMS table.\\n\\ncolumn \\n  specifies the name of a column. \\n\\nDetails: \\nThis option is valid only for creating DBMS tables. If you specify more than one column name, \\nthe names must be separated with spaces.\\n\\nThe DBNULL= option processes values from left to right, so if you specify a column name twice, \\nor if you use the _ALL_ value, the last value overrides the first value that is specified for \\nthe column.\"},\"Type\":\"TABLE_OPTION\",\"SubOptionsKeywords\":\"_ALL_\"},{\"Name\":\"DROP=\",\"Help\":{\"#cdata\":\"For an input table, excludes the specified columns from processing; for an output table, excludes the specified columns from being written to the table.\\n    \\nSyntax: DROP= ( column-list );  \\n\\nArguments: \\ncolumn-list \\n  specifies the names of the columns to omit from the output table.\\n\\n  Restriction: Numbered range lists in the format col1-col5 and name prefix lists in the format \\n  col: are not supported. \\n \\nDetails: \\nThe DROP= table option specifies that all columns in the column-list should not be included \\nin the creation of output rows. Normally, all columns in the program data vector are included \\nin the output rows. If the drop attribute is specified, all columns not included in the drop \\nstatement will be used to create columns in the output rows.\\n\\nIf the DROP= table option is associated with an input table, the columns are not available \\nfor processing during program execution.\"},\"Type\":\"TABLE_OPTION\"},{\"Name\":\"ENCRYPT=\",\"Help\":{\"#cdata\":\"Specifies whether to encrypt an output SAS data set. \\n    \\nSyntax: ENCRYPT=YES | NO  \\n\\nSyntax Description:\\nYES \\n  encrypts the file. The encryption method uses passwords. At a minimum, you must specify \\n  the READ= or the PW= table option at the same time that you specify ENCRYPT=YES. Because \\n  the encryption method uses passwords, you cannot change any password on an encrypted data \\n  set without re-creating the data set.\\n\\nNO \\n  does not encrypt the file.\\n\\nCAUTION:\\nRecord all passwords. \\nIf you forget the password, you cannot reset it without assistance from SAS. The process \\nis time-consuming and resource-intensive.\"},\"Type\":\"TABLE_OPTION\",\"Values\":{\"@Value1\":\"YES\",\"@Value2\":\"NO\"},\"ToolTips\":{\"@ToolTip1\":\"Encrypts the file. The encryption method uses passwords. At a minimum, you must specify  the READ= or the PW= table option at the same time that you specify ENCRYPT=YES. Because  the encryption method uses passwords, you cannot change any password on an encrypted data  set without re-creating the data set.\",\"@ToolTip2\":\"Does not encrypt the file.\"}},{\"Name\":\"ENCRYPTKEY=\",\"Help\":{\"#cdata\":\"Syntax: ENCRYPTKEY=[\\\" | ']key-value[\\\" | '] \\n\\nSpecifies a key value for AES encryption.\\n\\nArguments:\\nkey-value\\n  assigns an encrypt key value. The key value can be up to 64-bytes long. You are able to create \\n  an ENCRYPTKEY= key value with or without quotation marks using the following rules:\\n  \\n  no quotation marks\\n    \\u2022alphanumeric characters and underscores only\\n    \\u2022up to 64-bytes\\n    \\u2022uppercase and lowercase letters\\n    \\u2022must start with a letter\\n    \\u2022no blank spaces\\n    \\u2022is not case-sensitive\\n\\n  single quotation marks\\n    \\u2022alphanumeric, special, and DBCS characters\\n    \\u2022up to 64-bytes\\n    \\u2022uppercase and lowercase letters\\n    \\u2022blank spaces, but not all blanks\\n    \\u2022is case-sensitive\\n    \\n  double quotation marks\\n    \\u2022alphanumeric, special, and DBCS characters\\n    \\u2022up to 64 bytes\\n    \\u2022uppercase and lowercase letters\\n    \\u2022enables macro resolution\\n    \\u2022blank spaces, but not all blanks\\n    \\u2022is case-sensitive\"},\"Type\":\"TABLE_OPTION\"},{\"Name\":\"IN=\",\"Help\":{\"#cdata\":\"Syntax: IN=variable \\n    \\nArguments:\\nvariable\\n  names the new variable whose value indicates whether that input table contributed data to the \\n  current row. Within a DS2 program, the value of the variable is 1 if the table contributed to \\n  the current row, and 0 otherwise.\\n\\nInteraction:\\n  If the variable is not explicitly declared, it is automatically declared in the local scope \\n  of the SET or DATA statement as INTEGER.\\nData type: BIGINT, INTEGER, SMALLINT, TINYINT\"},\"Type\":\"TABLE_OPTION\"},{\"Name\":\"KEEP=\",\"Help\":{\"#cdata\":\"For an input table, specifies the columns to process; for an output table, specifies \\nthe columns to write to the table. \\n    \\nSyntax: KEEP=( column-list );  \\n\\nArguments:\\n\\ncolumn-list \\n  specifies the names of the columns to keep in the output table.\\n\\n  Restriction: Numbered range lists in the format col1-col5 and name prefix lists in the \\n  format col: are not supported. \\n  \\nDetails: \\nThe KEEP= table option specifies that all columns in the column-list should be included in \\nthe creation of output rows. Normally, all columns in the program data vector are included \\nin the output rows. If the keep attribute is specified, all columns not included in the KEEP \\nstatement will be dropped from the output rows.\\n\\nIf the KEEP= table option is associated with an input table, only the columns that are \\nspecified by the KEEP= table option are available for processing during program execution.\"},\"Type\":\"TABLE_OPTION\"},{\"Name\":\"LABEL=\",\"Help\":{\"#cdata\":\" \\n    \\nSyntax: LABEL='label'  \\n\\nSyntax Description: \\n\\n'label' \\n  specifies a text string of up to 256 characters. If the label text contains single \\n  quotation marks, use double quotation marks around the label, or use two single \\n  quotation marks in the label text and surround the string with single quotation \\n  marks. To remove a label from a table, assign a label that is equal to a blank \\n  that is enclosed in quotation marks.\\n \\nDetails: \\nYou can use the LABEL= option on both input and output tables. When you use LABEL= \\non input tables, it assigns a label for the table for the duration of the TSPL program. \\nWhen it is specified for an output table, the label becomes a permanent part of that \\ntable.\"},\"Type\":\"TABLE_OPTION\"},{\"Name\":\"LOCKTABLE=\",\"Help\":{\"#cdata\":\"Places shared or exclusive locks on tables. \\n    \\nSyntax: LOCKTABLE=SHARE | EXCLUSIVE  \\n\\nSyntax Description:\\n\\nSHARE \\n  locks a table in shared mode, allowing other users or processes to read data from the \\n  tables, but preventing users from updating data.\\n\\nEXCLUSIVE \\n  locks a table exclusively, preventing other users from accessing any table that you open. \\n\\nDetails: \\nYou can lock tables only if you are the owner or have been granted the necessary privilege. \\n\\nIf you access the BASE table driver through PROC TSPL, the default value for the LOCKTABLE \\noption is EXCLUSIVE. However, if you access the BASE table driver through a table server, \\nor if you run your program locally with the SAS Table Server LIBNAME engine, the default \\nvalue for the LOCKTABLE option is SHARE.\"},\"Type\":\"TABLE_OPTION\",\"Values\":{\"@Value1\":\"SHARE\",\"@Value2\":\"EXCLUSIVE\"},\"ToolTips\":{\"@ToolTip1\":\"Locks a table in shared mode, allowing other users or processes to read data from  the tables, but preventing users from updating data.\",\"@ToolTip2\":\"Locks a table exclusively, preventing other users from accessing any table that you open.\"}},{\"Name\":\"OVERWRITE=\",\"Help\":{\"#cdata\":\"For a table, drops the output table before the replacement output table is populated \\nwith rows; for packages and threads, drops the existing package or thread if a package \\nor thread by the same name exists. \\n    \\nSyntax: OVERWRITE= YES | NO;  \\n\\nArguments: \\n\\nYES | NO \\n  specifies whether the output table is deleted before a replacement output table \\n  is created or whether a package or thread is dropped.\\n\\n  Default: NO \\n\\nCAUTION:\\nFor tables, use the OVERWRITE=YES statement only with data that is backed up or \\nwith data that you can reconstruct. Because the output table is deleted first, \\ndata will be lost if a failure occurs while the output table is being written.\"},\"Type\":\"TABLE_OPTION\",\"Values\":{\"@Value1\":\"YES\",\"@Value2\":\"NO\"},\"ToolTips\":{\"@ToolTip1\":\"Specifies that the output table is deleted before a replacement output table    is created or a package or thread is dropped.\",\"@ToolTip2\":\"Specifies that the output table is not deleted before a replacement output table    is created or a package or thread is dropped.\"}},{\"Name\":\"PW=\",\"Help\":{\"#cdata\":\"Assigns a READ, WRITE, and ALTER password to a SAS file, and enables access to a password-protected SAS file. \\n    \\nSyntax: PW=password  \\n\\nSyntax Description:\\npassword \\n  must be a valid SAS name.\\n\\nDetails:\\nThe PW= option applies to all types of SAS files. You can use this option to assign \\na password to a SAS file or to access a password-protected SAS file.\\n\\nWhen replacing a SAS data set that is protected by an ALTER password, the new data \\nset inherits the ALTER password. When the code is written to the SAS log the password \\nis blotted out, for example: \\n\\n  drop thread job2 (pw=xxxxxxx);\\n\\nNote:   A SAS password does not control access to a SAS file beyond the SAS system. \\nYou should use the operating system-supplied utilities and file-system security \\ncontrols in order to control access to SAS files outside of SAS.\"},\"Type\":\"TABLE_OPTION\"},{\"Name\":\"READ=\",\"Help\":{\"#cdata\":\"\\n    \\nSyntax: READ=read-password  \\n\\nSyntax Description: \\nread-password \\n  must be a valid SAS name. \\n \\nDetails: \\nThe READ= option applies to all types of SAS files except catalogs. You can use this \\noption to assign a password to a SAS file or to access a read-protected SAS file. When \\nthe code is written to the SAS log, the password is blotted out, for example: \\n\\n  declare package sales (read=XXXXXXX);\\n\\nNote: A SAS password does not control access to a SAS file beyond the SAS system. You  \\nshould use the operating system-supplied utilities and file-system security controls \\nin order to control access to SAS files outside of SAS.\"},\"Type\":\"TABLE_OPTION\"},{\"Name\":\"RENAME=\",\"Help\":{\"#cdata\":\"\\n    \\nSyntax: RENAME= (old-name { = | AS } new-name [... old-name { = | AS } new-name ] ) ;  \\n\\nArguments: \\nold-name \\n  the column you want to rename.\\n\\nnew-name \\n  the new name of the column. It must be a valid name for the data source.\\n \\nDetails: \\nThe RENAME= table option allows you to change the names of one or more columns.\\n\\nIf you use RENAME= when you create a table, the new column name is included in the output \\ntable. If you use RENAME= on an input table, the new name is used in TSPL programming statements.\\n\\nIf you use RENAME= in the same TSPL program with either the DROP= or the KEEP= table option, \\nthe DROP= and the KEEP= table options are applied before RENAME=. You must use the old name in \\nthe DROP= and KEEP= table options. You cannot drop and rename the same column in the same statement.\\n\\nIn addition to changing the name of a column, RENAME= also changes the label for the column.\"},\"Type\":\"TABLE_OPTION\",\"SubOptionsKeywords\":\"AS\"},{\"Name\":\"TYPE=\",\"Help\":{\"#cdata\":\"Specifies the data set type for a specially structured SAS data set. \\n    \\nSyntax: TYPE=data-set-type  \\n\\nSyntax Description: \\ndata-set-type \\n  specifies the special type of the data set.\\n\\nDetails: \\nUse the TYPE= table option in a DATA step to create a special SAS data set in the proper \\nformat, or to identify the special type of the SAS data set in a procedure statement. \\n\\nYou can use the CONTENTS procedure to determine the type of a data set.\"},\"Type\":\"TABLE_OPTION\"},{\"Name\":\"WRITE=\",\"Help\":{\"#cdata\":\"Assigns a WRITE password to a SAS file that prevents users from writing to a file, \\nunless they enter the password. \\n    \\nSyntax: WRITE=write-password  \\n\\nSyntax Description: \\nwrite-password \\n  must be a valid SAS name. \\n \\nDetails: \\nThe WRITE= option applies to all types of SAS files except catalogs. You can use this \\noption to assign a password to a SAS file or to access a write-protected SAS file. When \\nthe code is written to the SAS log, the password is blotted out, for example: \\n\\n  drop thread job2a (write=XXXXXXX);\\n\\nNote: A SAS password does not control access to a SAS file beyond the SAS system. You \\nshould use the operating system-supplied utilities and file-system security controls \\nin order to control access to SAS files outside of SAS.\"},\"Type\":\"TABLE_OPTION\"}],\"#comment\":{}}}"
  },
  {
    "path": "server/data/HashPackageMethods.json",
    "content": "{\"Keywords\":{\"Keyword\":[{\"Name\":\"ADD\",\"Type\":\"HASH_PACKAGE\",\"Help\":{\"#cdata\":\"Adds the specified data that is associated with the given key to the hash package.\\n    \\nSyntax: rc = package.ADD();  \\n\\nArguments: \\nrc \\n  specifies whether the method succeeded or failed.\\n\\n  A return code of zero indicates success; a non-zero value indicates failure. If you do \\n  not supply a return code variable for the method call and the method fails, then an \\n  appropriate error message is written to the log.\\n\\npackage \\n  specifies the name of the hash package.\"}},{\"Name\":\"CHECK\",\"Type\":\"HASH_PACKAGE\",\"Help\":{\"#cdata\":\"Checks whether the specified key is stored in the hash package. \\n    \\nSyntax: rc = package.CHECK();  \\n \\nArguments: \\nrc \\n  specifies whether the method succeeded or failed.\\n\\n  A return code of zero indicates success; a non-zero value indicates failure. If you \\n  do not supply a return code variable for the method call and the method fails, then \\n  an appropriate error message is written to the log.\\n\\npackage \\n  specifies the name of the hash package.\\n \\nDetails: \\nYou use the CHECK method to determine whether a key exists in the hash table but \\nthe data variable is not updated. The CHECK method returns a zero value if the key \\nis found in the hash table and a non-zero value if the key is not found.\"}},{\"Name\":\"CLEAR\",\"Type\":\"HASH_PACKAGE\",\"Help\":{\"#cdata\":\"Removes all items from a hash package without deleting the hash package instance. \\n    \\nSyntax: rc = package.CLEAR();  \\n \\nArguments: \\nrc \\n  specifies whether the method succeeded or failed.\\n\\n  A return code of zero indicates success; a non-zero value indicates failure. If you \\n  do not supply a return code variable for the method call and the method fails, then \\n  an appropriate error message is written to the log.\\n\\npackage \\n  specifies the name of the hash package.\\n \\nDetails:\\nThe CLEAR method removes the items from within the hash package but leaves the hash \\npackage instance so that it can be re-used. To remove a hash package completely, use \\nthe DELETE method.\\n\\nTo clear all items from the hash package MyHash, use the following code: \\n\\n  rc = myhash.clear();\"}},{\"Name\":\"defineData\",\"Type\":\"HASH_PACKAGE\",\"Help\":{\"#cdata\":\"Defines data, associated with the specified data variables, to be stored in the hash package. \\n    \\nSyntax: rc = package.DEFINEDATA('datavarname');  \\n \\nArguments: \\nrc \\n  specifies whether the method succeeded or failed. \\n  A return code of zero indicates success; a non-zero value indicates failure. If you \\n  do not supply a return code variable for the method call and the method fails, then \\n  an appropriate error message is written to the log.\\npackage \\n  specifies the name of the hash package.\\n'datavarname' \\n  specifies the name of the data variable.\\n \\nDetails: \\nThe hash package works by storing and retrieving data based on unique lookup keys. The keys \\nand data are variables, which you use to initialize the hash package by using dot notation \\nmethod calls. You define a key by passing the key variable name to the DEFINEKEY method. You \\ndefine data by passing the data variable name to the DEFINEDATA method. You call the DEFINEDATA \\nmethod for each data variable you create. When you have defined all key and data variables, \\nyou must call the DEFINEDONE method to complete initialization of the hash package. Keys and \\ndata consist of any number of character or numeric variables.\"}},{\"Name\":\"defineDone\",\"Type\":\"HASH_PACKAGE\",\"Help\":{\"#cdata\":\"Indicates that all key and data definitions are complete. \\n    \\nSyntax: rc = package.DEFINEDONE( );  \\n \\nArguments: \\nrc \\n  specifies whether the method succeeded or failed.\\n\\n  A return code of zero indicates success; a non-zero value indicates failure. If you do \\n  not supply a return code variable for the method call and the method fails, then an \\n  appropriate error message is written to the log.\\n\\npackage \\n  specifies the name of the hash package.\\n \\nDetails: \\nThe hash package works by storing and retrieving data based on unique lookup keys. The keys \\nand data are variables, which you use to initialize the hash package by using dot notation \\nmethod calls. You define a key by passing the key variable name to the DEFINEKEY method. You \\ndefine data by passing the data variable name to the DEFINEDATA method. When you have defined \\nall key and data variables, you must call the DEFINEDONE method to complete initialization of \\nthe hash package. Keys and data consist of any number of character or numeric variables.\"}},{\"Name\":\"defineKey\",\"Type\":\"HASH_PACKAGE\",\"Help\":{\"#cdata\":\"Defines key variables for the hash package. \\n    \\nSyntax: rc = package.DEFINEKEY('keyvarname');  \\n \\nArguments: \\nrc \\n  specifies whether the method succeeded or failed.\\n\\n  A return code of zero indicates success; a non-zero value indicates failure. If you do \\n  not supply a return code variable for the method call and the method fails, then an \\n  appropriate error message is written to the log.\\n\\npackage \\n  specifies the name of the hash package.\\n\\n'keyvarname' \\n  specifies the name of the key variable. \\n  The key variable name can also be enclosed in double quotation marks.\\n \\nDetails: \\nThe hash package works by storing and retrieving data based on unique lookup keys. The keys \\nand data are variables, which you use to initialize the hash package by using dot notation \\nmethod calls. You define a key by passing the key variable name to the DEFINEKEY method. \\nYou call the DEFINEKEY method for each key variable you create. You define data by passing \\nthe data variable name to the DEFINEDATA method. When you have defined all key and data \\nvariables, you must call the DEFINEDONE method to complete initialization of the hash \\npackage. Keys and data consist of any number of character or numeric variables.\"}},{\"Name\":\"DELETE\",\"Type\":\"HASHORHITER_PACKAGE\",\"Help\":{\"#cdata\":\"Deletes the hash or hash iterator package. \\n    \\nSyntax: rc = package.DELETE( );  \\n \\nArguments: \\nrc \\n  specifies whether the method succeeded or failed.\\n\\n  A return code of zero indicates success; a non-zero value indicates failure. If you do \\n  not supply a return code variable for the method call and the method fails, then an \\n  appropriate error message is written to the log.\\n\\npackage \\n  specifies the name of the hash or hash iterator package.\\n \\nDetails: \\nWhen you no longer need the hash or hash iterator package, delete it by using the DELETE \\nmethod. If you attempt to use a hash or hash iterator package after you delete it, an error \\nwill be written to the log. If you want to delete all the items from within a hash package \\nand save the hash package to use again, use the CLEAR method.\"}},{\"Name\":\"FIND\",\"Type\":\"HASH_PACKAGE\",\"Help\":{\"#cdata\":\"Determines whether the specified key is stored in the hash package. \\n    \\nSyntax: rc = package.FIND();  \\n \\nArguments: \\nrc \\n  specifies whether the method succeeded or failed.\\n\\n  A return code of zero indicates success; a non-zero value indicates failure. If you \\n  do not supply a return code variable for the method call and the method fails, then \\n  an appropriate error message is written to the log.\\n\\npackage \\n  specifies the name of the hash package.\\n \\nDetails: \\nYou use the key variable values to determine whether a key exists in the hash table. \\nIf the key exists, the data values are copied into the data variables. The FIND method \\nreturns a zero value if the key is found in the hash table and a non-zero value if the \\nkey is not found.\"}},{\"Name\":\"FIRST\",\"Type\":\"HASHITERATOR_PACKAGE\",\"Help\":{\"#cdata\":\"Returns the first value in the underlying hash package. \\n    \\nSyntax: rc = package.FIRST( );  \\n\\nArguments: \\nrc \\n  specifies whether the method succeeded or failed. \\n  A return code of zero indicates success; a non-zero value indicates failure. If you do \\n  not supply a return code variable for the method call and the method fails, then an \\n  appropriate error message will be written to the log.\\n\\npackage \\n  specifies the name of the hash iterator package.\\n \\nDetails: \\nThe FIRST method returns the first data item in the hash package. If you use the ordered: 'yes' \\nor ordered: 'ascending' parameter in the DECLARE PACKAGE statement or the _NEW_ operator when \\nyou instantiate the hash package, then the data item that is returned is the one with the 'least' \\nkey (smallest numeric value or first alphabetic character), because the data items are sorted in \\nascending key-value order in the hash package. Repeated calls to the NEXT method will iteratively \\ntraverse the hash package and return the data items in ascending key order. Conversely, if you \\nuse the ordered: 'descending' parameter in the DECLARE PACKAGE statement or the _NEW_ operator \\nwhen you instantiate the hash package, then the data item that is returned is the one with the \\n'highest' key (largest numeric value or last alphabetic character), because the data items are \\nsorted in descending key-value order in the hash package. Repeated calls to the NEXT method will \\niteratively traverse the hash package and return the data items in descending key order.\\n\\nUse the LAST method to return the last data item in the hash package. \\nNote: The FIRST method sets the data variable to the value of the data item so that it is \\navailable for use after the method call.\"}},{\"Name\":\"ITEM_SIZE\",\"Type\":\"HASH_PACKAGE\",\"Help\":{\"#cdata\":\"Returns the size (in bytes) for an item in a hash package. \\n    \\nSyntax: variable-name=package.ITEM_SIZE;  \\n\\nArguments: \\nvariable-name \\n  specifies the name of the variable that contains the size of the item in the hash \\n  package after the method is complete.\\n\\npackage \\n  specifies the name of the hash package.\\n \\nDetails: \\nThe ITEM_SIZE attribute returns the size (in bytes) of an item, which includes the key \\nand data variables and some internal information. You can set an estimate of how much \\nmemory the hash package is using with the ITEM_SIZE and NUM_ITEMS attributes. The \\nITEM_SIZE attribute does not reflect the initial overhead that the hash package \\nrequires, nor does it take into account any necessary internal alignments. Therefore, \\nthe use of ITEM_SIZE does not provide exact memory usage, but it does return a good \\napproximation.\"}},{\"Name\":\"LAST\",\"Type\":\"HASHITERATOR_PACKAGE\",\"Help\":{\"#cdata\":\"Returns the last value in the underlying hash package. \\n    \\nSyntax: rc = package.LAST();  \\n \\nArguments: \\nrc \\n  specifies whether the method succeeded or failed.\\n  A return code of zero indicates success; a non-zero value indicates failure. If you do \\n  not supply a return code variable for the method call and the method fails, then an \\n  appropriate error message is written to the log.\\n\\npackage \\n  specifies the name of the hash iterator package.\\n \\nDetails: \\nThe LAST method returns the last data item in the hash package. If you use the ordered: \\n'yes' or ordered: 'ascending' parameter in the DECLARE PACKAGE statement or the _NEW_ \\noperator when you instantiate the hash package, then the data item that is returned is \\nthe one with the 'highest' key (largest numeric value or last alphabetic character), \\nbecause the data items are sorted in ascending key-value order in the hash package. \\nConversely, if you use the ordered: 'descending' parameter in the DECLARE PACKAGE \\nstatement or the _NEW_ operator when you instantiate the hash package, then the data \\nitem that is returned is the one with the 'least' key (smallest numeric value or \\nfirst alphabetic character), because the data items are sorted in descending key-value \\norder in the hash package.\\n\\nUse the FIRST method to return the first data item in the hash package.\"}},{\"Name\":\"NEXT\",\"Type\":\"HASHITERATOR_PACKAGE\",\"Help\":{\"#cdata\":\"Returns the next value in the underlying hash package. \\n    \\nSyntax: rc = package.NEXT();  \\n \\nArguments: \\nrc \\n  specifies whether the method succeeded or failed.\\n\\n  A return code of zero indicates success; a non-zero value indicates failure. If you \\n  do not supply a return code variable for the method call and the method fails, then \\n  an appropriate error message is written to the log.\\n\\npackage \\n  specifies the name of the hash iterator package.\\n \\nDetails: \\nUse the NEXT method iteratively to traverse the hash package and return the data items \\nin key order. The FIRST method returns the first data item in the hash package. You can \\nuse the PREV method to return the previous data item in the hash package.\"}},{\"Name\":\"NUM_ITEMS\",\"Type\":\"HASH_PACKAGE\",\"Help\":{\"#cdata\":\"Returns the number of items in the hash package. \\n    \\nSyntax: variable-name=package.NUM_ITEMS;  \\n \\nArguments: \\nvariable-name \\n  specifies the number of items in the hash package after the method is complete.\\n\\npackage \\n  specifies the name of the hash package.\\n\\nDetails: \\nThe NUM_ITEMS attribute returns the number of key/data pairs stored in the hash table.\"}},{\"Name\":\"OUTPUT\",\"Type\":\"HASH_PACKAGE\",\"Help\":{\"#cdata\":\"Creates a table that contains the data in the hash package. \\n    \\nSyntax: rc = package.OUTPUT ( 'datasource' );  \\n \\nArguments: \\nrc \\n  specifies whether the method succeeded or failed.\\n\\n  A return code of zero indicates success; a non-zero value indicates failure. \\n  If you do not supply a return code variable for the method call and the method \\n  fails, then an appropriate error message is written to the log.\\n\\npackage \\n  specifies the name of the hash iterator package.\\n\\n'datasource' \\n  specifies the name of the output table.\\n  The name of the hash table can be a literal or character variable.\\n \\nDetails: \\nHash package keys are not automatically stored as part of the output table. The keys \\nmust be defined as data items by using the DEFINEDATA method to be included in the \\noutput table.\"}},{\"Name\":\"PREV\",\"Type\":\"HASHITERATOR_PACKAGE\",\"Help\":{\"#cdata\":\"Returns the previous value in the underlying hash package. \\n    \\nSyntax \\nrc = package.PREV( );  \\n\\nArguments: \\nrc \\n  specifies whether the method succeeded or failed.\\n\\n  A return code of zero indicates success; a non-zero value indicates failure. \\n  If you do not supply a return code variable for the method call and the method \\n  fails, then an appropriate error message is written to the log.\\n\\npackage \\n  specifies the name of the hash iterator package.\\n  \\nDetails: \\nUse the PREV method iteratively to traverse the hash package and return the data \\nitems in reverse key order. The FIRST method returns the first data item in the \\nhash package. The LAST method returns the last data item in the hash package. You \\ncan use the NEXT method to return the next data item in the hash package.\"}},{\"Name\":\"REF\",\"Type\":\"HASH_PACKAGE\",\"Help\":{\"#cdata\":\"Consolidates a FIND and ADD methods into a single method call. \\n    \\nSyntax: rc = package.REF();  \\n \\nArguments: \\nrc \\n  specifies whether the method succeeded or failed.\\n\\n  A return code of zero indicates success; a non-zero value indicates failure. \\n  If you do not supply a return code variable for the method call and the method \\n  fails, then an appropriate error message is written to the log.\\n\\npackage \\n  specifies the name of the hash package.\\n \\nDetails: \\nYou can consolidate FIND and ADD methods into a single REF method.\"}},{\"Name\":\"REMOVE\",\"Type\":\"HASH_PACKAGE\",\"Help\":{\"#cdata\":\"Removes the data that is associated with the specified key from the hash package. \\n    \\nSyntax: rc = package.REMOVE();  \\n \\nArguments: \\nrc \\n  specifies whether the method succeeded or failed.\\n\\n  A return code of zero indicates success; a non-zero value indicates failure. If you \\n  do not supply a return code variable for the method call and the method fails, then \\n  an appropriate error message is written to the log.\\n\\npackage \\n  specifies the name of the hash package.\\n \\nDetails: \\nThe REMOVE method uses the values in the key variables to find and remove an existing \\nkey in a hash table.\\n\\nYou specify the key and then use the REMOVE method to remove the key and data in a \\nhash object.\"}},{\"Name\":\"REPLACE\",\"Type\":\"HASH_PACKAGE\",\"Help\":{\"#cdata\":\"Replaces the data that is associated with the specified key with new data. \\n    \\nSyntax: rc = package.REPLACE( );  \\n \\nArguments: \\nrc \\n  specifies whether the method succeeded or failed.\\n\\n  A return code of zero indicates success; a non-zero value indicates failure. If you \\n  do not supply a return code variable for the method call and the method fails, then \\n  an appropriate error message is written to the log.\\n\\npackage \\n  specifies the name of the hash package.\\n \\nDetails: \\nThe REPLACE method uses the values in the key variables to find a key/data pair in the \\nhash table. If a pair is found, the data is replaced with the current value in the data \\nvariables.\"}},{\"Name\":\"SETCUR\",\"Type\":\"HASHITERATOR_PACKAGE\",\"Help\":{\"#cdata\":\"Specifies a starting key item for iteration. \\n    \\nSyntax \\nrc=package.SETCUR( );  \\n \\nArguments: \\nrc \\n  specifies whether the method succeeded or failed.\\n\\n  A return code of zero indicates success; a non-zero value indicates failure. If you do \\n  not supply a return code variable for the method call and the method fails, an appropriate \\n  error message will be printed to the log.\\n\\npackage \\n  specifies the name of the hash iterator package.\\n \\nDetails: \\nThe hash iterator enables you to start iteration on any item in the hash package. The \\nSETCUR method sets the starting key for iteration. You use the KEY option to specify \\nthe starting item. You can use the FIRST or LAST methods to start iteration on the \\nfirst or last item, respectively.\"}}]}}"
  },
  {
    "path": "server/data/MacroDefinitionOptions.json",
    "content": "{\"Keywords\":{\"Keyword\":[{\"Name\":\"CMD\",\"Type\":\"MACRO_DEFINITION_OPTION\",\"Help\":{\"#cdata\":\"Specifies that the macro can accept either a name-style invocation or a command-style \\ninvocation.\"}},{\"Name\":\"DES=\",\"Type\":\"MACRO_DEFINITION_OPTION\",\"Help\":{\"#cdata\":\"[Syntax: DES='text'] \\n    \\nSpecifies a description (up to 40 characters) for the macro entry in the macro catalog.\"}},{\"Name\":\"PARMBUFF|PBUFF\",\"Type\":\"MACRO_DEFINITION_OPTION\",\"Help\":{\"#cdata\":\"Assigns the entire list of parameter values in a macro call, including the parentheses in \\na name-style invocation, as the value of the automatic macro variable SYSPBUFF.\"}},{\"Name\":\"STMT\",\"Type\":\"MACRO_DEFINITION_OPTION\",\"Help\":{\"#cdata\":\"Specifies that the macro can accept either a name-style invocation or a statement-style \\ninvocation.\"}},{\"Name\":\"SECURE\",\"Type\":\"MACRO_DEFINITION_OPTION\",\"Help\":{\"#cdata\":\"Causes the contents of a macro to be encrypted when stored in a stored compiled macro \\nlibrary.\"}},{\"Name\":\"NOSECURE\",\"Type\":\"MACRO_DEFINITION_OPTION\",\"Help\":{\"#cdata\":\"Specifies the contents of a macro not to be encrypted when stored in a stored compiled \\nmacro library.\"}},{\"Name\":\"SOURCE\",\"Type\":\"MACRO_DEFINITION_OPTION\",\"Help\":{\"#cdata\":\"Combines and stores the source of the compiled macro with the compiled macro code as \\nan entry in a SAS catalog in a permanent SAS data library.\"}},{\"Name\":\"STORE\",\"Type\":\"MACRO_DEFINITION_OPTION\",\"Help\":{\"#cdata\":\"Stores the compiled macro as an entry in a SAS catalog in a permanent SAS data library.\"}},{\"Name\":\"MINDELIMITER=\",\"Help\":{\"#cdata\":\"[Syntax: MINDELIMITER='single character';] \\n    \\nSpecifies a value that will override the value of the MINDELIMITER= global option. \\nThe value must be a single character enclosed in single quotation marks and can \\nappear only once in a %MACRO statement.\"},\"Type\":\"MACRO_DEFINITION_OPTION\"},{\"Name\":\"MINOPERATOR\",\"Help\":{\"#cdata\":\"Specifies that the macro processor recognizes and evaluates the mnemonic IN and the \\nspecial character # as logical operators when evaluating arithmetic or logical \\nexpressions during the execution of the macro.\"},\"Type\":\"MACRO_DEFINITION_OPTION\"},{\"Name\":\"NOMINOPERATOR\",\"Help\":{\"#cdata\":\"Specifies that the macro processor does not recognize the mnemonic IN and the special \\ncharacter # as logical operators when evaluating arithmetic or logical expressions \\nduring the execution of the macro. The setting of this argument overrides the setting \\nof the MINOPERATOR global system option.\"},\"Type\":\"MACRO_DEFINITION_OPTION\"}]}}"
  },
  {
    "path": "server/data/ODS_Tagsets.json",
    "content": "{\"Keywords\":{\"Keyword\":[{\"Name\":\"CHTML\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Produces a compact, minimal HTML that does not use style information.\"}},{\"Name\":\"CORE\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Contains a table of Unicode values and mnemonics.\"}},{\"Name\":\"CSV\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Produces tabular output that contains columns of data values that are separated by commas.\"}},{\"Name\":\"CSVALL\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Produces output that contains columns of data values that are separated by commas. ODS CSVALL \\nproduces tabular output with titles, notes, and bylines.\"}},{\"Name\":\"CVSBYLINE\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Produces output with comma-separated values and columns of data that are separated by commas.\"}},{\"Name\":\"DEFAULT\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Produces XML output.\"}},{\"Name\":\"DOCBOOK\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Produces XML output that conforms to the DocBook DTD by OASIS.\"}},{\"Name\":\"ExcelXP\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Produces Microsoft's spreadsheetML XML. This tagset is used to import data into XML.\"}},{\"Name\":\"HTML4\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Produces HTML 4.0 embedded style sheets.\"}},{\"Name\":\"HTMLCSS\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Produces HTML output with cascading style sheets that is similar to ODS HTML output.\"}},{\"Name\":\"HTMLPANEL\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Creates panels for By-grouped graphs.\"}},{\"Name\":\"HTMLSCROLL\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Enables tables to be scrollable. The scrolling is actually done with JavaScript. This tagset adds \\nthe JavaScript and necessary infrastructure to the standard HTML4 tagset.\"}},{\"Name\":\"IMODE\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Produces HTML output as a column of output that is separated by lines.\"}},{\"Name\":\"MSOFFICE2K\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Produces HTML code for output generated by ODS for Microsoft Office products.\"}},{\"Name\":\"MVSHTML\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Produces URLs within HTML files that are used in the z/OS operating environment.\"}},{\"Name\":\"PHTML\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Produces simple HTML output that uses twelve style elements and no class attributes.\"}},{\"Name\":\"PYX\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Produces PYX, which is a simple, line-oriented notation used by Pyxie to describe the information \\ncommunicated by an XML parser to an XML application.\"}},{\"Name\":\"RTF\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Opens, manages, or closes the RTF destination, which produces measured output that is written in\\nRich Text Format for use with Microsoft Word 2002.\\n    \\nSyntax:\\n(1) ODS TAGSETS.RTF <(<ID=> identifier)> action;  \\n(2) ODS TAGSETS.RTF <(<ID=> identifier)> <option(s)>;\"}},{\"Name\":\"SASREPORT\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Causes imbedded data to be produced in CSV format.\"}},{\"Name\":\"SQL\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Generates SQL statements for creation of tables in an SQL database. It's a brute-force way of getting \\na data set into your database (SAS/CONNECT or SAS/SHARE being the best way, if you have access to \\none of those products).\"}},{\"Name\":\"SUPERMAP\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"This new mapping tagset does almost everything you would want from a mapping tagset. It is all the \\nother mapping tagsets in one. Control the events to be displayed, the attributes shown, and display \\nevents only if their values match a regular expression.\"}},{\"Name\":\"TABLEEDITOR\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Creates HTML output with the same kind of functionality that you would get from Visual Basic .Net (VB.NET). \\nYou can easily export the output to Excel or other filetypes.\"}},{\"Name\":\"WML\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Uses the Wireless Application Protocol (WAP) to produce a Wireless Markup Language (WML) DTD with \\na list of URLs as a table of contents.\"}},{\"Name\":\"WMLOLIST\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Uses the Wireless Application Protocol (WAP) to produce a Wireless Markup Language (WML) DTD with \\nan option list for the table of contents.\"}},{\"Name\":\"XBRL\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Generates XBRL XML.\"}},{\"Name\":\"XHTML\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Produces output in HTML format.\"}},{\"Name\":\"EVENT_HTML\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Creates XML output that shows which events are being triggered and which variables are used by an \\nevent to send output from a SAS process to an output file.\\\"\"}},{\"Name\":\"NAMEDHTML\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Creates HTML output similar to STYLE_POPUP, but with all the objects labeled as they are when \\nusing ODS TRACE.\"}},{\"Name\":\"SHORT_MAP\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Creates a subset of the XML output that is created by the EVENT_MAP tagset.\"}},{\"Name\":\"STYLE_DISPLAY\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Creates a sample page of HTML output that is similar to STYLE_POPUP output.\"}},{\"Name\":\"STYLE_POPUP\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Creates HTML like HTMLCSS, but if you're using Internet Explorer, STYLE_POPUP displays a window \\nthat shows the resolved ODS style definition for any item that you select.\"}},{\"Name\":\"TEXT_MAP\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Creates text output that shows which events are being triggered as ODS handles the output objects.\"}},{\"Name\":\"TPL_STYLE_LIST\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Creates HTML output in a bulleted list similar to EVENT_MAP but lists only a subset of the \\npossible attributes.\"}},{\"Name\":\"TPL_STYLE_MAP\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Creates XML output similar to EVENT_MAP but lists only a subset of the possible attributes.\"}}]}}"
  },
  {
    "path": "server/data/Procedures/DATA.json",
    "content": "{\"Procedure\":{\"#comment\":{},\"Name\":\"DATA\",\"ProductGroup\":\"BASE\",\"ProcedureHelp\":{\"#cdata\":\"\"},\"ProcedureOptions\":{\"ProcedureOption\":[{\"ProcedureOptionName\":\"_NULL_\",\"ProcedureOptionHelp\":{\"#cdata\":\"Specifies that SAS does not create a data set when it executes the DATA step.\"},\"ProcedureOptionType\":\"S\"},{\"ProcedureOptionName\":\"_DATA_\",\"ProcedureOptionHelp\":{\"#cdata\":\"Special SAS dataset name. Generated SAS dataset name in WORK library.\"},\"ProcedureOptionType\":\"S\"},{\"ProcedureOptionName\":\"_LAST_\",\"ProcedureOptionHelp\":{\"#cdata\":\"Special SAS dataset name. Most recently created SAS dataset.\"},\"ProcedureOptionType\":\"S\"},{\"ProcedureOptionName\":\"VIEW=\",\"ProcedureOptionHelp\":{\"#cdata\":\"Names a view that the DATA step uses to store the input DATA step view.\"},\"ProcedureOptionType\":\"V\"},{\"ProcedureOptionName\":\"SOURCE=\",\"ProcedureOptionHelp\":{\"#cdata\":\"Specifies one of the following source options: SAVE, ENCRYPT, and NOSAVE.\"},\"ProcedureOptionType\":\"V\",\"ProcedureOptionValues\":{\"@Value1\":\"SAVE\",\"@Value2\":\"ENCRYPT\",\"@Value3\":\"NOSAVE\"},\"ProcedureOptionToolTips\":{\"@ToolTip1\":\"Saves the source code that created a stored compiled DATA step program or a DATA step view.\",\"@ToolTip2\":\"Encrypts and saves the source code that created a stored compiled DATA step program or a  DATA step view.\",\"@ToolTip3\":\"Does not save the source code.\"}},{\"ProcedureOptionName\":\"ALTER=\",\"ProcedureOptionHelp\":{\"#cdata\":\"[password-option] \\n      \\nAssigns an alter password to a SAS data file. The password allows you to protect or \\nreplace a stored compiled DATA step program or a DATA step view.\"},\"ProcedureOptionType\":\"V\"},{\"ProcedureOptionName\":\"READ=\",\"ProcedureOptionHelp\":{\"#cdata\":\"[password-option] \\n      \\nAssigns a read password to a SAS data file. The password allows you to read or \\nexecute a stored compiled DATA step program or a DATA step view.\"},\"ProcedureOptionType\":\"V\"},{\"ProcedureOptionName\":\"PW=\",\"ProcedureOptionHelp\":{\"#cdata\":\"[password-option] \\n      \\nAssigns a READ and ALTER password, both having the same value.\"},\"ProcedureOptionType\":\"V\"},{\"ProcedureOptionName\":\"PGM=\",\"ProcedureOptionHelp\":{\"#cdata\":\"Names the stored compiled program that SAS creates or executes in the DATA step.\"},\"ProcedureOptionType\":\"V\"},{\"ProcedureOptionName\":\"LABEL=\",\"ProcedureOptionHelp\":{\"#cdata\":\"Specifies a label for a SAS data set.\"},\"ProcedureOptionType\":\"V\"},{\"ProcedureOptionName\":\"WHERE=\",\"ProcedureOptionHelp\":{\"#cdata\":\"Specifies specific conditions to use to select observations from a SAS data set.\"},\"ProcedureOptionType\":\"V\"},{\"ProcedureOptionName\":\"UNIQUE\",\"ProcedureOptionHelp\":{\"#cdata\":\"Specifies that the values of the key variables must be unique.\"},\"ProcedureOptionType\":\"S\"},{\"ProcedureOptionName\":\"NOMISS\",\"ProcedureOptionHelp\":{\"#cdata\":\"Specifies to exclude all observations with missing values.\"},\"ProcedureOptionType\":\"S\"},{\"ProcedureOptionName\":\"DEBUG\",\"ProcedureOptionHelp\":{\"#cdata\":\"Enables you to debug your program interactively by helping to identify logic errors, and sometimes \\ndata errors.\"},\"ProcedureOptionType\":\"S\"},{\"ProcedureOptionName\":\"NESTING\",\"ProcedureOptionHelp\":{\"#cdata\":\"Specifies that a note will be printed to the SAS log for the beginning and end of each DO-END and \\nSELECT-END nesting level. This option enables you to debug mismatched DO-END and SELECT-END statements \\nand is particularly useful in large programs where the nesting level is not obvious.\"},\"ProcedureOptionType\":\"S\"},{\"ProcedureOptionName\":\"STACK=\",\"ProcedureOptionHelp\":{\"#cdata\":\"Specifies the maximum number of nested LINK statements.\"},\"ProcedureOptionType\":\"V\"},{\"ProcedureOptionName\":\"NOLIST\",\"ProcedureOptionHelp\":{\"#cdata\":\"Suppresses the output of all variables to the SAS log when the value of _ERROR_ is 1.\"},\"ProcedureOptionType\":\"S\"},{\"ProcedureOptionName\":\"ALTER=\",\"ProcedureOptionType\":\"V\"},{\"ProcedureOptionName\":\"BUFNO=\",\"ProcedureOptionType\":\"V\",\"ProcedureOptionValues\":{\"@Value1\":\"n\",\"@Value2\":\"nK\",\"@Value3\":\"hexX\",\"@Value4\":\"MIN\",\"@Value5\":\"MAX\"}},{\"ProcedureOptionName\":\"BUFSIZE=\",\"ProcedureOptionType\":\"V\",\"ProcedureOptionValues\":{\"@Value1\":\"n\",\"@Value2\":\"nK\",\"@Value3\":\"nM\",\"@Value4\":\"nG\",\"@Value5\":\"hexX\",\"@Value6\":\"MIN\",\"@Value7\":\"MAX\"}},{\"ProcedureOptionName\":\"CNTLLEV=\",\"ProcedureOptionType\":\"V\",\"ProcedureOptionValues\":{\"@Value1\":\"LIB\",\"@Value2\":\"MEM\",\"@Value3\":\"REC\"}},{\"ProcedureOptionName\":\"COMPRESS=\",\"ProcedureOptionType\":\"V\",\"ProcedureOptionValues\":{\"@Value1\":\"NO\",\"@Value2\":\"YES\",\"@Value3\":\"CHAR\",\"@Value4\":\"BINARY\"}},{\"ProcedureOptionName\":\"DLDMGACTION=\",\"ProcedureOptionType\":\"V\",\"ProcedureOptionValues\":{\"@Value1\":\"FAIL\",\"@Value2\":\"ABORT\",\"@Value3\":\"REPAIR\",\"@Value4\":\"NOINDEX\",\"@Value5\":\"PROMPT\"}},{\"ProcedureOptionName\":\"ENCRYPT=\",\"ProcedureOptionType\":\"V\",\"ProcedureOptionValues\":{\"@Value1\":\"YES\",\"@Value2\":\"NO\"}},{\"ProcedureOptionName\":\"ENCRYPTKEY=\",\"ProcedureOptionType\":\"V\"},{\"ProcedureOptionName\":\"GENMAX=\",\"ProcedureOptionType\":\"V\"},{\"ProcedureOptionName\":\"GENNUM=\",\"ProcedureOptionType\":\"V\"},{\"ProcedureOptionName\":\"INDEX=\",\"ProcedureOptionType\":\"V\"},{\"ProcedureOptionName\":\"LABEL=\",\"ProcedureOptionType\":\"V\"},{\"ProcedureOptionName\":\"OUTREP=\",\"ProcedureOptionType\":\"V\"},{\"ProcedureOptionName\":\"PW=\",\"ProcedureOptionType\":\"V\"},{\"ProcedureOptionName\":\"PWREQ=\",\"ProcedureOptionType\":\"V\",\"ProcedureOptionValues\":{\"@Value1\":\"YES\",\"@Value2\":\"NO\"}},{\"ProcedureOptionName\":\"READ=\",\"ProcedureOptionType\":\"V\"},{\"ProcedureOptionName\":\"REPEMPTY=\",\"ProcedureOptionType\":\"V\",\"ProcedureOptionValues\":{\"@Value1\":\"YES\",\"@Value2\":\"NO\"}},{\"ProcedureOptionName\":\"REPLACE=\",\"ProcedureOptionType\":\"V\",\"ProcedureOptionValues\":{\"@Value1\":\"YES\",\"@Value2\":\"NO\"}},{\"ProcedureOptionName\":\"REUSE=\",\"ProcedureOptionType\":\"V\",\"ProcedureOptionValues\":{\"@Value1\":\"YES\",\"@Value2\":\"NO\"}},{\"ProcedureOptionName\":\"SPILL=\",\"ProcedureOptionType\":\"V\",\"ProcedureOptionValues\":{\"@Value1\":\"YES\",\"@Value2\":\"NO\"}},{\"ProcedureOptionName\":\"SORTEDBY=\",\"ProcedureOptionType\":\"V\",\"ProcedureOptionValues\":{\"@Value1\":\"by-clause < / collate-name>\",\"@Value2\":\"_NULL_\"}},{\"ProcedureOptionName\":\"TOBSNO=\",\"ProcedureOptionType\":\"V\"},{\"ProcedureOptionName\":\"TRANTAB=\",\"ProcedureOptionType\":\"V\"},{\"ProcedureOptionName\":\"TYPE=\",\"ProcedureOptionType\":\"V\"},{\"ProcedureOptionName\":\"WRITE=\",\"ProcedureOptionType\":\"V\"},{\"ProcedureOptionName\":\"FILECLOSE=\",\"ProcedureOptionType\":\"V\",\"ProcedureOptionValues\":{\"@Value1\":\"DISP\",\"@Value2\":\"LEAVE\",\"@Value3\":\"REREAD\",\"@Value4\":\"REWIND\"}},{\"ProcedureOptionName\":\"FIRSTOBS=\",\"ProcedureOptionType\":\"V\",\"ProcedureOptionValues\":{\"@Value1\":\"n\",\"@Value2\":\"nK\",\"@Value3\":\"nM\",\"@Value4\":\"nG\",\"@Value5\":\"hexX\",\"@Value6\":\"MIN\",\"@Value7\":\"MAX\"}},{\"ProcedureOptionName\":\"IN=\",\"ProcedureOptionType\":\"V\"},{\"ProcedureOptionName\":\"OBS=\",\"ProcedureOptionType\":\"V\",\"ProcedureOptionValues\":{\"@Value1\":\"n\",\"@Value2\":\"nK\",\"@Value3\":\"nM\",\"@Value4\":\"nG\",\"@Value5\":\"nT\",\"@Value6\":\"hexX\",\"@Value7\":\"MIN\",\"@Value8\":\"MAX\"}},{\"ProcedureOptionName\":\"POINTOBS=\",\"ProcedureOptionType\":\"V\",\"ProcedureOptionValues\":{\"@Value1\":\"YES\",\"@Value2\":\"NO\"}},{\"ProcedureOptionName\":\"WHERE=\",\"ProcedureOptionType\":\"V\"},{\"ProcedureOptionName\":\"WHEREUP=\",\"ProcedureOptionType\":\"V\",\"ProcedureOptionValues\":{\"@Value1\":\"YES\",\"@Value2\":\"NO\"}},{\"ProcedureOptionName\":\"SGIO=\",\"ProcedureOptionType\":\"V\",\"ProcedureOptionValues\":{\"@Value1\":\"YES\",\"@Value2\":\"NO\"}},{\"ProcedureOptionName\":\"IDXNAME=\",\"ProcedureOptionType\":\"V\"},{\"ProcedureOptionName\":\"IDXWHERE=\",\"ProcedureOptionType\":\"V\",\"ProcedureOptionValues\":{\"@Value1\":\"YES\",\"@Value2\":\"NO\"}},{\"ProcedureOptionName\":\"DROP=\",\"ProcedureOptionType\":\"V\"},{\"ProcedureOptionName\":\"KEEP=\",\"ProcedureOptionType\":\"V\"},{\"ProcedureOptionName\":\"RENAME=\",\"ProcedureOptionType\":\"V\"},{\"ProcedureOptionName\":\"EXTENDOBSCOUNTER=\",\"ProcedureOptionType\":\"V\"},{\"ProcedureOptionName\":\"ENCODING=\",\"ProcedureOptionType\":\"V\"},{\"ProcedureOptionName\":\"APPEND=\",\"ProcedureOptionType\":\"V\"},{\"ProcedureOptionName\":\"COPIES=\",\"ProcedureOptionType\":\"V\"},{\"ProcedureOptionName\":\"DUPLICATE=\",\"ProcedureOptionType\":\"V\"},{\"ProcedureOptionName\":\"CASLIB=\",\"ProcedureOptionType\":\"V\"},{\"ProcedureOptionName\":\"ONDEMAND=\",\"ProcedureOptionType\":\"V\"},{\"ProcedureOptionName\":\"ORDERBY=(\",\"ProcedureOptionType\":\"V\"},{\"ProcedureOptionName\":\"PARTITION=\",\"ProcedureOptionType\":\"V\"},{\"ProcedureOptionName\":\"SCRIPT=\",\"ProcedureOptionType\":\"V\"},{\"ProcedureOptionName\":\"COMPRESS=\",\"ProcedureOptionType\":\"V\"},{\"ProcedureOptionName\":\"PROMOTE=\",\"ProcedureOptionType\":\"V\"},{\"ProcedureOptionName\":\"TAG=\",\"ProcedureOptionType\":\"V\"},{\"ProcedureOptionName\":\"TEMPNAMES=\",\"ProcedureOptionType\":\"V\"},{\"ProcedureOptionName\":\"TEMPEXPRESS=\",\"ProcedureOptionType\":\"V\"}],\"#comment\":[{},{}]},\"ProcedureStatements\":{\"ProcedureStatement\":[{\"StatementName\":\"ABORT\",\"StatementHelp\":{\"#cdata\":\"Syntax: ABORT <ABEND | CANCEL <FILE> | RETURN | > <n> <NOLIST>; \\n      \\nStops executing the current DATA step, SAS job, or SAS session.\\n\\nn is an integer value that enables you to specify a condition code: \\n    \\n  o when used with the CANCEL argument, the value is placed in the SYSINFO automatic macro variable \\n  o when not used with the CANCEL argument, the error code that is returned by SAS is ERROR. The value \\n    of ERROR depends on the operating system. The condition code n is returned to the operating system \\n    as the final SAS system exit code.\"},\"StatementOptions\":{\"StatementOption\":[{\"StatementOptionName\":\"ABEND\",\"StatementOptionHelp\":{\"#cdata\":\"Causes abnormal termination of the current SAS job or session. Results depend on the method \\nof operation: \\n\\no batch mode and noninteractive mode \\n\\n  o stops processing immediately\\n  o sends an error message to the SAS log that states that execution was terminated by the ABEND option \\n    of the ABORT macro statement\\n  o does not execute any subsequent statements or check syntax\\n  o returns control to the operating environment; further action is based on how your operating environment \\n    and your site treat jobs that end abnormally.\\n\\no windowing environment and interactive line mode \\n\\n  o causes your windowing environment and interactive line mode to stop processing immediately \\n    and return you to your operating environment.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"CANCEL\",\"StatementOptionHelp\":{\"#cdata\":\"Causes the cancellation of the current submitted statements. The results depend on the method \\nof operation:\\n\\no batch mode and noninteractive mode\\n\\n  o The entire SAS program and SAS system are terminated.\\n  o The error message is written to the SAS log.\\n\\no windowing environment and interactive line mode \\n\\n  o It only clears the current submitted program.\\n  o Other subsequent submitted programs are not affected.\\n  o The error message is written to the SAS log.\\n\\no workspace server and stored process server \\n\\n  o It only clears currently submitted program.\\n  o Other subsequent submit calls are not affected.\\n  o The error message is written to the SAS log.\\n\\no SAS IntrNet application server \\n\\n  o A separate execution is created for each request. The execution submits the request code. A CANCEL \\n    argument in the request code clears the current submitted code but does not terminate the execution \\n    of the SAS session.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"CANCEL FILE\",\"StatementOptionHelp\":{\"#cdata\":\"Causes only the contents of the autoexec file or %INCLUDE file to be cleared by the %ABORT statement. \\nOther submitted source statements will be executed after the autoexec or %INCLUDE file.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"RETURN\",\"StatementOptionHelp\":{\"#cdata\":\"Causes abnormal termination of the current SAS job or session. Results depend on the method \\nof operation: \\n\\no batch mode and noninteractive mode \\n\\n  o stops processing immediately\\n  o sends an error message to the SAS log that states that execution was terminated by the RETURN option \\n    in the ABORT macro statement\\n  o does not execute any subsequent statements or check syntax\\n  o returns control to the operating environment with a condition code indicating an error.\\n\\no windowing environment and interactive line mode \\n\\n  o causes your windowing environment and interactive line mode to stop processing immediately \\n    and return you to your operating environment.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"&lt;n&gt;\",\"StatementOptionHelp\":{\"#cdata\":\"Replace <n> with an actual integer value.\\n        \\nn is an integer value that enables you to specify a condition code: \\n    \\n  o when used with the CANCEL argument, the value is placed in the SYSINFO automatic macro variable \\n  o when not used with the CANCEL argument, the error code that is returned by SAS is ERROR. The value \\n    of ERROR depends on the operating system. The condition code n is returned to the operating system \\n    as the final SAS system exit code.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"NOLIST\",\"StatementOptionHelp\":{\"#cdata\":\"Suppresses the output of all variables to the SAS log. \\n    \\nRequirement: NOLIST must be the last option in the ABORT statement.\"},\"StatementOptionType\":\"S\"}]}},{\"StatementName\":\"ARRAY\",\"StatementHelp\":{\"#cdata\":\"Syntax: ARRAY array-name { subscript } <$><length> \\n  <array-elements> <(initial-value-list)>; \\n  \\nDefines the elements of an array.\"},\"StatementOptions\":{\"StatementOption\":[{\"StatementOptionName\":\"_ALL_\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies all variables.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"_TEMPORARY_\",\"StatementOptionHelp\":{\"#cdata\":\"Creates a list of temporary data elements.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"_NUMERIC_\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies all numeric variables.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"_CHARACTER_\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies all character variables.\"},\"StatementOptionType\":\"S\"}]}},{\"StatementName\":\"BY\",\"StatementHelp\":{\"#cdata\":\"Syntax: BY <DESCENDING> variable-1 \\n  <...<DESCENDING> variable-n > <NOTSORTED><GROUPFORMAT>; \\n  \\nControls the operation of a SET, MERGE, MODIFY, or UPDATE statement in the DATA step and sets up \\nspecial grouping variables. \"},\"StatementOptions\":{\"StatementOption\":[{\"StatementOptionName\":\"DESCENDING\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies that the data sets are sorted in descending order by the variable that is specified. \\nDESCENDING means largest to smallest numerically, or reverse alphabetical for character variables.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"GROUPFORMAT\",\"StatementOptionHelp\":{\"#cdata\":\"Uses the formatted values, instead of the internal values, of the BY variables to determine where \\nBY groups begin and end, and therefore how FIRST.variable and LAST.variable are assigned. Although \\nthe GROUPFORMAT option can appear anywhere in the BY statement, the option applies to all variables \\nin the BY statement.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"NOTSORTED\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies that observations with the same BY value are grouped together but are not necessarily \\nsorted in alphabetical or numeric order.\"},\"StatementOptionType\":\"S\"}]}},{\"StatementName\":\"CALL\",\"StatementHelp\":{\"#cdata\":\"Syntax: CALL routine(parameter-1<, ...parameter-n>); \\n      \\nInvokes a SAS CALL routine.\"},\"StatementOptions\":null},{\"StatementName\":\"DATALINES|CARDS|LINES\",\"StatementHelp\":{\"#cdata\":\"Syntax: DATALINES; | CARDS; | LINES;\\n      \\nSpecifies that data lines follow.\"},\"StatementStates\":\"CARDS\",\"StatementOptions\":null},{\"StatementName\":\"DATALINES4|CARDS4|LINES4\",\"StatementHelp\":{\"#cdata\":\"Syntax: DATALINES4; | CARDS4; | LINES4;\\n      \\nIndicates that data lines that contain semicolons follow.\"},\"StatementStates\":\"CARDS4\",\"StatementOptions\":null},{\"StatementName\":\"CONTINUE\",\"StatementHelp\":{\"#cdata\":\"Syntax: CONTINUE; \\n      \\nStops processing the current DO-loop iteration and resumes processing the next iteration.\"},\"StatementOptions\":null},{\"StatementName\":\"DECLARE|DCL\",\"StatementHelp\":{\"#cdata\":\"Declares a hash or hash iterator object; creates an instance of and initializes data for a hash \\nor hash iterator object.\\n      \\nSyntax: \\n(1) DECLARE object object-reference;  \\n(2) DECLARE object object-reference<(<argument_tag-1: value-1<, ...argument_tag-n: value-n>>)>; \"},\"StatementOptions\":null},{\"StatementName\":\"DELETE\",\"StatementHelp\":{\"#cdata\":\"Syntax: DELETE; \\n      \\nStops processing the current observation.\"},\"StatementOptions\":null},{\"StatementName\":\"DESCRIBE\",\"StatementHelp\":{\"#cdata\":\"Syntax: DESCRIBE;\\n      \\nRetrieves source code from a stored compiled DATA step program or a DATA step view.\"},\"StatementOptions\":null},{\"StatementName\":\"DISPLAY\",\"StatementHelp\":{\"#cdata\":\"Syntax: DISPLAY window<.group> <NOINPUT > <BLANK> <BELL > <DELETE>; \\n      \\nDisplays a window that is created with the WINDOW statement.\"},\"StatementOptions\":{\"StatementOption\":[{\"StatementOptionName\":\"NOINPUT\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies that you cannot input values into fields that are displayed in the window.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"BLANK\",\"StatementOptionHelp\":{\"#cdata\":\"Clears the window.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"BELL\",\"StatementOptionHelp\":{\"#cdata\":\"Produces an audible alarm, beep, or bell sound when the window is displayed if your personal \\ncomputer is equipped with a speaker device that provides sound.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"DELETE\",\"StatementOptionHelp\":{\"#cdata\":\"Deletes the display of the window after processing passes from the DISPLAY statement on which \\nthe option appears.\"},\"StatementOptionType\":\"S\"}]}},{\"StatementName\":\"DO WHILE\",\"StatementHelp\":{\"#cdata\":\"Executes statements in a DO-loop repetitively while a condition is true. \\n          \\nSyntax: \\nDO WHILE (expression); \\n...more SAS statements...  \\nEND;\"},\"StatementOptions\":null},{\"StatementName\":\"DO UNTIL\",\"StatementHelp\":{\"#cdata\":\"Executes statements in a DO loop repetitively until a condition is true.\\n          \\nSyntax: \\nDO UNTIL (expression); \\n...more SAS statements...  \\nEND;\"},\"StatementOptions\":null},{\"StatementName\":\"DO\",\"StatementHelp\":{\"#cdata\":\"Specifies a group of statements to be executed as a unit.\\n      \\nSyntax: \\n(1) DO; \\n...more SAS statements...  \\nEND;  \\n\\n(2) DO index-variable=specification-1 <, ... specification-n>; \\n... more SAS statements ...  \\nEND;  \\n\\n(3) DO UNTIL (expression); \\n...more SAS statements...  \\nEND \\n\\n(4) DO WHILE (expression); \\n...more SAS statements...  \\nEND;\"},\"StatementOptions\":{\"StatementOption\":[{\"StatementOptionName\":\"UNTIL\",\"StatementOptionHelp\":{\"#cdata\":\"Executes statements in a DO loop repetitively until a condition is true.\\n          \\nSyntax: \\nDO UNTIL (expression); \\n...more SAS statements...  \\nEND\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"WHILE\",\"StatementOptionHelp\":{\"#cdata\":\"Executes statements in a DO-loop repetitively while a condition is true. \\n          \\nSyntax: \\nDO WHILE (expression); \\n...more SAS statements...  \\nEND;\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"OVER\",\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"TO\",\"StatementOptionHelp\":{\"#cdata\":\"Separates the start and stop integers or expressions that control the number of times the \\nportion of the DATA step between the iterative DO and END statements is processed.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"BY\",\"StatementOptionHelp\":{\"#cdata\":\"Precedes an increment integer (other than 0) or an expression that generates an integer to be \\nadded to the value of the index variable in each iteration of the DO loop.\"},\"StatementOptionType\":\"S\"}]}},{\"StatementName\":\"DROP\",\"StatementHelp\":{\"#cdata\":\"Syntax: DROP variable-list; \\n      \\nExcludes variables from output SAS data sets.\"},\"StatementOptions\":null},{\"StatementName\":\"END\",\"StatementHelp\":{\"#cdata\":\"Syntax: END; \\n      \\nEnds a DO group or SELECT group processing.\"},\"StatementOptions\":null},{\"StatementName\":\"ERROR\",\"StatementHelp\":{\"#cdata\":\"Syntax: ERROR <message>; \\n      \\nSets _ERROR_ to 1. A message written to the SAS log is optional.\"},\"StatementOptions\":null},{\"StatementName\":\"EXECUTE\",\"StatementHelp\":{\"#cdata\":\"Syntax: EXECUTE;\\n      \\nExecutes a stored compiled DATA step program.\"},\"StatementOptions\":null},{\"StatementName\":\"FILE\",\"StatementHelp\":{\"#cdata\":\"Specifies the current output file for PUT statements.\\n\\nSyntax: \\n(1) FILE file-specification <device-type> <options> <operating-environment-options>;      \\n(2) FILE file-specification<ENCODING='encoding-value'><option-list> <host-option-list>; \\n(3) FILE file-specification <type><ENCODING=encoding-value> <options>;  \\n(4) FILE LOG | PRINT <options>;  \\n\\nwhere\\n\\nfile-specification \\nidentifies an external file that the DATA step uses to write output from a PUT statement. \\nFile-specification can have these forms: \\n\\n  'external-file' \\n  specifies the physical name of an external file, which is enclosed in quotation marks. \\n  The physical name is the name by which the operating environment recognizes the file.\\n\\n  fileref \\n  specifies the fileref of an external file. \\n\\n  Requirement: You must have previously associated fileref with an external file in a FILENAME \\n  statement or function, or in an appropriate operating environment command. There is only one \\n  exception to this rule: when you use the FILEVAR= option, the fileref is simply a placeholder. \\n\\n  fileref(file) \\n  specifies a fileref that is previously assigned to an external file that is an aggregate \\n  grouping of files. Follow the fileref with the name of a file or member, which is enclosed \\n  in parentheses.\\n  \\n  LOG \\n  is a reserved fileref that directs the output that is produced by any PUT statements to the SAS log.\\n  PRINT \\n  is a reserved fileref that directs the output that is produced by any PUT statements to the same \\n  file as the output that is produced by SAS procedures.\\n\\ndevice-type \\nspecifies the type of device or the access method that is used if the fileref points to an input \\nor output device or a location that is not a physical file: DISK, DUMMY, GTERM, PIPE, PLOTTER,\\nPRINTER, TAPE, TEMP, TERMINAL, UPRINTER. type specifies the type of file in z/OS: DLI, HFS, MVS,\\nPIPE, VSAM.\\n\\noperating-environment-options or host-options\\nAdditional specifications might be required when you specify some devices. See the SAS documentation \\nfor your operating environment before specifying a value other than DISK. Values in addition to the \\nones listed here might be available in some operating environments.\"},\"StatementOptions\":{\"StatementOption\":[{\"StatementOptionName\":\"LOG\",\"StatementOptionHelp\":{\"#cdata\":\"Is a reserved fileref that directs the output that is produced by any PUT statements to the SAS log.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"DISK\",\"StatementOptionHelp\":{\"#cdata\":\"[device-type] \\n          \\nSpecifies that the device is a disk drive.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"DUMMY\",\"StatementOptionHelp\":{\"#cdata\":\"[device-type] \\n          \\nSpecifies that the output to the file is discarded. Tip: Specifying DUMMY can be \\nuseful for testing.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"GTERM\",\"StatementOptionHelp\":{\"#cdata\":\"[device-type] \\n          \\nIndicates that the output device type is a graphics device that will receive graphics data.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"PIPE\",\"StatementOptionHelp\":{\"#cdata\":\"[device-type] \\n          \\nSpecifies an unnamed pipe. Note: Some operating environments do not support pipes.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"PLOTTER\",\"StatementOptionHelp\":{\"#cdata\":\"[device-type] \\n          \\nSpecifies an unbuffered graphics output device.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"PRINTER\",\"StatementOptionHelp\":{\"#cdata\":\"[device-type] \\n          \\nSpecifies a printer or printer spool file.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"TAPE\",\"StatementOptionHelp\":{\"#cdata\":\"[device-type] \\n          \\nSpecifies a tape drive.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"TEMP\",\"StatementOptionHelp\":{\"#cdata\":\"[device-type] \\n          \\nCreates a temporary file that exists only as long as the filename is assigned. \\n\\nRestriction: Do not specify a physical pathname. If you do, SAS returns an error.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"TERMINAL\",\"StatementOptionHelp\":{\"#cdata\":\"[device-type] \\n          \\nSpecifies the user's terminal.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"UPRINTER\",\"StatementOptionHelp\":{\"#cdata\":\"[device-type] \\n          \\nSpecifies a Universal Printing printer definition name.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"DLI\",\"StatementOptionHelp\":{\"#cdata\":\"[type] \\n          \\nFor IMS-DL/I databases.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"HFS\",\"StatementOptionHelp\":{\"#cdata\":\"[type] \\n          \\nFor UNIX System Services files.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"MVS\",\"StatementOptionHelp\":{\"#cdata\":\"[type] \\n          \\nFor z/OS data sets.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"VSAM\",\"StatementOptionHelp\":{\"#cdata\":\"[type] \\n          \\nFor VSAM files.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"COLUMN=|COL=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies a variable that SAS automatically sets to the current column location of the pointer.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"DELIMITER=|DLM=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies an alternate delimiter (other than a blank) to be used for LIST output.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"DLMSTR=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies a character string as an alternate delimiter (other than a blank) to be used \\nfor LIST output\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"DLMSOPT=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies a parsing option for the DLMSTR= T option that removes trailing blanks of the \\nstring delimiter.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"'T'\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Removes trailing blanks of the string delimiter.\"}},{\"StatementOptionName\":\"DROPOVER\",\"StatementOptionHelp\":{\"#cdata\":\"Discards data items that exceed the output line length (as specified by the LINESIZE= \\nor LRECL= options in the FILE statement).\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"DSD\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies that data values that contain embedded delimiters, such as tabs or commas, \\nbe enclosed in quotation marks.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"ENCODING=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies the encoding to use when writing to the output file.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"'warabic'\",\"@Value2\":\"'wbaltic'\",\"@Value3\":\"'wlatin2'\",\"@Value4\":\"'wcyrillic'\",\"@Value5\":\"'wgreek'\",\"@Value6\":\"'whebrew'\",\"@Value7\":\"'wturkish'\",\"@Value8\":\"'wvietnamese'\",\"@Value9\":\"'wlatin1'\",\"@Value10\":\"'utf-8'\",\"@Value11\":\"'ms-950'\",\"@Value12\":\"'ms-936'\",\"@Value13\":\"'ms-932'\",\"@Value14\":\"'ms-949'\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Arabic\",\"@ToolTip2\":\"Baltic\",\"@ToolTip3\":\"Central Europe\",\"@ToolTip4\":\"Cyrillic\",\"@ToolTip5\":\"Greek\",\"@ToolTip6\":\"Hebrew\",\"@ToolTip7\":\"Turkish\",\"@ToolTip8\":\"Vietnamese\",\"@ToolTip9\":\"Western\",\"@ToolTip10\":\"Unicode encoding\",\"@ToolTip11\":\"Traditional Chinese\",\"@ToolTip12\":\"Simplified Chinese\",\"@ToolTip13\":\"Japanese\",\"@ToolTip14\":\"Korean\"}},{\"StatementOptionName\":\"FILENAME=\",\"StatementOptionHelp\":{\"#cdata\":\"Defines a character variable, whose name you supply, that SAS sets to the value of the physical \\nname of the file currently open for PUT statement output.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"FILEVAR=\",\"StatementOptionHelp\":{\"#cdata\":\"Defines a variable whose change in value causes the FILE statement to close the current output \\nfile and open a new one the next time the FILE statement executes.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"FLOWOVER\",\"StatementOptionHelp\":{\"#cdata\":\"Causes data that exceeds the current line length to be written on a new line.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"FOOTNOTES|FOOTNOTE\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies that the currently defined footnotes are printed.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"NOFOOTNOTES|NOFOOTNOTE\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies that the currently defined footnotes are not printed.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"HEADER=\",\"StatementOptionHelp\":{\"#cdata\":\"Defines a statement label that identifies a group of SAS statements that you want to execute \\neach time SAS begins a new output page\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"LINE=\",\"StatementOptionHelp\":{\"#cdata\":\"Defines a variable whose value is the current relative line number within the group of lines \\navailable to the output pointer.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"LINESIZE=|LS=\",\"StatementOptionHelp\":{\"#cdata\":\"Sets the maximum number of columns per line for reports and the maximum record length for \\ndata files.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"LINESLEFT=|LL=\",\"StatementOptionHelp\":{\"#cdata\":\"Defines a variable whose value is the number of lines left on the current page.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"LRECL=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies the logical record length of the output file.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"MOD\",\"StatementOptionHelp\":{\"#cdata\":\"Writes the output lines after any existing lines in the file.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"N=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies the number of lines that you want available to the output pointer in the current \\niteration of the DATA step.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"<n>\",\"@Value2\":\"PAGESIZE|PS\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Specifies the number of lines that are available to the output pointer.  Replace n with an integer.\",\"@ToolTip2\":\"Specifies that the entire page is available to the output pointer.\"}},{\"StatementOptionName\":\"ODS=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: ODS < = (ODS-suboptions) >] \\n          \\nSpecifies to use the Output Delivery System to format the output from a DATA step.\"},\"StatementOptionType\":\"S|V\"},{\"StatementOptionName\":\"OLD\",\"StatementOptionHelp\":{\"#cdata\":\"Replaces the previous contents of the file.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"PAD\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies that records written to an external file are padded with blanks to the length that \\nis specified in the LRECL= option.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"NOPAD\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies that records written to an external file are not padded with blanks to the length \\nthat is specified in the LRECL= option.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"PAGESIZE=|PS=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: PAGESIZE=value] \\n          \\nSets the number of lines per page for your reports.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"PRINT\",\"StatementOptionHelp\":{\"#cdata\":\"Either a reserved fileref that directs the output that is produced by any PUT statements to \\nthe same file as the output that is produced by SAS procedures, or an option that specifies \\nthat carriage-control characters are placed in the output lines.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"NOPRINT\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies that carriage-control characters are placed in the output lines.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"STOPOVER\",\"StatementOptionHelp\":{\"#cdata\":\"Stops processing the DATA step immediately if a PUT statement attempts to write \\na data item that exceeds the current line length.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"TITLES|TITLE\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies that the current title lines are printed on the pages of files.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"NOTITLES|NOTITLE\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies that the current title lines are not printed on the pages of files.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"_FILE_=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: _FILE_=variable] \\n          \\nNames a character variable that references the current output buffer of this FILE statement.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"BLKSIZE=|BLK=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: BLKSIZE=block-size] \\n          \\n[Windows/UNIX Host Option]\\n\\nSpecifies the number of bytes that are physically read or written in an I/O operation. \\nThe default is 8K. The maximum is 1M (Windows) or 1G-1(UNIX). \\n\\nIn UNIX, if you specify RECFM=S370VBS, then you should specify BLKSIZE=32760 in order \\nto avoid errors with records longer than 255 characters.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"BLOCK\",\"StatementOptionHelp\":{\"#cdata\":\"Is used only in the context of named pipes. This option indicates whether the client \\nis to wait if no data is currently available. BLOCK is the default value.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"NOBLOCK\",\"StatementOptionHelp\":{\"#cdata\":\"Is used only in the context of named pipes. This option indicates whether the client \\nis to wait if no data is currently available. BLOCK is the default value.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"BYTE\",\"StatementOptionHelp\":{\"#cdata\":\"Is used only in the context of named pipes. This option indicates the type of pipe. \\nBYTE is the default value.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"MESSAGE\",\"StatementOptionHelp\":{\"#cdata\":\"Is used only in the context of named pipes. This option indicates the type of pipe. \\nBYTE is the default value.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"COMMAND\",\"StatementOptionHelp\":{\"#cdata\":\"[Windows Host Option]\\n        \\nAllows remote commands to be issued to DDE server applications that not use the \\nSYSTEM topic name.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"EOFCONNECT\",\"StatementOptionHelp\":{\"#cdata\":\"[Windows Host Option] \\n        \\nIs used only in the context of named pipes and is valid only when you are defining \\nthe server. This option indicates that if an end-of-file (EOF) character is \\nreceived from a client, the server should try to connect to the next client.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"HOTLINK\",\"StatementOptionHelp\":{\"#cdata\":\"[Windows Host Option] \\n        \\nInstructs SAS to use the DDE HOTLINK.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"NOTAB\",\"StatementOptionHelp\":{\"#cdata\":\"[Windows Host Option] \\n        \\nInstructs SAS to ignore tab characters between variables.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"IGNOREDOSEOF\",\"StatementOptionHelp\":{\"#cdata\":\"[Windows Host Option] \\n        \\nIs used in the context of I/O operations on variable record format files. When this \\noption is specified, any occurrence of ^Z is interpreted as character data and \\nnot as an end-of-file marker.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"RECFM=\",\"StatementOptionHelp\":{\"#cdata\":\"[Windows/UNIX/z/OS Host Option] \\n        \\nSpecifies the record format of the external file. \\n\\nUnder z/OS, the following values can be appended to the RECFM values: \\n\\n  o A specifies that the first byte of each record is an ANSI printer-control character.\\n \\n  o M specifies that the file is a machine control character file. SAS does not interpret \\n    machine code control characters, nor does it create them in output files. \\n \\n  o S specifies that the file contains spanned records (V), or the file contains standard blocks (F).\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"F\",\"@Value2\":\"P\",\"@Value3\":\"S\",\"@Value4\":\"V|D\",\"@Value5\":\"N\",\"@Value6\":\"s370V\",\"@Value7\":\"S370VB\",\"@Value8\":\"S370VBS\",\"@Value9\":\"STREAMLF\",\"@Value10\":\"FB\",\"@Value11\":\"VB\",\"@Value12\":\"U\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Fixed-record format\",\"@ToolTip2\":\"Print format.\",\"@ToolTip3\":\"Stream-record format.\",\"@ToolTip4\":\"Variable-record format (the default)\",\"@ToolTip5\":\"Indicates binary format and causes the file to be treated as a byte stream. If LRECL is not specified,  by default SAS reads 256 bytes at a time from the file.\",\"@ToolTip6\":\"Indicates the variable S370 record format (V).\",\"@ToolTip7\":\"Indicates the variable block S370 record format (VB).\",\"@ToolTip8\":\"Indicates the variable block with spanned records S370 record format (VBS).\",\"@ToolTip9\":\"[For OpenVMS] Specifies StreamLF record format. Records are delimited by LF.\",\"@ToolTip10\":\"Specifies fixed-length records, blocked.\",\"@ToolTip11\":\"Specifies variable-length records, blocked.\",\"@ToolTip12\":\"Specifies undefined-length records, unblocked.\"}},{\"StatementOptionName\":\"RETRY=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: RETRY=seconds] \\n        \\n[Windows Host Option]\\n\\nIs used only in the context of named pipes. This option specifies how long a named \\npipe client should wait for a busy pipe. The minimum (and default) value for seconds \\nis 10.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"SERVER\",\"StatementOptionHelp\":{\"#cdata\":\"[Windows Host Option] \\n        \\nIs used only in the context of named pipes. This option specifies the mode of a \\nnamed pipe. The default value is SERVER.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"CLIENT\",\"StatementOptionHelp\":{\"#cdata\":\"[Windows Host Option] \\n        \\nIs used only in the context of named pipes. This option specifies the mode of a \\nnamed pipe. The default value is SERVER.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"TERMSTR=\",\"StatementOptionHelp\":{\"#cdata\":\"[Windows/UNIX Host Option] \\n        \\nSpecifies the end-of-line character for the file. Use this option to share files \\nbetween the UNIX and Windows operating environments.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"CR\",\"@Value2\":\"CRLF\",\"@Value3\":\"LF\",\"@Value4\":\"NULL\",\"@Value5\":\"NONE\",\"@Value6\":\"NL\",\"@Value7\":\"LFCR\",\"@Value8\":\"CRNL\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Carriage return (CR).\",\"@ToolTip2\":\"Carriage return (CR) followed by line feed (LF).\",\"@ToolTip3\":\"Line feed only (the default).\",\"@ToolTip4\":\"NULL character (0x00).\",\"@ToolTip5\":\"Record terminators are not used. This parameter provides the same function as FILEDATA=BINARY.\",\"@ToolTip6\":\"The newline character (x'15') is used as the record terminator. This parameter  provides the same function as FILEDATA=TEXT.\",\"@ToolTip7\":\"The sequence LF followed by CR is used as the record terminator.\",\"@ToolTip8\":\"The sequence CR followed by NL is used as the record terminator.\"}},{\"StatementOptionName\":\"UNBUF\",\"StatementOptionHelp\":{\"#cdata\":\"[UNIX Host Option] \\n  \\nTells SAS not to perform buffered writes to the file on any subsequent FILE statement. \\nThis option applies especially when you are reading from or writing to a data collection \\ndevice. As explained in SAS Language Reference: Dictionary, it also prevents buffered \\nreads on INFILE statements.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"ALQ=\",\"StatementOptionHelp\":{\"#cdata\":\"[OpenVMS Host Option]\\n  \\nSpecifies the number of blocks initially allocated to an external file when it is created. \\nThe value can range from 0 to 2,147,483,647. If the value is 0 (the default), the minimum \\nnumber of blocks required for the given file format is used.\\n\\nThe ALQ= option (allocation quantity) is used for output and corresponds to the FAB$L_ALQ \\nfield in OpenVMS Record Management Services (RMS).\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"CC=\",\"StatementOptionHelp\":{\"#cdata\":\"[OpenVMS Host Option] \\n  \\nSpecifies the carriage-control format of the SAS log and the procedure output file.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"FORTRAN\",\"@Value2\":\"PRINT\",\"@Value3\":\"CR\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Indicates FORTRAN carriage-control format. This is the default for print files.\",\"@ToolTip2\":\"Indicates OpenVMS print format.\",\"@ToolTip3\":\"Indicates OpenVMS carriage-return, carriage-control format. This is the default  for nonprinting files.\"}},{\"StatementOptionName\":\"DEQ=\",\"StatementOptionHelp\":{\"#cdata\":\"[OpenVMS Host Option]\\n  \\nSpecifies the number of blocks added when OpenVMS RMS automatically extends an external \\nfile during a write operation. The value can range from 0 to 65,535. The default value \\nis 0, telling OpenVMS RMS to use the process's default value. A large value results in \\nfewer file extensions over the life of the file; a small value results in numerous file \\nextensions over the life of the file. A file with numerous file extensions might be \\nnoncontiguous, thereby slowing record access.\\n\\nThe DEQ= option (default file extension quantity) is used for output and corresponds to \\nthe FAB$W_DEQ field in OpenVMS RMS.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"FAC=\",\"StatementOptionHelp\":{\"#cdata\":\"[OpenVMS Host Option]\\n  \\nOverrides the default file access attributes used for external files. Use this option \\nto indicate the level of access you want to allow for an external file. You can allow \\nREAD, WRITE, UPDATE, and DELETE access (as well as no access). By default with external \\nfiles, files opened for input allow read access, files opened for output allow WRITE \\naccess, and files opened for update allow READ and WRITE access. The form of the FAC= \\noption is \\n\\nFAC=access-option-list\\n\\nwhere access-option-list can be one of the following: \\n\\nDEL specifies DELETE access.\\n \\nGET specifies READ access.\\n \\nPUT specifies WRITE access.\\n \\nUPD specifies UPDATE access. \\n\\nYou can combine these values in any order. For example, specifying the following indicates \\nthat you want DELETE, READ, and WRITE access: \\n\\nfac=(del,get,put)\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"GSFCC=\",\"StatementOptionHelp\":{\"#cdata\":\"[OpenVMS Host Option] \\n  \\nSpecifies the file format of graphic stream files (GSF files). When specified in \\nthe FILENAME statement, it affects only the GSF files that are created using that \\nfileref.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"PRINT\",\"@Value2\":\"CR\",\"@Value3\":\"NONE\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Creates a GSF file. It is a VFC format file with carriage control set to null. These  files can be used with most utilities with the exception of some file transfer  protocols, such as Kermit. This is the default value for this option.\",\"@ToolTip2\":\"Creates a carriage return carriage control file.\",\"@ToolTip3\":\"Creates a file with no carriage control. This format is useful if you plan to download  the file to a personal computer.\"}},{\"StatementOptionName\":\"KEY=\",\"StatementOptionHelp\":{\"#cdata\":\"[OpenVMS Host Option]\\n  \\nSpecifies which key SAS uses to read the records in an RMS file with indexed organization. \\nThe KEY= option is always used with the KEYVALUE= option. \"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"KEYVALUE=\",\"StatementOptionHelp\":{\"#cdata\":\"[OpenVMS Host Option]\\n  \\nSpecifies the key value with which to begin reading an indexed file. \"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"MBC=\",\"StatementOptionHelp\":{\"#cdata\":\"[OpenVMS Host Option]\\n  \\nSpecifies the size of the I/O buffers that OpenVMS RMS allocates for a particular file. \\nThe value can range from 0 to 127 and represents the number of blocks used for each buffer. \\nBy default, this option is set to 0 and the default values for the process are used.\\n\\nThe MBC= option (multiblock count) is used for both input and output to control the \\nallocation for a particular file. If you want to control the allocation size for all \\nthe external files used during the current SAS session, you can use the MBC= option in \\nevery FILE, FILENAME, or INFILE statement. You can also use the DCL SET RMS_DEFAULT \\ncommand to specify a process default, and let the SAS values default to the process's \\ndefault values.\\n\\nThe MBC= option corresponds to the RAB$B_MBC field in OpenVMS RMS or the CONNECT \\nMULTIBLOCK_COUNT attribute when using FDL. This option is not supported for DECnet \\noperations.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"MBF=\",\"StatementOptionHelp\":{\"#cdata\":\"[OpenVMS Host Option]\\n  \\nSpecifies the number of I/O buffers you want OpenVMS RMS to allocate for a particular file. \\nThe value can range from 0 to 127 and represents the number of buffers used. By default, \\nthis option is set to a value of 2. If a value of 0 is specified, the default value for the \\nprocess is used.\\n\\nThe MBF= option (multibuffer count) is used for both input and output to control the number \\nof buffers allocated for a particular file. If you want to control the number of buffers \\nallocated for all the external files used during the SAS session, you can use the MBF= \\noption in every FILE, FILENAME, or INFILE statement. The DCL SET RMS_DEFAULT command can \\nbe used to specify a process default. Then, you can let the SAS values default to the \\nprocess's default values.\\n\\nThe MBF= option corresponds to the RAB$B_MBF field in OpenVMS RMS or the CONNECT MULTIBUFFER_COUNT \\nattribute when using FDL. This option is not supported for DECnet operations.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"SHR=\",\"StatementOptionHelp\":{\"#cdata\":\"[OpenVMS Host Option]\\n  \\nOverrides the default file-sharing attributes used for external files. With this option, \\nyou can indicate the access level you want to give other users. You can allow READ, WRITE, \\nUPDATE, and DELETE access (as well as no access). By default with external files, files \\nopened for input allow shared read access, and files opened for output or UPDATE do not \\nallow shared access.\\n\\nHowever, you can allow other users to have READ and WRITE access to a file that you are \\nopening for input only. To accomplish this, use the SHR= option. The syntax of the SHR= \\noption is \\n\\nSHR=share-option-list\\n\\nwhere share-option-list can be one of the following: DEL specifies DELETE access.\\n\\nGET specifies shared READ access.\\n \\nNONE specifies no shared access.\\n \\nPUT specifies shared WRITE access.\\n \\nUPD specifies UPDATE access.  \\n\\nYou can combine these values in any order. For example, specifying the following indicates \\nthat you want shared DELETE, READ, and WRITE access: \\n\\nshr=(del,get,put)\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"CLOSE=\",\"StatementOptionHelp\":{\"#cdata\":\"[z/OS Host Option] \\n  \\nIndicates how a tape volume is positioned at the end of the DATA step.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"REREAD\",\"@Value2\":\"LEAVE\",\"@Value3\":\"REWIND\",\"@Value4\":\"FREE\",\"@Value5\":\"DISP\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Positions the tape at the logical beginning of the data set.\",\"@ToolTip2\":\"Positions the tape at the logical end of the data set.\",\"@ToolTip3\":\"Rewinds the tape to the physical beginning of the volume.\",\"@ToolTip4\":\"Dynamically deallocates the tape volume.\",\"@ToolTip5\":\"Is implied by the control language.\"}},{\"StatementOptionName\":\"CSRC\",\"StatementOptionHelp\":{\"#cdata\":\"[OpenVMS Host Option]\\n  \\nSpecifies that you want to use the CSRCESRV services (available with z/OS) to compress \\ndata on output. For example: \\n\\n  data _null_;\\n     file myfile csrc;\\n     put ... ;\\n  run;\\n\\nYou cannot use this option with an external file that has a fixed-length record format.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"DCB=\",\"StatementOptionHelp\":{\"#cdata\":\"[OpenVMS Host Option]\\n  \\nSyntax: DCB=fileref \\n\\nspecifies the fileref of an external file that was referenced in an earlier FILE or \\nINFILE statement in the same DATA step. SAS uses that file's RECFM=, LRECL=, and BLKSIZE= \\ninformation for the current file.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"DEVTYPE=\",\"StatementOptionHelp\":{\"#cdata\":\"[OpenVMS Host Option]\\n  \\nSyntax: DEVTYPE=variable \\n\\nDefines a character variable (minimum length 24) that SAS sets to the device type. \\nSAS obtains the device type by using the z/OS operating environment DEVTYPE macro.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"DSCB=\",\"StatementOptionHelp\":{\"#cdata\":\"[OpenVMS Host Option]\\n  \\nSyntax: DSCB=variable \\n\\nDefines a character variable (minimum length 96) that SAS sets to the Data Set Control \\nBlock (DSCB) information from a non-VSAM data set.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"JFCB=\",\"StatementOptionHelp\":{\"#cdata\":\"[OpenVMS Host Option]\\n  \\nSyntax: JFCB=variable \\n\\nDefines a character variable (minimum length 176) that SAS sets to the Job File \\nControl Block (JFCB).\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"UCBNAME=\",\"StatementOptionHelp\":{\"#cdata\":\"[OpenVMS Host Option]\\n  \\nSyntax: UCBNAME=variable \\n\\nDefines a character variable (minimum length 3) that SAS sets to the unit name \\n(device address), which is derived from information in the unit control block (UCB).\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"VOLUME=|VOLUMES=\",\"StatementOptionHelp\":{\"#cdata\":\"[OpenVMS Host Option]\\n  \\nSyntax: VOLUME=variable | VOLUMES=variable \\n\\nDefines a character variable (with a minimum length of six characters) that SAS sets \\nto the tape VOLSER or the disk volume serial number. In the case of a multivolume file, \\nthe VOLUME= variable contains the concatenated volume serial numbers up to the length \\nof the variable or the first 30 volumes, whichever is less. The value in the VOLUME= \\nvariable contains the volume serial number of the first data set in the concatenation \\nwhen the file is opened. This serial number changes if you open a subsequent data set \\nin the concatenation.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"BOM|BOMFILE\",\"StatementOptionHelp\":{\"#cdata\":\"[UNIX/z/OS Host Option]\\n    \\nIncludes a Byte Order Mark when a UNICODE-encoded file is created.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"NOBOM|NOBOMFILE\",\"StatementOptionHelp\":{\"#cdata\":\"[UNIX/z/OS Host Option]\\n    \\nSpecifies that a Byte Order Mark is not included when a UNICODE-encoded file is created.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"FILEDATA=\",\"StatementOptionHelp\":{\"#cdata\":\"[UNIX/z/OS Host Option] \\n    \\nThe FILEDATA= option specifies that the file being processed is expected to contain \\neither binary or text data.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"BINARY\",\"@Value2\":\"TEXT\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"The FILEDATA= option specifies that the file being processed is expected to contain  binary data.\",\"@ToolTip2\":\"The FILEDATA= option specifies that the file being processed is expected to contain  text data.\"}},{\"StatementOptionName\":\"BUFND=\",\"StatementOptionHelp\":{\"#cdata\":\"[VSAM Option]\\n    \\nSyntax: BUFND=value \\n\\nIndicates how many data buffers to use for the VSAM data set.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"BUFNI=\",\"StatementOptionHelp\":{\"#cdata\":\"[VSAM Option]\\n    \\nSyntax: BUFNI=value \\n\\nIndicates how many index buffers to use for the VSAM data set.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"FEEDBACK=|FDBK=\",\"StatementOptionHelp\":{\"#cdata\":\"[VSAM Option]\\n    \\nSyntax: FEEDBACK=variable | FDBK=variable \\n\\nDefines a numeric variable that SAS sets to the VSAM logical error code. This option \\nis similar to the _FDBK_ automatic variable. When SAS sets the FEEDBACK variable, you \\nmust reset it to 0 in order to continue.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"KEYLEN=\",\"StatementOptionHelp\":{\"#cdata\":\"[VSAM Option]\\n    \\nSyntax: KEYLEN=variable \\n\\nSpecifies a numeric SAS variable that, when used with GENKEY, specifies the length \\nof the key that is to be compared to the keys in the file.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"KEYPOS=\",\"StatementOptionHelp\":{\"#cdata\":\"[VSAM Option]\\n    \\nSyntax: KEYPOS=variable \\n\\nIndicates the numeric variable that SAS sets to the position of the VSAM key field. \\nThis option enables you to read keys without knowing the key position in advance. \\nThis variable is set to the column number (starting from 1).\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"PASSWD=\",\"StatementOptionHelp\":{\"#cdata\":\"[VSAM Option]\\n    \\nSyntax: PASSWD=value \\n\\nGives the appropriate password for a VSAM data set that has password protection.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"RC4STOP\",\"StatementOptionHelp\":{\"#cdata\":\"[VSAM Option]\\n    \\nStops the DATA step from executing if a return code greater than 4 is returned by \\nthe operating environment when the VSAM data set is opened.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"RECORDS=\",\"StatementOptionHelp\":{\"#cdata\":\"[VSAM Option]\\n    \\nSyntax: RECORDS=variable \\n\\nDefines a numeric variable that SAS sets to the number of logical records in a \\nVSAM data set that has been opened for input.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"RECORG=\",\"StatementOptionHelp\":{\"#cdata\":\"[z/OS Host Option] \\n  \\nSpecifies the organization of records in a new VSAM data set. Use this option only \\nif SMS is active.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"KS\",\"@Value2\":\"ES\",\"@Value3\":\"RR\",\"@Value4\":\"LS\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Specifies a VSAM key-sequenced data set.\",\"@ToolTip2\":\"Specifies a VSAM entry-sequenced data set.\",\"@ToolTip3\":\"Specifies a VSAM relative-record data set.\",\"@ToolTip4\":\"Specifies a VSAM linear-space data set.\"}},{\"StatementOptionName\":\"RESET\",\"StatementOptionHelp\":{\"#cdata\":\"[VSAM Option]\\n    \\nIndicates that the VSAM file is reset to empty (no records) when it is opened. \\nThis option applies only to loading a VSAM data set that has been marked REUSE. \\nYou cannot use this option if the data set contains an alternate index.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"RRN=\",\"StatementOptionHelp\":{\"#cdata\":\"[VSAM Option]\\n    \\nSyntax: RRN=variable \\n\\nDefines a numeric variable that you set to the relative record number (RRN) of the \\nrecord that you want to read or write. This option indicates that keyed direct access \\nis being used; it is appropriate for RRDS only.\"},\"StatementOptionType\":\"V\"}],\"#comment\":[{},{},{}]}},{\"StatementName\":\"GO TO|GOTO\",\"StatementHelp\":{\"#cdata\":\"Syntax: GO TO label | GOTO label;\\n      \\nJumps to a new statement.\"},\"StatementOptions\":null},{\"StatementName\":\"IF\",\"StatementHelp\":{\"#cdata\":\"Executes a SAS statement for observations that meet specific conditions. \\n\\nSyntax: \\n(1) IF expression THEN statement; \\n    <ELSE statement;> \\n(2) IF condition;\"},\"StatementOptions\":{\"StatementOption\":[{\"StatementOptionName\":\"THEN\",\"StatementOptionHelp\":{\"#cdata\":\"If the conditions that are specified in the IF clause are met, the IF-THEN statement executes a SAS \\nstatement for observations that are read from a SAS data set, for records in an external file, or \\nfor computed values.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"DO\",\"StatementOptionHelp\":{\"#cdata\":\"Action statement in an IF-THEN construct.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"WHEN\",\"StatementOptionHelp\":{\"#cdata\":\"WHEN statement in an IF-THEN-WHEN construct.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"OUTPUT\",\"StatementOptionHelp\":{\"#cdata\":\"Action statement in an IF-THEN construct.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"GO TO|GOTO\",\"StatementOptionHelp\":{\"#cdata\":\"Action statement in an IF-THEN construct. \\n          \\nSyntax: ... GO TO label; | ... GOTO label;\\n      \\nJumps to a new statement.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"PUT\",\"StatementOptionHelp\":{\"#cdata\":\"Action statement in an IF-THEN construct.\\n          \\nWrites lines to the SAS log, to the SAS output window, or to an external location that is \\nspecified in the most recent FILE statement.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"STOP\",\"StatementOptionHelp\":{\"#cdata\":\"Action statement in an IF-THEN construct. \\n          \\nStops execution of the current DATA step.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"RETURN\",\"StatementOptionHelp\":{\"#cdata\":\"Action statement in an IF-THEN construct. \\n          \\nStops executing statements at the current point in the DATA step and returns to \\na predetermined point in the step. \"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"CALL\",\"StatementOptionHelp\":{\"#cdata\":\"Action statement in an IF-THEN construct. \\n          \\nSyntax: CALL routine(parameter-1<, ...parameter-n>); \\n      \\nInvokes a SAS CALL routine.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"SET\",\"StatementOptionHelp\":{\"#cdata\":\"Action statement in an IF-THEN construct.\\n          \\nSyntax: SET <SAS-data-set(s) <(data-set-options(s) )>>; \\n      \\nReads an observation from one or more SAS data sets.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"NOT\",\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"OR\",\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"AND\",\"StatementOptionType\":\"S\"}],\"#comment\":{}}},{\"StatementName\":\"ELSE\",\"StatementHelp\":{\"#cdata\":\"If the condition in an IF-THEN statement is false and an ELSE statement is present, \\nthen the ELSE action is carried out.\"},\"StatementOptions\":{\"StatementOption\":[{\"StatementOptionName\":\"THEN\",\"StatementOptionHelp\":{\"#cdata\":\"If the conditions that are specified in the IF clause are met, the IF-THEN statement executes a SAS \\nstatement for observations that are read from a SAS data set, for records in an external file, or \\nfor computed values.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"IF\",\"StatementOptionHelp\":{\"#cdata\":\"Executes a SAS statement for observations that meet specific conditions.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"DO\",\"StatementOptionHelp\":{\"#cdata\":\"Action statement in an IF-THEN-ELSE construct.\\n          \\nSpecifies a group of statements to be executed as a unit.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"OUTPUT\",\"StatementOptionHelp\":{\"#cdata\":\"Action statement in an IF-THEN-ELSE construct.\\n          \\nWrites the current observation to a SAS data set.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"PUT\",\"StatementOptionHelp\":{\"#cdata\":\"Action statement in an IF-THEN-ELSE construct.\\n          \\nWrites lines to the SAS log, to the SAS output window, or to an external location that is \\nspecified in the most recent FILE statement.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"NOT\",\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"OR\",\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"AND\",\"StatementOptionType\":\"S\"}],\"#comment\":{}}},{\"StatementName\":\"%IF\",\"StatementHelp\":{\"#cdata\":\"Syntax: %IF expression %THEN action; <%ELSE action;>\\n      \\nConditionally process a portion of a macro.\"},\"StatementOptions\":{\"StatementOption\":[{\"StatementOptionName\":\"%THEN\",\"StatementOptionHelp\":{\"#cdata\":\"Conditionally process a portion of a macro.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"%DO\",\"StatementOptionHelp\":{\"#cdata\":\"Action statement in a %IF-%THEN-%DO construct.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"%LET\",\"StatementOptionHelp\":{\"#cdata\":\"Action statement in an %IF-%THEN statement.\\n      \\nCreates a macro variable and assigns it a value.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"%RETURN\",\"StatementOptionHelp\":{\"#cdata\":\"Action statement in an %IF-%THEN statement.\\n      \\nExecution causes normal termination of the currently executing macro.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"%PUT\",\"StatementOptionHelp\":{\"#cdata\":\"Action statement in an %IF-%THEN statement.\\n      \\nWrites text or macro variable information to the SAS log.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"%GOTO\",\"StatementOptionHelp\":{\"#cdata\":\"Action statement in an %IF-%THEN statement.\\n      \\nSyntax: ... %GOTO label ;\\n      \\nJumps to a new statement.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"NOT\",\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"OR\",\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"AND\",\"StatementOptionType\":\"S\"}],\"#comment\":{}}},{\"StatementName\":\"%ELSE\",\"StatementHelp\":{\"#cdata\":\"Part of a %IF-%THEN-%ELSE statement that conditionally processes a portion of a macro.\\n      \\nSyntax: \\n\\n%IF expression %THEN action;  \\n<%ELSE action;> \"},\"StatementOptions\":{\"StatementOption\":[{\"StatementOptionName\":\"%THEN\",\"StatementOptionHelp\":{\"#cdata\":\"Conditionally processes a portion of a macro.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"%IF\",\"StatementOptionHelp\":{\"#cdata\":\"Conditionally processes a portion of a macro.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"%DO\",\"StatementOptionHelp\":{\"#cdata\":\"Action statement in an %ELSE-%DO construct.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"%LET\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: %LET macro-variable =<value>;\\n      \\nCreates a macro variable and assigns it a value.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"%GOTO\",\"StatementOptionHelp\":{\"#cdata\":\"Action statement in an %ELSE statement.\\n      \\nSyntax: ... %GOTO label ;\\n      \\nJumps to a new statement.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"%RETURN\",\"StatementOptionHelp\":{\"#cdata\":\"Action statement in an %IF-%THEN statement.\\n      \\nExecution causes normal termination of the currently executing macro.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"%PUT\",\"StatementOptionHelp\":{\"#cdata\":\"Action statement in an %IF-%THEN statement.\\n      \\nWrites text or macro variable information to the SAS log.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"NOT\",\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"OR\",\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"AND\",\"StatementOptionType\":\"S\"}],\"#comment\":{}}},{\"StatementName\":\"INFILE\",\"StatementHelp\":{\"#cdata\":\"Specifies an external file to read with an INPUT statement. \\n      \\nSyntax: \\n(1) INFILE file-specification <device-type><ENCODING=encoding-value> <options>;  \\n(2) INFILE file-specification <device-type> <options> <operating-environment-options>; \\n(3) INFILE file-specification <ENCODING='encoding-value'><options> <host-options>; \\n(4) INFILE DBMS-specifications; \\n(5) INFILE DATALINES | CARDS <options>;  \\n\\nfile-specification \\nidentifies a file in one of the following forms: \\n\\n  fileref \\n  specifies the assigned fileref or the allocated ddname of the file. A fileref must \\n  conform to the rules for ddnames. That is, it can consist of up to eight letters, \\n  numbers, or national characters ($, @, and #) and underscores (_). The first character \\n  must be either a letter or a national character.\\n\\n  fileref(member) \\n  specifies a member of a partitioned data set, where the PDS or PDSE is specified by \\n  the assigned fileref or allocated ddname.\\n\\n  If you specify a fileref that is not allocated, then SAS attempts to construct a data \\n  set name with the following three qualifiers: \\n\\n    o the value of the SYSPREF= option (usually the user ID) \\n    o the specified fileref \\n    o DATA\\n\\n    If a file is found that has this constructed data set name, then SAS opens it and reads it. \\n    The value of the FILEEXT= system option can affect the way SAS interprets PDS and PDSE member names. \\n\\n  'physical-filename' \\n  specifies a physical file, which can be a member of a partitioned data set (PDS), an extended \\n  partitioned data set (PDSE), or a UNIX System Services file, using the following syntax:\\n\\n    o a fully qualified data set name. For example: 'myid.raw.datax'\\n    o a fully qualified data set name with a member in parentheses. For example: 'sas.raw.data(mem1)'\\n    o a partially qualified data set name with a period preceding it. For example: '.raw.data'\\n    o a partially qualified data set name with a period preceding it and a member name in parentheses. \\n      For example: '.raw.data(mem1)'\\n    o for PDS members, a fully or partially qualified data set name with a wildcard name in parentheses. \\n      For example: '.raw.data(mem*)', '.raw.data(*mem1)', '.raw.data(*)'\\n    o a UNIX System Services file. For example: '/u/userid/raw' or 'HFS:raw' or '/u/userid/data/*'\"},\"StatementOptions\":{\"StatementOption\":[{\"StatementOptionName\":\"DATALINES|CARDS\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies that the input data immediately follows the DATALINES|CARDS statement in the DATA step. \\nUsing DATALINES|CARDS allows you to use the INFILE statement options to control how the INPUT \\nstatement reads instream data lines.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"DATALINES4|CARDS4\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies that the input data immediately follows the DATALINES4|CARDS4 statement in the DATA step. \\nUsing DATALINES4|CARDS4 allows you to use the INFILE statement options to control how the INPUT \\nstatement reads instream data lines.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"DISK\",\"StatementOptionHelp\":{\"#cdata\":\"[device-type] \\n          \\nSpecifies that the device is a disk drive.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"DUMMY\",\"StatementOptionHelp\":{\"#cdata\":\"[device-type] \\n          \\nSpecifies that the output to the file is discarded. Tip: Specifying DUMMY can be \\nuseful for testing.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"GTERM\",\"StatementOptionHelp\":{\"#cdata\":\"[device-type] \\n          \\nIndicates that the output device type is a graphics device that will receive graphics data.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"PIPE\",\"StatementOptionHelp\":{\"#cdata\":\"[device-type] \\n          \\nSpecifies an unnamed pipe. Note: Some operating environments do not support pipes.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"PLOTTER\",\"StatementOptionHelp\":{\"#cdata\":\"[device-type] \\n          \\nSpecifies an unbuffered graphics output device.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"PRINTER\",\"StatementOptionHelp\":{\"#cdata\":\"[device-type] \\n          \\nSpecifies a printer or printer spool file.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"TAPE\",\"StatementOptionHelp\":{\"#cdata\":\"[device-type] Specifies a tape drive.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"TEMP\",\"StatementOptionHelp\":{\"#cdata\":\"[device-type] \\n          \\nCreates a temporary file that exists only as long as the filename is assigned. \\n\\nRestriction: Do not specify a physical pathname. If you do, SAS returns an error.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"TERMINAL\",\"StatementOptionHelp\":{\"#cdata\":\"[device-type] \\n          \\nSpecifies the user's terminal.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"UPRINTER\",\"StatementOptionType\":[\"S\",\"S\"],\"StatementOptionHelp\":{\"#cdata\":\"[device-type] \\n          \\nSpecifies a Universal Printing printer definition StatementOptionName.\"}},{\"StatementOptionName\":\"DLI\",\"StatementOptionHelp\":{\"#cdata\":\"[type] \\n          \\nFor IMS-DL/I databases.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"HFS\",\"StatementOptionHelp\":{\"#cdata\":\"[type] \\n          \\nFor UNIX System Services files.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"MVS\",\"StatementOptionHelp\":{\"#cdata\":\"[type] \\n          \\nFor z/OS data sets.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"VSAM\",\"StatementOptionHelp\":{\"#cdata\":\"[type] \\n          \\nFor VSAM files.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"IDMS\",\"StatementOptionHelp\":{\"#cdata\":\"[type] \\n          \\nFor CA-IDMS files.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"ISAM\",\"StatementOptionHelp\":{\"#cdata\":\"[type] \\n          \\nFor ISAM files.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"VTOC\",\"StatementOptionHelp\":{\"#cdata\":\"[type] \\n          \\nFor a Volume Table of Contents (VTOC).\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"COLUMN=|COL=\",\"StatementOptionHelp\":{\"#cdata\":\"Names a variable that SAS uses to assign the current column location of the input pointer. \\nLike automatic variables, the COLUMN= variable is not written to the data set.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"DELIMITER=|DLM=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies an alternate delimiter (other than a blank) to be used for LIST input.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"DLMSTR=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies a character string as an alternate delimiter (other than a blank) to be \\nused for LIST input\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"DLMSOPT=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies whether case-insensitive comparisons will be done, or trailing blanks of the string \\ndelimiter will be removed.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"'I'\",\"@Value2\":\"'T'\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Specifies that case-insensitive comparisons will be done.\",\"@ToolTip2\":\"Specifies that trailing blanks of the string delimiter will be removed.\"}},{\"StatementOptionName\":\"DSD\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies that when data values are enclosed in quotation marks, delimiters within the value \\nare treated as character data. The DSD option changes how SAS treats delimiters when you use \\nLIST input and sets the default delimiter to a comma. When you specify DSD, SAS treats two \\nconsecutive delimiters as a missing value and removes quotation marks from character values.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"ENCODING=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies the encoding to use when reading from the external file.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"'warabic'\",\"@Value2\":\"'wbaltic'\",\"@Value3\":\"'wlatin2'\",\"@Value4\":\"'wcyrillic'\",\"@Value5\":\"'wgreek'\",\"@Value6\":\"'whebrew'\",\"@Value7\":\"'wturkish'\",\"@Value8\":\"'wvietnamese'\",\"@Value9\":\"'wlatin1'\",\"@Value10\":\"'utf-8'\",\"@Value11\":\"'ms-950'\",\"@Value12\":\"'ms-936'\",\"@Value13\":\"'ms-932'\",\"@Value14\":\"'ms-949'\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Arabic\",\"@ToolTip2\":\"Baltic\",\"@ToolTip3\":\"Central Europe\",\"@ToolTip4\":\"Cyrillic\",\"@ToolTip5\":\"Greek\",\"@ToolTip6\":\"Hebrew\",\"@ToolTip7\":\"Turkish\",\"@ToolTip8\":\"Vietnamese\",\"@ToolTip9\":\"Western\",\"@ToolTip10\":\"Unicode encoding\",\"@ToolTip11\":\"Traditional Chinese\",\"@ToolTip12\":\"Simplified Chinese\",\"@ToolTip13\":\"Japanese\",\"@ToolTip14\":\"Korean\"}},{\"StatementOptionName\":\"END=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies a variable that SAS sets to 1 when the current input data record is the last in \\n the input file. Until SAS processes the last data record, the END= variable is set to 0. \\n Like automatic variables, this variable is not written to the data set. \\n \\n Restriction: You cannot use the END= option with UNBUFFERED option, DATALINES or DATALINES4 \\n statement, and an INPUT statement that reads multiple input data records.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"EOF=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies a statement label that is the object of an implicit GO TO when the INFILE statement \\nreaches end of file.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"EOV=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies a variable that SAS sets to 1 when the first record in a file in a series of \\nconcatenated files is read.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"EXPANDTABS\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies to expand tab characters to the standard tab setting, which is set at 8-column \\nintervals that start at column 9.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"NOEXPANDTABS\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies not to expand tab characters to the standard tab setting, which is set at 8-column \\nintervals that start at column 9.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"FILENAME=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies a variable that SAS sets to the physical StatementOptionName of the currently opened \\ninput file. Like automatic variables, the FILENAME= variable is not written to the data set.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"FILEVAR=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies a variable whose change in value causes the INFILE statement to close the current input \\nfile and open a new one.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"FIRSTOBS=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies a record number that SAS uses to begin reading input data records in the input file.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"FLOWOVER\",\"StatementOptionHelp\":{\"#cdata\":\"Causes an INPUT statement to continue to read the next input data record if it does not \\nfind values in the current input line for all the variables in the statement.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"LENGTH=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies a variable that SAS sets to the length of the current input line.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"LINE=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies a variable that SAS sets to the line location of the input pointer in the \\ninput buffer. Like automatic variables, the LINE= variable is not written to the \\ndata set.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"LINESIZE=|LS=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies the record length that is available to the INPUT statement.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"LRECL=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies the logical record length.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"N=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies the number of lines that are available to the input pointer at one time.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"MISSOVER\",\"StatementOptionHelp\":{\"#cdata\":\"Prevents an INPUT statement from reading a new input data record if it does not \\nfind values in the current input line for all the variables in the statement.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"MOD\",\"StatementOptionHelp\":{\"#cdata\":\"Indicates that data written to the file should be appended to the file\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"NEW\",\"StatementOptionHelp\":{\"#cdata\":\"Indicates that a new file is to be opened for output. If the file already exists, \\nthen it is deleted and re-created.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"OLD\",\"StatementOptionHelp\":{\"#cdata\":\"Indicates that a new file is to be opened for output. If the file already exists, \\nthen the previous contents of the file are replaced.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"NBYTE=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies the StatementOptionName of a variable that contains the number of bytes \\nto read from a file when you are reading data in stream record format (RECFM=S in \\nthe FILENAME statement).\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"OBS=\",\"StatementOptionHelp\":{\"#cdata\":\"Use OBS= with FIRSTOBS= to read a range of records from the middle of a file. \"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"<record-number>\",\"@Value2\":\"MAX\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Specifies the record number of the last record to read in an input file that is read sequentially.\",\"@ToolTip2\":\"Specifies the maximum number of observations to process, which will be at least as large as the  largest signed, 32-bit integer.\"}},{\"StatementOptionName\":\"PAD\",\"StatementOptionHelp\":{\"#cdata\":\"SAS pads the records that are read from an external file with blanks to the length that is \\nspecified in the LRECL= option.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"NOPAD\",\"StatementOptionHelp\":{\"#cdata\":\"SAS does not pad the records that are read from an external file with blanks to the length that \\nis specified in the LRECL= option.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"PRINT\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies that the input file contains carriage-control characters.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"NOPRINT\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies that the input file does not contain carriage-control characters.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"SCANOVER\",\"StatementOptionHelp\":{\"#cdata\":\"Causes the INPUT statement to scan the input data records until the character string that \\nis specified in the @'character-string' expression is found.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"SHAREBUFFERS|SHAREBUFS\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies that the FILE statement and the INFILE statement share the same buffer.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"START=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies a variable whose value SAS uses as the first column number of the record \\nthat the PUT _INFILE_ statement writes. Like automatic variables, the START \\nvariable is not written to the data set.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"STOPOVER\",\"StatementOptionHelp\":{\"#cdata\":\"Causes the DATA step to stop processing if an INPUT statement reaches the end of the \\ncurrent record without finding values for all variables in the statement.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"TERMSTR=\",\"StatementOptionHelp\":{\"#cdata\":\"[Windows/UNIX Host Option] \\n        \\nSpecifies the end-of-line character for the file. Use this option to share files \\nbetween the UNIX and Windows operating environments.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"CR\",\"@Value2\":\"CRLF\",\"@Value3\":\"LF\",\"@Value4\":\"NULL\",\"@Value5\":\"NONE\",\"@Value6\":\"NL\",\"@Value7\":\"LFCR\",\"@Value8\":\"CRNL\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Carriage return (CR).\",\"@ToolTip2\":\"Carriage return (CR) followed by line feed (LF).\",\"@ToolTip3\":\"Line feed only (the default).\",\"@ToolTip4\":\"NULL character (0x00).\",\"@ToolTip5\":\"Record terminators are not used. This parameter provides the same function as FILEDATA=BINARY.\",\"@ToolTip6\":\"The newline character (x'15') is used as the record terminator. This parameter  provides the same function as FILEDATA=TEXT.\",\"@ToolTip7\":\"The sequence LF followed by CR is used as the record terminator.\",\"@ToolTip8\":\"The sequence CR followed by NL is used as the record terminator.\"}},{\"StatementOptionName\":\"TRUNCOVER\",\"StatementOptionHelp\":{\"#cdata\":\"Overrides the default behavior of the INPUT statement when an input data record is shorter \\nthan the INPUT statement expects. By default, the INPUT statement automatically reads the \\nnext input data record. TRUNCOVER enables you to read variable-length records when some \\nrecords are shorter than the INPUT statement expects. Variables without any values assigned \\nare set to missing.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"UNBUFFERED|UNBUF\",\"StatementOptionHelp\":{\"#cdata\":\"Tells SAS not to perform a buffered (\\\"look ahead\\\") read.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"_INFILE_=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies a character variable that references the contents of the current input buffer \\nfor this INFILE statement.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"BLKSIZE=|BLK=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: BLKSIZE=block-size] \\n          \\n[Windows/UNIX Host Option]\\n\\nSpecifies the number of bytes that are physically read or written in an I/O operation. \\nThe default is 8K. The maximum is 1M (Windows) or 1G-1(UNIX). \\n\\nIn UNIX, if you specify RECFM=S370VBS, then you should specify BLKSIZE=32760 in order \\nto avoid errors with records longer than 255 characters.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"BLOCK\",\"StatementOptionHelp\":{\"#cdata\":\"Is used only in the context of named pipes. This option indicates whether the client \\nis to wait if no data is currently available. BLOCK is the default value.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"NOBLOCK\",\"StatementOptionHelp\":{\"#cdata\":\"Is used only in the context of named pipes. This option indicates whether the client \\nis to wait if no data is currently available. BLOCK is the default value.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"BYTE\",\"StatementOptionHelp\":{\"#cdata\":\"Is used only in the context of named pipes. This option indicates the type of pipe. \\nBYTE is the default value.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"MESSAGE\",\"StatementOptionHelp\":{\"#cdata\":\"Is used only in the context of named pipes. This option indicates the type of pipe. \\nBYTE is the default value.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"EOFCONNECT\",\"StatementOptionHelp\":{\"#cdata\":\"[Windows Host Option] \\n        \\nIs used only in the context of named pipes and is valid only when you are defining \\nthe server. This option indicates that if an end-of-file (EOF) character is \\nreceived from a client, the server should try to connect to the next client.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"HOTLINK\",\"StatementOptionHelp\":{\"#cdata\":\"[Windows Host Option] \\n        \\nInstructs SAS to use the DDE HOTLINK.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"NOTAB\",\"StatementOptionHelp\":{\"#cdata\":\"[Windows Host Option] \\n        \\nInstructs SAS to ignore tab characters between variables.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"IGNOREDOSEOF\",\"StatementOptionHelp\":{\"#cdata\":\"[Windows Host Option] \\n        \\nIs used in the context of I/O operations on variable record format files. When this \\noption is specified, any occurrence of ^Z is interpreted as character data and \\nnot as an end-of-file marker.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"RECFM=\",\"StatementOptionHelp\":{\"#cdata\":\"[Windows/UNIX Host Option] \\n        \\nSpecifies the record format of the external file.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"F\",\"@Value2\":\"P\",\"@Value3\":\"S\",\"@Value4\":\"V|D\",\"@Value5\":\"N\",\"@Value6\":\"s370V\",\"@Value7\":\"S370VB\",\"@Value8\":\"S370VBS\",\"@Value9\":\"STREAMLF\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Fixed-record format\",\"@ToolTip2\":\"Print format.\",\"@ToolTip3\":\"Stream-record format.\",\"@ToolTip4\":\"Variable-record format (the default)\",\"@ToolTip5\":\"Indicates binary format and causes the file to be treated as a byte stream. If LRECL is not specified,  by default SAS reads 256 bytes at a time from the file.\",\"@ToolTip6\":\"Indicates the variable S370 record format (V).\",\"@ToolTip7\":\"Indicates the variable block S370 record format (VB).\",\"@ToolTip8\":\"Indicates the variable block with spanned records S370 record format (VBS).\",\"@ToolTip9\":\"[For OpenVMS] Specifies StreamLF record format. Records are delimited by LF.\"}},{\"StatementOptionName\":\"RETRY=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: RETRY=seconds] \\n        \\n[Windows Host Option]\\n\\nIs used only in the context of named pipes. This option specifies how long a named \\npipe client should wait for a busy pipe. The minimum (and default) value for seconds \\nis 10.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"SERVER\",\"StatementOptionHelp\":{\"#cdata\":\"[Windows Host Option] \\n        \\nIs used only in the context of named pipes. This option specifies the mode of a \\nnamed pipe. The default value is SERVER.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"CLIENT\",\"StatementOptionHelp\":{\"#cdata\":\"[Windows Host Option] \\n        \\nIs used only in the context of named pipes. This option specifies the mode of a \\nnamed pipe. The default value is SERVER.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"FAC=\",\"StatementOptionHelp\":{\"#cdata\":\"[OpenVMS Host Option]\\n  \\nOverrides the default file access attributes used for external files. Use this option \\nto indicate the level of access you want to allow for an external file. You can allow \\nREAD, WRITE, UPDATE, and DELETE access (as well as no access). By default with external \\nfiles, files opened for input allow read access, files opened for output allow WRITE \\naccess, and files opened for update allow READ and WRITE access. The form of the FAC= \\noption is \\n\\nFAC=access-option-list\\n\\nwhere access-option-list can be one of the following: \\n\\nDEL specifies DELETE access.\\n \\nGET specifies READ access.\\n \\nPUT specifies WRITE access.\\n \\nUPD specifies UPDATE access. \\n\\nYou can combine these values in any order. For example, specifying the following indicates \\nthat you want DELETE, READ, and WRITE access: \\n\\nfac=(del,get,put)\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"KEY=\",\"StatementOptionHelp\":{\"#cdata\":\"[OpenVMS Host Option]\\n  \\nSpecifies which key SAS uses to read the records in an RMS file with indexed organization. \\nThe KEY= option is always used with the KEYVALUE= option. \"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"KEYVALUE=\",\"StatementOptionHelp\":{\"#cdata\":\"[OpenVMS Host Option]\\n  \\nSpecifies the key value with which to begin reading an indexed file. \"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"MBC=\",\"StatementOptionHelp\":{\"#cdata\":\"[OpenVMS Host Option]\\n  \\nSpecifies the size of the I/O buffers that OpenVMS RMS allocates for a particular file. \\nThe value can range from 0 to 127 and represents the number of blocks used for each buffer. \\nBy default, this option is set to 0 and the default values for the process are used.\\n\\nThe MBC= option (multiblock count) is used for both input and output to control the \\nallocation for a particular file. If you want to control the allocation size for all \\nthe external files used during the current SAS session, you can use the MBC= option in \\nevery FILE, FILENAME, or INFILE statement. You can also use the DCL SET RMS_DEFAULT \\ncommand to specify a process default, and let the SAS values default to the process's \\ndefault values.\\n\\nThe MBC= option corresponds to the RAB$B_MBC field in OpenVMS RMS or the CONNECT \\nMULTIBLOCK_COUNT attribute when using FDL. This option is not supported for DECnet \\noperations.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"MBF=\",\"StatementOptionHelp\":{\"#cdata\":\"[OpenVMS Host Option]\\n  \\nSpecifies the number of I/O buffers you want OpenVMS RMS to allocate for a particular file. \\nThe value can range from 0 to 127 and represents the number of buffers used. By default, \\nthis option is set to a value of 2. If a value of 0 is specified, the default value for the \\nprocess is used.\\n\\nThe MBF= option (multibuffer count) is used for both input and output to control the number \\nof buffers allocated for a particular file. If you want to control the number of buffers \\nallocated for all the external files used during the SAS session, you can use the MBF= \\noption in every FILE, FILENAME, or INFILE statement. The DCL SET RMS_DEFAULT command can \\nbe used to specify a process default. Then, you can let the SAS values default to the \\nprocess's default values.\\n\\nThe MBF= option corresponds to the RAB$B_MBF field in OpenVMS RMS or the CONNECT MULTIBUFFER_COUNT \\nattribute when using FDL. This option is not supported for DECnet operations.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"SHR=\",\"StatementOptionHelp\":{\"#cdata\":\"[OpenVMS Host Option]\\n  \\nOverrides the default file-sharing attributes used for external files. With this option, \\nyou can indicate the access level you want to give other users. You can allow READ, WRITE, \\nUPDATE, and DELETE access (as well as no access). By default with external files, files \\nopened for input allow shared read access, and files opened for output or UPDATE do not \\nallow shared access.\\n\\nHowever, you can allow other users to have READ and WRITE access to a file that you are \\nopening for input only. To accomplish this, use the SHR= option. The syntax of the SHR= \\noption is \\n\\nSHR=share-option-list\\n\\nwhere share-option-list can be one of the following: DEL specifies DELETE access.\\n\\nGET specifies shared READ access.\\n \\nNONE specifies no shared access.\\n \\nPUT specifies shared WRITE access.\\n \\nUPD specifies UPDATE access.  \\n\\nYou can combine these values in any order. For example, specifying the following indicates \\nthat you want shared DELETE, READ, and WRITE access: \\n\\nshr=(del,get,put)\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"FILEDATA=\",\"StatementOptionHelp\":{\"#cdata\":\"[UNIX/z/OS Host Option] \\n    \\nThe FILEDATA= option specifies that the file being processed is expected to contain \\neither binary or text data.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"BINARY\",\"@Value2\":\"TEXT\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"The FILEDATA= option specifies that the file being processed is expected to contain  binary data.\",\"@ToolTip2\":\"The FILEDATA= option specifies that the file being processed is expected to contain  text data.\"}},{\"StatementOptionName\":\"BACKWARD|BKWD\",\"StatementOptionHelp\":{\"#cdata\":\"[VSAM Option]\\n    \\nCauses SAS to read the VSAM data set backwards (INFILE only)\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"BUFND=\",\"StatementOptionHelp\":{\"#cdata\":\"[VSAM Option]\\n    \\nSyntax: BUFND=value \\n\\nIndicates how many data buffers to use for the VSAM data set.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"BUFNI=\",\"StatementOptionHelp\":{\"#cdata\":\"[VSAM Option]\\n    \\nSyntax: BUFNI=value \\n\\nIndicates how many index buffers to use for the VSAM data set.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"CONTROLINTERVAL|CTLINTV|CNV\",\"StatementOptionHelp\":{\"#cdata\":\"[VSAM Option]\\n    \\nIndicates that you want to read physical VSAM control interval records rather than \\nlogical records. This option is typically used for diagnostic purposes (INFILE only).\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"ERASE=\",\"StatementOptionHelp\":{\"#cdata\":\"[VSAM Option]\\n    \\nSyntax: ERASE=variable \\n\\nDefines a numeric SAS variable that you must set to 1 when you want to erase \\na VSAM record (INFILE only).\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"FEEDBACK=|FDBK=\",\"StatementOptionHelp\":{\"#cdata\":\"[VSAM Option]\\n    \\nSyntax: FEEDBACK=variable | FDBK=variable \\n\\nDefines a numeric variable that SAS sets to the VSAM logical error code. This option \\nis similar to the _FDBK_ automatic variable. When SAS sets the FEEDBACK variable, you \\nmust reset it to 0 in order to continue.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"GENKEY\",\"StatementOptionHelp\":{\"#cdata\":\"[VSAM Option]\\n    \\nCauses SAS to use the KEY= variable as the leading portion of a record's key. VSAM \\nretrieves the first record whose key matches the generic key (INFILE only).\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"KEYLEN=\",\"StatementOptionHelp\":{\"#cdata\":\"[VSAM Option]\\n    \\nSyntax: KEYLEN=variable \\n\\nSpecifies a numeric SAS variable that, when used with GENKEY, specifies the length \\nof the key that is to be compared to the keys in the file.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"KEYPOS=\",\"StatementOptionHelp\":{\"#cdata\":\"[VSAM Option]\\n    \\nSyntax: KEYPOS=variable \\n\\nIndicates the numeric variable that SAS sets to the position of the VSAM key field. \\nThis option enables you to read keys without knowing the key position in advance. \\nThis variable is set to the column number (starting from 1).\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"NRLS\",\"StatementOptionHelp\":{\"#cdata\":\"[VSAM Option]\\n    \\nSpecifies not to use record-level sharing (RLS) to open an RLS-eligible data set (INFILE only).\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"PASSWD=\",\"StatementOptionHelp\":{\"#cdata\":\"[VSAM Option]\\n    \\nSyntax: PASSWD=value \\n\\nGives the appropriate password for a VSAM data set that has password protection.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"RBA=\",\"StatementOptionHelp\":{\"#cdata\":\"[VSAM Option]\\n    \\nSyntax: RBA=variable \\n\\nSpecifies a numeric variable that you set to the relative byte address (RBA) of \\nthe data record that you want to read. The RBA= option indicates that addressed \\ndirect access is being used; it is appropriate for KSDS and ESDS. If you specify \\nthe CONTROLINTERVAL option, you can use the RBA= option to access control records \\nin an RRDS (INFILE only).\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"RC4STOP\",\"StatementOptionHelp\":{\"#cdata\":\"[VSAM Option]\\n    \\nStops the DATA step from executing if a return code greater than 4 is returned by \\nthe operating environment when the VSAM data set is opened.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"RECORDS=\",\"StatementOptionHelp\":{\"#cdata\":\"[VSAM Option]\\n    \\nSyntax: RECORDS=variable \\n\\nDefines a numeric variable that SAS sets to the number of logical records in a \\nVSAM data set that has been opened for input.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"RECORG=\",\"StatementOptionHelp\":{\"#cdata\":\"[z/OS Host Option] \\n  \\nSpecifies the organization of records in a new VSAM data set. Use this option only \\nif SMS is active.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"KS\",\"@Value2\":\"ES\",\"@Value3\":\"RR\",\"@Value4\":\"LS\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Specifies a VSAM key-sequenced data set.\",\"@ToolTip2\":\"Specifies a VSAM entry-sequenced data set.\",\"@ToolTip3\":\"Specifies a VSAM relative-record data set.\",\"@ToolTip4\":\"Specifies a VSAM linear-space data set.\"}},{\"StatementOptionName\":\"RESET\",\"StatementOptionHelp\":{\"#cdata\":\"[VSAM Option]\\n    \\nIndicates that the VSAM file is reset to empty (no records) when it is opened. \\nThis option applies only to loading a VSAM data set that has been marked REUSE. \\nYou cannot use this option if the data set contains an alternate index.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"RRN=\",\"StatementOptionHelp\":{\"#cdata\":\"[VSAM Option]\\n    \\nSyntax: RRN=variable \\n\\nDefines a numeric variable that you set to the relative record number (RRN) of the \\nrecord that you want to read or write. This option indicates that keyed direct access \\nis being used; it is appropriate for RRDS only.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"SEQUENTIAL\",\"StatementOptionHelp\":{\"#cdata\":\"[VSAM Option]\\n    \\nSpecifies sequential VSAM record retrieval when either the RBA= (for an ESDS) or \\nthe RRN= option (for an RRDS) is specified (INFILE only).\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"SKIP\",\"StatementOptionHelp\":{\"#cdata\":\"[VSAM Option]\\n    \\nIndicates skip-sequential processing of VSAM files. Skip-sequential processing finds \\nthe first record whose value is the same as the value specified by the KEY= option; \\nrecords are read sequentially thereafter (INFILE only).\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"UPDATE=\",\"StatementOptionHelp\":{\"#cdata\":\"[VSAM Option]\\n    \\nSyntax: UPDATE=variable \\n\\nDefines a numeric SAS variable that indicates that not every record that it reads \\nis to be updated. Use this option when you are updating records in a VSAM data set \\n(INFILE only). When an INFILE and a FILE statement reference the same VSAM data set, \\nrecords are retrieved for update by default.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"CCHHR=\",\"StatementOptionHelp\":{\"#cdata\":\"[VTOC Option under z/OS] \\n          \\nSyntax: CCHHR=variable \\n\\nspecifies a character variable to which the physical address (cylinder head record) \\nof a record is returned. This applies to files on CKD disks only.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"CLOSE=\",\"StatementOptionHelp\":{\"#cdata\":\"[z/OS Host Option] \\n  \\nIndicates how a tape volume is positioned at the end of the DATA step.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"REREAD\",\"@Value2\":\"LEAVE\",\"@Value3\":\"REWIND\",\"@Value4\":\"FREE\",\"@Value5\":\"DISP\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Positions the tape at the logical beginning of the data set.\",\"@ToolTip2\":\"Positions the tape at the logical end of the data set.\",\"@ToolTip3\":\"Rewinds the tape to the physical beginning of the volume.\",\"@ToolTip4\":\"Dynamically deallocates the tape volume.\",\"@ToolTip5\":\"Is implied by the control language.\"}},{\"StatementOptionName\":\"CSRC\",\"StatementOptionHelp\":{\"#cdata\":\"[OpenVMS Host Option]\\n  \\nSpecifies that you want to use the CSRCESRV services (available with z/OS) to compress \\ndata on output. For example: \\n\\n  data _null_;\\n     file myfile csrc;\\n     put ... ;\\n  run;\\n\\nYou cannot use this option with an external file that has a fixed-length record format.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"DCB=\",\"StatementOptionHelp\":{\"#cdata\":\"[OpenVMS Host Option]\\n  \\nSyntax: DCB=fileref \\n\\nspecifies the fileref of an external file that was referenced in an earlier FILE or \\nINFILE statement in the same DATA step. SAS uses that file's RECFM=, LRECL=, and BLKSIZE= \\ninformation for the current file.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"CVAF\",\"StatementOptionHelp\":{\"#cdata\":\"[VTOC Option under z/OS] \\n  \\nTells SAS to use the Common VTOC Access Facility (CVAF) of the IBM program product \\nData Facility/Device Support (DF/DS) for indexed VTOCs. If the VTOC is not indexed, \\nor if your installation does not have CVAF, this option is ignored.\"},\"StatementOptionType\":\"S\"}],\"#comment\":[{},{},{}]}},{\"StatementName\":\"INPUT\",\"StatementHelp\":{\"#cdata\":\"Syntax: INPUT <specification(s)><@|@@>; \\n      \\nDescribes the arrangement of values in the input data record and assigns input values to the \\ncorresponding SAS variables.\"},\"StatementOptions\":null},{\"StatementName\":\"KEEP\",\"StatementHelp\":{\"#cdata\":\"Syntax: KEEP variable-list; \\n      \\nSpecifies the variables to include in output SAS data sets.\"},\"StatementOptions\":null},{\"StatementName\":\"LEAVE\",\"StatementHelp\":{\"#cdata\":\"Syntax: LEAVE; \\n      \\nStops processing the current loop and resumes with the next statement in the sequence.\"},\"StatementOptions\":null},{\"StatementName\":\"LENGTH\",\"StatementHelp\":{\"#cdata\":\"Syntax: LENGTH variable-specification(s)<DEFAULT=n>; \\n      \\nSpecifies the number of bytes for storing variables.\"},\"StatementOptions\":{\"StatementOption\":{\"StatementOptionName\":\"DEFAULT=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: DEFAULT=n] \\n          \\nChanges the default number of bytes that SAS uses to store the values of any newly created \\nnumeric variables.\"},\"StatementOptionType\":\"V\"}}},{\"StatementName\":\"LINK\",\"StatementHelp\":{\"#cdata\":\"Syntax: LINK label; \\n      \\nDirects program execution immediately to the statement label that is specified and, if followed \\nby a RETURN statement, returns execution to the statement that follows the LINK statement.\"},\"StatementOptions\":null},{\"StatementName\":\"LIST\",\"StatementHelp\":{\"#cdata\":\"Syntax: LIST; \\n      \\nWrites to the SAS log the input data record for the observation that is being processed.\"},\"StatementOptions\":null},{\"StatementName\":\"LOCK\",\"StatementHelp\":{\"#cdata\":\"Syntax: LOCK libref<.member-name<.member-type | .entry-name.entry-type>> <LIST | QUERY | SHOW | CLEAR> ; \\n      \\nAcquires and releases an exclusive lock on an existing SAS file.\"},\"StatementOptions\":{\"StatementOption\":[{\"StatementOptionName\":\"LIST|QUERY|SHOW\",\"StatementOptionHelp\":{\"#cdata\":\"Writes to the SAS log whether you have an exclusive lock on the specified SAS file.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"CLEAR\",\"StatementOptionHelp\":{\"#cdata\":\"Releases a lock on the specified SAS file that was acquired by using the LOCK statement in your \\nSAS session.\"},\"StatementOptionType\":\"S\"}]}},{\"StatementName\":\"LOSTCARD\",\"StatementHelp\":{\"#cdata\":\"Syntax: LOSTCARD; \\n      \\nResynchronizes the input data when SAS encounters a missing or invalid record in data that \\nhas multiple records per observation. \"},\"StatementOptions\":null},{\"StatementName\":\"MERGE\",\"StatementHelp\":{\"#cdata\":\"Syntax: MERGE SAS-data-set-1 <(data-set-options)> \\n  SAS-data-set-2 <(data-set-options) > \\n  <...SAS-data-set-n<(data-set-options)>> \\n  <END=variable>; \\n  \\nJoins observations from two or more SAS data sets into a single observation.\"},\"StatementOptions\":{\"StatementOption\":[{\"StatementOptionName\":\"END=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: END=variable] \\n          \\nNames and creates a temporary variable that contains an end-of-file indicator.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"ALTER=\",\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"BUFNO=\",\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"n\",\"@Value2\":\"nK\",\"@Value3\":\"hexX\",\"@Value4\":\"MIN\",\"@Value5\":\"MAX\"}},{\"StatementOptionName\":\"BUFSIZE=\",\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"n\",\"@Value2\":\"nK\",\"@Value3\":\"nM\",\"@Value4\":\"nG\",\"@Value5\":\"hexX\",\"@Value6\":\"MIN\",\"@Value7\":\"MAX\"}},{\"StatementOptionName\":\"CNTLLEV=\",\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"LIB\",\"@Value2\":\"MEM\",\"@Value3\":\"REC\"}},{\"StatementOptionName\":\"COMPRESS=\",\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"NO\",\"@Value2\":\"YES\",\"@Value3\":\"CHAR\",\"@Value4\":\"BINARY\"}},{\"StatementOptionName\":\"DLDMGACTION=\",\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"FAIL\",\"@Value2\":\"ABORT\",\"@Value3\":\"REPAIR\",\"@Value4\":\"NOINDEX\",\"@Value5\":\"PROMPT\"}},{\"StatementOptionName\":\"ENCRYPT=\",\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"YES\",\"@Value2\":\"NO\"}},{\"StatementOptionName\":\"ENCRYPTKEY=\",\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"GENMAX=\",\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"GENNUM=\",\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"INDEX=\",\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"LABEL=\",\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"OUTREP=\",\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"PW=\",\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"PWREQ=\",\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"YES\",\"@Value2\":\"NO\"}},{\"StatementOptionName\":\"READ=\",\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"REPEMPTY=\",\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"YES\",\"@Value2\":\"NO\"}},{\"StatementOptionName\":\"REPLACE=\",\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"YES\",\"@Value2\":\"NO\"}},{\"StatementOptionName\":\"REUSE=\",\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"YES\",\"@Value2\":\"NO\"}},{\"StatementOptionName\":\"SPILL=\",\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"YES\",\"@Value2\":\"NO\"}},{\"StatementOptionName\":\"SORTEDBY=\",\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"by-clause < / collate-name>\",\"@Value2\":\"_NULL_\"}},{\"StatementOptionName\":\"TOBSNO=\",\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"TRANTAB=\",\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"TYPE=\",\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"WRITE=\",\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"FILECLOSE=\",\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"DISP\",\"@Value2\":\"LEAVE\",\"@Value3\":\"REREAD\",\"@Value4\":\"REWIND\"}},{\"StatementOptionName\":\"FIRSTOBS=\",\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"n\",\"@Value2\":\"nK\",\"@Value3\":\"nM\",\"@Value4\":\"nG\",\"@Value5\":\"hexX\",\"@Value6\":\"MIN\",\"@Value7\":\"MAX\"}},{\"StatementOptionName\":\"IN=\",\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"OBS=\",\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"n\",\"@Value2\":\"nK\",\"@Value3\":\"nM\",\"@Value4\":\"nG\",\"@Value5\":\"nT\",\"@Value6\":\"hexX\",\"@Value7\":\"MIN\",\"@Value8\":\"MAX\"}},{\"StatementOptionName\":\"POINTOBS=\",\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"YES\",\"@Value2\":\"NO\"}},{\"StatementOptionName\":\"WHERE=\",\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"WHEREUP=\",\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"YES\",\"@Value2\":\"NO\"}},{\"StatementOptionName\":\"SGIO=\",\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"YES\",\"@Value2\":\"NO\"}},{\"StatementOptionName\":\"IDXNAME=\",\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"IDXWHERE=\",\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"YES\",\"@Value2\":\"NO\"}},{\"StatementOptionName\":\"DROP=\",\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"KEEP=\",\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"RENAME=\",\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"EXTENDOBSCOUNTER=\",\"StatementOptionType\":\"V\"}],\"#comment\":{}}},{\"StatementName\":\"MISSING\",\"StatementHelp\":{\"#cdata\":\"Syntax: MISSING character(s); \\n      \\nAssigns characters in your input data to represent special missing values for numeric data.\"},\"StatementOptions\":null},{\"StatementName\":\"MODIFY\",\"StatementHelp\":{\"#cdata\":\"Replaces, deletes, and appends observations in an existing SAS data set in place but does not \\ncreate an additional copy.\\n      \\nSyntax: \\n(1) MODIFY master-data-set <(data-set-option(s))> transaction-data-set <(data-set-option(s))> \\n    <NOBS=variable> <END=variable> <UPDATEMODE=MISSINGCHECK| \\n    NOMISSINGCHECK>; \\n    BY by-variable;  \\n\\n(2) MODIFY master-data-set <(data-set-option(s))> KEY=index </ UNIQUE> <NOBS=variable> <END=variable> ;  \\n\\n(3) MODIFY master-data-set <(data-set-option(s))> <NOBS=variable> POINT=variable;  \\n\\n(4) MODIFY master-data-set <(data-set-option(s))> <NOBS=variable> <END=variable>; \"},\"StatementOptions\":{\"StatementOption\":[{\"StatementOptionName\":\"END=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: END=variable] \\n          \\nCreates and names a temporary variable that contains an end-of-file indicator.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"KEY=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: KEY=index] \\n          \\nSpecifies a simple or composite index of the SAS data file that is being modified. \\nThe KEY= argument retrieves observations from that SAS data file based on index \\nvalues that are supplied by like-named variables in another source of information.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"NOBS=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: NOBS=variable] \\n          \\nCreates and names a temporary variable whose value is usually the total number \\nof observations in the input data set. For certain SAS views, SAS cannot determine \\nthe number of observations. In these cases, SAS sets the value of the NOBS= variable \\nto the largest positive integer value available in the operating environment.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"POINT=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: POINT=variable] \\n          \\nReads SAS data sets using random (direct) access by observation number. variable \\nnames a variable whose value is the number of the observation to read. The POINT= \\nvariable is available anywhere in the DATA step, but it is not added to any SAS \\ndata set.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"UNIQUE\",\"StatementOptionHelp\":{\"#cdata\":\"Causes a KEY= search always to begin at the top of the index for the data file being modified.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"UPDATEMODE=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies whether missing variable values in a transaction data set are to be allowed to replace \\nexisting variable values in a master data set.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"MISSINGCHECK\",\"@Value2\":\"NOMISSINGCHECK\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Prevents missing variable values in a transaction data set from replacing values in a master data set.\",\"@ToolTip2\":\"Allows missing variable values in a transaction data set to replace values in a master data set by  preventing the check from being performed.\"}},{\"StatementOptionName\":\"CUREOBS=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: CUROBS=variable]  \\n          \\nCreates and names a variable that contains the observation number that was just read from the data set.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"KEYRESET=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: KEYRESET=variable] \\n          \\nControls whether a KEY= search should begin at the top of the index for the data set that is being read. \\nWhen the value of the KEYRESET variable is 1, the index lookup begins at the top of the index. When the \\nvalue of the KEYRESET variable is 0, the index lookup is not reset and the lookup continues where the \\nprior lookup ended. \\n\\nInteraction:\\nThe KEYRESET= option is similar to the UNIQUE option, except the KEYRESET= option enables you to determine \\nwhen the KEY= search should begin at the top of the index again.\"},\"StatementOptionType\":\"V\"}]}},{\"StatementName\":\"OUTPUT\",\"StatementHelp\":{\"#cdata\":\"Syntax: OUTPUT<data-set-name(s)>; \\n      \\nWrites the current observation to a SAS data set.\"},\"StatementOptions\":null},{\"StatementName\":\"PAGE\",\"StatementHelp\":{\"#cdata\":\"Syntax: PAGE; \\n      \\nSkips to a new page in the SAS log.\"},\"StatementOptions\":null},{\"StatementName\":\"PUT\",\"StatementHelp\":{\"#cdata\":\"Syntax: PUT <specification(s)><_ODS_><@|@@>; \\n      \\nWrites lines to the SAS log, to the SAS output window, or to an external location that is \\nspecified in the most recent FILE statement.\"},\"StatementOptions\":{\"StatementOption\":[{\"StatementOptionName\":\"_INFILE_\",\"StatementOptionHelp\":{\"#cdata\":\"Writes the last input data record that is read either from the current input file or from the data \\nlines that follow a DATELINES statement.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"_ALL_\",\"StatementOptionHelp\":{\"#cdata\":\"Writes the values of all variables, which includes automatic variables, that are defined in the \\ncurrent DATA step by using named output.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"_ODS_\",\"StatementOptionHelp\":{\"#cdata\":\"Moves data values for all columns (as defined by the ODS option in the FILE statement) into \\na special buffer, from which it is eventually written to the data component. The ODS option \\nin the FILE statement defines the structure of the data component that holds the results of \\nthe DATA step.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"OVERPRINT\",\"StatementOptionHelp\":{\"#cdata\":\"Causes the values that follow the keyword OVERPRINT to print on the most recently written \\noutput line.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"_BLANKPAGE_\",\"StatementOptionHelp\":{\"#cdata\":\"Advances the pointer to the first line of a new page, even when the pointer is positioned \\non the first line and the first column of a new page.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"_PAGE_\",\"StatementOptionHelp\":{\"#cdata\":\"Advances the pointer to the first line of a new page. SAS automatically begins a new \\npage when a line exceeds the current PAGESIZE= value.\"},\"StatementOptionType\":\"S\"}]}},{\"StatementName\":\"PUTLOG\",\"StatementHelp\":{\"#cdata\":\"Syntax: PUTLOG 'message'; \\n      \\nWrites a message to the SAS log.\"},\"StatementOptions\":null},{\"StatementName\":\"REDIRECT\",\"StatementHelp\":{\"#cdata\":\"Syntax: REDIRECT INPUT | OUTPUT old-name-1 = new-name-1<... old-name-n = new-name-n>; \\n      \\nPoints to different input or output SAS data sets when you execute a stored program.\"},\"StatementOptions\":{\"StatementOption\":[{\"StatementOptionName\":\"INPUT\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies to redirect input data sets.\"},\"StatementOptionType\":\"RS\"},{\"StatementOptionName\":\"OUTPUT\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies to redirect output data sets.\"},\"StatementOptionType\":\"RS\"}]}},{\"StatementName\":\"REMOVE\",\"StatementHelp\":{\"#cdata\":\"Syntax: REMOVE <data-set-name(s)>; \\n      \\nDeletes an observation from a SAS data set.\"},\"StatementOptions\":null},{\"StatementName\":\"RENAME\",\"StatementHelp\":{\"#cdata\":\"Syntax: RENAME old-name-1=new-name-1 ... <old-name-n=new-name-n>; \\n      \\nSpecifies new names for variables in output SAS data sets. \"},\"StatementOptions\":null},{\"StatementName\":\"REPLACE\",\"StatementHelp\":{\"#cdata\":\"Syntax: REPLACE <data-set-name-1><...data-set-name-n>; \\n      \\nReplaces an observation in the same location.\"},\"StatementOptions\":null},{\"StatementName\":\"RETAIN\",\"StatementHelp\":{\"#cdata\":\"Syntax: RETAIN <element-list(s) <initial-value(s) | \\n  (initial-value-1) | (initial-value-list-1) > \\n  < ... element-list-n <initial-value-n | \\n  (initial-value-n ) | (initial-value-list-n)>>>; \\n  \\nCauses a variable that is created by an INPUT or assignment statement to retain its value from \\none iteration of the DATA step to the next.\"},\"StatementOptions\":null},{\"StatementName\":\"RETURN\",\"StatementHelp\":{\"#cdata\":\"Syntax: RETURN; \\n      \\nStops executing statements at the current point in the DATA step and returns to a predetermined \\npoint in the step.\"},\"StatementOptions\":null},{\"StatementName\":\"SELECT\",\"StatementHelp\":{\"#cdata\":\"Executes one of several statements or groups of statements.\\n      \\nSyntax: \\nSELECT <(select-expression)>;  \\n  WHEN-1 (when-expression-1 <..., when-expression-n>) statement;  \\n    <... WHEN-n (when-expression-1 <..., when-expression-n>) statement;>  \\n      <OTHERWISE statement;> \\nEND;\"},\"StatementOptions\":null},{\"StatementName\":\"WHEN\",\"StatementHelp\":{\"#cdata\":\"SELECT groups contain WHEN statements that identify SAS statements that are executed when a particular \\ncondition is true. Use at least one WHEN statement in a SELECT group.\\n      \\nSyntax: WHEN-1 (when-expression-1 <..., when-expression-n>) statement; \"},\"StatementOptions\":{\"StatementOption\":{\"StatementOptionName\":\"DO\",\"StatementOptionHelp\":{\"#cdata\":\"Action statement.\"},\"StatementOptionType\":\"S\"}}},{\"StatementName\":\"OTHERWISE\",\"StatementHelp\":{\"#cdata\":\"An optional OTHERWISE statement specifies a statement to be executed if no WHEN condition is met. \\nAn END statement ends a SELECT group.\\n\\n      \\nSyntax: \\n  <... WHEN-n (when-expression-1 <..., when-expression-n>) statement;>  \\n    <OTHERWISE statement;>\"},\"StatementOptions\":{\"StatementOption\":{\"StatementOptionName\":\"DO\",\"StatementOptionHelp\":{\"#cdata\":\"Action statement.\"},\"StatementOptionType\":\"S\"}}},{\"StatementName\":\"SET\",\"StatementHelp\":{\"#cdata\":\"Syntax: SET <SAS-data-set(s) <(data-set-options(s) )>> <options>; \\n      \\nReads an observation from one or more SAS data sets.\"},\"StatementOptions\":{\"StatementOption\":[{\"StatementOptionName\":\"END=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: END=variable] \\n          \\nCreates and names a temporary variable that contains an end-of-file indicator. \\nThe variable, which is initialized to zero, is set to 1 when SET reads the last \\nobservation of the last data set listed. This variable is not added to any new \\ndata set.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"KEY=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: KEY=index</UNIQUE>] \\n          \\nProvides nonsequential access to observations in a SAS data set, which \\nare based on the value of an index variable or a key.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"INDSNAME=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: INDSNAME=variable] \\n          \\nCreates and names a variable that stores the name of the SAS data set from which \\nthe current observation is read. The stored name can be a data set name or a physical \\nname. The physical name is the name by which the operating environment recognizes the \\nfile.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"NOBS=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: NOBS=variable] \\n          \\nCreates and names a temporary variable whose value is usually the total number \\nof observations in the input data set or data sets. If more than one data set \\nis listed in the SET statement, NOBS= the total number of observations in the \\ndata sets that are listed. The number of observations includes those observations \\nthat are marked for deletion but are not yet deleted.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"OPEN=\",\"StatementOptionHelp\":{\"#cdata\":\"Allows you to delay the opening of any concatenated SAS data sets until they are ready to be processed.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"IMMEDIATE\",\"@Value2\":\"DEFER\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"During the compilation phase, opens all data sets that are listed in the SET statement.\",\"@ToolTip2\":\"Opens the first data set during the compilation phase, and opens subsequent data  sets during the execution phase. When the DATA step reads and processes all  observations in a data set, it closes the data set and opens the next data  set in the list.\"}},{\"StatementOptionName\":\"POINT=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: POINT=variable] \\n          \\nSpecifies a temporary variable whose numeric value determines which observation \\nis read. POINT= causes the SET statement to use random (direct) access to read \\na SAS data set.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"UNIQUE\",\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"CUREOBS=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: CUROBS=variable]  \\n          \\nCreates and names a variable that contains the observation number that was just read from the data set.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"KEYRESET=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: KEYRESET=variable] \\n          \\nControls whether a KEY= search should begin at the top of the index for the data set that is being read. \\nWhen the value of the KEYRESET variable is 1, the index lookup begins at the top of the index. When the \\nvalue of the KEYRESET variable is 0, the index lookup is not reset and the lookup continues where the \\nprior lookup ended. \\n\\nInteraction:\\nThe KEYRESET= option is similar to the UNIQUE option, except the KEYRESET= option enables you to determine \\nwhen the KEY= search should begin at the top of the index again.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"ALTER=\",\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"BUFNO=\",\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"n\",\"@Value2\":\"nK\",\"@Value3\":\"hexX\",\"@Value4\":\"MIN\",\"@Value5\":\"MAX\"}},{\"StatementOptionName\":\"BUFSIZE=\",\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"n\",\"@Value2\":\"nK\",\"@Value3\":\"nM\",\"@Value4\":\"nG\",\"@Value5\":\"hexX\",\"@Value6\":\"MIN\",\"@Value7\":\"MAX\"}},{\"StatementOptionName\":\"CNTLLEV=\",\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"LIB\",\"@Value2\":\"MEM\",\"@Value3\":\"REC\"}},{\"StatementOptionName\":\"COMPRESS=\",\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"NO\",\"@Value2\":\"YES\",\"@Value3\":\"CHAR\",\"@Value4\":\"BINARY\"}},{\"StatementOptionName\":\"DLDMGACTION=\",\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"FAIL\",\"@Value2\":\"ABORT\",\"@Value3\":\"REPAIR\",\"@Value4\":\"NOINDEX\",\"@Value5\":\"PROMPT\"}},{\"StatementOptionName\":\"ENCRYPT=\",\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"YES\",\"@Value2\":\"NO\"}},{\"StatementOptionName\":\"ENCRYPTKEY=\",\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"GENMAX=\",\"StatementOptionType\":\"V\",\"StatementOptionHelp\":{\"#cdata\":\"Requests generations for a data set and specifies the maximum number of versions.\"}},{\"StatementOptionName\":\"GENNUM=\",\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"INDEX=\",\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"NOMISS\",\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"LABEL=\",\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"OUTREP=\",\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"PW=\",\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"PWREQ=\",\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"YES\",\"@Value2\":\"NO\"}},{\"StatementOptionName\":\"READ=\",\"StatementOptionType\":\"V\",\"StatementOptionHelp\":{\"#cdata\":\"Assigns a read password to a SAS file and enables access to a read-protected SAS file.\"}},{\"StatementOptionName\":\"REPEMPTY=\",\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"YES\",\"@Value2\":\"NO\"}},{\"StatementOptionName\":\"REPLACE=\",\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"YES\",\"@Value2\":\"NO\"}},{\"StatementOptionName\":\"REUSE=\",\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"YES\",\"@Value2\":\"NO\"}},{\"StatementOptionName\":\"SPILL=\",\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"YES\",\"@Value2\":\"NO\"}},{\"StatementOptionName\":\"SORTEDBY=\",\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"by-clause < / collate-name>\",\"@Value2\":\"_NULL_\"}},{\"StatementOptionName\":\"TOBSNO=\",\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"TRANTAB=\",\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"TYPE=\",\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"WRITE=\",\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"FILECLOSE=\",\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"DISP\",\"@Value2\":\"LEAVE\",\"@Value3\":\"REREAD\",\"@Value4\":\"REWIND\"}},{\"StatementOptionName\":\"FIRSTOBS=\",\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"n\",\"@Value2\":\"nK\",\"@Value3\":\"nM\",\"@Value4\":\"nG\",\"@Value5\":\"hexX\",\"@Value6\":\"MIN\",\"@Value7\":\"MAX\"}},{\"StatementOptionName\":\"IN=\",\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"OBS=\",\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"n\",\"@Value2\":\"nK\",\"@Value3\":\"nM\",\"@Value4\":\"nG\",\"@Value5\":\"nT\",\"@Value6\":\"hexX\",\"@Value7\":\"MIN\",\"@Value8\":\"MAX\"}},{\"StatementOptionName\":\"POINTOBS=\",\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"YES\",\"@Value2\":\"NO\"}},{\"StatementOptionName\":\"WHERE=\",\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"WHEREUP=\",\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"YES\",\"@Value2\":\"NO\"}},{\"StatementOptionName\":\"SGIO=\",\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"YES\",\"@Value2\":\"NO\"}},{\"StatementOptionName\":\"IDXNAME=\",\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"IDXWHERE=\",\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"YES\",\"@Value2\":\"NO\"}},{\"StatementOptionName\":\"DROP=\",\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"KEEP=\",\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"RENAME=\",\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"EXTENDOBSCOUNTER=\",\"StatementOptionType\":\"V\"}],\"#comment\":{}}},{\"StatementName\":\"SKIP\",\"StatementHelp\":{\"#cdata\":\"Syntax: SKIP <n>; \\n      \\nCreates a blank line in the SAS log.\"},\"StatementOptions\":null},{\"StatementName\":\"STOP\",\"StatementHelp\":{\"#cdata\":\"Syntax: STOP; \\n      \\nStops execution of the current DATA step.\"},\"StatementOptions\":null},{\"StatementName\":\"UPDATE\",\"StatementHelp\":{\"#cdata\":\"Updates a master file by applying transactions. \\n      \\nSyntax: \\nUPDATE master-data-set<(data-set-options)> transaction-data-set<(data-set-options)>  \\n  <END=variable>  \\n  \\n  <UPDATEMODE= \\n  MISSINGCHECK|NOMISSINGCHECK>;  \\n  BY by-variable;\"},\"StatementOptions\":{\"StatementOption\":[{\"StatementOptionName\":\"END=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: END=variable] \\n          \\nCreates and names a temporary variable that contains an end-of-file indicator. \\nThis variable is initialized to 0 and is set to 1 when UPDATE processes the last \\nobservation. This variable is not added to any data set.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"UPDATEMODE=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies whether missing variable values in a transaction data set are to be allowed to replace \\nexisting variable values in a master data set.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"MISSINGCHECK\",\"@Value2\":\"NOMISSINGCHECK\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Prevents missing variable values in a transaction data set from replacing values in a master data set.\",\"@ToolTip2\":\"Allows missing variable values in a transaction data set to replace values in a master data set.\"}}]}},{\"StatementName\":\"WINDOW\",\"StatementOptions\":{\"StatementOption\":[{\"StatementOptionName\":\"COLOR=|C=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies the color of the window background for operating environments that have this capability. \\nIn other operating environments, this option affects the color of the window border.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"BLACK\",\"@Value2\":\"GRAY\",\"@Value3\":\"PINK\",\"@Value4\":\"BLUE\",\"@Value5\":\"GREEN\",\"@Value6\":\"RED\",\"@Value7\":\"BROWN\",\"@Value8\":\"MAGENTA\",\"@Value9\":\"WHITE\",\"@Value10\":\"CYAN\",\"@Value11\":\"ORANGE\",\"@Value12\":\"YELLOW\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"BLACK\",\"@ToolTip2\":\"GRAY|GREY\",\"@ToolTip3\":\"PINK\",\"@ToolTip4\":\"BLUE\",\"@ToolTip5\":\"GREEN\",\"@ToolTip6\":\"RED\",\"@ToolTip7\":\"BROWN\",\"@ToolTip8\":\"MAGENTA\",\"@ToolTip9\":\"WHITE\",\"@ToolTip10\":\"CYAN\",\"@ToolTip11\":\"ORANGE\",\"@ToolTip12\":\"YELLOW\"}},{\"StatementOptionName\":\"COLUMNS=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: COLUMNS=columns] \\n          \\nSpecifies the number of columns in the window.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"ICOLUMN=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: ICOLUMN=column] \\n          \\nSpecifies the initial column within the monitor at which the window is displayed.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"IROW=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: IROW=row] \\n          \\nSpecifies the initial row (or line) within the monitor at which the window is displayed.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"KEYS=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: KEYS=<<libref.>catalog.>keys-entry] \\n          \\nSpecifies the name of a KEYS entry that contains the function key definitions \\nfor the window.\"},\"StatementOptionType\":\"DV\"},{\"StatementOptionName\":\"MENU=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: MENU=<<libref.>catalog.>pmenu-entry] \\n          \\nSpecifies the name of a menu (pmenu) you have built with the PMENU procedure.\"},\"StatementOptionType\":\"DV\"},{\"StatementOptionName\":\"ROWS=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: ROWS=rows] \\n          \\nSpecifies the number of rows (or lines) in the window.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"ATTR=|A=\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: ATTR=attribute | (attribute-1 <... , attribute-n>) \\n          \\nControls these highlighting attributes of the field: \"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"BLINK\",\"@Value2\":\"HIGHLIGHT\",\"@Value3\":\"REV_VIDEO\",\"@Value4\":\"UNDERLINE\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Causes the field to blink.\",\"@ToolTip2\":\"Displays the field at high intensity.\",\"@ToolTip3\":\"Displays the field in reverse video.\",\"@ToolTip4\":\"Underlines the field.\"}},{\"StatementOptionName\":\"AUTOSKIP=|SKIP=\",\"StatementOptionHelp\":{\"#cdata\":\"Controls whether the cursor moves to the next unprotected field of the current window or group \\nwhen you have entered data in all positions of a field.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"YES\",\"@Value2\":\"NO\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Specifies that the cursor moves automatically to the next unprotected field.\",\"@ToolTip2\":\"Specifies that the cursor does not move automatically.\"}},{\"StatementOptionName\":\"DISPLAY=\",\"StatementOptionHelp\":{\"#cdata\":\"Determines whether the macro processor displays the characters you are entering into a macro variable \\nvalue as you enter them.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"YES\",\"@Value2\":\"NO\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Specifies that SAS displays characters in a field as you type them in.\",\"@ToolTip2\":\"Specifies that the entered characters are not displayed.\"}},{\"StatementOptionName\":\"PERSIST=\",\"StatementOptionHelp\":{\"#cdata\":\"Controls whether a field is displayed by all executions of a DISPLAY statement in the same iteration \\nof the DATA step until the DISPLAY statement contains the BLANK option.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"YES\",\"@Value2\":\"NO\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Specifies that each execution of the DISPLAY statement displays all previously  displayed contents of the field as well as the contents that are scheduled  for display by the current DISPLAY statement. If the new contents overlap  persisting contents, the persisting contents are no longer displayed.\",\"@ToolTip2\":\"Specifies that each execution of a DISPLAY statement displays only the current contents of the field.\"}},{\"StatementOptionName\":\"PROTECT=|P=\",\"StatementOptionHelp\":{\"#cdata\":\"Controls whether information can be entered into a field.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"YES\",\"@Value2\":\"NO\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Specifies that you cannot enter information.\",\"@ToolTip2\":\"Specifies that you can enter information.\"}},{\"StatementOptionName\":\"REQUIRED=\",\"StatementOptionHelp\":{\"#cdata\":\"Controls whether a field can be left blank.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"YES\",\"@Value2\":\"NO\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Specifies that you must enter a value in the field.\",\"@ToolTip2\":\"Specifies that you can leave the field blank.\"}},{\"StatementOptionName\":\"GROUP=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: GROUP=group] \\n          \\nSpecifies a group of related fields.\"},\"StatementOptionType\":\"V\"}]}},{\"StatementName\":\"ODS LISTING\",\"StatementHelp\":{\"#cdata\":\"Opens, manages, or closes the LISTING destination. \\n      \\nSyntax: \\n(1) ODS LISTING <action>;  \\n(2) ODS LISTING <DATAPANEL=number | DATA | PAGE > <FILE=file-specification>; \"},\"StatementOptions\":{\"StatementOption\":[{\"StatementOptionName\":\"CLOSE\",\"StatementOptionHelp\":{\"#cdata\":\"Closes the LISTING destination and any files that are associated with it.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"EXCLUDE\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: EXCLUDE exclusion(s)| ALL | NONE \\n          \\nExcludes one or more output objects from the LISTING destination.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"ALL\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: EXCLUDE/SELECT ALL \\n          \\nExcludes/Selects all output objects for the LISTING destination.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"NONE\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: EXCLUDE/SELECT NONE \\n          \\nExcludes/Selects no output objects for the LISTING destination.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"SELECT\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: SELECT selection(s) | ALL | NONE \\n          \\nSelects output objects for the LISTING destination.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"SHOW\",\"StatementOptionHelp\":{\"#cdata\":\"Writes the current selection or exclusion list for the destination to the SAS log.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"DATAPANEL=\",\"StatementOptionHelp\":{\"#cdata\":\"Suggests how to split a table that is too wide to fit on a single page into sections of columns and \\nrows. Each section of columns and rows is a data panel. Each data panel has column headings at the top.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"<number>\",\"@Value2\":\"DATA\",\"@Value3\":\"PAGE\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Writes the specified number of observations in a panel, if possible. More than one panel can occur on  every page if space permits.   Range: 1 to the largest integer that the operating system supports.\",\"@ToolTip2\":\"Bases the size of the panel on the way that the table is stored in memory. This value provides the  fastest performance. However, if the table contains many columns, the number of rows in each panel  might be small.\",\"@ToolTip3\":\"Tries to make panels that match the page size. If the table contains more columns than can fit on a  page, the first page is filled with as many observations as possible for as many columns as can fit  on a single line. The second page contains the same observations for the next group of columns, and  so on, until all rows and columns have been printed.\"}},{\"StatementOptionName\":\"DEVICE=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: DEVICE= device-driver] \\n          \\nSpecifies the name of a device driver. ODS automatically selects an optimal default \\ndevice for each open output destination.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"FILE=\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: FILE=file-specification\\n          \\nSpecifies the file to write to. file-specification is one of the following:\\n\\n  'external-file' \\n  is the name of an external file to which to write.\\n\\n  fileref \\n  is a file reference that has been assigned to an external file.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"GPATH=\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: GPATH= file-specification <(url='Uniform-Resource-Locator' | NONE)> \\n\\nSpecifies the location for all graphics output that is generated while the destination is open. \\n\\nfile-specification \\nspecifies the file or SAS catalog to which to write. file-specification is one of the following:\\n\\n    external-file \\n    is the name of an external file to write to.\\n    Requirement: You must enclose external-file in quotation marks. \\n\\n    fileref \\n    is a file reference that has been assigned to an external file.\\n    \\n    libref.catalog \\n    specifies a SAS catalog to which to write.\\n\\nURL= 'Uniform-Resource-Locator' | NONE \\nspecifies a URL for file-specification. \\n\\n    Uniform-Resource-Locator \\n    is the URL you specify. ODS uses this URL instead of the filename in all the links and references \\n    that it creates to the file.\\n\\n      Requirement: You must enclose Uniform-Resource-Locator in quotation marks. \\n\\n    NONE \\n    specifies that no information from the GPATH= option appears in the links or references.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"URL=\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: URL= 'Uniform-Resource-Locator' | NONE \\n\\nSpecifies a URL for file-specification. \\n\\n    Uniform-Resource-Locator \\n    is the URL you specify. ODS uses this URL instead of the filename in all the links and references \\n    that it creates to the file.\\n\\n      Requirement: You must enclose Uniform-Resource-Locator in quotation marks. \\n\\n    NONE \\n    specifies that no information from the GPATH= option appears in the links or references.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"IMAGE_DPI=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies the image resolution of ODS graphics output. Output from device-based graphics is not \\naffected. Default: 100\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"PACKAGE\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: PACKAGE <package-name>] \\n          \\nSpecifies that the output from the destination be added to a package.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"SGE=\",\"StatementOptionHelp\":{\"#cdata\":\"Determines whether you can edit ODS graphics output with the ODS Graphics Editor.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"ON\",\"@Value2\":\"OFF\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Turns on the ability to edit ODS graphics output with the ODS Graphics Editor.\",\"@ToolTip2\":\"Turns off the ability to edit ODS graphics output with the ODS Graphics Editor.\"}}]}},{\"StatementName\":\"ODS DOCUMENT\",\"StatementHelp\":{\"#cdata\":\"Opens, manages, or closes the DOCUMENT destination, which produces a hierarchy of \\noutput objects that enables you to produce multiple ODS output formats without \\nrerunning a PROC or DATA step. \\n\\nSyntax:\\n(1) ODS DOCUMENT action;  \\n\\n(2) ODS DOCUMENT  \\n    <NAME=<libref.>member-name <(access-option)>>  \\n    <DIR=(<PATH=path<(access-option)> <LABEL=\\\"label\\\">> )>  \\n    <CATALOG=permanent-catalog | _NULL_>;\"},\"StatementOptions\":{\"StatementOption\":[{\"StatementOptionName\":\"EXCLUDE\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: EXCLUDE exclusion(s)| ALL | NONE \\n          \\nExcludes one or more output objects from the DOCUMENT destination.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"CLOSE\",\"StatementOptionHelp\":{\"#cdata\":\"Closes the destination and any files that are associated with it.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"ALL\",\"StatementOptionHelp\":{\"#cdata\":\"See the EXCLUDE or SELECT option.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"NONE\",\"StatementOptionHelp\":{\"#cdata\":\"See the EXCLUDE or SELECT option.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"SELECT\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: SELECT selection(s) | ALL | NONE \\n          \\nSelects one or more output objects for the DOCUMENT destination.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"SHOW\",\"StatementOptionHelp\":{\"#cdata\":\"Writes the current selection or exclusion list for the destination to the SAS log.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"CATALOG=|CAT=\",\"StatementOptionHelp\":{\"#cdata\":\"By default, no value is assigned to CATALOG=, which means that temporary GRSEGs \\nare not copied to a permanent catalog.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"<permanent-catalog>\",\"@Value2\":\"_NULL_\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Copies any temporary GRSEG to the specified permanent catalog and keeps a reference to the permanent  GRSEG in the document. This value persists until the ODS DOCUMENT statement is closed, or until you  delete it by specifying CATALOG=_NULL_.  The permanent catalog has the following form:     <libref.><member-name>;\",\"@ToolTip2\":\"Deletes the catalog name that was previously specified for the CATALOG= option. Thereafter, temporary  GRSEGs are not copied into the permanent catalog, and thus are unavailable in subsequent sessions.\"}},{\"StatementOptionName\":\"DIR=\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: DIR= (<PATH=path <(access-option)>> <LABEL='label'>); \\n          \\nSpecifies the directory path and/or label for ODS output. \\n\\nLABEL=label \\nassigns a label to a path.\\n\\nPATH= path <(access-option)> \\nis specified as a sequence of entries that are delimited by backslashes.\\n\\n  path can have the form: \\n\\n    path<#sequence-number>  \\n    where path is the name of the path.\\n\\n    #sequence-number \\n    is a number which, when combined with a pathname, uniquely identifies the entry in the directory that \\n    contains it. \\n\\n  access-option \\n  specifies the access mode for the ODS document. \\n\\n    WRITE -- opens a document and provides write access as well as read access. \\n\\n    UPDATE -- opens an ODS document and appends new content to the document. UPDATE provides update access \\n    as well as read access.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"PATH=\",\"StatementOptionHelp\":{\"#cdata\":\"Is specified as a sequence of entries that are delimited by backslashes.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"LABEL=\",\"StatementOptionHelp\":{\"#cdata\":\"Assigns a label to a path.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"WRITE\",\"StatementOptionHelp\":{\"#cdata\":\"[access-option] \\n          \\nOpens a document and provides write access as well as read access.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"UPDATE\",\"StatementOptionHelp\":{\"#cdata\":\"[access-option] \\n          \\nOpens an ODS document and appends new content to the document. UPDATE provides \\nupdate access as well as read access.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"NAME=\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: NAME= <libref.>member-name<(access-option)> \\nwhere:\\n\\nlibref \\nspecifies the SAS library where the document is stored.\\n\\n  Default: If no library name is specified, the WORK library is used. \\n\\nmember-name \\nspecifies the document name.\\n\\naccess-option \\nspecifies the access mode for the ODS document. \\n\\n  WRITE \\n  opens a document and provides write access as well as read access. \\n\\n  UPDATE \\n  opens an ODS document and appends new content to the document. UPDATE provides update access as well \\n  as read access.\"},\"StatementOptionType\":\"DV\"}]}},{\"StatementName\":\"ODS OUTPUT\",\"StatementHelp\":{\"#cdata\":\"Produces a SAS data set from an output object and manages the selection and exclusion lists for the \\nOUTPUT destination. \\n\\nSyntax:\\n(1) ODS OUTPUT action;  \\n(2) ODS OUTPUT data-set-definition(s);\"},\"StatementOptions\":{\"StatementOption\":[{\"StatementOptionName\":\"CLOSE\",\"StatementOptionHelp\":{\"#cdata\":\"Closes the OUTPUT destination. When an ODS destination is closed, ODS does not send output to that \\ndestination. Closing a destination frees some system resources.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"CLEAR\",\"StatementOptionHelp\":{\"#cdata\":\"Sets the list for the OUTPUT destination to EXCLUDE ALL.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"SHOW\",\"StatementOptionHelp\":{\"#cdata\":\"Writes to the SAS log the current selection or exclusion list for the OUTPUT destination. If the \\nlist is the default list (EXCLUDE ALL), then SHOW also writes the current overall selection or exclusion list.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"MATCH_ALL=\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: MATCH_ALL=<macro-var-name> \\n\\nCreates a new data set for each output object.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"PERSIST=\",\"StatementOptionHelp\":{\"#cdata\":\"Determines when ODS closes any data sets that it is creating, and determines when ODS removes output \\nobjects from the selection list for the OUTPUT destination.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"PROC\",\"@Value2\":\"RUN\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Maintains the list of definitions even after the procedure ends, until you explicitly modify it.\",\"@ToolTip2\":\"Maintains the list of definitions and keeps open the data sets that it is creating even if the  procedure or DATA step ends, or until you explicitly modify the list.\"}},{\"StatementOptionName\":\"NOWARN\",\"StatementOptionHelp\":{\"#cdata\":\"Suppresses the warning that an output object was requested but not created.\"},\"StatementOptionType\":\"S\"}]}},{\"StatementName\":\"ODS GRAPHICS\",\"StatementHelp\":{\"#cdata\":\"Syntax: ODS GRAPHICS <OFF | ON> </ option(s)>; \\n      \\n Enables or disables ODS graphics processing and sets graphics environment options. This statement \\n affects ODS template-based graphics only. The ODS GRAPHICS statement does not affect device-based \\n graphics.\"},\"StatementOptions\":{\"StatementOption\":[{\"StatementOptionName\":\"OFF\",\"StatementOptionHelp\":{\"#cdata\":\"Disables ODS Graphics processing.\"},\"StatementOptionType\":\"RS\"},{\"StatementOptionName\":\"ON\",\"StatementOptionHelp\":{\"#cdata\":\"Enables ODS Graphics processing. This is the default if no argument is used.\"},\"StatementOptionType\":\"RS\"},{\"StatementOptionName\":\"ANTIALIAS=\",\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"OFF\",\"@Value2\":\"ON\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Does not smooth jagged edges of components other than text in the graph.\",\"@ToolTip2\":\"Smooths jagged edges of all components in the graph.\"},\"Help\":{\"#cdata\":\"Specifies whether anti-aliasing is applied to the rendering of the line and markers in any graph.\"}},{\"StatementOptionName\":\"ANTIALIAS\",\"StatementOptionHelp\":{\"#cdata\":\"Smooths jagged edges of all components in the graph.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"NOANTIALIAS\",\"StatementOptionHelp\":{\"#cdata\":\"Does not smooth jagged edges of components other than text in the graph.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"ANTIALIASMAX=\",\"StatementOptionType\":\"V\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies the maximum number of markers or lines to be anti-aliased before anti-aliasing is disabled. \\nDefault: 1000\"}},{\"StatementOptionName\":\"BORDER=\",\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"OFF\",\"@Value2\":\"ON\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Specifies not to draw a border around the graph.\",\"@ToolTip2\":\"Specifies to draw a border around the graph.\"},\"StatementOptionHelp\":{\"#cdata\":\"Specifies whether to draw a border around the graph.\"}},{\"StatementOptionName\":\"BORDER\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies whether to draw a border around the graph.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"NOBORDER\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies not to draw a border around any graph.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"DISCRETEMAX=\",\"StatementOptionType\":\"V\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies the maximum number of discrete values to be shown in any graph. Default: 1000\"}},{\"StatementOptionName\":\"GROUPMAX=\",\"StatementOptionType\":\"V\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies the maximum number of group values to be shown in any graph. Any graph that supports the \\nGROUP= option is affected. Default: 1000\"}},{\"StatementOptionName\":\"HEIGHT=\",\"StatementOptionType\":\"V\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies the height of any graph.\"}},{\"StatementOptionName\":\"IMAGEFMT=\",\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"BMP\",\"@Value2\":\"DIB\",\"@Value3\":\"EMF\",\"@Value4\":\"EPSI\",\"@Value5\":\"GIF\",\"@Value6\":\"JFIF\",\"@Value7\":\"JPEG\",\"@Value8\":\"PBM\",\"@Value9\":\"PDF\",\"@Value10\":\"PNG\",\"@Value11\":\"PS\",\"@Value12\":\"SASEMF\",\"@Value13\":\"TIFF\",\"@Value14\":\"WMF\",\"@Value15\":\"STATIC\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Microsoft Windows Device Independent Bitmap\",\"@ToolTip2\":\"Microsoft Windows Device Independent Bitmap\",\"@ToolTip3\":\"Microsoft NT Enhanced Metafile\",\"@ToolTip4\":\"Microsoft NT Enhanced Metafile\",\"@ToolTip5\":\"Graphics Interchange Format\",\"@ToolTip6\":\"JPEG File Interchange Format\",\"@ToolTip7\":\"Joint Photographic Experts Group\",\"@ToolTip8\":\"Portable Bitmap Utilities\",\"@ToolTip9\":\"Portable Document Format\",\"@ToolTip10\":\"Portable Network Graphic\",\"@ToolTip11\":\"PostScript Image File Format\",\"@ToolTip12\":\"Enhanced Metafile\",\"@ToolTip13\":\"Tagged Image File Format\",\"@ToolTip14\":\"Microsoft Windows Metafile\",\"@ToolTip15\":\"Uses the best quality static image format for the active output destination. This is the default.\"},\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: IMAGEFMT=image-file-type | STATIC] \\n          \\nSpecifies the image format to be used. If the image format is not valid for the \\nactive output destination, the format is automatically changed to the default \\nimage format for that destination.\"}},{\"StatementOptionName\":\"IMAGEMAP=\",\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"OFF\",\"@Value2\":\"ON\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Specifies not to generate data tips.\",\"@ToolTip2\":\"Specifies to generate data tips.\"},\"StatementOptionHelp\":{\"#cdata\":\"Specifies to generate data tips.\"}},{\"StatementOptionName\":\"IMAGEMAP\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies to generate data tips.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"NOIMAGEMAP\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies not to generate data tips.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"IMAGENAME=\",\"StatementOptionType\":\"V\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: IMAGENAME=\\\"filename\\\"] \\n          \\nSpecifies the base image filename.\"}},{\"StatementOptionName\":\"LABELMAX=\",\"StatementOptionType\":\"V\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: LABELMAX= n] \\n          \\nSpecifies the maximum number of labeled areas before labeling is disabled. \\n\\nDefault: 200\"}},{\"StatementOptionName\":\"MAXLEGENDAREA=\",\"StatementOptionType\":\"V\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: MAXLEGENDAREA= n] \\n          \\nSpecifies an integer that is interpreted as the maximum percentage of the overall \\ngraphics area that a legend can occupy. Default: 20\"}},{\"StatementOptionName\":\"PANELCELLMAX=\",\"StatementOptionType\":\"V\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: PANELCELLMAX=n] \\n          \\nSpecifies the maximum number of cells in a graph panel where the number of cells \\nis determined dynamically by classification variables. Default: 10000\"}},{\"StatementOptionName\":\"RESET\",\"StatementOptionType\":\"S\",\"StatementOptionHelp\":{\"#cdata\":\"Resets all of the options to their defaults.\"}},{\"StatementOptionName\":\"RESET=\",\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"ALL\",\"@Value2\":\"ANTIALIAS\",\"@Value3\":\"ANTIALIASMAX\",\"@Value4\":\"BORDER\",\"@Value5\":\"INDEX\",\"@Value6\":\"HEIGHT\",\"@Value7\":\"IMAGEMAP\",\"@Value8\":\"LABELMAX\",\"@Value9\":\"SCALE\",\"@Value10\":\"TIPMAX\",\"@Value11\":\"WIDTH\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Resets all of the reset-options to their defaults.\",\"@ToolTip2\":\"Resets the ANTIALIAS option to its default.\",\"@ToolTip3\":\"Resets the ANTIALIASMAX option to its default.\",\"@ToolTip4\":\"Resets the BORDER= option to its default.\",\"@ToolTip5\":\"Resets the index counter that is appended to static image files.\",\"@ToolTip6\":\"Resets the HEIGHT= option to its default.\",\"@ToolTip7\":\"Resets the IMAGEMAP= option to its default.\",\"@ToolTip8\":\"Resets the LABELMAX= option to its default.\",\"@ToolTip9\":\"Resets the SCALE= option to its default.\",\"@ToolTip10\":\"Resets the TIPMAX= option to its default.\",\"@ToolTip11\":\"Resets the WIDTH= option to its default.\"},\"StatementOptionHelp\":{\"#cdata\":\"Resets the specified option to its default value.\"}},{\"StatementOptionName\":\"SCALE=\",\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"OFF\",\"@Value2\":\"ON\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Does not scale the components of graph proportionally.\",\"@ToolTip2\":\"Scales the components of graph proportionally.\"},\"StatementOptionHelp\":{\"#cdata\":\"Specifies the width of any graph. Requires a nonnegative number.\"}},{\"StatementOptionName\":\"SCALE\",\"StatementOptionHelp\":{\"#cdata\":\"Scales the components of graph proportionally.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"NOSCALE\",\"StatementOptionHelp\":{\"#cdata\":\"Does not scale the components of graph proportionally.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"TIPMAX=\",\"StatementOptionType\":\"V\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: TIPMAX=n] \\n          \\nSpecifies the maximum number of distinct mouse-over areas allowed before data tips \\nare disabled. Default: 500\"}},{\"StatementOptionName\":\"WIDTH=\",\"StatementOptionType\":\"V\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: WIDTH=dimension] \\n          \\nSpecifies the width of any graph. Requires a nonnegative number.\"}}]}},{\"StatementName\":\"ODS MARKUP|ODS HTML|ODS CHTML|ODS HTMLCSS|ODS HTML3|ODS IMODE|ODS PHTML|ODS CSVALL|ODS DOCBOOK|ODS WML|ODS SASREPORT|ODS TROFF|ODS HTML4|ODS LATEX|ODS WMLOLIST\",\"StatementHelp\":{\"#cdata\":\"Opens, manages, or closes the specified destination, which produces SAS output that is formatted using \\none of many different markup languages.\\n      \\nSyntax: \\nODS MARKUP|HTML|CHTML|HTMLCSS|HTML3|IMODE|PHTML|CSVALL|DOCBOOK|WML|SASREPORT|TROFF|\\n  HTML4|LATEX|WMLOLIST<(<ID=>identifier)> <action>;  \\nODS MARKUP|HTML|CHTML|HTMLCSS|HTML3|IMODE|PHTML|CSVALL|DOCBOOK|WML|SASREPORT|TROFF|\\n  HTML4|LATEX|WMLOLIST<(<ID=>identifier)> <option(s)><TAGSET=tagset-name> <action>;\"},\"StatementOptions\":{\"StatementOption\":[{\"StatementOptionName\":\"EXCLUDE\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: EXCLUDE exclusion(s)| ALL | NONE \\n          \\nExcludes one or more output objects from the destination.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"CLOSE\",\"StatementOptionHelp\":{\"#cdata\":\"Closes the destination and any files that are associated with it.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"ALL\",\"StatementOptionHelp\":{\"#cdata\":\"See the SELECT or EXCLUDE option.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"NONE\",\"StatementOptionHelp\":{\"#cdata\":\"See the SELECT or EXCLUDE option.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"SELECT\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: SELECT selection(s) | ALL | NONE \\n          \\nSelects one or more output objects for the specified destination.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"SHOW\",\"StatementOptionHelp\":{\"#cdata\":\"Writes the current selection or exclusion list for the destination to the SAS log.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"ANCHOR=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: ANCHOR='anchor-name'] \\n          \\nSpecifies a unique base name for the anchor tag that identifies each output object \\nin the current body file.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"ARCHIVE=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: ARCHIVE='string'] \\n          \\nThe ARCHIVE= option is only valid for the GOPTIONS Java device. The ARCHIVE= option \\nallows you to specify a string to identify which applet to use in order to view the \\nODS HTML output.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"ATTRIBUTES=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: ATTRIBUTES=(attribute-pair-1 ... attribute-pair-n)] \\n          \\nWrites the specified attributes between the tags that generate dynamic graphics output.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"BASE=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: BASE= 'base-text'] \\n          \\nSpecifies the text to use as the first part of all links and references that ODS \\ncreates in the output files.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"BODY=|FILE=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: BODY= 'file-specification' <sub-option(s)>] \\n          \\nOpens a MARKUP family destination and specifies the file that contains the primary \\noutput that is created by the ODS statement.\"},\"StatementOptionType\":\"V\",\"SubOptionsKeywords\":\"NO_BOTTOM_MATTER|NO_TOP_MATTER|TITLE=|URL=|DYNAMIC\"},{\"StatementOptionName\":\"CHARSET=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: CHARSET=character-set] \\n          \\nSpecifies the character set to be generated in the META declaration for the HTML output.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"CODE=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: CODE= 'file-specification' <sub-option(s)>] \\n          \\nOpens a MARKUP family destination and specifies the file that contains relevant \\nstyle information, such as XSL (Extensible Stylesheet Language).\"},\"StatementOptionType\":\"V\",\"SubOptionsKeywords\":\"NO_BOTTOM_MATTER|NO_TOP_MATTER|TITLE=|URL=|DYNAMIC\"},{\"StatementOptionName\":\"CODEBASE=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: CODEBASE='string'] \\n          \\nCreates a file path that is used by the GOPTIONS devices.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"CONTENTS=\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: CONTENTS= 'file-specification' <(suboption(s))> \\n          \\nOpens a markup family destination and specifies the file that contains a table of contents for \\nthe output. These files remain open until you do one of the following:\\n\\n  o close the destination with either an ODS markup-family-destination CLOSE statement or \\n    ODS _ALL_ CLOSE statement.\\n\\n  o open the same destination with a second markup family statement. This closes the first file \\n    and opens the second file.\\n\\nfile-specification -- specifies the file, fileref, or SAS catalog to write to. \\n\\n  file-specification is one of the following:\\n\\n  external-file --  is the name of an external file to write to.\\n  Requirement: You must enclose external-file in quotation marks. \\n\\n  fileref -- is a file reference that has been assigned to an external file. Use the FILENAME statement to \\n  assign a fileref. \\n\\n  entry.markup -- specifies an entry in a SAS catalog to write to. \\n\\nsuboption(s) -- specifies one or more suboptions in parentheses. Suboptions are instructions for \\nwriting the output files.\"},\"StatementOptionType\":\"S\",\"SubOptionsKeywords\":\"NO_BOTTOM_MATTER|NO_TOP_MATTER|TITLE=|URL=|DYNAMIC\"},{\"StatementOptionName\":\"DEVICE=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies the name of a device driver. ODS automatically selects an optimal default device for each \\nopen output destination.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"ENCODING=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: ENCODING=local-character-set-encoding] \\n          \\nOverrides the encoding for input or output processing (transcodes) of external files.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"'warabic'\",\"@Value2\":\"'wbaltic'\",\"@Value3\":\"'wlatin2'\",\"@Value4\":\"'wcyrillic'\",\"@Value5\":\"'wgreek'\",\"@Value6\":\"'whebrew'\",\"@Value7\":\"'wturkish'\",\"@Value8\":\"'wvietnamese'\",\"@Value9\":\"'wlatin1'\",\"@Value10\":\"'utf-8'\",\"@Value11\":\"'ms-950'\",\"@Value12\":\"'ms-936'\",\"@Value13\":\"'ms-932'\",\"@Value14\":\"'ms-949'\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Arabic\",\"@ToolTip2\":\"Baltic\",\"@ToolTip3\":\"Central Europe\",\"@ToolTip4\":\"Cyrillic\",\"@ToolTip5\":\"Greek\",\"@ToolTip6\":\"Hebrew\",\"@ToolTip7\":\"Turkish\",\"@ToolTip8\":\"Vietnamese\",\"@ToolTip9\":\"Western\",\"@ToolTip10\":\"Unicode encoding\",\"@ToolTip11\":\"Traditional Chinese\",\"@ToolTip12\":\"Simplified Chinese\",\"@ToolTip13\":\"Japanese\",\"@ToolTip14\":\"Korean\"}},{\"StatementOptionName\":\"EVENT=\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: EVENT=event-name (FILE= | FINISH | LABEL= | NAME= | START | STYLE= |TARGET= | TEXT= | URL= )\\n    \\nSpecifies an event and the value for event variables that are associated with the event.\"},\"StatementOptionType\":\"V\",\"SubOptionsKeywords\":\"FILE=|FINISH|LABEL=|NAME|START|STYLE=|TARGET=|TEXT=|URL=\"},{\"StatementOptionName\":\"FRAME=\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: FRAME='file-specification' <sub-option(s)> \\n    \\nOpens a MARKUP family destination and, for HTML output, specifies the file that integrates the table \\nof contents, the page contents, and the body file.\"},\"StatementOptionType\":\"V\",\"SubOptionsKeywords\":\"NO_BOTTOM_MATTER|NO_TOP_MATTER|TITLE=|URL=|DYNAMIC\"},{\"StatementOptionName\":\"GFOOTNOTE\",\"StatementOptionHelp\":{\"#cdata\":\"Prints footnotes that are created by SAS/GRAPH, the SGPLOT procedure, the SGPANEL procedure, or the \\nSGSCATTER procedure. The footnotes appear inside the graph borders.  If you open the frame file, \\nthen you see a table of contents, a table of pages, or both, as well as the body file. For XLM \\noutput, FRAME= specifies the file that contains the DTD. These files remain open until you do \\none of the following:\\n\\n  o close the destination with either an ODS markup-family-destination CLOSE statement or ODS _ALL_ CLOSE statement.\\n\\n  o open the same destination with a second markup family statement. This closes the first file and opens the second file.\\n\\nfile-specification \\nspecifies the file, fileref, or SAS catalog to write to. file-specification is one of the following:\\n\\n    external-file -- is the name of an external file to write to.\\n    Requirement: You must enclose external-file in quotation marks. \\n\\n    fileref -- is a file reference that has been assigned to an external file. Use the FILENAME statement to assign a fileref. \\n\\n    entry.markup -- specifies an entry in a SAS catalog to write to. \\n\\nsuboption(s) \\nspecifies one or more suboptions in parentheses. Suboptions are instructions for writing the output files.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"NOGFOOTNOTE\",\"StatementOptionHelp\":{\"#cdata\":\"Prints footnotes that are created by ODS, which appears outside the graph borders.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"GPATH=\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: GPATH= 'aggregate-file-storage-specification' | fileref | libref.catalog (URL= 'Uniform-Resource-Locator' | NONE)  \\n   \\nSpecifies the location for all graphics output that is generated while the destination is open. \\n\\n  'aggregate-file-storage-location' \\n  specifies an aggregate storage location such as directory, folder, or partitioned data set.\\n  Requirement: You must enclose aggregate-file-storage-location in quotation marks. \\n\\n  fileref \\n  is a file reference that has been assigned to an aggregate storage location. Use the FILENAME \\n  statement to assign a fileref.\\n\\n  libref.catalog -- specifies a SAS catalog to write to.\\n\\n  URL= 'Uniform-Resource-Locator' | NONE --  specifies a URL for file-specification. \\n\\n    Uniform-Resource-Locator -- is the URL you specify. ODS uses this URL instead of the filename in \\n    all the links and references that it creates to the file.\\n    Requirement: You must enclose Uniform-Resource-Locator in quotation marks. \\n\\n    NONE -- specifies that no information from the GPATH= option appears in the links or references.\"},\"StatementOptionType\":\"DV\"},{\"StatementOptionName\":\"GTITLE\",\"StatementOptionHelp\":{\"#cdata\":\"Prints the title that is created by SAS/GRAPH, the SGPLOT procedure, the SGPANEL procedure, or the \\nSGSCATTER procedure. The title appears inside the graph borders.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"NOGTITLE\",\"StatementOptionHelp\":{\"#cdata\":\"Prints the title that is created by ODS, which appears outside the graph borders.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"HEADTEXT=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies tags to place between the <HEAD> and </HEAD> tags in all the files that the destination \\nwrites to. \\n\\nSyntax: HEADTEXT= 'markup-document-head' \\n\\nwhere:\\n\\n  markup-document-head \\n  specifies the markup tags to place between the <HEAD> and </HEAD> tags.\\n\\n  Requirement: You must enclose markup-document-head in quotation marks.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"ID=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: (ID=identifier)] \\n          \\nEnables you to run multiple instances of the same destination at the same time. \\nEach instance can have different options.\"},\"StatementOptionType\":\"V\",\"SubOptionsKeywords\":\"ID=\"},{\"StatementOptionName\":\"IMAGE_DPI=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies the image resolution for graphical output. Default: 100. \\n          \\nRestriction: The IMAGE_DPI= option affects template-based graphics only.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"METATEXT=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies HTML code to use as the <META> tag between the <HEAD> and </HEAD> tags of all the HTML \\nfiles that the destination writes to. \\n\\nSyntax: METATEXT= 'metatext-for-document-head' \\n\\nwhere:\\n\\n  'metatext-for-document-head' \\n  specifies the HTML code that provides the browser with information about the document that it is loading. \\n  For example, this attribute could specify the content type and the character set to use.\\n\\n  Requirement: You must enclose metatext-for-document-head in quotation marks.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"NEWFILE=|\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: NEWFILE=starting-point] \\n          \\nCreates a new body file at the specified starting-point.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"BYGROUP\",\"@Value2\":\"NONE\",\"@Value3\":\"OUTPUT|TABLE\",\"@Value4\":\"PAGE\",\"@Value5\":\"PROC\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Starts a new file for the results of each BY group.\",\"@ToolTip2\":\"Writes all output to the body file that is currently open.\",\"@ToolTip3\":\"Starts a new body file for each output object.\",\"@ToolTip4\":\"Starts a new body file for each page of output.\",\"@ToolTip5\":\"Starts a new body file each time that you start a new procedure.\"}},{\"StatementOptionName\":\"OPTIONS\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: OPTIONS ( DOC= | <suboption(s)> )] \\n          \\nSpecifies tagset-specific suboptions and a named value.\\n\\n(DOC='QUICK' | 'HELP' | 'SETTINGS') \\nprovides information about the specified tagset. \\n\\n  QUICK \\n  describes the options available for this tagset. \\n\\n  HELP \\n  provides generic help and information with a quick reference.\\n\\n  SETTINGS \\n  provides the current option settings.\\n\\nsuboption(s) \\nspecifies one or more suboptions that are valid for the specified tagset. Suboptions have the \\nfollowing format: \\n\\n  keyword='value'  \\n  You can get information about suboptions for a specific tagset by specifying one of the following \\n  options when opening an ODS tagset statement or at any time after the destination has been opened. \\n    \\n    options(doc='help');\\n    options(doc='quick'); \\n    options(doc='settings');\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"PACKAGE\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: PACKAGE <package-name>] \\n          \\nSpecifies that the output from the destination be added to a package.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"PAGE=\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: PAGE= 'file-specification' <(suboption(s))> \\n          \\nOpens a markup family destination and specifies the file that contains a description \\nof each page of the body file, and contains links to the body file. ODS produces a \\nnew page of output whenever a procedure requests a new page. These files remain open \\nuntil you do one of the following:\\n\\n  o close the destination with either an ODS markup-family-destination CLOSE statement \\n    or ODS _ALL_ CLOSE statement.\\n\\n  o open the same destination with a second markup family statement. This closes the first \\n    file and opens the second file.\\n\\nfile-specification \\nspecifies the file, fileref, or SAS catalog to write to. \\n\\n    file-specification is one of the following:\\n\\n    external-file -- is the name of an external file to write to.\\n    Requirement: You must enclose external-file in quotation marks. \\n\\n    fileref -- is a file reference that has been assigned to an external file. Use the FILENAME \\n    statement to assign a fileref. \\n\\n    entry.markup -- specifies an entry in a SAS catalog to write to. \\n    Interaction: If you specify an entry name, you must also specify a library and catalog.  \\n\\nsuboption(s) \\nspecifies one or more suboptions in parentheses. Suboptions are instructions for writing the output files.\"},\"StatementOptionType\":\"V\",\"SubOptionsKeywords\":\"NO_BOTTOM_MATTER|NO_TOP_MATTER|TITLE=|URL=|DYNAMIC\"},{\"StatementOptionName\":\"PARAMETERS=\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: PARAMETERS=(parameter-pair-1 ... parameter-pair-n) \\n          \\nWrites the specified parameters between the tags that generate dynamic graphics output.\\n\\n  parameter-pair \\n  specifies the name and value of each parameter. parameter-pair has the following form: \\n\\n    'parameter-name'= 'parameter-value'  \\n\\n  where:\\n  \\n  parameter-name -- is the name of the parameter.\\n\\n  parameter-value -- is the value of the parameter.\\n  Requirement: You must enclose parameter-name and parameter-value in quotation marks.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"PATH=\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: PATH= 'aggregate-file-storage-specification' | fileref | libref.catalog (URL= 'Uniform-Resource-Locator' | NONE) \\n   \\nSpecifies the location of an aggregate storage location or a SAS catalog for all markup files. \\nIf the GPATH= option is not specified, all graphics output files are written to the \\n\\\"aggregate-file-storage-specification\\\" or libref.\\n\\n  'aggregate-file-storage-location' -- specifies an aggregate storage location such as directory, folder, or partitioned data set.\\n  Requirement: You must enclose aggregate-file-storage-location in quotation marks. \\n\\n  fileref -- is a file reference that has been assigned to an aggregate storage location. \\n  Use the FILENAME statement to assign a fileref.\\n\\n    Interaction: If you use a fileref in the PATH= option, then ODS does not use information from \\n    PATH= when it constructs links. \\n\\n  libref.catalog -- specifies a SAS catalog to write to.\\n\\n  URL= 'Uniform-Resource-Locator' | NONE -- specifies a URL for the file-specification. \\n\\n    Uniform-Resource-Locator \\n    is the URL you specify. ODS uses this URL instead of the filename in all the links and references that it creates to the file.\\n\\n    NONE \\n    specifies that no information from the PATH= option appears in the links or references.\"},\"StatementOptionType\":\"DV\"},{\"StatementOptionName\":\"RECORD_SEPARATOR=|RECSEP=|RS=\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: RECORD_SEPARATOR= 'alternative-separator' | NONE \\n    \\nSpecifies an alternative character or string that separates lines in the output files.\\n\\nDifferent operating environments use different separator characters. If you do not specify a record \\nseparator, then the files are formatted for the environment where you run the SAS job. However, \\nif you are generating files for viewing in a different operating environment that uses a different \\nseparator character, then you can specify a record separator that is appropriate for the target environment.\\n\\nalternative-separator -- represents one or more characters in hexadecimal or ASCII format. For example, \\nthe following option specifies a record separator for a carriage return character and a linefeed character \\nfor use with an ASCII file system: \\n\\n  RECORD_SEPARATOR= '0D0A'x\\n  \\nOperating Environment Information:   In a mainframe environment, the option that specifies a record \\nseparator for a carriage return character and a linefeed character for use with an ASCII file system is: \\n\\n  RECORD_SEPARATOR= '0D25'x\\n  Requirement: You must enclose alternative-separator in quotation marks. \\n\\nNONE -- produces the markup language that is appropriate for the environment where you run the SAS job.\"},\"StatementOptionType\":\"V\",\"SubOptionsKeywords\":\"NONE\"},{\"StatementOptionName\":\"STYLE=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: STYLE= style-definition] \\n          \\nSpecifies the style definition to use in writing the output files.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"STYLESHEET=\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: STYLESHEET= 'file-specification' <sub-option(s)> \\n    \\nOpens a markup family destination and places the style information for markup output into an external \\nfile, or reads style sheet information from an existing file. These files remain open until you do one \\nof the following:\\n\\n  o close the destination with either an ODS markup-family-destination CLOSE statement or ODS _ALL_ CLOSE statement.\\n\\n  o open the same destination with a second markup family statement. This closes the first file and opens the second file.\\n\\nfile-specification -- specifies the file, fileref, or SAS catalog to write to. \\n\\nfile-specification is one of the following:\\n\\n    external-file \\n    is the name of an external file to write to.\\n    Requirement: You must enclose external-file in quotation marks. \\n\\n    fileref \\n    is a file reference that has been assigned to an external file. Use the FILENAME statement to assign a fileref. \\n\\n    entry.markup -- specifies an entry in a SAS catalog to write to.\\n    Interaction: If you specify an entry name, you must also specify a library and catalog. See the discussion \\n    of the PATH= option. \\n\\nsuboption(s) -- specifies one or more suboptions in parentheses.\"},\"StatementOptionType\":\"V\",\"SubOptionsKeywords\":\"NO_BOTTOM_MATTER|NO_TOP_MATTER|TITLE=|URL=|DYNAMIC\"},{\"StatementOptionName\":\"TAGSET=|TYPE=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies a keyword value for a tagset. A tagset is a template that defines how to \\ncreate an output type from a SAS format.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"CHTML\",\"@Value2\":\"CORE\",\"@Value3\":\"CSV\",\"@Value4\":\"CSVALL\",\"@Value5\":\"CSVBYLINE\",\"@Value6\":\"DEFAULT\",\"@Value7\":\"DOCBOOK\",\"@Value8\":\"ExcelXP\",\"@Value9\":\"HTML4\",\"@Value10\":\"HTMLCSS\",\"@Value11\":\"HTMLPANEL\",\"@Value12\":\"IMODE\",\"@Value13\":\"MSOFFICE2K\",\"@Value14\":\"MVSHTML\",\"@Value15\":\"PHTML\",\"@Value16\":\"PYX\",\"@Value17\":\"RTF\",\"@Value18\":\"SASREPORT\",\"@Value19\":\"WML\",\"@Value20\":\"WMLOLIST\",\"@Value21\":\"XHTML\",\"@Value22\":\"EVENT_MAP\",\"@Value23\":\"NAMEDHTML\",\"@Value24\":\"SHORT_MAP\",\"@Value25\":\"STYLE_DISPLAY\",\"@Value26\":\"STYLE_POPUP\",\"@Value27\":\"TEXT_MAP\",\"@Value28\":\"TPL_STYLE_LIST\",\"@Value29\":\"TPL_STYLE_MAP\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Produces compact, minimal HTML output that does not use style information.\",\"@ToolTip2\":\"Contains a table of Unicode values and mnemonics.\",\"@ToolTip3\":\"Produces tabular output that contains  columns of data values that are separated by commas.\",\"@ToolTip4\":\"Produces tabular output with titles that contain columns of data values that are separated by commas.\",\"@ToolTip5\":\"Produces output with comma-separated values and columns of data that are separated by commas.\",\"@ToolTip6\":\"Produces XML output.\",\"@ToolTip7\":\"Produces XML output that conforms to the DocBook DTD by OASIS.\",\"@ToolTip8\":\"Produces Microsoft's spreadsheetML XML. This tagset is used to import data into XML.\",\"@ToolTip9\":\"Produces HTML 4.0 embedded style sheets.\",\"@ToolTip10\":\"produces HTML output with cascading style sheets that is similar to ODS HTML output.\",\"@ToolTip11\":\"Creates panels for By-grouped graphs.\",\"@ToolTip12\":\"produces HTML output as a column of output that is separated by lines.\",\"@ToolTip13\":\"Produces HTML code for output generated by ODS for Microsoft Office products.\",\"@ToolTip14\":\"Produces URLs within HTML files that are used in the z/OS operating environment.\",\"@ToolTip15\":\"Produces simple HTML output that uses twelve style elements and no class attributes.\",\"@ToolTip16\":\"Produces PYX, which is a simple, line-oriented notation used by Pyxie to describe the information  communicated by an XML parser to an XML application.\",\"@ToolTip17\":\"Produces measured RTF.\",\"@ToolTip18\":\"Causes imbedded data to be produced in CSV format.\",\"@ToolTip19\":\"Uses the Wireless Application Protocol (WAP) to produce a Wireless Markup Language (WML) DTD with  a list of URLs as a table of contents.\",\"@ToolTip20\":\"Uses the Wireless Application Protocol (WAP) to produce a Wireless Markup Language (WML) DTD with  an option list for the table of contents.\",\"@ToolTip21\":\"Produces output in HTML format.\",\"@ToolTip22\":\"Creates XML output that shows which events are being triggered and which variables are used by an  event to send output from a SAS process to an output file.\",\"@ToolTip23\":\"Creates HTML output similar to STYLE_POPUP, but with all the objects labeled as they are when  using ODS TRACE.\",\"@ToolTip24\":\"Creates a subset of the XML output that is created by the EVENT_MAP tagset.\",\"@ToolTip25\":\"Creates a sample page of HTML output that is similar to STYLE_POPUP output.\",\"@ToolTip26\":\"Creates HTML like HTMLCSS, but if you're using Internet Explorer, STYLE_POPUP displays a window  that shows the resolved ODS style definition for any item that you select.\",\"@ToolTip27\":\"Creates text output that shows which events are being triggered as ODS handles the output objects.\",\"@ToolTip28\":\"Creates HTML output in a bulleted list similar to EVENT_MAP but lists only a subset of the  possible attributes.\",\"@ToolTip29\":\"Creates XML output similar to EVENT_MAP but lists only a subset of the possible attributes.\"}},{\"StatementOptionName\":\"TEXT=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: TEXT='variable-value'] \\n          \\nInserts text into your document by triggering the paragraph event and specifying \\na text string to be assigned to the VALUE event variable.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"TRANTAB=\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: TRANTAB= 'translation-table' \\n          \\nSpecifies the translation table to use when transcoding a file for output.\"},\"StatementOptionType\":\"V\"}]}},{\"StatementName\":\"ODS PRINTER|ODS PS|ODS PCL|ODS PDF\",\"StatementHelp\":{\"#cdata\":\"Syntax: Opens, manages, or closes the specified destination (PRINTER, PS, PCL, PDF), which produces\\nprintable output.\\n      \\nSyntax: \\n(1) ODS PRINTER|PS|PCL|PDF <(<ID=>identifier)> <action>;  \\n(2) ODS PRINTER|PS|PCL|PDF <(<ID=>identifier)> <option(s)>;\"},\"StatementOptions\":{\"StatementOption\":[{\"StatementOptionName\":\"EXCLUDE\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: EXCLUDE exclusion(s)| ALL | NONE \\n          \\nExcludes output objects from the destination.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"CLOSE\",\"StatementOptionHelp\":{\"#cdata\":\"Closes the destination and any files that are associated with it.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"ALL\",\"StatementOptionHelp\":{\"#cdata\":\"See the EXCLUDE or SELECT option.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"NONE\",\"StatementOptionHelp\":{\"#cdata\":\"See the EXCLUDE or SELECT option.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"SELECT\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: SELECT selection(s) | ALL | NONE \\n          \\nSelects output objects for the specified destination.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"SHOW\",\"StatementOptionHelp\":{\"#cdata\":\"Writes the current selection or exclusion list for the destination to the SAS log.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"ANCHOR=|NAMED_DEST=|BOOKMARK=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: ANCHOR='anchor-name'] \\n          \\nSpecifies the root name for the anchor tag that identifies each output object \\nin the current file.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"AUTHOR=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: AUTHOR='author-text'] \\n          \\nInserts into the metadata of a file, the text string that you specify as the author.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"BASE=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies the text to use as the first part of all references that ODS creates in the output files.\\n\\nSyntax: BASE= 'base-text'\\n\\nbase-text \\nis the text that ODS uses as the first part of all references that ODS creates in the file.\\n\\nConsider this specification: \\n\\nBASE='http://www.your-company.com/local-url/'\\nIn this case, ODS creates references that begin with the string http://www.your-company.com/local-url/. \\nThe appropriate anchor-name completes the link.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"BOOKMARKLIST=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies whether to generate and display the list of bookmarks for a PDF file.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"HIDE\",\"@Value2\":\"NONE|NO|OFF\",\"@Value3\":\"SHOW|YES|ON\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Generates a list of bookmarks for your PDF file. The bookmarks are not automatically displayed when  you open the PDF file.\",\"@ToolTip2\":\"Specifies not to generate a list of bookmarks for your PDF file.\",\"@ToolTip3\":\"Generates a list of bookmarks for your PDF file. The bookmarks are automatically displayed when you  open the PDF file.\"}},{\"StatementOptionName\":\"BOOKMARKGEN=\",\"StatementOptionHelp\":{\"#cdata\":\"Controls the generation of bookmarks in a PDF file.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"NO|OFF\",\"@Value2\":\"YES|ON\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Specifies not to generate bookmarks in the PDF file.\",\"@ToolTip2\":\"Specifies to generate bookmarks in the PDF file.\"}},{\"StatementOptionName\":\"BOOKMARKGEN\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies to generate bookmarks in the PDF file.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"NOBOOKMARKGEN\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies not to generate bookmarks in the PDF file.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"COLOR=\",\"StatementOptionHelp\":{\"#cdata\":\"Applies the specified color scheme to your output.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"FULL\",\"@Value2\":\"GRAY|GREY\",\"@Value3\":\"MONO|BW\",\"@Value4\":\"NO\",\"@Value5\":\"YES\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Creates full color output for both text and graphics.\",\"@ToolTip2\":\"Creates gray scale output for both text and graphics.\",\"@ToolTip3\":\"Creates monochromatic output for both text and graphics.\",\"@ToolTip4\":\"Does not use all the color information that the style definition provides.\",\"@ToolTip5\":\"Uses all the color information that a style definition provides, including background color.\"}},{\"StatementOptionName\":\"COLUMNS=\",\"StatementOptionType\":\"V\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: COLUMNS=n] \\n          \\nSpecifies the number of columns to place across each page of output. \\n            \\nn \\nis the number columns per page.\\n\\nDefault: 1\"}},{\"StatementOptionName\":\"COMPRESS=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: COMPRESS=n] \\n          \\nControls the compression of a PDF file. Compression reduces the size of the file.\\n            \\nn \\nspecifies the level of compression. The larger the number, the greater the compression. \\nFor example, n=0 is completely uncompressed, and n=9 is the maximum compression level. \\n\\nDefault: 6 \\nRange: 0-9\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"CONTENTS=\",\"StatementOptionHelp\":{\"#cdata\":\"Controls the generation of a printable table of contents.\"},\"StatementOptionType\":\"S\",\"StatementOptionValues\":{\"@Value1\":\"NO\",\"@Value2\":\"YES\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Does not generate a printable table of contents.\",\"@ToolTip2\":\"Generates a printable table of contents.\"}},{\"StatementOptionName\":\"CONTENTS\",\"StatementOptionHelp\":{\"#cdata\":\"Generates a printable table of contents page.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"NOCONTENTS\",\"StatementOptionHelp\":{\"#cdata\":\"Does not generate a printable table of contents.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"CSSSTYLE=\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: CSSSTYLE='file-specification'<(media-type-1 <...media-type-10>)> \\n    \\nSpecifies a cascading style sheet to apply to your output. \\n\\nfile-specification \\nspecifies a file, fileref, or URL that contains CSS code. \\n\\n    file-specification is one of the following:\\n\\n    \\\"external-file\\\" \\n    is the name of the external file.\\n    Requirement: You must enclose external-file in quotation marks. \\n\\n    fileref \\n    is a file reference that has been assigned to an external file. Use the FILENAME statement to assign a fileref. \\n\\n    \\\"URL\\\" \\n    is a URL to an external file.\\n    Requirement: You must enclose external-file in quotation marks. \\n\\n(media-type-1<.. media-type-10>) \\nspecifies one or more media blocks that corresponds to the type of media that your output will be \\nrendered on. CSS uses media type blocks to specify how a document is to be presented on different \\nmedia: on the screen, on paper, with a speech synthesizer, with a braille device, and so on.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"DPI=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies the image resolution for output files. Default: 150 \\n          \\nRestriction: The DPI= option takes effect only if specified at the opening of a file.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"FILE=\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: FILE='external-file' | fileref \\n          \\nSpecifies the file that contains the output. \\n\\n  external-file \\n  is the name of an external file to write to.\\n  Requirement: You must enclose external-file in quotation marks. \\n\\n  fileref \\n  is a file reference that has been assigned to an external file. Use the FILENAME statement \\n  to assign a fileref.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"HOST\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies that ODS use the printer drivers that the host system provides. \\n          \\nInteraction: In an ODS printer family statement that refers to an open ODS PRINTER destination, \\nthe HOST option forces ODS to close the destination and all files that are associated with it, \\nand to open a new instance of the destination.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"KEYWORDS=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: KEYWORDS='keywords-text'] \\n          \\nInserts into the output file's metadata, a string of keywords. \\n          \\nRestriction: Use this option only with the ODS PDF statement, the ODS PS statement with the \\nPDFMARK option specified, and the ODS PRINTER statement with the PDFMARK option specified. \\n\\nRestriction: The KEYWORDS= option takes effect only if specified at the opening of a file. \\n\\nRequirement: You must enclose keywords-text in quotation marks.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"ID=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: (<ID=>identifier)] \\n          \\nEnables you to open multiple instances of the same destination at the same time. Each \\ninstance can have different options.\"},\"StatementOptionType\":\"V\",\"SubOptionsKeywords\":\"ID=\"},{\"StatementOptionName\":\"NEWFILE=\",\"StatementOptionHelp\":{\"#cdata\":\"Creates a new file at the specified starting-point.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"BYGROUP\",\"@Value2\":\"NONE\",\"@Value3\":\"OUTPUT|TABLE\",\"@Value4\":\"PAGE\",\"@Value5\":\"PROC\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Starts a new file for the results of each BY group.\",\"@ToolTip2\":\"Writes all output to the file that is currently open.\",\"@ToolTip3\":\"Starts a new file for each output object. For SAS/GRAPH this means that ODS creates a new file  for each SAS/GRAPH output file that the program generates.\",\"@ToolTip4\":\"Starts a new file for each page of output. A page break occurs when a procedure explicitly starts  a new page (not because the page size was exceeded) or when you start a new procedure.\",\"@ToolTip5\":\"Starts a body file each time that you start a new procedure.\"}},{\"StatementOptionName\":\"NOTOC\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies that ODS omit the table of contents (Bookmark list) that is produced by default when \\nproducing PDF or PDFMARK output. \\n\\nInteraction: The NOTOC option specifies BOOKMARKLIST=OFF and CONTENTS= OFF.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"PACKAGE\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: PACKAGE <package-name>] \\n          \\nSpecifies that the output from the destination be added to a package. \\n          \\npackage-name \\nspecifies the name of a package that was created with the ODS PACKAGE statement. If no name \\nis specified, then the output is added to the unnamed package that was opened last.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"PCL\",\"StatementOptionHelp\":{\"#cdata\":\"Creates PCL output. \\n         \\nRestriction: Do not use this option in conjunction with the PDF or PS option. \\n\\nInteraction: If you use the PCL option in an ODS PRINTER statement that refers to an open \\nODS PRINTER destination, the option will force ODS to close the destination and all files \\nthat are associated with it, and to open a new instance of the destination.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"PDF\",\"StatementOptionHelp\":{\"#cdata\":\"Creates PDF output. \\n          \\nRestriction: Do not use this option in conjunction with the PCL or PS option. \\n\\nInteraction: If you use the PDF option in an ODS PRINTER statement that refers to an open \\nODS PRINTER destination, the option will force ODS to close the destination and all files \\nthat are associated with it, and to open a new instance of the destination.]\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"PDFMARK\",\"StatementOptionHelp\":{\"#cdata\":\"Enables ODS to insert special tags into a PostScript file. When you use software such as Adobe Acrobat \\n(not Adobe Viewer), Acrobat Distiller interprets the tags to create a PDF file that contains the \\nfollowing items: \\n\\n  o bookmarks for each section of the output and for each table.\\n\\n  o references for items that are associated with the URL= style attribute.\\n\\n  o notes for items that are associated with the FLYOVER= style attribute. \\n    Notes are optional, and are based on the PDFNOTE option.\\n\\n  o author, keywords, subject, and title in the metadata of a file.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"PDFNOTE\",\"StatementOptionHelp\":{\"#cdata\":\"Adds notes to a PDF file for items that are associated with the FLYOVER= style attribute.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"NOPDFNOTE\",\"StatementOptionHelp\":{\"#cdata\":\"Modifies the behavior of PDFMARK so that notes are not added to the file for items that are associated \\nwith the FLYOVER= style attribute.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"PDFTOC=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: PDFTOC=n] \\n          \\nControls the level of the expansion of the table of contents in PDF documents.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"PRINTER=|PRT=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: PRINTER=printer-name] \\n          \\nCreates output that is formatted for the specified printer. \\n          \\nDefault: If you do not specify a printer, then ODS formats the printer output for the printer \\nthat is specified by one of two SAS system options: \\n  \\n  o SYSPRINT= if you are using the Windows operating environment and do not specify any of the\\n    following options: PCL, PDFMARK, POSTSCRIPT, PS, or SAS.\\n\\n  o PRINTERPATH= in all other cases.\\n \\nRestriction: printer-name must match a subkey in either the SAS registry or the Windows \\nprinter registry.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"PS|POSTCRIPT=\",\"StatementOptionHelp\":{\"#cdata\":\"Creates PostScript output.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"STARTPAGE=\",\"StatementOptionHelp\":{\"#cdata\":\"Controls page breaks.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"NEVER\",\"@Value2\":\"NO|OFF\",\"@Value3\":\"NOW\",\"@Value4\":\"YES|ON\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Specifies not to insert page breaks, even before graphics procedures.\",\"@ToolTip2\":\"Specifies that no new pages be inserted at the beginning of each procedure, or within certain  procedures, even if new pages are requested by the procedure code. A new page will begin only  when a page is filled or when you specify STARTPAGE=NOW.\",\"@ToolTip3\":\"Forces the immediate insertion of a new page.\",\"@ToolTip4\":\"Inserts a new page at the beginning of each procedure, and within certain procedures, as requested  by the procedure code.\"}},{\"StatementOptionName\":\"STYLE=\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: STYLE=style-definition] \\n          \\nSpecifies the style definition to use in writing the printer output.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"SUBJECT=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: SUBJECT='subject-text'] \\n          \\nInserts into the metadata of a file the text string that you specify as the subject.\\n\\nsubject-text \\nis the text in the metadata of a file that indicates the subject.\\n\\nRestriction: Use this option only with the ODS PDF statement, the ODS PS statement with the \\nPDFMARK option specified, and the ODS PRINTER statement with the PDFMARK option specified. \\n\\nRestriction: The SUBJECT= option takes effect only if specified at the opening of a file. \\n\\nRequirement: You must enclose subject-text in quotation marks. \"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"TEXT=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: TEXT='text-string'] \\n          \\nInserts a text string into your output. \\n          \\nRequirement: You must enclose text-string in quotation marks. \"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"TITLE=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: TITLE='title-text'] \\n          \\nInserts into the metadata of a file, the text string that you specify as the title. \\n\\nRestriction: Use this option only with the ODS PDF statement, the ODS PS statement with the \\nPDFMARK option specified, and the ODS PRINTER statement with the PDFMARK option specified. \\n\\nRestriction: The TITLE= option takes effect only if specified at the opening of a file. \\n\\nRequirement: You must enclose title-text in quotation marks.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"UNIFORM\",\"StatementOptionHelp\":{\"#cdata\":\"For multiple page tables, ensures uniformity from page to page within a single table. \\nWhen the UNIFORM option is in effect, ODS reads the entire table before it starts to \\nprint it so that it can determine the column widths that are necessary to accommodate \\nall the data. These column widths are applied to all pages of a multiple page table. \\n\\nNote: With BY-group processing, SAS writes the results of each BY group to a separate \\ntable, so the output might not be uniform across BY groups.\"},\"StatementOptionType\":\"S\"}]}},{\"StatementName\":\"ODS PROCTITLE\",\"StatementHelp\":{\"#cdata\":\"Syntax: ODS PROCTITLE; \\n      \\nWrites, in the output, the name of the procedure that produces the results.\"},\"StatementOptions\":null},{\"StatementName\":\"ODS NOPROCTITLE\",\"StatementHelp\":{\"#cdata\":\"Syntax: ODS NOPROCTITLE;\\n      \\nSuppresses the writing of the title of the procedure that produces the results.\"},\"StatementOptions\":null},{\"StatementName\":\"ODS PROCLABEL\",\"StatementHelp\":{\"#cdata\":\"Enables you to change a procedure label.\\n      \\nSyntax: ODS PROCLABEL 'string';\\n      \\nwhere:\\n\\n'string' is the procedure label that you specify.\"},\"StatementOptions\":null},{\"StatementName\":\"ODS RESULTS\",\"StatementHelp\":{\"#cdata\":\"Syntax: ODS RESULTS ON | OFF; \\n      \\nTracks ODS output in the Results window.\"},\"StatementOptions\":{\"StatementOption\":[{\"StatementOptionName\":\"ON\",\"StatementOptionHelp\":{\"#cdata\":\"Tracks output that ODS generates in the Results window.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"OFF\",\"StatementOptionHelp\":{\"#cdata\":\"Turns off the tracking of output that ODS generates in the Results window.\"},\"StatementOptionType\":\"S\"}]}},{\"StatementName\":\"ODS TEXT=\",\"StatementHelp\":{\"#cdata\":\"Inserts text into your ODS output. \\n      \\nSyntax: ODS TEXT= 'text-string';\\n      \\nwhere:\\n\\ntext-string\\nspecifies the text to insert into your output. This text is sent to all open supported \\noutput destinations.\\n\\nRestriction:  The ODS TEXT= statement does not support the OUTPUT destination or the LISTING \\ndestination. All other ODS destinations are supported. \\n\\nRequirement:  You must enclose 'text-string' in parentheses. \\n\\nTip:  The UserText style element controls text specified with the TEXT= statement.\"},\"StatementOptions\":null},{\"StatementName\":\"ODS TRACE\",\"StatementHelp\":{\"#cdata\":\"Syntax: ODS TRACE ON </option(s)>; |  ODS TRACE OFF;\"},\"StatementOptions\":{\"StatementOption\":[{\"StatementOptionName\":\"ON|OUTPUT|YES\",\"StatementOptionHelp\":{\"#cdata\":\"Turns on the writing of the trace record.\"},\"StatementOptionType\":\"RS\"},{\"StatementOptionName\":\"OFF|NO\",\"StatementOptionHelp\":{\"#cdata\":\"Turns off the writing of the trace record.\"},\"StatementOptionType\":\"RS\"},{\"StatementOptionName\":\"EXCLUDED\",\"StatementOptionHelp\":{\"#cdata\":\"Includes, in the trace record, information for excluded output objects.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"LABEL\",\"StatementOptionHelp\":{\"#cdata\":\"Includes the label path for the output object in the record. You can use a label path anywhere that \\nyou can use a path.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"LISTING\",\"StatementOptionHelp\":{\"#cdata\":\"Writes the trace record to the Listing destination, so that each part of the trace record immediately \\nprecedes the output object that it describes.\"},\"StatementOptionType\":\"S\"}]}},{\"StatementName\":\"ODS USEGOPT\",\"StatementHelp\":{\"#cdata\":\"Syntax: ODS USEGOPT; \\n      \\nSpecifies that ODS use traditional SAS/GRAPH option settings for non-graphical output.\"},\"StatementOptions\":null},{\"StatementName\":\"ODS NOUSEGOPT\",\"StatementHelp\":{\"#cdata\":\"Syntax: ODS NOUSEGOPT; \\n      \\nSpecifies that ODS not use traditional SAS/GRAPH option settings for non-graphical output.\"},\"StatementOptions\":null},{\"StatementName\":\"ODS VERIFY\",\"StatementHelp\":{\"#cdata\":\"Syntax: ODS VERIFY <ON | OFF | ERROR | WARN>; \\n      \\nPrints or suppresses a message indicating that a style definition or a table definition being \\nused is not supplied by SAS.\"},\"StatementOptions\":{\"StatementOption\":[{\"StatementOptionName\":\"ON|YES\",\"StatementOptionHelp\":{\"#cdata\":\"Prints the warning and sends output objects to open destinations.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"OFF|NO\",\"StatementOptionHelp\":{\"#cdata\":\"Suppresses the warning.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"ERROR\",\"StatementOptionHelp\":{\"#cdata\":\"Prints an error message instead of a warning message and does not send output objects \\nto open destinations.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"WARN\",\"StatementOptionHelp\":{\"#cdata\":\"Prints a warning message and does not send output objects to open destinations.\"},\"StatementOptionType\":\"S\"}]}},{\"StatementName\":\"ODS ESCAPECHAR=\",\"StatementHelp\":{\"#cdata\":\"Defines a representative character to be used in output strings.\\n      \\nSyntax: ODS ESCAPECHAR= 'escape-character';\\n\\nescape-character \\nspecifies the special character that identifies the inline formatting symbol. The \\nescape-character should be one of the following rarely used characters: @, ^, or \\\\.\"},\"StatementOptions\":null},{\"StatementName\":\"ODS RTF\",\"StatementHelp\":{\"#cdata\":\"Opens, manages, or closes the RTF destination, which produces measured output that is written \\nin Rich Text Format for use with Microsoft Word 2002.\\n      \\nSyntax: \\nODS RTF <(<ID=> identifier)> action;  \\nODS RTF <(<ID=> identifier)> <option(s)>; \"},\"StatementOptions\":{\"StatementOption\":[{\"StatementOptionName\":\"EXCLUDE\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: EXCLUDE exclusion(s)| ALL | NONE \\n          \\nExcludes output objects from the RTF destination.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"CLOSE\",\"StatementOptionHelp\":{\"#cdata\":\"Closes the RTF destination and any files that are associated with it.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"ALL\",\"StatementOptionHelp\":{\"#cdata\":\"See the SELECT or EXCLUDE option.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"NONE\",\"StatementOptionHelp\":{\"#cdata\":\"See the SELECT or EXCLUDE option.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"SELECT\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: SELECT selection(s) | ALL | NONE \\n          \\nSelects output objects for the RTF destination.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"SHOW\",\"StatementOptionHelp\":{\"#cdata\":\"Writes the current selection or exclusion list for the destination to the SAS log.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"ANCHOR=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: ANCHOR='anchor-name'] \\n          \\nSpecifies the base name for the RTF anchor tag that identifies each output object \\nin the current file.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"AUTHOR=|NAMED_DEST=|BOOKMARK=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: AUTHOR='author-text'] \\n          \\nInserts the text string that you specify as the author into the metadata of a file.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"BASE=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies the text to use as the first part of all references that ODS creates in the output files.\\n\\nSyntax: BASE= 'base-text'\\n\\nbase-text \\nis the text that ODS uses as the first part of all references that ODS creates in the file.\\n\\nConsider this specification: \\n\\nBASE='http://www.your-company.com/local-url/'\\nIn this case, ODS creates references that begin with the string http://www.your-company.com/local-url/. \\nThe appropriate anchor-name completes the link.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"BODYTITLE\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies that SAS titles and footnotes are placed into the body of the RTF document \\ninstead of into the headers and footers section of the RTF document.\\n\\nRestriction: The BODYTITLE option can be specified only when you create a new RTF file.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"BODYTITLE_AUX\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies that SAS titles and footnotes be placed into the body of the RTF document \\ninstead of into the headers and footers section of the RTF document. These titles \\nand footnotes are put into cells, which allows titles and footnotes to be centered, \\nleft-justified, or right-justified.\\n\\nRestriction: You can specify the BODYTITLE_AUX option only when you are creating a \\nnew RTF file.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"COLUMNS=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: COLUMNS=n | MAX] \\n          \\nSpecifies the number of columns to place across each page of output. \\n            \\nDefault: the number of one-inch columns that fit on the page.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"<n>\",\"@Value2\":\"MAX\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Is the number of one-inch columns that you want on the page.\",\"@ToolTip2\":\"Specifies the maximum number of one-inch-wide columns for the paper size and margin setting.  This value is dependent upon the paper size and page orientation.\"}},{\"StatementOptionName\":\"CONTENTS\",\"StatementOptionHelp\":{\"#cdata\":\"Produces a table of contents page for RTF documents that are opened in Microsoft Word. \\nThe table of contents page contains a Table of Contents field, which puts all of the \\ncontents information that is embedded in the document into a table of contents. To \\nexpand the table of contents, right-click under the title in Microsoft Word and select \\nUpdate Field from the selection list. \\n\\nRestriction: Do not use the CONTENTS option with the NEWFILE option.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"CSSSTYLE=\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: CSSSTYLE='file-specification'<(media-type-1 <...media-type-10>)> \\n    \\nSpecifies a cascading style sheet to apply to your output. \\n\\nfile-specification \\nspecifies a file, fileref, or URL that contains CSS code. \\n\\n    file-specification is one of the following:\\n\\n    \\\"external-file\\\" \\n    is the name of the external file.\\n    Requirement: You must enclose external-file in quotation marks. \\n\\n    fileref \\n    is a file reference that has been assigned to an external file. Use the FILENAME \\n    statement to assign a fileref. \\n\\n    \\\"URL\\\" \\n    is a URL to an external file.\\n    Requirement: You must enclose external-file in quotation marks. \\n\\n(media-type-1<.. media-type-10>) \\nspecifies one or more media blocks that corresponds to the type of media that your \\noutput will be rendered on. CSS uses media type blocks to specify how a document is \\nto be presented on different media: on the screen, on paper, with a speech synthesizer, \\nwith a braille device, and so on.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"DEVICE=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies the name of a device driver. ODS automatically selects an optimal default \\ndevice for each open output destination.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"ENCODING=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: ENCODING=local-character-set-encoding] \\n          \\nOverrides the encoding for input or output processing (transcodes) of external files.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"'warabic'\",\"@Value2\":\"'wbaltic'\",\"@Value3\":\"'wlatin2'\",\"@Value4\":\"'wcyrillic'\",\"@Value5\":\"'wgreek'\",\"@Value6\":\"'whebrew'\",\"@Value7\":\"'wturkish'\",\"@Value8\":\"'wvietnamese'\",\"@Value9\":\"'wlatin1'\",\"@Value10\":\"'utf-8'\",\"@Value11\":\"'ms-950'\",\"@Value12\":\"'ms-936'\",\"@Value13\":\"'ms-932'\",\"@Value14\":\"'ms-949'\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Arabic\",\"@ToolTip2\":\"Baltic\",\"@ToolTip3\":\"Central Europe\",\"@ToolTip4\":\"Cyrillic\",\"@ToolTip5\":\"Greek\",\"@ToolTip6\":\"Hebrew\",\"@ToolTip7\":\"Turkish\",\"@ToolTip8\":\"Vietnamese\",\"@ToolTip9\":\"Western\",\"@ToolTip10\":\"Unicode encoding\",\"@ToolTip11\":\"Traditional Chinese\",\"@ToolTip12\":\"Simplified Chinese\",\"@ToolTip13\":\"Japanese\",\"@ToolTip14\":\"Korean\"}},{\"StatementOptionName\":\"FILE=\",\"StatementOptionHelp\":{\"#cdata\":\"Opens the RTF destination and specifies the RTF file or SAS catalog to which to write. This file \\nremains open until you do one of the following actions:\\n\\n  o Close the RTF destination with ODS RTF CLOSE or ODS _ALL_ CLOSE.\\n\\n  o Specify a different file to which to write.\\n\\nSyntax: FILE= 'external-file' | fileref\\n\\n  'external-file' \\n  is the name of an external file to which to write.\\n\\n  fileref \\n  is a file reference that has been assigned to an external file.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"GFOOTNOTE\",\"StatementOptionHelp\":{\"#cdata\":\"Includes all of the currently defined footnotes within the graphics output.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"NOGFOOTNOTE\",\"StatementOptionHelp\":{\"#cdata\":\"Prevents all of the currently defined footnotes from appearing in the graphics file. Instead, \\nthey become part of the RTF file.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"GTITLE\",\"StatementOptionHelp\":{\"#cdata\":\"Includes all of the currently defined titles within the graphics output that is called \\nby the body file.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"NOGTITLE\",\"StatementOptionHelp\":{\"#cdata\":\"Prevents all of the currently defined titles from appearing in the graphics output. \\nInstead, the titles become part of the RTF file.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"ID=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: (ID=identifier)] \\n          \\nEnables you to run multiple instances of the same destination at the same time. \\nEach instance can have different options.\"},\"StatementOptionType\":\"V\",\"SubOptionsKeywords\":\"ID=\"},{\"StatementOptionName\":\"IMAGE_DPI=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies the image resolution for graphical output. Default: 200. \\n          \\nRestriction: The IMAGE_DPI= option affects template-based graphics only.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"KEEPN\",\"StatementOptionHelp\":{\"#cdata\":\"ODS allows table splits only if the entire table cannot fit on one page.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"NOKEEPN\",\"StatementOptionHelp\":{\"#cdata\":\"ODS lets a table split at a page break.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"NEWFILE=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: NEWFILE=starting-point] \\n          \\nCreates a new file at the specified starting-point.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"BYGROUP\",\"@Value2\":\"NONE\",\"@Value3\":\"OUTPUT|TABLE\",\"@Value4\":\"PAGE\",\"@Value5\":\"PROC\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Starts a new file for the results of each BY group.\",\"@ToolTip2\":\"Writes all output to the body file that is currently open.\",\"@ToolTip3\":\"Starts a new body file for each output object.\",\"@ToolTip4\":\"Starts a new body file for each page of output.\",\"@ToolTip5\":\"Starts a new body file each time that you start a new procedure.\"}},{\"StatementOptionName\":\"NOTOC_DATA\",\"StatementOptionHelp\":{\"#cdata\":\"Instructs ODS not to insert contents data into the RTF file.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"OPERATOR=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: OPERATOR= 'text-string'] \\n          \\nInserts the text you specify into the metadata of the RTF file.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"PACKAGE\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: PACKAGE <package-name>] \\n          \\nSpecifies that the output from the destination be added to a package. \\n          \\npackage-name \\nspecifies the name of a package that was created with the ODS PACKAGE statement. \\nIf no name is specified, then the output is added to the unnamed package that was \\nopened last.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"PATH=\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: PATH= 'aggregate-file-storage-specification' | fileref | libref.catalog (URL= 'Uniform-Resource-Locator' | NONE) \\n   \\nSpecifies the location of an aggregate storage location or a SAS catalog for all markup files. \\nIf the GPATH= option is not specified, all graphics output files are written to the \\n\\\"aggregate-file-storage-specification\\\" or libref.\\n\\n  'aggregate-file-storage-location' -- specifies an aggregate storage location such as directory, folder, or partitioned data set.\\n  Requirement: You must enclose aggregate-file-storage-location in quotation marks. \\n\\n  fileref -- is a file reference that has been assigned to an aggregate storage location. \\n  Use the FILENAME statement to assign a fileref.\\n\\n    Interaction: If you use a fileref in the PATH= option, then ODS does not use information from \\n    PATH= when it constructs links. \\n\\n  libref.catalog -- specifies a SAS catalog to write to.\\n\\n  URL= 'Uniform-Resource-Locator' | NONE -- specifies a URL for the file-specification. \\n\\n    Uniform-Resource-Locator \\n    is the URL you specify. ODS uses this URL instead of the filename in all the links and references that it creates to the file.\\n\\n    NONE \\n    specifies that no information from the PATH= option appears in the links or references.\"},\"StatementOptionType\":\"DV\"},{\"StatementOptionName\":\"RECORD_SEPARATOR=|RECSEP=|RS=\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: RECORD_SEPARATOR= 'alternative-separator' | NONE \\n    \\nSpecifies an alternative character or string that separates lines in the output files.\\n\\nDifferent operating environments use different separator characters. If you do not specify a record \\nseparator, then the files are formatted for the environment where you run the SAS job. However, \\nif you are generating files for viewing in a different operating environment that uses a different \\nseparator character, then you can specify a record separator that is appropriate for the target environment.\\n\\nalternative-separator -- represents one or more characters in hexadecimal or ASCII format. For example, \\nthe following option specifies a record separator for a carriage return character and a linefeed character \\nfor use with an ASCII file system: \\n\\n  RECORD_SEPARATOR= '0D0A'x\\n  \\nOperating Environment Information:   In a mainframe environment, the option that specifies a record \\nseparator for a carriage return character and a linefeed character for use with an ASCII file system is: \\n\\n  RECORD_SEPARATOR= '0D25'x\\n  Requirement: You must enclose alternative-separator in quotation marks. \\n\\nNONE -- produces the markup language that is appropriate for the environment where you run the SAS job.\"},\"StatementOptionType\":\"V\",\"SubOptionsKeywords\":\"NONE\"},{\"StatementOptionName\":\"SASDATE\",\"StatementOptionHelp\":{\"#cdata\":\"Writes to the RTF file the time and the date that you started your SAS session. \\n\\nRestriction: You can specify SASDATE only when you open a new file. If you specify the option \\nat any other time, ODS writes a warning message to the SAS log.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"STARTPAGE=\",\"StatementOptionHelp\":{\"#cdata\":\"Controls page breaks.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"NEVER\",\"@Value2\":\"NO|OFF\",\"@Value3\":\"NOW\",\"@Value4\":\"YES|ON\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Specifies not to insert page breaks, even before graphics procedures.\",\"@ToolTip2\":\"Specifies that no new pages be inserted at the beginning of each procedure, or within certain  procedures, even if new pages are requested by the procedure code. A new page will begin only  when a page is filled or when you specify STARTPAGE=NOW.\",\"@ToolTip3\":\"Forces the immediate insertion of a new page.\",\"@ToolTip4\":\"Inserts a new page at the beginning of each procedure, and within certain procedures, as requested  by the procedure code.\"}},{\"StatementOptionName\":\"STYLE=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: STYLE= style-definition] \\n          \\nSpecifies the style definition for ODS to use to write the RTF files.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"TEXT=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: TEXT= 'text-string'] \\n          \\nInserts text into your RTF output. \\n          \\nRestriction: You cannot use both the NEWFILE= and TEXT= options in the same ODS RTF statement. \\nYou must use a separate ODS RTF statement for each of these options. \\n\\nRequirement: You must enclose a text-string in quotation marks.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"TITLE=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: TITLE= 'title-text'] \\n          \\nInserts the text string that you specify as the title into the metadata of a file.\\n\\ntitle-text \\nis the text in the metadata of a file that indicates the title.\\n\\nRequirement: You must enclose a title-text in quotation marks.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"TOC_DATA\",\"StatementOptionHelp\":{\"#cdata\":\"Instructs ODS to insert contents data into the RTF file.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"TRANTAB=\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: TRANTAB= 'translation-table' \\n          \\nSpecifies the translation table to use when transcoding a file for output.\"},\"StatementOptionType\":\"V\"}]}},{\"StatementName\":\"ODS TAGSETS.RTF\",\"StatementHelp\":{\"#cdata\":\"Opens, manages, or closes the RTF destination, which produces measured output that is written in \\nRich Text Format for use with Microsoft Word 2002.\\n      \\nSyntax: \\nODS TAGSETS.RTF <(<ID=> identifier)> action;  \\nODS TAGSETS.RTF <(<ID=> identifier)> <option(s)>; \"},\"StatementOptions\":{\"StatementOption\":[{\"StatementOptionName\":\"EXCLUDE\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: EXCLUDE exclusion(s)| ALL | NONE \\n          \\nExcludes output objects from the RTF destination.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"CLOSE\",\"StatementOptionHelp\":{\"#cdata\":\"Closes the RTF destination and any files that are associated with it.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"ALL\",\"StatementOptionHelp\":{\"#cdata\":\"See the SELECT or EXCLUDE option.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"NONE\",\"StatementOptionHelp\":{\"#cdata\":\"See the SELECT or EXCLUDE option.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"SELECT\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: SELECT selection(s) | ALL | NONE \\n          \\nSelects output objects for the RTF destination.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"SHOW\",\"StatementOptionHelp\":{\"#cdata\":\"Writes the current selection or exclusion list for the destination to the SAS log.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"ANCHOR=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: ANCHOR='anchor-name'] \\n          \\nSpecifies the base name for the RTF anchor tag that identifies each output object \\nin the current file.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"AUTHOR=|NAMED_DEST=|BOOKMARK=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: AUTHOR='author-text'] \\n          \\nInserts the text string that you specify as the author into the metadata of a file.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"BASE=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies the text to use as the first part of all references that ODS creates in the output files.\\n\\nSyntax: BASE= 'base-text'\\n\\nbase-text \\nis the text that ODS uses as the first part of all references that ODS creates in the file.\\n\\nConsider this specification: \\n\\nBASE='http://www.your-company.com/local-url/'\\nIn this case, ODS creates references that begin with the string http://www.your-company.com/local-url/. \\nThe appropriate anchor-name completes the link.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"BODYTITLE\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies that SAS titles and footnotes are placed into the body of the RTF document \\ninstead of into the headers and footers section of the RTF document.\\n\\nRestriction: The BODYTITLE option can be specified only when you create a new RTF file.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"BODYTITLE_AUX\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies that SAS titles and footnotes be placed into the body of the RTF document \\ninstead of into the headers and footers section of the RTF document. These titles \\nand footnotes are put into cells, which allows titles and footnotes to be centered, \\nleft-justified, or right-justified.\\n\\nRestriction: You can specify the BODYTITLE_AUX option only when you are creating a new \\nRTF file.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"COLUMNS=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: COLUMNS=n | MAX] \\n          \\nSpecifies the number of columns to place across each page of output. \\n            \\nDefault: the number of one-inch columns that fit on the page.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"<n>\",\"@Value2\":\"MAX\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Is the number of one-inch columns that you want on the page.\",\"@ToolTip2\":\"Specifies the maximum number of one-inch-wide columns for the paper size and margin setting.  This value is dependent upon the paper size and page orientation.\"}},{\"StatementOptionName\":\"CONTENTS\",\"StatementOptionHelp\":{\"#cdata\":\"Produces a table of contents page for RTF documents that are opened in Microsoft \\nWord. The table of contents page contains a Table of Contents field, which puts \\nall of the contents information that is embedded in the document into a table of \\ncontents. To expand the table of contents, right-click under the title in Microsoft \\nWord and select Update Field from the selection list. \\n\\nRestriction: Do not use the CONTENTS option with the NEWFILE option.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"CSSSTYLE=\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: CSSSTYLE='file-specification'<(media-type-1 <...media-type-10>)> \\n    \\nSpecifies a cascading style sheet to apply to your output. \\n\\nfile-specification \\nspecifies a file, fileref, or URL that contains CSS code. \\n\\n    file-specification is one of the following:\\n\\n    \\\"external-file\\\" \\n    is the name of the external file.\\n    Requirement: You must enclose external-file in quotation marks. \\n\\n    fileref \\n    is a file reference that has been assigned to an external file. Use the FILENAME statement to assign a fileref. \\n\\n    \\\"URL\\\" \\n    is a URL to an external file.\\n    Requirement: You must enclose external-file in quotation marks. \\n\\n(media-type-1<.. media-type-10>) \\nspecifies one or more media blocks that corresponds to the type of media that your output will be \\nrendered on. CSS uses media type blocks to specify how a document is to be presented on different \\nmedia: on the screen, on paper, with a speech synthesizer, with a braille device, and so on.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"DEVICE=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies the name of a device driver. ODS automatically selects an optimal default device for each \\nopen output destination.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"ENCODING=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: ENCODING=local-character-set-encoding] \\n          \\nOverrides the encoding for input or output processing \\n(transcodes) of external files.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"'warabic'\",\"@Value2\":\"'wbaltic'\",\"@Value3\":\"'wlatin2'\",\"@Value4\":\"'wcyrillic'\",\"@Value5\":\"'wgreek'\",\"@Value6\":\"'whebrew'\",\"@Value7\":\"'wturkish'\",\"@Value8\":\"'wvietnamese'\",\"@Value9\":\"'wlatin1'\",\"@Value10\":\"'utf-8'\",\"@Value11\":\"'ms-950'\",\"@Value12\":\"'ms-936'\",\"@Value13\":\"'ms-932'\",\"@Value14\":\"'ms-949'\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Arabic\",\"@ToolTip2\":\"Baltic\",\"@ToolTip3\":\"Central Europe\",\"@ToolTip4\":\"Cyrillic\",\"@ToolTip5\":\"Greek\",\"@ToolTip6\":\"Hebrew\",\"@ToolTip7\":\"Turkish\",\"@ToolTip8\":\"Vietnamese\",\"@ToolTip9\":\"Western\",\"@ToolTip10\":\"Unicode encoding\",\"@ToolTip11\":\"Traditional Chinese\",\"@ToolTip12\":\"Simplified Chinese\",\"@ToolTip13\":\"Japanese\",\"@ToolTip14\":\"Korean\"}},{\"StatementOptionName\":\"FILE=\",\"StatementOptionHelp\":{\"#cdata\":\"Opens the RTF destination and specifies the RTF file or SAS catalog to which to write. \\nThis file remains open until you do one of the following actions:\\n\\n  o Close the RTF destination with ODS RTF CLOSE or ODS _ALL_ CLOSE.\\n\\n  o Specify a different file to which to write.\\n\\nSyntax: FILE= 'external-file' | fileref\\n\\n  'external-file' \\n  is the name of an external file to which to write.\\n\\n  fileref \\n  is a file reference that has been assigned to an external file.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"GFOOTNOTE\",\"StatementOptionHelp\":{\"#cdata\":\"Includes all of the currently defined footnotes within the graphics output.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"NOGFOOTNOTE\",\"StatementOptionHelp\":{\"#cdata\":\"Prevents all of the currently defined footnotes from appearing in the graphics file. Instead, \\nthey become part of the RTF file.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"GTITLE\",\"StatementOptionHelp\":{\"#cdata\":\"Includes all of the currently defined titles within the graphics output that is called \\nby the body file.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"NOGTITLE\",\"StatementOptionHelp\":{\"#cdata\":\"Prevents all of the currently defined titles from appearing in the graphics output. Instead, the \\ntitles become part of the RTF file.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"ID=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: (ID=identifier)] \\n          \\nEnables you to run multiple instances of the same destination at the same time. \\nEach instance can have different options.\"},\"StatementOptionType\":\"V\",\"SubOptionsKeywords\":\"ID=\"},{\"StatementOptionName\":\"IMAGE_DPI=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies the image resolution for graphical output. Default: 200. \\n          \\nRestriction: The IMAGE_DPI= option affects template-based graphics only.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"KEEPN\",\"StatementOptionHelp\":{\"#cdata\":\"ODS allows table splits only if the entire table cannot fit on one page.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"NOKEEPN\",\"StatementOptionHelp\":{\"#cdata\":\"ODS lets a table split at a page break.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"NEWFILE=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: NEWFILE=starting-point] \\n          \\nCreates a new file at the specified starting-point.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"BYGROUP\",\"@Value2\":\"NONE\",\"@Value3\":\"OUTPUT|TABLE\",\"@Value4\":\"PAGE\",\"@Value5\":\"PROC\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Starts a new file for the results of each BY group.\",\"@ToolTip2\":\"Writes all output to the body file that is currently open.\",\"@ToolTip3\":\"Starts a new body file for each output object.\",\"@ToolTip4\":\"Starts a new body file for each page of output.\",\"@ToolTip5\":\"Starts a new body file each time that you start a new procedure.\"}},{\"StatementOptionName\":\"NOTOC_DATA\",\"StatementOptionHelp\":{\"#cdata\":\"Instructs ODS not to insert contents data into the RTF file.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"OPERATOR=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: OPERATOR= 'text-string'] \\n          \\nInserts the text you specify into the metadata of the RTF file.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"PACKAGE\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: PACKAGE <package-name>] \\n          \\nSpecifies that the output from the destination be added to a package. \\n          \\npackage-name \\nspecifies the name of a package that was created with the ODS PACKAGE statement. If no \\nname is specified, then the output is added to the unnamed package that was opened last.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"PATH=\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: PATH= 'aggregate-file-storage-specification' | fileref | libref.catalog (URL= 'Uniform-Resource-Locator' | NONE) \\n   \\nSpecifies the location of an aggregate storage location or a SAS catalog for all markup files. \\nIf the GPATH= option is not specified, all graphics output files are written to the \\n\\\"aggregate-file-storage-specification\\\" or libref.\\n\\n  'aggregate-file-storage-location' -- specifies an aggregate storage location such as directory, folder, or partitioned data set.\\n  Requirement: You must enclose aggregate-file-storage-location in quotation marks. \\n\\n  fileref -- is a file reference that has been assigned to an aggregate storage location. \\n  Use the FILENAME statement to assign a fileref.\\n\\n    Interaction: If you use a fileref in the PATH= option, then ODS does not use information from \\n    PATH= when it constructs links. \\n\\n  libref.catalog -- specifies a SAS catalog to write to.\\n\\n  URL= 'Uniform-Resource-Locator' | NONE -- specifies a URL for the file-specification. \\n\\n    Uniform-Resource-Locator \\n    is the URL you specify. ODS uses this URL instead of the filename in all the links and references that it creates to the file.\\n\\n    NONE \\n    specifies that no information from the PATH= option appears in the links or references.\"},\"StatementOptionType\":\"DV\"},{\"StatementOptionName\":\"RECORD_SEPARATOR=|RECSEP=|RS=\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: RECORD_SEPARATOR= 'alternative-separator' | NONE \\n    \\nSpecifies an alternative character or string that separates lines in the output files.\\n\\nDifferent operating environments use different separator characters. If you do not specify a record \\nseparator, then the files are formatted for the environment where you run the SAS job. However, \\nif you are generating files for viewing in a different operating environment that uses a different \\nseparator character, then you can specify a record separator that is appropriate for the target environment.\\n\\nalternative-separator -- represents one or more characters in hexadecimal or ASCII format. For example, \\nthe following option specifies a record separator for a carriage return character and a linefeed character \\nfor use with an ASCII file system: \\n\\n  RECORD_SEPARATOR= '0D0A'x\\n  \\nOperating Environment Information:   In a mainframe environment, the option that specifies a record \\nseparator for a carriage return character and a linefeed character for use with an ASCII file system is: \\n\\n  RECORD_SEPARATOR= '0D25'x\\n  Requirement: You must enclose alternative-separator in quotation marks. \\n\\nNONE -- produces the markup language that is appropriate for the environment where you run the SAS job.\"},\"StatementOptionType\":\"V\",\"SubOptionsKeywords\":\"NONE\"},{\"StatementOptionName\":\"SASDATE\",\"StatementOptionHelp\":{\"#cdata\":\"Writes to the RTF file the time and the date that you started your SAS session. \\n\\nRestriction: You can specify SASDATE only when you open a new file. If you specify the option \\nat any other time, ODS writes a warning message to the SAS log.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"STARTPAGE=\",\"StatementOptionHelp\":{\"#cdata\":\"Controls page breaks.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"NEVER\",\"@Value2\":\"NO|OFF\",\"@Value3\":\"NOW\",\"@Value4\":\"YES|ON\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Specifies not to insert page breaks, even before graphics procedures.\",\"@ToolTip2\":\"Specifies that no new pages be inserted at the beginning of each procedure, or within certain  procedures, even if new pages are requested by the procedure code. A new page will begin only  when a page is filled or when you specify STARTPAGE=NOW.\",\"@ToolTip3\":\"Forces the immediate insertion of a new page.\",\"@ToolTip4\":\"Inserts a new page at the beginning of each procedure, and within certain procedures, as requested  by the procedure code.\"}},{\"StatementOptionName\":\"STYLE=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: STYLE= style-definition] \\n          \\nSpecifies the style definition for ODS to use to write the RTF files.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"TEXT=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: TEXT= 'text-string' ] \\n          \\nInserts text into your RTF output. \\n          \\nRestriction: You cannot use both the NEWFILE= and TEXT= options in the same ODS RTF \\nstatement. You must use a separate ODS RTF statement for each of these options. \\n\\nRequirement: You must enclose a text-string in quotation marks.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"TITLE=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: TITLE= 'title-text'] \\n          \\nInserts the text string that you specify as the title into the metadata of a file.\\n\\ntitle-text \\nis the text in the metadata of a file that indicates the title.\\n\\nRequirement: You must enclose a title-text in quotation marks.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"TOC_DATA\",\"StatementOptionHelp\":{\"#cdata\":\"Instructs ODS to insert contents data into the RTF file.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"TRANTAB=\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: TRANTAB= 'translation-table' \\n          \\nSpecifies the translation table to use when transcoding a file for output.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"OPTIONS\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: OPTIONS (CONTENTS= | DOC= | SECT= | TABLES_OFF= |TOC_DATA= |TROWD= |TRHDR= | TROWHDRCELL= ) \\n          \\nSpecifies ODS TAGSETS.RTF specific suboptions and a named value. \\n\\n(CONTENTS= 'YES') \\nproduces a table of contents (TOC) page for RTF documents that are opened in Microsoft Word.\\n\\n(DOC='QUICK' | 'HELP' | 'SETTINGS') \\nprovides information about the tagset.\\n\\n(SECT='rtf_control_string' | 'OFF' | 'NONE') \\ninserts RTF control words into the section data specifications.\\n\\nTABLES_OFF='style_elements' | 'STYLE_ELEMENTS' | 'OFF' ) \\ndetermines whether tables will be used. \\n\\n(TOC_DATA ='ON' | 'OFF') \\nspecifies whether to show the contents data in the RTF file.\\n\\n(TROWD='rtf_control_string' | ' OFF') \\ninserts raw RTF specifications directly into header descriptions of the table row.\\n\\n(TRHDR='rtf_control_string' | 'OFF') \\n\\nTROWHDRCELL='text_string' | 'OFF') \"},\"StatementOptionType\":\"S\",\"SubOPtionsKeywords\":\"CONTENTS=|DOC=|SECT=|TABLES_OFF=|TOC_DATA=|TROWD=|TRHDR=|TROWHDRCELL=\"},{\"StatementOptionName\":\"PAGEPANELS=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies the number of panels permitted per page before ODS inserts a page break.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"<n>\",\"@Value2\":\"NONE\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Specifies a positive integer. Replace n with an actual value.\",\"@ToolTip2\":\"Specifies that paneling will be handled the way that it has always been handled by traditional ODS RTF.  That is, all of the first panel is written, then all of the second panel, and so on, until all of the  table information is written.\"}},{\"StatementOptionName\":\"TABLEROWS=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: TABLEROWS= n] \\n          \\nSpecifies the number of rows in each table before ODS inserts a page break. If the \\ntable is narrow enough to fit on a page, n lines will be written to the table before \\na page break. If the table is too wide for a page, the page is broken into panels. \\nIn each panel, n rows will be written. When all the panels for n rows have been \\nwritten, a page break is inserted before the next group of panels is written.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"UNIFORM\",\"StatementOptionHelp\":{\"#cdata\":\"Ensures uniformity from page to page within a single table that requires multiple pages.\"},\"StatementOptionType\":\"S\"}],\"#comment\":{}}},{\"StatementName\":\"ODS SELECT\",\"StatementHelp\":{\"#cdata\":\"Syntax: ODS <ODS-destination> SELECT selection(s) | ALL | NONE; \\n      \\nSpecifies output objects for ODS destinations. Each selection has the following form: \\n\\noutput-object <(PERSIST)>  \\n\\noutput-object \\nspecifies the output object to select. \\n\\nTo specify an output object, you need to know which output objects your SAS program produces. \\nThe ODS TRACE statement writes to the SAS log a trace record that includes the path, the label, \\nand other information about each output object that your SAS program produces.\\n\\n(PERSIST) \\nkeeps the output-object that precedes the PERSIST option in the selection list, even if the DATA \\nor procedure step ends, until you explicitly modify the list with one of the following:\\n\\n    o any ODS EXCLUDE statement\\n    o ODS SELECT NONE\\n    o ODS SELECT ALL\\n    o an ODS SELECT statement that applies to the same output object but does not specify PERSIST\\n\\nRequirement: You must enclose PERSIST in parentheses.\"},\"StatementOptions\":{\"StatementOption\":[{\"StatementOptionName\":\"ALL\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies that ODS send all of the output objects to the open destination. \\n\\nAlias: ODS SELECT DEFAULT \\n\\nInteraction: If you specify ALL without specifying a destination, ODS sets the overall list to SELECT ALL \\nand sets all other lists to their defaults.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"NONE\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies that ODS does not send any output objects to the open destination.\\n\\nInteraction: If you specify NONE and you do not specify a destination, ODS sets the overall list to \\nSELECT NONE and sets all other lists to their defaults. \\n\\nTip: Using the NONE action is different from closing a destination. The output destination is still \\nopen, but ODS restricts the output that it sends to the destination. \\n\\nTip: To temporarily suspend a destination, use ODS SELECT NONE. Use ODS SELECT ALL when you want to \\nresume sending output to the suspended destination.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"NOWARN\",\"StatementOptionHelp\":{\"#cdata\":\"Suppresses the warning that an output object was requested but not created.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"WHERE=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: WHERE=where-expression] \\n          \\nSelects output objects that meet a particular condition. For example, the following statement \\nselects only output objects with the word \\\"Histogram\\\" in their name: \\n\\n  ods select where=(_name_ ?  'Histogram');\\n\\nwhere-expression \\nis an arithmetic or logical expression that consists of a sequence of operators and operands. \\nwhere-expression has this form: \\n\\n  (subsetting-variable <comparison-operator where-expression-n>)  \\n\\n    subsetting-variable \\n    Subsetting variables are a special kind of WHERE expression operand used by SAS to help you find \\n    common values in items. For example, this ODS SELECT statement selects only output objects with \\n    the path City_Pop_90.TestsForLocation : \\n\\n    ods select  / where=(_path_ = 'City_Pop_90.TestsForLocation' );\\n    subsetting-variable is one of the following:\\n\\n    _LABEL_ --  is the label of the output object\\n    _LABELPATH_ -- is the label path of the output object\\n    _NAME_ -- is the name of the output object.\\n    _PATH_ -- is the full or partial path of the output object. \\n    \\noperator \\ncompares a variable with a value or with another variable. operator can be AND, OR NOT, OR, AND NOT, \\nor a comparison operator (= EQ ^= ~= <> NE > GT < LT >= GE <= LE).\"},\"StatementOptionType\":\"V\"}]}},{\"StatementName\":\"ODS EXCLUDE\",\"StatementHelp\":{\"#cdata\":\"Syntax: ODS <ODS-destination> EXCLUDE exclusions(s) | ALL | NONE; \\n      \\nSpecifies output objects to exclude from ODS destinations. Each exclusion has the following form: \\n\\n  output-object <(PERSIST)>  \\n\\noutput-object \\nspecifies one or more output objects to exclude. To specify an output object, you need to know \\nwhich output objects your SAS program produces. The ODS TRACE statement writes to the SAS log a \\ntrace record that includes the path, the label, and other information about each output object \\nthat is produced.\\n\\n(PERSIST) \\nkeeps the output-object that precedes the PERSIST option in the exclusion list, even until you \\\\\\nexplicitly modify the list with any of the following ODS statements:\\n\\n    o any ODS SELECT statement\\n    o ODS EXCLUDE NONE\\n    o ODS EXCLUDE ALL\\n    o an ODS EXCLUDE statement that applies to the same output object but does not specify PERSIST\\n\\nThis action is true even if the DATA or procedure step ends.\\n\\nRequirement: You must enclose PERSIST in parentheses.\"},\"StatementOptions\":{\"StatementOption\":[{\"StatementOptionName\":\"ALL\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies that ODS does not send any output objects to the open destination.\\n\\nAlias: ODS EXCLUDE DEFAULT \\n\\nInteraction: If you specify ALL without specifying a destination, ODS sets the overall list to \\nEXCLUDE ALL and sets all other lists to their defaults. \\n\\nTip: Using ODS EXCLUDE ALL is different from closing a destination. The destination remains open, \\nbut no output objects are sent to it. \\n\\nTip: To temporarily suspend a destination, use ODS SELECT NONE. Use ODS SELECT ALL when you want \\nto resume sending output to the suspended destination. \"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"NONE\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies that ODS send all of the output objects to the open destination.\\n\\nInteraction: If you specify the NONE argument without specifying a destination, ODS sets the overall \\nlist to EXCLUDE NONE and sets all other lists to their defaults. \\n\\nTip: ODS EXCLUDE NONE has the same effect as ODS SELECT ALL. \\n\\nTip: To temporarily suspend a destination, use ODS SELECT NONE. Use ODS SELECT ALL when you want to \\nresume sending output to the suspended destination.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"NOWARN\",\"StatementOptionHelp\":{\"#cdata\":\"Suppresses the warning that an output object was requested but not created.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"WHERE=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: WHERE=where-expression] \\n          \\nExcludes output objects that meet a particular condition. For example, the following statement \\nexcludes only output objects with the word \\\"Histogram\\\" in their name: \\n\\n  ods exclude where=(_name_ ?  'Histogram');\\n\\nwhere-expression \\nis an arithmetic or logical expression that consists of a sequence of operators and operands. where-expression has this form: \\n\\n(subsetting-variable <comparison-operator where-expression-n>)  \\n\\n    subsetting-variable \\n    Subsetting variables are a special kind of WHERE expression operand used by SAS to help you find \\n    common values in items. For example, this EXCLUDE statement excludes only output objects with \\n    the path City_Pop_90.TestsForLocation : \\n\\n    ods exclude  / where=(_path_ = 'City_Pop_90.TestsForLocation' );\\n    subsetting-variable is one of the following:\\n\\n    _LABEL_ --  is the label of the output object\\n    _LABELPATH_ -- is the label path of the output object\\n    _NAME_ -- is the name of the output object.\\n    _PATH_ -- is the full or partial path of the output object. \\n    \\noperator \\ncompares a variable with a value or with another variable. operator can be AND, OR NOT, OR, AND NOT, \\nor a comparison operator (= EQ ^= ~= <> NE > GT < LT >= GE <= LE).\"},\"StatementOptionType\":\"V\"}]}},{\"StatementName\":\"SIGNON\",\"StatementHelp\":{\"#cdata\":\"Syntax: SIGNON <options> ;\\n    \\nInitiates a connection between a client session and a server session.\"},\"StatementOptions\":null},{\"StatementName\":\"SIGNOFF\",\"StatementHelp\":{\"#cdata\":\"Syntax: SIGNOFF <options> \\n    \\nEnds the connection between a client session and a server session.\"},\"StatementOptions\":null},{\"StatementName\":\"RSUBMIT\",\"StatementHelp\":{\"#cdata\":\"Syntax: RSUBMIT <options>;  ENDRSUBMIT <CANCEL>;  \\n   RDISPLAY <CONNECTREMOTE=><server-ID;>  \\n   RGET <CONNECTREMOTE=><server-ID>;  \\n   %SYSRPUT macro-variable=value;  \\n   %SYSLPUT macro-variable=value </REMOTE=server-ID>;  \\n   WAITFOR <_ANY_ | _ALL_> task1...taskn <TIMEOUT=seconds>;  \\n   LISTTASK <_ALL_ | task>;  \\n   KILLTASK <_ALL_ | task1...taskn>;  \\n    \\nMarks the beginning of a block of statements that a client session submits to a server\\nsession for execution.\"},\"StatementOptions\":null},{\"StatementName\":\"ENDRSUBMIT\",\"StatementHelp\":{\"#cdata\":\"Marks the end of a block of statements that a client session submits to a server session \\nfor execution.\"},\"StatementOptions\":null},{\"StatementName\":\"SYSTASK\",\"StatementHelp\":{\"#cdata\":\"Syntax: SYSTASK COMMAND \\\"operating system command\\\"\\n  <WAIT | NOWAIT>\\n  <TASKNAME=taskname>\\n  <MNAME=name-var>\\n  <STATUS=stat-var>\\n  <SHELL<=\\\"shell-command\\\">>;  \\n  SYSTASK LIST <_ALL_ | taskname> <STATE> <STATVAR>;  \\n  SYSTASK KILL taskname <taskname...>;   \\n    \\nExecutes, lists, or terminates asynchronous tasks.\"},\"StatementOptions\":null},{\"StatementName\":\"LISTTASK\",\"StatementHelp\":{\"#cdata\":\"Syntax: LISTTASK <_ALL_|task> ; \\n    \\nLists all active connections or tasks and identifies the execution status of each connection or task.\"},\"StatementOptions\":null},{\"StatementName\":\"KILLTASK\",\"StatementHelp\":{\"#cdata\":\"Syntax: KILLTASK _ALL_ |task1...taskn ;\\n    \\nFor asynchronous tasks, forces one or more active tasks or server sessions to terminate immediately.\"},\"StatementOptions\":null},{\"StatementName\":\"RDISPLAY\",\"StatementHelp\":{\"#cdata\":\"Syntax: RDISPLAY <<CONNECTREMOTE=>server-ID >;\\n    \\nCreates a Log window to display the lines from the log and an Output window to list the output \\ngenerated from the execution of the statements within an asynchronous RSUBMIT block.\"},\"StatementOptions\":null},{\"StatementName\":\"RGET\",\"StatementHelp\":{\"#cdata\":\"Syntax: RGET <<CONNECTREMOTE=>server-ID>;\\n    \\nRetrieves the log and output that are created by an asynchronous RSUBMIT and merges them into the\\nLog and Output windows of the client session.\"},\"StatementOptions\":null},{\"StatementName\":\"WAITFOR\",\"StatementHelp\":{\"#cdata\":\"Syntax: WAITFOR<_ANY_ | _ALL_> taskname <taskname...><TIMEOUT=seconds>;\\n    \\nSuspends execution of the current SAS session until the specified tasks finish executing.\"},\"StatementOptions\":null},{\"StatementName\":\"METHOD\",\"StatementHelp\":{\"#cdata\":\"Syntax: METHOD method ( [ <parameter > [ ,... < parameter > ] ] )  \\n    [ RETURNS data-type ]>; \\n    ... method-body ...  \\n  END; \\n  \\n[This statement is valid only in DS2 and HPDS2 procedures.]\\n\\nDefines a block of code that can be called and executed multiple times.\"},\"StatementOptions\":{\"StatementOption\":[{\"StatementOptionName\":\"RETURNS\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: RETURNS data-type \\n          \\nSpecifies the data type of the value that the method returns. The type \\ncan be any valid character, numeric, or date type.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"INIT\",\"StatementOptionHelp\":{\"#cdata\":\"Calls a TSPL system method where program initializations can take place.\\n          \\n Syntax: \\n METHOD INIT();  \\n END;  \\n\\nWithout Arguments\\nThe METHOD INIT statement has no arguments. If you try to pass arguments, an error will occur.\\n\\nDetails: \\nTypically, the INIT method will contain any initialization code such as variable initialization \\nor opening of tables. Code in the INIT method will run once at the beginning of the TSPL program. \\nBefore the INIT method has run, variables in the program data vector which have not been retained \\n'(by using the RETAIN statement) will be set to either SAS missing values or null values depending \\non whether you are in SAS mode or ANSI mode. \\n\\nEvery TSPL program will contain, either implicitly or explicitly, the INIT, RUN, and TERM methods. \\nIf you do not specify a METHOD INIT statement, TSPL will automatically provide one.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"RUN\",\"StatementOptionHelp\":{\"#cdata\":\"\\n          \\nSyntax:\\n  METHOD RUN();  \\n  END;  \\n\\nWithout Arguments:\\nThe METHOD RUN statement has no arguments. If you try to pass arguments, an error \\nwill occur.\\n\\nDetails: \\nTypically, the RUN method will contain the main TSPL program code. The RUN method \\nhas the same feature of automatic, implicit looping as the Base SAS DATA step. After \\nthe RUN method has been executed one time, the RUN method either runs again or \\ncontrol is passed to the TERM method.\\n\\nEvery TSPL program will contain, either implicitly or explicitly, the INIT, RUN, \\nand TERM methods. If you do not specify a METHOD RUN statement, TSPL will \\nautomatically provide one.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"TERM\",\"StatementOptionHelp\":{\"#cdata\":\"\\n          \\nSyntax:\\n  METHOD TERM();  \\n  END;  \\n \\nWithout Arguments:\\nThe METHOD TERM statement has no arguments. If you try to pass arguments, an error \\nwill occur.\\n\\nDetails:\\nTypically, the TERM method will contain any finalization code such as writing data \\nto the SAS log. Code in the TERM method will run once at the end of the TSPL program.\\n\\nEvery TSPL program will contain, either implicitly or explicitly, the INIT, RUN, and \\nTERM methods. If you do not specify a METHOD TERM statement, TSPL will automatically\\nprovide one.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"INT|INTEGER\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies an integer variable.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"BIGINT\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies an integer variable.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"IDENTITY\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies an integer variable.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"SMALLINT\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies an integer variable.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"TINYINT\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies an integer variable.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"DOUBLE\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies a floating-point variable.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"DOUBLE PRECISION\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies a floating-point variable.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"FLOAT\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies a floating-point variable.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"REAL\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies a floating-point variable.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"VARBINARY|BINARY VARYING\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies a varying-length binary variable.\\n\\nAlias: BINARY VARYING \\n\\nRequirement: If you specify VARBINARY, you must also specify the length of the binary \\nvariable in bytes.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"NCHAR\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies a character variable.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"NVARCHAR\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies a character variable.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"CHAR\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies a character variable.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"VARCHAR\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies a character variable.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"TIME\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: TIME (precision)\\n          \\nSpecifies a time variable. \\n\\nprecision \\nspecifies the precision for a TIME data type.\\n\\nDefault: 0\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"TIMESTAMP\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: TIMESTAMP (precision) \\n          \\nSpecifies both a date and time variable. \\n\\nprecision \\nspecifies the precision for a TIMESTAMP data type.\\n\\nDefault: 6\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"DATE\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies a date variable.\"},\"StatementOptionType\":\"S\"}],\"#comment\":{}}},{\"StatementName\":\"PACKAGE\",\"StatementHelp\":{\"#cdata\":\"[This statement is valid only in DS2 and HPDS2 procedures.]\\n      \\nSyntax: \\n(1) PACKAGE package [ / [SAS_ENCRYPT=YES|NO] [table-options]];  \\n    ... package-body ...  \\n \\n  [ ENDPACKAGE ] ;  \\n  \\n(2) PACKAGE { HASH | HITER } / EXTENSION= 'HASH' | 'HITER';  \\n    ... package-body ...  \\n \\n  [ ENDPACKAGE ] ;  \\n\\nCreates a DS2 package. \\n\\npackage \\nspecifies the package name. package can be one of these forms. \\n\\n   catalog.schema.package  \\n   schema.package  \\n   catalog.package  \\n   package \\n\\n  catalog \\n  is an implementation of the ANSI SQL standard for an SQL catalog, which is a data container \\n  object that groups logically related schemas. \\n\\n  schema \\n  is an implementation of the ANSI SQL standard for an SQL schema, which is a data container \\n  object that groups files such as tables and views and other objects supported by a data source \\n  such as stored procedures. \\n\\n  package \\n  is the name of the package.\\n  Requirement: Package naming conventions are based on the data source.\"},\"StatementOptions\":{\"StatementOption\":[{\"StatementOptionName\":\"SAS_ENCRYPT=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies the encryption algorithm. \\n\\nDefault: NO\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"YES\",\"@Value2\":\"NO\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Specifies the SAS Proprietary algorithm.\",\"@ToolTip2\":\"Specifies the Advanced Encryption Standard (AES) algorithm.\"}},{\"StatementOptionName\":\"HASH\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies the name of the package as HASH to register the hash package \\nfor use in a DS2 program.\"},\"StatementOptionType\":\"RS\"},{\"StatementOptionName\":\"HITER\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies the name of the package as HITER to register the hash iterator package \\nfor use in a DS2 program.\"},\"StatementOptionType\":\"RS\"},{\"StatementOptionName\":\"EXTENSION=|EXT=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies that the package is of type hash or hash iterator.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"'HASH'\",\"@Value2\":\"'HITER'\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Specifies that the package is of type hash.\",\"@ToolTip2\":\"Specifies that the package is of type hash iterator.\"}},{\"StatementOptionName\":\"ALTER=\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: ALTER=alter-password \\n    \\nSyntax Description:\\nalter-password \\n  must be a valid SAS name.\\n \\nDetails: \\nThe ALTER= option applies only to a SAS data set. You can use this option to assign \\na password or to access a read-protected, write-protected, or alter-protected file. \\nWhen you replace a data set that is protected with an ALTER password, the new data \\nset inherits the ALTER password. \\n\\nThe password is blotted out when the code is written in the SAS log. For example: \\n\\n  set a(alter=XXXXXXX);\\n\\nNote: A SAS password does not control access to a SAS file beyond the SAS system. \\nYou should use the operating system-supplied utilities and file-system security \\ncontrols in order to control access to SAS files outside of SAS.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"BUFNO=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies the number of buffers to be allocated for processing a SAS data set. \\n    \\nSyntax: BUFNO= n | nK | hexX | MIN | MAX  \\n\\nSyntax Description:\\n\\nn | nK \\n  specifies the number of buffers in multiples of 1 (bytes); 1,024 (kilobytes). For example, \\n  a value of 8 specifies 8 buffers, and a value of 1k specifies 1024 buffers.\\n\\nhex \\n  specifies the number of buffers as a hexadecimal value. You must specify the value beginning \\n  with a number (0-9), followed by an X. For example, the value 2dx sets the number of buffers \\n  to 45 buffers.\\n\\nMIN \\n  sets the minimum number of buffers to 0, which causes SAS to use the minimum optimal value \\n  for the operating environment. This is the default.\\n\\nMAX \\n  sets the number of buffers to the maximum possible number in your operating environment, \\n  up to the largest four-byte, signed integer, which is 2\\u00b3\\u00b9-1, or approximately 2 billion.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"n\",\"@Value2\":\"nK\",\"@Value3\":\"hexX\",\"@Value4\":\"MIN\",\"@Value5\":\"MAX\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Specifies the number of buffers in multiples of 1 (bytes).  Replace n with an integer value.\",\"@ToolTip2\":\"Specifies the number of buffers in multiples of 1,024 (kilobytes).  Replace n with an integer value.\",\"@ToolTip3\":\"Specifies the number of buffers as a hexadecimal value.  Replace hex with an actual hexadecimal value.\",\"@ToolTip4\":\"Sets the minimum number of buffers to 0, which causes SAS to use the minimum optimal value  for the operating environment. This is the default.\",\"@ToolTip5\":\"Sets the number of buffers to the maximum possible number in your operating environment,  up to the largest four-byte, signed integer, which is 2\\u00b3\\u00b9-1, or approximately 2 billion.\"}},{\"StatementOptionName\":\"BUFSIZE=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies the size of a permanent buffer page for an output SAS data set. \\n    \\nSyntax: BUFSIZE= n | nK | nM | nG | hexX | MAX  \\n\\nSyntax Description:\\n\\nn | nK | nM | nG \\nspecifies the page size in multiples of 1 (bytes); 1,024 (kilobytes); 1,048,576 (megabytes); \\nor 1,073,741,824 (gigabytes). For example, a value of 8 specifies a page size of 8 bytes, and \\na value of 4k specifies a page size of 4096 bytes. \\n\\nhexX \\nspecifies the page size as a hexadecimal value. You must specify the value beginning with a \\nnumber (0-9), followed by an X. For example, the value 2dx sets the page size to 45 bytes.\\n\\nMAX \\nsets the page size to the maximum possible number in your operating environment, up to the \\nlargest four-byte, signed integer, which is 231-1, or approximately 2 billion bytes.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"n\",\"@Value2\":\"nK\",\"@Value3\":\"nM\",\"@Value4\":\"nG\",\"@Value5\":\"hexX\",\"@Value6\":\"MAX\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Specifies the page size in multiples of 1 (bytes).  Replace n with an integer value.\",\"@ToolTip2\":\"Specifies the page size in multiples of 1,024 (kilobytes).  Replace n with an integer value.\",\"@ToolTip3\":\"Specifies the page size in multiples of 1,048,576 (megabytes).  Replace n with an integer value.\",\"@ToolTip4\":\"Specifies the page size in multiples of 1,073,741,824 (gigabytes).  Replace n with an integer value.\",\"@ToolTip5\":\"Specifies the page size as a hexadecimal value.  Replace hex with an actual hexadecimal value.\",\"@ToolTip6\":\"Sets the page size to the maximum possible number in your operating environment,  up to the largest four-byte, signed integer, which is 2\\u00b3\\u00b9-1, or approximately 2 billion bytes.\"}},{\"StatementOptionName\":\"BULKLOAD=\",\"StatementOptionHelp\":{\"#cdata\":\"Loads rows of data as one unit. Default value: NO  \\n    \\nSyntax: BULKLOAD=YES | NO  \\n\\nSyntax Description:\\n\\nYES \\ncalls a DBMS-specific bulk load facility in order to insert or append rows to a DBMS table.\\n\\nNO \\nuses the dynamic SAS/ACCESS engine to insert or append data to a DBMS table.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"YES\",\"@Value2\":\"NO\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Calls a DBMS-specific bulk load facility in order to insert or append rows to a DBMS table.\",\"@ToolTip2\":\"Uses the dynamic SAS/ACCESS engine to insert or append data to a DBMS table.\"}},{\"StatementOptionName\":\"COMPRESS=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies how observations are compressed in a new output SAS data set. \\n    \\nSyntax: COMPRESS=NO | YES | CHAR | BINARY  \\n\\nSyntax Description:\\nNO \\nspecifies that the observations in a newly created SAS data set are uncompressed (fixed-length records).\\n\\nYES | CHAR \\nspecifies that the observations in a newly created SAS data set are compressed (variable-length records) \\nby SAS using RLE (Run Length Encoding). RLE compresses observations by reducing repeated consecutive \\ncharacters (including blanks) to two-byte or three-byte representations. \\n\\n  Alias: ON \\n  Tip: Use this compression algorithm for character data. \\n  Note:   COMPRESS=CHAR is accepted by Version 7 and later versions.  \\n\\nBINARY \\n  specifies that the observations in a newly created SAS data set are compressed (variable-length records) \\n  by SAS using RDC (Ross Data Compression). RDC combines run-length encoding and sliding-window compression \\n  to compress the file.\\n\\n  Tip: This method is highly effective for compressing medium to large (several hundred bytes or larger) \\n  blocks of binary data (numeric variables). Because the compression function operates on a single record \\n  at a time, the record length needs to be several hundred bytes or larger for effective compression.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"NO\",\"@Value2\":\"YES|ON\",\"@Value3\":\"CHAR\",\"@Value4\":\"BINARY\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Specifies that the observations in a newly created SAS data set are uncompressed  (fixed-length records).\",\"@ToolTip2\":\"Specifies that the observations in a newly created SAS data set are compressed  (variable-length records) by SAS using RLE (Run Length Encoding). RLE compresses  observations by reducing repeated consecutive characters (including blanks) to  two-byte or three-byte representations.\",\"@ToolTip3\":\"Specifies that the observations in a newly created SAS data set are compressed  (variable-length records) by SAS using RLE (Run Length Encoding). RLE compresses  observations by reducing repeated consecutive characters (including blanks) to  two-byte or three-byte representations.   COMPRESS=CHAR is accepted by Version 7 and later versions.\",\"@ToolTip4\":\"Specifies that the observations in a newly created SAS data set are compressed  (variable-length records) by SAS using RDC (Ross Data Compression). RDC combines  run-length encoding and sliding-window compression to compress the file.\"}},{\"StatementOptionName\":\"DBKEY=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies a key column to optimize DBMS retrieval. Can improve performance when you \\nare processing a join that involves a large DBMS table and a small SAS data set \\nor DBMS table.\\n    \\nSyntax: DBKEY=([ ' ] column [ ' ] [... [ ' ] column [ ' ] ])  \\n\\nSyntax Description: \\n\\ncolumn \\n  used by SAS to build an internal WHERE clause to search for matches in the DBMS table \\n  based on the key column. For example:\\n\\n    select * from sas.a, dbms.b(dbkey=x) where a.x=b.x;\\n    \\nIn this example, DBKEY= specifies column x , which matches the key column designated in \\nthe WHERE clause. However, if the DBKEY= column does NOT match the key column in the \\nWHERE clause, then DBKEY= is not used.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"DBNULL=\",\"StatementOptionHelp\":{\"#cdata\":\"Indicates whether NULL is a valid value for the specified columns when a table is created. \\n    \\nSyntax: DBNULL={ _ALL=YES | NO } | ( [column=YES | NO [ ... column=YES | NO ] ] )  \\n\\nSyntax Description: \\n_ALL_ \\n  specifies that the YES or NO applies to all columns in the table. (This is valid in \\n  the interfaces to Informix, Oracle, Sybase, and Teradata only.)\\n\\nYES \\n  specifies that the NULL value is valid for the specified columns in the DBMS table.\\n\\nNO \\n  specifies that the NULL value is not valid for the specified columns in the DBMS table.\\n\\ncolumn \\n  specifies the name of a column. \\n\\nDetails: \\nThis option is valid only for creating DBMS tables. If you specify more than one column name, \\nthe names must be separated with spaces.\\n\\nThe DBNULL= option processes values from left to right, so if you specify a column name twice, \\nor if you use the _ALL_ value, the last value overrides the first value that is specified for \\nthe column.\"},\"StatementOptionType\":\"V\",\"SubOptionsKeywords\":\"_ALL_\"},{\"StatementOptionName\":\"DROP=\",\"StatementOptionHelp\":{\"#cdata\":\"For an input table, excludes the specified columns from processing; for an output table, excludes the specified columns from being written to the table.\\n    \\nSyntax: DROP= ( column-list );  \\n\\nArguments: \\ncolumn-list \\n  specifies the names of the columns to omit from the output table.\\n\\n  Restriction: Numbered range lists in the format col1-col5 and name prefix lists in the format \\n  col: are not supported. \\n \\nDetails: \\nThe DROP= table option specifies that all columns in the column-list should not be included \\nin the creation of output rows. Normally, all columns in the program data vector are included \\nin the output rows. If the drop attribute is specified, all columns not included in the drop \\nstatement will be used to create columns in the output rows.\\n\\nIf the DROP= table option is associated with an input table, the columns are not available \\nfor processing during program execution.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"ENCRYPT=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies whether to encrypt an output SAS data set. \\n    \\nSyntax: ENCRYPT=YES | NO  \\n\\nSyntax Description:\\nYES \\n  encrypts the file. The encryption method uses passwords. At a minimum, you must specify \\n  the READ= or the PW= table option at the same time that you specify ENCRYPT=YES. Because \\n  the encryption method uses passwords, you cannot change any password on an encrypted data \\n  set without re-creating the data set.\\n\\nNO \\n  does not encrypt the file.\\n\\nCAUTION:\\nRecord all passwords. \\nIf you forget the password, you cannot reset it without assistance from SAS. The process \\nis time-consuming and resource-intensive.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"YES\",\"@Value2\":\"NO\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Encrypts the file. The encryption method uses passwords. At a minimum, you must specify  the READ= or the PW= table option at the same time that you specify ENCRYPT=YES. Because  the encryption method uses passwords, you cannot change any password on an encrypted data  set without re-creating the data set.\",\"@ToolTip2\":\"Does not encrypt the file.\"}},{\"StatementOptionName\":\"KEEP=\",\"StatementOptionHelp\":{\"#cdata\":\"For an input table, specifies the columns to process; for an output table, specifies \\nthe columns to write to the table. \\n    \\nSyntax: KEEP=( column-list );  \\n\\nArguments:\\n\\ncolumn-list \\n  specifies the names of the columns to keep in the output table.\\n\\n  Restriction: Numbered range lists in the format col1-col5 and name prefix lists in the \\n  format col: are not supported. \\n  \\nDetails: \\nThe KEEP= table option specifies that all columns in the column-list should be included in \\nthe creation of output rows. Normally, all columns in the program data vector are included \\nin the output rows. If the keep attribute is specified, all columns not included in the KEEP \\nstatement will be dropped from the output rows.\\n\\nIf the KEEP= table option is associated with an input table, only the columns that are \\nspecified by the KEEP= table option are available for processing during program execution.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"LABEL=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies a label for a table.\\n    \\nSyntax: LABEL='label'  \\n\\nSyntax Description: \\n\\n'label' \\n  specifies a text string of up to 256 characters. If the label text contains single \\n  quotation marks, use double quotation marks around the label, or use two single \\n  quotation marks in the label text and surround the string with single quotation \\n  marks. To remove a label from a table, assign a label that is equal to a blank \\n  that is enclosed in quotation marks.\\n \\nDetails: \\nYou can use the LABEL= option on both input and output tables. When you use LABEL= \\non input tables, it assigns a label for the table for the duration of the DS2 program. \\nWhen it is specified for an output table, the label becomes a permanent part of that \\ntable.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"LOCKTABLE=\",\"StatementOptionHelp\":{\"#cdata\":\"Places shared or exclusive locks on tables. \\n    \\nSyntax: LOCKTABLE=SHARE | EXCLUSIVE  \\n\\nSyntax Description:\\n\\nSHARE \\n  locks a table in shared mode, allowing other users or processes to read data from the \\n  tables, but preventing users from updating data.\\n\\nEXCLUSIVE \\n  locks a table exclusively, preventing other users from accessing any table that you open. \\n\\nDetails: \\nYou can lock tables only if you are the owner or have been granted the necessary privilege. \\n\\nIf you access the BASE table driver through PROC DS2, the default value for the LOCKTABLE \\noption is EXCLUSIVE. However, if you access the BASE table driver through a table server, \\nor if you run your program locally with the SAS Table Server LIBNAME engine, the default \\nvalue for the LOCKTABLE option is SHARE.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"SHARE\",\"@Value2\":\"EXCLUSIVE\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Locks a table in shared mode, allowing other users or processes to read data from  the tables, but preventing users from updating data.\",\"@ToolTip2\":\"Locks a table exclusively, preventing other users from accessing any table that you open.\"}},{\"StatementOptionName\":\"OVERWRITE=\",\"StatementOptionHelp\":{\"#cdata\":\"For a table, drops the output table before the replacement output table is populated \\nwith rows; for packages and threads, drops the existing package or thread if a package \\nor thread by the same name exists. \\n    \\nSyntax: OVERWRITE= YES | NO;  \\n\\nArguments: \\n\\nYES | NO \\n  specifies whether the output table is deleted before a replacement output table \\n  is created or whether a package or thread is dropped.\\n\\n  Default: NO \\n\\nCAUTION:\\nFor tables, use the OVERWRITE=YES statement only with data that is backed up or \\nwith data that you can reconstruct. Because the output table is deleted first, \\ndata will be lost if a failure occurs while the output table is being written.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"YES\",\"@Value2\":\"NO\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Specifies that the output table is deleted before a replacement output table    is created or a package or thread is dropped.\",\"@ToolTip2\":\"Specifies that the output table is not deleted before a replacement output table    is created or a package or thread is dropped.\"}},{\"StatementOptionName\":\"PW=\",\"StatementOptionHelp\":{\"#cdata\":\"Assigns a READ, WRITE, and ALTER password to a SAS file, and enables access to a password-protected SAS file. \\n    \\nSyntax: PW=password  \\n\\nSyntax Description:\\npassword \\n  must be a valid SAS name.\\n\\nDetails:\\nThe PW= option applies to all types of SAS files. You can use this option to assign \\na password to a SAS file or to access a password-protected SAS file.\\n\\nWhen replacing a SAS data set that is protected by an ALTER password, the new data \\nset inherits the ALTER password. When the code is written to the SAS log the password \\nis blotted out, for example: \\n\\n  drop thread job2 (pw=xxxxxxx);\\n\\nNote:   A SAS password does not control access to a SAS file beyond the SAS system. \\nYou should use the operating system-supplied utilities and file-system security \\ncontrols in order to control access to SAS files outside of SAS.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"READ=\",\"StatementOptionHelp\":{\"#cdata\":\"Assigns a READ password to a SAS file that prevents users from reading the file, \\nunless they enter the password. \\n    \\nSyntax: READ=read-password  \\n\\nSyntax Description: \\nread-password \\n  must be a valid SAS name. \\n \\nDetails: \\nThe READ= option applies to all types of SAS files except catalogs. You can use this \\noption to assign a password to a SAS file or to access a read-protected SAS file. When \\nthe code is written to the SAS log, the password is blotted out, for example: \\n\\n  declare package sales (read=XXXXXXX);\\n\\nNote: A SAS password does not control access to a SAS file beyond the SAS system. You  \\nshould use the operating system-supplied utilities and file-system security controls \\nin order to control access to SAS files outside of SAS.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"RENAME=\",\"StatementOptionHelp\":{\"#cdata\":\"Changes the name of a column.\\n    \\nSyntax: RENAME= (old-name { = | AS } new-name [... old-name { = | AS } new-name ] ) ;  \\n\\nArguments: \\nold-name \\n  the column you want to rename.\\n\\nnew-name \\n  the new name of the column. It must be a valid name for the data source.\\n \\nDetails: \\nThe RENAME= table option allows you to change the names of one or more columns.\\n\\nIf you use RENAME= when you create a table, the new column name is included in the output \\ntable. If you use RENAME= on an input table, the new name is used in DS2 programming statements.\\n\\nIf you use RENAME= in the same DS2 program with either the DROP= or the KEEP= table option, \\nthe DROP= and the KEEP= table options are applied before RENAME=. You must use the old name in \\nthe DROP= and KEEP= table options. You cannot drop and rename the same column in the same statement.\\n\\nIn addition to changing the name of a column, RENAME= also changes the label for the column.\"},\"StatementOptionType\":\"V\",\"SubOptionsKeywords\":\"AS\"},{\"StatementOptionName\":\"AS\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: RENAME= (old-name AS new-name [... old-name AS new-name ] ) ;\\n          \\nSeparates the new-name from the old-name.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"TYPE=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies the data set type for a specially structured SAS data set. \\n    \\nSyntax: TYPE=data-set-type  \\n\\nSyntax Description: \\ndata-set-type \\n  specifies the special type of the data set.\\n\\nDetails: \\nUse the TYPE= table option to create a special SAS data set in the proper format, \\nor to identify the special type of the SAS data set in a procedure statement. \\n\\nYou can use the CONTENTS procedure to determine the type of a data set.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"WRITE=\",\"StatementOptionHelp\":{\"#cdata\":\"Assigns a WRITE password to a SAS file that prevents users from writing to a file, \\nunless they enter the password. \\n    \\nSyntax: WRITE=write-password  \\n\\nSyntax Description: \\nwrite-password \\n  must be a valid SAS name. \\n \\nDetails: \\nThe WRITE= option applies to all types of SAS files except catalogs. You can use this \\noption to assign a password to a SAS file or to access a write-protected SAS file. When \\nthe code is written to the SAS log, the password is blotted out, for example: \\n\\n  drop thread job2a (write=XXXXXXX);\\n\\nNote: A SAS password does not control access to a SAS file beyond the SAS system. You \\nshould use the operating system-supplied utilities and file-system security controls \\nin order to control access to SAS files outside of SAS.\"},\"StatementOptionType\":\"V\"}],\"#comment\":{}}},{\"StatementName\":\"ENDPACKAGE\",\"StatementHelp\":{\"#cdata\":\"[This statement is valid only in DS2 and HPDS2 procedures.]\\n      \\nSyntax: ENDPACKAGE; \\n      \\nMarks the end of a PACKAGE statement. \\n\\nAlthough the ENDPACKAGE statement is not required, it can make the code easier to read.\"}},{\"StatementName\":\"THREAD\",\"StatementHelp\":{\"#cdata\":\"[This statement is valid only in DS2 and HPDS2 procedures.]\\n      \\nSyntax: THREAD thread [ ( data-type variable [ , ... data-type variable ] ) ] [ / [SAS_ENCRYPT=YES|NO] [table-options]];  \\n    ... thread-body ...  \\n \\n  [ ENDTHREAD ; ]  \\n\\nCreates a DS2 program thread. \\n\\nthread \\nspecifies the thread name. thread can be one of these forms. \\n\\n   catalog.schema.thread  \\n   schema.thread  \\n   catalog.thread  \\n   thread \\n\\n  catalog \\n  is an implementation of the ANSI SQL standard for an SQL catalog, which is a data container \\n  object that groups logically related schemas. \\n\\n  schema \\n  is an implementation of the ANSI SQL standard for an SQL schema, which is a data container \\n  object that groups files such as tables and views and other objects supported by a data source \\n  such as stored procedures. \\n\\n  thread \\n  is the name of the thread.\\n  Requirement: Thread naming conventions are based on the data source.\"},\"StatementOptions\":{\"StatementOption\":[{\"StatementOptionName\":\"SAS_ENCRYPT=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies the encryption algorithm. \\n\\nDefault: NO\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"YES\",\"@Value2\":\"NO\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Specifies the SAS Proprietary algorithm.\",\"@ToolTip2\":\"Specifies the Advanced Encryption Standard (AES) algorithm.\"}},{\"StatementOptionName\":\"ALTER=\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: ALTER=alter-password \\n    \\nSyntax Description:\\nalter-password \\n  must be a valid SAS name.\\n \\nDetails: \\nThe ALTER= option applies only to a SAS data set. You can use this option to assign \\na password or to access a read-protected, write-protected, or alter-protected file. \\nWhen you replace a data set that is protected with an ALTER password, the new data \\nset inherits the ALTER password. \\n\\nThe password is blotted out when the code is written in the SAS log. For example: \\n\\n  set a(alter=XXXXXXX);\\n\\nNote: A SAS password does not control access to a SAS file beyond the SAS system. \\nYou should use the operating system-supplied utilities and file-system security \\ncontrols in order to control access to SAS files outside of SAS.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"BUFNO=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies the number of buffers to be allocated for processing a SAS data set. \\n    \\nSyntax: BUFNO= n | nK | hexX | MIN | MAX  \\n\\nSyntax Description:\\n\\nn | nK \\n  specifies the number of buffers in multiples of 1 (bytes); 1,024 (kilobytes). For example, \\n  a value of 8 specifies 8 buffers, and a value of 1k specifies 1024 buffers.\\n\\nhex \\n  specifies the number of buffers as a hexadecimal value. You must specify the value beginning \\n  with a number (0-9), followed by an X. For example, the value 2dx sets the number of buffers \\n  to 45 buffers.\\n\\nMIN \\n  sets the minimum number of buffers to 0, which causes SAS to use the minimum optimal value \\n  for the operating environment. This is the default.\\n\\nMAX \\n  sets the number of buffers to the maximum possible number in your operating environment, \\n  up to the largest four-byte, signed integer, which is 2\\u00b3\\u00b9-1, or approximately 2 billion.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"n\",\"@Value2\":\"nK\",\"@Value3\":\"hexX\",\"@Value4\":\"MIN\",\"@Value5\":\"MAX\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Specifies the number of buffers in multiples of 1 (bytes).  Replace n with an integer value.\",\"@ToolTip2\":\"Specifies the number of buffers in multiples of 1,024 (kilobytes).  Replace n with an integer value.\",\"@ToolTip3\":\"Specifies the number of buffers as a hexadecimal value.  Replace hex with an actual hexadecimal value.\",\"@ToolTip4\":\"Sets the minimum number of buffers to 0, which causes SAS to use the minimum optimal value  for the operating environment. This is the default.\",\"@ToolTip5\":\"Sets the number of buffers to the maximum possible number in your operating environment,  up to the largest four-byte, signed integer, which is 2\\u00b3\\u00b9-1, or approximately 2 billion.\"}},{\"StatementOptionName\":\"BUFSIZE=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies the size of a permanent buffer page for an output SAS data set. \\n    \\nSyntax: BUFSIZE= n | nK | nM | nG | hexX | MAX  \\n\\nSyntax Description:\\n\\nn | nK | nM | nG \\nspecifies the page size in multiples of 1 (bytes); 1,024 (kilobytes); 1,048,576 (megabytes); \\nor 1,073,741,824 (gigabytes). For example, a value of 8 specifies a page size of 8 bytes, and \\na value of 4k specifies a page size of 4096 bytes. \\n\\nhexX \\nspecifies the page size as a hexadecimal value. You must specify the value beginning with a \\nnumber (0-9), followed by an X. For example, the value 2dx sets the page size to 45 bytes.\\n\\nMAX \\nsets the page size to the maximum possible number in your operating environment, up to the \\nlargest four-byte, signed integer, which is 231-1, or approximately 2 billion bytes.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"n\",\"@Value2\":\"nK\",\"@Value3\":\"nM\",\"@Value4\":\"nG\",\"@Value5\":\"hexX\",\"@Value6\":\"MAX\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Specifies the page size in multiples of 1 (bytes).  Replace n with an integer value.\",\"@ToolTip2\":\"Specifies the page size in multiples of 1,024 (kilobytes).  Replace n with an integer value.\",\"@ToolTip3\":\"Specifies the page size in multiples of 1,048,576 (megabytes).  Replace n with an integer value.\",\"@ToolTip4\":\"Specifies the page size in multiples of 1,073,741,824 (gigabytes).  Replace n with an integer value.\",\"@ToolTip5\":\"Specifies the page size as a hexadecimal value.  Replace hex with an actual hexadecimal value.\",\"@ToolTip6\":\"Sets the page size to the maximum possible number in your operating environment,  up to the largest four-byte, signed integer, which is 2\\u00b3\\u00b9-1, or approximately 2 billion bytes.\"}},{\"StatementOptionName\":\"BULKLOAD=\",\"StatementOptionHelp\":{\"#cdata\":\"Loads rows of data as one unit. Default value: NO  \\n    \\nSyntax: BULKLOAD=YES | NO  \\n\\nSyntax Description:\\n\\nYES \\ncalls a DBMS-specific bulk load facility in order to insert or append rows to a DBMS table.\\n\\nNO \\nuses the dynamic SAS/ACCESS engine to insert or append data to a DBMS table.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"YES\",\"@Value2\":\"NO\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Calls a DBMS-specific bulk load facility in order to insert or append rows to a DBMS table.\",\"@ToolTip2\":\"Uses the dynamic SAS/ACCESS engine to insert or append data to a DBMS table.\"}},{\"StatementOptionName\":\"COMPRESS=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies how observations are compressed in a new output SAS data set. \\n    \\nSyntax: COMPRESS=NO | YES | CHAR | BINARY  \\n\\nSyntax Description:\\nNO \\nspecifies that the observations in a newly created SAS data set are uncompressed (fixed-length records).\\n\\nYES | CHAR \\nspecifies that the observations in a newly created SAS data set are compressed (variable-length records) \\nby SAS using RLE (Run Length Encoding). RLE compresses observations by reducing repeated consecutive \\ncharacters (including blanks) to two-byte or three-byte representations. \\n\\n  Alias: ON \\n  Tip: Use this compression algorithm for character data. \\n  Note:   COMPRESS=CHAR is accepted by Version 7 and later versions.  \\n\\nBINARY \\n  specifies that the observations in a newly created SAS data set are compressed (variable-length records) \\n  by SAS using RDC (Ross Data Compression). RDC combines run-length encoding and sliding-window compression \\n  to compress the file.\\n\\n  Tip: This method is highly effective for compressing medium to large (several hundred bytes or larger) \\n  blocks of binary data (numeric variables). Because the compression function operates on a single record \\n  at a time, the record length needs to be several hundred bytes or larger for effective compression.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"NO\",\"@Value2\":\"YES|ON\",\"@Value3\":\"CHAR\",\"@Value4\":\"BINARY\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Specifies that the observations in a newly created SAS data set are uncompressed  (fixed-length records).\",\"@ToolTip2\":\"Specifies that the observations in a newly created SAS data set are compressed  (variable-length records) by SAS using RLE (Run Length Encoding). RLE compresses  observations by reducing repeated consecutive characters (including blanks) to  two-byte or three-byte representations.\",\"@ToolTip3\":\"Specifies that the observations in a newly created SAS data set are compressed  (variable-length records) by SAS using RLE (Run Length Encoding). RLE compresses  observations by reducing repeated consecutive characters (including blanks) to  two-byte or three-byte representations.   COMPRESS=CHAR is accepted by Version 7 and later versions.\",\"@ToolTip4\":\"Specifies that the observations in a newly created SAS data set are compressed  (variable-length records) by SAS using RDC (Ross Data Compression). RDC combines  run-length encoding and sliding-window compression to compress the file.\"}},{\"StatementOptionName\":\"DBKEY=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies a key column to optimize DBMS retrieval. Can improve performance when you \\nare processing a join that involves a large DBMS table and a small SAS data set \\nor DBMS table.\\n    \\nSyntax: DBKEY=([ ' ] column [ ' ] [... [ ' ] column [ ' ] ])  \\n\\nSyntax Description: \\n\\ncolumn \\n  used by SAS to build an internal WHERE clause to search for matches in the DBMS table \\n  based on the key column. For example:\\n\\n    select * from sas.a, dbms.b(dbkey=x) where a.x=b.x;\\n    \\nIn this example, DBKEY= specifies column x , which matches the key column designated in \\nthe WHERE clause. However, if the DBKEY= column does NOT match the key column in the \\nWHERE clause, then DBKEY= is not used.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"DBNULL=\",\"StatementOptionHelp\":{\"#cdata\":\"Indicates whether NULL is a valid value for the specified columns when a table is created. \\n    \\nSyntax: DBNULL={ _ALL=YES | NO } | ( [column=YES | NO [ ... column=YES | NO ] ] )  \\n\\nSyntax Description: \\n_ALL_ \\n  specifies that the YES or NO applies to all columns in the table. (This is valid in \\n  the interfaces to Informix, Oracle, Sybase, and Teradata only.)\\n\\nYES \\n  specifies that the NULL value is valid for the specified columns in the DBMS table.\\n\\nNO \\n  specifies that the NULL value is not valid for the specified columns in the DBMS table.\\n\\ncolumn \\n  specifies the name of a column. \\n\\nDetails: \\nThis option is valid only for creating DBMS tables. If you specify more than one column name, \\nthe names must be separated with spaces.\\n\\nThe DBNULL= option processes values from left to right, so if you specify a column name twice, \\nor if you use the _ALL_ value, the last value overrides the first value that is specified for \\nthe column.\"},\"StatementOptionType\":\"V\",\"SubOptionsKeywords\":\"_ALL_\"},{\"StatementOptionName\":\"DROP=\",\"StatementOptionHelp\":{\"#cdata\":\"For an input table, excludes the specified columns from processing; for an output table, excludes the specified columns from being written to the table.\\n    \\nSyntax: DROP= ( column-list );  \\n\\nArguments: \\ncolumn-list \\n  specifies the names of the columns to omit from the output table.\\n\\n  Restriction: Numbered range lists in the format col1-col5 and name prefix lists in the format \\n  col: are not supported. \\n \\nDetails: \\nThe DROP= table option specifies that all columns in the column-list should not be included \\nin the creation of output rows. Normally, all columns in the program data vector are included \\nin the output rows. If the drop attribute is specified, all columns not included in the drop \\nstatement will be used to create columns in the output rows.\\n\\nIf the DROP= table option is associated with an input table, the columns are not available \\nfor processing during program execution.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"ENCRYPT=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies whether to encrypt an output SAS data set. \\n    \\nSyntax: ENCRYPT=YES | NO  \\n\\nSyntax Description:\\nYES \\n  encrypts the file. The encryption method uses passwords. At a minimum, you must specify \\n  the READ= or the PW= table option at the same time that you specify ENCRYPT=YES. Because \\n  the encryption method uses passwords, you cannot change any password on an encrypted data \\n  set without re-creating the data set.\\n\\nNO \\n  does not encrypt the file.\\n\\nCAUTION:\\nRecord all passwords. \\nIf you forget the password, you cannot reset it without assistance from SAS. The process \\nis time-consuming and resource-intensive.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"YES\",\"@Value2\":\"NO\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Encrypts the file. The encryption method uses passwords. At a minimum, you must specify  the READ= or the PW= table option at the same time that you specify ENCRYPT=YES. Because  the encryption method uses passwords, you cannot change any password on an encrypted data  set without re-creating the data set.\",\"@ToolTip2\":\"Does not encrypt the file.\"}},{\"StatementOptionName\":\"KEEP=\",\"StatementOptionHelp\":{\"#cdata\":\"For an input table, specifies the columns to process; for an output table, specifies \\nthe columns to write to the table. \\n    \\nSyntax: KEEP=( column-list );  \\n\\nArguments:\\n\\ncolumn-list \\n  specifies the names of the columns to keep in the output table.\\n\\n  Restriction: Numbered range lists in the format col1-col5 and name prefix lists in the \\n  format col: are not supported. \\n  \\nDetails: \\nThe KEEP= table option specifies that all columns in the column-list should be included in \\nthe creation of output rows. Normally, all columns in the program data vector are included \\nin the output rows. If the keep attribute is specified, all columns not included in the KEEP \\nstatement will be dropped from the output rows.\\n\\nIf the KEEP= table option is associated with an input table, only the columns that are \\nspecified by the KEEP= table option are available for processing during program execution.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"LABEL=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies a label for a table.\\n    \\nSyntax: LABEL='label'  \\n\\nSyntax Description: \\n\\n'label' \\n  specifies a text string of up to 256 characters. If the label text contains single \\n  quotation marks, use double quotation marks around the label, or use two single \\n  quotation marks in the label text and surround the string with single quotation \\n  marks. To remove a label from a table, assign a label that is equal to a blank \\n  that is enclosed in quotation marks.\\n \\nDetails: \\nYou can use the LABEL= option on both input and output tables. When you use LABEL= \\non input tables, it assigns a label for the table for the duration of the DS2 program. \\nWhen it is specified for an output table, the label becomes a permanent part of that \\ntable.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"LOCKTABLE=\",\"StatementOptionHelp\":{\"#cdata\":\"Places shared or exclusive locks on tables. \\n    \\nSyntax: LOCKTABLE=SHARE | EXCLUSIVE  \\n\\nSyntax Description:\\n\\nSHARE \\n  locks a table in shared mode, allowing other users or processes to read data from the \\n  tables, but preventing users from updating data.\\n\\nEXCLUSIVE \\n  locks a table exclusively, preventing other users from accessing any table that you open. \\n\\nDetails: \\nYou can lock tables only if you are the owner or have been granted the necessary privilege. \\n\\nIf you access the BASE table driver through PROC DS2, the default value for the LOCKTABLE \\noption is EXCLUSIVE. However, if you access the BASE table driver through a table server, \\nor if you run your program locally with the SAS Table Server LIBNAME engine, the default \\nvalue for the LOCKTABLE option is SHARE.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"SHARE\",\"@Value2\":\"EXCLUSIVE\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Locks a table in shared mode, allowing other users or processes to read data from  the tables, but preventing users from updating data.\",\"@ToolTip2\":\"Locks a table exclusively, preventing other users from accessing any table that you open.\"}},{\"StatementOptionName\":\"OVERWRITE=\",\"StatementOptionHelp\":{\"#cdata\":\"For a table, drops the output table before the replacement output table is populated \\nwith rows; for packages and threads, drops the existing package or thread if a package \\nor thread by the same name exists. \\n    \\nSyntax: OVERWRITE= YES | NO;  \\n\\nArguments: \\n\\nYES | NO \\n  specifies whether the output table is deleted before a replacement output table \\n  is created or whether a package or thread is dropped.\\n\\n  Default: NO \\n\\nCAUTION:\\nFor tables, use the OVERWRITE=YES statement only with data that is backed up or \\nwith data that you can reconstruct. Because the output table is deleted first, \\ndata will be lost if a failure occurs while the output table is being written.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"YES\",\"@Value2\":\"NO\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Specifies that the output table is deleted before a replacement output table    is created or a package or thread is dropped.\",\"@ToolTip2\":\"Specifies that the output table is not deleted before a replacement output table    is created or a package or thread is dropped.\"}},{\"StatementOptionName\":\"PW=\",\"StatementOptionHelp\":{\"#cdata\":\"Assigns a READ, WRITE, and ALTER password to a SAS file, and enables access to a password-protected SAS file. \\n    \\nSyntax: PW=password  \\n\\nSyntax Description:\\npassword \\n  must be a valid SAS name.\\n\\nDetails:\\nThe PW= option applies to all types of SAS files. You can use this option to assign \\na password to a SAS file or to access a password-protected SAS file.\\n\\nWhen replacing a SAS data set that is protected by an ALTER password, the new data \\nset inherits the ALTER password. When the code is written to the SAS log the password \\nis blotted out, for example: \\n\\n  drop thread job2 (pw=xxxxxxx);\\n\\nNote:   A SAS password does not control access to a SAS file beyond the SAS system. \\nYou should use the operating system-supplied utilities and file-system security \\ncontrols in order to control access to SAS files outside of SAS.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"READ=\",\"StatementOptionHelp\":{\"#cdata\":\"Assigns a READ password to a SAS file that prevents users from reading the file, \\nunless they enter the password. \\n    \\nSyntax: READ=read-password  \\n\\nSyntax Description: \\nread-password \\n  must be a valid SAS name. \\n \\nDetails: \\nThe READ= option applies to all types of SAS files except catalogs. You can use this \\noption to assign a password to a SAS file or to access a read-protected SAS file. When \\nthe code is written to the SAS log, the password is blotted out, for example: \\n\\n  declare package sales (read=XXXXXXX);\\n\\nNote: A SAS password does not control access to a SAS file beyond the SAS system. You  \\nshould use the operating system-supplied utilities and file-system security controls \\nin order to control access to SAS files outside of SAS.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"RENAME=\",\"StatementOptionHelp\":{\"#cdata\":\"Changes the name of a column.\\n    \\nSyntax: RENAME= (old-name { = | AS } new-name [... old-name { = | AS } new-name ] ) ;  \\n\\nArguments: \\nold-name \\n  the column you want to rename.\\n\\nnew-name \\n  the new name of the column. It must be a valid name for the data source.\\n \\nDetails: \\nThe RENAME= table option allows you to change the names of one or more columns.\\n\\nIf you use RENAME= when you create a table, the new column name is included in the output \\ntable. If you use RENAME= on an input table, the new name is used in DS2 programming statements.\\n\\nIf you use RENAME= in the same DS2 program with either the DROP= or the KEEP= table option, \\nthe DROP= and the KEEP= table options are applied before RENAME=. You must use the old name in \\nthe DROP= and KEEP= table options. You cannot drop and rename the same column in the same statement.\\n\\nIn addition to changing the name of a column, RENAME= also changes the label for the column.\"},\"StatementOptionType\":\"V\",\"SubOptionsKeywords\":\"AS\"},{\"StatementOptionName\":\"AS\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: RENAME= (old-name AS new-name [... old-name AS new-name ] ) ;\\n          \\nSeparates the new-name from the old-name.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"TYPE=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies the data set type for a specially structured SAS data set. \\n    \\nSyntax: TYPE=data-set-type  \\n\\nSyntax Description: \\ndata-set-type \\n  specifies the special type of the data set.\\n\\nDetails: \\nUse the TYPE= table option to create a special SAS data set in the proper format, \\nor to identify the special type of the SAS data set in a procedure statement. \\n\\nYou can use the CONTENTS procedure to determine the type of a data set.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"WRITE=\",\"StatementOptionHelp\":{\"#cdata\":\"Assigns a WRITE password to a SAS file that prevents users from writing to a file, \\nunless they enter the password. \\n    \\nSyntax: WRITE=write-password  \\n\\nSyntax Description: \\nwrite-password \\n  must be a valid SAS name. \\n \\nDetails: \\nThe WRITE= option applies to all types of SAS files except catalogs. You can use this \\noption to assign a password to a SAS file or to access a write-protected SAS file. When \\nthe code is written to the SAS log, the password is blotted out, for example: \\n\\n  drop thread job2a (write=XXXXXXX);\\n\\nNote: A SAS password does not control access to a SAS file beyond the SAS system. You \\nshould use the operating system-supplied utilities and file-system security controls \\nin order to control access to SAS files outside of SAS.\"},\"StatementOptionType\":\"V\"}],\"#comment\":{}}},{\"StatementName\":\"ENDTHREAD\",\"StatementHelp\":{\"#cdata\":\"[This statement is valid only in DS2 and HPDS2 procedures.]\\n      \\nSyntax: ENDTHREAD; \\n      \\nMarks the end of a THREAD statement. \\n\\nAlthough the ENDTHREAD statement is not required, it can make the code easier to read.\"},\"StatementOptions\":null},{\"StatementName\":\"TABLE\",\"StatementHelp\":{\"#cdata\":\"[This statement is valid only in DS2 and HPDS2 procedures.]\\n      \\nSyntax: TABLE | DATA [ <table-expression> ] [... <table-expression> ] ;  \\n    ... program-body ...  \\n \\n  [ ENDTABLE | ENDDATA; ]  \\n\\nBegins a DS2 program and provides names for any output tables. \\n\\n<table-expression>::=table (table-options)\\n  | _ROWSET_ (table-options)\\n  | _NULL_\\n  \\nWithout Arguments:\\nIf you do not specify any table names with the TABLE|DATA statement, then the DS2 program \\nreturns table rows to the client application and no tables are created.\\n\\nArguments:\\ntable \\nspecifies the name of the table. table can be one of these forms. \\n\\n   catalog.schema.table-name  \\n   schema.table-name  \\n   catalog.table-name  \\n   table-name \\n   \\nwhere:\\n  catalog \\n  is an implementation of the ANSI SQL standard for an SQL catalog, which is a data \\n  container object that groups logically related schemas. \\n\\n  schema \\n  is an implementation of the ANSI SQL standard for an SQL schema, which is a data \\n  container object that groups files such as tables and views and other objects supported \\n  by a data source such as stored procedures. \\n\\n  table-name \\n  is the name of the table.\\n\\n  Requirements: Table naming conventions are based on the data source.\\n\\n_ROWSET_\\nspecifies that the DATA statement should not create a table, but it should instead return \\ntable rows to the client application.\\n\\n_NULL_\\nspecifies that the DATA statement should not create a table or return rows to the client \\napplication.\\n\\ntable-options\\nspecifies optional arguments that the DS2 program applies when it writes rows to the output table.\"},\"StatementOptions\":{\"StatementOption\":[{\"StatementOptionName\":\"_ROWSET_\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies that the TABLE statement should not create a table, but it should instead \\nreturn table rows to the client application.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"_NULL_\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies that the TABLE statement should not create a table or return rows to the client application.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"ALTER=\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: ALTER=alter-password \\n    \\nSyntax Description:\\nalter-password \\n  must be a valid SAS name.\\n \\nDetails: \\nThe ALTER= option applies only to a SAS data set. You can use this option to assign \\na password or to access a read-protected, write-protected, or alter-protected file. \\nWhen you replace a data set that is protected with an ALTER password, the new data \\nset inherits the ALTER password. \\n\\nThe password is blotted out when the code is written in the SAS log. For example: \\n\\n  set a(alter=XXXXXXX);\\n\\nNote: A SAS password does not control access to a SAS file beyond the SAS system. \\nYou should use the operating system-supplied utilities and file-system security \\ncontrols in order to control access to SAS files outside of SAS.\"},\"StatementOptionType\":\"TV\"},{\"StatementOptionName\":\"BUFNO=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies the number of buffers to be allocated for processing a SAS data set. \\n    \\nSyntax: BUFNO= n | nK | hexX | MIN | MAX  \\n\\nSyntax Description:\\n\\nn | nK \\n  specifies the number of buffers in multiples of 1 (bytes); 1,024 (kilobytes). For example, \\n  a value of 8 specifies 8 buffers, and a value of 1k specifies 1024 buffers.\\n\\nhex \\n  specifies the number of buffers as a hexadecimal value. You must specify the value beginning \\n  with a number (0-9), followed by an X. For example, the value 2dx sets the number of buffers \\n  to 45 buffers.\\n\\nMIN \\n  sets the minimum number of buffers to 0, which causes SAS to use the minimum optimal value \\n  for the operating environment. This is the default.\\n\\nMAX \\n  sets the number of buffers to the maximum possible number in your operating environment, \\n  up to the largest four-byte, signed integer, which is 2\\u00b3\\u00b9-1, or approximately 2 billion.\"},\"StatementOptionType\":\"TV\",\"StatementOptionValues\":{\"@Value1\":\"n\",\"@Value2\":\"nK\",\"@Value3\":\"hexX\",\"@Value4\":\"MIN\",\"@Value5\":\"MAX\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Specifies the number of buffers in multiples of 1 (bytes).  Replace n with an integer value.\",\"@ToolTip2\":\"Specifies the number of buffers in multiples of 1,024 (kilobytes).  Replace n with an integer value.\",\"@ToolTip3\":\"Specifies the number of buffers as a hexadecimal value.  Replace hex with an actual hexadecimal value.\",\"@ToolTip4\":\"Sets the minimum number of buffers to 0, which causes SAS to use the minimum optimal value  for the operating environment. This is the default.\",\"@ToolTip5\":\"Sets the number of buffers to the maximum possible number in your operating environment,  up to the largest four-byte, signed integer, which is 2\\u00b3\\u00b9-1, or approximately 2 billion.\"}},{\"StatementOptionName\":\"BUFSIZE=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies the size of a permanent buffer page for an output SAS data set. \\n    \\nSyntax: BUFSIZE= n | nK | nM | nG | hexX | MAX  \\n\\nSyntax Description:\\n\\nn | nK | nM | nG \\nspecifies the page size in multiples of 1 (bytes); 1,024 (kilobytes); 1,048,576 (megabytes); \\nor 1,073,741,824 (gigabytes). For example, a value of 8 specifies a page size of 8 bytes, and \\na value of 4k specifies a page size of 4096 bytes. \\n\\nhexX \\nspecifies the page size as a hexadecimal value. You must specify the value beginning with a \\nnumber (0-9), followed by an X. For example, the value 2dx sets the page size to 45 bytes.\\n\\nMAX \\nsets the page size to the maximum possible number in your operating environment, up to the \\nlargest four-byte, signed integer, which is 231-1, or approximately 2 billion bytes.\"},\"StatementOptionType\":\"TV\",\"StatementOptionValues\":{\"@Value1\":\"n\",\"@Value2\":\"nK\",\"@Value3\":\"nM\",\"@Value4\":\"nG\",\"@Value5\":\"hexX\",\"@Value6\":\"MAX\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Specifies the page size in multiples of 1 (bytes).  Replace n with an integer value.\",\"@ToolTip2\":\"Specifies the page size in multiples of 1,024 (kilobytes).  Replace n with an integer value.\",\"@ToolTip3\":\"Specifies the page size in multiples of 1,048,576 (megabytes).  Replace n with an integer value.\",\"@ToolTip4\":\"Specifies the page size in multiples of 1,073,741,824 (gigabytes).  Replace n with an integer value.\",\"@ToolTip5\":\"Specifies the page size as a hexadecimal value.  Replace hex with an actual hexadecimal value.\",\"@ToolTip6\":\"Sets the page size to the maximum possible number in your operating environment,  up to the largest four-byte, signed integer, which is 2\\u00b3\\u00b9-1, or approximately 2 billion bytes.\"}},{\"StatementOptionName\":\"BULKLOAD=\",\"StatementOptionHelp\":{\"#cdata\":\"Loads rows of data as one unit. Default value: NO  \\n    \\nSyntax: BULKLOAD=YES | NO  \\n\\nSyntax Description:\\n\\nYES \\ncalls a DBMS-specific bulk load facility in order to insert or append rows to a DBMS table.\\n\\nNO \\nuses the dynamic SAS/ACCESS engine to insert or append data to a DBMS table.\"},\"StatementOptionType\":\"TV\",\"StatementOptionValues\":{\"@Value1\":\"YES\",\"@Value2\":\"NO\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Calls a DBMS-specific bulk load facility in order to insert or append rows to a DBMS table.\",\"@ToolTip2\":\"Uses the dynamic SAS/ACCESS engine to insert or append data to a DBMS table.\"}},{\"StatementOptionName\":\"COMPRESS=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies how observations are compressed in a new output SAS data set. \\n    \\nSyntax: COMPRESS=NO | YES | CHAR | BINARY  \\n\\nSyntax Description:\\nNO \\nspecifies that the observations in a newly created SAS data set are uncompressed (fixed-length records).\\n\\nYES | CHAR \\nspecifies that the observations in a newly created SAS data set are compressed (variable-length records) \\nby SAS using RLE (Run Length Encoding). RLE compresses observations by reducing repeated consecutive \\ncharacters (including blanks) to two-byte or three-byte representations. \\n\\n  Alias: ON \\n  Tip: Use this compression algorithm for character data. \\n  Note:   COMPRESS=CHAR is accepted by Version 7 and later versions.  \\n\\nBINARY \\n  specifies that the observations in a newly created SAS data set are compressed (variable-length records) \\n  by SAS using RDC (Ross Data Compression). RDC combines run-length encoding and sliding-window compression \\n  to compress the file.\\n\\n  Tip: This method is highly effective for compressing medium to large (several hundred bytes or larger) \\n  blocks of binary data (numeric variables). Because the compression function operates on a single record \\n  at a time, the record length needs to be several hundred bytes or larger for effective compression.\"},\"StatementOptionType\":\"TV\",\"StatementOptionValues\":{\"@Value1\":\"NO\",\"@Value2\":\"YES|ON\",\"@Value3\":\"CHAR\",\"@Value4\":\"BINARY\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Specifies that the observations in a newly created SAS data set are uncompressed  (fixed-length records).\",\"@ToolTip2\":\"Specifies that the observations in a newly created SAS data set are compressed  (variable-length records) by SAS using RLE (Run Length Encoding). RLE compresses  observations by reducing repeated consecutive characters (including blanks) to  two-byte or three-byte representations.\",\"@ToolTip3\":\"Specifies that the observations in a newly created SAS data set are compressed  (variable-length records) by SAS using RLE (Run Length Encoding). RLE compresses  observations by reducing repeated consecutive characters (including blanks) to  two-byte or three-byte representations.   COMPRESS=CHAR is accepted by Version 7 and later versions.\",\"@ToolTip4\":\"Specifies that the observations in a newly created SAS data set are compressed  (variable-length records) by SAS using RDC (Ross Data Compression). RDC combines  run-length encoding and sliding-window compression to compress the file.\"}},{\"StatementOptionName\":\"DBKEY=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies a key column to optimize DBMS retrieval. Can improve performance when you \\nare processing a join that involves a large DBMS table and a small SAS data set \\nor DBMS table.\\n    \\nSyntax: DBKEY=([ ' ] column [ ' ] [... [ ' ] column [ ' ] ])  \\n\\nSyntax Description: \\n\\ncolumn \\n  used by SAS to build an internal WHERE clause to search for matches in the DBMS table \\n  based on the key column. For example:\\n\\n    select * from sas.a, dbms.b(dbkey=x) where a.x=b.x;\\n    \\nIn this example, DBKEY= specifies column x , which matches the key column designated in \\nthe WHERE clause. However, if the DBKEY= column does NOT match the key column in the \\nWHERE clause, then DBKEY= is not used.\"},\"StatementOptionType\":\"TV\"},{\"StatementOptionName\":\"DBNULL=\",\"StatementOptionHelp\":{\"#cdata\":\"Indicates whether NULL is a valid value for the specified columns when a table is created. \\n    \\nSyntax: DBNULL={ _ALL=YES | NO } | ( [column=YES | NO [ ... column=YES | NO ] ] )  \\n\\nSyntax Description: \\n_ALL_ \\n  specifies that the YES or NO applies to all columns in the table. (This is valid in \\n  the interfaces to Informix, Oracle, Sybase, and Teradata only.)\\n\\nYES \\n  specifies that the NULL value is valid for the specified columns in the DBMS table.\\n\\nNO \\n  specifies that the NULL value is not valid for the specified columns in the DBMS table.\\n\\ncolumn \\n  specifies the name of a column. \\n\\nDetails: \\nThis option is valid only for creating DBMS tables. If you specify more than one column name, \\nthe names must be separated with spaces.\\n\\nThe DBNULL= option processes values from left to right, so if you specify a column name twice, \\nor if you use the _ALL_ value, the last value overrides the first value that is specified for \\nthe column.\"},\"StatementOptionType\":\"TV\",\"SubOptionsKeywords\":\"_ALL_\"},{\"StatementOptionName\":\"DROP=\",\"StatementOptionHelp\":{\"#cdata\":\"For an input table, excludes the specified columns from processing; for an output table, excludes the specified columns from being written to the table.\\n    \\nSyntax: DROP= ( column-list );  \\n\\nArguments: \\ncolumn-list \\n  specifies the names of the columns to omit from the output table.\\n\\n  Restriction: Numbered range lists in the format col1-col5 and name prefix lists in the format \\n  col: are not supported. \\n \\nDetails: \\nThe DROP= table option specifies that all columns in the column-list should not be included \\nin the creation of output rows. Normally, all columns in the program data vector are included \\nin the output rows. If the drop attribute is specified, all columns not included in the drop \\nstatement will be used to create columns in the output rows.\\n\\nIf the DROP= table option is associated with an input table, the columns are not available \\nfor processing during program execution.\"},\"StatementOptionType\":\"TV\"},{\"StatementOptionName\":\"ENCRYPT=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies whether to encrypt an output SAS data set. \\n    \\nSyntax: ENCRYPT=YES | NO  \\n\\nSyntax Description:\\nYES \\n  encrypts the file. The encryption method uses passwords. At a minimum, you must specify \\n  the READ= or the PW= table option at the same time that you specify ENCRYPT=YES. Because \\n  the encryption method uses passwords, you cannot change any password on an encrypted data \\n  set without re-creating the data set.\\n\\nNO \\n  does not encrypt the file.\\n\\nCAUTION:\\nRecord all passwords. \\nIf you forget the password, you cannot reset it without assistance from SAS. The process \\nis time-consuming and resource-intensive.\"},\"StatementOptionType\":\"TV\",\"StatementOptionValues\":{\"@Value1\":\"YES\",\"@Value2\":\"NO\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Encrypts the file. The encryption method uses passwords. At a minimum, you must specify  the READ= or the PW= table option at the same time that you specify ENCRYPT=YES. Because  the encryption method uses passwords, you cannot change any password on an encrypted data  set without re-creating the data set.\",\"@ToolTip2\":\"Does not encrypt the file.\"}},{\"StatementOptionName\":\"KEEP=\",\"StatementOptionHelp\":{\"#cdata\":\"For an input table, specifies the columns to process; for an output table, specifies \\nthe columns to write to the table. \\n    \\nSyntax: KEEP=( column-list );  \\n\\nArguments:\\n\\ncolumn-list \\n  specifies the names of the columns to keep in the output table.\\n\\n  Restriction: Numbered range lists in the format col1-col5 and name prefix lists in the \\n  format col: are not supported. \\n  \\nDetails: \\nThe KEEP= table option specifies that all columns in the column-list should be included in \\nthe creation of output rows. Normally, all columns in the program data vector are included \\nin the output rows. If the keep attribute is specified, all columns not included in the KEEP \\nstatement will be dropped from the output rows.\\n\\nIf the KEEP= table option is associated with an input table, only the columns that are \\nspecified by the KEEP= table option are available for processing during program execution.\"},\"StatementOptionType\":\"TV\"},{\"StatementOptionName\":\"LABEL=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies a label for a table.\\n    \\nSyntax: LABEL='label'  \\n\\nSyntax Description: \\n\\n'label' \\n  specifies a text string of up to 256 characters. If the label text contains single \\n  quotation marks, use double quotation marks around the label, or use two single \\n  quotation marks in the label text and surround the string with single quotation \\n  marks. To remove a label from a table, assign a label that is equal to a blank \\n  that is enclosed in quotation marks.\\n \\nDetails: \\nYou can use the LABEL= option on both input and output tables. When you use LABEL= \\non input tables, it assigns a label for the table for the duration of the DS2 program. \\nWhen it is specified for an output table, the label becomes a permanent part of that \\ntable.\"},\"StatementOptionType\":\"TV\"},{\"StatementOptionName\":\"LOCKTABLE=\",\"StatementOptionHelp\":{\"#cdata\":\"Places shared or exclusive locks on tables. \\n    \\nSyntax: LOCKTABLE=SHARE | EXCLUSIVE  \\n\\nSyntax Description:\\n\\nSHARE \\n  locks a table in shared mode, allowing other users or processes to read data from the \\n  tables, but preventing users from updating data.\\n\\nEXCLUSIVE \\n  locks a table exclusively, preventing other users from accessing any table that you open. \\n\\nDetails: \\nYou can lock tables only if you are the owner or have been granted the necessary privilege. \\n\\nIf you access the BASE table driver through PROC DS2, the default value for the LOCKTABLE \\noption is EXCLUSIVE. However, if you access the BASE table driver through a table server, \\nor if you run your program locally with the SAS Table Server LIBNAME engine, the default \\nvalue for the LOCKTABLE option is SHARE.\"},\"StatementOptionType\":\"TV\",\"StatementOptionValues\":{\"@Value1\":\"SHARE\",\"@Value2\":\"EXCLUSIVE\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Locks a table in shared mode, allowing other users or processes to read data from  the tables, but preventing users from updating data.\",\"@ToolTip2\":\"Locks a table exclusively, preventing other users from accessing any table that you open.\"}},{\"StatementOptionName\":\"OVERWRITE=\",\"StatementOptionHelp\":{\"#cdata\":\"For a table, drops the output table before the replacement output table is populated \\nwith rows; for packages and threads, drops the existing package or thread if a package \\nor thread by the same name exists. \\n    \\nSyntax: OVERWRITE= YES | NO;  \\n\\nArguments: \\n\\nYES | NO \\n  specifies whether the output table is deleted before a replacement output table \\n  is created or whether a package or thread is dropped.\\n\\n  Default: NO \\n\\nCAUTION:\\nFor tables, use the OVERWRITE=YES statement only with data that is backed up or \\nwith data that you can reconstruct. Because the output table is deleted first, \\ndata will be lost if a failure occurs while the output table is being written.\"},\"StatementOptionType\":\"TV\",\"StatementOptionValues\":{\"@Value1\":\"YES\",\"@Value2\":\"NO\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Specifies that the output table is deleted before a replacement output table    is created or a package or thread is dropped.\",\"@ToolTip2\":\"Specifies that the output table is not deleted before a replacement output table    is created or a package or thread is dropped.\"}},{\"StatementOptionName\":\"PW=\",\"StatementOptionHelp\":{\"#cdata\":\"Assigns a READ, WRITE, and ALTER password to a SAS file, and enables access to a password-protected SAS file. \\n    \\nSyntax: PW=password  \\n\\nSyntax Description:\\npassword \\n  must be a valid SAS name.\\n\\nDetails:\\nThe PW= option applies to all types of SAS files. You can use this option to assign \\na password to a SAS file or to access a password-protected SAS file.\\n\\nWhen replacing a SAS data set that is protected by an ALTER password, the new data \\nset inherits the ALTER password. When the code is written to the SAS log the password \\nis blotted out, for example: \\n\\n  drop thread job2 (pw=xxxxxxx);\\n\\nNote:   A SAS password does not control access to a SAS file beyond the SAS system. \\nYou should use the operating system-supplied utilities and file-system security \\ncontrols in order to control access to SAS files outside of SAS.\"},\"StatementOptionType\":\"TV\"},{\"StatementOptionName\":\"READ=\",\"StatementOptionHelp\":{\"#cdata\":\"Assigns a READ password to a SAS file that prevents users from reading the file, \\nunless they enter the password. \\n    \\nSyntax: READ=read-password  \\n\\nSyntax Description: \\nread-password \\n  must be a valid SAS name. \\n \\nDetails: \\nThe READ= option applies to all types of SAS files except catalogs. You can use this \\noption to assign a password to a SAS file or to access a read-protected SAS file. When \\nthe code is written to the SAS log, the password is blotted out, for example: \\n\\n  declare package sales (read=XXXXXXX);\\n\\nNote: A SAS password does not control access to a SAS file beyond the SAS system. You  \\nshould use the operating system-supplied utilities and file-system security controls \\nin order to control access to SAS files outside of SAS.\"},\"StatementOptionType\":\"TV\"},{\"StatementOptionName\":\"RENAME=\",\"StatementOptionHelp\":{\"#cdata\":\"Changes the name of a column.\\n    \\nSyntax: RENAME= (old-name { = | AS } new-name [... old-name { = | AS } new-name ] ) ;  \\n\\nArguments: \\nold-name \\n  the column you want to rename.\\n\\nnew-name \\n  the new name of the column. It must be a valid name for the data source.\\n \\nDetails: \\nThe RENAME= table option allows you to change the names of one or more columns.\\n\\nIf you use RENAME= when you create a table, the new column name is included in the output \\ntable. If you use RENAME= on an input table, the new name is used in DS2 programming statements.\\n\\nIf you use RENAME= in the same DS2 program with either the DROP= or the KEEP= table option, \\nthe DROP= and the KEEP= table options are applied before RENAME=. You must use the old name in \\nthe DROP= and KEEP= table options. You cannot drop and rename the same column in the same statement.\\n\\nIn addition to changing the name of a column, RENAME= also changes the label for the column.\"},\"StatementOptionType\":\"TV\",\"SubOptionsKeywords\":\"AS\"},{\"StatementOptionName\":\"AS\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: RENAME= (old-name AS new-name [... old-name AS new-name ] ) ;\\n          \\nSeparates the new-name from the old-name.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"TYPE=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies the data set type for a specially structured SAS data set. \\n    \\nSyntax: TYPE=data-set-type  \\n\\nSyntax Description: \\ndata-set-type \\n  specifies the special type of the data set.\\n\\nDetails: \\nUse the TYPE= table option to create a special SAS data set in the proper format, \\nor to identify the special type of the SAS data set in a procedure statement. \\n\\nYou can use the CONTENTS procedure to determine the type of a data set.\"},\"StatementOptionType\":\"TV\"},{\"StatementOptionName\":\"WRITE=\",\"StatementOptionHelp\":{\"#cdata\":\"Assigns a WRITE password to a SAS file that prevents users from writing to a file, \\nunless they enter the password. \\n    \\nSyntax: WRITE=write-password  \\n\\nSyntax Description: \\nwrite-password \\n  must be a valid SAS name. \\n \\nDetails: \\nThe WRITE= option applies to all types of SAS files except catalogs. You can use this \\noption to assign a password to a SAS file or to access a write-protected SAS file. When \\nthe code is written to the SAS log, the password is blotted out, for example: \\n\\n  drop thread job2a (write=XXXXXXX);\\n\\nNote: A SAS password does not control access to a SAS file beyond the SAS system. You \\nshould use the operating system-supplied utilities and file-system security controls \\nin order to control access to SAS files outside of SAS.\"},\"StatementOptionType\":\"TV\"}],\"#comment\":{}}},{\"StatementName\":\"ENDTABLE\",\"StatementHelp\":{\"#cdata\":\"Syntax: ENDTABLE; \\n      \\nMarks the end of a TABLE statement.\"},\"StatementOptions\":null},{\"StatementName\":\"ENDDATA\",\"StatementHelp\":{\"#cdata\":\"Syntax: ENDDATA ; \\n      \\n[This statement is valid only in DS2 and HPDS2 procedures.]\\n      \\nThe ENDDATA statement terminates the DS2 code block. The statements between the DATA and ENDDATA\\nstatement are submitted to the grid for execution. The DS2 run, init, and term methods are specified\\nbetween the DATA and ENDDATA statements.\"},\"StatementOptions\":null}],\"#comment\":{}}}}"
  },
  {
    "path": "server/data/Procedures/DEFINE_EVENT.json",
    "content": "{\"Procedure\":{\"Name\":\"DEFINE_EVENT\",\"ProductGroup\":\"SAS/BASE\",\"ProcedureHelp\":{\"#cdata\":\"\"},\"ProcedureOptions\":null,\"ProcedureStatements\":{\"ProcedureStatement\":[{\"StatementName\":\"FILE=\",\"StatementHelp\":{\"#cdata\":\"Syntax: FILE= BODY | CODE | CONTENTS | DATA | FRAME | PAGES | STYLESHEET; \\n      \\nRedirects event output to any of the known types of output that are open.\\n\\nRestriction:The FILE= attribute is valid only in markup family destinations. \\n\\nInteraction:The names of the output files correspond to the output file names on \\nthe ODS MARKUP statement that are specified with the BODY=, CODE=, CONTENTS=, FRAME=, \\nPAGES=, and STYLESHEET= options.\"},\"StatementOptions\":null},{\"StatementName\":\"PURE_STYLE=\",\"StatementHelp\":{\"#cdata\":\"Syntax: PURE_STYLE= YES | NO;\\n      \\nEnables the event to use any style element that has been defined. \\n\\nYES \\n  enables the event to use any of the style elements that have been defined. \\n  Alias:ON \\nNO \\n  does not enable the event to use any of the style elements that have been defined. \\n  Alias:OFF \\n\\nDefault:NO \\n\\nRestriction:The PURE_STYLE= attribute is valid only in markup family destinations.\"},\"StatementOptions\":null},{\"StatementName\":\"STYLE=\",\"StatementHelp\":{\"#cdata\":\"Syntax: STYLE= style-element;\\n      \\nSpecifies a style element. \\n\\nRestriction:The STYLE= attribute is valid only in markup family destinations. \\n\\nTip:When a carriage return separates style attributes, add a space before or after \\nthe carriage return to prevent syntax errors. SAS does not interpret a carriage \\nreturn as a space.\"},\"StatementOptions\":null},{\"StatementName\":\"BLOCK\",\"StatementHelp\":{\"#cdata\":\"Syntax:  BLOCK event </ event-statement-condition(s)>; \\n      \\nDisables the specified event.\\n\\nRequired Argument:\\nevent -- specifies the event.\\n\\nOptional Argument:\\n  event-statement-condition(s) -- specifies one or more conditions that must be true for the event statement to execute. \\n\\n  Requirement:event-statement-condition(s) must be preceded by a slash (/).\"},\"StatementOptions\":{\"StatementOption\":[{\"StatementOptionName\":\"ANY\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: ANY (variable-1,<..., variable-n>) \\n\\nChecks a list of comma-delimited variables for values. If any of the variables \\nhas a value, then the condition is true. \\n\\nExample:\\n  put 'One of our variables has a value!'\\n    nl/if any(background, foreground, cellpadding, cellspacing);\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"BREAKIF\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: BREAKIF event \\n\\nStops an event that is executing. The current statement is executed and the event ends.\\n\\nTip:Using the BREAKIF condition is more efficient than using a PUT event statement \\nand a BREAK event statement with an IF condition together. For example, the following \\nstatements are equivalent: \\n\\n  put 'Foreground has a value!' /breakif exists(foreground); \\n  put 'Foreground has a value!' /if exists(foreground);\\n    break /if exists(foreground);\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"CMP\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: CMP (\\u201cstring\\u201d, variable | variable-list) \\n\\nCompares, for equality, a string to a variable or list of variables. \\n\\nExample:\\n put 'The foreground is blue!' nl/if cmp('blue',foreground);\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"CONTAINS\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: CONTAINS (argument-1, argument-2)\\n          \\nSearches the first argument for the second argument. \\n\\nExample:\\n  set $myvariable 'some random text';\\n    put 'myvariable contains 'ran' nl/if contains($myvariable, 'ran');\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"EXIST|EXISTS\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: EXIST | EXISTS (variable | variable-list) \\n\\nDetermines whether a variable or a list of variables has values. If all of the \\nvariables have values, then the condition is true. If a variable has an empty \\nstring of length 0, then the variable has no value and the condition is false. \\n\\nTip:Use the MISSING event variable with the EXIST condition to determine whether a value is missing. \\n\\nExample:\\n  put 'All of our variables have a value!'\\n    nl/if exists(background, foreground, cellpadding, cellspacing);\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"IF|WHEN|WHERE\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: IF | WHEN | WHERE (<value><'string'><variable>) \\n\\nTests for existence or equality. IF, WHEN, and WHERE are optional and interchangeable. \\nAn IF, a WHEN, or a WHERE condition compares values and strings, or checks variables \\nfor values. \\n\\nRestriction:When you specify an IF condition with a single, user-defined variable, then \\nthe variable is evaluated to determine if it has a value, according to the variable's \\ntype. A string variable type uses the length to determine existence, a numeric variable \\ntype uses value, and a dictionary array variable type uses the key (if there is a key \\nspecified, then the test is true). \\n\\nExample:All of the following are equivalent: \\n  put 'Foreground has a value!' nl/if (foreground);\\n  put 'Foreground has a value!' nl/if exists(foreground);\\n  put 'Foreground has a value!' nl/when exists(foreground);\\n  put 'Foreground has a value!' nl/exists(foreground);\\n  put 'Foreground has a value!' nl/where exists(foreground);\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"NOT\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: NOT | ! | ^ <'string'><variable>\\n          \\nNegates a condition. You can use the keyword NOT or the characters '!' or '^'. \\n\\nRestriction:The character '!' works only as the first character in a condition. \\nThe standard WHERE processing syntax is required for subsequent characters. \\n\\nExample:\\n  put 'The foreground is not red!' nl/if not cmp('red', foreground);\\n  put 'The foreground is not red or blue' /if !cmp('red', foreground)\\n      and ^cmp('blue', foreground);\\n  put 'The foreground is not red or blue' /if ^cmp('red', foreground)\\n      and ^cmp('blue', foreground);\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"WHILE\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: WHILE condition-expression \\n\\nIndicates that the corresponding statement block should loop until the WHILE value becomes false. \\n\\nRestriction:The WHILE condition can be used only with the DO statement. \\n\\nExample:\\n  eval $count 0;\\n\\n    do /while $count < 10;\\n      eval $i $count+1;\\n      continue /if $count eq 5;\\n      stop /if $count eq 8;\\n      put 'Count is ' $i nl;\\n  else;\\n      put 'Count was never less than 10' nl;\\n  done;\"},\"StatementOptionType\":\"S\"}]}},{\"StatementName\":\"BREAK\",\"StatementHelp\":{\"#cdata\":\"Syntax:  BREAK </ event-statement-condition(s)>; \\n\\nStops the current event from executing. Statements below the BREAK statement are not executed. \\n\\nOptional Argument:\\n  event-statement-condition(s) \\n    specifies one or more conditions that must be true for the event statement to execute. \\n    \\n    Requirement:event-statement-condition(s) must be preceded by a slash (/).\"},\"StatementOptions\":{\"StatementOption\":[{\"StatementOptionName\":\"ANY\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: ANY (variable-1,<..., variable-n>) \\n\\nChecks a list of comma-delimited variables for values. If any of the variables \\nhas a value, then the condition is true. \\n\\nExample:\\n  put 'One of our variables has a value!'\\n    nl/if any(background, foreground, cellpadding, cellspacing);\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"BREAKIF\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: BREAKIF event \\n\\nStops an event that is executing. The current statement is executed and the event ends.\\n\\nTip:Using the BREAKIF condition is more efficient than using a PUT event statement \\nand a BREAK event statement with an IF condition together. For example, the following \\nstatements are equivalent: \\n\\n  put 'Foreground has a value!' /breakif exists(foreground); \\n  put 'Foreground has a value!' /if exists(foreground);\\n    break /if exists(foreground);\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"CMP\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: CMP (\\u201cstring\\u201d, variable | variable-list) \\n\\nCompares, for equality, a string to a variable or list of variables. \\n\\nExample:\\n put 'The foreground is blue!' nl/if cmp('blue',foreground);\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"CONTAINS\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: CONTAINS (argument-1, argument-2)\\n          \\nSearches the first argument for the second argument. \\n\\nExample:\\n  set $myvariable 'some random text';\\n    put 'myvariable contains 'ran' nl/if contains($myvariable, 'ran');\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"EXIST|EXISTS\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: EXIST | EXISTS (variable | variable-list) \\n\\nDetermines whether a variable or a list of variables has values. If all of the \\nvariables have values, then the condition is true. If a variable has an empty \\nstring of length 0, then the variable has no value and the condition is false. \\n\\nTip:Use the MISSING event variable with the EXIST condition to determine whether a value is missing. \\n\\nExample:\\n  put 'All of our variables have a value!'\\n    nl/if exists(background, foreground, cellpadding, cellspacing);\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"IF|WHEN|WHERE\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: IF | WHEN | WHERE (<value><'string'><variable>) \\n\\nTests for existence or equality. IF, WHEN, and WHERE are optional and interchangeable. \\nAn IF, a WHEN, or a WHERE condition compares values and strings, or checks variables \\nfor values. \\n\\nRestriction:When you specify an IF condition with a single, user-defined variable, then \\nthe variable is evaluated to determine if it has a value, according to the variable's \\ntype. A string variable type uses the length to determine existence, a numeric variable \\ntype uses value, and a dictionary array variable type uses the key (if there is a key \\nspecified, then the test is true). \\n\\nExample:All of the following are equivalent: \\n  put 'Foreground has a value!' nl/if (foreground);\\n  put 'Foreground has a value!' nl/if exists(foreground);\\n  put 'Foreground has a value!' nl/when exists(foreground);\\n  put 'Foreground has a value!' nl/exists(foreground);\\n  put 'Foreground has a value!' nl/where exists(foreground);\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"NOT\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: NOT | ! | ^ <'string'><variable>\\n          \\nNegates a condition. You can use the keyword NOT or the characters '!' or '^'. \\n\\nRestriction:The character '!' works only as the first character in a condition. \\nThe standard WHERE processing syntax is required for subsequent characters. \\n\\nExample:\\n  put 'The foreground is not red!' nl/if not cmp('red', foreground);\\n  put 'The foreground is not red or blue' /if !cmp('red', foreground)\\n      and ^cmp('blue', foreground);\\n  put 'The foreground is not red or blue' /if ^cmp('red', foreground)\\n      and ^cmp('blue', foreground);\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"WHILE\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: WHILE condition-expression \\n\\nIndicates that the corresponding statement block should loop until the WHILE value becomes false. \\n\\nRestriction:The WHILE condition can be used only with the DO statement. \\n\\nExample:\\n  eval $count 0;\\n\\n    do /while $count < 10;\\n      eval $i $count+1;\\n      continue /if $count eq 5;\\n      stop /if $count eq 8;\\n      put 'Count is ' $i nl;\\n  else;\\n      put 'Count was never less than 10' nl;\\n  done;\"},\"StatementOptionType\":\"S\"}]}},{\"StatementName\":\"CLOSE\",\"StatementHelp\":{\"#cdata\":\"Syntax: CLOSE < / event-statement-condition(s)>; \\n \\nCloses the current stream variable and directs all future output to the output file.\\n\\nOptional Argument:\\n  event-statement-condition(s) \\n    specifies one or more conditions that must be true for the event statement to execute. \\n    \\n    Requirement:event-statement-condition(s) must be preceded by a slash (/).\"},\"StatementOptions\":{\"StatementOption\":[{\"StatementOptionName\":\"ANY\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: ANY (variable-1,<..., variable-n>) \\n\\nChecks a list of comma-delimited variables for values. If any of the variables \\nhas a value, then the condition is true. \\n\\nExample:\\n  put 'One of our variables has a value!'\\n    nl/if any(background, foreground, cellpadding, cellspacing);\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"BREAKIF\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: BREAKIF event \\n\\nStops an event that is executing. The current statement is executed and the event ends.\\n\\nTip:Using the BREAKIF condition is more efficient than using a PUT event statement \\nand a BREAK event statement with an IF condition together. For example, the following \\nstatements are equivalent: \\n\\n  put 'Foreground has a value!' /breakif exists(foreground); \\n  put 'Foreground has a value!' /if exists(foreground);\\n    break /if exists(foreground);\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"CMP\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: CMP (\\u201cstring\\u201d, variable | variable-list) \\n\\nCompares, for equality, a string to a variable or list of variables. \\n\\nExample:\\n put 'The foreground is blue!' nl/if cmp('blue',foreground);\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"CONTAINS\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: CONTAINS (argument-1, argument-2)\\n          \\nSearches the first argument for the second argument. \\n\\nExample:\\n  set $myvariable 'some random text';\\n    put 'myvariable contains 'ran' nl/if contains($myvariable, 'ran');\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"EXIST|EXISTS\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: EXIST | EXISTS (variable | variable-list) \\n\\nDetermines whether a variable or a list of variables has values. If all of the \\nvariables have values, then the condition is true. If a variable has an empty \\nstring of length 0, then the variable has no value and the condition is false. \\n\\nTip:Use the MISSING event variable with the EXIST condition to determine whether a value is missing. \\n\\nExample:\\n  put 'All of our variables have a value!'\\n    nl/if exists(background, foreground, cellpadding, cellspacing);\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"IF|WHEN|WHERE\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: IF | WHEN | WHERE (<value><'string'><variable>) \\n\\nTests for existence or equality. IF, WHEN, and WHERE are optional and interchangeable. \\nAn IF, a WHEN, or a WHERE condition compares values and strings, or checks variables \\nfor values. \\n\\nRestriction:When you specify an IF condition with a single, user-defined variable, then \\nthe variable is evaluated to determine if it has a value, according to the variable's \\ntype. A string variable type uses the length to determine existence, a numeric variable \\ntype uses value, and a dictionary array variable type uses the key (if there is a key \\nspecified, then the test is true). \\n\\nExample:All of the following are equivalent: \\n  put 'Foreground has a value!' nl/if (foreground);\\n  put 'Foreground has a value!' nl/if exists(foreground);\\n  put 'Foreground has a value!' nl/when exists(foreground);\\n  put 'Foreground has a value!' nl/exists(foreground);\\n  put 'Foreground has a value!' nl/where exists(foreground);\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"NOT\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: NOT | ! | ^ <'string'><variable>\\n          \\nNegates a condition. You can use the keyword NOT or the characters '!' or '^'. \\n\\nRestriction:The character '!' works only as the first character in a condition. \\nThe standard WHERE processing syntax is required for subsequent characters. \\n\\nExample:\\n  put 'The foreground is not red!' nl/if not cmp('red', foreground);\\n  put 'The foreground is not red or blue' /if !cmp('red', foreground)\\n      and ^cmp('blue', foreground);\\n  put 'The foreground is not red or blue' /if ^cmp('red', foreground)\\n      and ^cmp('blue', foreground);\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"WHILE\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: WHILE condition-expression \\n\\nIndicates that the corresponding statement block should loop until the WHILE value becomes false. \\n\\nRestriction:The WHILE condition can be used only with the DO statement. \\n\\nExample:\\n  eval $count 0;\\n\\n    do /while $count < 10;\\n      eval $i $count+1;\\n      continue /if $count eq 5;\\n      stop /if $count eq 8;\\n      put 'Count is ' $i nl;\\n  else;\\n      put 'Count was never less than 10' nl;\\n  done;\"},\"StatementOptionType\":\"S\"}]}},{\"StatementName\":\"CONTINUE\",\"StatementHelp\":{\"#cdata\":\"Syntax:  CONTINUE </ event-statement-condition(s)>; \\n\\nSpecifies that the execution of the DO loop returns to the corresponding DO statement \\nfor re-evaluation of the IF event statement condition. \\n\\nOptional Argument:\\n  event-statement-condition(s) \\n    specifies one or more conditions that must be true for the event statement to execute. \\n    \\n    Requirement:event-statement-condition(s) must be preceded by a slash (/).\"},\"StatementOptions\":{\"StatementOption\":[{\"StatementOptionName\":\"ANY\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: ANY (variable-1,<..., variable-n>) \\n\\nChecks a list of comma-delimited variables for values. If any of the variables \\nhas a value, then the condition is true. \\n\\nExample:\\n  put 'One of our variables has a value!'\\n    nl/if any(background, foreground, cellpadding, cellspacing);\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"BREAKIF\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: BREAKIF event \\n\\nStops an event that is executing. The current statement is executed and the event ends.\\n\\nTip:Using the BREAKIF condition is more efficient than using a PUT event statement \\nand a BREAK event statement with an IF condition together. For example, the following \\nstatements are equivalent: \\n\\n  put 'Foreground has a value!' /breakif exists(foreground); \\n  put 'Foreground has a value!' /if exists(foreground);\\n    break /if exists(foreground);\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"CMP\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: CMP (\\u201cstring\\u201d, variable | variable-list) \\n\\nCompares, for equality, a string to a variable or list of variables. \\n\\nExample:\\n put 'The foreground is blue!' nl/if cmp('blue',foreground);\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"CONTAINS\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: CONTAINS (argument-1, argument-2)\\n          \\nSearches the first argument for the second argument. \\n\\nExample:\\n  set $myvariable 'some random text';\\n    put 'myvariable contains 'ran' nl/if contains($myvariable, 'ran');\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"EXIST|EXISTS\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: EXIST | EXISTS (variable | variable-list) \\n\\nDetermines whether a variable or a list of variables has values. If all of the \\nvariables have values, then the condition is true. If a variable has an empty \\nstring of length 0, then the variable has no value and the condition is false. \\n\\nTip:Use the MISSING event variable with the EXIST condition to determine whether a value is missing. \\n\\nExample:\\n  put 'All of our variables have a value!'\\n    nl/if exists(background, foreground, cellpadding, cellspacing);\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"IF|WHEN|WHERE\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: IF | WHEN | WHERE (<value><'string'><variable>) \\n\\nTests for existence or equality. IF, WHEN, and WHERE are optional and interchangeable. \\nAn IF, a WHEN, or a WHERE condition compares values and strings, or checks variables \\nfor values. \\n\\nRestriction:When you specify an IF condition with a single, user-defined variable, then \\nthe variable is evaluated to determine if it has a value, according to the variable's \\ntype. A string variable type uses the length to determine existence, a numeric variable \\ntype uses value, and a dictionary array variable type uses the key (if there is a key \\nspecified, then the test is true). \\n\\nExample:All of the following are equivalent: \\n  put 'Foreground has a value!' nl/if (foreground);\\n  put 'Foreground has a value!' nl/if exists(foreground);\\n  put 'Foreground has a value!' nl/when exists(foreground);\\n  put 'Foreground has a value!' nl/exists(foreground);\\n  put 'Foreground has a value!' nl/where exists(foreground);\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"NOT\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: NOT | ! | ^ <'string'><variable>\\n          \\nNegates a condition. You can use the keyword NOT or the characters '!' or '^'. \\n\\nRestriction:The character '!' works only as the first character in a condition. \\nThe standard WHERE processing syntax is required for subsequent characters. \\n\\nExample:\\n  put 'The foreground is not red!' nl/if not cmp('red', foreground);\\n  put 'The foreground is not red or blue' /if !cmp('red', foreground)\\n      and ^cmp('blue', foreground);\\n  put 'The foreground is not red or blue' /if ^cmp('red', foreground)\\n      and ^cmp('blue', foreground);\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"WHILE\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: WHILE condition-expression \\n\\nIndicates that the corresponding statement block should loop until the WHILE value becomes false. \\n\\nRestriction:The WHILE condition can be used only with the DO statement. \\n\\nExample:\\n  eval $count 0;\\n\\n    do /while $count < 10;\\n      eval $i $count+1;\\n      continue /if $count eq 5;\\n      stop /if $count eq 8;\\n      put 'Count is ' $i nl;\\n  else;\\n      put 'Count was never less than 10' nl;\\n  done;\"},\"StatementOptionType\":\"S\"}]}},{\"StatementName\":\"DELSTREAM\",\"StatementHelp\":{\"#cdata\":\"Syntax: DELSTREAM $$stream-variable-name </ event-statement-condition(s)>; \\n  \\nDeletes the specified stream variable.\\n\\nRequired Argument \\n  stream-variable \\n    specifies the stream variable to be deleted. \\n\\nOptional Argument:\\n  event-statement-condition(s) \\n    specifies one or more conditions that must be true for the event statement to execute. \\n    Requirement:event-statement-condition(s) must be preceded by a slash (/).\"},\"StatementOptions\":{\"StatementOption\":[{\"StatementOptionName\":\"ANY\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: ANY (variable-1,<..., variable-n>) \\n\\nChecks a list of comma-delimited variables for values. If any of the variables \\nhas a value, then the condition is true. \\n\\nExample:\\n  put 'One of our variables has a value!'\\n    nl/if any(background, foreground, cellpadding, cellspacing);\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"BREAKIF\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: BREAKIF event \\n\\nStops an event that is executing. The current statement is executed and the event ends.\\n\\nTip:Using the BREAKIF condition is more efficient than using a PUT event statement \\nand a BREAK event statement with an IF condition together. For example, the following \\nstatements are equivalent: \\n\\n  put 'Foreground has a value!' /breakif exists(foreground); \\n  put 'Foreground has a value!' /if exists(foreground);\\n    break /if exists(foreground);\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"CMP\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: CMP (\\u201cstring\\u201d, variable | variable-list) \\n\\nCompares, for equality, a string to a variable or list of variables. \\n\\nExample:\\n put 'The foreground is blue!' nl/if cmp('blue',foreground);\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"CONTAINS\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: CONTAINS (argument-1, argument-2)\\n          \\nSearches the first argument for the second argument. \\n\\nExample:\\n  set $myvariable 'some random text';\\n    put 'myvariable contains 'ran' nl/if contains($myvariable, 'ran');\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"EXIST|EXISTS\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: EXIST | EXISTS (variable | variable-list) \\n\\nDetermines whether a variable or a list of variables has values. If all of the \\nvariables have values, then the condition is true. If a variable has an empty \\nstring of length 0, then the variable has no value and the condition is false. \\n\\nTip:Use the MISSING event variable with the EXIST condition to determine whether a value is missing. \\n\\nExample:\\n  put 'All of our variables have a value!'\\n    nl/if exists(background, foreground, cellpadding, cellspacing);\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"IF|WHEN|WHERE\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: IF | WHEN | WHERE (<value><'string'><variable>) \\n\\nTests for existence or equality. IF, WHEN, and WHERE are optional and interchangeable. \\nAn IF, a WHEN, or a WHERE condition compares values and strings, or checks variables \\nfor values. \\n\\nRestriction:When you specify an IF condition with a single, user-defined variable, then \\nthe variable is evaluated to determine if it has a value, according to the variable's \\ntype. A string variable type uses the length to determine existence, a numeric variable \\ntype uses value, and a dictionary array variable type uses the key (if there is a key \\nspecified, then the test is true). \\n\\nExample:All of the following are equivalent: \\n  put 'Foreground has a value!' nl/if (foreground);\\n  put 'Foreground has a value!' nl/if exists(foreground);\\n  put 'Foreground has a value!' nl/when exists(foreground);\\n  put 'Foreground has a value!' nl/exists(foreground);\\n  put 'Foreground has a value!' nl/where exists(foreground);\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"NOT\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: NOT | ! | ^ <'string'><variable>\\n          \\nNegates a condition. You can use the keyword NOT or the characters '!' or '^'. \\n\\nRestriction:The character '!' works only as the first character in a condition. \\nThe standard WHERE processing syntax is required for subsequent characters. \\n\\nExample:\\n  put 'The foreground is not red!' nl/if not cmp('red', foreground);\\n  put 'The foreground is not red or blue' /if !cmp('red', foreground)\\n      and ^cmp('blue', foreground);\\n  put 'The foreground is not red or blue' /if ^cmp('red', foreground)\\n      and ^cmp('blue', foreground);\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"WHILE\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: WHILE condition-expression \\n\\nIndicates that the corresponding statement block should loop until the WHILE value becomes false. \\n\\nRestriction:The WHILE condition can be used only with the DO statement. \\n\\nExample:\\n  eval $count 0;\\n\\n    do /while $count < 10;\\n      eval $i $count+1;\\n      continue /if $count eq 5;\\n      stop /if $count eq 8;\\n      put 'Count is ' $i nl;\\n  else;\\n      put 'Count was never less than 10' nl;\\n  done;\"},\"StatementOptionType\":\"S\"}]}},{\"StatementName\":\"DO\",\"StatementHelp\":{\"#cdata\":\"Syntax: DO </ event-statement-condition(s)>; \\n  \\nBegins a statement block that executes if the required condition is true.\\n\\nOptional Argument:\\n  event-statement-condition(s) \\n    specifies one or more conditions that must be true for the event statement to execute. \\n    Requirement:event-statement-condition(s) must be preceded by a slash (/).\"},\"StatementOptions\":{\"StatementOption\":[{\"StatementOptionName\":\"ANY\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: ANY (variable-1,<..., variable-n>) \\n\\nChecks a list of comma-delimited variables for values. If any of the variables \\nhas a value, then the condition is true. \\n\\nExample:\\n  put 'One of our variables has a value!'\\n    nl/if any(background, foreground, cellpadding, cellspacing);\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"BREAKIF\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: BREAKIF event \\n\\nStops an event that is executing. The current statement is executed and the event ends.\\n\\nTip:Using the BREAKIF condition is more efficient than using a PUT event statement \\nand a BREAK event statement with an IF condition together. For example, the following \\nstatements are equivalent: \\n\\n  put 'Foreground has a value!' /breakif exists(foreground); \\n  put 'Foreground has a value!' /if exists(foreground);\\n    break /if exists(foreground);\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"CMP\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: CMP (\\u201cstring\\u201d, variable | variable-list) \\n\\nCompares, for equality, a string to a variable or list of variables. \\n\\nExample:\\n put 'The foreground is blue!' nl/if cmp('blue',foreground);\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"CONTAINS\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: CONTAINS (argument-1, argument-2)\\n          \\nSearches the first argument for the second argument. \\n\\nExample:\\n  set $myvariable 'some random text';\\n    put 'myvariable contains 'ran' nl/if contains($myvariable, 'ran');\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"EXIST|EXISTS\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: EXIST | EXISTS (variable | variable-list) \\n\\nDetermines whether a variable or a list of variables has values. If all of the \\nvariables have values, then the condition is true. If a variable has an empty \\nstring of length 0, then the variable has no value and the condition is false. \\n\\nTip:Use the MISSING event variable with the EXIST condition to determine whether a value is missing. \\n\\nExample:\\n  put 'All of our variables have a value!'\\n    nl/if exists(background, foreground, cellpadding, cellspacing);\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"IF|WHEN|WHERE\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: IF | WHEN | WHERE (<value><'string'><variable>) \\n\\nTests for existence or equality. IF, WHEN, and WHERE are optional and interchangeable. \\nAn IF, a WHEN, or a WHERE condition compares values and strings, or checks variables \\nfor values. \\n\\nRestriction:When you specify an IF condition with a single, user-defined variable, then \\nthe variable is evaluated to determine if it has a value, according to the variable's \\ntype. A string variable type uses the length to determine existence, a numeric variable \\ntype uses value, and a dictionary array variable type uses the key (if there is a key \\nspecified, then the test is true). \\n\\nExample:All of the following are equivalent: \\n  put 'Foreground has a value!' nl/if (foreground);\\n  put 'Foreground has a value!' nl/if exists(foreground);\\n  put 'Foreground has a value!' nl/when exists(foreground);\\n  put 'Foreground has a value!' nl/exists(foreground);\\n  put 'Foreground has a value!' nl/where exists(foreground);\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"NOT\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: NOT | ! | ^ <'string'><variable>\\n          \\nNegates a condition. You can use the keyword NOT or the characters '!' or '^'. \\n\\nRestriction:The character '!' works only as the first character in a condition. \\nThe standard WHERE processing syntax is required for subsequent characters. \\n\\nExample:\\n  put 'The foreground is not red!' nl/if not cmp('red', foreground);\\n  put 'The foreground is not red or blue' /if !cmp('red', foreground)\\n      and ^cmp('blue', foreground);\\n  put 'The foreground is not red or blue' /if ^cmp('red', foreground)\\n      and ^cmp('blue', foreground);\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"WHILE\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: WHILE condition-expression \\n\\nIndicates that the corresponding statement block should loop until the WHILE value becomes false. \\n\\nRestriction:The WHILE condition can be used only with the DO statement. \\n\\nExample:\\n  eval $count 0;\\n\\n    do /while $count < 10;\\n      eval $i $count+1;\\n      continue /if $count eq 5;\\n      stop /if $count eq 8;\\n      put 'Count is ' $i nl;\\n  else;\\n      put 'Count was never less than 10' nl;\\n  done;\"},\"StatementOptionType\":\"S\"}]}},{\"StatementName\":\"DONE\",\"StatementHelp\":{\"#cdata\":\"Syntax: DONE; \\n      \\nEnds a DO or ELSE statement block.\"},\"StatementOptions\":null},{\"StatementName\":\"ELSE\",\"StatementHelp\":{\"#cdata\":\"Syntax:  ELSE </ event-statement-condition(s)>; \\n\\nBegins a statement block that executes if the corresponding DO statement is false.\\n\\nOptional Argument:\\n  event-statement-condition(s) \\n    specifies one or more conditions that must be true for the event statement to execute. \\n    Requirement:event-statement-condition(s) must be preceded by a slash (/).\"},\"StatementOptions\":{\"StatementOption\":[{\"StatementOptionName\":\"ANY\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: ANY (variable-1,<..., variable-n>) \\n\\nChecks a list of comma-delimited variables for values. If any of the variables \\nhas a value, then the condition is true. \\n\\nExample:\\n  put 'One of our variables has a value!'\\n    nl/if any(background, foreground, cellpadding, cellspacing);\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"BREAKIF\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: BREAKIF event \\n\\nStops an event that is executing. The current statement is executed and the event ends.\\n\\nTip:Using the BREAKIF condition is more efficient than using a PUT event statement \\nand a BREAK event statement with an IF condition together. For example, the following \\nstatements are equivalent: \\n\\n  put 'Foreground has a value!' /breakif exists(foreground); \\n  put 'Foreground has a value!' /if exists(foreground);\\n    break /if exists(foreground);\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"CMP\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: CMP (\\u201cstring\\u201d, variable | variable-list) \\n\\nCompares, for equality, a string to a variable or list of variables. \\n\\nExample:\\n put 'The foreground is blue!' nl/if cmp('blue',foreground);\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"CONTAINS\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: CONTAINS (argument-1, argument-2)\\n          \\nSearches the first argument for the second argument. \\n\\nExample:\\n  set $myvariable 'some random text';\\n    put 'myvariable contains 'ran' nl/if contains($myvariable, 'ran');\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"EXIST|EXISTS\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: EXIST | EXISTS (variable | variable-list) \\n\\nDetermines whether a variable or a list of variables has values. If all of the \\nvariables have values, then the condition is true. If a variable has an empty \\nstring of length 0, then the variable has no value and the condition is false. \\n\\nTip:Use the MISSING event variable with the EXIST condition to determine whether a value is missing. \\n\\nExample:\\n  put 'All of our variables have a value!'\\n    nl/if exists(background, foreground, cellpadding, cellspacing);\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"IF|WHEN|WHERE\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: IF | WHEN | WHERE (<value><'string'><variable>) \\n\\nTests for existence or equality. IF, WHEN, and WHERE are optional and interchangeable. \\nAn IF, a WHEN, or a WHERE condition compares values and strings, or checks variables \\nfor values. \\n\\nRestriction:When you specify an IF condition with a single, user-defined variable, then \\nthe variable is evaluated to determine if it has a value, according to the variable's \\ntype. A string variable type uses the length to determine existence, a numeric variable \\ntype uses value, and a dictionary array variable type uses the key (if there is a key \\nspecified, then the test is true). \\n\\nExample:All of the following are equivalent: \\n  put 'Foreground has a value!' nl/if (foreground);\\n  put 'Foreground has a value!' nl/if exists(foreground);\\n  put 'Foreground has a value!' nl/when exists(foreground);\\n  put 'Foreground has a value!' nl/exists(foreground);\\n  put 'Foreground has a value!' nl/where exists(foreground);\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"NOT\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: NOT | ! | ^ <'string'><variable>\\n          \\nNegates a condition. You can use the keyword NOT or the characters '!' or '^'. \\n\\nRestriction:The character '!' works only as the first character in a condition. \\nThe standard WHERE processing syntax is required for subsequent characters. \\n\\nExample:\\n  put 'The foreground is not red!' nl/if not cmp('red', foreground);\\n  put 'The foreground is not red or blue' /if !cmp('red', foreground)\\n      and ^cmp('blue', foreground);\\n  put 'The foreground is not red or blue' /if ^cmp('red', foreground)\\n      and ^cmp('blue', foreground);\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"WHILE\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: WHILE condition-expression \\n\\nIndicates that the corresponding statement block should loop until the WHILE value becomes false. \\n\\nRestriction:The WHILE condition can be used only with the DO statement. \\n\\nExample:\\n  eval $count 0;\\n\\n    do /while $count < 10;\\n      eval $i $count+1;\\n      continue /if $count eq 5;\\n      stop /if $count eq 8;\\n      put 'Count is ' $i nl;\\n  else;\\n      put 'Count was never less than 10' nl;\\n  done;\"},\"StatementOptionType\":\"S\"}]}},{\"StatementName\":\"EVAL\",\"StatementHelp\":{\"#cdata\":\"Syntax:  EVAL $<$>user-defined-variable-name user-defined-variable-value where-expression </event-statement-condition(s)>; \\n\\nCreates or updates a user-defined variable by setting the value of the variable to the \\nreturn value of a WHERE expression. \\n\\nRequired Arguments \\n  user-defined-variable \\n    specifies the user-defined variable that you want to create or update. A user-defined-variable has one of the following forms: \\n      o $dictionary-variable['key'] \\n      o $list-variable[<index>] \\n      o $scalar-variable\\n      o $$stream-variable\\n\\nwhere-expression \\n  any expression that can be used in the WHERE= data set option. \\n\\nOptional Argument:\\n  event-statement-condition(s) \\n    specifies one or more conditions that must be true for the event statement to execute. \\n    Requirement:event-statement-condition(s) must be preceded by a slash (/).\"},\"StatementOptions\":{\"StatementOption\":[{\"StatementOptionName\":\"ANY\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: ANY (variable-1,<..., variable-n>) \\n\\nChecks a list of comma-delimited variables for values. If any of the variables \\nhas a value, then the condition is true. \\n\\nExample:\\n  put 'One of our variables has a value!'\\n    nl/if any(background, foreground, cellpadding, cellspacing);\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"BREAKIF\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: BREAKIF event \\n\\nStops an event that is executing. The current statement is executed and the event ends.\\n\\nTip:Using the BREAKIF condition is more efficient than using a PUT event statement \\nand a BREAK event statement with an IF condition together. For example, the following \\nstatements are equivalent: \\n\\n  put 'Foreground has a value!' /breakif exists(foreground); \\n  put 'Foreground has a value!' /if exists(foreground);\\n    break /if exists(foreground);\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"CMP\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: CMP (\\u201cstring\\u201d, variable | variable-list) \\n\\nCompares, for equality, a string to a variable or list of variables. \\n\\nExample:\\n put 'The foreground is blue!' nl/if cmp('blue',foreground);\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"CONTAINS\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: CONTAINS (argument-1, argument-2)\\n          \\nSearches the first argument for the second argument. \\n\\nExample:\\n  set $myvariable 'some random text';\\n    put 'myvariable contains 'ran' nl/if contains($myvariable, 'ran');\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"EXIST|EXISTS\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: EXIST | EXISTS (variable | variable-list) \\n\\nDetermines whether a variable or a list of variables has values. If all of the \\nvariables have values, then the condition is true. If a variable has an empty \\nstring of length 0, then the variable has no value and the condition is false. \\n\\nTip:Use the MISSING event variable with the EXIST condition to determine whether a value is missing. \\n\\nExample:\\n  put 'All of our variables have a value!'\\n    nl/if exists(background, foreground, cellpadding, cellspacing);\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"IF|WHEN|WHERE\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: IF | WHEN | WHERE (<value><'string'><variable>) \\n\\nTests for existence or equality. IF, WHEN, and WHERE are optional and interchangeable. \\nAn IF, a WHEN, or a WHERE condition compares values and strings, or checks variables \\nfor values. \\n\\nRestriction:When you specify an IF condition with a single, user-defined variable, then \\nthe variable is evaluated to determine if it has a value, according to the variable's \\ntype. A string variable type uses the length to determine existence, a numeric variable \\ntype uses value, and a dictionary array variable type uses the key (if there is a key \\nspecified, then the test is true). \\n\\nExample:All of the following are equivalent: \\n  put 'Foreground has a value!' nl/if (foreground);\\n  put 'Foreground has a value!' nl/if exists(foreground);\\n  put 'Foreground has a value!' nl/when exists(foreground);\\n  put 'Foreground has a value!' nl/exists(foreground);\\n  put 'Foreground has a value!' nl/where exists(foreground);\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"NOT\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: NOT | ! | ^ <'string'><variable>\\n          \\nNegates a condition. You can use the keyword NOT or the characters '!' or '^'. \\n\\nRestriction:The character '!' works only as the first character in a condition. \\nThe standard WHERE processing syntax is required for subsequent characters. \\n\\nExample:\\n  put 'The foreground is not red!' nl/if not cmp('red', foreground);\\n  put 'The foreground is not red or blue' /if !cmp('red', foreground)\\n      and ^cmp('blue', foreground);\\n  put 'The foreground is not red or blue' /if ^cmp('red', foreground)\\n      and ^cmp('blue', foreground);\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"WHILE\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: WHILE condition-expression \\n\\nIndicates that the corresponding statement block should loop until the WHILE value becomes false. \\n\\nRestriction:The WHILE condition can be used only with the DO statement. \\n\\nExample:\\n  eval $count 0;\\n\\n    do /while $count < 10;\\n      eval $i $count+1;\\n      continue /if $count eq 5;\\n      stop /if $count eq 8;\\n      put 'Count is ' $i nl;\\n  else;\\n      put 'Count was never less than 10' nl;\\n  done;\"},\"StatementOptionType\":\"S\"}]}},{\"StatementName\":\"FLUSH\",\"StatementHelp\":{\"#cdata\":\"Syntax: FLUSH </event-statement-condition(s)>; \\n      \\nWrites buffered output to the current output file or the current stream variable.\\n\\nOptional Argument \\n  event-statement-condition(s) \\n    specifies one or more conditions that must be true for the event statement to execute. \\n    Requirement:event-statement-condition(s) must be preceded by a slash (/).\"},\"StatementOptions\":{\"StatementOption\":[{\"StatementOptionName\":\"ANY\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: ANY (variable-1,<..., variable-n>) \\n\\nChecks a list of comma-delimited variables for values. If any of the variables \\nhas a value, then the condition is true. \\n\\nExample:\\n  put 'One of our variables has a value!'\\n    nl/if any(background, foreground, cellpadding, cellspacing);\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"BREAKIF\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: BREAKIF event \\n\\nStops an event that is executing. The current statement is executed and the event ends.\\n\\nTip:Using the BREAKIF condition is more efficient than using a PUT event statement \\nand a BREAK event statement with an IF condition together. For example, the following \\nstatements are equivalent: \\n\\n  put 'Foreground has a value!' /breakif exists(foreground); \\n  put 'Foreground has a value!' /if exists(foreground);\\n    break /if exists(foreground);\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"CMP\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: CMP (\\u201cstring\\u201d, variable | variable-list) \\n\\nCompares, for equality, a string to a variable or list of variables. \\n\\nExample:\\n put 'The foreground is blue!' nl/if cmp('blue',foreground);\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"CONTAINS\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: CONTAINS (argument-1, argument-2)\\n          \\nSearches the first argument for the second argument. \\n\\nExample:\\n  set $myvariable 'some random text';\\n    put 'myvariable contains 'ran' nl/if contains($myvariable, 'ran');\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"EXIST|EXISTS\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: EXIST | EXISTS (variable | variable-list) \\n\\nDetermines whether a variable or a list of variables has values. If all of the \\nvariables have values, then the condition is true. If a variable has an empty \\nstring of length 0, then the variable has no value and the condition is false. \\n\\nTip:Use the MISSING event variable with the EXIST condition to determine whether a value is missing. \\n\\nExample:\\n  put 'All of our variables have a value!'\\n    nl/if exists(background, foreground, cellpadding, cellspacing);\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"IF|WHEN|WHERE\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: IF | WHEN | WHERE (<value><'string'><variable>) \\n\\nTests for existence or equality. IF, WHEN, and WHERE are optional and interchangeable. \\nAn IF, a WHEN, or a WHERE condition compares values and strings, or checks variables \\nfor values. \\n\\nRestriction:When you specify an IF condition with a single, user-defined variable, then \\nthe variable is evaluated to determine if it has a value, according to the variable's \\ntype. A string variable type uses the length to determine existence, a numeric variable \\ntype uses value, and a dictionary array variable type uses the key (if there is a key \\nspecified, then the test is true). \\n\\nExample:All of the following are equivalent: \\n  put 'Foreground has a value!' nl/if (foreground);\\n  put 'Foreground has a value!' nl/if exists(foreground);\\n  put 'Foreground has a value!' nl/when exists(foreground);\\n  put 'Foreground has a value!' nl/exists(foreground);\\n  put 'Foreground has a value!' nl/where exists(foreground);\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"NOT\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: NOT | ! | ^ <'string'><variable>\\n          \\nNegates a condition. You can use the keyword NOT or the characters '!' or '^'. \\n\\nRestriction:The character '!' works only as the first character in a condition. \\nThe standard WHERE processing syntax is required for subsequent characters. \\n\\nExample:\\n  put 'The foreground is not red!' nl/if not cmp('red', foreground);\\n  put 'The foreground is not red or blue' /if !cmp('red', foreground)\\n      and ^cmp('blue', foreground);\\n  put 'The foreground is not red or blue' /if ^cmp('red', foreground)\\n      and ^cmp('blue', foreground);\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"WHILE\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: WHILE condition-expression \\n\\nIndicates that the corresponding statement block should loop until the WHILE value becomes false. \\n\\nRestriction:The WHILE condition can be used only with the DO statement. \\n\\nExample:\\n  eval $count 0;\\n\\n    do /while $count < 10;\\n      eval $i $count+1;\\n      continue /if $count eq 5;\\n      stop /if $count eq 8;\\n      put 'Count is ' $i nl;\\n  else;\\n      put 'Count was never less than 10' nl;\\n  done;\"},\"StatementOptionType\":\"S\"}]}},{\"StatementName\":\"ITERATE\",\"StatementHelp\":{\"#cdata\":\"Syntax: ITERATE $dictionary-variable | $list-variable</ event-statement-condition(s)>;\\n      \\nSpecifies a dictionary variable or list variable to loop through, and assigns the \\nvariable's value to the _NAME_ and _VALUE_ event variables for each iteration. \\n\\nRequired Arguments: \\n  dictionary-variable \\n    specifies a dictionary variable. \\n    Requirement:dictionary-variable must be preceded by the \\u201c$\\u201d symbol. \\n    Tip:User-defined variables are not case sensitive. \\n\\n  list-variable \\n    specifies a list variable. \\n    Requirement:list-variable must be preceded by the \\u201c$\\u201d symbol. \\n    Tip:User-defined variables are not case sensitive. \\n\\nOptional Argument:\\n  event-statement-condition(s) \\n    specifies one or more conditions that must be true for the event statement to execute. \\n    Requirement:event-statement-condition(s) must be preceded by a slash (/).\"},\"StatementOptions\":{\"StatementOption\":[{\"StatementOptionName\":\"ANY\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: ANY (variable-1,<..., variable-n>) \\n\\nChecks a list of comma-delimited variables for values. If any of the variables \\nhas a value, then the condition is true. \\n\\nExample:\\n  put 'One of our variables has a value!'\\n    nl/if any(background, foreground, cellpadding, cellspacing);\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"BREAKIF\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: BREAKIF event \\n\\nStops an event that is executing. The current statement is executed and the event ends.\\n\\nTip:Using the BREAKIF condition is more efficient than using a PUT event statement \\nand a BREAK event statement with an IF condition together. For example, the following \\nstatements are equivalent: \\n\\n  put 'Foreground has a value!' /breakif exists(foreground); \\n  put 'Foreground has a value!' /if exists(foreground);\\n    break /if exists(foreground);\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"CMP\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: CMP (\\u201cstring\\u201d, variable | variable-list) \\n\\nCompares, for equality, a string to a variable or list of variables. \\n\\nExample:\\n put 'The foreground is blue!' nl/if cmp('blue',foreground);\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"CONTAINS\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: CONTAINS (argument-1, argument-2)\\n          \\nSearches the first argument for the second argument. \\n\\nExample:\\n  set $myvariable 'some random text';\\n    put 'myvariable contains 'ran' nl/if contains($myvariable, 'ran');\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"EXIST|EXISTS\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: EXIST | EXISTS (variable | variable-list) \\n\\nDetermines whether a variable or a list of variables has values. If all of the \\nvariables have values, then the condition is true. If a variable has an empty \\nstring of length 0, then the variable has no value and the condition is false. \\n\\nTip:Use the MISSING event variable with the EXIST condition to determine whether a value is missing. \\n\\nExample:\\n  put 'All of our variables have a value!'\\n    nl/if exists(background, foreground, cellpadding, cellspacing);\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"IF|WHEN|WHERE\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: IF | WHEN | WHERE (<value><'string'><variable>) \\n\\nTests for existence or equality. IF, WHEN, and WHERE are optional and interchangeable. \\nAn IF, a WHEN, or a WHERE condition compares values and strings, or checks variables \\nfor values. \\n\\nRestriction:When you specify an IF condition with a single, user-defined variable, then \\nthe variable is evaluated to determine if it has a value, according to the variable's \\ntype. A string variable type uses the length to determine existence, a numeric variable \\ntype uses value, and a dictionary array variable type uses the key (if there is a key \\nspecified, then the test is true). \\n\\nExample:All of the following are equivalent: \\n  put 'Foreground has a value!' nl/if (foreground);\\n  put 'Foreground has a value!' nl/if exists(foreground);\\n  put 'Foreground has a value!' nl/when exists(foreground);\\n  put 'Foreground has a value!' nl/exists(foreground);\\n  put 'Foreground has a value!' nl/where exists(foreground);\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"NOT\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: NOT | ! | ^ <'string'><variable>\\n          \\nNegates a condition. You can use the keyword NOT or the characters '!' or '^'. \\n\\nRestriction:The character '!' works only as the first character in a condition. \\nThe standard WHERE processing syntax is required for subsequent characters. \\n\\nExample:\\n  put 'The foreground is not red!' nl/if not cmp('red', foreground);\\n  put 'The foreground is not red or blue' /if !cmp('red', foreground)\\n      and ^cmp('blue', foreground);\\n  put 'The foreground is not red or blue' /if ^cmp('red', foreground)\\n      and ^cmp('blue', foreground);\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"WHILE\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: WHILE condition-expression \\n\\nIndicates that the corresponding statement block should loop until the WHILE value becomes false. \\n\\nRestriction:The WHILE condition can be used only with the DO statement. \\n\\nExample:\\n  eval $count 0;\\n\\n    do /while $count < 10;\\n      eval $i $count+1;\\n      continue /if $count eq 5;\\n      stop /if $count eq 8;\\n      put 'Count is ' $i nl;\\n  else;\\n      put 'Count was never less than 10' nl;\\n  done;\"},\"StatementOptionType\":\"S\"}]}},{\"StatementName\":\"NDENT\",\"StatementHelp\":{\"#cdata\":\"Syntax: NDENT </ event-statement-condition(s)>; \\n\\nIndents output one more level than the number of spaces specified by the INDENT= attribute.\\n\\nOptional Argument:\\n  event-statement-condition(s) \\n    specifies one or more conditions that must be true for the event statement to execute. \\n    Requirement:event-statement-condition(s) must be preceded by a slash (/).\"},\"StatementOptions\":{\"StatementOption\":[{\"StatementOptionName\":\"ANY\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: ANY (variable-1,<..., variable-n>) \\n\\nChecks a list of comma-delimited variables for values. If any of the variables \\nhas a value, then the condition is true. \\n\\nExample:\\n  put 'One of our variables has a value!'\\n    nl/if any(background, foreground, cellpadding, cellspacing);\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"BREAKIF\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: BREAKIF event \\n\\nStops an event that is executing. The current statement is executed and the event ends.\\n\\nTip:Using the BREAKIF condition is more efficient than using a PUT event statement \\nand a BREAK event statement with an IF condition together. For example, the following \\nstatements are equivalent: \\n\\n  put 'Foreground has a value!' /breakif exists(foreground); \\n  put 'Foreground has a value!' /if exists(foreground);\\n    break /if exists(foreground);\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"CMP\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: CMP (\\u201cstring\\u201d, variable | variable-list) \\n\\nCompares, for equality, a string to a variable or list of variables. \\n\\nExample:\\n put 'The foreground is blue!' nl/if cmp('blue',foreground);\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"CONTAINS\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: CONTAINS (argument-1, argument-2)\\n          \\nSearches the first argument for the second argument. \\n\\nExample:\\n  set $myvariable 'some random text';\\n    put 'myvariable contains 'ran' nl/if contains($myvariable, 'ran');\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"EXIST|EXISTS\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: EXIST | EXISTS (variable | variable-list) \\n\\nDetermines whether a variable or a list of variables has values. If all of the \\nvariables have values, then the condition is true. If a variable has an empty \\nstring of length 0, then the variable has no value and the condition is false. \\n\\nTip:Use the MISSING event variable with the EXIST condition to determine whether a value is missing. \\n\\nExample:\\n  put 'All of our variables have a value!'\\n    nl/if exists(background, foreground, cellpadding, cellspacing);\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"IF|WHEN|WHERE\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: IF | WHEN | WHERE (<value><'string'><variable>) \\n\\nTests for existence or equality. IF, WHEN, and WHERE are optional and interchangeable. \\nAn IF, a WHEN, or a WHERE condition compares values and strings, or checks variables \\nfor values. \\n\\nRestriction:When you specify an IF condition with a single, user-defined variable, then \\nthe variable is evaluated to determine if it has a value, according to the variable's \\ntype. A string variable type uses the length to determine existence, a numeric variable \\ntype uses value, and a dictionary array variable type uses the key (if there is a key \\nspecified, then the test is true). \\n\\nExample:All of the following are equivalent: \\n  put 'Foreground has a value!' nl/if (foreground);\\n  put 'Foreground has a value!' nl/if exists(foreground);\\n  put 'Foreground has a value!' nl/when exists(foreground);\\n  put 'Foreground has a value!' nl/exists(foreground);\\n  put 'Foreground has a value!' nl/where exists(foreground);\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"NOT\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: NOT | ! | ^ <'string'><variable>\\n          \\nNegates a condition. You can use the keyword NOT or the characters '!' or '^'. \\n\\nRestriction:The character '!' works only as the first character in a condition. \\nThe standard WHERE processing syntax is required for subsequent characters. \\n\\nExample:\\n  put 'The foreground is not red!' nl/if not cmp('red', foreground);\\n  put 'The foreground is not red or blue' /if !cmp('red', foreground)\\n      and ^cmp('blue', foreground);\\n  put 'The foreground is not red or blue' /if ^cmp('red', foreground)\\n      and ^cmp('blue', foreground);\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"WHILE\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: WHILE condition-expression \\n\\nIndicates that the corresponding statement block should loop until the WHILE value becomes false. \\n\\nRestriction:The WHILE condition can be used only with the DO statement. \\n\\nExample:\\n  eval $count 0;\\n\\n    do /while $count < 10;\\n      eval $i $count+1;\\n      continue /if $count eq 5;\\n      stop /if $count eq 8;\\n      put 'Count is ' $i nl;\\n  else;\\n      put 'Count was never less than 10' nl;\\n  done;\"},\"StatementOptionType\":\"S\"}]}},{\"StatementName\":\"NEXT\",\"StatementHelp\":{\"#cdata\":\"Syntax: NEXT $dictionary-variable | $list-variable </ event-statement-condition(s)>; \\n  \\nSpecifies to increase a dictionary or list variable incrementally to the next \\nvalue and to repopulate the event variables _VALUE_ and _NAME_ as appropriate.\\n\\nRequired Arguments: \\n  dictionary-variable \\n    specifies a dictionary variable that is designated as an iterator by the ITERATE statement. \\n    Requirement:dictionary-variable must be preceded by the \\u201c$\\u201d symbol. \\n    Tip:User-defined variables are not case sensitive. \\n\\nlist-variable \\n  specifies a list variable that is designated as an iterator by the ITERATE statement. \\n  Requirement:list-variable must be preceded by the \\u201c$\\u201d symbol. \\n  Tip:User-defined variables are not case sensitive. \\n\\nOptional Argument:\\n  event-statement-condition(s) \\n    specifies one or more conditions that must be true for the event statement to execute. \\n    Requirement:event-statement-condition(s) must be preceded by a slash (/).\"},\"StatementOptions\":{\"StatementOption\":[{\"StatementOptionName\":\"ANY\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: ANY (variable-1,<..., variable-n>) \\n\\nChecks a list of comma-delimited variables for values. If any of the variables \\nhas a value, then the condition is true. \\n\\nExample:\\n  put 'One of our variables has a value!'\\n    nl/if any(background, foreground, cellpadding, cellspacing);\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"BREAKIF\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: BREAKIF event \\n\\nStops an event that is executing. The current statement is executed and the event ends.\\n\\nTip:Using the BREAKIF condition is more efficient than using a PUT event statement \\nand a BREAK event statement with an IF condition together. For example, the following \\nstatements are equivalent: \\n\\n  put 'Foreground has a value!' /breakif exists(foreground); \\n  put 'Foreground has a value!' /if exists(foreground);\\n    break /if exists(foreground);\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"CMP\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: CMP (\\u201cstring\\u201d, variable | variable-list) \\n\\nCompares, for equality, a string to a variable or list of variables. \\n\\nExample:\\n put 'The foreground is blue!' nl/if cmp('blue',foreground);\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"CONTAINS\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: CONTAINS (argument-1, argument-2)\\n          \\nSearches the first argument for the second argument. \\n\\nExample:\\n  set $myvariable 'some random text';\\n    put 'myvariable contains 'ran' nl/if contains($myvariable, 'ran');\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"EXIST|EXISTS\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: EXIST | EXISTS (variable | variable-list) \\n\\nDetermines whether a variable or a list of variables has values. If all of the \\nvariables have values, then the condition is true. If a variable has an empty \\nstring of length 0, then the variable has no value and the condition is false. \\n\\nTip:Use the MISSING event variable with the EXIST condition to determine whether a value is missing. \\n\\nExample:\\n  put 'All of our variables have a value!'\\n    nl/if exists(background, foreground, cellpadding, cellspacing);\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"IF|WHEN|WHERE\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: IF | WHEN | WHERE (<value><'string'><variable>) \\n\\nTests for existence or equality. IF, WHEN, and WHERE are optional and interchangeable. \\nAn IF, a WHEN, or a WHERE condition compares values and strings, or checks variables \\nfor values. \\n\\nRestriction:When you specify an IF condition with a single, user-defined variable, then \\nthe variable is evaluated to determine if it has a value, according to the variable's \\ntype. A string variable type uses the length to determine existence, a numeric variable \\ntype uses value, and a dictionary array variable type uses the key (if there is a key \\nspecified, then the test is true). \\n\\nExample:All of the following are equivalent: \\n  put 'Foreground has a value!' nl/if (foreground);\\n  put 'Foreground has a value!' nl/if exists(foreground);\\n  put 'Foreground has a value!' nl/when exists(foreground);\\n  put 'Foreground has a value!' nl/exists(foreground);\\n  put 'Foreground has a value!' nl/where exists(foreground);\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"NOT\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: NOT | ! | ^ <'string'><variable>\\n          \\nNegates a condition. You can use the keyword NOT or the characters '!' or '^'. \\n\\nRestriction:The character '!' works only as the first character in a condition. \\nThe standard WHERE processing syntax is required for subsequent characters. \\n\\nExample:\\n  put 'The foreground is not red!' nl/if not cmp('red', foreground);\\n  put 'The foreground is not red or blue' /if !cmp('red', foreground)\\n      and ^cmp('blue', foreground);\\n  put 'The foreground is not red or blue' /if ^cmp('red', foreground)\\n      and ^cmp('blue', foreground);\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"WHILE\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: WHILE condition-expression \\n\\nIndicates that the corresponding statement block should loop until the WHILE value becomes false. \\n\\nRestriction:The WHILE condition can be used only with the DO statement. \\n\\nExample:\\n  eval $count 0;\\n\\n    do /while $count < 10;\\n      eval $i $count+1;\\n      continue /if $count eq 5;\\n      stop /if $count eq 8;\\n      put 'Count is ' $i nl;\\n  else;\\n      put 'Count was never less than 10' nl;\\n  done;\"},\"StatementOptionType\":\"S\"}]}},{\"StatementName\":\" OPEN\",\"StatementHelp\":{\"#cdata\":\"Syntax: OPEN $$stream-variable-name </ event-statement-condition(s)>; \\n       \\nOpens or creates a stream variable. When the PUT statements occur after the \\nOPEN statement, all text or variable data that is specified by PUT statements \\nis appended to the stream variable instead of the output file.\\n\\nRequired Argument:\\nstream\\u2013variable \\n  specifies a stream variable, which is a temporary item store that contains output. \\n  Tips:User-defined variables are not case sensitive. \\n  If you assign the name of a memory variable to stream-variable, then the stream variable \\n  resolves as the value of the memory variable. For example, the following program uses the \\n  memory variable $MyStream as a stream variable: \\n\\n    set $mystream 'test';\\n      open $mystream;\\n      put 'The memory variable $mystream is being used as a stream variable';\\n      close;\\n\\nOptional Argument:\\n  event-statement-condition(s) \\n    specifies one or more conditions that must be true for the event statement to execute. \\n    Requirement:event-statement-condition(s) must be preceded by a slash (/).\"},\"StatementOptions\":{\"StatementOption\":[{\"StatementOptionName\":\"ANY\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: ANY (variable-1,<..., variable-n>) \\n\\nChecks a list of comma-delimited variables for values. If any of the variables \\nhas a value, then the condition is true. \\n\\nExample:\\n  put 'One of our variables has a value!'\\n    nl/if any(background, foreground, cellpadding, cellspacing);\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"BREAKIF\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: BREAKIF event \\n\\nStops an event that is executing. The current statement is executed and the event ends.\\n\\nTip:Using the BREAKIF condition is more efficient than using a PUT event statement \\nand a BREAK event statement with an IF condition together. For example, the following \\nstatements are equivalent: \\n\\n  put 'Foreground has a value!' /breakif exists(foreground); \\n  put 'Foreground has a value!' /if exists(foreground);\\n    break /if exists(foreground);\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"CMP\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: CMP (\\u201cstring\\u201d, variable | variable-list) \\n\\nCompares, for equality, a string to a variable or list of variables. \\n\\nExample:\\n put 'The foreground is blue!' nl/if cmp('blue',foreground);\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"CONTAINS\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: CONTAINS (argument-1, argument-2)\\n          \\nSearches the first argument for the second argument. \\n\\nExample:\\n  set $myvariable 'some random text';\\n    put 'myvariable contains 'ran' nl/if contains($myvariable, 'ran');\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"EXIST|EXISTS\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: EXIST | EXISTS (variable | variable-list) \\n\\nDetermines whether a variable or a list of variables has values. If all of the \\nvariables have values, then the condition is true. If a variable has an empty \\nstring of length 0, then the variable has no value and the condition is false. \\n\\nTip:Use the MISSING event variable with the EXIST condition to determine whether a value is missing. \\n\\nExample:\\n  put 'All of our variables have a value!'\\n    nl/if exists(background, foreground, cellpadding, cellspacing);\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"IF|WHEN|WHERE\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: IF | WHEN | WHERE (<value><'string'><variable>) \\n\\nTests for existence or equality. IF, WHEN, and WHERE are optional and interchangeable. \\nAn IF, a WHEN, or a WHERE condition compares values and strings, or checks variables \\nfor values. \\n\\nRestriction:When you specify an IF condition with a single, user-defined variable, then \\nthe variable is evaluated to determine if it has a value, according to the variable's \\ntype. A string variable type uses the length to determine existence, a numeric variable \\ntype uses value, and a dictionary array variable type uses the key (if there is a key \\nspecified, then the test is true). \\n\\nExample:All of the following are equivalent: \\n  put 'Foreground has a value!' nl/if (foreground);\\n  put 'Foreground has a value!' nl/if exists(foreground);\\n  put 'Foreground has a value!' nl/when exists(foreground);\\n  put 'Foreground has a value!' nl/exists(foreground);\\n  put 'Foreground has a value!' nl/where exists(foreground);\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"NOT\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: NOT | ! | ^ <'string'><variable>\\n          \\nNegates a condition. You can use the keyword NOT or the characters '!' or '^'. \\n\\nRestriction:The character '!' works only as the first character in a condition. \\nThe standard WHERE processing syntax is required for subsequent characters. \\n\\nExample:\\n  put 'The foreground is not red!' nl/if not cmp('red', foreground);\\n  put 'The foreground is not red or blue' /if !cmp('red', foreground)\\n      and ^cmp('blue', foreground);\\n  put 'The foreground is not red or blue' /if ^cmp('red', foreground)\\n      and ^cmp('blue', foreground);\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"WHILE\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: WHILE condition-expression \\n\\nIndicates that the corresponding statement block should loop until the WHILE value becomes false. \\n\\nRestriction:The WHILE condition can be used only with the DO statement. \\n\\nExample:\\n  eval $count 0;\\n\\n    do /while $count < 10;\\n      eval $i $count+1;\\n      continue /if $count eq 5;\\n      stop /if $count eq 8;\\n      put 'Count is ' $i nl;\\n  else;\\n      put 'Count was never less than 10' nl;\\n  done;\"},\"StatementOptionType\":\"S\"}]}},{\"StatementName\":\"PUT\",\"StatementHelp\":{\"#cdata\":\"Syntax: PUT <function> <NL> <variable> <'text' > < / event-statement-condition(s)>; \\n      \\nWrites text, new lines, variable values, or DATA step function return values \\nto an output file. \\n\\nOptional Arguments:\\n\\nNL -- specifies a new line.\\n  Aliases:CR, LF\\n\\ntext -- specifies a string of text. \\n  Requirement:text must be enclosed in quotation marks. \\n  Interactions: The PUT statement pairs text strings with variables. A string of text \\n    that precedes a variable creates a string-value pair if the variable has a value. \\n    For example, for the following PUT statement, if the event variable ForeGround has \\n    a value of blue, then the output is color=blue: \\n\\n      put 'color=' foreground;\\n\\nvalue \\n  specifies any event variable, style variable, dynamic variable, user-defined variable, \\n  or DATA step function whose value you want to output. \\n\\n  Restriction:DATA step functions cannot be nested. \\n  Requirement:User-defined variables must be preceded by a '$' or '$$' character. \\n  Interactions:The PUT statement pairs text strings with variables. A string of text that \\n  precedes a variable creates a string-value pair, if the variable has a value. \\n  \\nevent-statement-condition(s) \\n  specifies one or more conditions that must be true for the event statement to execute. \\n  Requirement:event-statement-condition(s) must be preceded by a slash (/).\"},\"StatementOptions\":{\"StatementOption\":[{\"StatementOptionName\":\"ANY\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: ANY (variable-1,<..., variable-n>) \\n\\nChecks a list of comma-delimited variables for values. If any of the variables \\nhas a value, then the condition is true. \\n\\nExample:\\n  put 'One of our variables has a value!'\\n    nl/if any(background, foreground, cellpadding, cellspacing);\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"BREAKIF\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: BREAKIF event \\n\\nStops an event that is executing. The current statement is executed and the event ends.\\n\\nTip:Using the BREAKIF condition is more efficient than using a PUT event statement \\nand a BREAK event statement with an IF condition together. For example, the following \\nstatements are equivalent: \\n\\n  put 'Foreground has a value!' /breakif exists(foreground); \\n  put 'Foreground has a value!' /if exists(foreground);\\n    break /if exists(foreground);\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"CMP\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: CMP (\\u201cstring\\u201d, variable | variable-list) \\n\\nCompares, for equality, a string to a variable or list of variables. \\n\\nExample:\\n put 'The foreground is blue!' nl/if cmp('blue',foreground);\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"CONTAINS\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: CONTAINS (argument-1, argument-2)\\n          \\nSearches the first argument for the second argument. \\n\\nExample:\\n  set $myvariable 'some random text';\\n    put 'myvariable contains 'ran' nl/if contains($myvariable, 'ran');\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"EXIST|EXISTS\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: EXIST | EXISTS (variable | variable-list) \\n\\nDetermines whether a variable or a list of variables has values. If all of the \\nvariables have values, then the condition is true. If a variable has an empty \\nstring of length 0, then the variable has no value and the condition is false. \\n\\nTip:Use the MISSING event variable with the EXIST condition to determine whether a value is missing. \\n\\nExample:\\n  put 'All of our variables have a value!'\\n    nl/if exists(background, foreground, cellpadding, cellspacing);\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"IF|WHEN|WHERE\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: IF | WHEN | WHERE (<value><'string'><variable>) \\n\\nTests for existence or equality. IF, WHEN, and WHERE are optional and interchangeable. \\nAn IF, a WHEN, or a WHERE condition compares values and strings, or checks variables \\nfor values. \\n\\nRestriction:When you specify an IF condition with a single, user-defined variable, then \\nthe variable is evaluated to determine if it has a value, according to the variable's \\ntype. A string variable type uses the length to determine existence, a numeric variable \\ntype uses value, and a dictionary array variable type uses the key (if there is a key \\nspecified, then the test is true). \\n\\nExample:All of the following are equivalent: \\n  put 'Foreground has a value!' nl/if (foreground);\\n  put 'Foreground has a value!' nl/if exists(foreground);\\n  put 'Foreground has a value!' nl/when exists(foreground);\\n  put 'Foreground has a value!' nl/exists(foreground);\\n  put 'Foreground has a value!' nl/where exists(foreground);\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"NOT\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: NOT | ! | ^ <'string'><variable>\\n          \\nNegates a condition. You can use the keyword NOT or the characters '!' or '^'. \\n\\nRestriction:The character '!' works only as the first character in a condition. \\nThe standard WHERE processing syntax is required for subsequent characters. \\n\\nExample:\\n  put 'The foreground is not red!' nl/if not cmp('red', foreground);\\n  put 'The foreground is not red or blue' /if !cmp('red', foreground)\\n      and ^cmp('blue', foreground);\\n  put 'The foreground is not red or blue' /if ^cmp('red', foreground)\\n      and ^cmp('blue', foreground);\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"WHILE\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: WHILE condition-expression \\n\\nIndicates that the corresponding statement block should loop until the WHILE value becomes false. \\n\\nRestriction:The WHILE condition can be used only with the DO statement. \\n\\nExample:\\n  eval $count 0;\\n\\n    do /while $count < 10;\\n      eval $i $count+1;\\n      continue /if $count eq 5;\\n      stop /if $count eq 8;\\n      put 'Count is ' $i nl;\\n  else;\\n      put 'Count was never less than 10' nl;\\n  done;\"},\"StatementOptionType\":\"S\"}]}},{\"StatementName\":\"PUTL\",\"StatementHelp\":{\"#cdata\":\"Syntax: PUTL <'text'> <NL(s)> <value(s)> </ event-statement-condition(s)>; \\n      \\nWrites text, new lines, variable values, or DATA step function return values \\nto an output file and automatically adds a new line to the end of the output.  \\n\\nOptional Arguments:\\n\\nNL -- specifies a new line.\\n  Aliases:CR, LF\\n\\ntext -- specifies a string of text. \\n  Requirement:text must be enclosed in quotation marks. \\n  Interactions: The PUTL statement pairs text strings with variables. A string of text \\n    that precedes a variable creates a string-value pair if the variable has a value. \\n    For example, for the following PUTL statement, if the event variable ForeGround has \\n    a value of blue, then the output is color=blue: \\n\\n      putl 'color=' foreground;\\n\\nvalue \\n  specifies any event variable, style variable, dynamic variable, user-defined variable, \\n  or DATA step function whose value you want to output. \\n\\n  Restriction:DATA step functions cannot be nested. \\n  Requirement:User-defined variables must be preceded by a '$' or '$$' character. \\n  Interactions:The PUTL statement pairs text strings with variables. A string of text that \\n  precedes a variable creates a string-value pair, if the variable has a value. \\n  \\nevent-statement-condition(s) \\n  specifies one or more conditions that must be true for the event statement to execute. \\n  Requirement:event-statement-condition(s) must be preceded by a slash (/).\"},\"StatementOptions\":{\"StatementOption\":[{\"StatementOptionName\":\"ANY\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: ANY (variable-1,<..., variable-n>) \\n\\nChecks a list of comma-delimited variables for values. If any of the variables \\nhas a value, then the condition is true. \\n\\nExample:\\n  put 'One of our variables has a value!'\\n    nl/if any(background, foreground, cellpadding, cellspacing);\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"BREAKIF\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: BREAKIF event \\n\\nStops an event that is executing. The current statement is executed and the event ends.\\n\\nTip:Using the BREAKIF condition is more efficient than using a PUT event statement \\nand a BREAK event statement with an IF condition together. For example, the following \\nstatements are equivalent: \\n\\n  put 'Foreground has a value!' /breakif exists(foreground); \\n  put 'Foreground has a value!' /if exists(foreground);\\n    break /if exists(foreground);\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"CMP\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: CMP (\\u201cstring\\u201d, variable | variable-list) \\n\\nCompares, for equality, a string to a variable or list of variables. \\n\\nExample:\\n put 'The foreground is blue!' nl/if cmp('blue',foreground);\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"CONTAINS\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: CONTAINS (argument-1, argument-2)\\n          \\nSearches the first argument for the second argument. \\n\\nExample:\\n  set $myvariable 'some random text';\\n    put 'myvariable contains 'ran' nl/if contains($myvariable, 'ran');\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"EXIST|EXISTS\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: EXIST | EXISTS (variable | variable-list) \\n\\nDetermines whether a variable or a list of variables has values. If all of the \\nvariables have values, then the condition is true. If a variable has an empty \\nstring of length 0, then the variable has no value and the condition is false. \\n\\nTip:Use the MISSING event variable with the EXIST condition to determine whether a value is missing. \\n\\nExample:\\n  put 'All of our variables have a value!'\\n    nl/if exists(background, foreground, cellpadding, cellspacing);\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"IF|WHEN|WHERE\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: IF | WHEN | WHERE (<value><'string'><variable>) \\n\\nTests for existence or equality. IF, WHEN, and WHERE are optional and interchangeable. \\nAn IF, a WHEN, or a WHERE condition compares values and strings, or checks variables \\nfor values. \\n\\nRestriction:When you specify an IF condition with a single, user-defined variable, then \\nthe variable is evaluated to determine if it has a value, according to the variable's \\ntype. A string variable type uses the length to determine existence, a numeric variable \\ntype uses value, and a dictionary array variable type uses the key (if there is a key \\nspecified, then the test is true). \\n\\nExample:All of the following are equivalent: \\n  put 'Foreground has a value!' nl/if (foreground);\\n  put 'Foreground has a value!' nl/if exists(foreground);\\n  put 'Foreground has a value!' nl/when exists(foreground);\\n  put 'Foreground has a value!' nl/exists(foreground);\\n  put 'Foreground has a value!' nl/where exists(foreground);\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"NOT\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: NOT | ! | ^ <'string'><variable>\\n          \\nNegates a condition. You can use the keyword NOT or the characters '!' or '^'. \\n\\nRestriction:The character '!' works only as the first character in a condition. \\nThe standard WHERE processing syntax is required for subsequent characters. \\n\\nExample:\\n  put 'The foreground is not red!' nl/if not cmp('red', foreground);\\n  put 'The foreground is not red or blue' /if !cmp('red', foreground)\\n      and ^cmp('blue', foreground);\\n  put 'The foreground is not red or blue' /if ^cmp('red', foreground)\\n      and ^cmp('blue', foreground);\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"WHILE\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: WHILE condition-expression \\n\\nIndicates that the corresponding statement block should loop until the WHILE value becomes false. \\n\\nRestriction:The WHILE condition can be used only with the DO statement. \\n\\nExample:\\n  eval $count 0;\\n\\n    do /while $count < 10;\\n      eval $i $count+1;\\n      continue /if $count eq 5;\\n      stop /if $count eq 8;\\n      put 'Count is ' $i nl;\\n  else;\\n      put 'Count was never less than 10' nl;\\n  done;\"},\"StatementOptionType\":\"S\"}]}},{\"StatementName\":\"PUTLOG\",\"StatementHelp\":{\"#cdata\":\"Syntax: PUTLOG <'text'> <value(s)> </ event-statement-condition(s)>; \\n      \\nWrites text, new lines, variable values, or DATA step function return values to the log. \\n\\nOptional Arguments:\\n\\ntext -- specifies a string of text. \\n  Requirement:text must be enclosed in quotation marks. \\n  Interactions: The PUTLOG statement pairs text strings with variables. A string of text \\n    that precedes a variable creates a string-value pair if the variable has a value. \\n    For example, for the following PUTLOG statement, if the event variable ForeGround has \\n    a value of blue, then the output is color=blue: \\n\\n      putlog 'color=' foreground;\\n\\nvalue \\n  specifies any event variable, style variable, dynamic variable, user-defined variable, \\n  or DATA step function whose value you want to output. \\n\\n  Restriction:DATA step functions cannot be nested. \\n  Requirement:User-defined variables must be preceded by a '$' or '$$' character. \\n  Interactions:The PUTLOG statement pairs text strings with variables. A string of text that \\n  precedes a variable creates a string-value pair, if the variable has a value. \\n  \\nevent-statement-condition(s) \\n  specifies one or more conditions that must be true for the event statement to execute. \\n  Requirement:event-statement-condition(s) must be preceded by a slash (/).\"},\"StatementOptions\":{\"StatementOption\":[{\"StatementOptionName\":\"ANY\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: ANY (variable-1,<..., variable-n>) \\n\\nChecks a list of comma-delimited variables for values. If any of the variables \\nhas a value, then the condition is true. \\n\\nExample:\\n  put 'One of our variables has a value!'\\n    nl/if any(background, foreground, cellpadding, cellspacing);\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"BREAKIF\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: BREAKIF event \\n\\nStops an event that is executing. The current statement is executed and the event ends.\\n\\nTip:Using the BREAKIF condition is more efficient than using a PUT event statement \\nand a BREAK event statement with an IF condition together. For example, the following \\nstatements are equivalent: \\n\\n  put 'Foreground has a value!' /breakif exists(foreground); \\n  put 'Foreground has a value!' /if exists(foreground);\\n    break /if exists(foreground);\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"CMP\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: CMP (\\u201cstring\\u201d, variable | variable-list) \\n\\nCompares, for equality, a string to a variable or list of variables. \\n\\nExample:\\n put 'The foreground is blue!' nl/if cmp('blue',foreground);\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"CONTAINS\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: CONTAINS (argument-1, argument-2)\\n          \\nSearches the first argument for the second argument. \\n\\nExample:\\n  set $myvariable 'some random text';\\n    put 'myvariable contains 'ran' nl/if contains($myvariable, 'ran');\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"EXIST|EXISTS\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: EXIST | EXISTS (variable | variable-list) \\n\\nDetermines whether a variable or a list of variables has values. If all of the \\nvariables have values, then the condition is true. If a variable has an empty \\nstring of length 0, then the variable has no value and the condition is false. \\n\\nTip:Use the MISSING event variable with the EXIST condition to determine whether a value is missing. \\n\\nExample:\\n  put 'All of our variables have a value!'\\n    nl/if exists(background, foreground, cellpadding, cellspacing);\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"IF|WHEN|WHERE\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: IF | WHEN | WHERE (<value><'string'><variable>) \\n\\nTests for existence or equality. IF, WHEN, and WHERE are optional and interchangeable. \\nAn IF, a WHEN, or a WHERE condition compares values and strings, or checks variables \\nfor values. \\n\\nRestriction:When you specify an IF condition with a single, user-defined variable, then \\nthe variable is evaluated to determine if it has a value, according to the variable's \\ntype. A string variable type uses the length to determine existence, a numeric variable \\ntype uses value, and a dictionary array variable type uses the key (if there is a key \\nspecified, then the test is true). \\n\\nExample:All of the following are equivalent: \\n  put 'Foreground has a value!' nl/if (foreground);\\n  put 'Foreground has a value!' nl/if exists(foreground);\\n  put 'Foreground has a value!' nl/when exists(foreground);\\n  put 'Foreground has a value!' nl/exists(foreground);\\n  put 'Foreground has a value!' nl/where exists(foreground);\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"NOT\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: NOT | ! | ^ <'string'><variable>\\n          \\nNegates a condition. You can use the keyword NOT or the characters '!' or '^'. \\n\\nRestriction:The character '!' works only as the first character in a condition. \\nThe standard WHERE processing syntax is required for subsequent characters. \\n\\nExample:\\n  put 'The foreground is not red!' nl/if not cmp('red', foreground);\\n  put 'The foreground is not red or blue' /if !cmp('red', foreground)\\n      and ^cmp('blue', foreground);\\n  put 'The foreground is not red or blue' /if ^cmp('red', foreground)\\n      and ^cmp('blue', foreground);\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"WHILE\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: WHILE condition-expression \\n\\nIndicates that the corresponding statement block should loop until the WHILE value becomes false. \\n\\nRestriction:The WHILE condition can be used only with the DO statement. \\n\\nExample:\\n  eval $count 0;\\n\\n    do /while $count < 10;\\n      eval $i $count+1;\\n      continue /if $count eq 5;\\n      stop /if $count eq 8;\\n      put 'Count is ' $i nl;\\n  else;\\n      put 'Count was never less than 10' nl;\\n  done;\"},\"StatementOptionType\":\"S\"}]}},{\"StatementName\":\"PUTQ\",\"StatementHelp\":{\"#cdata\":\"Syntax: PUTQ <'text'> <NL(s)> <value(s)> </ event-statement-condition(s)>; \\n      \\nWrites text, new lines, variable values, or DATA step function return values \\nto an output file and places quotes around the value of the variable.  \\n\\nOptional Arguments:\\n\\nNL -- specifies a new line.\\n  Aliases:CR, LF\\n\\ntext -- specifies a string of text. \\n  Requirement:text must be enclosed in quotation marks. \\n  Interactions: The PUTQ statement pairs text strings with variables. A string of text \\n    that precedes a variable creates a string-value pair if the variable has a value. \\n    For example, for the following PUTQ statement, if the event variable ForeGround has \\n    a value of blue, then the output is color=blue: \\n\\n      putl 'color=' foreground;\\n\\nvalue \\n  specifies any event variable, style variable, dynamic variable, user-defined variable, \\n  or DATA step function whose value you want to output. \\n\\n  Restriction:DATA step functions cannot be nested. \\n  Requirement:User-defined variables must be preceded by a '$' or '$$' character. \\n  Interactions:The PUTQ statement pairs text strings with variables. A string of text that \\n  precedes a variable creates a string-value pair, if the variable has a value. \\n  \\nevent-statement-condition(s) \\n  specifies one or more conditions that must be true for the event statement to execute. \\n  Requirement:event-statement-condition(s) must be preceded by a slash (/).\"},\"StatementOptions\":{\"StatementOption\":[{\"StatementOptionName\":\"ANY\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: ANY (variable-1,<..., variable-n>) \\n\\nChecks a list of comma-delimited variables for values. If any of the variables \\nhas a value, then the condition is true. \\n\\nExample:\\n  put 'One of our variables has a value!'\\n    nl/if any(background, foreground, cellpadding, cellspacing);\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"BREAKIF\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: BREAKIF event \\n\\nStops an event that is executing. The current statement is executed and the event ends.\\n\\nTip:Using the BREAKIF condition is more efficient than using a PUT event statement \\nand a BREAK event statement with an IF condition together. For example, the following \\nstatements are equivalent: \\n\\n  put 'Foreground has a value!' /breakif exists(foreground); \\n  put 'Foreground has a value!' /if exists(foreground);\\n    break /if exists(foreground);\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"CMP\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: CMP (\\u201cstring\\u201d, variable | variable-list) \\n\\nCompares, for equality, a string to a variable or list of variables. \\n\\nExample:\\n put 'The foreground is blue!' nl/if cmp('blue',foreground);\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"CONTAINS\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: CONTAINS (argument-1, argument-2)\\n          \\nSearches the first argument for the second argument. \\n\\nExample:\\n  set $myvariable 'some random text';\\n    put 'myvariable contains 'ran' nl/if contains($myvariable, 'ran');\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"EXIST|EXISTS\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: EXIST | EXISTS (variable | variable-list) \\n\\nDetermines whether a variable or a list of variables has values. If all of the \\nvariables have values, then the condition is true. If a variable has an empty \\nstring of length 0, then the variable has no value and the condition is false. \\n\\nTip:Use the MISSING event variable with the EXIST condition to determine whether a value is missing. \\n\\nExample:\\n  put 'All of our variables have a value!'\\n    nl/if exists(background, foreground, cellpadding, cellspacing);\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"IF|WHEN|WHERE\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: IF | WHEN | WHERE (<value><'string'><variable>) \\n\\nTests for existence or equality. IF, WHEN, and WHERE are optional and interchangeable. \\nAn IF, a WHEN, or a WHERE condition compares values and strings, or checks variables \\nfor values. \\n\\nRestriction:When you specify an IF condition with a single, user-defined variable, then \\nthe variable is evaluated to determine if it has a value, according to the variable's \\ntype. A string variable type uses the length to determine existence, a numeric variable \\ntype uses value, and a dictionary array variable type uses the key (if there is a key \\nspecified, then the test is true). \\n\\nExample:All of the following are equivalent: \\n  put 'Foreground has a value!' nl/if (foreground);\\n  put 'Foreground has a value!' nl/if exists(foreground);\\n  put 'Foreground has a value!' nl/when exists(foreground);\\n  put 'Foreground has a value!' nl/exists(foreground);\\n  put 'Foreground has a value!' nl/where exists(foreground);\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"NOT\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: NOT | ! | ^ <'string'><variable>\\n          \\nNegates a condition. You can use the keyword NOT or the characters '!' or '^'. \\n\\nRestriction:The character '!' works only as the first character in a condition. \\nThe standard WHERE processing syntax is required for subsequent characters. \\n\\nExample:\\n  put 'The foreground is not red!' nl/if not cmp('red', foreground);\\n  put 'The foreground is not red or blue' /if !cmp('red', foreground)\\n      and ^cmp('blue', foreground);\\n  put 'The foreground is not red or blue' /if ^cmp('red', foreground)\\n      and ^cmp('blue', foreground);\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"WHILE\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: WHILE condition-expression \\n\\nIndicates that the corresponding statement block should loop until the WHILE value becomes false. \\n\\nRestriction:The WHILE condition can be used only with the DO statement. \\n\\nExample:\\n  eval $count 0;\\n\\n    do /while $count < 10;\\n      eval $i $count+1;\\n      continue /if $count eq 5;\\n      stop /if $count eq 8;\\n      put 'Count is ' $i nl;\\n  else;\\n      put 'Count was never less than 10' nl;\\n  done;\"},\"StatementOptionType\":\"S\"}]}},{\"StatementName\":\"PUTSTREAM\",\"StatementHelp\":{\"#cdata\":\"Syntax: PUTSTREAM stream-variable < / event-statement-condition(s)>; \\n       \\nWrites the contents of the specified stream variable to an output file. \\n\\nRequired Argument:\\n  stream-variable \\n    specifies a stream variable, which is a temporary item store that contains output. \\n    Tip:If you assign the name of a memory variable to stream-variable-name, then the stream \\n    variable resolves as the value of the memory variable. For example, the following partial \\n    program uses the memory variable $MyStream as a stream variable: \\n\\n      set $mystream 'test';\\n        open $mystream;\\n        put 'The memory variable $mystream is being used as a stream variable';\\n        close;\\n\\nOptional Argument:\\n  event-statement-condition(s) \\n    specifies one or more conditions that must be true for the event statement to execute. \\n    Requirement:event-statement-condition(s) must be preceded by a slash (/).\"},\"StatementOptions\":{\"StatementOption\":[{\"StatementOptionName\":\"ANY\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: ANY (variable-1,<..., variable-n>) \\n\\nChecks a list of comma-delimited variables for values. If any of the variables \\nhas a value, then the condition is true. \\n\\nExample:\\n  put 'One of our variables has a value!'\\n    nl/if any(background, foreground, cellpadding, cellspacing);\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"BREAKIF\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: BREAKIF event \\n\\nStops an event that is executing. The current statement is executed and the event ends.\\n\\nTip:Using the BREAKIF condition is more efficient than using a PUT event statement \\nand a BREAK event statement with an IF condition together. For example, the following \\nstatements are equivalent: \\n\\n  put 'Foreground has a value!' /breakif exists(foreground); \\n  put 'Foreground has a value!' /if exists(foreground);\\n    break /if exists(foreground);\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"CMP\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: CMP (\\u201cstring\\u201d, variable | variable-list) \\n\\nCompares, for equality, a string to a variable or list of variables. \\n\\nExample:\\n put 'The foreground is blue!' nl/if cmp('blue',foreground);\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"CONTAINS\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: CONTAINS (argument-1, argument-2)\\n          \\nSearches the first argument for the second argument. \\n\\nExample:\\n  set $myvariable 'some random text';\\n    put 'myvariable contains 'ran' nl/if contains($myvariable, 'ran');\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"EXIST|EXISTS\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: EXIST | EXISTS (variable | variable-list) \\n\\nDetermines whether a variable or a list of variables has values. If all of the \\nvariables have values, then the condition is true. If a variable has an empty \\nstring of length 0, then the variable has no value and the condition is false. \\n\\nTip:Use the MISSING event variable with the EXIST condition to determine whether a value is missing. \\n\\nExample:\\n  put 'All of our variables have a value!'\\n    nl/if exists(background, foreground, cellpadding, cellspacing);\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"IF|WHEN|WHERE\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: IF | WHEN | WHERE (<value><'string'><variable>) \\n\\nTests for existence or equality. IF, WHEN, and WHERE are optional and interchangeable. \\nAn IF, a WHEN, or a WHERE condition compares values and strings, or checks variables \\nfor values. \\n\\nRestriction:When you specify an IF condition with a single, user-defined variable, then \\nthe variable is evaluated to determine if it has a value, according to the variable's \\ntype. A string variable type uses the length to determine existence, a numeric variable \\ntype uses value, and a dictionary array variable type uses the key (if there is a key \\nspecified, then the test is true). \\n\\nExample:All of the following are equivalent: \\n  put 'Foreground has a value!' nl/if (foreground);\\n  put 'Foreground has a value!' nl/if exists(foreground);\\n  put 'Foreground has a value!' nl/when exists(foreground);\\n  put 'Foreground has a value!' nl/exists(foreground);\\n  put 'Foreground has a value!' nl/where exists(foreground);\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"NOT\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: NOT | ! | ^ <'string'><variable>\\n          \\nNegates a condition. You can use the keyword NOT or the characters '!' or '^'. \\n\\nRestriction:The character '!' works only as the first character in a condition. \\nThe standard WHERE processing syntax is required for subsequent characters. \\n\\nExample:\\n  put 'The foreground is not red!' nl/if not cmp('red', foreground);\\n  put 'The foreground is not red or blue' /if !cmp('red', foreground)\\n      and ^cmp('blue', foreground);\\n  put 'The foreground is not red or blue' /if ^cmp('red', foreground)\\n      and ^cmp('blue', foreground);\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"WHILE\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: WHILE condition-expression \\n\\nIndicates that the corresponding statement block should loop until the WHILE value becomes false. \\n\\nRestriction:The WHILE condition can be used only with the DO statement. \\n\\nExample:\\n  eval $count 0;\\n\\n    do /while $count < 10;\\n      eval $i $count+1;\\n      continue /if $count eq 5;\\n      stop /if $count eq 8;\\n      put 'Count is ' $i nl;\\n  else;\\n      put 'Count was never less than 10' nl;\\n  done;\"},\"StatementOptionType\":\"S\"}]}},{\"StatementName\":\"PUTVARS\",\"StatementHelp\":{\"#cdata\":\"Syntax: PUTVARS (variable-group | dictionary-variable | list-variable)<NL(s)> <'text'> <value(s)>\\n  < / event-statement-condition(s)>; \\n      \\nIterates over each value in a variable group, list, or dictionary and writes text, \\nnew lines, variable values, or DATA step function return values to an output file. \\nEach iteration populates the special variables _VALUE_ and __NAME_ . Putvars prints \\nonce for each variable or value that it finds.\\n\\nRequired Arguments:\\n  variable-group \\n    specifies the type of variable to use in each iteration when you specify the name or value \\n    in the variable. variable-group is one of the following: \\n      EVENT -- specifies to loop through all event variables. \\n      STYLE -- specifies to loop through all style variables. \\n      DYNAMIC -- specifies to loop through all dynamic variables. \\n      MEMORY -- specifies to loop through all memory variables. A memory variable is classified \\n        as a dictionary variable if it is created with a subscript that contains a key. A memory \\n        variable is classified as a list variable if it is created with a subscript that is empty \\n        or contains an index. If you omit a key or an index, then the memory variable is a numeric \\n        or character scalar variable, depending on the variable's value.\\n    STREAM -- specifies to loop through all stream variables. \\n\\n  dictionary-variable -- specifies a dictionary variable. \\n    Requirement: dictionary-variable must be preceded by the '$' symbol. \\n    Tip:User-defined variables are not case sensitive. \\n\\n  list-variable -- specifies a list variable. \\n    Requirement:list-variable must be preceded by the \\u201c$\\u201d symbol. \\n    Tip:User-defined variables are not case sensitive. \\n\\nOptional Arguments \\n  NL -- specifies a new line. Aliases:CR, LF\\n  text -- specifies a string of text. Requirement: text must be enclosed in quotation marks. \\n  value -- specifies any event variable, style variable, dynamic variable, user-defined \\n    variable, or DATA step function whose value you want to output. \\n\\n  event-statement-condition(s) \\n    specifies one or more conditions that must be true for the event statement to execute. \\n    Requirement:event-statement-condition(s) must be preceded by a slash (/).\"},\"StatementOptions\":{\"StatementOption\":[{\"StatementOptionName\":\"ANY\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: ANY (variable-1,<..., variable-n>) \\n\\nChecks a list of comma-delimited variables for values. If any of the variables \\nhas a value, then the condition is true. \\n\\nExample:\\n  put 'One of our variables has a value!'\\n    nl/if any(background, foreground, cellpadding, cellspacing);\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"BREAKIF\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: BREAKIF event \\n\\nStops an event that is executing. The current statement is executed and the event ends.\\n\\nTip:Using the BREAKIF condition is more efficient than using a PUT event statement \\nand a BREAK event statement with an IF condition together. For example, the following \\nstatements are equivalent: \\n\\n  put 'Foreground has a value!' /breakif exists(foreground); \\n  put 'Foreground has a value!' /if exists(foreground);\\n    break /if exists(foreground);\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"CMP\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: CMP (\\u201cstring\\u201d, variable | variable-list) \\n\\nCompares, for equality, a string to a variable or list of variables. \\n\\nExample:\\n put 'The foreground is blue!' nl/if cmp('blue',foreground);\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"CONTAINS\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: CONTAINS (argument-1, argument-2)\\n          \\nSearches the first argument for the second argument. \\n\\nExample:\\n  set $myvariable 'some random text';\\n    put 'myvariable contains 'ran' nl/if contains($myvariable, 'ran');\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"EXIST|EXISTS\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: EXIST | EXISTS (variable | variable-list) \\n\\nDetermines whether a variable or a list of variables has values. If all of the \\nvariables have values, then the condition is true. If a variable has an empty \\nstring of length 0, then the variable has no value and the condition is false. \\n\\nTip:Use the MISSING event variable with the EXIST condition to determine whether a value is missing. \\n\\nExample:\\n  put 'All of our variables have a value!'\\n    nl/if exists(background, foreground, cellpadding, cellspacing);\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"IF|WHEN|WHERE\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: IF | WHEN | WHERE (<value><'string'><variable>) \\n\\nTests for existence or equality. IF, WHEN, and WHERE are optional and interchangeable. \\nAn IF, a WHEN, or a WHERE condition compares values and strings, or checks variables \\nfor values. \\n\\nRestriction:When you specify an IF condition with a single, user-defined variable, then \\nthe variable is evaluated to determine if it has a value, according to the variable's \\ntype. A string variable type uses the length to determine existence, a numeric variable \\ntype uses value, and a dictionary array variable type uses the key (if there is a key \\nspecified, then the test is true). \\n\\nExample:All of the following are equivalent: \\n  put 'Foreground has a value!' nl/if (foreground);\\n  put 'Foreground has a value!' nl/if exists(foreground);\\n  put 'Foreground has a value!' nl/when exists(foreground);\\n  put 'Foreground has a value!' nl/exists(foreground);\\n  put 'Foreground has a value!' nl/where exists(foreground);\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"NOT\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: NOT | ! | ^ <'string'><variable>\\n          \\nNegates a condition. You can use the keyword NOT or the characters '!' or '^'. \\n\\nRestriction:The character '!' works only as the first character in a condition. \\nThe standard WHERE processing syntax is required for subsequent characters. \\n\\nExample:\\n  put 'The foreground is not red!' nl/if not cmp('red', foreground);\\n  put 'The foreground is not red or blue' /if !cmp('red', foreground)\\n      and ^cmp('blue', foreground);\\n  put 'The foreground is not red or blue' /if ^cmp('red', foreground)\\n      and ^cmp('blue', foreground);\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"WHILE\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: WHILE condition-expression \\n\\nIndicates that the corresponding statement block should loop until the WHILE value becomes false. \\n\\nRestriction:The WHILE condition can be used only with the DO statement. \\n\\nExample:\\n  eval $count 0;\\n\\n    do /while $count < 10;\\n      eval $i $count+1;\\n      continue /if $count eq 5;\\n      stop /if $count eq 8;\\n      put 'Count is ' $i nl;\\n  else;\\n      put 'Count was never less than 10' nl;\\n  done;\"},\"StatementOptionType\":\"S\"}]}},{\"StatementName\":\"SET\",\"StatementHelp\":{\"#cdata\":\"Syntax: SET $dictionary-variable entry </ event-statement-condition(s)>; \\nSET $list-variable entry </ event-statement-condition(s)>; \\nSET $scalar-variable | $$stream-variable entry </ event-statement-condition(s)>; \\n      \\nCreates or updates a user-defined variable and its value. \\n\\nRequired Arguments:\\n  dictionary-variable \\n    specifies an array that contains a list of numbers or text strings that is identified by a key. \\n    dictionary-variable has the following form: $dictionary-variable['key']       \\n      ['key'] specifies a subscript that contains text or a variable that has a character value.\\n      \\n    entry -- specifies the value of a dictionary variable, list variable, scalar variable, \\n      or stream-variable. An entry is one of the following: \\n        function -- specifies a DATA step function. \\n        text -- specifies a string of text. \\n        variable -- specifies any event variable, style variable, dynamic variable, \\n          user-defined variable, or DATA step function whose value you want to output. \\n\\n  list-variable -- an array that contains a list of numbers or strings of text that \\n    are indexed. list-variable has the following form: $list-variable[<index>] \\n    [<index>] specifies a subscript that contains a number or numeric variable.\\n    \\n  scalar-variable -- an area of memory that contains numeric or character data.\\n  stream-variable -- specifies a stream variable, which is a temporary item store that contains output.\\n  \\nOptional Argument:\\n  event-statement-condition(s) \\n    specifies one or more conditions that must be true for the event statement to execute. \\n    Requirement:event-statement-condition(s) must be preceded by a slash (/).\"},\"StatementOptions\":{\"StatementOption\":[{\"StatementOptionName\":\"ANY\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: ANY (variable-1,<..., variable-n>) \\n\\nChecks a list of comma-delimited variables for values. If any of the variables \\nhas a value, then the condition is true. \\n\\nExample:\\n  put 'One of our variables has a value!'\\n    nl/if any(background, foreground, cellpadding, cellspacing);\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"BREAKIF\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: BREAKIF event \\n\\nStops an event that is executing. The current statement is executed and the event ends.\\n\\nTip:Using the BREAKIF condition is more efficient than using a PUT event statement \\nand a BREAK event statement with an IF condition together. For example, the following \\nstatements are equivalent: \\n\\n  put 'Foreground has a value!' /breakif exists(foreground); \\n  put 'Foreground has a value!' /if exists(foreground);\\n    break /if exists(foreground);\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"CMP\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: CMP (\\u201cstring\\u201d, variable | variable-list) \\n\\nCompares, for equality, a string to a variable or list of variables. \\n\\nExample:\\n put 'The foreground is blue!' nl/if cmp('blue',foreground);\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"CONTAINS\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: CONTAINS (argument-1, argument-2)\\n          \\nSearches the first argument for the second argument. \\n\\nExample:\\n  set $myvariable 'some random text';\\n    put 'myvariable contains 'ran' nl/if contains($myvariable, 'ran');\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"EXIST|EXISTS\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: EXIST | EXISTS (variable | variable-list) \\n\\nDetermines whether a variable or a list of variables has values. If all of the \\nvariables have values, then the condition is true. If a variable has an empty \\nstring of length 0, then the variable has no value and the condition is false. \\n\\nTip:Use the MISSING event variable with the EXIST condition to determine whether a value is missing. \\n\\nExample:\\n  put 'All of our variables have a value!'\\n    nl/if exists(background, foreground, cellpadding, cellspacing);\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"IF|WHEN|WHERE\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: IF | WHEN | WHERE (<value><'string'><variable>) \\n\\nTests for existence or equality. IF, WHEN, and WHERE are optional and interchangeable. \\nAn IF, a WHEN, or a WHERE condition compares values and strings, or checks variables \\nfor values. \\n\\nRestriction:When you specify an IF condition with a single, user-defined variable, then \\nthe variable is evaluated to determine if it has a value, according to the variable's \\ntype. A string variable type uses the length to determine existence, a numeric variable \\ntype uses value, and a dictionary array variable type uses the key (if there is a key \\nspecified, then the test is true). \\n\\nExample:All of the following are equivalent: \\n  put 'Foreground has a value!' nl/if (foreground);\\n  put 'Foreground has a value!' nl/if exists(foreground);\\n  put 'Foreground has a value!' nl/when exists(foreground);\\n  put 'Foreground has a value!' nl/exists(foreground);\\n  put 'Foreground has a value!' nl/where exists(foreground);\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"NOT\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: NOT | ! | ^ <'string'><variable>\\n          \\nNegates a condition. You can use the keyword NOT or the characters '!' or '^'. \\n\\nRestriction:The character '!' works only as the first character in a condition. \\nThe standard WHERE processing syntax is required for subsequent characters. \\n\\nExample:\\n  put 'The foreground is not red!' nl/if not cmp('red', foreground);\\n  put 'The foreground is not red or blue' /if !cmp('red', foreground)\\n      and ^cmp('blue', foreground);\\n  put 'The foreground is not red or blue' /if ^cmp('red', foreground)\\n      and ^cmp('blue', foreground);\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"WHILE\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: WHILE condition-expression \\n\\nIndicates that the corresponding statement block should loop until the WHILE value becomes false. \\n\\nRestriction:The WHILE condition can be used only with the DO statement. \\n\\nExample:\\n  eval $count 0;\\n\\n    do /while $count < 10;\\n      eval $i $count+1;\\n      continue /if $count eq 5;\\n      stop /if $count eq 8;\\n      put 'Count is ' $i nl;\\n  else;\\n      put 'Count was never less than 10' nl;\\n  done;\"},\"StatementOptionType\":\"S\"}]}},{\"StatementName\":\"STOP\",\"StatementHelp\":{\"#cdata\":\"Syntax: STOP </ event-statement-condition(s)>; \\n       \\nSpecifies that execution moves to the end of the current statement block.\\n\\nOptional Argument: \\n  event-statement-condition(s) \\n    specifies one or more conditions that must be true for the event statement to execute. \\n    Requirement:event-statement-condition(s) must be preceded by a slash (/).\"},\"StatementOptions\":null},{\"StatementName\":\"TRIGGER\",\"StatementHelp\":{\"#cdata\":\"Syntax: TRIGGER event-name <START | FINISH> </ event-statement-condition(s)>; \\n   \\nExecutes an event.\\n\\nWithout Arguments:\\n  If a triggered event does not have start or finish sections, then it runs the current event statements. \\n\\nRequired Argument:\\n  event-name -- specifies the name of the event. \\n\\nOptional Arguments:\\n  START -- specifies the start section of an event. \\n    Interaction:If the program is in the start section of an event, then any event \\n    that is triggered runs its start section. \\n  \\n  FINISH -- specifies the finish section of an event. \\n    Interaction:If the program is in the finish section of an event, then any event \\n    that is triggered runs its finish section. \\n    \\n  event-statement-condition(s) \\n    specifies one or more conditions that must be true for the event statement to execute. \\n    Requirement:an event-statement-condition must be preceded by a slash (/).\"},\"StatementOptions\":{\"StatementOption\":[{\"StatementOptionName\":\"ANY\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: ANY (variable-1,<..., variable-n>) \\n\\nChecks a list of comma-delimited variables for values. If any of the variables \\nhas a value, then the condition is true. \\n\\nExample:\\n  put 'One of our variables has a value!'\\n    nl/if any(background, foreground, cellpadding, cellspacing);\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"BREAKIF\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: BREAKIF event \\n\\nStops an event that is executing. The current statement is executed and the event ends.\\n\\nTip:Using the BREAKIF condition is more efficient than using a PUT event statement \\nand a BREAK event statement with an IF condition together. For example, the following \\nstatements are equivalent: \\n\\n  put 'Foreground has a value!' /breakif exists(foreground); \\n  put 'Foreground has a value!' /if exists(foreground);\\n    break /if exists(foreground);\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"CMP\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: CMP (\\u201cstring\\u201d, variable | variable-list) \\n\\nCompares, for equality, a string to a variable or list of variables. \\n\\nExample:\\n put 'The foreground is blue!' nl/if cmp('blue',foreground);\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"CONTAINS\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: CONTAINS (argument-1, argument-2)\\n          \\nSearches the first argument for the second argument. \\n\\nExample:\\n  set $myvariable 'some random text';\\n    put 'myvariable contains 'ran' nl/if contains($myvariable, 'ran');\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"EXIST|EXISTS\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: EXIST | EXISTS (variable | variable-list) \\n\\nDetermines whether a variable or a list of variables has values. If all of the \\nvariables have values, then the condition is true. If a variable has an empty \\nstring of length 0, then the variable has no value and the condition is false. \\n\\nTip:Use the MISSING event variable with the EXIST condition to determine whether a value is missing. \\n\\nExample:\\n  put 'All of our variables have a value!'\\n    nl/if exists(background, foreground, cellpadding, cellspacing);\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"IF|WHEN|WHERE\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: IF | WHEN | WHERE (<value><'string'><variable>) \\n\\nTests for existence or equality. IF, WHEN, and WHERE are optional and interchangeable. \\nAn IF, a WHEN, or a WHERE condition compares values and strings, or checks variables \\nfor values. \\n\\nRestriction:When you specify an IF condition with a single, user-defined variable, then \\nthe variable is evaluated to determine if it has a value, according to the variable's \\ntype. A string variable type uses the length to determine existence, a numeric variable \\ntype uses value, and a dictionary array variable type uses the key (if there is a key \\nspecified, then the test is true). \\n\\nExample:All of the following are equivalent: \\n  put 'Foreground has a value!' nl/if (foreground);\\n  put 'Foreground has a value!' nl/if exists(foreground);\\n  put 'Foreground has a value!' nl/when exists(foreground);\\n  put 'Foreground has a value!' nl/exists(foreground);\\n  put 'Foreground has a value!' nl/where exists(foreground);\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"NOT\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: NOT | ! | ^ <'string'><variable>\\n          \\nNegates a condition. You can use the keyword NOT or the characters '!' or '^'. \\n\\nRestriction:The character '!' works only as the first character in a condition. \\nThe standard WHERE processing syntax is required for subsequent characters. \\n\\nExample:\\n  put 'The foreground is not red!' nl/if not cmp('red', foreground);\\n  put 'The foreground is not red or blue' /if !cmp('red', foreground)\\n      and ^cmp('blue', foreground);\\n  put 'The foreground is not red or blue' /if ^cmp('red', foreground)\\n      and ^cmp('blue', foreground);\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"WHILE\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: WHILE condition-expression \\n\\nIndicates that the corresponding statement block should loop until the WHILE value becomes false. \\n\\nRestriction:The WHILE condition can be used only with the DO statement. \\n\\nExample:\\n  eval $count 0;\\n\\n    do /while $count < 10;\\n      eval $i $count+1;\\n      continue /if $count eq 5;\\n      stop /if $count eq 8;\\n      put 'Count is ' $i nl;\\n  else;\\n      put 'Count was never less than 10' nl;\\n  done;\"},\"StatementOptionType\":\"S\"}]}},{\"StatementName\":\"UNBLOCK\",\"StatementHelp\":{\"#cdata\":\"Syntax: UNBLOCK event-name </ event-statement-condition(s)>; \\n      \\nEnables a disabled event.\\n\\nRequired Argument:\\n  event-name \\n    specifies the name of the event. \\n\\nOptional Argument:\\n  event-statement-condition(s) \\n    specifies one or more conditions that must be true for the event statement to execute. \\n    Requirement:an event-statement-condition must be preceded by a slash (/).\"},\"StatementOptions\":{\"StatementOption\":[{\"StatementOptionName\":\"ANY\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: ANY (variable-1,<..., variable-n>) \\n\\nChecks a list of comma-delimited variables for values. If any of the variables \\nhas a value, then the condition is true. \\n\\nExample:\\n  put 'One of our variables has a value!'\\n    nl/if any(background, foreground, cellpadding, cellspacing);\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"BREAKIF\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: BREAKIF event \\n\\nStops an event that is executing. The current statement is executed and the event ends.\\n\\nTip:Using the BREAKIF condition is more efficient than using a PUT event statement \\nand a BREAK event statement with an IF condition together. For example, the following \\nstatements are equivalent: \\n\\n  put 'Foreground has a value!' /breakif exists(foreground); \\n  put 'Foreground has a value!' /if exists(foreground);\\n    break /if exists(foreground);\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"CMP\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: CMP (\\u201cstring\\u201d, variable | variable-list) \\n\\nCompares, for equality, a string to a variable or list of variables. \\n\\nExample:\\n put 'The foreground is blue!' nl/if cmp('blue',foreground);\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"CONTAINS\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: CONTAINS (argument-1, argument-2)\\n          \\nSearches the first argument for the second argument. \\n\\nExample:\\n  set $myvariable 'some random text';\\n    put 'myvariable contains 'ran' nl/if contains($myvariable, 'ran');\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"EXIST|EXISTS\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: EXIST | EXISTS (variable | variable-list) \\n\\nDetermines whether a variable or a list of variables has values. If all of the \\nvariables have values, then the condition is true. If a variable has an empty \\nstring of length 0, then the variable has no value and the condition is false. \\n\\nTip:Use the MISSING event variable with the EXIST condition to determine whether a value is missing. \\n\\nExample:\\n  put 'All of our variables have a value!'\\n    nl/if exists(background, foreground, cellpadding, cellspacing);\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"IF|WHEN|WHERE\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: IF | WHEN | WHERE (<value><'string'><variable>) \\n\\nTests for existence or equality. IF, WHEN, and WHERE are optional and interchangeable. \\nAn IF, a WHEN, or a WHERE condition compares values and strings, or checks variables \\nfor values. \\n\\nRestriction:When you specify an IF condition with a single, user-defined variable, then \\nthe variable is evaluated to determine if it has a value, according to the variable's \\ntype. A string variable type uses the length to determine existence, a numeric variable \\ntype uses value, and a dictionary array variable type uses the key (if there is a key \\nspecified, then the test is true). \\n\\nExample:All of the following are equivalent: \\n  put 'Foreground has a value!' nl/if (foreground);\\n  put 'Foreground has a value!' nl/if exists(foreground);\\n  put 'Foreground has a value!' nl/when exists(foreground);\\n  put 'Foreground has a value!' nl/exists(foreground);\\n  put 'Foreground has a value!' nl/where exists(foreground);\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"NOT\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: NOT | ! | ^ <'string'><variable>\\n          \\nNegates a condition. You can use the keyword NOT or the characters '!' or '^'. \\n\\nRestriction:The character '!' works only as the first character in a condition. \\nThe standard WHERE processing syntax is required for subsequent characters. \\n\\nExample:\\n  put 'The foreground is not red!' nl/if not cmp('red', foreground);\\n  put 'The foreground is not red or blue' /if !cmp('red', foreground)\\n      and ^cmp('blue', foreground);\\n  put 'The foreground is not red or blue' /if ^cmp('red', foreground)\\n      and ^cmp('blue', foreground);\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"WHILE\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: WHILE condition-expression \\n\\nIndicates that the corresponding statement block should loop until the WHILE value becomes false. \\n\\nRestriction:The WHILE condition can be used only with the DO statement. \\n\\nExample:\\n  eval $count 0;\\n\\n    do /while $count < 10;\\n      eval $i $count+1;\\n      continue /if $count eq 5;\\n      stop /if $count eq 8;\\n      put 'Count is ' $i nl;\\n  else;\\n      put 'Count was never less than 10' nl;\\n  done;\"},\"StatementOptionType\":\"S\"}]}},{\"StatementName\":\"UNSET\",\"StatementHelp\":{\"#cdata\":\"Syntax: UNSET ALL | dictionary-variable | list-variable | scalar-variable | stream-variable \\n  </ event-statement-condition(s)>; \\n\\nDeletes a user-defined variable and its value.\\n\\nRequired Arguments:\\n  ALL -- deletes all dictionary variables, list variables, and scalar variables. \\n  Tip:You must delete stream variables individually. \\n  \\n  dictionary-variable \\n    specifies an array that contains a list of numbers or text strings that are identified by a key. \\n    A dictionary-variable has the following form: $dictionary-variable['key'] \\n    ['key'] specifies the location in the dictionary variable of the value that you want to delete. \\n\\n  list-variable \\n    specifies an array that contains a list of numbers or strings of text that are indexed. \\n    A list-variable has the following form: $list-variable[<index>] \\n    [<index>] specifies the location in the list variable of the value to be deleted. If you \\n      omit the index and specify empty brackets, then the entire list variable is deleted.\\n      \\n  scalar-variable -- specifies a scalar variable to delete. \\n    Requirement:Scalar variables must be preceded by the '$' symbol.\\n    \\n  stream-variable -- specifies a stream variable to delete. \\n    Requirement:A user-defined-variable-name must be preceded by the '$$' symbol.\\n    \\nOptional Argument:\\n  event-statement-condition(s) \\n    specifies one or more conditions that must be true for the event statement to execute. \\n    Requirement:an event-statement-condition must be preceded by a slash (/).\"},\"StatementOptions\":{\"StatementOption\":[{\"StatementOptionName\":\"All\",\"StatementOptionHelp\":{\"#cdata\":\"Deletes all dictionary variables, list variables, and scalar variables. \\n\\nTip: You must delete stream variables individually.\"},\"StatementOptionType\":\"RS\"},{\"StatementOptionName\":\"ANY\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: ANY (variable-1,<..., variable-n>) \\n\\nChecks a list of comma-delimited variables for values. If any of the variables \\nhas a value, then the condition is true. \\n\\nExample:\\n  put 'One of our variables has a value!'\\n    nl/if any(background, foreground, cellpadding, cellspacing);\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"BREAKIF\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: BREAKIF event \\n\\nStops an event that is executing. The current statement is executed and the event ends.\\n\\nTip:Using the BREAKIF condition is more efficient than using a PUT event statement \\nand a BREAK event statement with an IF condition together. For example, the following \\nstatements are equivalent: \\n\\n  put 'Foreground has a value!' /breakif exists(foreground); \\n  put 'Foreground has a value!' /if exists(foreground);\\n    break /if exists(foreground);\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"CMP\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: CMP (\\u201cstring\\u201d, variable | variable-list) \\n\\nCompares, for equality, a string to a variable or list of variables. \\n\\nExample:\\n put 'The foreground is blue!' nl/if cmp('blue',foreground);\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"CONTAINS\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: CONTAINS (argument-1, argument-2)\\n          \\nSearches the first argument for the second argument. \\n\\nExample:\\n  set $myvariable 'some random text';\\n    put 'myvariable contains 'ran' nl/if contains($myvariable, 'ran');\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"EXIST|EXISTS\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: EXIST | EXISTS (variable | variable-list) \\n\\nDetermines whether a variable or a list of variables has values. If all of the \\nvariables have values, then the condition is true. If a variable has an empty \\nstring of length 0, then the variable has no value and the condition is false. \\n\\nTip:Use the MISSING event variable with the EXIST condition to determine whether a value is missing. \\n\\nExample:\\n  put 'All of our variables have a value!'\\n    nl/if exists(background, foreground, cellpadding, cellspacing);\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"IF|WHEN|WHERE\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: IF | WHEN | WHERE (<value><'string'><variable>) \\n\\nTests for existence or equality. IF, WHEN, and WHERE are optional and interchangeable. \\nAn IF, a WHEN, or a WHERE condition compares values and strings, or checks variables \\nfor values. \\n\\nRestriction:When you specify an IF condition with a single, user-defined variable, then \\nthe variable is evaluated to determine if it has a value, according to the variable's \\ntype. A string variable type uses the length to determine existence, a numeric variable \\ntype uses value, and a dictionary array variable type uses the key (if there is a key \\nspecified, then the test is true). \\n\\nExample:All of the following are equivalent: \\n  put 'Foreground has a value!' nl/if (foreground);\\n  put 'Foreground has a value!' nl/if exists(foreground);\\n  put 'Foreground has a value!' nl/when exists(foreground);\\n  put 'Foreground has a value!' nl/exists(foreground);\\n  put 'Foreground has a value!' nl/where exists(foreground);\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"NOT\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: NOT | ! | ^ <'string'><variable>\\n          \\nNegates a condition. You can use the keyword NOT or the characters '!' or '^'. \\n\\nRestriction:The character '!' works only as the first character in a condition. \\nThe standard WHERE processing syntax is required for subsequent characters. \\n\\nExample:\\n  put 'The foreground is not red!' nl/if not cmp('red', foreground);\\n  put 'The foreground is not red or blue' /if !cmp('red', foreground)\\n      and ^cmp('blue', foreground);\\n  put 'The foreground is not red or blue' /if ^cmp('red', foreground)\\n      and ^cmp('blue', foreground);\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"WHILE\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: WHILE condition-expression \\n\\nIndicates that the corresponding statement block should loop until the WHILE value becomes false. \\n\\nRestriction:The WHILE condition can be used only with the DO statement. \\n\\nExample:\\n  eval $count 0;\\n\\n    do /while $count < 10;\\n      eval $i $count+1;\\n      continue /if $count eq 5;\\n      stop /if $count eq 8;\\n      put 'Count is ' $i nl;\\n  else;\\n      put 'Count was never less than 10' nl;\\n  done;\"},\"StatementOptionType\":\"S\"}]}},{\"StatementName\":\"XDENT\",\"StatementHelp\":{\"#cdata\":\"Syntax: XDENT </ event-statement-condition(s)>; \\n       \\nIndents output one less indention level, using the number of spaces specified by the INDENT= attribute. \\n\\nOptional Argument:\\n  event-statement-condition(s) \\n    specifies one or more conditions that must be true for the event statement to execute. \\n    Requirement:an event-statement-condition must be preceded by a slash (/).\"},\"StatementOptions\":null},{\"StatementName\":\"END\",\"StatementHelp\":{\"#cdata\":\"Syntax: END;  \\n      \\nEnds the tagset or event.\"},\"StatementOptions\":null}]}}}"
  },
  {
    "path": "server/data/Procedures/DEFINE_TAGSET.json",
    "content": "{\"Procedure\":{\"Name\":\"DEFINE_TAGSET\",\"ProductGroup\":\"SAS/BASE\",\"ProcedureHelp\":{\"#cdata\":\"\"},\"ProcedureOptions\":null,\"ProcedureStatements\":{\"ProcedureStatement\":[{\"StatementName\":\"BREAKTEXT_LENGTH=\",\"StatementHelp\":{\"#cdata\":\"Syntax: BREAKTEXT_LENGTH=number\\n\\nSpecifies the maximum number of characters that will be considered for forced line \\nbreaks by ODS. When the number of characters in the text exceeds the number specified \\nby the BREAKTEXT_LENGTH= option, then line breaks are inserted by the application that \\ndisplays the output. If the number of characters in the text is less than or equal to \\nthe number specified by the BREAKTEXT_LENGTH= option, then any necessary line breaks \\nare inserted by ODS. The placement of the line breaks is based upon the total available \\ntext width.\"},\"StatementOptions\":null},{\"StatementName\":\"BREAKTEXT_RATIO=\",\"StatementHelp\":{\"#cdata\":\"Syntax: BREAKTEXT_RATIO=number\\n\\nSpecifies the maximum ratio of the width of space available for text entry to the \\nlength of the text that is supposed to fit in that space. If the ratio of width space \\nto text length is greater than the ratio specified by the BREAKTEXT_RATIO= option, \\nthen any necessary line breaks are inserted by the application that displays the \\noutput. If the ratio of width space to text length is equal to or less then the \\nratio specified by the BREAKTEXT_RATIO= option, then any necessary line breaks \\nare inserted by ODS.\"},\"StatementOptions\":null},{\"StatementName\":\"BREAKTEXT_WIDTH=\",\"StatementHelp\":{\"#cdata\":\"Syntax: BREAKTEXT_WIDTH=number\\n\\nSpecifies the maximum width of space available for text entry that ODS will consider \\nfor placement of automatic line breaks. If the width of space is greater than the number \\nspecified by the BREAKTEXT_WIDTH= option, then any necessary line breaks are inserted by \\nthe application that displays the output. If the width of space is less than or equal to \\nthe number specified by the BREAKTEXT_WIDTH= option, then ODS inserts necessary line breaks.\"},\"StatementOptions\":null},{\"StatementName\":\"COPYRIGHT=\",\"StatementHelp\":{\"#cdata\":\"Syntax: COPYRIGHT= '(text)'\\n\\nSpecifies the text to use as the copyright. \\n\\nRequirement: When specifying text, enclose the text in parentheses and then quotation marks.\"},\"StatementOptions\":null},{\"StatementName\":\"DEFAULT_EVENT=\",\"StatementHelp\":{\"#cdata\":\"Syntax: DEFAULT_EVENT= 'event-name'\\n\\nSpecifies the name of an event to execute by default when the requested event cannot \\nbe found in the tagset. \\n\\nRequirement: When specifying an event-name, enclose the name of the event in quotation marks.\"},\"StatementOptions\":null},{\"StatementName\":\"EMBEDDED_STYLESHEET=\",\"StatementHelp\":{\"#cdata\":\"Syntax: EMBEDDED_STYLESHEET= YES | ON | NO | OFF\\n\\nSpecifies whether or not the tagset supports embedded stylesheets.\\n\\nDefault: The default value is YES or ON, which means that embedded stylesheets are supported. \\nTip: If embedded stylesheets are supported and you do not specify a stylesheet in the ODS \\nstatement, then the stylesheet is written to the top of the output file. \\n\\n  YES\\n  supports embedded stylesheets.\\n\\n  Alias: ON \\n\\n  ON\\n  supports embedded stylesheets.\\n\\n  Alias: YES \\n\\n  NO\\n  does not support embedded stylesheets.\\n\\n  Alias: OFF \\n\\n  OFF\\n  does not support embedded stylesheets.\\n\\n  Alias: NO\"},\"StatementOptions\":null},{\"StatementName\":\"IMAGE_FORMATS=\",\"StatementHelp\":{\"#cdata\":\"Syntax: IMAGE_FORMATS= 'image-type(s)'\\n\\nSpecifies a comma-delimited list of image types or file extensions that are valid \\nfor an output destination. The image types can be any that are supported by SAS/GRAPH. \\nList them in order of preference. \\n\\nExample: The following IMAGE_FORMATS= statement lists valid image types for the \\nHTML destination: \\n\\n  image_formats='gif,jpeg,png';\"},\"StatementOptions\":null},{\"StatementName\":\"INDENT=\",\"StatementHelp\":{\"#cdata\":\"Syntax: INDENT=n\\n\\nspecifies how many spaces the NDENT and XDENT event statements will indent the output.\\n\\nn\\nspecifies a numeric value for the number of spaces that you want the output to indent.\\n\\nDefault: 0 \\nTip: The INDENT= attribute is valid only in markup family destinations.\"},\"StatementOptions\":null},{\"StatementName\":\"LOG_NOTE=\",\"StatementHelp\":{\"#cdata\":\"Syntax: LOG_NOTE= 'string'\\n\\nDefines a string that is printed to the SAS log when the tagset is used.\\n\\nstring\\nspecifies the text that is printed to the SAS log.\\n\\nRequirement: Specify only one string at a time.\"},\"StatementOptions\":null},{\"StatementName\":\"MAP=\",\"StatementHelp\":{\"#cdata\":\"Syntax: MAP= 'characters'\\n\\nSpecifies the special characters that require translation.\\n\\ncharacters\\nspecifies one or more special characters.\\n\\nRequirement: When listing special characters in the MAP= statement, omit blank spaces between them. \\nRequirement: When you specify special characters, enclose the list of special characters in quotation marks.  \\nRequirement: Use the MAP= statement with the MAPSUB statement.\"},\"StatementOptions\":null},{\"StatementName\":\"MAPSUB=\",\"StatementHelp\":{\"#cdata\":\"Syntax: MAPSUB= 'strings'\\n\\nSpecifies the text to substitute for the characters that are specified in the MAP= statement.\\n\\nstrings\\nSpecifies the text strings to substitute for the characters that are specified in the MAP= statement.\\n\\nRequirement: When specifying multiple strings, use a forward slash (/) to separate the text strings. \\nRequirement: When specifying strings, enclose the entire string list in quotation marks. \\nRequirement: Use the MAPSUB= statement with the MAP= statement.\"},\"StatementOptions\":null},{\"StatementName\":\"NOBREAKSPACE=\",\"StatementHelp\":{\"#cdata\":\"Syntax: NOBREAKSPACE= 'string'\\n\\nDefines a nonbreaking space for the markup output.\\n\\nstring\\nspecifies the character that defines a nonbreaking space.\\n\\nRequirement: When specifying a string, enclose the string in quotation marks. \\nRestriction: Specify only one string at a time.\"},\"StatementOptions\":null},{\"StatementName\":\"NO_BYTE_ORDER_MARK=\",\"StatementHelp\":{\"#cdata\":\"Syntax: NO_BYTE_ORDER_MARK=YES | ON | NO | OFF\\n\\nSpecifies whether or not a byte-order mark is written to the output files when using \\na UTF character set.\"},\"StatementOptions\":null},{\"StatementName\":\"OUTPUT_TYPE=\",\"StatementHelp\":{\"#cdata\":\"Syntax: OUTPUT_TYPE= CSV | HTML | LATEX | WML | XML\\n\\nsets a category for the output.\\n\\n  CSV\\n  produces output with comma-separated values.\\n\\n  HTML\\n  produces Hypertext Markup Language output.\\n\\n  LATEX\\n  produces output in LaTeX, which is a document preparation system for high-quality typesetting.\\n\\n  WML\\n  uses the Wireless Application Protocol (WAP) to produce a wireless markup language.\\n\\n  XML\\n  produces output in Extensible Markup Language.\"},\"StatementOptions\":null},{\"StatementName\":\"PARENT=\",\"StatementHelp\":{\"#cdata\":\"Syntax: PARENT= tagset-path\\n\\nSpecifies the tagset from which the current template inherits.\\n\\ntagset-path\\nspecifies the name of a directory in a template store.\\n\\nDefault: The current template inherits from the specified template in the first template \\nstore where you have Read access. The PATH statement specifies which locations to search \\nfor templates that were created by PROC TEMPLATE, as well as the order in which to search \\nfor them. \\n\\nInteraction: When you specify a parent, all of the template options, attributes, and \\nstatements that are specified in the parent's template are used in the current template, \\nunless the current template overrides them. \\n\\nRequirement: When you specify a parent, all of the template options, attributes, and \\nstatements that are specified in the parent's template are used in the current template, \\nunless the current template overrides them. \\nTip: Specify a tagset that SAS supplies or a customized tagset. \\nTip: Control the item store from which the tagset is read by using the ODS PATH statement.\"},\"StatementOptions\":null},{\"StatementName\":\"PURE_STYLE=\",\"StatementHelp\":{\"#cdata\":\"Syntax: PURE_STYLE=YES | ON | NO | OFF\\n\\nSpecifies whether all of the style attributes are available at all times.\"},\"StatementOptions\":null},{\"StatementName\":\"REGISTERED_TM=\",\"StatementHelp\":{\"#cdata\":\"Syntax: REGISTERED_TM= '(text)'\\n\\nspecifies the text to use as the registered trademark. \\n\\nRequirement: When specifying text, enclose the text in parentheses and then quotation marks.\"},\"StatementOptions\":null},{\"StatementName\":\"SPLIT=\",\"StatementHelp\":{\"#cdata\":\"Syntax: SPLIT= 'string'\\n\\nDefines a text string to use for line breaks in the markup output.\\n\\nRequirement: When specifying a string, enclose the string in quotation marks. \\nRestriction: Specify one string at a time.\"},\"StatementOptions\":null},{\"StatementName\":\"STACKED_COLUMNS=\",\"StatementHelp\":{\"#cdata\":\"Syntax: STACKED_COLUMNS= YES | ON | NO | OFF\\n\\nSpecifies whether or not the tagset lets procedures stack columns on top \\nof each other, or place them side by side.\\n\\nDefault: The default value is YES or ON, which means that columns are stacked. \\nTip: To place columns side by side, specify the NO or OFF value.\\n\\n  YES\\n  stacks columns on top of each other.\\n  Alias: ON \\n\\n  ON\\n  stacks columns on top of each other.\\n  Alias: YES \\n\\n  NO\\n  stacks columns side by side.\\n  Alias: OFF \\n\\n  OFF\\n  stacks columns side by side.\\n  Alias: NO\"},\"StatementOptions\":null},{\"StatementName\":\"TRADEMARK=\",\"StatementHelp\":{\"#cdata\":\"Syntax: TRADEMARK= '(text)'\\n\\nSpecifies the text to use as the trademark. \\n\\nRequirement: When specifying text, enclose the text in parentheses and then \\nquotation marks.\"},\"StatementOptions\":null},{\"StatementName\":\"DEFINE EVENT\",\"StatementHelp\":{\"#cdata\":\"Syntax: DEFINE EVENT event-name; \\n  <event-attribute-1;<...event-attribute-n;>> \\n  <event statements>   \\n      \\nDefines what is written to the output file.\"},\"StatementOptions\":null},{\"StatementName\":\"NOTES\",\"StatementHelp\":{\"#cdata\":\"Syntax: NOTES 'text'; \\n      \\nProvides information about the tagset.\"},\"StatementOptions\":null},{\"StatementName\":\"END\",\"StatementHelp\":{\"#cdata\":\"Syntax: END;  \\n\\nEnds the tagset.\"},\"StatementOptions\":null}]}}}"
  },
  {
    "path": "server/data/Procedures/MACRO.json",
    "content": "{\"Procedure\":{\"#comment\":{},\"Name\":\"%MACRO\",\"ProductGroup\":\"BASE\",\"ProcedureHelp\":{\"#cdata\":\"Syntax: %MACRO macro-name <(parameter-list)></ option-1 <...option-n>>; \\n  \\nThe %MACRO statement begins the definition of a macro, assigns the macro a name, and can include \\na list of macro parameters, a list of options, or both.\"},\"ProcedureOptions\":{\"ProcedureOption\":[{\"ProcedureOptionName\":\"CMD\",\"ProcedureOptionHelp\":{\"#cdata\":\"Specifies that the macro can accept either a name-style invocation or a command-style invocation.\"},\"ProcedureOptionType\":\"S\"},{\"ProcedureOptionName\":\"DES=\",\"ProcedureOptionHelp\":{\"#cdata\":\"[Syntax: DES='text'] \\n      \\nSpecifies a description (up to 40 characters) for the macro entry in the macro catalog.\"},\"ProcedureOptionType\":\"V\"},{\"ProcedureOptionName\":\"MINDELIMITER=\",\"ProcedureOptionHelp\":{\"#cdata\":\"[Syntax: MINDELIMITER='single character';] \\n      \\nSpecifies a value that will override the value of the MINDELIMITER= global option. \\nThe value must be a single character enclosed in single quotation marks and can \\nappear only once in a %MACRO statement.\"},\"ProcedureOptionType\":\"V\"},{\"ProcedureOptionName\":\"MINOPERATOR\",\"ProcedureOptionHelp\":{\"#cdata\":\"Specifies that the macro processor recognizes and evaluates the mnemonic IN and the special character # \\nas logical operators when evaluating arithmetic or logical expressions during the execution of the macro.\"},\"ProcedureOptionType\":\"S\"},{\"ProcedureOptionName\":\"NOMINOPERATOR\",\"ProcedureOptionHelp\":{\"#cdata\":\"Specifies that the macro processor does not recognize the mnemonic IN and the special character # as \\nlogical operators when evaluating arithmetic or logical expressions during the execution of the \\nmacro. The setting of this argument overrides the setting of the MINOPERATOR global system option.\"},\"ProcedureOptionType\":\"S\"},{\"ProcedureOptionName\":\"PARMBUFF|PBUFF\",\"ProcedureOptionHelp\":{\"#cdata\":\"Assigns the entire list of parameter values in a macro call, including the parentheses in a name-style \\ninvocation, as the value of the automatic macro variable SYSPBUFF.\"},\"ProcedureOptionType\":\"S\"},{\"ProcedureOptionName\":\"STMT\",\"ProcedureOptionHelp\":{\"#cdata\":\"Specifies that the macro can accept either a name-style invocation or a statement-style invocation.\"},\"ProcedureOptionType\":\"S\"},{\"ProcedureOptionName\":\"SOURCE|SRC\",\"ProcedureOptionHelp\":{\"#cdata\":\"Combines and stores the source of the compiled macro with the compiled macro code as an entry in a SAS \\ncatalog in a permanent SAS data library.\"},\"ProcedureOptionType\":\"S\"},{\"ProcedureOptionName\":\"STORE\",\"ProcedureOptionHelp\":{\"#cdata\":\"Stores the compiled macro as an entry in a SAS catalog in a permanent SAS data library.\"},\"ProcedureOptionType\":\"S\"}]},\"ProcedureStatements\":{\"ProcedureStatement\":[{\"StatementName\":\"%ABORT\",\"StatementHelp\":{\"#cdata\":\"Stops the macro that is executing along with the current DATA step, SAS job, or SAS session. \\n      \\nSyntax: %ABORT <ABEND | CANCEL <FILE> | RETURN | <n>> ;\"},\"StatementOptions\":{\"StatementOption\":[{\"StatementOptionName\":\"ABEND\",\"StatementOptionHelp\":{\"#cdata\":\"Causes abnormal termination of the current macro and SAS job or session. Results depend on the method \\nof operation: \\n\\no batch mode and noninteractive mode \\n\\n  o stops processing immediately\\n  o sends an error message to the SAS log that states that execution was terminated by the ABEND option \\n    of the %ABORT macro statement\\n  o does not execute any subsequent statements or check syntax\\n  o returns control to the operating environment; further action is based on how your operating environment \\n    and your site treat jobs that end abnormally.\\n\\no windowing environment and interactive line mode \\n\\n  o causes your macro, windowing environment, and interactive line mode to stop processing immediately \\n    and return you to your operating environment.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"CANCEL\",\"StatementOptionHelp\":{\"#cdata\":\"Causes the cancellation of the current submitted statements. The results depend on the method \\nof operation:\\n\\no batch mode and noninteractive mode\\n\\n  o The entire SAS program and SAS system are terminated.\\n  o The error message is written to the SAS log.\\n\\no windowing environment and interactive line mode \\n\\n  o It only clears the current submitted program.\\n  o Other subsequent submitted programs are not affected.\\n  o The error message is written to the SAS log.\\n\\no workspace server and stored process server \\n\\n  o It only clears currently submitted program.\\n  o Other subsequent submit calls are not affected.\\n  o The error message is written to the SAS log.\\n\\no SAS IntrNet application server \\n\\n  o A separate execution is created for each request. The execution submits the request code. A CANCEL \\n    in the request code clears the current submitted code but does not terminate the execution of the \\n    SAS session.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"CANCEL FILE\",\"StatementOptionHelp\":{\"#cdata\":\"Causes only the contents of the autoexec file or %INCLUDE file to be cleared by the %ABORT statement. \\nOther submitted source statements will be executed after the autoexec or %INCLUDE file.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"RETURN\",\"StatementOptionHelp\":{\"#cdata\":\"Causes abnormal termination of the current macro and SAS job or session. Results depend on the method \\nof operation: \\n\\no batch mode and noninteractive mode \\n\\n  o stops processing immediately\\n  o sends an error message to the SAS log that states that execution was terminated by the RETURN option \\n    of the %ABORT macro statement\\n  o does not execute any subsequent statements or check syntax\\n  o returns control to the operating environment with a condition code indicating an error.\\n\\no windowing environment and interactive line mode \\n\\n  o causes your macro, windowing environment, and interactive line mode to stop processing immediately \\n    and return you to your operating environment.\"},\"StatementOptionType\":\"S\"}]}},{\"StatementName\":\"%COPY\",\"StatementHelp\":{\"#cdata\":\"Syntax: %COPY macro-name< / options(s)>\\n      \\nCopies specified items from a SAS macro library.\"},\"StatementOptions\":{\"StatementOption\":[{\"StatementOptionName\":\"SOURCE|SRC\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies that the source code of the macro will be copied to the output destination. If the OUTFILE= \\noption is not specified, the source is written to the SAS log.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"LIBRARY=|LIB=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: LIBRARY= libref] \\n          \\nSpecifies the libref of a SAS library that contains a catalog of stored compiled \\nSAS macros. If no library is specified, the libref specified by the SASMSTORE= \\noption is used.\\n\\nRestriction:  This libref cannot be WORK.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"OUTFILE=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: OUTFILE=fileref | 'external file'] \\n          \\nSpecifies the output destination of the %COPY statement. The value can be a fileref \\nor an external file.\"},\"StatementOptionType\":\"V\"}]}},{\"StatementName\":\"%DISPLAY\",\"StatementHelp\":{\"#cdata\":\"Syntax: %DISPLAY window<.group><NOINPUT><BLANK> <BELL><DELETE>;\\n      \\nYou can display only one group of fields in each execution of a %DISPLAY statement. If you display \\na window containing any unprotected fields, enter values into any required fields and press ENTER \\nto remove the display from the window.\"},\"StatementOptions\":{\"StatementOption\":[{\"StatementOptionName\":\"NOINPUT\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies that you cannot input values into fields displayed in the window. If you omit the NOINPUT \\noption, you can input values into unprotected fields displayed in the window. Use the NOINPUT option \\nwhen the %DISPLAY statement is inside a macro definition and you want to merge more than one group \\nof fields into a single display. Using NOINPUT in a particular %DISPLAY statement causes the group \\ndisplayed to remain visible when later groups are displayed.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"BLANK\",\"StatementOptionHelp\":{\"#cdata\":\"Clears the display in the window. Use the BLANK option to prevent fields from a previous display \\nfrom appearing in the current display. This option is useful only when the %DISPLAY statement is \\ninside a macro definition and when it is part of a window.group specification. When the %DISPLAY \\nstatement is outside a macro definition, the display in the window is cleared automatically after \\nthe execution of each %DISPLAY statement.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"BELL\",\"StatementOptionHelp\":{\"#cdata\":\"Rings your personal computer's bell, if available, when the window is displayed.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"DELETE\",\"StatementOptionHelp\":{\"#cdata\":\"Deletes the display of the window after processing passes from the %DISPLAY statement on which the \\noption appears. DELETE is useful only when the %DISPLAY statement is inside a macro definition.\"},\"StatementOptionType\":\"S\"}]}},{\"StatementName\":\"%DO\",\"StatementHelp\":{\"#cdata\":\"Executes a section of a macro repetitively based on the value of an index variable.\\n      \\nSyntax: \\n\\n%DO macro-variable=start %TO stop <%BY increment>; \\n  text and macro language statements  \\n%END;\"},\"StatementOptions\":{\"StatementOption\":[{\"StatementOptionName\":\"%TO\",\"StatementOptionHelp\":{\"#cdata\":\"Separates the start and stop integers or macro expressions that control the number of times the \\nportion of the macro between the iterative %DO and %END statements is processed.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"%BY\",\"StatementOptionHelp\":{\"#cdata\":\"Precedes an increment integer (other than 0) or a macro expression that generates an integer to be \\nadded to the value of the index variable in each iteration of the loop.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"%UNTIL\",\"StatementOptionHelp\":{\"#cdata\":\"Executes a section of a macro repetitively until a condition is true.\\n      \\nSyntax: \\n\\n%DO %UNTIL (expression); \\n  text and macro language statements  \\n%END;\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"%WHILE\",\"StatementOptionHelp\":{\"#cdata\":\"Executes a section of a macro repetitively while a condition is true.\\n      \\nSyntax: \\n\\n%DO %WHILE (expression); \\n  text and macro language statements  \\n%END;\"},\"StatementOptionType\":\"S\"}]}},{\"StatementName\":\"%DO %UNTIL\",\"StatementHelp\":{\"#cdata\":\"Executes a section of a macro repetitively until a condition is true.\\n      \\nSyntax: \\n\\n%DO %UNTIL (expression); \\n  text and macro language statements  \\n%END;\"},\"StatementOptions\":null},{\"StatementName\":\"%DO %WHILE\",\"StatementHelp\":{\"#cdata\":\"Executes a section of a macro repetitively while a condition is true.\\n      \\nSyntax: \\n\\n%DO %WHILE (expression); \\n  text and macro language statements  \\n%END;\"},\"StatementOptions\":null},{\"StatementName\":\"%END\",\"StatementHelp\":{\"#cdata\":\"Syntax:  %END;\\n      \\nEnds a %DO group.\"},\"StatementOptions\":null},{\"StatementName\":\"%GLOBAL\",\"StatementHelp\":{\"#cdata\":\"Syntax: %GLOBAL macro-variable(s);\\n      \\nCreates macro variables that are available during the execution of an entire SAS session.\"},\"StatementOptions\":null},{\"StatementName\":\"%GOTO\",\"StatementHelp\":{\"#cdata\":\"Syntax: %GOTO label; \\n      \\nBranches macro processing to the specified label.\"},\"StatementOptions\":null},{\"StatementName\":\"%IF\",\"StatementHelp\":{\"#cdata\":\"Syntax: %IF expression %THEN action; <%ELSE action;>\\n      \\nConditionally process a portion of a macro.\"},\"StatementOptions\":{\"StatementOption\":[{\"StatementOptionName\":\"%THEN\",\"StatementOptionHelp\":{\"#cdata\":\"Conditionally process a portion of a macro.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"%DO\",\"StatementOptionHelp\":{\"#cdata\":\"Action statement in a %IF-%THEN-%DO construct.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"%LET\",\"StatementOptionHelp\":{\"#cdata\":\"Action statement in an %IF-%THEN statement.\\n      \\nCreates a macro variable and assigns it a value.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"%RETURN\",\"StatementOptionHelp\":{\"#cdata\":\"Action statement in an %IF-%THEN statement.\\n      \\nExecution causes normal termination of the currently executing macro.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"%PUT\",\"StatementOptionHelp\":{\"#cdata\":\"Action statement in an %IF-%THEN statement.\\n      \\nWrites text or macro variable information to the SAS log.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"%GOTO\",\"StatementOptionHelp\":{\"#cdata\":\"Action statement in an %IF-%THEN statement.\\n      \\nSyntax: ... %GOTO label ;\\n      \\nJumps to a new statement.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"NOT\",\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"OR\",\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"AND\",\"StatementOptionType\":\"S\"}],\"#comment\":{}}},{\"StatementName\":\"%ELSE\",\"StatementHelp\":{\"#cdata\":\"Part of a %IF-%THEN-%ELSE statement that conditionally processes a portion of a macro.\\n      \\nSyntax: \\n\\n%IF expression %THEN action;  \\n<%ELSE action;> \"},\"StatementOptions\":{\"StatementOption\":[{\"StatementOptionName\":\"%THEN\",\"StatementOptionHelp\":{\"#cdata\":\"Conditionally processes a portion of a macro.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"%IF\",\"StatementOptionHelp\":{\"#cdata\":\"Conditionally processes a portion of a macro.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"%DO\",\"StatementOptionHelp\":{\"#cdata\":\"Action statement in an %ELSE-%DO construct.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"%LET\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: %LET macro-variable =<value>;\\n      \\nCreates a macro variable and assigns it a value.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"%GOTO\",\"StatementOptionHelp\":{\"#cdata\":\"Action statement in an %ELSE statement.\\n      \\nSyntax: ... %GOTO label ;\\n      \\nJumps to a new statement.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"%RETURN\",\"StatementOptionHelp\":{\"#cdata\":\"Action statement in an %IF-%THEN statement.\\n      \\nExecution causes normal termination of the currently executing macro.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"%PUT\",\"StatementOptionHelp\":{\"#cdata\":\"Action statement in an %IF-%THEN statement.\\n      \\nWrites text or macro variable information to the SAS log.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"NOT\",\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"OR\",\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"AND\",\"StatementOptionType\":\"S\"}],\"#comment\":{}}},{\"StatementName\":\"%INPUT\",\"StatementHelp\":{\"#cdata\":\"Syntax: %INPUT <macro-variable(s)>;\\n      \\nSupplies values to macro variables during macro execution.\"},\"StatementOptions\":null},{\"StatementName\":\"%LET\",\"StatementHelp\":{\"#cdata\":\"Syntax: %LET macro-variable =<value>;\\n      \\nCreates a macro variable and assigns it a value.\"},\"StatementOptions\":null},{\"StatementName\":\"%LOCAL\",\"StatementHelp\":{\"#cdata\":\"Syntax: %LOCAL macro-variable(s);\\n      \\nCreates macro variables that are available only during the execution of the macro where \\nthey are defined.\"},\"StatementOptions\":null},{\"StatementName\":\"%RETURN\",\"StatementHelp\":{\"#cdata\":\"Syntax: %RETURN;\\n      \\nExecution causes normal termination of the currently executing macro.\"},\"StatementOptions\":null},{\"StatementName\":\"%PUT\",\"StatementHelp\":{\"#cdata\":\"Syntax: %PUT <text | _ALL_ | _AUTOMATIC_ | _GLOBAL_ | _LOCAL_ | _USER_>; \\n      \\nWrites text or macro variable information to the SAS log.\"},\"StatementOptions\":{\"StatementOption\":[{\"StatementOptionName\":\"_ALL_\",\"StatementOptionHelp\":{\"#cdata\":\"Lists the values of all user-generated and automatic macro variables.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"_AUTOMATIC_\",\"StatementOptionHelp\":{\"#cdata\":\"Lists the values of automatic macro variables. The automatic variables listed depend on the SAS products \\ninstalled at your site and on your operating system. The scope is identified as AUTOMATIC.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"_GLOBAL_\",\"StatementOptionHelp\":{\"#cdata\":\"Lists user-generated global macro variables. The scope is identified as GLOBAL.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"_LOCAL_\",\"StatementOptionHelp\":{\"#cdata\":\"Lists user-generated local macro variables. The scope is the name of the currently executing macro.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"_USER_\",\"StatementOptionHelp\":{\"#cdata\":\"Describes user-generated global and local macro variables. The scope is identified either as GLOBAL, \\nor as the name of the macro in which the macro variable is defined.\"},\"StatementOptionType\":\"S\"}]}},{\"StatementName\":\"%SYMDEL\",\"StatementHelp\":{\"#cdata\":\"Syntax: %SYMDEL macro-variable-1 <...macro-variable-n></option>; \\n      \\nDeletes the specified variable or variables from the macro global symbol table.\"},\"StatementOptions\":{\"StatementOption\":{\"StatementOptionName\":\"NOWARN\",\"StatementOptionHelp\":{\"#cdata\":\"Suppresses the warning message when an attempt is made to delete a non-existent macro variable.\"},\"StatementOptionType\":\"S\"}}},{\"StatementName\":\"%SYSCALL\",\"StatementHelp\":{\"#cdata\":\"Syntax: %SYSCALL call-routine<(call-routine-argument(s))>;\\n      \\nInvokes a SAS call routine. When %SYSCALL invokes a CALL routine, the value of each macro variable \\nargument is retrieved and passed unresolved to the CALL routine. Upon completion of the CALL routine, \\nthe value for each argument is written back to the respective macro variable. If %SYSCALL encounters \\nan error condition, the execution of the CALL routine terminates without updating the macro variable \\nvalues, an error message is written to the log, and macro processing continues. \"},\"StatementOptions\":null},{\"StatementName\":\"%SYSEXEC\",\"StatementHelp\":{\"#cdata\":\"Syntax: %SYSEXEC <command>; \\n      \\nIssues operating environment commands.\"},\"StatementOptions\":null},{\"StatementName\":\"%SYSLPUT\",\"StatementHelp\":{\"#cdata\":\"Syntax: %SYSLPUT macro-variable=<value </ REMOTE=remote-session-id>>;\\n      \\nCreates a new macro variable or modifies the value of an existing macro variable on a remote \\nhost or server. The %SYSLPUT statement is submitted with SAS/CONNECT software from the local \\nhost or client to a remote host or server to create a new macro variable on the remote host \\nor server, or to modify the value of an existing macro variable on the remote host or server.\\n\\nNote: The names of the macro variables on the remote and local hosts must not contain any \\nleading ampersands.\"},\"StatementOptions\":{\"StatementOption\":{\"StatementOptionName\":\"REMOTE=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: REMOTE=remote-session-identifier>;] \\n          \\nIdentifies the is the name of the remote session.\"},\"StatementOptionType\":\"S\"}}},{\"StatementName\":\"%SYSRPUT\",\"StatementHelp\":{\"#cdata\":\"Syntax: %SYSRPUT local-macro-variable=remote-macro-variable;\\n      \\nThe %SYSRPUT statement is submitted with SAS/CONNECT to a remote host to retrieve the value \\nof a macro variable stored on the remote host. %SYSRPUT assigns that value to a macro variable \\non the local host. %SYSRPUT is similar to the %LET macro statement because it assigns a value \\nto a macro variable. However, %SYSRPUT assigns a value to a variable on the local host, not on \\nthe remote host where the statement is processed. The %SYSRPUT statement places the macro variable \\ninto the global symbol table in the client session.\"},\"StatementOptions\":null},{\"StatementName\":\"%WINDOW\",\"StatementHelp\":{\"#cdata\":\"Syntax: %WINDOW window-name<window-option(s) group-definition(s)>field-definition(s);\\n      \\nDefines customized windows.\"},\"StatementOptions\":{\"StatementOption\":[{\"StatementOptionName\":\"COLOR=|C=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies the color of the window background. The default color of the window and the contents \\nof its fields are both device-dependent.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"BLACK\",\"@Value2\":\"GRAY\",\"@Value3\":\"PINK\",\"@Value4\":\"BLUE\",\"@Value5\":\"GREEN\",\"@Value6\":\"RED\",\"@Value7\":\"BROWN\",\"@Value8\":\"MAGENTA\",\"@Value9\":\"WHITE\",\"@Value10\":\"CYAN\",\"@Value11\":\"ORANGE\",\"@Value12\":\"YELLOW\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"BLACK\",\"@ToolTip2\":\"GRAY|GREY\",\"@ToolTip3\":\"PINK\",\"@ToolTip4\":\"BLUE\",\"@ToolTip5\":\"GREEN\",\"@ToolTip6\":\"RED\",\"@ToolTip7\":\"BROWN\",\"@ToolTip8\":\"MAGENTA\",\"@ToolTip9\":\"WHITE\",\"@ToolTip10\":\"CYAN\",\"@ToolTip11\":\"ORANGE\",\"@ToolTip12\":\"YELLOW\"}},{\"StatementOptionName\":\"COLUMNS=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: COLUMNS=columns] \\n          \\nSpecifies the number of display columns in the window, including borders. A window \\ncan contain any number of columns and can extend beyond the border of the display. \\nThis feature is useful when you need to display a window on a device larger than \\nthe one on which you developed it. By default, the window fills all remaining \\ncolumns in the display.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"ICOLUMN=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: ICOLUMN=column] \\n          \\nSpecifies the initial column within the display at which the window is displayed. \\nBy default, the macro processor begins the window at column 1 of the display.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"IROW=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: IROW=row] \\n          \\nSpecifies the initial row (line) within the display at which the window is displayed. \\nBy default, the macro processor begins the window at row 1 of the display.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"KEYS=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: KEYS=<<libref.>catalog.>keys-entry] \\n          \\nSpecifies the name of a KEYS catalog entry that contains the function key definitions \\nfor the window. If you omit libref and catalog, SAS uses SASUSER.PROFILE.keys-entry.\\n\\nIf you omit the KEYS= option, SAS uses the current function key settings defined in \\nthe KEYS window.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"MENU=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: MENU=<<libref.>catalog.>pmenu-entry] \\n          \\nSpecifies the name of a menu you have built with the PMENU procedure. If you omit \\nlibref and catalog, SAS uses SASUSER.PROFILE.pmenu-entry.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"ROWS=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: ROWS=rows] \\n          \\nSpecifies the number of rows in the window, including borders. A window can contain \\nany number of rows and can extend beyond the border of the display device. This feature \\nis useful when you need to display a window on a device larger than the one on which \\nyou developed it. If you omit a number, the window fills all remaining rows in the \\ndisplay device.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"ATTR=|A=\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: ATTR=attribute | (attribute-1 <... , attribute-n>) \\n          \\nControls several display attributes of the field.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"BLINK\",\"@Value2\":\"HIGHLIGHT\",\"@Value3\":\"REV_VIDEO\",\"@Value4\":\"UNDERLINE\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Causes the field to blink.\",\"@ToolTip2\":\"Displays the field at high intensity.\",\"@ToolTip3\":\"Displays the field in reverse video.\",\"@ToolTip4\":\"Underlines the field.\"}},{\"StatementOptionName\":\"AUTOSKIP=|SKIP=\",\"StatementOptionHelp\":{\"#cdata\":\"Controls whether the cursor moves to the next unprotected field of the current window or group \\nwhen you have entered data in all positions of a field.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"YES\",\"@Value2\":\"NO\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Causes the cursor to move automatically to the next unprotected field.\",\"@ToolTip2\":\"Causes the cursor to not move automatically.\"}},{\"StatementOptionName\":\"DISPLAY=\",\"StatementOptionHelp\":{\"#cdata\":\"Determines whether the macro processor displays the characters you are entering into a macro variable \\nvalue as you enter them.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"YES\",\"@Value2\":\"NO\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"The macro processor displays the characters as you enter them.\",\"@ToolTip2\":\"The macro processor does not display the characters as you enter them.\"}},{\"StatementOptionName\":\"PROTECT=|P=\",\"StatementOptionHelp\":{\"#cdata\":\"Controls whether information can be entered into a field containing a macro variable.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"YES\",\"@Value2\":\"NO\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"If you specify PROTECT=YES, you cannot enter information into a field. Use the PROTECT= option only  for fields containing macro variables; fields containing text are automatically protected.\",\"@ToolTip2\":\"If you specify PROTECT=NO (the default value), you can enter information.\"}},{\"StatementOptionName\":\"REQUIRED=\",\"StatementOptionHelp\":{\"#cdata\":\"Determines whether you must enter a value for the macro variable in that field.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"YES\",\"@Value2\":\"NO\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"If you specify REQUIRED=YES, you must enter a value into that field in order to remove the display  from the window. You cannot enter a null value into a required field.\",\"@ToolTip2\":\"If you specify REQUIRED=NO (the default value), you do not have to enter a value in that field in  order to remove the display from the window. Entering a command on the command line of the window  removes the effect of REQUIRED=YES.\"}}]}},{\"StatementName\":\"%INCLUDE\",\"StatementHelp\":{\"#cdata\":\"%INCLUDE source(s) </<SOURCE2> <S2=length> <operating-environment-options>>; \\n      \\nBrings a SAS programming statement, data lines, or both, into a current SAS program.\"},\"StatementOptions\":{\"StatementOption\":[{\"StatementOptionName\":\"SOURCE2\",\"StatementOptionHelp\":{\"#cdata\":\"Causes the SAS log to show the source statements that are being included in your SAS program.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"S2=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: S2=length] \\n          \\nSpecifies the length of the record to be used for input. \\n          \\nLength can have these values: \\n\\n  S \\n  sets S2 equal to the current setting of the S= SAS system option.\\n   \\n  0 \\n  tells SAS to use the setting of the SEQ= system option to determine whether the line contains \\n  a sequence field. If the line does contain a sequence field, SAS determines line length by \\n  excluding the sequence field from the total length.\\n   \\n  n \\n  specifies a number greater than zero that corresponds to the length of the line to be read, \\n  when the file contains fixed-length records. When the file contains variable-length records, n \\n  specifies the column in which to begin reading data.\"},\"StatementOptionType\":\"V\"}]}},{\"StatementName\":\"%LIST\",\"StatementHelp\":{\"#cdata\":\"Displays lines that are entered in the current session.\\n      \\nSyntax: %LIST<n <:m | - m>>; \\n\\nwhere\\n\\n  n - means display line n.\\n\\n  n-m - means display lines n through m; can be written as n:m\"},\"StatementOptions\":null},{\"StatementName\":\"PROC\",\"StatementHelp\":{\"#cdata\":\"Syntax: PROC procedure-name <options>;\\n    \\nBegins a PROC step. The PROC step consists of a group of SAS statements that call and execute\\na procedure, usually with a SAS data set as input.\"},\"StatementOptions\":null},{\"StatementName\":\"DATA\",\"StatementHelp\":{\"#cdata\":\"Begins a DATA step and provides names for any output SAS data sets, views, or programs. \\n    \\nSyntax: \\n    \\n(1) DATA <data-set-name-1 <(data-set-options-1)>> \\n      <... data-set-name-n <(data-set-options-n)>> </ <DEBUG> <NESTING> <STACK = stack-size>> <NOLIST>;  \\n\\n(2) DATA _NULL_ </ <DEBUG> <NESTING> <STACK = stack-size>> <NOLIST>;  \\n\\n(3) DATA view-name <data-set-name-1 <(data-set-options-1)>> \\n      <... data-set-name-n <(data-set-options-n)>> / \\n      VIEW=view-name <(<password-option><SOURCE=source-option>)> <NESTING> <NOLIST>;  \\n\\n(4) DATA data-set-name / PGM=program-name <(<password-option><SOURCE=source-option>)> <NESTING> <NOLIST>;  \\n\\n(5) DATA VIEW=view-name <(password-option)> <NOLIST>;  \\n      DESCRIBE;  \\n \\n(6) DATA PGM=program-name <(password-option)> <NOLIST>;  \\n      <DESCRIBE;>  \\n      <REDIRECT INPUT | OUTPUT old-name-1 = new-name-1<... old-name-n = new-name-n>;>  \\n      <EXECUTE;>\"},\"StatementOptions\":null},{\"StatementName\":\"SIGNON\",\"StatementHelp\":{\"#cdata\":\"Syntax: SIGNON <options> ;\\n    \\nInitiates a connection between a client session and a server session.\"},\"StatementOptions\":null},{\"StatementName\":\"SIGNOFF\",\"StatementHelp\":{\"#cdata\":\"Syntax: SIGNOFF <options> \\n    \\nEnds the connection between a client session and a server session.\"},\"StatementOptions\":null},{\"StatementName\":\"RSUBMIT\",\"StatementHelp\":{\"#cdata\":\"Syntax: RSUBMIT <options>;  ENDRSUBMIT <CANCEL>;  \\n   RDISPLAY <CONNECTREMOTE=><server-ID;>  \\n   RGET <CONNECTREMOTE=><server-ID>;  \\n   %SYSRPUT macro-variable=value;  \\n   %SYSLPUT macro-variable=value </REMOTE=server-ID>;  \\n   WAITFOR <_ANY_ | _ALL_> task1...taskn <TIMEOUT=seconds>;  \\n   LISTTASK <_ALL_ | task>;  \\n   KILLTASK <_ALL_ | task1...taskn>;  \\n    \\nMarks the beginning of a block of statements that a client session submits to a server\\nsession for execution.\"},\"StatementOptions\":null},{\"StatementName\":\"ENDRSUBMIT\",\"StatementHelp\":{\"#cdata\":\"Marks the end of a block of statements that a client session submits to a server session \\nfor execution.\"},\"StatementOptions\":null},{\"StatementName\":\"SYSTASK\",\"StatementHelp\":{\"#cdata\":\"Syntax: SYSTASK COMMAND \\\"operating system command\\\"\\n  <WAIT | NOWAIT>\\n  <TASKNAME=taskname>\\n  <MNAME=name-var>\\n  <STATUS=stat-var>\\n  <SHELL<=\\\"shell-command\\\">>;  \\n  SYSTASK LIST <_ALL_ | taskname> <STATE> <STATVAR>;  \\n  SYSTASK KILL taskname <taskname...>;   \\n    \\nExecutes, lists, or terminates asynchronous tasks.\"},\"StatementOptions\":null},{\"StatementName\":\"LISTTASK\",\"StatementHelp\":{\"#cdata\":\"Syntax: LISTTASK <_ALL_|task> ; \\n    \\nLists all active connections or tasks and identifies the execution status of each connection or task.\"},\"StatementOptions\":null},{\"StatementName\":\"KILLTASK\",\"StatementHelp\":{\"#cdata\":\"Syntax: KILLTASK _ALL_ |task1...taskn ;\\n    \\nFor asynchronous tasks, forces one or more active tasks or server sessions to terminate immediately.\"},\"StatementOptions\":null},{\"StatementName\":\"RDISPLAY\",\"StatementHelp\":{\"#cdata\":\"Syntax: RDISPLAY <<CONNECTREMOTE=>server-ID >;\\n    \\nCreates a Log window to display the lines from the log and an Output window to list the output \\ngenerated from the execution of the statements within an asynchronous RSUBMIT block.\"},\"StatementOptions\":null},{\"StatementName\":\"RGET\",\"StatementHelp\":{\"#cdata\":\"Syntax: RGET <<CONNECTREMOTE=>server-ID>;\\n    \\nRetrieves the log and output that are created by an asynchronous RSUBMIT and merges them into the\\nLog and Output windows of the client session.\"},\"StatementOptions\":null},{\"StatementName\":\"WAITFOR\",\"StatementHelp\":{\"#cdata\":\"Syntax: WAITFOR<_ANY_ | _ALL_> taskname <taskname...><TIMEOUT=seconds>;\\n    \\nSuspends execution of the current SAS session until the specified tasks finish executing.\"},\"StatementOptions\":null},{\"StatementName\":\"SYSECHO\",\"StatementHelp\":{\"#cdata\":\"Syntax: SYSECHO <\\\"text\\\">; \\n\\nFires a global statement complete event and passes a text string back to the IOM client.\"},\"StatementOptions\":null},{\"StatementName\":\"GOTO|GO TO\",\"StatementHelp\":{\"#cdata\":\"Syntax: GOTO label;\\n      \\nJumps to a new statement.\"},\"StatementOptions\":null},{\"StatementName\":\"%MEND\",\"StatementHelp\":{\"#cdata\":\"Syntax: %MEND <macro-name>;]\\n    \\nEnds a macro definition.\"},\"StatementOptions\":null},{\"StatementName\":\"IF\",\"StatementHelp\":{\"#cdata\":\"Executes a SAS statement for observations that meet specific conditions. \\n\\nSyntax: \\n(1) IF expression THEN statement; \\n    <ELSE statement;> \\n(2) IF condition;\"},\"StatementOptions\":{\"StatementOption\":[{\"StatementOptionName\":\"THEN\",\"StatementOptionHelp\":{\"#cdata\":\"If the conditions that are specified in the IF clause are met, the IF-THEN statement executes a SAS \\nstatement for observations that are read from a SAS data set, for records in an external file, or \\nfor computed values.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"DO\",\"StatementOptionHelp\":{\"#cdata\":\"DO statement in an IF-THEN-DO construct.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"WHEN\",\"StatementOptionHelp\":{\"#cdata\":\"WHEN statement in an IF-THEN-WHEN construct.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"NOT\",\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"OR\",\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"AND\",\"StatementOptionType\":\"S\"}],\"#comment\":{}}},{\"StatementName\":\"ELSE\",\"StatementHelp\":{\"#cdata\":\"If the condition in an IF-THEN statement is false and an ELSE statement is present, \\nthen the ELSE action is carried out.\"},\"StatementOptions\":{\"StatementOption\":[{\"StatementOptionName\":\"THEN\",\"StatementOptionHelp\":{\"#cdata\":\"If the conditions that are specified in the IF clause are met, the IF-THEN statement executes a SAS \\nstatement for observations that are read from a SAS data set, for records in an external file, or \\nfor computed values.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"IF\",\"StatementOptionHelp\":{\"#cdata\":\"Executes a SAS statement for observations that meet specific conditions.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"NOT\",\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"OR\",\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"AND\",\"StatementOptionType\":\"S\"}],\"#comment\":{}}}]}}}"
  },
  {
    "path": "server/data/Procedures/ODS.json",
    "content": "{\"Procedure\":{\"#comment\":{},\"Name\":\"ODS\",\"ProductGroup\":\"BASE\",\"ProcedureHelp\":{\"#cdata\":\"\"},\"ProcedureOptions\":null,\"ProcedureStatements\":{\"ProcedureStatement\":[{\"StatementName\":\"ODS LISTING\",\"StatementHelp\":{\"#cdata\":\"Opens, manages, or closes the LISTING destination. \\n      \\nSyntax: \\n(1) ODS LISTING <action>;  \\n(2) ODS LISTING <DATAPANEL=number | DATA | PAGE > <FILE=file-specification>; \"},\"StatementOptions\":{\"StatementOption\":[{\"StatementOptionName\":\"CLOSE\",\"StatementOptionHelp\":{\"#cdata\":\"Closes the LISTING destination and any files that are associated with it.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"EXCLUDE\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: EXCLUDE exclusion(s)| ALL | NONE \\n          \\nExcludes one or more output objects from the LISTING destination.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"EXCLUDE ALL\",\"StatementOptionHelp\":{\"#cdata\":\"Excludes all output objects from the LISTING destination.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"EXCLUDE NONE\",\"StatementOptionHelp\":{\"#cdata\":\"Excludes no output objects from the LISTING destination.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"SELECT\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: SELECT selection(s) | ALL | NONE \\n          \\nSelects output objects for the LISTING destination.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"SHOW\",\"StatementOptionHelp\":{\"#cdata\":\"Writes the current selection or exclusion list for the listing destination to the SAS log.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"DATAPANEL=\",\"StatementOptionHelp\":{\"#cdata\":\"Suggests how to split a table that is too wide to fit on a single page into sections of columns and \\nrows. Each section of columns and rows is a data panel. Each data panel has column headings at the top.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"<number>\",\"@Value2\":\"DATA\",\"@Value3\":\"PAGE\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Writes the specified number of observations in a panel, if possible. More than one  panel can occur on every page if space permits.   Range: 1 to the largest integer that the operating system supports.\",\"@ToolTip2\":\"Bases the size of the panel on the way that the table is stored in memory. This value  provides the fastest performance. However, if the table contains many columns, the  number of rows in each panel might be small.\",\"@ToolTip3\":\"Tries to make panels that match the page size. If the table contains more columns  than can fit on a page, the first page is filled with as many observations as  possible for as many columns as can fit on a single line. The second page  contains the same observations for the next group of columns, and so on,  until all rows and columns have been printed.\"}},{\"StatementOptionName\":\"DEVICE=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: DEVICE= device-driver] \\n          \\nSpecifies the name of a device driver. ODS automatically selects an optimal default \\ndevice for each open output destination. \\n\\nThe following table lists the default devices for the most common ODS output destinations. These default devices \\nare used when graphics are created using SAS/GRAPH or ODS Graphics. \\n\\nOutput Destination Default Device\\nEPUB            PNG\\nHTML            PNG\\nHTML5           SVG\\nLISTING         PNG\\nMeasured RTF    EMF\\nRTF             EMF\\nMarkup Tagsets  PNG\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"FILE=\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: FILE=file-specification\\n          \\nSpecifies the file to write to. file-specification is one of the following:\\n\\n  'external-file' \\n  is the name of an external file to which to write.\\n\\n  fileref \\n  is a file reference that has been assigned to an external file.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"GPATH=\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: GPATH= file-specification <(url='Uniform-Resource-Locator' | NONE)> \\n\\nSpecifies the location for all graphics output that is generated while the destination is open. \\n\\nfile-specification \\nspecifies the file or SAS catalog to which to write. file-specification is one of the following:\\n\\n    external-file \\n    is the name of an external file to write to.\\n    Requirement: You must enclose external-file in quotation marks. \\n\\n    fileref \\n    is a file reference that has been assigned to an external file.\\n    \\n    libref.catalog \\n    specifies a SAS catalog to which to write.\\n\\nURL= 'Uniform-Resource-Locator' | NONE \\nspecifies a URL for file-specification. \\n\\n    Uniform-Resource-Locator \\n    is the URL you specify. ODS uses this URL instead of the filename in all the links and references \\n    that it creates to the file.\\n\\n      Requirement: You must enclose Uniform-Resource-Locator in quotation marks. \\n\\n    NONE \\n    specifies that no information from the GPATH= option appears in the links or references.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"URL=\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: URL= 'Uniform-Resource-Locator' | NONE \\n\\nSpecifies a URL for file-specification. \\n\\n    Uniform-Resource-Locator \\n    is the URL you specify. ODS uses this URL instead of the filename in all the links and references \\n    that it creates to the file.\\n\\n      Requirement: You must enclose Uniform-Resource-Locator in quotation marks. \\n\\n    NONE \\n    specifies that no information from the GPATH= option appears in the links or references.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"IMAGE_DPI=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies the image resolution of ODS graphics output. Output from device-based graphics is not \\naffected. Default: 100\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"PACKAGE\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: PACKAGE <package-name>] \\n          \\nSpecifies that the output from the destination be added to a package.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"SGE=\",\"StatementOptionHelp\":{\"#cdata\":\"Determines whether you can edit ODS graphics output with the ODS Graphics Editor.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"ON\",\"@Value2\":\"OFF\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Turns on the ability to edit ODS graphics output with the ODS Graphics Editor.\",\"@ToolTip2\":\"Turns off the ability to edit ODS graphics output with the ODS Graphics Editor.\"}}]}},{\"StatementName\":\"ODS DOCUMENT\",\"StatementHelp\":{\"#cdata\":\"Opens, manages, or closes the DOCUMENT destination, which produces a hierarchy of output \\nobjects that enables you to produce multiple ODS output formats without rerunning a PROC \\nor DATA step. \\n\\nSyntax:\\n(1) ODS DOCUMENT action;  \\n\\n(2) ODS DOCUMENT  \\n    <NAME=<libref.>member-name <(access-option)>>  \\n    <DIR=(<PATH=path<(access-option)> <LABEL=\\\"label\\\">> )>  \\n    <CATALOG=permanent-catalog | _NULL_>;\"},\"StatementOptions\":{\"StatementOption\":[{\"StatementOptionName\":\"EXCLUDE\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: EXCLUDE exclusion(s)| ALL | NONE \\n          \\nExcludes one or more output objects from the DOCUMENT destination.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"EXCLUDE ALL\",\"StatementOptionHelp\":{\"#cdata\":\"Excludes all output objects from the DOCUMENT destination.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"EXCLUDE NONE\",\"StatementOptionHelp\":{\"#cdata\":\"Excludes no output objects from the DOCUMENT destination.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"CLOSE\",\"StatementOptionHelp\":{\"#cdata\":\"Closes the destination and any files that are associated with it.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"SELECT\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: SELECT selection(s) | ALL | NONE \\n          \\nSelects one or more output objects for the DOCUMENT destination.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"SELECT ALL\",\"StatementOptionHelp\":{\"#cdata\":\"Selects all output objects for the DOCUMENT destination.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"SELECT NONE\",\"StatementOptionHelp\":{\"#cdata\":\"Selects no output objects for the DOCUMENT destination.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"SHOW\",\"StatementOptionHelp\":{\"#cdata\":\"Writes the current selection or exclusion list for the destination to the SAS log.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"CATALOG=|CAT=\",\"StatementOptionHelp\":{\"#cdata\":\"By default, no value is assigned to CATALOG=, which means that temporary GRSEGs \\nare not copied to a permanent catalog.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"<permanent-catalog>\",\"@Value2\":\"_NULL_\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Copies any temporary GRSEG to the specified permanent catalog and keeps a reference  to the permanent GRSEG in the document. This value persists until the ODS DOCUMENT  statement is closed, or until you delete it by specifying CATALOG=_NULL_.  The permanent catalog has the following form:     <libref.><member-name>;\",\"@ToolTip2\":\"Deletes the catalog name that was previously specified for the CATALOG= option.  Thereafter, temporary GRSEGs are not copied into the permanent catalog, and thus  are unavailable in subsequent sessions.\"}},{\"StatementOptionName\":\"DIR=\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: DIR= (<PATH=path <(access-option)>> <LABEL='label'>); \\n          \\nSpecifies the directory path and/or label for ODS output. \\n\\nLABEL=label \\nassigns a label to a path.\\n\\nPATH= path <(access-option)> \\nis specified as a sequence of entries that are delimited by backslashes.\\n\\n  path can have the form: \\n\\n    path<#sequence-number>  \\n    where path is the name of the path.\\n\\n    #sequence-number \\n    is a number which, when combined with a pathname, uniquely identifies the entry \\n    in the directory that contains it. \\n\\n  access-option \\n  specifies the access mode for the ODS document. \\n\\n    WRITE -- opens a document and provides write access as well as read access. \\n\\n    UPDATE -- opens an ODS document and appends new content to the document. UPDATE \\n    provides update access as well as read access.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"PATH=\",\"StatementOptionHelp\":{\"#cdata\":\"Is specified as a sequence of entries that are delimited by backslashes.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"LABEL=\",\"StatementOptionHelp\":{\"#cdata\":\"Assigns a label to a path.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"WRITE\",\"StatementOptionHelp\":{\"#cdata\":\"[access-option] \\n          \\nOpens a document and provides write access as well as read access.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"UPDATE\",\"StatementOptionHelp\":{\"#cdata\":\"[access-option] \\n          \\nOpens an ODS document and appends new content to the document. UPDATE provides \\nupdate access as well as read access.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"NAME=\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: NAME= <libref.>member-name<(access-option)> \\nwhere:\\n\\nlibref \\nspecifies the SAS library where the document is stored.\\n\\n  Default: If no library name is specified, the WORK library is used. \\n\\nmember-name \\nspecifies the document name.\\n\\naccess-option \\nspecifies the access mode for the ODS document. \\n\\n  WRITE \\n  opens a document and provides write access as well as read access. \\n\\n  UPDATE \\n  opens an ODS document and appends new content to the document. UPDATE provides update access as well \\n  as read access.\"},\"StatementOptionType\":\"V\"}]}},{\"StatementName\":\"ODS OUTPUT\",\"StatementHelp\":{\"#cdata\":\"Produces a SAS data set from an output object and manages the selection and exclusion lists \\nfor the OUTPUT destination. \\n\\nSyntax:\\n(1) ODS OUTPUT action;  \\n(2) ODS OUTPUT data-set-definition(s);\"},\"StatementOptions\":{\"StatementOption\":[{\"StatementOptionName\":\"CLOSE\",\"StatementOptionHelp\":{\"#cdata\":\"Closes the OUTPUT destination. When an ODS destination is closed, ODS does not send \\noutput to that destination. Closing a destination frees some system resources.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"CLEAR\",\"StatementOptionHelp\":{\"#cdata\":\"Sets the list for the OUTPUT destination to EXCLUDE ALL.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"SHOW\",\"StatementOptionHelp\":{\"#cdata\":\"Writes to the SAS log the current selection or exclusion list for the OUTPUT destination. \\nIf the list is the default list (EXCLUDE ALL), then SHOW also writes the current overall \\nselection or exclusion list.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"MATCH_ALL=\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: MATCH_ALL=<macro-var-name> \\n\\nCreates a new data set for each output object.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"PERSIST=\",\"StatementOptionHelp\":{\"#cdata\":\"Determines when ODS closes any data sets that it is creating, and determines when ODS \\nremoves output objects from the selection list for the OUTPUT destination.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"PROC\",\"@Value2\":\"RUN\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Maintains the list of definitions even after the procedure ends, until you explicitly modify it.\",\"@ToolTip2\":\"Maintains the list of definitions and keeps open the data sets that it is creating even if the  procedure or DATA step ends, or until you explicitly modify the list.\"}},{\"StatementOptionName\":\"NOWARN\",\"StatementOptionHelp\":{\"#cdata\":\"Suppresses the warning that an output object was requested but not created.\"},\"StatementOptionType\":\"S\"}]}},{\"StatementName\":\"ODS GRAPHICS\",\"StatementHelp\":{\"#cdata\":\"Syntax: ODS GRAPHICS <OFF | ON> </ option(s)>; \\n      \\n Enables or disables ODS graphics processing and sets graphics environment options. \\n This statement affects ODS template-based graphics only. The ODS GRAPHICS statement \\n does not affect device-based graphics.\"},\"StatementOptions\":{\"StatementOption\":[{\"StatementOptionName\":\"OFF\",\"StatementOptionHelp\":{\"#cdata\":\"Disables ODS Graphics processing.\"},\"StatementOptionType\":\"RS\"},{\"StatementOptionName\":\"ON\",\"StatementOptionHelp\":{\"#cdata\":\"Enables ODS Graphics processing. This is the default if no argument is used.\"},\"StatementOptionType\":\"RS\"},{\"StatementOptionName\":\"ANTIALIAS=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies whether anti-aliasing is applied to the rendering of the line and markers in any graph.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"OFF\",\"@Value2\":\"ON\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Does not smooth jagged edges of components other than text in the graph.\",\"@ToolTip2\":\"Smooths jagged edges of all components in the graph.\"}},{\"StatementOptionName\":\"ANTIALIAS\",\"StatementOptionHelp\":{\"#cdata\":\"Smooths jagged edges of all components in the graph.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"NOANTIALIAS\",\"StatementOptionHelp\":{\"#cdata\":\"Does not smooth jagged edges of components other than text in the graph.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"ANTIALIASMAX=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies the maximum number of markers or lines to be anti-aliased before anti-aliasing \\nis disabled. \\n\\nDefault: 4000\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"ATTRPRIORITY=\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: ATTRPRIORITY=AUTO | COLOR | NONE \\n          \\nSpecifies a priority for cycling of the group attributes. \\n\\nDefault: AUTO\\nInteraction: The default lists of data colors, contrast colors, marker symbols, and line patterns are\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"AUTO\",\"@Value2\":\"COLOR\",\"@Value3\":\"NONE\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Honors the attribute priority that is set by the active style\\u2019s AttrPriority attribute, if present.\",\"@ToolTip2\":\"Assigns priority to the color attribute rotation by cycling through the list of colors while holding  the marker symbol and line pattern constant. When all of the colors are exhausted, the marker symbol and line  style attributes increment to the next element, and then the colors in the list are repeated. This pattern  repeats as needed.\",\"@ToolTip3\":\"Does not use an attribute priority in the rotation pattern, even if one is set in the active style\\u2019s AttrPriority attribute. The rotation pattern cycles progressively through the attribute lists.\"}},{\"StatementOptionName\":\"BORDER=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies whether to draw a border around the graph.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"OFF\",\"@Value2\":\"ON\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Specifies not to draw a border around the graph.\",\"@ToolTip2\":\"Specifies to draw a border around the graph.\"}},{\"StatementOptionName\":\"BORDER\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies whether to draw a border around the graph.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"NOBORDER\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies not to draw a border around any graph.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"BYLINE=\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: BYLINE=NOBYLINE | TITLE | FOOTNOTE \\n          \\nSpecifies how the BY group line is displayed in graphs when an analysis is run with a BY statement. \\nBy default, no BY line is displayed. \\n\\nDefault\\nNOBYLINE\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"NOBYLINE\",\"@Value2\":\"TITLE\",\"@Value3\":\"FOOTNOTE\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Specifies that no BY line is displayed. NOBYLINE is the default.\",\"@ToolTip2\":\"Specifies that the BY line is displayed as a left-justified graph footnote. This is the recommended setting.\",\"@ToolTip3\":\"Specifies that the BY line is displayed as a centered graph title. Specifying TITLE is not recommended  because graphs are not designed to have additional title lines.\"}},{\"StatementOptionName\":\"DATASKINMAX=\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: DATASKINMAX=n \\n          \\nSpecifies the maximum number of skinned graphical elements allowed per plot. \\n\\nn\\n  specifies a positive integer.\\n  Default: 200\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"DISCRETEMAX=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies the maximum number of discrete values to be shown in any graph. \\n          \\nDefault: 1000\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"DRILLTARGET=\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: DRILLTARGET=\\\"_BLANK\\\" | \\\"_SELF\\\" | \\\"<frame-name>\\\" \\n          \\nSpecifies the window that displays the drill-down output. \\n\\nDefault: _SELF\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"_BLANK\",\"@Value2\":\"_SELF\",\"@Value3\":\"<frame-name>\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Opens a new browser window to display the drilldown output.  Requirements: You must enclose _BLANK in quotation marks. You must specify _BLANK in lowercase.\",\"@ToolTip2\":\"Opens the drill-down output the same window.  Requirements: You must enclose _SELF in quotation marks. You must specify _SELF in lower case.\",\"@ToolTip3\":\"Opens the drill down output in the named frame in the current window. If the name does not exist,  the output is opened in a new window.  Requirement You must enclose frame\\u2013name in quotation marks.\"}},{\"StatementOptionName\":\"GROUPMAX=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies the maximum number of group values to be shown in any graph. Any graph \\nthat supports the GROUP= option is affected. \\n\\nDefault: 1000\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"HEIGHT=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies the height of any graph.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"IMAGEFMT=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: IMAGEFMT=image-file-type | STATIC] \\n          \\nSpecifies the image format to be used. If the image format is not valid for the \\nactive output destination, the format is automatically changed to the default \\nimage format for that destination.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"BMP\",\"@Value2\":\"DIB\",\"@Value3\":\"EMF\",\"@Value4\":\"EPSI\",\"@Value5\":\"GIF\",\"@Value6\":\"JFIF\",\"@Value7\":\"JPEG\",\"@Value8\":\"PBM\",\"@Value9\":\"PDF\",\"@Value10\":\"PNG\",\"@Value11\":\"PS\",\"@Value12\":\"SASEMF\",\"@Value13\":\"TIFF\",\"@Value14\":\"WMF\",\"@Value15\":\"STATIC\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Microsoft Windows Device Independent Bitmap\",\"@ToolTip2\":\"Microsoft Windows Device Independent Bitmap\",\"@ToolTip3\":\"Microsoft NT Enhanced Metafile\",\"@ToolTip4\":\"Microsoft NT Enhanced Metafile\",\"@ToolTip5\":\"Graphics Interchange Format\",\"@ToolTip6\":\"JPEG File Interchange Format\",\"@ToolTip7\":\"Joint Photographic Experts Group\",\"@ToolTip8\":\"Portable Bitmap Utilities\",\"@ToolTip9\":\"Portable Document Format\",\"@ToolTip10\":\"Portable Network Graphic\",\"@ToolTip11\":\"PostScript Image File Format\",\"@ToolTip12\":\"Enhanced Metafile\",\"@ToolTip13\":\"Tagged Image File Format\",\"@ToolTip14\":\"Microsoft Windows Metafile\",\"@ToolTip15\":\"Uses the best quality static image format for the active output destination.  This is the default.\"}},{\"StatementOptionName\":\"IMAGEMAP=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies to generate data tips.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"OFF\",\"@Value2\":\"ON\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Specifies not to generate data tips.\",\"@ToolTip2\":\"Specifies to generate data tips.\"}},{\"StatementOptionName\":\"IMAGEMAP\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies to generate data tips.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"NOIMAGEMAP\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies not to generate data tips.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"IMAGENAME=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: IMAGENAME=\\\"filename\\\"] \\n          \\nSpecifies the base image filename.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"LABELMAX=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: LABELMAX= n] \\n          \\nSpecifies the maximum number of labeled areas before labeling is disabled. \\n\\nDefault: 200\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"LABELPLACEMENT=\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: LABELPLACEMENT= GREEDY | SA \\n          \\nSpecifies the label-placement algorithm to use for positioning labels in the graphs.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"GREEDY\",\"@Value2\":\"SA\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Specifies the Greedy method for managing label collision.\",\"@ToolTip2\":\"Specifies the Simulated Annealing method for managing label collision.\"}},{\"StatementOptionName\":\"LEGENDAREAMAX=|MAXLEGENDAREA=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: MAXLEGENDAREA= n] \\n          \\nSpecifies an integer that is interpreted as the maximum percentage of the \\noverall graphics area that a legend can occupy. \\n\\nDefault: 20\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"LOESSOBSMAX=|LOESSMAXOBS=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: LOESSOBSMAX=n \\n\\nSpecifies an upper limit for the number of observations that can be used with a loess plot.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"NBINSMAX=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: NBINSMAX=n \\n          \\nSpecifies the maximum number of bins that are processed for histograms.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"NXYBINSMAX=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: NXYBINSMAX=n \\n\\nSpecifies the maximum number of bins that are processed for heat maps.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"OBSMAX=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: OBSMAX=n \\n\\nSpecifies the maximum number of observations that are processed.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"OUTPUTFMT=\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: OUTPUTFMT= file\\u2013type | STATIC \\n          \\nSpecifies the format to be used. If the image or vector graphic format is not valid for the active \\noutput destination, the format is automatically changed to the default format for that destination.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"<file\\u2013type>\",\"@Value2\":\"STATIC\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Is the image or vector graphic format to be generated. See \\u201cSupported File Types for Output Destinations\\u201d on page 306.\",\"@ToolTip2\":\"Uses the best quality static image format for the active output destination. This is the default output format.                                      TIP: The STATIC keyword can be used to reset the output format to its default state.\"}},{\"StatementOptionName\":\"PANELCELLMAX=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: PANELCELLMAX=n] \\n          \\nSpecifies the maximum number of cells in a graph panel where the number of \\ncells is determined dynamically by classification variables. \\n\\nDefault: 10000\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"PUSH|POP\",\"StatementOptionHelp\":{\"#cdata\":\"Pushes and pops ODS GRAPHICS settings in a stack.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"RESET\",\"StatementOptionHelp\":{\"#cdata\":\"Resets all of the options to their defaults.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"RESET=\",\"StatementOptionHelp\":{\"#cdata\":\"Resets the specified option to its default value.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"ALL\",\"@Value2\":\"ANTIALIAS\",\"@Value3\":\"ANTIALIASMAX\",\"@Value4\":\"ATTRPRIORITY\",\"@Value5\":\"BORDER\",\"@Value6\":\"INDEX\",\"@Value7\":\"HEIGHT\",\"@Value8\":\"IMAGEMAP\",\"@Value9\":\"LABELMAX\",\"@Value10\":\"SCALE\",\"@Value11\":\"TIPMAX\",\"@Value12\":\"WIDTH\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Resets all of the reset-options to their defaults.\",\"@ToolTip2\":\"Resets the ANTIALIAS option to its default.\",\"@ToolTip3\":\"Resets the ANTIALIASMAX option to its default.\",\"@ToolTip4\":\"Resets the BORDER= option to its default.\",\"@ToolTip5\":\"Resets the ATTRPRIORITY= option to its default.\",\"@ToolTip6\":\"Resets the index counter that is appended to static image files.\",\"@ToolTip7\":\"Resets the HEIGHT= option to its default.\",\"@ToolTip8\":\"Resets the IMAGEMAP= option to its default.\",\"@ToolTip9\":\"Resets the LABELMAX= option to its default.\",\"@ToolTip10\":\"Resets the SCALE= option to its default.\",\"@ToolTip11\":\"Resets the TIPMAX= option to its default.\",\"@ToolTip12\":\"Resets the WIDTH= option to its default.\"}},{\"StatementOptionName\":\"SCALE=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies the width of any graph. Requires a nonnegative number.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"OFF\",\"@Value2\":\"ON\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Does not scale the components of graph proportionally.\",\"@ToolTip2\":\"Scales the components of graph proportionally.\"}},{\"StatementOptionName\":\"SCALE\",\"StatementOptionHelp\":{\"#cdata\":\"Scales the components of graph proportionally.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"NOSCALE\",\"StatementOptionHelp\":{\"#cdata\":\"Does not scale the components of graph proportionally.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"SCALEMARKERS=\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: SCALEMARKERS=YES | NO | ON | OFF \\n          \\nSpecifies whether the plot markers are to be scaled with the graph size. The scaling factor \\nis based on the height of the graph cells and the height of the graph. \\n\\nDefault: ON\\nRestriction: Scaling is done only if the graph contains multiple cells or single nested cells.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"YES\",\"@Value2\":\"NO\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Specifies that the plot markers are to be scaled with the graph size.\",\"@ToolTip2\":\"Specifies that the plot markers are not scaled with the graph size.\"}},{\"StatementOptionName\":\"SHOW\",\"StatementOptionHelp\":{\"#cdata\":\"Writes the current ODS Graphics settings to the SAS log.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"STACKDEPTHMAX=\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: STACKDEPTHMAX=n \\n          \\nSpecifies the maximum stack depth for PUSH and POP requests.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"SUBPIXEL=\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: SUBPIXEL=ON | OFF\\n          \\nSpecifies whether subpixel rendering should be used for rendering ODS Graphics.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"ON\",\"@Value2\":\"OFF\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Always uses subpixel rendering, when applicable, for rendering lines and bars. \",\"@ToolTip2\":\"Never uses subpixel rendering. \"}},{\"StatementOptionName\":\"SUBPIXEL\",\"StatementOptionHelp\":{\"#cdata\":\"Always uses subpixel rendering, when applicable, for rendering lines and bars.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"NOSUBPIXEL\",\"StatementOptionHelp\":{\"#cdata\":\"Never uses subpixel rendering.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"TIPMAX=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: TIPMAX=n] \\n          \\nSpecifies the maximum number of distinct mouse-over areas allowed before data tips \\nare disabled. Default: 500\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"TOTALCELLMAX=\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: TOTALCELLMAX=n \\n          \\nSpecifies the maximum number of total cells in a graph where the number of cells is determined \\ndynamically by classification variables.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"WIDTH=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: WIDTH=dimension] \\n          \\nSpecifies the width of any graph. Requires a nonnegative number.\"},\"StatementOptionType\":\"V\"}]}},{\"StatementName\":\"ODS MARKUP|ODS HTML|ODS CHTML|ODS HTMLCSS|ODS HTML3|ODS IMODE|ODS PHTML|ODS CSVALL|ODS DOCBOOK|ODS WML|ODS SASREPORT|ODS TROFF|ODS HTML4|ODS LATEX|ODS WMLOLIST\",\"StatementHelp\":{\"#cdata\":\"Opens, manages, or closes the specified destination, which produces SAS output that is formatted using \\none of many different markup languages.\\n      \\nSyntax: \\nODS MARKUP|HTML|CHTML|HTMLCSS|HTML3|IMODE|PHTML|CSVALL|DOCBOOK|WML|SASREPORT|TROFF|\\n  HTML4|LATEX|WMLOLIST<(<ID=>identifier)> <action>;  \\nODS MARKUP|HTML|CHTML|HTMLCSS|HTML3|IMODE|PHTML|CSVALL|DOCBOOK|WML|SASREPORT|TROFF|\\n  HTML4|LATEX|WMLOLIST<(<ID=>identifier)> <option(s)><TAGSET=tagset-name> <action>;\"},\"StatementOptions\":{\"StatementOption\":[{\"StatementOptionName\":\"EXCLUDE\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: EXCLUDE exclusion(s)| ALL | NONE \\n          \\nExcludes one or more output objects from the destination.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"EXCLUDE ALL\",\"StatementOptionHelp\":{\"#cdata\":\" Excludes all output objects from the destination.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"EXCLUDE NONE\",\"StatementOptionHelp\":{\"#cdata\":\"Excludes no output objects from the destination.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"CLOSE\",\"StatementOptionHelp\":{\"#cdata\":\"Closes the destination and any files that are associated with it.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"SELECT\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: SELECT selection(s) | ALL | NONE \\n          \\nSelects one or more output objects for the specified destination.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"SELECT ALL\",\"StatementOptionHelp\":{\"#cdata\":\"Selects all output objects for the specified destination.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"SELECT NONE\",\"StatementOptionHelp\":{\"#cdata\":\"Selects no output objects for the specified destination.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"SHOW\",\"StatementOptionHelp\":{\"#cdata\":\"Writes the current selection or exclusion list for the destination to the SAS log.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"ANCHOR=\",\"StatementOptionType\":\"V\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: ANCHOR='anchor-name'] \\n          \\nSpecifies a unique base name for the anchor tag that identifies each output object \\nin the current body file.\"}},{\"StatementOptionName\":\"ARCHIVE=\",\"StatementOptionType\":\"V\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: ARCHIVE='string'] \\n          \\nThe ARCHIVE= option is only valid for the GOPTIONS Java device. The ARCHIVE= \\noption allows you to specify a string to identify which applet to use in order \\nto view the ODS HTML output.\"}},{\"StatementOptionName\":\"ATTRIBUTES=\",\"StatementOptionType\":\"V\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: ATTRIBUTES=(attribute-pair-1 ... attribute-pair-n)] \\n          \\nWrites the specified attributes between the tags that generate dynamic graphics output.\"}},{\"StatementOptionName\":\"BASE=\",\"StatementOptionType\":\"V\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: BASE= 'base-text'] \\n          \\nSpecifies the text to use as the first part of all links and references that ODS \\ncreates in the output files.\"}},{\"StatementOptionName\":\"BODY=|FILE=\",\"StatementOptionType\":\"V\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: BODY= 'file-specification' <sub-option(s)>] \\n          \\nOpens a MARKUP family destination and specifies the file that contains the primary \\noutput that is created by the ODS statement.\",\"SubOptionsKeywords\":\"NO_BOTTOM_MATTER|NO_TOP_MATTER|TITLE=|URL=|DYNAMIC\"}},{\"StatementOptionName\":\"BOX_SIZING=\",\"StatementOptionType\":\"V\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: BOX_SIZING=(CONTENT_BOX | BORDER_BOX)] \\n          \\nSpecifies how to measure the width of cells. This option overrides the default value of BOX_SIZING \\nfor a destination. The default value can be found in the SAS registry. In the SAS Registry, expand \\nthe ODS -> DESTINATION -> SCRIPT folder to locate the box_sizing= default for ODS EPUB destinations. \\nFor information about using the SAS Registry, see \\u201cChanging SAS Registry Settings for ODS\\u201d on page 44.\\n\\nBOX_SIZING is defined by the WC3 specification, the CSS3 Module. For more information, refer to the \\nCSS3 Box Model specification at http://www.w3.org/TR/2002/WD-css3-box-20021024/#box-sizing. \"}},{\"StatementOptionName\":\"CHARSET=\",\"StatementOptionType\":\"V\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: CHARSET=character-set] \\n          \\nSpecifies the character set to be generated in the META declaration for the \\nHTML output.\"}},{\"StatementOptionName\":\"CODE=\",\"StatementOptionType\":\"V\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: CODE= 'file-specification' <sub-option(s)>] \\n          \\nOpens a MARKUP family destination and specifies the file that contains relevant \\nstyle information, such as XSL (Extensible Stylesheet Language). \\n\\nsuboption(s)\\n  specifies one or more suboptions in parentheses. Suboptions are instructions for writing the output files. \\n  Suboptions can be the following:\\n    (DYNAMIC)\\n      enables you to send output directly to a web server instead of writing it to a file.    \\n    (URL= 'Uniform-Resource-Locator' )\\n      specifies a URL for the file-specification. ODS uses this URL (instead of the filename) in all the links \\n      and references that it creates and that point to the file.\"},\"SubOptionsKeywords\":\"NO_BOTTOM_MATTER|NO_TOP_MATTER|TITLE=|URL=|DYNAMIC\"},{\"StatementOptionName\":\"CODEBASE=\",\"StatementOptionType\":\"V\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: CODEBASE='string'] \\n          \\nCreates a file path that is used by the GOPTIONS devices.\"}},{\"StatementOptionName\":\"CONTENTS=\",\"StatementOptionType\":\"S\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: CONTENTS= 'file-specification' <(suboption(s))> \\n          \\nOpens a markup family destination and specifies the file that contains a table of contents for \\nthe output. These files remain open until you do one of the following:\\n\\n  o close the destination with either an ODS markup-family-destination CLOSE statement \\n    or ODS _ALL_ CLOSE statement.\\n\\n  o open the same destination with a second markup family statement. This closes the first \\n    file and opens the second file.\\n\\nfile-specification -- specifies the file, fileref, or SAS catalog to write to. \\n\\n  file-specification is one of the following:\\n\\n  external-file --  is the name of an external file to write to.\\n  Requirement: You must enclose external-file in quotation marks. \\n\\n  fileref -- is a file reference that has been assigned to an external file. Use the FILENAME \\n  statement to assign a fileref. \\n\\n  entry.markup -- specifies an entry in a SAS catalog to write to. \\n\\nsuboption(s) -- specifies one or more suboptions in parentheses. Suboptions are instructions for \\nwriting the output files. \\n    (DYNAMIC)\\n      enables you to send output directly to a web server instead of writing it to a file.   \\n    (NO_BOTTOM_MATTER)\\n      specifies that no ending markup language source code be added to the output file.\\n    (NO_TOP_MATTER)\\n      specifies that no beginning markup language source code be added to the top of the output file. \\n      For HTML 4.0, the NO_TOP_MATTER option removes the style sheet.\\n    (TITLE='title-text')\\n      inserts into the metadata of a file the text string that you specify as the text to appear in \\n      the browser window title bar. \\n    (URL= 'Uniform-Resource-Locator' )\\n      specifies a URL for the file-specification. ODS uses this URL (instead of the filename) in all \\n      the links and references that it creates and that point to the file.\"},\"SubOptionsKeywords\":\"NO_BOTTOM_MATTER|NO_TOP_MATTER|TITLE=|URL=|DYNAMIC\"},{\"StatementOptionName\":\"CSSSTYLE=\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: CSSSTYLE='file-specification'<(media-type-1 <...media-type-10>)> \\n    \\nSpecifies a cascading style sheet to apply to your output. \\n\\nfile-specification \\nspecifies a file, fileref, or URL that contains CSS code. \\n\\n    file-specification is one of the following:\\n\\n    \\\"external-file\\\" \\n    is the name of the external file.\\n    Requirement: You must enclose external-file in quotation marks. \\n\\n    fileref \\n    is a file reference that has been assigned to an external file. Use the FILENAME \\n    statement to assign a fileref. \\n\\n    \\\"URL\\\" \\n    is a URL to an external file.\\n    Requirement: You must enclose external-file in quotation marks. \\n\\n(media-type-1<.. media-type-10>) \\nspecifies one or more media blocks that corresponds to the type of media that your output will be \\nrendered on. CSS uses media type blocks to specify how a document is to be presented on different \\nmedia: on the screen, on paper, with a speech synthesizer, with a braille device, and so on.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"DEVICE=\",\"StatementOptionType\":\"V\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies the name of a device driver. ODS automatically selects an optimal default \\ndevice for each open output destination. \\n\\nThe following table lists the default devices for the most common ODS output destinations. These default devices \\nare used when graphics are created using SAS/GRAPH or ODS Graphics. \\n\\nOutput Destination Default Device\\nEPUB            PNG\\nHTML            PNG\\nHTML5           SVG\\nLISTING         PNG\\nMeasured RTF    EMF\\nRTF             EMF\\nMarkup Tagsets  PNG\"}},{\"StatementOptionName\":\"DOM\",\"StatementOptionType\":\"S|V\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: DOM<=\\\"external-file\\\">] \\n          \\nSpecifies that the ODS document object model is written to the SAS log or an external file. \\n\\nexternal-file\\n  is the name of an external output file.\\n\\n  Requirement: You must enclose external-file in quotation marks.\"}},{\"StatementOptionName\":\"ENCODING=\",\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"warabic\",\"@Value2\":\"'wbaltic'\",\"@Value3\":\"'wlatin2'\",\"@Value4\":\"'wcyrillic'\",\"@Value5\":\"'wgreek'\",\"@Value6\":\"'whebrew'\",\"@Value7\":\"'wturkish'\",\"@Value8\":\"'wvietnamese'\",\"@Value9\":\"'wlatin1'\",\"@Value10\":\"'utf-8'\",\"@Value11\":\"'ms-950'\",\"@Value12\":\"'ms-936'\",\"@Value13\":\"'ms-932'\",\"@Value14\":\"'ms-949'\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Arabic\",\"@ToolTip2\":\"Baltic\",\"@ToolTip3\":\"Central Europe\",\"@ToolTip4\":\"Cyrillic\",\"@ToolTip5\":\"Greek\",\"@ToolTip6\":\"Hebrew\",\"@ToolTip7\":\"Turkish\",\"@ToolTip8\":\"Vietnamese\",\"@ToolTip9\":\"Western\",\"@ToolTip10\":\"Unicode encoding\",\"@ToolTip11\":\"Traditional Chinese\",\"@ToolTip12\":\"Simplified Chinese\",\"@ToolTip13\":\"Japanese\",\"@ToolTip14\":\"Korean\"},\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: ENCODING=local-character-set-encoding] \\n          \\nOverrides the encoding for input or output processing (transcodes) of external files.\"}},{\"StatementOptionName\":\"EVENT=\",\"StatementOptionType\":\"V\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: EVENT=event-name (FILE= | FINISH | LABEL= | NAME= | START | STYLE= |TARGET= | TEXT= | URL= )\\n    \\nSpecifies an event and the value for event variables that are associated with the event. \\n\\n(FILE= BODY | CODE | CONTENTS | DATA | FRAME | PAGES | STYLESHEET);\\n  triggers one of the known types of output files that correspond to the BODY=, CODE=, CONTENTS=, FRAME=, PAGES=, and STYLESHEET= options.\\n(FINISH)\\n  triggers the finish section of an event.\\n(LABEL='variable-value')\\n  specifies the value for the LABEL event variable.\\n  Requirement: variable-value must be enclosed in quotation marks.\\n(NAME='variable-value')\\n  specifies the value for the NAME event variable.\\n  Requirement: variable-value must be enclosed in quotation marks. \\n(START)\\n  triggers the start section of an event.\\n(STYLE=style-element)\\n  specifies a style element.\\n(TARGET='variable-value')\\n  specifies the value for the TARGET event variable. \\n(TEXT='variable-value')\\n  specifies the value for the TEXT event variable.\\n  Requirement: variable-value must be enclosed in quotation marks.\\n(URL='variable-value')\\n  specifies the value for the URL event variable.\\n  Requirement: variable-value must be enclosed in quotation marks.\"},\"SubOptionsKeywords\":\"FILE=|FINISH|LABEL=|NAME|START|STYLE=|TARGET=|TEXT=|URL=\"},{\"StatementOptionName\":\"FRAME=\",\"StatementOptionType\":\"V\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: FRAME='file-specification' <sub-option(s)> \\n    \\nOpens a MARKUP family destination and, for HTML output, specifies the file that integrates the table \\nof contents, the page contents, and the body file. \\n\\nsuboption(s)\\n  specifies one or more suboptions in parentheses. Suboptions are instructions for writing the output files. \\n  Suboptions can be the following:\\n    (DYNAMIC)\\n      enables you to send output directly to a web server instead of writing it to a file.    \\n    (NO_BOTTOM_MATTER)\\n      specifies that no ending markup language source code be added to the output file.\\n    (NO_TOP_MATTER)\\n      specifies that no beginning markup language source code be added to the top of the output file. For HTML 4.0, \\n      the NO_TOP_MATTER option removes the style sheet.\\n    (TITLE='title-text')\\n      inserts into the metadata of a file the text string that you specify as the text to appear in the browser \\n      window title bar.\\n      title-text\\n        is the text in the metadata of a file that indicates the title.    \\n    (URL= 'Uniform-Resource-Locator' )\\n      specifies a URL for the file-specification. ODS uses this URL (instead of the filename) in all the links \\n      and references that it creates and that point to the file.\"},\"SubOptionsKeywords\":\"NO_BOTTOM_MATTER|NO_TOP_MATTER|TITLE=|URL=|DYNAMIC\"},{\"StatementOptionName\":\"GFOOTNOTE\",\"StatementOptionType\":\"S\",\"StatementOptionHelp\":{\"#cdata\":\"Prints footnotes that are created by SAS/GRAPH, the SGPLOT procedure, the SGPANEL procedure, or the \\nSGSCATTER procedure. The footnotes appear inside the graph borders.  If you open the frame file, \\nthen you see a table of contents, a table of pages, or both, as well as the body file. For XLM \\noutput, FRAME= specifies the file that contains the DTD. These files remain open until you do \\none of the following:\\n\\n  o close the destination with either an ODS markup-family-destination CLOSE statement or ODS _ALL_ CLOSE statement.\\n\\n  o open the same destination with a second markup family statement. This closes the first file and opens the second file.\\n\\nfile-specification \\nspecifies the file, fileref, or SAS catalog to write to. file-specification is one of the following:\\n\\n    external-file -- is the name of an external file to write to.\\n    Requirement: You must enclose external-file in quotation marks. \\n\\n    fileref -- is a file reference that has been assigned to an external file. Use the FILENAME statement to assign a fileref. \\n\\n    entry.markup -- specifies an entry in a SAS catalog to write to. \\n\\nsuboption(s) \\nspecifies one or more suboptions in parentheses. Suboptions are instructions for writing the output files.\"}},{\"StatementOptionName\":\"NOGFOOTNOTE\",\"StatementOptionType\":\"S\",\"StatementOptionHelp\":{\"#cdata\":\"Prints footnotes that are created by ODS, which appears outside the graph borders.\"}},{\"StatementOptionName\":\"GPATH=\",\"StatementOptionType\":\"V\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: GPATH= 'aggregate-file-storage-specification' | fileref | libref.catalog (URL= 'Uniform-Resource-Locator' | NONE)  \\n   \\nSpecifies the location for all graphics output that is generated while the destination is open. \\n\\n  'aggregate-file-storage-location' \\n  specifies an aggregate storage location such as directory, folder, or partitioned data set.\\n  Requirement: You must enclose aggregate-file-storage-location in quotation marks. \\n\\n  fileref \\n  is a file reference that has been assigned to an aggregate storage location. Use the FILENAME \\n  statement to assign a fileref.\\n\\n  libref.catalog -- specifies a SAS catalog to write to.\\n\\n  URL= 'Uniform-Resource-Locator' | NONE --  specifies a URL for file-specification. \\n\\n    Uniform-Resource-Locator -- is the URL you specify. ODS uses this URL instead of the filename in \\n    all the links and references that it creates to the file.\\n    Requirement: You must enclose Uniform-Resource-Locator in quotation marks. \\n\\n    NONE -- specifies that no information from the GPATH= option appears in the links or references.\"}},{\"StatementOptionName\":\"GTITLE\",\"StatementOptionType\":\"S\",\"StatementOptionHelp\":{\"#cdata\":\"Prints the title that is created by SAS/GRAPH, the SGPLOT procedure, the SGPANEL procedure, or the \\nSGSCATTER procedure. The title appears inside the graph borders.\"}},{\"StatementOptionName\":\"NOGTITLE\",\"StatementOptionType\":\"S\",\"StatementOptionHelp\":{\"#cdata\":\"Prints the title that is created by ODS, which appears outside the graph borders.\"}},{\"StatementOptionName\":\"HEADTEXT=\",\"StatementOptionType\":\"V\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies tags to place between the <HEAD> and </HEAD> tags in all the files that the destination \\nwrites to. \\n\\nSyntax: HEADTEXT= 'markup-document-head' \\n\\nwhere:\\n\\n  markup-document-head \\n  specifies the markup tags to place between the <HEAD> and </HEAD> tags.\\n\\n  Requirement: You must enclose markup-document-head in quotation marks.\"}},{\"StatementOptionName\":\"ID=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: (ID=identifier)] \\n          \\nEnables you to run multiple instances of the same destination at the same time. \\nEach instance can have different options.\"},\"StatementOptionType\":\"V\",\"SubOptionsKeywords\":\"ID=\"},{\"StatementOptionName\":\"IMAGE_DPI=\",\"StatementOptionType\":\"V\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies the image resolution for graphical output. Default: 100. \\n          \\nRestriction: The IMAGE_DPI= option affects template-based graphics only.\"}},{\"StatementOptionName\":\"METATEXT=\",\"StatementOptionType\":\"V\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies HTML code to use as the <META> tag between the <HEAD> and </HEAD> tags of all the HTML \\nfiles that the destination writes to. \\n\\nSyntax: METATEXT= 'metatext-for-document-head' \\n\\nwhere:\\n\\n  'metatext-for-document-head' \\n  specifies the HTML code that provides the browser with information about the document that it is loading. \\n  For example, this attribute could specify the content type and the character set to use.\\n\\n  Requirement: You must enclose metatext-for-document-head in quotation marks.\"}},{\"StatementOptionName\":\"NEWFILE=\",\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"BYGROUP\",\"@Value2\":\"NONE\",\"@Value3\":\"OUTPUT|TABLE\",\"@Value4\":\"PAGE\",\"@Value5\":\"PROC\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Starts a new file for the results of each BY group.\",\"@ToolTip2\":\"Writes all output to the body file that is currently open.\",\"@ToolTip3\":\"Starts a new body file for each output object.\",\"@ToolTip4\":\"Starts a new body file for each page of output.\",\"@ToolTip5\":\"Starts a new body file each time that you start a new procedure.\"},\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: NEWFILE=starting-point] \\n          \\nCreates a new body file at the specified starting-point.\"}},{\"StatementOptionName\":\"OPTIONS\",\"StatementOptionType\":\"S\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: OPTIONS ( DOC= | <suboption(s)> )] \\n          \\nSpecifies tagset-specific suboptions and a named value.\\n\\n(DOC='QUICK' | 'HELP' | 'SETTINGS') \\nprovides information about the specified tagset. \\n\\n  QUICK \\n  describes the options available for this tagset. \\n\\n  HELP \\n  provides generic help and information with a quick reference.\\n\\n  SETTINGS \\n  provides the current option settings.\\n\\nsuboption(s) \\nspecifies one or more suboptions that are valid for the specified tagset. Supoptions have the \\nfollowing format: \\n\\n  keyword='value'  \\n  You can get information about suboptions for a specific tagset by specifying one of the following \\n  options when opening an ODS tagset statement or at any time after the destination has been opened. \\n    \\n    options(doc='help');\\n    options(doc='quick'); \\n    options(doc='settings');\"}},{\"StatementOptionName\":\"PACKAGE\",\"StatementOptionType\":\"S\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: PACKAGE <package-name>] \\n          \\nSpecifies that the output from the destination be added to a package.\"}},{\"StatementOptionName\":\"PAGE=\",\"StatementOptionType\":\"V\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: PAGE= 'file-specification' <(suboption(s))> \\n          \\nOpens a markup family destination and specifies the file that contains a description of each \\npage of the body file, and contains links to the body file. ODS produces a new page of output \\nwhenever a procedure requests a new page. These files remain open until you do one of the following:\\n\\n  o close the destination with either an ODS markup-family-destination CLOSE statement or \\n    ODS _ALL_ CLOSE statement.\\n\\n  o open the same destination with a second markup family statement. This closes the first file \\n    and opens the second file.\\n\\nfile-specification \\nspecifies the file, fileref, or SAS catalog to write to. \\n\\n    file-specification is one of the following:\\n\\n    external-file -- is the name of an external file to write to.\\n    Requirement: You must enclose external-file in quotation marks. \\n\\n    fileref -- is a file reference that has been assigned to an external file. Use the FILENAME \\n    statement to assign a fileref. \\n\\n    entry.markup -- specifies an entry in a SAS catalog to write to. \\n    Interaction: If you specify an entry name, you must also specify a library and catalog.  \\n\\nsuboption(s) \\nspecifies one or more suboptions in parentheses. Suboptions are instructions for writing the output files.\"},\"SubOptionsKeywords\":\"NO_BOTTOM_MATTER|NO_TOP_MATTER|TITLE=|URL=|DYNAMIC\"},{\"StatementOptionName\":\"PARAMETERS=\",\"StatementOptionType\":\"V\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: PARAMETERS=(parameter-pair-1 ... parameter-pair-n) \\n          \\nWrites the specified parameters between the tags that generate dynamic graphics output.\\n\\n  parameter-pair \\n  specifies the name and value of each parameter. parameter-pair has the following form: \\n\\n    'parameter-name'= 'parameter-value'  \\n\\n  where:\\n  \\n  parameter-name -- is the name of the parameter.\\n\\n  parameter-value -- is the value of the parameter.\\n  Requirement: You must enclose parameter-name and parameter-value in quotation marks.\"}},{\"StatementOptionName\":\"PATH=\",\"StatementOptionType\":\"V\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: PATH= 'aggregate-file-storage-specification' | fileref | libref.catalog (URL= 'Uniform-Resource-Locator' | NONE) \\n   \\nSpecifies the location of an aggregate storage location or a SAS catalog for all markup files. \\nIf the GPATH= option is not specified, all graphics output files are written to the \\n\\\"aggregate-file-storage-specification\\\" or libref.\\n\\n  'aggregate-file-storage-location' -- specifies an aggregate storage location such as directory, folder, or partitioned data set.\\n  Requirement: You must enclose aggregate-file-storage-location in quotation marks. \\n\\n  fileref -- is a file reference that has been assigned to an aggregate storage location. \\n  Use the FILENAME statement to assign a fileref.\\n\\n    Interaction: If you use a fileref in the PATH= option, then ODS does not use information from \\n    PATH= when it constructs links. \\n\\n  libref.catalog -- specifies a SAS catalog to write to.\\n\\n  URL= 'Uniform-Resource-Locator' | NONE -- specifies a URL for the file-specification. \\n\\n    Uniform-Resource-Locator \\n    is the URL you specify. ODS uses this URL instead of the filename in all the links and references that it creates to the file.\\n\\n    NONE \\n    specifies that no information from the PATH= option appears in the links or references.\"}},{\"StatementOptionName\":\"RECORD_SEPARATOR=|RECSEP=|RS=\",\"StatementOptionType\":\"V\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: RECORD_SEPARATOR= 'alternative-separator' | NONE \\n    \\nSpecifies an alternative character or string that separates lines in the output files.\\n\\nDifferent operating environments use different separator characters. If you do not specify a record \\nseparator, then the files are formatted for the environment where you run the SAS job. However, \\nif you are generating files for viewing in a different operating environment that uses a different \\nseparator character, then you can specify a record separator that is appropriate for the target environment.\\n\\nalternative-separator -- represents one or more characters in hexadecimal or ASCII format. For example, \\nthe following option specifies a record separator for a carriage return character and a linefeed character \\nfor use with an ASCII file system: \\n\\n  RECORD_SEPARATOR= '0D0A'x\\n  \\nOperating Environment Information:   In a mainframe environment, the option that specifies a record \\nseparator for a carriage return character and a linefeed character for use with an ASCII file system is: \\n\\n  RECORD_SEPARATOR= '0D25'x\\n  Requirement: You must enclose alternative-separator in quotation marks. \\n\\nNONE -- produces the markup language that is appropriate for the environment where you run the SAS job.\"},\"SubOptionsKeywords\":\"NONE\"},{\"StatementOptionName\":\"STYLE=\",\"StatementOptionType\":\"V\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: STYLE= style-definition] \\n          \\nSpecifies the style definition to use in writing the output files. \\n\\nstyle-definition\\n  describes how to display the presentation aspects (color, font face, font size, and so on) of your SAS output. \\n  A style template determines the overall appearance of the documents that use it. Each style template consists \\n  of style elements.\\n\\n  Interaction:\\n    The STYLE= option is not valid when you are creating XML output.\\n\\n  For a complete discussion of style templates, see Chapter 15, \\u201cTEMPLATE Procedure: Creating a Style Template Procedure\\u201d \\n  in SAS 9.4 Output Delivery System: Procedures Guide.\"}},{\"StatementOptionName\":\"STYLESHEET=\",\"StatementOptionType\":\"V\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: STYLESHEET= 'file-specification' <sub-option(s)> \\n    \\nOpens a markup family destination and places the style information for markup output into an external \\nfile, or reads style sheet information from an existing file. These files remain open until you do one \\nof the following:\\n\\n  o close the destination with either an ODS markup-family-destination CLOSE statement or ODS _ALL_ CLOSE statement.\\n\\n  o open the same destination with a second markup family statement. This closes the first file and opens the second file.\\n\\nfile-specification -- specifies the file, fileref, or SAS catalog to write to. \\n\\nfile-specification is one of the following:\\n\\n    external-file \\n    is the name of an external file to write to.\\n    Requirement: You must enclose external-file in quotation marks. \\n\\n    fileref \\n    is a file reference that has been assigned to an external file. Use the FILENAME statement to assign a fileref. \\n\\n    entry.markup -- specifies an entry in a SAS catalog to write to.\\n    Interaction: If you specify an entry name, you must also specify a library and catalog. See the discussion \\n    of the PATH= option. \\n\\nsuboption(s) -- specifies one or more suboptions in parentheses. Suboptions are instructions for writing the \\noutput files. Suboptions can be the following:\\n    (DYNAMIC)\\n      enables you to send output directly to a web server instead of writing it to a file.   \\n    (NO_BOTTOM_MATTER)\\n      specifies that no ending markup language source code be added to the output file.\\n    (NO_TOP_MATTER)\\n      specifies that no beginning markup language source code be added to the top of the output file. \\n      For HTML 4.0, the NO_TOP_MATTER option removes the style sheet.\\n    (TITLE='title-text')\\n      inserts into the metadata of a file the text string that you specify as the text to appear in \\n      the browser window title bar. \\n    (URL= 'Uniform-Resource-Locator' )\\n      specifies a URL for the file-specification. ODS uses this URL (instead of the filename) in all \\n      the links and references that it creates and that point to the file.\"},\"SubOptionsKeywords\":\"NO_BOTTOM_MATTER|NO_TOP_MATTER|TITLE=|URL=|DYNAMIC\"},{\"StatementOptionName\":\"TAGSET=|TYPE=\",\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"CHTML\",\"@Value2\":\"CORE\",\"@Value3\":\"CSV\",\"@Value4\":\"CSVALL\",\"@Value5\":\"CSVBYLINE\",\"@Value6\":\"DEFAULT\",\"@Value7\":\"DOCBOOK\",\"@Value8\":\"ExcelXP\",\"@Value9\":\"HTML4\",\"@Value10\":\"HTMLCSS\",\"@Value11\":\"HTMLPANEL\",\"@Value12\":\"IMODE\",\"@Value13\":\"MSOFFICE2K\",\"@Value14\":\"MVSHTML\",\"@Value15\":\"PHTML\",\"@Value16\":\"PYX\",\"@Value17\":\"RTF\",\"@Value18\":\"SASREPORT\",\"@Value19\":\"WML\",\"@Value20\":\"WMLOLIST\",\"@Value21\":\"XHTML\",\"@Value22\":\"EVENT_MAP\",\"@Value23\":\"NAMEDHTML\",\"@Value24\":\"SHORT_MAP\",\"@Value25\":\"STYLE_DISPLAY\",\"@Value26\":\"STYLE_POPUP\",\"@Value27\":\"TEXT_MAP\",\"@Value28\":\"TPL_STYLE_LIST\",\"@Value29\":\"TPL_STYLE_MAP\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Produces compact, minimal HTML output that does not use style information.\",\"@ToolTip2\":\"Contains a table of Unicode values and mnemonics.\",\"@ToolTip3\":\"Produces tabular output that contains  columns of data values that are separated by commas.\",\"@ToolTip4\":\"Produces tabular output with titles that contain columns of data values that are separated by commas.\",\"@ToolTip5\":\"Produces output with comma-separated values and columns of data that are separated by commas.\",\"@ToolTip6\":\"Produces XML output.\",\"@ToolTip7\":\"Produces XML output that conforms to the DocBook DTD by OASIS.\",\"@ToolTip8\":\"Produces Microsoft's spreadsheetML XML. This tagset is used to import data into XML.\",\"@ToolTip9\":\"Produces HTML 4.0 embedded style sheets.\",\"@ToolTip10\":\"Produces HTML output with cascading style sheets that is similar to ODS HTML output.\",\"@ToolTip11\":\"Creates panels for By-grouped graphs.\",\"@ToolTip12\":\"Produces HTML output as a column of output that is separated by lines.\",\"@ToolTip13\":\"Produces HTML code for output generated by ODS for Microsoft Office products.\",\"@ToolTip14\":\"Produces URLs within HTML files that are used in the z/OS operating environment.\",\"@ToolTip15\":\"Produces simple HTML output that uses twelve style elements and no class attributes.\",\"@ToolTip16\":\"Produces PYX, which is a simple, line-oriented notation used by Pyxie to describe the information  communicated by an XML parser to an XML application.\",\"@ToolTip17\":\"Produces measured RTF.\",\"@ToolTip18\":\"Causes imbedded data to be produced in CSV format.\",\"@ToolTip19\":\"Uses the Wireless Application Protocol (WAP) to produce a Wireless Markup Language (WML) DTD with  a list of URLs as a table of contents.\",\"@ToolTip20\":\"Uses the Wireless Application Protocol (WAP) to produce a Wireless Markup Language (WML) DTD with  an option list for the table of contents.\",\"@ToolTip21\":\"Produces output in HTML format.\",\"@ToolTip22\":\"Creates XML output that shows which events are being triggered and which variables are used by an  event to send output from a SAS process to an output file.\",\"@ToolTip23\":\"Creates HTML output similar to STYLE_POPUP, but with all the objects labeled as they are when  using ODS TRACE.\",\"@ToolTip24\":\"Creates a subset of the XML output that is created by the EVENT_MAP tagset.\",\"@ToolTip25\":\"Creates a sample page of HTML output that is similar to STYLE_POPUP output.\",\"@ToolTip26\":\"Creates HTML like HTMLCSS, but if you're using Internet Explorer, STYLE_POPUP displays a window  that shows the resolved ODS style definition for any item that you select.\",\"@ToolTip27\":\"Creates text output that shows which events are being triggered as ODS handles the output objects.\",\"@ToolTip28\":\"Creates HTML output in a bulleted list similar to EVENT_MAP but lists only a subset of the  possible attributes.\",\"@ToolTip29\":\"Creates XML output similar to EVENT_MAP but lists only a subset of the possible attributes.\"},\"StatementOptionHelp\":{\"#cdata\":\"Specifies a keyword value for a tagset. A tagset is a template that defines how to create an output \\ntype from a SAS format.\"}},{\"StatementOptionName\":\"TEXT=\",\"StatementOptionType\":\"V\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: TEXT='variable-value'] \\n          \\nInserts text into your document by triggering the paragraph event and specifying \\na text string to be assigned to the VALUE event variable.\"}},{\"StatementOptionName\":\"TRANTAB=\",\"StatementOptionType\":\"V\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: TRANTAB= 'translation-table' \\n          \\nSpecifies the translation table to use when transcoding a file for output.\"}}]}},{\"StatementName\":\"ODS PRINTER|ODS PS|ODS PCL|ODS PDF\",\"StatementHelp\":{\"#cdata\":\"Opens, manages, or closes the specified destination (PRINTER, PS, PCL, PDF), which produces\\nprintable output.\\n      \\nSyntax: \\n(1) ODS PRINTER|PS|PCL|PDF <(<ID=>identifier)> <action>;  \\n(2) ODS PRINTER|PS|PCL|PDF <(<ID=>identifier)> <option(s)>;\"},\"StatementOptions\":{\"StatementOption\":[{\"StatementOptionName\":\"ACCESSIBLE\",\"StatementOptionHelp\":{\"#cdata\":\"[FOR ODS PDF]\\n          \\nSpecifies to add non-visual metadata to the PDF file that enables the file to be accessed by assistive \\ntechnology such as a screen reader.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"NOACCESSIBLE\",\"StatementOptionHelp\":{\"#cdata\":\"[FOR ODS PDF]\\n          \\nSpecifies not to add non-visual metadata to the PDF file that enables the file to be accessed by assistive \\ntechnology such as a screen reader.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"ACCESSIBLE_IDENTIFIER\",\"StatementOptionHelp\":{\"#cdata\":\"[FOR ODS PDF] \\n          \\nSpecifies to add an identifier to the metadata of the PDF file confirming that the PDF produced by \\nSAS meets the PDF Matterhorn Protocol.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"NOACCESSIBLE_IDENTIFIER\",\"StatementOptionHelp\":{\"#cdata\":\"[FOR ODS PDF] \\n          \\nSpecifies to add an identifier to the metadata of the PDF file confirming that the PDF produced by \\nSAS meets the PDF Matterhorn Protocol.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"EXCLUDE\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: EXCLUDE exclusion(s)| ALL | NONE \\n          \\nExcludes output objects from the destination.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"EXCLUDE ALL\",\"StatementOptionHelp\":{\"#cdata\":\"Excludes all output objects from the destination.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"EXCLUDE NONE\",\"StatementOptionHelp\":{\"#cdata\":\"Excludes no output objects from the destination.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"CLOSE\",\"StatementOptionHelp\":{\"#cdata\":\"Closes the destination and any files that are associated with it.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"SELECT\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: SELECT selection(s) | ALL | NONE \\n          \\nSelects output objects for the specified destination.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"SELECT ALL\",\"StatementOptionHelp\":{\"#cdata\":\"Selects all output objects for the specified destination.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"SELECT NONE\",\"StatementOptionHelp\":{\"#cdata\":\"Selects no output objects for the specified destination.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"SHOW\",\"StatementOptionHelp\":{\"#cdata\":\"Writes the current selection or exclusion list for the destination to the SAS log.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"ANCHOR=|NAMED_DEST=|BOOKMARK=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: ANCHOR='anchor-name'] \\n          \\nSpecifies the root name for the anchor tag that identifies each output object \\nin the current file.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"AUTHOR=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: AUTHOR='author-text'] \\n          \\nInserts into the metadata of a file, the text string that you specify as the author.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"BASE=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies the text to use as the first part of all references that ODS creates \\nin the output files.\\n\\nSyntax: BASE= 'base-text'\\n\\nbase-text \\nis the text that ODS uses as the first part of all references that ODS creates in the file.\\n\\nConsider this specification: \\n\\nBASE='http://www.your-company.com/local-url/'\\nIn this case, ODS creates references that begin with the string http://www.your-company.com/local-url/. \\nThe appropriate anchor-name completes the link.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"BOOKMARKLIST=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies whether to generate and display the list of bookmarks for a PDF file.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"HIDE\",\"@Value2\":\"NONE|NO|OFF\",\"@Value3\":\"SHOW|YES|ON\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Generates a list of bookmarks for your PDF file. The bookmarks are not automatically displayed when  you open the PDF file.\",\"@ToolTip2\":\"Specifies not to generate a list of bookmarks for your PDF file.\",\"@ToolTip3\":\"Generates a list of bookmarks for your PDF file. The bookmarks are automatically displayed when you  open the PDF file.\"}},{\"StatementOptionName\":\"BOOKMARKGEN=\",\"StatementOptionHelp\":{\"#cdata\":\"Controls the generation of bookmarks in a PDF file.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"NO|OFF\",\"@Value2\":\"YES|ON\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Specifies not to generate bookmarks in the PDF file.\",\"@ToolTip2\":\"Specifies to generate bookmarks in the PDF file.\"}},{\"StatementOptionName\":\"BOOKMARKGEN\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies to generate bookmarks in the PDF file.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"BOX_SIZING=\",\"StatementOptionType\":\"V\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: BOX_SIZING=(CONTENT_BOX | BORDER_BOX)] \\n          \\nSpecifies how to measure the width of cells. This option overrides the default value of BOX_SIZING \\nfor a destination. The default value can be found in the SAS registry. In the SAS Registry, expand \\nthe ODS -> DESTINATION -> SCRIPT folder to locate the box_sizing= default for ODS EPUB destinations. \\nFor information about using the SAS Registry, see \\u201cChanging SAS Registry Settings for ODS\\u201d on page 44.\\n\\nBOX_SIZING is defined by the WC3 specification, the CSS3 Module. For more information, refer to the \\nCSS3 Box Model specification at http://www.w3.org/TR/2002/WD-css3-box-20021024/#box-sizing. \"}},{\"StatementOptionName\":\"NOBOOKMARKGEN\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies not to generate bookmarks in the PDF file.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"COLOR=\",\"StatementOptionHelp\":{\"#cdata\":\"Applies the specified color scheme to your output.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"FULL\",\"@Value2\":\"GRAY|GREY\",\"@Value3\":\"MONO|BW\",\"@Value4\":\"NO\",\"@Value5\":\"YES\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Creates full color output for both text and graphics.\",\"@ToolTip2\":\"Creates gray scale output for both text and graphics.\",\"@ToolTip3\":\"Creates monochromatic output for both text and graphics.\",\"@ToolTip4\":\"Does not use all the color information that the style definition provides.\",\"@ToolTip5\":\"Uses all the color information that a style definition provides, including background color.\"}},{\"StatementOptionName\":\"COLUMNS=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: COLUMNS=n] \\n          \\nSpecifies the number of columns to place across each page of output. \\n            \\nn \\nis the number columns per page.\\n\\nDefault: 1\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"COMPRESS=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: COMPRESS=n] \\n          \\nControls the compression of a PDF file. Compression reduces the size of the file.\\n            \\nn \\nspecifies the level of compression. The larger the number, the greater the compression. For example,\\nn=0 is completely uncompressed, and n=9 is the maximum compression level. \\n\\nDefault: 6 \\nRange: 0-9\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"CONTENTS=\",\"StatementOptionHelp\":{\"#cdata\":\"Controls the generation of a printable table of contents.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"NO\",\"@Value2\":\"YES\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Does not generate a printable table of contents.\",\"@ToolTip2\":\"Generates a printable table of contents.\"}},{\"StatementOptionName\":\"CONTENTS\",\"StatementOptionHelp\":{\"#cdata\":\"Generates a printable table of contents page.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"NOCONTENTS\",\"StatementOptionHelp\":{\"#cdata\":\"Does not generate a printable table of contents.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"CSSSTYLE=\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: CSSSTYLE='file-specification'<(media-type-1 <...media-type-10>)> \\n    \\nSpecifies a cascading style sheet to apply to your output. \\n\\nfile-specification \\nspecifies a file, fileref, or URL that contains CSS code. \\n\\n    file-specification is one of the following:\\n\\n    \\\"external-file\\\" \\n    is the name of the external file.\\n    Requirement: You must enclose external-file in quotation marks. \\n\\n    fileref \\n    is a file reference that has been assigned to an external file. Use the FILENAME \\n    statement to assign a fileref. \\n\\n    \\\"URL\\\" \\n    is a URL to an external file.\\n    Requirement: You must enclose external-file in quotation marks. \\n\\n(media-type-1<.. media-type-10>) \\nspecifies one or more media blocks that corresponds to the type of media that your output will be \\nrendered on. CSS uses media type blocks to specify how a document is to be presented on different \\nmedia: on the screen, on paper, with a speech synthesizer, with a braille device, and so on.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"DOM\",\"StatementOptionType\":\"S|V\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: DOM<=\\\"external-file\\\">] \\n          \\nSpecifies that the ODS document object model is written to the SAS log or an external file. \\n\\nexternal-file\\n  is the name of an external output file.\\n\\n  Requirement: You must enclose external-file in quotation marks.\"}},{\"StatementOptionName\":\"DPI=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies the image resolution for output files. Default: 150 \\n          \\nRestriction: The DPI= option takes effect only if specified at the opening of a file. \"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"FILE=\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: FILE='external-file' | fileref \\n          \\nSpecifies the file that contains the output. \\n\\n  external-file \\n  is the name of an external file to write to.\\n  Requirement: You must enclose external-file in quotation marks. \\n\\n  fileref \\n  is a file reference that has been assigned to an external file. Use the FILENAME statement \\n  to assign a fileref.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"GFOOTNOTE\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies to include all of the currently defined footnotes within the graphics output.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"NOGFOOTNOTE\",\"StatementOptionHelp\":{\"#cdata\":\"Prevents all of the currently defined footnotes from appearing in the graphics file. \\nInstead, they become part of the Printer file.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"GTITLE\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies to include all of the currently defined titles within the graphics output.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"NOGTITLE\",\"StatementOptionHelp\":{\"#cdata\":\"Prevents all of the currently defined titles from appearing in the graphics output. \\nInstead, the titles become part of the Printer file.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"HOST\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies that ODS use the printer drivers that the host system provides. \\n          \\nInteraction: In an ODS printer family statement that refers to an open ODS PRINTER destination, \\nthe HOST option forces ODS to close the destination and all files that are associated with it, \\nand to open a new instance of the destination.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"KEYWORDS=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: KEYWORDS='keywords-text'] \\n          \\nInserts into the output file's metadata, a string of keywords. \\n          \\nRestriction: Use this option only with the ODS PDF statement, the ODS PS statement with the PDFMARK \\noption specified, and the ODS PRINTER statement with the PDFMARK option specified. \\n\\nRestriction: The KEYWORDS= option takes effect only if specified at the opening of a file. \\n\\nRequirement: You must enclose keywords-text in quotation marks.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"ID=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: (<ID=>identifier)] \\n          \\nEnables you to open multiple instances of the same destination at the same time. \\nEach instance can have different options.\"},\"StatementOptionType\":\"V\",\"SubOptionsKeywords\":\"ID=\"},{\"StatementOptionName\":\"NEWFILE=\",\"StatementOptionHelp\":{\"#cdata\":\"Creates a new file at the specified starting-point.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"BYGROUP\",\"@Value2\":\"NONE\",\"@Value3\":\"OUTPUT|TABLE\",\"@Value4\":\"PAGE\",\"@Value5\":\"PROC\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Starts a new file for the results of each BY group.\",\"@ToolTip2\":\"Writes all output to the file that is currently open.\",\"@ToolTip3\":\"Starts a new file for each output object. For SAS/GRAPH this means that ODS creates a new file  for each SAS/GRAPH output file that the program generates.\",\"@ToolTip4\":\"Starts a new file for each page of output. A page break occurs when a procedure explicitly starts  a new page (not because the page size was exceeded) or when you start a new procedure.\",\"@ToolTip5\":\"Starts a body file each time that you start a new procedure.\"}},{\"StatementOptionName\":\"NOTOC\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies that ODS omit the table of contents (Bookmark list) that is produced by default when \\nproducing PDF or PDFMARK output. \\n\\nInteraction: The NOTOC option specifies BOOKMARKLIST=OFF and CONTENTS= OFF.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"PACKAGE\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: PACKAGE <package-name>] \\n          \\nSpecifies that the output from the destination be added to a package. \\n          \\npackage-name \\nspecifies the name of a package that was created with the ODS PACKAGE statement. If no name \\nis specified, then the output is added to the unnamed package that was opened last.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"PCL\",\"StatementOptionHelp\":{\"#cdata\":\"Creates PCL output. \\n         \\nRestriction: Do not use this option in conjunction with the PDF or PS option. \\n\\nInteraction: If you use the PCL option in an ODS PRINTER statement that refers to an open \\nODS PRINTER destination, the option will force ODS to close the destination and all files \\nthat are associated with it, and to open a new instance of the destination.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"PDF\",\"StatementOptionHelp\":{\"#cdata\":\"Creates PDF output. \\n          \\nRestriction: Do not use this option in conjunction with the PCL or PS option. \\n\\nInteraction: If you use the PDF option in an ODS PRINTER statement that refers to an open \\nODS PRINTER destination, the option will force ODS to close the destination and all files \\nthat are associated with it, and to open a new instance of the destination.]\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"PDFMARK\",\"StatementOptionHelp\":{\"#cdata\":\"Enables ODS to insert special tags into a PostScript file. When you use software such as Adobe Acrobat \\n(not Adobe Viewer), Acrobat Distiller interprets the tags to create a PDF file that contains the \\nfollowing items: \\n\\n  o bookmarks for each section of the output and for each table.\\n\\n  o references for items that are associated with the URL= style attribute.\\n\\n  o notes for items that are associated with the FLYOVER= style attribute. \\n    Notes are optional, and are based on the PDFNOTE option.\\n\\n  o author, keywords, subject, and title in the metadata of a file.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"PDFNOTE\",\"StatementOptionHelp\":{\"#cdata\":\"Adds notes to a PDF file for items that are associated with the FLYOVER= style attribute.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"NOPDFNOTE\",\"StatementOptionType\":\"S\",\"StatementOptionHelp\":{\"#cdata\":\"Modifies the behavior of PDFMARK so that notes are not added to the file for items that are associated \\nwith the FLYOVER= style attribute.\"}},{\"StatementOptionName\":\"PDFTOC=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: PDFTOC=n] \\n          \\nControls the level of the expansion of the table of contents in PDF documents.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"PRINTER=|PRT=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: PRINTER=printer-name] \\n          \\nCreates output that is formatted for the specified printer. \\n          \\nDefault: If you do not specify a printer, then ODS formats the printer output for the printer \\nthat is specified by one of two SAS system options: \\n  \\n  o SYSPRINT= if you are using the Windows operating environment and do not specify any of the\\n    following options: PCL, PDFMARK, POSTSCRIPT, PS, or SAS.\\n\\n  o PRINTERPATH= in all other cases.\\n \\nRestriction: printer-name must match a subkey in either the SAS registry or the Windows printer registry.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"PS|POSTCRIPT=\",\"StatementOptionHelp\":{\"#cdata\":\"Creates PostScript output.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"STARTPAGE=\",\"StatementOptionHelp\":{\"#cdata\":\"Controls page breaks.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"NEVER\",\"@Value2\":\"NO|OFF\",\"@Value3\":\"NOW\",\"@Value4\":\"YES|ON\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Specifies not to insert page breaks, even before graphics procedures.\",\"@ToolTip2\":\"Specifies that no new pages be inserted at the beginning of each procedure, or within certain  procedures, even if new pages are requested by the procedure code. A new page will begin only  when a page is filled or when you specify STARTPAGE=NOW.\",\"@ToolTip3\":\"Forces the immediate insertion of a new page.\",\"@ToolTip4\":\"Inserts a new page at the beginning of each procedure, and within certain procedures, as requested  by the procedure code.\"}},{\"StatementOptionName\":\"STYLE=\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: STYLE=style-definition] \\n          \\nSpecifies the style definition to use in writing the printer output. \\n\\nstyle-definition\\n  describes how to display the presentation aspects (color, font face, font size, and so on) of your SAS output. \\n  A style template determines the overall appearance of the documents that use it. Each style template consists \\n  of style elements.\\n\\n  Interaction:\\n    The STYLE= option is not valid when you are creating XML output.\\n\\n  For a complete discussion of style templates, see Chapter 15, \\u201cTEMPLATE Procedure: Creating a Style Template Procedure\\u201d \\n  in SAS 9.4 Output Delivery System: Procedures Guide.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"SUBJECT=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: SUBJECT='subject-text'] \\n          \\nInserts into the metadata of a file the text string that you specify as the subject.\\n\\nsubject-text \\nis the text in the metadata of a file that indicates the subject.\\n\\nRestriction: Use this option only with the ODS PDF statement, the ODS PS statement with the \\nPDFMARK option specified, and the ODS PRINTER statement with the PDFMARK option specified. \\n\\nRestriction: The SUBJECT= option takes effect only if specified at the opening of a file. \\n\\nRequirement: You must enclose subject-text in quotation marks. \"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"TEXT=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: TEXT='text-string'] \\n          \\nInserts a text string into your output. \\n          \\nRequirement: You must enclose text-string in quotation marks. \"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"TITLE=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: TITLE='title-text'] \\n          \\nInserts into the metadata of a file, the text string that you specify as the title. \\n\\nRestriction: Use this option only with the ODS PDF statement, the ODS PS statement with the \\nPDFMARK option specified, and the ODS PRINTER statement with the PDFMARK option specified. \\n\\nRestriction: The TITLE= option takes effect only if specified at the opening of a file. \\n\\nRequirement: You must enclose title-text in quotation marks.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"UNIFORM\",\"StatementOptionHelp\":{\"#cdata\":\"For multiple page tables, ensures uniformity from page to page within a single table. \\nWhen the UNIFORM option is in effect, ODS reads the entire table before it starts to \\nprint it so that it can determine the column widths that are necessary to accommodate \\nall the data. These column widths are applied to all pages of a multiple page table. \\n\\nNote: With BY-group processing, SAS writes the results of each BY group to a separate \\ntable, so the output might not be uniform across BY groups.\"},\"StatementOptionType\":\"S\"}]}},{\"StatementName\":\"ODS PROCTITLE\",\"StatementHelp\":{\"#cdata\":\"Syntax: ODS PROCTITLE; \\n      \\nWrites, in the output, the name of the procedure that produces the results.\"},\"StatementOptions\":null},{\"StatementName\":\"ODS NOPROCTITLE\",\"StatementHelp\":{\"#cdata\":\"Syntax: ODS NOPROCTITLE;\\n      \\nSuppresses the writing of the title of the procedure that produces the results.\"},\"StatementOptions\":null},{\"StatementName\":\"ODS PROCLABEL\",\"StatementHelp\":{\"#cdata\":\"Enables you to change a procedure label.\\n      \\nSyntax: ODS PROCLABEL 'string';\\n      \\nwhere:\\n\\n'string' is the procedure label that you specify.\"},\"StatementOptions\":null},{\"StatementName\":\"ODS LAYOUT\",\"StatementHelp\":{\"#cdata\":\"A new feature in SAS 9 for generating PDF documents. The ODS LAYOUT START and ODS \\nLAYOUT END statements are used to generate one page for a PDF document.\"},\"StatementOptions\":{\"StatementOption\":[{\"StatementOptionName\":\"START\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: ODS LAYOUT START <options> ; ] \\n          \\nMarks the beginning of a new ODS LAYOUT block.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"END\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: ODS LAYOUT END ; ] \\n          \\nMarks the end of an ODS LAYOUT block. The ODS LAYOUT START and ODS LAYOUT END statements are used \\nto generate one page for a PDF document.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"ABSOLUTE\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: ODS LAYOUT ABSOLUTE< option-1>< option-2 ...> ] \\n          \\nManages the ODS LAYOUT destination when producing one page of output for PRINTER destinations \\n(PDF, PS, and PCL). Absolute layout enables you to specify the exact location on a page for \\nyour layout container and regions and is limited to one page of layout.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"GRIDDED\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: ODS LAYOUT GRIDDED< option-1>< option-2 ...> ; ] \\n          \\nGridded layout enables you to arrange output in a two-dimensional relative grid structure \\n(like a spreadsheet or a piece of graph paper). Gridded layout is a mechanism for arranging \\noutput dynamically.\"},\"StatementOptionType\":\"S\"}]}},{\"StatementName\":\"ODS REGION\",\"StatementHelp\":{\"#cdata\":\"[Syntax: ODS REGION <graph location & size>; \\n  ...SAS Graphics/Report code\\n      \\nMarks the beginning of an ODS REGION block. This statement allows you to specify where on a page \\nyou would like to place output from a graphics/report procedure.\"},\"StatementOptions\":null},{\"StatementName\":\"ODS RESULTS\",\"StatementHelp\":{\"#cdata\":\"Syntax: ODS RESULTS ON | OFF; \\n      \\nTracks ODS output in the Results window.\"},\"StatementOptions\":{\"StatementOption\":[{\"StatementOptionName\":\"ON\",\"StatementOptionHelp\":{\"#cdata\":\"Tracks output that ODS generates in the Results window.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"OFF\",\"StatementOptionHelp\":{\"#cdata\":\"Turns off the tracking of output that ODS generates in the Results window.\"},\"StatementOptionType\":\"S\"}]}},{\"StatementName\":\"ODS TEXT=\",\"StatementHelp\":{\"#cdata\":\"Inserts text into your ODS output. \\n      \\nSyntax: ODS TEXT= 'text-string';\\n      \\nwhere:\\n\\ntext-string\\nspecifies the text to insert into your output. This text is sent to all open supported \\noutput destinations.\\n\\nRestriction:  The ODS TEXT= statement does not support the OUTPUT destination or the \\nLISTING destination. All other ODS destinations are supported. \\n\\nRequirement:  You must enclose 'text-string' in parentheses. \\n\\nTip:  The UserText style element controls text specified with the TEXT= statement.\"},\"StatementOptions\":null},{\"StatementName\":\"ODS TRACE\",\"StatementHelp\":{\"#cdata\":\"Syntax: ODS TRACE ON </option(s)>; |  ODS TRACE OFF;\"},\"StatementOptions\":{\"StatementOption\":[{\"StatementOptionName\":\"ON|OUTPUT|YES\",\"StatementOptionHelp\":{\"#cdata\":\"Turns on the writing of the trace record.\"},\"StatementOptionType\":\"RS\"},{\"StatementOptionName\":\"OFF|NO\",\"StatementOptionHelp\":{\"#cdata\":\"Turns off the writing of the trace record.\"},\"StatementOptionType\":\"RS\"},{\"StatementOptionName\":\"EXCLUDED\",\"StatementOptionHelp\":{\"#cdata\":\"Includes, in the trace record, information for excluded output objects.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"LABEL\",\"StatementOptionHelp\":{\"#cdata\":\"Includes the label path for the output object in the record. You can use a label \\npath anywhere that you can use a path.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"LISTING\",\"StatementOptionHelp\":{\"#cdata\":\"Writes the trace record to the Listing destination, so that each part of the trace \\nrecord immediately precedes the output object that it describes.\"},\"StatementOptionType\":\"S\"}]}},{\"StatementName\":\"ODS USEGOPT\",\"StatementHelp\":{\"#cdata\":\"Syntax: ODS USEGOPT; \\n      \\nSpecifies that ODS use traditional SAS/GRAPH option settings for non-graphical output.\"},\"StatementOptions\":null},{\"StatementName\":\"ODS NOUSEGOPT\",\"StatementHelp\":{\"#cdata\":\"Syntax: ODS NOUSEGOPT; \\n      \\nSpecifies that ODS not use traditional SAS/GRAPH option settings for non-graphical output.\"},\"StatementOptions\":null},{\"StatementName\":\"ODS VERIFY\",\"StatementHelp\":{\"#cdata\":\"Syntax: ODS VERIFY <ON | OFF | ERROR | WARN>; \\n      \\nPrints or suppresses a message indicating that a style definition or a table definition being \\nused is not supplied by SAS.\"},\"StatementOptions\":{\"StatementOption\":[{\"StatementOptionName\":\"ON|YES\",\"StatementOptionHelp\":{\"#cdata\":\"Prints the warning and sends output objects to open destinations.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"OFF|NO\",\"StatementOptionHelp\":{\"#cdata\":\"Suppresses the warning.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"ERROR\",\"StatementOptionHelp\":{\"#cdata\":\"Prints an error message instead of a warning message and does not send output objects to open destinations.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"WARN\",\"StatementOptionHelp\":{\"#cdata\":\"Prints a warning message and does not send output objects to open destinations.\"},\"StatementOptionType\":\"S\"}]}},{\"StatementName\":\"ODS ESCAPECHAR=\",\"StatementHelp\":{\"#cdata\":\"Defines a representative character to be used in output strings.\\n      \\nSyntax: ODS ESCAPECHAR= 'escape-character';\\n\\nescape-character \\nspecifies the special character that identifies the inline formatting symbol. The escape-character \\nshould be one of the following rarely used characters: @, ^, or \\\\.\"},\"StatementOptions\":null},{\"StatementName\":\"ODS RTF\",\"StatementHelp\":{\"#cdata\":\"Opens, manages, or closes the RTF destination, which produces measured output that \\nis written in Rich Text Format for use with Microsoft Word 2002.\\n      \\nSyntax: \\nODS RTF <(<ID=> identifier)> action;  \\nODS RTF <(<ID=> identifier)> <option(s)>; \"},\"StatementOptions\":{\"StatementOption\":[{\"StatementOptionName\":\"EXCLUDE\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: EXCLUDE exclusion(s)| ALL | NONE \\n          \\nExcludes output objects from the RTF destination.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"EXCLUDE ALL\",\"StatementOptionHelp\":{\"#cdata\":\"Excludes all output objects from the RTF destination.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"EXCLUDE NONE\",\"StatementOptionHelp\":{\"#cdata\":\"Excludes no output objects from the RTF destination.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"CLOSE\",\"StatementOptionHelp\":{\"#cdata\":\"Closes the RTF destination and any files that are associated with it.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"SELECT\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: SELECT selection(s) | ALL | NONE \\n          \\nSelects output objects for the RTF destination.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"SELECT ALL\",\"StatementOptionHelp\":{\"#cdata\":\"Selects all output objects for the RTF destination.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"SELECT NONE\",\"StatementOptionHelp\":{\"#cdata\":\"Selects no output objects for the RTF destination.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"SHOW\",\"StatementOptionHelp\":{\"#cdata\":\"Writes the current selection or exclusion list for the destination to the SAS log.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"ANCHOR=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: ANCHOR='anchor-name'] \\n          \\nSpecifies the base name for the RTF anchor tag that identifies each output object \\nin the current file.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"AUTHOR=|NAMED_DEST=|BOOKMARK=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: AUTHOR='author-text'] \\n          \\nInserts the text string that you specify as the author into the metadata of a file.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"BASE=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies the text to use as the first part of all references that ODS creates in the output files.\\n\\nSyntax: BASE= 'base-text'\\n\\nbase-text \\nis the text that ODS uses as the first part of all references that ODS creates in the file.\\n\\nConsider this specification: \\n\\nBASE='http://www.your-company.com/local-url/'\\nIn this case, ODS creates references that begin with the string http://www.your-company.com/local-url/. \\nThe appropriate anchor-name completes the link.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"BODYTITLE\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies that SAS titles and footnotes are placed into the body of the RTF document \\ninstead of into the headers and footers section of the RTF document.\\n\\nRestriction: The BODYTITLE option can be specified only when you create a new RTF file.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"BODYTITLE_AUX\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies that SAS titles and footnotes be placed into the body of the RTF document \\ninstead of into the headers and footers section of the RTF document. These titles \\nand footnotes are put into cells, which allows titles and footnotes to be centered, \\nleft-justified, or right-justified.\\n\\nRestriction: You can specify the BODYTITLE_AUX option only when you are creating a \\nnew RTF file.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"BOX_SIZING=\",\"StatementOptionType\":\"V\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: BOX_SIZING=(CONTENT_BOX | BORDER_BOX)] \\n          \\nSpecifies how to measure the width of cells. This option overrides the default value of BOX_SIZING \\nfor a destination. The default value can be found in the SAS registry. In the SAS Registry, expand \\nthe ODS -> DESTINATION -> SCRIPT folder to locate the box_sizing= default for ODS EPUB destinations. \\nFor information about using the SAS Registry, see \\u201cChanging SAS Registry Settings for ODS\\u201d on page 44.\\n\\nBOX_SIZING is defined by the WC3 specification, the CSS3 Module. For more information, refer to the \\nCSS3 Box Model specification at http://www.w3.org/TR/2002/WD-css3-box-20021024/#box-sizing. \"}},{\"StatementOptionName\":\"COLUMNS=\",\"StatementOptionValues\":{\"@Value1\":\"<n>\",\"@Value2\":\"MAX\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Is the number of one-inch columns that you want on the page.\",\"@ToolTip2\":\"Specifies the maximum number of one-inch-wide columns for the paper size and margin  setting. This value is dependent upon the paper size and page orientation.\"},\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: COLUMNS=n | MAX] \\n          \\nSpecifies the number of columns to place across each page of output. \\n            \\nDefault: the number of one-inch columns that fit on the page.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"CONTENTS\",\"StatementOptionHelp\":{\"#cdata\":\"Produces a table of contents page for RTF documents that are opened in Microsoft Word. \\nThe table of contents page contains a Table of Contents field, which puts all of the \\ncontents information that is embedded in the document into a table of contents. To \\nexpand the table of contents, right-click under the title in Microsoft Word and select \\nUpdate Field from the selection list. \\n\\nRestriction: Do not use the CONTENTS option with the NEWFILE option.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"CSSSTYLE=\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: CSSSTYLE='file-specification'<(media-type-1 <...media-type-10>)> \\n    \\nSpecifies a cascading style sheet to apply to your output. \\n\\nfile-specification \\nspecifies a file, fileref, or URL that contains CSS code. \\n\\n    file-specification is one of the following:\\n\\n    \\\"external-file\\\" \\n    is the name of the external file.\\n    Requirement: You must enclose external-file in quotation marks. \\n\\n    fileref \\n    is a file reference that has been assigned to an external file. Use the FILENAME statement to assign a fileref. \\n\\n    \\\"URL\\\" \\n    is a URL to an external file.\\n    Requirement: You must enclose external-file in quotation marks. \\n\\n(media-type-1<.. media-type-10>) \\nspecifies one or more media blocks that corresponds to the type of media that your output will be \\nrendered on. CSS uses media type blocks to specify how a document is to be presented on different \\nmedia: on the screen, on paper, with a speech synthesizer, with a braille device, and so on.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"DEVICE=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies the name of a device driver. ODS automatically selects an optimal default device for each \\nopen output destination. \\n\\nThe following table lists the default devices for the most common ODS output destinations. These default devices \\nare used when graphics are created using SAS/GRAPH or ODS Graphics. \\n\\nOutput Destination Default Device\\nEPUB            PNG\\nHTML            PNG\\nHTML5           SVG\\nLISTING         PNG\\nMeasured RTF    EMF\\nRTF             EMF\\nMarkup Tagsets  PNG\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"DOM\",\"StatementOptionType\":\"S|V\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: DOM<=\\\"external-file\\\">] \\n          \\nSpecifies that the ODS document object model is written to the SAS log or an external file. \\n\\nexternal-file\\n  is the name of an external output file.\\n\\n  Requirement: You must enclose external-file in quotation marks.\"}},{\"StatementOptionName\":\"ENCODING=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: ENCODING=local-character-set-encoding] \\n          \\nOverrides the encoding for input or output processing (transcodes) of external files.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"'warabic'\",\"@Value2\":\"'wbaltic'\",\"@Value3\":\"'wlatin2'\",\"@Value4\":\"'wcyrillic'\",\"@Value5\":\"'wgreek'\",\"@Value6\":\"'whebrew'\",\"@Value7\":\"'wturkish'\",\"@Value8\":\"'wvietnamese'\",\"@Value9\":\"'wlatin1'\",\"@Value10\":\"'utf-8'\",\"@Value11\":\"'ms-950'\",\"@Value12\":\"'ms-936'\",\"@Value13\":\"'ms-932'\",\"@Value14\":\"'ms-949'\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Arabic\",\"@ToolTip2\":\"Baltic\",\"@ToolTip3\":\"Central Europe\",\"@ToolTip4\":\"Cyrillic\",\"@ToolTip5\":\"Greek\",\"@ToolTip6\":\"Hebrew\",\"@ToolTip7\":\"Turkish\",\"@ToolTip8\":\"Vietnamese\",\"@ToolTip9\":\"Western\",\"@ToolTip10\":\"Unicode encoding\",\"@ToolTip11\":\"Traditional Chinese\",\"@ToolTip12\":\"Simplified Chinese\",\"@ToolTip13\":\"Japanese\",\"@ToolTip14\":\"Korean\"}},{\"StatementOptionName\":\"FILE=\",\"StatementOptionHelp\":{\"#cdata\":\"Opens the RTF destination and specifies the RTF file or SAS catalog to which to write. \\nThis file remains open until you do one of the following actions:\\n\\n  o Close the RTF destination with ODS RTF CLOSE or ODS _ALL_ CLOSE.\\n\\n  o Specify a different file to which to write.\\n\\nSyntax: FILE= 'external-file' | fileref\\n\\n  'external-file' \\n  is the name of an external file to which to write.\\n\\n  fileref \\n  is a file reference that has been assigned to an external file.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"GFOOTNOTE\",\"StatementOptionHelp\":{\"#cdata\":\"Includes all of the currently defined footnotes within the graphics output.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"NOGFOOTNOTE\",\"StatementOptionHelp\":{\"#cdata\":\"Prevents all of the currently defined footnotes from appearing in the graphics file. Instead, \\nthey become part of the RTF file.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"GTITLE\",\"StatementOptionHelp\":{\"#cdata\":\"Includes all of the currently defined titles within the graphics output that is called \\nby the body file.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"NOGTITLE\",\"StatementOptionHelp\":{\"#cdata\":\"Prevents all of the currently defined titles from appearing in the graphics output. \\nInstead, the titles become part of the RTF file.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"ID=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: (ID=identifier)] \\n          \\nEnables you to run multiple instances of the same destination at the same time. \\nEach instance can have different options.\"},\"StatementOptionType\":\"V\",\"SubOptionsKeywords\":\"ID=\"},{\"StatementOptionName\":\"IMAGE_DPI=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies the image resolution for graphical output. Default: 200. \\n          \\nRestriction: The IMAGE_DPI= option affects template-based graphics only.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"KEEPN\",\"StatementOptionHelp\":{\"#cdata\":\"ODS allows table splits only if the entire table cannot fit on one page.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"NOKEEPN\",\"StatementOptionHelp\":{\"#cdata\":\"ODS lets a table split at a page break.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"NEWFILE=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: NEWFILE=starting-point] \\n          \\nCreates a new file at the specified starting-point.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"BYGROUP\",\"@Value2\":\"NONE\",\"@Value3\":\"OUTPUT|TABLE\",\"@Value4\":\"PAGE\",\"@Value5\":\"PROC\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Starts a new file for the results of each BY group.\",\"@ToolTip2\":\"Writes all output to the body file that is currently open.\",\"@ToolTip3\":\"Starts a new body file for each output object.\",\"@ToolTip4\":\"Starts a new body file for each page of output.\",\"@ToolTip5\":\"Starts a new body file each time that you start a new procedure.\"}},{\"StatementOptionName\":\"NOTOC_DATA\",\"StatementOptionHelp\":{\"#cdata\":\"Instructs ODS not to insert contents data into the RTF file.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"OPERATOR=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: OPERATOR= 'text-string'] \\n          \\nInserts the text you specify into the metadata of the RTF file.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"PACKAGE\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: PACKAGE <package-name>] \\n          \\nSpecifies that the output from the destination be added to a package. \\n          \\npackage-name \\nspecifies the name of a package that was created with the ODS PACKAGE statement. If no name \\nis specified, then the output is added to the unnamed package that was opened last.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"PATH=\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: PATH= 'aggregate-file-storage-specification' | fileref | libref.catalog (URL= 'Uniform-Resource-Locator' | NONE) \\n   \\nSpecifies the location of an aggregate storage location or a SAS catalog for all markup files. \\nIf the GPATH= option is not specified, all graphics output files are written to the \\n\\\"aggregate-file-storage-specification\\\" or libref.\\n\\n  'aggregate-file-storage-location' -- specifies an aggregate storage location such as directory, folder, \\n  or partitioned data set. Requirement: You must enclose aggregate-file-storage-location in quotation marks. \\n\\n  fileref -- is a file reference that has been assigned to an aggregate storage location. \\n  Use the FILENAME statement to assign a fileref.\\n\\n    Interaction: If you use a fileref in the PATH= option, then ODS does not use information from \\n    PATH= when it constructs links. \\n\\n  libref.catalog -- specifies a SAS catalog to write to.\\n\\n  URL= 'Uniform-Resource-Locator' | NONE -- specifies a URL for the file-specification. \\n\\n    Uniform-Resource-Locator \\n    is the URL you specify. ODS uses this URL instead of the filename in all the links and references that it creates to the file.\\n\\n    NONE \\n    specifies that no information from the PATH= option appears in the links or references.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"RECORD_SEPARATOR=|RECSEP=|RS=\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: RECORD_SEPARATOR= 'alternative-separator' | NONE \\n    \\nSpecifies an alternative character or string that separates lines in the output files.\\n\\nDifferent operating environments use different separator characters. If you do not specify a record \\nseparator, then the files are formatted for the environment where you run the SAS job. However, \\nif you are generating files for viewing in a different operating environment that uses a different \\nseparator character, then you can specify a record separator that is appropriate for the target environment.\\n\\nalternative-separator -- represents one or more characters in hexadecimal or ASCII format. For example, \\nthe following option specifies a record separator for a carriage return character and a linefeed character \\nfor use with an ASCII file system: \\n\\n  RECORD_SEPARATOR= '0D0A'x\\n  \\nOperating Environment Information:   In a mainframe environment, the option that specifies a record \\nseparator for a carriage return character and a linefeed character for use with an ASCII file system is: \\n\\n  RECORD_SEPARATOR= '0D25'x\\n  Requirement: You must enclose alternative-separator in quotation marks. \\n\\nNONE -- produces the markup language that is appropriate for the environment where you run the SAS job.\"},\"StatementOptionType\":\"V\",\"SubOptionsKeywords\":\"NONE\"},{\"StatementOptionName\":\"SASDATE\",\"StatementOptionHelp\":{\"#cdata\":\"Writes to the RTF file the time and the date that you started your SAS session. \\n\\nRestriction: You can specify SASDATE only when you open a new file. If you specify the option \\nat any other time, ODS writes a warning message to the SAS log.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"STARTPAGE=\",\"StatementOptionHelp\":{\"#cdata\":\"Controls page breaks.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"NEVER\",\"@Value2\":\"NO|OFF\",\"@Value3\":\"NOW\",\"@Value4\":\"YES|ON\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Specifies not to insert page breaks, even before graphics procedures.\",\"@ToolTip2\":\"Specifies that no new pages be inserted at the beginning of each procedure, or within  certain procedures, even if new pages are requested by the procedure code. A new page  will begin only when a page is filled or when you specify STARTPAGE=NOW.\",\"@ToolTip3\":\"Forces the immediate insertion of a new page.\",\"@ToolTip4\":\"Inserts a new page at the beginning of each procedure, and within certain procedures,  as requested by the procedure code.\"}},{\"StatementOptionName\":\"STYLE=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: STYLE= style-definition] \\n          \\nSpecifies the style definition for ODS to use to write the RTF files. \\n\\nstyle-definition\\n  describes how to display the presentation aspects (color, font face, font size, and so on) of your SAS output. \\n  A style template determines the overall appearance of the documents that use it. Each style template consists \\n  of style elements.\\n\\n  Interaction:\\n    The STYLE= option is not valid when you are creating XML output.\\n\\n  For a complete discussion of style templates, see Chapter 15, \\u201cTEMPLATE Procedure: Creating a Style Template Procedure\\u201d \\n  in SAS 9.4 Output Delivery System: Procedures Guide.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"TEXT=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: TEXT= 'text-string' ] \\n          \\nInserts text into your RTF output. \\n\\nRestriction: You cannot use both the NEWFILE= and TEXT= options in the same ODS RTF \\nstatement. You must use a separate ODS RTF statement for each of these options. \\n\\nRequirement: You must enclose a text-string in quotation marks.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"TITLE=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: TITLE= 'title-text'] \\n          \\nInserts the text string that you specify as the title into the metadata of a file.\\n\\ntitle-text \\nis the text in the metadata of a file that indicates the title.\\n\\nRequirement: You must enclose a title-text in quotation marks.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"TOC_DATA\",\"StatementOptionHelp\":{\"#cdata\":\"Instructs ODS to insert contents data into the RTF file.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"TRANTAB=\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: TRANTAB= 'translation-table' \\n          \\nSpecifies the translation table to use when transcoding a file for output.\"},\"StatementOptionType\":\"V\"}]}},{\"StatementName\":\"ODS TAGSETS.RTF\",\"StatementHelp\":{\"#cdata\":\"Opens, manages, or closes the RTF destination, which produces measured output that \\nis written in Rich Text Format for use with Microsoft Word 2002.\\n      \\nSyntax: \\nODS TAGSETS.RTF <(<ID=> identifier)> action;  \\nODS TAGSETS.RTF <(<ID=> identifier)> <option(s)>; \"},\"StatementOptions\":{\"StatementOption\":[{\"StatementOptionName\":\"EXCLUDE\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: EXCLUDE exclusion(s)| ALL | NONE \\n          \\nExcludes output objects from the RTF destination.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"EXCLUDE ALL\",\"StatementOptionHelp\":{\"#cdata\":\"Excludes all output objects from the RTF destination.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"EXCLUDE NONE\",\"StatementOptionHelp\":{\"#cdata\":\"Excludes no output objects from the RTF destination.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"CLOSE\",\"StatementOptionHelp\":{\"#cdata\":\"Closes the RTF destination and any files that are associated with it.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"SELECT\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: SELECT selection(s) | ALL | NONE \\n          \\nSelects output objects for the RTF destination.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"SELECT ALL\",\"StatementOptionHelp\":{\"#cdata\":\"Selects all output objects for the RTF destination.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"SELECT NONE\",\"StatementOptionHelp\":{\"#cdata\":\"Selects no output objects for the RTF destination.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"SHOW\",\"StatementOptionHelp\":{\"#cdata\":\"Writes the current selection or exclusion list for the destination to the SAS log.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"ANCHOR=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: ANCHOR='anchor-name'] \\n          \\nSpecifies the base name for the RTF anchor tag that identifies each output object \\nin the current file.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"AUTHOR=|NAMED_DEST=|BOOKMARK=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: AUTHOR='author-text'] \\n          \\nInserts the text string that you specify as the author into the metadata of a file.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"BASE=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies the text to use as the first part of all references that ODS creates \\nin the output files.\\n\\nSyntax: BASE= 'base-text'\\n\\nbase-text \\nis the text that ODS uses as the first part of all references that ODS creates in the file.\\n\\nConsider this specification: \\n\\nBASE='http://www.your-company.com/local-url/'\\nIn this case, ODS creates references that begin with the string http://www.your-company.com/local-url/. \\nThe appropriate anchor-name completes the link.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"BODYTITLE\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies that SAS titles and footnotes are placed into the body of the RTF document \\ninstead of into the headers and footers section of the RTF document.\\n\\nRestriction: The BODYTITLE option can be specified only when you create a new RTF file.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"BODYTITLE_AUX\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies that SAS titles and footnotes be placed into the body of the RTF document \\ninstead of into the headers and footers section of the RTF document. These titles \\nand footnotes are put into cells, which allows titles and footnotes to be centered, \\nleft-justified, or right-justified.\\n\\nRestriction: You can specify the BODYTITLE_AUX option only when you are creating a new RTF file.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"BOX_SIZING=\",\"StatementOptionType\":\"V\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: BOX_SIZING=(CONTENT_BOX | BORDER_BOX)] \\n          \\nSpecifies how to measure the width of cells. This option overrides the default value of BOX_SIZING \\nfor a destination. The default value can be found in the SAS registry. In the SAS Registry, expand \\nthe ODS -> DESTINATION -> SCRIPT folder to locate the box_sizing= default for ODS EPUB destinations. \\nFor information about using the SAS Registry, see \\u201cChanging SAS Registry Settings for ODS\\u201d on page 44.\\n\\nBOX_SIZING is defined by the WC3 specification, the CSS3 Module. For more information, refer to the \\nCSS3 Box Model specification at http://www.w3.org/TR/2002/WD-css3-box-20021024/#box-sizing. \"}},{\"StatementOptionName\":\"COLUMNS=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: COLUMNS=n | MAX] \\n          \\nSpecifies the number of columns to place across each page of output. \\n            \\nDefault: the number of one-inch columns that fit on the page.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"<n>\",\"@Value2\":\"MAX\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Is the number of one-inch columns that you want on the page.\",\"@ToolTip2\":\"Specifies the maximum number of one-inch-wide columns for the paper size and margin  setting. This value is dependent upon the paper size and page orientation.\"}},{\"StatementOptionName\":\"CONTENTS\",\"StatementOptionHelp\":{\"#cdata\":\"Produces a table of contents page for RTF documents that are opened in Microsoft Word. \\nThe table of contents page contains a Table of Contents field, which puts all of the \\ncontents information that is embedded in the document into a table of contents. To \\nexpand the table of contents, right-click under the title in Microsoft Word and select \\nUpdate Field from the selection list. \\n\\nRestriction: Do not use the CONTENTS option with the NEWFILE option.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"CSSSTYLE=\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: CSSSTYLE='file-specification'<(media-type-1 <...media-type-10>)> \\n    \\nSpecifies a cascading style sheet to apply to your output. \\n\\nfile-specification \\nspecifies a file, fileref, or URL that contains CSS code. \\n\\n    file-specification is one of the following:\\n\\n    \\\"external-file\\\" \\n    is the name of the external file.\\n    Requirement: You must enclose external-file in quotation marks. \\n\\n    fileref \\n    is a file reference that has been assigned to an external file. Use the FILENAME statement to assign a fileref. \\n\\n    \\\"URL\\\" \\n    is a URL to an external file.\\n    Requirement: You must enclose external-file in quotation marks. \\n\\n(media-type-1<.. media-type-10>) \\nspecifies one or more media blocks that corresponds to the type of media that your output will be \\nrendered on. CSS uses media type blocks to specify how a document is to be presented on different \\nmedia: on the screen, on paper, with a speech synthesizer, with a braille device, and so on.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"DEVICE=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies the name of a device driver. ODS automatically selects an optimal default device for each \\nopen output destination. \\n\\nThe following table lists the default devices for the most common ODS output destinations. These default devices \\nare used when graphics are created using SAS/GRAPH or ODS Graphics. \\n\\nOutput Destination Default Device\\nEPUB            PNG\\nHTML            PNG\\nHTML5           SVG\\nLISTING         PNG\\nMeasured RTF    EMF\\nRTF             EMF\\nMarkup Tagsets  PNG\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"DOM\",\"StatementOptionType\":\"S|V\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: DOM<=\\\"external-file\\\">] \\n          \\nSpecifies that the ODS document object model is written to the SAS log or an external file. \\n\\nexternal-file\\n  is the name of an external output file.\\n\\n  Requirement: You must enclose external-file in quotation marks.\"}},{\"StatementOptionName\":\"ENCODING=\",\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"'warabic'\",\"@Value2\":\"'wbaltic'\",\"@Value3\":\"'wlatin2'\",\"@Value4\":\"'wcyrillic'\",\"@Value5\":\"'wgreek'\",\"@Value6\":\"'whebrew'\",\"@Value7\":\"'wturkish'\",\"@Value8\":\"'wvietnamese'\",\"@Value9\":\"'wlatin1'\",\"@Value10\":\"'utf-8'\",\"@Value11\":\"'ms-950'\",\"@Value12\":\"'ms-936'\",\"@Value13\":\"'ms-932'\",\"@Value14\":\"'ms-949'\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Arabic\",\"@ToolTip2\":\"Baltic\",\"@ToolTip3\":\"Central Europe\",\"@ToolTip4\":\"Cyrillic\",\"@ToolTip5\":\"Greek\",\"@ToolTip6\":\"Hebrew\",\"@ToolTip7\":\"Turkish\",\"@ToolTip8\":\"Vietnamese\",\"@ToolTip9\":\"Western\",\"@ToolTip10\":\"Unicode encoding\",\"@ToolTip11\":\"Traditional Chinese\",\"@ToolTip12\":\"Simplified Chinese\",\"@ToolTip13\":\"Japanese\",\"@ToolTip14\":\"Korean\"},\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: ENCODING=local-character-set-encoding] \\n          \\nOverrides the encoding for input or output processing (transcodes) of external files.\"}},{\"StatementOptionName\":\"FILE=\",\"StatementOptionHelp\":{\"#cdata\":\"Opens the RTF destination and specifies the RTF file or SAS catalog to which to write. This file \\nremains open until you do one of the following actions:\\n\\n  o Close the RTF destination with ODS RTF CLOSE or ODS _ALL_ CLOSE.\\n\\n  o Specify a different file to which to write.\\n\\nSyntax: FILE= 'external-file' | fileref\\n\\n  'external-file' \\n  is the name of an external file to which to write.\\n\\n  fileref \\n  is a file reference that has been assigned to an external file.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"GFOOTNOTE\",\"StatementOptionHelp\":{\"#cdata\":\"Includes all of the currently defined footnotes within the graphics output.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"NOGFOOTNOTE\",\"StatementOptionHelp\":{\"#cdata\":\"Prevents all of the currently defined footnotes from appearing in the graphics file. Instead, \\nthey become part of the RTF file.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"GTITLE\",\"StatementOptionHelp\":{\"#cdata\":\"Includes all of the currently defined titles within the graphics output that is called \\nby the body file.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"NOGTITLE\",\"StatementOptionHelp\":{\"#cdata\":\"Prevents all of the currently defined titles from appearing in the graphics output. Instead, the \\ntitles become part of the RTF file.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"ID=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: (ID=identifier)] \\n          \\nEnables you to run multiple instances of the same destination at the same time. \\nEach instance can have different options.\"},\"StatementOptionType\":\"V\",\"SubOptionsKeywords\":\"ID=\"},{\"StatementOptionName\":\"IMAGE_DPI=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies the image resolution for graphical output. Default: 200. \\n          \\nRestriction: The IMAGE_DPI= option affects template-based graphics only.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"KEEPN\",\"StatementOptionHelp\":{\"#cdata\":\"ODS allows table splits only if the entire table cannot fit on one page.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"NOKEEPN\",\"StatementOptionHelp\":{\"#cdata\":\"ODS lets a table split at a page break.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"NEWFILE=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: NEWFILE=starting-point] \\n          \\nCreates a new file at the specified starting-point.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"BYGROUP\",\"@Value2\":\"NONE\",\"@Value3\":\"OUTPUT|TABLE\",\"@Value4\":\"PAGE\",\"@Value5\":\"PROC\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Starts a new file for the results of each BY group.\",\"@ToolTip2\":\"Writes all output to the body file that is currently open.\",\"@ToolTip3\":\"Starts a new body file for each output object.\",\"@ToolTip4\":\"Starts a new body file for each page of output.\",\"@ToolTip5\":\"Starts a new body file each time that you start a new procedure.\"}},{\"StatementOptionName\":\"NOTOC_DATA\",\"StatementOptionHelp\":{\"#cdata\":\"Instructs ODS not to insert contents data into the RTF file.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"OPERATOR=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: OPERATOR= 'text-string'] \\n          \\nInserts the text you specify into the metadata of the RTF file.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"PACKAGE\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: PACKAGE <package-name>] \\n          \\nSpecifies that the output from the destination be added to a package. \\n          \\npackage-name \\nspecifies the name of a package that was created with the ODS PACKAGE statement. If no name \\nis specified, then the output is added to the unnamed package that was opened last.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"PATH=\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: PATH= 'aggregate-file-storage-specification' | fileref | libref.catalog (URL= 'Uniform-Resource-Locator' | NONE) \\n   \\nSpecifies the location of an aggregate storage location or a SAS catalog for all markup files. \\nIf the GPATH= option is not specified, all graphics output files are written to the \\n\\\"aggregate-file-storage-specification\\\" or libref.\\n\\n  'aggregate-file-storage-location' -- specifies an aggregate storage location such as directory, folder, or partitioned data set.\\n  Requirement: You must enclose aggregate-file-storage-location in quotation marks. \\n\\n  fileref -- is a file reference that has been assigned to an aggregate storage location. \\n  Use the FILENAME statement to assign a fileref.\\n\\n    Interaction: If you use a fileref in the PATH= option, then ODS does not use information from \\n    PATH= when it constructs links. \\n\\n  libref.catalog -- specifies a SAS catalog to write to.\\n\\n  URL= 'Uniform-Resource-Locator' | NONE -- specifies a URL for the file-specification. \\n\\n    Uniform-Resource-Locator \\n    is the URL you specify. ODS uses this URL instead of the filename in all the links and references that it creates to the file.\\n\\n    NONE \\n    specifies that no information from the PATH= option appears in the links or references.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"RECORD_SEPARATOR=|RECSEP=|RS=\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: RECORD_SEPARATOR= 'alternative-separator' | NONE \\n    \\nSpecifies an alternative character or string that separates lines in the output files.\\n\\nDifferent operating environments use different separator characters. If you do not specify a record \\nseparator, then the files are formatted for the environment where you run the SAS job. However, \\nif you are generating files for viewing in a different operating environment that uses a different \\nseparator character, then you can specify a record separator that is appropriate for the target environment.\\n\\nalternative-separator -- represents one or more characters in hexadecimal or ASCII format. For example, \\nthe following option specifies a record separator for a carriage return character and a linefeed character \\nfor use with an ASCII file system: \\n\\n  RECORD_SEPARATOR= '0D0A'x\\n  \\nOperating Environment Information:   In a mainframe environment, the option that specifies a record \\nseparator for a carriage return character and a linefeed character for use with an ASCII file system is: \\n\\n  RECORD_SEPARATOR= '0D25'x\\n  Requirement: You must enclose alternative-separator in quotation marks. \\n\\nNONE -- produces the markup language that is appropriate for the environment where you run the SAS job.\"},\"StatementOptionType\":\"V\",\"SubOptionsKeywords\":\"NONE\"},{\"StatementOptionName\":\"SASDATE\",\"StatementOptionHelp\":{\"#cdata\":\"Writes to the RTF file the time and the date that you started your SAS session. \\n\\nRestriction: You can specify SASDATE only when you open a new file. If you specify the option \\nat any other time, ODS writes a warning message to the SAS log.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"STARTPAGE=\",\"StatementOptionHelp\":{\"#cdata\":\"Controls page breaks.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"NEVER\",\"@Value2\":\"NO|OFF\",\"@Value3\":\"NOW\",\"@Value4\":\"YES|ON\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Specifies not to insert page breaks, even before graphics procedures.\",\"@ToolTip2\":\"Specifies that no new pages be inserted at the beginning of each procedure, or within  certain procedures, even if new pages are requested by the procedure code. A new page  will begin only when a page is filled or when you specify STARTPAGE=NOW.\",\"@ToolTip3\":\"Forces the immediate insertion of a new page.\",\"@ToolTip4\":\"Inserts a new page at the beginning of each procedure, and within certain procedures,  as requested by the procedure code.\"}},{\"StatementOptionName\":\"STYLE=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: STYLE= style-definition] \\n          \\nSpecifies the style definition for ODS to use to write the RTF files. \\n\\nstyle-definition\\n  describes how to display the presentation aspects (color, font face, font size, and so on) of your SAS output. \\n  A style template determines the overall appearance of the documents that use it. Each style template consists \\n  of style elements.\\n\\n  Interaction:\\n    The STYLE= option is not valid when you are creating XML output.\\n\\n  For a complete discussion of style templates, see Chapter 15, \\u201cTEMPLATE Procedure: Creating a Style Template Procedure\\u201d \\n  in SAS 9.4 Output Delivery System: Procedures Guide.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"TEXT=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: TEXT= 'text-string' ] \\n          \\nInserts text into your RTF output. \\n          \\nRestriction: You cannot use both the NEWFILE= and TEXT= options in the same ODS RTF statement. \\nYou must use a separate ODS RTF statement for each of these options. \\n\\nRequirement: You must enclose a text-string in quotation marks.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"TITLE=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: TITLE= 'title-text'] \\n          \\nInserts the text string that you specify as the title into the metadata of a file.\\n\\ntitle-text \\nis the text in the metadata of a file that indicates the title.\\n\\nRequirement: You must enclose a title-text in quotation marks.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"TOC_DATA\",\"StatementOptionHelp\":{\"#cdata\":\"Instructs ODS to insert contents data into the RTF file.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"TRANTAB=\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: TRANTAB= 'translation-table' \\n          \\nSpecifies the translation table to use when transcoding a file for output.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"OPTIONS\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: OPTIONS (CONTENTS= | DOC= | SECT= | TABLES_OFF= | TOC_DATA= | TOC_LEVEL= | TROWD= | RHDR= | TROWHDRCELL= ) \\n          \\nSpecifies ODS TAGSETS.RTF specific suboptions and a named value. \\n\\n  (CONTENTS= 'YES') \\n  produces a table of contents (TOC) page for RTF documents that are opened in Microsoft Word.\\n\\n  (DOC='QUICK' | 'HELP' | 'SETTINGS') \\n  provides information about the tagset.\\n\\n  (SECT='rtf_control_string' | 'OFF' | 'NONE') \\n  inserts RTF control words into the section data specifications.\\n\\n  (TABLES_OFF='style_elements' | 'STYLE_ELEMENTS' | 'OFF' ) \\n  determines whether tables will be used. \\n\\n  (TOC_DATA ='ON' | 'OFF') \\n  specifies whether to show the contents data in the RTF file.\\n\\n  (TOC_LEVEL ='n') \\n  controls the level of the expansion of the table of contents in RTF documents. This option \\n  must be used with the (CONTENTS=YES) and (TOC_DATA=YES) options specified.\\n  \\n  (TROWD='rtf_control_string' | ' OFF') \\n  inserts raw RTF specifications directly into header descriptions of the table row.\\n\\n  (TRHDR='rtf_control_string' | 'OFF') \\n  inserts raw table row RTF specifications directly into the header description of the table row. \\n\\n  (TROWHDRCELL='text_string' | 'OFF')\\n  inserts raw text into the table row cells. If the RTF Reader does not recognize this text_string, \\n  it applies the raw text to the location where the RTF is being written in the documentation. \\n  Otherwise, the RTF Reader interprets the text_string as RTF control words.\\n  \\n  (VSPACE='ON' | 'OFF')\\n  specifies whether to add or remove space before and after tables. \\n  \\n  (WATERMARK='text_string ' | ' ')\\n  inserts a watermark that is displayed diagonally across each page of the RTF document\"},\"StatementOptionType\":\"S\",\"SubOPtionsKeywords\":\"CONTENTS=|DOC=|SECT=|TABLES_OFF=|TOC_DATA=|TOC_LEVEL=|TROWD=|TRHDR=|TROWHDRCELL=|VSPACE=|WATERMARK=\"},{\"StatementOptionName\":\"PAGEPANELS=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies the number of panels permitted per page before ODS inserts a page break.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"<n>\",\"@Value2\":\"NONE\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Specifies a positive integer. Replace n with an actual value.\",\"@ToolTip2\":\"Specifies that paneling will be handled the way that it has always been handled by  traditional ODS RTF. That is, all of the first panel is written, then all of the  second panel, and so on, until all of the table information is written.\"}},{\"StatementOptionName\":\"TABLEROWS=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: TABLEROWS= n] \\n          \\nSpecifies the number of rows in each table before ODS inserts a page break. If the \\ntable is narrow enough to fit on a page, n lines will be written to the table before \\na page break. If the table is too wide for a page, the page is broken into panels. \\nIn each panel, n rows will be written. When all the panels for n rows have been \\nwritten, a page break is inserted before the next group of panels is written.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"UNIFORM\",\"StatementOptionHelp\":{\"#cdata\":\"Ensures uniformity from page to page within a single table that requires multiple pages.\"},\"StatementOptionType\":\"S\"}],\"#comment\":{}}},{\"StatementName\":\"ODS PACKAGE\",\"StatementHelp\":{\"#cdata\":\"The ODS PACKAGE statement opens, adds to, publishes, or closes one SAS Output Delivery \\nSystem (ODS) package object. \\n      \\nSyntax: \\n(1) ODS PACKAGE (<name>) OPEN <options>;  \\n(2) ODS PACKAGE (<name>) ADD FILE=\\\"file-specification\\\" | DATA=member-specification \\n      MIMETYPE=\\\"string\\\" <PATH=\\\"path-specification\\\"><options>;  \\n(3) ODS PACKAGE (<name>) PUBLISH transport PROPERTIES(transport-property-1=\\\"value-1\\\" ... \\n      transport-property-n=\\\"value-n\\\");  \\n(4) ODS PACKAGE (<name>) CLOSE <CLEAR>; \"},\"StatementOptions\":{\"StatementOption\":[{\"StatementOptionName\":\"ADD\",\"StatementOptionHelp\":{\"#cdata\":\"Adds a file or data set to an ODS package using the specified Multipurpose Internet \\nMail Extensions (MIME) type. \\n\\nRequirement: When using the ADD argument, you must also use the MIMETYPE=, FILE=, or DATA= arguments \\nto specify a file or data set and a MIME type. \"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"OPEN\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: ODS PACKAGE (<name>) OPEN <options>;  \\n          \\nCreates the ODS package object to which the ODS destinations can connect. The ODS \\npackage object holds the package metadata and tracks the locations of any files that \\nare added to the package metadata. \\n\\nThe options for ODS PACKAGE OPEN statement are basically the metadata for the package: \\n\\n  Description=value \\n  Specifies a string for the description for the package or file. \\n\\n  Abstract=value \\n  Specifies a string for the abstract of the package or file. \\n\\n  NameValue=\\\"<name-1=\\\"value-1\\\" ... name-n=\\\"value-n\\\">\\\" \\n  Specifies a string of name/value pairs for the name/value metadata on the package or file. \\n\\n  Template=value \\n  Specifies the name of a package template to use.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"CLOSE\",\"StatementOptionHelp\":{\"#cdata\":\"Deletes the package object. As long as you have not closed a package, you can publish \\nit as many ways and times as you want. \\n\\nTip: Use the CLEAR option to remove files that have been added to the package.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"PUBLISH EXPIRATION=\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: PUBLISH EXPIRATION=<'expiration-date'> \\n          \\nBuilds the ODS package and sends it to the chosen delivery transport. \\n\\nexpiration-date \\nspecifies an expiration date for the package. The date must be a SAS date value.\\n\\nRequirement: expiration-date must be enclosed in quotation marks.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"PUBLISH ARCHIVE PROPERTIES\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: PUBLISH ARCHIVE PROPERTIES(transport-property-1=\\\"value-1\\\"... \\n  transport-property-n=\\\"value-n\\\"\\\")] \\n          \\nPublishes a package to an archive. For a list of transport properties and their values, see \\nthe section on transport properties in the SAS Publishing Framework: Developer's Guide.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"PUBLISH EMAIL PROPERTIES\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: PUBLISH EMAIL PROPERTIES(transport-property-1=\\\"value-1\\\" ... transport-property-n=\\\"value-n\\\") \\n  ADDRESSES(\\\"e-mail-address-1\\\" ... \\\"e-mail-address-n\\\")] \\n          \\nPublishes a package to one or more e-mail addresses. For a list of transport properties \\nand their values, see the section on transport properties in the SAS Publishing Framework: \\nDeveloper's Guide.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"PUBLISH QUEUE PROPERTIES\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: PUBLISH QUEUE PROPERTIES(transport-property-1=\\\"value-1\\\" ...\\n  transport-property-n=\\\"value-n\\\") QUEUES(\\\"queue-1\\\" ... \\\"queue-n\\\")] \\n          \\nPublishes a package to one or more message queues. For a list of transport properties \\nand their values, see the section on transport properties in the SAS Publishing Framework: \\nDeveloper's Guide.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"PUBLISH SUBSCRIBERS PROPERTIES\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: PUBLISH SUBSCRIBERS PROPERTIES(transport-property-1=\\\"value-1\\\" ... transport-property-n=\\\"value-n\\\")] \\n          \\nPublishes a package to subscribers who are associated with the specified channel. \\nFor a list of transport properties and their values, see the section on transport \\nproperties in the SAS Publishing Framework: Developer's Guide.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"PUBLISH WEBDAV PROPERTIES\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: PUBLISH WEBDAV PROPERTIES(transport-property-1=\\\"value-1\\\" ... transport-property-n=\\\"value-n\\\")] \\n          \\nPublishes a package to a WebDAV-compliant server. For a list of transport properties \\nand their values, see the section on transport properties in the SAS Publishing Framework: \\nDeveloper's Guide.\"},\"StatementOptionType\":\"S\"}]}},{\"StatementName\":\"ODS PACKAGE OPEN\",\"StatementHelp\":{\"#cdata\":\"Syntax: ODS PACKAGE (<name>) OPEN <options>;\\n      \\nCreates the ODS package object to which the ODS destinations can connect. The ODS \\npackage object holds the package metadata and tracks the locations of any files that \\nare added to the package metadata. \\n\\nThe options for ODS PACKAGE OPEN statement are basically the metadata for the package: \\n\\n  Description=value \\n  Specifies a string for the description for the package or file. \\n\\n  Abstract=value \\n  Specifies a string for the abstract of the package or file. \\n\\n  NameValue=\\\"<name-1=\\\"value-1\\\" ... name-n=\\\"value-n\\\">\\\" \\n  Specifies a string of name/value pairs for the name/value metadata on the package or file. \\n\\n  Template=value \\n  Specifies the name of a package template to use.\"},\"StatementOptions\":{\"StatementOption\":[{\"StatementOptionName\":\"ABSTRACT=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: ABSTRACT=string] \\n          \\nSpecifies a string for the abstract metadata of the package or file. \\n\\nRestriction: You can use the ABSTRACT= option only with the ADD or OPEN arguments.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"DESCRIPTION=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: DESCRIPTION=string] \\n          \\nSpecifies a string for the description metadata for the package or file.\\n\\nRestriction: You can use the DESCRIPTION= option only with the ADD or OPEN arguments.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"NAMEVALUE=\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: NAMEVALUE=\\\"<name-1=\\\"value-1\\\" ... name-n=\\\"value-n\\\">\\\" \\n          \\nSpecifies a string of name/value pairs for the name/value metadata on the package or file.\\n\\nRestriction: The NAMEVALUE= option can be used only with the ADD or OPEN arguments.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"TEMPLATE=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies the name of a package template to use.\\n\\nRestriction: You can use the TEMPLATE= option only with the ADD or OPEN arguments.\"},\"StatementOptionType\":\"V\"}]}},{\"StatementName\":\"ODS PACKAGE ADD\",\"StatementHelp\":{\"#cdata\":\"Syntax: ODS PACKAGE (<name>) ADD FILE=\\\"file-specification\\\" | DATA=member-specification \\n  MIMETYPE=\\\"string\\\" <PATH=\\\"path-specification\\\"><options>;    \\n      \\nAdds a file or data set to an ODS package using the specified Multipurpose Internet \\nMail Extensions (MIME) type. \\n\\nRequirement: When using the ADD argument, you must also use the MIMETYPE=, FILE=, \\nor DATA= arguments to specify a file or data set and a MIME type.\"},\"StatementOptions\":{\"StatementOption\":[{\"StatementOptionName\":\"ABSTRACT=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: ABSTRACT=string] \\n          \\nSpecifies a string for the abstract metadata of the package or file. \\n\\nRestriction: You can use the ABSTRACT= option only with the ADD or OPEN arguments.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"DESCRIPTION=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: DESCRIPTION=string] \\n          \\nSpecifies a string for the description metadata for the package or file.\\n\\nRestriction: You can use the DESCRIPTION= option only with the ADD or OPEN arguments.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"NAMEVALUE=\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: NAMEVALUE=\\\"<name-1=\\\"value-1\\\" ... name-n=\\\"value-n\\\">\\\" \\n          \\nSpecifies a string of name/value pairs for the name/value metadata on the package or file.\\n\\nRestriction: The NAMEVALUE= option can be used only with the ADD or OPEN arguments.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"TEMPLATE=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies the name of a package template to use.\\n\\nRestriction: You can use the TEMPLATE= option only with the ADD or OPEN arguments.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"FILE=\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: FILE=\\\"file-specification\\\" <TEXT | BINARY> \\n          \\nSpecifies the file that you want to add to an ODS package. \\n\\nfile-specification \\nspecifies one of the following:\\n\\n  external-file  is the name of an external file to add.\\n  Requirement:  You must enclose external-file in quotation marks. \\n   \\n  fileref is a file reference that has been assigned to an external file. Use the \\n  FILENAME statement to assign a fileref. \\n   \\nTEXT \\nspecifies that the file is a text file.\\n\\nBINARY \\nspecifies that the file is a binary file.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"DATA=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: DATA=member-specification] \\n          \\nSpecifies the data set that you want to add to an ODS package. \\n          \\nmember-specification can be in the form libname.membername or membername. \\n\\nRestriction: You can use the DATA= argument only with the ADD argument. \\nRestriction: You cannot add a file and a data set to an ODS package.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"MIMETYPE=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: MIMETYPE=''string\\\"] \\n          \\nSpecifies the Multipurpose Internet Mail Extensions (MIME) type for the file \\nor data set that you are adding to an ODS package. \\n\\nRestriction: You can use the MIMETYPE= argument only with the ADD argument.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"PATH=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: PATH=\\\"path-specification\\\"] \\n          \\nPlaces the file or data set at the specified pathname within an ODS package. \\n\\nRestriction: You can use the PATH= option only with the ADD argument.\"},\"StatementOptionType\":\"V\"}]}},{\"StatementName\":\"ODS PACKAGE CLOSE\",\"StatementHelp\":{\"#cdata\":\"Syntax: ODS PACKAGE (<name>) CLOSE <CLEAR>; \\n      \\nCloses and deletes the package object. As long as you have not closed a package, \\nyou can publish it as many ways and times as you want. \\n\\nTip: Use the CLEAR option to remove files that have been added to the package.\"},\"StatementOptions\":{\"StatementOption\":{\"StatementOptionName\":\"CLEAR\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies that all files that were automatically added to the package will be removed \\nfrom the location to which ODS wrote them. \\n\\nRestriction: You can use the CLEAR option only with the CLOSE argument.\"},\"StatementOptionType\":\"S\"}}},{\"StatementName\":\"ODS PACKAGE PUBLISH\",\"StatementHelp\":{\"#cdata\":\"Syntax: ODS PACKAGE (<name>) PUBLISH transport PROPERTIES(transport-property-1=\\\"value-1\\\" ... transport-property-n=\\\"value-n\\\");  \\n      \\nCloses and deletes the package object. As long as you have not closed a package, \\nyou can publish it as many ways and times as you want. \\n\\nTip: Use the CLEAR option to remove files that have been added to the package.\"},\"StatementOptions\":{\"StatementOption\":[{\"StatementOptionName\":\"EXPIRATION=\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: EXPIRATION=<'expiration-date'> \\n          \\nSpecifies an expiration date for the package. The date must be a SAS date value.\\n\\nRequirement: expiration-date must be enclosed in quotation marks.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"EMAIL\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies an EMAIL deliver transport to use with the PUBLISH action. \\n          \\nSyntax:  EMAIL PROPERTIES(transport-property-1=\\\"value-1\\\" ... transport-property-n=\\\"value-n\\\") \\n   ADDRESSES(\\\"e-mail-address-1\\\" ... \\\"e-mail-address-n\\\") \\n          \\nPublishes a package to one or more e-mail addresses.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"ARCHIVE\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies an ARCHIVE deliver transport to use with the PUBLISH action.\\n          \\nSyntax: ARCHIVE PROPERTIES(transport-property-1=\\\"value-1\\\"... transport-property-n=\\\"value-n\\\"\\\") \\n\\nPublishes a package to an archive.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"QUEUE\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies a QUEUE deliver transport to use with the PUBLISH action.\\n          \\nSyntax: QUEUE PROPERTIES(transport-property-1=\\\"value-1\\\" ... transport-property-n=\\\"value-n\\\") QUEUES(\\\"queue-1\\\" ... \\\"queue-n\\\") \\n\\nPublishes a package to one or more message queues.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"SUBSCRIBERS\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies a SUBSCRIBERS deliver transport to use with the PUBLISH action.\\n          \\nSyntax: SUBSCRIBERS PROPERTIES(transport-property-1=\\\"value-1\\\" ... transport-property-n=\\\"value-n\\\") \\n\\nPublishes a package to subscribers who are associated with the specified channel.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"WEBDAV\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies a WEBDAV deliver transport to use with the PUBLISH action.\\n          \\nSyntax: WEBDAV PROPERTIES(transport-property-1=\\\"value-1\\\" ... transport-property-n=\\\"value-n\\\") \\n\\nPublishes a package to a WebDAV-compliant server.\"},\"StatementOptionType\":\"S\"}]}},{\"StatementName\":\"ODS PACKAGE PUBLISH ARCHIVE\",\"StatementHelp\":{\"#cdata\":\"Syntax: ARCHIVE PROPERTIES(transport-property-1=\\\"value-1\\\"... transport-property-n=\\\"value-n\\\"\\\") \\n      \\nPublishes a package to an archive.\"},\"StatementOptions\":{\"StatementOption\":{\"StatementOptionName\":\"PROPERTIES\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: PROPERTIES(transport-property-1=\\\"value-1\\\"... transport-property-n=\\\"value-n\\\"\\\") \\n          \\nFor a list of transport properties and their values, see the section on transport \\nproperties in the SAS Publishing Framework: Developer's Guide.\"},\"StatementOptionType\":\"S\"}}},{\"StatementName\":\"ODS PACKAGE PUBLISH EMAIL\",\"StatementHelp\":{\"#cdata\":\"Syntax: EMAIL PROPERTIES(transport-property-1=\\\"value-1\\\"... transport-property-n=\\\"value-n\\\"\\\") \\n  ADDRESSES(\\\"e-mail-address-1\\\" ... \\\"e-mail-address-n\\\") \\n      \\nPublishes a package to one or more e-mail addresses.\"},\"StatementOptions\":{\"StatementOption\":[{\"StatementOptionName\":\"PROPERTIES\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: PROPERTIES(transport-property-1=\\\"value-1\\\"... transport-property-n=\\\"value-n\\\"\\\") \\n          \\nFor a list of transport properties and their values, see the section on transport \\nproperties in the SAS Publishing Framework: Developer's Guide.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"ADDRESSES\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: ADDRESSES(\\\"e-mail-address-1\\\" ... \\\"e-mail-address-n\\\")  \\n          \\nSpecifies one or more email addresses.\"},\"StatementOptionType\":\"S\"}]}},{\"StatementName\":\"ODS PACKAGE PUBLISH QUEUE\",\"StatementHelp\":{\"#cdata\":\"Syntax: QUEUE PROPERTIES(transport-property-1=\\\"value-1\\\"... transport-property-n=\\\"value-n\\\"\\\") \\n   QUEUES(\\\"queue-1\\\" ... \\\"queue-n\\\") \\n      \\nPublishes a package to one or more message queues.\"},\"StatementOptions\":{\"StatementOption\":[{\"StatementOptionName\":\"PROPERTIES\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: PROPERTIES(transport-property-1=\\\"value-1\\\"... transport-property-n=\\\"value-n\\\"\\\") \\n          \\nFor a list of transport properties and their values, see the section on transport \\nproperties in the SAS Publishing Framework: Developer's Guide.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"QUEUES\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: QUEUES(\\\"queue-1\\\" ... \\\"queue-n\\\")  \\n          \\nList of one or more message queues.\"},\"StatementOptionType\":\"S\"}]}},{\"StatementName\":\"ODS PACKAGE PUBLISH SUBSCRIBERS\",\"StatementHelp\":{\"#cdata\":\"Syntax: SUBSCRIBERS PROPERTIES(transport-property-1=\\\"value-1\\\"... transport-property-n=\\\"value-n\\\"\\\") \\n      \\nPublishes a package to subscribers who are associated with the specified channel.\"},\"StatementOptions\":{\"StatementOption\":{\"StatementOptionName\":\"PROPERTIES\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: PROPERTIES(transport-property-1=\\\"value-1\\\"... transport-property-n=\\\"value-n\\\"\\\") \\n          \\nFor a list of transport properties and their values, see the section on transport \\nproperties in the SAS Publishing Framework: Developer's Guide.\"},\"StatementOptionType\":\"S\"}}},{\"StatementName\":\"ODS PACKAGE PUBLISH WEBDAV\",\"StatementHelp\":{\"#cdata\":\"Syntax: SUBSCRIBERS PROPERTIES(transport-property-1=\\\"value-1\\\"... transport-property-n=\\\"value-n\\\"\\\") \\n      \\nPublishes a package to a WebDAV-compliant server. \"},\"StatementOptions\":{\"StatementOption\":{\"StatementOptionName\":\"PROPERTIES\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: PROPERTIES(transport-property-1=\\\"value-1\\\"... transport-property-n=\\\"value-n\\\"\\\") \\n          \\nFor a list of transport properties and their values, see the section on transport \\nproperties in the SAS Publishing Framework: Developer's Guide.\"},\"StatementOptionType\":\"S\"}}},{\"StatementName\":\"ODS TAGSETS\",\"StatementHelp\":{\"#cdata\":\"Opens, manages, or closes the specified tagset destination.\\n      \\nSyntax: \\n(1) ODS directory.tagset-name file-specification <option(s)>;  \\n(2) ODS directory.tagset-name file-specification action; \"},\"StatementOptions\":null},{\"StatementName\":\"ODS SELECT\",\"StatementHelp\":{\"#cdata\":\"Syntax: ODS <ODS-destination> SELECT selection(s) | ALL | NONE; \\n      \\nSpecifies output objects for ODS destinations. Each selection has the following form: \\n\\noutput-object <(PERSIST)>  \\n\\noutput-object \\nspecifies the output object to select. \\n\\nTo specify an output object, you need to know which output objects your SAS program \\nproduces. The ODS TRACE statement writes to the SAS log a trace record that includes \\nthe path, the label, and other information about each output object that your SAS \\nprogram produces.\\n\\n(PERSIST) \\nkeeps the output-object that precedes the PERSIST option in the selection list, even \\nif the DATA or procedure step ends, until you explicitly modify the list with one of \\nthe following:\\n\\n    o any ODS EXCLUDE statement\\n    o ODS SELECT NONE\\n    o ODS SELECT ALL\\n    o an ODS SELECT statement that applies to the same output object but does not \\n      specify PERSIST\\n\\nRequirement: You must enclose PERSIST in parentheses.\"},\"StatementOptions\":{\"StatementOption\":[{\"StatementOptionName\":\"ALL\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies that ODS send all of the output objects to the open destination. \\n\\nAlias: ODS SELECT DEFAULT \\n\\nInteraction: If you specify ALL without specifying a destination, ODS sets the overall \\nlist to SELECT ALL and sets all other lists to their defaults.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"NONE\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies that ODS does not send any output objects to the open destination.\\n\\nInteraction: If you specify NONE and you do not specify a destination, ODS sets the overall list to \\nSELECT NONE and sets all other lists to their defaults. \\n\\nTip: Using the NONE action is different from closing a destination. The output destination is still \\nopen, but ODS restricts the output that it sends to the destination. \\n\\nTip: To temporarily suspend a destination, use ODS SELECT NONE. Use ODS SELECT ALL when you want to \\nresume sending output to the suspended destination.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"NOWARN\",\"StatementOptionHelp\":{\"#cdata\":\"Suppresses the warning that an output object was requested but not created.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"WHERE=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: WHERE=where-expression] \\n          \\nSelects output objects that meet a particular condition. For example, the following \\nstatement selects only output objects with the word \\\"Histogram\\\" in their name: \\n\\n  ods select where=(_name_ ?  'Histogram');\\n\\nwhere-expression \\nis an arithmetic or logical expression that consists of a sequence of operators \\nand operands. where-expression has this form: \\n\\n(subsetting-variable <comparison-operator where-expression-n>)  \\n\\n    subsetting-variable \\n    Subsetting variables are a special kind of WHERE expression operand used by SAS \\n    to help you find common values in items. For example, this ODS SELECT statement \\n    selects only output objects with the path City_Pop_90.TestsForLocation : \\n\\n    ods select  / where=(_path_ = 'City_Pop_90.TestsForLocation' );\\n    subsetting-variable is one of the following:\\n\\n    _LABEL_ --  is the label of the output object\\n    _LABELPATH_ -- is the label path of the output object\\n    _NAME_ -- is the name of the output object.\\n    _PATH_ -- is the full or partial path of the output object. \\n    \\noperator \\ncompares a variable with a value or with another variable. operator can be AND, OR \\nNOT, OR, AND NOT, or a comparison operator (= EQ ^= ~= <> NE > GT < LT >= GE <= LE).\"},\"StatementOptionType\":\"V\"}]}},{\"StatementName\":\"ODS EXCLUDE\",\"StatementHelp\":{\"#cdata\":\"Syntax: ODS <ODS-destination> EXCLUDE exclusions(s) | ALL | NONE; \\n      \\nSpecifies output objects to exclude from ODS destinations. Each exclusion has the following form: \\n\\n  output-object <(PERSIST)>  \\n\\noutput-object \\nspecifies one or more output objects to exclude. To specify an output object, you need to know \\nwhich output objects your SAS program produces. The ODS TRACE statement writes to the SAS log a \\ntrace record that includes the path, the label, and other information about each output object \\nthat is produced.\\n\\n(PERSIST) \\nkeeps the output-object that precedes the PERSIST option in the exclusion list, even until you \\nexplicitly modify the list with any of the following ODS statements:\\n\\n    o any ODS SELECT statement\\n    o ODS EXCLUDE NONE\\n    o ODS EXCLUDE ALL\\n    o an ODS EXCLUDE statement that applies to the same output object but does not specify PERSIST\\n\\nThis action is true even if the DATA or procedure step ends.\\n\\nRequirement: You must enclose PERSIST in parentheses.\"},\"StatementOptions\":{\"StatementOption\":[{\"StatementOptionName\":\"ALL\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies that ODS does not send any output objects to the open destination.\\n\\nAlias: ODS EXCLUDE DEFAULT \\n\\nInteraction: If you specify ALL without specifying a destination, ODS sets the overall list to \\nEXCLUDE ALL and sets all other lists to their defaults. \\n\\nTip: Using ODS EXCLUDE ALL is different from closing a destination. The destination remains open, \\nbut no output objects are sent to it. \\n\\nTip: To temporarily suspend a destination, use ODS SELECT NONE. Use ODS SELECT ALL when you want \\nto resume sending output to the suspended destination. \"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"NONE\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies that ODS send all of the output objects to the open destination.\\n\\nInteraction: If you specify the NONE argument without specifying a destination, ODS sets the overall \\nlist to EXCLUDE NONE and sets all other lists to their defaults. \\n\\nTip: ODS EXCLUDE NONE has the same effect as ODS SELECT ALL. \\n\\nTip: To temporarily suspend a destination, use ODS SELECT NONE. Use ODS SELECT ALL when you want to \\nresume sending output to the suspended destination.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"NOWARN\",\"StatementOptionHelp\":{\"#cdata\":\"Suppresses the warning that an output object was requested but not created.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"WHERE=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: WHERE=where-expression] \\n          \\nExcludes output objects that meet a particular condition. For example, the following statement \\nexcludes only output objects with the word \\\"Histogram\\\" in their name: \\n\\n  ods exclude where=(_name_ ?  'Histogram');\\n\\nwhere-expression \\nis an arithmetic or logical expression that consists of a sequence of operators and operands. \\n\\nwhere-expression has this form: \\n\\n(subsetting-variable <comparison-operator where-expression-n>)  \\n\\n    subsetting-variable \\n    Subsetting variables are a special kind of WHERE expression operand used by SAS to help you find \\n    common values in items. For example, this EXCLUDE statement excludes only output objects with \\n    the path City_Pop_90.TestsForLocation : \\n\\n    ods exclude  / where=(_path_ = 'City_Pop_90.TestsForLocation' );\\n    subsetting-variable is one of the following:\\n\\n    _LABEL_ --  is the label of the output object\\n    _LABELPATH_ -- is the label path of the output object\\n    _NAME_ -- is the name of the output object.\\n    _PATH_ -- is the full or partial path of the output object. \\n    \\noperator \\ncompares a variable with a value or with another variable. operator can be AND, OR NOT, OR, AND NOT, \\nor a comparison operator (= EQ ^= ~= <> NE > GT < LT >= GE <= LE).\"},\"StatementOptionType\":\"V\"}]}},{\"StatementName\":\"ODS PATH\",\"StatementHelp\":{\"#cdata\":\"Syntax: ODS PATH <(APPEND)|(PREPEND)|(REMOVE)> location(s); | ODS PATH path-argument;\\n    \\nSpecifies locations to write to or read from when creating or using PROC TEMPLATE \\ndefinitions and the order in which to search for them. \\n\\nEach location has the following form:\\n\\n  <libref.>item-store <(READ | UPDATE | WRITE)>  \\n\\nwhere:\\n\\n<libref.>item-store \\nidentifies an item store to read from, to write to, or to update. If an item store does not already \\nexist, then the ODS PATH statement will create it.\\n\"},\"StatementOptions\":{\"StatementOption\":[{\"StatementOptionName\":\"(APPEND)\",\"StatementOptionHelp\":{\"#cdata\":\"Adds one or more locations to the end of a path. When you append a location to a path, \\nall duplicate instances (same name and same permissions) of that item store are removed \\nfrom the path. Only the last item store with the same name and permissions are kept.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"(PREPEND)\",\"StatementOptionHelp\":{\"#cdata\":\"Adds one or more locations to the beginning of a path. When you prepend a location with \\nupdate permissions to a path, all duplicate instances (same name and same permissions) \\nof that item store are removed from the path. Only the first item store with the same \\nname and permissions are kept.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"(REMOVE)\",\"StatementOptionHelp\":{\"#cdata\":\"Removes one or more locations from a path.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"RESET\",\"StatementOptionHelp\":{\"#cdata\":\"Sets the ODS path to the default settings SASUSER.TEMPLAT (UPDATE) and SASHELP.TMPLMST (READ).\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"SHOW\",\"StatementOptionHelp\":{\"#cdata\":\"Displays the current ODS path.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"VERIFY\",\"StatementOptionHelp\":{\"#cdata\":\"Sets the ODS path to include only templates supplied by SAS. VERIFY is the same as specifying \\nODS PATH SASHELP.TMPLMST (READ).\"},\"StatementOptionType\":\"S\"}]}},{\"StatementName\":\"ODS _ALL_ CLOSE\",\"StatementHelp\":{\"#cdata\":\"Syntax: ODS _ALL_ CLOSE; \\n      \\nThe ODS _ALL_ CLOSE statement closes all open ODS output destinations.\\n\\nNote: Be sure to open one or more ODS destinations before you execute your next program so \\nthat you can view or print your output within the same SAS session.\"},\"StatementOptions\":null},{\"StatementName\":\"ODS EPUB\",\"StatementHelp\":{\"#cdata\":\"Opens, manages, or closes the EPUB and EPUB2 destinations, which generate EPUB e-books. \\n      \\nSyntax: \\nODS EPUB <(<ID=> identifier)> < action> ; \\nODS EPUB <(<ID=> identifier)> <option(s)> ; \\nODS EPUB2 <(<ID=> identifier)> < action> ; \\nODS EPUB2 <(<ID=> identifier)> <option(s)> ;\"},\"StatementOptions\":{\"StatementOption\":[{\"StatementOptionName\":\"CLOSE\",\"StatementOptionHelp\":{\"#cdata\":\"Closes the destination and any files that are associated with it.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"EXCLUDE\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: EXCLUDE exclusion(s)| ALL | NONE \\n          \\nExcludes one or more output objects from the destination.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"EXCLUDE ALL\",\"StatementOptionHelp\":{\"#cdata\":\"Excludes all output objects from the destination.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"EXCLUDE NONE\",\"StatementOptionHelp\":{\"#cdata\":\"Excludes no output objects from the destination.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"SELECT\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: SELECT selection(s) | ALL | NONE \\n          \\nSelects output objects for the specified destination.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"SELECT ALL\",\"StatementOptionHelp\":{\"#cdata\":\"Selects all output objects for the specified destination.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"SELECT NONE\",\"StatementOptionHelp\":{\"#cdata\":\"Selects no output objects for the specified destination.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"SHOW\",\"StatementOptionHelp\":{\"#cdata\":\"Writes the current selection list or exclusion list for the destination to the SAS log.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"ANCHOR=\",\"StatementOptionType\":\"V\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: ANCHOR='anchor-name'] \\n          \\nSpecifies a unique base name for the anchor tag that identifies each output object \\nin the current body file.\"}},{\"StatementOptionName\":\"BOX_SIZING=\",\"StatementOptionType\":\"V\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: BOX_SIZING=(CONTENT_BOX | BORDER_BOX)] \\n          \\nSpecifies how to measure the width of cells. This option overrides the default value of BOX_SIZING \\nfor a destination. The default value can be found in the SAS registry. In the SAS Registry, expand \\nthe ODS -> DESTINATION -> SCRIPT folder to locate the box_sizing= default for ODS EPUB destinations. \\nFor information about using the SAS Registry, see \\u201cChanging SAS Registry Settings for ODS\\u201d on page 44.\\n\\nBOX_SIZING is defined by the WC3 specification, the CSS3 Module. For more information, refer to the \\nCSS3 Box Model specification at http://www.w3.org/TR/2002/WD-css3-box-20021024/#box-sizing. \"}},{\"StatementOptionName\":\"CSSSTYLE=\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: CSSSTYLE='file-specification'<(media-type-1 <...media-type-10>)> \\n    \\nSpecifies a cascading style sheet to apply to your output. \\n\\nfile-specification \\nspecifies a file, fileref, or URL that contains CSS code. \\n\\n    file-specification is one of the following:\\n\\n    \\\"external-file\\\" \\n    is the name of the external file.\\n    Requirement: You must enclose external-file in quotation marks. \\n\\n    fileref \\n    is a file reference that has been assigned to an external file. Use the FILENAME \\n    statement to assign a fileref. \\n\\n    \\\"URL\\\" \\n    is a URL to an external file.\\n    Requirement: You must enclose external-file in quotation marks. \\n\\n(media-type-1<.. media-type-10>) \\nspecifies one or more media blocks that corresponds to the type of media that your output will be \\nrendered on. CSS uses media type blocks to specify how a document is to be presented on different \\nmedia: on the screen, on paper, with a speech synthesizer, with a braille device, and so on.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"DEVICE=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: DEVICE= device-driver] \\n          \\nSpecifies the name of a device driver. ODS automatically selects an optimal default \\ndevice for each open output destination. \\n\\nThe following table lists the default devices for the most common ODS output destinations. These default devices \\nare used when graphics are created using SAS/GRAPH or ODS Graphics. \\n\\nOutput Destination Default Device\\nEPUB            PNG\\nHTML            PNG\\nHTML5           SVG\\nLISTING         PNG\\nMeasured RTF    EMF\\nRTF             EMF\\nMarkup Tagsets  PNG\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"DOM\",\"StatementOptionType\":\"S|V\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: DOM<=\\\"external-file\\\">] \\n          \\nSpecifies that the ODS document object model is written to the SAS log or an external file. \\n\\nexternal-file\\n  is the name of an external output file.\\n\\n  Requirement: You must enclose external-file in quotation marks.\"}},{\"StatementOptionName\":\"ENCODING=\",\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"'utf-8'\",\"@Value2\":\"'utf-16'\",\"@Value3\":\"'utf-16be'\",\"@Value4\":\"'utf-16le'\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Unicode Transformation Format - 8-bit\",\"@ToolTip2\":\"Unicode Transformation Format - 16-bit\",\"@ToolTip3\":\"Unicode Transformation Format - 16-bit Big Endian\",\"@ToolTip4\":\"Unicode Transformation Format - 16-bit Little Endian\"},\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: ENCODING=local-character-set-encoding] \\n          \\nOverrides the encoding for input or output processing (transcodes) of external files.\"}},{\"StatementOptionName\":\"EVENT=\",\"StatementOptionType\":\"V\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: EVENT=event-name (FILE= | FINISH | LABEL= | NAME= | START | STYLE= |TARGET= | TEXT= | URL= )\\n    \\nSpecifies an event and the value for event variables that are associated with the event. \\n\\n(FILE= BODY | CODE | CONTENTS | DATA | FRAME | PAGES | STYLESHEET);\\n  triggers one of the known types of output files that correspond to the BODY=, CODE=, CONTENTS=, FRAME=, PAGES=, and STYLESHEET= options.\\n(FINISH)\\n  triggers the finish section of an event.\\n(LABEL='variable-value')\\n  specifies the value for the LABEL event variable.\\n  Requirement: variable-value must be enclosed in quotation marks.\\n(NAME='variable-value')\\n  specifies the value for the NAME event variable.\\n  Requirement: variable-value must be enclosed in quotation marks. \\n(START)\\n  triggers the start section of an event.\\n(STYLE=style-element)\\n  specifies a style element.\\n(TARGET='variable-value')\\n  specifies the value for the TARGET event variable. \\n(TEXT='variable-value')\\n  specifies the value for the TEXT event variable.\\n  Requirement: variable-value must be enclosed in quotation marks.\\n(URL='variable-value')\\n  specifies the value for the URL event variable.\\n  Requirement: variable-value must be enclosed in quotation marks.\"},\"SubOptionsKeywords\":\"FILE=|FINISH|LABEL=|NAME|START|STYLE=|TARGET=|TEXT=|URL=\"},{\"StatementOptionName\":\"GFOOTNOTE\",\"StatementOptionType\":\"S\",\"StatementOptionHelp\":{\"#cdata\":\"Prints footnotes that are created by SAS/GRAPH, the SGPLOT procedure, the SGPANEL procedure, or the \\nSGSCATTER procedure. The footnotes appear inside the graph borders.\"}},{\"StatementOptionName\":\"NOGFOOTNOTE\",\"StatementOptionType\":\"S\",\"StatementOptionHelp\":{\"#cdata\":\"Prints footnotes that are created by ODS, which appears outside the graph borders.\"}},{\"StatementOptionName\":\"GTITLE\",\"StatementOptionType\":\"S\",\"StatementOptionHelp\":{\"#cdata\":\"Prints the title that is created by SAS/GRAPH, the SGPLOT procedure, the SGPANEL procedure, or the \\nSGSCATTER procedure. The title appears inside the graph borders.\"}},{\"StatementOptionName\":\"NOGTITLE\",\"StatementOptionType\":\"S\",\"StatementOptionHelp\":{\"#cdata\":\"Prints the title that is created by ODS, which appears outside the graph borders.\"}},{\"StatementOptionName\":\"ID=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: (ID=identifier)] \\n          \\nEnables you to run multiple instances of the same destination at the same time. \\nEach instance can have different options.\"},\"StatementOptionType\":\"V\",\"SubOptionsKeywords\":\"ID=\"},{\"StatementOptionName\":\"IMAGE_DPI=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies the image resolution of ODS graphics output. \\n          \\nAlias: DPI=\\nDefault: ODS uses the resolution specified in the SAS registry.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"NEWCHAPTER=\",\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"BYGROUP\",\"@Value2\":\"NONE\",\"@Value3\":\"NOW\",\"@Value4\":\"OUTPUT\",\"@Value5\":\"PAGE\",\"@Value6\":\"PROC\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Wtarts a new chapter for the results of each BY group.\",\"@ToolTip2\":\"Writes all output to the current chapter.\",\"@ToolTip3\":\"Starts a new chapter and writes all output to that new chapter.\",\"@ToolTip4\":\"Starts a new chapter for each output object.  Alias: TABLE\",\"@ToolTip5\":\"Starts a new chapter for each page of output. A page break occurs when you start a new procedure,  or when a procedure explicitly starts a new page.  Default: NONE\",\"@ToolTip6\":\"Starts a new chapter for each procedure.\"},\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: NEWCHAPTER=starting-point] \\n          \\nCreates a new chapter at the specified starting point.\"}},{\"StatementOptionName\":\"OPTIONS\",\"StatementOptionType\":\"S\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: OPTIONS (< suboption(s)>)] \\n          \\nSpecifies destination-specific suboptions with space-delimited name='value' pairs. \\n\\nsuboption(s) are the following:\\n  (CONTENTS= 'YES' | 'NO' | 'OFF' | 'ON')\\n    generates a table of contents \\n    \\n  (CONTRIBUTOR='text-string')\\n    specifies one or more contributor\\u2019s names responsible for making contributions to the content of the e-book. \\n    Delimit multiple contributors with commas.\\n  (COVER_IMAGE='external-file')\\n    specifies a cover image for the e-book. \\n  (COVERAGE='text-string')\\n    specifies the extent or scope of the content of the e-book.\\n  (CREATOR='text-string')\\n    specifies one or more primary creators or authors of the e-book.     \\n  (OPTIMIZE_FOR_IBOOKS= 'YES' | 'NO' | 'OFF' | 'ON')\\n    optimizes for iBooks e-book reader.\\n  (PAGEBREAK= 'YES' | 'NO' | 'OFF' | 'ON' | 'AUTO')\\n    honors explicit page breaks. The default (AUTO) allows ODS and procedures to determine when page breaks occur.\\n  (PUBLISHER='text-string')\\n    specifies the publisher of the e-book.\\n  (RELATION='text-string')\\n    specifies a reference to a related resource.\\n  (RIGHTS='text-string')\\n    specifies information about rights held in and over the e-book.\\n  (SOURCE='text-string')\\n    specifies information about a prior resource from which the e-book was derived.\\n  (START='chapter-number')\\n    specifies the component (chapter) at which an e-book first opens.\\n    Default:  1\\n  (SUBJECT='text-string')\\n    specifies one or more topics about the content of the e-book. Delimit multiple subjects with commas.\\n  (TYPE='text-string')\\n    specifies the nature or genre of the content of the e-book.\"}},{\"StatementOptionName\":\"STYLE=\",\"StatementOptionType\":\"V\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: STYLE= style-definition] \\n          \\nSpecifies the style template to use in writing the output files. \\n\\nstyle-definition\\n  describes how to display the presentation aspects (color, font face, font size, and so on) of your SAS output. \\n  A style template determines the overall appearance of the documents that use it. Each style template consists \\n  of style elements.\\n\\n  Default: The default style for EPUB is Daisy.\"}},{\"StatementOptionName\":\"STYLESHEET=\",\"StatementOptionType\":\"V\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: STYLESHEET= ( URL= \\u2018external-file(s)\\u2019 )] \\n          \\nSpecifies one or more stylesheet files to apply to the output.\\n\\n(URL= 'external-file(s)\\u2019)\\n  specifies one or more space-delimited external stylesheet filenames.\"}},{\"StatementOptionName\":\"TITLE=\",\"StatementOptionType\":\"V\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: TITLE='text-string'] \\n          \\nString'inserts the title into the metadata of the e-book. The title also appears as an identifier \\nin the e-book reader library. \\n\\nDefault: 'SAS Output'\\nRequirement: Every EPUB e-book must have a title.\\n\\nNote:\\nThis title is the title of the book and not a SAS title.\"}},{\"StatementOptionName\":\"WORK=\",\"StatementOptionType\":\"V\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: WORK=directory-name'] \\n          \\nSpecifies a work directory for constructing the e-book. \\n\\ndirectory-name\\n  is the name of the directory.\"}}]}},{\"StatementName\":\"ODS EPUB3\",\"StatementHelp\":{\"#cdata\":\"Opens, manages, or closes the EPUB3 destination, which generates EPUB e-books. \\n      \\nSyntax: \\nODS EPUB3 <(<ID=> identifier)> < action> ; \\nODS EPUB3 <(<ID=> identifier)> <option(s)> ; \"},\"StatementOptions\":{\"StatementOption\":[{\"StatementOptionName\":\"CLOSE\",\"StatementOptionHelp\":{\"#cdata\":\"Closes the destination and any files that are associated with it.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"EXCLUDE\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: EXCLUDE exclusion(s)| ALL | NONE \\n          \\nExcludes one or more output objects from the destination.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"EXCLUDE ALL\",\"StatementOptionHelp\":{\"#cdata\":\"Excludes all output objects from the destination.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"EXCLUDE NONE\",\"StatementOptionHelp\":{\"#cdata\":\"Excludes no output objects from the destination.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"SELECT\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: SELECT selection(s) | ALL | NONE \\n          \\nSelects output objects for the specified destination.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"SHOW\",\"StatementOptionHelp\":{\"#cdata\":\"Writes the current selection list or exclusion list for the destination to the SAS log.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"ANCHOR=\",\"StatementOptionType\":\"V\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: ANCHOR='anchor-name'] \\n          \\nSpecifies a unique base name for the anchor tag that identifies each output object \\nin the current body file.\"}},{\"StatementOptionName\":\"BOX_SIZING=\",\"StatementOptionType\":\"V\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: BOX_SIZING=(CONTENT_BOX | BORDER_BOX)] \\n          \\nSpecifies how to measure the width of cells. This option overrides the default value of BOX_SIZING \\nfor a destination. The default value can be found in the SAS registry. In the SAS Registry, expand \\nthe ODS -> DESTINATION -> SCRIPT folder to locate the box_sizing= default for ODS EPUB destinations. \\nFor information about using the SAS Registry, see \\u201cChanging SAS Registry Settings for ODS\\u201d on page 44.\\n\\nBOX_SIZING is defined by the WC3 specification, the CSS3 Module. For more information, refer to the \\nCSS3 Box Model specification at http://www.w3.org/TR/2002/WD-css3-box-20021024/#box-sizing. \"}},{\"StatementOptionName\":\"CSSSTYLE=\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: CSSSTYLE='file-specification'<(media-type-1 <...media-type-10>)> \\n    \\nSpecifies a cascading style sheet to apply to your output. \\n\\nfile-specification \\nspecifies a file, fileref, or URL that contains CSS code. \\n\\n    file-specification is one of the following:\\n\\n    \\\"external-file\\\" \\n    is the name of the external file.\\n    Requirement: You must enclose external-file in quotation marks. \\n\\n    fileref \\n    is a file reference that has been assigned to an external file. Use the FILENAME \\n    statement to assign a fileref. \\n\\n    \\\"URL\\\" \\n    is a URL to an external file.\\n    Requirement: You must enclose external-file in quotation marks. \\n\\n(media-type-1<.. media-type-10>) \\nspecifies one or more media blocks that corresponds to the type of media that your output will be \\nrendered on. CSS uses media type blocks to specify how a document is to be presented on different \\nmedia: on the screen, on paper, with a speech synthesizer, with a braille device, and so on.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"DEVICE=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: DEVICE= device-driver] \\n          \\nSpecifies the name of a device driver. ODS automatically selects an optimal default \\ndevice for each open output destination. \\n\\nThe following table lists the default devices for the most common ODS output destinations. These default devices \\nare used when graphics are created using SAS/GRAPH or ODS Graphics. \\n\\nOutput Destination Default Device\\nEPUB            PNG\\nHTML            PNG\\nHTML5           SVG\\nLISTING         PNG\\nMeasured RTF    EMF\\nRTF             EMF\\nMarkup Tagsets  PNG\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"DOM\",\"StatementOptionType\":\"S|V\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: DOM<=\\\"external-file\\\">] \\n          \\nSpecifies that the ODS document object model is written to the SAS log or an external file. \\n\\nexternal-file\\n  is the name of an external output file.\\n\\n  Requirement: You must enclose external-file in quotation marks.\"}},{\"StatementOptionName\":\"ENCODING=\",\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"'utf-8'\",\"@Value2\":\"'utf-16'\",\"@Value3\":\"'utf-16be'\",\"@Value4\":\"'utf-16le'\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Unicode Transformation Format - 8-bit\",\"@ToolTip2\":\"Unicode Transformation Format - 16-bit\",\"@ToolTip3\":\"Unicode Transformation Format - 16-bit Big Endian\",\"@ToolTip4\":\"Unicode Transformation Format - 16-bit Little Endian\"},\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: ENCODING=local-character-set-encoding] \\n          \\nOverrides the encoding for input or output processing (transcodes) of external files.\"}},{\"StatementOptionName\":\"EVENT=\",\"StatementOptionType\":\"V\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: EVENT=event-name (FILE= | FINISH | LABEL= | NAME= | START | STYLE= |TARGET= | TEXT= | URL= )\\n    \\nSpecifies an event and the value for event variables that are associated with the event. \\n\\n(FILE= BODY | CODE | CONTENTS | DATA | FRAME | PAGES | STYLESHEET);\\n  triggers one of the known types of output files that correspond to the BODY=, CODE=, CONTENTS=, FRAME=, PAGES=, and STYLESHEET= options.\\n(FINISH)\\n  triggers the finish section of an event.\\n(LABEL='variable-value')\\n  specifies the value for the LABEL event variable.\\n  Requirement: variable-value must be enclosed in quotation marks.\\n(NAME='variable-value')\\n  specifies the value for the NAME event variable.\\n  Requirement: variable-value must be enclosed in quotation marks. \\n(START)\\n  triggers the start section of an event.\\n(STYLE=style-element)\\n  specifies a style element.\\n(TARGET='variable-value')\\n  specifies the value for the TARGET event variable. \\n(TEXT='variable-value')\\n  specifies the value for the TEXT event variable.\\n  Requirement: variable-value must be enclosed in quotation marks.\\n(URL='variable-value')\\n  specifies the value for the URL event variable.\\n  Requirement: variable-value must be enclosed in quotation marks.\"},\"SubOptionsKeywords\":\"FILE=|FINISH|LABEL=|NAME|START|STYLE=|TARGET=|TEXT=|URL=\"},{\"StatementOptionName\":\"GFOOTNOTE\",\"StatementOptionType\":\"S\",\"StatementOptionHelp\":{\"#cdata\":\"Prints footnotes that are created by SAS/GRAPH, the SGPLOT procedure, the SGPANEL procedure, or the \\nSGSCATTER procedure. The footnotes appear inside the graph borders.\"}},{\"StatementOptionName\":\"NOGFOOTNOTE\",\"StatementOptionType\":\"S\",\"StatementOptionHelp\":{\"#cdata\":\"Prints footnotes that are created by ODS, which appears outside the graph borders.\"}},{\"StatementOptionName\":\"GTITLE\",\"StatementOptionType\":\"S\",\"StatementOptionHelp\":{\"#cdata\":\"Prints the title that is created by SAS/GRAPH, the SGPLOT procedure, the SGPANEL procedure, or the \\nSGSCATTER procedure. The title appears inside the graph borders.\"}},{\"StatementOptionName\":\"NOGTITLE\",\"StatementOptionType\":\"S\",\"StatementOptionHelp\":{\"#cdata\":\"Prints the title that is created by ODS, which appears outside the graph borders.\"}},{\"StatementOptionName\":\"ID=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: (ID=identifier)] \\n          \\nEnables you to run multiple instances of the same destination at the same time. \\nEach instance can have different options.\"},\"StatementOptionType\":\"V\",\"SubOptionsKeywords\":\"ID=\"},{\"StatementOptionName\":\"IMAGE_DPI=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies the image resolution of ODS graphics output. \\n          \\nAlias: DPI=\\nDefault: ODS uses the resolution specified in the SAS registry.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"NEWCHAPTER=\",\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"BYGROUP\",\"@Value2\":\"NONE\",\"@Value3\":\"NOW\",\"@Value4\":\"OUTPUT\",\"@Value5\":\"PAGE\",\"@Value6\":\"PROC\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Wtarts a new chapter for the results of each BY group.\",\"@ToolTip2\":\"Writes all output to the current chapter.\",\"@ToolTip3\":\"Starts a new chapter and writes all output to that new chapter.\",\"@ToolTip4\":\"Starts a new chapter for each output object.  Alias: TABLE\",\"@ToolTip5\":\"Starts a new chapter for each page of output. A page break occurs when you start a new procedure,  or when a procedure explicitly starts a new page.  Default: NONE\",\"@ToolTip6\":\"Starts a new chapter for each procedure.\"},\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: NEWCHAPTER=starting-point] \\n          \\nCreates a new chapter at the specified starting point.\"}},{\"StatementOptionName\":\"OPTIONS\",\"StatementOptionType\":\"S\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: OPTIONS (< suboption(s)>)] \\n          \\nSpecifies destination-specific suboptions with space-delimited name='value' pairs. \\n\\nsuboption(s) are the following:\\n  (CONTENTS= 'YES' | 'NO' | 'OFF' | 'ON')\\n    generates a table of contents     \\n  (CONTRIBUTOR='text-string')\\n    specifies one or more contributor\\u2019s names responsible for making contributions to the content of the e-book. \\n    Delimit multiple contributors with commas.\\n  (COVER_IMAGE='external-file')\\n    specifies a cover image for the e-book. \\n  (COVERAGE='text-string')\\n    specifies the extent or scope of the content of the e-book.\\n  (CREATOR='text-string')\\n    specifies one or more primary creators or authors of the e-book. \\n  (DEFEAT_IBOOKS_CACHING= 'YES' | 'NO' | 'OFF' | 'ON')\\n    defeats iBooks e-book reader's caching of e-books that have the same title.\\n  (DESCRIPTION='text-string')\\n    specifies a description of the content of the e-book.\\n  EMBEDDED_FONTS='fonts')    \\n    specifies a list of fonts to be embedded in the e-book.\\n  (ISBN='isbn')\\n    specifies a 13-digit International Standard Book Number (ISBN) for the e-book. If not specified, \\n    a universal unique identifier (UUID) is generated for the e-book.\\n  (NONLINEAR= 'NONE' | 'CHAPTER' | 'BATCH' | 'TABLE' | 'ALL')\\n    specifies output to be written to the non-linear section of the e-book.\\n  (OPTIMIZE_FOR_IBOOKS= 'YES' | 'NO' | 'OFF' | 'ON')\\n    optimizes for iBooks e-book reader.\\n  (PAGEBREAK= 'YES' | 'NO' | 'OFF' | 'ON' | 'AUTO')\\n    honors explicit page breaks. The default (AUTO) allows ODS and procedures to determine when page breaks occur.\\n  (PUBLISHER='text-string')\\n    specifies the publisher of the e-book.\\n  (RELATION='text-string')\\n    specifies a reference to a related resource.\\n  (RIGHTS='text-string')\\n    specifies information about rights held in and over the e-book.\\n  (SOURCE='text-string')\\n    specifies information about a prior resource from which the e-book was derived.\\n  (START='chapter-number')\\n    specifies the component (chapter) at which an e-book first opens.\\n    Default:  1\\n  (SUBJECT='text-string')\\n    specifies one or more topics about the content of the e-book. Delimit multiple subjects with commas.\\n  (TYPE='text-string')\\n    specifies the nature or genre of the content of the e-book.\"}},{\"StatementOptionName\":\"STYLE=\",\"StatementOptionType\":\"V\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: STYLE= style-definition] \\n          \\nSpecifies the style template to use in writing the output files. \\n\\nstyle-definition\\n  describes how to display the presentation aspects (color, font face, font size, and so on) of your SAS output. \\n  A style template determines the overall appearance of the documents that use it. Each style template consists \\n  of style elements.\\n\\n  Default: The default style for EPUB is Daisy.\"}},{\"StatementOptionName\":\"STYLESHEET=\",\"StatementOptionType\":\"V\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: STYLESHEET= ( URL= \\u2018external-file(s)\\u2019 )] \\n          \\nSpecifies one or more stylesheet files to apply to the output.\\n\\n(URL= 'external-file(s)\\u2019)\\n  specifies one or more space-delimited external stylesheet filenames.\"}},{\"StatementOptionName\":\"TITLE=\",\"StatementOptionType\":\"V\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: TITLE='text-string'] \\n          \\nString'inserts the title into the metadata of the e-book. The title also appears as an identifier \\nin the e-book reader library. \\n\\nDefault: 'SAS Output'\\nRequirement: Every EPUB e-book must have a title.\\n\\nNote:\\nThis title is the title of the book and not a SAS title.\"}},{\"StatementOptionName\":\"WORK=\",\"StatementOptionType\":\"V\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: WORK=directory-name'] \\n          \\nSpecifies a work directory for constructing the e-book. \\n\\ndirectory-name\\n  is the name of the directory.\"}}]}},{\"StatementName\":\"ODS HTML5\",\"StatementHelp\":{\"#cdata\":\"Opens, manages, or closes the HTML5 destination, which produces HTML 5.0 output that contains embedded style sheets.\\n      \\nSyntax: \\nODS HTML5 <(<ID=> identifier)> < action> ; \\nODS HTML5 <(<ID=> identifier)> <option(s)> ;\"},\"StatementOptions\":{\"StatementOption\":[{\"StatementOptionName\":\"EXCLUDE\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: EXCLUDE exclusion(s)| ALL | NONE \\n          \\nExcludes one or more output objects from the destination.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"EXCLUDE ALL\",\"StatementOptionHelp\":{\"#cdata\":\" Excludes all output objects from the destination.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"EXCLUDE NONE\",\"StatementOptionHelp\":{\"#cdata\":\"Excludes no output objects from the destination.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"CLOSE\",\"StatementOptionHelp\":{\"#cdata\":\"Closes the destination and any files that are associated with it.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"SELECT\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: SELECT selection(s) | ALL | NONE \\n          \\nSelects one or more output objects for the specified destination.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"SELECT ALL\",\"StatementOptionHelp\":{\"#cdata\":\"Selects all output objects for the specified destination.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"SELECT NONE\",\"StatementOptionHelp\":{\"#cdata\":\"Selects no output objects for the specified destination.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"SHOW\",\"StatementOptionHelp\":{\"#cdata\":\"Writes the current selection or exclusion list for the destination to the SAS log.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"ANCHOR=\",\"StatementOptionType\":\"V\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: ANCHOR='anchor-name'] \\n          \\nSpecifies a unique base name for the anchor tag that identifies each output object \\nin the current body file.\"}},{\"StatementOptionName\":\"BASE=\",\"StatementOptionType\":\"V\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: BASE= 'base-text'] \\n          \\nSpecifies the text to use as the first part of all links and references that ODS \\ncreates in the output files.\"}},{\"StatementOptionName\":\"BODY=|FILE=\",\"StatementOptionType\":\"V\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: BODY= 'file-specification' <sub-option(s)>] \\n          \\nOpens a MARKUP family destination and specifies the file that contains the primary \\noutput that is created by the ODS statement. \\n\\n(suboption(s))\\n  specifies one or more suboptions in parentheses. Suboptions are instructions for writing the output files. \\n  Suboptions can be the following:\\n    (DYNAMIC)\\n      enables you to send output directly to a web server instead of writing it to a file.    \\n    (NO_BOTTOM_MATTER)\\n      specifies that no ending markup language source code be added to the output file.\\n    (NO_TOP_MATTER)\\n      see your ODS user's guide for more details.\\n    (TITLE='title-text')\\n      inserts into the metadata of a file the text string that you specify as the text to appear \\n      in the browser window title bar.\\n    (URL= 'Uniform-Resource-Locator' )\",\"SubOptionsKeywords\":\"NO_BOTTOM_MATTER|NO_TOP_MATTER|TITLE=|URL=|DYNAMIC\"}},{\"StatementOptionName\":\"BOX_SIZING=\",\"StatementOptionType\":\"V\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: BOX_SIZING=(CONTENT_BOX | BORDER_BOX)] \\n          \\nSpecifies how to measure the width of cells. This option overrides the default value of BOX_SIZING \\nfor a destination. The default value can be found in the SAS registry. In the SAS Registry, expand \\nthe ODS -> DESTINATION -> SCRIPT folder to locate the box_sizing= default for ODS EPUB destinations. \\nFor information about using the SAS Registry, see \\u201cChanging SAS Registry Settings for ODS\\u201d on page 44.\\n\\nBOX_SIZING is defined by the WC3 specification, the CSS3 Module. For more information, refer to the \\nCSS3 Box Model specification at http://www.w3.org/TR/2002/WD-css3-box-20021024/#box-sizing. \"}},{\"StatementOptionName\":\"CHARSET=\",\"StatementOptionType\":\"V\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: CHARSET=character-set] \\n          \\nSpecifies the character set to be generated in the META declaration for the \\nHTML output.\"}},{\"StatementOptionName\":\"CODE=\",\"StatementOptionType\":\"V\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: CODE= 'file-specification' <sub-option(s)>] \\n          \\nOpens a MARKUP family destination and specifies the file that contains relevant \\nstyle information, such as XSL (Extensible Stylesheet Language). \\n\\nsuboption(s)\\n  specifies one or more suboptions in parentheses. Suboptions are instructions for writing the output files. \\n  Suboptions can be the following:\\n    (DYNAMIC)\\n      enables you to send output directly to a web server instead of writing it to a file.    \\n    (URL= 'Uniform-Resource-Locator' )\\n      specifies a URL for the file-specification. ODS uses this URL (instead of the filename) in all the links \\n      and references that it creates and that point to the file.\"},\"SubOptionsKeywords\":\"URL=|DYNAMIC\"},{\"StatementOptionName\":\"CONTENTS=\",\"StatementOptionType\":\"S\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: CONTENTS= 'file-specification' <(suboption(s))> \\n          \\nOpens a markup family destination and specifies the file that contains a table of contents for \\nthe output. These files remain open until you do one of the following:\\n\\n  o close the destination with either an ODS markup-family-destination CLOSE statement \\n    or ODS _ALL_ CLOSE statement.\\n\\n  o open the same destination with a second markup family statement. This closes the first \\n    file and opens the second file.\\n\\nfile-specification -- specifies the file, fileref, or SAS catalog to write to. \\n\\n  file-specification is one of the following:\\n\\n  external-file --  is the name of an external file to write to.\\n  Requirement: You must enclose external-file in quotation marks. \\n\\n  fileref -- is a file reference that has been assigned to an external file. Use the FILENAME \\n  statement to assign a fileref. \\n\\n  entry.markup -- specifies an entry in a SAS catalog to write to. \\n\\nsuboption(s) -- specifies one or more suboptions in parentheses. Suboptions are instructions for \\nwriting the output files. \\n    (DYNAMIC)\\n      enables you to send output directly to a web server instead of writing it to a file.   \\n    (NO_BOTTOM_MATTER)\\n      specifies that no ending markup language source code be added to the output file.\\n    (NO_TOP_MATTER)\\n      specifies that no beginning markup language source code be added to the top of the output file. \\n      For HTML 4.0, the NO_TOP_MATTER option removes the style sheet.\\n    (TITLE='title-text')\\n      inserts into the metadata of a file the text string that you specify as the text to appear in \\n      the browser window title bar.\"},\"SubOptionsKeywords\":\"NO_BOTTOM_MATTER|NO_TOP_MATTER|TITLE=|URL=|DYNAMIC\"},{\"StatementOptionName\":\"CSSSTYLE=\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: CSSSTYLE='file-specification'<(media-type-1 <...media-type-10>)> \\n    \\nSpecifies a cascading style sheet to apply to your output. \\n\\nfile-specification \\nspecifies a file, fileref, or URL that contains CSS code. \\n\\n    file-specification is one of the following:\\n\\n    \\\"external-file\\\" \\n    is the name of the external file.\\n    Requirement: You must enclose external-file in quotation marks. \\n\\n    fileref \\n    is a file reference that has been assigned to an external file. Use the FILENAME \\n    statement to assign a fileref. \\n\\n    \\\"URL\\\" \\n    is a URL to an external file.\\n    Requirement: You must enclose external-file in quotation marks. \\n\\n(media-type-1<.. media-type-10>) \\nspecifies one or more media blocks that corresponds to the type of media that your output will be \\nrendered on. CSS uses media type blocks to specify how a document is to be presented on different \\nmedia: on the screen, on paper, with a speech synthesizer, with a braille device, and so on.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"DEVICE=\",\"StatementOptionType\":\"V\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies the name of a device driver. ODS automatically selects an optimal default \\ndevice for each open output destination. \\n\\nThe following table lists the default devices for the most common ODS output destinations. These default devices \\nare used when graphics are created using SAS/GRAPH or ODS Graphics. \\n\\nOutput Destination Default Device\\nEPUB            PNG\\nHTML            PNG\\nHTML5           SVG\\nLISTING         PNG\\nMeasured RTF    EMF\\nRTF             EMF\\nMarkup Tagsets  PNG\"}},{\"StatementOptionName\":\"DOM\",\"StatementOptionType\":\"S|V\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: DOM<=\\\"external-file\\\">] \\n          \\nSpecifies that the ODS document object model is written to the SAS log or an external file. \\n\\nexternal-file\\n  is the name of an external output file.\\n\\n  Requirement: You must enclose external-file in quotation marks.\"}},{\"StatementOptionName\":\"ENCODING=\",\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"warabic\",\"@Value2\":\"'wbaltic'\",\"@Value3\":\"'wlatin2'\",\"@Value4\":\"'wcyrillic'\",\"@Value5\":\"'wgreek'\",\"@Value6\":\"'whebrew'\",\"@Value7\":\"'wturkish'\",\"@Value8\":\"'wvietnamese'\",\"@Value9\":\"'wlatin1'\",\"@Value10\":\"'utf-8'\",\"@Value11\":\"'ms-950'\",\"@Value12\":\"'ms-936'\",\"@Value13\":\"'ms-932'\",\"@Value14\":\"'ms-949'\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Arabic\",\"@ToolTip2\":\"Baltic\",\"@ToolTip3\":\"Central Europe\",\"@ToolTip4\":\"Cyrillic\",\"@ToolTip5\":\"Greek\",\"@ToolTip6\":\"Hebrew\",\"@ToolTip7\":\"Turkish\",\"@ToolTip8\":\"Vietnamese\",\"@ToolTip9\":\"Western\",\"@ToolTip10\":\"Unicode encoding\",\"@ToolTip11\":\"Traditional Chinese\",\"@ToolTip12\":\"Simplified Chinese\",\"@ToolTip13\":\"Japanese\",\"@ToolTip14\":\"Korean\"},\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: ENCODING=local-character-set-encoding] \\n          \\nOverrides the encoding for input or output processing (transcodes) of external files.\"}},{\"StatementOptionName\":\"EVENT=\",\"StatementOptionType\":\"V\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: EVENT=event-name (FILE= | FINISH | LABEL= | NAME= | START | STYLE= |TARGET= | TEXT= | URL= )\\n    \\nSpecifies an event and the value for event variables that are associated with the event. \\n\\n(FILE= BODY | CODE | CONTENTS | DATA | FRAME | PAGES | STYLESHEET);\\n  triggers one of the known types of output files that correspond to the BODY=, CODE=, CONTENTS=, FRAME=, PAGES=, and STYLESHEET= options.\\n(FINISH)\\n  triggers the finish section of an event.\\n(LABEL='variable-value')\\n  specifies the value for the LABEL event variable.\\n  Requirement: variable-value must be enclosed in quotation marks.\\n(NAME='variable-value')\\n  specifies the value for the NAME event variable.\\n  Requirement: variable-value must be enclosed in quotation marks. \\n(START)\\n  triggers the start section of an event.\\n(STYLE=style-element)\\n  specifies a style element.\\n(TARGET='variable-value')\\n  specifies the value for the TARGET event variable. \\n(TEXT='variable-value')\\n  specifies the value for the TEXT event variable.\\n  Requirement: variable-value must be enclosed in quotation marks.\\n(URL='variable-value')\\n  specifies the value for the URL event variable.\\n  Requirement: variable-value must be enclosed in quotation marks.\"},\"SubOptionsKeywords\":\"FILE=|FINISH|LABEL=|NAME|START|STYLE=|TARGET=|TEXT=|URL=\"},{\"StatementOptionName\":\"FRAME=\",\"StatementOptionType\":\"V\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: FRAME='file-specification' <sub-option(s)> \\n    \\nOpens a MARKUP family destination and, for HTML output, specifies the file that integrates the table \\nof contents, the page contents, and the body file. \\n\\nsuboption(s)\\n  specifies one or more suboptions in parentheses. Suboptions are instructions for writing the output files. \\n  Suboptions can be the following:\\n    (DYNAMIC)\\n      enables you to send output directly to a web server instead of writing it to a file.    \\n    (NO_BOTTOM_MATTER)\\n      specifies that no ending markup language source code be added to the output file.\\n    (NO_TOP_MATTER)\\n      specifies that no beginning markup language source code be added to the top of the output file. For HTML 4.0, \\n      the NO_TOP_MATTER option removes the style sheet.\\n    (TITLE='title-text')\\n      inserts into the metadata of a file the text string that you specify as the text to appear in the browser \\n      window title bar.\\n      title-text\\n        is the text in the metadata of a file that indicates the title.    \\n    (URL= 'Uniform-Resource-Locator' )\\n      specifies a URL for the file-specification. ODS uses this URL (instead of the filename) in all the links \\n      and references that it creates and that point to the file.\"},\"SubOptionsKeywords\":\"NO_BOTTOM_MATTER|NO_TOP_MATTER|TITLE=|URL=|DYNAMIC\"},{\"StatementOptionName\":\"GFOOTNOTE\",\"StatementOptionType\":\"S\",\"StatementOptionHelp\":{\"#cdata\":\"Prints footnotes that are created by SAS/GRAPH, the SGPLOT procedure, the SGPANEL procedure, or the \\nSGSCATTER procedure. The footnotes appear inside the graph borders.  If you open the frame file, \\nthen you see a table of contents, a table of pages, or both, as well as the body file. For XLM \\noutput, FRAME= specifies the file that contains the DTD. These files remain open until you do \\none of the following:\\n\\n  o close the destination with either an ODS markup-family-destination CLOSE statement or ODS _ALL_ CLOSE statement.\\n\\n  o open the same destination with a second markup family statement. This closes the first file and opens the second file.\\n\\nfile-specification \\nspecifies the file, fileref, or SAS catalog to write to. file-specification is one of the following:\\n\\n    external-file -- is the name of an external file to write to.\\n    Requirement: You must enclose external-file in quotation marks. \\n\\n    fileref -- is a file reference that has been assigned to an external file. Use the FILENAME statement to assign a fileref. \\n\\n    entry.markup -- specifies an entry in a SAS catalog to write to. \\n\\nsuboption(s) \\nspecifies one or more suboptions in parentheses. Suboptions are instructions for writing the output files.\"}},{\"StatementOptionName\":\"NOGFOOTNOTE\",\"StatementOptionType\":\"S\",\"StatementOptionHelp\":{\"#cdata\":\"Prints footnotes that are created by ODS, which appears outside the graph borders.\"}},{\"StatementOptionName\":\"GTITLE\",\"StatementOptionType\":\"S\",\"StatementOptionHelp\":{\"#cdata\":\"Prints the title that is created by SAS/GRAPH, the SGPLOT procedure, the SGPANEL procedure, or the \\nSGSCATTER procedure. The title appears inside the graph borders.\"}},{\"StatementOptionName\":\"NOGTITLE\",\"StatementOptionType\":\"S\",\"StatementOptionHelp\":{\"#cdata\":\"Prints the title that is created by ODS, which appears outside the graph borders.\"}},{\"StatementOptionName\":\"HEADTEXT=\",\"StatementOptionType\":\"V\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies tags to place between the <HEAD> and </HEAD> tags in all the files that the destination \\nwrites to. \\n\\nSyntax: HEADTEXT= 'markup-document-head' \\n\\nwhere:\\n\\n  markup-document-head \\n  specifies the markup tags to place between the <HEAD> and </HEAD> tags.\\n\\n  Requirement: You must enclose markup-document-head in quotation marks.\"}},{\"StatementOptionName\":\"ID=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: (ID=identifier)] \\n          \\nEnables you to run multiple instances of the same destination at the same time. \\nEach instance can have different options.\"},\"StatementOptionType\":\"V\",\"SubOptionsKeywords\":\"ID=\"},{\"StatementOptionName\":\"IMAGE_DPI=\",\"StatementOptionType\":\"V\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies the image resolution for graphical output. Default: 100. \\n          \\nRestriction: The IMAGE_DPI= option affects template-based graphics only.\"}},{\"StatementOptionName\":\"METATEXT=\",\"StatementOptionType\":\"V\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies HTML code to use as the <META> tag between the <HEAD> and </HEAD> tags of all the HTML \\nfiles that the destination writes to. \\n\\nSyntax: METATEXT= 'metatext-for-document-head' \\n\\nwhere:\\n\\n  'metatext-for-document-head' \\n  specifies the HTML code that provides the browser with information about the document that it is loading. \\n  For example, this attribute could specify the content type and the character set to use.\\n\\n  Requirement: You must enclose metatext-for-document-head in quotation marks.\"}},{\"StatementOptionName\":\"NEWFILE=\",\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"BYGROUP\",\"@Value2\":\"NONE\",\"@Value3\":\"OUTPUT|TABLE\",\"@Value4\":\"PAGE\",\"@Value5\":\"PROC\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Starts a new file for the results of each BY group.\",\"@ToolTip2\":\"Writes all output to the body file that is currently open.\",\"@ToolTip3\":\"Starts a new body file for each output object.\",\"@ToolTip4\":\"Starts a new body file for each page of output.\",\"@ToolTip5\":\"Starts a new body file each time that you start a new procedure.\"},\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: NEWFILE=starting-point] \\n          \\nCreates a new body file at the specified starting-point.\"}},{\"StatementOptionName\":\"OPTIONS\",\"StatementOptionType\":\"S\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: OPTIONS ( DOC= | <suboption(s)> )] \\n          \\nSpecifies tagset-specific suboptions and a named value.\\n\\n(DOC='QUICK' | 'HELP' | 'SETTINGS') \\nprovides information about the specified tagset. \\n\\n  QUICK \\n  describes the options available for this tagset. \\n\\n  HELP \\n  provides generic help and information with a quick reference.\\n\\n  SETTINGS \\n  provides the current option settings.\\n\\nsuboption(s) \\nspecifies one or more suboptions that are valid for the specified tagset. Supoptions have the \\nfollowing format: \\n\\n  keyword='value'  \\n  You can get information about suboptions for a specific tagset by specifying one of the following \\n  options when opening an ODS tagset statement or at any time after the destination has been opened. \\n    \\n    options(doc='help');\\n    options(doc='quick'); \\n    options(doc='settings');\"}},{\"StatementOptionName\":\"PACKAGE\",\"StatementOptionType\":\"S\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: PACKAGE <package-name>] \\n          \\nSpecifies that the output from the destination be added to a package.\"}},{\"StatementOptionName\":\"PAGE=\",\"StatementOptionType\":\"V\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: PAGE= 'file-specification' <(suboption(s))> \\n          \\nOpens a markup family destination and specifies the file that contains a description of each \\npage of the body file, and contains links to the body file. ODS produces a new page of output \\nwhenever a procedure requests a new page. These files remain open until you do one of the following:\\n\\n  o close the destination with either an ODS markup-family-destination CLOSE statement or \\n    ODS _ALL_ CLOSE statement.\\n\\n  o open the same destination with a second markup family statement. This closes the first file \\n    and opens the second file.\\n\\nfile-specification \\nspecifies the file, fileref, or SAS catalog to write to. \\n\\n    file-specification is one of the following:\\n\\n    external-file -- is the name of an external file to write to.\\n    Requirement: You must enclose external-file in quotation marks. \\n\\n    fileref -- is a file reference that has been assigned to an external file. Use the FILENAME \\n    statement to assign a fileref. \\n\\n    entry.markup -- specifies an entry in a SAS catalog to write to. \\n    Interaction: If you specify an entry name, you must also specify a library and catalog.  \\n\\nsuboption(s) -- specifies one or more suboptions in parentheses. Suboptions are instructions for \\nwriting the output files. \\n    (DYNAMIC)\\n      enables you to send output directly to a web server instead of writing it to a file.   \\n    (NO_BOTTOM_MATTER)\\n      specifies that no ending markup language source code be added to the output file.\\n    (NO_TOP_MATTER)\\n      specifies that no beginning markup language source code be added to the top of the output file. \\n      For HTML 4.0, the NO_TOP_MATTER option removes the style sheet.\\n    (TITLE='title-text')\\n      inserts into the metadata of a file the text string that you specify as the text to appear in \\n      the browser window title bar. \\n    (URL= 'Uniform-Resource-Locator' )\\n      specifies a URL for the file-specification. ODS uses this URL (instead of the filename) in all \\n      the links and references that it creates and that point to the file.\"},\"SubOptionsKeywords\":\"NO_BOTTOM_MATTER|NO_TOP_MATTER|TITLE=|URL=|DYNAMIC\"},{\"StatementOptionName\":\"PARAMETERS=\",\"StatementOptionType\":\"V\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: PARAMETERS=(parameter-pair-1 ... parameter-pair-n) \\n          \\nWrites the specified parameters between the tags that generate dynamic graphics output.\\n\\n  parameter-pair \\n  specifies the name and value of each parameter. parameter-pair has the following form: \\n\\n    'parameter-name'= 'parameter-value'  \\n\\n  where:\\n  \\n  parameter-name -- is the name of the parameter.\\n\\n  parameter-value -- is the value of the parameter.\\n  Requirement: You must enclose parameter-name and parameter-value in quotation marks.\"}},{\"StatementOptionName\":\"PATH=\",\"StatementOptionType\":\"V\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: PATH= 'aggregate-file-storage-specification' | fileref | libref.catalog (URL= 'Uniform-Resource-Locator' | NONE) \\n   \\nSpecifies the location of an aggregate storage location or a SAS catalog for all markup files. \\nIf the GPATH= option is not specified, all graphics output files are written to the \\n\\\"aggregate-file-storage-specification\\\" or libref.\\n\\n  'aggregate-file-storage-location' -- specifies an aggregate storage location such as directory, folder, or partitioned data set.\\n  Requirement: You must enclose aggregate-file-storage-location in quotation marks. \\n\\n  fileref -- is a file reference that has been assigned to an aggregate storage location. \\n  Use the FILENAME statement to assign a fileref.\\n\\n    Interaction: If you use a fileref in the PATH= option, then ODS does not use information from \\n    PATH= when it constructs links. \\n\\n  libref.catalog -- specifies a SAS catalog to write to.\\n\\n  URL= 'Uniform-Resource-Locator' | NONE -- specifies a URL for the file-specification. \\n\\n    Uniform-Resource-Locator \\n    is the URL you specify. ODS uses this URL instead of the filename in all the links and references that it creates to the file.\\n\\n    NONE \\n    specifies that no information from the PATH= option appears in the links or references.\"}},{\"StatementOptionName\":\"RECORD_SEPARATOR=|RECSEP=|RS=\",\"StatementOptionType\":\"V\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: RECORD_SEPARATOR= 'alternative-separator' | NONE \\n    \\nSpecifies an alternative character or string that separates lines in the output files.\\n\\nDifferent operating environments use different separator characters. If you do not specify a record \\nseparator, then the files are formatted for the environment where you run the SAS job. However, \\nif you are generating files for viewing in a different operating environment that uses a different \\nseparator character, then you can specify a record separator that is appropriate for the target environment.\\n\\nalternative-separator -- represents one or more characters in hexadecimal or ASCII format. For example, \\nthe following option specifies a record separator for a carriage return character and a linefeed character \\nfor use with an ASCII file system: \\n\\n  RECORD_SEPARATOR= '0D0A'x\\n  \\nOperating Environment Information:   In a mainframe environment, the option that specifies a record \\nseparator for a carriage return character and a linefeed character for use with an ASCII file system is: \\n\\n  RECORD_SEPARATOR= '0D25'x\\n  Requirement: You must enclose alternative-separator in quotation marks. \\n\\nNONE -- produces the markup language that is appropriate for the environment where you run the SAS job.\"},\"SubOptionsKeywords\":\"NONE\"},{\"StatementOptionName\":\"STYLE=\",\"StatementOptionType\":\"V\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: STYLE= style-definition] \\n          \\nSpecifies the style definition to use in writing the output files. \\n\\nstyle-definition\\n  describes how to display the presentation aspects (color, font face, font size, and so on) of your SAS output. \\n  A style template determines the overall appearance of the documents that use it. Each style template consists \\n  of style elements.\\n\\n  Interaction:\\n    The STYLE= option is not valid when you are creating XML output.\\n\\n  For a complete discussion of style templates, see Chapter 15, \\u201cTEMPLATE Procedure: Creating a Style Template Procedure\\u201d \\n  in SAS 9.4 Output Delivery System: Procedures Guide.\"}},{\"StatementOptionName\":\"STYLESHEET=\",\"StatementOptionType\":\"V\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: STYLESHEET= 'file-specification' <sub-option(s)> \\n    \\nOpens a markup family destination and places the style information for markup output into an external \\nfile, or reads style sheet information from an existing file. These files remain open until you do one \\nof the following:\\n\\n  o close the destination with either an ODS markup-family-destination CLOSE statement or ODS _ALL_ CLOSE statement.\\n\\n  o open the same destination with a second markup family statement. This closes the first file and opens the second file.\\n\\nfile-specification -- specifies the file, fileref, or SAS catalog to write to. \\n\\nfile-specification is one of the following:\\n\\n    external-file \\n    is the name of an external file to write to.\\n    Requirement: You must enclose external-file in quotation marks. \\n\\n    fileref \\n    is a file reference that has been assigned to an external file. Use the FILENAME statement to assign a fileref. \\n\\n    entry.markup -- specifies an entry in a SAS catalog to write to.\\n    Interaction: If you specify an entry name, you must also specify a library and catalog. See the discussion \\n    of the PATH= option. \\n\\nsuboption(s) -- specifies one or more suboptions in parentheses. Suboptions are instructions for writing the \\noutput files. Suboptions can be the following:\\n    (DYNAMIC)\\n      enables you to send output directly to a web server instead of writing it to a file.   \\n    (NO_BOTTOM_MATTER)\\n      specifies that no ending markup language source code be added to the output file.\\n    (NO_TOP_MATTER)\\n      specifies that no beginning markup language source code be added to the top of the output file. \\n      For HTML 4.0, the NO_TOP_MATTER option removes the style sheet.\\n    (TITLE='title-text')\\n      inserts into the metadata of a file the text string that you specify as the text to appear in \\n      the browser window title bar. \\n    (URL= 'Uniform-Resource-Locator' )\\n      specifies a URL for the file-specification. ODS uses this URL (instead of the filename) in all \\n      the links and references that it creates and that point to the file.\"},\"SubOptionsKeywords\":\"NO_BOTTOM_MATTER|NO_TOP_MATTER|TITLE=|URL=|DYNAMIC\"},{\"StatementOptionName\":\"TAGSET=|TYPE=\",\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"CHTML\",\"@Value2\":\"CORE\",\"@Value3\":\"CSV\",\"@Value4\":\"CSVALL\",\"@Value5\":\"CSVBYLINE\",\"@Value6\":\"DEFAULT\",\"@Value7\":\"DOCBOOK\",\"@Value8\":\"ExcelXP\",\"@Value9\":\"HTML4\",\"@Value10\":\"HTMLCSS\",\"@Value11\":\"HTMLPANEL\",\"@Value12\":\"IMODE\",\"@Value13\":\"MSOFFICE2K\",\"@Value14\":\"MVSHTML\",\"@Value15\":\"PHTML\",\"@Value16\":\"PYX\",\"@Value17\":\"RTF\",\"@Value18\":\"SASREPORT\",\"@Value19\":\"WML\",\"@Value20\":\"WMLOLIST\",\"@Value21\":\"XHTML\",\"@Value22\":\"EVENT_MAP\",\"@Value23\":\"NAMEDHTML\",\"@Value24\":\"SHORT_MAP\",\"@Value25\":\"STYLE_DISPLAY\",\"@Value26\":\"STYLE_POPUP\",\"@Value27\":\"TEXT_MAP\",\"@Value28\":\"TPL_STYLE_LIST\",\"@Value29\":\"TPL_STYLE_MAP\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Produces compact, minimal HTML output that does not use style information.\",\"@ToolTip2\":\"Contains a table of Unicode values and mnemonics.\",\"@ToolTip3\":\"Produces tabular output that contains  columns of data values that are separated by commas.\",\"@ToolTip4\":\"Produces tabular output with titles that contain columns of data values that are separated by commas.\",\"@ToolTip5\":\"Produces output with comma-separated values and columns of data that are separated by commas.\",\"@ToolTip6\":\"Produces XML output.\",\"@ToolTip7\":\"Produces XML output that conforms to the DocBook DTD by OASIS.\",\"@ToolTip8\":\"Produces Microsoft's spreadsheetML XML. This tagset is used to import data into XML.\",\"@ToolTip9\":\"Produces HTML 4.0 embedded style sheets.\",\"@ToolTip10\":\"Produces HTML output with cascading style sheets that is similar to ODS HTML output.\",\"@ToolTip11\":\"Creates panels for By-grouped graphs.\",\"@ToolTip12\":\"Produces HTML output as a column of output that is separated by lines.\",\"@ToolTip13\":\"Produces HTML code for output generated by ODS for Microsoft Office products.\",\"@ToolTip14\":\"Produces URLs within HTML files that are used in the z/OS operating environment.\",\"@ToolTip15\":\"Produces simple HTML output that uses twelve style elements and no class attributes.\",\"@ToolTip16\":\"Produces PYX, which is a simple, line-oriented notation used by Pyxie to describe the information  communicated by an XML parser to an XML application.\",\"@ToolTip17\":\"Produces measured RTF.\",\"@ToolTip18\":\"Causes imbedded data to be produced in CSV format.\",\"@ToolTip19\":\"Uses the Wireless Application Protocol (WAP) to produce a Wireless Markup Language (WML) DTD with  a list of URLs as a table of contents.\",\"@ToolTip20\":\"Uses the Wireless Application Protocol (WAP) to produce a Wireless Markup Language (WML) DTD with  an option list for the table of contents.\",\"@ToolTip21\":\"Produces output in HTML format.\",\"@ToolTip22\":\"Creates XML output that shows which events are being triggered and which variables are used by an  event to send output from a SAS process to an output file.\",\"@ToolTip23\":\"Creates HTML output similar to STYLE_POPUP, but with all the objects labeled as they are when  using ODS TRACE.\",\"@ToolTip24\":\"Creates a subset of the XML output that is created by the EVENT_MAP tagset.\",\"@ToolTip25\":\"Creates a sample page of HTML output that is similar to STYLE_POPUP output.\",\"@ToolTip26\":\"Creates HTML like HTMLCSS, but if you're using Internet Explorer, STYLE_POPUP displays a window  that shows the resolved ODS style definition for any item that you select.\",\"@ToolTip27\":\"Creates text output that shows which events are being triggered as ODS handles the output objects.\",\"@ToolTip28\":\"Creates HTML output in a bulleted list similar to EVENT_MAP but lists only a subset of the  possible attributes.\",\"@ToolTip29\":\"Creates XML output similar to EVENT_MAP but lists only a subset of the possible attributes.\"},\"StatementOptionHelp\":{\"#cdata\":\"Specifies a keyword value for a tagset. A tagset is a template that defines how to create an output \\ntype from a SAS format.\"}},{\"StatementOptionName\":\"TEXT=\",\"StatementOptionType\":\"V\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: TEXT='variable-value'] \\n          \\nInserts text into your document by triggering the paragraph event and specifying \\na text string to be assigned to the VALUE event variable.\"}},{\"StatementOptionName\":\"TRANTAB=\",\"StatementOptionType\":\"V\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: TRANTAB= 'translation-table' \\n          \\nSpecifies the translation table to use when transcoding a file for output.\"}},{\"StatementOptionName\":\"ACCESSIBLE_GRAPH\",\"StatementOptionType\":\"S\",\"StatementOptionHelp\":{\"#cdata\":\"Adds accessibility metadata to graphs that are created by ODS Graphics. \"}},{\"StatementOptionName\":\"TITLE=\",\"StatementOptionType\":\"V\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: TITLE=\\\"text-string\\\" \\n          \\nInserts into the metadata of a file the text string that you specify as the text to appear in the \\nbrowser window title bar.\"}}],\"#comment\":{}}},{\"StatementName\":\"ODS POWERPOINT\",\"StatementHelp\":{\"#cdata\":\"Opens, manages, or closes the ODS destination for PowerPoint, which produces PowerPoint output.\\n      \\nSyntax: \\nODS POWERPOINT <(<ID=> identifier)> < action> ; \\nODS POWERPOINT <(<ID=> identifier)> <option(s)> ;\"},\"StatementOptions\":{\"StatementOption\":[{\"StatementOptionName\":\"EXCLUDE\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: EXCLUDE exclusion(s)| ALL | NONE \\n          \\nExcludes one or more output objects from the destination.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"EXCLUDE ALL\",\"StatementOptionHelp\":{\"#cdata\":\" Excludes all output objects from the destination.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"EXCLUDE NONE\",\"StatementOptionHelp\":{\"#cdata\":\"Excludes no output objects from the destination.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"CLOSE\",\"StatementOptionHelp\":{\"#cdata\":\"Closes the destination and any files that are associated with it.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"SELECT\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: SELECT selection(s) | ALL | NONE \\n          \\nSelects one or more output objects for the specified destination.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"SELECT ALL\",\"StatementOptionHelp\":{\"#cdata\":\"Selects all output objects for the specified destination.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"SELECT NONE\",\"StatementOptionHelp\":{\"#cdata\":\"Selects no output objects for the specified destination.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"SHOW\",\"StatementOptionHelp\":{\"#cdata\":\"Writes the current selection or exclusion list for the destination to the SAS log.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"AUTHOR=\",\"StatementOptionType\":\"V\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: AUTHOR='text-string'] \\n          \\nSpecifies the author of the PowerPoint document. This information can be seen in the document properties.\"}},{\"StatementOptionName\":\"BOX_SIZING=\",\"StatementOptionType\":\"V\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: BOX_SIZING=(CONTENT_BOX | BORDER_BOX)] \\n          \\nSpecifies how to measure the width of cells. This option overrides the default value of BOX_SIZING \\nfor a destination. The default value can be found in the SAS registry. In the SAS Registry, expand \\nthe ODS -> DESTINATION -> SCRIPT folder to locate the box_sizing= default for ODS EPUB destinations. \\nFor information about using the SAS Registry, see \\u201cChanging SAS Registry Settings for ODS\\u201d on page 44.\\n\\nBOX_SIZING is defined by the WC3 specification, the CSS3 Module. For more information, refer to the \\nCSS3 Box Model specification at http://www.w3.org/TR/2002/WD-css3-box-20021024/#box-sizing. \"}},{\"StatementOptionName\":\"CATEGORY=\",\"StatementOptionType\":\"V\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: CATEGORY='text-string']  \\n          \\nSpecifies the category of the PowerPoint document. This information can be seen in the \\ndocument properties.\"}},{\"StatementOptionName\":\"COMMENTS=\",\"StatementOptionType\":\"V\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: COMMENTS='text-string'] \\n          \\nAdds comments to the properties of the PowerPoint document. This information can be seen in the \\ndocument properties.\"}},{\"StatementOptionName\":\"DOM\",\"StatementOptionType\":\"S|V\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: DOM<=\\\"external-file\\\">] \\n          \\nSpecifies that the ODS document object model is written to the SAS log or an external file. \\n\\nexternal-file\\n  is the name of an external output file.\\n\\n  Requirement: You must enclose external-file in quotation marks.\"}},{\"StatementOptionName\":\"FILE=\",\"StatementOptionType\":\"V\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: FILE='file-specification'] \\n          \\nSpecifies the file that contains the PowerPoint created by the destination.\\n\\n'file-specification'\\n  specifies the file or fileref to receive output.\\n  \\n  file-specification is one of the following:\\n    external-file\\n      is the name of an external file to receive output.\\n      Requirement: You must enclose external-file in quotation marks. \\n    fileref\\n      is a file reference that has been assigned to an external file. Use the FILENAME statement \\n      to assign a fileref.\\n      \\n      Default: ODS uses the filename that is specified in the SAS registry. The default filename \\n      for the ODS destination for PowerPoint is \\u201csaspres.pptx\\u201d.\"}},{\"StatementOptionName\":\"GFOOTNOTE\",\"StatementOptionType\":\"S\",\"StatementOptionHelp\":{\"#cdata\":\"Prints footnotes that are created by SAS/GRAPH, the SGPLOT procedure, the SGPANEL procedure, or the \\nSGSCATTER procedure. The footnotes appear inside the graph borders.  If you open the frame file, \\nthen you see a table of contents, a table of pages, or both, as well as the body file. For XLM \\noutput, FRAME= specifies the file that contains the DTD. These files remain open until you do \\none of the following:\\n\\n  o close the destination with either an ODS markup-family-destination CLOSE statement or ODS _ALL_ CLOSE statement.\\n\\n  o open the same destination with a second markup family statement. This closes the first file and opens the second file.\\n\\nfile-specification \\nspecifies the file, fileref, or SAS catalog to write to. file-specification is one of the following:\\n\\n    external-file -- is the name of an external file to write to.\\n    Requirement: You must enclose external-file in quotation marks. \\n\\n    fileref -- is a file reference that has been assigned to an external file. Use the FILENAME statement to assign a fileref. \\n\\n    entry.markup -- specifies an entry in a SAS catalog to write to. \\n\\nsuboption(s) \\nspecifies one or more suboptions in parentheses. Suboptions are instructions for writing the output files.\"}},{\"StatementOptionName\":\"NOGFOOTNOTE\",\"StatementOptionType\":\"S\",\"StatementOptionHelp\":{\"#cdata\":\"Prints footnotes that are created by ODS, which appears outside the graph borders.\"}},{\"StatementOptionName\":\"GTITLE\",\"StatementOptionType\":\"S\",\"StatementOptionHelp\":{\"#cdata\":\"Prints the title that is created by SAS/GRAPH, the SGPLOT procedure, the SGPANEL procedure, or the \\nSGSCATTER procedure. The title appears inside the graph borders.\"}},{\"StatementOptionName\":\"NOGTITLE\",\"StatementOptionType\":\"S\",\"StatementOptionHelp\":{\"#cdata\":\"Prints the title that is created by ODS, which appears outside the graph borders.\"}},{\"StatementOptionName\":\"IMAGE_DPI=\",\"StatementOptionType\":\"V\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies the image resolution for graphical output. Default: 100. \\n          \\nRestriction: The IMAGE_DPI= option affects template-based graphics only.\"}},{\"StatementOptionName\":\"KEYWORDS=\",\"StatementOptionType\":\"V\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: KEYWORDS='text-string' \\n          \\nProvides keywords in the PowerPoint document. This information can be seen in the document properties. \\n\\nNote:The KEYWORDS values are listed next to \\u201cTags\\u201d in the properties pane.\"}},{\"StatementOptionName\":\"LAYOUT=\",\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"TITLESLIDE\",\"@Value2\":\"TITLEANDCONTENT\",\"@Value3\":\"TWOCONTENT\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Specifies the layout for the title slide.\",\"@ToolTip2\":\"Specifies a slide with a title and content.\",\"@ToolTip3\":\"Specifies slides with a two-column layout.\"},\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: LAYOUT=layout-name] \\n          \\nSpecifies a predefined gridded layout.\"}},{\"StatementOptionName\":\"SASDATE\",\"StatementOptionType\":\"S\",\"StatementOptionHelp\":{\"#cdata\":\"Inserts the standard SAS date in the document in place of the default PowerPoint date and time field. \\nPowerPoint formats this date field using the format specified by PowerPoint\\u2019s Header and Footer dialog. \\nThe date field is updated whenever you open the presentation. When the SASDATE option is used, instead \\nof a date field, the ODS destination for PowerPoint inserts the date and time that you started your SAS \\nsession. PowerPoint does not update the date and time.\"}},{\"StatementOptionName\":\"STATUS=\",\"StatementOptionType\":\"V\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: STATUS='text-string' \\n          \\nSpecifies the status of the PowerPoint document. This information can be seen in the \\ndocument properties.\"}},{\"StatementOptionName\":\"STYLE=\",\"StatementOptionType\":\"V\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: STYLE= style-definition]\\n          \\nSpecifies the style template to use in writing the output files. \\n\\nstyle-definition\\n  must be either PowerPointLight (the default style for PowerPoint documents), PowerPointDark, or a style \\n  derived from one of these two styles. A style template describes how to display the presentation aspects \\n  (color, font face, font size, and so on) of your SAS output. A style template determines the overall \\n  appearance of the documents that use it. Each style template consists of style elements.\\n\\nDefault: PowerPointLight is the default style. PowerPointDark is another style that was created specifically \\nfor the ODS destination for PowerPoint.\\n\\nSee:\\nFor a complete discussion of style templates, see Chapter 15, \\u201cTEMPLATE Procedure: Creating a Style Template \\nProcedure\\u201d in SAS 9.4 Output Delivery System: Procedures Guide.\"}},{\"StatementOptionName\":\"TITLE=\",\"StatementOptionType\":\"V\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: TITLE='text-string'] \\n          \\nSpecifies a title for the PowerPoint document. This information can be seen in the \\ndocument properties.\"}},{\"StatementOptionName\":\"WORK=\",\"StatementOptionType\":\"V\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: WORK='fileref' | 'directory-name' \\n          \\nSpecifies an alternate directory for the temporary files. By default. the ODS destination for PowerPoint \\nuses the SAS Work library to hold temporary files. The WORK= option specifies an alternate directory for \\nthe temporary files. \\n\\nfileref\\n  is a file reference that has been assigned to a directory. Use the FILENAME statement to assign a fileref. \\ndirectory-name\\n  is the name of the directory.\"}}]}},{\"StatementName\":\"ODS EXCEL\",\"StatementHelp\":{\"#cdata\":\"Opens, manages, or closes the ODS destination for Excel, which produces Excel spreadsheet files \\ncompatible with Microsoft Office 2010 and later versions.\\n      \\nSyntax: \\nODS EXCEL <(<ID=> identifier)> < action> ; \\nODS EXCEL <(<ID=> identifier)> <option(s)> ;\"},\"StatementOptions\":{\"StatementOption\":[{\"StatementOptionName\":\"EXCLUDE\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: EXCLUDE exclusion(s)| ALL | NONE \\n          \\nExcludes one or more output objects from the destination. \\n\\nDefault: NONE \\nRestriction: A destination must be open for this action to take effect.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"EXCLUDE ALL\",\"StatementOptionHelp\":{\"#cdata\":\" Excludes all output objects from the destination.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"EXCLUDE NONE\",\"StatementOptionHelp\":{\"#cdata\":\"Excludes no output objects from the destination.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"CLOSE\",\"StatementOptionHelp\":{\"#cdata\":\"Closes the destination and any files that are associated with it. \\n          \\nTip: When an ODS destination is closed, ODS does not send output to that destination. Closing an unneeded \\ndestination conserves system resources.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"SELECT\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: SELECT selection(s) | ALL | NONE \\n          \\nSelects one or more output objects for the specified destination. \\n\\nDefault: ALL \\nRestriction: A destination must be open for this action to take effect.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"SELECT ALL\",\"StatementOptionHelp\":{\"#cdata\":\"Selects all output objects for the specified destination.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"SELECT NONE\",\"StatementOptionHelp\":{\"#cdata\":\"Selects no output objects for the specified destination.\"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"SHOW\",\"StatementOptionHelp\":{\"#cdata\":\"Writes the current selection or exclusion list for the destination to the SAS log. \\n          \\nRestriction: The destination must be open for this action to take effect. \\n\\nTip: If the selection or exclusion list is the default list (SELECT ALL), then SHOW also writes the \\nentire selection or exclusion list. \"},\"StatementOptionType\":\"S\"},{\"StatementOptionName\":\"ANCHOR=\",\"StatementOptionType\":\"V\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: ANCHOR='anchor-name'] \\n\\nanchor-name\\n  is the root name for the anchor tag that identifies each output object in the current file. Each \\n  output object must have an anchor tag for the bookmarks to reference. The references are automatically \\n  created by ODS. These references, point to the name of an anchor. Therefore, each anchor name in a file \\n  must be unique. By default IDX is the default name for the first object. \\n\\n  ODS creates unique anchor names by incrementing the name that you specify. For example, if you specify \\n  ANCHOR='TABULATE', then ODS names the first anchor tabulate. The second anchor is named tabulate1; the \\n  third is named tabulate2, and so on. ODS Excel uses anchors to name ID selectors when using CSS to style \\n  worksheets. \\n\\n  Requirement: You must enclose anchor-name in quotation marks.\\n\\nSpecifies the root name for the anchor tag that identifies each output object in the current file. \\n\\nThe ANCHOR= option in ODS EXCEL acts like IDs do in CSS. The ANCHOR= option allows you to change \\nthe value of the ID= attribute. ID=attributes can be seen when you use the DOM option. The DOM option \\nis used when adding the #ID selector for style output when using CSS with the ODS Excel destination. \\n\\nEach output object must have an anchor tag for the bookmarks to reference. The references are \\nautomatically created by ODS. These references, point to the name of an anchor. Therefore, each \\nanchor name in a file must be unique.\"}},{\"StatementOptionName\":\"AUTHOR=\",\"StatementOptionType\":\"V\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: AUTHOR='text-string']\\n\\nSpecifies the author of the Excel document. This information can be seen in the document properties.\"}},{\"StatementOptionName\":\"BOX_SIZING=\",\"StatementOptionType\":\"V\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: BOX_SIZING=(CONTENT_BOX | BORDER_BOX)] \\n          \\nSpecifies how to measure the width of cells. This option overrides the default value of BOX_SIZING \\nfor a destination. The default value can be found in the SAS registry. In the SAS Registry, expand \\nthe ODS -> DESTINATION -> SCRIPT folder to locate the box_sizing= default for ODS EPUB destinations. \\nFor information about using the SAS Registry, see \\u201cChanging SAS Registry Settings for ODS\\u201d on page 44.\\n\\nBOX_SIZING is defined by the WC3 specification, the CSS3 Module. For more information, refer to the \\nCSS3 Box Model specification at http://www.w3.org/TR/2002/WD-css3-box-20021024/#box-sizing. \"}},{\"StatementOptionName\":\"CATEGORY=\",\"StatementOptionType\":\"V\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: CATEGORY='text-string']  \\n          \\nSpecifies the category of the Excel document. This information can be seen in the document properties.\"}},{\"StatementOptionName\":\"COMMENTS=\",\"StatementOptionType\":\"V\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: COMMENTS='text-string'] \\n          \\nAdds comments to the properties of the Excel document. This information can be seen in the \\ndocument properties.\"}},{\"StatementOptionName\":\"CSSSTYLE=\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: CSSSTYLE='file-specification'<(media-type-1 <...media-type-10>)> \\n    \\nSpecifies a cascading style sheet to apply to your output. \\n\\nfile-specification \\nspecifies a file, fileref, or URL that contains CSS code. \\n\\n    file-specification is one of the following:\\n\\n    \\\"external-file\\\" \\n    is the name of the external file.\\n    Requirement: You must enclose external-file in quotation marks. \\n\\n    fileref \\n    is a file reference that has been assigned to an external file. Use the FILENAME \\n    statement to assign a fileref. \\n\\n    \\\"URL\\\" \\n    is a URL to an external file.\\n    Requirement: You must enclose external-file in quotation marks. \\n\\n(media-type-1<.. media-type-10>) \\nspecifies one or more media blocks that corresponds to the type of media that your output will be \\nrendered on. CSS uses media type blocks to specify how a document is to be presented on different \\nmedia: on the screen, on paper, with a speech synthesizer, with a braille device, and so on.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"DOM\",\"StatementOptionType\":\"S|V\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: DOM<=\\\"external-file\\\">] \\n          \\nSpecifies that the ODS document object model is written to the SAS log or an external file. \\n\\nexternal-file\\n  is the name of an external output file.\\n\\n  Requirement: You must enclose external-file in quotation marks.\"}},{\"StatementOptionName\":\"DPI=|IMAGE_DPI=\",\"StatementOptionType\":\"V\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: DPI='number']\\n\\nSpecifies the image resolution for graphical output. \\n\\nDefault: 150 \\nCaution: When using high DPI= or DPI_IMAGE values (values over 1000), you might need to increase memory \\nallocations. To increase memory, set the MEMSIZE= system option to 500M or higher. You can also decrease \\nthe DPI= value to ensure that you do not run out of memory.\"}},{\"StatementOptionName\":\"FILE=\",\"StatementOptionType\":\"V\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: FILE='file-specification'] \\n          \\nSpecifies the file that contains the Excel created by the destination.\\n\\n'file-specification'\\n  specifies the file or fileref to receive output.\\n  \\n  file-specification is one of the following:\\n    external-file\\n      is the name of an external file to receive output.\\n      Requirement: You must enclose external-file in quotation marks. \\n    fileref\\n      is a file reference that has been assigned to an external file. Use the FILENAME statement \\n      to assign a fileref.\\n      \\n      Default: ODS uses the filename that is specified in the SAS registry. The default filename \\n      for the ODS destination for Excel is \\u201csasexcl.xlsx\\u201d.\"}},{\"StatementOptionName\":\"GFOOTNOTE\",\"StatementOptionType\":\"S\",\"StatementOptionHelp\":{\"#cdata\":\"Prints footnotes that are created by SAS/GRAPH, the SGPLOT procedure, the SGPANEL procedure, or the \\nSGSCATTER procedure. The footnotes appear inside the graph borders.\\n\\nThis is the default.\\n\\nRestriction: This option applies only to SAS programs that produce one or more device-based graphics, \\nor graphics created by the SGPLOT procedure, the SGPANEL procedure, or the SGSCATTER procedure.\"}},{\"StatementOptionName\":\"NOGFOOTNOTE\",\"StatementOptionType\":\"S\",\"StatementOptionHelp\":{\"#cdata\":\"Prints footnotes that are created by ODS, which appear outside the graph borders.\"}},{\"StatementOptionName\":\"GTITLE\",\"StatementOptionType\":\"S\",\"StatementOptionHelp\":{\"#cdata\":\"Prints the title that is created by SAS/GRAPH, the SGPLOT procedure, the SGPANEL procedure, or the \\nSGSCATTER procedure. The title appears inside the graph borders.\\n\\nThis is the default.\\n\\nRestriction: This option applies only to SAS programs that produce one or more device-based graphics, \\nor graphics created by the SGPLOT procedure, the SGPANEL procedure, or the SGSCATTER procedure.\"}},{\"StatementOptionName\":\"NOGTITLE\",\"StatementOptionType\":\"S\",\"StatementOptionHelp\":{\"#cdata\":\"Prints the title that is created by ODS, which appears outside the graph borders.\"}},{\"StatementOptionName\":\"KEYWORDS=\",\"StatementOptionType\":\"V\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: KEYWORDS='text-string' \\n          \\nProvides keywords in the Excel document. This information can be seen in the document properties. \\n\\nNote:The KEYWORDS values are listed next to \\u201cTags\\u201d in the properties pane.\"}},{\"StatementOptionName\":\"ID=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: (ID=identifier)] \\n          \\nEnables you to run multiple instances of the same destination at the same time. \\nEach instance can have different options.\"},\"StatementOptionType\":\"V\",\"SubOptionsKeywords\":\"ID=\"},{\"StatementOptionName\":\"OPTIONS\",\"StatementOptionType\":\"S\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: OPTIONS (< suboption(s)>)]\\n\\nSpecifies destination-specific suboptions with space-delimited name='value' pairs.\\n\\nsuboption(s) are the following: \\n\\n(ABSOLUTE_COLUMN_WIDTH =\\u2019number-list \\u2019 | 'NONE') \\n  Specifies the column widths. Default: None. SAS determines the width. \\n(ABSOLUTE_ROW_HEIGHT =\\u2019number_list \\u2019) \\n  Specifies the row heights. Default is nil.  \\n(AUTOFILTER = 'ALL' | 'NONE' | 'range ') \\n  Turns on filtering for specified columns in the worksheet. \\n(BLACKANDWHITE= 'OFF' | 'ON')\\n  Enables printing of the worksheet in black and white. \\n(BLANK_SHEET='string') \\n  Creates a blank worksheet with the specified name. The string is a string with a length greater than zero. \\n(CENTER_HORIZONTAL= 'OFF' | 'ON')\\n  Centers the worksheet horizontally when printing. \\n(CENTER_VERTICAL= 'OFF' | 'ON')\\n  Specifies if the worksheet is to be centered vertically when printing. \\n(COLUMN_REPEAT=\\\"number '' | \\\"number-range'' | \\\"HEADER'') \\n  Controls how column headings are repeated across pages. \\n(CONTENTS= 'OFF' | 'ON')\\n  Creates a worksheet that contains the table of contents. \\n(DPI='number') \\n  Specifies the dots per inch for print resolution. Numbers allowed are 300, 600, and 1200. Default: 300 DPI \\n(DRAFTQUALITY= 'OFF' | 'ON')\\n  Specifies if draft quality should be used for printing \\n(EMBEDDED_FOOTNOTES='OFF' | 'ON')\\n  Specifies whether footnotes should appear in the worksheet. \\n(EMBED_FOOTNOTES_ONCE='OFF' | 'ON')\\n  Specifies whether embedded footnotes should appear only at the bottom of the worksheet. \\n(EMBEDDED_TITLES= 'OFF' | 'ON')\\n  Specifies whether titles should appear in the worksheet. \\n(EMBED_TITLES_ONCE= 'OFF' | 'ON')\\n  Specifies whether embedded titles should appear at the top of the worksheet only once. \\n(FITTOPAGE= 'OFF' | 'ON')\\n  Specifies that the worksheet should fit on a page when printing. \\n(FORMULAS= 'OFF' | 'ON')\\n  Specifies if data values that begin with an \\\"=\\\" become formulas or cell values. \\n(FROZEN_HEADERS= 'OFF' | 'ON' | number) \\n  specifies that headers can scroll or not scroll with the scroll bar. \\n(FROZEN_ROWHEADERS= 'OFF' | 'ON' | number) \\n  Specifies if the row headers on the left scroll when the table data scrolls. \\n(GRIDLINES= 'OFF' | 'ON')\\n  Specifies if grid lines are printed. \\n(HIDDEN_COLUMNS =\\u2019number_list_range\\u2019) \\n  Specifies the columns to hide. The columns identified are hidden. \\n(HIDDEN_ROWS =\\u2019number_list_range\\u2019) \\n  Specifies the rows to hide. You can specify a list of rows to hide or a range of rows to hide. \\n(INDEX= 'OFF' | 'ON')\\n  Creates a worksheet that contains an index of all worksheets. \\n(MSG_LEVEL='string') \\n  Suppresses messages from the Excel. Default No. \\n(ORIENTATION= 'PORTRAIT' | 'LANDSCAPE'\\n  Orients the printed page as either portrait or landscape. \\n(PAGE_ORDER_ACROSS= 'OFF' | 'ON')\\n  Specifies that the information across the page is printed first followed by the information that is down the page. \\n(PAGES_FITHEIGHT='number') \\n  Specifies the number of pages down to fit the worksheet when printing. \\n(PAGES_FITWIDTH='number') \\n  Specifies the number of pages to fit the worksheet across when printing. \\n(PRINT_AREA= 'item') \\n  Describes the printed area in terms of the column and row to start and end with. You can use column and row numbers and letters.\\n(PRINT_FOOTER='text-string') \\n  Specifies the text that is placed in the footer when printing. If a footnote is specified, that footnote is used.\\n(PRINT_FOOTER_MARGIN='number') \\n  Specifies the footer margin that is set in the page setup window when printing. This margin is measured in inches. \\n(PRINT_HEADER='text-string') \\n  Specifies the text that is placed in the header when printing.\\n(PRINT_HEADER_MARGIN='number') \\n  Specifies the header margin that is set in the page setup dialog window when printing. This margin is measured in inches. \\n(ROWBREAKS_COUNT='number') \\n  Specifies that for every number data rows, insert a print page for printing. \\n(ROWBREAKS_INTERVAL= 'OUTPUT' | 'PROC' | 'NONE')\\n  Controls the placement of page breaks. This option places a page break after each output object or after each procedure. \\n(ROWCOLHEADINGS= 'OFF' | 'ON')\\n  Specifies if row and column headings should be printed. \\n(ROW_HEIGHTS =\\u2019number_list \\u2019) \\n  Specifies the height of the row. The measurement is in points and is the positional array of row height values. \\n(ROW_REPEAT='NONE' | 'HEADER' | 'number' | number-range') \\n  Controls how row headings are repeated across pages.\\n(SCALE='number') \\n  Specifies the scale level for printing. Default: 100 \\n(SHEET_INTERVAL= 'BYGROUP' | 'PAGE' | 'PROC' | 'NONE' | \\u2018TABLE\\u2019) \\n  Specifies the criteria for when a new worksheet is created. \\n(SHEET_LABEL='text-string' | 'NONE\\u2019) \\n  Used as the first part of the name in the worksheet label instead of the predefined string. \\n(SHEET_NAME='text-string') \\n  Specifies the name for the next worksheet. This name is used along with the worksheet counter to create a unique name. \\n(START_AT='string') \\n  Specifies a starting cell for the report. The default is to start at column 1 and row 1. Default: 1,1 \\n(SUPPRESS_BYLINES= 'OFF' | 'ON')\\n  Specifies whether to suppress BY lines in the worksheet. \\n(TAB_COLOR='string') \\n  Specifies the color for the next worksheet. \\n(TITLE_FOOTNOTE_NOBREAK='number') \\n  Specifies that titles and footnotes do not wrap across lines. \\n(TITLE_FOOTNOTE_WIDTH='number') \\n  Specifies the number of columns that titles and footnotes should span.\\n(ZOOM='number') \\n  Indicates the initial zoom level on the worksheet. Default: 100\"},\"SubOptionsKeywords\":\"\\n            |ABSOLUTE_COLUMN_WIDTH=|ABSOLUTE_ROW_HEIGHT=|AUTOFILTER=|BLACKANDWHITE=|BLANK_SHEET=|CENTER_HORIZONTAL=|CENTER_VERTICAL=|\\n            |COLUMN_REPEAT=|CONTENTS=|DPI=|DRAFTQUALITY=|EMBEDDED_FOOTNOTES=|EMBED_FOOTNOTES_ONCE=|EMBEDDED_TITLES=|EMBED_TITLES_ONCE=|\\n            |FITTOPAGE=|FORMULAS=|FROZEN_HEADERS=|FROZEN_ROWHEADERS=|GRIDLINES=|HIDDEN_COLUMNS=|HIDDEN_ROWS|INDEX=|MSG_LEVEL=|ORIENTATION=|\\n            |PAGE_ORDER_ACROSS=|PAGES_FITHEIGHT=|PAGES_FITWIDTH=|PRINT_AREA=|PRINT_FOOTER=|PRINT_FOOTER_MARGIN=|PRINT_HEADER=|PRINT_HEADER_MARGIN=|\\n            |ROWBREAKS_COUNT=|ROWBREAKS_INTERVAL=|ROWCOLHEADINGS=|ROW_HEIGHTS=|ROW_REPEAT=|SCALE=|SHEET_INTERVAL=|SHEET_LABEL=|SHEET_NAME=|\\n            |START_AT=|SUPPRESS_BYLINES=|TAB_COLOR=|TITLE_FOOTNOTE_NOBREAK=|TITLE_FOOTNOTE_WIDTH=|ZOOM=|\\n          \"},{\"StatementOptionName\":\"SASDATE\",\"StatementOptionType\":\"S\",\"StatementOptionHelp\":{\"#cdata\":\"Inserts the standard SAS date in the document in place of the default Excel date and time field. \\nExcel formats this date field using the format specified by the Excel Header and Footer dialog. \\nThe date field is updated whenever you open the presentation. When the SASDATE option is used, \\ninstead of a date field, the ODS destination for Excel inserts the date and time that you started \\nyour SAS session. Excel does not update the date and time.\"}},{\"StatementOptionName\":\"STATUS=\",\"StatementOptionType\":\"V\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: STATUS='text-string' \\n          \\nSpecifies the status of the Excel document. This information can be seen in the document properties.\"}},{\"StatementOptionName\":\"STYLE=\",\"StatementOptionType\":\"V\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: STYLE= style-override(s)\\n          \\nSpecify one or more style-overides to use when writing output files. \\n\\nYou can specify a style override in two ways: \\n\\n\\u2022 Specify a style element. A style element is a collection of style attributes that apply to a particular \\n  part of the output for a SAS program.  \\n\\u2022 Specify a style attribute. A style attribute is a name-value pair that describes a single behavioral or \\n  visual aspect of a piece of output. This is the most specific method of changing the appearance of your output. \\n \\nstyle-override has the following form: \\n\\nstyle-element-name | [style-attribute-name-1=style-attribute-value-1\\n<style-attribute-name-2=style-attribute-value-2 ...>] \\n\\nDefault: Excel is the default style.\"}},{\"StatementOptionName\":\"TEXT=\",\"StatementOptionType\":\"V\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: TEXT=text-string]\\n\\nInserts text into your document by triggering the paragraph event and specifying a text string to be assigned to the VALUE event variable. \\n\\nDefault: By default the TEXT= option is used in a paragraph event.\"}},{\"StatementOptionName\":\"TITLE=\",\"StatementOptionType\":\"V\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: TITLE='text-string'] \\n          \\nSpecifies a title for the Excel document. This information can be seen in the document properties.\"}},{\"StatementOptionName\":\"WORK=\",\"StatementOptionType\":\"V\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: WORK='fileref' | 'directory-name' \\n          \\nSpecifies an alternate directory for the temporary files. By default. the ODS destination for Excel \\nuses the SAS Work library to hold temporary files. The WORK= option specifies an alternate directory for \\nthe temporary files. \\n\\nfileref\\n  is a file reference that has been assigned to a directory. Use the FILENAME statement to assign a fileref. \\ndirectory-name\\n  is the name of the directory.\"}}]}}],\"#comment\":{}}}}"
  },
  {
    "path": "server/data/Procedures/STATGRAPH.json",
    "content": "{\"Procedure\":{\"#comment\":{},\"Name\":\"STATGRAPH\",\"ProductGroup\":\"SAS/GRAPH\",\"ProcedureHelp\":{\"#cdata\":\"Syntax: BEGINGRAPH </ option(s)> ; \\n      <GTL-global-statements >\\n      GTL-layout-block\\n      <GTL-global-statements >\\n    ENDGRAPH ; \\n    \\nDefines the outermost container for a single GTL-layout-block and one or more GTL-global-statements.\"},\"ProcedureOptions\":{\"ProcedureOption\":[{\"ProcedureOptionName\":\"BACKGROUNDCOLOR=\",\"ProcedureOptionHelp\":{\"#cdata\":\"[Syntax: BACKGROUNDCOLOR=style-reference | color] \\n      \\nSpecifies the color of the graph background.\"},\"ProcedureOptionType\":\"C\"},{\"ProcedureOptionName\":\"BORDER=\",\"ProcedureOptionHelp\":{\"#cdata\":\"Specifies whether a border is drawn around the graph.\"},\"ProcedureOptionType\":\"V\",\"ProcedureOptionValues\":{\"@Value1\":\"TRUE\",\"@Value2\":\"FALSE\"},\"ProcedureOptionToolTips\":{\"@ToolTip1\":\"Specifies that a border is drawn around the graph. This is the default.\",\"@ToolTip2\":\"Specifies that a border is not drawn around the graph.\"}},{\"ProcedureOptionName\":\"BORDERATTRS=\",\"ProcedureOptionHelp\":{\"#cdata\":\"[Syntax: BORDERATTRS=style-element | style-element (line-options) | (line-options)] \\n      \\nSpecifies the attributes of the border line around the graph. \\n\\nThe available line-options can be any one or more of the following settings. The options must be \\nenclosed in parentheses, and each option is specified as a name=value pair:\\n\\n  COLOR=style-reference | color \\n  specifies the line color. If you use a style-reference, the style-attribute should be a valid \\n  attribute such as COLOR, CONTRASTCOLOR, STARTCOLOR, NEUTRAL, ENDCOLOR. The convention is to use \\n  CONTRASTCOLOR for lines. If you specify a style element that does not have a CONTRASTCOLOR attribute, \\n  the element's COLOR attribute is used. If you use a color, SAS/GRAPH accepts color names, such \\n  as RED, or color codes, such as CXFF0000 or #FF0000.\\n\\n  PATTERN=style-reference | line-pattern-name | line-pattern-number specifies the line pattern. \\n  If you use a style-reference, the style-attribute should be LINESTYLE. Line patterns can be specified \\n  as a pattern name or pattern number. Some valid pattern numbers: 1 (Solid), 2 (ShortDash), 4 (MediumDash), \\n  5 (LongDash) 8 (MediumDashShortDash)   14 (DashDashDot) 15 (DashDotDot) 20 (Dash) 26 (LongDashShortDash) \\n  34 (Dot) 35 (ThinDot) 41 (ShortDashDot) 42 (MediumDashDotDot). Not all pattern numbers have names.\\n\\n  THICKNESS=style-reference | dimension \\n  specifies the line thickness. If you use a style-reference, the style-attribute should be LINETHICKNESS.\"},\"ProcedureOptionType\":\"V\",\"SubOptionsKeywords\":\"COLOR=|PATTERN=|THICKNESS=\"},{\"ProcedureOptionName\":\"DESIGNHEIGHT=DEFAULTDESIGNHEIGHT\",\"ProcedureOptionHelp\":{\"#cdata\":\"Specifies the design width of the graph to be obtained from the SAS Registry key Products=> \\nGraph=> ODS=>StatGraph=>DefaultDesignWidth when the graph is rendered. The initial value of this registry key is 480px.\"},\"ProcedureOptionType\":\"V\"},{\"ProcedureOptionName\":\"DESIGNHEIGHT=\",\"ProcedureOptionHelp\":{\"#cdata\":\"Specifies the design width of the graph.\"},\"ProcedureOptionType\":\"V\"},{\"ProcedureOptionName\":\"PAD=\",\"ProcedureOptionHelp\":{\"#cdata\":\"[Syntax: PAD=dimension | (pad-options)] \\n      \\nSpecifies the amount of extra space that is added inside the graph border. The default padding for \\nall sides is 10. Values without units are in pixels (px). A unit must be provided if other than pixels.\\n\\ndimension \\n  Specifies a dimension to use for the extra space at the left, right, top, and bottom of the layout border. \\n\\n(pad-options) \\n  Enables separate settings for the left, right, top, and bottom padding dimensions. Use the pad-options \\n  to create non-uniform padding. These options must be enclosed in parentheses. Each option is specified \\n  as a name=value pair. Sides not assigned padding are padded with the default amount. \\n  Values without units are in pixels (px). A unit must be provided if other than pixels.\\n\\n  LEFT=dimension \\n  specifies the amount of extra space added to the left side. \\n  RIGHT=dimension \\n  specifies the amount of extra space added to the right side. \\n  TOP=dimension \\n  specifies the amount of extra space added to the top. \\n  BOTTOM=dimension \\n  specifies the amount of extra space added to the bottom.\"},\"ProcedureOptionType\":\"V\"}]},\"ProcedureStatements\":{\"ProcedureStatement\":[{\"StatementName\":\"LAYOUT DATALATTICE\",\"StatementHelp\":{\"#cdata\":\"Syntax: LAYOUT DATALATTICE argument(s) </ option(s)> ;\\n    graph-prototype-block ;\\n    <sidebar-statement-block(s);>\\n  ENDLAYOUT ; \\n\\nCreates a grid of graphs based on one or two classification variables and a graphical prototype.\"},\"StatementOptions\":{\"StatementOption\":[{\"StatementOptionName\":\"ROWVAR=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: ROWVAR=class-var] \\n          \\nSpecifies a single row classification variable.\"},\"StatementOptionType\":\"RV\"},{\"StatementOptionName\":\"COLUMNVAR=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: COLUMNVAR=class-var] \\n          \\nSpecifies a single column classification variable.\"},\"StatementOptionType\":\"RV\"},{\"StatementOptionName\":\"BACKGROUNDCOLOR=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: BACKGROUNDCOLOR=style-reference | color] \\n          \\nSpecifies the color of the layout background. \\n\\nstyle-element \\nA reference in the form style-element:style-attribute. Only the style-attribute named COLOR is used. \\n\\nInteraction: OPAQUE=TRUE must be in effect for the color to be seen. By default, OPAQUE=FALSE.\"},\"StatementOptionType\":\"C\"},{\"StatementOptionName\":\"BORDER=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies whether a border is drawn around the layout.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"TRUE\",\"@Value2\":\"FALSE\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"A border is drawn around the layout.\",\"@ToolTip2\":\"A border is not drawn around the layout. This is the default.\"}},{\"StatementOptionName\":\"BORDERATTRS=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: BORDERATTRS=style-element | style-element (line-options) | (line-options)] \\n          \\nSpecifies the attributes of the border line around the layout.\\n\\nstyle-element \\n    Name of a style element. Only style attributes relevant for rendering the fill, line, data marker, or text will be used.\\n\\nstyle-element (line-options) \\n    Name of a style element, plus individual options to be used as style overrides. Any options not specified are derived\\n    from the specified style-element.\\n\\n(line-options) \\n    COLOR=style-reference | color \\n    specifies the line color. If you use a style-reference, the style-attribute should be a valid attribute such as COLOR,\\n    CONTRASTCOLOR, STARTCOLOR, NEUTRAL, ENDCOLOR. The convention is to use CONTRASTCOLOR for lines.\\n    \\n    PATTERN=style-reference | line-pattern-name | line-pattern-number \\n    specifies the line pattern. If you use a style-reference, the style-attribute should be LINESTYLE. \\n    Line patterns can be specified as a pattern name or pattern number (1 = Solid, 2-42 Dash/Dot).\\n\\n    THICKNESS=style-reference | dimension \\n    specifies the line thickness. If you use a style-reference, the style-attribute should be LINETHICKNESS.\"},\"StatementOptionType\":\"V\",\"SubOptionsKeywords\":\"COLOR=|PATTERN=|THICKNESS=\"},{\"StatementOptionName\":\"CELLHEIGHTMIN=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: CELLHEIGHTMIN=dimension] \\n          \\nSpecifies the minimum height of a cell in the grid. Default is 100px.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"CELLWIDTHMIN=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: CELLWIDTHMIN=dimension] \\n          \\nSpecifies the minimum width of a cell in the grid. Default is 100px.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"COLUMNAXISOPTS=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: COLUMNAXISOPTS=(axis-options)] \\n          \\nSpecifies X-axis options for all columns. Axis options must be enclosed in parentheses and \\nseparated by spaces.\"},\"StatementOptionType\":\"V\",\"SubOptionsKeywords\":\"\\n            ALTDISPLAY=|ALTDISPLAYSECONDARY=|DISCRETEOPTS=|DISPLAY=|DISPLAYSECONDARY=|GRIDATTRS=|GRIDDISPLAY=|LABEL=|\\n            LABELATTRS=|LINEAROPTS=|LOGOPTS=|OFFSETMAX=|OFFSETMIN=|REVERSE=|SHORTLABEL=|TICKVALUEATTRS=|TIMEOPTS=|TYPE=\\n          \"},{\"StatementOptionName\":\"COLUMNDATARANGE=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies how the X-axes of instances of the graph-prototype are scaled. The default is UNIONALL.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"UNIONALL\",\"@Value2\":\"UNION\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Scales the X-axis data ranges across all layout columns and panels (when PANELNUMBER= is in effect).\",\"@ToolTip2\":\"Scales the X-axis data ranges separately for each column in the layout.\"}},{\"StatementOptionName\":\"COLUMNGUTTER=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: COLUMNGUTTER=dimension] \\n          \\nSpecifies the amount of empty space that is between the columns. The default is 0.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"COLUMNHEADERS=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies where to position the outside column header.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"TOP\",\"@Value2\":\"BOTTOM\",\"@Value3\":\"BOTH\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Specifies that column header text appears at the top of the layout.\",\"@ToolTip2\":\"Specifies that column header text appears at the bottom of the layout.\",\"@ToolTip3\":\"Specifies that column header text alternates between the top and bottom of the layout column by column.\"}},{\"StatementOptionName\":\"COLUMNS=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: COLUMNS=integer] \\n          \\nSpecifies the number of columns in the layout. \\n\\nDefault:\\n\\n  o If this option is not specified, the number of columns is dynamically adjusted to equal the number \\n    of classifier values for the COLUMVAR= variable. \\n  o If this option is specified, that many columns will be created. If the number of COLUMNVAR classifier \\n    values is greater than the specified number of columns, no graph will be created for some classifier \\n    values. If the number of classifier values is smaller than the specified number of columns, extra empty \\n    columns will be created. \\n\\nInteraction: The overall grid size is constrained by the HEIGHT= and WIDTH= options on the \\nODS GRAPHICS statement. As the grid size grows, the cell size shrinks. To control the minimum \\nsize of a cell use the CELLHEIGHTMIN= and CELLWIDTHMIN= options.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"HEADERBACKGROUNDCOLOR=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: HEADERBACKGROUNDCOLOR=style-reference | color] \\n          \\nSpecifies the background color of the cell headers. \\n\\nstyle-reference \\nA reference in the form style-element:style-attribute. Only the style-attribute named COLOR is used.\"},\"StatementOptionType\":\"C\"},{\"StatementOptionName\":\"HEADERLABELATTRS=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: HEADERLABELATTRS=style-element | style-element (text-options) | (text-options))] \\n          \\nSpecifies the color and font attributes of the data labels.\\n\\nstyle-element \\n    Name of a style element. Only style attributes relevant for rendering the fill, line, data marker, or text will be used.\\n\\nstyle-element (text-options) \\n    Name of a style element, plus individual options to be used as style overrides. Any options not specified are derived\\n    from the specified style-element.\\n\\n(text-options) \\nCOLOR=style-reference | color \\n    specifies the color of the text. If you use a style-reference, the style-attribute should be a valid\\n    attribute such as COLOR, CONTRASTCOLOR, STARTCOLOR, NEUTRAL, ENDCOLOR. The convention is to use COLOR for text.\\n\\nFAMILY =style-reference | \\\"string\\\" \\n    specifies the font family of the text. If you use a style-reference, the style-attribute should be FONTFAMILY.\\n\\nSIZE=style-reference | dimension \\n    specifies the font size of the text. If you use a style-reference, the style-attribute should be FONTSIZE. \\n\\nSTYLE=style-reference | NORMAL | ITALIC \\n    specifies the font style of the text. If you use a style-reference, the style-attribute should be FONTSTYLE. \\n\\nWEIGHT=style-reference | NORMAL | BOLD \\n    specifies the font weight of the text. If you use a style-reference, the style-attribute should be FONTWEIGHT.\"},\"StatementOptionType\":\"V\",\"SubOptionsKeywords\":\"COLOR=|FAMILY=|SIZE=|STYLE=|WEIGHT=\"},{\"StatementOptionName\":\"HEADERLABELDISPLAY=\",\"StatementOptionHelp\":{\"#cdata\":\"Indicates whether the automatic cell header text includes variable name and value or just the value. \\nThe default is NAMEVALUE.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"NAMEVALUE\",\"@Value2\":\"VALUE\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"The automatic cell header text includes variable name and value.\",\"@ToolTip2\":\"The automatic cell header text includes just the value.\"}},{\"StatementOptionName\":\"HEADERLABELLOCATION=\",\"StatementOptionHelp\":{\"#cdata\":\"Indicates whether the cell header is placed within each cell (INSIDE) or as row and column headers \\nexternal to the lattice (OUTSIDE).\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"OUTSIDE\",\"@Value2\":\"INSIDE\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"The cell header is placed as row and column headers external to the lattice.\",\"@ToolTip2\":\"The cell header is placed within each cell.\"}},{\"StatementOptionName\":\"HEADEROPAQUE=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies whether the background for cell headers is opaque (TRUE) or transparent (FALSE).\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"TRUE\",\"@Value2\":\"FALSE\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"The background for cell headers is opaque. This is the default.\",\"@ToolTip2\":\"The background for cell headers is transparent.\"}},{\"StatementOptionName\":\"INSET=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: INSET=(variable-list)] \\n          \\nSpecifies what information is displayed in an inset. The variable-list defines one or more\\nvariables whose names and values appear as a small table in the data cells. The variables \\nmay be either numeric or character. Variable names are separated by spaces.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"INSETOPTS=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: INSETOPTS=(appearance-options)] \\n          \\nSpecifies location and appearance options for the inset information. The appearance-options can \\nbe any one or more of the settings that follow. The options must be enclosed in parentheses, and \\neach option is specified as a name=value pair.\\n\\n  AUTOALIGN=NONE | AUTO | (location-list) \\n  specifies whether the inset is automatically aligned within the layout. \\n\\n  BACKGROUNDCOLOR= style-reference | color \\n  specifies the color of the inset background. Default is TRANSPARENT.\\n\\n  BORDER=TRUE | FALSE\\n  specifies whether a border is displayed around the inset. Default is FALSE.\\n\\n  HALIGN=LEFT | CENTER | RIGHT \\n  specifies the horizontal alignment of the inset. Default is LEFT.\\n\\n  OPAQUE= boolean \\n  specifies whether the inset background is opaque (TRUE) or transparent (FALSE). Default is FALSE.\\n\\n  TEXTATTRS=style-element | style-element (text-options) | (text-options) \\n  specifies the text properties of the entire inset.\\n\\n  VALIGN=TOP | CENTER |BOTTOM \\n  specifies the vertical alignment of the inset. Default is TOP.\"},\"StatementOptionType\":\"V\",\"SubOptionsKeywords\":\"AUTOALIGN=|BACKGROUNDCOLOR=|BORDER=|HALIGN=|OPAQUE=|TEXTATTRS=|VALIGN=\"},{\"StatementOptionName\":\"OPAQUE=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies whether the layout background is opaque (TRUE) or transparent (FALSE). The default \\nis FALSE.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"FALSE\",\"@Value2\":\"TRUE\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Specifies that the layout background is transparent.\",\"@ToolTip2\":\"Specifies that the layout background is opaque.\"}},{\"StatementOptionName\":\"PAD=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: PAD=dimension | (pad-options)] \\n          \\nSpecifies the amount of extra space that is added inside the layout border. The default padding \\nfor all sides is 0. Values without units are in pixels (px). A unit must be provided if other than pixels.\\n\\ndimension \\nSpecifies a dimension to use for the extra space at the left, right, top, and bottom of the layout border. \\n\\n(pad-options) \\nEnables separate settings for the left, right, top, and bottom padding dimensions. Use the pad-options to\\ncreate non-uniform padding. These options must be enclosed in parentheses.\\n\\nValues without units are in pixels (px). A unit must be provided if other than pixels.\\n\\n    LEFT=dimension \\n    specifies the amount of extra space added to the left side. \\n\\n    RIGHT=dimension \\n    specifies the amount of extra space added to the right side. \\n\\n    TOP=dimension \\n    specifies the amount of extra space added to the top. \\n\\n    BOTTOM=dimension \\n    specifies the amount of extra space added to the bottom.\"},\"StatementOptionType\":\"V\",\"SubOptionsKeywords\":\"BOTTOM=|TOP=|RIGHT=|LEFT=\"},{\"StatementOptionName\":\"PANELNUMBER=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: PANELNUMBER=positive-integer] \\n          \\nSpecifies the number of the panel to produce. The default is 1.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"ROWAXISOPTS=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: ROWAXISOPTS=(axis-options)] \\n          \\nSpecifies Y-axis options for all rows.\"},\"StatementOptionType\":\"V\",\"SubOptionsKeywords\":\"\\n            ALTDISPLAY=|ALTDISPLAYSECONDARY=|DISCRETEOPTS=|DISPLAY=|DISPLAYSECONDARY=|GRIDATTRS=|GRIDDISPLAY=|LABEL=|\\n            LABELATTRS=|LINEAROPTS=|LOGOPTS=|OFFSETMAX=|OFFSETMIN=|REVERSE=|SHORTLABEL=|TICKVALUEATTRS=|TIMEOPTS=|TYPE=\\n          \"},{\"StatementOptionName\":\"ROWDATARANGE=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies how the Y-axes of instances of the graph-prototype are scaled. The default is UNIONALL.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"UNIONALL\",\"@Value2\":\"UNION\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Scales the Y-axis data ranges across all layout rows and panels (when PANELNUMBER= is in effect).\",\"@ToolTip2\":\"Scales the Y-axis data ranges separately for each row in the layout.\"}},{\"StatementOptionName\":\"ROWGUTTER=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: ROWGUTTER=dimension] \\n          \\nSpecifies the amount of empty space between the rows. The default is 0.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"ROWHEADERS=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies where to position the outside row header.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"RIGHT\",\"@Value2\":\"LEFT\",\"@Value3\":\"BOTH\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Specifies that row header appears at the right of the layout.\",\"@ToolTip2\":\"Specifies that row header appears at the left of the layout.\",\"@ToolTip3\":\"Specifies that row header alternates between the right and left of the layout row by row.\"}},{\"StatementOptionName\":\"ROWS=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: ROWS=integer] \\n          \\nSpecifies the number of rows in the layout.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"SKIPEMPTYCELLS=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies whether the external axes skip the empty cells in a partially filled grid. The default \\nis false.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"FALSE\",\"@Value2\":\"TRUE\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"External axes are displayed at their normal locations, even if there are empty cells at one or  more of the locations.\",\"@ToolTip2\":\"External axes skip empty cells and \\\"snap\\\" to the nearest data cell, both vertically  and horizontally. Though the empty cells are not displayed, the data cells in the grid are  not enlarged to fill the area.\"}},{\"StatementOptionName\":\"START=\",\"StatementOptionHelp\":{\"#cdata\":\"Indicates whether to start populating the grid from the top-left or bottom-left corner. The default \\nis TOPLEFT.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"TOPLEFT\",\"@Value2\":\"BOTTOMLEFT\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Specifies to start populating the grid from the top-left corner.\",\"@ToolTip2\":\"Specifies to start populating the grid from the bottom-left corner.\"}}]}},{\"StatementName\":\"LAYOUT PROTOTYPE\",\"StatementHelp\":{\"#cdata\":\"[Syntax: LAYOUT PROTOTYPE </option(s)>; \\n    plot-statements;\\n\\n    <INNERMARGIN </options(s)>; \\n      block-plot-statement(s); | axis-table statement(s);\\n    ENDINNERMARGIN;> \\n\\n    <... more-innermargin-blocks ...> > \\n  ENDLAYOUT; \\n  \\nBuilds a composite from one or more plot-statements. The composite is used as a prototype or \\\"rubber stamp\\\" \\nthat repeats in each cell of a parent DATALATTICE or DATAPANEL layout.\"},\"StatementOptions\":{\"StatementOption\":[{\"StatementOptionName\":\"ASPECTRATIO=\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: ASPECTRATIO=AUTO | positive-number\\n\\nSpecifies the aspect ratio of the prototype cell.  The ratio is expressed as a positive decimal \\nfraction representing wall-height divided by wall-width. For example, 0.75 is a 3/4 aspect ratio \\nand 1.0 is a square aspect ratio. \\n\\nDefault: AUTO. The prototype cell is sized to the maximum area that can fill the available space inside the layout cell.  \\nNote: If AUTO is not used for the aspect ratio, then the entire DATALATTICE or DATAPANEL grid is affected and changes shape.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"TRUE\",\"@Value2\":\"FALSE\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"A border is drawn around the layout.\",\"@ToolTip2\":\"A border is not drawn around the layout. This is the default.\"}},{\"StatementOptionName\":\"CYCLEATTRS=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: CYCLEATTRS=boolean \\n          \\nSpecifies whether the default visual attributes of markers, lines, and fills in nested plot\\nstatements automatically change from plot to plot. Default: FALSE\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"FALSE\",\"@Value2\":\"TRUE\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Does not cycle the default visual attributes of multiple plots.\",\"@ToolTip2\":\"The system looks at the plots in the layout and tries to use the GraphData1 - GraphDataN style  elements to assign different visual properties to applicable plots (scatter plots and series  plots and others).\"}},{\"StatementOptionName\":\"WALLCOLOR=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: WALLCOLOR=style-reference | color] \\n          \\nSpecifies the fill color of the plot wall area. \\n\\nstyle-reference is a reference in the form style-element:style-attribute. \\nOnly the style-attribute named COLOR is used. \\n\\nDefault: The GraphWalls:Color style reference.\"},\"StatementOptionType\":\"C\"},{\"StatementOptionName\":\"WALLDISPLAY=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: WALLDISPLAY=STANDARD | ALL | NONE | (display-options)] \\n          \\nSpecifies whether the plot wall and wall outline are displayed. \\n\\nDefault: STANDARD\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"STANDARD\",\"@Value2\":\"ALL\",\"@Value3\":\"NONE\",\"@Value4\":\"<(display-options)>\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Displays a filled wall. The setting of the FRAMEBORDER= ON | OFF attribute of the GraphWalls style element determines whether the wall outline is displayed.\",\"@ToolTip2\":\"Displays a filled, outlined wall.\",\"@ToolTip3\":\"Displays no wall, no wall outline.\",\"@ToolTip4\":\"These options must be enclosed in parentheses and include one of the following:  OUTLINE  displays the wall outline.   FILL  displays a filled wall area.\"}}]}},{\"StatementName\":\"LAYOUT DATAPANEL\",\"StatementHelp\":{\"#cdata\":\"Syntax: LAYOUT DATAPANEL CLASSVARS= (class-var1 ... class-varN) </ option(s)> ; \\n  graph-prototype-block ;\\n  <sidebar-statement-block(s);>\\n  ENDLAYOUT ; \\n  \\nCreates a grid of graphs based on one or more classification variables and a graphical prototype. \\nBy default, a separate instance of the prototype (a data cell) is created for each actual combination \\nof the classification variables.\"},\"StatementOptions\":{\"StatementOption\":[{\"StatementOptionName\":\"CLASSVARS=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: CLASSVARS=(class-var1 ... class-varN)] \\n          \\nSpecifies a list of classification variables. By default, a data cell is created for each crossing \\nof these variables in the input data, and the total number of grid cells created is the result of a \\ncross-tabulation table of all the classification variables plus any empty cells needed to complete \\nthe last row/column of the grid. You can request that data cells be generated for all possible crossings, \\neven when the class variables have no values at those crossings.\"},\"StatementOptionType\":\"RV\"},{\"StatementOptionName\":\"BACKGROUNDCOLOR=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: BACKGROUNDCOLOR=style-reference | color] \\n          \\nSpecifies the color of the layout background. \\n\\nstyle-element \\nA reference in the form style-element:style-attribute . Only the style-attribute named COLOR is used. \\n\\nInteraction: OPAQUE=TRUE must be in effect for the color to be seen. By default, OPAQUE=FALSE.\"},\"StatementOptionType\":\"C\"},{\"StatementOptionName\":\"BORDER=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies whether a border is drawn around the layout.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"TRUE\",\"@Value2\":\"FALSE\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"A border is drawn around the layout.\",\"@ToolTip2\":\"A border is not drawn around the layout. This is the default.\"}},{\"StatementOptionName\":\"BORDERATTRS=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: BORDERATTRS=style-element | style-element (line-options) | (line-options)] \\n          \\nSpecifies the attributes of the border line around the layout.\\n\\nstyle-element \\n    Name of a style element. Only style attributes relevant for rendering the fill, line, data marker, or text will be used.\\n\\nstyle-element (line-options) \\n    Name of a style element, plus individual options to be used as style overrides. Any options not specified are derived\\n    from the specified style-element.\\n\\n(line-options) \\n    COLOR=style-reference | color \\n    specifies the line color. If you use a style-reference, the style-attribute should be a valid attribute such as COLOR,\\n    CONTRASTCOLOR, STARTCOLOR, NEUTRAL, ENDCOLOR. The convention is to use CONTRASTCOLOR for lines.\\n    \\n    PATTERN=style-reference | line-pattern-name | line-pattern-number \\n    specifies the line pattern. If you use a style-reference, the style-attribute should be LINESTYLE. \\n    Line patterns can be specified as a pattern name or pattern number (1 = Solid, 2-42 Dash/Dot).\\n\\n    THICKNESS=style-reference | dimension \\n    specifies the line thickness. If you use a style-reference, the style-attribute should be LINETHICKNESS.\"},\"StatementOptionType\":\"V\",\"SubOptionsKeywords\":\"COLOR=|PATTERN=|THICKNESS=\"},{\"StatementOptionName\":\"CELLHEIGHTMIN=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: CELLHEIGHTMIN=dimension] \\n          \\nSpecifies the minimum height of a cell in the grid. Default is 100px.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"CELLWIDTHMIN=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: CELLWIDTHMIN=dimension] \\n          \\nSpecifies the minimum width of a cell in the grid. Default is 100px.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"COLUMNAXISOPTS=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: COLUMNAXISOPTS=(axis-options)] \\n          \\nSpecifies X-axis options for all columns. Axis options must be enclosed in parentheses and \\nseparated by spaces.\"},\"StatementOptionType\":\"V\",\"SubOptionsKeywords\":\"\\n            ALTDISPLAY=|ALTDISPLAYSECONDARY=|DISCRETEOPTS=|DISPLAY=|DISPLAYSECONDARY=|GRIDATTRS=|GRIDDISPLAY=|LABEL=|\\n            LABELATTRS=|LINEAROPTS=|LOGOPTS=|OFFSETMAX=|OFFSETMIN=|REVERSE=|SHORTLABEL=|TICKVALUEATTRS=|TIMEOPTS=|TYPE=\\n          \"},{\"StatementOptionName\":\"COLUMNDATARANGE=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies how the X-axes of instances of the graph-prototype are scaled. The default is UNIONALL.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"UNIONALL\",\"@Value2\":\"UNION\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Scales the X-axis data ranges across all layout columns and panels (when PANELNUMBER= is in effect).\",\"@ToolTip2\":\"Scales the X-axis data ranges separately for each column in the layout.\"}},{\"StatementOptionName\":\"COLUMNGUTTER=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: COLUMNGUTTER=dimension] \\n          \\nSpecifies the amount of empty space that is between the columns. The default is 0.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"COLUMNS=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: COLUMNS=integer] \\n          \\nSpecifies the number of columns in the layout.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"HEADERBACKGROUNDCOLOR=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: HEADERBACKGROUNDCOLOR=style-reference | color] \\n          \\nSpecifies the background color of the cell headers. \\n\\nstyle-reference \\nA reference in the form style-element:style-attribute. Only the style-attribute named COLOR is used. \"},\"StatementOptionType\":\"C\"},{\"StatementOptionName\":\"HEADERLABELATTRS=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: HEADERLABELATTRS=style-element | style-element (text-options) | (text-options))] \\n          \\nSpecifies the color and font attributes of the data labels.\\n\\nstyle-element \\n    Name of a style element. Only style attributes relevant for rendering the fill, line, data marker, or text will be used.\\n\\nstyle-element (text-options) \\n    Name of a style element, plus individual options to be used as style overrides. Any options not specified are derived\\n    from the specified style-element.\\n\\n(text-options) \\nCOLOR=style-reference | color \\n    specifies the color of the text. If you use a style-reference, the style-attribute should be a valid\\n    attribute such as COLOR, CONTRASTCOLOR, STARTCOLOR, NEUTRAL, ENDCOLOR. The convention is to use COLOR for text.\\n\\nFAMILY =style-reference | \\\"string\\\" \\n    specifies the font family of the text. If you use a style-reference, the style-attribute should be FONTFAMILY.\\n\\nSIZE=style-reference | dimension \\n    specifies the font size of the text. If you use a style-reference, the style-attribute should be FONTSIZE. \\n\\nSTYLE=style-reference | NORMAL | ITALIC \\n    specifies the font style of the text. If you use a style-reference, the style-attribute should be FONTSTYLE. \\n\\nWEIGHT=style-reference | NORMAL | BOLD \\n    specifies the font weight of the text. If you use a style-reference, the style-attribute should be FONTWEIGHT.\"},\"StatementOptionType\":\"V\",\"SubOptionsKeywords\":\"COLOR=|FAMILY=|SIZE=|STYLE=|WEIGHT=\"},{\"StatementOptionName\":\"HEADERLABELDISPLAY=\",\"StatementOptionHelp\":{\"#cdata\":\"Indicates whether the automatic cell header text includes variable name and value or just the value. \\nThe default is NAMEVALUE.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"NAMEVALUE\",\"@Value2\":\"VALUE\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"The automatic cell header text includes variable name and value.\",\"@ToolTip2\":\"The automatic cell header text includes just the value.\"}},{\"StatementOptionName\":\"HEADERLABELLOCATION=\",\"StatementOptionHelp\":{\"#cdata\":\"Indicates whether the cell header is placed within each cell (INSIDE) or as row and column headers \\nexternal to the lattice (OUTSIDE).\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"OUTSIDE\",\"@Value2\":\"INSIDE\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"The cell header is placed as row and column headers external to the lattice.\",\"@ToolTip2\":\"The cell header is placed within each cell.\"}},{\"StatementOptionName\":\"HEADEROPAQUE=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies whether the background for cell headers is opaque (TRUE) or transparent (FALSE).\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"TRUE\",\"@Value2\":\"FALSE\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"The background for cell headers is opaque. This is the default.\",\"@ToolTip2\":\"The background for cell headers is transparent.\"}},{\"StatementOptionName\":\"INSET=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: INSET=(variable-list)] \\n          \\nSpecifies what information is displayed in an inset. The variable-list defines one or more\\nvariables whose names and values appear as a small table in the data cells. The variables \\nmay be either numeric or character. Variable names are separated by spaces.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"INSETOPTS=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: INSETOPTS=(appearance-options)] \\n          \\nSpecifies location and appearance options for the inset information. The appearance-options can \\nbe any one or more of the settings that follow. The options must be enclosed in parentheses, and \\neach option is specified as a name=value pair.\\n\\n  AUTOALIGN=NONE | AUTO | (location-list) \\n  specifies whether the inset is automatically aligned within the layout. \\n\\n  BACKGROUNDCOLOR= style-reference | color \\n  specifies the color of the inset background. Default is TRANSPARENT.\\n\\n  BORDER=TRUE | FALSE\\n  specifies whether a border is displayed around the inset. Default is FALSE.\\n\\n  HALIGN=LEFT | CENTER | RIGHT \\n  specifies the horizontal alignment of the inset. Default is LEFT.\\n\\n  OPAQUE= boolean \\n  specifies whether the inset background is opaque (TRUE) or transparent (FALSE). Default is FALSE.\\n\\n  TEXTATTRS=style-element | style-element (text-options) | (text-options) \\n  specifies the text properties of the entire inset.\\n\\n  VALIGN=TOP | CENTER |BOTTOM \\n  specifies the vertical alignment of the inset. Default is TOP.\"},\"StatementOptionType\":\"V\",\"SubOptionsKeywords\":\"AUTOALIGN=|BACKGROUNDCOLOR=|BORDER=|HALIGN=|OPAQUE=|TEXTATTRS=|VALIGN=\"},{\"StatementOptionName\":\"OPAQUE=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies whether the layout background is opaque (TRUE) or transparent (FALSE). The default \\nis FALSE.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"FALSE\",\"@Value2\":\"TRUE\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Specifies that the layout background is transparent.\",\"@ToolTip2\":\"Specifies that the layout background is opaque.\"}},{\"StatementOptionName\":\"PAD=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: PAD=dimension | (pad-options)] \\n          \\nSpecifies the amount of extra space that is added inside the layout border. The default padding \\nfor all sides is 0. Values without units are in pixels (px). A unit must be provided if other than pixels.\\n\\ndimension \\nSpecifies a dimension to use for the extra space at the left, right, top, and bottom of the layout border. \\n\\n(pad-options) \\nEnables separate settings for the left, right, top, and bottom padding dimensions. Use the pad-options to\\ncreate non-uniform padding. These options must be enclosed in parentheses.\\n\\nValues without units are in pixels (px). A unit must be provided if other than pixels.\\n\\n    LEFT=dimension \\n    specifies the amount of extra space added to the left side. \\n\\n    RIGHT=dimension \\n    specifies the amount of extra space added to the right side. \\n\\n    TOP=dimension \\n    specifies the amount of extra space added to the top. \\n\\n    BOTTOM=dimension \\n    specifies the amount of extra space added to the bottom.\"},\"StatementOptionType\":\"V\",\"SubOptionsKeywords\":\"BOTTOM=|TOP=|RIGHT=|LEFT=\"},{\"StatementOptionName\":\"PANELNUMBER=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: PANELNUMBER=positive-integer] \\n          \\nSpecifies the number of the panel to produce. The default is 1.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"ROWAXISOPTS=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: ROWAXISOPTS=(axis-options)] \\n          \\nSpecifies Y-axis options for all rows.\"},\"StatementOptionType\":\"V\",\"SubOptionsKeywords\":\"\\n            ALTDISPLAY=|ALTDISPLAYSECONDARY=|DISCRETEOPTS=|DISPLAY=|DISPLAYSECONDARY=|GRIDATTRS=|GRIDDISPLAY=|LABEL=|\\n            LABELATTRS=|LINEAROPTS=|LOGOPTS=|OFFSETMAX=|OFFSETMIN=|REVERSE=|SHORTLABEL=|TICKVALUEATTRS=|TIMEOPTS=|TYPE=\\n          \"},{\"StatementOptionName\":\"ROWDATARANGE=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies how the Y-axes of instances of the graph-prototype are scaled. The default is UNIONALL.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"UNIONALL\",\"@Value2\":\"UNION\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Scales the Y-axis data ranges across all layout rows and panels (when PANELNUMBER= is in effect).\",\"@ToolTip2\":\"Scales the Y-axis data ranges separately for each row in the layout.\"}},{\"StatementOptionName\":\"ROWGUTTER=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: ROWGUTTER=dimension] \\n          \\nSpecifies the amount of empty space between the rows. The default is 0.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"ROWS=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: ROWS=integer] \\n          \\nSpecifies the amount of empty space between the rows.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"SKIPEMPTYCELLS=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies whether the external axes skip the empty cells in a partially filled grid. The default \\nis false.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"FALSE\",\"@Value2\":\"TRUE\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"External axes are displayed at their normal locations, even if there are empty cells at one or  more of the locations.\",\"@ToolTip2\":\"External axes skip empty cells and \\\"snap\\\" to the nearest data cell, both vertically  and horizontally. Though the empty cells are not displayed, the data cells in the grid are  not enlarged to fill the area.\"}},{\"StatementOptionName\":\"SPARSE=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies whether crossings of the class variables include only the crossings in the data or all \\npossible crossings. Default: FALSE.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"FALSE\",\"@Value2\":\"TRUE\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Data cells are created only for crossings of the class variables that are in the data.\",\"@ToolTip2\":\"The number of data cells is the product of the unique values for each classification variable.\"}},{\"StatementOptionName\":\"START=\",\"StatementOptionHelp\":{\"#cdata\":\"Indicates whether to start populating the grid cells from the top-left or bottom-left corner. The default \\nis TOPLEFT.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"TOPLEFT\",\"@Value2\":\"BOTTOMLEFT\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Specifies to start populating the grid cells from the top-left corner.\",\"@ToolTip2\":\"Specifies to start populating the grid cells from the bottom-left corner.\"}}]}},{\"StatementName\":\"LAYOUT GRIDDED\",\"StatementHelp\":{\"#cdata\":\"Syntax: LAYOUT GRIDDED </ option(s)> ; \\n  GTL-statements ;\\n  ENDLAYOUT ; \\n  \\nAssembles the results of nested GTL-statements into a grid.\"},\"StatementOptions\":{\"StatementOption\":[{\"StatementOptionName\":\"AUTOALIGN=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies whether this layout is automatically aligned within its parent when nested within an overlay-type layout.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"AUTO\",\"@Value2\":\"NONE\",\"@Value3\":\"<(location-list)>\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Available only if the parent layout contains a scatter plot; ignored otherwise. Within the parent layout,  attempt to center this layout in the area that is farthest from any surrounding data point markers.\",\"@ToolTip2\":\"Do not automatically align this layout within its parent layout. This layout's position within its parent  layout will be set by the HALIGN= and VALIGN= options.\",\"@ToolTip3\":\"Within the parent layout, restrict this layout's possible locations to those locations in the specified  location-list, and use the location-list position that least collides with the parent layout's other  grahpics features. The location-list is blank-separated and can contain any of these locations: TOPLEFT,  TOP, TOPRIGHT, LEFT, CENTER, RIGHT, BOTTOMLEFT, BOTTOM, and BOTTOMRIGHT.\"}},{\"StatementOptionName\":\"BACKGROUNDCOLOR=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: BACKGROUNDCOLOR=style-reference | color] \\n          \\nSpecifies the color of the layout background. \\n\\nstyle-reference \\nA reference in the form style-element:style-attribute . Only the style-attribute named COLOR is used. \\n\\nInteraction: OPAQUE=TRUE must be in effect for the color to be seen. By default, OPAQUE=FALSE.\"},\"StatementOptionType\":\"C\"},{\"StatementOptionName\":\"BORDER=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies whether a border is drawn around the layout.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"TRUE\",\"@Value2\":\"FALSE\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"A border is drawn around the layout.\",\"@ToolTip2\":\"A border is not drawn around the layout. This is the default.\"}},{\"StatementOptionName\":\"BORDERATTRS=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: BORDERATTRS=style-element | style-element (line-options) | (line-options)] \\n          \\nSpecifies the attributes of the border line around the layout.\\n\\nstyle-element \\n    Name of a style element. Only style attributes relevant for rendering the fill, line, data marker, or text will be used.\\n\\nstyle-element (line-options) \\n    Name of a style element, plus individual options to be used as style overrides. Any options not specified are derived\\n    from the specified style-element.\\n\\n(line-options) \\n    COLOR=style-reference | color \\n    specifies the line color. If you use a style-reference, the style-attribute should be a valid attribute such as COLOR,\\n    CONTRASTCOLOR, STARTCOLOR, NEUTRAL, ENDCOLOR. The convention is to use CONTRASTCOLOR for lines.\\n    \\n    PATTERN=style-reference | line-pattern-name | line-pattern-number \\n    specifies the line pattern. If you use a style-reference, the style-attribute should be LINESTYLE. \\n    Line patterns can be specified as a pattern name or pattern number (1 = Solid, 2-42 Dash/Dot).\\n\\n    THICKNESS=style-reference | dimension \\n    specifies the line thickness. If you use a style-reference, the style-attribute should be LINETHICKNESS.\"},\"StatementOptionType\":\"V\",\"SubOptionsKeywords\":\"COLOR=|PATTERN=|THICKNESS=\"},{\"StatementOptionName\":\"COLUMNGUTTER=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: COLUMNGUTTER=dimension] \\n          \\nSpecifies the amount of empty space between the columns. The default is 0.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"COLUMNS=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: COLUMNS=integer] \\n          \\nSpecifies the number of columns in the layout. \\n\\nDefault: If ORDER=ROWMAJOR, the default is 1.\\nIf ORDER=COLUMNMAJOR, as many columns are created as needed to satisfy the ROWS= request.\\n\\nRestriction: Assuming ORDER=ROWMAJOR, if COLUMNS=n and there are m cells defined, and n > m , then \\nonly m columns will be created (there are n - m cells with zero size).\\n\\nTip: This option is used to create a grid with a fixed number of columns, without concern for how many rows.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"HALIGN=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies this layout's horizontal alignment within its parent when nested within an overlay-type layout.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"CENTER\",\"@Value2\":\"LEFT\",\"@Value3\":\"RIGHT\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Specifies a centered horizontal.\",\"@ToolTip2\":\"Specifies a left-aligned horizontal alignment.\",\"@ToolTip3\":\"Specifies a right-aligned horizontal alignment.\"}},{\"StatementOptionName\":\"LOCATION=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies whether the legend appears inside or outside the plot area when nested within an overlay-type layout.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"INSIDE\",\"@Value2\":\"OUTSIDE\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Specifies that the legend appears inside the plot area when nested within an overlay-type layout.\",\"@ToolTip2\":\"Specifies that the legend appears outside the plot area when nested within an overlay-type layout.\"}},{\"StatementOptionName\":\"OPAQUE=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies whether the layout background is opaque (TRUE) or transparent (FALSE). The default \\nis FALSE.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"FALSE\",\"@Value2\":\"TRUE\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Specifies that the layout background is transparent.\",\"@ToolTip2\":\"Specifies that the layout background is opaque.\"}},{\"StatementOptionName\":\"ORDER=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies whether cells are populated using column priority or by row priority.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"ROWMAJOR\",\"@Value2\":\"COLUMNMAJOR\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Fills all the columns in a row, from left to right, before going to the next row.\",\"@ToolTip2\":\"Fills all the rows in a column, from top to bottom, before going to the next column.\"}},{\"StatementOptionName\":\"PAD=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: PAD=dimension | (pad-options)] \\n          \\nSpecifies the amount of extra space that is added inside the layout border. The default padding \\nfor all sides is 0. Values without units are in pixels (px). A unit must be provided if other than pixels.\\n\\ndimension \\nSpecifies a dimension to use for the extra space at the left, right, top, and bottom of the layout border. \\n\\n(pad-options) \\nEnables separate settings for the left, right, top, and bottom padding dimensions. Use the pad-options to\\ncreate non-uniform padding. These options must be enclosed in parentheses.\\n\\nValues without units are in pixels (px). A unit must be provided if other than pixels.\\n\\n    LEFT=dimension \\n    specifies the amount of extra space added to the left side. \\n\\n    RIGHT=dimension \\n    specifies the amount of extra space added to the right side. \\n\\n    TOP=dimension \\n    specifies the amount of extra space added to the top. \\n\\n    BOTTOM=dimension \\n    specifies the amount of extra space added to the bottom.\"},\"StatementOptionType\":\"V\",\"SubOptionsKeywords\":\"BOTTOM=|TOP=|RIGHT=|LEFT=\"},{\"StatementOptionName\":\"ROWGUTTER=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: ROWGUTTER=dimension] \\n          \\nSpecifies the amount of empty space between the rows. The default is 0.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"ROWS=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: ROWS=integer] \\n          \\nSpecifies the amount of empty space between the rows. \\n\\nDefault: If ORDER=COLUMNMAJOR, the default is 1.\\nIf ORDER=ROWMAJOR, this option is ignored and as many rows are created as needed to satisfy the COLUMNS= request.\\n\\nRestriction: Assuming ORDER=COLUMNMAJOR, if ROWS=n and there are m cells defined, and n > m , then \\nonly m rows will be created (there are n - m cells with zero size).\\n\\nTip: This option is used to create a grid with a fixed number of rows, without concern for how many columns.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"VALIGN=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies this layout's vertical alignment within its parent when nested within an overlay-type layout.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"CENTER\",\"@Value2\":\"TOP\",\"@Value3\":\"BOTTOM\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Specifies a centered vertical alignment.\",\"@ToolTip2\":\"Specifies a top-aligned vertical alignment.\",\"@ToolTip3\":\"Specifies a bottom-aligned vertical alignment.\"}}]}},{\"StatementName\":\"LAYOUT GLOBALLEGEND\",\"StatementHelp\":{\"#cdata\":\"Syntax: LAYOUT GLOBALLEGEND </option(s)>; \\n    <discreteLegend-statement(s) | mergedLegend-statement(s)>; \\n  ENDLAYOUT; \\n  \\nCreates a compound legend containing multiple discrete legends positioned at the bottom of a graph. \\n\\nRestrictions: Only one global legend is allowed in a graph. \\n\\nThe LAYOUT GLOBALLEGEND statement must be placed directly inside the BEGINGRAPH block. It is not valid outside \\nof the BEGINGRAPH block. Continuous legends are not supported inside the global legend.  \\n\\nWhen the LAYOUT GLOBALLEGEND block is used, all of the template's legend statements must be specified within \\nthe LAYOUT GLOBALLEGEND block. Any legend statements that are specified outside of the LAYOUT GLOBALLEGEND \\nblock are ignored.\"},\"StatementOptions\":{\"StatementOption\":[{\"StatementOptionName\":\"BORDER=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies whether a border is drawn around the layout.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"TRUE\",\"@Value2\":\"FALSE\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"A border is drawn around the layout.\",\"@ToolTip2\":\"A border is not drawn around the layout. This is the default.\"}},{\"StatementOptionName\":\"BORDERATTRS=\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: BORDERATTRS=style-element | style-element (line-options) | (line-options)\\n          \\nSpecifies the attributes of the border line around the layout.\\n\\nstyle-element \\n    Name of a style element. Only style attributes relevant for rendering the fill, line, data marker, or text will be used.\\n\\nstyle-element (line-options) \\n    Name of a style element, plus individual options to be used as style overrides. Any options not specified are derived\\n    from the specified style-element.\\n\\n(line-options) \\n    COLOR=style-reference | color \\n    specifies the line color. If you use a style-reference, the style-attribute should be a valid attribute such as COLOR,\\n    CONTRASTCOLOR, STARTCOLOR, NEUTRAL, ENDCOLOR. The convention is to use CONTRASTCOLOR for lines.\\n    \\n    PATTERN=style-reference | line-pattern-name | line-pattern-number \\n    specifies the line pattern. If you use a style-reference, the style-attribute should be LINESTYLE. \\n    Line patterns can be specified as a pattern name or pattern number (1 = Solid, 2-42 Dash/Dot).\\n\\n    THICKNESS=style-reference | dimension \\n    specifies the line thickness. If you use a style-reference, the style-attribute should be LINETHICKNESS.\"},\"StatementOptionType\":\"V\",\"SubOptionsKeywords\":\"COLOR=|PATTERN=|THICKNESS=\"},{\"StatementOptionName\":\"DISPLAYCLIPPED=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies whether the global legend is displayed when any portion of its nested legends cannot be fully \\nrendered because of space constraints. \\n\\nDefault: FALSE\\n\\nInteraction This option overrides any DISPLAYCLIPPED option that is set on its nested legend statements.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"FALSE\",\"@Value2\":\"TRUE\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Specifies that the legend is not displayed when any portion of the nested legend is not entirely rendered.\",\"@ToolTip2\":\"The legend always appears, even if some parts of the nested legends have been clipped.\"}},{\"StatementOptionName\":\"GUTTER=\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: GUTTER=dimension\\n\\nSpecifies the gap between nested layouts.\\n\\nDefault 0 \\nNote The default units for dimension are pixels.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"HALIGN=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies the layout\\u2019s horizontal alignment within the graph area that is defined by the BEGINGRAPH block.\\n\\nDefault CENTER \\n\\nNote When CENTER is in effect and the outermost layout is an overlay-type layout, the global legend is centered \\nbelow the wall area if it can fit within the wall width.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"CENTER\",\"@Value2\":\"LEFT\",\"@Value3\":\"RIGHT\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Specifies a centered horizontal alignment.\",\"@ToolTip2\":\"Specifies a left-aligned horizontal alignment.\",\"@ToolTip3\":\"Specifies a right-aligned horizontal alignment.\"}},{\"StatementOptionName\":\"LEGENDTITLEPOSITION=\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: LEGENDTITLEPOSITION=LEFT | TOP\\n\\nSpecifies the position of each nested legend\\u2019s title.  Specifying LEFT places each title to the left of the legend \\nitems for that legend. Specifying TOP places each title above the legend items for that legend.\\n\\nDefault LEFT\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"LEFT\",\"@Value2\":\"TOP\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Places each title to the left of the legend items for that legend.\",\"@ToolTip2\":\"Places each title above the legend items for that legend.\"}},{\"StatementOptionName\":\"OUTERPAD=\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: AUTO | dimension | (pad-options) \\n\\nSpecifies the amount of extra space to add outside the layout border. \\n \\nAUTO\\n  specifies that the default outside padding for this component is used. \\n\\ndimension\\n  specifies a dimension to use for the extra space at the left, right, top, and bottom of the legend border.\\n\\n(pad-options)\\n  a space-separated list of one or more of the following name-value pair options, enclosed in parentheses:\\n\\n  LEFT=dimension\\n    specifies the amount of extra space added to the left side.\\n  RIGHT=dimension\\n    specifies the amount of extra space added to the right side.\\n  TOP=dimension\\n    specifies the amount of extra space added to the top.\\n  BOTTOM=dimension\\n    specifies the amount of extra space added to the bottom.\\n\\n  Note: Sides that are not assigned padding are padded with the default amount.\\n  Tip: Use pad-options to create non-uniform padding.\\n  Default: No padding\"},\"StatementOptionType\":\"V\",\"SubOptionsKeywords\":\"AUTO|LEFT=|RIGHT=|TOP=|BOTTOM=\"},{\"StatementOptionName\":\"PAD=\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: PAD=dimension | (pad-options) \\n          \\nSpecifies the amount of extra space that is added inside the layout border. \\n\\ndimension \\nSpecifies a dimension to use for the extra space at the left, right, top, and bottom of the border. \\n\\n(pad-options) \\nA space-separated list of one or more of the following name-value-pair options enclosed in parentheses: \\n\\n    LEFT=dimension \\n    specifies the amount of extra space added to the left side. Default 0 \\n\\n    RIGHT=dimension \\n    specifies the amount of extra space added to the right side. Default 0 \\n\\n    TOP=dimension \\n    specifies the amount of extra space added to the top. Default 0 \\n\\n    BOTTOM=dimension \\n    specifies the amount of extra space added to the bottom. Default 0\"},\"StatementOptionType\":\"V\",\"SubOptionsKeywords\":\"BOTTOM=|TOP=|RIGHT=|LEFT=\"},{\"StatementOptionName\":\"TITLE=\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: TITLE=\\u201cstring\\u201d \\n\\nSpecifies a title for the global legend.\\n\\nDefault: No title is displayed for the global legend. \\n\\nRestriction: The string must be enclosed in quotation marks. \\n\\nTip: The title for the global legend is independent of the titles for its nested legends.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"TITLEATTRS=\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: style-element | style-element (text-options) | (text-options) \\n          \\nSpecifies the color and font attributes of the global legend title. \\n\\nDefault: The GraphLabelText style element.\\n\\nInteraction: For this option to have any effect, the TITLE= option must also be specified. \\n\\nstyle-element \\n    Name of a style element. Only style attributes relevant for rendering the fill, line, data marker, or text will be used.\\n\\nstyle-element (text-options) \\n    Name of a style element, plus individual options to be used as style overrides. Any options not specified are derived\\n    from the specified style-element.\\n\\n(text-options) \\nCOLOR=style-reference | color \\n    specifies the color of the text. If you use a style-reference, the style-attribute should be a valid\\n    attribute such as COLOR, CONTRASTCOLOR, STARTCOLOR, NEUTRAL, ENDCOLOR. The convention is to use COLOR for text.\\n\\nFAMILY =style-reference | \\\"string\\\" \\n    specifies the font family of the text. If you use a style-reference, the style-attribute should be FONTFAMILY.\\n\\nSIZE=style-reference | dimension \\n    specifies the font size of the text. If you use a style-reference, the style-attribute should be FONTSIZE. \\n\\nSTYLE=style-reference | NORMAL | ITALIC \\n    specifies the font style of the text. If you use a style-reference, the style-attribute should be FONTSTYLE. \\n\\nWEIGHT=style-reference | NORMAL | BOLD \\n    specifies the font weight of the text. If you use a style-reference, the style-attribute should be FONTWEIGHT.\"},\"StatementOptionType\":\"V\",\"SubOptionsKeywords\":\"COLOR=|FAMILY=|SIZE=|STYLE=|WEIGHT=\"},{\"StatementOptionName\":\"TYPE=\",\"StatementOptionHelp\":{\"#cdata\":\"TYPE=ROW | COLUMN\\n\\nSpecifies whether nested legends are arranged into a single row or column.\\n\\nDefault ROW \\n\\nInteraction: When this option is set to ROW, the relative width of each legend is determined by the setting for the WEIGHTS= option.  \\n\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"ROW\",\"@Value2\":\"COLUMN\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Specifies that nested legends are arranged into a single row.\",\"@ToolTip2\":\"Specifies that nested legends are arranged into a single column.\"}},{\"StatementOptionName\":\"WEIGHTS=\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: WEIGHTS=UNIFORM | PREFERRED | (weight-list) \\n\\nSpecifies the preferred space allocation for the nested legends. \\n\\nDefault: UNIFORM \\n\\nRestriction: The option is supported only for TYPE=ROW. \\n\\nTip When a weight-list is specified, all the legends using PREFERRED get their preferred space. \\nAny remaining space is divided among the legends, in proportion to the numeric values specified \\nin the weight-list.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"UNIFORM\",\"@Value2\":\"PREFERRED\",\"@Value3\":\"weight-list)\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Allocates an equal amount of space for all nested legends. \",\"@ToolTip2\":\"Allocates the preferred amount of space for each nested legend.\",\"@ToolTip3\":\"A space-separated list of preferred space allocations, enclosed in parentheses. The list can combine  numbers with the keyword PREFERRED. Each number is a proportional weight for the corresponding nested legend  (the weights do not have to sum to 1.0). Keyword PREFERRED specifies that the corresponding nested legend  should be allocated its preferred space. The order of the weights that are specified in the list should  correspond to the order of the legend statements that are nested in the GLOBALLEGEND layout.\"}}]}},{\"StatementName\":\"LAYOUT LATTICE\",\"StatementHelp\":{\"#cdata\":\"Syntax: LAYOUT LATTICE </ option(s)> ; \\n  GTL-statement(s) | cell-statement-block(s);\\n  <axis-statement-block(s);>\\n  <header-statement-block(s);>\\n  <sidebar-statement-block(s);>\\n  ENDLAYOUT ; \\n  \\nCreates a grid of graphs that automatically aligns plot areas and tick display areas across grid cells \\nto facilitate data comparisons among graphs.\"},\"StatementOptions\":{\"StatementOption\":[{\"StatementOptionName\":\"AUTOALIGN=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies whether this layout is automatically aligned within its parent when nested within an overlay-type layout.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"AUTO\",\"@Value2\":\"NONE\",\"@Value3\":\"<(location-list)>\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Available only if the parent layout contains a scatter plot; ignored otherwise. Within the parent layout,  attempt to center this layout in the area that is farthest from any surrounding data point markers.\",\"@ToolTip2\":\"Do not automatically align this layout within its parent layout. This layout's position within its parent  layout will be set by the HALIGN= and VALIGN= options.\",\"@ToolTip3\":\"Within the parent layout, restrict this layout's possible locations to those locations in the specified  location-list, and use the location-list position that least collides with the parent layout's other  grahpics features. The location-list is blank-separated and can contain any of these locations: TOPLEFT,  TOP, TOPRIGHT, LEFT, CENTER, RIGHT, BOTTOMLEFT, BOTTOM, and BOTTOMRIGHT.\"}},{\"StatementOptionName\":\"BACKGROUNDCOLOR=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: BACKGROUNDCOLOR=style-reference | color] \\n          \\nSpecifies the color of the layout background. \\n\\nstyle-element \\nA reference in the form style-element:style-attribute . Only the style-attribute named COLOR is used. \\n\\nInteraction: OPAQUE=TRUE must be in effect for the color to be seen. By default, OPAQUE=FALSE.\"},\"StatementOptionType\":\"C\"},{\"StatementOptionName\":\"BORDER=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies whether a border is drawn around the layout.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"TRUE\",\"@Value2\":\"FALSE\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"A border is drawn around the layout.\",\"@ToolTip2\":\"A border is not drawn around the layout. This is the default.\"}},{\"StatementOptionName\":\"BORDERATTRS=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: BORDERATTRS=style-element | style-element (line-options) | (line-options)] \\n          \\nSpecifies the attributes of the border line around the layout.\\n\\nstyle-element \\n    Name of a style element. Only style attributes relevant for rendering the fill, line, data marker, or text will be used.\\n\\nstyle-element (line-options) \\n    Name of a style element, plus individual options to be used as style overrides. Any options not specified are derived\\n    from the specified style-element.\\n\\n(line-options) \\n    COLOR=style-reference | color \\n    specifies the line color. If you use a style-reference, the style-attribute should be a valid attribute such as COLOR,\\n    CONTRASTCOLOR, STARTCOLOR, NEUTRAL, ENDCOLOR. The convention is to use CONTRASTCOLOR for lines.\\n    \\n    PATTERN=style-reference | line-pattern-name | line-pattern-number \\n    specifies the line pattern. If you use a style-reference, the style-attribute should be LINESTYLE. \\n    Line patterns can be specified as a pattern name or pattern number (1 = Solid, 2-42 Dash/Dot).\\n\\n    THICKNESS=style-reference | dimension \\n    specifies the line thickness. If you use a style-reference, the style-attribute should be LINETHICKNESS.\"},\"StatementOptionType\":\"V\",\"SubOptionsKeywords\":\"COLOR=|PATTERN=|THICKNESS=\"},{\"StatementOptionName\":\"COLUMNDATARANGE=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies how the X-axes of instances of the graph-prototype are scaled. The default is UNIONALL.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"UNIONALL\",\"@Value2\":\"UNION\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Scales the X-axis data ranges across all layout columns and panels (when PANELNUMBER= is in effect).\",\"@ToolTip2\":\"Scales the X-axis data ranges separately for each column in the layout.\"}},{\"StatementOptionName\":\"COLUMNGUTTER=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: COLUMNGUTTER=dimension] \\n          \\nSpecifies the amount of empty space between the columns. The default is 0.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"COLUMNS=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: COLUMNS=integer] \\n          \\nSpecifies the number of columns in the layout. \\n\\nDefault: If ORDER=ROWMAJOR, the default is 1.\\nIf ORDER=COLUMNMAJOR, as many columns are created as needed to satisfy the ROWS= request.\\n\\nRestriction: Assuming ORDER=ROWMAJOR, if COLUMNS=n and there are m cells defined, and n > m , then \\nonly m columns will be created (there are n - m cells with zero size).\\n\\nTip: This option is used to create a grid with a fixed number of columns, without concern for how many rows.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"COLUMNWEIGHTS=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: COLUMNWEIGHTS= (numeric-list)] \\n          \\nSpecifies the fractional proportion of each cell relative to the overall grid width, not including \\nheaders, sidebars, and column axes. \\n\\nRequirement: numeric-list must be enclosed in parentheses. If there are n columns, then the list \\nspecified should contain n values and the sum of the weights should be 1.0.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"HALIGN=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies this layout's horizontal alignment within its parent when nested within an overlay-type layout.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"CENTER\",\"@Value2\":\"LEFT\",\"@Value3\":\"RIGHT\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Specifies a centered horizontal alignment.\",\"@ToolTip2\":\"Specifies a left-aligned horizontal alignment.\",\"@ToolTip3\":\"Specifies a right-aligned horizontal alignment.\"}},{\"StatementOptionName\":\"OPAQUE=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies whether the layout background is opaque (TRUE) or transparent (FALSE). The default \\nis FALSE.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"FALSE\",\"@Value2\":\"TRUE\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Specifies that the layout background is transparent.\",\"@ToolTip2\":\"Specifies that the layout background is opaque.\"}},{\"StatementOptionName\":\"ORDER=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies whether cells are populated using column priority or by row priority.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"ROWMAJOR\",\"@Value2\":\"COLUMNMAJOR\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Fills all the columns in a row, from left to right, before going to the next row.\",\"@ToolTip2\":\"Fills all the rows in a column, from top to bottom, before going to the next column.\"}},{\"StatementOptionName\":\"PAD=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: PAD=dimension | (pad-options)] \\n          \\nSpecifies the amount of extra space that is added inside the layout border. The default padding \\nfor all sides is 0. Values without units are in pixels (px). A unit must be provided if other than pixels.\\n\\ndimension \\nSpecifies a dimension to use for the extra space at the left, right, top, and bottom of the layout border. \\n\\n(pad-options) \\nEnables separate settings for the left, right, top, and bottom padding dimensions. Use the pad-options to\\ncreate non-uniform padding. These options must be enclosed in parentheses.\\n\\nValues without units are in pixels (px). A unit must be provided if other than pixels.\\n\\n    LEFT=dimension \\n    specifies the amount of extra space added to the left side. \\n\\n    RIGHT=dimension \\n    specifies the amount of extra space added to the right side. \\n\\n    TOP=dimension \\n    specifies the amount of extra space added to the top. \\n\\n    BOTTOM=dimension \\n    specifies the amount of extra space added to the bottom.\"},\"StatementOptionType\":\"V\",\"SubOptionsKeywords\":\"BOTTOM=|TOP=|RIGHT=|LEFT=\"},{\"StatementOptionName\":\"ROWDATARANGE=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies how the Y-axis data ranges of graphs within the layout rows are scaled.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"DATA\",\"@Value2\":\"UNION\",\"@Value3\":\"UNIONALL\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Scales the Y-axis data ranges separately for each cell in the layout.\",\"@ToolTip2\":\"Scales the Y-axis data ranges separately for each row in the layout. This setting is only supported  if all plots down the row can share the same data range and axis type.\",\"@ToolTip3\":\"Scales the Y-axis data ranges across all rows in the layout. This setting is only supported if all  plots down the row can share the same data range and axis type.\"}},{\"StatementOptionName\":\"ROWGUTTER=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: ROWGUTTER=dimension] \\n          \\nSpecifies the amount of empty space between the rows. The default is 0. \\n\\nTip: If there are n rows, then there are n -1 gutters.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"ROWS=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: ROWS=integer] \\n          \\nSpecifies the number of rows in the layout. \\nDefault: If ORDER=COLUMNMAJOR, the default is 1.\\n\\nIf ORDER=ROWMAJOR, as many ROWS are created as needed to satisfy the COLUMNS= request.\\n\\nInteraction: If both ROWS=n and COLUMNS=m is specified, an n by m grid of cells is created. If the \\nnumber of statements that define cell contents is greater than n x m , the grid size does not expand \\nand some statements will not be displayed. If the number of statements that define cell contents is \\nless than n x m , the grid will contain empty cells.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"ROWWEIGHTS=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: ROWWEIGHTS=(numeric-list)] \\n          \\nSpecifies the fractional proportion of each cell relative to the overall grid height, not including \\nheaders, sidebars, and row axes. \\n\\nRequirement: numeric-list must be enclosed in parentheses. If there are n columns, then the list \\nspecified should contain n values and the sum of the weights should be 1.0.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"SKIPEMPTYCELLS=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies whether the external axes skip the empty cells in a partially filled grid. The default \\nis false.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"FALSE\",\"@Value2\":\"TRUE\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"External axes are displayed at their normal locations.\",\"@ToolTip2\":\"Empty cells are skipped by external axes and the axes \\\"snap\\\" to the nearest populated cell, both vertically and horizontally.\"}},{\"StatementOptionName\":\"VALIGN=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies this layout's vertical alignment within its parent when nested within an overlay-type layout.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"CENTER\",\"@Value2\":\"TOP\",\"@Value3\":\"BOTTOM\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Specifies a centered vertical alignment.\",\"@ToolTip2\":\"Specifies a top-aligned vertical alignment.\",\"@ToolTip3\":\"Specifies a bottom-aligned vertical alignment.\"}}]}},{\"StatementName\":\"LAYOUT OVERLAY\",\"StatementHelp\":{\"#cdata\":\"Syntax: LAYOUT OVERLAY </ option(s)> ; \\n  GTL-statements ;\\n  ENDLAYOUT ; \\n  \\nBuilds a composite from one or more GTL-statements. The composite could be an entire graph, or if \\nthis layout is nested in a GRIDDED or LATTICE layout, the composite typically provides contents for \\none cell in the parent layout.\"},\"StatementOptions\":{\"StatementOption\":[{\"StatementOptionName\":\"BACKGROUNDCOLOR=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: BACKGROUNDCOLOR=style-reference | color] \\n          \\nSpecifies the color of the layout background. \\n\\nstyle-element \\nA reference in the form style-element:style-attribute . Only the style-attribute named COLOR is used. \\n\\nInteraction: OPAQUE=TRUE must be in effect for the color to be seen. By default, OPAQUE=FALSE.\"},\"StatementOptionType\":\"C\"},{\"StatementOptionName\":\"BORDER=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies whether a border is drawn around the layout.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"TRUE\",\"@Value2\":\"FALSE\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"A border is drawn around the layout.\",\"@ToolTip2\":\"A border is not drawn around the layout. This is the default.\"}},{\"StatementOptionName\":\"BORDERATTRS=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: BORDERATTRS=style-element | style-element (line-options) | (line-options)] \\n          \\nSpecifies the attributes of the border line around the layout.\\n\\nstyle-element \\n    Name of a style element. Only style attributes relevant for rendering the fill, line, data marker, or text will be used.\\n\\nstyle-element (line-options) \\n    Name of a style element, plus individual options to be used as style overrides. Any options not specified are derived\\n    from the specified style-element.\\n\\n(line-options) \\n    COLOR=style-reference | color \\n    specifies the line color. If you use a style-reference, the style-attribute should be a valid attribute such as COLOR,\\n    CONTRASTCOLOR, STARTCOLOR, NEUTRAL, ENDCOLOR. The convention is to use CONTRASTCOLOR for lines.\\n    \\n    PATTERN=style-reference | line-pattern-name | line-pattern-number \\n    specifies the line pattern. If you use a style-reference, the style-attribute should be LINESTYLE. \\n    Line patterns can be specified as a pattern name or pattern number (1 = Solid, 2-42 Dash/Dot).\\n\\n    THICKNESS=style-reference | dimension \\n    specifies the line thickness. If you use a style-reference, the style-attribute should be LINETHICKNESS.\"},\"StatementOptionType\":\"V\",\"SubOptionsKeywords\":\"COLOR=|PATTERN=|THICKNESS=\"},{\"StatementOptionName\":\"CYCLEATTRS=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: CYCLEATTRS=boolean] \\n          \\nSpecifies whether the default visual attributes of markers, lines, and fills in nested plot\\nstatements automatically change from plot to plot. Default: FALSE\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"FALSE\",\"@Value2\":\"TRUE\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Does not cycle the default visual attributes of multiple plots.\",\"@ToolTip2\":\"The system looks at the plots in the layout and tries to use the GraphData1 - GraphDataN style  elements to assign different visual properties to applicable plots (scatter plots and series  plots and others).\"}},{\"StatementOptionName\":\"WALLCOLOR=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: WALLCOLOR=style-reference | color] \\n          \\nSpecifies the fill color of the plot wall area. \\n\\nstyle-reference is a reference in the form style-element:style-attribute. \\nOnly the style-attribute named COLOR is used. \\n\\nDefault: The GraphWalls:Color style reference.\"},\"StatementOptionType\":\"C\"},{\"StatementOptionName\":\"WALLDISPLAY=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: WALLDISPLAY=STANDARD | ALL | NONE | (display-options)] \\n          \\nSpecifies whether the plot wall and wall outline are displayed. \\n\\nDefault: STANDARD\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"STANDARD\",\"@Value2\":\"ALL\",\"@Value3\":\"NONE\",\"@Value4\":\"<(display-options)>\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Displays a filled wall. The setting of the FRAMEBORDER= ON | OFF attribute of the GraphWalls style element determines whether the wall outline is displayed.\",\"@ToolTip2\":\"Displays a filled, outlined wall.\",\"@ToolTip3\":\"Displays no wall, no wall outline.\",\"@ToolTip4\":\"These options must be enclosed in parentheses and include one of the following:  OUTLINE  displays the wall outline.   FILL  displays a filled wall area.\"}},{\"StatementOptionName\":\"XAXISOPTS=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: XAXISOPTS=(axis-options)] \\n          \\nSpecifies one or more X axis options. \\n\\nAxis options:\\n  DISCRETEOPTS=(TICKVALUEFITPOLICY=ROTATE | other-policy) \\n    where other-policy can be ROTATETHIN|STAGGER|STAGGERROTATE|STAGGERTHIN|STAGGERTRUNCATE|TRUNCATE|\\n    TRUNCATEROTATE|TRUNCATESTAGGER|TRUNCATETHIN|THIN\\n\\n  DISPLAY=STANDARD | ALL | NONE | ( LABEL|LINE|TICKS|TICKVALUES )\\n\\n  DISPLAYSECONDARY=NONE | ALL | STANDARD | ( LABEL|LINE|TICKS|TICKVALUES ) \\n\\n  GRIDATTRS=style-element | style-element (line-options) | (line-options) \\n\\n  GRIDDISPLAY=AUTO_OFF | AUTO_ON | ON | OFF \\n\\n  LABEL=\\\"string\\\" | ( \\\"string\\\" ... \\\"string\\\" ) \\n\\n  LABELATTRS=style-element | style-element (text-options) | (text-options) \\n\\n  LINEAROPTS=( linear-axis-options ) \\n\\n  LOGOPTS=( log-axis-options ) \\n\\n  OFFSETMAX=AUTO | AUTOCOMPRESS | number \\n\\n  OFFSETMIN=AUTO | AUTOCOMPRESS | number \\n\\n  REVERSE=TRUE | FALSE \\n\\n  SHORTLABEL=\\\"string\\\" \\n\\n  TICKSTYLE=OUTSIDE | INSIDE | ACROSS \\n\\n  TICKVALUEATTRS=style-element | style-element (text-options) | (text-options) \\n\\n  TIMEOPTS=( time-axis-options ) \\n\\n  TYPE=AUTO | DISCRETE | LINEAR | TIME | LOG\"},\"StatementOptionType\":\"V\",\"SubOptionsKeywords\":\"\\n            DISCRETEOPTS=|DISPLAY=|DISPLAYSECONDARY=|GRIDATTRS=|GRIDDISPLAY=|LABEL=|LABELATTRS=|LINEAROPTS=|\\n            LOGOPTS=|OFFSETMAX=|OFFSETMIN=|REVERSE=|SHORTLABEL=|TICKVALUEATTRS=|TIMEOPTS=|TYPE=\\n          \"},{\"StatementOptionName\":\"X2AXISOPTS=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: X2AXISOPTS=(axis-options)] \\n          \\nSpecifies one or more X2 axis options. \\n\\nAxis options:\\n  DISCRETEOPTS=(TICKVALUEFITPOLICY=ROTATE | other-policy) \\n    where other-policy can be ROTATETHIN|STAGGER|STAGGERROTATE|STAGGERTHIN|STAGGERTRUNCATE|TRUNCATE|\\n    TRUNCATEROTATE|TRUNCATESTAGGER|TRUNCATETHIN|THIN\\n\\n  DISPLAY=STANDARD | ALL | NONE | ( LABEL|LINE|TICKS|TICKVALUES )\\n\\n  DISPLAYSECONDARY=NONE | ALL | STANDARD | ( LABEL|LINE|TICKS|TICKVALUES ) \\n\\n  GRIDATTRS=style-element | style-element (line-options) | (line-options) \\n\\n  GRIDDISPLAY=AUTO_OFF | AUTO_ON | ON | OFF \\n\\n  LABEL=\\\"string\\\" | ( \\\"string\\\" ... \\\"string\\\" ) \\n\\n  LABELATTRS=style-element | style-element (text-options) | (text-options) \\n\\n  LINEAROPTS=( linear-axis-options ) \\n\\n  LOGOPTS=( log-axis-options ) \\n\\n  OFFSETMAX=AUTO | AUTOCOMPRESS | number \\n\\n  OFFSETMIN=AUTO | AUTOCOMPRESS | number \\n\\n  REVERSE=TRUE | FALSE \\n\\n  SHORTLABEL=\\\"string\\\" \\n\\n  TICKSTYLE=OUTSIDE | INSIDE | ACROSS \\n\\n  TICKVALUEATTRS=style-element | style-element (text-options) | (text-options) \\n\\n  TIMEOPTS=( time-axis-options ) \\n\\n  TYPE=AUTO | DISCRETE | LINEAR | TIME | LOG\"},\"StatementOptionType\":\"V\",\"SubOptionsKeywords\":\"\\n            DISCRETEOPTS=|DISPLAY=|DISPLAYSECONDARY=|GRIDATTRS=|GRIDDISPLAY=|LABEL=|LABELATTRS=|LINEAROPTS=|\\n            LOGOPTS=|OFFSETMAX=|OFFSETMIN=|REVERSE=|SHORTLABEL=|TICKVALUEATTRS=|TIMEOPTS=|TYPE=\\n          \"},{\"StatementOptionName\":\"YAXISOPTS=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: YAXISOPTS=(axis-options)] \\n          \\nSpecifies one or more Y axis options. \\n\\nAxis options:\\n  DISCRETEOPTS=(TICKVALUEFITPOLICY=ROTATE | other-policy) \\n    where other-policy can be ROTATETHIN|STAGGER|STAGGERROTATE|STAGGERTHIN|STAGGERTRUNCATE|TRUNCATE|\\n    TRUNCATEROTATE|TRUNCATESTAGGER|TRUNCATETHIN|THIN\\n\\n  DISPLAY=STANDARD | ALL | NONE | ( LABEL|LINE|TICKS|TICKVALUES )\\n\\n  DISPLAYSECONDARY=NONE | ALL | STANDARD | ( LABEL|LINE|TICKS|TICKVALUES ) \\n\\n  GRIDATTRS=style-element | style-element (line-options) | (line-options) \\n\\n  GRIDDISPLAY=AUTO_OFF | AUTO_ON | ON | OFF \\n\\n  LABEL=\\\"string\\\" | ( \\\"string\\\" ... \\\"string\\\" ) \\n\\n  LABELATTRS=style-element | style-element (text-options) | (text-options) \\n\\n  LINEAROPTS=( linear-axis-options ) \\n\\n  LOGOPTS=( log-axis-options ) \\n\\n  OFFSETMAX=AUTO | AUTOCOMPRESS | number \\n\\n  OFFSETMIN=AUTO | AUTOCOMPRESS | number \\n\\n  REVERSE=TRUE | FALSE \\n\\n  SHORTLABEL=\\\"string\\\" \\n\\n  TICKSTYLE=OUTSIDE | INSIDE | ACROSS \\n\\n  TICKVALUEATTRS=style-element | style-element (text-options) | (text-options) \\n\\n  TIMEOPTS=( time-axis-options ) \\n\\n  TYPE=AUTO | DISCRETE | LINEAR | TIME | LOG\"},\"StatementOptionType\":\"V\",\"SubOptionsKeywords\":\"\\n            DISCRETEOPTS=|DISPLAY=|DISPLAYSECONDARY=|GRIDATTRS=|GRIDDISPLAY=|LABEL=|LABELATTRS=|LINEAROPTS=|\\n            LOGOPTS=|OFFSETMAX=|OFFSETMIN=|REVERSE=|SHORTLABEL=|TICKVALUEATTRS=|TIMEOPTS=|TYPE=\\n          \"},{\"StatementOptionName\":\"Y2AXISOPTS=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: Y2AXISOPTS=(axis-options)] \\n          \\nSpecifies one or more Y2 axis options. \\n\\nAxis options:\\n  DISCRETEOPTS=(TICKVALUEFITPOLICY=ROTATE | other-policy) \\n    where other-policy can be ROTATETHIN|STAGGER|STAGGERROTATE|STAGGERTHIN|STAGGERTRUNCATE|TRUNCATE|\\n    TRUNCATEROTATE|TRUNCATESTAGGER|TRUNCATETHIN|THIN\\n\\n  DISPLAY=STANDARD | ALL | NONE | ( LABEL|LINE|TICKS|TICKVALUES )\\n\\n  DISPLAYSECONDARY=NONE | ALL | STANDARD | ( LABEL|LINE|TICKS|TICKVALUES ) \\n\\n  GRIDATTRS=style-element | style-element (line-options) | (line-options) \\n\\n  GRIDDISPLAY=AUTO_OFF | AUTO_ON | ON | OFF \\n\\n  LABEL=\\\"string\\\" | ( \\\"string\\\" ... \\\"string\\\" ) \\n\\n  LABELATTRS=style-element | style-element (text-options) | (text-options) \\n\\n  LINEAROPTS=( linear-axis-options ) \\n\\n  LOGOPTS=( log-axis-options ) \\n\\n  OFFSETMAX=AUTO | AUTOCOMPRESS | number \\n\\n  OFFSETMIN=AUTO | AUTOCOMPRESS | number \\n\\n  REVERSE=TRUE | FALSE \\n\\n  SHORTLABEL=\\\"string\\\" \\n\\n  TICKSTYLE=OUTSIDE | INSIDE | ACROSS \\n\\n  TICKVALUEATTRS=style-element | style-element (text-options) | (text-options) \\n\\n  TIMEOPTS=( time-axis-options ) \\n\\n  TYPE=AUTO | DISCRETE | LINEAR | TIME | LOG\"},\"StatementOptionType\":\"V\",\"SubOptionsKeywords\":\"\\n            DISCRETEOPTS=|DISPLAY=|DISPLAYSECONDARY=|GRIDATTRS=|GRIDDISPLAY=|LABEL=|LABELATTRS=|LINEAROPTS=|\\n            LOGOPTS=|OFFSETMAX=|OFFSETMIN=|REVERSE=|SHORTLABEL=|TICKVALUEATTRS=|TIMEOPTS=|TYPE=\\n          \"}]}},{\"StatementName\":\"LAYOUT OVERLAYEQUATED\",\"StatementHelp\":{\"#cdata\":\"Syntax: LAYOUT OVERLAYEQUATED </ option(s)> ; \\n  GTL-statements ;\\n  ENDLAYOUT ; \\n  \\nBuilds a composite from one or more GTL-statements. The composite could be an entire graph, or if \\nthis layout is nested in another layout, such as a GRIDDED layout, the composite typically provides \\ncontents for one cell in the parent layout. an OVERLAYEQUATED layout, the display unit of the X axis \\nalways equals the display unit of the Y axis.\"},\"StatementOptions\":{\"StatementOption\":[{\"StatementOptionName\":\"BACKGROUNDCOLOR=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: BACKGROUNDCOLOR=style-reference | color] \\n          \\nSpecifies the color of the layout background. \\n\\nstyle-element \\nA reference in the form style-element:style-attribute. Only the style-attribute named COLOR is used. \\n\\nInteraction: OPAQUE=TRUE must be in effect for the color to be seen. By default, OPAQUE=FALSE.\"},\"StatementOptionType\":\"C\"},{\"StatementOptionName\":\"BORDER=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies whether a border is drawn around the layout.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"TRUE\",\"@Value2\":\"FALSE\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"A border is drawn around the layout.\",\"@ToolTip2\":\"A border is not drawn around the layout. This is the default.\"}},{\"StatementOptionName\":\"BORDERATTRS=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: BORDERATTRS=style-element | style-element (line-options) | (line-options)] \\n          \\nSpecifies the attributes of the border line around the layout.\\n\\nstyle-element \\n    Name of a style element. Only style attributes relevant for rendering the fill, line, data marker, or text will be used.\\n\\nstyle-element (line-options) \\n    Name of a style element, plus individual options to be used as style overrides. Any options not specified are derived\\n    from the specified style-element.\\n\\n(line-options) \\n    COLOR=style-reference | color \\n    specifies the line color. If you use a style-reference, the style-attribute should be a valid attribute such as COLOR,\\n    CONTRASTCOLOR, STARTCOLOR, NEUTRAL, ENDCOLOR. The convention is to use CONTRASTCOLOR for lines.\\n    \\n    PATTERN=style-reference | line-pattern-name | line-pattern-number \\n    specifies the line pattern. If you use a style-reference, the style-attribute should be LINESTYLE. \\n    Line patterns can be specified as a pattern name or pattern number (1 = Solid, 2-42 Dash/Dot).\\n\\n    THICKNESS=style-reference | dimension \\n    specifies the line thickness. If you use a style-reference, the style-attribute should be LINETHICKNESS.\"},\"StatementOptionType\":\"V\",\"SubOptionsKeywords\":\"COLOR=|PATTERN=|THICKNESS=\"},{\"StatementOptionName\":\"COMMONAXISOPTS=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: COMMONAXISOPTS= (common-equated-axis-options)] \\n          \\nSpecifies one or more axis options to be applied to all displayed axes.\\n\\ncommon-equated-axis-options:\\n  INTEGER=TRUE | FALSE\\n\\n  TICKSTYLE=OUTSIDE | INSIDE | ACROSS \\n\\n  TICKVALUELIST=( numeric-list ) \\n\\n  TICKVALUEPRIORITY=TRUE | FALSE\\n\\n  TICKVALUESEQUENCE=( START=number | END=number | INCREMENT=number)\\n\\n  VIEWMAX= number \\n\\n  VIEWMIN= number\"},\"StatementOptionType\":\"V\",\"SubOptionsKeywords\":\"INTEGER=|TICKSTYLE=|TICKVALUELIST=|TICKVALUEPRIORITY=|TICKVALUESEQUENCE=|VIEWMAX=|VIEWMIN=\"},{\"StatementOptionName\":\"CYCLEATTRS=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: CYCLEATTRS=boolean] \\n          \\nSpecifies whether the default visual attributes of markers, lines, and fills in nested plot\\nstatements automatically change from plot to plot. Default: FALSE\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"FALSE\",\"@Value2\":\"TRUE\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Does not cycle the default visual attributes of multiple plots.\",\"@ToolTip2\":\"The system looks at the plots in the layout and tries to use the GraphData1 - GraphDataN style  elements to assign different visual properties to applicable plots (scatter plots and series  plots and others).\"}},{\"StatementOptionName\":\"EQUATETYPE=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: EQUATETYPE= FIT | SQUARE | EQUATE] \\n          \\nSpecifies how to draw the axis area.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"FIT\",\"@Value2\":\"SQUARE\",\"@Value3\":\"EQUATE\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"X and Y axes have equal increments between tick values. The data ranges of both axes are compared  to establish a common increment size. The axes may be of different lengths and have a different  number of tick marks.\",\"@ToolTip2\":\"Both the X and Y axes have the same length and the same major tick values. The axis length and tick  values are chosen so that the minimum and maximum of both X and Y appear in the range of values  appearing on both axes.\",\"@ToolTip3\":\"Same as FIT except that neither axis is extended to use available space in the plot area.\"}},{\"StatementOptionName\":\"OPAQUE=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies whether the layout background is opaque (TRUE) or transparent (FALSE). The default \\nis FALSE.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"FALSE\",\"@Value2\":\"TRUE\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Specifies that the layout background is transparent.\",\"@ToolTip2\":\"Specifies that the layout background is opaque.\"}},{\"StatementOptionName\":\"PAD=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: PAD=dimension | (pad-options)] \\n          \\nSpecifies the amount of extra space that is added inside the layout border. The default padding \\nfor all sides is 0. Values without units are in pixels (px). A unit must be provided if other than pixels.\\n\\ndimension \\nSpecifies a dimension to use for the extra space at the left, right, top, and bottom of the layout border. \\n\\n(pad-options) \\nEnables separate settings for the left, right, top, and bottom padding dimensions. Use the pad-options to\\ncreate non-uniform padding. These options must be enclosed in parentheses.\\n\\nValues without units are in pixels (px). A unit must be provided if other than pixels.\\n\\n    LEFT=dimension \\n    specifies the amount of extra space added to the left side. \\n\\n    RIGHT=dimension \\n    specifies the amount of extra space added to the right side. \\n\\n    TOP=dimension \\n    specifies the amount of extra space added to the top. \\n\\n    BOTTOM=dimension \\n    specifies the amount of extra space added to the bottom.\"},\"StatementOptionType\":\"V\",\"SubOptionsKeywords\":\"BOTTOM=|TOP=|RIGHT=|LEFT=\"},{\"StatementOptionName\":\"WALLCOLOR=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: WALLCOLOR=style-reference | color] \\n          \\nSpecifies the fill color of the plot wall area. \\n\\nstyle-reference is a reference in the form style-element:style-attribute. \\nOnly the style-attribute named COLOR is used. \\n\\nDefault: The GraphWalls:Color style reference.\"},\"StatementOptionType\":\"C\"},{\"StatementOptionName\":\"WALLDISPLAY=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: WALLDISPLAY=STANDARD | ALL | NONE | (display-options)] \\n          \\nSpecifies whether the plot's wall and wall outline are displayed. \\n\\nDefault: STANDARD\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"STANDARD\",\"@Value2\":\"ALL\",\"@Value3\":\"NONE\",\"@Value4\":\"<(display-options)>\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Displays a filled wall. The setting of the FRAMEBORDER= ON | OFF attribute of the GraphWalls style element determines whether the wall outline is displayed.\",\"@ToolTip2\":\"Displays a filled, outlined wall.\",\"@ToolTip3\":\"Displays no wall, no wall outline.\",\"@ToolTip4\":\"These options must be enclosed in parentheses and include one of the following:  OUTLINE  displays the wall outline.   FILL  displays a filled wall area.\"}},{\"StatementOptionName\":\"XAXISOPTS=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: XAXISOPTS=(equated-axis-options)] \\n          \\nSpecifies one or more X axis options. \\n\\nequated-axis-options:\\n  DISPLAY=STANDARD | ALL | NONE | ( LABEL|LINE|TICKS|TICKVALUES )\\n\\n  DISPLAYSECONDARY=NONE | ALL | STANDARD | ( LABEL|LINE|TICKS|TICKVALUES ) \\n\\n  GRIDATTRS=style-element | style-element (line-options) | (line-options) \\n\\n  GRIDDISPLAY=AUTO_OFF | AUTO_ON | ON | OFF \\n\\n  LABEL=\\\"string\\\" | ( \\\"string\\\" ... \\\"string\\\" ) \\n\\n  LABELATTRS=style-element | style-element (text-options) | (text-options) \\n\\n  LINEAROPTS=( linear-axis-options ) \\n\\n  LOGOPTS=( log-axis-options ) \\n\\n  OFFSETMAX=AUTO | AUTOCOMPRESS | number \\n\\n  OFFSETMIN=AUTO | AUTOCOMPRESS | number \\n\\n  SHORTLABEL=\\\"string\\\" \\n  \\n  THRESHOLDMAX= number \\n  \\n  TICKVALUEATTRS=style-element | style-element (text-options) | (text-options)\\n  \\n  TICKVALUEFITPOLICY=policy \\n    where policy can be:\\n      o For Y or Y2 axis: THIN\\n      o For X or X2: THIN | ROTATE | ROTATETHIN | STAGGER | STAGGERROTATE | STAGGERTHIN\\n      \\n  TICKVALUEFORMAT=( format-options ) | DATA | format \\n    specifies how to format the values for tick marks. \\n    Default format-options: ( MAXWIDTH=8, MAXDECIMALS=6, PREFERREDDECIMALS=2, EXTRACTSCALE=FALSE )\"},\"StatementOptionType\":\"V\",\"SubOptionsKeywords\":\"\\n            DISPLAY=|DISPLAYSECONDARY=|GRIDATTRS=|GRIDDISPLAY=|LABEL=|LABELATTRS=|OFFSETMAX=|OFFSETMIN=|\\n            SHORTLABEL=|THRESHOLDMAX=|THRESHOLDMIN=|TICKVALUEATTRS=|TICKVALUEFITPOLICY=|TICKVALUEFORMAT=\\n          \"},{\"StatementOptionName\":\"YAXISOPTS=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: YAXISOPTS=(equated-axis-options)] \\n          \\nSpecifies one or more Y axis options. \\n\\nequated-axis-options:\\n  DISPLAY=STANDARD | ALL | NONE | ( LABEL|LINE|TICKS|TICKVALUES )\\n\\n  DISPLAYSECONDARY=NONE | ALL | STANDARD | ( LABEL|LINE|TICKS|TICKVALUES ) \\n\\n  GRIDATTRS=style-element | style-element (line-options) | (line-options) \\n\\n  GRIDDISPLAY=AUTO_OFF | AUTO_ON | ON | OFF \\n\\n  LABEL=\\\"string\\\" | ( \\\"string\\\" ... \\\"string\\\" ) \\n\\n  LABELATTRS=style-element | style-element (text-options) | (text-options) \\n\\n  LINEAROPTS=( linear-axis-options ) \\n\\n  LOGOPTS=( log-axis-options ) \\n\\n  OFFSETMAX=AUTO | AUTOCOMPRESS | number \\n\\n  OFFSETMIN=AUTO | AUTOCOMPRESS | number \\n\\n  SHORTLABEL=\\\"string\\\" \\n  \\n  THRESHOLDMAX= number \\n  \\n  TICKVALUEATTRS=style-element | style-element (text-options) | (text-options)\\n  \\n  TICKVALUEFITPOLICY=policy \\n    where policy can be:\\n      o For Y or Y2 axis: THIN\\n      o For X or X2: THIN | ROTATE | ROTATETHIN | STAGGER | STAGGERROTATE | STAGGERTHIN\\n      \\n  TICKVALUEFORMAT=( format-options ) | DATA | format \\n    specifies how to format the values for tick marks. \\n    Default format-options: ( MAXWIDTH=8, MAXDECIMALS=6, PREFERREDDECIMALS=2, EXTRACTSCALE=FALSE )\"},\"StatementOptionType\":\"V\",\"SubOptionsKeywords\":\"\\n            DISPLAY=|DISPLAYSECONDARY=|GRIDATTRS=|GRIDDISPLAY=|LABEL=|LABELATTRS=|OFFSETMAX=|OFFSETMIN=|\\n            SHORTLABEL=|THRESHOLDMAX=|THRESHOLDMIN=|TICKVALUEATTRS=|TICKVALUEFITPOLICY=|TICKVALUEFORMAT=\\n          \"}]}},{\"StatementName\":\"LAYOUT OVERLAY3D\",\"StatementHelp\":{\"#cdata\":\"Syntax: LAYOUT OVERLAY3D </ option(s)> ; \\n  GTL-statements ;\\n  ENDLAYOUT ; \\n  \\nBuilds a 3D composite from one or more GTL-statements. The composite could be an entire graph, \\nor if this layout is nested in a GRIDDED or LATTICE layout, the composite typically provides \\ncontents for one cell in the parent layout.\"},\"StatementOptions\":{\"StatementOption\":[{\"StatementOptionName\":\"BACKGROUNDCOLOR=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: BACKGROUNDCOLOR=style-reference | color] \\n          \\nSpecifies the color of the layout background. \\n\\nstyle-element \\nA reference in the form style-element:style-attribute . Only the style-attribute named COLOR is used. \\n\\nInteraction: OPAQUE=TRUE must be in effect for the color to be seen. By default, OPAQUE=FALSE.\"},\"StatementOptionType\":\"C\"},{\"StatementOptionName\":\"BORDER=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies whether a border is drawn around the layout.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"TRUE\",\"@Value2\":\"FALSE\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"A border is drawn around the layout.\",\"@ToolTip2\":\"A border is not drawn around the layout. This is the default.\"}},{\"StatementOptionName\":\"BORDERATTRS=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: BORDERATTRS=style-element | style-element (line-options) | (line-options)] \\n          \\nSpecifies the attributes of the border line around the layout.\\n\\nstyle-element \\n    Name of a style element. Only style attributes relevant for rendering the fill, line, data marker, or text will be used.\\n\\nstyle-element (line-options) \\n    Name of a style element, plus individual options to be used as style overrides. Any options not specified are derived\\n    from the specified style-element.\\n\\n(line-options) \\n    COLOR=style-reference | color \\n    specifies the line color. If you use a style-reference, the style-attribute should be a valid attribute such as COLOR,\\n    CONTRASTCOLOR, STARTCOLOR, NEUTRAL, ENDCOLOR. The convention is to use CONTRASTCOLOR for lines.\\n    \\n    PATTERN=style-reference | line-pattern-name | line-pattern-number \\n    specifies the line pattern. If you use a style-reference, the style-attribute should be LINESTYLE. \\n    Line patterns can be specified as a pattern name or pattern number (1 = Solid, 2-42 Dash/Dot).\\n\\n    THICKNESS=style-reference | dimension \\n    specifies the line thickness. If you use a style-reference, the style-attribute should be LINETHICKNESS.\"},\"StatementOptionType\":\"V\",\"SubOptionsKeywords\":\"COLOR=|PATTERN=|THICKNESS=\"},{\"StatementOptionName\":\"CUBE=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies that the layout displays the lines that indicate the complete bounding cube of the axis planes. \\n          \\nDefault: TRUE\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"FALSE\",\"@Value2\":\"TRUE\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Specifies that the layout does not display the lines that indicate the complete bounding cube of the axis planes.\",\"@ToolTip2\":\"Specifies that the layout displays the lines that indicate the complete bounding cube of the axis planes.\"}},{\"StatementOptionName\":\"CYCLEATTRS=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: CYCLEATTRS=boolean] \\n          \\nSpecifies whether the default visual attributes of markers, lines, and fills in nested plot\\nstatements automatically change from plot to plot. Default: FALSE\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"FALSE\",\"@Value2\":\"TRUE\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Does not cycle the default visual attributes of multiple plots.\",\"@ToolTip2\":\"The system looks at the plots in the layout and tries to use the GraphData1 - GraphDataN style  elements to assign different visual properties to applicable plots (scatter plots and series  plots and others).\"}},{\"StatementOptionName\":\"OPAQUE=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies whether the layout background is opaque (TRUE) or transparent (FALSE). The default \\nis FALSE.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"FALSE\",\"@Value2\":\"TRUE\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Specifies that the layout background is transparent.\",\"@ToolTip2\":\"Specifies that the layout background is opaque.\"}},{\"StatementOptionName\":\"PAD=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: PAD=dimension | (pad-options)] \\n          \\nSpecifies the amount of extra space that is added inside the layout border. The default padding \\nfor all sides is 0. Values without units are in pixels (px). A unit must be provided if other than pixels.\\n\\ndimension \\nSpecifies a dimension to use for the extra space at the left, right, top, and bottom of the layout border. \\n\\n(pad-options) \\nEnables separate settings for the left, right, top, and bottom padding dimensions. Use the pad-options to\\ncreate non-uniform padding. These options must be enclosed in parentheses.\\n\\nValues without units are in pixels (px). A unit must be provided if other than pixels.\\n\\n    LEFT=dimension \\n    specifies the amount of extra space added to the left side. \\n\\n    RIGHT=dimension \\n    specifies the amount of extra space added to the right side. \\n\\n    TOP=dimension \\n    specifies the amount of extra space added to the top. \\n\\n    BOTTOM=dimension \\n    specifies the amount of extra space added to the bottom.\"},\"StatementOptionType\":\"V\",\"SubOptionsKeywords\":\"BOTTOM=|TOP=|RIGHT=|LEFT=\"},{\"StatementOptionName\":\"ROTATE=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: ROTATE=number] \\n          \\nSpecifies the angle of rotation. Rotation is measured in a clockwise direction about a virtual \\naxis parallel to the Z axis (vertical) and passing through the center of the bounding cube. \\nA counterclockwise rotation can specified with a negative value. \\n\\nDefault: 54\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"TILT=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: TILT=number] \\n          \\nSpecifies the angle of tilt in degrees. Tilt is measured in a clockwise direction about a virtual \\naxis parallel to the X axis (vertical) and passing through the center of the bounding cube. \\nA counterclockwise rotation can specified with a negative value. \\n\\nDefault: 20\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"WALLCOLOR=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: WALLCOLOR=style-reference | color] \\n          \\nSpecifies the fill color of the plot's walls. \\n\\nstyle-reference is a reference in the form style-element:style-attribute. \\nOnly the style-attribute named COLOR is used. \\n\\nDefault: The GraphWalls:Color style reference.\"},\"StatementOptionType\":\"C\"},{\"StatementOptionName\":\"WALLDISPLAY=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: WALLDISPLAY=STANDARD | ALL | NONE | (display-options)] \\n          \\nSpecifies whether the plot's wall and wall outline are displayed. \\n\\nDefault: STANDARD\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"STANDARD\",\"@Value2\":\"ALL\",\"@Value3\":\"NONE\",\"@Value4\":\"<(display-options)>\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Displays a filled wall. The setting of the FRAMEBORDER= ON | OFF attribute of the GraphWalls style element determines whether the wall outline is displayed.\",\"@ToolTip2\":\"Displays a filled, outlined wall.\",\"@ToolTip3\":\"Displays no wall, no wall outline.\",\"@ToolTip4\":\"These options must be enclosed in parentheses and include one of the following:  OUTLINE  displays the wall outline.   FILL  displays a filled wall area.\"}},{\"StatementOptionName\":\"XAXISOPTS=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: XAXISOPTS=(axis-options)] \\n          \\nSpecifies one or more X axis options. \\n\\naxis-options:\\n  DISPLAY=STANDARD | ALL | NONE | ( LABEL|LINE|TICKS|TICKVALUES )\\n\\n  GRIDATTRS=style-element | style-element (line-options) | (line-options) \\n\\n  GRIDDISPLAY=AUTO_OFF | AUTO_ON | ON | OFF \\n\\n  LABEL=\\\"string\\\" | ( \\\"string\\\" ... \\\"string\\\" ) \\n\\n  LABELATTRS=style-element | style-element (text-options) | (text-options) \\n\\n  LINEAROPTS=( linear-axis-options ) \\n\\n  LOGOPTS=( log-axis-options ) \\n\\n  OFFSETMAX=AUTO | AUTOCOMPRESS | number \\n\\n  OFFSETMIN=AUTO | AUTOCOMPRESS | number   \\n  \\n  TICKVALUEATTRS=style-element | style-element (text-options) | (text-options) \\n  \\n  TIMEOPTS=( time-axis-options ) \\n\\n  TYPE=AUTO | LINEAR | TIME | LOG \\n    specifies the type of axis to use.\"},\"StatementOptionType\":\"V\",\"SubOptionsKeywords\":\"\\n              DISPLAY=|GRIDATTRS=|GRIDDISPLAY=|LABEL=|LABELATTRS=|LINEAROPTS=|\\n              LOGOPTS=|OFFSETMAX=|OFFSETMIN=|TICKVALUEATTRS=|TIMEOPTS=|TYPE=\\n          \"},{\"StatementOptionName\":\"YAXISOPTS=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: YAXISOPTS=(axis-options)] \\n          \\nSpecifies one or more Y axis options. \\n\\naxis-options:\\n  DISPLAY=STANDARD | ALL | NONE | ( LABEL|LINE|TICKS|TICKVALUES )\\n\\n  GRIDATTRS=style-element | style-element (line-options) | (line-options) \\n\\n  GRIDDISPLAY=AUTO_OFF | AUTO_ON | ON | OFF \\n\\n  LABEL=\\\"string\\\" | ( \\\"string\\\" ... \\\"string\\\" ) \\n\\n  LABELATTRS=style-element | style-element (text-options) | (text-options) \\n\\n  LINEAROPTS=( linear-axis-options ) \\n\\n  LOGOPTS=( log-axis-options ) \\n\\n  OFFSETMAX=AUTO | AUTOCOMPRESS | number \\n\\n  OFFSETMIN=AUTO | AUTOCOMPRESS | number   \\n  \\n  TICKVALUEATTRS=style-element | style-element (text-options) | (text-options) \\n  \\n  TIMEOPTS=( time-axis-options ) \\n\\n  TYPE=AUTO | LINEAR | TIME | LOG \\n    specifies the type of axis to use.\"},\"StatementOptionType\":\"V\",\"SubOptionsKeywords\":\"\\n            DISPLAY=|GRIDATTRS=|GRIDDISPLAY=|LABEL=|LABELATTRS=|LINEAROPTS=|\\n            LOGOPTS=|OFFSETMAX=|OFFSETMIN=|TICKVALUEATTRS=|TIMEOPTS=|TYPE=\\n          \"},{\"StatementOptionName\":\"ZAXISOPTS=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: ZAXISOPTS=(axis-options)] \\n          \\nSpecifies one or more Y axis options. \\n\\naxis-options:\\n  DISPLAY=STANDARD | ALL | NONE | ( LABEL|LINE|TICKS|TICKVALUES )\\n\\n  GRIDATTRS=style-element | style-element (line-options) | (line-options) \\n\\n  GRIDDISPLAY=AUTO_OFF | AUTO_ON | ON | OFF \\n\\n  LABEL=\\\"string\\\" | ( \\\"string\\\" ... \\\"string\\\" ) \\n\\n  LABELATTRS=style-element | style-element (text-options) | (text-options) \\n\\n  LINEAROPTS=( linear-axis-options ) \\n\\n  LOGOPTS=( log-axis-options ) \\n\\n  OFFSETMAX=AUTO | AUTOCOMPRESS | number \\n\\n  OFFSETMIN=AUTO | AUTOCOMPRESS | number   \\n  \\n  TICKVALUEATTRS=style-element | style-element (text-options) | (text-options) \\n  \\n  TIMEOPTS=( time-axis-options ) \\n\\n  TYPE=AUTO | LINEAR | TIME | LOG \\n    specifies the type of axis to use.\"},\"StatementOptionType\":\"V\",\"SubOptionsKeywords\":\"\\n           DISPLAY=|GRIDATTRS=|GRIDDISPLAY=|LABEL=|LABELATTRS=|LINEAROPTS=|\\n           LOGOPTS=|OFFSETMAX=|OFFSETMIN=|TICKVALUEATTRS=|TIMEOPTS=|TYPE=\\n         \"},{\"StatementOptionName\":\"ZOOM=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: ZOOM= positive-number] \\n          \\nSpecifies a zoom factor. Factors greater than 1 move closer to the bounding cube, less than 1 move \\nfarther away. Default: 1\"},\"StatementOptionType\":\"V\"}]}},{\"StatementName\":\"LAYOUT REGION\",\"StatementHelp\":{\"#cdata\":\"Syntax: LAYOUT REGION </option(s)>; \\n    GTL-statements;\\n  ENDLAYOUT;\\n  \\nCreates the drawing area for a plot that does not use axes.\"},\"StatementOptions\":{\"StatementOption\":[{\"StatementOptionName\":\"BACKGROUNDCOLOR=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: BACKGROUNDCOLOR=style-reference | color] \\n          \\nSpecifies the color of the layout background. \\n\\nstyle-reference \\nA reference in the form style-element:style-attribute . Only the style-attribute named COLOR or CONTRASTCOLOR is used.\\n\\nInteraction: OPAQUE=TRUE must be in effect for the color to be seen. By default, OPAQUE=FALSE.\"},\"StatementOptionType\":\"C\"},{\"StatementOptionName\":\"BORDER=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies whether a border is drawn around the layout.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"TRUE\",\"@Value2\":\"FALSE\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"A border is drawn around the layout.\",\"@ToolTip2\":\"A border is not drawn around the layout. This is the default.\"}},{\"StatementOptionName\":\"BORDERATTRS=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: BORDERATTRS=style-element | style-element (line-options) | (line-options)] \\n          \\nSpecifies the attributes of the border line around the layout.\\n\\nstyle-element \\n    Name of a style element. Only style attributes relevant for rendering the fill, line, data marker, or text will be used.\\n\\nstyle-element (line-options) \\n    Name of a style element, plus individual options to be used as style overrides. Any options not specified are derived\\n    from the specified style-element.\\n\\n(line-options) \\n    COLOR=style-reference | color \\n    specifies the line color. If you use a style-reference, the style-attribute should be a valid attribute such as COLOR,\\n    CONTRASTCOLOR, STARTCOLOR, NEUTRAL, ENDCOLOR. The convention is to use CONTRASTCOLOR for lines.\\n    \\n    PATTERN=style-reference | line-pattern-name | line-pattern-number \\n    specifies the line pattern. If you use a style-reference, the style-attribute should be LINESTYLE. \\n    Line patterns can be specified as a pattern name or pattern number (1 = Solid, 2-42 Dash/Dot).\\n\\n    THICKNESS=style-reference | dimension \\n    specifies the line thickness. If you use a style-reference, the style-attribute should be LINETHICKNESS.\"},\"StatementOptionType\":\"V\",\"SubOptionsKeywords\":\"COLOR=|PATTERN=|THICKNESS=\"},{\"StatementOptionName\":\"OPAQUE=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies whether the layout background is opaque (TRUE) or transparent (FALSE). \\n          \\nDefault: FALSE \\n\\nInteraction: When this option is set to FALSE, the background color is not used.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"FALSE\",\"@Value2\":\"TRUE\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Specifies that the layout background is transparent.\",\"@ToolTip2\":\"Specifies that the layout background is opaque.\"}},{\"StatementOptionName\":\"OUTERPAD=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: AUTO | dimension | (pad-options) \\n\\nSpecifies the amount of extra space to add outside the layout border. \\n \\nAUTO\\n  specifies that the default outside padding for this component is used. \\n\\ndimension\\n  specifies a dimension to use for the extra space at the left, right, top, and bottom of the legend border.\\n\\n(pad-options)\\n  a space-separated list of one or more of the following name-value pair options, enclosed in parentheses:\\n\\n  LEFT=dimension\\n    specifies the amount of extra space added to the left side.\\n  RIGHT=dimension\\n    specifies the amount of extra space added to the right side.\\n  TOP=dimension\\n    specifies the amount of extra space added to the top.\\n  BOTTOM=dimension\\n    specifies the amount of extra space added to the bottom.\\n\\n  Note: Sides that are not assigned padding are padded with the default amount.\\n  Tip: Use pad-options to create non-uniform padding.\\n  Default: No padding\"},\"StatementOptionType\":\"V\",\"SubOptionsKeywords\":\"AUTO|LEFT=|RIGHT=|TOP=|BOTTOM=\"},{\"StatementOptionName\":\"PAD=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: PAD=dimension | (pad-options)] \\n          \\nSpecifies the amount of extra space that is added inside the layout border. \\n\\ndimension \\nSpecifies a dimension to use for the extra space at the left, right, top, and bottom of the border. \\n\\n(pad-options) \\nA space-separated list of one or more of the following name-value-pair options enclosed in parentheses: \\n\\n    LEFT=dimension \\n    specifies the amount of extra space added to the left side. Default 0 \\n\\n    RIGHT=dimension \\n    specifies the amount of extra space added to the right side. Default 0 \\n\\n    TOP=dimension \\n    specifies the amount of extra space added to the top. Default 0 \\n\\n    BOTTOM=dimension \\n    specifies the amount of extra space added to the bottom. Default 0\"},\"StatementOptionType\":\"V\",\"SubOptionsKeywords\":\"BOTTOM=|TOP=|RIGHT=|LEFT=\"}]}},{\"StatementName\":\"BANDPLOT\",\"StatementHelp\":{\"#cdata\":\"Syntax: BANDPLOT X = column | expression\\n      LIMITLOWER = number | numeric-column | expression\\n      LIMITUPPER = number | numeric-column | expression\\n      </ option(s)> ; \\n\\n\\nBANDPLOT Y = numeric-column | expression\\n      LIMITLOWER = number | numeric-column | expression\\n      LIMITUPPER = number | numeric-column | expression\\n      </ option(s)> ; \\n\\nCreates a band plot that typically shows confidence or prediction limits.\"},\"StatementOptions\":{\"StatementOption\":[{\"StatementOptionName\":\"X=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: X=column | expression] \\n          \\nSpecifies X values. Numeric or character values may be used.\"},\"StatementOptionType\":\"RV\"},{\"StatementOptionName\":\"Y=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: Y=column | expression] \\n          \\nSpecifies Y values. Numeric or character values may be used.\"},\"StatementOptionType\":\"RV\"},{\"StatementOptionName\":\"LIMITLOWER=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: LIMITLOWER=number | numeric-column | expression] \\n          \\nSpecifies a constant or column representing the X value(s) (when Y= is used) or Y value(s) (when X= is used) \\nof the lower band line. If a constant is specified, a straight line is drawn.\"},\"StatementOptionType\":\"RV\"},{\"StatementOptionName\":\"LIMITUPPER=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: LIMITUPPER=number | numeric-column | expression] \\n          \\nSpecifies a constant or column representing the X value(s) (when Y= is used) or Y value(s) (when X= is used) \\nof the upper band line. If a constant is specified, a straight line is drawn.\"},\"StatementOptionType\":\"RV\"},{\"StatementOptionName\":\"CONNECTORDER=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies how to connect the data points to form the band lines. Default: VALUES. \\n          \\nTip: Use CONNECTORDER=AXIS to assure the expected connect order for certain kinds of series \\nlines (for example, time series ) when the input data may not be sorted by the X variable \\n(or Y variable).\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"VALUES\",\"@Value2\":\"AXIS\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Connects data points in the order read from the X variable (or Y variable).\",\"@ToolTip2\":\"Connects data points as they occur left-to-right along the X axis (or bottom-to-top along the Y axis).\"}},{\"StatementOptionName\":\"CURVELABELATTRS=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: CURVELABELATTRS=style-element | style-element (text-options) | (text-options)] \\n          \\nSpecifies the color and font attributes of the band labels.\\nDefault:\\n  o For non-grouped data, the GraphValueText style element. \\n  o For grouped data, text color is derived from the GraphData1:ContrastColor - GraphDataN:ContrastColor \\n    style references. The font is derived from the GraphValueText style element. \\n\\nThe available text-options can be any one or more of the following settings. The options must be \\nenclosed in parentheses, and each option is specified as a name=value pair. In all cases, the \\nvalue may be a style-reference in the form style-element:style-attribute .\\n\\n  COLOR=style-reference | color \\n  specifies the color of the text. If you use a style-reference, the style-attribute should be a valid \\n  attribute such as COLOR, CONTRASTCOLOR, STARTCOLOR, NEUTRAL, ENDCOLOR. The convention is to use COLOR \\n  for text. If you use a color, SAS/GRAPH accepts color names, such as RED, or color codes, such as \\n  CXFF0000 or #FF0000. Color names must not exceed 64 characters. Color codes must not exceed 8 characters \\n  and must be in a valid SAS color-naming scheme, such as RGB, CMYK, HLS, or HSV (HSB).\\n\\n  FAMILY =style-reference | \\\"string\\\" \\n  specifies the font family of the text. If you use a style-reference, the style-attribute should be FONTFAMILY. \\n\\n  SIZE=style-reference | dimension \\n  specifies the font size of the text. If you use a style-reference, the style-attribute should be FONTSIZE. \\n\\n  STYLE=style-reference | NORMAL | ITALIC \\n  specifies the font style of the text. If you use a style-reference, the style-attribute should be FONTSTYLE. \\n\\n  WEIGHT=style-reference | NORMAL | BOLD \\n  specifies the font weight of the text. If you use a style-reference, the style-attribute should be FONTWEIGHT.\"},\"StatementOptionType\":\"V\",\"SubOptionsKeywords\":\"COLOR=|FAMILY=|SIZE=|STYLE=|WEIGHT=\"},{\"StatementOptionName\":\"CURVELABELLOWER=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: CURVELABELLOWER= \\\"string\\\" | column] \\n          \\nSpecifies a label for the lower band limit. \\nDefault: no default\\n\\nInteraction: For non-grouped data, use \\\"string\\\".\\n\\nInteraction: For grouped data, use a column to define the lower band labels for each group value. \\nAll of the labels for a specific group value must be the same; otherwise, the results are unpredictable.\\n\\nTip: The font and color attributes for the label are specified by the CURVELABELATTRS= option.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"CURVELABELLOCATION=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies the location of the band labels relative to the plot area. \\n\\nDefault: INSIDE \\n\\nRestriction: OUTSIDE cannot be used when the BANDPLOT is used in multicell layouts such as LATTICE, \\nDATAPANEL or DATALATTICE where axes may be external to the grid.\\n\\nInteraction: This option is used in conjunction with the CURVELABELPOSITION= option to determine \\nwhere the band labels appear.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"INSIDE\",\"@Value2\":\"OUTSIDE\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Places the band label inside the plot area\",\"@ToolTip2\":\"Places the band label outside the plot area\"}},{\"StatementOptionName\":\"CURVELABELPOSITION=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies the position of the band labels relative to the curve line. \\n\\nDefault: AUTO when CUVELABELLOCATION=OUTSIDE. END when CURVELABELLOCATION=INSIDE. \\n\\nRestriction: The AUTO setting is not supported if CURVELABELLOCATION=INSIDE is specified. The START \\nand END settings are not supported if CURVELABELLOCATION=OUTSIDE is specified.\\n\\nInteraction: This option is used in conjunction with the CURVELABELLOCATION= option to determine \\nwhere the band labels appear.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"AUTO\",\"@Value2\":\"MAX\",\"@Value3\":\"MIN\",\"@Value4\":\"START\",\"@Value5\":\"END\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Only used when CURVELABELLOCATION=OUTSIDE. Band labels will be positioned automatically near the  band boundary along unused axes whenever possible (typically Y2 and X2).\",\"@ToolTip2\":\"Forces the band labels to appear near maximum band values (maximum-values for horizontal curves,  and maximum Y-values for vertical curves).\",\"@ToolTip3\":\"Forces the band label to appear near minimum band values (minimum X-values for horizontal curves,  and minimum Y-values for vertical curves)\",\"@ToolTip4\":\"Only used when CURVELABELLOCATION=INSIDE. Forces band labels to appear near the beginning of the curve.  Particularly useful when the curve line has a spiral shape.\",\"@ToolTip5\":\"Only used when CURVELABELLOCATION=INSIDE. Forces band labels to appear near the end of the curve.  Particularly useful when the curve line has a spiral shape.\"}},{\"StatementOptionName\":\"DATATRANSPARENCY=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: DATATRANSPARENCY=number] \\n          \\nSpecifies the degree of the transparency of the band. This option affects both the fill and outline. \\n\\nDefault: 0\\n\\nRange: 0 (opaque) to 1 (entirely transparent)\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"DISPLAY=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies whether to display an outlined band area, a filled band area, or an outlined and filled \\nband area. \\n\\nDefault: The value of the DisplayOpts attribute of the GraphBand style element, which is \\nDisplayOpts=\\\"FILL\\\" by default.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"STANDARD\",\"@Value2\":\"ALL\",\"@Value3\":\"<(display-options)>\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Displays an un-outlined, filled band\",\"@ToolTip2\":\"Displays an outlined, filled band\",\"@ToolTip3\":\"A parenthesized list of space-delimited options that must include one of the following:                                      OUTLINE  displays an outlined band   FILL  displays a filled band\"},\"SubOptionsKeywords\":\"OUTLINE|FILL\"},{\"StatementOptionName\":\"EXTEND=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies whether the constant or \\\"step\\\" band is to be drawn to the area bounded by the axes. \\n\\nDefault: FALSE\\n\\nRequirement: When this option is used for a constant band, constants must be specified for the upper \\nand lower band limits. This requirement does not apply to \\\"step\\\" bands.\\n\\nRestriction: This option is ignored if the X or Y value is character.\\n\\nTip: If this option is not specified, then there can be a small gap between the line and the axis. \\nThe gap is controlled by the axis offset. If the offset is set to 0, then there is no gap.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"FALSE\",\"@Value2\":\"TRUE\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Specifies that the constant or \\\"step\\\" band is not to be drawn to the area bounded by the axes.\",\"@ToolTip2\":\"Specifies whether the constant or \\\"step\\\" band is to be drawn to the area bounded by the axes.\"}},{\"StatementOptionName\":\"FILLATTRS=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: FILLATTRS=style-element | style-element (fill-options) | (fill-options)] \\n          \\nSpecifies the appearance of the filled band area. \\n\\nWhen specifying the attributes for an area fill, the COLOR fill-option is the only option that \\nis currently available. The option must be enclosed in parentheses and specified as a name=value \\npair. The value may be a style-reference in the form style-element:style-attribute.\\n\\n  COLOR=style-reference | color \\n  specifies the fill color. If you use a style-reference, the style-attribute should be a valid \\n  attribute such as COLOR, CONTRASTCOLOR, STARTCOLOR, NEUTRAL, ENDCOLOR. The convention is to use \\n  the COLOR attribute for fill areas. If you use a color, SAS/GRAPH accepts color names, such as \\n  RED, or color codes, such as CXFF0000 or #FF0000. Color names must not exceed 64 characters. \\n  Color codes must not exceed 8 characters and must be in a valid SAS color-naming scheme, such \\n  as RGB, CMYK, HLS, or HSV (HSB).\\n\\nDefault:\\n  o For non-grouped data, the GraphDataDefault:Color style reference. \\n  o For grouped data, the Color attribute of GraphData1 - GraphDataN style elements. \\n\\nInteraction: Interaction: For this option to have any effect, the fill must be enabled by the \\nODS style or the DISPLAY= option.\"},\"StatementOptionType\":\"V\",\"SubOptionsKeywords\":\"COLOR=\"},{\"StatementOptionName\":\"GROUP=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: GROUP=column | expression] \\n          \\nCreates a separate band plot for each unique group value of the specified column. \\nDefault:\\n\\n  o If the band outline is enabled by the ODS style or the DISPLAY= option, each distinct group value \\n    is represented in the graph by a different combination of outline color (defined by the \\n    GraphData1:ContrastColor - GraphDataN:ContrastColor style references) and outline pattern \\n    (defined by the attribute of the GraphData1:LineStyle - GraphDataN:LineStyle style references). \\n  o If the band fill is enabled by the ODS style or the DISPLAY= option, each distinct group value \\n    is represented in the graph by a different fill color (defined by the GraphData1:Color - GraphDataN:Color \\n    style references). \\n\\nRestriction: This option can only be used when a numeric column is specified for the upper limit \\nor the lower limit of the band plot (the other limit could be a contant, if desired).\\n\\nInteraction: To label grouped band plots, you must specify CURVELABELLOWER=column and CURVELABELUPPER=column .\\n\\nInteraction: The group values are mapped in the order of the data, unless the INDEX= option is used \\nto alter the default sequence of colors and line patterns.\\n\\nTip: The representations that are used to identify the groups can be overridden individually. For example, \\neach distinct group value is represented by a different line pattern for the band lines, but the PATTERN= \\nsuboption of the OUTLINEATTRS= option could be used to assign the same line pattern to all band outlines.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"INDEX=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: INDEX=positive-integer-column | expression] \\n          \\nSpecifies indices for mapping line attributes (color and pattern) to one of the GraphData1 - GranphDataN \\nstyle elements. \\n\\nDefault: no default\\n\\nRestriction: For this option to take effect, the GROUP= option must also be specified.\\n\\nInteraction: All of the indexes for a specific group value must be the same; otherwise, \\nthe results are unpredictable.\\n\\nInteraction: The index values are 1-based indices. For the style definitions in GraphData1 - GraphDataN, \\nif the index value is greater than N, then a modulo operation remaps that index value to a number less \\nthan N to determine which style to use.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"JUSTIFY=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies the location of the data point relative to the step. \\n          \\nDefault: LEFT\\n\\nRequirement: TYPE=STEP must also be specified for this option to have any effect.\\n\\nInteraction: If the MODELNAME= option is specified, this option is ignored.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"LEFT\",\"@Value2\":\"CENTER\",\"@Value3\":\"RIGHT\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Specifies a LEFT location of the data point relative to the step.\",\"@ToolTip2\":\"Specifies a CENTER location of the data point relative to the step.\",\"@ToolTip3\":\"Specifies a RIGHT location of the data point relative to the step.\"}},{\"StatementOptionName\":\"LEGENDLABEL=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: LEGENDLABEL= \\\"string\\\"] \\n          \\nSpecifies the label of the legends. \\nDefault: The string specified on the NAME= option.\\n\\nInteraction: If the GROUP= option is specified, this option is ignored.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"MODELNAME=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: MODELNAME= \\\"plot-name\\\"] \\n          \\nSpecifies the name of the plot from which to derive the interpolation for the band. \\n\\nDefault: no default\\n\\nRequirement: plot-name must be the name that has been assigned on the associated plot's NAME= option.\\n\\nInteraction: This option overrides the JUSTIFY= and TYPE= options.\\n\\nTip: If this option is not specified, then the interpolation is set by the TYPE= option.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"NAME=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: NAME=\\\"string\\\"] \\n          \\nAssigns a name to a plot statement for reference in other template statements. \\nDefault: no default\\n\\nRestriction: The string is case sensitive, cannot contain spaces, and must define a unique \\nname within the template.\\n\\nInteraction: The string is used as the default legend label if the LEGENDLABEL= option is not used.\\n\\nTip: The specified name is used primarily in legend statements to coordinate the use of colors \\nand line patterns between the graph and the legend.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"OUTLINEATTRS=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: OUTLINEATTRS=style-element | style-element (line-options) | (line-options)] \\n          \\nSpecifies the appearance of the band outlines. \\n\\nThe available line-options can be any one or more of the following settings. The options must be \\nenclosed in parentheses, and each option is specified as a name=value pair:\\n\\n  COLOR=style-reference | color \\n  specifies the line color. If you use a style-reference, the style-attribute should be a valid \\n  attribute such as COLOR, CONTRASTCOLOR, STARTCOLOR, NEUTRAL, ENDCOLOR. The convention is to use \\n  CONTRASTCOLOR for lines. If you specify a style element that does not have a CONTRASTCOLOR attribute, \\n  the element's COLOR attribute is used. If you use a color, SAS/GRAPH accepts color names, such \\n  as RED, or color codes, such as CXFF0000 or #FF0000.\\n\\n  PATTERN=style-reference | line-pattern-name | line-pattern-number specifies the line pattern. \\n  If you use a style-reference, the style-attribute should be LINESTYLE. Line patterns can be \\n  specified as a pattern name or pattern number. Some valid pattern numbers: 1 (Solid), 2 (ShortDash), \\n  4 (MediumDash), 5 (LongDash) 8 (MediumDashShortDash) 14 (DashDashDot) 15 (DashDotDot) 20 (Dash) \\n  26 (LongDashShortDash) 34 (Dot) 35 (ThinDot) 41 (ShortDashDot) 42 (MediumDashDotDot). \\n  Not all pattern numbers have names. \\n\\n  THICKNESS=style-reference | dimension \\n  specifies the line thickness. If you use a style-reference, the style-attribute should be LINETHICKNESS.\\n\\nDefault:\\n  o For non-grouped data, the GraphDataDefault style element. \\n  o For grouped data, the ContrastColor and LineStyle attributes of the GraphData1 - GraphDataN \\n    style elements. \\n\\nInteraction: For this option to have any effect, the outline must be enabled by the ODS style \\nor the DISPLAY= option.\"},\"StatementOptionType\":\"V\",\"SubOptionsKeywords\":\"COLOR=|PATTERN=|THICKNESS=\"},{\"StatementOptionName\":\"ROLENAME=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: ROLENAME=( role-name-list )] \\n          \\nSpecifies user-defined roles for information contained in data columns. \\nDefault: no default\\n\\n(role-name-list) \\na blank-separated list of role-name = column pairs. \\nFor example, ROLENAME= ( TIP1=OBS ) assigns the column OBS to the user-defined role TIP1.\\n\\nRequirement: The role names you choose must be unique and different from the pre-defined \\nroles X, Y, LIMITUPPER, LIMITLOWER, GROUP, CURVELABELUPPER, and CURVELABELLOWER.\\n\\nTip: This option provides a way to add to the data columns that appear in tool tips \\nspecified by the TIP= option.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"TIP=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: TIP=(role-list)] \\n          \\nSpecifies the information to display when the cursor is positioned over the band plot. \\nIf this option is used, it replaces all the information displayed by default. Roles for \\ncolumns that do not contribute to the band plot may be specfied along with roles that do. \\n\\nDefault: The columns assigned to these roles are automatically included in the tool tip \\ninformation: X, Y, LIMITUPPER, LIMITLOWER, and GROUP.\\n\\n(role-list) \\nan ordered, blank-separated list of unique BANDPLOT and user-defined roles. \\nBANDPLOT roles include X, Y, LIMITUPPER, LIMITLOWER, GROUP, INDEX, CURVELABELUPPER,\\nand CURVELABELLOWER. User-defined roles are defined with the ROLENAME= option.\\n\\nRequirement: To generate tool tips, you must include an ODS GRAPHICS ON statement that \\nhas the IMAGEMAP option specified, and write the graphs to the ODS HTML destination.\\n\\nInteraction: The labels and formats for the TIP variables can be controlled with the \\nTIPLABEL= and TIPFORMAT= options.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"TIPFORMAT=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: TIPFORMAT=(role-format-list)] \\n          \\nSpecifies display formats for tip columns. \\nDefault: The column format of the variable assigned to the role or BEST6. if no format is \\nassigned to a numeric column.\\n\\n(role-format-list) \\na list of role-name = format pairs separated by blanks. \\n  \\n   ROLENAME=(TIP1=OBS) \\n   TIP=(TIP1 X LIMITUPPER LIMITLOWER) \\n   TIPFORMAT=( LIMITUPPER= 5.3 LIMITLOWER= 5.3 )\\n \\nRequirement: This option provides a way to control the formats of columns that appear in tool tips. \\nOnly the roles that appear in the TIP= option are used. Columns must be assigned to the roles for \\nthis option to have any effect. See the ROLENAME= option.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"TIPLABEL=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: TIPLABEL=(role-label-list)] \\n          \\nSpecifies display labels for tip columns. \\nDefault: The column label or column name of the variable assigned to the role.\\n\\n(role-label-list) \\na list of role-name = \\\"string\\\" pairs separated by blanks. \\n  \\n   ROLENAME=(TIP1=OBS) \\n   TIP=(TIP1 X LIMITUPPER LIMITLOWER) \\n   TIPLABEL=( LIMITUPPER=\\\"90% CLU\\\" \\n              LIMITLOWER=\\\"90% CLL\\\" ) \\n\\nRequirement: This option provides a way to control the labels of columns that appear in tool tips. \\nOnly the roles that appear in the TIP= option are used. Columns must be assigned to the roles for \\nthis option to have any effect. See the ROLENAME= option.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"TYPE=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies how the data points for lower and upper band boundaries are interpolated. \\n\\nDefault: SERIES \\n\\nInteraction: TYPE=STEP must be specified to enable the JUSTIFY= option.\\n\\nInteraction: If the MODELNAME= option is specified, this option is ignored.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"SERIES\",\"@Value2\":\"STEP\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"The data points are joined directly using line segements (as in a SeriesPlot).\",\"@ToolTip2\":\"The data points are connected using a step function (as in a StepPlot).\"}},{\"StatementOptionName\":\"XAXIS=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies whether data are mapped to the primary X (left) axis or to the secondary X2 (right) axis. \\n\\nDefault: X\\n\\nInteraction: This option is ignored if the X= argument is not specified.\\n\\nInteraction: The overall plot specification and the layout type determine the axis display.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"X\",\"@Value2\":\"X2\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Data are mapped to the primary X (left) axis.\",\"@ToolTip2\":\"Data are mapped to the the secondary X2 (right) axis.\"}},{\"StatementOptionName\":\"YAXIS=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies whether data are mapped to the primary Y (bottom) axis or to the secondary Y2 (top) axis. \\n\\nDefault: Y\\n\\nInteraction: This option is ignored if the Y= argument is not specified.\\n\\nInteraction: The overall plot specification and the layout type determine the axis display.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"Y\",\"@Value2\":\"Y2\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Data are mapped to the primary Y (bottom) axis.\",\"@ToolTip2\":\"Data are mapped to the secondary Y2 (top) axis.\"}}]}},{\"StatementName\":\"BARCHART\",\"StatementHelp\":{\"#cdata\":\"Syntax: BARCHART X= column | expression </ option(s)> ; \\n      \\nThe following syntax creates a bar chart with bars representing summarized values of Y categorized by X:\\n\\n  BARCHART X= column | expression Y= numeric-column | expression </ option(s)> ; \\n  \\nCreates a barchart computed from input data.\"},\"StatementOptions\":{\"StatementOption\":[{\"StatementOptionName\":\"X=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: X=column | expression] \\n          \\nSpecifies the column or expression for the category values. This argument is required.\"},\"StatementOptionType\":\"RV\"},{\"StatementOptionName\":\"Y=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: Y=column | expression] \\n          \\nSpecifies the numeric column or expression for the response values. This argument is optional.\"},\"StatementOptionType\":\"RV\"},{\"StatementOptionName\":\"BARLABEL=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies whether the bar statistic value is displayed at the end of the bar. \\n\\nDefault: FALSE\\n\\nTIP: The font and color attributes for the label are specified by the BARLABELATTRS= option. \\nThe text format is specified by the BARLABELFORMAT= option.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"FALSE\",\"@Value2\":\"TRUE\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Specifies that the bar statistic value is not displayed at the end of the bar.\",\"@ToolTip2\":\"Specifies that the bar statistic value is displayed at the end of the bar.\"}},{\"StatementOptionName\":\"BARLABELATTRS=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: BARLABELATTRS=style-element | style-element (text-options) | (text-options)] \\n          \\nSpecifies the text properties of the bar label text.\\nDefault: The GraphDataText style element.\\nInteraction: For this option to take effect, BARLABEL=TRUE must be specified.\\n\\nThe available text-options can be any one or more of the following settings. The options must be \\nenclosed in parentheses, and each option is specified as a name=value pair. In all cases, the \\nvalue may be a style-reference in the form style-element:style-attribute .\\n\\n  COLOR=style-reference | color \\n  specifies the color of the text. If you use a style-reference, the style-attribute should be a valid \\n  attribute such as COLOR, CONTRASTCOLOR, STARTCOLOR, NEUTRAL, ENDCOLOR. The convention is to use COLOR \\n  for text. If you use a color, SAS/GRAPH accepts color names, such as RED, or color codes, such as \\n  CXFF0000 or #FF0000. Color names must not exceed 64 characters. Color codes must not exceed 8 characters \\n  and must be in a valid SAS color-naming scheme, such as RGB, CMYK, HLS, or HSV (HSB).\\n\\n  FAMILY =style-reference | \\\"string\\\" \\n  specifies the font family of the text. If you use a style-reference, the style-attribute should be FONTFAMILY. \\n\\n  SIZE=style-reference | dimension \\n  specifies the font size of the text. If you use a style-reference, the style-attribute should be FONTSIZE. \\n\\n  STYLE=style-reference | NORMAL | ITALIC \\n  specifies the font style of the text. If you use a style-reference, the style-attribute should be FONTSTYLE. \\n\\n  WEIGHT=style-reference | NORMAL | BOLD \\n  specifies the font weight of the text. If you use a style-reference, the style-attribute should be FONTWEIGHT.\"},\"StatementOptionType\":\"V\",\"SubOptionsKeywords\":\"COLOR=|FAMILY=|SIZE=|STYLE=|WEIGHT=\"},{\"StatementOptionName\":\"BARLABELFORMAT=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: BARLABELFORMAT=format] \\n          \\nSpecifies the text format used to display the bar label. \\n\\nDefault: The column format assigned to the Y= variable or BEST6.2 if no format is assigned.\\n\\nInteraction: For this option to take effect, BARLABEL=TRUE must be specified.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"BARWIDTH=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: BARWIDTH=number] \\n          \\nSpecifies the width of a bar as a ratio of the maximum possible width. \\n\\nDefault: .85. By default, the bar width automatically adjusts based on the number of bars \\nto be displayed and the wall width.\\n\\nRange: 0 (narrowest) to 1 (widest)\\n\\nTip: This option is needed only to change the default behavior. For example, to remove any \\ninter-bar gap, set BARWIDTH=1.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"CONNECTATTRS=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: CONNECTATTRS=style-element | style-element (line-options) | (line-options)] \\n          \\nSpecifies the appearance of the bar connect lines. \\nDefault: The GraphConnectLine style element. \\n\\nThe available line-options can be any one or more of the following settings. The options must be \\nenclosed in parentheses, and each option is specified as a name=value pair:\\n\\n  COLOR=style-reference | color \\n  specifies the line color. If you use a style-reference, the style-attribute should be a valid \\n  attribute such as COLOR, CONTRASTCOLOR, STARTCOLOR, NEUTRAL, ENDCOLOR. The convention is to use \\n  CONTRASTCOLOR for lines. If you specify a style element that does not have a CONTRASTCOLOR attribute, \\n  the element's COLOR attribute is used. If you use a color, SAS/GRAPH accepts color names, such \\n  as RED, or color codes, such as CXFF0000 or #FF0000.\\n\\n  PATTERN=style-reference | line-pattern-name | line-pattern-number specifies the line pattern. \\n  If you use a style-reference, the style-attribute should be LINESTYLE. Line patterns can be \\n  specified as a pattern name or pattern number. Some valid pattern numbers: 1 (Solid), 2 (ShortDash), \\n  4 (MediumDash), 5 (LongDash) 8 (MediumDashShortDash) 14 (DashDashDot) 15 (DashDotDot) 20 (Dash) \\n  26 (LongDashShortDash) 34 (Dot) 35 (ThinDot) 41 (ShortDashDot) 42 (MediumDashDotDot). \\n  Not all pattern numbers have names. \\n\\n  THICKNESS=style-reference | dimension \\n  specifies the line thickness. If you use a style-reference, the style-attribute should be LINETHICKNESS.\"},\"StatementOptionType\":\"V\",\"SubOptionsKeywords\":\"COLOR=|PATTERN=|THICKNESS=\"},{\"StatementOptionName\":\"DATATRANSPARENCY=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: DATATRANSPARENCY=number] \\n          \\nSpecifies the degree of the transparency of the bar fill, bar outline, and connectline, if displayed. \\n\\nDefault: 0\\n\\nRange: 0 (opaque) to 1 (entirely transparent)\"},\"StatementOptionType\":\"V\",\"SubOptionsKeywords\":\"COLOR=|PATTERN=|THICKNESS=\"},{\"StatementOptionName\":\"DISPLAY=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies which bar features to display. \\n\\nDefault: STANDARD \\n\\nRestriction: Connect lines are not drawn for grouped data.\\n\\nTip: Use the OUTLINEATTRS= and FILLATTRS= options to control the appearance of the bars. \\nUse CONNECTATTRS= to control the appearance of the connect lines.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"STANDARD\",\"@Value2\":\"ALL\",\"@Value3\":\"<(display-options)>\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Displays an un-outlined, filled bar.\",\"@ToolTip2\":\"Displays an outlined, filled bar.\",\"@ToolTip3\":\"A parenthesized list of space-delimited options that must include one of the following:   OUTLINE  displays outlined bars   FILL  displays filled bars\"},\"SubOptionsKeywords\":\"OUTLINE|FILL\"},{\"StatementOptionName\":\"FILLATTRS=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: FILLATTRS=style-element | style-element (fill-options) | (fill-options)] \\n          \\nSpecifies the appearance of the filled bar area. \\n\\nWhen specifying the attributes for an area fill, the COLOR fill-option is the only option that \\nis currently available. The option must be enclosed in parentheses and specified as a name=value \\npair. The value may be a style-reference in the form style-element:style-attribute.\\n\\n  COLOR=style-reference | color \\n  specifies the fill color. If you use a style-reference, the style-attribute should be a valid \\n  attribute such as COLOR, CONTRASTCOLOR, STARTCOLOR, NEUTRAL, ENDCOLOR. The convention is to use \\n  the COLOR attribute for fill areas. If you use a color, SAS/GRAPH accepts color names, such as \\n  RED, or color codes, such as CXFF0000 or #FF0000. Color names must not exceed 64 characters. \\n  Color codes must not exceed 8 characters and must be in a valid SAS color-naming scheme, such \\n  as RGB, CMYK, HLS, or HSV (HSB).\\n\\nDefault:\\n  o For non-grouped data, the GraphDataDefault:Color style reference. \\n  o For grouped data, the Color attribute of GraphData1 - GraphDataN style elements.\"},\"StatementOptionType\":\"V\",\"SubOptionsKeywords\":\"COLOR=\"},{\"StatementOptionName\":\"GROUP=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: GROUP=column | expression] \\n          \\nCreates a separate bar segment for each unique group value of the specified column.\\n\\nDefault:\\n  o If bar fills are enabled by the ODS style or the DISPLAY= option, each distinct group value is \\n    represented in the graph by a different fill color defined by the GraphData1:Color - GraphDataN:Color \\n    style references. \\n  o If bar outlines are enabled by the ODS style or the DISPLAY= option, each distinct group value \\n    is represented in the graph by a different outlined color defined by the \\n    GraphData1:ContrastColor - GraphDataN:ContrastColor style references. \\n    \\nInteraction: Connect lines are not drawn for grouped data.\\n\\nInteraction: By default, the group values are mapped in the order of the data. The GROUPORDER= \\noption can be used to control the sorting order of the grouped bar segments. The INDEX= option \\ncan be used to alter the default sequence of colors and line patterns.\\n\\nTip: The representations that are used to identify the groups can be overridden individually. \\nFor example, each distinct group value is represented by a different line pattern for the bar\\noutlines, but the PATTERN= setting on the OUTLINEATTRS= option could be used to assign the same \\nline pattern to all bar outlines and connect lines.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"GROUPORDER=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies the ordering of bars within a group and within the legend. \\n\\nDefault: DATA \\n\\nInteraction: This option is ignored unless GROUP= is specified.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"DATA\",\"@Value2\":\"ASCENDING\",\"@Value3\":\"DESCENDING\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Shows each group of bars in data order of the group column.\",\"@ToolTip2\":\"Shows each group of bars in ascending order.\",\"@ToolTip3\":\"Shows each group of bars in descending order.\"}},{\"StatementOptionName\":\"INDEX=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: INDEX=positive-integer-column | expression] \\n          \\nSpecifies indices for mapping line attributes (color and pattern) to one of the GraphData1 - GranphDataN \\nstyle elements. \\n\\nDefault: no default\\n\\nRestriction: For this option to take effect, the GROUP= option must also be specified.\\n\\nInteraction: All of the indexes for a specific group value must be the same; otherwise, \\nthe results are unpredictable.\\n\\nInteraction: The index values are 1-based indices. For the style definitions in GraphData1 - GraphDataN, \\nif the index value is greater than N, then a modulo operation remaps that index value to a number less \\nthan N to determine which style to use.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"LEGENDLABEL=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: LEGENDLABEL= \\\"string\\\"] \\n          \\nSpecifies a label for use in a legend. \\n\\nDefault: The Y-variable label. If a label is not defined, the Y-variable name.\\n\\nInteraction: If the GROUP= option is specified, this option is ignored.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"NAME=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: NAME=\\\"string\\\"] \\n          \\nAssigns a name to a plot statement for reference in other template statements. \\nDefault: no default\\n\\nRestriction: The string is case sensitive, cannot contain spaces, and must define a unique \\nname within the template.\\n\\nInteraction: The string is used as the default legend label if the LEGENDLABEL= option is not used.\\n\\nTip: The specified name is used primarily in legend statements to coordinate the use of colors \\nand line patterns between the graph and the legend.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"ORIENT=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies the orientation of the Y axis and the bars. \\n\\nDefault: VERTICAL\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"VERTICAL\",\"@Value2\":\"HORIZONTAL\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Specifies a vertical orientation for the Y axis and the bars.\",\"@ToolTip2\":\"Specifies a horizontal orientation for the Y axis and the bars.\"}},{\"StatementOptionName\":\"OUTLINEATTRS=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: OUTLINEATTRS=style-element | style-element (line-options) | (line-options)] \\n          \\nSpecifies the appearance of the bar outlines. \\n\\nThe available line-options can be any one or more of the following settings. The options must be \\nenclosed in parentheses, and each option is specified as a name=value pair:\\n\\n  COLOR=style-reference | color \\n  specifies the line color. If you use a style-reference, the style-attribute should be a valid \\n  attribute such as COLOR, CONTRASTCOLOR, STARTCOLOR, NEUTRAL, ENDCOLOR. The convention is to use \\n  CONTRASTCOLOR for lines. If you specify a style element that does not have a CONTRASTCOLOR attribute, \\n  the element's COLOR attribute is used. If you use a color, SAS/GRAPH accepts color names, such \\n  as RED, or color codes, such as CXFF0000 or #FF0000.\\n\\n  PATTERN=style-reference | line-pattern-name | line-pattern-number specifies the line pattern. \\n  If you use a style-reference, the style-attribute should be LINESTYLE. Line patterns can be \\n  specified as a pattern name or pattern number. Some valid pattern numbers: 1 (Solid), 2 (ShortDash), \\n  4 (MediumDash), 5 (LongDash) 8 (MediumDashShortDash) 14 (DashDashDot) 15 (DashDotDot) 20 (Dash) \\n  26 (LongDashShortDash) 34 (Dot) 35 (ThinDot) 41 (ShortDashDot) 42 (MediumDashDotDot). \\n  Not all pattern numbers have names.\\n\\n  THICKNESS=style-reference | dimension \\n  specifies the line thickness. If you use a style-reference, the style-attribute should be LINETHICKNESS.\\n\\nDefault:\\n  o For non-grouped data, the ContrastColor and LineThickness attributes of the GraphOutlines style element. \\n  o For grouped data, the ContrastColor and LineThickness attribute of the GraphData1 - GraphDataN style elements. \\n\\nInteraction: For this option to have any effect, outlines must be enabled by the ODS style \\nor the DISPLAY= option.\"},\"StatementOptionType\":\"V\",\"SubOptionsKeywords\":\"COLOR=|PATTERN=|THICKNESS=\"},{\"StatementOptionName\":\"PRIMARY=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies that the data columns for this plot and the plot type be used for determining default \\naxis features. \\n\\nDefault: FALSE\\n\\nRestriction: This option is ignored if the plot is placed under a GRIDDED or LATTICE layout block.\\n\\nDetails: This option is needed only when two or more plots within an overlay-type layout contribute \\nto a common axis.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"FALSE\",\"@Value2\":\"TRUE\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Specifies that the data columns for this plot and the plot type not be used for determining default  axis features.\",\"@ToolTip2\":\"Specifies that the data columns for this plot and the plot type be used for determining default  axis features.\"}},{\"StatementOptionName\":\"STAT=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies the statistic to be computed for the Y-axis. \\n\\nDefault: FREQ for bar charts with no Y=column. SUM for bar charts with a Y= column\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"FREQ\",\"@Value2\":\"PCT\",\"@Value3\":\"SUM\",\"@Value4\":\"MEAN\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"[For bar charts with no Y= column]--Frequency count\",\"@ToolTip2\":\"[For bar charts with no Y= column]--Percent\",\"@ToolTip3\":\"[For bar charts with a Y= column]--Sum\",\"@ToolTip4\":\"For bar charts with a Y= column]--Mean\"}},{\"StatementOptionName\":\"TIP=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: TIP=(role-list)] \\n          \\nSpecifies the information to display when the cursor is positioned over a bar. \\nIf this option is used, it replaces all the information displayed by default.\\n\\nDefault: The columns assigned to these roles are automatically included in the tool tip \\ninformation: X, Y, and GROUP.\\n\\n(role-list) \\nan ordered, blank-separated list of unique BARCHART roles. BARCHART roles include X, Y, INDEX, \\nand GROUP. The following example displays tooltips for the columns assigned to the roles X and Y only.\\n  \\n   TIP= (X Y)\\n \\nRequirement: To generate tooltips, you must include an ODS GRAPHICS ON statement that has the \\nIMAGEMAP option specified, and write the graphs to the ODS HTML destination.\\n\\nInteraction: The labels and formats for the TIP variables can be controlled with the TIPLABEL= \\nand TIPFORMAT= options.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"TIPFORMAT=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: TIPFORMAT=(role-format-list)] \\n          \\nSpecifies display formats for tip columns. \\nDefault: The column format of the variable assigned to the role or BEST6. if no format is \\nassigned to a numeric column.\\n\\n(role-format-list) \\na list of role-name = format pairs separated by blanks. \\n  \\n   TIP=(Y) \\n   TIPFORMAT=( Y=DOLLAR12.)\\n \\nRequirement: This option provides a way to control the formats of columns that appear in tooltips. \\nOnly the roles that appear in the TIP= option are used. Columns must be assigned to the roles for \\nthis option to have any effect.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"TIPLABEL=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: TIPLABEL=(role-label-list)] \\n          \\nSpecifies display labels for tip columns. \\nDefault: The column label or column name of the variable assigned to the role.\\n\\n(role-label-list) \\na list of role-name = \\\"string\\\" pairs separated by blanks. \\n  \\n    TIP=(Y) \\n    TIPLABEL=(Y=\\\"Average Sales\\\") \\n\\nRequirement: This option provides a way to control the labels of columns that appear in tooltips. \\nOnly the roles that appear in the TIP= option are used. Columns must be assigned to the roles for \\nthis option to have any effect.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"URL=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: URL=character-column] \\n          \\nSpecifies an HTML page to display when the bar is selected. \\nDefault: no default\\n\\ncharacter-column \\neach value of the column should be a valid HTML page reference (HREF).\\nExample: http://www.sas.com/technologies/analytics/index.html . \\n\\nRequirement: To generate selectable bars, you must include an ODS GRAPHICS ON statement that has \\nthe IMAGEMAP option specified, and write the graphs to the ODS HTML destination.\\n\\nTip: For non-grouped data, the values of the column are expected to be same for each unique X value. \\nIf they are not, the results may be unpredictable. The URL value may be blank for some X values,\\nmeaning that no action is taken when the bars for those X values are selected. The URL value may \\nbe the same for different X values, meaning that the same action is taken when the bars for those \\nX values are selected.\\n\\nTip: For grouped data, the values of the column are expected to be the same for each unique X and \\nGROUP combination.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"XAXIS=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies whether data are mapped to the primary X (bottom) axis or to the secondary X2 (top) axis. \\n\\nDefault: X\\n\\nInteraction: The overall plot specification and the layout type determine the axis display.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"X\",\"@Value2\":\"X2\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Data are mapped to the primary X (bottom) axis.\",\"@ToolTip2\":\"Data are mapped to the the secondary X2 (top) axis.\"}},{\"StatementOptionName\":\"YAXIS=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies whether data are mapped to the primary Y (left) axis or to the secondary Y2 (right) axis. \\n\\nDefault: Y\\n\\nInteraction: The overall plot specification and the layout type determine the axis display.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"Y\",\"@Value2\":\"Y2\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Data are mapped to the primary Y (left) axis.\",\"@ToolTip2\":\"Data are mapped to the secondary Y2 (right) axis.\"}}]}},{\"StatementName\":\"BARCHARTPARM\",\"StatementHelp\":{\"#cdata\":\"Syntax: BARCHARTPARM X= column | expression\\n      Y= numeric-column | expression </ option(s)> ; \\n      \\nCreates a barchart specified by pre-summarized data.\"},\"StatementOptions\":{\"StatementOption\":[{\"StatementOptionName\":\"X=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: X=column | expression] \\n          \\nSpecifies the column for the unique category values. All values are treated as discrete.\"},\"StatementOptionType\":\"RV\"},{\"StatementOptionName\":\"Y=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: Y=column | expression] \\n          \\nSpecifies the column for the response values.\"},\"StatementOptionType\":\"RV\"},{\"StatementOptionName\":\"BARLABEL=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies whether the bar statistic value is displayed at the end of the bar. \\n\\nDefault: FALSE\\n\\nTIP: The font and color attributes for the label are specified by the BARLABELATTRS= option. \\nThe text format is specified by the BARLABELFORMAT= option.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"FALSE\",\"@Value2\":\"TRUE\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Specifies that the bar statistic value is not displayed at the end of the bar.\",\"@ToolTip2\":\"Specifies that the bar statistic value is displayed at the end of the bar.\"}},{\"StatementOptionName\":\"BARLABELFORMAT=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: BARLABELFORMAT=format] \\n          \\nSpecifies the text format used to display the bar label. \\n\\nDefault: The column format assigned to the Y= variable or BEST6.2 if no format is assigned.\\n\\nInteraction: For this option to take effect, BARLABEL=TRUE must be specified.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"BARWIDTH=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: BARWIDTH=number] \\n          \\nSpecifies the width of a bar as a ratio of the maximum possible width. \\n\\nDefault: .85. By default, the bar width automatically adjusts based on the number of bars \\nto be displayed and the wall width.\\n\\nRange: 0 (narrowest) to 1 (widest)\\n\\nTip: This option is needed only to change the default behavior. For example, to remove any \\ninter-bar gap, set BARWIDTH=1.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"CONNECTATTRS=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: CONNECTATTRS=style-element | style-element (line-options) | (line-options)] \\n          \\nSpecifies the appearance of the bar connect lines. \\nDefault: The GraphConnectLine style element. \\n\\nThe available line-options can be any one or more of the following settings. The options must be \\nenclosed in parentheses, and each option is specified as a name=value pair:\\n\\n  COLOR=style-reference | color \\n  specifies the line color. If you use a style-reference, the style-attribute should be a valid \\n  attribute such as COLOR, CONTRASTCOLOR, STARTCOLOR, NEUTRAL, ENDCOLOR. The convention is to use \\n  CONTRASTCOLOR for lines. If you specify a style element that does not have a CONTRASTCOLOR attribute, \\n  the element's COLOR attribute is used. If you use a color, SAS/GRAPH accepts color names, such \\n  as RED, or color codes, such as CXFF0000 or #FF0000.\\n\\n  PATTERN=style-reference | line-pattern-name | line-pattern-number specifies the line pattern. \\n  If you use a style-reference, the style-attribute should be LINESTYLE. Line patterns can be \\n  specified as a pattern name or pattern number. Some valid pattern numbers: 1 (Solid), 2 (ShortDash), \\n  4 (MediumDash), 5 (LongDash) 8 (MediumDashShortDash) 14 (DashDashDot) 15 (DashDotDot) 20 (Dash) \\n  26 (LongDashShortDash) 34 (Dot) 35 (ThinDot) 41 (ShortDashDot) 42 (MediumDashDotDot). \\n  Not all pattern numbers have names. \\n\\n  THICKNESS=style-reference | dimension \\n  specifies the line thickness. If you use a style-reference, the style-attribute should be LINETHICKNESS.\"},\"StatementOptionType\":\"V\",\"SubOptionsKeywords\":\"COLLOR=|PATTERN=|THICKNESS=\"},{\"StatementOptionName\":\"DATATRANSPARENCY=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: DATATRANSPARENCY=number] \\n          \\nSpecifies the degree of the transparency of the bar fill, bar outline, error bars, and \\nconnectline, if displayed. \\n\\nDefault: 0\\n\\nRange: 0 (opaque) to 1 (entirely transparent)\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"DISPLAY=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies which bar features to display. \\n\\nDefault: STANDARD \\n\\nRestriction: Connect lines are not drawn for grouped data.\\n\\nTip: Use the OUTLINEATTRS= and FILLATTRS= options to control the appearance of the bars. \\nUse CONNECTATTRS= to control the appearance of the connect lines.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"STANDARD\",\"@Value2\":\"ALL\",\"@Value3\":\"<(display-options)>\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Displays an outlined, filled bars.\",\"@ToolTip2\":\"Displays an outlined, filled bars and also connect lines.\",\"@ToolTip3\":\"A parenthesized list of options that must include one of the following:   OUTLINE  displays outlined bars   FILL  displays filled bars   CONNECT  Displays line segments connecting adjacent midpoints at the end of each bar.\"},\"SubOptionsKeywords\":\"OUTLINE|FILL|CONNECT\"},{\"StatementOptionName\":\"ERRORBARATTRS=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: ERRORBARATTRS=style-element | style-element (line-options) | (line-options)] \\n          \\nSpecifies the attributes of the error bars associated with the bars. \\n\\nThe available line-options can be any one or more of the following settings. The options must be \\nenclosed in parentheses, and each option is specified as a name=value pair:\\n\\n  COLOR=style-reference | color \\n  specifies the line color. If you use a style-reference, the style-attribute should be a valid \\n  attribute such as COLOR, CONTRASTCOLOR, STARTCOLOR, NEUTRAL, ENDCOLOR. The convention is to use \\n  CONTRASTCOLOR for lines. If you specify a style element that does not have a CONTRASTCOLOR attribute, \\n  the element's COLOR attribute is used. If you use a color, SAS/GRAPH accepts color names, such \\n  as RED, or color codes, such as CXFF0000 or #FF0000.\\n\\n  PATTERN=style-reference | line-pattern-name | line-pattern-number specifies the line pattern. \\n  If you use a style-reference, the style-attribute should be LINESTYLE. Line patterns can be \\n  specified as a pattern name or pattern number. Some valid pattern numbers: 1 (Solid), 2 (ShortDash), \\n  4 (MediumDash), 5 (LongDash) 8 (MediumDashShortDash) 14 (DashDashDot) 15 (DashDotDot) 20 (Dash) \\n  26 (LongDashShortDash) 34 (Dot) 35 (ThinDot) 41 (ShortDashDot) 42 (MediumDashDotDot). \\n  Not all pattern numbers have names.\\n\\n  THICKNESS=style-reference | dimension \\n  specifies the line thickness. If you use a style-reference, the style-attribute should be LINETHICKNESS.\\n\\nDefault:\\n  o For non-grouped data, the GraphError style element. \\n  o For grouped data, the LineStyle and LineThickness attributes of the GraphError style element \\n    and the ContrastColor attribute of the GraphData1 - GraphDataN style elements.\"},\"StatementOptionType\":\"V\",\"SubOptionsKeywords\":\"COLOR=|PATTERN=|THICKNESS=\"},{\"StatementOptionName\":\"ERRORLOWER=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: ERRORLOWER=numeric-column | expression] \\n          \\nSpecifies the values of the lower endpoints on the Y error bars. \\nDefault: The lower segment of the error bars is not drawn.\\n\\nInteraction: If the GROUP= option is specified, this option is ignored.\\n\\nTip: The errorbar values must be absolute data values, not data values relative to the value of the bar.\\n\\nTip: The appearance of the error bars is controlled by the ERRORBARATTRS= option.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"ERRORUPPER=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: ERRORUPPER=numeric-column | expression] \\n          \\nSpecifies the values of the upper endpoints on the Y error bars. \\nDefault: The upper segment of the error bars is not drawn.\\n\\nInteraction: If the GROUP= option is specified, this option is ignored.\\n\\nTip: The errorbar values must be absolute data values, not data values relative to the value of the bar.\\n\\nTip: The appearance of the error bars is controlled by the ERRORBARATTRS= option.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"FILLATTRS=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: FILLATTRS=style-element | style-element (fill-options) | (fill-options)] \\n          \\nSpecifies the appearance of the filled bar area. \\n\\nWhen specifying the attributes for an area fill, the COLOR fill-option is the only option that \\nis currently available. The option must be enclosed in parentheses and specified as a name=value \\npair. The value may be a style-reference in the form style-element:style-attribute.\\n\\n  COLOR=style-reference | color \\n  specifies the fill color. If you use a style-reference, the style-attribute should be a valid \\n  attribute such as COLOR, CONTRASTCOLOR, STARTCOLOR, NEUTRAL, ENDCOLOR. The convention is to use \\n  the COLOR attribute for fill areas. If you use a color, SAS/GRAPH accepts color names, such as \\n  RED, or color codes, such as CXFF0000 or #FF0000. Color names must not exceed 64 characters. \\n  Color codes must not exceed 8 characters and must be in a valid SAS color-naming scheme, such \\n  as RGB, CMYK, HLS, or HSV (HSB).\\n\\nDefault:\\n  o For non-grouped data, the GraphDataDefault:Color style reference. \\n  o For grouped data, the Color attribute of GraphData1 - GraphDataN style elements.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"GROUP=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: GROUP=column | expression] \\n          \\nCreates a separate bar segment for each unique group value of the specified column.\\n\\nDefault:\\n  o If bar fills are enabled by the ODS style or the DISPLAY= option, each distinct group value is \\n    represented in the graph by a different fill color defined by the GraphData1:Color - GraphDataN:Color \\n    style references. \\n  o If bar outlines are enabled by the ODS style or the DISPLAY= option, each distinct group value \\n    is represented in the graph by a different outlined color defined by the \\n    GraphData1:ContrastColor - GraphDataN:ContrastColor style references. \\n    \\nInteraction: Connect lines are not drawn for grouped data.\\n\\nInteraction: By default, the group values are mapped in the order of the data. The GROUPORDER= \\noption can be used to control the sorting order of the grouped bar segments. The INDEX= option \\ncan be used to alter the default sequence of colors and line patterns.\\n\\nTip: The representations that are used to identify the groups can be overridden individually. \\nFor example, each distinct group value is represented by a different line pattern for the bar\\noutlines, but the PATTERN= setting on the OUTLINEATTRS= option could be used to assign the same \\nline pattern to all bar outlines and connect lines.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"GROUPORDER=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies the ordering of bars within a group and within the legend. \\n\\nDefault: DATA \\n\\nInteraction: This option is ignored unless GROUP= is specified.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"DATA\",\"@Value2\":\"ASCENDING\",\"@Value3\":\"DESCENDING\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Shows each group of bars in data order of the group column.\",\"@ToolTip2\":\"Shows each group of bars in ascending order.\",\"@ToolTip3\":\"Shows each group of bars in descending order.\"}},{\"StatementOptionName\":\"INDEX=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: INDEX=positive-integer-column | expression] \\n          \\nSpecifies indices for mapping line attributes (color and pattern) to one of the GraphData1 - GranphDataN \\nstyle elements. \\n\\nDefault: no default\\n\\nRestriction: For this option to take effect, the GROUP= option must also be specified.\\n\\nInteraction: All of the indexes for a specific group value must be the same; otherwise, \\nthe results are unpredictable.\\n\\nInteraction: The index values are 1-based indices. For the style definitions in GraphData1 - GraphDataN, \\nif the index value is greater than N, then a modulo operation remaps that index value to a number less \\nthan N to determine which style to use.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"LEGENDLABEL=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: LEGENDLABEL= \\\"string\\\"] \\n          \\nSpecifies a label for use in a legend. \\n\\nDefault: The Y-variable label. If a label is not defined, the Y-variable name.\\n\\nInteraction: If the GROUP= option is specified, this option is ignored.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"NAME=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: NAME=\\\"string\\\"] \\n          \\nAssigns a name to a plot statement for reference in other template statements. \\nDefault: no default\\n\\nRestriction: The string is case sensitive, cannot contain spaces, and must define a unique \\nname within the template.\\n\\nInteraction: The string is used as the default legend label if the LEGENDLABEL= option is not used.\\n\\nTip: The specified name is used primarily in legend statements to coordinate the use of colors \\nand line patterns between the graph and the legend.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"ORIENT=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies the orientation of the Y axis and the bars. \\n\\nDefault: VERTICAL\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"VERTICAL\",\"@Value2\":\"HORIZONTAL\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Specifies a vertical orientation for the Y axis and the bars.\",\"@ToolTip2\":\"Specifies a horizontal orientation for the Y axis and the bars.\"}},{\"StatementOptionName\":\"OUTLINEATTRS=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: OUTLINEATTRS=style-element | style-element (line-options) | (line-options)] \\n          \\nSpecifies the appearance of the bar outlines. \\n\\nThe available line-options can be any one or more of the following settings. The options must be \\nenclosed in parentheses, and each option is specified as a name=value pair:\\n\\n  COLOR=style-reference | color \\n  specifies the line color. If you use a style-reference, the style-attribute should be a valid \\n  attribute such as COLOR, CONTRASTCOLOR, STARTCOLOR, NEUTRAL, ENDCOLOR. The convention is to use \\n  CONTRASTCOLOR for lines. If you specify a style element that does not have a CONTRASTCOLOR attribute, \\n  the element's COLOR attribute is used. If you use a color, SAS/GRAPH accepts color names, such \\n  as RED, or color codes, such as CXFF0000 or #FF0000.\\n\\n  PATTERN=style-reference | line-pattern-name | line-pattern-number specifies the line pattern. \\n  If you use a style-reference, the style-attribute should be LINESTYLE. Line patterns can be \\n  specified as a pattern name or pattern number. Some valid pattern numbers: 1 (Solid), 2 (ShortDash), \\n  4 (MediumDash), 5 (LongDash) 8 (MediumDashShortDash) 14 (DashDashDot) 15 (DashDotDot) 20 (Dash) \\n  26 (LongDashShortDash) 34 (Dot) 35 (ThinDot) 41 (ShortDashDot) 42 (MediumDashDotDot). \\n  Not all pattern numbers have names.\\n\\n  THICKNESS=style-reference | dimension \\n  specifies the line thickness. If you use a style-reference, the style-attribute should be LINETHICKNESS.\\n\\nDefault:\\n  o For non-grouped data, the ContrastColor and LineThickness attributes of the GraphOutlines style element. \\n  o For grouped data, the ContrastColor and LineThickness attribute of the GraphData1 - GraphDataN style elements. \\n\\nInteraction: For this option to have any effect, outlines must be enabled by the ODS style \\nor the DISPLAY= option.\"},\"StatementOptionType\":\"V\",\"SubOptionsKeywords\":\"COLOR=|PATTERN=|THICKNESS=\"},{\"StatementOptionName\":\"PRIMARY=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies that the data columns for this chart be used for determining default axis features. \\n\\nDefault: FALSE\\n\\nRestriction: This option is ignored if the plot is placed under a GRIDDED or LATTICE layout block.\\n\\nDetails: This option is needed only when two or more plots within an overlay-type layout \\ncontribute to a common axis.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"FALSE\",\"@Value2\":\"TRUE\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Specifies that the data columns for this chart and the plot type not be used for determining default  axis features.\",\"@ToolTip2\":\"Specifies that the data columns for this chart and the plot type be used for determining default  axis features.\"}},{\"StatementOptionName\":\"ROLENAME=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: ROLENAME=( role-name-list )] \\n          \\nSpecifies user-defined roles for information contained in data columns. \\nDefault: no default\\n\\n(role-name-list) \\na blank-separated list of role-name = column pairs. \\nFor example, ROLENAME= ( TIP1=PCT ) assigns the column PCT to the user-defined role TIP1.\\n\\nRequirement: The role names you choose must be unique and different from the pre-defined roles X, \\nY, ERRORUPPER, ERRORLOWER, and GROUP.\\n\\nTip: This option provides a way to add to the data columns that appear in tool tips specified \\nby the TIP= option.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"TIP=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: TIP=(role-list)] \\n          \\nSpecifies the information to display when the cursor is positioned over a bar. \\nIf this option is used, it replaces all the information displayed by default.\\n\\nDefault: The columns assigned to these roles are automatically included in the tool tip \\ninformation: X, Y, and GROUP.\\n\\n(role-list) \\nan ordered, blank-separated list of unique BARCHARTPARM and user-defined roles. BARCHARTPARM roles \\ninclude X, Y, ERRORUPPER, ERRORLOWER, INDEX, and GROUP. User-defined roles are defined with the \\nROLENAME= option.\\n\\nThe following example displays tool tips for the columns assigned to the roles X and Y as well \\nas the column PCT which is not assigned to any pre-defined bar chart role. The PCT column must \\nfirst be assigned a role.\\n  \\n   ROLENAME=(TIP1=PCT) \\n   TIP= (TIP1 X Y) \\n\\nRequirement: To generate tool tips, you must include an ODS GRAPHICS ON statement that has the \\nIMAGEMAP option specified, and write the graphs to the ODS HTML destination.\\n\\nInteraction: The labels and formats for the TIP variables can be controlled with the TIPLABEL= \\nand TIPFORMAT= options.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"TIPFORMAT=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: TIPFORMAT=(role-format-list)] \\n          \\nSpecifies display formats for tip columns. \\nDefault: The column format of the variable assigned to the role or BEST6. if no format is \\nassigned to a numeric column.\\n\\nrole-format-list) \\na list of role-name = format pairs separated by blanks. \\n  \\n   ROLENAME=(TIP1=PCT) \\n   TIP=(TIP1 X Y) \\n   TIPFORMAT=( TIP1=PERCENT7.2) \\n\\nRequirement: This option provides a way to control the formats of columns that appear in tool tips. \\nOnly the roles that appear in the TIP= option are used. Columns must be assigned to the roles for \\nthis option to have any effect.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"TIPLABEL=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: TIPLABEL=(role-label-list)] \\n          \\nSpecifies display labels for tip columns. \\nDefault: The column label or column name of the variable assigned to the role.\\n\\n(role-label-list) \\na list of role-name = \\\"string\\\" pairs separated by blanks. \\n  \\n    TIP=(Y) \\n    TIPLABEL=(Y=\\\"Average Sales\\\") \\n\\nRequirement: This option provides a way to control the labels of columns that appear in tooltips. \\nOnly the roles that appear in the TIP= option are used. Columns must be assigned to the roles for \\nthis option to have any effect.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"URL=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: URL=character-column] \\n          \\nSpecifies an HTML page to display when the bar is selected. \\nDefault: no default\\n\\ncharacter-column \\neach value of the column should be a valid HTML page reference (HREF).\\nExample: http://www.sas.com/technologies/analytics/index.html . \\n\\nRequirement: To generate selectable bars, you must include an ODS GRAPHICS ON statement that has \\nthe IMAGEMAP option specified, and write the graphs to the ODS HTML destination.\\n\\nTip: For non-grouped data, the values of the column are expected to be same for each unique X value. \\nIf they are not, the results may be unpredictable. The URL value may be blank for some X values,\\nmeaning that no action is taken when the bars for those X values are selected. The URL value may \\nbe the same for different X values, meaning that the same action is taken when the bars for those \\nX values are selected.\\n\\nTip: For grouped data, the values of the column are expected to be the same for each unique X and \\nGROUP combination.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"XAXIS=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies whether data are mapped to the primary X (bottom) axis or to the secondary X2 (top) axis. \\n\\nDefault: X\\n\\nInteraction: The overall plot specification and the layout type determine the axis display.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"X\",\"@Value2\":\"X2\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Data are mapped to the primary X (bottom) axis.\",\"@ToolTip2\":\"Data are mapped to the the secondary X2 (top) axis.\"}},{\"StatementOptionName\":\"YAXIS=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies whether data are mapped to the primary Y (left) axis or to the secondary Y2 (right) axis. \\n\\nDefault: Y\\n\\nInteraction: The overall plot specification and the layout type determine the axis display.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"Y\",\"@Value2\":\"Y2\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Data are mapped to the primary Y (left) axis.\",\"@ToolTip2\":\"Data are mapped to the secondary Y2 (right) axis.\"}}]}},{\"StatementName\":\"BIHISTOGRAM3DPARM\",\"StatementHelp\":{\"#cdata\":\"Syntax: BIHISTOGRAM3DPARM X= numeric-column | expression\\n      Y= numeric-column | expression\\n      Z= non-negative-numeric-column | expression </ option(s)> ; \\n      \\nCreates a 3D bivariate histogram of three variables X, Y, and Z, where values of X and Y have \\nbeen gridded and the Z variable represents a response value for the frequency, percentage counts, \\nor densities of each bin combination.\"},\"StatementOptions\":{\"StatementOption\":[{\"StatementOptionName\":\"X=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: X=numeric-column | expression] \\n          \\nSpecifies the bin location of the numeric X values.\"},\"StatementOptionType\":\"RV\"},{\"StatementOptionName\":\"Y=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: Y=numeric-column | expression] \\n          \\nSpecifies the bin location of the numeric Y values.\"},\"StatementOptionType\":\"RV\"},{\"StatementOptionName\":\"Z=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: Z=numeric-column | expression] \\n          \\nSpecifies the response values, such as the frequency counts, percentages, or densities.\"},\"StatementOptionType\":\"RV\"},{\"StatementOptionName\":\"BINAXIS=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies whether to use bins as the basis for the X and Y axis tick marks. \\n\\nDefault: TRUE\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"FALSE\",\"@Value2\":\"TRUE\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Standard axes are used, ignoring bin boundaries and midpoints set by the ENDLABELS= option.\",\"@ToolTip2\":\"The ENDLABELS= option determines how the axis ticks and value labels are displayed. Some axis  options for the X- and Y-axes may not apply.\"}},{\"StatementOptionName\":\"DATATRANSPARENCY=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: DATATRANSPARENCY=number] \\n          \\nSpecifies the degree of the transparency of the bins. \\n\\nDefault: 0\\n\\nRange: 0 (opaque) to 1 (entirely transparent)\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"DISPLAY=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies whether to display outlined bins, filled bins, or outlined and filled bins.\\n\\nDefault: STANDARD \\n\\nTip: Use the OUTLINEATTRS= and FILLATTRS= options to control the appearance of the bins.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"STANDARD\",\"@Value2\":\"ALL\",\"@Value3\":\"<(display-options)>\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Displays filled bins with no outlines.\",\"@ToolTip2\":\"Displays outlined, filled bins.\",\"@ToolTip3\":\"A parenthesized list of options that must include at least one of the following:                                      OUTLINE  displays outlined bins.   FILL  displays filled bins.\"},\"SubOptionsKeywords\":\"OUTLINE|FILL\"},{\"StatementOptionName\":\"ENDLABELS=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies whether labels are drawn at the endpoints of the X bins and Y bins. \\n            \\nDefault: FALSE. Labels are drawn at the X bin and Y bin midpoints.\\n\\nInteraction: For this option to take effect, this plot must be the primary plot in the parent \\nOVERLAY3D layout.\\n\\nInteraction: This option is ignored if BINAXIS=FALSE. By default, BINAXIS=TRUE.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"FALSE\",\"@Value2\":\"TRUE\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Specifies that labels are not drawn at the endpoints of the X bins and Y bins.\",\"@ToolTip2\":\"Specifies that labels are drawn at the endpoints of the X bins and Y bins.\"}},{\"StatementOptionName\":\"FILLATTRS=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: FILLATTRS=style-element | style-element (fill-options) | (fill-options)] \\n          \\nSpecifies the appearance of the filled bins. \\n\\nWhen specifying the attributes for an area fill, the COLOR fill-option is the only option that \\nis currently available. The option must be enclosed in parentheses and specified as a name=value \\npair. The value may be a style-reference in the form style-element:style-attribute.\\n\\n  COLOR=style-reference | color \\n  specifies the fill color. If you use a style-reference, the style-attribute should be a valid \\n  attribute such as COLOR, CONTRASTCOLOR, STARTCOLOR, NEUTRAL, ENDCOLOR. The convention is to use \\n  the COLOR attribute for fill areas. If you use a color, SAS/GRAPH accepts color names, such as \\n  RED, or color codes, such as CXFF0000 or #FF0000. Color names must not exceed 64 characters. \\n  Color codes must not exceed 8 characters and must be in a valid SAS color-naming scheme, such \\n  as RGB, CMYK, HLS, or HSV (HSB).\\n\\nDefault: The GraphDataDefault style element.\"},\"StatementOptionType\":\"V\",\"SubOptionsKeywords\":\"COLOR=\"},{\"StatementOptionName\":\"LEGENDLABEL=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: LEGENDLABEL= \\\"string\\\"] \\n          \\nSpecifies a label for the legend. \\n\\nDefault: The string specified on the NAME= option.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"NAME=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: NAME=\\\"string\\\"] \\n          \\nAssigns a name to a plot statement for reference in other template statements. \\nDefault: no default\\n\\nRestriction: The string is case sensitive, cannot contain spaces, and must define a unique \\nname within the template.\\n\\nInteraction: The string is used as the default legend label if the LEGENDLABEL= option is not used.\\n\\nTip: The specified name is used primarily in legend statements to coordinate the use of colors \\nand line patterns between the graph and the legend.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"OUTLINEATTRS=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: OUTLINEATTRS=style-element | style-element (line-options) | (line-options)] \\n          \\nSpecifies the appearance of the bin outlines.\\nDefault: The GraphOutlines style element. \\n\\nThe available line-options can be any one or more of the following settings. The options must be \\nenclosed in parentheses, and each option is specified as a name=value pair:\\n\\n  COLOR=style-reference | color \\n  specifies the line color. If you use a style-reference, the style-attribute should be a valid \\n  attribute such as COLOR, CONTRASTCOLOR, STARTCOLOR, NEUTRAL, ENDCOLOR. The convention is to use \\n  CONTRASTCOLOR for lines. If you specify a style element that does not have a CONTRASTCOLOR attribute, \\n  the element's COLOR attribute is used. If you use a color, SAS/GRAPH accepts color names, such \\n  as RED, or color codes, such as CXFF0000 or #FF0000.\\n\\n  PATTERN=style-reference | line-pattern-name | line-pattern-number specifies the line pattern. \\n  If you use a style-reference, the style-attribute should be LINESTYLE. Line patterns can be \\n  specified as a pattern name or pattern number. Some valid pattern numbers: 1 (Solid), 2 (ShortDash), \\n  4 (MediumDash), 5 (LongDash) 8 (MediumDashShortDash) 14 (DashDashDot) 15 (DashDotDot) 20 (Dash) \\n  26 (LongDashShortDash) 34 (Dot) 35 (ThinDot) 41 (ShortDashDot) 42 (MediumDashDotDot). \\n  Not all pattern numbers have names.\\n\\n  THICKNESS=style-reference | dimension \\n  specifies the line thickness. If you use a style-reference, the style-attribute should be LINETHICKNESS.\"},\"StatementOptionType\":\"V\",\"SubOptionsKeywords\":\"COLOR=|PATTERN=|THICKNESS=\"},{\"StatementOptionName\":\"PRIMARY=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies that the data columns for this plot and the plot type be used for determining default \\naxis features. \\n\\nDefault: FALSE\\n\\nRestriction: This option is ignored if the plot is placed under a GRIDDED or LATTICE layout block.\\n\\nDetails: This option is needed only when two or more plots within an overlay-type layout contribute \\nto a common axis.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"FALSE\",\"@Value2\":\"TRUE\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Specifies that the data columns for this plot and the plot type not be used for determining default  axis features.\",\"@ToolTip2\":\"Specifies that the data columns for this plot and the plot type be used for determining default  axis features.\"}},{\"StatementOptionName\":\"XVALUES=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies whether the input X values represent midpoints, lower endpoints, or upper endpoints \\nof the bins. \\n\\nDefault: MIDPOINTS\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"MIDPOINTS\",\"@Value2\":\"LEFTPOINTS\",\"@Value3\":\"RIGHTPOINTS\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Specifies that the input X values represent midpoints of the bins.\",\"@ToolTip2\":\"Specifies that the input X values represent lower endpoints of the bins.\",\"@ToolTip3\":\"Specifies that the input X values represent upper endpoints of the bins.\"}},{\"StatementOptionName\":\"YVALUES=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies whether the input Y values represent midpoints, lower endpoints, or upper endpoints \\nof the bins. \\n\\nDefault: MIDPOINTS\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"MIDPOINTS\",\"@Value2\":\"LEFTPOINTS\",\"@Value3\":\"RIGHTPOINTS\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Specifies that the input Y values represent midpoints of the bins.\",\"@ToolTip2\":\"Specifies that the input Y values represent lower endpoints of the bins.\",\"@ToolTip3\":\"Specifies that the input Y values represent upper endpoints of the bins.\"}}]}},{\"StatementName\":\"BLOCKPLOT\",\"StatementHelp\":{\"#cdata\":\"Syntax: BLOCKPLOT X = column | expression\\n      BLOCK = column | expression </ option(s)> ; \\n      \\nCreates one or more strips of rectangular blocks containing text values. The width of each block \\ncorresponds to specified numeric intervals.\"},\"StatementOptions\":{\"StatementOption\":[{\"StatementOptionName\":\"X=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: X=column | expression] \\n          \\nSpecifies numeric X axis positions. When the X-axis is numeric and the specified column is numeric, \\nvalues are expected to be in sorted, ascending order. If the X-axis is discrete and the specified \\ncolumn is numeric, values are treated as numeric-discrete.\"},\"StatementOptionType\":\"RV\"},{\"StatementOptionName\":\"BLOCK=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: BLOCK=column | expression] \\n          \\nSpecifies a value for each X position. Numeric values are converted to text strings according \\nto an assigned format or BEST6.\"},\"StatementOptionType\":\"RV\"},{\"StatementOptionName\":\"ALTFILLATTRS=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: ALTFILLATTRS=style-element | style-element (fill-options) | (fill-options)] \\n          \\nSpecifies the appearance of alternate fills. \\n\\nWhen specifying the attributes for an area fill, the COLOR fill-option is the only option that \\nis currently available. The option must be enclosed in parentheses and specified as a name=value \\npair. The value may be a style-reference in the form style-element:style-attribute.\\n\\n  COLOR=style-reference | color \\n  specifies the fill color. If you use a style-reference, the style-attribute should be a valid \\n  attribute such as COLOR, CONTRASTCOLOR, STARTCOLOR, NEUTRAL, ENDCOLOR. The convention is to use \\n  the COLOR attribute for fill areas. If you use a color, SAS/GRAPH accepts color names, such as \\n  RED, or color codes, such as CXFF0000 or #FF0000. Color names must not exceed 64 characters. \\n  Color codes must not exceed 8 characters and must be in a valid SAS color-naming scheme, such \\n  as RGB, CMYK, HLS, or HSV (HSB).\\n\\nDefault: The GraphWalls style element.\\n\\nRequirement: FILLTYPE=ALTERNATE must set for this option to have any effect.\\n\\nInteraction: For this option to have any effect, the fill must be enabled by the ODS style \\nor the DISPLAY= option.\\n\\nInteraction: The FILLATTRS= option controls the fill color.\\n\\nTip: To make all block fill areas the same color, set the FILLATTRS= and ALTFILLATTRS= options \\nto the same value.\"},\"StatementOptionType\":\"V\",\"SubOptionsKeywords\":\"COLOR=\"},{\"StatementOptionName\":\"BLOCKINDEX=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: BLOCKINDEX=positive-integer-column | expression] \\n          \\nSpecifies indices for remapping the assignment of the color of the block fills. \\nDefault: no default\\n\\nRequirement: FILLTYPE=MULTICOLOR must set for this option to have any effect.\\n\\nInteraction: All of the indexes for a specific block value must be the same; otherwise, \\nthe results are unpredictable.\\n\\nInteraction: The index values are 1-based indices. For the style definitions in \\nGraphData1 - GraphDataN, if the index value is greater than N, then a modulo operation remaps \\nthat index value to a number less than N to determine which style element to use.\\n\\nInteraction: If this option is not used, then the color values are mapped in the order of \\nGraphData1 - GraphDataN.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"CLASS=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: CLASS=column | expression] \\n          \\nCreates a separate block plot for each unique value of the specified column or expression. \\nEach block plot is labeled externally by the class value. \\n\\nDefault: no default\\n\\nInteraction: The DISPLAY= option must include LABEL for any external labels to appear.\\n\\nInteraction: This option overrides the LABEL= option.\\n\\nTip: The font and color attributes for the external labels are specified by the LABELATTRS= option.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"DATATRANSPARENCY=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: DATATRANSPARENCY=number] \\n          \\nSpecifies the degree of the transparency of the block fill and outline. It does not affect block \\nvalues or label. \\n\\nDefault: 0\\n\\nRange: 0 (opaque) to 1 (entirely transparent)\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"DISPLAY=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies whether to display an outlined, a filled, or an outlined and filled block area. \\nValues and a label can also be added or suppressed. \\n\\nDefault: STANDARD \\n\\nTip: Use the OUTLINEATTRS=, FILLATTRS=, ALTFILLATTRS=, and BLOCKINDEX= options to control the appearance of the blocks.\\n\\nUse the VALUELATTRS= and LABELATTRS= options to control the text appearance.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"STANDARD\",\"@Value2\":\"ALL\",\"@Value3\":\"<(display-options)>\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"(1) Displays an outlined, filled block without text values or a label when used inside an overlay-type  layout (OUTLINE FILL). (2) displays an outlined, filled block with text values and a label when used  as a stand-alone plot inside a LATTICE or GRIDDED layout (OUTLINE FILL VALUES LABEL).\",\"@ToolTip2\":\"Displays all possible features.\",\"@ToolTip3\":\"A parenthesized list of options that must include at least one of the following:                                      OUTLINE  displays an outlined, non-filled block.   FILL  displays a filled, non-outlined block.   VALUES  displays internal block values.   LABEL  displays external block label(s).\"},\"SubOptionsKeywords\":\"OUTLINE|FILL|VALUES|LABEL\"},{\"StatementOptionName\":\"FILLATTRS=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: FILLATTRS=style-element | style-element (fill-options) | (fill-options)] \\n          \\nSpecifies the appearance of the block fills. \\n\\nWhen specifying the attributes for an area fill, the COLOR fill-option is the only option that \\nis currently available. The option must be enclosed in parentheses and specified as a name=value \\npair. The value may be a style-reference in the form style-element:style-attribute.\\n\\n  COLOR=style-reference | color \\n  specifies the fill color. If you use a style-reference, the style-attribute should be a valid \\n  attribute such as COLOR, CONTRASTCOLOR, STARTCOLOR, NEUTRAL, ENDCOLOR. The convention is to use \\n  the COLOR attribute for fill areas. If you use a color, SAS/GRAPH accepts color names, such as \\n  RED, or color codes, such as CXFF0000 or #FF0000. Color names must not exceed 64 characters. \\n  Color codes must not exceed 8 characters and must be in a valid SAS color-naming scheme, such \\n  as RGB, CMYK, HLS, or HSV (HSB).\\n\\nDefault: The GraphData1 style element.\\n\\nRequirement: FILLTYPE=ALTERNATE must set for this option to have any effect.\\n\\nInteraction: For this option to have any effect, the fill must be enabled by the ODS style \\nor the DISPLAY= option.\\n\\nInteraction: The ALTFILLATTRS= option controls the alternating fill color.\\n\\nTip: To make all block fill areas the same color, set the FILLATTRS= and ALTFILLATTRS= options \\nto the same value.\"},\"StatementOptionType\":\"V\",\"SubOptionsKeywords\":\"COLOR=\"},{\"StatementOptionName\":\"FILLTYPE=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies how the blocks are filled. \\n\\nDefault: MULTICOLOR\\n\\nInteraction: For this option to have any effect, the fill must be enabled by the ODS style \\nor the DISPLAY= option.\\n\\nInteraction: When this option is set to ALTERNATE, the blockplot does not support a discretelend entry.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"MULTICOLOR\",\"@Value2\":\"ALTERNATE\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Blocks are filled with the COLOR attribute of the style elements GraphData1 - GraphDataN or the  style elements indicated by the BLOCKINDEX= column.\",\"@ToolTip2\":\"Blocks are filled alternating between the colors specified by the FILLATTRS= and ALTFILLATTRS= options.\"}},{\"StatementOptionName\":\"LABEL=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: LABEL=\\\"string\\\"] \\n          \\nSpecifies an external label for a single block plot. \\nDefault:\\n\\n  o The variable label of the BLOCK= column. \\n  o The variable name of the BLOCK= column, if there is no variable label. \\n\\nInteraction: If the CLASS= option is specified, this option is ignored.\\n\\nInteraction: The DISPLAY= option must include LABEL for any external label(s) to appear.\\n\\nTip: The font and color attributes for the external label are specified by the LABELATTRS= option.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"LABELATTRS=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: LABELATTRS=style-element | style-element (text-options) | (text-options)] \\n          \\nSpecifies the color and font attributes of the external block label(s). \\nDefault: The GraphLabelText style element. \\n\\nThe available text-options can be any one or more of the following settings. The options must be \\nenclosed in parentheses, and each option is specified as a name=value pair. In all cases, the \\nvalue may be a style-reference in the form style-element:style-attribute .\\n\\n  COLOR=style-reference | color \\n  specifies the color of the text. If you use a style-reference, the style-attribute should be a valid \\n  attribute such as COLOR, CONTRASTCOLOR, STARTCOLOR, NEUTRAL, ENDCOLOR. The convention is to use COLOR \\n  for text. If you use a color, SAS/GRAPH accepts color names, such as RED, or color codes, such as \\n  CXFF0000 or #FF0000. Color names must not exceed 64 characters. Color codes must not exceed 8 characters \\n  and must be in a valid SAS color-naming scheme, such as RGB, CMYK, HLS, or HSV (HSB).\\n\\n  FAMILY =style-reference | \\\"string\\\" \\n  specifies the font family of the text. If you use a style-reference, the style-attribute should be FONTFAMILY. \\n\\n  SIZE=style-reference | dimension \\n  specifies the font size of the text. If you use a style-reference, the style-attribute should be FONTSIZE. \\n\\n  STYLE=style-reference | NORMAL | ITALIC \\n  specifies the font style of the text. If you use a style-reference, the style-attribute should be FONTSTYLE. \\n\\n  WEIGHT=style-reference | NORMAL | BOLD \\n  specifies the font weight of the text. If you use a style-reference, the style-attribute should be FONTWEIGHT.\"},\"StatementOptionType\":\"V\",\"SubOptionsKeywords\":\"COLOR=|FAMILY=|SIZE=|STYLE=|WEIGHT=\"},{\"StatementOptionName\":\"LABELPOSITION=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies the alignment of BLOCK label. \\n\\nDefault: LEFT\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"LEFT\",\"@Value2\":\"RIGHT\",\"@Value3\":\"TOP\",\"@Value4\":\"BOTTOM\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Places the label to the left of the strip of block values.\",\"@ToolTip2\":\"Places the label to the right of the strip of block values.\",\"@ToolTip3\":\"Places the label above the strip of block values.\",\"@ToolTip4\":\"Places the label below the strip of block values.\"}},{\"StatementOptionName\":\"NAME=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: NAME=\\\"string\\\"] \\n          \\nAssigns a name to a plot statement for reference in other template statements. \\nDefault: no default\\n\\nRestriction: The string is case sensitive, cannot contain spaces, and must define a unique \\nname within the template.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"OUTLINEATTRS=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: OUTLINEATTRS=style-element | style-element (line-options) | (line-options)] \\n          \\nSpecifies the appearance of the block outlines. \\n\\nThe available line-options can be any one or more of the following settings. The options must be \\nenclosed in parentheses, and each option is specified as a name=value pair:\\n\\n  COLOR=style-reference | color \\n  specifies the line color. If you use a style-reference, the style-attribute should be a valid \\n  attribute such as COLOR, CONTRASTCOLOR, STARTCOLOR, NEUTRAL, ENDCOLOR. The convention is to use \\n  CONTRASTCOLOR for lines. If you specify a style element that does not have a CONTRASTCOLOR attribute, \\n  the element's COLOR attribute is used. If you use a color, SAS/GRAPH accepts color names, such \\n  as RED, or color codes, such as CXFF0000 or #FF0000.\\n\\n  PATTERN=style-reference | line-pattern-name | line-pattern-number specifies the line pattern. \\n  If you use a style-reference, the style-attribute should be LINESTYLE. Line patterns can be \\n  specified as a pattern name or pattern number. Some valid pattern numbers: 1 (Solid), 2 (ShortDash), \\n  4 (MediumDash), 5 (LongDash) 8 (MediumDashShortDash) 14 (DashDashDot) 15 (DashDotDot) 20 (Dash) \\n  26 (LongDashShortDash) 34 (Dot) 35 (ThinDot) 41 (ShortDashDot) 42 (MediumDashDotDot). \\n  Not all pattern numbers have names.. \\n\\n  THICKNESS=style-reference | dimension \\n  specifies the line thickness. If you use a style-reference, the style-attribute should be LINETHICKNESS.\\n\\nDefault: The GraphOutlines style element.\\n\\nInteraction: For this option to have any effect, the outlines must be enabled by the ODS style\\nor the DISPLAY= option.\\n\\nInteraction: If labels are displayed in the TOP or BOTTOM position, they will be outlined also.\"},\"StatementOptionType\":\"V\",\"SubOptionsKeywords\":\"COLOR=|PATTERN=|THICKNESS=\"},{\"StatementOptionName\":\"REPEATEDVALUES=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies whether contiguous block values that are identical create separate blocks. \\n\\nDefault: FALSE\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"FALSE\",\"@Value2\":\"TRUE\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"If two or more identical block values appear consecutively, only one block is created for them.\",\"@ToolTip2\":\"If two or more identical block values appear consecutively, a separate block is created for each of them.\"}},{\"StatementOptionName\":\"VALUEATTRS=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: VALUEATTRS=style-element | style-element (text-options) | (text-options)] \\n          \\nSpecifies the appearance of the text values. \\n\\nDefault: The GraphValueText style element.\\n\\nstyle-element \\n    Name of a style element. Only style attributes relevant for rendering the fill, line, data marker, or text will be used.\\n\\nstyle-element (text-options) \\n    Name of a style element, plus individual options to be used as style overrides. Any options not specified are derived\\n    from the specified style-element.\\n\\n(text-options) \\nCOLOR=style-reference | color \\n    specifies the color of the text. If you use a style-reference, the style-attribute should be a valid\\n    attribute such as COLOR, CONTRASTCOLOR, STARTCOLOR, NEUTRAL, ENDCOLOR. The convention is to use COLOR for text.\\n\\nFAMILY =style-reference | \\\"string\\\" \\n    specifies the font family of the text. If you use a style-reference, the style-attribute should be FONTFAMILY.\\n\\nSIZE=style-reference | dimension \\n    specifies the font size of the text. If you use a style-reference, the style-attribute should be FONTSIZE. \\n\\nSTYLE=style-reference | NORMAL | ITALIC \\n    specifies the font style of the text. If you use a style-reference, the style-attribute should be FONTSTYLE. \\n\\nWEIGHT=style-reference | NORMAL | BOLD \\n    specifies the font weight of the text. If you use a style-reference, the style-attribute should be FONTWEIGHT.\"},\"StatementOptionType\":\"V\",\"SubOptionsKeywords\":\"COLOR=|FAMILY=|SIZE=|STYLE=|WEIGHT=\"},{\"StatementOptionName\":\"VALUEFITPOLICY=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies how text values are adjusted to fit within the containing block. \\n\\nDefault: TRUNCATE\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"TRUNCATE\",\"@Value2\":\"SHRINK\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Any value that does not fit is truncated. For a numeric column, an asterisk (*) is substituted for  the entire value whenever truncation occurs. For a character column, the truncated portion of the  text is replaced by an ellipsis (...).\",\"@ToolTip2\":\"All values are reduced in font size until they all fit.\"}},{\"StatementOptionName\":\"VALUEHALIGN=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies the horizontal alignment of the text within the blocks. \\n\\nDefault: LEFT \\n\\nInteraction: For this option to have any effect, the DISPLAY= option must include VALUE.\\n\\nInteraction: When REPEATEDVALUES=TRUE and X values are numeric, only CENTER and START can be used \\nfor a discrete axis, and only LEFT and START can be used for a linear or log axis. For example, \\nif REPEATEDVALUES=TRUE and the axis is discrete, a setting of RIGHT for this option will be ignored \\nand LEFT will be used instead.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"LEFT\",\"@Value2\":\"CENTER\",\"@Value3\":\"RIGHT\",\"@Value4\":\"START\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Left-aligned within the block.\",\"@ToolTip2\":\"Center-aligned within the block.\",\"@ToolTip3\":\"Right-aligned within the block.\",\"@ToolTip4\":\"Center-aligned at the starting value of the block.\"}},{\"StatementOptionName\":\"VALUEVALIGN=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies the vertical alignment of the text within the blocks. \\n\\nDefault: CENTER\\n\\nInteraction: For this option to have any effect, the DISPLAY= option must include VALUE.\\n\\nTip: If the DISPLAY= option also includes LABEL, the label has the same vertical alignment.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"TOP\",\"@Value2\":\"CENTER\",\"@Value3\":\"BOTTOM\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Top-aligned within the block\",\"@ToolTip2\":\"Center-aligned within the block\",\"@ToolTip3\":\"Bottom-aligned within the block\"}},{\"StatementOptionName\":\"XAXIS=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies whether data are mapped to the primary X (bottom) axis or to the secondary X2 (top) axis. \\n\\nDefault: X\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"X\",\"@Value2\":\"X2\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Specifies that data are mapped to the primary X (bottom) axis.\",\"@ToolTip2\":\"Specifies that data are mapped to the secondary X2 (top) axis.\"}}]}},{\"StatementName\":\"BOXPLOT\",\"StatementHelp\":{\"#cdata\":\"Syntax: BOXPLOT Y= numeric-column | expression < / option(s)> ; \\n\\nBOXPLOT X= column | expression\\n      Y= numeric-column | expression < / option(s)> ; \\n\\nCreates box-and-whisker plot(s) computed from input data.\"},\"StatementOptions\":{\"StatementOption\":[{\"StatementOptionName\":\"X=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: X=numeric-column | expression] \\n          \\nSpecifies the column for the X values. This column is used to create a boxplot for each unique \\nX value and is optional.\"},\"StatementOptionType\":\"RV\"},{\"StatementOptionName\":\"Y=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: Y=numeric-column | expression] \\n          \\nSpecifies the column for the Y values. This argument is required.\"},\"StatementOptionType\":\"RV\"},{\"StatementOptionName\":\"BOXWIDTH=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: BOXWIDTH=number] \\n          \\nSpecifies the width of a box as a ratio of the maximum possible width. \\nDefault: .4\\n\\nRange: 0 (narrowest) to 1 (widest)\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"CAPSHAPE=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies the shape at the ends of the whiskers. \\n\\nDefault: The GraphBox:CapStyle style reference. \\n\\nInteraction: The cap color and the thickness are specified by the WHISKERATTRS= option. \\nThe cap pattern is always solid.\\n\\nInteraction: The DISPLAY= option must include CAPS for cap lines to be shown.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"SERIF\",\"@Value2\":\"LINE\",\"@Value3\":\"BRACKET\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Specifies a short line perpendicular to the whisker.\",\"@ToolTip2\":\"Specifies a line perpendicular to whisker extending the width of the box.\",\"@ToolTip3\":\"Specifies a line perpendicular to the whisker extending the width of the box with short extensions  at the ends drawn in the direction of the box.\"}},{\"StatementOptionName\":\"CONNECT=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies that a connect line joins a statistic from box to box. \\n\\nDefault: The GraphBox:Connect style reference.\\n\\nRequirement: The DISPLAY= option must contain the CONNECT suboption for the connect line to be displayed.\\n\\nInteraction: This option only applies when the X argument is used to generate multiple boxes.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"MEAN\",\"@Value2\":\"MEDIAN\",\"@Value3\":\"Q1\",\"@Value4\":\"Q3\",\"@Value5\":\"MIN\",\"@Value6\":\"MAX\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Specifies that a connect line joins mean statistic from box to box.\",\"@ToolTip2\":\"Specifies that a connect line joins median statistic from box to box.\",\"@ToolTip3\":\"Specifies that a connect line joins lower quartile statistic from box to box.\",\"@ToolTip4\":\"Specifies that a connect line joins upper quartile statistic from box to box.\",\"@ToolTip5\":\"Specifies that a connect line joins min statistic from box to box.\",\"@ToolTip6\":\"Specifies that a connect line joins max statistic from box to box.\"}},{\"StatementOptionName\":\"CONNECTATTRS=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: CONNECTATTRS=style-element | style-element (line-options) | (line-options)] \\n          \\nSpecifies the attributes of the lines connecting multiple boxes. \\nDefault: The GraphConnectLine style element. \\n\\nThe available line-options can be any one or more of the following settings. The options must be \\nenclosed in parentheses, and each option is specified as a name=value pair:\\n\\n  COLOR=style-reference | color \\n  specifies the line color. If you use a style-reference, the style-attribute should be a valid \\n  attribute such as COLOR, CONTRASTCOLOR, STARTCOLOR, NEUTRAL, ENDCOLOR. The convention is to use \\n  CONTRASTCOLOR for lines. If you specify a style element that does not have a CONTRASTCOLOR attribute, \\n  the element's COLOR attribute is used. If you use a color, SAS/GRAPH accepts color names, such \\n  as RED, or color codes, such as CXFF0000 or #FF0000.\\n\\n  PATTERN=style-reference | line-pattern-name | line-pattern-number specifies the line pattern. \\n  If you use a style-reference, the style-attribute should be LINESTYLE. Line patterns can be \\n  specified as a pattern name or pattern number. Some valid pattern numbers: 1 (Solid), 2 (ShortDash), \\n  4 (MediumDash), 5 (LongDash) 8 (MediumDashShortDash) 14 (DashDashDot) 15 (DashDotDot) 20 (Dash) \\n  26 (LongDashShortDash) 34 (Dot) 35 (ThinDot) 41 (ShortDashDot) 42 (MediumDashDotDot). \\n  Not all pattern numbers have names.\\n\\n  THICKNESS=style-reference | dimension \\n  specifies the line thickness. If you use a style-reference, the style-attribute should be LINETHICKNESS. \\n  \\nInteraction: If there is only one box, this option is ignored.\"},\"StatementOptionType\":\"V\",\"SubOptionsKeywords\":\"COLOR=|PATTERN=|THICKNESS=\"},{\"StatementOptionName\":\"DATATRANSPARENCY=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: DATATRANSPARENCY=number] \\n          \\nSpecifies the degree of the transparency of the box outlines, box fill, whiskers, mean, median, \\ncaps, connect lines, and outliers, if displayed. \\n\\nDefault: 0\\n\\nRange: 0 (opaque) to 1 (entirely transparent).\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"DISPLAY=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies which additional features of the box plot to display. \\n\\nDefault: The GraphBox:DisplayOpts style reference. If this style element does not exist, the default is STANDARD.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"STANDARD\",\"@Value2\":\"ALL\",\"@Value3\":\"<(display-options)>\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Displays this combination of features (CAPS FILL MEAN MEDIAN OUTLIERS).\",\"@ToolTip2\":\"Displays all features.\",\"@ToolTip3\":\"A parenthesized list of features to be displayed. The list may include any of the following:                                      CAPS  displays caps at the ends of the whiskers   CONNECT  displays the line connecting multiple boxes   FILL  displays filled boxes   MEAN  displays the mean symbol within the box   MEDIAN  displays the median line within the box   NOTCHES  displays notched boxes   OUTLIERS  displays markers for the outliers\"},\"SubOptionsKeywords\":\"OUTLINE|FILL|CONNECT|MEAN|MEDIAN|NOTCHES|OUTLIERS\"},{\"StatementOptionName\":\"EXTREME=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies whether the whiskers can extend beyond the fences. \\n\\nDefault: FALSE\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"FALSE\",\"@Value2\":\"TRUE\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Specifies that whiskers be drawn from the upper edge of the box to the largest value within the  upper fence, and from the lower edge of the box to the smallest value within the lower fence.  This representation is sometime called a schematic box and whisker plot or Tukey box and whisker plot.\",\"@ToolTip2\":\"Specifies that whiskers be drawn to the largest and smallest data values, whether these values are  inside or outside the fences. The outliers and far outliers are not displayed and are not labeled.  This representation is sometime called a skeletal box and whisker plot.\"}},{\"StatementOptionName\":\"FILLATTRS=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: FILLATTRS=style-element | style-element (fill-options) | (fill-options)] \\n          \\nSpecifies the appearance of the interior fill area of the boxes. \\n\\nWhen specifying the attributes for an area fill, the COLOR fill-option is the only option that \\nis currently available. The option must be enclosed in parentheses and specified as a name=value \\npair. The value may be a style-reference in the form style-element:style-attribute.\\n\\n  COLOR=style-reference | color \\n  specifies the fill color. If you use a style-reference, the style-attribute should be a valid \\n  attribute such as COLOR, CONTRASTCOLOR, STARTCOLOR, NEUTRAL, ENDCOLOR. The convention is to use \\n  the COLOR attribute for fill areas. If you use a color, SAS/GRAPH accepts color names, such as \\n  RED, or color codes, such as CXFF0000 or #FF0000. Color names must not exceed 64 characters. \\n  Color codes must not exceed 8 characters and must be in a valid SAS color-naming scheme, such \\n  as RGB, CMYK, HLS, or HSV (HSB).\\n\\nDefault: The GraphDataDefault style element.\\n\\nInteraction: For this option to have any effect, the fill must be enabled by the ODS style or the \\nDISPLAY= option.\"},\"StatementOptionType\":\"V\",\"SubOptionsKeywords\":\"COLOR=\"},{\"StatementOptionName\":\"FREQ=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: FREQ=numeric-column | expression] \\n          \\nSpecifies a numeric column that provides frequencies for each observation read. If n is the \\nvalue of the numeric-column for a given observation, then that observation is used n times \\nfor any statistical computation. \\n\\nDefault: Each observation is counted once.\\n\\nRestriction: If the value of the numeric-column is missing or is less than 1, the observation \\nis not used in the analysis. If the value is not an integer, only the integer portion is used.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"LABELFAR=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies whether all outliers or only far outliers are labeled. \\n\\nDefault: FALSE \\n\\nInteraction: This option is ignored if EXTREME=TRUE or the DISPLAY= option does not display the outliers.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"FALSE\",\"@Value2\":\"TRUE\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"The labels specified by the DATALABEL= option apply to both outliers and far outliers.\",\"@ToolTip2\":\"The labels specified by the DATALABEL= option only apply to far outliers.\"}},{\"StatementOptionName\":\"LEGENDLABEL=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: LEGENDLABEL=\\\"string\\\"] \\n          \\nSpecifies a label for use in a legend. \\n\\nDefault: The string specified on the NAME= option.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"MEANATTRS=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: MEANATTRS=style-element | style-element (marker-options) | (marker-options)] \\n          \\nSpecifies the appearance of the marker representing the mean within the box. \\n\\nWhen specifying the attributes for a data marker, the available marker-options can be any one \\nor more of the following settings. The options must be enclosed in parentheses, and each option \\nis specified as a name=value pair. In all cases, the value may be a style-reference in the form \\nstyle-element:style-attribute:\\n\\n  COLOR=style-reference | color \\n  specifies the color of the marker. If you use a style-reference, the style-attribute should be a \\n  valid attribute such as COLOR, CONTRASTCOLOR, STARTCOLOR, NEUTRAL, ENDCOLOR. The convention is to \\n  use CONTRASTCOLOR for markers. For grouped data, this option keeps all markers the same color and \\n  the marker symbol alone distinguishes the group values. If you use a color, SAS/GRAPH accepts color \\n  names, such as RED, or color codes, such as CXFF0000 or #FF0000. Color names must not exceed 64 characters. \\n  Color codes must not exceed 8 characters and must be in a valid SAS color-naming scheme, such as RGB, \\n  CMYK, HLS, or HSV (HSB).\\n\\n  SIZE=style-reference | dimension \\n  specifies the marker size (both width and height). If you use a style-reference, the style-attribute \\n  should be MARKERSIZE. \\n\\n  SYMBOL=style-reference | marker-name \\n  specifies the name of the marker. If you use a style-reference, the style-attribute should be MARKERSYMBOL.\\n\\n  WEIGHT=NORMAL | BOLD \\n  specifies the marker weight.\\n\\nDefault: The GraphBoxMean style element.\\n\\nInteraction: This option is ignored if the DISPLAY= option does not display the median.\"},\"StatementOptionType\":\"V\",\"SubOptionsKeywords\":\"COLOR=|SIZE=|SYMBOL=|WEIGHT=\"},{\"StatementOptionName\":\"MEDIANATTRS=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: MEDIANATTRS=style-element | style-element (line-options) | (line-options)] \\n          \\nSpecifies the appearance of the line representing the median within the box. \\nDefault: The GraphBoxMedian style element.\\n\\nInteraction: This option is ignored if the DISPLAY= option does not display the median. \\n\\nThe available line-options can be any one or more of the following settings. The options must be \\nenclosed in parentheses, and each option is specified as a name=value pair:\\n\\n  COLOR=style-reference | color \\n  specifies the line color. If you use a style-reference, the style-attribute should be a valid \\n  attribute such as COLOR, CONTRASTCOLOR, STARTCOLOR, NEUTRAL, ENDCOLOR. The convention is to use \\n  CONTRASTCOLOR for lines. If you specify a style element that does not have a CONTRASTCOLOR attribute, \\n  the element's COLOR attribute is used. If you use a color, SAS/GRAPH accepts color names, such \\n  as RED, or color codes, such as CXFF0000 or #FF0000.\\n\\n  PATTERN=style-reference | line-pattern-name | line-pattern-number specifies the line pattern. \\n  If you use a style-reference, the style-attribute should be LINESTYLE. Line patterns can be \\n  specified as a pattern name or pattern number. Some valid pattern numbers: 1 (Solid), 2 (ShortDash), \\n  4 (MediumDash), 5 (LongDash) 8 (MediumDashShortDash) 14 (DashDashDot) 15 (DashDotDot) 20 (Dash) \\n  26 (LongDashShortDash) 34 (Dot) 35 (ThinDot) 41 (ShortDashDot) 42 (MediumDashDotDot). \\n  Not all pattern numbers have names.\\n  THICKNESS=style-reference | dimension \\n  specifies the line thickness. If you use a style-reference, the style-attribute should be LINETHICKNESS. \\n  \\nInteraction: If there is only one box, this option is ignored.\"},\"StatementOptionType\":\"V\",\"SubOptionsKeywords\":\"COLOR=|PATTERN=|THICKNESS=\"},{\"StatementOptionName\":\"NAME=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: NAME=\\\"string\\\"] \\n          \\nAssigns a name to a plot statement for reference in other template statements. \\nDefault: no default\\n\\nRestriction: The string is case sensitive, cannot contain spaces, and must define a unique \\nname within the template.\\n\\nInteraction: The string is used as the default legend label if the LEGENDLABEL= option is not used.\\n\\nTip: The specified name is used primarily in legend statements to coordinate the use of colors \\nand line patterns between the graph and the legend.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"ORIENT=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies the orientation of the Y axis and of the boxes. \\n\\nDefault: VERTICAL\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"VERTICAL\",\"@Value2\":\"HORIZONTAL\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Specifies a vertical orientation for the Y axis and of the boxes.\",\"@ToolTip2\":\"Specifies a horizontal orientation for the Y axis and of the boxes.\"}},{\"StatementOptionName\":\"OUTLIERATTRS=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: OUTLIERATTRS=style-element | style-element (marker-options) | (marker-options)] \\n          \\nSpecifies the attributes of the markers representing the outliers. \\n\\nWhen specifying the attributes for a data marker, the available marker-options can be any one \\nor more of the following settings. The options must be enclosed in parentheses, and each option \\nis specified as a name=value pair. In all cases, the value may be a style-reference in the form \\nstyle-element:style-attribute:\\n\\n  COLOR=style-reference | color \\n  specifies the color of the marker. If you use a style-reference, the style-attribute should be a \\n  valid attribute such as COLOR, CONTRASTCOLOR, STARTCOLOR, NEUTRAL, ENDCOLOR. The convention is to \\n  use CONTRASTCOLOR for markers. For grouped data, this option keeps all markers the same color and \\n  the marker symbol alone distinguishes the group values. If you use a color, SAS/GRAPH accepts color \\n  names, such as RED, or color codes, such as CXFF0000 or #FF0000. Color names must not exceed 64 characters. \\n  Color codes must not exceed 8 characters and must be in a valid SAS color-naming scheme, such as RGB, \\n  CMYK, HLS, or HSV (HSB).\\n\\n  SIZE=style-reference | dimension \\n  specifies the marker size (both width and height). If you use a style-reference, the style-attribute \\n  should be MARKERSIZE. \\n\\n  SYMBOL=style-reference | marker-name \\n  specifies the name of the marker. If you use a style-reference, the style-attribute should be MARKERSYMBOL.\\n\\n  WEIGHT=NORMAL | BOLD \\n  specifies the marker weight.\\n\\nDefault: The GraphOutlier style element.\\n\\nInteraction: This option is ignored if EXTREME=TRUE or the DISPLAY= option does not display the outliers.\"},\"StatementOptionType\":\"V\",\"SubOptionsKeywords\":\"COLOR=|SIZE=|SYMBOL=|WEIGHT=\"},{\"StatementOptionName\":\"OUTLINEATTRS=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: OUTLINEATTRS=style-element | style-element (line-options) | (line-options)] \\n          \\nSpecifies the appearance of the box outlines. \\n\\nThe available line-options can be any one or more of the following settings. The options must be \\nenclosed in parentheses, and each option is specified as a name=value pair:\\n\\n  COLOR=style-reference | color \\n  specifies the line color. If you use a style-reference, the style-attribute should be a valid \\n  attribute such as COLOR, CONTRASTCOLOR, STARTCOLOR, NEUTRAL, ENDCOLOR. The convention is to use \\n  CONTRASTCOLOR for lines. If you specify a style element that does not have a CONTRASTCOLOR attribute, \\n  the element's COLOR attribute is used. If you use a color, SAS/GRAPH accepts color names, such \\n  as RED, or color codes, such as CXFF0000 or #FF0000.\\n\\n  PATTERN=style-reference | line-pattern-name | line-pattern-number specifies the line pattern. \\n  If you use a style-reference, the style-attribute should be LINESTYLE. Line patterns can be specified \\n  as a pattern name or pattern number. Some valid pattern numbers: 1 (Solid), 2 (ShortDash), 4 (MediumDash), \\n  5 (LongDash) 8 (MediumDashShortDash)   14 (DashDashDot) 15 (DashDotDot) 20 (Dash) 26 (LongDashShortDash) \\n  34 (Dot) 35 (ThinDot) 41 (ShortDashDot) 42 (MediumDashDotDot). Not all pattern numbers have names.\\n\\n  THICKNESS=style-reference | dimension \\n  specifies the line thickness. If you use a style-reference, the style-attribute should be LINETHICKNESS.\\n\\nDefault: The GraphOutlines style element.\"},\"StatementOptionType\":\"V\",\"SubOptionsKeywords\":\"COLOR=|PATTERN=|THICKNESS=\"},{\"StatementOptionName\":\"PERCENTILE=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies one of five definitions used to calculate percentiles. \\n\\nDefault: 5 (empirical distribution function with averaging)\\n\\nTip: The percentile definitions and default are the same as used by PCTLDEF= option of PROC UNIVARIATE \\nor the QNTLDEF= option of PROC SUMMARY.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"1\",\"@Value2\":\"2\",\"@Value3\":\"3\",\"@Value4\":\"4\",\"@Value5\":\"5\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Calculates the percentiles with a weighted average at Xnp.\",\"@ToolTip2\":\"Calculates the percentiles with observation numbered closest to np.\",\"@ToolTip3\":\"Calculates the percentiles with an empirical distribution function.\",\"@ToolTip4\":\"Calculates the percentiles with a weighted average aimed at X(n+1)p\",\"@ToolTip5\":\"Calculates the percentiles with an empirical distribution function with averaging.\"}},{\"StatementOptionName\":\"PRIMARY=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies that the data columns for this plot and the plot type be used for determining default \\naxis features. \\n\\nDefault: FALSE\\n\\nRestriction: This option is ignored if the plot is placed under a GRIDDED or LATTICE layout block.\\n\\nDetails: This option is needed only when two or more plots within an overlay-type layout contribute to a common axis.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"FALSE\",\"@Value2\":\"TRUE\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Specifies that the data columns for this plot and the plot type not be used for determining default  axis features.\",\"@ToolTip2\":\"Specifies that the data columns for this plot and the plot type be used for determining default  axis features.\"}},{\"StatementOptionName\":\"SPREAD=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies whether outliers with the same value are spread out to avoid overlap. For vertical boxplots \\nthis means offsetting the outliers horizontally. If this option is false, outliers with the same value \\nare plotted in the same position; thus, only one is visible \\n\\nDefault: FALSE \\n\\nInteraction: This option is ignored if EXTREME=TRUE or the DISPLAY= option does not display the outliers.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"FALSE\",\"@Value2\":\"TRUE\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Specifies that outliers with the same value are not spread out.\",\"@ToolTip2\":\"Specifies that outliers with the same value are spread out to avoid overlap.\"}},{\"StatementOptionName\":\"WHISKERATTRS=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: WHISKERATTRS=style-element | style-element (line-options) | (line-options)] \\n          \\nSpecifies the line properties of the whiskers and caps. \\nDefault: The GraphBoxWhisker style element. \\n\\nThe available line-options can be any one or more of the following settings. The options must be \\nenclosed in parentheses, and each option is specified as a name=value pair:\\n\\n  COLOR=style-reference | color \\n  specifies the line color. If you use a style-reference, the style-attribute should be a valid \\n  attribute such as COLOR, CONTRASTCOLOR, STARTCOLOR, NEUTRAL, ENDCOLOR. The convention is to use \\n  CONTRASTCOLOR for lines. If you specify a style element that does not have a CONTRASTCOLOR attribute, \\n  the element's COLOR attribute is used. If you use a color, SAS/GRAPH accepts color names, such \\n  as RED, or color codes, such as CXFF0000 or #FF0000.\\n\\n  PATTERN=style-reference | line-pattern-name | line-pattern-number specifies the line pattern. \\n  If you use a style-reference, the style-attribute should be LINESTYLE. Line patterns can be specified \\n  as a pattern name or pattern number. Some valid pattern numbers: 1 (Solid), 2 (ShortDash), 4 (MediumDash), \\n  5 (LongDash) 8 (MediumDashShortDash)   14 (DashDashDot) 15 (DashDotDot) 20 (Dash) 26 (LongDashShortDash) \\n  34 (Dot) 35 (ThinDot) 41 (ShortDashDot) 42 (MediumDashDotDot). Not all pattern numbers have names.\\n\\n  THICKNESS=style-reference | dimension \\n  specifies the line thickness. If you use a style-reference, the style-attribute should be LINETHICKNESS.\"},\"StatementOptionType\":\"V\",\"SubOptionsKeywords\":\"COLOR=|PATTERN=|THICKNESS=\"},{\"StatementOptionName\":\"XAXIS=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies whether data are mapped to the primary X (bottom) axis or to the secondary X2 (top) axis. \\n\\nDefault: X\\n\\nInteraction: The overall plot specification and the layout type determine the axis display.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"X\",\"@Value2\":\"X2\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Data are mapped to the primary X (bottom) axis.\",\"@ToolTip2\":\"Data are mapped to the the secondary X2 (top) axis.\"}},{\"StatementOptionName\":\"YAXIS=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies whether data are mapped to the primary Y (left) axis or to the secondary Y2 (right) axis. \\n\\nDefault: Y\\n\\nInteraction: The overall plot specification and the layout type determine the axis display.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"Y\",\"@Value2\":\"Y2\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Data are mapped to the primary Y (left) axis.\",\"@ToolTip2\":\"Data are mapped to the secondary Y2 (right) axis.\"}}]}},{\"StatementName\":\"BOXPLOTPARM\",\"StatementHelp\":{\"#cdata\":\"Syntax: BOXPLOTPARM Y= numeric-column | expression\\n      STAT= string-column </ option(s)> ; \\n\\nBOXPLOTPARM X= column | expression\\n      Y= numeric-column | expression\\n      STAT= string-column </ option(s)> ; \\n\\nCreates side-by-side box-and-whisker plots specified by parameters.\"},\"StatementOptions\":{\"StatementOption\":[{\"StatementOptionName\":\"X=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: X=column | expression] \\n          \\nSpecifies the column for the Y values. The Y values must be the statistical values needed for the \\nbox plot. At a minimum, there must be non-missing values for the 25th and 75th percentiles.\"},\"StatementOptionType\":\"RV\"},{\"StatementOptionName\":\"Y=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: Y=column | expression] \\n          \\nSpecifies the column for the X values. The X values must qualify or classify the values in the \\nY column. This optional argument is used to create a plot box for each classifier.\"},\"StatementOptionType\":\"RV\"},{\"StatementOptionName\":\"STAT=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies the statistic that is represented by the value in the Y column.\"},\"StatementOptionType\":\"RV\",\"StatementOptionValues\":{\"@Value1\":\"Q1\",\"@Value2\":\"Q3\",\"@Value3\":\"MAX\",\"@Value4\":\"MIN\",\"@Value5\":\"MEAN\",\"@Value6\":\"MEDIAN\",\"@Value7\":\"OUTLIER\",\"@Value8\":\"FAROUTLIER\",\"@Value9\":\"N\",\"@Value10\":\"STD\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"1st quartile (25th percentile). The data must contain a non-missing value for this quartile.\",\"@ToolTip2\":\"3rd quartile (75th percentile). The data must contain a non-missing value for this quartile.\",\"@ToolTip3\":\"Maximum data value less than or equal to the upper fence.\",\"@ToolTip4\":\"Minimum data value greater than or equal to the lower fence.\",\"@ToolTip5\":\"Data mean.\",\"@ToolTip6\":\"Data median.\",\"@ToolTip7\":\"An observation outside the lower and upper fences. The fences are located at a distance 1.5 times  the Interquartile Range (IQR = Q3 - Q1) above and below the box. The outliers are labeled when  the DATALABEL= option is used.\",\"@ToolTip8\":\"An observation outside the lower and upper far fences. The far fences are located at a distance 3 times the Interquartile Range (IQR = Q3 - Q1) above and below the box. The far outliers are  labeled when the DATALABEL= option is used. Specify that LABELFAR=TRUE to label only the far  outliers but not the outliers.\",\"@ToolTip9\":\"Subgroup sample size. The N value is not shown in the plot but is used to calculate notch locations  when the DISPLAY= option displays notches.\",\"@ToolTip10\":\"Data standard deviation.\"}},{\"StatementOptionName\":\"BOXWIDTH=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: BOXWIDTH=number] \\n          \\nSpecifies the width of a box as a ratio of the maximum possible width. \\nDefault: .4\\n\\nRange: 0 (narrowest) to 1 (widest)\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"CAPSHAPE=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies the shape at the ends of the whiskers. \\n\\nDefault: The GraphBox:CapStyle style reference. \\n\\nInteraction: The cap color and the thickness are specified by the WHISKERATTRS= option. \\nThe cap pattern is always solid.\\n\\nInteraction: The DISPLAY= option must include CAPS for cap lines to be shown.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"SERIF\",\"@Value2\":\"LINE\",\"@Value3\":\"BRACKET\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Specifies a short line perpendicular to the whisker.\",\"@ToolTip2\":\"Specifies a line perpendicular to whisker extending the width of the box.\",\"@ToolTip3\":\"Specifies a line perpendicular to the whisker extending the width of the box with short extensions  at the ends drawn in the direction of the box.\"}},{\"StatementOptionName\":\"CONNECT=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies that a connect line joins a statistic from box to box. \\n\\nDefault: The GraphBox:Connect style reference.\\n\\nRequirement: The DISPLAY= option must contain the CONNECT suboption for the connect line to be displayed.\\n\\nInteraction: This option only applies when the X argument is used to generate multiple boxes.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"MEAN\",\"@Value2\":\"MEDIAN\",\"@Value3\":\"Q1\",\"@Value4\":\"Q3\",\"@Value5\":\"MIN\",\"@Value6\":\"MAX\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Specifies that a connect line joins mean statistic from box to box.\",\"@ToolTip2\":\"Specifies that a connect line joins median statistic from box to box.\",\"@ToolTip3\":\"Specifies that a connect line joins lower quartile statistic from box to box.\",\"@ToolTip4\":\"Specifies that a connect line joins upper quartile statistic from box to box.\",\"@ToolTip5\":\"Specifies that a connect line joins min statistic from box to box.\",\"@ToolTip6\":\"Specifies that a connect line joins max statistic from box to box.\"}},{\"StatementOptionName\":\"CONNECTATTRS=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: CONNECTATTRS=style-element | style-element (line-options) | (line-options)] \\n          \\nSpecifies the attributes of the lines connecting multiple boxes. \\nDefault: The GraphConnectLine style element. \\n\\nThe available line-options can be any one or more of the following settings. The options must be \\nenclosed in parentheses, and each option is specified as a name=value pair:\\n\\n  COLOR=style-reference | color \\n  specifies the line color. If you use a style-reference, the style-attribute should be a valid \\n  attribute such as COLOR, CONTRASTCOLOR, STARTCOLOR, NEUTRAL, ENDCOLOR. The convention is to use \\n  CONTRASTCOLOR for lines. If you specify a style element that does not have a CONTRASTCOLOR attribute, \\n  the element's COLOR attribute is used. If you use a color, SAS/GRAPH accepts color names, such \\n  as RED, or color codes, such as CXFF0000 or #FF0000.\\n\\n  PATTERN=style-reference | line-pattern-name | line-pattern-number specifies the line pattern. \\n  If you use a style-reference, the style-attribute should be LINESTYLE. Line patterns can be specified \\n  as a pattern name or pattern number. Some valid pattern numbers: 1 (Solid), 2 (ShortDash), 4 (MediumDash), \\n  5 (LongDash) 8 (MediumDashShortDash)   14 (DashDashDot) 15 (DashDotDot) 20 (Dash) 26 (LongDashShortDash) \\n  34 (Dot) 35 (ThinDot) 41 (ShortDashDot) 42 (MediumDashDotDot). Not all pattern numbers have names.\\n\\n  THICKNESS=style-reference | dimension \\n  specifies the line thickness. If you use a style-reference, the style-attribute should be LINETHICKNESS. \\n  \\nInteraction: If there is only one box, this option is ignored.\"},\"StatementOptionType\":\"V\",\"SubOptionsKeywords\":\"COLOR=|PATTERN=|THICKNESS=\"},{\"StatementOptionName\":\"DATALABEL=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: DATALABEL=column] \\n          \\nSpecifies the labels of the values that are identified as outlier or faroutlier by the \\nSTAT= column. Either a numeric or a character column can be used. \\n\\nDefault: no default\\n\\nInteraction: This option is ignored if EXTREME=TRUE or the DISPLAY= option does not \\ndisplay the outliers.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"DATALABELATTRS=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: DATALABELATTRS=style-element | style-element (text-options) | (text-options)] \\n          \\nSpecifies the color and font attributes of the outlier labels. \\n\\n  style-element \\n      Name of a style element. Only style attributes relevant for rendering the fill, line, data marker, or text will be used.\\n\\n  style-element (text-options) \\n      Name of a style element, plus individual options to be used as style overrides. Any options not specified are derived\\n      from the specified style-element.\\n\\n  (text-options) \\n  COLOR=style-reference | color \\n      specifies the color of the text. If you use a style-reference, the style-attribute should be a valid\\n      attribute such as COLOR, CONTRASTCOLOR, STARTCOLOR, NEUTRAL, ENDCOLOR. The convention is to use COLOR for text.\\n\\n  FAMILY =style-reference | \\\"string\\\" \\n      specifies the font family of the text. If you use a style-reference, the style-attribute should be FONTFAMILY.\\n\\n  SIZE=style-reference | dimension \\n      specifies the font size of the text. If you use a style-reference, the style-attribute should be FONTSIZE. \\n\\n  STYLE=style-reference | NORMAL | ITALIC \\n      specifies the font style of the text. If you use a style-reference, the style-attribute should be FONTSTYLE. \\n\\n  WEIGHT=style-reference | NORMAL | BOLD \\n      specifies the font weight of the text. If you use a style-reference, the style-attribute should be FONTWEIGHT. \\n\\nDefault: The GraphDataText style element.\\n\\nInteraction: This option is ignored if EXTREME=TRUE or the DISPLAY= option does not display the outliers.\\n\\nInteraction: If one or more label options are specified and they do not include all the font properties \\n(color, family, size, weight, style), non-specified properties will be derived from the GraphDataText style element.\"},\"StatementOptionType\":\"V\",\"SubOptionsKeywords\":\"COLOR=|FAMILY=|SIZE=|STYLE=|WEIGHT=\"},{\"StatementOptionName\":\"DATATRANSPARENCY=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: DATATRANSPARENCY=number] \\n          \\nSpecifies the degree of the transparency of the box outlines, box fill, whiskers, mean, median, \\ncaps, connect lines, and outliers, if displayed. \\n\\nDefault: 0\\n\\nRange: 0 (opaque) to 1 (entirely transparent).\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"DISPLAY=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies which additional features of the box plot to display. \\n\\nDefault: The GraphBox:DisplayOpts style reference. If this style element does not exist, the \\ndefault is STANDARD. \\n\\nRestriction: The display features requested can only be displayed if the input data includes this information.\\n\\nInteraction: If EXTREME=TRUE, then the OUTLIERS feature is ignored\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"STANDARD\",\"@Value2\":\"ALL\",\"@Value3\":\"<(display-options)>\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Displays this combination of features (CAPS FILL MEAN MEDIAN OUTLIERS).\",\"@ToolTip2\":\"Displays all features.\",\"@ToolTip3\":\"A parenthesized list of features to be displayed. The list may include any of the following:                                      CAPS  displays caps at the ends of the whiskers   CONNECT  displays the line connecting multiple boxes   FILL  displays filled boxes   MEAN  displays the mean symbol within the box   MEDIAN  displays the median line within the box   NOTCHES  displays notched boxes   OUTLIERS  displays markers for the outliers\"},\"SubOptionsKeywords\":\"OUTLINE|FILL|CONNECT|MEAN|MEDIAN|NOTCHES|OUTLIERS\"},{\"StatementOptionName\":\"EXTREME=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies whether the whiskers can extend beyond the fences. \\n\\nDefault: FALSE \\n\\nInteraction: This option overides the DATALABEL=, DATALABELATTRS=, LABELFAR=, OUTLIERATTRS=, and \\nSPREAD= options.\\n\\nTip: Fences are locations above and below the box. The upper and lower fences are located at a \\ndistance 1.5 times the Interquartile Range (IQR) ( IQR = Q3 - Q1 ). The upper and lower far fences \\nare located at a distance 3 times the IQR.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"FALSE\",\"@Value2\":\"TRUE\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Specifies that whiskers be drawn from the upper edge of the box to the largest value within the  upper fence, and from the lower edge of the box to the smallest value within the lower fence.  This representation is sometime called a schematic box and whisker plot or Tukey box and whisker plot.\",\"@ToolTip2\":\"Specifies that whiskers be drawn to the largest and smallest data values, whether these values are  inside or outside the fences. The outliers and far outliers are not displayed and are not labeled.  This representation is sometime called a skeletal box and whisker plot.\"}},{\"StatementOptionName\":\"FILLATTRS=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: FILLATTRS=style-element | style-element (fill-options) | (fill-options)] \\n          \\nSpecifies the appearance of the interior fill area of the boxes. \\n\\nWhen specifying the attributes for an area fill, the COLOR fill-option is the only option that \\nis currently available. The option must be enclosed in parentheses and specified as a name=value \\npair. The value may be a style-reference in the form style-element:style-attribute.\\n\\n  COLOR=style-reference | color \\n  specifies the fill color. If you use a style-reference, the style-attribute should be a valid \\n  attribute such as COLOR, CONTRASTCOLOR, STARTCOLOR, NEUTRAL, ENDCOLOR. The convention is to use \\n  the COLOR attribute for fill areas. If you use a color, SAS/GRAPH accepts color names, such as \\n  RED, or color codes, such as CXFF0000 or #FF0000. Color names must not exceed 64 characters. \\n  Color codes must not exceed 8 characters and must be in a valid SAS color-naming scheme, such \\n  as RGB, CMYK, HLS, or HSV (HSB).\\n\\nDefault: The GraphDataDefault style element.\\n\\nInteraction: For this option to have any effect, the fill must be enabled by the ODS style or the \\nDISPLAY= option.\"},\"StatementOptionType\":\"V\",\"SubOptionsKeywords\":\"COLOR=\"},{\"StatementOptionName\":\"LABELFAR=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies whether all outliers or only far outliers are labeled. \\n\\nDefault: FALSE \\n\\nInteraction: This option is ignored if EXTREME=TRUE or the DISPLAY= option does not display the outliers.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"FALSE\",\"@Value2\":\"TRUE\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"The labels specified by the DATALABEL= option apply to both outliers and far outliers.\",\"@ToolTip2\":\"The labels specified by the DATALABEL= option only apply to far outliers.\"}},{\"StatementOptionName\":\"LEGENDLABEL=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: LEGENDLABEL=\\\"string\\\"] \\n          \\nSpecifies a label for use in a legend. \\n\\nDefault: The string specified on the NAME= option.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"MEANATTRS=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: MEANATTRS=style-element | style-element (marker-options) | (marker-options)] \\n          \\nSpecifies the appearance of the marker representing the mean within the box. \\n\\nWhen specifying the attributes for a data marker, the available marker-options can be any one \\nor more of the following settings. The options must be enclosed in parentheses, and each option \\nis specified as a name=value pair. In all cases, the value may be a style-reference in the form \\nstyle-element:style-attribute:\\n\\n  COLOR=style-reference | color \\n  specifies the color of the marker. If you use a style-reference, the style-attribute should be a \\n  valid attribute such as COLOR, CONTRASTCOLOR, STARTCOLOR, NEUTRAL, ENDCOLOR. The convention is to \\n  use CONTRASTCOLOR for markers. For grouped data, this option keeps all markers the same color and \\n  the marker symbol alone distinguishes the group values. If you use a color, SAS/GRAPH accepts color \\n  names, such as RED, or color codes, such as CXFF0000 or #FF0000. Color names must not exceed 64 characters. \\n  Color codes must not exceed 8 characters and must be in a valid SAS color-naming scheme, such as RGB, \\n  CMYK, HLS, or HSV (HSB).\\n\\n  SIZE=style-reference | dimension \\n  specifies the marker size (both width and height). If you use a style-reference, the style-attribute \\n  should be MARKERSIZE. \\n\\n  SYMBOL=style-reference | marker-name \\n  specifies the name of the marker. If you use a style-reference, the style-attribute should be MARKERSYMBOL.\\n\\n  WEIGHT=NORMAL | BOLD \\n  specifies the marker weight.\\n\\nDefault: The GraphBoxMean style element.\\n\\nInteraction: This option is ignored if the DISPLAY= option does not display the median.\"},\"StatementOptionType\":\"V\",\"SubOptionsKeywords\":\"COLOR=|SIZE=|SYMBOL=|WEIGHT=\"},{\"StatementOptionName\":\"MEDIANATTRS=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: MEDIANATTRS=style-element | style-element (line-options) | (line-options)] \\n          \\nSpecifies the appearance of the line representing the median within the box. \\nDefault: The GraphBoxMedian style element.\\n\\nInteraction: This option is ignored if the DISPLAY= option does not display the median. \\n\\nThe available line-options can be any one or more of the following settings. The options must be \\nenclosed in parentheses, and each option is specified as a name=value pair:\\n\\n  COLOR=style-reference | color \\n  specifies the line color. If you use a style-reference, the style-attribute should be a valid \\n  attribute such as COLOR, CONTRASTCOLOR, STARTCOLOR, NEUTRAL, ENDCOLOR. The convention is to use \\n  CONTRASTCOLOR for lines. If you specify a style element that does not have a CONTRASTCOLOR attribute, \\n  the element's COLOR attribute is used. If you use a color, SAS/GRAPH accepts color names, such \\n  as RED, or color codes, such as CXFF0000 or #FF0000.\\n\\n  PATTERN=style-reference | line-pattern-name | line-pattern-number specifies the line pattern. \\n  If you use a style-reference, the style-attribute should be LINESTYLE. Line patterns can be \\n  specified as a pattern name or pattern number. Some valid pattern numbers: 1 (Solid), 2 (ShortDash), \\n  4 (MediumDash), 5 (LongDash) 8 (MediumDashShortDash) 14 (DashDashDot) 15 (DashDotDot) 20 (Dash) \\n  26 (LongDashShortDash) 34 (Dot) 35 (ThinDot) 41 (ShortDashDot) 42 (MediumDashDotDot). \\n  Not all pattern numbers have names.\\n  THICKNESS=style-reference | dimension \\n  specifies the line thickness. If you use a style-reference, the style-attribute should be LINETHICKNESS. \\n  \\nInteraction: If there is only one box, this option is ignored.\"},\"StatementOptionType\":\"V\",\"SubOptionsKeywords\":\"COLOR=|PATTERN=|THICKNESS=\"},{\"StatementOptionName\":\"NAME=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: NAME=\\\"string\\\"] \\n          \\nAssigns a name to a plot statement for reference in other template statements. \\nDefault: no default\\n\\nRestriction: The string is case sensitive, cannot contain spaces, and must define a unique \\nname within the template.\\n\\nInteraction: The string is used as the default legend label if the LEGENDLABEL= option is not used.\\n\\nTip: The specified name is used primarily in legend statements to coordinate the use of colors \\nand line patterns between the graph and the legend.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"ORIENT=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies the orientation of the Y axis and the boxes. \\n\\nDefault: VERTICAL\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"VERTICAL\",\"@Value2\":\"HORIZONTAL\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Specifies a vertical orientation for the Y axis and the boxes.\",\"@ToolTip2\":\"Specifies a horizontal orientation for the Y axis and the boxes.\"}},{\"StatementOptionName\":\"OUTLIERATTRS=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: OUTLIERATTRS=style-element | style-element (marker-options) | (marker-options)] \\n          \\nSpecifies the attributes of the markers representing the outliers. \\n\\nWhen specifying the attributes for a data marker, the available marker-options can be any one \\nor more of the following settings. The options must be enclosed in parentheses, and each option \\nis specified as a name=value pair. In all cases, the value may be a style-reference in the form \\nstyle-element:style-attribute:\\n\\n  COLOR=style-reference | color \\n  specifies the color of the marker. If you use a style-reference, the style-attribute should be a \\n  valid attribute such as COLOR, CONTRASTCOLOR, STARTCOLOR, NEUTRAL, ENDCOLOR. The convention is to \\n  use CONTRASTCOLOR for markers. For grouped data, this option keeps all markers the same color and \\n  the marker symbol alone distinguishes the group values. If you use a color, SAS/GRAPH accepts color \\n  names, such as RED, or color codes, such as CXFF0000 or #FF0000. Color names must not exceed 64 characters. \\n  Color codes must not exceed 8 characters and must be in a valid SAS color-naming scheme, such as RGB, \\n  CMYK, HLS, or HSV (HSB).\\n\\n  SIZE=style-reference | dimension \\n  specifies the marker size (both width and height). If you use a style-reference, the style-attribute \\n  should be MARKERSIZE. \\n\\n  SYMBOL=style-reference | marker-name \\n  specifies the name of the marker. If you use a style-reference, the style-attribute should be MARKERSYMBOL.\\n\\n  WEIGHT=NORMAL | BOLD \\n  specifies the marker weight.\\n\\nDefault: The GraphOutlier style element.\\n\\nInteraction: This option is ignored if EXTREME=TRUE or the DISPLAY= option does not display the outliers.\"},\"StatementOptionType\":\"V\",\"SubOptionsKeywords\":\"COLOR=|SIZE=|SYMBOL=|WEIGHT=\"},{\"StatementOptionName\":\"OUTLINEATTRS=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: OUTLINEATTRS=style-element | style-element (line-options) | (line-options)] \\n          \\nSpecifies the appearance of the box outlines. \\n\\nThe available line-options can be any one or more of the following settings. The options must be \\nenclosed in parentheses, and each option is specified as a name=value pair:\\n\\n  COLOR=style-reference | color \\n  specifies the line color. If you use a style-reference, the style-attribute should be a valid \\n  attribute such as COLOR, CONTRASTCOLOR, STARTCOLOR, NEUTRAL, ENDCOLOR. The convention is to use \\n  CONTRASTCOLOR for lines. If you specify a style element that does not have a CONTRASTCOLOR attribute, \\n  the element's COLOR attribute is used. If you use a color, SAS/GRAPH accepts color names, such \\n  as RED, or color codes, such as CXFF0000 or #FF0000.\\n\\n  PATTERN=style-reference | line-pattern-name | line-pattern-number specifies the line pattern. \\n  If you use a style-reference, the style-attribute should be LINESTYLE. Line patterns can be specified \\n  as a pattern name or pattern number. Some valid pattern numbers: 1 (Solid), 2 (ShortDash), 4 (MediumDash), \\n  5 (LongDash) 8 (MediumDashShortDash)   14 (DashDashDot) 15 (DashDotDot) 20 (Dash) 26 (LongDashShortDash) \\n  34 (Dot) 35 (ThinDot) 41 (ShortDashDot) 42 (MediumDashDotDot). Not all pattern numbers have names.\\n\\n  THICKNESS=style-reference | dimension \\n  specifies the line thickness. If you use a style-reference, the style-attribute should be LINETHICKNESS.\\n\\nDefault: The GraphOutlines style element.\"},\"StatementOptionType\":\"V\",\"SubOptionsKeywords\":\"COLOR=|PATTERN=|THICKNESS=\"},{\"StatementOptionName\":\"PERCENTILE=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies one of five definitions used to calculate percentiles. \\n\\nDefault: 5 (empirical distribution function with averaging)\\n\\nTip: The percentile definitions and default are the same as used by PCTLDEF= option of PROC UNIVARIATE \\nor the QNTLDEF= option of PROC SUMMARY.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"1\",\"@Value2\":\"2\",\"@Value3\":\"3\",\"@Value4\":\"4\",\"@Value5\":\"5\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Calculates the percentiles with a weighted average at Xnp.\",\"@ToolTip2\":\"Calculates the percentiles with observation numbered closest to np.\",\"@ToolTip3\":\"Calculates the percentiles with an empirical distribution function.\",\"@ToolTip4\":\"Calculates the percentiles with a weighted average aimed at X(n+1)p\",\"@ToolTip5\":\"Calculates the percentiles with an empirical distribution function with averaging.\"}},{\"StatementOptionName\":\"PRIMARY=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies that the data columns for this plot and the plot type be used for determining default \\naxis features. \\n\\nDefault: FALSE\\n\\nRestriction: This option is ignored if the plot is placed under a GRIDDED or LATTICE layout block.\\n\\nDetails: This option is needed only when two or more plots within an overlay-type layout contribute to a common axis.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"FALSE\",\"@Value2\":\"TRUE\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Specifies that the data columns for this plot and the plot type not be used for determining default  axis features.\",\"@ToolTip2\":\"Specifies that the data columns for this plot and the plot type be used for determining default  axis features.\"}},{\"StatementOptionName\":\"SPREAD=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies whether outliers with the same value are spread out to avoid overlap. For vertical boxplots \\nthis means offsetting the outliers horizontally. If this option is false, outliers with the same value \\nare plotted in the same position; thus, only one is visible \\n\\nDefault: FALSE \\n\\nInteraction: This option is ignored if EXTREME=TRUE or the DISPLAY= option does not display the outliers.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"FALSE\",\"@Value2\":\"TRUE\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Specifies that outliers with the same value are not spread out.\",\"@ToolTip2\":\"Specifies that outliers with the same value are spread out to avoid overlap.\"}},{\"StatementOptionName\":\"WHISKERATTRS=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: WHISKERATTRS=style-element | style-element (line-options) | (line-options)] \\n          \\nSpecifies the line properties of the whiskers and caps. \\nDefault: The GraphBoxWhisker style element. \\n\\nThe available line-options can be any one or more of the following settings. The options must be \\nenclosed in parentheses, and each option is specified as a name=value pair:\\n\\n  COLOR=style-reference | color \\n  specifies the line color. If you use a style-reference, the style-attribute should be a valid \\n  attribute such as COLOR, CONTRASTCOLOR, STARTCOLOR, NEUTRAL, ENDCOLOR. The convention is to use \\n  CONTRASTCOLOR for lines. If you specify a style element that does not have a CONTRASTCOLOR attribute, \\n  the element's COLOR attribute is used. If you use a color, SAS/GRAPH accepts color names, such \\n  as RED, or color codes, such as CXFF0000 or #FF0000.\\n\\n  PATTERN=style-reference | line-pattern-name | line-pattern-number specifies the line pattern. \\n  If you use a style-reference, the style-attribute should be LINESTYLE. Line patterns can be specified \\n  as a pattern name or pattern number. Some valid pattern numbers: 1 (Solid), 2 (ShortDash), 4 (MediumDash), \\n  5 (LongDash) 8 (MediumDashShortDash)   14 (DashDashDot) 15 (DashDotDot) 20 (Dash) 26 (LongDashShortDash) \\n  34 (Dot) 35 (ThinDot) 41 (ShortDashDot) 42 (MediumDashDotDot). Not all pattern numbers have names.\\n\\n  THICKNESS=style-reference | dimension \\n  specifies the line thickness. If you use a style-reference, the style-attribute should be LINETHICKNESS.\"},\"StatementOptionType\":\"V\",\"SubOptionsKeywords\":\"COLOR=|PATTERN=|THICKNESS=\"},{\"StatementOptionName\":\"XAXIS=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies whether data are mapped to the primary X (bottom) axis or to the secondary X2 (top) axis. \\n\\nDefault: X\\n\\nInteraction: The overall plot specification and the layout type determine the axis display.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"X\",\"@Value2\":\"X2\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Data are mapped to the primary X (bottom) axis.\",\"@ToolTip2\":\"Data are mapped to the the secondary X2 (top) axis.\"}},{\"StatementOptionName\":\"YAXIS=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies whether data are mapped to the primary Y (left) axis or to the secondary Y2 (right) axis. \\n\\nDefault: Y\\n\\nInteraction: The overall plot specification and the layout type determine the axis display.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"Y\",\"@Value2\":\"Y2\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Data are mapped to the primary Y (left) axis.\",\"@ToolTip2\":\"Data are mapped to the secondary Y2 (right) axis.\"}}]}},{\"StatementName\":\"CONTOURPLOTPARM\",\"StatementHelp\":{\"#cdata\":\"Syntax: CONTOURPLOTPARM X= numeric-column | expression\\n      Y= numeric-column | expression\\n      Z= numeric-column | expression < / option(s)> ; \\n\\nCreates a contour plot representing a response variable evaluated over a grid of X and Y values.\"},\"StatementOptions\":{\"StatementOption\":[{\"StatementOptionName\":\"X=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: X=numeric-column | expression] \\n          \\nSpecifies the X coordinates for the grid.\"},\"StatementOptionType\":\"RV\"},{\"StatementOptionName\":\"Y=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: Y=numeric-column | expression] \\n          \\nSpecifies the Y coordinates for the grid.\"},\"StatementOptionType\":\"RV\"},{\"StatementOptionName\":\"Z=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: Z=numeric-column | expression] \\n          \\nSpecifies the contour response values.\"},\"StatementOptionType\":\"RV\"},{\"StatementOptionName\":\"COLORMODEL=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: COLORMODEL=style-element] \\n          \\nSpecifies a style element that is used to determine the colors of filled or gradient contours. \\nDefault: The ThreeColorRamp style element.\\n\\nstyle-element \\nName of a style element. The style element can contain these style attributes: \\n\\n  STARTCOLOR \\n  Specifies a color for the smallest data value of the Z variable. \\n  \\n  NEUTRALCOLOR \\n  Specifies a color for the midpoint of the range of the Z variable. \\n  \\n  ENDCOLOR \\n  Specifies a color for the highest data value of the Z variable. \\n  \\nInteraction: The REVERSECOLORMODEL= option can be used to reverse the start and end colors of the ramp \\nassigned to the colormodel.\\n\\nInteraction: The NEUTRALCOLOR attribute is not used for two-color ramps.\"},\"StatementOptionType\":\"V\",\"SubOptionsKeywords\":\"STARTCOLOR|NEUTRALCOLOR|ENDCOLOR\"},{\"StatementOptionName\":\"CONTOURTYPE=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies how the contour is displayed. \\n          \\nDefault: The GraphContour:DisplayOpts style reference. \\n\\nInteraction: The fill colors of the types that enable FILL or GRADIENT are controlled by the \\nCOLORMODEL= option.\\n\\nInteraction: The line properties of the types that enable LINE or LABELEDLINE are controlled \\nby the LINEATTRS= option.\\n\\nInteraction: The label properties of the types that enable LABELEDLINE are controlled by the \\nLINELABELATTRS= and LINELABELBASELINE= options.\\n\\nInteraction: If a DISCRETELEGEND statement is associated with the contour, the legend will  \\nNOT be displayed if CONTOURTYPE= is set to FILL or GRADIENT.\\n\\nInteraction: If a CONTINUOUSLEGEND statement is associated with the contour, the legend will \\nNOT be displayed if CONTOURTYPE is set to LINE or LABELEDLINE.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"LINE\",\"@Value2\":\"LABELEDLINE\",\"@Value3\":\"FILL\",\"@Value4\":\"GRADIENT\",\"@Value5\":\"LINEFILL\",\"@Value6\":\"LINEGRADIENT\",\"@Value7\":\"LABELEDLINEFILL\",\"@Value8\":\"LABELEDLINEGRADIENT\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Displays contour levels as unlabeled lines.\",\"@ToolTip2\":\"Displays the area between the contour levels as filled. Each contour interval is filled with one color.\",\"@ToolTip3\":\"Displays a smooth gradient of color to represent contour levels.\",\"@ToolTip4\":\"Combines the LINE and FILL types. Each contour interval is filled with one color. Displays contour  levels as unlabeled lines.\",\"@ToolTip5\":\"Combines the LINE and GRADIENT types. Displays contour levels as unlabeled lines.\",\"@ToolTip6\":\"Adds labels to the LINE type, displaying contour levels as labeled lines.\",\"@ToolTip7\":\"Adds labels to the LINEFILL type. Each contour interval is filled with one color. Displays contour  levels as lines with labels showing contour level values.\",\"@ToolTip8\":\"Adds labels to the LINEGRADIENT type. Displays contour levels as lines with labels showing contour  level values.\"}},{\"StatementOptionName\":\"GRIDDED=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies whether the grid formed by the X and Y values is complete. \\n\\nDefault: TRUE\\n\\nTip: If set to FALSE, then additional calculations are performed.\\n\\nTip: For information on the algorithm used to calculate the grid, see Barnes, Stanley L., \\n\\\"Mesoscale Objective Map Analysis Using Weighted Time-Series Observations\\\", United States National \\nOceanic and Atmospheric Administration, Environmental Research Labs, Norman, OK, Technical Memorandum \\n(NOAA TM ERLNSSL-62) , March 1973.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"FALSE\",\"@Value2\":\"TRUE\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Specifies that the grid formed by the X and Y values is not complete.\",\"@ToolTip2\":\"Specifies whether the grid formed by the X and Y values is complete.\"}},{\"StatementOptionName\":\"LEGENDLABEL=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: LEGENDLABEL= \\\"string\\\"] \\n          \\nSpecifies a label for use in a legend. \\n\\nDefault: The Z-variable label. If a label is not defined, the Z-variable name.\\n\\nInteraction: This option applies only to an associated DISCRETELEGEND statement.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"LINEATTRS=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: LINEATTRS=style-element | style-element (line-options) | (line-options)] \\n          \\nSpecifies the color and font attributes of the contour line labels. \\nDefault: The GraphValueText style element.\\n\\nInteraction: This option is honored only if the CONTOURTYPE displays labels.\\n\\nThe available line-options can be any one or more of the following settings. The options must be \\nenclosed in parentheses, and each option is specified as a name=value pair:\\n\\n  COLOR=style-reference | color \\n  specifies the line color. If you use a style-reference, the style-attribute should be a valid \\n  attribute such as COLOR, CONTRASTCOLOR, STARTCOLOR, NEUTRAL, ENDCOLOR. The convention is to use \\n  CONTRASTCOLOR for lines. If you specify a style element that does not have a CONTRASTCOLOR attribute, \\n  the element's COLOR attribute is used. If you use a color, SAS/GRAPH accepts color names, such \\n  as RED, or color codes, such as CXFF0000 or #FF0000.\\n\\n  PATTERN=style-reference | line-pattern-name | line-pattern-number specifies the line pattern. \\n  If you use a style-reference, the style-attribute should be LINESTYLE. Line patterns can be specified \\n  as a pattern name or pattern number. Some valid pattern numbers: 1 (Solid), 2 (ShortDash), 4 (MediumDash), \\n  5 (LongDash) 8 (MediumDashShortDash)   14 (DashDashDot) 15 (DashDotDot) 20 (Dash) 26 (LongDashShortDash) \\n  34 (Dot) 35 (ThinDot) 41 (ShortDashDot) 42 (MediumDashDotDot). Not all pattern numbers have names.\\n\\n  THICKNESS=style-reference | dimension \\n  specifies the line thickness. If you use a style-reference, the style-attribute should be LINETHICKNESS.\"},\"StatementOptionType\":\"V\",\"SubOptionsKeywords\":\"COLOR=|PATTERN=|THICKNESS=\"},{\"StatementOptionName\":\"LINELABELATTRS=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: LINELABELATTRS=style-element | style-element (text-options) | (text-options)] \\n          \\nSpecifies the color and font attributes of the contour line labels. \\nDefault: The GraphValueText style element.\\n\\nInteraction: This option is honored only if the CONTOURTYPE displays labels.\\n\\nstyle-element \\n    Name of a style element. Only style attributes relevant for rendering the fill, line, data marker, or text will be used.\\n\\nstyle-element (text-options) \\n    Name of a style element, plus individual options to be used as style overrides. Any options not specified are derived\\n    from the specified style-element.\\n\\n(text-options) \\n  COLOR=style-reference | color \\n      specifies the color of the text. If you use a style-reference, the style-attribute should be a valid\\n      attribute such as COLOR, CONTRASTCOLOR, STARTCOLOR, NEUTRAL, ENDCOLOR. The convention is to use COLOR for text.\\n\\n  FAMILY =style-reference | \\\"string\\\" \\n      specifies the font family of the text. If you use a style-reference, the style-attribute should be FONTFAMILY.\\n\\n  SIZE=style-reference | dimension \\n      specifies the font size of the text. If you use a style-reference, the style-attribute should be FONTSIZE. \\n\\n  STYLE=style-reference | NORMAL | ITALIC \\n      specifies the font style of the text. If you use a style-reference, the style-attribute should be FONTSTYLE. \\n\\n  WEIGHT=style-reference | NORMAL | BOLD \\n      specifies the font weight of the text. If you use a style-reference, the style-attribute should be FONTWEIGHT.\"},\"StatementOptionType\":\"V\",\"SubOptionsKeywords\":\"COLOR=|FAMILY=|SIZE=|STYLE=|WEIGHT=\"},{\"StatementOptionName\":\"LINELABELBASELINE=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies the text alignment of the contour line labels. Each contour line has a precomputed label point. \\n\\nDefault: HORIZONTAL \\n\\nInteraction: This option is honored only if the CONTOURTYPE displays labels.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"HORIZONTAL\",\"@Value2\":\"TANGENT\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Specifies that each label is parallel to the X-axis. The label intersects its contour line and is  centered at the label point.\",\"@ToolTip2\":\"Specifies that each label is drawn tangent to the contour line at the label point. This reduces  intersection with the contour line and causes labels to be tilted at various angles in relation  to the X-axis.\"}},{\"StatementOptionName\":\"LINELABELFORMAT=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: LINELABELFORMAT=format] \\n          \\nSpecifies the format to use for the contour line labels. \\n\\nDefault: The format associated with the Z variable or BEST6. if no format is assigned.\\n\\nInteraction: This option is honored only if the CONTOURTYPE displays labels.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"LINELABELPOSITION=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies the position for the contour line labels. \\n\\nDefault: MIDDLE\\n\\nInteraction: This option is honored only if the CONTOURTYPE displays labels.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"MIDDLE\",\"@Value2\":\"BEGIN\",\"@Value3\":\"END\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Specifies the middle as the position for the contour line labels.\",\"@ToolTip2\":\"Specifies the beginning as the position for the contour line labels.\",\"@ToolTip3\":\"Specifies the end as the position for the contour line labels.\"}},{\"StatementOptionName\":\"NAME=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: NAME=\\\"string\\\"] \\n          \\nAssigns a name to a plot statement for reference in other template statements. \\n\\nDefault: no default\\n\\nRestriction: The string is case sensitive, cannot contain spaces, and must define a unique name \\nwithin the template.\\n\\nTip: The specified name is used primarily in legend statements to indicate the colors associated \\nwith the Z values.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"NHINT=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: NHINT=integer] \\n          \\nSpecifies the suggested number of contour levels for the Z variable. \\nDefault: 7\\n\\nTip: The actual number of levels is adjusted to provide an appropriate number of levels for the data.\\n\\nInteraction: This option is ignored if NLEVELS= is specified.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"NLEVELS=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: NLEVELS=integer] \\n          \\nSpecifies the actual number of contour levels for the Z variable. \\nDefault: The number of levels is determined internally, using the NHINT= value.\\n\\nInteraction: This option overrides the NHINT= option.\\n\\nInteraction: This option is ignored if CONTOURTYPE=GRADIENT.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"PRIMARY=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies that the data columns for this plot and the plot type be used for determining default \\naxis features. \\n\\nDefault: FALSE\\n\\nRestriction: This option is ignored if the plot is placed under a GRIDDED or LATTICE layout block.\\n\\nDetails: This option is needed only when two or more plots within an overlay-type layout contribute \\nto a common axis.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"FALSE\",\"@Value2\":\"TRUE\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Specifies that the data columns for this plot and the plot type not be used for determining default  axis features.\",\"@ToolTip2\":\"Specifies that the data columns for this plot and the plot type be used for determining default  axis features.\"}},{\"StatementOptionName\":\"REVERSECOLORMODEL=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies whether to reverse the gradient (color ramp) defined by the COLORMODEL= option. \\n\\nDefault: FALSE\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"FALSE\",\"@Value2\":\"TRUE\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Specifies not to reverse the gradient (color ramp) defined by the COLORMODEL= option.\",\"@ToolTip2\":\"Specifies to reverse the gradient (color ramp) defined by the COLORMODEL= option.\"}},{\"StatementOptionName\":\"XAXIS=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies whether data are mapped to the primary X (bottom) axis or to the secondary X2 (top) axis. \\n\\nDefault: X\\n\\nInteraction: The overall plot specification and the layout type determine the axis display.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"X\",\"@Value2\":\"X2\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Data are mapped to the primary X (bottom) axis.\",\"@ToolTip2\":\"Data are mapped to the the secondary X2 (top) axis.\"}},{\"StatementOptionName\":\"YAXIS=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies whether data are mapped to the primary Y (left) axis or to the secondary Y2 (right) axis. \\n\\nDefault: Y\\n\\nInteraction: The overall plot specification and the layout type determine the axis display.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"Y\",\"@Value2\":\"Y2\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Data are mapped to the primary Y (left) axis.\",\"@ToolTip2\":\"Data are mapped to the secondary Y2 (right) axis.\"}}]}},{\"StatementName\":\"DENSITYPLOT\",\"StatementHelp\":{\"#cdata\":\"Syntax: DENSITYPLOT numeric-column | expression </ <distribution-option> <option(s)>> ; \\n      \\nCreates a univariate probability density curve computed from input data\"},\"StatementOptions\":{\"#comment\":[{},{}],\"StatementOption\":[{\"StatementOptionName\":\"KERNEL()\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: KERNEL (< C= number > \\n  < WEIGHT= NORMAL | QUADRATIC | TRIANGULAR >\\n  < MAXPOINTS= number > )] \\n  \\nSpecifies a nonparametric kernel density estimate. \\n\\n  C= \\n  specifies a positive number (0 < number <= 100) that represents the standardized bandwidth . \\n  Default: Calculated from the data as the bandwidth that minimizes the approximate mean integrated \\n  square error (MISE).\\n\\n  WEIGHT= \\n  specifies one of the weight functions NORMAL, QUADRATIC, or TRIANGULAR. \\n  Default: NORMAL\\n\\n  MAXPOINTS= \\n  specifies the maximum number of points generated for the curve. \\n  Default: 512\"},\"StatementOptionType\":\"S\",\"SubOptionsKeywords\":\"C=|WEIGHT=|MAXPOINTS=|KERNEL\"},{\"StatementOptionName\":\"NORMAL()\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: NORMAL ( < MU= number > < SIGMA= number > < MAXPOINTS= number > )] \\n          \\nSpecifies a normal density estimate, with mean and standard deviation. \\n\\n  MU= \\n  specifies the mean. If not specified, it is calculated from the data. \\n\\n  SIGMA= \\n  specifies the standard deviation. If not specified, it is calculated from the data. \\n\\n  MAXPOINTS= \\n  specifies the maximum number of points generated for the curve. \\n  Default: 200\"},\"StatementOptionType\":\"S\",\"SubOptionsKeywords\":\"MU=|SIGMA=|MAXPOINTS=|NORMAL\"},{\"StatementOptionName\":\"CURVELABEL=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: CURVELABEL=\\\"string\\\"] \\n          \\nSpecifies a label for the density curve. \\n\\nDefault: no default\\n\\nTip: The font and color attributes for the label are specified by the CURVELABELATTRS= option.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"CURVELABELATTRS=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: CURVELABELATTRS=style-element | style-element (text-options) | (text-options)] \\n          \\nSpecifies the color and font attributes of the density curve labels.\\nDefault: The GraphValueText style element.\\n\\nInteraction: For this option to take effect, the CURVELABEL=curvelabel option must also be used.\\n\\nThe available text-options can be any one or more of the following settings. The options must be \\nenclosed in parentheses, and each option is specified as a name=value pair. In all cases, the \\nvalue may be a style-reference in the form style-element:style-attribute .\\n\\n  COLOR=style-reference | color \\n  specifies the color of the text. If you use a style-reference, the style-attribute should be a valid \\n  attribute such as COLOR, CONTRASTCOLOR, STARTCOLOR, NEUTRAL, ENDCOLOR. The convention is to use COLOR \\n  for text. If you use a color, SAS/GRAPH accepts color names, such as RED, or color codes, such as \\n  CXFF0000 or #FF0000. Color names must not exceed 64 characters. Color codes must not exceed 8 characters \\n  and must be in a valid SAS color-naming scheme, such as RGB, CMYK, HLS, or HSV (HSB).\\n\\n  FAMILY =style-reference | \\\"string\\\" \\n  specifies the font family of the text. If you use a style-reference, the style-attribute should be FONTFAMILY. \\n\\n  SIZE=style-reference | dimension \\n  specifies the font size of the text. If you use a style-reference, the style-attribute should be FONTSIZE. \\n\\n  STYLE=style-reference | NORMAL | ITALIC \\n  specifies the font style of the text. If you use a style-reference, the style-attribute should be FONTSTYLE. \\n\\n  WEIGHT=style-reference | NORMAL | BOLD \\n  specifies the font weight of the text. If you use a style-reference, the style-attribute should be FONTWEIGHT.\"},\"StatementOptionType\":\"V\",\"SubOptionsKeywords\":\"COLOR=|FAMILY=|SIZE=|STYLE=|WEIGHT=\"},{\"StatementOptionName\":\"CURVELABELLOCATION=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies the location of the density curve label relative to the plot area. \\n\\nDefault: INSIDE \\n\\nRestriction: OUTSIDE cannot be used when the DENSITYPLOT is used in multicell layouts such as LATTICE, \\nDATAPANEL or DATALATTICE where axes may be external to the grid.\\n\\nInteraction: This option is used in conjunction with the CURVELABELPOSITION= option to determine \\nwhere the curve label appears.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"INSIDE\",\"@Value2\":\"OUTSIDE\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Places the density curve label inside the plot area\",\"@ToolTip2\":\"Places the density curve label outside the plot area\"}},{\"StatementOptionName\":\"CURVELABELPOSITION=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies the position of the density curve label relative to the curve line. \\n\\nDefault: AUTO when CUVELABELLOCATION=OUTSIDE. END when CURVELABELLOCATION=INSIDE. \\n\\nRestriction: The AUTO setting is not supported if CURVELABELLOCATION=INSIDE is specified. The START \\nand END settings are not supported if CURVELABELLOCATION=OUTSIDE is specified.\\n\\nInteraction: For this option to take effect, the CURVELABEL= option must also be specified.\\n\\nInteraction: This option is used in conjunction with the CURVELABELLOCATION= option to determine \\nwhere the density label appears.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"AUTO\",\"@Value2\":\"MAX\",\"@Value3\":\"MIN\",\"@Value4\":\"START\",\"@Value5\":\"END\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Only used when CURVELABELPOSITION=OUTSIDE. The density label will be positioned automatically near  the end of the density curve along unused axes whenever possible (typically Y2 or X2) to avoid  collision with tick values.\",\"@ToolTip2\":\"Forces the density label to appear near maximum density X- values (typically, to the right).\",\"@ToolTip3\":\"Forces the density label to appear near minimum density X- values (typically, to the left).\",\"@ToolTip4\":\"Only used when CURVELABELLOCATION=INSIDE. Forces density label to appear near the beginning of the  curve. Particularly useful when the curve line has a spiral shape.\",\"@ToolTip5\":\"Only used when CURVELABELLOCATION=INSIDE. Forces density label to appear near the end of the curve.  Particularly useful when the curve line has a spiral shape.\"}},{\"StatementOptionName\":\"DATATRANSPARENCY=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: DATATRANSPARENCY=number] \\n          \\nSpecifies the degree of the transparency of the density curve. \\n\\nDefault: 0\\n\\nRange: 0 (opaque) to 1 (entirely transparent)\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"FREQ=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: FREQ=numeric-column | expression] \\n          \\nSpecifies a numeric column that provides frequencies for each observation read. If n is the \\nvalue of the numeric-column for a given observation, then that observation is used n times \\nfor any statistical computation. \\n\\nDefault: Each observation is counted once.\\n\\nRestriction: If the value of the numeric-column is missing or is less than 1, the observation \\nis not used in the analysis. If the value is not an integer, only the integer portion is used.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"LEGENDLABEL=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: LEGENDLABEL=\\\"string\\\"] \\n          \\nSpecifies a label for use in a legend. \\n\\nDefault: The string specified on the NAME= option.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"LINEATTRS=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: LINEATTRS=style-element | style-element (line-options) | (line-options)] \\n          \\nSpecifies the attributes of the density curve.\\nDefault: The GraphFitLine style element.\\n\\nThe available line-options can be any one or more of the following settings. The options must be \\nenclosed in parentheses, and each option is specified as a name=value pair:\\n\\n  COLOR=style-reference | color \\n  specifies the line color. If you use a style-reference, the style-attribute should be a valid \\n  attribute such as COLOR, CONTRASTCOLOR, STARTCOLOR, NEUTRAL, ENDCOLOR. The convention is to use \\n  CONTRASTCOLOR for lines. If you specify a style element that does not have a CONTRASTCOLOR attribute, \\n  the element's COLOR attribute is used. If you use a color, SAS/GRAPH accepts color names, such \\n  as RED, or color codes, such as CXFF0000 or #FF0000.\\n\\n  PATTERN=style-reference | line-pattern-name | line-pattern-number specifies the line pattern. \\n  If you use a style-reference, the style-attribute should be LINESTYLE. Line patterns can be specified \\n  as a pattern name or pattern number. Some valid pattern numbers: 1 (Solid), 2 (ShortDash), 4 (MediumDash), \\n  5 (LongDash) 8 (MediumDashShortDash)   14 (DashDashDot) 15 (DashDotDot) 20 (Dash) 26 (LongDashShortDash) \\n  34 (Dot) 35 (ThinDot) 41 (ShortDashDot) 42 (MediumDashDotDot). Not all pattern numbers have names.\\n\\n  THICKNESS=style-reference | dimension \\n  specifies the line thickness. If you use a style-reference, the style-attribute should be LINETHICKNESS.\"},\"StatementOptionType\":\"V\",\"SubOptionsKeywords\":\"COLOR=|PATTERN=|THICKNESS=\"},{\"StatementOptionName\":\"NAME=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: NAME=\\\"string\\\"] \\n          \\nAssigns a name to a plot statement for reference in other template statements. \\nDefault: no default\\n\\nRestriction: The string is case sensitive, cannot contain spaces, and must define a unique \\nname within the template.\\n\\nInteraction: The string is used as the default legend label if the LEGENDLABEL= option is not used.\\n\\nTip: The specified name is used primarily in legend statements to coordinate the use of colors \\nand line patterns between the graph and the legend.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"ORIENT=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies the orientation of the Y axis. \\n\\nDefault: VERTICAL\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"VERTICAL\",\"@Value2\":\"HORIZONTAL\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Specifies a vertical orientation for the Y axis \",\"@ToolTip2\":\"Specifies a horizontal orientation for the Y axis.\"}},{\"StatementOptionName\":\"PRIMARY=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies that the data columns for this plot be used for determining default axis features. \\n\\nDefault: FALSE\\n\\nRestriction: This option is ignored if the plot is placed under a GRIDDED or LATTICE layout block.\\n\\nDetails: This option is needed only when two or more plots within an overlay-type layout \\ncontribute to a common axis.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"FALSE\",\"@Value2\":\"TRUE\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Specifies that the data columns for this plot and the plot type not be used for determining default  axis features.\",\"@ToolTip2\":\"Specifies that the data columns for this plot and the plot type be used for determining default  axis features.\"}},{\"StatementOptionName\":\"TIPFORMAT=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: TIPFORMAT=(role-format-list)] \\n          \\nSpecifies display formats for the tooltips that are displayed when the cursor is positioned \\nover the density curve. \\n\\nDefault: The column format of the variable assigned to the role or BEST6. if no format is \\nassigned to a numeric column.\\n\\n(role-format-list) \\na list of role-name = format pairs separated by blanks. \\n  \\n   TIPFORMAT=(Y=6.2) \\n\\nRequirement: This option provides a way to control the formats of columns that appear in tootips.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"TIPLABEL=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: TIPLABEL=(role-label-list)] \\n          \\nSpecifies display labels for the tool tips that are displayed when the cursor is positioned \\nover the density curve. \\n\\nDefault: The column label or column name of the variable assigned to the role.\\n\\n(role-label-list) \\na list of role-name = \\\"string\\\" pairs separated by blanks. \\n  \\n    TIP=(X Y) \\n    TIPLABEL=(Y=\\\"Normal Approximation\\\") \\n\\nRequirement: This option provides a way to control the labels of columns that appear in tootips.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"XAXIS=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies whether data are mapped to the primary X (bottom) axis or to the secondary X2 (top) axis. \\n\\nDefault: X\\n\\nInteraction: The overall plot specification and the layout type determine the axis display.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"X\",\"@Value2\":\"X2\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Data are mapped to the primary X (bottom) axis.\",\"@ToolTip2\":\"Data are mapped to the the secondary X2 (top) axis.\"}},{\"StatementOptionName\":\"YAXIS=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies whether data are mapped to the primary Y (left) axis or to the secondary Y2 (right) axis. \\n\\nDefault: Y\\n\\nInteraction: The overall plot specification and the layout type determine the axis display.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"Y\",\"@Value2\":\"Y2\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Data are mapped to the primary Y (left) axis.\",\"@ToolTip2\":\"Data are mapped to the secondary Y2 (right) axis.\"}}]}},{\"StatementName\":\"DROPLINE\",\"StatementHelp\":{\"#cdata\":\"Syntax: DROPLINE X= x-axis-value | column | expression\\n      Y= y-axis-value | column | expression </ option(s)> ; \\n      \\nCreates a horizontal or vertical drop line from a point to an axis.\"},\"StatementOptions\":{\"StatementOption\":[{\"StatementOptionName\":\"X=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: X=x-axis-value | column | expression] \\n          \\nSpecifies the X coordinate of the drop line(s). \\n\\nRequirement: Values must agree in type with the X-axis data type. For example, you should use \\nnumeric SAS date or time values (or SAS date/time constants) for a time axis.\\n\\nTip: By default, if a specified value is outside of the X-axis data range, then the data range \\nis extended to include the value. This behavior can be changed with the CLIP= option.\"},\"StatementOptionType\":\"RV\"},{\"StatementOptionName\":\"Y=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: Y=y-axis-value | column | expression] \\n          \\nSpecifies the Y coordinate of the drop line(s). \\n\\nRequirement: Values must agree in type with the Y-axis data type.\\n\\nTip: By default, if a specified value is outside of the Y-axis data range, then the data range \\nis extended to include the value. This behavior can be changed with the CLIP= option.\"},\"StatementOptionType\":\"RV\"},{\"StatementOptionName\":\"CLIP=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies whether the data for the line are considered when determining the data ranges for the axes. \\n\\nDefault: FALSE\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"FALSE\",\"@Value2\":\"TRUE\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"The data for the line contribute to the data range for each axis. Each axis may be extended to force  the display of the line.\",\"@ToolTip2\":\"The data for the line are ignored when establishing axis scales. Each axis scale is determined by the  other plots in the parent layout. This may result in the line not being displayed if its data range  is not within the data ranges of the other plots.\"}},{\"StatementOptionName\":\"DATATRANSPARENCY=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: DATATRANSPARENCY=number] \\n          \\nSpecifies the degree of the transparency of the drop line. \\n\\nDefault: 0\\n\\nRange: 0 (opaque) to 1 (entirely transparent)\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"DROPTO=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies the axis to which the line is dropped. \\n\\nDefault: X\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"X\",\"@Value2\":\"Y\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Draws dropline(s) to an X axis. The XAXIS= option determines whether the X or X2 axis is the  endpoint for the line.\",\"@ToolTip2\":\"Draws dropline(s) to a Y axis. The YAXIS= option determines whether the Y or Y2 axis is the  endpoint for the line.\"}},{\"StatementOptionName\":\"LABEL=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: LABEL=\\\"string\\\" | column] \\n          \\nSpecifies a label for the point(s) indicated by the X= and Y= arguments. \\nDefault: no default\\n\\nInteraction: If drawing multiple droplines using X=column or Y=column, you can assign corresponding \\nlabels by using a column to define the labels.\\n\\nTip: The font and color attributes for the label are specified by the LABELATTRS= option.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"LABELATTRS=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: LABELATTRS=style-element | style-element (text-options) | (text-options)] \\n          \\nSpecifies the color and font attributes of the drop line label(s). \\n\\nThe available text-options can be any one or more of the following settings. The options must be \\nenclosed in parentheses, and each option is specified as a name=value pair. In all cases, the \\nvalue may be a style-reference in the form style-element:style-attribute .\\n\\n  COLOR=style-reference | color \\n  specifies the color of the text. If you use a style-reference, the style-attribute should be a valid \\n  attribute such as COLOR, CONTRASTCOLOR, STARTCOLOR, NEUTRAL, ENDCOLOR. The convention is to use COLOR \\n  for text. If you use a color, SAS/GRAPH accepts color names, such as RED, or color codes, such as \\n  CXFF0000 or #FF0000. Color names must not exceed 64 characters. Color codes must not exceed 8 characters \\n  and must be in a valid SAS color-naming scheme, such as RGB, CMYK, HLS, or HSV (HSB).\\n\\n  FAMILY =style-reference | \\\"string\\\" \\n  specifies the font family of the text. If you use a style-reference, the style-attribute should be FONTFAMILY. \\n\\n  SIZE=style-reference | dimension \\n  specifies the font size of the text. If you use a style-reference, the style-attribute should be FONTSIZE. \\n\\n  STYLE=style-reference | NORMAL | ITALIC \\n  specifies the font style of the text. If you use a style-reference, the style-attribute should be FONTSTYLE. \\n\\n  WEIGHT=style-reference | NORMAL | BOLD \\n  specifies the font weight of the text. If you use a style-reference, the style-attribute should be FONTWEIGHT. \\n  \\nDefault: The GraphValueText style element.\\n\\nInteraction: For this option to have any effect, the LABEL= option must also be specified.\"},\"StatementOptionType\":\"V\",\"SubOptionsKeywords\":\"COLOR=|FAMILY=|SIZE=|STYLE=|WEIGHT=\"},{\"StatementOptionName\":\"LEGENDLABEL=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: LEGENDLABEL= \\\"string\\\"] \\n          \\nSpecifies a label for use in a legend. \\nDefault: The string specified on the NAME= option.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"LINEATTRS=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: LINEATTRS=style-element | style-element (line-options) | (line-options)] \\n          \\nSpecifies the color and font attributes of the drop line. \\nDDefault: The GraphReference style element.\\n\\nThe available line-options can be any one or more of the following settings. The options must be \\nenclosed in parentheses, and each option is specified as a name=value pair:\\n\\n  COLOR=style-reference | color \\n  specifies the line color. If you use a style-reference, the style-attribute should be a valid \\n  attribute such as COLOR, CONTRASTCOLOR, STARTCOLOR, NEUTRAL, ENDCOLOR. The convention is to use \\n  CONTRASTCOLOR for lines. If you specify a style element that does not have a CONTRASTCOLOR attribute, \\n  the element's COLOR attribute is used. If you use a color, SAS/GRAPH accepts color names, such \\n  as RED, or color codes, such as CXFF0000 or #FF0000.\\n\\n  PATTERN=style-reference | line-pattern-name | line-pattern-number specifies the line pattern. \\n  If you use a style-reference, the style-attribute should be LINESTYLE. Line patterns can be specified \\n  as a pattern name or pattern number. Some valid pattern numbers: 1 (Solid), 2 (ShortDash), 4 (MediumDash), \\n  5 (LongDash) 8 (MediumDashShortDash)   14 (DashDashDot) 15 (DashDotDot) 20 (Dash) 26 (LongDashShortDash) \\n  34 (Dot) 35 (ThinDot) 41 (ShortDashDot) 42 (MediumDashDotDot). Not all pattern numbers have names.\\n\\n  THICKNESS=style-reference | dimension \\n  specifies the line thickness. If you use a style-reference, the style-attribute should be LINETHICKNESS.\"},\"StatementOptionType\":\"V\",\"SubOptionsKeywords\":\"COLOR=|PATTERN=|THICKNESS=\"},{\"StatementOptionName\":\"NAME=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: NAME=\\\"string\\\"] \\n          \\nAssigns a name to a plot statement for reference in other template statements. \\n\\nDefault: no default\\n\\nRestriction: The string is case sensitive, cannot contain spaces, and must define a unique \\nname within the template.\\n\\nInteraction: The string is used as the default legend label if the LEGENDLABEL= option is not used.\\n\\nTip: The specified name is used primarily in legend statements to coordinate the use of colors \\nand line patterns between the graph and the legend.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"XAXIS=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies whether data are mapped to the primary X (bottom) axis or to the secondary X2 (top) axis. \\n\\nDefault: X\\n\\nInteraction: The overall plot specification and the layout type determine the axis display.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"X\",\"@Value2\":\"X2\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Data are mapped to the primary X (bottom) axis.\",\"@ToolTip2\":\"Data are mapped to the the secondary X2 (top) axis.\"}},{\"StatementOptionName\":\"YAXIS=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies whether data are mapped to the primary Y (left) axis or to the secondary Y2 (right) axis. \\n\\nDefault: Y\\n\\nInteraction: The overall plot specification and the layout type determine the axis display.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"Y\",\"@Value2\":\"Y2\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Data are mapped to the primary Y (left) axis.\",\"@ToolTip2\":\"Data are mapped to the secondary Y2 (right) axis.\"}}]}},{\"StatementName\":\"ELLIPSE\",\"StatementHelp\":{\"#cdata\":\"Syntax: ELLIPSE X= numeric-column | expression\\n      Y= numeric-column | expression </ option(s)> ; \\n      \\nCreates a confidence ellipse computed from input data.\"},\"StatementOptions\":{\"StatementOption\":[{\"StatementOptionName\":\"X=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: X=numeric-column | expression] \\n          \\nSpecifies the numeric column for the X values.\"},\"StatementOptionType\":\"RV\"},{\"StatementOptionName\":\"Y=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: Y=numeric-column | expression] \\n          \\nSpecifies the numeric column for the Y values.\"},\"StatementOptionType\":\"RV\"},{\"StatementOptionName\":\"ALPHA=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: ALPHA=positive-number] \\n          \\nSets a significance value for the confidence level to compute for the ellipse. \\nDefault: .05\\n\\nRange: 0 < number < 1\\n\\nTip: ALPHA=.05 represents a 95% confidence level.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"CLIP=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies whether the data for the ellipse are considered when determining the data ranges for the axes. \\n\\nDefault: FALSE\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"FALSE\",\"@Value2\":\"TRUE\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"The data for the ellipse contribute to the data range for each axis. Each axis may be extended to  force the display of the entire ellipse.\",\"@ToolTip2\":\"The data for the ellipse are ignored when establishing axis scales. Each axis scale is determined by  the other plots in the parent layout. This may result in the ellipse not being entirely displayed  (clipped) if its data range is not within the data ranges of the other plots.\"}},{\"StatementOptionName\":\"DATATRANSPARENCY=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: DATATRANSPARENCY=number] \\n          \\nSpecifies the degree of the transparency of the ellipse fill color and outline. \\n\\nDefault: 0\\n\\nRange: 0 (opaque) to 1 (entirely transparent)\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"DISPLAY=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies whether to display an outlined ellipse, a filled ellipse, or an outlined and filled ellipse. \\n\\nDefault: GraphEllipse:DisplayOpts style reference.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"STANDARD\",\"@Value2\":\"ALL\",\"@Value3\":\"<(display-options)>\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Displays an outlined, unfilled ellipse.\",\"@ToolTip2\":\"Displays an outlined, filled ellipse.\",\"@ToolTip3\":\"A parenthesized list of features to be displayed. The list must include one of the following:  OUTLINE  displays an outlined ellipse   FILL  displays a filled ellipse \"},\"SubOptionsKeywords\":\"OUTLINE|FILL\"},{\"StatementOptionName\":\"FILLATTRS=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: FILLATTRS=style-element | style-element (fill-options) | (fill-options)] \\n          \\nSpecifies the appearance of the interior fill area of the ellipse. \\n\\nWhen specifying the attributes for an area fill, the COLOR fill-option is the only option that \\nis currently available. The option must be enclosed in parentheses and specified as a name=value \\npair. The value may be a style-reference in the form style-element:style-attribute.\\n\\n  COLOR=style-reference | color \\n  specifies the fill color. If you use a style-reference, the style-attribute should be a valid \\n  attribute such as COLOR, CONTRASTCOLOR, STARTCOLOR, NEUTRAL, ENDCOLOR. The convention is to use \\n  the COLOR attribute for fill areas. If you use a color, SAS/GRAPH accepts color names, such as \\n  RED, or color codes, such as CXFF0000 or #FF0000. Color names must not exceed 64 characters. \\n  Color codes must not exceed 8 characters and must be in a valid SAS color-naming scheme, such \\n  as RGB, CMYK, HLS, or HSV (HSB).\\n\\nDefault: The GraphDataDefault style element.\\n\\nInteraction: For this option to have any effect, the fill must be enabled by the ODS style or \\nthe DISPLAY= option.\"},\"StatementOptionType\":\"V\",\"SubOptionsKeywords\":\"COLOR=\"},{\"StatementOptionName\":\"FREQ=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: FREQ=numeric-column | expression] \\n          \\nSpecifies a numeric column that provides frequencies for each observation read. If n is the value \\nof the FREQ variable for a given observation, then that observation is counted n times in computing \\nthe ellipse. \\n\\nDefault: Each observation is counted once.\\n\\nRestriction: If the value of the numeric-column is missing or is less than 1, the observation is \\nnot used in the analysis. If the value is not an integer, only the integer portion is used.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"LEGENDLABEL=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: LEGENDLABEL=\\\"string\\\"] \\n          \\nSpecifies the legend label. \\nDefault: The string specified on the NAME= option.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"NAME=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: NAME=\\\"string\\\"] \\n          \\nAssigns a name to a plot statement for reference in other template statements. \\nDefault: no default\\n\\nRestriction: The string is case sensitive, cannot contain spaces, and must define a unique \\nname within the template.\\n\\nInteraction: The string is used as the default legend label if the LEGENDLABEL= option is not used.\\n\\nTip: The specified name is used primarily in legend statements to coordinate the use of colors \\nand line patterns between the graph and the legend.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"OUTLINEATTRS=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: OUTLINEATTRS=style-element | style-element (line-options) | (line-options)] \\n          \\nSpecifies the attributes of the ellipse outline. \\n\\nThe available line-options can be any one or more of the following settings. The options must be \\nenclosed in parentheses, and each option is specified as a name=value pair:\\n\\n  COLOR=style-reference | color \\n  specifies the line color. If you use a style-reference, the style-attribute should be a valid \\n  attribute such as COLOR, CONTRASTCOLOR, STARTCOLOR, NEUTRAL, ENDCOLOR. The convention is to use \\n  CONTRASTCOLOR for lines. If you specify a style element that does not have a CONTRASTCOLOR attribute, \\n  the element's COLOR attribute is used. If you use a color, SAS/GRAPH accepts color names, such \\n  as RED, or color codes, such as CXFF0000 or #FF0000.\\n\\n  PATTERN=style-reference | line-pattern-name | line-pattern-number specifies the line pattern. \\n  If you use a style-reference, the style-attribute should be LINESTYLE. Line patterns can be \\n  specified as a pattern name or pattern number. Some valid pattern numbers: 1 (Solid), 2 (ShortDash), \\n  4 (MediumDash), 5 (LongDash) 8 (MediumDashShortDash) 14 (DashDashDot) 15 (DashDotDot) 20 (Dash) \\n  26 (LongDashShortDash) 34 (Dot) 35 (ThinDot) 41 (ShortDashDot) 42 (MediumDashDotDot). \\n  Not all pattern numbers have names. \\n\\n  THICKNESS=style-reference | dimension \\n  specifies the line thickness. If you use a style-reference, the style-attribute should be LINETHICKNESS.\\n\\nDefault: The GraphDataDefault style element.\\n\\nInteraction: For this option to have any effect, the outlines must be enabled by the ODS style \\nor the DISPLAY= option.\"},\"StatementOptionType\":\"V\",\"SubOptionsKeywords\":\"COLOR=|PATTERN=|THICKNESS=\"},{\"StatementOptionName\":\"TYPE=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies the type of ellipse. \\n\\nDefault: MEAN\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"MEAN\",\"@Value2\":\"PREDICTED\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Specifies a confidence ellipse of the mean.\",\"@ToolTip2\":\"Specifies a prediction ellipse for a new observation.\"}},{\"StatementOptionName\":\"XAXIS=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies whether data are mapped to the primary X (bottom) axis or to the secondary X2 (top) axis. \\n\\nDefault: X\\n\\nInteraction: The overall plot specification and the layout type determine the axis display.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"X\",\"@Value2\":\"X2\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Data are mapped to the primary X (bottom) axis.\",\"@ToolTip2\":\"Data are mapped to the the secondary X2 (top) axis.\"}},{\"StatementOptionName\":\"YAXIS=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies whether data are mapped to the primary Y (left) axis or to the secondary Y2 (right) axis. \\n\\nDefault: Y\\n\\nInteraction: The overall plot specification and the layout type determine the axis display.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"Y\",\"@Value2\":\"Y2\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Data are mapped to the primary Y (left) axis.\",\"@ToolTip2\":\"Data are mapped to the secondary Y2 (right) axis.\"}}]}},{\"StatementName\":\"ELLIPSEPARM\",\"StatementHelp\":{\"#cdata\":\"Syntax: ELLIPSEPARM SEMIMAJOR= number | numeric-column | expression\\n      SEMIMINOR= number | numeric-column | expression\\n      SLOPE = number | numeric-column | expression\\n      XORIGIN = number | numeric-column | expression\\n      YORIGIN = number | numeric-column | expression </ option(s)> ; \\n\\nCreates an ellipse specified by slope, axis, and origin parameters.\"},\"StatementOptions\":{\"StatementOption\":[{\"StatementOptionName\":\"SEMIMAJOR=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: SEMIMAJOR=number | numeric-column | expression] \\n          \\nSpecifies half the length of the major axis for the ellipse. \\n\\nRequirement: The semimajor value must be positive.\\n\\nTip: Values are in the units of the data. The semimajor value may be greater, smaller or equal \\nto semiminor value.\\n\\nInteraction: If a numeric column is specified and the column contains missing or negative values, \\nno ellipse is drawn.\"},\"StatementOptionType\":\"RV\"},{\"StatementOptionName\":\"SEMIMINOR=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: SEMIMINOR=number | numeric-column | expression] \\n          \\nSpecifies half the length of the minor axis for the ellipse. \\nRequirement: The semimajor value must be positive.\\n\\nTip: Values are in the units of the data. The semiminor value may be smaller, greater or equal \\nto semimajor value.\\n\\nInteraction: If a numeric column is specified and the column contains missing or negative values, \\nno ellipse is drawn.\"},\"StatementOptionType\":\"RV\"},{\"StatementOptionName\":\"SLOPE=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: SLOPE=number | numeric-column | expression] \\n          \\nSpecifies the slope of the major axis for the ellipse. \\nTip: Slope may be positive or negative.\\n\\nTip: Setting SLOPE= 0 creates a major axis parallel to the X-axis.\\nSetting SLOPE=. (missing value) creates a major axis parallel to the Y-axis.\\n\\nTip: The slope value is in the data space and may or may not be maintained in the screen space. \\nThus, setting SLOPE=1 does not always generate a 45 degree line on the screen.\"},\"StatementOptionType\":\"RV\"},{\"StatementOptionName\":\"XORIGIN=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: XORIGIN=number | numeric-column | expression] \\n          \\nSpecifies the X coordinate of the center of the ellipse. \\nTip: Values are in the units of the data.\\n\\nTip: By default, if the value specified for the XORIGIN= option is outside of the X-axis data \\nrange, then the data range is extended to include the specified point. This behavior can be \\nchanged with the CLIP= option.\"},\"StatementOptionType\":\"RV\"},{\"StatementOptionName\":\"YORIGIN=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: YORIGIN=number | numeric-column | expression] \\n          \\nSpecifies the Y coordinate of the center of the ellipse. \\nTip: Values are in the units of the data.\\n\\nTip: By default, if the value specified for the YORIGIN= option is outside of the Y-axis data range, \\nthen the data range is extended to include the specified point. This behavior can be changed with \\nthe CLIP= option.\"},\"StatementOptionType\":\"RV\"},{\"StatementOptionName\":\"CLIP=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies whether the data for the ellipse are considered when determining the data ranges for the axes. \\n\\nDefault: FALSE\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"FALSE\",\"@Value2\":\"TRUE\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"The data for the ellipse contribute to the data range for each axis. Each axis may be extended to  force the display of the entire ellipse.\",\"@ToolTip2\":\"The data for the ellipse are ignored when establishing axis scales. Each axis scale is determined by  the other plots in the parent layout. This may result in the ellipse not being entirely displayed  (clipped) if its data range is not within the data ranges of the other plots.\"}},{\"StatementOptionName\":\"DATATRANSPARENCY=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: DATATRANSPARENCY=number] \\n          \\nSpecifies the degree of the transparency of the ellipse fill color and outline. \\n\\nDefault: 0\\n\\nRange: 0 (opaque) to 1 (entirely transparent)\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"DISPLAY=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies whether to display an outlined ellipse, a filled ellipse, or an outlined and filled ellipse. \\n\\nDefault: GraphEllipse:DisplayOpts style reference.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"STANDARD\",\"@Value2\":\"ALL\",\"@Value3\":\"<(display-options)>\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Displays an outlined, unfilled ellipse.\",\"@ToolTip2\":\"Displays an outlined, filled ellipse.\",\"@ToolTip3\":\"A parenthesized list of features to be displayed. The list must include one of the following:  OUTLINE  displays an outlined ellipse   FILL  displays a filled ellipse\"},\"SubOptionsKeywords\":\"OUTLINE|FILL\"},{\"StatementOptionName\":\"FILLATTRS=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: FILLATTRS=style-element | style-element (fill-options) | (fill-options)] \\n          \\nSpecifies the appearance of the interior fill area of the ellipse. \\n\\nWhen specifying the attributes for an area fill, the COLOR fill-option is the only option that \\nis currently available. The option must be enclosed in parentheses and specified as a name=value \\npair. The value may be a style-reference in the form style-element:style-attribute.\\n\\n  COLOR=style-reference | color \\n  specifies the fill color. If you use a style-reference, the style-attribute should be a valid \\n  attribute such as COLOR, CONTRASTCOLOR, STARTCOLOR, NEUTRAL, ENDCOLOR. The convention is to use \\n  the COLOR attribute for fill areas. If you use a color, SAS/GRAPH accepts color names, such as \\n  RED, or color codes, such as CXFF0000 or #FF0000. Color names must not exceed 64 characters. \\n  Color codes must not exceed 8 characters and must be in a valid SAS color-naming scheme, such \\n  as RGB, CMYK, HLS, or HSV (HSB).\\n\\nDefault:\\n  o For non-grouped data, the GraphDataDefault style element. \\n  o For grouped data, the GraphData1 - GraphDataN style elements. \\n\\nInteraction: For this option to have any effect, the fill must be enabled by the ODS style or \\nthe DISPLAY= option.\"},\"StatementOptionType\":\"V\",\"SubOptionsKeywords\":\"COLOR=\"},{\"StatementOptionName\":\"GROUP=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: GROUP=column | expression] \\n          \\nCreates a separate ellipse for each unique group value of the specified column. \\nDefault:\\n  o If DISPLAY=(OUTLINE), each distinct group value may be represented in the graph by a different \\n    combination of outline color and line pattern. Line color and pattern vary according to the \\n    ContrastColor and LineStyle attributes of the GraphData1 - GraphDataN style elements. Line \\n    thickness (for grouped and un-grouped data) is controlled by the OUTLINEATTRS= option. \\n  o If DISPLAY=(FILL), each distinct group value may be represented in the graph by a different \\n    fill color defined by the GraphData1:Color - GraphDataN:Color style references. \\n  o If DISPLAY=(FILL OUTLINE), each distinct group value may be represented in the graph by \\n    a different fill color, outline color, and outline pattern. \\n\\nTip: The representations that are used to identify the groups can be overridden individually. \\nFor example, each distinct group value may be represented by a different line pattern for the \\nellipses, but the PATTERN= suboption of the OUTLINEATTRS= option could be used to assign the \\nsame line pattern to all ellipse outlines, letting outline color distinguish group values.\\n\\nRestriction: This option can only be used when a numeric column is specified for the SLOPE=, \\nSEMIMAJOR=, and SEMIMINOR= arguments.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"INDEX=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: INDEX=positive-integer-column | expression] \\n        \\nSpecifies indices for mapping line attributes (color and pattern) and fill attributes to one \\nof the GraphData1 - GranphDataN style elements. \\n\\nDefault: no default\\n\\nInteraction: For this option to have any effect, the GROUP= option must also be specified.\\n\\nInteraction: All of the indexes for a specific group value must be the same; otherwise, the \\nresults are unpredictable.\\n\\nInteraction: If this option is not used, then the group values are mapped in the order of the data.\\n\\nInteraction: The index values are 1-based indices. For the style elements in GraphData1 - GraphDataN, \\nif the index value is greater than N, then a modulo operation remaps that index value to a number \\nless than N to determine which style element to use.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"LEGENDLABEL=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: LEGENDLABEL=\\\"string\\\"] \\n          \\nSpecifies the legend label. \\nDefault: The string specified on the NAME= option.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"NAME=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: NAME=\\\"string\\\"] \\n          \\nAssigns a name to a plot statement for reference in other template statements. \\nDefault: no default\\n\\nRestriction: The string is case sensitive, cannot contain spaces, and must define a unique \\nname within the template.\\n\\nInteraction: The string is used as the default legend label if the LEGENDLABEL= option is not used.\\n\\nTip: The specified name is used primarily in legend statements to coordinate the use of colors \\nand line patterns between the graph and the legend.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"OUTLINEATTRS=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: OUTLINEATTRS=style-element | style-element (line-options) | (line-options)] \\n          \\nSpecifies the attributes of the ellipse outline. \\n\\nThe available line-options can be any one or more of the following settings. The options must be \\nenclosed in parentheses, and each option is specified as a name=value pair:\\n\\n  COLOR=style-reference | color \\n  specifies the line color. If you use a style-reference, the style-attribute should be a valid \\n  attribute such as COLOR, CONTRASTCOLOR, STARTCOLOR, NEUTRAL, ENDCOLOR. The convention is to use \\n  CONTRASTCOLOR for lines. If you specify a style element that does not have a CONTRASTCOLOR attribute, \\n  the element's COLOR attribute is used. If you use a color, SAS/GRAPH accepts color names, such \\n  as RED, or color codes, such as CXFF0000 or #FF0000.\\n\\n  PATTERN=style-reference | line-pattern-name | line-pattern-number specifies the line pattern. \\n  If you use a style-reference, the style-attribute should be LINESTYLE. Line patterns can be \\n  specified as a pattern name or pattern number. Some valid pattern numbers: 1 (Solid), 2 (ShortDash), \\n  4 (MediumDash), 5 (LongDash) 8 (MediumDashShortDash) 14 (DashDashDot) 15 (DashDotDot) 20 (Dash) \\n  26 (LongDashShortDash) 34 (Dot) 35 (ThinDot) 41 (ShortDashDot) 42 (MediumDashDotDot). \\n  Not all pattern numbers have names. \\n\\n  THICKNESS=style-reference | dimension \\n  specifies the line thickness. If you use a style-reference, the style-attribute should be LINETHICKNESS.\\n\\nDefault:\\no For non-grouped data, the GraphDataDefault style element. \\no For grouped data, the GraphData1 - GraphDataN style elements.\"},\"StatementOptionType\":\"V\",\"SubOptionsKeywords\":\"COLOR=|PATTERN=|THICKNESS=\"},{\"StatementOptionName\":\"XAXIS=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies whether data are mapped to the primary X (bottom) axis or to the secondary X2 (top) axis. \\n\\nDefault: X\\n\\nRestriction: Another plot that establishes a data range for the designed axis must be included.\\n\\nInteraction: The overall plot specification and the layout type determine the axis display.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"X\",\"@Value2\":\"X2\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Data are mapped to the primary X (bottom) axis.\",\"@ToolTip2\":\"Data are mapped to the the secondary X2 (top) axis.\"}},{\"StatementOptionName\":\"YAXIS=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies whether data are mapped to the primary Y (left) axis or to the secondary Y2 (right) axis. \\n\\nDefault: Y\\n\\nRestriction: Another plot that establishes a data range for the designed axis must be included.\\n\\nInteraction: The overall plot specification and the layout type determine the axis display.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"Y\",\"@Value2\":\"Y2\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Data are mapped to the primary Y (left) axis.\",\"@ToolTip2\":\"Data are mapped to the secondary Y2 (right) axis.\"}}]}},{\"StatementName\":\"FRINGEPLOT\",\"StatementHelp\":{\"#cdata\":\"Syntax: FRINGEPLOT numeric-column | expression </ option(s)> ; \\n      \\nCreates a fringe plot on the X axis of an X-Y plot.\"},\"StatementOptions\":{\"StatementOption\":[{\"StatementOptionName\":\"DATATRANSPARENCY=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: DATATRANSPARENCY=number] \\n          \\nSpecifies the degree of the transparency of the fringe. \\nDefault: 0\\n\\nRange: 0 (opaque) to 1 (entirely transparent)\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"FRINGEHEIGHT=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: FRINGEHEIGHT=dimension] \\n          \\nSpecifies the height of the fringe lines. \\n\\nDefault: 10 px\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"LEGENDLABEL=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: LEGENDLABEL=\\\"string\\\"] \\n          \\nSpecifies a label for use in a legend.\\n\\nDefault: The X-variable label. If a label is not defined, the X-variable name.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"LINEATTRS=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: LINEATTRS=style-element | style-element (line-options) | (line-options)] \\n          \\nSpecifies the attributes of the fringe lines for the data points. \\nDefault: The GraphDataDefault style element.\\n\\nThe available line-options can be any one or more of the following settings. The options must be \\nenclosed in parentheses, and each option is specified as a name=value pair:\\n\\n  COLOR=style-reference | color \\n  specifies the line color. If you use a style-reference, the style-attribute should be a valid \\n  attribute such as COLOR, CONTRASTCOLOR, STARTCOLOR, NEUTRAL, ENDCOLOR. The convention is to use \\n  CONTRASTCOLOR for lines. If you specify a style element that does not have a CONTRASTCOLOR attribute, \\n  the element's COLOR attribute is used. If you use a color, SAS/GRAPH accepts color names, such \\n  as RED, or color codes, such as CXFF0000 or #FF0000.\\n\\n  PATTERN=style-reference | line-pattern-name | line-pattern-number specifies the line pattern. \\n  If you use a style-reference, the style-attribute should be LINESTYLE. Line patterns can be specified \\n  as a pattern name or pattern number. Some valid pattern numbers: 1 (Solid), 2 (ShortDash), 4 (MediumDash), \\n  5 (LongDash) 8 (MediumDashShortDash)   14 (DashDashDot) 15 (DashDotDot) 20 (Dash) 26 (LongDashShortDash) \\n  34 (Dot) 35 (ThinDot) 41 (ShortDashDot) 42 (MediumDashDotDot). Not all pattern numbers have names.\\n\\n  THICKNESS=style-reference | dimension \\n  specifies the line thickness. If you use a style-reference, the style-attribute should be LINETHICKNESS.\"},\"StatementOptionType\":\"V\",\"SubOptionsKeywords\":\"COLOR=|PATTERN=|THICKNESS=\"},{\"StatementOptionName\":\"NAME=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: NAME=\\\"string\\\"] \\n          \\nAssigns a name to a plot statement for reference in other template statements. \\n\\nDefault: no default\\n\\nRestriction: The string is case sensitive, cannot contain spaces, and must define a unique \\nname within the template.\\n\\nTip: The specified name is used primarily in legend statements to coordinate the use of colors \\nand line patterns between the graph and the legend.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"ROLENAME=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: ROLENAME=( role-name-list )] \\n          \\nSpecifies user-defined roles for information contained in data columns. \\nDefault: no default\\n\\nrole-name-list \\na blank-separated list of rolename = column pairs. \\nFor example, ROLENAME= ( TIP1=PCT ) assigns the column PCT to the user-defined role TIP1.\\n\\nRequirement: The role names you choose must be unique and different from the pre-defined \\nroles X and GROUP (reserved for future use).\\n\\nTip: This option provides a way to add to the data columns that appear in tooltips specified \\nby the TIP= option.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"TIP=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: TIP=(role-list)] \\n          \\nSpecifies the information to display when the cursor is positioned over a fringe line. If this \\nption is used, it replaces all the information displayed by default. Roles for columns that do \\nnot contribute to the fringe plot may be specfied along with roles that do. \\n\\nDefault: The columns assigned to these roles are automatically included in the tooltip \\ninformation: X and GROUP (reserved for future use).\\n\\nrole-list \\nan ordered, blank-separated list of unique FRINGEPLOT and user-defined roles. The FRINGEPLOT role is X. \\nUser-defined roles are defined with the ROLENAME= option.\\n\\nThe following example displays tooltips for the columns assigned to the roles X and Y, as well \\nas the column PCT, which is not assigned to any pre-defined FringePlot role. The PCT column \\nshould appear first in the tooltip.\\n\\n   ROLENAME=(TIP1=PCT) \\n   TIP=(X TIP1) \\n\\nRequirement: To generate tooltips, you must include an ODS GRAPHICS ON statement that has the \\nIMAGEMAP option specified, and write the graphs to the ODS HTML destination.\\n\\nInteraction: The labels and formats for the TIP variables can be controlled with the TIPLABEL= \\nand TIPFORMAT= options.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"TIPFORMAT=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: TIPFORMAT=(role-format-list)] \\n          \\nSpecifies display formats for tip columns. \\n\\nDefault: The column format of the variable assigned to the role or BEST6. if no format is \\nassigned to a numeric column.\\n\\nrole-format-list \\na list of rolename = format pairs separated by blanks. \\n  \\n   ROLENAME=(TIP1=PCT) \\n   TIP=(X TIP1) \\n   TIPFORMAT=( TIP1= PERCENT7.2 ) \\n\\nRequirement: This option provides a way to control the formats of columns that appear in tooltips. \\nOnly the roles that appear in the TIP= option are used. Columns must be assigned to the roles for \\nthis option to have any effect. See the ROLENAME= option.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"TIPLABEL=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: TIPLABEL=(role-format-list)] \\n          \\nSpecifies display labels for tip columns. \\nDefault: The column label or column name of the variable assigned to the role.\\n\\nrole-label-list \\na list of rolename = \\\"string\\\" pairs separated by blanks. \\n  \\n   ROLENAME=(TIP1=PCT) \\n   TIP=(X TIP1) \\n   TIPLABEL=( TIP1=\\\"Percent\\\" )\\n \\n\\nRequirement: This option provides a way to control the labels of columns that appear in tooltips. \\nOnly the roles that appear in the TIP= option are used. Columns must be assigned to the roles for \\nthis option to have any effect. See the ROLENAME= option.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"XAXIS=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies whether data are mapped to the primary X (bottom) axis or to the secondary X2 (top) axis. \\n\\nDefault: X\\n\\nInteraction: The overall plot specification and the layout type determine the axis display.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"X\",\"@Value2\":\"X2\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Data are mapped to the primary X (bottom) axis.\",\"@ToolTip2\":\"Data are mapped to the the secondary X2 (top) axis.\"}}]}},{\"StatementName\":\"HISTOGRAM\",\"StatementHelp\":{\"#cdata\":\"Syntax: HISTOGRAM numeric-column | expression </ option(s)> ; \\n      \\nCreates a univariate histogram computed from input data.\"},\"StatementOptions\":{\"StatementOption\":[{\"StatementOptionName\":\"BINAXIS=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies whether to use bins as the basis for the axis tick marks. \\n\\nDefault: TRUE\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"FALSE\",\"@Value2\":\"TRUE\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"The ENDLABELS= option is ignored. A standard axis is used, ignoring bin boundaries and midpoints.\",\"@ToolTip2\":\"The ENDLABELS= option determines how the axis ticks and value labels are displayed. The axis ticks  are in predetermined locations and cannot be changed with axis suboptions such TICKVALUELIST= and  TICKVALUESEQUENCE=.\"}},{\"StatementOptionName\":\"BINSTART=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: BINSTART=number] \\n          \\nSpecifies the X coordinate of the first bin. Use this option in conjunction with the BINWIDTH= \\nor NBINS= options to specify bins. If neither BINWIDTH= nor the NBINS= option is specified, the \\nsystem determines the number of bins. If the BINSTART value results in excluding the entire range \\nof data, it is ignored and the default BINSTART value is used. \\n\\nDefault: Determined by the system.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"BINVALUES=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies whether the X values represent lower endpoints, midpoints, or upper endpoints of the bins. \\n\\nDefault: MIDPOINTS\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"MIDPOINTS\",\"@Value2\":\"LEFTPOINTS\",\"@Value3\":\"RIGHTPOINTS\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Specifies that the X values represent midpoints of the bins.\",\"@ToolTip2\":\"Specifies that the X values represent lower endpoints of the bins.\",\"@ToolTip3\":\"Specifies that the X values represent upper endpoints of the bins.\"}},{\"StatementOptionName\":\"BINWIDTH=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: BINWIDTH=number] \\n          \\nSpecifies the bin width. The system determines the number of bins. The bins always span the \\nrange of the data. \\n\\nDefault: Determined by the system.\\n\\nInteraction: This option is ignored if the NBINS= option is also specified.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"BOUNDARY=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies how a boundary is counted when it lies on the endpoint of a bin. If this option is set to \\nUPPER, then the value is counted as one of the values in the upper bin (the bin to the right); \\notherwise, it is counted in the lower bin. \\n\\nDefault: UPPER\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"UPPER\",\"@Value2\":\"LOWER\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"A boundary is counted as one of the values in the upper bin (the bin to the right).\",\"@ToolTip2\":\"A boundary is counted as one of the values in the lower bin (the bin to the left).\"}},{\"StatementOptionName\":\"DATATRANSPARENCY=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: DATATRANSPARENCY=number] \\n          \\nSpecifies the degree of the transparency of the bars (outline and fill). \\nDefault: 0\\n\\nRange: 0 (opaque) to 1 (entirely transparent)\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"DISPLAY=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies whether to display outlined bars, filled bars, or outlined and filled bars. \\n\\nDefault: The GraphHistogram:DisplayOpts style reference.\\n\\nTip: Use the OUTLINEATTRS= and FILLATTRS= options to control the appearance of the bars.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"STANDARD\",\"@Value2\":\"ALL\",\"@Value3\":\"<(display-options)>\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Displays outlined, filled bars.\",\"@ToolTip2\":\"Displays outlined, filled bars.\",\"@ToolTip3\":\"A parenthesized list of comma-separated options. Any of the options from the OUTLINEATTRS= and  FILLATTRS= options can be used. The specified list must include one of the following:   OUTLINE  displays outlined bars   FILL  displays filled bars\"},\"SubOptionsKeywords\":\"OUTLINE|FILL\"},{\"StatementOptionName\":\"ENDLABELS=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies whether the axis ticks and value labels are drawn at the bin endpoints or bin midpoints. \\n\\nDefault: FALSE\\n\\nInteraction: If this option is set to FALSE, then the axis ticks and value labels are drawn at the \\nbin midpoints, whether the BINVALUES= option identifies the X data as endpoint values or midpoint values.\\n\\nInteraction: If BINAXIS=FALSE or this HISTOGRAM is not the primary plot, then this option is ignored.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"FALSE\",\"@Value2\":\"TRUE\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Specifies that the axis ticks and value labels are drawn at the bin midpoints.\",\"@ToolTip2\":\"Specifies that the axis ticks and value labels are drawn at the bin endpoints.\"}},{\"StatementOptionName\":\"FILLATTRS=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: FILLATTRS=style-element | style-element (fill-options) | (fill-options)] \\n          \\nSpecifies the appearance of the interior fill area of the bars. \\n\\nWhen specifying the attributes for an area fill, the COLOR fill-option is the only option that \\nis currently available. The option must be enclosed in parentheses and specified as a name=value \\npair. The value may be a style-reference in the form style-element:style-attribute.\\n\\n  COLOR=style-reference | color \\n  specifies the fill color. If you use a style-reference, the style-attribute should be a valid \\n  attribute such as COLOR, CONTRASTCOLOR, STARTCOLOR, NEUTRAL, ENDCOLOR. The convention is to use \\n  the COLOR attribute for fill areas. If you use a color, SAS/GRAPH accepts color names, such as \\n  RED, or color codes, such as CXFF0000 or #FF0000. Color names must not exceed 64 characters. \\n  Color codes must not exceed 8 characters and must be in a valid SAS color-naming scheme, such \\n  as RGB, CMYK, HLS, or HSV (HSB).\\n\\nDefault: The GraphDataDefault style element. \\n\\nInteraction: For this option to have any effect, the fill must be enabled by the ODS style or the DISPLAY= option\"},\"StatementOptionType\":\"V\",\"SubOptionsKeywords\":\"COLOR=\"},{\"StatementOptionName\":\"FREQ=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: FREQ=numeric-column | expression] \\n          \\nSpecifies a column that indicates a frequency count for each observation of the input data object. \\nIf n is the value of the FREQ variable for a given observation, then that observation is plotted n times. \\n\\nDefault: Each observation has a frequency count of 1.\\n\\nRestriction: If the value of the numeric-column is missing or is less than 1, the observation is not \\nused in the analysis. If the value is not an integer, only the integer portion is used.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"LEGENDLABEL=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: LEGENDLABEL= \\\"string\\\"] \\n          \\nSpecifies a label for the legend. \\n\\nDefault: The string specified on the NAME= option.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"NAME=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: NAME=\\\"string\\\"] \\n          \\nAssigns a name to a plot statement for reference in other template statements. \\nDefault: no default\\n\\nRestriction: The string is case sensitive, cannot contain spaces, and must define a unique \\nname within the template.\\n\\nInteraction: The string is used as the default legend label if the LEGENDLABEL= option is not used.\\n\\nTip: The specified name is used primarily in legend statements to coordinate the use of colors \\nand line patterns between the graph and the legend.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"NBINS=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: NBINS=integer] \\n          \\nSpecifies the number of bins. The system determines the BINWIDTH= value. The bins always \\nspan the range of the data. \\n\\nDefault: Determined by the system.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"ORIENT=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies the orientation of the Y axis and the bars. \\n\\nDefault: VERTICAL\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"VERTICAL\",\"@Value2\":\"HORIZONTAL\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Specifies a vertical orientation for the Y axis and the bars.\",\"@ToolTip2\":\"Specifies a horizontal orientation for the Y axis and the bars.\"}},{\"StatementOptionName\":\"OUTLINEATTRS=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: OUTLINEATTRS=style-element | style-element (line-options) | (line-options)] \\n          \\nSpecifies the line properties of the bar outlines. \\n\\nThe available line-options can be any one or more of the following settings. The options must be \\nenclosed in parentheses, and each option is specified as a name=value pair:\\n\\n  COLOR=style-reference | color \\n  specifies the line color. If you use a style-reference, the style-attribute should be a valid \\n  attribute such as COLOR, CONTRASTCOLOR, STARTCOLOR, NEUTRAL, ENDCOLOR. The convention is to use \\n  CONTRASTCOLOR for lines. If you specify a style element that does not have a CONTRASTCOLOR attribute, \\n  the element's COLOR attribute is used. If you use a color, SAS/GRAPH accepts color names, such \\n  as RED, or color codes, such as CXFF0000 or #FF0000.\\n\\n  PATTERN=style-reference | line-pattern-name | line-pattern-number specifies the line pattern. \\n  If you use a style-reference, the style-attribute should be LINESTYLE. Line patterns can be \\n  specified as a pattern name or pattern number. Some valid pattern numbers: 1 (Solid), 2 (ShortDash), \\n  4 (MediumDash), 5 (LongDash) 8 (MediumDashShortDash) 14 (DashDashDot) 15 (DashDotDot) 20 (Dash) \\n  26 (LongDashShortDash) 34 (Dot) 35 (ThinDot) 41 (ShortDashDot) 42 (MediumDashDotDot). \\n  Not all pattern numbers have names.\\n\\n  THICKNESS=style-reference | dimension \\n  specifies the line thickness. If you use a style-reference, the style-attribute should be LINETHICKNESS.\\n\\nDefault: The GraphDataDefault style element.\\n\\nInteraction: For this option to have any effect, the outlines must be enabled by the ODS style \\nor the DISPLAY= option.\"},\"StatementOptionType\":\"V\",\"SubOptionsKeywords\":\"COLOR=|PATTERN=|THICKNESS=\"},{\"StatementOptionName\":\"PRIMARY=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies that the data columns for this plot be used for determining default axis features. \\n\\nDefault: FALSE\\n\\nRestriction: This option is ignored if the plot is placed under a GRIDDED or LATTICE layout block.\\n\\nDetails: This option is needed only when two or more plots within an overlay-type layout \\ncontribute to a common axis.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"FALSE\",\"@Value2\":\"TRUE\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Specifies that the data columns for this plot not be used for determining default  axis features.\",\"@ToolTip2\":\"Specifies that the data columns for this plot be used for determining default  axis features.\"}},{\"StatementOptionName\":\"SCALE=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies whether the Y axis will display the percentages between 0 and 100, or the frequency counts, \\nor the proportions between 0 and 1. \\n\\nDefault: PERCENT\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"PERCENT\",\"@Value2\":\"COUNT\",\"@Value3\":\"PROPORTION\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Specifies that the Y axis will display the percentages between 0 and 100.\",\"@ToolTip2\":\"Specifies that the Y axis will display the the frequency counts.\",\"@ToolTip3\":\"Specifies that the Y axis will display the proportions between 0 and 1.\"}},{\"StatementOptionName\":\"TIPFORMAT=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: TIPFORMAT=(role-format-list)] \\n          \\nSpecifies display formats for tip columns. \\nDefault: The column format of the variable assigned to the role or BEST6. if no format is assigned \\nto a numeric column. The X role represents the binned value. The Y role represents the computed amount\\nof X in the units specified by the SCALE= option.\\n\\n(role-format-list) \\na list of rolename = format pairs separated by blanks. \\n  \\n   TIPFORMAT=( Y=PERCENT7.2) \\n\\nRequirement: To generate tool tips, you must include an ODS GRAPHICS ON statement that has the \\nIMAGEMAP option specified, and write the graphs to the ODS HTML destination.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"TIPLABEL=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: TIPLABEL=(role-label-list)] \\n          \\nSpecifies display labels for tip columns. \\nDefault: The column label or column name of the variable assigned to the role. The X role \\nrepresents the binned value. The Y role represents the computed amount of X in the units \\nspecified by the SCALE= option.\\n\\n(role-label-list) \\na list of rolename = \\\"string\\\" pairs separated by blanks. \\n  \\n    TIPLABEL=( Y=\\\"Percent\\\") \\n\\nRequirement: To generate tool tips, you must include an ODS GRAPHICS ON statement that \\nhas the IMAGEMAP option specified, and write the graphs to the ODS HTML destination.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"XAXIS=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies whether data are mapped to the primary X (bottom) axis or to the secondary X2 (top) axis. \\n\\nDefault: X\\n\\nInteraction: The overall plot specification and the layout type determine the axis display.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"X\",\"@Value2\":\"X2\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Data are mapped to the primary X (bottom) axis.\",\"@ToolTip2\":\"Data are mapped to the the secondary X2 (top) axis.\"}},{\"StatementOptionName\":\"YAXIS=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies whether data are mapped to the primary Y (left) axis or to the secondary Y2 (right) axis. \\n\\nDefault: Y\\n\\nInteraction: The overall plot specification and the layout type determine the axis display.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"Y\",\"@Value2\":\"Y2\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Data are mapped to the primary Y (left) axis.\",\"@ToolTip2\":\"Data are mapped to the secondary Y2 (right) axis.\"}}]}},{\"StatementName\":\"HISTOGRAMPARM\",\"StatementHelp\":{\"#cdata\":\"Syntax: HISTOGRAMPARM X = numeric-column | expression\\n      Y = non-negative-numeric-column | expression </ option(s)> ; \\n      \\nCreates a univariate histogram for specified values of bin midpoints and bin frequencies.\"},\"StatementOptions\":{\"StatementOption\":[{\"StatementOptionName\":\"X=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: X=numeric-column | expression] \\n        \\nSpecifies the column for the midpoint values. \\nRequirement: The X values must be uniformly spaced.\"},\"StatementOptionType\":\"RV\"},{\"StatementOptionName\":\"Y=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: Y=non-negative-numeric-column | expression] \\n        \\nSpecifies the column for the frequency values. These values can be frequency counts, percentages, \\nor proportions between 0 and 1. \\n\\nRequirement: The Y values cannot be negative.\"},\"StatementOptionType\":\"RV\"},{\"StatementOptionName\":\"BINAXIS=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies whether to use bins as the basis for the axis tick marks. \\n\\nDefault: TRUE\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"FALSE\",\"@Value2\":\"TRUE\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"The ENDLABELS= option is ignored. A standard axis is used, ignoring bin boundaries and midpoints.\",\"@ToolTip2\":\"The ENDLABELS= option determines how the axis ticks and value labels are displayed. The axis ticks  are in predetermined locations and cannot be changed with axis suboptions such TICKVALUELIST= and  TICKVALUESEQUENCE=.\"}},{\"StatementOptionName\":\"DATATRANSPARENCY=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: DATATRANSPARENCY=number] \\n          \\nSpecifies the degree of the transparency of the bars (outline and fill). \\nDefault: 0\\n\\nRange: 0 (opaque) to 1 (entirely transparent)\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"DISPLAY=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies whether to display outlined bars, filled bars, or outlined and filled bars. \\n\\nDefault: The GraphHistogram:DisplayOpts style reference.\\n\\nTip: Use the OUTLINEATTRS= and FILLATTRS= options to control the appearance of the bars.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"STANDARD\",\"@Value2\":\"ALL\",\"@Value3\":\"<(display-options)>\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Displays outlined, filled bars.\",\"@ToolTip2\":\"Displays outlined, filled bars.\",\"@ToolTip3\":\"A parenthesized list of comma-separated options. Any of the options from the OUTLINEATTRS= and  FILLATTRS= options can be used. The specified list must include one of the following:   OUTLINE  displays outlined bars   FILL  displays filled bars\"},\"SubOptionsKeywords\":\"OUTLINE|FILL\"},{\"StatementOptionName\":\"ENDLABELS=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies whether the axis ticks and value labels are drawn at the bin endpoints or bin midpoints. \\n\\nDefault: FALSE\\n\\nInteraction: If this option is set to FALSE, then the axis ticks and value labels are drawn at the \\nbin midpoints, whether the BINVALUES= option identifies the X data as endpoint values or midpoint values.\\n\\nInteraction: If BINAXIS=FALSE or this HISTOGRAM is not the primary plot, then this option is ignored.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"FALSE\",\"@Value2\":\"TRUE\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Specifies that the axis ticks and value labels are drawn at the bin midpoints.\",\"@ToolTip2\":\"Specifies that the axis ticks and value labels are drawn at the bin endpoints.\"}},{\"StatementOptionName\":\"FILLATTRS=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: FILLATTRS=style-element | style-element (fill-options) | (fill-options)] \\n          \\nSpecifies the appearance of the interior fill area of the bars. \\n\\nWhen specifying the attributes for an area fill, the COLOR fill-option is the only option that \\nis currently available. The option must be enclosed in parentheses and specified as a name=value \\npair. The value may be a style-reference in the form style-element:style-attribute.\\n\\n  COLOR=style-reference | color \\n  specifies the fill color. If you use a style-reference, the style-attribute should be a valid \\n  attribute such as COLOR, CONTRASTCOLOR, STARTCOLOR, NEUTRAL, ENDCOLOR. The convention is to use \\n  the COLOR attribute for fill areas. If you use a color, SAS/GRAPH accepts color names, such as \\n  RED, or color codes, such as CXFF0000 or #FF0000. Color names must not exceed 64 characters. \\n  Color codes must not exceed 8 characters and must be in a valid SAS color-naming scheme, such \\n  as RGB, CMYK, HLS, or HSV (HSB).\\n\\nDefault: The GraphDataDefault style element. \\n\\nInteraction: For this option to have any effect, the fill must be enabled by the ODS style or the DISPLAY= option\"},\"StatementOptionType\":\"V\",\"SubOptionsKeywords\":\"COLOR=\"},{\"StatementOptionName\":\"LEGENDLABEL=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: LEGENDLABEL= \\\"string\\\"] \\n          \\nSpecifies a label for use in a legend. \\n\\nDefault: The string specified on the NAME= option.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"NAME=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: NAME=\\\"string\\\"] \\n          \\nAssigns a name to a plot statement for reference in other template statements. \\nDefault: no default\\n\\nRestriction: The string is case sensitive, cannot contain spaces, and must define a unique \\nname within the template.\\n\\nInteraction: The string is used as the default legend label if the LEGENDLABEL= option is not used.\\n\\nTip: The specified name is used primarily in legend statements to coordinate the use of colors \\nand line patterns between the graph and the legend.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"ORIENT=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies the orientation of the Y axis and the bars. \\n\\nDefault: VERTICAL\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"VERTICAL\",\"@Value2\":\"HORIZONTAL\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Specifies a vertical orientation for the Y axis and the bars.\",\"@ToolTip2\":\"Specifies a horizontal orientation for the Y axis and the bars.\"}},{\"StatementOptionName\":\"OUTLINEATTRS=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: OUTLINEATTRS=style-element | style-element (line-options) | (line-options)] \\n          \\nSpecifies the line properties of the bar outlines. \\n\\nThe available line-options can be any one or more of the following settings. The options must be \\nenclosed in parentheses, and each option is specified as a name=value pair:\\n\\n  COLOR=style-reference | color \\n  specifies the line color. If you use a style-reference, the style-attribute should be a valid \\n  attribute such as COLOR, CONTRASTCOLOR, STARTCOLOR, NEUTRAL, ENDCOLOR. The convention is to use \\n  CONTRASTCOLOR for lines. If you specify a style element that does not have a CONTRASTCOLOR attribute, \\n  the element's COLOR attribute is used. If you use a color, SAS/GRAPH accepts color names, such \\n  as RED, or color codes, such as CXFF0000 or #FF0000.\\n\\n  PATTERN=style-reference | line-pattern-name | line-pattern-number specifies the line pattern. \\n  If you use a style-reference, the style-attribute should be LINESTYLE. Line patterns can be \\n  specified as a pattern name or pattern number. Some valid pattern numbers: 1 (Solid), 2 (ShortDash), \\n  4 (MediumDash), 5 (LongDash) 8 (MediumDashShortDash) 14 (DashDashDot) 15 (DashDotDot) 20 (Dash) \\n  26 (LongDashShortDash) 34 (Dot) 35 (ThinDot) 41 (ShortDashDot) 42 (MediumDashDotDot). \\n  Not all pattern numbers have names.\\n\\n  THICKNESS=style-reference | dimension \\n  specifies the line thickness. If you use a style-reference, the style-attribute should be LINETHICKNESS.\\n\\nDefault: The GraphDataDefault style element.\\n\\nInteraction: For this option to have any effect, the outlines must be enabled by the ODS style \\nor the DISPLAY= option.\"},\"StatementOptionType\":\"V\",\"SubOptionsKeywords\":\"COLOR=|PATTERN=|THICKNESS=\"},{\"StatementOptionName\":\"PRIMARY=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies that the data columns for this plot be used for determining default axis features. \\n\\nDefault: FALSE\\n\\nRestriction: This option is ignored if the plot is placed under a GRIDDED or LATTICE layout block.\\n\\nDetails: This option is needed only when two or more plots within an overlay-type layout \\ncontribute to a common axis.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"FALSE\",\"@Value2\":\"TRUE\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Specifies that the data columns for this plot not be used for determining default  axis features.\",\"@ToolTip2\":\"Specifies that the data columns for this plot be used for determining default  axis features.\"}},{\"StatementOptionName\":\"ROLENAME=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: ROLENAME=( role-name-list )] \\n          \\nSpecifies user-defined roles for information contained in data columns. \\nDefault: no default\\n\\n(role-name-list) \\na blank-separated list of role-name = column pairs. \\nFor example, ROLENAME= ( TIP1=PCT ) assigns the column PCT to the user-defined role TIP1.\\n\\nRequirement: The role names you choose must be unique and different from the pre-defined roles X and Y.\\n\\nTip: This option provides a way to add to the data columns that appear in tooltips specified by \\nthe TIP= option.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"TIP=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: TIP=(role-list)] \\n          \\nSpecifies the information to display when the cursor is positioned over a histogram bin. If this \\noption is used, it replaces all the information displayed by default. Roles for columns that do \\nnot contribute to the histogram may be specfied along with roles that do. \\n\\nDefault: The columns assigned to these roles are automatically included in the tooltip information: X and Y.\\n\\n(role-list) \\nan ordered, blank-separated list of unique HISTOGRAMPARM and user-defined roles. HISTOGRAMPARM roles \\ninclude X and Y. User-defined roles are defined with the ROLENAME= option.\\n\\nThe following example displays tooltips for the columns assigned to the roles X and Y, as well as \\nthe column PCT which is not assigned to any pre-defined HISTOGRAMPARM role. The PCT column must \\nfirst be assigned a role.:\\n  \\n   ROLENAME=(TIP1=PCT) \\n   TIP= (X Y TIP1) \\n\\nRequirement: To generate tooltips, you must include an ODS GRAPHICS ON statement that has the IMAGEMAP \\noption specified, and write the graphs to the ODS HTML destination.\\n\\nInteraction: The labels and formats for the TIP variables can be controlled with the TIPLABEL= and \\nTIPFORMAT= options.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"TIPFORMAT=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: TIPFORMAT=(role-format-list)] \\n          \\nSpecifies display formats for tip columns. \\nDefault: The column format of the variable assigned to the role or BEST6. if no format is assigned to a numeric column.\\n\\n(role-format-list) \\na list of rolename = format pairs separated by blanks. \\n  \\n   ROLENAME=(TIP1=PCT) \\n   TIP=(X Y TIP1) \\n   TIPFORMAT=( TIP1=PERCENT7.2) \\n\\nRequirement: This option provides a way to control the formats of columns that appear in tooltips. \\nOnly the roles that appear in the TIP= option are used. Columns must be assigned to the roles for \\nthis option to have any effect.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"TIPLABEL=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: TIPLABEL=(role-label-list)] \\n          \\nSpecifies display labels for tip columns. \\nDefault: The column label or column name of the variable assigned to the role.\\n\\n(role-label-list) \\na list of rolename = \\\"string\\\" pairs separated by blanks. \\n  \\n    TROLENAME=(TIP1=PCT) \\n    TIP=(X Y TIP1) \\n    TIPLABEL=( TIP1=\\\"Percent\\\") \\n\\nRequirement: This option provides a way to control the labels of columns that appear in tooltips. \\nOnly the roles that appear in the TIP= option are used. Columns must be assigned to the roles for \\nthis option to have any effect. See the ROLENAME= option.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"XAXIS=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies whether data are mapped to the primary X (bottom) axis or to the secondary X2 (top) axis. \\n\\nDefault: X\\n\\nInteraction: The overall plot specification and the layout type determine the axis display.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"X\",\"@Value2\":\"X2\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Data are mapped to the primary X (bottom) axis.\",\"@ToolTip2\":\"Data are mapped to the the secondary X2 (top) axis.\"}},{\"StatementOptionName\":\"XVALUES=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies whether the input X values represent midpoints, lower endpoints, or upper endpoints \\nof the bins. \\n\\nDefault: MIDPOINTS\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"MIDPOINTS\",\"@Value2\":\"LEFTPOINTS\",\"@Value3\":\"RIGHTPOINTS\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Specifies that the X values represent midpoints of the bins.\",\"@ToolTip2\":\"Specifies that the X values represent lower endpoints of the bins.\",\"@ToolTip3\":\"Specifies that the X values represent upper endpoints of the bins.\"}},{\"StatementOptionName\":\"YAXIS=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies whether data are mapped to the primary Y (left) axis or to the secondary Y2 (right) axis. \\n\\nDefault: Y\\n\\nInteraction: The overall plot specification and the layout type determine the axis display.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"Y\",\"@Value2\":\"Y2\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Data are mapped to the primary Y (left) axis.\",\"@ToolTip2\":\"Data are mapped to the secondary Y2 (right) axis.\"}}]}},{\"StatementName\":\"LINECHART\",\"StatementHelp\":{\"#cdata\":\"Syntax: LINECHART CATEGORY=column | expression </option(s)> ; \\n\\nLINECHART CATEGORY=column | expression \\nRESPONSE=numeric-column | expression </option(s) > ; \\n\\nCreates a line chart that is computed from input data.\"},\"StatementOptions\":{\"StatementOption\":[{\"StatementOptionName\":\"CATEGORY=\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: CATEGORY=column | expression \\n\\nSpecifies the column or expression for the category values. Duplicated category values are summarized \\ninto a unique value. All values are treated as discrete.\"},\"StatementOptionType\":\"RV\"},{\"StatementOptionName\":\"BASELINEINTERCEPT=\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: BASELINEINTERCEPT=number | AUTO | AXISMIN | AXISMINEXTEND | AXISMAX | AXISMAXEXTEND \\n\\nSpecifies the Y-intercept for the baseline. \\n\\nDefault: AUTO \\nInteractions: When GROUPDISPLAY= STACK is in effect, this option is ignored, and the plot is drawn as if BASELINEINTERCEPT=0. \\nWhen DISPLAY= includes FILL, the fill extends to the baseline that is specified by the BASELINEINTERCEPT= option.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"<number>\",\"@Value2\":\"AUTO\",\"@Value3\":\"AXISMIN\",\"@Value4\":\"AXISMINEXTEND\",\"@Value5\":\"AXISMAX\",\"@Value6\":\"AXISMAXEXTEND\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Specifies the Y coordinate of the baseline. This value is included in the data range that is reported by the line chart. \",\"@ToolTip2\":\"Bases the intercept on the response axis range in the following ways:   \\u2022 If the response axis range has both positive and negative values or contains 0, then the intercept is 0.   \\u2022 If the response axis range contains all positive values, then AUTO is interpreted as AXISMINEXTEND.   \\u2022 If the response axis range contains only negative values, then AUTO is interpreted as AXISMAXEXTEND.\",\"@ToolTip3\":\"Places the baseline at the minimum value of the axis range. \",\"@ToolTip4\":\"Places the baseline at the start of the minimum offset in the wall. This location corresponds to the  bottom edge of the wall when there is no inner margin plot and the axis is not reversed. If there  is an inner margin plot at the bottom, then the baseline is placed at the boundary of the inner  margin and the minimum offset. \",\"@ToolTip5\":\"Places the baseline at the maximum value of the axis range. \",\"@ToolTip6\":\"Places the baseline at the start of the maximum offset in the wall. This location corresponds to the  top edge of the wall when there is no inner margin plot, and the axis is not reversed. If there  is an inner margin plot at the top, then the baseline is placed at the boundary of the inner  margin and the maximum offset. \"}},{\"StatementOptionName\":\"BREAK=\",\"StatementOptionHelp\":{\"#cdata\":\"Breaks the line at missing values of the RESPONSE variable. \\n\\nDefault: FALSE \\nNote: If BREAK=FALSE, then missing values are skipped and a continuous line is drawn.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"TRUE\",\"@Value2\":\"FALSE\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Specifies to break the line at missing values of the RESPONSE variable.\",\"@ToolTip2\":\"Missing values are skipped and a continuous line is drawn.\"}},{\"StatementOptionName\":\"DATASKIN=\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: DATASKIN= NONE | CRISP | GLOSS | MATTE | PRESSED | SHEEN \\n          \\nEnhances the visual appearance of the lines and markers. \\n\\nDefault: The DATASKIN= option value that is specified in the BEGINGRAPH statement. If not specified, then the \\n  GraphSkins:DataSkin style element value is used. \\n\\nRestriction: Starting with the first maintenance release of SAS 9.4, the maximum number of skinned graphical \\nelements is limited to 200 per plot in an overlay or prototype layout. When this limit is exceeded for a plot, \\nthe specified data skin is not applied to that plot. In that case, use the DATASKINMAX= option in your ODS GRAPHICS \\nstatement to increase the maximum limit.  \\n\\nInteractions: This option overrides the BEGINGRAPH statement DATASKIN= option. The skin appearance is based \\non the color that is in effect for the lines and markers.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"NONE\",\"@Value2\":\"CRISP\",\"@Value3\":\"GLOSS\",\"@Value4\":\"MATTE\",\"@Value5\":\"PRESSED\",\"@Value6\":\"SHEEN\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Specifies no data skin.\",\"@ToolTip2\":\"Specifies a crisp data skin.\",\"@ToolTip3\":\"Specifies a glossy data skin.\",\"@ToolTip4\":\"Specifies a matte data skin.\",\"@ToolTip5\":\"Specifies a pressed data skin.\",\"@ToolTip6\":\"Specifies a sheen data skin.\"}},{\"StatementOptionName\":\"DATATRANSPARENCY=\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: DATATRANSPARENCY=number\\n\\nSpecifies the degree of the transparency of the line, markers, and vertex labels, if displayed. \\n\\nDefault: 0 \\n\\nRange: 0\\u20131, where 0 is opaque and 1 is entirely transparent \\n\\nTip: The FILLATTRS= option can be used to set transparency for just the fills. You can combine \\nthis option with FILLATTRS= to set one transparency for the lines but a different transparency \\nfor the fills. For example:datatransparency=0.2 fillattrs=(transparency=0.6)\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"DISPLAY=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies which graphical features to display.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"STANDARD\",\"@Value2\":\"ALL\",\"@Value3\":\"<(display-options)>\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Displays a line with no markers and no fill under the line to the baseline.\",\"@ToolTip2\":\"Displays a line with markers and the fill under the line to the baseline.\",\"@ToolTip3\":\"A space-separated list of one or more of the following options enclosed in parentheses:   FILL    displays a filled area between the line and the baseline.    Interaction When GROUPDISPLAY=STACK, DISPLAY=FILL fills between adjacent group lines except    for the first group, which fills to the baseline.   LINE    displays line segments that join the vertices.   MARKERS    displays markers at each vertex.\"},\"SubOptionsKeywords\":\"FILL|LINE|MARKERS\"},{\"StatementOptionName\":\"FILLATTRS=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: FILLATTRS=style-element  | (fill-options)] \\n          \\nSpecifies the appearance of the filled area.\\n\\nDefault: For non-grouped data, the COLOR attribute of GraphDataDefault style element.  \\nFor grouped data, the COLOR attribute of GraphData1\\u2013GraphDataN style elements is used.  \\n  \\nInteraction: For this option to have any effect, the fill must be enabled by the ODS style or the DISPLAY= option. \\n\\nNote: When style-element is specified, only the style element\\u2019s COLOR attribute is used.  \\nTip: The DATATRANSPARENCY= option sets the transparency for the fills and the lines. You can combine \\nthis option with DATATRANSPARENCY= to set one transparency for the lines but a different transparency \\nfor the fills. For example: datatransparency=0.2 fillattrs=(transparency=0.6)\"},\"StatementOptionType\":\"V\",\"SubOptionsKeywords\":\"COLOR=\"},{\"StatementOptionName\":\"FILLEDOUTLINEDMARKERS=\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: FILLEDOUTLINEDMARKERS=TRUE | FALSE\\n\\nSpecifies whether markers are drawn with both fill and an outline. \\n\\nDefault: FALSE \\n\\nTip: To specify the marker fill and outline colors for a non-grouped plot, set this option to TRUE, and then \\nuse the MARKERFILLATTRS= and MARKEROUTLINEATTRS= options to specify the colors.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"TRUE\",\"@Value2\":\"FALSE\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Draws filled markers (marker symbols with the suffix FILLED) using both fill and an outline. When  this option is TRUE, the fill color and outline color for filled markers are determined in the following ways:   \\u2022 If the GROUP= option is specified, then by default, the fill color is derived from the GraphData1\\u2013GraphDataN  style elements Color attribute, and the marker outlined color is derived from the GraphData1\\u2013GraphDataN style  elements ContrastColor attribute.    \\u2022 If the GROUP= option is not specified, then by default, the fill color is derived from the GraphDataDefault  style elements Color attribute, and the marker outlined color is derived from the GraphOutline style elements  ContrastColor attribute.\",\"@ToolTip2\":\"Draws the markers using fill or an outline, but not both. \"}},{\"StatementOptionName\":\"FREQ=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: FREQ=numeric-column | expression] \\n          \\nSpecifies a numeric column that provides frequencies for each observation that is read.\\n\\nDefault: All observations have a frequency count of 1. \\n\\nRestriction: If the value of the numeric-column is missing or is less than 1, then the observation is not used \\nin the analysis. If the value is not an integer, then only the integer portion is used.  \\n\\nNote: If n is the value of the numeric column for a given observation, then that observation is used n times \\nfor the purposes of any statistical computation.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"GROUP=\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: GROUP=column | discrete-attr-var | expression \\n\\nCreates a separate line for each unique group value of the specified column. \\n\\ndiscrete-attr-var\\n  specifies a discrete attribute map variable that is defined in a DISCRETEATTRVAR statement.\\n\\n  Restriction: A discrete attribute map variable specification must be a direct reference to the attribute map variable. It cannot be set by a dynamic variable.  \\n\\nDefault: Each distinct group value is represented in the plot by a different combination of color, \\nline pattern, and marker symbol. Lines and markers vary according to the ContrastColor, LineStyle, \\nand MarkerSymbol attributes of the GraphData1\\u2013GraphDataN and GraphMissing style elements.  \\n\\nTip: The representations that are used to identify the groups can be overridden individually. \\nFor example, each distinct group value is represented by a different line pattern for the lines, \\nbut you can use the PATTERN= suboption of the LINEATTRS= option to assign the same line pattern \\nto all lines.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"GROUPDISPLAY=\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: GROUPDISPLAY= OVERLAY | STACK \\n          \\nSpecifies how to display grouped lines. \\n\\nDefault: OVERLAY\\n\\nRestriction: When STACK is in effect, if any response value is negative or if any crossing of the group \\nvalue with the category is absent or is a missing value, then the chart is not drawn and a warning message \\nis written to the SAS log. \\n\\nInteraction:  When STACK is in effect, the BASELINEINTERCEPT= option is treated as if it is set to zero.  \\n\\nTip: When the response axis is linear, STAT=MEAN or STAT=PCT, and GROUPDISPLAY=STACK, the axis tick values \\nmight be displayed as integer values. When the response axis is linear, STAT=MEAN or STAT=PCT, and \\nGROUPDISPLAY=OVERLAY, the axis tick values might be displayed as decimal values. To keep the integer \\naxis values for both cases, you can specify the INTEGER=TRUE option for the response axis.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"OVERLAY\",\"@Value2\":\"STACK\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Displays group values overlaid on top of each other. \",\"@ToolTip2\":\"Displays group values as stacked lines. \"}},{\"StatementOptionName\":\"GROUPORDER=\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: GROUPORDER=DATA | REVERSEDATA | ASCENDING | DESCENDING\\n\\nSpecifies the ordering of the groups within a category.\\n\\nDefault: DATA \\n\\nInteractions: This option is ignored if the GROUP= option is not also specified.  \\nBy default, the groups in the legend are shown in the order that is specified in GROUPORDER.  \\n  \\nNotes: Attributes such as color, symbol, and pattern are assigned to each group in the DATA order by \\ndefault, regardless of the GROUPORDER= option setting.  \\n\\nThe ASCENDING and DESCENDING settings linguistically sort the group values within each category (or X value) \\nfor display position purposes only. For numeric data, the order is based on the unformatted values. For \\ncharacter data, the order is based on the formatted values. The data order of the observations and the \\nvisual attributes that are assigned to the group values remain unchanged.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"DATA\",\"@Value2\":\"REVERSEDATA\",\"@Value3\":\"ASCENDING\",\"@Value4\":\"DESCENDING\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Orders the groups within a category in the group-column data order. \",\"@ToolTip2\":\"Orders the groups within a category in the reverse group-column data order.   Note: This feature applies to the second maintenance release of SAS 9.4 and to later releases.   Tip: This option is useful when you want to reverse the category axis.\",\"@ToolTip3\":\"Orders the groups within a category in ascending order. \",\"@ToolTip4\":\"Orders the groups within a category in descending order. \"}},{\"StatementOptionName\":\"INCLUDEMISSINGGROUP=\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: INCLUDEMISSINGGROUP=TRUE | FALSE\\n\\nSpecifies whether missing values of the group variable are included in the plot.\\n\\nDefault: TRUE \\n\\nInteraction: For this option to take effect, the GROUP= option must also be specified.  \\n\\nTip: The attributes of the missing group value are determined by the GraphMissing style element \\nunless a discrete attribute map is in effect, the INDEX= option is used, the MISSING= system option \\nchanges the default missing character, or a user-defined format is applied to the group value. \\nIn those cases, the attributes of the missing group value are determined by a GraphData1\\u2013GraphDataN \\nstyle element instead of by the the GraphMissing style element.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"TRUE\",\"@Value2\":\"FALSE\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Specifies that missing values of the group variable are included in the plot.\",\"@ToolTip2\":\"Specifies that missing values of the group variable are not included in the plot.\"}},{\"StatementOptionName\":\"INDEX=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: INDEX=integer-column | expression \\n\\nSpecifies indices for mapping line attributes such as color and pattern to one of the GraphData1\\u2013GranphDataN style elements.\\n\\nRestriction: If the value of the integer column is missing or is less than 1, then the entire column \\nis invalidated and this option is ignored. If the value is not an integer, then only the integer \\nportion is used.   \\n\\nInteractions: This option is ignored unless the GROUP= option is specified.  \\nThe index values are 1-based indices. For the style attributes in GraphData1\\u2013GraphDataN, \\nif the index value is greater than N, then a modulo operation remaps that index value to \\na number less than N in order to determine which style to use.  \\n\\nIf the INDEX= option is not used, then the group values are mapped in the order of the data.  \\nAll of the indexes for a specific group value must be the same. Otherwise, the results are unpredictable.  \\n\\nTip: Indexing can be used to collapse the number of groups that are represented in a graph.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"LEGENDLABEL=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: LEGENDLABEL= \\\"string\\\"] \\n          \\nSpecifies a label to be used in a discrete legend for this plot.\\n\\nDefault: If the RESPONSE= option is specified, then the response variable label is used. Otherwise, \\nthe CATEGORY= variable label is used. If a label is not assigned to the response variable or category \\nvariable, then the variable name is used.  \\n\\nRestriction: This option applies only to an associated DISCRETELEGEND statement. \\n\\nInteraction: If the GROUP= option is specified, then this option is ignored.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"LINEATTRS=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: LINEATTRS=style-element | (line-options) \\n\\nSpecifies the appearance of the line.\\n\\nDefault For non-grouped data, the GraphDataDefault style element.  \\nFor grouped data, the LineThickness attributes of the GraphDataDefault style element, and the ContrastColor \\nand LineStyle attributes of the GraphData1\\u2013GraphDataN style elements.  \\n\\nNote: When style-element is specified, only the style element\\u2019s CONTRASTCOLOR, LINESTYLE, and LINETHICKNESS \\nattributes are used.  \\n\\nThe available line-options can be any one or more of the following settings. The options must be \\nenclosed in parentheses, and each option is specified as a name=value pair:\\n\\n  COLOR=style-reference | color \\n  specifies the line color. If you use a style-reference, the style-attribute should be a valid \\n  attribute such as COLOR, CONTRASTCOLOR, STARTCOLOR, NEUTRAL, ENDCOLOR. The convention is to use \\n  CONTRASTCOLOR for lines. If you specify a style element that does not have a CONTRASTCOLOR attribute, \\n  the element's COLOR attribute is used. If you use a color, SAS/GRAPH accepts color names, such \\n  as RED, or color codes, such as CXFF0000 or #FF0000.\\n\\n  PATTERN=style-reference | line-pattern-name | line-pattern-number specifies the line pattern. \\n  If you use a style-reference, the style-attribute should be LINESTYLE. Line patterns can be specified \\n  as a pattern name or pattern number. Some valid pattern numbers: 1 (Solid), 2 (ShortDash), 4 (MediumDash), \\n  5 (LongDash) 8 (MediumDashShortDash)   14 (DashDashDot) 15 (DashDotDot) 20 (Dash) 26 (LongDashShortDash) \\n  34 (Dot) 35 (ThinDot) 41 (ShortDashDot) 42 (MediumDashDotDot). Not all pattern numbers have names.\\n\\n  THICKNESS=style-reference | dimension \\n  specifies the line thickness. If you use a style-reference, the style-attribute should be LINETHICKNESS.\"},\"StatementOptionType\":\"V\",\"SubOptionsKeywords\":\"COLOR=|PATTERN=|THICKNESS=\"},{\"StatementOptionName\":\"MARKERATTRS=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: MARKERATTRS=style-element | style-element (marker-options) | (marker-options) \\n\\nSpecifies the attributes of the data markers. \\n\\nDefault For non-grouped data, GraphDataDefault style element.  For grouped data, the MarkerSymbol \\nand ContrastColor attributes of the GraphData1\\u2013GraphDataN style elements, and the GraphDataDefault:MarkerSize \\nstyle reference.  \\n\\nInteractions: If FILLEDOUTLINEDMARKERS=TRUE, then this option\\u2019s COLOR= suboption is ignored. In that case, \\nto specify the marker fill color, use the MARKERFILLATTRS= option instead. \\nThis option\\u2019s COLOR= suboption overrides the default behavior for grouped data. When the COLOR= suboption \\nis specified in that case, all markers have the same color, and the marker symbol alone distinguishes the markers. \\n\\nWhen specifying the attributes for a data marker, the available marker-options can be any one \\nor more of the following settings. The options must be enclosed in parentheses, and each option \\nis specified as a name=value pair. In all cases, the value may be a style-reference in the form \\nstyle-element:style-attribute:\\n\\n  COLOR=style-reference | color \\n  specifies the color of the marker. If you use a style-reference, the style-attribute should be a \\n  valid attribute such as COLOR, CONTRASTCOLOR, STARTCOLOR, NEUTRAL, ENDCOLOR. The convention is to \\n  use CONTRASTCOLOR for markers. For grouped data, this option keeps all markers the same color and \\n  the marker symbol alone distinguishes the group values. If you use a color, SAS/GRAPH accepts color \\n  names, such as RED, or color codes, such as CXFF0000 or #FF0000. Color names must not exceed 64 characters. \\n  Color codes must not exceed 8 characters and must be in a valid SAS color-naming scheme, such as RGB, \\n  CMYK, HLS, or HSV (HSB).\\n\\n  SIZE=style-reference | dimension \\n  specifies the marker size (both width and height). If you use a style-reference, the style-attribute \\n  should be MARKERSIZE. \\n\\n  SYMBOL=style-reference | marker-name \\n  specifies the name of the marker. If you use a style-reference, the style-attribute should be MARKERSYMBOL.\\n\\n  WEIGHT=NORMAL | BOLD \\n  specifies the marker weight.\"},\"StatementOptionType\":\"V\",\"SubOptionsKeywords\":\"COLOR=|SIZE=|SYMBOL=|WEIGHT=\"},{\"StatementOptionName\":\"MARKERFILLATTRS=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: MARKERFILLATTRS=style-element | (fill-options) \\n\\nSpecifies the appearance of the filled markers.\\n\\nDefault: For non-grouped data, the COLOR attribute of the GraphDataDefault style element  \\nFor grouped data, the COLOR attribute of a GraphData1\\u2013GraphDataN style element  \\n\\nRestriction: The TRANSPARENCY= fill option is ignored. Use the MARKERATTRS= option to set the marker transparency.  \\nInteraction: This option is in effect only when FILLEDOUTLINEDMARKERS=TRUE and the DISPLAY= option enables fill display.  \\nNote: When style-element is specified, only the style element\\u2019s COLOR attribute is used.\"},\"StatementOptionType\":\"V\",\"SubOptionsKeywords\":\"COLOR=\"},{\"StatementOptionName\":\"MARKEROUTLINEATTRS=\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: MARKEROUTLINEATTRS=style-element | (line-options) \\n\\nSpecifies the appearance of the marker outlines.\\n\\nDefault: For non-grouped data, the GraphOutlines style element. \\nFor grouped data, the LineThickness attritube of the GraphOutlines style element and the ContrastColor \\nattribute of a GraphData1\\u2013GraphDataN style element.  \\n\\nRestriction: The line style of the marker outline is always solid. \\nInteraction: This option is ignored when a data skin is applied by the current style or by the DATASKIN= option. \\nIn the latter case, the outline is set by the data skin. \\n\\nNote: When style-element is specified, only the style element\\u2019s CONTRASTCOLOR and LINETHICKNESS attributes are used.  \\n\\nline-options can be one or more of the following attributes.\\nCOLOR= color\\n  specifies the color of the line. You can specify colors using the same color schemes that are \\n  supported by SAS/GRAPH software. \\nPATTERN= line-pattern\\n  specifies the line pattern for the line. Line patterns can be specified as a pattern name \\n  or pattern number. Some valid pattern numbers: 1 (Solid), 2 (ShortDash), \\n  4 (MediumDash), 5 (LongDash) 8 (MediumDashShortDash) 14 (DashDashDot) 15 (DashDotDot) 20 (Dash) \\n  26 (LongDashShortDash) 34 (Dot) 35 (ThinDot) 41 (ShortDashDot) 42 (MediumDashDotDot). \\n  Not all pattern numbers have names.\\nTHICKNESS= n <units>\\n  specifies the thickness of the line. You can also specify the unit of measurement. The default \\n  unit is pixels.\"},\"StatementOptionType\":\"V\",\"SubOptionsKeywords\":\"COLOR=|PATTERN=|THICKNESS=\"},{\"StatementOptionName\":\"NAME=\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: NAME=\\\"string\\\" \\n\\nAssigns a name to this plot statement for reference in other template statements. This option \\nis used mostly in the CONTINUOUSLEGEND statement in order to coordinate the use of colors and \\nline patterns between the plot and the legend.\\n\\nRestriction: The string is case sensitive, cannot contain spaces, and must define a unique name within the template.  \\n\\nInteraction: The string is used as the default legend label if the LEGENDLABEL= option is not used.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"ORIENT=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies the orientation of the Y axis. \\n\\nDefault: VERTICAL\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"VERTICAL\",\"@Value2\":\"HORIZONTAL\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Specifies a vertical orientation of the Y axis.\",\"@ToolTip2\":\"Specifies a horizontal orientation of the Y axis.\"}},{\"StatementOptionName\":\"PRIMARY=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies that the data columns for this plot and the plot type be used for determining default axis \\nfeatures.  This option is needed only when two or more plots within an overlay-type layout contribute \\nto a common axis.\\n\\nDefault: FALSE \\n\\nRestriction: This option is ignored if the plot is placed under a GRIDDED or LATTICE layout block.  \\nNote: In an OVERLAY layout, only one plot in an overlay can be the primary plot on a per-axis basis. \\nWhen no plot is designated as the primary plot, the first plot that can be a primary plot is considered \\nthe primary plot. If multiple plots specify PRIMARY=TRUE for the same axis, then the last such plot \\nencountered is considered the primary plot.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"TRUE\",\"@Value2\":\"FALSE\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Specifies that the data columns for this plot and the plot type be used for determining default axis  features.\",\"@ToolTip2\":\"Specifies that the data columns for this plot and the plot type not be used for determining default axis  features.\"}},{\"StatementOptionName\":\"ROLENAME=\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: ROLENAME=(role-name-list) \\n\\nSpecifies user-defined roles that can be used to display information in the data tips.  This option \\nprovides a way to add to the data columns that appear in data tips that are specified by the TIP= option. \\n \\n(role-name-list) \\n  a space-separated list of role-name = column pairs. \\n\\n  Example The following example assigns the column Obs to the user-defined role TIP:ROLENAME=(TIP1=OBS)\\n \\nDefault: No user-defined roles \\nRequirement: The role names that you choose must be unique and different from the predefined roles CATEGORY, \\nRESPONSE, DATALABEL, and GROUP.\"},\"StatementOptionType\":\"RV\"},{\"StatementOptionName\":\"SMOOTHCONNECT=\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: SMOOTHCONNECT=TRUE | FALSE\\n\\nSpecifies that a smoothed line passes through all vertices.\\n\\nDefault: FALSE. Straight line segments are used if the vertices are to be connected. \\n\\nInteraction: This option is ignored when GROUPDISPLAY=STACK.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"TRUE\",\"@Value2\":\"FALSE\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Specifies that a smoothed line passes through all vertices.\",\"@ToolTip2\":\"Specifies that straight line segments are used if the vertices are to be connected.\"}},{\"StatementOptionName\":\"STAT=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies the statistic to be computed for the Y-axis. \\n\\nDefault: SUM for line charts that specify the RESPONSE= argument. \\n\\nDefault: FREQ for line charts that do not specify the RESPONSE= argument.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"FREQ\",\"@Value2\":\"PCT\",\"@Value3\":\"SUM\",\"@Value4\":\"MEAN\",\"@Value5\":\"PROPORTION\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"[For line charts with no RESPONSE= column]--Frequency count\",\"@ToolTip2\":\"[For line charts with no RESPONSE= column]--Percentages between 0 and 100 inclusive.\",\"@ToolTip3\":\"[For line charts with a RESPONSE= column]--Sum\",\"@ToolTip4\":\"[For line charts with a RESPONSE= column]--Mean\",\"@ToolTip5\":\"[For line charts with no RESPONSE= column]--Proportions between 0 and 1 inclusive\"}},{\"StatementOptionName\":\"TIP=\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: TIP=(role-list) | NONE \\n\\nSpecifies the information to display when the cursor is positioned over a line. If this option is used, \\nthen all of the information that is displayed is replaced by default. You can specify roles for columns \\nthat do not contribute to the line chart along with roles that do. \\n \\n(role-list) \\nan ordered, space-separated list of unique LINECHART and user-defined roles. LINECHART roles include \\nCATEGORY, RESPONSE, DATALABEL, and GROUP. User-defined roles are defined with the ROLENAME= option.\\n\\nNONE\\n  suppresses data tips and URLs (if requested) from the plot. \\n\\nDefault: The columns assigned to the following roles are automatically included in the data tip information: \\nCATEGORY, RESPONSE, and GROUP.   \\n\\nRestriction: Data tips are available only for graphs that are written to the ODS HTML destination.  \\n\\nRequirement: To generate data tips, include an ODS GRAPHICS ON statement that specifies the IMAGEMAP option. \\nInteraction: This option is ignored when the plot statement is in an OVERLAY or PROTOTYPE layout and the \\nINCLUDERANGES= option is specified in the LINEAROPTS= or TIMEOPTS= option for either axis. \\n\\nNote: The RESPONSE role represents the computed values for the CATEGORY role (and RESPONSE= role), based on the STAT= option.  \\nTip: The labels and formats for the TIP roles can be controlled with the TIPLABEL= and TIPFORMAT= options.  \\nExample: To display data tips for the columns assigned to the roles X and Y as well as the user-defined role TIP1:\\n\\n  ROLENAME=(TIP1=OBS\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"TIPFORMAT=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: TIPFORMAT=(role-format-list)] \\n          \\nSpecifies display formats for tip columns.  This option provides a way to control the formats of columns \\nthat appear in data tips.\\n \\n(role-format-list) \\n  a space-separated list of role-name = format pairs. \\n\\n  Example: ROLENAME=(TIP1=SALARY)\\n          TIP=(TIP1)\\n          TIPFORMAT=(TIP1=DOLLAR12.)\\n \\nDefault: The column format of the column assigned to the role or BEST6 if no format is assigned to a numeric column. \\n\\nRestriction: Only the roles that appear in the TIP= option are used.  \\n\\nRequirement: A column must be assigned to each of the specified roles. (See the ROLENAME= option.)\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"TIPLABEL=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: TIPLABEL=(role-label-list)] \\n          \\nSpecifies display labels for tip columns.  This option provides a way to control the labels of columns \\nthat appear in data tips. \\n \\nrole-label-list \\na space-separated list of rolename =\\\"string\\\" pairs. \\n\\nExample: ROLENAME=(TIP1=PCT)\\n         TIP=(TIP1)\\n         TIPLABEL=(TIP1=\\\"Percent\\\")\\n \\nDefault: The column label or column name of the column assigned to the role.  \\nRestriction: Only the roles that appear in the TIP= option are used.  \\nRequirement: A column must be assigned to each of the specified roles.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"URL=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: URL=string-column \\n\\nSpecifies an HTML page to display when a line segment, marker, or fill area is selected. \\n\\nstring-column\\n  specifies a column that contains a valid HTML page reference (HREF) for each line that is to have an active link. \\n\\nExample http://www.sas.com/technologies/analytics/index.html \\n\\nRequirement: To generate selectable line segments, markers, and fill areas, you must include an ODS GRAPHICS ON \\nstatement that specifies the IMAGEMAP option, and you must write the output to the ODS HTML destination.  \\n\\nInteractions: This option has no effect when TIP=NONE. \\nThis option is ignored when the plot statement is in an OVERLAY or PROTOTYPE layout and the INCLUDERANGES= option \\nis specified in the LINEAROPTS= or TIMEOPTS= option for either axis.  \\n\\nNotes: For non-grouped data, the values of the column are expected to be same for each unique X value. If they are \\nnot, then the results might be unpredictable.  \\n\\nFor grouped data, the values of the column are expected to be the same for each unique X and GROUP combination.  \\n\\nTips: The URL value can be blank for some X values, meaning that no action is taken when the line segments \\nfor those X values are selected.  \\n\\nThe URL value can be the same for different X values, meaning that the same action is taken when the line segments \\nfor those X values are selected.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"VERTEXLABEL=\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: VERTEXLABEL=TRUE | FALSE \\n          \\nSpecifies  whether to label the vertices with their response value (or statistic). \\n\\nDefault: FALSE   \\n\\nInteraction: When GROUPDISPLAY=STACK is in effect, vertex labeling displays the sum of the vertex responses per category. \\n\\nTips: You can modify the visual attributes for the label by using the VERTEXLABELATTRS= option.  \\nYou can modify the text format by using the VERTEXTLABELFORMAT= option.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"TRUE\",\"@Value2\":\"FALSE\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Specifies to label the vertices with their response value (or statistic). \",\"@ToolTip2\":\"Specifies not to label the vertices with their response value (or statistic).\"}},{\"StatementOptionName\":\"VERTEXLABELATTRS=\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: VERTEXLABELATTRS=style-element | style-element (text-options) | (text-options) \\n\\nSpecifies the color and font attributes of the vertex labels. \\n\\nDefault: The GraphDataText style element.  \\n\\nRequirement: VERTEXLABEL=TRUE must be in effect for this option to have any effect.  \\n\\nInteraction: If one or more text options are specified and they do not include all the font properties \\n(color, family, size, weight, style), then non-specified properties are derived from the GraphDataText style element. \\n\\nNote: When style-element is specified, only the style element\\u2019s COLOR, FONTFAMILY, FONTSIZE, FONTSTYLE, \\nand FONTWEIGHT attributes are used.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"VERTEXLABELFORMAT=\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: VERTEXLABELFORMAT=format \\n\\nSpecifies the format used to display the vertex label response or statistic.\\n\\nDefault The column format assigned to the response variable, or BEST6.2 if the column does not have an associated format.  \\n\\nRequirement VERTEXLABEL=TRUE must be in effect for this option to have any effect.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"XAXIS=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies whether data are mapped to the primary X (bottom) axis or to the secondary X2 (top) axis. \\n\\nDefault: X\\n\\nInteraction: The overall plot specification and the layout type determine the axis display.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"X\",\"@Value2\":\"X2\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Data are mapped to the primary X (bottom) axis.\",\"@ToolTip2\":\"Data are mapped to the the secondary X2 (top) axis.\"}},{\"StatementOptionName\":\"YAXIS=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies whether data are mapped to the primary Y (left) axis or to the secondary Y2 (right) axis. \\n\\nDefault: Y\\n\\nInteraction: The overall plot specification and the layout type determine the axis display.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"Y\",\"@Value2\":\"Y2\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Data are mapped to the primary Y (left) axis.\",\"@ToolTip2\":\"Data are mapped to the secondary Y2 (right) axis.\"}},{\"StatementOptionName\":\"RESPONSE=\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: RESPONSE=numeric-column | expression \\n\\n\\nSpecifies the numeric column or expression for the response values.\"},\"StatementOptionType\":\"V\"}]}},{\"StatementName\":\"LINEPARM\",\"StatementHelp\":{\"#cdata\":\"Syntax: LINEPARM X = number | numeric-column | expression\\n      Y = number | numeric-column | expression\\n      SLOPE = number | numeric-column | expression </ option(s)> ; \\n\\nCreates a straight line specified by a point and a slope.\"},\"StatementOptions\":{\"StatementOption\":[{\"StatementOptionName\":\"X=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: X=number | numeric-column | expression] \\n          \\nSpecifies the X coordinate of a point. \\nTip: By default, if the specified value is outside of the data range, then the data range \\nis extended to include the specified intercept. This behavior can be changed with the CLIP= \\noption. If a numeric-column is specified and the column contains missing values, no line is \\ndrawn for the missing values.\\n\\nTip: Values are displayed in the units of the data.\"},\"StatementOptionType\":\"RV\"},{\"StatementOptionName\":\"Y=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: Y=number | numeric-column | expression] \\n          \\nspecifies the Y coordinate of a point. \\nTip: By default, if the specified value is outside of the data range, then the data range \\nis extended to include the specified intercept. This behavior can be changed with the CLIP= \\noption. If a numeric-column is specified and the column contains missing values, no line is \\ndrawn for the missing values.\\n\\nTip: Values are displayed in the units of the data.\"},\"StatementOptionType\":\"RV\"},{\"StatementOptionName\":\"SLOPE=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: SLOPE=number | numeric-column | expression] \\n          \\nSpecifies the slope of the line. \\nTip: Slope may be positive or negative.\\n\\nTip: SLOPE= 0 creates a line parallel to the X-axis.\\nSLOPE= . (missing value) creates a line parallel to the Y-axis.\"},\"StatementOptionType\":\"RV\"},{\"StatementOptionName\":\"CLIP=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies whether the data for the line are considered when determining the data ranges for the axes. \\n\\nDefault: FALSE\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"FALSE\",\"@Value2\":\"TRUE\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"The data for the line contribute to the data range for each axis. Each axis may be extended to force  the display of the line.\",\"@ToolTip2\":\"The data for the line are ignored when establishing axis scales. Each axis scale is determined by the  other plots in the parent layout. This may result in the line not being displayed if its data range  is not within the data ranges of the other plots.\"}},{\"StatementOptionName\":\"CURVELABEL=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: CURVELABEL=\\\"string\\\"| column | expression] \\n          \\nSpecifies a label for the line. \\n\\nDefault: no default\\n\\nInteraction:\\n  o For a single line, use \\\"string.\\\" \\n  o For multiple lines, use a column to define the labels for each unique value. \\n\\nTip: The font and color attributes for the label are specified by the CURVELABELATTRS= option.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"CURVELABELATTRS=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: CURVELABELATTRS=style-element | style-element (text-options) | (text-options)] \\n          \\nSpecifies the color and font attributes of the line label.\\nDefault:\\n  o For non-grouped data, the GraphValueText style element. \\n  o For grouped data, text color is derived from the GraphData1:ContrastColor - GraphDataN:ContrastColor \\n    style references. The font is derived from the GraphValueText style element. \\n\\nInteraction: For this option to take effect, the CURVELABEL= option must also be used.\\n\\nInteraction: This option's COLOR= setting overrides the colors indicated by the GROUP= option.\\n\\nThe available text-options can be any one or more of the following settings. The options must be \\nenclosed in parentheses, and each option is specified as a name=value pair. In all cases, the \\nvalue may be a style-reference in the form style-element:style-attribute .\\n\\n  COLOR=style-reference | color \\n  specifies the color of the text. If you use a style-reference, the style-attribute should be a valid \\n  attribute such as COLOR, CONTRASTCOLOR, STARTCOLOR, NEUTRAL, ENDCOLOR. The convention is to use COLOR \\n  for text. If you use a color, SAS/GRAPH accepts color names, such as RED, or color codes, such as \\n  CXFF0000 or #FF0000. Color names must not exceed 64 characters. Color codes must not exceed 8 characters \\n  and must be in a valid SAS color-naming scheme, such as RGB, CMYK, HLS, or HSV (HSB).\\n\\n  FAMILY =style-reference | \\\"string\\\" \\n  specifies the font family of the text. If you use a style-reference, the style-attribute should be FONTFAMILY. \\n\\n  SIZE=style-reference | dimension \\n  specifies the font size of the text. If you use a style-reference, the style-attribute should be FONTSIZE. \\n\\n  STYLE=style-reference | NORMAL | ITALIC \\n  specifies the font style of the text. If you use a style-reference, the style-attribute should be FONTSTYLE. \\n\\n  WEIGHT=style-reference | NORMAL | BOLD \\n  specifies the font weight of the text. If you use a style-reference, the style-attribute should be FONTWEIGHT.\"},\"StatementOptionType\":\"V\",\"SubOptionsKeywords\":\"COLOR=|FAMILY=|SIZE=|STYLE=|WEIGHT=\"},{\"StatementOptionName\":\"CURVELABELLOCATION=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies the location of the line label relative to the plot area. \\n\\nDefault: INSIDE \\n\\nRestriction: OUTSIDE cannot be used when the DENSITYPLOT is used in multicell layouts such as LATTICE, \\nDATAPANEL or DATALATTICE where axes may be external to the grid.\\n\\nInteraction: This option is used in conjunction with the CURVELABELPOSITION= option to determine \\nwhere the curve label appears.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"INSIDE\",\"@Value2\":\"OUTSIDE\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Places the line label inside the plot area\",\"@ToolTip2\":\"Places the line label outside the plot area\"}},{\"StatementOptionName\":\"CURVELABELPOSITION=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies the position of the line label relative to the line end points. \\n\\nDefault: AUTO when CUVELABELLOCATION=OUTSIDE. MAX when CURVELABELLOCATION=INSIDE. \\n\\nRestriction: The AUTO setting is not supported if CURVELABELLOCATION=INSIDE is specified. The START \\nand END settings are not supported if CURVELABELLOCATION=OUTSIDE is specified.\\n\\nInteraction: For this option to take effect, the CURVELABEL= option must also be specified.\\n\\nInteraction: This option is used in conjunction with the CURVELABELLOCATION= option to determine \\nwhere the density label appears.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"AUTO\",\"@Value2\":\"MAX\",\"@Value3\":\"MIN\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Only used when CURVELABELLOCATION=OUTSIDE. The line label will be positioned automatically near the  line boundary along unused axes whenever possible (typically Y2 and X2) to avoid collision with  tick values.\",\"@ToolTip2\":\"Forces the line label to appear near maximum line values (typically, upper right).\",\"@ToolTip3\":\"Forces the line label to appear near minimum line values (typically, lower left).\"}},{\"StatementOptionName\":\"DATATRANSPARENCY=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: DATATRANSPARENCY=number] \\n          \\nSpecifies the degree of the transparency of the line. \\n\\nDefault: 0\\n\\nRange: 0 (opaque) to 1 (entirely transparent)\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"EXTEND=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies whether the line is to be drawn to the area bounded by the axes. \\n\\nDefault: FALSE\\n\\nTip: If this option is not specified, then there can be a small gap between the line and the axis. \\nThe gap is controlled by the axis offset. If the offset is set to 0, then there is no gap.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"FALSE\",\"@Value2\":\"TRUE\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Specifies that the constant or \\\"step\\\" band is not to be drawn to the area bounded by the axes.\",\"@ToolTip2\":\"Specifies whether the constant or \\\"step\\\" band is to be drawn to the area bounded by the axes.\"}},{\"StatementOptionName\":\"GROUP=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: GROUP=column | expression] \\n          \\nCreates a separate parameterized line plot for each unique group value of the specified column. \\nDefault: Each distinct group value may be represented in the graph by a different combination of \\nline color and line pattern. Line colors vary according to the GraphData1:ContrastColor - \\nGraphDataN:ContrastColor style references, and line patterns vary according to the \\nGraphData1:LineStyle - GraphDataN:LineStyle style references.\\n\\nRestriction: When this option is used, the X, Y, and SLOPE arguments must specify numeric columns.\\n\\nInteraction: The group values are mapped in the order of the data, unless the INDEX= option is used \\nto alter the default sequence of line colors and line patterns.\\n\\nTip: The LINEATTRS= option can be used to override the representations that are used to identify the \\ngroups. For example, LINEATTRS=(PATTERN=SOLID) can be used to assign the same pattern to all of the \\nlines, letting the line color distinguish group values. Likewise, LINEATTRS=(COLOR=BLACK) can be used \\nto assign the same color to all of the lines, letting the line pattern distinguish group values.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"INDEX=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: INDEX=positive-integer-column | expression] \\n          \\nSpecifies indices for mapping line attributes (color and pattern) to one of the \\nGraphData1 - GranphDataN style elements. \\n\\nDefault: no default\\n\\nInteraction: For this option to take effect, the GROUP= option must also be specified.\\n\\nInteraction: All of the indexes for a specific group value must be the same; otherwise, \\nthe results are unpredictable.\\n\\nInteraction: If this option is not used, then the group values are mapped in the order of the data.\\n\\nInteraction: The index values are 1-based indices. For the style elements in GraphData1 - GraphDataN, \\nif the index value is greater than N, then a modulo operation remaps that index value to a number \\nless than N to determine which style element to use.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"LEGENDLABEL=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: LEGENDLABEL= \\\"string\\\"] \\n          \\nSpecifies a label for use in a legend. \\nDefault: The string specified on the NAME= option.\\n\\nInteraction: If the GROUP= option is specified, this option is ignored.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"LINEATTRS=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: LINEATTRS=style-element | style-element (line-options) | (line-options)] \\n          \\nSpecifies the color and font attributes of the line. \\nDefault:\\n  o For non-grouped data, the GraphDataDefault style element. \\n  o For grouped data, the ContrastColor, LineStyle, and LineThickness attributes of the \\n    GraphData1- GraphDataN style elements.\\n\\nThe available line-options can be any one or more of the following settings. The options must be \\nenclosed in parentheses, and each option is specified as a name=value pair:\\n\\n  COLOR=style-reference | color \\n  specifies the line color. If you use a style-reference, the style-attribute should be a valid \\n  attribute such as COLOR, CONTRASTCOLOR, STARTCOLOR, NEUTRAL, ENDCOLOR. The convention is to use \\n  CONTRASTCOLOR for lines. If you specify a style element that does not have a CONTRASTCOLOR attribute, \\n  the element's COLOR attribute is used. If you use a color, SAS/GRAPH accepts color names, such \\n  as RED, or color codes, such as CXFF0000 or #FF0000.\\n\\n  PATTERN=style-reference | line-pattern-name | line-pattern-number specifies the line pattern. \\n  If you use a style-reference, the style-attribute should be LINESTYLE. Line patterns can be specified \\n  as a pattern name or pattern number. Some valid pattern numbers: 1 (Solid), 2 (ShortDash), 4 (MediumDash), \\n  5 (LongDash) 8 (MediumDashShortDash)   14 (DashDashDot) 15 (DashDotDot) 20 (Dash) 26 (LongDashShortDash) \\n  34 (Dot) 35 (ThinDot) 41 (ShortDashDot) 42 (MediumDashDotDot). Not all pattern numbers have names.\\n\\n  THICKNESS=style-reference | dimension \\n  specifies the line thickness. If you use a style-reference, the style-attribute should be LINETHICKNESS.\"},\"StatementOptionType\":\"V\",\"SubOptionsKeywords\":\"COLOR=|PATTERN=|THICKNESS=\"},{\"StatementOptionName\":\"NAME=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: NAME=\\\"string\\\"] \\n          \\nAssigns a name to a plot statement for reference in other template statements. \\n\\nDefault: no default\\n\\nRestriction: The string is case sensitive, cannot contain spaces, and must define a unique name \\nwithin the template.\\n\\nInteraction: The string is used as the default legend label if the LEGENDLABEL= option is not used.\\n\\nTip: The specified name is used primarily in legend statements to coordinate the use of colors and \\nline patterns between the graph and the legend.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"XAXIS=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies whether data are mapped to the primary X (bottom) axis or to the secondary X2 (top) axis. \\n\\nDefault: X\\n\\nRestriction: Another plot that establishes a data range for the designed axis must be included.\\n\\nInteraction: The overall plot specification and the layout type determine the axis display.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"X\",\"@Value2\":\"X2\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Data are mapped to the primary X (bottom) axis.\",\"@ToolTip2\":\"Data are mapped to the the secondary X2 (top) axis.\"}},{\"StatementOptionName\":\"YAXIS=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies whether data are mapped to the primary Y (left) axis or to the secondary Y2 (right) axis. \\n\\nDefault: Y\\n\\nRestriction: Another plot that establishes a data range for the designed axis must be included.\\n\\nInteraction: The overall plot specification and the layout type determine the axis display.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"Y\",\"@Value2\":\"Y2\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Data are mapped to the primary Y (left) axis.\",\"@ToolTip2\":\"Data are mapped to the secondary Y2 (right) axis.\"}}]}},{\"StatementName\":\"LOESSPLOT\",\"StatementHelp\":{\"#cdata\":\"Syntax: LOESSPLOT X = numeric-column | expression\\n      Y = numeric-column | expression </ <regression-options> <option(s)>> ; \\n      \\nCreates a fitted loess curve computed from input data.\"},\"StatementOptions\":{\"StatementOption\":[{\"StatementOptionName\":\"X=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: X=numeric-column | expression] \\n          \\nSpecifies the column for the X values.\"},\"StatementOptionType\":\"RV\"},{\"StatementOptionName\":\"Y=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: Y=numeric-column | expression] \\n          \\nSpecifies the column for the Y values.\"},\"StatementOptionType\":\"RV\"},{\"StatementOptionName\":\"ALPHA=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: ALPHA= positive-number] \\n          \\nSpecifies the confidence level to compute. \\n\\nDefault: .05\\n\\nRange: 0 < number < 1\\n\\nTip: ALPHA=.05 represents a 95% confidence level.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"CLM=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: CLM=\\\"name\\\"] \\n          \\nProduces confidence limits for a mean predicted value for each observation. The confidence \\nlevel is set by the ALPHA= option. \\n\\nDefault: no default\\n\\nInteraction: \\\"name\\\" is a unique name within the template that is case sensitive and cannot contain \\nspaces. It must be assigned in order for the confidence limits to be computed. To display confidence \\nlimits, you must use this name as the required argument of a MODELBAND statement.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"DEGREE=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies the degree of the local polynomials to use for each local regression.\\n\\nDefault: 1\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"1\",\"@Value2\":\"2\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"For local linear fitting.\",\"@ToolTip2\":\"For local quadratic fitting.\"}},{\"StatementOptionName\":\"INTERPOLATION=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies the degree of the interpolating polynomials used for blending local polynomial fits at \\nthe kd tree vertices. \\n\\nDefault: LINEAR\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"LINEAR\",\"@Value2\":\"CUBIC\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Cubic polynomials\",\"@ToolTip2\":\"Linear polynomials\"}},{\"StatementOptionName\":\"MAXPOINTS=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: MAXPOINTS=positive-integer] \\n          \\nSpecifies the maximum number of predicted points generated for the loess curve as well as \\nconfidence limits. \\n\\nDefault: 201\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"SMOOTH=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies a regression parameter value. \\n\\nDefault: AUTO\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"AUTO\",\"@Value2\":\"<positive-number>\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"A regression parameter is automatically selected that minimizes a lack-of-smoothness penalty.\",\"@ToolTip2\":\"Specifies a regression parameter value.\"}},{\"StatementOptionName\":\"REWEIGHT=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies the number of iterative reweighting steps to be done. Such iterations are appropriate when \\nthere are outliers in the data or when the error distribution is a symmetric long-tailed distribution. \\n\\nDefault: NONE\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"NONE\",\"@Value2\":\"<positive-number>\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Specifies that no iterative reweighting steps are to be done.\",\"@ToolTip2\":\"Specifies the number of iterative reweighting steps to be done.\"}},{\"StatementOptionName\":\"WEIGHT=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: WEIGHT= numeric-column] \\n          \\nSpecifies a variable in the input data set that contains values to be used as a priori weights \\nfor a loess fit. The values of the weight variable must be nonnegative. If an observation's weight \\nis zero, negative, or missing, the observation is deleted from the analysis. \\n\\nDefault: no default\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"CURVELABEL=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: CURVELABEL=\\\"string\\\"] \\n          \\nSpecifies a label for the loess curve. \\n\\nDefault: no default\\n\\nTip: The font and color attributes for the label are specified by the CURVELABELATTRS= option.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"CURVELABELATTRS=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: CURVELABELATTRS=style-element | style-element (text-options) | (text-options)] \\n          \\nSpecifies the color and font attributes of the curve labels.\\nDefault: The GraphValueText style element.\\n\\nInteraction: For this option to take effect, the CURVELABEL= option must also be specified.\\n\\nInteraction: If the GROUP= option is specified, this option is ignored.\\n\\nThe available text-options can be any one or more of the following settings. The options must be \\nenclosed in parentheses, and each option is specified as a name=value pair. In all cases, the \\nvalue may be a style-reference in the form style-element:style-attribute .\\n\\n  COLOR=style-reference | color \\n  specifies the color of the text. If you use a style-reference, the style-attribute should be a valid \\n  attribute such as COLOR, CONTRASTCOLOR, STARTCOLOR, NEUTRAL, ENDCOLOR. The convention is to use COLOR \\n  for text. If you use a color, SAS/GRAPH accepts color names, such as RED, or color codes, such as \\n  CXFF0000 or #FF0000. Color names must not exceed 64 characters. Color codes must not exceed 8 characters \\n  and must be in a valid SAS color-naming scheme, such as RGB, CMYK, HLS, or HSV (HSB).\\n\\n  FAMILY =style-reference | \\\"string\\\" \\n  specifies the font family of the text. If you use a style-reference, the style-attribute should be FONTFAMILY. \\n\\n  SIZE=style-reference | dimension \\n  specifies the font size of the text. If you use a style-reference, the style-attribute should be FONTSIZE. \\n\\n  STYLE=style-reference | NORMAL | ITALIC \\n  specifies the font style of the text. If you use a style-reference, the style-attribute should be FONTSTYLE. \\n\\n  WEIGHT=style-reference | NORMAL | BOLD \\n  specifies the font weight of the text. If you use a style-reference, the style-attribute should be FONTWEIGHT.\"},\"StatementOptionType\":\"V\",\"SubOptionsKeywords\":\"COLOR=|FAMILY=|SIZE=|STYLE=|WEIGHT=\"},{\"StatementOptionName\":\"CURVELABELLOCATION=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies the location of the density curve label relative to the plot area. \\n\\nDefault: INSIDE \\n\\nRestriction: OUTSIDE cannot be used when the DENSITYPLOT is used in multicell layouts such as LATTICE, \\nDATAPANEL or DATALATTICE where axes may be external to the grid.\\n\\nInteraction: This option is used in conjunction with the CURVELABELPOSITION= option to determine \\nwhere the curve label appears.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"INSIDE\",\"@Value2\":\"OUTSIDE\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Places the curve label inside the plot area\",\"@ToolTip2\":\"Places the curve label outside the plot area\"}},{\"StatementOptionName\":\"CURVELABELPOSITION=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies the position of the curve label relative to the curve line. \\n\\nDefault: AUTO when CUVELABELLOCATION=OUTSIDE. END when CURVELABELLOCATION=INSIDE. \\n\\nRestriction: The AUTO setting is not supported if CURVELABELLOCATION=INSIDE is specified. The START \\nand END settings are not supported if CURVELABELLOCATION=OUTSIDE is specified.\\n\\nInteraction: For this option to take effect, the CURVELABEL= option must also be specified.\\n\\nInteraction: This option is used in conjunction with the CURVELABELLOCATION= option to determine \\nwhere the density label appears.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"AUTO\",\"@Value2\":\"MAX\",\"@Value3\":\"MIN\",\"@Value4\":\"START\",\"@Value5\":\"END\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Only used when CURVELABELPOSITION=OUTSIDE. The curve label will be positioned automatically near  the end of the density curve along unused axes whenever possible (typically Y2 or X2) to avoid  collision with tick values.\",\"@ToolTip2\":\"Forces the curve label to appear near maximum curve values (typically, upper right).\",\"@ToolTip3\":\"Forces the curve label to appear near minimum curve values (typically, lower left).\",\"@ToolTip4\":\"Only used when CURVELABELLOCATION=INSIDE. Forces the curve label to appear near the beginning of the   curve. Particularly useful when the curve line has a spiral shape.\",\"@ToolTip5\":\"Only used when CURVELABELLOCATION=INSIDE. Forces the curve label to appear near the end of the curve.  Particularly useful when the curve line has a spiral shape.\"}},{\"StatementOptionName\":\"DATATRANSPARENCY=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: DATATRANSPARENCY=number] \\n          \\nSpecifies the degree of the transparency of the loess curve. \\n\\nDefault: 0\\n\\nRange: 0 (opaque) to 1 (entirely transparent)\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"GROUP=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: GROUP=column | expression] \\n          \\nCreates a distinct set of curves from just the observations that correspond to each unique group \\nvalue of the specified column. \\n\\nDefault: Each distinct group value may be represented in the graph by a different combination of \\ncolor and line pattern. Line colors vary according to the GraphData1:ContrastColor - GraphDataN:ContrastColor \\nstyle references, and line patterns vary according to the GraphData1:LineStyle - GraphDataN:LineStyle \\nstyle references.\\n\\nRestriction: The input data must be sorted by the GROUP= column.\\n\\nInteraction: The group values are mapped in the order of the data, unless the INDEX= option is used \\nto alter the default sequence of line colors and line patterns.\\n\\nTip: The LINEATTRS= option can be used to override the representations that are used to identify the \\ngroups. For example, LINEATTRS=(PATTERN=SOLID) can be used to assign the same pattern to all of the \\nloess curves, letting the line color distinguish group values. Likewise, LINEATTRS=(COLOR=BLACK) can \\nbe used to assign the same color to all of the curves, letting the line pattern distinguish group values.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"INDEX=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: INDEX=positive-integer-column | expression] \\n          \\nSpecifies indices for mapping line attributes (color and pattern) to one of the GraphData1 - GranphDataN style elements. \\nDefault no default\\n\\nInteraction: For this option to take effect, the GROUP= option must also be specified.\\n\\nInteraction: All of the indexes for a specific group value must be the same; otherwise, the results \\nare unpredictable.\\n\\nInteraction: If this option is not used, then the group values are mapped in the order of the data.\\n\\nInteraction: The index values are 1-based indices. For the style elements in GraphData1 - GraphDataN, \\nif the index value is greater than N, then a modulo operation remaps that index value to a number less \\nthan N to determine which style element to use.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"LEGENDLABEL=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: LEGENDLABEL= \\\"string\\\"] \\n          \\nSpecifies a label to be used in a legend. \\nDefault: The string specified on the NAME= option.\\n\\nInteraction: If the GROUP= option is specified, this option is ignored.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"LINEATTRS=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: LINEATTRS=style-element | style-element (line-options) | (line-options)] \\n          \\nSpecifies the attributes of the loess curve. \\nDefault: The GraphFit style element.\\n\\nThe available line-options can be any one or more of the following settings. The options must be \\nenclosed in parentheses, and each option is specified as a name=value pair:\\n\\n  COLOR=style-reference | color \\n  specifies the line color. If you use a style-reference, the style-attribute should be a valid \\n  attribute such as COLOR, CONTRASTCOLOR, STARTCOLOR, NEUTRAL, ENDCOLOR. The convention is to use \\n  CONTRASTCOLOR for lines. If you specify a style element that does not have a CONTRASTCOLOR attribute, \\n  the element's COLOR attribute is used. If you use a color, SAS/GRAPH accepts color names, such \\n  as RED, or color codes, such as CXFF0000 or #FF0000.\\n\\n  PATTERN=style-reference | line-pattern-name | line-pattern-number specifies the line pattern. \\n  If you use a style-reference, the style-attribute should be LINESTYLE. Line patterns can be specified \\n  as a pattern name or pattern number. Some valid pattern numbers: 1 (Solid), 2 (ShortDash), 4 (MediumDash), \\n  5 (LongDash) 8 (MediumDashShortDash)   14 (DashDashDot) 15 (DashDotDot) 20 (Dash) 26 (LongDashShortDash) \\n  34 (Dot) 35 (ThinDot) 41 (ShortDashDot) 42 (MediumDashDotDot). Not all pattern numbers have names.\\n\\n  THICKNESS=style-reference | dimension \\n  specifies the line thickness. If you use a style-reference, the style-attribute should be LINETHICKNESS.\"},\"StatementOptionType\":\"V\",\"SubOptionsKeywords\":\"COLOR=|PATTERN=|THICKNESS=\"},{\"StatementOptionName\":\"NAME=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: NAME=\\\"string\\\"] \\n          \\nAssigns a name to a plot statement for reference in other template statements. \\nDefault: no default\\n\\nRestriction: The string is case sensitive, cannot contain spaces, and must define a unique \\nname within the template.\\n\\nInteraction: The string is used as the default legend label if the LEGENDLABEL= option is not used.\\n\\nTip: The specified name is used primarily in legend statements to coordinate the use of colors \\nand line patterns between the graph and the legend.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"PRIMARY=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies that the data columns for this plot and the plot type be used for determining default \\naxis features. \\n\\nDefault: FALSE\\n\\nRestriction: This option is ignored if the plot is placed under a GRIDDED or LATTICE layout block.\\n\\nDetails: This option is needed only when two or more plots within an overlay-type layout contribute \\nto a common axis.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"FALSE\",\"@Value2\":\"TRUE\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Specifies that the data columns for this plot and the plot type not be used for determining default  axis features.\",\"@ToolTip2\":\"Specifies that the data columns for this plot and the plot type be used for determining default  axis features.\"}},{\"StatementOptionName\":\"TIPFORMAT=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: TIPFORMAT=(role-format-list)] \\n          \\nSpecifies display formats for tip columns. \\n\\nDefault: The column format of the variable assigned to the role or BEST6. if no format \\nis assigned to a numeric column.\\n\\n(role-format-list) \\na list of role-name = format pairs separated by blanks. \\n  \\n TIPFORMAT=(Y=6.2) \\n\\nRequirement: To generate tooltips, you must include an ODS GRAPHICS ON statement that has the \\nIMAGEMAP option specified, and write the graphs to the ODS HTML destination.\\n\\nTip: The columns assigned to the X, Y, and GROUP (if assigned) roles are automatically included \\nin the tooltip information.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"TIPLABEL=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: TIPLABEL=(role-label-list)] \\n          \\nSpecifies display labels for tip columns. \\nDefault: The column label or column name of the variable assigned to the role.\\n\\n(role-label-list) \\na list of role-name = \\\"string\\\" pairs separated by blanks. \\n  \\n    TIPLABEL=(Y=\\\"Loess Fit\\\") \\n\\nRequirement: To generate tooltips, you must include an ODS GRAPHICS ON statement that has the \\nIMAGEMAP option specified, and write the graphs to the ODS HTML destination.\\n\\nTip: The columns assigned to the X, Y, and GROUP (if assigned) roles are automatically included \\nin the tooltip information.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"XAXIS=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies whether data are mapped to the primary X (bottom) axis or to the secondary X2 (top) axis. \\n\\nDefault: X\\n\\nInteraction: The overall plot specification and the layout type determine the axis display.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"X\",\"@Value2\":\"X2\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Data are mapped to the primary X (bottom) axis.\",\"@ToolTip2\":\"Data are mapped to the the secondary X2 (top) axis.\"}},{\"StatementOptionName\":\"YAXIS=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies whether data are mapped to the primary Y (left) axis or to the secondary Y2 (right) axis. \\n\\nDefault: Y\\n\\nInteraction: The overall plot specification and the layout type determine the axis display.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"Y\",\"@Value2\":\"Y2\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Data are mapped to the primary Y (left) axis.\",\"@ToolTip2\":\"Data are mapped to the secondary Y2 (right) axis.\"}}],\"#comment\":[{},{}]}},{\"StatementName\":\"MODELBAND\",\"StatementHelp\":{\"#cdata\":\"Syntax: MODELBAND \\\"confidence-name\\\" </ option(s)> ; \\n      \\nCreates a band showing confidence limits for an associated smoother plot.\"},\"StatementOptions\":{\"StatementOption\":[{\"StatementOptionName\":\"CURVELABELATTRS=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: CURVELABELATTRS=style-element | style-element (text-options) | (text-options)] \\n          \\nSpecifies the color and font attributes of the upper and lower band labels.\\nDefault: The GraphValueText style element.\\n\\nInteraction: For this option to take effect, the CURVELABELLOWER= or CURVELABELUPPER= option must \\nalso be specified.\\n\\nInteraction: If the smoother statement's GROUP= option is specified, this option is ignored.\\n\\nThe available text-options can be any one or more of the following settings. The options must be \\nenclosed in parentheses, and each option is specified as a name=value pair. In all cases, the \\nvalue may be a style-reference in the form style-element:style-attribute .\\n\\n  COLOR=style-reference | color \\n  specifies the color of the text. If you use a style-reference, the style-attribute should be a valid \\n  attribute such as COLOR, CONTRASTCOLOR, STARTCOLOR, NEUTRAL, ENDCOLOR. The convention is to use COLOR \\n  for text. If you use a color, SAS/GRAPH accepts color names, such as RED, or color codes, such as \\n  CXFF0000 or #FF0000. Color names must not exceed 64 characters. Color codes must not exceed 8 characters \\n  and must be in a valid SAS color-naming scheme, such as RGB, CMYK, HLS, or HSV (HSB).\\n\\n  FAMILY =style-reference | \\\"string\\\" \\n  specifies the font family of the text. If you use a style-reference, the style-attribute should be FONTFAMILY. \\n\\n  SIZE=style-reference | dimension \\n  specifies the font size of the text. If you use a style-reference, the style-attribute should be FONTSIZE. \\n\\n  STYLE=style-reference | NORMAL | ITALIC \\n  specifies the font style of the text. If you use a style-reference, the style-attribute should be FONTSTYLE. \\n\\n  WEIGHT=style-reference | NORMAL | BOLD \\n  specifies the font weight of the text. If you use a style-reference, the style-attribute should be FONTWEIGHT.\"},\"StatementOptionType\":\"V\",\"SubOptionsKeywords\":\"COLOR=|FAMILY=|SIZE=|STYLE=|WEIGHT=\"},{\"StatementOptionName\":\"CURVELABELLOWER=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: CURVELABELLOWER=\\\"string\\\"] \\n          \\nSpecifies a label for the lower band limit. \\nDefault: no default\\n\\nInteraction: If the smoother statement's GROUP= option is specified, this option is ignored.\\n\\nTip: The font and color attributes for the label are specified by the CURVELABELATTRS= option.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"CURVELABELUPPER=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: CURVELABELUPPER=\\\"string\\\"] \\n          \\nSpecifies a label for the upper band limit. \\nDefault: no default\\n\\nInteraction: If the smoother statement's GROUP= option is specified, this option is ignored.\\n\\nTip: The font and color attributes for the label are specified by the CURVELABELATTRS= option.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"CURVELABELLOCATION=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies the location of the band labels relative to the plot area. \\n\\nDefault: INSIDE \\n\\nRestriction: OUTSIDE cannot be used when the MODELBAND is used in multicell layouts such as \\nLATTICE, DATAPANEL, or DATALATTICE, where axes may be external to the grid.\\n\\nInteraction: This option is used in conjunction with the CURVELABELPOSTION= option to determine \\nwhere the band labels appear. For more information, see \\\"Location and Position of Curve Labels\\\".\\n\\nInteraction: For this option to take effect, the CURVELABELLOWER= or CURVELABELUPPER= option \\nmust also be specified.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"INSIDE\",\"@Value2\":\"OUTSIDE\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Places the band label inside the plot area\",\"@ToolTip2\":\"Places the band label outside the plot area\"}},{\"StatementOptionName\":\"CURVELABELPOSITION=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies the position of the band labels relative to the band line. \\n\\nDefault: AUTO when CUVELABELLOCATION=OUTSIDE. END when CURVELABELLOCATION=INSIDE. \\n\\nRestriction: The AUTO setting is not supported if CURVELABELLOCATION=INSIDE is specified. The START \\nand END settings are not supported if CURVELABELLOCATION=OUTSIDE is specified.\\n\\nInteraction: This option is used in conjunction with the CURVELABELLOCATION= option to determine \\nwhere the band labels appear.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"AUTO\",\"@Value2\":\"MAX\",\"@Value3\":\"MIN\",\"@Value4\":\"START\",\"@Value5\":\"END\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Only used when CURVELABELPOSITION=OUTSIDE. Band labels will be positioned automatically near the  band boundary along unused axes whenever possible (typically Y2 and X2).\",\"@ToolTip2\":\"Forces the band label to appear near maximum band values (typically, upper right)\",\"@ToolTip3\":\"Forces the band label to appear near minimum band values (typically, lower left) \",\"@ToolTip4\":\"Only used when CURVELABELLOCATION=INSIDE. Forces the band label to appear near the beginning of  the band. Particularly useful when the curve line has a spiral shape.\",\"@ToolTip5\":\"Only used when CURVELABELLOCATION=INSIDE. Forces the band label to appear near the end of the band.  Particularly useful when the curve line has a spiral shape.\"}},{\"StatementOptionName\":\"DATATRANSPARENCY=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: DATATRANSPARENCY=number] \\n          \\nSpecifies the degree of the transparency of the band. This option affects both the fill and outline. \\n\\nDefault: 0\\n\\nRange: 0 (opaque) to 1 (entirely transparent)\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"DISPLAY=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies whether to display an outlined area, a filled area, or an outlined and filled modelband area. \\n\\nDefault: The GraphBand:DisplayOpts style reference.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"STANDARD\",\"@Value2\":\"ALL\",\"@Value3\":\"<(display-options)>\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Displays an un-outlined, filled band\",\"@ToolTip2\":\"Displays an outlined, filled band\",\"@ToolTip3\":\"A parenthesized list of options that must include one of the following:                                       OUTLINE  displays an outlined band   FILL  displays a filled band\"},\"SubOptionsKeywords\":\"OUTLINE|FILL\"},{\"StatementOptionName\":\"LEGENDLABEL=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: LEGENDLABEL=\\\"string\\\"] \\n          \\nSpecifies a label to be used in a legend. \\nDefault: The string specified on the NAME= option.\\n\\nInteraction: The smoother statement's GROUP= option overrides this option.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"NAME=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: NAME=\\\"string\\\"] \\n          \\nAssigns a name to a plot statement for reference in other template statements. \\n\\nDefault: no default\\n\\nRestriction: The string is case sensitive, cannot contain spaces, and must define a unique name \\nwithin the template.\\n\\nInteraction: The string is used as the default legend label if the LEGENDLABEL= option is not used.\\n\\nTip: The specified name is used primarily in legend statements to coordinate the use of colors and \\nline patterns between the graph and the legend.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"OUTLINEATTRS=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: OUTLINEATTRS=style-element | style-element (line-options) | (line-options)] \\n          \\nSpecifies the attributes of the modelband outlines. \\n\\nThe available line-options can be any one or more of the following settings. The options must be \\nenclosed in parentheses, and each option is specified as a name=value pair:\\n\\n  COLOR=style-reference | color \\n  specifies the line color. If you use a style-reference, the style-attribute should be a valid \\n  attribute such as COLOR, CONTRASTCOLOR, STARTCOLOR, NEUTRAL, ENDCOLOR. The convention is to use \\n  CONTRASTCOLOR for lines. If you specify a style element that does not have a CONTRASTCOLOR attribute, \\n  the element's COLOR attribute is used. If you use a color, SAS/GRAPH accepts color names, such \\n  as RED, or color codes, such as CXFF0000 or #FF0000.\\n\\n  PATTERN=style-reference | line-pattern-name | line-pattern-number specifies the line pattern. \\n  If you use a style-reference, the style-attribute should be LINESTYLE. Line patterns can be \\n  specified as a pattern name or pattern number. Some valid pattern numbers: 1 (Solid), 2 (ShortDash), \\n  4 (MediumDash), 5 (LongDash) 8 (MediumDashShortDash) 14 (DashDashDot) 15 (DashDotDot) 20 (Dash) \\n  26 (LongDashShortDash) 34 (Dot) 35 (ThinDot) 41 (ShortDashDot) 42 (MediumDashDotDot). \\n  Not all pattern numbers have names. \\n\\n  THICKNESS=style-reference | dimension \\n  specifies the line thickness. If you use a style-reference, the style-attribute should be LINETHICKNESS.\\n\\nDefault:\\n  o For non-grouped data, the GraphConfidence style element. \\n  o For grouped data, the GraphData1: ContrastColor - GraphDataN:ContrastColor style references. \\n\\nInteraction: If DISPLAY=(FILL), this option has no effect.\"},\"StatementOptionType\":\"V\",\"SubOptionsKeywords\":\"COLOR=|PATTERN=|THICKNESS=\"},{\"StatementOptionName\":\"TIPFORMAT=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: TIPFORMAT=(role-format-list)] \\n          \\nSpecifies display formats for tip columns. \\nDefault: The column format of the variable assigned to the role or BEST6. if no format is assigned \\nto a numeric column.\\n\\n(role-format-list) \\na list of role-name = format pairs separated by blanks. \\n  \\n TIPFORMAT=(LIMITUPPER=5.3 \\n            LIMITLOWER=5.3) \\n\\nRequirement: To generate tool tips, you must include an ODS GRAPHICS ON statement that has the \\nIMAGEMAP option specified, and write the graphs to the ODS HTML destination.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"TIPLABEL=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: TIPLABEL=(role-label-list)] \\n          \\nSpecifies display labels for tip columns. \\nDefault: The column label or column name of the variable assigned to the role.\\n\\n(role-label-list) \\na list of role-name = \\\"string\\\" pairs separated by blanks. \\n  \\n  TIPLABEL=(LIMITUPPER=\\\"90% CLM\\\" \\n           LIMITLOWER=\\\"90% CLM\\\") \\n\\nRequirement: To generate tool tips, you must include an ODS GRAPHICS ON statement that has the \\nIMAGEMAP option specified, and write the graphs to the ODS HTML destination.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"XAXIS=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies whether data are mapped to the primary X (bottom) axis or to the secondary X2 (top) axis. \\n\\nDefault: X\\n\\nInteraction: The overall plot specification and the layout type determine the axis display. \\n\\nTip: The setting for this option should be the same as for the smoother statement referenced by \\\"confidence-name\\\" \"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"X\",\"@Value2\":\"X2\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Data are mapped to the primary X (bottom) axis.\",\"@ToolTip2\":\"Data are mapped to the the secondary X2 (top) axis.\"}},{\"StatementOptionName\":\"YAXIS=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies whether data are mapped to the primary Y (left) axis or to the secondary Y2 (right) axis. \\n\\nDefault: Y\\n\\nInteraction: The overall plot specification and the layout type determine the axis display. \\n\\nTip: The setting for this option should be the same as for the smoother statement referenced by \\\"confidence-name\\\" \"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"Y\",\"@Value2\":\"Y2\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Data are mapped to the primary Y (left) axis.\",\"@ToolTip2\":\"Data are mapped to the secondary Y2 (right) axis.\"}}]}},{\"StatementName\":\"NEEDLEPLOT\",\"StatementHelp\":{\"#cdata\":\"Syntax: NEEDLEPLOT X = column | expression\\n      Y = numeric-column | expression </ option(s)> ; \\n      \\nCreates a plot of observations as points connected to a baseline by vertical line segments.\"},\"StatementOptions\":{\"StatementOption\":[{\"StatementOptionName\":\"X=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: X=column | expression] \\n          \\nSpecifies a column or expression for the X values.\"},\"StatementOptionType\":\"RV\"},{\"StatementOptionName\":\"Y=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: Y=numeric-column | expression] \\n          \\nSpecifies a numeric column or numeric expression for the Y values.\"},\"StatementOptionType\":\"RV\"},{\"StatementOptionName\":\"BASELINEINTERCEPT=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies the Y-intercept for the baseline. \\n\\nDefault: 0\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"<number>\",\"@Value2\":\"RELATIVE\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Replace <number> with the Y-intercept value to use for the baseline.\",\"@ToolTip2\":\"The baseline is placed at the Y-axis tick mark closest to the minimum of the range for the needle data points.\"}},{\"StatementOptionName\":\"DATALABEL=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: DATALABEL=column] \\n          \\nSpecifies labels at the data points. \\nDefault: no default\\n\\nTip: The position of the labels is adjusted to prevent the labels from overlapping.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"DATALABELATTRS=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: DATALABELATTRS=style-element | style-element (text-options) | (text-options)] \\n          \\nSpecifies the color and font attributes of the data labels. \\n\\n  style-element \\n      Name of a style element. Only style attributes relevant for rendering the fill, line, data marker, or text will be used.\\n\\n  style-element (text-options) \\n      Name of a style element, plus individual options to be used as style overrides. Any options not specified are derived\\n      from the specified style-element.\\n\\n  (text-options) \\n  COLOR=style-reference | color \\n      specifies the color of the text. If you use a style-reference, the style-attribute should be a valid\\n      attribute such as COLOR, CONTRASTCOLOR, STARTCOLOR, NEUTRAL, ENDCOLOR. The convention is to use COLOR for text.\\n\\n  FAMILY =style-reference | \\\"string\\\" \\n      specifies the font family of the text. If you use a style-reference, the style-attribute should be FONTFAMILY.\\n\\n  SIZE=style-reference | dimension \\n      specifies the font size of the text. If you use a style-reference, the style-attribute should be FONTSIZE. \\n\\n  STYLE=style-reference | NORMAL | ITALIC \\n      specifies the font style of the text. If you use a style-reference, the style-attribute should be FONTSTYLE. \\n\\n  WEIGHT=style-reference | NORMAL | BOLD \\n      specifies the font weight of the text. If you use a style-reference, the style-attribute should be FONTWEIGHT. \\n\\nDefault:\\n  o For non-grouped data, the GraphValueText style element. \\n  o For grouped data, the GraphData1:ContrastColor - GraphDataN:ContrastColor style references. \\n\\nInteraction: For this option to have any effect, the DATALABEL= option must also be specified.\"},\"StatementOptionType\":\"V\",\"SubOptionsKeywords\":\"COLOR=|FAMILY=|SIZE=|STYLE=|WEIGHT=\"},{\"StatementOptionName\":\"DATATRANSPARENCY=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: DATATRANSPARENCY=number] \\n          \\nSpecifies the degree of the transparency of the needles and markers, if displayed. \\n\\nDefault: 0\\n\\nRange: 0 (opaque) to 1 (entirely transparent).\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"DISPLAY=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies whether to display needle lines with or without markers. \\n\\nDefault: STANDARD \\n\\nTip: Use the MARKERATTRS= and LINEATTRS= options to control the appearance of the line and markers.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"STANDARD\",\"@Value2\":\"ALL\",\"@Value3\":\"<(display-options)>\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Displays needle lines without markers.\",\"@ToolTip2\":\"Displays needle lines with markers.\",\"@ToolTip3\":\"A parenthesized list of options that must include the following:  MARKERS  displays needle lines with markers \"},\"SubOptionsKeywords\":\"MARKERS\"},{\"StatementOptionName\":\"GROUP=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: GROUP=column | expression] \\n          \\nCreates a distinct set of needles, markers, and data labels for each unique group value of the \\nspecified column. \\n\\nDefault: Each distinct group value may be represented in the graph by a different combination \\nof color, line pattern and marker symbol. These vary according to the ContrastColor, LineStyle, \\nand MarkerSymbol attributes of the GraphData1 - GraphDataN style elements.\\n\\nInteraction: The group values are mapped in the order of the data, unless the INDEX= option is used \\nto alter the default sequence of marker symbols, colors, and line patterns.\\n\\nInteraction: The marker size is set by the MARKERATTRS= option.\\n\\nTip: The representations that are used to identify the groups can be overridden. For example, each \\ndistinct group value may be represented by a different line pattern, but the LINEATTRS=(PATTERN=pattern) \\noption could be used to assign the same line pattern to all of the plot's line patterns, letting line \\ncolor indicate group values. Likewise, LINEATTRS= ( COLOR= color ) could be used to assign the same \\ncolor to all lines, letting line pattern indicate group values.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"INDEX=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: INDEX=positive-integer-column] \\n          \\nSpecifies indices for mapping needle attributes (color, marker symbol, and line pattern) to one \\nof the GraphData1 - GranphDataN style elements. \\nDefault: no default\\n\\nInteraction: For this option to have any effect, the GROUP= option must also be specified.\\n\\nInteraction: All of the indexes for a specific group value must be the same; otherwise, the results \\nare unpredictable.\\n\\nInteraction: If this option is not used, then the group values are mapped in the order of the data.\\n\\nInteraction: The index values are 1-based indices. For the style elements in GraphData1 - GraphDataN, \\nif the index value is greater than N, then a modulo operation remaps that index value to a number less \\nthan N to determine which style element to use.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"LEGENDLABEL=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: LEGENDLABEL=\\\"string\\\"] \\n          \\nSpecifies a label for use in a legend. \\nDefault: The Y-variable label. If a label is not defined, the Y-variable name.\\n\\nInteraction: If the GROUP= option is specified, this option is ignored.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"LINEATTRS=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: LINEATTRS=style-element | style-element (line-options) | (line-options)] \\n          \\nSpecifies the attributes of the needles for the data points. \\nDefault:\\n  o For non-grouped data, the GraphDataDefault style element. \\n  o For grouped data, the ContrastColor, LineStyle and LineThickness attributes of the \\n    GraphData1 - GraphDataN style elements.\\n\\nThe available line-options can be any one or more of the following settings. The options must be \\nenclosed in parentheses, and each option is specified as a name=value pair:\\n\\n  COLOR=style-reference | color \\n  specifies the line color. If you use a style-reference, the style-attribute should be a valid \\n  attribute such as COLOR, CONTRASTCOLOR, STARTCOLOR, NEUTRAL, ENDCOLOR. The convention is to use \\n  CONTRASTCOLOR for lines. If you specify a style element that does not have a CONTRASTCOLOR attribute, \\n  the element's COLOR attribute is used. If you use a color, SAS/GRAPH accepts color names, such \\n  as RED, or color codes, such as CXFF0000 or #FF0000.\\n\\n  PATTERN=style-reference | line-pattern-name | line-pattern-number specifies the line pattern. \\n  If you use a style-reference, the style-attribute should be LINESTYLE. Line patterns can be specified \\n  as a pattern name or pattern number. Some valid pattern numbers: 1 (Solid), 2 (ShortDash), 4 (MediumDash), \\n  5 (LongDash) 8 (MediumDashShortDash)   14 (DashDashDot) 15 (DashDotDot) 20 (Dash) 26 (LongDashShortDash) \\n  34 (Dot) 35 (ThinDot) 41 (ShortDashDot) 42 (MediumDashDotDot). Not all pattern numbers have names.\\n\\n  THICKNESS=style-reference | dimension \\n  specifies the line thickness. If you use a style-reference, the style-attribute should be LINETHICKNESS.\"},\"StatementOptionType\":\"V\",\"SubOptionsKeywords\":\"COLOR=|PATTERN=|THICKNESS=\"},{\"StatementOptionName\":\"MARKERATTRS=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: MARKERATTRS=style-element | style-element (marker-options) | (marker-options)] \\n          \\nSpecifies the attributes of the data markers. \\nDefault:\\n  o For non-grouped data, the GraphDataDefault style element. \\n  o For grouped data, the MarkerSymbol, Markersize, and ContrastColor attributes of the \\n    GraphData1 - GraphDataN style elements. \\n\\nInteraction: The DISPLAY= option must display markers for this option to have any effect.\\n\\nWhen specifying the attributes for a data marker, the available marker-options can be any one \\nor more of the following settings. The options must be enclosed in parentheses, and each option \\nis specified as a name=value pair. In all cases, the value may be a style-reference in the form \\nstyle-element:style-attribute:\\n\\n  COLOR=style-reference | color \\n  specifies the color of the marker. If you use a style-reference, the style-attribute should be a \\n  valid attribute such as COLOR, CONTRASTCOLOR, STARTCOLOR, NEUTRAL, ENDCOLOR. The convention is to \\n  use CONTRASTCOLOR for markers. For grouped data, this option keeps all markers the same color and \\n  the marker symbol alone distinguishes the group values. If you use a color, SAS/GRAPH accepts color \\n  names, such as RED, or color codes, such as CXFF0000 or #FF0000. Color names must not exceed 64 characters. \\n  Color codes must not exceed 8 characters and must be in a valid SAS color-naming scheme, such as RGB, \\n  CMYK, HLS, or HSV (HSB).\\n\\n  SIZE=style-reference | dimension \\n  specifies the marker size (both width and height). If you use a style-reference, the style-attribute \\n  should be MARKERSIZE. \\n\\n  SYMBOL=style-reference | marker-name \\n  specifies the name of the marker. If you use a style-reference, the style-attribute should be MARKERSYMBOL.\\n\\n  WEIGHT=NORMAL | BOLD \\n  specifies the marker weight.\"},\"StatementOptionType\":\"V\",\"SubOptionsKeywords\":\"COLOR=|SIZE=|SYMBOL=|WEIGHT=\"},{\"StatementOptionName\":\"NAME=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: NAME=\\\"string\\\"] \\n          \\nAssigns a name to a plot statement for reference in other template statements. \\nDefault: no default\\n\\nRestriction: The string is case sensitive, cannot contain spaces, and must define a unique \\nname within the template.\\n\\nInteraction: The string is used as the default legend label if the LEGENDLABEL= option is not used.\\n\\nTip: The specified name is used primarily in legend statements to coordinate the use of colors \\nand line patterns between the graph and the legend.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"PRIMARY=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies that the data columns for this plot be used for determining default \\naxis features. \\n\\nDefault: FALSE\\n\\nRestriction: This option is ignored if the plot is placed under a GRIDDED or LATTICE layout block.\\n\\nDetails: This option is needed only when two or more plots within an overlay-type layout contribute \\nto a common axis.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"FALSE\",\"@Value2\":\"TRUE\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Specifies that the data columns for this plot not be used for determining default  axis features.\",\"@ToolTip2\":\"Specifies that the data columns for this plot be used for determining default  axis features.\"}},{\"StatementOptionName\":\"ROLENAME=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: ROLENAME=( role-name-list )] \\n          \\nSpecifies user-defined roles for information contained in data columns. \\nDefault: no default\\n\\n(role-name-list) \\na blank-separated list of role-name = column pairs. \\nFor example, ROLENAME= ( TIP1=OBS ) assigns the column OBS to the user-defined role TIP1.\\n\\nRequirement: The role names you choose must be unique and different from the pre-defined \\nroles X, Y, DATALABEL, and GROUP.\\n\\nTip: This option provides a way to add to the data columns that appear in tool tips \\nspecified by the TIP= option.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"TIP=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: TIP=(role-list)] \\n          \\nSpecifies the information to display when the cursor is positioned over a needle line or marker. \\nIf this option is used, it replaces all the information displayed by default. Roles for columns \\nthat do not contribute to the needle plot may be specfied along with roles that do. \\n\\nDefault: The columns assigned to these roles are automatically included in the tooltip information: \\nX, Y, DATALABEL, and GROUP.\\n\\n(role-list) \\nan ordered, blank-separated list of unique NEEDLEPLOT and user-defined roles. NEEDLEPLOT roles \\ninclude X, Y, DATALABEL, and GROUP. User-defined roles are defined with the ROLENAME= option.\\n\\nThe following example displays tooltips for the columns assigned to the roles X and Y as well \\nas the column OBS which is not assigned to any pre-defined NeedlePlot role. The OBS column must \\nfirst be assigned a role.\\n  \\n   ROLENAME=(TIP1=OBS) \\n   TIP= (TIP1 X Y) \\n\\nRequirement: To generate tooltips, you must include an ODS GRAPHICS ON statement that has the \\nIMAGEMAP option specified, and write the graphs to the ODS HTML destination.\\n\\nInteraction: The labels and formats for the TIP variables can be controlled with the TIPLABEL= \\nand TIPFORMAT= options.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"TIPFORMAT=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: TIPFORMAT=(role-format-list)] \\n          \\nSpecifies display formats for tip columns. \\n\\nDefault: The column format of the variable assigned to the role or BEST6. if no format is assigned \\nto a numeric column.\\n\\n(role-format-list) \\na list of rolename = format pairs separated by blanks. \\n  \\n   ROLENAME=(TIP1=OBS) \\n   TIP=(TIP1 X Y) \\n   TIPFORMAT=(TIP1=4.) \\n\\nRequirement: This option provides a way to control the formats of columns that appear in tooltips. \\nOnly the roles that appear in the TIP= option are used. Columns must be assigned to the roles for \\nthis option to have any effect. See the ROLENAME= option.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"TIPLABEL=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: TIPLABEL=(role-label-list)] \\n          \\nSpecifies display labels for tip columns. \\nDefault: The column label or column name of the variable assigned to the role.\\n\\n(role-label-list) \\na list of rolename = \\\"string\\\" pairs separated by blanks. \\n  \\n    ROLENAME=(TIP1=OBS) \\n    TIP=(TIP1 X Y) \\n    TIPLABEL=(TIP1=\\\"Observation #\\\") \\n\\nRequirement: This option provides a way to control the labels of columns that appear in tooltips. \\nOnly the roles that appear in the TIP= option are used. Columns must be assigned to the roles for \\nthis option to have any effect. See the ROLENAME= option.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"URL=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: URL=character-column] \\n          \\nSpecifies an HTML page to display when a needle or marker is selected. \\nDefault: no default\\n\\ncharacter-column \\neach value of the column must be a valid HTML page reference (HREF). \\nFor example, http://www.sas.com/technologies/analytics/index.html \\n\\nRequirement: To generate selectable needles, you must include an ODS GRAPHICS ON statement that \\nhas the IMAGEMAP option specified, and write the graphs to the ODS HTML destination.\\n\\nTip: The URL value may be blank for some X and Y pairs, meaning that no action is taken when the \\ncorresponding needle or marker is selected. The URL value may be the same for any X and Y pairs, \\nmeaning that the same action is taken when the needle or marker for those X and Y pairs are selected.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"XAXIS=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies whether data are mapped to the primary X (bottom) axis or to the secondary X2 (top) axis. \\n\\nDefault: X\\n\\nInteraction: The overall plot specification and the layout type determine the axis display.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"X\",\"@Value2\":\"X2\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Data are mapped to the primary X (bottom) axis.\",\"@ToolTip2\":\"Data are mapped to the the secondary X2 (top) axis.\"}},{\"StatementOptionName\":\"YAXIS=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies whether data are mapped to the primary Y (left) axis or to the secondary Y2 (right) axis. \\n\\nDefault: Y\\n\\nInteraction: The overall plot specification and the layout type determine the axis display.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"Y\",\"@Value2\":\"Y2\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Data are mapped to the primary Y (left) axis.\",\"@ToolTip2\":\"Data are mapped to the secondary Y2 (right) axis.\"}}]}},{\"StatementName\":\"PBSPLINEPLOT\",\"StatementHelp\":{\"#cdata\":\"Syntax: PBSPLINEPLOT X = numeric-column | expression\\n      Y = numeric-column | expression </ <regression-options> <option(s)>> ; \\n      \\nCreates a fitted penalized B-spline curve computed from input data.\"},\"StatementOptions\":{\"StatementOption\":[{\"StatementOptionName\":\"X=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: X=numeric-column | expression] \\n          \\nSpecifies the column for the X values.\"},\"StatementOptionType\":\"RV\"},{\"StatementOptionName\":\"Y=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: Y=numeric-column | expression] \\n          \\nSpecifies the column for the Y values.\"},\"StatementOptionType\":\"RV\"},{\"StatementOptionName\":\"ALPHA=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: ALPHA= positive-number] \\n          \\nSpecifies the confidence level to compute. \\n\\nDefault: .05\\n\\nRange: 0 < number < 1\\n\\nTip: ALPHA=.05 represents a 95% confidence level.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"CLI=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: CLI=\\\"name\\\"] \\n          \\nProduces confidence limits for individual predicted values for each observation. \\nDefault: no default\\n\\nInteraction: \\\"name\\\" is a unique name within the template that is case sensitive and cannot contain \\nspaces. It must be assigned in order for the confidence limits to be computed. To display confidence \\nlimits, you must use this name as the required argument of a MODELBAND statement.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"CLM=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: CLM=\\\"name\\\"] \\n          \\nProduces confidence limits for a mean predicted value for each observation. The confidence \\nlevel is set by the ALPHA= option. \\n\\nDefault: no default\\n\\nInteraction: \\\"name\\\" is a unique name within the template that is case sensitive and cannot contain \\nspaces. It must be assigned in order for the confidence limits to be computed. To display confidence \\nlimits, you must use this name as the required argument of a MODELBAND statement.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"DEGREE=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: DEGREE= non-negative-integer] \\n          \\nSpecifies the degree of B-spline. \\n\\nDefault: 3\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"FREQ=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: FREQ=numeric-column] \\n          \\nSpecifies a variable in the input data set that represents the frequency of occurrence of the current \\nobservation, essentially treating the data set as if each observation appeared n times, where n is the \\nvalue of the FREQ variable for the observation. Noninteger values of the FREQ variable are truncated to \\nthe largest integer less than the FREQ value. The observation is used in the analysis only if the value \\nof the FREQ variable is greater than or equal to 1. \\n\\nDefault: no default\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"MAXPOINTS=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: MAXPOINTS=positive-integer] \\n          \\nSpecifies the maximum number of predicted points generated for the spline curve as well as any \\nconfidence limits. \\n\\nDefault: 201\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"NKNOTS=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: NKNOTS=non-negative-integer] \\n          \\nSpecifies the number of evenly spaced internal knots. \\n\\nDefault: 100\\n\\nTip: By default, a large number of knots (100) is specified, which allows for an extreme lack of \\nsmoothness in the results. However, the final function will typically be much smoother due to the \\npenalty. See \\\"Penalized B-Splines\\\" and the \\\"Penalized B-Spline\\\" example in PROC TRANSREG. When SMOOTH=0 \\nis specified, you should typically ask for many fewer knots than the default, since there is no penalty \\nfor lack of smoothness. For example, ten or fewer knots will usually be enough to follow the functional \\nform found in most data.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"SMOOTH=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies a regression parameter value. \\n\\nDefault: AUTO \\n\\nTip: With SMOOTH=AUTO, a regression parameter is automatically selected that minimizes a lack-of-smoothness penalty.\\n\\nTip: You can specify SMOOTH=0 to get an ordinary B-spline fit.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"AUTO\",\"@Value2\":\"<positive-number>\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"A regression parameter is automatically selected that minimizes a lack-of-smoothness penalty.\",\"@ToolTip2\":\"Specifies a regression parameter value.\"}},{\"StatementOptionName\":\"WEIGHT=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: WEIGHT= numeric-column] \\n          \\nSpecifies a variable in the input data set that contains values to be used as a priori weights for \\na penalized B-spline fit. If an observation's weight is zero, negative, or missing, the observation \\nis deleted from the analysis. \\n\\nDefault: no default\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"CURVELABEL=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: CURVELABEL=\\\"string\\\"] \\n          \\nSpecifies a label for the regression curve. \\n\\nDefault: no default\\n\\nTip: The font and color attributes for the label are specified by the CURVELABELATTRS= option.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"CURVELABELATTRS=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: CURVELABELATTRS=style-element | style-element (text-options) | (text-options)] \\n          \\nSpecifies the color and font attributes of the regression curve labels.\\nDefault: The GraphValueText style element.\\n\\nInteraction: For this option to take effect, the CURVELABEL=curvelabel option must also be used.\\n\\nThe available text-options can be any one or more of the following settings. The options must be \\nenclosed in parentheses, and each option is specified as a name=value pair. In all cases, the \\nvalue may be a style-reference in the form style-element:style-attribute .\\n\\n  COLOR=style-reference | color \\n  specifies the color of the text. If you use a style-reference, the style-attribute should be a valid \\n  attribute such as COLOR, CONTRASTCOLOR, STARTCOLOR, NEUTRAL, ENDCOLOR. The convention is to use COLOR \\n  for text. If you use a color, SAS/GRAPH accepts color names, such as RED, or color codes, such as \\n  CXFF0000 or #FF0000. Color names must not exceed 64 characters. Color codes must not exceed 8 characters \\n  and must be in a valid SAS color-naming scheme, such as RGB, CMYK, HLS, or HSV (HSB).\\n\\n  FAMILY =style-reference | \\\"string\\\" \\n  specifies the font family of the text. If you use a style-reference, the style-attribute should be FONTFAMILY. \\n\\n  SIZE=style-reference | dimension \\n  specifies the font size of the text. If you use a style-reference, the style-attribute should be FONTSIZE. \\n\\n  STYLE=style-reference | NORMAL | ITALIC \\n  specifies the font style of the text. If you use a style-reference, the style-attribute should be FONTSTYLE. \\n\\n  WEIGHT=style-reference | NORMAL | BOLD \\n  specifies the font weight of the text. If you use a style-reference, the style-attribute should be FONTWEIGHT.\"},\"StatementOptionType\":\"V\",\"SubOptionsKeywords\":\"COLOR=|FAMILY=|SIZE=|STYLE=|WEIGHT=\"},{\"StatementOptionName\":\"CURVELABELLOCATION=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies the location of the regression curve label relative to the plot area. \\n\\nDefault: INSIDE \\n\\nRestriction: OUTSIDE cannot be used when the PBSPLINEPLOT is used in multicell layouts such as LATTICE, \\nDATAPANEL or DATALATTICE where axes may be external to the grid.\\n\\nInteraction: This option is used in conjunction with the CURVELABELPOSITION= option to determine \\nwhere the curve label appears.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"INSIDE\",\"@Value2\":\"OUTSIDE\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Places the regression curve label inside the plot area\",\"@ToolTip2\":\"Places the regression curve label outside the plot area\"}},{\"StatementOptionName\":\"CURVELABELPOSITION=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies the position of the regression curve label relative to the curve line. \\n\\nDefault: AUTO when CUVELABELLOCATION=OUTSIDE. END when CURVELABELLOCATION=INSIDE. \\n\\nInteraction: For this option to take effect, the CURVELABEL= option must also be specified.\\n\\nInteraction: The AUTO setting is not supported if CURVELABELLOCATION=INSIDE is specified. The START \\nand END settings are not supported if CURVELABELLOCATION=OUTSIDE is specified.\\n\\nInteraction: This option is used in conjunction with the CURVELABELLOCATION= option to determine where \\nthe regression curve label appears.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"AUTO\",\"@Value2\":\"MAX\",\"@Value3\":\"MIN\",\"@Value4\":\"START\",\"@Value5\":\"END\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Only used when CURVELABELPOSITION=OUTSIDE. The regression curve label will be positioned automatically  near the curve boundary along unused axes whenever possible (typically Y2 and X2) to avoid collision  with tick values.\",\"@ToolTip2\":\"Forces the regression curve label to appear near maximum curve values (typically, upper right).\",\"@ToolTip3\":\"Forces the regression curve label to appear near minimum curve values (typically, lower left).\",\"@ToolTip4\":\"Only used when CURVELABELLOCATION=INSIDE. Forces the regression curve label to appear near the  beginning of the curve. Particularly useful when the curve line has a spiral shape.\",\"@ToolTip5\":\"Only used when CURVELABELLOCATION=INSIDE. Forces the regression curve label to appear near the end  of the curve. Particularly useful when the curve line has a spiral shape.\"}},{\"StatementOptionName\":\"DATATRANSPARENCY=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: DATATRANSPARENCY=number] \\n          \\nSpecifies the degree of the transparency of the curve. \\n\\nDefault: 0\\n\\nRange: 0 (opaque) to 1 (entirely transparent)\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"GROUP=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: GROUP=column | expression] \\n          \\nCreates a distinct set of curves from just the observations that correspond to each unique group \\nvalue of the specified column. \\n\\nDefault: Each distinct group value may be represented in the graph by a different combination of \\ncolor and line pattern. Line colors vary according to the GraphData1:ContrastColor - GraphDataN:ContrastColor \\nstyle references, and line patterns vary according to the GraphData1:LineStyle - GraphDataN:LineStyle \\nstyle references.\\n\\nRestriction: The input data must be sorted by the GROUP= column.\\n\\nInteraction: The group values are mapped in the order of the data, unless the INDEX= option is used \\nto alter the default sequence of line colors and line patterns.\\n\\nTip: The LINEATTRS= option can be used to override the representations that are used to identify the \\ngroups. For example, LINEATTRS=(PATTERN=SOLID) can be used to assign the same pattern to all of the \\nloess curves, letting the line color distinguish group values. Likewise, LINEATTRS=(COLOR=BLACK) can \\nbe used to assign the same color to all of the curves, letting the line pattern distinguish group values.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"INDEX=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: INDEX=positive-integer-column | expression] \\n          \\nSpecifies indices for mapping line attributes (color and pattern) to one of the \\nGraphData1 - GranphDataN style elements. \\n\\nDefault: no default\\n\\nInteraction: For this option to take effect, the GROUP= option must also be specified.\\n\\nInteraction: All of the indexes for a specific group value must be the same; otherwise, the results \\nare unpredictable.\\n\\nInteraction: If this option is not used, then the group values are mapped in the order of the data.\\n\\nInteraction: The index values are 1-based indices. For the style elements in GraphData1 - GraphDataN, \\nif the index value is greater than N, then a modulo operation remaps that index value to a number less \\nthan N to determine which style element to use.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"LEGENDLABEL=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: LEGENDLABEL=\\\"string\\\"] \\n          \\nSpecifies a label for use in a legend. \\nThe string specified on the NAME= option.\\n\\nInteraction: If the GROUP= option is specified, this option is ignored.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"LINEATTRS=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: LINEATTRS=style-element | style-element (line-options) | (line-options)] \\n          \\nSpecifies the attributes of the regression curve.\\nDefault: The GraphFitLine style element.\\n\\nThe available line-options can be any one or more of the following settings. The options must be \\nenclosed in parentheses, and each option is specified as a name=value pair:\\n\\n  COLOR=style-reference | color \\n  specifies the line color. If you use a style-reference, the style-attribute should be a valid \\n  attribute such as COLOR, CONTRASTCOLOR, STARTCOLOR, NEUTRAL, ENDCOLOR. The convention is to use \\n  CONTRASTCOLOR for lines. If you specify a style element that does not have a CONTRASTCOLOR attribute, \\n  the element's COLOR attribute is used. If you use a color, SAS/GRAPH accepts color names, such \\n  as RED, or color codes, such as CXFF0000 or #FF0000.\\n\\n  PATTERN=style-reference | line-pattern-name | line-pattern-number specifies the line pattern. \\n  If you use a style-reference, the style-attribute should be LINESTYLE. Line patterns can be specified \\n  as a pattern name or pattern number. Some valid pattern numbers: 1 (Solid), 2 (ShortDash), 4 (MediumDash), \\n  5 (LongDash) 8 (MediumDashShortDash)   14 (DashDashDot) 15 (DashDotDot) 20 (Dash) 26 (LongDashShortDash) \\n  34 (Dot) 35 (ThinDot) 41 (ShortDashDot) 42 (MediumDashDotDot). Not all pattern numbers have names.\\n\\n  THICKNESS=style-reference | dimension \\n  specifies the line thickness. If you use a style-reference, the style-attribute should be LINETHICKNESS.\"},\"StatementOptionType\":\"V\",\"SubOptionsKeywords\":\"COLOR=|PATTERN=|THICKNESS=\"},{\"StatementOptionName\":\"NAME=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: NAME=\\\"string\\\"] \\n          \\nAssigns a name to a plot statement for reference in other template statements. \\nDefault: no default\\n\\nRestriction: The string is case sensitive, cannot contain spaces, and must define a unique \\nname within the template.\\n\\nInteraction: The string is used as the default legend label if the LEGENDLABEL= option is not used.\\n\\nTip: The specified name is used primarily in legend statements to coordinate the use of colors \\nand line patterns between the graph and the legend.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"PRIMARY=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies that the data columns for this plot and the plot type be used for determining default axis features. \\n\\nDefault: FALSE\\n\\nRestriction: This option is ignored if the plot is placed under a GRIDDED or LATTICE layout block.\\n\\nDetails: This option is needed only when two or more plots within an overlay-type layout \\ncontribute to a common axis.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"FALSE\",\"@Value2\":\"TRUE\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Specifies that the data columns for this plot and the plot type not be used for determining default  axis features.\",\"@ToolTip2\":\"Specifies that the data columns for this plot and the plot type be used for determining default  axis features.\"}},{\"StatementOptionName\":\"TIPFORMAT=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: TIPFORMAT=(role-format-list)] \\n          \\nSpecifies display formats for tip columns. \\n\\nDefault: The column format of the variable assigned to the role or BEST6. if no format is assigned \\nto a numeric column.\\n\\n(role-format-list) \\na list of role-name = format pairs separated by blanks. \\n  \\n TIPFORMAT=(Y=6.2) \\n\\nRequirement: To generate tooltips, you must include an ODS GRAPHICS ON statement that has the IMAGEMAP \\noption specified, and write the graphs to the ODS HTML destination.\\n\\nTip: The columns assigned to the X, Y, and GROUP (if assigned) roles are automatically included in the \\ntooltip information.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"TIPLABEL=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: TIPLABEL=(role-label-list)] \\n          \\nSpecifies display labels for tip columns. \\nDefault: The column label or column name of the variable assigned to the role.\\n\\n(role-label-list) \\na list of role-name = \\\"string\\\" pairs separated by blanks. \\n  \\n    TIPLABEL=(Y=\\\"Spline Regression\\\") \\n\\nRequirement: To generate tooltips, you must include an ODS GRAPHICS ON statement that has the IMAGEMAP \\noption specified, and write the graphs to the ODS HTML destination.\\n\\nTip: The columns assigned to the X, Y, and GROUP (if assigned) roles are automatically included in \\nthe tooltip information.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"XAXIS=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies whether data are mapped to the primary X (bottom) axis or to the secondary X2 (top) axis. \\n\\nDefault: X\\n\\nInteraction: The overall plot specification and the layout type determine the axis display.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"X\",\"@Value2\":\"X2\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Data are mapped to the primary X (bottom) axis.\",\"@ToolTip2\":\"Data are mapped to the the secondary X2 (top) axis.\"}},{\"StatementOptionName\":\"YAXIS=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies whether data are mapped to the primary Y (left) axis or to the secondary Y2 (right) axis. \\n\\nDefault: Y\\n\\nInteraction: The overall plot specification and the layout type determine the axis display.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"Y\",\"@Value2\":\"Y2\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Data are mapped to the primary Y (left) axis.\",\"@ToolTip2\":\"Data are mapped to the secondary Y2 (right) axis.\"}}],\"#comment\":[{},{}]}},{\"StatementName\":\"REFERENCELINE\",\"StatementHelp\":{\"#cdata\":\"Syntax: REFERENCELINE X= x-axis-value | column | expression </ option(s)> ; \\n      \\nSyntax for creating a line perpendicular to the Y-axis at a Y-intercept:\\n\\n  REFERENCELINE Y= y-axis-value | column | expression </ option(s)> ; \\n\\nCreates a horizontal or vertical reference line.\"},\"StatementOptions\":{\"StatementOption\":[{\"StatementOptionName\":\"X=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: X=x-axis-value | column | expression] \\n          \\nSpecifies the X intercept of the reference line(s). \\nRequirement: If not specified, then Y must be specified.\\n\\nTip: By default, if the value specified for the X= argument is outside of the data range, then the \\ndata range is extended to include the specified intercept. This behavior can be changed with the CLIP= option\\n\\nTip: Values must agree in type with the data type of the X axis. For example, you should use numeric SAS \\ndate or time values (or SAS date/time constants) for a time axis.\"},\"StatementOptionType\":\"RV\"},{\"StatementOptionName\":\"Y=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: Y=y-axis-value | column | expression] \\n          \\nSpecifies the Y intercept of the reference line(s). \\nRequirement: If not specified, then X must be specified.\\n\\nTip: By default, if the value specified for the Y= argument is outside of the data range, then \\nthe data range is extended to include the specified intercept. This behavior can be changed with \\nthe CLIP= option.\\n\\nTip: Values must agree in type with the data type of the Y axis.\"},\"StatementOptionType\":\"RV\"},{\"StatementOptionName\":\"CLIP=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies whether the data for the line are considered when determining the data ranges for the axes. \\n\\nDefault: FALSE\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"FALSE\",\"@Value2\":\"TRUE\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"The data for the line contribute to the data range for each axis. Each axis may be extended to force  the display of the line.\",\"@ToolTip2\":\"The data for the line are ignored when establishing axis scales. Each axis scale is determined by the  other plots in the parent layout. This may result in the line not being displayed if its data range  is not within the data ranges of the other plots.\"}},{\"StatementOptionName\":\"CURVELABEL=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: CURVELABEL=\\\"string\\\"| column | expression] \\n          \\nSpecifies a label for the reference line(s). \\n\\nDefault: no default\\n\\nInteraction:\\n  o If the X or Y argument specifies a value, use \\\"string .\\\" \\n  o If the X or Y argument specifies a column, use a column to define the label for each value. \\n\\nTip: The font and color attributes for the label are specified by the CURVELABELATTRS= option.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"CURVELABELATTRS=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: CURVELABELATTRS=style-element | style-element (text-options) | (text-options)] \\n          \\nSpecifies the color and font attributes of the reference line label(s).\\nDefault: The GraphValueText style element.\\n\\nInteraction: For this option to take effect, the CURVELABEL= option must also be used.\\n\\nThe available text-options can be any one or more of the following settings. The options must be \\nenclosed in parentheses, and each option is specified as a name=value pair. In all cases, the \\nvalue may be a style-reference in the form style-element:style-attribute .\\n\\n  COLOR=style-reference | color \\n  specifies the color of the text. If you use a style-reference, the style-attribute should be a valid \\n  attribute such as COLOR, CONTRASTCOLOR, STARTCOLOR, NEUTRAL, ENDCOLOR. The convention is to use COLOR \\n  for text. If you use a color, SAS/GRAPH accepts color names, such as RED, or color codes, such as \\n  CXFF0000 or #FF0000. Color names must not exceed 64 characters. Color codes must not exceed 8 characters \\n  and must be in a valid SAS color-naming scheme, such as RGB, CMYK, HLS, or HSV (HSB).\\n\\n  FAMILY =style-reference | \\\"string\\\" \\n  specifies the font family of the text. If you use a style-reference, the style-attribute should be FONTFAMILY. \\n\\n  SIZE=style-reference | dimension \\n  specifies the font size of the text. If you use a style-reference, the style-attribute should be FONTSIZE. \\n\\n  STYLE=style-reference | NORMAL | ITALIC \\n  specifies the font style of the text. If you use a style-reference, the style-attribute should be FONTSTYLE. \\n\\n  WEIGHT=style-reference | NORMAL | BOLD \\n  specifies the font weight of the text. If you use a style-reference, the style-attribute should be FONTWEIGHT.\"},\"StatementOptionType\":\"V\",\"SubOptionsKeywords\":\"COLOR=|FAMILY=|SIZE=|STYLE=|WEIGHT=\"},{\"StatementOptionName\":\"CURVELABELLOCATION=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies the location of the reference line label relative to the plot area. \\n\\nDefault: INSIDE \\n\\nRestriction: OUTSIDE cannot be used when the DENSITYPLOT is used in multicell layouts such as LATTICE, \\nDATAPANEL or DATALATTICE where axes may be external to the grid.\\n\\nInteraction: For this option to take effect, the CURVELABEL= option must also be specified.\\n\\nInteraction: This option is used in conjunction with the CURVELABELPOSITION= option to determine \\nwhere the curve label appears.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"INSIDE\",\"@Value2\":\"OUTSIDE\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Places the reference line label inside the plot area\",\"@ToolTip2\":\"Places the reference line label outside the plot area\"}},{\"StatementOptionName\":\"CURVELABELPOSITION=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies the position of the reference line label relative to the line. \\n\\nDefault: AUTO when CUVELABELLOCATION=OUTSIDE. MAX when CURVELABELLOCATION=INSIDE. \\n\\nRestriction: The AUTO setting is not supported if CURVELABELLOCATION=INSIDE is specified. The START \\nand END settings are not supported if CURVELABELLOCATION=OUTSIDE is specified.\\n\\nInteraction: For this option to take effect, the CURVELABEL= option must also be specified.\\n\\nInteraction: This option is used in conjunction with the CURVELABELLOCATION= option to determine \\nwhere the density label appears.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"AUTO\",\"@Value2\":\"MAX\",\"@Value3\":\"MIN\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Only used when CURVELABELLOCATION=OUTSIDE. The line label will be positioned automatically near the  line boundary along unused axes whenever possible (typically Y2 and X2) to avoid collision with  tick values.\",\"@ToolTip2\":\"Forces the line label to appear near maximum line values (typically, the top or right).\",\"@ToolTip3\":\"Forces the line label to appear near minimum line values (typically, the bottom or left).\"}},{\"StatementOptionName\":\"DATATRANSPARENCY=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: DATATRANSPARENCY=number] \\n          \\nSpecifies the degree of the transparency of the reference line. \\n\\nDefault: 0\\n\\nRange: 0 (opaque) to 1 (entirely transparent)\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"LEGENDLABEL=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: LEGENDLABEL= \\\"string\\\"] \\n          \\nSpecifies a label for use in a legend. \\n\\nDefault: The string specified on the NAME= option.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"LINEATTRS=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: LINEATTRS=style-element | style-element (line-options) | (line-options)] \\n          \\nSpecifies the attributes of the reference line.  \\nDefault: The GraphReference style element.\\n\\nThe available line-options can be any one or more of the following settings. The options must be \\nenclosed in parentheses, and each option is specified as a name=value pair:\\n\\n  COLOR=style-reference | color \\n  specifies the line color. If you use a style-reference, the style-attribute should be a valid \\n  attribute such as COLOR, CONTRASTCOLOR, STARTCOLOR, NEUTRAL, ENDCOLOR. The convention is to use \\n  CONTRASTCOLOR for lines. If you specify a style element that does not have a CONTRASTCOLOR attribute, \\n  the element's COLOR attribute is used. If you use a color, SAS/GRAPH accepts color names, such \\n  as RED, or color codes, such as CXFF0000 or #FF0000.\\n\\n  PATTERN=style-reference | line-pattern-name | line-pattern-number specifies the line pattern. \\n  If you use a style-reference, the style-attribute should be LINESTYLE. Line patterns can be specified \\n  as a pattern name or pattern number. Some valid pattern numbers: 1 (Solid), 2 (ShortDash), 4 (MediumDash), \\n  5 (LongDash) 8 (MediumDashShortDash)   14 (DashDashDot) 15 (DashDotDot) 20 (Dash) 26 (LongDashShortDash) \\n  34 (Dot) 35 (ThinDot) 41 (ShortDashDot) 42 (MediumDashDotDot). Not all pattern numbers have names.\\n\\n  THICKNESS=style-reference | dimension \\n  specifies the line thickness. If you use a style-reference, the style-attribute should be LINETHICKNESS.\"},\"StatementOptionType\":\"V\",\"SubOptionsKeywords\":\"COLOR=|PATTERN=|THICKNESS=\"},{\"StatementOptionName\":\"NAME=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: NAME=\\\"string\\\"] \\n          \\nAssigns a name to a plot statement for reference in other template statements. \\nDefault: no default\\n\\nRestriction: The string is case sensitive, cannot contain spaces, and must define a unique name \\nwithin the template.\\n\\nInteraction: The string is used as the default legend label if the LEGENDLABEL= option is not used.\\n\\nTip: The specified name is used primarily in legend statements to coordinate the use of colors and \\nline patterns between the graph and the legend.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"XAXIS=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies whether data are mapped to the primary X (bottom) axis or to the secondary X2 (top) axis. \\n\\nDefault: X\\n\\nRestriction: Another plot that establishes a data range for the axis must be included.\\n\\nInteraction: This option is ignored if the X= argument is not specified.\\n\\nInteraction: The overall plot specification and the layout type determine the axis display.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"X\",\"@Value2\":\"X2\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Data are mapped to the primary X (bottom) axis.\",\"@ToolTip2\":\"Data are mapped to the the secondary X2 (top) axis.\"}},{\"StatementOptionName\":\"YAXIS=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies whether data are mapped to the primary Y (left) axis or to the secondary Y2 (right) axis. \\n\\nDefault: Y\\n\\nRestriction: Another plot that establishes a data range for the axis must be included.\\n\\nInteraction: This option is ignored if the Y= argument is not specified.\\n\\nInteraction: The overall plot specification and the layout type determine the axis display.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"Y\",\"@Value2\":\"Y2\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Data are mapped to the primary Y (left) axis.\",\"@ToolTip2\":\"Data are mapped to the secondary Y2 (right) axis.\"}}]}},{\"StatementName\":\"REGRESSIONPLOT\",\"StatementHelp\":{\"#cdata\":\"Syntax: REGRESSIONPLOT X = numeric-column | expression\\n      Y = numeric-column | expression </ <regression-options> <option(s)>> ; \\n      \\nCreates a fitted regression line or curve computed from input data.\"},\"StatementOptions\":{\"StatementOption\":[{\"StatementOptionName\":\"X=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: X=numeric-column | expression] \\n          \\nSpecifies the numeric column for the X values.\"},\"StatementOptionType\":\"RV\"},{\"StatementOptionName\":\"Y=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: Y=numeric-column | expression] \\n          \\nSpecifies the numeric column for the Y values.\"},\"StatementOptionType\":\"RV\"},{\"StatementOptionName\":\"ALPHA=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: ALPHA= positive-number] \\n          \\nSpecifies the confidence level to compute. \\n\\nDefault: .05\\n\\nRange: 0 - 1\\n\\nTip: ALPHA=.05 represents a 95% confidence level.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"CLI=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: CLI=\\\"name\\\"] \\n          \\nProduces confidence limits for individual predicted values for each observation. The confidence \\nlevel is set by the ALPHA= option.\\n\\nDefault: no default\\n\\nInteraction: \\\"name\\\" is a unique name within the template that is case sensitive and cannot contain \\nspaces. It must be assigned in order for the confidence limits to be computed. To display confidence \\nlimits, you must use this name as the required argument of a MODELBAND statement.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"CLM=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: CLM=\\\"name\\\"] \\n          \\nProduces confidence limits for a mean predicted value for each observation. The confidence \\nlevel is set by the ALPHA= option. \\n\\nDefault: no default\\n\\nInteraction: \\\"name\\\" is a unique name within the template that is case sensitive and cannot contain \\nspaces. It must be assigned in order for the confidence limits to be computed. To display confidence \\nlimits, you must use this name as the required argument of a MODELBAND statement.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"DEGREE=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: DEGREE= non-negative-integer] \\n          \\nSpecifies the degree of the polynomial. \\nDefault: 1\\n\\nTip: DEGREE=1 produces a linear fit,\\nDEGREE=2 produces a quadratic fit,\\nDEGREE=3 produces a cubic fit, and so on.\\n\\nTip: The value of the DEGREE= d option corresponds to either of the following PROC TRANSREG specifications \\nfor the independent variable: SPLINE(X / DEGREE=d ) or PBSPLINE(X / DEGREE=d LAMBDA=0).\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"FREQ=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: FREQ=numeric-column] \\n          \\nSpecifies a variable in the input data set that represents the frequency of occurrence of the current \\nobservation, essentially treating the data set as if each observation appeared n times, where n is the \\nvalue of the FREQ variable for the observation. Noninteger values of the FREQ variable are truncated to \\nthe largest integer less than the FREQ value. The observation is used in the analysis only if the value \\nof the FREQ variable is greater than or equal to 1. \\n\\nDefault: no default\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"MAXPOINTS=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: MAXPOINTS=positive-integer] \\n          \\nSpecifies the maximum number of predicted points generated for the regression curve as well as any \\nconfidence limits. \\n\\nDefault: 201\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"WEIGHT=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: WEIGHT= numeric-column] \\n          \\nSpecifies a variable in the input data set that contains values to be used as a priori weights for \\na regression fit. If an observation's weight is zero, negative, or missing, the observation is deleted \\nfrom the analysis. \\n\\nDefault: no default\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"CURVELABEL=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: CURVELABEL=\\\"string\\\"] \\n          \\nSpecifies a label for the regression line. \\nDefault: no default\\n\\nInteraction: If the GROUP= option is specified, this option is ignored.\\n\\nTip: The font and color attributes for the label are specified by the CURVELABELATTRS= option.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"CURVELABELATTRS=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: CURVELABELATTRS=style-element | style-element (text-options) | (text-options)] \\n          \\nSpecifies the color and font attributes of the regression line labels.\\nDefault: The GraphValueText style element.\\n\\nInteraction: For this option to take effect, the CURVELABEL=curvelabel option must also be used.\\nInteraction: If the GROUP= option is specified, this option is ignored.\\n\\nThe available text-options can be any one or more of the following settings. The options must be \\nenclosed in parentheses, and each option is specified as a name=value pair. In all cases, the \\nvalue may be a style-reference in the form style-element:style-attribute .\\n\\n  COLOR=style-reference | color \\n  specifies the color of the text. If you use a style-reference, the style-attribute should be a valid \\n  attribute such as COLOR, CONTRASTCOLOR, STARTCOLOR, NEUTRAL, ENDCOLOR. The convention is to use COLOR \\n  for text. If you use a color, SAS/GRAPH accepts color names, such as RED, or color codes, such as \\n  CXFF0000 or #FF0000. Color names must not exceed 64 characters. Color codes must not exceed 8 characters \\n  and must be in a valid SAS color-naming scheme, such as RGB, CMYK, HLS, or HSV (HSB).\\n\\n  FAMILY =style-reference | \\\"string\\\" \\n  specifies the font family of the text. If you use a style-reference, the style-attribute should be FONTFAMILY. \\n\\n  SIZE=style-reference | dimension \\n  specifies the font size of the text. If you use a style-reference, the style-attribute should be FONTSIZE. \\n\\n  STYLE=style-reference | NORMAL | ITALIC \\n  specifies the font style of the text. If you use a style-reference, the style-attribute should be FONTSTYLE. \\n\\n  WEIGHT=style-reference | NORMAL | BOLD \\n  specifies the font weight of the text. If you use a style-reference, the style-attribute should be FONTWEIGHT.\"},\"StatementOptionType\":\"V\",\"SubOptionsKeywords\":\"COLOR=|FAMILY=|SIZE=|STYLE=|WEIGHT=\"},{\"StatementOptionName\":\"CURVELABELLOCATION=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies the location of the regression line label relative to the plot area. \\n\\nDefault: INSIDE \\n\\nRestriction: OUTSIDE cannot be used when the REGRESSIONPLOT is used in multicell layouts such as LATTICE, \\nDATAPANEL or DATALATTICE where axes may be external to the grid.\\n\\nInteraction: This option is used in conjunction with the CURVELABELPOSITION= option to determine \\nwhere the curve label appears.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"INSIDE\",\"@Value2\":\"OUTSIDE\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Places the regression line label inside the plot area\",\"@ToolTip2\":\"Places the regression line label outside the plot area\"}},{\"StatementOptionName\":\"CURVELABELPOSITION=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies the position of the regression line label relative to the regression line. \\n\\nDefault: AUTO when CUVELABELLOCATION=OUTSIDE. END when CURVELABELLOCATION=INSIDE. \\n\\nRestriction: The AUTO setting is not supported if CURVELABELLOCATION=INSIDE is specified. The START \\nand END settings are not supported if CURVELABELLOCATION=OUTSIDE is specified.\\n\\nInteraction: For this option to take effect, the CURVELABEL= option must also be specified.\\n\\nInteraction: This option is used in conjunction with the CURVELABELLOCATION= option to determine \\nwhere the line label appears.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"AUTO\",\"@Value2\":\"MAX\",\"@Value3\":\"MIN\",\"@Value4\":\"START\",\"@Value5\":\"END\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Only used when CURVELABELLOCATION=OUTSIDE. The line label will be positioned automatically near the  line boundary along unused axes whenever possible (typically Y2 and X2) to avoid collision with tick values.\",\"@ToolTip2\":\"Forces the line label to appear near maximum line values (typically, upper right).\",\"@ToolTip3\":\"Forces the line label to appear near minimum line values (typically, lower left).\",\"@ToolTip4\":\"Only used when CURVELABELLOCATION=INSIDE. Forces the line label to appear near the beginning of the  regression line. Particularly useful when the curve line has a spiral shape.\",\"@ToolTip5\":\"Only used when CURVELABELLOCATION=INSIDE. Forces the line label to appear near the end of the  regression line. Particularly useful when the curve line has a spiral shape.\"}},{\"StatementOptionName\":\"DATATRANSPARENCY=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: DATATRANSPARENCY=number] \\n          \\nSpecifies the degree of the transparency of the regression line. \\n\\nDefault: 0\\n\\nRange: 0 (opaque) to 1 (entirely transparent)\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"GROUP=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: GROUP=column | expression] \\n          \\nCreates a distinct set of regression lines from just the observations that correspond to each \\nunique group value of the specified column. \\n\\nDefault: Each distinct group value may be represented in the graph by a different combination of \\nline color and line pattern. Line colors vary according to the GraphData1:ContrastColor - \\nGraphDataN:ContrastColor style references, and line patterns vary according to the \\nGraphData1:LineStyle - GraphDataN:LineStyle style references.\\n\\nRestriction: The input data must be sorted by the GROUP= column.\\n\\nInteraction: The group values are mapped in the order of the data, unless the INDEX= option is \\nused to alter the default sequence of line colors and line patterns.\\n\\nTip: The LINEATTRS= option can be used to override the representations that are used to identify \\nthe groups. For example, LINEATTRS=(PATTERN=SOLID) can be used to assign the same pattern to all \\nof the lines, letting the line color distinguish group values. Likewise, LINEATTRS=(COLOR=BLACK) \\ncan be used to assign the same color to all of the lines, letting the line pattern distinguish \\ngroup values.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"INDEX=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: INDEX=positive-integer-column | expression] \\n          \\nSpecifies indices for mapping line attributes (color and pattern) to one of the \\nGraphData1 - GranphDataN style elements. \\n\\nDefault: no default\\n\\nInteraction: For this option to take effect, the GROUP= option must also be specified.\\n\\nInteraction: All of the indexes for a specific group value must be the same; otherwise, the \\nresults are unpredictable.\\n\\nInteraction: If this option is not used, then the group values are mapped in the order of the data.\\n\\nInteraction: The index values are 1-based indices. For the style elements in GraphData1 - GraphDataN, \\nif the index value is greater than N, then a modulo operation remaps that index value to a number less \\nthan N to determine which style element to use.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"LEGENDLABEL=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: LEGENDLABEL=\\\"string\\\"] \\n          \\nSpecifies a label for use in a legend. \\n\\nDefault: The string specified on the NAME= option.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"LINEATTRS=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: LINEATTRS=style-element | style-element (line-options) | (line-options)] \\n          \\nSpecifies the attributes of the regression line.\\nDefault: The GraphFit style element.\\n\\nThe available line-options can be any one or more of the following settings. The options must be \\nenclosed in parentheses, and each option is specified as a name=value pair:\\n\\n  COLOR=style-reference | color \\n  specifies the line color. If you use a style-reference, the style-attribute should be a valid \\n  attribute such as COLOR, CONTRASTCOLOR, STARTCOLOR, NEUTRAL, ENDCOLOR. The convention is to use \\n  CONTRASTCOLOR for lines. If you specify a style element that does not have a CONTRASTCOLOR attribute, \\n  the element's COLOR attribute is used. If you use a color, SAS/GRAPH accepts color names, such \\n  as RED, or color codes, such as CXFF0000 or #FF0000.\\n\\n  PATTERN=style-reference | line-pattern-name | line-pattern-number specifies the line pattern. \\n  If you use a style-reference, the style-attribute should be LINESTYLE. Line patterns can be specified \\n  as a pattern name or pattern number. Some valid pattern numbers: 1 (Solid), 2 (ShortDash), 4 (MediumDash), \\n  5 (LongDash) 8 (MediumDashShortDash)   14 (DashDashDot) 15 (DashDotDot) 20 (Dash) 26 (LongDashShortDash) \\n  34 (Dot) 35 (ThinDot) 41 (ShortDashDot) 42 (MediumDashDotDot). Not all pattern numbers have names.\\n\\n  THICKNESS=style-reference | dimension \\n  specifies the line thickness. If you use a style-reference, the style-attribute should be LINETHICKNESS.\"},\"StatementOptionType\":\"V\",\"SubOptionsKeywords\":\"COLOR=|PATTERN=|THICKNESS=\"},{\"StatementOptionName\":\"NAME=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: NAME=\\\"string\\\"] \\n          \\nAssigns a name to a plot statement for reference in other template statements. \\nDefault: no default\\n\\nRestriction: The string is case sensitive, cannot contain spaces, and must define a unique \\nname within the template.\\n\\nInteraction: The string is used as the default legend label if the LEGENDLABEL= option is not used.\\n\\nTip: The specified name is used primarily in legend statements to coordinate the use of colors \\nand line patterns between the graph and the legend.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"PRIMARY=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies that the data columns for this plot and the plot type be used for determining default axis features. \\n\\nDefault: FALSE\\n\\nRestriction: This option is ignored if the plot is placed under a GRIDDED or LATTICE layout block.\\n\\nDetails: This option is needed only when two or more plots within an overlay-type layout \\ncontribute to a common axis.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"FALSE\",\"@Value2\":\"TRUE\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Specifies that the data columns for this plot and the plot type not be used for determining default  axis features.\",\"@ToolTip2\":\"Specifies that the data columns for this plot and the plot type be used for determining default  axis features.\"}},{\"StatementOptionName\":\"TIPFORMAT=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: TIPFORMAT=(role-format-list)] \\n          \\nSpecifies display formats for tip columns. \\nDefault: The column format of the variable assigned to the role or BEST6. if no format is assigned \\nto a numeric column.\\n\\n(role-format-list) \\na list of role-name = format pairs separated by blanks. \\n  \\n  TIPFORMAT=(Y=6.2) \\n\\nRequirement: To generate tooltips, you must include an ODS GRAPHICS ON statement that has the \\nIMAGEMAP option specified, and write the graphs to the ODS HTML destination.\\n\\nTip: The columns assigned to the roles X, Y, and GROUP (if assigned) are automatically included \\nin the tooltip information.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"TIPLABEL=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: TIPLABEL=(role-label-list)] \\n          \\nSpecifies display labels for tip columns. \\n\\nDefault: The column label or column name of the variable assigned to the role.\\n\\n(role-label-list) \\na list of role-name = \\\"string\\\" pairs separated by blanks. \\n  \\n    TIPLABEL=(Y=\\\"Regression Fit\\\") \\n\\nRequirement: To generate tooltips, you must include an ODS GRAPHICS ON statement that has the \\nIMAGEMAP option specified, and write the graphs to the ODS HTML destination.\\n\\nTip: The columns assigned to the roles X, Y, and GROUP (if assigned) are automatically included \\nin the tooltip information.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"XAXIS=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies whether data are mapped to the primary X (bottom) axis or to the secondary X2 (top) axis. \\n\\nDefault: X\\n\\nInteraction: The overall plot specification and the layout type determine the axis display.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"X\",\"@Value2\":\"X2\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Data are mapped to the primary X (bottom) axis.\",\"@ToolTip2\":\"Data are mapped to the the secondary X2 (top) axis.\"}},{\"StatementOptionName\":\"YAXIS=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies whether data are mapped to the primary Y (left) axis or to the secondary Y2 (right) axis. \\n\\nDefault: Y\\n\\nInteraction: The overall plot specification and the layout type determine the axis display.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"Y\",\"@Value2\":\"Y2\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Data are mapped to the primary Y (left) axis.\",\"@ToolTip2\":\"Data are mapped to the secondary Y2 (right) axis.\"}}],\"#comment\":[{},{}]}},{\"StatementName\":\"SCATTERPLOT\",\"StatementHelp\":{\"#cdata\":\"Syntax: SCATTERPLOT X= column | expression\\n      Y= column | expression </ option(s)> ; \\n      \\nCreates a scatter plot of input data.\"},\"StatementOptions\":{\"StatementOption\":[{\"StatementOptionName\":\"X=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: X=column | expression] \\n          \\nSpecifies the column for the X values.\"},\"StatementOptionType\":\"RV\"},{\"StatementOptionName\":\"Y=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: Y=column | expression] \\n          \\nSpecifies the column for the Y values.\"},\"StatementOptionType\":\"RV\"},{\"StatementOptionName\":\"COLORMODEL=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: COLORMODEL=style-element] \\n          \\nSpecifies a style element to be used with the MARKERCOLORGRADIENT= option. \\nDefault: The ThreeColorAltRamp style element.\\n\\nstyle-element \\nName of a style element. The style element should contain these style attributes: \\n\\n  STARTCOLOR \\n  color for the smallest data value of the column that is specified on the MARKERCOLORGRADIENT= option \\n  \\n  NEUTRALCOLOR \\n  color for the midpoint of the range of the column that is specified on the MARKERCOLORGRADIENT= option \\n  \\n  ENDCOLOR \\n  color for the highest data value of the column that is specified on the MARKERCOLORGRADIENT= option \\n\\nInteraction: For this option to take effect, the MARKERCOLORGRADIENT= option must also be specified.\\n\\nTip: The REVERSECOLORMODEL= option can be used to reverse the start and end colors of the ramp assigned \\nto the colormodel.\"},\"StatementOptionType\":\"V\",\"SubOptionsKeywords\":\"STARTCOLOR|NEUTRALCOLOR|ENDCOLOR\"},{\"StatementOptionName\":\"DATALABEL=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: DATALABEL=column] \\n          \\nSpecifies a column for marker labels. The position of the labels are adjusted to prevent them from overlapping.\\n\\nDefault: no default\\n\\nInteraction: If a numeric column is specified and the column has no format, a BEST6. format is applied.\\n\\nInteraction: This option is ignored if the MARKERCHARACTER= option is used, which displays labels \\ninstead of the markers.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"DATALABELATTRS=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: DATALABELATTRS=style-element | style-element (text-options) | (text-options)] \\n          \\nSpecifies the color and font attributes of the data labels. \\n\\n  style-element \\n      Name of a style element. Only style attributes relevant for rendering the fill, line, data marker, or text will be used.\\n\\n  style-element (text-options) \\n      Name of a style element, plus individual options to be used as style overrides. Any options not specified are derived\\n      from the specified style-element.\\n\\n  (text-options) \\n  COLOR=style-reference | color \\n      specifies the color of the text. If you use a style-reference, the style-attribute should be a valid\\n      attribute such as COLOR, CONTRASTCOLOR, STARTCOLOR, NEUTRAL, ENDCOLOR. The convention is to use COLOR for text.\\n\\n  FAMILY =style-reference | \\\"string\\\" \\n      specifies the font family of the text. If you use a style-reference, the style-attribute should be FONTFAMILY.\\n\\n  SIZE=style-reference | dimension \\n      specifies the font size of the text. If you use a style-reference, the style-attribute should be FONTSIZE. \\n\\n  STYLE=style-reference | NORMAL | ITALIC \\n      specifies the font style of the text. If you use a style-reference, the style-attribute should be FONTSTYLE. \\n\\n  WEIGHT=style-reference | NORMAL | BOLD \\n      specifies the font weight of the text. If you use a style-reference, the style-attribute should be FONTWEIGHT. \\n\\nDefault:\\n  o For non-grouped data, the GraphDataText style element. \\n  o For grouped data, the GraphData1:ContrastColor - GraphDataN:ContrastColor style references. \\n\\nInteraction: For this option to take effect, the DATALABEL= option must also be specified.\\n\\nInteraction: This option is ignored if the MARKERCHARACTER= option is specified.\"},\"StatementOptionType\":\"V\",\"SubOptionsKeywords\":\"COLOR=|FAMILY=|SIZE=|STYLE=|WEIGHT=\"},{\"StatementOptionName\":\"DATATRANSPARENCY=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: DATATRANSPARENCY=number] \\n          \\nSpecifies the degree of the transparency of the markers, data labels, and errorbars, when displayed. \\n\\nDefault: 0\\n\\nRange: 0 (opaque) to 1 (entirely transparent).\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"ERRORBARATTRS=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: ERRORBARATTRS=style-element | style-element (line-options) | (line-options)] \\n          \\nSpecifies the attributes of the error bars associated with the data points. \\n\\nThe available line-options can be any one or more of the following settings. The options must be \\nenclosed in parentheses, and each option is specified as a name=value pair:\\n\\n  COLOR=style-reference | color \\n  specifies the line color. If you use a style-reference, the style-attribute should be a valid \\n  attribute such as COLOR, CONTRASTCOLOR, STARTCOLOR, NEUTRAL, ENDCOLOR. The convention is to use \\n  CONTRASTCOLOR for lines. If you specify a style element that does not have a CONTRASTCOLOR attribute, \\n  the element's COLOR attribute is used. If you use a color, SAS/GRAPH accepts color names, such \\n  as RED, or color codes, such as CXFF0000 or #FF0000.\\n\\n  PATTERN=style-reference | line-pattern-name | line-pattern-number specifies the line pattern. \\n  If you use a style-reference, the style-attribute should be LINESTYLE. Line patterns can be \\n  specified as a pattern name or pattern number. Some valid pattern numbers: 1 (Solid), 2 (ShortDash), \\n  4 (MediumDash), 5 (LongDash) 8 (MediumDashShortDash) 14 (DashDashDot) 15 (DashDotDot) 20 (Dash) \\n  26 (LongDashShortDash) 34 (Dot) 35 (ThinDot) 41 (ShortDashDot) 42 (MediumDashDotDot). \\n  Not all pattern numbers have names.\\n\\n  THICKNESS=style-reference | dimension \\n  specifies the line thickness. If you use a style-reference, the style-attribute should be LINETHICKNESS.\\n\\nDefault:\\n  o For non-grouped data, the GraphError style element. \\n  o For grouped data, the LineStyle and LineThickness attributes of the GraphError style element and \\n    the ContrastColor attribute of the GraphData1 - GraphDataN style elements. (The LineStyle does not \\n    apply to the \\\"serif\\\" parts of the error bars.) \\n    \\nInteraction: For this option to take effect, error bars must be displayd by the XERRORLOWER=, \\nXERRORUPPER=, YERRORLOWER=, or YERRORUPPER= options.\"},\"StatementOptionType\":\"V\",\"SubOptionsKeywords\":\"COLOR=|PATTERN=|THICKNESS=\"},{\"StatementOptionName\":\"FREQ=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: FREQ=numeric-column | expression] \\n          \\nSpecifies a column that indicates a frequency count for each observation of the input data object. \\nIf n is the value of the FREQ variable for a given observation, then that observation is plotted n times. \\n\\nDefault: Each observation is plotted once.\\n\\nRestriction: If the value of the numeric-column is missing or is less than 1, the observation is not \\nused in the analysis. If the value is not an integer, only the integer portion is used.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"GROUP=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: GROUP=column | expression] \\n          \\nCreates a separate marker type for each unique group value of the specified column. \\nDefault: Each distinct group value may be represented in the graph by a different combination of \\ncolor and marker symbol. Markers vary according to the ContrastColor and MarkerSymbol attributes \\nof the GraphData1 - GraphDataN style elements.\\n\\nInteraction: The group values are mapped in the order of the data, unless the INDEX= option is \\nused to alter the default sequence of markers and colors.\\n\\nInteraction: The marker size is set by the MARKERATTRS= option.\\n\\nInteraction: If the MARKERCHARACTER= and MARKERCOLORGRADIENT= options are used, their settings \\noverride the group settings for marker symbol and marker color.\\n\\nInteraction: The representations that are used to identify the groups can be overridden. For example, \\neach distinct group value is represented by a different marker symbol, but the MARKERATTRS= ( SYMBOL=marker) \\noption could be used to assign the same symbol to all of the plot's marker symbols, letting marker color \\nindicate group values. Likewise, MARKERATTRS= ( COLOR= color ) could be used to assign the same color to \\nall markers, letting marker symbol indicate group values.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"INDEX=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: INDEX=positive-integer-column | expression] \\n          \\nSpecifies indices for mapping marker attributes (color and symbol) to one of the \\nGraphData1 - GranphDataN style elements. \\n\\nDefault: no default\\n\\nInteraction: For this option to take effect, the GROUP= option must also be specified.\\n\\nInteraction: All of the indexes for a specific group value must be the same; otherwise, \\nthe results are unpredictable.\\n\\nInteraction: If this option is not used, then the group values are mapped in the order of the data.\\n\\nInteraction: If the MARKERCHARACTER= and MARKERCOLORGRADIENT= options are used, their settings \\noverride the group settings for marker symbol and marker color.\\n\\nInteraction: The index values are 1-based indices. For the style elements GraphData1 - GraphDataN, \\nif the index value is greater than N, then a modulo operation remaps that index value to a number \\nless than N to determine which style element to use.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"LEGENDLABEL=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: LEGENDLABEL=\\\"string\\\"] \\n          \\nSpecifies a label for use in a legend. \\n\\nDefault: The Y-variable label. If a label is not defined, the Y-variable name.\\n\\nInteraction: If the GROUP= option is specified, this option is ignored.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"MARKERATTRS=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: MARKERATTRS=style-element | style-element (marker-options) | (marker-options)] \\n          \\nSpecifies the attributes of the data markers. \\nDefault:\\n  o For non-grouped data, the GraphDataDefault style element. \\n  o For grouped data, the MarkerSymbol and ContrastColor attributes of the \\n    GraphData1 - GraphDataN style elements, and the GraphDataDefault:MarkerSize style reference. \\n\\nInteraction: If the MARKERCOLORGRADIENT= option is specified, this option's COLOR= setting is ignored.\\nInteraction: If the MARKERCHARACTER= option is specified, its SYMBOL= and WEIGHT= settings are ignored.\\n\\nWhen specifying the attributes for a data marker, the available marker-options can be any one \\nor more of the following settings. The options must be enclosed in parentheses, and each option \\nis specified as a name=value pair. In all cases, the value may be a style-reference in the form \\nstyle-element:style-attribute:\\n\\n  COLOR=style-reference | color \\n  specifies the color of the marker. If you use a style-reference, the style-attribute should be a \\n  valid attribute such as COLOR, CONTRASTCOLOR, STARTCOLOR, NEUTRAL, ENDCOLOR. The convention is to \\n  use CONTRASTCOLOR for markers. For grouped data, this option keeps all markers the same color and \\n  the marker symbol alone distinguishes the group values. If you use a color, SAS/GRAPH accepts color \\n  names, such as RED, or color codes, such as CXFF0000 or #FF0000. Color names must not exceed 64 characters. \\n  Color codes must not exceed 8 characters and must be in a valid SAS color-naming scheme, such as RGB, \\n  CMYK, HLS, or HSV (HSB).\\n\\n  SIZE=style-reference | dimension \\n  specifies the marker size (both width and height). If you use a style-reference, the style-attribute \\n  should be MARKERSIZE. \\n\\n  SYMBOL=style-reference | marker-name \\n  specifies the name of the marker. If you use a style-reference, the style-attribute should be MARKERSYMBOL.\\n\\n  WEIGHT=NORMAL | BOLD \\n  specifies the marker weight.\"},\"StatementOptionType\":\"V\",\"SubOptionsKeywords\":\"COLOR=|SIZE=|SYMBOL=|WEIGHT=\"},{\"StatementOptionName\":\"MARKERCHARACTER=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: MARKERCHARACTER=column | expression] \\n          \\nSpecifies a column that defines strings to be used instead of marker symbols. \\n\\nDefault: no default\\n\\nInteraction: This option overrides the DATALABEL= option.\\n\\nInteraction: If the GROUP= option is also used, color will be displayed for a DISCRETE legend, but \\nthe character will not be displayed in the legend.\\n\\nTip: If the GROUP= option is also specified, the same colors are applied to the text strings as would \\nhave been applied to markers.\\n\\nTip: If a numeric column is used, its values are converted to strings using the format associated with \\nthe column or BEST6. if no format is defined.\\n\\nTip: Each string is centered horizontally and vertically at the data point. The data point positions \\nare not adjusted to prevent text overlap.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"MARKERCHARACTERATTRS=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: MARKERCHARACTERATTRS=style-element | style-element (text-options) | (text-options)] \\n          \\nSpecifies the color and font attributes of the marker character specified on the MARKERCHARACTER= option. \\n\\nWhen specifying the attributes for text, the available text-options can be any one or more of the following \\nsettings. The options must be enclosed in parentheses, and each option is specified as a name=value pair. \\nIn all cases, the value may be a style-reference in the form style-element:style-attribute .\\n\\n  COLOR=style-reference | color \\n  specifies the color of the text. If you use a style-reference, the style-attribute should be a valid \\n  attribute such as COLOR, CONTRASTCOLOR, STARTCOLOR, NEUTRAL, ENDCOLOR. The convention is to use COLOR for text. \\n  If you use a color , SAS/GRAPH accepts color names, such as RED, or color codes, such as CXFF0000 or #FF0000. \\n  Color names must not exceed 64 characters. Color codes must not exceed 8 characters and must be in a valid \\n  SAS color-naming scheme, such as RGB, CMYK, HLS, or HSV (HSB).\\n\\n  FAMILY =style-reference | \\\"string\\\" \\n  specifies the font family of the text. If you use a style-reference, the style-attribute should be FONTFAMILY. \\n\\n  SIZE=style-reference | dimension \\n  specifies the font size of the text. If you use a style-reference, the style-attribute should be FONTSIZE. \\n\\n  STYLE=style-reference | NORMAL | ITALIC \\n  specifies the font style of the text. If you use a style-reference, the style-attribute should be FONTSTYLE. \\n\\n  WEIGHT=style-reference | NORMAL | BOLD \\n  specifies the font weight of the text. If you use a style-reference, the style-attribute should be FONTWEIGHT. \\n  \\nDefault:\\n  o For non-grouped data, the GraphDataText style element. \\n  o For grouped data, GraphData1:ContrastColor - GraphDataN:ContrastColor style references. \\n\\nInteraction: For this option to take effect, the MARKERCHARACTER= option must also be used.\"},\"StatementOptionType\":\"V\",\"SubOptionsKeywords\":\"COLOR=|FAMILY=|SIZE=|STYLE=|WEIGHT=\"},{\"StatementOptionName\":\"MARKERCOLORGRADIENT=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: MARKERCOLORGRADIENT=numeric-column | expression] \\n          \\nSpecifies the column that is used to map marker colors to a continuous gradient. \\nDefault: no default\\n\\nRestriction: To display a legend with this option in effect, you must use a CONTINUOUSLEGEND statement, \\nnot a DISCRETELEGEND statement.\\n\\nInteraction: This option overrides the COLOR= setting of the MARKERATTRS= or MARKERCHARACTERATTRS= option.\\n\\nTip: This option can be used to add a second response variable to an analysis. For example, in an analysis \\nof weight by height, an age column might be specified by the MARKERCOLORGRADIENT= option so that the change \\nin the gradient color of the markers reflects the change in age.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"NAME=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: NAME=\\\"string\\\"] \\n          \\nAssigns a name to a plot statement for reference in other template statements. \\n\\nDefault: no default\\n\\nRestriction: The string is case sensitive, cannot contain spaces, and must define a unique name \\nwithin the template.\\n\\nTip: The specified name is used primarily in legend statements to coordinate the use of colors and \\nmarker symbols between the graph and the legend.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"PRIMARY=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies that the data columns for this plot and the plot type be used for determining default \\naxis features. \\n\\nDefault: FALSE\\n\\nRestriction: This option is ignored if the plot is placed under a GRIDDED or LATTICE layout block.\\n\\nDetails: This option is needed only when two or more plots within an overlay-type layout contribute \\nto a common axis.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"FALSE\",\"@Value2\":\"TRUE\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Specifies that the data columns for this plot and the plot type not be used for determining default  axis features.\",\"@ToolTip2\":\"Specifies that the data columns for this plot and the plot type be used for determining default  axis features.\"}},{\"StatementOptionName\":\"REVERSECOLORMODEL=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies whether to reverse the gradient (color ramp) defined by the COLORMODEL= option. \\n\\nDefault: FALSE\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"FALSE\",\"@Value2\":\"TRUE\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Specifies not to reverse the gradient (color ramp) defined by the COLORMODEL= option.\",\"@ToolTip2\":\"Specifies to reverse the gradient (color ramp) defined by the COLORMODEL= option.\"}},{\"StatementOptionName\":\"ROLENAME=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: ROLENAME=( role-name-list )] \\n          \\nSpecifies user-defined roles for information contained in data columns. \\nDefault: no default\\n\\n(role-name-list) \\na blank-separated list of role-name = column pairs. \\nFor example, ROLENAME= ( TIP1=OBS ) assigns the column OBS to the user-defined role TIP1.\\n\\nRequirement: The role names you choose must be unique and different from the pre-defined roles X, Y, \\nDATALABEL, MARKERCHARACTER, MARKERCOLORGRADIENT, XERRORLOWER, XERRORUPPER, YERRORLOWER, YERRORUPPER, \\nGROUP, and INDEX.\\n\\nInteraction: For this option to take effect, the TIP= option must also be used.\\n\\nTip: This option provides a way to add to the data columns that appear in tool tips specified by \\nthe TIP= option.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"TIP=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: TIP=(role-list)] \\n          \\nSpecifies the information to display when the cursor is positioned over the scatter points. If this \\noption is used, it replaces all the information displayed by default. Roles for columns that do not \\ncontribute to the scatter plot may be specfied along with roles that do. \\n\\nDefault: The columns assigned to these roles are automatically included in the tool tip information: \\nX, Y, DATALABEL, MARKERCHARACTER, MARKERCOLORGRADIENT, XERRORLOWER, XERRORUPPER, YERRORLOWER, YERRORUPPER, \\nFREQ, GROUP, and INDEX.\\n\\n(role-list) \\nan ordered, blank-separated list of unique SCATTERPLOT and user-defined roles. SCATTERPLOT roles include \\nX, Y, DATALABEL, MARKERCHARACTER, MARKERCOLORGRADIENT, XERRORLOWER, XERRORUPPER, YERRORLOWER, YERRORUPPER, \\nGROUP, and INDEX. User-defined roles are defined with the ROLENAME= option.\\n\\nThe following example displays tool tips for the columns assigned to the roles X and Y as well as the \\ncolumn OBS which is not assigned to any pre-defined ScatterPlot role. The OBS column must first be \\nassigned a role.\\n  \\n   ROLENAME=(TIP1=OBS) \\n   TIP= (TIP1 X XERRORUPPER XERRORLOWER) \\n\\nRequirement: To generate tool tips, you must include an ODS GRAPHICS ON statement that has the \\nIMAGEMAP option specified, and write the graphs to the ODS HTML destination.\\n\\nTip: The labels and formats for the TIP variables can be controlled with the TIPLABEL= and \\nTIPFORMAT= options.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"TIPFORMAT=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: TIPFORMAT=(role-format-list)] \\n          \\nSpecifies display formats for tip columns. \\nDefault: The column format of the variable assigned to the role or BEST6. if no format is assigned \\nto a numeric column.\\n\\n(role-format-list) \\na list of rolename = format pairs separated by blanks. \\n  \\n   ROLENAME=(TIP1=OBS) \\n   TIP=(TIP1 X XERRORUPPER XERRORLOWER) \\n   TIPFORMAT=(XERRORUPPER=5.3 XERRORLOWER=5.3) \\n\\nRequirement: Columns must be assigned to the roles for this option to have any effect. \\nSee the ROLENAME= option.\\n\\nTip: This option provides a way to control the formats of columns that appear in tool tips. \\nOnly the roles that appear in the TIP= option are used.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"TIPLABEL=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: TIPLABEL=(role-label-list)] \\n          \\nSpecifies display labels for tip columns. \\nDefault: The column label or column name of the variable assigned to the role.\\n\\n(role-label-list) \\na list of rolename = \\\"string\\\" pairs separated by blanks. \\n  \\n    ROLENAME=(TIP1=PCT) \\n    TIP=(TIP1 X XERRORUPPER XERRORLOWER) \\n    TIPLABEL=(XERRORUPPER=\\\"1 STD ERROR\\\" \\n              XERRPRLOWER=\\\"-1 STD ERROR\\\") \\n\\nRequirement: Columns must be assigned to the roles for this option to have any effect. \\nSee the ROLENAME= option.\\n\\nTip: This option provides a way to control the labels of columns that appear in tool tips. \\nOnly the roles that appear in the TIP= option are used.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"URL=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: URL=character-column] \\n          \\nSpecifies an HTML page to display when a point is selected. \\nDefault: no default\\n\\ncharacter-column \\neach value of the column must be a valid HTML page reference (HREF). \\nFor example, http://www.sas.com/technologies/analytics/index.html \\n\\nRequirement: To generate selectable markers, you must include an ODS GRAPHICS ON statement that \\nhas the IMAGEMAP option specified, and write the graphs to the ODS HTML destination.\\n\\nTip: The URL value may be blank for some X and Y pairs, meaning that no action is taken when the \\ncorresponding point is selected. The URL value may be the same for any X and Y pairs, meaning that \\nthe same action is taken when the points for those X and Y pairs are selected.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"XAXIS=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies whether data are mapped to the primary X (bottom) axis or to the secondary X2 (top) axis. \\n\\nDefault: X\\n\\nInteraction: This option is ignored if the X= argument is not specified.\\n\\nInteraction: The overall plot specification and the layout type determine the axis display for the specified axis.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"X\",\"@Value2\":\"X2\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Data are mapped to the primary X (bottom) axis.\",\"@ToolTip2\":\"Data are mapped to the the secondary X2 (top) axis.\"}},{\"StatementOptionName\":\"YAXIS=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies whether data are mapped to the primary Y (left) axis or to the secondary Y2 (right) axis. \\n\\nDefault: Y\\n\\nInteraction: This option is ignored if the Y= argument is not specified.\\n\\nInteraction: The overall plot specification and the layout type determine the axis display for the specified axis.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"Y\",\"@Value2\":\"Y2\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Data are mapped to the primary Y (left) axis.\",\"@ToolTip2\":\"Data are mapped to the secondary Y2 (right) axis.\"}},{\"StatementOptionName\":\"XERRORLOWER=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: XERRORLOWER=numeric-column | expression] \\n          \\nSpecifies values for the lower endpoints on the X error bars. \\nDefault: The lower segment of the error bars is not drawn.\\n\\nTip: The values are actual values, not relative values.\\n\\nTip: The appearance of the error bars is controlled by the ERRORBARATTRS= option.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"YERRORLOWER=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: YERRORLOWER=numeric-column | expression] \\n          \\nSpecifies values for the lower endpoints on the Y error bars. \\nDefault: The lower segment of the error bars is not drawn.\\n\\nTip: The values are actual values, not relative values.\\n\\nTip: The appearance of the error bars is controlled by the ERRORBARATTRS= option.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"XERRORUPPER=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: XERRORUPPER=numeric-column | expression] \\n          \\nSpecifies values for the upper endpoints on the X error bars. \\nDefault: The upper segment of the error bars is not drawn.\\n\\nTip: The values are actual values, not relative values.\\n\\nTip: The appearance of the error bars is controlled by the ERRORBARATTRS= option.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"YERRORUPPER=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: YERRORUPPER=numeric-column | expression] \\n          \\nSpecifies values for the upper endpoints on the Y error bars. \\nDefault: The upper segment of the error bars is not drawn.\\n\\nTip: The values are actual values, not relative values.\\n\\nTip: The appearance of the error bars is controlled by the ERRORBARATTRS= option.\"},\"StatementOptionType\":\"V\"}]}},{\"StatementName\":\"SCATTERPLOTMATRIX\",\"StatementHelp\":{\"#cdata\":\"Syntax: SCATTERPLOTMATRIX numeric-column-list </ option(s)> ; \\n\\nCreates a matrix of all pairwise scatter plots of the specified variables.\"},\"StatementOptions\":{\"StatementOption\":[{\"StatementOptionName\":\"COLORMODEL=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: COLORMODEL=style-element] \\n          \\nSpecifies a style element to be used with the MARKERCOLORGRADIENT= option. \\nDefault: The ThreeColorAltRamp style element.\\n\\nstyle-element \\nName of a style element. The style element should contain these style attributes: \\n\\n  STARTCOLOR \\n  color for the smallest data value of the column that is specified on the MARKERCOLORGRADIENT= option \\n  \\n  NEUTRALCOLOR \\n  color for the midpoint of the range of the column that is specified on the MARKERCOLORGRADIENT= option \\n  \\n  ENDCOLOR \\n  color for the highest data value of the column that is specified on the MARKERCOLORGRADIENT= option \\n\\nInteraction: For this option to take effect, the MARKERCOLORGRADIENT= option must also be specified.\\n\\nTip: The REVERSECOLORMODEL= option can be used to reverse the start and end colors of the ramp assigned \\nto the colormodel.\"},\"StatementOptionType\":\"V\",\"SubOptionsKeywords\":\"STARTCOLOR|NEUTRALCOLOR|ENDCOLOR\"},{\"StatementOptionName\":\"CORROPTS=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: CORROPTS=(correlation-options)] \\n        \\nSpecifies options for computing measures of association between pairs of variables. \\nThe following correlation-options are available:\\n\\n  EXCLNPWGT = FALSE | TRUE \\n  specifies whether observations with non-positive weight values are excluded (TRUE) from the analysis. \\n  Default: FALSE (observations with negative weights are treated like those with zero weights and counted \\n  in the total number of observations).\\n\\n  NOMISS = FALSE | TRUE \\n  specifies whether observations with missing values are excluded (TRUE) from the analysis. \\n  Default: FALSE (correlation statistics are computed using all of the nonmissing pairs of variables).\\n\\n  Tip: Using NOMISS=TRUE is computationally more efficient.\\n\\n  WEIGHT = numeric-column \\n  specifies a weighting variable to use in the calculation of Pearson weighted product-moment correlation. \\n  The observations with missing weights are excluded from the analysis. \\n  Default: For observations with nonpositive weights, weights are set to zero and the observations are \\n  included in the analysis.\\n\\n  Tip: You can include EXCLNPWGT among the correlation-options to exclude observations with negative or \\n  zero weights from the analysis. If you use this WEIGHT correlation-option , consider which value of the \\n  VARDEF= correlation-option is appropriate.\\n\\n  DF | N | WDF | WEIGHT \\n  specifies the variance divisor in the calculation of variances and covariances. \\n  Default: DF\\n\\n    DF Degrees of Freedom (N - 1) \\n    N number of observations \\n    WDF sum of weights minus 1 (WEIGHT - 1) \\n    WEIGHT sum of weights \\n\\nInteraction: This option has effect only when the INSET= option is also used.\\n\\nTip: See PROC CORR in the for statistical and computational details of these options.\"},\"StatementOptionType\":\"V\",\"SubOptionsKeywords\":\"EXCLNPWGT=|NOMISS=|WEIGHT=|VARDEF=\"},{\"StatementOptionName\":\"DATALABEL=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: DATALABEL=column] \\n          \\nSpecifies a column for marker labels. The position of the labels are adjusted to prevent them from overlapping.\\n\\nDefault: no default\\n\\nInteraction: If a numeric column is specified and the column has no format, a BEST6. format is applied.\\n\\nInteraction: This option is ignored if the MARKERCHARACTER= option is used, which displays labels \\ninstead of the markers.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"DATALABELATTRS=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: DATALABELATTRS=style-element | style-element (text-options) | (text-options)] \\n          \\nSpecifies the color and font attributes of the data labels. \\n\\n  style-element \\n      Name of a style element. Only style attributes relevant for rendering the fill, line, data marker, or text will be used.\\n\\n  style-element (text-options) \\n      Name of a style element, plus individual options to be used as style overrides. Any options not specified are derived\\n      from the specified style-element.\\n\\n  (text-options) \\n  COLOR=style-reference | color \\n      specifies the color of the text. If you use a style-reference, the style-attribute should be a valid\\n      attribute such as COLOR, CONTRASTCOLOR, STARTCOLOR, NEUTRAL, ENDCOLOR. The convention is to use COLOR for text.\\n\\n  FAMILY =style-reference | \\\"string\\\" \\n      specifies the font family of the text. If you use a style-reference, the style-attribute should be FONTFAMILY.\\n\\n  SIZE=style-reference | dimension \\n      specifies the font size of the text. If you use a style-reference, the style-attribute should be FONTSIZE. \\n\\n  STYLE=style-reference | NORMAL | ITALIC \\n      specifies the font style of the text. If you use a style-reference, the style-attribute should be FONTSTYLE. \\n\\n  WEIGHT=style-reference | NORMAL | BOLD \\n      specifies the font weight of the text. If you use a style-reference, the style-attribute should be FONTWEIGHT. \\n\\nDefault:\\n  o For non-grouped data, the GraphDataText style element. \\n  o For grouped data, the GraphData1:ContrastColor - GraphDataN:ContrastColor style references. \\n\\nInteraction: For this option to take effect, the DATALABEL= option must also be specified.\\n\\nInteraction: This option is ignored if the MARKERCHARACTER= option is specified.\"},\"StatementOptionType\":\"V\",\"SubOptionsKeywords\":\"COLOR=|FAMILY=|SIZE=|STYLE=|WEIGHT=\"},{\"StatementOptionName\":\"DATATRANSPARENCY=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: DATATRANSPARENCY=number] \\n          \\nSpecifies the degree of the transparency of the markers. \\n\\nDefault: 0\\n\\nRange: 0 (opaque) to 1 (entirely transparent).\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"DIAGONAL=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies whether the diagonal cells of the matrix are labeled with the labels (names) of the required \\narguments, or with a graph. The graph for each diagonal cell consists of an overlay combination of a \\nhistogram, normal, or kernel curves. \\n\\nDefault: Variable labels (or names) are displayed in the diagonal cells.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"LABEL\",\"@Value2\":\"<(graph-list)>\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"The diagonal cells of the matrix are labeled with the labels (names) of the required  arguments.\",\"@ToolTip2\":\"The diagonal cells of the matrix are labeled with a graph. The graph for each diagonal cell consists  of an overlay combination of a histogram, normal, or kernel curves.  The graph-list can specify one or more of the following:    HISTOGRAM specifies a histogram    NORMAL specifies a normal density curve    KERNEL specifies a kernel density estimate.   Requirement: When specifying multiple graphs in the graph-list , you must separate the values with  a space. For example, the following specification requests both a histogram and a normal density curve  in each diagonal cell:        DIAGONAL=(HISTOGRAM NORMAL)   Interaction: The computation for HISTOGRAM, NORMAL, and KERNEL is always computed on all the data for the  current variable (including the FREQ= variable, if used). The GROUP= option is not considered in any of  these computations.  Interaction: This option is ignored if the ROWVARS= option is used.  Tip: When this option is specified, the labels are drawn around the outside of the matrix, and the  matrix axes are dropped.\"}},{\"StatementOptionName\":\"ELLIPSE=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: ELLIPSE=(<ellipse-suboptions>)] \\n          \\nSpecifies that a confidence ellipse be included in each cell containing a scatter plot. The ellipse \\nis always drawn behind the scatter points. The ellipse-suboptions include the following:\\n\\n  TYPE=MEAN | PREDICTED \\n  specifies the type of ellipse. \\n  Default: MEAN\\n\\n  MEAN specifies a confidence ellipse of the mean \\n  PREDICTED specifies a prediction ellipse of the data \\n\\n  ALPHA=positive-number \\n  specifies the confidence level to compute for each ellipse. \\n  Default: .05;  Range: 0 < number < 1\\n\\n  Tip: ALPHA=.05 represents a 95% confidence level.\\n  Default: TYPE=MEAN ALPHA=.05\\n  You can set defaults by specifying the option without arguments: ELLIPSE=( ).\\n\\n  Interaction: The ellipse may be clipped by the data range for the scatter points.\\n\\n  Interaction: The ellipse is always computed on all the data for the current pair of X and Y variables \\n  (including the FREQ= variable, if used). The GROUP= option is not considered when computed the ellipse.\\n\\n  Tip: The display properties of each ellipse are controlled by the style elements:\\n\\n    o The GraphDataDefault element controls the outline and fill properties. \\n    o The GraphEllipse element controls the whether the outline, fill, or both are shown. \"},\"StatementOptionType\":\"V\",\"SubOptionsKeywords\":\"TYPE=|MEAN|ALPHA=\"},{\"StatementOptionName\":\"FREQ=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: FREQ=numeric-column | expression] \\n          \\nSpecifies a column that indicates a frequency count for each observation of the input data object. \\nIf n is the value of the FREQ variable for a given observation, then that observation is plotted n times. \\n\\nDefault: Each observation is plotted once.\\n\\nRestriction: If the value of the numeric-column is missing or is less than 1, the observation is not \\nused in the analysis. If the value is not an integer, only the integer portion is used.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"GROUP=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: GROUP=column | expression] \\n          \\nCreates a distinct set of scatter markers, error bars, and data labels for each unique group value \\nof the specified column. \\n\\nDefault: Each distinct group value may be represented in the graph by a different combination of color \\nand marker symbol. Markers vary according to the ContrastColor and MarkerSymbol attributes of the \\nGraphData1 - GraphDataN style elements.\\n\\nInteraction: The group values are mapped in the order of the data, unless the INDEX= option is used \\nto alter the default sequence of markers and colors.\\n\\nInteraction: The marker size is set by the MARKERATTRS= option.\\n\\nInteraction: If the MARKERCHARACTER= and MARKERCOLORGRADIENT= options are used, their settings override \\nthe group settings for marker symbol and marker color.\\n\\nInteraction: The representations that are used to identify the groups can be overridden. For example, \\neach distinct group value is represented by a different marker symbol, but the MARKERATTRS=(SYMBOL=marker) \\noption could be used to assign the same symbol to all of the plot's marker symbols, letting marker color \\nindicate group values. Likewise, MARKERATTRS=(COLOR=color) could be used to assign the same color to all \\nmarkers, letting marker symbol indicate group values.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"INDEX=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: INDEX=positive-integer-column | expression] \\n          \\nSpecifies indices for mapping marker attributes (color and symbol) to one of the \\nGraphData1 - GranphDataN style elements. \\n\\nDefault: no default\\n\\nInteraction: For this option to take effect, the GROUP= option must also be specified.\\n\\nInteraction: All of the indexes for a specific group value must be the same; otherwise, \\nthe results are unpredictable.\\n\\nInteraction: If this option is not used, then the group values are mapped in the order of the data.\\n\\nInteraction: If the MARKERCHARACTER= and MARKERCOLORGRADIENT= options are used, their settings \\noverride the group settings for marker symbol and marker color.\\n\\nInteraction: The index values are 1-based indices. For the style elements GraphData1 - GraphDataN, \\nif the index value is greater than N, then a modulo operation remaps that index value to a number \\nless than N to determine which style element to use.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"INSET=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: INSET=(info-options)] \\n          \\nSpecifies what information is displayed in an inset. Insets appear in all cells of the matrix except \\nthe diagonal and are displayed as a small table of name-value pairs. \\n\\nDefault: no default\\n\\nThe following info-options are available:\\n\\n  NOBS Total number of observations where both the X and Y variables have non-missing values. If the \\n  FREQ= is used this number is adjusted accordingly. The value of NOBS may be further adjusted by the \\n  use of the NOMISS=, WEIGHT=, and EXCLNPWGT= suboptions of the CORROPTS= option. \\n  \\n  PEARSON The Pearson product-moment correlation. The computation of the correlation is affected by \\n  the FREQ= and CORROPTS= options. The computation is not done on a per group value when GROUP= is used. \\n  \\n  PEARSONPVAL The probability value for the Pearson product-moment correlation. \\n\\nTip: The location and appearance of the inset is controlled by the INSETOPTS= option.\\n\\nDiscussion: A typical inset looks like this:\\n  \\n  N      150 \\n  r 0.96287 \\n  p(r)  <.0001 \\n\\nIn this example,\\n\\nNOBS is represented by N \\nPEARSON is represented by r \\nPEARSONPVAL is represented by p(r)\"},\"StatementOptionType\":\"V\",\"SubOptionsKeywords\":\"NOBS|PEARSON|PEARSONPVAL\"},{\"StatementOptionName\":\"INSETOPTS=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: INSETOPTS=(appearance-options)] \\n          \\nSpecifies location and appearance options for the inset information. The appearance-options can \\nbe any one or more of the settings that follow. The options must be enclosed in parentheses, and \\neach option is specified as a name=value pair.\\n\\n  AUTOALIGN=NONE | AUTO | (location-list) \\n  specifies whether the inset is automatically aligned within the layout. \\n\\n  BACKGROUNDCOLOR= style-reference | color \\n  specifies the color of the inset background. Default is TRANSPARENT.\\n\\n  BORDER=TRUE | FALSE\\n  specifies whether a border is displayed around the inset. Default is FALSE.\\n\\n  HALIGN=LEFT | CENTER | RIGHT \\n  specifies the horizontal alignment of the inset. Default is LEFT.\\n\\n  OPAQUE= boolean \\n  specifies whether the inset background is opaque (TRUE) or transparent (FALSE). Default is FALSE.\\n\\n  TEXTATTRS=style-element | style-element (text-options) | (text-options) \\n  specifies the text properties of the entire inset.\\n\\n  VALIGN=TOP | CENTER |BOTTOM \\n  specifies the vertical alignment of the inset. Default is TOP.\"},\"StatementOptionType\":\"V\",\"SubOptionsKeywords\":\"AUTOALIGN=|BACKGROUNDCOLOR=|BORDER=|HALIGN=|OPAQUE=|TEXTATTRS=|VALIGN=\"},{\"StatementOptionName\":\"MARKERATTRS=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: MARKERATTRS=style-element | style-element (marker-options) | (marker-options)] \\n          \\nSpecifies the attributes of the data markers. \\nDefault:\\n  o For non-grouped data, the GraphDataDefault style element. \\n  o For grouped data, the MarkerSymbol and ContrastColor attributes of the \\n    GraphData1 - GraphDataN style elements, and the GraphDataDefault:MarkerSize style reference. \\n\\nInteraction: If the MARKERCOLORGRADIENT= option is specified, this option's COLOR= setting is ignored.\\nInteraction: If the MARKERCHARACTER= option is specified, its SYMBOL= and WEIGHT= settings are ignored.\\n\\nWhen specifying the attributes for a data marker, the available marker-options can be any one \\nor more of the following settings. The options must be enclosed in parentheses, and each option \\nis specified as a name=value pair. In all cases, the value may be a style-reference in the form \\nstyle-element:style-attribute:\\n\\n  COLOR=style-reference | color \\n  specifies the color of the marker. If you use a style-reference, the style-attribute should be a \\n  valid attribute such as COLOR, CONTRASTCOLOR, STARTCOLOR, NEUTRAL, ENDCOLOR. The convention is to \\n  use CONTRASTCOLOR for markers. For grouped data, this option keeps all markers the same color and \\n  the marker symbol alone distinguishes the group values. If you use a color, SAS/GRAPH accepts color \\n  names, such as RED, or color codes, such as CXFF0000 or #FF0000. Color names must not exceed 64 characters. \\n  Color codes must not exceed 8 characters and must be in a valid SAS color-naming scheme, such as RGB, \\n  CMYK, HLS, or HSV (HSB).\\n\\n  SIZE=style-reference | dimension \\n  specifies the marker size (both width and height). If you use a style-reference, the style-attribute \\n  should be MARKERSIZE. \\n\\n  SYMBOL=style-reference | marker-name \\n  specifies the name of the marker. If you use a style-reference, the style-attribute should be MARKERSYMBOL.\\n\\n  WEIGHT=NORMAL | BOLD \\n  specifies the marker weight.\"},\"StatementOptionType\":\"V\",\"SubOptionsKeywords\":\"COLOR=|SIZE=|SYMBOL=|WEIGHT=\"},{\"StatementOptionName\":\"MARKERCHARACTER=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: MARKERCHARACTER=column | expression] \\n          \\nSpecifies a column that defines strings to be used instead of marker symbols. \\n\\nDefault: no default\\n\\nInteraction: This option overrides the DATALABEL= option.\\n\\nInteraction: If the GROUP= option is also used, color will be displayed for a DISCRETE legend, but \\nthe character will not be displayed in the legend.\\n\\nTip: If the GROUP= option is also specified, the same colors are applied to the text strings as would \\nhave been applied to markers.\\n\\nTip: If a numeric column is used, its values are converted to strings using the format associated with \\nthe column or BEST6. if no format is defined.\\n\\nTip: Each string is centered horizontally and vertically at the data point. The data point positions \\nare not adjusted to prevent text overlap.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"MARKERCHARACTERATTRS=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: MARKERCHARACTERATTRS=style-element | style-element (text-options) | (text-options)] \\n          \\nSpecifies the color and font attributes of the marker characters. \\n\\nWhen specifying the attributes for text, the available text-options can be any one or more of the following \\nsettings. The options must be enclosed in parentheses, and each option is specified as a name=value pair. \\nIn all cases, the value may be a style-reference in the form style-element:style-attribute .\\n\\n  COLOR=style-reference | color \\n  specifies the color of the text. If you use a style-reference, the style-attribute should be a valid \\n  attribute such as COLOR, CONTRASTCOLOR, STARTCOLOR, NEUTRAL, ENDCOLOR. The convention is to use COLOR for text. \\n  If you use a color , SAS/GRAPH accepts color names, such as RED, or color codes, such as CXFF0000 or #FF0000. \\n  Color names must not exceed 64 characters. Color codes must not exceed 8 characters and must be in a valid \\n  SAS color-naming scheme, such as RGB, CMYK, HLS, or HSV (HSB).\\n\\n  FAMILY =style-reference | \\\"string\\\" \\n  specifies the font family of the text. If you use a style-reference, the style-attribute should be FONTFAMILY. \\n\\n  SIZE=style-reference | dimension \\n  specifies the font size of the text. If you use a style-reference, the style-attribute should be FONTSIZE. \\n\\n  STYLE=style-reference | NORMAL | ITALIC \\n  specifies the font style of the text. If you use a style-reference, the style-attribute should be FONTSTYLE. \\n\\n  WEIGHT=style-reference | NORMAL | BOLD \\n  specifies the font weight of the text. If you use a style-reference, the style-attribute should be FONTWEIGHT. \\n  \\nDefault:\\n  o For non-grouped data, the GraphDataText style element. \\n  o For grouped data, GraphData1:ContrastColor - GraphDataN:ContrastColor style references. \\n\\nInteraction: For this option to take effect, the MARKERCHARACTER= option must also be used. \\n\\nTip: When the GROUP= option is also specified, each distinct group value may be represented by a different \\ncolor (depending on the ODS style setting or the setting on the INDEX= option). The marker character that is \\nassociated with the group is assigned the group color. This option's COLOR= suboption can be used to specify \\na single color for all marker characters in a graph, without affecting items that have the group color, such \\nas error bars and marker symbols.\"},\"StatementOptionType\":\"V\",\"SubOptionsKeywords\":\"COLOR=|FAMILY=|SIZE=|STYLE=|WEIGHT=\"},{\"StatementOptionName\":\"MARKERCOLORGRADIENT=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: MARKERCOLORGRADIENT=numeric-column | expression] \\n          \\nSpecifies the column that is used to map marker colors to a continuous gradient. \\nDefault: no default\\n\\nRestriction: To display a legend with this option in effect, you must use a CONTINUOUSLEGEND statement, \\nnot a DISCRETELEGEND statement.\\n\\nInteraction: This option overrides the COLOR= setting of the MARKERATTRS= or MARKERCHARACTERATTRS= option.\\n\\nTip: This option can be used to add a second response variable to an analysis. For example, in an analysis \\nof weight by height, an age column might be specified by the MARKERCOLORGRADIENT= option so that the change \\nin the gradient color of the markers reflects the change in age. \\n\\nTip: By default, the color range is determined by the ThreeColorAltRamp style element. The COLORMODEL= \\noption allows a different color range to be used.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"NAME=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: NAME=\\\"string\\\"] \\n          \\nAssigns a name to a plot statement for reference in other template statements. \\n\\nDefault: no default\\n\\nRestriction: The string is case sensitive, cannot contain spaces, and must define a unique name \\nwithin the template.\\n\\nTip: The specified name is used primarily in legend statements to coordinate the use of colors and \\nmarker symbols between the graph and the legend.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"REVERSECOLORMODEL=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies whether to reverse the gradient (color ramp) defined by the COLORMODEL= option. \\n\\nDefault: FALSE\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"FALSE\",\"@Value2\":\"TRUE\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Specifies not to reverse the gradient (color ramp) defined by the COLORMODEL= option.\",\"@ToolTip2\":\"Specifies to reverse the gradient (color ramp) defined by the COLORMODEL= option.\"}},{\"StatementOptionName\":\"ROLENAME=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: ROLENAME=( role-name-list )] \\n          \\nSpecifies user-defined roles for information contained in data columns. \\nDefault: no default\\n\\n(role-name-list) \\na blank-separated list of rolename = column pairs. \\nThe following example assigns column ID to the user-defined role TIP1, and columns AGE, HEIGHT, WEIGHT \\nto the user-defined roles TIP2, TIP3, and TIP4.\\n  \\n ROLENAME=(TIP1=ID TIP2=AGE TIP3=HEIGHT TIP4=WEIGHT) \\n\\nRequirement: The role names you choose must be unique and different from the pre-defined roles X, Y, \\nDATALABEL, MARKERCHARACTER, MARKERCOLORGRADIENT, GROUP, and INDEX.\\n\\nInteraction: For this option to take effect, the TIP= option must also be used.\\n\\nTip: This option provides a way to add to the data columns that appear in tooltips specified by the TIP= option.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"ROWVARS=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: ROWVARS=(column-list)] \\n          \\nSpecifies a secondary list of columns to be paired with the required column list that is specified \\nby the SCATTERPLOTMATRIX statement. \\n\\nDefault: no default\\n\\nInteraction: When this option is specified, the DIAGONAL= option is ignored.\\n\\nTip: The labels for the variables appear vertically on the left side of the matrix.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"START=\",\"StatementOptionHelp\":{\"#cdata\":\"Indicates whether to start populating the matrix from the top-left or bottom-left corner. \\n          \\nDefault: TOPLEFT.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"TOPLEFT\",\"@Value2\":\"BOTTOMLEFT\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Specifies to start populating the matrix from the top-left corner.\",\"@ToolTip2\":\"Specifies to start populating the matrix from the bottom-left corner.\"}},{\"StatementOptionName\":\"TIP=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: TIP=(role-list)] \\n          \\nSpecifies the information to display when the cursor is positioned over the scatter points. If this \\noption is used, it replaces all the information displayed by default. Roles for columns that do not \\ncontribute to the scatter plot may be specfied along with roles that do. \\n\\nDefault: The columns assigned to these roles are automatically included in the tooltip information: \\ncurrent X, current Y, DATALABEL, MARKERCHARACTER, MARKERCOLORGRADIENT, GROUP, and INDEX.\\n\\n(role-list) \\nan ordered, blank-separated list of unique SCATTERPLOTMATRIX and user-defined roles. SCATTERPLOT roles \\ninclude: X, Y, GROUP, DATALABEL, MARKERCHARACTER, and MARKERCOLORGRADIENT. \\nUser-defined roles are defined with the ROLENAME= option.\\n\\nThe following example displays tooltips for the columns assigned to the roles TIP1, TIP2, TIP3, and TIP4.\\n  \\n   ROLENAME=(TIP1=ID TIP2=AGE TIP3=HEIGHT TIP4=WEIGHT) \\n   TIP= (TIP1 TIP2 TIP3 TIP4) \\n\\nRequirement: To generate tooltips, you must include an ODS GRAPHICS ON statement that has the IMAGEMAP \\noption specified, and write the graphs to the ODS HTML destination.\\n\\nInteraction: The labels and formats for the TIP variables can be controlled with the TIPLABEL= and \\nTIPFORMAT= options.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"TIPFORMAT=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: TIPFORMAT=(role-format-list)] \\n          \\nSpecifies display formats for tip columns. \\n\\nDefault: The column format of the variable assigned to the role or BEST6. if no format is assigned \\nto a numeric column.\\n\\n(role-format-list) \\na list of rolename = format pairs separated by blanks. \\n  \\n   ROLENAME=(TIP1=ID TIP2=AGE TIP3=HEIGHT TIP4=WEIGHT) \\n   TIP=(TIP1 TIP2 TIP3 TIP4) \\n   TIPFORMAT=(TIP3= 4.1) \\n\\nRequirement: Columns must be assigned to the roles for this option to have any effect. \\nSee the ROLENAME= option.\\n\\nTip: This option provides a way to control the formats of columns that appear in tooltips. \\nOnly the roles that appear in the TIP= option are used.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"TIPLABEL=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: TIPLABEL=(role-label-list)] \\n          \\nSpecifies display labels for tip columns. \\n\\nDefault: The column label or column name of the variable assigned to the role.\\n\\n(role-label-list) \\na list of rolename = \\\"string\\\" pairs separated by blanks. \\n  \\n    ROLENAME=(TIP1=ID TIP2=AGE TIP3=HEIGHT TIP4=WEIGHT) \\n    TIP=(TIP1 TIP2 TIP3 TIP4) \\n    TIPLABEL=(TIP3=\\\"Height in Inches\\\" \\n             TIP4=\\\"Weight in Pounds\\\")     \\n\\nRequirement: Columns must be assigned to the roles for this option to have any effect. \\nSee the ROLENAME= option.\\n\\nTip: This option provides a way to control the labels of columns that appear in tooltips. \\nOnly the roles that appear in the TIP= option are used.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"WALLCOLOR=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: WALLCOLOR=style-reference | color] \\n          \\nSpecifies the fill color of the plot wall area. \\n\\nDefault: The GraphWalls:Color style reference.\\n\\nstyle-reference \\nA reference in the form style-element:style-attribute. Only the style-attribute named COLOR is used. \\n\\nInteraction: This option is ignored if WALLDISPLAY=NONE or WALLDISPLAY=(OUTLINE).\"},\"StatementOptionType\":\"C\"},{\"StatementOptionName\":\"WALLDISPLAY=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: WALLDISPLAY=STANDARD | ALL | NONE | (display-options)] \\n          \\nSpecifies whether the plot's wall and wall outline are displayed. \\n\\nDefault: STANDARD \\n\\nTip: Use the WALLCOLOR= option to control the fill color of the wall.\\n\\nTip: The appearance attributes of the wall outline are set by the GraphAxisLine style element.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"STANDARD\",\"@Value2\":\"ALL\",\"@Value3\":\"NONE\",\"@Value4\":\"<(display-options)>\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Displays a filled wall. The setting of the FRAMEBORDER= ON | OFF attribute of the GraphWalls style element determines whether the wall outline is displayed.\",\"@ToolTip2\":\"Displays a filled, outlined wall.\",\"@ToolTip3\":\"Displays no wall, no wall outline.\",\"@ToolTip4\":\"These options must be enclosed in parentheses and include one of the following:  OUTLINE  displays the wall outline.   FILL  displays a filled wall area.\"}}]}},{\"StatementName\":\"SERIESPLOT\",\"StatementHelp\":{\"#cdata\":\"Syntax: SERIESPLOT X= column | expression\\n      Y= column | expression </ option(s)> ; \\n      \\nDisplays a series of line segments that connect observations of input data.\"},\"StatementOptions\":{\"StatementOption\":[{\"StatementOptionName\":\"X=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: X=column | expression] \\n          \\nSpecifies the column for the X values.\"},\"StatementOptionType\":\"RV\"},{\"StatementOptionName\":\"Y=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: Y=column | expression] \\n          \\nSpecifies the column for the Y values.\"},\"StatementOptionType\":\"RV\"},{\"StatementOptionName\":\"BREAK=\",\"StatementOptionHelp\":{\"#cdata\":\"Breaks the plot line at missing values of the X or Y variable. \\n\\nDefault: FALSE\\n\\nTip: When this options is set to FALSE, missing values are skipped and a continuous line is drawn.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"FALSE\",\"@Value2\":\"TRUE\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Specifies not to break the plot line at missing values of the X or Y variable.\",\"@ToolTip2\":\"Specifies to break the plot line at missing values of the X or Y variable.\"}},{\"StatementOptionName\":\"CONNECTORDER=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies how to connect the data points to form the series line. \\n\\nDefault: XVALUES \\n\\nTip: For certain kinds of series lines (for example, time series) when the input data may not be \\nsorted by the X variable, set this option to XAXIS to assure the expected connect order.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"XVALUES\",\"@Value2\":\"XAXIS\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Connects data points in the order read from the X variable.\",\"@ToolTip2\":\"Connects data points as they occur min-to-max along the X axis.\"}},{\"StatementOptionName\":\"CURVELABEL=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: CURVELABEL=\\\"string\\\"] \\n          \\nSpecifies a label for the series line. \\n\\nDefault: no default\\n\\nInteraction:\\n  o For non-grouped data, use \\\"string.\\\" \\n  o For grouped data, use a column to define the labels for each group value. \\n\\nTip: The font and color attributes for the label are specified by the CURVELABELATTRS= option.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"CURVELABELATTRS=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: CURVELABELATTRS=style-element | style-element (text-options) | (text-options)] \\n          \\nSpecifies the color and font attributes of the series line labels.\\nDefault:\\n  o For non-grouped data, the GraphValueText style element. \\n  o For grouped data, text color is derived from the GraphData1:ContrastColor - GraphDataN:ContrastColor style references. The font is derived from the GraphValueText style element. \\n\\nInteraction: For this option to take effect, the CURVELABEL=curvelabel option must also be used.\\n\\nInteraction: This option's COLOR= setting overrides the colors indicated by the GROUP= option.\\n\\nTip: When the GROUP= option is used, each distinct group value may be represented by a different color. The series label that is associated with the group is assigned the group color. This option can be used to specify a single color for all series labels in a graph, without affecting items that have the group color, such as lines and marker symbols.\\n\\nThe available text-options can be any one or more of the following settings. The options must be \\nenclosed in parentheses, and each option is specified as a name=value pair. In all cases, the \\nvalue may be a style-reference in the form style-element:style-attribute .\\n\\n  COLOR=style-reference | color \\n  specifies the color of the text. If you use a style-reference, the style-attribute should be a valid \\n  attribute such as COLOR, CONTRASTCOLOR, STARTCOLOR, NEUTRAL, ENDCOLOR. The convention is to use COLOR \\n  for text. If you use a color, SAS/GRAPH accepts color names, such as RED, or color codes, such as \\n  CXFF0000 or #FF0000. Color names must not exceed 64 characters. Color codes must not exceed 8 characters \\n  and must be in a valid SAS color-naming scheme, such as RGB, CMYK, HLS, or HSV (HSB).\\n\\n  FAMILY =style-reference | \\\"string\\\" \\n  specifies the font family of the text. If you use a style-reference, the style-attribute should be FONTFAMILY. \\n\\n  SIZE=style-reference | dimension \\n  specifies the font size of the text. If you use a style-reference, the style-attribute should be FONTSIZE. \\n\\n  STYLE=style-reference | NORMAL | ITALIC \\n  specifies the font style of the text. If you use a style-reference, the style-attribute should be FONTSTYLE. \\n\\n  WEIGHT=style-reference | NORMAL | BOLD \\n  specifies the font weight of the text. If you use a style-reference, the style-attribute should be FONTWEIGHT.\"},\"StatementOptionType\":\"V\",\"SubOptionsKeywords\":\"COLOR=|FAMILY=|SIZE=|STYLE=|WEIGHT=\"},{\"StatementOptionName\":\"CURVELABELLOCATION=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies the location of the series line label relative to the plot area. \\n\\nDefault: INSIDE \\n\\nRestriction: OUTSIDE cannot be used when the SERIESPLOT is used in multicell layouts such as LATTICE, \\nDATAPANEL, or DATALATTICE, where axes may be external to the grid.\\n\\nInteraction: For this option to take effect, the CURVELABEL= option must also be specified.\\n\\nInteraction: This option is used in conjunction with the CURVELABELPOSITION= option to determine \\nwhere the curve labels appear.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"INSIDE\",\"@Value2\":\"OUTSIDE\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Places the series line label inside the plot area\",\"@ToolTip2\":\"Places the series line label outside the plot area\"}},{\"StatementOptionName\":\"CURVELABELPOSITION=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies the position of the series label relative to the series line.\\n\\nDefault: AUTO when CUVELABELLOCATION=OUTSIDE. END when CURVELABELLOCATION=INSIDE. \\n\\nRestriction: The AUTO setting is not supported if CURVELABELLOCATION=INSIDE is specified. \\nThe START and END settings are not supported if CURVELABELLOCATION=OUTSIDE is specified.\\n\\nInteraction: For this option to take effect, the CURVELABEL= option must also be specified.\\n\\nInteraction: This option is used in conjunction with the CURVELABELLOCATION= option to determine \\nwhere the series label appears.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"AUTO\",\"@Value2\":\"MAX\",\"@Value3\":\"MIN\",\"@Value4\":\"START\",\"@Value5\":\"END\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Only used when CURVELABELLOCATION=OUTSIDE. The series label will be positioned automatically near the  end series line along unused axes whenever possible (typically Y2 or X2) to avoid collision with  tick values.\",\"@ToolTip2\":\"Forces the series label to appear near maximum series values (typically, to the right).\",\"@ToolTip3\":\"Forces the series label to appear near minimum series values (typically, to the left).\",\"@ToolTip4\":\"Only used when CURVELABELLOCATION=INSIDE. Forces the series label to appear near the beginning of the  curve. Particularly useful when the curve line has a spiral shape.\",\"@ToolTip5\":\"Only used when CURVELABELLOCATION=INSIDE. Forces the series label to appear near the end of the curve.  Particularly useful when the curve line has a spiral shape.\"}},{\"StatementOptionName\":\"DATALABEL=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: DATALABEL=column] \\n          \\nSpecifies a column that will supply values for the data point labels. \\nDefault: no default\\n\\nTip: The position of the labels are adjusted to prevent the labels from overlapping.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"DATALABELATTRS=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: DATALABELATTRS=style-element | style-element (text-options) | (text-options)] \\n          \\nSpecifies the color and font attributes of the data labels. \\n\\n  style-element \\n      Name of a style element. Only style attributes relevant for rendering the fill, line, data marker, or text will be used.\\n\\n  style-element (text-options) \\n      Name of a style element, plus individual options to be used as style overrides. Any options not specified are derived\\n      from the specified style-element.\\n\\n  (text-options) \\n  COLOR=style-reference | color \\n      specifies the color of the text. If you use a style-reference, the style-attribute should be a valid\\n      attribute such as COLOR, CONTRASTCOLOR, STARTCOLOR, NEUTRAL, ENDCOLOR. The convention is to use COLOR for text.\\n\\n  FAMILY =style-reference | \\\"string\\\" \\n      specifies the font family of the text. If you use a style-reference, the style-attribute should be FONTFAMILY.\\n\\n  SIZE=style-reference | dimension \\n      specifies the font size of the text. If you use a style-reference, the style-attribute should be FONTSIZE. \\n\\n  STYLE=style-reference | NORMAL | ITALIC \\n      specifies the font style of the text. If you use a style-reference, the style-attribute should be FONTSTYLE. \\n\\n  WEIGHT=style-reference | NORMAL | BOLD \\n      specifies the font weight of the text. If you use a style-reference, the style-attribute should be FONTWEIGHT. \\n\\nDefault:\\n  o For non-grouped data, the GraphDataText style element. \\n  o For grouped data, the GraphData1:ContrastColor - GraphDataN:ContrastColor style references. \\n\\nInteraction: For this option to take effect, the DATALABEL= option must also be specified.\\n\\nInteraction: This option's COLOR= setting overrides the colors indicated by the GROUP= option.\\n\\nTip: When the GROUP= option is used, each distinct group value may be represented by a different color. \\nThe data label that is associated with the group is assigned the group color. This option can be used \\nto specify a single color for all data labels in a graph, without affecting items that have the group \\ncolor, such as error bars and marker symbols.\"},\"StatementOptionType\":\"V\",\"SubOptionsKeywords\":\"COLOR=|FAMILY=|SIZE=|STYLE=|WEIGHT=\"},{\"StatementOptionName\":\"DATATRANSPARENCY=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: DATATRANSPARENCY=number] \\n          \\nSpecifies the degree of the transparency of the line and markers, when displayed. \\n\\nDefault: 0\\n\\nRange: 0 (opaque) to 1 (entirely transparent)\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"DISPLAY=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies additional feature to display with the series line. \\n\\nDefault: STANDARD \\n\\nTip: Use the MARKERATTRS= and LINEATTRS= options to control the appearance of the line and markers.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"STANDARD\",\"@Value2\":\"ALL\",\"@Value3\":\"<(display-options)>\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Displays a series line without markers.\",\"@ToolTip2\":\"Displays a series line with markers.\",\"@ToolTip3\":\"A parenthesized list of options that must include the following:  MARKERS  displays a series line with markers \"},\"SubOptionsKeywords\":\"MARKERS\"},{\"StatementOptionName\":\"GROUP=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: GROUP=column | expression] \\n          \\nCreates a separate series plot for each unique group value of the specified column. \\n\\nDefault: Each distinct group value may be represented in the graph by a different combination of color, \\nline pattern, and marker symbol. Lines and markers vary according to the ContrastColor, LineStyle and \\nMarkerSymbol attributes of the GraphData1 - GraphDataN style elements. Line thickness (for grouped and \\nun-grouped data) is controlled by the LINEATTRS= option.\\n\\nInteraction: The group values are mapped in the order of the data, unless the INDEX= option is used to \\nalter the default sequence of marker symbols, colors, and line patterns.\\n\\nInteraction: The marker size is set by the MARKERATTRS= option.\\n\\nTip: The representations that are used to identify the groups can be overridden. For example, each \\ndistinct group value is often represented by a different line pattern, but the LINEATTRS=(PATTERN=pattern) \\noption could be used to assign the same line pattern to all of the plot's line patterns, letting line color \\nindicate group values. Likewise, LINEATTRS= ( COLOR= color ) could be used to assign the same color to all \\nlines, letting line pattern indicate group values.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"INDEX=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: INDEX=positive-integer-column] \\n          \\nSpecifies indices for mapping series-line attributes (color, marker symbol, and line pattern) to one \\nof the GraphData1 - GranphDataN style elements. \\n\\nDefault: no default\\n\\nInteraction: For this option to take effect, the GROUP= option must also be specified.\\n\\nInteraction: All of the indexes for a specific group value must be the same; otherwise, the results \\nare unpredictable.\\n\\nInteraction: If this option is not used, then the group values are mapped in the order of the data.\\n\\nInteraction: The index values are 1-based indices. For the style elements in GraphData1 - GraphDataN, \\nif the index value is greater than N, then a modulo operation remaps that index value to a number less \\nthan N to determine which style element to use.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"LEGENDLABEL=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: LEGENDLABEL=\\\"string\\\"] \\n          \\nSpecifies a label to be used in a legend. \\nDefault: The Y-variable label. If a label is not defined, the Y-variable name.\\n\\nInteraction: If the GROUP= option is specified, this option is ignored.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"LINEATTRS=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: LINEATTRS=style-element | style-element (line-options) | (line-options)] \\n          \\nSpecifies the attributes of the series line. \\nDefault:\\n  o For non-grouped data, the GraphDataDefault style element. \\n  o For grouped data, the ContrastColor and LineStyle attributes of the \\n    GraphData1 - GraphDataN style elements, and the GraphDataDefault:LineThickness style reference.\\n\\nThe available line-options can be any one or more of the following settings. The options must be \\nenclosed in parentheses, and each option is specified as a name=value pair:\\n\\n  COLOR=style-reference | color \\n  specifies the line color. If you use a style-reference, the style-attribute should be a valid \\n  attribute such as COLOR, CONTRASTCOLOR, STARTCOLOR, NEUTRAL, ENDCOLOR. The convention is to use \\n  CONTRASTCOLOR for lines. If you specify a style element that does not have a CONTRASTCOLOR attribute, \\n  the element's COLOR attribute is used. If you use a color, SAS/GRAPH accepts color names, such \\n  as RED, or color codes, such as CXFF0000 or #FF0000.\\n\\n  PATTERN=style-reference | line-pattern-name | line-pattern-number specifies the line pattern. \\n  If you use a style-reference, the style-attribute should be LINESTYLE. Line patterns can be specified \\n  as a pattern name or pattern number. Some valid pattern numbers: 1 (Solid), 2 (ShortDash), 4 (MediumDash), \\n  5 (LongDash) 8 (MediumDashShortDash)   14 (DashDashDot) 15 (DashDotDot) 20 (Dash) 26 (LongDashShortDash) \\n  34 (Dot) 35 (ThinDot) 41 (ShortDashDot) 42 (MediumDashDotDot). Not all pattern numbers have names.\\n\\n  THICKNESS=style-reference | dimension \\n  specifies the line thickness. If you use a style-reference, the style-attribute should be LINETHICKNESS.\"},\"StatementOptionType\":\"V\",\"SubOptionsKeywords\":\"COLOR=|PATTERN=|THICKNESS=\"},{\"StatementOptionName\":\"MARKERATTRS=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: MARKERATTRS=style-element | style-element (marker-options) | (marker-options)] \\n          \\nSpecifies the attributes of the data markers. \\nDefault:\\n  o For non-grouped data, the GraphDataDefault style element. \\n  o For grouped data, the MarkerSymbol and ContrastColor attributes of the \\n    GraphData1 - GraphDataN style elements, and the GraphDataDefault:MarkerSize style reference. \\n\\nInteraction: DISPLAY=ALL or DISPLAY=(MARKERS) must be set for this option to have any effect.\\n\\nInteraction: This option's COLOR= suboption overrides the default behavior for grouped data: all \\nmarkers the same color and the marker symbol alone distinguishes the markers.\\n\\nInteraction: This option's SYMBOL= suboption overrides the default behavior for grouped data: it \\nholds the marker constant across group values and marker color alone distinguishes the markers.\\n\\nWhen specifying the attributes for a data marker, the available marker-options can be any one \\nor more of the following settings. The options must be enclosed in parentheses, and each option \\nis specified as a name=value pair. In all cases, the value may be a style-reference in the form \\nstyle-element:style-attribute:\\n\\n  COLOR=style-reference | color \\n  specifies the color of the marker. If you use a style-reference, the style-attribute should be a \\n  valid attribute such as COLOR, CONTRASTCOLOR, STARTCOLOR, NEUTRAL, ENDCOLOR. The convention is to \\n  use CONTRASTCOLOR for markers. For grouped data, this option keeps all markers the same color and \\n  the marker symbol alone distinguishes the group values. If you use a color, SAS/GRAPH accepts color \\n  names, such as RED, or color codes, such as CXFF0000 or #FF0000. Color names must not exceed 64 characters. \\n  Color codes must not exceed 8 characters and must be in a valid SAS color-naming scheme, such as RGB, \\n  CMYK, HLS, or HSV (HSB).\\n\\n  SIZE=style-reference | dimension \\n  specifies the marker size (both width and height). If you use a style-reference, the style-attribute \\n  should be MARKERSIZE. \\n\\n  SYMBOL=style-reference | marker-name \\n  specifies the name of the marker. If you use a style-reference, the style-attribute should be MARKERSYMBOL.\\n\\n  WEIGHT=NORMAL | BOLD \\n  specifies the marker weight.\"},\"StatementOptionType\":\"V\",\"SubOptionsKeywords\":\"COLOR=|SIZE=|SYMBOL=|WEIGHT=\"},{\"StatementOptionName\":\"NAME=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: NAME=\\\"string\\\"] \\n          \\nAssigns a name to a plot statement for reference in other template statements. \\nDefault: no default\\n\\nRestriction: The string is case sensitive, cannot contain spaces, and must define a unique \\nname within the template.\\n\\nInteraction: The string is used as the default legend label if the LEGENDLABEL= option is not used.\\n\\nTip: The specified name is used primarily in legend statements to coordinate the use of colors \\nand line patterns between the graph and the legend.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"PRIMARY=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies that the data columns for this plot and the plot type be used for determining default \\naxis features. \\n\\nDefault: FALSE\\n\\nRestriction: This option is ignored if the plot is placed under a GRIDDED or LATTICE layout block.\\n\\nDetails: This option is needed only when two or more plots within an overlay-type layout contribute \\nto a common axis.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"FALSE\",\"@Value2\":\"TRUE\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Specifies that the data columns for this plot and the plot type not be used for determining default  axis features.\",\"@ToolTip2\":\"Specifies that the data columns for this plot and the plot type be used for determining default  axis features.\"}},{\"StatementOptionName\":\"ROLENAME=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: ROLENAME=( role-name-list )] \\n          \\nSpecifies user-defined roles for information contained in data columns. \\n\\nDefault: no default\\n\\n(role-name-list) \\na blank-separated list of rolename = column pairs. \\nFor example, ROLENAME= ( TIP1=OBS ) assigns the column OBS to the user-defined role TIP1.\\n\\nRequirement: The role names you choose must be unique and different from the pre-defined roles X, \\nY, CURVELABEL, DATALABEL, and GROUP.\\n\\nInteraction: For this option to take effect, the TIP= option must also be used.\\n\\nTip: This option provides a way to add to the data columns that appear in tool tips specified \\nby the TIP= option.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"TIP=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: TIP=(role-list)] \\n          \\nSpecifies the information to display when the cursor is positioned over a needle line or marker. \\nIf this option is used, it replaces all the information displayed by default. Roles for columns \\nthat do not contribute to the needle plot may be specfied along with roles that do. \\n\\nDefault: The columns assigned to these roles are automatically included in the tooltip information: \\nX, Y, DATALABEL, and GROUP.\\n\\n(role-list) \\nan ordered, blank-separated list of unique NEEDLEPLOT and user-defined roles. NEEDLEPLOT roles \\ninclude X, Y, DATALABEL, and GROUP. User-defined roles are defined with the ROLENAME= option.\\n\\nThe following example displays tooltips for the columns assigned to the roles X and Y as well \\nas the column OBS which is not assigned to any pre-defined NeedlePlot role. The OBS column must \\nfirst be assigned a role.\\n  \\n   ROLENAME=(TIP1=OBS) \\n   TIP= (TIP1 X Y) \\n\\nRequirement: To generate tooltips, you must include an ODS GRAPHICS ON statement that has the \\nIMAGEMAP option specified, and write the graphs to the ODS HTML destination.\\n\\nInteraction: The labels and formats for the TIP variables can be controlled with the TIPLABEL= \\nand TIPFORMAT= options.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"TIPFORMAT=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: TIPFORMAT=(role-format-list)] \\n          \\nSpecifies display formats for tip columns. \\n\\nDefault: The column format of the variable assigned to the role or BEST6. if no format is assigned \\nto a numeric column.\\n\\n(role-format-list) \\na list of rolename = format pairs separated by blanks. \\n  \\n   ROLENAME=(TIP1=OBS) \\n   TIP=(TIP1 X Y) \\n   TIPFORMAT=(TIP1=4.) \\n\\nRequirement: This option provides a way to control the formats of columns that appear in tool tips. \\nOnly the roles that appear in the TIP= option are used. Columns must be assigned to the roles for \\nthis option to have any effect.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"TIPLABEL=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: TIPLABEL=(role-label-list)] \\n          \\nSpecifies display labels for tip columns. \\nDefault: The column label or column name of the variable assigned to the role.\\n\\n(role-label-list) \\na list of rolename = \\\"string\\\" pairs separated by blanks. \\n  \\n    ROLENAME=(TIP1=OBS) \\n    TIP=(TIP1 X Y) \\n    TIPLABEL=(TIP1=\\\"Observation #\\\") \\n\\nRequirement: This option provides a way to control the labels of columns that appear in tooltips. \\nOnly the roles that appear in the TIP= option are used. Columns must be assigned to the roles for \\nthis option to have any effect. See the ROLENAME= option.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"URL=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: URL=character-column] \\n          \\nSpecifies an HTML page to display when a point or a segment of the curve is selected. \\n\\nDefault: no default\\n\\ncharacter-column \\neach value of the column must be a valid HTML page reference (HREF). \\nFor example, http://www.sas.com/technologies/analytics/index.html \\n\\nRequirement: To generate selectable bars, you must include an ODS GRAPHICS ON statement that \\nhas the IMAGEMAP option specified, and write the graphs to the ODS HTML destination.\\n\\nTip: The URL value may be blank for some X and Y pairs, meaning that no action is taken when the \\ncorresponding needle or marker is selected. The URL value may be the same for any X and Y pairs, \\nmeaning that the same action is taken when the needle or marker for those X and Y pairs are selected.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"XAXIS=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies whether data are mapped to the primary X (bottom) axis or to the secondary X2 (top) axis. \\n\\nDefault: X\\n\\nInteraction: The overall plot specification and the layout type determine the axis display.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"X\",\"@Value2\":\"X2\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Data are mapped to the primary X (bottom) axis.\",\"@ToolTip2\":\"Data are mapped to the the secondary X2 (top) axis.\"}},{\"StatementOptionName\":\"YAXIS=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies whether data are mapped to the primary Y (left) axis or to the secondary Y2 (right) axis. \\n\\nDefault: Y\\n\\nInteraction: The overall plot specification and the layout type determine the axis display.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"Y\",\"@Value2\":\"Y2\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Data are mapped to the primary Y (left) axis.\",\"@ToolTip2\":\"Data are mapped to the secondary Y2 (right) axis.\"}}]}},{\"StatementName\":\"STEPPLOT\",\"StatementHelp\":{\"#cdata\":\"Syntax: STEPPLOT X= column | expression\\n      Y= numeric-column | expression </ option(s)> ; \\n      \\nDisplays a series of horizontal and vertical line segments that connect observations of input data.\"},\"StatementOptions\":{\"StatementOption\":[{\"StatementOptionName\":\"X=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: X=column | expression] \\n          \\nSpecifies the column of the X values.\"},\"StatementOptionType\":\"RV\"},{\"StatementOptionName\":\"Y=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: Y=numeric-column | expression] \\n          \\nSpecifies the numeric column of the Y values.\"},\"StatementOptionType\":\"RV\"},{\"StatementOptionName\":\"BREAK=\",\"StatementOptionHelp\":{\"#cdata\":\"Breaks the plot line at missing values of the X or Y variable. \\n\\nDefault: FALSE\\n\\nTip: When this options is set to FALSE, missing values are skipped and a continuous line is drawn.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"FALSE\",\"@Value2\":\"TRUE\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Specifies not to break the plot line at missing values of the X or Y variable.\",\"@ToolTip2\":\"Specifies to break the plot line at missing values of the X or Y variable.\"}},{\"StatementOptionName\":\"CONNECTORDER=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies how to connect the data points to form the step line. \\n\\nDefault: XVALUES \\n\\nTip: For certain kinds of series lines (for example, time series) when the input data may not be \\nsorted by the X variable, set this option to XAXIS to assure the expected connect order.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"XVALUES\",\"@Value2\":\"XAXIS\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Connects data points in the order read from the X variable.\",\"@ToolTip2\":\"Connects data points as they occur min-to-max along the X axis.\"}},{\"StatementOptionName\":\"CURVELABEL=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: CURVELABEL=\\\"string\\\"] \\n          \\nSpecifies a label for the step line. \\n\\nDefault: no default\\n\\nInteraction:\\n  o For non-grouped data, use \\\"string.\\\" \\n  o For grouped data, use a column to define the labels for each group value. \\n\\nTip: The font and color attributes for the label are specified by the CURVELABELATTRS= option.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"CURVELABELATTRS=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: CURVELABELATTRS=style-element | style-element (text-options) | (text-options)] \\n          \\nSpecifies the color and font attributes of the step line labels.\\nDefault:\\n  o For non-grouped data, the GraphValueText style element. \\n  o For grouped data, text color is derived from the GraphData1:ContrastColor - GraphDataN:ContrastColor style references. The font is derived from the GraphValueText style element. \\n\\nInteraction: For this option to take effect, the CURVELABEL=curvelabel option must also be used.\\n\\nInteraction: This option's COLOR= setting overrides the colors indicated by the GROUP= option.\\n\\nTip: When the GROUP= option is used, each distinct group value may be represented by a different color. The series label that is associated with the group is assigned the group color. This option can be used to specify a single color for all series labels in a graph, without affecting items that have the group color, such as lines and marker symbols.\\n\\nThe available text-options can be any one or more of the following settings. The options must be \\nenclosed in parentheses, and each option is specified as a name=value pair. In all cases, the \\nvalue may be a style-reference in the form style-element:style-attribute .\\n\\n  COLOR=style-reference | color \\n  specifies the color of the text. If you use a style-reference, the style-attribute should be a valid \\n  attribute such as COLOR, CONTRASTCOLOR, STARTCOLOR, NEUTRAL, ENDCOLOR. The convention is to use COLOR \\n  for text. If you use a color, SAS/GRAPH accepts color names, such as RED, or color codes, such as \\n  CXFF0000 or #FF0000. Color names must not exceed 64 characters. Color codes must not exceed 8 characters \\n  and must be in a valid SAS color-naming scheme, such as RGB, CMYK, HLS, or HSV (HSB).\\n\\n  FAMILY =style-reference | \\\"string\\\" \\n  specifies the font family of the text. If you use a style-reference, the style-attribute should be FONTFAMILY. \\n\\n  SIZE=style-reference | dimension \\n  specifies the font size of the text. If you use a style-reference, the style-attribute should be FONTSIZE. \\n\\n  STYLE=style-reference | NORMAL | ITALIC \\n  specifies the font style of the text. If you use a style-reference, the style-attribute should be FONTSTYLE. \\n\\n  WEIGHT=style-reference | NORMAL | BOLD \\n  specifies the font weight of the text. If you use a style-reference, the style-attribute should be FONTWEIGHT.\"},\"StatementOptionType\":\"V\",\"SubOptionsKeywords\":\"COLOR=|FAMILY=|SIZE=|STYLE=|WEIGHT=\"},{\"StatementOptionName\":\"CURVELABELLOCATION=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies the location of the step label relative to the plot area. \\n\\nDefault: INSIDE \\n\\nRestriction: OUTSIDE cannot be used when the STEPPLOT is used in multicell layouts such as LATTICE, \\nDATAPANEL, or DATALATTICE, where axes may be external to the grid.\\n\\nInteraction: For this option to take effect, the CURVELABEL= option must also be specified.\\n\\nInteraction: This option is used in conjunction with the CURVELABELPOSITION= option to determine \\nwhere the curve labels appear.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"INSIDE\",\"@Value2\":\"OUTSIDE\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Places the step label inside the plot area\",\"@ToolTip2\":\"Places the step label outside the plot area\"}},{\"StatementOptionName\":\"CURVELABELPOSITION=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies the position of the step line labels relative to the step line.\\n\\nDefault: AUTO when CUVELABELLOCATION=OUTSIDE. END when CURVELABELLOCATION=INSIDE. \\n\\nRestriction: The AUTO setting is not supported if CURVELABELLOCATION= INSIDE is specified. \\nThe START and END settings are not supported if CURVELABELLOCATION=OUTSIDE is specified.\\n\\nInteraction: For this option to take effect, the CURVELABEL= option must also be specified.\\n\\nInteraction: This option is used in conjunction with the CURVELABELLOCATION= option to determine \\nwhere the series label appears.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"AUTO\",\"@Value2\":\"MAX\",\"@Value3\":\"MIN\",\"@Value4\":\"START\",\"@Value5\":\"END\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Only used when CURVELABELPOSITION=OUTSIDE. The step label is positioned automatically near the step  boundary along unused axes whenever possible (typically Y2 and X2) to avoid collision with tick values.\",\"@ToolTip2\":\"Forces the step label to appear near maximum step values (typically, upper right).\",\"@ToolTip3\":\"Forces the step label to appear near minimum step values (typically, lower left).\",\"@ToolTip4\":\"Only used when CURVELABELLOCATION=INSIDE. Forces the step label to appear near the beginning of the  steps. Particularly useful when the step line \\\"spirals\\\" around.\",\"@ToolTip5\":\"Only used when CURVELABELLOCATION=INSIDE. Forces the step label to appear near the end of the steps.  Particularly useful when the step line \\\"spirals\\\" around.\"}},{\"StatementOptionName\":\"DATALABEL=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: DATALABEL=column] \\n          \\nSpecifies a column that will supply values for the data point labels. \\nDefault: no default\\n\\nTip: The position of the labels are adjusted to prevent the labels from overlapping.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"DATALABELATTRS=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: DATALABELATTRS=style-element | style-element (text-options) | (text-options)] \\n          \\nSpecifies the color and font attributes of the data labels. \\n\\n  style-element \\n      Name of a style element. Only style attributes relevant for rendering the fill, line, data marker, or text will be used.\\n\\n  style-element (text-options) \\n      Name of a style element, plus individual options to be used as style overrides. Any options not specified are derived\\n      from the specified style-element.\\n\\n  (text-options) \\n  COLOR=style-reference | color \\n      specifies the color of the text. If you use a style-reference, the style-attribute should be a valid\\n      attribute such as COLOR, CONTRASTCOLOR, STARTCOLOR, NEUTRAL, ENDCOLOR. The convention is to use COLOR for text.\\n\\n  FAMILY =style-reference | \\\"string\\\" \\n      specifies the font family of the text. If you use a style-reference, the style-attribute should be FONTFAMILY.\\n\\n  SIZE=style-reference | dimension \\n      specifies the font size of the text. If you use a style-reference, the style-attribute should be FONTSIZE. \\n\\n  STYLE=style-reference | NORMAL | ITALIC \\n      specifies the font style of the text. If you use a style-reference, the style-attribute should be FONTSTYLE. \\n\\n  WEIGHT=style-reference | NORMAL | BOLD \\n      specifies the font weight of the text. If you use a style-reference, the style-attribute should be FONTWEIGHT. \\n\\nDefault:\\n  o For non-grouped data, the GraphDataText style element. \\n  o For grouped data, the GraphData1:ContrastColor - GraphDataN:ContrastColor style references. \\n\\nInteraction: For this option to take effect, the DATALABEL= option must also be specified.\\n\\nInteraction: This option's COLOR= setting overrides the colors indicated by the GROUP= option.\\n\\nTip: When the GROUP= option is used, each distinct group value may be represented by a different color. \\nThe data label that is associated with the group is assigned the group color. This option can be used \\nto specify a single color for all data labels in a graph, without affecting items that have the group \\ncolor, such as error bars and marker symbols.\"},\"StatementOptionType\":\"V\",\"SubOptionsKeywords\":\"COLOR=|FAMILY=|SIZE=|STYLE=|WEIGHT=\"},{\"StatementOptionName\":\"DATATRANSPARENCY=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: DATATRANSPARENCY=number] \\n          \\nSpecifies the degree of the transparency of the step lines, markers, and error bars, when displayed. \\n\\nDefault: 0\\n\\nRange: 0 (opaque) to 1 (entirely transparent)\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"DISPLAY=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies whether to display markers on the step line. \\n\\nDefault: STANDARD \\n\\nTip: Use the MARKERATTRS= and LINEATTRS= options to control the appearance of the line and markers.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"STANDARD\",\"@Value2\":\"ALL\",\"@Value3\":\"<(display-options)>\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Displays a step line without markers.\",\"@ToolTip2\":\"Displays a step line with markers.\",\"@ToolTip3\":\"A parenthesized list of options that must include the following:  MARKERS  displays a step line with markers \"},\"SubOptionsKeywords\":\"MARKERS\"},{\"StatementOptionName\":\"ERRORBARATTRS=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: ERRORBARATTRS=style-element | style-element (line-options) | (line-options)] \\n          \\nSpecifies the attributes of the error bars that are associated with the data points. \\n\\nThe available line-options can be any one or more of the following settings. The options must be \\nenclosed in parentheses, and each option is specified as a name=value pair:\\n\\n  COLOR=style-reference | color \\n  specifies the line color. If you use a style-reference, the style-attribute should be a valid \\n  attribute such as COLOR, CONTRASTCOLOR, STARTCOLOR, NEUTRAL, ENDCOLOR. The convention is to use \\n  CONTRASTCOLOR for lines. If you specify a style element that does not have a CONTRASTCOLOR attribute, \\n  the element's COLOR attribute is used. If you use a color, SAS/GRAPH accepts color names, such \\n  as RED, or color codes, such as CXFF0000 or #FF0000.\\n\\n  PATTERN=style-reference | line-pattern-name | line-pattern-number specifies the line pattern. \\n  If you use a style-reference, the style-attribute should be LINESTYLE. Line patterns can be \\n  specified as a pattern name or pattern number. Some valid pattern numbers: 1 (Solid), 2 (ShortDash), \\n  4 (MediumDash), 5 (LongDash) 8 (MediumDashShortDash) 14 (DashDashDot) 15 (DashDotDot) 20 (Dash) \\n  26 (LongDashShortDash) 34 (Dot) 35 (ThinDot) 41 (ShortDashDot) 42 (MediumDashDotDot). \\n  Not all pattern numbers have names.\\n\\n  THICKNESS=style-reference | dimension \\n  specifies the line thickness. If you use a style-reference, the style-attribute should be LINETHICKNESS.\\n\\nDefault:\\n  o For non-grouped data, the GraphError style element. \\n  o For grouped data, the LineStyle and LineThickness attributes of the GraphError style element and \\n    the ContrastColor attribute of the GraphData1 - GraphDataN style elements. (The LineStyle does not \\n    apply to the \\\"serif\\\" parts of the error bars.) \\n\\nInteraction: For this option to take effect, error bars must be displayd by the ERRORLOWER= or \\nERRORUPPER= options.\"},\"StatementOptionType\":\"V\",\"SubOptionsKeywords\":\"COLOR=|PATTERN=|THICKNESS=\"},{\"StatementOptionName\":\"ERRORLOWER=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: ERRORLOWER=numeric-column | expression] \\n          \\nSpecifies the values of the lower endpoints on the Y error bars. \\nDefault: The lower segment of the error bars is not drawn.\\n\\nInteraction: If the GROUP= option is specified, this option is ignored.\\n\\nTip: The errorbar values must be absolute data values, not data values relative to the value of the bar.\\n\\nTip: The appearance of the error bars is controlled by the ERRORBARATTRS= option.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"ERRORUPPER=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: ERRORUPPER=numeric-column | expression] \\n          \\nSpecifies the values of the upper endpoints on the Y error bars. \\nDefault: The upper segment of the error bars is not drawn.\\n\\nInteraction: If the GROUP= option is specified, this option is ignored.\\n\\nTip: The errorbar values must be absolute data values, not data values relative to the value of the bar.\\n\\nTip: The appearance of the error bars is controlled by the ERRORBARATTRS= option.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"GROUP=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: GROUP=column | expression] \\n          \\nCreates a distinct set of lines, markers, and data labels for each unique group value of the specified column. \\n\\nDefault: Each distinct group value may be represented in the graph by a different combination of color, \\nline pattern, and marker symbol. Lines and markers vary according to the ContrastColor, LineStyle and \\nMarkerSymbol attributes of the GraphData1 - GraphDataN style elements. Line thickness (for grouped and \\nun-grouped data) is controlled by the LINEATTRS= option.\\n\\nInteraction: The group values are mapped in the order of the data, unless the INDEX= option is used to \\nalter the default sequence of marker symbols, colors, and line patterns.\\n\\nInteraction: The marker size is set by the MARKERATTRS= option.\\n\\nTip: The representations that are used to identify the groups can be overridden. For example, each \\ndistinct group value is often represented by a different line pattern, but the LINEATTRS=(PATTERN=pattern) \\noption could be used to assign the same line pattern to all of the plot's line patterns, letting line color \\nindicate group values. Likewise, LINEATTRS= ( COLOR= color ) could be used to assign the same color to all \\nlines, letting line pattern indicate group values.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"INDEX=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: INDEX=positive-integer-column] \\n          \\nSpecifies indices for mapping step-line attributes (color, marker symbol, and line pattern) to one \\nof the GraphData1 - GranphDataN style elements. \\n\\nDefault: no default\\n\\nInteraction: For this option to take effect, the GROUP= option must also be specified.\\n\\nInteraction: All of the indexes for a specific group value must be the same; otherwise, the results \\nare unpredictable.\\n\\nInteraction: If this option is not used, then the group values are mapped in the order of the data.\\n\\nInteraction: The index values are 1-based indices. For the style elements in GraphData1 - GraphDataN, \\nif the index value is greater than N, then a modulo operation remaps that index value to a number less \\nthan N to determine which style element to use.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"JOIN=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies whether the steps are connected. \\n\\nDefault: TRUE\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"FALSE\",\"@Value2\":\"TRUE\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Specifies that the steps are not connected.\",\"@ToolTip2\":\"Specifies that the steps are connected.\"}},{\"StatementOptionName\":\"JUSTIFY=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies the location of the data point relative to the step. \\n          \\nDefault: LEFT\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"LEFT\",\"@Value2\":\"CENTER\",\"@Value3\":\"RIGHT\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Specifies a LEFT location of the data point relative to the step.\",\"@ToolTip2\":\"Specifies a CENTER location of the data point relative to the step.\",\"@ToolTip3\":\"Specifies a RIGHT location of the data point relative to the step.\"}},{\"StatementOptionName\":\"LEGENDLABEL=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: LEGENDLABEL=\\\"string\\\"] \\n          \\nSpecifies a label for use in a legend. \\nDefault: The Y-variable label. If a label is not defined, the Y-variable name.\\n\\nInteraction: If the GROUP= option is specified, this option is ignored.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"LINEATTRS=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: LINEATTRS=style-element | style-element (line-options) | (line-options)] \\n          \\nSpecifies the attributes of the step line connecting the data points. \\nDefault:\\n  o For non-grouped data, the GraphDataDefault style element. \\n  o For grouped data, the ContrastColor and LineStyle attributes of the \\n    GraphData1 - GraphDataN style elements, and the GraphDataDefault:LineThickness style reference.\\n\\nThe available line-options can be any one or more of the following settings. The options must be \\nenclosed in parentheses, and each option is specified as a name=value pair:\\n\\n  COLOR=style-reference | color \\n  specifies the line color. If you use a style-reference, the style-attribute should be a valid \\n  attribute such as COLOR, CONTRASTCOLOR, STARTCOLOR, NEUTRAL, ENDCOLOR. The convention is to use \\n  CONTRASTCOLOR for lines. If you specify a style element that does not have a CONTRASTCOLOR attribute, \\n  the element's COLOR attribute is used. If you use a color, SAS/GRAPH accepts color names, such \\n  as RED, or color codes, such as CXFF0000 or #FF0000.\\n\\n  PATTERN=style-reference | line-pattern-name | line-pattern-number specifies the line pattern. \\n  If you use a style-reference, the style-attribute should be LINESTYLE. Line patterns can be specified \\n  as a pattern name or pattern number. Some valid pattern numbers: 1 (Solid), 2 (ShortDash), 4 (MediumDash), \\n  5 (LongDash) 8 (MediumDashShortDash)   14 (DashDashDot) 15 (DashDotDot) 20 (Dash) 26 (LongDashShortDash) \\n  34 (Dot) 35 (ThinDot) 41 (ShortDashDot) 42 (MediumDashDotDot). Not all pattern numbers have names.\\n\\n  THICKNESS=style-reference | dimension \\n  specifies the line thickness. If you use a style-reference, the style-attribute should be LINETHICKNESS.\"},\"StatementOptionType\":\"V\",\"SubOptionsKeywords\":\"COLOR=|PATTERN=|THICKNESS=\"},{\"StatementOptionName\":\"MARKERATTRS=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: MARKERATTRS=style-element | style-element (marker-options) | (marker-options)] \\n          \\nSpecifies the attributes of the data markers. \\nDefault:\\n  o For non-grouped data, the GraphDataDefault style element. \\n  o For grouped data, the MarkerSymbol and ContrastColor attributes of the \\n    GraphData1 - GraphDataN style elements, and the GraphDataDefault:MarkerSize style reference. \\n\\nInteraction: DISPLAY=ALL or DISPLAY=(MARKERS) must be set for this option to have any effect.\\n\\nInteraction: This option's COLOR= suboption overrides the default behavior for grouped data: all \\nmarkers the same color and the marker symbol alone distinguishes the markers.\\n\\nInteraction: This option's SYMBOL= suboption overrides the default behavior for grouped data: it \\nholds the marker constant across group values and marker color alone distinguishes the markers.\\n\\nWhen specifying the attributes for a data marker, the available marker-options can be any one \\nor more of the following settings. The options must be enclosed in parentheses, and each option \\nis specified as a name=value pair. In all cases, the value may be a style-reference in the form \\nstyle-element:style-attribute:\\n\\n  COLOR=style-reference | color \\n  specifies the color of the marker. If you use a style-reference, the style-attribute should be a \\n  valid attribute such as COLOR, CONTRASTCOLOR, STARTCOLOR, NEUTRAL, ENDCOLOR. The convention is to \\n  use CONTRASTCOLOR for markers. For grouped data, this option keeps all markers the same color and \\n  the marker symbol alone distinguishes the group values. If you use a color, SAS/GRAPH accepts color \\n  names, such as RED, or color codes, such as CXFF0000 or #FF0000. Color names must not exceed 64 characters. \\n  Color codes must not exceed 8 characters and must be in a valid SAS color-naming scheme, such as RGB, \\n  CMYK, HLS, or HSV (HSB).\\n\\n  SIZE=style-reference | dimension \\n  specifies the marker size (both width and height). If you use a style-reference, the style-attribute \\n  should be MARKERSIZE. \\n\\n  SYMBOL=style-reference | marker-name \\n  specifies the name of the marker. If you use a style-reference, the style-attribute should be MARKERSYMBOL.\\n\\n  WEIGHT=NORMAL | BOLD \\n  specifies the marker weight.\"},\"StatementOptionType\":\"V\",\"SubOptionsKeywords\":\"COLOR=|SIZE=|SYMBOL=|WEIGHT=\"},{\"StatementOptionName\":\"NAME=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: NAME=\\\"string\\\"] \\n          \\nAssigns a name to a plot statement for reference in other template statements. \\nDefault: no default\\n\\nRestriction: The string is case sensitive, cannot contain spaces, and must define a unique \\nname within the template.\\n\\nInteraction: The string is used as the default legend label if the LEGENDLABEL= option is not used.\\n\\nTip: The specified name is used primarily in legend statements to coordinate the use of colors \\nand line patterns between the graph and the legend.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"PRIMARY=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies that the data columns for this plot be used for determining default \\naxis features. \\n\\nDefault: FALSE\\n\\nRestriction: This option is ignored if the plot is placed under a GRIDDED or LATTICE layout block.\\n\\nDetails: This option is needed only when two or more plots within an overlay-type layout contribute \\nto a common axis.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"FALSE\",\"@Value2\":\"TRUE\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Specifies that the data columns for this plot not be used for determining default  axis features.\",\"@ToolTip2\":\"Specifies that the data columns for this plot be used for determining default  axis features.\"}},{\"StatementOptionName\":\"ROLENAME=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: ROLENAME=( role-name-list )] \\n          \\nSpecifies user-defined roles for information contained in data columns. \\n\\nDefault: no default\\n\\n(role-name-list) \\na blank-separated list of rolename = column pairs. \\nFor example, ROLENAME= ( TIP1=OBS ) assigns the column OBS to the user-defined role TIP1.\\n\\nRequirement: The role names you choose must be unique and different from the pre-defined roles X, \\nY, CURVELABEL, DATALABEL, and GROUP.\\n\\nInteraction: For this option to take effect, the TIP= option must also be used.\\n\\nTip: This option provides a way to add to the data columns that appear in tool tips specified \\nby the TIP= option.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"TIP=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: TIP=(role-list)] \\n          \\nSpecifies the information to display when the cursor is positioned over the step line. If this \\noption is used, it replaces all the information displayed by default. Roles for columns that do \\nnot contribute to the step plot may be specfied along with roles that do. \\n\\nDefault: The columns assigned to these roles are automatically included in the tooltip information: \\nX, Y, CURVELABEL, DATALABEL, ERRORLOWER, ERRORUPPER, and GROUP.\\n\\n(role-list) \\nan ordered, blank-separated list of unique STEPPLOT and user-defined roles. STEPPLOT roles include \\nX, Y, CURVELABEL, DATALABEL, ERRORLOWER, ERRORUPPER, and GROUP. User-defined roles are defined with \\nthe ROLENAME= option.\\n\\nThe following example displays tooltips for the columns assigned to the roles X and Y as well as the column \\nOBS which is not assigned to any pre-defined StepPlot role. The OBS column must first be assigned a role.\\n  \\n   ROLENAME=(TIP1=OBS) \\n   TIP= (TIP1 X Y) \\n\\nRequirement: To generate tooltips, you must include an ODS GRAPHICS ON statement that has the IMAGEMAP \\noption specified, and write the graphs to the ODS HTML destination.\\n\\nInteraction: The labels and formats for the TIP variables can be controlled with the TIPLABEL= and \\nTIPFORMAT= options.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"TIPFORMAT=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: TIPFORMAT=(role-format-list)] \\n          \\nSpecifies display formats for tip columns. \\n\\nDefault: The column format of the variable assigned to the role or BEST6. if no format is assigned \\nto a numeric column.\\n\\n(role-format-list) \\na list of rolename = format pairs separated by blanks. \\n  \\n   ROLENAME=(TIP1=OBS) \\n   TIP= (TIP1 X ERRORUPPER ERRORLOWER) \\n   TIPFORMAT=(ERRORUPPER=5.3 ERRORLOWER=5.3) \\n\\nRequirement: This option provides a way to control the formats of columns that appear in tooltips. \\nOnly the roles that appear in the TIP= option are used. Columns must be assigned to the roles for \\nthis option to have any effect.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"TIPLABEL=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: TIPLABEL=(role-label-list)] \\n          \\nSpecifies display labels for tip columns. \\nDefault: The column label or column name of the variable assigned to the role.\\n\\n(role-label-list) \\na list of rolename = \\\"string\\\" pairs separated by blanks. \\n  \\n     ROLENAME=(TIP1=OBS) \\n     TIP= (TIP1 X ERRORUPPER ERRORLOWER) \\n     TIPLABEL=(ERRORUPPER=\\\"1 STD ERROR\\\" \\n               ERRORLOWER=\\\"-1 STD ERROR\\\") \\n\\nRequirement: This option provides a way to control the labels of columns that appear in tooltips. \\nOnly the roles that appear in the TIP= option are used. Columns must be assigned to the roles for \\nthis option to have any effect.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"URL=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: URL=character-column] \\n          \\nSpecifies an HTML page to display when a step line segment is selected. \\n\\nDefault: no default\\n\\ncharacter-column \\neach value of the column must be a valid HTML page reference (HREF). \\nFor example, http://www.sas.com/technologies/analytics/index.html \\n\\nRequirement: To generate selectable bars, you must include an ODS GRAPHICS ON statement that \\nhas the IMAGEMAP option specified, and write the graphs to the ODS HTML destination.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"XAXIS=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies whether data are mapped to the primary X (bottom) axis or to the secondary X2 (top) axis. \\n\\nDefault: X\\n\\nInteraction: The overall plot specification and the layout type determine the axis display.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"X\",\"@Value2\":\"X2\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Data are mapped to the primary X (bottom) axis.\",\"@ToolTip2\":\"Data are mapped to the the secondary X2 (top) axis.\"}},{\"StatementOptionName\":\"YAXIS=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies whether data are mapped to the primary Y (left) axis or to the secondary Y2 (right) axis. \\n\\nDefault: Y\\n\\nInteraction: The overall plot specification and the layout type determine the axis display.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"Y\",\"@Value2\":\"Y2\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Data are mapped to the primary Y (left) axis.\",\"@ToolTip2\":\"Data are mapped to the secondary Y2 (right) axis.\"}}]}},{\"StatementName\":\"SURFACEPLOTPARM\",\"StatementHelp\":{\"#cdata\":\"Syntax: SURFACEPLOTPARM X= numeric-column | expression\\n      Y= numeric-column | expression\\n      Z= numeric-column | expression </ option(s)> ; \\n      \\nCreates a three-dimensional surface representing a response variable evaluated over a grid \\nof X and Y values.\"},\"StatementOptions\":{\"StatementOption\":[{\"StatementOptionName\":\"X=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: X=numeric-column | expression] \\n          \\nSpecifies the X coordinates of the grid.\"},\"StatementOptionType\":\"RV\"},{\"StatementOptionName\":\"Y=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: Y=numeric-column | expression] \\n          \\nSpecifies the Y coordinates of the grid.\"},\"StatementOptionType\":\"RV\"},{\"StatementOptionName\":\"Z=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: Z=numeric-column | expression] \\n          \\nSpecifies the height of response values. \\n\\nNote: The input data should be sorted by both 1) the Y column and 2) the X column. The sort direction \\nfor Y should be ascending. The sort direction of X be either ascending or descending.\"},\"StatementOptionType\":\"RV\"},{\"StatementOptionName\":\"COLORMODEL=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: COLORMODEL=style-element] \\n          \\nSpecifies a style element that is used to determine the gradient surface colors. \\nDefault: The ThreeColorRamp style element.\\n\\nstyle-element \\nName of a style element. The style element can contain these style attributes: \\n\\n  STARTCOLOR \\n  Specifies a color for the smallest data value of the SURFACECOLORGRADIENT variable. \\n  \\n  NEUTRALCOLOR \\n  Specifies a color for the midpoint of the range Of the SURFACECOLORGRADIENT variable. \\n  \\n  ENDCOLOR \\n  Specifies a color for the highest data value of the SURFACECOLORGRADIENT variable. \\n  \\nInteraction: For this option to have any effect, the SURFACECOLORGRADIENT= option must also be used.\\n\\nTip: The REVERSECOLORMODEL= option can be used to reverse the start and end colors of the ramp assigned \\nto the colormodel.\"},\"StatementOptionType\":\"V\",\"SubOptionsKeywords\":\"STARTCOLOR|NEUTRALCOLOR|ENDCOLOR\"},{\"StatementOptionName\":\"DATATRANSPARENCY=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: DATATRANSPARENCY=number] \\n          \\nSpecifies the degree of the transparency of the surface. \\n\\nDefault: 0\\n\\nRange: 0 (opaque) to 1 (entirely transparent)\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"FILLATTRS=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: FILLATTRS=style-element | style-element (fill-options) | (fill-options)] \\n          \\nSpecifies the color of the filled surface or the wireframe mesh. \\n\\nWhen specifying the attributes for an area fill, the COLOR fill-option is the only option that \\nis currently available. The option must be enclosed in parentheses and specified as a name=value \\npair. The value may be a style-reference in the form style-element:style-attribute.\\n\\n  COLOR=style-reference | color \\n  specifies the fill color. If you use a style-reference, the style-attribute should be a valid \\n  attribute such as COLOR, CONTRASTCOLOR, STARTCOLOR, NEUTRAL, ENDCOLOR. The convention is to use \\n  the COLOR attribute for fill areas. If you use a color, SAS/GRAPH accepts color names, such as \\n  RED, or color codes, such as CXFF0000 or #FF0000. Color names must not exceed 64 characters. \\n  Color codes must not exceed 8 characters and must be in a valid SAS color-naming scheme, such \\n  as RGB, CMYK, HLS, or HSV (HSB).\\n\\nDefault: The GraphDataDefault:Color style reference.\\n\\nInteraction: The SURFACECOLORGRADIENT= option is ignored if this option is specified.\"},\"StatementOptionType\":\"V\",\"SubOptionsKeywords\":\"COLOR=\"},{\"StatementOptionName\":\"LEGENDLABEL=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: LEGENDLABEL= \\\"string\\\"] \\n          \\nSpecifies a label for use in a legend. \\n\\nDefault: The Z-variable label. If a label is not defined, the Z-variable name.\\n\\nInteraction: If the GROUP= option is specified, this option is ignored.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"NAME=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: NAME=\\\"string\\\"] \\n          \\nAssigns a name to a plot statement for reference in other template statements. \\nDefault: no default\\n\\nRestriction: The string is case sensitive, cannot contain spaces, and must define a unique \\nname within the template.\\n\\nTip: The specified name is used primarily in legend statements to coordinate the use of colors \\nand line patterns between the graph and the legend.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"PRIMARY=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies that the data columns for this plot and the plot type be used for determining default \\naxis features. \\n\\nDefault: FALSE\\n\\nDetails: This option is needed only when two or more plots within an overlay-type layout contribute \\nto a common axis.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"FALSE\",\"@Value2\":\"TRUE\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Specifies that the data columns for this plot and the plot type not be used for determining default  axis features.\",\"@ToolTip2\":\"Specifies that the data columns for this plot and the plot type be used for determining default  axis features.\"}},{\"StatementOptionName\":\"REVERSECOLORMODEL=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies whether to reverse a gradient (color ramp) defined by the COLORMODEL= option. \\n\\nDefault: FALSE\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"FALSE\",\"@Value2\":\"TRUE\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Specifies not to reverse the gradient (color ramp) defined by the COLORMODEL= option.\",\"@ToolTip2\":\"Specifies to reverse the gradient (color ramp) defined by the COLORMODEL= option.\"}},{\"StatementOptionName\":\"SURFACECOLORGRADIENT=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: SURFACECOLORGRADIENT=numeric-column] \\n          \\nSpecifies a column that is used to map surface colors to a continuous gradient.\\n\\nDefault: no default\\n\\nInteraction: This options is ignored if the FILLATTRS= option is specified.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"SURFACETYPE=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies how the surface is displayed.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"FILLGRID\",\"@Value2\":\"FILL\",\"@Value3\":\"WIREFRAME\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Surface is displayed as a filled surface with superimposed grid lines.\",\"@ToolTip2\":\"Surface is displayed as a filled surface without grid lines.\",\"@ToolTip3\":\"Surface is displayed as an unfilled surface with grid lines.\"}}]}},{\"StatementName\":\"VECTORPLOT\",\"StatementHelp\":{\"#cdata\":\"Syntax: VECTORPLOT X= numeric-column | expression\\n      Y= numeric-column | expression\\n      XORIGIN= numeric-constant | numeric-column | expression\\n      YORIGIN= numeric-constant | numeric-column | expression </ option(s)> ; \\n      \\nCreates a plot of vectors (directed line segments).\"},\"StatementOptions\":{\"StatementOption\":[{\"StatementOptionName\":\"X=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: X=numeric-column | expression] \\n          \\nSpecifies the column for the X values of the vector endpoints.\"},\"StatementOptionType\":\"RV\"},{\"StatementOptionName\":\"Y=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: Y=numeric-column | expression] \\n          \\nSpecifies the column for the Y values of the vector endpoints.\"},\"StatementOptionType\":\"RV\"},{\"StatementOptionName\":\"XORIGIN=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: XORIGIN=numeric-constant | numeric-column | expression] \\n          \\nSpecifies the X data coordinate of the vector origin.\"},\"StatementOptionType\":\"RV\"},{\"StatementOptionName\":\"YORIGIN=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: YORIGIN=number | numeric-column | expression] \\n          \\nSpecifies the Y data coordinate of the vector origin.\"},\"StatementOptionType\":\"RV\"},{\"StatementOptionName\":\"ARROWDIRECTION=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies the placement of the arrowhead(s) at the end of the vector. \\n\\nDefault: OUT\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"OUT\",\"@Value2\":\"IN\",\"@Value3\":\"BOTH\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Specifies a single arrowhead, pointing away from the origin, at the end of the vector away  from the origin.\",\"@ToolTip2\":\"Specifies a single arrowhead, pointing toward the origin, at the end of the vector near the origin.\",\"@ToolTip3\":\"Specifies two arrowheads, one pointing away from the origin, at the end of the vector away from the  origin and the other pointing toward the origin, at the end of the vector near the origin.\"}},{\"StatementOptionName\":\"ARROWHEADS=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies whether arrowheads are displayed on the vectors. \\n\\nDefault: TRUE\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"FALSE\",\"@Value2\":\"TRUE\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Specifies that arrowheads are not displayed on the vectors.\",\"@ToolTip2\":\"Specifies that arrowheads are displayed on the vectors.\"}},{\"StatementOptionName\":\"ARROWHEADSHAPE=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies the shape of the arrowheads. \\n          \\nDefault: OPEN\\n\\nInteraction: This option is ignored if ARROWHEADS=FALSE.\\n\\nTip: Use the ARROWDIRECTION= option to control arrow direction.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"OPEN\",\"@Value2\":\"CLOSED\",\"@Value3\":\"FILLED\",\"@Value4\":\"BARBED\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Open arrow head.\",\"@ToolTip2\":\"Closed arrow head.\",\"@ToolTip3\":\"Filled arrow head.\",\"@ToolTip4\":\"Barbed arrow head.\"}},{\"StatementOptionName\":\"CLIP=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies whether the origin is considered when determining the data ranges for the axes. \\n\\nDefault: FALSE.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"FALSE\",\"@Value2\":\"TRUE\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Specifies that the origin is not considered when determining the data ranges for the axes.\",\"@ToolTip2\":\"Specifies that the origin is considered when determining the data ranges for the axes.\"}},{\"StatementOptionName\":\"DATALABEL=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: DATALABEL=column] \\n          \\nSpecifies labels at the ends of the vectors. \\nDefault: no default\\n\\nTip: The position of the labels are automatically adjusted to prevent the labels from colliding \\nwith other labels and other arrows.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"DATALABELATTRS=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: DATALABELATTRS=style-element | style-element (text-options) | (text-options)] \\n          \\nSpecifies the color and font attributes of the data labels. \\n\\n  style-element \\n      Name of a style element. Only style attributes relevant for rendering the fill, line, data marker, or text will be used.\\n\\n  style-element (text-options) \\n      Name of a style element, plus individual options to be used as style overrides. Any options not specified are derived\\n      from the specified style-element.\\n\\n  (text-options) \\n  COLOR=style-reference | color \\n      specifies the color of the text. If you use a style-reference, the style-attribute should be a valid\\n      attribute such as COLOR, CONTRASTCOLOR, STARTCOLOR, NEUTRAL, ENDCOLOR. The convention is to use COLOR for text.\\n\\n  FAMILY =style-reference | \\\"string\\\" \\n      specifies the font family of the text. If you use a style-reference, the style-attribute should be FONTFAMILY.\\n\\n  SIZE=style-reference | dimension \\n      specifies the font size of the text. If you use a style-reference, the style-attribute should be FONTSIZE. \\n\\n  STYLE=style-reference | NORMAL | ITALIC \\n      specifies the font style of the text. If you use a style-reference, the style-attribute should be FONTSTYLE. \\n\\n  WEIGHT=style-reference | NORMAL | BOLD \\n      specifies the font weight of the text. If you use a style-reference, the style-attribute should be FONTWEIGHT. \\n\\nDefault:\\n  o For non-grouped data, the GraphDataText style element. \\n  o For grouped data, the GraphData1:ContrastColor - GraphDataN:ContrastColor style references. \\n\\nInteraction: For this option to take effect, the DATALABEL= option must also be specified.\"},\"StatementOptionType\":\"V\",\"SubOptionsKeywords\":\"COLOR=|FAMILY=|SIZE=|STYLE=|WEIGHT=\"},{\"StatementOptionName\":\"DATATRANSPARENCY=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: DATATRANSPARENCY=number] \\n          \\nSpecifies the degree of the transparency of the vector line and arrow. \\n\\nDefault: 0\\n\\nRange: 0 (opaque) to 1 (entirely transparent).\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"GROUP=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: GROUP=column | expression] \\n          \\nCreates a distinct set of vector lines and data label colors for each unique group value of \\nthe specified column. \\n\\nDefault: Each distinct group value may be represented in the graph by a different combination \\nof color and line pattern. Lines vary according to the ContrastColor and LineStyle attributes \\nof the GraphData1 - GraphDataN style elements.\\n\\nInteraction: The group values are mapped in the order of the data, unless the INDEX= option \\nis used to alter thedefault sequence of line patterns and colors.\\n\\nTip: The LINEATTRS= option can be used to override the representations that are used to identify \\nthe groups. For example, LINEATTRS=(PATTERN=SOLID) can be used to assign the same pattern to all \\nof the lines, letting the line color distinguish group values. Likewise, LINEATTRS=(COLOR=BLACK) \\ncan be used to assign the same color to all of the lines, letting the line pattern distinguish \\ngroup values.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"INDEX=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: INDEX=positive-integer-column] \\n          \\nSpecifies indices for mapping line attributes (color and pattern) to one of the \\nGraphData1 - GranphDataN style elements. \\n\\nDefault: no default\\n\\nInteraction: For this option to take effect, the GROUP= option must also be specified.\\n\\nInteraction: All of the indexes for a specific group value must be the same; otherwise, \\nthe results are unpredictable.\\n\\nInteraction: If this option is not used, then the group values are mapped in the order of the data.\\n\\nInteraction: The index values are 1-based indices. For the style elements GraphData1 - GraphDataN, \\nif the index value is greater than N, then a modulo operation remaps that index value to a number \\nless than N to determine which style element to use.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"LEGENDLABEL=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: LEGENDLABEL=\\\"string\\\"] \\n          \\nSpecifies a label for use in a legend. \\nDefault: The string specified on the NAME= option.\\n\\nInteraction: If the GROUP= option is specified, this option is ignored.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"LINEATTRS=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: LINEATTRS=style-element | style-element (line-options) | (line-options)] \\n          \\nSpecifies the attributes of the vector line and arrowhead. \\nDefault:\\n  o For non-grouped data, the GraphDataDefault style element. \\n  o For grouped data, the ContrastColor, LineStyle, and LineThickness attributes of the \\n    GraphData1 - GraphDataN style elements. \\n\\nThe available line-options can be any one or more of the following settings. The options must be \\nenclosed in parentheses, and each option is specified as a name=value pair:\\n\\n  COLOR=style-reference | color \\n  specifies the line color. If you use a style-reference, the style-attribute should be a valid \\n  attribute such as COLOR, CONTRASTCOLOR, STARTCOLOR, NEUTRAL, ENDCOLOR. The convention is to use \\n  CONTRASTCOLOR for lines. If you specify a style element that does not have a CONTRASTCOLOR attribute, \\n  the element's COLOR attribute is used. If you use a color, SAS/GRAPH accepts color names, such \\n  as RED, or color codes, such as CXFF0000 or #FF0000.\\n\\n  PATTERN=style-reference | line-pattern-name | line-pattern-number specifies the line pattern. \\n  If you use a style-reference, the style-attribute should be LINESTYLE. Line patterns can be specified \\n  as a pattern name or pattern number. Some valid pattern numbers: 1 (Solid), 2 (ShortDash), 4 (MediumDash), \\n  5 (LongDash) 8 (MediumDashShortDash)   14 (DashDashDot) 15 (DashDotDot) 20 (Dash) 26 (LongDashShortDash) \\n  34 (Dot) 35 (ThinDot) 41 (ShortDashDot) 42 (MediumDashDotDot). Not all pattern numbers have names.\\n\\n  THICKNESS=style-reference | dimension \\n  specifies the line thickness. If you use a style-reference, the style-attribute should be LINETHICKNESS.\"},\"StatementOptionType\":\"V\",\"SubOptionsKeywords\":\"COLOR=|PATTERN=|THICKNESS=\"},{\"StatementOptionName\":\"NAME=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: NAME=\\\"string\\\"] \\n          \\nAssigns a name to a plot statement for reference in other template statements. \\nDefault: no default\\n\\nRestriction: The string is case sensitive, cannot contain spaces, and must define a unique \\nname within the template.\\n\\nInteraction: The string is used as the default legend label if the LEGENDLABEL= option is not used.\\n\\nTip: The specified name is used primarily in legend statements to coordinate the use of colors \\nand line patterns between the graph and the legend.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"PRIMARY=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies that the data columns for this plot and the plot typme be used for determining default \\naxis features. \\n\\nDefault: FALSE\\n\\nRestriction: This option is ignored if the plot is placed under a GRIDDED or LATTICE layout block.\\n\\nDetails: This option is needed only when two or more plots within an overlay-type layout contribute \\nto a common axis.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"FALSE\",\"@Value2\":\"TRUE\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Specifies that the data columns for this plot not be used for determining default  axis features.\",\"@ToolTip2\":\"Specifies that the data columns for this plot be used for determining default  axis features.\"}},{\"StatementOptionName\":\"ROLENAME=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: ROLENAME=( role-name-list )] \\n          \\nSpecifies user-defined roles for information contained in data columns. \\nDefault: no default\\n\\n(role-name-list) \\na blank-separated list of rolename = column pairs. \\nFor example, ROLENAME= ( TIP1=OBS ) assigns the column OBS to the user-defined role TIP1.\\n\\nRequirement: The role names you choose must be unique and different from the pre-defined roles X, \\nY, DATALABEL, XORIGIN, YORIGIN, GROUP, and INDEX.\\n\\nInteraction: For this option to take effect, the TIP= option must also be used.\\n\\nTip: This option provides a way to add to the data columns that appear in tooltips specified by \\nthe TIP= option.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"SCALE=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: SCALE=number] \\n          \\nSpecifies the scale factor of the vector length. \\n\\nDefault: 1.0\\n\\nRestriction: The number specified must be greater than 0.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"TIP=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: TIP=(role-list)] \\n          \\nSpecifies the information to display when the cursor is positioned over a vector line. If this \\noption is used, it replaces all the information displayed by default. Roles for columns that do \\nnot contribute to the vector plot may be specfied along with roles that do. \\n\\nDefault: The columns assigned to these roles are automatically included in the tooltip information: \\nX, Y, DATALABEL, XORIGIN, YORIGIN, GROUP, and INDEX.\\n\\n(role-list) \\nan ordered, blank-separated list of unique VECTORPLOT and user-defined roles. VECTORPLOT roles include \\nX, Y, DATALABEL, XORIGIN, YORIGIN, GROUP, and INDEX. User-defined roles are defined with the ROLENAME= option.\\n\\nThe following example displays tooltips for the columns assigned to the roles X, Y, GROUP, and the column \\nOBS, which is not assigned to any pre-defined VectorPlot role. The OBS column must first be assigned a role.\\n  \\n   ROLENAME=(TIP1=OBS) \\n   TIP= (TIP1 X Y GROUP) \\n\\nRequirement: To generate tooltips, you must include an ODS GRAPHICS ON statement that has the IMAGEMAP \\noption specified, and write the graphs to the ODS HTML destination.\\n\\nInteraction: The labels and formats for the TIP variables can be controlled with the TIPLABEL= and \\nTIPFORMAT= options.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"TIPFORMAT=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: TIPFORMAT=(role-format-list)] \\n          \\nSpecifies display formats for tip columns. \\n\\nDefault: The column format of the variable assigned to the role.\\n\\n(role-format-list) \\na list of rolename = format pairs separated by blanks. \\n  \\n   ROLENAME=(TIP1=OBS) \\n   TIP=(TIP1 X Y GROUP) \\n   TIPFORMAT=(TIP1=3.) \\n\\nRequirement: Columns must be assigned to the roles for this option to have any effect. \\nSee the ROLENAME= option.\\n\\nTip: This option provides a way to control the formats of columns that appear in tooltips. \\nOnly the roles that appear in the TIP= option are used.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"TIPLABEL=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: TIPLABEL=(role-label-list)] \\n          \\nSpecifies display labels for tip columns. \\n\\nDefault: The column label or column name of the variable assigned to the role.\\n\\n(role-label-list) \\na list of rolename = \\\"string\\\" pairs separated by blanks. \\n  \\n    ROLENAME=(TIP1=OBS) \\n    TIP=(TIP1 X Y GROUP) \\n    TIPLABEL=(TIP1=\\\"Observation #\\\") \\n\\nRequirement: Columns must be assigned to the roles for this option to have any effect. \\nSee the ROLENAME= option.\\n\\nTip: This option provides a way to control the labels of columns that appear in tooltips. \\nOnly the roles that appear in the TIP= option are used.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"XAXIS=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies whether data are mapped to the primary X (bottom) axis or to the secondary X2 (top) axis. \\n\\nDefault: X\\n\\nInteraction: The overall plot specification and the layout type determine the axis display.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"X\",\"@Value2\":\"X2\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Data are mapped to the primary X (bottom) axis.\",\"@ToolTip2\":\"Data are mapped to the the secondary X2 (top) axis.\"}},{\"StatementOptionName\":\"YAXIS=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies whether data are mapped to the primary Y (left) axis or to the secondary Y2 (right) axis. \\n\\nDefault: Y\\n\\nInteraction: The overall plot specification and the layout type determine the axis display.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"Y\",\"@Value2\":\"Y2\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Data are mapped to the primary Y (left) axis.\",\"@ToolTip2\":\"Data are mapped to the secondary Y2 (right) axis.\"}}]}},{\"StatementName\":\"PIECHART\",\"StatementHelp\":{\"#cdata\":\"Syntax: PIECHART CATEGORY=column | discrete-attr-var | expression  </option(s)>; \\n\\nPIECHART CATEGORY=column | discrete-attr-var | expression\\nRESPONSE=numeric-column | expression </option(s)>; \\n\\nCreates a pie chart that is computed from input data.\"},\"StatementOptions\":{\"StatementOption\":[{\"StatementOptionName\":\"CATEGORY=\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: CATEGORY=column | discrete-attr-var | expression\\n\\nSpecifies the column for the category values. Duplicated values of CATEGORY are summarized into a unique value. \\nAll values are treated as discrete. \\n\\ndiscrete-attr-var\\n  specifies a discrete attribute map variable that is defined in a DISCRETEATTRVAR statement.\\n\\nRestriction: A discrete attribute map variable specification must be a direct reference to the attribute \\nmap variable. It cannot be set by a dynamic variable.\"},\"StatementOptionType\":\"RV\"},{\"StatementOptionName\":\"CATEGORYDIRECTION=\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: CATEGORYDIRECTION=COUNTERCLOCKWISE | CLOCKWISE \\n\\nSpecifies whether to display the pie slices in counterclockwise or clockwise sequence.\\n\\nDefault: COUNTERCLOCKWISE \\nTip: The START= option controls the starting angle for the first pie slice.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"COUNTERCLOCKWISE\",\"@Value2\":\"CLOCKWISE\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Specifies to display the pie slices in counterclockwise sequence.\",\"@ToolTip2\":\"Specifies to display the pie slices in clockwise sequence.\"}},{\"StatementOptionName\":\"CENTERFIRSTSLICE=\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: CENTERFIRSTSLICE=TRUE | FALSE\\n\\nSpecifies whether the first pie slice is centered on the starting angle or starts on the starting angle.\\n\\nDefault: FALSE \\n\\nTips: Use the START= option to change the starting angle. \\nUse the CATEGORYDIRECTION= option to change the category direction.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"TRUE\",\"@Value2\":\"FALSE\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Specifies that arrowheads are displayed on the vectors.\",\"@ToolTip2\":\"Specifies that arrowheads are not displayed on the vectors.\"}},{\"StatementOptionName\":\"DATALABELATTRS=\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: DATALABELATTRS=style-element | style-element (text-options) | (text-options) \\n\\nSpecifies the color and font attributes of the slice labels.\\n\\nDefault: The GraphValueText style element. \\n\\n\\nstyle-element \\n  Name of a style element. Only style attributes relevant for rendering the fill, line, data marker, or text will be used.\\n\\nstyle-element (text-options) \\n  Name of a style element, plus individual options to be used as style overrides. Any options not specified are derived\\n  from the specified style-element.\\n\\n(text-options) \\n  COLOR=style-reference | color \\n      specifies the color of the text. If you use a style-reference, the style-attribute should be a valid\\n      attribute such as COLOR, CONTRASTCOLOR, STARTCOLOR, NEUTRAL, ENDCOLOR. The convention is to use COLOR for text.\\n\\n  FAMILY =style-reference | \\\"string\\\" \\n      specifies the font family of the text. If you use a style-reference, the style-attribute should be FONTFAMILY.\\n\\n  SIZE=style-reference | dimension \\n      specifies the font size of the text. If you use a style-reference, the style-attribute should be FONTSIZE. \\n\\n  STYLE=style-reference | NORMAL | ITALIC \\n      specifies the font style of the text. If you use a style-reference, the style-attribute should be FONTSTYLE. \\n\\n  WEIGHT=style-reference | NORMAL | BOLD \\n      specifies the font weight of the text. If you use a style-reference, the style-attribute should be FONTWEIGHT. \\n\\nDefault: The GraphDataText style element.\\n\\nInteraction: This option is ignored if EXTREME=TRUE or the DISPLAY= option does not display the outliers.\\n\\nInteraction: If one or more label options are specified and they do not include all the font properties \\n(color, family, size, weight, style), non-specified properties will be derived from the GraphDataText style element.\"},\"StatementOptionType\":\"V\",\"SubOptionsKeywords\":\"COLOR=|FAMILY=|SIZE=|STYLE=|WEIGHT=\"},{\"StatementOptionName\":\"DATALABELCONTENT=\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: DATALABELCONTENT=ALL | STANDARD | NONE | (content-options) \\n\\nSpecifies the information to display in the slice labels.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"ALL\",\"@Value2\":\"STANDARD\",\"@Value3\":\"NONE\",\"@Value4\":\"(content-options)\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Displays all available information.\",\"@ToolTip2\":\"Equivalent to specifying the two content-options CATEGORY and RESPONSE.\",\"@ToolTip3\":\"Does not display slice labels.\",\"@ToolTip4\":\"A space-separated list of one or more of the following options enclosed in parentheses:   CATEGORY - displays the CATEGORY value   PERCENT - displays the following based on the setting for the STAT= option:  \\u2022 when STAT=FREQ or STAT=PCT, the PERCENT value   \\u2022 when STAT=MEAN or STAT=SUM, nothing    RESPONSE - displays the statistic that is requested in the STAT= option.\"}},{\"StatementOptionName\":\"DATALABELLOCATION=\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: DATALABELLOCATION=AUTO | INSIDE | OUTSIDE | CALLOUT \\n\\nSpecifies whether to display the slice labels within the pie slices or outside of the pie circumference. \\n\\nDefault: AUTO\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"AUTO\",\"@Value2\":\"INSIDE\",\"@Value3\":\"OUTSIDE\",\"@Value4\":\"CALLOUT\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Automatically selects either INSIDE, OUTSIDE, or CALLOUT to optimize the label position \",\"@ToolTip2\":\"Locates the slice labels inside the pie slices.   Note: If a particular label does not fit within the pie slice, then the fit policy takes effect  (set by the LABELFITPOLICY= option).\",\"@ToolTip3\":\"Locates the slice labels outside of the pie circumference. \",\"@ToolTip4\":\"Locates the slice labels outside of the pie circumference and draws a line from the label to its slice. \"}},{\"StatementOptionName\":\"DATASKIN=\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: DATASKIN= NONE | CRISP | GLOSS | MATTE | PRESSED | SHEEN \\n          \\nEnhances the visual appearance of filled pie slices. \\n\\nDefault: The DATASKIN= option value that is specified in the BEGINGRAPH statement. If not specified, then the \\n  GraphSkins:DataSkin style element value is used. \\n\\nRestriction: Starting with the first maintenance release of SAS 9.4, the maximum number of skinned graphical \\nelements is limited to 200 per plot in an overlay or prototype layout. When this limit is exceeded for a plot, \\nthe specified data skin is not applied to that plot. In that case, use the DATASKINMAX= option in your ODS GRAPHICS \\nstatement to increase the maximum limit.  \\n\\nRequirement: For this option to have any effect, DISPLAY=FILL must be in effect. Otherwise, this option is ignored. \\n\\nInteractions: This option overrides the BEGINGRAPH statement DATASKIN= option. \\nThe appearance of the data skin is based on the FILLATTRS= color.  \\nWhen a data skin is applied, all slice outlines are set by the skin, and the OUTLINEATTRS= option is ignored.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"NONE\",\"@Value2\":\"CRISP\",\"@Value3\":\"GLOSS\",\"@Value4\":\"MATTE\",\"@Value5\":\"PRESSED\",\"@Value6\":\"SHEEN\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Specifies no data skin.\",\"@ToolTip2\":\"Specifies a crisp data skin.\",\"@ToolTip3\":\"Specifies a glossy data skin.\",\"@ToolTip4\":\"Specifies a matte data skin.\",\"@ToolTip5\":\"Specifies a pressed data skin.\",\"@ToolTip6\":\"Specifies a sheen data skin.\"}},{\"StatementOptionName\":\"DATATRANSPARENCY=\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: DATATRANSPARENCY=number\\n\\nSpecifies the degree of the transparency of all pie slices, outlines, and text.\\n\\nDefault: 0  \\n\\nRange: 0\\u20131, where 0 is opaque and 1 is entirely transparent \\n\\nTip: The FILLATTRS= option can be used to set transparency for just the pie slices. The OTHERSLICEOPTS= \\noption can be used to specify transparency for the \\u201cother\\u201d slice. You can combine this option with \\nFILLATTRS= and with OTHERSLICEOPTS= to set one transparency for the outlines and text but a different \\ntransparency for the pie slices. Example:datatransparency=0.2 fillattrs=(transparency=0.6).\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"DISPLAY=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies whether to display outlined pie slices, filled pie slices, or outlined and filled pie slices.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"STANDARD\",\"@Value2\":\"<(display-options)>\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Displays outlined, filled pie slices \",\"@ToolTip2\":\"A space-separated list of one or more of the following options enclosed in parentheses:   OUTLINE displays outlined pie slices. The default outline properties are set by the GraphOutline style element.   FILL displays filled pie slices with each slice a different color. The default colors are set by the Color  attribute of the GraphData1\\u2013GraphDataN style elements. The fill color of the \\u201cother\\u201d slice (if shown)  is from the color attribute of the GraphOther style element. If FILL is not specified, then an opaque  pie is drawn using the background color of the containing layout.\"},\"SubOptionsKeywords\":\"FILL|OUTLINE\"},{\"StatementOptionName\":\"FILLATTRS=\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: FILLATTRS=style-element | style-element (fill-options) | (fill-options) \\n\\nSpecifies the appearance of the filled pie slices, excluding the \\u201cother\\u201d slice.\\n\\nDefault: The GraphDataDefault:Color style reference. \\n\\nInteraction: For this option to have any effect, the fill must be enabled by the ODS style or the DISPLAY= option.  \\n\\nTips: The FILLATTRS= suboption of the OTHERSLICEOPTS= option controls the visual properties of the \\u201cother\\u201d slice.  \\nThe DATATRANSPARENCY= option sets the transparency for all pie slices, outlines, and text. You can combine this \\noption with DATATRANSPARENCY= to set one transparency for the outlines and text but a different transparency for \\nthe pie slices. Example: datatransparency=0.2 fillattrs=(transparency=0.6).\"},\"StatementOptionType\":\"V\",\"SubOptionsKeywords\":\"COLOR=\"},{\"StatementOptionName\":\"GROUP=\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: GROUP=column | expression\\n\\nCreates a separate concentric annulus (or stacked cylinders) for each unique group value of the specified column.  \\nThe grouped rings are displayed in data order.\\n\\nInteractions: When this option is used, the unique column values are found and then the slice colors are taken \\nfrom the GraphData1\\u2013GraphDataN style elements.  \\n\\nMissing values in the data can affect the group order. You can use the INCLUDEMISSINGGROUP= option to manage \\nmissing group values. In addition, you can use INCLUDEMISSINGDISCRETE=TRUE in the BEGINGRAPH statement to \\ncreate pie slices for missing CATEGORY values. \\n\\nTip: This option creates only rings of pies. To create a grid of pies, specify the PIECHART statement within \\na LAYOUT LATTICE, LAYOUT DATALATTICE, or LAYOUT DATAPANEL statements.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"GROUPGAP=\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: GROUPGAP=dimension\\n\\nSpecifies a dimension for the optional gap that can be displayed between each annulus of a grouped pie.\\n\\nDefault: 0 \\n\\nRestriction: For this option to take effect, the GROUP= option must also be specified.  \\n\\nInteraction: If the specified dimension is too large for the area that is available to the pie chart, then \\nthe results might be unexpected.  \\n\\nNote: The size of the inner pie remains the same regardless of the GROUPGAP= value.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"GROUPLABELOPTS=\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: GROUPLABELOPTS=(grouplabel-options) \\n\\nSpecifies text attributes, location, and other options for displaying group labels. The following \\ngrouplabel-options are available. One or more options can be specified as space-separated name = value pairs.\\n \\nLABEL=AUTO | NONE | \\\"string\\\" \\n  specifies a descriptive label for the Group column \\n\\n\\n  AUTO specifies the column label of the GROUP= column or the column name of the GROUP= column, if no column label exists.  \\n  NONE specifies that no label is displayed \\n    \\\"string\\\"  specifies a string to use as the label \\n\\n  Default AUTO \\n\\nLABELATTRS=style-element | style-element (text-options) | (text-options) \\n  specifies the text properties of the group label. \\n\\n  Default The GraphLabelText style element. \\n\\nLOCATION=RIGHT | LEFT\\n  specifies whether the block of text for group labeling appears to the right or left of the pie. \\n\\n  Default RIGHT \\n\\nVALUEATTRS=style-element | style-element (text-options) | (text-options) \\n  specifies the text properties of the group values. \\n\\n  Default The GraphValueText style element.\"},\"StatementOptionType\":\"V\",\"SubOptionsKeywords\":\"LABEL=|LABELATTRS=|LOCATION=|VALUEATTRS=\"},{\"StatementOptionName\":\"INCLUDEMISSINGGROUP=\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: INCLUDEMISSINGGROUP=TRUE | FALSE\\n\\nSpecifies whether missing values of the Group column are included in the pie.\\n\\nDefault: TRUE \\nRestriction: For this option to take effect, the GROUP= option must also be specified.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"TRUE\",\"@Value2\":\"FALSE\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Specifies that missing values of the Group column are included in the pie.\",\"@ToolTip2\":\"Specifies missing values of the Group column are not included in the pie.\"}},{\"StatementOptionName\":\"LABELFITPOLICY=\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: LABELFITPOLICY=NONE | DROP \\n\\nSpecifies the label fitting policy to be used if a particular label does not fit within the pie slice. \\n\\nDefault: NONE \\n\\nTip: This option determines how labels are managed when DATALABELLOCATION=INSIDE and a particular label does \\nnot fit within the pie slice.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"DROP\",\"@Value2\":\"NONE\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Draws each label regardless of whether it fits within the slice region. \",\"@ToolTip2\":\"Drops labels that do not fit within the slice region, but draws labels that do fit.\"}},{\"StatementOptionName\":\"NAME=\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: NAME=\\\"string\\\" \\n\\nAssigns a name to this plot statement for reference in other template statements. The specified \\nname is used primarily in legend statements to coordinate the use of colors and line patterns \\nbetween the plot and the legend.\\n\\nRestriction: The string is case sensitive, cannot contain spaces, and must define a unique name \\nwithin the template.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"OTHERSLICE=\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: OTHERSLICE=TRUE | FALSE \\n\\nSpecifies whether to consolidate smaller pie slices into a single slice that represents \\n\\u201cother\\u201d values that are in the data, or whether to display those smaller slices as separate \\npie slices. If this option is set to FALSE, then all unique category values appear as slices. \\nIf this option is set to TRUE, then some of the smaller slices might be combined into a \\nsingle slice, referred to as the \\u201cother\\u201d slice.\\n\\nDefault: TRUE \\n\\nTip: To set the properties of the \\u201cother\\u201d slice, use the OTHERSLICEOPTS= option.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"TRUE\",\"@Value2\":\"FALSE\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Specifies that some of the smaller slices might be combined into a single slice, referred to as the \\u201cother\\u201d slice.\",\"@ToolTip2\":\"Specifies that all unique category values appear as slices.\"}},{\"StatementOptionName\":\"OTHERSLICEOPTS=\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: OTHERSLICEOPTS=(other-slice-options) \\n\\nSpecifies the properties of the \\u201cother\\u201d slice. Example: \\n\\n  piechart category=region / name=\\\"p\\\"\\n    datalabelcontent=(percent) datalabellocation=inside\\n    otherslice=true\\n    othersliceopts=(type=percent percent=11 label=\\\"Other Regions\\\") ;\\n    \\nThe following other-slice-options are available. One or more options can be specified as space-separated name = value pairs. \\n\\nTYPE=PERCENT | MAXSLICES\\n  specifies which method to use to determine the size of the \\u201cother\\u201d slice. \\n\\n  PERCENT uses the percentage that is set by the PERCENT= suboption.  \\n  MAXSLICES uses the count that is set by the MAXSLICES= suboption. \\n\\n  Default PERCENT \\n\\n  MAXSLICES=positive-integer\\n    specifies the maximum number of category values to represent with pie slices. Any remaining values are consolidated \\n    into the \\u201cother\\u201d slice. Default: 10 \\n\\n  PERCENT=percent-of-total\\n    collects all category values with response values less than or equal to the specified percent-of-total into the \\u201cother\\u201d slice. \\n\\n  Default 4. Any original slice that represents 4% or less of the total is put in the \\u201cother\\u201d category.  \\n  Range 0 to 100 \\n\\nLABEL=\\\"string\\\" \\n  specifies a label for the \\u201cother\\u201d slice. Default \\\"OTHER\\\" \\n\\nFILLATTRS=style-element | style-element (fill-options) | (fill-options) \\n  specifies the appearance of the \\u201cother\\u201d slice's area fill. Default: The GraphOther style element.\"},\"StatementOptionType\":\"V\",\"SubOptionsKeywords\":\"TYPE=|LABEL=|FILLATTRS=\"},{\"StatementOptionName\":\"OUTLINEATTRS=\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: OUTLINEATTRS=style-element | style-element (line-options) | (line-options) \\n\\nSpecifies the properties of the pie and slice outlines. \\n\\nDefault The GraphOutlines style element. \\nInteractions For this option to have any effect, outlines must be enabled by the ODS style or the DISPLAY= option.  \\nIf the DATASKIN= option applies a data skin, then this option is ignored.  \\n\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"START=\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: START=degrees\\n\\nSpecifies which degree between 0 and 360 serves as the starting position for the first pie slice. \\nA value of 0 degrees corresponds to the three o'clock position. Degrees can be either positive or \\nnegative. Positive values move the starting position counterclockwise, and negative values move the \\nstarting position clockwise. From the starting point specified by this option, the slices are drawn \\nin the direction specified by the CATEGORYDIRECTION= option.\\n\\nDefault: 0 \\nRange: 0 to 360\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"STAT=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies the statistic to be computed. \\n\\nDefault: SUM for pie charts that specify the RESPONSE= argument.\\nDefault: FREQ for pie charts that do not specify the RESPONSE= argument.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"FREQ\",\"@Value2\":\"PCT\",\"@Value3\":\"SUM\",\"@Value4\":\"MEAN\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"[For pie charts with no RESPONSE= argument]--Frequency count\",\"@ToolTip2\":\"[For pie charts with no RESPONSE= argument]--Percent\",\"@ToolTip3\":\"[For pie charts with a RESPONSE= argument]--Sum\",\"@ToolTip4\":\"[For pie charts with a RESPONSE= argument]--Mean\"}},{\"StatementOptionName\":\"TIP=\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: =(role-list) | NONE \\n\\nSpecifies the information to display when the cursor is positioned over a pie slice.  If this option is used, \\nthen it replaces all of the information that is displayed by default.\\n \\n(role-list) \\n  an ordered, space-separated list of unique PIECHART roles. PIECHART roles include CATEGORY, RESPONSE, \\n  and GROUP. The RESPONSE role represents the computed statistic for the CATEGORY value, based on the \\n  statistic that is set by the STAT= option. \\n\\n  Example The following example displays data tips for the columns assigned to the roles CATEGORY and RESPONSE.\\n  \\n          TIP=(CATEGORY RESPONSE)\\n \\nNONE\\n  suppresses data tips and URLs (if requested) from the plot. \\n\\n  Default: The columns assigned to these roles are automatically included in the data tip \\n    information: CATEGORY and RESPONSE.  \\n  \\n  Requirement: To generate data tips in the output, you must include an ODS GRAPHICS ON statement \\n    that has the IMAGEMAP option specified, and you must write the output to the ODS HTML destination.  \\n  \\n  Tip: The labels and formats for the TIP roles can be controlled with theTIPLABEL= and TIPFORMAT= options.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"TIPFORMAT=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: TIPFORMAT=(role-format-list)] \\n          \\nSpecifies display formats for tip columns.  This option provides a way to control the formats of columns \\nthat appear in data tips.\\n \\n(role-format-list) \\n  a space-separated list of role-name = format pairs. \\n\\n  Example: TIP=(RESPONSE)\\n           TIPFORMAT=(RESPONSE=DOLLAR12.)\\n \\n\\nDefault: The column format of the column assigned to the role or BEST6 if no format is assigned to a numeric column.  \\nRestriction: Only the roles that appear in the TIP= option are used.  \\nRequirement: A column must be assigned to each of the specified roles.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"TIPLABEL=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: TIPLABEL=(role-label-list)] \\n          \\nSpecifies display labels for tip columns.  This option provides a way to control the labels of columns \\nthat appear in data tips. \\n \\nrole-label-list \\n  a space-separated list of rolename =\\\"string\\\" pairs. \\n\\n  Example: TIP=(RESPONSE)\\n           TIPLABEL=(RESPONSE=\\\"Average Sales\\\")\\n \\nDefault: The column label or column name of the column assigned to the role.  \\n\\nRestriction: Only the roles that appear in the TIP= option are used.  \\n\\nRequirement: A column must be assigned to each of the specified roles.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"URL=\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: URL=string-column \\n\\nSpecifies an HTML page to display when a pie slice is selected. \\n\\nstring-column \\n  specifies a column that contains a valid HTML page reference (HREF) for each pie slice that is to have an active link. \\n\\n  Example http://www.sas.com/technologies/analytics/index.html \\n\\nRequirement: To generate a plot with selectable pie slices, you must include an ODS GRAPHICS ON statement \\n  that has the IMAGEMAP option specified, and you must write the output to the ODS HTML destination.  \\n  \\nInteraction: This option has no effect when TIP=NONE. \\nTips: The URL value can be blank for some pie slices, meaning that no action is taken when the corresponding \\nslice is selected.  \\n\\nThe URL value can be the same for any CATEGORY and RESPONSE pairs. In that case, the same action is taken \\nwhen the pie slices for those pairs are selected.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"RESPONSE=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: RESPONSE=numeric-column | expression\\n\\nSpecifies response values that are read from a numeric column or an expression.\"},\"StatementOptionType\":\"V\"}]}},{\"StatementName\":\"ENDGRAPH\",\"StatementHelp\":{\"#cdata\":\"Syntax: ENDGRAPH;\\n      \\nMarks the end of the outermost container for a single GTL-layout-block and one or more \\nGTL-global-statements.\"},\"StatementOptions\":null},{\"StatementName\":\"ENDLAYOUT\",\"StatementHelp\":{\"#cdata\":\"Syntax: ENDLAYOUT;\\n      \\nMarks the end of a GTL-layout-block.\"},\"StatementOptions\":null},{\"StatementName\":\"CONTINUOUSLEGEND\",\"StatementHelp\":{\"#cdata\":\"Syntax: CONTINUOUSLEGEND \\\"graph-name\\\" </ option(s)> ; \\n      \\nCreates a legend with a color ramp corresponding to a range of values.\"},\"StatementOptions\":{\"StatementOption\":[{\"StatementOptionName\":\"AUTOALIGN=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies whether the legend is automatically aligned within its parent when nested within an \\noverlay-type layout. \\n\\nInteraction: This option has no effect unless LOCATION=INSIDE.\\n\\nInteraction: If LOCATION=INSIDE, this option overrides HALIGN= and VALIGN=.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"AUTO\",\"@Value2\":\"NONE\",\"@Value3\":\"<(location-list)>\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Available only if the parent layout contains a scatter plot; ignored otherwise. Within the parent layout,  attempt to center the legend in the area that is farthest from any surrounding data point markers.\",\"@ToolTip2\":\"Do not automatically align the legend within its parent layout. The legend's position within its parent  layout will be set by the HALIGN= and VALIGN= options.\",\"@ToolTip3\":\"Within the parent layout, restrict the legend's possible locations to those locations in the specified  location-list, and use the location-list position that least collides with the parent layout's other  grahpics features. The location-list is blank-separated and can contain any of these locations: TOPLEFT,  TOP, TOPRIGHT, LEFT, CENTER, RIGHT, BOTTOMLEFT, BOTTOM, and BOTTOMRIGHT.\"}},{\"StatementOptionName\":\"BACKGROUNDCOLOR=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: BACKGROUNDCOLOR=style-reference | color] \\n          \\nSpecifies the color of the legend background. \\n\\nstyle-element \\nA reference in the form style-element:style-attribute . Only the style-attribute named COLOR is used. \\n\\nInteraction: OPAQUE=TRUE must be in effect for the color to be seen. By default, OPAQUE=FALSE.\"},\"StatementOptionType\":\"C\"},{\"StatementOptionName\":\"BORDER=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies whether a border is displayed around the legend. \\n          \\nDefault: FALSE\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"TRUE\",\"@Value2\":\"FALSE\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"A border is displayed around the legend.\",\"@ToolTip2\":\"A border is not displayed around the legend.\"}},{\"StatementOptionName\":\"BORDERATTRS=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: BORDERATTRS=style-element | style-element (line-options) | (line-options)] \\n          \\nSpecifies the attributes of the border line around the legend.\\n\\nstyle-element \\n    Name of a style element. Only style attributes relevant for rendering the fill, line, data marker, or text will be used.\\n\\nstyle-element (line-options) \\n    Name of a style element, plus individual options to be used as style overrides. Any options not specified are derived\\n    from the specified style-element.\\n\\n(line-options) \\n    COLOR=style-reference | color \\n    specifies the line color. If you use a style-reference, the style-attribute should be a valid attribute such as COLOR,\\n    CONTRASTCOLOR, STARTCOLOR, NEUTRAL, ENDCOLOR. The convention is to use CONTRASTCOLOR for lines.\\n    \\n    PATTERN=style-reference | line-pattern-name | line-pattern-number \\n    specifies the line pattern. If you use a style-reference, the style-attribute should be LINESTYLE. \\n    Line patterns can be specified as a pattern name or pattern number (1 = Solid, 2-42 Dash/Dot).\\n\\n    THICKNESS=style-reference | dimension \\n    specifies the line thickness. If you use a style-reference, the style-attribute should be LINETHICKNESS. \\n    \\nDefault: The GraphBorderLines style element.\\n\\nInteraction: BORDER=TRUE must be set for this option to have any effect.\"},\"StatementOptionType\":\"V\",\"SubOptionsKeywords\":\"COLOR=|PATTERN=|THICKNESS=\"},{\"StatementOptionName\":\"HALIGN=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies the horizontal alignment of the legend within its parent when nested within an overlay-type \\nlayout. \\n\\nDefault: RIGHT if LOCATION=OUTSIDE\\nCENTER if LOCATION=INSIDE\\n\\nRestriction: If LOCATION=OUTSIDE, the HALIGN= and VALIGN= options cannot both be set to CENTER.\\n\\nRestriction: This option is only available when this statement is nested within an overlay-type \\nlayout. It is ignored if the parent layout is not an overlay-type layout.\\n\\nInteraction: If LOCATION=INSIDE and the AUTOALIGN= option is enabled, this option is ignored.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"CENTER\",\"@Value2\":\"LEFT\",\"@Value3\":\"RIGHT\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Specifies a centered horizontal alignment.\",\"@ToolTip2\":\"Specifies a left-aligned horizontal alignment.\",\"@ToolTip3\":\"Specifies a right-aligned horizontal alignment.\"}},{\"StatementOptionName\":\"LOCATION=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies whether the legend appears inside or outside the plot area.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"INSIDE\",\"@Value2\":\"OUTSIDE\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Specifies that the legend appears inside the plot area.\",\"@ToolTip2\":\"Specifies that the legend appears outside the plot area.\"}},{\"StatementOptionName\":\"OPAQUE=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies whether the legend background is opaque (TRUE) or transparent (FALSE). \\n          \\nDefault: FALSE\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"FALSE\",\"@Value2\":\"TRUE\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Specifies that the legend background is transparent.\",\"@ToolTip2\":\"Specifies that the legend background is opaque.\"}},{\"StatementOptionName\":\"ORIENT=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies the orientation of the legend.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"VERTICAL\",\"@Value2\":\"HORIZONTAL\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Specifies a vertical orientation for the legend.\",\"@ToolTip2\":\"Specifies a horizontal orientation for the legend.\"}},{\"StatementOptionName\":\"PAD=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: PAD=dimension | (pad-options)] \\n          \\nSpecifies the amount of extra space that is reserved inside the legend perimeter. \\n\\nDefault: The default padding for all sides is 0. Values without units are in pixels (px). \\nA unit must be provided if other than pixels.\\n\\ndimension \\nSpecifies a dimension to use for the extra space at the left, right, top, and bottom of the legend perimeter. \\n\\n(pad-options) \\nEnables separate settings for the left, right, top, and bottom padding dimensions. Use the pad-options \\nto create non-uniform padding. These options must be enclosed in parentheses. Each option is specified \\nas a name = value pair. Sides not assigned padding are padded with the default amount. \\nValues without units are in pixels (px). A unit must be provided if other than pixels.\\n\\n  LEFT=dimension \\n  specifies the amount of extra space added to the left side. \\n  \\n  RIGHT=dimension \\n  specifies the amount of extra space added to the right side. \\n  \\n  TOP=dimension \\n  specifies the amount of extra space added to the top. \\n  \\n  BOTTOM=dimension \\n  specifies the amount of extra space added to the bottom\"},\"StatementOptionType\":\"V\",\"SubOptionsKeywords\":\"BOTTOM=|TOP=|RIGHT=|LEFT=\"},{\"StatementOptionName\":\"TITLE=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: TITLE=\\\"string\\\"] \\n          \\nSpecifies the title of the legend. \\nDefault: no default\\n\\nRequirement: string must be enclosed in quotation marks.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"TITLEATTRS=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: style-element | style-element (text-options) | (text-options)] \\n          \\nSpecifies the color and font attributes of the legend title. See \\\"General Syntax for Attribute Options\\\" \\nfor the syntax on using a style-element and \\\"Text Options\\\" for available text-options . \\nDefault: The GraphLabelText style element.\\n\\nInteraction: For this option to have any effect, the TITLE= option must also be specified. \\n\\nstyle-element \\n    Name of a style element. Only style attributes relevant for rendering the fill, line, data marker, or text will be used.\\n\\nstyle-element (text-options) \\n    Name of a style element, plus individual options to be used as style overrides. Any options not specified are derived\\n    from the specified style-element.\\n\\n(text-options) \\nCOLOR=style-reference | color \\n    specifies the color of the text. If you use a style-reference, the style-attribute should be a valid\\n    attribute such as COLOR, CONTRASTCOLOR, STARTCOLOR, NEUTRAL, ENDCOLOR. The convention is to use COLOR for text.\\n\\nFAMILY =style-reference | \\\"string\\\" \\n    specifies the font family of the text. If you use a style-reference, the style-attribute should be FONTFAMILY.\\n\\nSIZE=style-reference | dimension \\n    specifies the font size of the text. If you use a style-reference, the style-attribute should be FONTSIZE. \\n\\nSTYLE=style-reference | NORMAL | ITALIC \\n    specifies the font style of the text. If you use a style-reference, the style-attribute should be FONTSTYLE. \\n\\nWEIGHT=style-reference | NORMAL | BOLD \\n    specifies the font weight of the text. If you use a style-reference, the style-attribute should be FONTWEIGHT.\"},\"StatementOptionType\":\"V\",\"SubOptionsKeywords\":\"COLOR=|FAMILY=|SIZE=|STYLE=|WEIGHT=\"},{\"StatementOptionName\":\"VALIGN=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies the vertical alignment of the legend within its parent when nested within an overlay-type \\nlayout. \\n\\nDefault: CENTER\\n\\nRestriction: If LOCATION=OUTSIDE, the VALIGN= and HALIGN= options cannot both be set to CENTER.\\n\\nRestriction: This option is only available when this statement is nested within an overlay-type layout. \\nIt is ignored if the parent layout is not an overlay-type layout.\\n\\nInteraction: If LOCATION=INSIDE and the AUTOALIGN= option is enabled, this option is ignored.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"CENTER\",\"@Value2\":\"TOP\",\"@Value3\":\"BOTTOM\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Specifies a centered vertical alignment.\",\"@ToolTip2\":\"Specifies a top-aligned vertical alignment.\",\"@ToolTip3\":\"Specifies a bottom-aligned vertical alignment.\"}},{\"StatementOptionName\":\"VALUEATTRS=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: VALUEATTRS=style-element | style-element (text-options) | (text-options)] \\n          \\nSpecifies the color and font attributes of the legend values. \\n\\nDefault: The GraphValueText style element.\\n\\nstyle-element \\n    Name of a style element. Only style attributes relevant for rendering the fill, line, data marker, or text will be used.\\n\\nstyle-element (text-options) \\n    Name of a style element, plus individual options to be used as style overrides. Any options not specified are derived\\n    from the specified style-element.\\n\\n(text-options) \\nCOLOR=style-reference | color \\n    specifies the color of the text. If you use a style-reference, the style-attribute should be a valid\\n    attribute such as COLOR, CONTRASTCOLOR, STARTCOLOR, NEUTRAL, ENDCOLOR. The convention is to use COLOR for text.\\n\\nFAMILY =style-reference | \\\"string\\\" \\n    specifies the font family of the text. If you use a style-reference, the style-attribute should be FONTFAMILY.\\n\\nSIZE=style-reference | dimension \\n    specifies the font size of the text. If you use a style-reference, the style-attribute should be FONTSIZE. \\n\\nSTYLE=style-reference | NORMAL | ITALIC \\n    specifies the font style of the text. If you use a style-reference, the style-attribute should be FONTSTYLE. \\n\\nWEIGHT=style-reference | NORMAL | BOLD \\n    specifies the font weight of the text. If you use a style-reference, the style-attribute should be FONTWEIGHT.\"},\"StatementOptionType\":\"V\",\"SubOptionsKeywords\":\"COLOR=|FAMILY=|SIZE=|STYLE=|WEIGHT=\"},{\"StatementOptionName\":\"VALUECOUNT=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: VALUECOUNT=positive-integer] \\n          \\nSpecifies the number of values that the continuous legend must use to label the data range. \\nDefault: The VALUECOUNTHINT= setting is used.\\n\\nRestriction: The associated plot must be displayed with smooth gradient for this option to have any \\neffect. For example, in a contour plot, CONTOURTYPE must be set to GRADIENT or LINEGRADIENT.\\n\\nTip: The legend uses even intervals to label the range.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"VALUECOUNTHINT=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: VALUECOUNTHINT=positive-integer] \\n          \\nRecommends a number of values for the continuous legend to use to label the data range. \\n\\nDefault: 6\\n\\nRestriction: The associated plot must be displayed with smooth gradient for this option to have any \\neffect. For example, in a contour plot, CONTOURTYPE must be set to GRADIENT or LINEGRADIENT.\\n\\nTip: The legend uses even intervals to label the range.\"},\"StatementOptionType\":\"V\"}]}},{\"StatementName\":\"DISCRETELEGEND\",\"StatementHelp\":{\"#cdata\":\"Syntax: DISCRETELEGEND \\\"graph-name\\\" <... \\\"graph-name-n\\\" > </ option(s)> ; \\n      \\nCreates a legend with entries that refer to plots and/or group values.\"},\"StatementOptions\":{\"StatementOption\":[{\"StatementOptionName\":\"ACROSS=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: ACROSS=positive-integer] \\n          \\nSpecifies the number of legend entries that are placed horizontally before the next row begins. \\n\\nDefault: The entries are placed to best fit the available area. This \\\"best fit\\\" approach only works \\nwhen the legend is nested in the template's outermost layout.\\n\\nRestriction: This option is ignored if ORDER=COLUMNMAJOR\\n\\nTip: A legend entry typically consists of two parts, such as a marker symbol and an associated value.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"AUTOALIGN=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies whether the legend is automatically aligned within its parent when nested within an \\noverlay-type layout. \\n\\nInteraction: This option has no effect unless LOCATION=INSIDE.\\n\\nInteraction: If LOCATION=INSIDE, this option overrides HALIGN= and VALIGN=.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"AUTO\",\"@Value2\":\"NONE\",\"@Value3\":\"<(location-list)>\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Available only if the parent layout contains a scatter plot; ignored otherwise. Within the parent layout,  attempt to center the legend in the area that is farthest from any surrounding data point markers.\",\"@ToolTip2\":\"Do not automatically align the legend within its parent layout. The legend's position within its parent  layout will be set by the HALIGN= and VALIGN= options.\",\"@ToolTip3\":\"Within the parent layout, restrict the legend's possible locations to those locations in the specified  location-list, and use the location-list position that least collides with the parent layout's other  grahpics features. The location-list is blank-separated and can contain any of these locations: TOPLEFT,  TOP, TOPRIGHT, LEFT, CENTER, RIGHT, BOTTOMLEFT, BOTTOM, and BOTTOMRIGHT.\"}},{\"StatementOptionName\":\"BACKGROUNDCOLOR=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: BACKGROUNDCOLOR=style-reference | color] \\n          \\nSpecifies the color of the legend background. \\n\\nstyle-element \\nA reference of the form style-element:style-attribute. Only the style-attribute named COLOR is used. \\n\\nInteraction: OPAQUE=TRUE must be in effect for the color to be seen. By default, OPAQUE=FALSE.\"},\"StatementOptionType\":\"C\"},{\"StatementOptionName\":\"BORDER=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies whether a border is displayed around the entry. \\n          \\nDefault: FALSE\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"TRUE\",\"@Value2\":\"FALSE\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"A border is displayed around the entry.\",\"@ToolTip2\":\"A border is not displayed around the entry.\"}},{\"StatementOptionName\":\"BORDERATTRS=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: BORDERATTRS=style-element | style-element (line-options) | (line-options)] \\n          \\nSpecifies the attributes of the border line around the text.\\n\\nstyle-element \\n    Name of a style element. Only style attributes relevant for rendering the fill, line, data marker, or text will be used.\\n\\nstyle-element (line-options) \\n    Name of a style element, plus individual options to be used as style overrides. Any options not specified are derived\\n    from the specified style-element.\\n\\n(line-options) \\n    COLOR=style-reference | color \\n    specifies the line color. If you use a style-reference, the style-attribute should be a valid attribute such as COLOR,\\n    CONTRASTCOLOR, STARTCOLOR, NEUTRAL, ENDCOLOR. The convention is to use CONTRASTCOLOR for lines.\\n    \\n    PATTERN=style-reference | line-pattern-name | line-pattern-number \\n    specifies the line pattern. If you use a style-reference, the style-attribute should be LINESTYLE. \\n    Line patterns can be specified as a pattern name or pattern number (1 = Solid, 2-42 Dash/Dot).\\n\\n    THICKNESS=style-reference | dimension \\n    specifies the line thickness. If you use a style-reference, the style-attribute should be LINETHICKNESS. \\n    \\nDefault: The GraphBorderLines style element.\\n\\nInteraction: BORDER=TRUE must be set for this option to have any effect.\"},\"StatementOptionType\":\"V\",\"SubOptionsKeywords\":\"COLOR=|PATTERN=|THICKNESS=\"},{\"StatementOptionName\":\"DISPLAYCLIPPED=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies whether the legend is displayed when any portion of the legend is not entirely rendered. \\n\\nDefault: FALSE\\n\\nTip: When the graph size is reduced, parts of the legend (title, legend symbol, or legend value) may \\nbe clipped (truncated). When clipping does take place and when DISPLAYCLIPPED is FALSE, the entire \\nlegend is removed from the graph and the space for it is reclaimed by the remainder of the graph. \\nWhen DISPLAYCLIPPED is TRUE, the legend always appears, even if some parts of have been clipped.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"FALSE\",\"@Value2\":\"TRUE\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Specifies that the legend is not displayed when any portion of the legend is not entirely rendered.\",\"@ToolTip2\":\"The legend always appears, even if some parts of have been clipped.\"}},{\"StatementOptionName\":\"DOWN=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: DOWN=positive-integer] \\n          \\nSpecifies the number of legend entries that are placed vertically before the next column begins. \\n\\nDefault: The entries are placed to best fit the available area. This \\\"best fit\\\" approach only works \\nwhen the legend is nested in the template's outermost layout.\\n\\nRestriction: This option is ignored if ORDER=ROWMAJOR\\n\\nTip: A legend entry typically consists of two parts, such as a marker symbol and an associated value.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"HALIGN=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies the horizontal alignment of the legend within its parent when nested within an overlay-type \\nlayout. \\n\\nDefault: RIGHT if LOCATION=OUTSIDE\\nCENTER if LOCATION=INSIDE\\n\\nRestriction: If LOCATION=OUTSIDE, the HALIGN= and VALIGN= options cannot both be set to CENTER.\\n\\nRestriction: This option is only available when this statement is nested within an overlay-type \\nlayout. It is ignored if the parent layout is not an overlay-type layout.\\n\\nInteraction: If LOCATION=INSIDE and the AUTOALIGN= option is enabled, this option is ignored.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"CENTER\",\"@Value2\":\"LEFT\",\"@Value3\":\"RIGHT\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Specifies a centered horizontal alignment.\",\"@ToolTip2\":\"Specifies a left-aligned horizontal alignment.\",\"@ToolTip3\":\"Specifies a right-aligned horizontal alignment.\"}},{\"StatementOptionName\":\"LOCATION=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies whether the legend appears inside or outside the plot area. \\n\\nDefault: OUTSIDE\\n\\nRestriction: This option has effect only when the DISCRETELEGEND statement appears within an \\noverlay-type layout and there is at least one stand-alone plot statement with XY axes that is \\nreferenced by the legend. \\n\\nInteraction: The actual position is determined by the settings for the LOCATION=, AUTOALIGN=, \\nHALIGN=, and VALIGN= options.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"INSIDE\",\"@Value2\":\"OUTSIDE\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Specifies that the legend appears inside the plot area.\",\"@ToolTip2\":\"Specifies that the legend appears outside the plot area.\"}},{\"StatementOptionName\":\"OPAQUE=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies whether the legend background is opaque (TRUE) or transparent (FALSE). \\n          \\nDefault: FALSE\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"FALSE\",\"@Value2\":\"TRUE\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Specifies that the legend background is transparent.\",\"@ToolTip2\":\"Specifies that the legend background is opaque.\"}},{\"StatementOptionName\":\"ORDER=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies whether legend entries are added as rows or as columns. \\n\\nDefault: ROWMAJOR\\n\\nInteraction: If ORDER=ROWMAJOR, use the ACROSS= option to limit the number of entries in a row. \\nIf ORDER=COLUMNMAJOR, use the DOWN= option to limit the number of entries in a column.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"ROWMAJOR\",\"@Value2\":\"COLUMNMAJOR\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Fills all the columns in a row, from left to right, before going to the next row.\",\"@ToolTip2\":\"Fills all the rows in a column, from top to bottom, before going to the next column.\"}},{\"StatementOptionName\":\"PAD=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: PAD=dimension | (pad-options)] \\n          \\nSpecifies the amount of extra space that is reserved inside the legend perimeter. \\n\\nDefault: The default padding for all sides is 0. Values without units are in pixels (px). \\nA unit must be provided if other than pixels.\\n\\ndimension \\nSpecifies a dimension to use for the extra space at the left, right, top, and bottom of the legend perimeter. \\n\\n(pad-options) \\nEnables separate settings for the left, right, top, and bottom padding dimensions. Use the pad-options \\nto create non-uniform padding. These options must be enclosed in parentheses. Each option is specified \\nas a name = value pair. Sides not assigned padding are padded with the default amount. \\nValues without units are in pixels (px). A unit must be provided if other than pixels.\\n\\n  LEFT=dimension \\n  specifies the amount of extra space added to the left side. \\n  \\n  RIGHT=dimension \\n  specifies the amount of extra space added to the right side. \\n  \\n  TOP=dimension \\n  specifies the amount of extra space added to the top. \\n  \\n  BOTTOM=dimension \\n  specifies the amount of extra space added to the bottom\"},\"StatementOptionType\":\"V\",\"SubOptionsKeywords\":\"BOTTOM=|TOP=|RIGHT=|LEFT=\"},{\"StatementOptionName\":\"TITLE=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: TITLE=\\\"string\\\"] \\n          \\nSpecifies the title of the legend. \\nDefault: no default\\n\\nRequirement: string must be enclosed in quotation marks.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"TITLEATTRS=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: style-element | style-element (text-options) | (text-options)] \\n          \\nSpecifies the color and font attributes of the legend title. See \\\"General Syntax for Attribute Options\\\" \\nfor the syntax on using a style-element and \\\"Text Options\\\" for available text-options . \\nDefault: The GraphLabelText style element.\\n\\nInteraction: For this option to have any effect, the TITLE= option must also be specified. \\n\\nstyle-element \\n    Name of a style element. Only style attributes relevant for rendering the fill, line, data marker, or text will be used.\\n\\nstyle-element (text-options) \\n    Name of a style element, plus individual options to be used as style overrides. Any options not specified are derived\\n    from the specified style-element.\\n\\n(text-options) \\nCOLOR=style-reference | color \\n    specifies the color of the text. If you use a style-reference, the style-attribute should be a valid\\n    attribute such as COLOR, CONTRASTCOLOR, STARTCOLOR, NEUTRAL, ENDCOLOR. The convention is to use COLOR for text.\\n\\nFAMILY =style-reference | \\\"string\\\" \\n    specifies the font family of the text. If you use a style-reference, the style-attribute should be FONTFAMILY.\\n\\nSIZE=style-reference | dimension \\n    specifies the font size of the text. If you use a style-reference, the style-attribute should be FONTSIZE. \\n\\nSTYLE=style-reference | NORMAL | ITALIC \\n    specifies the font style of the text. If you use a style-reference, the style-attribute should be FONTSTYLE. \\n\\nWEIGHT=style-reference | NORMAL | BOLD \\n    specifies the font weight of the text. If you use a style-reference, the style-attribute should be FONTWEIGHT.\"},\"StatementOptionType\":\"V\",\"SubOptionsKeywords\":\"COLOR=|FAMILY=|SIZE=|STYLE=|WEIGHT=\"},{\"StatementOptionName\":\"TITLEBORDER=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies a border around the legend title that separates it from the legend body. \\n\\nDefault: FALSE\\n\\nInteraction: For this option to have any effect, the TITLE= option must also be specified.\\n\\nTip: The line attributes of the title border are set by the BORDERATTRS= options.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"FALSE\",\"@Value2\":\"TRUE\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Specifies no border around the legend title.\",\"@ToolTip2\":\"Specifies a border around the legend title that separates it from the legend body.\"}},{\"StatementOptionName\":\"VALIGN=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies the vertical alignment of the legend within its parent when nested within an overlay-type \\nlayout. \\n\\nDefault: CENTER\\n\\nRestriction: If LOCATION=OUTSIDE, the VALIGN= and HALIGN= options cannot both be set to CENTER.\\n\\nRestriction: This option is only available when this statement is nested within an overlay-type layout. \\nIt is ignored if the parent layout is not an overlay-type layout.\\n\\nInteraction: If LOCATION=INSIDE and the AUTOALIGN= option is enabled, this option is ignored.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"CENTER\",\"@Value2\":\"TOP\",\"@Value3\":\"BOTTOM\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Specifies a centered vertical alignment.\",\"@ToolTip2\":\"Specifies a top-aligned vertical alignment.\",\"@ToolTip3\":\"Specifies a bottom-aligned vertical alignment.\"}},{\"StatementOptionName\":\"VALUEATTRS=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: VALUEATTRS=style-element | style-element (text-options) | (text-options)] \\n          \\nSpecifies the color and font attributes of the legend values. \\n\\nDefault: The GraphValueText style element.\\n\\nstyle-element \\n    Name of a style element. Only style attributes relevant for rendering the fill, line, data marker, or text will be used.\\n\\nstyle-element (text-options) \\n    Name of a style element, plus individual options to be used as style overrides. Any options not specified are derived\\n    from the specified style-element.\\n\\n(text-options) \\nCOLOR=style-reference | color \\n    specifies the color of the text. If you use a style-reference, the style-attribute should be a valid\\n    attribute such as COLOR, CONTRASTCOLOR, STARTCOLOR, NEUTRAL, ENDCOLOR. The convention is to use COLOR for text.\\n\\nFAMILY =style-reference | \\\"string\\\" \\n    specifies the font family of the text. If you use a style-reference, the style-attribute should be FONTFAMILY.\\n\\nSIZE=style-reference | dimension \\n    specifies the font size of the text. If you use a style-reference, the style-attribute should be FONTSIZE. \\n\\nSTYLE=style-reference | NORMAL | ITALIC \\n    specifies the font style of the text. If you use a style-reference, the style-attribute should be FONTSTYLE. \\n\\nWEIGHT=style-reference | NORMAL | BOLD \\n    specifies the font weight of the text. If you use a style-reference, the style-attribute should be FONTWEIGHT.\"},\"StatementOptionType\":\"V\",\"SubOptionsKeywords\":\"COLOR=|FAMILY=|SIZE=|STYLE=|WEIGHT=\"}]}},{\"StatementName\":\"DISCRETEATTRMAP\",\"StatementHelp\":{\"#cdata\":\"Syntax: DISCRETEATTRMAP NAME=\\\"string\\\" </option(s)>; \\n    VALUE value-spec </option(s)>; \\n    <... more VALUE statements ...>\\n  ENDDISCRETEATTRMAP;\\n  \\nDefines a set of graphical properties that can be associated with user-defined sets of values.\"},\"StatementOptions\":{\"StatementOption\":[{\"StatementOptionName\":\"NAME=\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: NAME=\\\"string\\\" \\n          \\nAssigns a name to the attribute definition.\"},\"StatementOptionType\":\"RV\"},{\"StatementOptionName\":\"DISCRETELEGENDENTRYPOLICY=\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: DISCRETELEGENDENTRYPOLICY=DATA | ATTRMAP\\n\\nSpecifies whether the items that are contributed to a discrete legend by the plot associated \\nwith this attribute map are only items that appear in the data or only items that are defined \\nin the attribute map.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"DATA\",\"@Value2\":\"ATTRMAP\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"The associated plot contributes to a discrete legend only items that appear in the data.\",\"@ToolTip2\":\"the associated plot contributes to a discrete legend only items that are defined in the discrete attribute map.\"}},{\"StatementOptionName\":\"IGNORECASE=\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: IGNORECASE=TRUE | FALSE\\n          \\nSpecifies whether case is ignored when comparing the values that are specified in the attribute map \\nwith values from an input data column.\\n\\nDefault: FALSE. Value comparisons are case-sensitive.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"TRUE\",\"@Value2\":\"FALSE\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Specifies that case is ignored when comparing the values that are specified in the attribute map with values from an input data column.\",\"@ToolTip2\":\"Specifies that case is not ignored when comparing the values that are specified in the attribute map with values from an input data column.\"}},{\"StatementOptionName\":\"TRIMLEADING=\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: TRIMLEADING=TRUE | FALSE\\n          \\nSpecifies whether leading blanks are trimmed (removed) from both the attribute map values and the \\ninput data values before those values are compared. Trailing blanks are always trimmed.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"TRUE\",\"@Value2\":\"FALSE\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Specifies that leading blanks are trimmed (removed).\",\"@ToolTip2\":\"Specifies that leading blanks are not trimmed (not removed).\"}}]}},{\"StatementName\":\"ENDDISCRETEATTRMAP\",\"StatementHelp\":{\"#cdata\":\"Syntax: ENDDISCRETEATTRMAP;\\n      \\nEnds a DISCRETEATTRMAP block.\"},\"StatementOptions\":null},{\"StatementName\":\"VALUE\",\"StatementHelp\":{\"#cdata\":\"Syntax: VALUE value-spec </option(s)>; \\n      \\nA VALUE statement within the DISCRETEATTRMAP block associates graphical properties with a discrete \\nvalue in the attribute map.\"},\"StatementOptions\":{\"StatementOption\":[{\"StatementOptionName\":\"FILLATTRS=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: FILLATTRS=style-element | style-element (fill-options) | (fill-options)] \\n\\nThe fill attributes to be used when an attribute map is applied to filled areas in a graph. \\n\\nUse one or more of the following options to specify fill-color attributes. The options must be enclosed \\nin parentheses and specified as a space-delimited list of name = value pairs. \\n\\n  COLOR=style-reference | color \\n  specifies the fill color. Style-reference must specify a valid style attribute such as COLOR, \\n  CONTRASTCOLOR, STARTCOLOR, NEUTRAL, or ENDCOLOR in the form style-element-name:attribute-name. \\n  If style-reference is not defined in the active ODS style, the COLOR= option is ignored and the \\n  default color is used. Color must be a valid color name, such as RED, or a color code, such as \\n  CXFF0000 or #FF0000. The color name must not exceed 64 characters. A color code must be a valid \\n  code for a SAS color-naming scheme, such as RGB, CMYK, HLS, or HSV (HSB). \\n\\n  TRANSPARENCY=number\\n  specifies the degree of the transparency of the filled area.\"},\"StatementOptionType\":\"V\",\"SubOptionsKeywords\":\"COLOR=|TRANSPARENCY=\"},{\"StatementOptionName\":\"LINEATTRS=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: LINEATTRS=style-element | style-element (line-options) | (line-options)] \\n          \\nSpecifies the line attributes to be used when an attribute map is applied to lines in a graph.\\n\\nUse one or more of the following options to specify line attributes. The options must be enclosed \\nin parentheses and specified as a space-delimited list of name = value pairs. \\n\\n  COLOR=style-reference | color \\n  specifies the line color. Style-reference must specify a valid style attribute such as COLOR, \\n  CONTRASTCOLOR, STARTCOLOR, NEUTRAL, or ENDCOLOR in the form style-element-name:attribute-name. \\n  If style-reference is not defined in the active ODS style, the COLOR= option is ignored and the \\n  default color is used. Color must be a valid color name, such as RED, or a color code, such as \\n  CXFF0000 or #FF0000. The color name must not exceed 64 characters. A color code must be a valid \\n  code for a SAS color-naming scheme, such as RGB, CMYK, HLS, or HSV (HSB). \\n\\n  PATTERN=style-reference | line-pattern-name | line-pattern-number \\n  specifies the line pattern. Style-reference must specify a LINESTYLE attribute in the form \\n  style-element-name:LINESTYLE. Line patterns can be specified as a pattern name or pattern number. \\n  Some valid pattern numbers: 1 (Solid), 2 (ShortDash), 4 (MediumDash), 5 (LongDash) 8 (MediumDashShortDash) \\n  14 (DashDashDot) 15 (DashDotDot) 20 (Dash) 26 (LongDashShortDash) 34 (Dot) 35 (ThinDot) 41 (ShortDashDot) \\n  42 (MediumDashDotDot). Not all pattern numbers have names.\\n\\n  THICKNESS=style-reference | dimension \\n  specifies the line thickness. Style-reference must specify a LINETHICKNESS attribute in the form \\n  style-element-name:LINETHICKNESS.\"},\"StatementOptionType\":\"V\",\"SubOptionsKeywords\":\"COLOR=|PATTERN=|THICKNESS=\"},{\"StatementOptionName\":\"MARKERATTRS=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: MARKERATTRS=style-element | style-element (marker-options) | (marker-options) \\n\\nSpecifies the marker attributes to be used when an attribute map is applied to marker symbols in a graph. \\n\\nUse one or more of the following options to specify marker-options. You must enclose the options \\nin parentheses and specify the options as a space-delimited list of name = value pairs.\\n\\n  COLOR=style-reference | color \\n  specifies the line color. Style-reference must specify a valid style attribute such as COLOR, \\n  CONTRASTCOLOR, STARTCOLOR, NEUTRAL, or ENDCOLOR in the form style-element-name:attribute-name. \\n  If style-reference is not defined in the active ODS style, the COLOR= option is ignored and the \\n  default color is used. Color must be a valid color name, such as RED, or a color code, such as \\n  CXFF0000 or #FF0000. The color name must not exceed 64 characters. A color code must be a valid \\n  code for a SAS color-naming scheme, such as RGB, CMYK, HLS, or HSV (HSB). \\n\\n  SIZE=style-reference | dimension \\n  specifies the marker size (both width and height). Style-reference must specify a MARKERSIZE \\n  attribute in the form style-element-name:MARKERSIZE. \\n\\n  SYMBOL=style-reference | marker-name \\n  specifies the name of the marker. If you use a style-reference, the style-attribute should be MARKERSYMBOL.\\n\\n  TRANSPARENCY=number\\n  specifies the degree of transparency for the plot markers. Range: 0\\u20131, where 0 is opaque and 1 is entirely transparent\\n  WEIGHT=NORMAL | BOLD \\n  specifies the marker weight.\"},\"StatementOptionType\":\"V\",\"SubOptionsKeywords\":\"COLOR=|SIZE=|SYMBOL=|TRANSPARENCY=|WEIGHT=\"},{\"StatementOptionName\":\"TEXTATTRS=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: TEXTATTRS=style-element | style-element (text-options) | (text-options)] \\n          \\nSpecifies the text attributes to use when an attribute map is applied to text in a graph. \\n\\n(text-options) \\nCOLOR=style-reference | color \\n    specifies the color of the text. Style-reference must specify a valid style attribute such as COLOR, \\n    CONTRASTCOLOR, STARTCOLOR, NEUTRAL, or ENDCOLOR in the form style-element-name:attribute-name. \\n    If style-reference is not defined in the active ODS style, the COLOR= option is ignored and the \\n    default color is used. Color must be a valid color name, such as RED, or a color code, such as \\n    CXFF0000 or #FF0000. The color name must not exceed 64 characters. A color code must be a valid \\n    code for a SAS color-naming scheme, such as RGB, CMYK, HLS, or HSV (HSB).\\nFAMILY =style-reference | \\\"string\\\" \\n    specifies the font family of the text. IStyle-reference must specify a FONTFAMILY attribute in the form \\n    style-element-name:FONTFAMILY.\\n\\nSIZE=style-reference | dimension \\n    specifies the font size of the text. Style-reference must specify a FONTSIZE attribute in the form \\n    style-element-name:FONTSIZE. \\n\\nSTYLE=style-reference | NORMAL | ITALIC \\n    specifies the font style of the text. Style-reference must specify a FONTSTYLE attribute in the form \\n    style-element-name:FONTSTYLE.\\n\\nWEIGHT=style-reference | NORMAL | BOLD \\n    specifies the font weight of the text. Style-reference must specify a FONTWEIGHT attribute in the form \\n    style-element-name:FONTWEIGHT.\"},\"StatementOptionType\":\"V\",\"SubOptionsKeywords\":\"COLOR=|FAMILY=|SIZE=|STYLE=|WEIGHT=\"}]}},{\"StatementName\":\"DISCRETEATTRVAR\",\"StatementHelp\":{\"#cdata\":\"Syntax: DISCRETEATTRVAR ATTRVAR=attrvar-name\\n  VAR=data-column | expression | dynamic \\n  ATTRMAP=\\\"attrmap-name\\\"; \\n  \\nCreates a named association between a user-defined discrete attribute map and an input data column.\"},\"StatementOptions\":{\"StatementOption\":[{\"StatementOptionName\":\"ATTRVAR=\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: ATTRVAR=attrvar-name\\n          \\nSpecifies a SAS name for this association between the attribute map and the input column. \\nThis name must be unique within the template and can be referenced by other statements that \\ncan be associated with the attribute map.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"VAR=\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: VAR=data-column | expression | dynamic\\n          \\nSpecifies an input data column to be associated with an attribute map at run time. If an expression \\nis used, a new column of transformed values is created and then matched with the attribute map.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"ATTRMAP=\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: ATTRMAP=\\\"attrmap-name\\\"\\n          \\nSpecifies the name of an existing discrete attribute map.\"},\"StatementOptionType\":\"V\"}]}},{\"StatementName\":\"ENTRY\",\"StatementHelp\":{\"#cdata\":\"Syntax: ENTRY text-item <...<text-item> > </ option(s)> ; \\n\\nDisplays a line of text in the plot area.\"},\"StatementOptions\":{\"StatementOption\":[{\"StatementOptionName\":\"AUTOALIGN=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies whether the entry is automatically aligned within its parent when nested within an \\noverlay-type layout.  \\n\\nDefault: NONE\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"AUTO\",\"@Value2\":\"NONE\",\"@Value3\":\"<(location-list)>\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Available only if the parent layout contains a scatter plot; ignored otherwise. Within the parent layout,  attempt to center the entry in the area that is farthest from any surrounding data point markers.\",\"@ToolTip2\":\"Do not automatically align the entry within the area. Alignment is set with HALIGN= and VALIGN= options.\",\"@ToolTip3\":\"Within the available area, restrict the entry's possible locations to those locations in the  specified location-list, and use the location-list position that least collides with the other  grahpics features in the area. The location-list is blank-separated and can contain any of these  locations: TOPLEFT, TOP, TOPRIGHT, LEFT, CENTER, RIGHT, BOTTOMLEFT, BOTTOM, and BOTTOMRIGHT.  Example: (TOPRIGHT TOPLEFT)\"}},{\"StatementOptionName\":\"BACKGROUNDCOLOR=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: BACKGROUNDCOLOR=style-reference | color] \\n          \\nSpecifies the color of the entry background. \\n\\nstyle-element \\nA reference in the form style-element:style-attribute. Only the style-attribute named COLOR is used. \\n\\nInteraction: OPAQUE=TRUE must be in effect for the color to be seen. By default, OPAQUE=FALSE.\"},\"StatementOptionType\":\"C\"},{\"StatementOptionName\":\"BORDER=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies whether a border is displayed around the legend. \\n          \\nDefault: FALSE\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"TRUE\",\"@Value2\":\"FALSE\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"A border is displayed around the legend.\",\"@ToolTip2\":\"A border is not displayed around the legend.\"}},{\"StatementOptionName\":\"BORDERATTRS=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: BORDERATTRS=style-element | style-element (line-options) | (line-options)] \\n          \\nSpecifies the attributes of the border line around the text.\\n\\nstyle-element \\n    Name of a style element. Only style attributes relevant for rendering the fill, line, data marker, or text will be used.\\n\\nstyle-element (line-options) \\n    Name of a style element, plus individual options to be used as style overrides. Any options not specified are derived\\n    from the specified style-element.\\n\\n(line-options) \\n    COLOR=style-reference | color \\n    specifies the line color. If you use a style-reference, the style-attribute should be a valid attribute such as COLOR,\\n    CONTRASTCOLOR, STARTCOLOR, NEUTRAL, ENDCOLOR. The convention is to use CONTRASTCOLOR for lines.\\n    \\n    PATTERN=style-reference | line-pattern-name | line-pattern-number \\n    specifies the line pattern. If you use a style-reference, the style-attribute should be LINESTYLE. \\n    Line patterns can be specified as a pattern name or pattern number (1 = Solid, 2-42 Dash/Dot).\\n\\n    THICKNESS=style-reference | dimension \\n    specifies the line thickness. If you use a style-reference, the style-attribute should be LINETHICKNESS. \\n    \\nDefault: The GraphBorderLines style element.\\n\\nInteraction: BORDER=TRUE must be set for this option to have any effect.\"},\"StatementOptionType\":\"V\",\"SubOptionsKeywords\":\"COLOR=|PATTERN=|THICKNESS=\"},{\"StatementOptionName\":\"HALIGN=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies the horizontal alignment of the text-item.\\n\\nDefault: CENTER\\n\\nTip: Each text-item has a horizontal alignment, and text-items with the same alignment are always \\ngrouped together.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"CENTER\",\"@Value2\":\"LEFT\",\"@Value3\":\"RIGHT\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Specifies a centered horizontal alignment.\",\"@ToolTip2\":\"Specifies a left-aligned horizontal alignment.\",\"@ToolTip3\":\"Specifies a right-aligned horizontal alignment.\"}},{\"StatementOptionName\":\"OPAQUE=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies whether the entry background is opaque (TRUE) or transparent (FALSE). \\n          \\nDefault: FALSE \\n\\nInteraction: When this option is set to FALSE, the background color is not used.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"FALSE\",\"@Value2\":\"TRUE\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Specifies that the legend background is transparent.\",\"@ToolTip2\":\"Specifies that the legend background is opaque.\"}},{\"StatementOptionName\":\"PAD=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: PAD=dimension | (pad-options)] \\n          \\nSpecifies the amount of extra space that is reserved inside the entry border. \\n\\nDefault: (LEFT=3 RIGHT=3 TOP=0 BOTTOM=0)\\n\\ndimension \\nSpecifies a dimension to use for the extra space at the left, right, top, and bottom of the entry border. \\n\\n(pad-options) \\nEnables separate settings for the left, right, top, and bottom padding dimensions. Use the pad-options \\nto create non-uniform padding. These options must be enclosed in parentheses. Each option is specified \\nas a name = value pair. Sides not assigned padding are padded with the default amount. \\nValues without units are in pixels (px). A unit must be provided if other than pixels.\\n\\n  LEFT=dimension \\n  specifies the amount of extra space added to the left side. \\n  \\n  RIGHT=dimension \\n  specifies the amount of extra space added to the right side. \\n  \\n  TOP=dimension \\n  specifies the amount of extra space added to the top. \\n  \\n  BOTTOM=dimension \\n  specifies the amount of extra space added to the bottom\"},\"StatementOptionType\":\"V\",\"SubOptionsKeywords\":\"BOTTOM=|TOP=|RIGHT=|LEFT=\"},{\"StatementOptionName\":\"ROTATE=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies the angle of text rotation measured in degrees. The angle is measured from a horizontal \\nline passing through the middle of the bounding box of the text, counter-clockwise starting at \\nthe center of the bounding box. \\n\\nDefault: 0. No rotation is performed.\\n\\nRestriction: Only angles of 0, 90, 180, or 270 degrees are allowed.\\n\\nInteraction: The bounding box is the determined by the size of the text in the current font plus \\nany horizontal and vertical padding.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"0\",\"@Value2\":\"90\",\"@Value3\":\"180\",\"@Value4\":\"270\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"0 degress text rotation\",\"@ToolTip2\":\"90 degrees text rotation\",\"@ToolTip3\":\"180 degrees text rotation\",\"@ToolTip4\":\"270 degrees text rotation\"}},{\"StatementOptionName\":\"SUB\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: { SUB \\\"string\\\" | dynamic }] \\n          \\nText-command that specifies that the string or dynamic is to appear as subscript text. \\nDefault: no default\\n\\nExample: entry \\\"y = \\\" b{sub \\\"0\\\"} \\\" + b\\\" {sub \\\"1\\\"} \\\"x\\\";\"},\"StatementOptionType\":\"RS\"},{\"StatementOptionName\":\"SUP\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: { SUP \\\"string\\\" | dynamic }] \\n          \\nText-command that specifies that the string or dynamic is to appear as superscript text. \\nDefault: no default\\n\\nExample: entry \\\"R\\\" {sup \\\"2\\\"} \\\" = \\\" {format (6.4) RSQUARED} ;\"},\"StatementOptionType\":\"RS\"},{\"StatementOptionName\":\"TEXTATTRS=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: TEXTATTRS=style-element | style-element (text-options) | (text-options)] \\n          \\nAs a statement option, specifies the text properties of the entire entry text. As a prefix-option, \\nspecifies the text properties of individual text-items. \\n\\nDefault: The GraphValueText style element.\\nTip: This option can be used as both a prefix option and a statement option. When used as a prefix option, \\nit overrides the statement option.\\n\\nTip: When used as a prefix option, TEXTATTRS=( ) cancels the last used TEXTATTRS= prefix option and \\nresets all text options to those set by 1) the TEXTATTRS= statement option or 2) the default style \\nelement for the statement (GraphValueText) if no TEXTATTRS= statement option is used. \\n\\nstyle-element \\n    Name of a style element. Only style attributes relevant for rendering the fill, line, data marker, or text will be used.\\n\\nstyle-element (text-options) \\n    Name of a style element, plus individual options to be used as style overrides. Any options not specified are derived\\n    from the specified style-element.\\n\\n(text-options) \\nCOLOR=style-reference | color \\n    specifies the color of the text. If you use a style-reference, the style-attribute should be a valid\\n    attribute such as COLOR, CONTRASTCOLOR, STARTCOLOR, NEUTRAL, ENDCOLOR. The convention is to use COLOR for text.\\n\\nFAMILY =style-reference | \\\"string\\\" \\n    specifies the font family of the text. If you use a style-reference, the style-attribute should be FONTFAMILY.\\n\\nSIZE=style-reference | dimension \\n    specifies the font size of the text. If you use a style-reference, the style-attribute should be FONTSIZE. \\n\\nSTYLE=style-reference | NORMAL | ITALIC \\n    specifies the font style of the text. If you use a style-reference, the style-attribute should be FONTSTYLE. \\n\\nWEIGHT=style-reference | NORMAL | BOLD \\n    specifies the font weight of the text. If you use a style-reference, the style-attribute should be FONTWEIGHT.\"},\"StatementOptionType\":\"V\",\"SubOptionsKeywords\":\"COLOR=|FAMILY=|SIZE=|STYLE=|WEIGHT=\"},{\"StatementOptionName\":\"UNICODE\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: { UNICODE \\\"hex-string\\\"x | keyword | dynamic }] \\n          \\nText-command that specifies a glyph (character) to be displayed using its unicode specification or \\nkeyword equivalent. Default: no default\\n\\n\\\"hex-string\\\"x \\nA four-byte hexadecimal constant that represents a UNICODE character in the current font. \\nFor a complete listing, see http://www.unicode.org/charts/charindex.html. \\n\\nkeyword \\nA SAS keyword for a UNICODE character. For a listing of SAS-supplied keywords, \\nsee \\\"Reserved Keywords and Unicode Values\\\". \\n\\ndynamic \\nThe dynamic must resolve to either \\\"hex-string\\\"x or a keyword for a UNICODE character. \\nExamples:\\n  \\n entry {unicode alpha} \\\"=\\\" CONF;   \\n entry {unicode \\\"03B1\\\"x} \\\"=\\\" CONF; \\n\\nTip: This text command attempts to access a UNICODE value in the current font. Not all fonts \\nsupport accessing characters via their UNICODE value. Some fonts only support a limited set \\nof UNICODE values. If the UNICODE value is not accessible, the command may be ignored or an \\nunprintable character may be substituted.\"},\"StatementOptionType\":\"RS\"},{\"StatementOptionName\":\"VALIGN=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies the vertical alignment of the legend within its parent when nested within an overlay-type \\nlayout. \\n\\nDefault: CENTER\\n\\nRestriction: If LOCATION=OUTSIDE, the VALIGN= and HALIGN= options cannot both be set to CENTER.\\n\\nRestriction: This option is only available when this statement is nested within an overlay-type layout. \\nIt is ignored if the parent layout is not an overlay-type layout.\\n\\nInteraction: If LOCATION=INSIDE and the AUTOALIGN= option is enabled, this option is ignored.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"CENTER\",\"@Value2\":\"TOP\",\"@Value3\":\"BOTTOM\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Specifies a centered vertical alignment.\",\"@ToolTip2\":\"Specifies a top-aligned vertical alignment.\",\"@ToolTip3\":\"Specifies a bottom-aligned vertical alignment.\"}}]}},{\"StatementName\":\"ENTRYFOOTNOTE\",\"StatementHelp\":{\"#cdata\":\"Syntax: ENTRYFOOTNOTE text-item <...<text-item> > </ option(s)> ; \\n      \\nDisplays a footnote.\"},\"StatementOptions\":{\"StatementOption\":[{\"StatementOptionName\":\"BACKGROUNDCOLOR=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: BACKGROUNDCOLOR=style-reference | color] \\n          \\nSpecifies the color of the footnote background. \\n\\nstyle-element \\nA reference in the form style-element:style-attribute. Only the style-attribute named COLOR is used. \\n\\nInteraction: OPAQUE=TRUE must be in effect for the color to be seen. By default, OPAQUE=FALSE.\"},\"StatementOptionType\":\"C\"},{\"StatementOptionName\":\"BORDER=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies whether a border is displayed around the footnote. \\n          \\nDefault: FALSE\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"TRUE\",\"@Value2\":\"FALSE\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"A border is displayed around the footnote.\",\"@ToolTip2\":\"A border is not displayed around the footnote.\"}},{\"StatementOptionName\":\"BORDERATTRS=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: BORDERATTRS=style-element | style-element (line-options) | (line-options)] \\n          \\nSpecifies the attributes of the border line around the footnote.\\n\\nstyle-element \\n    Name of a style element. Only style attributes relevant for rendering the fill, line, data marker, or text will be used.\\n\\nstyle-element (line-options) \\n    Name of a style element, plus individual options to be used as style overrides. Any options not specified are derived\\n    from the specified style-element.\\n\\n(line-options) \\n    COLOR=style-reference | color \\n    specifies the line color. If you use a style-reference, the style-attribute should be a valid attribute such as COLOR,\\n    CONTRASTCOLOR, STARTCOLOR, NEUTRAL, ENDCOLOR. The convention is to use CONTRASTCOLOR for lines.\\n    \\n    PATTERN=style-reference | line-pattern-name | line-pattern-number \\n    specifies the line pattern. If you use a style-reference, the style-attribute should be LINESTYLE. \\n    Line patterns can be specified as a pattern name or pattern number (1 = Solid, 2-42 Dash/Dot).\\n\\n    THICKNESS=style-reference | dimension \\n    specifies the line thickness. If you use a style-reference, the style-attribute should be LINETHICKNESS. \\n    \\nDefault: The GraphBorderLines style element.\\n\\nInteraction: BORDER=TRUE must be set for this option to have any effect.\"},\"StatementOptionType\":\"V\",\"SubOptionsKeywords\":\"COLOR=|PATTERN=|THICKNESS=\"},{\"StatementOptionName\":\"HALIGN=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies the horizontal alignment of the text-item.\\n\\nDefault: CENTER\\n\\nTip: Each text-item has a horizontal alignment, and text-items with the same alignment are always \\nconcatenated together.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"CENTER\",\"@Value2\":\"LEFT\",\"@Value3\":\"RIGHT\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Specifies a centered horizontal alignment.\",\"@ToolTip2\":\"Specifies a left-aligned horizontal alignment.\",\"@ToolTip3\":\"Specifies a right-aligned horizontal alignment.\"}},{\"StatementOptionName\":\"OPAQUE=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies whether the footnote background is opaque (TRUE) or transparent (FALSE). \\n          \\nDefault: FALSE \\n\\nInteraction: When this option is set to FALSE, the background color is not used.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"FALSE\",\"@Value2\":\"TRUE\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Specifies that the legend background is transparent.\",\"@ToolTip2\":\"Specifies that the legend background is opaque.\"}},{\"StatementOptionName\":\"PAD=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: PAD=dimension | (pad-options)] \\n          \\nSpecifies the amount of extra space that is reserved inside the footnote border. \\n\\nDefault: (LEFT=3 RIGHT=3 TOP=0 BOTTOM=0)\\n\\ndimension \\nSpecifies a dimension to use for the extra space at the left, right, top, and bottom of the footnote border. \\n\\n(pad-options) \\nEnables separate settings for the left, right, top, and bottom padding dimensions. Use the pad-options \\nto create non-uniform padding. These options must be enclosed in parentheses. Each option is specified \\nas a name = value pair. Sides not assigned padding are padded with the default amount. \\nValues without units are in pixels (px). A unit must be provided if other than pixels.\\n\\n  LEFT=dimension \\n  specifies the amount of extra space added to the left side. \\n  \\n  RIGHT=dimension \\n  specifies the amount of extra space added to the right side. \\n  \\n  TOP=dimension \\n  specifies the amount of extra space added to the top. \\n  \\n  BOTTOM=dimension \\n  specifies the amount of extra space added to the bottom\"},\"StatementOptionType\":\"V\",\"SubOptionsKeywords\":\"BOTTOM=|TOP=|RIGHT=|LEFT=\"},{\"StatementOptionName\":\"SHORTTEXT=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: SHORTTEXT=(text-item <... <text-item>)] \\n          \\nSpecifies an alternate footnote to use if the specified footnote is too long for the output width. \\nIf the shortened text is itself too long, it will be truncated. \\nDefault: no default\\n\\nInteraction: This option has no effect unless TEXTFITPOLICY=SHORT.\\n\\nInteraction: This option is ignored if any text-items include an HALIGN= prefix option.\\n\\nInteraction: The horizontal alignment of the shortened text is derived from the horizontal alignment \\nof the footnote to be shortened.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"SUB\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: { SUB \\\"string\\\" | dynamic }] \\n        Text-command that specifies that the string or dynamic is to appear as subscript text. \\nDefault: no default\\n\\nExample: entryfootnote \\\"y = \\\" b{sub \\\"0\\\"} \\\" + b\\\" {sub \\\"1\\\"} \\\"x\\\";\"},\"StatementOptionType\":\"RS\"},{\"StatementOptionName\":\"SUP\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: { SUP \\\"string\\\" | dynamic }] \\n          \\nText-command that specifies that the string or dynamic is to appear as superscript text. \\nDefault: no default\\n\\nExample: entryfootnote \\\"R\\\" {sup \\\"2\\\"} \\\" = \\\" {format (6.4) RSQUARED} ;\"},\"StatementOptionType\":\"RS\"},{\"StatementOptionName\":\"TEXTATTRS=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: TEXTATTRS=style-element | style-element (text-options) | (text-options)] \\n          \\nAs a statement option, specifies the text properties of the entire entry text. As a prefix-option, \\nspecifies the text properties of individual text-items. \\n\\nDefault: The GraphFootnoteText style element.\\n\\nTip: This option can be used as both a prefix option and a statement option. When used as a prefix \\noption, it overrides the statement option.\\n\\nTip: When used as a prefix option, TEXTATTRS=( ) cancels the last used TEXTATTRS= prefix option and \\nresets all text options to those set by 1) the TEXTATTRS= statement option or 2) the default style \\nelement for the statement (GraphFootnoteText) if no TEXTATTRS= statement option is used.\\n\\nstyle-element \\n    Name of a style element. Only style attributes relevant for rendering the fill, line, data marker, or text will be used.\\n\\nstyle-element (text-options) \\n    Name of a style element, plus individual options to be used as style overrides. Any options not specified are derived\\n    from the specified style-element.\\n\\n(text-options) \\nCOLOR=style-reference | color \\n    specifies the color of the text. If you use a style-reference, the style-attribute should be a valid\\n    attribute such as COLOR, CONTRASTCOLOR, STARTCOLOR, NEUTRAL, ENDCOLOR. The convention is to use COLOR for text.\\n\\nFAMILY =style-reference | \\\"string\\\" \\n    specifies the font family of the text. If you use a style-reference, the style-attribute should be FONTFAMILY.\\n\\nSIZE=style-reference | dimension \\n    specifies the font size of the text. If you use a style-reference, the style-attribute should be FONTSIZE. \\n\\nSTYLE=style-reference | NORMAL | ITALIC \\n    specifies the font style of the text. If you use a style-reference, the style-attribute should be FONTSTYLE. \\n\\nWEIGHT=style-reference | NORMAL | BOLD \\n    specifies the font weight of the text. If you use a style-reference, the style-attribute should be FONTWEIGHT.\"},\"StatementOptionType\":\"V\",\"SubOptionsKeywords\":\"COLOR=|FAMILY=|SIZE=|STYLE=|WEIGHT=\"},{\"StatementOptionName\":\"TEXTFITPOLICY=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies how to handle a footnote that is too long to fit in the output width. \\n\\nDefault: WRAP \\n\\nInteraction: If you specify SHORT for this option, you should assign a shortened version of the footnote \\nwith the SHORTTEXT= option. If the shortened footnote is itself too long, it will be truncated.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"WRAP\",\"@Value2\":\"SHORT\",\"@Value3\":\"TRUNCATE\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Specifies that the text wraps to the next line(s).\",\"@ToolTip2\":\"Specifies that the text indictated by the SHORTTEXT= option be substituted when the title will not fit.\",\"@ToolTip3\":\"Specifies that the text is truncated to make it fit.\"}},{\"StatementOptionName\":\"UNICODE\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: { UNICODE \\\"hex-string\\\"x | keyword | dynamic }] \\n          \\nText-command that specifies a glyph (character) to be displayed using its unicode specification or \\nkeyword equivalent. Default: no default\\n\\n\\\"hex-string\\\"x \\nA four-byte hexadecimal constant that represents a UNICODE character in the current font. \\nFor a complete listing, see http://www.unicode.org/charts/charindex.html. \\n\\nkeyword \\nA SAS keyword for a UNICODE character. For a listing of SAS-supplied keywords, \\nsee \\\"Reserved Keywords and Unicode Values\\\". \\n\\ndynamic \\nThe dynamic must resolve to either \\\"hex-string\\\"x or a keyword for a UNICODE character. \\nExamples:\\n  \\n entryfootnote {unicode alpha} \\\"=\\\" CONF;   \\n entryfootnote {unicode \\\"03B1\\\"x} \\\"=\\\" CONF; \\n\\nTip: This text command attempts to access a UNICODE value in the current font. Not all fonts \\nsupport accessing characters via their UNICODE value. Some fonts only support a limited set \\nof UNICODE values. If the UNICODE value is not accessible, the command may be ignored or an \\nunprintable character may be substituted.\"},\"StatementOptionType\":\"RS\"}]}},{\"StatementName\":\"ENTRYTITLE\",\"StatementHelp\":{\"#cdata\":\"Syntax: ENTRYTITLE text-item <...<text-item> > </ option(s)> ; \\n      \\nDisplays a title.\"},\"StatementOptions\":{\"StatementOption\":[{\"StatementOptionName\":\"BACKGROUNDCOLOR=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: BACKGROUNDCOLOR=style-reference | color] \\n          \\nSpecifies the color of the title background. \\n\\nstyle-element \\nA reference in the form style-element:style-attribute. Only the style-attribute named COLOR is used. \\n\\nInteraction: OPAQUE=TRUE must be in effect for the color to be seen. By default, OPAQUE=FALSE.\"},\"StatementOptionType\":\"C\"},{\"StatementOptionName\":\"BORDER=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies whether a border is displayed around the title. \\n          \\nDefault: FALSE\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"TRUE\",\"@Value2\":\"FALSE\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"A border is displayed around the legend.\",\"@ToolTip2\":\"A border is not displayed around the legend.\"}},{\"StatementOptionName\":\"BORDERATTRS=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: BORDERATTRS=style-element | style-element (line-options) | (line-options)] \\n          \\nSpecifies the attributes of the border line around the title.\\n\\nstyle-element \\n    Name of a style element. Only style attributes relevant for rendering the fill, line, data marker, or text will be used.\\n\\nstyle-element (line-options) \\n    Name of a style element, plus individual options to be used as style overrides. Any options not specified are derived\\n    from the specified style-element.\\n\\n(line-options) \\n    COLOR=style-reference | color \\n    specifies the line color. If you use a style-reference, the style-attribute should be a valid attribute such as COLOR,\\n    CONTRASTCOLOR, STARTCOLOR, NEUTRAL, ENDCOLOR. The convention is to use CONTRASTCOLOR for lines.\\n    \\n    PATTERN=style-reference | line-pattern-name | line-pattern-number \\n    specifies the line pattern. If you use a style-reference, the style-attribute should be LINESTYLE. \\n    Line patterns can be specified as a pattern name or pattern number (1 = Solid, 2-42 Dash/Dot).\\n\\n    THICKNESS=style-reference | dimension \\n    specifies the line thickness. If you use a style-reference, the style-attribute should be LINETHICKNESS. \\n    \\nDefault: The GraphBorderLines style element.\\n\\nInteraction: BORDER=TRUE must be set for this option to have any effect.\"},\"StatementOptionType\":\"V\",\"SubOptionsKeywords\":\"COLOR=|PATTERN=|THICKNESS=\"},{\"StatementOptionName\":\"HALIGN=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies the horizontal alignment of a text-item.\\n\\nDefault: CENTER\\n\\nTip: Each text-item has a horizontal alignment, and text-items with the same alignment are always \\nconcatenated together.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"CENTER\",\"@Value2\":\"LEFT\",\"@Value3\":\"RIGHT\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Specifies a centered horizontal alignment.\",\"@ToolTip2\":\"Specifies a left-aligned horizontal alignment.\",\"@ToolTip3\":\"Specifies a right-aligned horizontal alignment.\"}},{\"StatementOptionName\":\"OPAQUE=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies whether the title background is opaque (TRUE) or transparent (FALSE). \\n          \\nDefault: FALSE \\n\\nInteraction: When this option is set to FALSE, the background color is not used.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"FALSE\",\"@Value2\":\"TRUE\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Specifies that the title background is transparent.\",\"@ToolTip2\":\"Specifies that the title background is opaque.\"}},{\"StatementOptionName\":\"PAD=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: PAD=dimension | (pad-options)] \\n          \\nSpecifies the amount of extra space that is reserved inside the title border. \\n\\nDefault: (LEFT=3 RIGHT=3 TOP=0 BOTTOM=0)\\n\\ndimension \\nSpecifies a dimension to use for the extra space at the left, right, top, and bottom of the title border. \\n\\n(pad-options) \\nEnables separate settings for the left, right, top, and bottom padding dimensions. Use the pad-options \\nto create non-uniform padding. These options must be enclosed in parentheses. Each option is specified \\nas a name = value pair. Sides not assigned padding are padded with the default amount. \\nValues without units are in pixels (px). A unit must be provided if other than pixels.\\n\\n  LEFT=dimension \\n  specifies the amount of extra space added to the left side. \\n  \\n  RIGHT=dimension \\n  specifies the amount of extra space added to the right side. \\n  \\n  TOP=dimension \\n  specifies the amount of extra space added to the top. \\n  \\n  BOTTOM=dimension \\n  specifies the amount of extra space added to the bottom\"},\"StatementOptionType\":\"V\",\"SubOptionsKeywords\":\"BOTTOM=|TOP=|RIGHT=|LEFT=\"},{\"StatementOptionName\":\"SHORTTEXT=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: SHORTTEXT=(text-item <... <text-item>)] \\n          \\nSpecifies an alternate footnote to use if the specified title is too long for the output width. \\nIf the shortened text is itself too long, it will be truncated. \\nDefault: no default\\n\\nInteraction: This option has no effect unless TEXTFITPOLICY=SHORT.\\n\\nInteraction: This option is ignored if any text-items include an HALIGN= prefix option.\\n\\nInteraction: The horizontal alignment of the shortened text is derived from the horizontal alignment \\nof the title to be shortened.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"SUB\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: { SUB \\\"string\\\" | dynamic }] \\n        Text-command that specifies that the string or dynamic is to appear as subscript text. \\nDefault: no default\\n\\nExample: entrytitle \\\"y = \\\" b{sub \\\"0\\\"} \\\" + b\\\" {sub \\\"1\\\"} \\\"x\\\";\"},\"StatementOptionType\":\"RS\"},{\"StatementOptionName\":\"SUP\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: { SUP \\\"string\\\" | dynamic }] \\n          \\nText-command that specifies that the string or dynamic is to appear as superscript text. \\nDefault: no default\\n\\nExample: entrytitle \\\"R\\\" {sup \\\"2\\\"} \\\" = \\\" {format (6.4) RSQUARED} ;\"},\"StatementOptionType\":\"RS\"},{\"StatementOptionName\":\"TEXTATTRS=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: TEXTATTRS=style-element | style-element (text-options) | (text-options)] \\n          \\nAs a statement option, specifies the text properties of the entire entry text. As a prefix-option, \\nspecifies the text properties of individual text-items. \\n\\nDefault: The GraphValueText style element.\\nTip: This option can be used as both a prefix option and a statement option. When used as a prefix option, \\nit overrides the statement option.\\n\\nTip: When used as a prefix option, TEXTATTRS=( ) cancels the last used TEXTATTRS= prefix option and \\nresets all text options to those set by 1) the TEXTATTRS= statement option or 2) the default style \\nelement for the statement (GraphValueText) if no TEXTATTRS= statement option is used. \\n\\nstyle-element \\n    Name of a style element. Only style attributes relevant for rendering the fill, line, data marker, or text will be used.\\n\\nstyle-element (text-options) \\n    Name of a style element, plus individual options to be used as style overrides. Any options not specified are derived\\n    from the specified style-element.\\n\\n(text-options) \\nCOLOR=style-reference | color \\n    specifies the color of the text. If you use a style-reference, the style-attribute should be a valid\\n    attribute such as COLOR, CONTRASTCOLOR, STARTCOLOR, NEUTRAL, ENDCOLOR. The convention is to use COLOR for text.\\n\\nFAMILY =style-reference | \\\"string\\\" \\n    specifies the font family of the text. If you use a style-reference, the style-attribute should be FONTFAMILY.\\n\\nSIZE=style-reference | dimension \\n    specifies the font size of the text. If you use a style-reference, the style-attribute should be FONTSIZE. \\n\\nSTYLE=style-reference | NORMAL | ITALIC \\n    specifies the font style of the text. If you use a style-reference, the style-attribute should be FONTSTYLE. \\n\\nWEIGHT=style-reference | NORMAL | BOLD \\n    specifies the font weight of the text. If you use a style-reference, the style-attribute should be FONTWEIGHT.\"},\"StatementOptionType\":\"V\",\"SubOptionsKeywords\":\"COLOR=|FAMILY=|SIZE=|STYLE=|WEIGHT=\"},{\"StatementOptionName\":\"TEXTFITPOLICY=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies how to handle a footnote that is too long to fit in the output width. \\n\\nDefault: WRAP \\n\\nInteraction: If you specify SHORT for this option, you should assign a shortened version of the footnote \\nwith the SHORTTEXT= option. If the shortened footnote is itself too long, it will be truncated.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"WRAP\",\"@Value2\":\"SHORT\",\"@Value3\":\"TRUNCATE\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Specifies that the text wraps to the next line(s).\",\"@ToolTip2\":\"Specifies that the text indictated by the SHORTTEXT= option be substituted when the title will not fit.\",\"@ToolTip3\":\"Specifies that the text is truncated to make it fit.\"}},{\"StatementOptionName\":\"UNICODE\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: { UNICODE \\\"hex-string\\\"x | keyword | dynamic }] \\n          \\nText-command that specifies a glyph (character) to be displayed using its unicode specification or \\nkeyword equivalent. Default: no default\\n\\n\\\"hex-string\\\"x \\nA four-byte hexadecimal constant that represents a UNICODE character in the current font. \\nFor a complete listing, see http://www.unicode.org/charts/charindex.html. \\n\\nkeyword \\nA SAS keyword for a UNICODE character. For a listing of SAS-supplied keywords, \\nsee \\\"Reserved Keywords and Unicode Values\\\". \\n\\ndynamic \\nThe dynamic must resolve to either \\\"hex-string\\\"x or a keyword for a UNICODE character. \\nExamples:\\n  \\n   entrytitle {unicode alpha} \\\"=\\\" CONF;   \\n   entrytitle {unicode \\\"03B1\\\"x} \\\"=\\\" CONF; \\n\\nTip: This text command attempts to access a UNICODE value in the current font. Not all fonts \\nsupport accessing characters via their UNICODE value. Some fonts only support a limited set \\nof UNICODE values. If the UNICODE value is not accessible, the command may be ignored or an \\nunprintable character may be substituted.\"},\"StatementOptionType\":\"RS\"}]}},{\"StatementName\":\"COLUMNAXES\",\"StatementHelp\":{\"#cdata\":\"Syntax: COLUMNAXES ;  \\n    AXISCOMP axis-option(s);  \\n  ENDCOLUMNAXES;  \\n\\nSpecifies the primary (bottom) axes for the columns:\\n\\nRequirement: You must specify an ENDCOLUMNAXES statement to complete the COLUMNAXES \\nstatement block.\"},\"StatementOptions\":null},{\"StatementName\":\"ENDCOLUMNAXES\",\"StatementHelp\":{\"#cdata\":\"Syntax: ENDCOLUMNAXES ;\\n      \\nSignals the end of a COLUMNAXES block.\"},\"StatementOptions\":null},{\"StatementName\":\"COLUMN2AXES\",\"StatementHelp\":{\"#cdata\":\"Syntax: COLUMN2AXES ;  \\n    AXISCOMP axis-option(s);  \\n  ENDCOLUMN2AXES; \\n  \\nSpecifies the secondary (top) axes for the columns.\\n\\nRequirement: You must specify an ENDCOLUMN2AXES statement to complete the COLUMN2AXES \\nstatement block.\"},\"StatementOptions\":null},{\"StatementName\":\"ENDCOLUMN2AXES\",\"StatementHelp\":{\"#cdata\":\"Syntax: ENDCOLUMN2AXES ;\\n      \\nSignals the end of a COLUMN2AXES block.\"},\"StatementOptions\":null},{\"StatementName\":\"COLUMNAXIS\",\"StatementHelp\":{\"#cdata\":\"Syntax: COLUMNAXIS / external-axis-options \\n      \\nCOLUMNAXIS statements can be used to simplify and clarify the layout by displaying \\nonly the external X axes in the resulting graph.\"},\"StatementOptions\":{\"StatementOption\":[{\"StatementOptionName\":\"DISCRETEOPTS=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: DISCRETEOPTS=( discrete-axis-options )] \\n          \\nSpecifies one or more options for a discrete X or X2 axis.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"DISPLAY=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: DISPLAY= STANDARD | ALL | NONE | (display-options)] \\n          \\nControls which axis features are displayed on the primary axis.\\n\\nDefault: STANDARD\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"STANDARD\",\"@Value2\":\"ALL\",\"@Value3\":\"NONE\",\"@Value4\":\"<(display-options)>\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Specifies that the LABEL, LINE, TICKS, and TICKVALUES are displayed.\",\"@ToolTip2\":\"Specifies that the LABEL, LINE, TICKS, and TICKVALUES are displayed.\",\"@ToolTip3\":\"Specifies that no axis features are displayed.\",\"@ToolTip4\":\"A parenthesized list of space-delimited options. The list must include one or more  of the following:     LABEL    displays the axis label    LINE    displays the axis line    TICKS    displays the tick marks    TICKVALUES    displays the values that are represented by the major tick marks       Tip: The default line attributes for the axis line and axis tick marks are defined in the    GraphAxisLine style element.\"}},{\"StatementOptionName\":\"DISPLAYSECONDARY=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: DISPLAYSECONDARY= STANDARD | ALL | NONE | (display-options)] \\n          \\nControls which axis features are displayed on the secondary axis. \\n\\nDefault: NONE\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"STANDARD\",\"@Value2\":\"ALL\",\"@Value3\":\"NONE\",\"@Value4\":\"<(display-options)>\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Specifies that the LABEL, LINE, TICKS, and TICKVALUES are displayed.\",\"@ToolTip2\":\"Specifies that the LABEL, LINE, TICKS, and TICKVALUES are displayed.\",\"@ToolTip3\":\"Specifies that no axis features are displayed.\",\"@ToolTip4\":\"A parenthesized list of space-delimited options. The list must include one or more  of the following:     LABEL    displays the axis label    LINE    displays the axis line    TICKS    displays the tick marks    TICKVALUES    displays the values that are represented by the major tick marks       Tip: The secondary axis is a duplicate of the primary axis (the axis to which the data    are mapped). It is on the opposite side of the lattice from the primary axis.\"}},{\"StatementOptionName\":\"GRIDATTRS=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: GRIDATTRS=style-element | style-element (line-options) | (line-options)] \\n          \\nSpecifies the attributes of the grid lines. \\n\\nDefault: The GraphGridLines style element.\\n\\nInteraction: This option is ignored if the GRIDDISPLAY= option does not display \\nthe grid lines.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"GRIDDISPLAY=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies how the grid lines are to be displayed.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"AUTO_OFF\",\"@Value2\":\"AUTO_ON\",\"@Value3\":\"ON\",\"@Value4\":\"OFF\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Specifies that grid lines will not be displayed unless the GraphGridLines element  in the current style contains DisplayOpts=\\\"ON\\\".\",\"@ToolTip2\":\"Specifies that grid lines will be displayed unless the GraphGridLines element in  the current style contains DisplayOpts=\\\"OFF\\\".\",\"@ToolTip3\":\"Specifies that grid lines will always be displayed. The current style has no override.\",\"@ToolTip4\":\"Specifies that grid lines will never be displayed. The current style has no override.\"}},{\"StatementOptionName\":\"LABEL=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: LABEL=\\\"string\\\" | ( \\\"string\\\" ... \\\"string\\\" )] \\n          \\nSpecifies the axis label. The \\\"string\\\" may be either a string literal or a dynamic. \\nThe list form implies that all included string literals or dynamics will be concatenated \\n\\nDefault: The default label is derived from the primary plot in the layout.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"LABELATTRS=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: LABELATTRS=style-element | style-element (text-options) | (text-options)] \\n          \\nSpecifies the color and font attributes of the axis label. \\n\\nDefault: The GraphLabelText style element.\\n\\nInteraction: This option is ignored if the DISPLAY= or DISPLAYSECONDARY= option does \\nnot display the axis label. \\n\\nstyle-element \\n    Name of a style element. Only style attributes relevant for rendering the fill, line, data marker, or text will be used.\\n\\nstyle-element (text-options) \\n    Name of a style element, plus individual options to be used as style overrides. Any options not specified are derived\\n    from the specified style-element.\\n\\n(text-options) \\nCOLOR=style-reference | color \\n    specifies the color of the text. If you use a style-reference, the style-attribute should be a valid\\n    attribute such as COLOR, CONTRASTCOLOR, STARTCOLOR, NEUTRAL, ENDCOLOR. The convention is to use COLOR for text.\\n\\nFAMILY =style-reference | \\\"string\\\" \\n    specifies the font family of the text. If you use a style-reference, the style-attribute should be FONTFAMILY.\\n\\nSIZE=style-reference | dimension \\n    specifies the font size of the text. If you use a style-reference, the style-attribute should be FONTSIZE. \\n\\nSTYLE=style-reference | NORMAL | ITALIC \\n    specifies the font style of the text. If you use a style-reference, the style-attribute should be FONTSTYLE. \\n\\nWEIGHT=style-reference | NORMAL | BOLD \\n    specifies the font weight of the text. If you use a style-reference, the style-attribute should be FONTWEIGHT.\"},\"StatementOptionType\":\"V\",\"SubOptionsKeywords\":\"COLOR=|FAMILY=|SIZE=|STYLE=|WEIGHT=\"},{\"StatementOptionName\":\"LINEAROPTS=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: LINEAROPTS=( linear-axis-options )] \\n          \\nSpecifies one or more linear-axis-options for a numeric interval axis.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"LOGOPTS=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: LOGOPTS=( log-axis-options )] \\n          \\nSpecifies one or more log-axis-options for a log axis.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"OFFSETMAX=\",\"StatementOptionHelp\":{\"#cdata\":\"Reserves an area at the maximum end of the axis. No tick marks are displayed in the \\nreserved area.\\n\\nDefault: AUTO\\n\\nRange: 0 - 1. The sum of OFFSETMAX= and OFFSETMIN= should not be more than 1.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"AUTO\",\"@Value2\":\"AUTOCOMPRESS\",\"@Value3\":\"<number>\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Reserves just enough area to fully display markers and other graphical features  near the maximum end of an axis.\",\"@ToolTip2\":\"Automatic offset applied that prevents axis labels and tick values from extending  beyond the axis length.\",\"@ToolTip3\":\"The offset is expressed as a decimal proportion of the full axis length. Replace <number>  with an actual value.\"}},{\"StatementOptionName\":\"OFFSETMIN=\",\"StatementOptionHelp\":{\"#cdata\":\"Reserves an area at the mimimum end of the axis. No tick marks are displayed in the \\nreserved area.\\n\\nDefault: AUTO\\n\\nRange: 0 - 1. The sum of OFFSETMAX= and OFFSETMIN= should not be more than 1.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"AUTO\",\"@Value2\":\"AUTOCOMPRESS\",\"@Value3\":\"<number>\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Reserves just enough area to fully display markers and other graphical features  near the minimum end of an axis.\",\"@ToolTip2\":\"Automatic offset applied that prevents axis labels and tick values from extending  beyond the axis length.\",\"@ToolTip3\":\"The offset is expressed as a decimal proportion of the full axis length. Replace <number>  with an actual value.\"}},{\"StatementOptionName\":\"SHORTLABEL=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: SHORTLABEL=\\\"string\\\"] \\n          \\nSpecifies an alternate axis label. This label is used when the default axis label \\nor label specified by the LABEL= option is too long for the axis length. \\n\\nDefault: no default\\n\\nInteraction: This option is ignored if the DISPLAY= or DISPLAYSECONDARY= option does \\nnot display the axis label.\\n\\nTip: If the specified label is itself too long for the axis, it is truncated in the display.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"TICKVALUEATTRS=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: style-element | style-element (text-options) | (text-options)] \\n          \\nspecifies the color and font attributes of the axis tick values.  \\nDefault: The GraphValueText style element.\\n\\nInteraction: This option is ignored if the DISPLAY= or DISPLAYSECONDARY= option does \\nnot display the axis label.\\n\\nstyle-element \\n    Name of a style element. Only style attributes relevant for rendering the fill, line, data marker, or text will be used.\\n\\nstyle-element (text-options) \\n    Name of a style element, plus individual options to be used as style overrides. Any options not specified are derived\\n    from the specified style-element.\\n\\n(text-options) \\nCOLOR=style-reference | color \\n    specifies the color of the text. If you use a style-reference, the style-attribute should be a valid\\n    attribute such as COLOR, CONTRASTCOLOR, STARTCOLOR, NEUTRAL, ENDCOLOR. The convention is to use COLOR for text.\\n\\nFAMILY =style-reference | \\\"string\\\" \\n    specifies the font family of the text. If you use a style-reference, the style-attribute should be FONTFAMILY.\\n\\nSIZE=style-reference | dimension \\n    specifies the font size of the text. If you use a style-reference, the style-attribute should be FONTSIZE. \\n\\nSTYLE=style-reference | NORMAL | ITALIC \\n    specifies the font style of the text. If you use a style-reference, the style-attribute should be FONTSTYLE. \\n\\nWEIGHT=style-reference | NORMAL | BOLD \\n    specifies the font weight of the text. If you use a style-reference, the style-attribute should be FONTWEIGHT.\"},\"StatementOptionType\":\"V\",\"SubOptionsKeywords\":\"COLOR=|FAMILY=|SIZE=|STYLE=|WEIGHT=\"},{\"StatementOptionName\":\"TIMEOPTS=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: TIMEOPTS=( time-axis-options )] \\n          \\nSpecifies one or more time-axis-options for a time axis.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"TYPE=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies the type of axis to use.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"AUTO\",\"@Value2\":\"DISCRETE\",\"@Value3\":\"LINEAR\",\"@Value4\":\"TIME\",\"@Value5\":\"LOG\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Requests that the axis type be automatically determined, based on the overlay contents.\",\"@ToolTip2\":\"Use a DISCRETE X or X2 axis if possible. This setting is not available on a ROWAXIS  statement. The data for discrete axes can be character or numeric. For a column axis,  you can add a DISCRETEOPTS=( ) option list to customize this axis type.\",\"@ToolTip3\":\"Use a LINEAR axis if possible. You can add a LINEAROPTS=( ) option list to customize  this axis type.\",\"@ToolTip4\":\"Use a TIME axis if possible. Data for this axis must be SAS time, SAS date, or SAS  datetime values. You can add a TIMEOPTS=( ) option list to customize this axis type.\",\"@ToolTip5\":\"Use a LOG axis if possible. You can add a LOGOPTS=( ) option list to customize  this axis type.\"}}]}},{\"StatementName\":\"ROWAXIS\",\"StatementHelp\":{\"#cdata\":\"Syntax: ROWAXIS / external-axis-options \\n      \\nROWAXIS statements can be used to simplify and clarify the layout by displaying \\nonly the external Y axes in the resulting graph.\"},\"StatementOptions\":{\"StatementOption\":[{\"StatementOptionName\":\"DISCRETEOPTS=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: DISCRETEOPTS=( discrete-axis-options )] \\n          \\nSpecifies one or more options for a discrete X or X2 axis.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"DISPLAY=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: DISPLAY= STANDARD | ALL | NONE | (display-options)] \\n          \\nControls which axis features are displayed on the primary axis.\\n\\nDefault: STANDARD\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"STANDARD\",\"@Value2\":\"ALL\",\"@Value3\":\"NONE\",\"@Value4\":\"<(display-options)>\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Specifies that the LABEL, LINE, TICKS, and TICKVALUES are displayed.\",\"@ToolTip2\":\"Specifies that the LABEL, LINE, TICKS, and TICKVALUES are displayed.\",\"@ToolTip3\":\"Specifies that no axis features are displayed.\",\"@ToolTip4\":\"A parenthesized list of space-delimited options. The list must include one or more  of the following:     LABEL    displays the axis label    LINE    displays the axis line    TICKS    displays the tick marks    TICKVALUES    displays the values that are represented by the major tick marks       Tip: The default line attributes for the axis line and axis tick marks are defined in the    GraphAxisLine style element.\"}},{\"StatementOptionName\":\"DISPLAYSECONDARY=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: DISPLAYSECONDARY= STANDARD | ALL | NONE | (display-options)] \\n          \\nControls which axis features are displayed on the secondary axis. \\n\\nDefault: NONE\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"STANDARD\",\"@Value2\":\"ALL\",\"@Value3\":\"NONE\",\"@Value4\":\"<(display-options)>\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Specifies that the LABEL, LINE, TICKS, and TICKVALUES are displayed.\",\"@ToolTip2\":\"Specifies that the LABEL, LINE, TICKS, and TICKVALUES are displayed.\",\"@ToolTip3\":\"Specifies that no axis features are displayed.\",\"@ToolTip4\":\"A parenthesized list of space-delimited options. The list must include one or more  of the following:     LABEL    displays the axis label    LINE    displays the axis line    TICKS    displays the tick marks    TICKVALUES    displays the values that are represented by the major tick marks       Tip: The secondary axis is a duplicate of the primary axis (the axis to which the data    are mapped). It is on the opposite side of the lattice from the primary axis.\"}},{\"StatementOptionName\":\"GRIDATTRS=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: GRIDATTRS=style-element | style-element (line-options) | (line-options)] \\n          \\nSpecifies the attributes of the grid lines. \\n\\nDefault: The GraphGridLines style element.\\n\\nInteraction: This option is ignored if the GRIDDISPLAY= option does not display \\nthe grid lines.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"GRIDDISPLAY=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies how the grid lines are to be displayed.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"AUTO_OFF\",\"@Value2\":\"AUTO_ON\",\"@Value3\":\"ON\",\"@Value4\":\"OFF\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Specifies that grid lines will not be displayed unless the GraphGridLines element  in the current style contains DisplayOpts=\\\"ON\\\".\",\"@ToolTip2\":\"Specifies that grid lines will be displayed unless the GraphGridLines element in  the current style contains DisplayOpts=\\\"OFF\\\".\",\"@ToolTip3\":\"Specifies that grid lines will always be displayed. The current style has no override.\",\"@ToolTip4\":\"Specifies that grid lines will never be displayed. The current style has no override.\"}},{\"StatementOptionName\":\"LABEL=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: LABEL=\\\"string\\\" | ( \\\"string\\\" ... \\\"string\\\" )] \\n          \\nSpecifies the axis label. The \\\"string\\\" may be either a string literal or a dynamic. \\nThe list form implies that all included string literals or dynamics will be concatenated \\n\\nDefault: The default label is derived from the primary plot in the layout.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"LABELATTRS=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: LABELATTRS=style-element | style-element (text-options) | (text-options)] \\n          \\nSpecifies the color and font attributes of the axis label. \\n\\nDefault: The GraphLabelText style element.\\n\\nInteraction: This option is ignored if the DISPLAY= or DISPLAYSECONDARY= option does \\nnot display the axis label. \\n\\nstyle-element \\n    Name of a style element. Only style attributes relevant for rendering the fill, line, data marker, or text will be used.\\n\\nstyle-element (text-options) \\n    Name of a style element, plus individual options to be used as style overrides. Any options not specified are derived\\n    from the specified style-element.\\n\\n(text-options) \\nCOLOR=style-reference | color \\n    specifies the color of the text. If you use a style-reference, the style-attribute should be a valid\\n    attribute such as COLOR, CONTRASTCOLOR, STARTCOLOR, NEUTRAL, ENDCOLOR. The convention is to use COLOR for text.\\n\\nFAMILY =style-reference | \\\"string\\\" \\n    specifies the font family of the text. If you use a style-reference, the style-attribute should be FONTFAMILY.\\n\\nSIZE=style-reference | dimension \\n    specifies the font size of the text. If you use a style-reference, the style-attribute should be FONTSIZE. \\n\\nSTYLE=style-reference | NORMAL | ITALIC \\n    specifies the font style of the text. If you use a style-reference, the style-attribute should be FONTSTYLE. \\n\\nWEIGHT=style-reference | NORMAL | BOLD \\n    specifies the font weight of the text. If you use a style-reference, the style-attribute should be FONTWEIGHT.\"},\"StatementOptionType\":\"V\",\"SubOptionsKeywords\":\"COLOR=|FAMILY=|SIZE=|STYLE=|WEIGHT=\"},{\"StatementOptionName\":\"LINEAROPTS=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: LINEAROPTS=( linear-axis-options )] \\n          \\nSpecifies one or more linear-axis-options for a numeric interval axis.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"LOGOPTS=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: LOGOPTS=( log-axis-options )] \\n          \\nSpecifies one or more log-axis-options for a log axis.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"OFFSETMAX=\",\"StatementOptionHelp\":{\"#cdata\":\"Reserves an area at the maximum end of the axis. No tick marks are displayed in the \\nreserved area.\\n\\nDefault: AUTO\\n\\nRange: 0 - 1. The sum of OFFSETMAX= and OFFSETMIN= should not be more than 1.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"AUTO\",\"@Value2\":\"AUTOCOMPRESS\",\"@Value3\":\"<number>\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Reserves just enough area to fully display markers and other graphical features  near the maximum end of an axis.\",\"@ToolTip2\":\"Automatic offset applied that prevents axis labels and tick values from extending  beyond the axis length.\",\"@ToolTip3\":\"The offset is expressed as a decimal proportion of the full axis length. Replace <number>  with an actual value.\"}},{\"StatementOptionName\":\"OFFSETMIN=\",\"StatementOptionHelp\":{\"#cdata\":\"Reserves an area at the mimimum end of the axis. No tick marks are displayed in the \\nreserved area.\\n\\nDefault: AUTO\\n\\nRange: 0 - 1. The sum of OFFSETMAX= and OFFSETMIN= should not be more than 1.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"AUTO\",\"@Value2\":\"AUTOCOMPRESS\",\"@Value3\":\"<number>\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Reserves just enough area to fully display markers and other graphical features  near the minimum end of an axis.\",\"@ToolTip2\":\"Automatic offset applied that prevents axis labels and tick values from extending  beyond the axis length.\",\"@ToolTip3\":\"The offset is expressed as a decimal proportion of the full axis length. Replace <number>  with an actual value.\"}},{\"StatementOptionName\":\"SHORTLABEL=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: SHORTLABEL=\\\"string\\\"] \\n          \\nSpecifies an alternate axis label. This label is used when the default axis label \\nor label specified by the LABEL= option is too long for the axis length. \\n\\nDefault: no default\\n\\nInteraction: This option is ignored if the DISPLAY= or DISPLAYSECONDARY= option does \\nnot display the axis label.\\n\\nTip: If the specified label is itself too long for the axis, it is truncated in the display.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"TICKVALUEATTRS=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: style-element | style-element (text-options) | (text-options)] \\n          \\nspecifies the color and font attributes of the axis tick values.  \\nDefault: The GraphValueText style element.\\n\\nInteraction: This option is ignored if the DISPLAY= or DISPLAYSECONDARY= option does \\nnot display the axis label.\\n\\nstyle-element \\n    Name of a style element. Only style attributes relevant for rendering the fill, line, data marker, or text will be used.\\n\\nstyle-element (text-options) \\n    Name of a style element, plus individual options to be used as style overrides. Any options not specified are derived\\n    from the specified style-element.\\n\\n(text-options) \\nCOLOR=style-reference | color \\n    specifies the color of the text. If you use a style-reference, the style-attribute should be a valid\\n    attribute such as COLOR, CONTRASTCOLOR, STARTCOLOR, NEUTRAL, ENDCOLOR. The convention is to use COLOR for text.\\n\\nFAMILY =style-reference | \\\"string\\\" \\n    specifies the font family of the text. If you use a style-reference, the style-attribute should be FONTFAMILY.\\n\\nSIZE=style-reference | dimension \\n    specifies the font size of the text. If you use a style-reference, the style-attribute should be FONTSIZE. \\n\\nSTYLE=style-reference | NORMAL | ITALIC \\n    specifies the font style of the text. If you use a style-reference, the style-attribute should be FONTSTYLE. \\n\\nWEIGHT=style-reference | NORMAL | BOLD \\n    specifies the font weight of the text. If you use a style-reference, the style-attribute should be FONTWEIGHT.\"},\"StatementOptionType\":\"V\",\"SubOptionsKeywords\":\"COLOR=|FAMILY=|SIZE=|STYLE=|WEIGHT=\"},{\"StatementOptionName\":\"TIMEOPTS=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: TIMEOPTS=( time-axis-options )] \\n          \\nSpecifies one or more time-axis-options for a time axis.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"TYPE=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies the type of axis to use.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"AUTO\",\"@Value2\":\"DISCRETE\",\"@Value3\":\"LINEAR\",\"@Value4\":\"TIME\",\"@Value5\":\"LOG\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Requests that the axis type be automatically determined, based on the overlay contents.\",\"@ToolTip2\":\"Use a DISCRETE X or X2 axis if possible. This setting is not available on a ROWAXIS  statement. The data for discrete axes can be character or numeric. For a column axis,  you can add a DISCRETEOPTS=( ) option list to customize this axis type.\",\"@ToolTip3\":\"Use a LINEAR axis if possible. You can add a LINEAROPTS=( ) option list to customize  this axis type.\",\"@ToolTip4\":\"Use a TIME axis if possible. Data for this axis must be SAS time, SAS date, or SAS  datetime values. You can add a TIMEOPTS=( ) option list to customize this axis type.\",\"@ToolTip5\":\"Use a LOG axis if possible. You can add a LOGOPTS=( ) option list to customize  this axis type.\"}}]}},{\"StatementName\":\"ROWAXES\",\"StatementHelp\":{\"#cdata\":\"Syntax: ROWAXES ;  \\n    AXISCOMP axis-option(s); \\n  ENDROWAXES;  \\n  \\nSpecifies the primary (left) axes for the rows.\\n\\nRequirement: You must specify an ENDROWAXES statement to complete the ROWAXES statement block.\"},\"StatementOptions\":null},{\"StatementName\":\"ENDROWAXES\",\"StatementHelp\":{\"#cdata\":\"Syntax: ENDROWAXES ; \\n      \\nSignals the end of a ROWAXES block.\"},\"StatementOptions\":null},{\"StatementName\":\"ROW2AXES\",\"StatementHelp\":{\"#cdata\":\"Syntax: ROW2AXES ;  \\n    AXISCOMP axis-option(s); \\n  ENDROW2AXES;  \\n      \\nSpecifies the secondary (right) axes for the rows.\\n\\nRequirement: You must specify an ENDROW2AXES statement to complete the ROW2AXES statement block.\"},\"StatementOptions\":null},{\"StatementName\":\"ENDROW2AXES\",\"StatementHelp\":{\"#cdata\":\"Syntax: ENDROW2AXES ;\\n      \\nSignals the end of a ROW2AXES block.\"},\"StatementOptions\":null},{\"StatementName\":\"COLUMNHEADERS\",\"StatementHelp\":{\"#cdata\":\"Syntax: COLUMNHEADERS ;\\n      \\nSpecifies a header for the primary (bottom) column-header position.\"},\"StatementOptions\":null},{\"StatementName\":\"COLUMN2HEADERS\",\"StatementHelp\":{\"#cdata\":\"Syntax: COLUMN2HEADERS ; \\n      \\nSpecifies a header for the secondary (top) column-header position.\"},\"StatementOptions\":null},{\"StatementName\":\"ROWHEADERS\",\"StatementHelp\":{\"#cdata\":\"Syntax: ROWHEADERS ; \\n      \\nSpecifies a header for the primary (left) row-header position. ENTRY statements \\ncan be used to specify rotated text.\"},\"StatementOptions\":null},{\"StatementName\":\"ROW2HEADERS\",\"StatementHelp\":{\"#cdata\":\"Syntax: ROW2HEADERS ; \\n      \\nSpecifies a header for the secondary (right) row-header position. ENTRY statements \\ncan be used to specify rotated text.\"},\"StatementOptions\":null},{\"StatementName\":\"ENDCOLUMNHEADERS\",\"StatementHelp\":{\"#cdata\":\"Syntax: ENDCOLUMNHEADERS ; \\n      \\nSignals the end of a header block.\"},\"StatementOptions\":null},{\"StatementName\":\"CELL\",\"StatementHelp\":{\"#cdata\":\"Syntax: CELL;  <CELLHEADER; \\n    ODS-Graph-statement(s); \\n    ENDCELLHEADER;>  \\n     \\n    ODS-Graph-statement(s);  \\n    ENDCELL;   \\n      \\nSignals the beginning of a CELL block; \\n\\nRequirement: You must specify an ENDCELL statement to complete the CELL statement block. \\n\\nTip: If a CELLHEADER statement block is not specified inside of a CELL statement block, then \\nthe enclosed ODS-Graph-statement(s) produces the same results as if the ODS-Graph-statement(s) \\nwere specified outside of the CELL statement block.\"},\"StatementOptions\":null},{\"StatementName\":\"ENDCELL\",\"StatementHelp\":{\"#cdata\":\"Syntax: ENDCELL ; \\n      \\nSignals the end of a CELL block;\"},\"StatementOptions\":null},{\"StatementName\":\"CELLHEADER\",\"StatementHelp\":{\"#cdata\":\"Syntax: CELLHEADER ; \\n      \\nSignals the beginning of a CELLHEADER block; \\n\\nWithin a CELL block, a CELLHEADER block can be used to generate one or more header \\nlines within the cell. Each header line is specified on a separate GTL-statement \\nwithin the CELLHEADER block. The header block is typically used to specify one or \\nmore text statements, but other statements are allowed within the block. \\n\\nRequirement: You must specify an ENDCELLHEADER statement to complete the CELLHEADER \\nstatement block. \\n\\nTip: You can generate multiple headings by specifying multiple ODS-Graph-statement(s) \\nwithin a CELLHEADER statement block.\"},\"StatementOptions\":null},{\"StatementName\":\"ENDCELLHEADER\",\"StatementHelp\":{\"#cdata\":\"Syntax: ENDCELLHEADER ; \\n      \\nSignals the end of a CELLHEADER block.\"},\"StatementOptions\":null},{\"StatementName\":\"SIDEBAR\",\"StatementHelp\":{\"#cdata\":\"Syntax: SIDEBAR </ ALIGN=TOP|BOTTOM|RIGHT|LEFT> ; \\n      \\nSignals the beginning of a SIDEBAR block; \\n\\nFour sidebar areas are available: two that span all columns (one on the TOP and one \\non the BOTTOM), and two that span all rows (one on the RIGHT and one on the LEFT).\"},\"StatementOptions\":{\"StatementOption\":{\"StatementOptionName\":\"ALIGN=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: ALIGN= TOP | BOTTOM | LEFT | RIGHT ] \\n          \\nSpecifies the location of the sidebar block.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"TOP\",\"@Value2\":\"BOTTOM\",\"@Value3\":\"LEFT\",\"@Value4\":\"RIGHT\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Sidebar block spans across all columns on the top.\",\"@ToolTip2\":\"Sidebar block spans across all columns on the bottom.\",\"@ToolTip3\":\"Sidebar block spans across all row on the left.\",\"@ToolTip4\":\"Sidebar block spans across all row on the right.\"}}}},{\"StatementName\":\"ENDSIDEBAR\",\"StatementHelp\":{\"#cdata\":\"Syntax: ENDSIDEBAR ; \\n      \\nSignals the end of a SIDEBAR block.\"},\"StatementOptions\":null},{\"StatementName\":\"INNERMARGIN\",\"StatementHelp\":{\"#cdata\":\"Syntax: INNERMARGIN < /option(s)>; \\n      block-plot-statement(s); | axis-table statement(s);\\n\\n    ENDINNERMARGIN;\\n      \\nProvides a nested region in a LAYOUT OVERLAY or LAYOUT PROTOTYPE container in which a block plot \\nor axis table can be placed.\"},\"StatementOptions\":{\"StatementOption\":[{\"StatementOptionName\":\"ALIGN=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: ALIGN= TOP | BOTTOM | LEFT | RIGHT ] \\n          \\nSpecifies the location of the sidebar block.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"TOP\",\"@Value2\":\"BOTTOM\",\"@Value3\":\"LEFT\",\"@Value4\":\"RIGHT\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Sidebar block spans across all columns on the top.\",\"@ToolTip2\":\"Sidebar block spans across all columns on the bottom.\",\"@ToolTip3\":\"Sidebar block spans across all row on the left.\",\"@ToolTip4\":\"Sidebar block spans across all row on the right.\"}},{\"StatementOptionName\":\"BACKGROUNDCOLOR=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: BACKGROUNDCOLOR=style-reference | color] \\n          \\nSpecifies the color of the inner margin background. \\n\\nstyle-reference \\nA reference in the form style-element:style-attribute. Only the style-attribute named COLOR or CONTRASTCOLOR are used. \\n\\ncolor\\nspecifies a color. \\n\\nDefault: The graph wall color.  \\nInteraction: For this option to have any effect, the OPAQUE= option must be set to TRUE.  \\nNote: The inner margin background is set to the wall color even when WALLDISPLAY= NONE.\"},\"StatementOptionType\":\"C\"},{\"StatementOptionName\":\"GUTTER=\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: GUTTER=dimension\\n\\nSpecifies the gap between nested layouts.\\n\\nDefault 0 \\nNote The default units for dimension are pixels.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"OPAQUE=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies whether the layout background is opaque (TRUE) or transparent (FALSE). The default \\nis FALSE.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"FALSE\",\"@Value2\":\"TRUE\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Specifies that the layout background is transparent.\",\"@ToolTip2\":\"Specifies that the layout background is opaque.\"}},{\"StatementOptionName\":\"PAD=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: PAD=dimension | (pad-options)] \\n          \\nSpecifies the amount of extra space that is added inside the layout border. The default padding \\nfor all sides is 0. Values without units are in pixels (px). A unit must be provided if other than pixels.\\n\\ndimension \\nSpecifies a dimension to use for the extra space at the left, right, top, and bottom of the layout border. \\n\\n(pad-options) \\nEnables separate settings for the left, right, top, and bottom padding dimensions. Use the pad-options to\\ncreate non-uniform padding. These options must be enclosed in parentheses.\\n\\nValues without units are in pixels (px). A unit must be provided if other than pixels.\\n\\n    LEFT=dimension \\n    specifies the amount of extra space added to the left side. \\n\\n    RIGHT=dimension \\n    specifies the amount of extra space added to the right side. \\n\\n    TOP=dimension \\n    specifies the amount of extra space added to the top. \\n\\n    BOTTOM=dimension \\n    specifies the amount of extra space added to the bottom.\"},\"StatementOptionType\":\"V\",\"SubOptionsKeywords\":\"BOTTOM=|TOP=|RIGHT=|LEFT=\"},{\"StatementOptionName\":\"SEPARATOR=\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: SEPARATOR=TRUE | FALSE\\n\\nSpecifies whether a separating line is drawn between the inner margin and the rest of the layout content.\\n\\nNote: This option is valid in the first maintenance release of SAS 9.4 and later releases. \\n\\nDefault: FALSE \\nTip: Use the SEPARATORATTRS= option to specify the attributes of the separating line.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"TRUE\",\"@Value2\":\"FALSE\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Specifies that a separating line is drawn between the inner margin and the rest of the layout content.\",\"@ToolTip2\":\"Specifies that no separating line is drawn between the inner margin and the rest of the layout content.\"}},{\"StatementOptionName\":\"SEPARATORATTRS=\",\"StatementOptionHelp\":{\"#cdata\":\"Syntax: SEPARATORATTRS=style-element | style-element (line-options) | (line-options) \\n\\nSpecifies the attributes of the inner margin separating line.\\n\\nNote: This option is valid in the first maintenance release of SAS 9.4 and later releases. \\n\\nDefault: The graphAxisLines style element \\nInteraction: This option is ignored when SEPARATOR=FALSE.\"},\"StatementOptionType\":\"V\"}]}},{\"StatementName\":\"ENDINNERMARGIN\",\"StatementHelp\":{\"#cdata\":\"Syntax: ENDINNERMARGIN ; \\n      \\nSignals the end of an ENDINNERMARGIN block.\"},\"StatementOptions\":null},{\"StatementName\":\"AXISCOMP\",\"StatementHelp\":{\"#cdata\":\"Syntax: AXISCOMP axis-option(s); \\n      \\nSpecifies one or more axis options. \\n\\nRequirement: The AXISCOMP statement must be used inside of a primary or secondary column \\nor row axis statement block. \\n\\nRequirement: You must specify at least one axis-option. \\n\\nRequirement: Within a COLUMNAXES statement block, the number of AXISCOMP statements must \\nmatch the number of columns. \\n\\nRequirement: Within a ROWAXES statement block, the number of AXISCOMP statements must match \\nthe number of rows. \\n\\nRestriction:  You cannot use the THRESHOLDMAX or THRESHOLDMIN axis options with the \\nAXISCOMP statement.\"},\"StatementOptions\":{\"StatementOption\":[{\"StatementOptionName\":\"DISPLAY=\",\"StatementOptionHelp\":{\"#cdata\":\"Controls the display of the axis features such as the axis label, line, tick marks, \\nand values.\\n\\nDefault:  ALL \\n\\nRequirement:  The display-options must be enclosed in parentheses and separated by spaces.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"ALL\",\"@Value2\":\"NONE\",\"@Value3\":\"<(display-options)>\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Specifies that the axis label, line, tick marks, and values are displayed.\",\"@ToolTip2\":\"Specifies that no axis features are displayed.\",\"@ToolTip3\":\"Specifies one or more display options.     LABEL    displays the axis label.     LINE    displays the axis line.     TICKS    displays the axis tick marks.     VALUES    displays the values that are represented by the tick marks.\"}},{\"StatementOptionName\":\"INTEGER=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies whether evenly spaced integer values are used for tick marks.\\n\\nDefault:  FALSE \\n\\nInteraction:  The INTEGER= option is overridden by the TICKS= axis option. If the \\nvariable is not continuous, then INTEGER= option is ignored. \\n\\nRestriction:  The INTEGER= option is ignored on the X axis for bar charts, box plots, \\nand histograms.\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"TRUE\",\"@Value2\":\"FALSE\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Specifies that evenly spaced integer values are used for tick marks.\",\"@ToolTip2\":\"Specifies that evenly spaced integer values are not used for tick marks.\"}},{\"StatementOptionName\":\"LABEL=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: LABEL= 'string'] \\n          \\nSpecifies the axis label.\\n\\nDefault:  The default is to use the label of the column associated with the axis. \\nIf the label does not exist, the column name is used as the label. \\n\\nNote:   For a computed column, the default is the expression used to compute the column.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"LABELFONTSIZE=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: LABELFONTSIZE= dimension | style-reference] \\n          \\nSpecifies the font size used to display the axis label.\\n\\nDefault:  specified by the GraphLabelText:font_size style attribute.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"THRESHOLDMAX=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: THRESHOLDMAX= number] \\n          \\nSpecifies a threshold for displaying one more tick mark at the high end of the axis. \\nThe threshold is expressed as a decimal proportion of the tick interval, and it is \\nmeasured from the potential tick value. If the largest data value lies within this \\nthreshold distance from the potential tick mark, then the tick mark is displayed.\\n\\nDefault:  .30 \\nRange:  0 - 1 \\n\\nInteraction:  If the variable is not continuous, then the THRESHOLDMAX= option is ignored. \\n\\nTip:  If the threshold is set to 0, the potential tick mark is never displayed. If the \\nthreshold is set to 1, the tick mark is always displayed. \\n\\nTip:  Specifying THRESHOLDMIN=0 and THRESHOLDMAX=0 prevents the tick marks from extending \\nbeyond the data range. \\n\\nTip:  Specifying THRESHOLDMIN=1 and THRESHOLDMAX=1 ensures that the data range is bounded \\nby tick marks. \\n\\nTip:  For the minimum axis length, set the THRESHOLDMIN= and THRESHOLDMAX= options to 0.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"THRESHOLDMIN=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: THRESHOLDMIN= number] \\n          \\nSpecifies a threshold for displaying one more tick mark at the low end of the axis. \\nThe threshold is expressed as a decimal proportion of the tick interval, and it is \\nmeasured from the potential tick value. If the lowest data value lies within this \\nthreshold distance from the potential tick mark, then the tick mark is displayed.\\n\\nDefault:  .30 \\nRange:  0 - 1 \\n\\nInteraction:  If the variable is not continuous, then the THRESHOLDMIN= option is ignored. \\n\\nTip:  If the threshold is set to 0, the potential tick mark is never displayed. If the \\nthreshold is set to 1, the tick mark is always displayed. \\n\\nTip:  Specifying THRESHOLDMIN=0 and THRESHOLDMAX=0 prevents the tick marks from extending \\nbeyond the data range. \\n\\nTip:  Specifying THRESHOLDMIN=1 and THRESHOLDMAX=1 ensures that the data range is bounded \\nby tick marks. \\n\\nTip:  For the minimum axis length, set the THRESHOLDMIN= and THRESHOLDMAX= options to 0.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"TICKDISPLAY=\",\"StatementOptionHelp\":{\"#cdata\":\"Specifies where tick marks are displayed. \\n          \\nDefault:  OUTSIDE\"},\"StatementOptionType\":\"V\",\"StatementOptionValues\":{\"@Value1\":\"OUTSIDE\",\"@Value2\":\"INSIDE\",\"@Value3\":\"BOTH\"},\"StatementOptionToolTips\":{\"@ToolTip1\":\"Displays tick marks outside of the axis lines.\",\"@ToolTip2\":\"Displays tick marks inside of the axis lines.\",\"@ToolTip3\":\"Displays tick marks across the axis lines.\"}},{\"StatementOptionName\":\"TICKS=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: TICKS= ( numeric-list )] \\n          \\nSpecifies the tick values for the axis.\\n\\nRequirement:  The numeric-list must be enclosed in parentheses and separated by spaces. \\n\\nInteraction:  If the variable is not continuous, then the TICKS= option is ignored. \\n\\nTip:  If ticks are specified outside of the axis range, then the axis range is extended \\nto display the ticks.\"},\"StatementOptionType\":\"V\"},{\"StatementOptionName\":\"VALUEFONTSIZE=\",\"StatementOptionHelp\":{\"#cdata\":\"[Syntax: VALUEFONTSIZE= dimension | style-reference] \\n          \\nSpecifies the font size used to display the tick values.\\n\\nDefault:  specified by the GraphValueText:font_size style attribute.\"},\"StatementOptionType\":\"V\"}]}},{\"StatementName\":\"EXTERNALAXIS\",\"StatementOptions\":null},{\"StatementName\":\"IF\",\"StatementHelp\":{\"#cdata\":\"GTL supports conditional logic that enables you to include or exclude one or more \\nGTL statements at runtime: \\n\\nSyntax: \\nIF ( condition ) \\n  GTL statement(s); \\nELSE\\n  GTL statement(s); \\nENDIF ;\"},\"StatementOptions\":null},{\"StatementName\":\"ELSE\",\"StatementHelp\":{\"#cdata\":\"GTL supports conditional logic that enables you to include or exclude one or more \\nGTL statements at runtime: \\n\\nSyntax: \\nIF ( condition ) \\n  GTL statement(s); \\nELSE\\n  GTL statement(s); \\nENDIF ;\"},\"StatementOptions\":null},{\"StatementName\":\"ENDIF\",\"StatementHelp\":{\"#cdata\":\"Delimits an IF statement block.\"},\"StatementOptions\":null}]}}}"
  },
  {
    "path": "server/data/SASARMMacros.json",
    "content": "{\"Keywords\":{\"Keyword\":[{\"Name\":\"%ARMEND\",\"Type\":\"MACRO_ARM\",\"Help\":{\"#cdata\":\"Indicates the termination of an application. \\n    \\nSyntax: %ARMEND< (option-1 <, ...option-n>)>; \\n\\nAvailable options are:\\n\\n  APPID=numeric variable or constant \\n  is the application ID to use on the ARM_GETID function call. The value must be a numeric \\n  variable or constant. \\n\\n  APPIDVAR=numeric variable \\n  is the application ID. The value must be a numeric variable.\\n\\n  LEVEL=numeric variable or constant \\n  is a variable that specifies the execution level. The value must be a numeric constant or variable.\\n\\n  MACONLY=NO | YES \\n  enables the %ARMEND macro to be issued in open code. You set the value to YES if the macro can be \\n  issued in open code, and NO if it can be issued only in a DATA step.\\n\\n  Default: NO \\n\\n  SCL=NO | YES \\n  is used only in SCL programs and specifies whether the macro is in an SCL environment. Set the value\\n  to YES if the macro is in an SCL environment, and NO if it is not. Default: NO\"}},{\"Name\":\"%ARMGTID\",\"Type\":\"MACRO_ARM\",\"Help\":{\"#cdata\":\"Assigns a unique identifier to a transaction class. \\n    \\nSyntax: %ARMGTID (TXNNAME='transaction-name' < option-1 <, ...option-n>>); \\n\\nUse the %ARMGTID macro to name a transaction class. Transaction classes are related \\nunits of work within an application. One or more %ARMGTID macros are typically issued \\nwhen the application starts to name each of the transaction classes used by the application. \\nThe %ARMGTID macro produces only one \\nrecord for each transaction class, even if there are multiple %ARMGTID macros for the \\nsame transaction class.\"}},{\"Name\":\"%ARMINIT\",\"Type\":\"MACRO_ARM\",\"Help\":{\"#cdata\":\"Signifies the initialization of an application. \\n    \\nSyntax: %ARMINIT (APPNAME='application-name' <, option-1 <, ...option-n>>); \\n\\nAvailable options are:\\n\\n  APPIDVAR=numeric variable -- is the application ID. The value must be a numeric variable. \\n\\n  APPUSER='application-userID' -- is the application user ID. The value is a SAS character variable or quoted literal. \\n\\n  GETID=NO | YES -- is optional and denotes whether to generate an ARM_GETID function call after ARM_INIT. Default: NO \\n\\n  LEVEL=numeric constant or variable -- is a variable that specifies the execution level. \\n\\n  MACONLY=NO | YES -- enables the %ARMINIT macro to be issued in open code. Default: NO \\n\\n  SCL=NO | YES -- is used only in SCL programs and specifies whether the macro is in an SCL environment. Default: NO \\n\\n  TXNIDVAR=numeric variable -- is a numeric variable that contains the value of the transaction ID. \\n\\n  TXNDET='name' -- is a transaction detail. The value is a SAS character variable or quoted literal. \\n\\n  TXNNAME='transaction-name' -- is the transaction name. The value is a SAS character variable or quoted literal value.\"}},{\"Name\":\"%ARMSTOP\",\"Type\":\"MACRO_ARM\",\"Help\":{\"#cdata\":\"Marks the end of a transaction instance. \\n    \\nSyntax: %ARMSTOP (<option1 <, ...option-n>>);\\n\\nAvailable options are:\\n\\n  LEVEL=numeric constant or variable \\n  is a variable that specifies the execution level. The value must be a numeric constant or variable.\\n\\n  MACONLY=NO | YES \\n  enables the %ARMSTOP macro to be issued in open code. You set the value to YES if the macro can be \\n  issued in open code, and NO if it can be issued only in a DATA step. \\n\\n  METRVAL1-7='name' \\n  is the value of the user-defined metric. The value must be a SAS character variable or a quoted literal \\n  value up to eight characters in length.\\n\\n  SCL=NO | YES \\n  is used only in SCL programs and specifies whether the macro is in an SCL environment. Set the value \\n  to YES if the macro is in an SCL environment, and NO if it is not. Default: NO \\n\\n  SHANDLE=numeric variable or constant \\n  is the start handle to use on the ARM_UPDATE function call. The value must be a numeric variable or constant. \\n\\n  SHDLVAR=numeric variable \\n  is a numeric variable that contains the value of the start handle. \\n\\n  STATUS=numeric variable or numeric constant \\n  is a transaction status value to pass to the ARM_STOP function call. The value must be a numeric \\n  variable or numeric constant 0, 1, or 2. The default is 0.\"}},{\"Name\":\"%ARMSTRT\",\"Type\":\"MACRO_ARM\",\"Help\":{\"#cdata\":\"Signals the start of execution of a transaction instance and returns a unique handle that is passed \\nto %ARMUPDT and %ARMSTOP. \\n\\nSyntax: %ARMSTRT (option-1 <, ...option-n>); \\n\\nAvailable options are: \\n\\n  APPID=numeric variable or constant -- is the application ID to use on the ARM_GETID function call. \\n\\n  APPIDVAR=numeric variable -- is the application ID. The value must be a numeric variable.\\n\\n  CORR=n -- defines the type of parent and child transactions. Default: 0 \\n\\n  GETID=NO | YES -- is optional and denotes whether to generate an ARM_GETID function call before ARM_START. Default: NO \\n\\n  LEVEL=numeric constant or variable \\n  is a variable that specifies the execution level. The value must be a numeric constant or variable.\\n\\n  MACONLY=NO | YES -- enables the %ARMSTRT macro to be issued in open code. Default: NO \\n\\n  METRVAL1-7='name' -- is the value of the user-defined metric. The value must be a SAS character variable or a quoted literal.  \\n\\n  PARNTVAR=numeric variable -- is a numeric variable that contains the value of the parent transaction start handle. \\n\\n  SCL=NO | YES -- is used only in SCL programs and specifies whether the macro is in an SCL environment. Default: NO \\n\\n  SHDLVAR=numeric variable -- is a numeric variable that contains the value of the start handle. \\n\\n  TXNDET='name' -- is a transaction detail. The value is a SAS character variable or quoted literal.\\n\\n  TXNID=numeric variable or constant -- is the transaction ID to use in the ARM_START function call. \\n\\n  TXNIDVAR=numeric variable -- is a numeric variable that contains the value of the transaction ID when GETID=NO. . \\n\\n  TXNNAME='transaction-name' -- is the transaction name. The value is a SAS character variable or quoted literal.\"}},{\"Name\":\"%ARMUPDT\",\"Type\":\"MACRO_ARM\",\"Help\":{\"#cdata\":\"Updates a transaction that has been previously started. \\n    \\nSyntax: %ARMUPDT (DATA='variable', <option-1 <, ...option-n>>); \\n\\nwhere: \\n\\n  DATA='variable' -- is a SAS character variable or a quoted literal from the user-supplied data buffer that \\n  contains text to pass to the ARM_UPDATE function call. DATA= is not required, but it is highly recommended. \\n\\n  LEVEL=numeric constant or variable \\n  is a variable that specifies the execution level. The value must be a numeric constant or variable.\\n\\n  MACONLY=NO | YES -- enables the %ARMUPDT macro to be issued in open code. Default: NO \\n\\n  METRVAL1-7='name' \\n  is the value of the user-defined metric. The value must be a SAS character variable or a quoted literal. \\n\\n  SCL=NO | YES \\n  is used only in SCL programs and specifies whether the macro is in an SCL environment. Default: NO \\n\\n  SHANDLE=numeric or constant \\n  is the start handle to use on the ARM_UPDATE function call. The value must be a numeric or constant.\\n\\n  SHDLVAR=numeric variable -- is a numeric variable that contains the value of the start handle.\"}},{\"Name\":\"%ARMCONV\",\"Type\":\"MACRO_ARM\",\"Help\":{\"#cdata\":\"Converts a SAS System 9 or later ARM log written in simple format to the more readable \\nlabel=item ARM format used in Release 8.2.\"}},{\"Name\":\"%ARMJOIN\",\"Type\":\"MACRO_ARM\",\"Help\":{\"#cdata\":\"Reads the six SAS data sets created by the %ARMPROC macro and creates SAS data sets and \\nSQL views that contain common information about applications and transactions.\\n\\nSyntax: %ARMJOIN (<option-1 <, ...option-n>>); \\n\\nAvailable options are: \\n\\n  LIBIN=libref \\n  is the libref for the SAS library that contains the six SAS data sets that are created \\n  by the %ARMPROC macro. Default: WORK \\n\\n  LIBOUT=libref \\n  is the libref for the SAS library that contains the application and transaction data sets. \\n  Default: WORK \\n  Restriction: If a Read-only library is specified in the LIBOUT= option, an error message \\n  is written to the ARM log and processing is stopped. \\n\\n  TXNDS=YES | NO \\n  specifies whether the transaction data sets are to be created. Default: YES \\n\\n  UPDTDS=YES | NO \\n  specifies whether the update data sets are to be created. Default: YES\"}},{\"Name\":\"%ARMPROC\",\"Type\":\"MACRO_ARM\",\"Help\":{\"#cdata\":\"Processes an input ARM log and outputs six SAS data sets that contain the gathered \\ninformation from the log. \\n    \\nSyntax: %ARMPROC (<option-1 <, ...option-n>>); \\n\\nAvailable options are:\\n\\n  LIB=libref \\n  is the libref for the SAS library that contains the six SAS data sets. Default: WORK \\n\\n  LOG=pathname \\n  is the pathname for the physical location of the ARM log. If a pathname is not specified, \\n  you must pre-assign the ARMLOG fileref before calling the macro.\\n\\n  LOGNEW=pathname \\n  is the pathname of the physical location of the new ARM log. It is used when ARM \\n  processing is resumed.\"}},{\"Name\":\"%PERFEND\",\"Type\":\"MACRO_ARM\",\"Help\":{\"#cdata\":\"Syntax: %PERFEND;\\n    \\nIndicates the termination of the application.\\n\\nUse the %PERFEND macro to terminate an application or user event. Each %PERFEND macro \\nis paired with one %PERFINIT macro to mark the end of an application. The %PERFEND means \\nthat the application does not issue any more ARM calls. ARM calls issued after an application \\nhas been terminated with the %PERFEND macro result in an error. All transaction class \\nidentifiers are cleared and are no longer available after the %PERFEND macro.\"}},{\"Name\":\"%PERFINIT\",\"Type\":\"MACRO_ARM\",\"Help\":{\"#cdata\":\"Names the application instance and initializes the ARM interface. \\n    \\nSyntax: %PERFINIT(APPNAME='application-name'); \\n    \\nAPPNAME='application-name'; \\nis the application name. The value is a SAS character variable or quoted literal. \\n\\nRestriction: The application name has a 127-character limit.\"}},{\"Name\":\"%PERFSTOP\",\"Type\":\"MACRO_ARM\",\"Help\":{\"#cdata\":\"Specifies the end of a transaction. \\n    \\nSyntax: %PERFSTOP; \\n\\nThere are no input parameters for the %PERFSTOP macro. \\n\\nUse the %PERFSTOP macro to signal the end of a transaction that was started using \\nthe %PERFSTRT macro. The %PERFSTOP macro contains default user metrics. To see the \\nrelationships between %PERFSTOP and the default user metrics, see Default User \\nMetrics and Performance Macros.\"}},{\"Name\":\"%PERFSTRT\",\"Type\":\"MACRO_ARM\",\"Help\":{\"#cdata\":\"Syntax: %PERFSTRT(TXNNAME='transaction-name'); \\n    \\nUse the %PERFSTRT macro to signal the start of a transaction. The %PERFSTRT macro \\ncontains default user metrics. \"}}]}}"
  },
  {
    "path": "server/data/SASAutoVariables.json",
    "content": "{\"Keywords\":{\"Keyword\":[{\"Name\":\"SYSBUFFR\",\"Type\":\"AUTOMATIC_VARIABLE\",\"Help\":{\"#cdata\":\"Contains text that is entered in response to a %INPUT statement when there is no \\ncorresponding macro variable.\"}},{\"Name\":\"SYSLOGAPPLNAME\",\"Type\":\"AUTOMATIC_VARIABLE\",\"Help\":{\"#cdata\":\"Contains the value of the LOGAPPLNAME= system option.\"}},{\"Name\":\"SYSODSPATH\",\"Type\":\"AUTOMATIC_VARIABLE\",\"Help\":{\"#cdata\":\"Contains the current Output Delivery System (ODS) pathname.\"}},{\"Name\":\"SYSERRORTEXT\",\"Type\":\"AUTOMATIC_VARIABLE\",\"Help\":{\"#cdata\":\"Contains the text of the last error message formatted for display in the SAS log.\"}},{\"Name\":\"SYSHOSTNAME\",\"Type\":\"AUTOMATIC_VARIABLE\",\"Help\":{\"#cdata\":\"Contains the host name of a computer.\"}},{\"Name\":\"SYSTCPIPHOSTNAME\",\"Type\":\"AUTOMATIC_VARIABLE\",\"Help\":{\"#cdata\":\"Contains the host names of the local and remote computers when multiple TCP/IP stacks \\nare supported.\"}},{\"Name\":\"SYSWARNINGTEXT\",\"Type\":\"AUTOMATIC_VARIABLE\",\"Help\":{\"#cdata\":\"Contains the text of the last warning message formatted for display in the SAS log.\"}},{\"Name\":\"SYSENCODING\",\"Type\":\"AUTOMATIC_VARIABLE\",\"Help\":{\"#cdata\":\"Contains the name of the current session encoding.\"}},{\"Name\":\"SYSBUFFER\",\"Type\":\"AUTOMATIC_VARIABLE\",\"Help\":{\"#cdata\":\"Unmatched text from %INPUT.\"}},{\"Name\":\"SYSCC\",\"Type\":\"AUTOMATIC_VARIABLE\",\"Help\":{\"#cdata\":\"The current condition code that SAS returns to your operating environment (the operating \\nenvironment condition code).\"}},{\"Name\":\"SYSCMD\",\"Type\":\"AUTOMATIC_VARIABLE\",\"Help\":{\"#cdata\":\"Last unrecognized command from the command line of a macro window.\"}},{\"Name\":\"SYSDEVIC\",\"Type\":\"AUTOMATIC_VARIABLE\",\"Help\":{\"#cdata\":\"Name of current graphics device.\"}},{\"Name\":\"SYSDMG\",\"Type\":\"AUTOMATIC_VARIABLE\",\"Help\":{\"#cdata\":\"Return code that reflects an action taken on a damaged data set.\"}},{\"Name\":\"SYSDSN\",\"Type\":\"AUTOMATIC_VARIABLE\",\"Help\":{\"#cdata\":\"Name of most recent SAS data set in two fields.\"}},{\"Name\":\"SYSFILRC\",\"Type\":\"AUTOMATIC_VARIABLE\",\"Help\":{\"#cdata\":\"Return code set by the FILENAME statement.\"}},{\"Name\":\"SYSLAST\",\"Type\":\"AUTOMATIC_VARIABLE\",\"Help\":{\"#cdata\":\"Name of most recent SAS data set in one field.\"}},{\"Name\":\"SYSLCKRC\",\"Type\":\"AUTOMATIC_VARIABLE\",\"Help\":{\"#cdata\":\"Return code set by the LOCK statement.\"}},{\"Name\":\"SYSLIBRC\",\"Type\":\"AUTOMATIC_VARIABLE\",\"Help\":{\"#cdata\":\"Return code set by the LIBNAME statement.\"}},{\"Name\":\"SYSMSG\",\"Type\":\"AUTOMATIC_VARIABLE\",\"Help\":{\"#cdata\":\"Message for display in macro window.\"}},{\"Name\":\"SYSPARM\",\"Type\":\"AUTOMATIC_VARIABLE\",\"Help\":{\"#cdata\":\"Value specified with the SYSPARM= system option.\"}},{\"Name\":\"SYSPBUFF\",\"Type\":\"AUTOMATIC_VARIABLE\",\"Help\":{\"#cdata\":\"Text of macro parameter values.\"}},{\"Name\":\"SYSRC\",\"Type\":\"AUTOMATIC_VARIABLE\",\"Help\":{\"#cdata\":\"Various system-related return codes.\"}},{\"Name\":\"SYSCHARWIDTH\",\"Type\":\"AUTOMATIC_VARIABLE\",\"Help\":{\"#cdata\":\"The character width value.\"}},{\"Name\":\"SYSDATE\",\"Type\":\"AUTOMATIC_VARIABLE\",\"Help\":{\"#cdata\":\"The character value representing the date a SAS job or session began executing \\n(two-digit year).\"}},{\"Name\":\"SYSDATE9\",\"Type\":\"AUTOMATIC_VARIABLE\",\"Help\":{\"#cdata\":\"The character value representing the date a SAS job or session began executing \\n(four-digit year).\"}},{\"Name\":\"SYSDAY\",\"Type\":\"AUTOMATIC_VARIABLE\",\"Help\":{\"#cdata\":\"Day of week SAS job or session began executing.\"}},{\"Name\":\"SYSENV\",\"Type\":\"AUTOMATIC_VARIABLE\",\"Help\":{\"#cdata\":\"Foreground or background indicator.\"}},{\"Name\":\"SYSERR\",\"Type\":\"AUTOMATIC_VARIABLE\",\"Help\":{\"#cdata\":\"Return code set by SAS procedures and the DATA step.\"}},{\"Name\":\"SYSINDEX\",\"Type\":\"AUTOMATIC_VARIABLE\",\"Help\":{\"#cdata\":\"Number of macros that have begun execution during this session.\"}},{\"Name\":\"SYSINFO\",\"Type\":\"AUTOMATIC_VARIABLE\",\"Help\":{\"#cdata\":\"Return code information.\"}},{\"Name\":\"SYSJOBID\",\"Type\":\"AUTOMATIC_VARIABLE\",\"Help\":{\"#cdata\":\"Name of current batch job or userid (varies by host environment).\"}},{\"Name\":\"SYSMACRONAME\",\"Type\":\"AUTOMATIC_VARIABLE\",\"Help\":{\"#cdata\":\"Name of current executing macro.\"}},{\"Name\":\"SYSMENV\",\"Type\":\"AUTOMATIC_VARIABLE\",\"Help\":{\"#cdata\":\"Current macro execution environment.\"}},{\"Name\":\"SYSNCPU\",\"Type\":\"AUTOMATIC_VARIABLE\",\"Help\":{\"#cdata\":\"The current number of processors that SAS may use in computation.\"}},{\"Name\":\"SYSPROCESSID\",\"Type\":\"AUTOMATIC_VARIABLE\",\"Help\":{\"#cdata\":\"The process id of the current SAS process.\"}},{\"Name\":\"SYSPROCESSNAME\",\"Type\":\"AUTOMATIC_VARIABLE\",\"Help\":{\"#cdata\":\"The process name of the current SAS process.\"}},{\"Name\":\"SYSPROCNAME\",\"Type\":\"AUTOMATIC_VARIABLE\",\"Help\":{\"#cdata\":\"Name of current procedure being processed.\"}},{\"Name\":\"SYSSCP\",\"Type\":\"AUTOMATIC_VARIABLE\",\"Help\":{\"#cdata\":\"The abbreviation of an operating system.\"}},{\"Name\":\"SYSSCPL\",\"Type\":\"AUTOMATIC_VARIABLE\",\"Help\":{\"#cdata\":\"The name of an operating system.\"}},{\"Name\":\"SYSSITE\",\"Type\":\"AUTOMATIC_VARIABLE\",\"Help\":{\"#cdata\":\"The number assigned to your site.\"}},{\"Name\":\"SYSSTARTID\",\"Type\":\"AUTOMATIC_VARIABLE\",\"Help\":{\"#cdata\":\"The id generated from the last STARTSAS statement.\"}},{\"Name\":\"SYSSTARTNAME\",\"Type\":\"AUTOMATIC_VARIABLE\",\"Help\":{\"#cdata\":\"The process name generated from the last STARTSAS statement.\"}},{\"Name\":\"SYSTIME\",\"Type\":\"AUTOMATIC_VARIABLE\",\"Help\":{\"#cdata\":\"The character value of the time a SAS job or session began executing.\"}},{\"Name\":\"SYSUSERID\",\"Type\":\"AUTOMATIC_VARIABLE\",\"Help\":{\"#cdata\":\"The userid or login of the current SAS process.\"}},{\"Name\":\"SYSVER\",\"Type\":\"AUTOMATIC_VARIABLE\",\"Help\":{\"#cdata\":\"Release or version number of SAS software executing.\"}},{\"Name\":\"SYSVLONG\",\"Type\":\"AUTOMATIC_VARIABLE\",\"Help\":{\"#cdata\":\"Contains the release number and maintenance level of SAS software that is running.\"}},{\"Name\":\"SYSVLONG4\",\"Type\":\"AUTOMATIC_VARIABLE\",\"Help\":{\"#cdata\":\"Contains the release number and maintenance level of SAS software that is running and \\nhas a four digit year.\"}},{\"Name\":\"SYSADDRBITS\",\"Type\":\"AUTOMATIC_VARIABLE\",\"Help\":{\"#cdata\":\"Contains the number of bits of an address.\"}},{\"Name\":\"SYSENDIAN\",\"Type\":\"AUTOMATIC_VARIABLE\",\"Help\":{\"#cdata\":\"Contains an indication of the byte order of the current session. \\n    \\nThe possible values are LITTLE or BIG\"}},{\"Name\":\"SYSNOBS\",\"Type\":\"AUTOMATIC_VARIABLE\",\"Help\":{\"#cdata\":\"Contains the number of observations read from the last data set that was closed by the previous \\nprocedure or DATA step.\"}},{\"Name\":\"SYSODSESCAPECHAR\",\"Type\":\"AUTOMATIC_VARIABLE\",\"Help\":{\"#cdata\":\"Displays the value of the ODS ESCAPECHAR= from within the program.\"}},{\"Name\":\"SYSSIZEOFLONG\",\"Type\":\"AUTOMATIC_VARIABLE\",\"Help\":{\"#cdata\":\"Contains the length in bytes of a long integer in the current session.\"}},{\"Name\":\"SYSSIZEOFPTR\",\"Type\":\"AUTOMATIC_VARIABLE\",\"Help\":{\"#cdata\":\"Contains the size in bytes of a pointer.\"}},{\"Name\":\"SYSSIZEOFUNICODE\",\"Type\":\"AUTOMATIC_VARIABLE\",\"Help\":{\"#cdata\":\"Contains the length in bytes of a Unicode character in the current session.\"}},{\"Name\":\"SYSDATASTEPPHASE\",\"Type\":\"AUTOMATIC_VARIABLE\",\"Help\":{\"#cdata\":\"Indicates the current running phase of the DATA step. \\n    \\nEnsures that the macro is being executed as part of the proper phase of a DATA step. \\n\\nType: Automatic macro variable (read only)\"}},{\"Name\":\"SYSHOSTINFOLONG\",\"Type\":\"AUTOMATIC_VARIABLE\",\"Help\":{\"#cdata\":\"Contains the operating environment information that is displayed when the HOSTINFOLONG option is specified. \\n    \\nType: Automatic macro variable (read only)\"}},{\"Name\":\"SYSPROCESSMODE\",\"Type\":\"AUTOMATIC_VARIABLE\",\"Help\":{\"#cdata\":\"Contains the name of the current SAS session run mode or server type. \\n    \\nType: Automatic macro variable (read only)\"}},{\"Name\":\"SYSTIMEZONE\",\"Type\":\"AUTOMATIC_VARIABLE\",\"Help\":{\"#cdata\":\"Contains the time zone name based on TIMEZONE option. \\n    \\nType: Automatic macro variable (read only)\"}},{\"Name\":\"SYSTIMEZONEIDENT\",\"Type\":\"AUTOMATIC_VARIABLE\",\"Help\":{\"#cdata\":\"Contains the time zone ID based on TIMEZONE option. \\n    \\nType: Automatic macro variable (read only)\"}},{\"Name\":\"SYSTIMEZONEOFFSET\",\"Type\":\"AUTOMATIC_VARIABLE\",\"Help\":{\"#cdata\":\"Contains the current time zone offset based on TIMEZONE option.\"}}],\"#comment\":[{},{}]}}"
  },
  {
    "path": "server/data/SASAutocallMacros.json",
    "content": "{\"Keywords\":{\"Keyword\":[{\"Name\":\"%CMPRES\",\"Type\":\"MACRO_AUTOCALL\",\"Help\":{\"#cdata\":\"Syntax: %CMPRES (text | text expression)\\n\\nCompresses multiple blanks and removes leading and trailing blanks.\"}},{\"Name\":\"%QCMPRES\",\"Type\":\"MACRO_AUTOCALL\",\"Help\":{\"#cdata\":\"Syntax: %QCMPRES (text | text expression)\\n\\nCompresses multiple blanks and removes leading and trailing blanks.\\n\\n%QCMPRES masks the result so special characters and mnemonic operators are treated \\nas text instead of being interpreted by the macro facility.\"}},{\"Name\":\"%COMPSTOR\",\"Type\":\"MACRO_AUTOCALL\",\"Help\":{\"#cdata\":\"Syntax: %COMPSTOR (PATHNAME=SAS-data-library)\\n\\nCompiles macros and stores them in a catalog in a permanent SAS library.\"}},{\"Name\":\"%DATATYP\",\"Type\":\"MACRO_AUTOCALL\",\"Help\":{\"#cdata\":\"Syntax:%DATATYP (text | text expression)\\n\\nReturns the data type (numeric or char) of a value.\"}},{\"Name\":\"%LEFT\",\"Type\":\"MACRO_AUTOCALL\",\"Help\":{\"#cdata\":\"Syntax: %LEFT(text | text expression)\\n    \\nLeft-aligns an argument by removing leading blanks.\"}},{\"Name\":\"%QLEFT\",\"Type\":\"MACRO_AUTOCALL\",\"Help\":{\"#cdata\":\"Syntax: %QLEFT(text | text expression)\\n\\nLeft-aligns an argument by removing leading blanks.\\n\\nQLEFT masks the result so special characters and mnemonic operators are treated as \\ntext instead of being interpreted by the macro facility.\"}},{\"Name\":\"%QLOWCASE\",\"Type\":\"MACRO_AUTOCALL\",\"Help\":{\"#cdata\":\"Syntax: %QLOWCASE(text | text expression)\\n\\nChanges uppercase characters to lowercase and returns a result that masks special \\ncharacters and mnemonic operators.\"}},{\"Name\":\"%SYSRC\",\"Type\":\"MACRO_AUTOCALL\",\"Help\":{\"#cdata\":\"[Syntax: %SYSRC(character-string)]\\n\\nReturns a value corresponding to an error condition.\"}},{\"Name\":\"%TRIM\",\"Type\":\"MACRO_AUTOCALL\",\"Help\":{\"#cdata\":\"Syntax: %TRIM(text | text expression)\\n\\nTrim trailing blanks.\"}},{\"Name\":\"%QTRIM\",\"Type\":\"MACRO_AUTOCALL\",\"Help\":{\"#cdata\":\"Syntax: %QTRIM(text | text expression)\\n    \\nTrim trailing blanks. Masks special characters and mnemonic operators.\"}},{\"Name\":\"%VERIFY\",\"Type\":\"MACRO_AUTOCALL\",\"Help\":{\"#cdata\":\"Syntax: %VERIFY(source, excerpt)\\n    \\nReturns the position of the first character unique to an expression.\"}},{\"Name\":\"%DQLOAD\",\"Type\":\"MACRO_AUTOCALL\",\"Help\":{\"#cdata\":\"Syntax: %DQLOAD(DQLOCALE=(locale1 ...localeN), DQSETUPLOC=`file-specification', <DQINFO=0 | 1>)\\n    \\nSets system option values and loads locales into memory.\"}},{\"Name\":\"%DQPUTLOC\",\"Type\":\"MACRO_AUTOCALL\",\"Help\":{\"#cdata\":\"Syntax: %DQPUTLOC(locale, <SHORT=0 | 1>, <PARSEDEFN=0 | 1)>\\n    \\nDisplays current information on a specified locale in the SAS log.\"}},{\"Name\":\"%DQUNLOAD\",\"Type\":\"MACRO_AUTOCALL\",\"Help\":{\"#cdata\":\"Syntax: %DQUNLOAD \\n    \\nUnloads all locales to increase the amount of free memory.\"}},{\"Name\":\"%KLOWCASE\",\"Type\":\"MACRO_AUTOCALL\",\"Help\":{\"#cdata\":\"Syntax: %KLOWCASE (text | text expression) \\n\\nChanges uppercase alphabetic characters to their lowercase equivalents. If the argument \\nmight contain a special character or mnemonic operator, listed below, use %QKLOWCAS. \\n\\n%KLOWCASE returns a result without quotation marks, even if the argument has quotation marks. \\n%QKLOWCAS produces a result with the following special characters and mnemonic operators masked \\nso the macro processor interprets them as text instead of as elements of the macro language: \\n\\n  & % ' \\\" ( ) + - * / < > = \\u00ac ^ ~ ; , blank AND OR NOT EQ NE LE LT GE GT IN \\n\\nAutocall macros are included in a SAS library. This library might not be installed at your site \\nor might be a site-specific version. If you cannot access this macro or if you want to find out \\nif the library is a site-specific version, see your on-site SAS support personnel.\"}},{\"Name\":\"%QKLOWCAS\",\"Type\":\"MACRO_AUTOCALL\",\"Help\":{\"#cdata\":\"Syntax: %QKLOWCAS (text | text expression) \\n\\nChanges uppercase alphabetic characters to their lowercase equivalents. If the argument \\nmight contain a special character or mnemonic operator, listed below, use %QKLOWCAS. \\n\\n%KLOWCASE returns a result without quotation marks, even if the argument has quotation marks. \\n%QKLOWCAS produces a result with the following special characters and mnemonic operators masked \\nso the macro processor interprets them as text instead of as elements of the macro language: \\n\\n  & % ' \\\" ( ) + - * / < > = \\u00ac ^ ~ ; , blank AND OR NOT EQ NE LE LT GE GT IN \\n\\nAutocall macros are included in a SAS library. This library might not be installed at your site \\nor might be a site-specific version. If you cannot access this macro or if you want to find out \\nif the library is a site-specific version, see your on-site SAS support personnel.\"}},{\"Name\":\"%KTRIM\",\"Type\":\"MACRO_AUTOCALL\",\"Help\":{\"#cdata\":\"Syntax: %KTRIM (text | text expression) \\n    \\nTrims trailing blanks. If the argument contains a special character or mnemonic operator, \\nlisted below, use %QKTRIM. \\n\\nQKTRIM produces a result with the following special characters and mnemonic operators masked \\nso the macro processor interprets them as text instead of as elements of the macro language: \\n\\n  & % ' \\\" ( ) + - * / < > = \\u00ac ? ~ ; , # blank AND OR NOT EQ NE LE LT GE GT IN \\n  \\nAutocall macros are included in a SAS library. This library might not be installed at your \\nsite or might be a site-specific version. If you cannot access this macro or if you want to \\nfind out if the library is a site-specific version, see your on-site SAS support personnel.\"}},{\"Name\":\"%QKTRIM\",\"Type\":\"MACRO_AUTOCALL\",\"Help\":{\"#cdata\":\"Syntax: %QKTRIM (text | text expression) \\n \\n    \\nTrims trailing blanks. If the argument contains a special character or mnemonic operator, \\nlisted below, use %QKTRIM. \\n\\nQKTRIM produces a result with the following special characters and mnemonic operators masked \\nso the macro processor interprets them as text instead of as elements of the macro language: \\n\\n  & % ' \\\" ( ) + - * / < > = \\u00ac ? ~ ; , # blank AND OR NOT EQ NE LE LT GE GT IN \\n  \\nAutocall macros are included in a SAS library. This library might not be installed at your \\nsite or might be a site-specific version. If you cannot access this macro or if you want to \\nfind out if the library is a site-specific version, see your on-site SAS support personnel.\"}},{\"Name\":\"%KVERIFY\",\"Type\":\"MACRO_AUTOCALL\",\"Help\":{\"#cdata\":\"Syntax: %KVERIFY (source, excerpt) \\n\\nReturns the position of the first character unique to an expression. \\n\\nArguments:\\nsource \\n  is text or a text expression that you want to examine for characters that do not exist in excerpt. \\nexcerpt \\n  is text or a text expression that defines the set of characters that %KVERIFY uses to examine source.\"}}],\"#comment\":[{},{},{}]}}"
  },
  {
    "path": "server/data/SASCallRoutines.json",
    "content": "{\"Keywords\":{\"Keyword\":[{\"Name\":\"PRXCHANGE\",\"Type\":\"CALL_ROUTINE\",\"Help\":{\"#cdata\":\"Performs a pattern-matching replacement.\"}},{\"Name\":\"PRXDEBUG\",\"Type\":\"CALL_ROUTINE\",\"Help\":{\"#cdata\":\"Enables Perl regular expressions in a DATA step to send debug output to the SAS log.\"}},{\"Name\":\"PRXFREE\",\"Type\":\"CALL_ROUTINE\",\"Help\":{\"#cdata\":\"Frees unneeded memory that was allocated for a Perl regular expression.\"}},{\"Name\":\"PRXNEXT\",\"Type\":\"CALL_ROUTINE\",\"Help\":{\"#cdata\":\"Returns the position and length of a substring that matches a pattern and iterates \\nover multiple matches within one string.\"}},{\"Name\":\"PRXPOSN\",\"Type\":\"CALL_ROUTINE\",\"Help\":{\"#cdata\":\"Returns the start position and length for a capture buffer.\"}},{\"Name\":\"PRXSUBSTR\",\"Type\":\"CALL_ROUTINE\",\"Help\":{\"#cdata\":\"Returns the position and length of a substring that matches a pattern.\"}},{\"Name\":\"RXCHANGE\",\"Type\":\"CALL_ROUTINE\",\"Help\":{\"#cdata\":\"Changes one or more substrings that match a pattern.\"}},{\"Name\":\"RXFREE\",\"Type\":\"CALL_ROUTINE\",\"Help\":{\"#cdata\":\"Frees memory allocated by other regular expression (RX) functions and routines.\"}},{\"Name\":\"RXSUBSTR\",\"Type\":\"CALL_ROUTINE\",\"Help\":{\"#cdata\":\"Finds the position, length, and score of a substring that matches a pattern.\"}},{\"Name\":\"CATS\",\"Type\":\"CALL_ROUTINE\",\"Help\":{\"#cdata\":\"Concatenates character strings and removes leading and trailing blanks.\"}},{\"Name\":\"CATT\",\"Type\":\"CALL_ROUTINE\",\"Help\":{\"#cdata\":\"Concatenates character strings and removes trailing blanks.\"}},{\"Name\":\"CATX\",\"Type\":\"CALL_ROUTINE\",\"Help\":{\"#cdata\":\"Concatenates character strings, removes leading and trailing blanks, and inserts separators.\"}},{\"Name\":\"COMPCOST\",\"Type\":\"CALL_ROUTINE\",\"Help\":{\"#cdata\":\"Sets the costs of operations for later use by the COMPGED function.\"}},{\"Name\":\"MISSING\",\"Type\":\"CALL_ROUTINE\",\"Help\":{\"#cdata\":\"Assigns a missing value to the specified character or numeric variables..\"}},{\"Name\":\"SCAN\",\"Type\":\"CALL_ROUTINE\",\"Help\":{\"#cdata\":\"Returns the position and length of a given word from a character expression.\"}},{\"Name\":\"SCANQ\",\"Type\":\"CALL_ROUTINE\",\"Help\":{\"#cdata\":\"Returns the position and length of a given word from a character expression, and \\nignores delimiters that are enclosed in quotation marks.\"}},{\"Name\":\"MODULE\",\"Type\":\"CALL_ROUTINE\",\"Help\":{\"#cdata\":\"Calls the external routine without any return code. \\n    \\nInteraction:\\nWhen a SAS server is in a locked-down state, the CALL MODULE routine does not execute. \\n\\nSyntax: CALL MODULE(<control-string,> module-name <, argument-1, ..., argument-n>);\\n\\nRequired Argument:\\nmodule-name - is the name of the external module to use.\\n\\nOptional Arguments:\\ncontrol-string\\n  is an optional control string whose first character must be an asterisk (*), followed by any \\n  combination of the following characters:\\n    I\\n    prints the hexadecimal representations of all arguments to the CALL MODULE routine. You can use \\n    this option to help diagnose problems that are caused by incorrect arguments or attribute tables. \\n    If you specify the I option, the E option is implied.\\n    E\\n    prints detailed error messages. Without the E option (or the I option, which supersedes it), \\n    the only error message that the CALL MODULE routine generates is \\\"Invalid argument to function,\\\" \\n    which is usually not enough information to determine the cause of the error. The E option is \\n    useful for a production environment, whereas the I option is preferable for a development or \\n    debugging environment.\\n    H\\n    provides brief information about the syntax of the CALL MODULE routine, the attribute file format, \\n  and suggested SAS formats and informats. \\n\\nargument - is one or more arguments to pass to the requested routine.\"}},{\"Name\":\"EXECUTE\",\"Type\":\"CALL_ROUTINE\",\"Help\":{\"#cdata\":\"Resolves an argument and issues the resolved value for execution .\"}},{\"Name\":\"SYMPUT\",\"Type\":\"CALL_ROUTINE\",\"Help\":{\"#cdata\":\"Assigns DATA step information to a macro variable.\"}},{\"Name\":\"SYMPUTX\",\"Type\":\"CALL_ROUTINE\",\"Help\":{\"#cdata\":\"Assigns a value to a macro variable and removes both leading and trailing blanks.\"}},{\"Name\":\"ALLPERM\",\"Type\":\"CALL_ROUTINE\",\"Help\":{\"#cdata\":\"Generates all permutations of the values of several variables .\"}},{\"Name\":\"LOGISTIC\",\"Type\":\"CALL_ROUTINE\",\"Help\":{\"#cdata\":\"Returns the logistic value.\"}},{\"Name\":\"SOFTMAX\",\"Type\":\"CALL_ROUTINE\",\"Help\":{\"#cdata\":\"Returns the softmax value.\"}},{\"Name\":\"STDIZE\",\"Type\":\"CALL_ROUTINE\",\"Help\":{\"#cdata\":\"Standardizes the values of one or more variables.\"}},{\"Name\":\"TANH\",\"Type\":\"CALL_ROUTINE\",\"Help\":{\"#cdata\":\"Returns the hyperbolic tangent.\"}},{\"Name\":\"RANBIN\",\"Type\":\"CALL_ROUTINE\",\"Help\":{\"#cdata\":\"Returns a random variate from a binomial distribution.\"}},{\"Name\":\"RANCAU\",\"Type\":\"CALL_ROUTINE\",\"Help\":{\"#cdata\":\"Returns a random variate from a Cauchy distribution.\"}},{\"Name\":\"RANEXP\",\"Type\":\"CALL_ROUTINE\",\"Help\":{\"#cdata\":\"Returns a random variate from an exponential distribution.\"}},{\"Name\":\"RANGAM\",\"Type\":\"CALL_ROUTINE\",\"Help\":{\"#cdata\":\"Returns a random variate from a gamma distribution.\"}},{\"Name\":\"RANNOR\",\"Type\":\"CALL_ROUTINE\",\"Help\":{\"#cdata\":\"Returns a random variate from a normal distribution.\"}},{\"Name\":\"RANPERK\",\"Type\":\"CALL_ROUTINE\",\"Help\":{\"#cdata\":\"Randomly permutes the values of the arguments, and returns a permutation of \\nk out of n values.\"}},{\"Name\":\"RANPERM\",\"Type\":\"CALL_ROUTINE\",\"Help\":{\"#cdata\":\"Randomly permutes the values of the arguments.\"}},{\"Name\":\"RANPOI\",\"Type\":\"CALL_ROUTINE\",\"Help\":{\"#cdata\":\"Returns a random variate from a Poisson distribution.\"}},{\"Name\":\"RANTBL\",\"Type\":\"CALL_ROUTINE\",\"Help\":{\"#cdata\":\"Returns a random variate from a tabled probability distribution .\"}},{\"Name\":\"RANTRI\",\"Type\":\"CALL_ROUTINE\",\"Help\":{\"#cdata\":\"Returns a random variate from a triangular distribution.\"}},{\"Name\":\"RANUNI\",\"Type\":\"CALL_ROUTINE\",\"Help\":{\"#cdata\":\"Returns a random variate from a uniform distribution.\"}},{\"Name\":\"STREAMINIT\",\"Type\":\"CALL_ROUTINE\",\"Help\":{\"#cdata\":\"Specifies a seed value to use for subsequent random number generation by the RAND function .\"}},{\"Name\":\"POKE\",\"Type\":\"CALL_ROUTINE\",\"Help\":{\"#cdata\":\"Writes a value directly into memory on a 32-bit platform . \\n    \\nInteraction:\\nWhen a SAS server is in a locked-down state, the CALL POKE routine does not execute. \\n\\nSyntax: CALL POKE(source, pointer <, length> <, floating-point>);\\n\\nRequired Arguments:\\nsource\\n  specifies a constant, variable, or expression that contains a value to write into memory \\npointer\\n  specifies a numeric expression that contains the virtual address of the data that the CALL POKE routine alters.\\n\\nOptional Arguments:\\nlength\\n  specifies a numeric constant, variable, or expression that contains the number of bytes to write from the source \\n  to the address that is indicated by pointer. If you omit length, the action that the CALL POKE routine takes depends \\n  on whether source is a character value or a numeric value:\\n    \\u2022If source is a character value, the CALL POKE routine copies the entire value of source to the specified memory location.\\n    \\u2022If source is a numeric value, the CALL POKE routine converts source to a long integer and writes into memory the number \\n      of bytes that constitute a pointer.\\n\\n  z/OS Specifics\\n  Under z/OS, pointers are 3 or 4 bytes long, depending on the situation. \\n\\nfloating-point\\n  specifies that the value of source is stored as a floating-point number. The value of floating-point can be any number.\"}},{\"Name\":\"POKELONG\",\"Type\":\"CALL_ROUTINE\",\"Help\":{\"#cdata\":\"Writes a value directly into memory on 32-bit and 64-bit platforms. \\n    \\nInteraction:\\nWhen a SAS server is in a locked-down state, the CALL POKELONG routine does not execute. \\n\\nSyntax: CALL POKELONG(source, pointer <, length> <, floating-point>);\\nRequired Arguments:\\nsource\\n  specifies a character constant, variable, or expression that contains a value to write into memory. \\npointer\\n  specifies a character string that contains the virtual address of the data that the CALL POKELONG routine alters.\\n\\nOptional Arguments:\\nlength\\n  specifies a numeric SAS expression that contains the number of bytes to write from the source to the address \\n  that is indicated by the pointer. If you omit length, the CALL POKELONG routine copies the entire value of \\n  source to the specified memory location. \\nfloating-point\\n  specifies that the value of source is stored as a floating-point number. The value of floating-point can be any number.\"}},{\"Name\":\"SLEEP\",\"Type\":\"CALL_ROUTINE\",\"Help\":{\"#cdata\":\"Suspends the execution of a program that invokes this call routine for a specified \\nperiod of time.\"}},{\"Name\":\"SYSTEM\",\"Type\":\"CALL_ROUTINE\",\"Help\":{\"#cdata\":\"Submits an operating environment command for execution.\"}},{\"Name\":\"LABEL\",\"Type\":\"CALL_ROUTINE\",\"Help\":{\"#cdata\":\"Assigns a variable label to a specified character variable.\"}},{\"Name\":\"SET\",\"Type\":\"CALL_ROUTINE\",\"Help\":{\"#cdata\":\"Links SAS data set variables to DATA step or macro variables that have the same \\nname and data type.\"}},{\"Name\":\"VNAME\",\"Type\":\"CALL_ROUTINE\",\"Help\":{\"#cdata\":\"Assigns a variable name as the value of a specified variable.\"}},{\"Name\":\"VNEXT\",\"Type\":\"CALL_ROUTINE\",\"Help\":{\"#cdata\":\"Returns the name, type, and length of a variable that is used in a DATA step.\"}},{\"Name\":\"ALLCOMB\",\"Type\":\"CALL_ROUTINE\",\"Help\":{\"#cdata\":\"Generates all combinations of the values of n variables taken k at a time in a \\nminimal change order.\"}},{\"Name\":\"ALLCOMBI\",\"Type\":\"CALL_ROUTINE\",\"Help\":{\"#cdata\":\"Generates all combinations of the indices of n objects taken k at a time in a \\nminimal change order.\"}},{\"Name\":\"GRAYCODE\",\"Type\":\"CALL_ROUTINE\",\"Help\":{\"#cdata\":\"Generates all subsets of n items in a minimal change order.\"}},{\"Name\":\"IS8601_CONVERT\",\"Type\":\"CALL_ROUTINE\",\"Help\":{\"#cdata\":\"Converts an ISO 8601 interval to datetime and duration values, or converts datetime \\nand duration values to an ISO 8601 interval. \\n\\nSyntax: CALL IS8601_CONVERT(convert-from, convert-to, <from-variables>, <to-variables>,<date-time-replacements>);\"}},{\"Name\":\"LEXCOMB\",\"Type\":\"CALL_ROUTINE\",\"Help\":{\"#cdata\":\"Generates all distinct combinations of the non-missing values of n variables taken \\nk at a time in lexicographic order.\"}},{\"Name\":\"LEXCOMBI\",\"Type\":\"CALL_ROUTINE\",\"Help\":{\"#cdata\":\"Generates all combinations of the indices of n objects taken k at a time in \\nlexicographic order.\"}},{\"Name\":\"LEXPERK\",\"Type\":\"CALL_ROUTINE\",\"Help\":{\"#cdata\":\"Generates all distinct permutations of the non-missing values of n variables taken \\nk at a time in lexicographic order.\"}},{\"Name\":\"LEXPERM\",\"Type\":\"CALL_ROUTINE\",\"Help\":{\"#cdata\":\"Generates all distinct permutations of the non-missing values of several variables \\nin lexicographic order.\"}},{\"Name\":\"SORTC\",\"Type\":\"CALL_ROUTINE\",\"Help\":{\"#cdata\":\"Sorts the values of character arguments.\"}},{\"Name\":\"SORTN\",\"Type\":\"CALL_ROUTINE\",\"Help\":{\"#cdata\":\"Sorts the values of numeric arguments.\"}},{\"Name\":\"DQSCHEMEAPPLY\",\"Type\":\"CALL_ROUTINE\",\"Help\":{\"#cdata\":\"Applies a scheme and returns a transformed value and a transformation flag.\"}},{\"Name\":\"DQPARSE\",\"Type\":\"CALL_ROUTINE\",\"Help\":{\"#cdata\":\"Returns a parsed character value and a status flag.\"}},{\"Name\":\"DEFINE\",\"Type\":\"CALL_ROUTINE\",\"Help\":{\"#cdata\":\"Sets the value of an attribute for a particular column in the current row.\"}},{\"Name\":\"INSERT_CATALOG\",\"Type\":\"CALL_ROUTINE\",\"Help\":{\"#cdata\":\"Inserts a SAS catalog into a package. \\n    \\nSyntax: \\nCALL INSERT_CATALOG(packageId, libname, memname, desc, nameValue, rc); \"}},{\"Name\":\"INSERT_DATASET\",\"Type\":\"CALL_ROUTINE\",\"Help\":{\"#cdata\":\"Inserts a SAS data set into a package. \\n    \\nSyntax:\\nCALL INSERT_DATASET(packageId, libname, memname, desc, nameValue, rc <, properties, propValue1, ...propValueN>); \"}},{\"Name\":\"INSERT_FDB\",\"Type\":\"CALL_ROUTINE\",\"Help\":{\"#cdata\":\"Inserts a financial database into a package. \\n    \\nSyntax: \\nCALL INSERT_FDB(packageId, libname, memname, desc, nameValue, rc);\"}},{\"Name\":\"INSERT_FILE\",\"Type\":\"CALL_ROUTINE\",\"Help\":{\"#cdata\":\"Inserts a file into a package. \\n    \\nSyntax \\nCALL INSERT_FILE(packageId, filename, filetype, mimeType, desc, nameValue, rc<, properties, propValue1, ...propValueN>);\"}},{\"Name\":\"INSERT_HTML\",\"Type\":\"CALL_ROUTINE\",\"Help\":{\"#cdata\":\"Inserts HTML files into a package. \\n    \\nSyntax:\\nCALL INSERT_HTML(packageId, body, bodyUrl, frame, frameUrl, contents, contentsUrl, page, pageUrl, desc, nameValue, rc<, properties, propValue1, ...propValueN>);\"}},{\"Name\":\"INSERT_MDDB\",\"Type\":\"CALL_ROUTINE\",\"Help\":{\"#cdata\":\"Inserts a SAS multidimensional database into a package. \\n    \\nSyntax:\\nCALL INSERT_MDDB(packageId, libname, memname, desc, nameValue, rc);\"}},{\"Name\":\"INSERT_PACKAGE\",\"Type\":\"CALL_ROUTINE\",\"Help\":{\"#cdata\":\"Inserts a package into another package.\"}},{\"Name\":\"INSERT_REF\",\"Type\":\"CALL_ROUTINE\",\"Help\":{\"#cdata\":\"Inserts a reference into a package. \\n    \\nSyntax:  \\nCALL INSERT_REF(packageId, referenceType, reference, desc, nameValue, rc);\"}},{\"Name\":\"INSERT_SQLVIEW\",\"Type\":\"CALL_ROUTINE\",\"Help\":{\"#cdata\":\"Inserts a PROC SQL view into a package. \\n    \\nSyntax \\nCALL INSERT_SQLVIEW(packageId, libname, memname, desc, nameValue, rc);\"}},{\"Name\":\"INSERT_VIEWER\",\"Type\":\"CALL_ROUTINE\",\"Help\":{\"#cdata\":\"Inserts a viewer into a package. \\n    \\nSyntax: \\nCALL INSERT_VIEWER(packageId, filename, mimeType, desc, nameValue, rc<, properties, propValue1, ...propValueN>);\"}},{\"Name\":\"PACKAGE_BEGIN\",\"Type\":\"CALL_ROUTINE\",\"Help\":{\"#cdata\":\"Initializes a package and returns a unique package identifier. \\n    \\nSyntax: \\nCALL PACKAGE_BEGIN(packageId, desc, nameValue, rc<, properties, propValue1, ...propValueN>);\"}},{\"Name\":\"PACKAGE_END\",\"Type\":\"CALL_ROUTINE\",\"Help\":{\"#cdata\":\"Frees the resources that are associated with a package. \\n   \\nSyntax \\nCALL PACKAGE_END(packageId, rc);\"}},{\"Name\":\"PACKAGE_PUBLISH\",\"Type\":\"CALL_ROUTINE\",\"Help\":{\"#cdata\":\"Publishes the specified package. The method of publication depends on the type of delivery transport.\"}},{\"Name\":\"COMPANION_NEXT\",\"Type\":\"CALL_ROUTINE\",\"Help\":{\"#cdata\":\"Retrieves the next companion HTML file in the ODS HTML set. \\n    \\nSyntax \\nCALL COMPANION_NEXT(entryId, path, filename, url, rc <, properties, propValue1, ...propValueN>);\"}},{\"Name\":\"ENTRY_FIRST\",\"Type\":\"CALL_ROUTINE\",\"Help\":{\"#cdata\":\"Returns header information for the first entry in a package. \\n    \\nSyntax: \\nCALL ENTRY_FIRST(packageId, entryId, entryType, userSpecString, desc, nameValue, rc<, properties, propValue1, ...propValueN>);\"}},{\"Name\":\"ENTRY_NEXT\",\"Type\":\"CALL_ROUTINE\",\"Help\":{\"#cdata\":\"Returns header information from the next entry in a package. \\n    \\nSyntax: \\nCALL ENTRY_NEXT(packageId, entryId, entryType, userSpecString, desc, nameValue, rc<, properties, propValue1, ...propValueN>);\"}},{\"Name\":\"PACKAGE_DESTROY\",\"Type\":\"CALL_ROUTINE\",\"Help\":{\"#cdata\":\"Deletes a package. \\n    \\nSyntax \\nCALL PACKAGE_DESTROY(packageId, rc);\"}},{\"Name\":\"PACKAGE_FIRST\",\"Type\":\"CALL_ROUTINE\",\"Help\":{\"#cdata\":\"Returns the header information for the first package in the package list. \\n    \\nSyntax \\nCALL PACKAGE_FIRST(pkgListId, packageId, numEntries, desc, dateTime, nameValue, channel, rc<, properties, propValue1, ...propValueN>);\"}},{\"Name\":\"PACKAGE_NEXT\",\"Type\":\"CALL_ROUTINE\",\"Help\":{\"#cdata\":\"Returns the header information for the next package in the package list. \\n    \\nSyntax:\\nCALL PACKAGE_NEXT(pkgListId, packageId, numEntries, desc, dateTime, nameValue, channel, rc<, properties, propValue1, ...propValueN>);\"}},{\"Name\":\"PACKAGE_TERM\",\"Type\":\"CALL_ROUTINE\",\"Help\":{\"#cdata\":\"Frees all resources associated with the package list identifier. \\n    \\nSyntax \\nCALL PACKAGE_TERM(pkgListId, rc);\"}},{\"Name\":\"RETRIEVE_CATALOG\",\"Type\":\"CALL_ROUTINE\",\"Help\":{\"#cdata\":\"Retrieves a catalog from a package. \\n    \\nSyntax \\nCALL RETRIEVE_CATALOG(entryId, libname, memname, rc);\"}},{\"Name\":\"RETRIEVE_DATASET\",\"Type\":\"CALL_ROUTINE\",\"Help\":{\"#cdata\":\"This CALL routine retrieves a data set entry from a package. \\n    \\nSyntax: \\nCALL RETRIEVE_DATASET(entryId, libname, memname, rc<, properties, propValue1, ...propValueN>);\"}},{\"Name\":\"RETRIEVE_FDB\",\"Type\":\"CALL_ROUTINE\",\"Help\":{\"#cdata\":\"Retrieves a financial database entry from a package. \\n    \\nSyntax: \\nCALL RETRIEVE_FDB(entryId, libname, memname, rc); \"}},{\"Name\":\"RETRIEVE_FILE\",\"Type\":\"CALL_ROUTINE\",\"Help\":{\"#cdata\":\"Retrieves an external binary or text file from a package. \\n    \\nSyntax: \\nCALL RETRIEVE_FILE(entryId, filename, rc);\"}},{\"Name\":\"RETRIEVE_HTML\",\"Type\":\"CALL_ROUTINE\",\"Help\":{\"#cdata\":\"Retrieves an HTML entry from a package. \\n    \\nSyntax: \\nCALL RETRIEVE_HTML(entryId, path, body, bodyUrl, frame, frameUrl, contents, contentsUrl, pages, pagesUrl, rc<, properties, propValue1, ...propValueN>);\"}},{\"Name\":\"RETRIEVE_MDDB\",\"Type\":\"CALL_ROUTINE\",\"Help\":{\"#cdata\":\"Retrieves an MDDB entry from a package. \\n    \\nSyntax: \\nCALL RETRIEVE_MDDB(entryId, libname, memname, rc);\"}},{\"Name\":\"RETRIEVE_NESTED\",\"Type\":\"CALL_ROUTINE\",\"Help\":{\"#cdata\":\"Retrieves the descriptive header information for a nested package entry.\\n    \\nSyntax: \\nCALL RETRIEVE_NESTED(entryId,packageId, numEntries, desc, dateTime, nameValue, rc);\"}},{\"Name\":\"RETRIEVE_PACKAGE\",\"Type\":\"CALL_ROUTINE\",\"Help\":{\"#cdata\":\"This CALL routine retrieves descriptive header information for all packages. \\n    \\nSyntax \\nCALL RETRIEVE_PACKAGE(pkgListId, retrievalType, retrievalInfo, totalPackages, rc<, properties, propValue1, propValueN>);\"}},{\"Name\":\"RETRIEVE_REF\",\"Type\":\"CALL_ROUTINE\",\"Help\":{\"#cdata\":\"Retrieves a reference from a package. \\n    \\nSyntax: \\nCALL RETRIEVE_REF(entryId, referenceType, reference, rc);\"}},{\"Name\":\"RETRIEVE_SQLVIEW\",\"Type\":\"CALL_ROUTINE\",\"Help\":{\"#cdata\":\"Retrieves a PROC SQL view from a package. \\n    \\nSyntax: \\nCALL RETRIEVE_SQLVIEW(entryId, libname, memname, rc);\"}},{\"Name\":\"RETRIEVE_VIEWER\",\"Type\":\"CALL_ROUTINE\",\"Help\":{\"#cdata\":\"Retrieves a viewer entry from a package.\\n\\nSyntax:\\nCALL RETRIEVE_VIEWER(entryId, filename, rc<, properties, propValue1, ...propValueN>);\"}},{\"Name\":\"RANCOMB\",\"Type\":\"CALL_ROUTINE\",\"Help\":{\"#cdata\":\"Permutes the values of the arguments, and returns a random combination of \\nk out of n values.\\n\\nSyntax: \\nCALL RANCOMB(seed, k, variable-1<, variable\\u20132, ...> ); \\n\\nRequired Arguments:\\nseed \\n  is a numeric variable that contains the random number seed. \\nk \\n  is the number of values that you want to have in the random combination. \\n  variable specifies all numeric variables, or all character variables that have the same length. \\n  K values of these variables are randomly permuted.\"}},{\"Name\":\"ADDMATRIX\",\"Type\":\"CALL_ROUTINE\",\"Help\":{\"#cdata\":\"Performs an elementwise addition of two matrices or a matrix and a scalar.\\n\\n[Valid for PROC FCMP  only!]\\n\\nSyntax:\\nCALL ADDMATRIX(X, Y, Z); \\n\\nRequired Arguments:\\nX \\n  specifies an input matrix with dimensions m x n (that is, X[m, n]) or a scalar. \\nY \\n  specifies an input matrix with dimensions m x n (that is, Y[m, n]) or a scalar. \\nZ \\n  specifies an output matrix with dimensions m x n (that is, Z[m, n]), such that Z= X + Y\"}},{\"Name\":\"CHOL\",\"Type\":\"CALL_ROUTINE\",\"Help\":{\"#cdata\":\"Calculates the Cholesky decomposition for a given symmetric matrix.\\n    \\nSyntax: [Valid for PROC FCMP  only!]\\nCALL CHOL(X, Y <, validate>); \\n\\nRequired Arguments:\\nX \\n  specifies a symmetric positive-definite input matrix with dimensions m x m (that is, X[m, m]). \\nY \\n  specifies an output matrix with dimensions m x m (that is, Y[m, m]). This variable contains \\n  the Cholesky decomposition, such that \\n  \\n      Z = YY*\\n\\n  where Y is a lower triangular matrix with strictly positive diagonal entries and Y* denotes the \\n  conjugate transpose of Y. \\n  Note: If X is not symmetric positive-definite, then Y will be filled with missing values. \\n\\nOptional Argument:\\nvalidate \\n  specifies an optional argument that can increase the processing speed by avoiding error checking. \\n  The argument can take the following values: \\n  \\n    0 the matrix X will be checked for symmetry. This is the default if the validate argument is omitted.  \\n    1 the matrix is assumed to be symmetric.\"}},{\"Name\":\"DET\",\"Type\":\"CALL_ROUTINE\",\"Help\":{\"#cdata\":\"Calculates the determinant of a specified matrix that should be square.\\n\\n[Valid for PROC FCMP  only!]\\n\\nSyntax:\\nCALL DET(X, a); \\n\\nRequired Arguments:\\nX \\n  specifies an input matrix with dimensions m x n (that is, X[m, m]). \\na \\n  specifies the returned determinate value, such that \\n  \\n    a = |X|\"}},{\"Name\":\"DYNAMIC_ARRAY\",\"Type\":\"CALL_ROUTINE\",\"Help\":{\"#cdata\":\"Enables an array that is declared within a function to change size in an efficient manner.\\n\\n[Valid for PROC FCMP  only!]\\n\\nSyntax:\\nCALL DYNAMIC_ARRAY(array\\u2013name, new-dim1\\u2013size, ...,, new-dimN-size); \\n\\nRequired Arguments:\\narray-name \\n  specifies the name of a temporary array. \\nnew-dim-size \\n  specifies a new size for the temporary array.\"}},{\"Name\":\"ELEMMULT\",\"Type\":\"CALL_ROUTINE\",\"Help\":{\"#cdata\":\"Performs an elementwise multiplication of two matrices.\\n\\nSyntax:\\nCALL ELEMMULT(X, Y, Z); \\n\\nRequired Arguments \\nX \\n  specifies an input matrix with dimensions m x n (that is, X[m, n]). \\nY \\n  specifies an input matrix with dimensions m x n (that is, Y[m, n]). \\nZ \\n  specifies an output matrix with dimensions m x n (that is, Z[m, n]).\"}},{\"Name\":\"EXPMATRIX\",\"Type\":\"CALL_ROUTINE\",\"Help\":{\"#cdata\":\"Returns a matrix e**tA given the input matrix A and a multiplier t. \\n    \\n[Valid for PROC FCMP  only!]\\n\\nSyntax:\\nCALL EXPMATRIX(X, t, Y); \\n\\nRequired Arguments:\\nX \\n  specifies an input matrix with dimensions m x m (that is, X[m, m]). \\nt \\n  specifies a double scalar value. \\nY \\n  specifies an output matrix with dimensions m x m (that is, Y[m, m]), such that \\n\\n      Y = \\u0510**t\\u1e8a where \\u1e8a is the mean of X\"}},{\"Name\":\"FILLMATRIX\",\"Type\":\"CALL_ROUTINE\",\"Help\":{\"#cdata\":\"Replaces all of the element values of the input matrix with the specified value.\\n \\n[Valid for PROC FCMP  only!]\\n\\nSyntax:\\nCALL FILLMATRIX(X, Y); \\n\\nRequired Arguments:\\nX \\n  specifies an input numeric matrix. \\nY \\n  specifies the numeric value that will fill the matrix.\"}},{\"Name\":\"IDENTITY\",\"Type\":\"CALL_ROUTINE\",\"Help\":{\"#cdata\":\"Converts the input matrix to an identity matrix.\\n\\n[Valid for PROC FCMP  only!]\\n\\nSyntax:\\nCALL IDENTITY(X); \\n\\nRequired Argument:\\nX \\n  specifies an input matrix with dimensions m x m (that is, X[m, m]).\"}},{\"Name\":\"INV|INVERSE\",\"Type\":\"CALL_ROUTINE\",\"Help\":{\"#cdata\":\"Calculates a matrix that is the inverse of the provided input matrix that should \\nbe a square, non-singular matrix.\\n \\n[Valid for PROC FCMP  only!] \\n\\nSyntax:\\nCALL INV(X, Y); \\n\\nRequired Arguments:\\nX \\n  specifies an input matrix with dimensions m x m (that is, X[m, m]). \\nY \\n  specifies an output matrix with dimensions m x m (that is, Y[m, m]), such that \\n  \\n    Y[m.m] = X'[m,m]\\n\\n  where ' denotes inverse \\n  \\n    X x Y = Y x X = I\\n  \\nand I is the identity matrix.\"}},{\"Name\":\"MULT\",\"Type\":\"CALL_ROUTINE\",\"Help\":{\"#cdata\":\"Calculates the multiplicative product of two input matrices.\\n\\n[Valid for PROC FCMP  only!]\\n\\nSyntax:\\nCALL MULT(X, Y, Z); \\n\\nRequired Arguments \\nX \\n  specifies an input matrix with dimensions m x n (that is, X[m, n]). \\nY \\n  specifies an input matrix with dimensions n x p (that is, Y[n, p]). \\nZ \\n  specifies an output matrix with dimensions m x p (that is, Z[m, p]), such that \\n\\n    Z[m,p] = X[m,n] x Y[n,p]\"}},{\"Name\":\"POWER\",\"Type\":\"CALL_ROUTINE\",\"Help\":{\"#cdata\":\"Raises a square matrix to a given scalar value.\\n \\n[Valid for PROC FCMP  only!]\\n\\nSyntax:\\nCALL POWER(X, a, Y); \\n\\nRequired Arguments:\\nX \\n  specifies an input matrix with dimensions m x m (that is, X[m, m]). \\na \\n  specifies an integer scalar value (power). \\nY \\n  specifies an output matrix with dimensions m x m (that is, Y[m, m]), such that \\n\\n    Y = X**a\"}},{\"Name\":\"SETNULL\",\"Type\":\"CALL_ROUTINE\",\"Help\":{\"#cdata\":\"Sets a pointer element of a structure to null.\\n\\n[Valid for PROC FCMP  only!]\\n\\nSyntax:\\nCALL SETNULL(pointer-element); \\n\\nRequired Argument:\\npointer-element \\n  is a pointer to a structure.\"}},{\"Name\":\"STRUCTINDEX\",\"Type\":\"CALL_ROUTINE\",\"Help\":{\"#cdata\":\"Enables you to access each structure element in an array of structures.\\n    \\nSyntax:\\nCALL STRUCTINDEX(struct_array, index, struct_element); \\n\\nRequired Arguments:\\nstruct_array \\n  specifies an array.\\nindex \\n  is a 1\\u2013based index as used in most SAS arrays. \\nstruct_element \\n  points to an element in the array.\"}},{\"Name\":\"SUBTRACTMATRIX\",\"Type\":\"CALL_ROUTINE\",\"Help\":{\"#cdata\":\"Performs an element-wide subtraction of two matrices or a matrix and a scalar.\\n\\n[Valid for PROC FCMP  only!]\\n\\nSyntax:\\nCALL SUBTRACTMATRIX(X, Y, Z); \\n\\nRequired Arguments:\\nX \\n  specifies an input matrix with dimensions m x n (that is, X[m, n]) or a scalar. \\nY \\n  specifies an input matrix with dimensions m x n (that is, Y[m, n]) or a scalar. \\nZ \\n  specifies an output matrix with dimensions m x n (that is, Z[m, n]), such that \\n    \\n      Z = X - Y\"}},{\"Name\":\"TRANSPOSE\",\"Type\":\"CALL_ROUTINE\",\"Help\":{\"#cdata\":\"Returns the transpose of a matrix.\\n\\n[Valid for PROC FCMP  only!]\\n\\nSyntax: \\nCALL TRANSPOSE(X, Y); \\n\\nRequired Arguments:\\nX \\n  specifies an input matrix with dimensions m x n (that is, X[m, n]). \\nY \\n  specifies an output matrix with dimensions n x m (that is, Y[n, m])\"}},{\"Name\":\"ZEROMATRIX\",\"Type\":\"CALL_ROUTINE\",\"Help\":{\"#cdata\":\"Replaces all of the element values of the numeric input matrix with 0.\\n    \\n[Valid for PROC FCMP  only!]\\n\\nSyntax:\\nCALL ZEROMATRIX(X); \\n\\nRequired Argument \\nX \\n  specifies a numeric input matrix.\"}}],\"#comment\":[{},{},{},{}]}}"
  },
  {
    "path": "server/data/SASColorValues.json",
    "content": "{\"Color\":{\"Values\":{\"@Value1\":\"BLACK=CX000000\",\"@Value2\":\"Navy=CX000080\",\"@Value3\":\"DarkBlue=CX00008B\",\"@Value4\":\"MediumBlue=CX0000CD\",\"@Value5\":\"BLUE=CX0000FF\",\"@Value6\":\"DarkGreen=CX006400\",\"@Value7\":\"Green=CX008000\",\"@Value8\":\"Teal=CX008080\",\"@Value9\":\"DarkCyan=CX008B8B\",\"@Value10\":\"DeepSkyBlue=CX00BFFF\",\"@Value11\":\"DarkTurquoise=CX00CED1\",\"@Value12\":\"MediumSpringGreen=CX00FA9A\",\"@Value13\":\"GREEN=CX00FF00\",\"@Value14\":\"SpringGreen=CX00FF7F\",\"@Value15\":\"CYAN=CX00FFFF\",\"@Value16\":\"BRBL=CX010101\",\"@Value17\":\"VIB=CX090766\",\"@Value18\":\"VDEYG=CX0A260E\",\"@Value19\":\"DEB=CX100F26\",\"@Value20\":\"VIG=CX118044\",\"@Value21\":\"VDAGB=CX121519\",\"@Value22\":\"VDAG=CX121915\",\"@Value23\":\"VDABG=CX121919\",\"@Value24\":\"VIGB=CX13478C\",\"@Value25\":\"VIBG=CX138C89\",\"@Value26\":\"DEGB=CX142233\",\"@Value27\":\"DEG=CX143322\",\"@Value28\":\"DEBG=CX143332\",\"@Value29\":\"DAPB=CX151219\",\"@Value30\":\"DEOLG=CX15260D\",\"@Value31\":\"DAV=CX161219\",\"@Value32\":\"DAOL=CX161911\",\"@Value33\":\"VIYG=CX16A629\",\"@Value34\":\"VDEP=CX170819\",\"@Value35\":\"BLB=CX171719\",\"@Value36\":\"BLG=CX171918\",\"@Value37\":\"VDAYG=CX172118\",\"@Value38\":\"DEPB=CX180F26\",\"@Value39\":\"VDAP=CX181219\",\"@Value40\":\"DEYG=CX185920\",\"@Value41\":\"VDERP=CX190817\",\"@Value42\":\"VDER=CX190A0D\",\"@Value43\":\"VDEPR=CX190A12\",\"@Value44\":\"VDAR=CX191213\",\"@Value45\":\"VDAPR=CX191216\",\"@Value46\":\"VDARP=CX191218\",\"@Value47\":\"DARBR=CX191614\",\"@Value48\":\"DABR=CX191714\",\"@Value49\":\"BLR=CX191717\",\"@Value50\":\"BLP=CX191719\",\"@Value51\":\"RBK=CX191919\",\"@Value52\":\"MidnightBlue=CX191970\",\"@Value53\":\"DEV=CX1B0D26\",\"@Value54\":\"DAB=CX1B1B26\",\"@Value55\":\"DodgerBlue=CX1E90FF\",\"@Value56\":\"DAOLG=CX1F261C\",\"@Value57\":\"STB=CX201F73\",\"@Value58\":\"LightSeaGreen=CX20B2AA\",\"@Value59\":\"ForestGreen=CX228B22\",\"@Value60\":\"DERBR=CX26150D\",\"@Value61\":\"DEBR=CX261C0F\",\"@Value62\":\"DAYBR=CX26251F\",\"@Value63\":\"DAOLBR=CX26261C\",\"@Value64\":\"STOLG=CX264C14\",\"@Value65\":\"DAGB=CX2A3440\",\"@Value66\":\"VIPB=CX2B0766\",\"@Value67\":\"DABG=CX2D403F\",\"@Value68\":\"DAGROLG=CX2E332C\",\"@Value69\":\"STGB=CX2E4C73\",\"@Value70\":\"STG=CX2E734E\",\"@Value71\":\"STBG=CX2E7371\",\"@Value72\":\"SeaGreen=CX2E8B57\",\"@Value73\":\"DarkSlateGray=CX2F4F4F\",\"@Value74\":\"DAGROL=CX30332C\",\"@Value75\":\"BIB=CX3230B2\",\"@Value76\":\"LimeGreen=CX32CD32\",\"@Value77\":\"VIR=CX33070F\",\"@Value78\":\"DEYBR=CX332E14\",\"@Value79\":\"DAGRRBR=CX332E2C\",\"@Value80\":\"DAGRBR=CX33322E\",\"@Value81\":\"DAG=CX364C40\",\"@Value82\":\"DAGRB=CX373740\",\"@Value83\":\"STYG=CX388C43\",\"@Value84\":\"DAYG=CX3B593F\",\"@Value85\":\"STV=CX3C1859\",\"@Value86\":\"DELG=CX3C6629\",\"@Value87\":\"MediumSeaGreen=CX3CB371\",\"@Value88\":\"DEP=CX3E1745\",\"@Value89\":\"MOB=CX3E3D73\",\"@Value90\":\"STPB=CX3F1F73\",\"@Value91\":\"MOPB=CX3F3059\",\"@Value92\":\"DAR=CX40262B\",\"@Value93\":\"DAGRYBR=CX403E37\",\"@Value94\":\"Turquoise=CX40E0D0\",\"@Value95\":\"RoyalBlue=CX4169E1\",\"@Value96\":\"DAP=CX423045\",\"@Value97\":\"DAGRP=CX443C45\",\"@Value98\":\"VILG=CX44A616\",\"@Value99\":\"DEPR=CX45122E\",\"@Value100\":\"DERP=CX45173E\",\"@Value101\":\"DAPR=CX452938\",\"@Value102\":\"DARP=CX453042\",\"@Value103\":\"DAGRR=CX453C3D\",\"@Value104\":\"DAGRG=CX454C48\",\"@Value105\":\"MOOLG=CX45593B\",\"@Value106\":\"SteelBlue=CX4682B4\",\"@Value107\":\"MOV=CX473059\",\"@Value108\":\"MOOL=CX47592A\",\"@Value109\":\"DarkSlateBlue=CX483D8B\",\"@Value110\":\"MediumTurquoise=CX48D1CC\",\"@Value111\":\"GRPB=CX4A4159\",\"@Value112\":\"Indigo=CX4B0082\",\"@Value113\":\"VIPR=CX4C052C\",\"@Value114\":\"DER=CX4C1923\",\"@Value115\":\"STRBR=CX4C2714\",\"@Value116\":\"MOGB=CX4C5D73\",\"@Value117\":\"MOG=CX4C735E\",\"@Value118\":\"MOBG=CX4C7372\",\"@Value119\":\"BIGB=CX4D7EBF\",\"@Value120\":\"BIG=CX4DBF81\",\"@Value121\":\"BIBG=CX4DBFBC\",\"@Value122\":\"GRV=CX4F4159\",\"@Value123\":\"BIYG=CX52CC62\",\"@Value124\":\"VIV=CX53098C\",\"@Value125\":\"DABGR=CX535359\",\"@Value126\":\"GROL=CX54594A\",\"@Value127\":\"DarkOliveGreen=CX556B2F\",\"@Value128\":\"OLGR=CX575953\",\"@Value129\":\"DAPGR=CX585359\",\"@Value130\":\"VIRP=CX59064C\",\"@Value131\":\"STBR=CX593B18\",\"@Value132\":\"MORBR=CX59453B\",\"@Value133\":\"MOBR=CX594E41\",\"@Value134\":\"GRRBR=CX594F4A\",\"@Value135\":\"DARGR=CX595354\",\"@Value136\":\"GRBR=CX59564D\",\"@Value137\":\"BRGR=CX595753\",\"@Value138\":\"MOOLBR=CX595936\",\"@Value139\":\"DAGGR=CX595959\",\"@Value140\":\"LIB=CX5A58A6\",\"@Value141\":\"STLG=CX5B993D\",\"@Value142\":\"GRB=CX5C5C73\",\"@Value143\":\"MOYG=CX5D8C64\",\"@Value144\":\"CadetBlue=CX5F9EA0\",\"@Value145\":\"BIPB=CX6130B2\",\"@Value146\":\"LIOL=CX628033\",\"@Value147\":\"GRG=CX63736A\",\"@Value148\":\"CornFlowerBlue=CX6495ED\",\"@Value149\":\"DERO=CX662F14\",\"@Value150\":\"DARO=CX663D29\",\"@Value151\":\"MediumAquamarine=CX66CDAA\",\"@Value152\":\"STP=CX671F73\",\"@Value153\":\"DimGray=CX696969\",\"@Value154\":\"SlateBlue=CX6A5ACD\",\"@Value155\":\"MOP=CX6B3D73\",\"@Value156\":\"OliveDrab=CX6B8E23\",\"@Value157\":\"LIPB=CX6D5299\",\"@Value158\":\"LIGB=CX6E86A6\",\"@Value159\":\"LIG=CX6EA688\",\"@Value160\":\"LIBG=CX6EA6A4\",\"@Value161\":\"VIP=CX6F0980\",\"@Value162\":\"MAROON=CX700000\",\"@Value163\":\"PURPLE=CX703070\",\"@Value164\":\"GRP=CX705C73\",\"@Value165\":\"SlateGray=CX708090\",\"@Value166\":\"STR=CX731727\",\"@Value167\":\"STPR=CX731749\",\"@Value168\":\"STRP=CX731F65\",\"@Value169\":\"MOR=CX732E3A\",\"@Value170\":\"MOPR=CX732E53\",\"@Value171\":\"MORP=CX733D6A\",\"@Value172\":\"GRPR=CX734C61\",\"@Value173\":\"GRR=CX73545A\",\"@Value174\":\"GRRP=CX73546E\",\"@Value175\":\"MOYBR=CX736E58\",\"@Value176\":\"GRYBR=CX737060\",\"@Value177\":\"DEGY=CX749938\",\"@Value178\":\"VLIB=CX7674D9\",\"@Value179\":\"MOLG=CX769966\",\"@Value180\":\"LightSlateGray=CX778899\",\"@Value181\":\"BIV=CX7930B2\",\"@Value182\":\"LIV=CX7A5299\",\"@Value183\":\"MediumSlateBlue=CX7B68EE\",\"@Value184\":\"LawnGreen=CX7CFC00\",\"@Value185\":\"DAGY=CX7E9952\",\"@Value186\":\"Aquamarine=CX7FFDD4\",\"@Value187\":\"Chartreuse=CX7FFF00\",\"@Value188\":\"Maroon=CX800000\",\"@Value189\":\"Purple=CX800080\",\"@Value190\":\"VIRO=CX803009\",\"@Value191\":\"DEO=CX80511A\",\"@Value192\":\"BRO=CX80603C\",\"@Value193\":\"STYBR=CX806A2B\",\"@Value194\":\"Olive=CX808000\",\"@Value195\":\"GRAY=CX808080\",\"@Value196\":\"VIGY=CX80BF1A\",\"@Value197\":\"LIYG=CX80BF88\",\"@Value198\":\"BGR=CX83838C\",\"@Value199\":\"LIGROL=CX838C75\",\"@Value200\":\"DEY=CX839938\",\"@Value201\":\"PAB=CX8585A6\",\"@Value202\":\"PAV=CX877099\",\"@Value203\":\"LIOLGR=CX878C7E\",\"@Value204\":\"SkyBlue=CX87CEEB\",\"@Value205\":\"LightSkyBlue=CX87CEFA\",\"@Value206\":\"BILG=CX88E55C\",\"@Value207\":\"DAY=CX899952\",\"@Value208\":\"BlueViolet=CX8A2BE2\",\"@Value209\":\"PAPB=CX8A7AA6\",\"@Value210\":\"DarkRed=CX8B0000\",\"@Value211\":\"DarkMagenta=CX8B008B\",\"@Value212\":\"SaddleBrown=CX8B4513\",\"@Value213\":\"PGR=CX8B838C\",\"@Value214\":\"LIOLBR=CX8B8C4B\",\"@Value215\":\"GRLG=CX8B9985\",\"@Value216\":\"STRO=CX8C411C\",\"@Value217\":\"MORO=CX8C5438\",\"@Value218\":\"GRRO=CX8C6754\",\"@Value219\":\"LIRBR=CX8C7367\",\"@Value220\":\"LIBR=CX8C7962\",\"@Value221\":\"LIGRRBR=CX8C7D75\",\"@Value222\":\"RGR=CX8C8385\",\"@Value223\":\"LIGRBR=CX8C887A\",\"@Value224\":\"LIBRGR=CX8C8883\",\"@Value225\":\"GGR=CX8C8C8C\",\"@Value226\":\"STGY=CX8DBA44\",\"@Value227\":\"DAGRY=CX8E996B\",\"@Value228\":\"DarkSeaGreen=CX8FBC8F\",\"@Value229\":\"PAG=CX90A69A\",\"@Value230\":\"VLIGB=CX90B0D9\",\"@Value231\":\"VLIBG=CX90D9D7\",\"@Value232\":\"LightGreen=CX90EE90\",\"@Value233\":\"MediumPurple=CX9370DB\",\"@Value234\":\"DarkViolet=CX9400D3\",\"@Value235\":\"PaleGreen=CX98FB98\",\"@Value236\":\"DEPPK=CX991F85\",\"@Value237\":\"DEPK=CX99293D\",\"@Value238\":\"DarkOrchid=CX9932CC\",\"@Value239\":\"DEYPK=CX993329\",\"@Value240\":\"DAPPK=CX995278\",\"@Value241\":\"LIRP=CX99528E\",\"@Value242\":\"DAPK=CX995C67\",\"@Value243\":\"DAYPK=CX99615C\",\"@Value244\":\"LIGRR=CX997078\",\"@Value245\":\"LIGRPR=CX997086\",\"@Value246\":\"PARP=CX997092\",\"@Value247\":\"DEOY=CX997A1F\",\"@Value248\":\"DAOY=CX998547\",\"@Value249\":\"VIY=CX99BF1A\",\"@Value250\":\"VLIG=CX99E5BC\",\"@Value251\":\"YellowGreen=CX9ACD32\",\"@Value252\":\"LIP=CX9B58A6\",\"@Value253\":\"MOGY=CX9DBF66\",\"@Value254\":\"VLIYG=CX9EEDA8\",\"@Value255\":\"BIP=CXA030B2\",\"@Value256\":\"BROWN=CXA05000\",\"@Value257\":\"Sienna=CXA0522D\",\"@Value258\":\"PAP=CXA185A6\",\"@Value259\":\"VLIPB=CXA37AE5\",\"@Value260\":\"STY=CXA3BF46\",\"@Value261\":\"Brown=CXA52A2A\",\"@Value262\":\"STO=CXA66921\",\"@Value263\":\"MOO=CXA67D4D\",\"@Value264\":\"LIYBR=CXA69F7A\",\"@Value265\":\"LIGRYBR=CXA6A18A\",\"@Value266\":\"DarkGray=CXA9A9A9\",\"@Value267\":\"GRGY=CXA9BF86\",\"@Value268\":\"MOY=CXABBF66\",\"@Value269\":\"VLIV=CXAC74D9\",\"@Value270\":\"LightBlue=CXADD8E6\",\"@Value271\":\"GreenYellow=CXADFF2F\",\"@Value272\":\"VPAB=CXAEADD9\",\"@Value273\":\"BIGY=CXAEE554\",\"@Value274\":\"PaleTurquiose=CXAFEEEE\",\"@Value275\":\"VIOLET=CXB090D0\",\"@Value276\":\"LightSteelBlue=CXB0C4DE\",\"@Value277\":\"PowerBlue=CXB0E0E6\",\"@Value278\":\"LILG=CXB1E599\",\"@Value279\":\"FireBrick=CXB22222\",\"@Value280\":\"STPPK=CXB2309E\",\"@Value281\":\"MOPPK=CXB25FA5\",\"@Value282\":\"VIO=CXB26306\",\"@Value283\":\"GRPPK=CXB28FA2\",\"@Value284\":\"LIBGR=CXB3B2BF\",\"@Value285\":\"GRY=CXB5BF93\",\"@Value286\":\"DarkGoldenrod=CXB8860B\",\"@Value287\":\"MediumOrchid=CXBA55D3\",\"@Value288\":\"MOPK=CXBA7C87\",\"@Value289\":\"GRPK=CXBA9BA1\",\"@Value290\":\"MOOY=CXBAA157\",\"@Value291\":\"YGR=CXBBBFAC\",\"@Value292\":\"RosyBrown=CXBC8F8F\",\"@Value293\":\"VPAG=CXBCD9C5\",\"@Value294\":\"LIPGR=CXBDB2BF\",\"@Value295\":\"DarkKhaki=CXBDB76B\",\"@Value296\":\"LIGY=CXBDE57A\",\"@Value297\":\"MOYPK=CXBF8580\",\"@Value298\":\"VIOY=CXBF9106\",\"@Value299\":\"STOY=CXBF9926\",\"@Value300\":\"GRYPK=CXBFA5A2\",\"@Value301\":\"PKGR=CXBFB2B5\",\"@Value302\":\"BRPK=CXBFB9A6\",\"@Value303\":\"LIGGR=CXBFBFBF\",\"@Value304\":\"VPAPB=CXC0A8E5\",\"@Value305\":\"Silver=CXC0C0C0\",\"@Value306\":\"LIME=CXC0FF81\",\"@Value307\":\"BIY=CXC6E55C\",\"@Value308\":\"MediumVioletRed=CXC71585\",\"@Value309\":\"VLIP=CXCB74D9\",\"@Value310\":\"VPAV=CXCBA8E5\",\"@Value311\":\"PAGY=CXCBE5A1\",\"@Value312\":\"VIPK=CXCC1B3B\",\"@Value313\":\"VIYPK=CXCC2B1B\",\"@Value314\":\"STYPK=CXCC5D52\",\"@Value315\":\"IndianRed=CXCD5C5C\",\"@Value316\":\"Peru=CXCD853F\",\"@Value317\":\"LIY=CXCDE57A\",\"@Value318\":\"PALG=CXD1E5C7\",\"@Value319\":\"Chocolate=CXD2691E\",\"@Value320\":\"Tan=CXD2B48C\",\"@Value321\":\"VPAP=CXD3ADD9\",\"@Value322\":\"LightGrey=CXD3D3D3\",\"@Value323\":\"Thistle=CXD8BFD8\",\"@Value324\":\"BIPPK=CXD93ABF\",\"@Value325\":\"STPK=CXD9576E\",\"@Value326\":\"LIPPK=CXD974C9\",\"@Value327\":\"BIO=CXD9892B\",\"@Value328\":\"LIO=CXD9A465\",\"@Value329\":\"PAY=CXD9E5B0\",\"@Value330\":\"Orchid=CXDA70D6\",\"@Value331\":\"Goldenrod=CXDAA520\",\"@Value332\":\"PaleVioletRed=CXDB7093\",\"@Value333\":\"Crimson=CXDC143C\",\"@Value334\":\"Gainsboro=CXDCDCDC\",\"@Value335\":\"Plum=CXDDA0DD\",\"@Value336\":\"Burlywood=CXDEB887\",\"@Value337\":\"BWH=CXDEDDED\",\"@Value338\":\"LILAC=CXE06090\",\"@Value339\":\"TAN=CXE0A860\",\"@Value340\":\"LightCyan=CXE0FFFF\",\"@Value341\":\"LIPK=CXE599A7\",\"@Value342\":\"LIYPK=CXE5A099\",\"@Value343\":\"BIOY=CXE5B82E\",\"@Value344\":\"PAPPK=CXE5B8D0\",\"@Value345\":\"PAPK=CXE5BFC6\",\"@Value346\":\"PAYPK=CXE5C5C2\",\"@Value347\":\"LIOY=CXE5C76B\",\"@Value348\":\"PAOY=CXE5D4A1\",\"@Value349\":\"Lavender=CXE6E6FA\",\"@Value350\":\"CREAM=CXE8D898\",\"@Value351\":\"YWH=CXE8EDD5\",\"@Value352\":\"DarkSalmon=CXE9967A\",\"@Value353\":\"PWH=CXEBDDED\",\"@Value354\":\"GWH=CXECEDEC\",\"@Value355\":\"PKWH=CXEDDDE0\",\"@Value356\":\"Violet=CXEE82EE\",\"@Value357\":\"PaleGoldenrod=CXEEE8AA\",\"@Value358\":\"LightCoral=CXF08080\",\"@Value359\":\"Khaki=CXF0E68C\",\"@Value360\":\"AliceBlue=CXF0F8FF\",\"@Value361\":\"Honeydew=CXF0FFF0\",\"@Value362\":\"Azure=CXF0FFFF\",\"@Value363\":\"SandyBrown=CXF4A460\",\"@Value364\":\"Wheat=CXF5DEB3\",\"@Value365\":\"Beige=CXF5F5DC\",\"@Value366\":\"WhiteSmoke=CXF5F5F5\",\"@Value367\":\"MintCream=CXF5FFFA\",\"@Value368\":\"GhostWhite=CXF8F8FF\",\"@Value369\":\"Salmon=CXFA8072\",\"@Value370\":\"AntiqueWhite=CXFAEBD7\",\"@Value371\":\"Linen=CXFAF0E6\",\"@Value372\":\"LightGoldenrodYellow=CXFAFAD2\",\"@Value373\":\"Oldlace=CXFDF5E6\",\"@Value374\":\"RED=CXFF0000\",\"@Value375\":\"SALMON=CXFF0055\",\"@Value376\":\"PINK=CXFF0080\",\"@Value377\":\"MAGENTA=CXFF00FF\",\"@Value378\":\"DeepPink=CXFF1493\",\"@Value379\":\"OrangeRed=CXFF4500\",\"@Value380\":\"ROSE=CXFF6060\",\"@Value381\":\"Tomato=CXFF6347\",\"@Value382\":\"HotPink=CXFF69B4\",\"@Value383\":\"Coral=CXFF7F50\",\"@Value384\":\"ORANGE=CXFF8000\",\"@Value385\":\"DarkOrange=CXFF8C00\",\"@Value386\":\"LightSalmon=CXFFA07A\",\"@Value387\":\"Orange=CXFFA500\",\"@Value388\":\"GOLD=CXFFAA00\",\"@Value389\":\"LightPink=CXFFB6C1\",\"@Value390\":\"Pink=CXFFC0CB\",\"@Value391\":\"Gold=CXFFD700\",\"@Value392\":\"Peachpuff=CXFFDAB9\",\"@Value393\":\"NavajoWhite=CXFFDEAD\",\"@Value394\":\"Moccasin=CXFFE4B5\",\"@Value395\":\"Bisque=CXFFE4C4\",\"@Value396\":\"MistyRose=CXFFE4E1\",\"@Value397\":\"BlanchedAlmond=CXFFEBCD\",\"@Value398\":\"PapayaWhip=CXFFEFD5\",\"@Value399\":\"LavenderBlush=CXFFF0F5\",\"@Value400\":\"Seashell=CXFFF5EE\",\"@Value401\":\"Cornsilk=CXFFF8DC\",\"@Value402\":\"LemonChiffon=CXFFFACD\",\"@Value403\":\"FloralWhite=CXFFFAF0\",\"@Value404\":\"Snow=CXFFFAFA\",\"@Value405\":\"YELLOW=CXFFFF00\",\"@Value406\":\"LightYellow=CXFFFFE0\",\"@Value407\":\"Ivory=CXFFFFF0\",\"@Value408\":\"WHITE=CXFFFFFF\"},\"ToolTips\":{\"@ToolTip1\":\"Black\",\"@ToolTip2\":\"[HTML Color]\",\"@ToolTip3\":\"[HTML Color]\",\"@ToolTip4\":\"[HTML Color]\",\"@ToolTip5\":\"Blue\",\"@ToolTip6\":\"[HTML Color]\",\"@ToolTip7\":\"[HTML Color]\",\"@ToolTip8\":\"[HTML Color]\",\"@ToolTip9\":\"[HTML Color]\",\"@ToolTip10\":\"[HTML Color]\",\"@ToolTip11\":\"[HTML Color]\",\"@ToolTip12\":\"[HTML Color]\",\"@ToolTip13\":\"Green\",\"@ToolTip14\":\"[HTML Color]\",\"@ToolTip15\":\"Cyan\",\"@ToolTip16\":\"Brownish black\",\"@ToolTip17\":\"Vivid blue\",\"@ToolTip18\":\"Very deep yellowish green\",\"@ToolTip19\":\"Deep blue\",\"@ToolTip20\":\"Vivid green\",\"@ToolTip21\":\"Very dark greenish blue\",\"@ToolTip22\":\"Very dark green\",\"@ToolTip23\":\"Very dark bluish green\",\"@ToolTip24\":\"Vivid greenish blue\",\"@ToolTip25\":\"Vivid bluish green\",\"@ToolTip26\":\"Deep greenish blue\",\"@ToolTip27\":\"Deep green\",\"@ToolTip28\":\"Deep bluish green\",\"@ToolTip29\":\"Dark purplish blue\",\"@ToolTip30\":\"Deep olive green\",\"@ToolTip31\":\"Dark violet\",\"@ToolTip32\":\"Dark olive\",\"@ToolTip33\":\"Vivid yellowish green\",\"@ToolTip34\":\"Very deep purple\",\"@ToolTip35\":\"Blackish blue\",\"@ToolTip36\":\"Blackish green\",\"@ToolTip37\":\"Very dark yellowish green\",\"@ToolTip38\":\"Deep purplish blue\",\"@ToolTip39\":\"Very dark purple\",\"@ToolTip40\":\"Deep yellowish green\",\"@ToolTip41\":\"Very deep reddish purple\",\"@ToolTip42\":\"Very deep red\",\"@ToolTip43\":\"Very deep purplish red\",\"@ToolTip44\":\"Very dark red\",\"@ToolTip45\":\"Very dark purplish red\",\"@ToolTip46\":\"Very dark reddish purple\",\"@ToolTip47\":\"Dark reddish brown\",\"@ToolTip48\":\"Dark brown\",\"@ToolTip49\":\"Blackish red\",\"@ToolTip50\":\"Blackish purple\",\"@ToolTip51\":\"Reddish black\",\"@ToolTip52\":\"[HTML Color]\",\"@ToolTip53\":\"Deep violet\",\"@ToolTip54\":\"Dark blue\",\"@ToolTip55\":\"[HTML Color]\",\"@ToolTip56\":\"Dark olive green\",\"@ToolTip57\":\"Strong blue\",\"@ToolTip58\":\"[HTML Color]\",\"@ToolTip59\":\"[HTML Color]\",\"@ToolTip60\":\"Deep reddish brown\",\"@ToolTip61\":\"Deep brown\",\"@ToolTip62\":\"Dark yellowish brown\",\"@ToolTip63\":\"Dark olive brown\",\"@ToolTip64\":\"Strong olive green\",\"@ToolTip65\":\"Dark greenish blue\",\"@ToolTip66\":\"Vivid purplish blue\",\"@ToolTip67\":\"Dark bluish green\",\"@ToolTip68\":\"Dark grayish olive green\",\"@ToolTip69\":\"Strong greenish blue\",\"@ToolTip70\":\"Strong green\",\"@ToolTip71\":\"Strong bluish green\",\"@ToolTip72\":\"[HTML Color]\",\"@ToolTip73\":\"[HTML Color]\",\"@ToolTip74\":\"Dark grayish olive\",\"@ToolTip75\":\"Brilliant blue\",\"@ToolTip76\":\"[HTML Color]\",\"@ToolTip77\":\"Vivid red\",\"@ToolTip78\":\"Deep yellowish brown\",\"@ToolTip79\":\"Dark grayish reddish brown\",\"@ToolTip80\":\"Dark grayish brown\",\"@ToolTip81\":\"Dark green\",\"@ToolTip82\":\"Dark grayish blue\",\"@ToolTip83\":\"Strong yellowish green\",\"@ToolTip84\":\"Dark yellowish green\",\"@ToolTip85\":\"Strong violet\",\"@ToolTip86\":\"Deep yellow green\",\"@ToolTip87\":\"[HTML Color]\",\"@ToolTip88\":\"Deep purple\",\"@ToolTip89\":\"Moderate blue\",\"@ToolTip90\":\"Strong purplish blue\",\"@ToolTip91\":\"Moderate purplish blue\",\"@ToolTip92\":\"Dark red\",\"@ToolTip93\":\"Dark grayish yellowish brown\",\"@ToolTip94\":\"[HTML Color]\",\"@ToolTip95\":\"[HTML Color]\",\"@ToolTip96\":\"Dark purple\",\"@ToolTip97\":\"Dark grayish purple\",\"@ToolTip98\":\"Vivid yellow green\",\"@ToolTip99\":\"Deep purplish red\",\"@ToolTip100\":\"Deep reddish purple\",\"@ToolTip101\":\"Dark purplish red\",\"@ToolTip102\":\"Dark reddish purple\",\"@ToolTip103\":\"Dark grayish red\",\"@ToolTip104\":\"Dark grayish green\",\"@ToolTip105\":\"Moderate olive green\",\"@ToolTip106\":\"[HTML Color]\",\"@ToolTip107\":\"Moderate violet\",\"@ToolTip108\":\"Moderate olive\",\"@ToolTip109\":\"[HTML Color]\",\"@ToolTip110\":\"[HTML Color]\",\"@ToolTip111\":\"Grayish purplish blue\",\"@ToolTip112\":\"[HTML Color]\",\"@ToolTip113\":\"Vivid purplish red\",\"@ToolTip114\":\"Deep red\",\"@ToolTip115\":\"Strong reddish brown\",\"@ToolTip116\":\"Moderate greenish blue\",\"@ToolTip117\":\"Moderate green\",\"@ToolTip118\":\"Moderate bluish green\",\"@ToolTip119\":\"Brilliant greenish blue\",\"@ToolTip120\":\"Brilliant green\",\"@ToolTip121\":\"Brilliant bluish green\",\"@ToolTip122\":\"Grayish violet\",\"@ToolTip123\":\"Brilliant yellowish green\",\"@ToolTip124\":\"Vivid violet\",\"@ToolTip125\":\"Dark bluish gray\",\"@ToolTip126\":\"Grayish olive\",\"@ToolTip127\":\"[HTML Color]\",\"@ToolTip128\":\"Olive gray\",\"@ToolTip129\":\"Dark purplish gray\",\"@ToolTip130\":\"Vivid reddish purple\",\"@ToolTip131\":\"Strong brown\",\"@ToolTip132\":\"Moderate reddish brown\",\"@ToolTip133\":\"Moderate brown\",\"@ToolTip134\":\"Grayish reddish brown\",\"@ToolTip135\":\"Dark reddish gray\",\"@ToolTip136\":\"Grayish brown\",\"@ToolTip137\":\"Brownish gray\",\"@ToolTip138\":\"Moderate olive brown\",\"@ToolTip139\":\"Dark greenish gray\",\"@ToolTip140\":\"Light blue\",\"@ToolTip141\":\"Strong yellow green\",\"@ToolTip142\":\"Grayish blue\",\"@ToolTip143\":\"Moderate yellowish green\",\"@ToolTip144\":\"[HTML Color]\",\"@ToolTip145\":\"Brilliant purplish blue\",\"@ToolTip146\":\"Light olive\",\"@ToolTip147\":\"Grayish green\",\"@ToolTip148\":\"[HTML Color]\",\"@ToolTip149\":\"Deep reddish orange\",\"@ToolTip150\":\"Dark reddish orange\",\"@ToolTip151\":\"[HTML Color]\",\"@ToolTip152\":\"Strong purple\",\"@ToolTip153\":\"[HTML Color]\",\"@ToolTip154\":\"[HTML Color]\",\"@ToolTip155\":\"Moderate purple\",\"@ToolTip156\":\"[HTML Color]\",\"@ToolTip157\":\"Light purplish blue\",\"@ToolTip158\":\"Light greenish blue\",\"@ToolTip159\":\"Light green\",\"@ToolTip160\":\"Light bluish green\",\"@ToolTip161\":\"Vivid purple\",\"@ToolTip162\":\"Maroon\",\"@ToolTip163\":\"Purple\",\"@ToolTip164\":\"Grayish purple\",\"@ToolTip165\":\"[HTML Color]\",\"@ToolTip166\":\"Strong red\",\"@ToolTip167\":\"Strong purplish red\",\"@ToolTip168\":\"Strong reddish purple\",\"@ToolTip169\":\"Moderate red\",\"@ToolTip170\":\"Moderate purplish red\",\"@ToolTip171\":\"Moderate reddish purple\",\"@ToolTip172\":\"Grayish purplish red\",\"@ToolTip173\":\"Grayish red\",\"@ToolTip174\":\"Grayish reddish purple\",\"@ToolTip175\":\"Moderate yellowish brown\",\"@ToolTip176\":\"Grayish yellowish brown\",\"@ToolTip177\":\"Deep greenish yellow\",\"@ToolTip178\":\"Very light blue\",\"@ToolTip179\":\"Moderate yellow green\",\"@ToolTip180\":\"[HTML Color]\",\"@ToolTip181\":\"Brilliant violet\",\"@ToolTip182\":\"Light violet\",\"@ToolTip183\":\"[HTML Color]\",\"@ToolTip184\":\"[HTML Color]\",\"@ToolTip185\":\"Dark greenish yellow\",\"@ToolTip186\":\"[HTML Color]\",\"@ToolTip187\":\"[HTML Color]\",\"@ToolTip188\":\"[HTML Color]\",\"@ToolTip189\":\"[HTML Color]\",\"@ToolTip190\":\"Vivid reddish orange\",\"@ToolTip191\":\"Deep orange\",\"@ToolTip192\":\"Brownish orange\",\"@ToolTip193\":\"Strong yellowish brown\",\"@ToolTip194\":\"[HTML Color]\",\"@ToolTip195\":\"Gray\",\"@ToolTip196\":\"Vivid greenish yellow\",\"@ToolTip197\":\"Light yellowish green\",\"@ToolTip198\":\"Bluish gray\",\"@ToolTip199\":\"Light grayish olive\",\"@ToolTip200\":\"Deep yellow\",\"@ToolTip201\":\"Pale blue\",\"@ToolTip202\":\"Pale violet\",\"@ToolTip203\":\"Light olive gray\",\"@ToolTip204\":\"[HTML Color]\",\"@ToolTip205\":\"[HTML Color]\",\"@ToolTip206\":\"Brilliant yellow green\",\"@ToolTip207\":\"Dark yellow\",\"@ToolTip208\":\"[HTML Color]\",\"@ToolTip209\":\"Pale purplish blue\",\"@ToolTip210\":\"[HTML Color]\",\"@ToolTip211\":\"[HTML Color]\",\"@ToolTip212\":\"[HTML Color]\",\"@ToolTip213\":\"Purplish gray\",\"@ToolTip214\":\"Light olive brown\",\"@ToolTip215\":\"Grayish yellow green\",\"@ToolTip216\":\"Strong reddish orange\",\"@ToolTip217\":\"Moderate reddish orange\",\"@ToolTip218\":\"Grayish reddish orange\",\"@ToolTip219\":\"Light reddish brown\",\"@ToolTip220\":\"Light brown\",\"@ToolTip221\":\"Light grayish reddish brown\",\"@ToolTip222\":\"Reddish gray\",\"@ToolTip223\":\"Light grayish brown\",\"@ToolTip224\":\"Light brownish gray\",\"@ToolTip225\":\"Greenish gray\",\"@ToolTip226\":\"Strong greenish yellow\",\"@ToolTip227\":\"Dark grayish yellow\",\"@ToolTip228\":\"[HTML Color]\",\"@ToolTip229\":\"Pale green\",\"@ToolTip230\":\"Very light greenish blue\",\"@ToolTip231\":\"Very light bluish green\",\"@ToolTip232\":\"[HTML Color]\",\"@ToolTip233\":\"[HTML Color]\",\"@ToolTip234\":\"[HTML Color]\",\"@ToolTip235\":\"[HTML Color]\",\"@ToolTip236\":\"Deep purplish pink\",\"@ToolTip237\":\"Deep pink\",\"@ToolTip238\":\"[HTML Color]\",\"@ToolTip239\":\"Deep yellowish pink\",\"@ToolTip240\":\"Dark purplish pink\",\"@ToolTip241\":\"Light reddish purple\",\"@ToolTip242\":\"Dark pink\",\"@ToolTip243\":\"Dark yellowish pink\",\"@ToolTip244\":\"Light grayish red\",\"@ToolTip245\":\"Light purplish red\",\"@ToolTip246\":\"Pale reddish purple\",\"@ToolTip247\":\"Deep orange yellow\",\"@ToolTip248\":\"Dark orange yellow\",\"@ToolTip249\":\"Vivid yellow\",\"@ToolTip250\":\"Very light green\",\"@ToolTip251\":\"[HTML Color]\",\"@ToolTip252\":\"Light purple\",\"@ToolTip253\":\"Moderate greenish yellow\",\"@ToolTip254\":\"Very light yellowish green\",\"@ToolTip255\":\"Brilliant purple\",\"@ToolTip256\":\"Brown\",\"@ToolTip257\":\"[HTML Color]\",\"@ToolTip258\":\"Pale purple\",\"@ToolTip259\":\"Very light purplish blue\",\"@ToolTip260\":\"Strong yellow\",\"@ToolTip261\":\"[HTML Color]\",\"@ToolTip262\":\"Strong orange\",\"@ToolTip263\":\"Moderate orange\",\"@ToolTip264\":\"Light yellowish brown\",\"@ToolTip265\":\"Light grayish yellowish brown\",\"@ToolTip266\":\"[HTML Color]\",\"@ToolTip267\":\"Grayish greenish yellow\",\"@ToolTip268\":\"Moderate yellow\",\"@ToolTip269\":\"Very light violet\",\"@ToolTip270\":\"[HTML Color]\",\"@ToolTip271\":\"[HTML Color]\",\"@ToolTip272\":\"Very pale blue\",\"@ToolTip273\":\"Brilliant greenish yellow\",\"@ToolTip274\":\"[HTML Color]\",\"@ToolTip275\":\"Violet\",\"@ToolTip276\":\"[HTML Color]\",\"@ToolTip277\":\"[HTML Color]\",\"@ToolTip278\":\"Light yellow green\",\"@ToolTip279\":\"[HTML Color]\",\"@ToolTip280\":\"Strong purplish pink\",\"@ToolTip281\":\"Moderate purplish pink\",\"@ToolTip282\":\"Vivid orange\",\"@ToolTip283\":\"Grayish purplish pink\",\"@ToolTip284\":\"Light bluish gray\",\"@ToolTip285\":\"Grayish yellow\",\"@ToolTip286\":\"[HTML Color]\",\"@ToolTip287\":\"[HTML Color]\",\"@ToolTip288\":\"Moderate pink\",\"@ToolTip289\":\"Grayish pink\",\"@ToolTip290\":\"Moderate orange yellow\",\"@ToolTip291\":\"Yellowish gray\",\"@ToolTip292\":\"[HTML Color]\",\"@ToolTip293\":\"Very pale green\",\"@ToolTip294\":\"Light purplish gray\",\"@ToolTip295\":\"[HTML Color]\",\"@ToolTip296\":\"Light greenish yellow\",\"@ToolTip297\":\"Moderate yellowish pink\",\"@ToolTip298\":\"Vivid orange yellow\",\"@ToolTip299\":\"Strong orange yellow\",\"@ToolTip300\":\"Grayish yellowish pink\",\"@ToolTip301\":\"Pinkish gray\",\"@ToolTip302\":\"Brownish pink\",\"@ToolTip303\":\"Light greenish gray\",\"@ToolTip304\":\"Very pale purplish blue\",\"@ToolTip305\":\"[HTML Color]\",\"@ToolTip306\":\"Lime\",\"@ToolTip307\":\"Brilliant yellow\",\"@ToolTip308\":\"[HTML Color]\",\"@ToolTip309\":\"Very light purple\",\"@ToolTip310\":\"Very pale violet\",\"@ToolTip311\":\"Pale greenish yellow\",\"@ToolTip312\":\"Vivid pink\",\"@ToolTip313\":\"Vivid yellowish pink\",\"@ToolTip314\":\"Strong yellowish pink\",\"@ToolTip315\":\"[HTML Color]\",\"@ToolTip316\":\"[HTML Color]\",\"@ToolTip317\":\"Light yellow\",\"@ToolTip318\":\"Pale yellow green\",\"@ToolTip319\":\"[HTML Color]\",\"@ToolTip320\":\"[HTML Color]\",\"@ToolTip321\":\"Very pale purple\",\"@ToolTip322\":\"[HTML Color]\",\"@ToolTip323\":\"[HTML Color]\",\"@ToolTip324\":\"Brilliant purplish pink\",\"@ToolTip325\":\"Strong pink\",\"@ToolTip326\":\"Light purplish pink\",\"@ToolTip327\":\"Brilliant orange\",\"@ToolTip328\":\"Light orange\",\"@ToolTip329\":\"Pale yellow\",\"@ToolTip330\":\"[HTML Color]\",\"@ToolTip331\":\"[HTML Color]\",\"@ToolTip332\":\"[HTML Color]\",\"@ToolTip333\":\"[HTML Color]\",\"@ToolTip334\":\"[HTML Color]\",\"@ToolTip335\":\"[HTML Color]\",\"@ToolTip336\":\"[HTML Color]\",\"@ToolTip337\":\"Bluish white\",\"@ToolTip338\":\"Lilac\",\"@ToolTip339\":\"Tan\",\"@ToolTip340\":\"[HTML Color]\",\"@ToolTip341\":\"Light pink\",\"@ToolTip342\":\"Light yellowish pink\",\"@ToolTip343\":\"Brilliant orange yellow\",\"@ToolTip344\":\"Pale purplish pink\",\"@ToolTip345\":\"Pale pink\",\"@ToolTip346\":\"Pale yellowish pink\",\"@ToolTip347\":\"Light orange yellow\",\"@ToolTip348\":\"Pale orange yellow\",\"@ToolTip349\":\"[HTML Color]\",\"@ToolTip350\":\"Cream\",\"@ToolTip351\":\"Yellowish white\",\"@ToolTip352\":\"[HTML Color]\",\"@ToolTip353\":\"Purplish white\",\"@ToolTip354\":\"Greenish white\",\"@ToolTip355\":\"Pinkish white\",\"@ToolTip356\":\"[HTML Color]\",\"@ToolTip357\":\"[HTML Color]\",\"@ToolTip358\":\"[HTML Color]\",\"@ToolTip359\":\"[HTML Color]\",\"@ToolTip360\":\"[HTML Color]\",\"@ToolTip361\":\"[HTML Color]\",\"@ToolTip362\":\"[HTML Color]\",\"@ToolTip363\":\"[HTML Color]\",\"@ToolTip364\":\"[HTML Color]\",\"@ToolTip365\":\"[HTML Color]\",\"@ToolTip366\":\"[HTML Color]\",\"@ToolTip367\":\"[HTML Color]\",\"@ToolTip368\":\"[HTML Color]\",\"@ToolTip369\":\"[HTML Color]\",\"@ToolTip370\":\"[HTML Color]\",\"@ToolTip371\":\"[HTML Color]\",\"@ToolTip372\":\"[HTML Color]\",\"@ToolTip373\":\"[HTML Color]\",\"@ToolTip374\":\"Red\",\"@ToolTip375\":\"Salmon\",\"@ToolTip376\":\"Pink\",\"@ToolTip377\":\"Magenta\",\"@ToolTip378\":\"[HTML Color]\",\"@ToolTip379\":\"[HTML Color]\",\"@ToolTip380\":\"Rose\",\"@ToolTip381\":\"[HTML Color]\",\"@ToolTip382\":\"[HTML Color]\",\"@ToolTip383\":\"[HTML Color]\",\"@ToolTip384\":\"Orange\",\"@ToolTip385\":\"[HTML Color]\",\"@ToolTip386\":\"[HTML Color]\",\"@ToolTip387\":\"[HTML Color]\",\"@ToolTip388\":\"Gold\",\"@ToolTip389\":\"[HTML Color]\",\"@ToolTip390\":\"[HTML Color]\",\"@ToolTip391\":\"[HTML Color]\",\"@ToolTip392\":\"[HTML Color]\",\"@ToolTip393\":\"[HTML Color]\",\"@ToolTip394\":\"[HTML Color]\",\"@ToolTip395\":\"[HTML Color]\",\"@ToolTip396\":\"[HTML Color]\",\"@ToolTip397\":\"[HTML Color]\",\"@ToolTip398\":\"[HTML Color]\",\"@ToolTip399\":\"[HTML Color]\",\"@ToolTip400\":\"[HTML Color]\",\"@ToolTip401\":\"[HTML Color]\",\"@ToolTip402\":\"[HTML Color]\",\"@ToolTip403\":\"[HTML Color]\",\"@ToolTip404\":\"[HTML Color]\",\"@ToolTip405\":\"Yellow\",\"@ToolTip406\":\"[HTML Color]\",\"@ToolTip407\":\"[HTML Color]\",\"@ToolTip408\":\"White\"}}}"
  },
  {
    "path": "server/data/SASContextPrompt.json",
    "content": "{\"ContextPrompt\":{\"Function\":[{\"Name\":\"ARMCONV\",\"Definition\":\"Converts a SAS System 9 or later ARM log written in simple format to the more readable label=item format that was used in SAS 8.2.\",\"Parameter1\":\"login='aname'\",\"Description1\":\"Is the physical name of the input ARM log.\",\"Parameter2\":\"logout='aname'\",\"Description2\":\"Is the physical name of the output ARM log.\"},{\"Name\":\"ARMEND\",\"Definition\":\"Indicates the termination of an application.\",\"Parameter1\":\"option-1&lt;\",\"Description1\":\"Options: APPID=numeric variable or constant; APPIDVAR=numeric variable; LEVEL= variable; MACONLY=NO | YES; SCL=NO | YES.\",\"Parameter2\":\"...option-n&gt;\",\"Description2\":\"Options: APPID=numeric variable or constant; APPIDVAR=numeric variable; LEVEL= variable; MACONLY=NO | YES; SCL=NO | YES.\"},{\"Name\":\"ARMGTID\",\"Definition\":\"Assigns a unique identifier to a transaction class.\",\"Parameter1\":\"TXNNAME='aname'&lt;\",\"Description1\":\"Is a required transaction name that is a SAS character variable or quoted literal value, up to 127 characters.\",\"Parameter2\":\"option-1&lt;, ...option-n&gt;&gt;\",\"Description2\":\"Options: APPID=numeric variable or constant; APPIDVAR=numeric variable; LEVEL=numeric constant or variable; MACONLY=NO | YES; METRNAM1-7='aname'; METRDEF1-7=option; SCL=NO | YES; TXNDET='aname'; TXNIDVAR=numeric variable.\"},{\"Name\":\"ARMINIT\",\"Definition\":\"Starts the initialization of an application.\",\"Parameter1\":\"APPNAME='aname'&lt;\",\"Description1\":\"Is the required application name that is a SAS character variable or quoted literal value.\",\"Parameter2\":\"option-1&lt;\",\"Description2\":\"Options: APPIDVAR=numeric variable; APPUSER='aname'; GETID=NO | YES; LEVEL=numeric constant or variable; MACONLY=NO | YES; SCL=NO | YES; TXNIDVAR=numeric variable; TXNDET='aname'; TXNNAME='aname'\",\"Parameter3\":\"...option-n&gt;&gt;\",\"Description3\":\"Options: APPIDVAR=numeric variable; APPUSER='aname'; GETID=NO | YES; LEVEL=numeric constant or variable; MACONLY=NO | YES; SCL=NO | YES; TXNIDVAR=numeric variable; TXNDET='aname'; TXNNAME='aname'\"},{\"Name\":\"ARMJOIN\",\"Definition\":\"Reads the six SAS data sets created by the %ARMPROC macro, and creates SAS data sets and SQL views that contain common information about applications and transactions.\",\"Parameter1\":\"&lt;option-1&lt;\",\"Description1\":\"Options: LIBIN=libref; LIBOUT=libref; TXNDS=YES | NO; UPDTDS=YES | NO.\",\"Parameter2\":\"...option-n&gt;&gt;\",\"Description2\":\"Options: LIBIN=libref; LIBOUT=libref; TXNDS=YES | NO; UPDTDS=YES | NO.\"},{\"Name\":\"ARMPROC\",\"Definition\":\"Processes an input ARM log, and outputs six SAS data sets that contain the gathered information from the log.\",\"Parameter1\":\"&lt;option-1&lt;\",\"Description1\":\"Options: LIB=libref; LOG=pathname; LOGNEW=pathname.\",\"Parameter2\":\"...option-n&gt;&gt;\",\"Description2\":\"Options: LIB=libref; LOG=pathname; LOGNEW=pathname.\"},{\"Name\":\"ARMSTOP\",\"Definition\":\"Specifies the end of a transaction instance.\",\"Parameter1\":[\"&lt;option-1&lt;\",\"...option-n&gt;&gt;\"],\"Description1\":[\"Options: LEVEL=numeric constant or variable; MACONLY=NO | YES; METRVAL1-7='aname'; SCL=NO | YES; SHANDLE=numeric variable or constant; SHDLVAR=numeric variable; STATUS=numeric variable or numeric constants.\",\"Options: LEVEL=numeric constant or variable; MACONLY=NO | YES; METRVAL1-7='aname'; SCL=NO | YES; SHANDLE=numeric variable or constant; SHDLVAR=numeric variable; STATUS=numeric variable or numeric constants.\"]},{\"Name\":\"ARMSTRT\",\"Definition\":\"Specifies the start of execution of a transaction instance, and returns a unique handle that is passed to %ARMUPDT and %ARMSTOP.\",\"Parameter1\":\"option-1&lt;\",\"Description1\":\"Options: APPID=numeric variable or constant; APPIDVAR=numeric variable; CORR=n; GETID=NO | YES; LEVEL=numeric constant or variable; MACONLY=NO | YES; METRVAL1-7='aname'; PARNTVAR=numeric variable; SCL=NO | YES; SHDLVAR=numeric variable; TXNDET='aname'; TXNID=numeric variable or constant; TXNIDVAR=numeric variable; TXNNAME='aname'.\",\"Parameter2\":\"...option-n&gt;\",\"Description2\":\"Options: APPID=numeric variable or constant; APPIDVAR=numeric variable; CORR=n; GETID=NO | YES; LEVEL=numeric constant or variable; MACONLY=NO | YES; METRVAL1-7='aname'; PARNTVAR=numeric variable; SCL=NO | YES; SHDLVAR=numeric variable; TXNDET='aname'; TXNID=numeric variable or constant; TXNIDVAR=numeric variable; TXNNAME='aname'.\"},{\"Name\":\"ARMUPDT\",\"Definition\":\"Updates a transaction instance that has been previously started.\",\"Parameter1\":\"DATA='variable'&lt;\",\"Description1\":\"Is a SAS character variable or a quoted literal user-supplied data buffer that contains text to pass to the ARM_UPDATE function call. DATA = is not required but highly recommended.\",\"Parameter2\":\"option-1&lt;\",\"Description2\":\"Options: LEVEL=numeric constant or variable; MACONLY=NO | YES; METRVAL1-7='aname'; SCL=NO | YES; SHANDLE=numeric or constant; SHDLVAR=numeric variable.\",\"Parameter3\":\"...option-n&gt;&gt;\",\"Description3\":\"Options: LEVEL=numeric constant or variable; MACONLY=NO | YES; METRVAL1-7='aname'; SCL=NO | YES; SHANDLE=numeric or constant; SHDLVAR=numeric variable.\"},{\"Name\":\"ABS\",\"Definition\":\"Returns the absolute value.\",\"Parameter1\":\"argument\",\"Description1\":\"Specifies a numeric constant, variable, or expression.\"},{\"Name\":\"ADDR\",\"Definition\":\"Returns the memory address of a variable on a 32-bit platform. The value that is returned is numeric.\",\"Parameter1\":\"variable\",\"Description1\":\"Specifies a variable name.\"},{\"Name\":\"ADDRLONG\",\"Definition\":\"Returns the memory address of a variable on 32-bit and 64-bit platforms. The return value is a character string that contains the binary representation of the address. To display this value, use the $HEXw. format to convert the binary value to its hexadecimal equivalent.\",\"Parameter1\":\"variable\",\"Description1\":\"Specifies a variable.\"},{\"Name\":\"AIRY\",\"Definition\":\"Returns the value of the Airy function.\",\"Parameter1\":\"x\",\"Description1\":\"Specifies a numeric constant, variable, or expression.\"},{\"Name\":\"ALLPERM\",\"Definition\":\"Generates all permutations of the values of several variables in a minimal change order.\",\"Parameter1\":\"count\",\"Description1\":\"Specifies an integer variable that ranges from 1 to the number of permutations.\",\"Parameter2\":\"variable-1&lt;\",\"Description2\":\"Specifies either all numeric variables, or all character variables that have the same length. The values of these variables are permuted.\",\"Parameter3\":\"variable-2...&gt;\",\"Description3\":\"Specifies either all numeric variables, or all character variables that have the same length. The values of these variables are permuted.\"},{\"Name\":\"ANYALNUM\",\"Definition\":\"Searches a character string for an alphanumeric character, and returns the first position at which the character is found.\",\"Parameter1\":\"string &lt;\",\"Description1\":\"Specifies a character constant, variable, or expression to search.\",\"Parameter2\":\"start&gt;\",\"Description2\":\"Is an optional integer that specifies the position at which the search should start and the direction in which to search.\"},{\"Name\":\"ANYALPHA\",\"Definition\":\"Searches a character string for an alphabetic character, and returns the first position at which the character is found.\",\"Parameter1\":\"string &lt;\",\"Description1\":\"Is the character constant, variable, or expression to search.\",\"Parameter2\":\"start&gt;\",\"Description2\":\"Is an optional integer that specifies the position at which the search should start and the direction in which to search.\"},{\"Name\":\"ANYCNTRL\",\"Definition\":\"Searches a character string for a control character, and returns the first position at which that character is found.\",\"Parameter1\":\"string &lt;\",\"Description1\":\"Is the character constant, variable, or expression to search.\",\"Parameter2\":\"start&gt;\",\"Description2\":\"Is an optional integer that specifies the position at which the search should start and the direction in which to search.\"},{\"Name\":\"ANYDIGIT\",\"Definition\":\"Searches a character string for a digit, and returns the first position at which the digit is found.\",\"Parameter1\":\"string &lt;\",\"Description1\":\"Is the character constant, variable, or expression to search.\",\"Parameter2\":\"start&gt;\",\"Description2\":\"Is an optional integer that specifies the position at which the search should start and the direction in which to search.\"},{\"Name\":\"ANYFIRST\",\"Definition\":\"Searches a character string for a character that is valid as the first character in a SAS variable name under VALIDVARNAME=V7, and returns the first position at which that character is found.\",\"Parameter1\":\"string &lt;\",\"Description1\":\"Is the character constant, variable, or expression to search.\",\"Parameter2\":\"start&gt;\",\"Description2\":\"Is an optional integer that specifies the position at which the search should start and the direction in which to search.\"},{\"Name\":\"ANYGRAPH\",\"Definition\":\"Searches a character string for a graphical character, and returns the first position at which that character is found.\",\"Parameter1\":\"string &lt;\",\"Description1\":\"Is the character constant, variable, or expression to search.\",\"Parameter2\":\"start&gt;\",\"Description2\":\"Is an optional integer that specifies the position at which the search should start and the direction in which to search.\"},{\"Name\":\"ANYLOWER\",\"Definition\":\"Searches a character string for a lowercase letter, and returns the first position at which the letter is found.\",\"Parameter1\":\"string &lt;\",\"Description1\":\"Is the character constant, variable, or expression to search.\",\"Parameter2\":\"start&gt;\",\"Description2\":\"Is an optional integer that specifies the position at which the search should start and the direction in which to search.\"},{\"Name\":\"ANYNAME\",\"Definition\":\"Searches a character string for a character that is valid in a SAS variable name under VALIDVARNAME=V7, and returns the first position at which that character is found.\",\"Parameter1\":\"string &lt;\",\"Description1\":\"Is the character constant, variable, or expression to search.\",\"Parameter2\":\"start&gt;\",\"Description2\":\"Is an optional integer that specifies the position at which the search should start and the direction in which to search.\"},{\"Name\":\"ANYPRINT\",\"Definition\":\"Searches a character string for a printable character, and returns the first position at which that character is found.\",\"Parameter1\":\"string &lt;\",\"Description1\":\"Is the character constant, variable, or expression to search.\",\"Parameter2\":\"start&gt;\",\"Description2\":\"Is an optional integer that specifies the position at which the search should start and the direction in which to search.\"},{\"Name\":\"ANYPUNCT\",\"Definition\":\"Searches a character string for a punctuation character, and returns the first position at which that character is found.\",\"Parameter1\":\"string &lt;\",\"Description1\":\"Is the character constant, variable, or expression to search.\",\"Parameter2\":\"start&gt;\",\"Description2\":\"Is an optional integer that specifies the position at which the search should start and the direction in which to search.\"},{\"Name\":\"ANYSPACE\",\"Definition\":\"Searches a character string for a white-space character (blank, horizontal and vertical tab, carriage return, line feed, and form feed), and returns the first position at which that character is found.\",\"Parameter1\":\"string &lt;\",\"Description1\":\"Is the character constant, variable, or expression to search.\",\"Parameter2\":\"start&gt;\",\"Description2\":\"Is an optional integer that specifies the position at which the search should start and the direction in which to search.\"},{\"Name\":\"ANYUPPER\",\"Definition\":\"Searches a character string for an uppercase letter, and returns the first position at which the letter is found.\",\"Parameter1\":\"string &lt;\",\"Description1\":\"Is the character constant, variable, or expression to search.\",\"Parameter2\":\"start&gt;\",\"Description2\":\"Is an optional integer that specifies the position at which the search should start and the direction in which to search.\"},{\"Name\":\"ANYXDIGIT\",\"Definition\":\"Searches a character string for a hexadecimal character that represents a digit, and returns the first position at which that character is found.\",\"Parameter1\":\"string &lt;\",\"Description1\":\"Is the character constant, variable, or expression to search.\",\"Parameter2\":\"start&gt;\",\"Description2\":\"Is an optional integer that specifies the position at which the search should start and the direction in which to search.\"},{\"Name\":\"ARCOS\",\"Definition\":\"Returns the arccosine.\",\"Parameter1\":\"argument \",\"Description1\":\"Specifies a numeric constant, variable, or expression. Range is between -1 and 1.\"},{\"Name\":\"ARCOSH\",\"Definition\":\"Returns the inverse hyperbolic cosine.\",\"Parameter1\":\"x\",\"Description1\":\"Specifies a numeric constant, variable, or expression. Range is greater than or equal to 1.\"},{\"Name\":\"ARSIN\",\"Definition\":\"Returns the arcsine.\",\"Parameter1\":\"argument \",\"Description1\":\"Specifies a numeric constant, variable, or expression. Range is between -1 and 1.\"},{\"Name\":\"ARSINH\",\"Definition\":\"Returns the inverse hyperbolic sine.\",\"Parameter1\":\"x\",\"Description1\":\"Specifies a numeric constant, variable, or expression. Range is from negative infinity to infinity.\"},{\"Name\":\"ARTANH\",\"Definition\":\"Returns the inverse hyperbolic tangent.\",\"Parameter1\":\"x\",\"Description1\":\"Specifies a numeric constant, variable, or expression. Range is between -1 to 1.\"},{\"Name\":\"ATAN\",\"Definition\":\"Returns the arc tangent.\",\"Parameter1\":\"argument \",\"Description1\":\"Specifies a numeric constant, variable, or expression.\"},{\"Name\":\"ATAN2\",\"Definition\":\"Returns the arc tangent of the ratio of two numeric variables.\",\"Parameter1\":\"argument-1\",\"Description1\":\"Specifies a numeric constant, variable, or expression.\",\"Parameter2\":\"argument-2\",\"Description2\":\"Specifies a numeric constant, variable, or expression.\"},{\"Name\":\"ATTRC\",\"Definition\":\"Returns the value of a character attribute for a SAS data set.\",\"Parameter1\":\"data-set-id\",\"Description1\":\"Specifies the data set identifier that the OPEN function returns.\",\"Parameter2\":\"attr-name\",\"Description2\":\"Is an attribute name. If attr-name is invalid, a missing value is returned. Valid values are: \\\"CHARSET\\\", \\\"ENCRYPT\\\", \\\"ENGINE\\\", \\\"LABEL\\\", \\\"LIB\\\", \\\"MEM\\\", \\\"MODE\\\", \\\"MTYPE\\\", \\\"SORTEDBY\\\", \\\"SORTLVL\\\", \\\"SORTSEQ\\\", \\\"TYPE\\\".\\n    \"},{\"Name\":\"ATTRN\",\"Definition\":\"Returns the value of a numeric attribute for a SAS data set.\",\"Parameter1\":\"data-set-id\",\"Description1\":\"Specifies the data set identifier that the OPEN function returns.\",\"Parameter2\":\"attr-name\",\"Description2\":\"Is the name of the SAS data set attribute whose numeric value\\nis returned. If the value of attr-name is invalid, a missing\\nvalue is returned. The following values are valid: \\\"ALTERPW\\\",\\n\\\"ANOBS\\\", \\\"ANY\\\", \\\"ARAND\\\", \\\"ARWU\\\", \\\"AUDIT\\\", \\\"AUDIT_DATA\\\",\\n\\\"AUDIT_BEFORE\\\", \\\"AUDIT_ERROR\\\", \\\"CRDTE\\\", \\\"ICONST\\\", \\\"INDEX\\\",\\n\\\"ISINDEX\\\", \\\"ISSUBSET\\\", \\\"LRECL\\\", \\\"LRID\\\", \\\"MAXGEN\\\", \\\"MAXRC\\\",\\n\\\"MODTE\\\", \\\"NDEL\\\", \\\"NEXTGEN\\\", \\\"NLOBS\\\", \\\"NLOBSF\\\", \\\"NOBS\\\", \\\"NVARS\\\",\\n\\\"PW\\\", \\\"RADIX\\\", \\\"READPW\\\", \\\"TAPE\\\", \\\"WHSTMT\\\", \\\"WRITEPW\\\".\\n    \"},{\"Name\":\"BAND\",\"Definition\":\"Returns the bitwise logical AND of two arguments. If either argument contains a missing value, then the function returns a missing value and sets _ERROR_ equal to 1.\",\"Parameter1\":\"argument-1\",\"Description1\":\"Specifies a numeric constant, variable, or expression.\",\"Parameter2\":\"argument-2\",\"Description2\":\"Specifies a numeric constant, variable, or expression.\"},{\"Name\":\"BETA\",\"Definition\":\"Returns the value of the beta function.\",\"Parameter1\":\"a\",\"Description1\":\"Is the first shape parameter, where a &gt; 0.\",\"Parameter2\":\"b\",\"Description2\":\"Is the second shape parameter, where b &gt; 0.\"},{\"Name\":\"BETAINV\",\"Definition\":\"Returns a quantile from the beta distribution with shape parameters a and b.\",\"Parameter1\":\"p\",\"Description1\":\"Is a numeric probability. Range: 0 \\u2264 p \\u2264 1.\",\"Parameter2\":\"a\",\"Description2\":\"Is a numeric shape parameter. Range: a &gt; 0.\",\"Parameter3\":\"b\",\"Description3\":\"Is a numeric shape parameter. Range: b &gt; 0.\"},{\"Name\":\"BLACKCLPRC\",\"Definition\":\"Calculates call prices for European options on futures, based on the Black model.\",\"Parameter1\":\"E\",\"Description1\":\"Is a non-missing, positive value that specifies exercise price. Specify E and F in the same units.\",\"Parameter2\":\"t\",\"Description2\":\"Is a non-missing value that specifies time to maturity.\",\"Parameter3\":\"F\",\"Description3\":\"Is a non-missing, positive value that specifies future price. Specify F and E in the same units.\",\"Parameter4\":\"r\",\"Description4\":\"Is a non-missing, positive fraction that specifies the risk-free interest rate between the present time and t. Specify a value for r for the same time period as the unit of t.\",\"Parameter5\":\"sigma\",\"Description5\":\"Is a non-missing, positive fraction that specifies the volatility (the square root of the variance of r). Specify a value for sigma for the same time period as the unit of t.\"},{\"Name\":\"BLACKPTPRC\",\"Definition\":\"Calculates put prices for European options on futures, based on the Black model.\",\"Parameter1\":\"E\",\"Description1\":\"Is a non-missing, positive value that specifies exercise price. Specify E and F in the same units.\",\"Parameter2\":\"t\",\"Description2\":\"Is a non-missing value that specifies time to maturity.\",\"Parameter3\":\"F\",\"Description3\":\"Is a non-missing, positive value that specifies future price. Specify F and E in the same units.\",\"Parameter4\":\"r\",\"Description4\":\"Is a non-missing, positive fraction that specifies the risk-free interest rate between the present time and t. Specify a value for r for the same time period as the unit of t.\",\"Parameter5\":\"sigma\",\"Description5\":\"Is a non-missing, positive fraction that specifies the volatility (the square root of the variance of r). Specify a value for sigma for the same time period as the unit of t.\"},{\"Name\":\"BLKSHCLPRC\",\"Definition\":\"Calculates call prices for European options on stocks, based on the Black-Scholes model.\",\"Parameter1\":\"E\",\"Description1\":\"Is a non-missing, positive value that specifies exercise price.\\n\\nRequirementSpecify E and S in the same units.\\nData typeDOUBLE\\n    \",\"Parameter2\":\"t\",\"Description2\":\"Is  a nonmissing value that specifies the time to maturity, in years.\\n\\nData typeINTEGER\",\"Parameter3\":\"S\",\"Description3\":\"Is  a nonmissing, positive value that specifies the share price. \\n    \\nRequirementSpecify S and E in the same units.\\nData typeDOUBLE\",\"Parameter4\":\"r\",\"Description4\":\"Is a nonmissing, positive value that specifies the annualized risk-free interest rate, continuously compounded.\\n\\nData typeDOUBLE\\n\",\"Parameter5\":\"sigma\",\"Description5\":\"Is a nonmissing, positive fraction that specifies the volatility of the underlying asset.\\nData typeDOUBLE\"},{\"Name\":\"BLSHIFT\",\"Definition\":\"Returns the bitwise logical left shift of two arguments. If either argument contains a missing value, then the function returns a missing value and sets _ERROR_ equal to 1.\",\"Parameter1\":\"argument-1\",\"Description1\":\"Specifies a numeric constant, variable, or expression. Range: between 0 and 2\\u00b3\\u00b2-1 inclusive.\",\"Parameter2\":\"argument-2\",\"Description2\":\"Specifies a numeric constant, variable, or expression. Range: 0 to 31, inclusive.\"},{\"Name\":\"BNOT\",\"Definition\":\"Returns the bitwise logical NOT of an argument.\",\"Parameter1\":\"argument\",\"Description1\":\"Specifies a numeric constant, variable, or expression. Range: between 0 and 2\\u00b3\\u00b2-1 inclusive.\"},{\"Name\":\"BOR\",\"Definition\":\"Returns the bitwise logical OR of two arguments. If either argument contains a missing value, then the function returns a missing value and sets _ERROR_ equal to 1.\",\"Parameter1\":\"argument-1\",\"Description1\":\"Specifies a numeric constant, variable, or expression. Range: between 0 and 2\\u00b3\\u00b2-1 inclusive.\",\"Parameter2\":\"argument-2\",\"Description2\":\"Specifies a numeric constant, variable, or expression. Range: between 0 and 2\\u00b3\\u00b2-1 inclusive.\"},{\"Name\":\"BRSHIFT\",\"Definition\":\"Returns the bitwise logical right shift of two arguments. If either argument contains a missing value, then the function returns a missing value and sets _ERROR_ equal to 1.\",\"Parameter1\":\"argument-1\",\"Description1\":\"Specifies a numeric constant, variable, or expression. Range: between 0 and 2\\u00b3\\u00b2-1 inclusive.\",\"Parameter2\":\"argument-2\",\"Description2\":\"Specifies a numeric constant, variable, or expression. Range: 0 to 31, inclusive.\"},{\"Name\":\"BXOR\",\"Definition\":\"Returns the bitwise logical EXCLUSIVE OR of two arguments. If either argument contains a missing value, then the function returns a missing value and sets _ERROR_ equal to 1.\",\"Parameter1\":\"argument-1\",\"Description1\":\"Specifies a numeric constant, variable, or expression. Range: between 0 and 2\\u00b3\\u00b2-1 inclusive.\",\"Parameter2\":\"argument-2\",\"Description2\":\"Specifies a numeric constant, variable, or expression. Range: between 0 and 2\\u00b3\\u00b2-1 inclusive.\"},{\"Name\":\"BYTE\",\"Definition\":\"Returns one character in the ASCII or the EBCDIC collating sequence.\",\"Parameter1\":\"n\",\"Description1\":\"Specifies an integer that represents a specific ASCII or EBCDIC character. Range: 0-255.\"},{\"Name\":\"ALLCOMB\",\"Definition\":\"Generates all combinations of the values of n variables taken k at a time in a minimal change order.\",\"Parameter1\":\"count\",\"Description1\":\"Specifies an integer variable that is assigned from 1 to the number of combinations in a loop.\",\"Parameter2\":\"variable-1, ..., variable-n\",\"Description2\":\"Specifies either all numeric variables, or all character variables that have the same length. The values of these variables are permuted.\"},{\"Name\":\"ALLCOMBI\",\"Definition\":\"Generates all combinations of the indices of n objects taken k at a time in a minimal change order.\",\"Parameter1\":\"N\",\"Description1\":\"Is a numeric constant, variable, or expression that specifies the total number of objects.\",\"Parameter2\":\"K\",\"Description2\":\"Is a numeric constant, variable, or expression that specifies the number of objects in each combination.\",\"Parameter3\":\"index-1, ..., index-K &lt;\",\"Description3\":\"Is a numeric variable that contains indices of the objects in the returned combination. Indices are integers between 1 and N inclusive.\",\"Parameter4\":\"index-added\",\"Description4\":\"Is a numeric variable in which ALLCOMBI returns the value of the index that was added.\",\"Parameter5\":\"index-removed&gt;\",\"Description5\":\"Is a numeric variable in which ALLCOMBI returns the value of the index that was removed.\"},{\"Name\":\"CATS*1\",\"Definition\":\"Removes leading and trailing blanks, and returns a concatenated character string.\",\"Parameter1\":\"string-1&lt;, ...string-n&gt;\",\"Description1\":\"Specifies a SAS character string.\"},{\"Name\":\"CATS*2\",\"Definition\":\"Removes leading and trailing blanks, and returns a concatenated character string.\",\"Parameter1\":\"result\",\"Description1\":\"Specifies a character variable.\",\"Parameter2\":\"string-1&lt;, ...string-n&gt;\",\"Description2\":\"Specifies a constant, variable, or expression, either character or numeric. If item is numeric, then its value is converted to a character string using the BESTw. format. In this case, SAS does not write a note to the log.\"},{\"Name\":\"CATT*1\",\"Definition\":\"Removes trailing blanks, and returns a concatenated character string.\",\"Parameter1\":\"string-1&lt;, ...string-n&gt;\",\"Description1\":\"Specifies a SAS character string.\"},{\"Name\":\"CATT*2\",\"Definition\":\"Removes trailing blanks, and returns a concatenated character string.\",\"Parameter1\":\"result\",\"Description1\":\"Specifies a character variable.\",\"Parameter2\":\"string-1&lt;, ...string-n&gt;\",\"Description2\":\"Specifies a constant, variable, or expression, either character or numeric. If item is numeric, then its value is converted to a character string using the BESTw. format. In this case, SAS does not write a note to the log.\"},{\"Name\":\"CATX*1\",\"Definition\":\"Removes leading and trailing blanks, inserts delimiters, and returns a concatenated character string.\",\"Parameter1\":\"delimiter\",\"Description1\":\"Specifies a character string that is used as a delimiter between concatenated strings.\",\"Parameter2\":\"string-1&lt;, ...string-n&gt;\",\"Description2\":\"Specifies a constant, variable, or expression, either character or numeric. If item is numeric, then its value is converted to a character string using the BESTw. format. In this case, SAS does not write a note to the log.\"},{\"Name\":\"CATX*2\",\"Definition\":\"Removes leading and trailing blanks, inserts delimiters, and returns a concatenated character string.\",\"Parameter1\":\"delimiter\",\"Description1\":\"Specifies a character string that is used as a delimiter between concatenated strings.\",\"Parameter2\":\"result\",\"Description2\":\"Specifies a character variable.\",\"Parameter3\":\"string-1&lt;, ...string-n&gt;\",\"Description3\":\"Specifies a constant, variable, or expression, either character or numeric. If item is numeric, then its value is converted to a character string using the BESTw. format. In this case, SAS does not write a note to the log.\"},{\"Name\":\"COMPCOST\",\"Definition\":\"Sets the costs of operations for later use by the COMPGED function.\",\"Parameter1\":\"operation\",\"Description1\":\"Is a character constant, variable, or expression that specifies an operation that is performed by the COMPGED function.\",\"Parameter2\":\"value-1 &lt;\",\"Description2\":\"Is a numeric constant, variable, or expression that specifies the cost of the operation that is indicated by the preceding argument. Must be an integer that ranges from -32767 to 32767, or a missing value.\",\"Parameter3\":\"operation-2, value-2 ...&gt;\",\"Description3\":\"Optional additional operation-value pairs.\"},{\"Name\":\"EXECUTE\",\"Definition\":\"Resolves the argument, and issues the resolved value for execution at the next step boundary.\",\"Parameter1\":\"argument\",\"Description1\":\"Specifies a character expression, a DATA step variable, or a character constant (enclosed in quotation marks) that yields a macro invocation or a SAS statement.\"},{\"Name\":\"GRAYCODE*1\",\"Definition\":\"Generates all subsets of n items in a minimal change order.\",\"Parameter1\":\"k\",\"Description1\":\"Specifies a numeric variable. Initializing k to a negative number causes CALL GRAYCODE to initialize the subset to be empty.\",\"Parameter2\":\"numeric-variable-1, ..., numeric-variable-n\",\"Description2\":\"Specifies numeric variables that have values of 0 or 1 which are updated when CALL GRAYCODE is executed.\"},{\"Name\":\"GRAYCODE*2\",\"Definition\":\"Generates all subsets of n items in a minimal change order.\",\"Parameter1\":\"k\",\"Description1\":\"Specifies a numeric variable. Initializing k to a negative number causes CALL GRAYCODE to initialize the subset to be empty.\",\"Parameter2\":\"character-variable&lt;\",\"Description2\":\"Specifies a character variable that has a length of at least n characters. The first n characters indicate which items are in the subset.\",\"Parameter3\":\"n&lt;\",\"Description3\":\"Specifies a numeric constant, variable, or expression. By default, n is the length of character-variable.\",\"Parameter4\":\"in-out&gt;&gt;\",\"Description4\":\"Specifies a character constant, variable, or expression. The default value is \\\"IO.\\\" The first character is used to indicate that an item is in the subset. The second character is used to indicate that an item is out of the subset.\"},{\"Name\":\"IS8601_CONVERT\",\"Definition\":\"Converts an ISO 8601 interval to datetime and duration values, or converts datetime and duration values to an ISO 8601 interval.\",\"Parameter1\":\"convert-from\",\"Description1\":\"\\n      Specifies a keyword in single quotation marks that indicates whether the source for the conversion is an interval, a datetime and duration value, or a duration value.\\n\\n      Convert-from can have one of the following values:\\n      'dn' specifies a date value, where n is a value from 1 to 6. The default value is 1. N is the number\\n          of components in the from-variables or the to-variables arguments. The following components are valid:\\n          \\u2022year\\n          \\u2022month\\n          \\u2022day\\n          \\u2022hour\\n          \\u2022minute\\n          \\u2022second\\n      'dtn' specifies a datetime value, where n is a value from 1 to 6. The default value is 1. N is the number \\n          of components in the from-variables or the to-variables arguments. The following components are valid:\\n          \\u2022year\\n          \\u2022month\\n          \\u2022day\\n          \\u2022hour\\n          \\u2022minute\\n          \\u2022second\\n      'dt/dt' specifies that the source value for the conversion is a datetime/datetime value.\\n      'dt/du' specifies that the source value for the conversion is a datetime/duration value.\\n      'dun' specifies that the source value for the conversion is a duration value, where n is a value from \\n          1 to 6. The default value is 1. N is the number of components in the from-variables or the to-variables \\n          arguments. The following components are valid:\\n          \\u2022year\\n          \\u2022month\\n          \\u2022day\\n          \\u2022hour\\n          \\u2022minute\\n          \\u2022second\\n      'du/dt' specifies that the source value for the conversion is a duration/datetime value.\\n      'intvl' specifies that the source value for the conversion is an interval value.\\n    \",\"Parameter2\":\"convert-to\",\"Description2\":\"\\n      Specifies a keyword in single quotation marks that indicates the results of the conversion.\\n\\n      Convert-to can have one of the following values:\\n      'dn' specifies a date value, where n is a value from 1 to 6. The default value is 1. N is the number\\n          of components in the from-variables or to-variables arguments. The following components are valid:\\n          \\u2022year\\n          \\u2022month\\n          day\\n          \\u2022hour\\n          \\u2022minute\\n          \\u2022second\\n      'dtn' specifies a datetime value, where n is a value from 1 to 6. The default value is 1. N is the number \\n          of components in the from-variables or the to-variables arguments. The following components are valid:\\n          \\u2022year\\n          \\u2022month\\n          \\u2022day\\n          \\u2022hour\\n          \\u2022minute\\n          \\u2022second\\n      'dt/dt' specifies to create a datetime/datetime interval.\\n      'dt/du' specifies to create a datetime/duration interval.\\n      'dun' specifies to create a duration, where n is a value from 1 to 6. The default value is 1. N is the number \\n          of components in the from-variables or the to-variables arguments. The following components are valid:\\n          \\u2022year\\n          \\u2022month\\n          \\u2022day\\n          \\u2022hour\\n          \\u2022minute\\n          \\u2022second\\n      'du/dt' specifies to create a duration/datetime interval.\\n      'end' specifies to create a value that is the ending datetime or duration of an interval value.\\n      'intvl' specifies to create an interval value.\\n      'start' specifies to create a value that is the beginning datetime or duration of an interval value.\\n    \",\"Parameter3\":\"&lt;from-variables&gt;\",\"Description3\":\"Specifies one or two variables that contain the source value. Specify one variable for an interval value and two variables, one each, for datetime and duration values.\",\"Parameter4\":\"&lt;to-variables&gt;\",\"Description4\":\"Specifies one or two variables that contain converted values. Specify one variable for in interval value and two variables, one each, for datetime and duration values.\",\"Parameter5\":\"date-time-replacements\",\"Description5\":\"Specifies date or time component values to use when a month, day, or time component is omitted from an interval, datetime, or duration value. date-time-replacements is specified as a series of numbers separated by a comma to represent, in this order, the year, month, day, hour, minute, or second.\"},{\"Name\":\"LABEL\",\"Definition\":\"Assigns a variable label to a specified character variable.\",\"Parameter1\":\"variable-1\",\"Description1\":\"Specifies any SAS variable. If variable-1 does not have a label, the variable name is assigned as the value of variable-2.\",\"Parameter2\":\"variable-2\",\"Description2\":\"Specifies any SAS character variable. Variable labels can be up to 256 characters long; therefore, the length of variable-2 should be at least 256 characters to avoid truncating variable labels.\"},{\"Name\":\"LEXCOMB\",\"Definition\":\"Generates all distinct combinations of the non-missing values of n variables taken k at a time in lexicographic order.\",\"Parameter1\":\"count\",\"Description1\":\"Specifies an integer value that is assigned values from 1 to the number of combinations in a loop.\",\"Parameter2\":\"k\",\"Description2\":\"Specifies an integer constant, variable, or expression between 1 and n, inclusive, that specifies the number of items in each combination.\",\"Parameter3\":\"variable-1, ..., variable-n\",\"Description3\":\"Specifies either all numeric variables, or all character variables that have the same length. The values of these variables are permuted.\"},{\"Name\":\"LEXCOMBI\",\"Definition\":\"Generates all combinations of the indices of n objects taken k at a time in lexicographic order.\",\"Parameter1\":\"n\",\"Description1\":\"Is a numeric constant, variable, or expression that specifies the total number of objects.\",\"Parameter2\":\"k\",\"Description2\":\"Is a numeric constant, variable, or expression that specifies the number of objects in each combination.\",\"Parameter3\":\"index-1, ..., index-k\",\"Description3\":\"Is a numeric variable that contains indices of the objects in the combination that is returned. Indices are integers between 1 and n, inclusive.\"},{\"Name\":\"LEXPERK\",\"Definition\":\"Generates all distinct permutations of the non-missing values of n variables taken k at a time in lexicographic order.\",\"Parameter1\":\"count\",\"Description1\":\"Specifies an integer variable that is assigned a value from 1 to the number of permutations in a loop.\",\"Parameter2\":\"k\",\"Description2\":\"Specifies an integer constant, variable, or expression between 1 and n, inclusive, that specifies the number of items in each permutation.\",\"Parameter3\":\"variable-1, ..., variable-n\",\"Description3\":\"Specifies either all numeric variables, or all character variables that have the same length. The values of these variables are permuted.\"},{\"Name\":\"LEXPERM\",\"Definition\":\"Generates all distinct permutations of the non-missing values of several variables in lexicographic order.\",\"Parameter1\":\"count\",\"Description1\":\"Specifies a numeric variable that has an integer value that ranges from 1 to the number of permutations.\",\"Parameter2\":\"variable-1 &lt;, ..., variable-N&gt;\",\"Description2\":\"Specifies either all numeric variables, or all character variables that have the same length. The values of these variables are permuted by LEXPERM.\"},{\"Name\":\"LOGISTIC\",\"Definition\":\"Applies the logistic function to each argument.\",\"Parameter1\":\"argument&lt;, argument, ...&gt;\",\"Description1\":\"Is a numeric variable.\"},{\"Name\":\"MISSING\",\"Definition\":\"Assigns missing values to the specified character or numeric variables.\",\"Parameter1\":\"varname1&lt;, varname2, ...&gt;\",\"Description1\":\"Specifies the name of SAS character or numeric variables.\"},{\"Name\":\"MODULE\",\"Definition\":\"Calls an external routine without any return code. \\n    \\nSyntax: CALL MODULE(&lt;control-string,&gt; module-name &lt;, argument-1, ..., argument-n&gt;); \\n\\nRequired Argument:\\nmodule-name - is the name of the external module to use.\\n\\nOptional Arguments:\\ncontrol-string\\nis an optional control string whose first character must be an asterisk (*), followed by any combination of the following characters:\\n  I\\n  prints the hexadecimal representations of all arguments to the CALL MODULE routine. You can use this option to help diagnose problems that are caused by incorrect arguments or attribute tables. If you specify the I option, the E option is implied.\\n  E\\n  prints detailed error messages. Without the E option (or the I option, which supersedes it), the only error message that the CALL MODULE routine generates is \\\"Invalid argument to function,\\\" which is usually not enough information to determine the cause of the error. The E option is useful for a production environment, whereas the I option is preferable for a development or debugging environment.\\n  H\\n  provides brief information about the syntax of the CALL MODULE routine, the attribute file format, and suggested SAS formats and informats. \\n\\nargument - is one or more arguments to pass to the requested routine.\\n\\nDetails\\nWorking with Attribute Tables\\n  The CALL MODULE routine executes a routine that resides in an external library. The routine uses the \\n  required module-name argument to identify the name of the library, as well as optional arguments.\\n  \\n  CALL MODULE builds a parameter list by using the information in the arguments and a routine description \\n  and argument attribute table that you define in a separate file. The attribute table is a sequential text \\n  file that contains descriptions of the routines that you can invoke with the CALL MODULE routine. The \\n  purpose of the table is to define how CALL MODULE interprets its supplied arguments when it builds a \\n  parameter list to pass to the external routine. The attribute table contains a description for each \\n  external routine that you intend to call, and descriptions of each argument associated with that routine.\\n  \\n  Before you invoke CALL MODULE, you must define the fileref of SASCBTBL to point to the external file \\n  that contains the attribute table. You can name the file whatever you want when you create it. In this way, \\n  you use SAS variables and formats as arguments to CALL MODULE and ensure that these arguments are \\n  properly converted before being passed to the external routine. If you do not define this fileref, CALL \\n  MODULE calls the requested routine without altering the arguments. \\n  \\nUsing Special Formats with the CALL MODULE Routine\\nNumeric Alignment\\nBy default, the CALL MODULE routine forces numeric alignment for fields that are defined with the IBw., \\nPIBw., and RBw. formats within the SASCBTBL table. Therefore, the fields are padded to provide an \\nappropriate 4-byte or 8-byte boundary. Most current compilers expect this alignment.\\n\\nNew formats were created specifically for the CALL MODULE routine to accommodate routines that were \\nbuilt with a compiler that does not expect alignment. These new formats are IBUNALNw., PIBUNALNw., \\nand RBUNALNw. Use these formats instead of the IBw., PIBw., and RBw. formats.\",\"Parameter1\":\"&lt;control-string\",\"Description1\":\"\\n      Is an optional control string whose first character must be an asterisk (*), followed by any\\n      combination of the following characters:\\n      I prints the hexadecimal representations of all arguments to the CALL MODULE routine.\\n      E prints detailed error messages\\n      H provides brief information about the syntax of the CALL MODULE routine, the attribute \\n      file format, and suggested SAS formats and informats.\",\"Parameter2\":\"&gt;module-name&lt;\",\"Description2\":\"Is the name of the external module to use.\",\"Parameter3\":\"argument-1, ..., argument-n&gt;\",\"Description3\":\"Is one or more arguments to pass to the requested routine.\"},{\"Name\":\"POKE\",\"Definition\":\"Writes a value directly into memory on a 32-bit platform.\",\"Parameter1\":\"source\",\"Description1\":\"Specifies a character constant, variable, or expression that contains a value to write into memory.\",\"Parameter2\":\"pointer\",\"Description2\":\"Specifies a character string that contains the virtual address of the data that the CALL POKE routine alters.\",\"Parameter3\":\"&lt;length&gt;\",\"Description3\":\"Specifies a numeric constant, variable, or expression that contains the number of bytes to write from the source to the address that is indicated by pointer.\",\"Parameter4\":\"&lt;floating-point&gt;\",\"Description4\":\"Specifies that the value of source is stored as a floating-point number. The value of floating-point can be any number.\"},{\"Name\":\"POKELONG\",\"Definition\":\"Writes a value directly into memory on 32-bit and 64-bit platforms.\",\"Parameter1\":\"source\",\"Description1\":\"Specifies a character constant, variable, or expression that contains a value to write into memory.\",\"Parameter2\":\"pointer\",\"Description2\":\"Specifies a character string that contains the virtual address of the data that the CALL POKELONG routine alters.\",\"Parameter3\":\"&lt;length&gt;\",\"Description3\":\"Specifies a numeric SAS expression that contains the number of bytes to write from the source to the address that is indicated by the pointer.\",\"Parameter4\":\"&lt;floating-point&gt;\",\"Description4\":\"Specifies that the value of source is stored as a floating-point number. The value of floating-point can be any number.\"},{\"Name\":\"PRXDEBUG\",\"Definition\":\"Enables Perl regular expressions in a DATA step to send debugging output to the SAS log.\",\"Parameter1\":\"on-off\",\"Description1\":\"Specifies a numeric constant, variable, or expression. If the value of on-off is positive and non-zero, then debugging is turned on. If the value of on-off is zero, then debugging is turned off.\"},{\"Name\":\"PRXFREE\",\"Definition\":\"Frees memory that was allocated for a Perl regular expression.\",\"Parameter1\":\"regular-expression-id\",\"Description1\":\"Specifies a numeric variable with a value that is the identification number that is returned by the PRXPARSE function. regular-expression-id is set to missing if the call to the PRXFREE routine occurs without error.\"},{\"Name\":\"PRXNEXT\",\"Definition\":\"Returns the position and length of a substring that matches a pattern, and iterates over multiple matches within one string.\",\"Parameter1\":\"regular-expression-id\",\"Description1\":\"Specifies a numeric variable with a value that is the identification number that is returned by the PRXPARSE function.\",\"Parameter2\":\"start\",\"Description2\":\"Is a numeric variable that specifies the position at which to start the pattern matching in source.\",\"Parameter3\":\"stop\",\"Description3\":\"Is a numeric constant, variable, or expression that specifies the last character to use in source. If stop is -1, then the last character is the last non-blank character in source.\",\"Parameter4\":\"source\",\"Description4\":\"Specifies a character constant, variable, or expression that you want to search.\",\"Parameter5\":\"position\",\"Description5\":\"Is a numeric variable with a returned value that is the position in source at which the pattern begins. If no match is found, CALL PRXNEXT returns zero.\",\"Parameter6\":\"length\",\"Description6\":\"Is a numeric variable with a returned value that is the length of the string that is matched by the pattern. If no match is found, CALL PRXNEXT returns zero.\"},{\"Name\":\"PRXPOSN\",\"Definition\":\"Returns the start position and length for a capture buffer.\",\"Parameter1\":\"regular-expression-id\",\"Description1\":\"Specifies a numeric variable with a value that is a pattern identifier that is returned by the PRXPARSE function.\",\"Parameter2\":\"capture-buffer\",\"Description2\":\"Is a numeric constant, variable, or expression with a value that identifies the capture buffer from which to retrieve the start position and length.\",\"Parameter3\":\"start &lt;\",\"Description3\":\"Is a numeric variable with a returned value that is the position at which the capture buffer is found.\",\"Parameter4\":\"length&gt;\",\"Description4\":\"Is a numeric variable with a returned value that is the position at which the capture buffer is found.\"},{\"Name\":\"PRXSUBSTR\",\"Definition\":\"Returns the position and length of a substring that matches a pattern.\",\"Parameter1\":\"regular-expression-id\",\"Description1\":\"Specifies a numeric variable with a value that is an identification number that is returned by the PRXPARSE function.\",\"Parameter2\":\"source\",\"Description2\":\"Specifies a character constant, variable, or expression that you want to search.\",\"Parameter3\":\"position &lt;\",\"Description3\":\"Is a numeric variable with a returned value that is the position in source where the pattern begins. If no match is found, CALL PRXSUBSTR returns zero.\",\"Parameter4\":\"length&gt;\",\"Description4\":\"Is a numeric variable with a returned value that is the length of the substring that is matched by the pattern. If no match is found, CALL PRXSUBSTR returns zero.\"},{\"Name\":\"RANBIN*1\",\"Definition\":\"Returns a random variate from a binomial distribution.\",\"Parameter1\":\"seed\",\"Description1\":\"Is an integer. If seed is less than or equal to 0, the time of day is used to initialize the seed stream. Range: seed &lt; 2\\u00b3\\u00b9 - 1.\",\"Parameter2\":\"n\",\"Description2\":\"Is an integer number of independent Bernoulli trials. Range: n &gt; 0.\",\"Parameter3\":\"p\",\"Description3\":\"Is a numeric probability of success parameter. Range: 0 &lt; p &lt; 1.\"},{\"Name\":\"RANBIN*2\",\"Definition\":\"Returns a random variate from a binomial distribution.\",\"Parameter1\":\"seed\",\"Description1\":\"Is the seed value. A new value for seed is returned each time CALL RANBIN is executed. Range: seed &lt; 2\\u00b3\\u00b9 - 1.\",\"Parameter2\":\"n\",\"Description2\":\"Is an integer number of independent Bernoulli trials. Range: n &gt; 0.\",\"Parameter3\":\"p\",\"Description3\":\"Is a numeric probability of success parameter. Range: 0 &lt; p &lt; 1.\",\"Parameter4\":\"x\",\"Description4\":\"Is a numeric SAS variable. A new value for the random variate x is returned each time CALL RANBIN is executed.\"},{\"Name\":\"RANCAU*1\",\"Definition\":\"Returns a random variate from a Cauchy distribution.\",\"Parameter1\":\"seed\",\"Description1\":\"Is an integer. If seed is less than or equal to 0, the time of day is used to initialize the seed stream.  Range: seed &lt; 2\\u00b3\\u00b9 - 1.\"},{\"Name\":\"RANCAU*2\",\"Definition\":\"Returns a random variate from a Cauchy distribution.\",\"Parameter1\":\"seed\",\"Description1\":\"Is the seed value. A new value for seed is returned each time CALL RANCAU is executed. Range: seed &lt; 2\\u00b3\\u00b9 - 1.\",\"Parameter2\":\"x\",\"Description2\":\"Is a numeric SAS variable. A new value for the random variate x is returned each time CALL RANCAU is executed.\"},{\"Name\":\"RANEXP*1\",\"Definition\":\"Returns a random variate from an exponential distribution.\",\"Parameter1\":\"seed\",\"Description1\":\"Is an integer. If seed is less than or equal to 0, the time of day is used to initialize the seed stream.  Range: seed &lt; 2\\u00b3\\u00b9 - 1.\"},{\"Name\":\"RANEXP*2\",\"Definition\":\"Returns a random variate from an exponential distribution.\",\"Parameter1\":\"seed\",\"Description1\":\"Is the seed value. A new value for seed is returned each time CALL RANEXP is executed. Range: seed &lt; 2\\u00b3\\u00b9 - 1.\",\"Parameter2\":\"x\",\"Description2\":\"Is a numeric variable. A new value for the random variate x is returned each time CALL RANEXP is executed.\"},{\"Name\":\"RANGAM*1\",\"Definition\":\"Returns a random variate from a gamma distribution.\",\"Parameter1\":\"seed\",\"Description1\":\"Is an integer. If seed is less than or equal to 0, the time of day is used to initialize the seed stream.  Range: seed &lt; 2\\u00b3\\u00b9 - 1.\",\"Parameter2\":\"a\",\"Description2\":\"Is a numeric shape parameter. Range: a &gt; 0.\"},{\"Name\":\"RANGAM*2\",\"Definition\":\"Returns a random variate from a gamma distribution.\",\"Parameter1\":\"seed\",\"Description1\":\"Is the seed value. A new value for seed is returned each time CALL RANGAM is executed. Range: seed &lt; 2\\u00b3\\u00b9 - 1.\",\"Parameter2\":\"a\",\"Description2\":\"Is a numeric shape parameter. Range: a &gt; 0.\",\"Parameter3\":\"x\",\"Description3\":\"Is a numeric variable. A new value for the random variate x is returned each time CALL RANGAM is executed.\"},{\"Name\":\"RANNOR*1\",\"Definition\":\"Returns a random variate from a normal distribution.\",\"Parameter1\":\"seed\",\"Description1\":\"Is an integer. If seed is less than or equal to 0, the time of day is used to initialize the seed stream.  Range: seed &lt; 2\\u00b3\\u00b9 - 1.\"},{\"Name\":\"RANNOR*2\",\"Definition\":\"Returns a random variate from a normal distribution.\",\"Parameter1\":\"seed\",\"Description1\":\"Is the seed value. A new value for seed is returned each time CALL RANNOR is executed. Range: seed &lt; 2\\u00b3\\u00b9 - 1.\",\"Parameter2\":\"x\",\"Description2\":\"Is a numeric variable. A new value for the random variate x is returned each time CALL RANNOR is executed.\"},{\"Name\":\"RANPERK\",\"Definition\":\"Randomly permutes the values of the arguments, and returns a permutation of k out of n values.\",\"Parameter1\":\"seed\",\"Description1\":\"Is a numeric variable that contains the random number seed.\",\"Parameter2\":\"k\",\"Description2\":\"Is the number of values that you want to have in the random permutation.\",\"Parameter3\":\"variable-1&lt;\",\"Description3\":\"Specifies all numeric variables, or all character variables that have the same length. K values of these variables are randomly permuted.\",\"Parameter4\":\"variable-2, ...&gt;\",\"Description4\":\"Specifies all numeric variables, or all character variables that have the same length. K values of these variables are randomly permuted.\"},{\"Name\":\"RANPERM\",\"Definition\":\"Randomly permutes the values of the arguments.\",\"Parameter1\":\"seed\",\"Description1\":\"Is a numeric variable that contains the random number seed.\",\"Parameter2\":\"variable-1&lt;\",\"Description2\":\"Specifies all numeric variables or all character variables that have the same length. The values of these variables are randomly permuted.\",\"Parameter3\":\"variable-2, ...&gt;\",\"Description3\":\"Specifies all numeric variables or all character variables that have the same length. The values of these variables are randomly permuted.\"},{\"Name\":\"RANPOI*1\",\"Definition\":\"Returns a random variate from a Poisson distribution.\",\"Parameter1\":\"seed\",\"Description1\":\"Is an integer. If seed is less than or equal to 0, the time of day is used to initialize the seed stream.  Range: seed &lt; 2\\u00b3\\u00b9 - 1.\",\"Parameter2\":\"m\",\"Description2\":\"Is a numeric mean parameter greater than or equal to zero.\"},{\"Name\":\"RANPOI*2\",\"Definition\":\"Returns a random variate from a Poisson distribution.\",\"Parameter1\":\"seed\",\"Description1\":\"Is the seed value. A new value for seed is returned each time CALL RANPOI is executed. Range: seed &lt; 2\\u00b3\\u00b9 - 1.\",\"Parameter2\":\"m\",\"Description2\":\"Is a numeric mean parameter greater than or equal to zero.\",\"Parameter3\":\"x\",\"Description3\":\"Is a numeric variable. A new value for the random variate x is returned each time CALL RANPOI is executed.\"},{\"Name\":\"RANTBL*1\",\"Definition\":\"Returns a random variate from a tabled probability distribution.\",\"Parameter1\":\"seed\",\"Description1\":\"Is an integer. If seed is less than or equal to 0, the time of day is used to initialize the seed stream.  Range: seed &lt; 2\\u00b3\\u00b9 - 1.\",\"Parameter2\":\"p1, ...pn\",\"Description2\":\"Is a numeric SAS value.\"},{\"Name\":\"RANTBL*2\",\"Definition\":\"Returns a random variate from a tabled probability distribution.\",\"Parameter1\":\"seed\",\"Description1\":\"Is the seed value. A new value for seed is returned each time CALL RANTBL is executed. Range: seed &lt; 2\\u00b3\\u00b9 - 1.\",\"Parameter2\":\"p1, ...pn\",\"Description2\":\"Is a numeric SAS value.\",\"Parameter3\":\"x\",\"Description3\":\"Is a numeric SAS variable. A new value for the random variate x is returned each time CALL RANTBL is executed.\"},{\"Name\":\"RANTRI*1\",\"Definition\":\"Returns a random variate from a triangular distribution.\",\"Parameter1\":\"seed\",\"Description1\":\"Is an integer. If seed is less than or equal to 0, the time of day is used to initialize the seed stream.  Range: seed &lt; 2\\u00b3\\u00b9 - 1.\",\"Parameter2\":\"h\",\"Description2\":\"Is a numeric SAS value. Range: 0 &lt; h &lt; 1.\"},{\"Name\":\"RANTRI*2\",\"Definition\":\"Returns a random variate from a triangular distribution.\",\"Parameter1\":\"seed\",\"Description1\":\"Is the seed value. A new value for seed is returned each time CALL RANTRI is executed. Range: seed &lt; 2\\u00b3\\u00b9 - 1.\",\"Parameter2\":\"h\",\"Description2\":\"Is a numeric SAS value. Range: 0 &lt; h &lt; 1.\",\"Parameter3\":\"x\",\"Description3\":\"Is a numeric SAS variable. A new value for the random variate x is returned each time CALL RANTRI is executed.\"},{\"Name\":\"RANUNI*1\",\"Definition\":\"Returns a random variate from a uniform distribution.\",\"Parameter1\":\"seed\",\"Description1\":\"Is an integer. If seed is less than or equal to 0, the time of day is used to initialize the seed stream.  Range: seed &lt; 2\\u00b3\\u00b9 - 1.\"},{\"Name\":\"RANUNI*2\",\"Definition\":\"Returns a random variate from a uniform distribution.\",\"Parameter1\":\"seed\",\"Description1\":\"Is the seed value. A new value for seed is returned each time CALL RANUNI is executed. Range: seed &lt; 2\\u00b3\\u00b9 - 1.\",\"Parameter2\":\"x\",\"Description2\":\"Is a numeric variable. A new value for the random variate x is returned each time CALL RANUNI is executed.\"},{\"Name\":\"SET\",\"Definition\":\"Links SAS data set variables to DATA step or macro variables that have the same name and data type.\",\"Parameter1\":\"data-set-id\",\"Description1\":\"Is the identifier that is assigned by the OPEN function when the data set is opened.\"},{\"Name\":\"SOFTMAX\",\"Definition\":\"Returns the softmax value.\",\"Parameter1\":\"argument&lt;,argument, ...&gt;\",\"Description1\":\"Is numeric.\"},{\"Name\":\"SORTC\",\"Definition\":\"Sorts the values of character arguments.\",\"Parameter1\":\"variable-1&lt;, ..., variable-n&gt;\",\"Description1\":\"Specifies a character variable.\"},{\"Name\":\"SORTN\",\"Definition\":\"Sorts the values of numeric arguments.\",\"Parameter1\":\"variable-1&lt;, ..., variable-n&gt;\",\"Description1\":\"Specifies a numeric variable.\"},{\"Name\":\"STDIZE\",\"Definition\":\"Standardizes the values of one or more variables.\",\"Parameter1\":\"&lt;option-1, option-2, ...\",\"Description1\":\"Specifies a character expression whose values can be uppercase, lowercase, or mixed case letters. Leading and trailing blanks are ignored.\",\"Parameter2\":\"&gt;variable-1&lt;\",\"Description2\":\"Is numeric. These values will be standardized according to the method that you use.\",\"Parameter3\":\"variable-2, ...&gt;\",\"Description3\":\"Is numeric. These values will be standardized according to the method that you use.\"},{\"Name\":\"STREAMINIT\",\"Definition\":\"Specifies a seed value to use for subsequent random number generation by the RAND function.\",\"Parameter1\":\"seed\",\"Description1\":\"Is an integer seed value.  Range: seed &lt; 2\\u00b3\\u00b9 - 1.\"},{\"Name\":\"SYMPUT\",\"Definition\":\"Assigns DATA step information to a macro variable.\",\"Parameter1\":\"argument-1\",\"Description1\":\"Specifies a character expression that identifies the macro variable that is assigned a value. If the macro variable does not exist, the routine creates it.\",\"Parameter2\":\"argument-2\",\"Description2\":\"Specifies a character constant, variable, or expression that contains the value that is assigned.\"},{\"Name\":\"SYMPUTX\",\"Definition\":\"Assigns a value to a macro variable, and removes both leading and trailing blanks.\",\"Parameter1\":\"macro-variable\",\"Description1\":\"A character constant, variable, or expression.\",\"Parameter2\":\"value\",\"Description2\":\"Specifies a character or numeric constant, variable, or expression. If value is numeric, SAS converts the value to a character string using the BEST. format and does not issue a note to the SAS log.\",\"Parameter3\":\"symbol-table\",\"Description3\":\"Specifies a character constant, variable, or expression. The following values are valid as the first non-blank character in symbol-table: G (global symbol table), L (local symbol table), F (any symbol table).\"},{\"Name\":\"SYSTEM\",\"Definition\":\"Submits an operating environment command for execution.\",\"Parameter1\":\"command\",\"Description1\":\"Specifies any of the following: a system command that is enclosed in quotation marks (character string), an expression whose value is a system command, or the name of a character variable whose value is a system command that is executed.\"},{\"Name\":\"VNEXT\",\"Definition\":\"Returns the name, type, and length of a variable that is used in a DATA step.\",\"Parameter1\":\"varname&lt;\",\"Description1\":\"Is a character variable that is updated by the CALL VNEXT routine.\",\"Parameter2\":\"vartype&lt;\",\"Description2\":\"Is a character variable whose input value is ignored. The value that is returned is \\\"N\\\" or \\\"C\\\".\",\"Parameter3\":\"varlength\",\"Description3\":\"Is a numeric variable. The input value of varlength is ignored.\"},{\"Name\":\"CAT\",\"Definition\":\"Does not remove leading or trailing blanks, and returns a concatenated character string.\",\"Parameter1\":\"item-1 &lt;, ..., item-n&gt;\",\"Description1\":\"Specifies a constant, variable, or expression, either character or numeric. If item is numeric, then its value is converted to a character string by using the BESTw. format.\"},{\"Name\":\"CATQ\",\"Definition\":\"Concatenates character or numeric values by using a delimiter to separate items and by adding quotation marks to strings that contain the delimiter.\",\"Parameter1\":\"modifier(s)&lt;\",\"Description1\":\"Specifies a character constant, variable, or expression in which each non-blank character modifies the action of the CATQ function. Blanks are ignored.\",\"Parameter2\":\"delimiter&gt;\",\"Description2\":\"Specifies a character constant, variable, or expression that is used as a delimiter between concatenated strings. If you specify this argument, then you must also specify the D modifier.\",\"Parameter3\":\"item\",\"Description3\":\"Specifies a constant, variable, or expression, either character or numeric. If item is numeric, then its value is converted to a character string by using the BESTw. format.\"},{\"Name\":\"CDF\",\"Definition\":\"\\n      Returns a value from a cumulative probability distribution.\\n\\nSyntax: CDF(distribution, quantile &lt;, parameter-1, \\u2026, parameter-k&gt;)\",\"Parameter1\":\"distribution\",\"Description1\":\"Is a character constant, variable, or expression that identifies the distribution. Valid distributions are as follows:\\n\\n      Bernoulli distribuion: BERNOULLI\\n      Beta distribuion: BETA\\n      Binomial distribuion: BINOMIAL\\n      Cauchy distribuion: CAUCHY\\n      Chi-Square distribuion: CHISQUARE\\n      Conway-Maxwell-Poisson distribuion: CMP\\n      Exponential distribuion: EXPONENTIAL\\n      F distribuion: F\\n      Gamma distribuion: GAMMA\\n      Generalized Poisson distribuion: GENPOISSON\\n      Geometric distribuion: GEOMETRIC\\n      Hypergeometric distribuion: HYPERGEOMETRIC\\n      Laplace distribuion: LAPLACE\\n      Logistic distribuion: LOGISTIC\\n      Lognormal distribuion: LOGNORMAL\\n      Negative binomial distribuion: NEGBINOMIAL\\n      Normal distribuion: NORMAL|GAUSS\\n      Normal mixture distribuion: NORMALMIX\\n      Pareto distribuion: PARETO\\n      Poisson distribuion: POISSON\\n      T distribuion: T\\n      Tweedie distribuion: TWEEDIE\\n      Uniform distribuion: UNIFORM\\n      Wald (inverse Gaussian) distribuion: WALD|IGAUSS\\n      Weibull distribuion: WEIBULL\\n\\nNote: Except for T, F, and NORMALMIX, you can minimally identify any distribution by its first four characters.\",\"Parameter2\":\"quantile&lt;\",\"Description2\":\"Is a numeric constant, variable, or expression that specifies the value of the random variable.\",\"Parameter3\":\"parm-1, ... ,parm-k&gt;\",\"Description3\":\"Are optional constants, variables, or expressions that specify shape, location, or scale parameters appropriate for the specific distribution.\"},{\"Name\":\"CEIL\",\"Definition\":\"Returns the smallest integer that is greater than or equal to the argument, fuzzed to avoid unexpected floating-point results.\",\"Parameter1\":\"argument\",\"Description1\":\"Specifies a numeric constant, variable, or expression.\"},{\"Name\":\"CEILZ\",\"Definition\":\"Returns the smallest integer that is greater than or equal to the argument, using zero fuzzing.\",\"Parameter1\":\"argument\",\"Description1\":\"Is a numeric constant, variable, or expression.\"},{\"Name\":\"CEXIST\",\"Definition\":\"Verifies the existence of a SAS catalog or SAS catalog entry.\",\"Parameter1\":\"entry&lt;\",\"Description1\":\"Is a character constant, variable, or expression that specifies a SAS catalog, or the name of an entry in a catalog. If the entry value is a one- or two-level name, then it is assumed to be the name of a catalog.\",\"Parameter2\":\"'U'&gt;\",\"Description2\":\"tests whether the catalog can be opened for updating.\"},{\"Name\":\"CHAR\",\"Definition\":\"Returns a single character from a specified position in a character string.\",\"Parameter1\":\"string\",\"Description1\":\"Specifies a character constant, variable, or expression.\",\"Parameter2\":\"position\",\"Description2\":\"Is an integer that specifies the position of the character to be returned.\"},{\"Name\":\"CHOOSEC\",\"Definition\":\"Returns a character value that represents the results of choosing from a list of arguments.\",\"Parameter1\":\"index-expression\",\"Description1\":\"Specifies a numeric constant, variable, or expression.\",\"Parameter2\":\"selection-1 &lt;\",\"Description2\":\"Specifies a character constant, variable, or expression. The value of this argument is returned by the CHOOSEC function.\",\"Parameter3\":\"...selection-n&gt;\",\"Description3\":\"Specifies a character constant, variable, or expression. The value of this argument is returned by the CHOOSEC function.\"},{\"Name\":\"CHOOSEN\",\"Definition\":\"Returns a numeric value that represents the results of choosing from a list of arguments.\",\"Parameter1\":\"index-expression\",\"Description1\":\"Specifies a numeric constant, variable, or expression.\",\"Parameter2\":\"selection-1 &lt;\",\"Description2\":\"Specifies a numeric constant, variable, or expression. The value of this argument is returned by the CHOOSEN function.\",\"Parameter3\":\"...selection-n&gt;\",\"Description3\":\"Specifies a numeric constant, variable, or expression. The value of this argument is returned by the CHOOSEN function.\"},{\"Name\":\"CINV\",\"Definition\":\"Returns a quantile from the chi-square distribution.\",\"Parameter1\":\"p\",\"Description1\":\"Is a numeric probability. Range: 0 \\u2264 p &lt; 1\",\"Parameter2\":\"df&lt;\",\"Description2\":\"Is a numeric degrees of freedom parameter. Range: df &gt; 0.\",\"Parameter3\":\"nc&gt;\",\"Description3\":\"Is an optional numeric noncentrality parameter. Range: nc \\u2265 0.\"},{\"Name\":\"CLOSE\",\"Definition\":\"Closes a SAS data set.\",\"Parameter1\":\"data-set-id\",\"Description1\":\"Is a numeric variable that specifies the data set identifier that the OPEN function returns.\"},{\"Name\":\"CMISS\",\"Definition\":\"Counts the number of missing arguments.\",\"Parameter1\":\"argument-1 &lt;\",\"Description1\":\"Specifies a constant, variable, or expression. Argument can be either a character value or a numeric value.\",\"Parameter2\":\"argument-2...&gt;\",\"Description2\":\"Specifies a constant, variable, or expression. Argument can be either a character value or a numeric value.\"},{\"Name\":\"CNONCT\",\"Definition\":\"Returns the noncentrality parameter from a chi-square distribution.\",\"Parameter1\":\"x\",\"Description1\":\"Is a numeric random variable greater than or equal to zero.\",\"Parameter2\":\"df\",\"Description2\":\"Is a numeric degrees of freedom parameter. Range:  df &gt; 0.\",\"Parameter3\":\"prob\",\"Description3\":\"Is a probability. Raange: 0 &lt; prob &lt; 1.\"},{\"Name\":\"COALESCE\",\"Definition\":\"Returns the first non-missing value from a list of numeric arguments.\",\"Parameter1\":\"argument-1&lt;\",\"Description1\":\"Specifies a numeric constant, variable, or expression.\",\"Parameter2\":\"...argument-n&gt;\",\"Description2\":\"Specifies a numeric constant, variable, or expression.\"},{\"Name\":\"COALESCEC\",\"Definition\":\"Returns the first non-missing value from a list of character arguments.\",\"Parameter1\":\"argument-1&lt;\",\"Description1\":\"Specifies a character constant, variable, or expression.\",\"Parameter2\":\"... argument-n&gt;\",\"Description2\":\"Specifies a character constant, variable, or expression.\"},{\"Name\":\"COLLATE*1\",\"Definition\":\"Returns a character string in ASCII or EBCDIC collating sequence.\",\"Parameter1\":\"start-position&lt;\",\"Description1\":\"Specifies the numeric position in the collating sequence of the first character to be returned.\",\"Parameter2\":\"end-position&gt;\",\"Description2\":\"Specifies the numeric position in the collating sequence of the last character to be returned.\"},{\"Name\":\"COLLATE*2\",\"Definition\":\"Returns a character string in ASCII or EBCDIC collating sequence.\",\"Parameter1\":\"start-position&lt;\",\"Description1\":\"Specifies the numeric position in the collating sequence of the first character to be returned.\",\"Parameter2\":\"length&gt;\",\"Description2\":\"Specifies the number of characters in the collating sequence. Default value: 200.\"},{\"Name\":\"COMB\",\"Definition\":\"Computes the number of combinations of n elements taken r at a time.\",\"Parameter1\":\"n\",\"Description1\":\"Is a non-negative integer that represents the total number of elements from which the sample is chosen.\",\"Parameter2\":\"r\",\"Description2\":\"Is a non-negative integer that represents the number of chosen elements. Range: r \\u2264 n.\"},{\"Name\":\"COMPARE\",\"Definition\":\"Returns the position of the leftmost character by which two strings differ, or returns 0 if there is no difference.\",\"Parameter1\":\"string-1\",\"Description1\":\"Specifies a character constant, variable, or expression.\",\"Parameter2\":\"string-2&lt;\",\"Description2\":\"Specifies a character constant, variable, or expression.\",\"Parameter3\":\"modifier(s)&gt;\",\"Description3\":\"Specifies a character string that can modify the action of the COMPARE function. You can use one or more of the following characters as a valid modifier: i or I (to ignore case), l or L (to remove leading blanks), n or N (to remove quotaion marks), : (to truncate the longer of string-1 or string-2 to the length of the shorter string, or to one, whichever is greater.\"},{\"Name\":\"COMPBL\",\"Definition\":\"Removes multiple blanks from a character string.\",\"Parameter1\":\"source\",\"Description1\":\"Specifies a character constant, variable, or expression to compress.\"},{\"Name\":\"COMPGED\",\"Definition\":\"Returns the generalized edit distance between two strings.\",\"Parameter1\":\"string-1\",\"Description1\":\"Specifies a character constant, variable, or expression.\",\"Parameter2\":\"string-2&lt;\",\"Description2\":\"Specifies a character constant, variable, or expression.\",\"Parameter3\":\"cutoff&gt;&lt;\",\"Description3\":\"Is a numeric constant, variable, or expression. If the actual generalized edit distance is greater than the value of cutoff, the value that is returned is equal to the value of cutoff.\",\"Parameter4\":\"modifiers&gt;\",\"Description4\":\"Specifies a character string that can modify the action of the COMPGED function. You can use one or more of the following characters as a valid modifier:  i or I (to ignore case), l or L (to remove leading blanks), n or N (to remove quotaion marks), : (to truncate the longer of string-1 or string-2 to the length of the shorter string, or to one, whichever is greater.\"},{\"Name\":\"COMPLEV\",\"Definition\":\"Returns the Levenshtein edit distance between two strings.\",\"Parameter1\":\"string-1\",\"Description1\":\"Specifies a character constant, variable, or expression.\",\"Parameter2\":\"string-2&lt;\",\"Description2\":\"Specifies a character constant, variable, or expression.\",\"Parameter3\":\"cutoff&gt;&lt;\",\"Description3\":\"Specifies a numeric constant, variable, or expression. If the actual Levenshtein edit distance is greater than the value of cutoff, the value that is returned is equal to the value of cutoff.\",\"Parameter4\":\"modifiers&gt;\",\"Description4\":\"Specifies a character string that can modify the action of the COMPLEV function. You can use one or more of the following characters as a valid modifier: i or I (to ignore case), l or L (to remove leading blanks), n or N (to remove quotaion marks), : (to truncate the longer of string-1 or string-2 to the length of the shorter string, or to one, whichever is greater.\"},{\"Name\":\"COMPOUND\",\"Definition\":\"Returns compound interest parameters.\",\"Parameter1\":\"a\",\"Description1\":\"Is numeric, and specifies the initial amount. Range: a \\u2265 0.\",\"Parameter2\":\"f\",\"Description2\":\"Is numeric, and specifies the future amount (at the end of n periods). Range: f \\u2265 0.\",\"Parameter3\":\"r\",\"Description3\":\"Is numeric, and specifies the periodic interest rate expressed as a fraction. Range: r \\u2265 0.\",\"Parameter4\":\"n\",\"Description4\":\"Is an integer, and specifies the number of compounding periods. Range: n \\u2265 0.\"},{\"Name\":\"COMPRESS\",\"Definition\":\"Returns a character string with specified characters removed from the original string.\",\"Parameter1\":\"&lt;source&gt;&lt;\",\"Description1\":\"Specifies a character constant, variable, or expression from which specified characters will be removed.\",\"Parameter2\":\"chars&gt;&lt;\",\"Description2\":\"Specifies a character constant, variable, or expression that initializes a list of characters.\",\"Parameter3\":\"modifier(s)&gt;\",\"Description3\":\"Specifies a character constant, variable, or expression in which each non-blank character modifies the action of the COMPRESS function. Blanks are ignored.\"},{\"Name\":\"CONSTANT\",\"Definition\":\"Computes machine and mathematical constants.\",\"Parameter1\":\"constant&lt;\",\"Description1\":\"Is a character constant, variable, or expression that identifies the constant to be returned. Valid constants are as follows: 'E', 'EULER', 'PI', 'EXACTINT', 'BIG', 'LOGBIG', 'SQRTBIG', 'SMALL', 'LOGSMALL', 'SQRTSMALL', 'MACEPS', 'LOGMACEPS', 'SQRTMACEPS'.\",\"Parameter2\":\"parameter&gt;\",\"Description2\":\"Is an optional numeric parameter. Some of the constants specified in constant have an optional argument that alters the functionality of the CONSTANT function.\"},{\"Name\":\"CONVX\",\"Definition\":\"Returns the convexity for an enumerated cash flow.\",\"Parameter1\":\"y\",\"Description1\":\"Specifies the effective per-period yield-to-maturity, expressed as a fraction. Range: 0 &lt; y &lt; 1.\",\"Parameter2\":\"f\",\"Description2\":\"Specifies the frequency of cash flows per period. Range: f &gt; 0.\",\"Parameter3\":\"c(1), ..., c(k)\",\"Description3\":\"Specifies a list of cash flows.\"},{\"Name\":\"CONVXP\",\"Definition\":\"Returns the convexity for a periodic cash flow stream, such as a bond.\",\"Parameter1\":\"A\",\"Description1\":\"Specifies the par value. Range: A &gt; 0\",\"Parameter2\":\"c\",\"Description2\":\"Specifies the nominal per-period coupon rate, expressed as a fraction. Range: 0 \\u2264 c &lt; 1.\",\"Parameter3\":\"n\",\"Description3\":\"Specifies the number of coupons per period. n &gt; 0 and is an integer.\",\"Parameter4\":\"K\",\"Description4\":\"Specifies the number of remaining coupons. Range: K &gt; 0\",\"Parameter5\":\"ko\",\"Description5\":\"Specifies the time from the present date to the first coupon date, expressed in terms of the number of periods. Range: 0 &lt; ko \\u2264 1/n.\",\"Parameter6\":\"y\",\"Description6\":\"Specifies the nominal per-period yield-to-maturity, expressed as a fraction. Range: y &gt; 0.\"},{\"Name\":\"COS\",\"Definition\":\"Returns the cosine.\",\"Parameter1\":\"argument\",\"Description1\":\"Specifies a numeric constant, variable, or expression and is expressed in radians.\"},{\"Name\":\"COSH\",\"Definition\":\"Returns the hyperbolic cosine.\",\"Parameter1\":\"argument\",\"Description1\":\"Specifies a numeric constant, variable, or expression.\"},{\"Name\":\"COUNT\",\"Definition\":\"Counts the number of times that a specified substring appears within a character string.\",\"Parameter1\":\"string\",\"Description1\":\"Specifies a character constant, variable, or expression in which substrings are to be counted. Enclose a literal string of characters in quotation marks.\",\"Parameter2\":\"substring&lt;\",\"Description2\":\"Is a character constant, variable, or expression that specifies the substring of characters to count in string. Enclose a literal string of characters in quotation marks.\",\"Parameter3\":\"modifiers&gt;\",\"Description3\":\"Is a character constant, variable, or expression that specifies one or more modifiers. The following modifiers can be in uppercase or lowercase: i (ignores character case), t (trims trailing blanks).\"},{\"Name\":\"COUNTC\",\"Definition\":\"Counts the number of characters in a string that appear or do not appear in a list of characters.\",\"Parameter1\":\"string\",\"Description1\":\"Specifies a character constant, variable, or expression in which characters are counted. Enclose a literal string of characters in quotation marks.\",\"Parameter2\":\"charlist&lt;\",\"Description2\":\"Specifies a character constant, variable, or expression that initializes a list of characters. COUNTC counts characters in this list, provided that you do not specify the V modifier in the modifier argument.\",\"Parameter3\":\"modifier(s)&gt;\",\"Description3\":\"Specifies a character constant, variable, or expression in which each non-blank character modifies the action of the COUNTC function. Blanks are ignored.\"},{\"Name\":\"COUNTW\",\"Definition\":\"Counts the number of words in a character string.\",\"Parameter1\":\"&lt;string&gt;&lt;\",\"Description1\":\"Specifies a character constant, variable, or expression in which words are counted.\",\"Parameter2\":\"&lt;chars&gt;&lt;\",\"Description2\":\"Specifies an optional character constant, variable, or expression that initializes a list of characters. The characters in this list are the delimiters that separate words, provided that you do not use the K modifier in the modifier argument. If you specify the K modifier, then all characters that are not in this list are delimiters.\",\"Parameter3\":\"modifier(s)&gt;\",\"Description3\":\"Specifies a character constant, variable, or expression in which each non-blank character modifies the action of the COUNTW function.\"},{\"Name\":\"CSS\",\"Definition\":\"Returns the corrected sum of squares.\",\"Parameter1\":\"argument-1&lt;, ...argument-n&gt;\",\"Description1\":\"Specifies a numeric constant, variable, or expression. At least one nonmissing argument is required.\"},{\"Name\":\"CUROBS\",\"Definition\":\"Returns the observation number of the current observation.\",\"Parameter1\":\"data-set-id\",\"Description1\":\"Is a numeric value that specifies the data set identifier that the OPEN function returns.\"},{\"Name\":\"CV\",\"Definition\":\"Returns the coefficient of variation. At least two arguments are required.\",\"Parameter1\":\"argument-1\",\"Description1\":\"Specifies a numeric constant, variable, or expression.\",\"Parameter2\":\"argument-2&lt;, ...argument-n&gt;\",\"Description2\":\"Specifies a numeric constant, variable, or expression.\"},{\"Name\":\"DACCDB\",\"Definition\":\"Returns the accumulated declining balance depreciation.\",\"Parameter1\":\"p\",\"Description1\":\"Is numeric, the period for which the calculation is to be done. For noninteger p arguments, the depreciation is prorated between the two consecutive time periods that precede and follow the fractional period.\",\"Parameter2\":\"v\",\"Description2\":\"Is numeric, the depreciable initial value of the asset.\",\"Parameter3\":\"y\",\"Description3\":\"Is numeric, the lifetime of the asset. Range: y &gt; 0.\",\"Parameter4\":\"r\",\"Description4\":\"Is numeric, the rate of depreciation expressed as a decimal. Range: r &gt; 0.\"},{\"Name\":\"DACCDBSL\",\"Definition\":\"Returns the accumulated declining balance with conversion to a straight-line depreciation.\",\"Parameter1\":\"p\",\"Description1\":\"Is numeric, the period for which the calculation is to be done.\",\"Parameter2\":\"v\",\"Description2\":\"Is numeric, the depreciable initial value of the asset.\",\"Parameter3\":\"y\",\"Description3\":\"Is an integer, the lifetime of the asset. Range y &gt; 0.\",\"Parameter4\":\"r\",\"Description4\":\"Is numeric, the rate of depreciation that is expressed as a fraction. Range r &gt; 0.\"},{\"Name\":\"DACCSL\",\"Definition\":\"Returns the accumulated straight-line depreciation.\",\"Parameter1\":\"p\",\"Description1\":\"Is numeric, the period for which the calculation is to be done. For fractional p, the depreciation is prorated between the two consecutive time periods that precede and follow the fractional period.\",\"Parameter2\":\"v\",\"Description2\":\"Is numeric, the depreciable initial value of the asset.\",\"Parameter3\":\"y\",\"Description3\":\"Is numeric, the lifetime of the asset. Range y &gt; 0.\"},{\"Name\":\"DACCSYD\",\"Definition\":\"Returns the accumulated sum-of-years-digits depreciation.\",\"Parameter1\":\"p\",\"Description1\":\"Is numeric, the period for which the calculation is to be done. For noninteger p arguments, the depreciation is prorated between the two consecutive time periods that precede and follow the fractional period.\",\"Parameter2\":\"v\",\"Description2\":\"Is numeric, the depreciable initial value of the asset.\",\"Parameter3\":\"y\",\"Description3\":\"Is numeric, the lifetime of the asset. Range y &gt; 0.\"},{\"Name\":\"DACCTAB\",\"Definition\":\"Returns the accumulated depreciation from specified tables.\",\"Parameter1\":\"p\",\"Description1\":\"Is numeric, the period for which the calculation is to be done. For noninteger p arguments, the depreciation is prorated between the two consecutive time periods that precede and follow the fractional period.\",\"Parameter2\":\"v\",\"Description2\":\"Is numeric, the depreciable initial value of the asset.\",\"Parameter3\":\"t1, t2, ..., tn\",\"Description3\":\"Are numeric, the fractions of depreciation for each time period with t1+t2+...tn\\u22641.\"},{\"Name\":\"DAIRY\",\"Definition\":\"Returns the derivative of the AIRY function.\",\"Parameter1\":\"x\",\"Description1\":\"Specifies a numeric constant, variable, or expression.\"},{\"Name\":\"DATDIF\",\"Definition\":\"Returns the number of days between two dates.\",\"Parameter1\":\"sdate\",\"Description1\":\"Specifies a SAS date value that identifies the starting date. If sdate falls at the end of a month, then SAS treats the date as if it were the last day of a 30-day month.\",\"Parameter2\":\"edate\",\"Description2\":\"Specifies a SAS date value that identifies the ending date. If sdate falls at the end of a month, then SAS treats the date as if it were the last day of a 30-day month.\",\"Parameter3\":\"basis\",\"Description3\":\"Identifies a character constant or variable that describes how SAS calculates the date difference in the securities industry. The following character strings are valid: '30/360' (30-day month and a 360-day year), 'ACT/ACT' (uses actual number of days between dates), 'ACT/360' (uses actual number of calendar days in a month, and 360 days for the year), 'ACT/365' (uses actual number of calendar days for each month, and 365 days for the year).\"},{\"Name\":\"DATE\",\"Definition\":\"Returns the current date as a SAS date value. \\n    \\nAlias: TODAY \\n\\nInteraction:\\nIf the value of the TIMEZONE= system option is set to a time zone name or time zone ID, the date and time values that are returned for this function are determined by the time zone.\"},{\"Name\":\"DATEJUL\",\"Definition\":\"Converts a Julian date to a SAS date value.\",\"Parameter1\":\"julian-date\",\"Description1\":\"Specifies a SAS numeric expression that represents a Julian date. A Julian date in SAS is a date in the form yyddd or yyyyddd, where yy or yyyy is a two-digit or four-digit integer that represents the year and ddd is the number of the day of the year. The value of ddd must be between 1 and 365 (or 366 for a leap year).\"},{\"Name\":\"DATEPART\",\"Definition\":\"Extracts the date from a SAS datetime value.\",\"Parameter1\":\"datetime\",\"Description1\":\"Specifies a SAS expression that represents a SAS datetime value. For example: conn='01feb94:8:45'dt; servdate=datepart(conn);\"},{\"Name\":\"DATETIME\",\"Definition\":\"Returns the current date and time of day as a SAS datetime value. \\n    \\nInteraction:\\nIf the value of the TIMEZONE= system option is set to a time zone name or time zone ID, the date and time values that are returned for this function are determined by the time zone.\"},{\"Name\":\"DAY\",\"Definition\":\"Returns the day of the month from a SAS date value.\",\"Parameter1\":\"date\",\"Description1\":\"Specifies a SAS expression that represents a SAS date value. For example: now='05may97'd; d=day(now);\"},{\"Name\":\"DCLOSE\",\"Definition\":\"Closes a directory that was opened by the DOPEN function.\",\"Parameter1\":\"directory-id\",\"Description1\":\"Is a numeric variable that specifies the identifier that was assigned when the directory was opened by the DOPEN function.\"},{\"Name\":\"DCREATE\",\"Definition\":\"Returns the complete pathname of a new, external directory.\",\"Parameter1\":\"directory-name&lt;\",\"Description1\":\"Is a character constant, variable, or expression that specifies the name of the directory to create. This value cannot include a pathname.\",\"Parameter2\":\"parent-directory&gt;\",\"Description2\":\"Is a character constant, variable, or expression that contains the complete pathname of the directory in which to create the new directory. If you do not supply a value for parent-directory, then the current directory is the parent directory.\"},{\"Name\":\"DEPDB\",\"Definition\":\"Returns the declining balance depreciation.\",\"Parameter1\":\"p\",\"Description1\":\"Is numeric, the period for which the calculation is to be done. For noninteger p arguments, the depreciation is prorated between the two consecutive time periods that precede and follow the fractional period.\",\"Parameter2\":\"v\",\"Description2\":\"Is numeric, the depreciable initial value of the asset.\",\"Parameter3\":\"y\",\"Description3\":\"Is numeric, the lifetime of the asset. Range: y &gt; 0.\",\"Parameter4\":\"r\",\"Description4\":\"Is numeric, the rate of depreciation that is expressed as a fraction. Range: r &gt; 0.\"},{\"Name\":\"DEPDBSL\",\"Definition\":\"Returns the declining balance with conversion to a straight-line depreciation.\",\"Parameter1\":\"p\",\"Description1\":\"Is an integer, the period for which the calculation is to be done.\",\"Parameter2\":\"v\",\"Description2\":\"Is numeric, the depreciable initial value of the asset.\",\"Parameter3\":\"y\",\"Description3\":\"Is an integer, the lifetime of the asset. Range: y&gt;0.\",\"Parameter4\":\"r\",\"Description4\":\"Is numeric, the rate of depreciation that is expressed as a fraction. Range: r &gt; 0.\"},{\"Name\":\"DEPSL\",\"Definition\":\"Returns the straight-line depreciation.\",\"Parameter1\":\"p\",\"Description1\":\"Is numeric, the period for which the calculation is to be done. For fractional p, the depreciation is prorated between the two consecutive time periods that precede and follow the fractional period.\",\"Parameter2\":\"v\",\"Description2\":\"Is numeric, the depreciable initial value of the asset.\",\"Parameter3\":\"y\",\"Description3\":\"Is numeric, the lifetime of the asset. Range: y &gt; 0.\"},{\"Name\":\"DEPSYD\",\"Definition\":\"Returns the sum-of-years-digits depreciation.\",\"Parameter1\":\"p\",\"Description1\":\"Is numeric, the period for which the calculation is to be done. For noninteger p arguments, the depreciation is prorated between the two consecutive time periods that precede and follow the fractional period.\",\"Parameter2\":\"v\",\"Description2\":\"Is numeric, the depreciable initial value of the asset.\",\"Parameter3\":\"y\",\"Description3\":\"Is numeric, the lifetime of the asset in number of depreciation periods. Range: y &gt; 0.\"},{\"Name\":\"DEPTAB\",\"Definition\":\"Returns the depreciation from specified tables.\",\"Parameter1\":\"p\",\"Description1\":\"Is numeric, the period for which the calculation is to be done. For noninteger p arguments, the depreciation is prorated between the two consecutive time periods that precede and follow the fractional period.\",\"Parameter2\":\"v\",\"Description2\":\"Is numeric, the depreciable initial value of the asset.\",\"Parameter3\":\"t1, t2, ..., tn\",\"Description3\":\"are numeric, the fractions of depreciation for each time period with t1+t2+...tn\\u22641.\"},{\"Name\":\"DEQUOTE\",\"Definition\":\"Removes matching quotation marks from a character string that begins with a quotation mark, and deletes all characters to the right of the closing quotation mark.\",\"Parameter1\":\"string\",\"Description1\":\"Specifies a character constant, variable, or expression.\"},{\"Name\":\"DEVIANCE\",\"Definition\":\"Returns the deviance based on a probability distribution.\",\"Parameter1\":\"distribution\",\"Description1\":\"Is a character constant, variable, or expression that identifies the distribution. Valid distributions are: 'BERNOULLI' | 'BERN', 'BINOMIAL' | 'BINO', 'GAMMA', 'IGAUSS' | 'WALD', 'NORMAL' | 'GAUSSIAN', 'NORMAL' | 'GAUSSIAN'.\",\"Parameter2\":\"variable\",\"Description2\":\"Is a numeric constant, variable, or expression.\",\"Parameter3\":\"shape-parameter(s)&lt;\",\"Description3\":\"Are one or more distribution-specific numeric parameters that characterize the shape of the distribution.\",\"Parameter4\":\"epsilon&gt;\",\"Description4\":\"Is an optional numeric small value used for all of the distributions, except for the normal distribution.\"},{\"Name\":\"DHMS\",\"Definition\":\"Returns a SAS datetime value from date, hour, minute, and second values.\",\"Parameter1\":\"date\",\"Description1\":\"Specifies a SAS expression that represents a SAS date value.\",\"Parameter2\":\"hour\",\"Description2\":\"Is numeric.\",\"Parameter3\":\"minute\",\"Description3\":\"Is numeric.\",\"Parameter4\":\"second\",\"Description4\":\"Is numeric.\"},{\"Name\":\"DIF\",\"Definition\":\"Returns differences between an argument and its nth lag. n specifies the number of lags.\",\"Parameter1\":\"argument\",\"Description1\":\"Specifies a numeric constant, variable, or expression.\"},{\"Name\":\"DIGAMMA\",\"Definition\":\"Returns the value of the digamma function.\",\"Parameter1\":\"argument\",\"Description1\":\"Specifies a numeric constant, variable, or expression.\"},{\"Name\":\"DIM*1\",\"Definition\":\"Returns the number of elements in an array. n specifies the dimension, in a multidimensional array, for which you want to know the number of elements.\",\"Parameter1\":\"array-name\",\"Description1\":\"Specifies the name of an array that was previously defined in the same DATA step. This argument cannot be a constant, variable, or expression.\"},{\"Name\":\"DIM*2\",\"Definition\":\"Returns the number of elements in an array.\",\"Parameter1\":\"array-name\",\"Description1\":\"Specifies the name of an array that was previously defined in the same DATA step. This argument cannot be a constant, variable, or expression.\",\"Parameter2\":\"bound-n\",\"Description2\":\"Is a numeric constant, variable, or expression that specifies the dimension, in a multidimensional array, for which you want to know the number of elements. Use bound-n only when n is not specified.\"},{\"Name\":\"DIM*3\",\"Definition\":\"Returns the dimensions of a list variable\",\"Parameter1\":\"list-variable\",\"Description1\":\"A list variable.\"},{\"Name\":\"DINFO\",\"Definition\":\"Returns information about a directory.\",\"Parameter1\":\"directory-id\",\"Description1\":\"Is a numeric variable that specifies the identifier that was assigned when the directory was opened by the DOPEN function.\",\"Parameter2\":\"info-item\",\"Description2\":\"Is a character constant, variable, or expression that specifies the information item to be retrieved. DINFO returns a blank if the value of the info-item argument is invalid. The information available varies according to the operating environment.\"},{\"Name\":\"DIVIDE\",\"Definition\":\"Returns the result of a division that handles special missing values for ODS output.\",\"Parameter1\":\"x\",\"Description1\":\"Is a numeric constant, variable, or expression.\",\"Parameter2\":\"y\",\"Description2\":\"Is a numeric constant, variable, or expression.\"},{\"Name\":\"DNUM\",\"Definition\":\"Returns the number of members in a directory.\",\"Parameter1\":\"directory-id\",\"Description1\":\"Is a numeric variable that specifies the identifier that was assigned when the directory was opened by the DOPEN function.\"},{\"Name\":\"DOPEN\",\"Definition\":\"Opens a directory, and returns a directory identifier value.\",\"Parameter1\":\"fileref\",\"Description1\":\"Is a character constant, variable, or expression that specifies the fileref assigned to the directory.\"},{\"Name\":\"DOPTNAME\",\"Definition\":\"Returns directory attribute information.\",\"Parameter1\":\"directory-id\",\"Description1\":\"Is a numeric variable that specifies the identifier that was assigned when the directory was opened by the DOPEN function.\",\"Parameter2\":\"nval\",\"Description2\":\"Is a numeric constant, variable, or expression that specifies the sequence number of the option.\"},{\"Name\":\"DOPTNUM\",\"Definition\":\"Returns the number of information items that are available for a directory.\",\"Parameter1\":\"directory-id\",\"Description1\":\"Is a numeric variable that specifies the identifier that was assigned when the directory was opened by the DOPEN function.\"},{\"Name\":\"DREAD\",\"Definition\":\"Returns the name of a directory member.\",\"Parameter1\":\"directory-id\",\"Description1\":\"Is a numeric value that specifies the identifier that was assigned when the directory was opened by the DOPEN function.\",\"Parameter2\":\"nval\",\"Description2\":\"Is a numeric constant, variable, or expression that specifies the sequence number of the member within the directory.\"},{\"Name\":\"DROPNOTE\",\"Definition\":\"Deletes a note marker from a SAS data set or an external file.\",\"Parameter1\":\"data-set-id|file-id\",\"Description1\":\"Is a numeric variable that specifies the identifier that was assigned when the data set or external file was opened, generally by the OPEN function or the FOPEN function.\",\"Parameter2\":\"note-id\",\"Description2\":\"Is a numeric value that specifies the identifier that was assigned by the NOTE or FNOTE function.\"},{\"Name\":\"DSNAME\",\"Definition\":\"Returns the SAS data set name that is associated with a data set identifier.\",\"Parameter1\":\"data-set-id\",\"Description1\":\"Is a numeric variable that specifies the data set identifier that is returned by the OPEN function.\"},{\"Name\":\"DUR\",\"Definition\":\"Returns the modified duration for an enumerated cash flow.\",\"Parameter1\":\"y\",\"Description1\":\"Specifies the effective per-period yield-to-maturity, expressed as a fraction. Range: y &gt; 0.\",\"Parameter2\":\"f\",\"Description2\":\"Specifies the frequency of cash flows per period. Range: f &gt; 0.\",\"Parameter3\":\"c(1), ... ,c(k)\",\"Description3\":\"Specifies a list of cash flows.\"},{\"Name\":\"DURP\",\"Definition\":\"Returns the modified duration for a periodic cash flow stream, such as a bond.\",\"Parameter1\":\"A\",\"Description1\":\"Specifies the par value. Range: A &gt; 0.\",\"Parameter2\":\"c\",\"Description2\":\"Specifies the nominal per-period coupon rate, expressed as a fraction. Range: 0 \\u2264 c &lt; 1.\",\"Parameter3\":\"n\",\"Description3\":\"Specifies the number of coupons per period. Range: n &gt; 0 and is an integer.\",\"Parameter4\":\"K\",\"Description4\":\"Specifies the number of remaining coupons. Range: K &gt; 0 and is an integer.\",\"Parameter5\":\"ko\",\"Description5\":\"Specifies the time from the present date to the first coupon date, expressed in terms of the number of periods. Range: 0 &lt; c \\u2264 1/n.\",\"Parameter6\":\"y\",\"Description6\":\"Specifies the nominal per-period yield-to-maturity, expressed as a fraction. Range: y &gt; 0.\"},{\"Name\":\"ENVLEN\",\"Definition\":\"Returns the length of an environment variable.\",\"Parameter1\":\"argument\",\"Description1\":\"Specifies a character variable that is the name of an operating system environment variable. Enclose argument in quotation marks.\"},{\"Name\":\"ERF\",\"Definition\":\"Returns the value of the (normal) error function.\",\"Parameter1\":\"argument\",\"Description1\":\"Specifies a numeric constant, variable, or expression.\"},{\"Name\":\"ERFC\",\"Definition\":\"Returns the value of the complementary (normal) error function.\",\"Parameter1\":\"argument\",\"Description1\":\"Specifies a numeric constant, variable, or expression.\",\"Description4\":null},{\"Name\":\"EUCLID\",\"Definition\":\"Returns the Euclidean norm of the non-missing arguments.\",\"Parameter1\":\"value-1 &lt;,value-2 ...&gt;\",\"Description1\":\"Specifies a numeric constant, variable, or expression.\"},{\"Name\":\"EXIST\",\"Definition\":\"Verifies the existence of a SAS library member.\",\"Parameter1\":\"member-name&lt;\",\"Description1\":\"Is a character constant, variable, or expression that specifies the SAS library member.\",\"Parameter2\":\"member-type&lt;\",\"Description2\":\"Is a character constant, variable, or expression that specifies the type of SAS library member.\",\"Parameter3\":\"generation&gt;&gt;\",\"Description3\":\"Is a numeric constant, variable, or expression that specifies the generation number of the SAS data set whose existence you are checking.\"},{\"Name\":\"EXP\",\"Definition\":\"Returns the value of the exponential function.\",\"Parameter1\":\"argument\",\"Description1\":\"Specifies a numeric constant, variable, or expression.\"},{\"Name\":\"FACT\",\"Definition\":\"Computes a factorial.\",\"Parameter1\":\"n\",\"Description1\":\"Is a numeric constant, variable, or expression.\"},{\"Name\":\"FAPPEND\",\"Definition\":\"Appends the current record to the end of an external file.\",\"Parameter1\":\"file-id&lt;\",\"Description1\":\"Is a numeric variable that specifies the identifier that was assigned when the file was opened, generally by the FOPEN function.\",\"Parameter2\":\"cc&gt;\",\"Description2\":\"Is a character constant, variable, or expression that specifies a carriage-control character: blank (start record on a new line), 0 (skip one blank line), - (skip two blanks), 1 (start a new page), + (overstrike a previous line), P (computer prompt), = (contains carriage control info), all else (start a new line).\"},{\"Name\":\"FCLOSE\",\"Definition\":\"Closes an external file, directory, or directory member.\",\"Parameter1\":\"file-id\",\"Description1\":\"Is a numeric variable that specifies the identifier that was assigned when the file was opened, generally by the FOPEN function.\"},{\"Name\":\"FCOL\",\"Definition\":\"Returns the current column position in the File Data Buffer (FDB).\",\"Parameter1\":\"file-id\",\"Description1\":\"Is a numeric variable that specifies the identifier that was assigned when the file was opened, generally by the FOPEN function.\"},{\"Name\":\"FDELETE\",\"Definition\":\"Deletes an external file or an empty directory.\",\"Parameter1\":\"fileref | directory\",\"Description1\":\"Is a character constant, variable, or expression that specifies the fileref that you assigned to the external file, or an empty directory that you want to delete.\"},{\"Name\":\"FETCH\",\"Definition\":\"Reads the next non-deleted observation from a SAS data set into the Data Set Data Vector (DDV).\",\"Parameter1\":\"data-set-id&lt;\",\"Description1\":\"Is a numeric variable that specifies the data set identifier that is returned by the OPEN function.\",\"Parameter2\":\"'NOSET'&gt;\",\"Description2\":\"Prevents the automatic passing of SAS data set variable values to macro or DATA step variables even if the SET routine has been called.\"},{\"Name\":\"FETCHOBS\",\"Definition\":\"Reads a specified observation from a SAS data set into the Data Set Data Vector (DDV).\",\"Parameter1\":\"data-set-id\",\"Description1\":\"Is a numeric variable that specifies the data set identifier that is returned by the OPEN function.\",\"Parameter2\":\"obs-number&lt;\",\"Description2\":\"Is a numeric constant, variable, or expression that specifies the number of the observation to read.\",\"Parameter3\":\"options&gt;\",\"Description3\":\"Is a character constant, variable, or expression that names one or more options, separated by blanks: ABS (obs-number is absolute), NOSET (prevents automatic passing of SAS data set variable values even if the SET routine has been called).\"},{\"Name\":\"FEXIST\",\"Definition\":\"Verifies the existence of an external file that is associated with a fileref.\",\"Parameter1\":\"fileref\",\"Description1\":\"Is a character constant, variable, or expression that specifies the fileref that is assigned to an external file.\"},{\"Name\":\"FGET\",\"Definition\":\"Copies data from the File Data Buffer (FDB) into a variable.\",\"Parameter1\":\"file-id\",\"Description1\":\"Is a numeric variable that specifies the identifier that was assigned when the file was opened, generally by the FOPEN function.\",\"Parameter2\":\"variable&lt;\",\"Description2\":\"In a DATA step, specifies a character variable to hold the data. In a macro, specifies a macro variable to hold the data. If variable is a macro variable and it does not exist, it is created.\",\"Parameter3\":\"length&gt;\",\"Description3\":\"Specifies the number of characters to retrieve from the FDB. If length is omitted, all characters in the FDB from the current column position to the next delimiter are returned.\"},{\"Name\":\"FILEEXIST\",\"Definition\":\"Verifies the existence of an external file by its physical name.\",\"Parameter1\":\"file-name\",\"Description1\":\"Is a character constant, variable, or expression that specifies a fully qualified physical filename of the external file in the operating environment.\"},{\"Name\":\"FILENAME\",\"Definition\":\"Assigns or deassigns a fileref to an external file, directory, or output device.\",\"Parameter1\":\"fileref&lt;\",\"Description1\":\"Specifies the fileref to assign to the external file.\",\"Parameter2\":\"file-name&gt;&lt;\",\"Description2\":\"Is a character constant, variable, or expression that specifies the external file.\",\"Parameter3\":\"device-type&gt;&lt;\",\"Description3\":\"Is a character constant, variable, or expression that specifies the type of device. Valid values: DISK, PRINTER, TEMP, DUMMY, PIPE, PLOTTER, TAPE, TERMINAL, GTERM, UPRINTER.\",\"Parameter4\":\"host-options&gt;&lt;\",\"Description4\":\"Specifies host-specific details such as file attributes and processing attributes.\",\"Parameter5\":\"dir-ref&gt;\",\"Description5\":\"Specifies the fileref that was assigned to the directory or partitioned data set in which the external file resides.\"},{\"Name\":\"FILEREF\",\"Definition\":\"Verifies whether a fileref has been assigned for the current SAS session.\",\"Parameter1\":\"fileref\",\"Description1\":\"Is a character constant, variable, or expression that specifies the fileref to be validated. Range: 1 to 8 character.\"},{\"Name\":\"FINANCE*1\",\"Definition\":\"Computes the accrued interest for a security that pays periodic interest.\",\"Parameter1\":\"'accrint'\",\"Description1\":\"Use the 'accrint' string-identifier to compute the accrued interest for a security that pays periodic interest.\",\"Parameter2\":\"issue\",\"Description2\":\"Specifies the issue date of the security.\",\"Parameter3\":\"first-interest\",\"Description3\":\"Specifies the first interest date of the security.\",\"Parameter4\":\"settlement\",\"Description4\":\"Specifies the settlement date.\",\"Parameter5\":\"rate\",\"Description5\":\"Specifies the interest rate.\",\"Parameter6\":\"par-value\",\"Description6\":\"Specifies the par value of the security. If you omit par-value, SAS uses the value $1000.\",\"Parameter7\":\"frequency\",\"Description7\":\"Specifies the number of coupon payments per year. For annual payments, frequency=1; for semiannual payments, frequency=2; for quarterly payments, frequency=4.\",\"Parameter8\":\"basis\",\"Description8\":\"Specifies the optional day count value.\"},{\"Name\":\"FINANCE*2\",\"Definition\":\"Computes the accrued interest for a security that pays interest at maturity.\",\"Parameter1\":\"'accrintm'\",\"Description1\":\"Use the 'accrintm' string-identifier to compute the accrued interest for a security that pays interest at maturity.\",\"Parameter2\":\"issue\",\"Description2\":\"Specifies the issue date of the security.\",\"Parameter3\":\"settlement\",\"Description3\":\"Specifies the settlement date.\",\"Parameter4\":\"rate\",\"Description4\":\"Specifies the interest rate.\",\"Parameter5\":\"par-value\",\"Description5\":\"Specifies the par value of the security. If you omit par-value, SAS uses the value $1000.\"},{\"Name\":\"FINANCE*3\",\"Definition\":\"Computes the depreciation for each accounting period by using a depreciation coefficient.\",\"Parameter1\":\"'amordegrc'\",\"Description1\":\"Use 'amordegrc' string-identifier to compute the depreciation for each accounting period by using a depreciation coefficient. \",\"Parameter2\":\"cost\",\"Description2\":\"Specifies the initial cost of the asset.\",\"Parameter3\":\"date-purchased\",\"Description3\":\"Specifies the date of the purchase of the asset.\",\"Parameter4\":\"first-period\",\"Description4\":\"Specifies the date of the end of the first period.\",\"Parameter5\":\"salvage\",\"Description5\":\"Specifies the value at the end of the depreciation (also called the salvage value of the asset).\",\"Parameter6\":\"period\",\"Description6\":\"Specifies the depreciation period.\",\"Parameter7\":\"rate\",\"Description7\":\"Specifies the rate of depreciation.\",\"Parameter8\":\"basis\",\"Description8\":\"Specifies the optional day count value. \\n    \\nTip:\\nWhen the first argument of the FINANCE function is AMORDEGRC and the value of basis is 2, the function returns a missing value.\"},{\"Name\":\"FINANCE*4\",\"Definition\":\"Computes the depreciation for each accounting period.\",\"Parameter1\":\"'amorlinc'\",\"Description1\":\"Use 'amorlinc' string-identifier to compute the depreciation for each accounting period.\",\"Parameter2\":\"cost\",\"Description2\":\"Specifies the initial cost of the asset.\",\"Parameter3\":\"date-purchased\",\"Description3\":\"Specifies the date of the purchase of the asset.\",\"Parameter4\":\"first-period\",\"Description4\":\"Specifies the date of the end of the first period.\",\"Parameter5\":\"salvage\",\"Description5\":\"Specifies the value at the end of the depreciation (also called the salvage value of the asset).\",\"Parameter6\":\"period\",\"Description6\":\"Specifies the depreciation period.\",\"Parameter7\":\"rate\",\"Description7\":\"Specifies the rate of depreciation.\",\"Parameter8\":\"basis\",\"Description8\":\"Specifies the optional day count value. \\n    \\nTip:\\nWhen the first argument of the FINANCE function is AMORLINC and the value of basis is 2, the function returns a missing value.\"},{\"Name\":\"FINANCE*5\",\"Definition\":\"Computes the number of days from the beginning of the coupon period to the settlement date.\",\"Parameter1\":\"'coupdaybs'\",\"Description1\":\"Use the 'coupdaybs' string-identifier to compute the number of days from the beginning of the coupon period to the settlement date.\",\"Parameter2\":\"settlement\",\"Description2\":\"Specifies the settlement date of the security. The security settlement date is the date after the issue date when the security is traded to the buyer.\\n    \\nNote: Dates should be entered using the DATE function, or as results of other formulas or functions. For example, use DATE(2011,5,23) for the 23rd day of May 2011. Problems can occur if dates are entered as text.\",\"Parameter3\":\"maturity\",\"Description3\":\"Specifies the maturity date of the security. The maturity date is the date the security expires.\\n    \\nNote: Dates should be entered using the DATE function, or as results of other formulas or functions. For example, use DATE(2011,5,23) for the 23rd day of May 2011. Problems can occur if dates are entered as text.\",\"Parameter4\":\"frequency\",\"Description4\":\"Specifies the number of coupon payments per year. For annual payments, frequency=1; for semiannual payments, frequency=2; for quarterly payments, frequency=4.\",\"Parameter5\":\"basis\",\"Description5\":\"Specifies the optional day count value.\"},{\"Name\":\"FINANCE*6\",\"Definition\":\"Computes the number of days in the coupon period that contains the settlement date.\",\"Parameter1\":\"'coupdays'\",\"Description1\":\"Use the 'coupdays' string-identifier to compute the number of days in the coupon period that contains the settlement date.\",\"Parameter2\":\"settlement\",\"Description2\":\"Specifies the settlement date.\",\"Parameter3\":\"maturity\",\"Description3\":\"Specifies the maturity date.\",\"Parameter4\":\"frequency\",\"Description4\":\"Specifies the number of coupon payments per year. For annual payments, frequency=1; for semiannual payments, frequency=2; for quarterly payments, frequency=4.\",\"Parameter5\":\"basis\",\"Description5\":\"Specifies the optional day count value.\"},{\"Name\":\"FINANCE*7\",\"Definition\":\"Computes the number of days from the settlement date to the next coupon date.\",\"Parameter1\":\"'coupdaysnc'\",\"Description1\":\"Use the 'coupdaysnc' string-identifier to compute the number of days from the settlement date to the next coupon date.\",\"Parameter2\":\"settlement\",\"Description2\":\"Specifies the settlement date.\",\"Parameter3\":\"maturity\",\"Description3\":\"Specifies the maturity date.\",\"Parameter4\":\"frequency\",\"Description4\":\"Specifies the number of coupon payments per year. For annual payments, frequency=1; for semiannual payments, frequency=2; for quarterly payments, frequency=4.\",\"Parameter5\":\"basis\",\"Description5\":\"Specifies the optional day count value.\"},{\"Name\":\"FINANCE*8\",\"Definition\":\"Computes the next coupon date after the settlement date.\",\"Parameter1\":\"'coupncd'\",\"Description1\":\"Use the 'coupncd' string-identifier to compute the next coupon date after the settlement date.\",\"Parameter2\":\"settlement\",\"Description2\":\"Specifies the settlement date.\",\"Parameter3\":\"maturity\",\"Description3\":\"Specifies the maturity date.\",\"Parameter4\":\"frequency\",\"Description4\":\"Specifies the number of coupon payments per year. For annual payments, frequency=1; for semiannual payments, frequency=2; for quarterly payments, frequency=4.\",\"Parameter5\":\"basis\",\"Description5\":\"Specifies the optional day count value.\"},{\"Name\":\"FINANCE*9\",\"Definition\":\"Computes the number of coupons that are payable between the settlement date and the maturity date.\",\"Parameter1\":\"'coupnum'\",\"Description1\":\"Use the 'coupnum' string-identifier to compute the number of coupons that are payable between the settlement date and the maturity date.\",\"Parameter2\":\"settlement\",\"Description2\":\"Specifies the settlement date.\",\"Parameter3\":\"maturity\",\"Description3\":\"Specifies the maturity date.\",\"Parameter4\":\"frequency\",\"Description4\":\"Specifies the number of coupon payments per year. For annual payments, frequency=1; for semiannual payments, frequency=2; for quarterly payments, frequency=4.\",\"Parameter5\":\"basis\",\"Description5\":\"Specifies the optional day count value.\"},{\"Name\":\"FINANCE*10\",\"Definition\":\"Computes the previous coupon date before the settlement date.\",\"Parameter1\":\"'couppcd'\",\"Description1\":\"Use the 'couppcd' string-identifier to compute the previous coupon date before the settlement date.\",\"Parameter2\":\"settlement\",\"Description2\":\"Specifies the settlement date.\",\"Parameter3\":\"maturity\",\"Description3\":\"Specifies the maturity date.\",\"Parameter4\":\"frequency\",\"Description4\":\"Specifies the number of coupon payments per year. For annual payments, frequency=1; for semiannual payments, frequency=2; for quarterly payments, frequency=4.\",\"Parameter5\":\"basis\",\"Description5\":\"Specifies the optional day count value.\"},{\"Name\":\"FINANCE*11\",\"Definition\":\"Computes the cumulative interest paid between two periods.\",\"Parameter1\":\"'cumipmt'\",\"Description1\":\"Use the 'cumipmt' string-identifier to compute the cumulative interest paid between two periods.\",\"Parameter2\":\"rate\",\"Description2\":\"Specifies the interest rate.\",\"Parameter3\":\"nper\",\"Description3\":\"Specifies the total number of payment periods.\",\"Parameter4\":\"pv\",\"Description4\":\"Specifies the present value or the lump-sum amount that a series of future payments is worth currently.\",\"Parameter5\":\"start-period\",\"Description5\":\"Specifies the first period in the calculation. Payment periods are numbered beginning with 1.\",\"Parameter6\":\"end-period\",\"Description6\":\"Specifies the last period in the calculation.\",\"Parameter7\":\"type\",\"Description7\":\"Specifies the number 0 or 1 and indicates when payments are due. If type is omitted, it is assumed to be 0.\\n\\nIf payments are due at the end of the period, then either omit the type argument or set it to 0. If payments are due at the beginning of the period, then set type to 1.\"},{\"Name\":\"FINANCE*12\",\"Definition\":\"Computes the cumulative principal that is paid on a loan between two periods.\",\"Parameter1\":\"'cumprinc'\",\"Description1\":\"Use the 'cumprinc' string-identifier to compute the cumulative principal that is paid on a loan between two periods.\",\"Parameter2\":\"rate\",\"Description2\":\"Specifies the interest rate.\",\"Parameter3\":\"nper\",\"Description3\":\"Specifies the total number of payment periods.\",\"Parameter4\":\"pv\",\"Description4\":\"Specifies the present value or the lump-sum amount that a series of future payments is worth currently.\",\"Parameter5\":\"start-period\",\"Description5\":\"Specifies the first period in the calculation. Payment periods are numbered beginning with 1.\",\"Parameter6\":\"end-period\",\"Description6\":\"Specifies the last period in the calculation.\",\"Parameter7\":\"type\",\"Description7\":\"Specifies the number 0 or 1 and indicates when payments are due. If type is omitted, it is assumed to be 0.\\n\\nIf payments are due at the end of the period, then either omit the type argument or set it to 0. If payments are due at the beginning of the period, then set type to 1.\"},{\"Name\":\"FINANCE*13\",\"Definition\":\"Computes the depreciation of an asset for a specified period by using the fixed-declining balance method.\",\"Parameter1\":\"'db'\",\"Description1\":\"Use the 'db' string-identifier to compute the depreciation of an asset for a specified period by using the fixed-declining balance method.\",\"Parameter2\":\"cost\",\"Description2\":\"Specifies the initial cost of the asset.\",\"Parameter3\":\"salvage\",\"Description3\":\"Specifies the value at the end of the depreciation (also called the salvage value of the asset).\",\"Parameter4\":\"life\",\"Description4\":\"Specifies the number of periods over which the asset is depreciated (also called the useful life of the asset).\",\"Parameter5\":\"period\",\"Description5\":\"Specifies the period for which you want to calculate the depreciation. Period must use the same time units as life.\",\"Parameter6\":\"month\",\"Description6\":\"Specifies the number of months (month is an optional numeric argument). If month is omitted, it defaults to a value of 12.\"},{\"Name\":\"FINANCE*14\",\"Definition\":\"Computes the depreciation of an asset for a specified period by using the double-declining balance method or some other method that you specify.\",\"Parameter1\":\"'ddb'\",\"Description1\":\"Use the 'ddb' string-identifier to compute the depreciation of an asset for a specified period by using the double-declining balance method or some other method that you specify.\",\"Parameter2\":\"cost\",\"Description2\":\"Specifies the initial cost of the asset.\",\"Parameter3\":\"salvage\",\"Description3\":\"Specifies the value at the end of the depreciation (also called the salvage value of the asset).\",\"Parameter4\":\"life\",\"Description4\":\"Specifies the number of periods over which the asset is depreciated (also called the useful life of the asset).\",\"Parameter5\":\"period\",\"Description5\":\"Specifies the period for which you want to calculate the depreciation. Period must use the same time units as life.\",\"Parameter6\":\"factor\",\"Description6\":\"Specifies the rate at which the balance declines. If factor is omitted, it is assumed to be 2 (the double-declining balance method).\"},{\"Name\":\"FINANCE*15\",\"Definition\":\"Computes the discount rate for a security.\",\"Parameter1\":\"'disc'\",\"Description1\":\"Use the 'disc' string-identifier to compute the discount rate for a security.\",\"Parameter2\":\"settlement\",\"Description2\":\"Specifies the settlement date.\",\"Parameter3\":\"maturity\",\"Description3\":\"Specifies the maturity date.\",\"Parameter4\":\"price\",\"Description4\":\"Specifies the price of security per $100 face value.\",\"Parameter5\":\"redemption\",\"Description5\":\"Specifies the amount to be received at maturity.\",\"Parameter6\":\"basis\",\"Description6\":\"Specifies the optional day count value.\"},{\"Name\":\"FINANCE*16\",\"Definition\":\"Converts a dollar price, expressed as a fraction, to a dollar price, expressed as a decimal number.\",\"Parameter1\":\"'dollarde'\",\"Description1\":\"Use the 'dollarde' string-identifier to convert a dollar price, expressed as a fraction, to a dollar price, expressed as a decimal number.\",\"Parameter2\":\"fractional-dollar\",\"Description2\":\"Specifies the number expressed as a fraction.\",\"Parameter3\":\"fraction\",\"Description3\":\"Specifies the integer to use in the denominator of a fraction.\"},{\"Name\":\"FINANCE*17\",\"Definition\":\"Converts a dollar price, expressed as a decimal number, to a dollar price, expressed as a fraction.\",\"Parameter1\":\"'dollarfr'\",\"Description1\":\"Use the 'dollarfr' string-identifier to convert a dollar price, expressed as a decimal number, to a dollar price, expressed as a fraction.\",\"Parameter2\":\"decimal-dollar\",\"Description2\":\"Specifies a decimal number.\",\"Parameter3\":\"fraction\",\"Description3\":\"Specifies the integer to use in the denominator of a fraction.\"},{\"Name\":\"FINANCE*18\",\"Definition\":\"Computes the annual duration of a security with periodic interest payments.\",\"Parameter1\":\"'duration'\",\"Description1\":\"Use the 'duration' string-identifier to compute the annual duration of a security with periodic interest payments.\",\"Parameter2\":\"settlement\",\"Description2\":\"Specifies the settlement date.\",\"Parameter3\":\"maturity\",\"Description3\":\"Specifies the maturity date.\",\"Parameter4\":\"coupon\",\"Description4\":\"Specifies he annual coupon rate of the security.\",\"Parameter5\":\"yield\",\"Description5\":\"Specifies he annual yield of the security.\",\"Parameter6\":\"frequency\",\"Description6\":\"Specifies the number of coupon payments per year. For annual payments, frequency=1; for semiannual payments, frequency=2; for quarterly payments, frequency=4.\",\"Parameter7\":\"basis\",\"Description7\":\"Specifies the optional day count value.\"},{\"Name\":\"FINANCE*19\",\"Definition\":\"Computes the effective annual interest rate.\",\"Parameter1\":\"'effect'\",\"Description1\":\"Use the 'effect' string-identifier to compute the effective annual interest rate.\",\"Parameter2\":\"nominal-rate\",\"Description2\":\"Specifies the nominal interest rate.\",\"Parameter3\":\"npery\",\"Description3\":\"Specifies the number of compounding periods per year.\"},{\"Name\":\"FINANCE*20\",\"Definition\":\"Computes the future value of an investment.\",\"Parameter1\":\"'fv'\",\"Description1\":\"Use the 'fv' string-identifier to compute the future value of an investment.\",\"Parameter2\":\"rate\",\"Description2\":\"Specifies the interest rate.\",\"Parameter3\":\"nper\",\"Description3\":\"Specifies the total number of payment periods.\",\"Parameter4\":\"payment\",\"Description4\":\"Specifies the payment that is made each period; the payment cannot change over the life of the annuity. Typically, payment contains principal and interest but no fees and taxes. If payment is omitted, you must include the present-value argument.\",\"Parameter5\":\"present-value\",\"Description5\":\"Specifies the present value or the lump-sum amount that a series of future payments is worth currently. If present-value is omitted, it is assumed to be 0 (zero), and you must include the payment argument.\",\"Parameter6\":\"end-period\",\"Description6\":\"Specifies the last period in the calculation.\",\"Parameter7\":\"type\",\"Description7\":\"\\n      Specifies the number 0 or 1 and indicates when payments are due. If type is omitted, it is assumed to be 0.\\n\\n      If payments are due at the end of the period, then either omit the type argument or set it to 0. If payments are due at the beginning of the period, then set type to 1.\\n    \"},{\"Name\":\"FINANCE*21\",\"Definition\":\"Computes the future value of the initial principal after applying a series of compound interest rates.\",\"Parameter1\":\"'fvschedule'\",\"Description1\":\"Use the 'fvschedule' string-identifier to compute the interest rate for a fully invested security.\",\"Parameter2\":\"principal\",\"Description2\":\"Specifies the present value.\",\"Parameter3\":\"schedule\",\"Description3\":\"Specifies the sequence of interest rates to apply.\"},{\"Name\":\"FINANCE*22\",\"Definition\":\"Computes the interest rate for a fully invested security.\",\"Parameter1\":\"'intrate'\",\"Description1\":\"Use the 'intrate' string-identifier to compute the interest rate for a fully invested security.\",\"Parameter2\":\"settlement\",\"Description2\":\"Specifies the settlement date.\",\"Parameter3\":\"maturity\",\"Description3\":\"Specifies the maturity date.\",\"Parameter4\":\"investment\",\"Description4\":\"Specifies the amount that is invested in the security.\",\"Parameter5\":\"redemption\",\"Description5\":\"Specifies the amount to be received at maturity.\",\"Parameter6\":\"basis\",\"Description6\":\"Specifies the optional day count value.\"},{\"Name\":\"FINANCE*23\",\"Definition\":\"Computes the interest payment for an investment for a specified period.\",\"Parameter1\":\"'ipmt'\",\"Description1\":\"Use the 'ipmt' string-identifier to compute the interest payment for an investment for a specified period.\",\"Parameter2\":\"rate\",\"Description2\":\"Specifies the interest rate.\",\"Parameter3\":[\"period\",\"nper\"],\"Description3\":[\"Specifies tthe period for which you want to calculate the depreciation. Period must use the same units as life.\",\"Specifies the total number of payment periods.\"],\"Parameter4\":\"pv\",\"Description4\":\"Specifies the present value or the lump-sum amount that a series of future payments is worth currently. If pv is omitted, it is assumed to be 0 (zero), and you must include the fv argument.\",\"Parameter5\":\"fv\",\"Description5\":\"Specifies the future value or a cash balance that you want to attain after the last payment is made. If fv is omitted, it is assumed to be 0 (for example, the future value of a loan is 0).\",\"Parameter6\":\"type\",\"Description6\":\"Specifies the number 0 or 1 and indicates when payments are due. If type is omitted, it is assumed to be 0.\\n\\n      If payments are due at the end of the period, then either omit the type argument or set it to 0. If payments are due at the beginning of the period, then set type to 1.\"},{\"Name\":\"FINANCE*24\",\"Definition\":\"Computes the internal rate of return for a series of cash flows.\",\"Parameter1\":\"'irr'\",\"Description1\":\"Use the 'irr' string-identifier to compute the internal rate of return for a series of cash flows.\",\"Parameter2\":\"value-1, value-2, ..., value-n\",\"Description2\":\"Specifies a list of numeric arguments that contain numbers for which you want to calculate the internal rate of return.\"},{\"Name\":\"FINANCE*25\",\"Definition\":\"Calculates the interest paid during a specific period of an investment.\",\"Parameter1\":\"'ispmt'\",\"Description1\":\"Use the 'ispmt' string-identifier to calculate the interest paid during a specific period of an investment.\",\"Parameter2\":\"interest-rate\",\"Description2\":\"Is the interest rate for the investment.\",\"Parameter3\":\"period\",\"Description3\":\"Is the period to calculate the interest rate. Period must be a value between 1 and number-payments.\",\"Parameter4\":\"number-payments\",\"Description4\":\"Is the number of payments for the annuity.\",\"Parameter5\":\"pv\",\"Description5\":\"Is the loan amount or present value of the payments.\"},{\"Name\":\"FINANCE*26\",\"Definition\":\"Computes the Macaulay modified duration for a security with an assumed face value of $100.\",\"Parameter1\":\"'mduration'\",\"Description1\":\"Use the 'mduration' string-identifier to compute the Macaulay modified duration for a security with an assumed face value of $100.\",\"Parameter2\":\"settlement\",\"Description2\":\"Specifies the settlement date.\",\"Parameter3\":\"maturity\",\"Description3\":\"Specifies the maturity date.\",\"Parameter4\":\"coupon\",\"Description4\":\"Specifies he annual coupon rate of the security.\",\"Parameter5\":\"yield\",\"Description5\":\"Specifies he annual yield of the security.\",\"Parameter6\":\"frequency\",\"Description6\":\"Specifies the number of coupon payments per year. For annual payments, frequency=1; for semiannual payments, frequency=2; for quarterly payments, frequency=4.\",\"Parameter7\":\"basis\",\"Description7\":\"Specifies the optional day count value.\"},{\"Name\":\"FINANCE*27\",\"Definition\":\"Computes the internal rate of return where positive and negative cash flows are financed at different rates.\",\"Parameter1\":\"'mirr'\",\"Description1\":\"Use the 'mirr' string-identifier to compute the internal rate of return where positive and negative cash flows are financed at different rates.\",\"Parameter2\":\"value\",\"Description2\":\"Specifies a list of numeric arguments that contain numbers. These numbers represent a series of payments (negative values) and income (positive values) that occur at regular periods. Value must contain at least one positive value and one negative value to calculate the modified internal rate of return.\",\"Parameter3\":\"finance-rate\",\"Description3\":\"Specifies the interest rate that you pay on the money that is used in the cash flows.\",\"Parameter4\":\"reinvest-rate\",\"Description4\":\"Specifies the interest rate that you receive on the cash flows as you reinvest them.\"},{\"Name\":\"FINANCE*28\",\"Definition\":\"Computes the annual nominal interest rates.\",\"Parameter1\":\"'nominal'\",\"Description1\":\"Use the 'nominal' string-identifier to compute the annual nominal interest rates.\",\"Parameter2\":\"effective-rate\",\"Description2\":\"Specifies the effective interest rate.\",\"Parameter3\":\"npery\",\"Description3\":\"Specifies the number of compounding periods per year.\"},{\"Name\":\"FINANCE*29\",\"Definition\":\"Computes the number of periods for an investment.\",\"Parameter1\":\"'nper'\",\"Description1\":\"Use the 'nper' string-identifier to compute the number of periods for an investment.\",\"Parameter2\":\"rate\",\"Description2\":\"Specifies the interest rate.\",\"Parameter3\":\"payment\",\"Description3\":\"Specifies the payment that is made each period; the payment cannot change over the life of the annuity. Typically, payment contains principal and interest but no other fees or taxes. If payment is omitted, you must include the pv argument.\",\"Parameter4\":\"pv\",\"Description4\":\"Specifies the present value or the lump-sum amount that a series of future payments is worth currently. If pv is omitted, it is assumed to be 0 (zero), and you must include the payment argument.\",\"Parameter5\":\"fv\",\"Description5\":\"Specifies the future value or a cash balance that you want to attain after the last payment is made. If fv is omitted, it is assumed to be 0 (for example, the future value of a loan is 0).\",\"Parameter6\":\"type\",\"Description6\":\"Specifies the number 0 or 1 and indicates when payments are due. If type is omitted, it is assumed to be 0.\\n\\nIf payments are due at the end of the period, then either omit the type argument or set it to 0. If payments are due at the beginning of the period, then set type to 1.\"},{\"Name\":\"FINANCE*30\",\"Definition\":\"Computes the net present value of an investment based on a series of periodic cash flows and a discount rate.\",\"Parameter1\":\"'npv'\",\"Description1\":\"Use the 'npv' string-identifier to \",\"Parameter2\":\"rate\",\"Description2\":\"Specifies the interest rate.\",\"Parameter3\":\"value\",\"Description3\":\"Represents the sequence of the cash flows.\"},{\"Name\":\"FINANCE*31\",\"Definition\":\"Computes the price of a security per $100 face value with an odd first period.\",\"Parameter1\":\"'oddfprice'\",\"Description1\":\"Use the 'oddfprice' string-identifier to compute the price of a security per $100 face value with an odd first period.\",\"Parameter2\":\"settlement\",\"Description2\":\"Specifies the settlement date.\",\"Parameter3\":\"maturity\",\"Description3\":\"Specifies the maturity date.\",\"Parameter4\":\"issue\",\"Description4\":\"Specifies the issue date of the security.\",\"Parameter5\":\"first-coupon\",\"Description5\":\"Specifies the first coupon date of the security.\",\"Parameter6\":\"rate\",\"Description6\":\"Specifies the interest rate.\",\"Parameter7\":\"yield\",\"Description7\":\"Specifies the annual yield of the security.\",\"Parameter8\":\"redemption\",\"Description8\":\"Specifies the amount to be received at maturity.\",\"Parameter9\":\"frequency\",\"Description9\":\"Specifies the number of coupon payments per year. For annual payments, frequency=1; for semiannual payments, frequency=2; for quarterly payments, frequency=4.\",\"Parameter10\":\"basis\",\"Description10\":\"Specifies the optional day count value.\"},{\"Name\":\"FINANCE*32\",\"Definition\":\"Computes the yield of a security with an odd first period.\",\"Parameter1\":\"'oddfyield'\",\"Description1\":\"Use the 'oddfyield' string-identifier to compute the yield of a security with an odd first period.\",\"Parameter2\":\"settlement\",\"Description2\":\"Specifies the settlement date.\",\"Parameter3\":\"maturity\",\"Description3\":\"Specifies the maturity date.\",\"Parameter4\":\"issue\",\"Description4\":\"Specifies the issue date of the security.\",\"Parameter5\":\"first-coupon\",\"Description5\":\"Specifies the first coupon date of the security.\",\"Parameter6\":\"rate\",\"Description6\":\"Specifies the interest rate.\",\"Parameter7\":\"price\",\"Description7\":\"Specifies the price of the security per $100 face value.\",\"Parameter8\":\"redemption\",\"Description8\":\"Specifies the amount to be received at maturity.\",\"Parameter9\":\"frequency\",\"Description9\":\"Specifies the number of coupon payments per year. For annual payments, frequency=1; for semiannual payments, frequency=2; for quarterly payments, frequency=4.\",\"Parameter10\":\"basis\",\"Description10\":\"Specifies the optional day count value.\"},{\"Name\":\"FINANCE*33\",\"Definition\":\"Computes the price of a security per $100 face value with an odd last period.\",\"Parameter1\":\"'oddlprice'\",\"Description1\":\"Use the 'oddlprice' string-identifier to compute the price of a security per $100 face value with an odd last period.\",\"Parameter2\":\"settlement\",\"Description2\":\"Specifies the settlement date.\",\"Parameter3\":\"maturity\",\"Description3\":\"Specifies the maturity date.\",\"Parameter4\":\"last-interest\",\"Description4\":\"Specifies the last coupon date of the security.\",\"Parameter5\":\"rate\",\"Description5\":\"Specifies the interest rate.\",\"Parameter6\":\"yield\",\"Description6\":\"Specifies the annual yield of the security.\",\"Parameter7\":\"redemption\",\"Description7\":\"Specifies the amount to be received at maturity.\",\"Parameter8\":\"frequency\",\"Description8\":\"Specifies the number of coupon payments per year. For annual payments, frequency=1; for semiannual payments, frequency=2; for quarterly payments, frequency=4.\",\"Parameter9\":\"basis\",\"Description9\":\"Specifies the optional day count value.\"},{\"Name\":\"FINANCE*34\",\"Definition\":\"Computes the yield of a security with an odd last period.\",\"Parameter1\":\"'oddlyield'\",\"Description1\":\"Use the 'oddlyield' string-identifier to compute the yield of a security with an odd last period.\",\"Parameter2\":\"settlement\",\"Description2\":\"Specifies the settlement date.\",\"Parameter3\":\"maturity\",\"Description3\":\"Specifies the maturity date.\",\"Parameter4\":\"last-interest\",\"Description4\":\"Specifies the last coupon date of the security.\",\"Parameter5\":\"rate\",\"Description5\":\"Specifies the interest rate.\",\"Parameter6\":\"price\",\"Description6\":\"Specifies the price of the security per $100 face value.\",\"Parameter7\":\"redemption\",\"Description7\":\"Specifies the amount to be received at maturity.\",\"Parameter8\":\"frequency\",\"Description8\":\"Specifies the number of coupon payments per year. For annual payments, frequency=1; for semiannual payments, frequency=2; for quarterly payments, frequency=4.\",\"Parameter9\":\"basis\",\"Description9\":\"Specifies the optional day count value.\"},{\"Name\":\"FINANCE*35\",\"Definition\":\"Computes the periodic payment of an annuity.\",\"Parameter1\":\"'pmt'\",\"Description1\":\"Use the 'pmt' string-identifier to compute the periodic payment of an annuity.\",\"Parameter2\":\"rate\",\"Description2\":\"Specifies the interest rate.\",\"Parameter3\":\"nper\",\"Description3\":\"Specifies the number of payment periods.\",\"Parameter4\":\"pv\",\"Description4\":\"Specifies the present value or the lump-sum amount that a series of future payments is worth currently. If pv is omitted, it is assumed to be 0 (zero), and you must include the fv argument.\",\"Parameter5\":\"fv\",\"Description5\":\"Specifies the future value or a cash balance that you want to attain after the last payment is made. If fv is omitted, it is assumed to be 0 (for example, the future value of a loan is 0).\",\"Parameter6\":\"type\",\"Description6\":\"Specifies the number 0 or 1 and indicates when payments are due. If type is omitted, it is assumed to be 0.\\n\\nIf payments are due at the end of the period, then either omit the type argument or set it to 0. If payments are due at the beginning of the period, then set type to 1.\"},{\"Name\":\"FINANCE*36\",\"Definition\":\"Computes the payment on the principal for an investment for a specified period.\",\"Parameter1\":\"'ppmt'\",\"Description1\":\"Use the 'ppmt' string-identifier to compute the payment on the principal for an investment for a specified period.\",\"Parameter2\":\"rate\",\"Description2\":\"Specifies the interest rate.\",\"Parameter3\":\"period\",\"Description3\":\"Specifies the period.\\n\\nRange: 1\\u2013nper\",\"Parameter4\":\"nper\",\"Description4\":\"Specifies the number of payment periods.\",\"Parameter5\":\"pv\",\"Description5\":\"Specifies the present value or the lump-sum amount that a series of future payments is worth currently. If pv is omitted, it is assumed to be 0 (zero), and you must include the fv argument.\",\"Parameter6\":\"fv\",\"Description6\":\"Specifies the future value or a cash balance that you want to attain after the last payment is made. If fv is omitted, it is assumed to be 0 (for example, the future value of a loan is 0).\",\"Parameter7\":\"type\",\"Description7\":\"Specifies the number 0 or 1 and indicates when payments are due. If type is omitted, it is assumed to be 0.\\n\\n      If payments are due at the end of the period, then either omit the type argument or set it to 0. If payments are due at the beginning of the period, then set type to 1.\\n    \"},{\"Name\":\"FINANCE*37\",\"Definition\":\"Computes the price of a security per $100 face value that pays periodic interest.\",\"Parameter1\":\"'price'\",\"Description1\":\"Use the 'price' string-identifier to compute the price of a security per $100 face value that pays periodic interest.\",\"Parameter2\":\"settlement\",\"Description2\":\"Specifies the settlement date.\",\"Parameter3\":\"maturity\",\"Description3\":\"Specifies the maturity date.\",\"Parameter4\":\"rate\",\"Description4\":\"Specifies the interest rate.\",\"Parameter5\":\"yield\",\"Description5\":\"Specifies the annual yield of the security.\",\"Parameter6\":\"redemption\",\"Description6\":\"Specifies the amount to be received at maturity.\",\"Parameter7\":\"frequency\",\"Description7\":\"Specifies the number of coupon payments per year. For annual payments, frequency=1; for semiannual payments, frequency=2; for quarterly payments, frequency=4.\",\"Parameter8\":\"basis\",\"Description8\":\"Specifies the optional day count value.\"},{\"Name\":\"FINANCE*38\",\"Definition\":\"Computes the price of a discounted security per $100 face value.\",\"Parameter1\":\"'pricedisc'\",\"Description1\":\"Use the 'pricedisc' string-identifier to compute the price of a discounted security per $100 face value.\",\"Parameter2\":\"settlement\",\"Description2\":\"Specifies the settlement date.\",\"Parameter3\":\"maturity\",\"Description3\":\"Specifies the maturity date.\",\"Parameter4\":\"discount\",\"Description4\":\"Specifies the discount rate of the security.\",\"Parameter5\":\"redemption\",\"Description5\":\"Specifies the amount to be received at maturity.\",\"Parameter6\":\"basis\",\"Description6\":\"Specifies the optional day count value.\"},{\"Name\":\"FINANCE*39\",\"Definition\":\"Computes the price of a security per $100 face value that pays interest at maturity.\",\"Parameter1\":\"'pricemat'\",\"Description1\":\"Use the 'pricemat' string-identifier to compute the price of a security per $100 face value that pays interest at maturity.\",\"Parameter2\":\"settlement\",\"Description2\":\"Specifies the settlement date.\",\"Parameter3\":\"maturity\",\"Description3\":\"Specifies the maturity date.\",\"Parameter4\":\"issue\",\"Description4\":\"Specifies the issue date of the security.\",\"Parameter5\":\"rate\",\"Description5\":\"Specifies the interest rate.\",\"Parameter6\":\"yield\",\"Description6\":\"Specifies the annual yield of the security.\",\"Parameter7\":\"basis\",\"Description7\":\"Specifies the optional day count value.\"},{\"Name\":\"FINANCE*40\",\"Definition\":\"Computes the present value of an investment.\",\"Parameter1\":\"'pv'\",\"Description1\":\"Use the 'pv' string-identifier to compute the present value of an investment.\",\"Parameter2\":\"rate\",\"Description2\":\"Specifies the interest rate.\",\"Parameter3\":\"nper\",\"Description3\":\"Specifies the total number of payment periods.\",\"Parameter4\":\"payment\",\"Description4\":\"Specifies the payment that is made each period; the payment cannot change over the life of the annuity. Typically, payment contains principal and interest but no other fees or taxes.\",\"Parameter5\":\"fv\",\"Description5\":\"Specifies the future value or a cash balance that you want to attain after the last payment is made. If fv is omitted, it is assumed to be 0 (for example, the future value of a loan is 0).\",\"Parameter6\":\"type\",\"Description6\":\"Specifies the number 0 or 1 and indicates when payments are due. If type is omitted, it is assumed to be 0. \\n    \\nIf payments are due at the end of the period, then either omit the type argument or set it to 0. If payments are due at the beginning of the period, then set type to 1.\"},{\"Name\":\"FINANCE*41\",\"Definition\":\"Computes the interest rate per period of an annuity.\",\"Parameter1\":\"'rate'\",\"Description1\":\"Use the 'rate' string-identifier to compute the interest rate per period of an annuity.\",\"Parameter2\":\"nper\",\"Description2\":\"Specifies the total number of payment periods.\",\"Parameter3\":\"payment\",\"Description3\":\"Specifies the payment that is made each period; the payment cannot change over the life of the annuity. Typically, payment contains principal and interest but no other fees or taxes. If payment is omitted, you must include the pv argument.\",\"Parameter4\":\"pv\",\"Description4\":\"Specifies the present value or the lump-sum amount that a series of future payments is worth currently. If pv is omitted, it is assumed to be 0 (zero), and you must include the fv argument.\",\"Parameter5\":\"fv\",\"Description5\":\"Specifies the future value or a cash balance that you want to attain after the last payment is made. If fv is omitted, it is assumed to be 0 (for example, the future value of a loan is 0).\",\"Parameter6\":\"type\",\"Description6\":\"Specifies the number 0 or 1 and indicates when payments are due. If type is omitted, it is assumed to be 0.\\n\\nIf payments are due at the end of the period, then either omit the type argument or set it to 0. If payments are due at the beginning of the period, then set type to 1.\"},{\"Name\":\"FINANCE*42\",\"Definition\":\"Computes the amount that is received at maturity for a fully invested security.\",\"Parameter1\":\"'received'\",\"Description1\":\"Use the 'received' string-identifier to compute the amount that is received at maturity for a fully invested security.\",\"Parameter2\":\"settlement\",\"Description2\":\"Specifies the settlement date.\",\"Parameter3\":\"maturity\",\"Description3\":\"Specifies the maturity date.\",\"Parameter4\":\"investment\",\"Description4\":\"Specifies the amount that is invested in the security.\",\"Parameter5\":\"discount\",\"Description5\":\"Specifies the discount rate of the security.\",\"Parameter6\":\"basis\",\"Description6\":\"Specifies the optional day count value.\"},{\"Name\":\"FINANCE*43\",\"Definition\":\"Computes the straight-line depreciation of an asset for one period.\",\"Parameter1\":\"'sln'\",\"Description1\":\"Use the 'sln' string-identifier to compute the straight-line depreciation of an asset for one period.\",\"Parameter2\":\"cost\",\"Description2\":\"Specifies the initial cost of the asset.\",\"Parameter3\":\"salvage\",\"Description3\":\"Specifies the value at the end of the depreciation (also called the salvage value of an asset).\",\"Parameter4\":\"life\",\"Description4\":\"Specifies the number of periods over which the asset is depreciated (also called the useful life of the asset).\"},{\"Name\":\"FINANCE*44\",\"Definition\":\"Computes the sum-of-years digits depreciation of an asset for a specified period.\",\"Parameter1\":\"'syd'\",\"Description1\":\"Use the 'syd' string-identifier to compute the sum-of-years digits depreciation of an asset for a specified period.\",\"Parameter2\":\"cost\",\"Description2\":\"Specifies the initial cost of the asset.\",\"Parameter3\":\"salvage\",\"Description3\":\"Specifies the value at the end of the depreciation (also called the salvage value of the asset).\",\"Parameter4\":\"life\",\"Description4\":\"Specifies the number of periods over which the asset is depreciated (also called the useful life of the asset).\",\"Parameter5\":\"period\",\"Description5\":\"Specifies a period in the same time units that are used for the argument life.\"},{\"Name\":\"FINANCE*45\",\"Definition\":\"Computes the bond-equivalent yield for a treasury bill.\",\"Parameter1\":\"'tbilleq'\",\"Description1\":\"Use the 'tbilleq' string-identifier to compute the bond-equivalent yield for a treasury bill.\",\"Parameter2\":\"settlement\",\"Description2\":\"Specifies the settlement date.\",\"Parameter3\":\"maturity\",\"Description3\":\"Specifies the maturity date.\",\"Parameter4\":\"discount\",\"Description4\":\"Specifies the discount rate of the security.\"},{\"Name\":\"FINANCE*46\",\"Definition\":\"Computes the price of a treasury bill per $100 face value.\",\"Parameter1\":\"'tbillprice'\",\"Description1\":\"Use the 'tbillprice' string-identifier to compute the price of a treasury bill per $100 face value.\",\"Parameter2\":\"settlement\",\"Description2\":\"Specifies the settlement date.\",\"Parameter3\":\"maturity\",\"Description3\":\"Specifies the maturity date.\",\"Parameter4\":\"discount\",\"Description4\":\"Specifies the discount rate of the security.\"},{\"Name\":\"FINANCE*47\",\"Definition\":\"Computes the yield for a treasury bill.\",\"Parameter1\":\"'tbillyield'\",\"Description1\":\"Use the 'tbillyield' string-identifier to compute the yield for a treasury bill.\",\"Parameter2\":\"settlement\",\"Description2\":\"Specifies the settlement date.\",\"Parameter3\":\"maturity\",\"Description3\":\"Specifies the maturity date.\",\"Parameter4\":\"price\",\"Description4\":\"Specifies the price of the security per $100 face value.\"},{\"Name\":\"FINANCE*48\",\"Definition\":\"Computes the depreciation of an asset for a specified or partial period by using a declining balance method.\",\"Parameter1\":\"'vdb'\",\"Description1\":\"Use the 'vdb' string-identifier to compute the depreciation of an asset for a specified or partial period by using a declining balance method.\",\"Parameter2\":\"cost\",\"Description2\":\"Specifies the initial cost of the asset.\",\"Parameter3\":\"salvage\",\"Description3\":\"Specifies the value at the end of the depreciation (also called the salvage value of the asset).\",\"Parameter4\":\"life\",\"Description4\":\"Specifies the number of periods over which the asset is depreciated (also called the useful life of the asset).\",\"Parameter5\":\"start-period\",\"Description5\":\"Specifies the first period in the calculation. Payment periods are numbered beginning with 1.\",\"Parameter6\":\"end-period\",\"Description6\":\"Specifies the last period in the calculation.\",\"Parameter7\":\"factor\",\"Description7\":\"Specifies the rate at which the balance declines. If factor is omitted, it is assumed to be 2 (the double-declining balance method).\",\"Parameter8\":\"noswitch\",\"Description8\":\"Specifies a logical value that determines whether to switch to straight-line depreciation when the depreciation is greater than the declining balance calculation. If noswitch is omitted, it is assumed to be 1\"},{\"Name\":\"FINANCE*49\",\"Definition\":\"Computes the internal rate of return for a schedule of cash flows that is not necessarily periodic.\",\"Parameter1\":\"'xirr'\",\"Description1\":\"Use the 'xirr' string-identifier to compute the internal rate of return for a schedule of cash flows that is not necessarily periodic.\",\"Parameter2\":\"values\",\"Description2\":\"Specifies a series of cash flows that corresponds to a schedule of payments in dates. The first payment is optional and corresponds to a cost or payment that occurs at the beginning of the investment. If the first value is a cost or payment, it must be a negative value. All succeeding payments are discounted based on a 365-day year. The series of values must contain at least one positive value and one negative value.\",\"Parameter3\":\"dates\",\"Description3\":\"Specifies a schedule of payment dates that corresponds to the cash flow payments. The first payment date indicates the beginning of the schedule of payments. All other dates must be later than this date, but they can occur in any order.\",\"Parameter4\":\"guess\",\"Description4\":\"Specifies an optional number that you guess is close to the result of XIRR.\"},{\"Name\":\"FINANCE*50\",\"Definition\":\"Computes the net present value for a schedule of cash flows that is not necessarily periodic.\",\"Parameter1\":\"'xnpv'\",\"Description1\":\"Use the 'xnpv' string-identifier to compute the net present value for a schedule of cash flows that is not necessarily periodic.\",\"Parameter2\":\"rate\",\"Description2\":\"Specifies the interest rate.\",\"Parameter3\":\"values\",\"Description3\":\"Specifies a series of cash flows that corresponds to a schedule of payments in dates. The first payment is optional and corresponds to a cost or payment that occurs at the beginning of the investment. If the first value is a cost or payment, it must be a negative value. All succeeding payments are discounted based on a 365-day year. The series of values must contain at least one positive value and one negative value.\",\"Parameter4\":\"dates\",\"Description4\":\"Specifies a schedule of payment dates that corresponds to the cash flow payments. The first payment date indicates the beginning of the schedule of payments. All other dates must be later than this date, but they can occur in any order.\"},{\"Name\":\"FINANCE*51\",\"Definition\":\"Computes the yield on a security that pays periodic interest.\",\"Parameter1\":\"'yield'\",\"Description1\":\"Use the 'yield' string-identifier to compute the yield on a security that pays periodic interest.\",\"Parameter2\":\"settlement\",\"Description2\":\"specifies the settlement date.\",\"Parameter3\":\"maturity\",\"Description3\":\"Specifies the maturity date.\",\"Parameter4\":\"rate\",\"Description4\":\"Specifies the interest rate.\",\"Parameter5\":\"price\",\"Description5\":\"Specifies the price of the security per $100 face value.\",\"Parameter6\":\"redemption\",\"Description6\":\"Specifies the amount to be received at maturity.\",\"Parameter7\":\"frequency\",\"Description7\":\"Specifies the number of coupon payments per year. For annual payments, frequency=1; for semiannual payments, frequency=2; for quarterly payments, frequency=4.\",\"Parameter8\":\"basis\",\"Description8\":\"Specifies the optional day count value.\"},{\"Name\":\"FINANCE*52\",\"Definition\":\"Computes the annual yield for a discounted security (for example, a treasury bill).\",\"Parameter1\":\"'yielddisc'\",\"Description1\":\"Use the 'yielddisc' string-identifier to compute the annual yield for a discounted security (for example, a treasury bill).\",\"Parameter2\":\"settlement\",\"Description2\":\"specifies the settlement date.\",\"Parameter3\":\"maturity\",\"Description3\":\"Specifies the maturity date.\",\"Parameter4\":\"rate\",\"Description4\":\"Specifies the interest rate.\",\"Parameter5\":\"price\",\"Description5\":\"Specifies the price of the security per $100 face value.\",\"Parameter6\":\"redemption\",\"Description6\":\"Specifies the amount to be received at maturity.\",\"Parameter7\":\"basis\",\"Description7\":\"Specifies the optional day count value.\"},{\"Name\":\"FINANCE*53\",\"Definition\":\"Computes the annual yield of a security that pays interest at maturity.\",\"Parameter1\":\"'yieldmat'\",\"Description1\":\"Use the 'yieldmat' string-identifier to compute the annual yield of a security that pays interest at maturity.\",\"Parameter2\":\"settlement\",\"Description2\":\"Specifies the settlement date.\",\"Parameter3\":\"maturity\",\"Description3\":\"Specifies the maturity date.\",\"Parameter4\":\"issue\",\"Description4\":\"Specifies the issue date of the security.\",\"Parameter5\":\"rate\",\"Description5\":\"Specifies the interest rate.\",\"Parameter6\":\"price\",\"Description6\":\"Specifies the price of the security per $100 face value.\",\"Parameter7\":\"basis\",\"Description7\":\"Specifies the optional day count value.\"},{\"Name\":\"FIND*1\",\"Definition\":\"Searches for a specific substring of characters within a character string.\",\"Parameter1\":\"string\",\"Description1\":\"Specifies a character constant, variable, or expression that will be searched for substrings. Enclose a literal string of characters in quotation marks.\",\"Parameter2\":\"substring&lt;\",\"Description2\":\"Is a character constant, variable, or expression that specifies the substring of characters to search for in string. Enclose a literal string of characters in quotation marks.\",\"Parameter3\":\"modifiers&gt;&lt;\",\"Description3\":\"Is a character constant, variable, or expression that specifies one or more modifiers. The following modifiers can be in uppercase or lowercase: i (ignore character case), t (trim trailing blanks from string and substring).\",\"Parameter4\":\"startpos&gt;\",\"Description4\":\"Is a numeric constant, variable, or expression with an integer value that specifies the position at which the search should start and the direction of the search.\"},{\"Name\":\"FIND*2\",\"Definition\":\"Searches for a specific substring of characters within a character string.\",\"Parameter1\":\"string\",\"Description1\":\"Specifies a character constant, variable, or expression that will be searched for substrings. Enclose a literal string of characters in quotation marks.\",\"Parameter2\":\"substring&lt;\",\"Description2\":\"Is a character constant, variable, or expression that specifies the substring of characters to search for in string. Enclose a literal string of characters in quotation marks.\",\"Parameter3\":\"startpos&gt;&lt;\",\"Description3\":\"Is a numeric constant, variable, or expression with an integer value that specifies the position at which the search should start and the direction of the search.\",\"Parameter4\":\"modifiers&gt;\",\"Description4\":\"Is a character constant, variable, or expression that specifies one or more modifiers. The following modifiers can be in uppercase or lowercase: i (ignore character case), t (trim trailing blanks from string and substring).\"},{\"Name\":\"FINDC*1\",\"Definition\":\"Searches a string for any character in a list of characters.\",\"Parameter1\":\"string&lt;\",\"Description1\":\"Is a character constant, variable, or expression that specifies the character string to be searched. Enclose a literal string of characters in quotation marks.\",\"Parameter2\":\"charlist&gt;\",\"Description2\":\"Is an optional constant, variable, or character expression that initializes a list of characters. FINDC searches for the characters in this list provided that you do not specify the K modifier in the modifier argument.\"},{\"Name\":\"FINDC*2\",\"Definition\":\"Searches a string for any character in a list of characters.\",\"Parameter1\":\"string\",\"Description1\":\"Is a character constant, variable, or expression that specifies the character string to be searched. Enclose a literal string of characters in quotation marks.\",\"Parameter2\":\"charlist&lt;\",\"Description2\":\"Is an optional constant, variable, or character expression that initializes a list of characters. FINDC searches for the characters in this list provided that you do not specify the K modifier in the modifier argument.\",\"Parameter3\":\"modifier(s)&gt;\",\"Description3\":\"Is an optional character constant, variable, or expression in which each character modifies the action of the FINDC function. Refer to SAS documentation for list of valid modifiers.\"},{\"Name\":\"FINDC*3\",\"Definition\":\"Searches a string for any character in a list of characters.\",\"Parameter1\":\"string\",\"Description1\":\"Is a character constant, variable, or expression that specifies the character string to be searched. Enclose a literal string of characters in quotation marks.\",\"Parameter2\":\"charlist\",\"Description2\":\"Is an optional constant, variable, or character expression that initializes a list of characters. FINDC searches for the characters in this list provided that you do not specify the K modifier in the modifier argument.\",\"Parameter3\":\"modifier(s)&lt;\",\"Description3\":\"Is an optional character constant, variable, or expression in which each character modifies the action of the FINDC function. Refer to SAS documentation for list of valid modifiers.\",\"Parameter4\":\"startpos&gt;\",\"Description4\":\"Is an optional numeric constant, variable, or expression having an integer value that specifies the position at which the search should start and the direction in which to search.\"},{\"Name\":\"FINDC*4\",\"Definition\":\"Searches a string for any character in a list of characters.\",\"Parameter1\":\"string\",\"Description1\":\"Is a character constant, variable, or expression that specifies the character string to be searched. Enclose a literal string of characters in quotation marks.\",\"Parameter2\":\"charlist\",\"Description2\":\"Is an optional constant, variable, or character expression that initializes a list of characters. FINDC searches for the characters in this list provided that you do not specify the K modifier in the modifier argument.\",\"Parameter3\":\"&lt;startpos&gt;\",\"Description3\":\"Is an optional numeric constant, variable, or expression having an integer value that specifies the position at which the search should start and the direction in which to search.\",\"Parameter4\":\"modifier(s)&gt;\",\"Description4\":\"Is an optional character constant, variable, or expression in which each character modifies the action of the FINDC function. Refer to SAS documentation for list of valid modifiers.\"},{\"Name\":\"FINDW*1\",\"Definition\":\"Returns the character position of a word in a string, or returns the number of the word in a string.\",\"Parameter1\":\"string\",\"Description1\":\"Is a character constant, variable, or expression that specifies the character string to be searched.\",\"Parameter2\":\"word&lt;\",\"Description2\":\"Is a character constant, variable, or expression that specifies the word to be searched.\",\"Parameter3\":\"chars&gt;\",\"Description3\":\"Is an optional character constant, variable, or expression that initializes a list of characters. The characters in this list are the delimiters that separate words, provided that you do not specify the K modifier in the modifier argument.\"},{\"Name\":\"FINDW*2\",\"Definition\":\"Returns the character position of a word in a string, or returns the number of the word in a string.\",\"Parameter1\":\"string\",\"Description1\":\"Is a character constant, variable, or expression that specifies the character string to be searched.\",\"Parameter2\":\"word\",\"Description2\":\"Is a character constant, variable, or expression that specifies the word to be searched.\",\"Parameter3\":\"chars\",\"Description3\":\"Is an optional character constant, variable, or expression that initializes a list of characters. The characters in this list are the delimiters that separate words, provided that you do not specify the K modifier in the modifier argument.\",\"Parameter4\":\"modifier(s)&lt;\",\"Description4\":\"Specifies a character constant, variable, or expression in which each non-blank character modifies the action of the FINDW function. Refer to SAS documentation for list of valid modifiers.\",\"Parameter5\":\"startpos&gt;\",\"Description5\":\"Is an optional numeric constant, variable, or expression with an integer value that specifies the position at which the search should begin and the direction in which to search.\"},{\"Name\":\"FINDW*3\",\"Definition\":\"Returns the character position of a word in a string, or returns the number of the word in a string.\",\"Parameter1\":\"string\",\"Description1\":\"Is a character constant, variable, or expression that specifies the character string to be searched.\",\"Parameter2\":\"word\",\"Description2\":\"Is a character constant, variable, or expression that specifies the word to be searched.\",\"Parameter3\":\"chars\",\"Description3\":\"Is an optional character constant, variable, or expression that initializes a list of characters. The characters in this list are the delimiters that separate words, provided that you do not specify the K modifier in the modifier argument.\",\"Parameter4\":\"startpos&lt;\",\"Description4\":\"Is an optional numeric constant, variable, or expression with an integer value that specifies the position at which the search should begin and the direction in which to search.\",\"Parameter5\":\"modifier(s)&gt;\",\"Description5\":\"Specifies a character constant, variable, or expression in which each non-blank character modifies the action of the FINDW function. Refer to SAS documentation for list of valid modifiers.\"},{\"Name\":\"FINDW*4\",\"Definition\":\"Returns the character position of a word in a string, or returns the number of the word in a string.\",\"Parameter1\":\"string\",\"Description1\":\"Is a character constant, variable, or expression that specifies the character string to be searched.\",\"Parameter2\":\"word\",\"Description2\":\"Is a character constant, variable, or expression that specifies the word to be searched.\",\"Parameter3\":\"startpos&lt;\",\"Description3\":\"Is an optional numeric constant, variable, or expression with an integer value that specifies the position at which the search should begin and the direction in which to search.\",\"Parameter4\":\"chars&lt;\",\"Description4\":\"Is an optional character constant, variable, or expression that initializes a list of characters. The characters in this list are the delimiters that separate words, provided that you do not specify the K modifier in the modifier argument.\",\"Parameter5\":\"modifier(s)&gt;&gt;\",\"Description5\":\"Specifies a character constant, variable, or expression in which each non-blank character modifies the action of the FINDW function. Refer to SAS documentation for list of valid modifiers.\"},{\"Name\":\"FINFO\",\"Definition\":\"Returns the value of a file information item.\",\"Parameter1\":\"file-id\",\"Description1\":\"Is a numeric constant, variable, or expression that specifies the identifier that was assigned when the file was opened, generally by the FOPEN function.\",\"Parameter2\":\"info-item\",\"Description2\":\"Is a character constant, variable, or expression that specifies the name of the file information item to be retrieved.\"},{\"Name\":\"FINV\",\"Definition\":\"Returns a quantile from the F distribution.\",\"Parameter1\":\"p\",\"Description1\":\"Is a numeric probability. Range: 0 \\u2264 p &lt; 1.\",\"Parameter2\":\"ndf\",\"Description2\":\"Is a numeric numerator degrees of freedom parameter. Range: ndf &gt; 0.\",\"Parameter3\":\"ddf&lt;\",\"Description3\":\"Is a numeric denominator degrees of freedom parameter. Range: ddf &gt; 0.\",\"Parameter4\":\"nc&gt;\",\"Description4\":\"Is an optional numeric noncentrality parameter. Range: nc \\u2265 0.\"},{\"Name\":\"FIPNAME\",\"Definition\":\"Converts two-digit FIPS codes to uppercase state names.\",\"Parameter1\":\"expression\",\"Description1\":\"Specifies a numeric constant, variable, or expression that represents a U.S. FIPS code.\"},{\"Name\":\"FIPNAMEL\",\"Definition\":\"Converts two-digit FIPS codes to mixed case state names.\",\"Parameter1\":\"expression\",\"Description1\":\"Specifies a numeric constant, variable, or expression that represents a U.S. FIPS code.\"},{\"Name\":\"FIPSTATE\",\"Definition\":\"Converts two-digit FIPS codes to two-character state postal codes.\",\"Parameter1\":\"expression\",\"Description1\":\"Specifies a numeric constant, variable, or expression that represents a U.S. FIPS code.\"},{\"Name\":\"FIRST\",\"Definition\":\"Returns the first character in a character string.\",\"Parameter1\":\"string\",\"Description1\":\"Specifies a character string.\"},{\"Name\":\"FLOOR\",\"Definition\":\"Returns the largest integer that is less than or equal to the argument, fuzzed to avoid unexpected floating-point results.\",\"Parameter1\":\"argument\",\"Description1\":\"Specifies a numeric constant, variable, or expression.\"},{\"Name\":\"FLOORZ\",\"Definition\":\"Returns the largest integer that is less than or equal to the argument, using zero fuzzing.\",\"Parameter1\":\"argument\",\"Description1\":\"Is a numeric constant, variable, or expression.\"},{\"Name\":\"FNONCT\",\"Definition\":\"Returns the value of the noncentrality parameter of an F distribution.\",\"Parameter1\":\"x\",\"Description1\":\"Is a numeric random variable. Range: x \\u2265 0.\",\"Parameter2\":\"ndf\",\"Description2\":\"Is a numeric numerator degree of freedom parameter. Range: ndf &gt; 0.\",\"Parameter3\":\"ddf\",\"Description3\":\"Is a numeric denominator degree of freedom parameter. Range: ddf &gt; 0.\",\"Parameter4\":\"prob\",\"Description4\":\"Is a probability. Range: 0 &lt; prob &lt; 1.\"},{\"Name\":\"FNOTE\",\"Definition\":\"Identifies the last record that was read, and returns a value that the FPOINT function can use.\",\"Parameter1\":\"file-id\",\"Description1\":\"Is a numeric constant, variable, or expression that specifies the identifier that was assigned when the file was opened, generally by the FOPEN function.\"},{\"Name\":\"FOPEN\",\"Definition\":\"Opens an external file and returns a file identifier value.\",\"Parameter1\":\"fileref&lt;\",\"Description1\":\"Is a character constant, variable, or expression that specifies the fileref assigned to the external file.\",\"Parameter2\":\"open-mode\",\"Description2\":\"Is a character constant, variable, or expression that specifies the type of access to the file: A (APPEND mode writes new records at end of file), I (INPUT mode allows reading only), O (OUTPUT mode allows writing new records at beginning of file), S (SEQUENTIAL input mode for pipes or ports), U (UPDATE mode allows both reading and writing).\",\"Parameter3\":\"record-length\",\"Description3\":\"Is a numeric constant, variable, or expression that specifies the logical record length of the file.\",\"Parameter4\":\"record-format\",\"Description4\":\"Is a character constant, variable, or expression that specifies the record format of the file. Valid values: B (binary), D (default format), E (editable), F(fixed-length records), P (contains printer carriage control), V (variable-length records).\"},{\"Name\":\"FOPTNAME\",\"Definition\":\"Returns the name of an item of information about a file.\",\"Parameter1\":\"file-id\",\"Description1\":\"Is a numeric variable that specifies the identifier that was assigned when the file was opened, generally by the FOPEN function.\",\"Parameter2\":\"nval\",\"Description2\":\"Is a numeric constant, variable, or expression that specifies the number of the information item.\"},{\"Name\":\"FOPTNUM\",\"Definition\":\"Returns the number of information items that are available for an external file.\",\"Parameter1\":\"file-id\",\"Description1\":\"Is a numeric variable that specifies the identifier that was assigned when the file was opened, generally by the FOPEN function.\"},{\"Name\":\"FPOINT\",\"Definition\":\"Positions the read pointer on the next record to be read.\",\"Parameter1\":\"file-id\",\"Description1\":\"Is a numeric variable that specifies the identifier that was assigned when the file was opened, generally by the FOPEN function.\",\"Parameter2\":\"note-id\",\"Description2\":\"Specifies the identifier that was assigned by the FNOTE function.\"},{\"Name\":\"FPOS\",\"Definition\":\"Sets the position of the column pointer in the File Data Buffer (FDB).\",\"Parameter1\":\"file-id\",\"Description1\":\"Is a numeric variable that specifies the identifier that was assigned when the file was opened, generally by the FOPEN function.\",\"Parameter2\":\"nval\",\"Description2\":\"Is a numeric constant, variable, or expression that specifies the column at which to set the pointer.\"},{\"Name\":\"FPUT\",\"Definition\":\"Moves data to the File Data Buffer (FDB) of an external file, starting at the FDB's current column position.\",\"Parameter1\":\"file-id\",\"Description1\":\"Is a numeric variable that specifies the identifier that was assigned when the file was opened, generally by the FOPEN function.\",\"Parameter2\":\"cval\",\"Description2\":\"Is a character constant, variable, or expression that specifies the file data.\"},{\"Name\":\"FREAD\",\"Definition\":\"Reads a record from an external file into the File Data Buffer (FDB).\",\"Parameter1\":\"file-id\",\"Description1\":\"Is a numeric variable that specifies the identifier that was assigned when the file was opened, generally by the FOPEN function.\"},{\"Name\":\"FREWIND\",\"Definition\":\"Positions the file pointer to the start of the file.\",\"Parameter1\":\"file-id\",\"Description1\":\"Is a numeric variable that specifies the identifier that was assigned when the file was opened, generally by the FOPEN function.\"},{\"Name\":\"FRLEN\",\"Definition\":\"Returns the size of the last record that was read, or, if the file is opened for output, returns the current record size.\",\"Parameter1\":\"file-id\",\"Description1\":\"Is a numeric variable that specifies the identifier that was assigned when the file was opened, generally by the FOPEN function.\"},{\"Name\":\"FSEP\",\"Definition\":\"Sets the token delimiters for the FGET function.\",\"Parameter1\":\"file-id\",\"Description1\":\"Is a numeric variable that specifies the identifier that was assigned when the file was opened, generally by the FOPEN function.\",\"Parameter2\":\"character(s)&lt;\",\"Description2\":\"Is a character constant, variable, or expression that specifies one or more delimiters that separate items in the File Data Buffer (FDB).\",\"Parameter3\":\"'x' | 'X'&gt;\",\"Description3\":\"Specifies that the character delimiter is a hexadecimal value.\"},{\"Name\":\"FUZZ\",\"Definition\":\"Returns the nearest integer if the argument is within 1E-12 of that integer.\",\"Parameter1\":\"argument\",\"Description1\":\"Specifies a numeric constant, variable, or expression.\"},{\"Name\":\"FWRITE\",\"Definition\":\"Writes a record to an external file.\",\"Parameter1\":\"file-id&lt;\",\"Description1\":\"Is a numeric variable that specifies the identifier that was assigned when the file was opened, generally by the FOPEN function.\",\"Parameter2\":\"cc&gt;\",\"Description2\":\"Is a character constant, variable, or expression that specifies a carriage-control character: blank (start record on a new line), 0 (skip one blank line), - (skip two blanks), 1 (start a new page), + (overstrike a previous line), P (computer prompt), = (contains carriage control info), all else (start a new line).\"},{\"Name\":\"GAMINV\",\"Definition\":\"Returns a quantile from the gamma distribution.\",\"Parameter1\":\"p\",\"Description1\":\"Is a numeric probability. Range: 0 \\u2264 p &lt; 1.\",\"Parameter2\":\"a\",\"Description2\":\"Is a numeric shape parameter. Range: a &gt; 0.\"},{\"Name\":\"GAMMA\",\"Definition\":\"Returns the value of the gamma function.\",\"Parameter1\":\"argument\",\"Description1\":\"Specifies a numeric constant, variable, or expression.\"},{\"Name\":\"GARKHCLPRC\",\"Definition\":\"Calculates call prices for European options on stocks, based on the Garman-Kohlhagen model.\",\"Parameter1\":\"E\",\"Description1\":\"Is a non-missing, positive value that specifies the exercise price. Specify E and S in the same units.\",\"Parameter2\":\"t\",\"Description2\":\"Is a non-missing value that specifies the time to maturity.\",\"Parameter3\":\"S\",\"Description3\":\"Is a non-missing, positive value that specifies the spot currency price. Specify S and E in the same units.\",\"Parameter4\":\"Rd\",\"Description4\":\"Is a non-missing, positive fraction that specifies the risk-free domestic interest rate for period t. Specify a value for Rd for the same time period as the unit of t.\",\"Parameter5\":\"Rf\",\"Description5\":\"Is a non-missing, positive fraction that specifies the risk-free foreign interest rate for period t. Specify a value for Rf for the same time period as the unit of t.\",\"Parameter6\":\"sigma\",\"Description6\":\"Is a non-missing, positive fraction that specifies the volatility of the currency rate. Specify a value for sigma for the same time period as the unit of t.\"},{\"Name\":\"GARKHPTPRC\",\"Definition\":\"Calculates put prices for European options on stocks, based on the Garman-Kohlhagen model.\",\"Parameter1\":\"E\",\"Description1\":\"Is a non-missing, positive value that specifies the exercise price. Specify E and S in the same units.\",\"Parameter2\":\"t\",\"Description2\":\"Is a non-missing value that specifies the time to maturity.\",\"Parameter3\":\"S\",\"Description3\":\"Is a non-missing, positive value that specifies the spot currency price. Specify S and E in the same units.\",\"Parameter4\":\"Rd\",\"Description4\":\"Is a non-missing, positive fraction that specifies the risk-free domestic interest rate for period t. Specify a value for Rd for the same time period as the unit of t.\",\"Parameter5\":\"Rf\",\"Description5\":\"Is a non-missing, positive fraction that specifies the risk-free foreign interest rate for period t. Specify a value for Rf for the same time period as the unit of t.\",\"Parameter6\":\"sigma\",\"Description6\":\"Is a non-missing, positive fraction that specifies the volatility of the currency rate. Specify a value for sigma for the same time period as the unit of t.\"},{\"Name\":\"GCD\",\"Definition\":\"Returns the greatest common divisor for one or more integers.\",\"Parameter1\":\"x1, x2, x3, ..., xn\",\"Description1\":\"Specifies a numeric constant, variable, or expression that has an integer value.\"},{\"Name\":\"GEODIST\",\"Definition\":\"Returns the geodetic distance between two latitude and longitude coordinates.\",\"Parameter1\":\"latitude-1\",\"Description1\":\"Is a numeric constant, variable, or expression that specifies the coordinate of a given position north or south of the equator.\",\"Parameter2\":\"longitude-1\",\"Description2\":\"Is a numeric constant, variable, or expression that specifies the coordinate of a given position east or west of the prime meridian, which runs through Greenwich, England.\",\"Parameter3\":\"latitude-2\",\"Description3\":\"Is a numeric constant, variable, or expression that specifies the coordinate of a given position north or south of the equator.\",\"Parameter4\":\"longitude-2&lt;\",\"Description4\":\"Is a numeric constant, variable, or expression that specifies the coordinate of a given position east or west of the prime meridian, which runs through Greenwich, England.\",\"Parameter5\":\"option(s)&gt;\",\"Description5\":\"Specifies a character constant, variable, or expression that contains any of the following characters: M (distance in miles), K (distance in kilometers), D (input values in degrees), R (input values in radians).\"},{\"Name\":\"GEOMEAN\",\"Definition\":\"Returns the geometric mean.\",\"Parameter1\":\"argument&lt;, argument, ...&gt;\",\"Description1\":\"Is a non-negative numeric constant, variable, or expression. The argument list can consist of a variable list, which is preceded by OF\"},{\"Name\":\"GEOMEANZ\",\"Definition\":\"Returns the geometric mean, using zero fuzzing.\",\"Parameter1\":\"argument&lt;, argument, ...&gt;\",\"Description1\":\"Is a non-negative numeric constant, variable, or expression. The argument list can consist of a variable list, which is preceded by OF\"},{\"Name\":\"GETOPTION\",\"Definition\":\"Returns the value of a SAS system or graphics option.\",\"Parameter1\":\"option-name&lt;\",\"Description1\":\"Is a character constant, variable, or expression that specifies the name of the system option (without the equal sign).\\n    \\nTips: Do not put an equal sign after the name. For example, write PAGESIZE= as PAGESIZE. \\n\\nSAS options that are passwords, such as EMAILPW and METAPASS, return the value xxxxxxxx, \\nand not the actual password.\",\"Parameter2\":\"return-value-option&gt;&lt;return-value-formatting-options&gt;\",\"Description2\":\"Return Value Options:\\nDEFAULTVALUE\\n  returns the default option value.\\nHOWSCOPE\\n  returns a character string that specifies the scope of an option.\\nHOWSET\\n  returns a character string that specifies how an option value was set.\\nSTARTUPVALUE\\n  returns the system option value that was used to start SAS either on the command line or in a configuration file.\\n\\nReturn Value Formatting Options:\\nCM\\n  reports graphic units of measure in centimeters.\\nEXPAND\\n  for options that contain environment variables, returns the option value with the value of the environment variable.\\nKEYEXPAND\\n  for options that contain environment variables, returns the value in the format option-name=value.\\nKEYWORD\\n  returns option values in a option-name=value format that would be suitable for direct use in the SAS OPTIONS or GOPTIONS global statements.\\nHEXVALUE\\n  returns the option value as a hexadecimal value.\\nIN\\n  reports graphic units of measure in inches.\\nLOGNUMBERFORMAT\\n  formats SAS system option values using locale-specific punctuation.\\n    \"},{\"Name\":\"GETVARC\",\"Definition\":\"Returns the value of a SAS data set character variable.\",\"Parameter1\":\"data-set-id\",\"Description1\":\"Is a numeric constant, variable, or expression that specifies the data set identifier that the OPEN function returns.\",\"Parameter2\":\"var-num\",\"Description2\":\"Is a numeric constant, variable, or expression that specifies the number of the variable in the Data Set Data Vector (DDV). You can obtain this value by using the VARNUM function.\"},{\"Name\":\"GETVARN\",\"Definition\":\"Returns the value of a SAS data set numeric variable.\",\"Parameter1\":\"data-set-id\",\"Description1\":\"Is a numeric constant, variable, or expression that specifies the data set identifier that the OPEN function returns.\",\"Parameter2\":\"var-num\",\"Description2\":\"Is a numeric constant, variable, or expression that specifies the number of the variable in the Data Set Data Vector (DDV). You can obtain this value by using the VARNUM function.\"},{\"Name\":\"HARMEAN\",\"Definition\":\"Returns the harmonic mean.\",\"Parameter1\":\"argument&lt;, argument, ...&gt;\",\"Description1\":\"Is a non-negative numeric constant, variable, or expression. The argument list can consist of a variable list, which is preceded by OF\"},{\"Name\":\"HARMEANZ\",\"Definition\":\"Returns the harmonic mean, using zero fuzzing.\",\"Parameter1\":\"argument&lt;, argument, ...&gt;\",\"Description1\":\"Is a non-negative numeric constant, variable, or expression. The argument list can consist of a variable list, which is preceded by OF\"},{\"Name\":\"HBOUND*1\",\"Definition\":\"Returns the upper bound of an array. n is an optional integer constant that specifies the dimension for which you want to know the upper bound. If no n value is specified, the HBOUND function returns the upper bound of the first dimension of the array.\",\"Parameter1\":\"array-name\",\"Description1\":\"Is the name of an array that was defined previously in the same DATA step.\"},{\"Name\":\"HBOUND*2\",\"Definition\":\"Returns the upper bound of an array. n is an optional integer constant that specifies the dimension for which you want to know the upper bound. If no n value is specified, the HBOUND function returns the upper bound of the first dimension of the array.\",\"Parameter1\":\"array-name\",\"Description1\":\"Is the name of an array that was defined previously in the same DATA step.\",\"Parameter2\":\"bound-n\",\"Description2\":\"Is a numeric constant, variable, or expression that specifies the dimension for which you want to know the upper bound. Use bound-n only if n is not specified.\"},{\"Name\":\"HMS\",\"Definition\":\"Returns a SAS time value from hour, minute, and second values.\",\"Parameter1\":\"hour\",\"Description1\":\"Is numeric.\",\"Parameter2\":\"minute\",\"Description2\":\"Is numeric.\",\"Parameter3\":\"second\",\"Description3\":\"Is numeric.\"},{\"Name\":\"HOLIDAY\",\"Definition\":\"Returns a SAS date value of a specified holiday for a specified year.\",\"Parameter1\":\"'holiday'\",\"Description1\":\"Is a character constant, variable, or expression that specifies one of the holiday values recognized by SAS (refer to SAS documentation for the list).\",\"Parameter2\":\"year\",\"Description2\":\"Is a numeric constant, variable, or expression that specifies a four-digit year. If you use a two-digit year, then you must specify the YEARCUTOFF= system option.\"},{\"Name\":\"HOUR\",\"Definition\":\"Returns the hour from a SAS time or datetime value.\",\"Parameter1\":\"&lt;time | datetime&gt;\",\"Description1\":\"Is a numeric constant, variable, or expression that specifies a SAS time or datetime value.\"},{\"Name\":\"HTMLDECODE\",\"Definition\":\"Decodes a string that contains HTML numeric character references or HTML character entity references, and returns the decoded string.\",\"Parameter1\":\"expression\",\"Description1\":\"Specifies a character constant, variable, or expression.\"},{\"Name\":\"HTMLENCODE\",\"Definition\":\"Encodes characters using HTML character entity references, and returns the encoded string.\",\"Parameter1\":\"expression&lt;\",\"Description1\":\"Specifies a character constant, variable, or expression.\",\"Parameter2\":\"options&gt;\",\"Description2\":\"Is a character constant, variable, or expression that specifies the type of characters to encode. If you use more than one option, separate the options by spaces (eg. 'amp gt lt apos quot').\"},{\"Name\":\"IBESSEL\",\"Definition\":\"Returns the value of the modified Bessel function.\",\"Parameter1\":\"nu\",\"Description1\":\"Specifies a numeric constant, variable, or expression. Range: V \\u2265 0.\",\"Parameter2\":\"x\",\"Description2\":\"Specifies a numeric constant, variable, or expression. Range: x \\u2265 0.\",\"Parameter3\":\"kode\",\"Description3\":\"Is a numeric constant, variable, or expression that specifies a nonnegative integer.\"},{\"Name\":\"IFC\",\"Definition\":\"Returns a character value based on whether an expression is true, false, or missing.\",\"Parameter1\":\"logical-expression\",\"Description1\":\"Specifies a numeric constant, variable, or expression.\",\"Parameter2\":\"value-returned-when-true\",\"Description2\":\"Specifies a character constant, variable, or expression that is returned when the value of logical-expression is true.\",\"Parameter3\":\"value-returned-when-false&lt;\",\"Description3\":\"Specifies a character constant, variable, or expression that is returned when the value of logical-expression is false.\",\"Parameter4\":\"value-returned-when-missing&gt;\",\"Description4\":\"Specifies a character constant, variable, or expression that is returned when the value of logical-expression is missing.\"},{\"Name\":\"IFN\",\"Definition\":\"Returns a numeric value based on whether an expression is true, false, or missing.\",\"Parameter1\":\"logical-expression\",\"Description1\":\"Specifies a numeric constant, variable, or expression.\",\"Parameter2\":\"value-returned-when-true\",\"Description2\":\"Specifies a numeric constant, variable, or expression that is returned when the value of logical-expression is true.\",\"Parameter3\":\"value-returned-when-false&lt;\",\"Description3\":\"Specifies a numeric constant, variable, or expression that is returned when the value of logical-expression is false.\",\"Parameter4\":\"value-returned-when-missing&gt;\",\"Description4\":\"Specifies a numeric constant, variable or expression that is returned when the value of logical-expression is missing.\"},{\"Name\":\"INDEX\",\"Definition\":\"Searches a character expression for a string of characters, and returns the position of the string's first character for the first occurrence of the string.\",\"Parameter1\":\"source\",\"Description1\":\"Specifies a character constant, variable, or expression to search.\",\"Parameter2\":\"excerpt\",\"Description2\":\"Is a character constant, variable, or expression that specifies the string of characters to search for in source. Enclose a literal string of characters in quotation marks.\"},{\"Name\":\"INDEXC\",\"Definition\":\"Searches a character expression for any of the specified characters, and returns the position of that character.\",\"Parameter1\":\"source\",\"Description1\":\"Specifies a character constant, variable, or expression to search.\",\"Parameter2\":\"excerpt-1&lt;, ... excerpt-n&gt;\",\"Description2\":\"Specifies the character constant, variable, or expression to search for in source. If you specify more than one excerpt, separate them with a comma.\"},{\"Name\":\"INDEXW\",\"Definition\":\"Searches a character expression for a string that is specified as a word, and returns the position of the first character in the word.\",\"Parameter1\":\"source\",\"Description1\":\"Specifies a character constant, variable, or expression to search.\",\"Parameter2\":\"excerpt&lt;\",\"Description2\":\"Specifies a character constant, variable, or expression to search for in source. SAS removes leading and trailing delimiters from excerpt.\",\"Parameter3\":\"delimiter(s)&gt;\",\"Description3\":\"Specifies a character constant, variable, or expression containing the characters that you want INDEXW to use as delimiters in the character string. The default delimiter is the blank character.\"},{\"Name\":\"INPUT\",\"Definition\":\"Returns the value that is produced when SAS converts an expression using the specified informat.\",\"Parameter1\":\"source\",\"Description1\":\"Specifies a character constant, variable, or expression to which you want to apply a specific informat.\",\"Parameter2\":\"&lt;? | ??&gt;informat.\",\"Description2\":\"The SAS informat you want to apply to the source. The optional ? and ?? modifiers suppress error messages and input lines when invalid data are read.\"},{\"Name\":\"INPUTC\",\"Definition\":\"Enables you to specify a character informat at run time.\",\"Parameter1\":\"source\",\"Description1\":\"Specifies a character constant, variable, or expression to which you want to apply the informat.\",\"Parameter2\":\"informat&lt;\",\"Description2\":\"Is a character constant, variable, or expression that contains the character informat you want to apply to source.\",\"Parameter3\":\"w&gt;\",\"Description3\":\"Is a numeric constant, variable, or expression that specifies a width to apply to the informat.\"},{\"Name\":\"INPUTN\",\"Definition\":\"Enables you to specify a numeric informat at run time.\",\"Parameter1\":\"source\",\"Description1\":\"Specifies a character constant, variable, or expression to which you want to apply the informat.\",\"Parameter2\":\"informat&lt;\",\"Description2\":\"Is a character constant, variable or expression that contains the numeric informat you want to apply to source.\",\"Parameter3\":\"w&lt;\",\"Description3\":\"Is a numeric constant, variable, or expression that specifies a width to apply to the informat.\",\"Parameter4\":\"d&gt;&gt;\",\"Description4\":\"Is a numeric constant, variable, or expression that specifies the number of decimal places to use.\"},{\"Name\":\"INT\",\"Definition\":\"Returns the integer value, fuzzed to avoid unexpected floating-point results.\",\"Parameter1\":\"argument\",\"Description1\":\"Specifies a numeric constant, variable, or expression.\"},{\"Name\":\"INTCINDEX\",\"Definition\":\"Returns the cycle index when a date, time, or datetime interval and value are specified.\",\"Parameter1\":\"interval&lt;&lt;multiple.&lt;shift-index&gt;&gt;&gt;\",\"Description1\":\"A three-part interval name (WEEK3.2, MONTH2.2, YEAR2.4, or QTR). For example, the interval name MONTH2.2 specifies bimonthly periods starting on the first day of even-numbered months.\",\"Parameter2\":\"date-time-value\",\"Description2\":\"Specifies a date, time, or datetime value that represents a time period of a specified interval.\"},{\"Name\":\"INTCK\",\"Definition\":\"Returns the count of the number of interval boundaries between two dates, two times, or two datetime values.\",\"Parameter1\":\"interval&lt;multiple&gt;&lt;.shift-index&gt;\",\"Description1\":\"A three-part interval name (WEEK3.2, MONTH2.2, YEAR2.4, or QTR.3). For example, the interval name MONTH2.2 specifies bimonthly periods starting on the first day of even-numbered months.\",\"Parameter2\":\"from\",\"Description2\":\"Specifies a SAS expression that represents the starting SAS date, time, or datetime value.\",\"Parameter3\":\"to\",\"Description3\":\"Specifies a SAS expression that represents the ending SAS date, time, or datetime value.\"},{\"Name\":\"INTCYCLE\",\"Definition\":\"Returns the date, time, or datetime interval at the next higher seasonal cycle when a date, time, or datetime interval is specified.\",\"Parameter1\":\"interval&lt;&lt;multiple.&lt;shift-index&gt;&gt;&gt;\",\"Description1\":\"A three-part interval name (WEEK3.2, MONTH2.2, YEAR2.4, or QTR.3). For example, the interval name MONTH2.2 specifies bimonthly periods starting on the first day of even-numbered months.\"},{\"Name\":\"INTFIT\",\"Definition\":\"Returns a time interval that is aligned between two dates.\",\"Parameter1\":\"argument-1\",\"Description1\":\"Specifies a SAS expression that represents a SAS date or datetime value, or an observation.\",\"Parameter2\":\"argument-2\",\"Description2\":\"Specifies a SAS expression that represents a SAS date or datetime value, or an observation.\",\"Parameter3\":\"'type'\",\"Description3\":\"Specifies whether the arguments are SAS date values, datetime values, or observations. Valid values: d (date), dt (datetime), obs (observations).\"},{\"Name\":\"INTFMT\",\"Definition\":\"Returns a recommended SAS format when a date, time, or datetime interval is specified.\",\"Parameter1\":\"interval&lt;&lt;multiple.&lt;shift-index&gt;&gt;&gt;\",\"Description1\":\"A three-part interval name (WEEK3.2, MONTH2.2, YEAR2.4, or QTR.3). For example, the interval name MONTH2.2 specifies bimonthly periods starting on the first day of even-numbered months.\",\"Parameter2\":\"'size'\",\"Description2\":\"Specifies either LONG or SHORT. When a format includes a year value, LONG or L specifies a format that uses a four-digit year. SHORT or S specifies a format that uses a two-digit year.\"},{\"Name\":\"INTGET\",\"Definition\":\"Returns a time interval based on three date or datetime values.\",\"Parameter1\":\"date-1\",\"Description1\":\"Specifies a SAS date or datetime value.\",\"Parameter2\":\"date-2\",\"Description2\":\"Specifies a SAS date or datetime value.\",\"Parameter3\":\"date-3\",\"Description3\":\"Specifies a SAS date or datetime value.\"},{\"Name\":\"INTINDEX\",\"Definition\":\"Returns the seasonal index when a date, time, or datetime interval and value are specified.\",\"Parameter1\":\"interval&lt;&lt;multiple.&lt;shift-index&gt;&gt;&gt;\",\"Description1\":\"A three-part interval name (WEEK3.2, MONTH2.2, YEAR2.4, or QTR.3). For example, the interval name MONTH2.2 specifies bimonthly periods starting on the first day of even-numbered months.\",\"Parameter2\":\"date-value\",\"Description2\":\"Specifies a date, time, or datetime value that represents a time period of the given interval.\"},{\"Name\":\"INTNX\",\"Definition\":\"Increments a date, time, or datetime value by a given time interval, and returns a date, time, or datetime value.\",\"Parameter1\":\"interval&lt;multiple&gt;&lt;.shift-index&gt;\",\"Description1\":\"A three-part interval name (WEEK3.2, MONTH2.2, YEAR2.4, or QTR.3). For example, the interval name MONTH2.2 specifies bimonthly periods starting on the first day of even-numbered months.\",\"Parameter2\":\"start-from\",\"Description2\":\"Specifies a SAS expression that represents a SAS date, time, or datetime value that identifies a starting point.\",\"Parameter3\":\"increment&lt;\",\"Description3\":\"Specifies a negative, positive, or zero integer that represents the number of date, time, or datetime intervals. Increment is the number of intervals to shift the value of start-from.\",\"Parameter4\":\"alignment&gt;\",\"Description4\":\"Controls the position of SAS dates within the interval. Alignment can be one of these values: BEGINNING|B, MIDDLE|M, END|E, SAME (as the input date).\"},{\"Name\":\"INTRR\",\"Definition\":\"Returns the internal rate of return as a fraction.\",\"Parameter1\":\"freq\",\"Description1\":\"Is numeric, the number of payments over a specified base period of time that is associated with the desired internal rate of return. Range: freq &gt; 0.\",\"Parameter2\":\"c0, c1, ..., cn\",\"Description2\":\"Are numeric, the optional cash payments.\"},{\"Name\":\"INTSEAS\",\"Definition\":\"Returns the length of the seasonal cycle when a date, time, or datetime interval is specified.\",\"Parameter1\":\"interval&lt;&lt;multiple.&lt;shift-index&gt;&gt;&gt;\",\"Description1\":\"A three-part interval name (WEEK3.2, MONTH2.2, YEAR2.4, or QTR.3). For example, the interval name MONTH2.2 specifies bimonthly periods starting on the first day of even-numbered months.\"},{\"Name\":\"INTSHIFT\",\"Definition\":\"Returns the shift interval that corresponds to the base interval.\",\"Parameter1\":\"interval&lt;&lt;multiple.&lt;shift-index&gt;&gt;&gt;\",\"Description1\":\"A three-part interval name (WEEK3.2, MONTH2.2, YEAR2.4, or QTR.3). For example, the interval name MONTH2.2 specifies bimonthly periods starting on the first day of even-numbered months.\"},{\"Name\":\"INTTEST\",\"Definition\":\"Returns 1 if a time interval is valid, and returns 0 if a time interval is invalid.\",\"Parameter1\":\"interval&lt;&lt;multiple.&lt;shift-index&gt;&gt;&gt;\",\"Description1\":\"A three-part interval name (WEEK3.2, MONTH2.2, YEAR2.4, or QTR.3). For example, the interval name MONTH2.2 specifies bimonthly periods starting on the first day of even-numbered months.\"},{\"Name\":\"INTZ\",\"Definition\":\"Returns the integer portion of the argument, using zero fuzzing.\",\"Parameter1\":\"argument\",\"Description1\":\"Is a numeric constant, variable, or expression.\"},{\"Name\":\"IQR\",\"Definition\":\"Returns the interquartile range.\",\"Parameter1\":\"value-1&lt;, value-2...&gt;\",\"Description1\":\"Specifies a numeric constant, variable, or expression for which the interquartile range is to be computed.\"},{\"Name\":\"IORCMSG\",\"Definition\":\"Returns a formatted error message for _IORC_.\"},{\"Name\":\"IRR\",\"Definition\":\"Returns the internal rate of return as a percentage.\",\"Parameter1\":\"freq\",\"Description1\":\"Is numeric, the number of payments over a specified base period of time that is associated with the desired internal rate of return.\",\"Parameter2\":\"c0,c1, ...,cn\",\"Description2\":\"Are numeric, the optional cash payments.\"},{\"Name\":\"JBESSEL\",\"Definition\":\"Returns the value of the Bessel function.\",\"Parameter1\":\"nu\",\"Description1\":\"Specifies a numeric constant, variable, or expression. Range: V &gt; 0.\",\"Parameter2\":\"x\",\"Description2\":\"Specifies a numeric constant, variable, or expression. Range: x &gt; 0.\"},{\"Name\":\"JULDATE\",\"Definition\":\"Returns the Julian date from a SAS date value.\",\"Parameter1\":\"date\",\"Description1\":\"Specifies a SAS date value.\"},{\"Name\":\"JULDATE7\",\"Definition\":\"Returns a seven-digit Julian date from a SAS date value.\",\"Parameter1\":\"date\",\"Description1\":\"Specifies a SAS date value.\"},{\"Name\":\"KURTOSIS\",\"Definition\":\"Returns the kurtosis.\",\"Parameter1\":\"argument-1\",\"Description1\":\"Specifies a numeric constant, variable, or expression. At least four non-missing arguments are required.\",\"Parameter2\":\"argument-2\",\"Description2\":\"Specifies a numeric constant, variable, or expression. At least four non-missing arguments are required.\",\"Parameter3\":\"argument-3\",\"Description3\":\"Specifies a numeric constant, variable, or expression. At least four non-missing arguments are required.\",\"Parameter4\":\"argument-4&lt;\",\"Description4\":\"Specifies a numeric constant, variable, or expression. At least four non-missing arguments are required.\",\"Parameter5\":\"argument-n&gt;\",\"Description5\":\"Specifies a numeric constant, variable, or expression. At least four non-missing arguments are required.\"},{\"Name\":\"LAG\",\"Definition\":\"Returns values from a queue. n specifies the number of lagged values.\",\"Parameter1\":\"argument\",\"Description1\":\"Specifies a numeric or character constant, variable, or expression.\"},{\"Name\":\"LARGEST\",\"Definition\":\"Returns the kth largest non-missing value.\",\"Parameter1\":\"k\",\"Description1\":\"Is a numeric constant, variable, or expression that specifies which value to return.\",\"Parameter2\":\"value-1&lt;, value-2 ...&gt;\",\"Description2\":\"Specifies the value of a numeric constant, variable, or expression to be processed.\"},{\"Name\":\"LBOUND*1\",\"Definition\":\"Returns the lower bound of an array. n is an optional integer constant that specifies the dimension for which you want to know the lower bound. If no n value is specified, the LBOUND function returns the lower bound of the first dimension of the array.\",\"Parameter1\":\"array-name\",\"Description1\":\"Is the name of an array that was defined previously in the same DATA step.\"},{\"Name\":\"LBOUND*2\",\"Definition\":\"Returns the lower bound of an array. n is an optional integer constant that specifies the dimension for which you want to know the lower bound. If no n value is specified, the LBOUND function returns the lower bound of the first dimension of the array.\",\"Parameter1\":\"array-name\",\"Description1\":\"Is the name of an array that was defined previously in the same DATA step.\",\"Parameter2\":\"bound-n\",\"Description2\":\"Is a numeric constant, variable, or expression that specifies the dimension for which you want to know the upper bound. Use bound-n only if n is not specified.\"},{\"Name\":\"LCM\",\"Definition\":\"Returns the least common multiple.\",\"Parameter1\":\"x1, x2, x3, ..., xn\",\"Description1\":\"Specifies a numeric constant, variable, or expression that has an integer value.\"},{\"Name\":\"LCOMB\",\"Definition\":\"Computes the logarithm of the COMB function; that is, the logarithm of the number of combinations of n objects taken r at a time.\",\"Parameter1\":\"n\",\"Description1\":\"Is a non-negative integer that represents the total number of elements from which the sample is chosen.\",\"Parameter2\":\"r\",\"Description2\":\"Is a non-negative integer that represents the number of chosen elements. Restriction: r \\u2264 n.\"},{\"Name\":\"LEFT\",\"Definition\":\"Left-aligns a character string by removing leading blanks.\",\"Parameter1\":\"argument\",\"Description1\":\"Specifies a character constant, variable, or expression.\"},{\"Name\":\"QLEFT\",\"Definition\":\"Left-aligns a character string by removing leading blanks.\",\"Parameter1\":\"argument\",\"Description1\":\"Specifies a character constant, variable, or expression that might contain the following special characters and mnemonic operators: .\"},{\"Name\":\"LENGTH\",\"Definition\":\"Returns the length of a non-blank character string, excluding trailing blanks, and returns 1 for a blank character string.\",\"Parameter1\":\"string\",\"Description1\":\"Specifies a character constant, variable, or expression.\"},{\"Name\":\"LENGTHC\",\"Definition\":\"Returns the length of a character string, including trailing blanks.\",\"Parameter1\":\"string\",\"Description1\":\"Specifies a character constant, variable, or expression.\"},{\"Name\":\"LENGTHM\",\"Definition\":\"Returns the amount of memory (in bytes) that is allocated for a character string.\",\"Parameter1\":\"string\",\"Description1\":\"Specifies a character constant, variable, or expression.\"},{\"Name\":\"LENGTHN\",\"Definition\":\"Returns the length of a character string, excluding trailing blanks.\",\"Parameter1\":\"string\",\"Description1\":\"Specifies a character constant, variable, or expression.\"},{\"Name\":\"LFACT\",\"Definition\":\"Computes the logarithm of the FACT (factorial) function.\",\"Parameter1\":\"n\",\"Description1\":\"Is an integer that represents the total number of elements from which the sample is chosen.\"},{\"Name\":\"LGAMMA\",\"Definition\":\"Returns the natural logarithm of the Gamma function.\",\"Parameter1\":\"argument\",\"Description1\":\"Specifies a numeric constant, variable, or expression. Range: must be positive.\"},{\"Name\":\"LIBNAME\",\"Definition\":\"Assigns or deassigns a libref for a SAS library.\",\"Parameter1\":\"&lt;libref&gt;&lt;\",\"Description1\":\"Is a character constant, variable, or expression that specifies the libref that is assigned to a SAS library. The maximum length of libref is eight characters.\",\"Parameter2\":\"SAS-library&lt;\",\"Description2\":\"Is a character constant, variable, or expression that specifies the physical name of the SAS library that is associated with the libref. is a character constant, variable, or expression that specifies one or more valid options for the specified engine, delimited with blanks. This argument can be null.\",\"Parameter3\":\"engine&lt;\",\"Description3\":\"Is a character constant, variable, or expression that specifies the engine that is used to access SAS files opened in the data library. is a character constant, variable, or expression that specifies one or more valid options for the specified engine, delimited with blanks. This argument can be null.\",\"Parameter4\":\"options&gt;&gt;&gt;\",\"Description4\":\"Is a character constant, variable, or expression that specifies one or more valid options for the specified engine, delimited with blanks. This argument can be null.\"},{\"Name\":\"LIBREF\",\"Definition\":\"Verifies that a libref has been assigned.\",\"Parameter1\":\"libref\",\"Description1\":\"Specifies the libref to be verified.\"},{\"Name\":\"LOG\",\"Definition\":\"Returns the natural (base e) logarithm.\",\"Parameter1\":\"argument\",\"Description1\":\"Specifies a numeric constant, variable, or expression. Range: must be positive.\"},{\"Name\":\"LOG1PX\",\"Definition\":\"Returns the log of 1 plus the argument.\",\"Parameter1\":\"x\",\"Description1\":\"Specifies a numeric variable, constant, or expression.\"},{\"Name\":\"LOG10\",\"Definition\":\"Returns the logarithm to the base 10.\",\"Parameter1\":\"argument\",\"Description1\":\"Specifies a numeric constant, variable, or expression. Range: must be positive.\"},{\"Name\":\"LOG2\",\"Definition\":\"Returns the logarithm to the base 2.\",\"Parameter1\":\"argument\",\"Description1\":\"Specifies a numeric constant, variable, or expression. Range: must be positive.\"},{\"Name\":\"LOGBETA\",\"Definition\":\"Returns the logarithm of the beta function.\",\"Parameter1\":\"a\",\"Description1\":\"Is the first shape parameter, where a &gt; 0.\",\"Parameter2\":\"b\",\"Description2\":\"Is the second shape parameter, where b &gt; 0.\"},{\"Name\":\"LOGCDF\",\"Definition\":\"Returns the logarithm of a left cumulative distribution function.\",\"Parameter1\":\"'distribution'\",\"Description1\":\"Is a character constant, variable, or expression that identifies the distribution. Valid distributions are as follows:\\n\\n      Bernoulli distribution: 'BERNOULLI'\\n      Beta distribution: 'BETA'\\n      Binomial distribution: 'BINOMIAL'\\n      Cauchy distribution: 'CAUCHY'\\n      Chi-Square distribution: 'CHISQUARE'\\n      Conway-Maxwell-Poisson distribution: 'CMP'\\n      Exponential distribution: 'EXPONENTIAL'\\n      F distribution: 'F'\\n      Gamma distribution: 'GAMMA'\\n      Generalized Poisson distribution: 'GENPOISSON'\\n      Geometric distribution: 'GEOMETRIC'\\n      Hypergeometric distribution: 'HYPERGEOMETRIC'\\n      Laplace distribution: 'LAPLACE'\\n      Logistic distribution: 'LOGISTIC'\\n      Lognormal'LOGNORMAL'\\n      Negative binomial distribution: 'NEGBINOMIAL'\\n      Normal distribution: 'NORMAL'|'GAUSS'\\n      Normal mixture distribution: 'NORMALMIX'\\n      Pareto distribution: 'PARETO'\\n      Poisson distribution: 'POISSON'\\n      T distribution: 'T'\\n      Tweedie distribution: 'TWEEDIE').\\n      Uniform distribution: 'UNIFORM'\\n      Wald (inverse Gaussian) distribution: 'WALD'|'IGAUSS'\\n      Weibull distribution: 'WEIBULL'\\n\\nExcept for T, F, and NORMALMIX, you can minimally identify any distribution by its first four characters.\",\"Parameter2\":\"quantile&lt;\",\"Description2\":\"Is a numeric variable, constant, or expression that specifies the value of a random variable.\",\"Parameter3\":\"parm-1, ...,parm-k&gt;\",\"Description3\":\"Are optional shape, location, or scale parameters appropriate for the specific distribution.\"},{\"Name\":\"LOGPDF\",\"Definition\":\"Returns the logarithm of a probability density (mass) function.\",\"Parameter1\":\"'distribution'\",\"Description1\":\"Is a character constant, variable, or expression that identifies the distribution. Valid distributions are as follows:\\n\\n      Bernoulli distribution: 'BERNOULLI'\\n      Beta distribution: 'BETA'\\n      Binomial distribution: 'BINOMIAL'\\n      Cauchy distribution: 'CAUCHY'\\n      Chi-Square distribution: 'CHISQUARE'\\n      Conway-Maxwell-Poisson distribution: 'CMP'\\n      Exponential distribution: 'EXPONENTIAL'\\n      F distribution: 'F'\\n      Gamma distribution: 'GAMMA'\\n      Generalized Poisson distribution: 'GENPOISSON'\\n      Geometric distribution: 'GEOMETRIC'\\n      Hypergeometric distribution: 'HYPERGEOMETRIC'\\n      Laplace distribution: 'LAPLACE'\\n      Logistic distribution: 'LOGISTIC'\\n      Lognormal'LOGNORMAL'\\n      Negative binomial distribution: 'NEGBINOMIAL'\\n      Normal distribution: 'NORMAL'|'GAUSS'\\n      Normal mixture distribution: 'NORMALMIX'\\n      Pareto distribution: 'PARETO'\\n      Poisson distribution: 'POISSON'\\n      T distribution: 'T'\\n      Tweedie distribution: 'TWEEDIE').\\n      Uniform distribution: 'UNIFORM'\\n      Wald (inverse Gaussian) distribution: 'WALD'|'IGAUSS'\\n      Weibull distribution: 'WEIBULL'\\n\\n      Except for T, F, and NORMALMIX, you can minimally identify any distribution by its first four characters.\",\"Parameter2\":\"quantile&lt;\",\"Description2\":\"Is a numeric variable, constant, or expression that specifies the value of a random variable.\",\"Parameter3\":\"parameter-1, ..., parameter-k&gt;\",\"Description3\":\"Are optional shape, location, or scale parameters appropriate for the specific distribution.\"},{\"Name\":\"LOGSDF\",\"Definition\":\"Returns the logarithm of a survival function.\",\"Parameter1\":\"'dist'\",\"Description1\":\"Is a character constant, variable, or expression that identifies the distribution. Valid distributions are as follows:\\n\\n      Bernoulli distribution: 'BERNOULLI'\\n      Beta distribution: 'BETA'\\n      Binomial distribution: 'BINOMIAL'\\n      Cauchy distribution: 'CAUCHY'\\n      Chi-Square distribution: 'CHISQUARE'\\n      Conway-Maxwell-Poisson distribution: 'CMP'\\n      Exponential distribution: 'EXPONENTIAL'\\n      F distribution: 'F'\\n      Gamma distribution: 'GAMMA'\\n      Generalized Poisson distribution: 'GENPOISSON'\\n      Geometric distribution: 'GEOMETRIC'\\n      Hypergeometric distribution: 'HYPERGEOMETRIC'\\n      Laplace distribution: 'LAPLACE'\\n      Logistic distribution: 'LOGISTIC'\\n      Lognormal'LOGNORMAL'\\n      Negative binomial distribution: 'NEGBINOMIAL'\\n      Normal distribution: 'NORMAL'|'GAUSS'\\n      Normal mixture distribution: 'NORMALMIX'\\n      Pareto distribution: 'PARETO'\\n      Poisson distribution: 'POISSON'\\n      T distribution: 'T'\\n      Tweedie distribution: 'TWEEDIE').\\n      Uniform distribution: 'UNIFORM'\\n      Wald (inverse Gaussian) distribution: 'WALD'|'IGAUSS'\\n      Weibull distribution: 'WEIBULL'\\n\\nNote: Except for T, F, and NORMALMIX, you can minimally identify any distribution by its first four characters.\",\"Parameter2\":\"quantile&lt;\",\"Description2\":\"Is a numeric variable, constant, or expression that specifies the value of a random variable.\",\"Parameter3\":\"parameter-1, ..., parameter-k&gt;\",\"Description3\":\"Are optional shape, location, or scale parameters appropriate for the specific distribution.\"},{\"Name\":\"LOWCASE\",\"Definition\":\"Converts all letters in an argument to lowercase.\",\"Parameter1\":\"argument\",\"Description1\":\"Specifies a character constant, variable, or expression.\"},{\"Name\":\"QLOWCASE\",\"Definition\":\"Converts all letters in an argument to lowercase. QLOWCASE produces a result with special characters and mnemonic operators masked.\",\"Parameter1\":\"argument\",\"Description1\":\"Specifies a character constant, variable, or expression that might contain the following special characters and mnemonic operators masked: &amp; % ' \\\" ( ) + - * / &lt; &gt; = \\u00ac ^ ~ ; , # blank AND OR NOT EQ NE LE LT GE GT IN.\"},{\"Name\":\"LPERM\",\"Definition\":\"Computes the logarithm of the PERM function; that is, the logarithm of the number of permutations of n objects, with the option of including r number of elements.\",\"Parameter1\":\"n&lt;\",\"Description1\":\"Is an integer that represents the total number of elements from which the sample is chosen.\",\"Parameter2\":\"r\",\"Description2\":\"Is an optional integer value that represents the number of chosen elements. If r is omitted, the function returns the factorial of n. Restriction: r \\u2264 n.\"},{\"Name\":\"LPNORM\",\"Definition\":\"Returns the Lp norm of the second argument and subsequent non-missing arguments.\",\"Parameter1\":\"p\",\"Description1\":\"Specifies a numeric constant, variable, or expression that is greater than or equal to 1, which is used as the power for computing the Lp norm.\",\"Parameter2\":\"value-1&lt;\",\"Description2\":\"Specifies a numeric constant, variable, or expression.\",\"Parameter3\":\"value-2...&gt;\",\"Description3\":\"Specifies a numeric constant, variable, or expression.\"},{\"Name\":\"MAD\",\"Definition\":\"Returns the median absolute deviation from the median.\",\"Parameter1\":\"value-1&lt;\",\"Description1\":\"Specifies a numeric constant, variable, or expression of which the median absolute deviation from the median is to be computed.\",\"Parameter2\":\"value-2...&gt;\",\"Description2\":\"Specifies a numeric constant, variable, or expression of which the median absolute deviation from the median is to be computed.\"},{\"Name\":\"MARGRCLPRC\",\"Definition\":\"Calculates call prices for European options on stocks, based on the Margrabe model.\",\"Parameter1\":\"X1\",\"Description1\":\"Is a non-missing, positive value that specifies the price of the first asset. Specify X1 and X2 in the same units.\",\"Parameter2\":\"t\",\"Description2\":\"Is a non-missing value that specifies the time to expiration.\",\"Parameter3\":\"X2\",\"Description3\":\"Is a non-missing, positive value that specifies the price of the second asset. Specify X2 and X1 in the same units.\",\"Parameter4\":\"sigma1\",\"Description4\":\"Is a non-missing, positive fraction that specifies the volatility of the first asset. Specify a value for sigma1 for the same time period as the unit of t.\",\"Parameter5\":\"sigma2\",\"Description5\":\"Is a non-missing, positive fraction that specifies the volatility of the second asset. Specify a value for sigma2 for the same time period as the unit of t.\",\"Parameter6\":\"rho12\",\"Description6\":\"Specifies the correlation between the first and second assets. Range: between -1 and 1.\"},{\"Name\":\"MARGRPTPRC\",\"Definition\":\"Calculates put prices for European options on stocks, based on the Margrabe model.\",\"Parameter1\":\"X1\",\"Description1\":\"Is a non-missing, positive value that specifies the price of the first asset. Specify X1 and X2 in the same units.\",\"Parameter2\":\"t\",\"Description2\":\"Is a non-missing value that specifies the time to expiration.\",\"Parameter3\":\"X2\",\"Description3\":\"Is a non-missing, positive value that specifies the price of the second asset. Specify X2 and X1 in the same units.\",\"Parameter4\":\"sigma1\",\"Description4\":\"Is a non-missing, positive fraction that specifies the volatility of the first asset. Specify a value for sigma1 for the same time period as the unit of t.\",\"Parameter5\":\"sigma2\",\"Description5\":\"Is a non-missing, positive fraction that specifies the volatility of the second asset. Specify a value for sigma2 for the same time period as the unit of t.\",\"Parameter6\":\"rho12\",\"Description6\":\"Specifies the correlation between the first and second assets. Range: between -1 and 1.\"},{\"Name\":\"MAX\",\"Definition\":\"Returns the largest value. At least two arguments are required.\",\"Parameter1\":\"argument-1\",\"Description1\":\"Specifies a numeric constant, variable, or expression.\",\"Parameter2\":\"argument-2&lt;\",\"Description2\":\"Specifies a numeric constant, variable, or expression.\",\"Parameter3\":\"...argument-n&gt;\",\"Description3\":\"Specifies a numeric constant, variable, or expression.\"},{\"Name\":\"MD5\",\"Definition\":\"Returns the result of the message digest of a specified string.\",\"Parameter1\":\"string\",\"Description1\":\"Specifies a character constant, variable, or expression. Enclose a literal string of characters in quotation marks.\"},{\"Name\":\"MDY\",\"Definition\":\"Returns a SAS date value from month, day, and year values.\",\"Parameter1\":\"month\",\"Description1\":\"Specifies a numeric constant, variable, or expression that represents an integer from 1 through 12.\",\"Parameter2\":\"day\",\"Description2\":\"Specifies a numeric constant, variable, or expression that represents an integer from 1 through 31.\",\"Parameter3\":\"year\",\"Description3\":\"Specifies a numeric constant, variable, or expression with a value of a two-digit or four-digit integer that represents the year.\"},{\"Name\":\"MEAN\",\"Definition\":\"Returns the arithmetic mean (average). At least one non-missing argument is required. Otherwise, the function returns a missing value.\",\"Parameter1\":\"argument-1&lt;\",\"Description1\":\"Specifies a numeric constant, variable, or expression. The argument list can consist of a variable list, which is preceded by OF.\",\"Parameter2\":\"...argument-n&gt;\",\"Description2\":\"Specifies a numeric constant, variable, or expression. The argument list can consist of a variable list, which is preceded by OF.\"},{\"Name\":\"MEDIAN\",\"Definition\":\"Returns the median value.\",\"Parameter1\":\"value1&lt;\",\"Description1\":\"Is a numeric constant, variable, or expression.\",\"Parameter2\":\"value2, ...&gt;\",\"Description2\":\"Is a numeric constant, variable, or expression.\"},{\"Name\":\"MIN\",\"Definition\":\"Returns the smalles value. At least two arguments are required.\",\"Parameter1\":\"argument-1\",\"Description1\":\"Specifies a numeric constant, variable, or expression.\",\"Parameter2\":\"argument-2&lt;\",\"Description2\":\"Specifies a numeric constant, variable, or expression.\",\"Parameter3\":\"...argument-n&gt;\",\"Description3\":\"Specifies a numeric constant, variable, or expression.\"},{\"Name\":\"MINUTE\",\"Definition\":\"Returns the minute from a SAS time or datetime value.\",\"Parameter1\":\"time | datetime\",\"Description1\":\"Is a numeric constant, variable, or expression that specifies a SAS time or datetime value.\"},{\"Name\":\"MISSING\",\"Definition\":\"Returns a numeric result that indicates whether the argument contains a missing value.\",\"Parameter1\":\"numeric-expression | character-expression\",\"Description1\":\"Specifies a numeric or character constant, variable, or expression.\"},{\"Name\":\"MOD\",\"Definition\":\"Returns the remainder from the division of the first argument by the second argument, fuzzed to avoid most unexpected floating-point results.\",\"Parameter1\":\"argument-1\",\"Description1\":\"Is a numeric constant, variable, or expression that specifies the dividend.\",\"Parameter2\":\"argument-2\",\"Description2\":\"Is a numeric constant, variable, or expression that specifies the divisor. Restriction: cannot be 0.\"},{\"Name\":\"MODULEIC\",\"Definition\":\"Calls an external routine or module that resides in an image that can be shared. Returns a character value.\",\"Parameter1\":\"&lt;cntl-string\",\"Description1\":\"Is an optional control string whose first character must be an asterisk (*), followed by any combination of the following characters: I (detects incorrect arguments or attribute tables), E (prints error messages), Sx (uses x as a separator character to separate field definitions), H (provides help on CALL MODULE routine syntax).\",\"Parameter2\":\"&gt;module-name&lt;\",\"Description2\":\"Is the name of the external module to use.\",\"Parameter3\":\"argument-1\",\"Description3\":\"Is one or more arguments to pass to the requested routine.\",\"Parameter4\":\"..., argument-n&gt;\",\"Description4\":\"Is one or more arguments to pass to the requested routine.\"},{\"Name\":\"MODULEIN\",\"Definition\":\"Calls an external routine or module that resides in an image that can be shared. Returns a numeric value.\",\"Parameter1\":\"&lt;cntl-string\",\"Description1\":\"Is an optional control string whose first character must be an asterisk (*), followed by any combination of the following characters: I (detects incorrect arguments or attribute tables), E (prints error messages), Sx (uses x as a separator character to separate field definitions), H (provides help on CALL MODULE routine syntax).\",\"Parameter2\":\"&gt;module-name&lt;\",\"Description2\":\"Is the name of the external module to use.\",\"Parameter3\":\"argument-1\",\"Description3\":\"Is one or more arguments to pass to the requested routine.\",\"Parameter4\":\"..., argument-n&gt;\",\"Description4\":\"Is one or more arguments to pass to the requested routine.\"},{\"Name\":\"MODULEC\",\"Definition\":\"Calls an external routine and returns a character value.\",\"Parameter1\":\"&lt;cntl-string\",\"Description1\":\"Is an optional control string whose first character must be an asterisk (*), followed by any combination of the following characters: I (detects incorrect arguments or attribute tables), E (prints error messages), Sx (uses x as a separator character to separate field definitions), H (provides help on CALL MODULE routine syntax).\",\"Parameter2\":\"&gt;module-name&lt;\",\"Description2\":\"Is the name of the external module to use.\",\"Parameter3\":\"argument-1\",\"Description3\":\"Is one or more arguments to pass to the requested routine.\",\"Parameter4\":\"..., argument-n&gt;\",\"Description4\":\"Is one or more arguments to pass to the requested routine.\"},{\"Name\":\"MODULEN\",\"Definition\":\"Calls an external routine and returns a numeric value.\",\"Parameter1\":\"&lt;cntl-string\",\"Description1\":\"Is an optional control string whose first character must be an asterisk (*), followed by any combination of the following characters: I (detects incorrect arguments or attribute tables), E (prints error messages), Sx (uses x as a separator character to separate field definitions), H (provides help on CALL MODULE routine syntax).\",\"Parameter2\":\"&gt;module-name&lt;\",\"Description2\":\"Is the name of the external module to use.\",\"Parameter3\":\"argument-1\",\"Description3\":\"Is one or more arguments to pass to the requested routine.\",\"Parameter4\":\"..., argument-n&gt;\",\"Description4\":\"Is one or more arguments to pass to the requested routine.\"},{\"Name\":\"MODZ\",\"Definition\":\"Returns the remainder from the division of the first argument by the second argument, using zero fuzzing.\",\"Parameter1\":\"argument-1\",\"Description1\":\"Is a numeric constant, variable, or expression that specifies the dividend.\",\"Parameter2\":\"argument-2\",\"Description2\":\"Is a non-zero numeric constant, variable, or expression that specifies the divisor.\"},{\"Name\":\"MONTH\",\"Definition\":\"Returns the month from a SAS date value.\",\"Parameter1\":\"date\",\"Description1\":\"Specifies a numeric constant, variable, or expression that represents a SAS date value.\"},{\"Name\":\"MOPEN\",\"Definition\":\"Opens a file by directory ID and member name, and returns either the file identifier or a 0.\",\"Parameter1\":\"directory-id\",\"Description1\":\"Is a numeric variable that specifies the identifier that was assigned when the directory was opened, generally by the DOPEN function.\",\"Parameter2\":\"member-name\",\"Description2\":\"Is a character constant, variable, or expression that specifies the member name in the directory.\",\"Parameter3\":\"open-mode\",\"Description3\":\"Is a character constant, variable, or expression that specifies the type of access to the file: A (APPEND mode writes new records at end of file), I (INPUT mode allows reading only), O (OUTPUT mode allows writing new records at beginning of file), S (SEQUENTIAL input mode for pipes or ports), U (UPDATE mode allows both reading and writing), W (SEQUENTIAL update mode for pipes or ports)\",\"Parameter4\":\"record-length\",\"Description4\":\"Is a numeric constant, variable, or expression that specifies the logical record length of the file. To use the existing record length for the file, specify a length of 0, or do not provide a value here.\",\"Parameter5\":\"record-format\",\"Description5\":\"Is a character constant, variable, or expression that specifies the record format of the file. Valid values: B (binary), D (default format), E (editable), F(fixed-length records), P (contains printer carriage control), V (variable-length records).\"},{\"Name\":\"MORT\",\"Definition\":\"Returns amortization parameters.\",\"Parameter1\":\"a\",\"Description1\":\"Is numeric, and specifies the initial amount.\",\"Parameter2\":\"p\",\"Description2\":\"Is numeric, and specifies the periodic payment.\",\"Parameter3\":\"r\",\"Description3\":\"Is numeric, and specifies the periodic interest rate that is expressed as a fraction.\",\"Parameter4\":\"n\",\"Description4\":\"Is an integer, and specifies the number of compounding periods. Range: n \\u2265 0.\"},{\"Name\":\"MSPLINT\",\"Definition\":\"Returns the ordinate of a monotonicity-preserving interpolating spline.\",\"Parameter1\":\"X\",\"Description1\":\"Is a numeric constant, variable, or expression that specifies the abscissa for which the ordinate of the spline is to be computed.\",\"Parameter2\":\"n\",\"Description2\":\"Is a numeric constant, variable, or expression that specifies the number of knots. N must be a positive integer.\",\"Parameter3\":\"X1 &lt;, X2, ..., Xn&gt;\",\"Description3\":\"Are numeric constants, variables, or expressions that specify the abscissas of the knots. These values must be non-missing and listed in nondecreasing order.\",\"Parameter4\":\"Y1 &lt;,Y2, ..., Yn&gt;&lt;\",\"Description4\":\"Are numeric constants, variables, or expressions that specify the ordinates of the knots. The number of Y1 through Yn arguments must be the same as the number of X1 through Xn arguments.\",\"Parameter5\":\"D1, Dn&gt;\",\"Description5\":\"Are optional numeric constants, variables, or expressions that specify the derivatives of the spline at X1 and Xn.\"},{\"Name\":\"N\",\"Definition\":\"Returns the number of non-missing numeric values. At least one argument is required.\",\"Parameter1\":\"argument-1&lt;\",\"Description1\":\"Specifies a numeric constant, variable, or expression.\",\"Parameter2\":\"...argument-n&gt;\",\"Description2\":\"Specifies a numeric constant, variable, or expression.\"},{\"Name\":\"NETPV\",\"Definition\":\"Returns the net present value as a fraction.\",\"Parameter1\":\"r\",\"Description1\":\"Is numeric, the interest rate over a specified base period of time expressed as a fraction. Range: r \\u2265 0.\",\"Parameter2\":\"freq\",\"Description2\":\"Is numeric, the number of payments during the base period of time that is specified with the rate r. Range: freq &gt; 0. Exception: The case freq=0 is a flag to allow continuous discounting.\",\"Parameter3\":\"c0,c1, ...,cn\",\"Description3\":\"Are numeric cash flows that represent cash outlays (payments) or cash inflows (income) occurring at times 0, 1, ...n.\"},{\"Name\":\"NLITERAL\",\"Definition\":\"Converts a character string that you specify to a SAS name literal.\",\"Parameter1\":\"string\",\"Description1\":\"Specifies a character constant, variable, or expression that is to be converted to a SAS name literal. Enclose a literal string of characters in quotation marks.\"},{\"Name\":\"NMISS\",\"Definition\":\"Returns the number of missing numeric values. At least one argument is required.\",\"Parameter1\":\"argument-1&lt;\",\"Description1\":\"Specifies a numeric constant, variable, or expression.\",\"Parameter2\":\"...argument-n&gt;\",\"Description2\":\"Specifies a numeric constant, variable, or expression.\"},{\"Name\":\"NOTALNUM\",\"Definition\":\"Searches a character string for a non-alphanumeric character, and returns the first position at which the character is found.\",\"Parameter1\":\"string&lt;\",\"Description1\":\"Specifies a character constant, variable, or expression to search.\",\"Parameter2\":\"start&gt;\",\"Description2\":\"Is an optional numeric constant, variable, or expression with an integer value that specifies the position at which the search should start and the direction in which to search.\"},{\"Name\":\"NOTALPHA\",\"Definition\":\"Searches a character string for a nonalphabetic character, and returns the first position at which the character is found.\",\"Parameter1\":\"string&lt;\",\"Description1\":\"Specifies a character constant, variable, or expression to search.\",\"Parameter2\":\"start&gt;\",\"Description2\":\"Is an optional numeric constant, variable, or expression with an integer value that specifies the position at which the search should start and the direction in which to search.\"},{\"Name\":\"NOTCNTRL\",\"Definition\":\"Searches a character string for a character that is not a control character, and returns the first position at which that character is found.\",\"Parameter1\":\"string&lt;\",\"Description1\":\"Specifies a character constant, variable, or expression to search.\",\"Parameter2\":\"start&gt;\",\"Description2\":\"Is an optional numeric constant, variable, or expression with an integer value that specifies the position at which the search should start and the direction in which to search.\"},{\"Name\":\"NOTDIGIT\",\"Definition\":\"Searches a character string for any character that is not a digit, and returns the first position at which that character is found.\",\"Parameter1\":\"string&lt;\",\"Description1\":\"Specifies a character constant, variable, or expression to search.\",\"Parameter2\":\"start&gt;\",\"Description2\":\"Is an optional numeric constant, variable, or expression with an integer value that specifies the position at which the search should start and the direction in which to search.\"},{\"Name\":\"NOTE\",\"Definition\":\"Returns an observation ID for the current observation of a SAS data set.\",\"Parameter1\":\"data-set-id\",\"Description1\":\"Is a numeric variable that specifies the data set identifier that the OPEN function returns.\"},{\"Name\":\"NOTFIRST\",\"Definition\":\"Searches a character string for an invalid first character in a SAS variable name under VALIDVARNAME=V7, and returns the first position at which that character is found.\",\"Parameter1\":\"string&lt;\",\"Description1\":\"Specifies a character constant, variable, or expression to search.\",\"Parameter2\":\"start&gt;\",\"Description2\":\"Is an optional numeric constant, variable, or expression with an integer value that specifies the position at which the search should start and the direction in which to search.\"},{\"Name\":\"NOTGRAPH\",\"Definition\":\"Searches a character string for a non-graphical character, and returns the first position at which that character is found.\",\"Parameter1\":\"string&lt;\",\"Description1\":\"Specifies a character constant, variable, or expression to search.\",\"Parameter2\":\"start&gt;\",\"Description2\":\"Is an optional numeric constant, variable, or expression with an integer value that specifies the position at which the search should start and the direction in which to search.\"},{\"Name\":\"NOTLOWER\",\"Definition\":\"Searches a character string for a character that is not a lowercase letter, and returns the first position at which that character is found.\",\"Parameter1\":\"string&lt;\",\"Description1\":\"Specifies a character constant, variable, or expression to search.\",\"Parameter2\":\"start&gt;\",\"Description2\":\"Is an optional numeric constant, variable, or expression with an integer value that specifies the position at which the search should start and the direction in which to search.\"},{\"Name\":\"NOTNAME\",\"Definition\":\"Searches a character string for an invalid character in a SAS variable name under VALIDVARNAME=V7, and returns the first position at which that character is found.\",\"Parameter1\":\"string&lt;\",\"Description1\":\"Specifies a character constant, variable, or expression to search.\",\"Parameter2\":\"start&gt;\",\"Description2\":\"Is an optional numeric constant, variable, or expression with an integer value that specifies the position at which the search should start and the direction in which to search.\"},{\"Name\":\"NOTPRINT\",\"Definition\":\"Searches a character string for a nonprintable character, and returns the first position at which that character is found.\",\"Parameter1\":\"string&lt;\",\"Description1\":\"Specifies a character constant, variable, or expression to search.\",\"Parameter2\":\"start&gt;\",\"Description2\":\"Is an optional numeric constant, variable, or expression with an integer value that specifies the position at which the search should start and the direction in which to search.\"},{\"Name\":\"NOTPUNCT\",\"Definition\":\"Searches a character string for a character that is not a punctuation character, and returns the first position at which that character is found.\",\"Parameter1\":\"string&lt;\",\"Description1\":\"Specifies a character constant, variable, or expression to search.\",\"Parameter2\":\"start&gt;\",\"Description2\":\"Is an optional numeric constant, variable, or expression with an integer value that specifies the position at which the search should start and the direction in which to search.\"},{\"Name\":\"NOTSPACE\",\"Definition\":\"Searches a character string for a character that is not a white-space character (blank, horizontal and vertical tab, carriage return, line feed, and form feed), and returns the first position at which that character is found.\",\"Parameter1\":\"string&lt;\",\"Description1\":\"Specifies a character constant, variable, or expression to search.\",\"Parameter2\":\"start&gt;\",\"Description2\":\"Is an optional numeric constant, variable, or expression with an integer value that specifies the position at which the search should start and the direction in which to search.\"},{\"Name\":\"NOTUPPER\",\"Definition\":\"Searches a character string for a character that is not an uppercase letter, and returns the first position at which that character is found.\",\"Parameter1\":\"string&lt;\",\"Description1\":\"Specifies a character constant, variable, or expression to search.\",\"Parameter2\":\"start&gt;\",\"Description2\":\"Is an optional numeric constant, variable, or expression with an integer value that specifies the position at which the search should start and the direction in which to search.\"},{\"Name\":\"NOTXDIGIT\",\"Definition\":\"Searches a character string for a character that is not a hexadecimal character, and returns the first position at which that character is found.\",\"Parameter1\":\"string&lt;\",\"Description1\":\"Specifies a character constant, variable, or expression to search.\",\"Parameter2\":\"start&gt;\",\"Description2\":\"Is an optional numeric constant, variable, or expression with an integer value that specifies the position at which the search should start and the direction in which to search.\"},{\"Name\":\"NPV\",\"Definition\":\"Returns the net present value with the rate expressed as a percentage.\",\"Parameter1\":\"r\",\"Description1\":\"Is numeric, the interest rate over a specified base period of time expressed as a percentage.\",\"Parameter2\":\"freq\",\"Description2\":\"Is numeric, the number of payments during the base period of time specified with the rate r. Range: freq &gt; 0. Exception: The case freq=0 is a flag to allow continuous discounting.\",\"Parameter3\":\"c0,c1, ...,cn\",\"Description3\":\"Are numeric cash flows that represent cash outlays (payments) or cash inflows (income) occurring at times 0, 1, ...n.\"},{\"Name\":\"NVALID\",\"Definition\":\"Checks the validity of a character string for use as a SAS variable name.\",\"Parameter1\":\"string&lt;\",\"Description1\":\"Specifies a character constant, variable, or expression which will be checked to determine whether its value can be used as a SAS variable name. Trailing blanks are ignored.\",\"Parameter2\":\"validvarname&gt;\",\"Description2\":\"Is a character constant, variable, or expression that specifies one of the following values: V7, ANY, NLITERAL\"},{\"Name\":\"NWKDOM\",\"Definition\":\"Returns the date for the nth occurrence of a weekday for the specified month and year.\",\"Parameter1\":\"n\",\"Description1\":\"Specifies the numeric week of the month that contains the specified day. Range: 1-5.\",\"Parameter2\":\"weekday\",\"Description2\":\"Specifies the number that corresponds to the day of the week. Range: 1-7. Tip: Sunday is considered the first day of the week and has a weekday value of 1.\",\"Parameter3\":\"month\",\"Description3\":\"Specifies the number that corresponds to the month of the year. Range: 1-12.\",\"Parameter4\":\"year\",\"Description4\":\"Specifies a four-digit calendar year.\"},{\"Name\":\"OPEN\",\"Definition\":\"Opens a SAS data set.\",\"Parameter1\":\"&lt;data-set-name&lt;\",\"Description1\":\"Is a character constant, variable, or expression that specifies the name of the SAS data set or SAS SQL view to be opened. The value of this character string should be of the form &lt;libref.&gt;member-name&lt;(data-set-options)&gt;\",\"Parameter2\":\"mode&gt;&gt;\",\"Description2\":\"Is a character constant, variable, or expression that specifies the type of access to the data set: I (INPUT mode, for read only), IN (sequential INPUT mode, with revisit of observations allowed), IS (sequential INPUT mode, with revisit of observations not allowed).\"},{\"Name\":\"ORDINAL\",\"Definition\":\"Returns the kth smallest of the missing and nonmissing values. At least two arguments are required.\",\"Parameter1\":\"k\",\"Description1\":\"Is a numeric constant, variable, or expression with an integer value that is less than or equal to the number of subsequent elements in the list of arguments.\",\"Parameter2\":\"argument-1\",\"Description2\":\"Specifies a numeric constant, variable, or expression.\",\"Parameter3\":\"argument-2&lt;\",\"Description3\":\"Specifies a numeric constant, variable, or expression.\",\"Parameter4\":\"...argument-n&gt;\",\"Description4\":\"Specifies a numeric constant, variable, or expression.\"},{\"Name\":\"PATHNAME\",\"Definition\":\"Returns the physical name of an external file or a SAS library, or returns a blank.\",\"Parameter1\":\"(fileref | libref)&lt;\",\"Description1\":\"Is a character constant, variable, or expression that specifies either the fileref that is assigned to an external file or the libref that is assigned to a SAS library.\",\"Parameter2\":\"search-ref&gt;\",\"Description2\":\"Is a character constant, variable, or expression that specifies whether to search for a fileref or a libref. Values: F (to search for a fileref) or L (to search for a libref).\"},{\"Name\":\"PCTL\",\"Definition\":\"Returns the percentile that corresponds to the percentage. n is a digit from 1 to 5 which specifies the definition of the percentile to be computed.\",\"Parameter1\":\"percentage\",\"Description1\":\"Is a numeric constant, variable, or expression that specifies the percentile to be computed. Range: 0 \\u2264 percentage \\u2264 100, and is numeric.\",\"Parameter2\":\"value1&lt;\",\"Description2\":\"Is a numeric variable, constant, or expression.\",\"Parameter3\":\"value2, ...&gt;\",\"Description3\":\"Is a numeric variable, constant, or expression.\"},{\"Name\":\"PDF*1\",\"Definition\":\"The PDF function for the Bernoulli distribution returns the probability density function of a Bernoulli distribution, with the probability of success equal to p.\",\"Parameter1\":\"'BERNOULLI'\",\"Description1\":\"Is a character constant, variable, or expression that identifies the distribution.\",\"Parameter2\":\"x\",\"Description2\":\"Is a numeric random variable.\",\"Parameter3\":\"p\",\"Description3\":\"Is a numeric probability of success. Range: 0 \\u2264 p \\u2264 1.\"},{\"Name\":\"PDF*2\",\"Definition\":\"The PDF function for the beta distribution returns the probability density function of a beta distribution, with the shape parameters a and b. The PDF function is evaluated at the value x.\",\"Parameter1\":\"'BETA'\",\"Description1\":\"Is a character constant, variable, or expression that identifies the distribution.\",\"Parameter2\":\"x\",\"Description2\":\"Is a numeric random variable.\",\"Parameter3\":\"a\",\"Description3\":\"Is a numeric shape parameter. Range: a &gt; 0.\",\"Parameter4\":\"b&lt;\",\"Description4\":\"Is a numeric shape parameter. Range: b &gt; 0.\",\"Parameter5\":\"l\",\"Description5\":\"Is the numeric left location parameter. Default: 0.\",\"Parameter6\":\"r&gt;\",\"Description6\":\"Is the right location parameter. Default: 0.  Range: r&gt;l.\"},{\"Name\":\"PDF*3\",\"Definition\":\"The PDF function for the binomial distribution returns the probability density function of a binomial distribution, with the parameters p and n, which is evaluated at the value m. \",\"Parameter1\":\"'BINOMIAL'\",\"Description1\":\"Is a character constant, variable, or expression that identifies the distribution.\",\"Parameter2\":\"m\",\"Description2\":\"Is an integer random variable that counts the number of successes.\",\"Parameter3\":\"p\",\"Description3\":\"Is a numeric probability of success. Range: 0 \\u2264 p \\u2264 1.\",\"Parameter4\":\"n\",\"Description4\":\"Is an integer parameter that counts the number of independent Bernoulli trials.\"},{\"Name\":\"PDF*4\",\"Definition\":\"The PDF function for the Cauchy distribution returns the probability density function of a Cauchy distribution, with the location parameter \\u03b8 and the scale parameter \\u03bb. The PDF function is evaluated at the value x. \",\"Parameter1\":\"'CAUCHY'\",\"Description1\":\"Is a character constant, variable, or expression that identifies the distribution.\",\"Parameter2\":\"x&lt;\",\"Description2\":\"Is a numeric random variable.\",\"Parameter3\":\"\\u03b8\",\"Description3\":\"Is a numeric location parameter. Default: 0.\",\"Parameter4\":\"\\u03bb&gt;\",\"Description4\":\"Is a numeric scale parameter. Default: 1. Range: \\u03bb &gt; 0.\"},{\"Name\":\"PDF*5\",\"Definition\":\"The PDF function for the chi-square distribution returns the probability density function of a chi-square distribution, with df degrees of freedom and the non-centrality parameter nc. The PDF function is evaluated at the value x.\",\"Parameter1\":\"'CHISQUARE'\",\"Description1\":\"Is a character constant, variable, or expression that identifies the distribution.\",\"Parameter2\":\"x\",\"Description2\":\"Is a numeric random variable.\",\"Parameter3\":\"df&lt;\",\"Description3\":\"Is a numeric degrees of freedom parameter. Range: df &gt; 0.\",\"Parameter4\":\"nc&gt;\",\"Description4\":\"Is an optional numeric non-centrality parameter. Range: nc \\u2265 0.\"},{\"Name\":\"PDF*6\",\"Definition\":\"The Conway-Maxwell-Poisson (CMP) distribution is a generalization of the Poisson distribution that enables you to model underdispersed and overdispersed data.\",\"Parameter1\":\"'CONMAXPOI'\",\"Description1\":\"Is a character constant, variable, or expression that identifies the distribution.\",\"Parameter2\":\"y\",\"Description2\":\"Is a nonnegative integer that represents counts data.\",\"Parameter3\":\"\\u03bb\",\"Description3\":\"Is similar to the mean, as in the Poisson distribution.\",\"Parameter4\":\"\\u03bd\",\"Description4\":\"Is a dispersion parameter.\"},{\"Name\":\"PDF*7\",\"Definition\":\"Returns a value from a probability density (mass) distribution.\",\"Parameter1\":\"'EXPONENTIAL'\",\"Description1\":\"Is a character constant, variable, or expression that identifies the distribution.\",\"Parameter2\":\"x&lt;\",\"Description2\":\"Is a numeric random variable.\",\"Parameter4\":\"\\u03bb&gt;\",\"Description4\":\"Is a numeric scale parameter. Default: 1. Range: \\u03bb &gt; 0.\"},{\"Name\":\"PDF*8\",\"Definition\":\"The PDF function for the F distribution returns the probability density function of an F distribution, with ndf numerator degrees of freedom, ddf denominator degrees of freedom, and the non-centrality parameter nc. The PDF function is evaluated at the value x.\",\"Parameter1\":\"'F'\",\"Description1\":\"Is a character constant, variable, or expression that identifies the distribution.\",\"Parameter2\":\"x\",\"Description2\":\"Is a numeric random variable.\",\"Parameter3\":\"ndf\",\"Description3\":\"Is a numeric numerator degrees of freedom parameter. Range: ndf &gt; 0.\",\"Parameter4\":\"ddf&lt;\",\"Description4\":\"Is a numeric denominator degrees of freedom parameter. Range: ddf &gt; 0.\",\"Parameter5\":\"nc&gt;\",\"Description5\":\"Is a numeric non-centrality parameter. Range: nc &gt; =0.\"},{\"Name\":\"PDF*9\",\"Definition\":\"The PDF function for the gamma distribution returns the probability density function of a gamma distribution, with the shape parameter a and the scale parameter \\u03bb. The PDF function is evaluated at the value x.\",\"Parameter1\":\"'GAMMA'\",\"Description1\":\"Is a character constant, variable, or expression that identifies the distribution.\",\"Parameter2\":\"x\",\"Description2\":\"Is a numeric random variable.\",\"Parameter3\":\"a&lt;\",\"Description3\":\"Is a numeric shape parameter. Range: a &gt; 0.\",\"Parameter4\":\"\\u03bb&gt;\",\"Description4\":\"Is a numeric scale parameter. Default: 1. Range: \\u03bb &gt; 0.\"},{\"Name\":\"PDF*10\",\"Definition\":\"The PDF function for the generalized Poisson distribution returns the probability density function of a generalized Poisson distribution, with the shape parameter \\u03b8. The PDF function is evaluated at the value x.\",\"Parameter1\":\"'GENPOISSON'\",\"Description1\":\"Is a character constant, variable, or expression that identifies the distribution.\",\"Parameter2\":\"x\",\"Description2\":\"Is an integer random variable.\",\"Parameter3\":\"\\u03b8\",\"Description3\":\"Specifies a shape parameter.\\n      \\nRange &lt;10^5 and &gt;0\",\"Parameter4\":\"\\u03b7&gt;\",\"Description4\":\"Specifies a shape parameter.\\n      \\nRange: \\u22650 and &lt;0.95\\n    \"},{\"Name\":\"PDF*11\",\"Definition\":\"The PDF function for the geometric distribution returns the probability density function of a geometric distribution, with the parameter p. The PDF function is evaluated at the value m.\",\"Parameter1\":\"'GEOMETRIC'\",\"Description1\":\"Is a character constant, variable, or expression that identifies the distribution.\",\"Parameter2\":\"m\",\"Description2\":\"Is a numeric random variable that denotes the number of failures before the first success. Range: m \\u2265 0.\",\"Parameter3\":\"p\",\"Description3\":\"Is a numeric probability of success. Range: 0 \\u2264 p \\u2264 1.\"},{\"Name\":\"PDF*12\",\"Definition\":\"The PDF function for the hypergeometric distribution returns the probability density function of an extended hypergeometric distribution, with population size N, number of items R, sample size n, and odds ratio o. The PDF function is evaluated at the value x. If o is omitted or equal to 1, the value returned is from the usual hypergeometric distribution.\",\"Parameter1\":\"'HYPERGEOMETRIC'\",\"Description1\":\"Is a character constant, variable, or expression that identifies the distribution.\",\"Parameter2\":\"x\",\"Description2\":\"Is an integer random variable.\",\"Parameter3\":\"N\",\"Description3\":\"Is an integer population size parameter. Range: N = 1, 2, ...\",\"Parameter4\":\"R\",\"Description4\":\"Is an integer number of items in the category of interest. Range: R = 0, 1, ..., N\",\"Parameter5\":\"n&lt;\",\"Description5\":\"Is an integer sample size parameter. Range: n = 1, 2, ..., N\",\"Parameter6\":\"o&gt;\",\"Description6\":\"Is an optional numeric odds ratio parameter. Range: o &gt; 0.\"},{\"Name\":\"PDF*13\",\"Definition\":\"The PDF function for the Laplace distribution returns the probability density function of the Laplace distribution, with the location parameter \\u03b8 and the scale parameter \\u03bb. The PDF function is evaluated at the value x.\",\"Parameter1\":\"'LAPLACE'\",\"Description1\":\"Is a character constant, variable, or expression that identifies the distribution.\",\"Parameter2\":\"x&lt;\",\"Description2\":\"Is a numeric random variable.\",\"Parameter3\":\"\\u03b8\",\"Description3\":\"Is a numeric location parameter. Default: 0\",\"Parameter4\":\"\\u03bb&gt;\",\"Description4\":\"Is a numeric scale parameter. Default: 1. Range: \\u03bb &gt; 0.\"},{\"Name\":\"PDF*14\",\"Definition\":\"The PDF function for the logistic distribution returns the probability density function of a logistic distribution, with the location parameter \\u03b8 and the scale parameter \\u03bb. The PDF function is evaluated at the value x.\",\"Parameter1\":\"'LOGISTIC'\",\"Description1\":\"Is a character constant, variable, or expression that identifies the distribution.\",\"Parameter2\":\"x&lt;\",\"Description2\":\"Is a numeric random variable.\",\"Parameter3\":\"\\u03b8\",\"Description3\":\"Is a numeric location parameter. Default: 0\",\"Parameter4\":\"\\u03bb&gt;\",\"Description4\":\"Is a numeric scale parameter. Default: 1. Range: \\u03bb &gt; 0.\"},{\"Name\":\"PDF*15\",\"Definition\":\"The PDF function for the lognormal distribution returns the probability density function of a lognormal distribution, with the log scale parameter \\u03b8 and the shape parameter \\u03bb. The PDF function is evaluated at the value x.\",\"Parameter1\":\"'LOGNORMAL'\",\"Description1\":\"Is a character constant, variable, or expression that identifies the distribution.\",\"Parameter2\":\"x&lt;\",\"Description2\":\"Is a numeric random variable.\",\"Parameter3\":\"\\u03b8\",\"Description3\":\"Is a numeric location parameter. Default: 0\",\"Parameter4\":\"\\u03bb&gt;\",\"Description4\":\"Is a numeric scale parameter. Default: 1. Range: \\u03bb &gt; 0.\"},{\"Name\":\"PDF*16\",\"Definition\":\"The PDF function for the negative binomial distribution returns the probability density function of a negative binomial distribution, with probability of success p and number of successes n. The PDF function is evaluated at the value m.\",\"Parameter1\":\"'NEGBINOMIAL'\",\"Description1\":\"Is a character constant, variable, or expression that identifies the distribution.\",\"Parameter2\":\"m\",\"Description2\":\"Is a positive integer random variable that counts the number of failures. Range: m= 0, 1, ...\",\"Parameter3\":\"p\",\"Description3\":\"Is a numeric probability of success. Range: 0 \\u2264 p \\u2264 1.\",\"Parameter4\":\"n\",\"Description4\":\"Is a numeric value that counts the number of successes. Range: n &gt; 0.\"},{\"Name\":\"PDF*17\",\"Definition\":\"The PDF function for the normal distribution returns the probability density function of a normal distribution, with the location parameter \\u03b8 and the scale parameter \\u03bb. The PDF function is evaluated at the value x.\",\"Parameter1\":\"'NORMAL'\",\"Description1\":\"Is a character constant, variable, or expression that identifies the distribution.\",\"Parameter2\":\"x&lt;\",\"Description2\":\"Is a numeric random variable.\",\"Parameter3\":\"\\u03b8\",\"Description3\":\"Is a numeric location parameter. Default: 0\",\"Parameter4\":\"\\u03bb&gt;\",\"Description4\":\"Is a numeric scale parameter. Default: 1. Range: \\u03bb &gt; 0.\"},{\"Name\":\"PDF*18\",\"Definition\":\"The PDF function for the Normal Mixture distribution returns the probability that an observation from a mixture of normal distribution is less than or equal to x.\",\"Parameter1\":\"'NORMALMIX'\",\"Description1\":\"Is a character constant, variable, or expression that identifies the distribution.\",\"Parameter2\":\"x\",\"Description2\":\"Is a numeric random variable.\",\"Parameter3\":\"n\",\"Description3\":\"Is the integer number of mixtures. Range: n = 1, 2, ...\",\"Parameter4\":\"p\",\"Description4\":\"Is the n proportions, p1, p2, ..., pn, where sum of p1 to pn is equal to 1. Range: p = 0, 1, ...\",\"Parameter5\":\"m\",\"Description5\":\"Is the n means, m1, m2, ...,mn.\",\"Parameter6\":\"s\",\"Description6\":\"Is the n standard deviations, s1, s2, ..., sn. Range: s &gt; 0.\"},{\"Name\":\"PDF*19\",\"Definition\":\"The PDF function for the Pareto distribution returns the probability density function of a Pareto distribution, with the shape parameter a and the scale parameter k. The PDF function is evaluated at the value x.\",\"Parameter1\":\"'PARETO'\",\"Description1\":\"Is a character constant, variable, or expression that identifies the distribution.\",\"Parameter2\":\"x\",\"Description2\":\"Is a numeric random variable.\",\"Parameter3\":\"a&lt;\",\"Description3\":\"Is a numeric shape parameter. Range: a &gt; 0.\",\"Parameter4\":\"k&gt;\",\"Description4\":\"Is a numeric scale parameter. Default: 1. Range: k &gt; 0.\"},{\"Name\":\"PDF*20\",\"Definition\":\"The PDF function for the Poisson distribution returns the probability density function of a Poisson distribution, with mean m. The PDF function is evaluated at the value n.\",\"Parameter1\":\"'POISSON'\",\"Description1\":\"Is a character constant, variable, or expression that identifies the distribution.\",\"Parameter2\":\"n\",\"Description2\":\"Is an integer random variable. Range: n= 0, 1, ...\",\"Parameter3\":\"m\",\"Description3\":\"Is a numeric mean parameter. Range: m &gt; 0.\"},{\"Name\":\"PDF*21\",\"Definition\":\"The PDF function for the T distribution returns the probability density function of a T distribution, with degrees of freedom df and the non-centrality parameter nc. The PDF function is evaluated at the value x.\",\"Parameter1\":\"'T'\",\"Description1\":\"Is a character constant, variable, or expression that identifies the distribution.\",\"Parameter2\":\"t\",\"Description2\":\"Is a numeric random variable.\",\"Parameter3\":\"df&lt;\",\"Description3\":\"Is a numeric degrees of freedom parameter. Range: df &gt; 0.\",\"Parameter4\":\"nc&gt;\",\"Description4\":\"Is an optional numeric non-centrality parameter.\"},{\"Name\":\"PDF*22\",\"Definition\":\"The PDF function for the Tweedie distribution returns an exponential dispersion model with variance and mean related by the equation variance.\",\"Parameter1\":\"'TWEEDIE'\",\"Description1\":\"Is a character constant, variable, or expression that identifies the distribution.\",\"Parameter2\":\"y\",\"Description2\":\"Is a random variable.\\n\\nRange: y \\u22650\\nNotes:  This argument is required.\\n  When y&gt;1, y is numeric. When p=1, y is an integer.\\n    \",\"Parameter3\":\"p&lt;\",\"Description3\":\"Is the power parameter.\\n\\nRange: p \\u22651\\nNote:  This argument is required.\\n    \",\"Parameter4\":\"\\u03bc\",\"Description4\":\"Is the mean.\\n\\nDefault: 1\\nRange: \\u03bc &gt; 0\\n    \",\"Parameter5\":\"\\u03c6&gt;\",\"Description5\":\"Is the dispersion parameter.\\n\\nDefault: 1\\nRange: \\u03c6&gt;0\\n    \"},{\"Name\":\"PDF*23\",\"Definition\":\"The PDF function for the uniform distribution returns the probability density function of a uniform distribution, with the left location parameter l and the right location parameter r. The PDF function is evaluated at the value x.\",\"Parameter1\":\"'UNIFORM'\",\"Description1\":\"Is a character constant, variable, or expression that identifies the distribution.\",\"Parameter2\":\"x\",\"Description2\":\"Is a numeric random variable.\",\"Parameter3\":\"l\",\"Description3\":\"Is the numeric left location parameter. Default: 0.\",\"Parameter4\":\"r\",\"Description4\":\"Is the numeric right location parameter. Default: 1. Range: r&gt;l.\"},{\"Name\":\"PDF*24\",\"Definition\":\"The PDF function for the Wald distribution returns the probability density function of a Wald distribution, with the shape parameter \\u03bb, which is evaluated at the value x.\",\"Parameter1\":\"'WALD'\",\"Description1\":\"Is a character constant, variable, or expression that identifies the distribution.\",\"Parameter2\":\"x\",\"Description2\":\"Is a numeric random variable.\",\"Parameter3\":\"\\u03bb&lt;\",\"Description3\":\"Is a numeric shape parameter.\\n\\nRange: \\u03bb &gt; 0\",\"Parameter4\":\"\\u03bc&gt;\",\"Description4\":\"Is the mean.\\n\\nDefault: 1\\nRange: \\u03bc &gt; 0\"},{\"Name\":\"PDF*25\",\"Definition\":\"The PDF function for the Weibull distribution returns the probability density function of a Weibull distribution, with the shape parameter a and the scale parameter \\u03bb. The PDF function is evaluated at the value x.\",\"Parameter1\":\"'WEIBULL'\",\"Description1\":\"Is a character constant, variable, or expression that identifies the distribution.\",\"Parameter2\":\"x\",\"Description2\":\"Is a numeric random variable.\",\"Parameter3\":\"a&lt;\",\"Description3\":\"Is a numeric shape parameter. Range: a &gt; 0.\",\"Parameter4\":\"\\u03bb&gt;\",\"Description4\":\"Is a numeric scale parameter. Default: 1. Range: \\u03bb &gt; 0.\"},{\"Name\":\"CDF*1\",\"Definition\":\"The CDF function for the Bernoulli distribution returns the probability that an observation from a Bernoulli distribution, with probability of success equal to p, is less than or equal to x.\",\"Parameter1\":\"'BERNOULLI'\",\"Description1\":\"Is a character constant, variable, or expression that identifies the distribution.\",\"Parameter2\":\"x\",\"Description2\":\"Is a numeric random variable.\",\"Parameter3\":\"p\",\"Description3\":\"Is a numeric probability of success. Range: 0 \\u2264 p \\u2264 1.\"},{\"Name\":\"CDF*2\",\"Definition\":\"The CDF function for the beta distribution returns the probability that an observation from a beta distribution, with shape parameters a and b, is less than or equal to v.\",\"Parameter1\":\"'BETA'\",\"Description1\":\"Is a character constant, variable, or expression that identifies the distribution.\",\"Parameter2\":\"x\",\"Description2\":\"Is a numeric random variable.\",\"Parameter3\":\"a\",\"Description3\":\"Is a numeric shape parameter. Range: a &gt; 0.\",\"Parameter4\":\"b&lt;\",\"Description4\":\"Is a numeric shape parameter. Range: b &gt; 0.\",\"Parameter5\":\"l\",\"Description5\":\"Is the numeric left location parameter. Default: 0.\",\"Parameter6\":\"r&gt;\",\"Description6\":\"Is the right location parameter. Default: 0.  Range: r&gt;l.\"},{\"Name\":\"CDF*3\",\"Definition\":\"The CDF function for the binomial distribution returns the probability that an observation from a binomial distribution, with parameters p and n, is less than or equal to m.\",\"Parameter1\":\"'BINOMIAL'\",\"Description1\":\"Is a character constant, variable, or expression that identifies the distribution.\",\"Parameter2\":\"m\",\"Description2\":\"Is an integer random variable that counts the number of successes.\",\"Parameter3\":\"p\",\"Description3\":\"Is a numeric probability of success. Range: 0 \\u2264 p \\u2264 1.\",\"Parameter4\":\"n\",\"Description4\":\"Is an integer parameter that counts the number of independent Bernoulli trials.\"},{\"Name\":\"CDF*4\",\"Definition\":\"The CDF function for the Cauchy distribution returns the probability that an observation from a Cauchy distribution, with the location parameter \\u03b8 and the scale parameter \\u03bb, is less than or equal to x.\",\"Parameter1\":\"'CAUCHY'\",\"Description1\":\"Is a character constant, variable, or expression that identifies the distribution.\",\"Parameter2\":\"x&lt;\",\"Description2\":\"Is a numeric random variable.\",\"Parameter3\":\"\\u03b8\",\"Description3\":\"Is a numeric location parameter. Default: 0.\",\"Parameter4\":\"\\u03bb&gt;\",\"Description4\":\"Is a numeric scale parameter. Default: 1. Range: \\u03bb &gt; 0.\"},{\"Name\":\"CDF*5\",\"Definition\":\"The CDF function for the chi-square distribution returns the probability that an observation from a chi-square distribution, with df degrees of freedom and the non-centrality parameter nc, is less than or equal to x.\",\"Parameter1\":\"'CHISQUARE'\",\"Description1\":\"Is a character constant, variable, or expression that identifies the distribution.\",\"Parameter2\":\"x\",\"Description2\":\"Is a numeric random variable.\",\"Parameter3\":\"df&lt;\",\"Description3\":\"Is a numeric degrees of freedom parameter. Range: df &gt; 0.\",\"Parameter4\":\"nc&gt;\",\"Description4\":\"Is an optional numeric non-centrality parameter. Range: nc \\u2265 0.\"},{\"Name\":\"CDF*6\",\"Definition\":\"The CDF function returns cumulative probability from 0 to y.\",\"Parameter1\":\"'CONMAXPOI'\",\"Description1\":\"Is a character constant, variable, or expression that identifies the distribution.\",\"Parameter2\":\"y\",\"Description2\":\"Is a nonnegative integer that represents counts data.\",\"Parameter3\":\"\\u03bb\",\"Description3\":\"Is similar to the mean, as in the Poisson distribution.\",\"Parameter4\":\"\\u03bd\",\"Description4\":\"Is a dispersion parameter.\"},{\"Name\":\"CDF*7\",\"Definition\":\"The CDF function for the exponential distribution returns the probability that an observation from an exponential distribution, with the scale parameter \\u03bb, is less than or equal to x.\",\"Parameter1\":\"'EXPONENTIAL'\",\"Description1\":\"Is a character constant, variable, or expression that identifies the distribution.\",\"Parameter2\":\"x&lt;\",\"Description2\":\"Is a numeric random variable.\",\"Parameter4\":\"\\u03bb&gt;\",\"Description4\":\"Is a numeric scale parameter. Default: 1. Range: \\u03bb &gt; 0.\"},{\"Name\":\"CDF*8\",\"Definition\":\"The CDF function for the F distribution returns the probability that an observation from an F distribution, with ndf numerator degrees of freedom, ddf denominator degrees of freedom, and the non-centrality parameter nc, is less than or equal to x.\",\"Parameter1\":\"'F'\",\"Description1\":\"Is a character constant, variable, or expression that identifies the distribution.\",\"Parameter2\":\"x\",\"Description2\":\"Is a numeric random variable.\",\"Parameter3\":\"ndf\",\"Description3\":\"Is a numeric numerator degrees of freedom parameter. Range: ndf &gt; 0.\",\"Parameter4\":\"ddf&lt;\",\"Description4\":\"Is a numeric denominator degrees of freedom parameter. Range: ddf &gt; 0.\",\"Parameter5\":\"nc&gt;\",\"Description5\":\"Is a numeric non-centrality parameter. Range: nc &gt; =0.\"},{\"Name\":\"CDF*9\",\"Definition\":\"The CDF function for the gamma distribution returns the probability that an observation from a gamma distribution, with the shape parameter a and the scale parameter \\u03bb, is less than or equal to x.\",\"Parameter1\":\"'GAMMA'\",\"Description1\":\"Is a character constant, variable, or expression that identifies the distribution.\",\"Parameter2\":\"x\",\"Description2\":\"Is a numeric random variable.\",\"Parameter3\":\"a&lt;\",\"Description3\":\"Is a numeric shape parameter. Range: a &gt; 0.\",\"Parameter4\":\"\\u03bb&gt;\",\"Description4\":\"Is a numeric scale parameter. Default: 1. Range: \\u03bb &gt; 0.\"},{\"Name\":\"CDF*10\",\"Definition\":\"Probability mass function for the generalized Poisson distribution.\",\"Parameter1\":\"'GENPOISSON'\",\"Description1\":\"Is a character constant, variable, or expression that identifies the distribution.\",\"Parameter2\":\"x\",\"Description2\":\"Is an integer random variable.\",\"Parameter3\":\"\\u03b8\",\"Description3\":\"\\n      Specifies a shape parameter.\\n\\n      Range &lt;10^5 and &gt;0\\n    \",\"Parameter4\":\"\\u03b7&gt;\",\"Description4\":\"\\n      Specifies a shape parameter.\\n\\n      Range: \\u22650 and &lt;0.95\\n    \"},{\"Name\":\"CDF*11\",\"Definition\":\"The CDF function for the geometric distribution returns the probability that an observation from a geometric distribution, with the parameter p, is less than or equal to m.\",\"Parameter1\":\"'GEOMETRIC'\",\"Description1\":\"Is a character constant, variable, or expression that identifies the distribution.\",\"Parameter2\":\"m\",\"Description2\":\"Is a numeric random variable that denotes the number of failures before the first success. Range: m \\u2265 0.\",\"Parameter3\":\"p\",\"Description3\":\"Is a numeric probability of success. Range: 0 \\u2264 p \\u2264 1.\"},{\"Name\":\"CDF*12\",\"Definition\":\"The CDF function for the hypergeometric distribution returns the probability that an observation from an extended hypergeometric distribution, with population size N, number of items R, sample size n, and odds ratio o, is less than or equal to x.\",\"Parameter1\":\"'HYPERGEOMETRIC'\",\"Description1\":\"Is a character constant, variable, or expression that identifies the distribution.\",\"Parameter2\":\"x\",\"Description2\":\"Is an integer random variable.\",\"Parameter3\":\"N\",\"Description3\":\"Is an integer population size parameter. Range: N = 1, 2, ...\",\"Parameter4\":\"R\",\"Description4\":\"Is an integer number of items in the category of interest. Range: R = 0, 1, ..., N\",\"Parameter5\":\"n&lt;\",\"Description5\":\"Is an integer sample size parameter. Range: n = 1, 2, ..., N\",\"Parameter6\":\"o&gt;\",\"Description6\":\"Is an optional numeric odds ratio parameter. Range: o &gt; 0.\"},{\"Name\":\"CDF*13\",\"Definition\":\"The CDF function for the Laplace distribution returns the probability that an observation from the Laplace distribution, with the location parameter \\u03b8 and the scale parameter \\u03bb, is less than or equal to x.\",\"Parameter1\":\"'LAPLACE'\",\"Description1\":\"Is a character constant, variable, or expression that identifies the distribution.\",\"Parameter2\":\"x&lt;\",\"Description2\":\"Is a numeric random variable.\",\"Parameter3\":\"\\u03b8\",\"Description3\":\"Is a numeric location parameter. Default: 0\",\"Parameter4\":\"\\u03bb&gt;\",\"Description4\":\"Is a numeric scale parameter. Default: 1. Range: \\u03bb &gt; 0.\"},{\"Name\":\"CDF*14\",\"Definition\":\"The CDF function for the Logistic distribution returns the probability that an observation from a Logistic distribution, with the location parameter \\u03b8 and the scale parameter \\u03bb, is less than or equal to x.\",\"Parameter1\":\"'LOGISTIC'\",\"Description1\":\"Is a character constant, variable, or expression that identifies the distribution.\",\"Parameter2\":\"x&lt;\",\"Description2\":\"Is a numeric random variable.\",\"Parameter3\":\"\\u03b8\",\"Description3\":\"Is a numeric location parameter. Default: 0\",\"Parameter4\":\"\\u03bb&gt;\",\"Description4\":\"Is a numeric scale parameter. Default: 1. Range: \\u03bb &gt; 0.\"},{\"Name\":\"CDF*15\",\"Definition\":\"The CDF function for the lognormal distribution returns the probability that an observation from a lognormal distribution, with the log scale parameter \\u03b8 and the shape parameter \\u03bb, is less than or equal to x.\",\"Parameter1\":\"'LOGNORMAL'\",\"Description1\":\"Is a character constant, variable, or expression that identifies the distribution.\",\"Parameter2\":\"x&lt;\",\"Description2\":\"Is a numeric random variable.\",\"Parameter3\":\"\\u03b8\",\"Description3\":\"Is a numeric location parameter. Default: 0\",\"Parameter4\":\"\\u03bb&gt;\",\"Description4\":\"Is a numeric scale parameter. Default: 1. Range: \\u03bb &gt; 0.\"},{\"Name\":\"CDF*16\",\"Definition\":\"The CDF function for the negative binomial distribution returns the probability that an observation from a negative binomial distribution, with the probability of success p and the number of successes n, is less than or equal to m.\",\"Parameter1\":\"'NEGBINOMIAL'\",\"Description1\":\"Is a character constant, variable, or expression that identifies the distribution.\",\"Parameter2\":\"m\",\"Description2\":\"Is a positive integer random variable that counts the number of failures. Range: m= 0, 1, ...\",\"Parameter3\":\"p\",\"Description3\":\"Is a numeric probability of success. Range: 0 \\u2264 p \\u2264 1.\",\"Parameter4\":\"n\",\"Description4\":\"Is a numeric value that counts the number of successes. Range: n &gt; 0.\"},{\"Name\":\"CDF*17\",\"Definition\":\"The CDF function for the Normal distribution returns the probability that an observation from the Normal distribution, with the location parameter \\u03b8 and the scale parameter \\u03bb, is less than or equal to x.\",\"Parameter1\":\"'NORMAL'\",\"Description1\":\"Is a character constant, variable, or expression that identifies the distribution.\",\"Parameter2\":\"x&lt;\",\"Description2\":\"Is a numeric random variable.\",\"Parameter3\":\"\\u03b8\",\"Description3\":\"Is a numeric location parameter. Default: 0\",\"Parameter4\":\"\\u03bb&gt;\",\"Description4\":\"Is a numeric scale parameter. Default: 1. Range: \\u03bb &gt; 0.\"},{\"Name\":\"CDF*18\",\"Definition\":\"The CDF function for the Normal Mixture distribution returns the probability that an observation from a mixture of normal distribution is less than or equal to x.\",\"Parameter1\":\"'NORMALMIX'\",\"Description1\":\"Is a character constant, variable, or expression that identifies the distribution.\",\"Parameter2\":\"x\",\"Description2\":\"Is a numeric random variable.\",\"Parameter3\":\"n\",\"Description3\":\"Is the integer number of mixtures. Range: n = 1, 2, ...\",\"Parameter4\":\"p\",\"Description4\":\"Is the n proportions, p1, p2, ..., pn, where sum of p1 to pn is equal to 1. Range: p = 0, 1, ...\",\"Parameter5\":\"m\",\"Description5\":\"Is the n means, m1, m2, ...,mn.\",\"Parameter6\":\"s\",\"Description6\":\"Is the n standard deviations, s1, s2, ..., sn. Range: s &gt; 0.\"},{\"Name\":\"CDF*19\",\"Definition\":\"The CDF function for the Pareto distribution returns the probability that an observation from a Pareto distribution, with the shape parameter a and the scale parameter k, is less than or equal to x.\",\"Parameter1\":\"'PARETO'\",\"Description1\":\"Is a character constant, variable, or expression that identifies the distribution.\",\"Parameter2\":\"x\",\"Description2\":\"Is a numeric random variable.\",\"Parameter3\":\"a&lt;\",\"Description3\":\"Is a numeric shape parameter. Range: a &gt; 0.\",\"Parameter4\":\"k&gt;\",\"Description4\":\"Is a numeric scale parameter. Default: 1. Range: k &gt; 0.\"},{\"Name\":\"CDF*20\",\"Definition\":\"The CDF function for the Poisson distribution returns the probability that an observation from a Poisson distribution, with mean m, is less than or equal to n.\",\"Parameter1\":\"'POISSON'\",\"Description1\":\"Is a character constant, variable, or expression that identifies the distribution.\",\"Parameter2\":\"n\",\"Description2\":\"Is an integer random variable. Range: n= 0, 1, ...\",\"Parameter3\":\"m\",\"Description3\":\"Is a numeric mean parameter. Range: m &gt; 0.\"},{\"Name\":\"CDF*21\",\"Definition\":\"The CDF function for the T distribution returns the probability that an observation from a T distribution, with degrees of freedom df and the non-centrality parameter nc, is less than or equal to x.\",\"Parameter1\":\"'T'\",\"Description1\":\"Is a character constant, variable, or expression that identifies the distribution.\",\"Parameter2\":\"t\",\"Description2\":\"Is a numeric random variable.\",\"Parameter3\":\"df&lt;\",\"Description3\":\"Is a numeric degrees of freedom parameter. Range: df &gt; 0.\",\"Parameter4\":\"nc&gt;\",\"Description4\":\"Is an optional numeric non-centrality parameter.\"},{\"Name\":\"CDF*22\",\"Definition\":\"The CDF function for the Tweedie distribution returns an exponential dispersion model with variance and mean related by the equation variance.\",\"Parameter1\":\"'TWEEDIE'\",\"Description1\":\"Is a character constant, variable, or expression that identifies the distribution.\",\"Parameter2\":\"y\",\"Description2\":\"\\n      Is a random variable.\\n\\n      Range: y \\u22650\\n      Notes:  This argument is required.\\n      When y&gt;1, y is numeric. When p=1, y is an integer.\\n    \",\"Parameter3\":\"p&lt;\",\"Description3\":\"\\n      Is the power parameter.\\n\\n      Range: p \\u22651\\n      Note:  This argument is required.\\n    \",\"Parameter4\":\"\\u03bc\",\"Description4\":\"\\n      Is the mean.\\n\\n      Default: 1\\n      Range: \\u03bc &gt; 0\\n    \",\"Parameter5\":\"\\u03c6&gt;\",\"Description5\":\"\\n      Is the dispersion parameter.\\n\\n      Default: 1\\n      Range: \\u03c6&gt;0\\n    \"},{\"Name\":\"CDF*23\",\"Definition\":\"The CDF function for the uniform distribution returns the probability that an observation from a uniform distribution, with the left location parameter l and the right location parameter r, is less than or equal to x.\",\"Parameter1\":\"'UNIFORM'\",\"Description1\":\"Is a character constant, variable, or expression that identifies the distribution.\",\"Parameter2\":\"x\",\"Description2\":\"Is a numeric random variable.\",\"Parameter3\":\"l\",\"Description3\":\"Is the numeric left location parameter. Default: 0.\",\"Parameter4\":\"r\",\"Description4\":\"Is the numeric right location parameter. Default: 1. Range: r&gt;l.\"},{\"Name\":\"CDF*24\",\"Definition\":\"The CDF function for the Wald distribution returns the probability that an observation from a Wald distribution, with the shape parameter \\u03bb, is less than or equal to x.\",\"Parameter1\":\"'WALD'\",\"Description1\":\"Is a character constant, variable, or expression that identifies the distribution.\",\"Parameter2\":\"x\",\"Description2\":\"Is a numeric random variable.\",\"Parameter3\":\"\\u03bb&lt;\",\"Description3\":\"\\n      Is a numeric shape parameter.\\n\\n      Range: \\u03bb &gt; 0\\n    \",\"Parameter4\":\"\\u03bc&gt;\",\"Description4\":\"\\n      Is the mean.\\n\\n      Default: 1\\n      Range: \\u03bc &gt; 0\\n    \"},{\"Name\":\"CDF*25\",\"Definition\":\"The CDF function for the Weibull distribution returns the probability that an observation from a Weibull distribution, with the shape parameter a and the scale parameter \\u03bb, is less than or equal to x.\",\"Parameter1\":\"'WEIBULL'\",\"Description1\":\"Is a character constant, variable, or expression that identifies the distribution.\",\"Parameter2\":\"x\",\"Description2\":\"Is a numeric random variable.\",\"Parameter3\":\"a&lt;\",\"Description3\":\"Is a numeric shape parameter. Range: a &gt; 0.\",\"Parameter4\":\"\\u03bb&gt;\",\"Description4\":\"Is a numeric scale parameter. Default: 1. Range: \\u03bb &gt; 0.\"},{\"Name\":\"SDF*1\",\"Definition\":\"The SDF function computes the survival function (upper tail) from various continuous and discrete distributions.\",\"Parameter1\":\"'BERNOULLI'\",\"Description1\":\"Is a character constant, variable, or expression that identifies the distribution.\",\"Parameter2\":\"x\",\"Description2\":\"Is a numeric random variable.\",\"Parameter3\":\"p\",\"Description3\":\"Is a numeric probability of success. Range: 0 \\u2264 p \\u2264 1.\"},{\"Name\":\"SDF*2\",\"Definition\":\"The SDF function computes the survival function (upper tail) from various continuous and discrete distributions.\",\"Parameter1\":\"'BETA'\",\"Description1\":\"Is a character constant, variable, or expression that identifies the distribution.\",\"Parameter2\":\"x\",\"Description2\":\"Is a numeric random variable.\",\"Parameter3\":\"a\",\"Description3\":\"Is a numeric shape parameter. Range: a &gt; 0.\",\"Parameter4\":\"b&lt;\",\"Description4\":\"Is a numeric shape parameter. Range: b &gt; 0.\",\"Parameter5\":\"l\",\"Description5\":\"Is the numeric left location parameter. Default: 0.\",\"Parameter6\":\"r&gt;\",\"Description6\":\"Is the right location parameter. Default: 0.  Range: r&gt;l.\"},{\"Name\":\"SDF*3\",\"Definition\":\"The SDF function computes the survival function (upper tail) from various continuous and discrete distributions.\",\"Parameter1\":\"'BINOMIAL'\",\"Description1\":\"Is a character constant, variable, or expression that identifies the distribution.\",\"Parameter2\":\"m\",\"Description2\":\"Is an integer random variable that counts the number of successes.\",\"Parameter3\":\"p\",\"Description3\":\"Is a numeric probability of success. Range: 0 \\u2264 p \\u2264 1.\",\"Parameter4\":\"n\",\"Description4\":\"Is an integer parameter that counts the number of independent Bernoulli trials.\"},{\"Name\":\"SDF*4\",\"Definition\":\"The SDF function computes the survival function (upper tail) from various continuous and discrete distributions.\",\"Parameter1\":\"'CAUCHY'\",\"Description1\":\"Is a character constant, variable, or expression that identifies the distribution.\",\"Parameter2\":\"x&lt;\",\"Description2\":\"Is a numeric random variable.\",\"Parameter3\":\"\\u03b8\",\"Description3\":\"Is a numeric location parameter. Default: 0.\",\"Parameter4\":\"\\u03bb&gt;\",\"Description4\":\"Is a numeric scale parameter. Default: 1. Range: \\u03bb &gt; 0.\"},{\"Name\":\"SDF*5\",\"Definition\":\"The SDF function computes the survival function (upper tail) from various continuous and discrete distributions.\",\"Parameter1\":\"'CHISQUARE'\",\"Description1\":\"Is a character constant, variable, or expression that identifies the distribution.\",\"Parameter2\":\"x\",\"Description2\":\"Is a numeric random variable.\",\"Parameter3\":\"df&lt;\",\"Description3\":\"Is a numeric degrees of freedom parameter. Range: df &gt; 0.\",\"Parameter4\":\"nc&gt;\",\"Description4\":\"Is an optional numeric non-centrality parameter. Range: nc \\u2265 0.\"},{\"Name\":\"SDF*6\",\"Definition\":\"The SDF function computes the survival function (upper tail) from various continuous and discrete distributions.\",\"Parameter1\":\"'CONMAXPOI'\",\"Description1\":\"Is a character constant, variable, or expression that identifies the distribution.\",\"Parameter2\":\"y\",\"Description2\":\"Is a nonnegative integer that represents counts data.\",\"Parameter3\":\"\\u03bb\",\"Description3\":\"Is similar to the mean, as in the Poisson distribution.\",\"Parameter4\":\"\\u03bd\",\"Description4\":\"Is a dispersion parameter.\"},{\"Name\":\"SDF*7\",\"Definition\":\"The SDF function computes the survival function (upper tail) from various continuous and discrete distributions.\",\"Parameter1\":\"'EXPONENTIAL'\",\"Description1\":\"Is a character constant, variable, or expression that identifies the distribution.\",\"Parameter2\":\"x&lt;\",\"Description2\":\"Is a numeric random variable.\",\"Parameter4\":\"\\u03bb&gt;\",\"Description4\":\"Is a numeric scale parameter. Default: 1. Range: \\u03bb &gt; 0.\"},{\"Name\":\"SDF*8\",\"Definition\":\"The SDF function computes the survival function (upper tail) from various continuous and discrete distributions.\",\"Parameter1\":\"'F'\",\"Description1\":\"Is a character constant, variable, or expression that identifies the distribution.\",\"Parameter2\":\"x\",\"Description2\":\"Is a numeric random variable.\",\"Parameter3\":\"ndf\",\"Description3\":\"Is a numeric numerator degrees of freedom parameter. Range: ndf &gt; 0.\",\"Parameter4\":\"ddf&lt;\",\"Description4\":\"Is a numeric denominator degrees of freedom parameter. Range: ddf &gt; 0.\",\"Parameter5\":\"nc&gt;\",\"Description5\":\"Is a numeric non-centrality parameter. Range: nc &gt; =0.\"},{\"Name\":\"SDF*9\",\"Definition\":\"The SDF function computes the survival function (upper tail) from various continuous and discrete distributions.\",\"Parameter1\":\"'GAMMA'\",\"Description1\":\"Is a character constant, variable, or expression that identifies the distribution.\",\"Parameter2\":\"x\",\"Description2\":\"Is a numeric random variable.\",\"Parameter3\":\"a&lt;\",\"Description3\":\"Is a numeric shape parameter. Range: a &gt; 0.\",\"Parameter4\":\"\\u03bb&gt;\",\"Description4\":\"Is a numeric scale parameter. Default: 1. Range: \\u03bb &gt; 0.\"},{\"Name\":\"SDF*10\",\"Definition\":\"The SDF function computes the survival function (upper tail) from various continuous and discrete distributions.\",\"Parameter1\":\"'GENPOISSON'\",\"Description1\":\"Is a character constant, variable, or expression that identifies the distribution.\",\"Parameter2\":\"x\",\"Description2\":\"Is an integer random variable.\",\"Parameter3\":\"\\u03b8\",\"Description3\":\"\\n      Specifies a shape parameter.\\n\\n      Range &lt;10^5 and &gt;0\\n    \",\"Parameter4\":\"\\u03b7&gt;\",\"Description4\":\"\\n      Specifies a shape parameter.\\n\\n      Range: \\u22650 and &lt;0.95\\n    \"},{\"Name\":\"SDF*11\",\"Definition\":\"The SDF function computes the survival function (upper tail) from various continuous and discrete distributions.\",\"Parameter1\":\"'GEOMETRIC'\",\"Description1\":\"Is a character constant, variable, or expression that identifies the distribution.\",\"Parameter2\":\"m\",\"Description2\":\"Is a numeric random variable that denotes the number of failures before the first success. Range: m \\u2265 0.\",\"Parameter3\":\"p\",\"Description3\":\"Is a numeric probability of success. Range: 0 \\u2264 p \\u2264 1.\"},{\"Name\":\"SDF*12\",\"Definition\":\"The SDF function computes the survival function (upper tail) from various continuous and discrete distributions.\",\"Parameter1\":\"'HYPERGEOMETRIC'\",\"Description1\":\"Is a character constant, variable, or expression that identifies the distribution.\",\"Parameter2\":\"x\",\"Description2\":\"Is an integer random variable.\",\"Parameter3\":\"N\",\"Description3\":\"Is an integer population size parameter. Range: N = 1, 2, ...\",\"Parameter4\":\"R\",\"Description4\":\"Is an integer number of items in the category of interest. Range: R = 0, 1, ..., N\",\"Parameter5\":\"n&lt;\",\"Description5\":\"Is an integer sample size parameter. Range: n = 1, 2, ..., N\",\"Parameter6\":\"o&gt;\",\"Description6\":\"Is an optional numeric odds ratio parameter. Range: o &gt; 0.\"},{\"Name\":\"SDF*13\",\"Definition\":\"The SDF function computes the survival function (upper tail) from various continuous and discrete distributions.\",\"Parameter1\":\"'LAPLACE'\",\"Description1\":\"Is a character constant, variable, or expression that identifies the distribution.\",\"Parameter2\":\"x&lt;\",\"Description2\":\"Is a numeric random variable.\",\"Parameter3\":\"\\u03b8\",\"Description3\":\"Is a numeric location parameter. Default: 0\",\"Parameter4\":\"\\u03bb&gt;\",\"Description4\":\"Is a numeric scale parameter. Default: 1. Range: \\u03bb &gt; 0.\"},{\"Name\":\"SDF*14\",\"Definition\":\"The SDF function computes the survival function (upper tail) from various continuous and discrete distributions.\",\"Parameter1\":\"'LOGISTIC'\",\"Description1\":\"Is a character constant, variable, or expression that identifies the distribution.\",\"Parameter2\":\"x&lt;\",\"Description2\":\"Is a numeric random variable.\",\"Parameter3\":\"\\u03b8\",\"Description3\":\"Is a numeric location parameter. Default: 0\",\"Parameter4\":\"\\u03bb&gt;\",\"Description4\":\"Is a numeric scale parameter. Default: 1. Range: \\u03bb &gt; 0.\"},{\"Name\":\"SDF*15\",\"Definition\":\"The SDF function computes the survival function (upper tail) from various continuous and discrete distributions.\",\"Parameter1\":\"'LOGNORMAL'\",\"Description1\":\"Is a character constant, variable, or expression that identifies the distribution.\",\"Parameter2\":\"x&lt;\",\"Description2\":\"Is a numeric random variable.\",\"Parameter3\":\"\\u03b8\",\"Description3\":\"Is a numeric location parameter. Default: 0\",\"Parameter4\":\"\\u03bb&gt;\",\"Description4\":\"Is a numeric scale parameter. Default: 1. Range: \\u03bb &gt; 0.\"},{\"Name\":\"SDF*16\",\"Definition\":\"The SDF function computes the survival function (upper tail) from various continuous and discrete distributions.\",\"Parameter1\":\"'NEGBINOMIAL'\",\"Description1\":\"Is a character constant, variable, or expression that identifies the distribution.\",\"Parameter2\":\"m\",\"Description2\":\"Is a positive integer random variable that counts the number of failures. Range: m= 0, 1, ...\",\"Parameter3\":\"p\",\"Description3\":\"Is a numeric probability of success. Range: 0 \\u2264 p \\u2264 1.\",\"Parameter4\":\"n\",\"Description4\":\"Is a numeric value that counts the number of successes. Range: n &gt; 0.\"},{\"Name\":\"SDF*17\",\"Definition\":\"The SDF function computes the survival function (upper tail) from various continuous and discrete distributions.\",\"Parameter1\":\"'NORMAL'\",\"Description1\":\"Is a character constant, variable, or expression that identifies the distribution.\",\"Parameter2\":\"x&lt;\",\"Description2\":\"Is a numeric random variable.\",\"Parameter3\":\"\\u03b8\",\"Description3\":\"Is a numeric location parameter. Default: 0\",\"Parameter4\":\"\\u03bb&gt;\",\"Description4\":\"Is a numeric scale parameter. Default: 1. Range: \\u03bb &gt; 0.\"},{\"Name\":\"SDF*18\",\"Definition\":\"The SDF function computes the survival function (upper tail) from various continuous and discrete distributions.\",\"Parameter1\":\"'NORMALMIX'\",\"Description1\":\"Is a character constant, variable, or expression that identifies the distribution.\",\"Parameter2\":\"x\",\"Description2\":\"Is a numeric random variable.\",\"Parameter3\":\"n\",\"Description3\":\"Is the integer number of mixtures. Range: n = 1, 2, ...\",\"Parameter4\":\"p\",\"Description4\":\"Is the n proportions, p1, p2, ..., pn, where sum of p1 to pn is equal to 1. Range: p = 0, 1, ...\",\"Parameter5\":\"m\",\"Description5\":\"Is the n means, m1, m2, ...,mn.\",\"Parameter6\":\"s\",\"Description6\":\"Is the n standard deviations, s1, s2, ..., sn. Range: s &gt; 0.\"},{\"Name\":\"SDF*19\",\"Definition\":\"The SDF function computes the survival function (upper tail) from various continuous and discrete distributions.\",\"Parameter1\":\"'PARETO'\",\"Description1\":\"Is a character constant, variable, or expression that identifies the distribution.\",\"Parameter2\":\"x\",\"Description2\":\"Is a numeric random variable.\",\"Parameter3\":\"a&lt;\",\"Description3\":\"Is a numeric shape parameter. Range: a &gt; 0.\",\"Parameter4\":\"k&gt;\",\"Description4\":\"Is a numeric scale parameter. Default: 1. Range: k &gt; 0.\"},{\"Name\":\"SDF*20\",\"Definition\":\"The SDF function computes the survival function (upper tail) from various continuous and discrete distributions.\",\"Parameter1\":\"'POISSON'\",\"Description1\":\"Is a character constant, variable, or expression that identifies the distribution.\",\"Parameter2\":\"n\",\"Description2\":\"Is an integer random variable. Range: n= 0, 1, ...\",\"Parameter3\":\"m\",\"Description3\":\"Is a numeric mean parameter. Range: m &gt; 0.\"},{\"Name\":\"SDF*21\",\"Definition\":\"The SDF function computes the survival function (upper tail) from various continuous and discrete distributions.\",\"Parameter1\":\"'T'\",\"Description1\":\"Is a character constant, variable, or expression that identifies the distribution.\",\"Parameter2\":\"t\",\"Description2\":\"Is a numeric random variable.\",\"Parameter3\":\"df&lt;\",\"Description3\":\"Is a numeric degrees of freedom parameter. Range: df &gt; 0.\",\"Parameter4\":\"nc&gt;\",\"Description4\":\"Is an optional numeric non-centrality parameter.\"},{\"Name\":\"SDF*22\",\"Definition\":\"The SDF function computes the survival function (upper tail) from various continuous and discrete distributions.\",\"Parameter1\":\"'TWEEDIE'\",\"Description1\":\"Is a character constant, variable, or expression that identifies the distribution.\",\"Parameter2\":\"y\",\"Description2\":\"\\n      Is a random variable.\\n\\n      Range: y \\u22650\\n      Notes:  This argument is required.\\n      When y&gt;1, y is numeric. When p=1, y is an integer.\\n    \",\"Parameter3\":\"p&lt;\",\"Description3\":\"\\n      Is the power parameter.\\n\\n      Range: p \\u22651\\n      Note:  This argument is required.\\n    \",\"Parameter4\":\"\\u03bc\",\"Description4\":\"\\n      Is the mean.\\n\\n      Default: 1\\n      Range: \\u03bc &gt; 0\\n    \",\"Parameter5\":\"\\u03c6&gt;\",\"Description5\":\"\\n      Is the dispersion parameter.\\n\\n      Default: 1\\n      Range: \\u03c6&gt;0\\n    \"},{\"Name\":\"SDF*23\",\"Definition\":\"The SDF function computes the survival function (upper tail) from various continuous and discrete distributions.\",\"Parameter1\":\"'UNIFORM'\",\"Description1\":\"Is a character constant, variable, or expression that identifies the distribution.\",\"Parameter2\":\"x\",\"Description2\":\"Is a numeric random variable.\",\"Parameter3\":\"l\",\"Description3\":\"Is the numeric left location parameter. Default: 0.\",\"Parameter4\":\"r\",\"Description4\":\"Is the numeric right location parameter. Default: 1. Range: r&gt;l.\"},{\"Name\":\"SDF*24\",\"Definition\":\"The SDF function computes the survival function (upper tail) from various continuous and discrete distributions.\",\"Parameter1\":\"'WALD'\",\"Description1\":\"Is a character constant, variable, or expression that identifies the distribution.\",\"Parameter2\":\"x\",\"Description2\":\"Is a numeric random variable.\",\"Parameter3\":\"\\u03bb&lt;\",\"Description3\":\"\\n      Is a numeric shape parameter.\\n\\n      Range: \\u03bb &gt; 0\\n    \",\"Parameter4\":\"\\u03bc&gt;\",\"Description4\":\"\\n      Is the mean.\\n\\n      Default: 1\\n      Range: \\u03bc &gt; 0\\n    \"},{\"Name\":\"SDF*25\",\"Definition\":\"The SDF function computes the survival function (upper tail) from various continuous and discrete distributions.\",\"Parameter1\":\"'WEIBULL'\",\"Description1\":\"Is a character constant, variable, or expression that identifies the distribution.\",\"Parameter2\":\"x\",\"Description2\":\"Is a numeric random variable.\",\"Parameter3\":\"a&lt;\",\"Description3\":\"Is a numeric shape parameter. Range: a &gt; 0.\",\"Parameter4\":\"\\u03bb&gt;\",\"Description4\":\"Is a numeric scale parameter. Default: 1. Range: \\u03bb &gt; 0.\"},{\"Name\":\"QUANTILE*1\",\"Definition\":\"The QUANTILE function computes the quantile from the specified continuous or discrete distribution, based on the probability value that is provided.\",\"Parameter1\":\"'BERNOULLI'\",\"Description1\":\"Is a character constant, variable, or expression that identifies the distribution.\",\"Parameter2\":\"x\",\"Description2\":\"Is a numeric random variable.\",\"Parameter3\":\"p\",\"Description3\":\"Is a numeric probability of success. Range: 0 \\u2264 p \\u2264 1.\"},{\"Name\":\"QUANTILE*2\",\"Definition\":\"The QUANTILE function computes the quantile from the specified continuous or discrete distribution, based on the probability value that is provided.\",\"Parameter1\":\"'BETA'\",\"Description1\":\"Is a character constant, variable, or expression that identifies the distribution.\",\"Parameter2\":\"x\",\"Description2\":\"Is a numeric random variable.\",\"Parameter3\":\"a\",\"Description3\":\"Is a numeric shape parameter. Range: a &gt; 0.\",\"Parameter4\":\"b&lt;\",\"Description4\":\"Is a numeric shape parameter. Range: b &gt; 0.\",\"Parameter5\":\"l\",\"Description5\":\"Is the numeric left location parameter. Default: 0.\",\"Parameter6\":\"r&gt;\",\"Description6\":\"Is the right location parameter. Default: 0.  Range: r&gt;l.\"},{\"Name\":\"QUANTILE*3\",\"Definition\":\"The QUANTILE function computes the quantile from the specified continuous or discrete distribution, based on the probability value that is provided.\",\"Parameter1\":\"'BINOMIAL'\",\"Description1\":\"Is a character constant, variable, or expression that identifies the distribution.\",\"Parameter2\":\"m\",\"Description2\":\"Is an integer random variable that counts the number of successes.\",\"Parameter3\":\"p\",\"Description3\":\"Is a numeric probability of success. Range: 0 \\u2264 p \\u2264 1.\",\"Parameter4\":\"n\",\"Description4\":\"Is an integer parameter that counts the number of independent Bernoulli trials.\"},{\"Name\":\"QUANTILE*4\",\"Definition\":\"The QUANTILE function computes the quantile from the specified continuous or discrete distribution, based on the probability value that is provided.\",\"Parameter1\":\"'CAUCHY'\",\"Description1\":\"Is a character constant, variable, or expression that identifies the distribution.\",\"Parameter2\":\"x&lt;\",\"Description2\":\"Is a numeric random variable.\",\"Parameter3\":\"\\u03b8\",\"Description3\":\"Is a numeric location parameter. Default: 0.\",\"Parameter4\":\"\\u03bb&gt;\",\"Description4\":\"Is a numeric scale parameter. Default: 1. Range: \\u03bb &gt; 0.\"},{\"Name\":\"QUANTILE*5\",\"Definition\":\"The QUANTILE function computes the quantile from the specified continuous or discrete distribution, based on the probability value that is provided.\",\"Parameter1\":\"'CHISQUARE'\",\"Description1\":\"Is a character constant, variable, or expression that identifies the distribution.\",\"Parameter2\":\"x\",\"Description2\":\"Is a numeric random variable.\",\"Parameter3\":\"df&lt;\",\"Description3\":\"Is a numeric degrees of freedom parameter. Range: df &gt; 0.\",\"Parameter4\":\"nc&gt;\",\"Description4\":\"Is an optional numeric non-centrality parameter. Range: nc \\u2265 0.\"},{\"Name\":\"QUANTILE*6\",\"Definition\":\"The QUANTILE function computes the quantile from the specified continuous or discrete distribution, based on the probability value that is provided.\",\"Parameter1\":\"'CONMAXPOI'\",\"Description1\":\"Is a character constant, variable, or expression that identifies the distribution.\",\"Parameter2\":\"y\",\"Description2\":\"Is a nonnegative integer that represents counts data.\",\"Parameter3\":\"\\u03bb\",\"Description3\":\"Is similar to the mean, as in the Poisson distribution.\",\"Parameter4\":\"\\u03bd\",\"Description4\":\"Is a dispersion parameter.\"},{\"Name\":\"QUANTILE*7\",\"Definition\":\"The QUANTILE function computes the quantile from the specified continuous or discrete distribution, based on the probability value that is provided.\",\"Parameter1\":\"'EXPONENTIAL'\",\"Description1\":\"Is a character constant, variable, or expression that identifies the distribution.\",\"Parameter2\":\"x&lt;\",\"Description2\":\"Is a numeric random variable.\",\"Parameter4\":\"\\u03bb&gt;\",\"Description4\":\"Is a numeric scale parameter. Default: 1. Range: \\u03bb &gt; 0.\"},{\"Name\":\"QUANTILE*8\",\"Definition\":\"The QUANTILE function computes the quantile from the specified continuous or discrete distribution, based on the probability value that is provided.\",\"Parameter1\":\"'F'\",\"Description1\":\"Is a character constant, variable, or expression that identifies the distribution.\",\"Parameter2\":\"x\",\"Description2\":\"Is a numeric random variable.\",\"Parameter3\":\"ndf\",\"Description3\":\"Is a numeric numerator degrees of freedom parameter. Range: ndf &gt; 0.\",\"Parameter4\":\"ddf&lt;\",\"Description4\":\"Is a numeric denominator degrees of freedom parameter. Range: ddf &gt; 0.\",\"Parameter5\":\"nc&gt;\",\"Description5\":\"Is a numeric non-centrality parameter. Range: nc &gt; =0.\"},{\"Name\":\"QUANTILE*9\",\"Definition\":\"The QUANTILE function computes the quantile from the specified continuous or discrete distribution, based on the probability value that is provided.\",\"Parameter1\":\"'GAMMA'\",\"Description1\":\"Is a character constant, variable, or expression that identifies the distribution.\",\"Parameter2\":\"x\",\"Description2\":\"Is a numeric random variable.\",\"Parameter3\":\"a&lt;\",\"Description3\":\"Is a numeric shape parameter. Range: a &gt; 0.\",\"Parameter4\":\"\\u03bb&gt;\",\"Description4\":\"Is a numeric scale parameter. Default: 1. Range: \\u03bb &gt; 0.\"},{\"Name\":\"QUANTILE*10\",\"Definition\":\"The QUANTILE function computes the quantile from the specified continuous or discrete distribution, based on the probability value that is provided.\",\"Parameter1\":\"'GENPOISSON'\",\"Description1\":\"Is a character constant, variable, or expression that identifies the distribution.\",\"Parameter2\":\"x\",\"Description2\":\"Is an integer random variable.\",\"Parameter3\":\"\\u03b8\",\"Description3\":\"\\n      Specifies a shape parameter.\\n\\n      Range &lt;10^5 and &gt;0\\n    \",\"Parameter4\":\"\\u03b7&gt;\",\"Description4\":\"\\n      Specifies a shape parameter.\\n\\n      Range: \\u22650 and &lt;0.95\\n    \"},{\"Name\":\"QUANTILE*11\",\"Definition\":\"The QUANTILE function computes the quantile from the specified continuous or discrete distribution, based on the probability value that is provided.\",\"Parameter1\":\"'GEOMETRIC'\",\"Description1\":\"Is a character constant, variable, or expression that identifies the distribution.\",\"Parameter2\":\"m\",\"Description2\":\"Is a numeric random variable that denotes the number of failures before the first success. Range: m \\u2265 0.\",\"Parameter3\":\"p\",\"Description3\":\"Is a numeric probability of success. Range: 0 \\u2264 p \\u2264 1.\"},{\"Name\":\"QUANTILE*12\",\"Definition\":\"The QUANTILE function computes the quantile from the specified continuous or discrete distribution, based on the probability value that is provided.\",\"Parameter1\":\"'HYPERGEOMETRIC'\",\"Description1\":\"Is a character constant, variable, or expression that identifies the distribution.\",\"Parameter2\":\"x\",\"Description2\":\"Is an integer random variable.\",\"Parameter3\":\"N\",\"Description3\":\"Is an integer population size parameter. Range: N = 1, 2, ...\",\"Parameter4\":\"R\",\"Description4\":\"Is an integer number of items in the category of interest. Range: R = 0, 1, ..., N\",\"Parameter5\":\"n&lt;\",\"Description5\":\"Is an integer sample size parameter. Range: n = 1, 2, ..., N\",\"Parameter6\":\"o&gt;\",\"Description6\":\"Is an optional numeric odds ratio parameter. Range: o &gt; 0.\"},{\"Name\":\"QUANTILE*13\",\"Definition\":\"The QUANTILE function computes the quantile from the specified continuous or discrete distribution, based on the probability value that is provided.\",\"Parameter1\":\"'LAPLACE'\",\"Description1\":\"Is a character constant, variable, or expression that identifies the distribution.\",\"Parameter2\":\"x&lt;\",\"Description2\":\"Is a numeric random variable.\",\"Parameter3\":\"\\u03b8\",\"Description3\":\"Is a numeric location parameter. Default: 0\",\"Parameter4\":\"\\u03bb&gt;\",\"Description4\":\"Is a numeric scale parameter. Default: 1. Range: \\u03bb &gt; 0.\"},{\"Name\":\"QUANTILE*14\",\"Definition\":\"The QUANTILE function computes the quantile from the specified continuous or discrete distribution, based on the probability value that is provided.\",\"Parameter1\":\"'LOGISTIC'\",\"Description1\":\"Is a character constant, variable, or expression that identifies the distribution.\",\"Parameter2\":\"x&lt;\",\"Description2\":\"Is a numeric random variable.\",\"Parameter3\":\"\\u03b8\",\"Description3\":\"Is a numeric location parameter. Default: 0\",\"Parameter4\":\"\\u03bb&gt;\",\"Description4\":\"Is a numeric scale parameter. Default: 1. Range: \\u03bb &gt; 0.\"},{\"Name\":\"QUANTILE*15\",\"Definition\":\"The QUANTILE function computes the quantile from the specified continuous or discrete distribution, based on the probability value that is provided.\",\"Parameter1\":\"'LOGNORMAL'\",\"Description1\":\"Is a character constant, variable, or expression that identifies the distribution.\",\"Parameter2\":\"x&lt;\",\"Description2\":\"Is a numeric random variable.\",\"Parameter3\":\"\\u03b8\",\"Description3\":\"Is a numeric location parameter. Default: 0\",\"Parameter4\":\"\\u03bb&gt;\",\"Description4\":\"Is a numeric scale parameter. Default: 1. Range: \\u03bb &gt; 0.\"},{\"Name\":\"QUANTILE*16\",\"Definition\":\"The QUANTILE function computes the quantile from the specified continuous or discrete distribution, based on the probability value that is provided.\",\"Parameter1\":\"'NEGBINOMIAL'\",\"Description1\":\"Is a character constant, variable, or expression that identifies the distribution.\",\"Parameter2\":\"m\",\"Description2\":\"Is a positive integer random variable that counts the number of failures. Range: m= 0, 1, ...\",\"Parameter3\":\"p\",\"Description3\":\"Is a numeric probability of success. Range: 0 \\u2264 p \\u2264 1.\",\"Parameter4\":\"n\",\"Description4\":\"Is a numeric value that counts the number of successes. Range: n &gt; 0.\"},{\"Name\":\"QUANTILE*17\",\"Definition\":\"The QUANTILE function computes the quantile from the specified continuous or discrete distribution, based on the probability value that is provided.\",\"Parameter1\":\"'NORMAL'\",\"Description1\":\"Is a character constant, variable, or expression that identifies the distribution.\",\"Parameter2\":\"x&lt;\",\"Description2\":\"Is a numeric random variable.\",\"Parameter3\":\"\\u03b8\",\"Description3\":\"Is a numeric location parameter. Default: 0\",\"Parameter4\":\"\\u03bb&gt;\",\"Description4\":\"Is a numeric scale parameter. Default: 1. Range: \\u03bb &gt; 0.\"},{\"Name\":\"QUANTILE*18\",\"Definition\":\"The QUANTILE function computes the quantile from the specified continuous or discrete distribution, based on the probability value that is provided.\",\"Parameter1\":\"'NORMALMIX'\",\"Description1\":\"Is a character constant, variable, or expression that identifies the distribution.\",\"Parameter2\":\"x\",\"Description2\":\"Is a numeric random variable.\",\"Parameter3\":\"n\",\"Description3\":\"Is the integer number of mixtures. Range: n = 1, 2, ...\",\"Parameter4\":\"p\",\"Description4\":\"Is the n proportions, p1, p2, ..., pn, where sum of p1 to pn is equal to 1. Range: p = 0, 1, ...\",\"Parameter5\":\"m\",\"Description5\":\"Is the n means, m1, m2, ...,mn.\",\"Parameter6\":\"s\",\"Description6\":\"Is the n standard deviations, s1, s2, ..., sn. Range: s &gt; 0.\"},{\"Name\":\"QUANTILE*19\",\"Definition\":\"The QUANTILE function computes the quantile from the specified continuous or discrete distribution, based on the probability value that is provided.\",\"Parameter1\":\"'PARETO'\",\"Description1\":\"Is a character constant, variable, or expression that identifies the distribution.\",\"Parameter2\":\"x\",\"Description2\":\"Is a numeric random variable.\",\"Parameter3\":\"a&lt;\",\"Description3\":\"Is a numeric shape parameter. Range: a &gt; 0.\",\"Parameter4\":\"k&gt;\",\"Description4\":\"Is a numeric scale parameter. Default: 1. Range: k &gt; 0.\"},{\"Name\":\"QUANTILE*20\",\"Definition\":\"The QUANTILE function computes the quantile from the specified continuous or discrete distribution, based on the probability value that is provided.\",\"Parameter1\":\"'POISSON'\",\"Description1\":\"Is a character constant, variable, or expression that identifies the distribution.\",\"Parameter2\":\"n\",\"Description2\":\"Is an integer random variable. Range: n= 0, 1, ...\",\"Parameter3\":\"m\",\"Description3\":\"Is a numeric mean parameter. Range: m &gt; 0.\"},{\"Name\":\"QUANTILE*21\",\"Definition\":\"The QUANTILE function computes the quantile from the specified continuous or discrete distribution, based on the probability value that is provided.\",\"Parameter1\":\"'T'\",\"Description1\":\"Is a character constant, variable, or expression that identifies the distribution.\",\"Parameter2\":\"t\",\"Description2\":\"Is a numeric random variable.\",\"Parameter3\":\"df&lt;\",\"Description3\":\"Is a numeric degrees of freedom parameter. Range: df &gt; 0.\",\"Parameter4\":\"nc&gt;\",\"Description4\":\"Is an optional numeric non-centrality parameter.\"},{\"Name\":\"QUANTILE*22\",\"Definition\":\"The QUANTILE function computes the quantile from the specified continuous or discrete distribution, based on the probability value that is provided.\",\"Parameter1\":\"'TWEEDIE'\",\"Description1\":\"Is a character constant, variable, or expression that identifies the distribution.\",\"Parameter2\":\"y\",\"Description2\":\"\\n      Is a random variable.\\n\\n      Range: y \\u22650\\n      Notes:  This argument is required.\\n      When y&gt;1, y is numeric. When p=1, y is an integer.\\n    \",\"Parameter3\":\"p&lt;\",\"Description3\":\"\\n      Is the power parameter.\\n\\n      Range: p \\u22651\\n      Note:  This argument is required.\\n    \",\"Parameter4\":\"\\u03bc\",\"Description4\":\"\\n      Is the mean.\\n\\n      Default: 1\\n      Range: \\u03bc &gt; 0\\n    \",\"Parameter5\":\"\\u03c6&gt;\",\"Description5\":\"\\n      Is the dispersion parameter.\\n\\n      Default: 1\\n      Range: \\u03c6&gt;0\\n    \"},{\"Name\":\"QUANTILE*23\",\"Definition\":\"The QUANTILE function computes the quantile from the specified continuous or discrete distribution, based on the probability value that is provided.\",\"Parameter1\":\"'UNIFORM'\",\"Description1\":\"Is a character constant, variable, or expression that identifies the distribution.\",\"Parameter2\":\"x\",\"Description2\":\"Is a numeric random variable.\",\"Parameter3\":\"l\",\"Description3\":\"Is the numeric left location parameter. Default: 0.\",\"Parameter4\":\"r\",\"Description4\":\"Is the numeric right location parameter. Default: 1. Range: r&gt;l.\"},{\"Name\":\"QUANTILE*24\",\"Definition\":\"The QUANTILE function computes the quantile from the specified continuous or discrete distribution, based on the probability value that is provided.\",\"Parameter1\":\"'WALD'\",\"Description1\":\"Is a character constant, variable, or expression that identifies the distribution.\",\"Parameter2\":\"x\",\"Description2\":\"Is a numeric random variable.\",\"Parameter3\":\"\\u03bb&lt;\",\"Description3\":\"\\n      Is a numeric shape parameter.\\n\\n      Range: \\u03bb &gt; 0\\n    \",\"Parameter4\":\"\\u03bc&gt;\",\"Description4\":\"\\n      Is the mean.\\n\\n      Default: 1\\n      Range: \\u03bc &gt; 0\\n    \"},{\"Name\":\"QUANTILE*25\",\"Definition\":\"The QUANTILE function computes the quantile from the specified continuous or discrete distribution, based on the probability value that is provided.\",\"Parameter1\":\"'WEIBULL'\",\"Description1\":\"Is a character constant, variable, or expression that identifies the distribution.\",\"Parameter2\":\"x\",\"Description2\":\"Is a numeric random variable.\",\"Parameter3\":\"a&lt;\",\"Description3\":\"Is a numeric shape parameter. Range: a &gt; 0.\",\"Parameter4\":\"\\u03bb&gt;\",\"Description4\":\"Is a numeric scale parameter. Default: 1. Range: \\u03bb &gt; 0.\"},{\"Name\":\"SQUANTILE*1\",\"Definition\":\"The SQUANTILE function computes the quantile from the specified continuous or discrete distribution, based on the probability value that is provided.\",\"Parameter1\":\"'BERNOULLI'\",\"Description1\":\"Is a character constant, variable, or expression that identifies the distribution.\",\"Parameter2\":\"x\",\"Description2\":\"Is a numeric random variable.\",\"Parameter3\":\"p\",\"Description3\":\"Is a numeric probability of success. Range: 0 \\u2264 p \\u2264 1.\"},{\"Name\":\"SQUANTILE*2\",\"Definition\":\"The SQUANTILE function computes the quantile from the specified continuous or discrete distribution, based on the probability value that is provided.\",\"Parameter1\":\"'BETA'\",\"Description1\":\"Is a character constant, variable, or expression that identifies the distribution.\",\"Parameter2\":\"x\",\"Description2\":\"Is a numeric random variable.\",\"Parameter3\":\"a\",\"Description3\":\"Is a numeric shape parameter. Range: a &gt; 0.\",\"Parameter4\":\"b&lt;\",\"Description4\":\"Is a numeric shape parameter. Range: b &gt; 0.\",\"Parameter5\":\"l\",\"Description5\":\"Is the numeric left location parameter. Default: 0.\",\"Parameter6\":\"r&gt;\",\"Description6\":\"Is the right location parameter. Default: 0.  Range: r&gt;l.\"},{\"Name\":\"SQUANTILE*3\",\"Definition\":\"The SQUANTILE function computes the quantile from the specified continuous or discrete distribution, based on the probability value that is provided.\",\"Parameter1\":\"'BINOMIAL'\",\"Description1\":\"Is a character constant, variable, or expression that identifies the distribution.\",\"Parameter2\":\"m\",\"Description2\":\"Is an integer random variable that counts the number of successes.\",\"Parameter3\":\"p\",\"Description3\":\"Is a numeric probability of success. Range: 0 \\u2264 p \\u2264 1.\",\"Parameter4\":\"n\",\"Description4\":\"Is an integer parameter that counts the number of independent Bernoulli trials.\"},{\"Name\":\"SQUANTILE*4\",\"Definition\":\"The SQUANTILE function computes the quantile from the specified continuous or discrete distribution, based on the probability value that is provided.\",\"Parameter1\":\"'CAUCHY'\",\"Description1\":\"Is a character constant, variable, or expression that identifies the distribution.\",\"Parameter2\":\"x&lt;\",\"Description2\":\"Is a numeric random variable.\",\"Parameter3\":\"\\u03b8\",\"Description3\":\"Is a numeric location parameter. Default: 0.\",\"Parameter4\":\"\\u03bb&gt;\",\"Description4\":\"Is a numeric scale parameter. Default: 1. Range: \\u03bb &gt; 0.\"},{\"Name\":\"SQUANTILE*5\",\"Definition\":\"The SQUANTILE function computes the quantile from the specified continuous or discrete distribution, based on the probability value that is provided.\",\"Parameter1\":\"'CHISQUARE'\",\"Description1\":\"Is a character constant, variable, or expression that identifies the distribution.\",\"Parameter2\":\"x\",\"Description2\":\"Is a numeric random variable.\",\"Parameter3\":\"df&lt;\",\"Description3\":\"Is a numeric degrees of freedom parameter. Range: df &gt; 0.\",\"Parameter4\":\"nc&gt;\",\"Description4\":\"Is an optional numeric non-centrality parameter. Range: nc \\u2265 0.\"},{\"Name\":\"SQUANTILE*6\",\"Definition\":\"The SQUANTILE function computes the quantile from the specified continuous or discrete distribution, based on the probability value that is provided.\",\"Parameter1\":\"'CONMAXPOI'\",\"Description1\":\"Is a character constant, variable, or expression that identifies the distribution.\",\"Parameter2\":\"y\",\"Description2\":\"Is a nonnegative integer that represents counts data.\",\"Parameter3\":\"\\u03bb\",\"Description3\":\"Is similar to the mean, as in the Poisson distribution.\",\"Parameter4\":\"\\u03bd\",\"Description4\":\"Is a dispersion parameter.\"},{\"Name\":\"SQUANTILE*7\",\"Definition\":\"The SQUANTILE function computes the quantile from the specified continuous or discrete distribution, based on the probability value that is provided.\",\"Parameter1\":\"'EXPONENTIAL'\",\"Description1\":\"Is a character constant, variable, or expression that identifies the distribution.\",\"Parameter2\":\"x&lt;\",\"Description2\":\"Is a numeric random variable.\",\"Parameter4\":\"\\u03bb&gt;\",\"Description4\":\"Is a numeric scale parameter. Default: 1. Range: \\u03bb &gt; 0.\"},{\"Name\":\"SQUANTILE*8\",\"Definition\":\"The SQUANTILE function computes the quantile from the specified continuous or discrete distribution, based on the probability value that is provided.\",\"Parameter1\":\"'F'\",\"Description1\":\"Is a character constant, variable, or expression that identifies the distribution.\",\"Parameter2\":\"x\",\"Description2\":\"Is a numeric random variable.\",\"Parameter3\":\"ndf\",\"Description3\":\"Is a numeric numerator degrees of freedom parameter. Range: ndf &gt; 0.\",\"Parameter4\":\"ddf&lt;\",\"Description4\":\"Is a numeric denominator degrees of freedom parameter. Range: ddf &gt; 0.\",\"Parameter5\":\"nc&gt;\",\"Description5\":\"Is a numeric non-centrality parameter. Range: nc &gt; =0.\"},{\"Name\":\"SQUANTILE*9\",\"Definition\":\"The SQUANTILE function computes the quantile from the specified continuous or discrete distribution, based on the probability value that is provided.\",\"Parameter1\":\"'GAMMA'\",\"Description1\":\"Is a character constant, variable, or expression that identifies the distribution.\",\"Parameter2\":\"x\",\"Description2\":\"Is a numeric random variable.\",\"Parameter3\":\"a&lt;\",\"Description3\":\"Is a numeric shape parameter. Range: a &gt; 0.\",\"Parameter4\":\"\\u03bb&gt;\",\"Description4\":\"Is a numeric scale parameter. Default: 1. Range: \\u03bb &gt; 0.\"},{\"Name\":\"SQUANTILE*10\",\"Definition\":\"The SQUANTILE function computes the quantile from the specified continuous or discrete distribution, based on the probability value that is provided.\",\"Parameter1\":\"'GENPOISSON'\",\"Description1\":\"Is a character constant, variable, or expression that identifies the distribution.\",\"Parameter2\":\"x\",\"Description2\":\"Is an integer random variable.\",\"Parameter3\":\"\\u03b8\",\"Description3\":\"\\n      Specifies a shape parameter.\\n\\n      Range &lt;10^5 and &gt;0\\n    \",\"Parameter4\":\"\\u03b7&gt;\",\"Description4\":\"\\n      Specifies a shape parameter.\\n\\n      Range: \\u22650 and &lt;0.95\\n    \"},{\"Name\":\"SQUANTILE*11\",\"Definition\":\"The SQUANTILE function computes the quantile from the specified continuous or discrete distribution, based on the probability value that is provided.\",\"Parameter1\":\"'GEOMETRIC'\",\"Description1\":\"Is a character constant, variable, or expression that identifies the distribution.\",\"Parameter2\":\"m\",\"Description2\":\"Is a numeric random variable that denotes the number of failures before the first success. Range: m \\u2265 0.\",\"Parameter3\":\"p\",\"Description3\":\"Is a numeric probability of success. Range: 0 \\u2264 p \\u2264 1.\"},{\"Name\":\"SQUANTILE*12\",\"Definition\":\"The SQUANTILE function computes the quantile from the specified continuous or discrete distribution, based on the probability value that is provided.\",\"Parameter1\":\"'HYPERGEOMETRIC'\",\"Description1\":\"Is a character constant, variable, or expression that identifies the distribution.\",\"Parameter2\":\"x\",\"Description2\":\"Is an integer random variable.\",\"Parameter3\":\"N\",\"Description3\":\"Is an integer population size parameter. Range: N = 1, 2, ...\",\"Parameter4\":\"R\",\"Description4\":\"Is an integer number of items in the category of interest. Range: R = 0, 1, ..., N\",\"Parameter5\":\"n&lt;\",\"Description5\":\"Is an integer sample size parameter. Range: n = 1, 2, ..., N\",\"Parameter6\":\"o&gt;\",\"Description6\":\"Is an optional numeric odds ratio parameter. Range: o &gt; 0.\"},{\"Name\":\"SQUANTILE*13\",\"Definition\":\"The SQUANTILE function computes the quantile from the specified continuous or discrete distribution, based on the probability value that is provided.\",\"Parameter1\":\"'LAPLACE'\",\"Description1\":\"Is a character constant, variable, or expression that identifies the distribution.\",\"Parameter2\":\"x&lt;\",\"Description2\":\"Is a numeric random variable.\",\"Parameter3\":\"\\u03b8\",\"Description3\":\"Is a numeric location parameter. Default: 0\",\"Parameter4\":\"\\u03bb&gt;\",\"Description4\":\"Is a numeric scale parameter. Default: 1. Range: \\u03bb &gt; 0.\"},{\"Name\":\"SQUANTILE*14\",\"Definition\":\"The SQUANTILE function computes the quantile from the specified continuous or discrete distribution, based on the probability value that is provided.\",\"Parameter1\":\"'LOGISTIC'\",\"Description1\":\"Is a character constant, variable, or expression that identifies the distribution.\",\"Parameter2\":\"x&lt;\",\"Description2\":\"Is a numeric random variable.\",\"Parameter3\":\"\\u03b8\",\"Description3\":\"Is a numeric location parameter. Default: 0\",\"Parameter4\":\"\\u03bb&gt;\",\"Description4\":\"Is a numeric scale parameter. Default: 1. Range: \\u03bb &gt; 0.\"},{\"Name\":\"SQUANTILE*15\",\"Definition\":\"The SQUANTILE function computes the quantile from the specified continuous or discrete distribution, based on the probability value that is provided.\",\"Parameter1\":\"'LOGNORMAL'\",\"Description1\":\"Is a character constant, variable, or expression that identifies the distribution.\",\"Parameter2\":\"x&lt;\",\"Description2\":\"Is a numeric random variable.\",\"Parameter3\":\"\\u03b8\",\"Description3\":\"Is a numeric location parameter. Default: 0\",\"Parameter4\":\"\\u03bb&gt;\",\"Description4\":\"Is a numeric scale parameter. Default: 1. Range: \\u03bb &gt; 0.\"},{\"Name\":\"SQUANTILE*16\",\"Definition\":\"The SQUANTILE function computes the quantile from the specified continuous or discrete distribution, based on the probability value that is provided.\",\"Parameter1\":\"'NEGBINOMIAL'\",\"Description1\":\"Is a character constant, variable, or expression that identifies the distribution.\",\"Parameter2\":\"m\",\"Description2\":\"Is a positive integer random variable that counts the number of failures. Range: m= 0, 1, ...\",\"Parameter3\":\"p\",\"Description3\":\"Is a numeric probability of success. Range: 0 \\u2264 p \\u2264 1.\",\"Parameter4\":\"n\",\"Description4\":\"Is a numeric value that counts the number of successes. Range: n &gt; 0.\"},{\"Name\":\"SQUANTILE*17\",\"Definition\":\"The SQUANTILE function computes the quantile from the specified continuous or discrete distribution, based on the probability value that is provided.\",\"Parameter1\":\"'NORMAL'\",\"Description1\":\"Is a character constant, variable, or expression that identifies the distribution.\",\"Parameter2\":\"x&lt;\",\"Description2\":\"Is a numeric random variable.\",\"Parameter3\":\"\\u03b8\",\"Description3\":\"Is a numeric location parameter. Default: 0\",\"Parameter4\":\"\\u03bb&gt;\",\"Description4\":\"Is a numeric scale parameter. Default: 1. Range: \\u03bb &gt; 0.\"},{\"Name\":\"SQUANTILE*18\",\"Definition\":\"The SQUANTILE function computes the quantile from the specified continuous or discrete distribution, based on the probability value that is provided.\",\"Parameter1\":\"'NORMALMIX'\",\"Description1\":\"Is a character constant, variable, or expression that identifies the distribution.\",\"Parameter2\":\"x\",\"Description2\":\"Is a numeric random variable.\",\"Parameter3\":\"n\",\"Description3\":\"Is the integer number of mixtures. Range: n = 1, 2, ...\",\"Parameter4\":\"p\",\"Description4\":\"Is the n proportions, p1, p2, ..., pn, where sum of p1 to pn is equal to 1. Range: p = 0, 1, ...\",\"Parameter5\":\"m\",\"Description5\":\"Is the n means, m1, m2, ...,mn.\",\"Parameter6\":\"s\",\"Description6\":\"Is the n standard deviations, s1, s2, ..., sn. Range: s &gt; 0.\"},{\"Name\":\"SQUANTILE*19\",\"Definition\":\"The SQUANTILE function computes the quantile from the specified continuous or discrete distribution, based on the probability value that is provided.\",\"Parameter1\":\"'PARETO'\",\"Description1\":\"Is a character constant, variable, or expression that identifies the distribution.\",\"Parameter2\":\"x\",\"Description2\":\"Is a numeric random variable.\",\"Parameter3\":\"a&lt;\",\"Description3\":\"Is a numeric shape parameter. Range: a &gt; 0.\",\"Parameter4\":\"k&gt;\",\"Description4\":\"Is a numeric scale parameter. Default: 1. Range: k &gt; 0.\"},{\"Name\":\"SQUANTILE*20\",\"Definition\":\"The SQUANTILE function computes the quantile from the specified continuous or discrete distribution, based on the probability value that is provided.\",\"Parameter1\":\"'POISSON'\",\"Description1\":\"Is a character constant, variable, or expression that identifies the distribution.\",\"Parameter2\":\"n\",\"Description2\":\"Is an integer random variable. Range: n= 0, 1, ...\",\"Parameter3\":\"m\",\"Description3\":\"Is a numeric mean parameter. Range: m &gt; 0.\"},{\"Name\":\"SQUANTILE*21\",\"Definition\":\"The SQUANTILE function computes the quantile from the specified continuous or discrete distribution, based on the probability value that is provided.\",\"Parameter1\":\"'T'\",\"Description1\":\"Is a character constant, variable, or expression that identifies the distribution.\",\"Parameter2\":\"t\",\"Description2\":\"Is a numeric random variable.\",\"Parameter3\":\"df&lt;\",\"Description3\":\"Is a numeric degrees of freedom parameter. Range: df &gt; 0.\",\"Parameter4\":\"nc&gt;\",\"Description4\":\"Is an optional numeric non-centrality parameter.\"},{\"Name\":\"SQUANTILE*22\",\"Definition\":\"The SQUANTILE function computes the quantile from the specified continuous or discrete distribution, based on the probability value that is provided.\",\"Parameter1\":\"'TWEEDIE'\",\"Description1\":\"Is a character constant, variable, or expression that identifies the distribution.\",\"Parameter2\":\"y\",\"Description2\":\"\\n      Is a random variable.\\n\\n      Range: y \\u22650\\n      Notes:  This argument is required.\\n      When y&gt;1, y is numeric. When p=1, y is an integer.\\n    \",\"Parameter3\":\"p&lt;\",\"Description3\":\"\\n      Is the power parameter.\\n\\n      Range: p \\u22651\\n      Note:  This argument is required.\\n    \",\"Parameter4\":\"\\u03bc\",\"Description4\":\"\\n      Is the mean.\\n\\n      Default: 1\\n      Range: \\u03bc &gt; 0\\n    \",\"Parameter5\":\"\\u03c6&gt;\",\"Description5\":\"\\n      Is the dispersion parameter.\\n\\n      Default: 1\\n      Range: \\u03c6&gt;0\\n    \"},{\"Name\":\"SQUANTILE*23\",\"Definition\":\"The SQUANTILE function computes the quantile from the specified continuous or discrete distribution, based on the probability value that is provided.\",\"Parameter1\":\"'UNIFORM'\",\"Description1\":\"Is a character constant, variable, or expression that identifies the distribution.\",\"Parameter2\":\"x\",\"Description2\":\"Is a numeric random variable.\",\"Parameter3\":\"l\",\"Description3\":\"Is the numeric left location parameter. Default: 0.\",\"Parameter4\":\"r\",\"Description4\":\"Is the numeric right location parameter. Default: 1. Range: r&gt;l.\"},{\"Name\":\"SQUANTILE*24\",\"Definition\":\"The SQUANTILE function computes the quantile from the specified continuous or discrete distribution, based on the probability value that is provided.\",\"Parameter1\":\"'WALD'\",\"Description1\":\"Is a character constant, variable, or expression that identifies the distribution.\",\"Parameter2\":\"x\",\"Description2\":\"Is a numeric random variable.\",\"Parameter3\":\"\\u03bb&lt;\",\"Description3\":\"\\n      Is a numeric shape parameter.\\n\\n      Range: \\u03bb &gt; 0\\n    \",\"Parameter4\":\"\\u03bc&gt;\",\"Description4\":\"\\n      Is the mean.\\n\\n      Default: 1\\n      Range: \\u03bc &gt; 0\\n    \"},{\"Name\":\"SQUANTILE*25\",\"Definition\":\"The SQUANTILE function computes the quantile from the specified continuous or discrete distribution, based on the probability value that is provided.\",\"Parameter1\":\"'WEIBULL'\",\"Description1\":\"Is a character constant, variable, or expression that identifies the distribution.\",\"Parameter2\":\"x\",\"Description2\":\"Is a numeric random variable.\",\"Parameter3\":\"a&lt;\",\"Description3\":\"Is a numeric shape parameter. Range: a &gt; 0.\",\"Parameter4\":\"\\u03bb&gt;\",\"Description4\":\"Is a numeric scale parameter. Default: 1. Range: \\u03bb &gt; 0.\"},{\"Name\":\"PEEK\",\"Definition\":\"Stores the contents of a memory address in a numeric variable on a 32-bit platform.\",\"Parameter1\":\"address&lt;\",\"Description1\":\"Is a numeric constant, variable, or expression that specifies the memory address.\",\"Parameter2\":\"length&gt;\",\"Description2\":\"Is a numeric constant, variable, or expression that specifies the data length. Range: 2 to 8.\"},{\"Name\":\"PEEKC\",\"Definition\":\"Stores the contents of a memory address in a character variable on a 32-bit platform.\",\"Parameter1\":\"address&lt;\",\"Description1\":\"Is a numeric constant, variable, or expression that specifies the memory address.\",\"Parameter2\":\"length&gt;\",\"Description2\":\"Is a numeric constant, variable, or expression that specifies the data length. Default: 8. Range: 1 to 32,767.\"},{\"Name\":\"PEEKCLONG\",\"Definition\":\"Stores the contents of a memory address in a character variable on 32-bit and 64-bit platforms.\",\"Parameter1\":\"address&lt;\",\"Description1\":\"Specifies a character constant, variable, or expression that contains the binary pointer address.\",\"Parameter2\":\"length&gt;\",\"Description2\":\"Is a numeric constant, variable, or expression that specifies the length of the character data. Default: 8. Range: 1 to 32,767.\"},{\"Name\":\"PEEKLONG\",\"Definition\":\"Stores the contents of a memory address in a numeric variable on 32-bit and 64-bit platforms.\",\"Parameter1\":\"address&lt;\",\"Description1\":\"Specifies a character constant, variable, or expression that contains the binary pointer address.\",\"Parameter2\":\"length&gt;\",\"Description2\":\"Is a numeric constant, variable, or expression that specifies the length of the character data. Default: 4 on 32-bit computers; 8 on 64-bit computers. Range: 1 -4 on 32-bit computers; 1-8 on 64-bit computers.\"},{\"Name\":\"PERM\",\"Definition\":\"Computes the number of permutations of n items that are taken r at a time.\",\"Parameter1\":\"n&lt;\",\"Description1\":\"Is an integer that represents the total number of elements from which the sample is chosen.\",\"Parameter2\":\"r&gt;\",\"Description2\":\"Is an integer value that represents the number of chosen elements. If r is omitted, the function returns the factorial of n. Restriction: r \\u2264 n.\"},{\"Name\":\"POINT\",\"Definition\":\"Locates an observation that is identified by the NOTE function.\",\"Parameter1\":\"data-set-id\",\"Description1\":\"Is a numeric variable that specifies the data set identifier that the OPEN function returns.\",\"Parameter2\":\"note-id\",\"Description2\":\"Is a numeric variable that specifies the identifier assigned to the observation by the NOTE function.\"},{\"Name\":\"POISSON\",\"Definition\":\"Returns the probability from a Poisson distribution.\",\"Parameter1\":\"m\",\"Description1\":\"Is a numeric mean parameter. Range: m \\u2265 0.\",\"Parameter2\":\"n\",\"Description2\":\"Is an integer random variable. Range: n \\u2265 0.\"},{\"Name\":\"PROBBETA\",\"Definition\":\"Returns the probability from a beta distribution.\",\"Parameter1\":\"x\",\"Description1\":\"Is a numeric random variable. Range: 0 \\u2264 x \\u2264 1.\",\"Parameter2\":\"a\",\"Description2\":\"Is a numeric shape parameter. Range: a &gt; 0.\",\"Parameter3\":\"b\",\"Description3\":\"Is a numeric shape parameter. Range: b &gt; 0.\"},{\"Name\":\"PROBBNML\",\"Definition\":\"Returns the probability from a binomial distribution.\",\"Parameter1\":\"p\",\"Description1\":\"Is a numeric probability of success parameter. Range: 0 \\u2264 p \\u2264 1.\",\"Parameter2\":\"n\",\"Description2\":\"Is an integer number of independent Bernoulli trials parameter. Range: n &gt; 0.\",\"Parameter3\":\"m\",\"Description3\":\"Is an integer number of successes random variable. Range: 0 \\u2264 m \\u2264 n.\"},{\"Name\":\"PROBBNRM\",\"Definition\":\"Returns a probability from a bivariate normal distribution.\",\"Parameter1\":\"x\",\"Description1\":\"Specifies a numeric constant, variable, or expression.\",\"Parameter2\":\"y\",\"Description2\":\"Specifies a numeric constant, variable, or expression.\",\"Parameter3\":\"r\",\"Description3\":\"Is a numeric correlation coefficient. Range: -1 \\u2264 r \\u2264 1.\"},{\"Name\":\"PROBCHI\",\"Definition\":\"Returns the probability from a chi-square distribution.\",\"Parameter1\":\"x\",\"Description1\":\"Is a numeric random variable. Range: x \\u2265 0.\",\"Parameter2\":\"df\",\"Description2\":\"Is a numeric degrees of freedom parameter. Range: df \\u2265 0.\",\"Parameter3\":\"nc\",\"Description3\":\"Is an optional numeric noncentrality parameter. Range: nc \\u2265 0.\"},{\"Name\":\"PROBF\",\"Definition\":\"Returns the probability from an F distribution.\",\"Parameter1\":\"x\",\"Description1\":\"Is a numeric random variable. Range: x \\u2265 0.\",\"Parameter2\":\"ndf\",\"Description2\":\"Is a numeric numerator degrees of freedom parameter. Range: ndf \\u2265 0.\",\"Parameter3\":\"ddf&lt;\",\"Description3\":\"Is a numeric denominator degrees of freedom parameter. Range: ddf \\u2265 0.\",\"Parameter4\":\"nc\",\"Description4\":\"Is an optional numeric noncentrality parameter. Range: nc \\u2265 0.\"},{\"Name\":\"PROBGAM\",\"Definition\":\"Returns the probability from a gamma distribution.\",\"Parameter1\":\"x\",\"Description1\":\"Is a numeric random variable. Range: x \\u2265 0.\",\"Parameter2\":\"a\",\"Description2\":\"Is a numeric shape parameter. Range: a \\u2265 0.\"},{\"Name\":\"PROBHYPR\",\"Definition\":\"Returns the probability from a hypergeometric distribution.\",\"Parameter1\":\"N\",\"Description1\":\"Is an integer population size parameter. Range: N \\u2265 1.\",\"Parameter2\":\"K\",\"Description2\":\"Is an integer number of items in the category of interest parameter.  Range: 0 \\u2264 K \\u2264 N.\",\"Parameter3\":\"n\",\"Description3\":\"Is an integer sample size parameter.  Range: 0 \\u2264 n \\u2264 N.\",\"Parameter4\":\"x&lt;\",\"Description4\":\"Is an integer random variable.  Range: max(0, K + n-N) \\u2264 n \\u2264 min(K,n).\",\"Parameter5\":\"r&gt;\",\"Description5\":\"Is an optional numeric odds ratio parameter. Range: r \\u2265 0.\"},{\"Name\":\"PROBIT\",\"Definition\":\"Returns a quantile from the standard normal distribution.\",\"Parameter1\":\"p\",\"Description1\":\"Is a numeric probability.  Range: 0 &lt; p &lt; 1.\"},{\"Name\":\"PROBMC\",\"Definition\":\"Returns a probability or a quantile from various distributions for multiple comparisons of means.\",\"Parameter1\":\"distribution\",\"Description1\":\"Is a character constant, variable, or expression that identifies the distribution. Valid distributions: ANOM (Analysis of Means), DUNNETT1 (One-sided Dunnett), DUNNETT2 (Two-sided Dunnett), MAXMOD (Maximum Modulus), PARTRANGE (Partitioned Range), RANGE (Studentized Range), WILLIAMS.\",\"Parameter2\":\"q\",\"Description2\":\"Is the quantile from the distribution.\",\"Parameter3\":\"prob\",\"Description3\":\"Is the left probability from the distribution. Restriction: Either prob or q can be specified, but not both.\",\"Parameter4\":\"df\",\"Description4\":\"Is the degrees of freedom.\",\"Parameter5\":\"nparms&lt;\",\"Description5\":\"Is the number of treatments. For DUNNETT1 and DUNNETT2, the control group is not counted.\",\"Parameter6\":\"parameters&gt;\",\"Description6\":\"Is an optional set of nparms parameters that must be specified to handle the case of unequal sample sizes. The meaning of parameters depends on the value of distribution. If parameters is not specified, equal sample sizes are assumed, which is usually the case for a null hypothesis.\"},{\"Name\":\"PROBNEGB\",\"Definition\":\"Returns the probability from a negative binomial distribution.\",\"Parameter1\":\"p\",\"Description1\":\"Is a numeric probability of success parameter.  Range: 0 \\u2264 p \\u2264 1.\",\"Parameter2\":\"n\",\"Description2\":\"Is an integer number of successes parameter. Range: n \\u2265 0.\",\"Parameter3\":\"m\",\"Description3\":\"Is a positive integer random variable, the number of failures. Range: m \\u2265 0.\"},{\"Name\":\"PROBNORM\",\"Definition\":\"Returns the probability from the standard normal distribution.\",\"Parameter1\":\"x\",\"Description1\":\"Is a numeric random variable.\"},{\"Name\":\"PROBT\",\"Definition\":\"Returns the probability from a t distribution.\",\"Parameter1\":\"x\",\"Description1\":\"Is a numeric random variable.\",\"Parameter2\":\"df&lt;\",\"Description2\":\"Is a numeric degrees of freedom parameter. Range: df \\u2265 0.\",\"Parameter3\":\"nc&gt;\",\"Description3\":\"Is an optional numeric noncentrality parameter.\"},{\"Name\":\"PROPCASE\",\"Definition\":\"Converts all words in an argument to proper case.\",\"Parameter1\":\"argument&lt;\",\"Description1\":\"Specifies a character constant, variable, or expression.\",\"Parameter2\":\"delimiter(s)&gt;\",\"Description2\":\"Specifies one or more delimiters that are enclosed in quotation marks. The default delimiters are blank, forward slash, hyphen, open parenthesis, period, and tab.\"},{\"Name\":\"PRXCHANGE\",\"Definition\":\"Performs a pattern-matching replacement.\",\"Parameter1\":\"perl-regular-expression | regular-expression-id\",\"Description1\":\"Specifies either a character constant, variable, or expression with a value that is a Perl regular expression, or a numeric variable with a value that is a pattern identifier that is returned from the PRXPARSE function.\",\"Parameter2\":\"times\",\"Description2\":\"Is a numeric constant, variable, or expression that specifies the number of times to search for a match and replace a matching pattern. Use -1 to do replacements until the end of the source.\",\"Parameter3\":\"source\",\"Description3\":\"Specifies a character constant, variable, or expression that you want to search.\"},{\"Name\":\"PRXMATCH\",\"Definition\":\"Searches for a pattern match and returns the position at which the pattern is found.\",\"Parameter1\":\"regular-expression-id | perl-regular-expression\",\"Description1\":\"Specifies either a numeric variable with a value that is a pattern identifier that is returned from the PRXPARSE function, or a character constant, variable, or expression with a value that is a Perl regular expression.\",\"Parameter2\":\"source\",\"Description2\":\"Specifies a character constant, variable, or expression that you want to search.\"},{\"Name\":\"PRXPAREN\",\"Definition\":\"Returns the last bracket match for which there is a match in a pattern.\",\"Parameter1\":\"regular-expression-id\",\"Description1\":\"Specifies a numeric variable with a value that is an identification number that is returned by the PRXPARSE function.\"},{\"Name\":\"PRXPARSE\",\"Definition\":\"Compiles a Perl regular expression (PRX) that can be used for pattern matching of a character value.\",\"Parameter1\":\"perl-regular-expression\",\"Description1\":\"Specifies a character value that is a Perl regular expression.\"},{\"Name\":\"PRXPOSN\",\"Definition\":\"Returns a character string that contains the value for a capture buffer.\",\"Parameter1\":\"regular-expression-id\",\"Description1\":\"Specifies a numeric variable with a value that is a pattern identifier that is returned by the PRXPARSE function.\",\"Parameter2\":\"capture-buffer\",\"Description2\":\"Is a numeric constant, variable, or expression that identifies the capture buffer for which to retrieve a value: 0 returns the entire match; between 1 and the number of open parentheses returns the value for that capture buffer; greater than the number of open parentheses returns a missing value.\",\"Parameter3\":\"source\",\"Description3\":\"Specifies the text from which to extract capture buffers.\"},{\"Name\":\"PTRLONGADD\",\"Definition\":\"Returns the pointer address as a character variable on 32-bit and 64-bit platforms.\",\"Parameter1\":\"pointer&lt;\",\"Description1\":\"Is a character constant, variable, or expression that specifies the pointer address.\",\"Parameter2\":\"amount&gt;\",\"Description2\":\"Is a numeric constant, variable, or expression that specifies the amount to add to the address.\"},{\"Name\":\"PUT\",\"Definition\":\"Returns a value using a specified format.\",\"Parameter1\":\"source\",\"Description1\":\"Identifies the constant, variable, or expression whose value you want to reformat.\",\"Parameter2\":\"format.\",\"Description2\":\"Contains the SAS format that you want applied to the value that is specified in the source. The format. must be of the same type as the source.\"},{\"Name\":\"PUTC\",\"Definition\":\"Enables you to specify a character format at run time.\",\"Parameter1\":\"source\",\"Description1\":\"Specifies a character constant, variable, or expression to which you want to apply the format.\",\"Parameter2\":\"format.&lt;\",\"Description2\":\"Is a character constant, variable, or expression with a value that is the character format you want to apply to source.\",\"Parameter3\":\"w&gt;\",\"Description3\":\"Is a numeric constant, variable, or expression that specifies a width to apply to the format. It overrides any width specification in the format. argument.\"},{\"Name\":\"PUTN\",\"Definition\":\"Enables you to specify a numeric format at run time.\",\"Parameter1\":\"source\",\"Description1\":\"Specifies a character constant, variable, or expression to which you want to apply the format.\",\"Parameter2\":\"format.&lt;\",\"Description2\":\"Is a character constant, variable, or expression with a value that is the numeric format you want to apply to source.\",\"Parameter3\":\"w&lt;\",\"Description3\":\"Is a numeric constant, variable, or expression that specifies a width to apply to the format. It overrides any width specification in the format. argument.\",\"Parameter4\":\"d&gt;&gt;\",\"Description4\":\"Is a numeric constant, variable, or expression that specifies the number of decimal places to use.\"},{\"Name\":\"PVP\",\"Definition\":\"Returns the present value for a periodic cash flow stream (such as a bond), with repayment of principal at maturity.\",\"Parameter1\":\"A\",\"Description1\":\"Specifies the par value. Range: A &gt; 0.\",\"Parameter2\":\"c\",\"Description2\":\"Specifies the nominal per-year coupon rate, expressed as a fraction. Range: 0 \\u2264 c \\u2264 1.\",\"Parameter3\":\"n\",\"Description3\":\"Specifies the number of coupons per year. Range: n &gt; 0 and is an integer.\",\"Parameter4\":\"K\",\"Description4\":\"Specifies the number of remaining coupons. Range: K &gt; 0 and is an integer.\",\"Parameter5\":\"ko\",\"Description5\":\"Specifies the time from the present date to the first coupon date, expressed in terms of the number of years. Range: 0 \\u2264 ko \\u2264 1/n.\",\"Parameter6\":\"y\",\"Description6\":\"Specifies the nominal per-year yield-to-maturity, expressed as a fraction. Range: y &gt; 0.\"},{\"Name\":\"TR\",\"Definition\":\"Returns the quarter of the year from a SAS date value.\",\"Parameter1\":\"date\",\"Description1\":\"Specifies a numeric constant, variable, or expression that represents a SAS date value.\"},{\"Name\":\"QUANTILE\",\"Definition\":\"Returns the quantile from a distribution when you specify the left probability (CDF).\",\"Parameter1\":\"distribution\",\"Description1\":\"Is a character constant, variable, or expression that identifies the distribution. Valid distributions are as follows:\\n\\n      Bernoulli distribution: 'BERNOULLI'\\n      Beta distribution: 'BETA'\\n      Binomial distribution: 'BINOMIAL'\\n      Cauchy distribution: 'CAUCHY'\\n      Chi-Square distribution: 'CHISQUARE'\\n      Conway-Maxwell-Poisson distribution: 'CMP'\\n      Exponential distribution: 'EXPONENTIAL'\\n      F distribution: 'F'\\n      Gamma distribution: 'GAMMA'\\n      Generalized Poisson distribution: 'GENPOISSON'\\n      Geometric distribution: 'GEOMETRIC'\\n      Hypergeometric distribution: 'HYPERGEOMETRIC'\\n      Laplace distribution: 'LAPLACE'\\n      Logistic distribution: 'LOGISTIC'\\n      Lognormal'LOGNORMAL'\\n      Negative binomial distribution: 'NEGBINOMIAL'\\n      Normal distribution: 'NORMAL'|'GAUSS'\\n      Normal mixture distribution: 'NORMALMIX'\\n      Pareto distribution: 'PARETO'\\n      Poisson distribution: 'POISSON'\\n      T distribution: 'T'\\n      Tweedie distribution: 'TWEEDIE').\\n      Uniform distribution: 'UNIFORM'\\n      Wald (inverse Gaussian) distribution: 'WALD'|'IGAUSS'\\n      Weibull distribution: 'WEIBULL'\\n\\nNote: Except for T, F, and NORMALMIX, you can minimally identify any distribution by its first four characters.\",\"Parameter2\":\"probability\",\"Description2\":\"Is a numeric constant, variable, or expression that specifies the value of a random variable.\",\"Parameter3\":\"parameter-1, ..., parameter-k\",\"Description3\":\"Are optional shape, location, or scale parameters appropriate for the specific distribution.\"},{\"Name\":\"QUOTE\",\"Definition\":\"Adds double quotation marks to a character value.\",\"Parameter1\":\"argument\",\"Description1\":\"Specifies a character constant, variable, or expression.\"},{\"Name\":\"RANBIN\",\"Definition\":\"Returns a random variate from a binomial distribution.\",\"Parameter1\":\"seed\",\"Description1\":\"Is a numeric constant, variable, or expression with an integer value. If seed \\u2264 0, the time of day is used to initialize the seed stream. Range: seed&lt;(2\\u00b3\\u00b9)-1.\",\"Parameter2\":\"n\",\"Description2\":\"Is a numeric constant, variable, or expression with an integer value that specifies the number of independent Bernoulli trials parameter. Range: n &gt; 0.\",\"Parameter3\":\"p\",\"Description3\":\"Is a numeric constant, variable, or expression that specifies the probability of success. Range: 0 &lt; p &lt; 1.\"},{\"Name\":\"RANCAU\",\"Definition\":\"Returns a random variate from a Cauchy distribution.\",\"Parameter1\":\"seed\",\"Description1\":\"Is a numeric constant, variable, or expression with an integer value. If seed \\u2264 0, the time of day is used to initialize the seed stream. Range: seed&lt;(2\\u00b3\\u00b9)-1.\"},{\"Name\":\"RAND\",\"Definition\":\"Generates random numbers from a distribution that you specify.\",\"Parameter1\":\"dist\",\"Description1\":\"Is a character constant, variable, or expression that identifies the distribution. Refer to SAS documentation for valid distributions (eg. 'NORMAL', 'CHISQUARE', 'F', 'T', etc.).\",\"Parameter2\":\"parm-1, ...,parm-k\",\"Description2\":\"Are shape, location, or scale parameters appropriate for the specific distribution.\"},{\"Name\":\"RANEXP\",\"Definition\":\"Returns a random variate from an exponential distribution.\",\"Parameter1\":\"seed\",\"Description1\":\"Is a numeric constant, variable, or expression with an integer value. If seed \\u2264 0, the time of day is used to initialize the seed stream. Range: seed&lt;(2\\u00b3\\u00b9)-1.\"},{\"Name\":\"RANGAM\",\"Definition\":\"Returns a random variate from a gamma distribution.\",\"Parameter1\":\"seded\",\"Description1\":\"Is a numeric constant, variable, or expression with an integer value. If seed \\u2264 0, the time of day is used to initialize the seed stream. Range: seed&lt;(2\\u00b3\\u00b9)-1.\",\"Parameter2\":\"a\",\"Description2\":\"Is a numeric constant, variable, or expression that specifies the shape parameter. Range: a &gt; 0 \"},{\"Name\":\"RANGE\",\"Definition\":\"Returns the range of the nonmissing values. At least one nonmissing argument is required.\",\"Parameter1\":\"argument-1&lt;\",\"Description1\":\"Specifies a numeric constant, variable, or expression.\",\"Parameter2\":\"...argument-n&gt;\",\"Description2\":\"Specifies a numeric constant, variable, or expression.\"},{\"Name\":\"RANK\",\"Definition\":\"Returns the position of a character in the ASCII or EBCDIC collating sequence.\",\"Parameter1\":\"x\",\"Description1\":\"Specifies a character constant, variable, or expression.\"},{\"Name\":\"RANUNI\",\"Definition\":\"Returns a random variate from a uniform distribution.\",\"Parameter1\":\"seed\",\"Description1\":\"Is a numeric constant, variable, or expression with an integer value. If seed \\u2264 0, the time of day is used to initialize the seed stream. Range: seed&lt;(2\\u00b3\\u00b9)-1.\"},{\"Name\":\"RENAME\",\"Definition\":\"Renames a member of a SAS library, an entry in a SAS catalog, an external file, or a directory.\",\"Parameter1\":\"old-name\",\"Description1\":\"Specifies a character constant, variable, or expression that is the current name of a member of a SAS library, an entry in a SAS catalog, an external file, or an external directory.\",\"Parameter2\":\"new-name&lt;\",\"Description2\":\"Specifies a character constant, variable, or expression that is the new one-level name for the library member, catalog entry, external file, or directory.\",\"Parameter3\":\"type\",\"Description3\":\"Is a character constant, variable, or expression that specifies the type of element to rename. Values: 'ACCESS' (SAS/ACCESS), 'CATALOG', 'DATA', 'VIEW', 'FILE'. Default: 'DATA'\",\"Parameter4\":\"description&lt;\",\"Description4\":\"Specifies a character constant, variable, or expression that is the description of a catalog entry. You can specify description only when the value of type is CATALOG. Description can be a null argument.\",\"Parameter5\":\"password&lt;\",\"Description5\":\"Is a character constant, variable, or expression that specifies the password for the data set that is being renamed. Password can be a null argument.\",\"Parameter6\":\"generation&gt;&gt;&gt;&gt;\",\"Description6\":\"Is a numeric constant, variable, or expression that specifies the generation number of the data set that is being renamed. Generation can be a null argument.\"},{\"Name\":\"REPEAT\",\"Definition\":\"Returns a character value that consists of the first argument repeated n+1 times.\",\"Parameter1\":\"argument\",\"Description1\":\"Specifies a character constant, variable, or expression.\",\"Parameter2\":\"n\",\"Description2\":\"Specifies the number of times to repeat argument. Restriction: n must be greater than or equal to 0.\"},{\"Name\":\"RESOLVE\",\"Definition\":\"Returns the resolved value of the argument after it has been processed by the macro facility.\",\"Parameter1\":\"argument\",\"Description1\":\"Is a character constant, variable, or expression with a value that is a macro expression.\"},{\"Name\":\"REVERSE\",\"Definition\":\"Reverses a character string.\",\"Parameter1\":\"argument\",\"Description1\":\"Specifies a character constant, variable, or expression.\"},{\"Name\":\"REWIND\",\"Definition\":\"Positions the data set pointer at the beginning of a SAS data set.\",\"Parameter1\":\"data-set-id\",\"Description1\":\"Is a numeric variable that specifies the data set identifier that the OPEN function returns.\"},{\"Name\":\"RIGHT\",\"Definition\":\"Right aligns a character expression.\",\"Parameter1\":\"argument\",\"Description1\":\"Specifies a character constant, variable, or expression.\"},{\"Name\":\"RMS\",\"Definition\":\"Returns the root mean square of the nonmissing arguments.\",\"Parameter1\":\"argument-1&lt;\",\"Description1\":\"Is a numeric constant, variable, or expression. The argument list can consist of a variable list, which is preceded by OF.\",\"Parameter2\":\"..., argument-n&gt;\",\"Description2\":\"Is a numeric constant, variable, or expression. The argument list can consist of a variable list, which is preceded by OF.\"},{\"Name\":\"ROUND\",\"Definition\":\"Rounds the first argument to the nearest multiple of the second argument, or to the nearest integer when the second argument is omitted.\",\"Parameter1\":\"argument&lt;\",\"Description1\":\"Is a numeric constant, variable, or expression to be rounded.\",\"Parameter2\":\"rounding-unit&gt;\",\"Description2\":\"Is a positive, numeric constant, variable, or expression that specifies the rounding unit.\"},{\"Name\":\"ROUNDE\",\"Definition\":\"Rounds the first argument to the nearest multiple of the second argument, and returns an even multiple when the first argument is halfway between the two nearest multiples.\",\"Parameter1\":\"argument&lt;\",\"Description1\":\"Is a numeric constant, variable, or expression to be rounded.\",\"Parameter2\":\"rounding-unit&gt;\",\"Description2\":\"Is a positive, numeric constant, variable, or expression that specifies the rounding unit.\"},{\"Name\":\"ROUNDZ\",\"Definition\":\"Rounds the first argument to the nearest multiple of the second argument, using zero fuzzing.\",\"Parameter1\":\"argument&lt;\",\"Description1\":\"Is a numeric constant, variable, or expression to be rounded.\",\"Parameter2\":\"rounding-unit&gt;\",\"Description2\":\"Is a positive, numeric constant, variable, or expression that specifies the rounding unit.\"},{\"Name\":\"SAVING\",\"Definition\":\"Returns the future value of a periodic saving.\",\"Parameter1\":\"f\",\"Description1\":\"Is numeric, the future amount (at the end of n periods). Range: f \\u2265 0.\",\"Parameter2\":\"p\",\"Description2\":\"Is numeric, the fixed periodic payment. Range: p \\u2265 0.\",\"Parameter3\":\"r\",\"Description3\":\"Is numeric, the periodic interest rate expressed as a decimal. Range: r \\u2265 0.\",\"Parameter4\":\"n\",\"Description4\":\"Is an integer, the number of compounding periods. Range: n \\u2265 0.\"},{\"Name\":\"SCAN*1\",\"Definition\":\"Returns the nth word from a character string.\",\"Parameter1\":\"string\",\"Description1\":\"Specifies a character constant, variable, or expression.\",\"Parameter2\":\"count&lt;\",\"Description2\":\"Is a nonzero numeric constant, variable, or expression that has an integer value that specifies the number of the word in the character string that you want SCAN to select. For example, a value of 1 indicates the first word.\",\"Parameter3\":\"charlist&lt;\",\"Description3\":\"Specifies an optional character expression that initializes a list of characters. By default, all characters in charlist are used as delimiters.\",\"Parameter4\":\"modifier(s)&gt;&gt;\",\"Description4\":\"Specifies a character constant, a variable, or an expression in which each non-blank character modifies the action of the SCAN function. Refer to SAS documentation for the list of valid modifiers.\"},{\"Name\":\"SCAN*2\",\"Definition\":\"This CALL SCAN routine returns the position and length of the nth word from a character string.\",\"Parameter1\":\"&lt;string&gt;\",\"Description1\":\"Specifies a character constant, variable, or expression.\",\"Parameter2\":\"count\",\"Description2\":\"Is a non-zero numeric constant, variable, or expression that has an integer value that specifies the number of the word in the character string that you want the CALL SCAN routine to select.\",\"Parameter3\":\"position\",\"Description3\":\"Specifies a numeric variable in which the position of the word is returned. If count exceeds the number of words in the string, then the value that is returned in position is zero. If count is zero or missing, then the value that is returned in position is missing.\",\"Parameter4\":\"length &lt;\",\"Description4\":\"Specifies a numeric variable in which the length of the word is returned. If count exceeds the number of words in the string, then the value that is returned in length is zero. If count is zero or missing, then the value that is returned in length is missing.\",\"Parameter5\":\"&lt;charlist&gt; &lt;\",\"Description5\":\"Specifies an optional character constant, variable, or expression that initializes a list of characters. This list determines which characters are used as the delimiters that separate words.\",\"Parameter6\":\"&lt;modifier&gt;&gt;&gt;\",\"Description6\":\"Specifies a character constant, variable, or expression in which each non-blank character modifies the action of the CALL SCAN routine. Blanks are ignored.\"},{\"Name\":\"SCAN*3\",\"Definition\":\"Searches for a word and masks special characters and mnemonic operators.\",\"Parameter1\":\"argument\",\"Description1\":\"Is a character string or a text expression. If argument contains a special character or mnemonic operator, use %QSCAN.\",\"Parameter2\":\"n&lt;\",\"Description2\":\"Is an integer or a text expression that yields an integer, which specifies the position of the word to return.\",\"Parameter3\":\"delimiters&gt;\",\"Description3\":\"Specifies an optional list of one or more characters that separate \\\"words\\\" or text expressions that yield one or more characters. Possible delimiters: blank . &lt; ( + &amp; ! $ * ) ; ^ - / , % |.\"},{\"Name\":\"SCANQ*1\",\"Definition\":\"Returns the nth word from a character expression, ignoring delimiters that are enclosed in quotation marks.\",\"Parameter1\":\"string\",\"Description1\":\"Specifies a character constant, variable, or expression.\",\"Parameter2\":\"n&lt;\",\"Description2\":\"Is a numeric constant, variable, or expression that has an integer value that specifies the number of the word in the character string that you want QSCAN to select. If n is positive, CALL SCANQ counts words from left to right. If n is negative, SCANQ counts words from right to left. If n is zero, or |n| is greater than the number of words in the character string, CALL SCANQ returns a position and length of zero.\",\"Parameter3\":\"delimiter(s)&lt;\",\"Description3\":\"Specifies an optional character constant, variable, or expression that specifies the characters that you want SCANQ to use to separate words in the character string. Restriction: You cannot use single or double quotation marks as delimiters. Default: If you omit delimiter, SCANQ uses white space characters (blank, horizontal and vertical tab, carriage return, line feed, and form feed) as delimiters.\"},{\"Name\":\"SCANQ*2\",\"Definition\":\"Returns the position and length of a given word from a character expression, and ignores delimiters that are enclosed in quotation marks.\",\"Parameter1\":\"string\",\"Description1\":\"Specifies a character constant, variable, or expression.\",\"Parameter2\":\"n\",\"Description2\":\"Is a numeric constant, variable, or expression that has an integer value that specifies the number of the word in the character string that you want QSCAN to select. If n is positive, CALL SCANQ counts words from left to right. If n is negative, SCANQ counts words from right to left. If n is zero, or |n| is greater than the number of words in the character string, CALL SCANQ returns a position and length of zero.\",\"Parameter3\":\"position\",\"Description3\":\"Specifies a numeric variable in which the position of the word is returned.\",\"Parameter4\":\"length&lt;\",\"Description4\":\"Specifies a numeric variable in which the length of the word is returned.\",\"Parameter5\":\"delimiter(s)&lt;\",\"Description5\":\"Specifies an optional character constant, variable, or expression that specifies the characters that you want SCANQ to use to separate words in the character string. Restriction: You cannot use single or double quotation marks as delimiters. Default: If you omit delimiter, SCANQ uses white space characters (blank, horizontal and vertical tab, carriage return, line feed, and form feed) as delimiters.\"},{\"Name\":\"SDF\",\"Definition\":\"Returns a survival function.\",\"Parameter1\":\"distribution\",\"Description1\":\"Is a character string that identifies the distribution. Valid distributions are as follows:\\n\\n      Bernoulli distribution: 'BERNOULLI'\\n      Beta distribution: 'BETA'\\n      Binomial distribution: 'BINOMIAL'\\n      Cauchy distribution: 'CAUCHY'\\n      Chi-Square distribution: 'CHISQUARE'\\n      Conway-Maxwell-Poisson distribution: 'CMP'\\n      Exponential distribution: 'EXPONENTIAL'\\n      F distribution: 'F'\\n      Gamma distribution: 'GAMMA'\\n      Generalized Poisson distribution: 'GENPOISSON'\\n      Geometric distribution: 'GEOMETRIC'\\n      Hypergeometric distribution: 'HYPERGEOMETRIC'\\n      Laplace distribution: 'LAPLACE'\\n      Logistic distribution: 'LOGISTIC'\\n      Lognormal'LOGNORMAL'\\n      Negative binomial distribution: 'NEGBINOMIAL'\\n      Normal distribution: 'NORMAL'|'GAUSS'\\n      Normal mixture distribution: 'NORMALMIX'\\n      Pareto distribution: 'PARETO'\\n      Poisson distribution: 'POISSON'\\n      T distribution: 'T'\\n      Tweedie distribution: 'TWEEDIE').\\n      Uniform distribution: 'UNIFORM'\\n      Wald (inverse Gaussian) distribution: 'WALD'|'IGAUSS'\\n      Weibull distribution: 'WEIBULL'\\n\\n      Note: Except for T, F, and NORMALMIX, you can minimally identify any distribution by its first four characters.\",\"Parameter2\":\"quantile\",\"Description2\":\"Is a numeric constant, variable or expression that specifies the value of a random variable.\",\"Parameter3\":\"parameter-1, ..., parameter-k\",\"Description3\":\"Are optional shape, location, or scale parameters appropriate for the specific distribution.\"},{\"Name\":\"SECOND\",\"Definition\":\"Returns the second from a SAS time or datetime value.\",\"Parameter1\":\"time | datetime\",\"Description1\":\"Is a numeric constant, variable, or expression with a value that represents a SAS time or datetime value.\"},{\"Name\":\"SIGN\",\"Definition\":\"Returns the sign of a value.\",\"Parameter1\":\"argument\",\"Description1\":\"Specifies a numeric constant, variable, or expression.\"},{\"Name\":\"SIN\",\"Definition\":\"Returns the sine.\",\"Parameter1\":\"argument\",\"Description1\":\"Specifies a numeric constant, variable, or expression and is expressed in radians.\"},{\"Name\":\"SINH\",\"Definition\":\"Returns the hyperbolic sine.\",\"Parameter1\":\"argument\",\"Description1\":\"Specifies a numeric constant, variable, or expression.\"},{\"Name\":\"SKEWNESS\",\"Definition\":\"Returns the skewness of the nonmissing arguments. At least 3 arguments are required.\",\"Parameter1\":\"argument-1\",\"Description1\":\"Specifies a numeric constant, variable, or expression.\",\"Parameter2\":\"argument-2\",\"Description2\":\"Specifies a numeric constant, variable, or expression.\",\"Parameter3\":\"argument-3&lt;\",\"Description3\":\"Specifies a numeric constant, variable, or expression.\",\"Parameter4\":\"...argument-n&gt;\",\"Description4\":\"Specifies a numeric constant, variable, or expression.\"},{\"Name\":\"SLEEP\",\"Definition\":\"For a specified period of time, suspends the execution of a program that invokes this function or call routine.\",\"Parameter1\":\"n\",\"Description1\":\"Is a numeric constant, variable, or expression that specifies the number of units of time for which you want to suspend execution of a program. Range: n \\u2265 0 \",\"Parameter2\":\"unit\",\"Description2\":\"Is a numeric constant, variable, or expression that specifies the unit of time, as a power of 10, which is applied to n. For example, 1 corresponds to a second, and .001 to a millisecond.\"},{\"Name\":\"SMALLEST\",\"Definition\":\"Returns the kth smallest nonmissing value.\",\"Parameter1\":\"k\",\"Description1\":\"Is a numeric constant, variable, or expression that specifies which value to return.\",\"Parameter2\":\"value-1&lt;, value-2 ...&gt;\",\"Description2\":\"Specifies a numeric constant, variable, or expression.\"},{\"Name\":\"SOUNDEX\",\"Definition\":\"Encodes a string to facilitate searching.\",\"Parameter1\":\"argument\",\"Description1\":\"Specifies a character constant, variable, or expression.\"},{\"Name\":\"SPEDIS\",\"Definition\":\"Determines the likelihood of two words matching, expressed as the asymmetric spelling distance between the two words.\",\"Parameter1\":\"query\",\"Description1\":\"Identifies the word to query for the likelihood of a match. SPEDIS removes trailing blanks before comparing the value.\",\"Parameter2\":\"keyword\",\"Description2\":\"Specifies a target word for the query. SPEDIS removes trailing blanks before comparing the value.\"},{\"Name\":\"SQRT\",\"Definition\":\"Returns the square root of a value.\",\"Parameter1\":\"argument\",\"Description1\":\"Specifies a numeric constant, variable, or expression. Argument must be nonnegative.\"},{\"Name\":\"STD\",\"Definition\":\"Returns the standard deviation of the nonmissing arguments. At least two nonmissing arguments are required.\",\"Parameter1\":\"argument-1\",\"Description1\":\"Specifies a numeric constant, variable, or expression.\",\"Parameter2\":\"argument-2&lt;\",\"Description2\":\"Specifies a numeric constant, variable, or expression.\",\"Parameter3\":\"...argument-n&gt;\",\"Description3\":\"Specifies a numeric constant, variable, or expression.\"},{\"Name\":\"STDERR\",\"Definition\":\"Returns the standard error of the mean of the nonmissing arguments. At least two nonmissing arguments are required.\",\"Parameter1\":\"argument-1\",\"Description1\":\"Specifies a numeric constant, variable, or expression.\",\"Parameter2\":\"argument-2&lt;\",\"Description2\":\"Specifies a numeric constant, variable, or expression.\",\"Parameter3\":\"...argument-n&gt;\",\"Description3\":\"Specifies a numeric constant, variable, or expression.\"},{\"Name\":\"STFIPS\",\"Definition\":\"Converts state postal codes to FIPS state codes.\",\"Parameter1\":\"postal-code\",\"Description1\":\"Specifies a character expression that contains the two-character standard state postal code. Characters can be mixed case. The function ignores trailing blanks, but generates an error if the expression contains leading blanks.\"},{\"Name\":\"STNAME\",\"Definition\":\"Converts state postal codes to uppercase state names.\",\"Parameter1\":\"postal-code\",\"Description1\":\"Specifies a character expression that contains the two-character standard state postal code. Characters can be mixed case. The function ignores trailing blanks, but generates an error if the expression contains leading blanks.\"},{\"Name\":\"STNAMEL\",\"Definition\":\"Converts state postal codes to mixed case state names.\",\"Parameter1\":\"postal-code\",\"Description1\":\"Specifies a character expression that contains the two-character standard state postal code. Characters can be mixed case. The function ignores trailing blanks, but generates an error if the expression contains leading blanks.\"},{\"Name\":\"STRIP\",\"Definition\":\"Returns a character string with all leading and trailing blanks removed.\",\"Parameter1\":\"string\",\"Description1\":\"Is a character constant, variable, or expression.\"},{\"Name\":\"SUBPAD\",\"Definition\":\"Returns a substring that has a length you specify, using blank padding if necessary.\",\"Parameter1\":\"string\",\"Description1\":\"Specifies a character constant, variable, or expression.\",\"Parameter2\":\"position&lt;\",\"Description2\":\"Is a positive integer that specifies the position of the first character in the substring.\",\"Parameter3\":\"length&gt;\",\"Description3\":\"Is a non-negative integer that specifies the length of the substring. If you do not specify length, the SUBPAD function returns the substring that extends from the position that you specify to the end of the string.\"},{\"Name\":\"SUBSTR*1\",\"Definition\":\"Extracts a substring from an argument. Appropriate for a SUBSTR (right of =) function, of the form &lt;variable=&gt; SUBSTR(string, position&lt;,length&gt;.)\",\"Parameter1\":\"string\",\"Description1\":\"Specifies a character constant, variable, or expression.\",\"Parameter2\":\"position&lt;\",\"Description2\":\"Specifies a numeric constant, variable, or expression that is the beginning character position.\",\"Parameter3\":\"length&gt;\",\"Description3\":\"Specifies a numeric constant, variable, or expression that is the length of the substring to extract.\"},{\"Name\":\"SUBSTR*2\",\"Definition\":\"Replaces character value contents. Appropriate for a SUBSTR (left of =) function, of the form SUBSTR(variable, position&lt;,length&gt;)=characters-to-replace.\",\"Parameter1\":\"variable\",\"Description1\":\"Specifies a character variable.\",\"Parameter2\":\"position&lt;\",\"Description2\":\"Specifies a numeric constant, variable, or expression that is the beginning character position.\",\"Parameter3\":\"length&gt;\",\"Description3\":\"Specifies a numeric constant, variable, or expression that is the length of the substring that will be replaced.\"},{\"Name\":\"SUBSTR*3\",\"Definition\":\"%SUBSTR produces a substring of a character string.\",\"Parameter1\":\"argument\",\"Description1\":\"Is a character string or a text expression.\",\"Parameter2\":\"position&lt;\",\"Description2\":\"Is an integer or an expression (text, logical, or arithmetic) that yields an integer, which specifies the position of the first character in the substring.\",\"Parameter3\":\"length&gt;\",\"Description3\":\"Is an optional integer or an expression (text, logical, or arithmetic) that yields an integer that specifies the number of characters in the substring.\"},{\"Name\":\"QSUBSTR\",\"Definition\":\"%QSUBSTR produces a substring of a character string, masking special characters and mnemonic operators.\",\"Parameter1\":\"argument\",\"Description1\":\"Is a character string or a text expression that might contain special characters and mnemonic operators such as &amp; % ' \\\" ( ) + - * / &lt; &gt; = \\u00ac ^ ~ ; , #  blank AND OR NOT EQ NE LE LT GE GT IN.\",\"Parameter2\":\"position&lt;\",\"Description2\":\"Is an integer or an expression (text, logical, or arithmetic) that yields an integer, which specifies the position of the first character in the substring.\",\"Parameter3\":\"length&gt;\",\"Description3\":\"Is an optional integer or an expression (text, logical, or arithmetic) that yields an integer that specifies the number of characters in the substring.\"},{\"Name\":\"SUBSTRN\",\"Definition\":\"Returns a substring, allowing a result with a length of zero.\",\"Parameter1\":\"string\",\"Description1\":\"Specifies a character constant, variable, or expression.\",\"Parameter2\":\"position&lt;\",\"Description2\":\"Is an integer that specifies the position of the first character in the substring.\",\"Parameter3\":\"length\",\"Description3\":\"Is an integer that specifies the length of the substring. If you do not specify length, the SUBSTRN function returns the substring that extends from the position that you specify to the end of the string.\"},{\"Name\":\"SUM\",\"Definition\":\"Returns the sum of the nonmissing arguments.\",\"Parameter1\":\"argument, argument, ...\",\"Description1\":\"Specifies a numeric constant, variable, or expression. If all the arguments have missing values, the result is a missing value.\"},{\"Name\":\"SUMABS\",\"Definition\":\"Returns the sum of the absolute values of the non-missing arguments.\",\"Parameter1\":\"value-1&lt;\",\"Description1\":\"Specifies a numeric expression.\",\"Parameter2\":\"value-2 ...&gt;\",\"Description2\":\"Specifies a numeric expression.\"},{\"Name\":\"SYMEXIST\",\"Definition\":\"Returns an indication of the existence of a macro variable.\",\"Parameter1\":\"argument\",\"Description1\":\"Can be one of the following items: (1) the name of a macro variable within double quotation marks but without an ampersand; (2) the name of a DATA step character variable, specified with no quotation marks, which contains a macro variable name; (3) a character expression that constructs a macro variable name.\"},{\"Name\":\"SYMGET\",\"Definition\":\"Returns the value of a macro variable during DATA step execution.\",\"Parameter1\":\"argument\",\"Description1\":\"Can be one of the following items: (1) the name of a macro variable within double quotation marks but without an ampersand; (2) the name of a DATA step character variable, specified with no quotation marks, which contains a macro variable name; (3) a character expression that constructs a macro variable name.\"},{\"Name\":\"SYMGLOBL\",\"Definition\":\"Returns an indication of whether a macro variable is in global scope to the DATA step during DATA step execution.\",\"Parameter1\":\"argument\",\"Description1\":\"Can be one of the following items: (1) the name of a macro variable within double quotation marks but without an ampersand; (2) the name of a DATA step character variable, specified with no quotation marks, which contains a macro variable name; (3) a character expression that constructs a macro variable name.\"},{\"Name\":\"SYMLOCAL\",\"Definition\":\"Returns an indication of whether a macro variable is in local scope to the DATA step during DATA step execution.\",\"Parameter1\":\"argument\",\"Description1\":\"Can be one of the following items: (1) the name of a macro variable within double quotation marks but without an ampersand; (2) the name of a DATA step character variable, specified with no quotation marks, which contains a macro variable name; (3) a character expression that constructs a macro variable name.\"},{\"Name\":\"SYSGET\",\"Definition\":\"Returns the value of the specified operating environment variable.\",\"Parameter1\":\"operating-environment-variable\",\"Description1\":\"Is a character constant, variable, or expression with a value that is the name of an operating environment variable. The case of operating-environment-variable must agree with the case that is stored in the operating environment. Trailing blanks in the argument of SYSGET are significant. Use the TRIM function to remove them.\"},{\"Name\":\"SYSMSG\",\"Definition\":\"Returns error or warning message text from processing the last data set or external file function.\"},{\"Name\":\"SYSPARM\",\"Definition\":\"Returns the system parameter string.\"},{\"Name\":\"SYSPROCESSID\",\"Definition\":\"Returns the process ID of the current process.\"},{\"Name\":\"SYSPROCESSNAME\",\"Definition\":\"Returns the process name that is associated with a given process ID, or returns the name of the current process.\",\"Parameter1\":\"&lt;process_id&gt;\",\"Description1\":\"Specifies a 32-character hexadecimal process id.\"},{\"Name\":\"SYSPROD\",\"Definition\":\"Determines whether a product is licensed.\",\"Parameter1\":\"product-name\",\"Description1\":\"Specifies a character constant, variable, or expression with a value that is the name of a SAS product.\"},{\"Name\":\"SYSRC\",\"Definition\":\"Returns a system error number.\"},{\"Name\":\"SYSTEM\",\"Definition\":\"Issues an operating environment command during a SAS session, and returns the system return code.\",\"Parameter1\":\"command\",\"Description1\":\"Specifies any of the following: a system command that is enclosed in quotation marks (explicit character string), an expression whose value is a system command, or the name of a character variable whose value is a system command that is executed.\"},{\"Name\":\"TAN\",\"Definition\":\"Returns the tangent.\",\"Parameter1\":\"argument\",\"Description1\":\"Specifies a numeric constant, variable, or expression and is expressed in radians.\"},{\"Name\":\"TANH*1\",\"Definition\":\"Returns the hyperbolic tangent.\",\"Parameter1\":\"argument\",\"Description1\":\"Specifies a numeric constant, variable, or expression.\"},{\"Name\":\"TANH*2\",\"Definition\":\"This CALL TANH routine returns the hyperbolic tangent.\",\"Parameter1\":\"argument-1&lt;\",\"Description1\":\"Specifies a numeric variable. Do not use a constant or a SAS expression because the CALL routine is unable to update these arguments.\",\"Parameter2\":\"..., argument-n&gt;\",\"Description2\":\"Specifies a numeric variable. Do not use a constant or a SAS expression because the CALL routine is unable to update these arguments.\"},{\"Name\":\"TIME\",\"Definition\":\"Returns the current time of day as a numeric SAS time value. \\n    \\nInteraction:\\nIf the value of the TIMEZONE= system option is set to a time zone name or time zone ID, the date and time values that are returned for this function are determined by the time zone.\"},{\"Name\":\"TIMEPART\",\"Definition\":\"Extracts a time value from a SAS datetime value.\",\"Parameter1\":\"datetime\",\"Description1\":\"Is a numeric constant, variable, or expression that represents a SAS datetime value.\"},{\"Name\":\"TINV\",\"Definition\":\"Returns a quantile from the t distribution.\",\"Parameter1\":\"p\",\"Description1\":\"Is a numeric probability. Range: 0 &lt; p &lt; 1\",\"Parameter2\":\"df\",\"Description2\":\"Is a numeric degrees of freedom parameter. Range: df &gt; 0.\",\"Parameter3\":\"nc\",\"Description3\":\"Is an optional numeric noncentrality parameter.\"},{\"Name\":\"TNONCT\",\"Definition\":\"Returns the value of the noncentrality parameter from the Student's t distribution.\",\"Parameter1\":\"x\",\"Description1\":\"Is a numeric random variable.\",\"Parameter2\":\"df\",\"Description2\":\"Is a numeric degrees of freedom parameter. Range: df &gt; 0.\",\"Parameter3\":\"prob\",\"Description3\":\"Is a probability. Range: 0 &lt; prob &lt; 1\",\"Parameter4\":null,\"Description4\":null},{\"Name\":\"TODAY\",\"Definition\":\"Returns the current date as a numeric SAS date value. \\n    \\nAlias: DATE \\n\\nInteraction:\\nIf the value of the TIMEZONE= system option is set to a time zone name or time zone ID, the date and time values that are returned for this function are determined by the time zone.\"},{\"Name\":\"TRANSLATE\",\"Definition\":\"Replaces specific characters in a character string.\",\"Parameter1\":\"source\",\"Description1\":\"Specifies a character constant, variable, or expression that contains the original character string.\",\"Parameter2\":\"to-1\",\"Description2\":\"Specifies the characters that you want TRANSLATE to use as substitutes.\",\"Parameter3\":\"from-1&lt;\",\"Description3\":\"Specifies the characters that you want TRANSLATE to replace.\",\"Parameter4\":\", ...to-n, from-n&gt;\",\"Description4\":\"Additional to and from arguments.\"},{\"Name\":\"TRANSTRN\",\"Definition\":\"Replaces all occurrences of a substring found in a character string, allowing a zero-length replacement string.\",\"Parameter1\":\"text\",\"Description1\":\"Specifies the input string.\",\"Parameter2\":\"from\",\"Description2\":\"Specifies the string to be searched for.\",\"Parameter3\":\"to\",\"Description3\":\"Specifies what each occurrence of the from argument will be changed to.\"},{\"Name\":\"TRANWRD\",\"Definition\":\"Replaces or removes all occurrences of a substring in a character string.\",\"Parameter1\":\"source\",\"Description1\":\"Specifies a character constant, variable, or expression that you want to translate.\",\"Parameter2\":\"target\",\"Description2\":\"Specifies a character constant, variable, or expression that is searched for in source.\",\"Parameter3\":\"replacement\",\"Description3\":\"Specifies a character constant, variable, or expression that replaces target.\"},{\"Name\":\"TRIGAMMA\",\"Definition\":\"Returns the value of the trigamma function.\",\"Parameter1\":\"argument\",\"Description1\":\"Specifies a numeric constant, variable, or expression. Nonpositive integers are invalid.\"},{\"Name\":\"TRIM\",\"Definition\":\"Removes trailing blanks from a character string, and returns one blank if the string is missing.\",\"Parameter1\":\"argument\",\"Description1\":\"Specifies a character constant, variable, or expression.\"},{\"Name\":\"QTRIM\",\"Definition\":\"Removes trailing blanks from a character string, and returns one blank if the string is missing. QTRIM produces a result with special characters and mnemonic operators masked.\",\"Parameter1\":\"argument\",\"Description1\":\"Specifies a character constant, variable, or text expression that might contain special characters and/or mnemonic operators such as &amp; % ' \\\" ( ) + - * / &lt; &gt; = \\u00ac ^ ~ ; , # blank AND OR NOT EQ NE LE LT GE GT IN.\"},{\"Name\":\"TRIMN\",\"Definition\":\"Removes trailing blanks from character expressions, and returns a string with a length of zero if the expression is missing.\",\"Parameter1\":\"argument\",\"Description1\":\"Specifies a character constant, variable, or expression.\"},{\"Name\":\"TRUNC\",\"Definition\":\"Truncates a numeric value to a specified number of bytes.\",\"Parameter1\":\"number\",\"Description1\":\"Specifies a numeric constant, variable, or expression.\",\"Parameter2\":\"length\",\"Description2\":\"Specifies an integer.\"},{\"Name\":\"UNIFORM\",\"Definition\":\"Returns a random variate from a uniform distribution.\",\"Parameter1\":\"seed\",\"Description1\":\"Is the seed value. A new value for seed is returned each time CALL RANUNI is executed. Range: seed &lt; 2\\u00b3\\u00b9 - 1.\",\"Parameter2\":\"x\",\"Description2\":\"Is a numeric variable. A new value for the random variate x is returned each time CALL RANUNI is executed.\"},{\"Name\":\"UPCASE\",\"Definition\":\"Converts all letters in an argument to uppercase.\",\"Parameter1\":\"argument\",\"Description1\":\"Specifies a character constant, variable, or expression.\"},{\"Name\":\"QUPCASE\",\"Definition\":\"Converts all letters in an argument to uppercase. %QUPCASE masks special characters and mnemonic operators in its result.\",\"Parameter1\":\"character string | text expression\",\"Description1\":\"Specifies a character constant, variable, or text expression that might contain special characters and/or mnemonic operators such as &amp; % ' \\\" ( ) + - * / &lt; &gt; = \\u00ac ^ ~ ; , # blank AND OR NOT EQ NE LE LT GE GT IN.\"},{\"Name\":\"URLDECODE\",\"Definition\":\"Returns a string that was decoded using the URL escape syntax.\",\"Parameter1\":\"argument\",\"Description1\":\"Specifies a character constant, variable, or expression.\"},{\"Name\":\"URLENCODE\",\"Definition\":\"Returns a string that was encoded using the URL escape syntax.\",\"Parameter1\":\"argument\",\"Description1\":\"Specifies a character constant, variable, or expression.\"},{\"Name\":\"USS\",\"Definition\":\"Returns the uncorrected sum of squares of the nonmissing arguments. At least one nonmissing argument is required.\",\"Parameter1\":\"argument-1&lt;\",\"Description1\":\"Specifies a numeric constant, variable, or expression.\",\"Parameter2\":\"...argument-n&gt;\",\"Description2\":\"Specifies a numeric constant, variable, or expression.\"},{\"Name\":\"UUIDGEN\",\"Definition\":\"Returns the short or binary form of a Universal Unique Identifier (UUID).\",\"Parameter1\":\"&lt;max-warnings&lt;\",\"Description1\":\"Specifies an integer value that represents the maximum number of warnings that this function writes to the log. Default: 1.\",\"Parameter2\":\"binary-result&gt;&gt;\",\"Description2\":\"Specifies an integer value that indicates whether this function should return a binary result. Nonzero indicates a binary result should be returned. Zero indicates that a character result should be returned. Default: 0.\",\"Parameter3\":null,\"Description3\":null,\"Parameter4\":null,\"Description4\":null},{\"Name\":\"VAR\",\"Definition\":\"Returns the variance of the nonmissing arguments. At least two nonmissing arguments are required.\",\"Parameter1\":\"argument-1\",\"Description1\":\"Specifies a numeric constant, variable, or expression. The argument list can consist of a variable list, which is preceded by OF.\",\"Parameter2\":\"argument-2&lt;\",\"Description2\":\"Specifies a numeric constant, variable, or expression. The argument list can consist of a variable list, which is preceded by OF.\",\"Parameter3\":\"...argument-n&gt;\",\"Description3\":\"Specifies a numeric constant, variable, or expression. The argument list can consist of a variable list, which is preceded by OF.\"},{\"Name\":\"VARFMT\",\"Definition\":\"Returns the format that is assigned to a SAS data set variable.\",\"Parameter1\":\"data-set-id\",\"Description1\":\"Specifies the data set identifier that the OPEN function returns.\",\"Parameter2\":\"var-num\",\"Description2\":\"Specifies the number of the variable's position in the SAS data set.\"},{\"Name\":\"VARINFMT\",\"Definition\":\"Returns the informat that is assigned to a SAS data set variable.\",\"Parameter1\":\"data-set-id\",\"Description1\":\"Specifies the data set identifier that the OPEN function returns.\",\"Parameter2\":\"var-num\",\"Description2\":\"Specifies the number of the variable's position in the SAS data set.\"},{\"Name\":\"VARLABEL\",\"Definition\":\"Returns the label that is assigned to a SAS data set variable.\",\"Parameter1\":\"data-set-id\",\"Description1\":\"Specifies the data set identifier that the OPEN function returns.\",\"Parameter2\":\"var-num\",\"Description2\":\"Specifies the number of the variable's position in the SAS data set.\"},{\"Name\":\"VARLEN\",\"Definition\":\"Returns the length of a SAS data set variable.\",\"Parameter1\":\"data-set-id\",\"Description1\":\"Specifies the data set identifier that the OPEN function returns.\",\"Parameter2\":\"var-num\",\"Description2\":\"Specifies the number of the variable's position in the SAS data set.\"},{\"Name\":\"VARNAME\",\"Definition\":\"Returns the name of a SAS data set variable.\",\"Parameter1\":\"data-set-id\",\"Description1\":\"Specifies the data set identifier that the OPEN function returns.\",\"Parameter2\":\"var-num\",\"Description2\":\"Specifies the number of the variable's position in the SAS data set.\"},{\"Name\":\"VARNUM\",\"Definition\":\"Returns the number of a variable's position in a SAS data set.\",\"Parameter1\":\"data-set-id\",\"Description1\":[\"Specifies the data set identifier that the OPEN function returns.\",null],\"Parameter2\":\"var-name\",\"Description2\":\"Specifies the variable's name.\"},{\"Name\":\"VARRAY\",\"Definition\":\"Returns a value that indicates whether the specified name is an array.\",\"Parameter1\":\"name\",\"Description1\":\"Specifies a name that is expressed as a scalar or as an array reference.\"},{\"Name\":\"VARRAYX\",\"Definition\":\"Returns a value that indicates whether the value of the specified argument is an array.\",\"Parameter1\":\"expression\",\"Description1\":\"Specifies a character constant, variable, or expression. The value of the specified expression cannot denote an array reference.\"},{\"Name\":\"VARTYPE\",\"Definition\":\"Returns the data type of a SAS data set variable.\",\"Parameter1\":\"data-set-id\",\"Description1\":\"Specifies the data set identifier that the OPEN function returns.\",\"Parameter2\":\"var-num\",\"Description2\":\"Specifies the number of the variable's position in the SAS data set.\"},{\"Name\":\"VERIFY\",\"Definition\":\"Returns the position of the first character in a string that is not in any of several other strings.\",\"Parameter1\":\"source\",\"Description1\":\"Specifies a character constant, variable, or expression.\",\"Parameter2\":\"excerpt-1&lt;\",\"Description2\":\"Specifies a character constant, variable, or expression. If you specify more than one excerpt, separate them with a comma.\",\"Parameter3\":\"...excerpt-n&gt;\",\"Description3\":\"Specifies a character constant, variable, or expression. If you specify more than one excerpt, separate them with a comma.\"},{\"Name\":\"VFORMAT\",\"Definition\":\"Returns the format that is associated with the specified variable.\",\"Parameter1\":\"var\",\"Description1\":\"Specifies a variable that is expressed as a scalar or as an array reference. You cannot use an expression as an argument.\"},{\"Name\":\"VFORMATD\",\"Definition\":\"Returns the decimal value of the format that is associated with the specified variable.\",\"Parameter1\":\"var\",\"Description1\":\"Specifies a variable that is expressed as a scalar or as an array reference. You cannot use an expression as an argument.\"},{\"Name\":\"VFORMATDX\",\"Definition\":\"Returns the decimal value of the format that is associated with the value of the specified argument.\",\"Parameter1\":\"expression\",\"Description1\":\"Specifies a SAS character constant, variable, or expression that evaluates to a variable name. The value of the specified expression cannot denote an array reference.\"},{\"Name\":\"VFORMATN\",\"Definition\":\"Returns the format name that is associated with the specified variable.\",\"Parameter1\":\"var\",\"Description1\":\"Specifies a variable that is expressed as a scalar or as an array reference. You cannot use an expression as an argument.\"},{\"Name\":\"VFORMATNX\",\"Definition\":\"Returns the format name that is associated with the value of the specified argument.\",\"Parameter1\":\"expression\",\"Description1\":\"Specifies a SAS character constant, variable, or expression that evaluates to a variable name. The value of the specified expression cannot denote an array reference.\"},{\"Name\":\"VFORMATW\",\"Definition\":\"Returns the format width that is associated with the specified variable.\",\"Parameter1\":\"var\",\"Description1\":\"Specifies a variable that is expressed as a scalar or as an array reference. You cannot use an expression as an argument.\"},{\"Name\":\"VFORMATWX\",\"Definition\":\"Returns the format width that is associated with the value of the specified argument.\",\"Parameter1\":\"expression\",\"Description1\":\"Specifies a SAS character constant, variable, or expression that evaluates to a variable name. The value of the specified expression cannot denote an array reference.\"},{\"Name\":\"VFORMATX\",\"Definition\":\"Returns the format that is associated with the value of the specified argument.\",\"Parameter1\":\"expression\",\"Description1\":\"Specifies a SAS character constant, variable, or expression that evaluates to a variable name. The value of the specified expression cannot denote an array reference.\"},{\"Name\":\"VINARRAY\",\"Definition\":\"Returns a value that indicates whether the specified variable is a member of an array.\",\"Parameter1\":\"var\",\"Description1\":\"Specifies a variable that is expressed as a scalar or as an array reference. You cannot use an expression as an argument.\"},{\"Name\":\"VINARRAYX\",\"Definition\":\"Returns a value that indicates whether the value of the specified argument is a member of an array.\",\"Parameter1\":\"expression\",\"Description1\":\"Specifies a SAS character constant, variable, or expression that evaluates to a variable name. The value of the specified expression cannot denote an array reference.\"},{\"Name\":\"VINFORMAT\",\"Definition\":\"Returns the informat that is associated with the specified variable.\",\"Parameter1\":\"var\",\"Description1\":\"Specifies a variable that is expressed as a scalar or as an array reference. You cannot use an expression as an argument.\"},{\"Name\":\"VINFORMATD\",\"Definition\":\"Returns the decimal value of the informat that is associated with the specified variable.\",\"Parameter1\":\"var\",\"Description1\":\"Specifies a variable that is expressed as a scalar or as an array reference. You cannot use an expression as an argument.\"},{\"Name\":\"VINFORMATDX\",\"Definition\":\"Returns the decimal value of the informat that is associated with the value of the specified variable.\",\"Parameter1\":\"expression\",\"Description1\":\"Specifies a SAS character constant, variable, or expression that evaluates to a variable name. The value of the specified expression cannot denote an array reference.\"},{\"Name\":\"VINFORMATN\",\"Definition\":\"Returns the informat name that is associated with the specified variable.\",\"Parameter1\":\"var\",\"Description1\":\"Specifies a variable that is expressed as a scalar or as an array reference. You cannot use an expression as an argument.\"},{\"Name\":\"VINFORMATNX\",\"Definition\":\"Returns the informat name that is associated with the value of the specified argument.\",\"Parameter1\":\"expression\",\"Description1\":\"Specifies a SAS character constant, variable, or expression that evaluates to a variable name. The value of the specified expression cannot denote an array reference.\"},{\"Name\":\"VINFORMATW\",\"Definition\":\"Returns the informat width that is associated with the specified variable.\",\"Parameter1\":\"var\",\"Description1\":\"Specifies a variable that is expressed as a scalar or as an array reference. You cannot use an expression as an argument.\"},{\"Name\":\"VINFORMATWX\",\"Definition\":\"Returns the informat width that is associated with the value of the specified argument.\",\"Parameter1\":\"expression\",\"Description1\":\"Specifies a SAS character constant, variable, or expression that evaluates to a variable name. The value of the specified expression cannot denote an array reference.\"},{\"Name\":\"VINFORMATX\",\"Definition\":\"Returns the informat that is associated with the value of the specified argument.\",\"Parameter1\":\"expression\",\"Description1\":\"Specifies a SAS character constant, variable, or expression that evaluates to a variable name. The value of the specified expression cannot denote an array reference.\"},{\"Name\":\"VLABEL\",\"Definition\":\"Returns the label that is associated with the specified variable.\",\"Parameter1\":\"var\",\"Description1\":\"Specifies a variable that is expressed as a scalar or as an array reference. You cannot use an expression as an argument.\"},{\"Name\":\"VLABELX\",\"Definition\":\"Returns the label that is associated with the value of the specified argument.\",\"Parameter1\":\"expression\",\"Description1\":\"Specifies a SAS character constant, variable, or expression that evaluates to a variable name. The value of the specified expression cannot denote an array reference.\"},{\"Name\":\"VLENGTH\",\"Definition\":\"Returns the compile-time (allocated) size of the specified variable.\",\"Parameter1\":\"var\",\"Description1\":\"Specifies a variable that is expressed as a scalar or as an array reference. You cannot use an expression as an argument.\"},{\"Name\":\"VLENGTHX\",\"Definition\":\"Returns the compile-time (allocated) size for the variable that has a name that is the same as the value of the argument.\",\"Parameter1\":\"expression\",\"Description1\":\"Specifies a SAS character constant, variable, or expression that evaluates to a variable name. The value of the specified expression cannot denote an array reference.\"},{\"Name\":\"VNAME*1\",\"Definition\":\"Returns the name of the specified variable.\",\"Parameter1\":\"var\",\"Description1\":\"Specifies a variable that is expressed as a scalar or as an array reference. You cannot use an expression as an argument.\"},{\"Name\":\"VNAME*2\",\"Definition\":\"Assigns a variable name as the value of a specified variable (variable-2).\",\"Parameter1\":\"variable-1\",\"Description1\":\"Specifies any SAS variable.\",\"Parameter2\":\"variable-2\",\"Description2\":\"Specifies any SAS character variable. Because SAS variable names can contain up to 32 characters, the length of variable-2 should be at least 32.\"},{\"Name\":\"VNAMEX\",\"Definition\":\"Validates the value of the specified argument as a variable name.\",\"Parameter1\":\"expression\",\"Description1\":\"Specifies a SAS character constant, variable, or expression that evaluates to a variable name. The value of the specified expression cannot denote an array reference.\"},{\"Name\":\"VTYPE\",\"Definition\":\"Returns the type (character or numeric) of the specified variable.\",\"Parameter1\":\"var\",\"Description1\":\"Specifies a variable that is expressed as a scalar or as an array reference. You cannot use an expression as an argument.\"},{\"Name\":\"VTYPEX\",\"Definition\":\"Returns the type (character or numeric) for the value of the specified argument.\",\"Parameter1\":\"expression\",\"Description1\":\"Specifies a SAS character constant, variable, or expression that evaluates to a variable name. The value of the specified expression cannot denote an array reference.\"},{\"Name\":\"VVALUE\",\"Definition\":\"Returns the formatted value that is associated with the variable that you specify.\",\"Parameter1\":\"var\",\"Description1\":\"Specifies a variable that is expressed as a scalar or as an array reference. You cannot use an expression as an argument.\"},{\"Name\":\"VVALUEX\",\"Definition\":\"Returns the formatted value that is associated with the argument that you specify.\",\"Parameter1\":\"expression\",\"Description1\":\"Specifies a SAS character constant, variable, or expression that evaluates to a variable name. The value of the specified expression cannot denote an array reference.\"},{\"Name\":\"WEEK\",\"Definition\":\"Returns the week-number value.\",\"Parameter1\":\"&lt;sas-date&gt;\",\"Description1\":\"Specifies a SAS date value. If the SAS date argument is not specified, the WEEK function returns the week-number value of the current date.\",\"Parameter2\":\"&lt;'descriptor'&gt;\",\"Description2\":\"Specifies the value of the descriptor. The following descriptors can be specified in uppercase or lowercase characters: 'U' (Default; SAS date specified as number-of-week value in decimal number 0-53; Sunday first day of week); 'V' (SAS date specified as number-of-week value in decimal number 1-53; Monday first day of week); 'W' (SAS date specified as number-of-week value in decimal number 0-53; Monday first day of week);\"},{\"Name\":\"WEEKDAY\",\"Definition\":\"From a SAS date value, returns an integer that corresponds to the day of the week.\",\"Parameter1\":\"date\",\"Description1\":\"Specifies a SAS expression that represents a SAS date value.\"},{\"Name\":\"WHICHC\",\"Definition\":\"Searches for a character value that is equal to the first argument, and returns the index of the first matching value.\",\"Parameter1\":\"string\",\"Description1\":\"Is a character constant, variable, or expression that specifies the value to search for.\",\"Parameter2\":\"value-1&lt;\",\"Description2\":\"Is a character constant, variable, or expression that specifies the value to be searched.\",\"Parameter3\":\"value-2, ...&gt;\",\"Description3\":\"Is a character constant, variable, or expression that specifies the value to be searched.\"},{\"Name\":\"WHICHN\",\"Definition\":\"Searches for a numeric value that is equal to the first argument, and returns the index of the first matching value.\",\"Parameter1\":\"string\",\"Description1\":\"Is a character constant, variable, or expression that specifies the value to search for.\",\"Parameter2\":\"value-1&lt;\",\"Description2\":\"Is a character constant, variable, or expression that specifies the value to be searched.\",\"Parameter3\":\"value-2, ...&gt;\",\"Description3\":\"Is a character constant, variable, or expression that specifies the value to be searched.\"},{\"Name\":\"YEAR\",\"Definition\":\"Returns the year from a SAS date value.\",\"Parameter1\":\"date\",\"Description1\":\"Specifies a SAS expression that represents a SAS date value.\"},{\"Name\":\"YIELDP\",\"Definition\":\"Returns the yield-to-maturity for a periodic cash flow stream, such as a bond.\",\"Parameter1\":\"A\",\"Description1\":\"Specifies the face value. Range: A &gt; 0.\",\"Parameter2\":\"c\",\"Description2\":\"Specifies the nominal annual coupon rate, expressed as a fraction. Range: 0 \\u2264 c &lt; 1.\",\"Parameter3\":\"n\",\"Description3\":\"Specifies the number of coupons per year. Range: n &gt; 0.\",\"Parameter4\":\"K\",\"Description4\":\"Specifies the number of remaining coupons from settlement date to maturity. Range: K &gt; 0 and is an integer.\",\"Parameter5\":\"ko\",\"Description5\":\"Specifies the time from settlement date to the next coupon as a fraction of the annual basis.  Range: 0 &lt; c \\u2264 1/n.\",\"Parameter6\":\"p\",\"Description6\":\"Specifies the price with accrued interest. Range: p &gt; 0.\"},{\"Name\":\"YRDIF\",\"Definition\":\"Returns the difference in years between two dates.\",\"Parameter1\":\"sdate\",\"Description1\":\"Specifies a SAS date value that identifies the starting date.\",\"Parameter2\":\"edate\",\"Description2\":\"Specifies a SAS date value that identifies the ending date.\",\"Parameter3\":\"basis\",\"Description3\":\"Identifies a character constant or variable that describes how SAS calculates the date difference in the securities industry. The following character strings are valid: '30/360' (30-day month and a 360-day year), 'ACT/ACT' (uses actual number of days between dates), 'ACT/360' (uses actual number of calendar days in a month, and 360 days for the year), 'ACT/365' (uses actual number of calendar days for each month, and 365 days for the year).\"},{\"Name\":\"YYQ\",\"Definition\":\"Returns a SAS date value from year and quarter year values.\",\"Parameter1\":\"year\",\"Description1\":\"Specifies a two-digit or four-digit integer that represents the year. The YEARCUTOFF= system option defines the year value for two-digit dates.\",\"Parameter2\":\"quarter\",\"Description2\":\"Specifies the quarter of the year (1, 2, 3, or 4).\"},{\"Name\":\"ZIPCITY\",\"Definition\":\"Returns a city name and the two-character postal code that corresponds to a zip code.\",\"Parameter1\":\"zip-code\",\"Description1\":\"Specifies a numeric or character expression that contains a five-digit zip code.\"},{\"Name\":\"ZIPCITYDISTANCE\",\"Definition\":\"Returns the geodetic distance between two zip code locations.\",\"Parameter1\":[\"zip-code-1\",\"zip-code-2\"],\"Description1\":[\"Specifies a numeric or character expression that contains the zip code of a location in the United States of America.\",\"Specifies a numeric or character expression that contains the zip code of a location in the United States of America.\"]},{\"Name\":\"ZIPFIPS\",\"Definition\":\"Converts zip codes to two-digit FIPS codes.\",\"Parameter1\":\"zip-code\",\"Description1\":\"Specifies a numeric or character expression that contains a five-digit zip code.\"},{\"Name\":\"ZIPNAME\",\"Definition\":\"Converts zip codes to uppercase state names.\",\"Parameter1\":\"zip-code\",\"Description1\":\"Specifies a numeric or character expression that contains a five-digit zip code.\"},{\"Name\":\"ZIPNAMEL\",\"Definition\":\"Converts zip codes to mixed case state names.\",\"Parameter1\":\"zip-code\",\"Description1\":\"Specifies a numeric or character expression that contains a five-digit zip code.\"},{\"Name\":\"ZIPSTATE\",\"Definition\":\"Converts zip codes to two-character state postal codes.\",\"Parameter1\":\"zip-code\",\"Description1\":\"Specifies a numeric or character expression that contains a five-digit zip code.\"},{\"Name\":\"ASCEBC\",\"Definition\":\"Converts an input character string from ASCII to EBCDIC.\",\"Parameter1\":\"in-string\",\"Description1\":\"Is any ASCII string, and can be a character variable, a character literal enclosed in double quotation marks, or another character expression. The value of in-string is limited to 200 characters.\"},{\"Name\":\"EBCASC\",\"Definition\":\"Converts an input character string from EBCDIC to ASCII.\",\"Parameter1\":\"in-string\",\"Description1\":\"Is any EBCDIC string, and can be a character variable, a character literal enclosed in double quotation marks, or another character expression. The value of in-string is limited to 200 characters.\"},{\"Name\":\"FILEATTR\",\"Definition\":\"Returns the attribute information for a specified file.\",\"Parameter1\":\"file-specification\",\"Description1\":\"Is the file for which you are requesting information. It can be a character variable, a character literal enclosed in double quotation marks, or another character expression.\",\"Parameter2\":\"item\",\"Description2\":\"Specifies which attribute of the file you are requesting. It can be a character variable, a character literal enclosed in double quotation marks, or another character expression.\"},{\"Name\":\"FINDFILE\",\"Definition\":\"Searches a directory for a file.\",\"Parameter1\":\"file-specification\",\"Description1\":\"Specifies the file specification of the file that you are searching for. It can contain any valid OpenVMS file specification, including wildcards. The value for file-specification can be a character variable, a character literal enclosed in double quotation marks, or another character expression.\",\"Parameter2\":\"context\",\"Description2\":\"Is a variable used internally by SAS to maintain the search context between executions of FINDFILE. It must be initialized to 0 before the first execution of FINDFILE for a given file-specification and must not be modified between executions.\"},{\"Name\":\"GETDVI\",\"Definition\":\"Returns a specified item of information from a device.\",\"Parameter1\":\"device-name\",\"Description1\":\"Specifies a physical device name or a logical name equated to a physical device name. Specify the device name as a character-string expression.\",\"Parameter2\":\"item\",\"Description2\":\"Is a character variable that contains any item accepted by the F$GETDVI lexical function (for example, the physical device name).\"},{\"Name\":\"GETJPI\",\"Definition\":\"Retrieves job-process information.\",\"Parameter1\":\"jpi-item&lt;\",\"Description1\":\"Is a character variable that contains any item accepted by the F$GETJPI lexical function, for example, a user process name.\",\"Parameter2\":\"pid\",\"Description2\":\"Can be either character (process-name variable) or numeric (process-ID variable).\"},{\"Name\":\"GETLOG\",\"Definition\":\"Returns information about a DCL logical name.\",\"Parameter1\":\"logical-name&lt;\",\"Description1\":\"Can be a character variable, character literal enclosed in double quotation marks, or another character expression.\",\"Parameter2\":\"table&gt;\",\"Description2\":\"Is an optional character parameter that is the name of a DCL logical name table. It can be a character variable, a character literal enclosed in double quotation marks, or another character expression.\",\"Parameter3\":\"&lt;index&gt;\",\"Description3\":\"Is an optional numeric parameter that indicates the number of the translation to return if a logical name has multiple translations. This argument can be either a numeric literal or numeric variable. The default value is 0.\",\"Parameter4\":\"&lt;mode&gt;\",\"Description4\":\"Is an optional character parameter that contains the access mode to be used for translation. It can be a character variable, a character literal enclosed in double quotation marks, or another character expression. The default is \\\"USER\\\".\",\"Parameter5\":\"&lt;case&gt;\",\"Description5\":\"Is an optional character parameter that determines the case to be used for translation. Values: \\\"CASE_BLIND\\\" | \\\"CASE_SENSITIVE\\\".\",\"Parameter6\":\"item\",\"Description6\":\"Is an optional character parameter that specifies what type of information is to be returned about a logical name. It can be a character variable, a character literal enclosed in double quotation marks, or another character expression. The default value is \\\"VALUE\\\".\"},{\"Name\":\"GETMSG\",\"Definition\":\"Translates an OpenVMS error code into text.\",\"Parameter1\":\"status\",\"Description1\":\"Is an OpenVMS status code. It is usually returned from one of the other functions that return an OpenVMS status code on failure.\"},{\"Name\":\"GETQUOTA\",\"Definition\":\"Retrieves disk quota information.\",\"Parameter1\":\"dev\",\"Description1\":\"Is the device that you want to gather disk quota information for.\",\"Parameter2\":\"user\",\"Description2\":\"Receives your numeric user identification code (UIC) on the disk. The UICw. format can be used to format the numeric value. This variable must be initialized to 0 before the first execution.\",\"Parameter3\":\"usage\",\"Description3\":\"Receives your current disk usage in blocks. This variable must be initialized to 0 before the first execution.\",\"Parameter4\":\"perm\",\"Description4\":\"Receives your permanent quota. This variable must be initialized to 0 before the first execution.\",\"Parameter5\":\"over\",\"Description5\":\"Receives your allowed overdraft. This variable must be initialized to 0 before the first execution.\",\"Parameter6\":\"context\",\"Description6\":\"Is a numeric variable that must be initialized to 0 before the first execution and must not be modified between calls.\",\"Parameter7\":\"chan\",\"Description7\":\"Is a numeric variable that must be initialized to 0 before the first execution and must not be modified between calls.\"},{\"Name\":\"GETSYM\",\"Definition\":\"Returns the value of a DCL symbol.\",\"Parameter1\":\"symbol-name\",\"Description1\":\"Is the name of a DCL symbol defined in your process. It can be a character variable, character literal enclosed in double quotation marks, or another character expression. If symbol-name is more than 200 characters long, it is truncated.\"},{\"Name\":\"GETTERM\",\"Definition\":\"Returns the characteristics of your terminal device.\",\"Parameter1\":\"characteristic-name\",\"Description1\":\"Is the name of the terminal characteristic to be returned. The argument can be a character variable, character literal enclosed in double quotation marks, or another character expression. If characteristic-name is longer than 200 characters, it is truncated.\"},{\"Name\":\"NODENAME\",\"Definition\":\"Returns the name of the current node.\"},{\"Name\":\"PUTLOG\",\"Definition\":\"Creates an OpenVMS logical-name in your process-level logical name table.\",\"Parameter1\":\"logical-name\",\"Description1\":\"The name of the OpenVMS logical name that you want to create. It can be a character variable, a character literal enclosed in double quotation marks, or another character expression.\",\"Parameter2\":\"value\",\"Description2\":\"Is the string to be assigned to the symbol. It can be a character variable, a character literal enclosed in double quotation marks, or another character expression.\"},{\"Name\":\"PUTSYM\",\"Definition\":\"Creates a DCL symbol in the parent SAS process.\",\"Parameter1\":\"symbol-name\",\"Description1\":\"Is the name of the DCL symbol that you want to create. It can be a character variable value, a character literal enclosed in double quotation marks, or another character expression.\",\"Parameter2\":\"value\",\"Description2\":\"Is the string to be assigned to the symbol. It can be a character variable, a character literal enclosed in double quotation marks, or another character expression.\",\"Parameter3\":\"scope\",\"Description3\":\"Defines whether the symbol is a local or global symbol. If the value of scope is 1, the symbol is defined as a local symbol. If the value of scope is 2, the symbol is defined as a global symbol. The scope argument can be either a numeric literal or a numeric variable.\"},{\"Name\":\"SETTERM\",\"Definition\":\"Modifies a characteristic of your terminal device.\",\"Parameter1\":\"characteristic-name\",\"Description1\":\"Is the name of the terminal characteristic to be modified. The argument can be a character variable, a character literal enclosed in double quotation marks, or another character expression.\",\"Parameter2\":\"new-value\",\"Description2\":\"Is the new setting for the characteristic.\"},{\"Name\":\"TERMIN\",\"Definition\":\"Allows simple input from SYS$INPUT.\",\"Parameter1\":\"prompt\",\"Description1\":\"Is the prompt printed on the monitor. It can be a character variable, a character literal enclosed in double quotation marks, or another character expression.\"},{\"Name\":\"TERMOUT\",\"Definition\":\"Allows simple output to SYS$OUTPUT.\",\"Parameter1\":\"output\",\"Description1\":\"Is a character string to write to SYS$OUTPUT. It can be a character variable, character literal enclosed in double quotation marks, or another character expression.\"},{\"Name\":\"TTCLOSE\",\"Definition\":\"Closes a channel that was previously assigned by TTOPEN.\",\"Parameter1\":\"channel\",\"Description1\":\"Is the channel variable returned from the TTOPEN function.\"},{\"Name\":\"TTCONTRL\",\"Definition\":\"Modifies the characteristics of a channel that was previously assigned by TTOPEN.\",\"Parameter1\":\"control-specification\",\"Description1\":\"Is the control string as described for the TTOPEN function. The syntax for control-specification is the same as for TTOPEN, except that the DEVICE= attribute cannot be changed.\",\"Parameter2\":\"channel\",\"Description2\":\"Is the channel variable that was returned from the TTOPEN function.\"},{\"Name\":\"TTOPEN\",\"Definition\":\"Assigns an I/O channel to a terminal.\",\"Parameter1\":\"control-specification\",\"Description1\":\"Is the control string that specifies the terminal and processing options, separated from each other by blanks. It can be a character variable, a character literal enclosed in double quotation marks, or another character expression.\",\"Parameter2\":\"channel\",\"Description2\":\"Is a numeric variable into which the TTOPEN function places the channel number.\"},{\"Name\":\"TTREAD\",\"Definition\":\"Reads characters from the channel assigned by TTOPEN.\",\"Parameter1\":\"channel\",\"Description1\":\"Is the channel variable returned from the TTOPEN function.\",\"Parameter2\":\"buffer\",\"Description2\":\"Is the character variable where the returned characters are stored.\",\"Parameter3\":\"&lt;size&gt;\",\"Description3\":\"Is an optional numeric variable, numeric literal, or an expression which indicates the maximum number of characters to read and receives the number of characters read. If you do not specify size, the TTREAD function reads characters up to the size of buffer.\"},{\"Name\":\"TTWRITE\",\"Definition\":\"Writes characters to the channel assigned by TTOPEN.\",\"Parameter1\":\"channel\",\"Description1\":\"Is the channel variable returned from the TTOPEN function.\",\"Parameter2\":\"buffer\",\"Description2\":\"Is the character variable, character literal, or an expression that contains the data to be written.\",\"Parameter3\":\"&lt;size&gt;\",\"Description3\":\"Is an optional numeric variable, numeric literal, or expression that specifies how many characters to write from buffer. If you do not specify size, the entire buffer is sent, including any trailing blanks.\"},{\"Name\":\"VMS\",\"Definition\":\"Spawns a subprocess and executes a DCL command.\",\"Parameter1\":\"DCL-command\",\"Description1\":\"Is the DCL command that is passed to the subprocess. It can be a character variable, a character literal enclosed in double quotation marks, or another character expression.\"},{\"Name\":\"BQUOTE\",\"Definition\":\"Mask special characters and mnemonic operators in a resolved value at macro execution.\",\"Parameter1\":\"character string | text expression\",\"Description1\":\"Character string or text expression.\"},{\"Name\":\"NRBQUOTE\",\"Definition\":\"Mask special characters and mnemonic operators in a resolved value at macro execution.\",\"Parameter1\":\"character string | text expression\",\"Description1\":\"Character string or text expression.\"},{\"Name\":\"EVAL\",\"Definition\":\"Evaluates arithmetic and logical expressions using integer arithmetic.\",\"Parameter1\":\"arithmetic or logical expression\",\"Description1\":\"Integer arithmetic or logical expression.\"},{\"Name\":\"NRQUOTE\",\"Definition\":\"Masks special characters, including &amp; and %, and mnemonic operators in a resolved value at macro execution.\",\"Parameter1\":\"character string | text expression\",\"Description1\":\"Character string or text expression.\"},{\"Name\":\"STR\",\"Definition\":\"Masks special characters, excluding &amp; and %, and mnemonic operators in constant text during macro compilation.\",\"Parameter1\":\"character-string\",\"Description1\":\"A character string that may contain special characters and/or mnemonic operators such as + - * / &lt; &gt; = \\u00ac ^ ~ ; ,  # blank AND OR NOT EQ NE LE LT GE GT IN.\"},{\"Name\":\"NRSTR\",\"Definition\":\"Masks special characters, including &amp; and %, and mnemonic operators in constant text during macro compilation.\",\"Parameter1\":\"character-string\",\"Description1\":\"A character string that may contain special characters and/or mnemonic operators such as + - * / &lt; &gt; = \\u00ac ^ ~ ; ,  # blank AND OR NOT EQ NE LE LT GE GT IN &amp; %.\"},{\"Name\":\"QSCAN\",\"Definition\":\"Searches for a word and masks special characters and mnemonic operators.\",\"Parameter1\":\"argument\",\"Description1\":\"Is a character string or a text expression. If argument might contain a special character or mnemonic operator, listed below, use %QSCAN.\",\"Parameter2\":\"n&lt;\",\"Description2\":\"Is an integer or a text expression that yields an integer, which specifies the position of the word to return.\",\"Parameter3\":\"delimiters&gt;\",\"Description3\":\"Specifies an optional list of one or more characters that separate \\\"words\\\" or text expressions that yield one or more characters. Possible delimiters: blank . &lt; ( + &amp; ! $ * ) ; ^ - / , % |.\"},{\"Name\":\"SUPERQ\",\"Definition\":\"Masks all special characters and mnemonic operators at macro execution but prevents further resolution of the value.\",\"Parameter1\":\"argument\",\"Description1\":\"Is the name of a macro variable with no leading ampersand or a text expression that produces the name of a macro variable with no leading ampersand.\"},{\"Name\":\"SYMEXIST\",\"Definition\":\"Returns an indication of the existence of a macro variable.\",\"Parameter1\":\"macro-variable-name\",\"Description1\":\"Is the name of a macro variable or a text expression that yields the name of a macro variable.\"},{\"Name\":\"SYSEVALF\",\"Definition\":\"Evaluates arithmetic and logical expressions using floating-point arithmetic.\",\"Parameter1\":\"expression&lt;\",\"Description1\":\"Is an arithmetic or logical expression to evaluate.\",\"Parameter2\":\"conversion-type&gt;\",\"Description2\":\"Converts the value returned by %SYSEVALF to the type of value specified. Valid values: BOOLEAN (returns 0 if result is 0 or missing; 1 if any other value); CEIL (returns a character value representing the smallest integer that is greater than or equal to the result of the expression.); FLOOR (returns a character value representing the largest integer that is less than or equal to the result of the expression.); INTEGER (returns a character value representing the integer portion of the result, truncating the decimal portion.)\"},{\"Name\":\"SYSFUNC\",\"Definition\":\"Execute SAS functions or user-written functions.\",\"Parameter1\":\"function(argument-1 &lt;...argument-n&gt;)&lt;\",\"Description1\":\"Is the function to execute, including one or more arguments used by the function. You cannot nest functions to be used with a single %SYSFUNC. However, you can nest %SYSFUNC calls.\",\"Parameter2\":\"format&gt;\",\"Description2\":\"Is an optional format to apply to the result of function. This format can be provided by SAS, generated by PROC FORMAT, or created with SAS/TOOLKIT.\"},{\"Name\":\"QSYSFUNC\",\"Definition\":\"Execute SAS functions or user-written functions. %QSYSFUNC masks special characters and mnemonic operators such as &amp; % ' \\\" ( ) + - * / &lt; &gt; = \\u00ac ^ ~ ; , #  blank AND OR NOT EQ NE LE LT GE GT IN.\",\"Parameter1\":\"function(argument-1 &lt;...argument-n&gt;)&lt;\",\"Description1\":\"Is the function to execute, including one or more arguments used by the function. You cannot nest functions to be used with a single %SYSFUNC. However, you can nest %SYSFUNC calls.\",\"Parameter2\":\"format&gt;\",\"Description2\":\"Is an optional format to apply to the result of function. This format can be provided by SAS, generated by PROC FORMAT, or created with SAS/TOOLKIT.\"},{\"Name\":\"SYSGET\",\"Definition\":\"Returns the value of the specified operating environment variable.\",\"Parameter1\":\"environment-variable\",\"Description1\":\"Is the name of an environment variable. The case of environment-variable must agree with the case that is stored on the operating environment.\"},{\"Name\":\"SYSPROD\",\"Definition\":\"Reports whether a SAS software product is licensed at the site.\",\"Parameter1\":\"product\",\"Description1\":\"Can be a character string or text expression that yields a code for a SAS product: AF CPE GRAPH PH-CLINICAL ASSIST EIS IML QC BASE ETS INSIGHT  SHARE CALC FSP  LAB STAT CONNECT GIS OR TOOLKIT.\"},{\"Name\":\"UNQUOTE\",\"Definition\":\"During macro execution, unmasks all special characters and mnemonic operators for a value.\",\"Parameter1\":\"character string | text expression\",\"Description1\":\"Character string or text expression that might contain special characters and/or mnemonic operators.\"},{\"Name\":\"CMPRES\",\"Definition\":\"Compress multiple blanks and remove leading and trailing blanks.\",\"Parameter1\":\"text | text expression\",\"Description1\":\"A character constant or expression.\"},{\"Name\":\"QCMPRES\",\"Definition\":\"Compress multiple blanks and remove leading and trailing blanks.  QCMPRES produces a result with special characters and mnemonic operators masked.\",\"Parameter1\":\"text | text expression\",\"Description1\":\"A character constant or expression that might contain special characters and/or mnemonic operators such as &amp; % ' \\\" ( ) + - * / &lt; &gt; = \\u00ac ^ ~ ; , # blank AND OR NOT EQ NE LE LT GE GT IN.\"},{\"Name\":\"COMPSTOR\",\"Definition\":\"Compiles macros and stores them in a catalog in a permanent SAS library.\",\"Parameter1\":\"PATHNAME=SAS-data-library\",\"Description1\":\"SAS-data-library is the physical name of a SAS library on your host system.\"},{\"Name\":\"DATATYP\",\"Definition\":\"Returns the data type of a value.\",\"Parameter1\":\"text | text expression\",\"Description1\":\"A character constant or expression.\"},{\"Name\":\"VERIFY\",\"Definition\":\"Returns the position of the first character unique to an expression. %VERIFY returns the position of the first character in source that is not also present in excerpt. If all characters in source are present in excerpt, %VERIFY returns 0.\",\"Parameter1\":\"source\",\"Description1\":\"Is text or a text expression that you want to examine for characters that do not exist in excerpt.\",\"Parameter2\":\"excerpt \",\"Description2\":\"Is text or a text expression. This is the text that defines the set of characters that %VERIFY uses to examine source.\"},{\"Name\":\"DQLOAD\",\"Definition\":\"Sets system option values and loads locales into memory.\",\"Parameter1\":\"DQLOCALE=(locale1 ...localeN)\",\"Description1\":\"Specifies a value for the DQLOCALE= system option to load an ordered list of locales into memory.\",\"Parameter2\":\"DQSETUPLOC=`file-specification' | `path-specification'\",\"Description2\":\"Specifies a value for the system option DQSETUPLOC=.\",\"Parameter3\":\"&lt;DQINFO=0 | 1&gt;\",\"Description3\":\"Generates additional information in the SAS log about the status of the locale load operation. The default value is DQINFO=0.\"},{\"Name\":\"DQPUTLOC\",\"Definition\":\"Displays current information on a specified locale in the SAS log.\",\"Parameter1\":\"locale\",\"Description1\":\"Specifies the locale of interest. The value can be a locale name in quotation marks or the name of a variable whose value is a locale name or an expression that evaluates to a locale name.\",\"Parameter2\":\"&lt;SHORT=0 | 1&gt;\",\"Description2\":\"Shortens the length of the entry in the SAS log. Specify SHORT=1 to remove the descriptions of how the definitions are used. The default value is SHORT=0, which displays the descriptions of how the definitions are used.\",\"Parameter3\":\"&lt;PARSEDEFN=0 | 1&gt;\",\"Description3\":\"Lists with each gender analysis definition and each match definition the related parse definition, if such a parse definition exists. The default value PARSEDEFN=1 lists the related parse definition. PARSEDEFN=0 does not list the related parse definition.\"},{\"Name\":\"DQCASE\",\"Definition\":\"Returns a character value with standardized capitalization.\",\"Parameter1\":\"char\",\"Description1\":\"Is the value that is transformed, according to the specified case definition. The value can be the name of a character variable, a character value in quotation marks, or an expression that evaluates to a variable name or a quoted value.\",\"Parameter2\":\"'case-definition'&lt;\",\"Description2\":\"Specifies the name of the case definition that will be referenced during the transformation.\",\"Parameter3\":\"'locale'&gt;\",\"Description3\":\"Specifies the name of the locale that contains the specified case definition. The value can be a name in quotation marks, the name of a variable whose value is a locale name, or an expression that evaluates to a variable name or to a quoted locale name.\"},{\"Name\":\"DQGENDER\",\"Definition\":\"Returns a gender determination from the name of an individual.\",\"Parameter1\":\"char\",\"Description1\":\"Is the name of a character variable, a character value in quotation marks, or an expression that evaluates to a variable name or a quoted value.\",\"Parameter2\":\"'gender-analysis-definition'&lt;\",\"Description2\":\"Specifies the name of the gender analysis definition, which must exist in the specified locale.\",\"Parameter3\":\"'locale'&gt;\",\"Description3\":\"Specifies the name of the locale that contains the specified gender analysis definition. The value can be a name in quotation marks, the name of a variable whose value is a locale name, or an expression that evaluates to a variable name or to a quoted locale name.\"},{\"Name\":\"DQGENDERINFOGET\",\"Definition\":\"Returns the name of the parse definition that is associated with the specified gender definition.\",\"Parameter1\":\"'gender-analysis-definition'&lt;\",\"Description1\":\"Specifies the name of the gender analysis definition, which must exist in the specified locale.\",\"Parameter2\":\"'locale'&gt;\",\"Description2\":\"Specifies the name of the locale that contains the specified gender analysis definition. The value can be a name in quotation marks, the name of a variable whose value is a locale name, or an expression that evaluates to a variable name or to a quoted locale name.\"},{\"Name\":\"DQGENDERPARSED\",\"Definition\":\"Returns a gender determination from the parsed name of an individual.\",\"Parameter1\":\"parsed-char\",\"Description1\":\"Is a parsed value that contains the name of an individual. The value can be expressed as the name of a character variable, a character value in quotation marks, or an expression that evaluates to a variable name or a quoted value.\",\"Parameter2\":\"'gender-analysis-definition'&lt;\",\"Description2\":\"Specifies the name of the gender analysis definition that will be referenced to determine gender. The specified gender analysis definition has a related parse definition. To return an accurate gender determination, the related parse definition must be the same parse definition that was used to parse the parsed-char.\",\"Parameter3\":\"'locale'&gt;\",\"Description3\":\"Specifies the name of the locale that contains the specified gender analysis definition. The value can be a name in quotation marks, the name of a variable whose value is a locale name, or an expression that evaluates to a variable name or to a quoted locale name.\"},{\"Name\":\"DQIDENTIFY\",\"Definition\":\"Returns a category name from a character value.\",\"Parameter1\":\"char\",\"Description1\":\"Is the value that is transformed, according to the specified identification definition. The value can be the name of a character variable, a character value in quotation marks, or an expression that evaluates to a variable name or a quoted value.\",\"Parameter2\":\"'identification-definition'&lt;\",\"Description2\":\"Specifies the name of the identification definition, which must exist in the specified locale.\",\"Parameter3\":\"'locale'&gt;\",\"Description3\":\"Specifies the name of the locale that contains the specified identification definition. The value can be a name in quotation marks, the name of a variable whose value is a locale name, or an expression that evaluates to a variable name or to a quoted locale name.\"},{\"Name\":\"DQLOCALEGUESS\",\"Definition\":\"Returns the name of the locale that is most likely represented by a character value.\",\"Parameter1\":\"char\",\"Description1\":\"Is the value that is analyzed to determine a locale, according to the specified guess definition. The value can be the name of a character variable, a character value in quotation marks, or an expression that evaluates to a variable name or a quoted value.\",\"Parameter2\":\"'locale-guess-definition'\",\"Description2\":\"Specifies the name of the guess definition.\"},{\"Name\":\"DQLOCALEINFOGET\",\"Definition\":\"Returns information about locales.\",\"Parameter1\":\"&lt;'info-type'&gt;\",\"Description1\":\"Specifies the type of locale information that is to be returned. The only valid value is LOADED. If no parameter is specified, LOADED is used by default.\"},{\"Name\":\"DQLOCALEINFOLIST\",\"Definition\":\"Displays the names of the definitions in a locale and returns a count of those definitions.\",\"Parameter1\":\"'definition-type'&lt;\",\"Description1\":\"Specifies the definitions that are displayed. Valid values are ALL CASE GENDER GUESS IDENTIFICATION MATCH PARSE PATTERN STANDARDIZATION.\",\"Parameter2\":\"'locale'&gt;\",\"Description2\":\"Specifies the name of the locale. The value can be a name in quotation marks, the name of a variable whose value is a locale name, or an expression that evaluates to a variable name or to a quoted locale name.\"},{\"Name\":\"DQMATCH\",\"Definition\":\"Returns a match code from a character value.\",\"Parameter1\":\"char\",\"Description1\":\"Is the value for which a match code is created, according to the specified match definition. The value can be the name of a character variable, a character value in quotation marks, or an expression that evaluates to a variable name or a quoted value.\",\"Parameter2\":\"`match-definition'&lt;\",\"Description2\":\"Specifies the name of the match definition.\",\"Parameter3\":\"sensitivity\",\"Description3\":\"Specifies an integer value that determines the amount of information in the returned match code. Valid values range from 50 to 95. The default value is 85. A higher sensitivity value includes more information in the match code.\",\"Parameter4\":\"'locale'&gt;\",\"Description4\":\"Specifies the name of the locale that contains the specified match definition. The value can be a name in quotation marks, the name of a variable whose value is a locale name, or an expression that evaluates to a variable name or to a quoted locale name.\"},{\"Name\":\"DQMATCHINFOGET\",\"Definition\":\"Returns the name of the parse definition that is associated with a match definition.\",\"Parameter1\":\"`match-definition'&lt;\",\"Description1\":\"Specifies the name of the match definition, which must exist in the specified locale.\",\"Parameter2\":\"'locale'&gt;\",\"Description2\":\"Specifies the name of the locale that contains the specified match definition. The value can be a name in quotation marks, the name of a variable whose value is a locale name, or an expression that evaluates to a variable name or to a quoted locale name.\"},{\"Name\":\"DQMATCHPARSED\",\"Definition\":\"Returns a match code from a parsed character value.\",\"Parameter1\":\"parsed-char\",\"Description1\":\"Is a parsed character value for which a match code will be created. The value can be the name of a character variable, a character value in quotation marks, or an expression that evaluates to a variable name or a quoted value. The value must have been parsed with the parse definition that is associated with the specified match definition.\",\"Parameter2\":\"`match-definition'&lt;\",\"Description2\":\"Specifies the name of the match definition.\",\"Parameter3\":\"sensitivity\",\"Description3\":\"Specifies an integer value that determines the amount of information in the returned match code. Valid values range from 50 to 95. The default value is 85. A higher sensitivity value includes more information in the match code.\",\"Parameter4\":\"'locale'&gt;\",\"Description4\":\"Specifies the name of the locale that contains the specified match definition. The value can be a name in quotation marks, the name of a variable whose value is a locale name, or an expression that evaluates to a variable name or to a quoted locale name.\"},{\"Name\":\"DQPARSE*1\",\"Definition\":\"Returns a parsed character value and a status flag.\",\"Parameter1\":\"parsed-string\",\"Description1\":\"Is the input value that is parsed according to the specified parse definition. The value can be the name of a character variable, a character value in quotation marks, or an expression that evaluates to a variable name or a quoted value.\",\"Parameter2\":\"`parse-definition'&lt;\",\"Description2\":\"Specifies the name of the parse definition.\",\"Parameter3\":\"'locale'&gt;\",\"Description3\":\"Specifies the name of the locale that contains the specified parse definition. The value can be a name in quotation marks, the name of a variable whose value is a locale name, or an expression that evaluates to a variable name or to a quoted locale name.\"},{\"Name\":\"DQPARSE*2\",\"Definition\":\"Returns a parsed character value and a status flag.\",\"Parameter1\":\"parsed-string\",\"Description1\":\"Is the input value that is parsed according to the specified parse definition. The value can be the name of a character variable, a character value in quotation marks, or an expression that evaluates to a variable name or a quoted value.\",\"Parameter2\":\"`parse-definition'\",\"Description2\":\"Specifies the name of the parse definition\",\"Parameter3\":\"`parse-result'\",\"Description3\":\"Is an output character variable that receives the result of the parse operation.\",\"Parameter4\":\"`parse-return-code'&lt;\",\"Description4\":\"Is an output numeric variable that returns 1.0 when the parse operation is successful. Otherwise, this variable receives a 0.\",\"Parameter5\":\"'locale'&gt;\",\"Description5\":\"Specifies the name of the locale that contains the specified match definition. The value can be a name in quotation marks, the name of a variable whose value is a locale name, or an expression that evaluates to a variable name or to a quoted locale name.\"},{\"Name\":\"DQPARSEINFOGET\",\"Definition\":\"Returns the token names in a parse definition.\",\"Parameter1\":\"`parse-definition'&lt;\",\"Description1\":\"Specifies the name of the parse definition.\",\"Parameter2\":\"'locale'&gt;\",\"Description2\":\"Specifies the name of the locale that contains the specified parse definition. The value can be a name in quotation marks, the name of a variable whose value is a locale name, or an expression that evaluates to a variable name or to a quoted locale name.\"},{\"Name\":\"DQPARSETOKENGET\",\"Definition\":\"Returns a token from a parsed character value.\",\"Parameter1\":\"parsed-char\",\"Description1\":\"Is the parsed character value from which the value of the specified token will be returned. The parsed-char can be the name of a character variable, a character value in quotation marks, or an expression that evaluates to a variable name or a quoted value.\",\"Parameter2\":\"`token'\",\"Description2\":\"Specifies the name of the token that is returned from the parsed value. The token must be enabled by the specified parse definition.\",\"Parameter3\":\"'parse-definition'&lt;\",\"Description3\":\"Specifies the name of the parse definition that will be used to obtain the value of the token. The parse definition must be the same as the parse definition that originally parsed the parsed-char value.\",\"Parameter4\":\"'locale'&gt;\",\"Description4\":\"Specifies the name of the locale that contains the specified match definition. The value can be a name in quotation marks, the name of a variable whose value is a locale name, or an expression that evaluates to a variable name or to a quoted locale name.\"},{\"Name\":\"DQPARSETOKENPUT\",\"Definition\":\"Inserts a token into a parsed character value and returns the updated parsed character value.\",\"Parameter1\":\"parsed-char\",\"Description1\":\"Is the parsed character value that receives the new token value, according to the specified parse definition. The parsed-char value can be the name of a character variable, a character value in quotation marks, or an expression that evaluates to a variable name or a quoted value.\",\"Parameter2\":\"token-value\",\"Description2\":\"Specifies the value of the token that is to be inserted into the parsed value.\",\"Parameter3\":\"`token-name'\",\"Description3\":\"Specifies the name of the token that is to be inserted into the parsed value. The specified token must be enabled by the specified parse definition.\",\"Parameter4\":\"`parse-definition'&lt;\",\"Description4\":\"Specifies the name of the parse definition, which must exist in the specified locale. The specified parse definition must be the same definition that was used to parse the parsed-char value.\",\"Parameter5\":\"'locale'&gt;\",\"Description5\":\"Specifies the name of the parse definition, which must exist in the specified locale. The specified parse definition must be the same definition that was used to parse the parsed-char value.\"},{\"Name\":\"DQPATTERN\",\"Definition\":\"Returns a pattern analysis from an input character value.\",\"Parameter1\":\"char\",\"Description1\":\"Is the name of the value that will be analyzed. The value can be a character variable, a character value in quotation marks, or an expression that evaluates to a variable name or a quoted value.\",\"Parameter2\":\"`pattern-analysis-definition'&lt;\",\"Description2\":\"Specifies the name of the definition that will be referenced during the creation of the pattern analysis. The definition must exist in the specified locale.\",\"Parameter3\":\"'locale'&gt;\",\"Description3\":\"Specifies the name of the locale that contains the specified pattern analysis definition. The value can be a name in quotation marks, the name of a variable whose value is a locale name, or an expression that evaluates to a variable name or to a quoted locale name.\"},{\"Name\":\"DQSCHEMEAPPLY*1\",\"Definition\":\"Applies a scheme and returns a transformed value.\",\"Parameter1\":\"char\",\"Description1\":\"Is the value to which the specified scheme will be applied. The value can be the name of a character variable, a character value in quotation marks, or an expression that evaluates to a variable name or a quoted value.\",\"Parameter2\":\"`scheme'\",\"Description2\":\"Identifies the scheme that is applied to the input value. For schemes using SAS format, the scheme argument is a fully-qualified SAS data set name in quotation marks.\",\"Parameter3\":\"`scheme-format'&lt;\",\"Description3\":\"Identifies the file format of the scheme. Valid values are as follows:\\n\\n      BFD\\n      indicates that the specified scheme is stored in Blue Fusion Data format. This is the default value.\\n\\n      NOBFD\\n      indicates that the specified scheme is stored in SAS format.\",\"Parameter4\":\"`mode'\",\"Description4\":\"Specifies how the scheme is to be applied to the values of the input character variable. Valid values for the mode argument are defined as follows:\\n\\n      PHRASE\\n      compares the entire input character value to the entirety of each of the DATA values in the scheme.\\n\\n      ELEMENT\\n      compares each element in the input character value to each of the DATA values in the scheme.\",\"Parameter5\":\"'scheme-lookup-method'\",\"Description5\":\"Specifies one of three mutually-exclusive methods of applying the scheme. Valid values are as follows:\\n\\n      EXACT\\n      this default value specifies that the input value is to be compared to the DATA values in the scheme without changing the input value in any way.\\n\\n      IGNORE_CASE\\n      specifies that capitalization is to be ignored when the input value is compared to the DATA values in the scheme.\\n\\n      USE_MATCHDEF\\n      specifies that the match code of the input value is to be compared to the match codes of the DATA values in the scheme.\",\"Parameter6\":\"`match-definition'\",\"Description6\":\"Specifies the name of the match definition in the specified locale that will be used to create match codes during the application of the scheme.\",\"Parameter7\":\"sensitivity\",\"Description7\":\"Specifies the amount of information in the match codes that are created during the application of the scheme. With higher sensitivity values, two values must be increasingly similar to create the same match code. At lower sensitivity values, values can receive the same match code despite their dissimilarities. Valid values range from 50 to 95.\",\"Parameter8\":\"'locale'&gt;\",\"Description8\":\"Specifies the locale that contains the specified match definition that will be referenced during the application of the scheme. The value can be a locale name in quotation marks, or the name of a variable whose value resolves to a locale name.\"},{\"Name\":\"DQSCHEMEAPPLY*2\",\"Definition\":\"Applies a scheme and returns a transformed value and a transformation flag.\",\"Parameter1\":\"char\",\"Description1\":\"Is the value to which the specified scheme will be applied. The value can be the name of a character variable, a character value in quotation marks, or an expression that evaluates to a variable name or a quoted value.\",\"Parameter2\":\"output-variable\",\"Description2\":\"Identifies the character variable that receives the transformed input value.\",\"Parameter3\":\"'scheme'\",\"Description3\":\"Identifies the scheme that is applied to the input value.\",\"Parameter4\":\"`scheme-format'&lt;\",\"Description4\":\"Identifies the file format of the scheme. Valid values are as follows:\\n\\n      BFD\\n      indicates that the specified scheme is stored in Blue Fusion Data format. This is the default value.\\n\\n      NOBFD\\n      indicates that the specified scheme is stored in SAS format.\",\"Parameter5\":\"`mode'\",\"Description5\":\"Specifies how the scheme is to be applied to the values of the input character variable. Valid values for the mode argument are defined as follows:\\n\\n      PHRASE\\n      compares the entire input character value to the entirety of each of the DATA values in the scheme.\\n\\n      ELEMENT\\n      compares each element in the input character value to each of the DATA values in the scheme.\\n    \",\"Parameter6\":\"transform-count-variable\",\"Description6\":\"Identifies the numeric variable that receives the returned number of transformations that were performed on the input value.\",\"Parameter7\":\"'scheme-lookup-method'\",\"Description7\":\"Specifies one of three mutually-exclusive methods of applying the scheme. Valid values are as follows:\\n\\n      EXACT\\n      this default value specifies that the input value is to be compared to the DATA values in the scheme without changing the input value in any way.\\n\\n      IGNORE_CASE\\n      specifies that capitalization is to be ignored when the input value is compared to the DATA values in the scheme.\\n\\n      USE_MATCHDEF\\n      specifies that the match code of the input value is to be compared to the match codes of the DATA values in the scheme.\\n    \",\"Parameter8\":\"'match-definition'\",\"Description8\":\"Specifies the name of the match definition in the specified locale that will be used to create match codes during the application of the scheme.\",\"Parameter9\":\"sensitivity\",\"Description9\":\"Specifies the amount of information in the match codes that are created during the application of the scheme. With higher sensitivity values, two values must be increasingly similar to create the same match code. At lower sensitivity values, two values receive the same match code despite their dissimilarities. Valid values range from 50 to 95.\",\"Parameter10\":\"'locale'&gt;\",\"Description10\":\"Specifies the locale that contains the specified match definition that will be referenced during the application of the scheme. The value can be a locale name in quotation marks or the name of a variable whose value resolves to a locale name.\"},{\"Name\":\"DQSRVARCHJOB\",\"Definition\":\"Runs an dfPower Architect job on a DataFlux Integration Server and returns a job identifier.\",\"Parameter1\":\"job-name\",\"Description1\":\"Identifies the dfPower Architect job as it exists on the specified DataFlux Integration Server.\",\"Parameter2\":\"&lt;host&gt;\",\"Description2\":\"Identifies the host of the DataFlux Integration Server. If this value is not specified, then the local host is used by default.\",\"Parameter3\":\"&lt;port&gt;\",\"Description3\":\"Identifies the port through which the local host communicates with the DataFlux Integration Server. If this argument is not specified, or if the value is 0 or a negative number, then the default port number is used. The default port number is 21036.\",\"Parameter4\":\"&lt;macro-name1\",\"Description4\":\"Identifies an dfPower Architect macro that exists on the DataFlux Integration Server. The value of macro-nameX can be specified as text, or as the name of a character variable.\",\"Parameter5\":\"macro-value1\",\"Description5\":\"Specifies the character value that will be used by the associated dfPower Architect macro. Macro-value1 is used by macro-name1. The value of macro-valueX can be specified as text, or as the name of a character variable.\",\"Parameter6\":\"macro-name2\",\"Description6\":\"Identifies an dfPower Architect macro that exists on the DataFlux Integration Server. The value of macro-nameX can be specified as text, or as the name of a character variable.\",\"Parameter7\":\"macro-value2...&gt;\",\"Description7\":\"Specifies the character value that will be used by the associated dfPower Architect macro. Macro-value1 is used by macro-name1. The value of macro-valueX can be specified as text, or as the name of a character variable.\"},{\"Name\":\"DQSRVCOPYLOG\",\"Definition\":\"Copies a job's log file from a DataFlux Integration Server.\",\"Parameter1\":\"job-id\",\"Description1\":\"Identifies the job that was submitted to a DataFlux Integration Server. The identifier was previously returned by a function such as DQSRVARCHJOB or DQSRVPROFJOBFILE.\",\"Parameter2\":\"&lt;host&gt;\",\"Description2\":\"Identifies the host of the DataFlux Integration Server. If this value is not specified, then the local host is used by default.\",\"Parameter3\":\"&lt;port&gt;\",\"Description3\":\"Identifies the port through which the local host communicates with the DataFlux Integration Server. If this argument is not specified, or if the value is 0 or a negative number, then the default port number is used. The default port number is 21036.\",\"Parameter4\":\"filename\",\"Description4\":\"Identifies where the log file will be copied on the local host.\"},{\"Name\":\"DQSRVDELETELOG\",\"Definition\":\"Deletes a job's log file from a DataFlux Integration Server.\",\"Parameter1\":\"job-id\",\"Description1\":\"Identifies the job that was submitted to a DataFlux Integration Server. The identifier was previously returned by a function such as DQSRVARCHJOB or DQSRVPROFJOBFILE.\",\"Parameter2\":\"&lt;host&gt;\",\"Description2\":\"Identifies the host of the DataFlux Integration Server. If this value is not specified, then the local host is used by default.\",\"Parameter3\":\"&lt;port&gt;\",\"Description3\":\"Identifies the port through which the local host communicates with the DataFlux Integration Server. If this argument is not specified, or if the value is 0 or a negative number, then the default port number is used. The default port number is 21036.\"},{\"Name\":\"DQSRVJOBSTATUS\",\"Definition\":\"Returns the status of a job that was submitted to a DataFlux Integration Server.\",\"Parameter1\":\"job-id\",\"Description1\":\"Identifies the job that was submitted to a DataFlux Integration Server. The identifier was previously returned by a function such as DQSRVARCHJOB or DQSRVPROFJOBFILE.\",\"Parameter2\":\"&lt;host&gt;\",\"Description2\":\"Identifies the host of the DataFlux Integration Server. If this value is not specified, then the local host is used by default.\",\"Parameter3\":\"port\",\"Description3\":\"Identifies the port through which the local host communicates with the DataFlux Integration Server. If this argument is not specified, or if the value is 0 or a negative number, then the default port number is used. The default port number is 21036.\",\"Parameter4\":\"timeout\",\"Description4\":\"Specifies a time in seconds that determines when status information is returned from the host. Valid values are defined as follows:\\n\\n      -1 \\n      returns status information only when the job is finished. Return values are 0 (job completed successfully) or 1 (job failed).\\n\\n      0 \\n      returns status information immediately. Return values are 0 (job completed successfully), 1 (job failed), or 2 (job running).\\n\\n      greater-than-zero: \\n      specifies a time limit for the interval argument. If the job is still running after the timeout value, another value is returned only when the job is finished.\",\"Parameter5\":\"interval\",\"Description5\":\"Specifies the repeat period for the return of status information, within the limit that is imposed by the timeout argument.\"},{\"Name\":\"DQSRVKILLJOB\",\"Definition\":\"Terminates a job that is running on a DataFlux Integration Server.\",\"Parameter1\":\"job-id\",\"Description1\":\"Identifies the job that was submitted to a DataFlux Integration Server. The identifier was previously returned by a function such as DQSRVARCHJOB or DQSRVPROFJOBFILE.\",\"Parameter2\":\"&lt;host&gt;\",\"Description2\":\"Identifies the host of the DataFlux Integration Server. If this value is not specified, then the local host is used by default.\",\"Parameter3\":\"port\",\"Description3\":\"Identifies the port through which the local host communicates with the DataFlux Integration Server. If this argument is not specified, or if the value is 0 or a negative number, then the default port number is used. The default port number is 21036.\"},{\"Name\":\"DQSRVPROFJOBFILE\",\"Definition\":\"Runs a file-type Profile job on a DataFlux Integration Server and returns a job identifier.\",\"Parameter1\":\"job-name\",\"Description1\":\"Identifies the dfPower Architect job as it exists on the specified DataFlux Integration Server.\",\"Parameter2\":\"&lt;host&gt;\",\"Description2\":\"Identifies the host of the DataFlux Integration Server. If this value is not specified, then the local host is used by default.\",\"Parameter3\":\"port\",\"Description3\":\"Identifies the port through which the local host communicates with the DataFlux Integration Server. If this argument is not specified, or if the value is 0 or a negative number, then the default port number is used. The default port number is 21036.\",\"Parameter4\":\"results-filename\",\"Description4\":\"Identifies the file that receives job results.\",\"Parameter5\":\"append\",\"Description5\":\"Valid values are defined as follows:\\n\\n      0 appends job results below any existing content in the results file.\\n\\n      1 overwrites any existing content in the results file.\",\"Parameter6\":\"description&lt;\",\"Description6\":\"Identifies a character variable whose value describes the current run of the job. The descriptive text is added either to the top of the results file or above the results that will be appended to the bottom of the results file.\",\"Parameter7\":\"macro-name1\",\"Description7\":\"Identifies an dfPower Architect macro that exists on the DataFlux Integration Server. The value of macro-nameX can be specified as text, or as the name of a character variable.\",\"Parameter8\":\"macro-value1\",\"Description8\":\"Specifies the character value that will be used by the associated dfPower Architect macro. Macro-value1 is used by macro-name1. The value of macro-valueX can be specified as text, or as the name of a character variable.\",\"Parameter9\":\"macro-name2\",\"Description9\":\"Identifies an dfPower Architect macro that exists on the DataFlux Integration Server. The value of macro-nameX can be specified as text, or as the name of a character variable.\",\"Parameter10\":\"macro-value2...&gt;\",\"Description10\":\"Specifies the character value that will be used by the associated dfPower Architect macro. Macro-value1 is used by macro-name1. The value of macro-valueX can be specified as text, or as the name of a character variable.\"},{\"Name\":\"DQSRVPROFJOBREP\",\"Definition\":\"Runs a repository-type Profile job on a DataFlux Integration Server and returns a job identifier.\",\"Parameter1\":\"job-name\",\"Description1\":\"Identifies the dfPower Architect job as it exists on the specified DataFlux Integration Server.\",\"Parameter2\":\"&lt;host&gt;\",\"Description2\":\"Identifies the host of the DataFlux Integration Server. If this value is not specified, then the local host is used by default.\",\"Parameter3\":\"port\",\"Description3\":\"Identifies the port through which the local host communicates with the DataFlux Integration Server. If this argument is not specified, or if the value is 0 or a negative number, then the default port number is used. The default port number is 21036.\",\"Parameter4\":\"repository\",\"Description4\":\"Identifies the repository on the DataFlux Integration Server that contains the dfPower Profile job.\",\"Parameter5\":\"report\",\"Description5\":\"Identifies the file that receives the report that is generated by the dfPower Profile job.\",\"Parameter6\":\"description&lt;\",\"Description6\":\"Identifies a character variable whose value describes the current run of the job. The descriptive text is added either to the top of the results file or above the results that will be appended to the bottom of the results file.\",\"Parameter7\":\"macro-name1\",\"Description7\":\"Identifies an dfPower Architect macro that exists on the DataFlux Integration Server. The value of macro-nameX can be specified as text, or as the name of a character variable.\",\"Parameter8\":\"macro-value1\",\"Description8\":\"Specifies the character value that will be used by the associated dfPower Architect macro. Macro-value1 is used by macro-name1. The value of macro-valueX can be specified as text, or as the name of a character variable.\",\"Parameter9\":\"macro-name2\",\"Description9\":\"Identifies an dfPower Architect macro that exists on the DataFlux Integration Server. The value of macro-nameX can be specified as text, or as the name of a character variable.\",\"Parameter10\":\"macro-value2...&gt;\",\"Description10\":\"Specifies the character value that will be used by the associated dfPower Architect macro. Macro-value1 is used by macro-name1. The value of macro-valueX can be specified as text, or as the name of a character variable.\"},{\"Name\":\"DQSRVUSER\",\"Definition\":\"Authenticates a user on a DataFlux Integration Server.\",\"Parameter1\":\"userid\",\"Description1\":\"Identifies the user according to the registry in a DataFlux Integration Server.\",\"Parameter2\":\"password\",\"Description2\":\"Authenticates the user according to the registry in the DataFlux Integration Server. The password can be plain text or SAS-encoded.\"},{\"Name\":\"DQSTANDARDIZE\",\"Definition\":\"Returns a character value after standardizing casing, spacing, and format, and applies a common representation to certain words and abbreviations.\",\"Parameter1\":\"char\",\"Description1\":\"Is the value that will be standardized according to the specified standardization definition. The value can be the name of a character variable, a character value in quotation marks, or an expression that evaluates to a variable name or a quoted value.\",\"Parameter2\":\"'standardization-definition'&lt;\",\"Description2\":\"Specifies the name of the standardization definition, which must exist in the specified locale.\",\"Parameter3\":\"locale&gt;\",\"Description3\":\"Specifies the name of the locale that contains the specified standardization definition. The value can be a name in quotation marks, the name of a variable whose value is a locale name, or an expression that evaluates to a variable name or to a quoted locale name.\"},{\"Name\":\"DQTOKEN\",\"Definition\":\"Returns a token from a character value.\",\"Parameter1\":\"char\",\"Description1\":\"Is the value from which the specified token will be returned, according to the specified parse definition. The value can be the name of a character variable, a character value in quotation marks, or an expression that evaluates to a variable name or a quoted value.\",\"Parameter2\":\"`token'\",\"Description2\":\"Identifies the token that is returned.\",\"Parameter3\":\"'parse-definition'&lt;\",\"Description3\":\"Specifies the name of the parse definition, which must exist in the specified locale.\",\"Parameter4\":\"locale&gt;\",\"Description4\":\"Specifies the name of the locale that contains the specified parse definition. The value can be a name in quotation marks, the name of a variable whose value is a locale name, or an expression that evaluates to a variable name or to a quoted locale name.\"},{\"Name\":\"TPLOT\",\"Definition\":\"Creates a triangular plot that graphically displays genetic marker test results.\",\"Parameter1\":\"SAS-data-set\",\"Description1\":\"Specifies the name of the SAS data set that is the output data set from the ALLELE procedure, containing the linkage disequilibrium test and HWE test p-values.\",\"Parameter2\":\"SAS-data-set\",\"Description2\":\"Specifies the name of the SAS data set that contains the p-values for the marker-trait association tests. This data set can be the output data set from the CASECONTROL procedure, the FAMILY procedure, or the PSMOOTH procedure, or it can be created by the user.\",\"Parameter3\":\"variable\",\"Description3\":\"Names the variable that contains the marker-trait association p-values in the SAS data set that is specified in the second argument.\",\"Parameter4\":\"&lt;ALPHA=number&gt;\",\"Description4\":\"Specifies the significance level for the marker-trait association test. This level is used as a cut-off for the p-value range corresponding to the symbol shape on the plot. This number must be between 0 and 1. The default is ALPHA=0.05.\"},{\"Name\":\"DEFINE\",\"Definition\":\"Sets the value of an attribute for a particular column in the current row.\",\"Parameter1\":\"column-id | _ROW_\",\"Description1\":\"Specifies a column name or a column number (that is, the position of the column from the left edge of the report). _ROW_ is an automatic variable that indicates the entire current row.\",\"Parameter2\":\"'attribute-name'\",\"Description2\":\"Is the attribute to define. Valid attributes are: BLINK, COLOR, COMMAND, FORMAT, HIGHLIGHT, RVSVIDEO, URL, URLBP, and URLP.\",\"Parameter3\":\"value\",\"Description3\":\"Sets the value for the attribute.\"},{\"Name\":\"FOREACH\",\"Definition\":\"The FOREACH statement iteratively applies a constraint over an array of variables.\",\"Parameter1\":\"array\",\"Description1\":\"An array defined in the ARRAY statement.\",\"Parameter2\":\"type\",\"Description2\":\"The type of the constraint.\",\"Parameter3\":\"&lt;offset&gt;\",\"Description3\":\"The optional offset parameter is an integer and is interpreted in the context of the constraint type.\"},{\"Name\":\"ContinueFor\",\"Definition\":\"Sets the number of additional iterations for the genetic algorithm optimization\",\"Parameter1\":\"niter\",\"Description1\":\"Specifies that the optimization continue for niter more iterations. To stop at the current iteration, set niter to 0.\"},{\"Name\":\"Cross\",\"Definition\":\"Executes a genetic crossover operator from within a user subroutine.\",\"Parameter1\":\"selected\",\"Description1\":\"Is an array that specifies the solutions to be crossed.\",\"Parameter2\":\"seg\",\"Description2\":\"Is the desired segment of the solution to which the crossover operator should be applied.\",\"Parameter3\":\"type&lt;\",\"Description3\":\"Is the type of crossover operator to apply, which also determines the number and type of parameters expected. The accepted values for type are: 'arithmetic', cycle', heuristic', 'null', 'order', pmatch', 'simple', twopoint', and 'uniform'.\",\"Parameter4\":\"parameter1\",\"Description4\":\"Optional parameter applicable to some operators.\",\"Parameter5\":\"parameter2, ...&gt;\",\"Description5\":\"Optional parameter(s) applicable to some operators.\"},{\"Name\":\"Dynamic_array\",\"Definition\":\"Allocates a numeric array.\",\"Parameter1\":\"arrayname\",\"Description1\":\"Is a previously declared array, whose dimensions are to be re-allocated.\",\"Parameter2\":\"dim1&lt;\",\"Description2\":\"Is the size of the first dimension.\",\"Parameter3\":\"dim2, ...dim6&gt;\",\"Description3\":\"Are optional. Up to six dimensions can be specified.\"},{\"Name\":\"EvaluateLC\",\"Definition\":\"Evaluates linear constraints.\",\"Parameter1\":\"lc\",\"Description1\":\"Is a two-dimensional array representing the linear constraints.\",\"Parameter2\":\"results\",\"Description2\":\"Is a numeric array to receive the magnitude of the constraint violation for each linear constraint.\",\"Parameter3\":\"sum\",\"Description3\":\"Is a variable to receive the sum of the constraint violations over all the constraints.\",\"Parameter4\":\"selected\",\"Description4\":\"Is an array identifying the selected solution.\",\"Parameter5\":\"seg&lt;\",\"Description5\":\"Is the segment of the solution to which the linear constraints apply.\",\"Parameter6\":\"child&gt;\",\"Description6\":\"Is an optional parameter, and should be specified only when EvaluateLC is called from a user crossover operator.\"},{\"Name\":\"GetDimensions\",\"Definition\":\"Gets the dimensions of an array variable.\",\"Parameter1\":\"source\",\"Description1\":\"Is the array variable whose dimensions are desired.\",\"Parameter2\":\"dest\",\"Description2\":\"Is an array to receive the dimensions of source.\"},{\"Name\":\"GetObjValues\",\"Definition\":\"Retrieves objective function values from the current solution generation.\",\"Parameter1\":\"dest\",\"Description1\":\"Is an array to receive the objective values.\",\"Parameter2\":\"n\",\"Description2\":\"Is the number of objective values to get.\"},{\"Name\":\"GetSolutions\",\"Definition\":\"Retrieves solutions from the current generation.\",\"Parameter1\":\"sol\",\"Description1\":\"Is an array to receive the solution elements.\",\"Parameter2\":\"n\",\"Description2\":\"Is the number of solutions to get.\",\"Parameter3\":\"seg\",\"Description3\":\"Is the segment of the solution to retrieve.\"},{\"Name\":\"Initialize\",\"Definition\":\"Creates the initial solution generation.\",\"Parameter1\":\"option\",\"Description1\":\"Is a string that specifies an initialization option. The available options and their effect are as follows:\\n\\n      '_uniform_'     generate uniformly distributed solutions\\n      _dataset_'      read solutions from the data set specified in a FIRSTGEN= option.\\n      'default'       read solutions from the data set specified in a FIRSTGEN= option, if one was specified.\\n      '_retain_'      bring forward the best solutions from the current generation.\\n      'user-routine'  Any string not matching the preceding options is interpreted to be a user-defined initialization routine.\\n    \",\"Parameter2\":\"size&lt;\",\"Description2\":\"Is the number of solutions to create by using a given option.\",\"Parameter3\":\"option, size&gt;...\",\"Description3\":\"More option-size pairs (optional).\"},{\"Name\":\"MarkPareto\",\"Definition\":\"Identifies the Pareto-optimal set from a population of solutions\",\"Parameter1\":\"result\",\"Description1\":\"Is a one-dimensional array to accept the results of the evaluation.\",\"Parameter2\":\"n\",\"Description2\":\"Is a variable to receive the number of Pareto-optimal solutions.\",\"Parameter3\":\"objectives\",\"Description3\":\"Is a two-dimensional array that contains the multiple objective values for each solution.\",\"Parameter4\":\"minmax\",\"Description4\":\"Is a one-dimensional array to specify how the objective values are to be used.\"},{\"Name\":\"Mutate\",\"Definition\":\"Executes a genetic mutation operator from within a user subroutine.\",\"Parameter1\":\"selected\",\"Description1\":\"Is an array that specifies the solution to be mutated.\",\"Parameter2\":\"seg\",\"Description2\":\"Is the desired segment of the solution to which the mutation should be applied.\",\"Parameter3\":\"type&lt;\",\"Description3\":\"Is the type of mutation operator to apply, which also determines the number and type of parameters expected. The accepted values for type are: 'delta', 'invert', swap', and 'uniform'.\",\"Parameter4\":\"parameter1, parameter2, ...&gt;\",\"Description4\":\"Are optional parameters applicable to some operators.\"},{\"Name\":\"Objective\",\"Definition\":\"Evaluates a standard objective function from within a user subroutine.\",\"Parameter1\":\"selected\",\"Description1\":\"Is an array that specifies the solution to be evaluated.\",\"Parameter2\":\"seg\",\"Description2\":\"Is the desired segment of the solution to be evaluated.\",\"Parameter3\":\"type&lt;\",\"Description3\":\"Is objective function name, which also determines the number and type of parameters expected. The accepted value for type is 'TSP'.\",\"Parameter4\":\"parameter1, parameter2, ...&gt;\",\"Description4\":\"Are optional parameters applicable to particular objective functions.\"},{\"Name\":\"PackBits\",\"Definition\":\"Writes bits to a packed integer array.\",\"Parameter1\":\"array\",\"Description1\":\"Is an array to which the value is to be assigned.\",\"Parameter2\":\"start\",\"Description2\":\"Is the starting position for the bit assignments.\",\"Parameter3\":\"width\",\"Description3\":\"Is the number of bits to assign.\",\"Parameter4\":\"value\",\"Description4\":\"Is the value to be assigned to the bits. For a single bit, this should be 0 or 1.\"},{\"Name\":\"ReadChild\",\"Definition\":\"Reads a segment from a selected child solution into an array, within a user crossover operator.\",\"Parameter1\":\"selected\",\"Description1\":\"Specifies the family (parents and children) obtained from the selection process.\",\"Parameter2\":\"seg\",\"Description2\":\"Specifies the solution segment to be read.\",\"Parameter3\":\"n\",\"Description3\":\"Specifies the child in the family from which to read the solution segment.\",\"Parameter4\":\"values\",\"Description4\":\"Specifies an array to receive the solution elements.\"},{\"Name\":\"ReadCompare\",\"Definition\":\"Reads a segment from a selected solution into an array, within a user fitness comparison subroutine.\",\"Parameter1\":\"selected\",\"Description1\":\"Specifies the pair of solutions to be compared, obtained from the selection process.\",\"Parameter2\":\"seg\",\"Description2\":\"Specifies the solution segment to be read.\",\"Parameter3\":\"n\",\"Description3\":\"Specifies the solution (1 or 2) from which to read the segment.\",\"Parameter4\":\"values\",\"Description4\":\"Specifies an array to receive the solution elements.\"},{\"Name\":\"ReadMember\",\"Definition\":\"Reads the selected solution into an array for a user objective function or mutation operator\",\"Parameter1\":\"selected\",\"Description1\":\"Is a parameter passed to the user subroutine by the GA procedure, which points to the selected solution.\",\"Parameter2\":\"seg\",\"Description2\":\"Specifies which segment of the solution to retrieve.\",\"Parameter3\":\"destination\",\"Description3\":\"Specifies an array in which to store the solution elements.\"},{\"Name\":\"ReadParent\",\"Definition\":\"Reads selected solution elements into an array in a user crossover subroutine.\",\"Parameter1\":\"selected\",\"Description1\":\"Is a parameter passed to the user subroutine by the GA procedure, which points to the selected solution family.\",\"Parameter2\":\"seg\",\"Description2\":\"Is the segment of the desired parent solution to be obtained \",\"Parameter3\":\"n\",\"Description3\":\"Is the number of the parent, starting at 1.\",\"Parameter4\":\"destination\",\"Description4\":\"Is an array in which to store the solution elements.\"},{\"Name\":\"ReEvaluate\",\"Definition\":\"Reruns the evaluation phase of the genetic algorithm.\",\"Parameter1\":\"&lt;index&gt;\",\"Description1\":\"Is a numeric scalar or array that specifies the indices of the solutions to be updated. The indices correspond to the order of the solutions obtained from a GetSolutions call.\"},{\"Name\":\"SetBounds\",\"Definition\":\"The SetBounds subroutine is used to establish upper and lower bounds on the solution space.\",\"Parameter1\":\"lower\",\"Description1\":\"Is a lower bound for the solution components.\",\"Parameter2\":\"upper&lt;\",\"Description2\":\"Is an upper bound for the solution components.\",\"Parameter3\":\"seg&gt;\",\"Description3\":\"Is optional, and specifies a segment of the solution to which the bounds apply. If seg is not specified, then it defaults to a value of 1.\",\"Parameter4\":null,\"Description4\":null},{\"Name\":\"SetCross\",\"Definition\":\"The SetCross routine is used to assign a standard crossover operator.\",\"Parameter1\":\"type&lt;\",\"Description1\":\"Is the name of the crossover operator to be applied. The accepted values for type are: 'arithmetic', 'cycle', 'heuristic', order', 'pmatch', simple', twopoint', and 'uniform'.\",\"Parameter2\":\"seg&gt;&lt;\",\"Description2\":\"Is optional, and specifies a segment of the solution to which the operator should be applied. If seg is not specified, then it defaults to a value of 1.\",\"Parameter3\":\"pname\",\"Description3\":\"Is optional, and specifies the name of a particular property to be set for the crossover operator.\",\"Parameter4\":\"pvalue&gt;&lt;\",\"Description4\":\" specifies the value to be assigned to the corresponding property name.\",\"Parameter5\":\"pname, pvalue&gt;...\",\"Description5\":\"More optional pname-pvalue pairs.\"},{\"Name\":\"SetCrossProb\",\"Definition\":\"The SetCrossProb subroutine is used to set the crossover probability for the genetic algorithm optimization process.\",\"Parameter1\":\"p\",\"Description1\":\"Is the crossover probability.\"},{\"Name\":\"SetCrossRoutine\",\"Definition\":\"Installs a user subroutine for the crossover operator.\",\"Parameter1\":\"'routine'&lt;\",\"Description1\":\"Is the name of a subroutine you have defined, which is called when the mutation operator is applied. This parameter must be a string literal; a variable is not accepted.\",\"Parameter2\":\"nparents\",\"Description2\":\"Is optional, and specifies the number of parent solutions the operator requires. If not specified, 2 is assumed.\",\"Parameter3\":\"nchildren&gt;\",\"Description3\":\"Is optional, and specifies the number of children solutions the operator will generate. If not specified, 2 is assumed.\"},{\"Name\":\"SetElite\",\"Definition\":\"Sets the number of best solutions to pass to the next generation.\",\"Parameter1\":\"elite\",\"Description1\":\"Is the number of best solutions to be passed unmodified from the current solution generation to the next.\"},{\"Name\":\"SetEncoding\",\"Definition\":\"The SetEncoding subroutine is used to establish the type of problem solution encoding.\",\"Parameter1\":\"encoding\",\"Description1\":\"Is a string used to specify the form of the solution.\"},{\"Name\":\"SetFinalize\",\"Definition\":\"Designates a user subroutine to perform post processing at the end of the optimization process.\",\"Parameter1\":\"'routine'\",\"Description1\":\"Is the name of a subroutine you have defined, which is called when the optimization process ends. This parameter must be a string literal; a variable is not accepted.\"},{\"Name\":\"SetMut\",\"Definition\":\"The SetMut routine is used to assign a standard mutation operator.\",\"Parameter1\":\"type&lt;\",\"Description1\":\"Is the name of the mutation operator to be applied. The accepted values for type are: 'delta', 'invert', 'null', 'swap'. and 'uniform'.\",\"Parameter2\":\"seg&gt;&lt;\",\"Description2\":\"Is optional, and specifies a segment of the solution to which the operator should be applied.\",\"Parameter3\":\"pname\",\"Description3\":\"Is optional, and specifies the name of a particular property to be set for the mutation operator.\",\"Parameter4\":\"pvalue&gt;&lt;\",\"Description4\":\"Specifies the value to be assigned to the corresponding property name.\",\"Parameter5\":\"pname, pvalue&gt;...\",\"Description5\":\"More optional pname-pvalue pairs.\"},{\"Name\":\"SetMutProb\",\"Definition\":\"The SetMutProb subroutine is used to set the mutation probability for the genetic algorithm optimization.\",\"Parameter1\":\"p\",\"Description1\":\"Is the mutation probability.\"},{\"Name\":\"SetMutRoutine\",\"Definition\":\"The SetMutRoutine call enables you to designate a subroutine you have defined to be used for the mutation operator.\",\"Parameter1\":\"'routine'\",\"Description1\":\"Is the name of a subroutine you have defined, which is called when the mutation operator is applied. This parameter must be a string literal; a variable is not accepted.\"},{\"Name\":\"SetObj\",\"Definition\":\"The SetObj routine is used to assign a procedure-supplied objective function.\",\"Parameter1\":\"type\",\"Description1\":\"Is the name of the objective function to be used. The accepted value for type is 'TSP'.\",\"Parameter2\":\"minmax&lt;\",\"Description2\":\"Is an indicator to maximize or minimize the objective. A value of 0 is used to specify a minimization, and a value of 1 to specify maximizing the objective.\",\"Parameter3\":\"seg&gt;&lt;\",\"Description3\":\"Is optional, and specifies a segment of the solution to which the objective function should be applied.\",\"Parameter4\":\"pname\",\"Description4\":\"Is optional, and specifies the name of a particular property to be set for the objective function.\",\"Parameter5\":\"pvalue&gt;&lt;\",\"Description5\":\"Specifies the value to be assigned to the corresponding property name.\",\"Parameter6\":\"pname, pvalue&gt;...\",\"Description6\":\"More optional pname-pvalue pair(s).\"},{\"Name\":\"SetObjFunc\",\"Definition\":\"The SetObjFunc subroutine is used to designate a user function to be the objective for the optimization process.\",\"Parameter1\":\"'fname'\",\"Description1\":\"Is the name of a user objective function. This parameter must be a literal string.\",\"Parameter2\":\"minmax\",\"Description2\":\"Is set to 0 to minimize the objective, 1 to maximize.\"},{\"Name\":\"SetProperty\",\"Definition\":\"The SetProperty call is used to set or modify properties of a genetic operator, objective function, or a selector.\",\"Parameter1\":\"optype&lt;\",\"Description1\":\"Is the type of operator. It should have a value of 'cross' for a crossover operator, 'mut' for a mutation operator, 'obj' for an objective function, or 'sel' for a selector.\",\"Parameter2\":\"seg&gt;\",\"Description2\":\"Is optional, used only for mutation and crossover operators, and specifies the segment in which the operator resides. It is necessary only for multisegment encoding. The default value if seg is not specified is 1.\",\"Parameter3\":\"pname\",\"Description3\":\"Specifies the name of a particular property to be set.\",\"Parameter4\":\"pvalue&lt;\",\"Description4\":\" specifies the value to be assigned to the corresponding property name.\",\"Parameter5\":\"pname, pvalue&gt;...\",\"Description5\":\"Additional pname-pvalue pair(s) (optional).\"},{\"Name\":\"SetSel\",\"Definition\":\"The SetSel call is used to specify a selector for the regeneration process, which selects members of the current generation to be propagated to the next.\",\"Parameter1\":\"selector&lt;\",\"Description1\":\"Is the type of selection strategy to be used.\",\"Parameter2\":\"pname\",\"Description2\":\"Is optional, and specifies the name of a particular property to be set for the selector operator.\",\"Parameter3\":\"pvalue&gt;&lt;\",\"Description3\":\"Specifies the value to be assigned to the corresponding property name.\",\"Parameter4\":\"pname, pvalue&gt;...\",\"Description4\":\"Additional optional pname-pvalue pair(s).\"},{\"Name\":\"SetUpdateRoutine\",\"Definition\":\"Designates a control subroutine to be called at each iteration.\",\"Parameter1\":\"'routine'\",\"Description1\":\"Is the name of a subroutine you have defined that is called once during each iteration of the optimization process. This parameter must be a string literal; a variable is not accepted.\"},{\"Name\":\"ShellSort\",\"Definition\":\"Sorts a numeric array.\",\"Parameter1\":\"x&lt;\",\"Description1\":\"Is a one or two dimensional array to be sorted.\",\"Parameter2\":\"by&lt;\",\"Description2\":\"Is an optional numeric scalar or array that specifies the columns by which the array is to be sorted. If not specified, column 1 is the default.\",\"Parameter3\":\"descend&gt;&gt;\",\"Description3\":\"Is an optional numeric scalar or array used to specify which columns in the by parameter are to be in descending order. Any columns not specified in a descend parameter will be in ascending order.\"},{\"Name\":\"Shuffle\",\"Definition\":\"The Shuffle subroutine randomly rearranges the elements of the x array.\",\"Parameter1\":\"x\",\"Description1\":\"Is a numeric array to be randomly shuffled.\"},{\"Name\":\"UnpackBits\",\"Definition\":\"The UnpackBits function facilitates the extraction of bit values from arbitrary locations in an integer array.\",\"Parameter1\":\"source\",\"Description1\":\"Is an array containing the packed bit values.\",\"Parameter2\":\"start\",\"Description2\":\"Is the starting bit, with the lowest bit starting at 1.\",\"Parameter3\":\"width\",\"Description3\":\"Is the number of bits to retrieve. A value of 1 retrieves a single bit.\"},{\"Name\":\"UpdateSolutions\",\"Definition\":\"The UpdateSolutions subroutine is used to replace the values of the selected solution segment with new values computed in an update routine.\",\"Parameter1\":\"sol\",\"Description1\":\"Is an array containing the replacement solution elements.\",\"Parameter2\":\"n\",\"Description2\":\"Is the number of solutions to update.\",\"Parameter3\":\"seg\",\"Description3\":\"Is the segment of the solution to replace.\"},{\"Name\":\"WriteChild\",\"Definition\":\"The WriteChild subroutine is called inside a user crossover operator subroutine to assign to the elements of a selected child solution.\",\"Parameter1\":\"selected\",\"Description1\":\"Is an array specifying the selected family of solutions.\",\"Parameter2\":\"seg\",\"Description2\":\"Is the segment to which the elements are to be written.\",\"Parameter3\":\"n\",\"Description3\":\"Is the child within the family to which the elements are to be written. A value of 1 is for the first child, 2 for the second, and so on.\",\"Parameter4\":\"source\",\"Description4\":\"Is an array containing the values to be written.\"},{\"Name\":\"WriteMember\",\"Definition\":\"Assigns values to a selected solution from within a user objective function or mutation operator.\",\"Parameter1\":\"selected\",\"Description1\":\"Is an array specifying the selected family of solutions.\",\"Parameter2\":\"seg\",\"Description2\":\"Is the segment to which the elements are to be written.\",\"Parameter3\":\"source\",\"Description3\":\"Is an array containing the values to be written.\"},{\"Name\":\"RANCOMB\",\"Definition\":\"Permutes the values of the arguments, and returns a random combination of k out of n values.\",\"Parameter1\":\"seed\",\"Description1\":\"Is a numeric variable that contains the random number seed.\",\"Parameter2\":\"k\",\"Description2\":\"Is the number of values that you want to have in the random combination.\",\"Parameter3\":\"variable-1&lt;\",\"Description3\":\"Specifies all numeric variables, or all character variables that have the same length. K values of these variables are randomly permuted.\",\"Parameter4\":\"variable\\u20132, ...&gt;\",\"Description4\":\"Specifies all numeric variables, or all character variables that have the same length. K values of these variables are randomly permuted.\"},{\"Name\":\"EFFRATE\",\"Definition\":\"Returns the effective annual interest rate.\",\"Parameter1\":\"compounding-interval\",\"Description1\":\"Is a SAS interval. This value represents how often rate compounds.\",\"Parameter2\":\"rate\",\"Description2\":\"Is numeric. rate is a nominal annual interest rate (expressed as a percentage) that is compounded at each compounding interval.\"},{\"Name\":\"MVALID\",\"Definition\":\"Checks the validity of a character string for use as a SAS member name.\",\"Parameter1\":\"libname\",\"Description1\":\"Specifies a character constant, variable, or expression that associates a SAS library with a libref. Leading and trailing blanks are ignored.\",\"Parameter2\":\"string\",\"Description2\":\"Specifies a character constant, variable, or expression that is checked to determine whether its value can be used as a SAS member name. Leading and trailing blanks are ignored.\",\"Parameter3\":\"memtype&lt;\",\"Description3\":\"Specifies a character constant, variable, or expression that is the member type of the member name that you are using. Leading and trailing blanks are ignored. The value of memtype is not validated. The following member types are available: \\n\\n  ACCESS specifies access descriptor files that are created by SAS/ACCESS.  \\n  CATALOG specifies SAS catalogs. \\n  DATA specifies SAS data files. \\n  FDB specifies a financial database. \\n  ITEMSTOR specifies a SAS data set that consists of pieces of information that can be accessed independently. The SAS Registry is an example of an item store.  \\n  MDDB specifies a multidimensional database. \\n  PROGRAM specifies stored compiled SAS programs. \\n  VIEW specifies SAS views.\",\"Parameter4\":\"validmemname&gt;\",\"Description4\":\"Specifies a character constant, variable, or expression. The values for validmemname can be uppercase or lowercase. Leading and trailing blanks are ignored. The following list contains the values that you can use with validmemname: \\n\\n  COMPAT | COMPATIBLE\\n  EXTEND      \\n    \\nDefault: VALIDMEMNAME= is set to COMPAT.\"},{\"Name\":\"NOMRATE\",\"Definition\":\"Returns the nominal annual interest rate.\",\"Parameter1\":\"compounding-interval\",\"Description1\":\"Is a SAS interval. This value represents how often the returned value is compounded.\",\"Parameter2\":\"rate\",\"Description2\":\"Is numeric. rate is the effective annual interest rate (expressed as a percentage) that is compounded at each interval.\"},{\"Name\":\"SAVINGS\",\"Definition\":\"Returns the balance of a periodic savings by using variable interest rates.\",\"Parameter1\":\"base-date\",\"Description1\":\"Is a SAS date. The value that is returned is the balance of the savings at base-date.\",\"Parameter2\":\"initial-deposit-date\",\"Description2\":\"Is a SAS date. initial-deposit-date is the date of the first deposit. Subsequent deposits are at the beginning of subsequent deposit intervals.\",\"Parameter3\":\"deposit-amount\",\"Description3\":\"Is numeric. All deposits are assumed constant. deposit-amount is the value of each deposit.\",\"Parameter4\":\"deposit-number\",\"Description4\":\"Is a positive integer. deposit-number is the number of deposits.\",\"Parameter5\":\"deposit-interval\",\"Description5\":\"Is a SAS interval. deposit-interval is the frequency at which deposits are made.\",\"Parameter6\":\"compounding-interval\",\"Description6\":null,\"Parameter7\":\"date-1\",\"Description7\":\"Is a SAS interval. compounding-interval is the compounding interval.\",\"Parameter8\":\"rate-2&lt;\",\"Description8\":\"Is a numeric percentage. Each rate is paired with a date. rate is the interest rate that starts on date.\",\"Parameter9\":\"date-2, rate-2,...&gt;\",\"Description9\":\"Optional additional data-rate pair(s).\"},{\"Name\":\"SOAPWEB\",\"Definition\":\"Calls a Web service by using basic Web authentication; credentials are provided in the arguments.\",\"Parameter1\":\"IN\",\"Description1\":\"Specifies a character value that is the fileref. IN is used to input XML data that contains the SOAP request.\",\"Parameter2\":\"URL&lt;\",\"Description2\":\"Specifies a character value that is the URL of the Web service endpoint.\",\"Parameter3\":\"options&gt;\",\"Description3\":\"Optional Arguments:\\n    \\nOUT \\n  specifies a character value that is the fileref where the SOAP response output XML will be written. \\nSOAPACTION \\n  specifies a character value that is a SOAPAction element to invoke on the Web service. \\nWEBUSERNAME \\n  specifies a character value that is a user name for either basic or NTLM Web authentication. \\nWEBPASSWORD \\n  specifies a character value that is a password for either basic or NTLM Web authentication. \\n  Encodings that are produced by PROC PWENCODE are supported. \\nWEBDOMAIN \\n  specifies a character value that is the domain or realm for the user name and password \\n  for NTLM authentication. \\nMUSTUNDERSTAND \\n  specifies a numeric value that is the setting for the mustUnderstand attribute in the SOAP header. \\nPROXYPORT \\n  specifies a numeric value that is an HTTP proxy server port. \\nPROXYHOST \\n  specifies a character value that is an HTTP proxy server host. \\nPROXYUSERNAME \\n  specifies a character value that is an HTTP proxy server user name. \\nPROXYPASSWORD \\n  specifies a character value that is an HTTP proxy server password. Encodings that are produced \\n  by PROC PWENCODE are supported. \\nCONFIGFILE \\n  specifies a character value that is a Spring configuration file that is used primarily to \\n  set time-out values. \\nDEBUG \\n  specifies a character value that is the full path to a file that is used for debugging \\n  logging output.\"},{\"Name\":\"SOAPWEBMETA\",\"Definition\":\"Calls a Web service by using basic Web authentication; credentials for the authentication domain are retrieved from metadata.\",\"Parameter1\":\"IN\",\"Description1\":\"Specifies a character value that is the fileref. IN is used to input XML data that contains the SOAP request.\",\"Parameter2\":\"URL&lt;\",\"Description2\":\"Specifies a character value that is the URL of the Web service endpoint.\",\"Parameter3\":\"options&gt;\",\"Description3\":\"Optional Arguments:\\n    \\nOUT \\n  specifies a character value that is the fileref where the SOAP response output XML will be written. \\nSOAPACTION \\n  specifies a character value that is a SOAPAction element to invoke on the Web service. \\nWEBAUTHDOMAIN \\n  specifies a character value that is the authentication domain from which to retrieve a user \\n  name and password from metadata for basic Web authentication. \\nMUSTUNDERSTAND \\n  specifies a numeric value that is the setting for the mustUnderstand attribute in the SOAP header. \\nPROXYPORT \\n  specifies a numeric value that is an HTTP proxy server port. \\nPROXYHOST \\n  specifies a character value that is an HTTP proxy server host. \\nPROXYUSERNAME \\n  specifies a character value that is an HTTP proxy server user name. \\nPROXYPASSWORD \\n  specifies a character value that is an HTTP proxy server password. Encodings that are produced \\n  by PROC PWENCODE are supported. \\nCONFIGFILE \\n  specifies a character value that is a Spring configuration file that is used primarily to \\n  set time-out values. \\nDEBUG \\n  specifies a character value that is the full path to a file that is used for debugging \\n  logging output.\"},{\"Name\":\"SOAPWIPSERVICE\",\"Definition\":\"Calls a SAS registered Web service by using WS-Security authentication; credentials are provided in the arguments.\",\"Parameter1\":\"IN\",\"Description1\":\"Specifies a character value that is the fileref. IN is used to input XML data that contains the SOAP request.\",\"Parameter2\":\"SERVICE&lt;\",\"Description2\":\"Specifies the service name of the endpoint service as the service is stored in the Service Registry.\",\"Parameter3\":\"options&gt;\",\"Description3\":\"Optional Arguments:\\n    \\nOUT \\n  specifies a character value that is the fileref where the SOAP response output XML will be written. \\nSOAPACTION \\n  specifies a character value that is a SOAPAction element to invoke on the Web service. \\nWSSUSERNAME \\n  specifies a character value that is a WS-Security user name. \\nWSSPASSWORD \\n  specifies a character value that is a WS-Security password, which is the password for WSSUSERNAME. \\n  Encodings that are produced by PROC PWENCODE are supported. \\nENVFILE \\n  specifies a character value that is the location of the SAS environments file. \\nENVIRONMENT \\n  specifies a character value that is the environment defined in the SAS environments file to use. \\nMUSTUNDERSTAND \\n  specifies a numeric value that is the setting for the mustUnderstand attribute in the SOAP header. \\nCONFIGFILE \\n  specifies a character value that is a Spring configuration file that is used primarily to \\n  set time-out values. \\nDEBUG \\n  specifies a character value that is the full path to a file that is used for debugging \\n  logging output.\"},{\"Name\":\"SOAPWIPSRS\",\"Definition\":\"Calls a SAS registered Web service by using WS-Security authentication; credentials are provided in the arguments.\",\"Parameter1\":\"IN\",\"Description1\":\"Specifies a character value that is the fileref. IN is used to input XML data that contains the SOAP request.\",\"Parameter2\":\"URL\",\"Description2\":\"Specifies a character value that is the URL of the Web service endpoint.\",\"Parameter3\":\"SRSURL&lt;\",\"Description3\":\"Specifies a character value that is the URL of the System Registry Service.\",\"Parameter4\":\"options&gt;\",\"Description4\":\"Optional Arguments:\\n    \\nOUT \\n  specifies a character value that is the fileref where the SOAP response output XML will \\n  be written. \\nSOAPACTION \\n  specifies a character value that is a SOAPAction element to invoke on the Web service. \\nWSSUSERNAME \\n  specifies a character value that is a WS-Security user name. \\nWSSPASSWORD \\n  specifies a character value that is a WS-Security password, which is the password \\n  for WSSUSERNAME. Encodings that are produced by PROC PWENCODE are supported. \\nMUSTUNDERSTAND \\n  specifies a numeric value that is the setting for the mustUnderstand attribute in the \\n  SOAP header. \\nCONFIGFILE \\n  specifies a character value that is a Spring configuration file that is used primarily \\n  to set time-out values. \\nDEBUG \\n  specifies a character value that is the full path to a file that is used for debugging \\n  logging output.\"},{\"Name\":\"SOAPWS\",\"Definition\":\"Calls a Web service by using WS-Security authentication; credentials are provided in the arguments.\",\"Parameter1\":\"IN\",\"Description1\":\"Specifies a character value that is the fileref. IN is used to input XML data that contains the SOAP request.\",\"Parameter2\":\"URL&lt;\",\"Description2\":\"Specifies a character value that is the URL of the Web service endpoint.\",\"Parameter3\":\"options&gt;\",\"Description3\":\"Optional Arguments:\\n    \\nOUT \\n  specifies a character value that is the fileref where the SOAP response output XML \\n  will be written. \\nSOAPACTION \\n  specifies a character value that is a SOAPAction element to invoke on the Web service. \\nWSSUSERNAME \\n  specifies a character value that is a WS-Security user name. \\nWSSPASSWORD \\n  specifies a character value that is a WS-Security password, which is the password for \\n  WSSUSERNAME. Encodings that are produced by PROC PWENCODE are supported. \\nMUSTUNDERSTAND \\n  specifies a numeric value that is the setting for the mustUnderstand attribute in the \\n  SOAP header. \\nPROXYPORT \\n  specifies a numeric value that is an HTTP proxy server port. \\nPROXYHOST \\n  specifies a character value that is an HTTP proxy server host. \\nPROXYUSERNAME \\n  specifies a character value that is an HTTP proxy server user name. \\nPROXYPASSWORD \\n  specifies a character value that is an HTTP proxy server password. Encodings that \\n  are produced by PROC PWENCODE are supported. \\nCONFIGFILE \\n  specifies a character value that is a Spring configuration file that is used primarily \\n  to set time-out values. \\nDEBUG \\n  specifies a character value that is the full path to a file that is used for debugging \\n  logging output.\"},{\"Name\":\"SOAPWSMETA\",\"Definition\":\"Calls a Web service by using WS-Security authentication; credentials for the provided authentication domain are retrieved from metadata.\",\"Parameter1\":\"IN\",\"Description1\":\"Specifies a character value that is the fileref. IN is used to input XML data that contains the SOAP request.\",\"Parameter2\":\"URL&lt;\",\"Description2\":\"Specifies a character value that is the URL of the Web service endpoint.\",\"Parameter3\":\"options&gt;\",\"Description3\":\"Optional Arguments:\\nOUT \\n  specifies a character value that is the fileref where the SOAP response output XML will be written. \\nSOAPACTION \\n  specifies a character value that is a SOAPAction element to invoke on the Web service. \\nWSSAUTHDOMAIN \\n  specifies a character value that is the authentication domain for which to retrieve credentials \\n  to be used for WS-Security authentication. \\nMUSTUNDERSTAND \\n  specifies a numeric value that is the setting for the mustUnderstand attribute in the SOAP header. \\nPROXYPORT \\n  specifies a numeric value that is an HTTP proxy server port. \\nPROXYHOST \\n  specifies a character value that is an HTTP proxy server host. \\nPROXYUSERNAME \\n  specifies a character value that is an HTTP proxy server user name. \\nPROXYPASSWORD \\n  specifies a character value that is an HTTP proxy server password. Encodings that are produced \\n  by PROC PWENCODE are supported. \\nCONFIGFILE \\n  specifies a character value that is a Spring configuration file that is used primarily to \\n  set time-out values. \\nDEBUG \\n  specifies a character value that is the full path to a file that is used for debugging \\n  logging output.\"},{\"Name\":\"SQUANTILE\",\"Definition\":\"Returns the quantile from a distribution when you specify the right probability (SDF).\",\"Parameter1\":\"distribution\",\"Description1\":\"Is a character constant, variable, or expression that identifies the distribution. Valid distributions are as follows:\\n\\n      Bernoulli distribution: 'BERNOULLI'\\n      Beta distribution: 'BETA'\\n      Binomial distribution: 'BINOMIAL'\\n      Cauchy distribution: 'CAUCHY'\\n      Chi-Square distribution: 'CHISQUARE'\\n      Conway-Maxwell-Poisson distribution: 'CMP'\\n      Exponential distribution: 'EXPONENTIAL'\\n      F distribution: 'F'\\n      Gamma distribution: 'GAMMA'\\n      Generalized Poisson distribution: 'GENPOISSON'\\n      Geometric distribution: 'GEOMETRIC'\\n      Hypergeometric distribution: 'HYPERGEOMETRIC'\\n      Laplace distribution: 'LAPLACE'\\n      Logistic distribution: 'LOGISTIC'\\n      Lognormal'LOGNORMAL'\\n      Negative binomial distribution: 'NEGBINOMIAL'\\n      Normal distribution: 'NORMAL'|'GAUSS'\\n      Normal mixture distribution: 'NORMALMIX'\\n      Pareto distribution: 'PARETO'\\n      Poisson distribution: 'POISSON'\\n      T distribution: 'T'\\n      Tweedie distribution: 'TWEEDIE').\\n      Uniform distribution: 'UNIFORM'\\n      Wald (inverse Gaussian) distribution: 'WALD'|'IGAUSS'\\n      Weibull distribution: 'WEIBULL'\\n\\n      Note: Except for T, F, and NORMALMIX, you can minimally identify any distribution by its first four characters.\",\"Parameter2\":\"probability\",\"Description2\":\"Is a numeric constant, variable, or expression that specifies the value of a random variable.\",\"Parameter3\":\"parameter-1, ... , parameter-k\",\"Description3\":\"Are optional shape, location, or scale parameters that are appropriate for the specific distribution.\"},{\"Name\":\"SYSEXIST\",\"Definition\":\"Returns a value that indicates whether an operating-environment variable exists in your environment.\",\"Parameter1\":\"argument\",\"Description1\":\"Specifies a character variable that is the name of an operating-environment variable that you want to test.\"},{\"Name\":\"TIMEVALUE\",\"Definition\":\"Returns the equivalent of a reference amount at a base date by using variable interest rates.\",\"Parameter1\":\"base-date\",\"Description1\":\"Is a SAS date. The value that is returned is the time value of reference-amount at base-date.\",\"Parameter2\":\"reference-date\",\"Description2\":\"Is a SAS date. reference-date is the date of reference-amount.\",\"Parameter3\":\"reference-amount\",\"Description3\":\"Is numeric. reference-amount is the amount at reference-date.\",\"Parameter4\":\"compounding-interval\",\"Description4\":\"Is a SAS interval. compounding-interval is the compounding interval.\",\"Parameter5\":\"date-1\",\"Description5\":\"Is a SAS date. Each date is paired with a rate. date is the time that rate takes effect.\",\"Parameter6\":\"rate-1&lt;\",\"Description6\":\"Is a numeric percentage. Each rate is paired with a date. rate is the interest rate that starts on date.\",\"Parameter7\":\"date-2, rate-2,...&gt;\",\"Description7\":\"Optional additional date-rate pairs(s)\"},{\"Name\":\" ADDMATRIX\",\"Definition\":\"Performs an elementwise addition of two matrices or a matrix and a scalar.\",\"Parameter1\":\"X\",\"Description1\":\"Specifies an input matrix with dimensions m x n (that is, X[m, n]) or a scalar.\",\"Parameter2\":\"Y\",\"Description2\":\"Specifies an input matrix with dimensions m x n (that is, Y[m, n]) or a scalar.\",\"Parameter3\":\"Z\",\"Description3\":\"Specifies an output matrix with dimensions m x n (that is, Z[m, n]), such that Z = X + Y.\"},{\"Name\":\"CHOL\",\"Definition\":\"Calculates the Cholesky decomposition for a given symmetric matrix.\",\"Parameter1\":\"X\",\"Description1\":\"Specifies a symmetric positive-definite input matrix with dimensions m x m (that is, X[m, m]).\",\"Parameter2\":\"Y &lt;\",\"Description2\":\"Specifies an output matrix with dimensions m x m (that is, Y[m, m]). This variable contains the Cholesky decomposition, such that \\n\\n  Z= YY*\\n  \\nwhere Y is a lower triangular matrix with strictly positive diagonal entries and \\nY* denotes the conjugate transpose of Y. \\n\\nNote: If X is not symmetric positive-definite, then Y will be filled with missing values. \\n\",\"Parameter3\":\"validate&gt;\",\"Description3\":\"Specifies an optional argument that can increase the processing speed by avoiding error checking. The argument can take the following values: \\n\\n  0 the matrix X will be checked for symmetry. This is the default if the validate \\n    argument is omitted.  \\n  1 the matrix is assumed to be symmetric. \\n\"},{\"Name\":\"DET\",\"Definition\":\"Calculates the determinant of a specified matrix that should be square.\",\"Parameter1\":\"X\",\"Description1\":\"Specifies an input matrix with dimensions m x n (that is, X[m, m]).\",\"Parameter2\":\"a\",\"Description2\":\"Specifies the returned determinate value, such that a = |X|.\"},{\"Name\":\"DYNAMIC_ARRAY\",\"Definition\":\"Enables an array that is declared within a function to change size in an efficient manner.\",\"Parameter1\":\"array\\u2013name\",\"Description1\":\"Specifies the name of a temporary array.\",\"Parameter2\":\"new-dim1\\u2013size, ..., new-dimN-size\",\"Description2\":\"Specifies a new size for the temporary array.\"},{\"Name\":\"ELEMMULT\",\"Definition\":\"Performs an elementwise multiplication of two matrices.\",\"Parameter1\":\"X\",\"Description1\":\"Specifies an input matrix with dimensions m x n (that is, X[m, n]).\",\"Parameter2\":\"Y\",\"Description2\":\"Specifies an input matrix with dimensions m x n (that is, Y[m, n]).\",\"Parameter3\":\"Z\",\"Description3\":\"Specifies an output matrix with dimensions m x n (that is, Z[m, n]).\"},{\"Name\":\"EXPMATRIX\",\"Definition\":\"Returns a matrix e**tA given the input matrix A and a multiplier t.\",\"Parameter1\":\"X\",\"Description1\":\"Specifies an input matrix with dimensions m x m (that is, X[m, m]).\",\"Parameter2\":\"t\",\"Description2\":\"Specifies a double scalar value.\",\"Parameter3\":\"Y\",\"Description3\":\"Specifies an output matrix with dimensions m x m (that is, Y[m, m]), such that Y = \\u0510**t\\u1e8a where \\u1e8a is the mean of X.\"},{\"Name\":\"FILLMATRIX\",\"Definition\":\"Replaces all of the element values of the input matrix with the specified value.\",\"Parameter1\":\"X\",\"Description1\":\"Specifies an input numeric matrix.\",\"Parameter2\":\"Y\",\"Description2\":\"Specifies the numeric value that will fill the matrix.\"},{\"Name\":\"IDENTITY\",\"Definition\":\"Converts the input matrix to an identity matrix.\",\"Parameter1\":\"X\",\"Description1\":\"Specifies an input matrix with dimensions m x m (that is, X[m, m]).\"},{\"Name\":\"INV\",\"Definition\":\"Calculates a matrix that is the inverse of the provided input matrix that should be a square, non-singular matrix.\",\"Parameter1\":\"X\",\"Description1\":\"specifies an input matrix with dimensions m x m (that is, X[m, m]).\",\"Parameter2\":\"Y\",\"Description2\":\"Specifies an output matrix with dimensions m x m (that is, Y[m, m]), such that \\n  \\n    Y[m.m] = X'[m,m]\\n\\n  where ' denotes inverse \\n  \\n    X x Y = Y x X = I\\n  \\nand I is the identity matrix.\"},{\"Name\":\"MULT\",\"Definition\":\"Calculates the multiplicative product of two input matrices.\",\"Parameter1\":\"X\",\"Description1\":\"Specifies an input matrix with dimensions m x n (that is, X[m, n]).\",\"Parameter2\":\"Y\",\"Description2\":\"Specifies an input matrix with dimensions n x p (that is, Y[n, p]).\",\"Parameter3\":\"Z\",\"Description3\":\"Specifies an output matrix with dimensions m x p (that is, Z[m, p]), such that \\n\\n    Z[m,p] = X[m,n] x Y[n,p]\"},{\"Name\":\"POWER\",\"Definition\":\"Raises a square matrix to a given scalar value.\",\"Parameter1\":\"X\",\"Description1\":\"Specifies an input matrix with dimensions m x m (that is, X[m, m]).\",\"Parameter2\":\"a\",\"Description2\":\"Specifies an integer scalar value (power).\",\"Parameter3\":\"Y\",\"Description3\":\"Specifies an output matrix with dimensions m x m (that is, Y[m, m]), such that \\n    \\n    Y = X**a\"},{\"Name\":\"SETNULL\",\"Definition\":\"Sets a pointer element of a structure to null.\",\"Parameter1\":\"pointer-element\",\"Description1\":\"Is a pointer to a structure\"},{\"Name\":\"STRUCTINDEX\",\"Definition\":\"Enables you to access each structure element in an array of structures.\",\"Parameter1\":\"struct_array\",\"Description1\":\"Specifies an array.\",\"Parameter2\":\"index\",\"Description2\":\"Is a 1\\u2013based index as used in most SAS arrays.\",\"Parameter3\":\"struct_element\",\"Description3\":\"Points to an element in the array.\"},{\"Name\":\"SUBTRACTMATRIX\",\"Definition\":\"Performs an element-wide subtraction of two matrices or a matrix and a scalar.\",\"Parameter1\":\"X\",\"Description1\":\"specifies an input matrix with dimensions m x n (that is, X[m, n]) or a scalar.\",\"Parameter2\":\"Y\",\"Description2\":\"specifies an input matrix with dimensions m x n (that is, Y[m, n]) or a scalar.\",\"Parameter3\":\"Z\",\"Description3\":\"specifies an output matrix with dimensions m x n (that is, Z[m, n]), such that \\n\\n    Z = X - Y\",\"Parameter4\":null,\"Description4\":null},{\"Name\":\"TRANSPOSE\",\"Definition\":\"Returns the transpose of a matrix.\",\"Parameter1\":\"X\",\"Description1\":\"Specifies an input matrix with dimensions m x n (that is, X[m, n]).\",\"Parameter2\":\"Y\",\"Description2\":\"Specifies an output matrix with dimensions n x m (that is, Y[n, m]).\"},{\"Name\":\"ZEROMATRIX\",\"Definition\":\"Replaces all of the element values of the numeric input matrix with 0.\",\"Parameter1\":\"X\",\"Description1\":\"Specifies a numeric input matrix.\"},{\"Name\":\"INVCDF\",\"Definition\":\"Computes the quantile from any distribution for which you have defined a cumulative distribution function (CDF).\",\"Parameter1\":\"'CDF-function-name'\",\"Description1\":\"Specifies the name of the CDF function. Enclose CDF-function-name in quotation marks. \\n\\nRequirement:CDF-function-name must be a function defined using the FCMP procedure. It must \\nhave a signature as follows: \\n  function &lt;CDF-function-name&gt; (x, parameter-1, parameter-2, \\u2026, parameter-n);\\n  endsub;\",\"Parameter2\":\"options-array\",\"Description2\":\"Specifies an array of options to use with the INVCDF function. Options-array is used to \\ncontrol and monitor the process of inverting the CDF. Options-array can be a missing value (.), \\nor it can have up to four of the following elements in the following order: \\n\\n  initial-value \\n    specifies the initial guess for the quantile at which the inversion process starts. This is \\n    useful when you have an idea of the approximate value for quantile. The default for initial-value is 0.1. \\n  desired-accuracy \\n    specifies the desired relative accuracy of the quantile. You can specify any value in the range (0,0.1).\\n    The default for desired-accuracy is 1.0e-8.\\n  domain-type \\n    specifies the domain for the CDF function. A missing value or a value of 0 indicates a nonnegative \\n    support, that is [0,\\u221e). Any other value indicates a support over the entire real line, that is (-\\u221e,\\u221e). \\n    The default for domain-type is 0. \\n  return-code \\n    specifies the return status. If options-array is of dimension 4 or more, then the fourth element contains \\n    the return status. Return-code can have one of the following values: \\n      &lt;=0 \\n        indicates success. If negative, then the absolute value is the number of times the CDF function was \\n        evaluated in order to compute the quantile. A larger absolute value indicates longer convergence time. \\n      1 \\n        indicates that the quantile could not be computed.\",\"Parameter3\":\"cumulative-probability\",\"Description3\":\"Specifies the cumulative probability value for which the quantile is desired. This must be in the range [0,1).\",\"Parameter4\":\"parameter-1, parameter-2, ..., parameter-n\",\"Description4\":\"Specifies the parameters of the distribution at which the quantile is desired. You must specify exactly the same number of parameters as required by the specified CDF function, and they should appear exactly in the same order as required by the specified CDF function.\"},{\"Name\":\"ISNULL\",\"Definition\":\"Determines whether a pointer element of a structure is null.\",\"Parameter1\":\"pointer-element\",\"Description1\":\"Specifies a variable that contains the address of another variable.\"},{\"Name\":\"LIMMOMENT\",\"Definition\":\"Computes the limited moment of any distribution for which you have defined a cumulative distribution function (CDF).\",\"Parameter1\":\"'CDF-function-name'\",\"Description1\":\"Specifies the name of the CDF function. Enclose CDF-function-name in quotation marks. \\n\\nRequirement:CDF-function-name must be a function defined using the FCMP procedure. It must \\nhave a signature as follows: \\n  function &lt;CDF-function-name&gt; (x, parameter-1, parameter-2, \\u2026, parameter-n);\\n  endsub;\",\"Parameter2\":\"options-array\",\"Description2\":\"Specifies an array of options to use with the INVCDF function. Options-array is used to \\ncontrol and monitor the process of inverting the CDF. Options-array can be a missing value (.), \\nor it can have up to four of the following elements in the following order: \\n\\n  initial-value \\n    specifies the initial guess for the quantile at which the inversion process starts. This is \\n    useful when you have an idea of the approximate value for quantile. The default for initial-value is 0.1. \\n  desired-accuracy \\n    specifies the desired relative accuracy of the quantile. You can specify any value in the range (0,0.1).\\n    The default for desired-accuracy is 1.0e-8.\\n  domain-type \\n    specifies the domain for the CDF function. A missing value or a value of 0 indicates a nonnegative \\n    support, that is [0,\\u221e). Any other value indicates a support over the entire real line, that is (-\\u221e,\\u221e). \\n    The default for domain-type is 0. \\n  return-code \\n    specifies the return status. If options-array is of dimension 4 or more, then the fourth element contains \\n    the return status. Return-code can have one of the following values: \\n      &lt;=0 \\n        indicates success. If negative, then the absolute value is the number of times the CDF function was \\n        evaluated in order to compute the quantile. A larger absolute value indicates longer convergence time. \\n      1 \\n        indicates that the quantile could not be computed.\",\"Parameter3\":\"order\",\"Description3\":\"Specifies the order of the desired limited moment. This value must be in the range [1,10].\",\"Parameter4\":\"limit\",\"Description4\":\"Specifies the upper limit that is used to compute the desired limited moment. This value must be greater than 0.\",\"Parameter5\":\"parameter-1, parameter-2, ..., parameter-n\",\"Description5\":\"Specifies the parameters of the distribution at which the limited moment is desired. You must specify exactly the same number of parameters as required by the specified CDF function, and they should appear exactly in the same order as required by the specified CDF function.\"},{\"Name\":\"READ_ARRAY\",\"Definition\":\"Reads data from a SAS data set into a PROC FCMP array variable.\",\"Parameter1\":\"data_set_name\",\"Description1\":\"Specifies the name of the data set from which the array data will be read. data_set_name must be a character literal or variable that contains the member name (libname.memname) of the data set to be read from.\",\"Parameter2\":\"array_variable &lt;\",\"Description2\":\"specifies the PROC FCMP array variable into which the data is read. array_variable must be a local temporary array variable because the function might need to grow or shrink its size to accommodate the size of the data set.\",\"Parameter3\":\"'col_name_1', ..., 'col_name_n'&gt;\",\"Description3\":\"Specifies optional names for the specific columns of the data set that will be read. \\n\\nIf specified, col_name must be a literal string enclosed in quotation marks. col_name cannot be a PROC FCMP variable. If column names are not specified, PROC FCMP reads all of the columns in the data set.\"},{\"Name\":\"RUN_MACRO(, ); \",\"Definition\":\"Executes a predefined SAS macro.\",\"Parameter1\":\"'macro_name' &lt;\",\"Description1\":\"specifies the name of the macro to be run. \\n    \\nRequirement:macro_name must be a string enclosed in quotation marks or a character variable that contains the macro to be executed.\",\"Parameter2\":\"variable_1, ..., variable_n&gt;\",\"Description2\":\"Specifies optional PROC FCMP variables, which are set by macro variables of the same name. These arguments must be PROC FCMP double or character variables. \\n\\nBefore SAS executes the macro, SAS macro variables are defined with the same name and value as the PROC FCMP variables. After SAS executes the macro, the macro variable values are copied back to the corresponding PROC FCMP variables.\"},{\"Name\":\"RUN_SASFILE\",\"Definition\":\"Executes SAS code in a fileref that you specify.\",\"Parameter1\":\"'fileref_name' &lt;\",\"Description1\":\"Specifies the name of the SAS fileref that points to the SAS code. \\n    \\nRequirement:fileref_name must be a string enclosed in quotation marks or a character variable that contains the name of the SAS fileref.\",\"Parameter2\":\"variable-1, ..., variable-n&gt;\",\"Description2\":\"Specifies optional PROC FCMP variables that will be set by macro variables of the same name. These arguments must be PROC FCMP double or character variables. \\n\\nBefore SAS executes the code that references the SAS file, the SAS macro variables are defined with the same name and value as the PROC FCMP variables. After execution, these macro variable values are copied back to the corresponding PROC FCMP variables.\"},{\"Name\":\"SOLVE\",\"Definition\":\"Computes implicit values of a function.\",\"Parameter1\":\"'function-name'\",\"Description1\":\"Specifies the name of the function. Enclose function-name in quotation marks.\",\"Parameter2\":\"options-array\",\"Description2\":\"Specifies an array of options to use with the SOLVE function. Options-array is used to control and \\nmonitor the root-finding process. Options-array can be a missing value (.), or it can have up to five \\nof the following elements in the following order:   \\n\\n  initial-value \\n    specifies the starting value for the implied value. The default for the first call is 0.001. If \\n    the same line of code is executed again, then options-array uses the previously found implied value. \\n  absolute-criterion \\n    specifies a value for convergence. The absolute value of the difference between the expected value \\n    and the predicted value must be less than the value of absolute-criterion for convergence. \\n    Default:1.0e\\u201312 \\n  relative-criterion \\n    specifies a value for convergence. When the change in the computed implied value is less than the \\n    value of relative-criterion, then convergence is assumed. \\n    Default:1.0e\\u20136 \\n  maximum-iterations \\n    specifies the maximum number of iterations to use to find the solution. \\n    Default:100 \\n  solve-status \\n    can be one of the following values: \\n      0 successful. \\n      1 could not decrease the error. \\n      2 could not compute a change vector. \\n      3 maximum number of iterations exceeded. \\n      4 initial objective function is missing.\",\"Parameter3\":\"expected-value\",\"Description3\":\"Specifies the expected value of the function of interest.\",\"Parameter4\":\"argument-1, ..., argument-n\",\"Description4\":\"Specifies the arguments to pass to the function that is being minimized.\"},{\"Name\":\"WRITE_ARRAY\",\"Definition\":\"Writes data from a PROC FCMP array variable to a data set that can then be used by SAS programs, macros, and procedures.\",\"Parameter1\":\"data_set_name\",\"Description1\":\"Specifies the name of the data set to which the array data will be written. data_set_name must be a character literal or variable that contains the member name (libname.memname) of the data set to be created.\",\"Parameter2\":\"array_variable &lt;\",\"Description2\":\"Specifies the PROC FCMP array or matrix variable whose contents will be written to data_set_name.\",\"Parameter3\":\"'col_name_1', ..., 'col_name_n'&gt;\",\"Description3\":\"Specifies optional names for the columns of the data set that will be created. \\n\\nIf specified, col_name must be a literal string enclosed in quotation marks. col_name cannot be a PROC FCMP variable. If column names are not specified, the column name will be the array name with a numeric suffix.\"},{\"Name\":\"INSERT_CATALOG\",\"Definition\":\"Inserts a SAS catalog into a package.\",\"Parameter1\":\"packageID\",\"Description1\":\"Identifies the package into which the catalog will be inserted. \\n    \\nType: Numeric.\",\"Parameter2\":\"libname\",\"Description2\":\"Names the library that contains the catalog. \\n    \\nType: Numeric.\",\"Parameter3\":\"memname\",\"Description3\":\"Specifies the name of the catalog. \\n    \\nType: Character\",\"Parameter4\":\"desc\",\"Description4\":\"Describes the catalog. \\n    \\nType: Character\",\"Parameter5\":\"nameValue\",\"Description5\":\"Identifies a list of one or more space-separated name/value pairs, each in one of the following forms:\\n\\n      name\\n      name=value\\n      name=\\\"value\\\"\\n      name=\\\"single value with spaces\\\"\\n      name=(value)\\n      name=(\\\"value\\\")\\n      name=(value1, \\\"value 2\\\", ... valueN)\\n\\nName/value pairs are site-specific; they are used for the purpose of filtering.\\n    \",\"Parameter6\":\"rc\",\"Description6\":\"Receives a return code. \\n    \\nType: Numeric.\"},{\"Name\":\"INSERT_DATASET\",\"Definition\":\"Inserts a SAS data set into a package.\",\"Parameter1\":\"packageId\",\"Description1\":\"Identifies the package into which the data set will be inserted. \\n    \\nType: Numeric.\",\"Parameter2\":\"libname\",\"Description2\":\"Names the library that contains the data set. \\n    \\nType: Character.\",\"Parameter3\":\"memname\",\"Description3\":\"Specifies the name of the data set. \\n    \\nType: Character.\",\"Parameter4\":\"desc\",\"Description4\":\"Describes the data set. \\n    \\nType: Character.\",\"Parameter5\":\"nameValue\",\"Description5\":\"Identifies a list of one or more space-separated name/value pairs, each in one of the following forms:\\n\\n      name\\n      name=value\\n      name=\\\"value\\\"\\n      name=\\\"single value with spaces\\\"\\n      name=(value)\\n      name=(\\\"value\\\")\\n      name=(value1, \\\"value 2\\\", ... valueN)\\n\\nName/value pairs are site-specific; they are used for the purpose of filtering.\\n    \",\"Parameter6\":\"rc&lt;\",\"Description6\":\"Receives a return code. \\n    \\nType: Numeric.\",\"Parameter7\":\"properties\",\"Description7\":\"Identifies a comma-separated list of optional property names. Valid property names are as follows:\\n\\n      ALLOW_READ_PROTECTED_MEMBER\\n      DATASET_OPTIONS\\n      TRANSFORMATION_TYPE\\n      CSV_SEPARATOR\\n      CSV_FLAG\\n\\nType: Character\\n    \",\"Parameter8\":\"propValue1, ...propValueN&gt;\",\"Description8\":\"Specifies one value for each specified property. The order of the values matches the order of the property names in the properties parameter. Valid property values are defined as follows:\\n\\n      ALLOW_READ_PROTECTED_MEMBER\\n      specifies a value of \\\"YES\\\". It is important to note that the password and encryption \\n      attributes are not preserved in the intermediate published format (whether on a queue \\n      or in an archive). Because of this exposure, take care when publishing data sets that \\n      are password protected, encrypted or both. \\n\\n      DATASET_OPTIONS\\n      specifies data set options. \\n\\n      TRANSFORMATION_TYPE\\n      indicates that the data set should be transformed to the specified type when published. \\n      At this time, the only supported value for this property is CSV, for Comma-Separated-Value.\\n\\n      CSV_SEPARATOR\\n      indicates the separator to use when creating the CSV file. The default separator \\n      is a comma (,).\\n\\n      CSV_FLAG\\n      indicates a CSV override flag. Supported values include NO_VARIABLES, NO_LABELS, and \\n      EXTENDED. By default, when writing numeric variable values into the CSV file, BEST is \\n      used to format numerics that have no format associated with them. To override this \\n      default, specify the property value EXTENDED on the CSV_FLAG property. This extends \\n      the number of digits used as the precision level. By default, if the data set is \\n      transformed into a CSV file, then the file's first line contains all of the specified \\n      variables. The second line contains all of the specified labels. To override this \\n      default behavior, specify flags with values \\\"NO_VARIABLES\\\" or \\\"NO_LABELS\\\". To \\n      specify both values, a CSV_FLAG property must be specified for each.\\n\\nType: Character or Numeric\\n    \"},{\"Name\":\"INSERT_FDB\",\"Definition\":[\"Inserts a financial database (FDB) into a package.\",\"Inserts a SAS data set into a package.\"],\"Parameter1\":\"packageID\",\"Description1\":\"Identifies the package into which the FDB will be inserted. \\n    \\nType: Numeric.\",\"Parameter2\":\"libname\",\"Description2\":\"Names the library that contains the FDB. \\n    \\nType: Character.\",\"Parameter3\":\"memname\",\"Description3\":\"Specifies the name of the FDB. \\n    \\nType: Character.\",\"Parameter4\":\"desc\",\"Description4\":\"Describes the FDB. \\n    \\nType: Character.\",\"Parameter5\":\"nameValue\",\"Description5\":\"Identifies a list of one or more space-separated name/value pairs, each in one of the following forms:\\n\\n      name\\n      name=value\\n      name=\\\"value\\\"\\n      name=\\\"single value with spaces\\\"\\n      name=(value)\\n      name=(\\\"value\\\")\\n      name=(value1, \\\"value 2\\\", ... valueN)\\n\\nName/value pairs are site-specific; they are used for the purpose of filtering.\\n    \",\"Parameter6\":\"rc&lt;\",\"Description6\":\"Receives a return code. Type: Numeric.\"},{\"Name\":\"INSERT_FILE\",\"Definition\":\"Inserts a file into a package.\",\"Parameter1\":\"packageID\",\"Description1\":\"Identifies the package into which the file will be inserted. \\n    \\nType: Numeric.\",\"Parameter2\":\"filename\",\"Description2\":\"Names the file, using the following syntax:\\n\\n      FILENAME: external_filename\\n      FILEREF: sas_fileref\\n\\nType: Character\\n    \",\"Parameter3\":\"filetype\",\"Description3\":\"Specifies the file type, which must be TEXT or BINARY. \\n    \\nType: Character.\\n    \",\"Parameter4\":\"mimeType\",\"Description4\":\"Specifies the MIME type, the value of which is determined by the user. Subscribers can filter packages based on MIME type.\\n\\n      Suggested MIME types include the following:\\n\\n      application/msword\\n      application/octet-stream\\n      application/pdf\\n      application/postscript\\n      application/zip\\n      audio/basic\\n      image/jpeg\\n      image/gif\\n      image/tiff\\n      model/vrml\\n      text/html\\n      text/plain\\n      text/richtext\\n      video/mpeg\\n      video/quicktime\\n    \",\"Parameter5\":[\"desc\",\"nameValue\"],\"Description5\":\"Describes the file. Type: Character.\",\"Parameter6\":\"nameValue\",\"Description6\":\"Identifies a list of one or more space-separated name/value pairs, each in one of the following forms:\\n\\n      name\\n      name=value\\n      name=\\\"value\\\"\\n      name=\\\"single value with spaces\\\"\\n      name=(value)\\n      name=(\\\"value\\\")\\n      name=(value1, \\\"value 2\\\", ... valueN)\\n\\n      Name/value pairs are site-specific; they are used for the purpose of filtering.\\n    \",\"Parameter7\":\"rc&lt;\",\"Description7\":\"Receives a return code. \\n    \\nType: Numeric.\",\"Parameter8\":\"properties\",\"Description8\":\"Identifies a comma-separated list of optional property names. Valid property names are as follows:\\n\\n    PATH\\n\\nType: Character \\n    \",\"Parameter9\":\"propValue1, ...propValueN&gt;\",\"Description9\":\"Specifies one value for each specified property name. The order of the property values must match the order of the property names in the properties parameter. Valid property values are defined as follows:\\n\\n      PATH\\n      indicates the relative path information for this file. The relative path is included \\n      as the name of the file when defined in the ZIP file. The specified path should not \\n      contain a drive or device letter, or a leading slash. All slashes should be forward \\n      slashes '/' as opposed to backslashes '\\\\'. This property is recognized only by the \\n      archive transport. It is ignored by all other transports.\\n\\nType: Character\\n    \"},{\"Name\":\"INSERT_HTML\",\"Definition\":\"Inserts HTML files into a package.\",\"Parameter1\":\"packageId\",\"Description1\":\"Identifies the package into which the HTML will be inserted. \\n    \\nType: Numeric.\",\"Parameter2\":\"body\",\"Description2\":\"Names the HTML body file, using the following syntax:\\n\\n    FILEREF: SAS_fileref\\n    FILENAME: external_filename\\n\\nType: Character \\n    \",\"Parameter3\":\"bodyURL\",\"Description3\":\"Specifies the URL to be used for the body file.\\n\\nType: Character \\n    \",\"Parameter4\":\"frame\",\"Description4\":\"Names the HTML frame file, using the following syntax:\\n\\n    FILEREF: SAS_fileref\\n    FILENAME: external_filename\\n\\nType: Character \\n    \",\"Parameter5\":\"frameURL\",\"Description5\":\"Specifies the URL to be used for the frame file. Type: Character\",\"Parameter6\":\"contents\",\"Description6\":\"Names the HTML contents file, using the following syntax:\\n\\n    FILEREF: SAS_fileref\\n    FILENAME: external_filename\\n\\nType: Character \\n    \",\"Parameter7\":\"contentsURL\",\"Description7\":\"Specifies the URL to be used for the contents file. \\n    \\nType: Character.\",\"Parameter8\":\"page\",\"Description8\":\"Names the HTML page file, using the following syntax:\\n\\n    FILEREF: SAS_fileref \\n    FILENAME: external_filename\\n\\nType: Character \\n    \",\"Parameter9\":\"pageURL\",\"Description9\":\"Specifies the URL to be used for the page file. \\n    \\nType: Character.\",\"Parameter10\":\"desc\",\"Description10\":\"Describes the inserted HTML package entry. \\n    \\nType: Character.\",\"Parameter11\":\"nameValue\",\"Description11\":\"Identifies a list of one or more space-separated name/value pairs, each in the form of name=value. Name/value pairs are site-specific; they are used for the purpose of filtering.\\n    \",\"Parameter12\":\"rc&lt;\",\"Description12\":\"Receives a return code. \\n    \\nType: Numeric.\",\"Parameter13\":\"properties\",\"Description13\":\"Identifies a comma-separated list of optional property names. Valid property names are as follows:\\n\\n      ENCODING\\n      COMPANION_FILE\\n      COMPANION_MIMETYPE\\n      COMPANION_URL\\n      GPATH\\n      GPATH_URL\\n      NESTED_NAME\\n\\nType: Character\\n    \",\"Parameter14\":\"propValue1, ...propValueN&gt;\",\"Description14\":\"Specifies one value for each specified property. The order of the values matches the order of the property names in the properties parameter. Valid property values are defined as follows:\\n\\n      ENCODING\\n      indicates the character set of the HTML files, such as ISO-8859-1.\\n\\n      COMPANION_FILE\\n      indicates the name of an additional HTML file that is to be added to this set of \\n      HTML files. Multiple COMPANION_FILE properties and values can be specified. Name \\n      the companion files, using the following syntax: FILEREF: SAS_fileref or\\n      FILENAME: external_filename\\n\\n      COMPANION_MIMETYPE\\n      indicates the MIME type of the companion file that is to be added to the inserted \\n      HTML entry. If specified, then this property must be preceded by the COMPANION_FILE \\n      property.\\n\\n      COMPANION_URL\\n      indicates the URL of an HTML file that is to be added to the inserted HTML entry.\\n      If specified, then this property must be preceded by the COMPANION_FILE property.\\n\\n      GPATH\\n      indicates the name of a single directory that contains the ODS-generated graphical \\n      files for inclusion as companion files to the HTML file set.\\n      \\n      GPATH_URL\\n      indicates the URL of the directory that contains the ODS-generated graphical files. \\n      An example of a URL might be ~ods-output/images. Alternatively, you can specify \\n      \\\"NONE\\\" as the GPATH_URL property value. If the value of \\\"NONE\\\" is specified, then \\n      only the filename is used as the URL.\\n\\n      NESTED_NAME\\n      indicates the name of the nested directory to create for the storage of the set \\n      of HTML files. If you do not specify a value for this property, then a name is \\n      generated automatically.\\n\\nType: Character\\n    \"},{\"Name\":\"INSERT_MDDB\",\"Definition\":\"Inserts a SAS multidimensional database into a package.\",\"Parameter1\":\"packageID\",\"Description1\":\"Identifies the package into which the MDDB will be inserted. \\n    \\nType: Numeric.\",\"Parameter2\":\"libname\",\"Description2\":\"Names the library that contains the MDDB. \\n    \\nType: Character.\",\"Parameter3\":\"memname\",\"Description3\":\"Specifies the name of the MDDB. \\n    \\nType: Character.\",\"Parameter4\":\"desc\",\"Description4\":\"Describes the MDDB. \\n    \\nType: Character.\",\"Parameter5\":\"nameValue\",\"Description5\":\"\\n      Identifies a list of one or more space-separated name/value pairs, each in one of the following forms:\\n\\n      name\\n      name=value\\n      name=\\\"value\\\"\\n      name=\\\"single value with spaces\\\"\\n      name=(value)\\n      name=(\\\"value\\\")\\n      name=(value1, \\\"value 2\\\", ... valueN)\\n\\nName/value pairs are site-specific; they are used for the purpose of filtering.\\n    \",\"Parameter6\":\"rc\",\"Description6\":\"Receives a return code. \\n    \\nType: Numeric.\"},{\"Name\":\"INSERT_PACKAGE\",\"Definition\":\"Inserts a package into another package.\",\"Parameter1\":\"packageId\",\"Description1\":\"Identifies the package. \\n    \\nType: Numeric.\",\"Parameter2\":\"insertPackageId\",\"Description2\":\"Identifies the package that will be nested in the package identified by packageID. \\n    \\nType: Numeric.\",\"Parameter3\":\"rc&lt;\",\"Description3\":\"Receives a return code. \\n    \\nType: Numeric.\",\"Parameter4\":\"properties\",\"Description4\":\"Identifies a comma-separated list of optional property names. At present, only one property is supported:\\n\\n    NESTED_NAME\\n\\n    Type: Character \\n    \",\"Parameter5\":\"propValue1, ...propValueN&gt;\",\"Description5\":\"Specifies one value for each specified property name. The order of the property values must match the order of the property names in the properties parameter. Valid property values are defined as follows:\\n\\n    NESTED_NAME \\n    indicates the name of the nested directory to create for the storage of the nested package. \\n    If you do not specify a value for this property, then a name is generated automatically. \\n\\n    Note: The NESTED_NAME property is valid only when publishing to the WebDAV-compliant \\n    server transport.  \\nType: Character \\n    \"},{\"Name\":\"INSERT_REF\",\"Definition\":\"Inserts a reference into a package.\",\"Parameter1\":\"packageID\",\"Description1\":\"Identifies the package into which the reference will be inserted. \\n    \\nType: Numeric.\",\"Parameter2\":\"referenceType\",\"Description2\":\"Specifies the type of the reference. Specify HTML or URL. \\n    \\nType: Character.\",\"Parameter3\":\"reference\",\"Description3\":\"Specifies the reference that is to be inserted. \\n    \\nType: Character.\",\"Parameter4\":\"desc\",\"Description4\":\"Describes the reference. \\n    \\nType: Character.\",\"Parameter5\":\"nameValue\",\"Description5\":\"Identifies a list of one or more space-separated name/value pairs, each in one of the following forms:\\n\\n      name\\n      name=value\\n      name=\\\"value\\\"\\n      name=\\\"single value with spaces\\\"\\n      name=(value)\\n      name=(\\\"value\\\")\\n      name=(value1, \\\"value 2\\\", ... valueN)\\n\\nName/value pairs are site-specific; they are used for the purpose of filtering.\\n    \",\"Parameter6\":\"rc\",\"Description6\":\"Receives a return code. Type: Numeric.\"},{\"Name\":\"INSERT_SQLVIEW\",\"Definition\":\"Inserts a PROC SQL view into a package.\",\"Parameter1\":\"packageId\",\"Description1\":\"Identifies the package into which the PROC SQL view will be inserted. \\n    \\nType: Numeric.\",\"Parameter2\":\"libname\",\"Description2\":\"Names the library that contains the PROC SQL view. \\n    \\nType: Character.\",\"Parameter3\":\"memname\",\"Description3\":\"Specifies the name of the PROC SQL view. \\n    \\nType: Character.\",\"Parameter4\":\"desc\",\"Description4\":\"Describes the PROC SQL view. \\n    \\nType: Character.\",\"Parameter5\":\"nameValue\",\"Description5\":\"\\n      Identifies a list of one or more space-separated name/value pairs, each in one of the following forms:\\n\\n      name\\n      name=value\\n      name=\\\"value\\\"\\n      name=\\\"single value with spaces\\\"\\n      name=(value)\\n      name=(\\\"value\\\")\\n      name=(value1, \\\"value 2\\\", ... valueN)\\n\\nName/value pairs are site-specific; they are used for the purpose of filtering.\\n    \",\"Parameter6\":\"rc\",\"Description6\":\"Receives a return code. \\n    \\nType: Numeric.\"},{\"Name\":\"INSERT_VIEWER\",\"Definition\":\"Inserts a viewer into a package.\",\"Parameter1\":\"packageId\",\"Description1\":\"Identifies the package into which the viewer will be inserted. \\n    \\nType: Numeric.\",\"Parameter2\":\"filename\",\"Description2\":\"Names the viewer, using the following syntax:\\n\\n      FILENAME: external_filename\\n      FILEREF: sas_fileref\\n\\nType: Character\\n    \",\"Parameter3\":\"mimeType\",\"Description3\":\"Specifies the MIME type, the value of which is determined by the user. Subscribers can filter packages based on MIME type.\",\"Parameter4\":\"desc\",\"Description4\":\"Describes the file. \\n    \\nType: Character.\",\"Parameter5\":\"nameValue\",\"Description5\":\"Identifies a list of one or more space-separated name/value pairs, each in one of the following forms:\\n\\n      name\\n      name=value\\n      name=\\\"value\\\"\\n      name=\\\"single value with spaces\\\"\\n      name=(value)\\n      name=(\\\"value\\\")\\n      name=(value1, \\\"value 2\\\", ... valueN)\\n\\n      Name/value pairs are site-specific; they are used for the purpose of filtering.\\n    \",\"Parameter6\":\"rc&lt;\",\"Description6\":\"Receives a return code. \\n    \\nType: Numeric.\",\"Parameter7\":\"properties\",\"Description7\":\"Identifies a comma-separated list of optional property names. Valid property names are as follows:\\n\\n    ENCODING\\n    VIEWER_TYPE\\n\\nType: Character \\n    \",\"Parameter8\":\"propValue1, ...propValueN&gt;\",\"Description8\":\"Specifies one value for each specified property. The order of the values must match the order of the property names in the properties parameter. Valid property values are defined as follows:\\n\\n      ENCODING \\n      indicates the character set of the viewer file, such as ISO-8859-1. \\n\\n      VIEWER_TYPE \\n      indicates the type of the viewer. Valid values are HTML and TEXT. \\n      The default value is HTML.\\n\\nType: Character\\n    \"},{\"Name\":\"PACKAGE_BEGIN\",\"Definition\":\"Initializes a package and returns a unique package identifier.\",\"Parameter1\":\"packageId\",\"Description1\":\"Identifies the new package. \\n    \\nType: Numeric.\",\"Parameter2\":\"desc\",\"Description2\":\"Describes the package. \\n    \\nType: Character.\",\"Parameter3\":\"nameValue\",\"Description3\":\"Identifies a list of one or more space-separated name/value pairs, each in one of the following forms:\\n\\n      name\\n      name=value\\n      name=\\\"value\\\"\\n      name=\\\"single value with spaces\\\"\\n      name=(value)\\n      name=(\\\"value\\\")\\n      name=(value1, \\\"value 2\\\", ... valueN)\\n\\n      Name/value pairs are site-specific; they are used for the purpose of filtering.\\n    \",\"Parameter6\":\"rc&lt;\",\"Description6\":\"Receives a return code. \\n    \\nType: Numeric.\",\"Parameter7\":\"properties\",\"Description7\":\"Identifies a comma-separated list of optional property names. Valid property names are as follows:\\n\\n    ABSTRACT\\n    EXPIRATION_DATETIME\\n    NAMESPACES\\n    \\nType: Character \\n    \",\"Parameter8\":\"propValue1, ...propValueN&gt;\",\"Description8\":\"Specifies one value for each specified property name. The order of the values must match the order of the property names in the properties parameter. Valid property values are defined as follows:\\n\\n      ABSTRACT \\n      provides an abstract (short summary) of the inserted package.\\n\\n      EXPIRATION_DATETIME \\n      numeric SAS datetime value. This value should be specified in GMT format. \\n\\n      NAMESPACES \\n      specifies unique names that associate published packages with specific contexts \\n      on a WebDAV-compliant server. The association of a namespace with a package \\n      organizes package data on a server according to meaningful criteria or contexts.\\n\\nType: Character or Numeric\\n    \"},{\"Name\":\"PACKAGE_END\",\"Definition\":\"Frees the resources that are associated with a package.\",\"Parameter1\":\"packageID\",\"Description1\":\"Identifies the package. \\n    \\nType: Numeric.\",\"Parameter2\":\"rc\",\"Description2\":\"Receives a return code. \\n    \\nType: Numeric.\"},{\"Name\":\"PACKAGE_PUBLISH*1\",\"Definition\":\"Publishes a package to an archive.\",\"Parameter1\":\"packageID\",\"Description1\":\"Identifies the package that is to be published. \\n    \\nType: Numeric.\",\"Parameter2\":\"publishType\",\"Description2\":\"Indicates how to publish the package. To publish the package by using the archive transport, specify TO_ARCHIVE. \\n    \\nType: Character.\",\"Parameter3\":\"rc&lt;\",\"Description3\":\"Receives a return code. \\n    \\nType: Numeric\",\"Parameter4\":\"properties\",\"Description4\":\"Identifies a comma-separated list of optional property names. Specify any of the following property names, or specify '' to indicate that no properties are to be applied: \\n\\n    ARCHIVE_NAME\\n    ARCHIVE_PATH\\n    FTP_PASSWORD\\n    FTP_USER\\n    HTTP_PASSWORD\\n    HTTP_PROXY_URL\\n    HTTP_USER\\n\\nType: Character \\n    \",\"Parameter5\":\"propValue1, ...propValueN&gt;\",\"Description5\":\"Specifies a value for each specified property name. The order of the property values must match the order of the property names in the properties parameter.\\n\\nType: Character \\n    \"},{\"Name\":\"PACKAGE_PUBLISH*2\",\"Definition\":\"Publishes a package using the e-mail transport.\",\"Parameter1\":\"packageID\",\"Description1\":\"Identifies the package that is to be published. \\n    \\nType: Numeric.\",\"Parameter2\":\"publishType\",\"Description2\":\"Indicates how to publish the package. To publish the package by using the e-mail transport, specify TO_EMAIL. Type: Character.\",\"Parameter3\":\"rc&lt;\",\"Description3\":\"Receives a return code. \\n    \\nType: Numeric.\",\"Parameter4\":\"properties\",\"Description4\":\"Identifies a comma-separated list of optional property names. Specify any of the following property names, or specify '' to indicate that no properties are to be applied: \\n\\n    ADDRESSLIST_DATASET_LIBNAME, ADDRESSLIST_DATASET_MEMNAME, \\n    ADDRESSLIST_VARIABLE_NAME, APPLIED_TEXT_VIEWER_NAME, \\n    APPLIED_VIEWER_NAME, ARCHIVE_NAME, ARCHIVE_PATH, \\n    COLLECTION_URL, DATASET_OPTIONS, ENCODING, FROM, \\n    FTP_PASSWORD, FTP_USER,     HTTP_PASSWORD, HTTP_PROXY_URL,\\n    HTTP_USER, IF_EXISTS, PARENT_URL, PROCESS_VIEWER, REPLYTO, \\n    SUBJECT, TARGET_VIEW_NAME, TARGET_VIEW_MIMETYPE, \\n    TEXT_VIEWER_NAME, VIEWER_NAME \\n\\nType: Character \\n    \",\"Parameter5\":\"propValue1, ...propValueN&gt;\",\"Description5\":\"Specifies a value for each specified property name. The order of the property values must match the order of the property names in the properties parameter.\\n\\nType: Character or Numeric.\\n    \",\"Parameter6\":\"address1 &lt;, ...addressN&gt;\",\"Description6\":null},{\"Name\":\"PACKAGE_PUBLISH*3\",\"Definition\":\"Publishes a package to one or more message queues.\",\"Parameter1\":\"packageID\",\"Description1\":\"Identifies the package that is to be published. \\n    \\nType: Numeric.\",\"Parameter2\":\"publishType\",\"Description2\":\"Indicates how to publish the package. To publish the package by using the queue transport, specify a publishType of TO_QUEUE. Type: Character.\",\"Parameter3\":\"rc&lt;\",\"Description3\":\"Receives a return code. \\n    \\nType: Numeric.\",\"Parameter4\":\"properties&lt;\",\"Description4\":\"Identifies a comma-separated list of optional property names. Specify any of the following property names, or specify '' to indicate that no properties are to be applied: \\n\\nType: Character \\n    \",\"Parameter5\":\"propValue1, ...propValueN&gt;\",\"Description5\":\"Specifies a value for each specified property name. The order of the property values must match the order of the property names in the properties parameter.\\n    \\n    ARCHIVE_NAME\\n    ARCHIVE_PATH\\n    CORRELATIONID\\n    FTP_PASSWORD\\n    FTP_USER\\n    HTTP_PASSWORD\\n    HTTP_PROXY_URL\\n    HTTP_USER\\n    \\nType: Character or Numeric.\\n    \",\"Parameter6\":\"queue1 &lt;, ...queueN&gt;\",\"Description6\":\"Character string that specifies the queue(s) that will be used to publish the package. When publishing to MSMQ queues, use the following syntax: \\n\\n    MSMQ://queueHostMachineName\\\\queueName\\n    \\n    When publishing to MQSeries queues, use the following syntax: \\n        MQSERIES://queueManager:queueName\\n    or \\n        MQSERIES-C://queueManager:queueName\\n\\nType: Character \\n  \"},{\"Name\":\"PACKAGE_PUBLISH*4\",\"Definition\":\"Publishes a package to subscribers who are associated with specified channel.\",\"Parameter1\":\"packageID\",\"Description1\":\"Identifies the package that is to be published. \\n    \\nType: Numeric.\",\"Parameter2\":\"publishType\",\"Description2\":\"Indicates how to publish the package. To publish a package to the subscribers of a channel, specify a publishType value of TO_SUBSCRIBERS. Type: Character.\",\"Parameter3\":\"rc&lt;\",\"Description3\":\"Receives a return code. \\n    \\nType: Numeric.\",\"Parameter4\":\"properties&lt;\",\"Description4\":\"Identifies a comma-separated list of optional property names. Specify any of the following property names, or specify '' to indicate that no properties are to be applied: \\n\\n    APPLIED_TEXT_VIEWER_NAME, APPLIED_VIEWER_NAME, ARCHIVE_NAME, \\n    ARCHIVE_PATH, CHANNEL_STORE, COLLECTION_URL, CORRELATIONID, \\n    ENCODING, FOLDER_PATH, FROM, FTP_PASSWORD, FTP_USER, \\n    GENERATED_NAME, HTTP_PASSWORD, HTTP_PROXY_URL, HTTP_USER, \\n    IF_EXISTS, METAPASS, METAUSER, PARENT_URL, PROCESS_VIEWER,\\n    REPLYTO, SUBJECT, TARGET_VIEW_NAME, TARGET_VIEW_MIMETYPE, \\n    TEXT_VIEWER_NAME, VIEWER_NAME\\n\\nType: Character \\n    \",\"Parameter5\":\"propValue1, ...propValueN&gt;\",\"Description5\":\"Specifies a value for each specified property name. The order of the property values must match the order of the property names in the properties parameter.\\n\\nType: Character or Numeric.\\n    \",\"Parameter6\":\"channel\",\"Description6\":\"Specifies the name of the channel as it is defined in the SAS Metadata Repository. The channel contains a list of subscribers to whom the package will be published. \\n\\nType: Character \\n  \"},{\"Name\":\"PACKAGE_PUBLISH*5\",\"Definition\":\"Publishes a package to a WebDAV-compliant server.\",\"Parameter1\":\"packageID\",\"Description1\":\"Identifies the package that is to be published. \\n    \\nType: Numeric.\",\"Parameter2\":\"publishType\",\"Description2\":\"Indicates how to publish the package. To publish the package using the WebDAV transport, specify a publishType of TO_WEBDAV. Type: Character.\",\"Parameter3\":\"rc&lt;\",\"Description3\":\"Receives a return code. \\n    \\nType: Numeric.\",\"Parameter4\":\"properties&lt;\",\"Description4\":\"Identifies a comma-separated list of optional property names. Specify any of the following property names, or specify '' to indicate that no properties are to be applied:\\n\\n      ARCHIVE_NAME\\n      ARCHIVE_PATH\\n      COLLECTION_URL\\n      HTTP_PASSWORD\\n      HTTP_PROXY_URL\\n      HTTP_USER\\n      IF_EXISTS\\n      PARENT_URL\\n      TARGET_VIEW_MIMETYPE\\n      TARGET_VIEW_NAME\\n      TEXT_VIEWER_NAME\\n      VIEWER_NAME\\n      \\nType: Character\\n    \",\"Parameter5\":\"propValue1, ...propValueN&gt;\",\"Description5\":\"Specifies a value for each specified property name. The order of the property values must match the order of the property names in the properties parameter.\\n\\nType: Character or Numeric.\\n    \"},{\"Name\":\"COMPANION_NEXT\",\"Definition\":\"Retrieves the next companion HTML file in the ODS HTML set.\",\"Parameter1\":\"entryIdx\",\"Description1\":\"Identifies the companion HTML file entry.\",\"Parameter2\":\"path\",\"Description2\":\"Specifies the full path of the location that will receive the retrieved file.\\n\\nType: Character \\n\",\"Parameter3\":\"filename\",\"Description3\":\"Returns the name of the new file. \\n    \\nType: Character.\",\"Parameter4\":\"url\",\"Description4\":\"Returns the URL of the companion file. \\n    \\nType: Character.\",\"Parameter5\":\"rc&lt;\",\"Description5\":\"Receives a return code. \\n    \\nType: Numeric.\",\"Parameter6\":\"properties\",\"Description6\":\"Identifies a comma-separated list of optional property names. Valid property names are as follows:\\n\\n    ENCODING\\n    MIMETYPE\\n\\nType: Character \\n\",\"Parameter7\":\"propValue1, ...propValueN&gt;\",\"Description7\":\"Specifies one value for each specified property name. The order of the property values must match the order of the property names in the properties parameter. Valid property values are defined as follows: \\n\\n    ENCODING \\n    input character string that specifies the target encoding for the companion \\n    file. The companion file is translated into the specified encoding. An example \\n    of a target encoding value is ISO-8859-1.\\n\\n    MIMETYPE \\n    character output parameter that identifies the MIME type of the companion \\n    file. The MIME type is returned in the MIMETYPE variable. The publisher of \\n    the companion file can set the user-specified MIME type after the companion \\n    file is published. If the publisher does not specify the MIME type, then the \\n    returned value is blank.\\n\\nType: Character \\n\"},{\"Name\":\"ENTRY_FIRST\",\"Definition\":\"Returns header information for the first entry in a package.\",\"Parameter1\":\"packageId\",\"Description1\":\"identifies the package. \\n    \\nType: Numeric.\",\"Parameter2\":\"entryId\",\"Description2\":\"Returns the identifier of the entry. \\n    \\nType: Numeric\",\"Parameter3\":\"entryType\",\"Description3\":\"Returns the type of the entry. Available types include the following:\\n\\n    BINARY\\n    CATALOG\\n    DATASET\\n    FDB\\n    HTML\\n    MDDB\\n    NESTED_PACKAGE\\n    REFERENCE\\n    SQLVIEW\\n    TEXT\\n    VIEWER\\n\\nType: Character \\n\",\"Parameter4\":\"userSpecString\",\"Description4\":\"Returns a string from the specified entry. \\n    \\nType: Character.\",\"Parameter5\":\"desc\",\"Description5\":\"Returns the entry description from the specified entry. \\n    \\nType: Character.\",\"Parameter6\":\"nameValue\",\"Description6\":\"Returns the name/value pairs assigned to the specified entry. Name/value pairs are site-specific; they are used for the purpose of filtering. \\n\\nType: Character \\n    \",\"Parameter7\":\"rc&lt;\",\"Description7\":\"Receives a return code. \\n    \\nType: Numeric.\",\"Parameter8\":\"properties\",\"Description8\":\"Identifies a comma-separated list of optional property names. Valid property names are as follows:\\n\\n    FILENAME\\n\\nType: Character \\n    \",\"Parameter9\":\"propValue1, ...propValueN&gt;\",\"Description9\":\"Returns one value for each specified property name. Valid property names are supported as follows: \\n\\n    FILENAME \\n    output character string variable that returns the name of the file \\n    (as it exists in the package).\\n\\nType: Character \\n  \"},{\"Name\":\"ENTRY_NEXT\",\"Definition\":\"Returns header information for the next entry in a package.\",\"Parameter1\":\"packageId\",\"Description1\":\"identifies the package. \\n    \\nType: Numeric.\",\"Parameter2\":\"entryId\",\"Description2\":\"Returns the identifier of the entry. \\n    \\nType: Numeric\",\"Parameter3\":\"entryType\",\"Description3\":\"Returns the type of the entry. Available types include the following:\\n\\n    BINARY\\n    CATALOG\\n    DATASET\\n    FDB\\n    HTML\\n    MDDB\\n    NESTED_PACKAGE\\n    REFERENCE\\n    SQLVIEW\\n    TEXT\\n    VIEWER\\n\\nType: Character \\n    \",\"Parameter4\":\"userSpecString\",\"Description4\":\"Returns a string from the specified entry. \\n    \\nType: Character.\",\"Parameter5\":\"desc\",\"Description5\":\"Returns the entry description from the specified entry. \\n    \\nType: Character.\",\"Parameter6\":\"nameValue\",\"Description6\":\"Returns the name/value pairs assigned to the specified entry. Name/value pairs are site-specific; they are used for the purpose of filtering. \\n\\nType: Character \\n\",\"Parameter7\":\"rc&lt;\",\"Description7\":\"Receives a return code. Type: Numeric.\",\"Parameter8\":\"properties\",\"Description8\":\"Identifies a comma-separated list of optional property names. Valid property names are as follows:\\n\\n    FILENAME\\n\\nType: Character \\n\",\"Parameter9\":\"propValue1, ...propValueN&gt;\",\"Description9\":\"Returns one value for each specified property name. Valid property names are supported as follows: \\n\\n    FILENAME \\n    output character string variable that returns the name of the file \\n    (as it exists in the package).\\n\\nType: Character \\n  \"},{\"Name\":\"PACKAGE_DESTROY\",\"Definition\":\"Deletes a package.\",\"Parameter1\":\"packageID\",\"Description1\":\"Identifies the package to be deleted. \\n    \\nType: Numeric.\",\"Parameter2\":\"rc\",\"Description2\":\"Receives a return code. \\n    \\nType: Numeric.\"},{\"Name\":\"PACKAGE_FIRST\",\"Definition\":\"Returns the header information for the first package in the package list.\",\"Parameter1\":\"pkgListId\",\"Description1\":\"Identifies the list of retrieved packages. \\n    \\nType: Numeric.\",\"Parameter2\":\"packageId\",\"Description2\":\"Identifies the retrieved package. \\n    \\nType: Numeric.\",\"Parameter3\":\"numEntries\",\"Description3\":\"Returns the number of entries in the package. \\n    \\nType: Numeric.\",\"Parameter4\":\"desc\",\"Description4\":\"Returns a description of the package. \\n    \\nType: Character.\",\"Parameter5\":\"dateTime\",\"Description5\":\"Returns the date and time that the package was published, in GMT format.\\n\\nType: Numeric\\n    \",\"Parameter6\":\"nameValue\",\"Description6\":\"Returns the name/value pairs assigned to the package. Name/value pairs are site-specific; they are used for the purpose of filtering. \\n\\nType: Character \\n    \",\"Parameter7\":\"channel\",\"Description7\":\"Returns the name of a channel to which the package was published.\\n\\nType: Character \\n    \",\"Parameter8\":\"rc&lt;\",\"Description8\":\"Receives a return code.\\n\\nType: Numeric \\n    \",\"Parameter9\":\"properties\",\"Description9\":\"Identifies a comma-separated list of optional property names to be returned from the package. Valid property names are as follows:\\n\\n    ABSTRACT\\n    EXPIRATION_DATETIME\\n\\nType: Character \\n    \",\"Parameter10\":\"propValue1, ...propValueN&gt;\",\"Description10\":\"Returns one value for each specified property. The order of the values matches the order of the property names in the properties parameter. Valid property values are defined as follows: \\n\\n    ABSTRACT \\n    character string variable, if specified, is returned to the ABSTRACT \\n    variable.\\n\\n    EXPIRATION_DATETIME \\n    numeric variable, if specified, is returned as the package expiration\\n    date-and-time stamp to the EXPIRATION_DATETIME variable. The date-and-\\n    time stamp is in GMT format.\\n\\nType: Character or Numeric \\n  \"},{\"Name\":\"PACKAGE_NEXT\",\"Definition\":\"Returns the header information for the next package in the package list.\",\"Parameter1\":\"pkgListId\",\"Description1\":\"Identifies the list of retrieved packages. \\n    \\nType: Numeric.\",\"Parameter2\":\"packageId\",\"Description2\":\"Returns the name of the retrieved package. \\n    \\nType: Numeric.\",\"Parameter3\":\"numEntries\",\"Description3\":\"Returns the total number of entries in the package. \\n    \\nType: Numeric.\",\"Parameter4\":\"desc\",\"Description4\":\"Describes the package. \\n    \\nType: Character.\",\"Parameter5\":\"dateTime\",\"Description5\":\"Returns the date and time value that the package was published, in GMT format.\\n\\nType: Numeric\\n    \",\"Parameter6\":\"nameValue\",\"Description6\":\"Returns the name/value pairs assigned to the package. Name/value pairs are site-specific; they are used for the purpose of filtering. \\n\\nType: Character \\n    \",\"Parameter7\":\"channel\",\"Description7\":\"Returns the name of a channel to which the package was published.\\n\\nType: Character \\n    \",\"Parameter8\":\"rc&lt;\",\"Description8\":\"Receives a return code.\\n\\nType: Numeric \\n    \",\"Parameter9\":\"properties\",\"Description9\":\"Identifies a comma-separated list of optional property names to be returned from the package. Valid property names are as follows:\\n\\n    ABSTRACT\\n    EXPIRATION_DATETIME\\n\\nType: Character \\n    \",\"Parameter10\":\"propValue1, ...propValueN&gt;\",\"Description10\":\"Returns one value for each specified property. The order of the values matches the order of the property names in the properties parameter. Valid property values are defined as follows: \\n\\n    ABSTRACT \\n    character string variable, if specified, is returned to the ABSTRACT \\n    variable.\\n\\n    EXPIRATION_DATETIME \\n    numeric variable, if specified, is returned as the package expiration\\n    date-and-time stamp to the EXPIRATION_DATETIME variable. The date-and-\\n    time stamp is in GMT format.\\n\\nType: Character or Numeric \\n  \"},{\"Name\":\"PACKAGE_TERM\",\"Definition\":\"Frees all resources associated with the package list identifier.\",\"Parameter1\":\"pkgListId\",\"Description1\":\"Identifies the list of packages. \\n    \\nType: Numeric.\",\"Parameter2\":\"rc\",\"Description2\":\"Receives a return code. \\n    \\nType: Numeric.\"},{\"Name\":\"RETRIEVE_CATALOG\",\"Definition\":\"Retrieves a catalog from a package.\",\"Parameter1\":\"entryId\",\"Description1\":\"Identifies the catalog entry.\\n\\nType: Numeric \\n    \",\"Parameter2\":\"libname\",\"Description2\":\"Specifies the SAS library that will contain the retrieved catalog.\\n\\nType: Character \\n    \",\"Parameter3\":\"memname\",\"Description3\":\"Names the retrieved catalog.\\n\\nType: Character \\n    \",\"Parameter4\":\"rc\",\"Description4\":\"Receives a return code.\\n\\nType: Numeric \\n    \"},{\"Name\":\"RETRIEVE_DATASET\",\"Definition\":\"This CALL routine retrieves a data set entry from a package.\",\"Parameter1\":\"entryId\",\"Description1\":\"Identifies the data set entry. \\n    \\nType: Numeric.\",\"Parameter2\":\"libname\",\"Description2\":\"Specifies the SAS library that will contain the retrieved data set. \\n    \\nType: Character.\",\"Parameter3\":\"memname\",\"Description3\":\"Names the retrieved data set. \\n    \\nType: Character.\",\"Parameter4\":\"rc&lt;\",\"Description4\":\"Receives a return code. \\n    \\nType: Numeric.\",\"Parameter7\":\"properties\",\"Description7\":\"\\n      Identifies a comma-separated list of optional property names. Valid property names are as follows:\\n\\n      DATASET_OPTIONS\\n      CSV_SEPARATOR\\n      CSV_FLAG\\n\\n      Type: Character\\n    \",\"Parameter8\":\"propValue1, ...propValueN&gt;\",\"Description8\":\"\\n      Specifies one value for each specified property. The order of the values matches the order of the property names in the properties parameter. Valid property values are defined as follows:\\n\\n      DATASET_OPTIONS\\n      character parameter SAS data set options that are to be applied to the\\n      retrieved data set.\\n\\n      CSV_SEPARATOR\\n      character property that applies only when the RETRIEVE_DATASET CALL routine\\n      is called on a CSV file entry. When this occurs, the CSV file is transformed\\n      into a SAS data set. A binary CSV file is identified by a MIME type of\\n      application/x-comma-separated-values. Use the CSV_SEPARATOR property to\\n      indicate the separator to be used when creating the CSV file. The default\\n      separator is a comma.\\n\\n      CSV_FLAG\\n      character property that only applies when calling the RETRIEVE_DATASET \\n      CALL routine for a binary file entry. A binary CSV file is identified \\n      by a MIME type of application/x-comma-separated-values. This property \\n      is a CSV override flag. By default when converting this binary CSV file \\n      into a SAS data set, the first line will be processed as variable names. \\n      The second line will be processed as variable label names.\\n\\nType: Character \\n    \"},{\"Name\":\"RETRIEVE_FDB\",\"Definition\":\"Retrieves a financial database entry from a package.\",\"Parameter1\":\"entryId\",\"Description1\":\"Identifies the FDB entry. \\n    \\nType: Numeric.\",\"Parameter2\":\"libname\",\"Description2\":\"Specifies the SAS library that will contain the retrieved FDB. \\n    \\nType: Character.\",\"Parameter3\":\"memname\",\"Description3\":\"Specifies the member name of the retrieved FDB. \\n    \\nType: Character.\",\"Parameter4\":\"rc\",\"Description4\":\"Receives a return code. \\n    \\nType: Numeric.\"},{\"Name\":\"RETRIEVE_FILE\",\"Definition\":\"Retrieves an external binary or text file from a package.\",\"Parameter1\":\"entryId\",\"Description1\":\"Identifies the file entry. \\n    \\nType: Numeric.\",\"Parameter2\":\"filename\",\"Description2\":\"Specifies the name of the file or fileref, using the following syntax:\\n\\n    FILENAME: external_filename\\n    FILEREF: SAS_fileref\\n\\nType: Character \\n    \",\"Parameter3\":\"rc\",\"Description3\":\"Receives a return code. \\n    \\nType: Numeric.\"},{\"Name\":\"RETRIEVE_HTML\",\"Definition\":\"Retrieves an HTML entry from a package.\",\"Parameter1\":\"entryId\",\"Description1\":\"Identifies the HTML entry. \\n    \\nType: Numeric.\",\"Parameter2\":\"path\",\"Description2\":\"Specifies the full designation of the location that will receive the retrieved files.\\n\\nType: Character \\n    \",\"Parameter3\":\"body\",\"Description3\":\"Returns the name of the HTML body file. \\n\\nType: Character \\n    \",\"Parameter4\":\"bodyURL\",\"Description4\":\"Returns the URL of the HTML body file. \\n\\nType: Character \\n    \",\"Parameter5\":\"frame\",\"Description5\":\"Returns the name of the HTML frame file.\\n\\nType: Character \\n    \",\"Parameter6\":\"frameURL\",\"Description6\":\"returns the URL of the HTML frame file.\\n\\nType: Character \\n    \",\"Parameter7\":\"contents\",\"Description7\":\"Returns the name of the HTML contents file. \\n    \\nType: Character.\",\"Parameter8\":\"contentsURL\",\"Description8\":\"Returns the URL of the HTML contents file. \\n    \\nType: Character.\",\"Parameter9\":\"pages\",\"Description9\":\"Returns the name of the HTML page file.\\n\\nType: Character \\n    \",\"Parameter10\":[\"pagesURL\",\"desc\"],\"Description10\":[\"Returns the URL of the HTML page file. \\n    \\nType: Character.\",\"Describes the inserted HTML package entry. \\n    \\nType: Character.\"],\"Parameter11\":\"rc&lt;\",\"Description11\":\"Receives a return code. \\n    \\nType: Numeric.\",\"Parameter12\":\"properties\",\"Description12\":\"\\n      Identifies a comma-separated list of optional property names. Valid property names are as follows:\\n\\n      ENCODING\\n      BODY_TOTAL\\n      FILE_TOTAL\\n      COMPANION_TOTAL\\n      \\nType: Character\\n    \",\"Parameter13\":\"propValue1, ...propValueN&gt;\",\"Description13\":\"Specifies one value for each specified property. The order of the values matches the order of the property names in the properties parameter. Valid property values are defined as follows:\\n\\n      ENCODING\\n      input character string that indicates the target encoding for the retrieved \\n      HTML file. An example of a target encoding value is ISO-8859-1. Refer to \\n      Publish and Retrieve Encoding Behavior for further information.\\n\\n      BODY_TOTAL\\n      numeric output parameter that returns the total number of HTML body files \\n      published as part of this set.\\n\\n      FILE_TOTAL\\n      numeric output parameter that returns the total number of all HTML files \\n      published as part of this set. This includes all body, page, contents, \\n      frame, and additional HTML files and companion files.\\n\\n      COMPANION_TOTAL\\n      numeric output parameter that returns the total number of extraneous \\n      HTML files that were published as part of this set.\\n\\nType: Character or Numeric\\n\\n    \"},{\"Name\":\"RETRIEVE_MDDB\",\"Definition\":\"Retrieves an MDDB entry from a package. An MDDB is a multidimensional database (not a data set) offered by SAS.\",\"Parameter1\":\"entryId\",\"Description1\":\"Identifies the MDDB entry. \\n    \\nType: Numeric.\",\"Parameter2\":\"libname\",\"Description2\":\"Specifies the SAS library that will contain the retrieved MDDB. \\n    \\nType: Character.\",\"Parameter3\":\"memname\",\"Description3\":\"Specifies the name of the retrieved MDDB. \\n    \\nType: Character.\",\"Parameter4\":\"rc\",\"Description4\":\"Receives a return code. \\n    \\nType: Numeric.\"},{\"Name\":\"RETRIEVE_NESTED\",\"Definition\":\"Retrieves the descriptive header information for a nested package entry \",\"Parameter1\":\"entryId\",\"Description1\":\"Identifies the nested package entry. \\n    \\nType: Numeric.\",\"Parameter2\":\"packageId\",\"Description2\":\"Returns the identifier of the nested package. \\n    \\nType: Numeric.\",\"Parameter3\":\"numEntries\",\"Description3\":\"Returns the number of entries in the nested package. \\n    \\nType: Numeric.\",\"Parameter4\":\"desc\",\"Description4\":\"Returns a description of the nested package entry. \\n    \\nType: Character.\",\"Parameter5\":\"dateTime\",\"Description5\":\"Returns the date and time that the nested package was published, in GMT format.\\n\\nType: Numeric\\n    \",\"Parameter6\":\"nameValue\",\"Description6\":\"Returns the name/value pairs assigned to the package. Name/value pairs are site-specific; they are used for the purpose of filtering. \\n\\nType: Character \\n    \",\"Parameter7\":\"rc\",\"Description7\":\"Receives a return code.\\n\\nType: Numeric \\n    \"},{\"Name\":\"RETRIEVE_PACKAGE\",\"Definition\":\"This CALL routine retrieves descriptive header information for all packages.\",\"Parameter1\":\"pkgListId\",\"Description1\":\"Identifies the list of packages. \\n    \\nType: Numeric.\",\"Parameter2\":\"retrievalType\",\"Description2\":\"Specifies the transport to use when retrieving a package. Valid values include the following:\\n\\n      FROM_QUEUE\\n      FROM_ARCHIVE\\n      FROM_WEBDAV\\n\\nType: Character\\n    \",\"Parameter3\":\"retrievalInfo\",\"Description3\":\"Specifies transport-specific information that determines the package to retrieve. When retrieving from an archive, specify the physical path and name of the archive, excluding the extension. When retrieving from a WebDAV-compliant server, specify the URL that identifies the package to retrieve. When retrieving from MSMQ queues, use the following syntax:\\n\\n      MSMQ://queueHostMachineName\\\\queueName\\n      \\n      When retrieving from MQSeries queues, use the following syntax:\\n        MQSERIES://queueManager:queueName \\n      or\\n        MQSERIES-C://queueManager:queueName \\n        \\nType: Character\\n    \",\"Parameter4\":\"totalPackages\",\"Description4\":\"Provides the total number of packages found.\\n\\nType: Numeric \\n    \",\"Parameter5\":\"rc&lt;\",\"Description5\":\"Receives a return code.\\n\\nType: Numeric \\n    \",\"Parameter6\":\"properties\",\"Description6\":\"Identifies a comma-separated list of optional property names to be returned from the package. Valid property names are as follows:\\n\\n      CORRELATIONID\\n      FTP_PASSWORD\\n      FTP_USER\\n      HTTP_PASSWORD\\n      HTTP_PROXY_URL\\n      HTTP_USER\\n      NAMESPACES\\n      QUEUE_TIMEOUT\\n      \\nType: Character\\n    \",\"Parameter7\":\"propValue1, ...propValueN&gt;\",\"Description7\":\"Returns one value for each specified property. The order of the values matches the order of the property names in the properties parameter. Valid property values are defined as follows:\\n\\n      CORRELATIONID\\n      This character string specifies retrieval of only those packages that have the\\n      specified correlation identifier. (Applies only to the message queue transport.)\\n\\n      FTP_PASSWORD\\n      When retrieving with the archive transport (FROM_ARCHIVE), this character string \\n      indicates the password that is used to connect to the remote host. Specify this \\n      property only when the host does not accept anonymous access. (Applies to the \\n      FROM_ARCHIVE property when the FTP protocol is used.)\\n\\n      FTP_USER\\n      When retrieving with the archive transport, this character string indicates the \\n      name of the user to connect to the remote host. (Applies to the FROM_ARCHIVE \\n      property when the FTP protocol is used.)\\n\\n      HTTP_PASSWORD\\n      When retrieving with the WebDAV transport (FROM_WEBDAV), this character string \\n      indicates the password used to bind to the Web server. Specify this property only \\n      when the Web server does not accept anonymous access. (Applies to the FROM_ARCHIVE \\n      property when the HTTP protocol is used.)\\n\\n      HTTP_PROXY_URL\\n      When retrieving with the WebDAV transport, this character string indicates the \\n      URL of the proxy server. (Applies to the archive transport when the HTTP protocol \\n      is used with archive specifications.)\\n\\n      HTTP_USER\\n      When retrieving with the WebDAV transport, this character string indicates the \\n      name of the user to bind to the Web server. (Applies to the FROM_ARCHIVE property \\n      when the HTTP protocol is used.)\\n\\n      NAMESPACES\\n      When retrieving with the WebDav transport, this character string lists one or \\n      more namespaces that you are interested in, using the syntax shown in the \\n      following example:\\n\\n      a=\\\"http://www.host.com/myNamespace\\\"\\n      A=\\\"http://www.host.com/myNamespace1\\\"\\n      B=\\\"http://www.host.com/myNamespace2\\\"\\n      \\n      QUEUE_TIMEOUT      \\n      This numeric value identifies the number of seconds for the poll timeout. \\n      By default, if this property is not specified, the RETRIEVE_PACKAGE CALL \\n      routine polls and returns immediately with the number of packages found, \\n      if any. To override this default, specify the QUEUE_TIMEOUT property so \\n      that the RETRIEVE_PACKAGE CALL routine will continue to poll for packages \\n      until at least one package is found on the queue or until the timeout \\n      occurs, whichever occurs first.\\n\\nType: Character or Numeric\\n    \"},{\"Name\":\"RETRIEVE_REF\",\"Definition\":\"Retrieves a reference from a package.\",\"Parameter1\":\"entryId\",\"Description1\":\"Identifies the reference entry to be retrieved. \\n    \\nType: Numeric.\",\"Parameter2\":\"referenceType\",\"Description2\":\"Returns the type of the reference, the value of which can be HTML or URL. \\n    \\nType: Character\",\"Parameter3\":\"reference\",\"Description3\":\"Returns the value of the reference. \\n    \\nType: Character\",\"Parameter4\":\"rc\",\"Description4\":\"Receives a return code. \\n    \\nType: Numeric.\"},{\"Name\":\"RETRIEVE_SQLVIEW\",\"Definition\":\"Retrieves a PROC SQL view from a package.\",\"Parameter1\":\"entryId\",\"Description1\":\"identifies the PROC SQL view entry. \\n    \\nType: Numeric\",\"Parameter2\":\"libname\",\"Description2\":\"Specifies the SAS library that will contain the retrieved PROC SQL view. \\n    \\nType: Character\",\"Parameter3\":\"memname\",\"Description3\":\"Specifies the name of the PROC SQL view. \\n    \\nType: Character\",\"Parameter4\":\"rc\",\"Description4\":\"Receives a return code. \\n    \\nType: Numeric\"},{\"Name\":\"RETRIEVE_VIEWER\",\"Definition\":\"Retrieves a viewer entry from a package.\",\"Parameter1\":\"entryId\",\"Description1\":\"Identifies the file entry. \\n    \\nType: Numeric.\",\"Parameter2\":\"filename\",\"Description2\":\"Specifies the name of the file or fileref, using the following syntax:\\n\\n      FILENAME: external_filename\\n      FILEREF: sas_fileref\\n\\nType: Character\\n    \",\"Parameter3\":\"rc&lt;\",\"Description3\":\"Receives a return code. \\n    \\nType: Numeric.\",\"Parameter4\":\"properties\",\"Description4\":\"Identifies a comma-separated list of optional property names. Valid property names are as follows:\\n\\n    ENCODING\\n    \\nType: Character \\n    \",\"Parameter5\":\"propValue1, ...propValueN&gt;\",\"Description5\":\"Specifies one value for each specified property. The order of the values must match the order of the property names in the properties parameter. Valid property values are defined as follows:\\n\\n      ENCODING \\n      input character string that indicates the target encoding for the retrieved \\n      viewer file. An example of a target encoding value is ISO-8859-1.\\n\\nType: Character\\n    \"},{\"Name\":\"SYSMACEXEC\",\"Definition\":\"The %SYSMACEXEC function returns the number 1 if the macro is currently executing. Otherwise, if the macro is not executing, the number 0 is returned.\",\"Parameter1\":\"macro_name\",\"Description1\":\"The name of a macro or a text expression that yields the name of the macro.\"},{\"Name\":\"SYSMACEXIST\",\"Definition\":\"The %SYSMACEXIST function returns the number 1 if a definition for the macro exists in the WORK.SASMACR catalog. If there is not a macro definition, the returned value is 0.\",\"Parameter1\":\"macro_name\",\"Description1\":\"The name of a macro or a text expression that yields the name of the macro.\"},{\"Name\":\"SYSMEXECDEPTH\",\"Definition\":\"Returns the nesting depth of macro execution from the point of the call to %SYSMEXECDEPTH.\",\"Parameter1\":null,\"Description1\":\"No parameters are required.\"},{\"Name\":\"SYSMEXECNAME\",\"Definition\":\"Returns the name of the macro executing at a requested nesting level.\",\"Parameter1\":\"n\",\"Description1\":\"The nesting level at which you are requesting the macro name.\\n   0 open code\\n  &gt;0 nesting level\"},{\"Name\":\"GRDSVC_ENABLE\",\"Definition\":\"Enables or disables one or all SAS sessions on a grid.\",\"Parameter1\":\"identifier&lt;\",\"Description1\":\"Specifies one or all server sessions to be enabled or disabled for grid execution. \\nThe identifier is specified as follows:\\n\\n  server-ID\\n    specifies the name of a SAS/CONNECT server session to be enabled or disabled for grid execution.\\n  _ALL_\\n    specifies that all SAS sessions are enabled or disabled for grid execution.\\n    \",\"Parameter2\":\"option-1; ... option-n&gt;\",\"Description2\":\"Optional Arguments:\\n    \\n  SASAPPSERVER=server-value | SERVER=server-value | RESOURCE=server-value\\n    specifies the name of a SAS Application Server that has been defined in the SAS Metadata Repository.\\n    The SAS Application Server contains the definition for the logical grid server that defines the grid \\n    environment.\\n\\n  WORKLOAD=workload-value\\n    identifies the resource for the job to be executed on the grid. This value specifies an additional\\n    resource requirement for which Platform Suite for SAS selects the appropriate grid nodes.\\n\\n  JOBNAME=job-name-macro-variable\\n    specifies the macro variable that contains the name that is assigned to the job that is executed \\n    on the grid.\\n\\n  JOBOPTS=job-opts-macro-variable\\n    specifies the macro variable that contains the job options. The job option name/value pairs are\\n    assigned to job-opts-macro-variable.\\n\\n  \\\"\\\" | \\\"\\n    disables grid execution for the specified server ID or all server sessions.\\n    \"},{\"Name\":\"GRDSVC_GETADDR\",\"Definition\":\"Reports the IP address of the grid node on which the SAS session was chosen to execute.\",\"Parameter1\":\"identifier\",\"Description1\":\"Identifies the server session that is executing on the grid. The identifier can be \\nspecified as follows: \\n\\n      \\\"\\\"| \\\"\\n        is an empty string that is used to refer to the computer on which the function is executing.\\n\\n      server-ID\\n        specifies the server session that is executing on a grid.\\n    \"},{\"Name\":\"GRDSVC_GETINFO\",\"Definition\":\"Reports information about the grid environment.\",\"Parameter1\":\"identifier\",\"Description1\":\"Specifies the server session or the SAS Application Server whose details you want to have reported\\nto the SAS log. The identifier is specified as follows:\\n\\n    server-ID\\n      reports details about the specified server ID. The details that are returned by the GRDSRV_INFO\\n      function reflect the arguments that are specified in the GRDSVC_ENABLE function.\\n      Requirement:A server-ID cannot exceed eight characters.\\n\\n    _ALL_\\n      reports details about all server IDs to the SAS log. The details that are returned by the\\n      GRDSRV_INFO function reflect the arguments that are specified in the GRDSVC_ENABLE function.\\n\\n    SASAPPSERVER=SAS-application-server | SERVER=SAS-application-server | SERVER=SAS-application-server\\n      reports information about the specified SAS Application Server to the SAS log.\\n\\n    _SHOWID_\\n      lists each server session and its status: enabled for grid execution, enabled for SMP execution, or disabled.\\n    \"},{\"Name\":\"GRDSVC_GETNAME\",\"Definition\":\"Reports the name of the grid node on which the SAS grid server session was chosen to execute.\",\"Parameter1\":\"identifier\",\"Description1\":\"Identifies the server session that is executing on the grid. The identifier can be \\n specified as follows:\\n\\n  \\\"\\\" | \\\"\\n    is an empty string that is used to refer to the computer at which the statement is executed.\\n\\n  server-ID\\n    specifies the server session that is executing on a grid.\\n    You use the same server-ID that you used to sign on to a server session using the RSUBMIT\\n    statement or the SIGNON statement.\\n\\n    If the function is used in a DATA step, enclose server-ID in double or single quotation marks.\"},{\"Name\":\"GRDSVC_NNODES\",\"Definition\":\"Reports the total number of job slots that are available for use on a grid.\",\"Parameter1\":\"argument;option\",\"Description1\":\"argument:     \\n  SASAPPSERVER= | SERVER= | RESOURCE=SAS-application-server \\n    specifies the name of the SAS Application Server that has been defined in the SAS Metadata \\n    Repository. \\n\\noption:\\n  WORKLOAD=workload-value \\n    identifies the resource for the type of job to be executed on the grid. This value specifies \\n    the workload requirements for which Platform Suite for SAS selects the grid nodes that contain \\n    these resources. \\n    \\n    The specified workload value should match one of the workload values that is defined in the \\n    SAS Application Server in the SAS Metadata Repository. \\n    \\n    Requirement:If you specify WORKLOAD=, you must also specify the SASAPPSERVER= option. \\n    Workload values are case sensitive.\\n  \\nExample:\\n%let numofnodes=%sysfunc(grdsvc_nnodes(sasappserver=SASApp; workload=em));\"},{\"Name\":\"KVERIFY\",\"Definition\":\"Returns the position of the first character unique to an expression.\",\"Parameter1\":\"source\",\"Description1\":\"Is text or a text expression that you want to examine for characters that do not exist in excerpt.\",\"Parameter2\":\"excerpt\",\"Description2\":\"Is text or a text expression that defines the set of characters that %KVERIFY uses to examine source.\"},{\"Name\":\"KTRIM\",\"Definition\":\"Trims trailing blanks. If the argument contains a special character or mnemonic operator, \\nlisted below, use %QKTRIM.\",\"Parameter1\":\"text | text expression\",\"Description1\":\"Text string or text exprression\"},{\"Name\":\"QKTRIM\",\"Definition\":\"Trims trailing blanks. If the argument contains a special character or mnemonic operator, \\nlisted below, use %QKTRIM.\",\"Parameter1\":\"text | text expression\",\"Description1\":\"Text string or text exprression\"},{\"Name\":\"QKLOWCAS\",\"Definition\":\"Changes uppercase alphabetic characters to their lowercase equivalents. If the argument \\nmight contain a special character or mnemonic operator, listed below, use %QKLOWCAS.\",\"Parameter1\":\"text | text expression\",\"Description1\":\"Text string or text exprression\"},{\"Name\":\"KLOWCASE\",\"Definition\":\"Changes uppercase alphabetic characters to their lowercase equivalents. If the argument \\nmight contain a special character or mnemonic operator, listed below, use %QKLOWCAS.\",\"Parameter1\":\"text | text expression\",\"Description1\":\"Text string or text exprression\"},{\"Name\":\"COT\",\"Definition\":\"Returns the cotangent.\",\"Parameter1\":\"argument\",\"Description1\":\"Specifies a numeric constant, variable, or expression and is expressed in radians.\\n    \\nRestriction: argument cannot be 0 or a multiple of PI.\\n    \"},{\"Name\":\"CSC\",\"Definition\":\"Returns the cosecant.\",\"Parameter1\":\"argument\",\"Description1\":\"\\n      Specifies a numeric constant, variable, or expression and is expressed in radians.\\n\\n      Restriction: argument cannot be 0 or a multiple of PI.\\n    \"},{\"Name\":\"DOSUBL\",\"Definition\":\"Imports macro variables from the calling environment, and exports macro variables back to the \\ncalling environment.\",\"Parameter1\":\"X\",\"Description1\":\"Specifies a text string.\"},{\"Name\":\"FCOPY\",\"Definition\":\"Copies records from one fileref to another fileref, and returns a value that indicates whether the \\nrecords were successfully copied.\",\"Parameter1\":\"'fileref-1'\",\"Description1\":\"Specifies an existing fileref from which records are to be copied.\",\"Parameter2\":\"'fileref-2'\",\"Description2\":\"Specifies an existing fileref to which records are to be copied.\"},{\"Name\":\"SEC\",\"Definition\":\"Returns the secant.\",\"Parameter1\":\"argument\",\"Description1\":\"Specifies a numeric constant, variable, or expression and is expressed in radians. \\n    \\nRestriction: argument cannot be an odd multiple of PI/2.\\n    \"},{\"Name\":\"TYPEOF\",\"Definition\":\"Returns a value that indicates whether the argument is character or numeric.\",\"Parameter1\":\"column\",\"Description1\":\"Can have one of the following values:\\n    \\nC\\n  indicates that the argument is a character value.\\n\\nN\\n  indicates that the argument is a numeric value.\\n    \"},{\"Name\":\"TZONEID\",\"Definition\":\"Returns the current time zone ID.\"},{\"Name\":\"TZONENAME\",\"Definition\":\"Returns the current standard or daylight savings time, time zone name.\"},{\"Name\":\"TZONEOFF\",\"Definition\":\"Returns the user time zone offset.\"},{\"Name\":\"TZONES2U\",\"Definition\":\"Converts a SAS date time value to a UTC date time value.\",\"Parameter1\":\"datetime\",\"Description1\":\"Specifies a SAS datetime value.\",\"Parameter2\":\"time-zone-name\",\"Description2\":\"Specifies a predefined time zone. Predefined time zone names take into consideration standard and \\ndaylight saving time, and rules for daylight savings time for that time zone. \\n\\nFor a list of time zone names, see Appendix 2, \\u201cTime Zone IDs and Time Zone Names,\\u201d in \\nSAS National Language Support (NLS): Reference Guide\"},{\"Name\":\"TZONEU2S\",\"Definition\":\"Converts a UTC date time value to a SAS date time value.\",\"Parameter1\":\"datetime\",\"Description1\":\"Specifies a UTC date time value.\",\"Parameter2\":\"&lt;time-zone-ID&gt;\",\"Description2\":\"Specifies a region/area value that is defined by SAS. When you specify a zone ID, the time zone\\nthat SAS uses is determined by time zone name and daylight savings time rules. \\n\\nNote: Time zone IDs are compatible with Java time zone names. \\n\\nFor a list of zone IDs, see Appendix 2, \\u201cTime Zone IDs and Time Zone Names,\\u201d in \\nSAS National Language Support (NLS): Reference Guide\"},{\"Name\":\"CLIBEXIST\",\"Definition\":\"Returns 0 when the specified caslib name is not found and 1 when the caslib is found.\",\"Parameter1\":\"session name\",\"Description1\":\"A valid session name.\",\"Parameter2\":\"caslib name\",\"Description2\":\"A valid caslib name.\"},{\"Name\":\"GETCASURL\",\"Definition\":\"Returns the value for a URL for connecting to the CAS Server Monitor.\",\"Parameter1\":\"&lt;session&gt;\",\"Description1\":\"If 0 parameters are specified, then the SAS SESSREF= option value is used.\"},{\"Name\":\"GETLCASLIB\",\"Definition\":\"Returns the caslib that was bound to a CAS LIBNAME engine libref in the CASLIB= option when it was assigned.\",\"Parameter1\":\"libref\",\"Description1\":\"Specifies the caslib name that is associated with the library reference.\"},{\"Name\":\"GETLSESSREF\",\"Definition\":\"Returns the session reference that is associated with a CAS LIBNAME engine libref.\",\"Parameter1\":\"libref\",\"Description1\":\"Specifies the session reference name.\"},{\"Name\":\"GETLTAG\",\"Definition\":\"Returns the tag that was associated with a CAS LIBNAME engine libref in the TAG= option when it is assigned.\",\"Parameter1\":\"libref\",\"Description1\":\"specifies the tag that is associated with the library reference.\"},{\"Name\":\"SESSFOUND\",\"Definition\":\"\\n      The SAS function SESSFOUND returns 0 when not found and 1 when the session is found. This function\\n      only has access to sessions connected using SAS Client interfaces. To return a full set of sessions\\n      known to the CAS server use Proc CAS and the \\\"listsessions\\\" action or the CAS statement.\\n\\n      CAS mySess LISTSESSIONS ;\\n    \",\"Parameter1\":\"session-name\",\"Description1\":\"Name of the CAS session.\"},{\"Name\":\"GETSESSOPT\",\"Definition\":\"The SAS function GETSESSOPT returns the value for a Cloud Analytic Services (CAS) session option.\",\"Parameter1\":\"session-name\",\"Description1\":\"Name of the CAS session.\",\"Parameter2\":\"session-option-name\",\"Description2\":\"\\n      A CAS session option name. You can list the session option names with this code:\\n      \\n      CAS mysess LISTSESSOPTS;\\n    \"},{\"Name\":\"ISDOUBLE\",\"Definition\":\"Returns true if the type of value (parameter) is double; otherwise, it returns false.\\n \\n Boolean  isDouble (value);\",\"Parameter1\":\"value\",\"Description1\":\"A casl value\"},{\"Name\":\"ISINTEGER\",\"Definition\":\"Returns true if the type of value (parameter) is integer; otherwise, it returns false.\\n \\n Boolean  isInteger (value);\",\"Parameter1\":\"value\",\"Description1\":\"A casl value\"},{\"Name\":\"ISDICTIONARY\",\"Definition\":\"Returns true if the type of value (parameter) is dictionary; otherwise, it returns false.\\n \\n Boolean  isDictionary (value);\",\"Parameter1\":\"value\",\"Description1\":\"A casl value\"},{\"Name\":\"ISARRAY\",\"Definition\":\"Returns true if the type of value (parameter) is array; otherwise, it returns false.\\n \\n Boolean  isArray (value);\",\"Parameter1\":\"value\",\"Description1\":\"A casl value\"},{\"Name\":\"ISTABLE\",\"Definition\":\"Returns true if the type of value (parameter) is table; otherwise, it returns false.\\n \\n Boolean  isTable (value);\",\"Parameter1\":\"value\",\"Description1\":\"A casl value\"},{\"Name\":\"ISLIST\",\"Definition\":\"Returns true if the type of value (parameter) is list; otherwise, it returns false.\\n \\n Boolean  isList (value);\",\"Parameter1\":\"value\",\"Description1\":\"A casl value\"},{\"Name\":\"ISSTRING\",\"Definition\":\"Returns true if the type of value (parameter) is string; otherwise, it returns false.\\n \\n Boolean  isString (value);\",\"Parameter1\":\"value\",\"Description1\":\"A casl value\"},{\"Name\":\"ISBLOB\",\"Definition\":\"Returns true if the type of value (parameter) is blob; otherwise, it returns false.\\n \\n Boolean  isBlob (value);\",\"Parameter1\":\"value\",\"Description1\":\"A casl value\"},{\"Name\":\"ISTYPE\",\"Definition\":\"This is a generic version where the type is specified as the first argument.\\n    \\nisType(\\\"&lt;type&gt;\\\", value);\",\"Parameter1\":\"\\\"&lt;type&gt;\\\"\",\"Description1\":\"Type name. The function returns true if this name matches that of the type name for the value parameter.\",\"Parameter2\":\"value\",\"Description2\":\"A casl value\"},{\"Name\":\"NEWTABLE\",\"Definition\":\"Creates a new table.\\n      \\n      o 1st argument is a list of column names\\n      o 2nd argument is a list of types for each column\\n      o any further arguments are rows to be added to the table\\n      o A table with the given rows is returned. No rows are required.\\n\\n      Example:\\n      columns = {\\\"make\\\", \\\"MSRP\\\", \\\"HP\\\", \\\"cylinders\\\"};\\n      coltypes = {\\\"varchar\\\", \\\"int64\\\", \\\"integer\\\",\\\"int64\\\"};\\n      row1 = {\\\"dodge\\\", 20000, 250, 4};\\n      row2 = {\\\"ford\\\", 30000, 200, 6};\\n      table = newtable( \\\"cars\\\", columns, coltypes, row1, row2,...};\\n\\nThe name of the table can be specified as the first argument, but is not required. The default name is \\\"nodeList\\\".\\n    \",\"Parameter1\":\"&lt;table-name&gt;\",\"Description1\":\"Name of the new table\",\"Parameter2\":\"list-column-names\",\"Description2\":\"List of column names\",\"Parameter3\":\"list-column-types\",\"Description3\":\"List of types for each column\",\"Parameter4\":\"row-1,...row-n\",\"Description4\":\"Rows (of type list) to be added to the table\"},{\"Name\":\"ADD_TABLE_ATTR\",\"Definition\":\"The add_table_attr adds attributes to a table. The first parameter is the table. Then pairs of values are specified as the key and value. \",\"Parameter1\":\"table\",\"Description1\":\"Name of the table to add attributes to.\",\"Parameter2\":\"\\\"key-1\\\"\",\"Description2\":\"A specified key\",\"Parameter3\":\"\\\"value-1\\\"\",\"Description3\":\"A specified value for key-1\",\"Parameter4\":\"\\\"key-n\\\"\",\"Description4\":\"A specified key-n\",\"Parameter5\":\"\\\"value-n\\\"\",\"Description5\":\"A specified value for key-n\"},{\"Name\":\"DISCARD\",\"Definition\":\"Discard the variables that are listed as arguments.\",\"Parameter1\":\"var-1,...var-n\",\"Description1\":\"Variable(s) to be discarded, separated by commas.\"},{\"Name\":\"TABCOLUMNS\",\"Definition\":\"Gets the columns for a table.\",\"Parameter1\":\"table\",\"Description1\":\"Name of the table.\"},{\"Name\":\"TABTYPES\",\"Definition\":\"Gets the types for a table.\",\"Parameter1\":\"table\",\"Description1\":\"Name of the table.\"},{\"Name\":\"PRINTTABLE\",\"Definition\":\"This prints a table to the specified location. This function allows better control over the output a table as compared to \\\"print table\\\";\",\"Parameter1\":\"table\",\"Description1\":\"Name of the table to print.\",\"Parameter2\":\"\\\"&lt;fileref&gt;\\\"\",\"Description2\":\"fileref can be:\\n o ods -- uses the default print location with ODS output when appropriate.\\n o log -- uses the default print location, but do not use ODS; uses the internal format routines.\\n o &lt;name&gt; -- uses the named fileref location for output.\\n o file:&lt;path&gt; -- uses the given path as the location for output. This file is closed after the table has been written.\",\"Parameter3\":\"column\",\"Description3\":\"Specifies the number of columns to be printed per line.\"},{\"Name\":\"ADDROW\",\"Definition\":\"Adds row to a table.\",\"Parameter1\":\"table\",\"Description1\":\"Name of the table.\",\"Parameter2\":\"row1\",\"Description2\":\"Row (of type list) to add to the table.\"},{\"Name\":\"FINDTABLE\",\"Definition\":\"This function will search the given value for the first table it sees. This is useful when a result from an action has a table result, but you do not know the name, you just know it is there.\",\"Parameter1\":\"result\",\"Description1\":\"Table result from an action.\"},{\"Name\":\"TRACEBACK\",\"Definition\":\"This will return a string consisting of the traceback from the current function.\"},{\"Name\":\"DICTIONARY\",\"Definition\":\"Returns the value of a key from a dictionary. If the value does not exist, then a 0 is returned.\",\"Parameter1\":\"dictionary\",\"Description1\":\"Name of the dictionary.\",\"Parameter2\":\"\\\"key\\\"\",\"Description2\":\"Dictionary key whose value is to be determined.\"},{\"Name\":\"EXISTS\",\"Definition\":\"Determines if a key exists in a dictionary.\",\"Parameter1\":\"dictionary\",\"Description1\":\"Name of the dictionary.\",\"Parameter2\":\"\\\"key\\\"\",\"Description2\":\"Dictionary key\"},{\"Name\":\"READPATH\",\"Definition\":\"This will read the contents of the file given into the variable as a string.\",\"Parameter1\":\"\\\"file-path\\\"\",\"Description1\":\"Path of file to read.\"},{\"Name\":\"SESSION\",\"Definition\":\"Creates a session variable.\",\"Parameter1\":\"\\\"session-name\\\"\",\"Description1\":\"Name of the CAS session.\",\"Parameter2\":\"port\",\"Description2\":\"Port number\",\"Parameter3\":\"\\\"username\\\"\",\"Description3\":\"Username enlosed in quotes.\",\"Parameter4\":\"nodes\",\"Description4\":\"Number of nodes\"},{\"Name\":\"SORT\",\"Definition\":\"Returns a list sorted in ascending order.\",\"Parameter1\":\"list\",\"Description1\":\"List to sort.\"},{\"Name\":\"SORT_REV\",\"Definition\":\"Returns a list sorted in desccending order.\",\"Parameter1\":\"list\",\"Description1\":\"List to sort.\"},{\"Name\":\"GITFN_VERSION\",\"Definition\":\"Validate that libgit2 is available for use and if available report the version that is being used.\"},{\"Name\":\"GITFN_CLONE\",\"Definition\":\"Clone the specified repository into the target directory on SAS server.\",\"Parameter1\":\"uri\",\"Description1\":\"Specifies the URI of the repository, such as \\\"https://github.com/mamonaco1973/itr.git\\\".\",\"Parameter2\":\"dir\",\"Description2\":\"The path of a directory on the SAS server for the repository be cloned into.\",\"Parameter3\":\"user\",\"Description3\":\"User name for a secured repository.\",\"Parameter4\":\"password\",\"Description4\":\"Password for a secured repository.\",\"Parameter5\":\"path-public-ssh\",\"Description5\":\"The path to the public ssh key file.\",\"Parameter6\":\"path-private-ssh\",\"Description6\":\"The path to the private ssh key file.\"},{\"Name\":\"GITFN_STATUS\",\"Definition\":\"Get the number of status objects associated with the local repository.\",\"Parameter1\":\"dir\",\"Description1\":\"The path containing a cloned Git repository on the SAS server.\"},{\"Name\":\"GITFN_STATUS_GET\",\"Definition\":\"Get the attribute of a status of object that was obtained from calling GITFN_STATUS on the local repository.\",\"Parameter1\":\"n\",\"Description1\":\"The Nth status object to retrieve attributes from.\",\"Parameter2\":\"dir\",\"Description2\":\"The path containing a cloned GIT repository on the SAS server.\",\"Parameter3\":\"attr\",\"Description3\":\"The attribute to retrieve. Valid attributes are PATH, STATUS and STAGED.\",\"Parameter4\":\"out-value\",\"Description4\":\"Returns the value of the specified attribute.\"},{\"Name\":\"GITFN_STATUSFREE\",\"Definition\":\"Free the status objects associated with a repository that were acquired with GITFN_STATUS.\",\"Parameter1\":\"dir\",\"Description1\":\"The path containing a cloned GIT repository on the SAS server that has previously had GITFN_STATUS called.\"},{\"Name\":\"GITFN_IDX_ADD\",\"Definition\":\"Stages 1 to N number of files in preparation for commit.\",\"Parameter1\":\"dir\",\"Description1\":\"The path of the local Git Repository.\",\"Parameter2\":\"file1\",\"Description2\":\"The relative path of the first file to be staged.\",\"Parameter3\":\"fileStatus1\",\"Description3\":\"The status of the file. New, Modified, Deleted, Renamed, or type change.\",\"Parameter4\":\"fileStatus2, ...\",\"Description4\":\"The status of the second file, etc. New, Modified, Deleted, Renamed, or type change.\"},{\"Name\":\"GITFN_IDX_REMOVE\",\"Definition\":\"Un-stages 1 to N number of files.\",\"Parameter1\":\"dir\",\"Description1\":\"The path of the local GIT Repository.\",\"Parameter2\":\"file1\",\"Description2\":\"The relative path of the first file to be staged.\",\"Parameter3\":\"file2, ...\",\"Description3\":\"The relative path of the first file to be staged, etc.\"},{\"Name\":\"GITFN_COMMIT\",\"Definition\":\"Commits staged files to the local repository.\",\"Parameter1\":\"dir\",\"Description1\":\"The path of the local GIT Repository.\",\"Parameter2\":\"updateref\",\"Description2\":\"Reference to update. In most cases \\\"HEAD\\\" should be used.\",\"Parameter3\":\"authorName\",\"Description3\":\"Commit author's name.\",\"Parameter4\":\"authorEmail\",\"Description4\":\"Commit author's email.\",\"Parameter5\":\"commitMessage\",\"Description5\":\"Commit message. Used for providing some details of the commit. Displayed in commit log.\"},{\"Name\":\"GITFN_PUSH\",\"Definition\":\"Pushes commits on the local repository to the remote repository.\",\"Parameter1\":\"dir\",\"Description1\":\"The path of the local Git Repository.\",\"Parameter2\":\"username\",\"Description2\":\"User name used for authentication.\",\"Parameter3\":\"password\",\"Description3\":\"Password used for authentication.\",\"Parameter4\":\"pubSSHKeyPath\",\"Description4\":\"The path to the public SSH key file.\",\"Parameter5\":\"privSSHKeyPath\",\"Description5\":\"The path to the private SSH key file.\"},{\"Name\":\"GITFN_PULL\",\"Definition\":\"Pulls changes from the remote repository that were pushed by other users.\",\"Parameter1\":\"dir\",\"Description1\":\"The path of the local Git Repository.\",\"Parameter2\":\"username\",\"Description2\":\"User name used for authentication.\",\"Parameter3\":\"password\",\"Description3\":\"Password used for authentication.\",\"Parameter4\":\"pubSSHKeyPath\",\"Description4\":\"The path to the public SSH key file.\",\"Parameter5\":\"privSSHKey\",\"Description5\":\"The path to the private SSH key file.\"},{\"Name\":\"GITFN_COMMIT_LOG\",\"Definition\":\"Get the number of commit objects associated with the local repository.\",\"Parameter1\":\"dir\",\"Description1\":\"The path containing a cloned Git repository on the SAS server.\"},{\"Name\":\"GITFN_COMMIT_GET\",\"Definition\":\"Get the attribute of a commit object that was obtained from calling GITFN_COMMIT_LOG on the local repository.\",\"Parameter1\":\"n\",\"Description1\":\"The Nth commit object to retrieve attributes from.\",\"Parameter2\":\"dir\",\"Description2\":\"The path containing a cloned Git repository on the SAS server.\",\"Parameter3\":\"attr\",\"Description3\":\"The attribute to retrieve. Valid attributes are id\\\", \\\"author\\\", \\\"email\\\", \\\"message\\\", \\\"parent_ids\\\", and \\\"time.\\\"\",\"Parameter4\":\"out-value\",\"Description4\":\"Returns the value of the specified attribute.\"},{\"Name\":\"GITFN_COMMITFREE\",\"Definition\":\"Free the commit objects associated with a repository that were acquired with GITFN_COMMIT_LOG.\",\"Parameter1\":\"dir\",\"Description1\":\"The path containing a cloned Git repository on the SAS server that has previously had GITFN_COMMIT_LOG called.\"},{\"Name\":\"GITFN_DIFF\",\"Definition\":\"Get the number of diffs between two commits.\",\"Parameter1\":\"dir\",\"Description1\":\"The path containing a cloned Git repository on the SAS server.\",\"Parameter2\":\"olderCommitID\",\"Description2\":\"The older of the two commit IDs to run the diff between.\",\"Parameter3\":\"newerCommitID\",\"Description3\":\"The newer of the two commit IDs to run the diff between.\"},{\"Name\":\"GITFN_DIFF_GET\",\"Definition\":\"Get the attribute of a diff object that was obtained from calling GITFN_DIFF on the local repository and between two commit ids.\",\"Parameter1\":\"n\",\"Description1\":\"The Nth commit object to retrieve attributes from.\",\"Parameter2\":\"dir\",\"Description2\":\"The path containing a cloned Git repository on the SAS server.\",\"Parameter3\":\"attr\",\"Description3\":\"The attribute to retrieve. Valid attributes are File, Diff_Content, Diff_type.\\\"\",\"Parameter4\":\"out-value\",\"Description4\":\"Returns the value of the specified attribute.\"},{\"Name\":\"GITFN_DIFF_FREE\",\"Definition\":\"Free the diff objects associated with a repository and commit ids that were generated with GITFN_DIFF.\",\"Parameter1\":\"dir\",\"Description1\":\"The path containing a cloned Git repository on the SAS server that has previously had GITFN_DIFF called.\",\"Parameter2\":\"olderCommitID\",\"Description2\":\"The commit ID of the older of the two commits.\",\"Parameter3\":\"newerCommitID\",\"Description3\":\"The commit ID of the newer of the two commits.\"},{\"Name\":\"GITFN_RESET\",\"Definition\":\"Function to reset the local repository to a specific commit.\",\"Parameter1\":\"dir\",\"Description1\":\"The path to the local GIT repository.\",\"Parameter2\":\"commitID\",\"Description2\":\"The commit ID to reset to.\",\"Parameter3\":\"reset_type\",\"Description3\":\"Type of reset desired. HARD (reset working directory and index discard all local changes including uncommitted), MIXED (leave working directory untouched, reset index), or SOFT (leave working directory and index untouched).\"},{\"Name\":\"GITFN_DEL_REPO\",\"Definition\":\"Function to delete a local Git repository and its contents.\",\"Parameter1\":\"dir\",\"Description1\":\"The path to the local GIT repository.\"},{\"Name\":\"GITFN_NEW_BRANCH\",\"Definition\":\"Function to create a new Git branch.\",\"Parameter1\":\"dir\",\"Description1\":\"The path to the local Git repository.\",\"Parameter2\":\"id\",\"Description2\":\"The id of the Git commit level to branch.\",\"Parameter3\":\"name\",\"Description3\":\"The name to give the new branch.\",\"Parameter4\":\"force\",\"Description4\":\"1 if the branch name specified is already in use, replace the branch location with this commit level.\"},{\"Name\":\"GITFN_DEL_BRANCH\",\"Definition\":\"Function to delete a Git branch.\",\"Parameter1\":\"dir\",\"Description1\":\"The path to the local Git repository.\",\"Parameter2\":\"name\",\"Description2\":\"The name of the Git branch to delete.\"},{\"Name\":\"GITFN_CO_BRANCH\",\"Definition\":\"Function to check out a Git branch.\",\"Parameter1\":\"dir\",\"Description1\":\"The path to the local Git repository.\",\"Parameter2\":\"name\",\"Description2\":\"The name of the Git branch to check out.\"},{\"Name\":\"GITFN_MRG_BRANCH\",\"Definition\":\"Function to merge a Git branch.\",\"Parameter1\":\"path\",\"Description1\":\"The path to the local Git repository.\",\"Parameter2\":\"branch\",\"Description2\":\"The name of the Git branch to merge into the checked-out branch.\",\"Parameter3\":\"userid\",\"Description3\":\"The user ID that is invoking the merge.\",\"Parameter4\":\"email\",\"Description4\":\"The email address of the user that is invoking the merge.\"},{\"Name\":\"GITFN_DIFF_IDX_F\",\"Definition\":\"Function to get the diff of a file that is in the index.\",\"Parameter1\":\"path\",\"Description1\":\"The path to the local Git repository.\",\"Parameter2\":\"file-path\",\"Description2\":\"The file path relative to the local repository.\",\"Parameter3\":\"out-diff-content\",\"Description3\":\"Out variable that holds the content of the diff.\"},{\"Name\":\"GITFN_RESET_FILE Function\",\"Definition\":\"Function to reset/discard changes of a file that is in the index.\",\"Parameter1\":\"path\",\"Description1\":\"The path to the local Git repository.\",\"Parameter2\":\"file-path\",\"Description2\":\"The file path relative to the local repository.\"}],\"#comment\":[{},{},{},{},{},{},{},{},{},{},{},{},{}]}}"
  },
  {
    "path": "server/data/SASDataSetOptions.json",
    "content": "{\"Keywords\":{\"Keyword\":[{\"Name\":\"ALTER=\",\"Type\":\"DATASET_OPTION_V\",\"Help\":{\"#cdata\":\"Assigns an alter password to a SAS file and enables access to a password-protected \\nSAS file.\"}},{\"Name\":\"BUFNO=\",\"Type\":\"DATASET_OPTION_V\",\"Values\":{\"@Value1\":\"n\",\"@Value2\":\"nK\",\"@Value3\":\"hexX\",\"@Value4\":\"MIN\",\"@Value5\":\"MAX\"},\"ToolTips\":{\"@ToolTip1\":\"Specifies the number of buffers in multiples of 1 (bytes).  Replace n with an integer value.\",\"@ToolTip2\":\"Specifies the number of buffers in multiples of 1,024 (kilobytes).  Replace n with an integer value.\",\"@ToolTip3\":\"Specifies the number of buffers as a hexadecimal value.  Replace hex with an actual hexadecimal value.\",\"@ToolTip4\":\"Sets the minimum number of buffers to 0, which causes SAS to use the minimum optimal  value for the operating environment. This is the default.\",\"@ToolTip5\":\"Sets the number of buffers to the maximum possible number in your operating environment,  up to the largest four-byte, signed integer, which is 2\\u00b3\\u00b9-1, or approximately 2 billion.\"},\"Help\":{\"#cdata\":\"Specifies the number of buffers for processing a SAS data set.\"}},{\"Name\":\"BUFSIZE=\",\"Type\":\"DATASET_OPTION_V\",\"Values\":{\"@Value1\":\"n\",\"@Value2\":\"nK\",\"@Value3\":\"nM\",\"@Value4\":\"nG\",\"@Value5\":\"hexX\",\"@Value6\":\"MIN\",\"@Value7\":\"MAX\"},\"ToolTips\":{\"@ToolTip1\":\"Specifies the page size in multiples of 1 (bytes). Replace n with an integer value.\",\"@ToolTip2\":\"Specifies the number of buffers in multiples of 1,024 (kilobytes).  Replace n with an integer value.\",\"@ToolTip3\":\"Specifies the page size in multiples of 1,048,576 (megabytes).  Replace n with an integer value.\",\"@ToolTip4\":\"Specifies the page size in multiples of 1,073,741,824 (gigabytes).  Replace n with an integer value.\",\"@ToolTip5\":\"Specifies the page size as a hexadecimal value.  Replace hex with an actual hexadecimal value.\",\"@ToolTip6\":\"Sets the page size of buffers to 0, which causes SAS to use the minimum  optimal value for the operating environment.  This is the default.\",\"@ToolTip7\":\"Sets the page size to the maximum possible number in your operating environment,  up to the largest four-byte, signed integer, which is 2\\u00b3\\u00b9-1, or approximately 2 billion.\"},\"Help\":{\"#cdata\":\"Specifies a permanent buffer size for output SAS data sets.\"}},{\"Name\":\"CNTLLEV=\",\"Type\":\"DATASET_OPTION_V\",\"Values\":{\"@Value1\":\"LIB\",\"@Value2\":\"MEM\",\"@Value3\":\"REC\"},\"ToolTips\":{\"@ToolTip1\":\"Specifies that concurrent access is controlled at the library level.  Library-level control restricts concurrent access to only one update process to the library.\",\"@ToolTip2\":\"Specifies that concurrent access is controlled at the SAS data set (member) level.\",\"@ToolTip3\":\"Specifies that concurrent access is controlled at the observation (record) level.\"},\"Help\":{\"#cdata\":\"Specifies the level of shared access to SAS data sets.\"}},{\"Name\":\"COMPRESS=\",\"Type\":\"DATASET_OPTION_V\",\"Values\":{\"@Value1\":\"NO\",\"@Value2\":\"YES\",\"@Value3\":\"CHAR\",\"@Value4\":\"BINARY\",\"@Value5\":\"FORCE\"},\"ToolTips\":{\"@ToolTip1\":\"Specifies that the observations in a newly created SAS data set are uncompressed  (fixed-length records).\",\"@ToolTip2\":\"Specifies that the observations in a newly created SAS data set are compressed  (variable-length records) by SAS using RLE (Run Length Encoding).\",\"@ToolTip3\":\"Same as YES,  but COMPRESS=CHAR is only accepted by Version 7 and later versions.                 Note: May not apply to Cloud Analytic Server (CAS).\",\"@ToolTip4\":\"Specifies that the observations in a newly created SAS data set are compressed  (variable-length records) by SAS using RDC (Ross Data Compression).   Note: May not apply to Cloud Analytic Server (CAS).\",\"@ToolTip5\":\"Specifies that the size of the CHAR variables in the DATA step output table are used when appending new observations.\"},\"Help\":{\"#cdata\":\"Compresses observations in an output SAS data set.\"}},{\"Name\":\"DLDMGACTION=\",\"Type\":\"DATASET_OPTION_V\",\"Values\":{\"@Value1\":\"FAIL\",\"@Value2\":\"ABORT\",\"@Value3\":\"REPAIR\",\"@Value4\":\"NOINDEX\",\"@Value5\":\"PROMPT\"},\"ToolTips\":{\"@ToolTip1\":\"Stops the step, issues an error message to the log immediately. This is the default  for batch mode.\",\"@ToolTip2\":\"Terminates the step, issues an error message to the log, and terminates the SAS session.\",\"@ToolTip3\":\"Automatically repairs and rebuilds indexes and integrity constraints, unless the  data file is truncated. You use the REPAIR statement in PROC DATASETS to restore  a truncated data set. It issues a warning message to the log. This is the default  for interactive mode.\",\"@ToolTip4\":\"Automatically repairs the data file without the indexes and integrity constraints,  deletes the index file, updates the data file to reflect the disabled indexes and  integrity constraints, and limits the data file to be opened only in INPUT mode.\",\"@ToolTip5\":\"Displays a dialog box that asks you to select the FAIL, ABORT, REPAIR, or NOINDEX action.\"},\"Help\":{\"#cdata\":\"Specifies what type of action to take when a SAS data set in a SAS data library \\nis detected as damaged.\"}},{\"Name\":\"DROP=\",\"Type\":\"DATASET_OPTION_CV\",\"Help\":{\"#cdata\":\"Excludes variables from processing or from output SAS data sets.\"}},{\"Name\":\"FILECLOSE=\",\"Type\":\"DATASET_OPTION_V\",\"Values\":{\"@Value1\":\"DISP\",\"@Value2\":\"LEAVE\",\"@Value3\":\"REREAD\",\"@Value4\":\"REWIND\"},\"ToolTips\":{\"@ToolTip1\":\"Positions the tape volume according to the disposition specified in the operating  environment's control language.\",\"@ToolTip2\":\"Positions the tape at the end of the file that was just processed.  Use FILECLOSE=LEAVE if you are not repeatedly accessing the same files in a SAS program  but you are accessing one or more subsequent SAS files on the same tape.\",\"@ToolTip3\":\"Positions the tape volume at the beginning of the file that was just processed.  Use FILECLOSE=REREAD if you are accessing the same SAS data set on tape several times in a SAS program.\",\"@ToolTip4\":\"Rewinds the tape volume to the beginning.  Use FILECLOSE=REWIND if you are accessing one or more previous SAS files on the same tape,  but you are not repeatedly accessing the same files in a SAS program.\"},\"Help\":{\"#cdata\":\"Specifies how a tape is positioned when a SAS file on the tape is closed.\"}},{\"Name\":\"FIRSTOBS=\",\"Type\":\"DATASET_OPTION_V\",\"Values\":{\"@Value1\":\"n\",\"@Value2\":\"nK\",\"@Value3\":\"nM\",\"@Value4\":\"nG\",\"@Value5\":\"hexX\",\"@Value6\":\"MIN\",\"@Value7\":\"MAX\"},\"ToolTips\":{\"@ToolTip1\":\"Specifies the number of the first observation to process in multiples of 1 (bytes).  Replace n with an integer value.\",\"@ToolTip2\":\"Specifies the number of the first observation to process in multiples of 1,024  (kilobytes). Replace n with an integer value.\",\"@ToolTip3\":\"Specifies the number of the first observation to process in multiples of 1,048,576  (megabytes). Replace n with an integer value.\",\"@ToolTip4\":\"Specifies the number of the first observation to process in multiples of 1,073,741,824  (gigabytes). Replace n with an integer value.\",\"@ToolTip5\":\"Specifies the number of the first observation to process as a hexadecimal value.  Replace hex with an actual hexadecimal value.\",\"@ToolTip6\":\"Sets the number of the first observation to process to 1. This is the default.\",\"@ToolTip7\":\"Sets the number of the first observation to process to the maximum number of  observations in the data set, up to the largest eight-byte, signed integer,  which is 2\\u2076\\u00b3-1, or or approximately 9.2 quintillion observations.\"},\"Help\":{\"#cdata\":\"Causes processing to begin at a specified observation.\"}},{\"Name\":\"GENMAX=\",\"Type\":\"DATASET_OPTION_V\",\"Help\":{\"#cdata\":\"Syntax: GENMAX=number-of-generations \\n    \\nRequests generations for a data set and specifies the maximum number of versions. \\n\\nSyntax Description: \\nnumber-of-generations\\n  requests generations for a data set and specifies the maximum number of versions to maintain. \\n  The value can be from 0 to 1,000. The default is GENMAX=0, which means that no generation data \\n  sets are requested.\"}},{\"Name\":\"GENNUM=\",\"Type\":\"DATASET_OPTION_V\",\"Values\":{\"@Value1\":\"ALL\",\"@Value2\":\"HIST\",\"@Value3\":\"REVERT\",\"@Value4\":\"<integer>\"},\"ToolTips\":{\"@ToolTip1\":\"Refers to the base version and all historical versions in a generation group.\",\"@ToolTip2\":\"Refers to all historical versions, but excludes the base version in a generation group.\",\"@ToolTip3\":\"Deletes the base version and changes the most current historical version, if it exists, to the base version.\",\"@ToolTip4\":\"<integer> is a number that references a specific version from a generation group. Specifying  a positive number is an absolute reference to a specific generation number that is appended to a  data set's name (that is, gennum=2 specifies MYDATA#002).\"},\"Help\":{\"#cdata\":\"Syntax: GENNUM=ALL | HIST | REVERT | integer \\n    \\nRestricts processing for generation data sets. You use the option in parentheses after the name of each SAS file.\"}},{\"Name\":\"IDXNAME=\",\"Type\":\"DATASET_OPTION_V\",\"Help\":{\"#cdata\":\"Directs SAS to use a specific index to satisfy the conditions of a WHERE expression.\"}},{\"Name\":\"IDXWHERE=\",\"Type\":\"DATASET_OPTION_V\",\"Values\":{\"@Value1\":\"YES\",\"@Value2\":\"NO\"},\"ToolTips\":{\"@ToolTip1\":\"Tells SAS to choose the best index to optimize a WHERE expression, and to disregard  the possibility that a sequential search of the data set might be more resource -efficient.\",\"@ToolTip2\":\"Tells SAS to ignore all indexes and satisfy the conditions of a WHERE expression  with a sequential search of the data set.\"},\"Help\":{\"#cdata\":\"Overrides the SAS System decision about whether to use an index to satisfy the conditions \\nof a WHERE expression.\"}},{\"Name\":\"INDEX=\",\"Type\":\"DATASET_OPTION_V\",\"Help\":{\"#cdata\":\"Defines indexes when a SAS data set is created.\"},\"SubOptionsKeywords\":\"UNIQUE|NOMISS\"},{\"Name\":\"IN=\",\"Type\":\"DATASET_OPTION_V\",\"Help\":{\"#cdata\":\"Syntax: IN=variable \\n    \\nCreates a Boolean variable that indicates whether the data set contributed data to the current observation. \\n\\nSyntax Description\\nvariable\\n  names the new variable whose value indicates whether the input data set contributed data to the current \\n  observation. Within the DATA step, the value of the variable is 1 if the data set contributed to the \\n  current observation. Otherwise, the value is 0.Creates a variable that indicates whether the data set \\n  contributed data to the current observation.\"}},{\"Name\":\"KEEP=\",\"Type\":\"DATASET_OPTION_CV\",\"Help\":{\"#cdata\":\"Syntax: KEEP=variable(s) \\n\\nFor an input data set, specifies the variables to process; for an output data set, specifies the variables \\nto write to the data set.\\n\\nSyntax Description: \\n\\nvariable(s)\\n  lists one or more variable names. You can list the variables in any form that SAS allows.\"}},{\"Name\":\"LABEL=\",\"Type\":\"DATASET_OPTION_V\",\"Help\":{\"#cdata\":\"Specifies a label for the data set.\"}},{\"Name\":\"MEMTYPE=\",\"Type\":\"DATASET_OPTION_V\",\"Values\":{\"@Value1\":\"ACCESS\",\"@Value2\":\"ALL\",\"@Value3\":\"CATALOG\",\"@Value4\":\"DATA\",\"@Value5\":\"FDB\",\"@Value6\":\"MDDB\",\"@Value7\":\"PROGRAM\",\"@Value8\":\"VIEW\"},\"ToolTips\":{\"@ToolTip1\":\"Access descriptor files (created by SAS/ACCESS software)\",\"@ToolTip2\":\"All member types\",\"@ToolTip3\":\"SAS catalogs\",\"@ToolTip4\":\"SAS data files\",\"@ToolTip5\":\"Financial database\",\"@ToolTip6\":\"Multidimensional database\",\"@ToolTip7\":\"Stored compiled SAS programs\",\"@ToolTip8\":\"SAS views\"},\"Help\":{\"#cdata\":\"[Syntax: (mtype(s))] \\n      \\nRestricts deleting one or more member types. For example, the following PROC DELETE statement \\ndeletes all the DATA files in the default data library: \\n\\n  proc delete memtype=view;\\n  run;\"}},{\"Name\":\"OBSBUF=\",\"Type\":\"DATASET_OPTION_V\",\"Help\":{\"#cdata\":\"Syntax: OBSBUF=n\\n\\nDetermines the size of the view buffer for processing a DATA step view.\\n\\nSyntax Description:\\n\\nn\\n  specifies the number of observations that are read into the view buffer at a time.\\n\\nDefault: 32K bytes of memory are allocated for the default view buffer, which means the default \\nnumber of observations that can be read into the view buffer at one time depends on the observation \\nlength. Therefore, the default is the number of observations that can fit into 32K bytes. If the \"}},{\"Name\":\"OBS=\",\"Type\":\"DATASET_OPTION_V\",\"Values\":{\"@Value1\":\"n\",\"@Value2\":\"nK\",\"@Value3\":\"nM\",\"@Value4\":\"nG\",\"@Value5\":\"nT\",\"@Value6\":\"hexX\",\"@Value7\":\"MIN\",\"@Value8\":\"MAX\"},\"ToolTips\":{\"@ToolTip1\":\"Specifies a number to indicate when to stop processing observations in multiples of  1 (bytes). Replace n with an integer value.\",\"@ToolTip2\":\"Specifies the number of buffers in multiples of 1,024 (kilobytes). Replace n with  an integer value.\",\"@ToolTip3\":\"Specifies a number to indicate when to stop processing observations in multiples  of 1,048,576 (megabytes). Replace n with an integer value.\",\"@ToolTip4\":\"Specifies a number to indicate when to stop processing observations in multiples  of 1,073,741,824 (gigabytes). Replace n with an integer value.\",\"@ToolTip5\":\"Specifies a number to indicate when to stop processing observations in multiples  of 1,099,511,627,776 (terabytes). Replace n with an integer value.\",\"@ToolTip6\":\"Specifies the number to indicate when to stop processing observations as a hexadecimal  value. Replace hex with an actual hexadecimal value.\",\"@ToolTip7\":\"Sets the number to indicate when to stop processing observations to 0. Use OBS=0  in order to create an empty data set that has the structure, but not the  observations, of another data set.\",\"@ToolTip8\":\"Sets the number to indicate when to stop processing observations to the maximum  number of observations in the data set,  up to the largest eight-byte, signed integer,  which is 2\\u2076\\u00b3-1, or or approximately 9.2 quintillion observations. This is the default.\"},\"Help\":{\"#cdata\":\"Causes processing to end with the nth observation.\"}},{\"Name\":\"OUTREP=\",\"Type\":\"DATASET_OPTION_V\",\"Values\":{\"@Value1\":\"ALPHA_TRU64\",\"@Value2\":\"ALPHA_VMS_32\",\"@Value3\":\"ALPHA_VMS_64\",\"@Value4\":\"HP_IA64\",\"@Value5\":\"HP_UX_32\",\"@Value6\":\"HP_UX_64\",\"@Value7\":\"INTEL_ABI\",\"@Value8\":\"LINUX_32\",\"@Value9\":\"LINUX_IA64\",\"@Value10\":\"LINUX_X86_64\",\"@Value11\":\"MIPS_ABI\",\"@Value12\":\"MVS_32\",\"@Value13\":\"MVS_64_BFP\",\"@Value14\":\"OS2\",\"@Value15\":\"RS_6000_AIX_32\",\"@Value16\":\"RS_6000_AIX_64\",\"@Value17\":\"SOLARIS_32\",\"@Value18\":\"SOLARIS_64\",\"@Value19\":\"SOLARIS_X86_64\",\"@Value20\":\"VAX_VMS\",\"@Value21\":\"VMS_IA64\",\"@Value22\":\"WINDOWS_32\",\"@Value23\":\"WINDOWS_64\"},\"ToolTips\":{\"@ToolTip1\":\"Tru64 UNIX\",\"@ToolTip2\":\"OpenVMS Alpha\",\"@ToolTip3\":\"OpenVMS Alpha\",\"@ToolTip4\":\"HP-UX for the Itanium Processor Family Architecture\",\"@ToolTip5\":\"HP-UX for PA-RISC\",\"@ToolTip6\":\"HP-UX for PA-RISC, 64-bit\",\"@ToolTip7\":\"ABI for Intel architecture\",\"@ToolTip8\":\"Linux for Intel architecture\",\"@ToolTip9\":\"Linux for Itanium-based systems\",\"@ToolTip10\":\"Linux for x64\",\"@ToolTip11\":\"MIPS ABI\",\"@ToolTip12\":\"31-bit SAS on z/OS\",\"@ToolTip13\":\"64-bit SAS on z/OS\",\"@ToolTip14\":\"OS/2 on Intel\",\"@ToolTip15\":\"RS_6000_AIX  AIX\",\"@ToolTip16\":\"AIX\",\"@ToolTip17\":\"Solaris for SPARC\",\"@ToolTip18\":\"Solaris for SPARC\",\"@ToolTip19\":\"Solaris for x64\",\"@ToolTip20\":\"OpenVMS VAX\",\"@ToolTip21\":\"OpenVMS on HP Integrity\",\"@ToolTip22\":\"32-bit SAS on Microsoft Windows\",\"@ToolTip23\":\"64-bit SAS on Microsoft Windows (for both Itanium-based systems and x64)\"},\"Help\":{\"#cdata\":\"Syntax: OUTREP=format\\n     \\nSpecifies the data representation for the output SAS data set. \\n\\nSyntax Description:\\nformat\\n  specifies the data representation, which is the form in which data is stored in a particular \\n  operating environment. Different operating environments use different standards or conventions \\n  for storing floating-point numbers (for example, IEEE or IBM mainframe); for character encoding \\n  (ASCII or EBCDIC); for the ordering of bytes in memory (big Endian or little Endian); for word \\n  alignment (4-byte boundaries or 8-byte boundaries); for integer data-type length (16-bit, 32-bit, \\n  or 64-bit); and for doubles (byte-swapped or not). \\n  \\n  By default, SAS creates a new SAS data set by using the data representation of the CPU that is \\n  running SAS. Specifying the OUTREP= option enables you to create a SAS data set with a different \\n  data representation. For example, in a UNIX environment, you can create a SAS data set that uses \\n  a Windows data representation.\"}},{\"Name\":\"POINTOBS=\",\"Type\":\"DATASET_OPTION_V\",\"Values\":{\"@Value1\":\"YES\",\"@Value2\":\"NO\"},\"ToolTips\":{\"@ToolTip1\":\"Causes SAS software to produce a compressed data set that might be randomly accessed  by observation number. This is the default.\",\"@ToolTip2\":\"Suppresses the ability to randomly access observations in a compressed data set by  observation number.\"},\"Help\":{\"#cdata\":\"Controls whether a compressed data set may be processed with random access (by \\nobservation number) rather than sequential access only.\"}},{\"Name\":\"PW=\",\"Type\":\"DATASET_OPTION_V\",\"Help\":{\"#cdata\":\"Syntax: PW=password \\n \\nAssigns a read, write, or alter password to a SAS file and enables access to a \\npassword-protected SAS file. \\n\\nSyntax Description\\npassword\\n  must be a valid SAS name, which limits the password to eight characters and is case-insensitive.\"}},{\"Name\":\"PWREQ=\",\"Type\":\"DATASET_OPTION_V\",\"Values\":{\"@Value1\":\"YES\",\"@Value2\":\"NO\"},\"ToolTips\":{\"@ToolTip1\":\"Specifies to display a dialog box.\",\"@ToolTip2\":\"Prevents a dialog box from displaying. If a missing or invalid password is entered,  the data set is not opened and an error message is written to the SAS log.\"},\"Help\":{\"#cdata\":\"Syntax: PWREQ=YES | NO \\n    \\nControls the pop up of a requestor window for a data set password.\"}},{\"Name\":\"READ=\",\"Type\":\"DATASET_OPTION_V\",\"Help\":{\"#cdata\":\"Assigns a read password to a SAS file and enables access to a read-protected SAS file.\"}},{\"Name\":\"RENAME=\",\"Type\":\"DATASET_OPTION_V\",\"Help\":{\"#cdata\":\"Syntax: RENAME=(old-name-1=new-name-1 <old-name-2=new-name-2 \\u2026> ) \\n    \\nSyntax Description: \\n\\nold-name\\n  is the variable that you want to rename. \\nnew-name\\n  is the new name of the variable. It must be a valid SAS name. \\n\\nChanges the name of a variable.\"}},{\"Name\":\"REPEMPTY=\",\"Type\":\"DATASET_OPTION_V\",\"Values\":{\"@Value1\":\"YES\",\"@Value2\":\"NO\"},\"ToolTips\":{\"@ToolTip1\":\"Specifies that a new empty data set with a given name replaces an existing data set  with the same name. This is the default.\",\"@ToolTip2\":\"Specifies that a new empty data set with a given name does not replace an existing  data set with the same name.\"},\"Help\":{\"#cdata\":\"Syntax: REPEMPTY=YES | NO \\n    \\nSpecifies whether a new, empty data set can overwrite an existing SAS data set that \\nhas the same name.\"}},{\"Name\":\"REPLACE=\",\"Type\":\"DATASET_OPTION_V\",\"Values\":{\"@Value1\":\"YES\",\"@Value2\":\"NO\"},\"ToolTips\":{\"@ToolTip1\":\"Specifies that a new data set with a given name replaces an existing data set with  the same name.\",\"@ToolTip2\":\"Specifies that a new data set with a given name does not replace an existing data  set with the same name.\"},\"Help\":{\"#cdata\":\"Syntax: REPLACE=NO | YES \\n    \\nSpecifies whether a new SAS data set that contains data can overwrite an existing data \\nset that has the same name.\"}},{\"Name\":\"REUSE=\",\"Type\":\"DATASET_OPTION_V\",\"Values\":{\"@Value1\":\"YES\",\"@Value2\":\"NO\"},\"ToolTips\":{\"@ToolTip1\":\"Tracks and reuses space in compressed SAS data sets.  New observations are inserted in the space that is freed when other observations are updated or deleted.\",\"@ToolTip2\":\"Does not track and reuse space in compressed data sets.  New observations are appended to the existing data set.\"},\"Help\":{\"#cdata\":\"Syntax: REUSE=NO | YES \\n    \\nSpecifies whether new observations are written to free space in compressed SAS data sets.\"}},{\"Name\":\"ROLE=\",\"Type\":\"DATASET_OPTION_V\",\"Values\":{\"@Value1\":\"FACT\",\"@Value2\":\"DIMENSION|DIM\"},\"ToolTips\":{\"@ToolTip1\":\"Identifies the SAS data set as the fact table for a star schema.\",\"@ToolTip2\":\"Identifies the SAS data set as a dimension table for a star schema\"},\"Help\":{\"#cdata\":\"Syntax: ROLE=NO | YES \\n    \\nIdentifies the fact table for a star schema join. \\n\\nSyntax Description:\\nFACT\\n  identifies the SAS data set as the fact table for a star schema.\\nDIMENSION | DIM\\n  identifies the SAS data set as a dimension table for a star schema.\"}},{\"Name\":\"SGIO=\",\"Type\":\"DATASET_OPTION_V\",\"Values\":{\"@Value1\":\"YES\",\"@Value2\":\"NO\"},\"ToolTips\":{\"@ToolTip1\":\"Specifies that SAS activate the scatter-read / gather-write feature for a SAS data set. The scatter-read / gather-write feature remains active until your SAS session ends.\",\"@ToolTip2\":\"Specifies that SAS not activate the scatter-read/gather-write feature for the SAS data set.\"},\"Help\":{\"#cdata\":\"Activates the Scatter/Gather I/O feature for a data set.\"}},{\"Name\":\"SORTEDBY=\",\"Type\":\"DATASET_OPTION_V\",\"Values\":{\"@Value1\":\"by-clause < / collate-name>\",\"@Value2\":\"_NULL_\"},\"ToolTips\":{\"@ToolTip1\":\"By-clause names the variables and options that you use in a BY statement in a PROC SORT step.  collate-name names the collating sequence that is used for the sort.\",\"@ToolTip2\":\"Removes any existing sort indicator.\"},\"Help\":{\"#cdata\":\"Syntax: SORTEDBY=by-clause</ collate-name> | _NULL_ \\n    \\nSyntax Description:\\nby-clause < / collate-name>\\n  indicates how the data is currently sorted.Specifies how the data set is currently sorted. \\nby-clause\\n  names the variables and options that you use in a BY statement in a PROC SORT step.collate-name\\n  names the collating sequence that is used for the sort. By default, the collating sequence is that \\n  of your operating environment. A slash (/) must precede the collating sequence.\\n_NULL_\\n  removes any existing sort indicator.\"}},{\"Name\":\"SPILL=\",\"Type\":\"DATASET_OPTION_V\",\"Values\":{\"@Value1\":\"YES\",\"@Value2\":\"NO\"},\"ToolTips\":{\"@ToolTip1\":\"Creates a spill file for non-sequential processing of a DATA step view. This is the default.\",\"@ToolTip2\":\"Does not create a spill file or reduces the size of a spill file.\"},\"Help\":{\"#cdata\":\"Syntax: SPILL=YES | NO\\n    \\nSpecifies whether to create a spill file for non-sequential processing of a DATA step view.\\n\\nSyntax Description\\nYES\\ncreates a spill file for non-sequential processing of a DATA step view. This is the default.\\nInteraction\\nA spill file is never created for sequential processing of a DATA step view.\\nNO\\ndoes not create a spill file or reduce the size of a spill file.\"}},{\"Name\":\"TOBSNO=\",\"Type\":\"DATASET_OPTION_V\",\"Help\":{\"#cdata\":\"Syntax: TOBSNO=n \\n\\nSpecifies the number of observations to send in a client/server transfer.\\n\\nSyntax Description:\\nn\\n  specifies the number of observations to be transmitted.\"}},{\"Name\":\"TRANTAB=\",\"Type\":\"DATASET_OPTION_V\",\"Help\":{\"#cdata\":\"Specifies a translation table for character conversions.\"}},{\"Name\":\"TYPE=\",\"Type\":\"DATASET_OPTION_V\",\"Help\":{\"#cdata\":\"Syntax: TYPE=data-set-type\\n\\nSpecifies the data set type for a specially structured SAS data set.\\n    \\nSyntax Description: \\ndata-set-type\\n  specifies the special type of data set.\"}},{\"Name\":\"WHERE=\",\"Type\":\"DATASET_OPTION_V\",\"Help\":{\"#cdata\":\"Syntax: WHERE=(where-expression-1 <logical-operator where-expression-2> ) \\n\\nSpecifies specific conditions to use to select observations from a SAS data set.\\n\\nSyntax Description:\\nwhere-expression\\n  is an arithmetic or logical expression that consists of a sequence of operators, operands, \\n  and SAS functions. An operand is a variable, a SAS function, or a constant. An operator is \\n  a symbol that requests a comparison, logical operation, or arithmetic calculation. The \\n  expression must be enclosed in parentheses.logical-operator\\n  \\ncan be AND, AND NOT, OR, or OR NOT.\"}},{\"Name\":\"WHEREUP=\",\"Type\":\"DATASET_OPTION_V\",\"Values\":{\"@Value1\":\"YES\",\"@Value2\":\"NO\"},\"ToolTips\":{\"@ToolTip1\":\"Evaluates added observations and modified observations against a WHERE expression. Specify WHEREUP=YES when you want any added observations or modified observations  to match a specified WHERE expression.\",\"@ToolTip2\":\"Does not evaluate added observations and modified observations against a WHERE expression.\"},\"Help\":{\"#cdata\":\"Syntax: WHEREUP=NO | YES\\n\\nSpecifies whether to evaluate added observations and modified observations against \\na WHERE expression.\\n\\nSyntax Description:\\nNO\\n  does not evaluate added observations and modified observations against a WHERE expression.\\nYES\\n  evaluates added observations and modified observations against a WHERE expression.\"}},{\"Name\":\"WRITE=\",\"Type\":\"DATASET_OPTION_V\",\"Help\":{\"#cdata\":\"Syntax: WRITE=write-password \\n     \\nAssigns a write password to a SAS file and enables access to a write-protected SAS file.\\n     \\nSyntax Description: \\nwrite-password\\n  must be a valid SAS name.\"}},{\"Name\":\"EXTENDOBSCOUNTER=|EOC=\",\"Type\":\"DATASET_OPTION_V\",\"Values\":{\"@Value1\":\"YES\",\"@Value2\":\"NO\"},\"ToolTips\":{\"@ToolTip1\":\"Requests an enhanced file format in a newly created SAS data file that counts observations beyond  the 32-bit limitation. Although this SAS data file is created for an operating environment that  stores the number of observations with a 32-bit integer, the data file behaves like a 64-bit file  with respect to counters. This is the default.  Restrictions: A SAS data file that is created with an extended observation count is incompatible with releases prior  to SAS 9.3. If the SAS data file was created in SAS 9.3 or later and EXTENDOBSCOUNTER was set to YES  when the SAS data file was created, you must re-create the SAS data file with EXTENDOBSCOUNTER=NO.  EXTENDOBSCOUNTER=YES is valid only for an output SAS data file whose internal data representation  stores the observation count as a 32-bit integer. EXTENDOBSCOUNTER=YES is ignored for SAS data files  with a 64-bit integer. For a table that lists the operating environments and the OUTREP= data representation  values that are appropriate with EXTENDOBSCOUNTER=YES, see \\u201cWhen Extending the Observation Count Is  Supported\\u201d in Chapter 26 of SAS Language Reference: Concepts.\",\"@ToolTip2\":\"Specifies that the maximum observation count in a newly created SAS data file is determined  by the long integer size for the operating environment. In operating environments with a  32-bit long integer, the maximum number is 2\\u00b3\\u00b9\\u20131 or approximately two billion observations  (2,147,483,647). In operating environments with a 64-bit long integer, the number is 2\\u2076\\u00b3\\u20131 or approximately 9.2 quintillion observations\"},\"Help\":{\"#cdata\":\"Specifies whether to extend the maximum observation count in a new output SAS data file. \\n    \\nDefault: YES\\nRestrictions:\\n  Use with output data files only.\\n  Use with the BASE engine only.\"}},{\"Name\":\"ENCODING=\",\"Type\":\"DATASET_OPTION_V\",\"Values\":{\"@Value1\":\"ANY\",\"@Value2\":\"ASCIIANY\",\"@Value3\":\"EBCDICANY\",\"@Value4\":\"<encoding-value>\"},\"ToolTips\":{\"@ToolTip1\":\"Specifies that no transcoding occurs.                 Note:ANY is a synonym for binary. Because the data is binary, the actual encoding is irrelevant.\",\"@ToolTip2\":\"Specifies that no transcoding occurs when the mixed encodings are ASCII encodings.\",\"@ToolTip3\":\"Specifies that no transcoding occurs when the mixed encodings are EBCDIC encodings.\",\"@ToolTip4\":\"Replace <encoding-value> with a valid encoding value. See Encoding for NLS.\"},\"Help\":{\"#cdata\":\"Overrides the encoding to use for reading or writing a SAS data set. \\n    \\nThe value for ENCODING= indicates that the SAS data set has a different encoding from \\nthe current session encoding. When you read data from a data set, SAS transcodes the \\ndata from the specified encoding to the session encoding. When you write data to a data \\nset, SAS transcodes the data from the session encoding to the specified encoding.\"}},{\"Name\":\"ENCRYPTKEY=\",\"Type\":\"DATASET_OPTION_V\",\"Help\":{\"#cdata\":\"Syntax: ENCRYPTKEY=key-value \\n    \\nSpecifies a key value for AES (Advanced Encryption Standard) encryption. \\nRange: 1 to 64 bytes\\nRestrictions: Use with SAS 9.4 or later only. Use only with AES-encrypted data files.\\n\\nSyntax: ENCRYPTKEY=key-value \\n\\nSyntax Description:\\nkey-value \\n  assigns an encrypt key value. You must specify the ENCRYPTKEY= data set option when you are using ENCRYPT=AES. \\n  The key value can be up to 64 bytes long. To create an ENCRYPTKEY= key value with or without quotation marks, \\n  follow these rules:\\n    No quotation marks:\\n      \\u2022use alphanumeric characters and underscores only\\n      \\u2022can be up to 64 bytes long\\n      \\u2022use uppercase and lowercase letters\\n      \\u2022must start with a letter\\n      \\u2022cannot include blank spaces\\n      \\u2022is not case-sensitive\\n        %let mykey=abcdefghi12;\\n        encryptkey=&mykey\\n        encryptkey=key_value\\n        encryptkey=key_value1\\n    Single quotation marks:\\n      \\u2022use alphanumeric, special, and DBCS characters\\n      \\u2022can be up to 64 bytes long\\n      \\u2022use uppercase and lowercase letters\\n      \\u2022can include blank spaces, but cannot contain all blanks\\n      \\u2022is case-sensitive\\n        encryptkey='key_value'\\n        encryptkey='1234*#mykey'\\n    Double quotation marks:\\n      \\u2022use alphanumeric, special, and DBCS characters\\n      \\u2022can be up to 64 bytes long\\n      \\u2022use uppercase and lowercase letters\\n      \\u2022can include blank spaces, but cannot contain all blanks \\n      \\u2022is case-sensitive\\n        encryptkey=\\\"key_value\\\"\\n        encryptkey=\\\"1234*#mykey\\\"\\n        %let mykey=Abcdefghi12;\\n        encryptkey=\\\"&mykey\\\"\"}},{\"Name\":\"ENCRYPT=\",\"Type\":\"DATASET_OPTION_V\",\"Values\":{\"@Value1\":\"AES\",\"@Value2\":\"YES\",\"@Value3\":\"NO\"},\"ToolTips\":{\"@ToolTip1\":\"Encrypts the file by using the AES (Advanced Encryption Standard) algorithm. AES provides enhanced encryption by using SAS/SECURE software, which is included with Base SAS software. You must  specify the ENCRYPTKEY= data set option when you are using ENCRYPT=AES.   Restriction: The tape engine does not support ENCRYPT=AES. Use ENCRYPT=YES for tape engine encryption.  CAUTION: Record all ENCRYPTKEY= values when you are using ENCRYPT=AES. If you forget to record the ENCRYPTKEY=  value, you lose your data. SAS cannot assist you in recovering the ENCRYPTKEY= value. The following  note is written to the log:   Note: If you lose or forget the ENCRYPTKEY= value, there will   be no way to open the file or recover the data.\",\"@ToolTip2\":\"Encrypts the file by using the SAS Proprietary algorithm. This encryption uses passwords that are  stored in the data set. At a minimum, you must specify the READ= or the PW= data set option at the  same time that you specify ENCRYPT=YES. Because the encryption method uses passwords, you cannot  change any password on an encrypted data set without re-creating the data set.  CAUTION:Record all passwords when you are using ENCRYPT=YES. If you forget the passwords, you cannot  reset it without assistance from SAS. The process is time-consuming and resource-intensive.\",\"@ToolTip3\":\"Does not encrypt the file.\"},\"Help\":{\"#cdata\":\"Specifies whether to encrypt an output SAS data set. \\n    \\nDefault: ENCRYPT=NO\\nRestriction: Use with output data sets only.\"}},{\"Name\":\"APPEND=\",\"Type\":\"DATASET_OPTION_V\",\"Values\":{\"@Value1\":\"YES\",\"@Value2\":\"NO\"},\"ToolTips\":{\"@ToolTip1\":\"Specifies that the rows emitted by the DATA step are appended to the CAS table.\",\"@ToolTip2\":\"Specifies that the rows emitted by the DATA step are not appended to the CAS table.\"},\"Help\":{\"#cdata\":\"Syntax: APPEND=YES | NO\\n    \\nSpecifies that the rows emitted by the DATA step are appended to the CAS table.\"}},{\"Name\":\"CASLIB=\",\"Type\":\"DATASET_OPTION_V\",\"Help\":{\"#cdata\":\"Syntax: CASLIB=caslib\\n    \\nSpecifies the name of the CASLIB to use for engine operations involving the dataset.By default, engine \\noperations use the active CASLIB. If the libname CASLIB= option was specified, engine operations will \\nuse CASLIB= caslib. To override the active CASLIB or the libname CASLIB= option, use the CASLIB= dataset \\noption.\"}},{\"Name\":\"COPIES=\",\"Type\":\"DATASET_OPTION_V\",\"Help\":{\"#cdata\":\"Syntax: COPIES=integer\\n    \\nSpecifies the number of replicate copies for a replicated table.\\n\\nDefault: 1\\nRestriction:\\nThe number of copies is limited to one less than the number of worker nodes in the server. \\n\\nTips:\\nA larger number of replicate block copies results in greater fault tolerance for node failures \\nbecause replicate tables are distributed in memory on a greater number of nodes. \\n\\nCOPIES=0 results in no fault tolerance in the event of a node failure.\"}},{\"Name\":\"DATALIMIT=\",\"Type\":\"DATASET_OPTION_V\",\"Values\":{\"@Value1\":\"<integer>\",\"@Value2\":\"<integerK>\",\"@Value3\":\"<integerM>\",\"@Value4\":\"<integerG>\",\"@Value5\":\"ALL\"},\"ToolTips\":{\"@ToolTip1\":\"Specifies the maximum number of bytes to read \",\"@ToolTip2\":\"Specifies the maximum number of kilobytes to read.\",\"@ToolTip3\":\"Specifies the maximum number of megabytes to read.\",\"@ToolTip4\":\"Specifies the maximum number of gigabytes to read.\",\"@ToolTip5\":\"Specifies that the entire file can be read, no matter how large it is.\"},\"Help\":{\"#cdata\":\"[Syntax: DATALIMIT=integer | integerK | integerM | integerG | ALL]\\n    \\nSpecifies the maximum number of bytes of data that can transferred from the SAS Cloud Analytic Services server to SAS. \\n\\nValid in: CAS LIBNAME statement\\n\\nDefault: 100M\\nRestriction: This option affects only read access.\\nTip:\\nThis option can prevent you from accidentally transferring a large amount of data from the server to the client.\"}},{\"Name\":\"DUPLICATE=\",\"Type\":\"DATASET_OPTION_V\",\"Values\":{\"@Value1\":\"YES\",\"@Value2\":\"NO\"},\"ToolTips\":{\"@ToolTip1\":\"Specifies that the output table in the Cloud Analytic Services (CAS) is duplicated on all nodes.\",\"@ToolTip2\":\"Specifies that the output table in the Cloud Analytic Services (CAS) is not duplicated on any node.\"},\"Help\":{\"#cdata\":\"DUPLICATE=YES | NO\\n    \\nSpecifies whether the output table in the SAS Cloud Analytic Services is duplicated on all nodes.\\n\\nDefault: NO\\n\\nInteraction:\\nThe value for the COPIES= Data Set Option is ignored if you use the COPIES= data set option with \\nthe DUPLICATE= data set option. \"}},{\"Name\":\"ONDEMAND=\",\"Type\":\"DATASET_OPTION_V\",\"Values\":{\"@Value1\":\"YES\",\"@Value2\":\"NO\"},\"ToolTips\":{\"@ToolTip1\":\"Specifies that the temporary computed columns are evaluated one row at a time.\",\"@ToolTip2\":\"Specifies that the temporary computed columns are evaluated collectively up front.\"},\"Help\":{\"#cdata\":\"ONDEMAND=YES | NO\\n    \\nSpecifies whether the temporary computed columns are evaluated one row at a time or collectively up front. \\nOn demand execution is recommended for situations where you fetch data from the Cloud Analytic Services (CAS) \\nto the SAS session, such as when the CAS table is the input data of a DATA step or a procedure. \"}},{\"Name\":\"ORDERBY=\",\"Type\":\"DATASET_OPTION_V\",\"Help\":{\"#cdata\":\"Syntax: ORDERBY=<ascending | descending><variable-list>\\n    \\nSpecifies the variables by which to order the data within a partition. The ordering is hierarchical, \\nfor example, ORDERBY=(A B) implies ordering by the values of variable B within the ordered values of \\nvariable A. The specified variable(s) must exist and cannot be partitioning variables. The order is \\ndetermined based on the raw value of the variables and uses locale-sensitive collation for character \\nvariables. By default, values are arranged in ascending order. You can achieve descending order by \\npreceding the variable name in the variable-list with the keyword DESCENDING.\"},\"SubOptionsKeywords\":\"ASCENDING|DESCENDING\"},{\"Name\":\"PARTITION=\",\"Type\":\"DATASET_OPTION_V\",\"Help\":{\"#cdata\":\"Syntax: PARTITION=(variable-list)\\n    \\nSpecifies the list of partitioning variables for the output table. \\n\\no Partitioning information is ignored when tables are opened for input. Partitioning by a variable that \\n  does not exist on output is an error. \\no Partition keys are derived based on formatted values in the order of the variable names in the variable-list. \\n  Key construction is not hierarchical, so PARTITION=(A B) implies that any unique combination of formatted values \\n  for variables A and B forms a partition of the data. \\no Observations that share the same partition key are arranged together on the same worker node in the Cloud \\n  Analytic Services (CAS). \\no Partitioning is also available for tables in SMP CAS servers.\"}},{\"Name\":\"PROMOTE=\",\"Type\":\"DATASET_OPTION_V\",\"Values\":{\"@Value1\":\"YES\",\"@Value2\":\"NO\"},\"ToolTips\":{\"@ToolTip1\":\"Requests that the table created in the Cloud Analytic Services (CAS) is added with a global scope.\",\"@ToolTip2\":\"Requests that the table created in the Cloud Analytic Services (CAS) is added without a global scope.\"},\"Help\":{\"#cdata\":\"PROMOTE=YES | NO\\n    \\nRequests that the table created in the Cloud Analytic Services (CAS) is added with a global scope. \\n\\nDefault: NO\\nRestriction:\\nYou can set either PROMOTE= or APPEND= to YES. An error results if you set both to YES at the same time. \\n\\nRequirement:\\nThe caslib target must also have global scope.\\n\\nNote:\\nGlobal scope lets other sessions access the table, subject to access controls. \"}},{\"Name\":\"READTRANSFERSIZE=|RTS=\",\"Type\":\"DATASET_OPTION_V\",\"Values\":{\"@Value1\":\"<integer>\",\"@Value2\":\"<integerK>\",\"@Value3\":\"<integerM>\",\"@Value4\":\"<integerG>\"},\"ToolTips\":{\"@ToolTip1\":\"Specifies the total number of bytes for each read to the server.\",\"@ToolTip2\":\"Specifies the total number of kilobytes to read.\",\"@ToolTip3\":\"Specifies the total number of megabytes to read.\",\"@ToolTip4\":\"Specifies the total number of gigabytes to read.\"},\"Help\":{\"#cdata\":\"[Syntax: READTRANSFERSIZE=<(integer ) | K | M | G>]\\n    \\nSpecifies the maximum data transfer size in bytes that can be used when reading a table from SAS Cloud Analytic Services. \\n\\nDefault: 500MB\\n\\nRestriction: This option affects only read access.\\n\\nInteraction:\\nREADTRANSFERSIZE= is the maximum amount of data that is transferred with each read request that is made to SAS \\nCloud Analytic Services. If the entire result of the read request is smaller than the value of the READTRANSFERSIZE=\\noption, only the necessary number of bytes are transferred. This situation can occur if either the table size or the \\nvalue of the DATALIMIT= option is smaller than the value of the READTRANSFERSIZE= option.\"}},{\"Name\":\"SCRIPT=|TEMPEXPRESS=\",\"Type\":\"DATASET_OPTION_V\",\"Help\":{\"#cdata\":\"Syntax: SCRIPT=fileref\\n    \\nSpecifies the file reference for the SAS script that defines the temporary computed columns.\"}},{\"Name\":\"TAG=\",\"Type\":\"DATASET_OPTION_V\",\"Help\":{\"#cdata\":\"Syntax: TAG=tagName \\n    \\nSpecifies the tag from which to construct table names in the Cloud Analytic Services (CAS). The tag \\noption was first used in the sasiola libname to handle multi-level names. A SAS data set is identified \\nby its lib name (libref) and member name, for example, WORK.FOO. Table names in the Cloud Analytic \\nServices (CAS) can have more than two levels. \\n\\nSuppose you wish to work with the CAS table USER.SASSEK.CAS.TEST.SALES_FACT. In order to reference the \\nfive-level name we need to use some device to map the LIBREF.MEMBER syntax to USER.SASSEK.CAS.TEST.SALES_FACT. \\nWhen the SASIOCA engine construct the name of a table in CAS, the name is constructed as UPPER(tagName).MEMBER. \\nIn other words, the tagName replaces the LIBREF. \\n\\nUse TAG=\\\"MYTAG\\\" if you want the table name to be constricted with a tag. By default the TAG is NULL.\"}},{\"Name\":\"TEMPNAMES=\",\"Type\":\"DATASET_OPTION_V\",\"Help\":{\"#cdata\":\"Syntax: TEMPNAMES=(list of variables)\\n    \\nLists the names of the temporary computed columns that are added to the input table. Temporary computed \\ncolumns are only supported for tables opened for input. By default, temporary columns are numeric \\n(8-byte doubles). For example, the following SAS code defines three variabls in a simple script and \\ncaptures it in the file reference newcols. \\n\\nThe names of the variables you want to add to the MYCARS.CARS data set are then listed in the TEMPNAMES= option.\"}},{\"Name\":\"TRANSCODE_FAIL=\",\"Type\":\"DATASET_OPTION_V\",\"Values\":{\"@Value1\":\"ERROR\",\"@Value2\":\"WARN\",\"@Value3\":\"SILENT\"},\"ToolTips\":{\"@ToolTip1\":\"Writes an error message to the SAS log. Processing will stop. \",\"@ToolTip2\":\"Writes a warning message to the SAS log. Processing will continue.\",\"@ToolTip3\":\"Transcoding errors are ignored. Processing will continue.\"},\"Help\":{\"#cdata\":\"[Syntax: TRANSCODE_FAIL=ERROR | WARN | SILENT]\\n    \\nSpecifies how transcoding errors are reported and whether processing will continue. \\n\\nInteraction:\\nIf you specify both the TRANSCODE_FAIL= LIBNAME and data set options, the data set option has precedence.\"}},{\"Name\":\"WRITETRANSFERSIZE=\",\"Type\":\"DATASET_OPTION_V\",\"Values\":{\"@Value1\":\"<integer>\",\"@Value2\":\"<integerK>\",\"@Value3\":\"<integerM>\",\"@Value4\":\"<integerG>\"},\"ToolTips\":{\"@ToolTip1\":\"Specifies the total number of bytes for each write to the server.\",\"@ToolTip2\":\"Specifies the total number of kilobytes to write.\",\"@ToolTip3\":\"Specifies the total number of megabytes to write.\",\"@ToolTip4\":\"Specifies the total number of gigabytes to write.\"},\"Help\":{\"#cdata\":\"[Syntax: WRITETRANSFERSIZE=<(integer ) | K | M | G>]\\n    \\nSpecifies the maximum data transfer size in bytes that can be used when writing to a table in SAS Cloud Analytic Services. \\n\\nDefault: 512KB\\n\\nRestriction: This option affects only write access.\"}}],\"#comment\":[{},{},{}]}}"
  },
  {
    "path": "server/data/SASDataStepOptions.json",
    "content": "{\"Keywords\":{\"Keyword\":[{\"Name\":\"DEBUG\",\"Type\":\"DATASTEP_OPTION\",\"Help\":{\"#cdata\":\"Enables you to debug your program interactively by helping to identify logic errors, \\nand sometimes data errors.\"}},{\"Name\":\"NESTING\",\"Type\":\"DATASTEP_OPTION\",\"Help\":{\"#cdata\":\"Specifies that a note will be printed to the SAS log for the beginning and end \\nof each DO-END and SELECT-END nesting level. This option enables you to debug \\nmismatched DO-END and SELECT-END statements and is particularly useful in large \\nprograms where the nesting level is not obvious.\"}},{\"Name\":\"STACK=\",\"Type\":\"DATASTEP_OPTION\",\"Help\":{\"#cdata\":\"Specifies the maximum number of nested LINK statements.\"}},{\"Name\":\"VIEW=\",\"Type\":\"DATASTEP_OPTION\",\"Help\":{\"#cdata\":\"Names a view that the DATA step uses to store the input DATA step view.\"}},{\"Name\":\"SOURCE=\",\"Type\":\"DATASTEP_OPTION_V\",\"Values\":{\"@Value1\":\"SAVE\",\"@Value2\":\"ENCRYPT\",\"@Value3\":\"NOSAVE\"},\"ToolTips\":{\"@ToolTip1\":\"Saves the source code that created a stored compiled DATA step program or a DATA step view.\",\"@ToolTip2\":\"Encrypts and saves the source code that created a stored compiled DATA step program  or a DATA step view.\",\"@ToolTip3\":\"Does not save the source code.\"},\"Help\":{\"#cdata\":\"Specifies one of the following source options: SAVE | ENCRYPT | NOSAVE.\"}},{\"Name\":\"NOLIST\",\"Type\":\"DATASTEP_OPTION\",\"Help\":{\"#cdata\":\"Suppresses the output of all variables to the SAS log when the value of _ERROR_ is 1. \\n    \\nRestriction: NOLIST must be the last option in the DATA statement.]\"}},{\"Name\":\"PGM=\",\"Type\":\"DATASTEP_OPTION_V\",\"Help\":{\"#cdata\":\"Names the stored compiled program that SAS creates or executes in the DATA step.\"}},{\"Name\":\"UNIQUE\",\"Type\":\"SETKEY_OPTION_S\",\"Help\":{\"#cdata\":\"Causes a KEY= search always to begin at the top of the index for the data set that \\nis being read.\"}},{\"Name\":\"END=\",\"Type\":\"SETSTATEMENT_OPTION_V\",\"Help\":{\"#cdata\":\"Creates and names a temporary variable that contains an end-of-file indicator.\"}},{\"Name\":\"KEY=\",\"Type\":\"SETSTATEMENT_OPTION_V\",\"Help\":{\"#cdata\":\"Provides nonsequential access to observations in a SAS data set, which are based \\non the value of an index variable or a key.\"}},{\"Name\":\"INDSNAME=\",\"Type\":\"SETSTATEMENT_OPTION_V\",\"Help\":{\"#cdata\":\"Creates and names a variable that stores the name of the SAS data set from which \\nthe current observation is read.\"}},{\"Name\":\"NOBS=\",\"Type\":\"SETSTATEMENT_OPTION_V\",\"Help\":{\"#cdata\":\"Creates and names a temporary variable whose value is usually the total number of \\nobservations in the input data set or data sets.\"}},{\"Name\":\"OPEN=\",\"Type\":\"SETSTATEMENT_OPTION_V\",\"Values\":{\"@Value1\":\"IMMEDIATE\",\"@Value2\":\"DEFER\"},\"ToolTips\":{\"@ToolTip1\":\"Specifies to open any concatenated SAS data sets immidiately.\",\"@ToolTip2\":\"Specifies to open any concatenated SAS data sets until they are ready to be processed.\"},\"Help\":{\"#cdata\":\"[Syntax: OPEN=(IMMEDIATE | DEFER)] \\n    \\nAllows you to delay the opening of any concatenated SAS data sets until they are ready to be processed.\"}},{\"Name\":\"POINT=\",\"Type\":\"SETSTATEMENT_OPTION_V\",\"Help\":{\"#cdata\":\"Specifies a temporary variable whose numeric value determines which observation is read. POINT= \\ncauses the SET statement to use random (direct) access to read a SAS data set.\"}},{\"Name\":\"_NUMERIC_\",\"Type\":\"SPECIAL_SASKEYWORD\",\"Help\":{\"#cdata\":\"Specifies all numeric variables that are already defined in the current DATA step.\"}},{\"Name\":\"_CHARACTER_\",\"Type\":\"SPECIAL_SASKEYWORD\",\"Help\":{\"#cdata\":\"Specifies all character variables that are currently defined in the current DATA step.\"}},{\"Name\":\"_ALL_\",\"Type\":\"SPECIAL_SASKEYWORD\",\"Help\":{\"#cdata\":\"In a DATA step, _ALL_ specifies all variables that are currently defined in the current DATA step. \\nIn an ODS statement, it specifies all open ODS output destinations.\"}},{\"Name\":\"FIRST.\",\"Type\":\"SPECIAL_SASKEYWORD\",\"Help\":{\"#cdata\":\"If you use a BY statement along with a set statement in a data step then SAS creates \\ntwo automatic variables, FIRST.variable and LAST.variable, where variable is the \\nname of the BY variable. The FIRST.variable has a value 1 for the first observation \\nin the BY group and 0 for all other observations in the group.\"}},{\"Name\":\"LAST.\",\"Type\":\"SPECIAL_SASKEYWORD\",\"Help\":{\"#cdata\":\"If you use a BY statement along with a set statement in a data step then SAS creates \\ntwo automatic variables, FIRST.variable and LAST.variable, where variable is the name \\nof the BY variable. The FIRST.variable has a value 1 for the first observation in the \\nBY group and 0 for all other observations in the group. The LAST.variable has a value \\nof 1 for the last observation in the BY group and 0 for all other observations in the \\nBY group.\"}},{\"Name\":\"ALTER=\",\"Type\":\"DATASET_OPTION_V\",\"Help\":{\"#cdata\":\"Assigns an alter password to a SAS file and enables access to a password-protected \\nSAS file.\"}},{\"Name\":\"BUFNO=\",\"Type\":\"DATASET_OPTION_V\",\"Values\":{\"@Value1\":\"n\",\"@Value2\":\"nK\",\"@Value3\":\"hexX\",\"@Value4\":\"MIN\",\"@Value5\":\"MAX\"},\"ToolTips\":{\"@ToolTip1\":\"Specifies the number of buffers in multiples of 1 (bytes).  Replace n with an integer value.\",\"@ToolTip2\":\"Specifies the number of buffers in multiples of 1,024 (kilobytes).  Replace n with an integer value.\",\"@ToolTip3\":\"Specifies the number of buffers as a hexadecimal value.  Replace hex with an actual hexadecimal value.\",\"@ToolTip4\":\"Sets the minimum number of buffers to 0, which causes SAS to use the minimum optimal value  for the operating environment. This is the default.\",\"@ToolTip5\":\"Sets the number of buffers to the maximum possible number in your operating environment,  up to the largest four-byte, signed integer, which is 2\\u00b3\\u00b9-1, or approximately 2 billion.\"},\"Help\":{\"#cdata\":\"Specifies the number of buffers for processing a SAS data set.\"}},{\"Name\":\"BUFSIZE=\",\"Type\":\"DATASET_OPTION_V\",\"Values\":{\"@Value1\":\"n\",\"@Value2\":\"nK\",\"@Value3\":\"nM\",\"@Value4\":\"nG\",\"@Value5\":\"hexX\",\"@Value6\":\"MIN\",\"@Value7\":\"MAX\"},\"ToolTips\":{\"@ToolTip1\":\"Specifies the page size in multiples of 1 (bytes). Replace n with an integer value.\",\"@ToolTip2\":\"Specifies the number of buffers in multiples of 1,024 (kilobytes).  Replace n with an integer value.\",\"@ToolTip3\":\"Specifies the page size in multiples of 1,048,576 (megabytes).  Replace n with an integer value.\",\"@ToolTip4\":\"Specifies the page size in multiples of 1,073,741,824 (gigabytes).  Replace n with an integer value.\",\"@ToolTip5\":\"Specifies the page size as a hexadecimal value.  Replace hex with an actual hexadecimal value.\",\"@ToolTip6\":\"Sets the page size of buffers to 0, which causes SAS to use the minimum  optimal value for the operating environment.  This is the default.\",\"@ToolTip7\":\"Sets the page size to the maximum possible number in your operating environment,  up to the largest four-byte, signed integer, which is 2\\u00b3\\u00b9-1, or approximately 2 billion.\"},\"Help\":{\"#cdata\":\"Specifies a permanent buffer size for output SAS data sets.\"}},{\"Name\":\"CNTLLEV=\",\"Type\":\"DATASET_OPTION_V\",\"Values\":{\"@Value1\":\"LIB\",\"@Value2\":\"MEM\",\"@Value3\":\"REC\"},\"ToolTips\":{\"@ToolTip1\":\"Specifies that concurrent access is controlled at the library level.  Library-level control restricts concurrent access to only one update process to the library.\",\"@ToolTip2\":\"Specifies that concurrent access is controlled at the SAS data set (member) level.\",\"@ToolTip3\":\"Specifies that concurrent access is controlled at the observation (record) level.\"},\"Help\":{\"#cdata\":\"Specifies the level of shared access to SAS data sets.\"}},{\"Name\":\"COMPRESS=\",\"Type\":\"DATASET_OPTION_V\",\"Values\":{\"@Value1\":\"NO\",\"@Value2\":\"YES\",\"@Value3\":\"CHAR\",\"@Value4\":\"BINARY\"},\"ToolTips\":{\"@ToolTip1\":\"Specifies that the observations in a newly created SAS data set are uncompressed  (fixed-length records).\",\"@ToolTip2\":\"Specifies that the observations in a newly created SAS data set are compressed  (variable-length records) by SAS using RLE (Run Length Encoding).\",\"@ToolTip3\":\"Same as YES,  but COMPRESS=CHAR is only accepted by Version 7 and later versions.\",\"@ToolTip4\":\"Specifies that the observations in a newly created SAS data set are compressed  (variable-length records) by SAS using RDC (Ross Data Compression).\"},\"Help\":{\"#cdata\":\"Compresses observations in an output SAS data set.\"}},{\"Name\":\"DLDMGACTION=\",\"Type\":\"DATASET_OPTION_V\",\"Values\":{\"@Value1\":\"FAIL\",\"@Value2\":\"ABORT\",\"@Value3\":\"REPAIR\",\"@Value4\":\"NOINDEX\",\"@Value5\":\"PROMPT\"},\"ToolTips\":{\"@ToolTip1\":\"Stops the step, issues an error message to the log immediately. This is the default  for batch mode.\",\"@ToolTip2\":\"Terminates the step, issues an error message to the log, and terminates the SAS session.\",\"@ToolTip3\":\"Automatically repairs and rebuilds indexes and integrity constraints, unless the  data file is truncated. You use the REPAIR statement in PROC DATASETS to restore  a truncated data set. It issues a warning message to the log. This is the default  for interactive mode.\",\"@ToolTip4\":\"Automatically repairs the data file without the indexes and integrity constraints,  deletes the index file, updates the data file to reflect the disabled indexes and  integrity constraints, and limits the data file to be opened only in INPUT mode.\",\"@ToolTip5\":\"Displays a dialog box that asks you to select the FAIL, ABORT, REPAIR, or NOINDEX action.\"},\"Help\":{\"#cdata\":\"Specifies what type of action to take when a SAS data set in a SAS data library is detected as damaged.\"}},{\"Name\":\"ENCRYPT=\",\"Type\":\"DATASET_OPTION_V\",\"Values\":{\"@Value1\":\"YES\",\"@Value2\":\"NO\"},\"ToolTips\":{\"@ToolTip1\":\"Encrypts the file using SAS Proprietary encryption. At a minimum, you must specify  the READ= or the PW= data set option at the same time that you specify ENCRYPT=YES.\",\"@ToolTip2\":\"Does not encrypt the file.\"},\"Help\":{\"#cdata\":\"Encrypts SAS data files.\"}},{\"Name\":\"GENMAX=\",\"Type\":\"DATASET_OPTION_V\",\"Help\":{\"#cdata\":\"Requests generations for a data set and specifies the maximum number of versions.\"}},{\"Name\":\"GENNUM=\",\"Type\":\"DATASET_OPTION_V\",\"Help\":{\"#cdata\":\"References a specific generation of a data set.\"}},{\"Name\":\"INDEX=\",\"Type\":\"DATASET_OPTION_V\",\"Help\":{\"#cdata\":\"Defines indexes when a SAS data set is created.\"}},{\"Name\":\"LABEL=\",\"Type\":\"DATASET_OPTION_V\",\"Help\":{\"#cdata\":\"Specifies a label for the data set.\"}},{\"Name\":\"OUTREP=\",\"Type\":\"DATASET_OPTION_V\",\"Help\":{\"#cdata\":\"Specifies an operating environment's requirements vector for an output file.\"}},{\"Name\":\"PW=\",\"Type\":\"DATASET_OPTION_V\",\"Help\":{\"#cdata\":\"Assigns a read, write, or alter password to a SAS file and enables access to a \\npassword-protected SAS file.\"}},{\"Name\":\"PWREQ=\",\"Type\":\"DATASET_OPTION_V\",\"Values\":{\"@Value1\":\"YES\",\"@Value2\":\"NO\"},\"ToolTips\":{\"@ToolTip1\":\"Specifies to display a dialog box.\",\"@ToolTip2\":\"Prevents a dialog box from displaying.  If a missing or invalid password is entered, the data set is not opened and an error  message is written to the SAS log.\"},\"Help\":{\"#cdata\":\"Controls the pop up of a requestor window for a data set password.\"}},{\"Name\":\"READ=\",\"Type\":\"DATASET_OPTION_V\",\"Help\":{\"#cdata\":\"Assigns a read password to a SAS file and enables access to a read-protected SAS file.\"}},{\"Name\":\"REPEMPTY=\",\"Type\":\"DATASET_OPTION_V\",\"Values\":{\"@Value1\":\"YES\",\"@Value2\":\"NO\"},\"ToolTips\":{\"@ToolTip1\":\"Specifies that a new empty data set with a given name replaces an existing data set  with the same name. This is the default.\",\"@ToolTip2\":\"Specifies that a new empty data set with a given name does not replace an existing  data set with the same name.\"},\"Help\":{\"#cdata\":\"Specifies whether a new, empty data set can overwrite an existing SAS data set that has the same name.\"}},{\"Name\":\"REPLACE=\",\"Type\":\"DATASET_OPTION_V\",\"Values\":{\"@Value1\":\"YES\",\"@Value2\":\"NO\"},\"ToolTips\":{\"@ToolTip1\":\"Specifies that a new data set with a given name replaces an existing data set with  the same name.\",\"@ToolTip2\":\"Specifies that a new data set with a given name does not replace an existing data  set with the same name.\"},\"Help\":{\"#cdata\":\"Specifies whether a new SAS data set that contains data can overwrite an existing \\ndata set that has the same name.\"}},{\"Name\":\"REUSE=\",\"Type\":\"DATASET_OPTION_V\",\"Values\":{\"@Value1\":\"YES\",\"@Value2\":\"NO\"},\"ToolTips\":{\"@ToolTip1\":\"Tracks and reuses space in compressed SAS data sets.  New observations are inserted in the space that is freed when other observations are updated or deleted.\",\"@ToolTip2\":\"Does not track and reuse space in compressed data sets.  New observations are appended to the existing data set.\"},\"Help\":{\"#cdata\":\"Specifies whether new observations are written to free space in compressed SAS data sets.\"}},{\"Name\":\"SPILL=\",\"Type\":\"DATASET_OPTION_V\",\"Values\":{\"@Value1\":\"YES\",\"@Value2\":\"NO\"},\"ToolTips\":{\"@ToolTip1\":\"Creates a spill file for non-sequential processing of a DATA step view. This is the default.\",\"@ToolTip2\":\"Does not create a spill file or reduces the size of a spill file.\"},\"Help\":{\"#cdata\":\"Specifies whether to create a spill file for non-sequential processing of a DATA step view.\"}},{\"Name\":\"SORTEDBY=\",\"Type\":\"DATASET_OPTION_V\",\"Values\":{\"@Value1\":\"by-clause < / collate-name>\",\"@Value2\":\"_NULL_\"},\"ToolTips\":{\"@ToolTip1\":\"By-clause names the variables and options that you use in a BY statement in a PROC  SORT step. collate-name names the collating sequence that is used for the sort.\",\"@ToolTip2\":\"Removes any existing sort indicator.\"},\"Help\":{\"#cdata\":\"Specifies how the data set is currently sorted.\"}},{\"Name\":\"TOBSNO=\",\"Type\":\"DATASET_OPTION_V\",\"Help\":{\"#cdata\":\"Specifies the number of observations to be transmitted in each multi-observation \\nexchange with a SAS server.\"}},{\"Name\":\"TRANTAB=\",\"Type\":\"DATASET_OPTION_V\",\"Help\":{\"#cdata\":\"Specifies a translation table for character conversions.\"}},{\"Name\":\"TYPE=\",\"Type\":\"DATASET_OPTION_V\",\"Help\":{\"#cdata\":\"Specifies the data set type for a specially structured SAS data set.\"}},{\"Name\":\"WRITE=\",\"Type\":\"DATASET_OPTION_V\",\"Help\":{\"#cdata\":\"Assigns a write password to a SAS file and enables access to a write-protected SAS file.\"}},{\"Name\":\"FILECLOSE=\",\"Type\":\"DATASET_OPTION_V\",\"Values\":{\"@Value1\":\"DISP\",\"@Value2\":\"LEAVE\",\"@Value3\":\"REREAD\",\"@Value4\":\"REWIND\"},\"ToolTips\":{\"@ToolTip1\":\"Positions the tape volume according to the disposition specified in the operating  environment's control language.\",\"@ToolTip2\":\"Positions the tape at the end of the file that was just processed.  Use FILECLOSE=LEAVE if you are not repeatedly accessing the same files in a SAS program  but you are accessing one or more subsequent SAS files on the same tape.\",\"@ToolTip3\":\"Positions the tape volume at the beginning of the file that was just processed.  Use FILECLOSE=REREAD if you are accessing the same SAS data set on tape several times in a SAS program.\",\"@ToolTip4\":\"Rewinds the tape volume to the beginning.  Use FILECLOSE=REWIND if you are accessing one or more previous SAS files on the same tape,  but you are not repeatedly accessing the same files in a SAS program.\"},\"Help\":{\"#cdata\":\"Specifies how a tape is positioned when a SAS file on the tape is closed.\"}},{\"Name\":\"FIRSTOBS=\",\"Type\":\"DATASET_OPTION_V\",\"Values\":{\"@Value1\":\"n\",\"@Value2\":\"nK\",\"@Value3\":\"nM\",\"@Value4\":\"nG\",\"@Value5\":\"hexX\",\"@Value6\":\"MIN\",\"@Value7\":\"MAX\"},\"ToolTips\":{\"@ToolTip1\":\"Specifies the number of the first observation to process in multiples of 1 (bytes).  Replace n with an integer value.\",\"@ToolTip2\":\"Specifies the number of the first observation to process in multiples of 1,024  (kilobytes). Replace n with an integer value.\",\"@ToolTip3\":\"Specifies the number of the first observation to process in multiples of 1,048,576  (megabytes). Replace n with an integer value.\",\"@ToolTip4\":\"Specifies the number of the first observation to process in multiples of 1,073,741,824  (gigabytes). Replace n with an integer value.\",\"@ToolTip5\":\"Specifies the number of the first observation to process as a hexadecimal value.  Replace hex with an actual hexadecimal value.\",\"@ToolTip6\":\"Sets the number of the first observation to process to 1. This is the default.\",\"@ToolTip7\":\"Sets the number of the first observation to process to the maximum number of  observations in the data set, up to the largest eight-byte, signed integer, which  is 2\\u2076\\u00b3-1, or or approximately 9.2 quintillion observations.\"},\"Help\":{\"#cdata\":\"Causes processing to begin at a specified observation.\"}},{\"Name\":\"IN=\",\"Type\":\"DATASET_OPTION_V\",\"Help\":{\"#cdata\":\"Creates a variable that indicates whether the data set contributed data to the current observation.\"}},{\"Name\":\"OBS=\",\"Type\":\"DATASET_OPTION_V\",\"Values\":{\"@Value1\":\"n\",\"@Value2\":\"nK\",\"@Value3\":\"nM\",\"@Value4\":\"nG\",\"@Value5\":\"nT\",\"@Value6\":\"hexX\",\"@Value7\":\"MIN\",\"@Value8\":\"MAX\"},\"ToolTips\":{\"@ToolTip1\":\"Specifies a number to indicate when to stop processing observations in multiples  of 1 (bytes). Replace n with an integer value.\",\"@ToolTip2\":\"Specifies the number of buffers in multiples of 1,024 (kilobytes). Replace n with  an integer value.\",\"@ToolTip3\":\"Specifies a number to indicate when to stop processing observations in multiples  of 1,048,576 (megabytes). Replace n with an integer value.\",\"@ToolTip4\":\"Specifies a number to indicate when to stop processing observations in multiples  of 1,073,741,824 (gigabytes).  Replace n with an integer value.\",\"@ToolTip5\":\"Specifies a number to indicate when to stop processing observations in multiples  of 1,099,511,627,776 (terabytes). Replace n with an integer value.\",\"@ToolTip6\":\"Specifies the number to indicate when to stop processing observations as a hexadecimal  value. Replace hex with an actual hexadecimal value.\",\"@ToolTip7\":\"Sets the number to indicate when to stop processing observations to 0. Use OBS=0  in order to create an empty data set that has the structure, but not the  observations, of another data set.\",\"@ToolTip8\":\"Sets the number to indicate when to stop processing observations to the maximum  number of observations in the data set, up to the largest eight-byte, signed  integer, which is 2\\u2076\\u00b3-1, or or approximately 9.2 quintillion observations.  This is the default.\"},\"Help\":{\"#cdata\":\"Causes processing to end with the nth observation.\"}},{\"Name\":\"POINTOBS=\",\"Type\":\"DATASET_OPTION_V\",\"Values\":{\"@Value1\":\"YES\",\"@Value2\":\"NO\"},\"ToolTips\":{\"@ToolTip1\":\"Causes SAS software to produce a compressed data set that might be randomly accessed  by observation number. This is the default.\",\"@ToolTip2\":\"Suppresses the ability to randomly access observations in a compressed data set by  observation number.\"},\"Help\":{\"#cdata\":\"Controls whether a compressed data set may be processed with random access (by \\nobservation number) rather than sequential access only.\"}},{\"Name\":\"WHERE=\",\"Type\":\"DATASET_OPTION_V\",\"Help\":{\"#cdata\":\"Selects observations that meet the specified condition.\"}},{\"Name\":\"WHEREUP=\",\"Type\":\"DATASET_OPTION_V\",\"Values\":{\"@Value1\":\"YES\",\"@Value2\":\"NO\"},\"ToolTips\":{\"@ToolTip1\":\"Evaluates added observations and modified observations against a WHERE expression. Specify WHEREUP=YES when you want any added observations or modified observations  to match a specified WHERE expression.\",\"@ToolTip2\":\"Does not evaluate added observations and modified observations against a  WHERE expression.\"},\"Help\":{\"#cdata\":\"Specifies whether to evaluate added observations and modified observations against \\na WHERE expression.\"}},{\"Name\":\"SGIO=\",\"Type\":\"DATASET_OPTION_V\",\"Values\":{\"@Value1\":\"YES\",\"@Value2\":\"NO\"},\"ToolTips\":{\"@ToolTip1\":\"Specifies that SAS activate the scatter-read / gather-write feature for a SAS data set. The scatter-read / gather-write feature remains active until your SAS session ends.\",\"@ToolTip2\":\"Specifies that SAS not activate the scatter-read/gather-write feature for the SAS data set.\"},\"Help\":{\"#cdata\":\"Activates the Scatter/Gather I/O feature for a data set.\"}},{\"Name\":\"IDXNAME=\",\"Type\":\"DATASET_OPTION_V\",\"Help\":{\"#cdata\":\"Directs SAS to use a specific index to satisfy the conditions of a WHERE expression.\"}},{\"Name\":\"IDXWHERE=\",\"Type\":\"DATASET_OPTION_V\",\"Values\":{\"@Value1\":\"YES\",\"@Value2\":\"NO\"},\"ToolTips\":{\"@ToolTip1\":\"Tells SAS to choose the best index to optimize a WHERE expression, and to disregard  the possibility that a sequential search of the data set might be more resource- efficient.\",\"@ToolTip2\":\"Tells SAS to ignore all indexes and satisfy the conditions of a WHERE expression with   a sequential search of the data set.\"},\"Help\":{\"#cdata\":\"Overrides the SAS System decision about whether to use an index to satisfy the conditions \\nof a WHERE expression.\"}},{\"Name\":\"DROP=\",\"Type\":\"DATASET_OPTION_V\",\"Help\":{\"#cdata\":\"Excludes variables from processing or from output SAS data sets.\"}},{\"Name\":\"KEEP=\",\"Type\":\"DATASET_OPTION_V\",\"Help\":{\"#cdata\":\"Specifies variables for processing or for writing to output SAS data sets.\"}},{\"Name\":\"RENAME=\",\"Type\":\"DATASET_OPTION_V\",\"Help\":{\"#cdata\":\"Changes the name of a variable.\"}}],\"#comment\":[{},{},{},{},{}]}}"
  },
  {
    "path": "server/data/SASDataStepOptions2.json",
    "content": "{\"Keywords\":{\"#comment\":[{},{},{},{}],\"Keyword\":[{\"Name\":\"ALTER=\",\"Type\":\"DATAPASSWORD_OPTION_V\",\"Help\":{\"#cdata\":\"Assigns an alter password to a SAS data file. The password allows you to protect \\nor replace a stored compiled DATA step program or a DATA step view.\"}},{\"Name\":\"READ=\",\"Type\":\"DATAPASSWORD_OPTION_V\",\"Help\":{\"#cdata\":\"Assigns a read password to a SAS data file. The password allows you to read or \\nexecute a stored compiled DATA step program or a DATA step view.\"}},{\"Name\":\"PW=\",\"Type\":\"DATAPASSWORD_OPTION_V\",\"Help\":{\"#cdata\":\"Assigns a READ and ALTER password, both having the same value.\"}},{\"Name\":\"SOURCE=\",\"Type\":\"DATAPASSWORD_OPTION_V\",\"Help\":{\"#cdata\":\"Specifies one of the following source options: SAVE (saves source code), ENCRYPT \\n(encrypts and saves source code), or NOSAVE (does not save the source code).\"},\"Values\":{\"@Value1\":\"SAVE\",\"@Value2\":\"ENCRYPT\",\"@Value3\":\"NOSAVE\"},\"ToolTips\":{\"@ToolTip1\":\"Specifies to save the source code.\",\"@ToolTip2\":\"Specifies to encrypt and save the source code.\",\"@ToolTip3\":\"Specifies not to save the source code.\"}},{\"Name\":\"NOLIST\",\"Type\":\"DATAVIEWPGM_OPTION_S\",\"Help\":{\"#cdata\":\"Suppresses the output of all variables to the SAS log when the value of _ERROR_ is 1.\"}},{\"Name\":\"_NULL_\",\"Type\":\"DATASTEP_DEFINITION\",\"Help\":{\"#cdata\":\"Specifies that SAS does not create a data set when it executes the DATA step.\"}},{\"Name\":\"VIEW=\",\"Type\":\"DATASTEP_DEFINITION\",\"Help\":{\"#cdata\":\"Names a view that the DATA step uses to store the input DATA step view.\"}},{\"Name\":\"PGM=\",\"Type\":\"DATASTEP_DEFINITION\",\"Help\":{\"#cdata\":\"Names the stored compiled program that SAS creates or executes in the DATA step. \\nTo create a stored compiled program, specify a slash (/) before the PGM= option. \\nTo execute a stored compiled program, specify the PGM= option without a slash (/).\"}},{\"Name\":\"UNIQUE\",\"Type\":\"DATASETINDEX_OPTION_S\",\"Help\":{\"#cdata\":\"Specifies that the values of the key variables must be unique.\"}},{\"Name\":\"NOMISS\",\"Type\":\"DATASETINDEX_OPTION_S\",\"Help\":{\"#cdata\":\"Excludes all observations with missing values from the index.\"}}]}}"
  },
  {
    "path": "server/data/SASDataStepStatements.json",
    "content": "{\"Keywords\":{\"Keyword\":[{\"Name\":\"ABORT\",\"Type\":\"DATASTEP_STATEMENT\",\"Help\":{\"#cdata\":\"Syntax: ABORT <ABEND | RETURN> <n>; \\n    \\nStops executing the current DATA step, SAS job, or SAS session.\"}},{\"Name\":\"DECLARE\",\"Type\":\"DATASTEP_STATEMENT\",\"Help\":{\"#cdata\":\"Syntax: DECLARE object variable<(<argument_tag-1: value-1<, ...argument_tag-n: value-n>>)>; \\n    \\nDeclares a DATA step component object; creates an instance of and initializes data \\nfor a DATA step component object.\\n\\n\"}},{\"Name\":\"DELETE\",\"Type\":\"DATASTEP_STATEMENT\",\"Help\":{\"#cdata\":\"Stops processing the current observation.\\n\\nSyntax: DELETE; \"}},{\"Name\":\"DESCRIBE\",\"Type\":\"DATASTEP_STATEMENT\",\"Help\":{\"#cdata\":\"Syntax: DESCRIBE; \\n    \\nRetrieves source code from a stored compiled DATA step program or a DATA step view.\"}},{\"Name\":\"ERROR\",\"Type\":\"DATASTEP_STATEMENT\",\"Help\":{\"#cdata\":\"Syntax: ERROR <message>; \\n    \\nSets _ERROR_ to 1 and, optionally, writes a message to the SAS log.\"}},{\"Name\":\"EXECUTE\",\"Type\":\"DATASTEP_STATEMENT\",\"Help\":{\"#cdata\":\"Syntax: EXECUTE; \\n    \\nExecutes a stored compiled DATA step program.\"}},{\"Name\":\"LIST\",\"Type\":\"DATASTEP_STATEMENT\",\"Help\":{\"#cdata\":\"Syntax: LIST; \\n    \\nWrites to the SAS log the input data record for the observation that is being processed.\"}},{\"Name\":\"LOSTCARD\",\"Type\":\"DATASTEP_STATEMENT\",\"Help\":{\"#cdata\":\"Syntax: LOSTCARD; \\n    \\nResynchronizes the input data when SAS encounters a missing or invalid record in data \\nthat has multiple records per observation.\"}},{\"Name\":\"OUTPUT\",\"Type\":\"DATASTEP_STATEMENT\",\"Help\":{\"#cdata\":\"Syntax: OUTPUT<data-set-name(s)>; \\n    \\nWrites the current observation to a SAS data set.\"}},{\"Name\":\"PUTLOG\",\"Type\":\"DATASTEP_STATEMENT\",\"Help\":{\"#cdata\":\"Syntax: PUTLOG 'message'; \\n    \\nWrites a message to the SAS log.\"}},{\"Name\":\"REDIRECT INPUT\",\"Type\":\"DATASTEP_STATEMENT\",\"Help\":{\"#cdata\":\"Syntax: REDIRECT INPUT old-name-1 = new-name-1<... old-name-n = new-name-n>; \\n    \\nThe REDIRECT statement associates the name of the input data set in the source program \\nwith the name of another SAS data set.\"}},{\"Name\":\"REDIRECT OUTPUT\",\"Type\":\"DATASTEP_STATEMENT\",\"Help\":{\"#cdata\":\"Syntax: REDIRECT OUTPUT old-name-1 = new-name-1<... old-name-n = new-name-n>; \\n    \\nThe REDIRECT statement associates the name of the output data set with the name of \\nanother SAS data set.\"}},{\"Name\":\"REMOVE\",\"Type\":\"DATASTEP_STATEMENT\",\"Help\":{\"#cdata\":\"Syntax: REMOVE <data-set-name(s)>; \\n    \\n    \\nDeletes an observation from a SAS data set.\"}},{\"Name\":\"REPLACE\",\"Type\":\"DATASTEP_STATEMENT\",\"Help\":{\"#cdata\":\"Syntax: REPLACE <data-set-name-1><...data-set-name-n>; \\n    \\nReplaces an observation in the same location.\"}},{\"Name\":\"STOP\",\"Type\":\"DATASTEP_STATEMENT\",\"Help\":{\"#cdata\":\"Syntax: STOP; \\n    \\nStops execution of the current DATA step.\"}},{\"Name\":\"WHERE\",\"Type\":\"DATASTEP_STATEMENT\",\"Help\":{\"#cdata\":\"Syntax: WHERE where-expression-1 < logical-operator where-expression-n>; \\n    \\nwhere\\n\\nlogical-operator can be AND, AND NOT, OR, or OR NOT. \\n\\nSelects observations from SAS data sets that meet a particular condition.\"}},{\"Name\":\"CONTINUE\",\"Type\":\"DATASTEP_STATEMENT\",\"Help\":{\"#cdata\":\"Syntax: CONTINUE; \\n    \\nStops processing the current DO-loop iteration and resumes with the next iteration.\"}},{\"Name\":\"THEN\",\"Type\":\"DATASTEP_STATEMENT\",\"Help\":{\"#cdata\":\"Syntax: IF expression THEN statement; \\n    \\nPart of an (IF expression THEN) statement.\"}},{\"Name\":\"DO\",\"Type\":\"DATASTEP_STATEMENT\",\"Help\":{\"#cdata\":\"[Iterative] Executes statements between DO and END repetitively based on the value \\nof an index variable.\\n\\nSyntax:\\nDO index-variable=specification-1 <, ... specification-n>;\\n... more SAS statements ...\\nEND; \"}},{\"Name\":\"UNTIL\",\"Type\":\"DATASTEP_STATEMENT\",\"Help\":{\"#cdata\":\"DO UNTIL executes statements in a DO loop repetitively until a condition is true.\\n\\nSyntax:\\nDO UNTIL (expression);\\n...more SAS statements...\\nEND; \"}},{\"Name\":\"WHILE\",\"Type\":\"DATASTEP_STATEMENT\",\"Help\":{\"#cdata\":\"DO WHILE executes statements repetitively while a condition is true.\\n\\nSyntax:\\nDO WHILE (expression);\\n...more SAS statements...\\nEND; \"}},{\"Name\":\"END\",\"Type\":\"DATASTEP_STATEMENT\",\"Help\":{\"#cdata\":\"Ends a DO group or a SELECT group.\\nSyntax: END; \"}},{\"Name\":\"GO TO\",\"Type\":\"DATASTEP_STATEMENT\",\"Help\":{\"#cdata\":\"Moves execution immediately to the statement label that is specified.\\n\\nSyntax: GO TO label; \"}},{\"Name\":\"GOTO\",\"Type\":\"DATASTEP_STATEMENT\",\"Help\":{\"#cdata\":\"See GO TO statement\"}},{\"Name\":\"IF\",\"Type\":\"DATASTEP_STATEMENT\",\"Help\":{\"#cdata\":\"Executes a SAS statement for observations that meet specific conditions.\\n\\nSyntax: IF expression THEN statement;\\n  <ELSE statement;>.\\n\\nSyntax: IF expression; \\n\\n[SUBSETTING] Continues processing only those observations that meet the condition\"}},{\"Name\":\"ELSE\",\"Type\":\"DATASTEP_STATEMENT\",\"Help\":{\"#cdata\":\"Used in combination with an IF-THEN statement.      \\n\\nSyntax:\\nIF expression THEN statement;\\n<ELSE statement;> \"}},{\"Name\":\"LEAVE\",\"Type\":\"DATASTEP_STATEMENT\",\"Help\":{\"#cdata\":\"Syntax: LEAVE; \\n    \\nStops processing the current loop and resumes with the next statement in sequence.\"}},{\"Name\":\"LINK\",\"Type\":\"DATASTEP_STATEMENT\",\"Help\":{\"#cdata\":\"Jumps to a statement label.\\n\\nSyntax: LINK label; \"}},{\"Name\":\"RETURN\",\"Type\":\"DATASTEP_STATEMENT\",\"Help\":{\"#cdata\":\"Syntax: RETURN; \\n    \\nStops executing statements at the current point in the DATA step and returns to a \\npredetermined point in the step.\"}},{\"Name\":\"SELECT\",\"Type\":\"DATASTEP_STATEMENT\",\"Help\":{\"#cdata\":\"Executes one of several statements or groups of statements.\\n\\nSyntax:\\nSELECT <(select-expression)>;\\n   WHEN-1 (when-expression-1 <..., when-expression-n>) statement;\\n   <... WHEN-n (when-expression-1 <..., when-expression-n>) statement;>\\n       <OTHERWISE statement;>\\nEND; \"}},{\"Name\":\"BY\",\"Type\":\"DATASTEP_STATEMENT\",\"Help\":{\"#cdata\":\"Controls the operation of a SET, MERGE, MODIFY, or UPDATE statement in the DATA step \\nand sets up special grouping variables. \\n\\nSyntax: BY <DESCENDING> variable-1\\n  <... <DESCENDING> variable-n > <NOTSORTED><GROUPFORMAT>; \"}},{\"Name\":\"CARDS\",\"Type\":\"DATASTEP_STATEMENT\",\"Help\":{\"#cdata\":\"Syntax: CARDS; \\n    \\nIndicates that data lines follow.\"}},{\"Name\":\"CARDS4\",\"Type\":\"DATASTEP_STATEMENT\",\"Help\":{\"#cdata\":\"Syntax: CARDS4; \\n    \\nIndicates that data lines that contain semicolons follow.\"}},{\"Name\":\"DATALINES\",\"Type\":\"DATASTEP_STATEMENT\",\"Help\":{\"#cdata\":\"Syntax: DATALINES; \\n    \\nIndicates that data lines follow.\"}},{\"Name\":\"DATALINES4\",\"Type\":\"DATASTEP_STATEMENT\",\"Help\":{\"#cdata\":\"Syntax: DATALINES4; \\n    \\nIndicates that data lines that contain semicolons follow.\"}},{\"Name\":\"FILE\",\"Type\":\"DATASTEP_STATEMENT\",\"Help\":{\"#cdata\":\"Syntax: FILE file-specification <options> <operating-environment-options>; \\n    \\nSpecifies the current output file for PUT statements.\"}},{\"Name\":\"FILE PRINT ODS\",\"Type\":\"DATASTEP_STATEMENT\",\"Help\":{\"#cdata\":\"Syntax: FILE PRINT ODS <=(ODS-suboption(s))><options> ; \\n    \\nCreates an ODS output object by binding the data component to the table definition \\n(template). Optionally, lists the variables to include in the ODS output and \\nspecifies options that control the way that the variables are formatted.\"}},{\"Name\":\"INFILE\",\"Type\":\"DATASTEP_STATEMENT\",\"Help\":{\"#cdata\":\"Identifies an external file to read with an INPUT statement.\\n\\nSyntax:\\n(1) INFILE file-specification <options > <operating-environment-options>;\\n\\n(2) INFILE DBMS-specifications; \"}},{\"Name\":\"INPUT\",\"Type\":\"DATASTEP_STATEMENT\",\"Help\":{\"#cdata\":\"Describes the arrangement of values in the input data record and assigns input values \\nto the corresponding SAS variables. Column INPUT reads input values from specified \\ncolumns and assigns them to the corresponding SAS variables. Formatted INPUT reads \\ninput values with specified informats and assigns them to the corresponding SAS \\nvariables. List INPUT scans the input data record for input values and assigns them \\nto the corresponding SAS variables. Named INPUT reads data values that appear after \\na variable name that is followed by an equal sign and assigns them to corresponding \\nSAS variables.\\n\\nSyntax:\\n(1) INPUT <specification(s)><@|@@>;\\n\\n(2) [Column] INPUT variable <$> start-column <-- end-column> <.decimals> <@ | @@>;\\n\\n(3) [Formatted] INPUT <pointer-control> variable informat. <@ | @@>;\\n\\n(4) [Formatted] INPUT<pointer-control> (variable-list) (informat-list) <@ | @@>;\\n\\n(5) [Formatted] INPUT <pointer-control> (variable-list) (<n*> informat.) <@ | @@>;\\n\\n(6) [List] INPUT <pointer-control> variable <$> <&> <@ | @@>;\\n\\n(7) [List] INPUT <pointer-control> variable <:|&|~> <informat.> <@ | @@>;\\n\\n(8) [Named] INPUT <pointer-control> variable= <$> <@ | @@>;\\n\\n(9) [Named] INPUT <pointer-control> variable= informat. <@ | @@>; \\n\\n(10)[Named] INPUT variable= <$> start-column <-- end-column> <.decimals> <@ | @@>; \"}},{\"Name\":\"MERGE\",\"Type\":\"DATASTEP_STATEMENT\",\"Help\":{\"#cdata\":\"Joins observations from two or more SAS data sets into single observations.\\n\\nSyntax:\\nMERGE SAS-data-set-1 <(data-set-options)>\\n  SAS-data-set-2 <(data-set-options) >\\n  <... SAS-data-set-n<(data-set-options)>>\\n  <END=variable>; \"}},{\"Name\":\"MODIFY\",\"Type\":\"DATASTEP_STATEMENT\",\"Help\":{\"#cdata\":\"Replaces, deletes, and appends observations in an existing SAS data set in place; \\ndoes not create an additional copy.\\n\\nSyntax:\\n(1) MODIFY master-data-set <(data-set-option(s))> transaction-data-set <(data-set-option(s))> \\n    <NOBS=variable> <END=variable> <UPDATEMODE=MISSINGCHECK | NOMISSINGCHECK>; \\n    BY by-variable; \\n\\n(2) MODIFY master-data-set <(data-set-option(s))> KEY=index </ UNIQUE> <NOBS=variable> <END=variable> ;\\n\\n(3) MODIFY master-data-set <(data-set-option(s))> <NOBS=variable> POINT=variable;\\n\\n(4) MODIFY master-data-set <(data-set-option(s))> <NOBS=variable> <END=variable>; \"}},{\"Name\":\"PUT\",\"Type\":\"DATASTEP_STATEMENT\",\"Help\":{\"#cdata\":\"Writes lines to the SAS log, to the SAS output window, or to an external location that \\nis specified in the most recent FILE statement. Column PUT writes variable values in \\nthe specified columns in the output line, Formatted PUT writes variable values with \\nthe specified format in the output line. List PUT writes variable values and the \\nspecified character strings in the output line. Named PUT writes variable values \\nafter the variable name and an equal sign. ODS PUT writes data values to a special \\nbuffer from which they can be written to the data component and formatted by ODS.\\n\\nSyntax:\\n(1) PUT <specification(s)><_ODS_><@|@@>; \\n(2) [Column PUT] PUT variable start-column <-- end-column> <.decimal-places> <@ | @@>;\\n(3) [Formatted PUT] PUT <pointer-control> variable format. <@ | @@>; \\n(4) [Formatted PUT] PUT <pointer-control> (variable-list) (format-list) <@ | @@>;\\n(5) [List PUT] PUT <pointer-control> variable <@ | @@>; \\n(6) [List PUT] PUT <pointer-control> <n*>'character-string' <@ | @@>; \\n(7) [List PUT] PUT <pointer-control> variable <: | ~> format.<@ | @@>; \\n(8) [List PUT] PUT <pointer-control> variable= <format.> <@ | @@>;\\n(9) [List PUT] PUT variable= start-column <-- end-column> <.decimal-places> <@ | @@>; \"}},{\"Name\":\"SET\",\"Type\":\"DATASTEP_STATEMENT\",\"Help\":{\"#cdata\":\"Syntax: SET<SAS-data-set(s) <(data-set-options(s) )>> <options>; \\n    \\nReads an observation from one or more SAS data sets.\"}},{\"Name\":\"UPDATE\",\"Type\":\"DATASTEP_STATEMENT\",\"Help\":{\"#cdata\":\"Updates a master file by applying transactions.\\n\\nSyntax:\\nUPDATE master-data-set<(data-set-options)> transaction-data-set<(data-set-options)>\\n   <END=variable>\\n   <UPDATEMODE=\\n   MISSINGCHECK|NOMISSINGCHECK>;\\n   BY by-variable\"}},{\"Name\":\"ARRAY\",\"Type\":\"DATASTEP_STATEMENT\",\"Help\":{\"#cdata\":\"Defines elements of an array.\\n\\nSyntax:\\nARRAY array-name { subscript } <$><length>\\n<array-elements> <(initial-value-list)>; \"}},{\"Name\":\"ATTRIB\",\"Type\":\"DATASTEP_STATEMENT\",\"Help\":{\"#cdata\":\"Syntax: ATTRIB variable-list(s) attribute-list(s) ; \\n    \\nAssociates a format, informat, label, and/or length with one or more variables.\"}},{\"Name\":\"DROP\",\"Type\":\"DATASTEP_STATEMENT\",\"Help\":{\"#cdata\":\"Syntax: DROP variable-list; \\n    \\nExcludes variables from output SAS data sets.\"}},{\"Name\":\"FORMAT\",\"Type\":\"DATASTEP_STATEMENT\",\"Help\":{\"#cdata\":\"Associates formats with variables.\\n\\nSyntax:\\n(1) FORMAT variable-1 <... variable-n> <format> <DEFAULT=default-format>;\\n\\n(2) FORMAT variable-1 <... variable-n> format <DEFAULT=default-format>;\\n\\n(3) FORMAT variable-1 <... variable-n> format variable-1 <... variable-n> format;\\n\\nIf you omit DEFAULT=, SAS uses BESTw. as the default numeric format and $w. as the default character format.\"}},{\"Name\":\"INFORMAT\",\"Type\":\"DATASTEP_STATEMENT\",\"Help\":{\"#cdata\":\"Associates informats with variables.\\n\\nSyntax:\\nINFORMAT variable-1 <... variable-n> <informat>;\\n\\nINFORMAT <variable-1> <... variable-n> <DEFAULT=default-informat>;\\n\\nINFORMAT variable-1 <... variable-n> informat <DEFAULT=default-informat>; \"}},{\"Name\":\"KEEP\",\"Type\":\"DATASTEP_STATEMENT\",\"Help\":{\"#cdata\":\"Syntax: KEEP variable-list; \\n    \\nIncludes variables in output SAS data sets.\"}},{\"Name\":\"LABEL\",\"Type\":\"DATASTEP_STATEMENT\",\"Help\":{\"#cdata\":\"Assigns descriptive labels to variables.\\n\\nSyntax:\\n(1) LABEL variable-1='label-1' ... <variable-n='label-n'>; \\n\\n(2) LABEL variable-1=' ' ... <variable-n=' '>; \"}},{\"Name\":\"LENGTH\",\"Type\":\"DATASTEP_STATEMENT\",\"Help\":{\"#cdata\":\"Syntax: LENGTH variable-specification(s)<DEFAULT=n>; \\n    \\nSpecifies the number of bytes for storing variables.\"}},{\"Name\":\"MISSING\",\"Type\":\"DATASTEP_STATEMENT\",\"Help\":{\"#cdata\":\"Syntax: MISSING character(s);  \\n\\nwhere character is the value in your input data that represents a special missing value. \\n\\nAssigns characters in your input data to represent special missing values for numeric data.\"}},{\"Name\":\"RENAME\",\"Type\":\"DATASTEP_STATEMENT\",\"Help\":{\"#cdata\":\"Syntax: RENAME old-name-1=new-name-1 ... <old-name-n=new-name-n>; \\n    \\nSpecifies new names for variables in output SAS data sets.\"}},{\"Name\":\"RETAIN\",\"Type\":\"DATASTEP_STATEMENT\",\"Help\":{\"#cdata\":\"Causes a variable that is created by an INPUT or assignment statement to retain \\nits value from one iteration of the DATA step to the next.\\n\\nSyntax:\\nRETAIN <element-list(s) <initial-value(s) |\\n  (initial-value-1) | (initial-value-list-1) >\\n  < ... element-list-n <initial-value-n |\\n  (initial-value-n ) | (initial-value-list-n)>>>; \"}},{\"Name\":\"DISPLAY\",\"Type\":\"DATASTEP_STATEMENT\",\"Help\":{\"#cdata\":\"Syntax: DISPLAY window<.group> <NOINPUT > <BLANK> <BELL > <DELETE>;\\n    \\nDisplays a window that is created with the WINDOW statement.\"}},{\"Name\":\"WINDOW\",\"Type\":\"DATASTEP_STATEMENT\",\"Help\":{\"#cdata\":\"Creates customized windows for your applications.\\n\\nSyntax:\\n(1) WINDOW window <window-options> field-definition(s);\\n(2) WINDOW window <window-options> group-definition(s); \"}},{\"Name\":\"RUN\",\"Type\":\"DATASTEP_STATEMENT\",\"Help\":{\"#cdata\":\"[Syntax: RUN <CANCEL>;] \\n    \\nExecutes the previously entered SAS statements.\"}},{\"Name\":\"WHEN\",\"Type\":\"DATASTEP_STATEMENT\",\"Help\":{\"#cdata\":\"Syntax: WHEN-1 (when-expression-1 <..., when-expression-n>) statement; \\n    \\nUsed in a SELECT-END group in a DATA step. SELECT groups contain WHEN statements \\nthat identify SAS statements that are executed when a particular condition is \\ntrue. Use at least one WHEN statement in a SELECT group.\"}},{\"Name\":\"OTHERWISE\",\"Type\":\"DATASTEP_STATEMENT\",\"Help\":{\"#cdata\":\"Syntax: <... WHEN-n (when-expression-1 <..., when-expression-n>) statement;> <OTHERWISE statement;> \\n          \\nUsed with a WHEN statement in a SELECT-END group in a DATA step. An optional OTHERWISE statement \\nspecifies a statement to be executed if no WHEN condition is met.\"}}]}}"
  },
  {
    "path": "server/data/SASFormats.json",
    "content": "{\"Keywords\":{\"Keyword\":[{\"Name\":\"$LOGVSw.\",\"Type\":\"SAS_FORMATS\",\"Help\":{\"#cdata\":\"Writes a character string in left-to-right logical order to visual order. \\n    \\nSyntax Description:\\nw \\n  specifies the width of the output field.\\n  Default: 200 \\n  Range: 1-32000 \\n \\nDetails:\\nThe $LOGVSw. format is used when you store logical-ordered text on a visual server. \\n\\nNote: If the $LOGVSw. format is not accessible, then the Hebrew or Arabic portion \\nof the data will be reversed.  \\n \\nComparisons:\\nThe $LOGVSw. format performs processing that is the opposite of the $LOGVSRw. format.\"}},{\"Name\":\"$LOGVSRw.\",\"Type\":\"SAS_FORMATS\",\"Help\":{\"#cdata\":\"Writes a character string in right-to-left logical order to visual order. \\n    \\nSyntax Description:\\nw \\n  specifies the width of the output field.\\n  Default: 200 \\n  Range: 1-32000 \\n \\nDetails:\\nThe $LOGVSRw. format is used when you store logical-ordered text on a visual server. \\nThe Hebrew or Arabic portion of the text is reversed if the $LOGVSw. format is not on \\nthe server.\\n \\nComparisons:\\nThe $LOGVSRw. format performs processing that is opposite of the $LOGVSw. format.\"}},{\"Name\":\"$VSLOGw.\",\"Type\":\"SAS_FORMATS\",\"Help\":{\"#cdata\":\"Writes a character string in visual order to left-to-right logical order. \\n\\nSyntax Description:\\nw \\n  specifies the width of the output field.\\n  Default: 200 \\n  Range: 1-32000 \\n  \\nDetails:\\nThe $VSLOGw. format is used when transferring data that is stored in visual order. \\nAn example is transferring data from a UNIX server to a Windows client.\\n\\nNote: The $VSLOGw. format does not correctly process all combinations of data strings. \\n \\nComparisons: \\nThe $VSLOGw. format performs processing that is opposite to the $VSLOGRw. format.\"}},{\"Name\":\"$VSLOGRw.\",\"Type\":\"SAS_FORMATS\",\"Help\":{\"#cdata\":\"Writes a character string in visual order to right-to-left logical order. \\n    \\nSyntax Description:\\nw \\n  specifies the width of the output field. \\n  Default: 200 \\n  Range: 1-32000 \\n  \\nDetails:\\nThe $VSLOGRw. format is used when transferring data that is stored in visual order. \\nAn example is transferring data from a UNIX server to a Windows client.\\n\\nNote: The $VSLOGRw. format does not correctly process all combinations of data strings.  \\n \\nComparisons:\\nThe $VSLOGRw. format performs processing that is opposite to the $VSLOGw. format.\"}},{\"Name\":\"$ASCIIw.\",\"Type\":\"SAS_FORMATS\",\"Help\":{\"#cdata\":\"Converts native format character data to ASCII representation. \\n    \\nSyntax Description:\\nw \\n  specifies the width of the output field.\\n  Default: 1 \\n  Range: 1-32767 \\n \\nDetails: \\nIf ASCII is the native format, no conversion occurs. \\n \\nComparisons:\\nOn EBCDIC systems, $ASCIIw. converts EBCDIC character data to ASCIIw.\\n\\nOn all other systems, $ASCIIw. behaves like the $CHARw. format.\"}},{\"Name\":\"$BIDIw.\",\"Type\":\"SAS_FORMATS\",\"Help\":{\"#cdata\":\"Convert a Logical ordered string to a Visually ordered string, and vice versa by \\nreversing the order of Hebrew characters while preserving the order of Latin \\ncharacters and numbers. \\n\\nSyntax Description:\\nw \\n  specifies the width of the output field.\\n  Default: 1 if w is not specified \\n  Range: 1-32767 \\n\\nDetails:\\nIn the Windows operating environment, Hebrew and Arabic text is stored in logical order. \\nThe text is stored in the order that it is written and not necessarily as it is displayed. \\nHowever, in other operating environments, Hebrew text is stored in the same order it is \\ndisplayed. SAS users can encounter Hebrew and Arabic text that is reversed. Such situations \\ncan occur when you use SAS/CONNECT or other software to transfer SAS data sets or reports \\nwith Hebrew and Arabic text from a visual operating environment to a logical one. The $BIDI \\nformat is a format that reverses Hebrew and Arabic text while maintaining the order of \\nnumbers and Latin-1 words.\"}},{\"Name\":\"$BINARYw.\",\"Type\":\"SAS_FORMATS\",\"Help\":{\"#cdata\":\"Converts character data to binary representation. \\n    \\nSyntax Description:\\n\\nw \\n  specifies the width of the output field.\\n\\n  Default: The default width is calculated based on the length of the variable to be printed. \\n  Range: 1-32767 \\n \\nComparisons:\\n\\nThe $BINARYw. format converts character values to binary representation. The BINARYw. \\nformat converts numeric values to binary representation.\"}},{\"Name\":\"$CHARw.\",\"Type\":\"SAS_FORMATS\",\"Help\":{\"#cdata\":\"Writes standard character data. \\n    \\nSyntax Description:\\n\\nw \\n  specifies the width of the output field. You can specify a number or a column range.\\n\\n  Default: 8 if the length of variable is undefined; otherwise, the length of the variable \\n  Range: 1-32767 \\n \\nComparisons:\\n\\nThe $CHARw. format is identical to the $w. and $Fw. formats. \\n\\nThe $CHARw., $Fw., and $w. formats do not trim leading blanks. To trim leading blanks, \\nuse the LEFT function to left align character data before output.\"}},{\"Name\":\"$EBCDICw.\",\"Type\":\"SAS_FORMATS\",\"Help\":{\"#cdata\":\"Converts native format character data to EBCDIC representation. \\n    \\nSyntax Description:\\nw \\n  specifies the width of the output field. \\n  Default: 1 \\n  Range: 1-32767 \\n  \\nDetails:\\nIf EBCDIC is the native format, no conversion occurs.\\n \\nComparisons:\\nOn ASCII systems, $EBCDICw. converts ASCII character data to EBCDIC.\\n\\nOn all other systems, $EBCDICw. behaves like the $CHARw. format.\"}},{\"Name\":\"$HEXw.\",\"Type\":\"SAS_FORMATS\",\"Help\":{\"#cdata\":\"Converts character data to hexadecimal representation. \\n    \\nSyntax Description:\\n\\nw \\n  specifies the width of the output field. \\n\\n  Default: The default width is calculated based on the length of the variable to be printed.  \\n  Range: 1-32767 \\n  Tip: To ensure that SAS writes the full hexadecimal equivalent of your data, make w twice \\n  the length of the variable or field that you want to represent. \\n  Tip: If w is greater than twice the length of the variable that you want to represent, \\n  $HEXw. pads it with blanks. \\n \\nDetails:\\n\\nThe $HEXw. format converts each character into two hexadecimal characters. Each blank \\ncounts as one character, including trailing blanks.\\n\\n \\nComparisons:\\n\\nThe HEXw. format converts real binary numbers to their hexadecimal equivalent.\"}},{\"Name\":\"$MSGCASEw.\",\"Type\":\"SAS_FORMATS\",\"Help\":{\"#cdata\":\"Writes character data in uppercase when the MSGCASE system option is in effect. \\n    \\nSyntax Description:\\nw \\n  specifies the width of the output field.\\n  Default: 1 if the length of the variable is undefined; otherwise, the length of the variable \\n  Range: 1-32767 \\n \\nDetails:\\nWhen the MSGCASE= system option is in effect, all notes, warnings, and error messages \\nthat SAS generates appear in uppercase. Otherwise, all notes, warnings, and error messages \\nappear in mixed case. You specify the MSGCASE= system option in the configuration file or \\nduring the SAS invocation.\"}},{\"Name\":\"$OCTALw.\",\"Type\":\"SAS_FORMATS\",\"Help\":{\"#cdata\":\"Converts character data to octal representation. \\n    \\nSyntax Description:\\n\\nw \\n  specifies the width of the output field.\\n\\n  Default: The default width is calculated based on the length of the variable to be printed.  \\n  Range: 1-32767 \\n  Tip: Because each character value generates three octal characters, increase the value \\n  of w by three times the length of the character value. \\n\\nComparisons:\\n\\nThe $OCTALw. format converts character values to the octal representation of their character \\ncodes. The OCTALw. format converts numeric values to octal representation.\"}},{\"Name\":\"$QUOTEw.\",\"Type\":\"SAS_FORMATS\",\"Help\":{\"#cdata\":\"Writes data values that are enclosed in double quotation marks. \\n    \\nSyntax Description:\\nw \\n  specifies the width of the output field. \\n\\n  Default: 2 if the length of the variable is undefined; otherwise, the length of the variable + 2 \\n  Range: 2-32767 \\n  Tip: Make w wide enough to include the left and right quotation marks.  \\n \\nDetails:\\nThe following list describes the output that SAS produces when you use the $QUOTEw. format.\\n\\no If your data value is not enclosed in quotation marks, SAS encloses the output in double quotation marks. \\no If your data value is not enclosed in quotation marks, but the value contains a single quotation mark, SAS \\n    o encloses the data value in double quotation marks \\n    o does not change the single quotation mark.\\no If your data value begins and ends with single quotation marks, and the value contains double quotation \\nmarks, SAS \\n    o encloses the data value in double quotation marks \\n    o duplicates the double quotation marks that are found in the data value \\n    o does not change the single quotation marks. \\no If your data value begins and ends with single quotation marks, and the value contains two single \\ncontiguous quotation marks, SAS \\n    o encloses the value in double quotation marks \\n    o does not change the single quotation marks.\\nIf your data value begins and ends with single quotation marks, and contains both double quotation \\nmarks and single, contiguous quotation marks, SAS \\n    o encloses the value in double quotation marks \\n    o duplicates the double quotation marks that are found in the data value \\n    o does not change the single quotation marks. \\nIf the length of the target field is not large enough to contain the string and its quotation \\nmarks, SAS returns all blanks.\"}},{\"Name\":\"$REVERJw.\",\"Type\":\"SAS_FORMATS\",\"Help\":{\"#cdata\":\"Writes character data in reverse order and preserves blanks. \\n    \\nSyntax Description:\\n\\nw \\n  specifies the width of the output field.\\n\\n  Default: 1 if w is not specified \\n  Range: 1-32767 \\n \\nComparisons:\\n\\nThe $REVERJw. format is similar to the $REVERSw. format except that $REVERSw. left \\naligns the result by trimming all leading blanks.\"}},{\"Name\":\"$REVERSw.\",\"Type\":\"SAS_FORMATS\",\"Help\":{\"#cdata\":\"Writes character data in reverse order and left aligns. \\n    \\nSyntax Description:\\n\\nw \\n  specifies the width of the output field.\\n\\n  Default: 1 if w is not specified  \\n  Range: 1-32767 \\n \\nComparisons:\\n\\nThe $REVERSw. format is similar to the $REVERJw. format except that $REVERJw. does not \\nleft align the result.\"}},{\"Name\":\"$UCS2Bw.\",\"Type\":\"SAS_FORMATS\",\"Help\":{\"#cdata\":\"Writes a character string in big-endian, 16-bit, universal character set code in \\n2 octets (UCS2), Unicode encoding. \\n\\nSyntax Description: \\nw \\n  specifies the width of the output field. Specify enough width to accommodate the \\n  16-bit size of the Unicode characters.\\n\\n  Default: 8 \\n  Range: 2-32767 \\n \\nDetails: \\nThe $UCS2Bw. format writes a character string in big-endian, 16-bit, UCS2 (universal \\ncharacter set code in two octets), Unicode encoding. It processes character strings \\nthat are in the encoding of the current SAS session. \\n \\nComparison: \\nThe $UCS2Bw. format performs processing that is the opposite of the $UCS2BEw. format.\"}},{\"Name\":\"$UCS2BEw.\",\"Type\":\"SAS_FORMATS\",\"Help\":{\"#cdata\":\"Writes a big-endian, 16-bit, universal character set code in 2 octets (UCS2) \\ncharacter string in the encoding of the current SAS session. \\n\\nSyntax Description: \\nw \\n  specifies the width of the output field. Specify enough width to accommodate the 16-bit \\n  size of the Unicode characters.\\n\\n  Default: 8 \\n  Range: 1-32000 \\n \\nDetails:\\nThe $UCS2BEw. format writes a character string in the encoding of the current SAS session. \\nIt processes character strings that are in big-endian, 16-bit, UCS2 (universal character \\nset code in two octets), Unicode encoding.\\n \\nComparison:\\nThe $UCS2BEw. format performs processing that is the opposite of the $UCS2Bw. format.\"}},{\"Name\":\"$UCS2Lw.\",\"Type\":\"SAS_FORMATS\",\"Help\":{\"#cdata\":\"Writes data in little-endian, 16-bit, universal character set code in 2 octets \\n(UCS2), Unicode encoding. \\n\\nSyntax Description: \\nw \\n  specifies the width of the output field. Specify enough width to accommodate the 16-bit \\n  size of the Unicode characters.\\n\\n  Default: 8 \\n  Range: 2-32767 \\n \\nDetails: \\nThe $UCS2Lw. format writes a character string in little-endian, 16-bit, UCS2 (universal \\ncharacter set code in two octets), Unicode encoding. It processes character strings that \\nare in the encoding of the current SAS session.\\n \\nComparison:\\nThe $UCS2Lw. format performs processing that is the opposite of the $UCS2LEw. format.\"}},{\"Name\":\"$UCS2LEw.\",\"Type\":\"SAS_FORMATS\",\"Help\":{\"#cdata\":\"Writes a character string that is encoded in little-endian, 16-bit,\\nuniversal character set code in 2 octets (UCS2), in the encoding of the current SAS session. \\n\\nSyntax Description: \\nw \\n  specifies the width of the output field. Specify enough width to accommodate the 16-bit \\n  size of the Unicode characters.\\n\\n  Default: 8 \\n  Range: 1-32000 \\n \\nDetails: \\nThe $UCS2LEw. format writes a character string in the encoding of the current SAS session. \\nIt processes character strings that are in little-endian, 16-bit, UCS2 (universal character \\nset code in two octets), Unicode encoding.\\n \\nComparison: \\nThe $UCS2LEw. format performs processing that is the opposite of the $UCS2Lw. format.\"}},{\"Name\":\"$UCS2Xw.\",\"Type\":\"SAS_FORMATS\",\"Help\":{\"#cdata\":\"Writes a character string in native-endian, 16-bit, universal character set code \\nin 2 octets (UCS2) Unicode encoding. \\n\\nSyntax Description:\\nw \\n  specifies the width of the output field. Specify enough width to accommodate the 16-bit \\n  size of the Unicode characters. \\n  Default: 8 \\n  Range: 2-32767 \\n \\nDetails:\\nThe $UCS2Xw. format writes a character string in 16-bit, UCS2 (universal character set \\ncode in two octets), Unicode encoding, by using byte order that is native to the operating \\nenvironment.\\n \\nComparison: \\nThe $UCS2Xw. format performs processing that is the opposite of the $UCS2XEw. format. \\nIf you are exchanging data within the same operating environment, use the $UCS2Xw. format. \\nIf you are exchanging data with a different operating environment, use the $UCS2Bw. format \\nor $UCS2Lw. format.\"}},{\"Name\":\"$UCS2XEw.\",\"Type\":\"SAS_FORMATS\",\"Help\":{\"#cdata\":\"Writes a native-endian, 16-bit, universal character set code in 2 octets (UCS2) \\ncharacter string in the encoding of the current SAS session. \\n\\nSyntax Description: \\nw \\n  specifies the width of the output field. Specify enough width to accommodate the 16-bit \\n  size of the Unicode characters. \\n  Default: 8 \\n  Range: 1-32000 \\n \\nDetails: \\nThe $UCS2XEw. format writes a character string in the encoding of the current SAS session. \\nIt processes character strings that are in native-endian, 16-bit, UCS2 (universal character \\nset code in two octets), Unicode encoding.\\n \\nComparison: \\nThe $UCS2XEw. format performs processing that is the opposite of the $UCS2Xw. format.\"}},{\"Name\":\"$UCS4Bw.\",\"Type\":\"SAS_FORMATS\",\"Help\":{\"#cdata\":\"Writes a character string in big-endian, 32-bit, universal character set code in \\n4 octets (UCS4), Unicode encoding. \\n\\nSyntax Description: \\nw \\n  specifies the width of the output field. Specify enough width to accommodate the 32-bit \\n  size of the Unicode characters.\\n\\n  Default: 4 \\n  Range: 4-32767 \\n \\nDetails:\\nThe $UCS4Bw. format writes a character string in big-endian, 32-bit, UCS4 (universal \\ncharacter set code in four octets), Unicode encoding. It processes character strings \\nthat are in the encoding of the current SAS session. \\n \\nComparison: \\nThe $UCS4Bw. format performs processing that is the opposite of the $UCS4BEw. format.\"}},{\"Name\":\"$UCS4BEw.\",\"Type\":\"SAS_FORMATS\",\"Help\":{\"#cdata\":\"Writes a big-endian, 32-bit, universal character set code in 4 octets (UCS4), \\ncharacter string in the encoding of the current SAS session. \\n\\nSyntax Description: \\nw \\n  specifies the width of the output field. Specify enough width to accommodate the 32-bit \\n  size of the Unicode characters.\\n\\n  Default: 8 \\n  Range: 1-32000 \\n  \\nDetails:\\nThe $UCS4BEw. format writes a character string in the encoding of the current SAS session. \\nIt processes character strings that are in big-endian, 32-bit, UCS4 (universal character \\nset code in four octets), Unicode encoding.\\n \\nComparison:\\nThe $UCS4BEw. format performs processing that is the opposite of the $UCS4Bw. format.\"}},{\"Name\":\"$UCS4Lw.\",\"Type\":\"SAS_FORMATS\",\"Help\":{\"#cdata\":\"Writes a character string in little-endian, 32-bit, universal character set code \\nin 4 octets, (UCS4), Unicode encoding. \\n\\nSyntax Description: \\nw \\n  specifies the width of the output field. Specify enough width to accommodate the 32-bit \\n  size of the Unicode characters.\\n\\n  Default: 4 \\n  Range: 4-32767 \\n \\nDetails:\\nThe $UCS4Lw. format writes a character string in little-endian, 32-bit, UCS4 (universal \\ncharacter set code in four octets), Unicode encoding. It processes character strings that \\nare in the encoding of the current SAS session.\\n \\nComparisons:\\nThe $UCS4Lw. format performs processing that is the opposite of the $UCS4LEw. format.\"}},{\"Name\":\"$UCS4LEw.\",\"Type\":\"SAS_FORMATS\",\"Help\":{\"#cdata\":\"Writes a little-endian, 32-bit, universal character set code in 4 octets (UCS4) \\ncharacter string in the encoding of the current SAS session. \\n\\nSyntax Description: \\nw \\n  specifies the width of the output field. Specify enough width to accommodate the 32-bit \\n  size of the Unicode characters.\\n\\n  Default: 8 \\n  Range: 1-32000 \\n \\nDetails:\\nThe $UCS4LEw. format writes a character string in the encoding of the current SAS session. \\nIt processes character strings that are in little-endian, 32-bit, UCS4 (universal character \\nset code in four octets), Unicode encoding.\\n \\nComparison:\\nThe $UCS4LEw. format performs processing that is the opposite of the $UCS4Lw. format.\"}},{\"Name\":\"$UCS4Xw.\",\"Type\":\"SAS_FORMATS\",\"Help\":{\"#cdata\":\"Writes a character string in native-endian, 32-bit, universal character set code \\nin 4 octets (UCS4), Unicode encoding. \\n\\nSyntax Description: \\nw \\n  specifies the width of the output field. Specify enough width to accommodate the 32-bit \\n  size of the Unicode characters.\\n\\n  Default: 4 \\n  Range: 4-32767 \\n \\nDetails:\\nThe $UCS4Xw. format writes a character string in 32-bit, UCS4 (universal character set \\ncode in two octets), Unicode encoding, by using byte order that is native to the operating \\nenvironment.\\n \\nComparisons:\\nThe $UCS4Xw. format performs processing that is the opposite of the $UCS4XEw. format. If \\nyou are exchanging data within the same operating environment, use the $UCS4Xw. format. \\nIf you are exchanging data with a different operating environment, use the $UCS4Bw. format \\nor $UCS4Lw. format.\"}},{\"Name\":\"$UCS4XEw.\",\"Type\":\"SAS_FORMATS\",\"Help\":{\"#cdata\":\"Writes a native-endian, 32-bit, universal character set code in 4 octets (UCS4) \\ncharacter string in the encoding of the current SAS session. \\n\\nSyntax Description: \\nw \\n  specifies the width of the output field. Specify enough width to accommodate the 32-bit \\n  size of the Unicode characters.\\n\\n  Default: 8 \\n  Range: 1-32000 \\n \\nDetails:\\nThe $UCS4XEw. format writes a character string in the encoding of the current SAS session. \\nIt processes character strings that are in native-endian, 32-bit, UCS4 (universal character \\nset code in four octets), Unicode encoding.\\n \\nComparison:\\nThe $UCS4XEw. format performs processing that is the opposite of the $UCS4Xw. format.\"}},{\"Name\":\"$UESCw.\",\"Type\":\"SAS_FORMATS\",\"Help\":{\"#cdata\":\"Writes a character string that is encoded in the current SAS session in Unicode \\nescape (UESC) representation. \\n\\nSyntax Description:\\nw \\n  specifies the width of the input field.\\n  Default: 8 \\n  Range: 1-32000 \\n \\nDetails:\\nIf the characters are not available on all operating environments, for example, 0-9, \\na-z, A-Z, they must be represented in UESC. $UESCw. can be nested.\\n\\nComparisons:\\nThe $UESCw. format performs processing that is opposite of the $UESCEw. format.\"}},{\"Name\":\"$UESCEw.\",\"Type\":\"SAS_FORMATS\",\"Help\":{\"#cdata\":\"Writes a Unicode escape (UESC) representation character string in the encoding of \\nthe current SAS session. \\n\\nSyntax Description:\\nw \\n  specifies the width of the output field. \\n  Default: 8 \\n  Range: 1-32000 \\n \\nDetails:\\nIf the data is not supported by the encoding of the current SAS session, the data \\nremains in UESC.\\n \\nComparisons:\\nThe $UESCEw. format performs processing that is the opposite of the $UESCw. format.\"}},{\"Name\":\"$UNCRw.\",\"Type\":\"SAS_FORMATS\",\"Help\":{\"#cdata\":\"Writes a character string that is encoded in the current SAS session in numeric \\ncharacter representation (NCR). \\n\\nSyntax Description: \\nw \\n  specifies the width of the output field. \\n  Default: 8 \\n  Range: 1-32000 \\n \\nComparison:\\nThe $UNCRw. format performs processing that is the opposite of the $UNCREw. format.\"}},{\"Name\":\"$UNCREw.\",\"Type\":\"SAS_FORMATS\",\"Help\":{\"#cdata\":\"Writes the numeric character representation (NCR) character string in the encoding \\nof the current SAS session. \\n\\nSyntax Description: \\nw \\n  specifies the width of the output field. \\n  Default: 8 \\n  Range: 1-32000 \\n \\nDetails: \\nNational characters should be represented in NCR.\\n \\nComparison: \\nThe $UNCREw. format performs processing that is the opposite of the $UNCRw. format.\"}},{\"Name\":\"$UPARENw.\",\"Type\":\"SAS_FORMATS\",\"Help\":{\"#cdata\":\"Writes a character string that is encoded in the current SAS session in Unicode \\nparenthesis (UPAREN) representation. \\n\\nSyntax Description: \\nw \\n  specifies the width of the output field. \\n  Default: 8 \\n  Range: 27-32000 \\n \\nDetails:\\nThe character string is encoded with parentheses and Unicode hexadecimal representation.\\n \\nComparisons:\\nThe $UPARENw. format performs processing that is the opposite of the $UPARENEw. format.\"}},{\"Name\":\"$UPARENEw.\",\"Type\":\"SAS_FORMATS\",\"Help\":{\"#cdata\":\"Writes a character string that is in Unicode parenthesis (UPAREN) in a character \\nstring that is encoded in the current SAS session. \\n\\nSyntax Description: \\nw \\n  specifies the width of the output field. \\n  Default: 8 \\n  Range: 1-32000 \\n \\nComparisons:\\nThe $UPARENEw. format performs processing that is the opposite of the $UPARENw. format.\"}},{\"Name\":\"$UPCASEw.\",\"Type\":\"SAS_FORMATS\",\"Help\":{\"#cdata\":\"Converts character data to uppercase. \\n    \\nSyntax Description:\\n\\nw \\n  specifies the width of the output field.\\n\\n  Default: 8 if the length of the variable is undefined; otherwise, the length of the variable. \\n  Range: 1-32767 \\n \\nDetails:\\n\\nSpecial characters, such as hyphens and other symbols, are not altered.\"}},{\"Name\":\"$UTF8Xw.\",\"Type\":\"SAS_FORMATS\",\"Help\":{\"#cdata\":\"Writes a character string in universal transformation format (UTF-8) encoding. \\n    \\nSyntax Description: \\n\\nw \\n  specifies the width of the output field. Specify enough width to include all of the \\n  characters in the variable. The width of the characters are dependent on the code point \\n  value of the individual characters.\\n\\n  Default: 8 \\n  Range: 2-32767\"}},{\"Name\":\"$VARYINGw.\",\"Type\":\"SAS_FORMATS\",\"Help\":{\"#cdata\":\"Writes character data of varying length. \\n    \\nSyntax: $VARYINGw. length-variable  \\n\\nSyntax Description: \\nw \\n  specifies the maximum width of the output field for any output line or output file record. \\n\\n  Default: 8 if the length of the variable is undefined; otherwise, the length of the variable \\n  Range: 1-32767 \\n\\nlength-variable \\n  specifies a numeric variable that contains the length of the current value of the character \\n  variable. SAS obtains the value of the length-variable by reading it directly from a field \\n  that is described in an INPUT statement, reading the value of a variable in an existing SAS \\n  data set, or calculating its value.\\n\\n  Requirement: You must specify length-variable immediately after $VARYINGw. in a SAS statement. \\n  Restriction: Length-variable cannot be an array reference. \\n  Tip: If the value of length-variable is 0, negative, or missing, SAS writes nothing to the \\n  output field. If the value of length-variable is greater than 0 but less than w, SAS writes \\n  the number of characters that are specified by length-variable. If length-variable is greater \\n  than or equal to w, SAS writes w columns. \\n \\nDetails:\\nUse $VARYINGw. when the length of a character value differs from record to record. After \\nwriting a data value with $VARYINGw., the pointer's position is the first column after \\nthe value.\"}},{\"Name\":\"$w.\",\"Type\":\"SAS_FORMATS\",\"Help\":{\"#cdata\":\"Writes standard character data. \\n    \\nSyntax Description:\\nw \\n  specifies the width of the output field. You can specify a number or a column range.\\n\\n  Default: 1 if the length of the identifier is undefined; otherwise, the length of the identifier \\n  Range: 1-32767 \\n \\nComparisons:\\n\\nThe $w., $Fw., and the $CHARw. formats are identical, and they do not trim leading blanks. \\nTo trim leading blanks, use the LEFT function to left align character data before output.\"}},{\"Name\":\"EURFRATSw.d\",\"Type\":\"SAS_FORMATS\",\"Help\":{\"#cdata\":\"Converts an amount from Austrian schillings to euros.\"}},{\"Name\":\"EURFRBEFw.d\",\"Type\":\"SAS_FORMATS\",\"Help\":{\"#cdata\":\"Converts an amount from Belgian francs to euros.\"}},{\"Name\":\"EURFRCHFw.d\",\"Type\":\"SAS_FORMATS\",\"Help\":{\"#cdata\":\"Converts an amount from Swiss francs to euros.\"}},{\"Name\":\"EURFRCZKw.d\",\"Type\":\"SAS_FORMATS\",\"Help\":{\"#cdata\":\"Converts an amount from Czech koruny to euros.\"}},{\"Name\":\"EURFRDEMw.d\",\"Type\":\"SAS_FORMATS\",\"Help\":{\"#cdata\":\"Converts an amount from Deutsche marks to euros.\"}},{\"Name\":\"EURFRDKKw.d\",\"Type\":\"SAS_FORMATS\",\"Help\":{\"#cdata\":\"Converts an amount from Danish kroner to euros.\"}},{\"Name\":\"EURFRESPw.d\",\"Type\":\"SAS_FORMATS\",\"Help\":{\"#cdata\":\"Converts an amount from Spanish pesetas to euros.\"}},{\"Name\":\"EURFRFIMw.d\",\"Type\":\"SAS_FORMATS\",\"Help\":{\"#cdata\":\"Converts an amount from Finnish markkaa to euros.\"}},{\"Name\":\"EURFRFRFw.d\",\"Type\":\"SAS_FORMATS\",\"Help\":{\"#cdata\":\"Converts an amount from French francs to euros.\"}},{\"Name\":\"EURFRGBPw.d\",\"Type\":\"SAS_FORMATS\",\"Help\":{\"#cdata\":\"Converts an amount from British pounds to euros.\"}},{\"Name\":\"EURFRGRDw.d\",\"Type\":\"SAS_FORMATS\",\"Help\":{\"#cdata\":\"Converts an amount from Greek drachmas to euros.\"}},{\"Name\":\"EURFRHUFw.d\",\"Type\":\"SAS_FORMATS\",\"Help\":{\"#cdata\":\"Converts an amount from Hungarian forints to euros.\"}},{\"Name\":\"EURFRIEPw.d\",\"Type\":\"SAS_FORMATS\",\"Help\":{\"#cdata\":\"Converts an amount from Irish pounds to euros.\"}},{\"Name\":\"EURFRITLw.d\",\"Type\":\"SAS_FORMATS\",\"Help\":{\"#cdata\":\"Converts an amount from Italian lire to euros.\"}},{\"Name\":\"EURFRLUFw.d\",\"Type\":\"SAS_FORMATS\",\"Help\":{\"#cdata\":\"Converts an amount from Luxembourg francs to euros.\"}},{\"Name\":\"EURFRNLGw.d\",\"Type\":\"SAS_FORMATS\",\"Help\":{\"#cdata\":\"Converts an amount from Dutch guilders to euros.\"}},{\"Name\":\"EURFRNOKw.d\",\"Type\":\"SAS_FORMATS\",\"Help\":{\"#cdata\":\"Converts an amount from Norwegian krone to euros.\"}},{\"Name\":\"EURFRPLZw.d\",\"Type\":\"SAS_FORMATS\",\"Help\":{\"#cdata\":\"Converts an amount from Polish zlotys to euros.\"}},{\"Name\":\"EURFRPTEw.d\",\"Type\":\"SAS_FORMATS\",\"Help\":{\"#cdata\":\"Converts an amount from Portuguese escudos to euros.\"}},{\"Name\":\"EURFRROLw.d\",\"Type\":\"SAS_FORMATS\",\"Help\":{\"#cdata\":\"Converts an amount from Romanian lei to euros.\"}},{\"Name\":\"EURFRRURw.d\",\"Type\":\"SAS_FORMATS\",\"Help\":{\"#cdata\":\"Converts an amount from Russian rubles to euros.\"}},{\"Name\":\"EURFRSEKw.d\",\"Type\":\"SAS_FORMATS\",\"Help\":{\"#cdata\":\"Converts an amount from Swedish kronor to euros.\"}},{\"Name\":\"EURFRSITw.d\",\"Type\":\"SAS_FORMATS\",\"Help\":{\"#cdata\":\"Converts an amount from Slovenian tolars to euros.\"}},{\"Name\":\"EURFRTRLw.d\",\"Type\":\"SAS_FORMATS\",\"Help\":{\"#cdata\":\"Converts an amount from Turkish liras to euros.\"}},{\"Name\":\"EURFRYUDw.d\",\"Type\":\"SAS_FORMATS\",\"Help\":{\"#cdata\":\"Converts an amount from Yugoslavian dinars to euros.\"}},{\"Name\":\"EURTOATSw.d\",\"Type\":\"SAS_FORMATS\",\"Help\":{\"#cdata\":\"Converts an amount in euros to Austrian schillings.\"}},{\"Name\":\"EURTOBEFw.d\",\"Type\":\"SAS_FORMATS\",\"Help\":{\"#cdata\":\"Converts an amount in euros to Belgian francs.\"}},{\"Name\":\"EURTOCHFw.d\",\"Type\":\"SAS_FORMATS\",\"Help\":{\"#cdata\":\"Converts an amount in euros to Swiss francs.\"}},{\"Name\":\"EURTOCZKw.d\",\"Type\":\"SAS_FORMATS\",\"Help\":{\"#cdata\":\"Converts an amount in euros to Czech koruny.\"}},{\"Name\":\"EURTODEMw.d\",\"Type\":\"SAS_FORMATS\",\"Help\":{\"#cdata\":\"Converts an amount in euros to Deutsche marks.\"}},{\"Name\":\"EURTODKKw.d\",\"Type\":\"SAS_FORMATS\",\"Help\":{\"#cdata\":\"Converts an amount in euros to Danish kroner.\"}},{\"Name\":\"EURTOESPw.d\",\"Type\":\"SAS_FORMATS\",\"Help\":{\"#cdata\":\"Converts an amount in euros to Spanish pesetas.\"}},{\"Name\":\"EURTOFIMw.d\",\"Type\":\"SAS_FORMATS\",\"Help\":{\"#cdata\":\"Converts an amount in euros to Finnish markkaa.\"}},{\"Name\":\"EURTOFRFw.d\",\"Type\":\"SAS_FORMATS\",\"Help\":{\"#cdata\":\"Converts an amount in euros to French francs.\"}},{\"Name\":\"EURTOGBPw.d\",\"Type\":\"SAS_FORMATS\",\"Help\":{\"#cdata\":\"Converts an amount in euros to British pounds.\"}},{\"Name\":\"EURTOGRDw.d\",\"Type\":\"SAS_FORMATS\",\"Help\":{\"#cdata\":\"Converts an amount in euros to Greek drachmas.\"}},{\"Name\":\"EURTOHUFw.d\",\"Type\":\"SAS_FORMATS\",\"Help\":{\"#cdata\":\"Converts an amount in euros to Hungarian forints.\"}},{\"Name\":\"EURTOIEPw.d\",\"Type\":\"SAS_FORMATS\",\"Help\":{\"#cdata\":\"Converts an amount in euros to Irish pounds.\"}},{\"Name\":\"EURTOITLw.d\",\"Type\":\"SAS_FORMATS\",\"Help\":{\"#cdata\":\"Converts an amount in euros to Italian lire.\"}},{\"Name\":\"EURTOLUFw.d\",\"Type\":\"SAS_FORMATS\",\"Help\":{\"#cdata\":\"Converts an amount in euros to Luxembourg francs.\"}},{\"Name\":\"EURTONLGw.d\",\"Type\":\"SAS_FORMATS\",\"Help\":{\"#cdata\":\"Converts an amount in euros to Dutch guilders.\"}},{\"Name\":\"EURTONOKw.d\",\"Type\":\"SAS_FORMATS\",\"Help\":{\"#cdata\":\"Converts an amount in euros to Norwegian krone.\"}},{\"Name\":\"EURTOPLZw.d\",\"Type\":\"SAS_FORMATS\",\"Help\":{\"#cdata\":\"Converts an amount in euros to Polish zlotys.\"}},{\"Name\":\"EURTOPTEw.d\",\"Type\":\"SAS_FORMATS\",\"Help\":{\"#cdata\":\"Converts an amount in euros to Portuguese escudos.\"}},{\"Name\":\"EURTOROLw.d\",\"Type\":\"SAS_FORMATS\",\"Help\":{\"#cdata\":\"Converts an amount in euros to Romanian lei.\"}},{\"Name\":\"EURTORURw.d\",\"Type\":\"SAS_FORMATS\",\"Help\":{\"#cdata\":\"Converts an amount in euros to Russian rubles.\"}},{\"Name\":\"EURTOSEKw.d\",\"Type\":\"SAS_FORMATS\",\"Help\":{\"#cdata\":\"Converts an amount in euros to Swedish kronor.\"}},{\"Name\":\"EURTOSITw.d\",\"Type\":\"SAS_FORMATS\",\"Help\":{\"#cdata\":\"Converts an amount in euros to Slovenian tolars.\"}},{\"Name\":\"EURTOTRLw.d\",\"Type\":\"SAS_FORMATS\",\"Help\":{\"#cdata\":\"Converts an amount in euros to Turkish liras.\"}},{\"Name\":\"EURTOYUDw.d\",\"Type\":\"SAS_FORMATS\",\"Help\":{\"#cdata\":\"Converts an amount in euros to Yugoslavian dinars.\"}},{\"Name\":\"$KANJIw.\",\"Type\":\"SAS_FORMATS\",\"Help\":{\"#cdata\":\"Adds shift-code data to DBCS data.\"}},{\"Name\":\"$KANJIXw.\",\"Type\":\"SAS_FORMATS\",\"Help\":{\"#cdata\":\"Removes shift code data from DBCS data.\"}},{\"Name\":\"DATEw.\",\"Type\":\"SAS_FORMATS\",\"Help\":{\"#cdata\":\"Writes SAS date values in the form ddmmmyy, ddmmmyyyy, or dd-mmm-yyyy.\\n    \\nSyntax Description:\\nw \\n  specifies the width of the output field.\\n\\n  Default: 11 \\n  Range: 5-11 \\n  Tip: Use a width of 9 to print a 4-digit year without a separator between the day, \\n  month, and year. Use a width of 11 to print a 4-digit year using a hyphen as a separator \\n  between the day, month, and year. \\n \\nDetails:\\nThe DATEw. format writes SAS date values in the form ddmmmyy, ddmmmyyyy, or dd-mmm-yyyy, where \\n\\n  dd \\n  is an integer that represents the day of the month.\\n\\n  mmm \\n  is the first three letters of the month name.\\n\\n  yy or yyyy \\n  is a two-digit or four-digit integer that represents the year.\"}},{\"Name\":\"DATEAMPMw.d\",\"Type\":\"SAS_FORMATS\",\"Help\":{\"#cdata\":\"Writes SAS datetime values in the form ddmmmyy:hh:mm:ss.ss with AM or PM. \\n    \\nSyntax Description:\\nw \\n  specifies the width of the output field.\\n  Default: 19 \\n  Range: 7-40 \\n  Tip: SAS requires a minimum w value of 13 to write AM or PM. For widths between 10 and 12, \\n  SAS writes a 24-hour clock time. \\nd \\n  specifies the number of digits to the right of the decimal point in the seconds value.\\n  Requirement: must be less than w \\n  Range: 0-39 \\n  Note:   If w-d< 17, SAS truncates the decimal values.  \\n\\nDetails:\\nThe DATEAMPMw.d format writes SAS datetime values in the form ddmmmyy:hh:mm:ss.ss, where \\n  dd is an integer that represents the day of the month.\\n  mmm is the first three letters of the month name.\\n  yy is a two-digit integer that represents the year.\\n  hh is an integer that represents the hour.\\n  mm is an integer that represents the minutes.\\n  ss.ss is the number of seconds to two decimal places.\\n \\nComparisons:\\nThe DATEAMPMw.d format is similar to the DATETIMEw.d format except that DATEAMPMw.d prints \\nAM or PM at the end of the time.\"}},{\"Name\":\"DATETIMEw.d\",\"Type\":\"SAS_FORMATS\",\"Help\":{\"#cdata\":\"Writes SAS datetime values in the form ddmmmyy:hh:mm:ss.ss. \\n    \\nSyntax Description:\\nw \\n  specifies the width of the output field. \\n  Default: 16 \\n  Range: 7-40 \\n  Tip: SAS requires a minimum w value of 16 to write a SAS datetime value with the date, \\n  hour, and seconds. Add an additional two places to w and a value to d to return values \\n  with optional decimal fractions of seconds. \\nd \\nspecifies the number of digits to the right of the decimal point in the seconds value.\\n  Requirement: must be less than w \\n  Range: 0-39 \\n  Note:   If w-d< 17, SAS truncates the decimal values. \\n \\nDetails:\\nThe DATETIMEw.d format writes SAS datetime values in the form ddmmmyy:hh:mm:ss.ss, where \\n\\n  dd is an integer that represents the day of the month.\\n  mmm is the first three letters of the month name.\\n  yy is a two-digit integer that represents the year.\\n  hh is an integer that represents the hour in 24-hour clock time.\\n  mm is an integer that represents the minutes.\\n  ss.ss is the number of seconds to two decimal places. \\n \\nComparisons:\\nThe DATEAMPMw.d format is similar to the DATETIMEw.d format except that DATEAMPMw.d \\nprints AM or PM at the end of the time.\"}},{\"Name\":\"DAYw.\",\"Type\":\"SAS_FORMATS\",\"Help\":{\"#cdata\":\"Writes SAS date values as the day of the month. \\n    \\nSyntax Description:\\n\\nw \\n  specifies the width of the output field.\\n\\n  Default: 2 \\n  Range: 2-32\"}},{\"Name\":\"DDMMYYw.\",\"Type\":\"SAS_FORMATS\",\"Help\":{\"#cdata\":\"Writes SAS date values in the form ddmm<yy> yy or dd/mm/<yy>yy , where a forward slash \\nis the separator and the year appears as either 2 or 4 digits. \\n\\nSyntax Description:\\nw \\n  specifies the width of the output field. \\n\\n  Default: 8 \\n  Range: 2-10 \\n  Interaction: When w has a value of from 2 to 5, the date appears with as much of the day \\n  and the month as possible. When w is 7, the date appears as a two-digit year without slashes. \\n \\nDetails:\\nThe DDMMYYw. format writes SAS date values in the form ddmm<yy>yy or dd/mm/<yy>yy, where \\n\\n  dd is an integer that represents the day of the month.\\n  / is the separator.\\n  mm is an integer that represents the month.\\n  <yy>yy is a two-digit or four-digit integer that represents the year.\"}},{\"Name\":\"DDMMYYxw.\",\"Type\":\"SAS_FORMATS\",\"Help\":{\"#cdata\":\"Writes SAS date values in the form ddmm<yy> yy or ddXmmX<yy>yy, where X represents \\na specified separator and the year appears as either 2 or 4 digits. \\n\\nSyntax Description:\\nx \\n  identifies a separator or specifies that no separator appear between the day, the month, \\n  and the year. Valid values for x are:\\n    B separates with a blank\\n    C separates with a colon \\n    D separates with a dash \\n    N indicates no separator\\n    P separates with a period \\n    S separates with a slash.\\nw \\n  specifies the width of the output field. \\n  Default: 8 \\n  Range: 2-10 \\n  Interaction: When w has a value of from 2 to 5, the date appears with as much of the day and \\n  the month as possible. When w is 7, the date appears as a two-digit year without separators.  \\n  Interaction: When x has a value of N, the width range changes to 2-8. \\n  \\nDetails:\\nThe DDMMYYxw. format writes SAS date values in the form ddmm<yy>yy or ddXmmX<yy>yy, where \\n\\n  dd is an integer that represents the day of the month.\\n  X is a specified separator. \\n  mm is an integer that represents the month. \\n  <yy>yy is a two-digit or four-digit integer that represents the year.\"}},{\"Name\":\"DOWNAMEw.\",\"Type\":\"SAS_FORMATS\",\"Help\":{\"#cdata\":\"Writes SAS date values as the name of the day of the week. \\n    \\nSyntax Description:\\n\\nw \\n  specifies the width of the output field.\\n  Default: 9 \\n  Range: 1-32 \\n  Tip: If you omit w, SAS prints the entire name of the day. \\n \\nDetails:\\n\\nIf necessary, SAS truncates the name of the day to fit the format width. For example, \\nthe DOWNAME2. prints the first two letters of the day name.\"}},{\"Name\":\"DTDATEw.\",\"Type\":\"SAS_FORMATS\",\"Help\":{\"#cdata\":\"Expects a SAS datetime value as input and writes date values in the form ddmmmyy \\nor ddmmmyyyy. \\n\\nSyntax Description:\\nw \\n  specifies the width of the output field.\\n  Default: 7 \\n  Range: 5-9 \\n  Tip: Use a width of 9 to print a 4-digit year. \\n \\nDetails:\\nThe DTDATEw. format writes SAS date values in the form ddmmmyy or ddmmmyyyy, where \\n\\n  dd is an integer that represents the day of the month.\\n  mmm are the first three letters of the month name.\\n  yy or yyyy is a two-digit or four-digit integer that represents the year.\\n \\nComparisons:\\nThe DTDATEw. format produces the same type of output that the DATEw. format produces. \\nThe difference is that the DTDATEw. format requires a SAS datetime value.\"}},{\"Name\":\"DTMONYYw.\",\"Type\":\"SAS_FORMATS\",\"Help\":{\"#cdata\":\"Writes the date part of a SAS datetime value as the month and year in the form mmmyy \\nor mmmyyyy. \\n\\nSyntax Description:\\nw \\n  specifies the width of the output field.\\n  Default: 5 \\n  Range: 5-7 \\n  \\nDetails:\\nThe DTMONYYw. format writes SAS datetime values in the form mmmyy or mmmyyyy, where \\n\\n  mmm is the first three letters of the month name.\\n  yy or yyyy is a two-digit or four-digit integer that represents the year.\\n \\nComparisons:\\nThe DTMONYYw. format and the MONYYw. format are similar in that they both write date values. \\nThe difference is that DTMONYYw. expects a SAS datetime value as input, and MONYYw. expects \\na SAS date value.\"}},{\"Name\":\"DTWKDATXw.\",\"Type\":\"SAS_FORMATS\",\"Help\":{\"#cdata\":\"Writes the date part of a SAS datetime value as the day of the week and the date \\nin the form day-of-week, dd month-name yy (or yyyy). \\n\\nSyntax Description:\\nw \\n  specifies the width of the output field.\\n  Default: 29  \\n  Range: 3-37  \\n \\nDetails:\\nThe DTWKDATXw. format writes SAS date values in the form day-of-week, dd month-name, yy or yyyy, where \\n\\n  day-of-week \\n  is either the first three letters of the day name or the entire day name.\\n\\n  dd is an integer that represents the day of the month.\\n\\n  month-name is either the first three letters of the month name or the entire month name.\\n\\n  yy or yyyy is a two-digit or four-digit integer that represents the year. \\n \\nComparisons:\\nThe DTWKDATXw. format is similar to the WEEKDATXw. format in that they both write date \\nvalues. The difference is that DTWKDATXw. expects a SAS datetime value as input, and \\nWEEKDATXw. expects a SAS date value.\"}},{\"Name\":\"DTYEARw.\",\"Type\":\"SAS_FORMATS\",\"Help\":{\"#cdata\":\"Writes the date part of a SAS datetime value as the year in the form yy or yyyy. \\n    \\nSyntax Description:\\nw \\n  specifies the width of the output field.\\n  Default: 4 \\n  Range: 2-4 \\n\\nComparisons:\\nThe DTYEARw. format is similar to the YEARw. format in that they both write date values. \\nThe difference is that DTYEARw. expects a SAS datetime value as input, and YEARw. expects \\na SAS date value.\"}},{\"Name\":\"DTYYQCw.\",\"Type\":\"SAS_FORMATS\",\"Help\":{\"#cdata\":\"Writes the date part of SAS a datetime value as the year and the quarter and \\nseparates them with a colon (:). \\n\\nSyntax Description:\\n\\nw \\n  specifies the width of the output field.\\n  Default: 4 \\n  Range: 4-6 \\n \\nDetails:\\n\\nThe DTYYQCw. format writes SAS datetime values in the form yy or yyyy, followed \\nby a colon (:) and the numeric value for the quarter of the year.\"}},{\"Name\":\"EURDFDDw.\",\"Type\":\"SAS_FORMATS\",\"Help\":{\"#cdata\":\"Writes international date values in the form dd.mm.yy or dd.mm.yyyy.\"}},{\"Name\":\"EURDFDEw.\",\"Type\":\"SAS_FORMATS\",\"Help\":{\"#cdata\":\"Writes international date values in the form ddmmmyy or ddmmmyyyy.\"}},{\"Name\":\"EURDFDNw.\",\"Type\":\"SAS_FORMATS\",\"Help\":{\"#cdata\":\"Writes international date values as the day of the week.\"}},{\"Name\":\"EURDFDTw.d\",\"Type\":\"SAS_FORMATS\",\"Help\":{\"#cdata\":\"Writes international datetime values in the form ddmmmyy:hh:mm:ss.ss or ddmmmyyyy \\nhh:mm:ss.ss.\"}},{\"Name\":\"EURDFDWNw.\",\"Type\":\"SAS_FORMATS\",\"Help\":{\"#cdata\":\"Writes international date values as the name of the day.\"}},{\"Name\":\"EURDFMNw.\",\"Type\":\"SAS_FORMATS\",\"Help\":{\"#cdata\":\"Writes international date values as the name of the month.\"}},{\"Name\":\"EURDFMYw.\",\"Type\":\"SAS_FORMATS\",\"Help\":{\"#cdata\":\"Writes international date values in the form mmmyy or mmmyyyy.\"}},{\"Name\":\"EURDFWDXw.\",\"Type\":\"SAS_FORMATS\",\"Help\":{\"#cdata\":\"Writes international date values as the name of the month, the day, and the year \\nin the form dd month-name yy (or yyyy ).\"}},{\"Name\":\"EURDFWKXw.\",\"Type\":\"SAS_FORMATS\",\"Help\":{\"#cdata\":\"Writes international date values as the name of the day and date in the form \\nday-of-week, dd month-name yy (or yyyy).\"}},{\"Name\":\"HDATEw.\",\"Type\":\"SAS_FORMATS\",\"Help\":{\"#cdata\":\"Writes date values in the form yyyy mmmmm dd where dd is the day-of-the-month, \\nmmmmm represents the month's name in Hebrew, and yyyy is the year.\"}},{\"Name\":\"HEBDATEw.\",\"Type\":\"SAS_FORMATS\",\"Help\":{\"#cdata\":\"Writes date values according to the Jewish calendar.\"}},{\"Name\":\"HHMMw.d\",\"Type\":\"SAS_FORMATS\",\"Help\":{\"#cdata\":\"Writes SAS time values as hours and minutes in the form hh:mm. \\n    \\nSyntax Description:\\nw \\n  specifies the width of the output field. \\n  Default: 5 \\n  Range: 2-20 \\nd \\n  specifies the number of digits to the right of the decimal point in the minutes value. \\n  The digits to the right of the decimal point specify a fraction of a minute.\\n  Default: 0 \\n  Range: 0-19 \\n  Requirement: must be less than w \\n \\nDetails:\\nThe HHMMw.d format writes SAS datetime values in the form hh:mm, where \\n\\n  hh is an integer. \\n  mm is the number of minutes that range from 00 through 59.\\n  SAS rounds hours and minutes that are based on the value of seconds in a SAS time value.\\n \\nComparisons:\\nThe HHMMw.d format is similar to the TIMEw.d format except that the HHMMw.d format \\ndoes not print seconds.\\n\\nThe HHMMw.d format and the TIMEw.d format write a leading blank for the single-hour digit. \\nThe TODw.d format writes a leading zero for a single-hour digit.\"}},{\"Name\":\"HOURw.d\",\"Type\":\"SAS_FORMATS\",\"Help\":{\"#cdata\":\"Writes time values as hours and decimal fractions of hours. \\n    \\nSyntax Description:\\nw \\n  specifies the width of the output field. \\n  Default: 2 \\n  Range: 2-20 \\nd \\n  specifies the number of digits to the right of the decimal point in the hour value. \\n  Therefore, SAS prints decimal fractions of the hour.\\n\\n  Requirement: must be less than w \\n  Range: 0-19 \\n \\nDetails:\\nSAS rounds hours based on the value of minutes in the SAS time value.\"}},{\"Name\":\"JULDAYw.\",\"Type\":\"SAS_FORMATS\",\"Help\":{\"#cdata\":\"Writes date values as the Julian day of the year.\"}},{\"Name\":\"JULIANw.\",\"Type\":\"SAS_FORMATS\",\"Help\":{\"#cdata\":\"Writes SAS date values as Julian dates in the form yyddd or yyyyddd. \\n    \\nSyntax Description:\\nw \\n  specifies the width of the output field. \\n  Default: 5 \\n  Range: 5-7 \\n  Tip: If w is 5, the JULIANw. format writes the date with a two-digit year. If w is 7, \\n  the JULIANw. format writes the date with a four-digit year. \\n  \\nDetails:\\nThe JULIANw. format writes SAS date values in the form yyddd or yyyyddd, where \\n\\n  yy or yyyy is a two-digit or four-digit integer that represents the year.\\n\\n  ddd is the number of the day, 1-365 (or 1-366 for leap years), in that year.\"}},{\"Name\":\"MINGUOw.\",\"Type\":\"SAS_FORMATS\",\"Help\":{\"#cdata\":\"Writes date values as Taiwanese dates in the form yyymmdd.\"}},{\"Name\":\"MMDDYYw.\",\"Type\":\"SAS_FORMATS\",\"Help\":{\"#cdata\":\"Writes SAS date values in the form mmdd<yy> yy or mm/dd/<yy>yy , where a forward \\nslash is the separator and the year appears as either 2 or 4 digits. \\n\\nSyntax Description:\\nw \\n  specifies the width of the output field.\\n  Default: 8 \\n  Range: 2-10 \\n  Interaction: When w has a value of from 2 to 5, the date appears with as much of the month \\n  and the day as possible. When w is 7, the date appears as a two-digit year without slashes. \\n \\nDetails:\\nThe MMDDYYw. format writes SAS date values in the form mmdd<yy>yy or mm/dd/<yy>yy, where \\n\\n  mm is an integer that represents the month.\\n\\n  / is the separator.\\n\\n  dd is an integer that represents the day of the month.\\n\\n  <yy>yy is a two-digit or four-digit integer that represents the year.\"}},{\"Name\":\"MMDDYYxw.\",\"Type\":\"SAS_FORMATS\",\"Help\":{\"#cdata\":\"Writes SAS date values in the form mmdd<yy> yy or mmXddX<yy>yy , where X represents \\na specified separator and the year appears as either 2 or 4 digits. \\n\\nSyntax Description:\\nx \\n  identifies a separator or specifies that no separator appear between the month, the day, \\n  and the year. Valid values for x are:\\n    B separates with a blank\\n    C separates with a colon\\n    D separates with a dash \\n    N indicates no separator \\n    P separates with a period \\n    S separates with a slash. \\nw \\n  specifies the width of the output field. \\n  Default: 8 \\n  Range: 2-10 \\n  Interaction: When w has a value of from 2 to 5, the date appears with as much of the month \\n  and the day as possible. When w is 7, the date appears as a two-digit year without separators. \\n  Interaction: When x has a value of N, the width range changes to 2-8. \\n \\nDetails:\\nThe MMDDYYxw. format writes SAS date values in the form mmdd<yy>yy or mmXddX<yy>yy, where \\n\\n  mm is an integer that represents the month. \\n  X is a specified separator.\\n  dd is an integer that represents the day of the month.\\n  <yy>yy is a two-digit or four-digit integer that represents the year.\"}},{\"Name\":\"MMSSw.d\",\"Type\":\"SAS_FORMATS\",\"Help\":{\"#cdata\":\"Writes SAS time values as the number of minutes and seconds since midnight. \\n    \\nSyntax Description:\\n\\nw \\n  specifies the width of the output field.\\n  \\n  Default: 5 \\n  Range: 2-20 \\n  Tip: Set w to a minimum of 5 to write a value that represents minutes and seconds. \\nd \\n  specifies the number of digits to the right of the decimal point in the seconds value. \\n  Therefore, the SAS time value includes fractional seconds.\\n\\n  Range: 0-19 \\n  Restriction: must be less than w\"}},{\"Name\":\"MMYYw.\",\"Type\":\"SAS_FORMATS\",\"Help\":{\"#cdata\":\"Writes SAS date values in the form mmM<yy> yy, where M is the separator and the \\nyear appears as either 2 or 4 digits. \\n\\nSyntax Description:\\n\\nw \\n  specifies the width of the output field.\\n\\n  Default: 7 \\n  Range: 5-32 \\n  Interaction: When w has a value of 5 or 6, the date appears with only the last two \\n  digits of the year. When w is 7 or more, the date appears with a four-digit year. \\n\\nDetails:\\nThe MMYYw. format writes SAS date values in the form mmM<yy>yy, where\\n\\n  mm is an integer that represents the month.\\n\\n  M is the character separator.\\n\\n  <yy>yy is a two-digit or four-digit integer that represents the year.\"}},{\"Name\":\"MMYYxw.\",\"Type\":\"SAS_FORMATS\",\"Help\":{\"#cdata\":\"Writes SAS date values in the form mm<yy> yy or mmX<yy>yy, where X represents \\na specified separator and the year appears as either 2 or 4 digits. \\n\\nSyntax Description:\\nx \\n  identifies a separator or specifies that no separator appear between the month and the year. \\n  Valid values for x are\\n    C separates with a colon \\n    D separates with a dash \\n    N indicates no separator \\n    P separates with a period\\n    S separates with a forward slash.\\nw \\n  specifies the width of the output field.\\n  Default: 7 \\n  Range: 5-32 \\n  Interaction: When x is set to N, no separator is specified. The width range is then 4-32, \\n  and the default changes to 6. \\n  Interaction: When x has a value of C, D, P, or S and w has a value of 5 or 6, the date \\n  appears with only the last two digits of the year. When w is 7 or more, the date appears \\n  with a four-digit year. \\n  Interaction: When x has a value of N and w has a value of 4 or 5, the date appears with \\n  only the last two digits of the year. When x has a value of N and w is 6 or more, the date \\n  appears with a four-digit year. \\n  \\nDetails:\\nThe MMYYxw. format writes SAS date values in the form mm<yy>yy or mmX<yy>yy, where\\n  mm is an integer that represents the month.\\n  X is a specified separator.\\n  <yy>yy is a two-digit or four-digit integer that represents the year.\"}},{\"Name\":\"MONNAMEw.\",\"Type\":\"SAS_FORMATS\",\"Help\":{\"#cdata\":\"Writes SAS date values as the name of the month. \\n    \\nSyntax Description:\\n\\nw \\n  specifies the width of the output field.\\n\\n  Default: 9 \\n  Range: 1-32 \\n  Tip: Use MONNAME3. to print the first three letters of the month name.  \\n\\nDetails:\\n\\nIf necessary, SAS truncates the name of the month to fit the format width.\"}},{\"Name\":\"MONTHw.\",\"Type\":\"SAS_FORMATS\",\"Help\":{\"#cdata\":\"Writes SAS date values as the month of the year. \\n    \\nSyntax Description:\\n\\nw \\n  specifies the width of the output field.\\n\\n  Default: 2 \\n  Range: 1-32 \\n \\nDetails:\\n\\nThe MONTHw. format writes the month (1 through 12) of the year from a SAS date value.\"}},{\"Name\":\"MONYYw.\",\"Type\":\"SAS_FORMATS\",\"Help\":{\"#cdata\":\"Writes SAS date values as the month and the year in the form mmmyy or mmmyyyy. \\n    \\nSyntax Description:\\nw \\n  specifies the width of the output field.\\n  Default: 5 \\n  Range: 5-7 \\n \\nDetails:\\nThe MONYYw. format writes SAS date values in the form mmmyy or mmmyyyy, where \\n\\n  mmm is the first three letters of the month name.\\n  yy or yyyy is a two-digit or four-digit integer that represents the year. \\n \\nComparisons:\\nThe MONYYw. format and the DTMONYYw. format are similar in that they both write date \\nvalues. The difference is that MONYYw. expects a SAS date value as input, and DTMONYYw. \\nexpects a datetime value.\"}},{\"Name\":\"NENGOw.\",\"Type\":\"SAS_FORMATS\",\"Help\":{\"#cdata\":\"Writes SAS date values as Japanese dates in the form e.yymmdd. \\n    \\nSyntax Description:\\nw \\n  specifies the width of the output field.\\n  Default: 10 \\n  Range: 2-10 \\n \\nDetails:\\nThe NENGOw. format writes SAS date values in the form e.yymmdd, where\\n\\n  e is the first letter of the name of the emperor (Meiji, Taisho, Showa, or Heisei).\\n\\n  yy is an integer that represents the year. \\n\\n  mm is an integer that represents the month.\\n\\n  dd is an integer that represents the day of the month.\\n\\nIf the width is too small, SAS omits the period.\"}},{\"Name\":\"PDJULGw.\",\"Type\":\"SAS_FORMATS\",\"Help\":{\"#cdata\":\"Writes packed Julian date values in the hexadecimal format yyyydddF for IBM. \\n    \\nSyntax Description: \\nw \\n  specifies the width of the output field. \\n  Default: 4 \\n  Range: 3-16 \\n \\nDetails:\\nThe PDJULGw. format writes SAS date values in the form yyyydddF, where \\n\\n  yyyy \\n  is the two-byte representation of the four-digit Gregorian year.\\n\\n  ddd \\n  is the one-and-a-half byte representation of the three-digit integer that corresponds \\n  to the Julian day of the year, 1-365 (or 1-366 for leap years). \\n\\n  F \\n  is the half byte that contains all binary 1s, which assigns the value as positive.\\n\\nNote: SAS interprets a two-digit year as belonging to the 100-year span that is defined \\nby the YEARCUTOFF= system option.\"}},{\"Name\":\"PDJULIw.\",\"Type\":\"SAS_FORMATS\",\"Help\":{\"#cdata\":\"Writes packed Julian date values in the hexadecimal format ccyydddF for IBM. \\n    \\nSyntax Description: \\nw \\n  specifies the width of the output field.\\n\\n  Default: 4 \\n  Range: 3-16 \\n \\nDetails:\\nThe PDJULIw. format writes SAS date values in the form ccyydddF, where\\n\\n  cc \\n  is the one-byte representation of a two-digit integer that represents the century. \\n\\n  yy \\n  is the one-byte representation of a two-digit integer that represents the year. The \\n  PDJULIw. format makes an adjustment for the century byte by subtracting 1900 from the \\n  4-digit Gregorian year to produce the correct packed decimal ccyy representation. A \\n  year value of 1998 is stored in ccyy as 0098, and a year valueof 2011 is stored as 0111.\\n\\n  ddd \\n  is the one-and-a-half byte representation of the three-digit integer that corresponds \\n  to the Julian day of the year, 1-365 (or 1-366 for leap years).\\n\\n  F \\n  is the half byte that contains all binary 1s, which assigns the value as positive. \\n\\n  Note: SAS interprets a two-digit year as belonging to the 100-year span that is \\n  defined by the YEARCUTOFF= system option.\"}},{\"Name\":\"QTRw.\",\"Type\":\"SAS_FORMATS\",\"Help\":{\"#cdata\":\"Writes SAS date values as the quarter of the year. \\n    \\nSyntax Description:\\n\\nw \\n  specifies the width of the output field.\\n\\n  Default: 1 \\n  Range: 1-32\"}},{\"Name\":\"QTRRw.\",\"Type\":\"SAS_FORMATS\",\"Help\":{\"#cdata\":\"Writes SAS date values as the quarter of the year in Roman numerals. \\n    \\nSyntax Description:\\n\\nw \\n  specifies the width of the output field.\\n\\n  Default: 3 \\n  Range: 3-32\"}},{\"Name\":\"TIMEw.d\",\"Type\":\"SAS_FORMATS\",\"Help\":{\"#cdata\":\"Writes SAS time values as hours, minutes, and seconds in the form hh:mm:ss.ss. \\n    \\nSyntax Description:\\nw \\n  specifies the width of the output field. Default: 8 Range: 2-20 \\n  Tip: Make w large enough to produce the desired results. To obtain a complete time value \\n  with three decimal places, you must allow at least 12 spaces: Eight spaces to the left of \\n  the decimal point, one space for the decimal point itself, and three spaces for the decimal \\n  fraction of seconds. \\nd \\n  specifies the number of digits to the right of the decimal point in the seconds value.\\n  Default: 0 \\n  Range: 0-19 \\n  Requirement: must be less than w \\n \\nDetails:\\nThe TIMEw.d format writes SAS time values in the form hh:mm:ss.ss, where \\n  hh is an integer.\\n    Note: If hh is a single digit, TIMEw.d places a leading blank before the digit. For example, \\n    the TIMEw.d. format writes 9:00 instead of 09:00.  \\n  mm is the number of minutes, ranging from 00 through 59.\\n  ss.ss is the number of seconds, ranging from 00 through 59, with the fraction of a second \\n  following the decimal point.\\n \\nComparisons:\\nThe TIMEw.d format is similar to the HHMMw.d format except that TIMEw.d includes seconds.\\n\\nThe TIMEw.d format and the HHMMwwrite a leading blank for a single-hour digit. The TODw.d \\nformat writes a leading zero for a single-hour digit.\"}},{\"Name\":\"TIMEAMPMw.d\",\"Type\":\"SAS_FORMATS\",\"Help\":{\"#cdata\":\"Writes SAS time values as hours, minutes, and seconds in the form hh:mm:ss.ss with AM or PM. \\n    \\nSyntax Description:\\nw \\n  specifies the width of the output field. \\n  Default: 11 \\n  Range: 2-20 \\nd \\n  specifies the number of digits to the right of the decimal point in the seconds value.\\n  Default: 0 \\n  Range: 0-19 \\n  Requirement: must be less than w \\n  \\nDetails:\\nThe TIMEAMPMw.d format writes SAS time values in the form hh:mm:ss.ss with AM or PM, where \\n  hh is an integer that represents the hour. \\n  mm is an integer that represents the minutes.\\n  ss.ss is the number of seconds to two decimal places. \\n\\nTimes greater than 23:59:59 PM appear as the next day. \\nMake w large enough to produce the desired results. To obtain a complete time value with \\nthree decimal places and AM or PM, you must allow at least 11 spaces (hh:mm:ss PM). If w \\nis less than 5, SAS writes AM or PM only.\\n \\nComparisons:\\nThe TIMEAMPMMw.d format is similar to the TIMEMw.d format except, that TIMEAMPMMw.d prints \\nAM or PM at the end of the time.\\n\\nTIMEw.d writes hours greater than 23:59:59 PM, and TIMEAMPMw.d does not.\"}},{\"Name\":\"TODw.d\",\"Type\":\"SAS_FORMATS\",\"Help\":{\"#cdata\":\"Writes the time portion of SAS datetime values in the form hh:mm:ss.ss. \\n    \\nSyntax Description:\\nw \\n  specifies the width of the output field. \\n  Default: 8 \\n  Range: 2-20 \\n  Tip: SAS writes a zero for a zero hour if the specified width is sufficient. For example, 02:30 or 00:30. \\nd \\n  specifies the number of digits to the right of the decimal point in the seconds value.\\n  Default: 0 \\n  Range: 0-19 \\n  Requirement: must be less than w \\n \\nDetails:\\nThe TODw.d format writes SAS datetime values in the form hh:mm:ss.ss, where \\n\\n  hh is an integer that represents the hour. \\n  mm is an integer that represents the minutes.\\n  ss.ss is the number of seconds to two decimal places. \\n \\nComparisons:\\nThe TODw.d format writes a leading zero for a single-hour digit. The TIMEw.d format \\nand the HHMMw.d format write a leading blank for a single-hour digit.\"}},{\"Name\":\"WEEKDATEw.\",\"Type\":\"SAS_FORMATS\",\"Help\":{\"#cdata\":\"Writes SAS date values as the day of the week and the date in the form day-of-week, \\nmonth-name dd, yy (or yyyy). \\n\\nSyntax Description:\\nw \\n  specifies the width of the output field.\\n  Default: 29 \\n  Range: 3-37 \\n \\nDetails:\\nThe WEEKDATEw. format writes SAS date values in the form day-of-week, month-name dd, \\nyy (or yyyy), where \\n\\n  dd is an integer that represents the day of the month.\\n\\n  yy or yyyy is a two-digit or four-digit integer that represents the year.\\n\\nIf w is too small to write the complete day of the week and month, SAS abbreviates as needed. \\n \\nComparisons:\\nThe WEEKDATEw. format is the same as the WEEKDATXw. format except that WEEKDATXw. prints \\ndd before the month's name.\"}},{\"Name\":\"WEEKDATXw.\",\"Type\":\"SAS_FORMATS\",\"Help\":{\"#cdata\":\"Writes SAS date values as the day of the week and date in the form day-of-week, \\ndd month-name yy (or yyyy). \\n\\nSyntax Description:\\nw \\n  specifies the width of the output field.\\n  Default: 29 \\n  Range: 3-37 \\n  \\nDetails:\\nThe WEEKDATXw. format writes SAS date values in the form day-of-week, dd month-name, \\nyy (or yyyy), where \\n\\n  dd is an integer that represents the day of the month.\\n  yy or yyyy is a two-digit or a four-digit integer that represents the year.\\n\\nIf w is too small to write the complete day of the week and month, then SAS abbreviates as needed.\\n \\nComparisons:\\nThe WEEKDATEw. format is the same as the WEEKDATXw. format, except that WEEKDATEw. prints \\ndd after the month's name.\\n\\nThe WEEKDATXw. format is the same as the DTWKDATXw. format, except that DTWKDATXw. expects \\na datetime value as input.\"}},{\"Name\":\"WEEKDAYw.\",\"Type\":\"SAS_FORMATS\",\"Help\":{\"#cdata\":\"Writes SAS date values as the day of the week. \\n    \\nSyntax Description:\\n\\n  w specifies the width of the output field.\\n  Default: 1 \\n  Range: 1-32 \\n \\nDetails:\\nThe WEEKDAYw. format writes a SAS date value as the day of the week (where 1=Sunday, 2=Monday, \\nand so on).\"}},{\"Name\":\"WEEKUw.\",\"Type\":\"SAS_FORMATS\",\"Help\":{\"#cdata\":\"Writes a week number in decimal format by using the U algorithm.\"}},{\"Name\":\"WEEKVw.\",\"Type\":\"SAS_FORMATS\",\"Help\":{\"#cdata\":\"Writes a week number in decimal format by using the V algorithm.\"}},{\"Name\":\"WEEKWw.\",\"Type\":\"SAS_FORMATS\",\"Help\":{\"#cdata\":\"Reads the format of the number-of-week value within the year and returns a SAS-date \\nvalue using the W algorithm.\"}},{\"Name\":\"WORDDATEw.\",\"Type\":\"SAS_FORMATS\",\"Help\":{\"#cdata\":\"Writes date values as the name of the month, the day, and the year in the form \\nmonth-name dd, yyyy.\"}},{\"Name\":\"WORDDATXw.\",\"Type\":\"SAS_FORMATS\",\"Help\":{\"#cdata\":\"Writes date values as the day, the name of the month, and the year in the form \\ndd month-name yyyy.\"}},{\"Name\":\"YEARw.\",\"Type\":\"SAS_FORMATS\",\"Help\":{\"#cdata\":\"Writes SAS date values as the year. \\n    \\nSyntax Description:\\nw \\n  specifies the width of the output field.\\n  Default: 4 \\n  Range: 2-32 \\n  Tip: If w is less than 4, the last two digits of the year print; otherwise, the year \\n  value prints as four digits. \\n \\nComparisons:\\nThe YEARw. format is similar to the DTYEARw. format in that they both write date values. \\nThe difference is that YEARw. expects a SAS date value as input, and DTYEARw. expects a \\nSAS datetime value.\"}},{\"Name\":\"YYMMw.\",\"Type\":\"SAS_FORMATS\",\"Help\":{\"#cdata\":\"Writes SAS date values in the form <yy>yyM mm, where M is the separator and the \\nyear appears as either 2 or 4 digits. \\n\\nSyntax Description:\\nw \\n  specifies the width of the output field. \\n  Default: 1 \\n  Range: 1-32 \\nd \\n  specifies the number of digits to the right of the decimal point in the numeric value.\\n\\n  Restriction: must be either 0 or 2 \\n  Tip: If d is 2, then YENw.d writes a decimal point and two decimal digits. If d is 0, \\n  then YENw.d does not write a decimal point or decimal digits. \\n \\nDetails:\\nThe YENw.d format writes numeric values with a leading yen sign and with a comma that \\nseparates every three digits of each value.\\n\\nThe hexadecimal representation of the code for the yen sign character is 5B on EBCDIC \\nsystems and 5C on ASCII systems. The monetary character these codes represent might be \\ndifferent in other countries.\"}},{\"Name\":\"YYMMxw.\",\"Type\":\"SAS_FORMATS\",\"Help\":{\"#cdata\":\"Writes SAS date values in the form <yy>yymm or <yy>yyXmm, where X represents \\na specified separator and the year appears as either 2 or 4 digits. \\n\\nSyntax Description:\\nx \\n  identifies a separator or specifies that no separator appear between the year and the month. \\n  Valid values for x are:\\n    C separates with a colon\\n    D separates with a dash \\n    N indicates no separator\\n    P separates with a period \\n    S separates with a forward slash \\nw \\n  specifies the width of the output field. Default: 7 Range: 5-32 \\n  Interaction: When x is set to N, no separator is specified. The width range is then 4-32, \\n  and the default changes to 6. \\n  Interaction: When x has a value of C, D, P, or S and w has a value of 5 or 6, the date appears \\n  with only the last two digits of the year. When w is 7 or more, the date appears with a four-digit year. \\n  Interaction: When x has a value of N and w has a value of 4 or 5, the date appears with only the last \\n  two digits of the year. When x has a value of N and w is 6 or more, the date appears with a four-digit year. \\n \\nDetails:\\nThe YYMMxw. format writes SAS date values in the form <yy>yymm or <yy>yyXmm, where\\n  <yy>yy is a two-digit or four-digit integer that represents the year. \\n  X is a specified separator. \\n  mm is an integer that represents the month.\\n \\nComparisons:\\nThe YYMMw.d format is similar to the YYMMxw.d format, except the YYMMxw.d format contains a \\nseparator such as a dash, colon, slash, or period, between the year and month.\"}},{\"Name\":\"YYMMDDw.\",\"Type\":\"SAS_FORMATS\",\"Help\":{\"#cdata\":\"Writes SAS date values in the form <yy>yymmdd or <yy>yy-mm- dd, where a dash \\nis the separator and the year appears as either 2 or 4 digits. \\n\\nSyntax Description:\\nw \\n  specifies the width of the output field. Default: 8 Range: 2-10 \\n  Interaction: When w has a value of from 2 to 5, the date appears with as much of the year \\n  and the month as possible. When w is 7, the date appears as a two-digit year without dashes. \\n  \\nDetails:\\nThe YYMMDDw. format writes SAS date values in the form <yy>yymmdd or <yy>yy-mm-dd, where \\n\\n  <yy>yy is a two-digit or four-digit integer that represents the year.\\n\\n  - \\n  is the separator.\\n\\n  mm is an integer that represents the month.\\n\\n  dd is an integer that represents the day of the month. \\n  \\nComparisons:\\nThe YYMMDDw.d format is similar to the YYMMDDxw.d format, except the YYMMDDxw.d format \\ncontains separators, such as a colon, slash, or period between the year, month, and day.\"}},{\"Name\":\"YYMMDDxw.\",\"Type\":\"SAS_FORMATS\",\"Help\":{\"#cdata\":\"Writes SAS date values in the form <yy>yymmdd or <yy>yyXmmXdd, where X represents \\na specified separator and the year appears as either 2 or 4 digits. \\n\\nSyntax Description:\\nx \\n  identifies a separator or specifies that no separator appear between the year, the month, and the day. \\n  Valid values for x are:\\n    B separates with a blank \\n    C separates with a colon \\n    D separates with a dash \\n    N indicates no separator \\n    P separates with a period \\n    S separates with a slash.\\nw \\n  specifies the width of the output field. Default: 8 Range: 2-10 \\n  Interaction: When w has a value of from 2 to 5, the date appears with as much of the year \\n  and the month. When w is 7, the date appears as a two-digit year without separators.  \\n  Interaction: When x has a value of N, the width range is 2-8. \\n  \\nDetails:\\nThe YYMMDDxw. format writes SAS date values in the form <yy>yymmdd or <yy>yyXmmXdd, where \\n  <yy>yy is a two-digit or four-digit integer that represents the year.\\n  X is a specified separator.\\n  mm is an integer that represents the month.\\n  dd is an integer that represents the day of the month. \\n  \\nComparisons:\\nThe YYMMDDw.d format is similar to the YYMMDDxw.d format, but YYMMDDxw.d format contains \\na separator between the year and month, such as a colon, slash, or period.\"}},{\"Name\":\"YYMONw.\",\"Type\":\"SAS_FORMATS\",\"Help\":{\"#cdata\":\"Writes SAS date values in the form yymmm or yyyymmm. \\n    \\nSyntax Description:\\nw \\n  specifies the width of the output field. If the format width is too small to print a \\n  four-digit year, only the last two digits of the year are printed.\\n  \\n  Default: 7 \\n  Range: 5-32 \\n \\nDetails:\\nThe YYMONw. format abbreviates the month's name to three characters.\"}},{\"Name\":\"YYQZw.\",\"Type\":\"SAS_FORMATS\",\"Help\":{\"#cdata\":\"Writes SAS date values in the form <yy><qq>, the year appears as 2 or 4 digits, and \\nqq is the quarter of the year. \\n    \\nSyntax Description:\\nZ \\n  specifies that no separator appear between the year and the quarter. \\nw \\n  specifies the width of the output field.\\n  Default: 4  \\n  Maximum: 6 \\n  \\nDetails:\\nThe YYQZw. format writes SAS date values in the form <yy> <qq>\\n\\n  <yy> is a two-digit or four-digit integer that represents the year. \\n  Z specifies that there is no separator. \\n  <qq> is an integer (01, 02, 03, or 04) that represents the quarter of the year.\"}},{\"Name\":\"YYQw.\",\"Type\":\"SAS_FORMATS\",\"Help\":{\"#cdata\":\"Writes SAS date values in the form <yy>yyQ q, where Q is the separator, the year \\nappears as either 2 or 4 digits, and q is the quarter of the year. \\n\\nSyntax Description:\\nw \\n  specifies the width of the output field. Default: 6 Range: 4-32 \\n  Interaction: When w has a value of 4 or 5, the date appears with only the last two digits \\n  of the year. When w is 6 or more, the date appears with a four-digit year. \\n \\nDetails:\\nThe YYQw. format writes SAS date values in the form <yy>yyQq, where\\n\\n  <yy>yy is a two-digit or four-digit integer that represents the year.\\n\\n  Q is the character separator.\\n\\n  q is an integer (1,2,3, or 4) that represents the quarter of the year.\\n \\nComparisons:\\nThe YYQw. format is similar to the YYQxw. format, but the YYQxw. format has separators \\nbetween the YY and Q, such as a dash, slash, period, or colon.\"}},{\"Name\":\"YYQxw.\",\"Type\":\"SAS_FORMATS\",\"Help\":{\"#cdata\":\"Writes SAS date values in the form <yy>yyq or <yy>yy-q, where the x in the format name \\nis a character that represents the special character that separates the year and the \\nquarter of the year, which can be a hyphen (-), period (.), blank character, slash (/), \\ncolon (:), or no separator; the year can be either 2 or 4 digits. \\n\\nSyntax Description:\\nx \\n  identifies a separator or specifies that no separator appear between the year and \\n  the quarter. Valid values for x are:\\n    C separates with a colon\\n    D separates with a dash\\n    N indicates no separator \\n    P separates with a period \\n    S separates with a forward slash.\\nw \\n  specifies the width of the output field. Default: 6 Range: 4-32 \\n  Interaction: When x is set to N, no separator is specified. The width range is then 3-32, \\n  and the default changes to 5. \\n  Interaction: When w has a value of 4 or 5, the date appears with only the last two digits \\n  of the year. When w is 6 or more, the date appears with a four-digit year. \\n  Interaction: When x has a value of N and w has a value of 3 or 4, the date appears with \\n  only the last two digits of the year. When x has a value of N and w is 5 or more, the date \\n  appears with a four-digit year. \\n \\nComparisons:\\nThe YYQw. format is similar to the YYQxw. format, but the YYQxw. format has separators between \\nthe YY and Q, such as a dash, slash, period, or colon. \\n\\nDetails:\\nThe YYQxw. format writes SAS date values in the form <yy>yyq or <yy>yyXq, where\\n  <yy>yy is a two-digit or four-digit integer that represents the year. \\n  X is a specified separator.\\n  q is an integer (1,2,3, or 4) that represents the quarter of the year.\"}},{\"Name\":\"YYQRw.\",\"Type\":\"SAS_FORMATS\",\"Help\":{\"#cdata\":\"Writes SAS date values in the form <yy>yyQ qr, where Q is the separator, the year \\nappears as either 2 or 4 digits, and qr is the quarter of the year expressed in \\nroman numerals.\\n\\nSyntax Description: \\nw \\n  specifies the width of the output field. Default: 8 Range: 6-32 \\n  Interaction: When the value of w is too small to write a four-digit year, the date appears \\n  with only the last two digits of the year. \\n \\nDetails:\\nThe YYQRw. format writes SAS date values in the form <yy>yyQqr, where\\n\\n  <yy>yy is a two-digit or four-digit integer that represents the year.\\n  Q is the character separator.\\n  qr is a roman numeral (I, II, III, or IV) that represents the quarter of the year.\\n \\nComparisons:\\nThe YYQRw. format is similar to the YYQRxw. format, but the YYQRxw. format has \\nseparators between the YY and QR, such as a dash, slash, period, or colon.\"}},{\"Name\":\"YYQRxw.\",\"Type\":\"SAS_FORMATS\",\"Help\":{\"#cdata\":\"Writes SAS date values in the form <yy>yy qr or <yy>yyXqr, where X represents \\na specified separator, the year appears as either 2 or 4 digits, and qr is the \\nquarter of the year expressed in Roman numerals. \\n\\nSyntax Description:\\nx \\n  identifies a separator or specifies that no separator appear between the year and the quarter. \\n  Valid values for x are: \\n    C separates with a colon \\n    D separates with a dash \\n    N indicates no separator     \\n    P separates with a period \\n    S separates with a forward slash.\\nw \\n  specifies the width of the output field. Default: 8 Range: 6-32 \\n  Interaction: When x is set to N, no separator is specified. The width range is then 5-32, \\n  and the default changes to 7. \\n  Interaction: When the value of w is too small to write a four-digit year, the date appears \\n  with only the last two digits of the year. \\n \\nDetails:\\nThe YYQRxw. format writes SAS date values in the form <yy>yyqr or <yy>yyXqr, where\\n\\n  <yy>yy is a two-digit or four-digit integer that represents the year. \\n  X is a specified separator. \\n  qr is a roman numeral (I, II, III, or IV) that represents the quarter of the year.\\n \\nComparisons:\\nThe YYQRw. format is similar to the YYQRxw. format, but the YYQRxw. format has separators \\nbetween the YY and QR, such as a dash, slash, period, or colon.\"}},{\"Name\":\"$CPTDWw.\",\"Type\":\"SAS_FORMATS\",\"Help\":{\"#cdata\":\"Writes a character string in Hebrew text that is encoded in IBM-PC (cp862) to Windows \\nHebrew encoding (cp1255).\"}},{\"Name\":\"$CPTWDw.\",\"Type\":\"SAS_FORMATS\",\"Help\":{\"#cdata\":\"Writes a character string that is encoded in Windows (cp1255) to Hebrew DOS (cp862) \\nencoding.\"}},{\"Name\":\"BESTw.\",\"Type\":\"SAS_FORMATS\",\"Help\":{\"#cdata\":\"SAS chooses the best notation. \\n    \\nSyntax Description:\\nw \\n  specifies the width of the output field. \\n\\n  Default: 12 \\n  Tip: If you print numbers between 0 and .01 exclusively, then use a field width of at \\n  least 7 to avoid excessive rounding. If you print numbers between 0 and -.01 exclusively, \\n  then use a field width of at least 8.  \\n  Range: 1-32 \\n \\nDetails:\\nThe BESTw. format is the default format for writing numeric values. When there is no \\nformat specification, SAS chooses the format that provides the most information about \\nthe value according to the available field width. BESTw. rounds the value, and if SAS \\ncan display at least one significant digit in the decimal portion, within the width \\nspecified, BESTw. produces the result in decimal. Otherwise, it produces the result \\nin scientific notation. SAS always stores the complete value regardless of the format \\nthat you use to represent it. \\n \\nComparisons:\\no The BESTw. format writes as many significant digits as possible in the output field, \\nbut if the numbers vary in magnitude, the decimal points do not line up. Integers print \\nwithout a decimal.\\n\\no The Dw.p format writes numbers with the desired precision and more alignment than \\nthe BESTw. format.\\n\\no The w.d format aligns decimal points, if possible, but does not necessarily show the \\nsame precision for all numbers.\"}},{\"Name\":\"BINARYw.\",\"Type\":\"SAS_FORMATS\",\"Help\":{\"#cdata\":\"Converts numeric values to binary representation. \\n    \\nSyntax Description:\\n\\nw \\n  specifies the width of the output field.\\n\\n  Default: 8 \\n  Range: 1-64 \\n  \\nComparisons:\\n\\nBINARYw. converts numeric values to binary representation. The $BINARYw. format converts \\ncharacter values to binary representation.\"}},{\"Name\":\"COMMAw.d\",\"Type\":\"SAS_FORMATS\",\"Help\":{\"#cdata\":\"Writes numeric values with a comma that separates every three digits and a period \\nthat separates the decimal fraction. \\n\\nSyntax Description:\\nw \\n  specifies the width of the output field.\\n\\n  Default: 6 \\n  Range: 1-32 \\n  Tip: Make w wide enough to write the numeric values, the commas, and the optional decimal point. \\nd \\n  specifies the number of digits to the right of the decimal point in the numeric value.\\n\\n  Range: 0-31 \\n  Requirement: must be less than w \\n \\nComparisons:\\nThe COMMAw.d format is similar to the COMMAXw.d format, but the COMMAXw.d format reverses \\nthe roles of the decimal point and the comma. This convention is common in European countries.\\n\\nThe COMMAw.d format is similar to the DOLLARw.d format except that the COMMAw.d format does \\nnot print a leading dollar sign.\"}},{\"Name\":\"COMMAXw.d\",\"Type\":\"SAS_FORMATS\",\"Help\":{\"#cdata\":\"Writes numeric values with a period that separates every three digits and a comma \\nthat separates the decimal fraction. \\n\\nSyntax Description:\\nw \\n  specifies the width of the output field.\\n  \\n  Default: 6 \\n  Range: 1-32 \\n  Tip: Make w wide enough to write the numeric values, the commas, and the optional decimal point. \\nd \\n  specifies the number of digits to the right of the decimal point in the numeric value.\\n\\n  Range: 0-31 \\n  Requirement: must be less than w \\n \\nComparisons:\\nThe COMMAw.d format is similar to the COMMAXw.d format, but the COMMAXw.d format reverses \\nthe roles of the decimal point and the comma. This convention is common in European countries.\"}},{\"Name\":\"Dw.p\",\"Type\":\"SAS_FORMATS\",\"Help\":{\"#cdata\":\"Prints numeric values, possibly with a great range of values, lining up decimal places \\nfor values of similar magnitude. \\n\\nSyntax Description:\\nw \\n  specifies the width of the output field. This argument is optional.\\n  Default: 12 \\n  Range: 1-32 \\np \\n  specifies the significant digits.\\n  Default: 3 \\n  Range: 0-16 \\n  Requirement: must be less than w \\n  \\nDetails:\\nThe Dw.p format writes numbers so that the decimal point aligns in groups of values \\nwith similar magnitude. Larger values of p print the data values with more precision \\nand potentially more shifts in the decimal point alignment. Smaller values of p print \\nthe data values with less precision and a greater chance of decimal point alignment. \\n \\nComparisons:\\no The BESTw. format writes as many significant digits as possible in the output field, \\nbut if the numbers vary in magnitude, the decimal points do not line up.\\n\\no Dw.p writes numbers with the desired precision and more alignment than BESTw. format\"}},{\"Name\":\"DOLLARw.d\",\"Type\":\"SAS_FORMATS\",\"Help\":{\"#cdata\":\"Writes numeric values with a leading dollar sign, a comma that separates every three \\ndigits, and a period that separates the decimal fraction. \\n\\nSyntax Description:\\nw \\n  specifies the width of the output field. \\n  Default: 6 \\n  Range: 2-32 \\nd \\n  specifies the number of digits to the right of the decimal point in the numeric value.\\n  Range: 0-31 \\n  Requirement: must be less than w \\n  \\nDetails:\\nThe DOLLARw.d format writes numeric values with a leading dollar sign, a comma that separates \\nevery three digits, and a period that separates the decimal fraction.\\n\\nThe hexadecimal representation of the code for the dollar sign character ($) is 5B on EBCDIC \\nsystems and 24 on ASCII systems. The monetary character that these codes represent might be \\ndifferent in other countries, but DOLLARw.d always produces one of these codes. \\n \\nComparisons:\\nThe DOLLARw.d format is similar to the DOLLARXw.d format, but the DOLLARXw.d format reverses \\nthe roles of the decimal point and the comma. This convention is common in European countries.\\n\\nThe DOLLARw.d format is the same as the COMMAw.d format except that the COMMAw.d format does \\nnot write a leading dollar sign.\"}},{\"Name\":\"DOLLARXw.d\",\"Type\":\"SAS_FORMATS\",\"Help\":{\"#cdata\":\"Writes numeric values with a leading dollar sign, a period that separates every three \\ndigits, and a comma that separates the decimal fraction. \\n\\nSyntax Description:\\nw \\n  specifies the width of the output field. \\n  Default: 6 \\n  Range: 2-32 \\nd \\n  specifies the number of digits to the right of the decimal point in the numeric value. \\n  Default: 0 \\n  Range: 2-31 \\n  Requirement: must be less than w \\n \\nDetails:\\nThe DOLLARXw.d format writes numeric values with a leading dollar sign, a comma that \\nseparates every three digits, and a period that separates the decimal fraction.\\n\\nThe hexadecimal representation of the code for the dollar sign character ($) is 5B on \\nEBCDIC systems and 24 on ASCII systems. The monetary character that these codes represent \\nmight be different in other countries, but DOLLARXw.d always produces one of these codes. \\n \\nComparisons:\\nThe DOLLARXw.d format is similar to the DOLLARw.d format, but the DOLLARXw.d format reverses \\nthe roles of the decimal point and the comma. This convention is common in European countries.\\n\\nThe DOLLARXw.d format is the same as the COMMAXw.d format except that the COMMAw.d format does \\nnot write a leading dollar sign.\"}},{\"Name\":\"Ew.\",\"Type\":\"SAS_FORMATS\",\"Help\":{\"#cdata\":\"Writes numeric values in scientific notation. \\n    \\nSyntax Description:\\n\\nw \\n  specifies the width of the output field.\\n\\n  Default: 12 \\n  Range: 7-32 \\n \\nDetails:\\n\\nSAS reserves the first column of the result for a minus sign.\"}},{\"Name\":\"EUROw.d\",\"Type\":\"SAS_FORMATS\",\"Help\":{\"#cdata\":\"Writes numeric values with a leading euro symbol (E), a comma that separates every \\nthree digits, and a period that separates the decimal fraction. \\n\\nSyntax Description:\\nw \\n  specifies the width of the output field. \\n  Default: 6 \\n  Range: 1-32 \\n  Tip: If you want the euro symbol to be part of the output, be sure to choose an adequate width. \\nd \\n  specifies the number of digits to the right of the decimal point in the numeric value.\\n  Default: 0 \\n  Range: 0-31 \\n  Requirement: must be less than w \\n \\nComparisons:\\no The EUROw.d format is similar to the EUROXw.d format, but EUROXw.d format reverses the \\nroles of the decimal point and the comma. This convention is common in European countries. \\n\\no The EUROw.d format is similar to the DOLLARw.d format, except that DOLLARw.d format writes \\na leading dollar sign instead of the euro symbol.\\n\\nNote: The EUROXw.d format uses the euro character (U+20AC). If you use the DBCS version of \\nSAS and an encoding that does not support the euro character, an error will occur. To prevent \\nthis error, change your session encoding to an encoding that supports the euro character.\"}},{\"Name\":\"EUROXw.d\",\"Type\":\"SAS_FORMATS\",\"Help\":{\"#cdata\":\"Writes numeric values with a leading euro symbol (E), a period that separates every \\nthree digits, and a comma that separates the decimal fraction. \\n \\nSyntax Description:\\nw \\n  specifies the width of the output field. \\n  Default: 6 \\n  Range: 1-32 \\n  Tip: If you want the euro symbol to be part of the output, be sure to choose an adequate width. \\nd \\n  specifies the number of digits to the right of the decimal point in the numeric value.\\n  Default: 0 \\n  Range: 0-31 \\n  Requirement: must be less than w \\n  \\nComparisons:\\nThe EUROXw.d format is similar to the EUROw.d format, but EUROw.d format reverses the roles of \\nthe comma and the decimal point. This convention is common in English-speaking countries.\\n\\nThe EUROXw.d format is similar to the DOLLARXw.d format, except that DOLLARXw.d format writes \\na leading dollar sign instead of the euro symbol.\\n\\nNote: The EUROXw.d format uses the euro character (U+20AC). If you use the DBCS version of SAS \\nand an encoding that does not support the euro character, an error will occur. To prevent this error, \\nchange your session encoding to an encoding that supports the euro character. \"}},{\"Name\":\"FLOATw.d\",\"Type\":\"SAS_FORMATS\",\"Help\":{\"#cdata\":\"Generates a native single-precision, floating-point value by multiplying a number \\nby 10 raised to the dth power. \\n\\nSyntax Description:\\nw \\n  specifies the width of the output field.\\n    Requirement: width must be 4  \\nd \\n  specifies the power of 10 by which to multiply the value.\\n  Default: 0 \\n  Range: 0-31 \\n \\nDetails:\\nValues that are written by FLOAT4. typically are those meant to be read by some other \\nexternal program that runs in your operating environment and that expects these single-\\nprecision values. If the value that is to be formatted is a missing value, or if it is \\nout-of-range for a native single-precision, floating-point value, a single-precision \\nvalue of zero is generated.\"}},{\"Name\":\"FRACTw.\",\"Type\":\"SAS_FORMATS\",\"Help\":{\"#cdata\":\"Converts numeric values to fractions. \\n    \\nSyntax Description:\\n\\nw \\n  specifies the width of the output field.\\n  Default: 10 \\n  Range: 4-32 \\n \\nDetails:\\n\\nDividing the number 1 by 3 produces the value 0.33333333. To write this value as 1/3, \\nuse the FRACTw. format. FRACTw. writes fractions in reduced form, that is, 1/2 instead \\nof 50/100.\"}},{\"Name\":\"HEXw.\",\"Type\":\"SAS_FORMATS\",\"Help\":{\"#cdata\":\"Converts real binary (floating-point) values to hexadecimal representation. \\n    \\nSyntax Description:\\nw \\n  specifies the width of the output field. \\n  Default: 8 \\n  Range: 1-16 \\n  Tip: If w < 16, the HEXw. format converts real binary numbers to fixed-point integers \\n  before writing them as hexadecimal characters. It also writes negative numbers in two's \\n  complement notation, and right aligns digits. If w is 16, HEXw. displays floating-point \\n  values in their hexadecimal form. \\n  \\nDetails:\\nIn any operating environment, the least significant byte written by HEXw. is the rightmost \\nbyte. Some operating environments store integers with the least significant digit as the first \\nbyte. The HEXw. format produces consistent results in any operating environment regardless of \\nthe order of significance by byte.\\n\\nNote: Different operating environments store floating-point values in different ways. However, \\nthe HEX16. format writes hexadecimal representations of floating-point values with consistent \\nresults in the same way that your operating environment stores them. \\n \\nComparisons:\\nThe HEXw. numeric format and the $HEXw. character format both generate the hexadecimal equivalent \\nof values.\"}},{\"Name\":\"IBw.d\",\"Type\":\"SAS_FORMATS\",\"Help\":{\"#cdata\":\"Writes native integer binary (fixed-point) values, including negative values. \\n    \\nSyntax Description: \\nw \\n  specifies the width of the output field. \\n  Default: 4 \\n  Range: 1-8 \\nd \\n  specifies to multiply the number by 10d. This argument is optional. \\n  Default 0 \\n  Range: 0-10 \\n \\nDetails:\\nThe IBw.d format writes integer binary (fixed-point) values, including negative values that \\nare represented in two's complement notation. IBw.d writes integer binary values with consistent \\nresults if the values are created in the same type of operating environment that you use to run SAS. \\n\\nNote: Different operating environments store integer binary values in different ways. This concept \\nis called byte ordering.\"}},{\"Name\":\"IBRw.d\",\"Type\":\"SAS_FORMATS\",\"Help\":{\"#cdata\":\"Writes integer binary (fixed-point) values in Intel and DEC formats. \\n    \\nSyntax Description: \\nw \\n  specifies the width of the output field. \\n  Default: 4 \\n  Range: 1-8 \\nd \\n  specifies to multiply the number by 10d. This argument is optional. \\n  Default: 0 \\n  Range: 0-10 \\n \\nDetails:\\nThe IBRw.d format writes integer binary (fixed-point) values, including negative values that \\nare represented in two's complement notation. IBRw.d writes integer binary values that are \\ngenerated by and for Intel and DEC operating environments. Use IBRw.d to write integer binary \\ndata from Intel or DEC environments on other operating environments. The IBRw.d format in SAS \\ncode allows for a portable implementation for writing the data in any operating environment.\\n\\nNote: Different operating environments store integer binary values in different ways. This \\nconcept is called byte ordering.\"}},{\"Name\":\"IEEEw.d\",\"Type\":\"SAS_FORMATS\",\"Help\":{\"#cdata\":\"Generates an IEEE floating-point value by multiplying a number by 10 raised to the dth power. \\n    \\nSyntax Description:\\nw \\n  specifies the width of the output field. \\n  Default: 8 \\n  Range: 3-8 \\n  Tip: If w is 8, an IEEE double-precision, floating-point number is written. If w is 5, 6, or 7, \\n  an IEEE double-precision, floating-point number is written, which assumes truncation of the \\n  appropriate number of bytes. If w is 4, an IEEE single-precision floating-point number is written. \\n  If w is 3, an IEEE single-precision, floating-point number is written, which assumes truncation \\n  of one byte. \\nd \\n  specifies to multiply the number by 10d.\\n  Default: 0 \\n  Range: 0-10 \\n \\nDetails:\\nThis format is useful in operating environments where IEEEw.d is the floating-point representation \\nthat is used. In addition, you can use the IEEEw.d format to create files that are used by programs \\nin operating environments that use the IEEE floating-point representation.\\n\\nTypically, programs generate IEEE values in single-precision (4 bytes) or double-precision (8 bytes). \\nPrograms perform truncation solely to save space on output files. Machine instructions require that \\nthe floating-point number be one of the two lengths. The IEEEw.d format allows other lengths, which \\nenables you to write data to files that contain space-saving truncated data.\"}},{\"Name\":\"NEGPARENw.d\",\"Type\":\"SAS_FORMATS\",\"Help\":{\"#cdata\":\"Writes negative numeric values in parentheses. \\n    \\nSyntax Description:\\nw \\n  specifies the width of the output field.\\n  Default: 6 \\n  Range: 1-32 \\n\\nd \\n  specifies the number of digits to the right of the decimal point in the numeric value.\\n  Default: 0 \\n  Range: 0-31 \\n \\nDetails:\\nThe NEGPARENw.d format attempts to right align output values. If the input value is negative, \\nNEGPARENw.d displays the output by enclosing the value in parentheses, if the field that you \\nspecify is wide enough. Otherwise, it uses a minus sign to represent the negative value. If \\nthe input value is non-negative, NEGPARENw.d displays the value with a leading and trailing \\nblank to ensure proper column alignment. It reserves the last column for a close parenthesis \\neven when the value is positive. \\n\\nComparisons:\\nThe NEGPARENw.d format is similar to the COMMAw.d format in that it separates every three \\ndigits of the value with a comma.\"}},{\"Name\":\"NUMXw.d\",\"Type\":\"SAS_FORMATS\",\"Help\":{\"#cdata\":\"Writes numeric values with a comma in place of the decimal point.\"}},{\"Name\":\"OCTALw.\",\"Type\":\"SAS_FORMATS\",\"Help\":{\"#cdata\":\"Converts numeric values to octal representation. \\n    \\nSyntax Description:\\n\\nw \\n  specifies the width of the output field.\\n  Default: 3 \\n  Range: 1-24 \\n \\nDetails:\\n\\nIf necessary, the OCTALw. format converts numeric values to integers before displaying \\nthem in octal representation. \\n \\nComparisons:\\n\\nOCTALw. converts numeric values to octal representation. The $OCTALw. format converts \\ncharacter values to octal representation.\"}},{\"Name\":\"PDw.d\",\"Type\":\"SAS_FORMATS\",\"Help\":{\"#cdata\":\"Writes data in packed decimal format.\"}},{\"Name\":\"PERCENTw.d\",\"Type\":\"SAS_FORMATS\",\"Help\":{\"#cdata\":\"Writes numeric values as percentages. \\n    \\nSyntax Description\\n\\nw \\n  specifies the width of the output field.\\n  Default: 6 \\n  Range: 4-32 \\nd \\n  specifies the number of digits to the right of the decimal point in the numeric value.\\n  Range: 0-31 \\n  Requirement: must be less than w \\n \\nDetails:\\nThe PERCENTw.d format multiplies values by 100, formats them the same as the BESTw.d format, \\nand adds a percent sign (%) to the end of the formatted value, while it encloses negative \\nvalues in parentheses. The PERCENTw.d format allows room for a percent sign and parentheses, \\neven if the value is not negative.\"}},{\"Name\":\"PERCENTNw.d\",\"Type\":\"SAS_FORMATS\",\"Help\":{\"#cdata\":\"Produces percentages, using a minus sign for negative values. \\n    \\nSyntax Description:\\nw \\n  specifies the width of the output field.\\n  Default: 6 \\n  Range: 4-32 \\nd \\n  specifies the number of digits to the right of the decimal point in the numeric value.\\n  Range: 0-31 \\n  Requirement: must be less than w \\n \\nDetails:\\nThe PERCENTNw.d format multiplies negative values by 100, formats them the same as the \\nBESTw.d format, adds a minus sign to the beginning of the value, and adds a percent sign \\n(%) to the end of the formatted value. The PERCENTNw.d format allows room for a percent \\nsign and a minus sign, even if the value is not negative.\\n \\nComparisons:\\nThe PERCENTNw.d format produces percents by using a minus sign instead of parentheses \\nfor negative values. The PERCENTw.d format produces percents by using parentheses for \\nnegative values.\"}},{\"Name\":\"PIBw.d\",\"Type\":\"SAS_FORMATS\",\"Help\":{\"#cdata\":\"Writes positive integer binary (fixed-point) values.\"}},{\"Name\":\"PIBRw.d\",\"Type\":\"SAS_FORMATS\",\"Help\":{\"#cdata\":\"Writes positive integer binary (fixed-point) values in Intel and DEC formats.\"}},{\"Name\":\"PKw.d\",\"Type\":\"SAS_FORMATS\",\"Help\":{\"#cdata\":\"Writes data in unsigned packed decimal format.\"}},{\"Name\":\"PVALUEw.d\",\"Type\":\"SAS_FORMATS\",\"Help\":{\"#cdata\":\"Writes p-values.\"}},{\"Name\":\"RBw.d\",\"Type\":\"SAS_FORMATS\",\"Help\":{\"#cdata\":\"Writes real binary data (floating-point) in real binary format.\"}},{\"Name\":\"ROMANw.\",\"Type\":\"SAS_FORMATS\",\"Help\":{\"#cdata\":\"Writes numeric values as roman numerals. \\n    \\nSyntax Description:\\n\\nw \\n  specifies the width of the output field.\\n\\n  Default: 3 \\n  Range: 3-32\"}},{\"Name\":\"SIZEKw.d\",\"Type\":\"SAS_FORMATS\",\"Help\":{\"#cdata\":\"Writes a numeric value in the form nK for kilobytes.\\n    \\nSyntax Description:\\nw \\n  specifies the width of the output field.\\n  Default: 9 \\n  Range: 2-33 \\n\\nd \\n  specifies the number of digits to the right of the decimal point in the numeric value.\\n  Default: 0 \\n  Range: 0-31 \\n \\nDetails:\\nTo write a numeric value in the form nK by using the SIZEKw.d format, the value of n \\nis calculated by dividing the numeric value by 1,024. The symbol K indicates that the \\nvalue is a multiple of 1,024.\"}},{\"Name\":\"SIZEKMGw.d\",\"Type\":\"SAS_FORMATS\",\"Help\":{\"#cdata\":\"Writes a numeric value in the form nKB for kilobytes, nMB for megabytes, \\nor nGB for gigabytes.\\n    \\nSyntax Description:\\nw \\n  specifies the width of the output field.\\n  Default: 9 \\n  Range: 2-33 \\nd \\n  specifies the number of digits to the right of the decimal point in the numeric value.\\n  Default: 0 \\n  Range: 0-31 \\n \\nDetails:\\nWhen you specify the SIZEKMGw.d format, SAS determines the best suffix: KB for kilobytes; \\nMB for megabytes; or GB for gigabytes; and divides the SAS numeric value by one of the \\nfollowing values:\\n\\n  KB 1024 \\n  MB 1048576 \\n  GB 1073741824\"}},{\"Name\":\"S370FFw.d\",\"Type\":\"SAS_FORMATS\",\"Help\":{\"#cdata\":\"Writes native standard numeric data in IBM mainframe format. \\n    \\nSyntax Description: \\nw \\n  specifies the width of the output field. \\n  Default: 12 \\n  Range: 1-32 \\nd \\n  specifies the power of 10 by which to divide the value. This argument is optional.\\n  Range: 0-31 \\n \\nDetails:\\nThe S370FFw.d format writes numeric data in IBM mainframe format (EBCDIC). The EBCDIC \\nnumeric values are represented with one byte per digit. If EBCDIC is the native format, \\nS370FFw.d performs no conversion.\\n\\nIf a value is negative, an EBCDIC minus sign precedes the value. A missing value is \\nrepresented as a single EBCDIC period.\\n \\nComparisons:\\no On an EBCDIC system, S370FFw.d behaves like the w.d format. \\no On all other systems, S370FFw.d performs the same role for numeric data that the \\n$EBCDICw. format does for character data.\"}},{\"Name\":\"S370FIBw.d\",\"Type\":\"SAS_FORMATS\",\"Help\":{\"#cdata\":\"Writes integer binary (fixed-point) values, including negative values, in IBM\\nmainframe format. \\n\\nSyntax Description: \\nw \\n  specifies the width of the output field. \\n  Default: 4 \\n  Range: 1-8 \\nd \\n  specifies to multiply the number by 10d. This argument is optional. \\n  Default: 0 \\n  Range: 0-10 \\n \\nDetails: \\nThe S370FIBw.d format writes integer binary (fixed-point) values that are stored in IBM mainframe \\nformat, including negative values that are represented in two's complement notation. S370FIBw.d \\nwrites integer binary values with consistent results if the values are created in the same type \\nof operating environment that you use to run SAS. \\n\\nUse S370FIBw.d to write integer binary data in IBM mainframe format from data that are created \\nin other operating environments. \\n\\nNote:   Different operating environments store integer binary values in different ways. This \\nconcept is called byte ordering.\"}},{\"Name\":\"S370FIBUw.d\",\"Type\":\"SAS_FORMATS\",\"Help\":{\"#cdata\":\"Writes unsigned integer binary (fixed-point) values in IBM mainframe format. \\n    \\nSyntax Description: \\nw \\n  specifies the width of the output field. \\n  Default: 4 \\n  Range: 1-8 \\nd \\n  specifies to multiply the number by 10d. This argument is optional. \\n  Default: 0 \\n  Range: 0-10 \\n \\nDetails:\\nThe S370FIBUw.d format writes unsigned integer binary (fixed-point) values that are stored in IBM \\nmainframe format, including negative values that are represented in two's complement notation. \\nUnsigned integer binary values are the same as integer binary values, except that all values are \\ntreated as positive. S370FIBUw.d writes integer binary values with consistent results if the values \\nare created in the same type of operating environment that you use to run SAS.\\n\\nUse S370FIBUw.d to write unsigned integer binary data in IBM mainframe format from data that are \\ncreated in other operating environments. \\n\\nNote:   Different operating environments store integer binary values in different ways. This \\nconcept is called byte ordering.\"}},{\"Name\":\"S370FPDw.d\",\"Type\":\"SAS_FORMATS\",\"Help\":{\"#cdata\":\"Writes packed decimal data in IBM mainframe format. \\n    \\nSyntax Description: \\nw \\n  specifies the width of the output field. \\n  Default: 1 \\n  Range: 1-16 \\nd \\n  specifies to multiply the number by 10d. This argument is optional. \\n  Default: 0 \\n  Range: 0-31 \\n \\nDetails: \\nUse S370FPDw.d in other operating environments to write packed decimal data in the same \\nformat as on an IBM mainframe computer.\"}},{\"Name\":\"S370FPDUw.d\",\"Type\":\"SAS_FORMATS\",\"Help\":{\"#cdata\":\"Writes unsigned packed decimal data in IBM mainframe format. \\n    \\nSyntax Description: \\nw \\n  specifies the width of the output field. \\n  Default: 1 \\n  Range: 1-16 \\nd \\n  specifies to multiply the number by 10d. This argument is optional. \\n  Default: 0 \\n  Range: 0-31 \\n \\nDetails:\\nUse S370FPDUw.d in other operating environments to write unsigned packed decimal data \\nin the same format as on an IBM mainframe computer. \\n\\nComparisons:\\nThe S370FPDUw.d format is similar to the S370FPDw.d format except that the S370FPDw.d format \\nalways uses the absolute value instead of the signed value.\\n\\nThe S370FPDUw.d format is equivalent to the COBOL notation PIC 9(n) PACKED-DECIMAL, where \\nthe n value is the number of digits.\"}},{\"Name\":\"S370FPIBw.d\",\"Type\":\"SAS_FORMATS\",\"Help\":{\"#cdata\":\"Writes positive integer binary (fixed-point) values in IBM mainframe format. \\n    \\nSyntax Description: \\nw \\n  specifies the width of the output field. \\n  Default: 4 \\n  Range: 1-8 \\nd \\n  specifies to multiply the number by 10d. This argument is optional. \\n  Default: 0 \\n  Range: 0-10 \\n \\nDetails: \\nPositive integer binary values are the same as integer binary values, except that all values \\nare treated as positive. S370FPIBw.d writes integer binary values with consistent results if \\nthe values are created in the same type of operating environment that you use to run SAS.\\n\\nUse S370FPIBw.d to write positive integer binary data in IBM mainframe format from data that \\nare created in other operating environments. \\n\\nNote: Different operating environments store integer binary values in different ways. This \\nconcept is called byte ordering.\"}},{\"Name\":\"S370FRBw.d\",\"Type\":\"SAS_FORMATS\",\"Help\":{\"#cdata\":\"Writes real binary (floating-point) data in IBM mainframe format. \\n    \\nSyntax Description: \\nw \\n  specifies the width of the output field. \\n  Default: 4 \\n  Range: 2-8 \\nd \\n  specifies to multiply the number by 10d. This argument is optional. \\n  Default: 0 \\n  Range: 0-10 \\n  \\nDetails:\\nA floating-point value consists of two parts: a mantissa that gives the value and an \\nexponent that gives the value's magnitude.\\n\\nUse S370FRBw.d in other operating environments to write floating-point binary data in \\nthe same format as on an IBM mainframe computer.\"}},{\"Name\":\"S370FZDw.d\",\"Type\":\"SAS_FORMATS\",\"Help\":{\"#cdata\":\"Writes zoned decimal data in IBM mainframe format. \\n    \\nSyntax Description: \\nw \\n  specifies the width of the output field. \\n  Default: 8 \\n  Range: 1-32 \\nd \\n  specifies to multiply the number by 10d. This argument is optional. \\n  Default: 0 \\n  Range: 0-31 \\n \\nDetails:\\nUse S370FZDw.d in other operating environments to write zoned decimal data in the same \\nformat as on an IBM mainframe computer.\"}},{\"Name\":\"S370FZDLw.d\",\"Type\":\"SAS_FORMATS\",\"Help\":{\"#cdata\":\"Writes zoned decimal leading-sign data in IBM mainframe format. \\n    \\nSyntax Description: \\nw \\n  specifies the width of the output field. \\n  Default: 8 \\n  Range: 1-32 \\nd \\n  specifies to multiply the number by 10d. This argument is optional. \\n  Default: 0 \\n  Range: 0-31 \\n \\nDetails:\\nUse S370FZDLw.d in other operating environments to write zoned decimal leading-sign data \\nin the same format as on an IBM mainframe computer.\\n \\nComparisons: \\nThe S370FZDLw.d format is similar to the S370FZDw.d format except that the S370FZDLw.d format \\ndisplays the sign of the number in the first byte of the formatted output.\\n\\nThe S370FZDLw.d format is equivalent to the COBOL notation PIC S9(n) DISPLAY SIGN LEADING, \\nwhere the n value is the number of digits.\"}},{\"Name\":\"S370FZDSw.d\",\"Type\":\"SAS_FORMATS\",\"Help\":{\"#cdata\":\"Writes zoned decimal separate leading-sign data in IBM mainframe format. \\n    \\nSyntax Description: \\nw \\n  specifies the width of the output field. \\n  Default: 8 \\n  Range: 2-32 \\nd \\n  specifies to multiply the number by 10d. This argument is optional.\\n  Default: 0 \\n  Range: 0-31 \\n \\nDetails:\\nUse S370FZDSw.d in other operating environments to write zoned decimal separate leading-sign \\ndata in the same format as on an IBM mainframe computer. \\n \\nComparisons:\\nThe S370FZDSw.d format is similar to the S370FZDLw.d format except that the S370FZDSw.d format \\ndoes not embed the sign of the number in the zoned output.\\n\\nThe S370FZDSw.d format is equivalent to the COBOL notation PIC S9(n) DISPLAY SIGN LEADING SEPARATE, \\nwhere the n value is the number of digits.\"}},{\"Name\":\"S370FZDTw.d\",\"Type\":\"SAS_FORMATS\",\"Help\":{\"#cdata\":\"Writes zoned decimal separate trailing-sign data in IBM mainframe format. \\n    \\nSyntax Description: \\nw \\n  specifies the width of the output field. \\n  Default: 8 \\n  Range: 2-32 \\nd \\n  specifies to multiply the number by 10d. This argument is optional. \\n  Default: 0 \\n  Range: 0-31 \\n \\nDetails:\\nUse S370FZDTw.d in other operating environments to write zoned decimal separate trailing-sign \\ndata in the same format as on an IBM mainframe computer.\\n \\nComparisons:\\nThe S370FZDTw.d format is similar to the S370FZDSw.d format except that the S370FZDTw.d format \\ndisplays the sign of the number at the end of the formatted output. \\n\\nThe S370FZDTw.d format is equivalent to the COBOL notation PIC S9(n) DISPLAY SIGN TRAILING SEPARATE, \\nwhere the n value is the number of digits.\"}},{\"Name\":\"S370FZDUw.d\",\"Type\":\"SAS_FORMATS\",\"Help\":{\"#cdata\":\"Writes unsigned zoned decimal data in IBM mainframe format. \\n    \\nSyntax Description: \\nw \\n  specifies the width of the output field. \\n  Default: 8 \\n  Range: 1-32 \\nd \\n  specifies to multiply the number by 10d. This argument is optional. \\n  Default: 0 \\n  Range: 0-31 \\n \\nDetails:\\nUse S370FZDUw.d in other operating environments to write unsigned zoned decimal data \\nin the same format as on an IBM mainframe computer.\\n \\nComparisons:\\nThe S370FZDUw.d format is similar to the S370FZDw.d format except that the S370FZDUw.d \\nformat always uses the absolute value of the number.\\n\\nThe S370FZDUw.d format is equivalent to the COBOL notation PIC 9(n) DISPLAY, where the \\nn value is the number of digits.\"}},{\"Name\":\"SSNw.\",\"Type\":\"SAS_FORMATS\",\"Help\":{\"#cdata\":\"Writes Social Security numbers. \\n    \\nSyntax Description: \\nw \\n  specifies the width of the output field. \\n  Default: 11 \\n  Restriction: w must be 11 \\n \\nDetails:\\nIf the value is missing, SAS writes nine single periods with dashes between the third \\nand fourth periods and between the fifth and sixth periods. If the value contains fewer \\nthan nine digits, SAS right aligns the value and pads it with zeros on the left. If the \\nvalue has more than nine digits, SAS writes it as a missing value.\"}},{\"Name\":\"VAXRBw.d\",\"Type\":\"SAS_FORMATS\",\"Help\":{\"#cdata\":\"Writes real binary (floating-point) data in VMS format. \\n    \\nSyntax Description:\\nw \\n  specifies the width of the output field. \\n  Default: 8 \\n  Range: 2-8 \\nd \\n  specifies the power of 10 by which to divide the value.\\n  Default: 0 \\n  Range: 0-31 \\n  \\nDetails:\\nUse the VAXRBw.d format to write data in native VAX/VMS floating-point notation.\"}},{\"Name\":\"w.d\",\"Type\":\"SAS_FORMATS\",\"Help\":{\"#cdata\":\"Writes standard numeric data one digit per byte. \\n    \\nSyntax Description:\\nw \\n  specifies the width of the output field.\\n  Range: 1-32 \\n  Tip: Allow enough space to write the value, the decimal point, and a minus sign, \\n  if necessary.  \\nd \\n  specifies the number of digits to the right of the decimal point in the numeric value.\\n  Range: 0-31 \\n  Requirement: must be less than w \\n  Tip: If d is 0 or you omit d, w.d writes the value without a decimal point. \\n \\nDetails:\\nThe w.d format rounds to the nearest number that fits in the output field. If w.d is too \\nsmall, SAS might shift the decimal to the BESTw. format. The w.d format writes negative \\nnumbers with leading minus signs. In addition, w.d right aligns before writing and pads \\nthe output with leading blanks.\\n \\nComparisons:\\nThe Zw.d format is similar to the w.d format except that Zw.d pads right-aligned output \\nwith 0s instead of blanks.\"}},{\"Name\":\"WORDFw.\",\"Type\":\"SAS_FORMATS\",\"Help\":{\"#cdata\":\"Writes numeric values as words with fractions that are shown numerically. \\n    \\nSyntax Description: \\nw \\n  specifies the width of the output field. \\n  Default: 10 \\n  Range: 5-32767 \\n \\nDetails:\\nThe WORDFw. format converts numeric values to their equivalent in English words, with \\nfractions that are represented numerically in hundredths. For example, 8.2 prints as \\neight and 20/100.\\n\\nNegative numbers are preceded by the word minus. When the value's equivalent in words \\ndoes not fit into the specified field, it is truncated on the right and the last character \\nprints as an asterisk.\\n \\nComparisons:\\nThe WORDFw. format is similar to the WORDSw. format except that WORDFw. prints fractions \\nas numbers instead of words.\"}},{\"Name\":\"WORDSw.\",\"Type\":\"SAS_FORMATS\",\"Help\":{\"#cdata\":\"Writes numeric values as words. \\n    \\nSyntax Description: \\nw \\n  specifies the width of the output field. \\n  Default: 10 \\n  Range: 5-32767 \\n \\nDetails:\\nYou can use the WORDSw. format to print checks with the amount written out below the payee line.\\n\\nNegative numbers are preceded by the word minus. If the number is not an integer, the fractional \\nportion is represented as hundredths. For example, 5.3 prints as five and thirty hundredths. When \\nthe value's equivalent in words does not fit into the specified field, it is truncated on the \\nright and the last character prints as an asterisk.\\n \\nComparisons:\\nThe WORDSw. format is similar to the WORDFw. format except that WORDSw. prints fractions as words \\ninstead of numbers.\"}},{\"Name\":\"YENw.d\",\"Type\":\"SAS_FORMATS\",\"Help\":{\"#cdata\":\"Writes numeric values with yen signs, commas, and decimal points. \\n    \\nSyntax Description:\\nw \\n  specifies the width of the output field.\\n  Default: 1 \\n  Range: 1-32 \\nd \\n  specifies the number of digits to the right of the decimal point in the numeric value.\\n  Restriction: must be either 0 or 2 \\n  Tip: If d is 2, then YENw.d writes a decimal point and two decimal digits. If d is 0, \\n  then YENw.d does not write a decimal point or decimal digits. \\n \\nDetails:\\nThe YENw.d format writes numeric values with a leading yen sign and with a comma that \\nseparates every three digits of each value.\\n\\nThe hexadecimal representation of the code for the yen sign character is 5B on EBCDIC \\nsystems and 5C on ASCII systems. The monetary character these codes represent might be \\ndifferent in other countries.\"}},{\"Name\":\"Zw.d\",\"Type\":\"SAS_FORMATS\",\"Help\":{\"#cdata\":\"Writes standard numeric data with leading 0s. \\n    \\nSyntax Description:\\nw \\n  specifies the width of the output field. \\n  Default: 1 \\n  Range: 1-32 \\n  Tip: Allow enough space to write the value, the decimal point, and a minus sign, if necessary.  \\nd \\n  specifies the number of digits to the right of the decimal point in the numeric value. \\n  Default: 0 \\n  Range: 0-31 \\n  Tip: If d is 0 or you omit d, Zw.d writes the value without a decimal point. \\n \\nDetails:\\nThe Zw.d format writes standard numeric values one digit per byte and fills in 0s to the \\nleft of the data value.\\n\\nThe Zw.d format rounds to the nearest number that will fit in the output field. If w.d is \\ntoo large to fit, SAS might shift the decimal to the BESTw. format. The Zw.d format writes \\nnegative numbers with leading minus signs. In addition, it right aligns before writing and \\npads the output with leading zeros.\"}},{\"Name\":\"ZDw.d\",\"Type\":\"SAS_FORMATS\",\"Help\":{\"#cdata\":\"Writes numeric data in zoned decimal format.\"}},{\"Name\":\"$BASE64Xw.\",\"Type\":\"SAS_FORMATS\",\"Help\":{\"#cdata\":\"Converts character data to ASCII text using Base 64 encoding. \\n    \\nSyntax Description:\\n\\nw \\nspecifies the width of the output field.\\n\\n  Default: 1 \\n  Range: 1-32767 \\n \\nDetails:\\n\\nBase 64 is an industry encoding method whose encoded characters are determined by \\nusing a positional scheme that uses only ASCII characters. Several Base 64 encoding \\nschemes have been defined by the industry for specific uses, such as e-mail or content \\nmasking. SAS maps positions 0 - 61 to the characters A - Z, a - z, and 0 - 9. Position \\n62 maps to the character +, and position 63 maps to the character /. \\n\\nThe following are some uses of Base 64 encoding:\\n\\n  o embed binary data in an XML file\\n  o encode passwords\\n  o encode URLs\\n\\nThe '=' character in the encoded results indicates that the results have been padded \\nwith zero bits. In order for the encoded characters to be decoded, the '=' must be \\nincluded in the value to be decoded.\"}},{\"Name\":\"$N8601Bw.d\",\"Type\":\"SAS_FORMATS\",\"Help\":{\"#cdata\":\"Writes ISO 8601 duration, datetime, and interval forms using the basic notations \\nPnYnMnDTnHnMnS and yyyymmddThhmmss. \\n\\nSyntax Description:\\nw \\n  specifies the width of the output field. \\n  Default: 50 \\n  Range: 1 - 200 \\n  Requirement: The minimum length for a duration value or a datetime value is 16. The minimum \\n  length for an interval value is 16. \\nd \\n  specifies the number of digits to the right of the lowest order component. This argument is optional.\\n  Default: 0 \\n  Range: 0 - 3 \\n \\nDetails:\\nThe $N8601B format writes ISO 8601 duration, datetime, and interval values as character data for \\nthe following basic notations: \\n\\n PnYnMnDTnHnMnS  \\n yyyymmddThhmmss  \\n PnYnMnDTnHnMnS/yyyymmddThhmmss  \\n yyyymmddThhmmssT/PnYnMnDTnHnMnS  \\n\\nThe lowest order component can contain fractions, as in these examples: \\n\\n p2y3.5m  \\n p00020304T05.335\"}},{\"Name\":\"$N8601BAw.d\",\"Type\":\"SAS_FORMATS\",\"Help\":{\"#cdata\":\"writes ISO 8601 duration, datetime, and interval forms using the basic notations PyyyymmddThhmmss \\nand yyyymmddThhmmss. \\n\\nSyntax Description:\\nw \\n  specifies the width of the output field. \\n  Default: 50 \\n  Range: 1 - 200 \\n  Requirement: The minimum length for a duration value or a datetime value is 16. The minimum \\n  length for an interval value is 16. \\nd \\n  specifies the number of digits to the right of the lowest order component. This argument is optional.\\n  Default: 0 \\n  Range: 0 - 3 \\n \\nDetails:\\nThe $N8601BA format writes ISO 8601 duration, datetime, and interval values as character data \\nfor the following basic notations: \\n\\n  PyyyymmddThhmmss \\n  yyyymmddThhmmss \\n  PyyyymmddThhmmss/yyyymmddThhmmss \\n  yyyymmddThhmmss/PyyyymmddThhmmss  \\n\\nThe lowest order component can contain fractions, as in these examples: \\n\\n p00023.5  \\n 00020304T05.335\"}},{\"Name\":\"$N8601Ew.d\",\"Type\":\"SAS_FORMATS\",\"Help\":{\"#cdata\":\"Writes ISO 8601 duration, datetime, and interval forms using the extended notations \\nPnYnMnDTnHnMnS and yyyy-mm-ddThh:mm:ss. \\n\\nSyntax Description:\\nw \\n  specifies the width of the output field. \\n  Default: 50 \\n  Range: 1 - 200 \\n  Requirement: The minimum length for a duration value or a datetime value is 16. The minimum \\n  length for an interval value is 16. \\nd \\n  specifies the number of digits to the right of the lowest order component. This argument is optional.\\n  Default: 0 \\n  Range: 0 - 3 \\n\\nThe $N8601B format writes ISO 8601 duration, datetime, and interval values as character data \\nfor the following basic notations: \\n\\n  PnYnMnDTnHnMnS  \\n  yyyy-mm-ddThh:mm:ss  \\n  PnYnMnDTnHnMnS/yyyy-mm-ddThh:mm:ss  \\n  yyyy-mm-ddThh:mm:ssT/PnYnMnDTnHnMnS  \\n\\nThe lowest order component can contain fractions, as in these examples: \\n\\n p2y3.5m  \\n p0002-03-04T05.335\"}},{\"Name\":\"$N8601EAw.d\",\"Type\":\"SAS_FORMATS\",\"Help\":{\"#cdata\":\"Writes ISO 8601 duration, datetime, and interval forms using the extended notations \\nPyyyy-mm-ddThh:mm:ss and yyyy-mm-ddThh:mm:ss. \\n\\nSyntax Description:\\nw \\n  specifies the width of the output field. \\n  Default: 50 \\n  Range: 1 - 200 \\n  Requirement: The minimum length for a duration value or a datetime value is 16. The minimum \\n  length for an interval value is 16. \\nd \\n  specifies the number of digits to the right of the lowest order component. This argument is optional.\\n  Default: 0 \\n  Range: 0 - 3 \\n  \\nDetails:\\nThe $N8601EA format writes ISO 8601 duration, datetime, and interval values as character \\ndata for the following basic notations: \\n\\n  Pyyyy-mm-ddThh:mm:ss  \\n  yyyy-mm-ddThh:mm:ss  \\n  Pyyyy-mm-ddThh:mm:ss/yyyy-mm-ddThh:mm:ss  \\n  yyyy-mm-ddThh:mm:ss/Pyyyy-mm-ddThh:mm:ss  \\n\\nThe lowest order component can contain fractions, as in these examples: \\n\\n p00023.5  \\n 0002-03-04T05.335\"}},{\"Name\":\"$N8601EHw.d\",\"Type\":\"SAS_FORMATS\",\"Help\":{\"#cdata\":\"Writes ISO 8601 duration, datetime, and interval forms for the extended notations \\nPyyyy-mm-ddThh:mm:ss and yyyy-mm-ddThh:mm:ss, using a hyphen ( - ) for omitted \\ncomponents. \\n\\nSyntax Description:\\nw \\n  specifies the width of the output field. \\n  Default: 50 \\n  Range: 1 - 200 \\n  Requirement: The minimum length for a duration value or a datetime value is 16. The minimum \\n  length for an interval value is 16. \\nd \\n  specifies the number of digits to the right of the lowest order component. This argument is optional.\\n  Default: 0 \\n  Range: 0 - 3 \\n\\nDetails:   \\nThe $N8601H format writes ISO 8601 duration, datetime, and interval values as character data, \\nusing a hyphen ( - ) to represent omitted components, for the following extended notations: \\n\\n  Pyyyy-mm-ddThh:mm:ss  \\n  yyyy-mm-ddThh:mm:ss  \\n  Pyyyy-mm-ddThh:mm:ss/yyyy-mm-ddThh:mm:ss  \\n  yyyy-mm-ddThh:mm:ss/Pyyyy-mm-ddThh:mm:ss  \\n  yyyy-mm-ddThh:mm:ss/yyyy-mm-ddThh:mm:ss \\n\\nOmitted datetime components are always displayed, they are never truncated.\"}},{\"Name\":\"$N8601EXw.d\",\"Type\":\"SAS_FORMATS\",\"Help\":{\"#cdata\":\"Writes ISO 8601 duration, datetime, and interval forms for the extended notations \\nPyyyy-mm-ddThh:mm:ss and yyyy-mm-ddThh:mm:ss, using an x for each digit of an \\nomitted component. \\n\\nSyntax Description:\\nw \\n  specifies the width of the output field. \\n  Default: 50 \\n  Range: 1 - 200 \\n  Requirement: The minimum length for a duration value or a datetime value is 16. The minimum \\n  length for an interval value is 16. \\nd \\n  specifies the number of digits to the right of the lowest order component. This argument is optional.\\n  Default: 0 \\n  Range: 0 - 3 \\n  \\nDetails:\\nThe $N8601H format writes ISO 8601 duration, datetime, and interval values as character data, \\nusing a hyphen ( - ) to represent omitted components, for the following extended notations: \\n\\n  Pyyyy-mm-ddThh:mm:ss  \\n  yyyy-mm-ddThh:mm:ss  \\n  Pyyyy-mm-ddThh:mm:ss/yyyy-mm-ddThh:mm:ss  \\n  yyyy-mm-ddThh:mm:ss/Pyyyy-mm-ddThh:mm:ss  \\n  yyyy-mm-ddThh:mm:ss/yyyy-mm-ddThh:mm:ss  \\n\\nOmitted datetime components are always displayed, they are never truncated.\"}},{\"Name\":\"$N8601Hw.d\",\"Type\":\"SAS_FORMATS\",\"Help\":{\"#cdata\":\"Writes ISO 8601 duration, datetime, and interval forms PnYnMnDTnHnMnS and \\nyyyy-mm-ddThh:mm:ss, dropping omitted components in duration values and \\nusing a hyphen ( - ) for omitted components in datetime values. \\n\\nSyntax Description:\\nw \\n  specifies the width of the output field. \\n  Default: 50 \\n  Range: 1 - 200 \\n  Requirement: The minimum length for a duration value or a datetime value is 16. The minimum \\n  length for an interval value is 16. \\nd \\n  specifies the number of digits to the right of the lowest order component. This argument is optional.\\n  Default: 0 \\n  Range: 0 - 3 \\n  \\nThe $N8601H format writes ISO 8601 durations, intervals, and datetimes in the following forms, \\nomitting components in the PnYnMnDTnHnMnS form and using a hyphen ( - ) to represent omitted \\ncomponents in the datetime form: \\n\\n PnYnMnDTnHnMnS  \\n yyyy-mm-ddThh:mm:ss  \\n PnYnMnDTnHnMnS/yyyy-mm-ddThh:mm:ss  \\n yyyy-mm-ddThh:mm:ssT/PnYnMnDTnHnMnS  \\n yyyy-mm-ddThh:mm:ss/yyyy-mm-ddThh:mm:ss  \\n\\nOmitted datetime components are always displayed, they are never truncated.\"}},{\"Name\":\"$N8601Xw.d\",\"Type\":\"SAS_FORMATS\",\"Help\":{\"#cdata\":\"Writes ISO 8601 duration, datetime, and interval forms PnYnMnDTnHnMnS and \\nyyyy-mm-ddThh:mm:ss, dropping omitted components in duration values and \\nusing an x for each digit of an omitted component in datetime values. \\n\\nSyntax Description:\\nw \\n  specifies the width of the output field. \\n  Default: 50 \\n  Range: 1 - 200 \\n  Requirement: The minimum length for a duration value or a datetime value is 16. The minimum \\n  length for an interval value is 16. \\nd \\n  specifies the number of digits to the right of the lowest order component. This argument is optional.\\n  Default: 0 \\n  Range: 0 - 3 \\n  \\nDetails:\\n\\nThe $N8601X format writes ISO 8601 durations, intervals, and datetimes in the following forms, \\nomitting components in the PnYnMnDTnHnMnS form and using an x to represent omitted components \\nin the datetime form: \\n\\n  PnYnMnDTnHnMnS  \\n  yyyy-mm-ddThh:mm:ss  \\n  PnYnMnDTnHnMnS/yyyy-mm-ddThh:mm:ss  \\n  yyyy-mm-ddThh:mm:ssT/PnYnMnDTnHnMnS  \\n  yyyy-mm-ddThh:mm:ss/yyyy-mm-ddThh:mm:ss  \\n\\nOmitted datetime components are always displayed, they are never truncated.\"}},{\"Name\":\"B8601DAw.\",\"Type\":\"SAS_FORMATS\",\"Help\":{\"#cdata\":\"Writes date values using the IOS 8601 base notation yyyymmdd. \\n    \\nSyntax Description:\\nw \\n  specifies the width of the output field. \\n  Default: 10 \\n  Requirement: The width of the output field must be 10. \\n\\nDetails:\\nThe B8601DA format writes the ISO 8601 basic date notation yyyymmdd:\\n\\n  yyyy is a four-digit year, such as 2008  \\n  mm is a two-digit month (zero padded) between 01 and 12  \\n  dd is a two-digit day of the month (zero padded) between 01 and 31\"}},{\"Name\":\"B8601DNw.\",\"Type\":\"SAS_FORMATS\",\"Help\":{\"#cdata\":\"Writes the date from a datetime value using the ISO 8601 basic notation yyyymmdd. \\n    \\nSyntax Description: \\nw \\n  specifies the width of the output field. \\n  Default: 10 \\n  Requirement: The width of the input field must be 10. \\n\\nDetails: \\nThe B8601DN format writes the date from a datetime value using the ISO 8601 basic date \\nnotation yyyymmdd:\\n\\n  yyyy is a four-digit year, such as 2008  \\n  mm is a two-digit month (zero padded) between 01 and 12  \\n  dd is a two-digit day of the month (zero padded) between 01 and 31\"}},{\"Name\":\"B8601DTw.d\",\"Type\":\"SAS_FORMATS\",\"Help\":{\"#cdata\":\"Writes datetime values in the ISO 8601 basic notation yyyymmddThhmmssffffff. \\n    \\nSyntax Description: \\nw \\n  specifies the width of the output field. \\n  Default: 19 \\n  Range: 19 - 26 \\nd \\n  specifies the number of digits to the right of the seconds value that represents a fraction \\n  of a second. This argument is optional.\\n  Default: 0 \\n  Range: 0 - 6 \\n \\nDetails:\\nThe B8601DT format writes ISO 8601 basic datetime notation yyyymmddThhmmssffffff:\\n\\n  yyyy is a four-digit year, such as 2008  \\n  mm is a two-digit month (zero padded) between 01 and 12  \\n  dd is a two-digit day of the month (zero padded) between 01 and 31  \\n  hh is a two-digit hour (zero padded), between 00 - 23  \\n  mm is a two-digit minute (zero padded), between 00 - 59  \\n  ss is a two-digit second (zero padded), between 00 - 59  \\n  .ffffff are optional fractional seconds, with a precision of up to six digits, \\n  where each digit is between 0 - .\"}},{\"Name\":\"B8601DZw.\",\"Type\":\"SAS_FORMATS\",\"Help\":{\"#cdata\":\"Writes datetime values in the Coordinated Universal Time (UTC) time scale using the \\nISO 8601 datetime and time zone basic notation yyyymmddThhmmss+|-hhmm. \\n\\nSyntax Description: \\nw \\n  specifies the width of the output field. \\n  Default: 26 \\n  Range: 20 - 35 \\n \\nDetails: \\nUTC values specify a time and a time zone based on the zero meridian in Greenwich, England. \\nThe B8602DZ format writes SAS datetime values for the zero meridian date and time using one \\nof the following ISO 8601 basic datetime notations:\\n\\n  yyyymmddThhmmss+|-hhmm \\n    is the form used whenw is large enough to support this time zone notation. \\n  yyyymmddThhmmssZ \\n    is the form used when w is not large enough to support the +|-hhmm time zone notation. \\n  \\n  where \\n    yyyy is a four-digit year, such as 2008  \\n    mm is a two-digit month (zero padded) between 01 and 12  \\n    dd is a two-digit day of the month (zero padded) between 01 and 31  \\n    hh is a two-digit hour (zero padded), between 00 - 23  \\n    mm is a two-digit minute (zero padded), between 00 - 59  \\n    ss is a two-digit second (zero padded), between 00 - 59  \\n    Z indicates that the time is for zero meridian (Greenwich, England) or UTC time  \\n    +|-hhmm is an hour and minute signed offset from zero meridian time. Note that the offset \\n    must be +|-hhmm (that is, + or - and four characters). \\n\\n      Use + for time zones east of the zero meridian and use - for time zones west of the zero \\n      meridian. For example, +0200 indicates a two-hour time difference to the east of the zero \\n      meridian, and -0600 indicates a six-hour time differences to the west of the zero meridian.\\n\\n      Restriction: The shorter form +|-hh is not supported.\"}},{\"Name\":\"B8601LZw.\",\"Type\":\"SAS_FORMATS\",\"Help\":{\"#cdata\":\"Writes time values as local time by appending a time zone offset difference between \\nthe local time and UTC, using the ISO 8601 basic time notation hhmmss+|-hhmm. \\n\\nSyntax Description: \\nw \\n  specifies the width of the output field. \\n  Default: 14 \\n  Range: 9 - 20 \\n \\nDetails: \\nThe B8602LZ format writes time values without making any adjustments and appends the UTC time \\nzone offset for the local SAS session, using the following ISO 8601 basic notation: \\n\\n hhmmss+|-hhmm \\n\\nwhere:\\n  hh is a two-digit hour (zero padded), between 00 - 23  \\n  mm is a two-digit minute (zero padded), between 00 - 59  \\n  ss is a two-digit second (zero padded), between 00 - 59  \\n  +|-hhmm is an hour and minute signed offset from zero meridian time. Note that the offset \\n    must be +|-hhmm (that is, + or - and five characters). \\n\\n    Use + for time zones east of the zero meridian and use - for time zones west of the zero meridian. \\n    For example, +0200 indicates a two hour time difference to the east of the zero meridian, and -0600 \\n    indicates a six hour time differences to the west of the zero meridian.\\n    Restriction: The shorter form +|-hh is not supported.  \\n\\nWhen SAS reads a UTC time by using the B8601TZ informat, and the adjusted time is greater than 24 hours \\nor less than 00 hours, SAS adjusts the value so that the time is between 000000 and 235959. If the B8601LZ \\nformat attempts to format a time outside of this time range, the time is formatted with stars to indicate \\nthat the value is out of range.\"}},{\"Name\":\"B8601TMw.d\",\"Type\":\"SAS_FORMATS\",\"Help\":{\"#cdata\":\"Writes time values using the ISO 8601 basic notation hhmmssffff. \\n    \\nSyntax Description: \\nw \\n  specifies the width of the output field. \\n  Default: 8 \\n  Range: 8 - 15 \\nd \\n  specifies the number of digits to the right of the seconds value that represent a \\n  fraction of a second. This argument is optional.\\n\\n  Default: 0 \\n  Range: 0 - 6 \\n \\nDetails:\\nThe B8601TM format writes SAS time values using the following ISO 8601 basic time notation hhmmssffffff: \\n\\n  hh is a two-digit hour (zero padded), between 00 - 23.  \\n  mm is a two-digit minute (zero padded), between 00 - 59.  \\n  ss is a two-digit second (zero padded), between 00 - 59.\\n \\nffffff are optional fractional seconds, with a precision of up to six digits, where each digit \\nis between 0 - 9.\"}},{\"Name\":\"B8601TZw.\",\"Type\":\"SAS_FORMATS\",\"Help\":{\"#cdata\":\"Adjusts time values to the Coordinated Universal Time (UTC) and writes them using \\nthe ISO 8601 basic time notation hhmmss+|-hhmm. \\n\\nSyntax Description: \\nw \\n  specifies the width of the output field. \\n  Default: 14 \\n  Range: 9-20 \\n \\nDetails:\\nUTC time values specify a time and a time zone based on the zero meridian in Greenwich, England. \\nThe B8602TZ format adjusts the time value to be the time at the zero meridian and writes it in \\none of the following ISO 8601 basic time notations:\\n\\n  hhmmss+|-hhmm is the form used when w is large enough to support this time notation.  \\n  hhmmssZ  is the form used when w is not large enough to support the +|-hhmm time zone notation. \\n \\n  where \\n    hh is a two-digit hour (zero padded), between 00 and 23.  \\n    mm is a two-digit minute (zero padded), between 00 and 59.  \\n    ss is a two-digit second (zero padded), between 00 and 59.  \\n    Z indicates that the time is for zero meridian (Greenwich, England) or UTC time.  \\n    +|-hh:mm is an hour and minute signed offset from zero meridian time. Note that the offset must \\n      be +|-hhmm (that is, + or - and four characters). \\n      Use + for time zones east of the zero meridian and use - for time zones west of the zero \\n      meridian. For example, +0200 indicates a two hour time difference to the east of the zero \\n      meridian, and -0600 indicates a six hour time differences to the west of the zero meridian.\\n      Restriction: The shorter form +|-hh is not supported.  \\n\\nWhen SAS reads a UTC time by using the B8601TZ informat, and the adjusted time is greater than \\n24 hours or less than 00 hours, SAS adjusts the value so that the time is between 000000 and \\n240000. If the B8601TZ format attempts to format a time outside of this time range, the time \\nis formatted with stars to indicate that the value is out of range.\"}},{\"Name\":\"BESTDw.p\",\"Type\":\"SAS_FORMATS\",\"Help\":{\"#cdata\":\"Prints numeric values, lining up decimal places for values of similar magnitude, \\nand prints integers without decimals. \\n\\nSyntax Description:\\nw \\n  specifies the width of the output field.\\n  Default: 12 \\n  Range: 1-32 \\np \\n  specifies the precision.\\n  Default: 3 \\n  Range: 0 to w-1 \\n  Requirement: must be less than w \\n  Tip: If p is omitted or is specified as 0, then p is set to 3. \\n\\nDetails:\\nThe BESTDw.p format writes numbers so that the decimal point aligns in groups of values \\nwith similar magnitude. Integers are printed without a decimal point. Larger values of \\np print the data values with more precision and potentially more shifts in the decimal \\npoint alignment. Smaller values of p print the data values with less precision and a \\ngreater chance of decimal point alignment. \\n\\nThe format chooses the number of decimal places to print for ranges of values, even when \\nthe underlying values can be represented with fewer decimal places.\"}},{\"Name\":\"E8601DAw.|IS8601DA.w\",\"Type\":\"SAS_FORMATS\",\"Help\":{\"#cdata\":\"Writes date values using the ISO 8601 extended notation yyyy-mm-dd. \\n    \\nSyntax Description: \\nw \\n  specifies the width of the output field. \\n  Default: 10 \\n  Requirement: The width of the output field must be 10. \\n \\nDetails:\\nThe E8601DA format writes a date in the ISO 8601 extended notation yyyy-mm-dd:\\n\\n  yyyy is a four-digit year, such as 2008.  \\n  mm is a two-digit month (zero padded) between 01 and 12.  \\n  dd is a two-digit day of the month (zero padded) between 01 and 31.\"}},{\"Name\":\"E8601DNw.|IS8601DNw.\",\"Type\":\"SAS_FORMATS\",\"Help\":{\"#cdata\":\"Writes the date from a SAS datetime value using the ISO 8601 extended notation \\nyyyy-mm-dd. \\n\\nSyntax Description: \\nw \\n  specifies the width of the input field. \\n  Default: 10 \\n  Requirement: The width of the input field must be 10. \\n \\nDetails: \\nThe E8601DN formats writes the date in the ISO 8601 extended date notation yyyy-mm-dd:\\n\\n  yyyy is a four-digit year, such as 2008.  \\n  mm is a two-digit month (zero padded) between 01 and 12.  \\n  dd is a two-digit day of the month (zero padded) between 01 and 31.\"}},{\"Name\":\"E8601DTw.d|IS8601DTw.d\",\"Type\":\"SAS_FORMATS\",\"Help\":{\"#cdata\":\"Writes datetime values in the ISO 8601 extended notation yyyy-mm-ddThh:mm:ss.ffffff. \\n    \\nSyntax Description: \\nw \\n  specifies the width of the input field. \\n  Default: 19 \\n  Range: 19 - 26 \\nd \\n  specifies the number of digits to the right of the decimal point in the seconds value. \\n  This argument is optional. \\n  Default: 0 \\n  Range: 0 - 6 \\n \\nDetails:\\nThe E8602DT format writes datetime values using the ISO 8601 extended datetime notation yyyy-mm-ddThh:mm:ss.ffffff:\\n\\n  yyyy is a four-digit year, such as 2008.  \\n  mm is a two-digit month (zero padded) between 01 and 12.  \\n  dd is a two-digit day of the month (zero padded) between 01 and 31.  \\n  hh is a two-digit hour (zero padded), between 00 - 23.  \\n  mm is a two-digit minute (zero padded), between 00 - 59.  \\n  ss is a two-digit second (zero padded), between 00 - 59.  \\n  .ffffff are optional fractional seconds, with a precision of up to six digits, where each digit \\n    is between 0 - 9.\"}},{\"Name\":\"E8601DZw.|IS8601DZw.\",\"Type\":\"SAS_FORMATS\",\"Help\":{\"#cdata\":\"Writes datetime values in the Coordinated Universal Time (UTC) time scale using the \\nSO 8601 datetime and time zone extended notation yyyy-mm-ddThh:mm:ss+|-hh:mm. \\n\\nSyntax Description: \\nw \\n  specifies the width of the output field. \\n  Default: 26 \\n  Range: 20 - 35 \\n  \\nDetails:\\nUTC values specify a time and a time zone based on the zero meridian in Greenwich, England. The E8602DZ \\nformat writes SAS datetime values using one of the following ISO 8601 extended datetime notations:\\n\\nyyyy-mm-ddThh:mm:ss+|-hh:mm is the form used when w is large enough to support this time zone notation.  \\nyyyy-mm-ddThh:mm:ssZ  is the form used when w is not large enough to support the +|- hhmm time zone notation. \\n \\nwhere \\n  yyyy is a four-digit year, such as 2008  \\n  mm is a two-digit month (zero padded) between 01 and 12  \\n  dd is a two-digit day of the month (zero padded) between 01 and 31  \\n  hh is a two-digit hour (zero padded), between 00 - 24  \\n  mm is a two-digit minute (zero padded), between 00 - 59  \\n  ss is a two-digit second (zero padded), between 00 - 59  \\n  Z indicates that the time is for zero meridian (Greenwich, England) or UTC time.  \\n  +|-hh:mm is an hour and minute signed offset from zero meridian time. Note that the offset must \\n    be +|-hh:mm (that is, + or - and five characters). \\n\\n    Use + for time zones east of the zero meridian and use - for time zones west of the zero meridian. \\n    For example, +02:00 indicates a two hour time difference to the east of the zero meridian, and \\n    -06:00 indicates a six hour time differences to the west of the zero meridian.\\n\\n    Restriction: The shorter form +|-hh is not supported.\"}},{\"Name\":\"E8601LZw.|IS8601LZw.\",\"Type\":\"SAS_FORMATS\",\"Help\":{\"#cdata\":\"Writes time values as local time, appending the Coordinated Universal Time (UTC) \\noffset for the local SAS session, using the ISO 8601 extended time notation \\nhh:mm:ss+|-hh:mm. \\n\\nSyntax Description: \\nw \\n  specifies the width of the output field.\\n  Default: 14 \\n  Range: 9 - 20 \\n \\nDetails: \\nThe E8602LZ format writes time values without making any adjustments and appends the UTC time \\nzone offset for the local SAS session, using one of the following ISO 8601 extended time notations:\\n\\n  hh:mm:ss+|-hh:mm is the form used when w is large enough to support this time notation.  \\n  hh:mm:ssZ  is the form used when w is not large enough to support the +|- hh:mm time zone notation.  \\n  where:\\n    hh is a two-digit hour (zero padded), between 00 - 23.  \\n    mm is a two-digit minute (zero padded), between 00 - 59.  \\n    ss is a two-digit second (zero padded), between 00 - 59.  \\n    Z indicate zero meridian (Greenwich, England) or UTC time.  \\n    +|-hh:mm is an hour and minute signed offset from zero meridian time. Note that the offset must \\n      be +|-hh:mm (that is, + or - and five characters). \\n\\n      Use + for time zones east of the zero meridian and use - for time zones west of the zero meridian. \\n      For example, +02:00 indicates a two hour time difference to the east of the zero meridian, and \\n      -06:00 indicates a six hour time differences to the west of the zero meridian.\\n      Restriction: The shorter form +|-hh is not supported.\"}},{\"Name\":\"E8601TMw.d|IS8601TMw.d\",\"Type\":\"SAS_FORMATS\",\"Help\":{\"#cdata\":\"Writes time values using the ISO 8601 extended notation hh:mm:ss.ffffff. \\n    \\nSyntax Description: \\nw \\n  specifies the width of the output field. \\n  Default: 8 \\n  Range: 8 - 15 \\nd \\n  specifies the number of digits to the right of the decimal point in the seconds value. This \\n  argument is optional. \\n  Default: 0 \\n  Range: 0 - 6 \\n \\nDetails:\\nThe E8601TM format writes SAS time values using the following ISO 8601 extended time notation: \\n\\n  hh:mm:ss.ffffff  \\n  hh is a two-digit hour (zero padded), between 00 - 23.  \\n  mm is a two-digit minute (zero padded), between 00 - 59.  \\n  ss is a two-digit second (zero padded), between 00 - 59.  \\n  .ffffff are optional fractional seconds, with a precision of up to six digits, where each \\n  digit is between 0 - 9.\"}},{\"Name\":\"E8601TZw.d|IS8601TZw.d\",\"Type\":\"SAS_FORMATS\",\"Help\":{\"#cdata\":\"Adjusts time values to the Coordinated Universal Time (UTC) and writes the values \\nusing the ISO 8601 extended notation hh:mm:ss+|-hh:mm. \\n\\nSyntax Description: \\nw \\n  specifies the width of the output field. \\n  Default: 14 \\n  Range: 9 - 20 \\nd \\n  specifies the number of digits to the right of the decimal point in the seconds value. This \\n  argument is optional. \\n  Default: 0 \\n  Range: 0 - 6 \\n \\nDetails:\\nUTC time values specify a time and a time zone based on the zero meridian in Greenwich, England. \\nThe E8602TZ format writes time values in one of the following ISO 8601 extended time notations:\\n\\n  hh:mm:ss+|-hh:mm is the form used when w is large enough to support this time zone notation.  \\n  hh:mm:ssZ  is the form used when w is not large enough to support the +|- hh:mm time zone notation. \\n\\nwhere\\n  hh is a two-digit hour (zero padded), between 00 - 23  \\n  mm is a two-digit minute (zero padded), between 00 - 59  \\n  ss is a two-digit second (zero padded), between 00 - 59  \\n  Z indicate zero meridian (Greenwich, England) or UTC time  \\n  +|-hh:mm is an hour and minute signed offset from zero meridian time. Note that the offset must be \\n    +|-hh:mm (that is, + or - and five characters). The shorter form +|-hh is not supported.\\n\\n    Use + for time zones east of the zero meridian and use - for time zones west of the zero meridian. \\n    For example, +02:00 indicates a two hour time difference to the east of the zero meridian, and \\n    -06:00 indicates a six hour time differences to the west of the zero meridian.  \\n\\nWhen SAS reads a UTC time by using the B8601TZ informat, and the adjusted time is greater than 24 hours \\nor less than 00 hours, SAS adjusts the value so that the time is between 00:00:00 and 24:00:00. If the \\nE8601TZ format attempts to format a time outside of this time range, the time is formatted with stars \\nto indicate that the value is out of range.\"}},{\"Name\":\"VMSZNw.d\",\"Type\":\"SAS_FORMATS\",\"Help\":{\"#cdata\":\"Generates VMS and MicroFocus COBOL zoned numeric data. \\n    \\nSyntax: VMSZNw.d  \\n\\nw \\n  specifies the width of the output field\\n  Default: 1 \\n  Range: 1-32 \\nd \\n  specifies the number of digits to the right of the decimal point in the numeric value. \\n  This argument is optional.\\n \\nDetails:\\nThe VMSZNw.d format is similar to the ZDw.d format. Both generate a string of ASCII digits, and the \\nlast digit is a special character that denotes the magnitude of the last digit and the sign of the \\nentire number. The difference between these formats is in the special character that is used for the \\nlast digit. The following table shows the special characters that are used by the VMSZNw.d format. \\n\\nDesired   Special    Desired   Special\\nDigit       Character Digit        Character \\n0             0             -0              p \\n1             1             -1              q \\n2             2             -2              r \\n3             3             -3              s \\n4             4             -4              t \\n5             5             -5              u \\n6             6             -6              v \\n7             7             -7              w \\n8             8             -8              x \\n9             9             -9              y \\n\\nData formatted using the VMSZNw.d format are ASCII strings.\\n\\nIf the value to be formatted is too large to fit in a field of the specified width, then the VMSZNw.d \\nformat does the following: \\n\\n  o For positive values, it sets the output to the largest positive number that fits in the given width.\\n  o For negative values, it sets the output to the negative number of greatest magnitude that fits in \\n    the given width.\"}},{\"Name\":\"NLDATEw.\",\"Type\":\"SAS_FORMATS\",\"Help\":{\"#cdata\":\"Converts a SAS date value to the date value of the specified locale, and then writes \\nthe date value as a date. \\n\\nSyntax Description: \\nw \\n  specifies the width of the output field. If necessary, SAS abbreviates the date to fit the \\n  format width. \\n  Default: 20 \\n  Range: 10-200 \\n \\nComparisons:\\nNLDATEw. is similar to DATEw. and WORDDATEw. except that NLDATEw. is locale-specific.\"}},{\"Name\":\"NLDATEMDw.\",\"Type\":\"SAS_FORMATS\",\"Help\":{\"#cdata\":\"Converts the SAS date value to the date value of the specified locale, and then writes \\nthe value as the name of the month and the day of the month.\"}},{\"Name\":\"NLDATEMNw.\",\"Type\":\"SAS_FORMATS\",\"Help\":{\"#cdata\":\"Converts a SAS date value to the date value of the specified locale, and then writes \\nthe value as the name of the month. \\n\\nSyntax Description: \\n\\nw \\n  specifies the width of the output field.\\n\\n  Default: 16 \\n  Range: 6-200\"}},{\"Name\":\"NLDATEWw.\",\"Type\":\"SAS_FORMATS\",\"Help\":{\"#cdata\":\"Converts a SAS date value to the date value of the specified locale, and then writes \\nthe value as the date and the day of the week. \\n\\nSyntax Description: \\nw \\n  specifies the width of the output field. If necessary, SAS abbreviates the date and \\n  the day of the week to fit the format width.\\n\\n  Default: 20 \\n  Range: 10-200 \\n \\nComparisons:\\nNLDATEWw. is similar to WEEKDATEw. except that NLDATEWw. is locale specific.\"}},{\"Name\":\"NLDATEWNw.\",\"Type\":\"SAS_FORMATS\",\"Help\":{\"#cdata\":\"Converts the SAS date value to the date value of the specified locale, and then writes \\nthe date value as the day of the week. \\n\\nSyntax Description: \\nw \\n  specifies the width of the output field. If necessary, SAS abbreviates the day of the week \\n  to fit the format width.\\n\\n  Default: 10 \\n  Range: 4-200 \\n\\nComparisons: \\nNLDATEWNw. is similar to DOWNAMEw. except that NLDATEWNw. is locale-specific.\"}},{\"Name\":\"NLDATEYMw.\",\"Type\":\"SAS_FORMATS\",\"Help\":{\"#cdata\":\"Converts the SAS date value to the date value of the specified locale, and then writes \\nthe date value as the year and the name of the month. \\n\\nSyntax Description: \\nw \\n  specifies the width of the output field.\\n\\n  Default: 16 \\n  Range: 6-200\"}},{\"Name\":\"NLDATEYQw.\",\"Type\":\"SAS_FORMATS\",\"Help\":{\"#cdata\":\"Converts the SAS date value to the date value of the specified locale, and then writes \\nthe date value as the year and the quarter. \\n\\nSyntax Description: \\nw \\n  specifies the width of the output field.\\n\\n  Default: 16 \\n  Range: 4-200\"}},{\"Name\":\"NLDATEYRw.\",\"Type\":\"SAS_FORMATS\",\"Help\":{\"#cdata\":\"Converts the SAS date value to the date value of the specified locale, and then writes \\nthe date value as the year. \\n\\nSyntax Description: \\nw \\n  specifies the width of the output field.\\n\\n  Default: 16 \\n  Range: 2-200\"}},{\"Name\":\"NLDATEYWw.\",\"Type\":\"SAS_FORMATS\",\"Help\":{\"#cdata\":\"Converts the SAS date value to the date value of the specified locale, and then writes \\nthe date value as the year and the week. \\n\\nSyntax Description: \\nw \\n  specifies the width of the output field.\\n\\n  Default: 16 \\n  Range: 5-200\"}},{\"Name\":\"NLDATMw.\",\"Type\":\"SAS_FORMATS\",\"Help\":{\"#cdata\":\"Converts a SAS datetime value to the datetime value of the specified locale, and then \\nwrites the value as a datetime. \\n\\nSyntax Description: \\nw \\n  specifies the width of the output field. If necessary, SAS abbreviates the datetime value to fit \\n  the format width.\\n\\n  Default: 30 \\n  Range: 10-200 \\n\\nComparisons: \\nThe NLDATMw. format is similar to the DATETIMEw. format except that the NLDATMw. format is locale-specific.\"}},{\"Name\":\"NLDATMAPw.\",\"Type\":\"SAS_FORMATS\",\"Help\":{\"#cdata\":\"Converts a SAS datetime value to the datetime value of the specified locale, and \\nthen writes the value as a datetime with a.m. or p.m. \\n\\nSyntax Description: \\nw \\n  specifies the width of the output field. If necessary, SAS abbreviates the date-time value\\n  to fit the format width.\\n\\n  Default: 32 \\n  Range: 16-200 \\n\\nComparisons:\\nThe NLDATMAPw. format is similar to DATEAMPMw. except that the NLDATMAPw. format is locale-specific.\"}},{\"Name\":\"NLDATMDTw.\",\"Type\":\"SAS_FORMATS\",\"Help\":{\"#cdata\":\"Converts the SAS datetime value to the datetime value of the specified locale, \\nand then writes the value as the name of the month, day of the month and year. \\n\\nSyntax Description:\\n\\nw \\n  specifies the width of the output field\\n\\n  Default: 20 \\n  Range: 10-200\"}},{\"Name\":\"NLDATMMDw.\",\"Type\":\"SAS_FORMATS\",\"Help\":{\"#cdata\":\"Converts the SAS datetime value to the datetime value of the specified locale, \\nand then writes the value as the name of the month and the day of the month. \\n\\nSyntax Description: \\n\\nw \\n  specifies the width of the output field.\\n\\n  Default: 16 \\n  Range: 6-200\"}},{\"Name\":\"NLDATMMNw.\",\"Type\":\"SAS_FORMATS\",\"Help\":{\"#cdata\":\"Converts the SAS datetime value to the datetime value of the specified locale, \\nand then writes the value as the name of the month. \\n\\nSyntax Description: \\n\\nw \\n  specifies the width of the output field.\\n\\n  Default: 10 \\n  Range: 4-200\"}},{\"Name\":\"NLDATMTMw.\",\"Type\":\"SAS_FORMATS\",\"Help\":{\"#cdata\":\"Converts the time portion of a SAS datetime value to the time-of-day value of \\nthe specified locale, and then writes the value as a time of day. \\n\\nSyntax Description: \\nw \\n  specifies the width of the output field.\\n\\n  Default: 16 \\n  Range: 16-200 \\n  \\nComparisons:\\nThe NLDATMTMw. format is similar to the TODw. format except that the NLDATMTMw. format \\nis locale-specific.\"}},{\"Name\":\"NLDATMWNw.\",\"Type\":\"SAS_FORMATS\",\"Help\":{\"#cdata\":\"Converts a SAS datetime value to the datetime value of the specified locale, \\nand then writes the value as the day of the week. \\n\\nSyntax Description: \\n\\nw \\n  specifies the width of the output field.\\n\\n  Default:  30 \\n  Range:  16-200\"}},{\"Name\":\"NLDATMWw.\",\"Type\":\"SAS_FORMATS\",\"Help\":{\"#cdata\":\"Converts SAS datetime values to the locale sensitive datetime string as the \\nday of the week and the datetime. \\n\\nSyntax Description: \\nw \\n  specifies the width of the output field. If necessary, SAS abbreviates the day of week \\n  and datetime to fit the format width.\\n\\n  Default: 30 \\n  Range: 16-200 \\n \\nComparisons: \\nThe NLDATMWw. format is similar to the TWMDYw. format except that the NLDATMWw. format \\nis locale-specific.\"}},{\"Name\":\"NLDATMYMw.\",\"Type\":\"SAS_FORMATS\",\"Help\":{\"#cdata\":\"Converts the SAS datetime value to the datetime value of the specified locale, \\nand then writes the value as the year and the name of the month. \\n\\nSyntax Description: \\n\\nw \\n  specifies the width of the output field.\\n\\n  Default: 16 \\n  Range: 6-200\"}},{\"Name\":\"NLDATMYQw.\",\"Type\":\"SAS_FORMATS\",\"Help\":{\"#cdata\":\"Converts the SAS datetime value to the datetime value of the specified locale, \\nand then writes the value as the year and the quarter of the year. \\n\\nSyntax Description: \\n\\nw \\n  specifies the width of the output field.\\n\\n  Default: 16 \\n  Range: 4-200\"}},{\"Name\":\"NLDATMYRw.\",\"Type\":\"SAS_FORMATS\",\"Help\":{\"#cdata\":\"Converts the SAS datetime value to the datetime value of the specified locale, \\nand then writes the value as the year. \\n\\nSyntax Description: \\n\\nw \\n  specifies the width of the output field.\\n\\n  Default: 16 \\n  Range: 2-200\"}},{\"Name\":\"NLDATMYWw.\",\"Type\":\"SAS_FORMATS\",\"Help\":{\"#cdata\":\"Converts the SAS datetime value to the datetime value of the specified locale, \\nand then writes the value as the year and the name of the week. \\n\\nSyntax Description: \\n\\nw \\n  specifies the width of the output field.\\n\\n  Default: 16 \\n  Range: 5-200\"}},{\"Name\":\"NLTIMEw.\",\"Type\":\"SAS_FORMATS\",\"Help\":{\"#cdata\":\"Converts a SAS time value to the time value of the specified locale, and then \\nwrites the value as a time value. \\n\\nSyntax Description: \\nw \\n  specifies the width of the input field.\\n\\n  Default: 20 \\n  Range: 10-200 \\n\\nComparisons: \\nThe NLTIMEw. format is similar to the TIMEw. format except that the NLTIMEw. format \\nis locale-specific.\"}},{\"Name\":\"NLTIMAPw.\",\"Type\":\"SAS_FORMATS\",\"Help\":{\"#cdata\":\"Converts a SAS time value to the time value of a specified locale, and then \\nwrites the value as a time value with a.m. or p.m. \\n\\nSyntax Description: \\nw \\n  specifies the width of the output field. \\n  Default: 10 \\n  Range: 4-200 \\n  \\nComparisons:\\nThe NLTIMAPw. format is similar to the TIMEAMPMw. format except that the NLTIMAPw. format \\nis locale-specific.\"}},{\"Name\":\"NLBESTw.\",\"Type\":\"SAS_FORMATS\",\"Help\":{\"#cdata\":\"Writes the best numerical notation based on the locale. \\n    \\nSyntax Description: \\nw \\n  specifies the width of the output field. \\n  Default: 12 \\n  Tip: If you print numbers between 0 and .01 exclusively, then use a field width \\n  of at least 7 to avoid excessive rounding. If you print numbers between 0 and -.01 \\n  exclusively, then use a field width of at least 8. \\n  Range: 1-32 \\n \\nDetails: \\nThe NLBEST format writes the best numerical value based on the locale's decimal point \\nand the sign mark's location. NLBEST is similar to the BEST format.\"}},{\"Name\":\"NLMNYw.d\",\"Type\":\"SAS_FORMATS\",\"Help\":{\"#cdata\":\"Writes the monetary format of the local expression in the specified locale \\nusing local currency. \\n\\nSyntax Description: \\nw \\n  specifies the width of the output field. \\n  Default: 9 \\n  Range: 1-32 \\nd \\n  specifies the number of digits to the right of the decimal point in the numeric value. \\n  Default: 0 \\n  Range: 0-31 \\n \\nDetails:\\nThe NLMNYw.d format reads integer binary (fixed-point) values, including negative values \\nthat are represented in two's-complement notation. The NLMNYw.d format writes numeric values \\nby using the currency symbol, the thousands separator, and the decimal separator that is used \\nby the locale.\\n\\nNote: The NLMNYw.d format does not convert currency format, therefore, the value of the \\nformatted number should equal the currency of the current locale value.  \\n \\nComparisons:\\nThe NLMNYw.d and NLMNYIw.d formats write the monetary format with locale-dependent thousands \\nand decimal separators. However, the NLMNYIw.d format uses three-letter international currency \\ncodes, such as USD, while NLMNYw.d format uses local currency symbols, such as $.\\n\\nThe NLMNYw.d format is similar to the DOLLARw.d format except that the NLMNYw.d format \\nis locale-specific.\"}},{\"Name\":\"NLMNYIw.d\",\"Type\":\"SAS_FORMATS\",\"Help\":{\"#cdata\":\"Writes the monetary format of the international expression in the \\nspecified locale. \\n\\nSyntax Description: \\nw \\n  specifies the width of the output field. \\n  Default: 9 \\n  Range: 1-32 \\nd \\n  specifies the number of digits to the right of the decimal point in the numeric value. \\n  Default: 0 \\n  Range: 0-31 \\n  \\nDetails:\\nThe NLMNYIw.d format reads integer binary (fixed-point) values, including negative values \\nthat are represented in two's-complement notation. The NLMNYIw.d format writes numeric values \\nby using the international currency code, and locale-dependent thousands and decimal separators. \\nThe position of international currency code is also locale dependent. \\n\\nNote: The NLMNYIw.d format does not convert currency format, therefore, the value of the \\nformatted number should equal the currency of the current locale value.  \\n \\nComparisons: \\nThe NLMNYw.d and NLMNYIw.d formats write the monetary format with locale-dependent thousands \\nand decimal separators. However, the NLMNYIw.d format uses three-letter international currency \\ncodes, such as USD, while NLMNYw.d format uses local currency symbols, such as $.\"}},{\"Name\":\"NLNUMw.d\",\"Type\":\"SAS_FORMATS\",\"Help\":{\"#cdata\":\"Writes the numeric format of the local expression in the specified locale. \\n    \\nSyntax Description: \\nw \\n  specifies the width of the output field. \\n  Default: 6 \\n  Range: 1-32 \\nd \\n  specifies to divide the number by 10^d. If the data contains decimal separators, the \\n  d value is ignored.\\n  Default: 0 \\n  Range: 0-31 \\n  \\nDetails:\\nThe NLMUMw.d format reads integer binary (fixed-point) values, including negative values that \\nare represented in two's-complement notation. The NLNUMw.d format writes numeric values by using \\nthe thousands separator and the decimal separator that is used by the locale. \\n \\nComparisons:\\nThe NLNUMw.d format writes the numeric value with locale-dependent thousand and decimal separators. \\nThe NLNUMIw.d format writes the numeric value with a comma (,) as thousand separator and a period (.) \\nas a decimal separator\\n\\nIf the w or d values are not large enough to generate a formatted number, the NLNUMw.d format uses \\nan algorithm that prints the thousands-separator characters whenever possible, even if some decimal \\nprecision is lost.\"}},{\"Name\":\"NLNUMIw.d\",\"Type\":\"SAS_FORMATS\",\"Help\":{\"#cdata\":\"Writes the numeric format of the international expression in the specified locale. \\n    \\nSyntax Description: \\nw \\n  specifies the width of the output field. \\n  Default: 6 \\n  Range: 1-32 \\nd \\n  specifies to divide the number by 10^d. If the data contains decimal separators, the \\n  d value is ignored.\\n  Default: 0 \\n  Range: 0-31 \\n  \\nDetails:\\nThe NLMUMIw.d format reads integer binary (fixed-point) values, including negative values \\nthat are represented in two's-complement notation. The NLNUMIw.d format writes numeric values \\nby using a comma (,) as thousands separator and a period (.) as a decimal separator for all locales.\\n \\nComparisons:\\nThe NLNUMIw.d format writes the numeric data of the international expression in the specified \\nlocale. The NLNUMIw.d format writes the numeric value with a comma (,) as thousand separator \\nand a period (.) as a decimal separator.\\n\\nIf the w or d values are not large enough to generate a formatted number, the NLNUMw.d format \\nuses an algorithm that prints the thousands-separator characters whenever possible, even if \\nsome decimal precision is lost.\"}},{\"Name\":\"NLPCTw.d\",\"Type\":\"SAS_FORMATS\",\"Help\":{\"#cdata\":\"Writes percentage data of the local expression in the specified locale. \\n    \\nSyntax Description: \\nw \\n  specifies the width of the output field. \\n  Default: 6 \\n  Range: 4-32 \\nd \\n  specifies to divide the number by 10^d. If the data contains decimal separators, the \\n  d value is ignored.\\n  Default: 0 \\n  Range: 0-31 \\n  \\nComparisons:\\nThe NLPCTw.d format writes percentage data of the local expression in the specified locale. \\nThe NLPCTw.d format writes the percentage value with locale-dependent thousand and decimal \\nseparators. The NLPCTIw.d format writes the percentage value with a comma (,) as thousand \\nseparator and a period (.) as a decimal separator.\\n\\nThe NLPCTw.d format is similar to the PERCENTw.d format except the NLPCTw.d format \\nis locale-specific.\"}},{\"Name\":\"NLPCTIw.d\",\"Type\":\"SAS_FORMATS\",\"Help\":{\"#cdata\":\"Writes percentage data of the international expression in the specified locale. \\n    \\nSyntax Description: \\nw \\n  specifies the width of the output field. \\n  Default: 6 \\n  Range: 4-32 \\nd \\n  specifies to divide the number by 10^d. If the data contains decimal separators, the \\n  d value is ignored.\\n  Default: 0 \\n  Range: 0-31 \\n  \\nComparisons:\\nThe NLPCTIw.d format writes percentage data of the international expression in the specified \\nlocale. The NLPCTw.d format writes the percentage value with locale-dependent thousand and \\ndecimal separators. The NLPCTIw.d format writes the percentage value with a comma (,) as \\nthousand separator and a period (.) as a decimal separator.\\n\\nThe NLPCTw.d format is similar to the PERCENTw.d format except the NLPCTw.d format \\nis locale-specific.\"}},{\"Name\":\"NLPCTNw.d\",\"Type\":\"SAS_FORMATS\",\"Help\":{\"#cdata\":\"Produces percentages, using a minus sign for negative values.\\n    \\nSyntax Description: \\nw \\n  specifies the width of the output field. \\n  Default: 6 \\n  Range: 4-32 \\n  Tip: The width of the output field must account for the minus sign ( - ), the percent \\n  sign ( % ), and a trailing blank, whether the number is negative or positive. \\nd \\n  specifies the number of digits to the right of the decimal point in the numeric value. \\n  This argument is optional.\\n  Range: 0-31 \\n  Requirement: must be less than w\\n \\nDetails:\\nThe NLPCTNw.d format multiplies negative values by 100, adds a minus sign to the beginning \\nof the value, and adds a percent sign (%) to the end of the formatted value.\"}},{\"Name\":\"NLPCTPw.d\",\"Type\":\"SAS_FORMATS\",\"Help\":{\"#cdata\":\"Writes locale-specific numeric values as percentages. \\n    \\nSyntax Description: \\nw \\n  specifies the width of the output field. \\n  Default 6 \\n  Range 4-32 \\n  Tip: The width of the output field must account for the percent sign (% ). \\nd \\n  specifies the number of digits to the right of the decimal point in the numeric value. \\n  This argument is optional. The thousand separator and decimal symbol for the NLPCTP \\n  format is locale-specific.\\n\\n  Range: 0-31 \\n  Requirement: must be less than w \\n \\nDetails:\\nThe NLPCTPw.d format multiplies values by 100, formats them, and adds a percent sign (%) \\nto the end of the formatted value. The NLPCTPw.d format is similar to the The PERCENTw.d \\nformat except that the thousand separator and decimal symbol for the NLPCTPw.d format is \\nlocale-specific.\"}},{\"Name\":\"NLPVALUEw.d\",\"Type\":\"SAS_FORMATS\",\"Help\":{\"#cdata\":\"Writes p-values of the local expression in the specified locale. \\n    \\nSyntax Description: \\nw \\n  specifies the width of the output field. \\n  Default: 6 \\n  Range: 3-32 \\nd \\n  specifies to divide the number by 10^d. If the data contains decimal separators, the \\n  d value is ignored.\\n  Default: 4 \\n  Range: 1-30\"}},{\"Name\":\"NLSTRMONw.d\",\"Type\":\"SAS_FORMATS\",\"Help\":{\"#cdata\":\"Writes a numeric value as a day-of-the-month in the specified locale. \\n    \\nSyntax Description: \\nw \\n  specifies the width of the output field \\n  Default: 20 \\n  Range: 200-1 \\nd \\n  specifies the following: \\n    00000001: write abbreviated form.  \\n    00000010: write capitalized form. \\n  Default: 0 \\n  Range: 0-3 \\n \\nDetails: \\nThe NLSTRMONw.d format writes a SAS value, 1-12 as the name-of-the-month in the specified locale. \\nThe following examples use the English_UnitedStates locale. \\n\\n   1 = the first month (January)  \\n   2 = the second month (February)  \\n   3 = the third month (March)  \\n   4 = the fourth month (April)  \\n   5 = the fifth month (May)  \\n   6 = the sixth month (June)  \\n   7 = the seventh month (July)  \\n   8 = the eight month (August)  \\n   9 = the ninth month (September)  \\n   10 = the tenth month (October)  \\n   11 = the eleventh month (November)  \\n   12 = the twelfth month (December)\"}},{\"Name\":\"NLSTRQTRw.d\",\"Type\":\"SAS_FORMATS\",\"Help\":{\"#cdata\":\"Writes a numeric value as the quarter-of-the-year in the specified locale. \\n    \\nSyntax Description: \\nw \\n  specifies the width of the output field \\n  Default: 20 \\n  Range: 1-200\\nd \\n  specifies the following: \\n    00000001: write abbreviated form.  \\n    00000010: write capitalized form. \\n  Default: 0 \\n  Range: 0-3 \\n  \\nDetails:\\nThe NLSTRQTRw.d format writes a SAS value, 1-4 as the name-of-the-quarter for the year \\nin the specified locale. The following examples use the English_UnitedStates locale. \\n\\n  1 = 1st quarter  \\n  2 = 2nd quarter  \\n  3 = 3rd quarter  \\n  4 = 4th quarter\"}},{\"Name\":\"NLSTRWKw.d\",\"Type\":\"SAS_FORMATS\",\"Help\":{\"#cdata\":\"Writes a numeric value as the day-of-the-week in the specified locale. \\n    \\nSyntax Description: \\nw \\n  specifies the width of the output field \\n  Default: 20 \\n  Range: 1-200\\nd \\n  specifies the following: \\n    00000001: write abbreviated form.  \\n    00000010: write capitalized form. \\n  Default: 0 \\n  Range: 0-3 \\n  \\nDetails:\\nThe NLSTRQTRw.d format writes a SAS value, 1-7 as the name-of-the-week in the specified locale. \\nThe following examples use the English_UnitedStates locale. \\n\\n  1 = First day-of-week (Monday)  \\n  2 = Second day-of-week (Tuesday)  \\n  3 = Third day-of-week (Wednesday)  \\n  4 = Fourth day-of-week (Thursday)  \\n  5 = Fifth day-of-week (Friday)  \\n  6 = Sixth day-of-week (Saturday)  \\n  7 = Seventh day-of-week (Sunday)\"}},{\"Name\":\"B8601DXw.\",\"Type\":\"SAS_FORMATS\",\"Help\":{\"#cdata\":\"Adjusts a Coordinated Universal Time (UTC) datetime value to the user local date and time. \\nThen, writes the local date and time by using the ISO 8601 datetime and time zone basic \\nnotation yyyymmddThhmmss+hhmm.\\n    \\nSyntax Description:\\n    \\nw\\nspecifies the width of the output field.\\n\\nDefault: 26\\nRange: 20\\u201335\\n\\nDetails:\\nUTC values specify a date and a time that are based on the zero meridian in Greenwich, England. \\nUsing this format, SAS converts a datetime value to the UTC value and determines the user local \\ndate and time by using the value of the TIMEZONE= system option. If the TIMEZONE= option is not \\nset, then the user local date and time are based on the local date and time. The B8601DX format \\nwrites SAS datetime values by using the following ISO 8601 basic datetime notation:\\n\\n\\u2022yyyymmddThhmmss+hhmm\\n\\nyyyy\\nis a four-digit year.\\nmm\\nis a two-digit month (zero padded) between 01 and 12.\\ndd\\nis a two-digit day of the month (zero padded) between 01 and 31.\\nhh\\nis a two-digit hour (zero padded) between 00 and 23.\\nmm\\nis a two-digit minute (zero padded) between 00 and 59.\\nss\\nis a two-digit second (zero padded) between 00 and 59.\\n+|\\u2013hhmm\\nis an hour and minute signed offset from zero meridian time. The offset must be +|\\u2013hhmm \\n(that is, + or \\u2013 and four characters).\\nUse + for time zones east of the zero meridian, and use \\u2013 for time zones west of the zero \\nmeridian. For example, +0200 indicates a two-hour time difference to the east of the zero \\nmeridian, and \\u20130600 indicates a six-hour time difference to the west of the zero meridian. \\n\\nRestriction: The shorter form +|\\u2013hh is not supported.\"}},{\"Name\":\"B8601LXw.\",\"Type\":\"SAS_FORMATS\",\"Help\":{\"#cdata\":\"Writes datetime values as local time by appending a time zone offset difference between the \\nlocal time and UTC, using the ISO 8601 basic notation yyyymmddThhmmss+|\\u2013hhmm.\\n    \\nSyntax Description:\\nw specifies the width of the output field.\\nDefault: 26\\nRange: 20\\u201335\\nDetails:\\nThe B8601LX format writes datetime values without making any adjustments, and appends the UTC time \\nzone offset for the local SAS session by using the ISO 8601 basic datetime notation:\\n\\n\\u2022yyyymmddThhmmss+|\\u2013hhmm\\n\\nyyyy is a four-digit year.\\nmm is a two-digit month (zero padded) between 01 and 12.\\ndd is a two-digit day of the month (zero padded) between 01 and 31.\\nhh is a two-digit hour (zero padded) between 00 and 23. \\nmm is a two-digit minute (zero padded) between 00 and 59. \\nss is a two-digit second (zero padded) between 00 and 59.\\n+|\\u2013hhmm\\nis an hour and minute signed offset from zero meridian time. The offset must be +|\\u2013hhmm \\n(that is, + or \\u2013 and four characters).\\n\\nUse + for time zones east of the zero meridian, and use \\u2013 for time zones west of the zero meridian. \\nFor example, +0200 indicates a two-hour time difference to the east of the zero meridian, and \\u20130600 \\nindicates a six-hour time difference to the west of the zero meridian. \\n\\nRestriction: The shorter form +|\\u2013hh is not supported.\"}},{\"Name\":\"B8601TXw.\",\"Type\":\"SAS_FORMATS\",\"Help\":{\"#cdata\":\"Adjusts a Coordinated Universal Time (UTC) value to the user local time. Then, writes the local \\ntime by using the ISO 8601 basic time notation hhmmss+|-hhmm. \\n    \\nSyntax Description:\\nw specifies the width of the output field.\\nDefault: 14\\nRange: 9\\u201320\\nDetails:\\nUTC values specify a time based on the zero meridian in Greenwich, England. Using this format, \\nSAS converts a time value to the UTC value and determines the user local time by using the TIMEZONE= \\nsystem option. If the TIMEZONE= option is not set, then the user local time is based on the local \\ntime. The B8601TX format writes SAS datetime values by using the following ISO 8601 basic time notation:\\n\\n\\u2022hhmmss+|\\u2013hhmm\\n\\nhh is a two-digit hour (zero padded) between 00 and 23. \\nmm is a two-digit minute (zero padded) between 00 and 59.\\nss is a two-digit second (zero padded) between 00 and 59.\\n+|\\u2013hh:mm\\nis an hour and minute signed offset from zero meridian time. The offset must be +|\\u2013hhmm (that is, \\n+ or \\u2013 and four characters).\\n\\nUse + for time zones east of the zero meridian, and use \\u2013 for time zones west of the zero meridian. \\nFor example, +0200 indicates a two-hour time difference to the east of the zero meridian, and \\u20130600 \\nindicates a six-hour time difference to the west of the zero meridian. \\n\\nRestriction: The shorter form +|\\u2013hh is not supported.\"}},{\"Name\":\"E8601DXw.\",\"Type\":\"SAS_FORMATS\",\"Help\":{\"#cdata\":\"Adjusts a Coordinated Universal Time (UTC) datetime value to the user local date and time. Then, writes \\nthe local date and time by using the ISO 8601 datetime and time zone basic notation yyyy-mm-ddThh:mm:ss+hh:mm. \\n\\nSyntax Description:\\nw specifies the width of the output field.\\nDefault: 26\\nRange: 20\\u201335\\nDetails:\\nUTC values specify a date and time that are based on the zero meridian in Greenwich, England. \\nUsing this format, SAS converts a datetime value to the UTC value and determines the user local \\ndate and time by using the value of the TIMEZONE= system option. If the TIMEZONE= option is not \\nset, the user local date and time are based on the local date and time. The E8601DX format writes \\nSAS datetime values by using the following ISO 8601 basic datetime notation:\\n\\n\\u2022yyyy-mm-ddThh:mm:ss+hh:mm \\n\\nyyyy is a four-digit year. \\nmm is a two-digit month (zero padded) between 01 and 12. \\ndd is a two-digit day of the month (zero padded) between 01 and 31. \\nhh\\nis a two-digit hour (zero padded) between 00 and 23.mm\\nis a two-digit minute (zero padded) between 00 and 59.ss\\nis a two-digit second (zero padded) between 00 and 59.\\n+|\\u2013hh:mm is an hour and minute signed offset from zero meridian time. The offset must be +|\\u2013hh:mm \\n(that is, + or \\u2013 and four characters). Use + for time zones east of the zero meridian, and use \\u2013 for \\ntime zones west of the zero meridian. For example, +02:00 indicates a two-hour time difference to \\nthe east of the zero meridian, and \\u201306:00 indicates a six-hour time difference to the west of the \\nzero meridian. \\n\\nRestriction: The shorter form +|\\u2013hh is not supported.\"}},{\"Name\":\"E8601LXw.\",\"Type\":\"SAS_FORMATS\",\"Help\":{\"#cdata\":\"Writes datetime values as local time by appending a time zone offset difference between the local \\ntime and UTC, using the ISO 8601 basic notation yyyy-mm-ddThh:mm:ss+|\\u2013hh:mm. \\n\\nSyntax Description:\\nw specifies the width of the output field.\\nDefault: 26\\nRange: 20\\u201335\\nDetails:\\nThe E8601LX format writes datetime values without making any adjustments, and appends the UTC time \\nzone offset for the local SAS session by using the ISO 8601 basic datetime notation:\\n\\n\\u2022yyyy-mm-ddThh:mm:ss+hh:mm\\n\\nyyyy is a four-digit year. \\nmm is a two-digit month (zero padded) between 01 and 12. \\ndd is a two-digit day of the month (zero padded) between 01 and 31. \\nhh is a two-digit hour (zero padded) between 00 and 23. \\nmm is a two-digit minute (zero padded) between 00 and 59. \\nss is a two-digit second (zero padded) between 00 and 59.\\n+|\\u2013hh:mm is an hour and minute signed offset from zero meridian time. The offset must be +|\\u2013hh:mm \\n(that is, + or \\u2013 and four characters).\\nUse + for time zones east of the zero meridian, and use \\u2013 for time zones west of the zero meridian. \\nFor example, +02:00 indicates a two-hour time difference to the east of the zero meridian, and \\u201306:00 \\nindicates a six-hour time difference to the west of the zero meridian. \\n\\nRestriction: The shorter form +|\\u2013hh is not supported.\"}},{\"Name\":\"E8601TXw.\",\"Type\":\"SAS_FORMATS\",\"Help\":{\"#cdata\":\"Adjusts a Coordinated Universal Time (UTC) value to the user local time. Then, writes the local time \\nby using the ISO 8601 basic time notation hhmmss+|\\u2013hhmm. \\n\\nSyntax Description:\\nw specifies the width of the output field.\\nDefault: 14\\nRange: 9\\u201320 \\n\\nDetails:\\nUTC values specify a time based on the zero meridian in Greenwich, England. Using this format, SAS \\nconverts a time value to the UTC value and determines the user local time by using the value of the \\nTIMEZONE= system option. If the TIMEZONE= option is not set, the user local time is based on the \\nlocal time. The E8601TX format writes SAS datetime values by using the following ISO 8601 basic \\ntime notation: \\u2022hhmmss+|\\u2013hhmm \\n\\nhh is a two-digit hour (zero padded) between 00 and 23. \\nmm is a two-digit minute (zero padded) between 00 and 59. \\nss is a two-digit second (zero padded) between 00 and 59.\\n+|\\u2013hh:mm is an hour and minute signed offset from zero meridian time. The offset must be +|\\u2013hhmm \\n(that is, + or \\u2013 and four characters). Use + for time zones east of the zero meridian, and use \\u2013 for \\ntime zones west of the zero meridian. For example, +0200 indicates a two-hour time difference to the \\neast of the zero meridian, and \\u20130600 indicates a six-hour time difference to the west of the zero meridian. \\n\\nRestriction: The shorter form +|-hh is not supported.\"}}],\"#comment\":[{},{}]}}"
  },
  {
    "path": "server/data/SASFunctions.json",
    "content": "{\"Keywords\":{\"Keyword\":[{\"Name\":\"ARMCONV\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Converts a SAS System 9 or later ARM log written in simple format to the more readable \\nlabel=item format that was used in SAS 8.2.\"}},{\"Name\":\"ARMEND\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Indicates the termination of an application.\"}},{\"Name\":\"ARMGTID\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Assigns a unique identifier to a transaction class.\"}},{\"Name\":\"ARMINIT\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Starts the initialization of an application.\"}},{\"Name\":\"ARMJOIN\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Reads the six SAS data sets created by the %ARMPROC macro, and creates SAS data sets \\nand SQL views that contain common information about applications and transactions.\"}},{\"Name\":\"ARMPROC\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Processes an input ARM log, and outputs six SAS data sets that contain the gathered \\ninformation from the log.\"}},{\"Name\":\"ARMSTOP\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Specifies the end of a transaction instance.\"}},{\"Name\":\"ARMSTRT\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Specifies the start of execution of a transaction instance, and returns a unique \\nhandle that is passed to %ARMUPDT and %ARMSTOP.\"}},{\"Name\":\"ARMUPDT\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Updates a transaction instance that has been previously started.\"}},{\"Name\":\"ABS\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the absolute value.\"}},{\"Name\":\"ADDR\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the memory address of a variable on a 32-bit platform. The value that is \\nreturned is numeric.  \\n\\nSyntax: ADDR(variable)\\n\\nRequired Argument:\\nvariable\\n  specifies a variable name.\\n\\nInteraction:\\nWhen a SAS server is in a locked-down state, the ADDR function does not execute. \\n\\n\"}},{\"Name\":\"ADDRLONG\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the memory address of a variable on 32-bit and 64-bit platforms. \\n \\nInteraction:\\nWhen a SAS server is in a locked-down state, the ADDRLONG function does not execute. \\n\\nSyntax: ADDRLONG(variable)\\nRequired Argument:\\nvariable\\n  specifies a variable.\\n  \\nDetails:\\nThe return value is a character string that contains the binary representation of the address. \\nTo display this value, use the $HEXw. format to convert the binary value to its hexadecimal equivalent. \\nIf you store the result in a variable, that variable should be a character variable with a length of \\nat least eight characters for portability. If you assign the result to a variable that does not yet \\nhave a length defined, that variable is assigned a length of 20 characters.\"}},{\"Name\":\"AIRY\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the value of the Airy function.\"}},{\"Name\":\"ALLPERM\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Generates all permutations of the values of several variables in a minimal change order.\"}},{\"Name\":\"ANYALNUM\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Searches a character string for an alphanumeric character, and returns the first \\nposition at which the character is found.\"}},{\"Name\":\"ANYALPHA\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Searches a character string for an alphabetic character, and returns the first \\nposition at which the character is found.\"}},{\"Name\":\"ANYCNTRL\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Searches a character string for a control character, and returns the first position \\nat which that character is found.\"}},{\"Name\":\"ANYDIGIT\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Searches a character string for a digit, and returns the first position at which \\nthe digit is found.\"}},{\"Name\":\"ANYFIRST\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Searches a character string for a character that is valid as the first character \\nin a SAS variable name under VALIDVARNAME=V7, and returns the first position \\nat which that character is found.\"}},{\"Name\":\"ANYGRAPH\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Searches a character string for a graphical character, and returns the first position \\nat which that character is found.\"}},{\"Name\":\"ANYLOWER\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Searches a character string for a lowercase letter, and returns the first position at \\nwhich the letter is found.\"}},{\"Name\":\"ANYNAME\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Searches a character string for a character that is valid in a SAS variable name \\nunder VALIDVARNAME=V7, and returns the first position at which that character \\nis found.\"}},{\"Name\":\"ANYPRINT\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Searches a character string for a printable character, and returns the first position \\nat which that character is found.\"}},{\"Name\":\"ANYPUNCT\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Searches a character string for a punctuation character, and returns the first position \\nat which that character is found.\"}},{\"Name\":\"ANYSPACE\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Searches a character string for a white-space character (blank, horizontal and vertical \\ntab, carriage return, line feed, and form feed), and returns the first position at \\nwhich that character is found.\"}},{\"Name\":\"ANYUPPER\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Searches a character string for an uppercase letter, and returns the first position \\nat which the letter is found.\"}},{\"Name\":\"ANYXDIGIT\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Searches a character string for a hexadecimal character that represents a digit, \\nand returns the first position at which that character is found.\"}},{\"Name\":\"ARCOS\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the arccosine.\"}},{\"Name\":\"ARCOSH\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the inverse hyperbolic cosine.\"}},{\"Name\":\"ARSIN\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the arcsine.\"}},{\"Name\":\"ARSINH\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the inverse hyperbolic sine.\"}},{\"Name\":\"ARTANH\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the inverse hyperbolic tangent.\"}},{\"Name\":\"ATAN\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the arc tangent.\"}},{\"Name\":\"ATAN2\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the arc tangent of the ratio of two numeric variables.\"}},{\"Name\":\"ATTRC\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the value of a character attribute for a SAS data set.\"}},{\"Name\":\"ATTRN\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the value of a numeric attribute for a SAS data set.\"}},{\"Name\":\"BAND\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the bitwise logical AND of two arguments. If either argument contains a \\nmissing value, then the function returns a missing value and sets _ERROR_ equal \\nto 1.\"}},{\"Name\":\"BETA\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the value of the beta function.\"}},{\"Name\":\"BETAINV\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns a quantile from the beta distribution with shape parameters a and b.\"}},{\"Name\":\"BLACKCLPRC\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Calculates call prices for European options on futures, based on the Black model.\"}},{\"Name\":\"BLACKPTPRC\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Calculates put prices for European options on futures, based on the Black model.\"}},{\"Name\":\"BLKSHCLPRC\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Calculates call prices for European options on stocks, based on the Black-Scholes model.\"}},{\"Name\":\"BLSHIFT\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the bitwise logical left shift of two arguments. If either argument contains \\na missing value, then the function returns a missing value and sets _ERROR_ equal \\nto 1.\"}},{\"Name\":\"BNOT\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the bitwise logical NOT of an argument.\"}},{\"Name\":\"BOR\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the bitwise logical OR of two arguments. If either argument contains a \\nmissing value, then the function returns a missing value and sets _ERROR_ equal \\nto 1.\"}},{\"Name\":\"BRSHIFT\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the bitwise logical right shift of two arguments. If either argument contains \\na missing value, then the function returns a missing value and sets _ERROR_ equal to 1.\"}},{\"Name\":\"BXOR\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the bitwise logical EXCLUSIVE OR of two arguments. If either argument contains \\na missing value, then the function returns a missing value and sets _ERROR_ equal to 1.\"}},{\"Name\":\"BYTE\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns one character in the ASCII or the EBCDIC collating sequence.\"}},{\"Name\":\"ALLCOMB\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Generates all combinations of the values of n variables taken k at a time in a \\nminimal change order.\"}},{\"Name\":\"ALLCOMBI\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Generates all combinations of the indices of n objects taken k at a time in a \\nminimal change order.\"}},{\"Name\":\"CATS\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Removes leading and trailing blanks, and returns a concatenated character string.\"}},{\"Name\":\"CATT\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Removes trailing blanks, and returns a concatenated character string.\"}},{\"Name\":\"CATX\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Removes leading and trailing blanks, inserts delimiters, and returns a concatenated \\ncharacter string.\"}},{\"Name\":\"COMPCOST\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Sets the costs of operations for later use by the COMPGED function.\"}},{\"Name\":\"GRAYCODE\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Generates all subsets of n items in a minimal change order.\"}},{\"Name\":\"LABEL\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Assigns a variable label to a specified character variable.\"}},{\"Name\":\"LEXCOMB\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Generates all distinct combinations of the non-missing values of n variables taken \\nk at a time in lexicographic order.\"}},{\"Name\":\"LEXCOMBI\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Generates all combinations of the indices of n objects taken k at a time in \\nlexicographic order.\"}},{\"Name\":\"LEXPERK\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Generates all distinct permutations of the non-missing values of n variables \\ntaken k at a time in lexicographic order.\"}},{\"Name\":\"LEXPERM\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Generates all distinct permutations of the non-missing values of several variables \\nin lexicographic order.\"}},{\"Name\":\"LOGISTIC\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the logistic transformation of the argument. \\n    \\nSyntax: LOGISTIC(argument)\\nRequired Argument:\\nargument\\n  is a numeric variable, constant, or expression that specifies the value of a numeric random variable. \\n  When argument is missing, the LOGISTIC function returns a missing value. \\n  \\nDetails\\nThe LOGISTIC function returns the logistic transformation of an argument. It is typically used to \\nconvert a log odds value to a value on the probability scale.\"}},{\"Name\":\"MISSING\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Assigns missing values to the specified character or numeric variables.\"}},{\"Name\":\"MODULE\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Calls an external routine without any return code.\\n    \\nInteraction:\\nWhen a SAS server is in a locked-down state, the CALL MODULE routine does not execute. \\n\\nSyntax: CALL MODULE(<control-string,> module-name <, argument-1, ..., argument-n>);\\n\\nRequired Argument:\\nmodule-name - is the name of the external module to use.\\n\\nOptional Arguments:\\ncontrol-string\\n  is an optional control string whose first character must be an asterisk (*), followed by any \\n  combination of the following characters:\\n    I\\n    prints the hexadecimal representations of all arguments to the CALL MODULE routine. You can use \\n    this option to help diagnose problems that are caused by incorrect arguments or attribute tables. \\n    If you specify the I option, the E option is implied.\\n    E\\n    prints detailed error messages. Without the E option (or the I option, which supersedes it), \\n    the only error message that the CALL MODULE routine generates is \\\"Invalid argument to function,\\\" \\n    which is usually not enough information to determine the cause of the error. The E option is \\n    useful for a production environment, whereas the I option is preferable for a development or \\n    debugging environment.\\n    H\\n    provides brief information about the syntax of the CALL MODULE routine, the attribute file format, \\n  and suggested SAS formats and informats. \\n\\nargument - is one or more arguments to pass to the requested routine.\"}},{\"Name\":\"POKE\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Writes a value directly into memory on a 32-bit platform. \\n  \\nInteraction:\\nWhen a SAS server is in a locked-down state, the CALL POKE routine does not execute. \\n\\nSyntax: CALL POKE(source, pointer <, length> <, floating-point>);\\n\\nRequired Arguments:\\nsource\\n  specifies a constant, variable, or expression that contains a value to write into memory \\npointer\\n  specifies a numeric expression that contains the virtual address of the data that the CALL POKE routine alters.\\n\\nOptional Arguments:\\nlength\\n  specifies a numeric constant, variable, or expression that contains the number of bytes to write from the source \\n  to the address that is indicated by pointer. If you omit length, the action that the CALL POKE routine takes depends \\n  on whether source is a character value or a numeric value:\\n    \\u2022If source is a character value, the CALL POKE routine copies the entire value of source to the specified memory location.\\n    \\u2022If source is a numeric value, the CALL POKE routine converts source to a long integer and writes into memory the number \\n      of bytes that constitute a pointer.\\n\\n  z/OS Specifics\\n  Under z/OS, pointers are 3 or 4 bytes long, depending on the situation. \\n\\nfloating-point\\n  specifies that the value of source is stored as a floating-point number. The value of floating-point can be any number.\"}},{\"Name\":\"POKELONG\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Writes a value directly into memory on 32-bit and 64-bit platforms. \\n    \\nInteraction:\\nWhen a SAS server is in a locked-down state, the CALL POKELONG routine does not execute. \\n\\nSyntax: CALL POKELONG(source, pointer <, length> <, floating-point>);\\nRequired Arguments:\\nsource\\n  specifies a character constant, variable, or expression that contains a value to write into memory. \\npointer\\n  specifies a character string that contains the virtual address of the data that the CALL POKELONG routine alters.\\n\\nOptional Arguments:\\nlength\\n  specifies a numeric SAS expression that contains the number of bytes to write from the source to the address \\n  that is indicated by the pointer. If you omit length, the CALL POKELONG routine copies the entire value of \\n  source to the specified memory location. \\nfloating-point\\n  specifies that the value of source is stored as a floating-point number. The value of floating-point can be any number.\"}},{\"Name\":\"PRXDEBUG\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Enables Perl regular expressions in a DATA step to send debugging output to the SAS log.\"}},{\"Name\":\"PRXFREE\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Frees memory that was allocated for a Perl regular expression.\"}},{\"Name\":\"PRXNEXT\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the position and length of a substring that matches a pattern, and iterates \\nover multiple matches within one string.\"}},{\"Name\":\"PRXSUBSTR\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the position and length of a substring that matches a pattern.\"}},{\"Name\":\"RANBIN\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns a random variate from a binomial distribution.\"}},{\"Name\":\"RANCAU\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns a random variate from a Cauchy distribution.\"}},{\"Name\":\"RANNOR\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns a random variate from a normal distribution.\"}},{\"Name\":\"RANPERK\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Randomly permutes the values of the arguments, and returns a permutation of k out \\nof n values.\"}},{\"Name\":\"RANPERM\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Randomly permutes the values of the arguments.\"}},{\"Name\":\"RANPOI\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns a random variate from a Poisson distribution.\"}},{\"Name\":\"RANTBL\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns a random variate from a tabled probability distribution.\"}},{\"Name\":\"RANTRI\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns a random variate from a triangular distribution.\"}},{\"Name\":\"RANUNI\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns a random variate from a uniform distribution.\"}},{\"Name\":\"SET\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Links SAS data set variables to DATA step or macro variables that have the same \\nname and data type.\"}},{\"Name\":\"SOFTMAX\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the softmax value.\"}},{\"Name\":\"SORTC\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Sorts the values of character arguments.\"}},{\"Name\":\"SORTN\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Sorts the values of numeric arguments.\"}},{\"Name\":\"STDIZE\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Standardizes the values of one or more variables.\"}},{\"Name\":\"STREAMINIT\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Specifies a seed value to use for subsequent random number generation by the \\nRAND function.\"}},{\"Name\":\"SYMPUT\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Assigns DATA step information to a macro variable.\"}},{\"Name\":\"SYMPUTX\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Assigns a value to a macro variable, and removes both leading and trailing blanks.\"}},{\"Name\":\"VNEXT\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the name, type, and length of a variable that is used in a DATA step.\"}},{\"Name\":\"CAT\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Does not remove leading or trailing blanks, and returns a concatenated character string.\"}},{\"Name\":\"CATQ\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Concatenates character or numeric values by using a delimiter to separate items \\nand by adding quotation marks to strings that contain the delimiter.\"}},{\"Name\":\"CDF\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns a value from a cumulative probability distribution. \\n\\nSyntax: CDF(distribution, quantile <, parameter-1, \\u2026, parameter-k>) \\n\\nRequired Arguments:\\ndistribution\\n  Is a character constant, variable, or expression that identifies the distribution. Valid distributions are as follows:\\n\\n      Bernoulli distribuion: BERNOULLI\\n      Beta distribuion: BETA\\n      Binomial distribuion: BINOMIAL\\n      Cauchy distribuion: CAUCHY\\n      Chi-Square distribuion: CHISQUARE\\n      Conway-Maxwell-Poisson distribuion: CMP\\n      Exponential distribuion: EXPONENTIAL\\n      F distribuion: F\\n      Gamma distribuion: GAMMA\\n      Generalized Poisson distribuion: GENPOISSON\\n      Geometric distribuion: GEOMETRIC\\n      Hypergeometric distribuion: HYPERGEOMETRIC\\n      Laplace distribuion: LAPLACE\\n      Logistic distribuion: LOGISTIC\\n      Lognormal distribuion: LOGNORMAL\\n      Negative binomial distribuion: NEGBINOMIAL\\n      Normal distribuion: NORMAL|GAUSS\\n      Normal mixture distribuion: NORMALMIX\\n      Pareto distribuion: PARETO\\n      Poisson distribuion: POISSON\\n      T distribuion: T\\n      Tweedie distribuion: TWEEDIE\\n      Uniform distribuion: UNIFORM\\n      Wald (inverse Gaussian) distribuion: WALD|IGAUSS\\n      Weibull distribuion: WEIBULL\\n\\n      Note: Except for T, F, and NORMALMIX, you can minimally identify any distribution by its first four characters. \\n\\nquantile\\n  is a numeric constant, variable, or expression that specifies the value of the random variable.\\n\\nOptional Argument: parameter-1, \\u2026 , parameter-k\\n  are optional constants, variables, or expressions that specify shape, location, or scale parameters appropriate \\n  for the specific distribution.\"}},{\"Name\":\"CEIL\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the smallest integer that is greater than or equal to the argument, fuzzed \\nto avoid unexpected floating-point results.\"}},{\"Name\":\"CEILZ\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the smallest integer that is greater than or equal to the argument, using \\nzero fuzzing.\"}},{\"Name\":\"CEXIST\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Verifies the existence of a SAS catalog or SAS catalog entry.\"}},{\"Name\":\"CHAR\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns a single character from a specified position in a character string.\"}},{\"Name\":\"CHOOSEC\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns a character value that represents the results of choosing from a list \\nof arguments.\"}},{\"Name\":\"CHOOSEN\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns a numeric value that represents the results of choosing from a list \\nof arguments.\"}},{\"Name\":\"CINV\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns a quantile from the chi-square distribution.\"}},{\"Name\":\"CLOSE\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Closes a SAS data set.\"}},{\"Name\":\"CMISS\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Counts the number of missing arguments.\"}},{\"Name\":\"CNONCT\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the noncentrality parameter from a chi-square distribution.\"}},{\"Name\":\"COALESCE\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the first non-missing value from a list of numeric arguments.\"}},{\"Name\":\"COALESCEC\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the first non-missing value from a list of character arguments.\"}},{\"Name\":\"COLLATE\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns a character string in ASCII or EBCDIC collating sequence.\"}},{\"Name\":\"COMB\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Computes the number of combinations of n elements taken r at a time.\"}},{\"Name\":\"COMPARE\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the position of the leftmost character by which two strings differ, or returns 0 \\nif there is no difference.\"}},{\"Name\":\"COMPBL\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Removes multiple blanks from a character string.\"}},{\"Name\":\"COMPGED\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the generalized edit distance between two strings.\"}},{\"Name\":\"COMPLEV\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the Levenshtein edit distance between two strings.\"}},{\"Name\":\"COMPOUND\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns compound interest parameters.\"}},{\"Name\":\"COMPRESS\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns a character string with specified characters removed from the original string.\"}},{\"Name\":\"CONSTANT\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Computes machine and mathematical constants.\"}},{\"Name\":\"CONVX\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the convexity for an enumerated cash flow.\"}},{\"Name\":\"CONVXP\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the convexity for a periodic cash flow stream, such as a bond.\"}},{\"Name\":\"COS\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the cosine.\"}},{\"Name\":\"COSH\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the hyperbolic cosine.\"}},{\"Name\":\"COUNT\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Counts the number of times that a specified substring appears within a character string.\"}},{\"Name\":\"COUNTC\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Counts the number of characters in a string that appear or do not appear in a list \\nof characters.\"}},{\"Name\":\"COUNTW\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Counts the number of words in a character string.\"}},{\"Name\":\"CSS\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the corrected sum of squares.\"}},{\"Name\":\"CUROBS\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the observation number of the current observation.\"}},{\"Name\":\"CV\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the coefficient of variation. At least two arguments are required.\"}},{\"Name\":\"DACCDB\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the accumulated declining balance depreciation.\"}},{\"Name\":\"DACCDBSL\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the accumulated declining balance with conversion to a straight-line depreciation.\"}},{\"Name\":\"DACCSL\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the accumulated straight-line depreciation.\"}},{\"Name\":\"DACCSYD\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the accumulated sum-of-years-digits depreciation.\"}},{\"Name\":\"DACCTAB\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the accumulated depreciation from specified tables.\"}},{\"Name\":\"DAIRY\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the derivative of the AIRY function.\"}},{\"Name\":\"DATDIF\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the number of days between two dates.\"}},{\"Name\":\"DATE\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the current date as a SAS date value. \\n    \\nAlias: TODAY \\n\\nInteraction:\\nIf the value of the TIMEZONE= system option is set to a time zone name or time zone ID, the date \\nand time values that are returned for this function are determined by the time zone.\"}},{\"Name\":\"DATEJUL\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Converts a Julian date to a SAS date value.\"}},{\"Name\":\"DATEPART\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Extracts the date from a SAS datetime value.\"}},{\"Name\":\"DATETIME\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the current date and time of day as a SAS datetime value. \\n    \\nInteraction:\\nIf the value of the TIMEZONE= system option is set to a time zone name or time zone ID, the date \\nand time values that are returned for this function are determined by the time zone.\"}},{\"Name\":\"DAY\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the day of the month from a SAS date value.\"}},{\"Name\":\"DCLOSE\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Closes a directory that was opened by the DOPEN function.\"}},{\"Name\":\"DCREATE\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the complete pathname of a new, external directory.\"}},{\"Name\":\"DEPDB\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the declining balance depreciation.\"}},{\"Name\":\"DEPDBSL\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the declining balance with conversion to a straight-line depreciation.\"}},{\"Name\":\"DEPSL\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the straight-line depreciation.\"}},{\"Name\":\"DEPSYD\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the sum-of-years-digits depreciation.\"}},{\"Name\":\"DEPTAB\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the depreciation from specified tables.\"}},{\"Name\":\"DEQUOTE\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Removes matching quotation marks from a character string that begins with a quotation \\nmark, and deletes all characters to the right of the closing quotation mark.\"}},{\"Name\":\"DEVIANCE\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the deviance based on a probability distribution.\"}},{\"Name\":\"DHMS\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns a SAS datetime value from date, hour, minute, and second values.\"}},{\"Name\":\"DIF\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns differences between an argument and its nth lag. n specifies the number of lags.\"}},{\"Name\":\"DIGAMMA\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the value of the digamma function.\"}},{\"Name\":\"DIM\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the number of elements in an array. n specifies the dimension, in a multidimensional \\narray, for which you want to know the number of elements.\\n\\nIn CAS, this returns the dimensions of a list variable. For example:\\n\\n  x[10] = 1;\\n  y     = dim(x);\\n\\n\\ny would be set to 10\"}},{\"Name\":\"DINFO\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns information about a directory.\"}},{\"Name\":\"DIVIDE\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the result of a division that handles special missing values for ODS output.\"}},{\"Name\":\"DNUM\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the number of members in a directory.\"}},{\"Name\":\"DOPEN\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Opens a directory, and returns a directory identifier value.\"}},{\"Name\":\"DOPTNAME\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns directory attribute information.\"}},{\"Name\":\"DOPTNUM\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the number of information items that are available for a directory.\"}},{\"Name\":\"DREAD\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the name of a directory member.\"}},{\"Name\":\"DROPNOTE\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Deletes a note marker from a SAS data set or an external file.\"}},{\"Name\":\"DSNAME\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the SAS data set name that is associated with a data set identifier.\"}},{\"Name\":\"DUR\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the modified duration for an enumerated cash flow.\"}},{\"Name\":\"DURP\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the modified duration for a periodic cash flow stream, such as a bond.\"}},{\"Name\":\"ENVLEN\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the length of an environment variable.\"}},{\"Name\":\"ERF\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the value of the (normal) error function.\"}},{\"Name\":\"ERFC\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the value of the complementary (normal) error function.\"}},{\"Name\":\"EUCLID\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the Euclidean norm of the non-missing arguments.\"}},{\"Name\":\"EXIST\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Verifies the existence of a SAS library member.\"}},{\"Name\":\"EXP\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the value of the exponential function.\"}},{\"Name\":\"FACT\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Computes a factorial.\"}},{\"Name\":\"FAPPEND\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Appends the current record to the end of an external file.\"}},{\"Name\":\"FCLOSE\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Closes an external file, directory, or directory member.\"}},{\"Name\":\"FCOL\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the current column position in the File Data Buffer (FDB).\"}},{\"Name\":\"FDELETE\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Deletes an external file or an empty directory.\"}},{\"Name\":\"FETCH\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Reads the next non-deleted observation from a SAS data set into the Data Set Data Vector (DDV).\"}},{\"Name\":\"FETCHOBS\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Reads a specified observation from a SAS data set into the Data Set Data Vector (DDV).\"}},{\"Name\":\"FEXIST\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Verifies the existence of an external file that is associated with a fileref.\"}},{\"Name\":\"FGET\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Copies data from the File Data Buffer (FDB) into a variable.\"}},{\"Name\":\"FILEEXIST\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Verifies the existence of an external file by its physical name.\"}},{\"Name\":\"FILENAME\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Assigns or deassigns a fileref to an external file, directory, or output device.\"}},{\"Name\":\"FILEREF\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Verifies whether a fileref has been assigned for the current SAS session.\"}},{\"Name\":\"FINANCE\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Computes financial calculations such as depreciation, maturation, accrued interest, net present \\nvalue, periodic savings, and internal rates of return.\"}},{\"Name\":\"FIND\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Searches for a specific substring of characters within a character string.\"}},{\"Name\":\"FINDC\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Searches a string for any character in a list of characters.\"}},{\"Name\":\"FINDW\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the character position of a word in a string, or returns the number of the word \\nin a string.\"}},{\"Name\":\"FINFO\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the value of a file information item.\"}},{\"Name\":\"FINV\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns a quantile from the F distribution.\"}},{\"Name\":\"FIPNAME\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Converts two-digit FIPS codes to uppercase state names.\"}},{\"Name\":\"FIPNAMEL\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Converts two-digit FIPS codes to mixed case state names.\"}},{\"Name\":\"FIPSTATE\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Converts two-digit FIPS codes to two-character state postal codes.\"}},{\"Name\":\"FIRST\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the first character in a character string.\"}},{\"Name\":\"FLOOR\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the largest integer that is less than or equal to the argument, fuzzed to avoid \\nunexpected floating-point results.\"}},{\"Name\":\"FLOORZ\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the largest integer that is less than or equal to the argument, using zero fuzzing.\"}},{\"Name\":\"FNONCT\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the value of the noncentrality parameter of an F distribution.\"}},{\"Name\":\"FNOTE\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Identifies the last record that was read, and returns a value that the FPOINT function can use.\"}},{\"Name\":\"FOPEN\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Opens an external file and returns a file identifier value.\"}},{\"Name\":\"FOPTNAME\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the name of an item of information about a file.\"}},{\"Name\":\"FOPTNUM\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the number of information items that are available for an external file.\"}},{\"Name\":\"FPOINT\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Positions the read pointer on the next record to be read.\"}},{\"Name\":\"FPOS\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Sets the position of the column pointer in the File Data Buffer (FDB).\"}},{\"Name\":\"FPUT\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Moves data to the File Data Buffer (FDB) of an external file, starting at the FDB's current \\ncolumn position.\"}},{\"Name\":\"FREAD\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Reads a record from an external file into the File Data Buffer (FDB).\"}},{\"Name\":\"FREWIND\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Positions the file pointer to the start of the file.\"}},{\"Name\":\"FRLEN\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the size of the last record that was read, or, if the file is opened for output, \\nreturns the current record size.\"}},{\"Name\":\"FSEP\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Sets the token delimiters for the FGET function.\"}},{\"Name\":\"FUZZ\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the nearest integer if the argument is within 1E-12 of that integer.\"}},{\"Name\":\"FWRITE\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Writes a record to an external file.\"}},{\"Name\":\"GAMINV\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns a quantile from the gamma distribution.\"}},{\"Name\":\"GAMMA\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the value of the gamma function.\"}},{\"Name\":\"GARKHCLPRC\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Calculates call prices for European options on stocks, based on the Garman-Kohlhagen model.\"}},{\"Name\":\"GARKHPTPRC\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Calculates put prices for European options on stocks, based on the Garman-Kohlhagen model.\"}},{\"Name\":\"GCD\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the greatest common divisor for one or more integers.\"}},{\"Name\":\"GEODIST\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the geodetic distance between two latitude and longitude coordinates.\"}},{\"Name\":\"GEOMEAN\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the geometric mean.\"}},{\"Name\":\"GEOMEANZ\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the geometric mean, using zero fuzzing.\"}},{\"Name\":\"GETOPTION\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the value of a SAS system or graphics option.\"}},{\"Name\":\"GETVARC\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the value of a SAS data set character variable.\"}},{\"Name\":\"GETVARN\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the value of a SAS data set numeric variable.\"}},{\"Name\":\"HARMEAN\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the harmonic mean.\"}},{\"Name\":\"HARMEANZ\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the harmonic mean, using zero fuzzing.\"}},{\"Name\":\"HBOUND\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the upper bound of an array. n is an optional integer constant that specifies \\nthe dimension for which you want to know the upper bound. If no n value is specified, \\nthe HBOUND function returns the upper bound of the first dimension of the array.\"}},{\"Name\":\"HMS\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns a SAS time value from hour, minute, and second values.\"}},{\"Name\":\"HOLIDAY\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns a SAS date value of a specified holiday for a specified year.\"}},{\"Name\":\"HOUR\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the hour from a SAS time or datetime value.\"}},{\"Name\":\"HTMLDECODE\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Decodes a string that contains HTML numeric character references or HTML character \\nentity references, and returns the decoded string.\"}},{\"Name\":\"HTMLENCODE\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Encodes characters using HTML character entity references, and returns the \\nencoded string.\"}},{\"Name\":\"IBESSEL\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the value of the modified Bessel function.\"}},{\"Name\":\"IFC\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns a character value based on whether an expression is true, false, \\nor missing.\"}},{\"Name\":\"IFN\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns a numeric value based on whether an expression is true, false, \\nor missing.\"}},{\"Name\":\"INDEX\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Searches a character expression for a string of characters, and returns the position \\nof the string's first character for the first occurrence of the string.\"}},{\"Name\":\"INDEXC\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Searches a character expression for any of the specified characters, and returns \\nthe position of that character.\"}},{\"Name\":\"INDEXW\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Searches a character expression for a string that is specified as a word, and returns \\nthe position of the first character in the word.\"}},{\"Name\":\"INPUT\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the value that is produced when SAS converts an expression using the \\nspecified informat.\"}},{\"Name\":\"INPUTC\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Enables you to specify a character informat at run time.\"}},{\"Name\":\"INPUTN\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Enables you to specify a numeric informat at run time.\"}},{\"Name\":\"INT\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the integer value, fuzzed to avoid unexpected floating-point results.\"}},{\"Name\":\"INTCINDEX\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the cycle index when a date, time, or datetime interval and value \\nare specified.\"}},{\"Name\":\"INTCK\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the count of the number of interval boundaries between two dates, two \\ntimes, or two datetime values.\"}},{\"Name\":\"INTCYCLE\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the date, time, or datetime interval at the next higher seasonal cycle \\nwhen a date, time, or datetime interval is specified.\"}},{\"Name\":\"INTFIT\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns a time interval that is aligned between two dates.\"}},{\"Name\":\"INTFMT\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns a recommended SAS format when a date, time, or datetime interval is specified.\"}},{\"Name\":\"INTGET\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns a time interval based on three date or datetime values.\"}},{\"Name\":\"INTINDEX\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the seasonal index when a date, time, or datetime interval and value are \\nspecified.\"}},{\"Name\":\"INTNX\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Increments a date, time, or datetime value by a given time interval, and returns \\na date, time, or datetime value.\"}},{\"Name\":\"INTRR\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the internal rate of return as a fraction.\"}},{\"Name\":\"INTSEAS\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the length of the seasonal cycle when a date, time, or datetime interval \\nis specified.\"}},{\"Name\":\"INTSHIFT\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the shift interval that corresponds to the base interval.\"}},{\"Name\":\"INTTEST\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns 1 if a time interval is valid, and returns 0 if a time interval is invalid.\"}},{\"Name\":\"INTZ\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the integer portion of the argument, using zero fuzzing.\"}},{\"Name\":\"IQR\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the interquartile range.\"}},{\"Name\":\"IORCMSG\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns a formatted error message for _IORC_.\"}},{\"Name\":\"IRR\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the internal rate of return as a percentage.\"}},{\"Name\":\"JBESSEL\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the value of the Bessel function.\"}},{\"Name\":\"JULDATE\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the Julian date from a SAS date value.\"}},{\"Name\":\"JULDATE7\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns a seven-digit Julian date from a SAS date value.\"}},{\"Name\":\"KURTOSIS\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the kurtosis.\"}},{\"Name\":\"LAG\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns values from a queue. n specifies the number of lagged values.\"}},{\"Name\":\"LARGEST\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the kth largest non-missing value.\"}},{\"Name\":\"LBOUND\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the lower bound of an array. n is an optional integer constant that specifies \\nthe dimension for which you want to know the lower bound. If no n value is specified, \\nthe LBOUND function returns the lower bound of the first dimension of the array.\"}},{\"Name\":\"LCM\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the least common multiple.\"}},{\"Name\":\"LCOMB\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Computes the logarithm of the COMB function; that is, the logarithm of the number \\nof combinations of n objects taken r at a time.\"}},{\"Name\":\"LEFT\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Left-aligns a character string by removing leading blanks.\"}},{\"Name\":\"QLEFT\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Left-aligns a character string by removing leading blanks.\"}},{\"Name\":\"LENGTH\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the length of a non-blank character string, excluding trailing blanks, \\nand returns 1 for a blank character string.\"}},{\"Name\":\"LENGTHC\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the length of a character string, including trailing blanks.\"}},{\"Name\":\"LENGTHM\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the amount of memory (in bytes) that is allocated for a character string.\"}},{\"Name\":\"LENGTHN\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the length of a character string, excluding trailing blanks.\"}},{\"Name\":\"LFACT\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Computes the logarithm of the FACT (factorial) function.\"}},{\"Name\":\"LGAMMA\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the natural logarithm of the Gamma function.\"}},{\"Name\":\"LIBNAME\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Assigns or deassigns a libref for a SAS library.\"}},{\"Name\":\"LIBREF\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Verifies that a libref has been assigned.\"}},{\"Name\":\"LOG\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the natural (base e) logarithm.\"}},{\"Name\":\"LOG1PX\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the log of 1 plus the argument.\"}},{\"Name\":\"LOG10\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the logarithm to the base 10.\"}},{\"Name\":\"LOG2\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the logarithm to the base 2.\"}},{\"Name\":\"LOGBETA\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the logarithm of the beta function.\"}},{\"Name\":\"LOGCDF\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the logarithm of a left cumulative distribution function. \\n    \\nSyntax: LOGCDF('distribution', quantile <, parameter-1, ..., parameter-k>)\\n\\nRequired Arguments:\\n'distribution' is a character constant, variable, or expression that identifies the distribution. Valid distributions are as follows:\\n\\n      Bernoulli distribution: 'BERNOULLI'\\n      Beta distribution: 'BETA'\\n      Binomial distribution: 'BINOMIAL'\\n      Cauchy distribution: 'CAUCHY'\\n      Chi-Square distribution: 'CHISQUARE'\\n      Conway-Maxwell-Poisson distribution: 'CMP'\\n      Exponential distribution: 'EXPONENTIAL'\\n      F distribution: 'F'\\n      Gamma distribution: 'GAMMA'\\n      Generalized Poisson distribution: 'GENPOISSON'\\n      Geometric distribution: 'GEOMETRIC'\\n      Hypergeometric distribution: 'HYPERGEOMETRIC'\\n      Laplace distribution: 'LAPLACE'\\n      Logistic distribution: 'LOGISTIC'\\n      Lognormal'LOGNORMAL'\\n      Negative binomial distribution: 'NEGBINOMIAL'\\n      Normal distribution: 'NORMAL'|'GAUSS'\\n      Normal mixture distribution: 'NORMALMIX'\\n      Pareto distribution: 'PARETO'\\n      Poisson distribution: 'POISSON'\\n      T distribution: 'T'\\n      Tweedie distribution: 'TWEEDIE').\\n      Uniform distribution: 'UNIFORM'\\n      Wald (inverse Gaussian) distribution: 'WALD'|'IGAUSS'\\n      Weibull distribution: 'WEIBULL'\\n\\n      Except for T, F, and NORMALMIX, you can minimally identify any distribution by its first four characters. \\n      \\nquantile\\n  is a numeric variable, constant, or expression that specifies the value of a random variable.\\n\\nOptional Argument: \\nparameter-1, ..., parameter-k\\n  are optional shape, location, or scale parameters appropriate for the specific distribution.\"}},{\"Name\":\"LOGPDF\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the logarithm of a probability density (mass) function. \\n    \\nSyntaxLOGPDF('distribution', quantile, parameter-1, ..., parameter-k)\\nRequired Arguments:\\n  'distribution' is a character constant, variable, or expression that identifies the distribution. Valid distributions are as follows:\\n\\n      Bernoulli distribution: 'BERNOULLI'\\n      Beta distribution: 'BETA'\\n      Binomial distribution: 'BINOMIAL'\\n      Cauchy distribution: 'CAUCHY'\\n      Chi-Square distribution: 'CHISQUARE'\\n      Conway-Maxwell-Poisson distribution: 'CMP'\\n      Exponential distribution: 'EXPONENTIAL'\\n      F distribution: 'F'\\n      Gamma distribution: 'GAMMA'\\n      Generalized Poisson distribution: 'GENPOISSON'\\n      Geometric distribution: 'GEOMETRIC'\\n      Hypergeometric distribution: 'HYPERGEOMETRIC'\\n      Laplace distribution: 'LAPLACE'\\n      Logistic distribution: 'LOGISTIC'\\n      Lognormal'LOGNORMAL'\\n      Negative binomial distribution: 'NEGBINOMIAL'\\n      Normal distribution: 'NORMAL'|'GAUSS'\\n      Normal mixture distribution: 'NORMALMIX'\\n      Pareto distribution: 'PARETO'\\n      Poisson distribution: 'POISSON'\\n      T distribution: 'T'\\n      Tweedie distribution: 'TWEEDIE').\\n      Uniform distribution: 'UNIFORM'\\n      Wald (inverse Gaussian) distribution: 'WALD'|'IGAUSS'\\n      Weibull distribution: 'WEIBULL'\\n\\n      Except for T, F, and NORMALMIX, you can minimally identify any distribution by its first four characters. \\n      \\nquantile\\n  is a numeric constant, variable, or expression that specifies the value of a random variable.parameter-1, ..., parameter-k\\n  are optional shape, location, or scale parameters appropriate for the specific distribution.\"}},{\"Name\":\"LOGSDF\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the logarithm of a survival function. \\n    \\nSyntax: LOGSDF('distribution', quantile, parameter-1, ..., parameter-k)\\nRequired Arguments:\\n'distribution' is a character constant, variable, or expression that identifies the distribution. Valid distributions are as follows:\\n\\n      Bernoulli distribution: 'BERNOULLI'\\n      Beta distribution: 'BETA'\\n      Binomial distribution: 'BINOMIAL'\\n      Cauchy distribution: 'CAUCHY'\\n      Chi-Square distribution: 'CHISQUARE'\\n      Conway-Maxwell-Poisson distribution: 'CMP'\\n      Exponential distribution: 'EXPONENTIAL'\\n      F distribution: 'F'\\n      Gamma distribution: 'GAMMA'\\n      Generalized Poisson distribution: 'GENPOISSON'\\n      Geometric distribution: 'GEOMETRIC'\\n      Hypergeometric distribution: 'HYPERGEOMETRIC'\\n      Laplace distribution: 'LAPLACE'\\n      Logistic distribution: 'LOGISTIC'\\n      Lognormal'LOGNORMAL'\\n      Negative binomial distribution: 'NEGBINOMIAL'\\n      Normal distribution: 'NORMAL'|'GAUSS'\\n      Normal mixture distribution: 'NORMALMIX'\\n      Pareto distribution: 'PARETO'\\n      Poisson distribution: 'POISSON'\\n      T distribution: 'T'\\n      Tweedie distribution: 'TWEEDIE').\\n      Uniform distribution: 'UNIFORM'\\n      Wald (inverse Gaussian) distribution: 'WALD'|'IGAUSS'\\n      Weibull distribution: 'WEIBULL'\\n\\n      Note: Except for T, F, and NORMALMIX, you can minimally identify any distribution by its first four characters. \\n      \\nquantile\\n  is a numeric constant, variable, or expression that specifies the value of a random variable. \\n  \\nparameter-1, ..., parameter-k\\n  are optional shape, location, or scale parameters appropriate for the specific distribution.\"}},{\"Name\":\"LOWCASE\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Converts all letters in an argument to lowercase.\"}},{\"Name\":\"QLOWCASE\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Converts all letters in an argument to lowercase. QLOWCASE produces a result with \\nspecial characters and mnemonic operators masked.\"}},{\"Name\":\"LPERM\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Computes the logarithm of the PERM function; that is, the logarithm of the number \\nof permutations of n objects, with the option of including r number of elements.\"}},{\"Name\":\"LPNORM\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the Lp norm of the second argument and subsequent non-missing arguments.\"}},{\"Name\":\"MAD\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the median absolute deviation from the median.\"}},{\"Name\":\"MARGRCLPRC\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Calculates call prices for European options on stocks, based on the Margrabe model.\"}},{\"Name\":\"MARGRPTPRC\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Calculates put prices for European options on stocks, based on the Margrabe model.\"}},{\"Name\":\"MAX\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the largest value. At least two arguments are required.\"}},{\"Name\":\"MD5\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the result of the message digest of a specified string. \\n    \\nSyntax: MD5(string)\\nRequired Argument: \\nstring\\n  specifies a character constant, variable, or expression.\\n\\nTip: Enclose a literal string of characters in quotation marks. \\n\\nExample: Generating Results with the MD5 Function\\nThis example generates results that are returned by the MD5 function.\\n  data _null_;\\n  y=md5('abc');\\n  z=md5('access method');\\n  put y=/ y=$hex32.;\\n  put z=/ z=$hex32.;\\n  run;\\n  \\nThe output from this program contains unprintable characters.\"}},{\"Name\":\"MDY\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns a SAS date value from month, day, and year values.\"}},{\"Name\":\"MEAN\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the arithmetic mean (average). At least one non-missing argument is required. \\nOtherwise, the function returns a missing value.\"}},{\"Name\":\"MEDIAN\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the median value.\"}},{\"Name\":\"MIN\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the smalles value. At least two arguments are required.\"}},{\"Name\":\"MINUTE\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the minute from a SAS time or datetime value.\"}},{\"Name\":\"MOD\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the remainder from the division of the first argument by the second argument, \\nfuzzed to avoid most unexpected floating-point results.\"}},{\"Name\":\"MODULEC\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Calls an external routine and returns a character value.\"}},{\"Name\":\"MODULEN\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Calls an external routine and returns a numeric value.\"}},{\"Name\":\"MODZ\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the remainder from the division of the first argument by the second argument, \\nusing zero fuzzing.\"}},{\"Name\":\"MONTH\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the month from a SAS date value.\"}},{\"Name\":\"MOPEN\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Opens a file by directory ID and member name, and returns either the file identifier or a 0.\"}},{\"Name\":\"MORT\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns amortization parameters.\"}},{\"Name\":\"MSPLINT\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the ordinate of a monotonicity-preserving interpolating spline.\"}},{\"Name\":\"N\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the number of non-missing numeric values. At least one argument is required.\"}},{\"Name\":\"NETPV\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the net present value as a fraction.\"}},{\"Name\":\"NLITERAL\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Converts a character string that you specify to a SAS name literal.\"}},{\"Name\":\"NMISS\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the number of missing numeric values. At least one argument is required.\"}},{\"Name\":\"NOTALNUM\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Searches a character string for a non-alphanumeric character, and returns the first position \\nat which the character is found.\"}},{\"Name\":\"NOTALPHA\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Searches a character string for a nonalphabetic character, and returns the first \\nposition at which the character is found.\"}},{\"Name\":\"NOTCNTRL\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Searches a character string for a character that is not a control character, and \\nreturns the first position at which that character is found.\"}},{\"Name\":\"NOTDIGIT\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Searches a character string for any character that is not a digit, and returns the \\nfirst position at which that character is found.\"}},{\"Name\":\"NOTE\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns an observation ID for the current observation of a SAS data set.\"}},{\"Name\":\"NOTFIRST\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Searches a character string for an invalid first character in a SAS variable name under \\nVALIDVARNAME=V7, and returns the first position at which that character is found.\"}},{\"Name\":\"NOTGRAPH\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Searches a character string for a non-graphical character, and returns the first position \\nat which that character is found.\"}},{\"Name\":\"NOTLOWER\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Searches a character string for a character that is not a lowercase letter, and returns \\nthe first position at which that character is found.\"}},{\"Name\":\"NOTNAME\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Searches a character string for an invalid character in a SAS variable name under \\nVALIDVARNAME=V7, and returns the first position at which that character is found.\"}},{\"Name\":\"NOTPRINT\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Searches a character string for a nonprintable character, and returns the first \\nposition at which that character is found.\"}},{\"Name\":\"NOTPUNCT\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Searches a character string for a character that is not a punctuation character, \\nand returns the first position at which that character is found.\"}},{\"Name\":\"NOTSPACE\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Searches a character string for a character that is not a white-space character \\n(blank, horizontal and vertical tab, carriage return, line feed, and form feed), \\nand returns the first position at \\nwhich that character is found.\"}},{\"Name\":\"NOTUPPER\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Searches a character string for a character that is not an uppercase letter, and \\nreturns the first position at which that character is found.\"}},{\"Name\":\"NOTXDIGIT\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Searches a character string for a character that is not a hexadecimal character, \\nand returns the first position at which that character is found.\"}},{\"Name\":\"NPV\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the net present value with the rate expressed as a percentage.\"}},{\"Name\":\"NVALID\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Checks the validity of a character string for use as a SAS variable name.\"}},{\"Name\":\"NWKDOM\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the date for the nth occurrence of a weekday for the specified month and year.\"}},{\"Name\":\"OPEN\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Opens a SAS data set.\"}},{\"Name\":\"ORDINAL\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the kth smallest of the missing and nonmissing values. At least two arguments \\nare required.\"}},{\"Name\":\"PATHNAME\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the physical name of an external file or a SAS library, or returns a blank.\"}},{\"Name\":\"PCTL\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the percentile that corresponds to the percentage. n is a digit from 1 to 5 \\nwhich specifies the definition of the percentile to be computed.\"}},{\"Name\":\"PDF\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns a value from a probability density (mass) distribution. \\n\\nSyntax: PDF(distribution, quantile <, parameter-1, ... , parameter-k>)\\nRequired Arguments:\\ndistribution\\n  Is a character constant, variable, or expression that identifies the distribution. Valid distributions are as follows:\\n\\n      Bernoulli distribution: 'BERNOULLI'\\n      Beta distribution: 'BETA'\\n      Binomial distribution: 'BINOMIAL'\\n      Cauchy distribution: 'CAUCHY'\\n      Chi-Square distribution: 'CHISQUARE'\\n      Conway-Maxwell-Poisson distribution: 'CMP'\\n      Exponential distribution: 'EXPONENTIAL'\\n      F distribution: 'F'\\n      Gamma distribution: 'GAMMA'\\n      Generalized Poisson distribution: 'GENPOISSON'\\n      Geometric distribution: 'GEOMETRIC'\\n      Hypergeometric distribution: 'HYPERGEOMETRIC'\\n      Laplace distribution: 'LAPLACE'\\n      Logistic distribution: 'LOGISTIC'\\n      Lognormal'LOGNORMAL'\\n      Negative binomial distribution: 'NEGBINOMIAL'\\n      Normal distribution: 'NORMAL'|'GAUSS'\\n      Normal mixture distribution: 'NORMALMIX'\\n      Pareto distribution: 'PARETO'\\n      Poisson distribution: 'POISSON'\\n      T distribution: 'T'\\n      Tweedie distribution: 'TWEEDIE').\\n      Uniform distribution: 'UNIFORM'\\n      Wald (inverse Gaussian) distribution: 'WALD'|'IGAUSS'\\n      Weibull distribution: 'WEIBULL'\\n\\n      Note: Except for T, F, and NORMALMIX, you can minimally identify any distribution by its first four characters. \\n      \\nquantile\\n  is a numeric constant, variable, or expression that specifies the value of the random variable.\\n\\nOptional Argument: \\nparameter-1, ..., parameter-k\\n  are optional numeric constants, variables, or expressions that specify the values of shape, location, or \\n  scale parameters that are appropriate for the specific distribution.\"}},{\"Name\":\"PMF\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Alias for the PDF function.\"}},{\"Name\":\"PEEK\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Stores the contents of a memory address in a numeric variable on a 32-bit platform. \\n    \\nInteraction:\\nWhen a SAS server is in a locked-down state, the PEEK function does not execute. \\n\\nSyntax: PEEK(address <, length>)\\nRequired Argument: \\naddress\\n  is a numeric constant, variable, or expression that specifies the memory address.\\n\\nOptional Argument:\\nlength\\n  is a numeric constant, variable, or expression that specifies the data length.\\n  \\n  Default: a 4-byte address pointer\\n  Range: 2\\u20138\"}},{\"Name\":\"PEEKC\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Stores the contents of a memory address in a character variable on a 32-bit platform. \\n    \\nInteraction:\\nWhen a SAS server is in a locked-down state, the PEEKC function does not execute. \\n\\nSyntax: PEEKC(address <, length>)\\n\\nRequired Argument:\\naddress\\n  is a numeric constant, variable, or expression that specifies the memory address.\\n\\nOptional Argument: \\nlength\\n  is a numeric constant, variable, or expression that specifies the data length.\\n\\n  Default: 8, unless the variable length has already been set (for example, by the LENGTH statement)\\n  Range: 1\\u201332,767\"}},{\"Name\":\"PEEKCLONG\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Stores the contents of a memory address in a character variable on 32-bit and 64-bit platforms. \\n    \\nInteraction:\\nWhen a SAS server is in a locked-down state, the PEEKCLONG function does not execute. \\n\\nSyntax: PEEKCLONG(address <, length>)\\nRequired Argument: \\naddress\\n  specifies a character constant, variable, or expression that contains the binary pointer address.\\n\\nOptional Argument:\\nlength\\n  is a numeric constant, variable, or expression that specifies the length of the character data.\\n\\nDefault: 8\\nRange: 1\\u201332,767\\nDetails:\\nIf you do not have access to the memory storage location that you are requesting, the PEEKCLONG \\nfunction returns an Invalid argument error.\"}},{\"Name\":\"PEEKLONG\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Stores the contents of a memory address in a numeric variable on 32-bit and 64-bit platforms. \\n    \\nInteraction:\\nWhen a SAS server is in a locked-down state, the PEEKLONG function does not execute. \\n\\nSyntax: PEEKLONG(address <, length>) \\n\\nRequired Argument:\\naddress\\n  specifies a character constant, variable, or expression that contains the binary pointer address.\\n\\nOptional Argument:\\nlength\\n  is a numeric constant, variable, or expression that specifies the length of the character data.\\n\\n  Default: 4 on 32-bit computers; 8 on 64-bit computers\\n  Range: 1\\u20134 on 32-bit computers; 1\\u20138 on 64-bit computers\\n\\nDetails:\\nIf you do not have access to the memory storage location that you are requesting, the PEEKLONG function \\nreturns an Invalid argument error.\"}},{\"Name\":\"PERM\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Computes the number of permutations of n items that are taken r at a time.\"}},{\"Name\":\"POINT\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Locates an observation that is identified by the NOTE function.\"}},{\"Name\":\"POISSON\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the probability from a Poisson distribution.\"}},{\"Name\":\"PROBBETA\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the probability from a beta distribution.\"}},{\"Name\":\"PROBBNML\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the probability from a binomial distribution.\"}},{\"Name\":\"PROBBNRM\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns a probability from a bivariate normal distribution.\"}},{\"Name\":\"PROBCHI\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the probability from a chi-square distribution.\"}},{\"Name\":\"PROBF\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the probability from an F distribution.\"}},{\"Name\":\"PROBGAM\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the probability from a gamma distribution.\"}},{\"Name\":\"PROBHYPR\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the probability from a hypergeometric distribution.\"}},{\"Name\":\"PROBIT\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns a quantile from the standard normal distribution.\"}},{\"Name\":\"PROBMC\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns a probability or a quantile from various distributions for multiple \\ncomparisons of means.\"}},{\"Name\":\"PROBNEGB\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the probability from a negative binomial distribution.\"}},{\"Name\":\"PROBNORM\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the probability from the standard normal distribution.\"}},{\"Name\":\"PROBT\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the probability from a t distribution.\"}},{\"Name\":\"PROPCASE\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Converts all words in an argument to proper case.\"}},{\"Name\":\"PRXCHANGE\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Performs a pattern-matching replacement.\"}},{\"Name\":\"PRXMATCH\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Searches for a pattern match and returns the position at which the pattern is found.\"}},{\"Name\":\"PRXPAREN\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the last bracket match for which there is a match in a pattern.\"}},{\"Name\":\"PRXPARSE\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Compiles a Perl regular expression (PRX) that can be used for pattern matching of \\na character value.\"}},{\"Name\":\"PRXPOSN\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns a character string that contains the value for a capture buffer.\"}},{\"Name\":\"PTRLONGADD\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the pointer address as a character variable on 32-bit and 64-bit platforms.\"}},{\"Name\":\"PUT\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns a value using a specified format.\"}},{\"Name\":\"PUTC\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Enables you to specify a character format at run time. \\n    \\nSyntax: PUTC(value, format-specification <, w>)\\n\\nRequired Arguments:\\nvalue\\n  specifies a character value to be formatted.format-specification\\n  is a character format that you want to apply to value.\\n  Here are valid format forms:\\n    \\u2022format-name\\n    \\u2022format-name.\\n    \\u2022format-namew. \\n    \\n    Except for format-name, you can use \\u2013L, \\u2013R, and \\u2013C in format-specification to left-align, \\n    right-align, and center your output. For example, you can use 'upcase.-c\\u2019 as the value for \\n    the second argument, format-specification.\\n\\nOptional Argument:\\nw\\n  is a numeric constant, variable, or expression that specifies a width to apply to the format.\\n\\n  Interaction:\\n  If you specify a width here, it overrides any width specification in the format.\"}},{\"Name\":\"PUTN\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Enables you to specify a numeric format at run time. \\n    \\nSyntax: PUTN(value, format-specification <, w <, d>>)\\n\\nRequired Arguments: \\nvalue\\n  specifies a numeric value to be formatted.  \\nformat-specification\\n  is the numeric format that you want to apply to value.\\n  Here are valid format forms:\\n    \\u2022format-name\\n    \\u2022format-name.\\n    \\u2022format-namew.\\n    \\u2022format-namew.d\\n  Except for format-name, you can use \\u2013L, \\u2013R, and \\u2013C in format-specification to left-align, \\n  right-align, and center your output. For example, you can use 'weekdate.-c\\u2019 as the value \\n  for the second argument, format-specification.\\n\\nOptional Arguments:\\nw\\n  is a numeric constant, variable, or expression that specifies a width to apply to the format.\\n\\n  Interaction:\\n  If you specify a width here, it overrides any width specification in the format.\\n\\nd\\n  is a numeric constant, variable, or expression that specifies the number of decimal places to use.\\n  \\n  Interaction:\\n  If you specify a number here, it overrides any decimal-place specification in the format.\"}},{\"Name\":\"PVP\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the present value for a periodic cash flow stream (such as a bond), with repayment of \\nprincipal at maturity.\"}},{\"Name\":\"QTR\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the quarter of the year from a SAS date value.\"}},{\"Name\":\"QUANTILE\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the quantile from a distribution that you specify. \\n    \\nSyntax: QUANTILE(distribution, probability, parameter-1, \\u2026, parameter-k)\\nRequired Arguments: \\ndistribution is a character constant, variable, or expression that identifies the distribution. Valid distributions are as follows:\\n\\n      Bernoulli distribution: 'BERNOULLI'\\n      Beta distribution: 'BETA'\\n      Binomial distribution: 'BINOMIAL'\\n      Cauchy distribution: 'CAUCHY'\\n      Chi-Square distribution: 'CHISQUARE'\\n      Conway-Maxwell-Poisson distribution: 'CMP'\\n      Exponential distribution: 'EXPONENTIAL'\\n      F distribution: 'F'\\n      Gamma distribution: 'GAMMA'\\n      Generalized Poisson distribution: 'GENPOISSON'\\n      Geometric distribution: 'GEOMETRIC'\\n      Hypergeometric distribution: 'HYPERGEOMETRIC'\\n      Laplace distribution: 'LAPLACE'\\n      Logistic distribution: 'LOGISTIC'\\n      Lognormal'LOGNORMAL'\\n      Negative binomial distribution: 'NEGBINOMIAL'\\n      Normal distribution: 'NORMAL'|'GAUSS'\\n      Normal mixture distribution: 'NORMALMIX'\\n      Pareto distribution: 'PARETO'\\n      Poisson distribution: 'POISSON'\\n      T distribution: 'T'\\n      Tweedie distribution: 'TWEEDIE').\\n      Uniform distribution: 'UNIFORM'\\n      Wald (inverse Gaussian) distribution: 'WALD'|'IGAUSS'\\n      Weibull distribution: 'WEIBULL'\\n\\n      Note: Except for T, F, and NORMALMIX, you can minimally identify any distribution by its first four characters. \\n\\nprobability\\n  is a numeric constant, variable, or expression that specifies the value of a random variable. \\nparameter-1, \\u2026, parameter-k\\n  are optional shape, location, or scale parameters appropriate for the specific distribution.\"}},{\"Name\":\"QUOTE\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Adds double quotation marks to a character value.\"}},{\"Name\":\"RAND\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Generates random numbers from a distribution that you specify.\"}},{\"Name\":\"RANEXP\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns a random variate from an exponential distribution.\"}},{\"Name\":\"RANGAM\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns a random variate from a gamma distribution.\"}},{\"Name\":\"RANGE\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the range of the nonmissing values. At least one nonmissing argument is required.\"}},{\"Name\":\"RANK\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the position of a character in the ASCII or EBCDIC collating sequence.\"}},{\"Name\":\"RENAME\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Renames a member of a SAS library, an entry in a SAS catalog, an external file, or a directory.\"}},{\"Name\":\"REPEAT\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns a character value that consists of the first argument repeated n+1 times.\"}},{\"Name\":\"RESOLVE\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the resolved value of the argument after it has been processed by the macro facility.\"}},{\"Name\":\"REVERSE\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Reverses a character string.\"}},{\"Name\":\"REWIND\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Positions the data set pointer at the beginning of a SAS data set.\"}},{\"Name\":\"RIGHT\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Right aligns a character expression.\"}},{\"Name\":\"RMS\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the root mean square of the nonmissing arguments.\"}},{\"Name\":\"ROUND\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Rounds the first argument to the nearest multiple of the second argument, or to the nearest \\ninteger when the second argument is omitted.\"}},{\"Name\":\"ROUNDE\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Rounds the first argument to the nearest multiple of the second argument, and returns an \\neven multiple when the first argument is halfway between the two nearest multiples.\"}},{\"Name\":\"ROUNDZ\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Rounds the first argument to the nearest multiple of the second argument, using \\nzero fuzzing.\"}},{\"Name\":\"SAVING\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the future value of a periodic saving.\"}},{\"Name\":\"SCAN\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the nth word from a character string.\"}},{\"Name\":\"SCANQ\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the nth word from a character expression, ignoring delimiters that are \\nenclosed in quotation marks.\"}},{\"Name\":\"SDF\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns a survival function. \\n    \\nSyntax: SDF(distribution, quantile, parameter-1, ..., parameter-k)\\nRequired Arguments: \\ndistribution\\n  Is a character string that identifies the distribution. Valid distributions are as follows:\\n\\n      Bernoulli distribution: 'BERNOULLI'\\n      Beta distribution: 'BETA'\\n      Binomial distribution: 'BINOMIAL'\\n      Cauchy distribution: 'CAUCHY'\\n      Chi-Square distribution: 'CHISQUARE'\\n      Conway-Maxwell-Poisson distribution: 'CMP'\\n      Exponential distribution: 'EXPONENTIAL'\\n      F distribution: 'F'\\n      Gamma distribution: 'GAMMA'\\n      Generalized Poisson distribution: 'GENPOISSON'\\n      Geometric distribution: 'GEOMETRIC'\\n      Hypergeometric distribution: 'HYPERGEOMETRIC'\\n      Laplace distribution: 'LAPLACE'\\n      Logistic distribution: 'LOGISTIC'\\n      Lognormal'LOGNORMAL'\\n      Negative binomial distribution: 'NEGBINOMIAL'\\n      Normal distribution: 'NORMAL'|'GAUSS'\\n      Normal mixture distribution: 'NORMALMIX'\\n      Pareto distribution: 'PARETO'\\n      Poisson distribution: 'POISSON'\\n      T distribution: 'T'\\n      Tweedie distribution: 'TWEEDIE').\\n      Uniform distribution: 'UNIFORM'\\n      Wald (inverse Gaussian) distribution: 'WALD'|'IGAUSS'\\n      Weibull distribution: 'WEIBULL'\\n\\n      Note: Except for T, F, and NORMALMIX, you can minimally identify any distribution by its first four characters. \\n      \\nquantile\\n  is a numeric constant, variable, or expression that specifies the value of a random variable. \\n  \\nparameter-1, ..., parameter-k\\n  are optional shape, location, or scale parameters appropriate for the specific distribution.\"}},{\"Name\":\"SECOND\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the second from a SAS time or datetime value.\"}},{\"Name\":\"SIGN\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the sign of a value.\"}},{\"Name\":\"SIN\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the sine.\"}},{\"Name\":\"SINH\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the hyperbolic sine.\"}},{\"Name\":\"SKEWNESS\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the skewness of the nonmissing arguments. At least 3 arguments are required.\"}},{\"Name\":\"SLEEP\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"For a specified number of seconds (or fraction thereof), this function suspends the execution of a program that invokes \\nit. From the syntax SLEEP(n, unit), n is the number of seconds to suspend (as a constant, variable or \\nexpression), unless the unit of time is modified by the second argument. The second parameter, unit, \\nis a numeric constant, variable, or expression that specifies the unit of time, as a power of 10, which \\nis applied to n. For example, unit=1 corresponds to a second, unit=0.001 to a millisecond, unit=0.000001 \\nto a microsecond, and so on. Range: n \\u2265 0.\"}},{\"Name\":\"SMALLEST\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the kth smallest nonmissing value.\"}},{\"Name\":\"SOUNDEX\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Encodes a string to facilitate searching.\"}},{\"Name\":\"SPEDIS\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Determines the likelihood of two words matching, expressed as the asymmetric spelling \\ndistance between the two words.\"}},{\"Name\":\"SQRT\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the square root of a value.\"}},{\"Name\":\"STD\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the standard deviation of the nonmissing arguments. At least two nonmissing \\narguments are required.\"}},{\"Name\":\"STDERR\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the standard error of the mean of the nonmissing arguments. At least two \\nnonmissing arguments are required.\"}},{\"Name\":\"STFIPS\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Converts state postal codes to FIPS state codes.\"}},{\"Name\":\"STNAME\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Converts state postal codes to uppercase state names.\"}},{\"Name\":\"STNAMEL\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Converts state postal codes to mixed case state names.\"}},{\"Name\":\"STRIP\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns a character string with all leading and trailing blanks removed.\"}},{\"Name\":\"SUBPAD\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns a substring that has a length you specify, using blank padding if necessary.\"}},{\"Name\":\"SUBSTR\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Extracts a substring from an argument.\"}},{\"Name\":\"QSUBSTR\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"%QSUBSTR produces a substring of a character string, masking special characters and \\nmnemonic operators.\"}},{\"Name\":\"SUBSTRN\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns a substring, allowing a result with a length of zero.\"}},{\"Name\":\"SUM\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the sum of the nonmissing arguments.\"}},{\"Name\":\"SUMABS\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the sum of the absolute values of the non-missing arguments.\"}},{\"Name\":\"SYMEXIST\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns an indication of the existence of a macro variable.\"}},{\"Name\":\"SYMGET\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the value of a macro variable during DATA step execution.\"}},{\"Name\":\"SYMGLOBL\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns an indication of whether a macro variable is in global scope to the DATA \\nstep during DATA step execution.\"}},{\"Name\":\"SYMLOCAL\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns an indication of whether a macro variable is in local scope to the DATA \\nstep during DATA step execution.\"}},{\"Name\":\"SYSMSG\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns error or warning message text from processing the last data set or external \\nfile function.\"}},{\"Name\":\"SYSPARM\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the system parameter string.\"}},{\"Name\":\"SYSPROCESSID\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the process ID of the current process.\"}},{\"Name\":\"SYSPROCESSNAME\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the process name that is associated with a given process ID, or returns \\nthe name of the current process.\"}},{\"Name\":\"SYSPROD\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Determines whether a product is licensed.\"}},{\"Name\":\"SYSRC\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns a system error number.\"}},{\"Name\":\"SYSTEM\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Issues an operating environment command during a SAS session, and returns the \\nsystem return code.\"}},{\"Name\":\"TAN\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the tangent.\"}},{\"Name\":\"TANH\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the hyperbolic tangent.\"}},{\"Name\":\"TIME\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the current time of day as a numeric SAS time value. \\n    \\nInteraction:\\nIf the value of the TIMEZONE= system option is set to a time zone name or time zone ID, the date \\nand time values that are returned for this function are determined by the time zone.\"}},{\"Name\":\"TIMEPART\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Extracts a time value from a SAS datetime value.\"}},{\"Name\":\"TINV\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns a quantile from the t distribution.\"}},{\"Name\":\"TNONCT\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the value of the noncentrality parameter from the Student's t distribution.\"}},{\"Name\":\"TODAY\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the current date as a numeric SAS date value. \\n    \\nAlias: DATE \\n\\nInteraction:\\nIf the value of the TIMEZONE= system option is set to a time zone name or time zone ID, the date \\nand time values that are returned for this function are determined by the time zone.\"}},{\"Name\":\"TRANSLATE\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Replaces specific characters in a character string.\"}},{\"Name\":\"TRANSTRN\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Replaces all occurrences of a substring found in a character string, allowing a \\nzero-length replacement string.\"}},{\"Name\":\"TRANWRD\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Replaces or removes all occurrences of a substring in a character string.\"}},{\"Name\":\"TRIGAMMA\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the value of the trigamma function.\"}},{\"Name\":\"TRIM\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Removes trailing blanks from a character string, and returns one blank if the string \\nis missing.\"}},{\"Name\":\"QTRIM\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Removes trailing blanks from a character string, and returns one blank if the string \\nis missing. QTRIM produces a result with special characters and mnemonic operators \\nmasked.\"}},{\"Name\":\"TRIMN\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Removes trailing blanks from character expressions, and returns a string with a length \\nof zero if the expression is missing.\"}},{\"Name\":\"TRUNC\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Truncates a numeric value to a specified number of bytes.\"}},{\"Name\":\"UNIFORM\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns a random variate from a uniform distribution.\"}},{\"Name\":\"UPCASE\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Converts all letters in an argument to uppercase.\"}},{\"Name\":\"QUPCASE\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Converts all letters in an argument to uppercase. %QUPCASE masks special characters \\nand mnemonic operators in its result.\"}},{\"Name\":\"URLDECODE\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns a string that was decoded using the URL escape syntax.\"}},{\"Name\":\"URLENCODE\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns a string that was encoded using the URL escape syntax.\"}},{\"Name\":\"USS\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the uncorrected sum of squares of the nonmissing arguments. At least one \\nnonmissing argument is required.\"}},{\"Name\":\"UUIDGEN\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the short or binary form of a Universal Unique Identifier (UUID).\"}},{\"Name\":\"VAR\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the variance of the nonmissing arguments. At least two nonmissing arguments \\nare required.\"}},{\"Name\":\"VARFMT\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the format that is assigned to a SAS data set variable.\"}},{\"Name\":\"VARINFMT\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the informat that is assigned to a SAS data set variable.\"}},{\"Name\":\"VARLABEL\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the label that is assigned to a SAS data set variable.\"}},{\"Name\":\"VARLEN\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the length of a SAS data set variable.\"}},{\"Name\":\"VARNAME\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the name of a SAS data set variable.\"}},{\"Name\":\"VARNUM\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the number of a variable's position in a SAS data set.\"}},{\"Name\":\"VARRAY\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns a value that indicates whether the specified name is an array.\"}},{\"Name\":\"VARRAYX\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns a value that indicates whether the value of the specified argument is an array.\"}},{\"Name\":\"VARTYPE\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the data type of a SAS data set variable.\"}},{\"Name\":\"VERIFY\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the position of the first character in a string that is not in any of several \\nother strings.\"}},{\"Name\":\"VFORMAT\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the format that is associated with the specified variable.\"}},{\"Name\":\"VFORMATD\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the decimal value of the format that is associated with the specified variable.\"}},{\"Name\":\"VFORMATDX\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the decimal value of the format that is associated with the value of the \\nspecified argument.\"}},{\"Name\":\"VFORMATN\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the format name that is associated with the specified variable.\"}},{\"Name\":\"VFORMATNX\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the format name that is associated with the value of the specified argument.\"}},{\"Name\":\"VFORMATW\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the format width that is associated with the specified variable.\"}},{\"Name\":\"VFORMATWX\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the format width that is associated with the value of the specified argument.\"}},{\"Name\":\"VFORMATX\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the format that is associated with the value of the specified argument.\"}},{\"Name\":\"VINARRAY\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns a value that indicates whether the specified variable is a member of an array.\"}},{\"Name\":\"VINARRAYX\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns a value that indicates whether the value of the specified argument is a member \\nof an array.\"}},{\"Name\":\"VINFORMAT\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the informat that is associated with the specified variable.\"}},{\"Name\":\"VINFORMATD\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the decimal value of the informat that is associated with the specified variable.\"}},{\"Name\":\"VINFORMATDX\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the decimal value of the informat that is associated with the value of the \\nspecified variable.\"}},{\"Name\":\"VINFORMATN\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the informat name that is associated with the specified variable.\"}},{\"Name\":\"VINFORMATNX\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the informat name that is associated with the value of the specified argument.\"}},{\"Name\":\"VINFORMATW\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the informat width that is associated with the specified variable.\"}},{\"Name\":\"VINFORMATWX\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the informat width that is associated with the value of the specified argument.\"}},{\"Name\":\"VINFORMATX\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the informat that is associated with the value of the specified argument.\"}},{\"Name\":\"VLABEL\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the label that is associated with the specified variable.\"}},{\"Name\":\"VLABELX\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the label that is associated with the value of the specified argument.\"}},{\"Name\":\"VLENGTH\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the compile-time (allocated) size of the specified variable.\"}},{\"Name\":\"VLENGTHX\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the compile-time (allocated) size for the variable that has a name that is the \\nsame as the value of the argument.\"}},{\"Name\":\"VNAME\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the name of the specified variable.\"}},{\"Name\":\"VNAMEX\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Validates the value of the specified argument as a variable name.\"}},{\"Name\":\"VTYPE\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the type (character or numeric) of the specified variable.\"}},{\"Name\":\"VTYPEX\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the type (character or numeric) for the value of the specified argument.\"}},{\"Name\":\"VVALUE\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the formatted value that is associated with the variable that you specify.\"}},{\"Name\":\"VVALUEX\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the formatted value that is associated with the argument that you specify.\"}},{\"Name\":\"WEEK\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the week-number value.\"}},{\"Name\":\"WEEKDAY\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"From a SAS date value, returns an integer that corresponds to the day of the week.\"}},{\"Name\":\"WHICHC\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Searches for a character value that is equal to the first argument, and returns the index \\nof the first matching value.\"}},{\"Name\":\"WHICHN\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Searches for a numeric value that is equal to the first argument, and returns the index \\nof the first matching value.\"}},{\"Name\":\"YEAR\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the year from a SAS date value.\"}},{\"Name\":\"YIELDP\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the yield-to-maturity for a periodic cash flow stream, such as a bond.\"}},{\"Name\":\"YRDIF\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the difference in years between two dates.\"}},{\"Name\":\"YYQ\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns a SAS date value from year and quarter year values.\"}},{\"Name\":\"ZIPCITY\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns a city name and the two-character postal code that corresponds to a zip code.\"}},{\"Name\":\"ZIPCITYDISTANCE\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the geodetic distance between two zip code locations.\"}},{\"Name\":\"ZIPFIPS\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Converts zip codes to two-digit FIPS codes.\"}},{\"Name\":\"ZIPNAME\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Converts zip codes to uppercase state names.\"}},{\"Name\":\"ZIPNAMEL\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Converts zip codes to mixed case state names.\"}},{\"Name\":\"ZIPSTATE\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Converts zip codes to two-character state postal codes.\"}},{\"Name\":\"ASCEBC\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Converts an input character string from ASCII to EBCDIC.\"}},{\"Name\":\"EBCASC\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Converts an input character string from EBCDIC to ASCII.\"}},{\"Name\":\"FILEATTR\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the attribute information for a specified file.\"}},{\"Name\":\"FINDFILE\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Searches a directory for a file.\"}},{\"Name\":\"GETDVI\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns a specified item of information from a device.\"}},{\"Name\":\"GETJPI\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Retrieves job-process information.\"}},{\"Name\":\"GETLOG\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns information about a DCL logical name.\"}},{\"Name\":\"GETMSG\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Translates an OpenVMS error code into text.\"}},{\"Name\":\"GETQUOTA\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Retrieves disk quota information.\"}},{\"Name\":\"GETSYM\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the value of a DCL symbol.\"}},{\"Name\":\"GETTERM\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the characteristics of your terminal device.\"}},{\"Name\":\"NODENAME\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the name of the current node.\"}},{\"Name\":\"PUTLOG\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Creates an OpenVMS logical-name in your process-level logical name table.\"}},{\"Name\":\"PUTSYM\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Creates a DCL symbol in the parent SAS process.\"}},{\"Name\":\"SETTERM\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Modifies a characteristic of your terminal device.\"}},{\"Name\":\"TERMIN\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Allows simple input from SYS$INPUT.\"}},{\"Name\":\"TERMOUT\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Allows simple output to SYS$OUTPUT.\"}},{\"Name\":\"TTCLOSE\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Closes a channel that was previously assigned by TTOPEN.\"}},{\"Name\":\"TTCONTRL\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Modifies the characteristics of a channel that was previously assigned by TTOPEN.\"}},{\"Name\":\"TTOPEN\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Assigns an I/O channel to a terminal.\"}},{\"Name\":\"TTREAD\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Reads characters from the channel assigned by TTOPEN.\"}},{\"Name\":\"TTWRITE\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Writes characters to the channel assigned by TTOPEN.\"}},{\"Name\":\"VMS\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Spawns a subprocess and executes a DCL command.\"}},{\"Name\":\"BQUOTE\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Mask special characters and mnemonic operators in a resolved value at macro execution.\"}},{\"Name\":\"NRBQUOTE\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Mask special characters and mnemonic operators in a resolved value at macro execution.\"}},{\"Name\":\"EVAL\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Evaluates arithmetic and logical expressions using integer arithmetic.\"}},{\"Name\":\"NRQUOTE\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Masks special characters, including & and %, and mnemonic operators in a resolved value \\nat macro execution.\"}},{\"Name\":\"STR\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Masks special characters, excluding & and %, and mnemonic operators in constant text \\nduring macro compilation.\"}},{\"Name\":\"NRSTR\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Masks special characters, including & and %, and mnemonic operators in constant text \\nduring macro compilation.\"}},{\"Name\":\"QSCAN\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Searches for a word and masks special characters and mnemonic operators.\"}},{\"Name\":\"SUPERQ\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Masks all special characters and mnemonic operators at macro execution but prevents \\nfurther resolution of the value.\"}},{\"Name\":\"SYSEVALF\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Evaluates arithmetic and logical expressions using floating-point arithmetic.\"}},{\"Name\":\"SYSFUNC\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Execute SAS functions or user-written functions.\"}},{\"Name\":\"QSYSFUNC\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Execute SAS functions or user-written functions. %QSYSFUNC masks special characters \\nand mnemonic operators such as & % ' \\\" ( ) + - * / < > = \\u00ac ^ ~ ; , #  blank AND OR \\nNOT EQ NE LE LT GE GT IN.\"}},{\"Name\":\"SYSGET\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the value of the specified operating environment variable.\"}},{\"Name\":\"UNQUOTE\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"During macro execution, unmasks all special characters and mnemonic operators \\nfor a value.\"}},{\"Name\":\"CMPRES\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Compress multiple blanks and remove leading and trailing blanks.\"}},{\"Name\":\"QCMPRES\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Compress multiple blanks and remove leading and trailing blanks.  QCMPRES produces \\na result with special characters and mnemonic operators masked.\"}},{\"Name\":\"COMPSTOR\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Compiles macros and stores them in a catalog in a permanent SAS library.\"}},{\"Name\":\"DATATYP\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the data type of a value.\"}},{\"Name\":\"DQCASE\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns a character value with standardized capitalization.\"}},{\"Name\":\"DQGENDER\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns a gender determination from the name of an individual.\"}},{\"Name\":\"DQGENDERINFOGET\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the name of the parse definition that is associated with the specified \\ngender definition.\"}},{\"Name\":\"DQGENDERPARSED\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns a gender determination from the parsed name of an individual.\"}},{\"Name\":\"DQIDENTIFY\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns a category name from a character value.\"}},{\"Name\":\"DQLOCALEGUESS\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the name of the locale that is most likely represented by a character value.\"}},{\"Name\":\"DQLOCALEINFOGET\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns information about locales.\"}},{\"Name\":\"DQLOCALEINFOLIST\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Displays the names of the definitions in a locale and returns a count of those definitions.\"}},{\"Name\":\"DQMATCH\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns a match code from a character value.\"}},{\"Name\":\"DQMATCHINFOGET\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the name of the parse definition that is associated with a match definition.\"}},{\"Name\":\"DQMATCHPARSED\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns a match code from a parsed character value.\"}},{\"Name\":\"DQPARSE\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns a parsed character value.\"}},{\"Name\":\"DQPARSEINFOGET\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the token names in a parse definition.\"}},{\"Name\":\"DQPARSETOKENGET\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns a token from a parsed character value.\"}},{\"Name\":\"DQPARSETOKENPUT\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Inserts a token into a parsed character value and returns the updated parsed \\ncharacter value.\"}},{\"Name\":\"DQPATTERN\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns a pattern analysis from an input character value.\"}},{\"Name\":\"DQSCHEMEAPPLY\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Applies a scheme and returns a transformed value.\"}},{\"Name\":\"DQSRVARCHJOB\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Runs an dfPower Architect job on a DataFlux Integration Server and returns a job \\nidentifier.\"}},{\"Name\":\"DQSRVCOPYLOG\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Copies a job's log file from a DataFlux Integration Server.\"}},{\"Name\":\"DQSRVDELETELOG\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Deletes a job's log file from a DataFlux Integration Server.\"}},{\"Name\":\"DQSRVJOBSTATUS\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the status of a job that was submitted to a DataFlux Integration Server.\"}},{\"Name\":\"DQSRVKILLJOB\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Terminates a job that is running on a DataFlux Integration Server.\"}},{\"Name\":\"DQSRVPROFJOBFILE\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Runs a file-type Profile job on a DataFlux Integration Server and returns a job \\nidentifier.\"}},{\"Name\":\"DQSRVPROFJOBREP\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Runs a repository-type Profile job on a DataFlux Integration Server and returns \\na job identifier.\"}},{\"Name\":\"DQSRVUSER\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Authenticates a user on a DataFlux Integration Server.\"}},{\"Name\":\"DQSTANDARDIZE\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns a character value after standardizing casing, spacing, and format, and \\napplies a common representation to certain words and abbreviations.\"}},{\"Name\":\"DQTOKEN\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns a token from a character value.\"}},{\"Name\":\"EFFRATE\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the effective annual interest rate.\\n    \\nSyntax:\\nEFFRATE(compounding-interval, rate) \\n\\nRequired Arguments:\\ncompounding-interval \\n  is a SAS interval. This value represents how often rate compounds. \\n\\nrate \\n  is numeric. rate is a nominal annual interest rate (expressed as a percentage) that \\n  is compounded at each compounding interval.\"}},{\"Name\":\"MVALID\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Checks the validity of a character string for use as a SAS member name.\\n    \\nSyntax:\\nMVALID(libname, string, memtype<,validmemname>) \\n\\nRequired Arguments:\\nlibname \\n  specifies a character constant, variable, or expression that associates a SAS library \\n  with a libref. Leading and trailing blanks are ignored. \\nstring \\n  specifies a character constant, variable, or expression that is checked to determine \\n  whether its value can be used as a SAS member name. Leading and trailing blanks are ignored. \\nmemtype \\n  specifies a character constant, variable, or expression that is the member type of the \\n  member name that you are using. Leading and trailing blanks are ignored. The value of \\n  memtype is not validated. The following member types are available: \\n\\n    ACCESS specifies access descriptor files that are created by SAS/ACCESS.  \\n    CATALOG specifies SAS catalogs. \\n    DATA specifies SAS data files. \\n    FDB specifies a financial database. \\n    ITEMSTOR specifies a SAS data set that consists of pieces of information that can be \\n      accessed independently. The SAS Registry is an example of an item store.  \\n    MDDB specifies a multidimensional database. \\n    PROGRAM specifies stored compiled SAS programs. \\n    VIEW specifies SAS views. \\n\\nOptional Argument:\\nvalidmemname \\n  specifies a character constant, variable, or expression. The values for validmemname can \\n  be uppercase or lowercase. Leading and trailing blanks are ignored. The following list \\n  contains the values that you can use with validmemname: \\n    COMPAT | COMPATIBLE\\n    EXTEND      \\n    Default: VALIDMEMNAME= is set to COMPAT.\"}},{\"Name\":\"NOMRATE\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the nominal annual interest rate.\\n    \\nSyntax:\\nNOMRATE(compounding-interval, rate) \\n\\nRequired Arguments:\\ncompounding-interval \\n  is a SAS interval. This value represents how often the returned value is compounded. \\nrate \\n  is numeric. rate is the effective annual interest rate (expressed as a percentage) \\n  that is compounded at each interval.\"}},{\"Name\":\"SAVINGS\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the balance of a periodic savings by using variable interest rates.\\n    \\nSyntax:\\nSAVINGS(base-date, initial-deposit-date, deposit-amount, deposit-number, \\ndeposit-interval, compounding-interval, date-1, rate-2 <,date-2, rate-2,...>) \\n\\nRequired Arguments: \\nbase-date \\n  is a SAS date. The value that is returned is the balance of the savings at base-date. \\ninitial-deposit-date \\n  is a SAS date. initial-deposit-date is the date of the first deposit. Subsequent deposits \\n  are at the beginning of subsequent deposit intervals. \\ndeposit-amount \\n  is numeric. All deposits are assumed constant. deposit-amount is the value of each deposit. \\ndeposit-number \\n  is a positive integer. deposit-number is the number of deposits. \\ndeposit-interval \\n  is a SAS interval. deposit-interval is the frequency at which deposits are made. \\ncompounding-interval \\n  is a SAS interval. compounding-interval is the compounding interval. \\ndate \\n  is a SAS date. Each date is paired with a rate. date is the time that rate takes effect. \\nrate \\n  is a numeric percentage. Each rate is paired with a date. rate is the interest rate that \\n  starts on date.\"}},{\"Name\":\"SOAPWEB\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Calls a Web service by using basic Web authentication; credentials are provided in the arguments.\\n    \\nSyntax:\\nSOAPWEB (IN, URL <,options>) \\n\\nRequired Arguments:\\nIN \\n  specifies a character value that is the fileref. IN is used to input XML data that contains the SOAP request. \\nURL \\n  specifies a character value that is the URL of the Web service endpoint. \\n\\nOptional Arguments:\\nOUT \\n  specifies a character value that is the fileref where the SOAP response output XML will be written. \\nSOAPACTION \\n  specifies a character value that is a SOAPAction element to invoke on the Web service. \\nWEBUSERNAME \\n  specifies a character value that is a user name for either basic or NTLM Web authentication. \\nWEBPASSWORD \\n  specifies a character value that is a password for either basic or NTLM Web authentication. \\n  Encodings that are produced by PROC PWENCODE are supported. \\nWEBDOMAIN \\n  specifies a character value that is the domain or realm for the user name and password for NTLM authentication. \\nMUSTUNDERSTAND \\n  specifies a numeric value that is the setting for the mustUnderstand attribute in the SOAP header. \\nPROXYPORT \\n  specifies a numeric value that is an HTTP proxy server port. \\nPROXYHOST \\n  specifies a character value that is an HTTP proxy server host. \\nPROXYUSERNAME \\n  specifies a character value that is an HTTP proxy server user name. \\nPROXYPASSWORD \\n  specifies a character value that is an HTTP proxy server password. Encodings that are produced by PROC PWENCODE are supported. \\nCONFIGFILE \\n  specifies a character value that is a Spring configuration file that is used primarily to set time-out values. \\nDEBUG \\n  specifies a character value that is the full path to a file that is used for debugging logging output.\"}},{\"Name\":\"SOAPWEBMETA\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Calls a Web service by using basic Web authentication; credentials for the authentication \\ndomain are retrieved from metadata. \\n\\nSyntax:\\nSOAPWEBMETA (IN, URL <,options>) \\n\\nRequired Arguments:\\nIN \\n  specifies a character value that is the fileref. IN is used to input XML data that contains the SOAP request. \\nURL \\n  specifies a character value that is the URL of the Web service endpoint. \\n\\nOptional Arguments:\\nOUT \\n  specifies a character value that is the fileref where the SOAP response output XML will be written. \\nSOAPACTION \\n  specifies a character value that is a SOAPAction element to invoke on the Web service. \\nWEBAUTHDOMAIN \\n  specifies a character value that is the authentication domain from which to retrieve a user \\n  name and password from metadata for basic Web authentication. \\nMUSTUNDERSTAND \\n  specifies a numeric value that is the setting for the mustUnderstand attribute in the SOAP header. \\nPROXYPORT \\n  specifies a numeric value that is an HTTP proxy server port. \\nPROXYHOST \\n  specifies a character value that is an HTTP proxy server host. \\nPROXYUSERNAME \\n  specifies a character value that is an HTTP proxy server user name. \\nPROXYPASSWORD \\n  specifies a character value that is an HTTP proxy server password. Encodings that are produced \\n  by PROC PWENCODE are supported. \\nCONFIGFILE \\n  specifies a character value that is a Spring configuration file that is used primarily to set time-out values. \\nDEBUG \\n  specifies a character value that is the full path to a file that is used for debugging logging output.\"}},{\"Name\":\"SOAPWIPSERVICE\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Calls a SAS registered Web service by using WS-Security authentication; credentials \\nare provided in the arguments.\\n\\nSyntax:\\nSOAPWIPSERVICE (IN, SERVICE <,options>) \\n\\nRequired Arguments:\\nIN \\n  specifies a character value that is the fileref. IN is used to input XML data that contains the SOAP request. \\nSERVICE \\n  specifies the service name of the endpoint service as the service is stored in the Service Registry. \\n\\nOptional Arguments:\\nOUT \\n  specifies a character value that is the fileref where the SOAP response output XML will be written. \\nSOAPACTION \\n  specifies a character value that is a SOAPAction element to invoke on the Web service. \\nWSSUSERNAME \\n  specifies a character value that is a WS-Security user name. \\nWSSPASSWORD \\n  specifies a character value that is a WS-Security password, which is the password for WSSUSERNAME. \\n  Encodings that are produced by PROC PWENCODE are supported. \\nENVFILE \\n  specifies a character value that is the location of the SAS environments file. \\nENVIRONMENT \\n  specifies a character value that is the environment defined in the SAS environments file to use. \\nMUSTUNDERSTAND \\n  specifies a numeric value that is the setting for the mustUnderstand attribute in the SOAP header. \\nCONFIGFILE \\n  specifies a character value that is a Spring configuration file that is used primarily to set time-out values. \\nDEBUG \\n  specifies a character value that is the full path to a file that is used for debugging logging output.\"}},{\"Name\":\"SOAPWIPSRS\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Calls a SAS registered Web service by using WS-Security authentication; credentials \\nare provided in the arguments.\\n\\nSyntax:\\nSOAPWIPSRS (IN, URL, SRSURL<,options>) \\n\\nRequired Arguments:\\nIN \\n  specifies a character value that is the fileref. IN is used to input XML data that contains \\n  the SOAP request. \\nURL \\n  specifies a character value that is the URL of the Web service endpoint. \\nSRSURL \\n  specifies a character value that is the URL of the System Registry Service. \\n\\nOptional Arguments:\\nOUT \\n  specifies a character value that is the fileref where the SOAP response output XML will be written. \\nSOAPACTION \\n  specifies a character value that is a SOAPAction element to invoke on the Web service. \\nWSSUSERNAME \\n  specifies a character value that is a WS-Security user name. \\nWSSPASSWORD \\n  specifies a character value that is a WS-Security password, which is the password for WSSUSERNAME. \\n  Encodings that are produced by PROC PWENCODE are supported. \\nMUSTUNDERSTAND \\n  specifies a numeric value that is the setting for the mustUnderstand attribute in the SOAP header. \\nCONFIGFILE \\n  specifies a character value that is a Spring configuration file that is used primarily to set \\n  time-out values. \\nDEBUG \\n  specifies a character value that is the full path to a file that is used for debugging \\n  logging output.\"}},{\"Name\":\"SOAPWS\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Calls a Web service by using WS-Security authentication; credentials are provided \\nin the arguments. \\n\\nSyntax:\\nSOAPWS (IN, URL<,options>) \\n\\nRequired Arguments:\\nIN \\n  specifies a character value that is the fileref. IN is used to input XML data that contains the SOAP request. \\nURL \\n  specifies a character value that is the URL of the Web service endpoint. \\n\\nOptional Arguments:\\nOUT \\n  specifies a character value that is the fileref where the SOAP response output XML will be written. \\nSOAPACTION \\n  specifies a character value that is a SOAPAction element to invoke on the Web service. \\nWSSUSERNAME \\n  specifies a character value that is a WS-Security user name. \\nWSSPASSWORD \\n  specifies a character value that is a WS-Security password, which is the password for WSSUSERNAME. \\n  Encodings that are produced by PROC PWENCODE are supported. \\nMUSTUNDERSTAND \\n  specifies a numeric value that is the setting for the mustUnderstand attribute in the SOAP header. \\nPROXYPORT \\n  specifies a numeric value that is an HTTP proxy server port. \\nPROXYHOST \\n  specifies a character value that is an HTTP proxy server host. \\nPROXYUSERNAME \\n  specifies a character value that is an HTTP proxy server user name. \\nPROXYPASSWORD \\n  specifies a character value that is an HTTP proxy server password. Encodings that are produced \\n  by PROC PWENCODE are supported. \\nCONFIGFILE \\n  specifies a character value that is a Spring configuration file that is used primarily to set time-out values. \\nDEBUG \\n  specifies a character value that is the full path to a file that is used for debugging logging output.\"}},{\"Name\":\"SOAPWSMETA\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Calls a Web service by using WS-Security authentication; credentials for the provided \\nauthentication domain are retrieved from metadata.\\n\\nSyntax: \\nSOAPWSMETA (IN, URL <,options>) \\n\\nRequired Arguments:\\nIN \\n  specifies a character value that is the fileref. IN is used to input XML data that contains the SOAP request. \\nURL \\n  specifies a character value that is the URL of the Web service endpoint. \\n\\nOptional Arguments:\\nOUT \\n  specifies a character value that is the fileref where the SOAP response output XML will be written. \\nSOAPACTION \\n  specifies a character value that is a SOAPAction element to invoke on the Web service. \\nWSSAUTHDOMAIN \\n  specifies a character value that is the authentication domain for which to retrieve credentials \\n  to be used for WS-Security authentication. \\nMUSTUNDERSTAND \\n  specifies a numeric value that is the setting for the mustUnderstand attribute in the SOAP header. \\nPROXYPORT \\n  specifies a numeric value that is an HTTP proxy server port. \\nPROXYHOST \\n  specifies a character value that is an HTTP proxy server host. \\nPROXYUSERNAME \\n  specifies a character value that is an HTTP proxy server user name. \\nPROXYPASSWORD \\n  specifies a character value that is an HTTP proxy server password. Encodings that are produced \\n  by PROC PWENCODE are supported. \\nCONFIGFILE \\n  specifies a character value that is a Spring configuration file that is used primarily to set time-out values. \\nDEBUG \\n  specifies a character value that is the full path to a file that is used for debugging logging output.\"}},{\"Name\":\"SQUANTILE\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the quantile from a distribution when you specify the right probability (SDF). \\n\\nSyntax:\\n  SQUANTILE(dist, probability, parm-1, ... , parm-k) \\n\\nRequired Arguments \\ndist \\n  is a character constant, variable, or expression that identifies the distribution. \\n  Valid distributions are as follows: \\n      Bernoulli  BERNOULLI \\n      Beta  BETA \\n      Binomial  BINOMIAL \\n      Cauchy  CAUCHY \\n      Chi-Square  CHISQUARE \\n      Exponential  EXPONENTIAL \\n      F  F \\n      Gamma  GAMMA \\n      Generalized Poisson  GENPOISSON \\n      Geometric  GEOMETRIC \\n      Hypergeometric  HYPERGEOMETRIC \\n      Laplace  LAPLACE \\n      Logistic  LOGISTIC \\n      Lognormal  LOGNORMAL \\n      Negative binomial  NEGBINOMIAL \\n      Normal  NORMAL|GAUSS \\n      Normal mixture  NORMALMIX \\n      Pareto  PARETO \\n      Poisson  POISSON \\n      T  T \\n      Tweedie  TWEEDIE \\n      Uniform  UNIFORM \\n      Wald (inverse Gaussian)  WALD|IGAUSS \\n      Weibull  WEIBULL \\n\\nprobability \\n  is a numeric constant, variable, or expression that specifies the value of a random variable. \\nparm-1,\\u2026,parm-k \\n  are optional shape, location, or scale parameters that are appropriate for the specific distribution.\"}},{\"Name\":\"SYSEXIST\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns a value that indicates whether an operating-environment variable exists \\nin your environment.\\n\\nSyntax:\\nSYSEXIST (argument) \\n\\nRequired Argument:\\nargument \\n  specifies a character variable that is the name of an operating-environment variable that \\n  you want to test.\"}},{\"Name\":\"TIMEVALUE\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the equivalent of a reference amount at a base date by using variable \\ninterest rates.\\n \\nSyntax: \\nTIMEVALUE(base-date, reference-date, reference-amount, compounding-interval,\\n  date-1, rate-1 <,date-2, rate-2,...>) \\n\\nRequired Arguments:\\nbase-date \\n  is a SAS date. The value that is returned is the time value of reference-amount at base-date. \\nreference-date \\n  is a SAS date. reference-date is the date of reference-amount. \\nreference-amount \\n  is numeric. reference-amount is the amount at reference-date. \\ncompounding-interval \\n  is a SAS interval. compounding-interval is the compounding interval. \\ndate \\n  is a SAS date. Each date is paired with a rate. date is the time that rate takes effect. \\nrate \\n  is a numeric percentage. Each rate is paired with a date. rate is the interest \\n  rate that starts on date.\"}},{\"Name\":\"INVCDF\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"[Valid for PROC FCMP only!]\\n\\nComputes the quantile from any distribution for which you have defined a cumulative \\ndistribution function (CDF).\\n\\nSyntax:\\nquantile=INVCDF('CDF-function-name', options-array, cumulative-probability, \\nparameter-1, parameter-2, ..., parameter-n); \\n\\nRequired Arguments:\\nquantile \\n  specifies the quantile that is returned from the INVCDF function. \\n'CDF-function-name' \\n  specifies the name of the CDF function. Enclose CDF-function-name in quotation marks. \\n\\n  Requirement:CDF-function-name must be a function defined using the FCMP procedure. It must \\n  have a signature as follows: \\n    function <CDF-function-name> (x, parameter-1, parameter-2, \\u2026, parameter-n);\\n    endsub;\\n  \\noptions-array \\n  specifies an array of options to use with the INVCDF function. Options-array is used to \\n  control and monitor the process of inverting the CDF. Options-array can be a missing value (.), \\n  or it can have up to four of the following elements in the following order: \\n    initial-value \\n      specifies the initial guess for the quantile at which the inversion process starts. This is \\n      useful when you have an idea of the approximate value for quantile. The default for initial-value is 0.1. \\n    desired-accuracy \\n      specifies the desired relative accuracy of the quantile. You can specify any value in the range (0,0.1).\\n      The default for desired-accuracy is 1.0e-8.\\n    domain-type \\n      specifies the domain for the CDF function. A missing value or a value of 0 indicates a nonnegative \\n      support, that is [0,\\u221e). Any other value indicates a support over the entire real line, that is (-\\u221e,\\u221e). \\n      The default for domain-type is 0. \\n    return-code \\n      specifies the return status. If options-array is of dimension 4 or more, then the fourth element contains \\n      the return status. Return-code can have one of the following values: \\n        <=0 \\n          indicates success. If negative, then the absolute value is the number of times the CDF function was \\n          evaluated in order to compute the quantile. A larger absolute value indicates longer convergence time. \\n        1 \\n          indicates that the quantile could not be computed. \\ncumulative-probability \\n  specifies the cumulative probability value for which the quantile is desired. This must be in the range [0,1). \\nparameters \\n  specifies the parameters of the distribution at which the quantile is desired. You must specify exactly the \\n  same number of parameters as required by the specified CDF function, and they should appear exactly in the \\n  same order as required by the specified CDF function.\"}},{\"Name\":\"ISNULL\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"[Valid for PROC FCMP only!]\\n\\nDetermines whether a pointer element of a structure is null.\\n\\nSyntax:\\nnumeric-variable = ISNULL(pointer-element); \\n\\nRequired Arguments:\\nnumeric-variable \\n  specifies a numeric value. \\npointer-element \\n  specifies a variable that contains the address of another variable.\"}},{\"Name\":\"LIMMOMENT\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"[Valid for PROC FCMP only!]\\n\\nComputes the limited moment of any distribution for which you have defined a cumulative distribution function (CDF). \\n\\nSyntax:\\nimom=LIMMOMENT('CDF-function-name', options-array, order, limit, \\n\\nparameter-1, parameter-2, parameter-n); \\nRequired Arguments \\nimom \\n  specifies the limited moment that is returned from the LIMMOMENT function.\\n'CDF-function-name' \\n  specifies the name of the CDF function. Enclose CDF-function-name in quotation marks. \\n\\n  Requirement:CDF-function-name must be a function defined using the FCMP procedure. It must \\n  have a signature as follows: \\n    function <CDF-function-name> (x, parameter-1, parameter-2, \\u2026, parameter-n);\\n    endsub;\\n  \\noptions-array \\n  specifies an array of options to use with the LIMMOMENT function. Options-array is used to \\n  control and monitor the process of inverting the CDF. Options-array can be a missing value (.), \\n  or it can have up to four of the following elements in the following order: \\n    initial-value \\n      specifies the initial guess for the quantile at which the inversion process starts. This is \\n      useful when you have an idea of the approximate value for quantile. The default for initial-value is 0.1. \\n    desired-accuracy \\n      specifies the desired relative accuracy of the quantile. You can specify any value in the range (0,0.1).\\n      The default for desired-accuracy is 1.0e-8.\\n    domain-type \\n      specifies the domain for the CDF function. A missing value or a value of 0 indicates a nonnegative \\n      support, that is [0,\\u221e). Any other value indicates a support over the entire real line, that is (-\\u221e,\\u221e). \\n      The default for domain-type is 0. \\n    return-code \\n      specifies the return status. If options-array is of dimension 4 or more, then the fourth element contains \\n      the return status. Return-code can have one of the following values: \\n        <=0 \\n          indicates success. If negative, then the absolute value is the number of times the CDF function was \\n          evaluated in order to compute the quantile. A larger absolute value indicates longer convergence time. \\n        1 \\n          indicates that the quantile could not be computed. \\norder \\n  specifies the order of the desired limited moment. This value must be in the range [1,10]. \\nlimit \\n  specifies the upper limit that is used to compute the desired limited moment. This value must be greater than 0. \\nparameters \\n  specifies the parameters of the distribution at which the limited moment is desired. You must specify exactly \\n  the same number of parameters as required by the specified CDF function, and they should appear exactly in \\n  the same order as required by the specified CDF function.\"}},{\"Name\":\"READ_ARRAY\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"[Valid for PROC FCMP only!]\\n    \\nReads data from a SAS data set into a PROC FCMP array variable.\\n\\nSyntax:\\nrc = READ_ARRAY(data_set_name, array_variable <, 'col_name_1', ..., 'col_name_n'>); \\n\\nRequired Arguments:\\nrc \\n  is 0 if the function is able to successfully read the data set. \\ndata_set_name \\n  specifies the name of the data set from which the array data will be read. data_set_name must be \\n  a character literal or variable that contains the member name (libname.memname) of the data set to \\n  be read from. \\narray_variable \\n  specifies the PROC FCMP array variable into which the data is read. array_variable must be a local \\n  temporary array variable because the function might need to grow or shrink its size to accommodate \\n  the size of the data set. \\n\\nOptional Argument:\\ncol_name \\n  specifies optional names for the specific columns of the data set that will be read. \\n  If specified, col_name must be a literal string enclosed in quotation marks. col_name cannot be a \\n  PROC FCMP variable. If column names are not specified, PROC FCMP reads all of the columns in the data set.\"}},{\"Name\":\"RUN_MACRO\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"[Valid for PROC FCMP only!]\\n\\nExecutes a predefined SAS macro.\\n\\nSyntax:\\nrc = RUN_MACRO('macro_name' <, variable_1, ..., variable_n>); \\n\\nRequired Arguments:\\nrc \\n  is 0 if the function is able to submit the macro. The return code indicates only that the \\n  macro call was attempted. The macro itself should set the value of a SAS macro variable that \\n  corresponds to a PROC FCMP variable to determine whether the macro executed as expected. \\nmacro_name \\n  specifies the name of the macro to be run. \\n  Requirement:macro_name must be a string enclosed in quotation marks or a character variable \\n  that contains the macro to be executed. \\n\\nOptional Argument:\\nvariable \\n  specifies optional PROC FCMP variables, which are set by macro variables of the same name. \\n  These arguments must be PROC FCMP double or character variables. \\n  \\n  Before SAS executes the macro, SAS macro variables are defined with the same name and value \\n  as the PROC FCMP variables. After SAS executes the macro, the macro variable values are copied \\n  back to the corresponding PROC FCMP variables.\"}},{\"Name\":\"RUN_SASFILE\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"[Valid for PROC FCMP only!]\\n    \\nSyntax \\nrc = RUN_SASFILE('fileref_name' <, variable-1, ..., variable-n>); \\n\\nRequired Arguments:\\nrc \\n  is 0 if the function is able to submit a request to execute the code that processes the SAS file. \\n  The return code indicates only that the call was attempted. \\nfileref_name \\n  specifies the name of the SAS fileref that points to the SAS code. \\n  Requirement:fileref_name must be a string enclosed in quotation marks or a character variable \\n  that contains the name of the SAS fileref. \\n\\nOptional Argument:\\nvariable \\n  specifies optional PROC FCMP variables that will be set by macro variables of the same name. \\n  These arguments must be PROC FCMP double or character variables. \\n  \\n  Before SAS executes the code that references the SAS file, the SAS macro variables are defined \\n  with the same name and value as the PROC FCMP variables. After execution, these macro variable \\n  values are copied back to the corresponding PROC FCMP variables.\"}},{\"Name\":\"SOLVE\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"[Valid for PROC FCMP only!]\\n    \\nComputes implicit values of a function.\\n\\nSyntax:\\nanswer = SOLVE('function-name', options-array, expected-value, argument-1, ..., argument-n); \\n\\nRequired Arguments:\\nanswer \\n  specifies the value that is returned from the SOLVE function. \\n'function-name' \\n  specifies the name of the function. Enclose function-name in quotation marks. \\noptions-array \\n  specifies an array of options to use with the SOLVE function. Options-array is used to control and \\n  monitor the root-finding process. Options-array can be a missing value (.), or it can have up to five \\n  of the following elements in the following order:   \\n    initial-value \\n      specifies the starting value for the implied value. The default for the first call is 0.001. If \\n      the same line of code is executed again, then options-array uses the previously found implied value. \\n    absolute-criterion \\n      specifies a value for convergence. The absolute value of the difference between the expected value \\n      and the predicted value must be less than the value of absolute-criterion for convergence. \\n      Default:1.0e\\u201312 \\n    relative-criterion \\n      specifies a value for convergence. When the change in the computed implied value is less than the \\n      value of relative-criterion, then convergence is assumed. \\n      Default:1.0e\\u20136 \\n    maximum-iterations \\n      specifies the maximum number of iterations to use to find the solution. \\n      Default:100 \\n    solve-status \\n      can be one of the following values: \\n        0 successful. \\n        1 could not decrease the error. \\n        2 could not compute a change vector. \\n        3 maximum number of iterations exceeded. \\n        4 initial objective function is missing. \\nexpected-value \\n  specifies the expected value of the function of interest. \\nargument \\n  specifies the arguments to pass to the function that is being minimized.\"}},{\"Name\":\"WRITE_ARRAY\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"[Valid for PROC FCMP only!]\\n    \\nSyntax:\\nrc = WRITE_ARRAY(data_set_name, array_variable <, 'col_name_1', ..., 'col_name_n'>); \\n\\nRequired Arguments:\\nrc \\n  is 0 if the function is able to successfully write the data set. \\ndata_set_name \\n  specifies the name of the data set to which the array data will be written. data_set_name must \\n  be a character literal or variable that contains the member name (libname.memname) of the data \\n  set to be created. \\narray_variable \\n  specifies the PROC FCMP array or matrix variable whose contents will be written to data_set_name. \\n\\nOptional Argument:\\ncol_name \\n  specifies optional names for the columns of the data set that will be created. \\n  If specified, col_name must be a literal string enclosed in quotation marks. col_name cannot be \\n  a PROC FCMP variable. If column names are not specified, the column name will be the array name \\n  with a numeric suffix.\"}},{\"Name\":\"GRDSVC_ENABLE\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"[Valid in: %SYSFUNC or %QSYSFUNC Macro, DATA step]\\n    \\nEnables or disables one or all SAS sessions on a grid. \\n\\nSyntax:\\ngrdsvc_enable(identifier <, option-1; ... option-n> ) \\ngrdsvc_enable(identifier,\\\"\\\" | \\\" ) \\n\\nRequired Argument:\\nidentifier \\n  specifies one or all server sessions to be enabled or disabled for grid execution. The identifier \\n  is specified as follows: \\n  \\n    server-ID \\n      specifies the name of a SAS/CONNECT server session to be enabled or disabled for grid execution. \\n    _ALL_ \\n      specifies that all SAS sessions are enabled or disabled for grid execution. \\n\\nOptional Arguments:\\nSASAPPSERVER=server-value | SERVER=server-value | RESOURCE=server-value\\n  specifies the name of a SAS Application Server that has been defined in the SAS Metadata Repository. \\n  The SAS Application Server contains the definition for the logical grid server that defines the grid environment. \\n\\nWORKLOAD=workload-value \\nidentifies the resource for the job to be executed on the grid. This value specifies an additional \\nresource requirement for which Platform Suite for SAS selects the appropriate grid nodes.\\n\\nJOBNAME=job-name-macro-variable \\nspecifies the macro variable that contains the name that is assigned to the job that is executed on the grid. \\n\\nJOBOPTS=job-opts-macro-variable \\n  specifies the macro variable that contains the job options. The job option name/value pairs are \\n  assigned to job-opts-macro-variable. \\n\\n\\\"\\\" | \\\" \\ndisables grid execution for the specified server ID or all server sessions.\"}},{\"Name\":\"GRDSVC_GETADDR\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"[Valid in: %SYSFUNC or %QSYSFUNC Macro, DATA step] \\n    \\nReports the IP address of the grid node on which the SAS session was chosen to execute. \\n    \\nSyntax:\\ngrdsvc_getaddr(identifier)\\n\\nRequired Argument:\\nidentifier \\n  identifies the server session that is executing on the grid. The identifier can be specified \\n  as follows: \\n\\n    \\\"\\\"| \\\" \\n      is an empty string that is used to refer to the computer on which the function is executing. \\n    \\n    server-ID \\n      specifies the server session that is executing on a grid.\"}},{\"Name\":\"GRDSVC_GETINFO\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"[Valid in: %SYSFUNC or %QSYSFUNC Macro, DATA step] \\n    \\nReports information about the grid environment.\\n\\nSyntax:\\ngrdsvc_getinfo(identifier)\\n\\nRequired Argument:\\nidentifier \\n  specifies the server session or the SAS Application Server whose details you want to have reported \\n  to the SAS log. The identifier is specified as follows: \\n  \\n    server-ID \\n      reports details about the specified server ID. The details that are returned by the GRDSRV_INFO \\n      function reflect the arguments that are specified in the GRDSVC_ENABLE function. \\n      Requirement:A server-ID cannot exceed eight characters. \\n    \\n    _ALL_ \\n      reports details about all server IDs to the SAS log. The details that are returned by the \\n      GRDSRV_INFO function reflect the arguments that are specified in the GRDSVC_ENABLE function. \\n    \\n    SASAPPSERVER=SAS-application-server | SERVER=SAS-application-server | SERVER=SAS-application-server\\n      reports information about the specified SAS Application Server to the SAS log. \\n    \\n    _SHOWID_ \\n      lists each server session and its status: enabled for grid execution, enabled for SMP execution, or disabled.\"}},{\"Name\":\"GRDSVC_GETNAME\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"[Valid in: %SYSFUNC or %QSYSFUNC Macro, DATA step] \\n    \\nReports the name of the grid node on which the SAS grid server session was chosen to execute. \\n\\nSyntax:\\ngrdsvc_getname(identifier)\\n\\nRequired Argument:\\nidentifier \\n  identifies the server session that is executing on the grid. The identifier can be specified as follows: \\n\\n    \\\"\\\" | \\\" \\n      is an empty string that is used to refer to the computer at which the statement is executed. \\n\\n    server-ID \\n      specifies the server session that is executing on a grid. \\n      You use the same server-ID that you used to sign on to a server session using the RSUBMIT \\n      statement or the SIGNON statement.\\n      \\n      If the function is used in a DATA step, enclose server-ID in double or single quotation marks\"}},{\"Name\":\"GRDSVC_NNODES\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"[Valid in: %SYSFUNC or %QSYSFUNC Macro, DATA step] \\n    \\nReports the total number of job slots that are available for use on a grid. \\n\\nSyntax:\\ngrdsvc_nnodes(argument;option) \\n\\nRequired Argument:\\n  SASAPPSERVER=SAS-application-server | SERVER=SAS-application-server | RESOURCE=SAS-application-server\\n    specifies the name of the SAS Application Server that has been defined in the SAS Metadata Repository. \\n\\nOptional Argument:\\n  WORKLOAD=workload-value \\n    identifies the resource for the type of job to be executed on the grid. This value specifies the \\n    workload requirements for which Platform Suite for SAS selects the grid nodes that contain these \\n    resources. \\n    \\n    The specified workload value should match one of the workload values that is defined in the \\n    SAS Application Server in the SAS Metadata Repository. \\n    \\n    Requirement:If you specify WORKLOAD=, you must also specify the SASAPPSERVER= option. Workload \\n    values are case sensitive.\"}},{\"Name\":\"COT\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the cotangent. \\n    \\nSyntax: COT(argument)\\nRequired Argument:\\nargument\\n  specifies a numeric constant, variable, or expression and is expressed in radians.\\n\\n  Restriction: argument cannot be 0 or a multiple of PI.\"}},{\"Name\":\"CSC\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the cosecant. \\n    \\nSyntax: CSC(argument) \\n\\nRequired Argument:\\nargument\\n  specifies a numeric constant, variable, or expression and is expressed in radians.\\n  \\n  Restriction: argument cannot be 0 or a multiple of PI.\"}},{\"Name\":\"DOSUBL\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Imports macro variables from the calling environment, and exports macro variables back to the calling environment. \\n    \\nSyntax: DOSUBL(x)\\nRequired Argument: \\nx\\n  specifies a text string.\\n  \\nDetails:\\nThe DOSUBL function enables the immediate execution of SAS code after a text string is passed. \\nMacro variables that are created or updated during the execution of the submitted code are exported \\nback to the calling environment. \\n\\nDOSUBL returns a value of zero if SAS code was able to execute, and returns a nonzero value if SAS \\ncode was not able to execute.\"}},{\"Name\":\"FCOPY\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Copies records from one fileref to another fileref, and returns a value that indicates whether the \\nrecords were successfully copied. \\n\\nSyntax: FCOPY('fileref-1', 'fileref-2')\\nRequired Arguments:\\n'fileref-1'\\n  specifies an existing fileref from which records are to be copied.\\n'fileref-2'\\n  specifies an existing fileref to which records are to be copied.\\n\\nDetails:\\nValues That Are Returned by the FCOPY Function\\n  FCOPY returns these values:\\n    \\u2022a value of 0 if records were copied without errors or warnings\\n    \\u2022a positive value if an error occurred\\n    \\u2022a negative value if a warning was issued\\n  You can use the SYSMSG function to retrieve error or warning messages, and you can use the SYSRC \\n  function to retrieve the return code.\\n\\nUsing Macro Variables with the FCOPY Function\\n  The following macro variables provide information for the FCOPY function:\\n    \\u2022The &SYSCC and &SYSERR macro variables are set if FCOPY writes an error or warning message to the log.\\n    \\u2022The &SYSCC and &SYSERR macro variables are not set if FCOPY returns a warning return code and there \\n      is no log output from FCOPY.\\n    \\u2022The &SYSERRORTEXT macro variable is set if FCOPY writes an error message to the log.\\n    \\u2022The &SYSWARNINGTEXT macro variable is set if FCOPY writes a warning message to the log.\"}},{\"Name\":\"SEC\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the secant. \\n \\nSyntax: SEC(argument)\\n\\nRequired Argument:\\nargument\\n  specifies a numeric constant, variable, or expression and is expressed in radians.\\n\\n  Restriction: argument cannot be an odd multiple of PI/2.\"}},{\"Name\":\"TYPEOF\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns a value that indicates whether the argument is character or numeric.\\n\\nRestriction:\\nThe TYPEOF function is used exclusively with the Graph Template Language (GTL) and in WHERE clauses, \\nbut not in DATA steps.\\n\\nSyntax: TYPEOF(column) \\n\\nRequired Argument:\\ncolumn\\n  can have one of the following values:\\n  C\\n    indicates that the argument is a character value.\\n  N\\n    indicates that the argument is a numeric value.\"}},{\"Name\":\"TZONEID|TZID\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the current time zone ID.\\n\\nAlias: TZID \\n\\nSyntax: TZID=TZONEID() \\n\\nDetails:\\nThe TZONEID function returns a blank value is the TIMEZONE= option is blank or a user-defined time zone is specified.\"}},{\"Name\":\"TZONENAME\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the current standard or daylight savings time, time zone name.\\n\\nSyntax: TZONENAME() | TZONENAME<time-zone-id>\\n\\nOptional Argument: \\ntime-zone-id\\n  specifies a region/area value that is defined by SAS. When you specify a zone ID, the time zone that SAS uses \\n  is determined by time zone name and daylight savings time rules.\\n\\nDetails:\\nThe TZONENAME function returns a blank value if the TIMEZONE= option is blank.\"}},{\"Name\":\"TZONEOFF\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the user time zone offset.\\n\\nSyntax: TZONEOFF() | TZONEOFF(<time-zone-id, time-zone-name>)\\n\\nOptional Arguments:\\ntime-zone-id\\n  specifies a region/area value that is defined by SAS. When you specify a time zone ID, the time zone \\n  that SAS uses is determined by time zone name and daylight savings time rules.\"}},{\"Name\":\"TZONES2U\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Converts a SAS date time value to a UTC date time value. \\n    \\nSyntax: TZONES2U <datetime, time-zone-name> \\n\\nOptional Arguments: \\ndatetime \\n  specifies a SAS datetime value. \\ntime-zone-name\\n  specifies a predefined time zone. Predefined time zone names take into consideration standard and daylight saving \\n  time, and rules for daylight savings time for that time zone.\"}},{\"Name\":\"TZONEU2S\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Converts a UTC date time value to a SAS date time value. \\n    \\nSyntax: TZONEU2S <time-zone-ID> \\n\\nOptional Argument:\\ntime-zone-ID\\n  specifies a region/area value that is defined by SAS. When you specify a zone ID, the time zone that \\n  SAS uses is determined by time zone name and daylight savings time rules.Note:Time zone IDs are compatible \\n  with Java time zone names.\"}},{\"Name\":\"SHA256\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the result of the message digest of a specified string.\\n\\nSyntax: SHA256(string) \\n\\nRequired Argument:\\nstring\\n  specifies a character constant, variable, or expression.\\n\\nDetails:\\n\\nThe Basics\\n  The SHA256 function converts a string, based on the SHA256 algorithm, to a 256-bit hash value. \\n\\n  The SHA256 function does not format its own output. Use the $BINARYw. or $HEXw. formats to view readable results.\\n\\n  z/OS Specifics\\n  In the z/OS operating environment, because the SHA256 function might be operating on EBCDIC data, the message \\n  digest is different from the ASCII equivalent. For example, SHA256('ABC') on an EBCDIC system means that SHA256 \\n  receives the bytes 'C1C2C3'x and the digest is 5202BF40821662BF1AD7D9C9B558056775D9D6BF8AA1C00492BCA8556B02772F, \\n  whereas on an ASCII system, 'ABC' is '414243'x and the digest is \\n  B5D4045C3F466FA91FE2CC6ABE79232A1A57CDF104F7A26E716E0A1E2789DF78.\"}},{\"Name\":\"CLIBEXIST\",\"Type\":\"CAS_FUNCTION\",\"Help\":{\"#cdata\":\"Syntax: CLIBEXIST(session name,caslib name)\\n    \\nReturns 0 when the specified caslib name is not found and 1 when the caslib is found. \\n\\nArguments:\\nsession name\\n  a valid session name\\ncaslib name\\n  a valid caslib name.\"}},{\"Name\":\"GETCASURL\",\"Type\":\"CAS_FUNCTION\",\"Help\":{\"#cdata\":\"The SAS function GETCASURL returns the URL value for connecting to the CAS Server Monitor \\nfor a CAS server. This function takes no parameters. \\n\\nRequirements: \\no The server name identified by the SAS CASHOST= option is used when constructing the URL. \\n  For example, \\\"rdcgrd001.unx.sas.com\\\". \\n  \\no The SAS SESSREF= option identifies a connection to the server identified by CASHOST=. \\n  This connection is used to obtain additional URL information. \\n\\nExample:\\n%put httpaddr= %sysfunc(getcasurl());\\nhttp://rdcgrd001.unx.sas.com:38281\"}},{\"Name\":\"GETLCASLIB\",\"Type\":\"CAS_FUNCTION\",\"Help\":{\"#cdata\":\"Syntax: GETLCASLIB(libref)\\n    \\nReturns the caslib that was bound to a CAS LIBNAME engine libref in the CASLIB= option when it was assigned. \\n\\nNote:\\nIf a caslib is not bound, then the active caslib is returned.\\n    \\nArgument:\\nlibref\\n  specifies the caslib name that is associated with the library reference. \"}},{\"Name\":\"GETLSESSREF\",\"Type\":\"CAS_FUNCTION\",\"Help\":{\"#cdata\":\"Syntax: GETLSESSREF (libref) \\n\\nReturns the session reference that is associated with a CAS LIBNAME engine libref. \\n\\nArgument:\\nlibref\\n  specifies the session reference name.\"}},{\"Name\":\"GETLTAG\",\"Type\":\"CAS_FUNCTION\",\"Help\":{\"#cdata\":\"Syntax: GETLTAG(libref) \\n\\nReturns the tag that was associated with a CAS LIBNAME engine libref in the TAG= option when it is assigned. \\n\\nNotes:\\nIf a tag was not associated, a zero-length string (\\\"\\\") is returned. \\nThe TAG= option is rarely used. It is useful after loading a server-side file into memory from \\na caslib that enables access to subdirectories with CASL. \\n\\nArgument:\\nlibref\\nspecifies the tag that is associated with the library reference. \"}},{\"Name\":\"SESSFOUND\",\"Type\":\"CAS_FUNCTION\",\"Help\":{\"#cdata\":\"The SAS function SESSFOUND returns 0 when not found and 1 when the session is found. This function only \\nhas access to sessions connected using SAS Client interfaces. To return a full set of sessions known \\nto the CAS server use Proc CAS and the \\\"listsessions\\\" action or the CAS statement. \\n\\n  CAS mySess LISTSESSIONS ;\\n\\nThe SESSFOUND function has one parameter session name. The result is 0 for not found and 1 for found. \\n\\nExample:\\n\\n%put doIExist= %sysfunc(sessfound(mysess));\\ndoIExist= 0\\n \\n%put doIExist= %sysfunc(sessfound(existingSession));\"}},{\"Name\":\"GETSESSOPT\",\"Type\":\"CAS_FUNCTION\",\"Help\":{\"#cdata\":\"The SAS function GETSESSOPT returns the value for a Cloud Analytic Services (CAS) session option.\\n    \\nEach CAS session has a set of server-side session options. \\n\\nThe GETSESSOPT function has two parameters: \\n a session name. \\n a session option name. You can use CAS mysess LISTSESSOPTS; to list the session option names or read \\n    them from the CASSESSOPTS= system option documentation.\\n\\nExample: List the active caslib\\n\\nSpecify code like the following to return the value of the CASLIB option. \\n\\n%put caslib = %sysfunc(GETSESSOPT(mysess, caslib)) ;\\n \\ndata work.one ; \\n  x = GETSESSOPT(\\\"mysess\\\", \\\"caslib\\\") ; \\n  put x= ;\\nrun;\"}},{\"Name\":\"ISDOUBLE\",\"Type\":\"CAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns true if the type of value (parameter) is double; otherwise, it returns false.\\n \\n Boolean  isDouble (value);\"}},{\"Name\":\"ISINTEGER\",\"Type\":\"CAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns true if the type of value (parameter) is integer; otherwise, it returns false.\\n \\n Boolean  isInteger (value);\"}},{\"Name\":\"ISDICTIONARY\",\"Type\":\"CAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns true if the type of value (parameter) is dictionary; otherwise, it returns false.\\n \\n Boolean  isDictionary (value);\"}},{\"Name\":\"ISARRAY\",\"Type\":\"CAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns true if the type of value (parameter) is array; otherwise, it returns false.\\n \\n Boolean  isArray (value);\"}},{\"Name\":\"ISTABLE\",\"Type\":\"CAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns true if the type of value (parameter) is table; otherwise, it returns false.\\n \\n Boolean  isTable (value);\"}},{\"Name\":\"ISLIST\",\"Type\":\"CAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns true if the type of value (parameter) is list; otherwise, it returns false.\\n \\n Boolean  isList (value);\"}},{\"Name\":\"ISSTRING\",\"Type\":\"CAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns true if the type of value (parameter) is string; otherwise, it returns false.\\n \\n Boolean  isString (value);\"}},{\"Name\":\"ISBLOB\",\"Type\":\"CAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns true if the type of value (parameter) is blob; otherwise, it returns false.\\n \\n Boolean  isBlob (value);\"}},{\"Name\":\"ISTYPE\",\"Type\":\"CAS_FUNCTION\",\"Help\":{\"#cdata\":\"This is a generic version where the type is specified as the first argument.\\n    \\nisType( \\\"<type>\\\", value);\"}},{\"Name\":\"NEWTABLE\",\"Type\":\"CAS_FUNCTION\",\"Help\":{\"#cdata\":\"Creates a new table. \\n    \\n  o 1st argument is a list of column names\\n  o 2nd argument is a list of types for each column\\n  o any further arguments are rows to be added to the table \\n  o A table with the given rows is returned. No rows are required.\\n\\nExample:\\n columns = {\\\"make\\\", \\\"MSRP\\\", \\\"HP\\\", \\\"cylinders\\\"};\\n coltypes = {\\\"varchar\\\", \\\"int64\\\", \\\"integer\\\",\\\"int64\\\"};\\n row1 = {\\\"dodge\\\", 20000, 250, 4};\\n row2 = {\\\"ford\\\", 30000, 200, 6};\\n table = newtable( \\\"cars\\\", columns, coltypes, row1, row2,...};\\n \\nThe name of the table can be specified as the first argument, but is not required. The default name is \\\"nodeList\\\".\"}},{\"Name\":\"ADD_TABLE_ATTR\",\"Type\":\"CAS_FUNCTION\",\"Help\":{\"#cdata\":\"The ADD_TABLE_ATTR adds attributes to a table. The first parameter is the table. Then pairs of values are specified as the key and value. \\n\\n  rc =  add_table_attr( table, \\\"Actionset\\\",\\\"tkimstat\\\",  \\\"Action\\\",\\\"Summary\\\");\\n\\nYou may print the attributes of a table as \\n\\n   print table.attr;\"}},{\"Name\":\"DISCARD\",\"Type\":\"CAS_FUNCTION\",\"Help\":{\"#cdata\":\"Discards the variables that are listed as arguments:\\n    \\nx[10] = 1;\\ny = 2;\\ndiscard(x,y);\"}},{\"Name\":\"TABCOLUMNS\",\"Type\":\"CAS_FUNCTION\",\"Help\":{\"#cdata\":\"Gets the columns for a table:\\n    \\n  columns = tabcolumns( table);\"}},{\"Name\":\"TABTYPES\",\"Type\":\"CAS_FUNCTION\",\"Help\":{\"#cdata\":\"Gets the types for a table.\\n    \\n coltypes  = tabtypes( table);\\n\\nThis and the TABCOLUMNS function are useful when creating a new table from an existing table.\"}},{\"Name\":\"PRINTTABLE\",\"Type\":\"CAS_FUNCTION\",\"Help\":{\"#cdata\":\"This prints a table to the specified location. This function allows better control over the output a table \\nas compared to \\\"print table\\\"; \\n\\n printtable(table, \\\"<fileref>\\\", columns)\\n\\nfileref can be:\\n o ods -- uses the default print location with ODS output when appropriate.\\n o log -- uses the default print location, but do not use ODS; uses the internal format routines.\\n o <name> -- uses the named fileref location for output.\\n o file:<path> -- uses the given path as the location for output. This file is closed after the table has been written.\\n\\n\\ncolumns specifies the number of columns to be printed per line.\"}},{\"Name\":\"ADDROW\",\"Type\":\"CAS_FUNCTION\",\"Help\":{\"#cdata\":\"Adds row to table.\\n    \\n  addrow(table,row1);\"}},{\"Name\":\"FINDTABLE\",\"Type\":\"CAS_FUNCTION\",\"Help\":{\"#cdata\":\"This function will search the given value for the first table it sees. This is useful when a result \\nfrom an action has a table result, but you do not know the name, you just know it is there. \\n\\n  table = findtable( result);\"}},{\"Name\":\"TRACEBACK\",\"Type\":\"CAS_FUNCTION\",\"Help\":{\"#cdata\":\"This will return a string consisting of the traceback from the current function.\\n    \\n  tb = traceback();\"}},{\"Name\":\"DICTIONARY\",\"Type\":\"CAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the value of a key from a dictionary. \\n    \\n  y = dictionary(dict, \\\"name\\\");\\n\\nIf the value does not exist, then a 0 is returned.\"}},{\"Name\":\"EXISTS\",\"Type\":\"CAS_FUNCTION\",\"Help\":{\"#cdata\":\"Determines if a key exists in a dictionary. \\n    \\n y = exists(dict,\\\"name\\\");\\n\\nThis returns TRUE or FALSE.\"}},{\"Name\":\"READPATH\",\"Type\":\"CAS_FUNCTION\",\"Help\":{\"#cdata\":\"This will read the contents of the file given into the variable as a string.\"}},{\"Name\":\"SESSIONS\",\"Type\":\"CAS_FUNCTION\",\"Help\":{\"#cdata\":\"Creates a session variable. \\n    \\nThis will get the session named casl:\\n \\n  ses = session(\\\"casl\\\");\\n\\nThis creates a session to \\\"rdcgrd001\\\" on port 17766 with user \\\"username\\\" and 23 nodes:\\n \\n  ses = session(\\\"rdcgrd001\\\", 17766, \\\"username\\\", 23);\\n\\nThe authentication is assumed to be Kerberos.\"}},{\"Name\":\"SORT\",\"Type\":\"CAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns a list sorted in ascending order.\\n\\nExample:\\n  list = { 9, 4, 5.2};\\n  slist = sort( list);\\n  print slist;\\n    {  4, 5.2 9 };\"}},{\"Name\":\"SORT_REV\",\"Type\":\"CAS_FUNCTION\",\"Help\":{\"#cdata\":\"Returns a list sorted in descending order.\\n    \\nExample:\\n  slist = sort_rev( list);\\n  print slist;  \\n    {  9, 5.2, 4 }\"}},{\"Name\":\"GITFN_VERSION\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Syntax: version = GITFN_VERSION();\\n\\nValidate that libgit2 is available for use and if available report the version that is being used.\\n    \\nReturn Values: -1\\n  The libgit2 library is not available for use, no Git operations are available.\\n\\nversion\\n  The major and minor version of the library, such as 0.27.\"}},{\"Name\":\"GITFN_CLONE\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Syntax: rc = GITFN_CLONE(uri,dir,<user>,<password>, <path to pub ssh key file>, <path to private ssh key file>);\\n\\nClone the specified repository into the target directory on SAS server.\\n\\nRequired Arguments\\nuri(in)\\n  Specifies the URI of the repository, such as https://github.com/mamonaco1973/itr.git.\\ndir(in)\\n  The path of a directory on the SAS server for the repository be cloned into.\\n  \\nOptional Arguments\\nuser(in)\\n  User name for a secured repository. Note: When using ssh, the user name must be the ssh user.\\npassword(in)\\n  Password for a secured repository. The password can be encoded with PROC PWENCODE.\\npath to the public ssh key file(in)\\n  The path to the public ssh key file.\\npath to the private ssh key file(in)\\n  The path to the private ssh key file.\\n\\nReturn Values\\n-1 The libgit2 library is not available for use, no Git operations are available.\\n0 The clone operation succeeded.\\n>0 Git support is available, but the clone operation failed. See the log for the return message \\n  from the Git server.\"}},{\"Name\":\"GITFN_STATUS\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Syntax: n = GITFN_STATUS(dir);\\n\\nGet the number of status objects associated with the local repository. \\n\\nRequired Arguments\\ndir(in)\\n The path containing a cloned Git repository on the SAS server.\\nReturn Values\\n -1\\n   The libgit2 library is not available for use, no Git operations are available.\\n -2\\n   Git support is available but the status operation failed. See the log for the return message from the Git server.\\n n\\n   The number of status objects associated with the local repository. This value can be 0 or greater.\"}},{\"Name\":\"GITFN_STATUS_GET\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Syntax: rc = GITFN_STATUS_GET(n,dir,attr,value);\\n    \\nGet the attribute of a status of object that was obtained from calling GITFN_STATUS on the local repository.\\n\\nRequired Arguments\\nn(in) The Nth status object to retrieve attributes from.\\ndir(in) The path containing a cloned GIT repository on the SAS server.\\nattr(in) The attribute to retrieve. Valid attributes are PATH, STATUS and STAGED.\\nvalue(out) Returns the value of the specified attribute.\\n\\nReturn Values\\n-1 The libgit2 library is not available for use, no Git operations are available.\\n-2 GIT support is available but no status objects were found for the specified repository.\\n0 Status object and attribute was found. The value was returned.\\n1 Status object was found, but the specified attribute is not valid.\\n2 Repository status found, but the Nth requested element does not exist.\"}},{\"Name\":\"GITFN_STATUSFREE\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Syntax: n = GITFN_STATUSFREE(dir);\\n    \\nFree the status objects associated with a repository that were acquired with GITFN_STATUS.\\n\\nRequired Arguments\\ndir(in)\\nThe path containing a cloned GIT repository on the SAS server that has previously had GITFN_STATUS called.\\nReturn Values\\n-1\\nThe libgit2 library is not available for use, no GIT operations are available.\\n-2\\nInternal failure.\\n0\\nThe free operation was successful.\\n1\\nNo status information found for the specified repository.\"}},{\"Name\":\"GITFN_IDX_ADD\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Syntax: GITFN_IDX_ADD(dir, file1, fileStatus1, file2, fileStatus2, ...);\\n    \\nStages 1 to N number of files in preparation for commit.\\n\\nRequired Arguments\\ndir(in)\\n  The path of the local Git Repository.\\nfile1(in)\\n  The relative path of the first file to be staged.\\nfileStatus1(in)\\n  The status of the file. New, Modified, Deleted, Renamed, or type change.\"}},{\"Name\":\"GITFN_IDX_REMOVE\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Syntax: GITFN_IDX_REMOVE(dir, file1, file2, ...);\\n    \\nUn-stages 1 to N number of files.\\n\\nRequired Arguments\\ndir(in)\\n  The path of the local GIT Repository.\\nfile1(in)\\n  The relative path of the first file to be staged.\"}},{\"Name\":\"GITFN_COMMIT\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Syntax: GITFN_COMMIT(dir, updateref, authorName, authorEmail, commitMessage);\\n    \\nCommits staged files to the local repository.\\n\\nRequired Arguments\\ndir(in)\\n  The path of the local GIT Repository.\\nupdateref(in)\\n  Reference to update. In most cases \\\"HEAD\\\" should be used.\\nauthorName(in)\\n  Commit author's name.\\nauthorEmail(in)\\n  Commit author's email.\\ncommitMessage(in)\\n  Commit message. Used for providing some details of the commit. Displayed in commit log.\"}},{\"Name\":\"GITFN_PUSH\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Syntax: GITFN_PUSH(dir, username, password, pubSSHKeyPath, privSSHKeyPath);\\n    \\nPushes commits on the local repository to the remote repository.\\n\\nRequired Arguments\\ndir(in)\\n  The path of the local Git Repository.\\nRequired if authentication is required:\\nusername(in)\\n  User name used for authentication.\\npassword(in)\\n  Password used for authentication.\\npubSSHKeyPath(in)\\n  The path to the public SSH key file.\\nprivSSHKeyPath(in)\\n  The path to the private SSH key file.\"}},{\"Name\":\"GITFN_PULL\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Syntax: GITFN_PULL(dir, username, password, pubSSHKeyPath, privSSHKeyPath);\\n\\nPulls changes from the remote repository that were pushed by other users.\\n\\nRequired Arguments\\ndir(in)\\n  The path of the local Git Repository.\\nRequired if authentication is required:\\nusername(in)\\n  User name used for authentication.\\npassword(in)\\n  Password used for authentication.\\npubSSHKeyPath(in)\\n  The path to the public SSH key file.\\nprivSSHKeyPath(in)\\n  The path to the private SSH key file.\"}},{\"Name\":\"GITFN_COMMIT_LOG\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Syntax: n = GITFN_COMMIT_LOG(dir);\\n    \\nGet the number of commit objects associated with the local repository.   \\n    \\nRequired Arguments\\ndir(in)\\n  The path containing a cloned Git repository on the SAS server.\\nReturn Values\\nn\\n  The number of commit objects associated with the local repository. \\n  This value can be 0 or greater.\"}},{\"Name\":\"GITFN_COMMIT_GET\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Syntax: rc = GITFN_COMMIT_GET(n,dir,attr,value);\\n    \\nGet the attribute of a commit object that was obtained from calling GITFN_COMMIT_LOG on the local repository.    \\n    \\nRequired Arguments\\nn(in)\\n  The Nth commit object to retrieve attributes from.\\ndir(in)\\n  The path containing a cloned Git repository on the SAS server.\\nattr(in)\\n  The attribute to retrieve. Valid attributes are id\\\", \\\"author\\\", \\\"email\\\", \\\"message\\\", \\\"parent_ids\\\", and \\\"time.\\\"\\nvalue(out)\\n  Returns the value of the specified attribute.\"}},{\"Name\":\"GITFN_COMMITFREE\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Syntax: n = GITFN_COMMITFREE(dir);\\n\\nFree the commit objects associated with a repository that were acquired with GITFN_COMMIT_LOG.    \\n    \\nRequired Arguments\\ndir(in)\\n  The path containing a cloned Git repository on the SAS server that has previously had GITFN_COMMIT_LOG called.\\nReturn Values\\n-1  The libgit2 library is not available for use, no Git operations are available.\\n-2  Internal failure.\\n0  The free operation was successful.\\n1  No commit information found for the specified repository.\"}},{\"Name\":\"GITFN_DIFF\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Syntax: n = GITFN_DIFF(dir, olderCommitID, newerCommitID);\\n    \\nGet the number of diffs between two commits.\\n  \\nRequired Arguments\\ndir(in)\\n  The path containing a cloned Git repository on the SAS server.\\nolderCommitID(in)\\n  The older of the two commit IDs to run the diff between.\\nnewerCommitID(in)\\n  The newer of the two commit IDs to run the diff between.\\nReturn Values\\nn\\n  The number of diff objects associated with the local repository and \\n  the two commit ids. This value can be 0 or greater.\"}},{\"Name\":\"GITFN_DIFF_GET\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Syntax: rc = GITFN_DIFF_GET(n,dir,attr,value);\\n    \\nRequired Arguments\\nn(in)\\n  The Nth commit object to retrieve attributes from.\\ndir(in)\\n  The path containing a cloned Git repository on the SAS server.\\nattr(in)\\n  The attribute to retrieve. Valid attributes are File, Diff_Content, Diff_type.\\\"\\nvalue(out)\\n  Returns the value of the specified attribute.\"}},{\"Name\":\"GITFN_DIFF_FREE\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Syntax: n = GITFN_DIFF_FREE(dir, olderCommitID, newerCommitID);\\n\\nFree the diff objects associated with a repository and commit ids that were generated with GITFN_DIFF.\\n\\nRequired Arguments\\ndir(in)\\n  The path containing a cloned Git repository on the SAS server that has previously had GITFN_DIFF called.\\nolderCommitID(in)\\n  The commit ID of the older of the two commits.\\nnewerCommitID(in)\\n  The commit ID of the newer of the two commits.\\nReturn Values\\n-1 The libgit2 library is not available for use, no Git operations are available.\\n-2 Internal failure.\\n0 The free operation was successful.\\n1 No diff information found for the specified repository.\"}},{\"Name\":\"GITFN_RESET\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Syntax: n = GITFN_RESET(dir, commitID, reset_type);\\n    \\nFunction to reset the local repository to a specific commit.\\n\\nRequired Arguments\\ndir(in) \\n  The path to the local GIT repository.\\ncommitID(in)\\n  The commit ID to reset to.\\nreset_type(in)\\n  Type of reset desired. HARD (reset working directory and index discard all local changes \\n  including uncommitted), MIXED (leave working directory untouched, reset index), or SOFT \\n  (leave working directory and index untouched)\\nReturn Values\\n0\"}},{\"Name\":\"GITFN_DEL_REPO\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Syntax: n = GITFN_DEL_REPO(dir);\\n    \\nFunction to delete a local Git repository and its contents.   \\n    \\nRequired Arguments\\ndir(in)\\n  The path to the local GIT repository.\\nReturn Values\\n0 on success.\\n-1 on failure.\"}},{\"Name\":\"GITFN_NEW_BRANCH\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Syntax: branch = GITFN_NEW_BRANCH(dir, id, name, force);\\n\\nFunction to create a new Git branch.\\n    \\nRequired Arguments\\ndir(in)\\n  The path to the local Git repository.\\nid(in)\\n  The id of the Git commit level to branch.\\nname(in)\\n  The name to give the new branch.\\nforce(in)\\n  1 if the branch name specified is already in use, replace the branch location with this commit level\\nReturn Values\\n0 - on success.\\n-1 - when an error occurs.\"}},{\"Name\":\"GITFN_CO_BRANCH\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Syntax: rc = GITFN_CO_BRANCH(dir, name);\\n\\nFunction to check out a Git branch.\\n    \\nRequired Arguments\\ndir(in)\\n  The path to the local Git repository.\\nname(in)\\n  The name of the Git branch to check out.\\nReturn Values\\n0 on success.\\n-1 when an error occurs.\"}},{\"Name\":\"GITFN_MRG_BRANCH\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Syntax: rc = GITFN_MRG_BRANCH(path, branch, userid, email);\\n    \\nFunction to merge a Git branch.    \\n    \\nRequired Arguments\\npath(in)\\n  The path to the local Git repository.\\nbranch(in)\\n  The name of the Git branch to merge into the checked-out branch.\\nuserid(in)\\n  The user ID that is invoking the merge.\\nemail(in)\\n  The email address of the user that is invoking the merge.\\nReturn Values\\nrc = 0: success\\nrc = 1: branch already up-to-date\\nrc = -1: merge commit failed\\nrc = -2: index has conflicts, check log for conflicting files.\"}},{\"Name\":\"GITFN_DIFF_IDX_F\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Syntax: rc = GITFN_DIFF_IDX_F(path, file path, DIFF_CONTENT);\\n\\nFunction to get the diff of a file that is in the index.\\n\\nRequired Arguments\\npath(in)\\n  The path to the local Git repository.\\nfile path(in)\\n  The file path relative to the local repository.\\nDIFF_CONTENT(out)\\n  Out variable that holds the content of the diff.\\nReturn Values\\nrc - 0 on success.\\nrc - 1 on failure.\"}},{\"Name\":\"GITFN_RESET_FILE\",\"Type\":\"SAS_FUNCTION\",\"Help\":{\"#cdata\":\"Syntax: rc = GITFN_RESET_FILE(path, file path); \\n    \\nRequired Arguments\\npath(in)\\n  The path to the local Git repository.\\nfile path(in)\\n  The file path relative to the local repository.\\nReturn Values\\nrc - 0 on success.\\nrc - 1 on failure.\"}}],\"#comment\":[{},{},{},{},{},{},{},{},{}]}}"
  },
  {
    "path": "server/data/SASGlobalProcedureStatements.json",
    "content": "{\"Keywords\":{\"Keyword\":[{\"Name\":\"FOOTNOTE\",\"Type\":\"SAS_GLOBAL_STATEMENT\",\"Attributes\":\"ForceColor|Global|NumericSuffix\",\"NumericSuffixStart\":\"1\",\"NumericSuffixEnd\":\"10\",\"Help\":{\"#cdata\":\"Syntax: FOOTNOTE<n ><ods-format-options> <'text' | \\\"text\\\" >; \\n    \\nWrites up to 10 lines of text at the bottom of the procedure or DATA step output.\"}},{\"Name\":\"TITLE\",\"Type\":\"SAS_GLOBAL_STATEMENT\",\"Attributes\":\"ForceColor|Global|NumericSuffix\",\"NumericSuffixStart\":\"1\",\"NumericSuffixEnd\":\"10\",\"Help\":{\"#cdata\":\"Syntax: TITLE<n> <ods-format-options><'text' | \\\"text\\\">; \\n    \\nSpecifies title lines for SAS output.\"}},{\"Name\":\"NOTE\",\"Type\":\"SAS_GLOBAL_STATEMENT\",\"Attributes\":\"ForceColor|Global|NumericSuffix\",\"Help\":{\"#cdata\":\"Syntax: TITLE<n> <ods-format-options><'text' | \\\"text\\\">; \\n    \\nSpecifies title lines for SAS output.\"}},{\"Name\":\"ATTRIB\",\"Type\":\"SAS_GLOBAL_STATEMENT\",\"Help\":{\"#cdata\":\"Syntax: ATTRIB variable-list(s) attribute-list(s) ; \\n      \\nAssociates a format, informat, label, and length with one or more variables.\"}},{\"Name\":\"AXIS\",\"Type\":\"SAS_GLOBAL_STATEMENT\",\"Help\":{\"#cdata\":\"Syntax: AXIS<1...99> <options>; \\n    \\nControls the location, values, and appearance of the axes in plots and charts. \\n\\nUsed by: GBARLINE, GCHART, GCONTOUR, GRADAR, G3D procedures\"}},{\"Name\":\"SYMBOL\",\"Type\":\"SAS_GLOBAL_STATEMENT\",\"Attributes\":\"ForceColor|Global|NumericSuffix\",\"Help\":{\"#cdata\":\"Syntax: SYMBOL<1...255> <COLOR=symbol-color|_style_> \\n  <MODE=EXCLUDE | INCLUDE> <REPEAT=number-of-times> \\n  <STEP=distance<units>> <appearance-option(s)> \\n  <interpolation-option> <SINGULAR=n>; \\n    \\nDefines the characteristics of symbols that display the data plotted by a PLOT \\nstatement used by PROC GBARLINE, PROC GCONTOUR, and PROC GPLOT. \\n\\nUsed by: GBARLINE, GCONTOUR, GPLOT procedures\"}},{\"Name\":\"PATTERN\",\"Type\":\"SAS_GLOBAL_STATEMENT\",\"Attributes\":\"ForceColor|NumericSuffix\",\"Help\":{\"#cdata\":\"Syntax: PATTERN<1...255> <COLOR=pattern-color |_style_> \\n  <REPEAT=number-of-times> \\n  <VALUE=bar/block-pattern | map/plot-pattern | pie/star-pattern >;  \\n    \\nDefines the characteristics of patterns used in graphs. \\n\\nUsed by: GAREABAR, GCHART, GBARLINE, GCONTOUR, GMAP, GPLOT procedures; SYMBOL \\nstatement; Annotate facility.\"}},{\"Name\":\"LEGEND\",\"Type\":\"SAS_GLOBAL_STATEMENT\",\"Attributes\":\"ForceColor|NumericSuffix\",\"Help\":{\"#cdata\":\"Syntax: LEGEND<1...99> <options>; \\n    \\nControls the location and appearance of legends on two-dimensional plots, contour \\nplots, maps, and charts. \\n\\nUsed by: GAREABAR, GCHART, GBARLINE, GCONTOUR, GMAP, GPLOT procedures\"}},{\"Name\":\"RUN\",\"Type\":\"SAS_GLOBAL_STATEMENT\",\"States\":\"RUN\",\"DisplayType\":\"EndSection\",\"Help\":{\"#cdata\":\"Syntax: RUN <CANCEL>; \\n\\nExecutes the previously entered SAS statements. \\n\\nAlthough the RUN statement is not required between steps in a SAS program, using it creates \\na step boundary and can make the SAS log easier to read. \\n\\nArguments:\\n\\nCANCEL \\n  terminates the current step without executing it. SAS prints a message that indicates that the step was not executed. \\n  CAUTION:\\n  The CANCEL option does not prevent execution of a DATA step that contains a DATALINES or DATALINES4 statement. \\n  CAUTION:\\n  The CANCEL option has no effect when you use the KILL option with PROC DATASETS.\"}},{\"Name\":\"RUN CANCEL\",\"Type\":\"SAS_GLOBAL_STATEMENT\",\"States\":\"RUN\",\"DisplayType\":\"EndSection\",\"Help\":{\"#cdata\":\"Syntax: RUN CANCEL;\\n    \\nTerminates the current step without executing it. SAS prints a message that indicates that the step was not executed. \\n\\nCAUTION:\\n  The CANCEL option does not prevent execution of a DATA step that contains a DATALINES or DATALINES4 statement. \\nCAUTION:\\n  The CANCEL option has no effect when you use the KILL option with PROC DATASETS.\"}},{\"Name\":\"QUIT\",\"Type\":\"SAS_GLOBAL_STATEMENT\",\"States\":\"QUIT\",\"DisplayType\":\"EndSection\",\"Help\":{\"#cdata\":\"Quit from the current SAS session.\"}},{\"Name\":\"SYSECHO\",\"Type\":\"SAS_GLOBAL_STATEMENT\",\"Help\":{\"#cdata\":\"Fires a global statement complete event and passes a text string back to the IOM client.\"}},{\"Name\":\"FORMAT\",\"Type\":\"SAS_GLOBAL_STATEMENT\",\"Help\":{\"#cdata\":\"Associates formats with variables.\\n    \\nSyntax:\\n(1) FORMAT variable-1 <... variable-n> <format> <DEFAULT=default-format>;\\n\\n(2) FORMAT variable-1 <... variable-n> format <DEFAULT=default-format>;\\n\\n(3) FORMAT variable-1 <... variable-n> format variable-1 <... variable-n> format;\\n\\nIf you omit DEFAULT=, SAS uses BESTw. as the default numeric format and $w. as the \\ndefault character format.\"}},{\"Name\":\"INFORMAT\",\"Type\":\"SAS_GLOBAL_STATEMENT\",\"Help\":{\"#cdata\":\"Associates informats with variables.\\n    \\nSyntax:\\n(1) INFORMAT variable-1 <...variable-n> <informat>;  \\n(2) INFORMAT <variable-1> <... variable-n> <DEFAULT=default-informat>;  \\n(3) INFORMAT variable-1 <...variable-n> informat <DEFAULT=default-informat>; \"}},{\"Name\":\"OPTIONS\",\"Type\":\"SAS_GLOBAL_STATEMENT\",\"Help\":{\"#cdata\":\"Syntax: OPTIONS <options-list>; \\n    \\nChanges the value of one or more SAS system options.\"}},{\"Name\":\"LABEL\",\"Type\":\"SAS_GLOBAL_STATEMENT\",\"Help\":{\"#cdata\":\"Assigns descriptive labels to variables.\\n\\nSyntax:\\n(1) LABEL variable-1='label-1' ... <variable-n='label-n'>; \\n\\n(2) LABEL variable-1=' ' ... <variable-n=' '>; \"}},{\"Name\":\"WHERE\",\"Type\":\"SAS_GLOBAL_STATEMENT\",\"Help\":{\"#cdata\":\"Syntax: WHERE where-expression-1 \\n  < logical-operator where-expression-n>; \\n  \\nSelects observations from SAS data sets that meet a particular condition.\"}},{\"Name\":\"FILENAME\",\"Type\":\"SAS_GLOBAL_STATEMENT\",\"Help\":{\"#cdata\":\"Associates a SAS fileref with an external file or an output device;\\ndisassociates a fileref and external file; lists attributes of external files.\\n\\nSyntax:\\n\\n(1) FILENAME fileref <device-type> 'external-file' <ENCODING='encoding-value'>\\n    <options><operating-environment-options>;\\n\\n(2) FILENAME fileref <device-type><options> <operating-environment-options>;\\n\\n(3) FILENAME fileref CLEAR | _ALL_ CLEAR;\\n\\n(4) FILENAME fileref LIST | _ALL_ LIST; \\n\\n(5) FILENAME fileref CATALOG 'catalog' <catalog-options>; \\n\\n(6) FILENAME fileref CLIPBRD <BUFFER=paste-buffer-name>; \\n\\n(7) FILENAME fileref EMAIL <'address' ><email-options>; \\n\\n(8) FILENAME fileref FTP 'external-file' <ftp-options>; \\n\\n(9) FILENAME fileref SFTP 'external-file' <sftp-options>; \\n\\n(10) FILENAME fileref SOCKET 'hostname:portno' <tcpip-options>;  \\n\\n(11) FILENAME fileref SOCKET ':portno' SERVER <tcpip-options>;  \\n\\n(12) FILENAME fileref URL 'external-file' <url-options>; \\n\\n(13) FILENAME filref WEBDAV 'external-file' <webdav-options>; \\n\\n(14) FILENAME fileref DDE 'DDE-triplet' <DDE-options>;\"}},{\"Name\":\"LIBNAME\",\"Type\":\"SAS_GLOBAL_STATEMENT\",\"Help\":{\"#cdata\":\"Associates or disassociates a SAS data library with a libref (a shortcut name); \\nclears one or all librefs; lists the characteristics of a SAS data library; \\nconcatenates SAS data libraries; implicitly concatenates SAS catalogs.\\n\\nSyntax:\\n\\n(1) LIBNAME libref <engine> 'SAS-data-library' < options > <engine/host-options>;\\n\\n(2) LIBNAME libref CLEAR | _ALL_ CLEAR;\\n\\n(3) LIBNAME libref LIST | _ALL_ LIST;\\n\\n(4) LIBNAME libref <engine> (library-specification-1 <... library-specification-n>) < options >; \\n\\n(5) LIBNAME libref INFOMAPS MAPPATH=\\\"location\\\" <options>; \\n\\n(6) LIBNAME libref XML <'SAS-library | XML-document-path' > <basic-options> <NLS-options> <advanced-options>; \\n\\n(7) LIBNAME libref SASEDOC 'path' <sasedoc-engine-option> <options>;\\n\\n(8) LIBNAME libref <engine-name> <physical-file-name> <SAS/ACCESS-engine-connection-options> \\n      <SAS/ACCESS-libname-options>;\"}},{\"Name\":\"ODS\",\"Type\":\"SAS_GLOBAL_STATEMENT\",\"Help\":{\"#cdata\":\"ODS statements provide great flexibility in generating, storing, and reproducing SAS \\nprocedure and DATA step output.\"}},{\"Name\":\"PROC\",\"Type\":\"SAS_GLOBAL_STATEMENT\",\"States\":\"PROC\",\"DisplayType\":\"SectionWord\",\"Help\":{\"#cdata\":\"Syntax: PROC procedure-name <options>;\\n\\nAlias: PROCEDURE\\n\\nBegins a PROC step. The PROC step consists of a group of SAS statements that call and execute\\na procedure, usually with a SAS data set as input.\"}},{\"Name\":\"PROCEDURE\",\"Type\":\"SAS_GLOBAL_STATEMENT\",\"States\":\"PROC\",\"DisplayType\":\"SectionWord\",\"Help\":{\"#cdata\":\"Syntax: PROCEDURE procedure-name <options>;\\n\\nAlias: PROC\\n\\nBegins a PROC step. The PROC step consists of a group of SAS statements that call and execute\\na procedure, usually with a SAS data set as input.\"}},{\"Name\":\"DATA\",\"Type\":\"SAS_GLOBAL_STATEMENT\",\"States\":\"DATA\",\"Attributes\":\"ForceColor|NumericSuffix\",\"DisplayType\":\"SectionWord\",\"Help\":{\"#cdata\":\"Begins a DATA step and provides names for any output SAS data sets, views, or programs. \\n    \\nSyntax: \\n    \\n(1) DATA <data-set-name-1 <(data-set-options-1)>> \\n      <... data-set-name-n <(data-set-options-n)>> </ <DEBUG> <NESTING> <STACK = stack-size>> <NOLIST>;  \\n\\n(2) DATA _NULL_ </ <DEBUG> <NESTING> <STACK = stack-size>> <NOLIST>;  \\n\\n(3) DATA view-name <data-set-name-1 <(data-set-options-1)>> \\n      <... data-set-name-n <(data-set-options-n)>> / \\n      VIEW=view-name <(<password-option><SOURCE=source-option>)> <NESTING> <NOLIST>;  \\n\\n(4) DATA data-set-name / PGM=program-name <(<password-option><SOURCE=source-option>)> <NESTING> <NOLIST>;  \\n\\n(5) DATA VIEW=view-name <(password-option)> <NOLIST>;  \\n      DESCRIBE;  \\n \\n(6) DATA PGM=program-name <(password-option)> <NOLIST>;  \\n      <DESCRIBE;>  \\n      <REDIRECT INPUT | OUTPUT old-name-1 = new-name-1<... old-name-n = new-name-n>;>  \\n      <EXECUTE;>\"}}]}}"
  },
  {
    "path": "server/data/SASGlobalStatements.json",
    "content": "{\"Keywords\":{\"Keyword\":[{\"Name\":\"CATNAME\",\"Type\":\"SAS_GLOBAL_STATEMENT\",\"Help\":{\"#cdata\":\"Logically combines two or more catalogs into one by associating them with a catref \\n(a shortcut name); clears one or all catrefs; lists the concatenated catalogs in \\none concatenation or in all concatenations.\\n\\nSyntax:\\n\\n(1) CATNAME <libref.> catref\\n    < (libref-1.catalog-1 <(ACCESS=READONLY)> \\n    <...libref-n.catalog-n <(ACCESS=READONLY)>)> ;\\n\\n(2) CATNAME <libref.> catref CLEAR | _ALL_ CLEAR;\\n\\n(3) CATNAME <libref.> catref LIST | _ALL_ LIST; \"}},{\"Name\":\"FILENAME\",\"Type\":\"SAS_GLOBAL_STATEMENT\",\"Help\":{\"#cdata\":\"Associates a SAS fileref with an external file or an output device;\\ndisassociates a fileref and external file; lists attributes of external files.\\n\\nSyntax:\\n\\n(1) FILENAME fileref <device-type> 'external-file' <ENCODING='encoding-value'>\\n    <options><operating-environment-options>;\\n\\n(2) FILENAME fileref <device-type><options> <operating-environment-options>;\\n\\n(3) FILENAME fileref CLEAR | _ALL_ CLEAR;\\n\\n(4) FILENAME fileref LIST | _ALL_ LIST; \\n\\n(5) FILENAME fileref CATALOG 'catalog' <catalog-options>; \\n\\n(6) FILENAME fileref CLIPBRD <BUFFER=paste-buffer-name>; \\n\\n(7) FILENAME fileref EMAIL <'address' ><email-options>; \\n\\n(8) FILENAME fileref FTP 'external-file' <ftp-options>; \\n\\n(9) FILENAME fileref SFTP 'external-file' <sftp-options>; \\n\\n(10) FILENAME fileref SOCKET 'hostname:portno' <tcpip-options>;  \\n\\n(11) FILENAME fileref SOCKET ':portno' SERVER <tcpip-options>;  \\n\\n(12) FILENAME fileref URL 'external-file' <url-options>; \\n\\n(13) FILENAME filref WEBDAV 'external-file' <webdav-options>; \\n\\n(14) FILENAME fileref DDE 'DDE-triplet' <DDE-options>; \"}},{\"Name\":\"LIBNAME\",\"Type\":\"SAS_GLOBAL_STATEMENT\",\"Help\":{\"#cdata\":\"Associates or disassociates a SAS data library with a libref (a shortcut name); \\nclears one or all librefs; lists the characteristics of a SAS data library; \\nconcatenates SAS data libraries; implicitly concatenates SAS catalogs.\\n\\nSyntax:\\n\\n(1) LIBNAME libref <engine> 'SAS-data-library' < options > <engine/host-options>;\\n\\n(2) LIBNAME libref CLEAR | _ALL_ CLEAR;\\n\\n(3) LIBNAME libref LIST | _ALL_ LIST;\\n\\n(4) LIBNAME libref <engine> (library-specification-1 <... library-specification-n>) < options >; \\n\\n(5) LIBNAME libref INFOMAPS MAPPATH=\\\"location\\\" <options>; \\n\\n(6) LIBNAME libref XML <'SAS-library | XML-document-path' > <basic-options> <NLS-options> <advanced-options>; \\n\\n(7) LIBNAME libref SASEDOC 'path' <sasedoc-engine-option> <options>;\\n\\n(8) LIBNAME libref <engine-name> <physical-file-name> <SAS/ACCESS-engine-connection-options> \\n      <SAS/ACCESS-libname-options>;\\n(9) LIBNAME libref JMP \\u2018path\\u2019 <FMTLIB=libref.format-catalog>; \\n\"}},{\"Name\":\"PAGE\",\"Type\":\"SAS_GLOBAL_STATEMENT\",\"Help\":{\"#cdata\":\"Skips to a new page in the SAS log.\\n\\nSyntax: PAGE; \"}},{\"Name\":\"SKIP\",\"Type\":\"SAS_GLOBAL_STATEMENT\",\"Help\":{\"#cdata\":\"Creates a blank line in the SAS log.\\n\\nSyntax: SKIP <n>; \\n\\nwhere n specifies the number of blank lines that you want to create in the log.\"}},{\"Name\":\"FOOTNOTE\",\"Type\":\"SAS_GLOBAL_STATEMENT\",\"Attributes\":\"ForceColor|Global|NumericSuffix\",\"NumericSuffixStart\":\"1\",\"NumericSuffixEnd\":\"10\",\"Help\":{\"#cdata\":\"Writes up to 10 lines of text at the bottom of the procedure or DATA step output.\\n\\nSyntax: FOOTNOTE<n ><ods-format-options> <'text' | \\\"text\\\" >; \"}},{\"Name\":\"TITLE\",\"Type\":\"SAS_GLOBAL_STATEMENT\",\"Attributes\":\"ForceColor|Global|NumericSuffix\",\"NumericSuffixStart\":\"1\",\"NumericSuffixEnd\":\"10\",\"Help\":{\"#cdata\":\"Specifies title lines for SAS output.\\n    \\nSyntax: TITLE<n> <ods-format-options><'text' | \\\"text\\\">; \"}},{\"Name\":\"ENDSAS\",\"Type\":\"SAS_GLOBAL_STATEMENT\",\"Help\":{\"#cdata\":\"Terminates a SAS job or session after the current DATA or PROC step executes.\\n    \\nSyntax: ENDSAS; \"}},{\"Name\":\"%INCLUDE|%INC\",\"Type\":\"SAS_GLOBAL_STATEMENT\",\"Help\":{\"#cdata\":\"Brings a SAS programming statement, data lines, or both, into a current SAS program.\\n\\nSyntax: %INCLUDE source(s) </<SOURCE2> <S2=length> <operating-environment-options>>; \"}},{\"Name\":\"LOCK\",\"Type\":\"SAS_GLOBAL_STATEMENT\",\"Help\":{\"#cdata\":\"Syntax: LOCK libref<.member-name<.member-type | .entry-name.entry-type>> <LIST | QUERY | SHOW | CLEAR | NOMSG> ; \\n    \\nAcquires and releases an exclusive lock on an existing SAS file.\"}},{\"Name\":\"OPTIONS|OPTION\",\"Type\":\"SAS_GLOBAL_STATEMENT\",\"Help\":{\"#cdata\":\"Syntax: OPTIONS <options-list>; \\n    \\nChanges the value of one or more SAS system options.\"}},{\"Name\":\"GOPTIONS|GOPTION\",\"Type\":\"SAS_GLOBAL_STATEMENT\",\"Help\":{\"#cdata\":\"Syntax: GOPTIONS <options-list>; \\n    \\nTemporarily sets default values for many graphics attributes and device parameters \\nused by SAS/GRAPH procedures.\"}},{\"Name\":\"RUN\",\"Type\":\"SAS_GLOBAL_STATEMENT\",\"States\":\"RUN\",\"DisplayType\":\"EndSection\",\"Help\":{\"#cdata\":\"Syntax: RUN <CANCEL>;\\n    \\nExecutes the previously entered SAS statements. \\n\\nAlthough the RUN statement is not required between steps in a SAS program, using it creates \\na step boundary and can make the SAS log easier to read. \\n\\nArguments:\\n\\nCANCEL \\n  terminates the current step without executing it. SAS prints a message that indicates that the step was not executed. \\n  CAUTION:\\n  The CANCEL option does not prevent execution of a DATA step that contains a DATALINES or DATALINES4 statement. \\n  CAUTION:\\n  The CANCEL option has no effect when you use the KILL option with PROC DATASETS.\"}},{\"Name\":\"RUN CANCEL\",\"Type\":\"SAS_GLOBAL_STATEMENT\",\"States\":\"RUN\",\"DisplayType\":\"EndSection\",\"Help\":{\"#cdata\":\"Syntax: RUN <CANCEL>;\\n    \\nTerminates the current step without executing it. SAS prints a message that indicates that the \\nstep was not executed. \\n\\nCAUTION:\\n  The CANCEL option does not prevent execution of a DATA step that contains a DATALINES or DATALINES4 statement. \\nCAUTION:\\n  The CANCEL option has no effect when you use the KILL option with PROC DATASETS.\"}},{\"Name\":\"%RUN\",\"Type\":\"SAS_GLOBAL_STATEMENT\",\"Help\":{\"#cdata\":\"Syntax: %RUN;\\n    \\nEnds source statements following a %INCLUDE * statement.\"}},{\"Name\":\"%LIST\",\"Type\":\"SAS_GLOBAL_STATEMENT\",\"Help\":{\"#cdata\":\"Displays lines that are entered in the current session. \\n    \\nSyntax: %LIST<n <:m | - m>>; \\n\\nwhere\\n\\nn - means display line n.\\n\\nn-m - means display lines n through m; can be written as n:m\"}},{\"Name\":\"QUIT\",\"Type\":\"SAS_GLOBAL_STATEMENT\",\"States\":\"QUIT\",\"DisplayType\":\"EndSection\",\"Help\":{\"#cdata\":\"Quit from the current SAS session.\"}},{\"Name\":\"SASFILE\",\"Type\":\"SAS_GLOBAL_STATEMENT\",\"Help\":{\"#cdata\":\"Syntax: SASFILE <libref.>member-name<.member-type> <(password-option(s))> OPEN | LOAD | CLOSE ; \\n    \\nOpens a SAS data set and allocates enough buffers to hold the entire file in memory. \\n\\npassword-option(s)\\n  specifies one or more of the following password options:\\n    ENCRYPTKEY=key-value\\n      enables the SASFILE statement to open an AES-encrypted SAS data file. If a SAS data file is encrypted \\n      with the AES (Advanced Encryption Standard) algorithm, a key value is assigned to the file and must be \\n      specified in order to access the file. The key value can be up to 64 bytes long.\\n    \\n    READ=password\\n      enables the SASFILE statement to open a read-protected file. The password must be a valid SAS name.\\n    WRITE=password\\n      enables the SASFILE statement to use the WRITE password to open a file that is both read-protected \\n      and write-protected. The password must be a valid SAS name.\\n    ALTER=password\\n      enables the SASFILE statement to use the ALTER password to open a file that is both read-protected \\n      and alter-protected. The password must be a valid SAS name.\\n    PW=password\\n      enables the SASFILE statement to use the password to open a file that is assigned for all levels of \\n      protection. The password must be a valid SAS name.\"}},{\"Name\":\"PROC\",\"Type\":\"SAS_GLOBAL_STATEMENT\",\"States\":\"PROC\",\"DisplayType\":\"SectionWord\",\"Help\":{\"#cdata\":\"Syntax: PROC procedure-name <options>;\\n    \\nAlias: PROCEDURE\\n    \\nBegins a PROC step. The PROC step consists of a group of SAS statements that call and execute\\na procedure, usually with a SAS data set as input.\"}},{\"Name\":\"PROCEDURE\",\"Type\":\"SAS_GLOBAL_STATEMENT\",\"States\":\"PROC\",\"DisplayType\":\"SectionWord\",\"Help\":{\"#cdata\":\"Syntax: PROCEDURE procedure-name <options>;\\n    \\nAlias: PROC\\n    \\nBegins a PROC step. The PROC step consists of a group of SAS statements that call and execute\\na procedure, usually with a SAS data set as input.\"}},{\"Name\":\"DATA\",\"Type\":\"SAS_GLOBAL_STATEMENT\",\"States\":\"DATA\",\"Attributes\":\"ForceColor|NumericSuffix\",\"DisplayType\":\"SectionWord\",\"Help\":{\"#cdata\":\"Begins a DATA step and provides names for any output SAS data sets, views, or programs. \\n    \\nSyntax: \\n    \\n(1) DATA <data-set-name-1 <(data-set-options-1)>> \\n      <... data-set-name-n <(data-set-options-n)>> </ <DEBUG> <NESTING> <STACK = stack-size>> <NOLIST>;  \\n\\n(2) DATA _NULL_ </ <DEBUG> <NESTING> <STACK = stack-size>> <NOLIST>;  \\n\\n(3) DATA view-name <data-set-name-1 <(data-set-options-1)>> \\n      <... data-set-name-n <(data-set-options-n)>> / \\n      VIEW=view-name <(<password-option><SOURCE=source-option>)> <NESTING> <NOLIST>;  \\n\\n(4) DATA data-set-name / PGM=program-name <(<password-option><SOURCE=source-option>)> <NESTING> <NOLIST>;  \\n\\n(5) DATA VIEW=view-name <(password-option)> <NOLIST>;  \\n      DESCRIBE;  \\n \\n(6) DATA PGM=program-name <(password-option)> <NOLIST>;  \\n      <DESCRIBE;>  \\n      <REDIRECT INPUT | OUTPUT old-name-1 = new-name-1<... old-name-n = new-name-n>;>  \\n      <EXECUTE;>\"}},{\"Name\":\"ODS\",\"Type\":\"SAS_GLOBAL_STATEMENT\",\"Help\":{\"#cdata\":\"Provides a method for delivering output in a variety of formats, and makes the formatted\\n output easy to access.\"}},{\"Name\":\"CHECKPOINT EXECUTE_ALWAYS\",\"Type\":\"SAS_GLOBAL_STATEMENT\",\"Help\":{\"#cdata\":\"Indicates to execute the DATA step or PROC step that immediately follows without considering\\nthe checkpoint-restart data.\"}},{\"Name\":\"SYSECHO\",\"Type\":\"SAS_GLOBAL_STATEMENT\",\"Help\":{\"#cdata\":\"Fires a global statement complete event and passes a text string back to the IOM client.\"}},{\"Name\":\"DM\",\"Type\":\"SAS_GLOBAL_STATEMENT\",\"Help\":{\"#cdata\":\"Submits SAS Program Editor, Log, Procedure Output or text editor commands as SAS statements.\"}},{\"Name\":\"SYMBOL\",\"Type\":\"SAS_GLOBAL_STATEMENT\",\"Attributes\":\"ForceColor|NumericSuffix\",\"Help\":{\"#cdata\":\"Defines the characteristics of symbols that display the data plotted by a PLOT statement used\\nby PROC GBARLINE, PROC GCONTOUR, and PROC GPLOT.\"}},{\"Name\":\"AXIS\",\"Type\":\"SAS_GLOBAL_STATEMENT\",\"Attributes\":\"ForceColor|Global|NumericSuffix\",\"Help\":{\"#cdata\":\"Controls the location, values, and appearance of the axes in plots and charts.\"}},{\"Name\":\"LEGEND\",\"Type\":\"SAS_GLOBAL_STATEMENT\",\"Attributes\":\"ForceColor|NumericSuffix\",\"Help\":{\"#cdata\":\"Controls the location and appearance of legends on two-dimensional plots, contour plots,\\nmaps, and charts.\"}},{\"Name\":\"PATTERN\",\"Type\":\"SAS_GLOBAL_STATEMENT\",\"Attributes\":\"ForceColor|NumericSuffix\",\"Help\":{\"#cdata\":\"Defines the characteristics of patterns used in graphs.\"}},{\"Name\":\"COMMENT\",\"Type\":\"SAS_GLOBAL_STATEMENT\",\"States\":\"COMMENT\",\"Attributes\":\"ForceColor|Global\",\"Help\":{\"#cdata\":\"Specifies the purpose of the statement or program.\"}},{\"Name\":\"RSUBMIT\",\"Type\":\"SAS_GLOBAL_STATEMENT\",\"Help\":{\"#cdata\":\"Syntax: RSUBMIT <options>;  ENDRSUBMIT <CANCEL>;  \\n   RDISPLAY <CONNECTREMOTE=><server-ID;>  \\n   RGET <CONNECTREMOTE=><server-ID>;  \\n   %SYSRPUT macro-variable=value;  \\n   %SYSLPUT macro-variable=value </REMOTE=server-ID>;  \\n   WAITFOR <_ANY_ | _ALL_> task1...taskn <TIMEOUT=seconds>;  \\n   LISTTASK <_ALL_ | task>;  \\n   KILLTASK <_ALL_ | task1...taskn>;  \\n    \\nMarks the beginning of a block of statements that a client session submits to a server\\nsession for execution.\"}},{\"Name\":\"ENDRSUBMIT\",\"Type\":\"SAS_GLOBAL_STATEMENT\",\"Help\":{\"#cdata\":\"Marks the end of a block of statements that a client session submits to a server \\nsession for execution.\"}},{\"Name\":\"RDISPLAY\",\"Type\":\"SAS_GLOBAL_STATEMENT\",\"Help\":{\"#cdata\":\"Syntax: RDISPLAY <<CONNECTREMOTE=>server-ID >;\\n    \\nCreates a Log window to display the lines from the log and an Output window to list \\nthe output generated from the execution of the statements within an asynchronous \\nRSUBMIT block.\"}},{\"Name\":\"RGET\",\"Type\":\"SAS_GLOBAL_STATEMENT\",\"Help\":{\"#cdata\":\"Syntax: RGET <<CONNECTREMOTE=>server-ID>;\\n    \\nRetrieves the log and output that are created by an asynchronous RSUBMIT and merges \\nthem into the Log and Output windows of the client session.\"}},{\"Name\":\"WAITFOR\",\"Type\":\"SAS_GLOBAL_STATEMENT\",\"Help\":{\"#cdata\":\"Syntax: WAITFOR<_ANY_ | _ALL_> taskname <taskname...><TIMEOUT=seconds>;\\n    \\nSuspends execution of the current SAS session until the specified tasks finish \\nexecuting.\"}},{\"Name\":\"LISTTASK\",\"Type\":\"SAS_GLOBAL_STATEMENT\",\"Help\":{\"#cdata\":\"Syntax: LISTTASK <_ALL_|task> ; \\n    \\nLists all active connections or tasks and identifies the execution status of each \\nconnection or task.\"}},{\"Name\":\"KILLTASK\",\"Type\":\"SAS_GLOBAL_STATEMENT\",\"Help\":{\"#cdata\":\"Syntax: KILLTASK _ALL_ |task1...taskn ;\\n    \\nFor asynchronous tasks, forces one or more active tasks or server sessions to \\nterminate immediately.\"}},{\"Name\":\"SIGNON\",\"Type\":\"SAS_GLOBAL_STATEMENT\",\"Help\":{\"#cdata\":\"Syntax: SIGNON <options> \\n    \\nInitiates a connection between a client session and a server session.\"}},{\"Name\":\"SIGNOFF\",\"Type\":\"SAS_GLOBAL_STATEMENT\",\"Help\":{\"#cdata\":\"Syntax: SIGNOFF <options> \\n    \\nEnds the connection between a client session and a server session.\"}},{\"Name\":\"SYSTASK\",\"Type\":\"SAS_GLOBAL_STATEMENT\",\"Help\":{\"#cdata\":\"Syntax: SYSTASK COMMAND \\\"operating system command\\\" \\n  <WAIT | NOWAIT>\\n  <TASKNAME=taskname>\\n  <MNAME=name-var>\\n  <STATUS=stat-var>\\n  <SHELL<=\\\"shell-command\\\">>;  \\n  SYSTASK LIST <_ALL_ | taskname> <STATE> <STATVAR>;  \\n  SYSTASK KILL taskname <taskname...>;   \\n    \\nExecutes, lists, or terminates asynchronous tasks.\"}},{\"Name\":\"X\",\"Type\":\"SAS_GLOBAL_STATEMENT\",\"Help\":{\"#cdata\":\"Syntax: X <'command '>; \\n    \\nEnters operating environment mode or allows you to submit a Windows command without ending\\nyour SAS session.\"}},{\"Name\":\"RESETLINE\",\"Type\":\"SAS_GLOBAL_STATEMENT\",\"Help\":{\"#cdata\":\"RESETLINE; \\n    \\nRestarts the program line numbers in the SAS log to 1.\"}},{\"Name\":\"CAS\",\"Type\":\"CAS_GLOBAL_STATEMENT\",\"Help\":{\"#cdata\":\"Syntax: CAS session-reference-name options;\\nwhere:\\n\\nsession-reference-name is a valid SAS name that is less than 256 characters.\\n\\nThe CAS statement creates, disconnects or terminates a connection from a SAS client to Cloud Analytic Services (CAS).\"}},{\"Name\":\"CASLIB\",\"Type\":\"CAS_GLOBAL_STATEMENT\",\"Help\":{\"#cdata\":\"Syntax: CASLIB caslib-reference-name SESSREF=session-reference  \\n    < LIST | DROP > <PATH=directory-path | DATASOURCE=\\\"param1='value' param2='value'\\\">\\n    <DESCRIPTION=\\\"description\\\"> <SUBDIRS> <SESSION | LOCAL | GLOBAL> <NOTACTIVE>;\\n\\nwhere:\\n\\ncaslib-reference-name\\n  specifies the name of the caslib. _ALL_ is a valid name with the LIST or DROP options. \\n  The length can be up to 256 characters.\\n\\nThe CASLIB statement is used to manage Cloud Analytic Services (CAS) libraries (caslib) in your CAS session. \"}}],\"#comment\":{}}}"
  },
  {
    "path": "server/data/SASInformats.json",
    "content": "{\"Keywords\":{\"Keyword\":[{\"Name\":\"$LOGVSw.\",\"Type\":\"SAS_INFORMAT\",\"Help\":{\"#cdata\":\"Reads a character string that is in left-to-right logical order and then converts \\nthe character string to visual order. \\n\\nw \\n  specifies the width of the input field.\\n\\n  Default: 200 \\n  Range: 1-32000 \\n \\nComparisons:\\nThe $LOGVSw. informat performs processing that is opposite to the LOGVSRw. informat.\"}},{\"Name\":\"$LOGVSRw.\",\"Type\":\"SAS_INFORMAT\",\"Help\":{\"#cdata\":\"Reads a character string that is in right-to-left logical order and then converts \\nthe character string to visual order. \\n\\nSyntax Description:\\n\\nw \\n  specifies the width of the input field.\\n\\n  Default: 200 \\n  Range: 1-32000 \\n \\nComparisons: \\nThe $LOGVSRw. informat performs processing that is opposite to the $LOGVSw. informat.\"}},{\"Name\":\"$VSLOGw.\",\"Type\":\"SAS_INFORMAT\",\"Help\":{\"#cdata\":\"Reads a character string that is in visual order and then converts the character \\nstring to left-to-right logical order. \\n\\nSyntax Description\\n\\nw \\n  specifies the width of the input field.\\n\\n  Default: 200 \\n  Range: 1-32000 \\n \\nComparisons:\\nThe $VSLOGw. informat performs processing that is opposite of the $VSLOGRw. informat.\"}},{\"Name\":\"$VSLOGRw.\",\"Type\":\"SAS_INFORMAT\",\"Help\":{\"#cdata\":\"Reads a character string that is in visual order and then converts the character \\nstring to right-to-left logical order. \\n\\nSyntax Description: \\n\\nw \\n  specifies the width of the input field.\\n\\n  Default: 200 \\n  Range: 1-32000 \\n  \\nComparisons:\\nThe $VSLOGRw. informat performs processing that is opposite of the $VSLOGw. informat.\"}},{\"Name\":\"$ASCIIw.\",\"Type\":\"SAS_INFORMAT\",\"Help\":{\"#cdata\":\"Converts ASCII character data to native format. \\n    \\nSyntax Description: \\nw \\n  specifies the width of the input field. \\n  Default: 1 if the length of the variable is undefined; otherwise, the length of the variable \\n  Range: 1-32767 \\n \\nDetails:\\nIf ASCII is the native format, no conversion occurs.\\n \\nComparisons:\\no On an IBM mainframe system, $ASCIIw. converts ASCII data to EBCDIC.\\n\\no On all other systems, $ASCIIw. behaves like the $CHARw. informat except that the \\ndefault length is different.\\n\\n\"}},{\"Name\":\"$BINARYw.\",\"Type\":\"SAS_INFORMAT\",\"Help\":{\"#cdata\":\"Converts binary data to character data. \\n    \\nSyntax Description: \\nw \\n  specifies the width of the input field. Because eight bits of binary information represent \\n  one character, every eight characters of input that $BINARYw. reads becomes one character \\n  value stored in a variable.\\n\\n  If w< 8, $BINARYw. reads the data as w characters followed by 0s. Thus, $BINARY4. reads the \\n  characters 0101 as 01010000, which converts to an EBCDIC & or an ASCII P. If w> 8 but is not \\n  a multiple of 8, $BINARYw. reads up to the largest multiple of 8 that is less than w before \\n  converting the data.\\n\\n  Default: 8 \\n  Range: 1-32767 \\n \\nDetails:\\nThe $BINARYw. informat does not interpret actual binary data, but it converts a string of \\ncharacters that contains only 0s or 1s as if it is actual binary information. Therefore, \\nuse only the character digits 1 and 0 in the input, with no embedded blanks. $BINARYw. \\nignores leading and trailing blanks.\\n\\nTo read representations of binary codes for unprintable characters, enter an ASCII or \\nEBCDIC equivalent for a particular character as a string of 0s and 1s. The $BINARYw. informat \\nconverts the string to its equivalent character value.\\n\\nComparisons:\\nThe BINARYw. informat reads eight characters of input that contain only 0s or 1s as a binary \\nrepresentation of one byte of numeric data.\\n\\nThe $HEXw. informat reads hexadecimal characters that represent the ASCII or EBCDIC equivalent \\nof character data.\"}},{\"Name\":\"$CHARw.\",\"Type\":\"SAS_INFORMAT\",\"Help\":{\"#cdata\":\"Reads character data with blanks. \\n    \\nSyntax Description:\\nw \\n  specifies the width of the input field.\\n\\n  Default: 8 if the length of the variable is undefined; otherwise, the length of the variable \\n  Range: 1-32767 \\n \\nDetails: \\nThe $CHARw. informat does not trim leading and trailing blanks or convert a single period \\nin the input data field to a blank before storing values. If you use $CHARw. in an INFORMAT \\nor ATTRIB statement within a DATA step to read list input, then by default SAS interprets \\nany blank embedded within data as a field delimiter, including leading blanks.\\n \\nComparisons:\\nThe $CHARw. informat is almost identical to the $w. informat. However $CHARw. does not trim \\nleading blanks or convert a single period in the input data field to a blank, while the \\n$w. informat does.\"}},{\"Name\":\"$CHARZBw.\",\"Type\":\"SAS_INFORMAT\",\"Help\":{\"#cdata\":\"Converts binary 0s to blanks. \\n    \\nSyntax Description: \\nw \\n  specifies the width of the input field.\\n\\n  Default: 1 if the length of the variable is undefined; otherwise, the length of the variable \\n  Range: 1-32767 \\n \\nDetails:\\nThe $CHARZBw. informat does not trim leading and trailing blanks in character data before \\nit stores values.\\n \\nComparisons:\\nThe $CHARZBw. informat is identical to the $CHARw. informat except that $CHARZBw. converts \\nany byte that contains a binary 0 to a blank character.\"}},{\"Name\":\"$EBCDICw.\",\"Type\":\"SAS_INFORMAT\",\"Help\":{\"#cdata\":\"Converts EBCDIC character data to native format. \\n    \\nSyntax Description: \\nw \\n  specifies the width of the input field.\\n  Default: 1 if the length of the variable is undefined; otherwise, the length of the variable \\n  Range: 1-32767 \\n \\nDetails:\\nIf EBCDIC is the native format, no conversion occurs.\\n\\nNote: Any time a text file originates from anywhere other than the local encoding environment, \\nit might be necessary to specify the ENCODING= option on either ASCII or EBCDIC environments.\\n\\nWhen you read an EBCDIC text file on an ASCII platform, it is recommended that you specify the \\nENCODING= option in the FILENAME or INFILE statement. However, if you use the DSD and the DLM= \\nor DLMSTR= options in the FILENAME or INFILE statement, the ENCODING= option is a requirement \\nbecause these options require certain characters in the session encoding (such as quotation \\nmarks, commas, and blanks).\\n\\nThe use of encoding-specific informats should be reserved for use with true binary files; \\nthat is, they contain both character and non-character fields. \\n \\nComparisons:\\no On an IBM mainframe system, $EBCDICw. behaves like the $CHARw. informat.\\no On all other systems, $EBCDICw. converts EBCDIC data to ASCII.\"}},{\"Name\":\"$HEXw.\",\"Type\":\"SAS_INFORMAT\",\"Help\":{\"#cdata\":\"Converts hexadecimal data to character data. \\n    \\nSyntax Description: \\nw \\n  specifies the number of digits of hexadecimal data.\\n\\n  If w=1, $HEXw. pads a trailing hexadecimal 0. If w is an odd number that is greater than 1, \\n  then $HEXw. reads w-1 hexadecimal characters.\\n  Default: 2 \\n  Range: 1-32767 \\n \\nDetails: \\nThe $HEXw. informat converts every two digits of hexadecimal data into one byte of character \\ndata. Use $HEXw. to encode hexadecimal values into a character variable when your input method \\nis limited to printable characters. \\n\\nComparisons: \\nThe HEXw. informat reads two digits of hexadecimal data at a time and converts them into \\none byte of numeric data.\"}},{\"Name\":\"$OCTALw.\",\"Type\":\"SAS_INFORMAT\",\"Help\":{\"#cdata\":\"Converts octal data to character data. \\n    \\nSyntax Description: \\nw \\n  specifies the width of the input field in bits. Because one digit of octal data represents \\n  three bits of binary information, increment the value of w by three for every column of octal \\n  data that $OCTALw. will read.\\n\\n  Default: 3 \\n  Range: 1-32767 \\n \\nDetails:\\nEight bits of binary data represent the code for one digit of character data. Therefore, \\nyou need at least three digits of octal data to represent one digit of character data, \\nwhich includes an extra bit. $OCTALw. treats every three digits of octal data as one digit \\nof character data, ignoring the extra bit.\\n\\nUse $OCTALw. to read octal representations of binary codes for unprintable characters. \\nEnter an ASCII or EBCDIC equivalent for a particular character in octal notation. Then \\nuse $OCTALw. to convert it to its equivalent character value.\\n\\nUse only the digits 0 through 7 in the input, with no embedded blanks. $OCTALw. ignores \\nleading and trailing blanks.\\n \\nComparisons:\\nThe OCTALw. informat reads octal data and converts them into the numeric equivalents.\"}},{\"Name\":\"$PHEXw.\",\"Type\":\"SAS_INFORMAT\",\"Help\":{\"#cdata\":\"Converts packed hexadecimal data to character data. \\n    \\nSyntax Description: \\nw \\n  specifies the number of bytes in the input.\\n  When you use $PHEXw. to read packed hexadecimal data, the length of the variable is the \\n  number of bytes that are required to store the resulting character value, not w. In general, \\n  a character variable whose length is implicitly defined with $PHEXw. has a length of 2w-1.\\n\\n  Default: 2 \\n  Range: 1-32767 \\n \\nDetails:\\nPacked hexadecimal data are like packed decimal data, except that all hexadecimal characters \\nare valid. In packed hexadecimal data, the value of the low-order nibble has no meaning. In \\npacked decimal data, the value of the low-order nibble indicates the sign of the numeric value \\nthat the data represent. The $PHEXw. informat returns a character value and treats the value \\nof the sign nibble as if it were X'F', regardless of its actual value.\\n \\nComparisons: \\nThe PDw.d. informat reads packed decimal data and converts them to numeric data.\"}},{\"Name\":\"$QUOTEw.\",\"Type\":\"SAS_INFORMAT\",\"Help\":{\"#cdata\":\"Removes matching quotation marks from character data. \\n    \\nSyntax Description:\\n\\nw \\n  specifies the width of the input field.\\n\\n  Default: 8 if the length of the variable is undefined; otherwise, the length of the variable \\n  Range: 1-32767\"}},{\"Name\":\"$REVERJw.\",\"Type\":\"SAS_INFORMAT\",\"Help\":{\"#cdata\":\"Reads character data from right to left and preserves blanks. \\n    \\nSyntax Description: \\n\\nw \\n  specifies the width of the input field.\\n\\n  Default: 1 if w is not specified  \\n  Range: 1-32767 \\n\\nComparisons: \\nThe $REVERJw. informat is similar to the $REVERSw. informat except that $REVERSw. informat \\nleft aligns the result by removing all leading blanks.\"}},{\"Name\":\"$REVERSw.\",\"Type\":\"SAS_INFORMAT\",\"Help\":{\"#cdata\":\"Reads character data from right to left and left, and then left aligns the text. \\n    \\nSyntax Description: \\n\\nw \\n  specifies the width of the input field.\\n\\n  Default: 1 if w is not specified  \\n  Range: 1-32767 \\n \\nComparisons:\\nThe $REVERSw. informat is similar to the $REVERJw. informat except that $REVERJw. informat \\npreserves all leading and trailing blanks.\"}},{\"Name\":\"$UCS2Bw.\",\"Type\":\"SAS_INFORMAT\",\"Help\":{\"#cdata\":\"Reads a character string that is encoded in big-endian, 16-bit, universal character \\nset code in 2 octets (UCS2), Unicode encoding, and then converts the character string \\nto the encoding of the current SAS session. \\n\\nSyntax Description: \\nw \\n  specifies the width of the input field. Specify enough width to accommodate the \\n  16-bit size of the Unicode characters.\\n\\n  Default: 8 \\n  Range: 2-32000 \\n \\nComparisons:\\nThe $UCS2Bw. informat performs processing that is opposite of the $UCS2BEw. informat. If \\nyou are processing data within the same operating environment, then use the $UCS2Xw. informat. \\nIf you are processing data from different operating environments, then use the $UCS2Bw. and \\n$UCS2Lw. informats.\"}},{\"Name\":\"$UCS2BEw.\",\"Type\":\"SAS_INFORMAT\",\"Help\":{\"#cdata\":\"Reads a character string that is in the encoding of the current SAS session and then \\nconverts the character string to big-endian, 16-bit, universal character set code in \\n2 octets (UCS2), Unicode encoding. \\n\\nSyntax Description: \\nw \\n  specifies the width of the input field. Specify enough width to accommodate the \\n  16-bit size of the Unicode characters.\\n\\n  Default: 8 \\n  Range: 1-32000 \\n \\nComparisons: \\nThe $UCS2BEw. informat performs processing that is opposite of the $UCS2Bw. informat.\"}},{\"Name\":\"$UCS2Lw.\",\"Type\":\"SAS_INFORMAT\",\"Help\":{\"#cdata\":\"Reads a character string that is encoded in little-endian, 16-bit, universal character \\nset code in 2 octets (UCS2), Unicode encoding, and then converts the character string \\nto the encoding of the current SAS session. \\n\\nSyntax Description: \\nw \\n  specifies the width of the input field. Specify enough width to accommodate the \\n  16-bit size of the Unicode characters.\\n  \\n  Default: 8 \\n  Range: 2-32000 \\n \\nComparisons: \\nThe $UCS2Lw. informat performs processing that is opposite of the $UCS2LEw. informat. \\nIf you are processing data within the same operating environment, then use the $UCS2Xw. \\ninformat. If you are processing data from different operating environments, then use \\nthe $UCS2Bw. and $UCS2Lw. informats.\"}},{\"Name\":\"$UCS2LEw.\",\"Type\":\"SAS_INFORMAT\",\"Help\":{\"#cdata\":\"Reads a character string that is in the encoding of the current SAS session and then \\nconverts the character string to little-endian, 16-bit, universal character set code \\nin 2 octets (UCS2), Unicode encoding. \\n\\nSyntax Description: \\nw \\n  specifies the width of the input field. Specify enough width to accommodate the \\n  16-bit size of the Unicode characters.\\n\\n  Default: 8 \\n  Range: 1-32000 \\n \\nComparisons:\\nThe $UCS2LEw. informat performs processing that is opposite of the $UCS2Lw. informat.\"}},{\"Name\":\"$UCS2Xw.\",\"Type\":\"SAS_INFORMAT\",\"Help\":{\"#cdata\":\"Reads a character string that is encoded in 16-bit, universal character set code in \\n2 octets (UCS2), Unicode encoding, and then converts the character string to the \\nencoding of the current SAS session. \\n\\nSyntax Description: \\n  w \\n  specifies the width of the output field. Specify enough width to accommodate the \\n  16-bit size of the Unicode characters.\\n\\n  Default: 8 \\n  Range: 2-32000 \\n \\nComparisons: \\nThe $UCS2Xw. informat performs processing that is the opposite of the $UCS2XEw. informat. \\nIf you are processing data within the same operating environment, then use the $UCS2Xw. \\ninformat. If you are processing data from different operating environments, then use the \\n$UCS2Bw. and $UCS2Lw. informats.\"}},{\"Name\":\"$UCS2XEw.\",\"Type\":\"SAS_INFORMAT\",\"Help\":{\"#cdata\":\"Reads a character string that is in the encoding of the current SAS session and then \\nconverts the character string to 16-bit, universal character set code in 2 octets \\n(UCS2), Unicode encoding. \\n\\nSyntax Description: \\n\\n  w \\n  specifies the width of the input field. Specify enough width to accommodate the \\n  16-bit size of the Unicode characters.\\n\\n  Default: 8 \\n  Range: 1-32000 \\n \\nComparisons:\\nThe $UCS2XEw. informat performs processing that is opposite of the $UCS2Xw. informat.\"}},{\"Name\":\"$UCS4Bw.\",\"Type\":\"SAS_INFORMAT\",\"Help\":{\"#cdata\":\"Reads a character string that is encoded in big-endian, 32-bit, universal character \\nset code in 4 octets (UCS4), Unicode encoding, and then converts the character \\nstring to the encoding of the current SAS session. \\n\\nSyntax Description: \\nw \\n  specifies the width of the input field. Specify enough width to accommodate the \\n  32-bit size of the Unicode characters.\\n\\n  Default: 4 \\n  Range: 4-32000 \\n \\nComparison:\\nIf you are processing data within the same operating environment, then use the $UCS4Xw. \\ninformat. If you are processing data from different operating environments, then use the \\n$UCS4Bw. and $UCS4Lw. informats.\"}},{\"Name\":\"$UCS4Lw.d\",\"Type\":\"SAS_INFORMAT\",\"Help\":{\"#cdata\":\"Reads a character string that is encoded in little-endian, 32-bit, universal character \\nset code in 4 octets (UCS4), Unicode encoding, and then converts the character string \\nto the encoding of the current SAS session. \\n\\nSyntax Description: \\nw \\n  specifies the width of the input field. Specify enough width to accommodate the \\n  32-bit size of the Unicode characters.\\n\\n  Default: 4 \\n  Range: 4-32000 \\n \\nComparison: \\nIf you are processing data within the same operating environment, then use the $UCS4Xw. \\ninformat. If you are processing data from different operating environments, then use the \\n$UCS4Bw. and $UCS4Lw. informats.\"}},{\"Name\":\"$UCS4Xw.\",\"Type\":\"SAS_INFORMAT\",\"Help\":{\"#cdata\":\"Reads a character string that is encoded in 32-bit, universal character set code in \\n4 octets (UCS4), Unicode encoding, and then converts the character string to the \\nencoding of the current SAS session. \\n\\nSyntax Description: \\nw \\n  specifies the width of the input field. Specify enough width to accommodate the \\n  32-bit size of the Unicode characters.\\n\\n  Default: 4 \\n  Range: 4-32000 \\n \\nComparisons: \\nThe $UCS4Xw. informat performs processing that is the opposite of the $UCS4XEw. informat. \\nUse the $UCS4Xw. informat when you are processing data within the same operating environment. \\nUse the $UCS4Bw. and $UCS4Lw. informats when you are processing data from different operating \\nenvironments.\"}},{\"Name\":\"$UCS4XEw.\",\"Type\":\"SAS_INFORMAT\",\"Help\":{\"#cdata\":\"Reads a character string that is in the encoding of the current SAS session and then \\nconverts the character string to 32-bit, universal character set code in 4 octets \\n(UCS4), Unicode encoding. \\n\\nSyntax Description\\n\\nw \\n  specifies the width of the input field. Specify enough width to accommodate the \\n  32-bit size of the Unicode characters.\\n\\n  Default: 8 \\n  Range: 1-32000 \\n \\nComparisons: \\nThe $UCS4XEw. informat performs processing that is the opposite of the $UCS4Xw. informat.\"}},{\"Name\":\"$UESCw.\",\"Type\":\"SAS_INFORMAT\",\"Help\":{\"#cdata\":\"Reads a character string that is encoded in Unicode escape (UESC) representation, \\nand then converts the character string to the encoding of the current SAS session. \\n\\nSyntax Description: \\nw \\n  specifies the width of the output field.\\n\\n  Default: 8 \\n  Range: 1-32000 \\n  \\nDetails: \\nIf the characters are not available on all operating environments, for example, 0-9, a-z, \\nA-Z, they must be represented in UESC representation. The $UESCw. informat can be nested.\\n \\nComparisons: \\nThe $UESCw. informat performs processing that is the opposite of the $UESCEw. informat.\"}},{\"Name\":\"$UESCEw.\",\"Type\":\"SAS_INFORMAT\",\"Help\":{\"#cdata\":\"Reads a character string that is in the encoding of the current SAS session, and \\nthen converts the character string to Unicode escape (UESC). \\n\\nSyntax Description: \\nw \\n  specifies the width of the input field.\\n\\n  Default: 8 \\n  Range: 1-32000 \\n \\nDetails: \\nThe $UESCEw. informat can be nested.\\n \\nComparisons:\\nThe $UESCEw. informat performs processing that is opposite of the $UESCw. informat.\"}},{\"Name\":\"$UNCRw.\",\"Type\":\"SAS_INFORMAT\",\"Help\":{\"#cdata\":\"Reads the numeric character representation (NCR) character string, and then converts \\nthe character string to the encoding of the current SAS session. \\n\\nSyntax Description: \\nw \\n  specifies the width of the input field.\\n\\n  Default: 8 \\n  Range: 1-32000 \\n \\nDetails: \\nThe input string must contain only characters and NCR. Any national characters must \\nbe represented in NCR.\\n \\nComparison: \\nThe $UNCRw. informat performs processing that is opposite of the $UNCREw. informat.\"}},{\"Name\":\"$UNCREw.\",\"Type\":\"SAS_INFORMAT\",\"Help\":{\"#cdata\":\"Reads a character string in the encoding of the current SAS session, and then converts \\nthe character string to session-encoded NCR (numeric character representation). \\n\\nSyntax Description: \\nw \\n  specifies the width of the input field.\\n\\n  Default: 8 \\n  Range: 1-32000 \\n \\nDetails:\\nThe output string will be converted to plain characters and NCR. Any national characters \\nwill be converted to NCR.\\n \\nComparison: \\nThe $UNCREw. informat performs processing that is the opposite of the $UNCRw. informat.\"}},{\"Name\":\"$UPARENw.\",\"Type\":\"SAS_INFORMAT\",\"Help\":{\"#cdata\":\"Reads a character string that is encoded in UPAREN (Unicode parenthesis) representation, \\nand then converts the character string to the encoding of the current SAS session. \\n\\nSyntax Description: \\nw \\n  specifies the width of the input field.\\n\\n  Default: 8 \\n  Range: 1-32000 \\n  \\nDetails:\\nIf the SAS session encoding does not have a corresponding Unicode expression, the expression \\nwill remain in encoding of the current SAS session.\\n \\nComparisons: \\nThe $UPARENw. informat performs processing that is opposite of the $UPARENEw. informat.\"}},{\"Name\":\"$UPARENEw.\",\"Type\":\"SAS_INFORMAT\",\"Help\":{\"#cdata\":\"Reads a character string that is encoded in the current SAS session, and then converts \\nthe character string to the encoding of the Unicode parenthesis (UPAREN) representation. \\n\\nSyntax Description: \\nw \\n  specifies the width of the input field.\\n\\n  Default: 8 \\n  Range: 1-32000 \\n \\nComparisons:\\nThe $UPARENEw. informat performs processing that is opposite of the $UPARENw. informat.\"}},{\"Name\":\"$UPARENPw.\",\"Type\":\"SAS_INFORMAT\",\"Help\":{\"#cdata\":\"Reads a character string that is encoded in Unicode parenthesis (UPAREN) representation, \\nand then converts the character string to the encoding of the current SAS session with \\nnational characters remaining in the encoding of the UPAREN representation. \\n\\nSyntax Description: \\nw \\n  specifies the width of the input field.\\n\\n  Default: 8 \\n  Range: 1-32000 \\n \\nDetails: \\nIf the UPAREN expression contains a national character, whose value is greater than \\nUnicode 0x00ff, the expression will remain as a UPAREN expression.\"}},{\"Name\":\"$UPCASEw.\",\"Type\":\"SAS_INFORMAT\",\"Help\":{\"#cdata\":\"Converts character data to uppercase. \\n    \\nSyntax Description: \\n\\nw \\n  specifies the width of the input field.\\n\\n  Default: 8 if the length of the variable is undefined; otherwise, the length of the variable \\n  Range: 1-32767 \\n \\nDetails:\\nSpecial characters, such as hyphens, are not altered.\"}},{\"Name\":\"$UTF8Xw.\",\"Type\":\"SAS_INFORMAT\",\"Help\":{\"#cdata\":\"Reads a character string that is encoded in Unicode transformation format (UTF-8), \\nand then converts the character string to the encoding of the current SAS session. \\n\\nSyntax Description: \\n\\nw \\n  specifies the width of the input field.\\n\\n  Default: 8 \\n  Range: 1-32000\"}},{\"Name\":\"$VARYINGw.\",\"Type\":\"SAS_INFORMAT\",\"Help\":{\"#cdata\":\"Reads character data of varying length. \\n    \\nSyntax: $VARYINGw. length-variable  \\n    \\nSyntax Description: \\nw \\n  specifies the maximum width of a character field for all the records in an input file. \\n  Default: 8 if the length of the variable is undefined; otherwise, the length of the variable \\n  Range: 1-32767 \\n\\nlength-variable \\n  specifies a numeric variable that contains the width of the character field in the current \\n  record. SAS obtains the value of length-variable by reading it directly from a field that \\n  is described in an INPUT statement or by calculating its value in the DATA step. \\n\\n  Requirement: You must specify length-variable immediately after $VARYINGw. in an INPUT statement.  \\n  Restriction: Length-variable cannot be an array reference. \\n  Tip: If the value of length-variable is 0, negative, or missing, SAS reads no data from the \\n  corresponding record. A value of 0 for length-variable enables you to read zero-length records \\n  and fields. If length-variable is greater than 0 but less than w, SAS reads the number of columns \\n  that are specified by length-variable. Then SAS pads the value with trailing blanks up to the \\n  maximum width that is assigned to the variable. If length-variable is greater than or equal to \\n  w, SAS reads w columns. \\n \\nDetails:\\nUse $VARYINGw. when the length of a character value differs from record to record. After reading \\na data value with $VARYINGw., the pointer's position is set to the first column after the value.\"}},{\"Name\":\"$w.\",\"Type\":\"SAS_INFORMAT\",\"Help\":{\"#cdata\":\"Reads standard character data. \\n    \\nSyntax Description: \\nw \\n  specifies the width of the input field. You must specify w because SAS does not supply a \\n  default value.\\n\\n  Range: 1-32767 \\n \\nDetails:\\nThe $w. informat trims leading blanks and left aligns the values before storing the text. \\nIn addition, if a field contains only blanks and a single period, $w. converts the period \\nto a blank because it interprets the period as a missing value. The $w. informat treats two \\nor more periods in a field as character data.\\n \\nComparisons:\\nThe $w. informat is almost identical to the $CHARw. informat. However, $CHARw. does not trim \\nleading blanks nor does it convert a single period in an input field to a blank, while $w. does both.\"}},{\"Name\":\"$CBw.\",\"Type\":\"SAS_INFORMAT\",\"Help\":{\"#cdata\":\"Reads standard character data from column-binary files. \\n    \\nSyntax Description: \\nw \\n  specifies the width of the input field. \\n  Default: none \\n  Range: 1-32767 \\n \\nDetails:\\nColumn-binary data storage compresses data so that more than 80 items of data can be \\nstored on a single \\\"virtual\\\" punch card.\\n\\nThe $CBw. informat reads standard character data from column-binary files, with each card \\ncolumn represented in two bytes. The $CBw. informat translates the data into standard character \\ncodes. If the combinations are invalid punch codes, SAS returns blanks and sets the automatic \\nvariable _ERROR_ to 1.\"}},{\"Name\":\"CBw.d\",\"Type\":\"SAS_INFORMAT\",\"Help\":{\"#cdata\":\"Reads standard numeric values from column-binary files. \\n    \\nSyntax Description: \\nw \\n  specifies the width of the input field. \\n  Range: 1-32 \\n\\nd \\n  specifies the power of 10 by which to divide the value. SAS uses the d value even \\n  if the data contain decimal points. This argument is optional.\\n \\nDetails:\\nColumn-binary data storage compresses data so that more than 80 items of data can be \\nstored on a single \\\"virtual\\\" punch card.\\n\\nThe CBw.d informat reads standard numeric values from column-binary files and translates \\nthe data into standard binary format.\\n\\nSAS first stores each column of column-binary data you read with CBw.d in two bytes and \\nignores the two high-order bits of each byte. If the punch codes are valid, then SAS stores \\nthe equivalent numeric value in the variable that you specify. If the combinations are not \\nvalid, then SAS assigns the variable a missing value and sets the automatic variable _ERROR_ to 1.\"}},{\"Name\":\"PUNCH.d\",\"Type\":\"SAS_INFORMAT\",\"Help\":{\"#cdata\":\"Reads whether a row of column-binary data is punched. \\n    \\nSyntax Description: \\nd \\n  specifies which row in a card column to read. \\n  Range: 1-12 \\n \\nDetails:\\nColumn-binary data storage compresses data so that more than 80 items of data can be \\nstored on a single \\\"virtual\\\" punch card.\\n\\nThis informat assigns the value 1 to the variable if row d of the current card column \\nis punched, or 0 if row d of the current card column is not punched. After PUNCH.d reads \\na field, the pointer does not advance to the next column.\"}},{\"Name\":\"ROWw.d\",\"Type\":\"SAS_INFORMAT\",\"Help\":{\"#cdata\":\"Reads a column-binary field down a card column. \\n    \\nSyntax Description: \\nw \\n  specifies the row where the field begins. \\n  Range: 0-12 \\nd \\n  specifies the length in rows of the field. \\n  Default: 1 \\n  Range: 1-25 \\n  \\nDetails:\\nColumn-binary data storage compresses data so that more than 80 items of data can be stored \\non a single \\\"virtual\\\" punch card.\\n\\nThe ROWw.d informat assigns the relative position of the punch in the field to a numeric variable.\\n\\nIf the field that you specify has more than one punch, then ROWw.d assigns the variable a missing \\nvalue and sets the automatic variable _ERROR_ to 1. If the field has no punches, then ROWw.d \\nassigns the variable a missing value.\\n\\nROWw.d can read fields across columns, continuing with row 12 of the new column and going down \\nthrough the rest of the rows. After ROWw.d reads a field, the pointer moves to the next row.\"}},{\"Name\":\"$KANJIw.\",\"Type\":\"SAS_INFORMAT\",\"Help\":{\"#cdata\":\"Removes shift code data from DBCS data. \\n    \\nSyntax Description: \\nw \\n  specifies the width of the input field.\\n\\n  Restriction: The width must be an even number. If it is an odd number, it is truncated. \\n  The width must be equal to or greater than the length of the shift-code data. \\n  Range: The minimum width for the informat is 2. \\n\\nDetails: \\nThe $KANJI informat removes shift-code data from DBCS data. The $KANJI informat processes \\nhost-mainframe data. $KANJI can be used on other platforms. If you use the $KANJI informat \\non non-EBCDIC (non-modal encoding) hosts, the data does not change.\\n\\nThe data must start with SO and end with SI, unless single-byte blank data are returned. \\nThe input data length must be 2 + (SO/SI length)*2.\"}},{\"Name\":\"$KANJIXw.\",\"Type\":\"SAS_INFORMAT\",\"Help\":{\"#cdata\":\"Adds shift code data to DBCS data. \\n    \\nSyntax Description:\\nw \\n  specifies the width of the input field.\\n\\n  Restriction: The width must be an even number. If it is an odd number, it is truncated. \\n  The width must be equal to or greater than the length of the shift-code data. \\n  Range: The minimum width for the informat is 2 + (length of shift code used on the current \\n  DBCSTYPE= setting)*2.  \\n \\nDetails: \\nThe $KANJIX informat adds shift-code data to DBCS data that does not have shift-code data. \\nIf the input data is blank, shift-code data is not added. The $KANJIX informat processes \\nhost-mainframe data, but $KANJIX can be used on other platforms. If you use the $KANJIX informat \\non non-EBCDIC (non-modal encoding) hosts, the data does not change.\"}},{\"Name\":\"ANYDTDTEw.\",\"Type\":\"SAS_INFORMAT\",\"Help\":{\"#cdata\":\"Reads and extracts the date value from various date, time, and datetime forms. \\n\\nSyntax Description: \\n\\nw \\n  specifies the width of the input field. \\n  Default: 9 \\n  Range: 5-32\"}},{\"Name\":\"ANYDTDTMw.\",\"Type\":\"SAS_INFORMAT\",\"Help\":{\"#cdata\":\"Reads and extracts datetime values from various date, time, and datetime forms. \\n\\nSyntax Description: \\n\\nw \\n  specifies the width of the input field.\\n\\n  Default: 19 \\n  Range: 1-32\"}},{\"Name\":\"ANYDTTMEw.\",\"Type\":\"SAS_INFORMAT\",\"Help\":{\"#cdata\":\"Reads and extracts time values from various date, time, and datetime forms.\\n    \\nSyntax Description: \\n\\nw \\n  specifies the width of the input field.\\n  Default: 8 \\n  Range: 1-32\"}},{\"Name\":\"DATEw.\",\"Type\":\"SAS_INFORMAT\",\"Help\":{\"#cdata\":\"Reads date values in the form ddmmmyy or ddmmmyyyy. \\n    \\nSyntax Description\\n\\nw \\n  specifies the width of the input field. \\n  Default: 7 \\n  Range: 7-32 \\n  Tip: Use a width of 9 to read a 4-digit year. \\n \\nDetails:\\nThe date values must be in the form ddmmmyy or ddmmmyyyy, where \\n\\n  dd \\n  is an integer from 01 through 31 that represents the day of the month.\\n\\n  mmm \\n  is the first three letters of the month name.\\n\\n  yy or yyyy \\n  is a two-digit or four-digit integer that represents the year. \\n\\nYou can separate the year, month, and day values by blanks or by special characters. Make \\nsure the width of the input field allows space for blanks and special characters.\\n\\nNote: SAS interprets a two-digit year as belonging to the 100-year span that is defined \\nby the YEARCUTOFF= system option.\"}},{\"Name\":\"DATETIMEw.\",\"Type\":\"SAS_INFORMAT\",\"Help\":{\"#cdata\":\"Reads datetime values in the form ddmmmyy hh:mm:ss.ss or ddmmmyyyy hh:mm:ss.ss. \\n    \\nSyntax Description: \\nw \\n  specifies the width of the input field. \\n  Default: 18 \\n  Range: 13-40 \\n \\nDetails:\\nThe datetime values must be in the following form: ddmmmyy or ddmmmyyyy, followed by a blank \\nor special character, followed by hh:mm:ss.ss (the time). In the date,\\n\\n  dd is an integer from 01 through 31 that represents the day of the month.\\n  mmm is the first three letters of the month name.\\n  yy or yyyy is a two-digit or four-digit integer that represents the year.\\n  \\nIn the time, \\n  hh is the number of hours ranging from 00 through 23. \\n  mm is the number of minutes ranging from 00 through 59.\\n  ss.ss is the number of seconds ranging from 00 through 59 with the fraction of a second \\n  following the decimal point.\\n\\nDATETIMEw. requires values for both the date and the time; however, the ss.ss portion is optional. \\nNote: SAS interprets a two-digit year as belonging to the 100-year span that is defined \\nby the YEARCUTOFF= system option.  \\n\\nNote: SAS can read time values with AM and PM in them.  \\n \\nComparisons:\\nThe DATETIMEw.d informat reads datetime values with optional separators in the form \\n  dd-mmm-yy<yy> hh:mm:ss.ss AM|PM \\n  \\nand the date and time can be separated by a special character.\"}},{\"Name\":\"DDMMYYw.\",\"Type\":\"SAS_INFORMAT\",\"Help\":{\"#cdata\":\"Reads date values in the form ddmmyy or ddmmyyyy. \\n    \\nSyntax Description: \\nw \\n  specifies the width of the input field. \\n  Default: 6 \\n  Range: 6-32 \\n \\nDetails:\\nThe date values must be in the form ddmmyy<yy> or ddxmmxyy<yy>, where \\n\\n  dd is an integer from 01 through 31 that represents the day of the month.\\n\\n  mm is an integer from 01 through 12 that represents the month.\\n\\n  yy or yyyy is a two-digit or four-digit integer that represents the year. \\n\\n  x is a separators that can be any special character or a blank.:\\n\\nIf you use separators, place them between all the values. Blanks can also be placed \\nbefore and after the date. Make sure the width of the input field allows space for \\nblanks and special characters.\\n\\nNote: SAS interprets a two-digit year as belonging to the 100-year span that is \\ndefined by the YEARCUTOFF= system option.\"}},{\"Name\":\"EURDFDEw.\",\"Type\":\"SAS_INFORMAT\",\"Help\":{\"#cdata\":\"Reads international date values. \\n    \\nSyntax Description: \\nw \\n  specifies the width of the input field. \\n  Default: 7 (except Finnish) \\n  Range: 7-32 (except Finnish)  \\n\\n  Note: If you use the Finnish (FIN) language prefix, the w range is 10-32 and the default w is 10.  \\n \\nDetails: \\nThe date values must be in the form ddmmmyy or ddmmmyyyy: \\n\\n  dd is an integer from 01-31 that represents the day of the month. \\n  mmm is the first three letters of the month name. \\n  yy or yyyy is a two-digit or four-digit integer that represents the year. \\n\\nYou can place blanks and other special characters between day, month, and year values.\\n\\nNote: SAS interprets a two-digit year as belonging to the 100-year span that is defined \\nby the YEARCUTOFF= system option.\"}},{\"Name\":\"EURDFDTw.\",\"Type\":\"SAS_INFORMAT\",\"Help\":{\"#cdata\":\"Reads international datetime values in the form ddmmmyy hh:mm:ss.ss or ddmmmyyyy \\nhh:mm:ss.ss. \\n\\nSyntax Description: \\nw \\n  specifies the width of the input field. \\n  Default: 18  \\n  Range: 13-40  \\n \\nDetails: \\nThe date values must be in the form ddmmmyy or ddmmmyyyy, followed by a blank or special \\ncharacter, and then the time values as hh:mm:ss.ss. The syntax for the date is represented \\nas follows:\\n\\n  dd is an integer from 01-31 that represents the day of the month. \\n  mmm is the first three letters of the month name.\\n  yy or yyyy is a two-digit or four-digit integer that represents the year.\\n\\n  The syntax for time is represented as follows: \\n    hh is the number of hours ranging from 00-23, \\n    mm is the number of minutes ranging from 00-59, \\n    ss.ss \\n    is the number of seconds ranging from 00-59 with the fraction of a second following \\n    the decimal point.\\n\\nThe EURDFDTw. informat requires values for both the date and the time; however, the ss.ss \\nportion is optional. \\n\\nNote: SAS interprets a two-digit year as belonging to the 100-year span that is defined \\nby the YEARCUTOFF= system option.\"}},{\"Name\":\"EURDFMYw.\",\"Type\":\"SAS_INFORMAT\",\"Help\":{\"#cdata\":\"Reads month and year date values in the form mmmyy or mmmyyyy. \\n    \\nSyntax Description: \\nw \\n  specifies the width of the input field. \\n  Default: 5 (except Finnish) \\n  Range: 5-32 (except Finnish)  \\n  Note:   If you use the Finnish (FIN) language prefix, the w range is 7-32 and \\n  the default value for w is 7.  \\n \\nDetails:\\nThe date values must be in the form mmmyy or mmmyyyy: \\n\\n  mmm \\n  is the first three letters of the month name. \\n  yy or yyyy \\n  is a two-digit or four-digit integer that represents the year. \\n\\nYou can place blanks and other special characters between day, month, and year values. \\nA value that is read with EURDFMYw. results in a SAS date value that corresponds to the \\nfirst day of the specified month.\\n\\nNote: SAS interprets a two-digit year as belonging to the 100-year span that is defined \\nby the YEARCUTOFF= system option.\"}},{\"Name\":\"JDATEYMDw.\",\"Type\":\"SAS_INFORMAT\",\"Help\":{\"#cdata\":\"Reads Japanese Kanji date values in the format yymmmdd or yyyymmmdd. \\n    \\nSyntax Description: \\nw \\n  specifies the width of the input field. \\n  Default: 12 \\n  Range: 12-32 \\n \\nDetails:\\nThe date values must be in the form yymmmdd or yyyymmmdd. \\n\\nYou can separate the year, month, and day values by blanks or by special characters. Note that \\nin the example, the date values in the data lines are separated by special characters.\\n\\nWhen you use this informat, ensure that the width of the input field includes space for blanks \\nand special characters.\\n\\nNote: SAS interprets a two-digit year as belonging to the 100-year span that is defined by \\nthe YEARCUTOFF= system option.\"}},{\"Name\":\"JNENGOw.\",\"Type\":\"SAS_INFORMAT\",\"Help\":{\"#cdata\":\"Reads Japanese Kanji date values in the form yymmdd. \\n    \\nSyntax Description: \\nw \\n  specifies the width of the output field. \\n  Default: 16 \\n  Range: 16-32 \\n  \\nDetails: \\nThe JNENGOw. informat reads Japanese kanji values in the form yymmdd.\\n\\nYou can separate the year, month, and day values by blanks or by special characters. Note \\nthat in the example, the date values in the data lines are separated by special characters.\\n\\nWhen you use this informat, ensure that the width of the input field includes space for \\nblanks and special characters. \\n\\nNote: SAS interprets a two-digit year as belonging to the 100-year span that is defined \\nby the YEARCUTOFF= system option.\"}},{\"Name\":\"JULIANw.\",\"Type\":\"SAS_INFORMAT\",\"Help\":{\"#cdata\":\"Reads Julian dates in the form yyddd or yyyyddd. \\n    \\nSyntax Description: \\nw \\n  specifies the width of the input field. \\n  Default: 5 \\n  Range: 5-32 \\n \\nDetails:\\nThe date values must be in the form yyddd or yyyyddd, where\\n\\n  yy or yyyy \\n  is a two-digit or four-digit integer that represents the year. \\n\\n  dd or ddd \\n  is an integer from 01 through 365 that represents the day of the year.\\n\\nJulian dates consist of strings of contiguous numbers, which means that zeros must pad \\nany space between the year and the day values. \\n\\nJulian dates that contain year values before 1582 are invalid for the conversion to Gregorian dates.\\n\\nNote: SAS interprets a two-digit year as belonging to the 100-year span that is defined \\nby the YEARCUTOFF= system option.\"}},{\"Name\":\"MINGUOw.\",\"Type\":\"SAS_INFORMAT\",\"Help\":{\"#cdata\":\"Reads dates in Taiwanese form. \\n    \\nSyntax Description: \\nw \\n  specifies the width of the input field. \\n  Default: 6 \\n  Range: 6-10 \\n \\nDetails:\\nThe general form of a Taiwanese date is yyyymmdd:\\n\\n  yyyy is an integer that represents the year. \\n\\n  mm is an integer from 01 through 12 that represents the month.\\n\\n  dd is an integer from 01 through 31 that represents the day of the month.\\n\\nThe Taiwanese calendar uses 1912 as the base year (01/01/01 is January 1, 1912). \\nDates before 1912 are not valid. Year values do not roll over after 100 years; \\ninstead, they continue to increase.\\n\\nYou can separate the year, month, and day values with any delimiters, such as \\nblanks, slashes, or dashes, that are permitted by the YYMMDDw. informat. If \\ndelimiters are used, place them between all the values. If you omit delimiters, \\nbe sure to use a leading zero for days or months that have a value less than 10.\"}},{\"Name\":\"MDYAMPMw.d\",\"Type\":\"SAS_INFORMAT\",\"Help\":{\"#cdata\":\"Reads datetime values in the form mm-dd-yy<yy> hh:mm:ss.ss AM|PM, where a special character such \\nas a hyphen (-), period (.), slash (/), or colon (:) separates the month, day, and year; \\nthe year can be either 2 or 4 digits.  \\n    \\nSyntax Description: \\nw \\n  specifies the width of the output field. \\n  Default: 19 \\n  Range: 8-40 \\nd \\n  specifies the number of digits to the right of the decimal point in the seconds value.\\n  The digits to the right of the decimal point specify a fraction of a second. This argument \\n  is optional.\\n  Default: 0 \\n  Range: 0-39 \\n \\nDetails: \\nThe MDYAMPMw.d format reads SAS datetime values in the following form: \\n  mm-dd-yy<yy> hh:mm<:ss<.ss>> <AM | PM> \\nwhere: \\n  mm is an integer from 01 through 12 that represents the month.\\n\\n  dd is an integer from 01 through 31 that represents the day of the month.\\n  yy or yyyy \\n  specifies a two-digit or four-digit integer that represents the year.\\n  hh is the number of hours that range from 00 through 23.\\n  mm is the number of minutes that range from 00 through 59.\\n  ss.ss \\n    is the number of seconds that range from 00 through 59 with the fraction of a second \\n    following the decimal point.\\n    Requirement: If a fraction of a second is specified, the decimal point can be represented \\n    only by a period and is required. \\n  AM | PM \\n    specifies either the time period 00:01-12:00 noon (AM) or the time period 12:01 - 12:00 midnight ( PM) \\n  - or : \\n  represents one of several special characters, such as the slash (/), hyphen (-), colon (:), \\n  or a blank character that can be used to separate date and time components. Special characters \\n  can be used as separators between any date or time component and between the date and the time.\"}},{\"Name\":\"MMDDYYw.\",\"Type\":\"SAS_INFORMAT\",\"Help\":{\"#cdata\":\"Reads date values in the form mmddyy or mmddyyyy. \\n    \\nSyntax Description: \\nw \\n  specifies the width of the input field. \\n  Default: 6 \\n  Range: 6-32 \\n \\nDetails:\\nThe date values must be in the form mmddyy or mmddyyyy, where \\n\\n  mm is an integer from 01 through 12 that represents the month.\\n\\n  dd is an integer from 01 through 31 that represents the day of the month.\\n\\n  yy or yyyy is a two-digit or four-digit integer that represents the year. \\n\\nYou can separate the month, day, and year fields by blanks or by special characters. \\nHowever, if you use delimiters, place them between all fields in the value. Blanks can \\nalso be placed before and after the date.\\n\\nNote: SAS interprets a two-digit year as belonging to the 100-year span that is defined \\nby the YEARCUTOFF= system option.\"}},{\"Name\":\"MONYYw.\",\"Type\":\"SAS_INFORMAT\",\"Help\":{\"#cdata\":\"Reads month and year date values in the form mmmyy or mmmyyyy. \\n    \\nSyntax Description: \\nw \\n  specifies the width of the input field. \\n  Default: 5 \\n  Range: 5-32 \\n \\nDetails:\\nThe date values must be in the form mmmyy or mmmyyyy, where \\n\\n  mmm is the first three letters of the month name.\\n\\n  yy or yyyy is a two-digit or four-digit integer that represents the year. \\n\\nA value read with the MONYYw. informat results in a SAS date value that corresponds to the \\nfirst day of the specified month.\\n\\nNote: SAS interprets a two-digit year as belonging to the 100-year span that is defined by \\nthe YEARCUTOF= system option.\"}},{\"Name\":\"MSECw.\",\"Type\":\"SAS_INFORMAT\",\"Help\":{\"#cdata\":\"Reads TIME MIC values. \\n    \\nSyntax Description: \\nw \\n  specifies the width of the input field.\\n  Requirement: w must be 8 because the OS TIME macro or the STCK System/370 instruction on \\n  IBM mainframes each return an eight-byte value. \\n \\nDetails: \\nThe MSECw. informat reads time values that are produced by IBM mainframe operating environments \\nand converts the time values to SAS time values.\\n\\nUse the MSECw. informat to find the difference between two IBM mainframe TIME values, with \\nprecision to the nearest microsecond.\\n \\nComparisons:\\nThe MSECw. and TODSTAMPw. informats both read IBM time-of-day clock values, but the \\nMSECw. informat assigns a time value to a variable, and the TODSTAMPw. informat assigns \\na datetime value.\"}},{\"Name\":\"NENGOw.\",\"Type\":\"SAS_INFORMAT\",\"Help\":{\"#cdata\":\"Reads Japanese date values in the form eyymmdd. \\n    \\nSyntax Description: \\nw \\n  specifies the width of the input field.\\n  Default: 10 \\n  Range: 7-32 \\n \\nDetails: \\nThe general form of a Japanese date is eyymmdd:\\n\\n  e is the first letter of the name of the imperial era(Meiji, Taisho, Showa, or Heisei).\\n\\n  yy is an integer that represents the year. \\n\\n  mm is an integer from 01 through 12 that represents the month.\\n\\n  dd is an integer from 01 through 31 that represents the day of the month.\\n\\nThe e value can be separated from the integers by a period. If you omit e, SAS uses the \\ncurrent imperial era. You can separate the year, month, and day values by blanks or any \\nnonnumeric character. However; if delimiters are used, place them between all the values. \\nIf you omit delimiters, be sure to use a leading zero for days or months that are values \\nless than 10.\"}},{\"Name\":\"NLDATEw.\",\"Type\":\"SAS_INFORMAT\",\"Help\":{\"#cdata\":\"Reads the date value in the specified locale and then converts the date value to \\nthe local SAS date value. \\n\\nSyntax Description: \\n\\nw \\n  specifies the width of the input field.\\n\\n  Default: 20 \\n  Range: 10-200\"}},{\"Name\":\"NLDATMw.\",\"Type\":\"SAS_INFORMAT\",\"Help\":{\"#cdata\":\"Reads the datetime value of the specified locale, and then converts the datetime \\nvalue to the local SAS datetime value. \\n\\nSyntax Description: \\n\\nw \\n  specifies the width of the input field.\\n\\n  Default: 30 \\n  Range: 10-200\"}},{\"Name\":\"NLTIMAPw.\",\"Type\":\"SAS_INFORMAT\",\"Help\":{\"#cdata\":\"Reads the time value and uses a.m. and p.m. in the specified locale, and then \\nconverts the time value to the local SAS-time value. \\n\\nSyntax Description: \\n\\nw \\n  specifies the width of the input field.\\n\\n  Default: 10 \\n  Range: 4-200\"}},{\"Name\":\"NLTIMEw.\",\"Type\":\"SAS_INFORMAT\",\"Help\":{\"#cdata\":\"Reads the time value in the specified locale and then converts the time value to \\nthe local SAS time value. \\n\\nSyntax Description: \\n\\nw \\n  specifies the width of the input field.\\n\\n  Default: 20 \\n  Range: 10-200\"}},{\"Name\":\"PDJULGw.\",\"Type\":\"SAS_INFORMAT\",\"Help\":{\"#cdata\":\"Reads packed Julian date values in the hexadecimal form yyyydddF for IBM. \\n    \\nSyntax Description\\n\\nw \\n  specifies the width of the input field. \\n  Default: 4 \\n  Range: 4 \\n \\nDetails: \\nThe PDJULGw. informat reads IBM packed Julian date values in the form of yyyydddF, \\nconverting them to SAS date values, where \\n\\n  yyyy \\n  is the two-byte representation of the four-digit Gregorian year.\\n\\n  ddd \\n  is the one-and-a-half byte representation of the three-digit integer that corresponds \\n  to the Julian day of the year, 1-365 (or 1-366 for leap years). \\n\\n  F \\n  is the half byte that contains all binary 1s, which assigns the value as positive.\\n\\nNote: SAS interprets a two-digit year as belonging to the 100-year span that is defined \\nby the YEARCUTOFF= system option.\"}},{\"Name\":\"PDJULIw.\",\"Type\":\"SAS_INFORMAT\",\"Help\":{\"#cdata\":\"Reads packed Julian dates in the hexadecimal format ccyyddd F for IBM. \\n    \\nSyntax Description: \\nw \\n  specifies the width of the input field. \\n  Default: 4 \\n  Range: 4 \\n \\nDetails: \\nThe PDJULIw. informat reads IBM packed Julian date values in the form ccyydddF, converting \\nthem to SAS date values, where\\n\\n  cc \\n  is the one-byte representation of a two-digit integer that represents the century.\\n\\n  yy \\n  is the one-byte representation of a two-digit integer that represents the year. The \\n  PDJULIw informat makes an adjustment to the one-byte century representation by adding \\n  1900 to the two-byte ccyy value in order to produce the correct four-digit Gregorian \\n  year. This adjustment causes ccyy values of 0098 to become 1998, 0101 to become 2001, \\n  and 0218 to become 2118.\\n\\n  ddd \\n  is the one-and-a-half bytes representation of the three-digit integer that corresponds \\n  to the Julian day of the year, 1-365 (or 1-366 for leap years).\\n\\n  F \\n  is the half byte that contains all binary 1s, which assigns the value as positive.\"}},{\"Name\":\"PDTIMEw.\",\"Type\":\"SAS_INFORMAT\",\"Help\":{\"#cdata\":\"Reads packed decimal time of SMF and RMF records. \\n    \\nSyntax Description: \\nw \\n  specifies the width of the input field. \\n  Requirement: w must be 4 because packed decimal time values in RMF and SMF records \\n  contain four bytes of information.  \\n \\nDetails:\\nThe PDTIMEw. informat reads packed decimal time values that are contained in SMF and \\nRMF records that are produced by IBM mainframe systems and converts the values to SAS \\ntime values. \\n\\nThe general form of a packed decimal time value in hexadecimal notation is 0hhmmssF, where \\n\\n  0 is a half byte that contains all 0s.\\n\\n  hh is one byte that represents two digits that correspond to hours. \\n\\n  mm is one byte that represents two digits that correspond to minutes.\\n\\n  ss is one byte that represents two digits that correspond to seconds.\\n\\n  F is a half byte that contains all 1s.\\n\\nIf a field contains all 0s, PDTIMEw. treats it as a missing value. \\nPDTIMEw. enables you to read packed decimal time values from files that are created \\non an IBM mainframe on any operating environment.\"}},{\"Name\":\"RMFDURw.\",\"Type\":\"SAS_INFORMAT\",\"Help\":{\"#cdata\":\"Reads duration intervals of RMF records. \\n    \\nSyntax Description: \\nw \\n  specifies the width of the input field. \\n  Requirement: w must be 4 because packed decimal duration values in RMF records \\n  contain four bytes of information. \\n \\nDetails: \\nThe RMFDURw. informat reads the duration of RMF measurement intervals of RMF records \\nthat are produced as packed decimal data by IBM mainframe systems and converts them to \\nSAS time values.\\n\\nThe general form of the duration interval data in an RMF record in hexadecimal notation \\nis mmsstttF, where \\n\\n  mm is the one-byte representation of two digits that correspond to minutes.\\n\\n  ss is the one-byte representation of two digits that correspond to seconds.\\n\\n  ttt is the one-and-a-half-bytes representation of three digits that correspond \\n  to thousandths of a second.\\n\\n  F is a half byte that contains all binary 1s, which assigns the value as positive. \\n\\nIf the field does not contain packed decimal data, then RMFDURw. results in a missing value.\\n \\nComparisons: \\nBoth the RMFDURw. informat and the RMFSTAMPw. informat read packed decimal information \\nfrom RMF records that are produced by IBM mainframe systems.\\n\\nThe RMFDURw. informat reads duration data and results in a time value.\\nThe RMFSTAMPw. informat reads time-of-day data and results in a datetime value.\"}},{\"Name\":\"RMFSTAMPw.\",\"Type\":\"SAS_INFORMAT\",\"Help\":{\"#cdata\":\"Reads time and date fields of RMF records. \\n    \\nSyntax Description: \\nw \\n  specifies the width of the input field. \\n  Requirement: w must be 8 because packed decimal time and date values in RMF records \\n  contain eight bytes of information: four bytes of time data that are followed by four \\n  bytes of date data. \\n  \\nDetails:\\nThe RMFSTAMPw. informat reads packed decimal time and date values of RMF records that \\nare produced by IBM mainframe systems, and converts the time and date values to SAS \\ndatetime values.\\n\\nThe general form of the time and date information in an RMF record in hexadecimal notation \\nis 0hhmmssFccyydddF, where \\n\\n  0 is the half byte that contains all binary 0s.\\n\\n  hh is the one-byte representation of two digits that correspond to the hour of the day.\\n\\n  mm is the one-byte representation of two digits that correspond to minutes.\\n\\n  ss is 1 byte that represents two digits that correspond to seconds.\\n\\n  cc is the one-byte representation of two digits that correspond to the century.\\n\\n  yy is the one-byte representation of two digits that correspond to the year.\\n\\n  ddd is the one-and-a-half bytes that contain three digits that correspond to the day of the year.\\n\\n  F is the half byte that contains all binary 1s. \\n\\nThe century indicators 00 correspond to 1900, 01 to 2000, and 02 to 2100.\\n\\nRMFSTAMPw. enables you to read, on any operating environment, packed decimal time and \\ndate values from files that are created on an IBM mainframe.\"}},{\"Name\":\"SHRSTAMPw.\",\"Type\":\"SAS_INFORMAT\",\"Help\":{\"#cdata\":\"Reads date and time values of SHR records. \\n    \\nSyntax Description: \\nw \\n  specifies the width of the input field. \\n  Requirement: w must be 8 because packed decimal date and time values in SHR records \\n  contain eight bytes of information: four bytes of date data that are followed by four \\n  bytes of time data. \\n \\nDetails:\\nThe SHRSTAMPw. informat reads packed decimal date and time values of SHR records that are produced \\nby IBM mainframe environments and converts the date and time values to SAS datetime values.\\n\\nThe general form of the date and time information in an SHR record in hexadecimal notation is \\nccyydddFhhmmssth, where \\n\\n  ccyy \\n  is the two byte representation of the year. The cc portion is the one byte representation of a \\n  two-digit integer that represents the century. The yy portion is the one byte representation of \\n  two digits that correspond to the year.\\n\\n  The cc portion is the century indicator where 00 indicates 19yy, 01 indicates 20yy, 02 indicates \\n  21yy, and so on. A hexadecimal year value of 0115 is equal to the year 2015.\\n\\n  ddd \\n  is the one-and-a-half bytes that contain three digits that correspond to the day of the year.\\n\\n  F is the half byte that contains all binary 1s.\\n  hh is the one byte representation of two digits that correspond to the hour of the day.\\n  mm is the one byte representation of two digits that correspond to minutes. \\n  ss is the one byte representation of two digits that correspond to seconds. \\n  th is the one byte representation of two digits that correspond to a 100th of a second. \\n\\nThe SHRSTAMPw. informat enables you to read, on any operation environment, packed decimal date \\nand time values from files that are created on an IBM mainframe.\"}},{\"Name\":\"SMFSTAMPw.\",\"Type\":\"SAS_INFORMAT\",\"Help\":{\"#cdata\":\"Reads time and date values of SMF records. \\n    \\nSyntax Description: \\nw \\n  specifies the width of the input field.\\n  Requirement: w must be 8 because time and date values in SMF records contain eight bytes of \\n  information: four bytes of time data that are followed by four bytes of date data. \\n  Tip: The time portion of an SMF record is a four-byte integer binary number that represents \\n  time as the number of hundredths of a second past midnight. \\n \\nDetails:\\nThe SMFSTAMPw. informat reads integer binary time values and packed decimal date values of SMF \\nrecords that are produced by IBM mainframe systems and converts the time and date values to SAS \\ndatetime values.\\n\\nThe date portion of an SMF record in hexadecimal notation is ccyydddF, where \\n\\n  cc is the one-byte representation of two digits that correspond to the century.\\n\\n  yy is the one-byte representation of two digits that correspond to the year.\\n\\n  ddd is the one-and-a-half bytes that contain three digits that correspond to the day of the year.\\n\\n  F is the half byte that contains all binary 1s.\\n\\nThe SMFSTAMPw. informat enables you to read, on any operating environment, integer binary \\ntime values and packed decimal date values from files that are created on an IBM mainframe.\"}},{\"Name\":\"STIMERw.\",\"Type\":\"SAS_INFORMAT\",\"Help\":{\"#cdata\":\"Reads time values and determines whether the values are hours, minutes, or seconds; \\nreads the output of the STIMER system option. \\n\\nSyntax Description: \\nw \\n  specifies the width of the input field.\\n \\nDetails: \\nThe STIMER informat reads performance statistics that the STIMER system option writes to the SAS log.\\n\\nThe informat reads time values and determines whether the values are hours, minutes, or seconds \\nbased on the presence of decimal points and colons: \\n\\n  o If no colon is present, the value is the number of seconds. \\n  o If a single colon is present, the value before the colon is the number of minutes. The value \\n    after the colon is the number of seconds. \\n  o If two colons are present, the sequence of time is hours, minutes, and then seconds.\\n  \\nIn all cases, the result is a SAS time value.\\nThe input values for STIMER must be in one of the following forms: \\n  o ss \\n  o ss.ss \\n  o mm:ss \\n  o mm:ss.ss \\n  o hh:mm:ss \\n  o hh:mm:ss.ss\\n\\nwhere\\n  ss is an integer that represents the number of seconds.\\n  mm is an integer that represents the number of minutes.\\n  hh is an integer that represents the number of hours.\"}},{\"Name\":\"TIMEw.\",\"Type\":\"SAS_INFORMAT\",\"Help\":{\"#cdata\":\"Reads hours, minutes, and seconds in the form hh:mm:ss.ss. \\n    \\nSyntax Description: \\n  w \\n  specifies the width of the input field.\\n  Default: 8 \\n  Range: 5-32 \\n  \\nDetails:\\nThe TIMEw. informat reads SAS time values in the following form: \\n\\n hh:mm:ss<.ss> <AM | PM> \\n\\nwhere\\n  hh is an integer that represents the number of hours.\\n  : represents a special character that separates hours, minutes, and seconds.\\n  mm is the number of minutes that range from 00 through 59.\\n  \\n  ss<.ss> \\n  is an integer that represents the number of seconds, and if needed, tenths of a second. \\n  Seconds and tenths of a second must always be separated by a period.\\n\\n  AM | PM \\n  AM indicates time between 12:00 midnight and 11:59 in the morning. PM indicates time \\n  between 12:00 noon and 11:59 at night.\\n\\nSeparate hh, mm, and ss with a special character. When the period is used as the special character, \\nthe time is interpreted in the order hours, minutes, and seconds. For example, 23.22 is 23 hours and \\n22 minutes, not 23 minutes and 22 seconds, or 23 seconds and 22 tenths of a second.\\n\\nIf you do not enter a value for seconds, SAS assumes a value of 0. \\nThe stored value is the total number of seconds in the time value.\"}},{\"Name\":\"TODSTAMPw.\",\"Type\":\"SAS_INFORMAT\",\"Help\":{\"#cdata\":\"Reads an eight-byte time-of-day stamp. \\n    \\nSyntax Description\\n\\nw \\n  specifies the width of the input field. \\n  Requirement: w must be 8 because the OS TIME macro or the STCK instruction on IBM \\n  mainframes each return an eight-byte value. \\n \\nDetails:\\nThe TODSTAMPw. informat reads time-of-day clock values that are produced by IBM mainframe \\noperating systems and converts the clock values to SAS datetime values.\\n\\nIf the time-of-day value is all 0s, TODSTAMPw. results in a missing value.\\n\\nUse TODSTAMPw. on other operating environments to read time-of-day values that are produced \\nby an IBM mainframe.\"}},{\"Name\":\"TUw.\",\"Type\":\"SAS_INFORMAT\",\"Help\":{\"#cdata\":\"Reads timer units. \\n    \\nSyntax Description: \\n\\nw \\n  specifies the width of the input field.\\n  Requirement: w must be 4 because the OS TIME macro returns a four-byte value. \\n \\nDetails: \\nThe TUw. informat reads timer unit values that are produced by IBM mainframe operating \\nenvironments and converts the timer unit values to SAS time values.\\n\\nThere are exactly 38,400 software timer units per second. The low-order bit in a timer unit \\nvalue represents approximately 26.041667 microseconds.\\n\\nUse the TUw. informat to read timer unit values that are produced by an IBM mainframe on \\nother operating environments.\"}},{\"Name\":\"WEEKUw.\",\"Type\":\"SAS_INFORMAT\",\"Help\":{\"#cdata\":\"Reads the format of the number-of-week value within the year and returns a SAS date \\nvalue by using the U algorithm. \\n\\nSyntax Description: \\nw \\n  specifies the width of the input field.\\n\\n  Default: 11 \\n  Range: 3-200 \\n \\nDetails:\\nThe WEEKUw. informat reads the format of the number-of-week within the year, and then \\nreturns a SAS date value by using the U algorithm. If the input does not contain a year \\nexpression, then WEEKUw. uses the current year as the year expression, which is the default. \\nIf the input does not contain a day expression, then WEEKUw. uses the first day of the week \\nas the day expression, which is the default. \\n\\nThe U Algorithm calculates the SAS date value using the number-of-week value within the year \\n(Sunday is considered the first day of the week). The number-of-week value is represented as \\na decimal number in the range 0-53, with a leading zero and maximum value of 53. For example, \\nthe fifth week of the year would be represented as 05.\"}},{\"Name\":\"WEEKVw.\",\"Type\":\"SAS_INFORMAT\",\"Help\":{\"#cdata\":\"Reads the format of the number-of-week value within the year and returns a SAS date \\nvalue using the V algorithm. \\n\\nSyntax Description:\\nw \\n  specifies the width of the input field.\\n  Default: 11 \\n  Range: 3-200 \\n \\nDetails:\\nThe WEEKVw. informat reads a format of the number-of-week value. If the input does not \\ncontain a year expression, WEEKVw. uses the current year as the year expression, which \\nis the default. If the input does not contain a day expression, WEEKVw. uses the first \\nday of the week as the day expression, which is the default. \\n\\nThe V algorithm calculates the SAS date value. The number-of-week value is represented \\nas a decimal number in the range 01-53, with a leading zero and maximum value of 53. \\nWeeks begin on a Monday and week 1 of the year is the week that includes both January \\n4th and the first Thursday of the year. If the first Monday of January is the 2nd, 3rd, \\nor 4th, the preceding days are part of the last week of the preceding year. For example, \\nthe fifth week of the year would be represented as 06.\"}},{\"Name\":\"WEEKWw.\",\"Type\":\"SAS_INFORMAT\",\"Help\":{\"#cdata\":\"Reads the format of the number-of-week value within the year and returns a SAS date \\nvalue using the W algorithm. \\n\\nSyntax Description: \\nw \\n  specifies the width of the input field. \\n  Default: 11 \\n  Range: 3-200 \\n\\nDetails: \\nThe WEEKWw. informat reads a format of the number-of-week value. If the input does \\nnot contain a year expression, the WEEKWw. informat uses the current year as the year \\nexpression, which is the default. If the input does not contain a day expression, the \\nWEEKWw. informat uses the first day of the week as the day expression, which is the \\ndefault. Algorithm W calculates the SAS date value using the number of the week within \\nthe year (Monday is considered the first day of the week). The number-of-week value is \\nrepresented as a decimal number in the range 0-53, with a leading zero and maximum \\nvalue of 53. For example, the fifth week of the year would be represented as 05.\"}},{\"Name\":\"YMMDDTTMw.d\",\"Type\":\"SAS_INFORMAT\",\"Help\":{\"#cdata\":\"Reads datetime values in the form <yy>yy-mm-dd hh:mm:ss.ss, where special characters \\nsuch as a hyphen (-), period (.), slash (/), or colon (:) are used to separate the \\nyear, month, day, hour, minute, and seconds; the year can be either 2 or 4 digits.  \\n    \\nSyntax Description: \\nw \\n  specifies the width of the output field.\\n  Default: 19 \\n  Range: 13-40 \\nd \\n  specifies the number of digits to the right of the decimal point in the seconds value. The digits \\n  to the right of the decimal point specify a fraction of a second. This argument is optional.\\n  Default: 0 \\n  Range: 0-39 \\n \\nDetails:\\nThe YMDDTTMw.d format reads SAS datetime values in the following form: \\n    <yy>yy-mm-dd hh:mm:<ss<.ss>>  \\n  The following list explains the datetime variables: \\n    yy or yyyy \\n    specifies a two- or four-digit integer that represents the year.\\n\\n    mm is an integer from 01 through 12 that represents the month. \\n    dd is an integer from 01 through 31 that represents the day of the month. \\n    hh is the number of hours ranging from 00 through 23. \\n    mm is the number of minutes ranging from 00 through 59.\\n\\n    ss.ss is the number of seconds ranging from 00 through 59 with the fraction of a second \\n      following the decimal point. \\n\\n      Requirement: If a fraction of a second is specified, the decimal point can be represented \\n      only by a period and is required. \\n\\n    - or : \\n      represents one of several special characters, such as the slash (/), dash (-), colon (:), \\n      or a blank character that can be used to separate date and time components. Special characters \\n      can be used as separators between any date or time component and between the date and the time.\"}},{\"Name\":\"YYMMDDw.\",\"Type\":\"SAS_INFORMAT\",\"Help\":{\"#cdata\":\"Reads date values in the form yymmdd or yyyymmdd. \\n    \\nSyntax Description: \\nw \\n  specifies the width of the input field. \\n  Default: 6 \\n  Range: 6-32 \\n \\nDetails:\\nThe date values must be in the form yymmdd or yyyymmdd, where \\n\\n  yy or yyyy is a two-digit or four-digit integer that represents the year. \\n\\n  mm is an integer from 01 through 12 that represents the month of the year. \\n\\n  dd is an integer from 01 through 31 that represents the day of the month.\\n\\nYou can separate the year, month, and day values by blanks or by special characters. \\nHowever, if delimiters are used, place them between all the values. You can also place \\nblanks before and after the date. Make sure the width of the input field allows space \\nfor blanks and special characters.\\n\\nNote: SAS interprets a two-digit year as belonging to the 100-year span that is defined \\nby the YEARCUTOFF= system option.\"}},{\"Name\":\"YYMMNw.\",\"Type\":\"SAS_INFORMAT\",\"Help\":{\"#cdata\":\"Reads date values in the form yyyymm or yymm. \\n    \\nSyntax Description: \\nw \\n  specifies the width of the input field. \\n  Default: 4 \\n  Range: 4-6 \\n \\nDetails:\\nThe date values must be in the form yyyymm or yymm, where \\n\\n  yy or yyyy \\n  is a two-digit or four-digit integer that represents the year. \\n\\n  mm \\n  is a two-digit integer that represents the month.\\n\\nThe N in the informat name must be used and indicates that you cannot separate the \\nyear and month values by blanks or by special characters. SAS automatically adds a \\nday value of 01 to the value to make a valid SAS date variable.\\n\\nNote: SAS interprets a two-digit year as belonging to the 100-year span that is \\ndefined by the YEARCUTOFF= system option.\"}},{\"Name\":\"YYQw.\",\"Type\":\"SAS_INFORMAT\",\"Help\":{\"#cdata\":\"Reads quarters of the year in the form yyQ q or yyyyQq. \\n    \\nSyntax Description: \\nw \\n  specifies the width of the input field.\\n\\n  Default: 6 (For SAS version 6, the default is 4.) \\n  Range: 4-32 (For SAS version 6, the range is 4-6.) \\n  \\nDetails:\\nThe quarter must be in the form yyQq or yyyyQq, where\\n\\n  yy or yyyy \\n  is an integer that represents the two-digit or four-digit year.\\n\\n  q \\n  is an integer (1, 2, 3, or 4) that represents the quarter of the year. You can also \\n  represent the quarter as 01, 02, 03, or 04. \\n\\nThe letter Q must separate the year value and the quarter value. The year value, the \\nletter Q, and the quarter value cannot be separated by blanks. A value that is read \\nwith YYQw. produces a SAS date value that corresponds to the first day of the specified \\nquarter.\\n\\nNote: SAS interprets a two-digit year as belonging to the 100-year span that is defined \\nby the YEARCUTOFF= system option.\"}},{\"Name\":\"$CPTDWw.\",\"Type\":\"SAS_INFORMAT\",\"Help\":{\"#cdata\":\"Reads a character string that is encoded in Hebrew DOS (cp862) and then converts the \\ncharacter string to Windows (cp1255) encoding. \\n\\nSyntax Description:\\nw \\n  specifies the width of the input field.\\n\\n  Default: 200 \\n  Range: 1-32000 \\n \\nComparisons:\\nThe $CPTDWw. informat performs processing that is opposite of the $CPTWDw. informat.\"}},{\"Name\":\"$CPTWDw.\",\"Type\":\"SAS_INFORMAT\",\"Help\":{\"#cdata\":\"Reads a character string that is encoded in Windows (cp1255) and then converts the \\ncharacter string to Hebrew DOS (cp862) encoding. \\n\\nSyntax Description: \\n\\nw \\nspecifies the width of the input field.\\n\\nDefault: 200 \\nRange: 1-32000 \\n \\nComparisons:\\nThe $CPTWDw. informat performs processing that is opposite of the $CPTDWw. informat.\"}},{\"Name\":\"BINARYw.d\",\"Type\":\"SAS_INFORMAT\",\"Help\":{\"#cdata\":\"Converts positive binary values to integers. \\n    \\nSyntax Description: \\nw \\n  specifies the width of the input field. \\n  Default: 8 \\n  Range: 1-64 \\nd \\n  specifies the power of 10 by which to divide the value. SAS uses the d value even if the \\n  data contain decimal points. This argument is optional. \\n  Range: 0-31 \\n\\nDetails: \\nUse only the character digits 1 and 0 in the input, with no embedded blanks. BINARYw.d ignores \\nleading and trailing blanks.\\n\\nBINARYw.d cannot read negative values. It treats all input values as positive (unsigned).\"}},{\"Name\":\"BITSw.d\",\"Type\":\"SAS_INFORMAT\",\"Help\":{\"#cdata\":\"Extracts bits. \\n    \\nSyntax Description: \\nw \\n  specifies the number of bits to read. \\n  Default: 1 \\n  Range: 1-64 \\nd \\n  specifies the zero-based offset. \\n  Range: 0-63 \\n \\nDetails:\\nThe BITSw.d informat extracts particular bits from an input stream and assigns the numeric \\nequivalent of the extracted bit string to a variable. Together, the w and d values specify \\nthe location of the string you want to read.\\n\\nThis informat is useful for extracting data from system records that have many pieces of \\ninformation packed into single bytes.\"}},{\"Name\":\"BZw.d\",\"Type\":\"SAS_INFORMAT\",\"Help\":{\"#cdata\":\"Converts blanks to 0s. \\n   \\nSyntax Description:\\nw \\n  specifies the width of the input field. \\n  Default: 1 \\n  Range: 1-32 \\nd \\n  specifies the power of 10 by which to divide the value. If the data contain decimal points, \\n  the d value is ignored. This argument is optional. \\n  Range: 0-31 \\n \\nDetails: \\nThe BZw.d informat reads numeric values, converts any trailing or embedded blanks to 0s, \\nand ignores leading blanks.\\n\\nThe BZw.d informat can read numeric values that are located anywhere in the field. Blanks \\ncan precede or follow the numeric value, and a minus sign must precede negative values. \\nThe BZw.d informat ignores blanks between a minus sign and a numeric value in an input field.\\n\\nThe BZw.d informat interprets a single period in a field as a 0. The informat interprets \\nmultiple periods or other nonnumeric characters in a field as a missing value.\\n\\nTo use BZw.d in a DATA step with list input, change the delimiter for list input with the \\nDLM= or DLMSTR= option in the INFILE statement. By default, SAS interprets blanks between \\nvalues in the data line as delimiters rather than 0s.\\n \\nComparisons:\\nThe BZw.d informat converts trailing or embedded blanks to 0s. If you do not want to convert \\ntrailing blanks to 0s (for example, when reading values in E-notation), use either the w.d \\ninformat or the Ew.d informat instead.\"}},{\"Name\":\"COMMAw.d\",\"Type\":\"SAS_INFORMAT\",\"Help\":{\"#cdata\":\"Removes embedded characters. \\n    \\nSyntax Description: \\nw \\n  specifies the width of the input field. \\n  Default: 1 \\n  Range: 1-32 \\nd \\n  specifies the power of 10 by which to divide the value. If the data contain decimal \\n  points, the d value is ignored. This argument is optional. \\n  Range: 0-31 \\n \\nDetails:\\nThe COMMAw.d informat reads numeric values and removes embedded commas, blanks, dollar \\nsigns, percent signs, dashes, and close parentheses from the input data. The COMMAw.d \\ninformat converts an open parenthesis at the beginning of a field to a minus sign.\\n \\nComparisons:\\nThe COMMAw.d informat operates like the COMMAXw.d informat, but it reverses the roles of \\nthe decimal point and the comma. This convention is common in European countries.\"}},{\"Name\":\"COMMAXw.d\",\"Type\":\"SAS_INFORMAT\",\"Help\":{\"#cdata\":\"Removes embedded characters. \\n    \\nSyntax Description: \\nw \\n  specifies the width of the input field. \\n  Default: 1 \\n  Range: 1-32 \\nd \\n  specifies the power of 10 by which to divide the value. If the data contain a comma, \\n  which represents a decimal point, the d value is ignored. This argument is optional.\\n  Range: 0-31 \\n  \\nDetails: \\nThe COMMAXw.d informat reads numeric values and removes embedded periods, blanks, dollar \\nsigns, percent signs, dashes, and close parentheses from the input data. The COMMAXw.d \\ninformat converts an open parenthesis at the beginning of a field to a minus sign.\\n \\nComparisons:\\nThe COMMAXw.d informat operates like the COMMAw.d informat, but it reverses the roles of \\nthe decimal point and the comma. This convention is common in European countries.\"}},{\"Name\":\"Ew.d\",\"Type\":\"SAS_INFORMAT\",\"Help\":{\"#cdata\":\"Reads numeric values that are stored in scientific notation and double-precision \\nscientific notation. \\n\\nSyntax Description: \\nw \\n  specifies the width of the field that contains the numeric value. \\n  Default: 12 \\n  Range: 1-32 \\nd \\n  specifies the number of digits to the right of the decimal point in the numeric value. \\n  If the data contain decimal points, the d value is ignored. This argument is optional. \\n  Range: 0-31 \\n \\nComparisons:\\nThe Ew.d informat is not used extensively because the SAS informat for standard numeric data, \\nthe w.d informat, can read numbers in scientific notation. Use Ew.d to permit only scientific \\nnotation in your input data.\"}},{\"Name\":\"EUROw.d\",\"Type\":\"SAS_INFORMAT\",\"Help\":{\"#cdata\":\"Reads numeric values and removes embedded characters in European currency and \\nreverses the comma and decimal point. \\n\\nSyntax Description: \\nw \\n  specifies the width of the input field. \\n  Default: 6 \\n  Range: 1-32 \\nd \\n  specifies the power of 10 by which to divide the value. If the data contains decimal \\n  points, the d value is ignored. \\n  Default: 0 \\n  Range: 0-31 \\n \\nDetails:\\nThe EUROw.d informat reads numeric values and removes embedded euro symbols (E), commas, \\nblanks, percent signs, dashes, and close parentheses from the input data. A decimal point \\nis assumed to be a separator between the whole number and the decimal portion. The EUROw.d \\ninformat converts an open parenthesis at the beginning of a field to a minus sign. \\n \\nComparisons:\\nThe EUROw.d informat is similar to the EUROXw.d informat, but EUROXw.d reverses the roles \\nof the decimal point and the comma. This convention is common in European countries.\\n\\nIf no commas or periods appear in the input, then the EUROw.d and the EUROXw.d informats \\nare interchangeable.\"}},{\"Name\":\"EUROXw.d\",\"Type\":\"SAS_INFORMAT\",\"Help\":{\"#cdata\":\"Reads numeric values and removes embedded characters in European currency. \\n    \\nSyntax Description: \\nw \\n  specifies the width of the input field. \\n  Default: 6 \\n  Range: 1-32 \\nd \\n  specifies the power of 10 by which to divide the value. If the data contains decimal \\n  points, the d value is ignored. \\n  Default: 0 \\n  Range: 0-31 \\n  \\nDetails:\\nThe EUROXw.d informat reads numeric values and removes embedded euro symbols (E), periods, \\nblanks, percent signs, dashes, and close parentheses from the input data. A comma is assumed \\nto be a separator between the whole number and the decimal portion. The EUROXw.d informat \\nconverts an open parenthesis at the beginning of a field to a minus sign. \\n \\nComparisons:\\nThe EUROXw.d informat is similar to the EUROw.d informat, but EUROw.d reverses the roles of \\nthe comma and the decimal point. This convention is common in English-speaking countries.\\n\\nIf no commas or periods appear in the input, the EUROXw.d and the EUROw.d informats are interchangeable.\"}},{\"Name\":\"FLOATw.d\",\"Type\":\"SAS_INFORMAT\",\"Help\":{\"#cdata\":\"Reads a native single-precision, floating-point value and divides it by 10 raised \\nto the dth power. \\n\\nSyntax Description:\\nw \\n  specifies the width of the input field. \\n  Requirement: w must be 4.  \\nd \\n  specifies the power of 10 by which to divide the value. This argument is optional.\\n \\nDetails:\\nThe FLOATw.d informat is useful in operating environments where a float value is not the same \\nas a truncated double.\\n\\nOn the IBM mainframe systems, a four-byte floating-point number is the same as a truncated eight-byte \\nfloating-point number. However, in operating environments that use the IEEE floating-point standard, \\nsuch as the IBM PC-based operating environments and most UNIX platforms, a four-byte floating-point \\nnumber is not the same as a truncated double. Therefore, the RB4. informat does not produce the same \\nresults as FLOAT4. Floating-point representations other than IEEE might have this same characteristic. \\nValues read with FLOAT4. typically come from some other external program that is running in your \\noperating environment.\"}},{\"Name\":\"HEXw.\",\"Type\":\"SAS_INFORMAT\",\"Help\":{\"#cdata\":\"Converts hexadecimal positive binary values to either integer (fixed-point) or real \\n(floating-point) binary values. \\n\\nSyntax Description: \\nw \\n  specifies the field width of the input value and also specifies whether the final value \\n  is fixed-point or floating-point.\\n\\n  Default: 8 \\n  Range: 1-16 \\n  Tip: If w<16, HEXw. converts the input value to positive integer binary values, treating \\n  all input values as positive (unsigned). If w is 16, HEXw. converts the input value to real \\n  binary (floating-point) values, including negative values. \\n \\nDetails:\\nNote: Different operating environments store floating-point values in different ways. \\nHowever, HEX16. reads hexadecimal representations of floating-point values with consistent \\nresults if the values are expressed in the same way that your operating environment stores them.  \\n\\nThe HEXw. informat ignores leading or trailing blanks.\"}},{\"Name\":\"IBw.d\",\"Type\":\"SAS_INFORMAT\",\"Help\":{\"#cdata\":\"Reads native integer binary (fixed-point) values, including negative values. \\n    \\nSyntax Description: \\nw \\n  specifies the width of the input field.\\n  Default: 4 \\n  Range: 1-8 \\nd \\n  specifies the power of 10 by which to divide the value. This argument is optional. \\n  Range: 0-10 \\n \\nDetails:\\nThe IBw.d informat reads integer binary (fixed-point) values, including negative values \\nrepresented in two's complement notation. IBw.d reads integer binary values with consistent \\nresults if the values are created in the same type of operating environment that you use to \\nrun SAS. \\n\\nNote:   Different operating environments store integer binary values in different ways. This \\nconcept is called byte ordering.\"}},{\"Name\":\"IBRw.d\",\"Type\":\"SAS_INFORMAT\",\"Help\":{\"#cdata\":\"Reads integer binary (fixed-point) values in Intel and DEC formats. \\n    \\nSyntax Description: \\nw \\n  specifies the width of the input field.\\n  Default: 4 \\n  Range: 1-8 \\nd \\n  specifies the power of 10 by which to divide the value. This argument is optional. \\n  Range: 0-10 \\n  \\nDetails:\\nThe IBRw.d informat reads integer binary (fixed-point) values, including negative values \\nthat are represented in two's complement notation. IBRw.d reads integer binary values that \\nare generated by and for Intel and DEC platforms. Use IBRw.d to read integer binary data \\nfrom Intel or DEC environments in other operating environments. The IBRw.d informat in SAS \\ncode allows for a portable implementation for reading the data in any operating environment.\\n\\nNote: Different operating environments store integer binary values in different ways. \\nThis concept is called byte ordering.\"}},{\"Name\":\"IEEEw.d\",\"Type\":\"SAS_INFORMAT\",\"Help\":{\"#cdata\":\"Reads an IEEE floating-point value and divides it by 10 raised to the d th power. \\n    \\nSyntax Description: \\nw \\n  specifies the width of the input field. \\n  Default: 8 \\n  Range: 2-8 \\n  Tip: If w is 8, an IEEE double-precision, floating-point number is read. If w is 5, 6, \\n  or 7, an IEEE double-precision, floating-point number is read, which assumes truncation \\n  of the appropriate number of bytes. If w is 4, an IEEE single-precision, floating-point \\n  number is read. If w is 3, an IEEE single-precision, floating-point number is read, \\n  which assumes truncation of one byte. \\nd \\nspecifies the power of 10 by which to divide the value.\\n \\nDetails:\\nThe IEEEw.d informat is useful in operating environments where IEEE is the floating-point \\nrepresentation that is used. In addition, you can use the IEEEw.d informat to read files \\nthat are created by programs on operating environments that use the IEEE floating-point \\nrepresentation.\\n\\nTypically, programs generate IEEE values in single precision (4 bytes) or double precision \\n(8 bytes). Truncation is performed by programs solely to save space on output files. Machine \\ninstructions require that the floating-point number be of one of the two lengths. The IEEEw.d \\ninformat allows other lengths, which enables you to read data from files that contain space-saving \\ntruncated data.\"}},{\"Name\":\"NLMNYw.d\",\"Type\":\"SAS_INFORMAT\",\"Help\":{\"#cdata\":\"Reads monetary data in the specified locate for the local expression, and converts \\nthe data to a numeric value. \\n\\nSyntax Description: \\nw \\n  specifies the width of the input field. \\n  Default: 9 \\n  Range: 1-32 \\nd \\n   optionally specifies whether to divide the number by 10^d. If the data contains decimal \\n  separators, the d value is ignored. \\n  Default: 0 \\n  Range: 0-31\\n \\nDetails: \\nThe NLMNYw.d informat reads monetary data in the specified locale for the local expression, \\nand then converts the data to a numeric value. It removes any thousands separators, decimal \\nseparators, blanks, the currency symbol, and the close parenthesis from the input data.\\n \\nComparisons: \\nThe NLMNYw.d informat performs processing that is the opposite of the NLMNYIw.d informat.\\n\\nThe NLMNYw.d informat is similar to the DOLLARw.d informat except that the NLMNYw.d informat \\nis locale-specific.\"}},{\"Name\":\"NLMNYIw.d\",\"Type\":\"SAS_INFORMAT\",\"Help\":{\"#cdata\":\"Reads monetary data in the specified locale for the international expression, and \\nthen converts the data to a numeric value. \\n\\nSyntax Description: \\nw \\n  specifies the width of the input field. \\n  Default: 9 \\n  Range: 1-32 \\nd \\n  optionally specifies whether to divide the number by 10^d. If the data contains decimal \\n  separators, the d value is ignored. \\n  Default: 0 \\n  Range: 0-31 \\n  \\nDetails:\\nThe NLMNYIw.d informat reads monetary data in the specified locale for the international \\nexpression, and then converts the data to a numeric value. It removes any thousands separators, \\ndecimal separators, blanks, the currency symbol, and the close parenthesis from the input data.\\n \\nComparisons:\\nThe NLMNYIw.d informat performs processing that is the opposite of the NLMNYw.d informat.\"}},{\"Name\":\"NLNUMw.d\",\"Type\":\"SAS_INFORMAT\",\"Help\":{\"#cdata\":\"Reads numeric data in the specified locale for local expressions, and then converts \\nthe data to a numeric value. \\n\\nSyntax Description: \\nw \\n  specifies the width of the input field. \\n  Default: 6\\n  Range: 1-32 \\nd \\n  optionally specifies whether to divide the number by 10^d. If the data contains decimal \\n  separators, the d value is ignored. \\n  Default: 0 \\n  Range: 0-31 \\n  \\nDetails:\\nThe NLNUMw.d) informat reads numeric data in the specified locale for local expressions, \\nand then converts the data to a numeric value. It removes any thousands separators, decimal \\nseparators, blanks, the currency symbol, and the close parenthesis from the input data.\\n \\nComparisons:\\nThe NLNUMw.d informat performs processing that is opposite to the NLNUMIw.d informat.\"}},{\"Name\":\"NLNUMIw.d\",\"Type\":\"SAS_INFORMAT\",\"Help\":{\"#cdata\":\"Reads numeric data in the specified locale for international expressions, and then \\nconverts the data to a numeric value. \\n\\nSyntax Description: \\nw \\n  specifies the width of the input field. \\n  Default: 6\\n  Range: 1-32 \\nd \\n  optionally specifies whether to divide the number by 10^d. If the data contains decimal \\n  separators, the d value is ignored. \\n  Default: 0 \\n  Range: 0-31 \\n  \\nDetails:\\nThe NLNUMIw.d informat reads numeric data in the specified locale for international \\nexpressions, and then converts the data to a numeric value. It removes any thousands \\nseparators, decimal separators, blanks, the currency symbol, and the close parenthesis \\nfrom the input data.\\n\\nComparisons: \\nThe NLNUMIw.d informat performs processing that is opposite to the NLNUMw.d informat.\"}},{\"Name\":\"NLPCTw.d\",\"Type\":\"SAS_INFORMAT\",\"Help\":{\"#cdata\":\"Reads percentage data in the specified locale for local expressions, and then \\nconverts the data to a numeric value. \\n\\nSyntax Description: \\nw \\n  specifies the width of the input field. \\n  Default: 6\\n  Range: 1-32 \\nd \\n  optionally specifies whether to divide the number by 10^d. If the data contains decimal \\n  separators, the d value is ignored. \\n  Default: 0 \\n  Range: 0-31 \\n  \\nDetails:\\nThe NLPCTw.d informat reads percentage data in the specified locale for local expressions, \\nand then converts the data to a numeric value. It divides the value by 100 and removes any \\nthousands separators, decimal separators, blanks, the percent sign, and the close parenthesis \\nfrom the input data.\\n \\nComparisons: \\nThe NLPCTw.d informat performs processing that is opposite of the NLPCTIw.d informat. The \\nNLPCTw.d informat is similar to the PERCENTw.d informat except that the NLPCTw.d informat \\nis locale-specific.\"}},{\"Name\":\"NLPCTIw.d\",\"Type\":\"SAS_INFORMAT\",\"Help\":{\"#cdata\":\"Reads percentage data in the specified locale for international expressions, and \\nthen converts the data to a numeric value. \\n\\nSyntax Description: \\nw \\n  specifies the width of the input field. \\n  Default: 6\\n  Range: 1-32 \\nd \\n  optionally specifies whether to divide the number by 10^d. If the data contains decimal \\n  separators, the d value is ignored. \\n  Default: 0 \\n  Range: 0-31 \\n  \\nDetails: \\nThe NLPCTIw.d informat reads percentage data in the specified locale for international \\nexpressions, and then converts the data to a numeric value. It divides the value by 100 \\nand removes any thousands separators, decimal separators, blanks, the percent sign, and \\nthe close parentheses from the input data.\\n \\nComparisons: \\nThe NLPCTIw.d informat performs processing that is opposite of the NLPCTw.d informat.\"}},{\"Name\":\"NUMXw.d\",\"Type\":\"SAS_INFORMAT\",\"Help\":{\"#cdata\":\"Reads numeric values with a comma in place of the decimal point. \\n    \\nSyntax Description: \\nw \\n  specifies the width of the input field. \\n  Default: 12 \\n  Range: 1-32 \\nd \\n  specifies the number of digits to the right of the decimal. If the data contain decimal \\n  points, the d value is ignored. This argument is optional. \\n  Range: 0-31 \\n \\nDetails: \\nThe NUMXw.d informat reads numeric values and interprets a comma as a decimal point.\\n \\nComparisons: \\nThe NUMXw.d informat is similar to the w.d informat except that it reads numeric values \\nthat contain a comma in place of the decimal point.\"}},{\"Name\":\"OCTALw.d\",\"Type\":\"SAS_INFORMAT\",\"Help\":{\"#cdata\":\"Converts positive octal values to integers. \\n    \\nSyntax Description: \\nw \\n  specifies the width of the input field. \\n  Default: 3 \\n  Range: 1-24 \\nd \\n  specifies the power of 10 by which to divide the value. This argument is optional.\\n  Range: 1-31 \\n  Restriction: must be greater than or equal to the w value. \\n \\nDetails: \\nUse only the digits 0 through 7 in the input, with no embedded blanks. The OCTALw.d \\ninformat ignores leading and trailing blanks.\\n\\nOCTALw.d cannot read negative values. It treats all input values as positive (unsigned).\"}},{\"Name\":\"PDw.d\",\"Type\":\"SAS_INFORMAT\",\"Help\":{\"#cdata\":\"Reads data that are stored in IBM packed decimal format. \\n    \\nSyntax Description: \\nw \\n  specifies the width of the input field. \\n  Default: 1 \\n  Range: 1-16 \\nd \\n  specifies the power of 10 by which to divide the value. This argument is optional. \\n  Range: 0-10 \\n \\nDetails:\\nThe PDw.d informat is useful because many programs write data in packed decimal format for \\nstorage efficiency, fitting two digits into each byte and using only a half byte for a sign. \\n\\nNote: Different operating environments store packed decimal values in different ways. However, \\nPDw.d reads packed decimal values with consistent results if the values are created on the same \\ntype of operating environment that you use to run SAS.  \\n\\nThe PDw.d format writes missing numerical data as -0. When the PDw.d informat reads -0, it \\nstores it as 0.\"}},{\"Name\":\"PERCENTw.d\",\"Type\":\"SAS_INFORMAT\",\"Help\":{\"#cdata\":\"Reads percentages as numeric values. \\n    \\nSyntax Description: \\nw \\n  specifies the width of the input field. \\n  Default: 6 \\n  Range: 1-32 \\nd \\n  specifies the power of 10 by which to divide the value. If the data contain decimal \\n  points, the d value is ignored. This argument is optional. \\n  Range: 0-31 \\n \\nDetails:\\nThe PERCENTw.d informat converts the numeric portion of the input data to a number using \\nthe same method as the COMMAw.d informat. If a percent sign (%) follows the number in the \\ninput field, PERCENTw.d divides the number by 100.\"}},{\"Name\":\"PIBw.d\",\"Type\":\"SAS_INFORMAT\",\"Help\":{\"#cdata\":\"Reads positive integer binary (fixed-point) values. \\n    \\nSyntax Description: \\nw \\n  specifies the width of the input field. \\n  Default: 1 \\n  Range: 1-8 \\nd \\n  specifies the power of 10 by which to divide the value. This argument is optional. \\n  Range: 0-10 \\n \\nDetails:\\nAll values are treated as positive. PIBw.d reads positive integer binary values with \\nconsistent results if the values are created in the same type of operating environment \\nthat you use to run SAS.\\n\\nNote: Different operating environments store positive integer binary values in different \\nways. This concept is called byte ordering.\"}},{\"Name\":\"PIBRw.d\",\"Type\":\"SAS_INFORMAT\",\"Help\":{\"#cdata\":\"Reads positive integer binary (fixed-point) values in Intel and DEC formats. \\n    \\nSyntax Description: \\nw \\n  specifies the width of the input field. \\n  Default: 1 \\n  Range: 1-8 \\nd \\n  specifies the power of 10 by which to divide the value. This argument is optional. \\n  Range: 0-10 \\n  \\nDetails:\\nAll values are treated as positive. PIBRw.d reads positive integer binary values that have \\nbeen generated by and for Intel and DEC operating environments. Use PIBRw.d to read positive \\ninteger binary data from Intel or DEC environments on other operating environments. The \\nPIBRw.d informat in SAS code allows for a portable implementation for reading the data in \\nany operating environment. \\n\\nNote: Different operating environments store positive integer binary values in different \\nways. This concept is called byte ordering.\"}},{\"Name\":\"PKw.d\",\"Type\":\"SAS_INFORMAT\",\"Help\":{\"#cdata\":\"Reads unsigned packed decimal data. \\n    \\nSyntax Description:\\n\\nw \\n  specifies the number of bytes of unsigned packed decimal data, each of which contains two digits.\\n  Default: 1 \\n  Range: 1-16 \\nd \\n  specifies the power of 10 by which to divide the value. This argument is optional. \\n  Range: 0-10 \\n \\nDetails: \\nEach byte of unsigned packed decimal data contains two digits.\\n \\nComparisons: \\nThe PKw.d informat is the same as the PDw.d informat, except that PKw.d treats the sign \\nhalf of the field's last byte as part of the value, not as the sign of the value.\"}},{\"Name\":\"RBw.d\",\"Type\":\"SAS_INFORMAT\",\"Help\":{\"#cdata\":\"Reads numeric data that are stored in real binary (floating-point) notation. \\n    \\nSyntax Description:\\nw \\nspecifies the width of the input field.\\n\\nd \\nspecifies the power of 10 by which to divide the input value. This argument \\nis optional. If you specify d, the RBw.d informat divides the input value by \\nthe 10d value. SAS uses the d value even if the input data contains decimal points.\\n\\nDetails:\\nThe RBw.d informat reads numeric data that is stored in native real-binary (floating-point) \\nnotation. Numeric data for scientific calculations is often stored in floating-point notation. \\n(SAS stores all numeric values in floating-point notation.) A floating-point value consists of \\ntwo parts: a mantissa that gives the value and an exponent that gives the value's magnitude.\\n\\nIt is usually impossible to key in floating-point binary data directly from a terminal, but \\nmany programs write floating-point binary data. Use caution if you are using the RBw.d \\ninformat to read floating-point data created by programs other than SAS because the RBw.d \\ninformat is designed to read-only double-precision data.\"}},{\"Name\":\"S370FFw.d\",\"Type\":\"SAS_INFORMAT\",\"Help\":{\"#cdata\":\"Reads EBCDIC numeric data. \\n    \\nSyntax Description: \\nw \\n  specifies the width of the input field. \\n  Default: 12 \\n  Range: 1-32 \\nd \\n  specifies the power of 10 by which to divide the value. This argument is optional. \\n  Range: 0-31 \\n \\nDetails:\\nThe S370FFw.d informat reads numeric data that are represented in EBCDIC and converts the data \\nto native format. If EBCDIC is the native format, S370FFw.d performs no conversion.\\n\\nS370FFw.d reads EBCDIC numeric values that are represented with one byte per digit. Use S370FFw.d \\non other operating environments to read numeric data from IBM mainframe files.\\n\\nS370FFw.d reads numeric values located anywhere in the input field. EBCDIC blanks can precede \\nor follow a numeric value with no effect. If a value is negative, an EBCDIC minus sign should \\nimmediately precede the value. S370FFw.d reads values with EBCDIC decimal points and values in \\nscientific notation, and it interprets a single EBCDIC period as a missing value.\\n \\nComparisons:\\nThe S370FFw.d informat performs the same role for numeric data that the $EBCDICw.d informat \\ndoes for character data. That is, on an IBM mainframe system, S370FFw.d has the same effect \\nas the standard w.d informat. On all other systems, using S370FFw.d is equivalent to using \\n$EBCDICw.d as well as using the standard w.d informat.\"}},{\"Name\":\"S370FIBw.d\",\"Type\":\"SAS_INFORMAT\",\"Help\":{\"#cdata\":\"Reads integer binary (fixed-point) values, including negative values, \\nin IBM mainframe format. \\n\\nSyntax Description: \\nw \\n  specifies the width of the input field. \\n  Default: 4 \\n  Range: 1-8 \\nd \\n  specifies the power of 10 by which to divide the value. This argument is optional.\\n\\n  Range: 0-10 \\n  \\nDetails:\\nThe S370FIBw.d informat reads integer binary (fixed-point) values that are stored in \\nIBM mainframe format, including negative values that are represented in two's complement \\nnotation. S370FIBw.d reads integer binary values with consistent results if the values \\nare created in the same type of operating environment that you use to run SAS.\\n\\nUse S370FIBw.d for integer binary data that are created in IBM mainframe format for \\nreading in other operating environments. \\n\\nNote: Different operating environments store integer binary values in different ways. \\nThis concept is called byte ordering.\"}},{\"Name\":\"S370FIBUw.d\",\"Type\":\"SAS_INFORMAT\",\"Help\":{\"#cdata\":\"Reads unsigned integer binary (fixed-point) values in IBM mainframe format. \\n    \\nSyntax Description: \\nw \\n  specifies the width of the input field. \\n  Default: 4 \\n  Range: 1-8 \\nd \\n  specifies the power of 10 by which to divide the value. SAS uses the d value even \\n  if the data contain decimal points. This argument is optional.\\n  Range: 0-10 \\n \\nDetails: \\nThe S370FIBUw.d informat reads unsigned integer binary (fixed-point) values that are \\nstored in IBM mainframe format, including negative values that are represented in two's \\ncomplement notation. Unsigned integer binary values are the same as integer binary values, \\nexcept that all values are treated as positive. S370FIBUw.d reads integer binary values \\nwith consistent results if the values are created in the same type of operating environment \\nthat you use to run SAS.\\n\\nUse S370FIBUw.d for unsigned integer binary data that are created in IBM mainframe format \\nfor reading in other operating environments. \\n\\nNote: Different operating environments store integer binary values in different ways. \\nThis concept is called byte ordering.   \\n \\nComparisons:\\nThe S370FIBUw.d informat is equivalent to the COBOL notation PIC 9(n) BINARY, where n \\nis the number of digits.\\n\\nThe S370FIBUw.d and S370FPIBw.d informats are identical.\\nS370FPIBw.d, S370FIBUw.d, and S370FIBw.d are used to read big endian integers in any \\noperating environment.\"}},{\"Name\":\"S370FPDw.d\",\"Type\":\"SAS_INFORMAT\",\"Help\":{\"#cdata\":\"Reads packed data in IBM mainframe format. \\n    \\nSyntax Description: \\nw \\n  specifies the width of the input field. \\n  Default: 1 \\n  Range: 1-16 \\nd \\n  specifies the power of 10 by which to divide the value. This argument is optional. \\n  Default: 0 \\n  Range: 0-31 \\n \\nDetails:\\nPacked decimal data contain two digits per byte, but only one digit in the input field \\nrepresents the sign. The last half of the last byte indicates the sign: a C or an F for \\npositive numbers and a D for negative numbers.\\n\\nUse S370FPDw.d to read packed decimal data from IBM mainframe files on other operating \\nenvironments.\"}},{\"Name\":\"S370FPDUw.d\",\"Type\":\"SAS_INFORMAT\",\"Help\":{\"#cdata\":\"Reads unsigned packed decimal data in IBM mainframe format. \\n    \\nSyntax Description: \\nw \\n  specifies the width of the input field. \\n  Default: 1 \\n  Range: 1-16 \\nd \\n  specifies the power of 10 by which to divide the value. This argument is optional. \\n  Default: 0 \\n  Range: 0-31 \\n  \\nDetails: \\nPacked decimal data contain two digits per byte. The last half of the last byte, which \\nindicates the sign for signed packed data, is always F for unsigned packed data. \\n\\nUse S370FPDUw.d on other operating environments to read unsigned packed decimal data \\nfrom IBM mainframe files.\\n \\nComparisons:\\nThe S370FPDUw.d informat is similar to the S370FPDw.d informat except that the S370FPDUw.d \\ninformat rejects all sign digits except F.\\n\\nThe S370FPDUw.d informat is equivalent to the COBOL notation PIC 9(n) PACKED-DECIMAL, \\nwhere the n value is the number of digits.\"}},{\"Name\":\"S370FPIBw.d\",\"Type\":\"SAS_INFORMAT\",\"Help\":{\"#cdata\":\"Reads positive integer binary (fixed-point) values in IBM mainframe format. \\n    \\nSyntax Description: \\nw \\n  specifies the width of the input field. \\n  Default: 4 \\n  Range: 1-8 \\nd \\n  specifies the power of 10 by which to divide the value. This argument is optional. \\n  Default: 0 \\n  Range: 0-10 \\n \\nDetails:\\nPositive integer binary values are the same as integer binary values, except that all values \\nare treated as positive. S370FPIBw.d reads integer binary values with consistent results if \\nthe values are created in the same type of operating environment that you use to run SAS. \\n\\nUse S370FPIBw.d for positive integer binary data that are created in IBM mainframe format for \\nreading in other operating environments. \\n\\nNote: Different operating environments store integer binary values in different ways. This \\nconcept is called byte ordering.  \\n\\nComparisons:\\nIf you use SAS on an IBM mainframe, S370FPIBw.d and PIBw.d are identical. \\nS370FPIBw.d, S370FIBUw.d, and S370FIBw.d are used to read big endian integers in any \\noperating environment.\"}},{\"Name\":\"S370FRBw.d\",\"Type\":\"SAS_INFORMAT\",\"Help\":{\"#cdata\":\"Reads real binary (floating-point) data in IBM mainframe format. \\n    \\nSyntax Description: \\nw \\n  specifies the width of the input field. \\n  Default: 6 \\n  Range: 2-8 \\nd \\n  specifies the power of 10 by which to divide the value. This argument is optional. \\n  Range: 0-10 \\n \\nDetails: \\nReal binary values are represented in two parts: a mantissa that gives the value, and \\nan exponent that gives the value's magnitude.\\n\\nUse S370FRBw.d to read real binary data from IBM mainframe files on other operating environments. \\nIf you use SAS on an IBM mainframe, S370FRBw.d and RBw.d are identical.\"}},{\"Name\":\"S370FZDw.d\",\"Type\":\"SAS_INFORMAT\",\"Help\":{\"#cdata\":\"Reads zoned decimal data in IBM mainframe format. \\n    \\nSyntax Description: \\nw \\n  specifies the width of the input field. \\n  Default: 8 \\n  Range: 1-32 \\nd \\n  specifies the power of 10 by which to divide the value. If the data contain decimal \\n  points, the d value is ignored. This argument is optional. \\n  Default: 0 \\n  Range: 0-31 \\n \\nDetails: \\nZoned decimal data are similar to standard decimal data in that every digit requires \\none byte. However, the value's sign is stored in the last byte, along with the last digit.\\n\\nUse S370FZDw.d on other operating environments to read zoned decimal data from IBM mainframe files.\\n\\nComparisons:\\nIf you use SAS on an IBM mainframe, S370FZDw.d and ZDw.d are identical.\"}},{\"Name\":\"S370FZDLw.d\",\"Type\":\"SAS_INFORMAT\",\"Help\":{\"#cdata\":\"Reads zoned decimal leading-sign data in IBM mainframe format. \\n    \\nSyntax Description: \\nw \\n  specifies the width of the input field. \\n  Default: 8 \\n  Range: 1-32 \\nd \\n  specifies the power of 10 by which to divide the value. This argument is optional. \\n  Default: 0 \\n  Range: 0-31 \\n \\nDetails:\\nUse S370FZDLw.d on other operating environments to read zoned decimal data from IBM \\nmainframe files.\\n \\nComparisons:\\nZoned decimal leading-sign data is similar to standard zoned decimal data except that the \\nsign of the value is stored in the first byte of zoned decimal leading-sign data, along with \\nthe first digit.\\n\\nThe S370FZDLw.d informat is equivalent to the COBOL notation PIC S9(n) DISPLAY SIGN LEADING, \\nwhere the n value is the number of digits.\"}},{\"Name\":\"S370FZDSw.d\",\"Type\":\"SAS_INFORMAT\",\"Help\":{\"#cdata\":\"Reads zoned decimal separate leading-sign data in IBM mainframe format. \\n    \\nSyntax Description:\\nw \\n  specifies the width of the input field. \\n  Default: 8 \\n  Range: 2-32 \\nd \\n  specifies the power of 10 by which to divide the value. This argument is optional. \\n  Default: 0 \\n  Range: 0-31 \\n \\nDetails:\\nUse S370FZDSw.d on other operating environments to read zoned decimal data from IBM \\nmainframe files.\\n\\nComparisons:\\nZoned decimal separate leading-sign data is similar to standard zoned decimal data except \\nthat the sign of the value is stored in the first byte of zoned decimal leading sign data, \\nand the first digit of the value is stored in the second byte.\\n\\nThe S370FZDSw.d informat is equivalent to the COBOL notation PIC S9(n) DISPLAY SIGN LEADING \\nSEPARATE, where the n value is the number of digits.\"}},{\"Name\":\"S370FZDTw.d\",\"Type\":\"SAS_INFORMAT\",\"Help\":{\"#cdata\":\"Reads zoned decimal separate trailing-sign data in IBM mainframe format. \\n    \\nSyntax Description:\\nw \\n  specifies the width of the input field. \\n  Default: 8 \\n  Range: 2-32 \\nd \\n  specifies the power of 10 by which to divide the value. This argument is optional. \\n  Default: 0 \\n  Range: 0-31 \\n  \\nDetails:\\nUse S370FZDTw.d on other operating environments to read zoned decimal data from IBM \\nmainframe files.\\n \\nComparisons:\\nZoned decimal separate trailing-sign data are similar to zoned decimal separate leading-sign \\ndata except that the sign of the value is stored in the last byte of zoned decimal separate \\ntrailing-sign data.\\n\\nThe S370FZDTw.d informat is equivalent to the COBOL notation PIC S9(n) DISPLAY SIGN TRAILING \\nSEPARATE, where the n value is the number of digits.\"}},{\"Name\":\"S370FZDUw.d\",\"Type\":\"SAS_INFORMAT\",\"Help\":{\"#cdata\":\"Reads unsigned zoned decimal data in IBM mainframe format. \\n    \\nSyntax Description:\\nw \\n  specifies the width of the input field. \\n  Default: 8 \\n  Range: 2-32 \\nd \\n  specifies the power of 10 by which to divide the value. This argument is optional. \\n  Default: 0 \\n  Range: 0-31 \\n  \\nDetails:\\nUse S370FZDUw.d on other operating environments to read unsigned zoned decimal data from \\nIBM mainframe files.\\n \\nComparisons: \\nThe S370FZDUw.d informat is similar to the S370FZDw.d informat except that the S370FZDUw.d \\ninformat rejects all sign digits except F.\\n\\nThe S370FZDUw.d informat is equivalent to the COBOL notation PIC 9(n) DISPLAY, where the n \\nvalue is the number of digits.\"}},{\"Name\":\"TRAILSGNw.\",\"Type\":\"SAS_INFORMAT\",\"Help\":{\"#cdata\":\"Reads a trailing plus (+) or minus (-) sign. \\n    \\nSyntax Description:\\n\\nw \\n  specifies the width of the input field.\\n\\n  Default: 6 \\n  Range: 1-32 \\n \\nDetails: \\nIf the data contains a decimal point, the TRAILSGN informat honors the number of decimal \\nplaces that are in the input data. If the data contains a comma, the TRAILSGN informat \\nreads the value, ignoring the comma.\"}},{\"Name\":\"VAXRBw.d\",\"Type\":\"SAS_INFORMAT\",\"Help\":{\"#cdata\":\"Reads real binary (floating-point) data in VMS format. \\n    \\nSyntax Description: \\nw \\n  specifies the width of the input field. \\n  Default: 4 \\n  Range: 2-8 \\nd \\n  specifies the power of 10 by which to divide the value. This argument is optional.\\n  Range: 0-10 \\n \\nDetails:\\nUse the VAXRBw.d informat to read floating-point data from VMS files on other operating environments.\\n \\nComparisons:\\nIf you use SAS that is running under VMS, the VAXRBw.d and the RBw.d informats are identical.\"}},{\"Name\":\"w.d\",\"Type\":\"SAS_INFORMAT\",\"Help\":{\"#cdata\":\"Reads standard numeric data. \\n    \\nSyntax Description:\\nw \\n  specifies the width of the input field. \\n  Range: 1-32 \\nd \\n  specifies the power of 10 by which to divide the value. If the data contain decimal \\n  points, the d value is ignored. This argument is optional. \\n  Range: 0-31 \\n \\nDetails:\\nThe w.d informat reads numeric values that are located anywhere in the field. Blanks can \\nprecede or follow a numeric value with no effect. A minus sign with no separating blank \\nshould immediately precede a negative value. The w.d informat reads values with decimal \\npoints and values in scientific E-notation, and it interprets a single period as a missing value.\\n \\nComparisons: \\nThe w.d informat is identical to the BZw.d informat, except that the w.d informat ignores \\ntrailing blanks in the numeric values. To read trailing blanks as 0s, use the BZw.d informat.\\n\\nThe w.d informat can read values in scientific E-notation exactly as the Ew.d informat does.\"}},{\"Name\":\"YENw.d\",\"Type\":\"SAS_INFORMAT\",\"Help\":{\"#cdata\":\"Removes embedded yen signs, commas, and decimal points. \\n    \\nSyntax Description: \\nw \\n  specifies the width of the input field. \\n  Default: 1 \\n  Range: 1-32 \\nd \\n  specifies the power of 10 by which to divide the value. \\n  Requirement: d must be 0 or 2 \\n  Tip: If the d is 2, then YENw.d reads a decimal point and two decimal digits. If d is 0, \\n  YENw.d reads the value without a decimal point.  \\n \\nDetails:\\nThe hexadecimal representation of the code for the yen sign character is 5B on EBCDIC \\nsystems and 5C on ASCII systems. The monetary character that these codes represent might \\nbe different in other countries.\"}},{\"Name\":\"ZDw.d\",\"Type\":\"SAS_INFORMAT\",\"Help\":{\"#cdata\":\"Reads zoned decimal data. \\n    \\nSyntax Description: \\nw \\n  specifies the width of the input field. \\n  Default: 1 \\n  Range: 1-32 \\nd \\n  specifies the power of 10 by which to divide the value. This argument is optional. \\n  Range: 1-31 \\n \\nDetails:\\nThe ZDw.d informat reads zoned decimal data in which every digit requires one byte and in \\nwhich the last byte contains the value's sign along with the last digit.\\n\\nNote: Different operating environments store zoned decimal values in different ways. However, \\nZDw.d reads zoned decimal values with consistent results if the values are created in the same \\ntype of operating environment that you use to run SAS.  \\n\\nYou can enter positive values in zoned decimal format from a personal computer. Some keying \\ndevices enable you to enter negative values by overstriking the last digit with a minus sign.\\n \\nComparisons:\\nLike the w.d informat, the ZDw.d informat reads data in which every digit requires one byte. \\nUse ZDVw.d or ZDw.d to read zoned decimal data in which the last byte contains the last digit \\nand the sign.\\n\\nThe ZDw.d informat functions like the ZDVw.d informat with one exception: ZDVw.d validates the \\ninput string and disallows invalid data.\"}},{\"Name\":\"ZDBw.d\",\"Type\":\"SAS_INFORMAT\",\"Help\":{\"#cdata\":\"Reads zoned decimal data in which zeros have been left blank. \\n    \\nSyntax Description: \\nw \\n  specifies the width of the input field. \\n  Default: 1 \\n  Range: 1-32 \\nd \\n  specifies the power of 10 by which to divide the value. This argument is optional. \\n  Range: 0-31 \\n \\nDetails:\\nThe ZDBw.d informat reads zoned decimal data that are produced in IBM 1410, 1401, and 1620 \\nform, where 0s are left blank rather than being punched.\"}},{\"Name\":\"ZDVw.d\",\"Type\":\"SAS_INFORMAT\",\"Help\":{\"#cdata\":\"Reads and validates zoned decimal data. \\n    \\nSyntax Description: \\nw \\n  specifies the width of the input field. \\n  Default: 1 \\n  Range: 1-32 \\nd \\n  specifies the power of 10 by which to divide the value. This argument is optional. \\n  Range: 1-31 \\n \\nDetails:\\nThe ZDVw.d informat reads data in which every digit requires one byte and in which the last \\nbyte contains the value's sign along with the last digit. It also validates the input string \\nand disallows invalid data.\\n\\nZDVw.d is dependent on the operating environment. For example, on IBM mainframes, ZDVw.d requires \\nan F for all high-order nibbles except the last. (In contrast, the ZDw.d informat ignores the \\nhigh-order nibbles for all bytes except for the nibbles that are associated with the sign.) The \\nlast high-order nibble accepts values ranging from A-F, where A, C, E, and F are positive values \\nand B and D are negative values. The low-order nibble on IBM mainframes must be a numeric digit \\nthat ranges from 0-9, as with ZD.\\n\\nNote: Different operating environments store zoned decimal values in different ways. However, \\nthe ZDVw.d informat reads zoned decimal values with consistent results if the values are created \\nin the same type of operating environment that you use to run SAS.  \\n \\nComparisons:\\nThe ZDVw.d informat functions like the ZDw.d informat with one exception: ZDVw.d validates the \\ninput string and disallows invalid data.\"}},{\"Name\":\"$BASE64Xw.\",\"Type\":\"SAS_INFORMAT\",\"Help\":{\"#cdata\":\"Converts ASCII text to character data by using Base 64 encoding. \\n    \\nSyntax Description:\\nw \\n  specifies the width of the input field. \\n  Default: 1 \\n  Range: 1-32767 \\n \\nDetails:\\nBase 64 is an industry encoding method whose encoded characters are determined by using a \\npositional scheme that uses only ASCII characters. Several Base 64 encoding schemes have \\nbeen defined by the industry for specific uses, such as e-mail or content masking. SAS maps \\npositions 0-61 to the characters A-Z, a-z, and 0-9. Position 62 maps to the character +, and \\nposition 63 maps to the character /. \\n\\nThe following are some uses of Base 64 encoding:\\n\\n  o embed binary data in an XML file \\n  o encode passwords \\n  o encode URLs\\n\\nThe '=' character in the encoded results indicates that the results have been padded with \\nzero bits. In order for the encoded characters to be decoded, the '=' must be included in \\nthe value to be decoded.\"}},{\"Name\":\"$N8601Bw.d\",\"Type\":\"SAS_INFORMAT\",\"Help\":{\"#cdata\":\"Reads complete, truncated, and omitted forms of ISO 8601 duration, datetime, and \\ninterval values that are specified in either the basic or extended notations. \\n\\nSyntax Description: \\nw \\n  specifies the width of the input field. \\n  \\n  Default: 50 \\n  Range: 1 - 200 \\n  Requirement: The minimum length for a duration value or a datetime value is 16. The minimum \\n  length for an interval value is 16. \\nd \\n  specifies the number of digits to the right of the decimal point in the seconds value. \\n  This argument is optional.\\n\\n  Default: 0 \\n  Range: 0 - 3 \\n  \\nComparisons: \\nThe $N8601B informat reads durations, intervals, and datetimes that are specified in either \\nthe basic or extended notation. The $N8601E informat reads valid durations, intervals, and \\ndatetimes that are specified only in the extended notation. Use the $N8601E informat when you \\nneed to ensure compliance with the extended notation.\"}},{\"Name\":\"$N8601Ew.d\",\"Type\":\"SAS_INFORMAT\",\"Help\":{\"#cdata\":\"Reads ISO 8601 duration, datetime, and interval values that are specified in the \\nextended notation. \\n\\nSyntax Description: \\nw \\n  specifies the width of the input field. \\n  \\n  Default: 50 \\n  Range: 1 - 200 \\n  Requirement: The minimum length for a duration value or a datetime value is 16. The minimum \\n  length for an interval value is 16. \\nd \\n  specifies the number of digits to the right of the decimal point in the seconds value. \\n  This argument is optional.\\n\\n  Default: 0 \\n  Range: 0 - 3 \\n  \\nComparisons:\\nThe $N8601E informat reads only valid durations, intervals, and datetimes that are specified \\nin the extended notation. The $N8601B informat reads valid durations, intervals, and datetimes \\nthat are specified in either the basic or extended notation. Use the $N8601E informat when you \\nneed to ensure compliance with the extended notation.\"}},{\"Name\":\"B8601DAw.|ND8601DAw.\",\"Type\":\"SAS_INFORMAT\",\"Help\":{\"#cdata\":\"Reads date values that are specified in the ISO 8601 basic notation yyyymmdd. \\n    \\nSyntax Description: \\nw \\n  specifies the width of the input field.\\n\\n  Default: 10 \\n  Requirement: The width of the output field must be 10. \\n \\nDetails: \\nThe B8602DA informat reads date values that are specified in the ISO 8601 basic date \\nnotation yyyymmdd:\\n\\n  yyyy is a four-digit year, such as 2008\\n \\n  mm is a two-digit month (zero padded) between 01 and 12\\n \\n  dd is a two-digit day of the month (zero padded) between 01 and 31\"}},{\"Name\":\"B8601DNw.|ND8601DNw.\",\"Type\":\"SAS_INFORMAT\",\"Help\":{\"#cdata\":\"Reads date values that are specified the ISO 8601 basic notation yyyymmdd and returns \\nSAS datetime values where the time portion of the value is 000000. \\n\\nSyntax Description:\\nw \\n  specifies the width of the input field.\\n\\n  Default: 10 \\n  Requirement: The width of the input field must be 10. \\n \\nDetails:\\nThe B8602DN informat reads date values that are specified in the ISO 8601 basic date \\nnotation yyyymmdd and returns the date in a SAS datetime value:\\n\\nyyyy is a four-digit year, such as 2008.\\n \\nmm is a two-digit month (zero padded) between 01 and 12.\\n \\ndd is a two-digit day of the month (zero padded) between 01 and 31.\"}},{\"Name\":\"B8601DTw.d|ND8601DTw.d\",\"Type\":\"SAS_INFORMAT\",\"Help\":{\"#cdata\":\"Reads datetime values that are specified in the ISO 8601 basic notation yyyymmddThhmmssffffff. \\n    \\nSyntax Description: \\nw \\n  specifies the width of the input field. \\n  Default: 19 \\n  Range: 19-26 \\nd \\n  specifies the number of digits to the right of the decimal point in the seconds value. This argument is optional.\\n\\n  Default: 0 \\n  Range: 0-6 \\n \\nDetails:\\nThe B8602DT informat reads datetime values that are specified in the ISO 8601 basic datetime \\nnotation yyyymmddThhmmssffffff:\\n\\n  yyyy is a four-digit year, such as 2008 \\n  mm is a two-digit month (zero padded) between 01 and 12 \\n  dd is a two-digit day of the month (zero padded) between 01 and 31 \\n  hh is a two-digit hour (zero padded), between 00 - 23 \\n  mm is a two-digit minute (zero padded), between 00 - 59 \\n  ss is a two-digit second (zero padded), between 00 - 59 \\n  ffffff are optional fractional seconds, with a precision of up to six digits, \\n  where each digit is between 0 - 9\"}},{\"Name\":\"B8601DZw.d|ND8601DZw.d\",\"Type\":\"SAS_INFORMAT\",\"Help\":{\"#cdata\":\"Reads datetime values that are specified in the Coordinated Universal Time (UTC) \\ntime scale using the ISO 8601 datetime basic notation yyyymmddThhmmss+|-hhmm or \\nyyyymmddThhmmssffffffZ. \\n\\nSyntax Description:\\nw \\n  specifies the width of the input field. \\n  Default: 26 \\n  Range: 20-35 \\nd \\n  specifies the number of digits to the right of the seconds value, which represents \\n  a fraction of a second. This argument is optional. \\n  Default: 0 \\n  Range: 0-6 \\n \\nDetails:\\nUTC values specify a time and a time zone based on the zero meridian in Greenwich, England. \\nThe B8602DZ informat reads datetime values that are specified in one of the following ISO 8601 \\nbasic datetime notations: \\n\\n yyyymmddThhmmss+|-hhmm  \\n yyyymmddThhmmssffffffZ  \\n\\nwhere: \\n  yyyy is a four-digit year, such as 2008 \\n  mm is a two-digit month (zero padded) between 01 and 12 \\n  dd is a two-digit day of the month (zero padded) between 01 and 31 \\n  hh is a two-digit hour (zero padded), between 00 and 24 \\n  mm is a two-digit minute (zero padded), between 00 and 59 \\n  ss is a two-digit second (zero padded), between 00 and 59 \\n  .ffffff \\n  are optional fractional seconds, with a precision of up to six digits, where each digit is between 0 and 9.\\n\\n  Z indicates that the time is for zero meridian (Greenwich, England) or UTC time. \\n  +|-hhmm \\n    is an hour and minute signed offset from zero meridian time. Note that the offset must be \\n    +|-hhmm (that is, + or - and four characters). \\n\\n    Use + for time zones east of the zero meridian and use - for time zones west of the zero meridian. \\n    For example, +0200 indicates a two hour time difference to the east of the zero meridian, and -0600 \\n    indicates a six hour time differences to the west of the zero meridian.\\n\\n    Restriction: The shorter form +|-hh is not supported.\"}},{\"Name\":\"B8601TMw.d|ND8601TMw.d\",\"Type\":\"SAS_INFORMAT\",\"Help\":{\"#cdata\":\"Reads time values that are specified in the ISO 8601 basic notation hhmmssffffff. \\n    \\nSyntax Description: \\nw \\n  specifies the width of the input field. \\n  Default: 8 \\n  Range: 8-15 \\nd \\n  specifies the number of digits to the right of the decimal point in the seconds value. \\n  This argument is optional. \\n  Default: 0 \\n  Range: 0-6 \\n \\nDetails:\\nThe B8601TM informat reads time values that are specified in the ISO 8601 basic time notation hhmmssffffff:\\n\\n  hh is a two-digit hour (zero padded), between 00 and 23 \\n  mm is a two-digit minute (zero padded), between 00 and 59 \\n  ss is a two-digit second (zero padded), between 00 and 59 \\n  \\n  .ffffff \\n  are optional fractional seconds, with a precision of up to six digits, where each digit is between 0 - 9\"}},{\"Name\":\"B8601TZw.d|ND8601TZw.d\",\"Type\":\"SAS_INFORMAT\",\"Help\":{\"#cdata\":\"Reads time values that are specified in the ISO 8601 basic time notation hhmmssfffff+|-hhmm \\nor hhmmssffffffZ. \\n\\nSyntax Description: \\nw \\n  specifies the width of the input field. \\n  Default: 14 \\n  Range: 9-20 \\nd \\n  (optional) specifies the number of digits to the right of the decimal point in the seconds value. \\n  Default: 0 \\n  Range: 0 - 6 \\n \\nDetails:\\nUTC time values specify a time and a time zone based on the zero meridian in Greenwich, England. \\nThe B8602TZ informat reads time values that are specified in the following ISO 8601 basic time notations: \\n\\n hhmmssffffff+|-hhmm  \\n hhmmssffffffZ  \\n\\nwhere:\\n  hh is a two-digit hour (zero padded), between 00 and 23 \\n  mm is a two-digit minute (zero padded), between 00 and 59 \\n  ss is a two-digit second (zero padded), between 00 and 59\\n\\n  ffffff \\n  are optional fractional seconds, with a precision of up to six digits, where each digit is between 0 and 9\\n\\n  Z indicates that the time is for zero meridian (Greenwich, England) or UTC time\\n  +|-hh:mm \\n    is an hour and minute signed offset from zero meridian time. Note that the offset must \\n    be +|-hhmm (that is, + or - and four characters). \\n\\n    Use + for time zones east of the zero meridian and use - for time zones west of the zero \\n    meridian. For example, +0200 indicates a two hour time difference to the east of the zero\\n    meridian, and -0600 indicates a six hour time differences to the west of the zero meridian.\\n    Restriction: The shorter form +|-hh is not supported.\"}},{\"Name\":\"E8601DAw.|IS8601DAw.\",\"Type\":\"SAS_INFORMAT\",\"Help\":{\"#cdata\":\"Reads date values that are specified in the ISO 8601 extended notation yyyy-mm-dd. \\n    \\nSyntax Description: \\nw \\n  specifies the width of the input field. \\n  Default: 10 \\n  Requirement: The width of the input field must be 10. \\n \\nDetails: \\nThe E8601DA informat reads date values that are specified in the ISO 8601 extended date notation yyyy-mm-dd:\\n\\n  yyyy is a four-digit year, such as 2008  \\n  mm is a two-digit month (zero padded) between 01 and 12  \\n  dd is a two-digit day of the month (zero padded) between 01 and 31\"}},{\"Name\":\"E8601DNw.|IS8601DNw.\",\"Type\":\"SAS_INFORMAT\",\"Help\":{\"#cdata\":\"Reads date values that are specified in the ISO 8601 extended notation yyyy-mm-dd \\nand returns SAS datetime values where the time portion of the value is 000000. \\n\\nSyntax Description: \\nw \\n  specifies the width of the input field. \\n  Default: 10 \\n  Requirement: The width of the input field must be 10. \\n \\nDetails: \\nThe E8601DN informat reads date values that are specified in the ISO 8601 extended date \\nnotation is yyyy-mm-dd and returns the date in a SAS datetime value:\\n\\n  yyyy is a four-digit year, such as 2008  \\n  mm is a two-digit month (zero padded) between 01 and 12  \\n  dd is a two-digit day of the month (zero padded) between 01 and 31\"}},{\"Name\":\"E8601DTw.d|IS8601DTw.d\",\"Type\":\"SAS_INFORMAT\",\"Help\":{\"#cdata\":\"Reads datetime values that are specified in the ISO 8601 extended notation \\nyyyy-mm-ddThh:mm:ss.ffffff. \\n\\nSyntax Description:\\nw \\n  specifies the width of the input field. \\n  Default: 19 \\n  Range: 19-26 \\nd \\n  specifies the number of digits to the right of the decimal point in the seconds value. \\n  This argument is optional. \\n  Default: 0 \\n  Range: 0-6 \\n \\nDetails:\\nThe E8601DT informat reads datetime values that are specified in the ISO 8601 extended \\ndatetime notationyyyy-mm-ddThh:mm:ss.ffffff:\\n\\n  yyyy is a four-digit year, such as 2008. \\n  mm is a two-digit month (zero padded) between 01 and 12. \\n  dd is a two-digit day of the month (zero padded) between 01 and 31. \\n  hh is a two-digit hour (zero padded), between 00 and 23. \\n  mm is a two-digit minute (zero padded), between 00 and 59. \\n  ss is a two-digit second (zero padded), between 00 and 59.\\n\\n  .ffffff \\n  are optional fractional seconds, with a precision of up to six digits, where each digit \\n  is between 0 and 9.\"}},{\"Name\":\"E8601DZw.d|IS8601DZw.d\",\"Type\":\"SAS_INFORMAT\",\"Help\":{\"#cdata\":\"Reads datetime values that are specified in the Coordinated Universal Time (UTC) \\ntime scale using the ISO 8601 datetime extended notation hh:mm:ss+|-hh:mm.fffff \\nor hh:mm:ss.fffffZ. \\n\\nSyntax Description: \\nw \\n  specifies the width of the input field. \\n  Default: 26 \\n  Range: 20-35 \\nd \\n  specifies the number of digits to the right of the decimal point in the value for the '\\n  lowest order component. This argument is optional. \\n  Default: 0 \\n  Range: 0-6 \\n \\nDetails: \\nUTC values specify a time and a time zone based on the zero meridian in Greenwich, England. \\nThe E8602DZ informat reads datetime values contain UTC time offsets and that are specified \\nin one of the following ISO 8601 extended datetime notations: \\n\\n yyyy-mm-ddThh:mm:ss.ffffff+|-hh:mm  \\n yyyy-mm-ddThh:mm:ss.ffffffZ  \\n\\nwhere\\n  yyyy is a four-digit year, such as 2008 \\n  mm is a two-digit month (zero padded) between 01 and 12 \\n  dd is a two-digit day of the month (zero padded) between 01 and 31 \\n  hh is a two-digit hour (zero padded), between 00 and 24 \\n  mm is a two-digit minute (zero padded), between 00 and 59 \\n  ss is a two-digit second (zero padded), between 00 and 59\\n\\n  .ffffff \\n  are optional fractional seconds, with a precision of up to six digits, where each digit is between 0 and 9\\n\\n  Z indicates that the time is UTC time at the zero meridian (Greenwich, England) \\n\\n  +|-hh:mm \\n    is an hour and minute signed offset from zero meridian time. Note that the offset must \\n    be +|-hh:mm (that is, + or - and five characters). \\n\\n    Use + for time zones east of the zero meridian and use - for time zones west of the zero \\n    meridian. For example, +02:00 indicates a two hour time difference to the east of the zero\\n    meridian, and -06:00 indicates a six hour time differences to the west of the zero meridian.\\n    Restriction: The shorter form +|-hh is not supported.\"}},{\"Name\":\"E8601LZw.d|IS8601LZw.d\",\"Type\":\"SAS_INFORMAT\",\"Help\":{\"#cdata\":\"Reads Coordinated Universal Time (UTC) values that are specified in the ISO 8601 \\nextended notation hh:mm:ss+|-hh:mm.fffff or hh:mm:ss.fffffZ and converts them \\nto the local time. \\n\\nSyntax Description: \\nw \\n  specifies the width of the input field. \\n  Default: 14 \\n  Range: 9-20 \\n  Requirement: To read a time with the Z time zone indicator, the width of the input field \\n  must be 9 if data follows on the same line of data. \\nd \\n  specifies the number of digits to the right of the decimal point in the value for the lowest \\n  order component. This argument is optional. \\n  Default: 0 \\n  Range: 0-6 \\n \\nDetails:\\nUTC values specify a time and a time zone based on the zero meridian in Greenwich, England. \\nThe E8602LZ informat reads UTC time values that are specified in one of the following ISO 8601 \\nextended time notations and return a SAS time value for the local time: \\n\\n hh:mm:ss.ffffff+|-00:00  \\n hh:mm:ss.ffffffZ  \\n\\nwhere\\n  hh is a two-digit hour (zero padded), between 00 and 23 \\n  mm is a two-digit minute (zero padded), between 00 and 59 \\n  ss is a two-digit second (zero padded), between 00 and 59\\n\\n  .ffffff \\n  are optional fractional seconds, with a precision of up to six digits, where each digit \\n  is between 0 and 9\\n\\n  Z indicate zero meridian or UTC time.\\n\\n  +|-hh:mm \\n    is an hour and minute signed offset from zero meridian or UTC time. Note that the offset \\n    must be +|-hh:mm (that is, + or - and five characters). \\n\\n    Use the + for time zones east of the zero meridian and use the - for time zones west of \\n    the zero meridian.\\n    Restriction: The shorter form +|-hh is not supported.\"}},{\"Name\":\"E8601TMw.d|IS8601TMw.d\",\"Type\":\"SAS_INFORMAT\",\"Help\":{\"#cdata\":\"Reads time values that are specified in the ISO 8601 extended notation hh:mm:ss.ffffff. \\n    \\nSyntax Description: \\nw \\n  specifies the width of the input field. \\n  Default: 8 \\n  Range: 8-15 \\nd \\n  specifies the number of digits to the right of the decimal point in the seconds value. \\n  This argument is optional.\\n  Default: 0 \\n  Range: 0-6 \\n \\nDetails: \\nThe E8601TM informat reads time values that are specified in the following ISO 8601 extended \\ntime notation: \\n\\n hh:mm:ss.ffffff \\n \\nwhere\\n  hh is a two-digit hour (zero padded), between 00 and 23 \\n  mm is a two-digit minute (zero padded), between 00 and 59 \\n  ss is a two-digit second (zero padded), between 00 and 59\\n\\n  .ffffff \\n  are optional fractional seconds, with a precision of up to six digits, where each digit \\n  is between 0 and 9\"}},{\"Name\":\"E8601TZw.d|IS8601TZw.d\",\"Type\":\"SAS_INFORMAT\",\"Help\":{\"#cdata\":\"Reads time values that are specified in the ISO 8601 extended time notation \\nhh:mm:ss+|-hh:mm.ffffff or hh:mm:ssZ.\\n\\nSyntax Description: \\nw \\n  specifies the width of the input field. \\n  Default: 14 \\n  Range: 9-20 \\n  Requirement: To read a time with the Z time zone indicator, the width of the input field\\n  must be 9 if data follows on the same line of data. \\n\\nd \\n  (optional) specifies the number of digits to the right of the decimal point in the value \\n  for the lowest order component. \\n  Default: 0 \\n  Range: 0-6 \\n \\nDetails:\\nUTC time values specify a time and a time zone based on the zero meridian in Greenwich, England. \\nThe E8602TZ informat reads UTC time values that are specified in one of the following ISO 8601 \\nextended notations: \\n\\n  hh:mm:ss+|-hh:mm.ffffff  \\n  hh:mm:ss  \\n\\nThe following list explains the UTC time variables:\\n\\n  hh is a two-digit hour (zero padded), between 00 and 23 \\n  mm is a two-digit minute (zero padded), between 00 and 59 \\n  ssis a two-digit second (zero padded), between 00 and 59\\n\\n  .ffffff \\n  are optional fractional seconds, with a precision of up to six digits, where each \\n  digit is between 0 - 9\\n\\n  Z indicate zero meridian or UTC time\\n\\n  +|-hh:mm \\n    is an hour and minute signed offset from zero meridian. Note that the offset must\\n    be +|-hh:mm (that is, + or - and five characters). \\n\\n    Use the + for time zones east of the zero meridian and use the - for time zones west \\n    of the zero meridian. \\n    Restriction: The shorter form +|-hh is not supported.\"}},{\"Name\":\"S370FZDBw.d\",\"Type\":\"SAS_INFORMAT\",\"Help\":{\"#cdata\":\"Reads zoned decimal data in which zeros have been left blank. \\n    \\nSyntax Description\\n\\nw \\n  specifies the width of the input field. \\n  Default: 8 \\n  Range: 1-32 \\nd \\n  specifies the power of 10 by which to divide the value. This argument is optional. \\n  Default: 0 \\n  Range: 0-31 \\n \\nDetails:\\nUse the S370ZFDBw.d informat on other operating environments to read zoned decimal \\ndata from IBM mainframe files.\"}},{\"Name\":\"SIZEKMGw.d\",\"Type\":\"SAS_INFORMAT\",\"Help\":{\"#cdata\":\"Reads numeric data that is appended to the letters K, M, or G.\\n    \\nSyntax Description: \\nw \\n  specifies the width of the input field. \\n  Default: 6 \\n  Range: 4-35 \\nd \\n  specifies the number of digits to the right of the decimal point in the numeric \\n  value. This argument is optional. \\n  Default: 0 \\n  Range: 0-31 \\n \\nDetails: \\nThe SAS data value that results when the SIZEKMGw.d informat reads a number that contains \\na K, M, or G is the number multiplied by the following values:\\n\\n  K 1024  \\n  M 1048576  \\n  G 1073741824\"}},{\"Name\":\"VMSZNw.d\",\"Type\":\"SAS_INFORMAT\",\"Help\":{\"#cdata\":\"Reads VMS and MicroFocus COBOL zoned numeric data. \\n    \\nSyntax Description: \\nw \\n  specifies the width of the output field.\\nd \\n  specifies the number of digits to the right of the decimal point in the numeric value. \\n  This argument is optional.\\n \\nDetails:\\nThe VMSZNw.d informat is similar to the ZDw.d informat. Both read a string of ASCII digits, \\nand the last digit is a special character denoting the magnitude of the last digit and the \\nsign of the entire number. The difference between the VMSZNw.d informat and the ZDw.d informat \\nis in the special character used for the last digit. The following table shows the special \\ncharacters used by the VMSZNw.d informat. \\n\\nDesired   Special    Desired   Special\\nDigit       Character Digit        Character \\n0             0             -0              p \\n1             1             -1              q \\n2             2             -2              r \\n3             3             -3              s \\n4             4             -4              t \\n5             5             -5              u \\n6             6             -6              v \\n7             7             -7              w \\n8             8             -8              x \\n9             9             -9              y \\n\\nData formatted using the VMSZNw.d informat are ASCII strings.\"}},{\"Name\":\"B8601CIw.d\",\"Type\":\"SAS_INFORMAT\",\"Help\":{\"#cdata\":\"Reads an IBM date and time value that includes a century marker, in the form cyymmddhhmmss<fff>.\\n    \\nSyntax: B8601CIw.d\\n\\nSyntax Description:\\nw specifies the width of the input field. \\n  Default:16 \\n  Range:10\\u201326 \\nd specifies the number of digits to the right of the decimal point in the seconds value. \\n  Default:0 \\n  Range:0\\u20136\\n  \\nDetails:\\nThe B8601CI informat reads time values that are specified in the following IBM time notation: \\n    cyymmddhhmmss<fff> \\nc  is a single digit that represents a century: \\n  0 indicates the years 1900\\u20131999. \\n  1 indicates the years 2000\\u20132099. \\n  2 indicates the years 2100\\u20132199. \\n  n indicates the years 00\\u201399 in a century that is determined by performing a calculation \\n  on a year greater than 2199. To determine the century marker, subtract 1900 from the year \\n  and divide the result by 100. Discard the remainder. The remaining integer is the century \\n  marker. For example, to determine the century marker for the year 2382, perform this \\n  calculation: (2382-1900)/100=4.82. Discard .82. The century marker is 4.  \\n\\nyy is a two-digit year between 00 and 99. \\nmm is a two-digit month (zero padded) between 01 and 12. \\ndd is a two-digit day of the month (zero padded) between 01 and 31. \\nhh is a two-digit hour (zero padded) between 00 and 23. \\nmm is a two-digit minute (zero padded) between 00 and 59. \\nss is a two-digit second (zero padded) between 00 and 59. \\nfff are optional fractional seconds, with a precision of up to three digits, where \\n  each digit is between 0 and 9.\"}},{\"Name\":\"B8601DJw.d\",\"Type\":\"SAS_INFORMAT\",\"Help\":{\"#cdata\":\"Reads a Java date and time value that is in the form yyyymmddhhmmss<ffffff>.\\n    \\nSyntax: B8601DJw.d\\n\\nSyntax Description:\\nw \\n  specifies the width of the input field. \\n  Default:16 \\n  Range:10\\u201326 \\nd \\n  specifies the number of digits to the right of the decimal point in the seconds value. \\n  Default:0 \\n  Range:0\\u20136\\n  \\nDetails:\\nThe B8601DJ informat reads a date and time value that is specified in the following Java \\ndate and time notation: \\n\\n    yyyymmddhhmmss<ffffff> \\n    \\nyyyy\\n  is a four-digit year between 0000 and 9999. \\nmm\\n  is a two-digit month (zero padded) between 01 and 12. \\ndd\\n  is a two-digit day of the month (zero padded) between 01 and 31. \\nhh\\n  is a two-digit hour (zero padded) between 00 and 23. \\nmm\\n  is a two-digit minute (zero padded) between 00 and 59. \\nss\\n  is a two-digit second (zero padded) between 00 and 59. \\nffffff\\n  are optional fractional seconds, with a precision of up to six digits, where each \\n  digit is between 0 and 9.\"}},{\"Name\":\"HHMMSSw.\",\"Type\":\"SAS_INFORMAT\",\"Help\":{\"#cdata\":\"Reads hours, minutes, and seconds in the form hh:mm:ss or hhmmss.\\n    \\nSyntax: HHMMSSw. \\n\\nSyntax Description:\\nw \\n  specifies the width of the input field. \\n  Default:8 \\n  Range:1\\u201320\\n  \\nDetails:\\nThe HHMMSSw. informat reads SAS time values in one of the following forms: \\n  o hh:mm:ss\\n  o hhmmss\\nhh\\n  is an integer that represents the number of hours. \\n: \\n  represents a special character that separates hours, minutes, and seconds. \\nmm\\n  is an integer that represents the number of minutes. \\nss\\n  is an integer that represents the number of seconds. Fractional seconds are ignored.\"}},{\"Name\":\"B8601DXw.\",\"Type\":\"SAS_INFORMAT\",\"Help\":{\"#cdata\":\"Adjusts a Coordinated Universal Time (UTC) datetime value to the user local date and time. Then, \\nreads the local date and time by using the ISO 8601 datetime and time zone basic notation \\nyyyymmddThhmmss+|-hhmm.\"}},{\"Name\":\"B8601LXw.\",\"Type\":\"SAS_INFORMAT\",\"Help\":{\"#cdata\":\"Reads datetime values as local time by appending a time zone offset difference between the local \\ntime and UTC, using the ISO 8601 basic notation yyyymmddThhmmss+|\\u2013hhmm.\"}},{\"Name\":\"B8601TXw.\",\"Type\":\"SAS_INFORMAT\",\"Help\":{\"#cdata\":\"Adjusts a Coordinated Universal Time (UTC) value to the user local time. Then, reads the local \\ntime by using the ISO 8601 basic time notation hhmmss+|\\u2013hhmm.\"}},{\"Name\":\"E8601DXw.\",\"Type\":\"SAS_INFORMAT\",\"Help\":{\"#cdata\":\"Adjusts a Coordinated Universal Time (UTC) datetime value to the user local date and time. Then, \\nreads the local date and time by using the ISO 8601 datetime and time zone extended notation \\nyyyy-mm-ddThh:mm:ss+|-hh:mm.\"}},{\"Name\":\"E8601LXw.\",\"Type\":\"SAS_INFORMAT\",\"Help\":{\"#cdata\":\"Reads datetime values as local time by appending a time zone offset difference between the local \\ntime and UTC, using the ISO 8601 extended notation yyyy-mm-ddThh:mm:ss+|-hh:mm.\"}},{\"Name\":\"E8601TXw.\",\"Type\":\"SAS_INFORMAT\",\"Help\":{\"#cdata\":\"Adjusts a Coordinated Universal Time (UTC) value to the user local time. Then, reads the local \\ntime by using the ISO 8601 extended time notation hh:mm:ss+|-hh:mm.\"}}],\"#comment\":[{},{}]}}"
  },
  {
    "path": "server/data/SASMacroFunctions.json",
    "content": "{\"Keywords\":{\"Keyword\":[{\"Name\":\"%BQUOTE\",\"Type\":\"MACRO_FUNCTION\",\"Help\":{\"#cdata\":\"[Syntax: %BQUOTE (character string | text expression)]\\n    \\nMask special characters and mnemonic operators in a resolved value at macro execution.\"}},{\"Name\":\"%DEQUOTE\",\"Type\":\"MACRO_FUNCTION\",\"Help\":{\"#cdata\":\"Removes matching quotation marks from a character string that begins with a quotation mark, \\nand deletes all characters to the right of the closing quotation mark.\"}},{\"Name\":\"%NRBQUOTE\",\"Type\":\"MACRO_FUNCTION\",\"Help\":{\"#cdata\":\"[Syntax: %NRBQUOTE (character string | text expression)]\\n    \\nMask special characters and mnemonic operators in a resolved value at macro execution.\"}},{\"Name\":\"%EVAL\",\"Type\":\"MACRO_FUNCTION\",\"Help\":{\"#cdata\":\"[Syntax: %EVAL (arithmetic or logical expression)]\\n\\nEvaluates arithmetic and logical expressions using integer arithmetic.\"}},{\"Name\":\"%INDEX\",\"Type\":\"MACRO_FUNCTION\",\"Help\":{\"#cdata\":\"[Syntax: %INDEX (source, string)]\\n    \\nReturns the position of the first character of a string.\"}},{\"Name\":\"%LENGTH\",\"Type\":\"MACRO_FUNCTION\",\"Help\":{\"#cdata\":\"[Syntax: %LENGTH (character string | text expression)]\\n\\nReturns the length of a string.\"}},{\"Name\":\"%QUOTE\",\"Type\":\"MACRO_FUNCTION\",\"Help\":{\"#cdata\":\"[Syntax: %QUOTE (character string | text expression)]\\n    \\nMask special characters and mnemonic operators in a resolved value at macro execution.\\nUnmatched quotation marks (\\\" \\\")  and parentheses ( () )  must be marked with a preceding %.\"}},{\"Name\":\"%NRQUOTE\",\"Type\":\"MACRO_FUNCTION\",\"Help\":{\"#cdata\":\"[Syntax: %NRQUOTE (character string | text expression)]\\n    \\nMask special characters and mnemonic operators in a resolved value at macro execution.\\nUnmatched quotation marks (\\\" \\\")  and parentheses ( () )  must be marked with a preceding %.\"}},{\"Name\":\"%SCAN\",\"Type\":\"MACRO_FUNCTION\",\"Help\":{\"#cdata\":\"[Syntax: %SCAN(argument, n<, delimiters>)] \\n    \\nSearch for a word that is specified by its position in a string.\"}},{\"Name\":\"%QSCAN\",\"Type\":\"MACRO_FUNCTION\",\"Help\":{\"#cdata\":\"[Syntax: %QSCAN(argument, n<, delimiters>)]\\n\\nMasks special characters and mnemonic operators in its result.\"}},{\"Name\":\"%STR\",\"Type\":\"MACRO_FUNCTION\",\"Help\":{\"#cdata\":\"[Syntax: %STR (character-string)]\\n\\nMask special characters and mnemonic operators in constant text at macro compilation.\\nUnmatched quotation marks (\\\" \\\")  and parentheses ( () )  must be marked with a preceding %.\"}},{\"Name\":\"%NRSTR\",\"Type\":\"MACRO_FUNCTION\",\"Help\":{\"#cdata\":\"[Syntax: %NRSTR (character-string)]\\n\\nMask special characters and mnemonic operators in constant text at macro compilation.\\nUnmatched quotation marks (\\\" \\\")  and parentheses ( () )  must be marked with a preceding %.\"}},{\"Name\":\"%SUBSTR\",\"Type\":\"MACRO_FUNCTION\",\"Help\":{\"#cdata\":\"[Syntax: %SUBSTR (argument, position<, length>)] \\n    \\nProduce a substring of a character string.\"}},{\"Name\":\"%QSUBSTR\",\"Type\":\"MACRO_FUNCTION\",\"Help\":{\"#cdata\":\"[Syntax: %QSUBSTR (argument, position<, length>)]\\n\\nProduce a substring of a character string. %QSUBSTR masks special characters and mnemonic \\noperators in its result.\"}},{\"Name\":\"%SUPERQ\",\"Type\":\"MACRO_FUNCTION\",\"Help\":{\"#cdata\":\"[Syntax: %SUPERQ (argument)] \\n    \\nMasks all special characters and mnemonic operators at macro execution but prevents resolution \\nof the value.\"}},{\"Name\":\"%SYMEXIST\",\"Type\":\"MACRO_FUNCTION\",\"Help\":{\"#cdata\":\"[Syntax: %SYMEXIST (argument)]\\n\\nReturns an indication as to whether the named macro variable exists.\"}},{\"Name\":\"%SYMGLOBL\",\"Type\":\"MACRO_FUNCTION\",\"Help\":{\"#cdata\":\"[Syntax: %SYMGLOBL(macro-variable-name)] \\n    \\nReturns an indication as to whether the named macro variable is global in scope.\"}},{\"Name\":\"%SYMLOCAL\",\"Type\":\"MACRO_FUNCTION\",\"Help\":{\"#cdata\":\"[Syntax: %SYMLOCAL(macro-variable-name)]\\n\\nReturns an indication as to whether the named macro variable is local in scope.\"}},{\"Name\":\"%SYSEVALF\",\"Type\":\"MACRO_FUNCTION\",\"Help\":{\"#cdata\":\"[Syntax: %SYSEVALF(expression<, conversion-type>)]\\n\\nEvaluates arithmetic and logical expressions using floating point arithmetic.\"}},{\"Name\":\"%SYSFUNC\",\"Type\":\"MACRO_FUNCTION\",\"Help\":{\"#cdata\":\"[Syntax: %SYSFUNC (function(argument(s))<, format>)] \\n    \\nExecute SAS functions or user-written functions.\"}},{\"Name\":\"%QSYSFUNC\",\"Type\":\"MACRO_FUNCTION\",\"Help\":{\"#cdata\":\"[Syntax: %QSYSFUNC (function(argument(s))<, format>)]\\n\\nExecute SAS functions or user-written functions. Masks special characters and mnemonic operators \\nin its result.\"}},{\"Name\":\"%SYSGET\",\"Type\":\"MACRO_FUNCTION\",\"Help\":{\"#cdata\":\"[Syntax: %SYSGET(environment-variable)]\\n\\nReturns the value of a specified host environment variable.\"}},{\"Name\":\"%SYSPROD\",\"Type\":\"MACRO_FUNCTION\",\"Help\":{\"#cdata\":\"[Syntax: %SYSPROD (product)]\\n\\nReports whether a SAS software product is licensed at the site.\"}},{\"Name\":\"%UNQUOTE\",\"Type\":\"MACRO_FUNCTION\",\"Help\":{\"#cdata\":\"[Syntax: %UNQUOTE (character string | text expression)]\\n\\nUnmasks all special characters and mnemonic operators for a value.\"}},{\"Name\":\"%UPCASE\",\"Type\":\"MACRO_FUNCTION\",\"Help\":{\"#cdata\":\"[Syntax: %UPCASE (character string | text expression)]\\n    \\nConverts characters to uppercase.\"}},{\"Name\":\"%LOWCASE\",\"Type\":\"MACRO_FUNCTION\",\"Help\":{\"#cdata\":\"[Syntax: %LOWCASE (character string | text expression)]\\n\\nConverts characters to lowercase. LOWCASE returns a result without quotation marks, even if the \\nargument has quotation marks.\"}},{\"Name\":\"%QLOWCASE\",\"Type\":\"MACRO_FUNCTION\",\"Help\":{\"#cdata\":\"[Syntax: %QLOWCASE (character string | text expression)]\\n\\nConverts characters to lowercase.\\nQLOWCASE produces a result with the following special characters and mnemonic operators masked\\nso the macro processor interprets them as text instead of as elements of the macro language:\\n& % ' \\\" ( ) + - * / < > = \\u00ac ^ ~ ; , blank AND OR NOT EQ NE LE LT GE GT\"}},{\"Name\":\"%QUPCASE\",\"Type\":\"MACRO_FUNCTION\",\"Help\":{\"#cdata\":\"[Syntax: %QUPCASE (character string | text expression)] \\n    \\nConvert characters to uppercase. %QUPCASE masks special characters and mnemonic operators \\nin its result.\"}},{\"Name\":\"%PUT\",\"Type\":\"MACRO_FUNCTION\",\"Help\":{\"#cdata\":\"Returns a value using a specified format.\"}},{\"Name\":\"%TPLOT\",\"Type\":\"MACRO_FUNCTION\",\"Help\":{\"#cdata\":\"The %TPLOT macro creates a triangular plot that graphically displays genetic marker \\ntest results. The plot has colors and shapes representing p-value ranges for tests \\nof the following quantities: linkage disequilibrium between pairs of markers, Hardy-\\nWeinberg equilibrium (HWE) for individual markers, and associations between markers \\nand a dichotomous trait (such as disease status).\"}},{\"Name\":\"%SYSMACEXEC\",\"Type\":\"MACRO_FUNCTION\",\"Help\":{\"#cdata\":\"Returns an indication of the execution status of a macro.\\n    \\nSyntax: \\n%SYSMACEXEC(macro_name) \\n\\nRequired Argument:\\nmacro_name \\n  the name of a macro or a text expression that yields the name of the macro. \\n\\nDetails:\\nThe %SYSMACEXEC function returns the number 1 if the macro is currently executing. \\nOtherwise, if the macro is not executing, the number 0 is returned.\"}},{\"Name\":\"%SYSMACEXIST\",\"Type\":\"MACRO_FUNCTION\",\"Help\":{\"#cdata\":\"Returns an indication of the existence of a macro definition in the WORK.SASMACR \\ncatalog. Otherwise, the returned value is 0.\\n    \\nSyntax \\n%SYSMACEXIST(macro-name) \\nRequired Argument \\nmacro-name \\nthe name of a macro or a text expression that yields the name of a macro. \\nDetails \\nThe %SYSMACEXIST function returns the number 1 if a definition for the macro exists in the WORK.SASMACR catalog. If there is not a macro definition, the returned value is 0.\"}},{\"Name\":\"%SYSMEXECDEPTH\",\"Type\":\"MACRO_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the nesting depth of macro execution from the point of the call to %SYSMEXECDEPTH.\\n    \\nSyntax:\\n%SYSMEXECDEPTH\\n\\nDetails:\\nTo retrieve the nesting level of the currently executing macro, use the %SYSMEXECDEPTH. \\nThis function returns a number indicating the depth of the macro in nested macro calls. \\n\\nThe following are the %SYSMEXECDEPTH return value descriptions: \\n  0  open code \\n >0  nesting level\"}},{\"Name\":\"%SYSMEXECNAME\",\"Type\":\"MACRO_FUNCTION\",\"Help\":{\"#cdata\":\"Returns the name of the macro executing at a requested nesting level.\\n    \\nSyntax:\\n%SYSMEXECNAME (n) \\n\\nRequired Argument:\\nn \\n  The nesting level at which you are requesting the macro name. \\n    0 open code \\n    >0 nesting level\"}},{\"Name\":\"%CMPRES\",\"Type\":\"MACRO_FUNCTION\",\"Help\":{\"#cdata\":\"Syntax: %CMPRES (text | text expression)\\n\\nCompresses multiple blanks and removes leading and trailing blanks.\"}},{\"Name\":\"%QCMPRES\",\"Type\":\"MACRO_FUNCTION\",\"Help\":{\"#cdata\":\"Syntax: %QCMPRES (text | text expression)\\n\\nCompresses multiple blanks and removes leading and trailing blanks.\\n\\n%QCMPRES masks the result so special characters and mnemonic operators are treated \\nas text instead of being interpreted by the macro facility.\"}},{\"Name\":\"%COMPSTOR\",\"Type\":\"MACRO_FUNCTION\",\"Help\":{\"#cdata\":\"Syntax: %COMPSTOR (PATHNAME=SAS-data-library)\\n\\nCompiles macros and stores them in a catalog in a permanent SAS library.\"}},{\"Name\":\"%DATATYP\",\"Type\":\"MACRO_FUNCTION\",\"Help\":{\"#cdata\":\"Syntax:%DATATYP (text | text expression)\\n\\nReturns the data type (numeric or char) of a value.\"}},{\"Name\":\"%LEFT\",\"Type\":\"MACRO_FUNCTION\",\"Help\":{\"#cdata\":\"Syntax: %LEFT(text | text expression)\\n    \\nLeft-aligns an argument by removing leading blanks.\"}},{\"Name\":\"%QLEFT\",\"Type\":\"MACRO_FUNCTION\",\"Help\":{\"#cdata\":\"Syntax: %QLEFT(text | text expression)\\n\\nLeft-aligns an argument by removing leading blanks.\\n\\nQLEFT masks the result so special characters and mnemonic operators are treated as \\ntext instead of being interpreted by the macro facility.\"}},{\"Name\":\"%SYSRC\",\"Type\":\"MACRO_FUNCTION\",\"Help\":{\"#cdata\":\"[Syntax: %SYSRC(character-string)]\\n\\nReturns a value corresponding to an error condition.\"}},{\"Name\":\"%TRIM\",\"Type\":\"MACRO_FUNCTION\",\"Help\":{\"#cdata\":\"Syntax: %TRIM(text | text expression)\\n\\nTrim trailing blanks.\"}},{\"Name\":\"%QTRIM\",\"Type\":\"MACRO_FUNCTION\",\"Help\":{\"#cdata\":\"Syntax: %QTRIM(text | text expression)\\n    \\nTrim trailing blanks. Masks special characters and mnemonic operators.\"}},{\"Name\":\"%VERIFY\",\"Type\":\"MACRO_FUNCTION\",\"Help\":{\"#cdata\":\"Syntax: %VERIFY(source, excerpt)\\n    \\nReturns the position of the first character unique to an expression.\"}},{\"Name\":\"%DQLOAD\",\"Type\":\"MACRO_FUNCTION\",\"Help\":{\"#cdata\":\"Syntax: %DQLOAD(DQLOCALE=(locale1 ...localeN), DQSETUPLOC=`file-specification', <DQINFO=0 | 1>)\\n    \\nSets system option values and loads locales into memory.\"}},{\"Name\":\"%DQPUTLOC\",\"Type\":\"MACRO_FUNCTION\",\"Help\":{\"#cdata\":\"Syntax: %DQPUTLOC(locale, <SHORT=0 | 1>, <PARSEDEFN=0 | 1)>\\n    \\nDisplays current information on a specified locale in the SAS log.\"}},{\"Name\":\"%DQUNLOAD\",\"Type\":\"MACRO_FUNCTION\",\"Help\":{\"#cdata\":\"Syntax: %DQUNLOAD \\n    \\nUnloads all locales to increase the amount of free memory.\"}},{\"Name\":\"%KLOWCASE\",\"Type\":\"MACRO_FUNCTION\",\"Help\":{\"#cdata\":\"Syntax: %KLOWCASE (text | text expression) \\n\\nChanges uppercase alphabetic characters to their lowercase equivalents. If the argument \\nmight contain a special character or mnemonic operator, listed below, use %QKLOWCAS. \\n\\n%KLOWCASE returns a result without quotation marks, even if the argument has quotation marks. \\n%QKLOWCAS produces a result with the following special characters and mnemonic operators masked \\nso the macro processor interprets them as text instead of as elements of the macro language: \\n\\n  & % ' \\\" ( ) + - * / < > = \\u00ac ^ ~ ; , blank AND OR NOT EQ NE LE LT GE GT IN \\n\\nAutocall macros are included in a SAS library. This library might not be installed at your site \\nor might be a site-specific version. If you cannot access this macro or if you want to find out \\nif the library is a site-specific version, see your on-site SAS support personnel.\"}},{\"Name\":\"%QKLOWCAS\",\"Type\":\"MACRO_FUNCTION\",\"Help\":{\"#cdata\":\"Syntax: %QKLOWCAS (text | text expression) \\n\\nChanges uppercase alphabetic characters to their lowercase equivalents. If the argument \\nmight contain a special character or mnemonic operator, listed below, use %QKLOWCAS. \\n\\n%KLOWCASE returns a result without quotation marks, even if the argument has quotation marks. \\n%QKLOWCAS produces a result with the following special characters and mnemonic operators masked \\nso the macro processor interprets them as text instead of as elements of the macro language: \\n\\n  & % ' \\\" ( ) + - * / < > = \\u00ac ^ ~ ; , blank AND OR NOT EQ NE LE LT GE GT IN \\n\\nAutocall macros are included in a SAS library. This library might not be installed at your site \\nor might be a site-specific version. If you cannot access this macro or if you want to find out \\nif the library is a site-specific version, see your on-site SAS support personnel.\"}},{\"Name\":\"%KTRIM\",\"Type\":\"MACRO_FUNCTION\",\"Help\":{\"#cdata\":\"Syntax: %KTRIM (text | text expression) \\n    \\nTrims trailing blanks. If the argument contains a special character or mnemonic operator, \\nlisted below, use %QKTRIM. \\n\\nQKTRIM produces a result with the following special characters and mnemonic operators masked \\nso the macro processor interprets them as text instead of as elements of the macro language: \\n\\n  & % ' \\\" ( ) + - * / < > = \\u00ac ? ~ ; , # blank AND OR NOT EQ NE LE LT GE GT IN \\n  \\nAutocall macros are included in a SAS library. This library might not be installed at your \\nsite or might be a site-specific version. If you cannot access this macro or if you want to \\nfind out if the library is a site-specific version, see your on-site SAS support personnel.\"}},{\"Name\":\"%QKTRIM\",\"Type\":\"MACRO_FUNCTION\",\"Help\":{\"#cdata\":\"Syntax: %QKTRIM (text | text expression) \\n \\n    \\nTrims trailing blanks. If the argument contains a special character or mnemonic operator, \\nlisted below, use %QKTRIM. \\n\\nQKTRIM produces a result with the following special characters and mnemonic operators masked \\nso the macro processor interprets them as text instead of as elements of the macro language: \\n\\n  & % ' \\\" ( ) + - * / < > = \\u00ac ? ~ ; , # blank AND OR NOT EQ NE LE LT GE GT IN \\n  \\nAutocall macros are included in a SAS library. This library might not be installed at your \\nsite or might be a site-specific version. If you cannot access this macro or if you want to \\nfind out if the library is a site-specific version, see your on-site SAS support personnel.\"}},{\"Name\":\"%KVERIFY\",\"Type\":\"MACRO_FUNCTION\",\"Help\":{\"#cdata\":\"Syntax: %KVERIFY (source, excerpt) \\n\\nReturns the position of the first character unique to an expression. \\n\\nArguments:\\nsource \\n  is text or a text expression that you want to examine for characters that do not exist in excerpt. \\nexcerpt \\n  is text or a text expression that defines the set of characters that %KVERIFY uses to examine source.\"}}],\"#comment\":[{},{},{},{},{}]}}"
  },
  {
    "path": "server/data/SASMacroStatements.json",
    "content": "{\"Keywords\":{\"Keyword\":[{\"Name\":\"%ABORT\",\"Type\":\"MACRODEFONLY\",\"Help\":{\"#cdata\":\"[Syntax: %ABORT <ABEND | CANCEL <FILE> | RETURN | <n>> ;]\\n\\nABEND causes abnormal termination of the current macro and SAS job or session.\\n\\nABORT causes your macro, windowing environment, and interactive line mode to stop \\nprocessing immediately and return you to your operating environment. n is an integer \\nvalue that enables you to specify a condition code that SAS returns to the operating \\nenvironment when it stops executing.\"}},{\"Name\":\"%COPY\",\"Type\":\"OPENCODE_OR_MACRODEF\",\"Help\":{\"#cdata\":\"[Syntax: %COPY macro-name< /options(s)>]\\n\\nCopies specified items from a SAS macro library.\"}},{\"Name\":\"%DISPLAY\",\"Type\":\"OPENCODE_OR_MACRODEF\",\"Help\":{\"#cdata\":\"[Syntax: %DISPLAY window<.group><NOINPUT><BLANK> <BELL><DELETE>;]\\n    \\nDisplays a macro window.\\n\\nNOINPUT specifies that you cannot input values into fields displayed in the window.\\n\\nBLANK  clears the display.\\n\\nBELL rings your terminal's bell, if available, when the window is displayed.\\n\\nDELETE deletes the display of the window after processing passes from the %DISPLAY \\nstatement on which the option appears.\"}},{\"Name\":\"%DO\",\"Type\":\"MACRODEFONLY\",\"Help\":{\"#cdata\":\"The %DO statement designates the beginning of a section of a macro definition that \\nis treated as a unit until a matching %END statement is encountered. This macro \\nsection is called a %DO group. %DO groups can be nested.\\n\\nA simple %DO statement often appears in conjunction with %IF-%THEN/%ELSE statements \\nto designate a section of the macro to be processed depending on whether the %IF \\ncondition is true or false.\\n\\nSyntax:\\n%DO; \\n  text and macro language statements  \\n%END;\"}},{\"Name\":\"%DO %UNTIL\",\"Type\":\"MACRODEFONLY\",\"Help\":{\"#cdata\":\"Executes a section of a macro repetitively until a condition is true.\\n      \\nSyntax: \\n\\n%DO %UNTIL (expression); \\n  text and macro language statements  \\n%END;\"}},{\"Name\":\"%DO %WHILE\",\"Type\":\"MACRODEFONLY\",\"Help\":{\"#cdata\":\"Executes a section of a macro repetitively while a condition is true.\\n      \\nSyntax: \\n\\n%DO %WHILE (expression); \\n  text and macro language statements  \\n%END;\"}},{\"Name\":\"%END\",\"Type\":\"MACRODEFONLY\",\"Help\":{\"#cdata\":\"[Syntax: %END;]\\n \\nEnds a %DO group.\"}},{\"Name\":\"%GLOBAL\",\"Type\":\"OPENCODE\",\"Help\":{\"#cdata\":\"[Syntax: %GLOBAL macro-variable(s); | %GLOBAL / READONLY macro-variable=value;]    \\n\\nCreates macro variables that are available during the execution of an entire SAS session. \\n\\nRequired Argument:\\nmacro-variable(s)\\n  is the name of one or more macro variables or a text expression that generates one or more macro variable names. \\n  You cannot use a SAS variable list or a macro expression that generates a SAS variable list in a %GLOBAL statement.\\n\\nOptional Argument:\\nREADONLY macro-variable=value\\n  creates a new read only global macro variable.Note:The READONLY option can be used to create a single new macro variable (local or global).\\n\\nmacro-variable\\n  is the name of a macro variable or a text expression that produces a macro variable name. The name must be a new macro variable name. \\nvalue\\n  is a character string or a text expression.\"}},{\"Name\":\"%GOTO\",\"Type\":\"MACRODEFONLY\",\"Help\":{\"#cdata\":\"[Syntax: %GOTO label;]\\n    \\nBranches macro processing to the specified label.\"}},{\"Name\":\"%IF\",\"Type\":\"MACRODEFONLY\",\"Help\":{\"#cdata\":\"[Syntax: %IF expression %THEN action; <%ELSE action;>]\\n    \\nConditionally process a portion of a macro.\"}},{\"Name\":\"%THEN\",\"Type\":\"MACRODEFONLY\",\"Help\":{\"#cdata\":\"Conditionally process a portion of a macro.\"}},{\"Name\":\"%ELSE\",\"Type\":\"MACRODEFONLY\",\"Help\":{\"#cdata\":\"Conditionally process a portion of a macro.\"}},{\"Name\":\"%INPUT\",\"Type\":\"OPENCODE_OR_MACRODEF\",\"Help\":{\"#cdata\":\"[Syntax: %INPUT <macro-variable(s)>;]\\n    \\nSupplies values to macro variables during macro execution.\"}},{\"Name\":\"%LET\",\"Type\":\"OPENCODE_OR_MACRODEF\",\"Help\":{\"#cdata\":\"[Syntax: %LET macro-variable =<value>;]\\n    \\nCreates a macro variable and assigns it a value.\"}},{\"Name\":\"%LOCAL\",\"Type\":\"MACRODEFONLY\",\"Help\":{\"#cdata\":\"[Syntax: %LOCAL macro-variable(s); | %LOCAL / READONLY macro-variable=value;]\\n    \\nCreates macro variables that are available only during the execution of the macro \\nwhere they are defined. \\n\\nRequired Argument:\\nmacro-variable(s)\\n  is the name of one or more macro variables or a text expression that generates one or more macro \\n  variable names. You cannot use a SAS variable list or a macro expression that generates a SAS \\n  variable list in a %LOCAL statement. \\n  \\nOptional Argument:\\nREADONLY macro-variable=value\\n  creates a new read only local macro variable.Note:The READONLY option can be used to create a single \\n  new macro variable (local or global). \\nmacro-variable \\n  is the name of a macro variable or a text expression that produces a macro variable name. The name \\n  must be a new macro variable name. \\nvalue\\n  is a character string or a text expression.\"}},{\"Name\":\"%MACRO\",\"Type\":\"OPENCODE_OR_MACRODEF\",\"Help\":{\"#cdata\":\"[Syntax: %MACRO macro-name <(parameter-list)></ option(s)>;]\\n    \\nBegins a macro definition.\"}},{\"Name\":\"%MEND\",\"Type\":\"MACRODEFONLY\",\"Help\":{\"#cdata\":\"[Syntax: %MEND <macro-name>;]\\n    \\nEnds a macro definition.\"}},{\"Name\":\"%PUT\",\"Type\":\"OPENCODE_OR_MACRODEF\",\"Help\":{\"#cdata\":\"[Syntax: %PUT <text | _ALL_ | _AUTOMATIC_ | _GLOBAL_ | _LOCAL_ | _USER_>; ]\\n    \\nWrites text or macro variable information to the SAS log.\"}},{\"Name\":\"%RETURN\",\"Type\":\"MACRODEFONLY\",\"Help\":{\"#cdata\":\"[Syntax: %RETURN; ]\\n    \\nExecution causes normal termination of the currently executing macro.\"}},{\"Name\":\"%SYMDEL\",\"Type\":\"MACRODEFONLY\",\"Help\":{\"#cdata\":\"[Syntax: %SYMDEL macro-variable(s)</option>;]\\n    \\nDeletes the specified variables(s) from the macro global symbol table.\"}},{\"Name\":\"%SYSCALL\",\"Type\":\"OPENCODE_OR_MACRODEF\",\"Help\":{\"#cdata\":\"[Syntax: %SYSCALL call-routine<(call-routine-argument(s))>;]\\n\\nInvokes a SAS call routine.\"}},{\"Name\":\"%SYSEXEC\",\"Type\":\"OPENCODE_OR_MACRODEF\",\"Help\":{\"#cdata\":\"[Syntax: %SYSEXEC <command>;]\\n    \\nIssues operating environment commands.\"}},{\"Name\":\"%WHILE\",\"Type\":\"MACRODEFONLY\",\"Help\":{\"#cdata\":\"[Syntax: %DO %WHILE(expression);]\\n    \\nExecutes a section of a macro repetitively while a condition is true.\"}},{\"Name\":\"%UNTIL\",\"Type\":\"MACRODEFONLY\",\"Help\":{\"#cdata\":\"[Syntax: %DO %UNTIL(expression);]\\n    \\nExecutes a section of a macro repetitively until a condition is true.\"}},{\"Name\":\"%SYSLPUT\",\"Type\":\"OPENCODE_OR_MACRODEF\",\"Help\":{\"#cdata\":\"[Syntax: %SYSLPUT macro-variable=<value</REMOTE=remote-session-id>>;]\\n    \\nCreates a new macro variable or modifies the value of an existing macro variable \\non a remote host or server.\"}},{\"Name\":\"%SYSRPUT\",\"Type\":\"OPENCODE_OR_MACRODEF\",\"Help\":{\"#cdata\":\"[Syntax: %SYSRPUT local-macro-variable=remote-macro-variable;]\\n    \\nAssigns the value of a macro variable on a remote host to a macro variable on the \\nlocal host.\"}},{\"Name\":\"%WINDOW\",\"Type\":\"OPENCODE_OR_MACRODEF\",\"Help\":{\"#cdata\":\"[Syntax: %WINDOW window-name<window-option(s) group-definition(s)>field-definition(s);]\\n    \\nDefines customized windows.\"}},{\"Name\":\"%INCLUDE\",\"Type\":\"VALIDANYWHERE\",\"Help\":{\"#cdata\":\"Syntax: %INCLUDE source(s) </<SOURCE2> <S2=length> <operating-environment-options>>;\\n    \\nBrings a SAS programming statement, data lines, or both, into a current SAS program.\"}},{\"Name\":\"%LIST\",\"Type\":\"VALIDANYWHERE\",\"Help\":{\"#cdata\":\"Displays lines that are entered in the current session.\\n    \\nSyntax: %LIST<n <:m | - m>>; \\n\\nwhere\\n\\nn - means display line n.\\n\\nn-m - means display lines n through m; can be written as n:m\"}},{\"Name\":\"%RUN\",\"Type\":\"VALIDANYWHERE\",\"Help\":{\"#cdata\":\"Syntax: %RUN;\\n    \\nEnds source statements following a %INCLUDE * statement.\"}},{\"Name\":\"%SYSMSTORECLEAR\",\"Type\":\"OPENCODE_OR_MACRODEF\",\"Help\":{\"#cdata\":\"Syntax: %SYSMSTORECLEAR;\\n    \\nUse the %SYSMSTORECLEAR statement to close the stored compiled macro catalog and to clear \\nthe previous libref when switching between SASMSTORE= libraries. \\n\\nNote: If any stored compiled macro from the library specified by the SASMSTORE= system \\noption is still executing, the following will occur: \\n\\n  o an ERROR diagnostic message will be issued \\n  o the library will not be closed \\n  o the libref will not be cleared\"}},{\"Name\":\"%SYSMACDELETE\",\"Type\":\"OPENCODE_OR_MACRODEF\",\"Help\":{\"#cdata\":\"Syntax: %SYSMACDELETE macro_name </ option>;\\n    \\nRequired Argument:\\nmacro_name \\n  the name of a macro or a text expression that produces a macro variable name. \\n\\nOptional Argument:\\nNOWARN \\n  specifies that no warning diagnostic message should be issued. \\n\\nDetails:\\nThe %SYSMACDELETE statement deletes the macro definition of the specified macro from the \\nWORK.SASMACR catalog. If no definition for the macro exists in the WORK.SASMACR catalog, \\na WARNING diagnostic message is issued. If the macro is currently being executed, an \\nERROR diagnostic message is issued.\"}}],\"#comment\":{}}}"
  },
  {
    "path": "server/data/SASProcedures.json",
    "content": "{\"Keywords\":{\"Keyword\":[{\"Name\":\"ACCESS\",\"Type\":\"SAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC ACCESS options;  \\n\\nCreate and Update Statements:  \\n  CREATE libref.member-name.ACCESS|VIEW ; \\n  \\n  UPDATE libref.member-name.ACCESS|VIEW ;  \\n \\nDatabase-Description Statements:\\n  PATH= 'path-and-filename<.PC-filename-extension>' | <'>filename<'> | fileref;  \\n \\n...Editing Statements\\nRUN; \\n\\nSAS still supports this legacy procedure. However, to access your relational DBMS data more directly, \\nit is recommended that you use the SAS/ACCESS LIBNAME statement or the SQL pass-through facility.\"}},{\"Name\":\"ACECLUS\",\"Type\":\"SAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC ACECLUS PROPORTION=p | THRESHOLD=t <options> ; \\n    BY variables ; \\n    FREQ variable ; \\n    VAR variables ; \\n    WEIGHT variable ; \\n\\nThe ACECLUS (approximate covariance estimation for clustering) procedure obtains \\napproximate estimates of the pooled within-cluster covariance matrix when the \\nclusters are assumed to be multivariate normal with equal covariance matrices.\\nNeither cluster membership nor the number of clusters needs to be known. PROC \\nACECLUS is useful for preprocessing data to be subsequently clustered by the \\nCLUSTER or FASTCLUS procedure.\"}},{\"Name\":\"ADAPTIVEREG\",\"Type\":\"SAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC ADAPTIVEREG <options> ; \\n    BY variables ; \\n    CLASS variables </ options> ; \\n    FREQ variable ; \\n    MODEL dependent <(options)> = <effects></ options> ; \\n    OUTPUT <OUT=SAS-data-set> <keyword <(keyword-options )> <=name>> \\u2026<keyword <(keyword-options )> <=name>> ; \\n    PARTITION <options> ; \\n    SCORE <DATA=SAS-data-set> <OUT=SAS-data-set><keyword <=name>>\\u2026<keyword <=name>> ; \\n    WEIGHT variable ; \\n\\n[SAS/STAT 12.1 Experimental Procedure]\\n\\nThe ADAPTIVEREG procedure fits multivariate adaptive regression splines as defined by Friedman (1991b). \\nThe method is a nonparametric regression technique that combines both regression splines and model \\nselection methods. It does not assume parametric model forms and does not require specification of \\nknot values for constructing regression spline terms. Instead, it constructs spline basis functions \\nin an adaptive way by automatically selecting appropriate knot values for different variables and \\nobtains reduced models by applying model selection techniques.\"}},{\"Name\":\"ALLELE\",\"Type\":\"SAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC ALLELE <options> ; \\n    BY variables ; \\n    POP variable </ options> ; \\n    VAR variables ; \\n    WITH variables ;      \\n  \\nThe ALLELE procedure performs preliminary analyses on genetic marker data. These \\nanalyses serve to characterize the markers themselves or the population from which \\nthey were sampled, and can also serve as the basis for joint analyses on markers and \\ntraits. A genetic marker is any heritable unit that obeys the laws of transmission \\ngenetics, and the analyses presented here assume the marker genotypes are determined \\nwithout error. With an underlying assumption of random sampling, the analyses rest on \\nthe multinomial distribution of marker alleles, and many standard statistical techniques \\ncan be invoked with little modification. The ALLELE procedure uses the notation and \\nconcepts described by Weir (1996); this is the reference for all equations and methods \\nnot otherwise cited.\"}},{\"Name\":\"ANOVA\",\"Type\":\"SAS_PROCEDURE\",\"Attributes\":\"InteractivePROC\",\"Help\":{\"#cdata\":\"Syntax: PROC ANOVA <options> ; \\n    CLASS variables </ option> ; \\n    MODEL dependents=effects </ options> ; \\n    ABSORB variables ; \\n    BY variables ; \\n    FREQ variable ; \\n    MANOVA <test-options></ detail-options> ; \\n    MEANS effects </ options> ; \\n    REPEATED factor-specification </ options> ; \\n    TEST <H=effects> E=effect ;\\n    \\nThe ANOVA procedure performs analysis of variance (ANOVA) for balanced data from a wide \\nvariety of experimental designs. In analysis of variance, a continuous response variable, \\nknown as a dependent variable, is measured under experimental conditions identified by \\nclassification variables, known as independent variables. The variation in the response \\nis assumed to be due to effects in the classification, with random error accounting for \\nthe remaining variation.\"}},{\"Name\":\"APPEND\",\"Type\":\"SAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC APPEND BASE=<libref.>SAS-data-set <DATA=<libref.>SAS-data-set> \\n    <FORCE> <APPENDVER=V6> <GETSORT>;\\n    \\nThe APPEND procedure adds the observations from one SAS data set to the end of another \\nSAS data set. \\n\\nGenerally, the APPEND procedure functions the same as the APPEND statement in the \\nDATASETS procedure. The only difference between the APPEND procedure and the APPEND \\nstatement in PROC DATASETS is the default for libref in the BASE= and DATA= arguments. \\nFor PROC APPEND, the default is either WORK or USER. For the APPEND statement, the \\ndefault is the libref of the procedure input library.\"}},{\"Name\":\"AUTHLIB\",\"Type\":\"SAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC AUTHLIB <option(s)>; \\n    CREATE <option(s)>;\\n    MODIFY <option(s)>;\\n    REMOVE <option(s)>;\\n    REPAIR ADD | UPDATE | DELETE LOCATION | METADATA <option(s)>;\\n    REPORT <LIBRARY=libref>;\\n    TABLES <option(s)>;\\n    \\n  \\nThe AUTHLIB procedure is a utility procedure that manages metadata-bound libraries. With PROC AUTHLIB, \\nyou can do the following: \\n  \\u2022 create a metadata-bound library by binding a physical library to metadata within a SAS Metadata Repository\\n  \\u2022 modify password values for a metadata-bound library\\n  \\u2022 repair metadata-bound libraries by recovering security information, secured library objects, \\n    and secured table objects\\n  \\u2022 remove the physical security information and metadata objects that protect a metadata-bound library\\n  \\u2022 report inconsistencies between physical library contents and corresponding metadata objects within \\n    a specified metadata-bound library\"}},{\"Name\":\"BCHOICE\",\"Type\":\"SAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC BCHOICE <options>;\\n    BY variables;\\n    CLASS variable <(options)> <\\u2026variable <(options)> > </ options>;\\n    MODEL response <(response-options)> = <fixed-effects> </ model-options>;\\n    RANDOM random-effects </ options>;\\n    PREDDIST OUTPRED=SAS-data-set <options>;    \\n    RESTRICT <'label'> fixed-effect operand operator <value> ; \\n    RESTRICT <'label'> fixed-effect constraint-list; \\n\\nThe BCHOICE (Bayesian choice) procedure performs Bayesian analysis for discrete choice models. Discrete \\nchoice models are used in marketing research to model decision makers' choices among alternative products \\nand services. The decision maker might be people, households, companies and so on, and the alternatives might \\nbe products, services, actions, or any other options or items about which choices must be made (Train 2009). \\nThe collection of alternatives that are available to the decision makers is called a choice set.\"}},{\"Name\":\"BOXPLOT\",\"Type\":\"SAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC BOXPLOT options ; \\n    BY variables ; \\n    ID variables ; \\n    INSET keywords </options> ; \\n    INSETGROUP keywords </ options> ; \\n    PLOT analysis-variable*group-variable <(block-variables)> <=symbol-variable> </ options > ; \\n\\nThe BOXPLOT procedure creates side-by-side box-and-whiskers plots of measurements \\norganized in groups. A box-and-whiskers plot displays the mean, quartiles, and minimum \\nand maximum observations for a group.\"}},{\"Name\":\"BTL\",\"Type\":\"SAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC BTL <options> ; \\n    BY variables ; \\n    CLASS variables ; \\n    MARKER variables </ options> ; \\n    MODEL dependent <= fixed-effects> </ options> ; \\n    PARMEST <options> ; \\n    PARMS (value-list) ...</ options> ; \\n    RANDOM random-effects </ options> ; \\n    REPEATED <repeated-effect> </ options> ; \\n    WEIGHT variable ; \\n\\nThe BTL procedure analyzes marker and trait data in order to find and characterize \\nbinary trait loci (BTL). Mixed model analysis of variance is used to find a locus or \\nloci associated with a trait, and a maximum likelihood model is used to estimate the \\nrecombination and penetrance parameters for a given set of BTL. \"}},{\"Name\":\"CASECONTROL\",\"Type\":\"SAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC CASECONTROL <options> ; \\n    BY variables ; \\n    STRATA variables </ options> ; \\n    TRAIT variable ; \\n    VAR variables ; \\n    \\nMarker information can be used to help locate the genes that affect susceptibility \\nto a disease. The CASECONTROL procedure is designed for the interpretation of marker \\ndata when random samples are available from the populations of unrelated individuals \\nwho are either affected or unaffected by the disease. Several tests are available in \\nPROC CASECONTROL that compare marker allele and/or genotype frequencies in the two \\npopulations, with frequency differences indicating an association of the marker with \\nthe disease. Although such an association can point to the proximity of the marker \\nand disease genes in the genome, it can also reflect population structure, so care \\nis needed in interpreting the results; association does not necessarily imply linkage.\"}},{\"Name\":\"CALENDAR\",\"Type\":\"SAS_PROCEDURE\",\"Help\":{\"#cdata\":\"[Syntax: PROC CALENDAR <option(s)>;  \\n    START variable;  \\n    BY <DESCENDING> variable-1 <...<DESCENDING> variable-n> <NOTSORTED>;  \\n    CALID variable </ OUTPUT=COMBINE|MIX|SEPARATE>;  \\n    DUR variable;  \\n    FIN variable;  \\n    HOLISTART variable;  \\n    HOLIDUR variable;  \\n    HOLIFIN variable;  \\n    HOLIVAR variable;\\n    MEAN variable(s) </ FORMAT=format-name>;  \\n    OUTSTART day-of-week;  \\n    OUTDUR number-of-days;  \\n    OUTFIN day-of-week;  \\n    SUM variable(s) </ FORMAT=format-name>;  \\n    VAR variable(s); ]\\n    \\nThe CALENDAR procedure displays data from a SAS data set in a monthly calendar format.\"}},{\"Name\":\"CALIS\",\"Type\":\"SAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC CALIS <options> ; \\n    ...CALIS statements\\n    ...SAS Programming statements\\n    RUN;\\n    QUIT;\\n    \\nThe CALIS procedure deals with structural equation modeling, an important statistical tool in social \\nand behavioral sciences. Structural equations express relationships among a system of variables that \\ncan be either observed variables (manifest variables) or unobserved hypothetical variables (latent \\nvariables). You can use the CALIS procedure to estimate parameters and test hypotheses for constrained \\nand unconstrained problems in various situations.\"}},{\"Name\":\"CALLRFC\",\"Type\":\"SAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC CALLRFC<options>;  \\n    CALL <FUNCTION> 'function-name' <EXPORTING parameter-1|parameter-1.field-1=value-1 \\n      < ... parameter-n=value-n>> \\n      <IMPORTING parameter-1=SAS-dataset-name-1 < ... parameter-n=SAS-dataset-name-n>> \\n      <INTABLES table-parameter-1=SAS-dataset-name-1 <... table-parameter-n=SAS-dataset-name-n>> \\n      <TABLES table-parameter-1=SAS-dataset-name-1 <... table-parameter-n=SAS-dataset-name-n>> \\n      <CALLBACK <callback-parameter-1=SAS-dataset-name-1 <... table-parameter-n=SAS-dataset-name-n>>> \\n      </ default = SAS-library>;  \\n \\n    DESCRIBE <FUNCTION> 'function-name' <SHORT>; \\n  \\nThe CALLRFC procedure executes Remote Function Calls (RFC) or RFC-compatible functions \\non an SAP System. \\n\\nAny Advanced Business Applications Programming (ABAP) function modules called by the \\nCALLRFC procedure must be:\\n\\n  o RFC enabled \\n  o have no dialog boxes \\n  o synchronous\"}},{\"Name\":\"CANCORR\",\"Type\":\"SAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC CANCORR <options> ; \\n    WITH variables ; \\n    BY variables ; \\n    FREQ variable ; \\n    PARTIAL variables ; \\n    VAR variables ; \\n    WEIGHT variable ; \\n    \\nThe CANCORR procedure performs canonical correlation, partial canonical correlation, \\nand canonical redundancy analysis. \\n\\nCanonical correlation is a generalization of multiple correlation for analyzing the \\nrelationship between two sets of variables. In multiple correlation, you examine the \\nrelationship between a linear combination of a set of explanatory variables, X, and \\na single response variable, Y. In canonical correlation, you examine the relationship \\nbetween linear combinations of the set of X variables and linear combinations of a set \\nof Y variables. These linear combinations are called canonical variables or canonical \\nvariates. Either set of variables can be considered explanatory or response variables, \\nsince the statistical model is symmetric in the two sets of variables. Simple and \\nmultiple correlation are special cases of canonical correlation in which one or both \\nsets contain a single variable.\"}},{\"Name\":\"CANDISC\",\"Type\":\"SAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC CANDISC <options> ; \\n    CLASS variable ; \\n    BY variables ; \\n    FREQ variable ; \\n    VAR variables ; \\n    WEIGHT variable ; \\n\\nCanonical discriminant analysis is a dimension-reduction technique related to principal \\ncomponent analysis and canonical correlation. The methodology used in deriving the canonical \\ncoefficients parallels that of a one-way MANOVA. MANOVA tests for equality of the mean \\nvector across class levels. Canonical discriminant analysis finds linear combinations of \\nthe quantitative variables that provide maximal separation between classes or groups. \\nGiven a classification variable and several quantitative variables, the CANDISC procedure \\nderives canonical variables, linear combinations of the quantitative variables that summarize \\nbetween-class variation in much the same way that principal components summarize total variation.\"}},{\"Name\":\"CATALOG\",\"Type\":\"SAS_PROCEDURE\",\"Attributes\":\"InteractivePROC\",\"Help\":{\"#cdata\":\"Syntax: PROC CATALOG CATALOG=<libref.>catalog <ENTRYTYPE=etype> <FORCE> <KILL>;  \\n    CONTENTS <OUT=SAS-data-set> <FILE=fileref>;  \\n    COPY OUT=<libref.>catalog <options>;  \\n      SELECT entry-1 <...entry-n> </ ENTRYTYPE=etype>;  \\n      EXCLUDE entry-1 <...entry-n> </ ENTRYTYPE=etype>;  \\n \\n    CHANGE old-name-1=new-name-1 <...old-name-n=new-name-n> </ ENTRYTYPE=etype>;  \\n    EXCHANGE name-1=other-name-1 <...name-n=other-name-n> </ ENTRYTYPE=etype>;  \\n    DELETE entry-1 <...entry-n> </ ENTRYTYPE=etype>;  \\n    MODIFY entry (DESCRIPTION=<<'>entry-description<'>>)</ ENTRYTYPE=etype>;  \\n    SAVE entry-1 <...entry-n> </ ENTRYTYPE=etype>; \\n    \\nPROC CATALOG is an interactive, statement-driven procedure that enables you to do \\nthe following:\\n\\n  o create a listing of the contents of a catalog \\n  o copy a catalog or selected entries within a catalog \\n  o rename, exchange, or delete entries within a catalog \\n  o change the name of a catalog entry \\n  o modify, by changing or deleting, the description of a catalog entry\"}},{\"Name\":\"CATMOD\",\"Type\":\"SAS_PROCEDURE\",\"Attributes\":\"InteractivePROC\",\"Help\":{\"#cdata\":\"Syntax: PROC CATMOD <options> ; \\n    DIRECT <variables> ; \\n    MODEL response-effect=design-effects </ options> ; \\n    CONTRAST 'label' row-description <, , row-description></ options> ; \\n    BY variables ; \\n    FACTORS factor-description <, , factor-description></ options> ; \\n    LOGLIN effects</ option> ; \\n    POPULATION variables ; \\n    REPEATED factor-description <, , factor-description></ options> ; \\n    RESPONSE <function></ options> ; \\n    RESTRICT parameter=value < parameter=value> ; \\n    WEIGHT variable ; \\n    \\nThe CATMOD procedure performs categorical data modeling of data that can be \\nrepresented by a contingency table. PROC CATMOD fits linear models to functions \\nof response frequencies, and it can be used for linear modeling, log-linear \\nmodeling, logistic regression, and repeated measurement analysis. PROC CATMOD \\nuses the following estimation methods: \\n\\n  o weighted least squares (WLS) estimation of parameters for a wide range of \\n    general linear models \\n\\n  o maximum likelihood (ML) estimation of parameters for log-linear models and \\n    the analysis of generalized logits\"}},{\"Name\":\"CHART\",\"Type\":\"SAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC CHART <option(s)>;  \\n    BLOCK variable(s) </ option(s)>;  \\n    BY <DESCENDING> variable-1 <...<DESCENDING> variable-n> <NOTSORTED>;  \\n    HBAR variable(s) </ option(s)>;  \\n    PIE variable(s) </ option(s)>;  \\n    STAR variable(s) </ option(s)>;  \\n    VBAR variable(s) </ option(s)>;\\n  \\nThe CHART procedure produces vertical and horizontal bar charts, block charts, \\npie charts, and star charts. These types of charts graphically display values \\nof a variable or a statistic associated with those values. The charted variable \\ncan be numeric or character.\\n\\nPROC CHART is a useful tool that lets you visualize data quickly, but if you need \\nto produce presentation-quality graphics that include color and various fonts, then \\nuse SAS/GRAPH software. The GCHART procedure in SAS/GRAPH software produces the same \\ntypes of charts as PROC CHART does. In addition, PROC GCHART can produce donut charts.\"}},{\"Name\":\"CIMPORT\",\"Type\":\"SAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC CIMPORT destination=libref | <libref.>member-name <option(s)>;\\n    EXCLUDE SAS file(s) | catalog entry(s)</ MEMTYPE=mtype></ ENTRYTYPE=entry-type>;  \\n    SELECT SAS file(s) | catalog entry(s)</ MEMTYPE=mtype></ ENTRYTYPE=entry-type>;  \\n  \\nThe CIMPORT procedure imports a transport file that was created (exported) by the \\nCPORT procedure. PROC CIMPORT restores the transport file to its original form as \\na SAS catalog, SAS data set, or SAS library. Transport files are sequential files \\nthat each contain a SAS library, a SAS catalog, or a SAS data set in transport format. \\nThe transport format that PROC CPORT writes is the same for all environments and for \\nmany releases of SAS.\"}},{\"Name\":\"CLUSTER\",\"Type\":\"SAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC CLUSTER METHOD = name <options> ; \\n    BY variables ; \\n    COPY variables ; \\n    FREQ variable ; \\n    ID variable ; \\n    RMSSTD variable ; \\n    VAR variables ;\\n    \\nThe CLUSTER procedure hierarchically clusters the observations in a SAS data set \\nby using one of 11 methods. The data can be coordinates or distances.  If the data \\nare coordinates, PROC CLUSTER computes (possibly squared) Euclidean distances. If \\nyou want non-Euclidean distances, use the DISTANCE procedure to compute an appropriate \\ndistance data set that can then be used as input to PROC CLUSTER.\"}},{\"Name\":\"COMPARE\",\"Type\":\"SAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC COMPARE <option(s)>;\\n    BY <DESCENDING> variable-1 <...<DESCENDING> variable-n> <NOTSORTED>;  \\n    ID <DESCENDING> variable-1 <...<DESCENDING> variable-n> <NOTSORTED>;  \\n    VAR variable(s);  \\n    WITH variable(s);  \\n\\nThe COMPARE procedure compares the contents of two SAS data sets, selected variables \\nin different data sets, or variables within the same data set.\"}},{\"Name\":\"CONTENTS\",\"Type\":\"SAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC CONTENTS <option-1 <...option-n>>;\\n    \\nThe CONTENTS procedure shows the contents of a SAS data set and prints the directory \\nof the SAS library. \\n\\nGenerally, the CONTENTS procedure functions the same as the CONTENTS statement in the \\nDATASETS procedure. The differences between the CONTENTS procedure and the CONTENTS \\nstatement in PROC DATASETS are as follows:\\n\\nThe default for libref in the DATA= option in PROC CONTENTS is WORK. For the CONTENTS \\nstatement, the default is the libref of the procedure input library.\\n\\nPROC CONTENTS can read sequential files. The CONTENTS statement cannot.\"}},{\"Name\":\"CONVERT\",\"Type\":\"SAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC CONVERT product-specification <option(s)> ;\\n    \\nThe CONVERT procedure converts a BMDP or OSIRIS system file or an SPSS export\\nfile to a SAS data set. It produces one output data set, but no printed output.\\nThe new data set contains the same information as the input system file;\\nexceptions are noted in Output Data Sets. The BMDP, OSIRIS and SPSS engines\\nprovide more extensive capabilities.\\n\\nBecause the BMDP, OSIRIS and SPSS products are maintained by other companies or\\norganizations, changes can be made that make the system files incompatible with\\nthe current version of PROC CONVERT. SAS upgrades PROC CONVERT only to support\\nchanges that are made to these products when a new version of SAS is available.\"}},{\"Name\":\"COPY\",\"Type\":\"SAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC COPY OUT=libref-1 IN=libref-2 <CLONE|NOCLONE> \\n    <CONSTRAINT=YES|NO> <DATECOPY> <INDEX=YES|NO> \\n    <MEMTYPE=(mtype-1 <...mtype-n>)> <MOVE <ALTER=alter-password>>;\\n        EXCLUDE SAS-file-1 <...SAS-file-n> </ MEMTYPE=mtype>;  \\n        SELECT SAS-file-1 <...SAS-file-n> </ <MEMTYPE=mtype> <ALTER=alter-password>>; \\n\\nThe COPY procedure copies one or more SAS files from a SAS library.\"}},{\"Name\":\"CORR\",\"Type\":\"SAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC CORR <options> ; \\n    BY variables ; \\n    FREQ variable ; \\n    ID variables ; \\n    PARTIAL variables ; \\n    VAR variables ; \\n    WEIGHT variable ; \\n    WITH variables ;\\n    \\nThe CORR procedure computes Pearson correlation coefficients, three nonparametric \\nmeasures of association, and the probabilities associated with these statistics. \\nThe correlation statistics include the following:  \\n\\n  o Pearson product-moment correlation \\n  o Spearman rank-order correlation \\n  o Kendall's tau-b coefficient \\n  o Hoeffding's measure of dependence, D\\n  o Pearson, Spearman, and Kendall partial correlation\"}},{\"Name\":\"CORRESP\",\"Type\":\"SAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC CORRESP <options> ; \\n    TABLES <row-variables,> column-variables ; \\n    VAR variables ; \\n    BY variables ; \\n    ID variable ; \\n    SUPPLEMENTARY variables ; \\n    WEIGHT variable ;\\n\\nThe CORRESP procedure performs simple correspondence analysis and multiple correspondence \\nanalysis (MCA). You can use correspondence analysis to find a low-dimensional graphical \\nrepresentation of the rows and columns of a crosstabulation or contingency table. Each \\nrow and column is represented by a point in a plot determined from the cell frequencies. \\nPROC CORRESP can also compute coordinates for supplementary rows and columns. \\n\\nPROC CORRESP can read two kinds of input: raw categorical responses on two or more \\nclassification variables or a two-way contingency table. The correspondence analysis \\nplot is displayed with ODS Graphics.\"}},{\"Name\":\"CPORT\",\"Type\":\"SAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC CPORT source-type=libref | <libref.>member-name<option(s)>;\\n      EXCLUDE SAS file(s) | catalog entry(s)</ MEMTYPE=mtype></ ENTRYTYPE=entry-type>;  \\n      SELECT SAS file(s) | catalog entry(s) </ MEMTYPE=mtype></ ENTRYTYPE=entry-type>;  \\n      TRANTAB NAME=translation-table-name <option(s)>;\\n  \\nThe CPORT procedure writes SAS data sets, SAS catalogs, or SAS libraries to sequential \\nfile formats (transport files). Use PROC CPORT with the CIMPORT procedure to move files \\nfrom one environment to another. Transport files are sequential files that each contain \\na SAS library, a SAS catalog, or a SAS data set in transport format. The transport format \\nthat PROC CPORT writes is the same for all environments and for many releases of SAS. In \\nPROC CPORT, export means to put a SAS library, a SAS catalog, or a SAS data set into \\ntransport format. PROC CPORT exports catalogs and data sets, either singly or as a SAS \\nlibrary. PROC CIMPORT restores (imports) the transport file to its original form as a \\nSAS catalog, SAS data set, or SAS library.\"}},{\"Name\":\"DATASETS\",\"Type\":\"SAS_PROCEDURE\",\"Attributes\":\"InteractivePROC\",\"Help\":{\"#cdata\":\"The DATASETS procedure is a utility procedure that manages your SAS files. \\n  \\nWith PROC DATASETS, you can do the following:\\n\\n  o copy SAS files from one SAS library to another \\n  o rename SAS files \\n  o repair SAS files \\n  o delete SAS files \\n  o list the SAS files that are contained in a SAS library \\n  o list the attributes of a SAS data set, such as: \\n      o the date when the data was last modified \\n      o whether the data is compressed \\n      o whether the data is indexed \\n  o manipulate passwords on SAS files \\n  o append SAS data sets \\n  o modify attributes of SAS data sets and variables within the data sets \\n  o create and delete indexes on SAS data sets \\n  o create and manage audit files for SAS data sets \\n  o create and delete integrity constraints on SAS data sets\"}},{\"Name\":\"DBF\",\"Type\":\"SAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC DBF <option(s)>;      \\n      \\nNames the input SAS data set. Use this option if you are creating a DBF file\\nfrom a SAS data set. If you use the DATA= option, do not use the OUT= option.\\nIf you omit the DATA= option, SAS software creates an output SAS data set\\nfrom the DBF file.\"}},{\"Name\":\"DBLOAD\",\"Type\":\"SAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC DBLOAD <options>;\\n  CREATE;  \\n  DBN= database-name;  \\n  ACCDESC= libref.access-descriptor;  \\n  DELETE variable-identifier <...variable-identifier-n>;  \\n  INDEX variable-identifier = Y|N <...variable-identifier-n= Y|N>;  \\n  LABEL;  \\n  LEVEL variable-identifier = n <...variable-identifier-n= n>;  \\n  LIST list-selection;  \\n  LOAD;  \\n  QUIT;  \\n  RENAME variable-identifier = name <...variable-identifier-n = name-n>;  \\n  RESET ALL|variable-identifier <...variable-identifier-n>;  \\n  S2KLEN variable-identifier = n <...variable-identifier-n = n>;  \\n  S2KLOAD;  \\n  S2KMODE= M|S;  \\n  S2KPW= password;  \\n  VIEWDESC= libref.view-descriptor;  \\n  WHERE SAS-where-expression;  \\n\\nThe DBLOAD procedure enables you to create and load a SYSTEM 2000 database\\nusing data from a SAS data file, from a view created with the SQL procedure, or\\nfrom a SYSTEM 2000 database or another DBMS (using a view descriptor created by\\nusing the ACCESS procedure).\"}},{\"Name\":\"DELETE\",\"Type\":\"SAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC DELETE <LIBRARY=libref> DATA=SAS-file-1 <SAS-file-2 \\u2026> \\n    (<GENNUM=ALL | HIST | REVERT | integer> \\n    <MEMTYPE=member-type> \\n    <ENCRYPTKEY=key-value> \\n    <ALTER=alter-password>);\\n    \\nThe DELETE procedure deletes SAS files from the disk or tape on which it is stored. Use PROC DELETE \\nto do the following: \\n\\n  \\u2022delete either permanent or temporary SAS files\\n  \\u2022delete a list of data sets with a numeric suffix, such as\\n    proc delete data=x1-x3;\\n    run;\\n  \\u2022delete all SAS files of the same type using MEMTYPE=\\n  \\u2022delete generation data sets using GENNUM=\\n  \\u2022delete AES encrypted data sets when using GENNUM=ALL and ENCRYPTKEY= options \\n  \\nOne of the benefits of using PROC DELETE instead of the DELETE statement in the DATASETS procedure \\nis that it does not use the in-memory directory to delete SAS data sets. \\n\\nThe DELETE procedure produces no printed output. As a result, the DELETE procedure is faster.\"}},{\"Name\":\"DIF\",\"Type\":\"SAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC DIF options;\\n\\nConverts a DIF file to SAS data set or a SAS data set to a DIF file.\"}},{\"Name\":\"DISCRIM\",\"Type\":\"SAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC DISCRIM <options> ; \\n    CLASS variable ; \\n    BY variables ; \\n    FREQ variable ; \\n    ID variable ; \\n    PRIORS probabilities ; \\n    TESTCLASS variable ; \\n    TESTFREQ variable ; \\n    TESTID variable ; \\n    VAR variables ; \\n    WEIGHT variable ; \\n\\nFor a set of observations containing one or more quantitative variables and a classification \\nvariable defining groups of observations, the DISCRIM procedure develops a discriminant criterion\\nto classify each observation into one of the groups. The derived discriminant criterion from this \\ndata set can be applied to a second data set during the same execution of PROC DISCRIM. The data \\nset that PROC DISCRIM uses to derive the discriminant criterion is called the training or \\ncalibration data set.\"}},{\"Name\":\"DISPLAY\",\"Type\":\"SAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC DISPLAY CATALOG=libref.catalog.entry.type <BATCH>;\\n    \\nThe DISPLAY procedure executes SAS/AF applications. These applications are composed \\nof a variety of entries that are stored in a SAS catalog and that have been built with \\nthe BUILD procedure in SAS/AF software. For complete documentation on building SAS/AF \\napplications, see SAS Guide to Applications Development.\\n\\nYou can use the DISPLAY procedure to execute an application that runs in NODMS batch mode. \\nBe aware that any SAS programming statements that you submit with the DISPLAY procedure \\nthrough the SUBMIT block in SCL are not submitted for processing until PROC DISPLAY has \\nexecuted.\\n\\nIf you use the SAS windowing environment, you can use the AF command to execute an \\napplication. SUBMIT blocks execute immediately when you use the AF command. You can \\nuse the AFA command to execute multiple applications concurrently.\"}},{\"Name\":\"DISTANCE\",\"Type\":\"SAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC DISTANCE <options> ; \\n    BY variables ; \\n    COPY variables ; \\n    FREQ variable ; \\n    ID variable ; \\n    VAR level(variables </ opt-list>) ; \\n    WEIGHT variable ; \\n\\nThe DISTANCE procedure computes various measures of distance, dissimilarity, or \\nsimilarity between the observations (rows) of a SAS data set. These proximity \\nmeasures are stored as a lower triangular matrix or a square matrix in an output \\ndata set (depending on the SHAPE= option) that can then be used as input to the \\nCLUSTER, MDS, and MODECLUS procedures. The input data set might contain numeric \\nor character variables, or both, depending on which proximity measure is used.\"}},{\"Name\":\"DOCUMENT\",\"Type\":\"SAS_PROCEDURE\",\"Attributes\":\"InteractivePROC\",\"Help\":{\"#cdata\":\"Syntax: PROC DOCUMENT <options>;  \\n  COPY path<(where-expression)> <, path-2<(where-expression-2)>> \\n    <, ...path-n<(where-expression-n)>> TO path </ option(s)>;  \\n  DELETE path<(where-expression)> <, path-2<(where-expression-2)>> \\n    <, ...path-n<(where-expression-n)>> < / LEVELS= ALL | value>;  \\n  DIR <path>;  \\n  DOC <options>;  \\n  DOC CLOSE;  \\n  HIDE path <, path-2, ...path-n>;  \\n  IMPORT DATA= data-set-name | GRSEG=grseg TO path </options>;  \\n  LINK path TO path </ options>;  \\n  LIST path<(where-expression)> <, path-2<(where-expression-2)>> \\n    <, ...path-n<(where-expression-n)>> </option(s)>;  \\n  MAKE path <, path-2, ...path-n> </ options>;  \\n  MOVE path<(where-expression)> <, path-2<(where-expression-2)>> \\n    <, ...path-n<(where-expression-n)>> TO path </ option(s) >;  \\n  NOTE path <'text'> </ option(s)>;  \\n  OBANOTE<n> output-object <'text'> </option>;  \\n  OBBNOTE<n> output-object <'text'> </ option>;  \\n  OBFOOTN<n> output-object <'text'>;  \\n  OBPAGE output-object </ option(s)>;  \\n  OBSTITLE<n> output-object <'text'> </ options>;  \\n  OBTEMPL output-object;  \\n  OBTITLE<n> output-object <'text'>;  \\n  RENAME path-1 TO path-2;  \\n  REPLAY path<(where-expression)> <, path-2<(where-expression-2)>> \\n    <, ...path-n<(where-expression-n)>> </ options>;  \\n  SETLABEL path 'label';  \\n  UNHIDE path <, path-2, ...path-n>;  \\nQUIT;  \\n\\nIn ODS documents, the DOCUMENT procedure enables you to rearrange, duplicate, or remove \\noutput from the results of a procedure or a database.\"}},{\"Name\":\"DSTRANS\",\"Type\":\"SAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC DSTRANS DSI_TO_DS2 | IN=data-step-file OUT=ds2-filename OUTDIR=ds2-pathname; \\n    SUBMIT; \\n    ENDSUBMIT; \\n    \\n The DSTRANS procedure translates a subset of SAS DATA step code into DS2 language statements. \\n Then, if necessary, you can revise your program to take advantage of DS2 functionality and \\n submit your program in a Base SAS session using the DS2 procedure.\"}},{\"Name\":\"EXPORT\",\"Type\":\"SAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC EXPORT DATA=<libref.>SAS-data-set <(SAS-data-set-options)> \\n    OUTFILE=\\\"filename\\\" | OUTTABLE=\\\"tablename\\\" <DBMS=identifier> <REPLACE><LABEL>;  \\n    <data-source-statement(s);>\\n      \\nThe EXPORT procedure reads data from a SAS data set and writes it to an external data source. \\nExternal data sources can include such files as Microsoft Access Database, Excel files, Lotus \\nspreadsheets, and delimited external files. In delimited files, a delimiter--such as a blank, \\ncomma, or tab--separates columns of data values. \\n\\nWhen you run PROC EXPORT, it reads the input data set and writes the data to the external data \\nsource. PROC EXPORT uses one of these methods to export data:\\n\\n  o generated DATA step code \\n  o generated SAS/ACCESS code \\n  o translation engines\"}},{\"Name\":\"EXPLODE\",\"Type\":\"SAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC EXPLODE;\\n    PARMCARDS|PARMCARDS4;\\n    message-line(s)\\n    ;|;;;; \\n    \\nThe EXPLODE procedure produces printed output with oversized text by expanding \\neach letter into a matrix of characters. You can use the EXPLODE procedure to \\ngenerate posters, flip charts, and header pages for computer output. \\n\\nNote: PROC EXPLODE with a PARMCARDS statement cannot be included in a macro.\"}},{\"Name\":\"FACTOR\",\"Type\":\"SAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC FACTOR <options> ; \\n    VAR variables ; \\n    PRIORS communalities ; \\n    PARTIAL variables ; \\n    FREQ variable ; \\n    WEIGHT variable ; \\n    BY variables ; \\n\\nThe FACTOR procedure performs a variety of common factor and component analyses \\nand rotations. Input can be multivariate data, a correlation matrix, a covariance \\nmatrix, a factor pattern, or a matrix of scoring coefficients. The procedure can \\nfactor either the correlation or covariance matrix, and you can save most results \\nin an output data set.\"}},{\"Name\":\"FAMILY\",\"Type\":\"SAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC PROC FAMILY <options> ; \\n    BY variables ; \\n    ID variables ; \\n    TRAIT variable </ AFFECTED= value> ; \\n    VAR variables ; \\n    XLVAR variables ; \\n  \\nFamily genotype data, though more difficult to collect, often provide a more effective way \\nof testing markers for association with disease status than case-control data. Case-control \\ndata can uncover significant associations between markers and a disease that could be caused \\nby factors other than linkage, such as population structure. Analyzing family data by using \\nthe FAMILY procedure ensures that any significant associations found between a marker and \\ndisease status are due to linkage between the marker and disease locus. This is accomplished \\nby using the transmission/disequilibrium test (TDT) and several variations of it that can \\naccommodate different types of family data. One type of family consists of parents, at least \\none heterozygous, and an affected child who have all been genotyped. This family structure is \\nsuitable for the original TDT. Families having at least one affected and one unaffected sibling \\nfrom a sibship that have both been genotyped can be analyzed using the sibling tests: the sib \\nTDT (S-TDT) or the nonparametric sibling disequilibrium test (SDT). Both types of families can \\nbe jointly analyzed using the combined versions of the S-TDT and SDT and the reconstruction-\\ncombined TDT (RC-TDT). The RC-TDT can additionally accommodate families with no unaffected \\nchildren and missing parental genotypes in certain situations.\"}},{\"Name\":\"FASTCLUS\",\"Type\":\"SAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC FASTCLUS <DATA=SAS-data-set> MAXCLUSTERS=n | RADIUS=t <options> ; \\n    VAR variables ; \\n    ID variables ; \\n    FREQ variable ; \\n    WEIGHT variable ; \\n    BY variables ;\\n\\nThe FASTCLUS procedure performs a disjoint cluster analysis on the basis of distances \\ncomputed from one or more quantitative variables. The observations are divided into \\nclusters such that every observation belongs to one and only one cluster; the clusters \\ndo not form a tree structure as they do in the CLUSTER procedure. If you want separate \\nanalysis for different numbers of clusters, you can run PROC FASTCLUS once for each \\nanalysis. Alternatively, to do hierarchical clustering on a large data set, use PROC \\nFASTCLUS to find initial clusters, and then use those initial clusters as input to \\nPROC CLUSTER.\"}},{\"Name\":\"FCMP\",\"Type\":\"SAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC FCMP option(s); \\n    ABORT;  \\n    ARRAY array-name[dimensions] </NOSYMBOLS | variable(s) | constant(s) | (initial-values)>; \\n    ATTRIB variable(s) <FORMAT=format-name ><LABEL='label'>< LENGTH=length>;  \\n    DELETEFUNC function-name; \\n    DELETESUBR subroutine-name; \\n    FUNCTION function-name(argument(s)) <VARARGS> <$> <length>\\n      <KIND | GROUP='string' <LABEL='string-2'>>; \\n    LABEL variable='label'; \\n    LISTFUNC function-name;  \\n    LISTSUBR subroutine-name; \\n    STRUCT structure-name variable; \\n    SUBROUTINE subroutine-name (argument(s)) <VARARGS>\\n      <LABEL='label'> <KIND | GROUP='string'>;  \\n    OUTARGS out-argument(s);\\n      \\nThe SAS Function Compiler (FCMP) procedure enables you to create, test, and store \\nSAS functions and CALL routines before you use them in other SAS procedures or DATA \\nsteps. PROC FCMP provides the ability to build functions and CALL routines using DATA \\nstep syntax that is stored in a data set. The procedure accepts slight variations of \\nDATA step statements, and you can use most features of the SAS programming language \\nin functions and CALL routines that are created by PROC FCMP. You can call PROC FCMP \\nfunctions and CALL routines from the DATA step just as you would any other SAS function \\nor CALL routine. This feature enables programmers to more easily read, write, and maintain \\ncomplex code with independent and reusable subroutines. You can reuse the PROC FCMP routines \\nin any DATA step or SAS procedure that has access to their storage location.\"}},{\"Name\":\"FEDSQL\",\"Type\":\"SAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC FEDSQL <option(s)>; \\n  \\u2026FedSQL statements \\n  QUIT; \\n  \\nSAS FedSQL is a SAS proprietary implementation of ANSI SQL:1999 core standard. It provides support \\nfor new data types and other ANSI 1999 core compliance features and proprietary extensions. FedSQL \\nprovides a scalable, threaded, high-performance way to access, manage, and share relational data in \\nmultiple data sources. When possible, FedSQL queries are optimized with multi-threaded algorithms \\nin order to resolve large-scale operations. \\n\\nFor applications, FedSQL provides a common SQL syntax across all data sources. That is, FedSQL \\nis a vendor-neutral SQL dialect that accesses data from various data sources without having to \\nsubmit queries in the SQL dialect that is specific to the data source. In addition, a single \\nFedSQL query can target data in several data sources and return a single result table.\"}},{\"Name\":\"FMM\",\"Type\":\"SAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC FMM <options> ; \\n  BAYES bayes-options ; \\n  BY variables ; \\n  CLASS variables </ TRUNCATE> ; \\n  FREQ variable ; \\n  ID variables ; \\n  MODEL response<(response-options)> = <effects> </ model-options> ; \\n  MODEL events/trials = <effects> </ model-options> ; \\n  MODEL + <effects> </ model-options> ; \\n  OUTPUT <OUT=SAS-data-set> <keyword<(keyword-options)> <=name>>...\\n    <keyword<(keyword-options)> <=name>> </ options> ; \\n  PERFORMANCE performance-options ; \\n  PROBMODEL <effects> </ probmodel-options> ; \\n  RESTRICT <'label'> constraint-specification <, ..., constraint-specification>\\n    <operator <value>> </ option> ; \\n  WEIGHT variable ; \\n    \\nThe FMM procedure estimates the parameters in univariate finite mixture models and \\nproduces various statistics to evaluate parameters and model fit.\"}},{\"Name\":\"FONTREG\",\"Type\":\"SAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC FONTREG <option(s)>;  \\n    FONTFILE 'file' <...'file'> || 'file-1, pfm-file-1, afm-file-1' <...'file-n'>;  \\n    FONTPATH 'directory' <...'directory'>;  \\n    REMOVE 'family-name' | 'alias' | family-type | _ALL_;  \\n    TRUETYPE 'directory' <...'directory'>;  \\n    TYPE1 'directory' <...'directory'>;\\n    OPENTYPE <fileref> 'directory' <\\u2026'directory'>;\\n      \\nThe FONTREG procedure enables you to update the SAS registry to include system fonts, \\nwhich can then be used in SAS output. PROC FONTREG uses FreeType font-rendering to \\nrecognize and incorporate various types of font definitions. Fonts of any type that \\ncan be incorporated and used by SAS are known collectively in this documentation as \\nfonts in the FreeType library.\"}},{\"Name\":\"FORMAT\",\"Type\":\"SAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC FORMAT <option(s)>;\\n    EXCLUDE entry(s);  \\n    INVALUE <$>name <(informat-option(s))> value-range-set(s);  \\n    PICTURE name <(format-option(s))> value-range-set-1 <(picture-1-option(s) )> \\n      <...value-range-set-n <(picture-n-option(s))>>;  \\n    SELECT entry(s);  \\n    VALUE <$>name <(format-option(s))> value-range-set(s);  \\n\\nThe FORMAT procedure enables you to define your own informats and formats for variables. \\nIn addition, you can print the parts of a catalog that contain informats or formats, store \\ndescriptions of informats or formats in a SAS data set, and use a SAS data set to create \\ninformats or formats.\"}},{\"Name\":\"FORMS\",\"Type\":\"SAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC FORMS <option(s)>;\\n    BY <DESCENDING> variable-1\\n      <\\u2026<DESCENDING> variable-n>\\n      <NOTSORTED>;\\n    FREQ variable;\\n    LINE line-number variable(s) </ option(s)>; \\n    \\nThe FORMS procedure produces labels for envelopes, mailing labels, external tape labels, \\nfile cards, and any other printer forms that have a regular pattern. For each observation \\nin the input SAS data set, PROC FORMS prints data in a rectangular block called a form unit. \\nFor example, a mailing label is a form unit.\"}},{\"Name\":\"FREQ\",\"Type\":\"SAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC FREQ <options> ; \\n    BY variables ; \\n    EXACT statistic-options </ computation-options> ; \\n    OUTPUT <OUT=SAS-data-set> options ; \\n    TABLES requests </ options> ; \\n    TEST options ; \\n    WEIGHT variable </ option> ; \\n\\nThe FREQ procedure produces one-way to n-way frequency and contingency (crosstabulation) tables. \\nFor two-way tables, PROC FREQ computes tests and measures of association. For n-way tables, PROC \\nFREQ provides stratified analysis by computing statistics across, as well as within, strata.\"}},{\"Name\":\"FSLIST\",\"Type\":\"SAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC FSLIST FILEREF=file-specification|UNIT=nn <option(s)>;\\n  \\nThe FSLIST procedure enables you to browse external files that are not SAS data sets within \\na SAS session.\"}},{\"Name\":\"FSLETTER\",\"Type\":\"SAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC FSLETTER LETTER=SAS-catalog<.catalog-entry>  <DATA=data-set>  \\n    <NOBORDER>  \\n    <PRINTFILE=fileref | 'actual-filename'>;   \\n    WHERE expression;  \\n    \\nThe FSLETTER procedure enables you to create, edit, and print letters and other documents. \\nWhen creating and editing documents in the FSLETTER window, you can use all the features of \\nthe SAS text editor, including the spelling checker.\"}},{\"Name\":\"FSVIEW\",\"Type\":\"SAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC FSVIEW <DATA=data-set> | <NEW=data-set <LIKE=data-set>>  \\n    <FORMULA=SAS-catalog<.formula-entry>> <options>;  \\n     \\n    FORMAT variable-list format <... variable-list-n format-n>;  \\n    ID variable <... variable-n>;  \\n    INFORMAT variable-list informat <... variable-list-n informat-n>;  \\n    VAR variable <... variable-n>;  \\n    WHERE expression;  \\n\\nThe FSVIEW procedure enables you to browse or edit a SAS data set, displaying the data set \\nas a table of rows and columns. You can also use it to create a new SAS data set.\\n\\nThe procedure provides tools for customizing an FSVIEW application. For example, you can \\nredesign the display by changing the size, position, and colors of the FSVIEW window. You \\ncan also add computed variables, which display values that are calculated from other variables \\nin the data set.\"}},{\"Name\":\"FSBROWSE\",\"Type\":\"SAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC FSBROWSE <DATA=data-set>  <KEYS=keys-entry>  \\n    <SCREEN=SAS-catalog <.screen-entry>> | <display-options>  \\n    <procedure-options>  \\n    <letter-options>;  \\n    \\n    FORMAT variable-list format <... variable-list-n format-n>;  \\n    INFORMAT variable-list informat <... variable-list-n informat-n>;  \\n    LABEL variable='label' <... variable-n='label-n'>;  \\n    VAR variable <... variable-n>;  \\n    WHERE expression;     \\n\\nThe FSBROWSE procedure opens the FSBROWSE window, from which you can browse the contents \\nof a SAS data set one observation at a time. The FSBROWSE procedure is identical to the \\nFSEDIT procedure, except that the FSBROWSE window does not allow you to make changes to \\nthe displayed data set.\"}},{\"Name\":\"FSEDIT\",\"Type\":\"SAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC FSEDIT <DATA=data-set | NEW=data-set <LIKE=data-set>>  <KEYS=keys-entry>  \\n    <SCREEN=SAS-catalog<.screen-entry>> | <display-options>  \\n    <procedure-options>  \\n    <letter-options>;  \\n    \\n    FORMAT variable-list format <... variable-list-n format-n>;  \\n    INFORMAT variable-list informat <... variable-list-n informat-n>;  \\n    LABEL variable='label' <... variable-n='label-n'>;  \\n    VAR variable <... variable-n>;  \\n    WHERE expression;     \\n\\nThe FSEDIT procedure enables you to edit a SAS data set one observation at a time. \\nYou can also use it to create a new SAS data set.\\n\\nThe procedure provides the tools for building applications for entering and editing data. \\nAn FSEDIT application provides a custom display in which each data entry field has a set \\nof attributes that can \\n  o assign an initial value to the field \\n  o restrict the range of values that can be entered in the field \\n  o protect the field from editing \\n  o require that a value be entered in the field.\"}},{\"Name\":\"G3D\",\"Type\":\"SAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC G3D <DATA=input-data-set> <ANNOTATE=annotate-data-set> \\n    <GOUT=<libref.>output-catalog>;  \\n    PLOT plot-request</option(s)>;  \\n    SCATTER plot-request</option(s)>;  \\n\\nThe G3D procedure enables you to produce three-dimensional surface plots (using the PLOT statement) \\nand scatter plots (using the SCATTER statement). \\n\\nSurface plots represent the shape of the surface that is described by the values of three \\nvariables, X, Y, and Z. The values of the X and Y variables are plotted to form a horizontal \\nplane. The values of the Z variable, create a vertical axis that is perpendicular to the X-Y \\nplane. Combined, these three axes, form a three-dimensional surface.\"}},{\"Name\":\"G3GRID\",\"Type\":\"SAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC G3GRID <DATA=input-data-set> <OUT=output-data-set>\\n    <OUTTRI=output-data-set>;  \\n    GRID grid-request </option(s)>;  \\n\\nThe G3GRID procedure processes an existing SAS data set to create a data set that the G3D \\nprocedure or the GCONTOUR procedure can use to produce a three-dimensional surface plot or \\na contour plot. The procedure creates a data set whose horizontal X-Y variable values form \\na complete grid, and it interpolates the values of the vertical Z variable for each point \\non the X-Y plane.\"}},{\"Name\":\"GAM\",\"Type\":\"SAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC GAM <options> ; \\n    CLASS variable<(options)><variable<(options)>></options> ; \\n    MODEL dependent</options> = <PARAM(effects)> <smoothing effects></options> ; \\n    SCORE data=SAS-data-set out=SAS-data-set ; \\n    OUTPUT <out=SAS-data-set> keyword=prefix < keyword=prefix> ; \\n    BY variables ; \\n    FREQ variable ; \\n\\nThe GAM procedure fits generalized additive models as those models are defined by Hastie and \\nTibshirani (1990). This procedure provides an array of powerful tools for data analysis, based \\non nonparametric regression and smoothing techniques.\"}},{\"Name\":\"GAMPL\",\"Type\":\"SAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC GAMPL <options>;\\n    CLASS variable <(options)>$\\\\ldots $ <variable <(options)>> </ global-options>;\\n    MODEL response <(response-options)> = <PARAM(effects)> <spline-effects> </ model-options>;\\n    MODEL events / trials = <PARAM(effects)> <spline-effects> </ model-options>;\\n    OUTPUT <OUT=SAS-data-set> <keyword <=name>>\\u2026<keyword <=name>> </ options>;\\n    PERFORMANCE performance-options;\\n    FREQ variable;\\n    ID variables;\\n    WEIGHT variable;\\n    \\nThe GAMPL procedure is a high-performance procedure that fits generalized additive models that are based on \\nlow-rank regression splines (Wood 2006). This procedure provides powerful tools for nonparametric regression \\nand smoothing.\"}},{\"Name\":\"GANNO\",\"Type\":\"SAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC GANNO ANNOTATE=Annotate-data-set \\n    <DATASYS> \\n    <DESCRIPTION='description'> \\n    <GOUT=<libref.>output-catalog> \\n    <IMAGEMAP=output-data-set> \\n    <LONGNAME='entry-name'> \\n    <NAME= 'entry-name' | variable-name>; \\n\\nThe GANNO procedure displays graphs created by Annotate data sets. The procedure can also be \\nused to scale data-dependent graphics to fit the graphics output area. Note that the GANNO \\nprocedure ignores all currently defined title and footnote statements and some graphics option \\nspecifications, including BORDER=. To include titles, footnotes, and graphics options along with \\nyour Annotate data set, use the GSLIDE procedure instead of the GANNO procedure.\"}},{\"Name\":\"GAREABAR\",\"Type\":\"SAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC GAREABAR <DATA=input-data-set;>  \\n    HBAR | HBAR3D | VBAR | VBAR3D chart-variable*width-variable/SUMVAR=numeric-variable<(option(s)> ; \\n\\nThe GAREABAR procedure produces an area bar chart displaying two statistics for each \\ncategory of data.\"}},{\"Name\":\"GENESELECT\",\"Type\":\"SAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC GENESELECT <options> ; \\n    FREQ variable ; \\n    PERFORMANCE <options> ; \\n    TRAIT variable </ options> ; \\n    VAR variables </ options> ; \\n    IMPORTANCE <options> ; \\n    PARTIALDEP <options> ; \\n    SAVE <options> ; \\n    SCORE <options> ; \\n\\nThe GENESELECT procedure identifies influential genetic and environmental variables \\nand their interactions by fitting a model to predict a trait and then evaluating the \\ninfluence that the predictor variables and their interactions have on the model.\"}},{\"Name\":\"GBARLINE\",\"Type\":\"SAS_PROCEDURE\",\"Attributes\":\"InteractivePROC\",\"Help\":{\"#cdata\":\"Syntax: PROC GBARLINE <DATA=input-data-set> \\n    <ANNOTATE=Annotate-data-set> <IMAGEMAP=output-data-set>;  \\n    BAR bar-variable </option(s)>;  \\n    <PLOT </option(s)>;>...  \\n    <PLOT </option(s)>;>  \\n\\nThe GBARLINE procedure produces bar-line charts. Bar-line charts are vertical bar \\ncharts with one or more plot overlays. These charts graphically represent the value \\nof a statistic calculated for one or more variables in an input SAS data set. The \\ncharted variables can be either numeric or character.\\n\\nThe procedure calculates these statistics: \\n  o sum\\n  o mean\\n  o frequency or cumulative frequency\\n  o percentage or cumulative percentage.\"}},{\"Name\":\"GCHART\",\"Type\":\"SAS_PROCEDURE\",\"Attributes\":\"InteractivePROC\",\"Help\":{\"#cdata\":\"Syntax: PROC GCHART <DATA=input-data-set> \\n      <ANNOTATE=Annotate-data-set> \\n      <GOUT=<libref.>output-catalog> \\n      <IMAGEMAP=output-data-set>;  \\n      BLOCK chart-variable(s) </ option(s)>;  \\n      HBAR | HBAR3D | VBAR | VBAR3D chart-variable(s) </ option(s)>;  \\n      PIE | PIE3D | DONUT chart-variable(s) </ option(s)>;  \\n      STAR chart-variable(s) </ option(s)>;  \\n\\nThe GCHART procedure produces six types of charts: block charts, horizontal and vertical \\nbar charts, pie and donut charts, and star charts. These charts graphically represent the \\nvalue of a statistic calculated for one or more variables in an input SAS data set. The \\ncharted variables can be either numeric or character.\"}},{\"Name\":\"GCONTOUR\",\"Type\":\"SAS_PROCEDURE\",\"Attributes\":\"InteractivePROC\",\"Help\":{\"#cdata\":\"Syntax: PROC GCONTOUR <DATA=input-data-set> \\n    <ANNOTATE=Annotate-data-set> <GOUT=<libref.>output-catalog> <INCOMPLETE>;  \\n    PLOT y*x=z </option(s)>;  \\n\\nThe GCONTOUR procedure enables you to generate two-dimensional plots representing \\nthree-dimensional relationships. \\n\\nWith PROC GCONTOUR, you can do the following actions:\\n\\n  o use AXIS statements to customize the axes \\n  o use line styles and patterns to emphasize the contour levels \\n  o use reference lines to see how (x,y) combinations align to z values \\n  o use SYMBOL statements to customize labels or highlight data trends\"}},{\"Name\":\"GDEVICE\",\"Type\":\"SAS_PROCEDURE\",\"Attributes\":\"InteractivePROC\",\"Help\":{\"#cdata\":\"Syntax: PROC GDEVICE <CATALOG=<libref.>SAS-catalog> <BROWSE> <NOFS>; \\n    ADD new-device-entry required-parameters <optional-parameters>;  \\n    COPY device-entry <FROM=<libref.>SAS-catalog> <NEWNAME=new-device-entry>;  \\n    DELETE device-entry;  \\n    FS;  \\n    LIST device-entry | _ALL_ | _NEXT_ | _PREV_ | DUMP>;  \\n    MODIFY device-entry parameter(s);\\n    QUIT | END | STOP;  \\n    RENAME device-entry NEWNAME=entry-name;  \\n\\nThe GDEVICE procedure is a tool for examining and changing the parameters of the graphics \\ndevice driver catalog entries used with SAS/GRAPH software. With the GDEVICE procedure, you \\ncan use either the GDEVICE windows or GDEVICE procedure statements to:\\n\\n  o list the device entries stored in any DEVICES catalog \\n  o view the parameters for any device entry \\n  o create and modify new device entries \\n  o copy, modify, rename, or delete existing device entries.\"}},{\"Name\":\"GEE\",\"Type\":\"SAS_PROCEDURE\",\"Attributes\":\"InteractivePROC\",\"Help\":{\"#cdata\":\"Syntax: PROC GEE <options>; \\n    BY variables; \\n    CLASS variable <(options)> \\u2026<variable <(options)>> </ options>; \\n    ESTIMATE <'label'> estimate-specification </ options>; \\n    FREQ | FREQUENCY variable; \\n    LSMEANS <model-effects> </ options>; \\n    MISSMODEL <effects> </ options>; \\n    MODEL response = <effects > </ options>; \\n    OUTPUT <OUT=SAS-data-set> <keyword=name \\u2026keyword=name>; \\n    REPEATED SUBJECT=subject-effect </ options>; \\n    WEIGHT variable; \\n    \\nThe GEE procedure implements the generalized estimating equations (GEE) approach (Liang and Zeger 1986), \\nwhich extends the generalized linear model to handle longitudinal data (Stokes, Davis, and Koch 2012; \\nFitzmaurice, Laird, and Ware 2011; Diggle et al. 2002). For longitudinal studies, missing data are common, \\nand they can be caused by dropouts or skipped visits. If missing responses depend on previous responses, \\nthe usual GEE approach can lead to biased estimates. So the GEE procedure also implements the weighted \\nGEE method to handle missing responses that are caused by dropouts in longitudinal studies (Robins and \\nRotnitzky 1995; Preisser, Lohman, and Rathouz 2002). The GEE procedure in SAS/STAT 14.1 does not support \\nthe weighted GEE method for the multinomial distribution for polytomous responses.\"}},{\"Name\":\"GENMOD\",\"Type\":\"SAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC GENMOD <options> ; \\n    ASSESS | ASSESSMENT VAR=(effect) | LINK </ options> ; \\n    BAYES <options> ; \\n    BY variables ; \\n    CLASS variable <(options)><variable <(options)>> </ options> ; \\n    CONTRAST 'label' contrast-specification </ options> ; \\n    DEVIANCE variable = expression ; \\n    EFFECTPLOT <plot-type <(plot-definition-options)>> </ options> ; \\n    ESTIMATE 'label' effect values <,...effect values> </ options> ; \\n    EXACT <'label'> <INTERCEPT> <effects> </ options> ; \\n    EXACTOPTIONS options ; \\n    FREQ | FREQUENCY variable ; \\n    FWDLINK variable = expression ; \\n    INVLINK variable = expression ; \\n    LSMEANS <model-effects> </ options> ; \\n    LSMESTIMATE model-effect <'label'> values <divisor=> <, ...<'label'> values <divisor=>> < / options> ; \\n    MODEL response = <effects > </ options> ; \\n    OUTPUT <OUT=SAS-data-set> <keyword=name...keyword=name> ; \\n    Programming statements ; \\n    REPEATED SUBJECT=subject-effect </ options> ; \\n    SLICE model-effect </ options> ; \\n    STORE <OUT=>item-store-name </ LABEL='label'> ; \\n    STRATA variable <(option)>  <variable <(option)>> </ options> ; \\n    WEIGHT | SCWGT variable ; \\n    VARIANCE variable = expression ; \\n    ZEROMODEL <effects > </ options> ; \\n\\nThe GENMOD procedure fits generalized linear models, as defined by Nelder and Wedderburn \\n(1972). The class of generalized linear models is an extension of traditional linear models \\nthat allows the mean of a population to depend on a linear predictor through a nonlinear \\nlink function and allows the response probability distribution to be any member of an \\nexponential family of distributions.\"}},{\"Name\":\"GEOCODE\",\"Type\":\"SAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC GEOCODE <option(s)>; \\n    \\nGeocoding is the process of adding geographic coordinates (latitude and longitude values) \\nto an address. \\n\\nThe coordinates typically represent the center of a ZIP code, a city, an address, or any \\ngeographic region. After geocoding, the coordinates can be used to display a point on a map \\nor to calculate distances. Geocoding also enables you to add attributes values such as census \\nblocks to an address.\"}},{\"Name\":\"GFONT\",\"Type\":\"SAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC GFONT NAME=SAS/GRAPH font| device-resident font | system font mode \\n      <display-option(s)> <creation-option(s)>; \\n\\nThe GFONT procedure displays fonts and creates SAS/GRAPH fonts for use in SAS/GRAPH \\nprograms. These fonts can contain standard Roman alphabet characters, foreign language \\ncharacters, symbols, logos, or figures. \\n\\nYou can use the GFONT procedure output when you want to do the following tasks:\\n\\n  o review the characters that are available in SAS/GRAPH fonts \\n  o examine the default device-resident font for your device \\n  o see the character codes associated with font characters \\n  o view the hexadecimal values associated with font characters \\n  o modify the color and height of font characters \\n  o draw reference lines around font characters\"}},{\"Name\":\"GINSIDE\",\"Type\":\"SAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC GINSIDE \\n    DATA=points-data-set\\n    MAP=map-data-set \\n    <OUT=output-data-set > \\n    <DROPMAPVARS>\\n    <INSIDEONLY>\\n    <INCLUDEBORDER>\\n    <KEEPMAPVARS>; \\n    ID d-variable(s); \\n\\nThe GINSIDE procedure compares a data set of X and Y coordinates to a map dataset containing \\nmap polygons. The procedure determines whether the X and Y coordinates for each point fall \\ninside of or outside of the map polygons. If the point falls inside of a polygon, then the \\nID variable is set to the ID value of that polygon. For example, if a map contains states, \\nthen the ID variable of the output data set is set to the state that contains the point. The \\nGINSIDE procedure can be used with the SAS/GRAPH map data sets and the results can be used to \\nannotate onto a map with the GMAP procedure.\"}},{\"Name\":\"GKPI\",\"Type\":\"SAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC GKPI <MODE= BASIC | RAISED>;  \\n    DIAL|HBULLET|HSLIDER|HTRAFFICLIGHT|SPEEDOMETER| VTRAFFICLIGHT|VBULLET|VSLIDER \\n    ACTUAL=data-value BOUNDS=bound-value-list </ options>;  \\n\\nThe GKPI procedure creates graphical key performance indicator (KPI) charts. KPIs \\nare metrics that help a business monitor its performance and measure its progress \\ntoward specific goals. \\n\\nThe procedure produces five KPI chart types:\\n\\n  o slider (vertical or horizontal) \\n  o bullet graph (vertical or horizontal) \\n  o dial \\n  o speedometer \\n  o traffic light (vertical or horizontal).\\n\\nThe GKPI procedure produces a two or three-dimensional KPI chart based on a series \\nof segment boundaries and an actual KPI value that you specify. If you specify a \\ntarget value, the KPI chart also displays the target value. The procedure uses a \\nset of default colors for the KPI chart, but you can specify your own colors.\"}},{\"Name\":\"GLIMMIX\",\"Type\":\"SAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC GLIMMIX <options> ; \\n    BY variables ; \\n    CLASS variables ; \\n    CODE <options>; \\n    CONTRAST 'label' contrast-specification <, contrast-specification> <, ...> </ options> ; \\n    COVTEST <'label'> <test-specification> </ options> ; \\n    EFFECT effect-specification ; \\n    ESTIMATE 'label' contrast-specification <(divisor=n)>\\n      <, 'label' contrast-specification <(divisor=n)>> <, ...> </ options> ; \\n    FREQ variable ; \\n    ID variables ; \\n    LSMEANS fixed-effects </ options> ; \\n    LSMESTIMATE fixed-effect <'label'> values <divisor=>\\n      <, <'label'> values <divisor=n>> <, ...> </ options> ; \\n    MODEL response<(response-options)> = <fixed-effects> </ model-options> ; \\n    MODEL events/trials = <fixed-effects> </ model-options> ; \\n    NLOPTIONS <options> ; \\n    OUTPUT <OUT=SAS-data-set> <keyword<(keyword-options)> <=name>>...\\n      <keyword<(keyword-options)> <=name>> </ options> ; \\n    PARMS (value-list) ...</ options> ; \\n    RANDOM random-effects </ options> ; \\n    SLICE model-effect </ options> ; \\n    STORE <OUT=>item-store-name </ LABEL='label'> ; \\n    WEIGHT variable ; \\n    Programming statements ;  \\n\\nThe GLIMMIX procedure fits statistical models to data with correlations or nonconstant variability \\nand where the response is not necessarily normally distributed. These models are known as generalized \\nlinear mixed models (GLMM).\"}},{\"Name\":\"GLM\",\"Type\":\"SAS_PROCEDURE\",\"Attributes\":\"InteractivePROC\",\"Help\":{\"#cdata\":\"Syntax: PROC GLM <options> ; \\n    CLASS variables </ option> ; \\n    MODEL dependent-variables=independent-effects </ options> ; \\n    ABSORB variables ; \\n    BY variables ; \\n    FREQ variable ; \\n    ID variables ; \\n    WEIGHT variable ; \\n    CONTRAST 'label' effect values <...effect values> </ options> ; \\n    ESTIMATE 'label' effect values <...effect values> </ options> ; \\n    LSMEANS effects </ options> ; \\n    MANOVA <test-options></ detail-options> ; \\n    MEANS effects </ options> ; \\n    OUTPUT <OUT=SAS-data-set> keyword=names <...keyword=names> </ option> ; \\n    RANDOM effects </ options> ; \\n    REPEATED factor-specification </ options> ; \\n    STORE <OUT=>item-store-name </ LABEL='label'> ; \\n    TEST <H=effects> E=effect </ options> ; \\n\\nThe GLM procedure uses the method of least squares to fit general linear models. Among \\nthe statistical methods available in PROC GLM are regression, analysis of variance, analysis \\nof covariance, multivariate analysis of variance, and partial correlation.\"}},{\"Name\":\"GLMMOD\",\"Type\":\"SAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC GLMMOD <options> ; \\n    BY variables ; \\n    CLASS variables ; \\n    FREQ variable ; \\n    MODEL dependents=independents / <options> ; \\n    WEIGHT variable ; \\n\\nThe GLMMOD procedure constructs the design matrix for a general linear model; it \\nessentially constitutes the model-building front end for the GLM procedure. You can \\nuse the GLMMOD procedure in conjunction with other SAS/STAT software regression \\nprocedures or with SAS/IML software to obtain specialized analyses for general \\nlinear models that you cannot obtain with the GLM procedure.\"}},{\"Name\":\"GLMPOWER\",\"Type\":\"SAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC GLMPOWER <options> ; \\n    BY variables ; \\n    CLASS variables ; \\n    CONTRAST 'label' effect values <...effect values> </ options> ; \\n    MODEL dependents = independents ; \\n    PLOT <plot-options> </ graph-options> ; \\n    POWER <options> ; \\n    WEIGHT variable ; \\n\\nPower and sample size analysis optimizes the resource usage and design of a study, \\nimproving chances of conclusive results with maximum efficiency. The GLMPOWER procedure \\nperforms prospective power and sample size analysis for linear models, with a variety of \\ngoals: \\n\\n  o determining the sample size required to get a significant result with adequate \\n    probability (power) \\n\\n  o characterizing the power of a study to detect a meaningful effect \\n\\n  o conducting what-if analyses to assess sensitivity of the power or required sample \\n    size to other factors\"}},{\"Name\":\"GLMSELECT\",\"Type\":\"SAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC GLMSELECT <options> ; \\n    BY variables ; \\n    CLASS variable <(v-options)> <variable <(v-options ...)> > </ v-options> <options> ; \\n    CODE <options>; \\n    EFFECT name = effect-type ( variables </ options> ) ; \\n    FREQ variable ; \\n    MODEL variable = <effects> </ options> ; \\n    MODELAVERAGE <options> ; \\n    OUTPUT <OUT=SAS-data-set> <keyword <=name> > <...keyword=name> ; \\n    PARTITION <options> ; \\n    PERFORMANCE <options> ; \\n    SCORE <DATA=SAS-data-set> <OUT=SAS-data-set> ; \\n    STORE <OUT=>item-store-name </ LABEL='label'> ; \\n    WEIGHT variable ; \\n\\nA variety of model selection methods are available, including the LASSO method of Tibshirani (1996) \\nand the related LAR method of Efron et al. (2004). The procedure offers extensive capabilities for \\ncustomizing the selection with a wide variety of selection and stopping criteria, from traditional \\nand computationally efficient significance-level-based criteria to more computationally intensive \\nvalidation-based criteria. The procedure also provides graphical summaries of the selection search.\"}},{\"Name\":\"GMAP\",\"Type\":\"SAS_PROCEDURE\",\"Attributes\":\"InteractivePROC\",\"Help\":{\"#cdata\":\"Syntax: PROC GMAP <MAP=map-data-set> \\n      DATA=response-data-set | feature-table \\n      <ALL> \\n      <ANNOTATE=Annotate-data-set> \\n      <DENSITY=0...6 | LOW | MEDIUM | HIGH> \\n      <GOUT=<libref.>output-catalog> \\n      <IMAGEMAP=output-data-set> \\n      <STRETCH> \\n      <UNIFORM>;  ID id-variable(s) | geo-variable; \\n    AREA response-variable </ option(s)>; \\n    BLOCK response-variable(s) </ option(s)>; \\n    CHORO response-variable(s) </ option(s)>; \\n    PRISM response-variable(s)</ option(s)>; \\n    SURFACE response-variable(s) </ option(s)>;  \\n\\nThe GMAP procedure produces two-dimensional (choropleth) or three-dimensional (block, \\nprism, and surface) maps that show variations of a variable value with respect to an \\narea. A wide assortment of map data sets is available with SAS/GRAPH software.\"}},{\"Name\":\"GOPTIONS\",\"Type\":\"SAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC GOPTIONS <option(s)>; \\n    \\nThe GOPTIONS procedure provides information about the values of graphics options \\nand the global statement definitions that are currently in effect in your session. \\nThe values displayed are either the defaults of the current device driver or user-\\ndefined values that have been assigned in your SAS session. You can use the GOPTIONS \\nprocedure to do the following tasks:\\n\\n  o list the current values of all of the graphics options or of one specified option\\n  o display the values of all of the AXIS, FOOTNOTE, LEGEND, PATTERN, SYMBOL, and TITLE \\n    definitions that are currently in effect\\n  o list the current values of all of the graphics options or of one specified option\\n  o display the values of all of the AXIS, FOOTNOTE, LEGEND, PATTERN, SYMBOL, and TITLE \\n    definitions that are currently in effect\"}},{\"Name\":\"GPLOT\",\"Type\":\"SAS_PROCEDURE\",\"Attributes\":\"InteractivePROC\",\"Help\":{\"#cdata\":\"Syntax: PROC GPLOT <DATA=input-data-set> \\n    <ANNOTATE=Annotate-data-set> <GOUT=<libref.>output-catalog> \\n    <IMAGEMAP=output-data-set > <UNIFORM>;  \\n    BUBBLE plot-request(s) </option(s)>;  \\n    BUBBLE2 plot-request(s) </option(s)>;  \\n    PLOT plot-request(s) </option(s)>;  \\n    PLOT2 plot-request(s) </option(s)>;  \\n \\nThe GPLOT procedure plots the values of two or more variables on a set of coordinate axes \\n(X and Y). The coordinates of each point on the plot correspond to two variable values in \\nan observation of the input data set. The procedure can also generate a separate plot for \\neach value of a third (classification) variable. It can also generate bubble plots in which \\ncircles of varying proportions representing the values of a third variable are drawn at the \\ndata points.\"}},{\"Name\":\"GPROJECT\",\"Type\":\"SAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC GPROJECT <option(s)>;  \\n    ID id-variable(s); \\n  \\nThe GPROJECT procedure processes traditional map data sets by converting spherical coordinates \\n(longitude and latitude) into Cartesian coordinates for use by the GMAP procedure.  The process \\nof converting coordinates from spherical to Cartesian is called projecting. Many of the map data \\nsets that are available with SAS/GRAPH contain unprojected longitude and latitude coordinates. \\nWhen these coordinates are plotted by the GMAP procedure, which is designed to plot points on a \\ntwo-dimensional plane, the resulting map is often reversed and distorted as a result of forcing \\nthe spherical map coordinates onto a flat plane.\"}},{\"Name\":\"GRADAR\",\"Type\":\"SAS_PROCEDURE\",\"Attributes\":\"InteractivePROC\",\"Help\":{\"#cdata\":\"Syntax: PROC GRADAR <DATA=input-data-set> <GOUT=<libref.>output-catalog> \\n    <ANNOTATE=Annotate-data-set>;  \\n    CHART chart-variable </ option(s)>;  \\n\\nThe GRADAR procedure creates radar charts that show the relative frequency of data measures \\nin quality control or market research problems. Radar charts are sometimes also called star \\ncharts.\"}},{\"Name\":\"GREDUCE\",\"Type\":\"SAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC GREDUCE <option(s)>;  \\n    ID id-variable(s);  \\n\\nThe GREDUCE procedure processes map data sets so that they can draw simpler maps with fewer \\nboundary points. It creates an output map data set that contains all of the variables in the \\ninput map data set plus a new variable named DENSITY. For each observation in the input map \\ndata set, the procedure determines the significance of that point for maintaining a semblance \\nof the original shape and gives the observation a corresponding DENSITY value.\"}},{\"Name\":\"GREMOVE\",\"Type\":\"SAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC GREMOVE <DATA=input-map-data-set> \\n    <FUZZ=fuzz-factor> <OUT=output-map-data-set> <NODECYCLE>;  \\n    BY <DESCENDING>variable-l <...<DESCENDING>variable-n> <NOTSORTED>;  \\n    ID variable(s);  \\n\\nThe GREMOVE procedure processes a map data set that is used as input. It does not produce any \\ngraphics output. Instead, it produces an output data set that typically becomes the input map \\ndata set for the GMAP procedure (see The GMAP Procedure). The GREMOVE procedure combines unit \\nareas defined in a map data set into larger unit areas by removing shared borders between the \\noriginal unit areas. For example, Map before Removing Borders (GRMUSMAP(a)) and Map after\\nRemoving Borders (GRMUSMAP(b)) show combined unit areas in a typical map data set by removing \\nstate boundaries to create regional census divisions.\"}},{\"Name\":\"GREPLAY\",\"Type\":\"SAS_PROCEDURE\",\"Attributes\":\"InteractivePROC\",\"Help\":{\"#cdata\":\"Syntax: PROC GREPLAY <BYLINE> <CC=color-map-catalog> <CMAP=color-map-entry> \\n    <FS> <GOUT=<libref.>output-catalog> <IGOUT=<libref.>input-catalog> \\n    <IMAGEMAP=output-data-set> <NOBYLINE> <NOFS> <PRESENTATION> \\n    <TC=template-catalog> <TEMPLATE=template-entry>; \\n    BYLINE;  \\n    CC color-map-catalog;  \\n    CCOPY <color-map-catalog.>color-map-entry<.CMAP>;  \\n    CDEF color-map-entry <color-definition(s)> <DES=\\\"description\\\">;  \\n    CDELETE color-map-entry(s) | _ALL_ ;  \\n    CMAP color-map-entry;  \\n    COPY entry-id(s) | _ALL_ ;  \\n    DELETE entry-id(s) | _ALL_ ;  \\n    DEVICE device-name;  \\n    FS;  \\n    GOUT <libref.>output-catalog;  \\n    GROUP entry-id(s);  \\n    IGOUT <libref.>input-catalog ;  \\n    LIST required-argument;  \\n    MODIFY modify-pair(s);  \\n    MOVE entry-id-1 AFTER | BEFORE entry-id-2;  \\n    NOBYLINE;  \\n    PREVIEW template-entry(s) | _ALL_ ;  \\n    QUIT | END | STOP;  \\n    REPLAY entry-id(s) | _FIRST_ | _LAST_ | _ALL_ ;  \\n    TC template-catalog;  \\n    TCOPY <template-catalog.>template-entry<.TEMPLATE>;  \\n    TDEF template-entry < panel definition(s)> \\n    <DES=\\\"description\\\">;  \\n    TDELETE template-entry(s) | _ALL_ ;  \\n    TEMPLATE template-entry;  \\n    TREPLAY select-pair(s);  \\n\\nThe GREPLAY procedure displays and manages graphics output that is stored in SAS catalogs. \\nThe GREPLAY procedure also creates templates and color maps that you can use when you replay \\nyour graphics output. The GREPLAY procedure operates in line mode, batch mode, and in the SAS \\nwindowing environments.\"}},{\"Name\":\"GROOVY\",\"Type\":\"SAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC GROOVY <classpath options>; \\n  ADD classpath options; \\n  EVALUATE <(LOAD | PARSEONLY | NORUN)> \\u201cGroovy statement string\\u201d <arguments>; \\n  EXECUTE <(LOAD | PARSEONLY | NORUN)> Groovy file name | fileref <arguments>; \\n  SUBMIT <(LOAD | PARSEONLY | NORUN)> <arguments>; \\n  Groovy statements\\n  ENDSUBMIT;\\n  CLEAR;\\nQUIT;\\n\\nGroovy is a dynamic language that runs on the Java Virtual Machine (JVM). PROC GROOVY \\nenables SAS code to execute Groovy code on the JVM. PROC GROOVY can run Groovy statements \\nthat are written as part of your SAS code, and it can run statements that are in files that \\nyou specify with PROC GROOVY commands. It can parse Groovy statements into Groovy Class \\nobjects, and run these objects or make them available to other PROC GROOVY statements or \\nJava DATA Step Objects. You can also use PROC GROOVY to update your CLASSPATH environment \\nvariable with additional CLASSPATH strings or filerefs to jar files.\"}},{\"Name\":\"GSLIDE\",\"Type\":\"SAS_PROCEDURE\",\"Attributes\":\"InteractivePROC\",\"Help\":{\"#cdata\":\"Syntax: PROC GSLIDE <option(s)>; \\n  \\nThe GSLIDE procedure is useful for creating text slides for presentations. You can overlay \\ntext slides on other graphics output with the GREPLAY procedure. The GSLIDE procedure produces \\ngraphics output that consists of text and straight lines that are generated by TITLE, FOOTNOTE, \\nand NOTE statements. In addition, the procedure provides an easy way to add titles, notes, and \\nfootnotes to output that is produced entirely with an Annotate data set.\"}},{\"Name\":\"GTILE\",\"Type\":\"SAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC GTILE <DATA=input-data-set>;  \\n    FLOW | TILE | TOGGLE size-variable TILEBY=(variable) | (variable-list) </option(s)>;  \\n\\nThe GTILE procedure creates charts that consist of a rectangle or a square divided into \\ntile-shaped segments. These charts represent the relative sizes of tiles to one another \\nand to the whole. The GTILE procedure provides three statements you can use to define the \\nlayout in order to visualize your data. The statements require one numeric variable. This \\nvariable defines the top level of the chart.\\n\\nThe TILEBY= statement is followed by any number of numeric or character variables that \\nare delineated by a comma or a blank space. By providing multiple TILEBY variables, and \\nspecifying either a JAVA or ACTIVEX device with the DEVICE= option, you can use the GTILE \\nprocedure to create interactive charts.These charts enable you to display subsets (or levels) \\nof your data. You can assign an additional numeric variable as a color variable using the \\nCOLORVAR= option.\"}},{\"Name\":\"GIMPORT\",\"Type\":\"SAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC GIMPORT FILEREF=cgm-fileref | 'external-file' \\n  FILETYPE=CGM \\n  FORMAT=BINARY | CHARACTER | CLEARTEXT \\n  <GOUT=<libref.>output-catalog>; \\n    \\nIdentifies the input file to be processed, and specifies its file type and format. \\nOptionally specifies an output catalog.\"}},{\"Name\":\"HPCANDISC\",\"Type\":\"SAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC HPCANDISC <options> ;     \\n    BY variables ; \\n    CLASS variable ; \\n    FREQ variable ;\\n    ID variables; \\n    PERFORMANCE performance-options; \\n    VAR variables ; \\n    WEIGHT variable ; \\n\\nThe HPCANDISC procedure is a high-performance procedure that performs canonical discriminant analysis. \\nIt is a high-performance version of the CANDISC procedure in SAS/STAT software. PROC HPCANDISC runs in \\neither single-machine mode or distributed mode. \\n\\nNote: Distributed mode requires SAS High-Performance Statistics.\"}},{\"Name\":\"HPCLUS\",\"Type\":\"SAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC HPCLUS < options > ;\\n    INPUT variables < options > ;\\n    ID variables ;\\n    FREQ variable ;\\n    SCORE < options > ;\\n    CODE < options > ;\\n    PERFORMANCE performance-options ; \\n    \\nThe HPCLUS procedure executes high-performance clustering. Clustering is a common step in the data\\nexploration stage. The HPCLUS procedure takes only numeric variables. \\n\\nThe HPCLUS procedure performs an cluster analysis on the basis of distances computed from one or more\\nvariables. The observations are divided into clusters such that every observation belongs to one and only one\\ncluster.\"}},{\"Name\":\"HPF\",\"Type\":\"SAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC HPF options ; \\n    BY variables ; \\n    FORECAST variable-list / options ; \\n    ID variable INTERVAL= interval options ; \\n    IDM options ; \\n\\nThe HPF (High-Performance Forecasting) procedure provides a quick and automatic\\nway to generate forecasts for many time series or transactional data in one\\nstep. The procedure can forecast millions of series at a time, with the series\\norganized into separate variables or across BY groups.\"}},{\"Name\":\"HPFARIMASPEC\",\"Type\":\"SAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC HPFARIMASPEC options ; \\n    FORECAST options ; \\n    INPUT options ; \\n    ESTIMATE options ; \\n\\nThe HPFARIMASPEC procedure is used to create an ARIMA (autoregressive\\nintegrated moving average) model specification file. The output of this\\nprocedure is an XML file that stores the intended ARIMA model specification.\"}},{\"Name\":\"HPFDIAGNOSE\",\"Type\":\"SAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC HPFDIAGNOSE options ; \\n    ADJUST variable = ( variable-list ) / options ; \\n    ARIMAX options ; \\n    BY variables ; \\n    ESM option ; \\n    EVENT event-names ; \\n    FORECAST variables ; \\n    ID variable INTERVAL=interval options ; \\n    IDM options ; \\n    INPUT variables ; \\n    TRANSFORM options ; \\n    TREND options ; \\n    UCM options ; \\n\\nThe HPFDIAGNOSE procedure provides a comprehensive set of tools for automated\\nunivariate time series model identification. Time series data can have\\noutliers, structural changes, and calendar effects. In the past, finding a good\\nmodel for time series data usually required experience and expertise in time\\nseries analysis.\"}},{\"Name\":\"HPFENGINE\",\"Type\":\"SAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC HPFENGINE options ; \\n    ADJUST variable = ( variable-list ) / options ; \\n    BY variables ; \\n    CONTROL variable-list / options ; \\n    EXTERNAL variable-list / options ; \\n    FORECAST variable-list / options ; \\n    ID variable INTERVAL= interval options ; \\n    INPUT variable-list / options ; \\n    SCORE ; \\n    STOCHASTIC variable-list / options ; \\n\\nThe HPFENGINE procedure provides an automatic way to generate forecasts for\\nmany time series or transactional data in one step. The procedure can\\nautomatically choose the best forecast model from a user-defined model list \\nor a default model list. Specifications for the candidate forecast models are\\nindependent of any data series. You can generate the specifications or choose\\nthem from a default set.\"}},{\"Name\":\"HPFESMSPEC\",\"Type\":\"SAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC HPFESMSPEC options ; \\n    ESM options ;  \\n\\nThe HPFESMSPEC procedure creates model specifications files for exponential\\nsmoothing models (ESM). \\n\\nYou can specify many types of exponential models with this procedure. In\\nparticular, any model that can be analyzed using the HPF procedure can be\\nspecified.\"}},{\"Name\":\"HPFEVENTS\",\"Type\":\"SAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC HPFEVENTS <options> ; \\n    BY variables ; \\n    EVENTCOMB variable= variable-list / options ; \\n    EVENTDATA options ; \\n    EVENTDEF variable= do-list / options ; \\n    EVENTDUMMY options ; \\n    EVENTGROUP variable=( list ) ; \\n    EVENTKEY <variable=> event-keyword < / options > ; \\n    ID variable INTERVAL= interval options ; \\n    VAR variables ;\\n\\nThe HPFEVENTS procedure provides a way to create and manage events associated\\nwith time series for the purpose of analysis. The procedure can create events,\\nread events from an events data set, write events to an events data set, and\\ncreate dummy variables based on those events if date information is provided.\"}},{\"Name\":\"HPFEXMSPEC\",\"Type\":\"SAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC HPFEXMSPEC options ; \\n    EXM options ; \\n\\nThe HPFEXMSPEC procedure creates model specifications files for external models\\n(EXM). External model specifications are used for forecasts that are provided\\nexternal to the system. These external forecasts might have originated from an\\nexternal statistical model from another software package, might have been\\nprovided by an outside organization (for example, a marketing organization or\\ngovernment agency), or might be based on judgment.\"}},{\"Name\":\"HPFIDMSPEC\",\"Type\":\"SAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC HPFIDMSPEC options ; \\n    IDM options ;\\n\\nThe HPFIDMSPEC procedure creates model specifications files for intermittent\\ndemand models (IDM).\"}},{\"Name\":\"HPFMM\",\"Type\":\"SAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC HPFMM <options> ; \\n    BAYES bayes-options ; \\n    BY variables ; \\n    CLASS variable <(options)>... <variable <(options)>> </ global-options>; \\n    FREQ variable ; \\n    ID variables ; \\n    MODEL response<(response-options)> = <effects> </ model-options> ; \\n    MODEL events/trials = <effects> </ model-options> ; \\n    MODEL + <effects> </ model-options> ; \\n    OUTPUT <OUT=SAS-data-set> <keyword<(keyword-options)> <=name>>...\\n      <keyword<(keyword-options)> <=name>> </ options> ; \\n    PERFORMANCE performance-options ; \\n    PROBMODEL <effects> </ probmodel-options> ; \\n    RESTRICT <'label'> constraint-specification <, ..., constraint-specification>\\n      <operator <value>> </ option> ; \\n    WEIGHT variable ; \\n    \\nThe HPFMM procedure is a high-performance counterpart of the FMM procedure that fits statistical models to \\ndata for which the distribution of the response is a finite mixture of univariate distributions\\u2014that is, \\neach response comes from one of several random univariate distributions that have unknown probabilities.\\nYou can use PROC HPFMM to model the component distributions in addition to the mixing probabilities.\"}},{\"Name\":\"HPFSELECT\",\"Type\":\"SAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC HPFSELECT options ; \\n    DELETE specification-list ; \\n    DIAGNOSE options ; \\n    FORECASTOPTIONS options ; \\n    SELECT options ; \\n    SPECIFICATION specification-list </ options> ; \\n\\nThe HPFSELECT procedure enables you to control the forecasting model selection\\nprocess by defining lists of candidate forecasting models. Using model\\nselection lists created by the HPFSELECT procedure, you can control which\\nforecasting model or models SAS High-Performance Forecasting software uses to\\nforecast particular time series.\"}},{\"Name\":\"HPFUCMSPEC\",\"Type\":\"SAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC HPFUCMSPEC options ; \\n    AUTOREG options ; \\n    BLOCKSEASON options ; \\n    CYCLE options ; \\n    DEPLAG options ; \\n    FORECAST options ; \\n    INPUT options ; \\n    IRREGULAR options ; \\n    LEVEL options ; \\n    SEASON options ; \\n    SLOPE options ; \\n\\nThe HPFUCMSPEC procedure is used to create an unobserved component model (UCM)\\nspecification file. The output of this procedure is an XML file that stores the\\nintended UCM specification. This XML specification file can be used for\\ndifferent purposes\\u2014for example, it can be used to populate the model repository\\nused by the HPFENGINE procedure (see Chapter 5, The HPFENGINE Procedure ). You\\ncan specify any UCM that can be analyzed by using the UCM procedure; see\\nChapter 29, The UCM Procedure (SAS/ETS User's Guide). Moreover, the model\\nspecification can include series transformations such as  or Box-Cox\\ntransformations. Apart from minor modifications to accommodate series\\ntransformations, the model specification syntax of the HPFUCMSPEC procedure is\\nsimilar to that of the UCM procedure.\"}},{\"Name\":\"HPGENSELECT\",\"Type\":\"SAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC HPGENSELECT < options > ;\\n    CLASS variable < (options) >: : : < variable < (options) > > < / global-options > ;\\n    CODE < options > ;\\n    MODEL response< (response-options) > = < effects > < / model-options > ;\\n    MODEL events/trials< (response-options) > = < effects > < / model-options > ;\\n    OUTPUT <OUT=SAS-data-set >\\n    < keyword < =name > >. . .\\n    < keyword < =name > > < / options > ;\\n    PERFORMANCE performance-options ;\\n    SELECTION selection-options ;\\n    FREQ variable ;\\n    ID variables ;\\n    WEIGHT variable ; \\n    \\nThe HPGENSELECT procedure is a high-performance procedure that fits generalized linear models on the\\nSAS appliance. \\n\\nThe HPGENSELECT procedure fits a broader class of regression models than exponential family generalized\\nlinear models; the procedure permits several link functions and can handle zero-modified models for count\\ndata as well as ordinal and nominal data with more than two response categories (multinomial data).\"}},{\"Name\":\"HPMIXED\",\"Type\":\"SAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC HPMIXED <options> ; \\n    BY variables ; \\n    CLASS variables ; \\n    EFFECT name = effect-type ( variables </ options> ) ; \\n    ID variables ; \\n    MODEL dependent = <fixed-effects> </ options> ; \\n    RANDOM random-effects </ options> ; \\n    REPEATED repeated-effect </ options> ;\\n    PARMS <(value-list) ...> </ options> ; \\n    TEST fixed-effects </ options> ; \\n    CONTRAST 'label' contrast-specification <, contrast-specification> <, ...> </ options> ; \\n    ESTIMATE 'label' contrast-specification <(divisor=n)>\\n      <, 'label' contrast-specification <(divisor=n)>> <, ...> </options> ; \\n    LSMEANS fixed-effects </ options> ; \\n    NLOPTIONS <options> ; \\n    OUTPUT <OUT=SAS-data-set>\\n      <keyword<(keyword-options)><=name>>...\\n      <keyword<(keyword-options)><=name>> </ options> ; \\n    WEIGHT variable ; \\n\\nThe HPMIXED procedure uses a number of specialized high-performance techniques to fit linear \\nmixed models with variance component structure. The HPMIXED procedure is specifically designed \\nto cope with estimation problems involving a large number of fixed effects, a large number of \\nrandom effects, or a large number of observations.\"}},{\"Name\":\"HPPLS\",\"Type\":\"SAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC HPPLS <options> ; \\n    BY variables ; \\n    CLASS variables </ option> ;    \\n    MODEL response-variables = predictor-effects </ options>; \\n    OUTPUT <OUT=SAS-data-set><keyword <=prefix>>\\u2026<keyword <=prefix>> ;\\n    PARTITION <partition-options>;\\n    PERFORMANCE <performance-options>;\\n    ID variables ; \\n\\nThe HPPLS procedure is a high-performance version of the PLS procedure in SAS/STAT software, which fits \\nmodels by using any one of a number of linear predictive methods, including partial least squares (PLS).\\nOrdinary least squares regression, as implemented in SAS/STAT procedures such as the GLM and REG procedures, \\nhas the single goal of minimizing sample response prediction error, and it seeks linear functions of the\\npredictors that explain as much variation in each response as possible. The HPPLS procedure implements \\ntechniques that have the additional goal of accounting for variation in the predictors,  under the \\nassumption that directions in the predictor space that are well sampled should provide better prediction \\nfor new observations when the predictors are highly correlated. All the techniques that the HPPLS procedure \\nimplements work by extracting successive linear combinations of the predictors, called factors (also called \\ncomponents, latent vectors, or latent variables), which optimally address one or both of these two \\ngoals: explaining response variation and explaining predictor variation. In particular, the method of \\npartial least squares balances the two objectives by seeking factors that explain both response and \\npredictor variation.\"}},{\"Name\":\"HPPRINCOMP\",\"Type\":\"SAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC HPPRINCOMP <options> ; \\n    BY variables ; \\n    CODE <options>;\\n    FREQ variable ; \\n    ID variables ; \\n    OUTPUT <OUT=SAS-data-set> <keyword <=prefix>>\\u2026<keyword <=prefix>> ; \\n    PARTIAL variables ; \\n    PERFORMANCE performance-options;\\n    VAR variables ; \\n    WEIGHT variable ; \\n\\nThe HPPRINCOMP procedure is a high-performance procedure that performs principal component analysis. \\nIt is a high-performance version of the PRINCOMP procedure in SAS/STAT software, but it provides \\nadditional iterative methods to calculate the principal components.\"}},{\"Name\":\"HPQUANTSELECT\",\"Type\":\"SAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC HPQUANTSELECT <options> ; \\n    BY variables ; \\n    CLASS variable <(v-options)> <variable <(v-options \\u2026)> > </ v-options> <options> ; \\n    CODE <options>; \\n    EFFECT name = effect-type (variables </ options> ) ; \\n    MODEL variable = <effects> </ options> ; \\n    OUTPUT <OUT=SAS-data-set> <keyword <=name> > <\\u2026keyword<=name>> ; \\n    PARTITION <options> ; \\n    WEIGHT variable ; \\n\\nThe QUANTSELECT procedure compares most closely to the GLMSELECT and QUANTREG procedures. PROC GLMSELECT \\nperforms effect selection in the framework of general linear models. PROC QUANTREG supports a variety of \\nestimation and inference methods for quantile regression but does not directly provide effect selection \\nfacilities. The QUANTSELECT procedure, as a counterpart of PROC GLMSELECT for quantile regression, fills \\nthis gap.\"}},{\"Name\":\"HPTMINE\",\"Type\":\"SAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC HPTMINE < options > ;\\n    VARIABLE variable ;\\n    DOC_ID variable ;\\n    PARSE < parse-options > ;\\n    SVD < svd-options > ;\\n    PERFORMANCE performance-options ;\\n    \\nThe HPTMINE procedure is a high-performance procedure that analyzes large-scale textual\\ndata. PROC HPTMINE provides the SAS High-Performance Analytics platform an essential capability\\nfor text mining and supports a wide range of fundamental text analysis features, which include tokenizing,\\nstemming, part-of-speech tagging, noun group extraction, default or customized stop or start lists, entity\\nparsing, multiword tokens, synonym lists, term weighting, term-by-document matrix creation, and dimension\\nreduction by term filtering and singular value decomposition (SVD).\"}},{\"Name\":\"HPTMSCORE\",\"Type\":\"SAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC HPTMSCORE < options > ;\\n    VARIABLE variable ;\\n    DOC_ID variable ;\\n    PERFORMANCE performance-options ;\\n    \\nFor high-performance text mining, scoring is the process of applying the parsing and SVD projections to\\nnew textual data. The HPTMSCORE procedure performs this scoring of new documents, and its primary\\noutput is a document data set Outdocpro, which holds the reduced dimensional representation of the score\\ncollection. PROC HPTMSCORE uses some of the output data sets of the HPTMINE procedure as input\\ndata to ensure consistency between scoring and training. During scoring, the new textual data must be\\nparsed with the same settings that the training data were parsed with, indexed using only the subset of terms\\nthat were used during training, and projected onto the reduced dimensional subspace of the singular value\\ndecomposition that was derived from the training data. The three data sets, Outconfig, Outterms and Svdu,\\nwhich were created with PROC HPTMINE facilitate this process and serve as input to PROC HPTMSCORE\\nwith the CONFIG=, TERMS=, and SVDU= options, respectively. The purpose of these three data sets are\\nsummarized below under their respective options.\"}},{\"Name\":\"HAPLOTYPE\",\"Type\":\"SAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC HAPLOTYPE <options> ; \\n    BY variables ; \\n    ID variables ; \\n    TRAIT variable </ options> ; \\n    VAR variables ; \\n\\nA haplotype is a combination of alleles at multiple loci on a single chromosome. A pair \\nof haplotypes constitutes the multilocus genotype. Haplotype information has to be inferred \\nbecause data are usually collected at the genotypic, not haplotype pair, level. For homozygous \\nmarkers, there is no problem. If one locus has alleles A and a, and a second locus has alleles  \\nB and b, the observed genotype AaBB must contain two haplotypes of type AB; genotype AaBB must \\ncontain haplotypes AB and aB, and so on. Haplotypes and their frequencies can be obtained directly. \\nWhen both loci are heterozygous, however, there is ambiguity; a variety of combinations of haplotypes \\ncan generate the genotype, and it is not possible to determine directly which two haplotypes constitute \\nany individual genotype. For example, the genotype AaBb might be of type AB/ab with haplotypes AB and\\nab, or of type Ab/aB with haplotypes Ab and aB. The HAPLOTYPE procedure uses the expectation-maximization \\n(EM) algorithm to generate maximum likelihood estimates of haplotype frequencies given a multilocus \\nsample of genetic marker genotypes under the assumption of Hardy-Weinberg equilibrium (HWE). These \\nestimates can then be used to assign the probability that each individual possesses a particular \\nhaplotype pair. A Bayesian approach for haplotype frequency estimation is also implemented in \\nPROC HAPLOTYPE.\"}},{\"Name\":\"HTSNP\",\"Type\":\"SAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC HTSNP <options> ; \\n    BY variables ; \\n    FREQ variable ; \\n    VAR variables ; \\n  \\nSingle nucleotide polymorphism (SNP) is the most abundant form of genetic variation \\nand accounts for about 90% of human DNA polymorphism. There is roughly one SNP per 1 \\nkilobase in the human genome. Studies of human haplotype variations that use SNPs over \\nlarge genomic regions suggest the presence of discrete blocks with limited haplotype \\ndiversity punctuated by recombination hot spots. The intrablock linkage disequilibrium \\n(LD) decreases only gradually with distance, while the interblock LD decays much more \\nrapidly. Within each block, because of high LD, some allele(s) might always be coexistent \\nwith a particular allele at another locus such that (1) little haplotype diversity exists \\nin the block, and (2) not all SNPs will be essential in characterizing the haplotype \\nstructure in the block. Therefore, the most common haplotypes could usually be captured \\nby a small subset of SNPs, termed haplotype tagging SNPs (htSNPs) by Johnson et al. (2001).\"}},{\"Name\":\"HTTP\",\"Type\":\"SAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC HTTP options;\\n    \\nPROC HTTP issues HTTP requests. PROC HTTP reads as input the entire body from a fileref and \\nwrites output to a fileref. PROC HTTP can also read custom request headers from a fileref \\nand write response headers to a fileref.\"}},{\"Name\":\"ICPHREG\",\"Type\":\"SAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC ICPHREG <options>; \\n    BASELINE <OUT=SAS-data-set> <COVARIATES=SAS-data-set><TIMELIST=list><keyword=name \\u2026keyword=name> </ options>; \\n    BY variables; \\n    CLASS variable <(options)> \\u2026<variable <(options)>> </ global-options>; \\n    FREQ variable </ option>; \\n    HAZARDRATIO <'label'> variable </ options>; \\n    MODEL (t1, t2)= effects </ options>; \\n    OUTPUT <OUT=SAS-data-set> <keyword=name \\u2026keyword=name>; \\n    TEST  <model-effects> </ options>; \\n    STRATA variable; \\n\\nThe ICPHREG procedure is designed to fit proportional hazards regression models to interval-censored data. \\nIt can also fit proportional hazards regression models to failure time data that are uncensored, right \\ncensored, or left censored. \\n\\nThe ICPHREG procedure enables you to use a variety of configurations with respect to the baseline function \\nto fit a proportional hazards model; these configurations include a piecewise constant model (Friedman 1982) \\nand a cubic spline model (Royston and Parmar 2002). To estimate the regression coefficients and the baseline \\nparameters, the ICPHREG procedure maximizes the full likelihood instead of the Cox partial likelihood. Standard\\nerrors of the estimates are obtained by inverting the observed information matrix, which is derived from the \\nfull likelihood.\"}},{\"Name\":\"ICLIFETEST\",\"Type\":\"SAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC ICLIFETEST <options>; \\n    BY variables; \\n    FREQ variable; \\n    STRATA variables; \\n    TEST variable </options>; \\n    TIME (variable,variable ); \\n    \\nThe ICLIFETEST procedure performs nonparametric survival analysis for interval-censored data. You can use \\nthe ICLIFETEST procedure to compute nonparametric estimates of the survival functions and to examine the \\nequality of the survival functions through statistical tests.\"}},{\"Name\":\"IMPORT\",\"Type\":\"SAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC IMPORT DATAFILE=\\\"filename\\\" | TABLE=\\\"tablename\\\" \\n    OUT=<libref.>SAS-data-set <(SAS-data-set-options)> \\n    <DBMS=identifier><REPLACE> ;  <data-source-statement(s);>  \\n  \\nThe IMPORT procedure reads data from an external data source and writes it to a SAS \\ndata set. Base SAS can import delimited files. In delimited files, a delimiter--such \\nas a blank, comma, or tab--separates columns of data values. If you license SAS/ACCESS \\nInterface to PC Files, additional external data sources can include such files as \\nMicrosoft Access Database, Excel files, and Lotus spreadsheets. See the SAS/ACCESS \\nInterface to PC Files for more information.\"}},{\"Name\":\"IMSTAT\",\"Type\":\"SAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC IMSTAT <options>; \\n    AGGREGATE variable-name (aggregate-variable-options) </ options>;\\n    ARM ITEM=item-variable TRAN=transaction-variable </ options>;\\n    ASSESS <variable-list> / Y=response-variable <options>; \\n    BOXPLOT <variable-list> </ options>;\\n    CLUSTER <variable-list> </ options>;\\n    CORR <variable-list> </ options>;\\n    CROSSTAB row*column </ options>;\\n    DECISIONTREE target-variable </ options>;\\n    DISTINCT <variable-list> </ options>;\\n    FORECAST timestamp-variable </ options>;\\n    FREQUENCY variable-list </ options>;\\n    GENMODEL dependent-variable <(class-variables)> = model-effects </ options>;\\n    GLM dependent-variable <(class-variables)> = model-effects </ options>;\\n    GROUPBY <variable-list> </ options>;\\n    HISTOGRAM <variable-list> </ options>;\\n    HYPERGROUP <variable-list> </ options>;\\n    KDE variable-list </ options>;\\n    LOGISTIC dependent-variable <(class-variables)> = model-effects </ options>;\\n    MDSUMMARY variable-list </ <set-specification,...> options>;\\n    NEURAL <target-variable> </ options>;\\n    OPTIMIZE <options>;\\n    PERCENTILE <variable-list> </ options>;\\n    RANDOMWOODS target-variable </ options>;\\n    REGCORR <variable-list> </ options>;\\n    SUMMARY <variable-list> </ options>;\\n    TEXTPARSE TXT=text-variable ID=document-ID <options>;\\n    TOPK <variable-list> </ options>;\\n    TRANSFORM (request1) <(request2) ...> </ options>;\\n    \\nThe analytic statements of the IMSTAT procedure are used to perform in-memory analytics \\nwith a SAS LASR Analytic Server. All analyses are performed on in-memory tables.\"}},{\"Name\":\"INBREED\",\"Type\":\"SAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC INBREED <options> ; \\n    BY variables ; \\n    CLASS variable ; \\n    GENDER variable ; \\n    MATINGS individual-list1 / mate-list1 <,..., individual-listn / mate-listn> ; \\n    VAR variables ; \\n\\nThe INBREED procedure calculates the covariance or inbreeding coefficients for a pedigree. \\nPROC INBREED is unique in that it handles very large populations.\"}},{\"Name\":\"INFOMAPS\",\"Type\":\"SAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC INFOMAPS <options> ;\\n  DELETE INFOMAP \\\"information-map-name\\\" <options> ;\\n  EXPORT FILE=fileref | \\\"physical-location\\\" <options> ; \\n  IMPORT FILE=fileref |\\\"physical-location\\\"; \\n  INSERT DATAITEM \\n  COLUMN=\\\"data-source-ID\\\".\\\"column-name\\\" | EXPRESSION=\\\"expression-text\\\" | \\n    HIERARCHY=\\\"dimension\\\".\\\"hierarchy\\\" | MEASURE=\\\"OLAP-measure\\\" <options> ;\\n  INSERT DATASOURCE SASSERVER=\\\"application-server-name\\\" TABLE=\\\"library\\\".\\\"table\\\" <options> ; \\n  | INSERT DATASOURCE SASSERVER=\\\"application-server-name\\\" CUBE=<\\\"schema\\\".>\\\"cube\\\" <_ALL_> <options> ; \\n  INSERT FILTER CONDITION=\\\"conditional-expression\\\" <options> ; \\n  INSERT FOLDER \\\"folder-name\\\" <options> ; \\n  INSERT IDENTITY_PROPERTY PROPERTY=property-keyword <ID=\\\"identity_property-ID\\\">; \\n  INSERT RELATIONSHIP CONDITION=\\\"conditional-expression\\\" LEFT_TABLE=\\\"data-source-ID-1\\\" \\n    RIGHT_TABLE=\\\"data-source-ID-2\\\" <options> ;\\n  LIST <DATAITEMS | DATASOURCES | FILTERS |RELATIONSHIPS | _ALL_>; \\n  MOVE DATAITEM \\\"data-item-ID\\\" | ID_LIST=(\\\"data-item-ID-1\\\" <... \\\"data-item-ID-n\\\">) \\n    NEW_LOCATION=\\\"new-folder-location\\\" </CREATE>; \\n  MOVE FILTER \\\"filter-ID\\\" | ID_LIST=(\\\"filter-ID-1\\\" <... \\\"filter-ID-n\\\">) \\n    NEW_LOCATION=\\\"new-folder-location\\\" </CREATE>; \\n  MOVE FOLDER \\\"folder-name\\\" NEW_LOCATION=\\\"new-folder-location\\\" </CREATE> \\n    <LOCATION=\\\"current-folder-location\\\">; \\n  NEW INFOMAP \\\"information-map-name\\\" <options> ; \\n  SAVE <INFOMAP \\\"information-map-name\\\"> <MAPPATH=\\\"location\\\" </CREATE>>; \\n  SET STORED_PROCESS NAME=\\\"stored-process-name\\\" <LOCATION=\\\"stored-process-location\\\">; \\n  UPDATE DATAITEM \\\"data-item-ID\\\" <options> ;\\n  UPDATE DATASOURCE \\\"data-source-ID\\\" <options> ; \\n  UPDATE FILTER \\\"filter-ID\\\" <options> ; \\n  UPDATE FOLDER \\\"folder-name\\\" <options> ;\\n  UPDATE INFOMAP \\\"information-map-name\\\" <options> ;\\n  UPDATE RELATIONSHIP \\\"relationship-ID\\\" <options> ;\\n  \\nThe INFOMAPS procedure enables you to create information maps programmatically. You can \\nalso use the procedure to modify an existing information map by adding new data sources, \\ndata items, filters, folders, or relationships. Or you can change the definitions of any \\nexisting data item, filter, data source, folder, or relationship within an information map.\"}},{\"Name\":\"IRT\",\"Type\":\"SAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC IRT <options>; \\n    BY variables;\\n    COV covariance parameters; \\n    EQUALITY equality-constraints; \\n    FACTOR factor-variables-relations; \\n    FREQ variable; \\n    GROUP variable; \\n    MODEL model-specification; \\n    VAR variables; \\n    VARIANCE variance parameters; \\n    WEIGHT variable;\\n    \\nThe item response theory (IRT) model was first proposed in the field of psychometrics for the purpose of ability \\nassessment. It is most widely used in education to calibrate and evaluate items in tests, questionnaires, and other \\ninstruments and to score subjects on their abilities, attitudes, or other latent traits. Today, all major psychological \\nand educational tests are built using IRT, because the methodology can significantly improve measurement accuracy and \\nreliability while providing potential significant reductions in assessment time and effort, especially via computerized \\nadaptive testing. In a computerized adaptive test, items are optimally selected for each subject. Different subjects \\nmight receive entirely different items during the test. IRT plays an essential role in selecting the most appropriate \\nitems for each subject and equating scores for subjects who receive different subsets of items. Notable examples of \\nthese tests include the Scholastic Aptitude Test (SAT), Graduate Record Examination (GRE), and Graduate Management \\nAdmission Test (GMAT).\"}},{\"Name\":\"KDE\",\"Type\":\"SAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC KDE <options> ; \\n    BIVAR variable-list </ options> ; \\n    UNIVAR variable-list </ options> ; \\n    BY variables ; \\n    FREQ variable ; \\n    WEIGHT variable ;\\n\\nThe KDE procedure performs univariate and bivariate kernel density estimation. Statistical \\ndensity estimation involves approximating a hypothesized probability density function from \\nobserved data. Kernel density estimation is a nonparametric technique for density estimation \\nin which a known density function (the kernel) is averaged across the observed data points \\nto create a smooth approximation. PROC KDE uses a Gaussian density as the kernel, and its \\nassumed variance determines the smoothness of the resulting estimate. Refer to Silverman \\n(1986) for a thorough review and discussion.\"}},{\"Name\":\"HADOOP\",\"Type\":\"SAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC HADOOP <hadoop-server-option(s)>; \\n  HDFS <hadoop-server-option(s)> <hdfs-command-option(s)>; \\n  MAPREDUCE <hadoop-server-option(s)> <mapreduce-option(s)>; \\n  PIG <hadoop-server-option(s)> <pig-code-option(s)>; \\n  PROPERTIES <configuration-properties>;\\n\\nThe HADOOP procedure enables SAS to interact with Hadoop data by running Apache Hadoop code. \\nApache Hadoop is an open-source framework, written in Java, that provides distributed data \\nstorage and processing of large amounts of data.\"}},{\"Name\":\"ISHIKAWA\",\"Type\":\"SAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC ISHIKAWA options ;\\n  \\nThe Ishikawa diagram, also known as a cause-and-effect diagram or fishbone diagram, \\nis one of the seven basic tools for quality improvement in Japanese industry. It is \\nused to display the factors that affect a particular quality characteristic or problem. \\n\\nAn Ishikawa diagram is typically the result of a brainstorming session to improve a \\nproduct, process, or service. The main goal is represented by a main arrow or trunk, \\nand primary factors are represented as sub-arrows or branches. Secondary factors are \\nthen added as stems, tertiary factors as leaves, and so on.\"}},{\"Name\":\"IML\",\"Type\":\"SAS_PROCEDURE\",\"Attributes\":\"InteractivePROC\",\"Help\":{\"#cdata\":\"Syntax: PROC IML <SYMSIZE=n1 > <WORKSIZE=n2 >;\\n  ...IML statements/functions/call-routines \\n  RUN;\\n\\nwhere n1 and n2 are specified in kilobytes. \\n\\nThe SYMSIZE= and WORKSIZE= options in the PROC IML statement give you control over \\nthe size of memory allocated to the symbol space and the size of each extent of \\nworkspace. If you do not specify these options, PROC IML uses host dependent defaults. \\n \\nSAS/IML software gives you access to a powerful and flexible programming language \\n(Interactive Matrix Language) in a dynamic, interactive environment. The fundamental \\nobject of the language is a data matrix. You can use SAS/IML software interactively \\n(at the statement level) to see results immediately, or you can store statements in \\na module and execute them later. The programming is dynamic because necessary \\nactivities such as memory allocation and dimensioning of matrices are performed \\nautomatically.\"}},{\"Name\":\"JSON\",\"Type\":\"SAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC JSON OUT=fileref | \\\"external-file\\\" <option(s)>; \\n  EXPORT <libref.>SAS-data-set <(SAS-data-set-option(s))> </option(s)>; \\n  WRITE VALUES value(s) </option(s)>; \\n  WRITE OPEN type; \\n  WRITE CLOSE;\\n  \\nThe JSON procedure reads data from a SAS data set and writes it to an external file in JSON1 \\nrepresentation. You can control the exported data with several options that remove content \\nand affect the format. In addition to exporting data from a SAS data set, PROC JSON provides \\nstatements that enable you to write additional data to the external file and control JSON \\ncontainers.\"}},{\"Name\":\"KRIGE2D\",\"Type\":\"SAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC KRIGE2D options ; \\n    BY variables ; \\n    COORDINATES | COORD coordinate-variables ; \\n    GRID grid-options ; \\n    PREDICT | PRED | P predict-options ; \\n    MODEL model-options ; \\n    RESTORE restore-options ; \\n\\nPROC KRIGE2D can handle anisotropic and nested semivariogram models. Eight semivariogram \\nmodels are supported: the Gaussian, exponential, spherical, power, cubic, pentaspherical, \\nsine hole effect, and Mat\\u00e9rn models. A single nugget effect is also supported. You can \\nspecify the correlation model by naming the form and supplying the associated parameters, \\nor by using the contents of an item store file that was previously created by PROC VARIOGRAM.\"}},{\"Name\":\"LATTICE\",\"Type\":\"SAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC LATTICE <options> ; \\n    BY variables ; \\n    VAR variables \\n\\nThe LATTICE procedure computes the analysis of variance and analysis of simple covariance \\nfor data from an experiment with a lattice design. PROC LATTICE analyzes balanced square \\nlattices, partially balanced square lattices, and some rectangular lattices. \\n\\nIn balanced square lattices, the number of treatments is equal to the square of the number \\nof units per block. Incomplete blocks are grouped to form mutually orthogonal replications. \\nThe number of replicates in the basic plan is always 1 plus the number of units per block.\"}},{\"Name\":\"LIFEREG\",\"Type\":\"SAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC LIFEREG <options> ; \\n    BAYES <options> ; \\n    BY variables ; \\n    CLASS variables ; \\n    ESTIMATE <'label'> estimate-specification <(divisor=n)>\\n      <, \\u2026<'label'> estimate-specification <(divisor=n)>> </ options> ; \\n    EFFECTPLOT <plot-type <(plot-definition-options)>> </ options> ; \\n    INSET <keyword-list> </ options> ; \\n    LSMEANS <model-effects> </ options> ; \\n    LSMESTIMATE model-effect <'label'> values <(divisor=n)>\\n      <, \\u2026<'label'> values <(divisor=n)>> </ options> ; \\n    MODEL response = <effects> </ options> ; \\n    OUTPUT <OUT=SAS-data-set> <keyword=name \\u2026keyword=name> ; \\n    PROBPLOT </ options> ; \\n    SLICE model-effect </ options> ; \\n    STORE <OUT=>item-store-name </ LABEL='label'> ; \\n    TEST <model-effects> </ options> ; \\n    WEIGHT variable ;   \\n\\nThe LIFEREG procedure fits parametric models to failure time data that can be uncensored, \\nright censored, left censored, or interval censored. The models for the response variable \\nconsist of a linear effect composed of the covariates and a random disturbance term. The \\ndistribution of the random disturbance can be taken from a class of distributions that \\nincludes the extreme value, normal, logistic, and, by using a log transformation, the \\nexponential, Weibull, lognormal, log-logistic, and three-parameter gamma distributions..\"}},{\"Name\":\"LIFETEST\",\"Type\":\"SAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC LIFETEST <options> ; \\n    BY variables ; \\n    FREQ variable ; \\n    ID variables ; \\n    STRATA variable <(list)> <...variable <(list)>> </options> ; \\n    TEST variables ; \\n    TIME variable <*censor(list)> ; \\n\\nThe LIFETEST procedure deals with lifetime or survival data analysis. \\n\\nA common feature of lifetime or survival data is the presence of right-censored observations \\ndue either to withdrawal of experimental units or to termination of the experiment. For such \\nobservations, you know only that the lifetime exceeded a given value; the exact lifetime remains\\nunknown. Such data cannot be analyzed by ignoring the censored observations because, among other \\nconsiderations, the longer-lived units are generally more likely to be censored. The analysis \\nmethodology must correctly use the censored observations as well as the uncensored observations.\"}},{\"Name\":\"LOESS\",\"Type\":\"SAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC LOESS <DATA=SAS-data-set> ; \\n    MODEL dependents=regressors </ options> ; \\n    OUTPUT <OUT=SAS-data-set> <keyword <=name>> <\\u2026keyword <=name>> </ options> ; \\n    ID variables ; \\n    BY variables ; \\n    WEIGHT variable ; \\n    SCORE DATA=SAS-data-set <ID=(variable list)> </ options> ; \\n\\nThe LOESS procedure implements a nonparametric method for estimating regression surfaces pioneered \\nby Cleveland, Devlin, and Grosse (1988), Cleveland and Grosse (1991), and Cleveland, Grosse, and \\nShyu (1992).\"}},{\"Name\":\"LOGISTIC\",\"Type\":\"SAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC LOGISTIC <options> ; \\n    BY variables ; \\n    CLASS variable <(options)> <variable <(options)> \\u2026> </ options>;  \\n    CODE <options>; \\n    CONTRAST 'label' effect values<, effect values, \\u2026> </ options>; \\n    EFFECT name = effect-type ( variables </ options> ) ; \\n    EFFECTPLOT <plot-type<(plot-definition-options)>></ options> ; \\n    ESTIMATE <'label'> estimate-specification </ options> ; \\n    EXACT <'label'><INTERCEPT><effects></ options> ; \\n    EXACTOPTIONS options ; \\n    FREQ variable ;    \\n    ID variable<variable,...> ;\\n    LSMEANS <model-effects> </ options> ; \\n    LSMESTIMATE model-effect lsmestimate-specification </ options> ;     \\n    <label:> MODEL variable <(variable_options)> = <effects> </ options>; \\n    <label:> MODEL events/trials = <effects> </ options>;\\n    NLOPTIONS options;\\n    ODDSRATIO <'label'> variable </ options> ; \\n    OUTPUT <OUT=SAS-data-set> <keyword=name <keyword=name \\u2026>> </ option>;\\n    ROC <'label'> <specification> </ options> ; \\n    ROCCONTRAST <'label'><contrast></ options> ; \\n    SCORE <options> ; \\n    SLICE model-effect </ options> ; \\n    STORE <OUT=>item-store-name </ LABEL='label'> ; \\n    STRATA effects </ options> ; \\n    <label:> TEST equation1 <,equation2, \\u2026> </ option>;\\n    UNITS <independent1=list1 <independent2=list2 \\u2026>> </ option>; \\n    WEIGHT variable </ option> ; \\n\\nBinary responses (for example, success and failure), ordinal responses (for example, normal, \\nmild, and severe), and nominal responses (for example, major TV networks viewed at a certain \\nhour) arise in many fields of study. Logistic regression analysis is often used to investigate \\nthe relationship between these discrete responses and a set of explanatory variables.\"}},{\"Name\":\"MAPIMPORT\",\"Type\":\"SAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC MAPIMPORT OUT= map-data-set DATAFILE= 'path-to-shapefile' <CONTENTS> <CREATE_ID_>;  \\n      EXCLUDE 'field-identifier(s)';  \\n      ID 'field-identifier(s)';  \\n      RENAME 'field-identifier-1' = variable-name-1 < ... 'field-identifier-n' = variable-name-n>;  \\n      SELECT 'field-identifier(s)';  \\n\\nThe MAPIMPORT procedure enables you to import ESRI shapefiles (spatial data formats) and \\nprocess the SHP files into SAS/GRAPH traditional map data sets. \\n\\nThe MAPIMPORT procedure does not produce any graphics output. Instead, it produces an output \\nmap data set, which can be used with the GMAP procedure.\"}},{\"Name\":\"MCMC\",\"Type\":\"SAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC MCMC <options> ;   \\n    ARRAY arrayname [ dimensions ] <$> <variables-and-constants>; \\n    BEGINCNST/ENDCNST ; \\n    BEGINNODATA/ENDNODATA ; \\n    BY variables ; \\n    MODEL variable ~distribution <options>;  \\n    PARMS parameter <=> number </options> ; \\n    PREDDIST <'label'> OUTPRED=SAS-data-set <options> ; \\n    PRIOR/HYPERPRIOR parameter ~ distribution ; \\n    Programning statements ; \\n    RANDOM random-effects-specification </ options>; \\n    UDS subroutine-name ( subroutine-argument-list) ;   \\n\\nThe MCMC procedure is a general purpose Markov chain Monte Carlo (MCMC) simulation procedure \\nthat is designed to fit Bayesian models. Bayesian statistics is different from traditional \\nstatistical methods such as frequentist or classical methods.\"}},{\"Name\":\"MDS\",\"Type\":\"SAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC MDS <options> ; \\n    VAR variables ; \\n    INVAR variables ; \\n    ID | OBJECT variable ; \\n    MATRIX | SUBJECT variable ; \\n    WEIGHT variables ; \\n    BY variables ; \\n\\nMultidimensional scaling (MDS) refers to a class of methods. These methods estimate coordinates \\nfor a set of objects in a space of specified dimensionality. The input data are measurements of \\ndistances between pairs of objects.\"}},{\"Name\":\"MEANS\",\"Type\":\"SAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC MEANS <option(s)> <statistic-keyword(s)>;\\n    BY <DESCENDING> variable-1 <... <DESCENDING> variable-n><NOTSORTED>;  \\n    CLASS variable(s) </ option(s)>;  \\n    FREQ variable;  \\n    ID variable(s);  \\n    OUTPUT <OUT=SAS-data-set> <output-statistic-specification(s)> <id-group-specification(s)> \\n      <maximum-id-specification(s)> \\n      <minimum-id-specification(s)> </ option(s)> ;  \\n    TYPES request(s);  \\n    VAR variable(s) < / WEIGHT=weight-variable>;  \\n    WAYS list;  \\n    WEIGHT variable;\\n  \\nThe MEANS procedure provides data summarization tools to compute descriptive statistics for \\nvariables across all observations and within groups of observations. For example, PROC MEANS \\n\\n  o calculates descriptive statistics based on moments \\n  o estimates quantiles, which includes the median \\n  o calculates confidence limits for the mean \\n  o identifies extreme values \\n  o performs a t test.\"}},{\"Name\":\"METADATA\",\"Type\":\"SAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC METADATA <server-connection-arguments>\\n    IN = \\\"XML-formatted-method-call\\\" | fileref  <OUT = fileref>  \\n    <HEADER = NONE | SIMPLE | FULL>  <VERBOSE>;  \\n\\nThe METADATA procedure sends an XML string to the SAS Metadata Server.\"}},{\"Name\":\"MI\",\"Type\":\"SAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC MI <options> ; \\n    BY variables ; \\n    CLASS variables ; \\n    EM <options> ; \\n    FCS <options> ; \\n    FREQ variable ; \\n    MCMC <options> ; \\n    MNAR options ;\\n    MONOTONE <options> ; \\n    TRANSFORM transform ( variables </ options>) <...transform ( variables </ options>) > ; \\n    VAR variables ;\\n    \\nThe MI procedure performs multiple imputation of missing data. Missing values are an issue in a \\nsubstantial number of statistical analyses. Most SAS statistical procedures exclude observations \\nwith any missing variable values from the analysis.\"}},{\"Name\":\"MIANALYZE\",\"Type\":\"SAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC MIANALYZE <options> ; \\n    BY variables ; \\n    CLASS variables ; \\n    MODELEFFECTS effects ; \\n    <label:> TEST  <, ..., <> > </ > ; \\n    STDERR variables ; \\n\\nThe MIANALYZE procedure combines the results of the analyses of imputations and generates valid \\nstatistical inferences. Multiple imputation provides a useful strategy for analyzing data sets \\nwith missing values.\"}},{\"Name\":\"MIGRATE\",\"Type\":\"SAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC MIGRATE IN=libref-2 OUT=libref-1 <BUFSIZE=n> <MOVE> \\n    <SLIBREF=libref> <KEEPNODUPKEY>;\\n  \\nThe MIGRATE procedure migrates members in a SAS library to the current SAS version. \\n\\nThe procedure migrates a library from most SAS 6, SAS 7, SAS 8, and SAS 9 operating \\nenvironments to the current release of SAS. The migration must occur within the same \\nengine family; for example, V6, V7, or V8 can migrate to V9, but V6TAPE must migrate \\nto V9TAPE. \\n\\nThe procedure migrates the following library members:\\n\\ndata sets with alternate collating sequence, audit trails, compression, created and \\nmodified datetimes, deleted observations, encryption, generations, indexes, integrity \\nconstraints, and passwords\\n\\nin many cases, views, catalogs, item stores, and MDDBs (see What Are the Specific \\nConsiderations for Each Member Type?)\"}},{\"Name\":\"MIXED\",\"Type\":\"SAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC MIXED <options> ; \\n    BY variables ; \\n    CLASS variables ; \\n    CODE <options>;\\n    ID variables ; \\n    MODEL dependent = <fixed-effects> </ options> ; \\n    RANDOM random-effects </ options> ; \\n    REPEATED <repeated-effect></ options> ; \\n    PARMS (value-list) ...</ options> ; \\n    PRIOR <distribution >< / options> ; \\n    CONTRAST 'label' <fixed-effect values ...> \\n      <| random-effect values ...>, ...</ options> ; \\n    ESTIMATE 'label' <fixed-effect values ...> \\n      <| random-effect values ...></ options> ; \\n    LSMEANS fixed-effects </ options> ; \\n    LSMESTIMATE model-effect lsmestimate-specification < / options> ; \\n    SLICE model-effect </ options> ; \\n    STORE <OUT=>item-store-name </ LABEL='label'> ; \\n    WEIGHT variable ;\\n\\nThe MIXED procedure fits a variety of mixed linear models to data and enables you to \\nuse these fitted models to make statistical inferences about the data. A mixed linear \\nmodel is a generalization of the standard linear model used in the GLM procedure, the \\ngeneralization being that the data are permitted to exhibit correlation and nonconstant \\nvariability. The mixed linear model, therefore, provides you with the flexibility of \\nmodeling not only the means of your data (as in the standard linear model) but their \\nvariances and covariances as well.\"}},{\"Name\":\"MODEL\",\"Type\":\"SAS_PROCEDURE\",\"Attributes\":\"InteractivePROC\",\"Help\":{\"#cdata\":\"Syntax: PROC MODEL options ; \\n    programming Statements...   \\n    PROC-MODEL-specific statements...\\n    ...\\n\\nThe MODEL procedure analyzes models in which the relationships among the variables comprise \\na system of one or more nonlinear equations. Primary uses of the MODEL procedure are estimation, \\nsimulation, and forecasting of nonlinear simultaneous equation models.\"}},{\"Name\":\"MODECLUS\",\"Type\":\"SAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC MODECLUS <options> ; \\n    BY variables ; \\n    FREQ variable ; \\n    ID variable ; \\n    VAR variables ; \\n\\nThe MODECLUS procedure clusters observations in a SAS data set by using any of several algorithms \\nbased on nonparametric density estimates.\"}},{\"Name\":\"MULTTEST\",\"Type\":\"SAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC MULTTEST <options> ; \\n    BY variables ; \\n    CLASS variable ; \\n    CONTRAST 'label' values ; \\n    FREQ variable ; \\n    ID variables ;\\n    STRATA variable ; \\n    TEST name (variables </ options>) ; \\n\\nThe MULTTEST procedure addresses the multiple testing problem. This problem arises when you perform \\nmany hypothesis tests on the same data set. Carrying out multiple tests is often reasonable because \\nof the cost of obtaining data, the discovery of new aspects of the data, and the many alternative \\nstatistical methods.\"}},{\"Name\":\"NESTED\",\"Type\":\"SAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC NESTED <options> ; \\n    CLASS variables </ option> ; \\n    VAR variables ; \\n    BY variables ; \\n\\nThe NESTED procedure performs random-effects analysis of variance for data from an \\nexperiment with a nested (hierarchical) structure. \\n\\nNote that PROC NESTED is appropriate for models with only classification effects; \\nit does not handle models that contain continuous covariates. For random effects \\nmodels with covariates, use either the GLM or MIXED procedure.\"}},{\"Name\":\"NLIN\",\"Type\":\"SAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC NLIN <options> ; \\n    BOUNDS inequality <, ..., inequality> ; \\n    BY variables ; \\n    CONTROL variable <=values> <...variable <=values>> ; \\n    DER. parameter=expression ; \\n    DER. parameter.parameter=expression ; \\n    ID variables ; \\n    MODEL dependent=expression ; \\n    OUTPUT OUT=SAS-data-set keyword=names <...keyword=names> ; \\n    PARAMETERS <parameter-specification> <,..., parameter-specification> \\n      < / PDATA=SAS-data-set> ; \\n    PROFILE parameter < . . . parameter > < / options > ;\\n    RETAIN variable <=values> <...variable <=values>> ; \\n    Programming Statements ; \\n\\nThe NLIN procedure fits nonlinear regression models and estimates the parameters \\nby nonlinear least squares or weighted nonlinear least squares. You specify the \\nmodel with programming statements. This gives you great flexibility in modeling \\nthe relationship between the response variable and independent (regressor) variables. \\nIt does, however, require additional coding compared to model specifications in \\nlinear modeling procedures such as the REG, GLM, and MIXED procedures.\"}},{\"Name\":\"NLMIXED\",\"Type\":\"SAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC NLMIXED <options> ; \\n    ARRAY array specification ; \\n    BOUNDS boundary constraints ; \\n    BY variables ; \\n    CONTRAST 'label' expression <,expression><options> ; \\n    ESTIMATE 'label' expression <options> ; \\n    ID names ; \\n    MODEL model specification ; \\n    PARMS parameters and starting values ; \\n    PREDICT expression OUT=SAS-data-set <options> ; \\n    RANDOM random effects specification ; \\n    REPLICATE variable ; \\n    Program statements ; \\n\\nThe NLMIXED procedure fits nonlinear mixed models\\u2014-that is, models in which both fixed and \\nrandom effects enter nonlinearly. These models have a wide variety of applications, two of \\nthe most common being pharmacokinetics and overdispersed binomial data. PROC NLMIXED enables \\nyou to specify a conditional distribution for your data (given the random effects) having \\neither a standard form (normal, binomial, Poisson) or a general distribution that you code \\nusing SAS programming statements.\"}},{\"Name\":\"NPAR1WAY\",\"Type\":\"SAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC PROC NPAR1WAY <options> ; \\n    BY variables ; \\n    CLASS variable ; \\n    EXACT statistic-options </ computation-options> ; \\n    FREQ variable ; \\n    OUTPUT  < OUT=SAS-data-set > < output-options > ;  \\n    STRATA  variables < options > ; \\n    VAR variables ; \\n\\nPROC NPAR1WAY performs tests for location and scale differences based on the following \\nscores of a response variable: Wilcoxon, median, Van der Waerden (normal), Savage, \\nSiegel-Tukey, Ansari-Bradley, Klotz, Mood, and Conover. Additionally, PROC NPAR1WAY \\nprovides tests that use the raw input data as scores. When the data are classified \\ninto two samples, tests are based on simple linear rank statistics. When the data are \\nclassified into more than two samples, tests are based on one-way ANOVA statistics. \\nBoth asymptotic and exact p-values are available for these tests. PROC NPAR1WAY also \\nprovides Hodges-Lehmann estimation, including exact confidence limits for the location \\nshift.\"}},{\"Name\":\"OPERATE\",\"Type\":\"SAS_PROCEDURE\",\"Attributes\":\"InteractivePROC\",\"Help\":{\"#cdata\":\"Syntax: PROC OPERATE <options>;\\n    Library Management Commands  \\n    Server Management Commands  \\n    User Management Commands  \\n\\nYou can use the OPERATE procedure in any SAS method of processing\\n(noninteractive mode, interactive-line mode, batch mode, or windowing\\nenvironment) to manage a server, the server libraries, and the server users.\"}},{\"Name\":\"OPTGRAPH\",\"Type\":\"SAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC OPTGRAPH options ; \\n    DATA_ADJ_MATRIX_VAR column1 <,column2,...> ; \\n    DATA_LINKS_VAR < options > ; \\n    DATA_MATRIX_VAR column1 <,column2,...> ; \\n    DATA_NODES_VAR < options > ; \\n    BICONCOMP < options > ; \\n    CENTRALITY < options > ; \\n    CLIQUE < options > ; \\n    COMMUNITY < options > ; \\n    CONCOMP < options > ; \\n    CORE < options > ; \\n    CYCLE < options > ; \\n    EIGENVECTOR < options > ; \\n    LINEAR_ASSIGNMENT < options > ; \\n    MINCUT < options > ; \\n    MINSPANTREE < options > ; \\n    NETFLOW_MINCOST < options > ; \\n    REACH < options > ; \\n    SHORTPATH < options > ; \\n    SUMMARY < options > ; \\n    TRANSITIVE_CLOSURE < options > ; \\n    TSP < option > ; \\n    PERFORMANCE < options > ; \\n\\nThe OPTGRAPH procedure can be used to analyze relationships between entities. These relationships \\nare typically defined by using a graph. A graph, G = (N,A), is defined over a set N of nodes and \\na set A of arcs. A node is an abstract representation of some entity (or object), and an arc defines \\nsome relationship (or connection) between two nodes. The terms node and vertex are often interchanged \\nwhen describing an entity. The term arc is often interchanged with the term edge or link when describing \\na connection.\"}},{\"Name\":\"OPTIONS\",\"Type\":\"SAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC OPTIONS <option(s)>;\\n  \\nThe OPTIONS procedure lists the current settings of SAS system options in the SAS log. \\n\\nSAS system options control how SAS formats output, handles files, processes data sets, \\n'interacts with the operating environment, and does other tasks that are not specific \\nto a single SAS program or data set. You can change the settings of SAS system options \\nby using one of the following methods:\\n\\n  o the SAS command \\n  o the option in a configuration or autoexec file \\n  o the SAS OPTIONS statement \\n  o the OPTLOAD and OPTSAVE procedures \\n  o the SAS System Options window \\n  o the DMOPTSAVE and DMOPTLOAD commands \\n  o in other ways, depending on your operating environment.\"}},{\"Name\":\"OPTLOAD\",\"Type\":\"SAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC OPTLOAD <options>;\\n    \\nThe OPTLOAD procedure reads SAS system option settings that are stored in the SAS \\nregistry or a SAS data set and puts them into effect. \\n\\nYou can load SAS system option settings from a SAS data set or registry key by using \\none of these methods:\\n\\n  o the DMOPTLOAD command from a command line in the SAS windowing environment. \\n    For example, DMOPTLOAD key= \\\"core\\\\options\\\".\\n\\n  o the PROC OPTLOAD statement\"}},{\"Name\":\"OPTSAVE\",\"Type\":\"SAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC OPTSAVE <options >;\\n    \\nPROC OPTSAVE saves the current SAS system option settings in the SAS registry or in a \\nSAS data set. \\n\\nSAS system options can be saved across SAS sessions. You can save the settings of the \\nSAS system options in a SAS data set or registry key by using one of these methods:\\n\\n  o the DMOPTSAVE command from a command line in the SAS windowing environment. Use the \\n    command like this: DMOPTSAVE <save-location>.\\n\\n  o the PROC OPTSAVE statement.\"}},{\"Name\":\"ORTHOREG\",\"Type\":\"SAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC ORTHOREG <options> ; \\n    CLASS variables </ option> ; \\n    MODEL dependent-variable=independent-effects </ option> ; \\n    BY variables ; \\n    EFFECT name = effect-type ( variables </ options> ) ; \\n    EFFECTPLOT <plot-type <(plot-definition-options)>></ options> ; \\n    ESTIMATE <'label'> estimate-specification < / options> ; \\n    LSMEANS <model-effects> </ options> ; \\n    LSMESTIMATE model-effect lsmestimate-specification < / options> ; \\n    SLICE model-effect </ options> ; \\n    STORE <OUT=>item-store-name </ LABEL='label'> ; \\n    TEST <model-effects> </ options> ; \\n    WEIGHT variable ; \\n\\nThe ORTHOREG procedure fits general linear models by the method of least squares. Other \\nSAS/STAT software procedures, such as GLM and REG, fit the same types of models, but PROC \\nORTHOREG can produce more accurate estimates than other regression procedures when your data \\nare ill conditioned. Instead of collecting crossproducts, PROC ORTHOREG uses Gentleman-Givens \\ntransformations to update and compute the upper triangular matrix R of the QR decomposition of \\nthe data matrix, with special care for scaling (Gentleman; 1972, 1973). This method has the \\nadvantage over other orthogonalization methods (for example, Householder transformations) of \\nnot requiring the data matrix to be stored in memory.\"}},{\"Name\":\"PHREG\",\"Type\":\"SAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC PHREG <options> ; \\n    ASSESS keyword </ options> ; \\n    BASELINE <OUT=SAS-data-set> <COVARIATES=SAS-data-set> <keyword=name ...keyword=name > </ options> ; \\n    BAYES <options> ; \\n    BY variables ; \\n    CLASS variable <(options)> <...variable <(options)> > </ options> ; \\n    CONTRAST <'label'> effect values <,..., effect values> </ options> ; \\n    FREQ variable ; \\n    EFFECT name = effect-type ( variables </ options> ) ; \\n    ESTIMATE <'label'> estimate-specification </ options> ; \\n    HAZARDRATIO <'label'> variable </options> ; \\n    ID variables ; \\n    LSMEANS <model-effects> </ options> ; \\n    LSMESTIMATE model-effect lsmestimate-specification </ options> ; \\n    MODEL response <*censor(list)> = <effects> </options> ; \\n    OUTPUT <OUT=SAS-data-set> <keyword=name ...keyword=name > </ options> ; \\n    programming statements ; \\n    \\n    RANDOM variable </ options> ;\\n    SLICE model-effect </ options> ; \\n    STORE <OUT=> item-store-name </ LABEL='label'> ; \\n    STRATA variable <(list)> <...variable <(list)>> < / option> ; \\n    <label:>TEST equation <,..., equation >< / options> ; \\n    WEIGHT variable </ option> ; \\n\\nThe analysis of survival data requires special techniques because the data are almost always \\nincomplete and familiar parametric assumptions might be unjustifiable. Investigators follow \\nsubjects until they reach a prespecified endpoint (for example, death). However, subjects \\nsometimes withdraw from a study, or the study is completed before the endpoint is reached. \\nIn these cases, the survival times (also known as failure times) are censored; subjects \\nsurvived to a certain time beyond which their status is unknown. The uncensored survival \\ntimes are sometimes referred to as event times. Methods of survival analysis must account \\nfor both censored and uncensored data.\"}},{\"Name\":\"PLAN\",\"Type\":\"SAS_PROCEDURE\",\"Attributes\":\"InteractivePROC\",\"Help\":{\"#cdata\":\"Syntax: PROC PLAN <options> ; \\n    FACTORS factor-selections </ NOPRINT> ; \\n    OUTPUT OUT=SAS-data-set <factor-value-settings> ; \\n    TREATMENTS factor-selections ;\\n\\nThe PLAN procedure constructs designs and randomizes plans for factorial experiments, \\nespecially nested and crossed experiments and randomized block designs.\"}},{\"Name\":\"PLOT\",\"Type\":\"SAS_PROCEDURE\",\"Attributes\":\"InteractivePROC\",\"Help\":{\"#cdata\":\"Syntax: PROC PLOT <option(s)>;\\n    BY <DESCENDING> variable-1 <...<DESCENDING> variable-n> <NOTSORTED>;  \\n    PLOT plot-request(s) </ option(s)>;  \\n      \\nThe PLOT procedure plots the values of two variables for each observation in an input \\nSAS data set. The coordinates of each point on the plot correspond to the two variables' \\nvalues in one or more observations of the input data set.\"}},{\"Name\":\"PLS\",\"Type\":\"SAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC PLS <options> ; \\n    BY variables ; \\n    CLASS variables </ option> ; \\n    EFFECT name = effect-type ( variables </ options> ) ; \\n    ID variables ; \\n    MODEL dependent-variables = effects </ options> ; \\n    OUTPUT OUT=SAS-data-set <options> ;\\n\\nThe PLS procedure fits models by using any one of a number of linear predictive \\nmethods, including partial least squares (PLS). Ordinary least squares regression, \\nas implemented in SAS/STAT procedures such as PROC GLM and PROC REG, has the single \\ngoal of minimizing sample response prediction error, seeking linear functions of the \\npredictors that explain as much variation in each response as possible. The techniques \\nimplemented in the PLS procedure have the additional goal of accounting for variation \\nin the predictors, under the assumption that directions in the predictor space that are \\nwell sampled should provide better prediction for new observations when the predictors \\nare highly correlated. All of the techniques implemented in the PLS procedure work by \\nextracting successive linear combinations of the predictors, called factors (also called \\ncomponents, latent vectors, or latent variables), which optimally address one or both \\nof these two goals\\u2014explaining response variation and explaining predictor variation. \\nIn particular, the method of partial least squares balances the two objectives, seeking \\nfactors that explain both response and predictor variation.\"}},{\"Name\":\"PLM\",\"Type\":\"SAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC PLM SOURCE=item-store-specification <options> ; \\n    EFFECTPLOT <plot-type <(plot-definition-options)>> </ options> ; \\n    ESTIMATE <'label'> estimate-specification <(divisor=n)>\\n      <, ...<'label'> estimate-specification <(divisor=n)>> </ options> ; \\n    FILTER expression ; \\n    LSMEANS <model-effects> </ options> ; \\n    LSMESTIMATE model-effect <'label'> values <divisor=>\\n      <, ...<'label'> values <divisor=n>> </ options> ; \\n    SCORE DATA=SAS-data-set <OUT=SAS-data-set>\\n      <keyword<=name>>...<keyword<=name>> </ options> ; \\n    SHOW options ; \\n    SLICE model-effect </ options> ; \\n    TEST <model-effects> </ options> ; \\n    WHERE expression ; \\n\\n(New in SAS/STAT 9.22!)\\n\\nThe PLM procedure performs postfitting statistical analyses for the contents of a SAS item \\nstore that was previously created with the STORE statement in some other SAS/STAT procedure. \\nAn item store is a special SAS-defined binary file format used to store and restore information \\nwith a hierarchical structure.\"}},{\"Name\":\"PMENU\",\"Type\":\"SAS_PROCEDURE\",\"Attributes\":\"InteractivePROC\",\"Help\":{\"#cdata\":\"Syntax: PROC PMENU <CATALOG=<libref.>catalog> <DESC 'entry-description'>;  \\n    MENU menu-bar;  ITEM command <option(s)>;  \\n    ITEM 'menu-item' <option(s)>;  \\n    DIALOG dialog-box 'command-string field-number-specification';  \\n    CHECKBOX <ON> #line @column 'text-for-selection' <COLOR=color> <SUBSTITUTE='text-for-substitution'>;  \\n    RADIOBOX DEFAULT=button-number;  RBUTTON <NONE> #line @column 'text-for-selection' \\n      <COLOR=color> <SUBSTITUTE='text-for-substitution'>; \\n    TEXT #line @column field-description <ATTR=attribute> <COLOR=color>;   \\n    MENU pull-down-menu;  \\n    SELECTION selection 'command-string';  \\n    SEPARATOR;  \\n    SUBMENU submenu-name SAS-file; \\n  \\n The PMENU procedure defines menus that can be used in DATA step windows, macro windows, \\n both SAS/AF and SAS/FSP windows,  or in any SAS application that enables you to specify \\n customized menus.\"}},{\"Name\":\"PRINCOMP\",\"Type\":\"SAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC PRINCOMP <options> ; \\n    BY variables ; \\n    FREQ variable ; \\n    ID variables ; \\n    PARTIAL variables ; \\n    VAR variables ; \\n    WEIGHT variable ; \\n\\nThe PRINCOMP procedure performs principal component analysis. As input you can use raw data, \\na correlation matrix, a covariance matrix, or a sum-of-squares-and-crossproducts (SSCP) matrix. \\nYou can create output data sets containing eigenvalues, eigenvectors, and standardized or \\nunstandardized principal component scores.\"}},{\"Name\":\"PRINQUAL\",\"Type\":\"SAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC PRINQUAL <options> ; \\n    TRANSFORM transform(variables </ t-options>)\\n    <transform(variables </ t-options>) ...> ; \\n    ID variables ; \\n    FREQ variable ; \\n    WEIGHT variable ; \\n    BY variables ; \\n\\nThe PRINQUAL procedure performs principal component analysis (PCA) of qualitative, quantitative, \\nor mixed data.\"}},{\"Name\":\"PRINT\",\"Type\":\"SAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC PRINT <option(s)>;  \\n    BY <DESCENDING> variable-1 <...<DESCENDING> variable-n><NOTSORTED>;  \\n        PAGEBY BY-variable;  \\n        SUMBY BY-variable;  \\n\\n    ID variable(s) <option>;  \\n    SUM variable(s) <option>;  \\n    VAR variable(s) <option>;\\n  \\nThe PRINT procedure prints the observations in a SAS data set, using all or some \\nof the variables. You can create a variety of reports ranging from a simple listing \\nto a highly customized report that groups the data and calculates totals and subtotals \\nfor numeric variables.\"}},{\"Name\":\"PRINTTO\",\"Type\":\"SAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC PRINTTO <option(s)>; \\n\\nThe PRINTTO procedure defines destinations, other than ODS destinations, for SAS procedure \\noutput and for the SAS log. By default, SAS procedure output and the SAS log are routed to \\nthe default procedure output file and the default SAS log file for your method of operation. \\nThe PRINTTO procedure does not define ODS destinations. See the following table. \\n\\nYou can store the SAS log or procedure output in an external file or in a SAS catalog entry. \\nWith additional programming, you can use SAS output as input data within the same job.\"}},{\"Name\":\"PROBIT\",\"Type\":\"SAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC PROBIT < options > ;\\n    BY variables ;\\n    CDFPLOT <VAR=variable > < options > ;\\n    CLASS variables ;\\n    ESTIMATE < 'label' > estimate-specification < (divisor=n) >\\n      < , . . . < 'label' > estimate-specification < (divisor=n) > > < / options > ;\\n    EFFECTPLOT < plot-type < (plot-definition-options) > > < / options > ;\\n    INSET < keyword-list > < / options > ;\\n    IPPPLOT <VAR=variable > < options > ;\\n    LPREDPLOT < VAR=variable > < options > ;\\n    LSMEANS < model-effects > < / options > ;\\n    LSMESTIMATE model-effect < 'label' > values < (divisor=n) >\\n      < , . . . < 'label' > values < (divisor=n) > > < / options > ;\\n    MODEL response = independents < / options > ;\\n    OUTPUT <OUT=SAS-data-set > < options > ;\\n    PREDPPLOT < VAR=variable > < options > ;\\n    SLICE model-effect < / options > ;\\n    STORE <OUT=>item-store-name < / LABEL='label' > ;\\n    TEST < model-effects > < / options > ;\\n    WEIGHT variable ;\\n\\nThe PROBIT procedure calculates maximum likelihood estimates of regression parameters \\nand the natural (or threshold) response rate for quantal response data from biological \\nassays or other discrete event data. This includes probit, logit, ordinal logistic, and \\nextreme value (or gompit) regression models. \\n\\nProbit analysis developed from the need to analyze qualitative (dichotomous or polytomous) \\ndependent variables within the regression framework. Many response variables are binary by \\nnature (yes/no), while others are measured ordinally rather than continuously (degree of \\nseverity). Collett (2003) and Agresti (2002), for example, have shown ordinary least squares \\n(OLS) regression to be inadequate when the dependent variable is discrete. Probit or logit \\nanalyses are more appropriate in this case.\"}},{\"Name\":\"POWER\",\"Type\":\"SAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC PROC POWER <options> ; \\n    COXREG <options>; \\n    LOGISTIC <options> ; \\n    MULTREG <options> ; \\n    ONECORR <options> ; \\n    ONESAMPLEFREQ <options> ; \\n    ONESAMPLEMEANS <options> ; \\n    ONEWAYANOVA <options> ; \\n    PAIREDFREQ <options> ; \\n    PAIREDMEANS <options> ; \\n    PLOT <plot-options> </ graph-options> ; \\n    TWOSAMPLEFREQ <options> ; \\n    TWOSAMPLEMEANS <options> ; \\n    TWOSAMPLESURVIVAL <options> ; \\n    TWOSAMPLEWILCOXON <options> ; \\n\\nPower and sample size analysis optimizes the resource usage and design of a study, improving \\nchances of conclusive results with maximum efficiency. The POWER procedure performs prospective \\npower and sample size analyses for a variety of goals, such as the following: \\n  o determining the sample size required to get a significant result with adequate probability (power) \\n  o characterizing the power of a study to detect a meaningful effect \\n  o conducting what-if analyses to assess sensitivity of the power or required sample size to other factors\"}},{\"Name\":\"PRESENV\",\"Type\":\"SAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC PRESENV PERMDIR=libref SASCODE=fileref <SHOW_COMMENTS>; \\n  \\nThe PRESENV procedure preserves all global statements and macro variables in your SAS code \\nfrom one SAS session to another. When this procedure is invoked at the end of a SAS session, \\nall of the global statements and macro variables are written to a file. The Work data sets \\nand the macro catalog are written to an auxiliary directory. You can then terminate the SAS \\nsession. You can restart the session at a later time, and the saved global statements and \\nmacro variable settings can be re-executed. The Work data sets can be copied back to the \\ncurrent Work directory, thereby allowing the session to resume. \\n\\nThe PRESENV procedure works with the PRESENV system option to preserve your SAS program and \\ndata sets. You can turn the option on or off at any time. When the PRESENV system option is \\nturned off, the global statements collection is suspended. When turned back on, the collection \\nresumes. At no point is the collection discarded. However, the collection does not begin until \\nthe first time the option is turned on.\"}},{\"Name\":\"PROTO\",\"Type\":\"SAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC PROTO PACKAGE=catalog-entry <options>;  \\n    MAPMISS type1=value1 type2=value2 ...;  \\n    LINK load-module <NOUNLOAD>;  \\n\\nThe PROTO procedure enables you to register, in batch mode, external functions that are written \\nin the C or C++ programming languages.\"}},{\"Name\":\"PRTDEF\",\"Type\":\"SAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC PRTDEF <option(s)>;\\n    \\nThe PRTDEF procedure creates printer definitions in batch mode either for an individual \\nuser or for all SAS users at your site. Your system administrator can create printer \\ndefinitions in the SAS registry and make these printers available to all SAS users at \\nyour site by using PROC PRTDEF with the USESASHELP option. An individual user can create \\npersonal printer definitions in the SAS registry by using PROC PRTDEF.\"}},{\"Name\":\"PRTEXP\",\"Type\":\"SAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC PRTEXP<option(s)>;\\n    <SELECT printer_1 ...< printer_n>>;  \\n    <EXCLUDE printer_1 ... <printer_n>>; \\n      \\nThe PRTEXP procedure enables you to extract printer attributes from the SAS registry \\nfor replication and modification. PROC PRTEXP then writes these attributes to the SAS \\nlog or to a SAS data set. You can specify that PROC PRTEXP search for these attributes \\nin the SASHELP portion of the registry or the entire SAS registry.\"}},{\"Name\":\"PSMOOTH\",\"Type\":\"SAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC PSMOOTH <options> ; \\n    BY variables ; \\n    ID variables ; \\n    VAR variables ; \\n\\nIn the search for complex disease genes, linkage and/or association tests are often \\nperformed on markers from a genome-wide scan or SNPs from a finely scaled map. This \\nmeans hundreds or even thousands of hypotheses are being simultaneously tested. \\nPlotting the negative log p-values of all the marker tests will reveal many peaks \\nthat indicate significant test results, some of which are false positives. In order \\nto reduce the number of false positives or improve power, smoothing methods can be \\napplied that take into account p-values from neighboring, and possibly correlated, \\nmarkers. That is, the peak length can be used to indicate significance in addition \\nto the peak height. The PSMOOTH procedure offers smoothing methods that implement \\nSimes' method (1986), Fisher's method (1932), and/or the truncated product method \\n(TPM) (Zaykin et al. 2002) for multiple hypothesis testing. These methods modify \\nthe p-value from each marker test by using a function of its original p-value and \\nthe p-values of the tests on the nearest markers. Since the number of hypothesis \\ntests being performed is not reduced, adjustments to correct the smoothed p-values \\nfor multiple testing are available as well.\"}},{\"Name\":\"PWENCODE\",\"Type\":\"SAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC PWENCODE IN='password' <OUT=fileref> <METHOD=encoding-method>;\\n  \\nThe PWENCODE procedure enables you to encode passwords. Encoded passwords can be used \\nin place of plaintext passwords in SAS programs that access relational database management \\nsystems (RDBMSs) and various servers, such as SAS/CONNECT servers, SAS/SHARE servers, and \\nSAS Integrated Object Model (IOM) servers (such as the SAS Metadata Server).\"}},{\"Name\":\"QDEVICE\",\"Type\":\"SAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC QDEVICE \\n  <REPORT = GENERAL | FONT | DEVOPTION | LINESTYLE | RECTANGLE | SYMBOL >\\n  <OUT=SAS-data-set>\\n  <DEVLOC = GDEVICE0...GDEVICE9 | SASHELP>\\n  <REGISTRY = SASHELP | SASUSER>\\n  <SUPPORT = YES | NO | ALL>\\n  <UNITS = IN | CM>; \\n  DEVICE device-name-1<...device-name-n>\\n  <_ALL_> <_HTML_> <_LISTING_> <_RTF_>; \\n  PRINTER printer-name-1 <...printer-name-n>\\n  <_ALL_> <_PCL_> <_PDF_> <_PRINTER_> <_PS_>; \\n  VAR variable-1<...variable-n>; \\n\\nThe QDEVICE procedure produces reports about graphics devices and universal printers. \\nYou can use the information in these reports to determine the best device or printer \\nto use for a specific application. \\n\\nSix different reports are available. These reports summarize information such as color \\nsupport, default output sizes, margin sizes, resolution, supported fonts, hardware \\nsymbols, hardware fill types, hardware line styles, and device options.\"}},{\"Name\":\"QUANTREG\",\"Type\":\"SAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC QUANTREG <options> ; \\n    BY variables ; \\n    CLASS variables ; \\n    ESTIMATE < 'label' > estimate-specification < (divisor=n) >\\n      < , . . . < 'label' > estimate-specification < (divisor=n) > >\\n      < / options > ;\\n    EFFECT name = effect-type ( variables </ options> ) ; \\n    ID variables ; \\n    MODEL response = independents </ options> ; \\n    OUTPUT <OUT= SAS-data-set> <options> ; \\n    PERFORMANCE <options> ; \\n    TEST effects </ options> ; \\n    WEIGHT variable ; \\n\\nThe QUANTREG procedure models the effects of covariates on the conditional \\nquantiles of a response variable by means of quantile regression. \\n\\nOrdinary least squares (OLS) regression models the relationship between one \\nor more covariates X and the conditional mean of the response variable Y given \\nX=x. Quantile regression, which was introduced by Koenker and Bassett (1978), \\nextends the regression model to conditional quantiles of the response variable, \\nsuch as the median or the 90th percentile. Quantile regression is particularly \\nuseful when the rate of change in the conditional quantile, expressed by the \\nregression coefficients, depends on the quantile.\"}},{\"Name\":\"QUANTLIFE\",\"Type\":\"SAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC QUANTLIFE <options> ; \\n    BASELINE <options> ; \\n    BY variables ; \\n    CLASS variables ; \\n    EFFECT name = effect-type ( variables </ options> ) ; \\n    MODEL response <*censor(list)> = <effects> </ options> ; \\n    OUTPUT <OUT=SAS-data-set> <keyword=name \\u2026keyword=name> ; \\n    TEST effects </ options> ; \\n    WEIGHT variable ; \\n\\n[SAS/STAT 12.1 Experimental Procedure]\\n\\nThe QUANTLIFE procedure performs quantile regression analysis for survival data, where observations \\nare not always directly observed. \\n\\nQuantile regression (Koenker and Bassett, 1978) is a type of regression analysis that explores how \\nthe conditional quantile of a response variable depends on its covariates. By estimating a set of \\nconditional quantiles, you can gain more insight about the conditional distribution of the response \\ngiven its covariates.\"}},{\"Name\":\"QUANTSELECT\",\"Type\":\"SAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC PROC QUANTSELECT <options> ; \\n    BY variables ; \\n    CLASS variable <(v-options)> <variable <(v-options \\u2026)> > </ v-options> <options> ; \\n    EFFECT name = effect-type (variables </ options> ) ; \\n    MODEL variable = <effects> </ options> ; \\n    OUTPUT <OUT=SAS-data-set> <keyword <=name> > <\\u2026keyword<=name>> ; \\n    PARTITION <options> ; \\n    WEIGHT variable ; \\n\\n[SAS/STAT 12.1 Experimental Procedure]\\n\\nQuantile regression, which was introduced by Koenker and Bassett (1978), is a modern method that models \\nthe effects of covariates on the conditional quantiles of a response variable. The QUANTSELECT procedure \\nperforms effect selection in the framework of quantile regression. A variety of effect selection methods \\nare available, including greedy methods and penalty methods. The QUANTSELECT procedure offers extensive \\ncapabilities for customizing the effect selection processes with a variety of candidate selecting, \\neffect-selection stopping, and final-model choosing criteria. PROC QUANTSELECT also provides graphical \\nsummaries for the effect selection processes.\"}},{\"Name\":\"RANK\",\"Type\":\"SAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC RANK <option(s)>;  \\n      BY <DESCENDING> variable-1 <...<DESCENDING> variable-n> <NOTSORTED>;  \\n      VAR data-set-variables(s);  \\n      RANKS new-variables(s);\\n\\nThe RANK procedure computes ranks for one or more numeric variables across the observations \\nof a SAS data set and outputs the ranks to a new SAS data set. PROC RANK by itself produces \\nno printed output.\"}},{\"Name\":\"REG\",\"Type\":\"SAS_PROCEDURE\",\"Attributes\":\"InteractivePROC\",\"Help\":{\"#cdata\":\"Syntax: PROC REG <options> ; \\n    <label:>MODEL dependents=<regressors> </ options> ; \\n    BY variables ; \\n    FREQ variable ; \\n    ID variables ; \\n    VAR variables ; \\n    WEIGHT variable ; \\n    ADD variables ; \\n    DELETE variables ; \\n    <label:>MTEST <equation, ...,equation> </ options> ; \\n    OUTPUT <OUT=SAS-data-set>< keyword=names> <...keyword=names> ; \\n    PAINT <condition | ALLOBS> </ options > | < STATUS | UNDO> ; \\n    RESTRICT equation, ...,equation ; \\n    REWEIGHT <condition | ALLOBS> </ options > | < STATUS | UNDO> ; \\n    PRINT <options> <ANOVA> <MODELDATA> ; \\n    REFIT ; \\n    RESTRICT equation, ...,equation ; \\n    REWEIGHT <condition | ALLOBS> </ options > | < STATUS | UNDO> ; \\n    <label:>TEST equation,<,...,equation> </ option> ; \\n\\nThe REG procedure is one of many regression procedures in the SAS System. It is a general-purpose \\nprocedure for regression, while other SAS regression procedures provide more specialized applications. \"}},{\"Name\":\"REGISTRY\",\"Type\":\"SAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC REGISTRY <option(s)>;\\n  \\nThe REGISTRY procedure maintains the SAS registry. The registry consists of two parts. One part \\nis stored in the SASHELP library, and the other part is stored in the SASUSER library.\"}},{\"Name\":\"REPORT\",\"Type\":\"SAS_PROCEDURE\",\"Attributes\":\"InteractivePROC\",\"Help\":{\"#cdata\":\"Syntax: PROC REPORT <option(s)>;  \\n      BREAK location break-variable</ option(s)>;  \\n      BY <DESCENDING> variable-1 <...<DESCENDING> variable-n> <NOTSORTED>;  \\n      COLUMN column-specification(s);  \\n      COMPUTE location <target> </ STYLE=<style-element-name> <[style-attribute-specification(s)]>>;  \\n        LINE specification(s);  \\n        ... select SAS language elements ...  \\n        ENDCOMP;   \\n        COMPUTE report-item </ type-specification>;  \\n          CALL DEFINE (column-id, 'attribute-name', value);  \\n          ... select SAS language elements ...  \\n          ENDCOMP;  \\n      DEFINE report-item / <usage> <attribute(s)> <option(s)> \\n        <justification> <COLOR=color> <'column-header-1' <...'column-header-n'>> <style>;  \\n      FREQ variable;  \\n      RBREAK location </ option(s)>;  \\n      WEIGHT variable; \\n  \\nThe REPORT procedure combines features of the PRINT, MEANS, and TABULATE procedures with \\nfeatures of the DATA step in a single report-writing tool that can produce a variety of \\nreports.\"}},{\"Name\":\"ROBUSTREG\",\"Type\":\"SAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC ROBUSTREG <options> ; \\n    BY variables ; \\n    CLASS variables ; \\n    EFFECT name=effect-type ( variables </options>) ; \\n    ID variables ; \\n    MODEL response=<effects> </ options> ; \\n    OUTPUT <OUT=SAS-data-set> <options> ; \\n    PERFORMANCE <options> ; \\n    TEST effects ; \\n    WEIGHT variable ; \\n\\nThe main purpose of robust regression is to detect outliers and provide resistant (stable) \\nresults in the presence of outliers. In order to achieve this stability, robust regression \\nlimits the influence of outliers. Historically, three classes of problems have been addressed \\nwith robust regression techniques: \\n\\n  o problems with outliers in the -direction (response direction) \\n\\n  o problems with multivariate outliers in the -space (that is, outliers in the covariate space, \\n    which are also referred to as leverage points) \\n\\n  o problems with outliers in both the -direction and the x-space\"}},{\"Name\":\"RSREG\",\"Type\":\"SAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC RSREG <options> ; \\n    MODEL responses= independents </ options> ; \\n    RIDGE <options> ; \\n    WEIGHT variable ; \\n    ID variables ; \\n    BY variables ; \\n\\nThe RSREG procedure uses the method of least squares to fit quadratic response surface regression \\nmodels. Response surface models are a kind of general linear model in which attention focuses on \\ncharacteristics of the fit response function and in particular, where optimum estimated response \\nvalues occur.\"}},{\"Name\":\"SCAPROC\",\"Type\":\"SAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC SCAPROC;  \\n    <statements>;  \\n\\nThe SCAPROC procedure implements the SAS Code Analyzer, which captures information \\nabout input, output, and the use of macro symbols from a SAS job while it is running. \\nThe SAS Code Analyzer can write this information and the information that is in the \\noriginal SAS file to a file that you specify. The SCAPROC procedure can also generate \\na grid-enabled job that can concurrently run independent pieces of the job. You can \\nissue the SCAPROC procedure on your operating system's command line or in SAS code \\nin the SAS Editor window.\"}},{\"Name\":\"SCORE\",\"Type\":\"SAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC SCORE DATA=SAS-data-set<options> ; \\n    BY variables ; \\n    ID variables ; \\n    VAR variables ;\\n\\nThe SCORE procedure multiplies values from two SAS data sets, one containing coefficients (for example, \\nfactor-scoring coefficients or regression coefficients) and the other containing raw data to be scored \\nusing the coefficients from the first data set.\"}},{\"Name\":\"SEQDESIGN\",\"Type\":\"SAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC SEQDESIGN <options> ; \\n    <label:> DESIGN options ; \\n    SAMPLESIZE <MODEL= option> ; \\n\\nThe purpose of the SEQDESIGN procedure is to design interim analyses for clinical trials. \\nClinical trials are experiments on human subjects to demonstrate the efficacy and safety \\nof new drugs or treatments. A simple example is a trial to test the effectiveness of a new \\ndrug in humans by comparing the outcomes in a group of patients who receive the new drug \\nwith the outcomes in a comparable group of patients who receive a placebo.\"}},{\"Name\":\"SEQTEST\",\"Type\":\"SAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC SEQTEST <options> ;\\n    \\nThe purpose of the SEQTEST procedure is to perform interim analyses for clinical trials. \\nClinical trials are experiments on human beings to demonstrate the efficacy and safety \\nof new drugs or treatments. A simple example is a trial to test the effectiveness of a \\nnew drug in humans by comparing the outcomes in a group of patients who receive the new \\ndrug with the outcomes in a comparable group of patients who receive a placebo. \\n\\nA clinical trial is conducted according to a plan called a protocol. A protocol details \\nthe objectives of the trial, the data collection process, and the analyses of the data. \\nThe protocol contains information such as a null hypothesis and an alternative hypothesis, \\na test statistic, the probability \\u03b1 of a Type I error (incorrectly rejecting the null \\nhypothesis), the probability \\u03b2 of a Type II error (incorrectly accepting the null hypothesis), \\nthe sample size needed to attain a specified power (probability of correctly rejecting the \\nnull hypothesis) of 1-\\u03b2 at an alternative reference, and critical values that are associated \\nwith the test statistic for hypothesis testing.\"}},{\"Name\":\"SERVER\",\"Type\":\"SAS_PROCEDURE\",\"Attributes\":\"InteractivePROC\",\"Help\":{\"#cdata\":\"Syntax: PROC SERVER <options>;\\n    ALLOCATE SASFILE SAS-data-set1 <(data-set-options) >  \\n      <SAS-data-set2> <(data-set-options) ... SAS-data-set8 <(data-set-options)>>  \\n    ALLOCATE LIBRARY libref <engine> 'SAS-data-library' <LIBTYPE=library-type>\\n  <CATCACHELIMIT=n><engine/system-options>;  \\n  \\nThe SERVER procedure is the core of SAS/SHARE. It is the component that enables\\ntwo or more clients to write concurrently to the same SAS file. To start a\\nSAS/SHARE server, invoke the SERVER procedure. Specify an ID for that server\\nwith a set of optional parameters that define the server behavior.\"}},{\"Name\":\"SGDESIGN\",\"Type\":\"SAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC SGDESIGN SGD=\\\"SGD-file-specification\\\" <option(s)>;\\n    DYNAMIC dynamic-var\\u20131=\\\"assigned-value\\u20131\\\" <...dynamic-var\\u2013n=\\\"assigned-value-n\\\">;\\n\\nThe SGDESIGN procedure produces a graph from one or more input SAS data sets and a user-defined \\nODS Graphics Designer (SGD) file. The SGD file is created with the SAS ODS Graphics Designer \\napplication.\"}},{\"Name\":\"SGPANEL\",\"Type\":\"SAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC PROC SGPANEL < option(s)>;\\n    ...SGPANEL statements\\n    RUN;\\n    QUIT;\\n\\nThe SGPANEL procedure creates a panel of graph cells for the values of one or more classification \\nvariables. For example, if a data set contains three variables (A, B and C) and you want to compare \\nthe scatter plots of B*C for each value of A, then you can use the SGPANEL to create this panel. The \\nSGPANEL procedure creates a layout for you automatically and splits the panel into multiple graphs \\nif necessary.\\n\\nThe SGPANEL procedure can create a wide variety of plot types, and overlay multiple plots together \\nin each graph cell in the panel. It can also produce several types of layout.\"}},{\"Name\":\"SGPLOT\",\"Type\":\"SAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC SGPLOT < option(s)>; \\n    ...SGPPLOT statements\\n    RUN;\\n    QUIT;\\n\\nThe SGPLOT procedure creates one or more plots and overlays them on a single set of axes. \\nYou can use the SGPLOT procedure to create statistical graphics such as histograms and \\nregression plots, in addition to simple graphics such as scatter plots and line plots. \\nStatements and options enable you to control the appearance of your graph and add additional \\nfeatures such as legends and reference lines.\\n\\nThe SGPLOT procedure can create a wide variety of plot types, and can overlay plots together \\nto produce many different types of graphs.\"}},{\"Name\":\"SPP\",\"Type\":\"SAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC SPP options; \\n    BY variables; \\n    PROCESS name = (variables </pattern-options>)</process-options <distance-function-options>>; \\n    TREND name = FIELD(field-definition ); \\n    COVTEST process-name = trend-name <trend-name, \\u2026></options>; \\n    MODEL process-name = <trend-name, \\u2026></model-options>; \\n    PARMS value-list </ PARMSDATA=SAS-data set>; \\n    NLOPTIONS <options>;\\n    \\nThe SPP procedure performs analysis for spatial point patterns in two dimensions. You can specify the \\npoint process rectangular window or rely on the input data set coordinates. Summary descriptions are \\navailable through the F, G, J, K functions, which compare the empirical function distributions to the \\ntheoretical homogeneous Poisson functions. \\n\\nThe SPP procedure uses ODS Graphics to create graphs as part of its output.\"}},{\"Name\":\"SSM\",\"Type\":\"SAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC SSM <options>;\\n    BY variables;\\n    COMPONENT name = (variables)* state </ options>;\\n    DEPLAG name(response-variable) lag-term1 <lag-term2 \\u2026> ;\\n    EVAL name = expression </ options>;\\n    ID variable <option>;\\n    IRREGULAR name <options>;\\n    MODEL response = variables </ options>;\\n    OUTPUT <options>;\\n    PARMS variables </ options> ;\\n    STATE name(dim)<options>;\\n    TREND name(type)<options>;    \\n    Programming statements ;\\n    \\nState space models (SSMs) are used for analyzing continuous response variables that are recorded \\nsequentially according to a numeric indexing variable. In many cases, the indexing variable is time \\nand the observations are collected at regular time intervals\\u2014for example, hourly, weekly, or monthly. \\nIn such cases, the resulting data are called time series data. In other cases, the indexing variable \\nmight not be time or the observations might not be equally spaced according to the indexing variable. \\nThese more general types of sequential data are called longitudinal data. Because of their sequential \\nnature, these types of data exhibit some characteristic features. For example, chronologically closer \\nmeasurements tend to be highly correlated while measurements farther apart are essentially uncorrelated. \\nData can be trending in a particular direction and can have seasonal or other periodic patterns. SSMs \\nare specially designed to model such sequential data. They apply to both univariate and multivariate \\nresponse situations and can easily incorporate predictor (independent variable) information when it \\nis available.\"}},{\"Name\":\"STREAM\",\"Type\":\"SAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC STREAM OUTFILE= fileref <option(s)>; \\n    BEGIN \\n    text-1\\n    <text-n> \\n    ;;;;\\n    \\nwhere:\\ntext \\n  specifies the SAS statements or macros to use with PROC STREAM.\\n  \\nThe STREAM procedure enables you to process an input stream that consists of arbitrary text that \\ncan contain SAS macro specifications. The macros are executed and expanded while the other text \\nin the input stream is preserved. The text stream is not validated as SAS syntax. The output stream \\nis sent to an external file that is referenced by a fileref, and that can be defined to use any \\ntraditional SAS output destination.\"}},{\"Name\":\"SURVEYIMPUTE\",\"Type\":\"SAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC SURVEYIMPUTE <options>;\\n    BY variables;\\n    CELLS variables ;\\n    CLASS variable <(options)> <\\u2026variable <(options)>> </ options>;\\n    CLUSTER variables;\\n    ID variable;\\n    IMPJOINT <variables>;\\n    OUTPUT <OUT=SAS-data-set><OUTJKCOEFS=SAS-data-set><keyword=name \\u2026keyword=name>;\\n    REPWEIGHTS variables;\\n    STRATA variables ;\\n    VAR variables;\\n    WEIGHT variable; \\n    \\nThe SURVEYIMPUTE procedure imputes missing values of an item in a data set by replacing them with observed \\nvalues from the same item. The principles by which the imputation is performed are particularly useful for \\nsurvey data. PROC SURVEYIMPUTE also computes replicate weights (such as jackknife weights) that account for \\nthe imputation and that can be used for replication-based variance estimation for complex surveys. The procedure \\nimplements a fractional hot-deck imputation technique (Kim and Fuller 2004; Fuller 2009; Kim and Shao 2014) \\nin addition to some traditional hot-deck imputation techniques (Andridge and Little 2010).\"}},{\"Name\":\"SURVEYPHREG\",\"Type\":\"SAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC SURVEYPHREG <options> ; \\n    BY variables ; \\n    CLASS variable <(options)> <...variable <(options)> > </options> ; \\n    CLUSTER variables ; \\n    DOMAIN variables <variable*variable variable*variable*variable ... > ; \\n    ESTIMATE <'label'> estimate-specification < / options> ; \\n    FREQ variable ; \\n    LSMEANS <model-effects> </ options> ; \\n    LSMESTIMATE model-effect lsmestimate-specification < / options> ; \\n    MODEL response <*censor(list)> = effects </options> ; \\n    NLOPTIONS <options> ; \\n    OUTPUT <OUT=SAS-data-set> <keyword=name ...keyword=name > </options> ; \\n    REPWEIGHTS variables </ options> ; \\n    SLICE model-effect </ options> ; \\n    STRATA variables </option> ; \\n    STORE <OUT=>item-store-name </ LABEL='label'> ; \\n    TEST <model-effects> </ options> ; \\n    WEIGHT variable ; \\n\\nThe SURVEYPHREG procedure performs regression analysis based on the Cox proportional \\nhazards model for sample survey data. Cox's semiparametric model is widely used in the \\nanalysis of survival data to estimate hazard rates when adequate explanatory variables \\nare available. The procedure provides design-based variance estimates, confidence intervals, \\nand hypothesis tests concerning the parameters and model effects.\"}},{\"Name\":\"SURVEYREG\",\"Type\":\"SAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC SURVEYREG  <options> ; \\n    BY variables ; \\n    CLASS variables ; \\n    CLUSTER variables ; \\n    CONTRAST 'label' effect values < ... effect values> </ options> ; \\n    DOMAIN variables <variable*variable variable*variable*variable ... > ; \\n    EFFECT name = effect-type ( variables </ options> ) ; \\n    ESTIMATE <'label'> estimate-specification < / options> ; \\n    LSMEANS <model-effects> </ options> ; \\n    LSMESTIMATE model-effect lsmestimate-specification < / options> ; \\n    MODEL dependent = <effects> </ options> ; \\n    OUTPUT <keyword <=variable-name> ... keyword <=variable-name>> </ option> ; \\n    REPWEIGHTS variables < / options> ; \\n    SLICE model-effect </ options> ; \\n    STORE <OUT=>item-store-name</LABEL='label'> ; \\n    STRATA variables </ option> ; \\n    TEST <model-effects> </ options> ; \\n    WEIGHT variable ; \\n  \\nThe SURVEYREG procedure performs regression analysis for sample survey data. This procedure \\ncan handle complex survey sample designs, including designs with stratification, clustering, \\nand unequal weighting. The procedure fits linear models for survey data and computes regression \\ncoefficients and their variance-covariance matrix. The procedure also provides significance \\ntests for the model effects and for any specified estimable linear functions of the model \\nparameters. Using the regression model, the procedure can compute predicted values for the \\nsample survey data.\"}},{\"Name\":\"SURVEYLOGISTIC\",\"Type\":\"SAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC SURVEYLOGISTIC  <options> ; \\n    BY variables ; \\n    CLASS variable <(v-options)> <variable <(v-options)> ...> </ v-options> ; \\n    CLUSTER variables ; \\n    CONTRAST 'label'   effect values <,...effect values> </ options> ; \\n    DOMAIN variables <variable*variable variable*variable*variable ...> ; \\n    EFFECT name = effect-type ( variables </ options> ) ; \\n    ESTIMATE <'label'> estimate-specification < / options> ; \\n    FREQ variable ; \\n    LSMEANS <model-effects> </ options> ; \\n    LSMESTIMATE model-effect lsmestimate-specification < / options> ; \\n    MODEL events/trials = <effects < / options>> ; \\n    MODEL variable <(v-options)> = <effects> < / options> ; \\n    OUTPUT <OUT=SAS-data-set> <options> < / option> ; \\n    REPWEIGHTS variables < / options> ; \\n    SLICE model-effect </ options> ; \\n    STORE <OUT=>item-store-name</LABEL='label'> ; \\n    STRATA variables </ option> ; \\n    <label:> TEST equation1 < , ... , equationk> </ options> ; \\n    UNITS independent1 = list1 <... independentk = listk> < / option> ; \\n    WEIGHT variable ; \\n  \\nCategorical responses arise extensively in sample survey. Common examples of responses \\ninclude the following: \\n\\n    o binary: for example, attended graduate school or not \\n    o ordinal: for example, mild, moderate, and severe pain \\n    o nominal: for example, ABC, NBC, CBS, FOX TV network viewed at a certain hour\"}},{\"Name\":\"SURVEYMEANS\",\"Type\":\"SAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC SURVEYMEANS <options> <statistic-keywords> ; \\n    BY variables ; \\n    CLASS variables ; \\n    CLUSTER variables ; \\n    DOMAIN variables <variablevariable variablevariablevariable ...> < / option> ; \\n    RATIO <'label'> variables / variables ; \\n    REPWEIGHTS variables < / options> ; \\n    STRATA variables < / option> ; \\n    VAR variables ; \\n    WEIGHT variable \\n  \\nThe SURVEYMEANS procedure estimates characteristics of a survey population by using \\nstatistics computed from a survey sample. You can estimate statistics such as means, \\ntotals, proportions, quantiles, and ratios. PROC SURVEYMEANS also provides domain \\nanalysis, which computes estimates for subpopulations or domains. The procedure also \\nestimates variances and confidence limits and performs t tests for these statistics. \\nPROC SURVEYMEANS uses either the Taylor series (linearization) method or replication \\n(subsampling) methods to estimate sampling errors of estimators based on complex sample \\ndesigns. The sample design can be a complex survey sample design with stratification, \\nclustering, and unequal weighting.\"}},{\"Name\":\"SGRENDER\",\"Type\":\"SAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC SGRENDER < option(s)>;  \\n    DATTRVAR variable-assignment(s);\\n    DYNAMIC variable-assignment(s);  \\n\\nThe SGRENDER procedure produces graphical output from templates that are created with the Graph Template \\nLanguage (GTL). The templates are referred to as StatGraph templates. The GTL is a comprehensive language \\nfor creating statistical graphics, which can be used to create customized layouts and graphs that are beyond \\nthe scope of the ODS Graphics procedures.\"}},{\"Name\":\"SGSCATTER\",\"Type\":\"SAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC SGSCATTER < options>;  \\n      COMPARE X= variable | (variable-1 ... variable-n) Y= variable | (variable-1 ... variable-n)</options>;  \\n      MATRIX variable-1 < ... variable-n> </options>;  \\n      PLOT plot-request(s) </options>;  \\n\\nThe SGSCATTER procedure creates a paneled graph of scatter plots for multiple combinations \\nof variables, depending on the plot statement that you use. You can use options to overlay \\nfit plots and ellipses on your scatter plots.\"}},{\"Name\":\"SIM2D\",\"Type\":\"SAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC SIM2D options ; \\n      BY variables ; \\n      COORDINATES coordinate-variables ; \\n      GRID grid-options ; \\n      ID variable ; \\n      RESTORE store-options ; \\n      SIMULATE simulate-options ; \\n      MEAN mean-options ; \\n\\nThe SIM2D procedure uses an LU decomposition technique to produce a spatial simulation for \\na Gaussian random field with a specified mean and covariance structure in two dimensions. \\n\\nThe simulation can be conditional or unconditional. If it is conditional, a set of coordinates \\nand associated field values are read from a SAS data set. The resulting simulation honors these \\ndata values. \\n\\nYou can specify the mean structure as a quadratic function in the coordinates. Specify the \\nsemivariance by naming the form and supplying the associated parameters, or by using the \\ncontents of an item store file that was previously created by PROC VARIOGRAM.\"}},{\"Name\":\"SIMNORMAL\",\"Type\":\"SAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC SIMNORMAL DATA=SAS-data-set ; \\n    VAR variables ; \\n    BY variables ; \\n    CONDITION variables ; \\n\\nThe SIMNORMAL procedure can perform conditional and unconditional simulation for a set \\nof correlated normal or Gaussian random variables. \\n\\nThe means, variances, and covariances (or correlations) are read from an input TYPE=CORR \\nor TYPE=COV data set. This data set is typically produced by the CORR procedure. Conditional \\nsimulations are performed by appending a special observation, identified by the value of \\n'COND' for the _TYPE_ variable, which contains the conditioning value.\"}},{\"Name\":\"SOAP\",\"Type\":\"SAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC SOAP option(s) <properties>;\\n  \\nPROC SOAP reads XML input from a file that has a fileref and writes XML output \\nto another file that has a fileref. The envelope and headings are part of the \\ncontent of the fileref. They are defined in the IN option of PROC SOAP. The input \\nXML is either a SOAPEnvelope element, or an element inside the SOAPEnvelope that \\nis required to invoke the Web service. \\n\\nOperating Environment Information:   PROC SOAP can run on any platform; however, \\nWS-Security features are not available in the z/OS operating environment. The \\nmessage component is an XML document that corresponds to a service request.\"}},{\"Name\":\"SORT\",\"Type\":\"SAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC SORT <collating-sequence-option> <other option(s)>;  \\n    BY <DESCENDING> variable-1 <...<DESCENDING> variable-n>; \\n      \\nThe SORT procedure orders SAS data set observations by the values of one or more \\ncharacter or numeric variables. The SORT procedure either replaces the original \\ndata set or creates a new data set. PROC SORT produces only an output data set.\"}},{\"Name\":\"STP\",\"Type\":\"SAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC STP PROGRAM=\\u201cmetadata-path-of-stored-process\\u201d <ODSOUT=STORE | REPLAY>; \\n  INPUTDATA stored-process-data-file=member-name | \\u201cdata-set-path\\u201d; \\n  INPUTFILE stored-process-file<=local-fileref | \\u201clocal-file-path\\u201d> ...; \\n  INPUTPARAM parameter-name<=\\u201dparameter-value\\u201d> \\n  <parameter-name<=\\u201dparameter-value\\u201d>>; \\n  LIST< GROUP=level | (level1...leveln)>; \\n  LOG FILE=local-fileref | local-file-path\\n  OUTPUTDATA stored-process-data-file=member-name | \\u201cdata-set-path\\u201d; \\n  OUTPUTFILE stored-process-file<=local-fileref | \\u201clocal-file-path\\u201d> ...; \\n  OUTPUTPARAM parameter-name<=local-variable-name>; \\n    \\nThe STP procedure enables stored process execution from a SAS program. PROC STP \\ncan be executed in an interactive, batch, or server SAS session and can also be \\nexecuted by another stored process.\"}},{\"Name\":\"SQL\",\"Type\":\"SAS_PROCEDURE\",\"Attributes\":\"InteractivePROC\",\"Help\":{\"#cdata\":\"Syntax: PROC SQL <option(s)>; \\n      ...statements;\\n    <QUIT;>\\n    \\nThe SQL procedure implements Structured Query Language (SQL) for SAS. SQL is a \\nstandardized, widely used language that retrieves data from and updates data in \\ntables and the views that are based on those tables. \\n\\nThe SAS SQL procedure enables you to:\\n\\n  o retrieve and manipulate data that is stored in tables or views. \\n  o create tables, views, and indexes on columns in tables. \\n  o create SAS macro variables that contain values from rows in a query's result. \\n  o add or modify the data values in a table's columns or insert and delete rows. \\n    You can also modify the table itself by adding, modifying, or dropping columns.\\n  o send DBMS-specific SQL statements to a database management system (DBMS) and \\n    retrieve DBMS data.\"}},{\"Name\":\"STANDARD\",\"Type\":\"SAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC STANDARD <option(s)>;\\n    \\nThe STANDARD procedure standardizes variables in a SAS data set to a given mean and \\nstandard deviation, and it creates a new SAS data set containing the standardized \\nvalues.\"}},{\"Name\":\"STDIZE\",\"Type\":\"SAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC STDIZE <options> ; \\n    BY variables ; \\n    FREQ variable ; \\n    LOCATION variables ; \\n    SCALE variables ; \\n    VAR variables ; \\n    WEIGHT variable ; \\n\\nThe STDIZE procedure standardizes one or more numeric variables in a SAS data set by \\nsubtracting a location measure and dividing by a scale measure.\"}},{\"Name\":\"STDRATE\",\"Type\":\"SAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC STDRATE <options> ; \\n    BY variables ; \\n    POPULATION options ; \\n    REFERENCE options ; \\n    STRATA variables \\u2002 </ option> ;\\n\\n[New procedure in SAS/STAT 12.1]\\n\\nThe STDRATE procedure computes directly standardized rates and risks for study populations. For two \\nstudy populations with the same reference population, PROC STDRATE compares directly standardized \\nrates or risks from these two populations. For homogeneous effects across strata, PROC STDRATE computes \\nMantel-Haenszel estimates. The STDRATE procedure also computes indirectly standardized rates and \\nrisks, including SMR.\"}},{\"Name\":\"SEVERITY\",\"Type\":\"SAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC SEVERITY options ;\\n    BY variable-list ;\\n    LOSS < response-variable > < / censoring-truncation-options > ;\\n    WEIGHT weight-variable ;\\n    CLASS variable < (options) > . . . < variable < (options) > > < / global-options > ;\\n    SCALEMODEL regression-effect-list < / scalemodel-options > ;\\n    DIST distribution-name-or-keyword < (distribution-option) < distribution-name-or-keyword\\n      < (distribution-option) > > . . . > < / preprocess-options > ;\\n    OUTSCORELIB < OUTLIB= > fcmp-library-name options ;\\n    NLOPTIONS options ;\\n    Programming statements ;\\n  \\nThe SEVERITY procedure estimates parameters of any arbitrary continuous probability \\ndistribution that is used to model magnitude (severity) of a continuous-valued event \\nof interest. Some examples of such events are loss amounts paid by an insurance company \\nand demand of a product as depicted by its sales. PROC SEVERITY is especially useful \\nwhen the severity of an event does not follow typical distributions, such as the normal \\ndistribution, that are often assumed by standard statistical methods.\"}},{\"Name\":\"STEPDISC\",\"Type\":\"SAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC STEPDISC <options> ; \\n    CLASS variable ; \\n    BY variables ; \\n    FREQ variable ; \\n    VAR variables ; \\n    WEIGHT variable ; \\n\\nGiven a classification variable and several quantitative variables, the STEPDISC procedure \\nperforms a stepwise discriminant analysis to select a subset of the quantitative variables \\nfor use in discriminating among the classes.\"}},{\"Name\":\"SUMMARY\",\"Type\":\"SAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC SUMMARY <option(s)> <statistic-keyword(s)>;\\n    BY <DESCENDING> variable-1<...<DESCENDING> variable-n> <NOTSORTED>;  \\n    CLASS variable(s) </ option(s)>;  \\n    FREQ variable;  \\n    ID variable(s);  \\n    OUTPUT <OUT=SAS-data-set><output-statistic-specification(s)> <id-group-specification(s)> \\n        <maximum-id-specification(s)> <minimum-id-specification(s)></ option(s)> ;  \\n    TYPES request(s);  \\n    VAR variable(s)</ WEIGHT=weight-variable>;  \\n    WAYS list;  \\n    WEIGHT variable; \\n    \\nThe SUMMARY procedure provides data summarization tools that compute descriptive statistics \\nfor variables across all observations or within groups of observations. The SUMMARY procedure \\nis very similar to the MEANS procedure.\"}},{\"Name\":\"SURVEYFREQ\",\"Type\":\"SAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC SURVEYFREQ <options> ; \\n    BY variables ; \\n    CLUSTER variables ; \\n    REPWEIGHTS variables </ options> ; \\n    STRATA variables </ option> ; \\n    TABLES requests </ options> ; \\n    WEIGHT variable ; \\n\\nThe SURVEYFREQ procedure produces one-way to n-way frequency and crosstabulation tables \\nfrom sample survey data. These tables include estimates of population totals, population \\nproportions, and their standard errors. Confidence limits, coefficients of variation, and \\ndesign effects are also available. The procedure provides a variety of options to customize \\nthe table display.\"}},{\"Name\":\"SURVEYSELECT\",\"Type\":\"SAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC SURVEYSELECT options ;\\n    CONTROL variables ;\\n    FREQ variable ;\\n    ID variables ;\\n    SAMPLINGUNIT | CLUSTER variables < / options > ;\\n    SIZE variable ;\\n    STRATA variables < / options > ;\\n\\nThe SURVEYSELECT procedure provides a variety of methods for selecting probability-based \\nrandom samples. The procedure can select a simple random sample or can sample according to \\na complex multistage sample design that includes stratification, clustering, and unequal \\nprobabilities of selection. With probability sampling, each unit in the survey population \\nhas a known, positive probability of selection. This property of probability sampling avoids \\nselection bias and enables you to use statistical theory to make valid inferences from the \\nsample to the survey population. \\n\\nPROC SURVEYSELECT provides the following equal probability sampling methods: \\n  o simple random sampling (without replacement) \\n  o unrestricted random sampling (with replacement) \\n  o systematic random sampling \\n  o sequential random sampling \\n  o Bernoulli sampling\"}},{\"Name\":\"TABULATE\",\"Type\":\"SAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC TABULATE <option(s)>;  \\n    BY <DESCENDING> variable-1 <...<DESCENDING> variable-n> <NOTSORTED>;  \\n    CLASS variable(s) </ options>;  \\n    CLASSLEV variable(s) / STYLE=<style-element-name | PARENT> <[style-attribute-specification(s)] >;  \\n    FREQ variable;  \\n    KEYLABEL keyword-1='description-1' <...keyword-n='description-n'>;  \\n    KEYWORD keyword(s) / STYLE=<style-element-name | PARENT> <[style-attribute-specification(s)] >;  \\n    TABLE <<page-expression,> row-expression,> column-expression</ table-option(s)>;  \\n    VAR analysis-variable(s)</ options>;  \\n    WEIGHT variable; \\n    \\nThe TABULATE procedure displays descriptive statistics in tabular format, using some \\nor all of the variables in a data set. You can create a variety of tables ranging from \\nsimple to highly customized.\"}},{\"Name\":\"TEMPLATE\",\"Type\":\"SAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC TEMPLATE;  \\n    DEFINE COLUMN column-path </ STORE=libref.template-store>;  <column-attribute-1; <...column-attribute-n;>>  \\n    statements  \\n    END; \\n    DEFINE FOOTER footer-path </ STORE=libref.template-store>;  <footer-attribute-1; <...footer-attribute-n;>>  \\n    statements  \\n    END; \\n    DEFINE HEADER template-name </ STORE=libref.template-store>;  <header-attribute-1; <...header-attribute-n;>>  \\n    statements  \\n    END;\\n    DEFINE STYLE style-path </ STORE=libref.template-store>;  <PARENT=style-path;>  \\n    statements  \\n    END;\\n    DEFINE TABLE table-path </ STORE=libref.template-store>;  <table-attribute-1; <...table-attribute-n;>>  \\n    statements  \\n    END;\\n    DEFINE TAGSET tagset-path </ STORE=libref.template-store>;  DEFINE EVENT event-name;  \\n    <event-attribute-1; <...event-attribute-n;>>  \\n    statements  \\n    END;\\n    DEFINE CROSSTABS table-path </ STORE=libref.template-store>;  statements  \\n    END;\\n    DEFINE STATGRAPH graph-path </ STORE=libref.template-store>;  statements  \\n    END; \\n    DELETE template-path </ STORE=libref.template-store >;  \\n    EDIT template-path-1 <AS template-path-2> </ STORE=libref.template-store > ;  statements-and-attributes  \\n    END; \\n    LINK template-path-1 TOtemplate-path-2 </ option(s)>;  \\n    LIST <starting-path></ option(s)>;  \\n    PATH location(s);  \\n    SOURCE template-path </ option(s)>;  \\n    TEST DATA=data-set </ STORE=libref.template-store>;  \\n\\nThe TEMPLATE procedure enables you to customize the appearance of your SAS output.\"}},{\"Name\":\"TCALIS\",\"Type\":\"SAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC TCALIS <options> ; \\n    BASEMODEL model number </ options> ; \\n    BOUNDS boundary constraints ; \\n    BY variables ; \\n    COV covariance parameters ; \\n    DETERM variables <label> ; \\n    EFFPART effects ; \\n    FACTOR <factor options> ; \\n    FITINDEX <options> ; \\n    FREQ variable ; \\n    GROUP group number </ group options> ; \\n    LINCON linear constraints ; \\n    LINEQS model equations ; \\n    LISMOD variable lists ; \\n    LMTESTS <options> ; \\n    MATRIX matrix-name parameters-in-matrix ; \\n    MEAN mean parameters ; \\n    MODEL model number </ model options> ; \\n    MSTRUCT variable list ; \\n    NLINCON nonlinear constraints ; \\n    NLOPTIONS optimization options ; \\n    OUTFILES output files organization ; \\n    PARAMETERS parameters ; \\n    PARTIAL variables ; \\n    PATH path list ; \\n    PCOV partial covariance parameters ; \\n    PVAR partial variance parameters ; \\n    RAM ram list ; \\n    REFMODEL model number </ options> ; \\n    RENAMEPARM parameter renaming ; \\n    SIMTEST simultaneous tests definitions ; \\n    STD variance parameters ; \\n    STRUCTEQ set of variables <label> ; \\n    TESTFUNC parametric functions ; \\n    VAR variables ; \\n    WEIGHT variable ; \\n    SAS Programming statements ; \\n\\nThe TCALIS procedure deals with structural equation modeling, an important statistical tool in social\\nand behavioral sciences. Structural equations express relationships among a system of variables that\\ncan be either observed variables (manifest variables) or unobserved hypothetical variables\\n(latent variables).\"}},{\"Name\":\"TIMEPLOT\",\"Type\":\"SAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC TIMEPLOT <option(s)>; \\n    \\nThe TIMEPLOT procedure plots one or more variables over time intervals. A listing of \\nvariable values accompanies the plot. Although the plot and the listing are similar \\nto the ones produced by the PLOT and PRINT procedures, PROC TIMEPLOT output has these \\ndistinctive features: \\n\\n  o The vertical axis always represents the sequence of observations in the data set; \\n    thus, if the observations are in order of date or time, then the vertical axis \\n    represents the passage of time.\\n\\n  o The horizontal axis represents the values of the variable that you are examining. \\n    Like PROC PLOT, PROC TIMEPLOT can overlay multiple plots on one set of axes so that \\n    each line of the plot can contain values for more than one variable.\\n\\n  o A plot produced by PROC TIMEPLOT can occupy more than one page.\\n\\n  o Each observation appears sequentially on a separate line of the plot; PROC TIMEPLOT \\n    does not hide observations as PROC PLOT sometimes does.\\n\\n  O The listing of the plotted values can include variables that do not appear in the plot.\"}},{\"Name\":\"TPSPLINE\",\"Type\":\"SAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC TPSPLINE <option> ; \\n    MODEL dependents = <variables> (variables) </options> ; \\n    SCORE data=SAS-data-set out=SAS-data-set ; \\n    OUTPUT <out=SAS-data-set> keyword ... keyword ; \\n    BY variables ; \\n    FREQ variable ; \\n    ID variables ; \\n\\nThe TPSPLINE procedure uses the penalized least squares method to fit a nonparametric regression \\nmodel. It computes thin-plate smoothing splines to approximate smooth multivariate functions observed \\nwith noise. The TPSPLINE procedure allows great flexibility in the possible form of the regression \\nsurface. In particular, PROC TPSPLINE makes no assumptions of a parametric form for the model. The \\ngeneralized cross validation (GCV) function can be used to select the amount of smoothing. \\n\\nThe TPSPLINE procedure uses the penalized least squares method to fit the data with a flexible \\nmodel in which the number of effective parameters can be as large as the number of unique design \\npoints. Hence, as the sample size increases, the model space also increases, enabling the thin-plate \\nsmoothing spline to fit more complicated situations.\"}},{\"Name\":\"TRANSPOSE\",\"Type\":\"SAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC TRANSPOSE <DATA=input-data-set> <DELIMITER=delimiter> <LABEL=label> <LET> \\n      <NAME=name> <OUT=output-data-set> <PREFIX=prefix> <SUFFIX=suffix>;\\n    BY <DESCENDING> variable-1 <...<DESCENDING> variable-n> <NOTSORTED>;  \\n    COPY variable(s);  \\n    ID variable;  \\n    IDLABEL variable; \\n      VAR variable(s); \\n    \\nThe TRANSPOSE procedure creates an output data set by restructuring the values in \\na SAS data set, transposing selected variables into observations. The TRANSPOSE \\nprocedure can often eliminate the need to write a lengthy DATA step to achieve the \\nsame result. Further, the output data set can be used in subsequent DATA or PROC \\nsteps for analysis, reporting, or further data manipulation.\\n\\nPROC TRANSPOSE does not produce printed output. To print the output data set from \\nthe PROC TRANSPOSE step, use PROC PRINT, PROC REPORT, or another SAS reporting tool.\"}},{\"Name\":\"TRANTAB\",\"Type\":\"SAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC TRANTAB TABLE=table-name <NLS>;  \\n    CLEAR <ONE|TWO|BOTH>;  \\n    INVERSE;  \\n    LIST <ONE|TWO|BOTH>;  \\n    LOAD TABLE=table-name <NLS>;  \\n    REPLACE position value-1<...value-n>;  \\n    SAVE <TABLE=table-name> <ONE|TWO|BOTH>;  \\n    SWAP;\\n  \\nThe TRANTAB procedure creates, edits, and displays customized translation tables. \\nIn addition, you can use PROC TRANTAB to view and modify translation tables that \\nare supplied by SAS. These SAS supplied tables are stored in the SASHELP.HOST catalog. \\nAny translation table that you create or customize is stored in your SASUSER.PROFILE \\ncatalog. Translation tables have an entry type of TRANTAB.\\n\\nTranslation tables are operating environment-specific SAS catalog entries that are \\nused to translate the values of one (coded) character set to another. A translation \\ntable has two halves: table one provides a translation, such as ASCII to EBCDIC; table \\ntwo provides the inverse (or reverse) translation, such as EBCDIC to ASCII. Each half \\nof a translation table is an array of 256 two-digit positions, each of which contains \\na one-byte unsigned number that corresponds to a coded character.\"}},{\"Name\":\"TREE\",\"Type\":\"SAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC TREE <options> ; \\n    NAME variables ; \\n    HEIGHT variable ; \\n    PARENT variables ; \\n    BY variables ; \\n    COPY variables ; \\n    FREQ variable ; \\n    ID variable ; \\n\\nThe TREE procedure produces a tree diagram, also known as a dendrogram or phenogram, from a data \\nset created by the CLUSTER or VARCLUS procedure that contains the results of hierarchical clustering \\nas a tree structure.\"}},{\"Name\":\"TSPL\",\"Type\":\"SAS_PROCEDURE\",\"Attributes\":\"InteractivePROC\",\"Help\":{\"#cdata\":\"Syntax: PROC TSPL | DS2 <table-server-connection-options> \\n      <ANSIMODE> <AUTHDOMAIN=auth-domain> <CONN=\\\"connection-string\\\"|macrovar>  \\n      <DSN=dsn-definition> <DSNPASSWORD=\\\"password\\\"> <DSNUSER=\\\"user-name\\\">  \\n      <ERRORSTOP|NOERRORSTOP> <EXEC|NOEXEC> <IPTRACE> <LABEL|NOLABEL>  \\n      <NOAUTOCOMMIT> <NOLIBNAMES> <NOPRINT> <NUMBER> <STIMER>  \\n      <TRACEFILE=>LOG | \\\"filename\\\"  \\n      <TRACEFLAGS=flag | (flag, flag ...)>  \\n      <TSID=\\\"logical-name\\\"> ;  \\n\\n    <TSPL statements>\\n    RUN | RUN CANCEL;\\n    QUIT;\\n    \\nData Step 2 (DS2) is the new name for the Table Server Programming Language (TSPL). \\\"DS2\\\" and\\n\\\"TSPL\\\" can be used interchangeably.\\n\\nDS2 is a new SAS proprietary programming language that is appropriate for advanced data manipulation \\nand data modeling applications. The DS2 language combines traditional SAS DATA step processing \\nwith the standard operations of SQL:1999 by integrating the two languages into one. DS2 supports \\nthe ability to create, bulk load, and manipulate tables, create and execute stored routines.\"}},{\"Name\":\"DS2\",\"Type\":\"SAS_PROCEDURE\",\"Attributes\":\"InteractivePROC\",\"Help\":{\"#cdata\":\"Syntax: PROC DS2 | TSPL <table-server-connection-options> \\n      <ANSIMODE> <AUTHDOMAIN=auth-domain> <CONN=\\\"connection-string\\\"|macrovar>  \\n      <DSN=dsn-definition> <DSNPASSWORD=\\\"password\\\"> <DSNUSER=\\\"user-name\\\">  \\n      <ERRORSTOP|NOERRORSTOP> <EXEC|NOEXEC> <IPTRACE> <LABEL|NOLABEL>  \\n      <NOAUTOCOMMIT> <NOLIBNAMES> <NOPRINT> <NUMBER> <STIMER>  \\n      <TRACEFILE=>LOG | \\\"filename\\\"  \\n      <TRACEFLAGS=flag | (flag, flag ...)>  \\n      <TSID=\\\"logical-name\\\"> ;  \\n\\n    <DS2 statements>\\n    RUN | RUN CANCEL;\\n    QUIT;\\n\\nData Step 2 (DS2) is the new name for the Table Server Programming Language (TSPL). \\\"DS2\\\" and\\n\\\"TSPL\\\" can be used interchangeably.\\n\\nDS2 is a new SAS proprietary programming language that is appropriate for advanced data manipulation \\nand data modeling applications. The DS2 language combines traditional SAS DATA step processing \\nwith the standard operations of SQL:1999 by integrating the two languages into one. DS2 supports \\nthe ability to create, bulk load, and manipulate tables, create and execute stored routines.\"}},{\"Name\":\"TTEST\",\"Type\":\"SAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC TTEST <options> ; \\n    CLASS variable ; \\n    PAIRED variables ; \\n    BY variables ; \\n    VAR variables </ options> ; \\n    FREQ variable ; \\n    WEIGHT variable ; \\n\\n\\nThe TTEST procedure performs t tests and computes confidence limits for one sample, paired \\nobservations, two independent samples, and the AB/BA crossover design.\"}},{\"Name\":\"UNIVARIATE\",\"Type\":\"SAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC UNIVARIATE <options> ; \\n    BY variables ; \\n    CDFPLOT <variables> < / options> ; \\n    CLASS variable-1 <(v-options)> <variable-2 <(v-options)>> </ KEYLEVEL= value1 | ( value1 value2 )> ; \\n    FREQ variable ; \\n    HISTOGRAM <variables> < / options> ; \\n    ID variables ; \\n    INSET keyword-list </ options> ; \\n    OUTPUT <OUT=SAS-data-set> <keyword1=names ...keywordk=names> <percentile-options> ; \\n    PPPLOT <variables> < / options> ; \\n    PROBPLOT <variables> < / options> ; \\n    QQPLOT <variables> < / options> ; \\n    VAR variables ; \\n    WEIGHT variable ; \\n    \\nThe UNIVARIATE procedure provides the following: \\n  o descriptive statistics based on moments (including skewness and kurtosis), quantiles \\n    or percentiles (such as the median), frequency tables, and extreme values \\n  o histograms that optionally can be fitted with probability density curves for various \\n    distributions and with kernel density estimates \\n  o cumulative distribution function plots (cdf plots). Optionally, these can be superimposed \\n    with probability distribution curves for various distributions. \\n  o quantile-quantile plots (Q-Q plots), probability plots, and probability-probability plots \\n    (P-P plots). These plots facilitate the comparison of a data distribution with various \\n    theoretical distributions. \\n  o goodness-of-fit tests for a variety of distributions including the normal \\n  o the ability to inset summary statistics on plots \\n  o the ability to analyze data sets with a frequency variable \\n  o the ability to create output data sets containing summary statistics, histogram intervals, \\n    and parameters of fitted curves\"}},{\"Name\":\"VARCLUS\",\"Type\":\"SAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC VARCLUS <options> ; \\n    VAR variables ; \\n    SEED variables ; \\n    PARTIAL variables ; \\n    WEIGHT variables ; \\n    FREQ variables ; \\n    BY variables ; \\n\\nThe VARCLUS procedure divides a set of numeric variables into disjoint or hierarchical clusters.\"}},{\"Name\":\"VARCOMP\",\"Type\":\"SAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC VARCOMP <options> ; \\n    CLASS variables ; \\n    MODEL dependent = <effects> </ options> ; \\n    BY variables ; \\n\\nThe VARCOMP procedure handles general linear models that have random effects. Random \\neffects are classification effects with levels that are assumed to be randomly selected \\nfrom an infinite population of possible levels. PROC VARCOMP estimates the contribution \\nof each of the random effects to the variance of the dependent variable.\"}},{\"Name\":\"VARIOGRAM\",\"Type\":\"SAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC VARIOGRAM options ; \\n    BY variables ; \\n    COMPUTE computation-options ; \\n    COORDINATES coordinate-variables ; \\n    DIRECTIONS directions-list ; \\n    ID variable ; \\n    MODEL model-options ; \\n    PARMS parameters-list < / parameters-options> ; \\n    NLOPTIONS <options> ; \\n    STORE store-options ; \\n    VAR analysis-variables-list ; \\n\\nThe VARIOGRAM procedure computes empirical measures of spatial continuity for two-dimensional \\nspatial data. These measures are a function of the distances between the sample data pairs. \\nWhen the data are free of nonrandom (or systematic) surface trends, the estimated continuity \\nmeasures are the empirical semivariance and covariance. The procedure also fits permissible \\ntheoretical models to the empirical semivariograms, so that you can use them in subsequent \\nanalysis to perform spatial prediction. You can produce plots of the empirical semivariograms \\nin addition to plots of the fitted models. Both isotropic and anisotropic continuity measures \\nare available.\"}},{\"Name\":\"DQMATCH\",\"Type\":\"SAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC DQMATCH\\n    <DATA=input-data-set>\\n    <DELIMITER | NODELIMITER>\\n    <CLUSTER=output-variable-name>\\n    <CLUSTER_BLANKS | NO_CLUSTER_BLANKS>\\n    <CLUSTERS_ONLY>\\n    <LOCALE=locale-name>\\n    <MATCHCODE=output-variable-name>\\n    <OUT=data-set-name> ;\\n    <CRITERIA1 options\\n    ...\\n    CRITERIAn options\\n    >; \\n\\nThe DQMATCH procedure creates match codes in an output data set for specified input \\ncharacter variables. The procedure can also generate cluster numbers for input values \\nthat generate identical match codes. Cluster numbers are not assigned to input values \\nthat generate unique match codes. Input values that generate a unique match code (no \\ncluster number) can be excluded from the output data set. Blank values can be retained \\nin the output data set. Blank values can receive a cluster number.\"}},{\"Name\":\"DQSCHEME\",\"Type\":\"SAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC DQSCHEME\\n    <DATA=input-data-set>\\n    <BFD | NOBFD>\\n    <OUT=output-data-set>;\\n\\n    <CREATE options;>\\n    <APPLY options;>\\n    <CONVERT options;>\\n\\nThe DQSCHEME procedure creates scheme data sets and analysis data sets and applies schemes to input data sets. \\nYou can also apply schemes with the DQSCHEMEAPPLY function or CALL routine.\"}},{\"Name\":\"DQSRVADM\",\"Type\":\"SAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC DQSRVADM\\n    <HOST=host-name>\\n    <PORT=job-port-number>\\n    <OUT=output-data-set>; \\n\\nThe DQSRVADM procedure creates a data set that provides the name, type, and description of all \\ndfPower Architect and dfPower Profile jobs that ran or that are running on a specified port on \\na DataFlux Integration Server. Status information is provided for all jobs that have a log file \\non the server.\"}},{\"Name\":\"DQSRVSVC\",\"Type\":\"SAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC DQSRVSVC\\n    SERVICE=service-name\\n    <HOST=host-name>\\n    <PORT=port-number>\\n    <TIMEOUT=message-processing-limit>\\n    <DATA=input-data-set>\\n    <OUT=output-data-set>\\n    <BLOCKSIZE=rows-per-message>\\n    <USERID=user-name-on-server>\\n    <PASSWORD=password-on-server>\\n    <TRIM>\\n    <MISSINGVARSOK>;\\n\\nThe DQSRVSVC procedure runs a dfPower Architect real-time service on a DataFlux \\nIntegration Server. dfPower Architect real-time services are batch processes that \\nare intended to cleanse smaller amounts of data at the point of data entry. Data \\nprocessing is intended to be synchronous, when a client application requests the \\nservice and awaits a response. DQSRVSVC procedure authenticates the user on the \\nserver, requests a service, delivers input data to the server, and delivers output \\ndata to a SAS data set.\"}},{\"Name\":\"ANOM\",\"Type\":\"SAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC ANOM < options > ; \\n    < BY variables; >\\n    < ID variables; >\\n    XCHART (responses)/*group-variable < (block-variables) > < =symbol-variable > < / options >; \\n    PCHART (responses)/*group-variable < (block-variables) > < =symbol-variable > < / options >; \\n    UCHART (responses)/*group-variable < (block-variables) > < =symbol-variable > < / options >; \\n    BOXCHART (responses)/*group-variable < (block-variables) > < =symbol-variable > < / options >; \\n    INSET keyword-list < / options >; \\n  \\nAnalysis of means (ANOM) is a graphical and statistical method for simultaneously \\ncomparing k treatment means with their overall mean at a specified significance \\nlevel \\u03b1. You can use the ANOM procedure to create ANOM charts for various types \\nof response data, including continuous measurements, proportions, and rates.\"}},{\"Name\":\"CAPABILITY\",\"Type\":\"SAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC CAPABILITY < options >; \\n    < BY variables;  FREQ variable; WEIGHT variable; ID variable; >\\n    VAR variables; \\n    CLASS variable-1 <variable-2> </ options> ; \\n    SPEC <options >; \\n    CDFPLOT <variables > < / options >; \\n    COMPHISTOGRAM <variables > / CLASS=(class-variables) <options >; \\n    HISTOGRAM <variables > < / options >; \\n    PPPLOT <variables > < / options >; \\n    PROBPLOT <variables > < / options >; \\n    QQPLOT <variables > < / options >; \\n    INSET keyword-list < / options >; \\n    INTERVALS <variables > < / options >; \\n    OUTPUT <OUT=SAS-data-set> keyword=names<...keyword=names >;\\n    \\nA process capability analysis compares the distribution of output from an in-control process \\nto its specification limits to determine the consistency with which the specifications can be \\nmet.\"}},{\"Name\":\"CUSUM\",\"Type\":\"SAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC CUSUM < options >;\\n    XCHART statement...\\n    INSET statement...\\n  \\nThe CUSUM procedure creates cumulative sum control charts, also known as cusum charts, \\nwhich display cumulative sums of the deviations of measurements or subgroup means from \\na target value.\"}},{\"Name\":\"FACTEX\",\"Type\":\"SAS_PROCEDURE\",\"Attributes\":\"InteractivePROC\",\"Help\":{\"#cdata\":\"Syntax: PROC FACTEX <options> ; \\n    FACTORS factor-names < / option> ; \\n    SIZE size-specification ; \\n    MODEL model-specification <MINABS<(d)>; \\n    BLOCKS block-specification ; \\n    UNITEFFECTS uniteffect / < WHOLE=() > < SUB=() > ; \\n    EXAMINE <options> ; \\n    OUTPUT OUT=SAS-data-set <options> ; \\n\\nThe FACTEX procedure constructs orthogonal factorial experimental designs. These designs \\ncan be either full or fractional factorial designs, and they can be with or without blocks.\"}},{\"Name\":\"MACONTROL\",\"Type\":\"SAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC MACONTROL < options >; \\n    EWMACHART (processes)*subgroup-variable <( block-variables ) > \\n    < =symbol-variable  'character' > / WEIGHT=value < options >; \\n    MACHART (processes)*subgroup-variable <( block-variables ) > \\n    < =symbol-variable  'character' > / SPAN=value < options > ; \\n    INSET keyword-list < / options >; \\n\\nThe MACONTROL procedure creates moving average control charts, which are tools for deciding whether\\na process is in a state of statistical control and for detecting shifts in a process average.\"}},{\"Name\":\"OPTEX\",\"Type\":\"SAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC OPTEX < options > ;\\n    CLASS class-variables ;\\n    MODEL effects < / options> ;\\n    BLOCKS block-specification <options> ;\\n    EXAMINE <options> ;\\n    GENERATE <options> ;\\n    ID variables ;\\n    OUTPUT OUT= SAS-data-set <options> ;\\n\\nThe OPTEX procedure searches for optimal experimental designs. You specify a set of candidate design\\npoints and a linear model, and the procedure chooses points so that the terms in the model can be\\nestimated as efficiently as possible.\"}},{\"Name\":\"PARETO\",\"Type\":\"SAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC PARETO < options >; \\n    VBAR (variable-list) < / options > ; \\n    HBAR (variable-list) < / options > ;\\n    INSET (keyword-list) < / options > ;\\n    < BY variables ; >\\n  \\nThe PARETO procedure creates Pareto charts, which display the relative frequency of quality-related \\nproblems in a process or operation. The frequencies are represented by bars that are ordered in decreasing \\nmagnitude. Thus, a Pareto chart can be used to decide which subset of problems should be solved first or \\nwhich problem areas deserve the most attention. Pareto charts provide a tool for visualizing the Pareto \\nprinciple, which states that a small subset of problems tend to occur much more frequently than the remaining \\nproblems. In Japanese industry, the Pareto chart is one of the \\\"seven basic QC tools\\\" heavily used by workers \\nand engineers.\"}},{\"Name\":\"RELIABILITY\",\"Type\":\"SAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC RELIABILITY <options>; \\n    <label:>ANALYZE variable<censor-variable(values)> <=(group-variables)> </ options>; \\n    <label:>MCFPLOT variable<cost/censor-variable(values)> <=(group-variables)> </ options>; \\n    MODEL variable<censor-variable(values)> =<independent-variables> </ options>; \\n    <label:>PROBPLOT variable<censor-variable(values)> <=(group-variables)> </ options>; \\n    <label:>RELATIONPLOT variable<censor-variable(values)> <=(group-variables)> </ options>; \\n    \\n    BY variables; CLASS variables; DISTRIBUTION distribution-name; \\n    FMODE keyword = variable('value1' ... 'valuen');\\n    FREQ variable; INSET keyword-list< options>; \\n    MAKE 'table' OUT=SAS-data-set < / options>;\\n    NENTER variable; \\n    UNITID variable; \\n\\n The RELIABILITY procedure provides tools for reliability and survival data analysis \\nand for recurrence data analysis. You can use this procedure to:\\n\\no construct probability plots and fitted life distributions with left-censored, right-censored, \\n  and interval-censored lifetime data \\no fit regression models, including accelerated life test models, to combinations of left-censored, \\n  right-censored, and interval-censored data \\no analyze recurrence data from repairable systems\"}},{\"Name\":\"SHEWHART\",\"Type\":\"SAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC SHEWHART < options >; \\n    < BY variables; >\\n    < ID variables; >\\n    BOXCHART (processes)*subgroup-variable <(block-variables ) > \\n      < =symbol-variable  'character' > < / options >; \\n    CCHART (processes)*subgroup-variable <(block-variables ) > \\n      < =symbol-variable  'character' > < / options >; \\n    IRCHART (processes)*subgroup-variable <(block-variables ) > \\n      < =symbol-variable  'character' > < / options >; \\n    MCHART (processes)*subgroup-variable <(block-variables ) > \\n      < =symbol-variable  'character' > < / options >; \\n    MRCHART (processes)*subgroup-variable <(block-variables ) > \\n      < =symbol-variable  'character' > < / options >; \\n    NPCHART (processes)*subgroup-variable <(block-variables ) > \\n      < =symbol-variable  'character' > < / options >; \\n    PCHART (processes)*subgroup-variable <(block-variables ) > \\n      < =symbol-variable  'character' > < / options >; \\n    RCHART (processes)*subgroup-variable <(block-variables ) > \\n      < =symbol-variable  'character' > < / options >; \\n    SCHART (processes)*subgroup-variable <(block-variables ) > \\n    < =symbol-variable  'character' > < / options >; \\n    UCHART (processes)*subgroup-variable <(block-variables ) > \\n    < =symbol-variable  'character' > < / options >; \\n    XCHART (processes)*subgroup-variable <(block-variables ) > \\n      < =symbol-variable  'character' > < / options >; \\n    XRCHART (processes)*subgroup-variable <(block-variables ) > \\n      < =symbol-variable  'character' > < / options >; \\n    XSCHART (processes)*subgroup-variable <(block-variables ) > \\n      < =symbol-variable  'character' > < / options >; \\n    INSET keyword-list < / options >; \\n    INSET2 keyword-list < / options >; \\n  \\nThe Shewhart control chart is a graphical and analytical tool for deciding whether \\na process is in a state of statistical control. You can use the SHEWHART procedure \\nto display many different types of control charts, including all commonly used charts \\nfor variables and attributes.\"}},{\"Name\":\"BOM\",\"Type\":\"SAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC BOM options ; \\n    STRUCTURE / options ;\\n\\nThe BOM procedure performs bill-of-material processing.\"}},{\"Name\":\"CLP\",\"Type\":\"SAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC CLP options ; \\n    ACTIVITY activity specifications ; \\n    ALLDIFF alldiff constraints ; \\n    ARRAY array specifications ; \\n    ELEMENT element constraints ; \\n    FOREACH foreach constraints ; \\n    GCC global cardinality constraints ; \\n    LINCON linear constraints ; \\n    REIFY reify constraints ; \\n    REQUIRES resource requirement constraints ; \\n    RESOURCE resource specifications ; \\n    SCHEDULE schedule options ; \\n    VARIABLE variable specifications ; \\n\\nThe CLP procedure is a finite-domain constraint programming solver for constraint \\nsatisfaction problems (CSPs) with linear, logical, global, and scheduling constraints. \\nIn addition to having an expressive syntax for representing CSPs, the solver features \\npowerful built-in consistency routines and constraint propagation algorithms, a choice \\nof nondeterministic search strategies, and controls for guiding the search mechanism \\nthat enable you to solve a diverse array of combinatorial problems.\"}},{\"Name\":\"GA\",\"Type\":\"SAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC GA options ; \\n    ContinueFor Call; \\n    Cross Call; \\n    Dynamic_array Call; \\n    EvaluateLC Call; \\n    GetDimensions Call; \\n    GetObjValues Call; \\n    GetSolutions Call; \\n    Initialize Call; \\n    MarkPareto Call; \\n    Mutate Call; \\n    Objective Call; \\n    PackBits Call; \\n    Program Statements; \\n    ReadChild Call; \\n    ReadCompare Call; \\n    ReadMember Call; \\n    ReadParent Call; \\n    ReEvaluate Call; \\n    SetBounds Call; \\n    SetCross Call; \\n    SetCrossProb Call; \\n    SetCrossRoutine Call; \\n    SetElite Call; \\n    SetEncoding Call; \\n    SetFinalize Call; \\n    SetMut Call; \\n    SetMutProb Call; \\n    SetMutRoutine Call; \\n    SetObj Call; \\n    SetObjFunc Call; \\n    SetProperty Call; \\n    SetSel Call; \\n    SetUpdateRoutine Call;\\n    \\nGenetic algorithms are a family of local search algorithms that seek optimal solutions \\nto problems by applying the principles of natural selection and evolution.\"}},{\"Name\":\"INTPOINT\",\"Type\":\"SAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC INTPOINT options ; \\n    CAPACITY variable ; \\n    COEF variables ; \\n    COLUMN variable ; \\n    COST variable ; \\n    DEMAND variable ; \\n    HEADNODE variable ; \\n    ID variables ; \\n    LO variable ; \\n    NAME variable ; \\n    NODE variable ; \\n    QUIT; \\n    RHS variable ; \\n    ROW variables ; \\n    RUN; \\n    SUPDEM variable ; \\n    SUPPLY variable ; \\n    TAILNODE variable ; \\n    TYPE variable ; \\n    VAR variables ;\\n\\nThe INTPOINT procedure solves the Network Program with Side Constraints (NPSC) problem and the \\nmore general Linear Programming (LP) problem. NPSC and LP models can be used to describe a wide \\nvariety of real-world applications ranging from production, inventory, and distribution problems \\nto financial applications.\"}},{\"Name\":\"LP\",\"Type\":\"SAS_PROCEDURE\",\"Attributes\":\"InteractivePROC\",\"Help\":{\"#cdata\":\"Syntax: PROC LP options ; \\n    COEF variables ; \\n    COL variable ; \\n    ID variable(s) ; \\n    IPIVOT; \\n    PIVOT; \\n    PRINT options ; \\n    QUIT options ; \\n    RANGE variable ; \\n    RESET options ; \\n    RHS variables ; \\n    RHSSEN variables ; \\n    ROW variable(s) ; \\n    RUN; \\n    SHOW options ; \\n    TYPE variable ; \\n    VAR variables ; \\n\\nThe LP procedure solves linear programs, integer programs, and mixed-integer programs. It also\\nperforms parametric programming, range analysis, and reports on solution sensitivity to changes\\nin the right-hand-side constants and price coefficients.\"}},{\"Name\":\"NLP\",\"Type\":\"SAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC NLP options ; \\n    ARRAY function names ; \\n    BOUNDS boundary constraints ; \\n    BY variables ; \\n    CRPJAC variables ; \\n    DECVAR function names ; \\n    GRADIENT variables ; \\n    HESSIAN variables ; \\n    INCLUDE model files ; \\n    JACNLC variables ; \\n    JACOBIAN function names ; \\n    LABEL decision variable labels ; \\n    LINCON linear constraints ; \\n    MATRIX matrix specification ; \\n    MIN, MAX, or LSQ function names ; \\n    MINQUAD or MAXQUAD matrix, vector, or number ; \\n    NLINCON nonlinear constraints ; \\n    PROFILE profile specification ; \\n    Program Statements ; \\n\\nThe NLP procedure (NonLinear Programming) offers a set of optimization techniques for minimizing \\nor maximizing a continuous nonlinear function f(x) of n decision variables, with lower and upper \\nbound, linear and nonlinear, equality and inequality constraints.\"}},{\"Name\":\"OPTQP\",\"Type\":\"SAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC OPTQP < options > ;\\n    PERFORMANCE < performance-options > ;\\n\\nThe OPTQP procedure solves quadratic programs - problems with quadratic objective function and a\\ncollection of linear constraints, including lower and/or upper bounds on the decision variables.\"}},{\"Name\":\"OPTLP\",\"Type\":\"SAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC OPTLP < options > ;\\n  DECOMP < options > ;\\n  DECOMPMASTER < options > ;\\n  DECOMPSUBPROB < options > ;\\n  PERFORMANCE < performance-options > ; \\n\\nThe OPTLP procedure provides three methods for solving linear programs (LPs). \\n\\nThe following LP solvers are available in the OPTLP procedure: \\n\\n  o primal simplex solver \\n  o dual simplex solver \\n  o interior point solver (experimental) \\n\\nThe simplex solvers implement the two-phase simplex method. In phase I, the solver tries to \\nfind a feasible solution. If no feasible solution is found, the LP is infeasible; otherwise, \\nthe solver enters phase II to solve the original LP. The interior point solver implements a \\nprimal-dual predictor-corrector interior point algorithm.\"}},{\"Name\":\"GTESTIT\",\"Type\":\"SAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC GTESTIT <PICTURE=1 | 2 | 3>\\n  <GOUT=<libref.>output-catalog>; \\n  \\nThe GTESTIT procedure is a diagnostic tool for testing the installation of SAS/GRAPH \\nsoftware and the configuration of your device. Use the GTESTIT procedure when you want to:\\n\\n  o test a new device\\n  o test the settings of a device driver that you are developing\\n  o identify the colors and some of the SAS/GRAPH lines and fills for your device\\n  o review some of your current settings of device parameters and graphics options\\n  o test changes in settings of device parameters and graphics options. \\n  \\nThe GTESTIT procedure produces three pictures that help you determine the \\nconfiguration of your graphics device and graphics options and parameters.\"}},{\"Name\":\"OPTMODEL\",\"Type\":\"SAS_PROCEDURE\",\"Attributes\":\"InteractivePROC\",\"Help\":{\"#cdata\":\"Syntax: PROC PROC OPTMODEL options ; \\n\\n    Declaration Statements...\\n    Programming Statements...\\n    parameter = expression ; (Assignment) \\n    ...\\n\\nThe OPTMODEL procedure comprises the powerful OPTMODEL modeling language and state-of-the-art \\nsolvers for several classes of mathematical programming problems:\\n\\n    Linear Programming (LP)\\n    Mixed Integer Linear Programming (MILP)\\n    Quadratic Programming (QP) (experimental) \\n    Nonlinear Programming, Unconstrained (NLPU)\\n    General Nonlinear Programming (NLPC) \\n    General Nonlinear Programming (SQP) \\n    General Nonlinear Programming (IPNLP)\"}},{\"Name\":\"CPM\",\"Type\":\"SAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC CPM options ; \\n    ACTIVITY variable ; \\n    ACTUAL / actual options ; \\n    ALIGNDATE variable ; \\n    ALIGNTYPE variable ; \\n    BASELINE / baseline options ; \\n    CALID variable ; \\n    DURATION / duration options ; \\n    HEADNODE variable ; \\n    HOLIDAY variable / holiday options ; \\n    ID variables ; \\n    PROJECT variable / project options ; \\n    RESOURCE variables / resource options ; \\n    SUCCESSOR variables / lag options ; \\n    TAILNODE variable ; \\n\\nThe CPM procedure can be used for planning, controlling, and monitoring a project. A typical \\nproject consists of several activities that may have precedence and time constraints. Some of \\nthese activities may already be in progress; some of them may follow different work schedules. \\nAll of the activities may compete for scarce resources. PROC CPM enables you to schedule activities \\nsubject to all of these constraints.\"}},{\"Name\":\"PM\",\"Type\":\"SAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC PM options ;  \\n    ACTIVITY variable ; \\n    ACTUAL / actual options ; \\n    ALIGNDATE variable ; \\n    ALIGNTYPE variable ; \\n    BASELINE / baseline options ; \\n    CALID variable ; \\n    DURATION / duration options ; \\n    HOLIDAY variable / holiday options ; \\n    ID variables ; \\n    PROJECT variable / project options ; \\n    RESOURCE variables / resource options ; \\n    SUCCESSOR variables / lag options ; \\n\\nThe PM procedure is an interactive procedure that can be used for planning, controlling, \\nand monitoring a project. The syntax and the scheduling features of PROC PM are virtually \\nthe same as those of the CPM procedure. However, because the PM procedure is interactive, \\nthere are a few extra options that are available and a few other options that have a default \\nbehavior that is different from the CPM procedure.\"}},{\"Name\":\"DTREE\",\"Type\":\"SAS_PROCEDURE\",\"Attributes\":\"InteractivePROC\",\"Help\":{\"#cdata\":\"Syntax: PROC DTREE options ; \\n    EVALUATE / options ; \\n    MODIFY specifications ; \\n    MOVE specifications ; \\n    QUIT ; \\n    RECALL ; \\n    RESET options ; \\n    SAVE ; \\n    SUMMARY / options ; \\n    TREEPLOT / options ; \\n    VARIABLES / options ; \\n    VPC specifications ; \\n    VPI specifications ; \\n\\nThe DTREE procedure in SAS/OR software is an interactive procedure for decision analysis. \\nThe procedure interprets a decision problem represented in SAS data sets, finds the optimal \\ndecisions, and plots on a line printer or a graphics device the decision tree showing the \\noptimal decisions.\"}},{\"Name\":\"GANTT\",\"Type\":\"SAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC GANTT options ; \\n    BY variables ; \\n    CHART specifications / options ; \\n    ID variables ; \\n\\nThe GANTT procedure produces a Gantt chart that is a graphical scheduling tool for the \\nplanning and control of a project. In its most basic form, a Gantt chart is a bar chart \\nthat plots the tasks of a project versus time. PROC GANTT displays a Gantt chart corresponding \\nto a project schedule such as that produced by the CPM procedure or one that is input directly \\nto the procedure, and it offers several options and statements for tailoring the chart to your \\nneeds. \\n\\nUsing PROC GANTT, you can plot the predicted early and late schedules and identify critical, \\nsupercritical, and slack activities. In addition, you can visually monitor a project in progress \\nwith the actual schedule and compare the actual schedule against a target baseline schedule. You \\ncan also graphically view the effects of scheduling a project subject to resource limitations. \\nAny combination of these schedules can be viewed simultaneously (provided the relevant data exist) \\ntogether with any user-specified variables of interest, such as project deadlines and other important \\ndates. PROC GANTT enables you to display the early, late, and actual schedules in a single bar to \\nproduce a more meaningful schedule for tracking an activity in progress.\"}},{\"Name\":\"OPTMILP\",\"Type\":\"SAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC OPTMILP < options > ;\\n    DECOMP < options > ;\\n    DECOMPMASTER < options > ;\\n    DECOMPMASTERIP < options > ;\\n    DECOMPSUBPROB < options > ;\\n    PERFORMANCE < performance-options > ;\\n    TUNER < tuner-options > ; \\n\\nThe OPTMILP procedure is a solver for general mixed integer linear programs (MILPs). \\n\\nThe OPTMILP procedure implements an LP-based branch-and-bound algorithm. This divide-and-conquer \\napproach attempts to solve the original problem by solving linear programming relaxations of a \\nsequence of smaller subproblems. The OPTMILP procedure also implements advanced techniques such \\nas presolving, generating cutting planes, and applying primal heuristics to improve the efficiency \\nof the overall algorithm.\"}},{\"Name\":\"NETDRAW\",\"Type\":\"SAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC NETDRAW options ; \\n    ACTNET / options ;\\n\\nThe NETDRAW procedure draws a network diagram of the activities in a project. Boxes (or nodes) are \\nused to represent the activities, and lines (or arcs) are used to show the precedence relationships \\namong the activities.\"}},{\"Name\":\"NETFLOW\",\"Type\":\"SAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC NETFLOW options ; \\n    CAPACITY variable ; \\n    COEF variables ; \\n    COLUMN variable ; \\n    CONOPT; \\n    COST variable ; \\n    DEMAND variable ; \\n    HEADNODE variable ; \\n    ID variables ; \\n    LO variable ; \\n    NAME variable ; \\n    NODE variable ; \\n    PIVOT; \\n    PRINT options ; \\n    QUIT; \\n    RESET options ; \\n    RHS variables ; \\n    ROW variables ; \\n    RUN; \\n    SAVE options ; \\n    SHOW options ; \\n    SUPDEM variable ; \\n    SUPPLY variable ; \\n    TAILNODE variable ; \\n    TYPE variable ; \\n    VAR variables ; \\n\\nConstrained network models can be used to describe a wide variety of real-world applications ranging\\nfrom production, inventory, and distribution problems to financial applications. These problems can\\nbe solved with the NETFLOW procedure.\"}},{\"Name\":\"ARIMA\",\"Type\":\"SAS_PROCEDURE\",\"Attributes\":\"InteractivePROC\",\"Help\":{\"#cdata\":\"Syntax: PROC ARIMA options ; \\n    BY variables ; \\n    IDENTIFY VAR=variable options ; \\n    ESTIMATE options ; \\n    OUTLIER options ; \\n    FORECAST options ; \\n\\nThe ARIMA procedure analyzes and forecasts equally spaced univariate time series data, transfer \\nfunction data, and intervention data by using the autoregressive integrated moving-average (ARIMA) \\nor autoregressive moving-average (ARMA) model. An ARIMA model predicts a value in a response time \\nseries as a linear combination of its own past values, past errors (also called shocks or innovations), \\nand current and past values of other time series.\"}},{\"Name\":\"AUTOREG\",\"Type\":\"SAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC AUTOREG options ; \\n    BY variables ; \\n    CLASS variables ; \\n    MODEL dependent = regressors / options ; \\n    HETERO variables / options ; \\n    NLOPTIONS options ; \\n    RESTRICT equation , ..., equation ; \\n    TEST equation , ..., equation / option ; \\n    OUTPUT OUT = SAS data set options ; \\n\\nThe AUTOREG procedure estimates and forecasts linear regression models for time series \\ndata when the errors are autocorrelated or heteroscedastic. The autoregressive error model \\nis used to correct for autocorrelation, and the generalized autoregressive conditional \\nheteroscedasticity (GARCH) model and its variants are used to model and correct for \\nheteroscedasticity.\"}},{\"Name\":\"COMPUTAB\",\"Type\":\"SAS_PROCEDURE\",\"#text\":\"z\\n    \",\"Help\":{\"#cdata\":\"Syntax: PROC COMPUTAB options ; \\n    BY variables ; \\n    COLUMNS names / options ; \\n    ROWS names / options ; \\n    CELL names / FORMAT= format ; \\n    INIT anchor-name locator-name values locator-name values ; \\n    programming statements ; \\n    SUMBY variables ; \\n\\nThe COMPUTAB (computing and tabular reporting) procedure produces tabular reports generated \\nusing a programmable data table. \\n\\nThe COMPUTAB procedure is especially useful when you need both the power of a programmable \\nspreadsheet and a report generation system, but you want to set up a program to run in a batch \\nmode and generate routine reports.\"}},{\"Name\":\"COUNTREG\",\"Type\":\"SAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC COUNTREG <options>; \\n    BAYES <options>; \\n    BOUNDS bound1 < , bound2 \\u2026>; \\n    BY variables; \\n    CLASS variable <options> \\u2026<variable <options>> </global-options>; \\n    DISPMODEL dependent-variable <dispersion-related-regressors></option>; \\n    FREQ variable; \\n    INIT initvalue1 <, initvalue2 \\u2026>; \\n    MODEL dependent-variable <dispersion-related-regressors></ option>; \\n    NLOPTIONS <options>; \\n    OUTPUT <OUT=SAS-data-set><output-options>; \\n    PERFORMANCE <performance-options>; \\n    PRIOR _REGRESSORS |parameter-list ~ distribution ; \\n    RESTRICT restriction1 <, restriction2 \\u2026>; \\n    TEST equation1 <, equation2\\u2026> / test-options; \\n    SCORE <OUT=SAS-data-set> <output-options>; \\n    SHOW options; \\n    STORE <OUT=>item-store-name; \\n    WEIGHT variable </options>; \\n    ZEROMODEL dependent-variable <zero-inflated-regressors> </options>; \\n    SPATIALEFFECTS <model-spatial-effect-regressors> </options>; \\n    SPATIALDISPEFFECTS <dispersion-spatial-effect-regressors> </options>; \\n    SPATIALZEROEFFECTS <zero-inflation-spatial-effect-regressors> </option>; \\nSPATIALID variable;  \\n\\nThe COUNTREG (count regression) procedure analyzes regression models in which the dependent \\nvariable takes nonnegative integer or count values. The dependent variable is usually an event \\ncount, which refers to the number of times an event occurs.\"}},{\"Name\":\"DATASOURCE\",\"Type\":\"SAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC DATASOURCE options ; \\n    KEEP variable-list ; \\n    DROP variable-list ; \\n    KEEPEVENT event-list ; \\n    DROPEVENT event-list ; \\n    WHERE where-expression ; \\n    RANGE FROM from TO to ; \\n    ATTRIBUTE variable-list attribute-list ... ; \\n    FORMAT variable-list format ... ; \\n    LABEL variable=\\\"label\\\" ... ; \\n    LENGTH variable-list length ... ; \\n    RENAME old-name=new-name ... ; \\n\\nThe DATASOURCE procedure extracts time series and event data from many different kinds of data files\\ndistributed by various data vendors and stores them in a SAS data set. Once stored in a SAS data set,\\nthe time series and event variables can be processed by other SAS procedures. \\n\\nThe DATASOURCE procedure has statements and options to extract only a subset of time series data from \\nan input data file. It gives you control over the frequency of data to be extracted, time series variables \\nto be selected, cross sections to be included, and time range of data to be output.\"}},{\"Name\":\"ENTROPY\",\"Type\":\"SAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC ENTROPY options ; \\n    BOUNDS bound1 < , bound2, ...> ; \\n    BY variable < variable ...> ; \\n    ID variable < variable ...> ; \\n    MODEL variable = variable <variable> ...< / options > ; \\n    PRIORS variable < support points > variable < value > ... ; \\n    RESTRICT restriction1 < , restriction2 ...> ; \\n    TEST < \\\"name\\\" > test1 < , test2 ...> </ options > ; \\n    WEIGHT variable ; \\n\\nThe ENTROPY procedure implements a parametric method of linear estimation based \\non generalized maximum entropy. The ENTROPY procedure is suitable when there are \\noutliers in the data and robustness is required, when the model is ill-posed or \\nunder-determined for the observed data, or for regressions that involve small data \\nsets.\"}},{\"Name\":\"ESM\",\"Type\":\"SAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC ESM options ; \\n    BY variables ; \\n    ID variable INTERVAL= interval options ; \\n    FORECAST variable-list / options ; \\n\\nThe ESM procedure generates forecasts by using exponential smoothing models with \\noptimized smoothing weights for many time series or transactional data. \\n\\nFor typical time series, you can use the following smoothing models: \\n  o simple \\n  o double \\n  o linear \\n  o damped trend \\n  o seasonal \\n  o Winters method (additive and multiplicative)\"}},{\"Name\":\"EXPAND\",\"Type\":\"SAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC EXPAND options ; \\n    BY variables ; \\n    CONVERT variables / options ; \\n    ID variable ; \\n\\nThe EXPAND procedure converts time series from one sampling interval or frequency to another \\nand interpolates missing values in time series. A wide array of data transformations is also \\nsupported. Using PROC EXPAND, you can collapse time series data from higher frequency intervals \\nto lower frequency intervals, or expand data from lower frequency intervals to higher frequency \\nintervals. For example, quarterly values can be aggregated to produce an annual series, or \\nquarterly estimates can be interpolated from an annual series.\"}},{\"Name\":\"FORECAST\",\"Type\":\"SAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC FORECAST options ; \\n    BY variables ; \\n    ID variables ; \\n    VAR variables ; \\n\\nThe FORECAST procedure provides a quick and automatic way to generate forecasts for many \\ntime series in one step. The procedure can forecast hundreds of series at a time, with the \\nseries organized into separate variables or across BY groups. PROC FORECAST uses extrapolative \\nforecasting methods where the forecasts for a series are functions only of time and past values \\nof the series, not of other variables.\"}},{\"Name\":\"LOAN\",\"Type\":\"SAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC LOAN options ; \\n    FIXED options ; \\n    BALLOON options ; \\n    ARM options ; \\n    BUYDOWN options ; \\n    COMPARE options ; \\n\\nThe LOAN procedure analyzes and compares fixed rate, adjustable rate, buydown, and balloon\\npayment loans. The LOAN procedure computes the loan parameters and outputs the loan summary\\ninformation for each loan. \\n\\nMultiple loan specifications can be processed and compared in terms of economic criteria such \\nas after-tax or before-tax present worth of cost and true interest rate, breakeven of periodic \\npayment and of interest paid, and outstanding balance at different periods in time. PROC LOAN \\nselects the best alternative in terms of the specified economic criterion for each loan \\ncomparison period.\"}},{\"Name\":\"MDC\",\"Type\":\"SAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC MDC options ; \\n    MDCDATA options ; \\n    BOUNDS bound1 < , bound2 ...> ; \\n    BY variables ; \\n    CLASS options ;\\n    ID variable ; \\n    MODEL dependent variables = regressors / options ; \\n    NEST LEVEL(value) = ((values)@(value),..., (values)@(value)) ; \\n    NLOPTIONS options ; \\n    OUTPUT options ; \\n    RESTRICT restriction1 < , restriction2 ...> ; \\n    TEST options ; \\n    UTILITY U() = variables, ..., U() = variables ; \\n\\nThe MDC (multinomial discrete choice) procedure analyzes models in which the choice set consists \\nof multiple alternatives. This procedure supports conditional logit, mixed logit, heteroscedastic \\nextreme value, nested logit, and multinomial probit models. The MDC procedure uses the maximum \\nlikelihood (ML) or simulated maximum likelihood method for model estimation.  The term multinomial \\nlogit is often used in the econometrics literature to refer to the conditional logit model of \\nMcFadden (1974). Here, the term conditional logit refers to McFadden's conditional logit model, \\nand the term multinomial logit refers to a model that differs slightly.\"}},{\"Name\":\"OLAP\",\"Type\":\"SAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC OLAP <option(s)>;  \\n    METASVR OLAP_SCHEMA='schema-name' <option(s)>;  \\n    DIMENSION dim-name HIERARCHIES=(hier-nam ... hier-nameN) <option(s)>;  \\n    LEVEL level-name <option(s)>;  \\n    PROPERTY prop-name LEVEL=level-name <option(s)>;  \\n    HIERARCHY hier-name LEVELS=(level-name1 <level-name2 ...level-nameN>) <option(s)>;  \\n    MEASURE measure-name STAT=statname <option(s)>;  \\n    AGGREGATION level-name <level-name2 level-name3 ...level-nameN> / <option(s)>;  \\n    DROP_AGGREGATION level-name1 < level-name2 ...level-nameN> / NAME=aggregation-name ;  \\n    DEFINE MEMBER | SET'member-or-set-name' AS 'mdx-expression' ;  \\n    UNDEFINE MEMBER | SET 'member-or-set-name' ;  \\n    USER_DEFINED_TRANSLATIONS locale <locale2 ...localeN> ;  \\n    REORGANIZE_LEVEL | REORG_LEVEL ; \\n\\nThe OLAP procedure is one of the SAS tools that you can use to create, update,\\nand delete cubes. This includes adding and deleting cube aggregations.\"}},{\"Name\":\"PANEL\",\"Type\":\"SAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC PANEL options ; \\n    BY variables ; \\n    CLASS options ; \\n    FLATDATA options ; \\n    ID cross-section-id time-series-id ; \\n    INSTRUMENTS options ; \\n    LAG options ; \\n    MODEL dependent = regressors < / options > ; \\n    RESTRICT equation1 <,equation2...> ; \\n    TEST equation1 <,equation2...> ; \\n\\nThe PANEL procedure analyzes a class of linear econometric models that commonly arise when \\ntime series and cross-sectional data are combined. This type of pooled data on time series \\ncross-sectional bases is often referred to as panel data. Typical examples of panel data \\ninclude observations in time on households, countries, firms, trade, and so on. For example, \\nin the case of survey data on household income, the panel is created by repeatedly surveying \\nthe same households in different time periods (years).\"}},{\"Name\":\"PDLREG\",\"Type\":\"SAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC PDLREG option ; \\n    BY variables ; \\n    MODEL dependents = effects / options ; \\n    OUTPUT OUT= SAS-data-set keyword = variables ; \\n    RESTRICT restrictions ; \\n\\nThe PDLREG procedure estimates regression models for time series data in which the effects \\nof some of the regressor variables are distributed across time. The distributed lag model \\nassumes that the effect of an input variable X on an output Y is distributed over time. If \\nyou change the value of X at time t, Y will experience some immediate effect at time t, and \\nit will also experience a delayed effect at times t+1, t+2, and so on up to time t+p for some \\nlimit p.\"}},{\"Name\":\"QLIM\",\"Type\":\"SAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC QLIM options ; \\n    BOUNDS bound1 < , bound2 ...> ; \\n    BY variables ; \\n    CLASS variables ; \\n    ENDOGENOUS variables ~ options ; \\n    HETERO dependent variables ~ exogenous variables / options ; \\n    INIT initvalue1 < , initvalue2 ...> ; \\n    MODEL dependent variables = regressors / options ; \\n    NLOPTIONS options ; \\n    OUTPUT options ; \\n    RESTRICT restriction1 < , restriction2 ...> ; \\n    TEST options ; \\n    WEIGHT variable ; \\n\\nThe QLIM (qualitative and limited dependent variable model) procedure analyzes univariate \\nand multivariate limited dependent variable models where dependent variables take discrete \\nvalues or dependent variables are observed only in a limited range of values. This procedure \\nincludes logit, probit, tobit, selection, and multivariate models. The multivariate model can \\ncontain discrete choice and limited endogenous variables as well as continuous endogenous \\nvariables.\"}},{\"Name\":\"SIMILARITY\",\"Type\":\"SAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC SIMILARITY options ; \\n    BY variables ; \\n    ID variable INTERVAL= interval options ; \\n    FCMPOPT options ; \\n    INPUT variable-list / options ; \\n    TARGET variable-list / options ; \\n    \\nThe SIMILARITY procedure computes similarity measures associated with time-stamped data, time series, \\nand/or other sequentially ordered numeric data. The procedure computes similarity measures for time-\\nstamped transactional data (transactions) with respect to time by accumulating the data into a time\\nseries format (time series). The procedure computes similarity measures for sequentially ordered numeric\\ndata (sequences) by respecting the ordering of the data. \\n\\nGiven two ordered numeric sequences (input and target), a similarity measure is a metric that measures \\nthe distance between the input and target sequences while taking into account the ordering of the data. \\nThe SIMILARITY procedure computes similarity measures between an input sequence and a target sequence, \\nas well as similarity measures that \\\"slide\\\" the target sequence with respect to the input sequence. The \\n\\\"slides\\\" can be by observation index (sliding-sequence similarity measures) or by seasonal index (seasonal-\\nsliding-sequence similarity measures).\"}},{\"Name\":\"SIMLIN\",\"Type\":\"SAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC SIMLIN options ; \\n    BY variables ; \\n    ENDOGENOUS variables ; \\n    EXOGENOUS variables ; \\n    ID variables ; \\n    LAGGED lag-var endogenous-var number ellipsis ; \\n    OUTPUT OUT=SAS-data-set options ;\\n\\nThe SIMLIN procedure reads the coefficients for a set of linear structural equations, which \\nare usually produced by the SYSLIN procedure. PROC SIMLIN then computes the reduced form and, \\nif input data are given, uses the reduced form equations to generate predicted values. PROC \\nSIMLIN is especially useful when dealing with sets of structural difference equations. The \\nSIMLIN procedure can perform simulation or forecasting of the endogenous variables.\"}},{\"Name\":\"SPECTRA\",\"Type\":\"SAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC SPECTRA options ; \\n    BY variables ; \\n    VAR variables ; \\n    WEIGHTS <weights> <kernel> ; \\n    \\nThe SPECTRA procedure performs spectral and cross-spectral analysis of time series. You can \\nuse spectral analysis techniques to look for periodicities or cyclical patterns in data. \\n\\nThe SPECTRA procedure produces estimates of the spectral and cross-spectral densities of \\na multivariate time series. Estimates of the spectral and cross-spectral densities of a \\nmultivariate time series are produced using a finite Fourier transform to obtain periodograms \\nand cross-periodograms. The periodogram ordinates are smoothed by a moving average to produce \\nestimated spectral and cross-spectral densities. PROC SPECTRA can also test whether or not the \\ndata are white noise.\"}},{\"Name\":\"STATESPACE\",\"Type\":\"SAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC STATESPACE options ; \\n    BY variable ... ; \\n    FORM variable value ... ; \\n    ID variable ; \\n    INITIAL F (row,column)=value ...G(row,column)=value ... ; \\n    RESTRICT F (row,column)=value ...G (row,column)=value ... ; \\n    VAR variable (difference, difference, ...) ... ; \\n\\nThe STATESPACE procedure uses the state space model to analyze and forecast multivariate \\ntime series. The STATESPACE procedure is appropriate for jointly forecasting several related \\ntime series that have dynamic interactions. By taking into account the autocorrelations among \\nall the variables in a set, the STATESPACE procedure can give better forecasts than methods \\nthat model each series separately.\"}},{\"Name\":\"SYSLIN\",\"Type\":\"SAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC SYSLIN options ; \\n    BY variables ; \\n    ENDOGENOUS variables ; \\n    IDENTITY identities ; \\n    INSTRUMENTS variables ; \\n    MODEL response = regressors / options ; \\n    OUTPUT PREDICTED= variable RESIDUAL= variable ; \\n    RESTRICT restrictions ; \\n    SRESTRICT restrictions ; \\n    STEST equations ; \\n    TEST equations ; \\n    VAR variables ; \\n    WEIGHT variable ;\\n\\nThe SYSLIN procedure estimates parameters in an interdependent system of linear regression equations. \\n\\nOrdinary least squares (OLS) estimates are biased and inconsistent when current period endogenous variables\\nappear as regressors in other equations in the system. The errors of a set of related regression equations\\nare often correlated, and the efficiency of the estimates can be improved by taking these correlations into\\naccount. The SYSLIN procedure provides several techniques that produce consistent and asymptotically efficient\\nestimates for systems of regression equations.\"}},{\"Name\":\"TIMESERIES\",\"Type\":\"SAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC TIMESERIES options ; \\n    BY variables ; \\n    CORR statistics-list / options ; \\n    CROSSCORR statistics-list / options ; \\n    CROSSVAR variable-list / options ; \\n    DECOMP component-list / options ; \\n    ID variable INTERVAL= interval-option ; \\n    SEASON statistics-list / options ; \\n    SPECTRA statistics-list / options ; \\n    SSA / options \\n    TREND statistics-list / options ; \\n    VAR variable-list / options ; \\n\\nThe TIMESERIES procedure analyzes time-stamped transactional data with respect to time and \\naccumulates the data into a time series format. The procedure can perform trend and seasonal \\nanalysis on the transactions. After the transactional data are accumulated, time domain and \\nfrequency domain analysis can be performed on the accumulated time series.\"}},{\"Name\":\"TIMEID\",\"Type\":\"SAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC TIMEID options ; \\n    BY variables ; \\n    ID variable <options> ; \\n\\nThe TIMEID procedure evaluates a variable in an input data set for its suitability \\nas a time ID variable in SAS procedures and solutions that are used for time series \\nanalysis. PROC TIMEID assesses how well a time interval specification fits SAS date or  \\ndatetime values, or observation numbers used to index a time series. The time interval \\nused in this analysis can be either specified explicitly as input to PROC TIMEID or \\ninferred by the procedure based on values of the time ID variable. The TIMEID procedure \\nproduces diagnostic information in the form of data sets and ODS tabular and plotted \\noutput. These diagnostic results summarize characteristics of the time ID variable that \\ncan help determine its use as an index in other time series procedures and solutions.\"}},{\"Name\":\"TSCSREG\",\"Type\":\"SAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC TSCSREG options ; \\n    BY variables ; \\n    ID cross-section-id-variable time-series-id-variable ; \\n    MODEL dependent = regressor-variables / options ; \\n    TEST equation1 <,equation2...> ; \\n\\nThe TSCSREG (time series cross section regression) procedure analyzes a class \\nof linear econometric models that commonly arise when time series and cross-\\nsectional data are combined. The TSCSREG procedure deals with panel data sets \\nthat consist of time series observations on each of several cross-sectional units.\"}},{\"Name\":\"UCM\",\"Type\":\"SAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC UCM <options> ; \\n    AUTOREG <options> ; \\n    BLOCKSEASON options ; \\n    BY variables ; \\n    CYCLE <options> ; \\n    DEPLAG options ; \\n    ESTIMATE <options> ; \\n    FORECAST <options> ; \\n    ID variable options ; \\n    IRREGULAR <options> ; \\n    LEVEL <options> ; \\n    MODEL dependent variable <= regressors> ; \\n    NLOPTIONS options ; \\n    OUTLIER options ; \\n    RANDOMREG regressors </ options> ; \\n    SEASON options ; \\n    SLOPE <options> ; \\n    SPLINEREG regressor <options> ; \\n    SPLINESEASON options ; \\n\\nThe UCM procedure analyzes and forecasts equally spaced univariate time series data by using \\nan unobserved components model (UCM). The UCMs are also called structural models in the time \\nseries literature. A UCM decomposes the response series into components such as trend, seasonals, \\ncycles, and the regression effects due to predictor series. The components in the model are \\nsupposed to capture the salient features of the series that are useful in explaining and \\npredicting its behavior. Harvey (1989) is a good reference for time series modeling that uses \\nthe UCMs. Harvey calls the components in a UCM the \\\"stylized facts\\\" about the series under \\nconsideration. Traditionally, the ARIMA models and, to some limited extent, the exponential \\nsmoothing models have been the main tools in the analysis of this type of time series data. \\nIt is fair to say that the UCMs capture the versatility of the ARIMA models while possessing \\nthe interpretability of the smoothing models.\"}},{\"Name\":\"VARMAX\",\"Type\":\"SAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC VARMAX options ; \\n    BY variables ; \\n    CAUSAL group1=(variables) group2=(variables) ; \\n    COINTEG rank=number <options> ; \\n    ID variable interval=value <option> ; \\n    MODEL dependent variables <=regressors> <, dependent variables < =regressors> ...> </ options> ; \\n    GARCH options ; \\n    NLOPTIONS options ; \\n    OUTPUT <options> ; \\n    RESTRICT restrictions ; \\n    TEST restrictions ; \\n\\nGiven a multivariate time series, the VARMAX procedure estimates the model parameters \\nand generates forecasts associated with vector autoregressive moving-average processes \\nwith exogenous regressors (VARMAX) models. Often, economic or financial variables are \\nnot only contemporaneously correlated to each other, they are also correlated to each \\nother's past values. The VARMAX procedure can be used to model these types of time \\nrelationships. In many economic and financial applications, the variables of interest \\n(dependent, response, or endogenous variables) are influenced by variables external to \\nthe system under consideration (independent, input, predictor, regressor, or exogenous \\nvariables). The VARMAX procedure enables you to model the dynamic relationship both \\nbetween the dependent variables and also between the dependent and independent variables.\"}},{\"Name\":\"X11\",\"Type\":\"SAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC X11 options ; \\n    ARIMA options ; \\n    BY variables ; \\n    ID variables ; \\n    MACURVES option ; \\n    MONTHLY options ; \\n    OUTPUT OUT=dataset options ; \\n    PDWEIGHTS option ; \\n    QUARTERLY options ; \\n    SSPAN options ; \\n    TABLES tablenames ; \\n    VAR variables ;\\n\\nThe X11 procedure, an adaptation of the U.S. Bureau of the Census X-11 Seasonal Adjustment \\nprogram, seasonally adjusts monthly or quarterly time series. The procedure makes additive \\nor multiplicative adjustments and creates an output data set containing the adjusted time \\nseries and intermediate calculations.\"}},{\"Name\":\"X12\",\"Type\":\"SAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC X12 options ; \\n    VAR variables ; \\n    BY variables ; \\n    ID variables ; \\n    EVENT variables ; \\n    USERDEFINED variables ; \\n    TRANSFORM options ; \\n    ADJUST options ; \\n    IDENTIFY options ; \\n    AUTOMDL options ; \\n    OUTLIER options ; \\n    REGRESSION options ; \\n    INPUT variables ; \\n    ARIMA options ; \\n    ESTIMATE options ; \\n    X11 options ; \\n    FORECAST options ; \\n    OUTPUT options ; \\n    TABLES options ;\\n\\nThe X12 procedure, an adaptation of the U.S. Bureau of the Census X-12-ARIMA Seasonal Adjustment \\nprogram (U.S. Bureau of the Census; 2001c), seasonally adjusts monthly or quarterly time series. \\nThe procedure makes additive or multiplicative adjustments and creates an output data set that \\ncontains the adjusted time series and intermediate calculations.\"}},{\"Name\":\"TRANSREG\",\"Type\":\"SAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC TRANSREG <DATA=SAS-data-set>\\n    <PLOTS=(plot-requests)> <OUTTEST=SAS-data-set> <a-options> <o-options> ; \\n    MODEL <transform(dependents </ t-options>)>\\n    <transform(dependents </ t-options>) ...=>\\n    transform(independents </ t-options>)\\n    <transform(independents </ t-options>) ...> </ a-options> ; \\n    OUTPUT <OUT=SAS-data-set> <o-options> ; \\n    ID variables ; \\n    FREQ variable ; \\n    WEIGHT variable ; \\n    BY variables ; \\n\\nThe TRANSREG (transformation regression) procedure fits linear models, optionally with smooth, \\nspline, Box-Cox, and other nonlinear transformations of the variables. You can use PROC TRANSREG \\nto fit a curve through a scatter plot or fit multiple curves, one for each level of a classification \\nvariable. You can also constrain the functions to be parallel or monotone or have the same intercept. \\nPROC TRANSREG can be used to code experimental designs and classification variables prior to their use \\nin other analyses.\"}},{\"Name\":\"GKEYMAP\",\"Type\":\"SAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax:  PROC GKEYMAP NAME=map-name \\n  data-set-argument \\n  <option(s)>; \\n  \\nThe GKEYMAP procedure creates key maps and device maps that compensate for differences \\nbetween the way that characters are encoded internally bySAS/GRAPH software and the way \\nthat they are encoded by different operating environments and output devices. \\n\\nIn addition, the GKEYMAP procedure can create SAS data sets from existing key maps and \\ndevice maps, either Institute-supplied or user-generated. This capability is useful when \\nyou want to make minor alterations in a large key map or device map and you do not want \\nto or cannot re-create the original data set with a DATA step.\"}},{\"Name\":\"TRANS\",\"Type\":\"SAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC TRANS options ; \\n  \\nTransportation networks are a special type of network, called bipartite networks, that \\nhave only supply and demand nodes and arcs directed from supply nodes to demand nodes. \\nFor these networks, data can be given most efficiently in a rectangular or matrix form. \\nThe TRANS procedure takes cost, capacity, and lower bound data in this form. The observations \\nin these data sets correspond to supply nodes, and the variables correspond to demand nodes. \\n\\nThe TRANS procedure puts the solution in a single output data set. As with the other \\noptimization procedures, the TRANS procedure defines a macro variable, named _ORTRANS, \\nthat has a character string that describes the solution status.\"}},{\"Name\":\"HPDECIDE\",\"Type\":\"SAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC HPDECIDE <option(s)> ; \\n    ID variable(s) ; \\n    FREQ variable ; \\n    PERFORMANCE performance-options ; \\n    POSTERIORS variable-list ; \\n    PREDICTED variable ; \\n    TARGET variable ; \\n    DECISION DECDATA=<libref.>SAS-data-set <option(s)> ; \\n    CODE <options> ;  \\n    \\nThe HPDECIDE procedure creates optimal decisions that are based on a decision matrix that you specify, on\\nprior probabilities, and on output from a modeling procedure. This output can be either posterior probabilities\\nfor a categorical target variable or predicted values for an interval target variable. The HPDECIDE procedure\\ncan also adjust the posterior probabilities for changes in the prior probabilities.\"}},{\"Name\":\"HPIMPUTE\",\"Type\":\"SAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC HPIMPUTE <option(s)> ; \\n    INPUT variable(s) <option(s)> ; \\n    IMPUTE variable(s) <option(s)> ; \\n    PERFORMANCE performance-options ; \\n    ID variable(s) ; \\n    FREQ variable ; \\n    CODE <option(s)> ; \\n    \\nThe HPIMPUTE procedure executes high-performance numeric variable imputation, which is a common \\nstep in the data preparation stage. You can specify multiple INPUT and IMPUTE statements, as is \\nshown in the example. Any class variables that are referenced by the IMPUTE statement are ignored \\nsince the HPIMPUTE procedure only takes numeric variables. \\n\\nThe HPIMPUTE procedure can replace numeric missing values with a given value. It also can replaces \\nnumeric missing values with the MEAN, the PSEUDO-MEDIAN, or a RANDOM value between the minimum value \\nand the maximum value of the non-missing values. \\n\\nWhen the MEAN, the PSEUDO-MEDIAN or the RANDOM value is being calculated, the HPIMPUTE procedure \\nignores any observation that has a FREQ variable whose value is less than or equal to 0.\"}},{\"Name\":\"HP4SCORE\",\"Type\":\"SAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC HP4SCORE data-options ; \\n    ID variables ; \\n    SCORE score-options ; \\n    PERFORMANCE performance-options ;  \\n    \\nThe HP4SCORE procedure is a high-performance procedure that scores a data set with a forest predictive\\nmodel that was previously trained by the HPFOREST procedure.\\n\\nThe forest predictive model is an ensemble of hundreds of decision trees that are used to predict a target. The\\ntarget can have either an interval or a nominal measurement level. Each decision tree consists of a sequence\\nof rules that are applied to the observation to arrive at the prediction. The final prediction is either an average\\nof the individual predictions for a target that has an interval measurement level or is derived from the average\\nof the individual posterior probabilities for a target that has a nominal measurement level.\"}},{\"Name\":\"HPBIN\",\"Type\":\"SAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC HPBIN DATA=sas-data-set < options > ;\\n    CODE FILE=filename ;\\n    FREQ variable ;\\n    ID id1 id2 . . . idn ;\\n    INPUT variables < option > ;\\n    PERFORMANCE < performance-options > ;\\n    TARGET variable < option(s) > ;  \\n    \\nBinning is a common step in the data preparation stage of the model building process. One can \\nuse binning to classify missing variables, reduce the impact of outliers, or generate multiple \\neffects. The generated effects are useful and contain certain nonlinear information of the \\noriginal interval variables. \\n\\nThe HPBIN procedure conducts high-performance binning using either bucket binning, winsorized \\nbinning or pseudo-quantile binning. Like other high-performance procedures, the HPBIN procedure \\ncan read and write data in distributed form. And it can perform computation in parallel in either \\nsymmetric multiprocessing (SMP) or massively parallel processing (MPP) mode.\"}},{\"Name\":\"HPCDM\",\"Type\":\"SAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC HPCDM options ;\\n    BY variable-list ;\\n    DISTBY replication-id-variable ;\\n    SEVERITYMODEL severity-model-list ;\\n    EXTERNALCOUNTS COUNT=frequency-variable < ID=replication-id-variable > ;\\n    OUTPUT OUT=SAS-data-set < variable-name-options > < / out-option > ;\\n    OUTSUM OUT=SAS-data-set statistic-keyword< =variable-name > < . . . statistickeyword<\\n      =variable-name > > < outsum-options > ;\\n    PERFORMANCE options ;\\n    Programming statements ;\\n    \\nIn many loss modeling applications, the loss events are analyzed by modeling the severity (magnitude) of\\nloss and the frequency (count) of loss separately. The primary goal of preparing these models is to estimate\\nthe aggregate loss\\u2014that is, the total loss that occurs over a period of time for which the frequency model is\\napplicable. For example, an insurance company might want to assess the expected and worst-case losses for a\\nparticular business line, such as automobile insurance, over an entire year given the models for the number of\\nlosses in a year and the severity of each loss. A bank might want to assess the value-at-risk (VaR), a measure\\nof the worst-case loss, for a portfolio of assets given the frequency and severity models for each asset type.\"}},{\"Name\":\"HPCORR\",\"Type\":\"SAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC HPCORR <options> ; \\n    FREQ variable ; \\n    VAR variables ; \\n    WEIGHT variable ; \\n    PERFORMANCE < performance-options > ;\\n\\nThe HPCORR procedure computes Pearson correlation coefficients and the probabilities \\nassociated with these statistics. The correlation statistics include the following: \\n\\n  o Pearson product-moment correlation \\n\\nPearson product-moment correlation is a parametric measure of a linear relationship \\nbetween two variables.\"}},{\"Name\":\"HPCOUNTREG\",\"Type\":\"SAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC HPCOUNTREG options ;\\n    BOUNDS bound1 [ , bound2 . . . ] ;\\n    FREQ freq-variable ;\\n    INIT initvalue1 [ , initvalue2 . . . ] ;\\n    MODEL dependent variable-variable = regressors / options ;\\n    OUTPUT options ;\\n    PERFORMANCE options ;\\n    RESTRICT restriction1 [, restriction2 . . . ] ;\\n    WEIGHT variable ;\\n    ZEROMODEL dependent variable ~ zero-inflated regressors / options \\n\\nThe HPCOUNTREG procedure is a high-performance procedure to fit regression models on the SAS \\nappliance in which the dependent variable takes nonnegative integer or count values. \\nWith the HPCOUNTREG procedure you can read and write data in distributed form and perform \\nanalyses in parallel in SMP or MPP mode.\"}},{\"Name\":\"HPDMDB\",\"Type\":\"SAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC HPDMDB DATA= < libref. >SAS-data-set < option(s) > ;\\n    CLASS variable (< order-option >) variable (< order-option >) ... ;\\n    FREQ variable ;\\n    PERFORMANCE performance-options ;\\n    VAR variable(s) ;\\n    WEIGHT variable ; \\n    \\nThe HPDMDB procedure is a high-performance version of the DMDB procedure, which creates summaries\\nof the input data source. PROC HPDMDB creates two output data sets: the VAROUT data set, which\\ncontains a summary of the numeric variables, and the CLASSOUT data set, which contains a summary of\\nthe classification variables.\"}},{\"Name\":\"HPFOREST\",\"Type\":\"SAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC HPFOREST <options>; \\n    FREQ variable; \\n    INPUT variables <options>; \\n    ID variables; \\n    PARTITION ROLEVAR=variable <TRAIN='value'> <VALIDATE='value'> ; \\n    PERFORMANCE performance-options; \\n    SAVE <options>; \\n    SCORE <score-options>; \\n    TARGET variable <options>; \\n    TREATMENT variable <ORDER=order>; \\n    \\nThe HPFOREST procedure is a high-performance procedure that creates a predictive model called a forest\\nthat consists of several decision trees. A predictive model defines a relationship between input variables and\\na target variable. The purpose of a predictive model is to predict a target value from inputs. The HPFOREST\\nprocedure trains the model; that is, it creates the model, using training data in which the target values are\\nknown. The model can then be applied to observations in which the target is unknown. If the predictions\\nfit the new data well, the model is said to generalize well. Good generalization is the primary goal for\\npredictive tasks. A predictive model might fit the training data well but generalize poorly.\"}},{\"Name\":\"HPLMIXED\",\"Type\":\"SAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC HPLMIXED < options > ;\\n    CLASS variables ;\\n    MODEL dependent = < fixed-effects > < / options > ;\\n    RANDOM random-effects < / options > ;\\n    REPEATED < repeated-effect >< / options > ;\\n    PARMS (value-list) ... < / options > ;\\n    PERFORMANCE < options > ; \\n\\nThe HPLMIXED procedure fits a variety of mixed linear models to data and enables you \\nto use these fitted models to make statistical inferences about the data. A mixed linear \\nmodel is a generalization of the standard linear model used in the GLM procedure, the \\ngeneralization being that the data are permitted to exhibit correlation and nonconstant \\nvariability. The mixed linear model, therefore, provides you with the flexibility of \\nmodeling not only the means of your data (as in the standard linear model) but their \\nvariances and covariances as well.\"}},{\"Name\":\"HPLOGISTIC\",\"Type\":\"SAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC HPLOGISTIC < options > ;\\n    CLASS variable < (options) >... < variable < (options) > > < / global-options > ;\\n    MODEL response< (response-options) > = < effects > < / model-options > ;\\n    MODEL events/trials< (response-options) > = < effects > < / model-options > ;\\n    OUTPUT <OUT=SAS-data-set >\\n      < keyword < =name > >...\\n      < keyword < =name > > < / options > ;\\n    PERFORMANCE performance-options ;\\n    SELECTION selection-options ;\\n    FREQ variable ;\\n    ID variables ;\\n    WEIGHT variable ;\\n\\nThe HPLOGISTIC procedure is a high-performance procedure that fits logistic regression \\nmodels for binary, binomial, and multinomial data on the SAS appliance. \\n\\nThe HPLOGISTIC procedure fits logistic regression models in the broader sense; the procedure \\npermits several link functions and can handle ordinal and nominal data with more than two \\nresponse categories (multinomial data).\"}},{\"Name\":\"HPLSO\",\"Type\":\"SAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC HPLSO options ; \\n\\n  PERFORMANCE options ;  \\n    \\nThe HPLSO procedure performs general optimization of nonlinear functions that are defined \\nby the Base SAS FCMP procedure over both continuous and integer variables. These functions \\ncan be nonsmooth, discontinuous, and possibly computationally expensive to evaluate.\"}},{\"Name\":\"HPNEURAL\",\"Type\":\"SAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC HPNEURAL <DATA=SAS-data-set > < DISTR=ALL | SPLIT > < NOPRINT > ;\\n    PERFORMANCE performance-options ;\\n    ARCHITECTURE architecture-option ;\\n    ID variables ;\\n    INPUT variables < / LEVEL=INT | LEVEL=NOM < MISSING=MAP > > ;\\n    WEIGHT variable | _INVERSE_PRIORS_ ;\\n    HIDDEN number ;\\n    TARGET variables < / LEVEL=INT | LEVEL=NOM > ;\\n    PARTITION ROLEVAR=variable( TRAIN=value | VALIDATE=value ) ;\\n    PARTITION FRACTION( TRAIN=number | VALIDATE=number ) ;\\n    TRAIN < NUMTRIES=number > < MAXITER=number >\\n      <VALID=_NONE_ > <OUTMODEL=SAS-data-set > ;\\n    SCORE OUT=SAS-data-set <MODEL=SAS-data-set > ;\\n    CODE FILE='external-file' | fileref ;\\n\\nThe HPNEURAL procedure is a high-performance procedure that trains a multilayer perceptron \\nneural network. For more information about multilayer perceptron neural networks, see Bishop \\n(1995). PROC HPNEURAL can also use the trained network to score the input data set. \\n\\nPROC HPNEURAL reads and writes data in distributed form and makes full use of multicore \\ncomputers and distributed computing environments to perform training and scoring.\"}},{\"Name\":\"HPNLIN\",\"Type\":\"SAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax:  PROC HPNLIN < options > ;\\n    BOUNDS constraint < , constraint ... > ;\\n    ESTIMATE 'label' expression < options > ;\\n    MODEL dependent-variable ~ distribution ; \\n    PARAMETERS < parameter-specification > < ,... , parameter-specification > < / options >  ;\\n    PERFORMANCE < performance-options > ;\\n    PREDICT 'label' expression keyword=names < ... keyword=names > < options > ;\\n    RESTRICT restriction1 < , restriction2 ... > ;\\n    Programming Statements ;\\n\\nThe HPNLIN procedure is a high-performance procedure that uses either nonlinear least \\nsquares or maximum likelihood to fit nonlinear regression models on the SAS appliance. \\nPROC HPNLIN enables you to specify the model with SAS programming statements, which gives \\nyou greater flexibility in modeling the relationship between the response variable and \\nindependent (regressor) variables than SAS procedures that use a more structured MODEL \\nstatement.\"}},{\"Name\":\"HPNLMOD\",\"Type\":\"SAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax:  PROC HPNLMOD < options > ;\\n    BOUNDS inequality < ,. . . ,inequality > ;\\n    BY variables ;\\n    ESTIMATE 'label' expression < options > ;\\n    MODEL model specification ;\\n    PARAMETERS < parameter-specification > < ,. . . , parameter-specification > ;\\n    PERFORMANCE < performance-options > ;\\n    PREDICT 'label' expression keyword=names < . . . keyword=names > < options > ;\\n    RESTRICT restriction1 < , restriction2 . . . > ;\\n    Programming Statements ;\\n\\nThe HPNLMOD procedure is a high-performance procedure that uses either nonlinear least squares or\\nmaximum likelihood to fit nonlinear regression models on the SAS appliance. PROC HPNLMOD enables\\nyou to specify the model with SAS programming statements, which gives you greater flexibility in modeling\\nthe relationship between the response variable and independent (regressor) variables than SAS procedures\\nthat use a more structured MODEL statement.\"}},{\"Name\":\"HPREDUCE\",\"Type\":\"SAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC HPREDUCE < options > ;\\n    CLASS variable < (options) >... < variable < (options) > > < / global-options > ;\\n    REDUCE UNSUPERVISED effects < / reduce-options > ;\\n    REDUCE SUPERVISED response ... < response > = effects < / reduce-options > ;\\n    PERFORMANCE performance-options ;\\n\\nThe HPREDUCE procedure is a high-performance procedure that performs both supervised and unsupervised\\nvariable selection on the SAS appliance. With the HPREDUCE procedure you can read data in distributed\\nform and perform variable selection in parallel in symmetric multiprocessing (SMP) or massively parallel\\nprocessing (MPP) mode. \\n\\nThe HPREDUCE procedure performs unsupervised variable selection by identifying a set of variables that\\njointly explain the maximum amount of data variance. Unlike principal component analysis (PCA), which\\nreduces dimensionality by generating a set of new variables (variable extraction), the HPREDUCE procedure\\nreduces dimensionality by selecting a subset of the original variables (variable selection). Thus, this technique\\npreserves model interpretation.\"}},{\"Name\":\"HPREG\",\"Type\":\"SAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC HPREG < options > ;\\n    BY variables ;\\n    CODE < options > ;\\n    CLASS variable < (options) >... < variable < (options) >> < / global-options > ;\\n    MODEL dependent = < effects > < / model-options > ;\\n    OUTPUT <OUT=SAS-data-set >\\n      < keyword < =name > >...\\n      < keyword < =name > > < / options > ;\\n    PARTITION < partition-options > ;\\n    PERFORMANCE performance-options ;\\n    SELECTION selection-options ;\\n    FREQ variable ;\\n    ID variables ;\\n    WEIGHT variable ;\\n\\nThe HPREG procedure is a high-performance procedure that fits and performs model selection for ordinary\\nlinear least squares models. The models supported are standard independently and identically distributed\\ngeneral linear models, which can contain main effects that consist of both continuous and classification \\nvariables and interaction effects of these variables. The procedure offers extensive capabilities for \\ncustomizing the model selection with a wide variety of selection and stopping criteria, from traditional \\nand computationally efficient significance-level-based criteria to more computationally intensive \\nvalidation-based criteria. PROC HPREG also provides a variety of regression diagnostics that are conditional \\non the selected model.\"}},{\"Name\":\"HPSEVERITY\",\"Type\":\"SAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC HPSEVERITY options ;\\n    LOSS < response-variable > < / censoring-truncation-options > ;\\n    WEIGHT weight-variable ;\\n    CLASS variable < (options) > . . . < variable < (options) > > < / global-options > ;\\n    SCALEMODEL regression-effect-list < / scalemodel-options > ;\\n    DIST distribution-name-or-keyword < (distribution-option) < distribution-name-or-keyword\\n      < (distribution-option) > > . . . > < / preprocess-options > ;\\n    OUTSCORELIB < OUTLIB= > fcmp-library-name options ;\\n    NLOPTIONS options ;\\n    PERFORMANCE options ;\\n    Programming statements ;\\n\\nThe HPSEVERITY procedure estimates parameters of any arbitrary continuous probability distribution that\\nis used to model the magnitude (severity) of a continuous-valued event of interest. Some examples of such\\nevents are loss amounts paid by an insurance company and demand of a product as depicted by its sales. \\nPROC HPSEVERITY is especially useful when the severity of an event does not follow typical distributions,\\nsuch as the normal distribution, that are often assumed by standard statistical methods.\"}},{\"Name\":\"HPDS2\",\"Type\":\"SAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: ROC HPDS2 < options > ;\\n    PERFORMANCE performance-options ;\\n    DATA DS2GTF.out ;\\n      DS2 statements\\n      METHOD RUN()\\n      SET DS2GTF.in\\n      END\\n    ENDDATA ;\\n    RUN ;\\n    RUN CANCEL ;\\n    QUIT ;\\n    \\nThe HPDS2 procedure enables you to submit DS2 language statements from a Base SAS session to a SAS\\nHigh Performance Analytics grid for parallel execution. PROC HPDS2 verifies the syntactic correctness of\\nthe DS2 source on the client machine before submitting it to the grid for execution. The output data created\\nby the DS2 DATA statement can be output in either of the following ways: it can be written in parallel\\nback to the grid data store or it can be returned to the client machine and directed to any data store that \\nis supported by SAS.\"}},{\"Name\":\"HPSAMPLE\",\"Type\":\"SAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC HPSAMPLE DATA=< libref. >SAS-data-set OUT=< libref. >SAS-data-set < option(s) > ;\\n    VAR variable < variable ... variable > ;\\n    CLASS variable < variable ... variable > ; \\n    TARGET variable < variable ... variable > ;\\n    PERFORMANCE performance-options ;\\n\\nThe HPSAMPLE procedure is a high-performance procedure that performs either simple random sampling \\nor stratified sampling. The HPSAMPLE procedure creates the following: \\n\\n  \\u2022 one output data set, which contains the sample data set\\n  \\u2022 one performance table, which contains performance information\\n  \\u2022 one frequency table, which contains the frequency information for the population and sample\"}},{\"Name\":\"HPSPLIT\",\"Type\":\"SAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC HPSPLIT <options>; \\n    CLASS variable... </options>; \\n    CODE FILE=filename; \\n    GROW criterion </ options>; \\n    ID variables; \\n    MODEL response <(response-options)> = variable <variable...>; \\n    OUTPUT output-options; \\n    PARTITION <partition-options>; \\n    PERFORMANCE performance-options; \\n    PRUNE prune-method <(prune-options)>; \\n    RULES FILE=filename; \\n\\nThe HPSPLIT procedure is a high-performance procedure that builds tree-based statistical models \\nfor classification and regression. The procedure produces classification trees, which model a \\ncategorical response, and regression trees, which model a continuous response. Both types of \\ntrees are referred to as decision trees because the model is expressed as a series of if-then \\nstatements.\"}},{\"Name\":\"HPSUMMARY\",\"Type\":\"SAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC HPSUMMARY < option(s) > < statistic-keyword(s) > ;\\n    CLASS variable(s) < / option(s) > ;\\n    FREQ variable ;\\n    OUTPUT <OUT=SAS-data-set > < output-statistic-specification(s) > < / option(s) > ;\\n    PERFORMANCE performance-options ;\\n    TYPES request(s) ;\\n    VAR variable(s) < / WEIGHT=weight-variable > ;\\n    WAYS list ;\\n    WEIGHT variable ;\\n\\nThe HPSUMMARY procedure enables you to summarize data on a SAS High Performance Analytics grid\\nfor parallel execution. The output data created by PROC HPSUMMARY can then be written in parallel back\\nto the grid data store.\"}},{\"Name\":\"HPQLIM\",\"Type\":\"SAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC HPQLIM options ; \\n    BOUNDS bound1 < , bound2 \\u2026> ; \\n    FREQ variable ; \\n    ENDOGENOUS variables ~ options ; \\n    HETERO dependent variables exogenous variables / options ; \\n    INIT initvalue1 < , initvalue2 \\u2026> ; \\n    MODEL dependent = regressors < / options > ;\\n    OUTPUT OUT=SAS-data-set < output-options > ; \\n    PERFORMANCE < performance-options > ;\\n    RESTRICT restriction1 < , restriction2 \\u2026> ; \\n    <label:> TEST <string:> equation [,equation...] / options ; \\n    WEIGHT variable ;\\n\\nThe HPQLIM (high-performance qualitative and limited dependent variable model) procedure \\nis a high-performance version of the QLIM procedure in SAS/ETS software, which analyzes \\nunivariate limited dependent variable models in which dependent variables are observed \\nonly in a limited range of values. Unlike the QLIM procedure, which can be run only on \\nan individual workstation, the HPQLIM procedure takes advantage of a computing environment \\nthat enables it to distribute the optimization task among one or more nodes. In addition, \\neach node can use one or more threads to carry out the optimization on its subset of the \\ndata. When several nodes are used with each node using several threads to carry out its \\npart of the work, the result is a highly parallel computation that provides a dramatic \\ngain in performance.\"}},{\"Name\":\"XSL\",\"Type\":\"SAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC XSL IN=fileref | 'external-file' OUT=fileref | 'external-file' \\n    XSL=fileref | 'external-file'; \\n  PARAMETER 'parameter'='value';\\n\\nThe XSL procedure transforms an XML document into another format, such as HTML, text, or another \\nXML document type. PROC XSL reads an input XML document, transforms it by using an XSL style sheet, \\nand then writes the output. \\n\\nTo transform the XML document, PROC XSL uses the Saxon-EE version 9.3 software application from \\nSaxonica, which is a collection of tools for processing XML documents. The XSLT processor implements \\nthe XSLT 2.0 standard.\"}},{\"Name\":\"ASSESS\",\"Type\":\"CAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC ASSESS < options > ;\\n    INPUT variable ;\\n    TARGET variables < /options > ;\\n    FITSTAT PVAR=variables / PEVENT=\\u201cevent-list\\u201d <DLM=\\u201ccharacter\\u201d > ;\\n    FREQ variable ;\\n    BY variable ;\\n\\nThe ASSESS procedure assesses and compares supervised learning models. For a supervised learning\\nmodel that has a nominal target, the ASSESS procedure produces lift information and receiver operating\\ncharacteristic (ROC) information. For a regression model, the ASSESS procedure performs a quantile\\nbinning of the predictions and then returns the summary statistics of the response variable for each bin.\\nPROC ASSESS also calculates fit statistics such as average square error, mean square logarithmic error, \\nmean absolute error, mean consequential error, and multiclass log loss.\"}},{\"Name\":\"ASTORE\",\"Type\":\"CAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC ASTORE ; \\n    SCORE score-options; \\n    DESCRIBE describe-options; \\n    DOWNLOAD download-options; \\n    UPLOAD upload-options; \\n    \\nThe ASTORE procedure is an interactive procedure in which each statement runs immediately. \\nThe ASTORE procedure describes, manages, and scores with an analytic store. The analytic \\nstore is the result of a SAVESTATE statement from another analytic procedure; it is a binary \\nfile that contains that procedure\\u2019s state after it completes the training phase of data analysis. \\nSome procedures that support a SAVESTATE statement are the FACTMAC, FOREST, and SVMACHINE \\nprocedures. You can use the analytic store at a later time for scoring.\"}},{\"Name\":\"BINNING\",\"Type\":\"CAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC BINNING DATA=CAS-libref.data-table < options > ;\\n    CODE FILE=filename ;\\n    FREQ variable ;\\n    INPUT variables < / option > ;\\n    OUTPUT OUT=CAS-libref.data-table < option > ;\\n    TARGET variable / EVENT=\\u201ccategory\\u201d ;\\n    \\nBinning is a common step in the data preparation stage of the model-building process. You can use binning\\nto classify missing variables, reduce the impact of outliers, and generate multiple effects. The generated\\neffects are useful and contain certain nonlinear information about the original interval variables.\\nThe BINNING procedure supports a few binning methods that are described in the following subsections.\\nThe BINNING procedure can also calculate the weight of evidence (WOE) and information value (IV) based\\non binning results.\"}},{\"Name\":\"BOOLRULE\",\"Type\":\"CAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC BOOLRULE <options>; \\n    DOCINFO <options>; \\n    TERMINFO <options>; \\n    OUTPUT <options>; \\n    SCORE <options>; \\n    \\nThe BOOLRULE procedure is a SAS Viya procedure that enables you to extract Boolean rules from large-scale \\ntransactional data. \\n\\nThe BOOLRULE procedure can automatically generate a set of Boolean rules by analyzing a text corpus that \\nhas been processed by the TEXTMINE procedure and is represented in a transactional format.\"}},{\"Name\":\"CARDINALITY\",\"Type\":\"CAS_PROCEDURE\",\"Attributes\":\"InteractivePROC\",\"Help\":{\"#cdata\":\"Syntax: PROC CARDINALITY DATA=CAS-libref.data-table OUTCARD=CAS-libref.data-table < options > ;\\n    VAR variables < / options > ;\\n    FREQ variable ;\\n\\nThe term cardinality of a variable is an alias to the number of its distinct values. The term limited cardinality\\nis the number of distinct values that do not exceed a certain threshold provided by the user. To make a\\ndecision about the role of a variable to be included in subsequent SAS analytics (class, interval), it is sufficient\\nto aim only for the limited cardinality and not the full cardinality. We tend to make the same decision whether\\nwe computed the full or the limited cardinality. The limited cardinality i s computationally less expensive\\nthan the full cardinality, especially for big data.\"}},{\"Name\":\"CAS\",\"Type\":\"CAS_PROCEDURE\",\"Attributes\":\"InteractivePROC\",\"Help\":{\"#cdata\":\"Syntax: Syntax: PROC CAS; \\n    ...CASL statements... \\n    RUN;\\n    QUIT; \\n\\nThe CAS procedure enables you to interact with SAS Cloud Analytic Services (CAS) from the SAS client \\nby providing you a programming environment based on the CASL language specification. The programming \\nenvironment enables you to run CAS actions and use the results to prepare the parameters for another action. \\n\\nPROC CAS does not have any required or optional arguments. Once PROC CAS is executed, it will continue \\nrunning until it reaches one of the following: \\n  o a DATA step \\n  o another PROC step \\n  o the QUIT statement \\n  o an error condition that prevents the progress of the procedure. \\n  \\nAt that point, you will have to execute PROC CAS again using the syntax above.\"}},{\"Name\":\"CASUTIL\",\"Type\":\"CAS_PROCEDURE\",\"Attributes\":\"InteractivePROC\",\"Help\":{\"#cdata\":\"Syntax: PROC CASUTIL <option(s)>;\\n  CONTENTS CASDATA=\\\"table-name\\\" <INCASLIB=\\\"caslib\\\"> <option(s)>;\\n  DELETESOURCE CASDATA=\\\"file-name\\\" <INCASLIB=\\\"caslib\\\"> <QUIET>;\\n  DROPTABLE CASDATA=\\\"table-name\\\" <INCASLIB=\\\"caslib\\\"> <QUIET>;\\n  LIST <FILES | TABLES> <options(s)>;\\n  LOAD CASDATA=\\\"file-name\\\" | DATA=SAS-data-set | FILE=\\\"SAS-file\\\" <option(s)>;\\n  PROMOTE CASDATA=\\\"table-name\\\" <INCASLIB=\\\"caslib\\\"> <CASOUT=\\\"table-name\\\"> <OUTCASLIB=\\\"caslib\\\"> <DROP | KEEP>;\\n  SAVE CASDATA=\\\"table-name \\\" <INCASLIB=\\\"caslib\\\"> <CASOUT=\\\"file-name\\\" <OUTCASLIB=\\\"caslib\\\">> <option(s)>;\\nQUIT;\\n\\nThe CASUTIL procedure works with tables in SAS Cloud Analytic Services, SAS data sets in SAS libraries, \\nand external files. The procedure has three functional areas: \\n\\n  \\u2022 data transfer \\n  \\u2022 table and file information \\n  \\u2022 drops tables and deletes files \\n\\nIn the area of data transfer, you can perform the following operations: \\n  \\u2022 load a data set from a SAS library into a memory on SAS Cloud Analytic Services.  \\n  \\u2022 save in-memory tables in a caslib to the data source that is associated with the caslib.  \\n  \\u2022 load files from the data source that is associated with a caslib into memory on \\n    SAS Cloud Analytic Services.\"}},{\"Name\":\"CORRELATION\",\"Type\":\"CAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC CORRELATION <options>; \\n    BY variables; \\n    DISPLAY <table-list> </ options>; \\n    DISPLAYOUT table-spec-list </ options>; \\n    FREQ variable; \\n    VAR variables; \\n    WEIGHT variable; \\n    WITH variables; \\n    \\nThe CORRELATION procedure computes Pearson correlation coefficients and the probabilities associated \\nwith these statistics in SAS Viya. \\n\\nThe Pearson product-moment correlation is a parametric measure of a linear relationship between two \\nvariables. When only one set of analysis variables is specified, the default correlation analysis \\nincludes descriptive statistics for each analysis variable and pairwise Pearson correlation statistics \\nfor these variables. When two sets of analysis variables are specified, the default correlation analysis \\nincludes descriptive statistics for each analysis variable and pairwise Pearson correlation statistics \\nbetween the two sets of variables. When the relationship between two variables is nonlinear or when \\noutliers are present, the correlation coefficient might incorrectly estimate the strength of the \\nrelationship.\"}},{\"Name\":\"FACTMAC\",\"Type\":\"CAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC FACTMAC <options>; \\n    CODE FILE=filename; \\n    ID variables; \\n    INPUT variables <LEVEL=NOMINAL>; \\n    OUTPUT OUT=CAS-libref.data-table <options>; \\n    SAVESTATE RSTORE=CAS-libref.data-table; \\n    TARGET variable <LEVEL=INTERVAL>; \\n    AUTOTUNE <options>; \\n    \\nThe FACTMAC procedure implements the factorization machine model in SAS Viya. The flexible factorization\\nmachine model has applications in predictive modeling and recommendation (Rendle 2012).\\nFactorization machines generalize matrix factorization, among other techniques. You can use the FACTMAC\\nprocedure to read and write data in distributed form, and to perform factorization in parallel by making full\\nuse of multicore computers or distributed computing environments.\"}},{\"Name\":\"FOREST\",\"Type\":\"CAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC FOREST <options>; \\n    AUTOTUNE <options>; \\n    CODE <options>; \\n    CROSSVALIDATION <KFOLD=number>; \\n    GROW criterion; \\n    ID variables; \\n    INPUT variables </ LEVEL=NOMINAL | INTERVAL>; \\n    OUTPUT OUT=CAS-libref.data-table <option>; \\n    PARTITION partition-option; \\n    SAVESTATE RSTORE=CAS-libref.data-table; \\n    TARGET variable </ LEVEL=NOMINAL | INTERVAL>; \\n    WEIGHT variable; \\n\\nThe FOREST procedure creates a predictive model called a forest (which consists of several decision trees)\\nin SAS Viya. A predictive model defines a relationship between input variables and a target variable. The\\npurpose of a predictive model is to predict a target value from inputs. The FOREST procedure trains the\\nmodel; that is, it creates the model by using training data in which the target values are known. The model\\ncan then be applied to observations in which the target is unknown. If the predictions fit the new data well,\\nthe model is said to generalize well. Good generalization is the primary goal for predictive tasks. A predictive\\nmodel might fit the training data well but generalize poorly.\"}},{\"Name\":\"FREQTAB\",\"Type\":\"CAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC FREQTAB <options> ; \\n    BY variables; \\n    EXACT statistic-options </ computation-options> ; \\n    OUTPUT <OUT=SAS-data-set> output-options; \\n    TABLES requests </ options> ; \\n    TEST options; \\n    WEIGHT variable </ option> ; \\n\\nThe FREQTAB procedure produces one-way to n-way frequency and crosstabulation (contingency) tables \\nin SAS Viya. PROC FREQTAB also provides a variety of tests and measures to analyze frequency and \\ncrosstabulation tables. \\n\\nFor one-way frequency tables, PROC FREQTAB provides chi-square goodness-of-fit tests for equal proportions \\nand for specified null proportions. It also provides several types of confidence limits for binomial \\nproportions and binomial proportion tests (which include noninferiority and equivalence tests).]\"}},{\"Name\":\"GAMMOD\",\"Type\":\"CAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC GAMMOD <options>; \\n    BY variables; \\n    CLASS variable <(options)>\\n      <variable <(options)>> </ global-options>; \\n    DISPLAY <table-list> </ options>; \\n    DISPLAYOUT table-spec-list </ options>; \\n    FREQ variable; \\n    MODEL response <(response-options)> = <PARAM(effects)> <spline-effects> </ model-options>; \\n    MODEL events\\u00a0/\\u00a0trials = <PARAM(effects)> <spline-effects> </ model-options>; \\n    OUTPUT OUT=CAS-libref.data-table <keyword <=name>>\\u2026<keyword <=name>> </ options>; \\n    WEIGHT variable; \\n    \\nThe GAMMOD procedure fits generalized additive models that are based on low-rank regression splines \\n(Wood 2006) in SAS Viya. \\n\\nGeneralized additive models are extensions of generalized linear models. They relax the generalized \\nlinear models\\u2019 assumption of linearity by allowing spline terms that characterize nonlinear dependency \\nstructures. Each spline term is constructed by the thin-plate regression spline technique (Wood 2003). \\nA roughness penalty is applied to each spline term by a smoothing parameter that controls the balance \\nbetween goodness of fit and the roughness of the spline curve. PROC GAMMOD fits models for standard \\ndistributions in the exponential family, such as the normal, Poisson, gamma and Tweedie distributions.]\"}},{\"Name\":\"GENSELECT\",\"Type\":\"CAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC GENSELECT < options > ;\\n    BY variables ;\\n    CLASS variable < (options) >. . . < variable < (options) > > < / global-options > ;\\n    CODE < options > ;\\n    DISPLAY < table-list > < / options > ;\\n    DISPLAYOUT table-spec-list < / options > ;\\n    EFFECT name=effect-type(variables < / options >) ;\\n    FREQ variable ;\\n    MODEL response< (response-options) > = < effects > < / model-options > ;\\n    MODEL events/trials< (response-options) > = < effects > < / model-options > ;\\n    OUTPUT OUT=CAS-libref.data-table < keyword < =name > >. . . < keyword < =name > > < options > ;\\n    PARTITION < partition-options > ;\\n    SELECTION <METHOD=method < (method-options) > >< options > ;\\n    WEIGHT variable ;\\n\\nThe GENSELECT procedure provides model fitting and model building for generalized linear models in\\nSAS Viya. It fits models for standard distributions in the exponential family, such as the normal, Poisson, and\\nbinomial distributions. In addition, PROC GENSELECT fits models for responses such as those modeled as\\nthe beta, generalized Poisson, and negative binomial distributions. For all these models, the GENSELECT\\nprocedure provides forward and backward variable selection. It also provides model selection by the LASSO\\nmethod.\"}},{\"Name\":\"GRADBOOST\",\"Type\":\"CAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC GRADBOOST <options>; \\n    AUTOTUNE <options>; \\n    CODE <options>; \\n    CROSSVALIDATION <options>; \\n    ID variables; \\n    INPUT variables </ options>; \\n    OUTPUT OUT=CAS-libref.data-table <option>; \\n    PARTITION partition-option; \\n    SAVESTATE RSTORE=CAS-libref.data-table; \\n    TARGET variable </ LEVEL=NOMINAL | INTERVAL>; \\n    TRANSFERLEARN variable </ options>; \\n    VIICODE <options>; \\n    WEIGHT variable; \\n    \\nThe GRADBOOST procedure creates a predictive model called a gradient boosting model in SAS Viya.\\nA gradient boosting model consists of multiple decision trees. A predictive model defines a relationship\\nbetween input variables and a target variable. The purpose of a predictive model is to predict a target value\\nfrom inputs. The GRADBOOST procedure creates the model by using training data in which the target\\nvalues are known. The model can then be applied to observations in which the target is unknown. If the\\npredictions fit the new data well, the model is said to generalize well. Good generalization is the primary\\ngoal of predictive tasks. A predictive model might fit the training data well but generalize poorly.\"}},{\"Name\":\"KCLUS\",\"Type\":\"CAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC KCLUS DATA=CAS-libref.data-table < options > ;\\n    CODE < options > ;\\n    DISPLAY < table-list > < /options > ;\\n    DISPLAYOUT table-spec-list < /options > ;\\n    FREQ variable ;\\n    INPUT variables < LEVEL= NOMINAL | INTERVAL> ;\\n    SCORE OUT=CAS-libref.data-table < options > ;\\n\\nThe KCLUS procedure performs clustering (a common step in data exploration) in SAS Viya. You can use\\nthe KCLUS procedure to read and write data in distributed form, and to perform clustering and scoring in\\nparallel by making full use of multicore computers or distributed computing environments.\\n\\nThe KCLUS procedure performs a cluster analysis on the basis of distances that are computed from one or\\nmore quantitative variables. The observations are divided into clusters such that every observation belongs to\\none and only one cluster.\"}},{\"Name\":\"LOGSELECT\",\"Type\":\"CAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC LOGSELECT < options > ;\\n    BY variables ;\\n    CLASS variable < (options) >. . . < variable < (options) > > < / global-options > ;\\n    CODE < options > ;\\n    DISPLAY < table-list > < / options > ;\\n    DISPLAYOUT table-spec-list < / options > ;\\n    EFFECT name=effect-type(variables < / options >) ;\\n    FREQ variable ;\\n    MODEL response< (response-options) > = < effects > < / model-options > ;\\n    MODEL events/trials< (response-options) > = < effects > < / model-options > ;\\n    OUTPUT OUT=CAS-libref.data-table < keyword < =name > >. . . < keyword < =name > > < options > ;\\n    PARTITION partition-options ;\\n    SELECTION <METHOD=method< (method-options) > >< options > ;\\n    WEIGHT variable ;\\n\\nThe LOGSELECT procedure fits binary and binomial response models in SAS Viya.\\n\\nLogistic regression analysis is often used to investigate the relationship between discrete responses and a set\\nof explanatory variables.\"}},{\"Name\":\"MWPCA\",\"Type\":\"CAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC MWPCA <options>; \\n    ID variable; \\n    INPUT variables; \\n    RPCA <options>; \\n    SVD <options>; \\n    OUTPUT OUT=CAS-libref.data-table <options>; \\n    DISPLAY <table-list> </ options>; \\n    DISPLAYOUT table-spec-list </ options>; \\n\\nThe MWPCA procedure implements moving windows robust principal component analysis. You can use \\nthis procedure to capture changes in principal components over time by using sliding windows. \\nAlso, you can choose to perform robust principal component analysis on each window; that is, \\nthe outliers and noise would be excluded from each window before the analysis is performed.\"}},{\"Name\":\"NLMOD\",\"Type\":\"CAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC NLMOD < options > ;\\n    BOUNDS constraint < , constraint . . . > ;\\n    BY variables ;\\n    DISPLAY < table-list >< / options > ;\\n    DISPLAYOUT table-spec-list< / options > ;\\n    ESTIMATE 'label' expression < options > ;\\n    ID variables ;\\n    MODEL dependent-variable \\u00cf distribution ;\\n    PARAMETERS < parameter-specification > < ,. . . , parameter-specification > < / options > ;\\n    PREDICT 'label' expression < options > ;\\n    RESTRICT restriction1 < , restriction2 . . . > ;\\n    Programming statements ;\\n\\nThe NLMOD procedure uses either nonlinear least squares or maximum likelihood to fit nonlinear regression\\nmodels in SAS Viya. PROC NLMOD enables you to specify the model by using SAS programming statements, which \\ngive you greater flexibility in modeling the relationship between the response variable and independent \\n(regressor) variables than SAS procedures that use a more structured MODEL statement.\"}},{\"Name\":\"NNET\",\"Type\":\"CAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC NNET < options > ;\\n    INPUT variables < / LEVEL=INT | NOM> ;\\n    HIDDEN number < /options > ;\\n    TARGET variables < /options > ;\\n    TRAIN OUTMODEL=CAS-libref.data-table < options > ;\\n    ARCHITECTURE architecture-options ;\\n    WEIGHT variable ;\\n    PARTITION < partition-options > ;\\n    OPTIMIZATION < options > ;\\n    AUTOTUNE < options > ;\\n    CROSSVALIDATION <KFOLD=number > ;\\n    SCORE OUT=CAS-libref.data-table < option > ;\\n    CODE < options > ; \\n  \\nThe NNET procedure trains a multilayer perceptron neural network in SAS Viya. For more information\\nabout multilayer perceptron neural networks, see Bishop (1995). PROC NNET can also use a previously\\ntrained network to score a data table (referred to as stand-alone scoring), or it can generate SAS DATA step\\nstatements that can be used to score a data table.\"}},{\"Name\":\"OUTDESIGN\",\"Type\":\"CAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC OUTDESIGN <options>; \\n    BY variables; \\n    CLASS variable <(options)>\\u2026<variable <(options)>> </ global-options>; \\n    DISPLAY <table-list> </ options>; \\n    EFFECT name=effect-type(variables </ options>); \\n    FREQ variable; \\n    MODEL dependent = <effects> </ model-options>; \\n    OUTPUT OUT=CAS-libref.data-table <keyword <=name>>\\u2026<keyword <=name>> </ options>; \\n    WEIGHT variable; \\n    \\nThe OUTDESIGN procedure creates the design matrix associated with a user-specified model statement \\nand a user-specified dataset in SAS Viya.\"}},{\"Name\":\"PARTITION\",\"Type\":\"CAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC PARTITION DATA=CAS-libref.data-table < options > ;\\n    BY variable < variable . . . variable > ;\\n    OUTPUT OUT=CAS-libref.data-table < options > ;\\n    DISPLAY < table-list > < /options > ;\\n    \\nThe PARTITION procedure performs simple random sampling, stratified sampling, and oversampling to\\nproduce a table with a subset of the observations or with observations partitioned.\\n\\nThe PARTITION procedure creates the following:\\n\\n o one output data table, which contains the sampled or partitioned data table\\n o one summary table, which contains the numbers of observations and variables in the data table\\n o one frequency table, which contains the frequency information for the population and sample\"}},{\"Name\":\"PCA\",\"Type\":\"CAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC PCA < options > ;\\n    BY variables ;\\n    CODE < options > ;\\n    DISPLAY < table-list > < / options > ;\\n    DISPLAYOUT table-spec-list < / options > ;\\n    FREQ variable ;\\n    OUTPUT OUT=CAS-libref.data-table\\n      <COPYVARS=(variables) >\\n      < keyword < =prefix > >. . . < keyword < =prefix > > ;\\n    PARTIAL variables ;\\n    VAR variables ;\\n    WEIGHT variable ;\\n\\nThe PCA procedure performs principal component analysis in SAS Viya. Principal component analysis is\\na multivariate technique for examining relationships among several quantitative variables. It provides an\\noptimal way to reduce dimensionality by projecting the data onto a lower-dimensional orthogonal subspace\\nthat explains as much variation in those variables as possible. The choice between using factor analysis and\\nusing principal component analysis depends in part on your research objectives. You should use the PCA\\nprocedure if you are interested in summarizing data and detecting linear relationships. You can use principal\\ncomponent analysis to reduce the number of variables in regression, clustering, and so on.\"}},{\"Name\":\"PHSELECT\",\"Type\":\"CAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC PHSELECT <options>; \\n    BY variables; \\n    CLASS variable <(options)>\\u2026<variable <(options)>> </ global-options>; \\n    CODE <options>; \\n    DISPLAY <table-list> </ options>; \\n    DISPLAYOUT table-spec-list </ options>; \\n    EFFECT name=effect-type(variables </ options>); \\n    FREQ variable; \\n    MODEL response <*censor(list)> = <effects> </ model-options>; \\n    OUTPUT OUT=CAS-libref.data-table <options> <keyword <=name>>\\u2026<keyword <=name>>; \\n    PARTITION partition-options; \\n    SELECTION <METHOD=method<(method-options)>><options>; \\n    STRATA variable <MISSING>; \\n    WEIGHT variable; \\n    \\nThe PHSELECT procedure fits the Cox proportional hazards regression models for survival data and performs \\nvariable selection in SAS Viya. \\n\\nThe models that PROC PHSELECT supports can contain main effects that consist of both continuous and \\nclassification variables and interaction effects of these variables. The models can also include \\nconstructed effects such as splines. The procedure offers a number of effect-selection methods, \\nincluding stepwise methods and modern LASSO methods.\"}},{\"Name\":\"PLSMOD\",\"Type\":\"CAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC PLSMOD <options>; \\n    BY variables; \\n    CLASS variable <(options)>\\u2026<variable <(options)>> </ global-options>; \\n    DISPLAY <table-list> </ options>; \\n    DISPLAYOUT table-spec-list </ options>; \\n    EFFECT name = effect-type (variables </ options>); \\n    MODEL response-variables = predictor-effects </ options>; \\n    OUTPUT OUT=CAS-libref.data-table\\n    <COPYVARS=(variables)>\\n    <keyword <=prefix>>\\u2026<keyword <=prefix>>; \\n    PARTITION partition-options; \\n    \\nThe PLSMOD procedure fits reduced-rank linear models in SAS Viya by using any one of a number of linear \\npredictive methods, including partial least squares (PLS).\"}},{\"Name\":\"QTRSELECT\",\"Type\":\"CAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC QTRSELECT <options>; \\n    BY variables; \\n    CLASS variable <(options)>\\u2026<variable <(options)>> </ global-options>; \\n    CODE <options>; \\n    DISPLAY <table-list> </ options>; \\n    DISPLAYOUT table-spec-list </ options>; \\n    EFFECT name=effect-type(variables </ options>); \\n    MODEL dependent = <effects> </ model-options>; \\n    OUTPUT OUT=CAS-libref.data-table <keyword <=name>>\\u2026<keyword <=name>> </ options>; \\n    PARTITION partition-options; \\n    SELECTION <METHOD=method <(method-options)>><options>; \\n    WEIGHT variable; \\n    \\nThe QTRSELECT procedure fits and performs model selection for quantile regression models in SAS Viya. \\n \\nQuantile regression uses a linear function model to fit the quantiles of a response variable conditional \\non the explanatory variables. The model does not assume a particular parametric distribution for the \\nresponse. The models that PROC QTRSELECT supports can contain main effects that consist of both continuous \\nand classification variables and interaction effects of these variables. The models can also include \\nconstructed effects such as splines.\"}},{\"Name\":\"REGSELECT\",\"Type\":\"CAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC REGSELECT < options > ;\\n    BY variables ;\\n    CLASS variable < (options) >. . . < variable < (options) > > < / global-options > ;\\n    CODE < options > ;\\n    DISPLAY < table-list > < / options > ;\\n    DISPLAYOUT table-spec-list < / options > ;\\n    EFFECT name=effect-type(variables < / options >) ;\\n    FREQ variable ;\\n    MODEL dependent = < effects > < / model-options > ;\\n    OUTPUT OUT=CAS-libref.data-table < keyword < =name > >. . . < keyword < =name > > < / options >  ;\\n    PARTITION partition-options ;\\n    SELECTION <METHOD=method < (method-options) > >< options > ;\\n    WEIGHT variable ;\\n\\nThe REGSELECT procedure fits and performs model selection for ordinary linear least squares models in\\nSAS Viya.\\n\\nThe models that PROC REGSELECT supports are standard independently and identically distributed general\\nlinear models, which can contain main effects that consist of both continuous and classification variables\\nand interaction effects of these variables. The procedure offers extensive capabilities for customizing the\\nmodel selection with a wide variety of selection and stopping criteria, from traditional and computationally\\nefficient significance-level-based criteria to more computationally intensive validation-based criteria. PROC\\nREGSELECT also provides a variety of regression diagnostics that are conditional on the selected model.\"}},{\"Name\":\"RPCA\",\"Type\":\"CAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC RPCA <options>; \\n    ROWID variable; \\n    INPUT variables; \\n    SVD <options>; \\n    OUTDECOMP <options>; \\n    CODE FILE=filename; \\n    DISPLAY <table-list> </ options>; \\n    DISPLAYOUT table-spec-list </ options>; \\n    \\nThe RPCA procedure implements robust principal component analysis (RPCA) in SAS Viya. RPCA can be \\nused in many areas, including image processing, latent semantic indexing, ranking, and matrix \\ncompletion (Cand\\u00e8s et\\u00a0al. 2011). \\n\\nThe RPCA procedure decomposes an input matrix into a sum of two matrices: a low-rank matrix and \\na sparse matrix. You can use the low-rank matrix to do feature extraction and use the sparse matrix\\nto detect anomalies.\"}},{\"Name\":\"SPC\",\"Type\":\"CAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC SPC <options>; \\n  BY variables; \\n  BOXCHART < / options>; \\n  CCHART < / options>; \\n  IRCHART < / options>; \\n  MCHART < / options>; \\n  MRCHART < / options>; \\n  NPCHART < / options>; \\n  PCHART < / options>; \\n  RCHART < / options>; \\n  SCHART < / options>; \\n  UCHART < / options>; \\n  XCHART < / options>; \\n  XRCHART < / options>; \\n  XSCHART < / options>; \\n  \\nThe SPC procedure performs Shewhart control chart analysis in SAS Viya. \\n\\nThe Shewhart control chart is a graphical and analytical tool for deciding whether a process is in \\na state of statistical control. You can use the SPC procedure to compute many different types of \\ncontrol charts, including all commonly used charts for variables and attributes.\"}},{\"Name\":\"SVDD\",\"Type\":\"CAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC SVDD <options>; \\n    CODE FILE=filename; \\n    ID variables; \\n    INPUT variables / <LEVEL=INTERVAL | NOMINAL>; \\n    WEIGHT variable; \\n    KERNEL kernel-type / <kernel-parameter>; \\n    SOLVER solver-type / <options>; \\n    SAVESTATE RSTORE=CAS-libref.data-table; \\n    \\nThe SVDD procedure implements the support vector data description (SVDD) algorithm (Tax and Duin 2004). \\nSVDD is a one-class classification technique that is useful in applications where data that belong to \\none class are abundant but data about any other class are scarce or missing. Fraud detection, equipment \\nhealth monitoring, and process control are some examples of application areas where the majority of the \\ndata belong to one class. You can use SVDD to model such one-class data and subsequently use the model \\nto perform outlier detection.\"}},{\"Name\":\"SVMACHINE\",\"Type\":\"CAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC SVMACHINE <options>; \\n    AUTOTUNE <options>; \\n    CODE FILE=filename; \\n    ID variables; \\n    INPUT variables / <LEVEL=INTERVAL | NOMINAL>; \\n    KERNEL kernel-type / <kernel-parameter>; \\n    OUTPUT OUT=CAS-libref.data-table <option>; \\n    PARTITION partition-option; \\n    SAVESTATE RSTORE=CAS-libref.data-table; \\n    TARGET variable </option>; \\n    \\nThe SVMACHINE procedure implements the support vector machines (SVM) algorithm in SAS Viya.\\nA popular data mining area classification method, the SVM algorithm computes support vector machine\\nlearning classifiers for the binary pattern recognition problem; it has been broadly used in the fields such as\\nimage classification, handwriting recognition, financial decision, text mining, and so on.\"}},{\"Name\":\"S3\",\"Type\":\"CAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC S3 <CONFIG=\\\"file-path\\\"> <KEYID=\\\"aws-key-id\\\"> <SECRET=\\\"aws-secret\\\"> <NOSSL> <REGION=\\\"aws-region\\\"> ;\\n     COPY \\\"source-s3-location\\\" \\\"destination-s3-location\\\";\\n     CREATE \\\"bucket-name\\\";\\n     DELETE \\\"s3-location\\\";\\n     DESTROY \\\"bucket-name\\\";\\n     GET \\\"s3-location\\\" <\\\"local-path\\\">;\\n     GETDIR \\\"s3-location\\\" \\\"local-path\\\";\\n     INFO \\\"s3-location\\\";\\n     LIST <_SHORT_> \\\"s3-location\\\";\\n     MKDIR \\\"s3-location\\\";\\n     PUT \\\"local-path\\\" \\\"s3-location\\\";\\n     PUTDIR \\\"local-path\\\" \\\"s3-location\\\";\\n     RMDIR \\\"s3-location\\\";\\n  RUN;\\n\\nThe S3 procedure is used for managing objects in Amazon Simple Storage Service (Amazon S3). \\n\\nThe S3 procedure can be used for object management functions. For example, you can create buckets \\nand add files to S3 with the procedure. If you want to analyze data that is in S3, then this is not \\nthe correct procedure to use. (Hint: You need to use CAS with a caslib that uses S3 as its data source.) \\n\\nVery important: Before you can use the S3 procedure, you need an AWS key ID and secret.\\n\\nFor more information about S3, see Amazon's S3 documentation:\\nhttp://aws.amazon.com/documentation/s3/\"}},{\"Name\":\"TEXTMINE\",\"Type\":\"CAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC TEXTMINE DATA=CAS-libref.data-table < options > ;\\n    VARIABLES variable ;\\n    TARGET variable ;\\n    DOC_ID variable ;\\n    PARSE < parse-options > ;\\n    SELECT label-list /<GROUP=group-option > KEEP | IGNORE ;\\n    SVD < svd-options > ;\\n    \\nThe TEXTMINE procedure integrates natural language processing and statistical analysis to analyze largescale\\ntextual data in SAS Viya. PROC TEXTMINE supports a wide range of fundamental text analysis\\nfeatures, which include tokenizing, stemming, part-of-speech tagging, noun group extraction, default or\\ncustomized stop lists and start lists, entity parsing, multiword tokens, synonym lists, term weighting, termby-\\ndocument matrix creation, and dimension reduction by term filtering and singular value decomposition\\n(SVD).\"}},{\"Name\":\"TMSCORE\",\"Type\":\"CAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC TMSCORE DATA=CAS-libref.data-table < options > ;\\n    VARIABLES variable ;\\n    DOC_ID variable ;\\n    \\nThe TMSCORE procedure scores textual data in SAS Viya. In text mining, scoring is the process of applying\\nparsing and singular value decomposition (SVD) projections to new textual data. The TMSCORE procedure\\nperforms this scoring of new documents, and its primary outputs are the Outparent data table (which holds\\nthe parsing results of the term-by-document matrix) and the Outdocpro data table (which holds the reduced\\ndimensional representation of the score collection). PROC TMSCORE uses some of the output data tables of\\nthe TEXTMINE procedure as input data to ensure consistency between scoring and training. During scoring,\\nthe new textual data must be parsed using the same settings that the training data were parsed with, indexed\\nusing only the subset of terms that were used during training, and projected onto the reduced-dimensional\\nsubspace of the singular value decomposition that was derived from the training data. To facilitate this\\nprocess, you specify the CONFIG=, TERMS=, and SVDU= options in PROC TEXTMINE to create three\\ndata tables (Outconfig, Outterms, and Svdu, respectively), and then you specify those three data tables as\\ninputs to PROC TMSCORE.\"}},{\"Name\":\"TREESPLIT\",\"Type\":\"CAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC TREESPLIT < options > ;\\n    AUTOTUNE < options > ;\\n    CLASS variables;\\n    CODE FILE=filename ;\\n    FREQ variable ;\\n    GROW criterion < options > ;\\n    MODEL response = variable. . . ;\\n    OUTPUT OUT=CAS-libref.data-table output-options ;\\n    PARTITION < partition-options > ;\\n    PRUNE prune-method < (prune-options) > ;\\n    WEIGHT variable;\\n    INPUT variables </ option>;\\n    TARGET variable </ options>;\\n    \\nThe TREESPLIT procedure builds tree-based statistical models for classification and regression in SAS Viya.\\nThe procedure produces a classification tree, which models a categorical response, or a regression tree, which\\nmodels a continuous response. Both types of trees are referred to as decision trees, because the model is\\nexpressed as a series of if-then statements. For each type of tree, you specify a response variable (also called\\na target variable), whose values you want PROC TREESPLIT to predict, and one or more input variables\\n(called predictor variables), whose values the procedure uses to predict the values of the target variable.\"}},{\"Name\":\"VARIMPUTE\",\"Type\":\"CAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC VARIMPUTE DATA=CAS-libref.data-table < options > ;\\n    CODE FILE=filename ;\\n    FREQ variable ;\\n    INPUT variables < /option > ;\\n    OUTPUT OUT=CAS-libref.data-table < option > ;\\n    \\nThe VARIMPUTE procedure executes high-performance numeric variable imputation. Imputation is a\\ncommon step in data preparation. The VARIMPUTE procedure takes only numeric variables.\\n\\nThe VARIMPUTE procedure can replace numeric missing values with a specified value. It can also replace\\nnumeric missing values with the mean, median, or some random value between the minimum value and the\\nmaximum value of the nonmissing values.\"}},{\"Name\":\"VARREDUCE\",\"Type\":\"CAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC VARREDUCE < options > ;\\n    CLASS variable < (options) >: : :< variable < (options) > > < / global-options > ;\\n    DISPLAY < table-list > < /options > ;\\n    DISPLAYOUT table-spec-list < /options > ;\\n    REDUCE UNSUPERVISED effects < / reduce-options > ;\\n    REDUCE SUPERVISED response : : :< response > = effects < / reduce-options > ;\\n    FREQ variable ;\\n\\nThe VARREDUCE procedure is a high-performance procedure that performs both supervised and unsupervised\\nvariable selection on the SAS appliance. You can use the VARREDUCE procedure to read data in\\ndistributed form and perform variable selection in parallel in single-machine mode or distributed mode.\\n\\nThe VARREDUCE procedure performs unsupervised variable selection by identifying a set of variables\\nthat jointly explain the maximum amount of data variance. Unlike principal component analysis (PCA),\\nwhich reduces dimensionality by generating a set of new variables (variable extraction), the VARREDUCE\\nprocedure reduces dimensionality by selecting a subset of the original variables (variable selection). \\nThus, this technique preserves model interpretation.\"}},{\"Name\":\"MDSUMMARY\",\"Type\":\"CAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC MDSUMMARY DATA=libref.table-name <NTHREADS=integer>; \\n    VAR <variable-list>; \\n    OUTPUT <OUT=table-name>; \\n    GROUPBY variable-list </ OUT=table-name>; \\n  \\nThe MDSUMMARY procedure computes basic descriptive statistics for variables across all observations \\nor within groups of observations in parallel for data tables stored in SAS Cloud Analytic Services (CAS). \\nThe MDSUMMARY procedure uses CAS tables and capabilities, ensuring full use of parallel processing.\"}},{\"Name\":\"CCOPULA\",\"Type\":\"ECONOMETRICS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC CCOPULA options;\\n    BY variables;\\n    DEFINE name copula-type <( parameter-value-options \\u2026)> ;\\n    DISPLAY <table-list> </ options>;\\n    DISPLAYOUT table-spec-list </ options>;\\n    FIT type <NAME=name > <INIT=(parameter-value-options)> / options;\\n    SIMULATE < copula-name-list > / options;\\n    VAR variables;\\n    VIEWSTORE / options ;\\n    \\nA multivariate distribution for a random vector contains a description of both the marginal distributions \\nand their dependence structure. A copula approach to formulating a multivariate distribution provides a \\nway to isolate the description of the dependence structure from the marginal distributions. A copula is \\na function that combines marginal distributions of variables into a specific multivariate distribution. \\nAll of the one-dimensional marginals in the multivariate distribution are the cumulative distribution \\nfunctions of the factors. Copulas help perform large-scale multivariate simulation from separate models, \\neach of which can be fitted using different, even nonnormal, distributional specifications.\"}},{\"Name\":\"CCDM\",\"Type\":\"ECONOMETRICS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC CCDM options;\\n    BY variable-list;\\n    SEVERITYMODEL severity-model-list </ definition-option>;\\n    EXTERNALCOUNTS COUNT=frequency-variable <ID=replication-id-variable>;\\n    OUTPUT OUT=SAS-data-set <variable-name-options> </ out-option>;\\n    OUTSUM OUT=SAS-data-set\\u2004statistic-keyword<=variable-name>\\u2004<\\u2026statistic-keyword<=variable-name>>\\u2004<outsum-options>;\\n    DISPLAY <table-list> </ options>;\\n    DISPLAYOUT table-spec-list </ options>;\\n    Programming statements ;\\n    \\n In many loss modeling applications, the loss events are analyzed by modeling the severity (magnitude) \\n of loss and the frequency (count) of loss separately. The primary goal of preparing these models is to \\n estimate the aggregate loss\\u2014that is, the total loss that occurs over a period of time for which the \\n frequency model is applicable. For example, an insurance company might want to assess the expected \\n and worst-case losses for a particular business line, such as automobile insurance, over an entire \\n year given the models for the number of losses in a year and the severity of each loss. A bank might \\n want to assess the value-at-risk (VaR), a measure of the worst-case loss, for a portfolio of assets \\n given the frequency and severity models for each asset type.\"}},{\"Name\":\"CMDC\",\"Type\":\"ECONOMETRICS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC CMDC <options>;\\n    BY variables;\\n    CLASS variable <(options)> <variable <(options)>> </ global-options>;\\n    FREQ variable;\\n    WEIGHT variable;\\n    ID variables;\\n    CHOICEID variables;\\n    TIMEID <variables>;\\n    MODEL dependent-variable = regressors </ model-options>;\\n    MIXED <normal=variables> <uniform=variables> <lognormal=variables>; \\n    OUTPUT <OUT=SAS-data-set> <keyword <=name>>\\u2026\\n      <keyword <=name>> </ options>;\\n    INIT initialization1 < , initialization2 \\u2026>;\\n    BOUNDS bound1 [ , bound2 \\u2026];\\n    RESTRICT restriction1 [, restriction2 \\u2026];\\n    \\nThe CMDC (Cloud-enabled Multinomial Discrete Choice) procedure is a cloud-enabled procedure that fits \\nbinary and multinomial discrete choice models. Discrete choice models, also known as consumer choice \\nmodels, qualitative choice models, are econometric models that describe and explain choices over time \\namong a finite set of discrete alternatives. The decision makers could be consumers, households, firms \\nor other agents. For example, a customer chooses which of several competing products to buy; a firm \\ndecides which suppliers to use; a traveler decides which mode of transportations to reach a destination; \\na high-school senior decides which colleges to attend.\"}},{\"Name\":\"CNTSELECT\",\"Type\":\"ECONOMETRICS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC CNTSELECT <options>;\\n    BOUNDS bound1 [ , bound2 \\u2026];\\n    BY variables;\\n    CLASS variable <(options)>\\u2026<variable <(options)>> </ global-options>;\\n    DISPLAY <table-list> </ options>;\\n    DISPLAYOUT table-spec-list </ options>;\\n    DISPMODEL dependent variable  <dispersion-related regressors>;\\n    EFFECT name=effect-type(variables </ options>);\\n    FREQ freq-variable;\\n    INIT initialization1 < , initialization2 \\u2026>;\\n    MODEL dependent-variable = regressors </ options>;\\n    OUTPUT <output-options>;\\n    RESTRICT restriction1 [, restriction2 \\u2026];\\n    SELECTION <METHOD=method <(method-options)>><options>;\\n    TEST equation1 <, equation2\\u2026> / <test-options>;\\n    VIEWSTORE / options ;\\n    WEIGHT variable </ option>;\\n    ZEROMODEL dependent-variable  zero-inflated-regressors </ options>;\\n    \\nThe CNTSELECT (count regression) procedure analyzes regression models in which the dependent variable \\ntakes nonnegative integer or count values. The dependent variable is usually an event count, which \\nrefers to the number of times an event occurs. For example, an event count might represent the number \\nof ship accidents per year for a given fleet.\"}},{\"Name\":\"CPANEL\",\"Type\":\"ECONOMETRICS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC CPANEL <options>;\\n    BY variables;\\n    CLASS variable <(options)>\\u2026<variable <(options)>> </ global-options> ;\\n    COMPARE <model-list> </ options>;\\n    CORRELATED effects;\\n    ENDOGENOUS effects </ option>;\\n    ID cross-section-id <time-series-id>;\\n    INSTRUMENTS effects </ option>;\\n    MODEL response = <effects> </ options>;\\n    OUTPUT OUT=CAS-libref.data-table <options>;\\n    PREDETERMINED effects </ option>;\\n    RESTRICT equation1 <, equation2\\u2026>;\\n    TEST equation1 <, equation2\\u2026>;\\n    \\nThe CPANEL procedure analyzes a class of linear econometric models that arise when time series \\nand cross-sectional data are combined. This type of data is called panel data. Typical examples \\nof panel data include observations over time on people, households, countries, or firms. For \\nexample, in the case of survey data on household income, the panel is created by repeatedly \\nsurveying the same households over many years. The individual entities that are followed over \\ntime are called cross sections.\"}},{\"Name\":\"CQLIM\",\"Type\":\"ECONOMETRICS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC CQLIM options;\\n    BOUNDS bound1 < , bound2 \\u2026> ;\\n    BY variables;\\n    CLASS variable <(options)>\\u2026<variable <(options)>> </ global-options> ;\\n    FREQ variable;\\n    ENDOGENOUS variables  options;\\n    HETERO dependent-variables  exogenous-variables / options;\\n    INIT initvalue1 < , initvalue2 \\u2026> ;\\n    MODEL dependent-variables = regressors / options;\\n    OUTPUT OUT=SAS-data-set <output-options> ;\\n    RESTRICT restriction1 < , restriction2 \\u2026> ;\\n    TEST options;\\n    WEIGHT variable </ option>;\\n\\nThe CQLIM procedure is a version of the QLIM procedure in SAS/ETS software that requires SAS Cloud \\nAnalytic Services in order to run. Both procedures analyze univariate limited dependent variable \\nmodels in which dependent variables take discrete values or are observed within only a limited \\nrange of values. Unlike the QLIM procedure, which can be run only on a single workstation, the \\nCQLIM procedure takes advantage of a distributed computing environment that enables it to distribute\\nthe optimization task to one or more nodes. In addition, each node can use one or more threads to \\nperform the optimization on its subset of the data. When several nodes are used and each node uses \\nseveral threads to carry out its part of the work, the result is a highly parallel computation that \\ncan provide a dramatic gain in performance.\"}},{\"Name\":\"CSPATIALREG\",\"Type\":\"ECONOMETRICS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC CSPATIALREG <options>; \\n    BOUNDS bound1 [ , bound2 \\u2026]; \\n    BY variables; \\n    CLASS variable <(options)>\\u2026<variable <(options)>> </ global-options>; \\n    DISPLAY <table-list> </ options>; \\n    DISPLAYOUT table-spec-list </ options>; \\n    INIT initialization1 < , initialization2 \\u2026>; \\n    MODEL dependent-variable = regressors </ options>; \\n    OUTPUT <output-options>; \\n    RESTRICT restriction1 [, restriction2 \\u2026]; \\n    TEST equation1 <, equation2\\u2026> / <test-options>; \\n    SPATIALEFFECTS <model-spatial-effect-regressors>; \\n    SPATIALID variable; \\n    \\nThe CSPATIALREG (spatial regression) procedure analyzes a class of spatial linear econometric models \\nfor cross-sectional data whose observations are spatially referenced or georeferenced. For example, \\nhousing price data that are collected from 48 continental states in the United States fall into the \\ncategory of spatially referenced data. Compared to nonspatial regression models, spatial econometric \\nmodels are capable of handling spatial interaction and spatial heterogeneity in a regression setting \\n(Anselin 2001).\"}},{\"Name\":\"HMM\",\"Type\":\"ECONOMETRICS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC HMM options; \\n    DECODE options; \\n    ESTIMATE options; \\n    EVALUATE options; \\n    FILTER options; \\n    FORECAST options; \\n    ID TIME= variable <SECTION= variable>; \\n    INITIAL equation, \\u2026, equation; \\n    MODEL dependents < = regressors > < / options > ; \\n    OPTIMIZE options; \\n    PRIOR equation, \\u2026, equation; \\n    SCORE options; \\n    SMOOTH options; \\n    \\nThe HMM procedure supports hidden Markov models (HMMs), which have been widely applied in economics, \\nfinance, science, and engineering. The HMM has many well-known aliases, such as the general state \\nspace model (GSSM), regime-switching model (RSM), Markov-switching model (MSM), and Markov regime-\\nswitching model (MRSM). This procedure supports the Gaussian hidden Markov model (Gaussian HMM).\"}},{\"Name\":\"SEVSELECT\",\"Type\":\"ECONOMETRICS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC SEVSELECT options; \\n    BY variable-list; \\n    LOSS <response-variable> </ censoring-truncation-options>; \\n    WEIGHT weight-variable; \\n    DIST distribution-name-or-keyword <(distribution-option)<distribution-name-or-keyword <(distribution-option)>> \\u2026> </ options>; \\n    CLASS variable <(options)>\\u2026<variable <(options)>> </ global-options>; \\n    EFFECT name=effect-type(variables </ options>); \\n    SCALEMODEL regression-effect-list </ scalemodel-options>; \\n    SELECTION <METHOD=method <(method-options)>><options>; \\n    DISPLAY <table-list> </ options>; \\n    DISPLAYOUT table-spec-list </ options>; \\n    OUTPUT <OUT=CAS-libref.data-table> output-options; \\n    OUTSCORELIB <OUTLIB=> fcmp-library-name options; \\n    NLOPTIONS options; \\n    Programming statements ; \\n    \\nThe SEVSELECT procedure estimates parameters of any arbitrary continuous probability distribution that \\nis used to model the magnitude (severity) of a continuous-valued event of interest. Examples of such \\nevents include loss amounts paid by an insurance company and demand of a product as depicted by its sales. \\nPROC SEVSELECT is especially useful when the severity of an event does not follow typical distributions \\n(such as the normal distribution) that are often assumed by standard statistical methods.\"}},{\"Name\":\"TSRECONCILE\",\"Type\":\"FORECASTING_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC TSRECONCILE <options> ;\\n    BY variables;\\n    ID variable </options>;\\n    CHILDROLES <options>;\\n    PARENTROLES <options>;\\n    \\nThe TSRECONCILE procedure reconciles forecasts of timestamped data at two different levels of \\na hierarchy in a top-down fashion for input data that are contained in CAS tables.\\n\\nWhen data are organized in a hierarchical fashion, there are often accounting constraints that \\nlink the data at different levels of the hierarchy. Typically, for any particular time period, \\nthe data in a parent node are either the sum or the average of the data of its child nodes. For \\nexample, the total sales of a product by a retail company are the sum of the sales of the same \\nproduct in all its stores.\"}},{\"Name\":\"TSMODEL\",\"Type\":\"FORECASTING_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC TSMODEL options;\\n    BY variables;\\n    ID variable INTERVAL=interval <options>;\\n    OUTARRAYS array-name-list;\\n    OUTSCALARS scalar-name-list;\\n    INSCALARS scalar-name-list;\\n    VAR variable-list / options;\\n    REQUIRE package-list;\\n    PRINT print-options;\\n    SUBMIT <FILE= SAS-file-ref | 'File-path'> <submit-options>;\\n    Program Statements ;\\n    ENDSUBMIT ;\\n    \\nThe TSMODEL procedure is a SAS Viya procedure that executes user-defined programs on time series data. \\nThe TSMODEL procedure analyzes timestamped transactional data with respect to time and accumulates the \\ndata into a time series format.\"}},{\"Name\":\"OPTNETWORK\",\"Type\":\"OPTIMIZATION_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC OPTNETWORK <options>; \\n    BY variables; \\n    DISPLAY <table-list> </ options>; \\n    DISPLAYOUT table-spec-list </ options>; \\n    LINKSVAR <options>; \\n    NODESVAR <options>; \\n    NODESSUBSETVAR <options>; \\n    BICONNECTEDCOMPONENTS ; \\n    CLIQUE <options>; \\n    CONNECTEDCOMPONENTS <options>; \\n    CYCLE <options>; \\n    LINEARASSIGNMENT <options>; \\n    MINCOSTFLOW <options>; \\n    MINCUT <options>; \\n    MINSPANTREE <options>; \\n    PATH <options>; \\n    SHORTESTPATH <options>; \\n    SUMMARY <options>; \\n    TRANSITIVECLOSURE <options>; \\n    TSP < options >;\\n    \\nThe OPTNETWORK procedure includes a number of graph theory and network optimization algorithms \\nthat can augment more generic mathematical optimization approaches. Many practical applications \\nof optimization depend on an underlying network. For example, retailers face the problem of \\nshipping goods from warehouses to stores in a distribution network to satisfy demand at minimum \\ncost. Commuters choose routes in a road network to travel from home to work in the shortest amount \\nof time.]\"}},{\"Name\":\"OPTNET\",\"Type\":\"SAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC OPTNET options ;\\n    DATA_LINKS_VAR < options >;\\n    DATA_MATRIX_VAR <column1,column2,...>;\\n    DATA_NODES_VAR < options >;\\n    BICONCOMP < option >;\\n    CLIQUE < options >;\\n    CONCOMP < options >;\\n    CYCLE < options >;\\n    LINEAR_ASSIGNMENT < options >;\\n    MINCOSTFLOW < options >;\\n    MINCUT < options >;\\n    MINSPANTREE < options >;\\n    SHORTPATH < options >;\\n    TRANSITIVE_CLOSURE < options >;\\n    TSP < options >;\\n    PERFORMANCE < options >;\\n\\nYou can use the OPTNET procedure to analyze relationships between entities. These relationships \\nare typically defined by using a graph. A graph G = (N,A) is defined over a set N of nodes and \\na set A of arcs. A node is an abstract representation of some entity (or object), and an arc defines \\nsome relationship (or connection) between two nodes. The terms node and vertex are often interchanged \\nin describing an entity. The term arc is often interchanged with the term edge or link when describing \\na connection.\"}},{\"Name\":\"SGPIE\",\"Type\":\"SAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC SGPIE <option(s)>; \\n    DONUT category-variable </option(s)> ; \\n    KEYLEGEND </option(s)>; \\n    PIE category-variable</option(s)>\\n    STYLEATTRS </option(s)>\\n    \\nThe SGPIE procedure produces pie charts and donut charts. The angles of pie and donut slices \\nare used to graphically represent the value of a statistic for a data range. The charts are \\nuseful for examining how the values of a variable contribute to the whole and for quickly \\ncomparing the values of several variables. \\n\\nNote: The SGPIE procedure is a preproduction feature in the SAS 9.4M6 release, which means \\nthat it has not been fully developed, tested, or documented.\"}},{\"Name\":\"BNET\",\"Type\":\"CAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC BNET <options>;\\n  AUTOTUNE <options>;\\n  CODE FILE=filename;\\n  FREQ variable;\\n  ID variables;\\n  INPUT variables </LEVEL=INTERVAL | NOMINAL > ;\\n  OUTPUT OUT=CAS-libref.data-table <option>;\\n  PARTITION partition-option;\\n  SAVESTATE RSTORE=CAS-libref.data-table;\\n  TARGET variable;\\n  \\nThe BNET procedure learns a Bayesian network from an input data table in SAS Viya. \\nA Bayesian network is a directed acyclic graphical model in which nodes represent \\nrandom variables and the links between nodes represent conditional dependency of \\nthe random variables. Because the Bayesian network provides conditional independence \\nstructure and a conditional probability table at each node, the model has been used \\nsuccessfully as a predictive model in supervised data mining.\"}},{\"Name\":\"NETWORK\",\"Type\":\"CAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC NETWORK <options>;   \\n    BY variables;\\n    DISPLAY <table-list> </ options>;\\n    DISPLAYOUT table-spec-list </ options>;\\n    LINKSVAR <options>; \\n    NODESVAR <options>; \\n    NODESSUBSETVAR <options>;\\n    BICONNECTEDCOMPONENTS;\\n    CENTRALITY < options >;\\n    CLIQUE <options>; \\n    CONNECTEDCOMPONENTS <options>;\\n    CORE < options >;\\n    CYCLE <options>; \\n    REACH < options >;\\n    SHORTESTPATH <options>; \\n    SUMMARY <options>; \\n    TRANSITIVECLOSURE <options>;\\n    \\nThe NETWORK procedure includes a number of graph theory and network analysis algorithms that can \\naugment data mining and machine learning approaches. In many practical applications of data mining \\nand machine learning models, pairwise interaction between the entities of interest in the model often \\nplays an important role. For example, when you are modeling churn in a telecommunications network to \\nsupport a retention campaign, the influence of individual customers on the other customers\\u2014such as \\nfriends and acquaintances that they regularly interact with\\u2014might contribute to the propensity of other \\ncustomers to churn. You could likewise imagine a customer being able to influence the propensity of his \\nor her acquaintances to acquire new products. Social networks such as Facebook and Twitter are obvious \\nexamples of networks that represent such interactions between individuals.\"}},{\"Name\":\"FASTKNN\",\"Type\":\"CAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC FASTKNN <options>;\\n    DISPLAY <table-list> </ options>;\\n    DISPLAYOUT table-spec-list </ options>;\\n    ID variables;\\n    INPUT variables <LEVEL=INTERVAL>;\\n    OUTPUT OUT=CAS-libref.data-table <options>;\\n    \\nThe FASTKNN procedure implements the k-nearest neighbor (k-NN) search algorithm in SAS Viya. \\nThe k-NN algorithm has numerous applications, including recommendation systems, image search, \\nfingerprint recognition, and clustering. You can use the FASTKNN procedure to read and write \\ndata in distributed form, and to perform search in parallel by making full use of multicore \\ncomputers or distributed computing environments.\"}},{\"Name\":\"FISM\",\"Type\":\"CAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC FISM options;\\n    CUSTOMER variables;\\n    OUTPUT options;\\n    TARGET variable;\\n    \\nThe FISM procedure performs frequent item set mining, which looks for frequent patterns in a large \\ndatabase. The FISM procedure finds frequent patterns by using the FP-growth (frequent-pattern growth) \\nalgorithm of Han, Pei, and Yin (2000). The FP-growth algorithm uses a special data structure called \\nthe frequent-pattern tree (FP-tree), which retains the item set association information. \\n\\nThe FISM procedure is used by other procedures such as the MBANALYSIS procedure for association rule \\nmining.\"}},{\"Name\":\"GMM\",\"Type\":\"CAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC GMM <options>;\\n    DISPLAY <table-list> </options>;\\n    DISPLAYOUT <table-spec-list> </options>;\\n    INPUT variables;\\n    SCORE OUT=CAS-libref.data-table <options>;\\n    SAVESTATE RSTORE=CAS-libref.data-table <option>;\\n    \\nThe GMM procedure performs clustering\\u2014a common step in data exploration\\u2014on quantitative data in SAS Viya.\\n\\nYou can use this procedure to read and write data in distributed form, as well as to perform clustering \\nand scoring in parallel by making full use of multicore computers or a distributed computing environment.\\n\\nPROC GMM performs cluster analysis by using the Gaussian mixture model (GMM), which is a probabilistic \\nmodel that assumes that all the data points are generated from a mixture of Gaussian distributions. This \\nmodel can be regarded as generalizing k-means clustering to incorporate information about the covariance \\nstructure of the data as well as the centers of the latent Gaussians.\"}},{\"Name\":\"MBANALYSIS\",\"Type\":\"CAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC MBANALYSIS options;\\n    CUSTOMER variables;\\n    HIERARCHY DATA=CAS-libref.data-table <CAS-libref.data-table...>;\\n    OUTPUT options;\\n    SAVESTATE RSTORE=CAS-libref.data-table;\\n    TARGET variable;\\n    \\nThe MBANALYSIS (market basket analysis) procedure performs association rule mining on a transaction \\ndatabase. Association rules are in the form of if A then B, where A and B are items in the transaction \\ndatabase. Association rules helps determine association or correlation between various items in a database. \\nThese rules are used for finding the latest trends and patterns in data and also help in business decision-\\nmaking processes. The MBANALYSIS procedure uses the frequent-pattern growth (FP-growth) algorithm of \\nHan, Pei, and Yin (2000) for finding frequent item sets and then generates rules that are based on \\nthese frequent item sets.\"}},{\"Name\":\"GVARCLUS\",\"Type\":\"CAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC GVARCLUS <options>;\\n    DISPLAY <table-list> </options>;\\n    DISPLAYOUT table-spec-list </options>;\\n    INPUT variables <LEVEL= INTERVAL | NOMINAL>;\\n    FREQ variable;\\n\\nThe GVARCLUS procedure performs variable clustering and graphical modeling in SAS Viya. The procedure \\ndivides a set of variables into disjoint clusters and creates tables that contain the edge and vertex \\ninformation for defining an undirected graph. Variables in different clusters are conditionally independent \\ngiven their own clusters. The procedure also provides the edge and vertex information for an undirected \\ngraphical model; this information expresses the relationships among all the variables. A regularization \\nparameter is used to control the sparsity of connections among variables. Tuning the regularization \\nparameter from low to high increases the number of disconnected components and splits larger clusters \\ninto smaller ones. Those divided clusters naturally form a hierarchical structure during this process.\"}},{\"Name\":\"MTLEARN\",\"Type\":\"CAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC MTLEARN <options>;\\n    DISPLAY <table-list> </ options>;\\n    DISPLAYOUT table-spec-list </ options>;\\n    INPUT variables <LEVEL=INTERVAL>;\\n    TARGET variables <LEVEL=INTERVAL>;\\n    OUTPUT OUT=CAS-libref.data-table <options>;\\n    SAVESTATE RSTORE=CAS-libref.data-table <options>;\\n    \\nThe MTLEARN procedure implements the multitask learning technique for least squares loss with \\u1d251 \\nand graph structure penalizations. It solves multiple related sparse linear regression problems \\nsimultaneously. A graph structure encodes the relationships between the problems. PROC MTLEARN \\nshares the data and model parameters among different regression problems and solves the problems \\nsimultaneously in order to produce a more robust and accurate predictive model. When used with \\nindependent graph tables, PROC MTLEARN also serves as an elastic net regularization solver, which \\nis widely used in feature selection.\"}},{\"Name\":\"SEMISUPLEARN\",\"Type\":\"CAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC SEMISUPLEARN <options>;\\n    DISPLAY <table-list> </ options>;\\n    DISPLAYOUT table-spec-list </ options>;\\n    INPUT variables / <LEVEL=INTERVAL>;\\n    OUTPUT OUT=CAS-libref.data-table <options>;\\n    TARGET variables / <LEVEL=NOMINAL>;\\n    \\nThe SEMISUPLEARN procedure implements the graph-based semisupervised learning algorithm that relies \\non label spreading in a distributed framework in SAS Viya. The semisupervised learning algorithm has \\nnumerous applications, including web page classification, image recognition, medical imaging, natural \\nlanguage processing, and action recognition.\\n\\nYou can use the SEMISUPLEARN procedure to read and write data in distributed form and to perform search \\nin parallel by making full use of multicore computers or distributed computing environments.\"}},{\"Name\":\"TSNE\",\"Type\":\"CAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC TSNE <options>;\\n    DISPLAY <table-list> </ options>;\\n    DISPLAYOUT table-spec-list </ options>;\\n    INPUT variables;\\n    OUTPUT OUT=CAS-libref.data-table <options>;\\n    \\nThe TSNE procedure implements the t-distributed stochastic neighbor embedding (t-SNE) dimension \\nreduction method in SAS Viya. The t-SNE method is well suited for visualization of high-dimensional \\ndata, as well as for feature engineering and preprocessing for subsequent clustering and modeling. \\nPROC TSNE computes a low-dimensional representation, also called an embedding, of high-dimensional \\ndata into two or three dimensions. Unlike other dimension reduction methods, such as principal \\ncomponent analysis, t-SNE is appropriate for nonlinear data and emphasizes existing groupings in \\nthe data. The method is named t-SNE because it models the pairwise distances in low dimensions \\naccording to Student\\u2019s t-distribution.\"}},{\"Name\":\"ICA\",\"Type\":\"CAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC ICA <options>;\\n    BY variables;\\n    DISPLAY <table-list> </ options>;\\n    DISPLAYOUT table-spec-list </ options>;\\n    OUTPUT OUT=CAS-libref.data-table\\n      <COPYVARS=(variables)>\\n      <keyword <=prefix>>\\u2026<keyword <=prefix>>;\\n    VAR variables;\\n    \\nThe ICA procedure performs independent component analysis in SAS Viya.\\n\\nIndependent component analysis attempts to extract from the observed multivariate data independent \\ncomponents (also called factors or latent variables) that are as statistically independent from each \\nother as possible. The methods that PROC ICA implements, where statistical independence is defined \\nas the maximization of non-Gaussianity, seek linear combinations of the observed random variables \\nthat maximize the non-Gaussianity of the estimated independent components.\"}},{\"Name\":\"MBC\",\"Type\":\"CAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC MBC <options>;\\n    BY variables;\\n    VAR variables;\\n    INIT variables;\\n    OUTPUT OUT=CAS-libref.data-table < <=name>>\\u2026<keyword <=name>> <options>;\\n    DISPLAY <options>;\\n    DISPLAYOUT <options>;\\n    STORE <options>;\\n    \\nThe MBC procedure fits mixtures of multivariate Gaussian and uniform distributions to achieve \\nunsupervised and semisupervised clustering of data. It treats the cluster memberships as missing \\ndata and uses the expectation-maximization (EM) algorithm to maximize the likelihood. The procedure \\ncan produce output data tables that contain cluster membership weights and component log likelihoods. \\nPROC MBC can also store the fitted model for scoring subsequent input data.\"}},{\"Name\":\"MODELMATRIX\",\"Type\":\"CAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC MODELMATRIX <options>;\\n    BY variables;\\n    CLASS variable <(options)>\\u2026<variable <(options)>> </ global-options>;\\n    DISPLAY <table-list> </ options>;\\n    DISPLAYOUT table-spec-list </ options>;\\n    EFFECT name = effect-type (variables </ options>);\\n    FREQ variable;\\n    MODEL dependent = <effects> </ model-options>;\\n    OUTPUT OUT= CAS-libref.data-table </ options>;\\n    WEIGHT variable;\\n    \\nThe MODELMATRIX procedure creates a design matrix (matrix of covariates) that is associated \\nwith a user-specified MODEL statement and a user-specified data table in SAS Viya.\\n\\nThe design matrix is the fundamental component of any regression model; it is often expressed \\nas the X matrix.\"}},{\"Name\":\"LMIXED\",\"Type\":\"CAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC LMIXED <options>;\\n    CLASS variable <(options )> <variable <(options)>> </ global-options>;\\n    BY variables;\\n    DISPLAY <table-list> </ options>;\\n    DISPLAYOUT table-spec-list </ options>;\\n    EFFECT name=effect-type (variables </ options>);\\n    MODEL dependent = <fixed-effects> </ options>;\\n    RANDOM random-effects </ options>;\\n    PARMS <(value-list) \\u2026> </ options>;\\n    WEIGHT variable;\\n    OUTPUT OUT=CAS-libref.data-table<COPYVARS=(variables)><keyword <=name>>\\u2026<keyword <=name>>;\\n    BLUP OUT=CAS-libref.data-table <options>;\\n    OPTIMIZATION <options>;\\n    \\nThe LMIXED procedure fits a variety of linear mixed models to data and enables you to use these fitted \\nmodels to make statistical inferences about the data. A linear mixed model is a generalization of the \\nstandard linear model that is used in the GLM procedure in SAS/STAT software; the generalization is that \\nthe data are permitted to exhibit correlation and nonconstant variability. Therefore, the linear mixed \\nmodel provides you with the flexibility of modeling not only the means of your data (as in the standard \\nlinear model) but also their variances and covariances.\"}},{\"Name\":\"CAUSALMED\",\"Type\":\"SAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC CAUSALMED <options>; \\n    CLASS variables <(options)> \\u2026<variable<(options)>> </ global-options>; \\n    MODEL outcome=effects </ model-options>; \\n    MEDIATOR mediator=treatment; \\n    COVAR effects; \\n    EVALUATE <'label'> assignment <assignment \\u2026> </ options>; \\n    BOOTSTRAP <options>; \\n    FREQ variable; \\n    BY variables; \\n    \\nThe CAUSALMED procedure estimates causal mediation effects from observational data. In causal \\nmediation analysis, there are four main variables of interest: \\n\\no an outcome variable Y \\no a treatment variable T that is hypothesized to have direct and indirect causal effects on the \\n  outcome variable Y (in epidemiology, a treatment variable is also known as an exposure, denoted as A) \\no a mediator variable M that is hypothesized to be causally affected by the treatment variable T and \\n  that itself has a direct effect on the outcome variable Y \\no set of pretreatment or background covariates that confound the observed relationships among Y, T, and M\"}},{\"Name\":\"DSTODS2\",\"Type\":\"SAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC DSTODS2 IN=datastep-program-filename OUT=ds2-program-filename <OUTDIR=\\\"output-directory-name\\\">\\n    RUN; \\n    <QUIT;>\\n    \\nThe DSTODS2 procedure enables you to translate a subset of your SAS DATA step code into DS2 code. \\nThen you can revise your program to take advantage of DS2 features and submit your program using \\nPROC DS2.\"}},{\"Name\":\"FMTC2ITM\",\"Type\":\"SAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC FMTC2ITM <options>; \\n    <SELECT member-list>; \\n    \\nThe FMTC2ITM procedure converts one or more format catalogs into a single item store that can be made \\navailable to CAS. PROC FMTC2ITM enables you to create an item store that has the following contents: \\n\\n  o all of the formats from one catalog \\n  o a subset of the formats from one catalog \\n  o all of the formats from multiple catalogs \\n  o a subset of the formats from each of multiple catalogs.\"}},{\"Name\":\"PRODUCT_STATUS\",\"Type\":\"SAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC PRODUCT_STATUS; \\n  RUN;\\n  \\nPROC PRODUCT_STATUS returns a list of the SAS Foundation products that are installed on your system, \\nalong with the version numbers of those products. It provides a quick method to determine whether a \\nSAS product is available for your use. The results from PROC PRODUCT_STATUS are returned to the SAS \\nlog.\"}},{\"Name\":\"SCOREACCEL\",\"Type\":\"SAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC SCOREACCEL SESSREF=session-name | SESSUUID=\\\"session-uuid\\\"; \\n    PUBLISHMODEL required-arguments <publish-model-options>; \\n    RUNMODEL required-arguments <run-model-options>; \\n    DELETEMODEL required-arguments <delete-model-options>; \\n    \\nPROC SCOREACCEL provides an interface to the CAS server for DATA step and DS2 model publishing \\nand scoring. \\n\\nModels can be published and executed in CAS, or in an external database: \\n  o DATA step and DS2 model code can be published to a CAS table and executed in CAS \\n  o Model code can be published from CAS to an external database and then executed there via the \\n    SAS Embedded Process (EP). Teradata and Hadoop are supported.\"}},{\"Name\":\"SQOOP\",\"Type\":\"SAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC SQOOP <Sqoop-options>; \\n  RUN;\\n  \\nYou can use Apache Sqoop (pronounced scoop) to transfer data between Hadoop and relational database \\nmanagement systems (RDBMSs). You can use the SQOOP procedure to access Apache Sqoop from a SAS session \\nto transfer data between a database and HDFS. It lets you submit Sqoop commands from within your SAS \\napplication to your Hadoop cluster.\"}},{\"Name\":\"LUA\",\"Type\":\"SAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC LUA <INFILE='filename'> <RESTART> <TERMINATE>; \\n    <SUBMIT <\\\"assignment(s);\\\">;> \\n      Lua statements\\n    <ENDSUBMIT;>\\n    run; \\n    \\nPROC LUA enables you to perform these tasks: \\n  o run Lua code within a SAS session \\n  o call most SAS functions within Lua statements \\n  o call PROC FCMP functions within Lua statements \\n  o submit SAS code from Lua \\n  o call CAS actions \\n    Note: Support for calling CAS actions was added in SAS 9.4M5. \\n  o read VARCHAR data. \\n    Note: Support for VARCHAR data was added in SAS Viya 3.3.\"}},{\"Name\":\"HDMD\",\"Type\":\"SAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC HDMD <Hadoop-metadata-options>; \\n    COLUMN column-specification(s) ; \\n    RUN;\\n    \\nUse PROC HDMD to generate XML-based metadata that describes the contents of files that are stored \\nin HDFS. This metadata enables SAS/ACCESS Interface to Hadoop, SAS/ACCESS Interface to Spark, and \\nSAS high-performance procedures to read Hadoop data directly without an intermediate metadata \\nrepository such as Hive.\"}},{\"Name\":\"SGMAP\",\"Type\":\"SAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC SGMAP MAPDATA=map-data-set | PLOTDATA=plot-data-set | MAPRESPDATA=response-data-set\\n      </option(s)>; \\n    BUBBLE X=variable Y=variable SIZE=numeric-variable </option(s)>;\\n    CHOROMAP <response-variable > / </option(s)>; \\n    ESRIMAP URL=\\u2018map-service\\u2019;\\n    GRADLEGEND <\\\"name\\\"> </option(s)>;\\n    KEYLEGEND <\\\"name\\u20131\\\" ...\\\"name-n\\\"> </option(s)>;\\n    OPENSTREETMAP;\\n    SCATTER X=variable Y=variable </option(s)>;\\n    SERIES X=variable Y=variable </option(s)>;\\n    TEXT X=variable Y=variable TEXT=variable </option(s)>;\\n\\nStarting with SAS 9.4M6, Base SAS offers an enhanced SGMAP mapping procedure. The SGMAP procedure \\nadds the GRADLEGEND and SERIES statements, and numerous options. The CHOROMAP statement is at production \\nlevel. The SGMAP procedure can now render maps with unprojected longitude and latitude coordinates. \\nIt can also render maps whose data is prepared by any number of Base SAS mapping procedures such as \\nGPROJECT. Prior to SAS 9.4M6, GRPROJECT and other mapping data preparation procedures were provided \\nwith SAS/GRAPH, and required a SAS/GRAPH installation to run them. Starting with SAS 9.4M6, the GINSIDE, \\nGPROJECT, GREDUCE, and GREMOVE procedures that prepare data for mapping moved from SAS/GRAPH to Base SAS. \\nAfter your map data sets are obtained and prepared, use the SGMAP procedure to create maps and then overlay \\nplots such as bubble, scatter, series, or text plots. With the enhanced SGMAP procedure, automatic legends \\nare now generated, and the option that disables them is provided. Continuous or discrete legends are now \\npossible, as well as legend customization, grouping capability, and the ability to customize polygon borders \\nand series plot lines.\"}},{\"Name\":\"DATAMETRICS\",\"Type\":\"SAS_PROCEDURE\",\"Help\":{\"#cdata\":\"Syntax: PROC DATAMETRICS DATA=input-data-set-name OUT=output-data-set\\n      <FREQUENCIES =frequencies> <MINMAX=minmax> <THREADS=threads>\\n      <MEDIAN> \\n      <FORMAT>;\\n    IDENTITIES <QKB=qkb> <LOCALE=locale> <DEFINITION=definition> <MULTIIDENTITY>;\\n    <VARIABLES=list of variables of profile>;\\n    \\nPROC DATAMETRICS implements data profile capabilities that help you recognize patterns, \\nidentify sparsity in the data, generate frequency distributions, and calculate basic statistics. \\nData profiling analysis can be applied to any data set that is accessible to SAS. The following \\nanalysis capabilities are included:\\n\\n  o standard profile metrics\\n  o frequency distribution per column, limiting results to top n, bottom n\\n  o row and columns counts\\n  o pattern analysis\\n  o identification analysis\"}}],\"#comment\":[{},{},{},{},{},{},{},{},{},{},{},{},{}]}}"
  },
  {
    "path": "server/data/SQLKeywords.json",
    "content": "{\"Keywords\":{\"Keyword\":[{\"Name\":\"SELECT\",\"Help\":{\"#cdata\":\"Syntax: SELECT <DISTINCT> object-item <, ...object-item>   <INTO macro-variable-specification \\n    <, ... macro-variable-specification>>  \\n    FROM from-list  \\n    <WHERE sql-expression>  \\n    <GROUP BY group-by-item <, ... group-by-item>>  \\n    <HAVING sql-expression>  \\n    <ORDER BY order-by-item <, ... order-by-item>>; \\n    \\nSelects columns and rows of data from tables and views.\"},\"Type\":\"SQL_KEYWORD\"},{\"Name\":\"DISTINCT\",\"Help\":{\"#cdata\":\"Eliminates duplicate rows.\"},\"Type\":\"SQL_KEYWORD\"},{\"Name\":\"INTO\",\"Help\":{\"#cdata\":\"Stores the value of one or more columns for use later in another PROC SQL query \\nor SAS statement.\"},\"Type\":\"SQL_KEYWORD\"},{\"Name\":\"FROM\",\"Help\":{\"#cdata\":\"Specifies source tables or views.\"},\"Type\":\"SQL_KEYWORD\"},{\"Name\":\"WHERE\",\"Help\":{\"#cdata\":\"Subsets the output based on specified conditions.\"},\"Type\":\"SQL_KEYWORD\"},{\"Name\":\"GROUP\",\"Help\":{\"#cdata\":\"[Syntax: GROUP BY group-by-item <, ..., group-by-item] \\n          \\nSpecifies how to group the data for summarizing.\"},\"Type\":\"SQL_KEYWORD\"},{\"Name\":\"HAVING\",\"Help\":{\"#cdata\":\"[HAVING sql-expression] \\n          \\nSubsets grouped data based on specified conditions.\"},\"Type\":\"SQL_KEYWORD\"},{\"Name\":\"ORDER\",\"Help\":{\"#cdata\":\"[ORDER BY order-by-item <ASC|DESC><, ... order-by-item <ASC|DESC>>;]\\n          \\nSpecifies the order in which rows are displayed in a result table.\"},\"Type\":\"SQL_KEYWORD\"},{\"Name\":\"LEFT\",\"Help\":{\"#cdata\":\"[SQL expression keyword] \\n          \\nUsed in connection with JOIN expressions.\\n\\nExample:\\nSELECT *  FROM   employee  LEFT OUTER JOIN department  \\n  ON employee.DepartmentID = department.DepartmentID;\"},\"Type\":\"SQL_KEYWORD\"},{\"Name\":\"RIGHT\",\"Help\":{\"#cdata\":\"[SQL expression keyword] \\n          \\nUsed in connection with JOIN expressions.\\n\\nExample:\\nSELECT *  FROM   employee  RIGHT OUTER JOIN department  \\n  ON employee.DepartmentID = department.DepartmentID;\"},\"Type\":\"SQL_KEYWORD\"},{\"Name\":\"BETWEEN\",\"Help\":{\"#cdata\":\"[SQL expression operator] \\n          \\nSelects rows where column values are within a range of values. \\n\\nSyntax:\\nsql-expression <NOT> BETWEEN sql-expression AND sql-expression\"},\"Type\":\"SQL_KEYWORD\"},{\"Name\":\"AND\",\"Help\":{\"#cdata\":\"[SQL expression operator] \\n          \\nIndicates logical AND.\"},\"Type\":\"SQL_KEYWORD\"},{\"Name\":\"OR\",\"Help\":{\"#cdata\":\"[SQL expression operator] \\n          \\nIndicates logical OR.\"},\"Type\":\"SQL_KEYWORD\"},{\"Name\":\"NOT\",\"Help\":{\"#cdata\":\"[SQL expression operator]           \\n          \\nIndicates logical NOT.\"},\"Type\":\"SQL_KEYWORD\"},{\"Name\":\"CONTAINS\",\"Help\":{\"#cdata\":\"[SQL expression operator] \\n          \\nTests whether a string is part of a column's value.\"},\"Type\":\"SQL_KEYWORD\"},{\"Name\":\"EXISTS\",\"Help\":{\"#cdata\":\"[SQL expression operator] \\n          \\nSyntax: <NOT> EXISTS (query-expression) \\n          \\nTests if a subquery returns one or more rows. \"},\"Type\":\"SQL_KEYWORD\"},{\"Name\":\"LIKE\",\"Help\":{\"#cdata\":\"[SQL expression operator] \\n          \\nTests for a matching pattern. \\n\\nSyntax: \\nsql-expression <NOT> LIKE sql-expression <ESCAPE character-expression>\"},\"Type\":\"SQL_KEYWORD\"},{\"Name\":\"ASC\",\"Help\":{\"#cdata\":\"Orders the data in ascending order.\"},\"Type\":\"SQL_KEYWORD\"},{\"Name\":\"DESC\",\"Help\":{\"#cdata\":\"Orders the data in descending order.\"},\"Type\":\"SQL_KEYWORD\"},{\"Name\":\"INNER\",\"Help\":{\"#cdata\":\"[SQL expression keyword] \\n          \\nUsed in connection with JOIN expressions.\\n\\nExample:\\nSELECT *  FROM   employee LEFT INNER JOIN department  \\n  ON employee.DepartmentID = department.DepartmentID;\"},\"Type\":\"SQL_KEYWORD\"},{\"Name\":\"OUTER\",\"Help\":{\"#cdata\":\"[SQL expression keyword] \\n          \\nUsed in connection with JOIN expressions.\\n\\nExample:\\nSELECT *  FROM   employee LEFT OUTER JOIN department  \\n  ON employee.DepartmentID = department.DepartmentID;\"},\"Type\":\"SQL_KEYWORD\"},{\"Name\":\"FULL\",\"Help\":{\"#cdata\":\"[SQL expression keyword] \\n          \\nUsed in connection with JOIN expressions.\\n\\nExample:\\nSELECT *  FROM   employee  FULL JOIN department  \\n  ON employee.DepartmentID = department.DepartmentID;\"},\"Type\":\"SQL_KEYWORD\"},{\"Name\":\"CROSS\",\"Help\":{\"#cdata\":\"[SQL expression keyword] \\n          \\nUsed in connection with JOIN expressions.\\n\\nExample:\\nSELECT *  FROM   employee  CROSS JOIN department  \\n  ON employee.DepartmentID = department.DepartmentID;\"},\"Type\":\"SQL_KEYWORD\"},{\"Name\":\"UNION\",\"Help\":{\"#cdata\":\"[SQL expression keyword] \\n          \\nUsed in connection with JOIN expressions.\\n\\nExample:\\nSELECT *  FROM   employee  UNION JOIN department  \\n  ON employee.DepartmentID = department.DepartmentID;\"},\"Type\":\"SQL_KEYWORD\"},{\"Name\":\"INTERSECT\",\"Help\":{\"#cdata\":\"[SQL set operator keyword] \\n          \\nProduces rows that are common to both query results.\"},\"Type\":\"SQL_KEYWORD\"},{\"Name\":\"CORRESPONDING\",\"Help\":{\"#cdata\":\"[SQL set operator keyword] \\n          \\nCauses PROC SQL to match the columns in table-expressions by name and not by \\nordinal position.\"},\"Type\":\"SQL_KEYWORD\"},{\"Name\":\"EXCEPT\",\"Help\":{\"#cdata\":\"[SQL set operator keyword] \\n          \\nProduces rows that are part of the first query only.\"},\"Type\":\"SQL_KEYWORD\"},{\"Name\":\"ALL\",\"Help\":{\"#cdata\":\"[SQL set operator keyword] \\n          \\nThe set operators automatically eliminate duplicate rows from their output tables. \\nThe optional ALL keyword preserves the duplicate rows, reduces the execution by one \\nstep, and thereby improves the query-expression's performance.\"},\"Type\":\"SQL_KEYWORD\"},{\"Name\":\"CASE\",\"Help\":{\"#cdata\":\"Selects result values that satisfy specified conditions. \\n          \\nSyntax:\\n  CASE <case-operand>  \\n    WHEN when-condition THEN result-expression  \\n    <...WHEN when-condition THEN result-expression>  \\n    <ELSE result-expression>  \\n    END\"},\"Type\":\"SQL_KEYWORD\"},{\"Name\":\"WHEN\",\"Help\":{\"#cdata\":\"[Used in a CASE expression] \\n          \\nSyntax:\\n  CASE <case-operand>  \\n    WHEN when-condition THEN result-expression  \\n    <...WHEN when-condition THEN result-expression>  \\n    <ELSE result-expression>  \\n    END\"},\"Type\":\"SQL_KEYWORD\"},{\"Name\":\"THEN\",\"Help\":{\"#cdata\":\"[Used in a CASE expression] \\n          \\nSyntax:\\n  CASE <case-operand>  \\n    WHEN when-condition THEN result-expression  \\n    <...WHEN when-condition THEN result-expression>  \\n    <ELSE result-expression>  \\n    END\"},\"Type\":\"SQL_KEYWORD\"},{\"Name\":\"ELSE\",\"Help\":{\"#cdata\":\"[Used in a CASE expression] \\n          \\nSyntax:\\n  CASE <case-operand>  \\n    WHEN when-condition THEN result-expression  \\n    <...WHEN when-condition THEN result-expression>  \\n    <ELSE result-expression>  \\n    END\"},\"Type\":\"SQL_KEYWORD\"},{\"Name\":\"END\",\"Help\":{\"#cdata\":\"[Used in a CASE expression] \\n          \\nSyntax:\\n  CASE <case-operand>  \\n    WHEN when-condition THEN result-expression  \\n    <...WHEN when-condition THEN result-expression>  \\n    <ELSE result-expression>  \\n    END\"},\"Type\":\"SQL_KEYWORD\"},{\"Name\":\"UNIQUE\",\"Help\":{\"#cdata\":\"Specifies that the values of the column must be unique. This constraint is identical \\nto DISTINCT.\"},\"Type\":\"SQL_KEYWORD\"},{\"Name\":\"PRIMARY\",\"Help\":{\"#cdata\":\"PRIMARY KEY\\n          \\nSpecifies that the column is a primary key column, that is, a column that does \\nnot contain missing values and whose values are unique.\"},\"Type\":\"SQL_KEYWORD\"},{\"Name\":\"KEY\",\"Help\":{\"#cdata\":\"PRIMARY KEY\\n          \\nSpecifies that the column is a primary key column, that is, a column that does \\nnot contain missing values and whose values are unique.\"},\"Type\":\"SQL_KEYWORD\"},{\"Name\":\"REFERENCES\",\"Help\":{\"#cdata\":\"Syntax: REFERENCES table-name <ON DELETE referential-action > <ON UPDATE referential-action>\\n            \\nSpecifies that the column is a foreign key, that is, a column whose values are linked \\nto the values of the primary key variable in another table (the table-name that is \\nspecified for REFERENCES).\"},\"Type\":\"SQL_KEYWORD\"},{\"Name\":\"FOREIGN\",\"Help\":{\"#cdata\":\"\\n    \\n<DROP FOREIGN KEY constraint-name>\\n  Removes the foreign key constraint that is referenced by constraint-name. \"},\"Type\":\"SQL_KEYWORD\"},{\"Name\":\"AS\",\"Help\":{\"#cdata\":\"[Syntax: ...AS query-expression ...] \\n          \\nSQL keyword\"},\"Type\":\"SQL_KEYWORD\"},{\"Name\":\"IN\",\"Help\":{\"#cdata\":\"[Syntax: SELECT column_name(s)\\nFROM table_name\\nWHERE column_name IN (value1,value2,...); \\n\\nThe IN operator allows you to specify multiple values in a WHERE clause.\"},\"Type\":\"SQL_KEYWORD\"},{\"Name\":\"JOIN\",\"Help\":{\"#cdata\":\"Combines records from two or more tables.\\n    \\nExample:\\nSELECT *  FROM   employee  LEFT OUTER JOIN department  \\n  ON employee.DepartmentID = department.DepartmentID;\"},\"Type\":\"SQL_KEYWORD\"}],\"#comment\":{}}}"
  },
  {
    "path": "server/data/Statements/ABORT.json",
    "content": "{\"Keywords\":{\"Keyword\":[{\"Name\":\"ABEND\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Causes abnormal termination of the current SAS job or session. Results depend on \\nthe method of operation: \\n\\no batch mode and noninteractive mode \\n\\n  o stops processing immediately\\n  o sends an error message to the SAS log that states that execution was terminated by \\n    the ABEND option of the ABORT statement\\n  o does not execute any subsequent statements or check syntax\\n  o returns control to the operating environment; further action is based on how your \\n    operating environment and your site treat jobs that end abnormally.\\n\\no windowing environment and interactive line mode \\n\\n  o causes your windowing environment and interactive line mode to stop processing \\n    immediately and return you to your operating environment.\"}},{\"Name\":\"CANCEL\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Causes the execution of the submitted statements to be canceled. Results depend \\non the method of operation: \\n\\no batch mode and noninteractive mode\\n\\n  o the entire SAS program and SAS system are terminated\\n  o an error message is written to the SAS log\\n\\no windowing environment and interactive line mode \\n\\n  o clears only the current submitted program\\n  o other subsequent submitted programs are not affected\\n  o an error message is written to the SAS log\\n\\no workspace server and stored process server \\n\\n  o clears only the currently submitted program\\n  o other subsequent submit calls are not affected\\n  o an error message is written to the SAS log\\n\\no SAS IntrNet application server \\n\\n  o creates a separate execution for each request and submits the request code. \\n    A CANCEL argument in the request code clears the current submitted code but \\n    does not terminate the execution or the SAS session.\"}},{\"Name\":\"CANCEL FILE\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Causes only the contents of the autoexec file or %INCLUDE file to be cleared by \\nthe ABORT statement. Other submitted source statements will be executed after \\nthe autoexec or %INCLUDE file.\"}},{\"Name\":\"RETURN\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Causes the immediate normal termination of the current SAS job or session. Results \\ndepend on the method of operation:\\n\\no batch mode and noninteractive mode \\n\\n  o stops processing immediately\\n  o sends an error message to the SAS log stating that execution was terminated by the \\n    RETURN option in the ABORT statement\\n  o does not execute any subsequent statements or check syntax\\n  o returns control to your operating environment with a condition code indicating an error \\n\\no windowing environment \\n\\n  o causes your windowing environment and interactive line mode to stop processing immediately\\n    and return you to your operating environment.\"}},{\"Name\":\"n\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Is an integer value that enables you to specify a condition code: \\n    \\n  o when used with the CANCEL argument, the value is placed in the SYSINFO automatic macro variable \\n  o when not used with the CANCEL argument, the error code that is returned by SAS is ERROR. The value \\n    of ERROR depends on the operating system. The condition code n is returned to the operating system \\n    as the final SAS system exit code.\"}},{\"Name\":\"NOLIST\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Suppresses the output of all variables to the SAS log. \\n    \\nRequirement: NOLIST must be the last option in the ABORT statement.\"}}]}}"
  },
  {
    "path": "server/data/Statements/ARRAY.json",
    "content": "{\"Keywords\":{\"Keyword\":[{\"Name\":\"_NUMERIC_\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Specifies all numeric variables.\"}},{\"Name\":\"_CHARACTER_\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Specifies all character variables.\"}},{\"Name\":\"_ALL_\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"Specifies all variables.\"}},{\"Name\":\"_TEMPORARY_\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Creates a list of temporary data elements.\"}}]}}"
  },
  {
    "path": "server/data/Statements/ATTRIB.json",
    "content": "{\"Keywords\":{\"Keyword\":[{\"Name\":\"FORMAT=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[Syntax: FORMAT=format] \\n    \\nAssociates a format with variables in variable-list.\"}},{\"Name\":\"INFORMAT=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[Syntax: INFORMAT=informat] \\n    \\nAssociates an informat with variables in variable-list.\"}},{\"Name\":\"LABEL=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[Syntax: LABEL='label'] \\n    \\nAssociates a label with variables in variable-list.\"}},{\"Name\":\"LENGTH=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[Syntax: LENGTH=<$>length] \\n    \\nSpecifies the length of variables in variable-list.\"}},{\"Name\":\"TRANSCODE=\",\"Type\":\"V\",\"Values\":{\"@Value1\":\"YES\",\"@Value2\":\"NO\"},\"ToolTips\":{\"@ToolTip1\":\"Specifies that character variables can be transcoded.\",\"@ToolTip2\":\"Specifies that character variables are not transcoded.\"},\"Help\":{\"#cdata\":\"Specifies whether character variables can be transcoded.\"}}]}}"
  },
  {
    "path": "server/data/Statements/AXIS.json",
    "content": "{\"Keywords\":{\"Keyword\":[{\"Name\":\"COLOR=\",\"Type\":\"C\",\"Help\":{\"#cdata\":\"[Syntax: COLOR=axis-color] \\n    \\nSpecifies the color for all axis components (the axis line, all tick marks, and all text) unless \\nyou include a more explicit AXIS statement color specification.\"}},{\"Name\":\"CTEXT=\",\"Type\":\"C\",\"Help\":{\"#cdata\":\"[Syntax: CTEXT=color] \\n    \\nSpecifies the color for all axis text (AXIS label and major tick mark value descriptions).\"}},{\"Name\":\"CAXIS=\",\"Type\":\"C\",\"Help\":{\"#cdata\":\"[Syntax: CAXIS=color] \\n    \\nSpecifies the color for axis line and major and minor tick marks.\"}},{\"Name\":\"INTERVAL=\",\"Type\":\"V\",\"Values\":{\"@Value1\":\"EVEN\",\"@Value2\":\"UNEVEN\",\"@Value3\":\"PARTIAL\"},\"ToolTips\":{\"@ToolTip1\":\"Specifying the option INTERVAL=EVEN and LOGBASE=10 permits only base10 values to  be specified for the ORDER option.\",\"@ToolTip2\":\"Specifying the option INTERVAL=UNEVEN and LOGBASE=10, permits non-base10 values  to be specified for the ORDER option, while retaining a logarithmic scale for  the axis.\",\"@ToolTip3\":\"Alias for UNEVEN. They have the same effect.\"},\"Help\":{\"#cdata\":\"The INTERVAL option affects the LOGBASE option in the AXIS statement.\"}},{\"Name\":\"LABEL=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[Syntax: LABEL=(text-argument(s)) | NONE] \\n    \\nModifies an axis label. Text-argument(s) defines the appearance or the text of an \\naxis label, or both. NONE suppresses the axis label. Text-argument(s) can be one \\nor more of these: \\n\\n\\\"text-string\\\" \\nprovides up to 256 characters of label text. By default, the text of the axis label \\nis either the variable name or a previously assigned variable label. Enclose each \\nstring in quotes. Separate multiple strings with blanks.\\n\\ntext-description-suboption \\nmodifies a characteristic such as the font, color, or size of the text string(s) \\nthat follows it. Text-description-suboption can be:\\n\\n ANGLE=degrees \\n \\n COLOR=text-color \\n \\n FONT=font | NONE \\n \\n HEIGHT=text-height <units > \\n \\n JUSTIFY=LEFT | CENTER | RIGHT\\n \\n ROTATE=degrees\"},\"SubOptionsKeywords\":\"NONE|ANGLE=|COLOR=|HEIGHT=|JUSTIFY=|ROTATE=\"},{\"Name\":\"LABEL=NONE\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"Suppresses the axis label.\"}},{\"Name\":\"LENGTH=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[Syntax: LENGTH=axis length <units >] \\n    \\nSpecifies the length of the axis in number of units. If you request a length that \\ncannot fit the display, a warning message is written to the log and your graph may \\nproduce unexpected results.\"}},{\"Name\":\"LOGBASE=\",\"Type\":\"V\",\"Values\":{\"@Value1\":\"<base>\",\"@Value2\":\"E\",\"@Value3\":\"PI\"},\"ToolTips\":{\"@ToolTip1\":\"Base must be greater than 1.\",\"@ToolTip2\":\"Logbase=e (Logbase=2.718281828)\",\"@ToolTip3\":\"Logbase=\\u03c0 (Logbase=3.141592653)\"},\"Help\":{\"#cdata\":\"Scales the axis values logarithmically according to the value specified. Base must \\nbe greater than 1. The number of minor tick marks is a function of the logbase, \\nand is calculated as the logbase minus 2.\"}},{\"Name\":\"LOGSTYLE=\",\"Type\":\"V\",\"Values\":{\"@Value1\":\"EXPAND\",\"@Value2\":\"POWER\"},\"ToolTips\":{\"@ToolTip1\":\"Specifies that the values displayed are the values of the base raised to successive  powers and that the minor tick marks are logarithmically placed.\",\"@ToolTip2\":\"Specifies that the values displayed are the powers to which the base is raised (for  example, 1, 2, 3, 4, 5, and so on).\"},\"Help\":{\"#cdata\":\"Specifies whether the values displayed on the logarithmic axis are the values of the \\nbase or the values of the power. LOGSTYLE= is meaningful only when you use LOGBASE=.\"}},{\"Name\":\"MAJOR=NONE\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"Suppresses all major tick marks, although the values represented by those tick marks \\nare still displayed.\"}},{\"Name\":\"MAJOR=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[Syntax: MAJOR=(tick-mark-suboption(s) ) | NONE] \\n    \\nModifies the major tick marks. Tick-mark-suboption(s) defines the color, size, and \\nnumber of the major tick marks.\"},\"SubOptionsKeywords\":\"COLOR=|HEIGHT=|NUMBER=|WIDTH=\"},{\"Name\":\"MINOR=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[Syntax: MINOR=(tick-mark-suboption(s) ) | NONE] \\n    \\nModifies the minor tick marks that appear between major tick marks. Tick-mark-suboption(s) \\ndefines the color, number, or size of the minor tick marks.\"},\"SubOptionsKeywords\":\"COLOR=|HEIGHT=|NUMBER=|WIDTH=\"},{\"Name\":\"MINOR=NONE\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"Suppresses all minor tick marks.\"}},{\"Name\":\"NOBRACKETS\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Suppresses the printing of group brackets drawn around the values on the group axis \\nin a bar chart. NOBRACKETS applies only to the group axis of bar charts.\"}},{\"Name\":\"NOPLANE\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Removes either the horizontal or vertical three-dimensional axis plane in bar charts \\nproduced by the HBAR3D and VBAR3D statements. NOPLANE affects only the axis to which \\nthe AXIS statement applies.\"}},{\"Name\":\"OFFSET=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[Syntax: OFFSET=(<n1><,n2>)<units > | (<n1<units>><,n2<units>>)] \\n    \\nSpecifies the distance from the first and last major tick marks or bars to the ends \\nof the axis line.\\n\\nThe value of (n1) is the distance from the beginning (origin) of the axis line to the \\nfirst tick mark or middle of the first bar. The value of (n2) is the distance from the \\nend of the axis line to the last tick mark or middle of the last bar.\"}},{\"Name\":\"ORDER=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[Syntax: ORDER=(value-list)] \\n    \\nSpecifies the order in which data values appear on the axis. The values specified by \\nthe ORDER= option are the major tick mark values. You can modify the appearance of \\nthese values with the VALUE= option.\"}},{\"Name\":\"ORIGIN=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[Syntax: ORIGIN=(<x><,y>)<units> | (<x<units>><,y<units>>)] \\n    \\nSpecifies the x coordinate and the y coordinate of the origin of the axis. The origin \\nof the horizontal axis is the left end of the axis, and the origin of the vertical axis \\nis the bottom of the axis. The ORIGIN= option explicitly positions the axis anywhere on \\nthe graphics output area.\"}},{\"Name\":\"REFLABEL=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[Syntax: REFLABEL=(text-argument(s)) | NONE] \\n    \\nCreates and defines the appearance of a reference-line label. Text-argument(s) \\ndefines the appearance or the text of the label, or both.\"}},{\"Name\":\"REFLABEL=NONE\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"Suppresses the reference-line label.\"}},{\"Name\":\"STAGGER\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Offsets the axis values on a horizontal axis. This option is useful when values \\noverlap on an axis. When specifying the Java and ActiveX devices, the STAGGER \\noption must sometimes be used in conjunction with the ORDER statement.\"}},{\"Name\":\"SPLIT=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[Syntax: SPLIT=\\\"split-char\\\"] \\n    \\nSpecifies the split character that the AXIS statement uses to break axis values \\ninto multiple lines. Split-char can be any character value that can be specified \\nin a SAS character variable. The split character must be embedded in the variable \\nvalues in the data set or in an associated format.\"}},{\"Name\":\"STYLE=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[Syntax: STYLE=line-type] \\n    \\nSpecifies a line type for the axis line. Valid values for line-type are 0 through 46.\\nIf you specify STYLE=0, the axis line is not drawn. The default is 1, a solid line.\"}},{\"Name\":\"VALUE=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[Syntax: VALUE=(text-argument(s) ) | NONE] \\n    \\nModifies the major tick mark values. That is, this option modifies the text that \\nlabels the major tick marks on the axis. Text-argument(s) defines the appearance \\nor the text of a major tick mark value, or both.\"}},{\"Name\":\"VALUE=NONE\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"Suppresses the major tick mark values, although the major tick marks are still displayed.\"}},{\"Name\":\"WIDTH=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[Syntax: WIDTH=thickness-factor] \\n    \\nSpecifies the thickness of the axis line. Thickness increases directly with the value \\nof thickness-factor. By default, WIDTH=1.\"}}]}}"
  },
  {
    "path": "server/data/Statements/CAS.json",
    "content": "{\"Keywords\":{\"#comment\":[{},{},{},{},{},{},{}],\"Keyword\":[{\"Name\":\"AUTHDOMAIN=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"Syntax: AUTHDOMAIN=authentication-domain | \\\"authentication-domain\\\"\\n    \\nSpecifies the name of an authentication domain object registered on the SAS Metadata Server \\nthat associates user credentials with an identity.\"}},{\"Name\":\"AUTHINFO=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"Syntax: AUTHINFO=authentication-info-file\\n    \\nSpecifies an authinfo or netrc file that includes authentication information.\\n\\nDefault: File $HOME/.authinfo on Linux hosts. \\nNote: An authinfo file is required only when running batch jobs.\"}},{\"Name\":\"DISCONNECT\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Disconnects SAS from the session.\\n\\nNote: The session name is preserved for use with the RECONNECT option.  \\n\\nTip: The TIMEOUT= value determines the lifetime of a disconnected session. The session time-out starts \\nwhen the number of connections becomes zero and no actions are executing. After the time-out value expires, \\nthe session is terminated.\"}},{\"Name\":\"HOST=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"Syntax: HOST=\\\"host-name\\\"\\n    \\nSpecifies the machine for the control node of the server. \\n\\nDefault: Macro variable _CASHOST_, if set. Otherwise, SAS system option CASHOST.  \\n\\nInteraction: This option overrides macro variable _CASHOST_ and SAS system option CASHOST.\"}},{\"Name\":\"PORT=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"Syntax: PORT=number\\n    \\nSpecifies the port on which the control node of the SAS Cloud Analytic Services server listens \\nfor client connections. \\n\\nDefault: Macro variable _CASPORT_, if set. Otherwise, SAS system option CASPORT.  \\n\\nRange: 1-65535 \\n\\nInteraction: This option overrides macro variable _CASPORT_ and SAS system option CASPORT.\"}},{\"Name\":\"RECONNECT\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Reconnects to a session using a session name.\\n    \\nTip:\\nIf the session is not known to SAS, connect using the session UUID. Do not specify the RECONNECT keyword \\nin that case. See UUID=\\\"session-uuid\\\".\"}},{\"Name\":\"TERMINATE|CLEAR\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Syntax: TERMINATE|CLEAR\\n    \\nTerminates the SAS Cloud Analytic Services session.\\n\\nNote When you terminate the last session that was created, SAS system option CASNAME (alias SESSREF) \\n  and macro variable _SESSREF_ are not updated. They continue to reference the terminated session until \\n  a new session is created or they are manually set. See CASNAME= System Option. \\n\\nTip: Use _ALL_ instead of session-name to terminate all of the sessions in your SAS client.\"}},{\"Name\":\"USER=|CASUSER=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"Syntax: USER=user-ID | CASUSER=user-ID\\n\\nSpecifies the user ID to use for connecting to the SAS Cloud Analytic Services server.\\n\\nDefault: SAS system option CASUSER=, if set. \\n\\nRequirement: User-ID must match a user ID in your authinfo file. \\n\\nInteraction: This option overrides SAS system option CASUSER=.\\n\\nNote:\\nWhen you use SAS Studio, the user credentials that you used to sign on are used to authenticate \\nyour connection to CAS. The USER= option is not needed in that case. The USER= option or SAS \\nsystem option CASUSER= is used when submitting code to CAS from the command line, in batch mode.\"}},{\"Name\":\"UUID=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"Syntax: UUID=\\\"session-uuid\\\"\\n    \\nSpecifies the UUID of an existing session to which you want to connect.\\n\\nRequirements: session-uuid must be 36 characters in length and must be enclosed in quotation marks.  \\n  You must also specify the HOST= and PORT= options to connect to a session.  \\n  \\nTip: You can view the UUID for a session with the LIST command option.\"}},{\"Name\":\"UUIDMAC=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"Syntax: UUIDMAC=macro-variable-name\\n    \\nSpecifies a SAS macro variable name into which the UUID of the session is stored.\\n\\nTip: The UUIDMAC= option is useful if you want subsequent SAS steps to connect to the session by specifying the UUID.\"}},{\"Name\":\"LIST\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Writes to the SAS log information about a session in your SAS client. The information includes the session \\nname, the session state, the host and port of the SAS Cloud Analytic Services server to which it is \\nconnected, and the session UUID.\\n\\nNote: The server is not accessed for the information. \\nTips: Use _ALL_ instead of session-name to list information about all of the sessions in your SAS client.  \\n\\n      To list information about all of the sessions in all of your SAS clients, use LISTSESSIONS.\"}},{\"Name\":\"LISTHISTORY\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Syntax: LISTHISTORY <history_count | _ALL_> \\n    \\nPrints to the SAS log the action history for the current session.\\n\\nhistory_count\\n  specifies the number of the most recent actions that are to be listed. \\nRange: 0\\u20131999999999\\nNote: 0 is equivalent to _ALL_\\n\\n_ALL_\\n  lists all of the actions that have been executed in the current session. \\n  \\nDefault:\\nLists the last 10 actions that were executed in the current session. \"},\"SubOptionsKeywords\":\"_ALL_\"},{\"Name\":\"LISTSESSIONS\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Writes to the SAS log information about all of the current user's sessions that are known to the SAS Cloud Analytic \\nServices server. The information includes the session name, the session UUID, the session state, \\nthe method that was used for user authentication, and the user ID.\\n\\nRequirement: A connection to a session is required to use the LISTSESSIONS option.  \\n\\nExample:  Use session Casauto to list all of your sessions.\\n\\n          cas casauto listsessions;\\n\\n          For each session that is found, a note containing information about that session is written to \\n          the SAS log.\"}},{\"Name\":\"LISTSESSOPTS\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Lists the session options. \\n    \\nExample: List the session option settings for session Casauto:\\n\\n  cas casauto LISTSESSOPTS;\"}},{\"Name\":\"SESSOPTS=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"Syntax: SESSOPTS=(session-option(s)) \\n\\nSpecifies one or more session options as option=value pairs separated by a space and enclosed in \\nparentheses. You can specify the following session options:\\n\\n  APPTAG= specifies the string to prefix to log messages.\\n  AUTOCORRECT= automatically corrects misspelled procedure names and keywords, and global statement names.\\n  CASLIB= specifies the caslib name to set as the active caslib.\\n  COMPOPT= specifies the type of code generation optimizations to use in the SAS language compiler.\\n  COLLATE= specifies the collating sequence for sorting.\\n  DATASTEPFMTERR= specifies how the DATA step reacts when SAS cannot find a specified variable format.\\n  DATASTEPMSGSUMLEVEL= specifies the DATA step message summary level.\\n  DATASTEPREPLACETABLE= specifies whether a DATA step can replace an existing table.   \\n  DATASTMTCHK= specifies which SAS statement keywords are prohibited from being specified as a one-level \\n    DATA step name to protect against overwriting an input data set. \\n  DKRICOND= specifies the error level to report when a variable is missing from an input data set during \\n    the processing of a DROP=, KEEP=, or RENAME= data set option.\\n  DKROCOND= specifies the error level to report when a variable is missing from an output data set during \\n    the processing of a DROP=, KEEP=, or RENAME= data set option. \\n  DQLOCALE specifies the default 5-letter SAS Quality Knowledge Base (QKB) ISO locale code to use as the \\n    default locale for data quality (DQ) operations. \\n  DQSETUPLOC specifies the name of the default SAS Quality Knowledge Base (QKB) to use for data quality operations.\\n  ERRORS= specifies the maximum number of observations for which SAS issues complete error messages. \\n  EVENTDS specifies one or more data sets that define events.\\n  FMTCASLIB specifies the caslib where persisted format libraries are retained. \\n  INVALIDDATA= specifies the value that SAS assigns to a variable when invalid numeric data is encountered.\\n  INTERVALDS specifies one or more interval-name=value pairs, where the value is the name of a data set that \\n    contains user-defined intervals.\\n  LOCALE= specifies the locale to use for sorting and formatting.\\n  LOGFLUSHTIME= specifies the log flush time, in milliseconds. \\n  MAXTABLEMEM= specifies the maximum amount of physical memory, in bytes, to allocate for a table.\\n  MESSAGELEVEL= specifies the log message level.\\n  METRICS= specifies whether to include detailed performance metrics reports in the SAS log. \\n  NWORKERS= specifies the number of worker nodes for a new session.\\n  TIMEOUT= specifies the SAS Cloud Analytic Services session time-out in seconds for a new or existing session.\\n  TIMEZONE= specifies the time zone offset, in hours, from UTC.\"},\"SubOptionsKeywords\":\"\\n      |APPTAG=|AUTOCORRECT=|CASLIB=|COLLATE=|DATASTEPREPLACETABLE=|DATASTMTCHK=|DKRICOND=|DKROCOND=|ERRORS=|FMTCASLIB|\\n      |INVALIDDATA=|LOCALE=|LOGFLUSHTIME=|MAXTABLEMEM=|MESSAGELEVEL=|METRICS=|NWORKERS=|TIMEOUT=|TIMEZONE=|VARINITCHK=|\\n      |DATASTEPMSGSUMLEVEL=|DATASTEPFMTERR=|DQLOCALE|DQSETUPLOC|EVENTDS|INTERVALDS|\\n    \"},{\"Name\":\"ADDFMTLIB\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Syntax: ADDFMTLIB FMTLIBNAME=format-library-name TABLE=table-name <CASLIB=caslib> \\n    <POSITION=APPEND | INSERT | REPLACE | NONE> <PROMOTE> <REPLACEFMTLIB>\\nSyntax: ADDFMTLIB FMTLIBNAME=format-library-name PATH=path <POSITION=APPEND | INSERT | REPLACE | NONE> \\n    <PROMOTE> <REPLACEFMTLIB>\\n    \\nAdds a session format library. By default, the format library is appended to the format library search list.\\n    \\nExample: cas mysess ADDFMTLIB fmtlibname=myfmtlib caslib=name table=name ; \\n\\n  o FMTLIBNAME= specifies the name of the format library to save. This option is required. \\n  o CASLIB= specifies the name of the caslib where the table is saved. \\n  o TABLE= specifies the name of the table where the format library is saved. \\n  o POSITION=APPEND | INSERT | REPLACE | NONE\\n      specifies the position of this format library in the format-library search list.\\n  o PATH= specifies the name of the file where the format information is saved.  \\n  o PROMOTE promotes the format library to global scope so that it is available to all sessions.\\n  o REPLACEFMTLIB replaces the format library if it already exists.\"}},{\"Name\":\"DROPFMTLIB\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Syntax: DROPFMTLIB FMTLIBNAME=format-library-name <FMTSEARCHREMOVE>\\n    \\nDrops a session-local or a global format library.     \\n\\nFMTLIBNAME=format-library-name\\n  specifies the name of the format library to drop. This option is required. \\n\\nFMTSEARCHREMOVE\\n  removes the format library from the format search order. \\n\\nTip: If a session-local and a global format library exist, the local format library is dropped first. \\nTo drop the global format library in that case, execute the drop command again. \"}},{\"Name\":\"FMTSEARCH=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"Syntax: FMTSEARCH=(name1 <name2 ... nameN>) <POSITION=APPEND | INSERT | REPLACE>\\n\\nModifies the format library search order for the session.\\n\\n(name1 <name2 ... nameN>) \\n  specifies a list of one or more format-library names enclosed in parentheses. Each name is separated by a space. \\n\\nPOSITION=APPEND | INSERT | REPLACE\\n  specifies the position of the format libraries in the format-library search list. \\n\\n  APPEND appends the format libraries to the end of the format-library search list.  \\n  INSERT inserts the format libraries at the beginning of the format-library search list.  \\n  REPLACE replaces the current format-library search list with the specified format libraries.  \\n\\n  Default: APPEND\"}},{\"Name\":\"FMTSEARCH CLEAR\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Clears the format library search list for the session.\\n    \\nExample: Clear the format search list for session Casauto:\\n\\n  cas casauto fmtsearch clear;\"}},{\"Name\":\"LISTFMTRANGES\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Syntax: LISTFMTRANGES FMTNAME=format-name\\n\\nLists the ranges and labels for a format.\\n\\n  FMTNAME=format-name\\n    specifies the name of the format to list. This option is required. The format libraries are searched \\n    in the format-library search order. The ranges are listed for the first instance of format-name that \\n    is found. \\n\\n  Example:  List the ranges in format MYFORMAT:\\n  \\n            cas casauto listfmtranges fmtname=myformat;\"}},{\"Name\":\"LISTFMTSEARCH\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Displays the format library search list for the session.\\n\\nExample:  List the format library search order for session Casauto:\\n\\n          cas casauto listfmtsearch;\"}},{\"Name\":\"LISTFORMATS\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Syntax: LISTFORMATS <FMTLIBNAME=format-library-name> <SCOPE=BOTH | SESSION | GLOBAL> <MEMBERS>\\n\\nLists the user-defined format libraries that are known to SAS.\\n\\n  FMTLIBNAME=format-library-name\\n    specifies the name of the format library. If FMTLIBNAME= is not specified, all of the format libraries \\n    that are known to SAS are listed. \\n\\n  SCOPE=BOTH | SESSION | GLOBAL\\n    specifies the scope.\\n\\n    BOTH lists both SESSION and GLOBAL format libraries that are known to SAS.  \\n    SESSION lists the format libraries that are known to SAS. \\n    GLOBAL lists the format libraries that are known globally to all SAS sessions.  \\n\\n    Default: SESSION \\n  \\n  MEMBERS\\n    lists the names of the members in each format library. \\n\\n  Example:  List the global and session-local formats and their members for session Casauto:\\n          \\n            cas casauto listformats scope=both members;\"}},{\"Name\":\"LOADFORMATS\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Syntax: LOADFORMATS <FMTLIBNAME=format-library-name> <PATH=\\\"path-to-item-store-file\\\"> <PROMOTE> <REPLACE> <FMTSEARCH=APPEND | INSERT | REPLACE | NONE>\\n\\nLoads user-defined formats from a format item store that was created with the FMTC2ITM procedure.\\n\\n  FMTLIBNAME=format-library-name\\n    specifies the name of the format library that is being added to the session.\\n  PATH=\\\"path-to-item-store-file\\\" \\n    specifies the name of the file where the item store is saved. \\n  PROMOTE\\n    promotes the format library to global scope.\\n  REPLACE \\n    if format-library-name already exists in the active session, replaces it with the new format-library-name.\\n  FMTSEARCH=APPEND | INSERT | REPLACE | NONE\\n    specifies how the new format library impacts the format library search order. \"}},{\"Name\":\"PROMOTEFMTLIB\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Syntax: PROMOTEFMTLIB FMTLIBNAME=format-library-name <REPLACE>\\n\\nPromotes a session-local format library to a global format library.\\n\\n  FMTLIBNAME=format-library-name\\n    specifies the name of the format library. This option is required. \\n\\n  REPLACE \\n    replaces the format library if it is already promoted. \\n\\nExample: Promote session-local format library MYFMTLIB in session Casauto:\\n\\n    cas casauto promote fmtlibname=myfmtlib;\"}},{\"Name\":\"SAVEFMTLIB\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Syntax: SAVEFMTLIB FMTLIBNAME=format-library-name <<<TABLE=table-name> <CASLIB=caslib> <REPLACE>> | <PATH=path>> <PROMOTE> \\n\\nSaves a session format library to a CAS table or to a file.    \\n\\n  FMTLIBNAME=format-library-name\\n    specifies the name of the format library to save. This option is required. \\n  TABLE=table-name\\n    specifies the name of the table in which the format library is saved. \\n    Note: Do not specify this option with PATH=. \\n  CASLIB=caslib\\n    specifies the caslib in which the table is stored. \\n    Note:This option is ignored when PATH= is specified. \\n  REPLACE\\n    replaces the table if it already exists. \\n    Note: This option is ignored when PATH= is specified. \\n  PATH=path\\n    specifies the name of the file to which the format library is to be saved.\\n  PROMOTE\\n    promotes the format library to global scope so that it is available to all sessions.\"}},{\"Name\":\"CASSERVERMD=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"Syntax: CASSERVERMD=server-name | \\\"server-name\\\" \\n    \\nSpecifies the name of a server object registered on the SAS Metadata Server that associates \\nSAS Cloud Analytic Services connection parameters with a server name.\\n\\nValid in SAS 9.4M5 and in later releases.\\n\\nRequirements:\\nThe metadata system options must specify the connection parameters for the metadata server \\n  on which server-name is registered, and the metadata server must be running. \\nThe server-name registration on the SAS Metadata Server must define the CAS server port,\\n  host name, and authentication domain. \\n\\nInteraction:\\nCAS statement options HOST=, PORT=, and USER=, and system options CASHOST=, CASPORT=, \\nand CASUSER= are ignored when this option is specified. \"}},{\"Name\":\"LISTABOUT\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Writes information about SAS Cloud Analytic Services to the SAS log.\"}},{\"Name\":\"LISTSERVERSTARTOPTS|LISTSSO\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Syntax: LISTSERVERSTARTOPTS | LISTSSO\\n    \\nLists the SAS Cloud Analytic Services server options and their current values. For each option, a note containing information about the option is written to the SAS log. The information includes the option name, option value type, current option value, value range (when applicable), and value source, as shown in the following example.\\n\\n  NOTE: Name = errors\\n         Type = INT RANGE\\n         Value = 20\\n         Minimum = 0\\n         Maximum = 2147483647\\n         Source = default\\n\\nRestriction You must have administration privileges to use this option.\"}},{\"Name\":\"POSITION=\",\"Type\":\"V\",\"Values\":{\"@Value1\":\"APPEND\",\"@Value2\":\"INSERT\",\"@Value3\":\"REPLACE\",\"@Value4\":\"NONE\"},\"ToolTips\":{\"@ToolTip1\":\"Appends this format library to the end of the format-library search list.\",\"@ToolTip2\":\"Inserts this format library at the beginning of the format-library search list.\",\"@ToolTip3\":\"Replaces the current format-library search list with this format library.\",\"@ToolTip4\":\"Does not add this format library to the format-library search list.\"},\"Help\":{\"#cdata\":\"[Sub-option for ADDFMTLIB, FMTSEARCH= options] \\n    \\nSpecifies how the format library search result for the session is presented.\"}},{\"Name\":\"FMTLIBNAME=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[Sub-option for ADDFMTLIB, DROPFMTLIB, LISTFORMATS, PROMOTEFMTLIB, SAVEFMTLIB options]\\n    \\nName of format library to drop, list, promote, or save.\"}},{\"Name\":\"FMTSEARCHREMOVE\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"[Sub-option for DROPFMTLIB option]\\n    \\nRemoves the format library from the format search.\"}},{\"Name\":\"SCOPE=\",\"Type\":\"V\",\"Values\":{\"@Value1\":\"SESSION\",\"@Value2\":\"GLOBAL\",\"@Value3\":\"BOTH\"},\"ToolTips\":{\"@ToolTip1\":\"Lists the format libraries that are known to SAS.\",\"@ToolTip2\":\"Lists the format libraries that are known globally to all SAS sessions.\",\"@ToolTip3\":\"Lists both SESSION and GLOBAL format libraries that are known to SAS.\"},\"Help\":{\"#cdata\":\"[Sub-option for LISTFORMATS option]\\n    \\nSpecifies the scope.\\n\\n  BOTH lists both SESSION and GLOBAL format libraries that are known to SAS.  \\n  SESSION lists the format libraries that are known to SAS. \\n  GLOBAL lists the format libraries that are known globally to all SAS sessions.  \\n\\nDefault: SESSION\"}},{\"Name\":\"MEMBERS\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"[Sub-option for LISTFORMATS option]\\n    \\nLists the names of the members in each format library.\"}},{\"Name\":\"REPLACE\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"[Sub-option for PROMOTEFMTLIB and SAVEFMTLIB options]\\n    \\nIf the format library is already promoted, replace.\"}},{\"Name\":\"CASLIB=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"Syntax: CASLIB=caslib\\n    \\n[Sub-option for ADDFMTLIB, SAVEFMTLIB options]\\n    \\nName of the CAS library where a table is saved.\"}},{\"Name\":\"TABLE=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"Syntax: TABLE=table-name\\n    \\n[Sub-option for ADDFMTLIB, SAVEFMTLIB options]\\n    \\nSpecifies the name of the table where the format library is saved. \\n\\nNote: Do not specify this option with PATH=.\"}},{\"Name\":\"PATH=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[Sub-option for ADDFMTLIB option]\\n    \\nName of xml file where format information is saved.\"}},{\"Name\":\"PROMOTE\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"[Sub-option for ADDFMTLIB and SAVEFMT options] \\n    \\nPromotes the format library to global scope so that it is available to all sessions.\"}},{\"Name\":\"REPLACEFMTLIB\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"[Sub-option for ADDFMTLIB option] \\n    \\nIf the format library already exists, replace it.\"}},{\"Name\":\"FMTNAME=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[Sub-option for LISTFMTRANGES option]\\n    \\nName of the format.\"}},{\"Name\":\"_ALL_\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"[Valid only with the LIST, LISTHISTORY, TERMINATE, or CLEAR options]\\n    \\nSpecifies that the LIST, LISTHISTORY, TERMINATE or CLEAR argument applies to all sessions in the SAS client.\"}}]}}"
  },
  {
    "path": "server/data/Statements/CASLIB.json",
    "content": "{\"Keywords\":{\"Keyword\":[{\"Name\":\"DATASOURCE=\",\"Type\":\"RV\",\"Help\":{\"#cdata\":\"Syntax: DATASOURCE= (SRCTYPE=\\\"type\\\", <data-source-options>, <ENCRYPTIONPASSWORD=\\\"string\\\">) \\n\\nSpecifies data source options to use when connecting to a data source. The SRCTYPE=\\\"type\\\" option specifies \\nthe data source type. Data sources can be either databases or path-based. The data-source-options syntax \\ndepends on the data source. \\n\\n  ENCRYPTIONPASSWORD=\\\"string\\\" \\n    specifies a password for encrypting or decrypting stored data. \\n\\n    Restriction: The ENCRYPTIONPASSWORD= option can be specified only with the DATASOURCE= option. \\n\\n  SRCTYPE= PATH | DNFS | HDFS\"},\"SubOptionsKeywords\":\"ENCRYPTIONPASSWORD=|SRCTYPE=\"},{\"Name\":\"ASSIGN\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Used with the _ALL_ option to create SAS librefs for existing caslibs so that they are visible in the \\nSAS Studio Libraries tree. \\n\\nRequirement: The ASSIGN option must be used with the _ALL_ option.\"}},{\"Name\":\"_ALL_\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"[Valid only with the ASSIGN, DROP or LIST options]\\n    \\nSpecifies that the ASSIGN, or LIST argument applies to all currently added caslibs.\"}},{\"Name\":\"CREATEDIRECTORY|CREATEDIR\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Creates a subdirectory in the caslib's data source. The path, up to the last directory, must already exist.  \\n    \\nRestriction:\\nDirectory creation is available only for global caslibs.\\n\\nExample:\\nThe following CASLIB statement creates a new directory named Programs in the /examples/caslibs/ directory:\\n\\n  caslib TestDir path=\\\"/examples/caslibs/programs\\\" \\n                          datasource=(srctype=\\\"path\\\") createdir global;\"}},{\"Name\":\"DESCRIPTION=|DESC=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"Syntax: DESCRIPTION=\\\"description\\\" | DESC=\\\"description\\\" \\n    \\nSpecifies a description of the data source.\"}},{\"Name\":\"GLOBAL\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Adds the caslib so that it has global scope. A global-scope caslib can have access controls set so \\nthat it is accessible from all sessions and can be a way to share data. Other connections to the \\nserver that get their own sessions have access to the caslib, subject to access controls. If you \\ndo not specify GLOBAL, the caslib is created with session scope. You must also grant access to the \\ncaslib in the CAS Server Monitor.\"}},{\"Name\":\"LIBREF=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"Creates a libref and associates it with a caslib. The libref can then be used to access data in \\nSAS Cloud Analytic Services. \\n\\nExample:\\nThe following CASLIB statement creates the caslib Casdata and binds it to the libref Mycas.\\n\\n  caslib casdata path='/cas/mycasdata/' libref=mycas;\"}},{\"Name\":\"LIST\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Displays caslib names and their specifications. To display all caslibs, specify _ALL_ for the caslib-reference-name. \\n    \\nTip:\\nSpecify caslib-reference-name to list the settings for a single caslib. Specify _ALL_ to list all caslibs \\nand their caslib settings. The specifications displayed by the LIST _ALL_ option are a subset. For full \\nspecification information, use the LIST option with a specific caslib specified.\"}},{\"Name\":\"NOTACTIVE\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Specifies that the caslib being added does not become the active caslib for the session. \"}},{\"Name\":\"PATH=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"Syntax: PATH=\\\"directory-path\\\"\\n    \\nSpecifies the fully qualified path to a directory to use as a data source. \\n\\nExample The following CASLIB statement adds a caslib that accesses a path-based directory:\\n\\n    caslib mylib path=\\\"/local/data\\\" description=\\\"Local data\\\";\"}},{\"Name\":\"SESSION|LOCAL\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Syntax: SESSION | LOCAL\\n    \\nAdds the caslib so that it is session-scope. Other connections to the server that get their own \\nsessions do not have access to the caslib. The lifetime of the caslib is the lifetime of the session. \\nWhen you add caslibs, SESSION is the default.\"}},{\"Name\":\"SESSREF=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"Syntax: SESSREF=session-reference\\n    \\nSpecifies the name of the session to associate the caslib with. By default, the most recently started \\nsession is used.\"}},{\"Name\":\"SUBDIRS\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Specifies that subdirectories of the specified PATH= directory can be accessed with the caslib. \\n\\nTip: You do not need to use the SUBDIRS option if the full path to the subdirectory is specified.\"}}],\"#comment\":{}}}"
  },
  {
    "path": "server/data/Statements/ENDRSUBMIT.json",
    "content": "{\"Keywords\":{\"Keyword\":{\"Name\":\"CANCEL\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Terminates the block of statements without executing the statements. This option \\nis useful in an interactive line mode session if you see an error in a previously \\nentered statement, and you want to cancel the step.\"}}}}"
  },
  {
    "path": "server/data/Statements/FILE.json",
    "content": "{\"Keywords\":{\"Keyword\":[{\"Name\":\"LOG\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Is a reserved fileref that directs the output that is produced by any PUT statements \\nto the SAS log.\"}},{\"Name\":\"DISK\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"[device-type] \\n    \\nSpecifies that the device is a disk drive.\"}},{\"Name\":\"DUMMY\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"[device-type] \\n    \\nSpecifies that the output to the file is discarded. \\n\\nTip: Specifying DUMMY can be useful for testing.\"}},{\"Name\":\"GTERM\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"[device-type] \\n    \\nIndicates that the output device type is a graphics device that will receive \\ngraphics data.\"}},{\"Name\":\"PIPE\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"[device-type] \\n    \\nSpecifies an unnamed pipe. Note: Some operating environments do not support pipes.\"}},{\"Name\":\"PLOTTER\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"[device-type] \\n    \\nSpecifies an unbuffered graphics output device.\"}},{\"Name\":\"PRINTER\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"[device-type] \\n    \\nSpecifies a printer or printer spool file.\"}},{\"Name\":\"TAPE\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"[device-type] \\n    \\nSpecifies a tape drive.\"}},{\"Name\":\"TEMP\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"[device-type] \\n    \\nCreates a temporary file that exists only as long as the filename is assigned. \\n    \\nRestriction: Do not specify a physical pathname. If you do, SAS returns an error.\"}},{\"Name\":\"TERMINAL\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"[device-type] \\n    \\nSpecifies the user's terminal.\"}},{\"Name\":\"UPRINTER\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"[device-type] \\n    \\nSpecifies a Universal Printing printer definition name.\"}},{\"Name\":\"COLUMN=|COL=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"Specifies a variable that SAS automatically sets to the current column location \\nof the pointer.\"}},{\"Name\":\"DELIMITER=|DLM=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"Specifies an alternate delimiter (other than a blank) to be used for LIST output.\"}},{\"Name\":\"DLMSTR=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"Specifies a character string as an alternate delimiter (other than a blank) to be \\nused for LIST output\"}},{\"Name\":\"DLMSOPT='T'\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"Specifies a parsing option for the DLMSTR= T option that removes trailing blanks of the \\nstring delimiter.\"},\"Values\":{\"@Value1\":\"'T'\"},\"ToolTips\":{\"@ToolTip1\":\"Removes trailing blanks of the string delimiter.\"}},{\"Name\":\"DROPOVER\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Discards data items that exceed the output line length (as specified by the LINESIZE= \\nor LRECL= options in the FILE statement).\"}},{\"Name\":\"DSD\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Specifies that data values that contain embedded delimiters, such as tabs or commas, \\nbe enclosed in quotation marks.\"}},{\"Name\":\"ENCODING=\",\"Type\":\"V\",\"Values\":{\"@Value1\":\"'warabic'\",\"@Value2\":\"'wbaltic'\",\"@Value3\":\"'wlatin2'\",\"@Value4\":\"'wcyrillic'\",\"@Value5\":\"'wgreek'\",\"@Value6\":\"'whebrew'\",\"@Value7\":\"'wturkish'\",\"@Value8\":\"'wvietnamese'\",\"@Value9\":\"'wlatin1'\",\"@Value10\":\"'utf-8'\",\"@Value11\":\"'ms-950'\",\"@Value12\":\"'ms-936'\",\"@Value13\":\"'ms-932'\",\"@Value14\":\"'ms-949'\"},\"ToolTips\":{\"@ToolTip1\":\"Arabic\",\"@ToolTip2\":\"Baltic\",\"@ToolTip3\":\"Central Europe\",\"@ToolTip4\":\"Cyrillic\",\"@ToolTip5\":\"Greek\",\"@ToolTip6\":\"Hebrew\",\"@ToolTip7\":\"Turkish\",\"@ToolTip8\":\"Vietnamese\",\"@ToolTip9\":\"Western\",\"@ToolTip10\":\"Unicode encoding\",\"@ToolTip11\":\"Traditional Chinese\",\"@ToolTip12\":\"Simplified Chinese\",\"@ToolTip13\":\"Japanese\",\"@ToolTip14\":\"Korean\"},\"Help\":{\"#cdata\":\"Specifies the encoding to use when writing to the output file.\"}},{\"Name\":\"FILENAME=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"Defines a character variable, whose name you supply, that SAS sets to the value of the \\nphysical name of the file currently open for PUT statement output.\"}},{\"Name\":\"FILEVAR=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"Defines a variable whose change in value causes the FILE statement to close the current \\noutput file and open a new one the next time the FILE statement executes.\"}},{\"Name\":\"FLOWOVER\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Causes data that exceeds the current line length to be written on a new line.\"}},{\"Name\":\"FOOTNOTES|FOOTNOTE\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Specifies that the currently defined footnotes are printed.\"}},{\"Name\":\"NOFOOTNOTES|NOFOOTNOTES\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Specifies that the currently defined footnotes are not printed.\"}},{\"Name\":\"HEADER=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"Defines a statement label that identifies a group of SAS statements that you want \\nto execute each time SAS begins a new output page\"}},{\"Name\":\"LINE=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"Defines a variable whose value is the current relative line number within the group \\nof lines available to the output pointer.\"}},{\"Name\":\"LINESIZE=|LS=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"Sets the maximum number of columns per line for reports and the maximum record length \\nfor data files.\"}},{\"Name\":\"LINESLEFT=|LL=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"Defines a variable whose value is the number of lines left on the current page.\"}},{\"Name\":\"LRECL=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"Specifies the logical record length of the output file.\"}},{\"Name\":\"MOD\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Writes the output lines after any existing lines in the file.\"}},{\"Name\":\"N=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"Specifies the number of lines that you want available to the output pointer in the \\ncurrent iteration of the DATA step.\"},\"Values\":{\"@Value1\":\"<n>\",\"@Value2\":\"PAGESIZE|PS\"},\"ToolTips\":{\"@ToolTip1\":\"Specifies the number of lines that are available to the output pointer. Replace n  with an integer.\",\"@ToolTip2\":\"Specifies that the entire page is available to the output pointer.\"}},{\"Name\":\"ODS=\",\"Type\":\"S|V\",\"Help\":{\"#cdata\":\"[Syntax: ODS < = (ODS-suboptions) >] \\n    \\nSpecifies to use the Output Delivery System to format the output from a DATA step.\"}},{\"Name\":\"OLD\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Replaces the previous contents of the file.\"}},{\"Name\":\"PAD\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Specifies that records written to an external file are padded with blanks to the \\nlength that is specified in the LRECL= option.\"}},{\"Name\":\"NOPAD\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Specifies that records written to an external file are not padded with blanks to the \\nlength that is specified in the LRECL= option.\"}},{\"Name\":\"PAGESIZE=|PS=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[Syntax: PAGESIZE=value] \\n    \\nSets the number of lines per page for your reports.\"}},{\"Name\":\"PRINT\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Either a reserved fileref that directs the output that is produced by any PUT statements \\nto the same file as the output that is produced by SAS procedures, or an option that \\nspecifies that carriage-control characters are placed in the output lines.\"}},{\"Name\":\"NOPRINT\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Specifies that carriage-control characters are placed in the output lines.\"}},{\"Name\":\"STOPOVER\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Stops processing the DATA step immediately if a PUT statement attempts to write a \\ndata item that exceeds the current line length.\"}},{\"Name\":\"TITLES|TITLE\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Specifies that the current title lines are printed on the pages of files.\"}},{\"Name\":\"NOTITLES|NOTITLE\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Specifies that the current title lines are not printed on the pages of files.\"}},{\"Name\":\"_FILE_=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[Syntax: _FILE_=variable] \\n    \\nNames a character variable that references the current output buffer of this FILE statement.\"}},{\"Name\":\"BLKSIZE=|BLK=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[Syntax: BLKSIZE=block-size] \\n    \\n[Windows Host Option]\\n\\nSpecifies the number of bytes that are physically read or written in an I/O operation. \\nThe default is 8K. The maximum is 1M (Windows) or 1G-1(UNIX). \\n\\nIn UNIX, if you specify RECFM=S370VBS, then you should specify BLKSIZE=32760 in order \\nto avoid errors with records longer than 255 characters.\"}},{\"Name\":\"BLOCK\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Is used only in the context of named pipes. This option indicates whether the client \\nis to wait if no data is currently available. BLOCK is the default value.\"}},{\"Name\":\"NOBLOCK\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Is used only in the context of named pipes. This option indicates whether the client \\nis to wait if no data is currently available. BLOCK is the default value.\"}},{\"Name\":\"BYTE\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Is used only in the context of named pipes. This option indicates the type of pipe. \\nBYTE is the default value.\"}},{\"Name\":\"MESSAGE\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Is used only in the context of named pipes. This option indicates the type of pipe. \\nBYTE is the default value.\"}},{\"Name\":\"COMMAND\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"[Windows Host Option]\\n    \\nAllows remote commands to be issued to DDE server applications that not use the \\nSYSTEM topic name.\"}},{\"Name\":\"EOFCONNECT\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"[Windows Host Option] \\n    \\nIs used only in the context of named pipes and is valid only when you are defining \\nthe server. This option indicates that if an end-of-file (EOF) character is \\nreceived from a client, the server should try to connect to the next client.\"}},{\"Name\":\"HOTLINK\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"[Windows Host Option] \\n    \\nInstructs SAS to use the DDE HOTLINK.\"}},{\"Name\":\"NOTAB\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"[Windows Host Option] \\n    \\nInstructs SAS to ignore tab characters between variables.\"}},{\"Name\":\"IGNOREDOSEOF\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"[Windows Host Option] \\n    \\nIs used in the context of I/O operations on variable record format files. When this \\noption is specified, any occurrence of ^Z is interpreted as character data and \\nnot as an end-of-file marker.\"}},{\"Name\":\"RECFM=\",\"Type\":\"V\",\"Values\":{\"@Value1\":\"F\",\"@Value2\":\"P\",\"@Value3\":\"S\",\"@Value4\":\"V|D\",\"@Value5\":\"N\",\"@Value6\":\"s370V\",\"@Value7\":\"S370VB\",\"@Value8\":\"S370VBS\",\"@Value9\":\"STREAMLF\",\"@Value10\":\"FB\",\"@Value11\":\"VB\",\"@Value12\":\"U\"},\"ToolTips\":{\"@ToolTip1\":\"Fixed-record format\",\"@ToolTip2\":\"Print format.\",\"@ToolTip3\":\"Stream-record format.\",\"@ToolTip4\":\"Variable-record format (the default)\",\"@ToolTip5\":\"Indicates binary format and causes the file to be treated as a byte stream. If LRECL is not specified,  by default SAS reads 256 bytes at a time from the file.\",\"@ToolTip6\":\"Indicates the variable S370 record format (V).\",\"@ToolTip7\":\"Indicates the variable block S370 record format (VB).\",\"@ToolTip8\":\"Indicates the variable block with spanned records S370 record format (VBS).\",\"@ToolTip9\":\"[For OpenVMS] Specifies StreamLF record format. Records are delimited by LF.\",\"@ToolTip10\":\"Specifies fixed-length records, blocked.\",\"@ToolTip11\":\"Specifies variable-length records, blocked.\",\"@ToolTip12\":\"Specifies undefined-length records, unblocked.\"},\"Help\":{\"#cdata\":\"[Windows Host Option] \\n    \\nSpecifies the record format of the external file.\"}},{\"Name\":\"RETRY=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[Syntax: RETRY=seconds] \\n    \\n[Windows Host Option]\\n\\nIs used only in the context of named pipes. This option specifies how long a named \\npipe client should wait for a busy pipe. The minimum (and default) value for seconds \\nis 10.\"}},{\"Name\":\"SERVER\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"[Windows Host Option] \\n    \\nIs used only in the context of named pipes. This option specifies the mode of a \\nnamed pipe. The default value is SERVER.\"}},{\"Name\":\"CLIENT\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"[Windows Host Option] \\n    \\nIs used only in the context of named pipes. This option specifies the mode of a \\nnamed pipe. The default value is SERVER.\"}},{\"Name\":\"TERMSTR=\",\"Type\":\"V\",\"Values\":{\"@Value1\":\"CRLF\",\"@Value2\":\"LF\",\"@Value3\":\"NL\"},\"ToolTips\":{\"@ToolTip1\":\"Carriage return line feed. Use TERMSTR=CRLF to write Windows formatted files. CRLF is the default.\",\"@ToolTip2\":\"Line feed. Use TERMSTR=LF to write UNIX formatted files.\",\"@ToolTip3\":\"New line. Use TERMSTR=NL to write UNIX formatted files.\"},\"Help\":{\"#cdata\":\"[Windows Host Option] \\n    \\nSpecifies the end-of-line character for the file. Use this option to share files \\nbetween the UNIX and Windows operating environments.\"}},{\"Name\":\"ALQ=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[OpenVMS Host Option]\\n    \\nSpecifies the number of blocks initially allocated to an external file when it is created. \\nThe value can range from 0 to 2,147,483,647. If the value is 0 (the default), the minimum \\nnumber of blocks required for the given file format is used.\\n\\nThe ALQ= option (allocation quantity) is used for output and corresponds to the FAB$L_ALQ \\nfield in OpenVMS Record Management Services (RMS).\"}},{\"Name\":\"CC=\",\"Type\":\"V\",\"Values\":{\"@Value1\":\"FORTRAN\",\"@Value2\":\"PRINT\",\"@Value3\":\"CR\"},\"ToolTips\":{\"@ToolTip1\":\"Indicates FORTRAN carriage-control format. This is the default for print files.\",\"@ToolTip2\":\"Indicates OpenVMS print format.\",\"@ToolTip3\":\"Indicates OpenVMS carriage-return, carriage-control format. This is the default  for nonprinting files.\"},\"Help\":{\"#cdata\":\"[OpenVMS Host Option] \\n    \\nSpecifies the carriage-control format of the SAS log and the procedure output file.\"}},{\"Name\":\"DEQ=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[OpenVMS Host Option]\\n    \\nSpecifies the number of blocks added when OpenVMS RMS automatically extends an external \\nfile during a write operation. The value can range from 0 to 65,535. The default value \\nis 0, telling OpenVMS RMS to use the process's default value. A large value results in \\nfewer file extensions over the life of the file; a small value results in numerous file \\nextensions over the life of the file. A file with numerous file extensions might be \\nnoncontiguous, thereby slowing record access.\\n\\nThe DEQ= option (default file extension quantity) is used for output and corresponds to \\nthe FAB$W_DEQ field in OpenVMS RMS.\"}},{\"Name\":\"FAC=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[OpenVMS Host Option]\\n    \\nOverrides the default file access attributes used for external files. Use this option \\nto indicate the level of access you want to allow for an external file. You can allow \\nREAD, WRITE, UPDATE, and DELETE access (as well as no access). By default with external \\nfiles, files opened for input allow read access, files opened for output allow WRITE \\naccess, and files opened for update allow READ and WRITE access. The form of the FAC= \\noption is \\n\\n  FAC=access-option-list\\n  \\nwhere access-option-list can be one of the following: \\n\\n  DEL specifies DELETE access.\\n   \\n  GET specifies READ access.\\n   \\n  PUT specifies WRITE access.\\n   \\n  UPD specifies UPDATE access. \\n\\nYou can combine these values in any order. For example, specifying the following indicates \\nthat you want DELETE, READ, and WRITE access: \\n\\n  fac=(del,get,put)\\n  \"}},{\"Name\":\"GSFCC=\",\"Type\":\"V\",\"Values\":{\"@Value1\":\"PRINT\",\"@Value2\":\"CR\",\"@Value3\":\"NONE\"},\"ToolTips\":{\"@ToolTip1\":\"Creates a GSF file. It is a VFC format file with carriage control set to null. These  files can be used with most utilities with the exception of some file transfer  protocols, such as Kermit. This is the default value for this option.\",\"@ToolTip2\":\"Creates a carriage return carriage control file.\",\"@ToolTip3\":\"Creates a file with no carriage control. This format is useful if you plan to download  the file to a personal computer.\"},\"Help\":{\"#cdata\":\"[OpenVMS Host Option] \\n    \\nSpecifies the file format of graphic stream files (GSF files). When specified in \\nthe FILENAME statement, it affects only the GSF files that are created using that \\nfileref.\"}},{\"Name\":\"KEY=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[OpenVMS Host Option]\\n    \\nSpecifies which key SAS uses to read the records in an RMS file with indexed organization. \\nThe KEY= option is always used with the KEYVALUE= option. \"}},{\"Name\":\"KEYVALUE=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[OpenVMS Host Option]\\n    \\nSpecifies the key value with which to begin reading an indexed file. \"}},{\"Name\":\"MBC=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[OpenVMS Host Option]\\n    \\nSpecifies the size of the I/O buffers that OpenVMS RMS allocates for a particular file. \\nThe value can range from 0 to 127 and represents the number of blocks used for each buffer. \\nBy default, this option is set to 0 and the default values for the process are used.\\n\\nThe MBC= option (multiblock count) is used for both input and output to control the \\nallocation for a particular file. If you want to control the allocation size for all \\nthe external files used during the current SAS session, you can use the MBC= option in \\nevery FILE, FILENAME, or INFILE statement. You can also use the DCL SET RMS_DEFAULT \\ncommand to specify a process default, and let the SAS values default to the process's \\ndefault values.\\n\\nThe MBC= option corresponds to the RAB$B_MBC field in OpenVMS RMS or the CONNECT \\nMULTIBLOCK_COUNT attribute when using FDL. This option is not supported for DECnet \\noperations.\"}},{\"Name\":\"MBF=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[OpenVMS Host Option]\\n    \\nSpecifies the number of I/O buffers you want OpenVMS RMS to allocate for a particular file. \\nThe value can range from 0 to 127 and represents the number of buffers used. By default, \\nthis option is set to a value of 2. If a value of 0 is specified, the default value for the \\nprocess is used.\\n\\nThe MBF= option (multibuffer count) is used for both input and output to control the number \\nof buffers allocated for a particular file. If you want to control the number of buffers \\nallocated for all the external files used during the SAS session, you can use the MBF= \\noption in every FILE, FILENAME, or INFILE statement. The DCL SET RMS_DEFAULT command can \\nbe used to specify a process default. Then, you can let the SAS values default to the \\nprocess's default values.\\n\\nThe MBF= option corresponds to the RAB$B_MBF field in OpenVMS RMS or the CONNECT MULTIBUFFER_COUNT \\nattribute when using FDL. This option is not supported for DECnet operations.\"}},{\"Name\":\"SHR=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[OpenVMS Host Option]\\n    \\nOverrides the default file-sharing attributes used for external files. With this option, \\nyou can indicate the access level you want to give other users. You can allow READ, WRITE, \\nUPDATE, and DELETE access (as well as no access). By default with external files, files \\nopened for input allow shared read access, and files opened for output or UPDATE do not \\nallow shared access.\\n\\nHowever, you can allow other users to have READ and WRITE access to a file that you are \\nopening for input only. To accomplish this, use the SHR= option. The syntax of the SHR= \\noption is \\n\\n  SHR=share-option-list\\n\\nwhere share-option-list can be one of the following: DEL specifies DELETE access.\\n \\n  GET specifies shared READ access.\\n   \\n  NONE specifies no shared access.\\n   \\n  PUT specifies shared WRITE access.\\n   \\n  UPD specifies UPDATE access.  \\n\\nYou can combine these values in any order. For example, specifying the following indicates \\nthat you want shared DELETE, READ, and WRITE access: \\n\\n  shr=(del,get,put)\"}}],\"#comment\":[{},{}]}}"
  },
  {
    "path": "server/data/Statements/FILENAME.json",
    "content": "{\"Keywords\":{\"Keyword\":[{\"Name\":\"CLEAR\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Disassociates one or more currently assigned filerefs.\"}},{\"Name\":\"_ALL_\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Specifies that the CLEAR or LIST argument applies to all currently assigned filerefs.\"}},{\"Name\":\"LIST\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Writes the attributes of one or more files to the SAS log, or issues the LIST \\ncommand to the FTP server.\"}},{\"Name\":\"DISK\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Specifies that the device is a disk drive.\"}},{\"Name\":\"DUMMY\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Specifies that the output to the file is discarded.\"}},{\"Name\":\"GTERM\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Indicates that the output device type is a graphics device that will receive \\ngraphics data.\"}},{\"Name\":\"PIPE\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Specifies an unnamed pipe.\"}},{\"Name\":\"PLOTTER\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Specifies an unbuffered graphics output device.\"}},{\"Name\":\"PRINTER\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Specifies a printer or printer spool file.\"}},{\"Name\":\"TAPE\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Specifies a tape drive.\"}},{\"Name\":\"TEMP\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Creates a temporary file that exists only as long as the filename is assigned.\"}},{\"Name\":\"TERMINAL\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Specifies the user's terminal.\"}},{\"Name\":\"UPRINTER\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Specifies a Universal Printing printer definition name.\"}},{\"Name\":\"COMMPORT\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"[Device Type for Windows] \\n    \\nReads data from and writes data to a communications port.\"}},{\"Name\":\"DRIVEMAP\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"[Device Type for Windows] \\n    \\nDisplays information about the available hard drives (local and networked).\"}},{\"Name\":\"NAMEPIPE\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"[Device Type for Windows] \\n    \\nWrites data to a named pipe.\"}},{\"Name\":\"NOTESDB\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"[Device Type for Windows] \\n    \\nWrites data to a Lotus Notes database.\"}},{\"Name\":\"HFS\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"[Device Type for z/OS] \\n    \\nSpecifies a UNIX System Services file.\"}},{\"Name\":\"MVS\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"[Device Type for z/OS] \\n    \\nSpecifies an MVS data set.\"}},{\"Name\":\"NOMVSTRANS\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"[Device Type for z/OS] \\n    \\nSuppresses the EBCDIC to ASCII translation that is internal to the Socket access method.\\n\\nRestriction: The NOMVSTRANS option is supported only for the SBCS (Single-Byte Character Set) \\nversion of SAS.\"}},{\"Name\":\"ENCODING=\",\"Type\":\"V\",\"Values\":{\"@Value1\":\"'warabic'\",\"@Value2\":\"'wbaltic'\",\"@Value3\":\"'wlatin2'\",\"@Value4\":\"'wcyrillic'\",\"@Value5\":\"'wgreek'\",\"@Value6\":\"'whebrew'\",\"@Value7\":\"'wturkish'\",\"@Value8\":\"'wvietnamese'\",\"@Value9\":\"'wlatin1'\",\"@Value10\":\"'utf-8'\",\"@Value11\":\"'ms-950'\",\"@Value12\":\"'ms-936'\",\"@Value13\":\"'ms-932'\",\"@Value14\":\"'ms-949'\"},\"ToolTips\":{\"@ToolTip1\":\"Arabic\",\"@ToolTip2\":\"Baltic\",\"@ToolTip3\":\"Central Europe\",\"@ToolTip4\":\"Cyrillic\",\"@ToolTip5\":\"Greek\",\"@ToolTip6\":\"Hebrew\",\"@ToolTip7\":\"Turkish\",\"@ToolTip8\":\"Vietnamese\",\"@ToolTip9\":\"Western\",\"@ToolTip10\":\"Unicode encoding\",\"@ToolTip11\":\"Traditional Chinese\",\"@ToolTip12\":\"Simplified Chinese\",\"@ToolTip13\":\"Japanese\",\"@ToolTip14\":\"Korean\"},\"Help\":{\"#cdata\":\"Specifies the encoding to use when SAS is reading from or writing to an external file.\"}},{\"Name\":\"RECFM=\",\"Type\":\"V\",\"Values\":{\"@Value1\":\"F\",\"@Value2\":\"P\",\"@Value3\":\"S\",\"@Value4\":\"V|D\",\"@Value5\":\"N\",\"@Value6\":\"s370V\",\"@Value7\":\"S370VB\",\"@Value8\":\"S370VBS\",\"@Value9\":\"STREAMLF\"},\"ToolTips\":{\"@ToolTip1\":\"Fixed-record format\",\"@ToolTip2\":\"Print format. [Not applicable to DATURL and ZIP Access Methods.]\",\"@ToolTip3\":\"Stream-record format. Data is transferred in image (binary) mode.\",\"@ToolTip4\":\"Variable-record format (the default). In this format, records have varying lengths, and they are transferred in text (stream) mode.\",\"@ToolTip5\":\"Indicates binary format and causes the file to be treated as a byte stream. If LRECL  is not specified, by default SAS reads 256 bytes at a time from the file.   [Not applicable to DATURL and ZIP Access Methods.]\",\"@ToolTip6\":\"Indicates the variable S370 record format (V).                 [Not applicable to DATURL and ZIP Access Methods.]\",\"@ToolTip7\":\"Indicates the variable block S370 record format (VB).                 [Not applicable to DATURL and ZIP Access Methods.]\",\"@ToolTip8\":\"Indicates the variable block with spanned records S370 record format (VBS).                 [Not applicable to DATURL and ZIP Access Methods.]\",\"@ToolTip9\":\"[For OpenVMS] Specifies StreamLF record format. Records are delimited by LF.                 [Not applicable to DATURL and ZIP Access Methods.]\"},\"Help\":{\"#cdata\":\"Specifies the record format of the external file. \\n    \\nInteraction:\\nIn SAS 9.4, the default value for the global LRECL system option is 32767. If you are \\nusing fixed-length records (RECFM=F), the default value for LRECL is 256.\\n    \\nUnder z/OS, the following values can be appended to the RECFM= values: \\n\\n  A specifies that the first byte of each record is an ANSI printer-control character.\\n   \\n  M specifies that the file is a machine control character file. SAS does not interpret \\n    machine-code control characters, nor does it create them in output files.     \\n   \\n  S specifies that the file contains spanned records (when appended to V), or that the \\n    file contains standard blocks (when appended to F).\"}},{\"Name\":\"CATALOG|LIBRARY\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"[Syntax: FILENAME fileref CATALOG 'catalog' <catalog-options>; ] \\n   \\nSpecifies the access method that enables you to reference a SAS catalog as an external file. \\n\\n'catalog' \\nis a valid two-, three-, or four-part SAS catalog name, where the parts represent \\nlibrary.catalog.entry.entrytype.\\n\\nDefault: The default entry type is CATAMS.\"}},{\"Name\":\"LRECL=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"Is the logical record length for the data in bytes. Under Windows, the default is 256. \\nThe value of record-length can range from 1 to 1,073,741,823 (1 gigabyte).\\n\\nAlternatively, you can specify a logical record length value by using the LRECL= system \\noption. \\n\\nInteraction\\nIn SAS 9.4, the default value for the global LRECL system option is 32767. If you are using fixed-length \\nrecords (RECFM=F), the default value for LRECL is 256.\"}},{\"Name\":\"DESC=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"Alias: DESCRIPTION=\\n    \\nSpecifies a description for a file or catalog.\"}},{\"Name\":\"MOD\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Places the file in update mode and appends updates to the bottom of the file.\\n    \\nMOD indicates that data written to the file should be appended to the file instead of overwriting \\nthe file.\"}},{\"Name\":\"CLIPBRD\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"[Syntax: FILENAME fileref CLIPBRD <BUFFER=paste-buffer-name>; ] \\n    \\nSpecifies the access method that enables you to read data from or write data to the clipboard on \\nthe host machine.\"}},{\"Name\":\"BUFFER=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[For the FILENAME, CLIPBOARD Access Method only] \\n    \\n[Syntax: FILENAME fileref CLIPBRD <BUFFER=paste-buffer-name>;] \\n    \\nCreates and names the paste buffer. You can create any number of paste buffers by naming them with \\nthe BUFFER= argument in the STORE command.\"}},{\"Name\":\"EMAIL\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Specifies the EMAIL device type, which provides the access method that enables you \\nto send electronic mail programmatically from SAS.\"}},{\"Name\":\"CONTENT_TYPE=|TYPE=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[Syntax: CONTENT_TYPE='content/type'] \\n    \\nSpecifies the content type for the message body.\"}},{\"Name\":\"DELIVERRECEIPT\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Specifies that a notification be sent when the e-mail message is delivered to the recipient. \\n    \\nNote:If the recipient\\u2019s e-mail client does not support or if the recipient does not allow \\n\\u201cdelivery receipt\\u201d requests, the sender will not get a \\u201cdelivery receipt\\u201d notification when \\nthe e-mail is delivered.\"}},{\"Name\":\"TO=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[Syntax: TO='to-address'] \\n   \\nSpecifies the primary recipient(s) of the e-mail message. You must enclose the address in \\nquotation marks. \\n\\nTo specify more than one address, enclose the group of addresses in parentheses, enclose \\neach address in quotation marks, and separate each address with a space.\"}},{\"Name\":\"CC=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[Syntax: CC='cc-address' | CC=FORTRAN | PRINT | CR] \\n    \\n(1) Specifies the recipient(s) to receive a copy of the e-mail message. \\nYou must enclose an address in quotation marks. \\n\\nTo specify more than one address, enclose the group of addresses in parentheses, enclose \\neach address in quotation marks, and separate each address with a space.\\n\\n(2) As an OpenVMS Host Option, CR= specifies the carriage-control format of the SAS log \\nand the procedure output file. \\n\\n  FORTRAN\\n  Indicates FORTRAN carriage-control format. This is the default for print files.\\n\\n  PRINT\\n  Indicates OpenVMS print format.\\n\\n  CR\\n  Indicates OpenVMS carriage-return, carriage-control format. This is the default \"}},{\"Name\":\"BCC=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[Syntax: BCC='bcc-address'] \\n    \\nSpecifies the recipient(s) that you want to receive a blind copy of the electronic mail. \\nIndividuals that are listed in the bcc field will receive a copy of the e-mail.\"}},{\"Name\":\"FROM=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[Syntax: FROM='from-address'] \\n    \\nSpecifies the e-mail address of the author of the message that is being sent. \\nThe default value for FROM= is the e-mail address of the user who is running SAS.\"}},{\"Name\":\"EXPIRES=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[Syntax: EXPIRES='dd mon yyyy hh:mm'] \\n    \\nSpecifies the expiration date for the e-mail message. \\n\\nThe format dd mon hh:mm parameters are defined as follows: \\ndd \\n  is an integer from 01 to 31 that represents the day of the month. \\nmon \\n  are the first three letters of the month name in English. \\nyyyy \\n  is a four-digit integer that represents the year. \\nhh \\n  is the number of hours that range from 00 through 23. \\nmm \\n  is the number of minutes that range from 00 through 59. \\n  \\nTip:If the date and time have passed the current date and time, an error message \\noccurs and no e-mail is sent.\"}},{\"Name\":\"READRECEIPT\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Specifies that a notification be sent when the e-mail message is read by the recipient. \\n    \\nNote:If the recipient\\u2019s e-mail client does not support or if the recipient does not \\nallow return \\u201cread receipt\\u201d requests, the sender will not get a \\u201cread receipt\\u201d \\nnotification when the recipient reads the e-mail.\"}},{\"Name\":\"IMPORTANCE=\",\"Type\":\"V\",\"Values\":{\"@Value1\":\"'LOW'\",\"@Value2\":\"'NORMAL'\",\"@Value3\":\"'HIGH'\"},\"ToolTips\":{\"@ToolTip1\":\"Low priority message\",\"@ToolTip2\":\"Normal priority message\",\"@ToolTip3\":\"High priority message\"},\"Help\":{\"#cdata\":\"Specifies the priority of the e-mail message. You must enclose the value in quotation \\nmarks. You can specify the priority in the language that matches your session encoding. \\nHowever, SAS will translate the priority into English because the actual message header \\nmust contain English in accordance with the RFC-2076 specification (Common Internet \\nMessage Headers).\"}},{\"Name\":\"REPLYTO=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[Syntax: REPLYTO='replyto-address'] \\n    \\nSpecifies the e-mail address(es) for who will receive replies. \\nYou must enclose an address in quotation marks. \\n\\nTo specify more than one address, enclose the group of addresses in parentheses, \\nenclose each address in quotation marks, and separate each address with a space.\"}},{\"Name\":\"SUBJECT=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[Syntax: SUBJECT=subject] \\n    \\nSpecifies the subject of the message.\"}},{\"Name\":\"ATTACH=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[Syntax: ATTACH='filename.ext' | ATTACH= ('filename.ext' attachment-options)]\\n    \\nSpecifies the physical name of the file(s) to be attached to the message and any \\noptions to modify attachment specifications.\"}},{\"Name\":\"EXTENSION=|EXT=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"Specifies a different file extension to be used for the specified attachment.\"}},{\"Name\":\"NAME=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"Specifies a different name to be used for the specified attachment.\\n    \\nNAME= can also be an alias for FILENAME=, and specifies the name of a file.\"}},{\"Name\":\"OUTENCODING=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"Specifies the resulting text encoding for the attachment to be sent.\"}},{\"Name\":\"FTP\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Specifies the access method that enables you to use File Transfer Protocol (FTP) \\nto read from or write to a file from any host machine that you can connect to on \\na network with an FTP server running.\"}},{\"Name\":\"SFTP\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Specifies the access method that enables you to use Secure File Transfer Protocol \\n(SFTP) to read from or write to a file from any host computer that you can connect \\nto on a network with an OpenSSH SSHD server running.\"}},{\"Name\":\"BINARY\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Is fixed-record format. Thus, all records are of size LRECL with no line delimiters. \\nData is transferred in image (binary) mode. \\n\\nAlias: RECFM=F\"}},{\"Name\":\"CD=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[Syntax: CD='directory'] \\n    \\nIssues a command that changes the working directory for the file transfer to the directory \\nthat you specify.\\n\\nCD= can also be an alias for CONTENTDISP=, CDISP=, which specifies how to deliver the file.\"}},{\"Name\":\"DEBUG\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Writes debugging information to the SAS log.\"}},{\"Name\":\"FILEEXT\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"This option may be used to specify that:\\n\\n(1) a file extension is automatically appended to the filename member if the extension \\ndoes not exist; or\\n\\n(2) the member type of DATA is automatically appended to the member name on the FILE \\nor INFILE statement when you use the DIR option. \\n\\nInteraction:\\nThe autocall macro facility always passes the extension .SAS to the file access method as \\nthe extension to use when opening files in the autocall library. The DATA step always passes \\nthe extension .DATA. If you define a fileref for an autocall macro library and the files in \\nthat library have a file extension of .SAS, use the FILEEXT option. If the files in that \\nlibrary do not have an extension, do not use the FILEEXT option. For example, if you define \\na fileref for an input file in the DATA step and the file X has an extension of .DATA, you \\nwould use the FILEEXT option to read the file X.DATA. If you use the INFILE or FILE statement, \\nenclose the member name and extension in quotation marks to preserve the casing.\\n\\nTip: The FILEEXT option is ignored if you specify a file extension on the FILE or INFILE statement.\"}},{\"Name\":\"DIR\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Enables you to access directory files or PDS/PDSE members.\"}},{\"Name\":\"MGET\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Transfers multiple files, similar to the FTP/SFTP command MGET.\"}},{\"Name\":\"MPROMPT\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Specifies whether to prompt for confirmation that a file is to be read, if \\nnecessary, when the user executes the MGET option.\"}},{\"Name\":\"NEW\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Specifies that you want FTP/SFTP to create the directory when you use the DIR option.\\n    \\nUnder UNIX, NEW indicates that a new file is to be opened for output. If the file \\nalready exists, then it is deleted and re-created. \"}},{\"Name\":\"PASSIVE\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Specifies that an attempt is made for passive mode FTP. \\n    \\nIn passive mode FTP, the client initiates the control and data connections to the server. \\nThis action solves the problem of firewalls filtering the incoming data port connection \\nto the client from the server. \\n\\nNote:Not all FTP servers support the passive mode. If an attempt is made by the FILENAME \\nstatement FTP access method to issue the PASV command and the command fails or the server \\ndoes not accept the command, then active mode FTP is used for the connection.\"}},{\"Name\":\"OLD\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"[UNIX Host Option]\\n    \\nIf you specify OLD, then the previous contents of the file are replaced. NEW is the default.\"}},{\"Name\":\"PROMPT\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Specifies to prompt for the user login password, if necessary.\\n    \\nInteraction: TheUSER= and PASS= options override the PROMPT option if all three options \\nare specified. If you specify the PROMPT option and do not specify the USER= or PASS= \\noption, you will be prompted for a user ID and password.\"}},{\"Name\":\"BLOCKSIZE=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"Specifies the size of the data buffer in bytes.\"}},{\"Name\":\"HOST=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"Network name of the remote host with the FTP or OpenSSH SSHD  server running.\"}},{\"Name\":\"HOSTRESPONSELEN=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[Syntax: HOSTRESPONSELEN='size'] \\n    \\nwhere size is the length of the FTP server response message.\\n\\nDefault: 2048 bytes \\n\\nRange: 2048 to 16384 bytes \\n\\nRestriction: If you specify a size that is less than 2048 or is greater than 16384, the size will \\nbe set to 2048.\"}},{\"Name\":\"LOWCASE_MEMNAME\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Enables autocall macro retrieval of lowercase directory or member names from FTP servers or ZIP files. \\n    \\nRestriction:\\nSAS autocall macro retrieval always searches for uppercase directory member names. Mixed-case directory \\nor member names are not supported.\"}},{\"Name\":\"OPTIONS=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"Specifies SFTP configuration options such as port numbers.\"}},{\"Name\":\"LS\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Issues the LS command to the FTP/SFTP server. LS returns the contents of the \\nworking directory as records with no file attributes.\"}},{\"Name\":\"LSA\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Issues the LS command to the SFTP server. LSA returns all the contents of the \\nworking directory as records with no file attributes.\"}},{\"Name\":\"LSFILE=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[Syntax: LSFILE='character-string'] \\n    \\nIn combination with the LS option, specifies a character string that enables you \\nto request a listing of a subset of files from the working directory. Enclose the \\ncharacter string in quotation marks.\"}},{\"Name\":\"PATH\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Specifies the location of the SFTP executable if it is not installed in the PATH \\nor $PATH search path.\"}},{\"Name\":\"PASS=|PASSWORD=|PW=|PWD=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[Syntax: PASS='password'] \\n   \\nIs the password to use with the user name specified in the USER= option.\"}},{\"Name\":\"PPASS=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[Syntax: PPASS='password'] \\n   \\nwhere password is the password to use with the user name that is specified in the \\nPUSER option. The PPASS option is used to access the proxy server.\\n\\nTip: You can specify the PROMPT option instead of the PPASS option, which tells the \\nsystem to prompt you for the password.\"}},{\"Name\":\"WAIT_MILLISECONDS=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[Syntax: WAIT_MILLISECONDS=milliseconds] \\n   \\nSpecifies the FTP or SFTP response time in milliseconds.\\n\\nDefault: FTP(1,000 milliseconds); SFTP (1,500 milliseconds)\\n\\nTip: If you receive a timeout message in the log, use the WAIT_MILLISECONDS option \\nto increase the response time.\"}},{\"Name\":\"PORT=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"Specifies the port that the FTP daemon monitors on the respective host.\"}},{\"Name\":\"RCMD=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[Syntax: RCMD= 'command '] \\n    \\nSpecifies the FTP 'SITE' or 'service' command to send to the FTP server.\"}},{\"Name\":\"USER=|UID=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[Syntax: USER='username'] \\n   \\nThe username used to log in to the server.\"}},{\"Name\":\"PUSER=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[Syntax: PUSER='username'] \\n   \\nwhere username is used to log on to the URL proxy server.\\n\\nTip: If you specify puser='*' , then the user is prompted for an ID.  \\n\\nInteraction: If you specify the PUSER option, the USER option goes to the Web server \\nregardless of whether you specify a proxy server. \\n\\nInteraction: If PROMPT is specified, but PUSER is not, the user is prompted for an ID \\nas well as a password.\"}},{\"Name\":\"RECONN=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"Specifies the maximum number of connections that the server will accept.\"}},{\"Name\":\"TERMSTR=\",\"Type\":\"V\",\"Values\":{\"@Value1\":\"CR\",\"@Value2\":\"CRLF\",\"@Value3\":\"LF\",\"@Value4\":\"NULL\",\"@Value5\":\"NONE\",\"@Value6\":\"NL\",\"@Value7\":\"LFCR\",\"@Value8\":\"CRNL\"},\"ToolTips\":{\"@ToolTip1\":\"Carriage return (CR).\",\"@ToolTip2\":\"Carriage return (CR) followed by line feed (LF).\",\"@ToolTip3\":\"Line feed only (the default).\",\"@ToolTip4\":\"NULL character (0x00).\",\"@ToolTip5\":\"Record terminators are not used. This parameter provides the same function  as FILEDATA=BINARY.\",\"@ToolTip6\":\"The newline character (x'15') is used as the record terminator. This parameter  provides the same function as FILEDATA=TEXT.\",\"@ToolTip7\":\"The sequence LF followed by CR is used as the record terminator.\",\"@ToolTip8\":\"The sequence CR followed by NL is used as the record terminator.\"},\"Help\":{\"#cdata\":\"Controls the end of line/record delimiters in PC and UNIX formatted files. This \\noption enables the sharing of UNIX and PC formatted files between the two hosts. \\n\\nSyntax: TERMSTR='eol-termination-character'\\n\\nwhere the terminating character is the line character for Read operations and is the terminating \\ncharacter for a record Write operation.\\n\\nDefault: CRLF for Windows. LF for all other operating environments.\\n\\nOperating environment:\\nUsing the FILENAME statement requires information that is specific to your operating environment. \\nFor more information about how to specify filenames, see the SAS documentation for your operating environment.\"}},{\"Name\":\"RHELP\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Issues the HELP command to the FTP server.\"}},{\"Name\":\"RSTAT\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Issues the RSTAT command to the FTP server. The results of this command are \\nreturned as records.\"}},{\"Name\":\"SAVEUSER\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Saves the user ID and password after the user ID and password prompt are successfully \\nexecuted.\\n\\nInteraction: The user ID and password are saved only for the duration of the SAS \\nsession or until you change the association between the fileref and the external \\nfile, or discontinue it with another FILENAME statement.\"}},{\"Name\":\"S370V\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Indicates that the file being read is in IBM 370 variable format.\"}},{\"Name\":\"S370VS\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Indicates that the file that is being read is in IBM 370 variable-spanned format.\"}},{\"Name\":\"SOCKET\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Specifies the access method that enables you to read from or write to a Transmission \\nControl Protocol/Internet Protocol (TCP/IP) socket.\"}},{\"Name\":\"SERVER\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Sets the TCP/IP socket to be a listening socket, thereby enabling the system to \\nact as a server that is waiting for a connection. \\n\\nIs used only in the context of named pipes. This option specifies the mode of a \\nnamed pipe. The default value is SERVER.\"}},{\"Name\":\"URL|HTTP\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"[Syntax: FILENAME fileref URL 'external-file' <url-options>; ]\\n    \\nSpecifies the access method that enables you to read a file from any host machine that you can \\nconnect to on a network with a URL server running. \\n\\n'external-file' \\nspecifies the name of the file that you want to read from on a URL server. The Secure Socket Layer (SSL) \\nprotocol, https, can also be used to access the files. The file must be specified in one of these formats: \\n\\n  http://hostname/file\\n  https://hostname/file\\n  http://hostname:portno/file\\n  https://hostname:portno/file \\n  \\nurl-options can be any of the following:\\n\\n  AUTHDOMAIN=\\\"auth-domain\\\" -- specifies the name of an authentication domain metadata object in order to \\n    connect to the proxy or Web server. \\n  BLOCKSIZE=blocksize -- where blocksize is the size of the URL data buffer in bytes. Default: 8K \\n  DEBUG -- writes debugging information to the SAS log.\\n  HEADERS=fileref -- specifies the fileref to which the header information is written when a file is opened \\n    by using the URL access method. \\n  LRECL=lrecl -- where lrecl is the logical record length of the data. Default: 256.\\n  PASS='password' -- where password is the password to use with the user name that is specified in the USER \\n    option. Used to access the proxy server.\\n  PROMPT -- specifies to prompt for the user login password if necessary.\\n  PROXY=url -- specifies the Uniform Resource Locator (URL) for the proxy server in one of these forms: \\n     http://hostname/ or http://hostname:portno/\\n  PUSER='username' -- where username is used to log on to the URL proxy server.\\n  RECFM=recfm -- where recfm is one of three record formats:\\n    F is fixed-record format. Thus, all records are of size LRECL with no line delimiters. Data is transferred \\n      in image (binary) mode.    \\n    S is stream-record format. Data is transferred in image (binary) mode.\\n    V is variable-record format (the default). In this format, records have varying lengths, and they are \\n      transferred in text (stream) mode.\\n  TERMSTR='eol-char' -- where eol-char is the line delimiter to use when RECFM=V. There are four valid values:\\n    CR carriage return (CR). \\n    CRLF carriage return (CR) followed by line feed (LF). \\n    LF line feed only (the default). \\n    NULL NULL character (0x00).\\n  USER='username' -- where username is used to log on to the URL server.\"}},{\"Name\":\"PROXY=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[Syntax: PROXY=url] \\n    \\nSpecifies the Uniform Resource Locator (URL) for the proxy server in one of these forms: \\n\\n http://hostname/\\n \\n http://hostname:portno/\"}},{\"Name\":\"SASXBAMW\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Specifies the access method that enables you to use WebDAV (Web-Based Distributed \\nAuthoring and Versioning) to read from or write to a file from any host machine \\nthat you can connect to on a network with a WebDAV server running.\"}},{\"Name\":\"LOCALCACHE=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[Syntax: LOCALCACHE=\\\"directory name\\\"] \\n    \\nSpecifies a directory where a temporary subdirectory is created to hold local \\ncopies of the server files.\"}},{\"Name\":\"LOCKDURATION=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"Specifies the number of minutes that the files that are written through the WebDAV \\nlibref are locked.\"}},{\"Name\":\"WEBDAV\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"[FILENAME filref WEBDAV 'external-file' <webdav-options>; ]\\n    \\nEnables you to access remote files by using the WebDAV protocol.\"}},{\"Name\":\"BATCHFILE=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[Syntax: BATCHFILE='path'] \\n    \\nSpecifies the fully qualified pathname and the filename of the batch file that \\ncontains the SFTP commands. These commands are submitted when the SFTP access \\nmethod is executed. After the batch file processing ends, the SFTP connection \\nis closed.\"}},{\"Name\":\"DDE\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"To use DDE in SAS, issue a FILENAME statement with the following syntax: \\n\\nFILENAME fileref DDE 'DDE-triplet' <DDE-options>; \"}},{\"Name\":\"COMMAND\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Allows remote commands to be issued to DDE server applications that not use the \\nSYSTEM topic name.\"}},{\"Name\":\"HOTLINK\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Instructs SAS to use the DDE HOTLINK.\"}},{\"Name\":\"NOTAB\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Instructs SAS to ignore tab characters between variables.\"}},{\"Name\":\"ALTDEST=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[Syntax: ALTDEST=filename] \\n    \\nIs for use only with the PRINTER device type. Filename specifies a file destination \\nto write to when you direct output to the fileref. Although the output is written to \\ndisk and not to the printer, the output is still formatted by using the printer driver \\nthat is associated with the printer that you specified with the external-file argument.\"}},{\"Name\":\"BAUD=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"Sets the baud rate. The value for baud-rate depends on your communications hardware. \\nIt must be an integer. This host option is valid only if you specify the COMMPORT \\ndevice-type keyword.\"}},{\"Name\":\"BITS=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"Sets the transmission bits. Values are 5 through 8. This host option is valid only \\nwhen you specify the COMMPORT device-type keyword.\\n\\nNote: For the 8250 serial port, invalid combinations are 5 data bits with 2 stop \\nbits and 6, 7, or 8 data bits with 1.5 stop bits.\"}},{\"Name\":\"BLKSIZE=|BLK=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[Syntax: BLKSIZE=block-size] \\n    \\nSpecifies the number of bytes that are physically read or written in an I/O operation. \\nThe default is 8K. The maximum is 1M (Windows) or 1G-1(UNIX). \\n\\nIn UNIX, if you specify RECFM=S370VBS, then you should specify BLKSIZE=32760 in order \\nto avoid errors with records longer than 255 characters.\"}},{\"Name\":\"BLOCK\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Is used only in the context of named pipes. This option indicates whether the client \\nis to wait if no data is currently available. BLOCK is the default value.\"}},{\"Name\":\"NOBLOCK\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Is used only in the context of named pipes. This option indicates whether the client \\nis to wait if no data is currently available. BLOCK is the default value.\"}},{\"Name\":\"BYTE\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Is used only in the context of named pipes. This option indicates the type of pipe. \\nBYTE is the default value.\"}},{\"Name\":\"MESSAGE\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Is used only in the context of named pipes. This option indicates the type of pipe. \\nBYTE is the default value.\"}},{\"Name\":\"COMTIMEOUT=\",\"Type\":\"V\",\"Values\":{\"@Value1\":\"EOF\",\"@Value2\":\"WAIT\",\"@Value3\":\"ZERO\"},\"ToolTips\":{\"@ToolTip1\":\"Returns an end-of-file (EOF) character when a timeout occurs. This behavior is the  default. The EOF character causes the current DATA step to terminate.\",\"@ToolTip2\":\"Instructs the communications port to wait forever for data. This value overrides   the timeout. In this case, no record is returned to the DATA step until data are  available. This action can cause your program to go into an infinite loop, so use  this value with caution.\",\"@ToolTip3\":\"Returns a record length of 0 bytes when a timeout occurs. However, the DATA step  does not terminate; it simply tries to read data again.\"},\"Help\":{\"#cdata\":\"Controls how a communications port timeout is handled. A timeout occurs when no data \\nis available at the communications port for a period of time, usually 60 seconds.\"}},{\"Name\":\"CONSOLE=\",\"Type\":\"V\",\"Values\":{\"@Value1\":\"MAX\",\"@Value2\":\"MIN\",\"@Value3\":\"NORMAL\"},\"ToolTips\":{\"@ToolTip1\":\"Opens the DOS window maximized.\",\"@ToolTip2\":\"Opens the DOS window minimized.\",\"@ToolTip3\":\"Opens the DOS window using the default for the machine.\"},\"Help\":{\"#cdata\":\"Specifies the state of the DOS window when an application is opened using pipes.\"}},{\"Name\":\"DROPNULL=\",\"Type\":\"V\",\"Values\":{\"@Value1\":\"ON\",\"@Value2\":\"OFF\"},\"ToolTips\":{\"@ToolTip1\":\"Specifies to discard null bytes when they are received.\",\"@ToolTip2\":\"Specifies not to discard null bytes when they are received. OFF is the default value.\"},\"Help\":{\"#cdata\":\"Is used to discard null bytes when they are received. \\n    \\nThis host option is valid only if you specify the COMMPORT device-type keyword.\\nFor example: \\n\\n  filename portin commport 'com1:' dropnull=off;\"}},{\"Name\":\"EOFCONNECT\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Is used only in the context of named pipes and is valid only when you are defining \\nthe server. This option indicates that if an end-of-file (EOF) character is \\nreceived from a client, the server should try to connect to the next client.\"}},{\"Name\":\"FLOW=\",\"Type\":\"V\",\"Values\":{\"@Value1\":\"XONXOFF\",\"@Value2\":\"DTRDSR\",\"@Value3\":\"RTSCTS\"},\"ToolTips\":{\"@ToolTip1\":\"XONXOFF\",\"@ToolTip2\":\"DTRDSR\",\"@ToolTip3\":\"RTSCTS\"},\"Help\":{\"#cdata\":\"Controls the transmission control flow. \\n    \\nThis host option is valid only if you specify the COMMPORT device-type keyword.\"}},{\"Name\":\"IGNOREDOSEOF\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Is used in the context of I/O operations on variable record format files. When this \\noption is specified, any occurrence of ^Z is interpreted as character data and \\nnot as an end-of-file marker.\"}},{\"Name\":\"PARITY=\",\"Type\":\"V\",\"Values\":{\"@Value1\":\"NONE\",\"@Value2\":\"ODD\",\"@Value3\":\"EVEN\",\"@Value4\":\"MARK\",\"@Value5\":\"SPACE\"},\"ToolTips\":{\"@ToolTip1\":\"Sets no parity check bit.\",\"@ToolTip2\":\"Sets odd parity check bit.\",\"@ToolTip3\":\"Sets mark parity check bit.\",\"@ToolTip4\":\"Sets space parity check bit.\"},\"Help\":{\"#cdata\":\"Sets the parity check bit.\"}},{\"Name\":\"RETRY=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[Syntax: RETRY=seconds] \\n    \\nIs used only in the context of named pipes. This option specifies how long a named \\npipe client should wait for a busy pipe. The minimum (and default) value for seconds \\nis 10.\"}},{\"Name\":\"RCONST=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[Syntax: RCONST=seconds] \\n    \\nSpecifies the initial read time-out value in 0.001 of a second (1000 = 1 second). \\nThe default is 8 seconds. This host-option is valid only if you specify the COMMPORT \\ndevice-type keyword.\"}},{\"Name\":\"RMULTI=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[Syntax: RMULTI= seconds] \\n    \\nSpecifies the subsequent read time-out value in 0.001 of a second (1000 = 1 second). \\nThis host-option is valid only if you specify the COMMPORT device-type keyword.\"}},{\"Name\":\"CLIENT\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Is used only in the context of named pipes. This option specifies the mode of a \\nnamed pipe. The default value is SERVER.\"}},{\"Name\":\"STOP=\",\"Type\":\"V\",\"Values\":{\"@Value1\":\"ONE\",\"@Value2\":\"TWO\",\"@Value3\":\"ONEHALF\"},\"ToolTips\":{\"@ToolTip1\":\"Sets 1 stop bit.\",\"@ToolTip2\":\"Sets 2 stop bits.\",\"@ToolTip3\":\"Sets 1.5 stop bits.\"},\"Help\":{\"#cdata\":\"Sets the stop bit. \\n    \\nThis host option is valid only if you specify the COMMPORT device-type keyword.\\n\\nNote: For the 8250 serial port, invalid combinations are 5 data bits with 2 stop \\nbits and 6, 7, or 8 data bits with 1.5 stop bits.\"}},{\"Name\":\"WCONST=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[Syntax: WCONST=seconds] \\n    \\nSpecifies the initial time-out value in 0.001 of a second (1000 = 1 second). This host \\noption is valid only if you specify the COMMPORT device-type keyword.\"}},{\"Name\":\"WMULTI=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[Syntax: WMULTI=seconds] \\n    \\nSpecifies the subsequent time-out value in 0.001 of a second (1000 = 1 second). \\nThis host option is valid only if you specify the COMMPORT device-type keyword.\"}},{\"Name\":\"UNBUF\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"[UNIX Host Option] \\n    \\nTells SAS not to perform buffered writes to the file on any subsequent FILE statement. \\nThis option applies especially when you are reading from or writing to a data collection \\ndevice. As explained in SAS Language Reference: Dictionary, it also prevents buffered \\nreads on INFILE statements.\"}},{\"Name\":\"ALQ=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[OpenVMS Host Option]\\n    \\nSpecifies the number of blocks initially allocated to an external file when it is created. \\nThe value can range from 0 to 2,147,483,647. If the value is 0 (the default), the minimum \\nnumber of blocks required for the given file format is used.\\n\\nThe ALQ= option (allocation quantity) is used for output and corresponds to the FAB$L_ALQ \\nfield in OpenVMS Record Management Services (RMS).\"}},{\"Name\":\"DEQ=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[OpenVMS Host Option]\\n    \\nSpecifies the number of blocks added when OpenVMS RMS automatically extends an external \\nfile during a write operation. The value can range from 0 to 65,535. The default value \\nis 0, telling OpenVMS RMS to use the process's default value. A large value results in \\nfewer file extensions over the life of the file; a small value results in numerous file \\nextensions over the life of the file. A file with numerous file extensions might be \\nnoncontiguous, thereby slowing record access.\\n\\nThe DEQ= option (default file extension quantity) is used for output and corresponds to \\nthe FAB$W_DEQ field in OpenVMS RMS.\"}},{\"Name\":\"FAC=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[OpenVMS Host Option]\\n    \\nOverrides the default file access attributes used for external files. Use this option \\nto indicate the level of access you want to allow for an external file. You can allow \\nREAD, WRITE, UPDATE, and DELETE access (as well as no access). By default with external \\nfiles, files opened for input allow read access, files opened for output allow WRITE \\naccess, and files opened for update allow READ and WRITE access. The form of the FAC= \\noption is \\n\\n  FAC=access-option-list\\n  \\nwhere access-option-list can be one of the following: \\n\\n  DEL specifies DELETE access.\\n   \\n  GET specifies READ access.\\n   \\n  PUT specifies WRITE access.\\n   \\n  UPD specifies UPDATE access. \\n\\nYou can combine these values in any order. For example, specifying the following indicates \\nthat you want DELETE, READ, and WRITE access: \\n\\n  fac=(del,get,put)\\n  \"}},{\"Name\":\"GSFCC=\",\"Type\":\"V\",\"Values\":{\"@Value1\":\"PRINT\",\"@Value2\":\"CR\",\"@Value3\":\"NONE\"},\"ToolTips\":{\"@ToolTip1\":\"Creates a GSF file. It is a VFC format file with carriage control set to null. These  files can be used with most utilities with the exception of some file transfer  protocols, such as Kermit. This is the default value for this option.\",\"@ToolTip2\":\"Creates a carriage return carriage control file.\",\"@ToolTip3\":\"Creates a file with no carriage control. This format is useful if you plan to download  the file to a personal computer.\"},\"Help\":{\"#cdata\":\"[OpenVMS Host Option] \\n    \\nSpecifies the file format of graphic stream files (GSF files). When specified in \\nthe FILENAME statement, it affects only the GSF files that are created using that \\nfileref.\"}},{\"Name\":\"KEY=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[OpenVMS Host Option]\\n    \\nSpecifies which key SAS uses to read the records in an RMS file with indexed organization. \\nThe KEY= option is always used with the KEYVALUE= option. \"}},{\"Name\":\"KEYVALUE=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[OpenVMS Host Option]\\n    \\nSpecifies the key value with which to begin reading an indexed file. \"}},{\"Name\":\"MBC=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[OpenVMS Host Option]\\n    \\nSpecifies the size of the I/O buffers that OpenVMS RMS allocates for a particular file. \\nThe value can range from 0 to 127 and represents the number of blocks used for each buffer. \\nBy default, this option is set to 0 and the default values for the process are used.\\n\\nThe MBC= option (multiblock count) is used for both input and output to control the \\nallocation for a particular file. If you want to control the allocation size for all \\nthe external files used during the current SAS session, you can use the MBC= option in \\nevery FILE, FILENAME, or INFILE statement. You can also use the DCL SET RMS_DEFAULT \\ncommand to specify a process default, and let the SAS values default to the process's \\ndefault values.\\n\\nThe MBC= option corresponds to the RAB$B_MBC field in OpenVMS RMS or the CONNECT \\nMULTIBLOCK_COUNT attribute when using FDL. This option is not supported for DECnet \\noperations.\"}},{\"Name\":\"MBF=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[OpenVMS Host Option]\\n    \\nSpecifies the number of I/O buffers you want OpenVMS RMS to allocate for a particular file. \\nThe value can range from 0 to 127 and represents the number of buffers used. By default, \\nthis option is set to a value of 2. If a value of 0 is specified, the default value for the \\nprocess is used.\\n\\nThe MBF= option (multibuffer count) is used for both input and output to control the number \\nof buffers allocated for a particular file. If you want to control the number of buffers \\nallocated for all the external files used during the SAS session, you can use the MBF= \\noption in every FILE, FILENAME, or INFILE statement. The DCL SET RMS_DEFAULT command can \\nbe used to specify a process default. Then, you can let the SAS values default to the \\nprocess's default values.\\n\\nThe MBF= option corresponds to the RAB$B_MBF field in OpenVMS RMS or the CONNECT MULTIBUFFER_COUNT \\nattribute when using FDL. This option is not supported for DECnet operations.\"}},{\"Name\":\"SHR=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[OpenVMS Host Option]\\n    \\nOverrides the default file-sharing attributes used for external files. With this option, \\nyou can indicate the access level you want to give other users. You can allow READ, WRITE, \\nUPDATE, and DELETE access (as well as no access). By default with external files, files \\nopened for input allow shared read access, and files opened for output or UPDATE do not \\nallow shared access.\\n\\nHowever, you can allow other users to have READ and WRITE access to a file that you are \\nopening for input only. To accomplish this, use the SHR= option. The syntax of the SHR= \\noption is \\n\\n  SHR=share-option-list\\n\\nwhere share-option-list can be one of the following: DEL specifies DELETE access.\\n \\n  GET specifies shared READ access.\\n   \\n  NONE specifies no shared access.\\n   \\n  PUT specifies shared WRITE access.\\n   \\n  UPD specifies UPDATE access.  \\n\\nYou can combine these values in any order. For example, specifying the following indicates \\nthat you want shared DELETE, READ, and WRITE access: \\n\\n  shr=(del,get,put)\"}},{\"Name\":\"DISP=\",\"Type\":\"V\",\"Values\":{\"@Value1\":\"NEW\",\"@Value2\":\"OLD\",\"@Value3\":\"SHR\",\"@Value4\":\"MOD\",\"@Value5\":\"REP\"},\"ToolTips\":{\"@ToolTip1\":\"A new data set is to be created.\",\"@ToolTip2\":\"The data set exists and is not to be shared.\",\"@ToolTip3\":\"The data set exists and can be shared.\",\"@ToolTip4\":\"If the data set exists, adds new records to the end; if the data set does not exist,  it creates a new data set. MOD cannot be specified for a partitioned data set.\",\"@ToolTip5\":\"For non-PDS members, implies DISP=OLD if the data set exists and is cataloged;  otherwise, it implies DISP=NEW. For PDS members, it implies DISP=SHR if the PDS  is cataloged; otherwise, it implies DISP=NEW.\"},\"Help\":{\"#cdata\":\"[z/OS Host Option]\\n    \\nSyntax: DISP=status | (status,<normal-termination-disp>,<abnormal-termination-disp>) \\n\\nSpecifies the status of the physical file at the beginning and ending of a job, \\nas well as what to do if the job step terminates abnormally. If you specify only \\nstatus, you can omit the parentheses. \\n\\nstatus \\nspecifies the status of the data set at the beginning of a job. Valid values are:\\n\\n  NEW -- creates a new data set.    \\n  OLD -- does not share the existing data set.   \\n  SHR -- shares the existing data set.   \\n  MOD -- if the data set exists, adds new records to the end; if the data set does not exist, \\n    it creates a new data set. MOD cannot be specified for a partitioned data set.    \\n  REP for non-PDS members, implies DISP=OLD if the data set exists and is cataloged; \\n  otherwise, it implies DISP=NEW. For PDS members, it implies DISP=SHR if the PDS is \\n  cataloged; otherwise, it implies DISP=NEW. The default is SHR.\\n\\nnormal-termination-disp \\nspecifies what to do with the data set when the fileref is cleared or when the job step \\nthat was using the data set terminates normally. Valid values are:\\n\\n  DELETE -- deletes the data set at the end of the step.    \\n  KEEP -- keeps the data set.    \\n  CATLG -- places the entry in the system catalog or user catalog.    \\n  UNCATLG -- deletes the entry from the system catalog or user catalog.\\n \\nFor a new data set, the default is CATLG. For an existing data set, the default is KEEP.\\n\\nabnormal-termination-disp \\nspecifies what to do if the job step terminates abnormally. The default is to take the action \\nthat is specified or implied by normal-termination-disp. Valid values are the same as the \\nnormal-termination-disp values.\"}},{\"Name\":\"SPACE=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[z/OS Host Option]\\n    \\nSyntax: SPACE=(unit,(primary,secondary,directory), RLSE,type,ROUND) \\n\\nIs the amount of disk space to be provided for a data set that is being created. \\n\\nunit \\ncan be any of the following: \\n\\n  TRK -- allocates the space in tracks.    \\n  CYL -- allocates the space in cylinders.    \\n  blklen -- allocates space in blocks whose block length is blklen bytes. The system computes \\n    how many tracks are allocated.  \\n\\nprimary \\nspecifies how many tracks, cylinders, or blocks to allocate.\\n\\nsecondary \\nspecifies how many additional tracks, cylinders, or blocks to allocate if more space is \\nneeded. The system does not allocate additional space until it is needed.\\n\\ndirectory \\nspecifies how many 256-byte directory blocks are needed for the directory of a partitioned data set.\\n\\nRLSE \\ncauses unused space that was allocated to an output data set to be released when the data set \\nis closed. Unused space is released only if the data set is opened for output and if the last \\noperation was a write operation.\\n\\ntype \\ncan be any of the following: \\n\\n  CONTIG -- specifies to use contiguous space.    \\n  MXIG -- specifies to use the maximum contiguous space.    \\n  ALX -- specifies to use different areas of contiguous space.   \\n\\n  Note: You can also specify MXIG or ALX as a separate, individual keyword in the FILENAME \\n  statement rather than as a subparameter of the SPACE= option.  \\n\\nROUND \\nspecifies that the allocated space must be equal to an integral number of cylinders when the \\nspecified unit was a block length. If unit was specified as TRK or CYL, the system ignores ROUND.\"}},{\"Name\":\"VOLSER=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[z/OS Host Option]\\n    \\nSyntax: VOLSER=value | VOL=value | VOL=(value-1, ..., value-n) \\n\\nSpecifies the disk or tape volume serial number or numbers. Up to 30 volume serial \\nnumbers can be specified.\\n\\nIf you do not specify VOLSER=, its value is taken from the SAS system option FILEVOL=.\"}},{\"Name\":\"VOLCOUNT=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[z/OS Host Option]\\n    \\nSyntax: VOLCOUNT=nnn \\n\\nwhere nnn is the maximum number of volumes that an output data set requires. The volume \\ncount is a decimal number from 1 through 255.\"}},{\"Name\":\"VOLSEQ=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[z/OS Host Option]\\n    \\nSyntax: VOLSEQ=nnn \\n\\nwhere nnn identifies which volume of an existing multivolume data set is to be used \\nto begin processing the data set. The volume sequence number is a decimal number from \\n1 to 255.\"}},{\"Name\":\"UNIT=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[z/OS Host Option]\\n    \\nSyntax: UNIT=value | UNIT=(value,n) \\n\\nSpecifies one of several devices. The value parameter must be enclosed in quotation marks \\nif the unit name contains characters other than alphanumeric characters. The n parameter \\nis a number from 1 to 59 that specifies the number of devices to be allocated for the data \\nset. If n is the letter \\\"p\\\" or \\\"P\\\", then all volumes for the data set are mounted in parallel.\"}},{\"Name\":\"LABEL=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[z/OS Host Option]\\n    \\nSyntax: LABEL=(subparameter-list) \\n\\nSpecifies the type and contents of the label of either a tape data set or a disk data set, \\nas well as other information such as the retention period or expiration date for the data \\nset. It is identical to the JCL LABEL= parameter. Here is a simple example: \\n\\n  label=(3,SL,,,EXPDT=2005/123)\\n  \\nThis label specification indicates that the data set sequence number is 3, that it uses \\nstandard labels, and that it expires on the 123rd day of 2005.\"}},{\"Name\":\"LOCKINTERNAL=\",\"Type\":\"V\",\"Values\":{\"@Value1\":\"AUTO\",\"@Value2\":\"SHARED\"},\"ToolTips\":{\"@ToolTip1\":\"Specifies the SAS system locking that is to be used for the file or files that are  identified by a FILENAME statement. AUTO does not allow two applications within  the same SAS session to have simultaneous read and write access to a file. If an  application has write access to a file, no other applications can have read or  write access to it. If an application has read access to a file, no other application  can have write access to it. Multiple applications can have simultaneous read access  to a file.\",\"@ToolTip2\":\"Specifies the SAS system locking that is to be used for the file or files that are  identified by a FILENAME statement. SHARED does not allow two applications within  the same SAS session to have simultaneous write access to a file. SHARED allows one  writer and multiple readers to have simultaneous access to a file.\"},\"Help\":{\"#cdata\":\"Specifies the SAS system locking that is to be used for the file or files that are \\nidentified by a FILENAME statement.\"}},{\"Name\":\"NOMOUNT\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"[z/OS Host Option]\\n    \\nSpecifies that the mount message is not issued for a volume that is not already \\nonline. The default action is to issue the mount message.\"}},{\"Name\":\"NOPROMPT\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"[z/OS Host Option]\\n    \\nSpecifies that if the file that you reference in the FILENAME statement is unavailable, \\na dialog box is not displayed and an error message is written to the SAS log.\"}},{\"Name\":\"REUSE\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"[z/OS Host Option]\\n    \\nSpecifies that dynamic allocation reuse an existing allocation, if possible, to fulfill \\na new allocation request. By default, SAS requests that dynamic allocation create a unique \\nallocation for this request.\"}},{\"Name\":\"WAIT=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[z/OS Host Option]\\n    \\nSyntax: WAIT=n \\n\\nControls how many minutes SAS waits if the file that you reference in the FILENAME \\nstatement is unavailable. SAS tries to reacquire the reserved data set every 15 seconds. \\nThe value n specifies a length of time in minutes.\"}},{\"Name\":\"BOM|BOMFILE\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"[UNIX/z/OS Host Option]\\n    \\nIncludes a Byte Order Mark when a UNICODE-encoded file is created.\"}},{\"Name\":\"NOBOM|NOBOMFILE\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"[UNIX/z/OS Host Option]\\n    \\nSpecifies that a Byte Order Mark is not included when a UNICODE-encoded file is created.\"}},{\"Name\":\"FILEDATA=\",\"Type\":\"V\",\"Values\":{\"@Value1\":\"BINARY\",\"@Value2\":\"TEXT\"},\"ToolTips\":{\"@ToolTip1\":\"The FILEDATA= option specifies that the file being processed is expected to contain  binary data.\",\"@ToolTip2\":\"The FILEDATA= option specifies that the file being processed is expected to contain  text data.\"},\"Help\":{\"#cdata\":\"[UNIX/z/OS Host Option] \\n    \\nThe FILEDATA= option specifies that the file being processed is expected to contain \\neither binary or text data.\"}},{\"Name\":\"OPTCD=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[DCB Option under z/OS]\\n    \\nSyntax: OPTCD=value \\n\\nSpecifies the optional services to be performed by the operating environment. For example, \\nspecifying W requests a validity check for write operations on direct-access devices. For \\nmore information, see the appropriate IBM MVS JCL manual for your system.\\n\\nValid values are R, J, T, Z, A, Q, F, H, O, C, E, B, U, and W. You can specify more than \\none code by listing them with no blanks or commas between them (as with RECFM). A maximum \\nof four characters is allowed.\"}},{\"Name\":\"DSORG=\",\"Type\":\"V\",\"Values\":{\"@Value1\":\"DA\",\"@Value2\":\"PO\",\"@Value3\":\"PS\"},\"ToolTips\":{\"@ToolTip1\":\"Specifies direct access.\",\"@ToolTip2\":\"Specifies PDS, PDSE.\",\"@ToolTip3\":\"Specifies sequential.\"},\"Help\":{\"#cdata\":\"[DCB Option under z/OS] \\n    \\nThe following values for organization refer to physical files that contain location-dependent \\ninformation: DAU, POU, PSU.\\n\\nYou do not need to include the DSORG= value when you create an external file of type PS or \\nPO because the operating environment identifies a partitioned data set by the presence of a \\ndirectory allocation in the SPACE= parameter. When you use a FILE statement to write data, \\nSAS identifies a PDS or PDSE by the presence of a member name in the FILE statement. If no \\nmember name is present, SAS assumes that the data set is sequential.\"}},{\"Name\":\"DATACLAS=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[SMS]\\n    \\nSyntax: DATACLAS=data-class-name  \\n\\nSpecifies the data class for an SMS-managed data set. The name can have up to eight \\ncharacters. This option applies only to new data sets; it is ignored for existing data \\nsets. The data class is predefined and controls the DCB attributes for a data set.\\n\\nThe implementation of the DATACLAS= option is compatible with the SMS DATACLAS= JCL parameter.\"}},{\"Name\":\"DSNTYPE=\",\"Type\":\"V\",\"Values\":{\"@Value1\":\"BASIC\",\"@Value2\":\"LARGE\",\"@Value3\":\"EXTREQ\",\"@Value4\":\"EXTPREF\",\"@Value5\":\"LIBRARY\",\"@Value6\":\"PDS\",\"@Value7\":\"NONE\"},\"ToolTips\":{\"@ToolTip1\":\"Specifies that the system selects the BASIC format if the data set is sequential  (DSORG=PS or PSU), or if DSORG is omitted from all sources and the data set is  not VSAM. The data set cannot exceed 65535 tracks per volume.\",\"@ToolTip2\":\"Specifies that the system selects the LARGE format if the data set is sequential  (DSORG=PS or PSU), or if DSORG is omitted from all sources and the data set is  not VSAM. The data set can exceed 65535 tracks per volume.\",\"@ToolTip3\":\"Specifies that the data set is in the EXTENDED format if the data set is VSAM,  sequential, or if DSORG is omitted from all sources. The assignment fails if  the system cannot allocate an extended format data set.\",\"@ToolTip4\":\"Specifies that you prefer that the data set is in the EXTENDED format if the data  set is VSAM, sequential, or if DSORG is omitted from all sources. If extended  format is not possible, the system will select the BASIC format.\",\"@ToolTip5\":\"Specifies that the data set is a PDSE (DSORG=PO).\",\"@ToolTip6\":\"Specifies that the data set is a PDS (DSORG=PO).\",\"@ToolTip7\":\"Specifies that the default DSNTYPE of the system should be used when a new sequential  file is allocated.\"},\"Help\":{\"#cdata\":\"[SMS] \\n    \\nSpecifies the type of name for the data set.\"}},{\"Name\":\"LIKE=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[SMS]\\n    \\nSyntax: LIKE=data-set-name  \\n\\nAllocates an external file that has the same attributes as an existing file.\"}},{\"Name\":\"MGMTCLAS=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[SMS]\\n    \\nSyntax: MGMTCLAS=management-class-name \\n\\nSpecifies a management class for an SMS data set. The name can have up to eight \\ncharacters. This option applies only to new data sets; it is ignored for existing \\ndata sets. The management class is predefined and controls how your data set is \\nmanaged, such as how often it is backed up and how it is migrated.\\n\\nThe implementation of the MGMTCLAS= option is compatible with the SMS MGMTCLAS= \\nJCL parameter.\"}},{\"Name\":\"RECORG=\",\"Type\":\"V\",\"Values\":{\"@Value1\":\"KS\",\"@Value2\":\"ES\",\"@Value3\":\"RR\",\"@Value4\":\"LS\"},\"ToolTips\":{\"@ToolTip1\":\"Specifies a VSAM key-sequenced data set.\",\"@ToolTip2\":\"Specifies a VSAM entry-sequenced data set.\",\"@ToolTip3\":\"Specifies a VSAM relative-record data set.\",\"@ToolTip4\":\"Specifies a VSAM linear-space data set.\"},\"Help\":{\"#cdata\":\"[SMS] \\n    \\nSpecifies the organization of records in a new VSAM data set. Use this option \\nonly if SMS is active.\"}},{\"Name\":\"STORCLAS=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[SMS]\\n    \\nSyntax: STORCLAS=storage-class-name \\n\\nSpecifies a storage class for an SMS data set. The name can have up to eight characters. \\nThis option applies only to new data sets; it is ignored for existing data sets. The \\nstorage class is predefined and controls which device your SMS data set is stored on, \\nsuch as disk or tape.\\n\\nThe implementation of the STORCLAS= option is compatible with the SMS STORCLAS= JCL \\nparameter.\"}},{\"Name\":\"SUBSYS=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[Subsystem Options]\\n    \\nSpecifies the name of the subsystem (up to four characters).\"}},{\"Name\":\"PARM1=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[Subsystem Options]\\n\\nSpecifies a subsystem parameter (up to 67 characters).\"}},{\"Name\":\"PARM2=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[Subsystem Options]\\n\\nSpecifies a subsystem parameter (up to 67 characters).\"}},{\"Name\":\"PARM3=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[Subsystem Options]\\n\\nSpecifies a subsystem parameter (up to 67 characters).\"}},{\"Name\":\"PARM4=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[Subsystem Options]\\n\\nSpecifies a subsystem parameter (up to 67 characters).\"}},{\"Name\":\"PARM5=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[Subsystem Options]\\n\\nSpecifies a subsystem parameter (up to 67 characters).\"}},{\"Name\":\"ALIGN\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"[SYSOUT Data Set Option]\\n\\nTells the operator to check the alignment of the printer forms before printing \\nthe data set.\"}},{\"Name\":\"BURST\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[SYSOUT Data Set Option]\\n\\nTells the operator that the printed output goes to a burster-trimmer-stacker machine, \\nto be burst into separate sheets.\"}},{\"Name\":\"CHAR1=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[SYSOUT Data Set Option]\\n\\nSpecifies a one- to four-character name for character-arrangement table #1 (used \\nin conjunction with the 3800 Printing Subsystem).\"}},{\"Name\":\"CHAR2=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[SYSOUT Data Set Option]\\n\\nSpecifies a one- to four-character name for character-arrangement table #2 (used \\nin conjunction with the 3800 Printing Subsystem).\"}},{\"Name\":\"CHAR3=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[SYSOUT Data Set Option]\\n\\nSpecifies a one- to four-character name for character-arrangement table #3 (used \\nin conjunction with the 3800 Printing Subsystem).\"}},{\"Name\":\"CHAR4=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[SYSOUT Data Set Option]\\n\\nSpecifies a one- to four-character name for character-arrangement table #4 (used \\nin conjunction with the 3800 Printing Subsystem).\"}},{\"Name\":\"CLOSE\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"[SYSOUT Data Set Option]\\n\\nTells the operating environment to deallocate the data set when the DCB is closed.\"}},{\"Name\":\"COPIES=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[SYSOUT Data Set Option]\\n\\nSpecifies how many copies of the SYSOUT data set to print. The default is COPIES=1.\"}},{\"Name\":\"DEST=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[SYSOUT Data Set Option]\\n\\nSpecifies a destination for the SYSOUT data set. If DEST= is not defined, its value \\nis taken from the SAS system option FILEDEST=.\"}},{\"Name\":\"FCB=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[SYSOUT Data Set Option]\\n\\nSpecifies the forms control buffer image that JES uses to control the printing \\nof the SYSOUT data set.\"}},{\"Name\":\"FLASH=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[SYSOUT Data Set Option]\\n\\nSpecifies which forms-overlay frame to use when printing on a 3800 Printing Subsystem.\"}},{\"Name\":\"FLASHC=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[SYSOUT Data Set Option]\\n\\nSpecifies the number of copies on which to print the forms overlay frame.\"}},{\"Name\":\"FOLD\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"[SYSOUT Data Set Option]\\n\\nSpecifies that the print chain or print train for the universal character set \\nis loaded in fold mode.\"}},{\"Name\":\"FORMDEF=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[SYSOUT Data Set Option]\\n\\nIdentifies a member that contains statements that tell the Print Services Facility \\nfrom IBM how to print the SYSOUT data set on a page-mode printer. This option has no \\neffect on SAS forms.\"}},{\"Name\":\"FORMS=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[SYSOUT Data Set Option]\\n\\nSpecifies the IBM form number. If FORMS= is not defined, its value is taken from \\nthe FILEFORMS= system option. This option has no effect on SAS forms.\"}},{\"Name\":\"HOLD\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"[SYSOUT Data Set Option]\\n\\nTells the system to hold the SYSOUT data set when it is deallocated until it \\nis released by the system operator.\"}},{\"Name\":\"ID=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[SYSOUT Data Set Option]\\n\\nSpecifies the user ID for the SYSOUT destination.\"}},{\"Name\":\"MODIFY=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[SYSOUT Data Set Option]\\n\\nSpecifies a copy-modification module that tells JES how to print the SYSOUT data \\nset on a 3800 Printing Subsystem.\"}},{\"Name\":\"MODIFYT=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[SYSOUT Data Set Option]\\n\\nSyntax: MODIFYT=n\\n\\nSpecifies which of the CHARn tables to use. For example, if n is 1, then the \\ncharacter-arrangement table that is identified by the CHAR1= option is used.\"}},{\"Name\":\"OUTDES=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[SYSOUT Data Set Option]\\n\\nSpecifies the output descriptor.\"}},{\"Name\":\"OUTLIM=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[SYSOUT Data Set Option]\\n\\nSpecifies a limit for the number of logical records in the SYSOUT data set.\"}},{\"Name\":\"PAGEDEF=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[SYSOUT Data Set Option]\\n\\nIdentifies a member that contains statements that tell the Print Services Facility \\nhow to format the page on a page-mode printer.\"}},{\"Name\":\"PGM=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[SYSOUT Data Set Option]\\n\\nSpecifies the SYSOUT program name.\"}},{\"Name\":\"PRMODE=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[SYSOUT Data Set Option]\\n\\nSpecifies which process mode is required for printing the SYSOUT data set.\"}},{\"Name\":\"SYSOUT=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[SYSOUT Data Set Option]\\n\\nSpecifies the output class for the SYSOUT data set. If SYSOUT is not defined, its value \\nis taken from the SAS system option FILESYSOUT=.\"}},{\"Name\":\"UCS=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[SYSOUT Data Set Option]\\n\\nSpecifies the Universal Character Set.\"}},{\"Name\":\"UCSVER\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"[SYSOUT Data Set Option]\\n\\nTells the operator to visually verify that the character set image is for the \\ncorrect print chain or print train. The character set image is displayed on the \\nprinter before the data set is printed.\"}},{\"Name\":\"VERIFY\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"[SYSOUT Data Set Option]\\n\\nTells the operator to verify that the image displayed on the printer is for \\nthe correct FCB image.\"}},{\"Name\":\"DATAURL\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Enables you to read data from user-specified text. \\n    \\nSyntax: FILENAME fileref DATAURL 'data-url-specification' <data-url-options>;\\n\\nValid in: Anywhere\\n\\nArguments:\\nfileref is a valid fileref.\\n\\nDATAURL\\n  specifies the access method that enables you to read data from data-url-specification.\\n\\n'data-url-specification' specifies the data.\\n\\n  Requirement:\\n    The data must be in one of the following formats:\\n    \\u2022data:, file-data, where data can consist of characters and URL-encoded characters. Examples are %20 and %00. data must be lowercase.\\n    \\u2022data: ;base64, base64-data, where data consists of base64-encoded data. data must be lowercase.\\n      \\ndata-url-options\\n  can be any of the following:\\n    LRECL=record-length\\n      where lrecl is the logical record length of the data.  \\n  \\n    RECFM=recfm\\n      where recfm is one of three record formats:\"}},{\"Name\":\"ZIP\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Enables you to access ZIP files. \\n    \\nSyntax: FILENAME fileref ZIP 'external-file' <zip-options>;\\n\\nArguments: \\nfileref is a valid fileref.\\n\\nZIP\\n  specifies the access method that enables you to use ZIP files.\\n\\n'external-file'\\n  specifies the name of the ZIP file that you want to read from or write to.\\n   \\nZIP Options (autocomplete loads them automatically)\"}},{\"Name\":\"COMMENT=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"Writes an informative comment in a ZIP file. \\n      \\nSyntax: COMMENT=\\\"comment-string\\\"\"}},{\"Name\":\"COMPRESSION=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"Specifies the compression level that is used to write to the ZIP file member.  \\n\\nSyntax: COMPRESSION='compression-level'\\n\\n\\nValid values for the compression level are 0 through 9. A value of 0 stores the file with \\nno compression. A value of 9 indicates maximum compression.\\n\\nDefault: 6\\nRestriction: COMPRESSION= is used only when opening a file for writing.\"}},{\"Name\":\"OPTIONSX=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"Syntax: OPTIONSX='option-string' \\n    \\nSpecifies SFTP configuration options such as private keys and passphrases. All information in the \\noption-string is blotted when written to the SAS log. \\n\\nRequirements:\\nWhen you submit code that contains a FILENAME SFTP statement from SAS Enterprise Guide that runs on \\na Windows workspace server, you must specify authentication by using the OPTIONS or OPTIONSX option.\\nIf the passphrase in the OPTIONSX string contains one or more spaces, then the passphrase must be \\nenclosed in double quotation marks and the OPTIONSX string must be enclosed in single quotation marks.\\n\\nTip:\\nThe passphrase is passed using the -pw parameter.\"}},{\"Name\":\"ACCEPT=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"Syntax: ACCEPT='header-type' \\n    \\nSpecifies the Accept: header. The Accept: header can be used to specify certain media types, \\nwhich are acceptable for the response. \\n\\nDefault: */*\\n\\nRequirement: header-type must be enclosed in either single or double quotation marks.\"}},{\"Name\":\"CONNECT\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Creates a connection between the client and the proxy and between the proxy and the server \\nwhen accessing a URL through a proxy. \\n\\nRequirement:\\nYou must use the PROXY= option with the CONNECT option. No connection is made if the CONNECT option is used \\nwithout the PROXY= option. \\n\\nInteraction:\\nIf you use \\\"http\\\" in the external-file argument, a connection is made, but the TLS protocol is not used.\"}},{\"Name\":\"AUTHDOMAIN=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"Syntax: AUTHDOMAIN=\\\"auth-domain\\\"\\n\\nSpecifies the name of an authentication domain metadata object in order to connect to the WebDAV server. \\nThe authentication domain references credentials (user ID and password) without your explicitly specifying \\nthe credentials. \\n\\nRequirements:\\nThe authentication domain and the associated login definition must be stored in a metadata repository, \\nand the metadata server must be running in order to resolve the metadata object specification.\\nThe auth-domain name is case sensitive, and it must be enclosed in double quotation marks.\\n\\nInteraction: If you specify AUTHDOMAIN=, you do not need to specify USER= and PASS=.\"}},{\"Name\":\"DEL_ALL\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Enables you to delete a directory and all its members.\\n\\nRequirement: The DIR option is required when you use the DEL_ALL option.\\n\\nNote:\\nThe default behavior of the WebDAV access method is that only empty directories can be deleted. \\nUse the DEL_ALL option to delete directories that are not empty.\"}},{\"Name\":\"MKDIR=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"Syntax: MKDIR=\\\"new-directory-name\\\" \\n    \\nSpecifies a new directory that is created from the parent directory that was specified in the \\nexternal-file option. \\n\\nRequirements:\\nYou must use valid directory syntax for the specified host.\\nYou must use the DIR option with the MKDIR option.\\n\\nExample:\\nfilename bankname webdav \\\"http://webserver.com/parentdir/\\\"\\ndir mkdir=\\\"testdir1\\\" user=\\\"myid\\\" pass=\\\"xxxx\\\";\"}},{\"Name\":\"FILESRVC\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Syntax: Form 1:\\nUse this form to access SAS Viya files using a file Uniform Resource Identifier (URI).\\nFILENAME fileref FILESRVC 'file-uri' <filesrvc-options>;\\n\\nForm 2:\\nUse this form to access a SAS Viya file using a collection option.\\nFILENAME fileref FILESRVC collection-option <filesrvc-options>;\\n\\nwhere:\\nfile-uri\\n  is a valid file Uniform Resource Identifier (URI) of the file in the Files service. Here is an example: /files/files/<UUID>\\n    \\nEnables you to store and retrieve user content using the SAS Viya Files service.\"}},{\"Name\":\"FOLDERPATH=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"Syntax: FOLDERPATH='path'\\n    \\nSpecifies a path to a SAS Viya folder for directory access.\\n\\nThe fileref is used to access files that are members of the folder.\\n\\nHere is an example:\\nfilename jobout filesrvc folderpath='/output/user6/log';\\n\\nRestrictionThis option cannot be used with the FOLDERURI or PARENTURI options.\"}},{\"Name\":\"FOLDERURI=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"Syntax: FOLDERURI='uri'\\n    \\nSpecifies a path to a SAS Viya folder by Uniform Resource Identifier (URI).\\n\\nThe fileref is used to access files that are members of the folder. Here is an example:\\nfilename jobout filesrvc folderuri='/jobExecution/jobs/5a308aa7-1c3a-4465-a14c-fd69a9091926';\\n   \\nRestrictionThis option cannot be used with the FOLDERPATH or PARENTURI options.\"}},{\"Name\":\"PARENTURI=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"Syntax: PARENTURI='uri'\\n    \\nSpecifies a SAS Viya object by Uniform Resource Identifier (URI).\\n\\nThe fileref is used to access files that are attachments to the parent object. Here is an example:\\n\\nfilename jobout filesrvc parenturi='/jobExecution/jobs/5a308aa7-1c3a-4465-a14c-fd69a9091926';\\n\\nRestrictionThis option cannot be used with the FOLDERPATH or FOLDERURI options.\"}},{\"Name\":\"CONTENTTYPE=|CT=|CTYPE=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"Syntax: CONTENTTYPE='content-type'\\n    \\nSpecifies a default HTTP Content-Type header to be returned with the file when the file\\u2019s content \\nis fetched from the Files service.\\n\\nDefaultThe provided file extension is mapped to a default content type. If a mapping is not found \\nfor a provided file extension, the default content-type is set to application/octet-stream.\"}},{\"Name\":\"CONTENTDISP=|CDISP=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"Syntax: CONTENTDISP='string'\\n    \\nSpecifies how to deliver the file.\"}},{\"Name\":\"DEBUG=\",\"Type\":\"V\",\"Values\":{\"@Value1\":\"ERROR\",\"@Value2\":\" HTTP\"},\"ToolTips\":{\"@ToolTip1\":\"Indicates to write debugging information when HTTP calls fail.\",\"@ToolTip2\":\"Indicates to write debugging information for all HTTP calls.\"},\"Help\":{\"#cdata\":\"Syntax: DEBUG=ERROR | HTTP\\n    \\nWrites debugging information to the SAS log.\"}},{\"Name\":\"DESCRIPTION=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"Syntax: DESCRIPTION='string'\\n    \\nSpecifies a description for the file.\"}},{\"Name\":\"DOCUMENTTYPE=|DT=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"Syntax: DOCUMENTTYPE='document-type'\\n    \\nSets the document type attribute of the file.\"}},{\"Name\":\"FILENAME=|NAME=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"Syntax: FILENAME='name'\\n    \\nSpecifies the name of a file.\"}}],\"#comment\":[{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{}]}}"
  },
  {
    "path": "server/data/Statements/FOOTNOTE.json",
    "content": "{\"Keywords\":{\"Keyword\":[{\"Name\":\"ANGLE=|A=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[For device-based procedures only][Syntax: ANGLE=degrees | A=degrees] \\n    \\nSpecifies the angle of the baseline of the entire text string with respect to the \\nhorizontal. A positive degrees value angles the baseline counterclockwise; a negative \\nvalue angles it clockwise. By default, ANGLE=0 (horizontal).\"}},{\"Name\":\"BOLD\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"[For template-based procedures only] \\n    \\nSpecifies that the font weight is bold for the text string.\"}},{\"Name\":\"BCOLOR=|BC=\",\"Type\":\"C\",\"Help\":{\"#cdata\":\"[Syntax: BCOLOR=background-color] \\n    \\nSpecifies the background color of a box produced by the BOX= option. If you omit \\nBOX=, BCOLOR= is ignored. By default, the background color of the box is the same \\nas the background color for the entire graph. The color of the frame of the box is \\ndetermined by the color specification used in BOX=.\"}},{\"Name\":\"BLANK=YES|BL=YES\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[For device-based procedures only][Syntax: BLANK=YES] \\n    \\nProtects the box and its contents from being overwritten by any subsequent graphics \\nelements by blanking out the area where the box is displayed. The BLANK= option enables \\nyou to overlay graphics elements with boxed text. It is ignored if you omit the BOX= \\noption. Because titles and footnotes are written from the highest numbered to the \\nlowest numbered, the BLANK= option only blanks out titles and footnotes of a lower \\nnumber.\"}},{\"Name\":\"BOX=|BO=\",\"Type\":\"V\",\"Values\":{\"@Value1\":\"1\",\"@Value2\":\"2\",\"@Value3\":\"3\",\"@Value4\":\"4\"},\"ToolTips\":{\"@ToolTip1\":\"A value of 1 produces the thinnest box lines.\",\"@ToolTip2\":\"A value of 2 produces the next thinnest box lines.\",\"@ToolTip3\":\"A value of 3 produces the next thickest box lines.\",\"@ToolTip4\":\"A value of 4 produces the thickest box lines.\"},\"Help\":{\"#cdata\":\"Draws a box around one line of text.\"}},{\"Name\":\"BSPACE=|BS=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[Syntax: BSPACE=box-space<units>] \\n    \\nSpecifies the amount of space between the boxed text and the box. The space above \\nthe text is measured from the font maximum, and the space below the text is measured \\nfrom the font minimum. By default, BSPACE=1. If the BOX= option is not used, the BSPACE= \\noption is ignored.\"}},{\"Name\":\"COLOR=|C=\",\"Type\":\"C\",\"Help\":{\"#cdata\":\"[Syntax: COLOR=color] \\n    \\nSpecifies the color for the following text, box, or line. The COLOR= option affects \\nall text, lines, and boxes that follow it and stays in effect until another COLOR= \\nspecification is encountered.\"}},{\"Name\":\"DRAW=|D=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[For device-based procedures only][Syntax: DRAW=(x,y...,x-n,y-n)<units>] \\n    \\nDraws lines anywhere on the graphics output area using x and y as absolute or relative \\ncoordinates.\"}},{\"Name\":\"FONT=|F=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[Syntax: FONT=font] \\n    \\nSpecifies the font for the subsequent text.\"}},{\"Name\":\"HEIGHT=|H=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[Syntax: HEIGHT=text-height<units>] \\n    \\nSpecifies the height of text characters in number of units. By default, HEIGHT=1. Height  \\nis measured from the font minimum to the capline. Ascenders can extend above the capline,\\ndepending on the font.\"}},{\"Name\":\"ITALIC\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"[For template-based procedures only] \\n    \\nSpecifies that the font style is italic for the text string.\"}},{\"Name\":\"JUSTIFY=|J=\",\"Type\":\"V\",\"Values\":{\"@Value1\":\"LEFT\",\"@Value2\":\"CENTER\",\"@Value3\":\"RIGHT\"},\"ToolTips\":{\"@ToolTip1\":\"Justify to the left.\",\"@ToolTip2\":\"Justify to the center.\",\"@ToolTip3\":\"Justify to the right.\"},\"Help\":{\"#cdata\":\"Specifies the alignment of the text string. The default is CENTER.\"}},{\"Name\":\"LANGLE=|LA=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[For device-based procedures only][Syntax: LANGLE=degrees] \\n    \\nSpecifies the angle of the baseline of the entire text string(s) with respect to the horizontal. \\nA positive value for degrees moves the baseline counterclockwise; a negative value moves it clockwise. \\nBy default, LANGLE=0 (horizontal).\"}},{\"Name\":\"LINK=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[For device-based procedures only][Syntax: LINK= \\\"URL\\\"] \\n    \\nSpecifies a uniform resource locator (URL) that a title or footnote links to. The \\ntext-string that you use to specify the URL can contain occurrences of the variables \\n#BYVAL, #BYVAR, and #BYLINE.\"}},{\"Name\":\"LSPACE=|LS=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[Syntax: LSPACE=line-space <units>] \\n    \\nSpecifies the amount of spacing above lines of note and title text and\\nthe amount of spacing below lines of footnote text.\"}},{\"Name\":\"MOVE=|M=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[For device-based procedures only][Syntax: MOVE=(x,y) <units>] \\n    \\nPositions subsequent text or lines anywhere on the graphics output area using x and y as \\nabsolute or relative coordinates.\"}},{\"Name\":\"ROTATE=|R=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[For device-based procedures only][Syntax: ROTATE=degrees] \\n    \\nSpecifies the angle at which each character of text is rotated with respect to the \\nbaseline of the text string. The angle is measured from the current text baseline \\nangle, which is specified by the ANGLE= or LANGLE= options. By default, the baseline \\nis horizontal. A positive value for degrees rotates the character counterclockwise; \\na negative value rotates it clockwise. By default, ROTATE=0 (parallel to the baseline).\"}},{\"Name\":\"UNDERLIN=|U=\",\"Type\":\"V\",\"Values\":{\"@Value1\":\"0\",\"@Value2\":\"1\",\"@Value3\":\"2\",\"@Value4\":\"3\"},\"ToolTips\":{\"@ToolTip1\":\"UNDERLIN=0 halts underlining for subsequent text.\",\"@ToolTip2\":\"Undelines with the thinnest line.\",\"@ToolTip3\":\"Undelines with the next thickest line.\",\"@ToolTip4\":\"Undelines with the thickest line.\"},\"Help\":{\"#cdata\":\"Underlines subsequent text.\"}},{\"Name\":\"WRAP\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"[For device-based procedures only] \\n    \\nWraps the text to a second line if the text does not fit on one line. If the WRAP \\noption is omitted, the text font-size is reduced until the text fits on one line. \\nWrapping occurs at the last blank before the text meets the end of the window. If \\nthere are no blanks in the text string, then there is no wrapping.\"}}]}}"
  },
  {
    "path": "server/data/Statements/FORMAT.json",
    "content": "{\"Keywords\":{\"Keyword\":{\"Name\":\"DEFAULT=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"Syntax: DEFAULT=default-format] \\n          \\nSpecifies a temporary default format for displaying the values of variables that are \\nnot listed in the FORMAT statement. These default formats apply only to the current DATA \\nstep; they are not permanently associated with variables in the output data set.\\n\\nA DEFAULT= format specification applies to\\n\\n  o variables that are not named in a FORMAT or ATTRIB statement \\n  o variables that are not permanently associated with a format within a SAS data set \\n  o variables that are not written with the explicit use of a format. \\n\\nDefault: If you omit DEFAULT=, SAS uses BESTw. as the default numeric format and $w. \\nas the default character format. \\n\\nRestriction: Use this option only in a DATA step.  \\n\\nTip: A DEFAULT= specification can occur anywhere in a FORMAT statement. It can specify \\neither a numeric default, a character default, or both.\"}}}}"
  },
  {
    "path": "server/data/Statements/GOPTIONS.json",
    "content": "{\"Keywords\":{\"Keyword\":[{\"Name\":\"ACCESSIBLE\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Enables you to comply with section 508 of the Rehabilitation Acts and meet usability \\nrequirements for disabled users. Specifying the ACCESSIBLE option, when used with the \\nODS HTML statement, generates descriptive text and data for your graphs. SAS/GRAPH \\nwrites accessibility information to the graph's output HTML file, and creates a left-\\njustified footnote that provides a link to the information.\"}},{\"Name\":\"NOACCESSIBLE\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Toggles off the ACCESSIBLE option.\"}},{\"Name\":\"ADMGDF\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Instructs the GDDM device driver to write out an ADMGDF file.\"}},{\"Name\":\"NOADMGDF\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Instructs the GDDM device driver to write out a GDF file.\"}},{\"Name\":\"ASPECT=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"Syntax: ASPECT=scaling-factor\\n\\nwhere scaling-factor is a nonnegative integer or real number that determines the \\nratio of width to height for graphics elements. If you specify ASPECT=1, each \\ngraphics element has equal horizontal and vertical scaling factors; ASPECT=2 \\nscales the graphics element twice as wide as its height; and so on. If ASPECT= \\nis not specified or is set to 0 or null, SAS/GRAPH uses the aspect ratio of the \\nhardware device.\"}},{\"Name\":\"AUTOCOPY\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Prints a copy of the graph automatically. Same as AUTOCOPY=Y.\"}},{\"Name\":\"NOAUTOCOPY\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Suppresses printing a copy of the graph. Same as AUTOCOPY=N.\"}},{\"Name\":\"AUTOFEED\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Causes the device to feed new paper automatically for the next graph. Same as AUTOFEED=Y.\"}},{\"Name\":\"NOAUTOFEED\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Suppresses the automatic paper feed. Same as AUTOFEED=N.\"}},{\"Name\":\"CTEXT=\",\"Type\":\"C\",\"Help\":{\"#cdata\":\"Selects the default color for all text and the border.\"}},{\"Name\":\"XPIXELS=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"Specifies the width of the addressable display area in pixels and in conjunction \\nwith XMAX determines the horizontal resolution for the device.\\n      \\nSyntax: XPIXELS=width-in-pixels where:\\n\\nwidth-in-pixels is a positive integer up to eight digits long (0...99999999).\"}},{\"Name\":\"YPIXELS=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"Specifies the height of the addressable display area in pixels and in conjunction \\nwith YMAX determines the horizontal resolution for the device.\\n    \\nSyntax: YPIXELS=height-in-pixels where:\\n\\nheight-in-pixels \\nis a positive integer up to eight digits long (0...99999999).\"}},{\"Name\":\"ALTDESC\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Specifies to write the DESCRIPTION= statement text to the ALT= text in an HTML file.\"}},{\"Name\":\"NOALTDESC\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Specifies not to write the DESCRIPTION= statement text to the ALT= text in an HTML file.\"}},{\"Name\":\"AUTOSIZE=\",\"Type\":\"V\",\"Values\":{\"@Value1\":\"ON\",\"@Value2\":\"OFF\",\"@Value3\":\"DEFAULT\"},\"ToolTips\":{\"@ToolTip1\":\"Changes the cell size in order to preserve the number of rows and columns.\",\"@ToolTip2\":\"Preserves the device's original cell size and temporarily changes the number of rows and columns.\",\"@ToolTip3\":\"Uses the default setting (ON or OFF) that is controlled by DEVOPTS bit 50 (see DEVOPTS).\"},\"Help\":{\"#cdata\":\"Controls whether to change the size of the character cells in order to preserve the number of rows \\nand columns specified in the device entry.\"}},{\"Name\":\"BINDING=\",\"Type\":\"V\",\"Values\":{\"@Value1\":\"DEFAULTEDGE\",\"@Value2\":\"LONGEDGE\",\"@Value3\":\"SHORTEDGE\"},\"ToolTips\":{\"@ToolTip1\":\"Refers to the harware's factory-default setting\",\"@ToolTip2\":\"Refers to the paper's long edge.\",\"@ToolTip3\":\"Refers to the paper's short edge.\"},\"Help\":{\"#cdata\":\"Specifies which edge of the document is the binding edge.\"}},{\"Name\":\"BORDER\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Specifies to draw a border around the graphics output area.\"}},{\"Name\":\"NOBORDER\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Specifies not to draw a border around the graphics output area.\"}},{\"Name\":\"CBACK=\",\"Type\":\"C\",\"Help\":{\"#cdata\":\"Specifies the background color of the graphics output.\"}},{\"Name\":\"CBY=\",\"Type\":\"C\",\"Help\":{\"#cdata\":\"Selects the color of the By lines that appear in the graphics output.\"}},{\"Name\":\"CELL|CELLS\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Causes the device to use cell alignment.\"}},{\"Name\":\"NOCELL|NOCELLS\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Suppresses cell alignment, causing the procedure to use the entire procedure output \\narea and place axis and tick mark labels without regard to cell alignment.\"}},{\"Name\":\"CHARACTERS\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Causes SAS/GRAPH to use the device-resident font when you do not specify a font in a \\nSAS program.\"}},{\"Name\":\"NOCHARACTERS\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Causes SAS/GRAPH to draw the characters using the SIMULATE font and suppresses \\nthe use of all device--resident fonts, regardless of values you specify in \\nother SAS statements.\"}},{\"Name\":\"CHARREC=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"Specifies a device-resident font by associating a CHARTYPE number with a device-resident \\nfont. Also defines a default size to use with that font.\"}},{\"Name\":\"CHARTYPE=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"Syntax: CHARTYPE=hardware-font-chartype  \\n\\nhardware-font-chartype \\nis a nonnegative integer from 0 to 999. hardware-font-chartype refers to the actual \\nnumber for the device-resident font you want to use as listed in the Chartype window \\nof the device entry for the selected device driver. By default, CHARTYPE is 0, which \\nis the default device-resident font for the device.\\n          \\nSelects the number of the default hardware character set.\"}},{\"Name\":\"CIRCLEARC\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Specifies that SAS/GRAPH use the device's hardware circle-drawing capability, \\nif available.\"}},{\"Name\":\"NOCIRCLEARC\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Causes SAS/GRAPH to use software move and draw commands to draw circles and arcs.\"}},{\"Name\":\"CMAP=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"Syntax: CMAP=('from-color : to-color' <...,'from-color-n : to-color-n'>)\\n    \\nSpecifies a color map for the device.\"}},{\"Name\":\"COLLATE\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Specifies to collate the output, if collation is supported by the device.\"}},{\"Name\":\"NOCOLLATE\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Specifies not to collate the output.\"}},{\"Name\":\"COLORS=|COLOURS=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[Syntax: COLORS=<(colors-list | NONE)>] \\n    \\nSpecifies the foreground colors used to produce your graphics output if you do \\nnot specify colors explicitly in program statements.\"}},{\"Name\":\"COLORTYPE=\",\"Type\":\"V\",\"Values\":{\"@Value1\":\"NAME\",\"@Value2\":\"RGB\",\"@Value3\":\"HLS\",\"@Value4\":\"GRAY\",\"@Value5\":\"CMY\",\"@Value6\":\"CMYK\",\"@Value7\":\"HSV\"},\"ToolTips\":{\"@ToolTip1\":\"SAS predefined color names.\",\"@ToolTip2\":\"Red-green-blue (RGB) color specifications.\",\"@ToolTip3\":\"Hue-lightness-saturation (HLS) color specifications.\",\"@ToolTip4\":\"Gray-scale level.\",\"@ToolTip5\":\"Cyan-magenta-yellow color specifications.\",\"@ToolTip6\":\"Cyan-magenta-yellow-black color specifications.\",\"@ToolTip7\":\"Hue-saturation-value color specifications.\"},\"Help\":{\"#cdata\":\"Specifies a color type.\"}},{\"Name\":\"COLS=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"Sets the number of columns that the device-resident font uses.\"}},{\"Name\":\"CPATTERN=\",\"Type\":\"C\",\"Help\":{\"#cdata\":\"Selects the default color for PATTERN definitions when a color has not been specified.\"}},{\"Name\":\"CSYMBOL=\",\"Type\":\"C\",\"Help\":{\"#cdata\":\"Specifies the default color for SYMBOL definitions when a color has not been specified.\"}},{\"Name\":\"CTITLE=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"Selects the default color for all titles, footnotes, and notes, and the border.\"}},{\"Name\":\"DASH\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Causes SAS/GRAPH to use the built-in hardware dashed-line drawing capability of the device when \\ngenerating graphics output.\"}},{\"Name\":\"NODASH\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Causes SAS/GRAPH to draw the dashed lines.\"}},{\"Name\":\"DASHLINE=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[Syntax: DASHLINE='dashed-line-hex-string'X] \\n    \\nSpecifies which dashed lines should be generated by hardware means if possible.\"}},{\"Name\":\"DASHSCALE=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"Scales the lengths of the dashes in a dashed line. Value can be any number greater \\nthan 0. For example, GOPTIONS DASHSCALE=.5 reduces any existing dash length by \\none-half.\"}},{\"Name\":\"DELAY=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"Specifies the length of time between graphs in units of 0.01 seconds. For example, \\nto specify a delay of .03 seconds, specify DELAY=3.\"}},{\"Name\":\"DESCRIPTION=|DES=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[Syntax: DESCRIPTION='text-string' s] \\n    \\nProvides a description of the device entry.\"}},{\"Name\":\"DEVADDR=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[Syntax: DEVADDR=device-address] \\n    \\nSpecifies the location of the device to which the output of device drivers is sent.\"}},{\"Name\":\"DEVICE=|DEV=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"Specifies the device driver to which SAS/GRAPH sends the procedure output.\"}},{\"Name\":\"DEVMAP=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[Syntax: DEVMAP=device-map-name | NONE] \\n    \\nSpecifies the device map to be used when device-resident fonts are used.\"}},{\"Name\":\"DEVOPTS=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[Syntax: DEVOPTS='hardware-capabilities-hex-string'X] \\n    \\nSpecifies the hardware capabilities of the device.\"}},{\"Name\":\"DEVTYPE=\",\"Type\":\"V\",\"Values\":{\"@Value1\":\"GTERM\",\"@Value2\":\"G3270\"},\"ToolTips\":{\"@ToolTip1\":\"Indicates that the output device is a graphics device that will be receiving graphics  data; most device drivers use this value.\",\"@ToolTip2\":\"Indicates that the output device is an IBM 3270 graphics data stream.\"},\"Help\":{\"#cdata\":\"Specifies the type of the output device.\"}},{\"Name\":\"DISPLAY\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Specifies that output is displayed on the graphics device but does not affect whether a graph is \\nplaced in a catalog.\"}},{\"Name\":\"NODISPLAY\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Specifies that output is not displayed on the graphics device but does not affect \\nwhether a graph is placed in a catalog.\"}},{\"Name\":\"DISPOSAL=\",\"Type\":\"V\",\"Values\":{\"@Value1\":\"NONE\",\"@Value2\":\"BACKGROUND\",\"@Value3\":\"PREVIOUS\",\"@Value4\":\"UNSPECIFIED\"},\"ToolTips\":{\"@ToolTip1\":\"Causes the graphic to be left in place after displaying. This is the default.\",\"@ToolTip2\":\"Causes the background color to be returned and the graph erased after displaying.\",\"@ToolTip3\":\"Causes the graphic area to be restored with what was displayed in the area previously.\",\"@ToolTip4\":\"Indicates that no action is necessary.\"},\"Help\":{\"#cdata\":\"Specifies what happens to the graphic after it is displayed.\"}},{\"Name\":\"DRVINIT=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"Syntax: DRVINIT1='system-command(s)' | DRVINIT2='system-command(s)]\\n      \\nwhere:\\n\\nsystem-command(s) specifies a character string that is a valid system command and \\ncan be in upper- or lowercase letters.\"}},{\"Name\":\"DRVTERM=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"Syntax: DRVTERM1='system-command(s)' | DRVTERM2='system-command(s)]\\n      \\nwhere:\\n\\nsystem-command(s) specifies a character string that is a valid system command and can \\nbe in upper- or lowercase letters.\"}},{\"Name\":\"DRVQRY\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Specifies that the device can be queried for information about the current device \\nconfiguration.\"}},{\"Name\":\"NODRVQRY\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Specifies that the device cannot be queried for information about the current device \\nconfiguration.\"}},{\"Name\":\"DUPLEX\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Specifies to use duplex printing if available on the device.\"}},{\"Name\":\"ERASE\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Causes the graph to be erased when you press RETURN after the graph has been displayed.\"}},{\"Name\":\"NOERASE\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Causes the graph to remain on the display when you press RETURN after the graph \\nhas been displayed.\"}},{\"Name\":\"EXTENSION=|EXT=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"Specifies a string up to eight characters long that is a file extension, such as \\nGIF or CGM, that you want to append to an external file.\"}},{\"Name\":\"FASTTEXT\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Specifies to use integer-based font processing for faster font rendering.\"}},{\"Name\":\"NOFASTTEXT\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Specifies not to use integer-based font processing for faster font rendering.\"}},{\"Name\":\"FBY=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"Specifies the font for all By lines on the graphics output.\"}},{\"Name\":\"FCACHE=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[Syntax: FCACHE=number-fonts-open] \\n    \\nSpecifies the number of system fonts to keep open. Default: FCACHE=3\"}},{\"Name\":\"FILECLOSE=\",\"Type\":\"V\",\"Values\":{\"@Value1\":\"DRIVERTERM\",\"@Value2\":\"GRAPHEND\"},\"ToolTips\":{\"@ToolTip1\":\"Closes the GSF and makes it available to the device after all graphs have been  produced and the procedure or driver terminates.\",\"@ToolTip2\":\"Closes the GSF after each separate graph is produced and releases it to the device  before sending another.\"},\"Help\":{\"#cdata\":\"Controls when the graphics stream file (GSF) is closed when you are using the device \\ndriver to send graphics output to a hard copy device.\"}},{\"Name\":\"FILEONLY\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Specifies that a file rather than a storage location is the default destination for \\ngraphics output.\"}},{\"Name\":\"NOFILEONLY\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Specifies that a storage location is the default destination for graphics output, \\nunless a file of the same name exists.\"}},{\"Name\":\"FILL\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Causes SAS/GRAPH to use the built-in hardware rectangle-filling capability of \\nthe device.\"}},{\"Name\":\"NOFILL\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Causes SAS/GRAPH to use software fills to fill rectangles.\"}},{\"Name\":\"FILLINC=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"Specifies the number of pixels to move before drawing the next line in a software \\nfill of a solid area. \\n\\nRange: 0-9999.\\n\\nIf FILLINC is set to 0 or 1, adjacent lines are used (solid fill with no gaps). \\nIf FILLINC is set to 2, a pixel-width line is skipped before drawing the next \\nline of a fill.\"}},{\"Name\":\"FONTRES=\",\"Type\":\"V\",\"Values\":{\"@Value1\":\"NORMAL\",\"@Value2\":\"PRESENTATION\"},\"ToolTips\":{\"@ToolTip1\":\"Renders fonts in memory using integer rendering routines, which improves character  drawing speed for most host systems.\",\"@ToolTip2\":\"Disables the storage or use of rendered versions of Bitstream fonts, but produces  the fonts at their highest resolution.\"},\"Help\":{\"#cdata\":\"Controls the resolution of Bitstream fonts.\"}},{\"Name\":\"FORMAT=\",\"Type\":\"V\",\"Values\":{\"@Value1\":\"CHARACTER\",\"@Value2\":\"BINARY\"},\"ToolTips\":{\"@ToolTip1\":\"Character file format.\",\"@ToolTip2\":\"Binary file format.\"},\"Help\":{\"#cdata\":\"Sets the file format of the metacode file produced by the SAS-supplied part of the Metagraphics device driver.\"}},{\"Name\":\"FTEXT=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"Sets the default font for all text.\"}},{\"Name\":\"FTITLE=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"Specifies the default font for the first TITLE line.\"}},{\"Name\":\"FTRACK=\",\"Type\":\"V\",\"Values\":{\"@Value1\":\"LOOSE\",\"@Value2\":\"NONE\",\"@Value3\":\"NORMAL\",\"@Value4\":\"TIGHT\",\"@Value5\":\"TOUCH\",\"@Value6\":\"V5\"},\"ToolTips\":{\"@ToolTip1\":\"Leaves the most visible space between characters and produces a longer string.\",\"@ToolTip2\":\"Spacing depends on the size of the font. NONE might produce a shorter or longer  string than LOOSE for the same font at different point sizes, because some sizes  add space between the characters while others remove it.\",\"@ToolTip3\":\"Is the recommended setting.\",\"@ToolTip4\":\"Reduces the space between characters.\",\"@ToolTip5\":\"Leaves the least visible space between characters.\",\"@ToolTip6\":\"Places a fixed amount of space between the characters and does not adjust for  the shape of the character; that is, it does not support kerning.\"},\"Help\":{\"#cdata\":\"Controls the amount of space between letters in the SAS-supplied Bitstream fonts \\n(Brush, Century, Swiss, and Zapf).\"}},{\"Name\":\"GACCESS=\",\"Type\":\"V\",\"Values\":{\"@Value1\":\"SASGASTD\",\"@Value2\":\"SASGAEDT\",\"@Value3\":\"SASGAFIX\",\"@Value4\":\"SASGALOG\",\"@Value5\":\"GSASFILE\"},\"ToolTips\":{\"@ToolTip1\":\"Specifies that a continuous stream of data is written.\",\"@ToolTip2\":\"Specifies that the file be host-specific edit format.\",\"@ToolTip3\":\"Specifies that fixed-length records be written.\",\"@ToolTip4\":\"Specifies that records are to be written to the SAS log.\",\"@ToolTip5\":\"Specifies that the records are to be written to the destination whose fileref  is GSASFILE.\"},\"Help\":{\"#cdata\":\"[Syntax: GACCESS=output-format | 'output-format destination'] \\n    \\nSpecifies the format or the destination or both of graphics data written to a device \\nor graphics stream file (GSF).\"}},{\"Name\":\"GCLASS=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[Syntax: GCLASS=SYSOUT-class] \\n    \\nSpecifies the output class for IBM printers.\"}},{\"Name\":\"GCOPIES=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[Syntax: GCOPIES=(<current-copies><,max-copies>)] \\n    \\nSets the current and maximum number of copies to print.\"}},{\"Name\":\"GDDMCOPY=\",\"Type\":\"V\",\"Values\":{\"@Value1\":\"FSCOPY\",\"@Value2\":\"GSCOPY\"},\"ToolTips\":{\"@ToolTip1\":\"Used when sending output to an IEEE attached plotter.\",\"@ToolTip2\":\"Used when creating an ADMPRINT file for output on 3287-type printers.\"},\"Help\":{\"#cdata\":\"Instructs the driver to issue either an FSCOPY or GSCOPY call to GDDM when AUTOCOPY \\nis in effect.\"}},{\"Name\":\"GDDMNICKNAME=|GDDMN=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"Selects a GDDM nickname for the device to which output is sent.\"}},{\"Name\":\"GDDMTOKEN=|GDDMT=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"Specifies a GDDM token for the device to which output is sent.\"}},{\"Name\":\"GDEST=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"Specifies the JES SYSOUT destination for IBM printers.\"}},{\"Name\":\"GEND=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[Syntax: GEND='string' <...'string-n'>] \\n    \\nAppends an ASCII string to every graphics data record that is sent to a device \\nor file.\"}},{\"Name\":\"GEPILOG=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[Syntax: GEPILOG='string' <...'string-n'>] \\n    \\nSends a string to a device or file after all graphics commands are sent.\\n    \\n'string' can be either of the following: \\n\\n 'hex-string'X\\n \\n 'character-string'\"}},{\"Name\":\"GPROLOG=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[Syntax: GPROLOG='string' <...'string-n'>] \\n    \\nSends a string to device or file before graphics commands are sent.\\n    \\n'string' can be either of the following: \\n\\n 'hex-string'X\\n \\n 'character-string'\"}},{\"Name\":\"GSTART=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[Syntax: GSTART='string <...'string-n'>] \\n    \\nPrefixes every record of graphics data sent to a device or file with a string of characters.\\n    \\n'string' can be either of the following: \\n\\n 'hex-string'X\\n \\n 'character-string'\"}},{\"Name\":\"GFORMS=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[Syntax: GFORMS='forms-code'] \\n    \\nSpecifies the JES form name for IBM printers.\"}},{\"Name\":\"GOUTMODE=\",\"Type\":\"V\",\"Values\":{\"@Value1\":\"APPEND\",\"@Value2\":\"REPLACE\"},\"ToolTips\":{\"@ToolTip1\":\"Adds each new graph to the end of the current catalog.\",\"@ToolTip2\":\"Replaces the contents of the catalog with the graph or graphs produced by a single procedure.\"},\"Help\":{\"#cdata\":\"Appends to or replaces the graphics output catalog.\"}},{\"Name\":\"GPROTOCOL=\",\"Type\":\"V\",\"Values\":{\"@Value1\":\"SASGPADE\",\"@Value2\":\"SASGPAGL\",\"@Value3\":\"SASGPASC\",\"@Value4\":\"SASGPCAB\",\"@Value5\":\"SASGPCHK\",\"@Value6\":\"SASGPDAT\",\"@Value7\":\"SASGPDCA\",\"@Value8\":\"SASGPHEX\",\"@Value9\":\"SASGPHYD\",\"@Value10\":\"SASGPIDA\",\"@Value11\":\"SASGPIDX\",\"@Value12\":\"SASGPIMP\",\"@Value13\":\"SASGPIOC\",\"@Value14\":\"SASGPISI\",\"@Value15\":\"SASGPI24\",\"@Value16\":\"SASGPLCL\",\"@Value17\":\"SASGPNET\",\"@Value18\":\"SASGPMIC\",\"@Value19\":\"SASGPRTM\",\"@Value20\":\"SASGPSCS\",\"@Value21\":\"SASGPSTD\",\"@Value22\":\"SASGPSTE\",\"@Value23\":\"SASGPTCX\",\"@Value24\":\"SASGPVAT\",\"@Value25\":\"SASGP497\",\"@Value26\":\"SASGP71\"},\"ToolTips\":{\"@ToolTip1\":\"Protocol module name. Valid only for IBM mainframe systems.\",\"@ToolTip2\":\"Protocol module name. Valid only for IBM mainframe systems.\",\"@ToolTip3\":\"Protocol module name. Valid only for IBM mainframe systems.\",\"@ToolTip4\":\"Protocol module name. Valid only for IBM mainframe systems.\",\"@ToolTip5\":\"Protocol module name. Valid only for IBM mainframe systems.\",\"@ToolTip6\":\"Protocol module name. Valid only for IBM mainframe systems.\",\"@ToolTip7\":\"Protocol module name. Valid only for IBM mainframe systems.\",\"@ToolTip8\":\"Protocol module name. Valid only for IBM mainframe systems.\",\"@ToolTip9\":\"Protocol module name. Valid only for IBM mainframe systems.\",\"@ToolTip10\":\"Protocol module name. Valid only for IBM mainframe systems.\",\"@ToolTip11\":\"Protocol module name. Valid only for IBM mainframe systems.\",\"@ToolTip12\":\"Protocol module name. Valid only for IBM mainframe systems.\",\"@ToolTip13\":\"Protocol module name. Valid only for IBM mainframe systems.\",\"@ToolTip14\":\"Protocol module name. Valid only for IBM mainframe systems.\",\"@ToolTip15\":\"Protocol module name. Valid only for IBM mainframe systems.\",\"@ToolTip16\":\"Protocol module name. Valid only for IBM mainframe systems.\",\"@ToolTip17\":\"Protocol module name. Valid only for IBM mainframe systems.\",\"@ToolTip18\":\"Protocol module name. Valid only for IBM mainframe systems.\",\"@ToolTip19\":\"Protocol module name. Valid only for IBM mainframe systems.\",\"@ToolTip20\":\"Protocol module name. Valid only for IBM mainframe systems.\",\"@ToolTip21\":\"Protocol module name. Valid only for IBM mainframe systems.\",\"@ToolTip22\":\"Protocol module name. Valid only for IBM mainframe systems.\",\"@ToolTip23\":\"Protocol module name. Valid only for IBM mainframe systems.\",\"@ToolTip24\":\"Protocol module name. Valid only for IBM mainframe systems.\",\"@ToolTip25\":\"Protocol module name. Valid only for IBM mainframe systems.\",\"@ToolTip26\":\"Protocol module name. Valid only for IBM mainframe systems.\"},\"Help\":{\"#cdata\":\"Specifies the protocol module to use when routing output directly to a printer or \\ncreating a graphics stream file (GSF) to send to a device attached to your host \\nby a protocol converter.\"}},{\"Name\":\"GRAPHRC\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Allows a return code at procedure termination. If the return code is not 0, the entire \\njob might terminate.\"}},{\"Name\":\"NOGRAPHRC\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Always returns a step code of 0, even if the SAS/GRAPH program produced errors.\"}},{\"Name\":\"GSFLEN\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"[Syntax: GSFLEN=record-length] \\n    \\nControls the length of records written to the graphics stream file (GSF).\\n    \\nrecord-length: must be a nonnegative integer up to five digits long (0...99999).\"}},{\"Name\":\"GSFMODE=\",\"Type\":\"V\",\"Values\":{\"@Value1\":\"APPEND\",\"@Value2\":\"PORT\",\"@Value3\":\"REPLACE\"},\"ToolTips\":{\"@ToolTip1\":\"Adds the records to the end of a GSF designated by the GACCESS= or GSFNAME= graphics option or  device parameter.\",\"@ToolTip2\":\"Sends the records to a device or communications port.\",\"@ToolTip3\":\"Replaces the existing contents of a GSF designated by the GACCESS= or GSFNAME=  graphics option or device parameter.\"},\"Help\":{\"#cdata\":\"Specifies the disposition of records written to a graphics stream file (GSF) or to \\na device or communications port by the device driver.\"}},{\"Name\":\"GSFNAME=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"Specifies the fileref of the file or aggregate file location to which graphics stream \\nfile records are written.\"}},{\"Name\":\"GSFPROMPT\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Specifies to write prompt messages to the graphics stream file (GSF).\"}},{\"Name\":\"NOGSFPROMPT\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Specifies not to write prompt messages to the graphics stream file (GSF).\"}},{\"Name\":\"GSIZE=\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Sets the number of lines of display used for graphics for devices whose displays can \\nbe divided into graphics and text areas.\"}},{\"Name\":\"GUNIT=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"Specifies the default unit of measure to use with height specifications.\"}},{\"Name\":\"GWAIT=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"Specifies the time (in seconds) between each graph displayed in a series. By default, \\nGWAIT=0, which means that you must press the RETURN key between each display in a \\nseries of graphs.\"}},{\"Name\":\"HANDSHAKE=\",\"Type\":\"V\",\"Values\":{\"@Value1\":\"HARDWARE\",\"@Value2\":\"NONE\",\"@Value3\":\"SOFTWARE\",\"@Value4\":\"XONXOFF\"},\"ToolTips\":{\"@ToolTip1\":\"Specifies that SAS/GRAPH instruct the device to use the hardware CTS and RTS signals.\",\"@ToolTip2\":\"Specifies that SAS/GRAPH send data without providing flow control. Specify NONE  only if the hardware or interface program you are using provides its own flow control.\",\"@ToolTip3\":\"Specifies that SAS/GRAPH use programmed flow control with plotters in eavesdrop mode.\",\"@ToolTip4\":\"Specifies that SAS/GRAPH instruct the device to use ASCII characters DC1 and DC3.  (This is not appropriate for some devices.)\"},\"Help\":{\"#cdata\":\"Specifies the type of flow control used to regulate the flow of data to a hard copy device.\"}},{\"Name\":\"GWRITER=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[Syntax: GWRITER='writer-name'] \\n    \\nSpecifies the name of the external writer used with IBM printers.\"}},{\"Name\":\"HBY=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[Syntax: HBY=By line-height <units>] \\n    \\nSpecifies the height of By lines generated when you use BY-group processing.\"}},{\"Name\":\"HEADER=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[Syntax: HEADER='command'] \\n    \\nSpecifies the command that executes a user-supplied program to create HEADER \\nrecords for the driver.\"}},{\"Name\":\"HEADERFILE=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[Syntax: HEADERFILE=fileref] \\n    \\nSpecifies the fileref for the file from which the Metagraphics driver reads \\nHEADER records.\"}},{\"Name\":\"HORIGIN=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[Syntax: HORIGIN=horizontal-offset <IN | CM | PT>]\\n    \\nSets the horizontal offset from the lower-left corner of the display area to the \\nlower-left corner of the graph.\"}},{\"Name\":\"HOSTSPEC=\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"[Syntax: HOSTSPEC='text-string'] \\n    \\nStores FILENAME statement options in the device entry.\"}},{\"Name\":\"HPOS=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[Syntax: HPOS=columns] \\n    \\nSpecifies the number of columns in the graphics output area.\"}},{\"Name\":\"HSIZE=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[Syntax: HSIZE=horizontal-size <IN | CM | PT>]\\n    \\nSets the horizontal size of the graphics output area.\"}},{\"Name\":\"HTEXT=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[Syntax: HTEXT=text-height <units>] \\n    \\nSpecifies the default height of the text in the graphics output.\"}},{\"Name\":\"HTITLE=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[Syntax: HTITLE=title-height <units>] \\n    \\nSelects the default height used for the first TITLE line.\"}},{\"Name\":\"IBACK=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[Syntax: IBACK=fileref | 'external-file' | 'URL'| \\\" \\\"]\\n    \\nSpecifies an image file to display in a graph's background area.\"}},{\"Name\":\"ID=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[Syntax: ID='description'] \\n    \\nSpecifies the description string used by the Metagraphics driver.\"}},{\"Name\":\"IMAGEPRINT\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Specifies that any images are to be included in graphics output. This is the default.\"}},{\"Name\":\"NOIMAGEPRINT\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Specifies that images are to be withheld from graphics output.\"}},{\"Name\":\"IMAGESTYLE=\",\"Type\":\"V\",\"Values\":{\"@Value1\":\"TILE\",\"@Value2\":\"FIT\"},\"ToolTips\":{\"@ToolTip1\":\"Tile the image within the specified area. This copies the images as many times as  needed to fit the area.\",\"@ToolTip2\":\"Fit the image within the background area. This stretches the image, if necessary.\"},\"Help\":{\"#cdata\":\"Specifies the way to display the image file that is specified on the IBACK= option.\"}},{\"Name\":\"INTERACTIVE=\",\"Type\":\"V\",\"Values\":{\"@Value1\":\"USER\",\"@Value2\":\"PROC\",\"@Value3\":\"GRAPH\"},\"ToolTips\":{\"@ToolTip1\":\"Specifies that the user-written part of the driver be executed outside of SAS/GRAPH.\",\"@ToolTip2\":\"Specifies that the user-written part of the Metagraphics driver be invoked after  the procedure is complete.\",\"@ToolTip3\":\"Specifies that the user-written part be invoked for each graph.\"},\"Help\":{\"#cdata\":\"Sets level of interactivity for Metagraphics driver.\"}},{\"Name\":\"INTERLACED\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Specifies that images are to be displayed as they are received in the browser.\"}},{\"Name\":\"NONINTERLACED\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Specifies that images are not to be displayed as they are received in the browser.\"}},{\"Name\":\"INTERPOL=|I=\",\"Type\":\"V\",\"Values\":{\"@Value1\":\"BOX\",\"@Value2\":\"HILO\",\"@Value3\":\"JOIN\",\"@Value4\":\"L\",\"@Value5\":\"MEMPTY\",\"@Value6\":\"MSOLID\",\"@Value7\":\"M\",\"@Value8\":\"NEEDLE\",\"@Value9\":\"NONE\",\"@Value10\":\"R\",\"@Value11\":\"SM\",\"@Value12\":\"SPLINE\",\"@Value13\":\"STD\",\"@Value14\":\"STEP\"},\"ToolTips\":{\"@ToolTip1\":\"Produces box and whisker plots.\",\"@ToolTip2\":\"Specifies that a solid vertical line connect the minimum and maximum Y values for each X value.  Syntax: INTERPOL=HILO<C><option> where:  C draws tick marks at the close value instead of at the mean value. option: B connects the minimum and maximum Y values with bars instead of lines.  J joins the mean values or the close values (if HILOC is specified) with a line.  T adds tops and bottoms to each line.  BJ connects maximum and minimum values with a bar and joins the mean or close values.  TJ adds tops and bottoms to the lines and joins the mean or close values.\",\"@ToolTip3\":\"Connects data points with straight lines.\",\"@ToolTip4\":\"Specifies a Lagrange interpolation to smooth the plot line.  Syntax: INTERPOL=L<degree><P><S> where:  degree:  1 | 3 | 5 specifies the degree of the Lagrange interpolation polynomial. By default, degree is 1.  P specifies a parametric interpolation. S sorts a data set by the independent variable before plotting its data.\",\"@ToolTip5\":\"Specifies that an empty pattern fill the polygon that has been defined by the data points.\",\"@ToolTip6\":\"Specifies that a solid pattern fill the polygon that has been defined by the data points.\",\"@ToolTip7\":\"Specifies that a shaded pattern fill the polygon that has been defined by the data points.  Syntax: Mdensity<style<angle>> where: density: 1 produces the lightest shading, and 5 produces the heaviest. style specifies the direction of pattern lines: N parallel lines (the default), X crosshatched lines. degree (0...360): the degree at which the parallel lines are drawn. By default, angle is 0 (lines  are parallel to the horizontal axis).\",\"@ToolTip8\":\"Draws a vertical line from each data point to a horizontal line at the 0 value on the vertical axis  or the minimum value on the vertical axis.\",\"@ToolTip9\":\"Suppresses any interpolation and, if the VALUE= option is not specified, also suppresses plot points.\",\"@ToolTip10\":\"Specifies that a plot is a regression analysis.  Syntax: INTERPOL=R<type><0><CLM | CLI<50...99>> where: type: L requests linear regression (default); Q requests quadratic regression; C requests cubic regression.  Specifiy 0 to force the regression line through a (0,0) origin. CLM displays confidence limits for mean predicted values. CLI displays confidence limits for individual predicted values.\",\"@ToolTip11\":\"Specifies that a smooth line is fit to data using a spline routine.\",\"@ToolTip12\":\"Specifies that the interpolation for the plot line use a spline routine. INTERPOL=SPLINE produces the smoothest line and is the most efficient of the nontrivial spline interpolation methods.\",\"@ToolTip13\":\"Specifies that a solid line connect the mean Y value with \\u00b1 1, 2, or 3 standard deviations for each X.\",\"@ToolTip14\":\"Specifies that the data are plotted with a step function.  Syntax: INTERPOL=STEP<placement><J><S> where: placement: L displays the data point on the left of the step. R displays the data point on the right of the step.  C displays the data point in the center of the step.  For the other options: J produces steps joined with a vertical line. S sorts unordered data by the  independent variable before plotting.\"},\"Help\":{\"#cdata\":\"Sets the default interpolation value for the SYMBOL statement.\"}},{\"Name\":\"ITERATION=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[Syntax: ITERATION=iteration-count] \\n    \\nSpecifies the number of times to repeat the animation loop.\"}},{\"Name\":\"KEYMAP=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[Syntax: KEYMAP=key-map-name | NONE] \\n    \\nSelects the keymap to use.\"}},{\"Name\":\"LCOLS=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[Syntax: LCOLS=landscape-columns] \\n    \\nSets the number of columns in the graphics output area for landscape orientation. \\n\\nlandscape-columns \\nmust be a nonnegative integer up to three digits long (0...999).\"}},{\"Name\":\"LFACTOR=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[Syntax: LFACTOR=line-thickness-factor] \\n    \\nSelects the default hardware line thickness.\"}},{\"Name\":\"LROWS=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[Syntax: LROWS=landscape-rows] \\n    \\nSets the number of  rows in the graphics output area for landscape orientation. \\n\\nlandscape-rows \\nmust be a nonnegative integer up to three digits long (0...999).\"}},{\"Name\":\"OFFSHADOW=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[Syntax: OFFSHADOW=(x <units>, y <units>) | (x,y) <units>]\\n\\nControls the width and depth of the drop shadow in legend frames.\"}},{\"Name\":\"PAPERDEST=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[Syntax: PAPERDEST=bin] \\n    \\nSpecifies which output bin (name or number) the printer should use if multiple \\nbins are available on the device.\"}},{\"Name\":\"PAPERFEED=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"Syntax: PAPERFEED=feed-increment <IN | CM> \\n    \\nSpecifies the increment of paper that is ejected when a graph is completed. \\n    \\nfeed-increment must be a nonnegative number and can be followed by a unit specification, either \\nIN for inches (default) or CM for centimeters.\"}},{\"Name\":\"PAPERLIMIT=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[Syntax: PAPERLIMIT=width <IN | CM> where:\\n    \\nwidth specifies the paper width in IN for inches (default) or CM for centimeters.\"}},{\"Name\":\"PAPERSIZE=\",\"Type\":\"V\",\"Values\":{\"@Value1\":\"'LETTER'\",\"@Value2\":\"'LEGAL'\",\"@Value3\":\"'A4'\"},\"ToolTips\":{\"@ToolTip1\":\"LETTER paper size.\",\"@ToolTip2\":\"LEGAL paper size.\",\"@ToolTip3\":\"A4 paper size.\"},\"Help\":{\"#cdata\":\"Specifies the name of a paper size.\"}},{\"Name\":\"PAPERSOURCE=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"Syntax: PAPERSOURCE=tray \\n\\nwhere: tray specifies the name or number of the paper tray.\"}},{\"Name\":\"PAPERTYPE=\",\"Type\":\"V\",\"Values\":{\"@Value1\":\"GLOSSY\",\"@Value2\":\"PLAIN\",\"@Value3\":\"SPECIAL\",\"@Value4\":\"TRANSPARENCY\"},\"ToolTips\":{\"@ToolTip1\":\"GLOSSY paper type\",\"@ToolTip2\":\"PLAIN paper type\",\"@ToolTip3\":\"SPECIAL paper type\",\"@ToolTip4\":\"TRANSPARENCY paper type.\"},\"Help\":{\"#cdata\":\"[Syntax: PAPERTYPE='type-name'] \\n    \\nSpecifies the name of a paper type.\"}},{\"Name\":\"PCLIP\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Stores clipped polygons with the graph in the default catalog WORK.GSEG, or in the \\ncatalog you specify.\"}},{\"Name\":\"NOPCLIP\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Stores the unclipped form of the polygon and causes the polygon to be clipped \\nwhen replayed.\"}},{\"Name\":\"PENMOUNTS=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"Syntax: PENMOUNTS=active-pen-mounts\\n    \\nwhere: \\n\\nactive-pen-mounts \\nspecifies the number of pens for a plotter with multiple pens. After the specified number of pens \\nhave been used, you are prompted to change the pens.\"}},{\"Name\":\"PENSORT\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Causes the plotter to draw all graphics elements of one color at one time.\"}},{\"Name\":\"NOPENSORT\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Causes the plotter to draw each element as it is encountered, regardless of its color.\"}},{\"Name\":\"PIEFILL\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Causes SAS/GRAPH to use the built-in hardware capability of the device, if available, \\nto fill pies and pie sections.\"}},{\"Name\":\"NOPIEFILL\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Causes SAS/GRAPH to fill pies and pie sections using software pie fills.\"}},{\"Name\":\"POLYGONCLIP\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Specifies polygon clipping, which enables a clipped polygon to be filled with a \\nhardware pattern.\"}},{\"Name\":\"NOPOLYGONCLIP\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Specifies line clipping; a polygon that has been line-clipped cannot use a hardware \\npattern.\"}},{\"Name\":\"POLYGONFILL\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Causes SAS/GRAPH to use the built-in hardware capability of the device to fill polygons.\"}},{\"Name\":\"NOPOLYGONFILL\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Causes SAS/GRAPH to use software fills to fill polygons.\"}},{\"Name\":\"POSTGEPILOG=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"Specifies data to send immediately after the data that is stored in the Gepilog field \\nof the device entry is sent.\\n      \\nSyntax: POSTGEPILOG='string' \\n \\nwhere: \\n\\n'string' can be either of the following: \\n\\n    'hex-string'X\\n \\n    'character-string'\"}},{\"Name\":\"POSTGPROLOG=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"Specifies the data to send immediately after the data that is stored in the Gprolog \\nfield of the device entry is sent.\\n    \\nSyntax: POSTGPROLOG='string' \\n \\nwhere: \\n\\n'string' can be either of the following: \\n\\n    'hex-string'X\\n \\n    'character-string'\"}},{\"Name\":\"POSTGRAPHn=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"Syntax: POSTGRAPH1='system-command(s)'\\n\\nwhere: \\n\\nsystem-command(s) \\nspecifies one or more valid system commands. The string can contain upper- or \\nlowercase characters.\"}},{\"Name\":\"PPDFILE=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"Syntax: PPDFILE=fileref | 'external-file'\\n    \\nwhere: \\n\\nfileref specifies a fileref that points to the PPD file you want to use.\\n\\nexternal-file specifies the complete filename of the PPD file you want to use.\"}},{\"Name\":\"PREGEPILOG=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"Specifies data to send immediately before the data that is stored in the Gepilog \\nfield of the device entry is sent.\\n    \\nSyntax: PREGEPILOG='string' \\n\\nwhere:\\n\\n'string' can be either of the following: \\n\\n    'hex-string'X\\n \\n    'character-string'\"}},{\"Name\":\"PREGPROLOG=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"Specifies the data to send immediately before the data that is stored in the Gprolog \\nfield of the device entry is sent.\\n    \\nSyntax: PREGPROLOG='string' where:\\n\\n'string' can be either of the following: \\n\\n    'hex-string'X\\n \\n    'character-string'\"}},{\"Name\":\"PREGRAPHn=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"Syntax: PREGRAPH1='system-command(s)' where:\\n    \\nsystem-command(s) specifies one or more valid system commands. The string can contain \\nupper- or lowercase characters.\"}},{\"Name\":\"PROMPT\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Causes all prompts to be displayed.\"}},{\"Name\":\"NOPROMPT\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Suppresses all prompts. NOPROMPT overrides the GWAIT= graphics option.\"}},{\"Name\":\"PROMPTCHARS=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[Syntax: PROMPTCHARS='prompt-chars-hex-string'X] \\n    \\nSelects the prompt characters to be used by SAS/GRAPH device drivers.\"}},{\"Name\":\"RENDER=\",\"Type\":\"V\",\"Values\":{\"@Value1\":\"APPEND\",\"@Value2\":\"DISK\",\"@Value3\":\"MEMORY\",\"@Value4\":\"NONE\"},\"ToolTips\":{\"@ToolTip1\":\"Creates files to store rendered versions of Bitstream fonts if the files do not  already exist, reads previously rendered characters from the font files, and  appends rendered versions of new characters to the font files when the SAS/GRAPH  procedure terminates.\",\"@ToolTip2\":\"Creates files to store rendered versions of Bitstream fonts if the files do not  already exist, reads previously rendered characters from the font files, and  appends rendered versions of new characters to the font files as they are  encountered.\",\"@ToolTip3\":\"Renders all fonts in memory without creating any font files on disk. Font files  are not used even if they already exist.\",\"@ToolTip4\":\"Disables the font rendering features.\",\"@ToolTip5\":\"Reads existing rendered font files but does not create new font files or write  new characters to existing font files.\"},\"Help\":{\"#cdata\":\"Controls the creation and disposition of rendered Bitstream fonts.\"}},{\"Name\":\"RENDERLIB=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"Specifies the SAS library in which rendered font files are stored.\"}},{\"Name\":\"REPAINT=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"Specifies how many times to redraw the graph.\\n\\nSyntax: REPAINT=redraw-factor where:\\n\\nredraw-factor is a nonnegative integer up to three digits long (0...999).\"}},{\"Name\":\"RESET=\",\"Type\":\"V\",\"Values\":{\"@Value1\":\"ALL\",\"@Value2\":\"GLOBAL\",\"@Value3\":\"<statement-name>\"},\"ToolTips\":{\"@ToolTip1\":\"Sets all graphics options to defaults and cancels all global statements.\",\"@ToolTip2\":\"Cancels all global statements (AXIS, FOOTNOTE, LEGEND, PATTERN, SYMBOL, and TITLE).\",\"@ToolTip3\":\"Syntaxt: RESET=statement-name|(statement-name(s))                 Resets or cancels only the specified global statements.\"},\"Help\":{\"#cdata\":\"Resets graphics options to their defaults and/or cancels global statements.\"}},{\"Name\":\"REVERSE\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Specifies to print the output in reverse order, if reverse printing is supported by the device.\"}},{\"Name\":\"NOREVERSE\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Specifies not to print the output in reverse order.\"}},{\"Name\":\"ROTATE\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Specifies to rotate the graph 90 degrees from its default orientation.\"}},{\"Name\":\"NOROTATE\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Specifies not to rotate the graph 90 degrees from its default orientation.\"}},{\"Name\":\"ROTATE=\",\"Type\":\"V\",\"Values\":{\"@Value1\":\"LANDSCAPE\",\"@Value2\":\"PORTRAIT\"},\"ToolTips\":{\"@ToolTip1\":\"Specifies landscape orientation (the graph is wider than it is high).\",\"@ToolTip2\":\"Specifies portrait orientation (the graph is higher than it is wide).\"},\"Help\":{\"#cdata\":\"Specifies whether and how to rotate the graph.\"}},{\"Name\":\"SIMFONT=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"Syntax: SIMFONT=SAS/GRAPH-font where:\\n    \\nSAS/GRAPH-font specifies a SAS/GRAPH font to use instead of the default device-resident font.\"}},{\"Name\":\"SPEED=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"Selects pen speed for plotters with variable speed selection.\\n    \\nSyntax: SPEED=pen-speed where:\\n\\npen-speed specifies a percentage (1 through 100) of the maximum pen speed for the device.\"}},{\"Name\":\"SWAP\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Swaps BLACK for WHITE and vice versa.\"}},{\"Name\":\"NOSWAP\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Does not swap the colors. A blank Swap field in the Parameters window is the same as SWAP=N.\"}},{\"Name\":\"SWFONTRENDER=\",\"Type\":\"V\",\"Values\":{\"@Value1\":\"POLYGON\",\"@Value2\":\"SCANLINE\"},\"ToolTips\":{\"@ToolTip1\":\"Uses polygon rendering\",\"@ToolTip2\":\"uses scanline rendering\"},\"Help\":{\"#cdata\":\"Specifies the method used to render system fonts.\"}},{\"Name\":\"SYMBOL\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Causes SAS/GRAPH to use the built-in symbol-drawing capability of the device, if available.\"}},{\"Name\":\"NOSYMBOL\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Causes SAS/GRAPH to draw the symbols using SAS/GRAPH fonts.\"}},{\"Name\":\"TARGETDEVICE=|TARGET=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"Displays the output as it would appear on a different device. Also, specifies the device driver \\nfor the PRINT command.\\n    \\nSyntax: TARGETDEVICE=target-device-entry where:\\n \\ntarget-device-entry \\nspecifies the name of a device entry in a catalog.\"}},{\"Name\":\"TARGET=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"See TARGETDEVICE= option.\"}},{\"Name\":\"TRANSPARENCY\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Specifies that the background of the image should appear to be transparent when the image is \\ndisplayed in the browser.\"}},{\"Name\":\"NOTRANSPARENCY\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Specifies that the background of the image should not appear to be transparent when the image is \\ndisplayed in the browser.\"}},{\"Name\":\"TRANTAB=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"Selects a translate table for your system that performs ASCII-to-EBCDIC translation.\\n    \\nSyntax: TRANTAB=table | user-defined-table w\\n\\nhere:\\n\\ntable: specifies a translate table stored as a SAS/GRAPH catalog entry. Table can be \\none of the following: \\n\\n      SASGTAB0 (default translate table for your operating environment)\\n \\n      GTABVTAM\\n \\n      GTABTCAM \\n\\nuser-defined-table: specifies the name of a user-created translate table.\"}},{\"Name\":\"UCC=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"Sets the user-defined control characters for the device.\\n    \\nSyntax: UCC='control-characters-hex-string'X where:\\n\\ncontrol-characters-hex-string is a hexadecimal string that can be up 32 bytes \\n(64 characters) long.\"}},{\"Name\":\"USERINPUT\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Enables user input\"}},{\"Name\":\"NOUSERINPUT\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Disables user input\"}},{\"Name\":\"VORIGIN=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"Sets the vertical offset from the lower-left corner of the display area to the \\nlower-left corner of the graph.\\n    \\nSyntax: VORIGIN=vertical-offset <IN | CM | PT> where:\\n\\nvertical-offset must be a nonnegative number and can be followed by a unit \\nspecification, either IN for inches (default), or CM for centimeters, or PT \\nfor points.\"}},{\"Name\":\"VPOS=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"Sets the number of rows in the graphics output area.\\n    \\nSyntax: VPOS=rows  where:\\n\\nrows specifies the number of rows in the graphics output area, which is equivalent \\nto the number of hardware characters that can be displayed vertically. Specifying \\nVPOS=0 causes the device driver to use the default hardware character cell height \\nfor the device.\"}},{\"Name\":\"VSIZE=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"Sets the vertical size of the graphics output area.\\n    \\nSyntax: VSIZE=vertical-size <IN | CM | PT> where:\\n\\nvertical-size specifies the height of the graphics output area; \\nvertical-size must be a positive number and can be followed by a unit specification, \\neither IN for inches (default), or CM for centimeters, or PT for points.\"}},{\"Name\":\"V6COMP\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Causes SAS/GRAPH programs to use these Version 6 behaviors.\"}},{\"Name\":\"NOV6COMP\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Causes SAS/GRAPH programs to use all the features of the current SAS version.\"}},{\"Name\":\"XMAX=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"Specifies the width of the addressable graphics display area; affects the horizontal \\nresolution of the device and the horizontal dimension of the graphics output area.\\n    \\nSyntax: XMAX=width <IN | CM | PT>  where:\\n\\nwidth is a positive number that can be followed by a unit specification, either IN for \\ninches (default), or CM for centimeters, or PT for points.\"}},{\"Name\":\"YMAX=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"Specifies the height of the addressable graphics display area; affects the vertical \\nresolution of the device and the vertical dimension of the graphics output area.\\n    \\nSyntax: YMAX=height <IN | CM | PT>  where:\\n\\nheight is a positive number that can be followed by a unit specification, either IN \\nfor inches (default), or CM for centimeters, or PT for points.\"}}]}}"
  },
  {
    "path": "server/data/Statements/INFILE.json",
    "content": "{\"Keywords\":{\"Keyword\":[{\"Name\":\"DATALINES|CARDS\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Specifies that the input data immediately follows the DATALINES\\\\CARDS statement \\nin the DATA step. Using DATALINES|CARDS allows you to use the INFILE statement \\noptions to control how the INPUT statement reads instream data lines.\"}},{\"Name\":\"DATALINES4|CARDS4\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Specifies that the input data immediately follows the DATALINES4|CARDS4 statement \\nin the DATA step. Using DATALINES4|CARDS4 allows you to use the INFILE statement \\noptions to control how the INPUT statement reads instream data lines.\"}},{\"Name\":\"DISK\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"[device-type] \\n    \\nSpecifies that the device is a disk drive.\"}},{\"Name\":\"DUMMY\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"[device-type] \\n    \\nSpecifies that the output to the file is discarded. \\n    \\nTip: Specifying DUMMY can be useful for testing.\"}},{\"Name\":\"GTERM\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"[device-type] \\n    \\nIndicates that the output device type is a graphics device that will receive \\ngraphics data.\"}},{\"Name\":\"PIPE\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"[device-type] \\n    \\nSpecifies an unnamed pipe. Note: Some operating environments do not \\nsupport pipes.\"}},{\"Name\":\"PLOTTER\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"[device-type] \\n    \\nSpecifies an unbuffered graphics output device.\"}},{\"Name\":\"PRINTER\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"[device-type] \\n    \\nSpecifies a printer or printer spool file.\"}},{\"Name\":\"TAPE\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"[device-type] \\n    \\nSpecifies a tape drive.\"}},{\"Name\":\"TEMP\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"[device-type] \\n    \\nCreates a temporary file that exists only as long as the filename is assigned. \\n\\nRestriction: Do not specify a physical pathname. If you do, SAS returns an error.\"}},{\"Name\":\"TERMINAL\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"[device-type] \\n    \\nSpecifies the user's terminal.\"}},{\"Name\":\"UPRINTER\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"[device-type] \\n    \\nSpecifies a Universal Printing printer definition name.\"}},{\"Name\":\"BLKSIZE=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"Specifies the block size of the input file.\"}},{\"Name\":\"COLUMN=|COL=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"Names a variable that SAS uses to assign the current column location of the input pointer. \\nLike automatic variables, the COLUMN= variable is not written to the data set.\"}},{\"Name\":\"DELIMITER=|DLM=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"Specifies an alternate delimiter (other than a blank) to be used for LIST input.\"}},{\"Name\":\"DLMSTR=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"Specifies a character string as an alternate delimiter (other than a blank) to be used for \\nLIST input\"}},{\"Name\":\"DLMSOPT=\",\"Type\":\"V\",\"Values\":{\"@Value1\":\"'I'\",\"@Value2\":\"'T'\"},\"ToolTips\":{\"@ToolTip1\":\"Specifies that case-insensitive comparisons will be done.\",\"@ToolTip2\":\"Specifies that trailing blanks of the string delimiter will be removed.\"},\"Help\":{\"#cdata\":\"Specifies whether case-insensitive comparisons will be done, or trailing blanks of the string \\ndelimiter will be removed.\"}},{\"Name\":\"DSD\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Specifies that when data values are enclosed in quotation marks, delimiters within the value are \\ntreated as character data. The DSD option changes how SAS treats delimiters when you use LIST \\ninput and sets the default delimiter to a comma. When you specify DSD, SAS treats two consecutive \\ndelimiters as a missing value and removes quotation marks from character values.\"}},{\"Name\":\"ENCODING=\",\"Type\":\"V\",\"Values\":{\"@Value1\":\"'warabic'\",\"@Value2\":\"'wbaltic'\",\"@Value3\":\"'wlatin2'\",\"@Value4\":\"'wcyrillic'\",\"@Value5\":\"'wgreek'\",\"@Value6\":\"'whebrew'\",\"@Value7\":\"'wturkish'\",\"@Value8\":\"'wvietnamese'\",\"@Value9\":\"'wlatin1'\",\"@Value10\":\"'utf-8'\",\"@Value11\":\"'ms-950'\",\"@Value12\":\"'ms-936'\",\"@Value13\":\"'ms-932'\",\"@Value14\":\"'ms-949'\"},\"ToolTips\":{\"@ToolTip1\":\"Arabic\",\"@ToolTip2\":\"Baltic\",\"@ToolTip3\":\"Central Europe\",\"@ToolTip4\":\"Cyrillic\",\"@ToolTip5\":\"Greek\",\"@ToolTip6\":\"Hebrew\",\"@ToolTip7\":\"Turkish\",\"@ToolTip8\":\"Vietnamese\",\"@ToolTip9\":\"Western\",\"@ToolTip10\":\"Unicode encoding\",\"@ToolTip11\":\"Traditional Chinese\",\"@ToolTip12\":\"Simplified Chinese\",\"@ToolTip13\":\"Japanese\",\"@ToolTip14\":\"Korean\"},\"Help\":{\"#cdata\":\"Specifies the encoding to use when reading from the external file.\"}},{\"Name\":\"END=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"Specifies a variable that SAS sets to 1 when the current input data record is the last in the \\ninput file. Until SAS processes the last data record, the END= variable is set to 0. Like \\nautomatic variables, this variable is not written to the data set. \\n\\nRestriction: You cannot use the END= option with UNBUFFERED option, DATALINES or DATALINES4 \\nstatement, and an INPUT statement that reads multiple input data records.\"}},{\"Name\":\"EOF=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"Specifies a statement label that is the object of an implicit GO TO when the INFILE statement \\nreaches end of file.\"}},{\"Name\":\"EOV=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"Specifies a variable that SAS sets to 1 when the first record in a file in a series of \\nconcatenated files is read.\"}},{\"Name\":\"EXPANDTABS\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Specifies to expand tab characters to the standard tab setting, which is set at 8-column \\nintervals that start at column 9.\"}},{\"Name\":\"NOEXPANDTABS\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Specifies not to expand tab characters to the standard tab setting, which is set at 8-column i\\nntervals that start at column 9.\"}},{\"Name\":\"FILENAME=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"Specifies a variable that SAS sets to the physical name of the currently opened input file. Like \\nautomatic variables, the FILENAME= variable is not written to the data set.\"}},{\"Name\":\"FILEVAR=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"Specifies a variable whose change in value causes the INFILE statement to close the current input \\nfile and open a new one.\"}},{\"Name\":\"FIRSTOBS=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"Specifies a record number that SAS uses to begin reading input data records in the input file. \\nDefault: 1\"}},{\"Name\":\"FLOWOVER\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Causes an INPUT statement to continue to read the next input data record if it does not find \\nvalues in the current input line for all the variables in the statement.\"}},{\"Name\":\"LENGTH=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"Specifies a variable that SAS sets to the length of the current input line.\"}},{\"Name\":\"LINE=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"Specifies a variable that SAS sets to the line location of the input pointer in the input buffer. \\nLike automatic variables, the LINE= variable is not written to the data set.\"}},{\"Name\":\"LINESIZE=|LS=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"Specifies the record length that is available to the INPUT statement.\"}},{\"Name\":\"LRECL=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"Specifies the logical record length.\"}},{\"Name\":\"N=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"Specifies the number of lines that are available to the input pointer at one time.\"}},{\"Name\":\"MISSOVER\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Prevents an INPUT statement from reading a new input data record if it does not find values in \\nthe current input line for all the variables in the statement.\"}},{\"Name\":\"NBYTE=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"Specifies the name of a variable that contains the number of bytes to read from a file when \\nyou are reading data in stream record format (RECFM=S in the FILENAME statement).\"}},{\"Name\":\"OBS=\",\"Type\":\"V\",\"Values\":{\"@Value1\":\"<record-number>\",\"@Value2\":\"MAX\"},\"ToolTips\":{\"@ToolTip1\":\"Specifies the record number of the last record to read in an input file that is read sequentially.\",\"@ToolTip2\":\"Specifies the maximum number of observations to process, which will be at least as large as the  largest signed, 32-bit integer.\"},\"Help\":{\"#cdata\":\"Use OBS= with FIRSTOBS= to read a range of records from the middle of a file.\"}},{\"Name\":\"PAD\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"SAS pads the records that are read from an external file with blanks to the length that is \\nspecified in the LRECL= option.\"}},{\"Name\":\"MOD\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Indicates that data written to the file should be appended to the file.\"}},{\"Name\":\"NOPAD\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"SAS does not pad the records that are read from an external file with blanks to the length that \\nis specified in the LRECL= option.\"}},{\"Name\":\"NEW\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Indicates that a new file is to be opened for output. If the file already exists, then it \\nis deleted and re-created.\"}},{\"Name\":\"OLD\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Indicates that a new file is to be opened for output. If the file already exists, then the \\nprevious contents of the file are replaced.\"}},{\"Name\":\"PRINT\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Specifies that the input file contains carriage-control characters.\"}},{\"Name\":\"NOPRINT\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Specifies that the input file does not contain carriage-control characters.\"}},{\"Name\":\"RECFM=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"Specifies the record format of the input file.\"}},{\"Name\":\"SCANOVER\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Causes the INPUT statement to scan the input data records until the character string that is \\nspecified in the @'character-string' expression is found.\"}},{\"Name\":\"SHAREBUFFERS|SHAREBUFS\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Specifies that the FILE statement and the INFILE statement share the same buffer.\"}},{\"Name\":\"START=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"Specifies a variable whose value SAS uses as the first column number of the record that the \\nPUT _INFILE_ statement writes. Like automatic variables, the START variable is not written \\nto the data set.\"}},{\"Name\":\"STOPOVER\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Causes the DATA step to stop processing if an INPUT statement reaches the end of the current record \\nwithout finding values for all variables in the statement.\"}},{\"Name\":\"TRUNCOVER\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Overrides the default behavior of the INPUT statement when an input data record is shorter than the \\nINPUT statement expects. By default, the INPUT statement automatically reads the next input data \\nrecord. TRUNCOVER enables you to read variable-length records when some records are shorter than the \\nINPUT statement expects. Variables without any values assigned are set to missing.\"}},{\"Name\":\"UNBUFFERED|UNBUF\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Tells SAS not to perform a buffered (\\\"look ahead\\\") read.\"}},{\"Name\":\"_INFILE_=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"Specifies a character variable that references the contents of the current input buffer for this \\nINFILE statement.\"}},{\"Name\":\"TERMSTR=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"Controls the end-of-line or record delimiters in PC- and UNIX-formatted files. This option \\nenables the sharing of UNIX- and PC-formatted files between the two hosts.\"},\"Values\":{\"@Value1\":\"CRLF\",\"@Value2\":\"NL\"},\"ToolTips\":{\"@ToolTip1\":\"Carriage Return Line Feed. This parameter is used to create PC format files.\",\"@ToolTip2\":\"Newline. This parameter is used to create UNIX format files. NL is the default format.\"}}]}}"
  },
  {
    "path": "server/data/Statements/INFORMAT.json",
    "content": "{\"Keywords\":{\"Keyword\":{\"Name\":\"DEFAULT=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"Syntax: DEFAULT= default-informat] \\n          \\nSpecifies a temporary default informat for reading values of the variables that \\nare listed in the INFORMAT statement. If no variable is specified, then the DEFAULT= \\ninformat specification applies a temporary default informat for reading values of all \\nthe variables of that type included in the DATA step. Numeric informats are applied \\nto numeric variables, and character informats are applied to character variables. \\nThese default informats apply only to the current DATA step. \\n\\nA DEFAULT= informat specification applies to\\n\\n  o variables that are not named in an INFORMAT or ATTRIB statement \\n  o variables that are not permanently associated with an informat within a SAS data set \\n  o variables that are not read with an explicit informat in the current DATA step.\\n\\nDefault: If you omit DEFAULT=, SAS uses w.d as the default numeric informat and $w. \\nas the default character informat. \\n\\nRestriction: Use this argument only in a DATA step.  \\n\\nTip: A DEFAULT= specification can occur anywhere in an INFORMAT statement. It can \\nspecify either a numeric default, a character default, or both.\"}}}}"
  },
  {
    "path": "server/data/Statements/KILLTASK.json",
    "content": "{\"Keywords\":{\"Keyword\":{\"Name\":\"_ALL_\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Terminates all active asynchronous tasks.\"}}}}"
  },
  {
    "path": "server/data/Statements/LEGEND.json",
    "content": "{\"Keywords\":{\"Keyword\":[{\"Name\":\"ACROSS=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[Syntax: ACROSS=number-of-columns] \\n    \\nSpecifies the number of columns to use for legend entries. If there are multiple \\nrows and columns in a legend, use the ROWMAJOR and COLMAJOR options to specify the \\narrangement of legend entries. Specify the ROWMAJOR option to arrange entries (from \\nlowest to highest) starting from left to right, and then top to bottom. Specify the \\nCOLMAJOR option to arrange entries starting from top to bottom, and then left to right.\"}},{\"Name\":\"CBLOCK=\",\"Type\":\"C\",\"Help\":{\"#cdata\":\"[Syntax: CBLOCK=block-color] \\n    \\nGenerates and colors a three-dimensional block effect behind the legend. The size \\nand position of the block are controlled by the graphics option OFFSHADOW=(x,y).\"}},{\"Name\":\"CBORDER=\",\"Type\":\"C\",\"Help\":{\"#cdata\":\"[Syntax: CBORDER=frame-color] \\n    \\nDraws a colored frame around the legend. This option overrides the FRAME option. \\nCBORDER= can be used in conjunction with the CFRAME= option.\"}},{\"Name\":\"CFRAME=\",\"Type\":\"C\",\"Help\":{\"#cdata\":\"[Syntax: CFRAME=background-color] \\n    \\nSpecifies the background color of the legend. This option overrides the FRAME option. \\nIf both the CFRAME= and FRAME= options are specified, only the solid background produced \\nby the CFRAME= option is displayed. The CFRAME= option can be used in conjunction with the \\nCBORDER= option.\"}},{\"Name\":\"CSHADOW=\",\"Type\":\"C\",\"Help\":{\"#cdata\":\"[Syntax: CSHADOW=shadow-color] \\n    \\nGenerates and colors a drop shadow behind the legend. The size and position of the \\nshadow is controlled by the graphics option OFFSHADOW=(x,y).\"}},{\"Name\":\"DOWN=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[Syntax: DOWN=number-of-rows] \\n    \\nSpecifies the number of rows to use for legend entries. If there are multiple rows and  \\ncolumns in a legend, use the ROWMAJOR and COLMAJOR options to specify the arrangement \\nof legend entries. Specify the ROWMAJOR option to arrange entries (from lowest to highest) \\nstarting from left to right, and then top to bottom. Specify the COLMAJOR option to arrange \\nentries starting from top to bottom, and then left to right. The ROWMAJOR option is the \\ndefault.\"}},{\"Name\":\"FRAME\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Draws a frame around the legend. The color of the frame is the first color in \\nthe color list.\"}},{\"Name\":\"FWIDTH=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[Syntax: FWIDTH=thickness-factor] \\n    \\nSpecifies the thickness of the frame, where thickness-factor is a number. The \\nthickness of the line increases directly with thickness-factor. By default, \\nFWIDTH=1.\"}},{\"Name\":\"LABEL=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[Syntax: LABEL=(text-argument(s)) | NONE] \\n    \\nModifies a legend label. Text-argument(s) defines the appearance or the text of a \\nlegend label, or both. NONE suppresses the legend label. \\n\\nText-argument(s) can be one or more of these: \\n\\n  \\\"text-string\\\" \\n  provides up to 256 characters of label text. Enclose each string in quotes. Separate \\n  multiple strings with blanks.\\n\\n  text-description-suboption \\n  modifies a characteristic such as the font, color, or size of the text strings that \\n  follows it.\\n\\n  Text-description-suboption can be as follows: \\n\\n     COLOR=text-color\\n     \\n     FONT=font | NONE\\n     \\n     HEIGHT=text-height <units>\\n     \\n     JUSTIFY=LEFT | CENTER | RIGHT\\n     \\n     POSITION=(<BOTTOM | MIDDLE | TOP> <LEFT | CENTER | RIGHT>)\"},\"SubOptionsKeywords\":\"COLOR=|C=|FONT=|F=|HEIGHT=|H=|JUSTIFY=|J=|POSITION=\"},{\"Name\":\"LABEL=NONE\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"Suppresses the legend label.\"}},{\"Name\":\"MODE=\",\"Type\":\"V\",\"Values\":{\"@Value1\":\"PROTECT\",\"@Value2\":\"RESERVE\",\"@Value3\":\"SHARE\"},\"ToolTips\":{\"@ToolTip1\":\"Draws the legend in the procedure output area, but a blanking area surrounds the legend, preventing other graphics elements from being displayed in the legend.\",\"@ToolTip2\":\"Takes space for the legend from the procedure output area, thereby reducing the amount  of space available for the graph.\",\"@ToolTip3\":\"Draws the legend in the procedure output area. If the legend is positioned over elements of the graph itself, both graphics elements and legend elements are displayed.\"},\"Help\":{\"#cdata\":\"Specifies whether the legend is drawn in the procedure output area or whether legend elements can \\noverlay other graphics elements.\"}},{\"Name\":\"OFFSET=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[Syntax: OFFSET=(<x><,y>)<units> | (<x <units>><,y <units>>)] \\n    \\nSpecifies the distance to move the entire legend;\\n\\nx is the number of units to move the legend right (positive numbers) or left (negative numbers), \\nand y is the number of units to move the legend up (positive numbers) or down (negative numbers).\"}},{\"Name\":\"ORDER=\",\"Type\":\"V\",\"Values\":{\"@Value1\":\"<(value-list)>\",\"@Value2\":\"DESCENDING\"},\"ToolTips\":{\"@ToolTip1\":\"Replace <(value-list)> with an actual value. Use value-list to select only those legend  values that you want to display and by their placement in the list, order where they appear  in the legend.\",\"@ToolTip2\":\"Specifies that the legend values appear in the legend in reverse of the default order,  sorted from maximum to minimum value.\"},\"Help\":{\"#cdata\":\"[Syntax: ORDER=(value-list)|DESCENDING] \\n    \\nSelects or orders the legend values that appear in the legend. The way you specify\\n\\nvalue-list depends on the type of variable that generates the legend: \\n\\nFor numeric variables, value-list is either an explicit list of values, or a starting \\nand an ending value with an interval increment, or a combination of both forms: \\n\\n   n <...n>\\n   \\n   n TO n <BY increment>\\n   \\n   n <...n> TO n <BY increment> <n <...n>>\\n   \\n\\nIf a numeric variable has an associated format, the specified values must be the \\nunformatted values.\\n\\nFor character variables, value-list is a list of unique character values enclosed \\nin quotes and separated by blanks: \\n\\n  \\\"value-1\\\" <...\\\"value-n\\\"> \\n\\nIf a character variable has an associated format, the specified values must be the \\nformatted values.\"}},{\"Name\":\"ORIGIN=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[Syntax: ORIGIN=(<x><,y>)<units> | (<x <units >><,y <units>>)] \\n    \\nSpecifies the x coordinate and the y coordinate of the lower-left corner of the legend box. \\nThe ORIGIN= option explicitly positions the legend anywhere on the graphics output area. \\nIt is possible to run a legend off the page or overlay the graph.\\n\\nTo set only the x coordinate, specify one value, with or without a following comma: \\n\\n    origin=(4 cm,)\\n    \\nTo set both the x and y coordinates, specify two values, with or without a comma separating them: \\n\\n    origin=(2 pct, 4 pct)\\n    \\nTo set only the y coordinate, specify one value preceded by a comma: \\n\\n    origin=(,3 pct)\"}},{\"Name\":\"POSITION=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[Syntax: POSITION=(<BOTTOM | MIDDLE | TOP> <LEFT | CENTER | RIGHT> <OUTSIDE | INSIDE>)] \\n    \\nPositions the legend on the graph. Values for POSITION= are:\\n\\n  OUTSIDE or INSIDE \\n  specifies the location of the legend in relation to the axis area.\\n   \\n  BOTTOM or MIDDLE or TOP\\n  specifies the vertical position.\\n   \\n  LEFT or CENTER or RIGHT\\n  specifies the horizontal position.\"}},{\"Name\":\"REPEAT=\",\"Type\":\"V\",\"Values\":{\"@Value1\":\"1\",\"@Value2\":\"2\",\"@Value3\":\"3\"},\"ToolTips\":{\"@ToolTip1\":\"Plot symbol is repeated once in the legend.\",\"@ToolTip2\":\"Plot symbol is repeated twice in the legend.\",\"@ToolTip3\":\"Plot symbol is repeated 3 times in the legend.\"},\"Help\":{\"#cdata\":\"Use the REPEAT= option to specify how many times the plot symbol is repeated in the legend.\"}},{\"Name\":\"ROWMAJOR\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Arranges entries (from lowest to highest) starting from left to right, and then top to bottom.\"}},{\"Name\":\"COLMAJOR\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Arrange the entries starting from top to bottom, and then left to right.\"}},{\"Name\":\"SHAPE=\",\"Type\":\"V\",\"Values\":{\"@Value1\":\"BAR\",\"@Value2\":\"LINE\",\"@Value3\":\"SYMBOL\"},\"ToolTips\":{\"@ToolTip1\":\"Syntax: BAR(width,height)<units>         Is used with the GCHART and GMAP procedures, with the GPLOT procedure if you use the  AREAS= option, and with the GCONTOUR procedure if you use the PATTERN option. Each  legend value is a bar of the specified width and height. By default, width is 5,  height is 0.8, and units are CELLS. You can specify units for the width,height pair  or for the individual coordinates.\",\"@ToolTip2\":\"Syntax: LINE(length) <units>                 Is used with the GPLOT and GCONTOUR procedures. Each legend value is a line of the  length you specify. Plotting symbols are omitted from the legend values. By default,  length is 5 and units are CELLS. You can specify units for length.\",\"@ToolTip3\":\"Syntax: SYMBOL(width<units>,height<units>) <units>                 Is used with the GPLOT procedure. Each legend value (not each symbol) is the width  and height you specify.\"},\"Help\":{\"#cdata\":\"Specifies the size and shape of the legend values displayed in each legend entry.\"}},{\"Name\":\"SPLIT=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[Syntax: SPLIT=\\u201csplit-char(s)\\u201d] \\n    \\nSpecifies one or more characters that the LEGEND statement uses to break a text description \\nstring into multiple lines. Split-char(s) can be any character value that can be specified \\nin a SAS character variable. Do not delimit when specifying multiple split characters. When \\nthe LEGEND statement encounters the split character, it automatically breaks the value at \\nthat point and continues on the next line. For example, suppose the legend text description \\ncontains the string Berlin, Germany/Europe, and you specify SPLIT=\\u201c,/\\u201d. The legend will break \\nthe text string into top-aligned lines as follows: \\n\\n  Berlin\\n  Germany\\n  Europe\\n  \\nIf the LEGEND statement does not encounter a specified split character, no break in the \\ntext occurs, and no warning or error is issued.\\n\\nRestrictions:Not supported by Java and ActiveX \\n\\nNot supported by the GRADAR procedure\\n\\nUp to 31 split characters are supported. If you specify more than 31 characters, only the \\nfirst 31 will be honored. \\n\\nNote: The split characters themselves are not displayed.\"}},{\"Name\":\"VALUE=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[Syntax: VALUE=(text-argument(s) ) | NONE] \\n    \\nModifies the legend value descriptions. Text-argument(s) defines the appearance \\nor the text of the value descriptions. By default, value descriptions are the \\nvalues of the variable that generates the legend or an associated format value. \\nNumeric values are right-justified and character values are left-justified. NONE \\nsuppresses the value descriptions although the legend values (bars, lines, and \\nso on) are still displayed.\\n\\nText-argument(s) can be one or more of these: \\n\\n\\\"text-string\\\" \\nprovides up to 256 characters of text for the value description. Enclose each string \\nin quotes. Separate multiple strings with blanks.\\n\\ntext-description-suboption \\nmodifies a characteristic such as the font, color, or size of the text string(s) that \\nfollows it. Text-description-suboption can be as follows: \\n\\n   COLOR=text-color\\n   \\n   FONT=font | NONE\\n   \\n   HEIGHT=text-height <units >\\n   \\n   JUSTIFY=LEFT | CENTER | RIGHT\\n   \\n   TICK=n\\n   \"},\"SubOptionsKeywords\":\"COLOR=|C=|FONT=|F=|HEIGHT=|H=|JUSTIFY=|J=|TICK=|T=\"}]}}"
  },
  {
    "path": "server/data/Statements/LIBNAME.json",
    "content": "{\"Keywords\":{\"Keyword\":[{\"Name\":\"CLEAR\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Disassociates one or more currently assigned librefs.\"}},{\"Name\":\"_ALL_\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Specifies that the CLEAR or LIST argument applies to all currently assigned librefs.\"}},{\"Name\":\"V9|BASE\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"[Engine Name] \\n    \\nAccesses SAS System 9, SAS 9.1, and SAS 9.2 data sets. You can use the nickname BASE \\nfor this engine.\"}},{\"Name\":\"V8\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"[Engine Name] \\n    \\nAccesses Version 8, Release 8.1, and Release 8.2 data sets.\"}},{\"Name\":\"V7\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"[Engine Name] \\n    \\nAccesses Version 7 data sets.\"}},{\"Name\":\"V6\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"[Engine Name] \\n    \\nAccesses Release 6.08 through Release 6.12 data sets.\"}},{\"Name\":\"V604\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"[Engine Name] \\n    \\nAccesses Release 6.03 and Release 6.04 data sets.\\n\\nNote: The V604 engine enables you to read from Release 6.03 and Release 6.04 SAS data \\nsets directly from your 32-bit Windows SAS 9.2 session. Release 6.03 and Release 6.04 \\nSAS data sets are not compatible with the x64 64-bit environment and the Itanium 64-bit \\nenvironment.\"}},{\"Name\":\"XPORT\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"[Engine Name] \\n    \\nAccesses transport format files.\"}},{\"Name\":\"BMDP\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"[Engine Name] \\n    \\nAccesses BMDP data files in a 32-bit operating environment.\"}},{\"Name\":\"OSIRIS\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"[Engine Name] \\n    \\nAccesses OSIRIS data files.\"}},{\"Name\":\"SPSS\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"[Engine Name] \\n    \\nAccesses SPSS export files.\"}},{\"Name\":\"V9TAPE\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"[Engine Name] \\n    \\nEnables you to access SAS files that were created in a sequential format, whether \\non tape or on disk. Requires less overhead than the default engine because sequential \\naccess is simpler that random access.\"}},{\"Name\":\"V8TAPE\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"[Engine Name] \\n    \\nEnables you to access SAS files that were created in a sequential format, whether \\non tape or on disk. Requires less overhead than the default engine because sequential \\naccess is simpler that random access.\"}},{\"Name\":\"V7TAPE\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"[Engine Name] \\n    \\nAccesses Version 7 sequential-format SAS files.\"}},{\"Name\":\"V6TAPE\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"[Engine Name] \\n    \\nAccesses V6 SAS data files that were created in a sequential format. This engine is read-only.\"}},{\"Name\":\"V5\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"[Engine Name] \\n    \\nSpecifies the read-only SAS engine for SAS 5. This engine enables you to read your \\nSAS 5 sequential data sets in SAS 9.2.\"}},{\"Name\":\"V5TAPE\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"[Engine Name] \\n    \\nSpecifies the read-only SAS sequential engine for SAS 5. This engine enables you \\nto read your SAS 5 sequential data sets in SAS 9.2.\"}},{\"Name\":\"SPDS\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"[Engine Name] \\n    \\nEnables communication between a client session and a data server. You must have the \\nScalable Performance Data Server licensed on your client computer to use this engine.\"}},{\"Name\":\"MDDB\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"[Engine Name] \\n    \\nEnables communication between a client session and an MDDB server. You must have \\nSAS/MDDB Server licensed on your client computer or on your server to use this \\nengine.\"}},{\"Name\":\"CONCUR\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"[Engine Name] \\n    \\nProvides concurrent UPDATE access to SAS data sets.\"}},{\"Name\":\"CVP\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"[Engine Name] \\n    \\nExpands character variable lengths for transcoding.\"}},{\"Name\":\"SQLVIEW\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"[Engine Name] \\n    \\nAccesses data views that are described by the SQL procedure.\"}},{\"Name\":\"SPD\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"[Engine Name] \\n    \\nProvides high-performance data delivery.\"}},{\"Name\":\"MEMLIB\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Specifies to use extended server memory for this library.\"}},{\"Name\":\"FILELOCKWAIT=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[Syntax: FILELOCKWAIT=n] \\n    \\nSpecifies the number of seconds SAS will wait for a locked file to become available to \\nanother process. If the locked file is released before the number of seconds specified \\nby n, then SAS locks the file for the current process and continues. If the file is still \\nlocked when the number of seconds has been reached, then SAS writes a \\\"Locked File\\\" error \\nto the log and the DATA step fails. \\n\\nInteraction: Specifying the FILELOCKWAIT= option can have an adverse effect on one or \\nmore SAS/SHARE server and client sessions that are waiting for the release of a SAS \\nfile that is locked by another process. One or more wait conditions could lead to failed \\nprocesses for a SAS/SHARE server and clients. \\n\\nTo prevent the possibility of a failed SAS/SHARE process, you can set FILELOCKWAIT=0, \\nwhich cancels the amount of time that a SAS/SHARE server and clients would wait for the \\nrelease of a locked file. Canceling the wait time would prevent a failed process. \\n \\nRange: 0 - 600 \\nDefault: 0\"}},{\"Name\":\"LIST\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Writes the attributes of one or more SAS data libraries to the SAS log.\"}},{\"Name\":\"EXCEL\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"[SAS/ACCESS engine name for your PC file format.]\\n    \\nFor Microsoft Excel data (5, 95, 97, 2000, 2002, 2003, or 2007).\"}},{\"Name\":\"XLSX\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"[SAS/ACCESS engine name for associating a SAS libref with a Microsoft Excel workbook (XLSX file format).]\\n    \\nFor Microsoft Excel data (2007, 2010, and later files). This LIBNAME engine is new starting in the \\nsecond maintenance release of SAS/ACCESS 9.4 Interface to PC Files.\\n\\nSyntax:\\nLIBNAME  < libref>  XLSX  <'physical-path and filename.xlsx'> \\n  <SAS/ACCESS LIBNAME-options>; \"}},{\"Name\":\"ACCESS\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"[SAS/ACCESS engine name for your PC file format.] \\n    \\nFor Microsoft Access data (97, 2000, 2002, 2003, or 2007).\"}},{\"Name\":\"DB2\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Engine name for SAS/ACCESS Interface to DB2 relational database.\"}},{\"Name\":\"ORACLE\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Engine name for SAS/ACCESS Interface to ORACLE relational database.\"}},{\"Name\":\"ODBC\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Engine name for SAS/ACCESS Interface to ODBC.\"}},{\"Name\":\"OLEDB\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Engine name for SAS/ACCESS Interface to OLEDB.\"}},{\"Name\":\"MYSQL\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Engine name for SAS/ACCESS Interface to MySQL relational database.\"}},{\"Name\":\"SQLSVR\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Engine name for SAS/ACCESS Interface to Microsoft SQL Server relational database.\"}},{\"Name\":\"INFORMIX\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Engine name for SAS/ACCESS Interface to INFORMIX relational database.\"}},{\"Name\":\"NEOVIEW\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Engine name for SAS/ACCESS Interface to HP NEOVIEW.\"}},{\"Name\":\"SYBASE\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Engine name for SAS/ACCESS Interface to Sybase relational database.\"}},{\"Name\":\"TERADATA\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Engine name for SAS/ACCESS Interface to TERADATA.\"}},{\"Name\":\"NETEZZA\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Engine name for SAS/ACCESS Interface to NETEZZA.\"}},{\"Name\":\"ASTER\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Engine name for SAS/ACCESS Interface to Aster nCluster.\"}},{\"Name\":\"GREENPLM\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Engine name for SAS/ACCESS Interface to Greenplum.\"}},{\"Name\":\"SYBASEIQ\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Engine name for SAS/ACCESS Interface to Sybase IQ.\"}},{\"Name\":\"HADOOP\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Engine name for SAS/ACCESS Interface to Hadoop.\"}},{\"Name\":\"SASIOLA\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Engine name for the SASIOLA (The SAS LASR Engine)\"}},{\"Name\":\"CAS\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Engine name for the Cloud Analytic Services (CAS)\"}},{\"Name\":\"SASHDAT\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"The sashdat engine is a bi-directional engine for metadata and  a uni-directional engine \\nfor data. That means, you can use a sashdat libname to parse a procedure against data \\nstored in sashdat format and a DATA step sends metadata information to HDFS when you \\noperate on a sashdat file. When it comes to moving data (=rows) between sashdat files \\nin HDFS and a SAS session, the flow is only one way, however. The sashdat engine does \\nnot bring data from a sashdat file back to the SAS session. Data moves only from the \\nSAS session into the sashdat format.\"}},{\"Name\":\"POSTGRES\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Specifies the SAS/ACCESS engine name for the PostgreSQL interface.)\"}},{\"Name\":\"VERTICA\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Specifies the SAS/ACCESS engine name for the Vertica interface.)\"}},{\"Name\":\"JMP\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Associates a libref with a JMP data table and enables you to read and write JMP data tables.\"}},{\"Name\":\"INIT=|INIT_STRING=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[Syntax: INIT= \\\"connection-string\\\"] \\n    \\nSpecifies an initialization string that SAS uses when connecting to a data source, as in this example: \\n\\n  libname db ACCESS init=\\\"Provider=Microsoft.Jet.OLEDB.4.0 \\n  Data Source=c:\\\\temp\\\\sasdemo.mdb\\\" \\n\\nNote: This option should not be used with a physical filename or other connection options, such \\nas PATH= and UDL=.\"}},{\"Name\":\"DS=|DATASRC=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[Syntax: DS=|DATASRC=|PATH=\\\"path-for-file\\\"] \\n    \\nSpecifies the data source file. This is the full path and filename for your relational database \\nfile or Microsoft Excel workbook file. This option value is treated the same as the physical filename. \\nYou should use it only when you do not specify the physical filename in the LIBNAME statement. However, \\nuse of this option requires the engine name to be specified. Always enter file extension .mdb for Microsoft \\nAccess and .xls for Excel.\"}},{\"Name\":\"PROMPT=\",\"Type\":\"V\",\"Values\":{\"@Value1\":\"YES\",\"@Value2\":\"NO\",\"@Value3\":\"REQUIRED\",\"@Value4\":\"NOPROMPT\",\"@Value5\":\"PROMPT\",\"@Value6\":\"UDL\"},\"ToolTips\":{\"@ToolTip1\":\"Enables prompting with a Data Link Properties dialog box. To write the initialization string to the  SAS log, submit this code immediately after connecting to the data source:     %put %superq (SYSDBMSG);\",\"@ToolTip2\":\"Does not enable prompting with a Data Link Properties dialog box, and you must specify the data  source (physical filename or PATH=).\",\"@ToolTip3\":\"Enables connection without prompting for more information only if a valid physical filename is  specified for a successful connection. Otherwise, you are prompted for the connection options  with a dialog box that enables you to change the data source file and other properties.\",\"@ToolTip4\":\"Disables prompting with the Data Link Properties dialog box.\",\"@ToolTip5\":\"Enables prompting for connection information that supplies the data source information.\",\"@ToolTip6\":\"Enables browsing so you can select an existing data link file (.udl).\"},\"Help\":{\"#cdata\":\"Determines whether you are prompted for connection information that supplies the data \\nsource information. For DBMS, it determines whether one of these interactive dialog \\nboxes displays to guide you through the connection process.\"}},{\"Name\":\"UDL=|UDL_FILE=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[Syntax: UDL=\\\"path-for-udl-file\\\"] \\n    \\nSpecifies the path and filename for a UDL file (a Microsoft data link file), as in this example: \\n\\n  UDL=\\\"C:\\\\WinNT\\\\profiles\\\\me\\\\desktop\\\\MyDBLink.UDL\\\"; \\n  %put %superq(SYSDBMSG);\\n  \\nThis option does not support SAS filerefs. Macro variable SYSDBMSG is set on successful completion.\"}},{\"Name\":\"COMPRESS=\",\"Type\":\"V\",\"Values\":{\"@Value1\":\"NO\",\"@Value2\":\"YES\",\"@Value3\":\"CHAR\",\"@Value4\":\"BINARY\"},\"ToolTips\":{\"@ToolTip1\":\"Specifies that the observations in a newly created SAS data set be uncompressed (fixed-length records).\",\"@ToolTip2\":\"Specifies that the observations in a newly created SAS data set be compressed (variable-length records)  by SAS using RLE (Run Length Encoding).\",\"@ToolTip3\":\"Specifies that the observations in a newly created SAS data set be compressed (variable-length records)  by SAS using RLE (Run Length Encoding).\",\"@ToolTip4\":\"Specifies that the observations in a newly created SAS data set be compressed (variable-length records)  by SAS using RDC (Ross Data Compression).\"},\"Help\":{\"#cdata\":\"Controls the compression of observations in output SAS data sets for a SAS data library.\\n    \\n For CAS, this options requests that the table to be created in SAS Cloud Analytic Services is compressed. Valid values for CAS: YES | NO\"}},{\"Name\":\"CVPBYTES=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"Specifies the number of bytes to expand character variable lengths when processing a SAS data file \\nthat requires transcoding.\"}},{\"Name\":\"CVPENGINE=|CVPENG=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"Specifies the engine to use in order to process the SAS file.\"}},{\"Name\":\"CVPMULTIPLIER=|CVPMULT=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"Specifies a multiplier value in order to expand character variable lengths when processing a SAS data \\nfile that requires transcoding.\"}},{\"Name\":\"EXTENDOBSCOUNTER=|EOC=\",\"Type\":\"V\",\"Values\":{\"@Value1\":\"YES\",\"@Value2\":\"NO\"},\"ToolTips\":{\"@ToolTip1\":\"Requests an enhanced file format in a newly created SAS data file that counts  observations beyond the 32-bit limitation. Although this SAS data file is created for an  operating environment that stores the number of observations with a 32-bit integer, the  file behaves like a 64-bit file with respect to counters. This is the default.\",\"@ToolTip2\":\"Specifies that the maximum observation count in a newly created SAS data file is  determined by the long integer size for the operating environment. In operating  environments with a 32-bit-long integer, the maximum number is (2**31)\\u20131 or approximately  two billion observations (2,147,483,647). In operating environments with a 64-bit-long  integer, the number is (2**63)\\u20131 or approximately 9.2 quintillion observations.\"},\"Help\":{\"#cdata\":\"Specifies whether to extend the maximum observation count in output SAS data files \\nfor a SAS library.\\n    \\nDefault: YES\"}},{\"Name\":\"INENCODING=\",\"Type\":\"V\",\"Values\":{\"@Value1\":\"ANY\",\"@Value2\":\"ASCIIANY\",\"@Value3\":\"EBCDICANY\",\"@Value4\":\"warabic\",\"@Value5\":\"wbaltic\",\"@Value6\":\"wlatin2\",\"@Value7\":\"wcyrillic\",\"@Value8\":\"wgreek\",\"@Value9\":\"whebrew\",\"@Value10\":\"wturkish\",\"@Value11\":\"wvietnamese\",\"@Value12\":\"wlatin1\",\"@Value13\":\"utf-8\",\"@Value14\":\"ms-950\",\"@Value15\":\"ms-936\",\"@Value16\":\"ms-932\",\"@Value17\":\"ms-949\"},\"ToolTips\":{\"@ToolTip1\":\"Specifies no transcoding between ASCII and EBCDIC encodings.\",\"@ToolTip2\":\"Specifies that no transcoding occurs, assuming that the mixed encodings are ASCII encodings.\",\"@ToolTip3\":\"Specifies that no transcoding occurs, assuming that the mixed encodings are EBCDIC encodings.\",\"@ToolTip4\":\"Arabic\",\"@ToolTip5\":\"Baltic\",\"@ToolTip6\":\"Central Europe\",\"@ToolTip7\":\"Cyrillic\",\"@ToolTip8\":\"Greek\",\"@ToolTip9\":\"Hebrew\",\"@ToolTip10\":\"Turkish\",\"@ToolTip11\":\"Vietnamese\",\"@ToolTip12\":\"Western\",\"@ToolTip13\":\"Unicode encoding\",\"@ToolTip14\":\"Traditional Chinese\",\"@ToolTip15\":\"Simplified Chinese\",\"@ToolTip16\":\"Japanese\",\"@ToolTip17\":\"Korean\"},\"Help\":{\"#cdata\":\"Overrides the encoding when you are reading (input processing) SAS data sets in the SAS data library.\"}},{\"Name\":\"OUTENCODING=\",\"Type\":\"V\",\"Values\":{\"@Value1\":\"ANY\",\"@Value2\":\"ASCIIANY\",\"@Value3\":\"EBCDICANY\",\"@Value4\":\"warabic\",\"@Value5\":\"wbaltic\",\"@Value6\":\"wlatin2\",\"@Value7\":\"wcyrillic\",\"@Value8\":\"wgreek\",\"@Value9\":\"whebrew\",\"@Value10\":\"wturkish\",\"@Value11\":\"wvietnamese\",\"@Value12\":\"wlatin1\",\"@Value13\":\"utf-8\",\"@Value14\":\"ms-950\",\"@Value15\":\"ms-936\",\"@Value16\":\"ms-932\",\"@Value17\":\"ms-949\"},\"ToolTips\":{\"@ToolTip1\":\"Specifies no transcoding between ASCII and EBCDIC encodings.\",\"@ToolTip2\":\"Specifies that no transcoding occurs, assuming that the mixed encodings are ASCII encodings.\",\"@ToolTip3\":\"Specifies that no transcoding occurs, assuming that the mixed encodings are EBCDIC encodings.\",\"@ToolTip4\":\"Arabic\",\"@ToolTip5\":\"Baltic\",\"@ToolTip6\":\"Central Europe\",\"@ToolTip7\":\"Cyrillic\",\"@ToolTip8\":\"Greek\",\"@ToolTip9\":\"Hebrew\",\"@ToolTip10\":\"Turkish\",\"@ToolTip11\":\"Vietnamese\",\"@ToolTip12\":\"Western\",\"@ToolTip13\":\"Unicode encoding\",\"@ToolTip14\":\"Traditional Chinese\",\"@ToolTip15\":\"Simplified Chinese\",\"@ToolTip16\":\"Japanese\",\"@ToolTip17\":\"Korean\"},\"Help\":{\"#cdata\":\"Overrides the encoding when you are creating (output processing) SAS data sets in the SAS data library.\"}},{\"Name\":\"OUTREP=\",\"Type\":\"V\",\"Values\":{\"@Value1\":\"ALPHA_TRU64\",\"@Value2\":\"ALPHA_VMS_32\",\"@Value3\":\"ALPHA_VMS_64\",\"@Value4\":\"HP_IA64\",\"@Value5\":\"HP_UX_32\",\"@Value6\":\"HP_UX_64\",\"@Value7\":\"INTEL_ABI\",\"@Value8\":\"LINUX_32\",\"@Value9\":\"LINUX_IA64\",\"@Value10\":\"MIPS_ABI\",\"@Value11\":\"MVS_32\",\"@Value12\":\"OS2\",\"@Value13\":\"RS_6000_AIX_32\",\"@Value14\":\"RS_6000_AIX_64\",\"@Value15\":\"SOLARIS_32\",\"@Value16\":\"SOLARIS_64\",\"@Value17\":\"VAX_VMS\",\"@Value18\":\"WINDOWS_32\",\"@Value19\":\"WINDOWS_64\"},\"ToolTips\":{\"@ToolTip1\":\"Compaq Tru64 UNIX\",\"@ToolTip2\":\"OpenVMS Alpha on 32-bit platform\",\"@ToolTip3\":\"OpenVMS Alpha on 64-bit platform\",\"@ToolTip4\":\"HP UX on Itanium 64-bit platform\",\"@ToolTip5\":\"HP UX on 32-bit platform\",\"@ToolTip6\":\"HP UX on 64-bit platform\",\"@ToolTip7\":\"ABI UNIX on Intel 32-bit platform\",\"@ToolTip8\":\"Linux for Intel Architecture on 32-bit platform\",\"@ToolTip9\":\"Linux for Itanium-based system on 64-bit platform\",\"@ToolTip10\":\"ABI UNIX on 32-bit platform\",\"@ToolTip11\":\"z/OS on 32-bit platform\",\"@ToolTip12\":\"OS/2 on Intel 32-bit platform\",\"@ToolTip13\":\"AIX UNIX on 32-bit RS/6000\",\"@ToolTip14\":\"AIX UNIX on 64-bit RS/6000\",\"@ToolTip15\":\"Sun Solaris on 32-bit platform\",\"@ToolTip16\":\"Sun Solaris on 64-bit platform\",\"@ToolTip17\":\"VAX VMS\",\"@ToolTip18\":\"Microsoft Windows on 32-bit platform\",\"@ToolTip19\":\"Microsoft Windows 64-bit Edition\"},\"Help\":{\"#cdata\":\"Specifies the data representation for the SAS library, which is the form in which data is stored in \\na particular operating environment.\"}},{\"Name\":\"REPEMPTY=\",\"Type\":\"V\",\"Values\":{\"@Value1\":\"YES\",\"@Value2\":\"NO\"},\"ToolTips\":{\"@ToolTip1\":\"Specifies that a new empty data set with a given name replace an existing data set with the same name.  This is the default.\",\"@ToolTip2\":\"Specifies that a new empty data set with a given name not replace an existing data set with the same name.\"},\"Help\":{\"#cdata\":\"Controls replacement of like-named temporary or permanent SAS data sets when the new one is empty.\"}},{\"Name\":\"SASEDOC\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Syntax: LIBNAME libref SASEDOC 'path' <sasedoc-engine-option> <options>;\\n    \\nIs the name of the engine that associates a SAS libref (library reference) with one or more ODS  \\noutput objects that are stored in an ODS document.\"}},{\"Name\":\"META\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Syntax: LIBNAME libref META LIBID=<\\\">identifier<\\\"> | LIBRARY=<\\\">name<\\\"> |  \\n      LIBRARY=\\\"/folder-pathname/name\\\" | LIBURI=\\\"URI-format\\\"  \\n     <server-connection-arguments>  \\n     <METAOUT=ALL | DATA | DATAREG | META>  \\n     <CONOPTSET=\\\"propertyset-object\\\">  \\n     <LIBOPTSET=\\\"propertyset-object\\\">;  \\n\\n    \\nIs the engine name for the metadata engine that reads metadata on the SAS Metadata Server.\"}},{\"Name\":\"XML\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Specifies the XML engine nickname that accesses the SAS 9.1.3 XML engine functionality.\"}},{\"Name\":\"XMLV2|XML92\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Specifies the XML engine nickname that accesses the SAS 9.2 and 9.3 XML engine \\nfunctionality.\\n\\nTip: At your site, the engine nicknames could be different if your system administrator \\nassigned an alias to the XML LIBNAME engine. See your system administrator to determine \\nwhether an alias is assigned.\"}},{\"Name\":\"WEBDAV\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Specifies that the libref access a WebDAV server.\"}},{\"Name\":\"INFOMAPS|SASIOIME\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Is the engine name for the SAS Information Maps LIBNAME engine.\"}},{\"Name\":\"SASESOCK\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Identifies the SASESOCK engine to process input to and output from a TCP/IP port instead of a \\nphysical disk device.\"}},{\"Name\":\"DOC_SEQNO=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[Syntax: DOC_SEQNO=sequence-number] \\n    \\nPermits you to specify the sequence number of the output object to be accessed.\"}},{\"Name\":\"LIBID=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[Syntax: LIBID=<\\\">identifier<\\\"> | <\\\">name<\\\"> | LIBRARY=\\\"/folder-pathname/name\\\" | LIBURI=\\\"URI-format\\\"]\\n    \\nSpecifies a SASLibrary object, which defines a SAS library. This SAS library contains the data that \\nyou want to process.\"}},{\"Name\":\"LIBRARY=|\\\"\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[Syntax: LIBRARY=\\\"/folder-pathname/name\\\" | LIBURI=\\\"URI-format\\\" | LIBID=<\\\">identifier<\\\"> | <\\\">name<\\\">] \\n    \\nIs the name that is assigned to a particular SASLibrary metadata object in a SAS Metadata Repository. \\n\\nAlternatively, you can specify the folder pathname and the value in the SASLibrary object's Name= \\nattribute. The pathname is the object's location in a SAS folder. The pathname begins with a forward \\nslash. An example is library=\\\"/Users/Dmitri/My Folder/test/mylib\\\" . The maximum length is 256 characters.\"}},{\"Name\":\"LIBURI=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[Syntax: LIBURI=\\\"URI-format\\\" | LIBID=<\\\">identifier<\\\"> | <\\\">name<\\\"> | LIBRARY=\\\"/folder-pathname/name\\\"] \\n    \\nReferences the particular SASLibrary metadata object in a SAS Metadata Repository using one of the \\nSAS Open Metadata Architecture Uniform Resource Identifier (URI) formats. \\n\\nThe following URI formats are supported.\\n\\n  LIBURI=\\\"identifier.identifier\\\" \\n  specifies the full 17-character metadata identifier, which references both the repository and the object. \\n  This syntax is equivalent to specifying both LIBID= and REPID=. An example is liburi=\\\"A57DQR88.AW000002\\\".\\n\\n  LIBURI=\\\"SASLibrary/identifier.identifier\\\" \\n  specifies the SASLibrary object type, followed by the full 17-character metadata identifier. This syntax \\n  is equivalent to specifying both LIBID= and REPID=. An example is liburi=\\\"SASLibrary/A57DQR88.AW000002\\\".\\n\\n  LIBURI=\\\"SASLibrary?@attribute='value'\\\" \\n  specifies the SASLibrary object type, followed by a search string. Examples are liburi=\\\"SASLibrary?@libref='mylib'\\\" \\n  and liburi=\\\" SASLibrary?@engine='base'\\\".\\n\\nRequirement: You must enclose the LIBURI= value in quotation marks.\"}},{\"Name\":\"IPADDR=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[Syntax: IPADDR=address] \\n    \\nIs the network IP (Internet Protocol) address of the computer that hosts the SAS Metadata Server, \\nsuch as ipaddr=d6292.us.sas.com.\"}},{\"Name\":\"PORT=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[Syntax: PORT=port-number] \\n    \\nSpecifies the port number that is used to connect to the specified server.\\n\\nFor SASIOLA engine:\\nSpecifies the port on which the LASR Analytic Server controller listens for connections.\\nIf the PORT= is not specified, the port is derived from the contents of the LASR= file, \\nor from the LASRPORT macro variable.\\n\\nFor CAS/SASIOCA:\\nSpecifiesan integer for the port where the SAS Cloud Analytic Services control node listens \\nfor client connections. It is recommended that you specify a port. Otherwise, the engine checks \\nfor a value in the CASHOST= system option and then in the _CASHOST_ macro variable.\"}},{\"Name\":\"PROTOCOL=\",\"Type\":\"V\",\"Values\":{\"@Value1\":\"BRIDGE\",\"@Value2\":\"COM\"},\"ToolTips\":{\"@ToolTip1\":\"Specifies that the connection use the SAS Bridge protocol. This is the default.\",\"@ToolTip2\":\"Specifies that the connection use Microsoft COM/DCOM services.\"},\"Help\":{\"#cdata\":\"Specifies the network protocol for communicating with the SAS Metadata Server.\"}},{\"Name\":\"TAG=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[Syntax: TAG=keyword|TAG=tag-name] \\n \\nFor SASIOLA:\\nSpecifies the tag for identifying tables in the LASR Analytic Server image. \\nIf no TAG= is specified, the name of the LIBNAME serves as the tag. A TAG= can also be \\nspecified as a DATA set option\\u2014this overrides any TAG= specification in the LIBNAME \\nstatement.\\n\\nFor CAS/SASIOCA:\\nSpecifies a user-defined string to use for constructing table names. The TAG= option was first used \\nin the SASIOLA engine to handle multi-level names. A SAS data set is identified by its libref and \\nmember name, for example, WORK.FOO. Table names in CAS can have more than two levels.\"}},{\"Name\":\"FORMATEXPORT=\",\"Type\":\"V\",\"Values\":{\"@Value1\":\"NONE\",\"@Value2\":\"ALL\",\"@Value3\":\"DATA\"},\"ToolTips\":{\"@ToolTip1\":\"User-defined formats are not transferred to the server. \",\"@ToolTip2\":\"All formats in the format catalog search path are converted and transferred with the table.  This is useful if the catalog search path contains user-defined formats that you might want  to use later in LASR actions against the table, but that are currently not associated with  variables in the data set. With large catalogs or a deep search path, considerable resources  might be used to generate the XML representation of the formats.\",\"@ToolTip3\":\"Implies that the definition of all user-defined formats associated with variables written  to the LASR Analytic Server table will be transferred to the server. You can then draw on  those formats when running actions against the table in the LASR Analytic Server\\u2014in other words, you do not transfer the formats as XML streams on subsequent actions to the server. \"},\"Help\":{\"#cdata\":\"Specifies how the engine handles user-defined formats when tables are added to the \\nLASR Analytic Server. The default is FORMATEXPORT=DATA.\"}},{\"Name\":\"TIMEOUT=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[Syntax: TIMEOUT=time-in-seconds] \\n    \\nSpecifies the time in seconds that a SAS process will wait to successfully connect to another process.\"}},{\"Name\":\"PASSWORD=|PWD=|PW=|PASS=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"Specifies a password for the user to access a server.\"}},{\"Name\":\"SYBPW=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"Specifies a password for the user to access a Sybase server.\"}},{\"Name\":\"REPID=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[Syntax: REPID=id] \\n    \\nIs an identifier that is assigned to a particular SAS Metadata Repository.\"}},{\"Name\":\"REPOSITORY=|REPNAME=|REPOS=|METAREPOSITORY=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[Syntax: REPOSITORY|REPNAME|REPOS|METAREPOSITORY=name] \\n   \\nIs a name that is assigned to a particular repository.\"}},{\"Name\":\"USER=|METAUSER=|USERID=|ID=|UID=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[Syntax: USER|METAUSER|USERID|ID=id] \\n   \\nSpecifies the user name or user ID that you use to connect to your database.\"}},{\"Name\":\"METAOUT=\",\"Type\":\"V\",\"Values\":{\"@Value1\":\"ALL\",\"@Value2\":\"DATA\",\"@Value3\":\"DATAREG\",\"@Value4\":\"META\"},\"ToolTips\":{\"@ToolTip1\":\"Specifies that you can read, create, update, and delete observations in existing physical tables  that are defined in metadata. You cannot create or delete entire physical tables. This is the  default behavior.                 Interaction: The user is restricted to only the tables that have been defined in the repository.\",\"@ToolTip2\":\"Specifies that you can read, create, update, and delete physical tables.  Interaction: The user can access any table, regardless of whether it has been defined in the repository.\",\"@ToolTip3\":\"Specifies that you can read, update, and delete physical tables that are defined in metadata. You  can create a table, but you cannot read, update, or delete the new table until it is defined in  metadata. This value is like ALL, but it adds the ability to create new tables.  Interaction: The user is restricted to only the tables that have been defined in the repository.\",\"@ToolTip4\":\"Specifies that you can read physical tables that are defined in metadata. You cannot create, update,  or delete physical tables or observations. This value is like ALL, without the ability to create,  update, and delete observations.  Interaction: The user is restricted to only the tables that have been defined in the repository.   Caution: The METAOUT=META value might not be supported in future releases of the software.\"},\"Help\":{\"#cdata\":\"Specifies the metadata engine's output processing of tables in the data source.\"}},{\"Name\":\"PROXY=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[Syntax: PROXY=url] \\n    \\nSpecifies the Uniform Resource Locator (URL) for the proxy server in one of these forms: \\n\\n \\\"http://hostname\\\"\\n \\n \\\"http://hostname:port\\\"\"}},{\"Name\":\"LOCALCACHE=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[Syntax: LOCALCACHE=\\\"directory name\\\"] \\n    \\nSpecifies a directory where a temporary subdirectory is created to hold local copies of the server files.\"}},{\"Name\":\"LOCKDURATION=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[Syntax: LOCKDURATION=n] \\n    \\nSpecifies the number of minutes that the files written through the WebDAV libref are locked.\"}},{\"Name\":\"INDENT=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[Syntax: INDENT=integer] \\n    \\nSpecifies the number of columns to indent each nested element in the exported XML document.\"}},{\"Name\":\"FORMATACTIVE=\",\"Type\":\"V\",\"Values\":{\"@Value1\":\"YES\",\"@Value2\":\"NO\"},\"ToolTips\":{\"@ToolTip1\":\"CDISC ODM CodeList elements are to be converted to SAS variable formats, and vice versa.\",\"@ToolTip2\":\"CDISC ODM CodeList elements are not to be converted to SAS variable formats, and vice versa.\"},\"Help\":{\"#cdata\":\"Specifies whether CDISC ODM CodeList elements, which contain instructions for transcoding display \\ndata in a CDISC ODM document, are to be converted to SAS variable formats, and vice versa.\"}},{\"Name\":\"FORMATLIBRARY=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[Syntax: FORMATLIBRARY=libref] \\n    \\nSpecifies the libref of an existing SAS library in which to create the format catalog.\"}},{\"Name\":\"FORMATNOREPLACE=\",\"Type\":\"V\",\"Values\":{\"@Value1\":\"YES\",\"@Value2\":\"NO\"},\"ToolTips\":{\"@ToolTip1\":\"The engine does not replace formats that have the same name.\",\"@ToolTip2\":\"The engine replaces formats that have the same name. This is the default.\"},\"Help\":{\"#cdata\":\"Specifies whether to replace existing format entries in the format catalog search path in cases where \\nan existing format entry has the same name as a format that is being created by the XML engine when \\nit converts a CDISC ODM CodeList element.\"}},{\"Name\":\"VERSION=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[XML92 Only][Syntax: VERSION=value] \\n    \\nSpecifies a version name or number for the software. For example, when importing a CDISC ODM \\ndocument, you can specify version=\\\"1.2\\\".\\n\\nRestriction: The functionality is available for the XML92 engine nickname only. \\n\\nRestriction: The functionality is for SAS 9.2 Phase 2 and later.\"}},{\"Name\":\"OIMSTART=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[Syntax: OIMSTART=nnn] \\n    \\nSpecifies a beginning reference number, which in the exported XML document will be incremented \\nsequentially for catalog, schema, table, and column identification. Default is 1.\"}},{\"Name\":\"XMLCONCATENATE=|XMLCONCAT=\",\"Type\":\"V\",\"Values\":{\"@Value1\":\"NO\",\"@Value2\":\"YES\"},\"ToolTips\":{\"@ToolTip1\":\"File to be imported foes not contain multiple, concatenated XML documents.\",\"@ToolTip2\":\"File to be imported contains multiple, concatenated XML documents.\"},\"Help\":{\"#cdata\":\"Specifies whether the file to be imported contains multiple, concatenated XML documents. Importing \\nmultiple, concatenated XML documents can be useful (for example, if an application is producing a \\ncomplete document per query/response, as in a Web form).\\n\\nDefault: NO \\n\\nRestriction: Use this option when importing an XML document only. \\n\\nRestriction: Use XMLCONCATENATE=YES cautiously. If an XML document consists of concatenated XML \\ndocuments, the content is not standard XML construction. The option is provided for convenience, \\nnot to encourage invalid XML markup.\"}},{\"Name\":\"XMLDATAFORM=\",\"Type\":\"V\",\"Values\":{\"@Value1\":\"ELEMENT\",\"@Value2\":\"ATTRIBUTE\"},\"ToolTips\":{\"@ToolTip1\":\"Specifies the tag for the element to contain SAS variable information (name and data)  is in open element.\",\"@ToolTip2\":\"Specifies the tag for the element to contain SAS variable information (name and data)  is in enclosed attribute format.\"},\"Help\":{\"#cdata\":\"Specifies whether the tag for the element to contain SAS variable information (name and data) is in \\nopen element or enclosed attribute format. For example, if the variable name is PRICE and the value \\nof one observation is 1.98, the generated output for ELEMENT is <PRICE> 1.98 </PRICE> and for ATTRIBUTE \\nit is <COLUMN name=\\\"PRICE\\\" value=\\\"1.98\\\" />.\\n\\nDefault: ELEMENT \\n\\nRestriction: Use this option when exporting an XML document only. \\n\\nRestriction: Use this option for the GENERIC markup type only.\"}},{\"Name\":\"XMLDOUBLE=\",\"Type\":\"V\",\"Values\":{\"@Value1\":\"DISPLAY|FORMAT\",\"@Value2\":\"INTERNAL|PRECISION\"},\"ToolTips\":{\"@ToolTip1\":\"Uses an assigned SAS format. When exporting, the engine retrieves the stored value for the numeric  variable, determines an appropriate display for the value in a readable form, and writes the display  value to the XML document. In some cases, values might not be displayed completely, or they might show  truncation or rounding artifacts.   When importing, the engine retrieves PCDATA (parsed character data) from the named element in the XML  document and converts that value to numeric variable content.\",\"@ToolTip2\":\"Retains the precision of numeric values. When exporting, the XML engine retrieves the stored value  for the numeric variable and writes the raw value to a generated attribute-value pair (of the form  rawvalue=\\\"value\\\"). SAS uses a base64 encoding of a portable machine representation. (The  base64 encoding method converts binary data into ASCII text, and vice versa, and is similar to the  MIME format.)   When importing, the XML engine retrieves the value from the rawvalue= attribute from the named element  in the XML document and converts that value to numeric variable content. The PCDATA content of the  element is ignored.   Typically, you use XMLDOUBLE=INTERNAL to import or export an XML document when data content is more  important than readability.\"},\"Help\":{\"#cdata\":\"Determines the precision of a numeric value by specifying whether you want the value to be controlled \\nby an assigned SAS format or whether you want the stored raw value.\"}},{\"Name\":\"XMLFILEREF=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[Syntax: XMLFILEREF=fileref] \\n   \\nIs the SAS name that is associated with the physical location of the XML document to be exported \\nor imported. To assign the fileref, use the FILENAME statement. The XML engine can access any data \\nreferenced by a fileref. For example, the following code writes to the XML document Wilma.XML: \\n\\n  filename cartoon 'C:\\\\XMLdata\\\\wilma.xml';\\n\\n  libname bedrock xml xmlfileref=cartoon;\\n\\n  proc print data=bedrock.wilma;\\n  run;\"}},{\"Name\":\"XMLMETA=\",\"Type\":\"V\",\"Values\":{\"@Value1\":\"DATA|NONE\\\\NO|IGNORE\",\"@Value2\":\"SCHEMADATA|FULL|YES\",\"@Value3\":\"SCHEMA\"},\"ToolTips\":{\"@ToolTip1\":\"Ignores metadata-related information.\",\"@ToolTip2\":\"Includes both data content and metadata-related information in the exported markup and imports  both data content and metadata-related information in the input XML document.\",\"@ToolTip3\":\"Ignores data content.\"},\"Help\":{\"#cdata\":\"Specifies whether to include metadata-related information in the exported markup, or specifies \\nwhether to import metadata-related information that is included in the input XML document.\"}},{\"Name\":\"XMLPROCESS=\",\"Type\":\"V\",\"Values\":{\"@Value1\":\"CONFORM\",\"@Value2\":\"PERMIT|RELAX\"},\"ToolTips\":{\"@ToolTip1\":\"Requires that the XML conform to W3C specifications.\",\"@ToolTip2\":\"Allows for character data that does not conform to W3C specifications to be accepted.\"},\"Help\":{\"#cdata\":\"Determines how the XML engine processes character data that does not conform to W3C specifications.\"}},{\"Name\":\"XMLSCHEMA=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"Syntax: XMLSCHEMA=fileref|'external-file'] \\n    \\nSpecifies an external file to contain metadata-related information.\"}},{\"Name\":\"XMLTYPE=\",\"Type\":\"V\",\"Values\":{\"@Value1\":\"GENERIC\",\"@Value2\":\"ORACLE\",\"@Value3\":\"OIMDBM\",\"@Value4\":\"EXPORT\",\"@Value5\":\"HTML\",\"@Value6\":\"MSACCESS\",\"@Value7\":\"CDISCODM\",\"@Value8\":\"WSDL\",\"@Value9\":\"XMLMAP\"},\"ToolTips\":{\"@ToolTip1\":\"A simple, well-formed XML format. This is the default.\",\"@ToolTip2\":\"Is the XML format for the markup standards equivalent to the Oracle8iXML implementation.\",\"@ToolTip3\":\"Is the XML format for the markup standards supported by the Open Information Model  (Database Schema Model) proposed by the Metadata Coalition (MDC) as vendor and  technology independent, conforming to the 1.0 specification.\",\"@ToolTip4\":\"[XML92 Only]--Is an alias to specify the XML format that is most commonly used in the industry. It is an XML markup type for transporting files across hosts. The EXPORT markup type processes XML  markup that is in a machine-independent format and can be used for all hosts. The EXPORT markup type  determines a variable's attributes from metadata.\",\"@ToolTip5\":\"Is the HyperText Markup Language format.\",\"@ToolTip6\":\"Is the XML format for the markup standards supported for a Microsoft Access database (.mdb).\",\"@ToolTip7\":\"Is the XML format for the markup standards that are defined in the Operational Data Model (ODM)  that was created by the Clinical Data Interchange Standards Consortium (CDISC).\",\"@ToolTip8\":\"[XML92 Only]--Is the XML markup type that supports the markup standards of the WSDL. WSDL describes  Web services and is developed jointly by Microsoft and IBM. The XML engine supports WSDL Version 1.1.  Specifying the WSDL markup type enables the XML engine to invoke a Web service and import the Web  service results.\",\"@ToolTip9\":\"[XML92 Only]--Specifies that XML markup is determined by an XMLMap, which is an XML document that  you create that contains specific XMLMap syntax. The XMLMap syntax tells the XML engine how to map  the SAS data back into the specific XML document structure.\"},\"Help\":{\"#cdata\":\"Specifies the format type.\"}},{\"Name\":\"ODSCHARSET=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[Syntax: ODSCHARSET=character-set]   \\n    \\nSpecifies the character set to use for the output file. A character set includes letters, logograms, \\ndigits, punctuation, symbols, and control characters that are used for display and printing. An example \\nof a character set is ISO-8859-1.\\n\\nRestriction: Use this option when exporting an XML document only. \\nTip: The combination of the character set and translation table (encoding method) results in the \\nfile's encoding.\"}},{\"Name\":\"ODSTRANTAB=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[Syntax: ODSTRANTAB=table-name] \\n    \\nSpecifies the translation table to use for the output file. The translation table (encoding method) \\nis a set of rules that are used to map characters in a character set to numeric values. An example \\nof a translation table is one that converts characters from EBCDIC to ASCII-ISO. The table-name can \\nbe any translation table that SAS provides or any user-defined translation table. The value must be \\nthe name of a SAS catalog entry in either the SASUSER.PROFILE catalog or the SASHELP.HOST catalog.\\n\\nRestriction: Use this option when exporting an XML document only. \\n\\nTip: The combination of the character set and translation table results in the file's encoding.\"}},{\"Name\":\"XMLENCODING=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[Syntax: XMLENCODING='encoding-value'] \\n    \\nOverrides the SAS data set's encoding for the output file. If an encoding value contains a hyphen, \\nenclose the value in quotation marks.\\n\\nRestriction: Use this option when exporting an XML document only.\"}},{\"Name\":\"ODSRECSEP=\",\"Type\":\"V\",\"Values\":{\"@Value1\":\"DEFAULT\",\"@Value2\":\"NONE\",\"@Value3\":\"YES\"},\"ToolTips\":{\"@ToolTip1\":\"Enables the XML engine to determine whether to generate a record separator based on the operating  environment where you run the SAS job.   The use of a record separator varies by operating environment.  Tip: If you do not transfer XML documents across environments, use the default behavior.\",\"@ToolTip2\":\"Specifies to not generate a record separator.   The XML engine uses the logical record length of the file that you are writing to and writes one  line of XML markup at a time to the output file.\",\"@ToolTip3\":\"Specifies to generate a record separator.  Default: The XML engine determines whether to generate a record separator based on the operating  environment where you run the SAS job.    Restriction: Use this option when exporting an XML document only.\"},\"Help\":{\"#cdata\":\"Controls the generation of a record separator that marks the end of a line in the output XML document.\"}},{\"Name\":\"TAGSET=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[Syntax: TAGSET=tagset-name] \\n    \\nSpecifies the name of a tagset in order to override the default tagset that is used by the markup \\ntype that is specified with XMLTYPE=. \\n\\nTo change the tags that are produced, you can create a customized tagset and specify it with the \\nTAGSET= option. \\n\\nRestriction: Use this option with caution. If you are unfamiliar with XML markup, do not use this option. \\n\\nRestriction: Use this option when exporting an XML document only.\"}},{\"Name\":\"XMLCOMPRESS=\",\"Type\":\"V\",\"Values\":{\"@Value1\":\"NO\",\"@Value2\":\"YES\"},\"ToolTips\":{\"@ToolTip1\":\"Writes observations in expanded element form.\",\"@ToolTip2\":\"Writes observations in base64 encoding, which is a compressed format. The base64 encoding method  converts binary data into ASCII text.\"},\"Help\":{\"#cdata\":\"[XML92 Only] \\n    \\nControls how SAS data set observations are written to the XML document.\"}},{\"Name\":\"XMLMAP=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[Syntax: XMLMAP=fileref | 'XMLMap'] \\n    \\nSpecifies an XML document that you create that contains specific XMLMap syntax. The syntax tells \\nthe XML engine how to interpret the XML markup for importing or exporting. The XMLMap syntax is \\nitself XML markup. \\n\\nfileref \\nis the SAS name that is associated with the physical location of the XMLMap. To assign a fileref, \\nuse the FILENAME statement.\\n\\nTip: To assign a fileref to an XMLMap using the URL access method, your Web server might require \\nthat the file extension be .xml instead of .map. \\n\\n'XMLMap' \\nis the physical location of the XMLMap. Include the complete pathname and the filename. It is \\nsuggested that you use the filename extension .map. Enclose the physical name in single or double \\nquotation marks.\"}},{\"Name\":\"HOST=|SERVER=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[Syntax: HOST=\\\"server-name\\\" | SERVER=<'>server-name<'>|HOST=controller-host-name] \\n    \\nFor SASIOLA engine:\\nSpecifies the LASR Analytic Server controller. If a HOST= is specified, it is overwritten \\nby the value from the LASR Analytic Server file, provided the LASR= option is specified.\\n\\nFor SASHDAT engine:\\nSpecifies the name node of the HDFS cluster. If you are running in a LASR Analytic Server \\nenvironment, then this is also the LASR controller (or grid host). You can use SERVER= as \\nan alias for the HOST= option. If the HOST= option is not specified, the sashdat engines \\nqueries the GRIDHOST environment variable. \\n\\nFor POSTGRES/VERTICA engines:\\nSpecifies the server name or IP address of the PostgreSQL or Vertica server to which you want to connect. \\nThis server accesses the database that contains the tables and views that you want to access. \\nIf the server name contains spaces or nonalphanumeric characters, you must enclose it in \\nquotation marks.\\n\\nFor CAS/SASIOCA:\\nSpecifies the machine that is controller node of the server.\"}},{\"Name\":\"HOSTNAME=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[Syntax: HOSTNAME=node-name] \\n    \\nIs used to specify the name of the node that the server runs on.\"}},{\"Name\":\"INSTALL=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[Syntax: INSTALL=\\\"install-location\\\"] \\n    \\nSpecifies the install location of TKGrid on the cluster. If the INSTALL= option is not \\nspecified, the sashdat engine queries the GRIDINSTALLLOC environment variable.\"}},{\"Name\":\"SLIBREF=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"Specifies an existing server libref that you want to reference from the client.\"}},{\"Name\":\"RENGINE=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[Syntax: RENGINE=engine-name] \\n    \\nSpecifies the engine to be used to process the SAS data library.\"}},{\"Name\":\"ROPTIONS=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[Syntax: ROPTIONS=\\\"option=value <option=value> ...\\\"] \\n    \\nExecuted in the server session, specifies remote options and options that are specific to an operating environment \\nthat the client passes to the engine on the server that will process the SAS data library.\"}},{\"Name\":\"RMTVIEW=\",\"Type\":\"V\",\"Values\":{\"@Value1\":\"YES\",\"@Value2\":\"NO\"},\"ToolTips\":{\"@ToolTip1\":\"(The default) causes views to be interpreted in the server's SAS execution.\",\"@ToolTip2\":\"Causes views to be interpreted in the client SAS session.\"},\"Help\":{\"#cdata\":\"Determines whether SAS data views are interpreted in the server or in the client SAS session.\"}},{\"Name\":\"SAPW=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[Syntax: SAPW=server-access-password | \\\"encoded-password\\\"] \\n    \\nExecuted in the client session, specifies a server access password.\"}},{\"Name\":\"SERVER=|METASERVER=|IPADDR=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[Syntax: SERVER|METASERVER|IPADDR=server-ID] \\n    \\nSpecifies the ID, name, or IP address of the server to which you want to connect.\"}},{\"Name\":\"MAPPATH=|PATH=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[Syntax: MAPPATH=\\\"location\\\"] \\n   \\nSpecifies the path to the location within the SAS folders tree for the information maps you want to read.\\n\\nThe path is hierarchical with the slash (/) as the separator character. For example, \\nmappath=\\\"/Users/myUserID/My Folder\\\". If the path does not contain a blank space (or spaces), \\nenclosing the identifier in quotation marks is optional.\\n\\nNOTE: PATH= can also be an alias for the DS=|DATASRC= option. It specifies the data source file. \\nThis is the full path and filename for your relational database file or Microsoft Excel \\nworkbook file.\"}},{\"Name\":\"DOMAIN=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[Syntax: DOMAIN=\\\"authentication-domain\\\"] \\n    \\nSpecifies an authentication domain to associate the user ID and password with. If you do not specify \\nan authentication domain, then the user ID and password are associated with the DefaultAuth authentication \\ndomain. \\n\\nAn authentication domain is a set of computing resources that use the same authentication process. \\nAn individual uses the same user ID and password for all of the resources in a particular authentication \\ndomain. Authentication domains provide logical groupings for resources and logins in a metadata repository. \\nFor example, when an application needs to locate credentials that enable a particular user to access a \\nparticular server, the application searches the metadata for logins that are associated with the \\nauthentication domain in which the target server is registered.\"}},{\"Name\":\"METAPASS=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[Syntax: METAPASS=\\\"password\\\"] \\n    \\nSpecifies the password that is associated with your user name or user ID.\"}},{\"Name\":\"METAPORT=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[Syntax: METAPORT=port-number] \\n   \\nSpecifies the TCP port that the metadata server is listening to for connections.\"}},{\"Name\":\"METASERVER=|IPADDR=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[Syntax: METASERVER=|IPADDR=\\\"address\\\"] \\n    \\nSpecifies the network IP (Internet Protocol) address of the computer that hosts the metadata server. \\nFor example, metaserver=\\\"myip.mycompany.com\\\" . Enclosing the identifier in quotation marks is optional.\\n\\nIf this option is not specified, the value is obtained from the METASERVER= system option.\"}},{\"Name\":\"METAUSER=|USERID=|ID=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[Syntax: METAUSER=\\\"user-ID\\\"] \\n    \\nSpecifies the user ID to connect to the metadata server. For example, metauser=\\\"My UserID\\\" \\nor metauser=myUserID . If the user ID does not contain a blank space (or spaces), enclosing \\nthe identifier in quotation mark is optional.\\n\\nYou can use the METAUSER= system option to specify a default user ID for connecting to the \\nmetadata server for the SAS session.\"}},{\"Name\":\"AGGREGATE=\",\"Type\":\"V\",\"Values\":{\"@Value1\":\"YES\",\"@Value2\":\"NO\"},\"ToolTips\":{\"@ToolTip1\":\"Specify YES in order to see data items that do not support detailed data.\",\"@ToolTip2\":\"Specifies that aggregated data should be used.\"},\"Help\":{\"#cdata\":\"Specifies whether detailed data or aggregated data should be used. Specify YES in order to see data \\nitems that do not support detailed data. Default: NO\"}},{\"Name\":\"METACREDENTIALS=\",\"Type\":\"V\",\"Values\":{\"@Value1\":\"YES\",\"@Value2\":\"NO\"},\"ToolTips\":{\"@ToolTip1\":\"Specifies that the user ID and password specified in the METAUSER= and METAPASS=  system options are retrieved and used to connect to the metadata server when the  METAUSER= and METAPASS= options for the PROC INFOMAPS statement are omitted.\",\"@ToolTip2\":\"Enables a connection to be established under the identity of the client user using a  new one-time password. Specify METACREDENTIALS=NO to prevent the INFOMAPS procedure  from using the system option values.\"},\"Help\":{\"#cdata\":\"Specifies whether the user ID and password specified in the METAUSER= and METAPASS= \\nsystem options are retrieved and used to connect to the metadata server when the \\nMETAUSER= and METAPASS= options for the PROC INFOMAPS statement are omitted.\\n\\nBy default, or when METACREDENTIALS=YES is specified, the system option values are \\nused if they are available when the corresponding options for the PROC INFOMAPS \\nstatement are omitted. Specify METACREDENTIALS=NO to prevent the INFOMAPS procedure \\nfrom using the system option values.\\n\\nA typical situation in which you would specify METACREDENTIALS=NO is when the code \\ncontaining the INFOMAPS procedure is being executed on a workspace server or stored \\nprocess server. In such cases, the METAUSER= and METAPASS= system options contain a \\none-time user ID and password that have already been used by the server. A new one-time \\npassword must be generated in this situation. Specifying METACREDENTIALS=NO enables a \\nconnection to be established under the identity of the client user using a new one-time \\npassword.\\n\\nDefault: YES\"}},{\"Name\":\"EXPCOLUMNLEN=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[Syntax: EXPCOLUMNLEN=integer] \\n    \\nSpecifies the length of the SAS character column when a data item defined with expressions is encountered.\"}},{\"Name\":\"PRESERVE_MAP_NAMES=\",\"Type\":\"V\",\"Values\":{\"@Value1\":\"YES\",\"@Value2\":\"NO\"},\"ToolTips\":{\"@ToolTip1\":\"Specifies that information map names are read with special characters, and that the exact,  case-sensitive spelling of the name is preserved.\",\"@ToolTip2\":\"Specifies that when you refer to an information map, the information map name is derived  from SAS member names by using SAS member-name normalization.\"},\"Help\":{\"#cdata\":\"Specifies how information map name is read or derived.\"}},{\"Name\":\"PROMPT\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Specifies to prompt for the user login password, if necessary.\\n\\nInteraction: If PROMPT is specified without USER=, then the user is prompted for an ID, as well \\nas a password. \\n\\nTip: If you specify the PROMPT option, you do not need to specify the PASSWORD= option.\"}},{\"Name\":\"CONOPTSET=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[Syntax: CONOPTSET=<\\\">propertyset-object<\\\"> ] \\n    \\nSpecifies a PropertySet object that is associated with the SASClientConnection object that corresponds \\nto the SASLibrary object specified by the LIBID=, LIBRARY=, or LIBURI= argument. The Property objects \\nthat are associated with this PropertySet object are used as connection arguments for the constructed \\nLIBNAME statement for the underlying engine. A SASClientConnection object exists only for engines that \\nconnect to a server, such as the SAS/ACCESS engines. The maximum length is 60 characters.\"}},{\"Name\":\"LIBOPTSET=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[Syntax: LIBOPTSET=<\\\">propertyset-object<\\\"> ] \\n    \\nSpecifies a PropertySet object that is associated with the SASLibrary object specified by the LIBID=, \\nLIBRARY=, or LIBURI= argument. The Property objects that are associated with this PropertySet object \\nare used as statement arguments for the constructed LIBNAME statement for the underlying engine. The \\nmaximum length is 60 characters.\"}},{\"Name\":\"DATABASE=|DB=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[Syntax: DATABASE=<'>database-name<'> ]\\n    \\nSpecifies the name of the database on the server that contains the tables and views that \\nyou want to access. If the database name contains spaces or nonalphanumeric characters, \\nyou must enclose it in quotation marks.\\n\\nNote: For the Hadoop engine, this is an alias for SCHEMA=.\"}},{\"Name\":\"READ_ONLY=\",\"Type\":\"V\",\"Values\":{\"@Value1\":\"YES\",\"@Value2\":\"NO\"},\"ToolTips\":{\"@ToolTip1\":\"Specifies to connect to the database in read-only mode.\",\"@ToolTip2\":\"Specifies to connect to the database in read-write (NO) mode.\"},\"Help\":{\"#cdata\":\"Specifies whether to connect to the database in read-only mode (YES) or read-write (NO) \\nmode. If you do not specify anything for READ_ONLY=, the default of NO is used.\"}},{\"Name\":\"DSN=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[Syntax: DSN=<'>Data-source<'> ]\\n    \\nSpecifies the configured ODBC datasource to which you want to connect. Use this option \\nif you have existing ODBC datasources that are configured on your client.\"}},{\"Name\":\"USING=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[Syntax: USING=<'>Informix-password<'> ] \\n    \\nSpecifies the password that is associated with the Informix user. If you omit the password, \\nInformix uses the password in the /etc/password file.\"}},{\"Name\":\"ACCOUNT=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[Syntax: ACCOUNT=<'>account_ID<'> ] \\n    \\nIs an optional connection option that specifies the account number that you want \\nto charge for the Teradata session.\"}},{\"Name\":\"TDPID=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[Syntax: TDPID=<'>dbcname<'> ] \\n    \\nIs a required connection option if you run more than one Teradata server. TDPID= operates \\ndifferently for network-attached and channel-attached systems. You can substitute SERVER= \\nfor TDPID= in all circumstances.\"}},{\"Name\":\"DBDATASRC=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[Syntax: DBDATASRC=<'>database-data-source<'> \\n    \\nEnvironment variable that lets you set a default data source. This value is used \\nif you do not specify a SERVER= connection option.\"}},{\"Name\":\"DATASOURCE=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[Syntax: DATASOURCE=<'>data-source<'> ]\\n    \\nIdentifies the data source object (such as a relational database server or a local file) \\nto which you want to connect.\"}},{\"Name\":\"PROVIDER=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[Syntax: PROVIDER=<'>provider-name<'> ]\\n    \\nSpecifies which OLE DB provider to use to connect to the data source. This option \\nis required during batch processing. \\n\\nThere is no restriction on the length of the provider-name. If the provider-name \\ncontains blank spaces or special characters, enclose it in quotation marks.\\n\"}},{\"Name\":\"PROPERTIES=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[Syntax: PROPERTIES=(<'>property-1<'>=<'>value-1<'> < ... <'>property-n<'>=<'>value-n<'>>)] \\n    \\nSpecifies standard provider properties that enable you to connect to a data source and \\nto define connection attributes. If a property name or value contains embedded spaces or \\nspecial characters, enclose the name or value in quotation marks. Use a blank space to \\nseparate multiple properties. If your provider supports a password property, that value \\ncannot be encoded. To use an encoded password, use the PASSWORD= option instead.\"}},{\"Name\":\"PROVIDER_STRING=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[Syntax: PROVIDER_STRING=<'>extended-properties<'> ]\\n    \\nSpecifies provider-specific extended connection information, such as the file type \\nof the data source. If the string contains blank spaces or special characters, enclose \\nit in quotation marks. For example, the Microsoft Jet provider accepts strings that \\nindicate file type, such as 'Excel 8.0'.\"}},{\"Name\":\"OLEDB_SERVICES=\",\"Type\":\"V\",\"Values\":{\"@Value1\":\"YES\",\"@Value2\":\"NO\"},\"ToolTips\":{\"@ToolTip1\":\"Specifies to use OLE DB Services.\",\"@ToolTip2\":\"Specifies to use the provider to connect to the data source.\"},\"Help\":{\"#cdata\":\"Determines whether SAS uses OLE DB Services to connect to the data source.\"}},{\"Name\":\"INIT_STRING=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[Syntax: INIT_STRING='property-1=value-1<...;property-n=value-n>' ]\\n    \\nSpecifies an initialization string, enabling you to bypass the interactive prompting \\ninterface yet still use OLE DB Services. Use a semicolon to separate properties.\"}},{\"Name\":\"IP_CURSOR=\",\"Type\":\"V\",\"Values\":{\"@Value1\":\"YES\",\"@Value2\":\"NO\"},\"ToolTips\":{\"@ToolTip1\":\"Specifies that Implicit Proc SQL pass-through processes multiple result sets  simultaneously.\",\"@ToolTip2\":\"Specifies that Implicit Proc SQL pass-through should not process multiple result  sets simultaneously.\"},\"Help\":{\"#cdata\":\"Specifies whether Implicit Proc SQL pass-through processes multiple result sets \\nsimultaneously. IP_CURSOR is set to NO by default. \\n\\nSetting it to YES allows this type of extended processing. However, it decreases \\nperformance because cursors, not result sets, are being used. Do not set to YES \\nunless needed.\"}},{\"Name\":\"COMPLETE=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[Syntax: COMPLETE=<'>SQL-Server-connection-options<'> | COMPLETE=YES | NO] \\n    \\n[This connection option is not supported on UNIX.]\\n\\nMicrosoft SQL Server: COMPLETE=<'>SQL-Server-connection-options<'>\\nSpecifies connection options for your data source or database. Separate multiple options \\nwith a semicolon. When a successful connection is made, the complete connection string is \\nreturned in the SYSDBMSG macro variable.\\n\\nIf you do not specify enough correct connection options, you are prompted with a dialog \\nbox that displays the values from the COMPLETE= connection string. You can edit any field \\nbefore you connect to the data source. \\n\\nOLEDB: COMPLETE=YES | NO\\nSpecifies whether SAS attempts to connect to the data source without prompting you for \\nconnection information.\\n\\nIf you specify COMPLETE=YES and the connection information that you specify in your LIBNAME \\nstatement is sufficient, then SAS makes the connection and does not prompt you for additional \\ninformation.\\n\\nIf you specify COMPLETE=YES and the connection information that you specify in your LIBNAME \\nstatement is not sufficient, the provider's dialog box prompts you for additional information. \\nYou can enter optional information as well as required information in the dialog box.\\n\\nNO is the default value.\"}},{\"Name\":\"NOPROMPT=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[Syntax: NOPROMPT=<'>SQL-Server-connection-options<'> \\n    \\n[This Microsoft SQL Server connection option is not supported on UNIX.]\\n\\nSpecifies connection options for your data source or database. Separate multiple \\noptions with a semicolon.\\n\\nIf you do not specify enough correct connection options, an error is returned. No \\ndialog box is displayed to help you with the connection string.\"}},{\"Name\":\"REQUIRED=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[Syntax: REQUIRED=<'>SQL-Server-connection-options<'>  | REQUIRED=YES | NO]\\n    \\n[This connection option is not supported on UNIX.]\\n\\nMicrosoft SQL Server: REQUIRED=<'>SQL-Server-connection-options<'>\\nSpecifies connection options for your data source or database. Separate multiple options \\nwith a semicolon. When a successful connection is made, the complete connection string is \\nreturned in the SYSDBMSG macro variable.\\n\\nIf you do not specify enough correct connection options, a dialog box prompts you for the \\nconnection options. REQUIRED= allows you to modify only required fields in the dialog box. \\n\\nOLEDB: REQUIRED=YES | NO\\nSpecifies whether SAS attempts to connect to the data source without prompting you for \\nconnection information and whether you can interactively specify optional connection information.\\n\\nIf you specify REQUIRED=YES and the connection information that you specify in your LIBNAME \\nstatement is sufficient, SAS makes the connection and you are not prompted for additional \\ninformation. \\n\\nIf you specify REQUIRED=YES and the connection information that you specify in your LIBNAME \\nstatement is not sufficient, the provider's dialog box prompts you for the required connection \\ninformation. You cannot enter optional connection information in the dialog box. \\n\\nNO is the default value.\"}},{\"Name\":\"ACCESS=\",\"Type\":\"V\",\"Values\":{\"@Value1\":\"READONLY\",\"@Value2\":\"TEMP\"},\"ToolTips\":{\"@ToolTip1\":\"Assigns a read-only attribute to an entire SAS data library.                 For DBMS, it specifies that you can read but not update tables and views.\",\"@ToolTip2\":\"Indicates that the SAS data library be treated as a scratch library.\"},\"Help\":{\"#cdata\":\"Specifies whether to assign a read-only attribute to an entire SAS data library, \\nor to treat the SAS data library as a scratch library.\"}},{\"Name\":\"ADJUST_BYTE_SEMANTIC_COLUMN_LENGTHS=\",\"Type\":\"V\",\"Values\":{\"@Value1\":\"YES\",\"@Value2\":\"NO\"},\"ToolTips\":{\"@ToolTip1\":\"Indicates that column lengths are divided by the DBSERVER_MAX_BYTES= value and then  multiplied with the DBCLIENT_MAX_BYTES= value. So if DBCLIENT_MAX_BYTES is greater  than 1, then ADJUST_BYTE_SEMANTIC_COLUMN_LENGTHS=YES.\",\"@ToolTip2\":\"Indicates that any column lengths that byte semantics specify on the server are used as is  on the client. So if DBCLIENT_MAX_BYTES=1, then ADJUST_BYTE_SEMANTIC_COLUMN_LENGTHS=NO.\"},\"Help\":{\"#cdata\":\"Specifies whether to adjust the lengths of CHAR or VARCHAR data type columns that \\nbyte semantics specify.\"}},{\"Name\":\"ADJUST_NCHAR_COLUMN_LENGTHS=\",\"Type\":\"V\",\"Values\":{\"@Value1\":\"YES\",\"@Value2\":\"NO\"},\"ToolTips\":{\"@ToolTip1\":\"Indicates that column lengths are muliplied by the DBSERVER_MAX_BYTES= value.\",\"@ToolTip2\":\"Indicates that column lengths that NCHAR or NVARCHAR columns specify are multiplied  by the maximum number of bytes per character value of the national character set  for the database.\"},\"Help\":{\"#cdata\":\"Specifies whether to adjust the lengths of CHAR or VARCHAR data type columns. \\n    \\nDefault value: YES\"}},{\"Name\":\"AUTHDOMAIN=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[Syntax: AUTHDOMAIN=auth-domain]\\n    \\nAllows connection to a server by specifying the name of an authentication domain \\nmetadata object. \\n\\nIf you specify AUTHDOMAIN=, you must specify SERVER=. However, the authentication \\ndomain references credentials so that you do not need to explicitly specify USER= \\nand PASSWORD=. An example is authdomain=MyServerAuth.\"}},{\"Name\":\"AUTOCOMMIT=\",\"Type\":\"V\",\"Values\":{\"@Value1\":\"YES\",\"@Value2\":\"NO\"},\"ToolTips\":{\"@ToolTip1\":\"Specifies that all updates, deletes, and inserts are committed (that is, saved to  a table) immediately after they are submitted, and no rollback is possible.\",\"@ToolTip2\":\"Specifies that the SAS/ACCESS engine automatically performs the commit when it reaches  the DBCOMMIT= value, or the default number of rows if DBCOMMIT is not set.\"},\"Help\":{\"#cdata\":\"Indicates whether updates are committed immediately after they are submitted.\"}},{\"Name\":\"BL_KEEPIDENTITY=\",\"Type\":\"V\",\"Values\":{\"@Value1\":\"YES\",\"@Value2\":\"NO\"},\"ToolTips\":{\"@ToolTip1\":\"Specifies that the user must provide values for the identity column.\",\"@ToolTip2\":\"Specifies that Microsoft SQL Server generates values for an identity column in the table.\"},\"Help\":{\"#cdata\":\"Determines whether the identity column that is created during bulk loading is populated \\nwith values that Microsoft SQL Server generates or with values that the user provides.\"}},{\"Name\":\"BL__KEEPNULLS=\",\"Type\":\"V\",\"Values\":{\"@Value1\":\"YES\",\"@Value2\":\"NO\"},\"ToolTips\":{\"@ToolTip1\":\"Specifies that Microsoft SQL Server preserves NULL values inserted by the OLE DB interface.\",\"@ToolTip2\":\"Specifies that Microsoft SQL Server replaces NULL values that are inserted by the OLE DB  interface with a default value (as specified in the DEFAULT constraint).\"},\"Help\":{\"#cdata\":\"Indicates how NULL values in Microsoft SQL Server columns that accept NULL are handled \\nduring bulk loading.\"}},{\"Name\":\"BL_OPTIONS=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"Syntax: BL_OPTIONS='option <..., option>' \\n    \\nPasses options to the DBMS bulk-load facility, which affects how it loads and processes data. \\n\\nYou can use BL_OPTIONS= to pass options to the DBMS bulk-load facility when it is called, \\nthereby affecting how data is loaded and processed. You must separate multiple options with \\ncommas and enclose the entire string of options in quotation marks.\"}},{\"Name\":\"BL_PORT=|BULKLOAD_PORT=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"Syntax: BL_PORT=port-number \\n    \\nThis option is required only if Hadoop HDFS streaming is running on a port other than the default port 8020.\"}},{\"Name\":\"BULKLOAD=|FASTLOAD=\",\"Type\":\"V\",\"Values\":{\"@Value1\":\"YES\",\"@Value2\":\"NO\"},\"ToolTips\":{\"@ToolTip1\":\"Calls a DBMS-specific bulk-load facility to insert or append rows to a DBMS table.\",\"@ToolTip2\":\"Does not call the DBMS bulk-load facility.\"},\"Help\":{\"#cdata\":\"Determines whether SAS uses a DBMS facility to insert data into a DBMS table.\"}},{\"Name\":\"CAST=\",\"Type\":\"V\",\"Values\":{\"@Value1\":\"YES\",\"@Value2\":\"NO\"},\"ToolTips\":{\"@ToolTip1\":\"Forces data conversions (casting) to be done on the Teradata DBMS server and  overrides any data overhead percentage limit.\",\"@ToolTip2\":\"Forces data conversions to be done by SAS and overrides any data overhead  percentage limit.\"},\"Help\":{\"#cdata\":\"Specifies whether SAS or the Teradata DBMS server performs data conversions.\"}},{\"Name\":\"CAST_OVERHEAD_MAXPERCENT=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"Syntax: CAST_OVERHEAD_MAXPERCENT=]\\n    \\nwhere <n> is any positive numeric value. The engine default is 20.\\n\\nSpecifies the overhead limit for data conversions to perform in Teradata instead of SAS. \\n\\nDefault value: 20 percent\"}},{\"Name\":\"CELLPROP=\",\"Type\":\"V\",\"Values\":{\"@Value1\":\"VALUE\",\"@Value2\":\"FORMATTED_VALUE\"},\"ToolTips\":{\"@ToolTip1\":\"Specifies that the SAS/ACCESS engine tries to return actual data values. If all values in a column are numeric, then that column is defined as NUMERIC.\",\"@ToolTip2\":\"Specifies that the SAS/ACCESS engine returns formatted data values. All columns are defined as CHARACTER.\"},\"Help\":{\"#cdata\":\"Modifies the metadata and content of a result data set that the MDX command defines.\"}},{\"Name\":\"COMMAND_TIMEOUT=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"Syntax: COMMAND_TIMEOUT=number-of-seconds]\\n    \\nwhere number-of-seconds is an integer greater than or equal to 0.\\n\\nSpecifies the number of seconds to wait before a data source command times out.\"}},{\"Name\":\"BL_LOG=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[Syntax: BL_LOG=filename]\\n    \\nSpecifies the name of the error file to which all errors are written when BULKLOAD=YES.\"}},{\"Name\":\"BULKEXTRACT=\",\"Type\":\"V\",\"Values\":{\"@Value1\":\"YES\",\"@Value2\":\"NO\"},\"ToolTips\":{\"@ToolTip1\":\"Calls the HP Neoview Transporter to retrieve data from HP Neoview.\",\"@ToolTip2\":\"Uses standard HP Neoview result sets to retrieve data from HP Neoview.\"},\"Help\":{\"#cdata\":\"Rapidly retrieves (fetches) a large number of rows from a data set.\"}},{\"Name\":\"BULKUNLOAD=\",\"Type\":\"V\",\"Values\":{\"@Value1\":\"YES\",\"@Value2\":\"NO\"},\"ToolTips\":{\"@ToolTip1\":\"Calls the Netezza Remote External Table interface to retrieve data from the Netezza  Performance Server.\",\"@ToolTip2\":\"Uses standard Netezza result sets to retrieve data from the DBMS.\"},\"Help\":{\"#cdata\":\"Rapidly retrieves (fetches) a large number of rows from a data set.\"}},{\"Name\":\"CONNECTION=\",\"Type\":\"V\",\"Values\":{\"@Value1\":\"SHAREDREAD\",\"@Value2\":\"UNIQUE\",\"@Value3\":\"SHARED\",\"@Value4\":\"GLOBALREAD\",\"@Value5\":\"GLOBAL\"},\"ToolTips\":{\"@ToolTip1\":\"Specifies that all READ operations that access DBMS tables in a single libref share  a single connection. A separate connection is established for every table that is  opened for update or output operations.   Where available, this is usually the default value because it offers the best  performance and it guarantees data integrity.\",\"@ToolTip2\":\"Specifies that a separate connection is established every time a DBMS table is  accessed by your SAS application.   Use UNIQUE if you want each use of a table to have its own connection.\",\"@ToolTip3\":\"[Not valid for MySQL]                 Specifies that all operations that access DBMS tables in a single libref share a single connection.  Use this option with caution. When you use a single SHARED connection for multiple table opens, a  commit or rollback that is performed on one table that is being updated also applies to all other  tables that are opened for update. Even if you open a table only for READ, its READ cursor might be  resynchronized as a result of this commit or rollback. If the cursor is resynchronized, there is no  guarantee that the new solution table will match the original solution table that was being read.\",\"@ToolTip4\":\"Specifies that all READ operations that access DBMS tables in multiple librefs  share a single connection if the following is true:     o the participating librefs are created by LIBNAME statements that specify identical      values for the CONNECTION=, CONNECTION_GROUP=, DBCONINIT=, DBCONTERM=, DBLIBINIT=,      and DBLIBTERM= options    o the participating librefs are created by LIBNAME statements that specify identical      values for any DBMS connection options.  A separate connection is established for each table that is opened for update or output  operations.\",\"@ToolTip5\":\"[Not valid for MySQL]                 Specifies that all operations that access DBMS tables in multiple librefs share a single  connection if the following is true:    o All participating librefs that LIBNAME statements create specify identical values for      the CONNECTION=, CONNECTION_GROUP=, DBCONINIT=, DBCONTERM=, DBLIBINIT=, and DBLIBTERM=      options.    o All participating librefs that LIBNAME statements create specify identical values for      any DBMS connection options.\"},\"Help\":{\"#cdata\":\"Specifies whether operations on a single libref share a connection to the DBMS \\nand whether operations on multiple librefs share a connection to the DBMS.\"}},{\"Name\":\"CONNECTION_GROUP=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[Syntax: CONNECTION_GROUP=connection-group-name] \\n    \\nCauses operations on multiple librefs and on multiple Pass-Through Facility CONNECT \\nstatements to share a connection to the DBMS.\"}},{\"Name\":\"CURSOR_TYPE=\",\"Type\":\"V\",\"Values\":{\"@Value1\":\"DYNAMIC\",\"@Value2\":\"FORWARD_ONLY\",\"@Value3\":\"KEYSET_DRIVEN\",\"@Value4\":\"STATIC\"},\"ToolTips\":{\"@ToolTip1\":\"Specifies that the cursor reflects all changes that are made to the rows in a result  set as you move the cursor. The data values and the membership of rows in the cursor  can change dynamically on each fetch. This is the default for the DB2 UNIX/PC,  Microsoft SQL Server, and ODBC interfaces.\",\"@ToolTip2\":\"Specifies that the cursor functions like a DYNAMIC cursor except that it supports  only sequential fetching of rows.\",\"@ToolTip3\":\"Specifies that the cursor determines which rows belong to the result set when the  cursor is opened. However, changes that are made to these rows are reflected as  you scroll around the cursor.\",\"@ToolTip4\":\"Specifies that the cursor builds the complete result set when the cursor is opened.  No changes that are made to the rows in the result set after the cursor is opened  are reflected in the cursor. Static cursors are read-only.\"},\"Help\":{\"#cdata\":\"Specifies the cursor type for read-only and updatable cursors.\"}},{\"Name\":\"CONNECTION_TIMEOUT=|CON_TIMEOUT=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[Syntax: CONNECTION_TIMEOUT=number-of-seconds]  \\n    \\nwhere number-of-seconds a number greater than or equal to 0. It represents the number of \\nseconds that SAS/ACCESS Interface to HP Neoview waits for any operation on the connection \\nto complete before returning to SAS. If the value is 0, which is the default, no timeout \\noccurs. \\n\\nSpecifies the number of seconds to wait before a connection times out.\"}},{\"Name\":\"DB_LENGTH_SEMANTICS_BYTE=\",\"Type\":\"V\",\"Values\":{\"@Value1\":\"YES\",\"@Value2\":\"NO\"},\"ToolTips\":{\"@ToolTip1\":\"Specifies that CHAR and VARCHAR2 column lengths are specified in characters when  creating an Oracle table. The byte length is derived by multiplying the number  of characters in SAS with DBSERVER_MAX_BYTES= value.\",\"@ToolTip2\":\"Specifies that CHAR and VARCHAR2 column lengths are specified in bytes when creating  an Oracle table. The CHAR keyword is also added next to the length value to indicate  that this is the character, not byte, length.For fixed-width encoding, the number of  characters is derived by dividing the byte length in SAS for the variable by the value  in DBCLIENT_MAX_BYTES=. For variable-width encoding, the number of characters remains  the same as the number of bytes.\"},\"Help\":{\"#cdata\":\"Indicates whether CHAR/VARCHAR2 column lengths are specified in bytes or characters \\nwhen creating an Oracle table. \\n\\nDefault value: YES\"}},{\"Name\":\"DBLINK=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[Syntax: DBLINK=database-link] \\n    \\nSpecifies a link from your local database to database objects on another server [Oracle], \\nor specifies a link from your default database to another database on the server to which \\nyou are connected [Sybase].\"}},{\"Name\":\"DBCLIENT_MAX_BYTES=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[Syntax: DBCLIENT_MAX_BYTES=max-client-bytes] \\n    \\nSpecifies the maximum number of bytes per single character in the database client \\nencoding, which matches SAS encoding. \\n\\nDefault value: Always set to match the maximum bytes per single character of SAS \\nsession encoding.\"}},{\"Name\":\"DBSERVER_MAX_BYTES=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[Syntax: DBSERVER_MAX_BYTES=max-server-bytes] \\n    \\nSpecifies the maximum number of bytes per single character in the database server \\nencoding. \\n\\nDefault value: usually 1\"}},{\"Name\":\"DBCOMMIT=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[Syntax: DBCOMMIT=n]\\n    \\nwhere n specifies an integer greater than or equal to 0.\\n\\nCauses an automatic COMMIT (a permanent writing of data to the DBMS) after a specified \\nnumber of rows have been processed.\"}},{\"Name\":\"DBCONINIT=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[Syntax: DBCONINIT=<'>DBMS-user-command<'> ]\\n    \\nwhere DBMS-user-command is any valid command that can be executed by the SAS/ACCESS \\nengine and that does not return a result set or output parameters.\\n\\nSpecifies a user-defined initialization command to execute immediately after every \\nconnection to the DBMS that is within the scope of the LIBNAME statement or libref.\"}},{\"Name\":\"DBCONTERM=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[Syntax: DBCONTERM=<'>DBMS-user-command<'> ]\\n    \\nwhere DBMS-user-command is any valid command that can be executed by the SAS/ACCESS \\nengine and that does not return a result set or output parameters.\\n\\nSpecifies a user-defined termination command to execute before every disconnect from \\nthe DBMS that is within the scope of the LIBNAME statement or libref.\"}},{\"Name\":\"DBCREATE_TABLE_OPTS=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[Syntax: DBCREATE_TABLE_OPTS='DBMS-SQL-clauses']\\n    \\nwhere DBMS-SQL-clauses are one or more DBMS-specific clauses that can be appended \\nto the end of an SQL CREATE TABLE statement.\\n\\nSpecifies DBMS-specific syntax to add to the CREATE TABLE statement.\"}},{\"Name\":\"DBGEN_NAME=\",\"Type\":\"V\",\"Values\":{\"@Value1\":\"DBMS\",\"@Value2\":\"SAS\"},\"ToolTips\":{\"@ToolTip1\":\"Specifies that SAS renames DBMS columns to valid SAS variable names. SAS converts  to underscores any characters that it does not allow. If it converts a column to   a name that already exists, it appends a sequence number at the end of the new name.\",\"@ToolTip2\":\"Specifies that SAS converts DBMS columns that contain characters that SAS does not  allow into valid SAS variable names. SAS uses the format _COLn, where n is the  column number, starting with 0. If SAS converts a name to a name that already  exists, it appends a sequence number at the end of the new name.\"},\"Help\":{\"#cdata\":\"Specifies how SAS automatically renames to valid SAS variable names any DBMS columns \\nthat contain characters that SAS does not allow.\"}},{\"Name\":\"DBINDEX=\",\"Type\":\"V\",\"Values\":{\"@Value1\":\"YES\",\"@Value2\":\"NO\"},\"ToolTips\":{\"@ToolTip1\":\"Specifies that SAS uses columns in the WHERE clause that have defined DBMS indexes.\",\"@ToolTip2\":\"Specifies that SAS does not use indexes that are defined on DBMS columns.\"},\"Help\":{\"#cdata\":\"Improves performance when processing a join that involves a large DBMS table and a \\nsmall SAS data set.\"}},{\"Name\":\"DBLIBINIT=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[Syntax: DBLIBINIT=<'>DBMS-user-command<'> ] \\n    \\nwhere DBMS-user-command is any valid command that can be executed by the SAS/ACCESS \\nengine and that does not return a result set or output parameters.\\n\\nSpecifies a user-defined initialization command to execute once within the scope of \\nthe LIBNAME statement or libref that established the first connection to the DBMS.\"}},{\"Name\":\"DBLIBTERM=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[Syntax: DBLIBTERM=<'>DBMS-user-command<'> ]  \\n    \\nwhere DBMS-user-command is any valid command that can be executed by the SAS/ACCESS \\nengine and that does not return a result set or output parameters.\\n\\nSpecifies a user-defined termination command to execute once, before the DBMS that \\nis associated with the first connection made by the LIBNAME statement or libref \\ndisconnects.\"}},{\"Name\":\"DBMAX_TEXT=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[Syntax: DBMAX_TEXT=<integer> ] \\n    \\nwhere integer is an integer between 1 and 32,767. \\n\\nDetermines the length of any very long DBMS character data type that is read into SAS \\nor written from SAS when using a SAS/ACCESS engine. \\n\\nThis option applies to reading, appending, and updating rows in an existing table. \\nIt does not apply when you are creating a table.\"}},{\"Name\":\"DBMSTEMP=\",\"Type\":\"V\",\"Values\":{\"@Value1\":\"YES\",\"@Value2\":\"NO\"},\"ToolTips\":{\"@ToolTip1\":\"Specifies that SAS creates one or more temporary tables.\",\"@ToolTip2\":\"Specifies that SAS creates permanent tables.\"},\"Help\":{\"#cdata\":\"Specifies whether SAS creates temporary or permanent tables.\"}},{\"Name\":\"DBNULLKEYS=\",\"Type\":\"V\",\"Values\":{\"@Value1\":\"YES\",\"@Value2\":\"NO\"},\"ToolTips\":{\"@ToolTip1\":\"If there might be NULL values in the transaction table or the master table for the  columns that you specify in the DBKEY= option, use DBNULLKEYS=YES. This is the  default for most interfaces.\",\"@ToolTip2\":\"If you know that there is no NULL values in the transaction table or the master table  for the columns that you specify in the DBKEY= option, use DBNULLKEYS=NO.\"},\"Help\":{\"#cdata\":\"Controls the format of the WHERE clause when you use the DBKEY= data set option.\"}},{\"Name\":\"DBPROMPT=\",\"Type\":\"V\",\"Values\":{\"@Value1\":\"YES\",\"@Value2\":\"NO\"},\"ToolTips\":{\"@ToolTip1\":\"Specifies that SAS displays a window that interactively prompts you for the DBMS  connection options the first time the libref is used.\",\"@ToolTip2\":\"Specifies that SAS does not display the prompting window.\"},\"Help\":{\"#cdata\":\"Specifies whether SAS displays a window that prompts the user to enter DBMS connection \\ninformation before connecting to the DBMS in interactive mode.\"}},{\"Name\":\"DBSLICEPARM=\",\"Type\":\"V\",\"Values\":{\"@Value1\":\"NONE\",\"@Value2\":\"THREADED_APPS\",\"@Value3\":\"ALL\"},\"ToolTips\":{\"@ToolTip1\":\"Disables DBMS threaded read. SAS reads tables on a single DBMS connection, as it did  with SAS 8 and earlier.\",\"@ToolTip2\":\"Makes fully threaded SAS procedures (threaded applications) eligible for threaded reads.\",\"@ToolTip3\":\"Makes all read-only librefs eligible for threaded reads. This includes SAS threaded  applications, as well as the SAS DATA step and numerous SAS procedures.\"},\"Help\":{\"#cdata\":\"Controls the scope of DBMS threaded reads and the number of threads.\"}},{\"Name\":\"DBSASLABEL=\",\"Type\":\"V\",\"Values\":{\"@Value1\":\"COMPAT\",\"@Value2\":\"NONE\"},\"ToolTips\":{\"@ToolTip1\":\"Specifies that the labels returned should be compatible with what the application  normally receives. In other words, engines exhibit their normal behavior.\",\"@ToolTip2\":\"Specifies that the engine does not return a column label. The engine returns blanks  for the column labels.\"},\"Help\":{\"#cdata\":\"Specifies how the engine returns column labels.\"}},{\"Name\":\"DEFER=\",\"Type\":\"V\",\"Values\":{\"@Value1\":\"YES\",\"@Value2\":\"NO\"},\"ToolTips\":{\"@ToolTip1\":\"Specifies that the connection to the DBMS occurs when the libref is assigned by a  LIBNAME statement.\",\"@ToolTip2\":\"Specifies that the connection to the DBMS occurs when a table in the DBMS is opened.\"},\"Help\":{\"#cdata\":\"Specifies when the connection to the DBMS occurs.\"}},{\"Name\":\"DELETE_MULT_ROWS=\",\"Type\":\"V\",\"Values\":{\"@Value1\":\"YES\",\"@Value2\":\"NO\"},\"ToolTips\":{\"@ToolTip1\":\"Specifies that SAS/ACCESS processing continues if multiple rows are deleted. This might  produce unexpected results.\",\"@ToolTip2\":\"Specifies that SAS/ACCESS processing does not continue if multiple rows are deleted.\"},\"Help\":{\"#cdata\":\"Indicates whether to allow SAS to delete multiple rows from a data source, such as a DBMS table.\"}},{\"Name\":\"DIMENSION=\",\"Type\":\"V\",\"Values\":{\"@Value1\":\"YES\",\"@Value2\":\"NO\"},\"ToolTips\":{\"@ToolTip1\":\"Specifies that the database creates dimension tables.\",\"@ToolTip2\":\"Specifies that the database creates fact tables.\"},\"Help\":{\"#cdata\":\"Specifies whether the database creates dimension tables or fact tables. \\n    \\nDefault value: NO\"}},{\"Name\":\"DIRECT_EXE=\",\"Type\":\"V\",\"Values\":{\"@Value1\":\"DELETE\"},\"ToolTips\":{\"@ToolTip1\":\"Specifies that an SQL delete statement is passed directly to the DBMS for processing.\"},\"Help\":{\"#cdata\":\"Allows an SQL delete statement to be passed directly to a DBMS with pass-through.\"}},{\"Name\":\"DIRECT_SQL=\",\"Type\":\"V\",\"Values\":{\"@Value1\":\"YES\",\"@Value2\":\"NO\",\"@Value3\":\"NONE\",\"@Value4\":\"NOGENSQL\",\"@Value5\":\"NOWHERE\",\"@Value6\":\"NOFUNCTIONS\",\"@Value7\":\"NOMULTOUTJOINS\"},\"ToolTips\":{\"@ToolTip1\":\"Specifies that generated SQL from PROC SQL is passed directly to the DBMS for processing.\",\"@ToolTip2\":\"Specifies that generated SQL from PROC SQL is not passed to the DBMS for processing.  This is the same as specifying the value NOGENSQL.\",\"@ToolTip3\":\"Specifies that generated SQL is not passed to the DBMS for processing. This includes  SQL that is generated from PROC SQL, SAS functions that can be converted into DBMS  functions, joins, and WHERE clauses.\",\"@ToolTip4\":\"Prevents PROC SQL from generating SQL to be passed to the DBMS for processing.\",\"@ToolTip5\":\"Prevents WHERE clauses from being passed to the DBMS for processing. This includes SAS  WHERE clauses and PROC SQL generated or PROC SQL specified WHERE clauses.\",\"@ToolTip6\":\"Prevents SQL statements from being passed to the DBMS for processing when they  contain functions.\",\"@ToolTip7\":\"Specifies that PROC SQL does not attempt to pass any multiple outer joins to the DBMS  for processing. Other join statements might be passed down however, including  portions of a multiple outer join.\"},\"Help\":{\"#cdata\":\"Specifies whether generated SQL is passed to the DBMS for processing.\"}},{\"Name\":\"ENABLE_BULK=\",\"Type\":\"V\",\"Values\":{\"@Value1\":\"YES\",\"@Value2\":\"NO\"},\"ToolTips\":{\"@ToolTip1\":\"Disables the bulk copy ability for the libref.\",\"@ToolTip2\":\"Enables the connection to perform a bulk copy of SAS data into Sybase.\"},\"Help\":{\"#cdata\":\"Allows the connection to process bulk copy when loading data into a Sybase table. \\n    \\nDefault value: YES\"}},{\"Name\":\"ERRLIMIT=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[Syntax: ERRLIMIT=integer] \\n    \\nwhere integer specifies a positive integer that represents the number of errors after \\nwhich SAS stops loading data. \\n\\nSpecifies the number of errors that are allowed while using the Fastload utility before \\nSAS stops loading data to Teradata. \\n\\nDefault value: 1 million\"}},{\"Name\":\"FASTEXPORT=\",\"Type\":\"V\",\"Values\":{\"@Value1\":\"YES\",\"@Value2\":\"NO\"},\"ToolTips\":{\"@ToolTip1\":\"Specifies that the SAS/ACCESS engine uses the Teradata Parallel Transporter (TPT)  API to read data from a Teradata table.\",\"@ToolTip2\":\"Specifies that the SAS/ACCESS engine does not use the TPT API to read data from a  Teradata table.\"},\"Help\":{\"#cdata\":\"Specifies whether the SAS/ACCESS engine uses the TPT API to read data. \\n    \\nDefault value: NO\"}},{\"Name\":\"LOGDB=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[Syntax: LOGDB=<database-name>] \\n    \\nRedirects to an alternate database specific tables that FastExport creates \\nor MultiLoad uses.\"}},{\"Name\":\"MODE=\",\"Type\":\"V\",\"Values\":{\"@Value1\":\"TERADATA\",\"@Value2\":\"ANSI\"},\"ToolTips\":{\"@ToolTip1\":\"Specifies that SAS/ACCESS opens Teradata connections in Teradata mode.\",\"@ToolTip2\":\"Specifies that SAS/ACCESS opens Teradata connections in ANSI mode.\"},\"Help\":{\"#cdata\":\"Specifies whether the connection to Teradata uses the ANSI mode or the Teradata mode. \\n    \\nDefault value: ANSI\"}},{\"Name\":\"MULTISTMT=\",\"Type\":\"V\",\"Values\":{\"@Value1\":\"YES\",\"@Value2\":\"NO\"},\"ToolTips\":{\"@ToolTip1\":\"Attempts to send as many inserts to Teradata that can fit in a 64K buffer. If multistatement  inserts are not possible, processing reverts to single-row inserts.\",\"@ToolTip2\":\"Send inserts to Teradata one row at a time.\"},\"Help\":{\"#cdata\":\"Specifies whether insert statements are sent to Teradata one at a time or in a group. \\n    \\nDefault value: NO\"}},{\"Name\":\"INTERFACE=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[Syntax: INTERFACE=<'>filename<'>] \\n    \\nSpecifies the name and location of the interfaces file that is searched when you \\nconnect to the Sybase server.\"}},{\"Name\":\"MAX_CONNECTS=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[Syntax: MAX_CONNECTS=numeric-value] \\n    \\nSpecifies the maximum number of simultaneous connections that Sybase allows. \\n\\nDefault value: 25\"}},{\"Name\":\"FETCH_IDENTITY=\",\"Type\":\"V\",\"Values\":{\"@Value1\":\"YES\",\"@Value2\":\"NO\"},\"ToolTips\":{\"@ToolTip1\":\"Returns the value of the last inserted identity value.\",\"@ToolTip2\":\"Disables this option.\"},\"Help\":{\"#cdata\":\"Returns the value of the last inserted identity value.\"}},{\"Name\":\"ESCAPE_BACKSLASH=\",\"Type\":\"V\",\"Values\":{\"@Value1\":\"YES\",\"@Value2\":\"NO\"},\"ToolTips\":{\"@ToolTip1\":\"Specifies that an additional backslash is inserted in every literal value that already  contains a backslash.\",\"@ToolTip2\":\"Specifies that backslashes that exist in literal values are not preserved. An error results.\"},\"Help\":{\"#cdata\":\"[DBMS support: For MySQL only]  \\n    \\nSpecifies whether backslashes in literals are preserved during data copy from a SAS \\ndata set to a table.\"}},{\"Name\":\"IGNORE_READ_ONLY_COLUMNS=\",\"Type\":\"V\",\"Values\":{\"@Value1\":\"YES\",\"@Value2\":\"NO\"},\"ToolTips\":{\"@ToolTip1\":\"Specifies whether to ignore or include columns whose data types are read-only when  generating an SQL statement for inserts or updates.\",\"@ToolTip2\":\"Specifies that the SAS/ACCESS engine does not ignore columns whose data types are  read-only when you are generating insert and update SQL statements.\"},\"Help\":{\"#cdata\":\"Specifies whether to ignore or include columns whose data types are read-only when \\ngenerating an SQL statement for inserts or updates.\"}},{\"Name\":\"IN=|TABLESPACE=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[Syntax: IN='database-name.tablespace-name'| 'DATABASE database-name'] \\n    \\nwhere database-name.tablespace-name specifies the names of the database and tablespace, \\nwhich are separated by a period. Enclose the entire specification in single quotation marks.\\n\\nAllows specification of the database and tablespace in which you want to create a new table.\"}},{\"Name\":\"INSERT_SQL=\",\"Type\":\"V\",\"Values\":{\"@Value1\":\"YES\",\"@Value2\":\"NO\"},\"ToolTips\":{\"@ToolTip1\":\"Specifies that SAS/ACCESS uses the data source's SQL insert method to insert new rows into a table.\",\"@ToolTip2\":\"Specifies that SAS/ACCESS uses an alternate (DBMS-specific) method to insert new rows into a table.\"},\"Help\":{\"#cdata\":\"Determines the method to use to insert rows into a data source.\"}},{\"Name\":\"INSERTBUFF=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[Syntax: INSERTBUFF=positive-integer]\\n    \\nwhere positive-integer specifies the number of rows to insert. \\n\\nSpecifies the number of rows in a single DBMS insert.\"}},{\"Name\":\"KEYSET_SIZE=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[Syntax: KEYSET_SIZE=number-of-rows]\\n    \\nwhere number-of-rows is an integer with a value between 0 and the number of rows \\nin the cursor.\\n\\nSpecifies the number of rows that are driven by the keyset. \\n\\nDefault value: 0\"}},{\"Name\":\"LOCKTABLE=\",\"Type\":\"V\",\"Values\":{\"@Value1\":\"EXCLUSIVE\",\"@Value2\":\"SHARE\"},\"ToolTips\":{\"@ToolTip1\":\"Specifies that other users are prevented from accessing each table that you open  in the libref.\",\"@ToolTip2\":\"Specifies that other users or processes can read data from the tables, but they  cannot update the data.\"},\"Help\":{\"#cdata\":\"Places exclusive or shared locks on tables. \\n    \\nYou can lock tables only if you are the owner or have been granted the necessary privilege.\"}},{\"Name\":\"LOCKWAIT=\",\"Type\":\"V\",\"Values\":{\"@Value1\":\"YES\",\"@Value2\":\"NO\"},\"ToolTips\":{\"@ToolTip1\":\"Specifies that SAS waits until rows are available for locking.\",\"@ToolTip2\":\"Specifies that SAS does not wait and returns an error to indicate that the lock  is not available.\"},\"Help\":{\"#cdata\":\"Specifies whether to wait indefinitely until rows are available for locking.\"}},{\"Name\":\"LOCKTIME=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[Syntax: LOCKTIME=LOCKTIME=positive-integer]\\n    \\nSpecifies the number of seconds to wait until rows are available for locking. \\n\\nYou must specify LOCKWAIT=YES for LOCKTIME= to have an effect. If you omit the LOCKTIME= \\noption and use LOCKWAIT=YES, SAS suspends your process indefinitely until a lock can be \\nobtained.\"}},{\"Name\":\"LOGIN_TIMEOUT=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[Syntax: LOGIN_TIMEOUT=numeric-value]\\n    \\nSpecifies the default login timeout for connecting to and accessing data sources \\nin a library. \\n\\nDefault value: 0\"}},{\"Name\":\"MULTI_DATASRC_OPT=\",\"Type\":\"V\",\"Values\":{\"@Value1\":\"NONE\",\"@Value2\":\"IN_CLAUSE\"},\"ToolTips\":{\"@ToolTip1\":\"Turns off the functionality of the option.\",\"@ToolTip2\":\"Specifies that an IN clause containing the values read from a smaller table are used  to retrieve the matching values in a larger table based on a key column designated  in an equi-join.\"},\"Help\":{\"#cdata\":\"Used in place of DBKEY to improve performance when processing a join between two data sources.\"}},{\"Name\":\"OR_ENABLE_INTERRUPT=\",\"Type\":\"V\",\"Values\":{\"@Value1\":\"YES\",\"@Value2\":\"NO\"},\"ToolTips\":{\"@ToolTip1\":\"Enables interrupt of long-running SQL processes on the DBMS server.\",\"@ToolTip2\":\"Disables interrupt of long-running SQL processes on the DBMS server.\"},\"Help\":{\"#cdata\":\"Allows interruption of any long-running SQL processes on the DBMS server. \\n    \\nDefault value: NO\"}},{\"Name\":\"OR_UPD_NOWHERE=|ORACLE_73_OR_ABOVE=\",\"Type\":\"V\",\"Values\":{\"@Value1\":\"YES\",\"@Value2\":\"NO\"},\"ToolTips\":{\"@ToolTip1\":\"Specifies that SAS does not use an additional WHERE clause to determine whether  each row has changed since it was read. Instead, SAS uses the SERIALIZABLE  isolation level (available with Oracle 7.3 and above) for update locking. If  a row changes after the serializable transaction starts, the update on that  row fails.\",\"@ToolTip2\":\"Specifies that SAS uses an additional WHERE clause to determine whether each row  has changed since it was read. If a row has changed since being read, the update  fails.\"},\"Help\":{\"#cdata\":\"Specifies whether SAS uses an extra WHERE clause when updating rows with no locking.\"}},{\"Name\":\"PATH=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[Syntax: PATH=\\\"path\\\"] \\n\\nFor SASHDAT engine:\\nDescribes the HDFS directory where the libname looks for sashdat files. If you want \\nto work with one specific directory you can specify the path in the LIBNAME statement. \\nIf you work with files from different directories you can also use the PATH= DATA set \\noption for more granularity or to override the specification in the LIBNAME statement.\"}},{\"Name\":\"COPIES=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[Syntax: COPIES=number] \\n\\nFor SASHDAT engine:\\nControls how many copies are made when file blocks are written to HDFS. You can override \\nthe COPIES= specification in the LIBNAME with a DATA set option. The default is a single \\ncopy when data are loaded in parallel, and two copies if the INNAMEONLY (=NODIST) option \\nwas specified in the LIBNAME statement. Note that specifying COPIES=0 is valid and signals \\nthe engine that you do not want any replicate copies of the data in HDFS.\"}},{\"Name\":\"INNAMEONLY\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Specifies to support a special data loading mode to place small tables into HDFS.\"}},{\"Name\":\"NODIST\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Specifies to support a special data loading mode to place small tables into HDFS.\"}},{\"Name\":\"LASR=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"Specifies the LASR Analytic Server file. The file does not need to be specified. If the option \\nis not given, then the engine constructs connection information from the HOST= and PORT= \\ninformation.\"}},{\"Name\":\"PACKETSIZE=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[Syntax: PACKETSIZE=numeric-value] \\n    \\nAllows specification ofthe packet size for Sybase to use.\"}},{\"Name\":\"PREFETCH=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[Syntax: PREFETCH='unique_storename, [#sessions,algorithm]'] \\n    \\nEnables the PreFetch facility on tables that the libref (defined with the LIBNAME \\nstatement) accesses. \\n\\nSyntax Description:\\n\\nunique_storename \\nis a unique name that you specify. This value names the Teradata macro that PreFetch \\ncreates to store selected SQL statements in the first run of a job. During subsequent \\nruns of the job, SAS/ACCESS presubmits the stored SQL statements in parallel to the \\nTeradata DBMS.\\n\\n#sessions \\ncontrols the number of statements that PreFetch submits in parallel to Teradata. A \\nvalid value is 1 through 9. If you do not specify a #sessions value, the default is 3.\\n\\nalgorithm \\nspecifies the algorithm that PreFetch uses to order the selected SQL statements. \\nCurrently, the only valid value is SEQUENTIAL.\"}},{\"Name\":\"PRESERVE_COL_NAMES=\",\"Type\":\"V\",\"Values\":{\"@Value1\":\"YES\",\"@Value2\":\"NO\"},\"ToolTips\":{\"@ToolTip1\":\"Preserves spaces, special characters, and case sensitivity in DBMS column names  when you create DBMS tables.\",\"@ToolTip2\":\"Preserves spaces, special characters, and case sensitivity in DBMS column names  when you create DBMS tables. NO is the default for most DBMS interfaces.\"},\"Help\":{\"#cdata\":\"Preserves spaces, special characters, and case sensitivity in DBMS column names when \\nyou create DBMS tables.\"}},{\"Name\":\"PRESERVE_TAB_NAMES=\",\"Type\":\"V\",\"Values\":{\"@Value1\":\"YES\",\"@Value2\":\"NO\"},\"ToolTips\":{\"@ToolTip1\":\"Specifies that table names are read from and passed to the DBMS with special characters,  and the exact, case-sensitive spelling of the name is preserved.\",\"@ToolTip2\":\"Specifies that when you create DBMS tables or refer to an existing table, the table  names are derived from SAS member names by using SAS member name normalization.  However, the database applies DBMS-specific normalization rules to the SAS member  names. Therefore, the table names are created or referenced in the database following  the DBMS-specific normalization rules.\"},\"Help\":{\"#cdata\":\"Preserves spaces, special characters, and case sensitivity in DBMS table names.\"}},{\"Name\":\"QUALIFIER=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[Syntax: QUALIFIER=<qualifier-name> ]\\n    \\nAllows identification of such database objects tables and views with the specified qualifier.\"}},{\"Name\":\"QUALIFY_ROWS=\",\"Type\":\"V\",\"Values\":{\"@Value1\":\"YES\",\"@Value2\":\"NO\"},\"ToolTips\":{\"@ToolTip1\":\"Specifies that when the OLE DB interface flattens the result set of an MDX command,  the values in each column are uniquely identified using a hierarchical naming scheme.\",\"@ToolTip2\":\"Specifies that when the OLE DB interface flattens the result set of an MDX command,  the values in each column are not qualified, which means they might not be unique.\"},\"Help\":{\"#cdata\":\"Uniquely qualifies all member values in a result set.\"}},{\"Name\":\"QUERY_BAND=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[Syntax: QUERY_BAND=\\\"pair-name=pair_value\\\" FOR SESSION;]\\n    \\nSpecifies whether to set a query band for the current session.\"},\"SubOptionsKeywords\":\"FOR|SESSION\"},{\"Name\":\"QUERY_TIMEOUT=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[Syntax: QUERY_TIMEOUT=number-of-seconds]\\n    \\nSpecifies the number of seconds of inactivity to wait before canceling a query. \\n\\nDefault value: 0\"}},{\"Name\":\"QUOTE_CHAR=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[Syntax: QUOTE_CHAR=character]\\n    \\nwhere character is the quotation mark character to use when delimiting identifiers, \\nsuch as the double quotation mark (\\\").\\n\\nSpecifies which quotation mark character to use when delimiting identifiers.\"}},{\"Name\":\"QUOTED_IDENTIFIER=\",\"Type\":\"V\",\"Values\":{\"@Value1\":\"YES\",\"@Value2\":\"NO\"},\"ToolTips\":{\"@ToolTip1\":\"Allows specification of table and column names with embedded spaces and special  characters.\",\"@ToolTip2\":\"Does not allow specification of table and column names with embedded spaces and  special characters\"},\"Help\":{\"#cdata\":\"Allows specification of table and column names with embedded spaces and special \\ncharacters. \\n\\nDefault value: NO\"}},{\"Name\":\"READBUFF=|ROWSET_SIZE=|BUFFSIZE=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[Syntax: READBUFF=integer]\\n    \\nwhere integer is the positive number of rows to hold in memory. SAS allows the maximum \\nnumber that is allowed by the DBMS.\\n\\nSpecifies the number of rows of DBMS data to read into the buffer.\"}},{\"Name\":\"READ_ISOLATION_LEVEL=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[Syntax: READ_ISOLATION_LEVEL=DBMS-specific value]\\n    \\nDefines the degree of isolation of the current application process from other \\nconcurrently running application processes.\"}},{\"Name\":\"READ_MODE_WAIT=\",\"Type\":\"V\",\"Values\":{\"@Value1\":\"YES\",\"@Value2\":\"NO\"},\"ToolTips\":{\"@ToolTip1\":\"Specifies for Teradata to wait to acquire the lock, so SAS/ACCESS waits indefinitely  until it can acquire the lock.\",\"@ToolTip2\":\"Specifies for Teradata to fail the lock request if the specified DBMS resource is locked.\"},\"Help\":{\"#cdata\":\"Specifies during SAS/ACCESS read operations whether Teradata should wait to acquire \\na lock or should fail the request when a different user has already locked the \\nDBMS resource.\"}},{\"Name\":\"READ_LOCK_TYPE=\",\"Type\":\"V\",\"Values\":{\"@Value1\":\"ROW\",\"@Value2\":\"PAGE\",\"@Value3\":\"TABLE\",\"@Value4\":\"NOLOCK\",\"@Value5\":\"VIEW\"},\"ToolTips\":{\"@ToolTip1\":\"(Valid for DB2 UNIX/PC, Microsoft SQL Server, ODBC, Oracle)   Locks a row if any of its columns are accessed. If you are using the interface to ODBC  or DB2 under UNIX and PC Hosts, READ_LOCK_TYPE=ROW indicates that locking is based on  the READ_ISOLATION_LEVEL= option.\",\"@ToolTip2\":\"(Valid for Sybase)                 Locks a page of data, which is a DBMS-specific number of bytes. (This value is valid in  the Sybase interface.)\",\"@ToolTip3\":\"(Valid for DB2 UNIX/PC, DB2 z/OS, Microsoft SQL Server, ODBC, Oracle, Teradata)                 Locks the entire DBMS table. If you specify READ_LOCK_TYPE=TABLE, you must also specify  CONNECTION=UNIQUE, or you receive an error message. Setting CONNECTION=UNIQUE ensures that  your table lock is not lost, for example, due to another table closing and committing rows  in the same connection.\",\"@ToolTip4\":\"(Valid for Microsoft SQL Server, ODBC with Microsoft SQL Server driver, OLE DB, Oracle, Sybase)                 Does not lock the DBMS table, pages, or rows during a read transaction.\",\"@ToolTip5\":\"(Valid for Teradata)                 Locks the entire DBMS view.\"},\"Help\":{\"#cdata\":\"Specifies how data in a DBMS table is locked during a READ transaction.\"}},{\"Name\":\"REREAD_EXPOSURE=\",\"Type\":\"V\",\"Values\":{\"@Value1\":\"YES\",\"@Value2\":\"NO\"},\"ToolTips\":{\"@ToolTip1\":\"Specifies that the SAS/ACCESS engine functions like a random access engine when  rereading a row so that you cannot guarantee that the same row is returned.\",\"@ToolTip2\":\"Specifies that the SAS/ACCESS engine functions as an RMOD engine, which means that  your data is protected by the normal data protection that SAS provides.\"},\"Help\":{\"#cdata\":\"Specifies whether the SAS/ACCESS engine functions like a random access engine for \\nthe scope of the LIBNAME statement.\"}},{\"Name\":\"SCHEMA=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[Syntax: SCHEMA=schema-name]\\n    \\nAllows reading of such database objects as tables and views in the specified schema. \\n\\nIf this option is omitted, you connect to the default schema for your DBMS. \\n\\nThe values for SCHEMA= are usually case sensitive, so use care when you specify this option.\"}},{\"Name\":\"SESSIONS=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[Syntax: SESSIONS=number-of-sessions]\\n    \\nwhere number-of-sessions specifies a numeric value that indicates the number of \\nsessions to be logged on.\\n\\nSpecifies how many Teradata sessions to be logged on when using FastLoad, FastExport, \\nor Multiload.\"}},{\"Name\":\"SHOW_SYNONYMS=\",\"Type\":\"V\",\"Values\":{\"@Value1\":\"YES\",\"@Value2\":\"NO\"},\"ToolTips\":{\"@ToolTip1\":\"Specifies that PROC DATASETS shows only synonyms that represent tables, views, or  materialized views for the current user.\",\"@ToolTip2\":\"Specifies that PROC DATASETS shows only tables, views, or materialized views for  the current user.\"},\"Help\":{\"#cdata\":\"Specifies whether PROC DATASETS shows synonyms, tables, views, or materialized views \\nfor the current user and schema if you specified the SCHEMA= option. \\n\\nDefault value: YES\"}},{\"Name\":\"SPOOL=\",\"Type\":\"V\",\"Values\":{\"@Value1\":\"YES\",\"@Value2\":\"NO\",\"@Value3\":\"DBMS\"},\"ToolTips\":{\"@ToolTip1\":\"Specifies that SAS creates a utility spool file into which it writes the rows that  are read the first time. For subsequent passes through the data, the rows are read  from the utility spool file rather than being re-read from the DBMS table. This  guarantees that the row set is the same for every pass through the data.\",\"@ToolTip2\":\"Specifies that the required rows for all passes of the data are read from the DBMS  table. No spool file is written. There is no guarantee that the row set is the same  for each pass through the data.\",\"@ToolTip3\":\"Is valid for Oracle only. The required rows for all passes of the data are read  from the DBMS table but additional enforcements are made on the DBMS server side  to ensure that the row set is the same for every pass through the data. This  setting causes the SAS/ACCESS interface to Oracle to satisfy the two-pass  requirement by starting a read-only transaction. SPOOL=YES and SPOOL=DBMS  have comparable performance results for Oracle; however, SPOOL=DBMS does not  use any disk space. When SPOOL is set to DBMS, the CONNECTION option must be  set to UNIQUE. If not, an error occurs.\"},\"Help\":{\"#cdata\":\"Specifies whether SAS creates a utility spool file during read transactions that \\nread data more than once.\"}},{\"Name\":\"SQL_FUNCTIONS=\",\"Type\":\"V\",\"Values\":{\"@Value1\":\"ALL\",\"@Value2\":\"EXTERNAL_REPLACE=\",\"@Value3\":\"EXTERNAL_APPEND=\"},\"ToolTips\":{\"@ToolTip1\":\"Customizes the in-memory SQL dictionary function list for this particular LIBNAME  statement by adding the set of all existing functions, even those that might be  risky or untested.\",\"@ToolTip2\":\"EXTERNAL_REPLACE=<libref.member> [not valid for Informix, OLE DB]                 Indicates a user-specified, external SAS data set from which the complete function  list in the SQL dictionary is to be built. The assumption is that the user has already  issued a LIBNAME statement to the directory where the SAS data set exists.\",\"@ToolTip3\":\"EXTERNAL_APPEND=<libref.member> [not valid for Informix, OLE DB]                 Indicates a user-specified, external SAS data set from which additional functions  are to be added to the existing function list in the SQL dictionary. The assumption  is that the user has already issued a LIBNAME statement to the directory where the  SAS data set exists.\"},\"Help\":{\"#cdata\":\"Customizes the in-memory SQL dictionary function list for this particular LIBNAME statement.\"}},{\"Name\":\"SQL_FUNCTIONS_COPY=\",\"Type\":\"V\",\"Values\":{\"@Value1\":\"<libref.member>\",\"@Value2\":\"SASLOG\"},\"ToolTips\":{\"@ToolTip1\":\"For this particular LIBNAME statement, writes the current in-memory function list to  a user-specified SAS data set.\",\"@ToolTip2\":\"For this particular LIBNAME statement, writes the current in-memory function list to  the SAS log.\"},\"Help\":{\"#cdata\":\"Writes the function associated with this particular LIBNAME statement to a SAS data set or the SAS log.\"}},{\"Name\":\"SQLGENERATION=\",\"Type\":\"V\",\"Values\":{\"@Value1\":\"NONE\",\"@Value2\":\"ALL\",\"@Value3\":\"DBMS\",\"@Value4\":\"DBMUST\"},\"ToolTips\":{\"@ToolTip1\":\"Allows in-database-enabled SAS procedures to generate SQL for all supported SAS/ACCESS engines.\",\"@ToolTip2\":\"Prevents in-database-enabled SAS procedures from generating SQL for in-database processing.\",\"@ToolTip3\":\"Allows in-database-enabled SAS procedures to generate SQL for processing DBMS tables through  supported SAS/ACCESS engines.\",\"@ToolTip4\":\"Requires that SAS procedures with in-database capability work through the database to process  source data to avoid bringing table rows into SAS or to shift the principal workload to the  database. Without a full table read, some requested features might not be possible and cannot  be performed when SQLGENERATION=DBMUST. In this case, a warning message is written to the SAS  log.\"},\"Help\":{\"#cdata\":\"Specifies whether and when SAS procedures generate SQL for in-database processing of source data. \\n    \\nDefault value: DBMS\"}},{\"Name\":\"SQL_OJ_ANSI=\",\"Type\":\"V\",\"Values\":{\"@Value1\":\"YES\",\"@Value2\":\"NO\"},\"ToolTips\":{\"@ToolTip1\":\"Specifies that ANSI outer-join syntax is passed through to the database.\",\"@ToolTip2\":\"Disables pass-through of ANSI outer-joins.\"},\"Help\":{\"#cdata\":\"Specifies whether to pass ANSI outer-join syntax through to the database. \\n    \\nDefault value: NO\"}},{\"Name\":\"STRINGDATES=\",\"Type\":\"V\",\"Values\":{\"@Value1\":\"YES\",\"@Value2\":\"NO\"},\"ToolTips\":{\"@ToolTip1\":\"Specifies that SAS reads date and time values as character strings.\",\"@ToolTip2\":\"Specifies that SAS reads date and time values as numeric date values.\"},\"Help\":{\"#cdata\":\"Specifies whether to read date and time values from the database as character strings \\nor as numeric date values.\"}},{\"Name\":\"TRACE=\",\"Type\":\"V\",\"Values\":{\"@Value1\":\"YES\",\"@Value2\":\"NO\"},\"ToolTips\":{\"@ToolTip1\":\"Specifies that tracing is turned on, and the DBMS driver manager writes each  function call to the trace file that TRACEFILE= specifies.\",\"@ToolTip2\":\"Specifies that tracing is not turned on.\"},\"Help\":{\"#cdata\":\"Specifies whether to turn on tracing information for use in debugging. \\n    \\nThis option is not supported on UNIX platforms.\"}},{\"Name\":\"TPT=\",\"Type\":\"V\",\"Values\":{\"@Value1\":\"YES\",\"@Value2\":\"NO\"},\"ToolTips\":{\"@ToolTip1\":\"Specifies that SAS uses the TPT API when Fastload, MultiLoad, or Multi-Statement  insert is requested.\",\"@ToolTip2\":\"Specifies that SAS does not use the TPT API when Fastload, MultiLoad, or  Multi-Statement insert is requested.\"},\"Help\":{\"#cdata\":\"Specifies whether SAS uses the Teradata Parallel Transporter (TPT) API to load data \\nwhen SAS requests a Fastload, MultiLoad, or Multi-Statement insert. \\n\\nDefault value: YES\"}},{\"Name\":\"TRACEFILE=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[Syntax: TRACEFILE= filename | <'>path-and-filename<'> ]\\n    \\nSpecifies the filename to which the DBMS driver manager writes trace information. \\n\\nTRACEFILE= is used only when TRACE=YES. If you specify a filename without a path, \\nthe SAS trace file is stored with your data files. If you specify a directory, \\nenclose the fully qualified filename in single quotation marks.\\n\\nIf you do not specify the TRACEFILE= option, output is directed to a default file.\\n\\nThis option is not supported on UNIX platforms.\"}},{\"Name\":\"UPDATE_ISOLATION_LEVEL=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[Syntax: UPDATE_ISOLATION_LEVEL=DBMS-specific-value]\\n    \\nDefines the degree of isolation of the current application process from other concurrently \\nrunning application processes.\"}},{\"Name\":\"UPDATE_LOCK_TYPE=\",\"Type\":\"V\",\"Values\":{\"@Value1\":\"ROW\",\"@Value2\":\"PAGE\",\"@Value3\":\"TABLE\",\"@Value4\":\"NOLOCK\",\"@Value5\":\"VIEW\"},\"ToolTips\":{\"@ToolTip1\":\"Locks a row if any of its columns are going to be updated. (This value is valid in the  DB2 UNIX/PC, Microsoft SQL Server, ODBC, OLE DB, and Oracle interfaces.)\",\"@ToolTip2\":\"Locks a page of data, which is a DBMS-specific number of bytes. (This value is valid in  the Sybase interface, except when you use the SCHEMA= option.)\",\"@ToolTip3\":\"Locks the entire DBMS table. (This value is valid in the DB2 UNIX/PC, DB2 z/OS, Microsoft  SQL Server, ODBC, Oracle, and Teradata interfaces.)\",\"@ToolTip4\":\"Does not lock the DBMS table, page, or any rows when reading them for update. (This value  is valid in the Microsoft SQL Server, ODBC, Oracle, and Sybase interfaces.)\",\"@ToolTip5\":\"Locks the entire DBMS view. (This value is valid in the Teradata interface.)\"},\"Help\":{\"#cdata\":\"Specifies how data in a DBMS table is locked during an update transaction.\"}},{\"Name\":\"UPDATEBUFF=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[Syntax: UPDATEBUFF=positive-integer] \\n    \\nSpecifies the number of rows that are processed in a single DBMS update or \\ndelete operation. \\n\\nDefault value: 1\"}},{\"Name\":\"UPDATE_MODE_WAIT=\",\"Type\":\"V\",\"Values\":{\"@Value1\":\"YES\",\"@Value2\":\"NO\"},\"ToolTips\":{\"@ToolTip1\":\"Specifies for Teradata to wait to acquire the lock, so SAS/ACCESS waits indefinitely  until it can acquire the lock.\",\"@ToolTip2\":\"Specifies for Teradata to fail the lock request if the specified DBMS resource is locked.\"},\"Help\":{\"#cdata\":\"Specifies during SAS/ACCESS update operations whether Teradata should wait to acquire \\na lock or fail the request when a different user has locked the DBMS resource.\"}},{\"Name\":\"UPDATE_MULT_ROWS=\",\"Type\":\"V\",\"Values\":{\"@Value1\":\"YES\",\"@Value2\":\"NO\"},\"ToolTips\":{\"@ToolTip1\":\"Specifies that SAS/ACCESS processing continues if multiple rows are updated. This  might produce unexpected results.\",\"@ToolTip2\":\"Specifies that SAS/ACCESS processing does not continue if multiple rows are updated.\"},\"Help\":{\"#cdata\":\"Indicates whether to allow SAS to update multiple rows from a data source, such as a DBMS table.\"}},{\"Name\":\"UPDATE_SQL=\",\"Type\":\"V\",\"Values\":{\"@Value1\":\"YES\",\"@Value2\":\"NO\"},\"ToolTips\":{\"@ToolTip1\":\"Specifies that SAS/ACCESS uses Current-of-Cursor SQL to update or delete rows in a table.\",\"@ToolTip2\":\"Specifies that SAS/ACCESS uses the SQLSetPos() application programming interface (API)  to update or delete rows in a table.\"},\"Help\":{\"#cdata\":\"Determines the method that is used to update and delete rows in a data source.\"}},{\"Name\":\"USE_ODBC_CL=\",\"Type\":\"V\",\"Values\":{\"@Value1\":\"YES\",\"@Value2\":\"NO\"},\"ToolTips\":{\"@ToolTip1\":\"Specifies that the Driver Manager uses the ODBC Cursor Library. The ODBC Cursor  Library supports block scrollable cursors and positioned update and delete statements.\",\"@ToolTip2\":\"Specifies that the Driver Manager uses the scrolling capabilities of the driver.\"},\"Help\":{\"#cdata\":\"Indicates whether the Driver Manager uses the ODBC Cursor Library.\"}},{\"Name\":\"UTILCONN_TRANSIENT=\",\"Type\":\"V\",\"Values\":{\"@Value1\":\"YES\",\"@Value2\":\"NO\"},\"ToolTips\":{\"@ToolTip1\":\"Specifies that a utility connection is automatically dropped as soon as it is no  longer in use.\",\"@ToolTip2\":\"Specifies that a utility connection is maintained for the lifetime of the libref.\"},\"Help\":{\"#cdata\":\"Enables utility connections to maintain or drop, as needed.\"}},{\"Name\":\"ENABLEDIRECTIO\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"[UNIX Host Option] \\n    \\nSpecifies that direct file I/O can be available for all files that are opened in the \\nlibrary that is identified in the LIBNAME statement.\"}},{\"Name\":\"FILELOCKS=\",\"Type\":\"V\",\"Values\":{\"@Value1\":\"NONE\",\"@Value2\":\"FAIL\",\"@Value3\":\"CONTINUE\"},\"ToolTips\":{\"@ToolTip1\":\"Turns file locking off. NONE specifies that SAS attempts to open the file without  checking for an existing lock on the file. NONE does not place an operating system  lock on the file. These files are not protected from shared Update access.\",\"@ToolTip2\":\"turns file locking on. FAIL specifies that SAS attempts to place an operating system  lock on the file. Access to the file is denied if the file is already locked, or if  it cannot be locked.\",\"@ToolTip3\":\"Turns file locking on. CONTINUE specifies that SAS attempts to place an operating  system lock on the file. If the file is already locked by someone else, an attempt  to open it fails. If the file cannot be locked for some other reason (for example,  if the file system does not support locking), the file is opened and a warning  message is sent to the log.\"},\"Help\":{\"#cdata\":\"[UNIX Host Option] \\n    \\nSpecifies whether file locking is turned on or off for the files that are opened \\nunder the libref in the LIBNAME statement. The FILELOCKS statement option works \\nlike the FILELOCKS system option, except that it applies only to the files that \\nare associated with the libref.\"}},{\"Name\":\"TRANSFERSIZE=\",\"Type\":\"V\",\"Values\":{\"@Value1\":\"nK\",\"@Value2\":\"nM\"},\"ToolTips\":{\"@ToolTip1\":\"Specifies the size of blocks of data in units of kilobytes. Replace n with an actual value.\",\"@ToolTip2\":\"Specifies the size of blocks of data in units of megabytes. Replace n with an actual value.\"},\"Help\":{\"#cdata\":\"[UNIX Host Option] \\n    \\n[Syntax: TRANSFERSIZE=nK | nM] \\n    \\nSpecifies the size of blocks of data in units of kilobytes or megabytes.\"}},{\"Name\":\"USEDIRECTIO=\",\"Type\":\"V\",\"Values\":{\"@Value1\":\"YES\",\"@Value2\":\"NO\"},\"ToolTips\":{\"@ToolTip1\":\"Turns on direct file I/O for all the files associated with the libref listed in the  LIBNAME statement.\",\"@ToolTip2\":\"Turns off direct file I/O for all the files associated with the libref listed in the  LIBNAME statement.\"},\"Help\":{\"#cdata\":\"[UNIX Host Option] \\n    \\nIf used with the ENABLEDIRECTIO statement option, turns on or turns off direct file I/O \\nfor all the files associated with the libref listed in the LIBNAME statement.\"}},{\"Name\":\"ALQ=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[OpenVMS Host Option] \\n    \\nSpecifies how many disk blocks to allocate to a new SAS data set.\"}},{\"Name\":\"ALQMULT=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[OpenVMS Host Option] \\n    \\nSpecifies the number of pages that are preallocated to a file.\"}},{\"Name\":\"BKS=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[OpenVMS Host Option] \\n    \\nSpecifies the bucket size for a new data set.\"}},{\"Name\":\"CACHENUM=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[OpenVMS Host Option] \\n    \\nSpecifies the number of I/O data caches used per SAS file.\"}},{\"Name\":\"CACHESIZE=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[OpenVMS Host Option] \\n    \\nControls the size of the I/O data cache that is allocated for a file.\"}},{\"Name\":\"DEQ=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[OpenVMS Host Option] \\n    \\nTells OpenVMS how many disk blocks to add when it automatically extends a SAS data set \\nduring a 'write' operation.\"}},{\"Name\":\"DEQMULT=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[OpenVMS Host Option] \\n    \\nSpecifies the number of pages to extend a SAS file.\"}},{\"Name\":\"MBF=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[OpenVMS Host Option] \\n    \\nSpecifies the multibuffer count for a data set.\"}},{\"Name\":\"DLTRUNCHK\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"[z/OS Host Option] \\n    \\nOverrides the system option DLTRUNCHK for this LIBNAME statement assignment only. \\nThis option applies only to direct access bound libraries.\"}},{\"Name\":\"NODLTRUNCHK\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"[z/OS Host Option] \\n    \\nOverrides the system option DLTRUNCHK for this LIBNAME statement assignment only. \\nThis option applies only to direct access bound libraries.\"}},{\"Name\":\"HFS\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"[z/OS Host Option] \\n    \\nSpecifies that the library physical name refers to a UFS directory in the user's UFS \\nworking directory.\"}},{\"Name\":\"HIPERSPACE\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"[z/OS Host Option] \\n    \\nSpecifies that the SAS library is placed in a hiperspace rather than on a disk. \\nHIP is an alias for the HIPERSPACE option.\"}},{\"Name\":\"LINEAR\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"[z/OS Host Option] \\n    \\nSpecifies that this new library should be allocated as a VSAM linear data set. \\nThis library is a permanent library that uses the HIPERSPACE access method by \\nway of the DIV (data-in-virtual) facility.\"}},{\"Name\":\"NOPROMPT\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"[z/OS Host Option] \\n    \\nFor this assignment, specifies that no dialog box is displayed to prompt you to \\ncreate the library, even if the system option FILEPROMPT is in effect and if the \\nlibrary does not already exist.\"}},{\"Name\":\"BLKSIZE=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[z/OS Host Option] \\n    \\nSyntax: BLKSIZE=n \\n\\nSpecifies the block size that SAS is to use when dynamically allocating the library \\ndata set. The maximum acceptable value is 32760. The BLKSIZE host option is ignored \\nfor libraries that are already externally allocated by a DD statement.\"}},{\"Name\":\"DATACLAS=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[z/OS Host Option] \\n    \\nSyntax: DATACLAS=data-class-name \\n\\nSpecifies the data class for an SMS-managed data set. The name can have up to eight \\ncharacters. This option applies only to new data sets; it is ignored for existing \\ndata sets. The data class is predefined and controls the DCB attributes for a data \\nset.\"}},{\"Name\":\"DISP=\",\"Type\":\"V\",\"Values\":{\"@Value1\":\"NEW\",\"@Value2\":\"OLD\",\"@Value3\":\"SHR\"},\"ToolTips\":{\"@ToolTip1\":\"A new data set is to be created.\",\"@ToolTip2\":\"The data set exists and is not to be shared.\",\"@ToolTip3\":\"The data set exists and can be shared.\"},\"Help\":{\"#cdata\":\"[z/OS Host Option] \\n    \\nSyntax: DISP= status | (< status >,< normal-termination-disp>, < abnormal-termination-disp>) \\n\\nSpecifies the status of the data set at the beginning and ending of a job, as well \\nas what to do if the job step terminates abnormally. If you are specifying only the \\nstatus, you can omit the parentheses. \\n\\nnormal-termination-disp \\nspecifies how the operating system handles the library data set when the final assignment \\nfor the library is cleared. If you omit the normal termination disposition value, the default \\nvalue for new data sets is CATLG, and the default value for existing data sets is KEEP.\\nThe following values are valid: \\n\\n  DELETE the data set is deleted at the end of the step.    \\n  KEEP the data set is to be kept.    \\n  CATLG the system should place an entry in the system catalog or user catalog.    \\n  UNCATLG the system is to delete the entry in the system catalog or user catalog.\\n\\nabnormal-termination-disp \\nspecifies how the operating system handles the library data set if the job step under \\nwhich SAS is running terminates abnormally in such a way that SAS cannot handle the abend. \\nHowever, under TSO, or if SAS can handle the abend, the data set is handled according to \\nthe normal-termination-disposition. The normal-termination-disposition is used if SAS \\nabends as a result of the ERRORABEND option or the ABORT ABEND statement.\\n\\nValid values for abnormal-termination-disposition are the same as for normal-termination-disposition.\"}},{\"Name\":\"DSNTYPE=\",\"Type\":\"V\",\"Values\":{\"@Value1\":\"BASIC\",\"@Value2\":\"LARGE\",\"@Value3\":\"EXTREQ\",\"@Value4\":\"EXTPREF\",\"@Value5\":\"NONE\"},\"ToolTips\":{\"@ToolTip1\":\"Specifies that SAS creates a regular format sequential data set that cannot use more  than 64K tracks on any single volume.\",\"@ToolTip2\":\"Specifies that SAS creates a regular format sequential data set that can use more than  64K tracks on any single volume.\",\"@ToolTip3\":\"Specifies that SAS must create an extended format sequential data set. If the system  cannot create an extended format data set, the library assignment will fail. This  option value is intended for use with sequential access bound libraries on disk and  for DIV libraries.\",\"@ToolTip4\":\"Specifies that SAS creates an extended format sequential data set, if possible. However,  if extended format is not supported for the type of library that is being created, or  if the operating system cannot create an extended format data set, then a regular format  data set will be created.\",\"@ToolTip5\":\"Causes SAS to not specify a DSNTYPE value when allocating the library data set. The  type of data set that is created will be determined by the system, and will use  default values that are supplied by the SMS data class, and so forth.\"},\"Help\":{\"#cdata\":\"Specifies the type of data set that SAS should create for a new library data set \\nthat does not already exist.\"}},{\"Name\":\"EXTEND\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Specifies that when SAS allocates this library, it allocates it with a volume count \\nthat is one greater than the current number of DASD volumes on which the library \\nresides. With this option, a single-volume library can be converted to a multivolume \\nlibrary, and existing multivolume libraries can be extended to another volume.\"}},{\"Name\":\"LABEL=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[z/OS Host Option] \\n    \\nSyntax: LABEL=(subparameter-list)\\n\\nEnables you to specify for a tape or direct access data set the type and contents \\nof the label of the tape or disk data set, as well as other information such as the \\nretention period or expiration date for the data set.\\n\\nThe LABEL= option is identical to the JCL LABEL= parameter. For example: \\n\\n  label=(3,SL,,,EXPDT=2005/123)\"}},{\"Name\":\"LIKE=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[Syntax: LIKE='physical-filename']\\n    \\nWhen allocating a new library, specifies that SAS sets the DCB attributes of the \\nnew library to the same values as those values in the specified data set.\"}},{\"Name\":\"MGMTCLAS=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[Syntax: MGMTCLAS=management-class-name] \\n    \\nSpecifies a management class for an SMS data set. The name can have up to eight \\ncharacters. This option applies only to new data sets; it is ignored for existing \\ndata sets. The management class is predefined and controls how your data set is \\nmanaged, such as how often it is backed up and how it is migrated.\\n\\nThe implementation of the MGMTCLAS= option is compatible with the SMS MGMTCLAS= JCL \\nparameter. For complete information about this parameter, see z/OS JCL Reference by \\nIBM. Ask your system administrator which management class names are used at your site.\"}},{\"Name\":\"SPACE=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[Syntax: SPACE=(unit,(primary<,secondary>), <RLSE>,<type>,<ROUND> )] \\n    \\nSpecifies how much disk space to provide for a data set that is being created. The space \\ncan be requested in terms of tracks, cylinders, or blocks. \\n\\nunit \\ncan be any of the following: \\n\\n  TRK specifies that the space is to be allocated in tracks.    \\n  CYL specifies that the space is to be allocated in cylinders.    \\n  blklen specifies that the space is to be allocated in blocks whose block length is blklen \\n    bytes. The system computes how many tracks are allocated. \\n\\nprimary \\nspecifies how many tracks, cylinders, or blocks to allocate. \\n\\nsecondary \\nspecifies how many additional tracks, cylinders, or blocks to allocate if more space is needed. \\nThe system does not allocate additional space until it is needed. \\n\\nRLSE \\ncauses unused space that was allocated to an output data set to be released when the data set \\nis closed. Unused space is released only if the data set is opened for output, and if the last \\noperation was a write operation.\\n\\ntype \\ncan be any of the following: \\n\\n  CONTIG specifies that the space to be allocated must be contiguous.    \\n  MXIG specifies that the maximum contiguous space is required.    \\n  ALX specifies that different areas of contiguous space are needed. \\n\\nROUND \\nspecifies that the allocated space must be equal to an integral number of cylinders when the \\nunit specified was a block length. If unit was specified as TRK or CYL, the system ignores ROUND.\"},\"SubOptionsKeywords\":\"ROUND|CONTIG|MXIG|ALX|RLSE|TRK|CYL\"},{\"Name\":\"STORCLAS=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[Syntax: STORCLAS=storage-class-name] \\n    \\nSpecifies a storage class for an SMS data set. The name can have up to eight characters. \\nThis option applies only to new data sets; it is ignored for existing data sets. The storage \\nclass is predefined and controls which device your SMS data set is stored on, such as disk \\nor tape.\\n\\nThe implementation of the STORCLAS= option is compatible with the SMS STORCLAS= JCL parameter. \\nAsk your system administrator which storage class names are used at your site.\"}},{\"Name\":\"UNIT=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[Syntax: UNIT=value | (value,P )] \\n    \\nSpecifies that value is a generic device type name or a symbolic (esoteric) name \\nfor a group of devices. value must be enclosed in quotation marks if the generic \\ndevice type name or group name contains characters other than alphanumeric characters. \\nContact your systems administrator to determine the appropriate generic device type \\nor group name to specify.\\n\\nn is the number of devices to be allocated for processing the library data set. \\nA value from 1 to 59 can be specified. For multi-volume direct access bound libraries \\nresiding in non-SMS managed data sets, the device count can be specified to indicate \\nthe maximum number of volumes to which the data library can be extended during the \\ncurrent assignment.\\n\\nFor tape libraries, P requests that one device is allocated for each volume on which \\nthe data set resides.\"}},{\"Name\":\"VOLCOUNT=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[Syntax: VOLCOUNT=nnn] \\n    \\nSpecifies the maximum number of volumes on which a new library can reside. VOLCOUNT \\nenables the creation of a multivolume tape library without the specification of a list \\nof volumes with the VOLSER option. The value of VOLCOUNT is a decimal number from 1 \\nthrough 255.\"}},{\"Name\":\"VOLSER=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[Syntax: VOLSER=value | (value-1, ..., value-n)] \\n    \\nSpecifies up to 30 volume serial numbers. If VOLSER= is not specified, its value \\nis taken from the SAS system option FILEVOL=. See FILEVOL= System Option: z/OS for \\nmore information. The VOLSER option does not need to be specified for existing \\ncataloged data sets unless your SAS job extends the library to additional volumes, \\nand you want to specify the volumes (as opposed to allowing z/OS to select the \\nvolumes).\"}},{\"Name\":\"WAIT=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[Syntax: WAIT=n] \\n    \\nSpecifies how long SAS software waits for a data set that is held by another job \\nor user before the LIBNAME statement fails. The value n specifies a length of time \\nin clock minutes. If the data set becomes free before n minutes expire, then the \\nLIBNAME statement is processed as usual. The dynamic allocation request is retried \\ninternally every 15 seconds.\\n\\nWhen you use the WAIT= option, you must also specify the engine name in the LIBNAME \\nstatement if you are accessing uncataloged libraries or libraries that do not reside \\non disk. Otherwise, you do not have to specify the engine name.\\n\\nFor batch jobs using WAIT=, also specify the FILEMSGS option, which causes a message \\nto be written to the system log for each allocation attempt, thus allowing system \\noperators to determine why the job is waiting.\"}},{\"Name\":\"PROXYHOST=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[Syntax: PROXYHOST='hostname'] \\n\\nSpecifies an HTTP proxy server host name. An example is proxyhost='proxygw.abc.sas.com'.\\n\\nRestriction: Use this option for the WSDL markup type only. \\nRestriction: The functionality is for the third maintenance release for SAS 9.2.\"}},{\"Name\":\"PROXYPASSWORD=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[Syntax: PROXYPASSWORD='password']  \\n\\nSpecifies an HTTP proxy server password. This option is required only if your proxy \\nserver requires credentials. The password is case sensitive and must be enclosed in \\nsingle or double quotation marks. An example is proxypassword='Abc_123'.\\n\\nRestriction: Use this option for the WSDL markup type only. \\nRestriction: The functionality is for the third maintenance release for SAS 9.2.\"}},{\"Name\":\"PROXYPORT=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[Syntax: PROXYPORT=number]  \\n\\nSpecifies an HTTP proxy server port. An example is proxyport=80. \\n\\nRestriction: Use this option for the WSDL markup type only. \\nRestriction: The functionality is for the third maintenance release for SAS 9.2.\"}},{\"Name\":\"PROXYUSERNAME=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[Syntax: PROXYUSERNAME='user-ID']  \\n\\nSpecifies an HTTP proxy server user name. This option is required only if your \\nproxy server requires credentials. The user ID is case sensitive and must be \\nenclosed in single or double quotation marks. An example is proxyusername='test_acc'.\\n\\nRestriction: Use this option for the WSDL markup type only. \\nRestriction: The functionality is for the third maintenance release for SAS 9.2.\"}},{\"Name\":\"WEBPASSWORD=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[Syntax: WEBPASSWORD='password'] \\n\\nSpecifies a password for either Basic or NTLM Web server authentication. \\nThe password is case sensitive and must be enclosed in single or double \\nquotation marks. An example is webpassword='MyPW'.\\n\\nRestriction: Use this option for the WSDL markup type only. \\nRestriction: The functionality is for the third maintenance release for SAS 9.2.\"}},{\"Name\":\"WEBUSERNAME=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[Syntax: WEBUSERNAME='user-ID'] \\n\\nSpecifies a user name for either Basic or NTLM Web server authentication. \\nThe user ID is case sensitive and must be enclosed in single or double \\nquotation marks. An example is webusername='mydomain\\\\myuserid'.\\n\\nRestriction: Use this option for the WSDL markup type only. \\nRestriction: The functionality is for the third maintenance release for SAS 9.2.\"}},{\"Name\":\"FMTLIB=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[Syntax: FMTLIB=libref.format-catalog]\\n\\nSpecifies where the formats are stored when a JMP data table is read and where the \\nformats come from when a JMP data table is created. \\n\\nRequirement:The library that is specified in the FMTLIB argument must be a SAS data \\nset LIBNAME statement.\"}},{\"Name\":\"POINTOBS=\",\"Type\":\"V\",\"Values\":{\"@Value1\":\"YES\",\"@Value2\":\"NO\"},\"ToolTips\":{\"@ToolTip1\":\"Causes SAS software to produce a compressed data set that might be randomly accessed by observation number.  Note: For an individual data set, the POINTOBS= data set option overrides the setting of the POINTOBS= option  in the LIBNAME statement.  Tip: Specifying POINTOBS=YES does not affect the efficiency of retrieving information from a data set.  It does increase CPU usage by approximately 10% when creating a compressed data set and when updating  or adding information to it.\",\"@ToolTip2\":\"Suppresses the ability to randomly access observations in a compressed data set by observation number.  Tip: Specifying POINTOBS=NO is desirable for applications where the ability to point directly to an  observation by number within a compressed data set is not important. If you do not need to access  data by observation number, then you can improve performance by approximately 10% by specifying  POINTOBS=NO when creating a compressed data set or when updating or adding observations to it.\"},\"Help\":{\"#cdata\":\"Specifies whether SAS creates compressed data sets whose observations can be randomly accessed or sequentially accessed.\\n    \\nDefault: YES\"}},{\"Name\":\"SESSREF=|CASREF=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[Syntax: SESSREF=session-name]\\n      \\nSpecifies the name of the CAS session to which you want to connect. \\n\\nNote: CASREF= is an undocumented alias.\"}},{\"Name\":\"CASLIB=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[Syntax: CASLIB=caslib]\\n    \\nSpecifies the name of a caslib to bind to the libref.By default, engine operations with the libref use \\nthe active caslib from your session. (The active caslib can change due to adding or dropping caslibs.) \\nUse this option to specify an alternative caslib. When you specify this option, an engine operation \\nusing the libref uses the specified caslib, regardless of the active caslib for the session. You can \\noverride this option with the CASLIB= data set option.\"}},{\"Name\":\"UUID=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[Syntax: UUID=identifier]\\n    \\nIf you specify a UUID (as a name or a quoted string), the engine connects to the session in CAS identified \\nby the UUID. The following example starts a CAS session through the CAS statement, saves the UUID in the \\nMyUUID macro variable, and connects the SASIOCA libname to that session to load the table FOO into it.\\n\\n  cas mysess port=19999 host=\\\"rdcgrd001\\\" UUIDMAC=MyUUID;\\n \\n  < do some other stuff > \\n \\n  libname mycas sasioca host=\\\"rdcgrd001\\\" port=19999 uuid=\\\"&MyUUID\\\";\\n \\n  data mycas.foo;\\n   < some DATA step code>\\n  run;\\n  \\nNote: 9 out of 10 people prefer to use SESSREF= instead of UUID=.\"}},{\"Name\":\"UUIDMAC=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[Syntax: UUIDMAC=macroVariable]\\n    \\nSpecifies a SAS macroVariable (as a name or a quoted string) into which the engine saves the UUID of \\nthe last session created by the engine in the Cloud Analytic Services (CAS). UUIDMAC is useful if you \\nwant a subsequent SAS step to connect to a session created or modified by the SASIOCA engine. If you \\ndo not specify the UUIDMAC= option, the UUID is stored in the macro variable _IOCASUUID_.\"}},{\"Name\":\"DATALIMIT=\",\"Type\":\"V\",\"Values\":{\"@Value1\":\"<integer>\",\"@Value2\":\"<integerK>\",\"@Value3\":\"<integerM>\",\"@Value4\":\"<integerG>\",\"@Value5\":\"ALL\"},\"ToolTips\":{\"@ToolTip1\":\"Specifies the maximum number of bytes to read \",\"@ToolTip2\":\"Specifies the maximum number of kilobytes to read.\",\"@ToolTip3\":\"Specifies the maximum number of megabytes to read.\",\"@ToolTip4\":\"Specifies the maximum number of gigabytes to read.\",\"@ToolTip5\":\"Specifies that the entire file can be read, no matter how large it is.\"},\"Help\":{\"#cdata\":\"[Syntax: DATALIMIT=integer | integerK | integerM | integerG | ALL]\\n    \\nSpecifies the maximum number of bytes of data that can transferred from the SAS Cloud Analytic Services server to SAS. \\n\\nValid in: CAS LIBNAME statement\\n\\nDefault: 100M\\nRestriction: This option affects only read access.\\nTip:\\nThis option can prevent you from accidentally transferring a large amount of data from the server to the client.\"}},{\"Name\":\"READTRANSFERSIZE=|RTS=\",\"Type\":\"V\",\"Values\":{\"@Value1\":\"<integer>\",\"@Value2\":\"<integerK>\",\"@Value3\":\"<integerM>\",\"@Value4\":\"<integerG>\"},\"ToolTips\":{\"@ToolTip1\":\"Specifies the total number of bytes for each read to the server.\",\"@ToolTip2\":\"Specifies the total number of kilobytes to read.\",\"@ToolTip3\":\"Specifies the total number of megabytes to read.\",\"@ToolTip4\":\"Specifies the total number of gigabytes to read.\"},\"Help\":{\"#cdata\":\"[Syntax: READTRANSFERSIZE=<(integer ) | K | M | G>]\\n    \\nSpecifies the maximum data transfer size in bytes that can be used when reading a table from SAS Cloud Analytic Services. \\n\\nDefault: 500MB\\n\\nRestriction: This option affects only read access.\\n\\nInteraction:\\nREADTRANSFERSIZE= is the maximum amount of data that is transferred with each read request that is made to SAS \\nCloud Analytic Services. If the entire result of the read request is smaller than the value of the READTRANSFERSIZE=\\noption, only the necessary number of bytes are transferred. This situation can occur if either the table size or the \\nvalue of the DATALIMIT= option is smaller than the value of the READTRANSFERSIZE= option.\"}},{\"Name\":\"WRITETRANSFERSIZE=\",\"Type\":\"V\",\"Values\":{\"@Value1\":\"<integer>\",\"@Value2\":\"<integerK>\",\"@Value3\":\"<integerM>\",\"@Value4\":\"<integerG>\"},\"ToolTips\":{\"@ToolTip1\":\"Specifies the total number of bytes for each write to the server.\",\"@ToolTip2\":\"Specifies the total number of kilobytes to write.\",\"@ToolTip3\":\"Specifies the total number of megabytes to write.\",\"@ToolTip4\":\"Specifies the total number of gigabytes to write.\"},\"Help\":{\"#cdata\":\"[Syntax: WRITETRANSFERSIZE=<(integer ) | K | M | G>]\\n    \\nSpecifies the maximum data transfer size in bytes that can be used when writing to a table in SAS Cloud Analytic Services. \\n\\nDefault: 512KB\\n\\nRestriction: This option affects only write access.\"}},{\"Name\":\"DBUSER=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[Syntax: DBUSER=<\\\">user-name<\\\">]\\n    \\nSpecifies the name of a database user account that can access the library on the database.\\n\\nNote: A user name value is changed to uppercase text if it is not enclosed in quotation marks. If a \\nvalue is case sensitive or contains special characters, it has to be enclosed in either single or \\ndouble quotation marks.\"}},{\"Name\":\"DBPASSWORD=|DBPASS=|DBPASSWD=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[Syntax: DBPASSWORD=|DBPASS=|DBPASSWD=<\\\">password<\\\">]\\n    \\nSpecifies the password associated with the specified database user account.\\n\\nNote: A password value is changed to uppercase text if it is not enclosed in quotation marks. If a value is \\ncase sensitive or contains special characters, it has to be enclosed in either single or double quotation marks.\\n\\nTip: You can encode the password with PROC PWENCODE.\"}},{\"Name\":\"BL_DEFAULT_DIR=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[Syntax: BL_DEFAULT_DIR='host-specific-directory-path'\\n    \\nSpecifies where bulk loading creates all intermediate files.\"}},{\"Name\":\"DBNULLWHERE=\",\"Type\":\"V\",\"Values\":{\"@Value1\":\"YES\",\"@Value2\":\"NO\"},\"ToolTips\":{\"@ToolTip1\":\"Specifies that character columns in a WHERE clause can contain NULL values.\",\"@ToolTip2\":\"Specifies that character columns in a WHERE clause cannot contain NULL values.\"},\"Help\":{\"#cdata\":\"Syntax: DBNULLWHERE=YES | NO\\n    \\nSpecifies whether character columns in a WHERE clause can contain NULL values.\"}},{\"Name\":\"DBSERVER_ENCODING_FIXED=\",\"Type\":\"V\",\"Values\":{\"@Value1\":\"YES\",\"@Value2\":\"NO\"},\"ToolTips\":{\"@ToolTip1\":\"\",\"@ToolTip2\":\"\"},\"Help\":{\"#cdata\":\"Syntax: DBSERVER_ENCODING_FIXED=YES | NO\"}},{\"Name\":\"POST_STMT_OPTS=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"Syntax: POST_STMT_OPTS='DBMS-SQL-option(s)' \\n    \\nAllows additional database-specific options to be placed after the CREATE TABLE statement \\nin generated SQL code.\"}},{\"Name\":\"OR_BINARY_DOUBLE=\",\"Type\":\"V\",\"Values\":{\"@Value1\":\"YES\",\"@Value2\":\"NO\"},\"ToolTips\":{\"@ToolTip1\":\"Specifies BINARY_DOUBLE as the default.\",\"@ToolTip2\":\"Specifies NUMBER as the default.\"},\"Help\":{\"#cdata\":\"Syntax: OR_ BINARY_DOUBLE=YES | NO\\n    \\nSpecifies the default data type to use for numeric table columns.\"}},{\"Name\":\"POST_DML_STMT_OPTS=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"Syntax: POST_DML_STMT_OPTS=value\\n    \\nSpecifies text to append to an INSERT, UPDATE, or DELETE statement.\"}}],\"#comment\":[{},{},{},{},{},{},{},{},{},{}]}}"
  },
  {
    "path": "server/data/Statements/LISTTASK.json",
    "content": "{\"Keywords\":{\"Keyword\":{\"Name\":\"_ALL_\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Provides status information about all current tasks.\"}}}}"
  },
  {
    "path": "server/data/Statements/LOCK.json",
    "content": "{\"Keywords\":{\"Keyword\":[{\"Name\":\"LIST|QUERY|SHOW\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Writes to the SAS log whether you have an exclusive lock on the specified SAS file.\\n\\nTip:\\nThis option provides more information in a client/server environment. To use this option in \\na client/server environment, see the LOCK statement in the SAS/SHARE User's Guide.\"}},{\"Name\":\"CLEAR\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Releases a lock on the specified SAS file that was acquired using the LOCK statement in your SAS session.\"}},{\"Name\":\"NOMSG\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Specifies that warning and error messages are not written to the SAS log. NOMSG does not suppress notes \\n    that tell you that a lock is successful or that a lock is cleared. \\n    \\nInteractions:\\nTo suppress warnings and errors, you must specify NOMSG for each execution of the LOCK statement.\"}}]}}"
  },
  {
    "path": "server/data/Statements/NOTE.json",
    "content": "{\"Keywords\":{\"Keyword\":[{\"Name\":\"ANGLE=|A=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[Syntax: ANGLE=degrees | A=degrees] \\n    \\nSpecifies the angle of the baseline of the entire text string with respect to the \\nhorizontal. A positive degrees value angles the baseline counterclockwise; a negative \\nvalue angles it clockwise. By default, ANGLE=0 (horizontal).\"}},{\"Name\":\"BCOLOR=|BC=\",\"Type\":\"C\",\"Help\":{\"#cdata\":\"[Syntax: BCOLOR=background-color] \\n    \\nSpecifies the background color of a box produced by the BOX= option. If you omit \\nBOX=, BCOLOR= is ignored. By default, the background color of the box is the same \\nas the background color for the entire graph. The color of the frame of the box is \\ndetermined by the color specification used in BOX=.\"}},{\"Name\":\"BLANK=YES|BL=YES\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[Syntax: BLANK=YES] \\n    \\nProtects the box and its contents from being overwritten by any subsequent graphics \\nelements by blanking out the area where the box is displayed. The BLANK= option enables \\nyou to overlay graphics elements with boxed text. It is ignored if you omit the BOX= \\noption. Because titles and footnotes are written from the highest numbered to the \\nlowest numbered, the BLANK= option only blanks out titles and footnotes of a lower \\nnumber.\"}},{\"Name\":\"BOX=|BO=\",\"Type\":\"V\",\"Values\":{\"@Value1\":\"1\",\"@Value2\":\"2\",\"@Value3\":\"3\",\"@Value4\":\"4\"},\"ToolTips\":{\"@ToolTip1\":\"A value of 1 produces the thinnest box lines.\",\"@ToolTip2\":\"A value of 2 produces the next thinnest box lines.\",\"@ToolTip3\":\"A value of 3 produces the next thickest box lines.\",\"@ToolTip4\":\"A value of 4 produces the thickest box lines.\"},\"Help\":{\"#cdata\":\"Draws a box around one line of text.\"}},{\"Name\":\"BSPACE=|BS=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[Syntax: BSPACE=box-space<units>] \\n    \\nSpecifies the amount of space between the boxed text and the box. The space above \\nthe text is measured from the font maximum, and the space below the text is measured \\nfrom the font minimum. By default, BSPACE=1. If the BOX= option is not used, the BSPACE= \\noption is ignored.\"}},{\"Name\":\"COLOR=|C=\",\"Type\":\"C\",\"Help\":{\"#cdata\":\"[Syntax: COLOR=color] \\n    \\nSpecifies the color for the following text, box, or line. The COLOR= option affects \\nall text, lines, and boxes that follow it and stays in effect until another COLOR= \\nspecification is encountered.\"}},{\"Name\":\"DRAW=|D=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[Syntax: DRAW=(x,y...,x-n,y-n)<units>] \\n    \\nDraws lines anywhere on the graphics output area using x and y as absolute or \\nrelative coordinates.\"}},{\"Name\":\"FONT=|F=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[Syntax: FONT=font] \\n    \\nSpecifies the font for the subsequent text.\"}},{\"Name\":\"HEIGHT=|H=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[Syntax: HEIGHT=text-height<units>] \\n    \\nSpecifies the height of text characters in number of units. By default, HEIGHT=1. \\nHeight is measured from the font minimum to the capline. Ascenders can extend \\nabove the capline, depending on the font.\"}},{\"Name\":\"JUSTIFY=|J=\",\"Type\":\"V\",\"Values\":{\"@Value1\":\"LEFT\",\"@Value2\":\"CENTER\",\"@Value3\":\"RIGHT\"},\"ToolTips\":{\"@ToolTip1\":\"Justify to the left.\",\"@ToolTip2\":\"Justify to the center.\",\"@ToolTip3\":\"Justify to the right.\"},\"Help\":{\"#cdata\":\"Specifies the alignment of the text string. The default is LEFT.\"}},{\"Name\":\"LANGLE=|LA=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[Syntax: LANGLE=degrees] \\n    \\nSpecifies the angle of the baseline of the entire text string(s) with respect \\nto the horizontal. A positive value for degrees moves the baseline counterclockwise; \\na negative value moves it clockwise. By default, LANGLE=0 (horizontal).\"}},{\"Name\":\"LINK=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[Syntax: LINK= \\\"URL\\\"] \\n    \\nSpecifies a uniform resource locator (URL) that a title or footnote links to. \\nThe text-string that you use to specify the URL can contain occurrences of the \\nvariables #BYVAL, #BYVAR, and #BYLINE.\"}},{\"Name\":\"LSPACE=|LS=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[Syntax: LSPACE=line-space <units>] \\n    \\nSpecifies the amount of spacing above lines of note and title text and the amount \\nof spacing below lines of footnote text.\"}},{\"Name\":\"MOVE=|M=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[Syntax: MOVE=(x,y) <units>] \\n    \\nPositions subsequent text or lines anywhere on the graphics output area using x and y \\nas absolute or relative coordinates.\"}},{\"Name\":\"ROTATE=|R=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[Syntax: ROTATE=degrees] \\n    \\nSpecifies the angle at which each character of text is rotated with respect to the \\nbaseline of the text string. The angle is measured from the current text baseline \\nangle, which is specified by the ANGLE= or LANGLE= options. By default, the baseline \\nis horizontal. A positive value for degrees rotates the character counterclockwise; \\na negative value rotates it clockwise. By default, ROTATE=0 (parallel to the baseline).\"}},{\"Name\":\"UNDERLIN=|U=\",\"Type\":\"V\",\"Values\":{\"@Value1\":\"0\",\"@Value2\":\"1\",\"@Value3\":\"2\",\"@Value4\":\"3\"},\"ToolTips\":{\"@ToolTip1\":\"UNDERLIN=0 halts underlining for subsequent text.\",\"@ToolTip2\":\"Undelines with the thinnest line.\",\"@ToolTip3\":\"Undelines with the next thickest line.\",\"@ToolTip4\":\"Undelines with the thickest line.\"},\"Help\":{\"#cdata\":\"Underlines subsequent text.\"}},{\"Name\":\"WRAP\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Wraps the text to a second line if the text does not fit on one line. If the WRAP \\noption is omitted, the text font-size is reduced until the text fits on one line. \\nWrapping occurs at the last blank before the text meets the end of the window. If \\nthere are no blanks in the text string, then there is no wrapping.\"}}]}}"
  },
  {
    "path": "server/data/Statements/ODS.json",
    "content": "{\"Keywords\":{\"Keyword\":[{\"Name\":\"CHTML\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Produces a compact, minimal HTML that does not use style information.\"}},{\"Name\":\"CSVALL\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Produces output that contains columns of data values that are separated by commas. ODS CSVALL \\nproduces tabular output with titles, notes, and bylines.\"}},{\"Name\":\"DECIMAL_ALIGN\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Aligns values by the decimal point in numeric columns when no justification is specified.\"}},{\"Name\":\"DOCUMENT\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Creates an ODS document.\"}},{\"Name\":\"ESCAPECHAR=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"Defines a representative character to be used in output strings.\"}},{\"Name\":\"EXCLUDE\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Specifies output objects to exclude from ODS destinations.\"}},{\"Name\":\"HTML3\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Opens, manages, or closes the HTML3 destination, which produces HTML 3.2 formatted output.\"}},{\"Name\":\"HTMLCSS\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Produces HTML that is similar to ODS HTML with cascading style sheets.\"}},{\"Name\":\"HTML\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Opens, manages, or closes the HTML destination, which produces HTML 4.0 embedded stylesheets.\"}},{\"Name\":\"IMODE\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Produces HTML that is a column of output, separated by lines.\"}},{\"Name\":\"LISTING\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Opens, manages, or closes the LISTING destination.\"}},{\"Name\":\"MARKUP\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Opens, manages, or closes one or more specified destinations.\"}},{\"Name\":\"OUTPUT\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Creates a SAS data set from an output object and manages the selection and exclusion lists for the \\nOutput destination.\"}},{\"Name\":\"PCL\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Provides portable support for PCL (HP LaserJet) files.\"}},{\"Name\":\"PDF\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Opens, manages, or closes the PDF destination.\"}},{\"Name\":\"PHTML\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Produces a basic HTML that uses twelve style elements and no class attributes.\"}},{\"Name\":\"PRINTER\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Opens, manages, or closes the PRINTER destination.\"}},{\"Name\":\"PROCLABEL\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Enables you to change a procedure label.\"}},{\"Name\":\"PROCTITLE\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Determines whether to suppress the writing of the title that identifies the procedure that produces \\nthe results.\"}},{\"Name\":\"PS\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Opens, manages, or closes the PostScript destination.\"}},{\"Name\":\"RESULTS\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Tracks ODS output in the Results window.\"}},{\"Name\":\"RTF\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Creates SAS output in Rich Text Format for Microsoft Word\"}},{\"Name\":\"SELECT\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Specifies output objects to send to the ODS destinations.\"}},{\"Name\":\"SHOW\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Writes the specified selection or exclusion list to the SAS log.\"}},{\"Name\":\"TRACE\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Writes to the SAS log a record of each output object that is created, or suppresses the writing \\nof this record.\"}},{\"Name\":\"VERIFY\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Writes or suppresses a warning that a style definition or a table definition that is used is not \\nsupplied by SAS.\"}},{\"Name\":\"WML\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Uses the Wireless Application Protocol (WAP) to produce a Wireless Markup Language (WML) DTD with \\na simple href list for a table of contents.\"}},{\"Name\":\"CLOSE\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Closes the destination and any files that are associated with it.\"}},{\"Name\":\"TAGSET=\",\"Type\":\"V\",\"Values\":{\"@Value1\":\"CHTML\",\"@Value2\":\"CORE\",\"@Value3\":\"CSV\",\"@Value4\":\"CSVALL\",\"@Value5\":\"CSVBYLINE\",\"@Value6\":\"DEFAULT\",\"@Value7\":\"DOCBOOK\",\"@Value8\":\"ExcelXP\",\"@Value9\":\"HTML4\",\"@Value10\":\"HTMLCSS\",\"@Value11\":\"HTMLPANEL\",\"@Value12\":\"IMODE\",\"@Value13\":\"MSOFFICE2K\",\"@Value14\":\"MVSHTML\",\"@Value15\":\"PHTML\",\"@Value16\":\"PYX\",\"@Value17\":\"RTF\",\"@Value18\":\"SASREPORT\",\"@Value19\":\"WML\",\"@Value20\":\"WMLOLIST\",\"@Value21\":\"XHTML\",\"@Value22\":\"EVENT_MAP\",\"@Value23\":\"NAMEDHTML\",\"@Value24\":\"SHORT_MAP\",\"@Value25\":\"STYLE_DISPLAY\",\"@Value26\":\"STYLE_POPUP\",\"@Value27\":\"TEXT_MAP\",\"@Value28\":\"TPL_STYLE_LIST\",\"@Value29\":\"TPL_STYLE_MAP\"},\"ToolTips\":{\"@ToolTip1\":\"Produces compact, minimal HTML output that does not use style information.\",\"@ToolTip2\":\"Contains a table of Unicode values and mnemonics.\",\"@ToolTip3\":\"Produces tabular output that contains  columns of data values that are separated by commas.\",\"@ToolTip4\":\"Produces tabular output with titles that contain columns of data values that are separated by commas.\",\"@ToolTip5\":\"Produces output with comma-separated values and columns of data that are separated by commas.\",\"@ToolTip6\":\"Produces XML output.\",\"@ToolTip7\":\"Produces XML output that conforms to the DocBook DTD by OASIS.\",\"@ToolTip8\":\"Produces Microsoft's spreadsheetML XML. This tagset is used to import data into XML.\",\"@ToolTip9\":\"Produces HTML 4.0 embedded style sheets.\",\"@ToolTip10\":\"produces HTML output with cascading style sheets that is similar to ODS HTML output.\",\"@ToolTip11\":\"Creates panels for By-grouped graphs.\",\"@ToolTip12\":\"produces HTML output as a column of output that is separated by lines.\",\"@ToolTip13\":\"Produces HTML code for output generated by ODS for Microsoft Office products.\",\"@ToolTip14\":\"Produces URLs within HTML files that are used in the z/OS operating environment.\",\"@ToolTip15\":\"Produces simple HTML output that uses twelve style elements and no class attributes.\",\"@ToolTip16\":\"Produces PYX, which is a simple, line-oriented notation used by Pyxie to describe the information  communicated by an XML parser to an XML application.\",\"@ToolTip17\":\"Produces measured RTF.\",\"@ToolTip18\":\"Causes imbedded data to be produced in CSV format.\",\"@ToolTip19\":\"Uses the Wireless Application Protocol (WAP) to produce a Wireless Markup Language (WML) DTD with  a list of URLs as a table of contents.\",\"@ToolTip20\":\"Uses the Wireless Application Protocol (WAP) to produce a Wireless Markup Language (WML) DTD with  an option list for the table of contents.\",\"@ToolTip21\":\"Produces output in HTML format.\",\"@ToolTip22\":\"Creates XML output that shows which events are being triggered and which variables are used by an  event to send output from a SAS process to an output file.\",\"@ToolTip23\":\"Creates HTML output similar to STYLE_POPUP, but with all the objects labeled as they are when  using ODS TRACE.\",\"@ToolTip24\":\"Creates a subset of the XML output that is created by the EVENT_MAP tagset.\",\"@ToolTip25\":\"Creates a sample page of HTML output that is similar to STYLE_POPUP output.\",\"@ToolTip26\":\"Creates HTML like HTMLCSS, but if you're using Internet Explorer, STYLE_POPUP displays a window  that shows the resolved ODS style definition for any item that you select.\",\"@ToolTip27\":\"Creates text output that shows which events are being triggered as ODS handles the output objects.\",\"@ToolTip28\":\"Creates HTML output in a bulleted list similar to EVENT_MAP but lists only a subset of the  possible attributes.\",\"@ToolTip29\":\"Creates XML output similar to EVENT_MAP but lists only a subset of the possible attributes.\"},\"Help\":{\"#cdata\":\"Specifies a keyword value for a tagset. A tagset is a template that defines how to create an output \\ntype from a SAS format.\"}},{\"Name\":\"ANCHOR=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[Syntax: ANCHOR='anchor-name'] \\n    \\nSpecifies a unique base name for the anchor tag that identifies each output \\nobject in the current body file.\"}},{\"Name\":\"AUTHOR=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[Syntax: AUTHOR='author-text'] \\n     \\nInserts the text string that you specify as the author into the metadata \\nof a file.\"}},{\"Name\":\"ARCHIVE=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[Syntax: ARCHIVE='string'] \\n    \\nThe ARCHIVE= option is only valid for the GOPTIONS Java device. The ARCHIVE= option \\nallows you to specify a string to identify which applet to use in order to view the \\nODS HTML output.\"}},{\"Name\":\"ATTRIBUTES=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[Syntax: ATTRIBUTES=(attribute-pair-1 ... attribute-pair-n)] \\n     \\nWrites the specified attributes between the tags that generate dynamic graphics output.\"}},{\"Name\":\"BASE=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[Syntax: BASE= 'base-text'] \\n    \\nSpecifies the text to use as the first part of all links and references that ODS \\ncreates in the output files.\"}},{\"Name\":\"BODY=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[Syntax: BODY= 'file-specification' <sub-option(s)>] \\n    \\nOpens a MARKUP family destination and specifies the file that contains the \\nprimary output that is created by the ODS statement.\"}},{\"Name\":\"CHARSET=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[Syntax: CHARSET=character-set] \\n    \\nSpecifies the character set to be generated in the META declaration for the HTML output.\"}},{\"Name\":\"CODE=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[Syntax: CODE= 'file-specification' <sub-option(s)>] \\n    \\nOpens a MARKUP family destination and specifies the file that contains relevant \\nstyle information, such as XSL (Extensible Stylesheet Language).\"}},{\"Name\":\"CODEBASE=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[Syntax: CODEBASE='string'] \\n    \\nCreates a file path that is used by the GOPTIONS devices.\"}},{\"Name\":\"CONTENTS\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Generates a printable table of contents page.\"}},{\"Name\":\"NOCONTENTS\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Does not generate a printable table of contents.\"}},{\"Name\":\"BODYTITLE\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Specifies that SAS titles and footnotes are placed into the body of the document instead of into the \\nheaders and footers section of the document.\"}},{\"Name\":\"BODYTITLE_AUX\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Specifies that SAS titles and footnotes are placed into the body of the document instead of into the \\nheaders and footers section of the document.\"}},{\"Name\":\"CONTENTS=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[Syntax: CONTENTS= 'file-specification' <sub-option(s)>] \\n    \\nOpens a MARKUP family destination and specifies the file that contains \\na table of contents for the output.\"}},{\"Name\":\"COLUMNS=\",\"Type\":\"V\",\"Values\":{\"@Value1\":\"n\",\"@Value2\":\"MAX\"},\"ToolTips\":{\"@ToolTip1\":\"n is the number of page columns. Replace it with an integer value.\",\"@ToolTip2\":\"Specifies the maximum number of 1-inch-wide columns for this paper size and margin setting.  This value is dependent upon the paper size and page orientation. The maximum number is 8.\"},\"Help\":{\"#cdata\":\"Specifies the number of columns to place across each page of output.\"}},{\"Name\":\"ENCODING=\",\"Type\":\"V\",\"Values\":{\"@Value1\":\"'warabic'\",\"@Value2\":\"'wbaltic'\",\"@Value3\":\"'wlatin2'\",\"@Value4\":\"'wcyrillic'\",\"@Value5\":\"'wgreek'\",\"@Value6\":\"'whebrew'\",\"@Value7\":\"'wturkish'\",\"@Value8\":\"'wvietnamese'\",\"@Value9\":\"'wlatin1'\",\"@Value10\":\"'utf-8'\",\"@Value11\":\"'ms-950'\",\"@Value12\":\"'ms-936'\",\"@Value13\":\"'ms-932'\",\"@Value14\":\"'ms-949'\"},\"ToolTips\":{\"@ToolTip1\":\"Arabic\",\"@ToolTip2\":\"Baltic\",\"@ToolTip3\":\"Central Europe\",\"@ToolTip4\":\"Cyrillic\",\"@ToolTip5\":\"Greek\",\"@ToolTip6\":\"Hebrew\",\"@ToolTip7\":\"Turkish\",\"@ToolTip8\":\"Vietnamese\",\"@ToolTip9\":\"Western\",\"@ToolTip10\":\"Unicode encoding\",\"@ToolTip11\":\"Traditional Chinese\",\"@ToolTip12\":\"Simplified Chinese\",\"@ToolTip13\":\"Japanese\",\"@ToolTip14\":\"Korean\"},\"Help\":{\"#cdata\":\"[Syntax: ENCODING='encoding-value'] \\n    \\nSpecifies the encoding to use when SAS is reading from or writing to an external file.\"}},{\"Name\":\"EVENT=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"Syntax: EVENT=event-name (FILE= | FINISH | LABEL= | NAME= | START | STYLE= |TARGET= | TEXT= | URL= )\\n    \\nSpecifies an event and the value for event variables that are associated with the event.\"}},{\"Name\":\"CSSSTYLE=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"Syntax: CSSSTYLE='file-specification'<(media-type-1 <...media-type-10>)> \\n    \\nSpecifies a cascading style sheet to apply to your output.\"}},{\"Name\":\"FILE=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"Specifies an output file destination.\"}},{\"Name\":\"DPI=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"Specifies the image resolution for output files. Default: 150\"}},{\"Name\":\"KEYWORDS=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"Inserts into the output file's metadata, a string of keywords.\"}},{\"Name\":\"HOST\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Specifies that ODS use the printer drivers that the host system provides.\"}},{\"Name\":\"FINISH\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Triggers the finish section of an event.\"}},{\"Name\":\"LABEL=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[Syntax: LABEL='variable-value'] \\n    \\nSpecifies the value for the LABEL event variable.\"}},{\"Name\":\"NAME=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[Syntax: NAME='variable-value'] \\n    \\nSpecifies the value for the NAME event variable.\"}},{\"Name\":\"START\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Triggers the start section of an event.\"}},{\"Name\":\"SASDATE\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Writes the time and the date that you started your SAS session.\"}},{\"Name\":\"STYLE=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"Specifies a style element or style definition.\"}},{\"Name\":\"STARTPAGE=\",\"Type\":\"V\",\"Values\":{\"@Value1\":\"YES\",\"@Value2\":\"NO\",\"@Value3\":\"NOW\",\"@Value4\":\"NEVER\"},\"ToolTips\":{\"@ToolTip1\":\"Inserts a new page at the start of each procedure and within certain procedures, as is requested by  the procedure code.\",\"@ToolTip2\":\"Instructs ODS not to insert any new pages at the start of each procedure or within certain procedures,  even if the procedure code requests new pages.\",\"@ToolTip3\":\"Forces the immediate insertion of a new page.\",\"@ToolTip4\":\"Specifies not to insert page breaks, even before graphics procedures.\"},\"Help\":{\"#cdata\":\"Controls page breaks.\"}},{\"Name\":\"TARGET=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[Syntax: TARGET='variable-value'] \\n    \\nSpecifies the value for the TARGET event variable.\"}},{\"Name\":\"TEXT=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[Syntax: TEXT='variable-value'] \\n    \\nSpecifies the value for the TEXT event variable.\"}},{\"Name\":\"URL=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"Specifies a URL address variable.\"}},{\"Name\":\"FRAME=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"Syntax: FRAME='file-specification' <sub-option(s)> \\n    \\nOpens a MARKUP family destination and, for HTML output, specifies the file that integrates the table \\nof contents, the page contents, and the body file.\"}},{\"Name\":\"GFOOTNOTE\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Prints footnotes that are created by SAS/GRAPH, which appear inside the graph borders.\"}},{\"Name\":\"NOGFOOTNOTE\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Prints footnotes that are created by ODS, which will appear outside the graph borders.\"}},{\"Name\":\"KEEPN\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"ODS allows table splits only if the entire table cannot fit on one page.\"}},{\"Name\":\"NOKEEPN\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"ODS lets a table split at a page break.\"}},{\"Name\":\"NOTOC_DATA\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Instructs ODS not to insert contents data into the RTF file.\"}},{\"Name\":\"TOC_DATA\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Instructs ODS to insert contents data into the RTF file.\"}},{\"Name\":\"IMAGE_DPI=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"Specifies the image resolution for graphical output. Default: 100\"}},{\"Name\":\"GPATH=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"Syntax: GPATH= file-specification <(url='Uniform-Resource-Locator' | NONE)> \\n   \\nSpecifies the location for all graphics output that is generated while the destination is open. \"}},{\"Name\":\"GTITLE\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Prints the title that is created by SAS/GRAPH, the SGPLOT procedure, the SGPANEL procedure, or the \\nSGSCATTER procedure. The title appears inside the graph borders.\"}},{\"Name\":\"NOGTITLE\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Prints the title that is created by ODS, which will appear outside the graph borders.\"}},{\"Name\":\"HEADTEXT=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"Specifies tags to place between the <HEAD> and </HEAD> tags in all the files that the destination writes to.\"}},{\"Name\":\"ID=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[Syntax: (ID=identifier)] \\n   \\nEnables you to run multiple instances of the same destination at the same time. Each \\ninstance can have different options.\"}},{\"Name\":\"FONTSCALE=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[Syntax: FONTSCALE=percent] \\n    \\nSpecifies a scaling factor to apply to all of the font sizes that do not have \\nan explicit unit of measure.\"}},{\"Name\":\"METATEXT=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"Specifies HTML code to use as the <META> tag between the <HEAD> and </HEAD> tags of all \\nthe HTML files that the destination writes to.\"}},{\"Name\":\"NEWFILE=\",\"Type\":\"V\",\"Values\":{\"@Value1\":\"BYGROUP\",\"@Value2\":\"NONE\",\"@Value3\":\"OUTPUT\",\"@Value4\":\"PAGE\",\"@Value5\":\"PROC\"},\"ToolTips\":{\"@ToolTip1\":\"Starts a new file for the results of each BY group.\",\"@ToolTip2\":\"Writes all output to the body file that is currently open.\",\"@ToolTip3\":\"Starts a new body file for each output object.\",\"@ToolTip4\":\"Starts a new body file for each page of output.\",\"@ToolTip5\":\"Starts a new body file each time that you start a new procedure.\"},\"Help\":{\"#cdata\":\"Syntax: NEWFILE=BYGROUP|NONE|OUTPUT|PAGE|PROC] \\n    \\nCreates a new body file at the specified starting-point.\"}},{\"Name\":\"PAGE=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"Opens a destination and specifies the file that contains a description of each page of the body \\nfile, and contains links to the body file.\"}},{\"Name\":\"PARAMETERS=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[Syntax: PARAMETERS=(parameter-pair-1 ... parameter-pair-n)] \\n    \\nWrites the specified parameters between the tags that generate dynamic graphics output.\"}},{\"Name\":\"PATH=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"Syntax: PATH= file-specification (URL= 'Uniform-Resource-Locator' | NONE) \\n   \\nSpecifies the location of an external file or a SAS catalog for all markup files.\"}},{\"Name\":\"OPERATOR=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[Syntax: ] Inserts the text you specify into the metadata section of the file.\"}},{\"Name\":\"RECORD_SEPARATOR=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"Syntax: RECORD_SEPARATOR= 'alternative-separator' | NONE \\n    \\nSpecifies an alternative character or string that separates lines in the output files.\"}},{\"Name\":\"STYLESHEET=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"Syntax: STYLESHEET= 'file-specification' <sub-option(s)> \\n    \\nOpens a destination and places the style information for output into an external file, or reads \\nstylesheet information from an existing file.\"}},{\"Name\":\"CSVBYLINE\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Produces output with comma-separated values and columns of data that are separated by commas.\"}},{\"Name\":\"CSV\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Produces tabular output that contains columns of data values that are separated by commas.\"}},{\"Name\":\"XML\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Produces XML output.\"}},{\"Name\":\"DOCBOOK\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Opens, manages, or closes the DOCBOOK destination, which produces XML output that conforms to the \\nDocBook DTD by OASIS.\"}},{\"Name\":\"EVENT_MAP\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Creates XML output that shows which events are being triggered and which variables are used by an \\nevent to send output from a SAS process to an output file.\"}},{\"Name\":\"HTML4\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Produces HTML 4.0 embedded stylesheets.\"}},{\"Name\":\"LATEX\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Produces LaTeX, which is a document preparation system for high-quality typesetting.\"}},{\"Name\":\"MSOFFICE_HTML\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Produces HTML code for output generated by ODS for Microsoft Office products.\"}},{\"Name\":\"MVSHTML\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Produces URLs within HTML files that are used in the z/OS operating environment.\"}},{\"Name\":\"NAMEDHTML\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Creates PROC TEMPLATE code for the STYLESHEET= option.\"}},{\"Name\":\"ODSSTYLE\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Creates PROC TEMPLATE code for the STYLESHEET= option.\"}},{\"Name\":\"ODSXRPCS\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Produces an ODS XML remote program command stream.\"}},{\"Name\":\"PYX\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Produces PYX, which is a simple, line-oriented notation used by Pyxie to describe the information \\ncommunicated by an XML parser to an XML application. Pyxie is an Open Source library for processing \\nXML with the Python programming language.\"}},{\"Name\":\"SASFMT\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Produces format markup tags that you create for the XML engine.\"}},{\"Name\":\"SASXMISS\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Produces alternate missing-value markup tags for the XML engine.\"}},{\"Name\":\"SASXMNSP\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Produces alternate \\\"no space in text\\\" value markup for the XML engine.\"}},{\"Name\":\"SASXMOG\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Produce generic XML code that is similar to the Oracle8iXML implementation used by ORACLE.\"}},{\"Name\":\"SASXMOH\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Produces very simple HTML output.\"}},{\"Name\":\"SASXMOIM\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Produces XML code that is supported by the Open Information Model (Database Schema Model) proposed \\nby the Metadata Coalition (MDC) as vendor- and technology-independent, conforming to the XML 1.0 \\nspecification.\"}},{\"Name\":\"SASXMOR\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Produces XML that is equivalent to the Oracle8iXML implementation, which is used by ORACLE.\"}},{\"Name\":\"SHORT_MAP\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Creates a subset of the XML output that is created by the EVENT_MAP tagset.\"}},{\"Name\":\"STATGRAPH\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Produces markup for statistical graphs that are generated by SAS procedures.\"}},{\"Name\":\"STYLE_DISPLAY\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Creates a sample page of HTML output that is similar to STYLE_POPUP output. The output helps you to \\ncreate and modify styles.\"}},{\"Name\":\"STYLE_POPUP\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Creates HTML like HTMLCSS, but if you're using Internet Explorer, STYLE_POPUP displays a window that \\nshows the resolved ODS style definition for any item that you select.\"}},{\"Name\":\"TEXT_MAP\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Creates text output that shows which events are being triggered as ODS handles the output objects.\"}},{\"Name\":\"TPL_STYLE_LIST\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Creates HTML output in a bulleted list similar to EVENT_MAP but lists only a subset of the \\npossible attributes.\"}},{\"Name\":\"TROFF\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Produces Troff code, which is a text-formatting language used for high-quality photo typesetters \\nand laser printers.\"}},{\"Name\":\"WMLOLIST\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Uses the Wireless Application Protocol (WAP) to produce a Wireless Markup Language (WML) DTD with an \\noption list for the table of contents. For more information, see Wireless Application Protocol.\"}},{\"Name\":\"TRANTAB=\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Specifies the translation table to use when transcoding a file for output.\"}},{\"Name\":\"NO_BOTTOM_MATTER\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Specifies that no ending markup language source code be added to the output file\"}},{\"Name\":\"NO_TOP_MATTER\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Specifies that no beginning markup language source code be added to the top of the output file.\"}},{\"Name\":\"TITLE=\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Inserts into the metadata of a file, the text string that you specify as the text to appear in the \\ntitle bar of the browser window.\"}},{\"Name\":\"DYNAMIC\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Enables you to send output directly to a web server instead of writing it to a file.\"}},{\"Name\":\"GRAPHICS\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Enables or disables ODS graphics processing and sets graphics environment options. This statement \\naffects ODS template-based graphics only.\"}},{\"Name\":\"OFF\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Disables an option or statement.\"}},{\"Name\":\"YES\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Enables ODS Graphics processing. This is the default if no argument is used.\"}},{\"Name\":\"ANTIALIAS\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Smooths jagged edges of all components in the graph.\"}},{\"Name\":\"NOANTIALIAS\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Does not smooth jagged edges of components other than text in the graph.\"}},{\"Name\":\"ANTIALIAS=\",\"Type\":\"V\",\"Values\":{\"@Value1\":\"OFF\",\"@Value2\":\"ON\"},\"ToolTips\":{\"@ToolTip1\":\"Does not smooth jagged edges of components other than text in the graph.\",\"@ToolTip2\":\"Smooths jagged edges of all components in the graph.\"},\"Help\":{\"#cdata\":\"Specifies whether anti-aliasing is applied to the rendering of the line and markers in any graph.\"}},{\"Name\":\"ANTIALIASMAX=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"Specifies the maximum number of markers or lines to be anti-aliased before anti-aliasing is disabled. \\nDefault: 1000\"}},{\"Name\":\"BORDER\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Specifies to draw a border around the graph.\"}},{\"Name\":\"NOBORDER\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Specifies not to draw a border around the graph.\"}},{\"Name\":\"BORDER=\",\"Type\":\"V\",\"Values\":{\"@Value1\":\"OFF\",\"@Value2\":\"ON\"},\"ToolTips\":{\"@ToolTip1\":\"Specifies not to draw a border around the graph.\",\"@ToolTip2\":\"Specifies to draw a border around the graph.\"},\"Help\":{\"#cdata\":\"Specifies whether to draw a border around the graph.\"}},{\"Name\":\"DISCRETEMAX=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"Specifies the maximum number of discrete values to be shown in any graph. Default: 1000\"}},{\"Name\":\"DATAPANEL=\",\"Type\":\"V\",\"Values\":{\"@Value1\":\"<number>\",\"@Value2\":\"DATA\",\"@Value3\":\"PAGE\"},\"ToolTips\":{\"@ToolTip1\":\"Writes the specified number of observations in a panel, if possible. More than one panel can occur on  every page if space permits.   Range: 1 to the largest integer that the operating system supports.\",\"@ToolTip2\":\"Bases the size of the panel on the way that the table is stored in memory. This value provides the  fastest performance. However, if the table contains many columns, the number of rows in each panel  might be small.\",\"@ToolTip3\":\"Tries to make panels that match the page size. If the table contains more columns than can fit on a  page, the first page is filled with as many observations as possible for as many columns as can fit  on a single line. The second page contains the same observations for the next group of columns, and  so on, until all rows and columns have been printed.\"},\"Help\":{\"#cdata\":\"Suggests how to split a table that is too wide to fit on a single page into sections of columns and rows. \\nEach section of columns and rows is a data panel. Each data panel has column headings at the top.\"}},{\"Name\":\"DEVICE=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"Specifies the name of a device driver. ODS automatically selects an optimal default device for each \\nopen output destination.\"}},{\"Name\":\"GROUPMAX=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"Specifies the maximum number of group values to be shown in any graph. Any graph that supports the \\nGROUP= option is affected. Default: 1000\"}},{\"Name\":\"HEIGHT=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"Specifies the height of any graph.\"}},{\"Name\":\"IMAGEFMT=\",\"Type\":\"V\",\"Values\":{\"@Value1\":\"BMP\",\"@Value2\":\"DIB\",\"@Value3\":\"EMF\",\"@Value4\":\"EPSI\",\"@Value5\":\"GIF\",\"@Value6\":\"JFIF\",\"@Value7\":\"JPEG\",\"@Value8\":\"PBM\",\"@Value9\":\"PDF\",\"@Value10\":\"PNG\",\"@Value11\":\"PS\",\"@Value12\":\"SASEMF\",\"@Value13\":\"TIFF\",\"@Value14\":\"WMF\",\"@Value15\":\"STATIC\"},\"ToolTips\":{\"@ToolTip1\":\"Microsoft Windows Device Independent Bitmap\",\"@ToolTip2\":\"Microsoft Windows Device Independent Bitmap\",\"@ToolTip3\":\"Microsoft NT Enhanced Metafile\",\"@ToolTip4\":\"Microsoft NT Enhanced Metafile\",\"@ToolTip5\":\"Graphics Interchange Format\",\"@ToolTip6\":\"JPEG File Interchange Format\",\"@ToolTip7\":\"Joint Photographic Experts Group\",\"@ToolTip8\":\"Portable Bitmap Utilities\",\"@ToolTip9\":\"Portable Document Format\",\"@ToolTip10\":\"Portable Network Graphic\",\"@ToolTip11\":\"PostScript Image File Format\",\"@ToolTip12\":\"Enhanced Metafile\",\"@ToolTip13\":\"Tagged Image File Format\",\"@ToolTip14\":\"Microsoft Windows Metafile\",\"@ToolTip15\":\"Uses the best quality static image format for the active output destination. This is the default.\"},\"Help\":{\"#cdata\":\"[Syntax: IMAGEFMT=image-file-type | STATIC] \\n    \\nSpecifies the image format to be used. If the image format is not valid for the active \\noutput destination, the format is automatically changed to the \\ndefault image format for that destination.\"}},{\"Name\":\"IMAGEMAP\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Specifies to generate data tips.\"}},{\"Name\":\"NOIMAGEMAP\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Specifies not to generate data tips.\"}},{\"Name\":\"IMAGEMAP=\",\"Type\":\"V\",\"Values\":{\"@Value1\":\"OFF\",\"@Value2\":\"ON\"},\"ToolTips\":{\"@ToolTip1\":\"Specifies not to generate data tips.\",\"@ToolTip2\":\"Specifies to generate data tips.\"},\"Help\":{\"#cdata\":\"Specifies to generate data tips.\"}},{\"Name\":\"IMAGENAME=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"Specifies the base image filename.\"}},{\"Name\":\"LABELMAX=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"Specifies the maximum number of labeled areas before labeling is disabled. Default: 200\"}},{\"Name\":\"MAXLEGENDAREA=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"Specifies an integer that is interpreted as the maximum percentage of the overall graphics area that \\na legend can occupy. Default: 20\"}},{\"Name\":\"PANELCELLMAX=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"Specifies the maximum number of cells in a graph panel where the number of cells is determined \\ndynamically by classification variables. Default: 10000\"}},{\"Name\":\"RESET\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Resets all of the options to their defaults.\"}},{\"Name\":\"RESET=\",\"Type\":\"V\",\"Values\":{\"@Value1\":\"ALL\",\"@Value2\":\"ANTIALIAS\",\"@Value3\":\"ANTIALIASMAX\",\"@Value4\":\"BORDER\",\"@Value5\":\"INDEX\",\"@Value6\":\"HEIGHT\",\"@Value7\":\"IMAGEMAP\",\"@Value8\":\"LABELMAX\",\"@Value9\":\"SCALE\",\"@Value10\":\"TIPMAX\",\"@Value11\":\"WIDTH\"},\"ToolTips\":{\"@ToolTip1\":\"Resets all of the reset-options to their defaults.\",\"@ToolTip2\":\"Resets the ANTIALIAS option to its default.\",\"@ToolTip3\":\"Resets the ANTIALIASMAX option to its default.\",\"@ToolTip4\":\"Resets the BORDER= option to its default.\",\"@ToolTip5\":\"Resets the index counter that is appended to static image files.\",\"@ToolTip6\":\"Resets the HEIGHT= option to its default.\",\"@ToolTip7\":\"Resets the IMAGEMAP= option to its default.\",\"@ToolTip8\":\"Resets the LABELMAX= option to its default.\",\"@ToolTip9\":\"Resets the SCALE= option to its default.\",\"@ToolTip10\":\"Resets the TIPMAX= option to its default.\",\"@ToolTip11\":\"Resets the WIDTH= option to its default.\"},\"Help\":{\"#cdata\":\"Resets the specified option to its default value.\"}},{\"Name\":\"SCALE=\",\"Type\":\"V\",\"Values\":{\"@Value1\":\"OFF\",\"@Value2\":\"ON\"},\"ToolTips\":{\"@ToolTip1\":\"Does not scale the components of graph proportionally.\",\"@ToolTip2\":\"Scales the components of graph proportionally.\"},\"Help\":{\"#cdata\":\"Specifies the width of any graph. Requires a nonnegative number.\"}},{\"Name\":\"SGE=\",\"Type\":\"V\",\"Values\":{\"@Value1\":\"ON\",\"@Value2\":\"OFF\"},\"ToolTips\":{\"@ToolTip1\":\"Turns on the ability to edit ODS graphics output with the ODS Graphics Editor.\",\"@ToolTip2\":\"Turns off the ability to edit ODS graphics output with the ODS Graphics Editor.\"},\"Help\":{\"#cdata\":\"Determines whether you can edit ODS graphics output with the ODS Graphics Editor. Default: OFF\"}},{\"Name\":\"TIPMAX=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"Specifies the maximum number of distinct mouse-over areas allowed before data tips are disabled. \\nDefault: 500\"}},{\"Name\":\"WIDTH=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"Specifies the width of any graph. Requires a nonnegative number.\"}},{\"Name\":\"ON\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Enables an option or statement.\"}},{\"Name\":\"USEGOPT\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Specifies that ODS use traditional SAS/GRAPH option settings for non-graphical output.\"}},{\"Name\":\"NOUSEGOPT\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Specifies that ODS not use traditional SAS/GRAPH option settings for non-graphical output.\"}},{\"Name\":\"BOOKMARKLIST=\",\"Type\":\"V\",\"Values\":{\"@Value1\":\"HIDE\",\"@Value2\":\"NONE\",\"@Value3\":\"SHOW\"},\"ToolTips\":{\"@ToolTip1\":\"Generates a list of bookmarks for your PDF file. The bookmarks are not automatically displayed when  you open the PDF file.\",\"@ToolTip2\":\"Specifies not to generate a list of bookmarks for your PDF file.\",\"@ToolTip3\":\"Generates a list of bookmarks for your PDF file. The bookmarks are automatically displayed when you  open the PDF file.\"},\"Help\":{\"#cdata\":\"Specifies whether to generate and display the list of bookmarks for a PDF file.\"}},{\"Name\":\"BOOKMARKGEN\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Specifies to generate bookmarks in the PDF file.\"}},{\"Name\":\"NOBOOKMARKGEN\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Specifies not to generate bookmarks in the PDF file.\"}},{\"Name\":\"COLOR=\",\"Type\":\"V\",\"Values\":{\"@Value1\":\"FULL\",\"@Value2\":\"GRAY\",\"@Value3\":\"MONO\",\"@Value4\":\"NO\",\"@Value5\":\"YES\"},\"ToolTips\":{\"@ToolTip1\":\"Creates full color output for both text and graphics.\",\"@ToolTip2\":\"Creates gray scale output for both text and graphics.\",\"@ToolTip3\":\"Creates monochromatic output for both text and graphics.\",\"@ToolTip4\":\"Does not use all the color information that the style definition provides.\",\"@ToolTip5\":\"Uses all the color information that a style definition provides, including background color.\"},\"Help\":{\"#cdata\":\"Applies the specified color scheme to your output.\"}},{\"Name\":\"COMPRESS=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"Controls the compression of a PDF file. Compression reduces the size of the file.\"}},{\"Name\":\"NOTOC\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Specifies that ODS omit the table of contents (Bookmark list) that is produced by default when \\nproducing PDF or PDFMARK output.\"}},{\"Name\":\"PACKAGE\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"[Syntax: PACKAGE <package-name>] \\n    \\nSpecifies that the output from the destination be added to a package.\"}},{\"Name\":\"PDFMARK\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Enables ODS to insert special tags into a PostScript file.\"}},{\"Name\":\"PDFNOTE\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Adds notes to a PDF file for items that are associated with the FLYOVER= style attribute.\"}},{\"Name\":\"NOPDFNOTE\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Modifies the behavior of PDFMARK so that notes are not added to the file for items that are \\nassociated with the FLYOVER= style attribute.\"}},{\"Name\":\"PDFTOC=\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Controls the level of the expansion of the table of contents in PDF documents.\"}},{\"Name\":\"SUBJECT=\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Inserts into the metadata of a file the text string that you specify as the subject.\"}},{\"Name\":\"UNIFORM\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"For multiple page tables, ensures uniformity from page to page within a single table.\"}},{\"Name\":\"TAGSETS.RTF\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Opens, manages, or closes the RTF destination, which produces measured output that is written in \\nRich Text Format for use with Microsoft Word 2002.\"}}],\"#text\":\"-->\\n  \"}}"
  },
  {
    "path": "server/data/Statements/OPTIONS.json",
    "content": "{\"Keywords\":{\"Keyword\":[{\"Name\":\"ANIMATION=|ANIMATE=\",\"Type\":\"V\",\"Values\":{\"@Value1\":\"START\",\"@Value2\":\"STOP\"},\"ToolTips\":{\"@ToolTip1\":\"Specifies to begin creating animation frames.\",\"@ToolTip2\":\"Specifies to stop creating animation frames.\"},\"Help\":{\"#cdata\":\"[Syntax: ANIMATION=START | STOP \\n    \\nSpecifies whether to start or stop creating animation frames.\\n\\nSyntax Description:\\nSTART\\n  specifies to begin creating animation frames.\\nSTOP\\n  specifies to stop creating animation frames.\\n\\nTip: Specify ANIMATION=STOP after you have created the frames for your animation file. \\nIf ANIMATION=START remains specified, you might unintentionally create an animation file \\nfor subsequent procedure statements.\"}},{\"Name\":\"ANIMDURATION=\",\"Type\":\"V\",\"Values\":{\"@Value1\":\"<duration>\",\"@Value2\":\"MIN\"},\"ToolTips\":{\"@ToolTip1\":\"Specifies to begin creating animation frames.\",\"@ToolTip2\":\"Specifies to stop creating animation frames.\"},\"Help\":{\"#cdata\":\"[Syntax: ANIMDURATION=duration | MIN \\n    \\nSpecifies the amount of time that each frame in the animation is held in view. \\n\\nSyntax Description:\\nduration\\n  specifies the number of seconds to hold an animation frame in view. The number can be any \\n  numeric representation (for example, .01, 5, 6.5).\\n\\n  Defaults:\\n    0 for GIF frames\\n    0.1 for SVG pages\\n  \\nMIN\\n  specifies to set the minimum amount of time that a frame is held in view.\\n  Default: 0.1\"}},{\"Name\":\"ANIMLOOP=\",\"Type\":\"V\",\"Values\":{\"@Value1\":\"YES\",\"@Value2\":\"NO\",\"@Value3\":\"<n>\"},\"ToolTips\":{\"@ToolTip1\":\"Specifies that animation loops continuously repeat.\",\"@ToolTip2\":\"Specifies that animation loops complete one loop.\",\"@ToolTip3\":\"Specifies the number of times that an animation loop is continuously repeated. The number must be an integer.     Range: 1\\u20132147483647\"},\"Help\":{\"#cdata\":\"[Syntax: ANIMLOOP=YES | NO | n\\n    \\nSpecifies whether the animation loop is played continuously or is played once, or specifies \\na specific number of times that the animation loop is repeated. \\n\\nSyntax Description:\\n  YES\\n    specifies that animation loops continuously repeat.\\n  NO\\n    specifies that animation loops complete one loop. \\n  n\\n    specifies the number of times that an animation loop is continuously repeated. The number must be an integer.\\n    Range: 1\\u20132147483647\"}},{\"Name\":\"ANIMOVERLAY\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Specifies that each frame in an animation overlays the previous frame. All frames remain in view for \\nthe duration of the animation.\"}},{\"Name\":\"NOANIMOVERLAY\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Specifies that each frame is played sequentially. When a frame is played, it replaces the \\nprevious frame.\"}},{\"Name\":\"EMAILAUTHPROTOCOL=\",\"Type\":\"V\",\"Values\":{\"@Value1\":\"LOGIN\",\"@Value2\":\"NONE\",\"@Value3\":\"PLAIN\"},\"ToolTips\":{\"@ToolTip1\":\"Specifies that the LOGIN authentication protocol is used.\",\"@ToolTip2\":\"Specifies that no authentication protocol is used.\",\"@ToolTip3\":\"Specifies that the PLAIN authentication protocol is used. The PLAIN authentication protocol encodes  the user ID and password in BASE64 and encodes them as one string.  Note: When you specify PLAIN, you might also need to specify EMAILID and EMAILPW. If you omit  EMAILID, SAS looks up your user ID and uses it. If you omit EMAILPW, no password is used.\"},\"Help\":{\"#cdata\":\"[Syntax: EMAILAUTHPROTOCOL=LOGIN | NONE | PLAIN] \\n    \\nSpecifies the authentication protocol for SMTP E-mail.\"}},{\"Name\":\"EMAILHOST=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[Syntax: EMAILHOST=server | (server) | \\\"server\\\" \\n    EMAILHOST=('server-1' <options> <'server-2'> <options > \\u2026)] \\n    \\nSpecifies the Simple Mail Transfer Protocol (SMTP) server that supports e-mail \\naccess. \\n\\nSyntax Description: \\nserver\\n  specifies one or more Simple Mail Transfer Protocol (SMTP) server domain names for your site.\\n  Range: The maximum number of characters that can be specified for SMTP servers is 1,024.\\n\\n  Requirement: When more than one server name is specified, the list must be enclosed in parentheses \\n  and each server name must be enclosed in single or double quotation marks.\\n  Note: The system administrator for your site provides this information. \\n  \\noptions\\n  specifies options that are available when you use secure SMTP servers. The following are valid \\n  values for options.\\n    AUTH=|AUTHPROTOCOL=authentication\\n      specifies the authentication protocol. The following are valid values for auth.\\n      LOGIN\\n        specifies that the LOGIN authentication protocol is used. \\n      PLAIN \\n        specifies that the PLAIN authentication protocol is used.\\n    PWD=|PASSWORD=|PW=password\\n      specifies an e-mail logon password. \\n    PORT=port-number\\n      specifies a port number for the SMTP server. \\n    SSL | STARTTLS\\n      specifies either the Secure Sockets Layer (SSL) or Transport Layer Security \\n    USERID=|ID=username\\n      specifies the user name that is used to log on to the server.\"}},{\"Name\":\"EMAILID=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"Syntax: EMAILID=loginid | profile | emailaddress \\n\\nSpecifies the identity of the individual sending e-mail from within SAS.\"}},{\"Name\":\"EMAILFROM\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Specifies that the FROM e-mail option is required when sending e-mail by using \\neither the FILE or FILENAME statements.\"}},{\"Name\":\"NOEMAILFROM\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Specifies that the FROM e-mail option is not required when sending e-mail by using \\neither the FILE or FILENAME statements.\"}},{\"Name\":\"EMAILPORT\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Syntax: EMAILPORT <portnumber>\\n\\nSpecifies the port to which the Simple Mail Transfer Protocol (SMTP) server is attached.\"}},{\"Name\":\"EMAILPW=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[Syntax: EMAILPW=\\\"password\\\"] \\n    \\nSpecifies your e-mail login password.\"}},{\"Name\":\"EMAILSYS=\",\"Type\":\"V\",\"Values\":{\"@Value1\":\"MAPI\",\"@Value2\":\"VIM\",\"@Value3\":\"SMTP\"},\"ToolTips\":{\"@ToolTip1\":\"Specifies to use the Messaging Application Programming Interface (MAPI) electronic mail interface. This value is the default.\",\"@ToolTip2\":\"Specifies to use the Vendor Independent Mail (VIM) electronic mail interface.\",\"@ToolTip3\":\"Specifies to use the Simple Mail Transfer Protocol email interface. \"},\"Help\":{\"#cdata\":\"[Syntax: EMAILSYS= MAPI | VIM | SMTP] \\n    \\nSpecifies the email protocol to use for sending electronic mail.\"}},{\"Name\":\"METACONNECT=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"Identifies the named connection from the metadata user profiles to use as the default \\nvalues for logging in to the SAS Metadata Server.\\n    \\nSyntax: METACONNECT=\\\"named-connection\\\"\\n    \\nwhere:\\n\\n\\\"named-connection\\\" is a named connection that is contained in the metadata user profiles.\"}},{\"Name\":\"METAPASS=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[Syntax: METAPASS=password] \\n    \\nSets the default password for the SAS Metadata Server.\"}},{\"Name\":\"METAPORT=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[Syntax: METAPORT=number] \\n    \\nSets the TCP port for the SAS Metadata Server.\"}},{\"Name\":\"METAPROTOCOL=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[Syntax: METAPROTOCOL=BRIDGE | COM]\\n\\nSets the network protocol for communicating with the SAS Metadata Server.\"}},{\"Name\":\"METAREPOSITORY=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[Syntax: METAREPOSITORY=name] \\n    \\nSets the name of the default SAS Metadata Repository to use on the SAS Metadata Server.\"}},{\"Name\":\"METASERVER=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[Syntax: METASERVER=IP-address] \\n    \\nSets the internet protocol (IP) address of the SAS Metadata Server.\"}},{\"Name\":\"METASPN=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[Syntax: METASPN=SPN-name]\\n   \\nSpecifies the service principal name (SPN) for the SAS Metadata Server.\\n\\nSyntax Description:\\nSPN-name \\n  is the SPN for the principal that runs the metadata server. The maximum length is 256 characters. \\n  The following formats are supported for SPN-name: \\n  \\n    SAS/machine-name or SAS/machine-name.company.com. \\n    \\u201cSAS\\u201d is the name of the service and represents the service type.\"}},{\"Name\":\"METAUSER=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[Syntax: METAUSER=id] \\n   \\nSets the default user identification for logging onto the SAS Metadata Server.\"}},{\"Name\":\"AUTOSAVELOC=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"Syntax: AUTOSAVELOC=\\\"destination\\\"\\n\\nSpecifies the location (pathname) of the Program Editor autosave file. If destination \\ncontains spaces or is specified in an OPTIONS statement, then enclose destination in \\nquotation marks.\"}},{\"Name\":\"CHARCODE\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Allows certain character combinations to be substituted for special characters that \\nmay not be on your keyboard.\"}},{\"Name\":\"NOCHARCODE\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Does not allow substitutions for certain keyboard characters.\"}},{\"Name\":\"FONTSLOC=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"Syntax: FONTSLOC=\\\"location\\\"\\n\\nSpecifies the location that contains the SAS fonts that are loaded by some Universal \\nPrinter drivers.\"}},{\"Name\":\"FORMS=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[Syntax: FORMS=form-name]\\n\\nSpecifies the default form that is used for windowing output.\"}},{\"Name\":\"BYERR\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Specifies that SAS generates an error message and sets the error flag when a _NULL_ \\ndata set is used in the SORT procedure, or if no BY statement or BY variable is \\nspecified.\"}},{\"Name\":\"NOBYERR\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Specifies that SAS ignore the error message and continue processing if the SORT \\nprocedure attempts to sort a _NULL_ data set or if no BY statement or BY variable \\nis specified.\"}},{\"Name\":\"CLEANUP\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Specifies that during the entire session, SAS attempts to perform automatic, continuous \\nclean-up of resources that are not essential for execution.\"}},{\"Name\":\"NOCLEANUP\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Specifies that SAS allow the user to choose how to handle an out-of-resource condition.\"}},{\"Name\":\"DMSSYNCHK\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Enables syntax check mode for multiple steps in the SAS windowing and Explorer environments.\"}},{\"Name\":\"NODMSSYNCHK\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Does not enable syntax check mode for statements that are submitted within the windowing and \\nExplorer environments.\"}},{\"Name\":\"DSNFERR\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Specifies that SAS issue an error message and stop processing if a reference is made to a SAS data \\nset that does not exist.\"}},{\"Name\":\"NODSNFERR\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Specifies that SAS ignore the error message LINESIZE=and continue processing if a reference is made to a \\nSAS data set that does not exist. The data set reference is treated as if _NULL_ had been specified.\"}},{\"Name\":\"ERRORABEND|ERRABEND\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Specifies that SAS abend for most errors (including syntax errors) that would normally cause it to issue\\nan error message, set OBS=0, and go into syntax-check mode (in batch mode only).\"}},{\"Name\":\"NOERRORABEND|NOERRABEND\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Specifies that SAS handle errors normally, that is, issue an error message, set OBS=0,\\nand go into syntax-check mode (in batch mode only).\"}},{\"Name\":\"ERRORBYABEND\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Specifies that SAS terminate BY-group error conditions that would normally cause it to issue an error message.\"}},{\"Name\":\"NOERRORBYABEND\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Specifies that SAS handle BY-group errors normally, that is, by issuing an error message and continuing processing.\"}},{\"Name\":\"ERRORCHECK=\",\"Type\":\"V\",\"Values\":{\"@Value1\":\"NORMAL\",\"@Value2\":\"STRICT\"},\"ToolTips\":{\"@ToolTip1\":\"Specifies not to place the SAS program into syntax-check mode when an error occurs in a LIBNAME  or FILENAME statement, or in a LOCK statement in SAS/SHARE software. In addition, the program  or session does not terminate when a %INCLUDE statement fails due to a non-existent file.\",\"@ToolTip2\":\"Specifies to place the SAS program into syntax-check mode when an error occurs in a LIBNAME or  FILENAME statement, or in a LOCK statement in SAS/SHARE software. If the ERRORABEND system  option is set and an error occurs in either a LIBNAME or FILENAME statement, SAS terminates.  In addition, SAS terminates when a %INCLUDE statement fails due to a non-existent file.\"},\"Help\":{\"#cdata\":\"[Syntax: ERRORCHECK=NORMAL | STRICT] \\n    \\nControls error handling.\"}},{\"Name\":\"ERRORS=\",\"Type\":\"V\",\"Values\":{\"@Value1\":\"n\",\"@Value2\":\"nK\",\"@Value3\":\"nM\",\"@Value4\":\"nG\",\"@Value5\":\"nT\",\"@Value6\":\"hexX\",\"@Value7\":\"MIN\",\"@Value8\":\"MAX\"},\"ToolTips\":{\"@ToolTip1\":\"Specifies the number of observations for which SAS issues error messages in multiples of 1 (bytes).  Replace n with an integer value.\",\"@ToolTip2\":\"Specifies the number of observations for which SAS issues error messages in multiples of 1,024 (kilobytes).  Replace n with an integer value.\",\"@ToolTip3\":\"Specifies the number of observations for which SAS issues error messages in multiples of 1,048,576 (megabytes).  Replace n with an integer value.\",\"@ToolTip4\":\"Specifies the number of observations for which SAS issues error messages in multiples of 1,073,741,824 (gigabytes).  Replace n with an integer value.\",\"@ToolTip5\":\"Specifies the number of observations for which SAS issues error messages in multiples of 1,099,511,627,776 (terabytes).  Replace n with an integer value.\",\"@ToolTip6\":\"Specifies the number of observations for which SAS issues error messages as a hexadecimal value.  Replace hex with an actual hexadecimal value.\",\"@ToolTip7\":\"Sets the minimum number of observations for which SAS issues error messages to 0.\",\"@ToolTip8\":\"Sets the maximum number of observations for which SAS issues error messages to the largest signed,  4-byte integer representable in your operating environment.\"},\"Help\":{\"#cdata\":\"[Syntax: ERRORS=n| nK | nM | nG | nT | hexX | MIN| MAX]\\n\\nSpecifies the maximum number of observations for which complete error messages are printed.\"}},{\"Name\":\"FMTERR\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Specifies that when SAS cannot find a specified variable format, it generates\\nan error message and does not allow default substitution to occur.\"}},{\"Name\":\"NOFMTERR\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Replaces missing formats with the w. or $w. default format, issues a note, and continues processing.\"}},{\"Name\":\"QUOTELENMAX\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Specifies that SAS write to the SAS log a warning for the maximum length for strings in quotation \\nmarks to the SAS log.\"}},{\"Name\":\"NOQUOTELENMAX\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Specifies that SAS does not write a warning for the maximum length for strings in quotation marks \\nto the SAS log.\"}},{\"Name\":\"VNFERR\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Specifies that SAS either issue a warning and error message, or set _ERROR_=1 and stop processing, \\nor both if the error is severe enough to interrupt processing.\"}},{\"Name\":\"NOVNFERR\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Specifies that SAS issue a warning for a variable that is not found, but not set _ERROR_=1 or \\nstop processing.\"}},{\"Name\":\"APPLETLOC=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"Syntax: APPLETLOC=\\\"base-URL\\\" \\n\\nSpecifies the location of Java applets. The maximum address length is 256 characters.\"}},{\"Name\":\"FMTSEARCH=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"Syntax: FMTSEARCH=(catalog-specification-1... catalog-specification-n) \\n\\nControls the order in which format catalogs are searched .\"}},{\"Name\":\"PARM=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[Syntax: PARM=<'>string<'>] \\n    \\nSpecifies a parameter string that is passed to an external program.\"}},{\"Name\":\"PARMCARDS=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[Syntax: PARMCARDS=file-ref] \\n    \\nSpecifies the file reference to use as the PARMCARDS= file.\"}},{\"Name\":\"SASAUTOS=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"Syntax: SASAUTOS=library-specification | (library-specification-1 ... , library-specification-n) \\n\\nSpecifies one or more locations that contain library members containing SAS macro \\ndefinitions. A location can be a SAS fileref or a host-specific location name \\nenclosed in quotation marks.\"}},{\"Name\":\"SYSPARM=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[Syntax: SYSPARM='character-string'] \\n    \\nSpecifies a character string (up to 200 characters) enclosed in quotation marks that \\ncan be passed to SAS programs.\"}},{\"Name\":\"USER=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[Syntax: USER=library-specification]\\n\\nSpecifies the libref or physical name of the default permanent SAS data library.\"}},{\"Name\":\"UUIDCOUNT=\",\"Type\":\"V\",\"Values\":{\"@Value1\":\"n\",\"@Value2\":\"MIN\",\"@Value3\":\"MAX\"},\"ToolTips\":{\"@ToolTip1\":\"Specifies the number of UUIDs to acquire (Range: 0-1000). Zero indicates that the  UUID Generator Daemon is not required.\",\"@ToolTip2\":\"Specifies that the number of UUIDs to acquire is zero, indicating that the  UUID Generator Daemon is not required.\",\"@ToolTip3\":\"Specifies that 1000 UUIDs at a time should be acquired from the UUID Generator Daemon.\"},\"Help\":{\"#cdata\":\"[Syntax: UUIDCOUNT=n | MIN | MAX]\\n\\nSpecifies the number of UUIDs to acquire each time the UUID Generator Daemon is used.\"}},{\"Name\":\"CGOPTIMIZE=|CGOPT=\",\"Type\":\"V\",\"Values\":{\"@Value1\":\"0\",\"@Value2\":\"1\",\"@Value3\":\"2\",\"@Value4\":\"3\"},\"ToolTips\":{\"@ToolTip1\":\"Specifies not to perform optimization.\",\"@ToolTip2\":\"Specifies to perform stage 1 optimization. Stage 1 optimization removes redundant instructions, missing  value checks, and repetitive computations for array subscriptions; detects patterns of instructions and  replaces them with more efficient sequences.\",\"@ToolTip3\":\"Specifies to perform stage 2 optimization. Stage 2 performs optimizations that pertain to the SAS register.\",\"@ToolTip4\":\"Specifies to perform full optimization, which is a combination of stages 1 and 2. This is the default value.\"},\"Help\":{\"#cdata\":\"[Syntax: CGOPTIMIZE=0 | 1 | 2 | 3] \\n\\nSpecifies the level of optimization to perform during code compilation.\"}},{\"Name\":\"WORKTERM\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Erases the WORK files at the termination of a SAS session.\"}},{\"Name\":\"NOWORKTERM\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Does not erase the WORK files.\"}},{\"Name\":\"AUTHPROVIDERDOMAIN|AUTHPD\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Associates a domain suffix with an authentication provider.\"}},{\"Name\":\"BATCH\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Specifies whether batch settings for LINESIZE, OVP, PAGESIZE, and SOURCE are in effect \\nwhen SAS executes.\"}},{\"Name\":\"NOBATCH\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Specifies that SAS not use the batch settings for LINESIZE=, OVP, PAGESIZE=, and SOURCE.\"}},{\"Name\":\"MULTENVAPPL\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Specifies that the Select Font window is displayed in the Frame region manager when \\nyou set the font for a region title. Use the Select Font window to select different \\nfont families, styles, weights, and point sizes.\"}},{\"Name\":\"NOMULTENVAPPL\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Specifies that SAS/AF and SAS/FSP software display a Font Selector window that is \\nspecific to the operating environment in which the application is executing.\"}},{\"Name\":\"DFLANG=\",\"Type\":\"V\",\"Values\":{\"@Value1\":\"'Afrikaans'\",\"@Value2\":\"'Catalan'\",\"@Value3\":\"'Croatian'\",\"@Value4\":\"'Czech'\",\"@Value5\":\"'Danish'\",\"@Value6\":\"'Dutch'\",\"@Value7\":\"'English'\",\"@Value8\":\"'Finnish'\",\"@Value9\":\"'French'\",\"@Value10\":\"'German'\",\"@Value11\":\"'Hungarian'\",\"@Value12\":\"'Italian'\",\"@Value13\":\"'Japanese'\",\"@Value14\":\"'Macedonian'\",\"@Value15\":\"'Norwegian'\",\"@Value16\":\"'Polish'\",\"@Value17\":\"'Portuguese'\",\"@Value18\":\"'Russian'\",\"@Value19\":\"'Slovenian'\",\"@Value20\":\"'Spanish'\",\"@Value21\":\"'Swedish'\",\"@Value22\":\"'Swiss_French'\",\"@Value23\":\"'Swiss_German'\"},\"ToolTips\":{\"@ToolTip1\":\"Afrikaans\",\"@ToolTip2\":\"Catalan\",\"@ToolTip3\":\"Croatian\",\"@ToolTip4\":\"Czech\",\"@ToolTip5\":\"Danish\",\"@ToolTip6\":\"Dutch\",\"@ToolTip7\":\"English\",\"@ToolTip8\":\"Finnish\",\"@ToolTip9\":\"French\",\"@ToolTip10\":\"German\",\"@ToolTip11\":\"Hungarian\",\"@ToolTip12\":\"Italian\",\"@ToolTip13\":\"Japanese\",\"@ToolTip14\":\"Macedonian\",\"@ToolTip15\":\"Norwegian\",\"@ToolTip16\":\"Polish\",\"@ToolTip17\":\"Portuguese\",\"@ToolTip18\":\"Russian\",\"@ToolTip19\":\"Slovenian\",\"@ToolTip20\":\"Spanish\",\"@ToolTip21\":\"Swedish\",\"@ToolTip22\":\"Swiss_French\",\"@ToolTip23\":\"Swiss_German\"},\"Help\":{\"#cdata\":\"Syntax: DFLANG='language', locale\\n    \\nSpecifies language for international date informats and formats. \\n\\n'language' \\nspecifies the language that is used for international date informats and formats. \\nThese languages are valid values for language: \\n    Afrikaans \\n    Catalan \\n    Croatian \\n    Czech \\n    Danish \\n    Dutch \\n    English \\n    Finnish \\n    French \\n    German \\n    Hungarian \\n    Italian \\n    Japanese \\n    Macedonian \\n    Norwegian \\n    Polish \\n    Portuguese \\n    Russian \\n    Slovenian \\n    Spanish \\n    Swedish \\n    Swiss_French \\n    Swiss_German \\n\\nlocale \\nthe locale that is specified with the locale system option becomes the active locale.\"}},{\"Name\":\"TRANTAB=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[Syntax: TRANTAB=(catalog-entries)] \\n   \\nSpecifies the translation tables that are used by various parts of SAS. \\n\\nSyntax Description:\\ncatalog-entries \\n  specifies SAS catalog entries that contain translation tables. If you specify entry-name.type, \\n  SAS searches SASUSER.PROFILE first and then SASUSER.HOST.\"}},{\"Name\":\"NOASYNCHIO\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Causes data set I/O to wait for completion. This is the default.\"}},{\"Name\":\"BUFNO=\",\"Type\":\"V\",\"Values\":{\"@Value1\":\"n\",\"@Value2\":\"nK\",\"@Value3\":\"nM\",\"@Value4\":\"nG\",\"@Value5\":\"nT\",\"@Value6\":\"hexX\",\"@Value7\":\"MIN\",\"@Value8\":\"MAX\"},\"ToolTips\":{\"@ToolTip1\":\"Specifies the number of buffers in multiples of 1 (bytes).  Replace n with an integer value.\",\"@ToolTip2\":\"Specifies the number of buffers in multiples of 1,024 (kilobytes).  Replace n with an integer value.\",\"@ToolTip3\":\"Specifies the number of buffers in multiples of 1,048,576 (megabytes).  Replace n with an integer value.\",\"@ToolTip4\":\"Specifies the number of buffers in multiples of 1,073,741,824 (gigabytes).  Replace n with an integer value.\",\"@ToolTip5\":\"Specifies the number of buffers in multiples of 1,099,511,627,776 (terabytes).  Replace n with an integer value.\",\"@ToolTip6\":\"Specifies the number of buffers as a hexadecimal value.  Replace hex with an actual hexadecimal value.\",\"@ToolTip7\":\"Sets the minimum number of buffers to 0, which causes SAS to use the minimum optimal value  for the operating environment. This is the default.\",\"@ToolTip8\":\"Sets the number of buffers to the maximum possible number in your operating environment,  up to the largest four-byte, signed integer, which is (2\\u00b3\\u00b9)-1, or approximately 2 billion.\"},\"Help\":{\"#cdata\":\"Specifies the number of buffers to be allocated for processing SAS data sets.\"}},{\"Name\":\"LRECL=\",\"Type\":\"V\",\"Values\":{\"@Value1\":\"n\",\"@Value2\":\"nK\",\"@Value3\":\"hexX\",\"@Value4\":\"MIN\",\"@Value5\":\"MAX\"},\"ToolTips\":{\"@ToolTip1\":\"Specifies the logical record length in multiples of 1 (bytes).  Replace n with an integer value. Default is 256.\",\"@ToolTip2\":\"Specifies the logical record length in multiples of 1,024 (kilobytes).  Replace n with an integer value.\",\"@ToolTip3\":\"Specifies the logical record length as a hexadecimal value.  You must specify the value beginning with a number (0\\u20139), followed by an X.  For example, the value 2dx sets the logical record length to 45 characters.\",\"@ToolTip4\":\"Specifies a logical record length of 1.\",\"@ToolTip5\":\"Specifies a logical record length of 32,767.\"},\"Help\":{\"#cdata\":\"Syntax: LRECL=n | nK | hexX | MIN | MAX\\n\\nSpecifies the default logical record length to use for reading and writing external files. \\n\\nDefault:\\nThe shipped default is 32767.\"}},{\"Name\":\"IBUFNO=\",\"Type\":\"V\",\"Values\":{\"@Value1\":\"n\",\"@Value2\":\"nK\",\"@Value3\":\"nM\",\"@Value4\":\"nG\",\"@Value5\":\"nT\",\"@Value6\":\"hexX\",\"@Value7\":\"MIN\",\"@Value8\":\"MAX\"},\"ToolTips\":{\"@ToolTip1\":\"Specifies the number of extra index buffers to be allocated in multiples of 1 (bytes).  Replace n with an integer value.\",\"@ToolTip2\":\"Specifies the number of extra index buffers to be allocated in multiples of 1,024 (kilobytes).  Replace n with an integer value.\",\"@ToolTip3\":\"Specifies the number of extra index buffers to be allocated in multiples of 1,048,576 (megabytes).  Replace n with an integer value.\",\"@ToolTip4\":\"Specifies the number of extra index buffers to be allocated in multiples of 1,073,741,824 (gigabytes).  Replace n with an integer value.\",\"@ToolTip5\":\"Specifies the number of extra index buffers to be allocated in multiples of 1,099,511,627,776 (terabytes).  Replace n with an integer value.\",\"@ToolTip6\":\"Specifies the number of extra index buffers to be allocated as a hexadecimal value.  Replace hex with an actual hexadecimal value.\",\"@ToolTip7\":\"Sets the minimum number of extra index buffers to be allocated to 0. This is the default.\",\"@ToolTip8\":\"Sets the number of extra index buffers to be allocated to 10,000.\"},\"Help\":{\"#cdata\":\"Syntax: IBUFNO=n| nK | nM | nG | nT | hexX  | MIN | MAX\\n\\nSpecifies an optional number of extra buffers to be allocated for navigating an index file.\"}},{\"Name\":\"BUFSIZE=\",\"Type\":\"V\",\"Values\":{\"@Value1\":\"n\",\"@Value2\":\"nK\",\"@Value3\":\"nM\",\"@Value4\":\"nG\",\"@Value5\":\"nT\",\"@Value6\":\"hexX\",\"@Value7\":\"MAX\"},\"ToolTips\":{\"@ToolTip1\":\"Specifies the page size in multiples of 1 (bytes).  Replace n with an integer value.\",\"@ToolTip2\":\"Specifies the page size in multiples of 1,024 (kilobytes).  Replace n with an integer value.\",\"@ToolTip3\":\"Specifies the page size in multiples of 1,048,576 (megabytes).  Replace n with an integer value.\",\"@ToolTip4\":\"Specifies the page size in multiples of 1,073,741,824 (gigabytes).  Replace n with an integer value.\",\"@ToolTip5\":\"Specifies the page size in multiples of 1,099,511,627,776 (terabytes).  Replace n with an integer value.\",\"@ToolTip6\":\"Specifies the page size as a hexadecimal value.  Replace hex with an actual hexadecimal value.\",\"@ToolTip7\":\"Sets the page size to the maximum possible number in your operating environment,  up to the largest four-byte, signed integer, which is (2\\u00b3\\u00b9)-1, or approximately 2 billion.\"},\"Help\":{\"#cdata\":\"[Syntax: BUFSIZE=n| nK | nM | nG | nT |hexX | MIN | MAX]\\n\\nSpecifies the permanent buffer page size for output SAS data sets.\"}},{\"Name\":\"CBUFNO=\",\"Type\":\"V\",\"Values\":{\"@Value1\":\"n\",\"@Value2\":\"nK\",\"@Value3\":\"nM\",\"@Value4\":\"nG\",\"@Value5\":\"nT\",\"@Value6\":\"hexX\",\"@Value7\":\"MIN\",\"@Value8\":\"MAX\"},\"ToolTips\":{\"@ToolTip1\":\"Specifies the number of extra page buffers in multiples of 1 (bytes).  Replace n with an integer value.\",\"@ToolTip2\":\"Specifies the number of extra page buffers in multiples of 1,024 (kilobytes).  Replace n with an integer value.\",\"@ToolTip3\":\"Specifies the number of extra page buffers in multiples of 1,048,576 (megabytes).  Replace n with an integer value.\",\"@ToolTip4\":\"Specifies the number of extra page buffers in multiples of 1,073,741,824 (gigabytes).  Replace n with an integer value.\",\"@ToolTip5\":\"Specifies the number of extra page buffers in multiples of 1,099,511,627,776 (terabytes).  Replace n with an integer value.\",\"@ToolTip6\":\"Specifies the number of extra page buffers as a hexadecimal value.  Replace hex with an actual hexadecimal value.\",\"@ToolTip7\":\"Sets the minimum number of extra page buffers to 0.\",\"@ToolTip8\":\"Sets the number of extra page buffers to 20.\"},\"Help\":{\"#cdata\":\"[Syntax: CBUFNO=n | nK | nM | nG | nT | hexX |MIN | MAX]\\n\\nControls the number of extra page buffers to allocate for each open SAS catalog.\"}},{\"Name\":\"CMPLIB=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[Syntax: CMPLIB=libref.catalog | (libref.catalog-1 ... libref.catalog-n) | (libref.catalogN - libref.catalogM)]\\n\\nSpecifies one or more SAS catalogs containing compiler subroutines to include during program compilation.\"}},{\"Name\":\"CMPMODEL=\",\"Type\":\"V\",\"Values\":{\"@Value1\":\"BOTH\",\"@Value2\":\"CATALOG\",\"@Value3\":\"XML\"},\"ToolTips\":{\"@ToolTip1\":\"Specifies that the MODEL procedure create two output types for a model, one as a SAS catalog entry  and the other as an XML file. This is the default.\",\"@ToolTip2\":\"Specifies that the output model type is an entry in a SAS catalog.\",\"@ToolTip3\":\"Specifies that the output model type is an XML file.\"},\"Help\":{\"#cdata\":\"[Syntax: CMPLIB=BOTH|CATALOG|XML]\\n\\nSpecifies the output model type for the MODEL procedure.\"}},{\"Name\":\"COMPRESS=\",\"Type\":\"V\",\"Values\":{\"@Value1\":\"NO\",\"@Value2\":\"YES\",\"@Value3\":\"CHAR\",\"@Value4\":\"BINARY\"},\"ToolTips\":{\"@ToolTip1\":\"Specifies that the observations in a newly created SAS data set are uncompressed (fixed-length records).\",\"@ToolTip2\":\"Specifies that the observations in a newly created SAS data set are compressed (variable-length records)  by SAS using RLE (Run Length Encoding).\",\"@ToolTip3\":\"Same as YES,  but COMPRESS=CHAR is only accepted by Version 7 and later versions.\",\"@ToolTip4\":\"Specifies that the observations in a newly created SAS data set are compressed (variable-length records)  by SAS using RDC (Ross Data Compression).\"},\"Help\":{\"#cdata\":\"[Syntax: COMPRESS=NO|YES|CHAR|BINARY]\\n\\nSpecifies the type of compression of observations to use for output SAS data sets.\"}},{\"Name\":\"DATASTMTCHK=\",\"Type\":\"V\",\"Values\":{\"@Value1\":\"COREKEYWORDS\",\"@Value2\":\"ALLKEYWORDS\",\"@Value3\":\"NONE\"},\"ToolTips\":{\"@ToolTip1\":\"Prohibits certain words as one-level SAS data set names in the DATA statement. They can appear as  two-level names. The following keywords cannot appear as one-level SAS data set names: MERGE,  RETAIN, SET, UPDATE.\",\"@ToolTip2\":\"Prohibits any keyword that can begin a statement in the DATA step (for example, ABORT, ARRAY, INFILE)  as a one-level data set name in the DATA statement.\",\"@ToolTip3\":\"Provides no protection against overwriting SAS data sets.\"},\"Help\":{\"#cdata\":\"Prevents certain errors by controlling the SAS keywords that are allowed in the DATA statement.\"}},{\"Name\":\"DKRICOND=\",\"Type\":\"V\",\"Values\":{\"@Value1\":\"ERROR\",\"@Value2\":\"WARNING\",\"@Value3\":\"NOWARNING\"},\"ToolTips\":{\"@ToolTip1\":\"Sets the error flag and writes an error message to the SAS log when a variable is missing from an  input data set during the processing of a DROP=, KEEP=, or RENAME= data set option.\",\"@ToolTip2\":\"Writes a warning message to the SAS log when a variable is missing from an input data set  during the processing of a DROP=, KEEP=, or RENAME= data set option.\",\"@ToolTip3\":\"does not write a warning message to the SAS log when a variable is missing from an input data set  during the processing of a DROP=, KEEP=, or RENAME= data set option.\"},\"Help\":{\"#cdata\":\"[Syntax: DKRICOND=ERROR | WARN|WARNING | NOWARN|NOWARNING]\\n\\nSpecifies the level of error detection to report when a variable is missing from an input data set \\nduring the processing of a DROP=, KEEP=, or RENAME= data set option.\"}},{\"Name\":\"DKROCOND=\",\"Type\":\"V\",\"Values\":{\"@Value1\":\"ERROR\",\"@Value2\":\"WARNING\",\"@Value3\":\"NOWARNING\"},\"ToolTips\":{\"@ToolTip1\":\"Sets the error flag and writes an error message to the SAS log when a variable is missing from an  output data set during the processing of a DROP=, KEEP=, or RENAME= data set option.\",\"@ToolTip2\":\"Writes a warning message to the SAS log when a variable is missing from an output data set  during the processing of a DROP=, KEEP=, or RENAME= data set option.\",\"@ToolTip3\":\"does not write a warning message to the SAS log when a variable is missing from an output data set  during the processing of a DROP=, KEEP=, or RENAME= data set option.\"},\"Help\":{\"#cdata\":\"[Syntax: DKROCOND=ERROR | WARN|WARNING | NOWARN|NOWARNING]\\n\\nSpecifies the level of error detection to report when a variable is missing for an \\noutput data set during the processing of a DROP=, KEEP=, or RENAME= data set option.\"}},{\"Name\":\"DLDMGACTION=\",\"Type\":\"V\",\"Values\":{\"@Value1\":\"FAIL\",\"@Value2\":\"ABORT\",\"@Value3\":\"REPAIR\",\"@Value4\":\"NOINDEX\",\"@Value5\":\"PROMPT\"},\"ToolTips\":{\"@ToolTip1\":\"Stops the step and issues an error message to the log immediately. This is the default for batch mode.\",\"@ToolTip2\":\"Terminates the step, issues an error message to the log, and terminates the SAS session.\",\"@ToolTip3\":\"For data files, automatically repairs and rebuilds indexes and integrity constraints, unless the data  file is truncated. You use the REPAIR statement to restore a truncated data set. It issues a warning  message to the log. This is the default for interactive mode. For catalogs, automatically deletes catalog  entries for which an error occurs during the repair process.\",\"@ToolTip4\":\"For data files, automatically repairs the data file without the indexes and integrity constraints,  deletes the index file, updates the data file to reflect the disabled indexes and integrity  constraints, and limits the data file to be opened only in INPUT mode.   Restriction: NOINDEX does not apply to damaged catalogs or libraries, only data files.\",\"@ToolTip5\":\"For data sets, displays a dialog box that asks you to select the FAIL, ABORT, REPAIR, or NOINDEX  action. For a damaged catalog or library, PROMPT displays a dialog box where you can specify  either FAIL, ABORT, or REPAIR.\"},\"Help\":{\"#cdata\":\"Specifies the type of action to take when a SAS data set or a SAS catalog is detected as damaged.\"}},{\"Name\":\"FIRSTOBS=\",\"Type\":\"V\",\"Values\":{\"@Value1\":\"n\",\"@Value2\":\"nK\",\"@Value3\":\"nM\",\"@Value4\":\"nG\",\"@Value5\":\"hexX\",\"@Value6\":\"MIN\",\"@Value7\":\"MAX\"},\"ToolTips\":{\"@ToolTip1\":\"Specifies the number of the first observation or external file record to process in multiples of 1 (bytes).  Replace n with an integer value.\",\"@ToolTip2\":\"Specifies the number of the first observation or external file record to process in multiples of 1,024 (kilobytes).  Replace n with an integer value.\",\"@ToolTip3\":\"Specifies the number of the first observation or external file record to process in multiples of 1,048,576 (megabytes).  Replace n with an integer value.\",\"@ToolTip4\":\"Specifies the number of the first observation or external file record to process in multiples of 1,073,741,824 (gigabytes).  Replace n with an integer value.\",\"@ToolTip5\":\"Specifies the number of the first observation or external file record to process as a hexadecimal value.  Replace hex with an actual hexadecimal value.\",\"@ToolTip6\":\"Sets the number of the first observation or external file record to process to 1. This is the default.\",\"@ToolTip7\":\"Sets the number of the first observation or external file record to process to the maximum number of  observations in the data set, up to the largest eight-byte, signed integer, which is 2\\u2076\\u00b3-1, or  approximately 9.2 quintillion observations.\"},\"Help\":{\"#cdata\":\"Specifies which observation or record SAS processes first.\"}},{\"Name\":\"FONTRENDERING=\",\"Type\":\"V\",\"Values\":{\"@Value1\":\"HOST_PIXELS\",\"@Value2\":\"FREETYPE_POINTS\"},\"ToolTips\":{\"@ToolTip1\":\"Specifies that fonts are displayed or printed by the operating system and that fonts  are requested in pixels.\",\"@ToolTip2\":\"Specifies that fonts are displayed or printed by the FreeType engine and that fonts  are requested in points. This is the default.\"},\"Help\":{\"#cdata\":\"Specifies whether SAS/GRAPH display drivers and image format drivers display or print fonts \\nby using the operating system or by using the FreeType engine.\"}},{\"Name\":\"IBUFSIZE=\",\"Type\":\"V\",\"Values\":{\"@Value1\":\"n\",\"@Value2\":\"nK\",\"@Value3\":\"nM\",\"@Value4\":\"nG\",\"@Value5\":\"nT\",\"@Value6\":\"hexX\",\"@Value7\":\"MAX\"},\"ToolTips\":{\"@ToolTip1\":\"Specifies the page size for an index file in multiples of 1 (bytes).  Replace n with an integer value. The default is 0.\",\"@ToolTip2\":\"Specifies the page size for an index file in multiples of 1,024 (kilobytes).  Replace n with an integer value.\",\"@ToolTip3\":\"Specifies the page size for an index file in multiples of 1,048,576 (megabytes).  Replace n with an integer value.\",\"@ToolTip4\":\"Specifies the page size for an index file in multiples of 1,073,741,824 (gigabytes).  Replace n with an integer value.\",\"@ToolTip5\":\"Specifies the page size for an index file in multiples of 1,099,511,627,776 (terabytes).  Replace n with an integer value.\",\"@ToolTip6\":\"Specifies the page size for an index file as a hexadecimal value.  Replace hex with an actual hexadecimal value.\",\"@ToolTip7\":\"Sets the page size for an index file to the maximum possible number. For IBUFSIZE=,  the value is 32,767 bytes.\"},\"Help\":{\"#cdata\":\"Syntax: IBUFSIZE=n | nK | nM | nG | nT |hexX | MAX\\n\\nSpecifies the buffer page size for an index file.\"}},{\"Name\":\"_LAST_=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"Specifies the most recently created data set.\"}},{\"Name\":\"JPEGQUALITY=\",\"Type\":\"V\",\"Values\":{\"@Value1\":\"n\",\"@Value2\":\"MIN\",\"@Value3\":\"MAX\"},\"ToolTips\":{\"@ToolTip1\":\"Specifies an integer ranging from 0 to 100 that indicates the JPEG quality factor.  Default is 75.\",\"@ToolTip2\":\"Specifies to set the JPEG quality factor to 0, which has the lowest image quality  and the greatest file compression.\",\"@ToolTip3\":\"Specifies to set the JPEG quality factor to 100, which has the highest image quality  with no file compression.\"},\"Help\":{\"#cdata\":\"Specifies the JPEG quality factor that determines the ratio of image quality to the level of \\ncompression for JPEG files produced by the SAS/GRAPH JPEG device driver.\"}},{\"Name\":\"MERGENOBY=\",\"Type\":\"V\",\"Values\":{\"@Value1\":\"NOWARN\",\"@Value2\":\"WARN\",\"@Value3\":\"ERROR\"},\"ToolTips\":{\"@ToolTip1\":\"Specifies that no warning message is issued. This is the default.\",\"@ToolTip2\":\"Specifies that a warning message is issued.\",\"@ToolTip3\":\"Specifies that an error message is issued.\"},\"Help\":{\"#cdata\":\"[Syntax: MERGENOBY=NOWARN |WARN | ERROR]\\n\\nSpecifies the type of message that is issued when MERGE processing occurs without \\nan associated BY statement.\"}},{\"Name\":\"OBS=\",\"Type\":\"V\",\"Values\":{\"@Value1\":\"n\",\"@Value2\":\"nK\",\"@Value3\":\"nM\",\"@Value4\":\"nG\",\"@Value5\":\"nT\",\"@Value6\":\"hexX\",\"@Value7\":\"MIN\",\"@Value8\":\"MAX\"},\"ToolTips\":{\"@ToolTip1\":\"Specifies the number to indicate when to stop processing in multiples of 1 (bytes).  Replace n with an integer value.\",\"@ToolTip2\":\"Specifies the number to indicate when to stop processing in multiples of 1,024 (kilobytes).  Replace n with an integer value.\",\"@ToolTip3\":\"Specifies the number to indicate when to stop processing in multiples of 1,048,576 (megabytes).  Replace n with an integer value.\",\"@ToolTip4\":\"Specifies the number to indicate when to stop processing in multiples of 1,073,741,824 (gigabytes).  Replace n with an integer value.\",\"@ToolTip5\":\"Specifies the number to indicate when to stop processing in multiples of 1,099,511,627,776 (terabytes).  Replace n with an integer value.\",\"@ToolTip6\":\"Specifies the number to indicate when to stop processing as a hexadecimal value.  Replace hex with an actual hexadecimal value.\",\"@ToolTip7\":\"Sets the minimum number to indicate when to stop processing to 0.\",\"@ToolTip8\":\"Sets the number to indicate when to stop processing to the maximum number of observations or records,  up to the largest eight-byte, signed integer, which is 263-1, or approximately 9.2 quintillion. This is the default.\"},\"Help\":{\"#cdata\":\"Specifies the observation that is used to determine the last observation to process, \\nor specifies the last record to process.\"}},{\"Name\":\"REPLACE\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Specifies that a permanently stored SAS data set can be replaced with another SAS data \\nset of the same name.\"}},{\"Name\":\"NOREPLACE\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Specifies that a permanently stored SAS data set cannot be replaced with another SAS \\ndata set of the same name. This prevents the accidental replacement of existing SAS \\ndata sets.\"}},{\"Name\":\"REUSE=\",\"Type\":\"V\",\"Values\":{\"@Value1\":\"YES\",\"@Value2\":\"NO\"},\"ToolTips\":{\"@ToolTip1\":\"Specifies to track free space and reuses it whenever observations are added to an  existing compressed data set.\",\"@ToolTip2\":\"Specifies not to track free space. This is the default.\"},\"Help\":{\"#cdata\":\"Specifies whether SAS reuses space when observations are added to a compressed SAS data set.\"}},{\"Name\":\"VALIDFMTNAME=\",\"Type\":\"V\",\"Values\":{\"@Value1\":\"LONG\",\"@Value2\":\"FAIL\",\"@Value3\":\"WARN\"},\"ToolTips\":{\"@ToolTip1\":\"Specifies that format and informat names can be up to 32 alphanumeric characters.  This is the default.\",\"@ToolTip2\":\"Specifies that creating a format or informat name that is longer than eight characters  results in an error message.\",\"@ToolTip3\":\"Specifies that creating a format or informat name that is longer than eight characters  results in a warning message to remind you that the format or informat cannot be used  with releases before to SAS 9.\"},\"Help\":{\"#cdata\":\"Specifies the maximum size (32 characters or 8 characters) that user-created format \\nand informat names can be before an error or warning is issued.\"}},{\"Name\":\"VALIDVARNAME=\",\"Type\":\"V\",\"Values\":{\"@Value1\":\"V7\",\"@Value2\":\"UPCASE\",\"@Value3\":\"ANY\"},\"ToolTips\":{\"@ToolTip1\":\"Specifies that variable names can be up to 32 characters in length, must begin with  a letter of the Latin alphabet (A - Z, a - z) or the underscore character, cannot  contain blanks, cannot contain special characters except for the underscore, can  contain mixed-case letters, and cannot be assigned the names of special SAS automatic  variables (such as _N_ and _ERROR_) or variable list names (such as _NUMERIC_,  _CHARACTER_, and _ALL_).\",\"@ToolTip2\":\"Specifies that the variable name follows the same rules as V7, except that the  variable name is uppercase,  as in earlier versions of SAS.\",\"@ToolTip3\":\"Enables compatibility with other DBMS variable (column) naming conventions, such  as allowing embedded/leading blanks and special/multi-byte characters (not exceeding  32 bytes).\"},\"Help\":{\"#cdata\":\"Specifies the rules for valid SAS variable names that can be created and processed \\nduring a SAS session.\"}},{\"Name\":\"DEVICE=|DEV=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[Syntax: DEVICE=device-driver-specification] \\n    \\nSpecifies a terminal device driver for SAS/GRAPH software.\"}},{\"Name\":\"GISMAPS=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[Syntax: GISMAPS=library-specification| path-to-library]\\n\\nSpecifies the location of the SAS data library that contains SAS/GIS-supplied US \\nCensus Tract maps.\"}},{\"Name\":\"GWINDOW\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Displays SAS/GRAPH software output in the GRAPH window.\"}},{\"Name\":\"NOGWINDOW\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Displays graphics outside of the windowing environment.\"}},{\"Name\":\"GSTYLE\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Specifies that ODS styles can be used in the generation of graphs that are stored \\nas GRSEG catalog entries. If no style is specified, the default style for the \\ngiven output destination is used. This is the default.\"}},{\"Name\":\"NOGSTYLE\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Specifies to not use ODS styles in the generation of graphs that are stored as GRSEG \\ncatalog entries. Tip: Use NOGSTYLE for compatibility of graphs generated before \\nSAS 9.2.\"}},{\"Name\":\"MAPS=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[Syntax: MAPS=location-of-maps] \\n    \\nSpecifies the locations (either a libref or a physical path) to search for maps.\"}},{\"Name\":\"BYSORTED\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Specifies that observations in a data set or data sets are sorted in alphabetic \\nor numeric order.\"}},{\"Name\":\"NOBYSORTED\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Specifies that observations with the same BY value are grouped together but are \\nnot necessarily sorted in alphabetic or numeric order.\"}},{\"Name\":\"CAPS\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Specifies that SAS translate lowercase characters to uppercase.\"}},{\"Name\":\"NOCAPS\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Specifies that SAS does translate lowercase characters to uppercase.\"}},{\"Name\":\"CARDIMAGE\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Specifies that SAS source and data lines be processed as if they were punched card \\nimages--all exactly 80 bytes long and padded with blanks.\"}},{\"Name\":\"NOCARDIMAGE\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Specifies that SAS source and data lines not be treated as if they were 80-byte card images.\"}},{\"Name\":\"DATESTYLE=\",\"Type\":\"V\",\"Values\":{\"@Value1\":\"MDY\",\"@Value2\":\"MYD\",\"@Value3\":\"YMD\",\"@Value4\":\"YDM\",\"@Value5\":\"DMY\",\"@Value6\":\"DYM\",\"@Value7\":\"LOCALE\"},\"ToolTips\":{\"@ToolTip1\":\"Specifies that SAS set the order as month, day, year.\",\"@ToolTip2\":\"Specifies that SAS set the order as month, year, day.\",\"@ToolTip3\":\"Specifies that SAS set the order as year, month, day.\",\"@ToolTip4\":\"Specifies that SAS set the order as year, day, month.\",\"@ToolTip5\":\"Specifies that SAS set the order as day, month, year.\",\"@ToolTip6\":\"Specifies that SAS set the order as day, year, month.\",\"@ToolTip7\":\"Specifies that SAS set the order based on the value that corresponds to the LOCALE= system option  value and is one of the following: MDY | MYD | YMD | YDM | DMY | DYM.\"},\"Help\":{\"#cdata\":\"Specifies the sequence of month, day, and year when ANYDTDTE, ANYDTDTM, or ANYDTTME informat \\ndata is ambiguous.\"}},{\"Name\":\"DEFLATION=|DEFLATE=\",\"Type\":\"V\",\"Values\":{\"@Value1\":\"n\",\"@Value2\":\"MIN\",\"@Value3\":\"MAX\"},\"ToolTips\":{\"@ToolTip1\":\"Specifies the level of compression. The larger the number, the greater the compression.  Default: 6. Range: 0-9\",\"@ToolTip2\":\"Specifies the minimum compression level of 0.\",\"@ToolTip3\":\"Specifies the maximum compression level of 9.\"},\"Help\":{\"#cdata\":\"[Syntax: DEFLATION=n | MIN | MAX]\\n\\nSpecifies the level of compression for device drivers that support the Deflate compression algorithm.\"}},{\"Name\":\"INVALIDDATA=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[Syntax: INVALIDDATA='character']\\n\\nSpecifies a character value SAS is to assign to a variable when invalid numeric data are encountered.\\nIt can be a letter (A through Z, a through z), a period (.), or an underscore (_). The default value \\nis a period.\"}},{\"Name\":\"S=\",\"Type\":\"V\",\"Values\":{\"@Value1\":\"n\",\"@Value2\":\"nK\",\"@Value3\":\"nM\",\"@Value4\":\"nG\",\"@Value5\":\"nT\",\"@Value6\":\"hexX\",\"@Value7\":\"MIN\",\"@Value8\":\"MAX\"},\"ToolTips\":{\"@ToolTip1\":\"Specifies the length of statements and data in multiples of 1 (bytes).  Replace n with an integer value.\",\"@ToolTip2\":\"Specifies the length of statements and data in multiples of 1,024 (kilobytes).  Replace n with an integer value.\",\"@ToolTip3\":\"Specifies the length of statements and data in multiples of 1,048,576 (megabytes).  Replace n with an integer value.\",\"@ToolTip4\":\"Specifies the length of statements and data in multiples of 1,073,741,824 (gigabytes).  Replace n with an integer value.\",\"@ToolTip5\":\"Specifies the length of statements and data in multiples of 1,099,511,627,776 (terabytes).  Replace n with an integer value.\",\"@ToolTip6\":\"Specifies the length of statements and data as a hexadecimal value.  Replace hex with an actual hexadecimal value.\",\"@ToolTip7\":\"Sets the length of statements and data to 0\",\"@ToolTip8\":\"Sets the length of statements and data to 2,147,483,647.\"},\"Help\":{\"#cdata\":\"Specifies the length of statements on each line of a source statement and the length of data on \\nlines that follow a DATALINES statement.\"}},{\"Name\":\"S2=\",\"Type\":\"V\",\"Values\":{\"@Value1\":\"n\",\"@Value2\":\"nK\",\"@Value3\":\"nM\",\"@Value4\":\"nG\",\"@Value5\":\"nT\",\"@Value6\":\"hexX\",\"@Value7\":\"MIN\",\"@Value8\":\"MAX\",\"@Value9\":\"S\"},\"ToolTips\":{\"@ToolTip1\":\"Specifies the length of statements in multiples of 1 (bytes).  Replace n with an integer value.\",\"@ToolTip2\":\"Specifies the length of statements in multiples of 1,024 (kilobytes).  Replace n with an integer value.\",\"@ToolTip3\":\"Specifies the length of statements in multiples of 1,048,576 (megabytes).  Replace n with an integer value.\",\"@ToolTip4\":\"Specifies the length of statements in multiples of 1,073,741,824 (gigabytes).  Replace n with an integer value.\",\"@ToolTip5\":\"Specifies the length of statements in multiples of 1,099,511,627,776 (terabytes).  Replace n with an integer value.\",\"@ToolTip6\":\"Specifies the length of statements as a hexadecimal value.  Replace hex with an actual hexadecimal value.\",\"@ToolTip7\":\"Sets the length of statements to 0\",\"@ToolTip8\":\"Sets the length of statements to 2,147,483,647.\",\"@ToolTip9\":\"Uses the current value of the S= system option to compute the record length of text  that comes from a %INCLUDE statement, an autoexec file, or an autocall macro file.\"},\"Help\":{\"#cdata\":\"Specifies the length of statements on each line of a source statement from a %INCLUDE statement, \\nan autoexec file, or an autocall macro file.\"}},{\"Name\":\"S2V=\",\"Type\":\"V\",\"Values\":{\"@Value1\":\"n\",\"@Value2\":\"nK\",\"@Value3\":\"nM\",\"@Value4\":\"nG\",\"@Value5\":\"nT\",\"@Value6\":\"hexX\",\"@Value7\":\"MIN\",\"@Value8\":\"MAX\",\"@Value9\":\"S\",\"@Value10\":\"S2\"},\"ToolTips\":{\"@ToolTip1\":\"Specifies the starting position of the variable-length record to read that comes from a %INCLUDE  statement, an autoexec file, or an autocall macro file in multiples of 1 (bytes). Replace n with  an integer value.\",\"@ToolTip2\":\"Specifies the starting position of the variable-length record to read that comes from a %INCLUDE  statement, an autoexec file, or an autocall macro file in multiples of 1,024 (kilobytes). Replace n  with an integer value.\",\"@ToolTip3\":\"Specifies the starting position of the variable-length record to read that comes from a %INCLUDE  statement, an autoexec file, or an autocall macro file in multiples of 1,048,576 (megabytes). Replace  n with an integer value.\",\"@ToolTip4\":\"Specifies the starting position of the variable-length record to read that comes from a %INCLUDE  statement, an autoexec file, or an autocall macro file in multiples of 1,073,741,824 (gigabytes).  Replace n with an integer value.\",\"@ToolTip5\":\"Specifies the starting position of the variable-length record to read that comes from a %INCLUDE  statement, an autoexec file, or an autocall macro file in multiples of 1,099,511,627,776 (terabytes).  Replace n with an integer value.\",\"@ToolTip6\":\"Specifies the starting position of the variable-length record to read that comes from a %INCLUDE  statement, an autoexec file, or an autocall macro file as a hexadecimal value. Replace hex with an  actual hexadecimal value.\",\"@ToolTip7\":\"Sets the starting position of the variable-length record to read that comes from a %INCLUDE  statement, an autoexec file, or an autocall macro file to 0.\",\"@ToolTip8\":\"Sets the starting position of the variable-length record to read that comes from a %INCLUDE  statement, an autoexec file, or an autocall macro file to 2,147,483,647.\",\"@ToolTip9\":\"Specifies to use the current value of the S= system option to compute the starting position of the  variable-sized record to read from a %INCLUDE statement, an autoexec file, or an autocall macro file.\",\"@ToolTip10\":\"Specifies to use the current value of the S2= system option to compute the starting position of  the variable-sized record to read from a %INCLUDE statement, an autoexec file, or an autocall macro  file. This is the default.\"},\"Help\":{\"#cdata\":\"Specifies the length of statements on each line of a source statement from a %INCLUDE statement, \\nan autoexec file, or an autocall macro file.\"}},{\"Name\":\"SEQ=\",\"Type\":\"V\",\"Values\":{\"@Value1\":\"n\",\"@Value2\":\"hexX\",\"@Value3\":\"MIN\",\"@Value4\":\"MAX\"},\"ToolTips\":{\"@ToolTip1\":\"Specifies the length in terms of bytes. Replace n with an integer value. Range: 1-8\",\"@ToolTip2\":\"Specifies the length as a hexadecimal. Replace hex with a hexadecimal number.\",\"@ToolTip3\":\"Sets the minimum length to 1.\",\"@ToolTip4\":\"Sets the maximum length to 8.\"},\"Help\":{\"#cdata\":\"Specifies the length of the numeric portion of the sequence field in input source lines or data lines.\"}},{\"Name\":\"SQLREDUCTPUT=\",\"Type\":\"V\",\"Values\":{\"@Value1\":\"ALL\",\"@Value2\":\"NONE\",\"@Value3\":\"DBMS\",\"@Value4\":\"BASE\"},\"ToolTips\":{\"@ToolTip1\":\"Specifies that optimization is performed on all PUT functions regardless of any engine that is used  by the query to access the data.\",\"@ToolTip2\":\"Specifies that no optimization is to be performed.\",\"@ToolTip3\":\"Specifies that optimization is performed on all PUT functions whose query is performed by a  SAS/ACCESS engine. This is the default.\",\"@ToolTip4\":\"Specifies that optimization is performed on all PUT functions whose query is performed by a  SAS/ACCESS engine or a Base SAS engine.\"},\"Help\":{\"#cdata\":\"For the SQL procedure, specifies the engine type that a query uses for which optimization is performed \\nby replacing a PUT function in a query with a logically equivalent expression.\"}},{\"Name\":\"SQLCONSTDATETIME\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Specifies that the SQL procedure is to replace references to the DATE, TIME, DATETIME, and TODAY \\nfunctions with their equivalent numeric constant values.\"}},{\"Name\":\"NOSQLCONSTDATETIME\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Specifies that the SQL procedure is not to replace references to the DATE, TIME, DATETIME, and TODAY \\nfunctions with their equivalent numeric constant values.\"}},{\"Name\":\"SQLREDUCEPUTOBS=\",\"Type\":\"V\",\"Values\":{\"@Value1\":\"n\",\"@Value2\":\"nK\",\"@Value3\":\"nM\",\"@Value4\":\"nG\",\"@Value5\":\"nT\",\"@Value6\":\"hexX\",\"@Value7\":\"MIN\",\"@Value8\":\"MAX\"},\"ToolTips\":{\"@ToolTip1\":\"Specifies the number of observations that must be in a table before the SQL procedure considers to  optimize the PUT function in multiples of 1 (bytes). Replace n with an integer value.\",\"@ToolTip2\":\"Specifies the number of observations that must be in a table before the SQL procedure considers to  optimize the PUT function in multiples of 1,024 (kilobytes). Replace n with an integer value.\",\"@ToolTip3\":\"Specifies the number of observations that must be in a table before the SQL procedure considers to  optimize the PUT function in multiples of 1,048,576 (megabytes). Replace n with an integer value.\",\"@ToolTip4\":\"Specifies the number of observations that must be in a table before the SQL procedure considers to  optimize the PUT function in multiples of 1,073,741,824 (gigabytes). Replace n with an integer value.\",\"@ToolTip5\":\"Specifies the number of observations that must be in a table before the SQL procedure considers to  optimize the PUT function in multiples of 1,099,511,627,776 (terabytes). Replace n with an integer value.\",\"@ToolTip6\":\"Specifies the number of observations that must be in a table before the SQL procedure considers to  optimize the PUT function as a hexadecimal value. Replace hex with an actual hexadecimal value.\",\"@ToolTip7\":\"Sets the minimum number of observations that must be in a table before the SQL procedure considers  to optimize the PUT function to 0. A value of 0 indicates that there is no minimum number of  observations required. This is the default.\",\"@ToolTip8\":\"Sets the maximum number of observations that must be in a table before the SQL procedure considers  to optimize the PUT function to 2\\u2076\\u00b3-1, or approximately 9.2 quintillion.\"},\"Help\":{\"#cdata\":\"For the SQL procedure when the SQLREDUCEPUT= system option is set to NONE, \\nspecifies the minimum number of observations that must be in a table in order for PROC SQL \\nto consider optimizing the PUT function in a query.\"}},{\"Name\":\"SQLREDUCEPUTVALUES=\",\"Type\":\"V\",\"Values\":{\"@Value1\":\"n\",\"@Value2\":\"nK\",\"@Value3\":\"nM\",\"@Value4\":\"nG\",\"@Value5\":\"nT\",\"@Value6\":\"hexX\",\"@Value7\":\"MIN\",\"@Value8\":\"MAX\"},\"ToolTips\":{\"@ToolTip1\":\"Specifies the number of SAS format values that can exist in a PUT function expression in multiples  of 1 (bytes). Replace n with an integer value.\",\"@ToolTip2\":\"Specifies the number of SAS format values that can exist in a PUT function expression in multiples  of 1,024 (kilobytes). Replace n with an integer value.\",\"@ToolTip3\":\"Specifies the number of SAS format values that can exist in a PUT function expression in multiples  of 1,048,576 (megabytes). Replace n with an integer value.\",\"@ToolTip4\":\"Specifies the number of SAS format values that can exist in a PUT function expression in multiples  of 1,073,741,824 (gigabytes). Replace n with an integer value.\",\"@ToolTip5\":\"Specifies the number of SAS format values that can exist in a PUT function expression in multiples  of 1,099,511,627,776 (terabytes). Replace n with an integer value.\",\"@ToolTip6\":\"Specifies the number of SAS format values that can exist in a PUT function expression as a hexadecimal  value. Replace hex with an actual hexadecimal value.\",\"@ToolTip7\":\"Sets the minimum number of SAS format values that can exist in a PUT function expression to 0.  A value of 0 indicates that there is no minimum number of SAS format values that are required.  This is the default.\",\"@ToolTip8\":\"Sets the maximum number of SAS format values that can exist in a PUT function expression to 5,000.\"},\"Help\":{\"#cdata\":\"For the SQL procedure when the SQLREDUCEPUT= system option is set to NONE, specifies the maximum \\nnumber of SAS format values that can exist in a PUT function expression in order for PROC SQL to \\nconsider optimizing the PUT function in a query.\"}},{\"Name\":\"SQLREMERGE\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Specifies that the SQL procedure can process queries that use remerging of data.\"}},{\"Name\":\"NOSQLREMERGE\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Specifies that the SQL procedure cannot process queries that use remerging of data.\"}},{\"Name\":\"SQLUNDOPOLICY=\",\"Type\":\"V\",\"Values\":{\"@Value1\":\"NONE\",\"@Value2\":\"OPTIONAL\",\"@Value3\":\"REQUIRED\"},\"ToolTips\":{\"@ToolTip1\":\"Specifies to keep changes that are made by the INSERT and UPDATE statements.\",\"@ToolTip2\":\"Specifies to reverse changes that are made by the INSERT and UPDATE statements as long as reversing  the changes is reliable.\",\"@ToolTip3\":\"Specifies to undo all changes that are made by the INSERT and UPDATE statements, up to the point of  the error. This is the default.\"},\"Help\":{\"#cdata\":\"Specifies whether the SQL procedure keeps or discards updated data if errors occur while \\nthe data is being updated.\"}},{\"Name\":\"SPOOL\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Specifies that SAS writes SAS statements to a utility data set in the WORK data library.\"}},{\"Name\":\"NOSPOOL\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Specifies that SAS not write SAS statements to a utility data set in the WORK data library.\"}},{\"Name\":\"YEARCUTOFF=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[Syntax: YEARCUTOFF=nnnn | YEARCUTOFF=nnnnn]\\n\\nSpecifies the first year of a 100-year span that will be used by date informats and functions to \\nread a two-digit year.\\n\\nRange: 1582-19900 \\n\\nDefault: The shipped default is 1926.\"}},{\"Name\":\"BINDING=\",\"Type\":\"V\",\"Values\":{\"@Value1\":\"DEFAULT|DEFAULTEDGE\",\"@Value2\":\"LONG|LONGEDGE\",\"@Value3\":\"SHORT|SHORTEDGE\"},\"ToolTips\":{\"@ToolTip1\":\"Specifies that duplexing is done using the default binding edge.\",\"@ToolTip2\":\"Specifies the long edge as the binding edge for duplexed output.\",\"@ToolTip3\":\"Specifies the short edge as the binding edge for duplexed output.\"},\"Help\":{\"#cdata\":\"Specifies the binding edge to a printer.\"}},{\"Name\":\"BOTTOMMARGIN=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[Syntax: BOTTOMMARGIN=margin-size | \\\"margin-size [margin-unit]\\\"]\\n\\nSpecifies to a printer the size of the margin at the bottom of the page.\"}},{\"Name\":\"COLLATE\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Specifies to collate multiple copies for output to a printer.\"}},{\"Name\":\"NOCOLLATE\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Specifies not to collate multiple copies for output to a printer. This is the default.\"}},{\"Name\":\"COLORPRINTING\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Specifies color printing to a printer, if color printing is supported.\"}},{\"Name\":\"NOCOLORPRINTING\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Specifies not to print in color.\"}},{\"Name\":\"COPIES=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[Syntax: COPIES=n] Specifies the number of copies to make when printing to a printer.\"}},{\"Name\":\"DUPLEX\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Specifies duplexing controls to a printer.\"}},{\"Name\":\"NODUPLEX\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Specifies that duplexing is not performed. This is the default.\"}},{\"Name\":\"LEFTMARGIN=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[Syntax: LEFTMARGIN=margin-size | \\\"margin-size [margin-unit]\\\"]\\n\\nSpecifies to a printer the size of the margin on the left side of the page.\"}},{\"Name\":\"PAPERDEST=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[Syntax: PAPERDEST=printer-bin-name] \\n    \\nSpecifies to a printer the printer bin to receive printed output.\"}},{\"Name\":\"PAPERSIZE=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[Syntax: PAPERSIZE=LOCALE | paper_size_name \\n    | (width_value<,>height_value) \\n    | ('width_value'<,> 'height_value') \\n    | (\\\"width_value\\\"<,>\\\"height_value\\\")]\\n\\nSpecifies the paper size to use for printing. \\n\\nSyntax Description: \\nLOCALE\\n  specifies to use the value of the LOCALE= system option to determine the value of the PAPERSIZE= \\n  option. Depending on the locale, the PAPERSIZE= option is set to either LETTER or A4.\\npaper_size_name \\n  specifies a predefined paper size. \\n  Default:Letter or A4, depending on the locale \\n  Restriction:The maximum length is 200 characters. \\n  Requirements:When the name of a predefined paper size contains spaces, enclose the name \\n    in single or double quotation marks. \\n  A space is required between the width and the height values if you do not use either single \\n    or double quotation marks for values. \\n\\n  Tip:Refer to the Registry Editor, or use PROC REGISTRY to obtain a listing of supported \\n  paper sizes. Additional values can be added. \\n\\n(\\u201cwidth_value\\u201d, \\u201cheight_value\\u201d) \\n  specifies paper width and height as positive floating-point values. \\n  Default:inches \\n  Range:in or cm for width_value, height_value\"}},{\"Name\":\"PAPERSOURCE=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[Syntax: PAPERSOURCE=printer-bin-name] \\n    \\nSpecifies to a printer the paper bin to use for printing.\"}},{\"Name\":\"PAPERTYPE=\",\"Type\":\"V\",\"Values\":{\"@Value1\":\"PLAIN\",\"@Value2\":\"STANDARD\",\"@Value3\":\"GLOSSY\",\"@Value4\":\"TRANSPARENCY\",\"@Value5\":\"printer-defined-value\"},\"ToolTips\":{\"@ToolTip1\":\"Specifies to use plain paper.\",\"@ToolTip2\":\"Specifies to use the standard paper for the printer.\",\"@ToolTip3\":\"Specifies to use glossy paper.\",\"@ToolTip4\":\"Specifies to use transparent paper.\",\"@ToolTip5\":\"Specifies a paper type that is defined by the printer.\"},\"Help\":{\"#cdata\":\"[Syntax: PAPERTYPE= PLAIN | STANDARD | GLOSSY | TRANSPARENCY | printer-defined-value] \\n    \\nSpecifies to a printer the type of paper to use for printing. Maximum length is 200\"}},{\"Name\":\"PRINTERPATH=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[Syntax: PRINTERPATH=('printer-name' <fileref>)] \\n    \\nControls which Universal Printing printer will be used for printing. If a fileref (optional) is \\nspecified, it must be defined with a FILENAME statement or external allocation.\"}},{\"Name\":\"PRTABORTDLGS=\",\"Type\":\"V\",\"Values\":{\"@Value1\":\"BOTH\",\"@Value2\":\"NEITHER\",\"@Value3\":\"FILE\",\"@Value4\":\"PRINTER\"},\"ToolTips\":{\"@ToolTip1\":\"Specifies to display the Print Abort dialog box when you are printing either to  a file or to the printer.\",\"@ToolTip2\":\"Specifies not to display the Print Abort dialog box when you are printing either  to a file or to the printer.\",\"@ToolTip3\":\"Specifies to display the Print Abort dialog box only when you are printing to a file.\",\"@ToolTip4\":\"Specifies to display the Print Abort dialog box only when you are printing to the printer.\"},\"Help\":{\"#cdata\":\"[Syntax: PRTABORTDLGS = BOTH | NEITHER | FILE | PRINTER] \\n    \\nSpecifies when to display the Print Abort dialog box.\"}},{\"Name\":\"PRTSETFORMS\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Specifies to include the Use Forms check box in the Print Setup dialog box.\"}},{\"Name\":\"NOPRTSETFORMS\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Specifies to exclude the Use Forms check box from the Print Setup dialog box.\"}},{\"Name\":\"RIGHTMARGIN=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[Syntax: RIGHTMARGIN=margin-size | \\\"margin-size [margin-unit]\\\"]\\n\\nSpecifies the size of the margin at the right side of the page for printed output directed to \\nthe ODS printer destination.\"}},{\"Name\":\"SASCONTROL=\",\"Type\":\"V\",\"Values\":{\"@Value1\":\"SYSTEMMENU\",\"@Value2\":\"NOSYSTEMMENU\",\"@Value3\":\"MINMAX\",\"@Value4\":\"NOMINMAX\"},\"ToolTips\":{\"@ToolTip1\":\"Specifies to display the system/control menu in the windows that are contained  in the main SAS window.\",\"@ToolTip2\":\"Specifies to omit the system/control menu and the minimize, maximize, and close  buttons from the title bar in the windows that are contained in the main SAS window.\",\"@ToolTip3\":\"Specifies to display the minimize and maximize buttons in the windows that are  contained in the main SAS window.\",\"@ToolTip4\":\"Specifies to omit the minimize and maximize buttons from the windows that are  contained in the main SAS window.\"},\"Help\":{\"#cdata\":\"[Syntax: SASCONTROL=SYSTEMMENU | NOSYSTEMMENU <MINMAX | NOMINMAX>] \\n    \\nSpecifies whether the SAS application windows include system/control menus and \\nminimize/maximize buttons.\"}},{\"Name\":\"TEXTURELOC=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[Syntax: TEXTURELOC=location] \\n    \\nSpecifies the location of textures and images that are used by ODS styles. Location can refer \\neither to the physical name of the directory or to a URL reference to the directory.\"}},{\"Name\":\"TOPMARGIN=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[Syntax: TOPMARGIN=margin-size | \\\"margin-size [margin-unit]\\\"]\\n\\nSpecifies the size of the margin at the top of the page for the ODS printer destination.\"}},{\"Name\":\"UPRINTCOMPRESSION|UPC\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Specifies to enable compression of files created by using SAS Universal Printing and \\nsome SAS/GRAPH files. This is the default.\"}},{\"Name\":\"NOUPRINTCOMPRESSION|NOUPC\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Specifies to disable compression of files created by using SAS Universal Printing \\nand some SAS/GRAPH files.\"}},{\"Name\":\"BYLINE\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Specifies that BY lines are printed above each BY group..\"}},{\"Name\":\"NOBYLINE\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Suppresses the automatic printing of BY lines.\"}},{\"Name\":\"CENTER\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Centers SAS procedure output.\"}},{\"Name\":\"NOCENTER\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Left aligns SAS procedure output.\"}},{\"Name\":\"FORMCHAR=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"FORMCHAR='formatting-characters'\\n\\nSpecifies the default output formatting characters. 'formatting-characters' is any \\nstring or list of strings of characters up to 64 bytes long. If fewer than 64 bytes \\nare specified, the string is padded with blanks on the right.\"}},{\"Name\":\"FORMDLIM=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[Syntax: FORMDLIM='delimiting-character'] \\n    \\nSpecifies a character to delimit page breaks in SAS output.\"}},{\"Name\":\"LABEL\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Permits SAS procedures to use labels with variables. The LABEL system option must \\nbe in effect before the LABEL option of any procedure can be used..\"}},{\"Name\":\"NOLABEL\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Does not allow SAS procedures to use labels with variables. If NOLABEL is specified,\\nthe LABEL option of a procedure is ignored.\"}},{\"Name\":\"PAGENO=\",\"Type\":\"V\",\"Values\":{\"@Value1\":\"n\",\"@Value2\":\"nK\",\"@Value3\":\"hexX\",\"@Value4\":\"MIN\",\"@Value5\":\"MAX\"},\"ToolTips\":{\"@ToolTip1\":\"Specifies the page number in multiples of 1 (n).\",\"@ToolTip2\":\"Specifies the page number in multiples of 1,024 (nK).\",\"@ToolTip3\":\"Specifies the page number as a hexadecimal number.\",\"@ToolTip4\":\"Specifies the page number to the minimum number, 1.\",\"@ToolTip5\":\"Specifies the maximum page number as the largest signed,  four-byte integer that is representable in your operating environment.\"},\"Help\":{\"#cdata\":\"[Resets the SAS output page number.\"}},{\"Name\":\"PAGESIZE=|PS=\",\"Type\":\"V\",\"Values\":{\"@Value1\":\"n\",\"@Value2\":\"nK\",\"@Value3\":\"hexX\",\"@Value4\":\"MIN\",\"@Value5\":\"MAX\"},\"ToolTips\":{\"@ToolTip1\":\"Specifies the number of lines that compose a page in multiples of 1 (n).\",\"@ToolTip2\":\"Specifies the number of lines that compose a page in multiples of 1,024 (nK).\",\"@ToolTip3\":\"Specifies the number of lines that compose a page as a hexadecimal number.\",\"@ToolTip4\":\"Specifies the number of lines that compose a page to the minimum setting, 15.\",\"@ToolTip5\":\"Specifies the maximum number of lines that compose a page to the maximum setting, 32,767.\"},\"Help\":{\"#cdata\":\"[Specifies the number of lines that compose a page of SAS output.\"}},{\"Name\":\"SKIP=\",\"Type\":\"V\",\"Values\":{\"@Value1\":\"n\",\"@Value2\":\"hexX\",\"@Value3\":\"MIN\",\"@Value4\":\"MAX\"},\"ToolTips\":{\"@ToolTip1\":\"Specifies the number of lines to skip. Replace n with an integer value (0 to 20).\",\"@ToolTip2\":\"Specifies the number of lines to skip as a hexadecimal number. Replace hex with a hexadecimal number.\",\"@ToolTip3\":\"Sets the number of lines to skip to 0, so no lines are skipped.\",\"@ToolTip4\":\"Sets the number of lines to skip to 20.\"},\"Help\":{\"#cdata\":\"Specifies the number of lines to skip at the top of each page of SAS output.\"}},{\"Name\":\"SYSPRINTFONT=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[Syntax: SYSPRINTFONT=(\\\"face-name\\\" <weight> <style> <character-set> <point-size> <NAMED \\\"printer-name\\\" | DEFAULT | ALL>)]\\n\\nSets the font for the current default printer.\"}},{\"Name\":\"DATE\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Specifies that the date and the time that the SAS job began are printed at the top of \\neach page of the SAS log and any output that is created by SAS.\"}},{\"Name\":\"PDFSECURITY=\",\"Type\":\"V\",\"Values\":{\"@Value1\":\"HIGH\",\"@Value2\":\"LOW\",\"@Value3\":\"NONE\"},\"ToolTips\":{\"@ToolTip1\":\"Specifies that SAS encrypts PDF documents using a 128-bit encryption algorithm.\",\"@ToolTip2\":\"Specifies that SAS encrypts PDF documents using a 40-bit encryption algorithm.\",\"@ToolTip3\":\"Specifies that no encryption is performed on PDF documents. This is the default.\"},\"Help\":{\"#cdata\":\"Specifies the printing permissions for PDF documents.\"}},{\"Name\":\"PDFPRINT=\",\"Type\":\"V\",\"Values\":{\"@Value1\":\"HRES\",\"@Value2\":\"LRES\",\"@Value3\":\"NONE\"},\"ToolTips\":{\"@ToolTip1\":\"Specifies to print PDF documents at the highest resolution available on the printer.\",\"@ToolTip2\":\"Specifies to print PDF documents at a lower resolution for draft-quality documents.\",\"@ToolTip3\":\"Specifies the PDF documents have no print resolution.\"},\"Help\":{\"#cdata\":\"Specifies the resolution to print PDF documents.\"}},{\"Name\":\"PDFPASSWORD=|PDFPW=\",\"Type\":\"V\",\"Values\":{\"@Value1\":\"OPEN=(\\\"\\\")\",\"@Value2\":\"OPEN=(\\\"password\\\")\",\"@Value3\":\"(OWNER=\\\"\\\")\",\"@Value4\":\"(OWNER=\\\"password\\\")\",\"@Value5\":\"(OWNER=\\\"password\\\", OPEN=\\\"password\\\")\",\"@Valu6\":\"(OWNER=\\\"password\\\", OPEN=\\\"\\\")\",\"@Value7\":\"(OWNER=\\\"\\\", OPEN=\\\"\\\")\",\"@Value8\":\"(OWNER=\\\"\\\", OPEN=\\\"password\\\")\",\"@Value9\":\"(OPEN=\\\"password\\\", OWNER=\\\"password\\\")\",\"@Value10\":\"(OPEN=\\\"password\\\", OWNER=\\\"\\\")\",\"@Value11\":\"(OPEN=\\\"\\\", OWNER=\\\"password\\\")\",\"@Value12\":\"(OPEN=\\\"\\\", OWNER=\\\"\\\")\"},\"ToolTips\":{\"@ToolTip1\":\"Specifies to reset the password to open a PDF document to null.\",\"@ToolTip2\":\"Specifies the password to open a PDF document. The quotation marks are optional.\",\"@ToolTip3\":\"Specifies to reset the password used by a PDF document owner to null.\",\"@ToolTip4\":\"Specifies the password for the PDF document owner. The quotation marks are optional.\",\"@ToolTip5\":\"Specifies the password for the PDF document owner and the password to open a PDF document\",\"@ToolTip6\":\"Specifies the password for the PDF document owner and resets the password to open a PDF document to null.\",\"@ToolTip7\":\"Specifies to reset both the password used by a PDF document owner and the password to open a PDF document to null.\",\"@ToolTip8\":\"Specifies to reset the password used by a PDF document owner to null, and specifies a password to open a PDF document.\",\"@ToolTip9\":\"Specifies the password to open a PDF document and the password for the PDF document owner.\",\"@ToolTip10\":\"Specifies the password to open a PDF document and resets the password for the PDF document owner to null.\",\"@ToolTip11\":\"Specifies to reset the password to open a PDF document to null and specifies the password for the PDF document owner.\",\"@ToolTip12\":\"Specifies to reset both the password to open a PDF document and the password for the PDF document owner to null.\"},\"Help\":{\"#cdata\":\"Specifies the password to use to open a PDF document and the password used by a PDF document owner. \\n    \\nSyntax:\\n(1) PDFPASSWORD=(OPEN=<\\\">password<\\\"> | OPEN=\\\"\\\" < <,> OWNER=<\\\">password<\\\"> | OWNER=\\\"\\\">)  \\n(2) PDFPASSWORD=(OWNER=<\\\">password<\\\"> | OWNER=\\\"\\\" <<,> OPEN=<\\\">password<\\\"> | OPEN=\\\"\\\">)  \\n(3) PDFPASSWORD=(OPEN=<\\\">password<\\\"> | OPEN=\\\"\\\")  \\n(4) PDFPASSWORD=(OWNER=<\\\">password<\\\"> | OWNER=\\\"\\\" ) \"}},{\"Name\":\"PDFPAGELAYOUT=\",\"Type\":\"V\",\"Values\":{\"@Value1\":\"DEFAULT\",\"@Value2\":\"SINGLEPAGE\",\"@Value3\":\"CONTINUOUS\",\"@Value4\":\"FACING\",\"@Value5\":\"CONTINUOUSFACING\"},\"ToolTips\":{\"@ToolTip1\":\"Specifies to use the current page layout for Acrobat Reader. This is the default.\",\"@ToolTip2\":\"Specifies to display one page at a time in the viewing area.\",\"@ToolTip3\":\"Specifies to display all document pages in the viewing area in a single column.\",\"@ToolTip4\":\"Specifies to display only two pages in the viewing area, with the even pages on the left and  the odd pages on the right.\",\"@ToolTip5\":\"Specifies to display all pages in the viewing area, two pages side by side. The even pages display  on the left, and the odd pages display on the right.\"},\"Help\":{\"#cdata\":\"Specifies the page layout for PDF documents.\"}},{\"Name\":\"PDFPAGEVIEW=\",\"Type\":\"V\",\"Values\":{\"@Value1\":\"DEFAULT\",\"@Value2\":\"ACTUAL\",\"@Value3\":\"FITPAGE\",\"@Value4\":\"FITWIDTH\",\"@Value5\":\"FULLSCREEN\"},\"ToolTips\":{\"@ToolTip1\":\"Specifies to use the current page view setting for Acrobat Reader. This is the default.\",\"@ToolTip2\":\"Specifies to set the page view setting to 100%.\",\"@ToolTip3\":\"Specifies to view a page using the full extent of the viewing window, maintaining the height  and width aspect ratio.\",\"@ToolTip4\":\"Specifies to view a page using the full width of the viewing window. The height of the document  is not scaled to fit the page.\",\"@ToolTip5\":\"Specifies to view a page using the full screen. This option disables the table of contents,  bookmarks, and all other document access aids, such as accessing a specific page.\"},\"Help\":{\"#cdata\":\"Specifies the page viewing mode for PDF documents.\"}},{\"Name\":\"PDFACCESS\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Specifies that text and graphics from an ODS PDF document can be read by screen readers \\nfor the visually impaired.\"}},{\"Name\":\"NOPDFACCESS\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Specifies that text and graphics from an ODS PDF document cannot be read by screen \\nreaders for the visually impaired.\"}},{\"Name\":\"PDFASSEMBLY\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Specifies that PDF documents can be assembled.\"}},{\"Name\":\"NOPDFASSEMBLY\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Specifies that PDF documents cannot be assembled. This is the default.\"}},{\"Name\":\"NOPDFCOMMENT\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Specifies that PDF document comments cannot be modified. This is the default.\"}},{\"Name\":\"PDFCOMMENT\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Specifies that PDF document comments can be modified.\"}},{\"Name\":\"NOPDFCOPY\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Specifies that text and graphics from a PDF document cannot be copied.\"}},{\"Name\":\"PDFCOPY\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Specifies that text and graphics from a PDF document can be copied. This is the default.\"}},{\"Name\":\"NOPDFFILLIN\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Specifies that PDF forms cannot be filled in.\"}},{\"Name\":\"PDFFILLIN\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Specifies that PDF forms can be filled in.\"}},{\"Name\":\"NOPDFCONTENT\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Specifies that the contents of a PDF document cannot be changed.\"}},{\"Name\":\"PDFCONTENT\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Specifies that the contents of a PDF document can be changed.\"}},{\"Name\":\"NODATE\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Specifies that the date and the time are not printed.\"}},{\"Name\":\"DETAILS\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Specifies to include additional information when some SAS procedures\\nand windows display a listing of files in a SAS data library.\"}},{\"Name\":\"NODETAILS\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Specifies not to include additional information when files are listed in a SAS data library.\"}},{\"Name\":\"DTRESET\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Specifies that SAS updates the date and time in the titles of the SAS log and the listing file..\"}},{\"Name\":\"NODTRESET\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Specifies that SAS not update the date and time in the titles of the SAS log and the listing file.\"}},{\"Name\":\"LINESIZE=|LS=\",\"Type\":\"V\",\"Values\":{\"@Value1\":\"n\",\"@Value2\":\"hexX\",\"@Value3\":\"MIN\",\"@Value4\":\"MAX\"},\"ToolTips\":{\"@ToolTip1\":\"Specifies the number of characters in a line.\",\"@ToolTip2\":\"Specifies the number of characters in a line as a hexadecimal number.\",\"@ToolTip3\":\"Sets the number of characters in a line to 64.\",\"@ToolTip4\":\"Sets the number of characters in a line to 256.\"},\"Help\":{\"#cdata\":\"Syntax: LINESIZE=n | hexX | MIN | MAX\\n\\nSpecifies the line size for the SAS log and for SAS procedure output.\"}},{\"Name\":\"MISSING=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"Syntax: MISSING=<'>character<'>\\n\\nSpecifies the character to print for missing numeric values. \\n\\nSyntax Description: \\ncharacter\\n  specifies the value to be printed. The value can be any character. Single or double quotation marks are optional.\\n\\n  Restriction: '00'x is not a valid value for character.\\n\\nDefault: The shipped default is a period (.).\\n\\nThe MISSING= system option does not apply to special missing values such as .A and .Z.\"}},{\"Name\":\"NUMBER\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Specifies that SAS print the page number on the first title line of each page of SAS output.\"}},{\"Name\":\"NONUMBER\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Specifies that SAS not print the page number on the first title line of each page of SAS output.\"}},{\"Name\":\"NOCPUID\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Specifies that the note that contains the CPU identification number is not written to the SAS log.\"}},{\"Name\":\"MSGLEVEL=\",\"Type\":\"V\",\"Values\":{\"@Value1\":\"N\",\"@Value2\":\"I\"},\"ToolTips\":{\"@ToolTip1\":\"Specifies to print notes, warnings, CEDA message, and error messages only. N is the default.\",\"@ToolTip2\":\"Specifies to print additional notes pertaining to index usage, merge processing, and sort utilities,  along with standard notes, warnings, CEDA message, and error messages.\"},\"Help\":{\"#cdata\":\"Specifies the level of detail in messages that are written to the SAS log.\"}},{\"Name\":\"NOTES\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Specifies that SAS writes notes to the SAS log.\"}},{\"Name\":\"NONOTES\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Specifies that SAS does not write notes to the SAS log. NONOTES does not suppress error and \\nwarning messages.\"}},{\"Name\":\"OVP\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Prints underscores beneath the word in error when SAS encounters an error in a SAS statement.\\nThis option may enable overprinting in some procedures.\"}},{\"Name\":\"NOOVP\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Prints dashes on the next line below the word in error when SAS encounters an error \\nin a SAS statement.\"}},{\"Name\":\"PRINTMSGLIST\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Prints the entire list of messages to the SAS log.\"}},{\"Name\":\"NOPRINTMSGLIST\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Prints only the top-level message to the SAS log.\"}},{\"Name\":\"SOURCE\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Specifies that SAS writes source statements to the SAS log.\"}},{\"Name\":\"NOSOURCE\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Specifies that SAS not write source statements to the SAS log.\"}},{\"Name\":\"SOURCE2\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Specifies that SAS writes secondary source statements from included files to the SAS log.\"}},{\"Name\":\"NOSOURCE2\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Specifies that SAS not write secondary source statements from included files to the SAS log.\"}},{\"Name\":\"CMDMAC\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Specifies that the macro processor examine the first word of every windowing environment\\ncommand to see whether it is a command-style macro invocation.\"}},{\"Name\":\"NOCMDMAC\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Specifies that no check be made for command-style macro invocations.\"}},{\"Name\":\"IMPLMAC\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Specifies that the macro processor examine the first word of every submitted statement\\nto see whether it is a statement-style macro invocation.\"}},{\"Name\":\"NOIMPLMAC\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Specifies that no check be made for statement-style macro invocations. This is the default.\"}},{\"Name\":\"MAUTOLOCDISPLAY\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Displays the source location of the autocall macros in the log when the autocall macro is invoked.\"}},{\"Name\":\"NOMAUTOLOCDISPLAY\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Prevents the autocall macro source location from being displayed in the log when the autocall macro \\nis invoked. NOMAUTOLOCDISPLAY is the default.\"}},{\"Name\":\"MAUTOSOURCE\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Causes the macro processor to search the autocall libraries for a member with the requested name\\nwhen a macro name is not found in the WORK library.\"}},{\"Name\":\"NOMAUTOSOURCE\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Prevents the macro processor from searching the autocall libraries when a macro name is not found \\nin the WORK library.\"}},{\"Name\":\"MCOMPILENOTE=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"Syntax: MCOMPILENOTE=<NONE | NOAUTOCALL | ALL>\\n\\nIssues a NOTE to the log upon successful compilation of a macro.\"}},{\"Name\":\"MERROR\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Specifies that SAS issues a warning message when a macro-like name does not match \\na macro keyword.\"}},{\"Name\":\"NOMERROR\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Issues no warning messages when the macro processor cannot match a macro reference \\nto a compiled macro.\"}},{\"Name\":\"MFILE\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Routes output produced by the MPRINT option to an external file. This is useful \\nfor debugging.\"}},{\"Name\":\"NOMFILE\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Does not route MPRINT output to an external file.\"}},{\"Name\":\"MCOMPILE\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Allows new definitions of macros.\"}},{\"Name\":\"NOMCOMPILE\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Disallows new definitions of macros.\"}},{\"Name\":\"MEXECNOTE\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Displays the macro execution information in the log when the macro is invoked.\"}},{\"Name\":\"NOMEXECNOTE\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Does not display the macro execution information in the log when the macro is invoked.\"}},{\"Name\":\"MEXECSIZE=\",\"Type\":\"V\",\"Values\":{\"@Value1\":\"n\",\"@Value2\":\"nK\",\"@Value3\":\"nM\",\"@Value4\":\"nG\",\"@Value5\":\"nT\",\"@Value6\":\"hexX\",\"@Value7\":\"MIN\",\"@Value8\":\"MAX\"},\"ToolTips\":{\"@ToolTip1\":\"Specifies the maximum size macro to be executed in memory available in bytes.\",\"@ToolTip2\":\"Specifies the maximum size macro to be executed in memory available in kilobytes.\",\"@ToolTip3\":\"Specifies the maximum size macro to be executed in memory available in megabytes.\",\"@ToolTip4\":\"Specifies the maximum size macro to be executed in memory available in gigabytes.\",\"@ToolTip5\":\"Specifies the maximum size macro to be executed in memory available in terabytes.\",\"@ToolTip6\":\"Specifies the maximum size macro to be executed in memory by a hexadecimal number followed by an X.\",\"@ToolTip7\":\"Specifies the minimum size macro to be executed in memory. Minimum value is 0.\",\"@ToolTip8\":\"Specifies the maximum size macro to be executed in memory. Maximum value is 2,147,483,647.\"},\"Help\":{\"#cdata\":\"Specifies the maximum macro size that can be executed in memory.\"}},{\"Name\":\"SORTVALIDATE\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Specifies that the SORT procedure verifies if the observations in the data set are \\nsorted by the variables specified in the BY statement.\"}},{\"Name\":\"NOSORTVALIDATE\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Specifies that the SORT procedure is not to verify if the observations in the data \\nset are sorted. This is the default.\"}},{\"Name\":\"MINOPERATOR\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Causes the macro processor to recognize and evaluate both the mnemonic operator IN \\nor the special character # as a logical operator in expressions.\"}},{\"Name\":\"NOMINOPERATOR\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Causes the macro processor to recognize both the mnemonic operator IN and the special \\ncharacter # as regular characters.\"}},{\"Name\":\"MREPLACE\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Enables you to redefine existing macro definitions that are stored in a catalog in the \\nWORK library.\"}},{\"Name\":\"NOMREPLACE\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Prevents you from redefining existing macro definitions that are stored in a catalog in \\nthe WORK library.\"}},{\"Name\":\"MINDELIMITER=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"Specifies the character to be used as the delimiter for the macro IN operator.\"}},{\"Name\":\"MLOGIC\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Causes the macro processor to trace its execution and to write the trace information \\nto the SAS log. This option is a useful debugging tool.\"}},{\"Name\":\"NOMLOGIC\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Does not trace execution. Use this option unless you are debugging macros.\"}},{\"Name\":\"MLOGICNEST\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Allows the macro nesting information to be displayed in the MLOGIC output in the SAS log.\"}},{\"Name\":\"NOMLOGICNEST\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Prevents the macro nesting information from being displayed in the MLOGIC output in the SAS log.\"}},{\"Name\":\"MPRINT\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Displays the SAS statements that are generated by macro execution. This is useful \\nfor debugging macros.\"}},{\"Name\":\"NOMPRINT\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Does not display SAS statements that are generated by macro execution.\"}},{\"Name\":\"MPRINTNEST\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Allows the macro nesting information to be displayed in the MPRINT output in the \\nSAS log.\"}},{\"Name\":\"NOMPRINTNEST\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Prevents the macro nesting information from being displayed in the MPRINT output \\nin the SAS log.\"}},{\"Name\":\"MRECALL\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Searches the autocall libraries for an undefined macro name each time an attempt \\nis made to invoke the macro.\"}},{\"Name\":\"NOMRECALL\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Searches the autocall libraries only once for a requested macro name.\"}},{\"Name\":\"MSTORED\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Searches for stored compiled macros in a catalog in the SAS data library referenced \\nby the SASMSTORE= option.\"}},{\"Name\":\"NOMSTORED\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Does not search for compiled macros.\"}},{\"Name\":\"MSYMTABMAX=\",\"Type\":\"V\",\"Values\":{\"@Value1\":\"n\",\"@Value2\":\"nK\",\"@Value3\":\"nM\",\"@Value4\":\"nG\",\"@Value5\":\"nT\",\"@Value6\":\"hexX\",\"@Value7\":\"MIN\",\"@Value8\":\"MAX\"},\"ToolTips\":{\"@ToolTip1\":\"Specifies the amount of memory in multiples of 1 (bytes).  Replace n with an integer value.\",\"@ToolTip2\":\"Specifies the amount of memory in multiples of 1,024 (kilobytes).  Replace n with an integer value.\",\"@ToolTip3\":\"Specifies the amount of memory in multiples of 1,048,576 (megabytes).  Replace n with an integer value.\",\"@ToolTip4\":\"Specifies the amount of memory in multiples of 1,073,741,824 (gigabytes).  Replace n with an integer value.\",\"@ToolTip5\":\"Specifies the amount of memory in multiples of 1,099,511,627,776 (terabytes).  Replace n with an integer value.\",\"@ToolTip6\":\"Specifies the amount of memory as a hexadecimal value.  Replace hex with an actual hexadecimal value.\",\"@ToolTip7\":\"Sets the amount of memory that is available to the minimum setting, which is 0.  This value causes all macro variables to be written to disk.\",\"@ToolTip8\":\"Sets the amount of memory that is available to the maximum setting.\"},\"Help\":{\"#cdata\":\"[Syntax: MSYMTABMAX= n | nK | nM | nG | nT |hexX | MIN | MAX] \\n\\nSpecifies the maximum amount of memory that is available to macro variable \\nsymbol tables.\"}},{\"Name\":\"MVARSIZE=\",\"Type\":\"V\",\"Values\":{\"@Value1\":\"n\",\"@Value2\":\"nK\",\"@Value3\":\"hexX\",\"@Value4\":\"MIN\",\"@Value5\":\"MAX\"},\"ToolTips\":{\"@ToolTip1\":\"Specifies the maximum macro variable size in multiples of 1 (bytes).  Replace n with an integer value.\",\"@ToolTip2\":\"Specifies the maximum macro variable size in multiples of 1,024 (kilobytes).  Replace n with an integer value.\",\"@ToolTip3\":\"Specifies the maximum macro variable size as a hexadecimal value.  Replace hex with an actual hexadecimal value.\",\"@ToolTip4\":\"Sets the macro variable size to the minimum setting, which is 0 bytes. This value  causes all macro variables to be written to disk.\",\"@ToolTip5\":\"Sets the macro variable size to the maximum setting, which is 65,534 bytes.\"},\"Help\":{\"#cdata\":\"[Syntax: MVARSIZE= n | nK | nM | nG | MAX] \\n    \\nSpecifies the maximum size for macro variables that are stored in memory.\"}},{\"Name\":\"SASMSTORE=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[Syntax: SASMSTORE=libref] \\n    \\nSpecifies the libref of a SAS data library that contains a catalog of stored, \\ncompiled SAS macros.\"}},{\"Name\":\"SERROR\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Controls whether SAS issues a warning message when a defined macro variable reference \\ndoes not match a macro variable.\"}},{\"Name\":\"NOSERROR\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Issues no warning messages when the macro processor cannot match a macro variable \\nreference to an existing macro variable.\"}},{\"Name\":\"STIMER\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Specifies to write real-time and CPU time to the SAS log.\"}},{\"Name\":\"NOSTIMER\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Specifies not to write real-time and CPU time to the SAS log.\"}},{\"Name\":\"SYMBOLGEN\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Displays the results of resolving macro variable references. This option is useful \\nfor debugging.\"}},{\"Name\":\"NOSYMBOLGEN\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Does not display results of resolving macro variable references.\"}},{\"Name\":\"SORTDUP=\",\"Type\":\"V\",\"Values\":{\"@Value1\":\"PHYSICAL\",\"@Value2\":\"LOGICAL\"},\"ToolTips\":{\"@ToolTip1\":\"Removes duplicates based on all the variables that are present in the data set.  This is the default.\",\"@ToolTip2\":\"Removes duplicates based on only the variables remaining after the DROP= and  KEEP= data set options are processed.\"},\"Help\":{\"#cdata\":\"Specifies whether the SORT procedure removes duplicate variables based on all variables in a data set \\nor the variables that remain after the DROP or KEEP data set options have been applied.\"}},{\"Name\":\"SORTEQUALS\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Specifies that observations with identical BY variable values are to retain the same \\nrelative positions in the output data set as in the input data set.\"}},{\"Name\":\"NOSORTEQUALS\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Specifies that no resources be used to control the order of observations with identical \\nBY variable values in the output data set.\"}},{\"Name\":\"SORTSEQ=\",\"Type\":\"V\",\"Values\":{\"@Value1\":\"ASCII\",\"@Value2\":\"DANISH|NORWEGIAN\",\"@Value3\":\"EBCDIC\",\"@Value4\":\"FINNISH\",\"@Value5\":\"ITALIAN\",\"@Value6\":\"NATIONAL\",\"@Value7\":\"POLISH\",\"@Value8\":\"REVERSE\",\"@Value9\":\"SPANISH\",\"@Value10\":\"SWEDISH\"},\"ToolTips\":{\"@ToolTip1\":\"ASCII collating sequence\",\"@ToolTip2\":\"DANISH|NORWEGIAN collating sequence\",\"@ToolTip3\":\"EBCDIC collating sequence\",\"@ToolTip4\":\"FINNISH collating sequence\",\"@ToolTip5\":\"ITALIAN collating sequence\",\"@ToolTip6\":\"NATIONAL collating sequence\",\"@ToolTip7\":\"POLISH collating sequence\",\"@ToolTip8\":\"REVERSE collating sequence\",\"@ToolTip9\":\"SPANISH collating sequence\",\"@ToolTip10\":\"SWEDISH collating sequence\"},\"Help\":{\"#cdata\":\"[SORTSEQ=collation-sequence] \\n   \\nSpecifies a language-specific collation sequence for the SORT procedure to use in the \\ncurrent SAS session. \\n\\nSyntax Description: \\ncollating-sequence \\n  specifies the collating sequence that the SORT procedure is to use in the current \\n  SAS session. Valid values can be user-supplied, or they can be one of the following: \\n  \\n    ASCII \\n    DANISH (alias NORWEGIAN) \\n    EBCDIC \\n    FINNISH \\n    ITALIAN \\n    NATIONAL \\n    POLISH \\n    REVERSE \\n    SPANISH \\n    SWEDISH\"}},{\"Name\":\"SORTSIZE=\",\"Type\":\"V\",\"Values\":{\"@Value1\":\"n\",\"@Value2\":\"nK\",\"@Value3\":\"nM\",\"@Value4\":\"nG\",\"@Value5\":\"nT\",\"@Value6\":\"hexX\",\"@Value7\":\"MIN\",\"@Value8\":\"MAX\"},\"ToolTips\":{\"@ToolTip1\":\"Specifies the amount of memory in multiples of 1 (bytes).  Replace n with an integer value.\",\"@ToolTip2\":\"Specifies the amount of memory in multiples of 1,024 (kilobytes).  Replace n with an integer value.\",\"@ToolTip3\":\"Specifies the amount of memory in multiples of 1,048,576 (megabytes).  Replace n with an integer value.\",\"@ToolTip4\":\"Specifies the amount of memory in multiples of 1,073,741,824 (gigabytes).  Replace n with an integer value.\",\"@ToolTip5\":\"Specifies the amount of memory in multiples of 1,099,511,627,776 (terabytes).  Replace n with an integer value.\",\"@ToolTip6\":\"Specifies the amount of memory as a hexadecimal value.  Replace hex with an actual hexadecimal value.\",\"@ToolTip7\":\"Specifies the minimum amount of memory available.\",\"@ToolTip8\":\"Specifies the maximum amount of memory available.\"},\"Help\":{\"#cdata\":\"Specifies the amount of memory that is available to the SORT procedure.\"}},{\"Name\":\"SUMSIZE=\",\"Type\":\"V\",\"Values\":{\"@Value1\":\"n\",\"@Value2\":\"nK\",\"@Value3\":\"nM\",\"@Value4\":\"nG\",\"@Value5\":\"nT\",\"@Value6\":\"hexX\",\"@Value7\":\"MIN\",\"@Value8\":\"MAX\"},\"ToolTips\":{\"@ToolTip1\":\"Specifies the amount of memory in multiples of 1 (bytes).  Replace n with an integer value.\",\"@ToolTip2\":\"Specifies the amount of memory in multiples of 1,024 (kilobytes).  Replace n with an integer value.\",\"@ToolTip3\":\"Specifies the amount of memory in multiples of 1,048,576 (megabytes).  Replace n with an integer value.\",\"@ToolTip4\":\"Specifies the amount of memory in multiples of 1,073,741,824 (gigabytes).  Replace n with an integer value.\",\"@ToolTip5\":\"Specifies the amount of memory in multiples of 1,099,511,627,776 (terabytes).  Replace n with an integer value.\",\"@ToolTip6\":\"Specifies the amount of memory as a hexadecimal number. Replace hex with a hexadecimal value.\",\"@ToolTip7\":\"Specifies the minimum amount of memory available.\",\"@ToolTip8\":\"Specifies the maximum amount of memory available.\"},\"Help\":{\"#cdata\":\"Specifies a limit on the amount of memory that is available for data summarization procedures when \\nclass variables are active.\"}},{\"Name\":\"ARMAGENT=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[Syntax: ARMAGENT=module]\\n\\nSpecifies another vendor's ARM agent, which is an executable module that contains \\na vendor's implementation of the ARM API.\"}},{\"Name\":\"ARMLOC=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[Syntax: ARMLOC=fileref | filename]\\n\\nSpecifies the location of the ARM log, where 'fileref' is a SAS name that is associated \\nwith the physical location of the ARM log, and 'filename' is the physical location of the \\nlog.\"}},{\"Name\":\"ARMSUBSYS=\",\"Type\":\"V\",\"Values\":{\"@Value1\":\"ARM_NONE\",\"@Value2\":\"ARM_ALL\",\"@Value3\":\"ARM_DSIO\",\"@Value4\":\"ARM_IOM\",\"@Value5\":\"ARM_PROC\",\"@Value6\":\"ARM_OLAP_SESSION\"},\"ToolTips\":{\"@ToolTip1\":\"Specifies that no internal SAS processing transactions are written to the ARM log.  This is the default setting.\",\"@ToolTip2\":\"Specifies that all available internal SAS processing transactions are written to the ARM log.\",\"@ToolTip3\":\"Collects SAS data set I/O processing information.\",\"@ToolTip4\":\"Collects IOM Server processing information.\",\"@ToolTip5\":\"Collects SAS procedure and DATA step processing information.\",\"@ToolTip6\":\"Collects SAS OLAP Server session information.\"},\"Help\":{\"#cdata\":\"[Syntax: ARMSUBSYS=(ARM_NONE | ARM_ALL | subsystem1 <item1 <item2 <...> > > <, subsystem2 <item1 <item2 <...> > >><OFF>)]\\n\\nEnables and disables the ARM subsystems that determine the internal SAS processing transactions \\nto be logged.\\n\\nARM_NONE specifies that no internal SAS processing transactions are written to the ARM log. This \\nis the default setting.\\n\\nARM_ALL specifies that all available internal SAS processing transactions are written to the ARM log.\\n\\nsubsystem specifies an ARM subsystem, which is a group of internal SAS processing transactions that '\\nare to be written to the ARM log.\"}},{\"Name\":\"CMPOPT=\",\"Type\":\"V\",\"Values\":{\"@Value1\":\"EXTRAMATH\",\"@Value2\":\"NOEXTRAMATH\",\"@Value3\":\"FUNCDIFFERENCING\",\"@Value4\":\"NOFUNCDIFFERENCING\",\"@Value5\":\"GUARDCHECK\",\"@Value6\":\"NOGUARDCHECK\",\"@Value7\":\"MISSCHECK\",\"@Value8\":\"NOMISSCHECK\",\"@Value9\":\"PRECISE\",\"@Value10\":\"NOPRECISE\",\"@Value11\":\"ALL\",\"@Value12\":\"NONE\"},\"ToolTips\":{\"@ToolTip1\":\"Specifies to keep mathematical operations that do not affect the outcome  of a statement.\",\"@ToolTip2\":\"Specifies to remove mathematical operations that do not affect the outcome  of a statement.\",\"@ToolTip3\":\"Specifies that analytic derivatives are computed for user defined functions.\",\"@ToolTip4\":\"Specifies that no analytic derivatives are computed for user defined functions.\",\"@ToolTip5\":\"Specifies to check for array boundary problems.\",\"@ToolTip6\":\"Specifies not to check for array boundary problems.\",\"@ToolTip7\":\"Specifies to check for missing values in the data.\",\"@ToolTip8\":\"Specifies not to check for missing values in the data.\",\"@ToolTip9\":\"Specifies to handle exceptions at an operation boundary.\",\"@ToolTip10\":\"Specifies to handle exceptions at a statement boundary.\",\"@ToolTip11\":\"Specifies that the compiler is to optimize the machine language code  by using the (NOEXTRAMATH NOMISSCHECK NOPRECISE NOGUARDCHECK NOFUNCDIFFERENCING)  optimization values. This is the default.\",\"@ToolTip12\":\"Specifies that the compiler is not set to optimize the machine language code by using the  (EXTRAMATH MISSCHECK PRECISE NOGUARDCHECK FUNCDIFFERENCING) optimization values.\"},\"Help\":{\"#cdata\":\"[Syntax: CMPOPT=optimization-value | (optimization-value-1 ... optimization-value-n) \\n  | \\\"optimization-value-1 ... optimization-value-n\\\"| ALL | NONE]\\n\\nSpecifies the type of code generation optimizations to use in the SAS language compiler.\"}},{\"Name\":\"NOCMPOPT\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Specifies to set the value of CMPOPT to ALL.\"}},{\"Name\":\"CPUCOUNT=\",\"Type\":\"V\",\"Values\":{\"@Value1\":\"<1-1024>\",\"@Value2\":\"ACTUAL\"},\"ToolTips\":{\"@ToolTip1\":\"Is the number of CPUs that SAS will assume are available for use by thread-enabled applications.\",\"@ToolTip2\":\"Returns the number of physical processors that are associated with the operating system where  SAS is executing.\"},\"Help\":{\"#cdata\":\"[Syntax: CPUCOUNT = 1-1024|ACTUAL]\\n\\nSpecifies the number of processors that the thread-enabled applications should assume\\nwill be available for concurrent processing. \\n\\nDefaults:\\nUnder UNIX and Windows, if a system has four or more processors, the default value is 4. \\nIf a system has fewer than four processors, the default is ACTUAL.\\n\\nUnder z/OS, the default is ACTUAL.\"}},{\"Name\":\"THREADS\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Specifies to use threaded processing for SAS applications that support it.\"}},{\"Name\":\"NOTHREADS\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Specifies not to use threaded processing for running SAS applications that support it.\"}},{\"Name\":\"NETENCRYPT\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Specifies that encryption is required.\"}},{\"Name\":\"NONETENCRYPT\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Specifies that encryption is not required, but is optional.\"}},{\"Name\":\"NETENCRYPTALGORITHM=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[Syntax: NETENCRYPTALGORITHM=algorithm | (\\\"algorithm-1\\\"... \\\"algorithm-n\\\")] \\n   \\nSpecifies the algorithm(s) that can be used for encrypting data that is transferred between \\na client and a server across a network.\"}},{\"Name\":\"NETENCRYPTKEYLEN=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[Syntax: NETENCRYPTKEYLEN=0 | 40 | 128] \\n    \\nSpecifies the key length to use for encrypted client/server data transfers.\"}},{\"Name\":\"SSLCALISTLOC=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[Syntax: SSLCALISTLOC=\\\"file-path\\\"] \\n    \\nSpecifies the location of digital certificates for trusted certification authorities (CA).\"}},{\"Name\":\"SSLCERTISS=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[Syntax: SSLCERTISS=\\\"issuer-of-digital-certificate\\\"] \\n\\nSpecifies the name of the issuer of the digital certificate that SSL should use.\"}},{\"Name\":\"SSLCERTLOC=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[Syntax: SSLCERTLOC=\\\"file-path\\\"] \\n    \\nSpecifies the location of the digital certificate that is used for authentication.\"}},{\"Name\":\"SSLCERTSERIAL=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[Syntax: SSLCERTSERIAL=\\\"serial-number\\\"] \\n    \\nSpecifies the serial number of the digital certificate that SSL should use.\"}},{\"Name\":\"SSLCERTSUBJ=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[Syntax: SSLCERTSUBJ=\\\"subject-name\\\"] \\n    \\nSpecifies the subject name of the digital certificate that SSL should use.\"}},{\"Name\":\"SSLCLIENTAUTH\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Specifies that the server should perform client authentication.\"}},{\"Name\":\"NOSSLCLIENTAUTH\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Specifies that the server should not perform client authentication.\"}},{\"Name\":\"SSLCRLCHECK\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Specifies that CRLs are checked when digital certificates are validated.\"}},{\"Name\":\"NOSSLCRLCHECK\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Specifies that CRLs are not checked when digital certificates are validated.\"}},{\"Name\":\"SSLCRLLOC=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[Syntax: SSLCRLLOC=\\\"file-path\\\"] \\n   \\nSpecifies the location of a Certificate Revocation List (CRL).\"}},{\"Name\":\"SSLPVTKEYLOC=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[Syntax: SSLPVTKEYLOC=\\\"file-path\\\"] \\n   \\nSpecifies the location of the private key that corresponds to the digital certificate.\"}},{\"Name\":\"SSLPVTKEYPASS=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[Syntax: SSLPVTKEYPASS=\\\"password\\\"] \\n    \\nSpecifies the password that SSL requires for decrypting the private key.\"}},{\"Name\":\"SVGHEIGHT=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"Specifies the height of the viewport unless the SVG output is embedded in another \\nSVG output; specifies the value of the height attribute of the outermost <svg> \\nelement in the XML file.\"}},{\"Name\":\"SVGCONTROLBUTTONS\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Specifies to display the paging control buttons in the SVG document.\"}},{\"Name\":\"NOSVGCONTROLBUTTONS\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Specifies not to display the paging control buttons in the SVG document. \\nThis is the default.\"}},{\"Name\":\"SVGTITLE=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[Syntax: SVGTITLE=\\\"title\\\" | \\\"\\\" | \\\"] \\n    \\nSpecifies the title in the title bar of the SVG output; specifies the value of the \\n<title> element in the XML file.\\n\\n\\\"\\\" | \\\" specifies to reset the title to empty.\"}},{\"Name\":\"SVGVIEWBOX=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[Syntax: SVGVIEWBOX=\\\"min-x min-y width height\\\" | none | \\\"\\\" | \\\"] \\n    \\nSpecifies the coordinates, width, and height that are used to set the viewBox attribute \\non the outermost <svg> element, which enables SVG output to scale to the viewport. \\n\\n\\\"\\\" | \\\" specifies to reset the width and height of the viewBox to the width and height \\nof the paper size for the SVG printer.\"}},{\"Name\":\"SVGWIDTH=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[Syntax: SVGWIDTH=\\\"number-of-units<unit-of-measure>\\\" | \\\"\\\" | \\\" ] \\n    \\nSpecifies the width of the viewport unless the SVG output is embedded in another SVG output; \\nspecifies the value of the width attribute of the outermost <svg> element in the XML file. \\n\\n\\\"\\\" | \\\" specifies to reset the width to the default value of 800 pixels.\"}},{\"Name\":\"SVGX=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[Syntax: SVGX=\\\"number-of-units<unit-of-measure>\\\" | \\\"\\\" | \\\" ] \\n    \\nSpecifies the x-axis coordinate of one corner of the rectangular region into which an \\nembedded <svg> element is placed; specifies the x attribute on the outermost <svg> \\nelement in an XML file. \\n\\n\\\"\\\" | \\\" specifies to reset the x attribute to 0 on the <svg> element and the x-axis \\ncoordinate for embedded SVG to 0.\"}},{\"Name\":\"SVGY=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[Syntax: SVGY=\\\"number-of-units<unit-of-measure>\\\" | \\\"\\\" | \\\" ] \\n    \\nSpecifies the y-axis coordinate of one corner of the rectangular region into which an \\nembedded <svg> element is placed; specifies the y attribute on the outermost <svg> \\nelement in an XML file. \\n\\n\\\"\\\" | \\\" specifies to reset the y attribute to 0 on the <svg> element and the y-axis \\ncoordinate for embedded SVG to 0.\"}},{\"Name\":\"SYNTAXCHECK\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Enables syntax check mode for statements that are submitted within a non-interactive \\nor batch SAS session.\"}},{\"Name\":\"NOSYNTAXCHECK\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Does not enable syntax check mode for statements that are submitted within a non-interactive \\nor batch SAS session.\"}},{\"Name\":\"DQLOCALE=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[Syntax: DQLOCALE=(locale1 <locale2 ...localeN>)]\\n    \\nSpecifies an ordered list of locales. You must specify at least one locale.\"}},{\"Name\":\"DQOPTIONS=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[Syntax: DQOPTIONS=(label1=value1<, label2=value2..., labelN=valueN>)] \\n    \\nSpecifies SAS session parameters for data quality programs.\\n    \\n  labelN=valueN \\n  specifies a data quality option keyword and a value for the option. The following \\n  keywords are available:\\n\\n  DQSRVPROTOCOL=WIRELINE \\n  specifies the Wireline protocol, which is required in the z/OS operating environment \\n  for DataFlux Integration Servers version 8.1.1 or newer.\\n\\n  TRANSCODE=IGNORE | WARN \\n  specifies that transcoding errors will not end SAS processing. IGNORE prevents the \\n  appearance of transcoding warning messages in the SAS log.\"}},{\"Name\":\"DQSETUPLOC=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[Syntax: DQSETUPLOC=`file-specification' | `path-specification'] \\n    \\nSpecifies the location of the SAS Data Quality Server setup file or the root directory \\nof the Quality Knowledge Base.\"}},{\"Name\":\"FULLSTIMER\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Specifies that SAS write to the SAS log a complete list of computer resources that \\nwere used for each step and for the entire SAS session.\"}},{\"Name\":\"NOFULLSTIMER\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Specifies that SAS not write a complete list of computer resources to the SAS log. \\n    \\nNOFULLSTIMER is the default.\"}},{\"Name\":\"ICON\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Specifies to minimize the main SAS window immediately.\"}},{\"Name\":\"NOICON\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Restores the main SAS window immediately.\"}},{\"Name\":\"MEMCACHE=\",\"Type\":\"V\",\"Values\":{\"@Value1\":\"0\",\"@Value2\":\"1\",\"@Value3\":\"4\"},\"ToolTips\":{\"@ToolTip1\":\"Specifies memory cache is off.\",\"@ToolTip2\":\"Specifies not to add any new files to the cache. Reads and writes to files already  in the cache continue as if MEMCACHE is on.\",\"@ToolTip3\":\"Specifies memory cache is on. Memory is used as a SAS file cache.\"},\"Help\":{\"#cdata\":\"[Syntax: MEMCACHE= 0 | 1 | 4]\\n\\nSpecifies to use the memory-based libraries as a SAS file cache. \\n\\nWhen the MEMCACHE system option is 4 or 1, SAS file cache places data in memory \\nas it is processed. This data is then available for future references by SAS. Files \\nin the cache are kept until SAS is shut down, caching is terminated, or more space \\nis required for new files. Memory is reclaimed on a least recently used basis. Cached \\ndata is written to permanent storage. You can control which SAS libraries use the \\ncache by using the MEMCACHE system option in the OPTIONS statement. Memory usage can \\nbe monitored using the performance tools.\"}},{\"Name\":\"NOXWAIT\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Specifies to close the command prompt window automatically. \\n    \\nWhen executed on a workstation using the DI-Atlantis\\nbuild module, a command window opens to execute the\\nbuild module followed by a second command window to launch\\nDI-Diver to view the model just created. DI-Diver should be\\nlaunched only after the model has been created. All this should\\nhappen automatically without your intervention.\"}},{\"Name\":\"XSYNC\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Specifies that the SAS System will wait for the application\\nto finish.\\n    \\nWhen executed on a workstation using the DI-Atlantis\\nbuild module, a command window opens to execute the\\nbuild module followed by a second command window to launch\\nDI-Diver to view the model just created. DI-Diver should be\\nlaunched only after the model has been created. All this should\\nhappen automatically without your intervention.\"}},{\"Name\":\"VALIDMEMNAME=\",\"Type\":\"V\",\"Values\":{\"@Value1\":\"COMPATIBLE|COMPAT\",\"@Value2\":\"EXTEND\"},\"ToolTips\":{\"@ToolTip1\":\"Specifies that member name must be compatible with the current rules:    o can be up to 32 bytes in length.    o must begin with a letter of the Latin alphabet (A - Z, a - z) or the underscore character.      Subsequent characters can be letters of the Latin alphabet, numerals, or underscores.    o cannot contain blanks.    o cannot contain special characters except for the underscore.    o can contain mixed-case letters; however, SAS normalizes the member name based on the host platform.    This is the default.\",\"@ToolTip2\":\"Specifies that SAS member names must follow these rules:    o can be up to 32 bytes in length (even if multi-byte characters are included)    o can include special characters, except the characters /\\\\*?\\\"<>|:-    o cannot contain any null bytes    o can begin with or contain any supported characters, excluding blanks    o must contain at least one character. An all-blank name is not permitted.    o trailing blanks will be trimmed    o can contain mixed-case letters; however, SAS normalizes the member name based on the host platform.\"},\"Help\":{\"#cdata\":\"[Syntax: VALIDMEMNAME=COMPATIBLE | COMPAT | EXTEND] \\n    \\nExtends the characters that can be used in member names for SAS data sets, views, \\nand item stores. This option extends the valid characters to: \\n\\n  o international characters \\n  o characters supported by third-party databases \\n  o characters commonly used in file names \\n  \\nThe VALIDMEMNAME= option allows users to control the characters allowed in member names.\"}},{\"Name\":\"ODSDEST=\",\"Type\":\"V\",\"Values\":{\"@Value1\":\"HTML\",\"@Value2\":\"LISTING\",\"@Value3\":\"AUTO\"},\"ToolTips\":{\"@ToolTip1\":\"Specifies that HTML (TAGSET.HTML4) is the default output destination in the SAS Windowing  environment on the Microsoft Windows and UNIX operating systems.\",\"@ToolTip2\":\"Specifies that the LISTING destination is the default output destination.\",\"@ToolTip3\":\"Specifies the SAS registry settings determine the default destination setting. This  setting is HTML by default in SAS 9.3 in the SAS Windowing environment for the UNIX  and Microsoft Windows operating systems. HTML 4.0 is the HTML version supported by  default.   Note: In SAS 9.3, HTML output in the SAS Windowing environment is the default for  Microsoft Windows and UNIX, but not for other operating systems and not in batch mode.  When you run SAS in batch mode or on other operating systems, the LISTING destination  is open and is the default, ODS Graphics is not enabled by default, and the default  style for HTML output is Styles.Default.\"},\"Help\":{\"#cdata\":\"[Syntax: ODSDEST= HTML | LISTING | AUTO \\n\\nChanges the default ODS destination. In SAS 9.3, HTML is the default output destination \\nfor the SAS Windowing environment in the Microsoft Windows and UNIX operating systems. \\nFor all other platforms, LISTING is the default destination.\"}},{\"Name\":\"ODSGRAPHICS=\",\"Type\":\"V\",\"Values\":{\"@Value1\":\"ON\",\"@Value2\":\"OFF\",\"@Value3\":\"AUTO\"},\"ToolTips\":{\"@ToolTip1\":\"Enables ODS Graphics processing by default.\",\"@ToolTip2\":\"Disables ODS graphics processing.\",\"@ToolTip3\":\"Specifies that the SAS registry setting determines the default destination setting.                 Note: In SAS 9.3, ODS Graphics is enabled in the SAS Windowing environment for Microsoft  Windows and UNIX, but not for other operating systems and not in batch mode. When you run  SAS in batch mode or on other operating systems, ODS Graphics is not enabled by default,  the LISTING destination is open and is the default, and the default style for HTML output  is Styles.Default.\"},\"Help\":{\"#cdata\":\"[Syntax: ODSGRAPHICS= ON | OFF | AUTO \\n\\nControls ODS Graphics processing.\\n\\nIn SAS 9.3, ODS Graphics is enabled by default in the SAS Windowing environment for UNIX and \\nMicrosoft Windows. When ODS graphics processing is enabled, the graphs are integrated with \\ntables and all output is displayed in the same HTML file using the HTMLBlue style. This new \\nstyle is an all-color style, which is designed to integrate tables and modern statistical \\ngraphics. \\n\\nIn SAS 9.3, when you run large computational programs, you might not want to create graphs. \\nIn those cases, you should disable ODS Graphics to improve the performance of your program. \\nYou can enable and disable ODS Graphics in your SAS programs with the ODS GRAPHICS OFF and \\nODS GRAPHICS ON statements. You can also change the ODS Graphics default in the Results tab. \\n\\nPrior to SAS 9.3, ODS Graphics was disabled by default.\"}},{\"Name\":\"ODSSTYLE=\",\"Type\":\"V\",\"Values\":{\"@Value1\":\"<style-name>\",\"@Value2\":\"AUTO\"},\"ToolTips\":{\"@ToolTip1\":\"Specifies the default style for ODS HTML destinations. For SAS 9.3, HTMLBlue is the  default style used for HTML output in the SAS Windowing environment for UNIX and  Microsoft Windows.   Note: By default, ODS displays the procedure or DATA step results in a style. The  TEMPLATE procedure creates and modifies styles. The Output Delivery System uses  these styles to produce customized formatted output.\",\"@ToolTip2\":\"Specifies that the SAS registry setting determine the default style setting. In  SAS 9.3, HTMLBlue is the default style for the SAS Windowing environment on UNIX  and Microsoft Windows.   In HTML, the style impacts TABULAR and GRAPHICS output.\"},\"Help\":{\"#cdata\":\"Syntax: ODSSTYLE= style-name | AUTO \\n    \\nSpecifies the default style to use.\"}},{\"Name\":\"APPEND=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"Appends a value to the existing value of the specified system option.\\n    \\nSyntax: APPEND=(system-option-1 =argument-1 <system-option-n =argument-n>) \\n\\nSyntax Description:\\nsystem-option \\n  can be AUTOEXEC, CMPLIB, FMTSEARCH, HELPLOC, MAPS, MSG, SASAUTOS, SASHELP, SASSCRIPT, or SET. \\n  \\n  Note:Some of these options are available only when SAS starts. These options can be specified \\n  in the APPEND= option only when the APPEND= option is specified in a configuration file or a \\n  SAS command. \\n  \\nargument \\n  specifies a new value that you want to append to the current value of system-option. \\n  argument can be any value that could be specified for system-option if system-option is set \\n  using the OPTIONS statement.\"}},{\"Name\":\"ORIENTATION=\",\"Type\":\"V\",\"Values\":{\"@Value1\":\"PORTRAIT\",\"@Value2\":\"LANDSCAPE\",\"@Value3\":\"REVERSEPORTRAIT\",\"@Value4\":\"REVERSELANDSCAPE\"},\"ToolTips\":{\"@ToolTip1\":\"Specifies the paper orientation as portrait. This is the default.\",\"@ToolTip2\":\"Specifies the paper orientation as landscape.\",\"@ToolTip3\":\"Specifies the paper orientation as reverse portrait. Use this value to control the top  of the page relative to how the paper is inserted into the input paper tray.   REVERSEPORTRAIT can be used when you print preprinted or punched forms.\",\"@ToolTip4\":\"Specifies the paper orientation as reverse landscape. Use this value to control the top  of the page relative to how the paper is inserted into the input paper tray.   REVERSELANDSCAPE can be used when you print preprinted or punched forms.\"},\"Help\":{\"#cdata\":\"Syntax: ORIENTATION=PORTRAIT | LANDSCAPE | REVERSEPORTRAIT | REVERSELANDSCAPE \\n\\nSpecifies the paper orientation to use when printing to a printer.\"}},{\"Name\":\"DLCREATEDIR\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Specifies to create a directory for a SAS library that is named in a LIBNAME statement \\nif the directory does not exist.\"}},{\"Name\":\"NODLCREATEDIR\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Specifies not to create a directory for a SAS library that is named in a LIBNAME statement. \\n    \\nThis is the default.\"}},{\"Name\":\"AUTOCORRECT\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Specifies that SAS attempts to automatically correct misspelled procedure names, \\nmisspelled procedure keywords, or misspelled global statement names. \\n\\nThis is the default\"}},{\"Name\":\"NOAUTOCORRECT\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Specifies that SAS does not automatically attempt to correct misspelled procedure names, \\nmisspelled procedure keywords, or misspelled global statement names.\"}},{\"Name\":\"EMAILUTCOFFSET=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"For e-mail that is sent using the FILENAME statement EMAIL (SMTP) access method, \\nspecifies a UTC offset that is used in the Date header field of the e-mail message.\\n    \\nSyntax:\\nEMAILUTCOFFSET=\\\"+hhmm\\u201d | \\\"-hhmm\\u201d\\n\\nSyntax Description:\\n\\\"+hhmm\\\" | \\\"-hhmm\\\" \\n  specifies the number of hours and minutes that are used as the UTC offset in the Date \\n  header field of an e-mail. Use the UTC offset to establish the local time. \\n  \\n  Requirement:The value of the EMAILUTCOFFSET= system option must be enclosed in double \\n  or single quotation marks.\"}},{\"Name\":\"URLENCODING=\",\"Type\":\"V\",\"Values\":{\"@Value1\":\"SESSION\",\"@Value2\":\"UTF8\"},\"ToolTips\":{\"@ToolTip1\":\"Specifies that the argument to the URLENCODE function and to the URLDECODE function  is interpreted using the SAS session encoding. This is the default.   Note:SAS session encoding uses the URL encoding standard RFC 1738.   Tip:SESSION is compatible with previous releases of SAS.\",\"@ToolTip2\":\"Specifies that the argument to the URLENCODE function and to the URLDECODE function  is interpreted using UTF-8 encoding.   Note:UTF-8 encoding uses the URL encoding standard RFC 3986.\"},\"Help\":{\"#cdata\":\"Syntax: URLENCODING=SESSION | UTF8\\n\\nSpecifies whether the argument to the URLENCODE function and to the URLDECODE function \\nis interpreted using the SAS session encoding or UTF-8 encoding.\"}},{\"Name\":\"INSERT=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"Inserts the specified value as the first value of the specified system option.\\n    \\nSyntax:\\nINSERT=(system-option-1 =argument-1 <system-option-n =argument-n>) \\n\\nSyntax Description:\\nsystem-option \\n  can be AUTOEXEC, CMPLIB, FMTSEARCH, HELPLOC, MAPS, MSG, SASAUTOS, SASHELP, SASSCRIPT, or SET. \\n  \\n  Note:Some of these options are available only when SAS starts. These options can be \\n  specified in the INSERT= option only when the INSERT= option is specified in a configuration \\n  file or a SAS command. \\n  \\nargument \\n  specifies a new value that you want as the first value of system-option. \\n  \\n  argument can be any value that could be specified for system-option if system-option \\n  is set using the OPTIONS statement.\"}},{\"Name\":\"VARLENCHK=\",\"Type\":\"V\",\"Values\":{\"@Value1\":\"NOWARN\",\"@Value2\":\"WARN\",\"@Value3\":\"ERROR\"},\"ToolTips\":{\"@ToolTip1\":\"Specifies that no warning message is issued when the length of a variable that is being read  is larger than the length that is defined for the variable.\",\"@ToolTip2\":\"Specifies that a warning is issued when the length of a variable that is being read is larger  than the length that is defined for the variable. This is the default.\",\"@ToolTip3\":\"Specifies that an error message is issued when the length of a variable that is being read  is larger than the length that is defined for the variable.\"},\"Help\":{\"#cdata\":\"Specifies the type of message to write to the SAS log when the input data set is read \\nusing the SET, MERGE, UPDATE, or MODIFY statements.\"}},{\"Name\":\"UNIVERSALPRINT\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Specifies whether to enable menus for Universal Printing and to set up printing defaults.\"}},{\"Name\":\"MAUTOCOMPLOC\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Displays in the SAS log the source location of the autocall macros when the autocall macro is compiled.\"}},{\"Name\":\"MAUTOLOCINDES\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Specifies whether the macro processor prepends the full pathname of the autocall source file \\nto the description field of the catalog entry of compiled auto call macro definition in the \\nWORK.SASMACR catalog.\"}},{\"Name\":\"MCOVERAGE\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Enables the generation of coverage analysis data.\"}},{\"Name\":\"MCOVERAGELOC=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"Specifies the location of the coverage analysis data file.\"}},{\"Name\":\"BOMFILE\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Specifies to write a byte order mark (BOM) prefix when a Unicode-encoded file is written to an external file.\"}},{\"Name\":\"NOBOMFILE\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Specifies not to write a BOM prefix when a Unicode-encoded file is written to an external file.\"}},{\"Name\":\"DATESTYLE=\",\"Type\":\"V\",\"Values\":{\"@Value1\":\"MDY\",\"@Value2\":\"MYD\",\"@Value3\":\"YMD\",\"@Value4\":\"YDM\",\"@Value5\":\"DMY\",\"@Value6\":\"DYM\",\"@Value7\":\"LOCALE\"},\"ToolTips\":{\"@ToolTip1\":\"Specifies that SAS set the order as month, day, year.\",\"@ToolTip2\":\"Specifies that SAS set the order as month, year, day.\",\"@ToolTip3\":\"Specifies that SAS set the order as year, month, day.\",\"@ToolTip4\":\"Specifies that SAS set the order as year, day, month.\",\"@ToolTip5\":\"Specifies that SAS set the order as day, month, year.\",\"@ToolTip6\":\"Specifies that SAS set the order as day, year, month.\",\"@ToolTip7\":\"Specifies that SAS set the order based on the value that corresponds to the LOCALE=  system option value and is one of the following: MDY | MYD | YMD | YDM | DMY | DYM.\"},\"Help\":{\"#cdata\":\"\"}},{\"Name\":\"LOCALE=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"Syntax: LOCALE=locale-name \\n\\nSpecifies a set of attributes in a SAS session that reflect the language, local conventions, \\nand culture for a geographical region. \\n\\nRequired Argument:\\nlocale-name \\n  For a complete list of locale values (SAS names and POSIX names), see LOCALE= Values and \\n  Default Settings for ENCODING, PAPERSIZE, DFLANG, and DATESTYLE Options.\"}},{\"Name\":\"RSASIOTRANSERROR\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Specifies to display a transcoding error when illegal values are read from a remote application.\"}},{\"Name\":\"NORSASIOTRANSERROR\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Specifies not to display a transcoding error when illegal values are read from a remote application.\"}},{\"Name\":\"STRIPESIZE=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"Syntax: STRIPESIZE=directory-path-1 size-1 <directory-path-2 size-2 \\u2026> \\n    STRIPESIZE=(directory-path RESET) \\n    \\nSyntax Description:\\ndirectory-path\\n  specifies an existing directory where the I/O page size for SAS data sets and utility files that \\n  are created in this directory is set to size. Subdirectories of directory-path inherit the data \\n  set or utility file size unless the STRIPESIZE= option has been set for the subdirectory.\\n\\nRequirements:\\nIf directory-path contains spaces, enclose the directory in quotation marks. \\n\\ndirectory-path must \\n  be a valid Windows or UNIX FIle System (UFS) path. Native z/OS data set names are not supported.\\n\\n  UNIX specifics:\\n  The casing used for directory-path must match the casing for the directory under UNIX operating \\n  environments. \\n\\nsize\\n  specifies the number of bytes in a RAID (Redundant Array of Independent Disks) stripe, in multiples \\n  of 1: 1,024 (kilo); 1,048,576 (mega); 1,073,741,824 (giga). For example, a value of 1024 specifies \\n  1,024 bytes, and a value of 3m specifies 3,145,728 bytes.\\n  Range: 1024\\u20132147483648\\n\\n\\nRESET\\n  specifies to remove the directory from the value of the STRIPESIZE= option.\"},\"SubOptionsKeywords\":\"RESET\"},{\"Name\":\"UBUFNO=\",\"Type\":\"V\",\"Values\":{\"@Value1\":\"n\",\"@Value2\":\"nK\",\"@Value3\":\"nM\",\"@Value4\":\"nG\",\"@Value5\":\"hexX\",\"@Value6\":\"MIN\",\"@Value7\":\"MAX\"},\"ToolTips\":{\"@ToolTip1\":\"Specifies the number of utility file buffers to be allocated.  Range: 0\\u201320\",\"@ToolTip2\":\"Specifies the number of utility file buffers in multiples of 1,024 (kilobytes).  Replace n with an integer value.\",\"@ToolTip3\":\"Specifies the number of utility file buffers in multiples of 1,048,576 (megabytes).  Replace n with an integer value.\",\"@ToolTip4\":\"Specifies the number of utility file buffers in multiples of 1,073,741,824 (gigabytes).  Replace n with an integer value.\",\"@ToolTip6\":\"Specifies the number of utility file buffers as a hexadecimal value.  You must specify the value beginning with a number (0\\u20139), followed by an X.  For example, the value 0fx specifies 15 buffers.\",\"@ToolTip7\":\"Sets the minimum number of utility file buffers to 0, which causes SAS to use the minimum optimal value  for the operating environment.\",\"@ToolTip8\":\"Sets the number of utility file buffers to 20.\"},\"Help\":{\"#cdata\":\"Syntax: UBUFNO=n | nK | nM | nG | hexX | MIN | MAX \\n    \\nSpecifies the number of buffers to use for utility files. \\n    \\nDefault: The shipped default is 0.\"}},{\"Name\":\"UBUFSIZE=\",\"Type\":\"V\",\"Values\":{\"@Value1\":\"n\",\"@Value2\":\"nK\",\"@Value3\":\"nM\",\"@Value4\":\"nG\",\"@Value5\":\"nT\",\"@Value6\":\"hexX\",\"@Value7\":\"MIN\",\"@Value8\":\"MAX\"},\"ToolTips\":{\"@ToolTip1\":\"Specifies the utility file buffer size in multiples of 1 (bytes).  Replace n with an integer value.\",\"@ToolTip2\":\"Specifies the utility file buffer size in multiples of 1,024 (kilobytes).  Replace n with an integer value.\",\"@ToolTip3\":\"Specifies the utility file buffer size in multiples of 1,048,576 (megabytes).  Replace n with an integer value.\",\"@ToolTip4\":\"Specifies the utility file buffer size in multiples of 1,073,741,824 (gigabytes).  Replace n with an integer value.\",\"@ToolTip5\":\"Specifies the utility file buffer size in multiples of 1,099,511,627,776 (terabytes).  Replace n with an integer value.\",\"@ToolTip6\":\"Specifies the utility file buffer size as a hexadecimal value.  You must specify the value beginning with a number (0\\u20139), followed by an X. For example, the value 2dx sets the page size to 45 bytes.\",\"@ToolTip7\":\"Sets the utility file buffer size to 0. A value of 0 specifies that the buffer size is set to the  default page size for the operating environment.\",\"@ToolTip8\":\"Sets the utility file buffer size to the maximum possible number in your operating environment,  up to the largest four-byte, signed integer, which is (2\\u00b3\\u00b9)-1, or approximately 2 billion.\"},\"Help\":{\"#cdata\":\"[Syntax: UBUFSIZE=n| nK | nM | nG | nT |hexX | MIN | MAX]\\n\\nSpecifies the buffer size for utility files. \\n\\nDefault: The shipped default is 0.\"}},{\"Name\":\"VBUFSIZE=\",\"Type\":\"V\",\"Values\":{\"@Value1\":\"n\",\"@Value2\":\"nK\",\"@Value3\":\"nM\",\"@Value4\":\"nG\",\"@Value5\":\"nT\",\"@Value6\":\"hexX\",\"@Value7\":\"MIN\",\"@Value8\":\"MAX\"},\"ToolTips\":{\"@ToolTip1\":\"Specifies the size of the view buffer in multiples of 1 (bytes).  Replace n with an integer value.\",\"@ToolTip2\":\"Specifies the size of the view buffer in multiples of 1,024 (kilobytes).  Replace n with an integer value.\",\"@ToolTip3\":\"Specifies the size of the view buffer in multiples of 1,048,576 (megabytes).  Replace n with an integer value.\",\"@ToolTip4\":\"Specifies the size of the view buffer in multiples of 1,073,741,824 (gigabytes).  Replace n with an integer value.\",\"@ToolTip5\":\"Specifies the size of the view buffer in multiples of 1,099,511,627,776 (terabytes).  Replace n with an integer value.\",\"@ToolTip6\":\"Specifies the size of the view buffer as a hexadecimal value.  You must specify the value beginning with a number (0\\u20139), followed by an X. For example, the value 0fffeX specifies a buffer size of 65,534 bytes.\",\"@ToolTip7\":\"Sets the size of the view buffer to 0.\",\"@ToolTip8\":\"Sets the size of the view buffer to (2\\u2076\\u2074\\u207b\\u00b9)-1, or approximately 9.2 quintillion bytes.\"},\"Help\":{\"#cdata\":\"[Syntax: UBUFSIZE=n| nK | nM | nG | nT |hexX | MIN | MAX]\\n\\nSpecifies the buffer size of the view buffer. \\n\\nDefault: The shipped default is 65536.\"}},{\"Name\":\"VARINITCHK=\",\"Type\":\"V\",\"Values\":{\"@Value1\":\"NONOTE\",\"@Value2\":\"NOTE\",\"@Value3\":\"WARN|WARNING\",\"@Value4\":\"ERROR\"},\"ToolTips\":{\"@ToolTip1\":\"Specifies that the DATA step continues to execute without writing a message to the SAS log when  a variable is not initialized.\",\"@ToolTip2\":\"Specifies that the DATA step continues to execute and writes a note to the SAS log when a variable  is not initialized.\",\"@ToolTip3\":\"The SAS log when a variable is not initialized.\",\"@ToolTip4\":\"Specifies that the DATA step stops executing and writes an error message to the SAS log when  a variable is not initialized.\"},\"Help\":{\"#cdata\":\"Syntax: VARINITCHK=NONOTE | NOTE | WARN | ERROR\\n    \\nSpecifies whether a DATA step stops or continues executing when a variable is not initialized \\nand the type of message to write to the SAS log.\"}},{\"Name\":\"PRESENV\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Specifies that collecting data for the preservation of the SAS environment is enabled.\"}},{\"Name\":\"NOPRESENV\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Specifies that collecting data for the preservation of the SAS environment is disabled.\"}},{\"Name\":\"TIMEZONE=|TZ=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"Syntax: TIMEZONE='time-zone-name' | 'time-zone-ID' \\n    \\nSpecifies the user local time zone.\\n    \\nSyntax Descriptiont:\\nime-zone-name\\n  specifies a three- or four-character time zone name. For example, EST is a time zone name \\n  for Eastern Standard Time.\"}},{\"Name\":\"DECIMALCONV=\",\"Type\":\"V\",\"Values\":{\"@Value1\":\"COMPATIBLE|COMPAT\",\"@Value2\":\"STDIEEE\"},\"ToolTips\":{\"@ToolTip1\":\"Specifies to convert and format decimal values by using the conversion methodology that is compatible  with releases prior to SAS 9.4. Use this option when SAS output might be processed by existing applications  that are sensitive to the details of formatting.   z/OS specifics: DECIMALCONV=COMPATIBLE is always in effect because z/OS uses the IBM hexadecimal floating-point number  representation rather than the IEEE format.\",\"@ToolTip2\":\"Specifies to convert and format decimal values by using the IEEE Standard for Floating-Point  Arithmetic 754-2008. Using the STDIEEE argument improves the accuracy and readability of  floating-point numbers. In some cases, more significant digits can be displayed in the same  field width.\"},\"Help\":{\"#cdata\":\"Syntax: DECIMALCONV=COMPATIBLE | STDIEEE \\n    \\nSpecifies the binary to decimal conversion and formatting methodology.\"}},{\"Name\":\"EMAILACKWAIT=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"Syntax: EMAILACKWAIT=number-of-seconds \\n\\nSpecifies the number of seconds that SAS waits to receive an acknowledgment from an SMTP server.\\n\\nSyntax Description:\\nnumber-of-seconds\\n  specifies the number of seconds that SAS waits to receive an acknowledgment from an SMTP server.\\n\\n  Range: 0\\u20133600\"}},{\"Name\":\"COLOPHON=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"Syntax: COLOPHON=\\\"text-string\\\" \\n    \\nSpecifies a text string that is embedded in a graphic file or a PDF that is created by Universal \\nPrinters. The text string is not displayed in the rendered graphic or PDF.\\n\\nSyntax Description:\\ntext-string\\n  specifies the text that is embedded in a graphic file.\\n  Length: up to 4,000 characters.\\n  Requirement: The text string must be enclosed in quotation marks.\\n  Interaction: Text strings that are longer than the value of the LRECL= option are truncated. \\n    The default value of the LRECL= option is 32767. Temporarily increase the value of the LRECL= \\n    option for longer text strings.\"}},{\"Name\":\"SVGAUTOPLAY\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Specifies to automatically start the animation in the web page.\"}},{\"Name\":\"NOSVGAUTOPLAY\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Specifies to display the first frame of the animation in the web page. The animated file is started \\nby clicking\"}},{\"Name\":\"SVGFADEIN=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"Syntax: SVGFADEIN=n \\n    \\nSpecifies the number of seconds for an SVG frame to fade into view.\\n\\nSyntax Description:\\nn\\n  specifies the number of seconds for an SVG frame to fade into view. Valid values can be any \\n  numeric representation (for example, .01, 5, or 6.5).\"}},{\"Name\":\"SVGFADEMODE=\",\"Type\":\"V\",\"Values\":{\"@Value1\":\"OVERLAP\",\"@Value2\":\"SEQUENTIAL\"},\"ToolTips\":{\"@ToolTip1\":\"Specifies that for each SVG frame that is fading in or out of view, the fading of frames overlaps  in the same time span.\",\"@ToolTip2\":\"Specifies that for each SVG frame that is fading in or out of view, the frame fades out after the  fade-out is complete. The next frame is a frame that is fading in.\"},\"Help\":{\"#cdata\":\"Syntax: SVGFADEMODE=OVERLAP | SEQUENTIAL \\n    \\nSpecifies whether an SVG frame overlaps the previous frame or whether each frame is played \\nsequentially when a frame is fading in and out.\"}},{\"Name\":\"SVGFADEOUT=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"Syntax: SVGFADEOUT=n \\n    \\nSpecifies the number of seconds for an SVG frame to fade out of view.\\n\\nSyntax Description:\\nn\\n  specifies the number of seconds for an SVG frame to fade out of view. Valid values can be any \\n  numeric representation (for example, .01, 5, or 6.5).\"}},{\"Name\":\"SVGMAGNIFYBUTTON\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Specifies to enable the SVG magnify tool in SVG documents.\"}},{\"Name\":\"NOSVGMAGNIFYBUTTON\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Specifies to disable the SVG magnify tool for all SVG documents.\"}},{\"Name\":\"EXTENDOBSCOUNTER=\",\"Type\":\"V\",\"Values\":{\"@Value1\":\"YES\",\"@Value2\":\"NO\"},\"ToolTips\":{\"@ToolTip1\":\"Requests an enhanced file format in a newly created SAS data file that counts observations beyond  the 32-bit limitation. Although this SAS data file is created for an operating environment that  stores the number of observations with a 32-bit integer, the data file behaves like a 64-bit file  with respect to counters.\",\"@ToolTip2\":\"Determined by the long integer size for the operating environment. In operating environments with  a 32-bit integer, the maximum number is 231\\u20131 or approximately two billion observations  (2,147,483,647). In operating environments with a 64-bit integer, the maximum number is 263\\u20131  or approximately 9.2 quintillion observations.\"},\"Help\":{\"#cdata\":\"Syntax: EXTENDOBSCOUNTER=YES | NO\\n    \\nSpecifies whether to extend the maximum observation count in a new output SAS data file.\"}},{\"Name\":\"CSTGLOBALLIB=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"Syntax: CSTGLOBALLIB='location' \\n    \\nSpecifies the location of the SAS Clinical Standards Toolkit global standards library. \\n\\nSyntax Description:\\n'location'\\n  specifies the directory where the SAS Clinical Standards Toolkit global standards library \\n  is located. If the directory contains spaces, enclose the directory in quotation marks.\"}},{\"Name\":\"CSTSAMPLELIB=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"Syntax: CSTSAMPLELIB='location' \\n    \\nSpecifies the location of the SAS Clinical Standards Toolkit sample library.\\n\\nSyntax Description:\\n'location'\\n  specifies the directory where the SAS Clinical Standards Toolkit global sample library \\n  is located. If the directory contains spaces, enclose the directory in quotation marks.\"}},{\"Name\":\"DSACCEL=\",\"Type\":\"V\",\"Values\":{\"@Value1\":\"ANY\",\"@Value2\":\"NONE\"},\"ToolTips\":{\"@ToolTip1\":\"Enables the DATA step to execute in supported parallel environments.\",\"@ToolTip2\":\"Disables the DATA step from executing in supported parallel environments.\"},\"Help\":{\"#cdata\":\"Syntax: DSACCEL=ANY | NONE \\n    \\nSpecifies whether the DATA step is enabled for parallel processing in supported environments.\"}},{\"Name\":\"AUTHINFO=|CASAUTHINFO=\",\"Type\":\"V|CAS\",\"Help\":{\"#cdata\":\"Syntax: AUTHINFO='authinfo_file_path'  | CASAUTHINFO='authinfo_file_path'\\n    \\nSpecifies a file where user ID and passwords are kept for authentication. \\n\\nauthinfo_file_path\\n  specifies the path where an Authinfo file is located. The Authinfo file provides an alternative \\n  to including passwords in programs. The most frequent use of this option is to submit code to \\n  CAS from the command line, in batch mode.\"}},{\"Name\":\"CASDATALIMIT=\",\"Type\":\"V|CAS\",\"Values\":{\"@Value1\":\"<integer>\",\"@Value2\":\"<integerK>\",\"@Value3\":\"<integerM>\",\"@Value4\":\"<integerG>\",\"@Value5\":\"ALL\"},\"ToolTips\":{\"@ToolTip1\":\"Specifies the total number of bytes to read \",\"@ToolTip2\":\"Specifies the total number of kilobytes to read.\",\"@ToolTip3\":\"Specifies the total number of megabytes to read.\",\"@ToolTip4\":\"Specifies the total number of gigabytes to read.\",\"@ToolTip5\":\"Specifies that the entire file can be read, no matter how large it is.\"},\"Help\":{\"#cdata\":\"[Syntax: CASDATALIMIT=integer | integerK | integerM | integerG | ALL]\\n    \\nSpecifies the maximum number of bytes of data that can transferred from the SAS Cloud Analytic Services server to SAS. \\n\\nDefault: 100M\\n\\nTip:\\nThis option can prevent you from accidentally transferring a large amount of data from the server to the client.\\n\\nWhen you use the caslib all assign; statement to create CAS LIBNAME assignments for all defined caslibs, \\nthe default value of 100M is used as the maximum number of bytes that can be transferred from the CAS \\nserver to SAS.. To override this value, use the CASDATALIMIT= system option. \\n\\nIn SAS Viya, you can limit the data transferred from the CAS server to SAS by using the DATALIMIT LIBNAME \\noption or the DATALIMIT data set option.\"}},{\"Name\":\"CASHOST=\",\"Type\":\"V|CAS\",\"Help\":{\"#cdata\":\"Syntax: CASHOST=\\\"host-name\\\"\\n\\nSpecifies the host name of CAS that is associated with a CAS session. \\n\\nRange: 256 characters \\n\\nExample:\\nOPTIONS CASHOST=\\\"rdcgrd001.unx.sas.com\\\";\"}},{\"Name\":\"CASLIB=\",\"Type\":\"V|CAS\",\"Help\":{\"#cdata\":\"Syntax: CASLIB=\\\"name\\\"\\n    \\nSpecifies the caslib name for the session that is identified by the SESSREF= option.\\n\\nDefault: None\\nRange: 128 characters\\n\\nInteraction:\\nThe CAS statement session option CASLIB= overrides this option. For more information, see CASLIB= Session Option.\\n\\nNote:\\nThis option can be restricted by a site administrator.\\n\\nTip:\\nA best practice is to explicitly set options for a session using the CAS statement SESSOPTS= option. \\nHere is an example:\\n  \\n  cas mysess sessopts=(caslib=mycaslib collate=UCA); \"}},{\"Name\":\"CASNUMCHARMULTIPLIER=\",\"Type\":\"V|CAS\",\"Help\":{\"#cdata\":\"Syntax: CASNUMCHARMULTIPLIER=n\\n    \\nSpecifies a multiplication factor that is used to increase the number of bytes for a fixed character \\nvariable when data is transcoded to the UTF-8 encoding in order to run in the CAS server.\"}},{\"Name\":\"CASNWORKERS=\",\"Type\":\"V|CAS\",\"Values\":{\"@Value1\":\"ALL\",\"@Value2\":\"<number>\"},\"ToolTips\":{\"@ToolTip1\":\"Specifies to use all of the worker nodes.\",\"@ToolTip2\":\"Specifies the number of worker nodes to use. Replace <number> with an integer value ranging from 0 to 5000.\"},\"Help\":{\"#cdata\":\"Syntax: CASNWORKERS= ALL | number \\n    \\nSyntax Description:\\nALL \\n  specifies to use all of the worker nodes. \\nnumber\\n  specifies the number of worker nodes to use. \\n  In SMP mode, number is always 0, whether you set CASNWORKERS= to 0 or 1. \\n  In MPP mode, specify number=0 to use the maximum number of worker nodes that are available. You can set \\n    CASNWORKERS= to a number that is less than or equal to the maximum number of worker nodes. \\n  Range: 0-5000\"}},{\"Name\":\"CASPORT=\",\"Type\":\"V|CAS\",\"Help\":{\"#cdata\":\"Syntax: CASPORT=port-number\\n    \\nSpecifies the port to use when connecting to CAS. \\n\\nDefault: 0\\nRange: 0 to 65535 \\n\\nExample:\\nOPTIONS CASPORT=12345;\"}},{\"Name\":\"CASSESSOPTS=|SESSOPTS=\",\"Type\":\"V|CAS\",\"Help\":{\"#cdata\":\"Syntax: CASSESSOPTS=(session-options) | SESSOPTS=(session-options) \\n\\nSpecifies one or more CAS session options for the default CAS session. \\n\\nThe following is a list of most of the session-options: \\n  APPTAG= specifies the string to prefix to log messages.\\n  AUTOCORRECT= automatically corrects misspelled procedure names and keywords, and global statement names.\\n  CASLIB= specifies the caslib name to set as the active caslib.\\n  COMPOPT= specifies the type of code generation optimizations to use in the SAS language compiler.\\n  COLLATE= specifies the collating sequence for sorting.\\n  DATASTEPFMTERR= specifies how the DATA step reacts when SAS cannot find a specified variable format.\\n  DATASTEPMSGSUMLEVEL= specifies the DATA step message summary level.\\n  DATASTEPREPLACETABLE= specifies whether a DATA step can replace an existing table.   \\n  DATASTMTCHK= specifies which SAS statement keywords are prohibited from being specified as a one-level \\n    DATA step name to protect against overwriting an input data set. \\n  DKRICOND= specifies the error level to report when a variable is missing from an input data set during \\n    the processing of a DROP=, KEEP=, or RENAME= data set option.\\n  DKROCOND= specifies the error level to report when a variable is missing from an output data set during \\n    the processing of a DROP=, KEEP=, or RENAME= data set option. \\n  DQLOCALE specifies the default 5-letter SAS Quality Knowledge Base (QKB) ISO locale code to use as the \\n    default locale for data quality (DQ) operations. \\n  DQSETUPLOC specifies the name of the default SAS Quality Knowledge Base (QKB) to use for data quality operations.\\n  ERRORS= specifies the maximum number of observations for which SAS issues complete error messages. \\n  EVENTDS specifies one or more data sets that define events.\\n  FMTCASLIB specifies the caslib where persisted format libraries are retained. \\n  INVALIDDATA= specifies the value that SAS assigns to a variable when invalid numeric data is encountered.\\n  INTERVALDS specifies one or more interval-name=value pairs, where the value is the name of a data set that \\n    contains user-defined intervals.\\n  LOCALE= specifies the locale to use for sorting and formatting.\\n  LOGFLUSHTIME= specifies the log flush time, in milliseconds. \\n  MAXTABLEMEM= specifies the maximum amount of physical memory, in bytes, to allocate for a table.\\n  MESSAGELEVEL= specifies the log message level.\\n  METRICS= specifies whether to include detailed performance metrics reports in the SAS log. \\n  NWORKERS= specifies the number of worker nodes for a new session.\\n  TIMEOUT= specifies the SAS Cloud Analytic Services session time-out in seconds for a new or existing session.\\n  TIMEZONE= specifies the time zone offset, in hours, from UTC.\"},\"SubOptionsKeywords\":\"\\n      |APPTAG=|AUTOCORRECT=|CASLIB=|COLLATE=|DATASTEPREPLACETABLE=|DATASTMTCHK=|DKRICOND=|DKROCOND=|ERRORS=|FMTCASLIB|\\n      |INVALIDDATA=|LOCALE=|LOGFLUSHTIME=|MAXTABLEMEM=|MESSAGELEVEL=|METRICS=|NWORKERS=|TIMEOUT=|TIMEZONE=|VARINITCHK=|\\n      |DATASTEPMSGSUMLEVEL=|DATASTEPFMTERR=|DQLOCALE|DQSETUPLOC|EVENTDS|INTERVALDS|\\n    \"},{\"Name\":\"CASTIMEOUT=\",\"Type\":\"V|CAS\",\"Help\":{\"#cdata\":\"Syntax: CASTIMEOUT=seconds\\n    \\nSpecifies the CAS session time-out in seconds. The session time-out starts ticking when the number of \\nconnections to the session is zero.\\n\\nDefault: 60\\nRange: 0 to 99999999 \\n\\nExample:\\nOPTIONS CASTIMEOUT=28800;\"}},{\"Name\":\"CASUSER=|CASUSERID=\",\"Type\":\"V|CAS\",\"Help\":{\"#cdata\":\"Syntax: CASUSER=user-ID \\n    \\nSpecifies the user ID to use when connecting to CAS. \\n\\nDefault: no value \\n\\nExample:\\nOPTIONS CASUSER=saszzz ;\"}},{\"Name\":\"DSCAS\",\"Type\":\"S|CAS\",\"Help\":{\"#cdata\":\"Specifies that by default, the DATA step runs in the CAS server.\"}},{\"Name\":\"NODSCAS\",\"Type\":\"S|CAS\",\"Help\":{\"#cdata\":\"Specifies that by default, the DATA step runs in SAS.\"}},{\"Name\":null,\"Type\":\"V|CAS\",\"Help\":{\"#cdata\":\"Syntax: \"}},{\"Name\":\"CASINSTALL=\",\"Type\":\"V|CAS\",\"Help\":{\"#cdata\":\"Syntax: CASINSTALL=\\\"physical-file\\\"\\n    \\nSpecifies installation location used to start CAS. \\n\\nNote: At a customer site, CASINSTALL is expected to be defined in an environment variable, CAS_INSTALL, \\nthat is set in the install scripts. Note: Alternatively, INSTALL= can be included in the specified \\nSETUPFILE= when a server is started with PROC CASOPERATE. \\n\\nRange: 256 characters \\n\\nExample:\\nOPTIONS CASINSTALL=\\\"/opt/v9cas/laxnd/TKGrid\\\";\"}},{\"Name\":\"CASLIFETIME=\",\"Type\":\"V|CAS\",\"Help\":{\"#cdata\":\"Syntax: CASLIFETIME=duration \\n\\nSpecifies the duration, in minutes, for a server to run. After the specified lifetime is exceeded, \\nthe server automatically shuts down. The CASLIFETIME= value is read during server start up. \\n\\nRange: 0 to 1000000 minutes\\nDefault: 1000000 minutes \\n\\nExample:\\nOPTIONS CASLIFETIME=480; /* shut down the server after 8 hours */\"}},{\"Name\":\"CASLOGCNTL=\",\"Type\":\"V|CAS\",\"Values\":{\"@Value1\":\"METRICS\",\"@Value2\":\"NOMETRICS\"},\"ToolTips\":{\"@ToolTip1\":\"Specifies to include detailed performance metrics in the SAS log.\",\"@ToolTip2\":\"Specifies to exclude the detailed performance metrics from the SAS log.\"},\"Help\":{\"#cdata\":\"Syntax: CASLOGCNTL= METRICS | NOMETRICS \\n    \\nSpecifies the logging control for logging CAS actions. \\n\\nMETRICS\\n  specifies to include detailed performance metrics in the SAS log.\\n\\nNOMETRICS\\n  specifies to exclude the detailed performance metrics from the SAS log.\"}},{\"Name\":\"SESSREF=|CASNAME=\",\"Type\":\"V|CAS\",\"Help\":{\"#cdata\":\"Syntax: SESSREF=reference-name |CASNAME=reference-name \\n    \\nIndicates the default session name. This session name is used when creating a session if the creation \\nrequest does not explicitly identify the session name. This session name is used to identify a session \\nwhen a request does not explicitly identify the session name. \\n\\nDefault: CASAUTO\\nRange: 256 characters \\n\\nExample:\\nOPTIONS SESSREF=mysessref;\\nOPTIONS CASNAME=mysessref;\"}},{\"Name\":\"ACCESSIBLECHECK\",\"Type\":\"S|CAS\",\"Help\":{\"#cdata\":\"Specifies to write messages to the SAS log if accessibility problems are found.\"}},{\"Name\":\"NOACCESSIBLECHECK\",\"Type\":\"S|CAS\",\"Help\":{\"#cdata\":\"Specifies not to detect for accessibility problems or write accessibility problem\\nmessages to the SAS log.\"}},{\"Name\":\"ACCESSIBLEGRAPH\",\"Type\":\"S|CAS\",\"Help\":{\"#cdata\":\"Specifies to create accessible ODS graphics by default.\\n    \\nTip: When you specify the ACCESSIBLEGRAPH system option, you do not need\\nto set the ACCESSIBLE=YES option in the ODS HTML5 statement.\"}},{\"Name\":\"NOACCESSIBLEGRAPH\",\"Type\":\"S|CAS\",\"Help\":{\"#cdata\":\"Specifies not to create accessible ODS graphics by default.\"}},{\"Name\":\"ACCESSIBLEPDF\",\"Type\":\"S|CAS\",\"Help\":{\"#cdata\":\"Specifies to create accessible graphs, by default, for the ODS PDF destination. \\n    \\nTip: When you set the ACCESSIBLEPDF system option, you do not need to set the\\nACCESSIBLE option in the ODS PDF statement.\"}},{\"Name\":\"NOACCESSIBLEPDF\",\"Type\":\"S|CAS\",\"Help\":{\"#cdata\":\"Specifies not to create accessible graphs for the ODS PDF destination.\"}},{\"Name\":\"ACCESSIBLETABLE\",\"Type\":\"S|CAS\",\"Help\":{\"#cdata\":\"Specifies to create accessible tables and reports by default.\"}},{\"Name\":\"NOACCESSIBLETABLE\",\"Type\":\"S|CAS\",\"Help\":{\"#cdata\":\"Specifies not to create accessible tables and reports by default.\"}}],\"#comment\":[{},{},{},{},{},{},{},{},{},{},{},{}]}}"
  },
  {
    "path": "server/data/Statements/PATTERN.json",
    "content": "{\"Keywords\":{\"Keyword\":[{\"Name\":\"COLOR=|C=\",\"Type\":\"C\",\"Help\":{\"#cdata\":\"[Syntax: COLOR=symbol-color | _style_] \\n    \\nSpecifies the color of the fill. Pattern-color is any SAS/GRAPH color name.\"}},{\"Name\":\"COLOR=_STYLE_\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"Specifies the appropriate color of the fill based on the current style.\"}},{\"Name\":\"IMAGE=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[Syntax: IMAGE= fileref | \\\"external-file\\\"] \\n    \\nSpecifies an image file that is used to fill one or more bars of a bar chart, as \\ngenerated by the HBAR, HBAR3D, VBAR, and VBAR3D statements of the GCHART procedure. \\nThe format of the external file specification varies across operating environments.\"}},{\"Name\":\"IMAGESTYLE=\",\"Type\":\"V\",\"Values\":{\"@Value1\":\"TILE\",\"@Value2\":\"FIT\"},\"ToolTips\":{\"@ToolTip1\":\"Repeats the image as needed to fill the bar. This is the default.\",\"@ToolTip2\":\"Stretches a single instance of the image to fill the bar.\"},\"Help\":{\"#cdata\":\"Specifies how the image specified in the IMAGE= option is to be applied to fill a bar \\nin a bar chart.\"}},{\"Name\":\"REPEAT=|R=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[Syntax: REPEAT=number-of-times] \\n    \\nSpecifies the number of times that a PATTERN definition is applied before the next \\nPATTERN definition is used. By default, REPEAT=1.\"}},{\"Name\":\"VALUE=EMPTY\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"Specifies an empty pattern for: \\n\\no bar charts produced by the HBAR, HBAR3D, VBAR, and VBAR3D statements in the \\n  GCHART procedure including two-dimensional and three-dimensional bar shapes.\\n\\no the front surface of blocks in block charts produced by the BLOCK statement \\n  in the GCHART procedure.\\n\\no the blocks in block maps produced by the BLOCK statement in the GMAP procedure.\"}},{\"Name\":\"VALUE=|V=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"Specifies patterns for maps/plots/charts--that is, the type of fill.\"}},{\"Name\":\"VALUE=SOLID\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"Specifies a solid pattern for: \\n\\no bar charts produced by the HBAR, HBAR3D, VBAR, and VBAR3D statements in the GCHART \\n  procedure including two-dimensional and three-dimensional bar shapes.\\n\\no the front surface of blocks in block charts produced by the BLOCK statement in the \\n  GCHART procedure.\\n\\no the blocks in block maps produced by the BLOCK statement in the GMAP procedure.\"}},{\"Name\":\"VALUE=style&lt;density&gt;\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[Syntax: VALUE=style<density>] \\n    \\nSpecifies a shaded pattern for: \\n\\nbar charts produced by the HBAR, HBAR3D, VBAR, and VBAR3D statements in the GCHART procedure\\nincluding two-dimensional and three-dimensional bar shapes.\\n\\n  o the front surface of blocks in block charts produced by the BLOCK statement in the \\n    GCHART procedure.\\n\\n  o the blocks in block maps produced by the BLOCK statement in the GMAP procedure.\\n\\nstyle specifies the direction of the lines: L left-slanting lines.\\n\\n  R right-slanting lines.\\n   \\n  X crosshatched lines.   \\n\\nDensity specifies the density of the pattern's shading: \\n\\n  1...5\\n  1 produces the lightest shading and 5 produces the heaviest shading.\"}},{\"Name\":\"VALUE=MEMPTY\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"Specifies an empty pattern for the following: \\n\\n  o contour levels in contour plots produced by the GCONTOUR procedure\\n\\n  o map area surfaces in block, choropleth, and prism maps produced by the BLOCK, CHORO, \\n    AND PRISM statements in the GMAP procedure.\\n\\n  o areas under curves in plots produced by the AREAS= option in the PLOT statement \\n    in the GPLOT procedure.\"}},{\"Name\":\"VALUE=MSOLID\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"Specifies a solid pattern for the following: \\n\\n  o contour levels in contour plots produced by the GCONTOUR procedure\\n\\n  o map area surfaces in block, choropleth, and prism maps produced by the BLOCK, CHORO, \\n    AND PRISM statements in the GMAP procedure.\\n\\n  o areas under curves in plots produced by the AREAS= option in the PLOT statement in \\n    the GPLOT procedure.\"}},{\"Name\":\"VALUE=Mdensity&lt;style&lt;angle&gt;&gt;\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"Specifies a shaded pattern for the following: \\n\\n  o contour levels in contour plots produced by the GCONTOUR procedure\\n\\n  o map area surfaces in block, choropleth, and prism maps produced by the BLOCK, CHORO, \\n    AND PRISM statements in the GMAP procedure.\\n\\n  o areas under curves in plots produced by the AREAS= option in the PLOT statement \\n    in the GPLOT procedure.\\n  \\nDensity specifies the density of the pattern's shading: \\n\\n  1...5 1 produces the lightest shading and 5 produces the heaviest shading. \\n\\nStyle specifies the type of the pattern lines: \\n\\n  N parallel lines (the default).\\n   \\n  X crosshatched lines. \\n\\nAngle specifies the angle of the pattern lines: \\n\\n  0...360 the degrees at which the parallel lines are drawn, measured from the \\n  horizontal. By default, angle is 0 (lines are horizontal).\"}},{\"Name\":\"VALUE=PEMPTY\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"Specifies an empty pattern for pie and star charts produced by the PIE and STAR \\nstatements in the GCHART procedure.\"}},{\"Name\":\"VALUE=PSOLID\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"Specifies a solid pattern for pie and star charts produced by the PIE and STAR \\nstatements in the GCHART procedure.\"}},{\"Name\":\"VALUE=Pdensity&lt;style&lt;angle&gt;&gt;\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"Specifies a shaded pattern for pie and star charts produced by the PIE and STAR statements \\nin the GCHART procedure.\\n    \\nDensity specifies the density of the pattern's shading: \\n\\n  1...5 1 produces the lightest shading and 5 produces the heaviest shading.\\n \\nStyle specifies the type of the pattern lines: \\n\\n  N parallel lines (the default).\\n   \\n  X crosshatched lines.   \\n\\nAngle specifies the angle of the pattern lines: \\n\\n  0...360 the angle of the lines, measured in degrees from perpendicular to the radius of the slice. \\n  By default, angle is 0.\"}}]}}"
  },
  {
    "path": "server/data/Statements/RDISPLAY.json",
    "content": "{\"Keywords\":{\"Keyword\":{\"Name\":\"CONNECTREMOTE=|CREMOTE=|PROCESS=|REMOTE=\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"[Syntax: CONNECTREMOTE=server-ID] \\n    \\nCreates a Log window to display the lines from the log and an Output window to list \\nthe output generated from the execution of the statements within an asynchronous \\nRSUBMIT block.\"}}}}"
  },
  {
    "path": "server/data/Statements/RGET.json",
    "content": "{\"Keywords\":{\"Keyword\":{\"Name\":\"CONNECTREMOTE=|CREMOTE=|PROCESS=|REMOTE=\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"[Syntax: CONNECTREMOTE=server-ID] \\n    \\nSpecifies the name of the server session that generated the spooled log and output \\nto be retrieved. If only one session is active, server-ID can be omitted. If multiple \\nserver sessions are active and the option is omitted, the spooled log and output \\nstatements from the most recently accessed server session are retrieved and merged \\ninto the client Log and Output windows. You can find out which server session is the \\ncurrent session by examining the value that is assigned to the CONNECTREMOTE system \\noption.\"}}}}"
  },
  {
    "path": "server/data/Statements/RSUBMIT.json",
    "content": "{\"Keywords\":{\"Keyword\":[{\"Name\":\"AUTHDOMAIN=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[Syntax: AUTHDOMAIN=auth-domain | \\\"auth-domain\\\"] \\n    \\nSpecifies the name of an authentication domain, which is a metadata object that \\nmanages the credentials (user ID and password) that are associated with the specified \\ndomain. Specifying the authentication domain is a convenient way to obtain the metadata-\\nbased user credentials rather than having to explicitly supply them during server sign-on.\"}},{\"Name\":\"CMACVAR=|MACVAR=\",\"Type\":\"V\",\"Values\":{\"@Value1\":\"0\",\"@Value2\":\"1\",\"@Value3\":\"2\",\"@Value4\":\"3\"},\"ToolTips\":{\"@ToolTip1\":\"Indicates that the sign-on is successful.\",\"@ToolTip2\":\"Indicates that the sign-on failed\",\"@ToolTip3\":\"Indicates that you have already signed on to the current server session.\",\"@ToolTip4\":\"Indicates that the sign-on is still in progress.\"},\"Help\":{\"#cdata\":\"Specifies the macro variable to associate with the current RSUBMIT block. Specifying \\nCMACVAR= in an individual RSUBMIT restricts the macro variable to that RSUBMIT block. \\nIf multiple asynchronous RSUBMIT statements execute in the same server session, and \\neach RSUBMIT contains a CMACVAR= specification, each macro variable will be restricted \\nto the respective RSUBMIT block. The macro variable is set at the completion of the \\nRSUBMIT block.\"}},{\"Name\":\"CONNECTPERSIST=|CPERSIST=|PERSIST=\",\"Type\":\"V\",\"Values\":{\"@Value1\":\"YES|Y\",\"@Value2\":\"NO|N\"},\"ToolTips\":{\"@ToolTip1\":\"Specifies that a connection to the server session continues. A sign-off is not  automatically performed after the RSUBMIT has completed. CONNECTPERSIST  maintains the connection for subsequent RSUBMIT statements.\",\"@ToolTip2\":\"Specifies that a connection to the server session terminates. A sign-off is automatically  performed after the RSUBMIT has completed. Setting NO requires that you sign on to the  server session again before you perform the next RSUBMIT.\"},\"Help\":{\"#cdata\":\"Specifies whether the Transfer Status window is displayed for file transfers within \\nthe current server session.\"}},{\"Name\":\"CONNECTREMOTE=|CREMOTE=|PROCESS=|REMOTE=\",\"Type\":\"S|V\",\"Help\":{\"#cdata\":\"[Syntax: CONNECTREMOTE=server-ID] \\n    \\nSpecifies the name of the server session that the RSUBMIT statements are executed in. \\nIf only one session is active, server-ID can be omitted.\"}},{\"Name\":\"CONNECTSTATUS=|CSTATUS=|STATUS=\",\"Type\":\"V\",\"Values\":{\"@Value1\":\"YES|Y\",\"@Value2\":\"NO|N\"},\"ToolTips\":{\"@ToolTip1\":\"Indicates that the Transfer Status window is displayed for file transfers within the current RSUBMIT.\",\"@ToolTip2\":\"Indicates that the Transfer Status window is not displayed for file transfers within the current RSUBMIT.\"},\"Help\":{\"#cdata\":\"Specifies whether the Transfer Status window is displayed for file transfers within \\nthe current RSUBMIT.\"}},{\"Name\":\"CONNECTWAIT=|CWAIT=|WAIT=\",\"Type\":\"V\",\"Values\":{\"@Value1\":\"YES|Y\",\"@Value2\":\"NO|N\"},\"ToolTips\":{\"@ToolTip1\":\"Specifies that the RSUBMIT blocks execute synchronously.\",\"@ToolTip2\":\"Specifies that the RSUBMIT blocks execute asynchronously.\"},\"Help\":{\"#cdata\":\"Specifies whether RSUBMIT blocks execute synchronously or asynchronously. Synchronous \\nRSUBMIT statements are executed sequentially. An RSUBMIT must be completed in the \\nserver session before control is returned to the client session.\"}},{\"Name\":\"CSCRIPT=|SCRIPT=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[Syntax: CSCRIPT=file-specification] \\n    \\nSpecifies the script file to use in an RSUBMIT when the AUTOSIGNON\\nsystem option has been specified and a sign-on has not yet occurred.\"}},{\"Name\":\"CSYSRPUTSYNC=|SYSRPUTSYNC=\",\"Type\":\"V\",\"Values\":{\"@Value1\":\"YES|Y\",\"@Value2\":\"NO|N\"},\"ToolTips\":{\"@ToolTip1\":\"Specifies that the client session's macro variables will be updated when the client  receives the results of the server session's execution of the %SYSRPUT macro.\",\"@ToolTip2\":\"Specifies that the client session's macro variables will be updated when a synchronization  point is encountered. This is the default.\"},\"Help\":{\"#cdata\":\"Specifies whether to synchronize the client session's macro variables when the client \\nsession receives results from the server session or when a synchronization point is \\nencountered. Macro variables are updated in the client session using the %SYSRPUT \\nmacro in a SIGNON statement.\"}},{\"Name\":\"INHERITLIB=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"Syntax: INHERITLIB=(client-libref1<=server-libref1> ... client-librefn<=server-librefn>)\\n    \\nEnables libraries that are defined in the client session to be inherited by the server \\nsession for read and write access.]\"}},{\"Name\":\"LOG=|OUTPUT=\",\"Type\":\"V\",\"Values\":{\"@Value1\":\"KEEP\",\"@Value2\":\"PURGE\",\"@Value3\":\"<file-specification>\"},\"ToolTips\":{\"@ToolTip1\":\"Spools log or output lines, as applicable, to the backing store or to the computer on which the client session is running. The log or output lines can be retrieved using the RGET, RDISPLAY, RSUBMIT CONNECTWAIT=YES, or SIGNOFF statement. This is the default.\",\"@ToolTip2\":\"Deletes all the log or output lines that are generated by the current server session. PURGE is  used to save disk resources. Use PURGE if you can anticipate a large volume of log data or output data to the backing store that you do not want to keep, and you want to preserve disk space.\",\"@ToolTip3\":\"Specifies a file that is the destination for the log or output lines. The file is opened for output at the beginning of the asynchronous RSUBMIT and is closed at the end of the RSUBMIT.\"},\"Help\":{\"#cdata\":\"Syntax: LOG=KEEP | PURGE | file-specification\\n    \\nDirects the SAS log or the SAS output that is generated by the current server session \\nto the backing store or to the specified file. A backing store is a SAS utility file \\nthat is written to the client SAS WORK directory.\"}},{\"Name\":\"NOCSCRIPT|NOSCRIPT\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Specifies that no script file should be used for sign-on. NOCSCRIPT accelerates \\nsign-on and conserves memory resources.\"}},{\"Name\":\"NOTIFY=\",\"Type\":\"V\",\"Values\":{\"@Value1\":\"YES|Y\",\"@Value2\":\"NO|N\",\"@Value3\":\"<\\\"e-mail-address\\\">\"},\"ToolTips\":{\"@ToolTip1\":\"Enables notification via a message window. Here is the format of the default message:     Asynchronous task TASK1 has completed.  TASK1 is the server ID.\",\"@ToolTip2\":\"Disables notification. This is the default.\",\"@ToolTip3\":\"Enables notification via an e-mail message, and specifies the e-mail address of the  recipient for the notification. E-mail addresses are limited to a maximum of 256  characters. Enclose the e-mail address in double or single quotation marks.\"},\"Help\":{\"#cdata\":\"[Syntax: NOTIFY=YES | NO | \\\"e-mail-address\\\"] \\n    \\nSpecifies whether to notify the user that an asynchronous RSUBMIT has completed. \\nThe notification can be in the form of a message window or an e-mail message.\"}},{\"Name\":\"SASCMD=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"Signs on to the server session on the same symmetric multiprocessing (SMP) computer \\nthat the client session is running on. This option is most useful when client and \\nserver sessions run on SMP hardware.\\n    \\nSyntax: SASCMD=\\\"SAS-command\\\" | \\\"!sascmd\\\" | \\\"!sascmdv\\\" | \\\"host-command-file\\\"\\n\\nwhere:\\n\\n\\\"SAS command\\\" \\nFor UNIX, OpenVMS, and Windows, specifies the command that is used to sign on to a server session.\\n\\n  Here is a typical example: \\n\\n  sascmd=\\\"sas\\\"\\n\\n\\\"!sascmd\\\" \\nFor UNIX, OpenVMS, and Windows, signs on to a server session by using the same command that was used\\nto invoke the client session\\n\\n\\\"!sascmdv\\\" \\nFor UNIX, OpenVMS, and Windows, signs on to a server session by using the same command that was used\\nto start the client session and writes the SAS invocation to the SAS log.\\n\\n\\\"host-command-file\\\" \\nIn order to execute additional commands before SAS invocation, you can write a command file that is\\nspecific to your operating environment. Filename extensions vary according to operating environment.\\nWindows filenames use the .bat and .cmd extensions. UNIX extensions include .sh , .csh , and .ksh . \\nOpenVMS uses the .com extension.\"}},{\"Name\":\"SERVER=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"Syntax: SERVER=\\\"SAS-application-server\\\"\\n    \\nSpecifies the name of a SAS Application Server that contains a SAS/CONNECT server component in its grouping.\"}},{\"Name\":\"SIGNONWAIT=\",\"Type\":\"V\",\"Values\":{\"@Value1\":\"YES|Y\",\"@Value2\":\"NO|N\"},\"ToolTips\":{\"@ToolTip1\":\"Specifies synchronous sign-on. A synchronous sign-on causes the client session to  wait until the sign-on to a server session has completed before control is returned  to the client session for continued execution. YES is the default.\",\"@ToolTip2\":\"Specifies an asynchronous sign-on. An asynchronous sign-on to a server session begins  execution and control is returned to the client session immediately for continued  execution.\"},\"Help\":{\"#cdata\":\"Specifies whether a sign-on to a server session is to be executed synchronously \\nor asynchronously.\"}},{\"Name\":\"SUBJECT=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[Syntax: SUBJECT=\\\"subject-title\\\"] \\n    \\nSpecifies the subject title for the e-mail notification message that is sent \\nafter an asynchronous RSUBMIT completes. A subject title is limited to a maximum\\nof 256 characters.\"}},{\"Name\":\"USERNAME=|UID=|USER=|USERID=\",\"Type\":\"V\",\"Values\":{\"@Value1\":\"<user-ID>\",\"@Value2\":\"_PROMPT_\"},\"ToolTips\":{\"@ToolTip1\":\"A valid user ID.\",\"@ToolTip2\":\"Specifies that SAS prompt the user for a valid user ID. This value enforces security.\"},\"Help\":{\"#cdata\":\"Specifies the user ID to use in order to sign on to a server session.\"}},{\"Name\":\"PASSWORD=|PASS=|PASSWD=|PW=|PWD=\",\"Type\":\"V\",\"Values\":{\"@Value1\":\"<password>\",\"@Value2\":\"<\\\"password\\\">\",\"@Value3\":\"_PROMPT_\"},\"ToolTips\":{\"@ToolTip1\":\"Must be a valid SAS name that is 1 to 8 characters in length.\",\"@ToolTip2\":\"Is an encoded version of a password. Using encoded passwords promotes security and  enables you to store SAS programs that do not contain clear-text passwords.\",\"@ToolTip3\":\"Specifies that SAS prompt the user for a valid password. This value enforces security.\"},\"Help\":{\"#cdata\":\"Specifies the password to use in order to sign on to a server session. The operating \\nenvironment that the server runs under can also affect password naming conventions.\"}}]}}"
  },
  {
    "path": "server/data/Statements/RUN.json",
    "content": "{\"Keywords\":{\"Keyword\":{\"Name\":\"CANCEL\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Terminates the current step without executing it. SAS prints a message that indicates that \\nthe step was not executed.  \\n\\nCAUTION:\\nThe CANCEL option does not prevent execution of a DATA step that contains a DATALINES or DATALINES4 statement.  \\n\\nCAUTION:\\nThe CANCEL option has no effect when you use the KILL option with PROC DATASETS.\"}}}}"
  },
  {
    "path": "server/data/Statements/SIGNOFF.json",
    "content": "{\"Keywords\":{\"Keyword\":[{\"Name\":\"_ALL_\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Ends all client/server connections sequentially, starting with the first server session that you\\nsigned on to.\"}},{\"Name\":\"CMACVAR=|MACVAR=\",\"Type\":\"V\",\"Values\":{\"@Value1\":\"0\",\"@Value2\":\"1\",\"@Value3\":\"2\"},\"ToolTips\":{\"@ToolTip1\":\"Indicates that the sign-off is successful.\",\"@ToolTip2\":\"Indicates that the sign-off failed\",\"@ToolTip3\":\"Indicates that the sign-off was unnecessary.\"},\"Help\":{\"#cdata\":\"Specifies the macro variable to associate with the sign-off.\"}},{\"Name\":\"CONNECTREMOTE=|CREMOTE=|PROCESS=|REMOTE=\",\"Type\":\"S|V\",\"Help\":{\"#cdata\":\"[Syntax: CONNECTREMOTE=server-ID] \\n    \\nSpecifies the name of the server session that you want to sign off from.\\nIf only one session is active, server-ID can be omitted.\"}},{\"Name\":\"CSCRIPT=|SCRIPT=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[Syntax: CSCRIPT=file-specification] \\n    \\nSpecifies the script file to be used during sign-off.\"}},{\"Name\":\"NOCSCRIPT|NOSCRIPT\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Specifies that no SAS/CONNECT script should be used for sign-off. NOCSCRIPT is useful \\nif you have defined the RLINK fileref but do not want to use it during sign-off. \\n\\nNOCSCRIPT accelerates sign-off and saves memory resources.\"}}]}}"
  },
  {
    "path": "server/data/Statements/SIGNON.json",
    "content": "{\"Keywords\":{\"Keyword\":[{\"Name\":\"AUTHDOMAIN=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[Syntax: AUTHDOMAIN=auth-domain | \\\"auth-domain\\\"] \\n    \\nSpecifies the name of an authentication domain, which is a metadata object \\nthat manages the credentials (user ID and password) that are associated with \\nthe specified domain. Specifying the authentication domain is a convenient \\nway to obtain the metadata-based user credentials rather than having to \\nexplicitly supply them during server sign-on.\"}},{\"Name\":\"CMACVAR=|MACVAR=\",\"Type\":\"V\",\"Values\":{\"@Value1\":\"0\",\"@Value2\":\"1\",\"@Value3\":\"2\",\"@Value4\":\"3\"},\"ToolTips\":{\"@ToolTip1\":\"Indicates that the sign-on is successful.\",\"@ToolTip2\":\"Indicates that the sign-on failed\",\"@ToolTip3\":\"Indicates that you have already signed on to the current server session.\",\"@ToolTip4\":\"Indicates that the sign-on is still in progress.\"},\"Help\":{\"#cdata\":\"Specifies the macro variable to associate with the server session. The macro variable is set at the\\ncompletion of the execution of the SIGNON statement. The macro variable becomes the default macro\\nvariable for the current server session.\"}},{\"Name\":\"CONNECTREMOTE=|CREMOTE=|PROCESS=|REMOTE=\",\"Type\":\"S|V\",\"Help\":{\"#cdata\":\"[Syntax: CONNECTREMOTE=server-ID] \\n    \\nSpecifies the name of the server session that you want to sign on to. If only one \\nsession is active, server-ID can be omitted.\"}},{\"Name\":\"CONNECTSTATUS=|CSTATUS=|STATUS=\",\"Type\":\"V\",\"Values\":{\"@Value1\":\"YES|Y\",\"@Value2\":\"NO|N\"},\"ToolTips\":{\"@ToolTip1\":\"Indicates that the Transfer Status window is displayed for file transfers within the  current server session.\",\"@ToolTip2\":\"Indicates that the Transfer Status window is not displayed for file transfers within  the current server session.\"},\"Help\":{\"#cdata\":\"Specifies whether the Transfer Status window is displayed for file transfers within the \\ncurrent server session.\"}},{\"Name\":\"CONNECTWAIT=|CWAIT=|WAIT=\",\"Type\":\"V\",\"Values\":{\"@Value1\":\"YES|Y\",\"@Value2\":\"NO|N\"},\"ToolTips\":{\"@ToolTip1\":\"Specifies that the RSUBMIT blocks execute synchronously.\",\"@ToolTip2\":\"Specifies that the RSUBMIT blocks execute asynchronously.\"},\"Help\":{\"#cdata\":\"Specifies whether the Transfer Status window is displayed for file transfers within the \\ncurrent server session.\"}},{\"Name\":\"CSCRIPT=|SCRIPT=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[Syntax: CSCRIPT=file-specification] \\n    \\nSpecifies the SAS/CONNECT script file to be used during sign-on.\"}},{\"Name\":\"CSYSRPUTSYNC=|SYSRPUTSYNC=\",\"Type\":\"V\",\"Values\":{\"@Value1\":\"YES|Y\",\"@Value2\":\"NO|N\"},\"ToolTips\":{\"@ToolTip1\":\"Specifies that the client session's macro variables will be updated when the client receives the results of the server session's execution of the %SYSRPUT macro.\",\"@ToolTip2\":\"Specifies that the client session's macro variables will be updated when a synchronization  point is encountered. This is the default.\"},\"Help\":{\"#cdata\":\"Specifies whether to synchronize the client session's macro variables when the client \\nsession receives results from the server session or when a synchronization point is \\nencountered. Macro variables are updated in the client session using the %SYSRPUT \\nmacro in a SIGNON statement.\"}},{\"Name\":\"INHERITLIB=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"Syntax: INHERITLIB=(client-libref1<=server-libref1> ... client-librefn<=server-librefn>)\\n    \\nEnables libraries that are defined in the client session to be inherited by the server \\nsession for read and write access.]\"}},{\"Name\":\"LOG=|OUTPUT=\",\"Type\":\"V\",\"Values\":{\"@Value1\":\"KEEP\",\"@Value2\":\"PURGE\",\"@Value3\":\"<file-specification>\"},\"ToolTips\":{\"@ToolTip1\":\"Spools log or output lines, as applicable, to the backing store or to the computer on which the client session is running. The log or output lines can be retrieved using the RGET, RDISPLAY, RSUBMIT CONNECTWAIT=YES, or SIGNOFF statement. This is the default.\",\"@ToolTip2\":\"Deletes all the log or output lines that are generated by the current server session. PURGE is  used to save disk resources. Use PURGE if you can anticipate a large volume of log data or output data to the backing store that you do not want to keep, and you want to preserve disk space.\",\"@ToolTip3\":\"Specifies a file that is the destination for the log or output lines. The file is opened for output at the beginning of the asynchronous RSUBMIT and is closed at the end of the RSUBMIT.\"},\"Help\":{\"#cdata\":\"Syntax: LOG=KEEP | PURGE | file-specification\\n    \\nUsed only when NOSIGNONWAIT is in effect, these options direct the SAS log or the \\nSAS output that is generated by the current server session to the backing store or \\nto a file specification. A backing store is a SAS utility file that is written to \\ndisk in the client SAS WORK library.\"}},{\"Name\":\"NOCSCRIPT|NOSCRIPT\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Specifies that no SAS/CONNECT script file should be used for sign-on. NOCSCRIPT \\naccelerates sign-on and conserves memory resources.\"}},{\"Name\":\"NOTIFY=\",\"Type\":\"V\",\"Values\":{\"@Value1\":\"YES|Y\",\"@Value2\":\"NO|N\",\"@Value3\":\"<\\\"e-mail-address\\\">\"},\"ToolTips\":{\"@ToolTip1\":\"Enables notification via a message window. Here is the format of the default message:     Asynchronous task TASK1 has completed.  TASK1 is the server ID.\",\"@ToolTip2\":\"Disables notification. This is the default.\",\"@ToolTip3\":\"Enables notification via an e-mail message, and specifies the e-mail address of the  recipient for the notification. E-mail addresses are limited to a maximum of 256  characters. Enclose the e-mail address in double or single quotation marks.\"},\"Help\":{\"#cdata\":\"[Syntax: NOTIFY=YES | NO | \\\"e-mail-address\\\"] \\n    \\nSpecifies whether to notify the user that an asynchronous RSUBMIT has completed. \\nThe notification can be in the form of a message window or an e-mail message.\"}},{\"Name\":\"SASCMD=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"Signs on to the server session on the same symmetric multiprocessing (SMP) computer \\nthat the client session is running on. This option is most useful when client and \\nserver sessions run on SMP hardware.\\n    \\nSyntax: SASCMD=\\\"SAS-command\\\" | \\\"!sascmd\\\" | \\\"!sascmdv\\\" | \\\"host-command-file\\\"\\n\\nwhere:\\n\\n\\\"SAS command\\\" \\nFor UNIX, OpenVMS, and Windows, specifies the command that is used to sign on to a server session.\\n\\n  Here is a typical example: \\n\\n  sascmd=\\\"sas\\\"\\n\\n\\\"!sascmd\\\" \\nFor UNIX, OpenVMS, and Windows, signs on to a server session by using the same command that was used\\nto invoke the client session\\n\\n\\\"!sascmdv\\\" \\nFor UNIX, OpenVMS, and Windows, signs on to a server session by using the same command that was used\\nto start the client session and writes the SAS invocation to the SAS log.\\n\\n\\\"host-command-file\\\" \\nIn order to execute additional commands before SAS invocation, you can write a command file that is\\nspecific to your operating environment. Filename extensions vary according to operating environment.\\nWindows filenames use the .bat and .cmd extensions. UNIX extensions include .sh , .csh , and .ksh . \\nOpenVMS uses the .com extension.\"}},{\"Name\":\"SERVER=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"Syntax: SERVER=\\\"SAS-application-server\\\"\\n    \\nSpecifies the name of a SAS Application Server that contains a SAS/CONNECT server \\ncomponent in its grouping.\"}},{\"Name\":\"SERVERV=\",\"Type\":\"V\",\"Values\":{\"@Value1\":\"\\\"SAS-application-server\\\"\",\"@Value2\":\"_ALL_\"},\"ToolTips\":{\"@ToolTip1\":\"Specifies a SAS Application Server that contains a SAS/CONNECT server component,  which has been defined in a SAS Metadata Repository.\",\"@ToolTip2\":\"Displays the sign-on properties for all SAS Application Servers that have been  defined in the SAS Metadata Repository.\"},\"Help\":{\"#cdata\":\"[Syntax: SERVERV=\\\"SAS-application-server\\\" | _ALL_] \\n    \\nDisplays a verbose list of the properties that specify a SAS/CONNECT server sign-on.\"}},{\"Name\":\"SIGNONWAIT=\",\"Type\":\"V\",\"Values\":{\"@Value1\":\"YES|Y\",\"@Value2\":\"NO|N\"},\"ToolTips\":{\"@ToolTip1\":\"Specifies synchronous sign-on. A synchronous sign-on causes the client session to  wait until the sign-on to a server session has completed before control is returned  to the client session for continued execution. YES is the default.\",\"@ToolTip2\":\"Specifies an asynchronous sign-on. An asynchronous sign-on to a server session begins  execution and control is returned to the client session immediately for continued  execution.\"},\"Help\":{\"#cdata\":\"Specifies whether a sign-on to a server session is to be executed synchronously \\nor asynchronously.\"}},{\"Name\":\"SUBJECT=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[Syntax: SUBJECT=\\\"subject-title\\\"] \\n    \\nSpecifies the subject title for the e-mail notification message that is sent \\nafter an asynchronous RSUBMIT completes. A subject title is limited to a maximum\\nof 256 characters.\"}},{\"Name\":\"TBUFSIZE=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[Syntax: TBUFSIZE=buffer-size-in-bytes] \\n    \\nSpecifies the size of the buffer that SAS/CONNECT uses for transferring data \\nbetween a client session and a server session.\"}},{\"Name\":\"USERNAME=|UID=|USER=|USERID=\",\"Type\":\"V\",\"Values\":{\"@Value1\":\"<user-ID>\",\"@Value2\":\"_PROMPT_\"},\"ToolTips\":{\"@ToolTip1\":\"A valid user ID.\",\"@ToolTip2\":\"Specifies that SAS prompt the user for a valid user ID. This value enforces security.\"},\"Help\":{\"#cdata\":\"Specifies the user ID to be used when connecting to a server session.\"}},{\"Name\":\"PASSWORD=|PASS=|PASSWD=|PW=|PWD=\",\"Type\":\"V\",\"Values\":{\"@Value1\":\"<password>\",\"@Value2\":\"<\\\"password\\\">\",\"@Value3\":\"_PROMPT_\"},\"ToolTips\":{\"@ToolTip1\":\"Must be a valid SAS name that is 1 to 8 characters in length.\",\"@ToolTip2\":\"Is an encoded version of a password. Using encoded passwords promotes security and  enables you to store SAS programs that do not contain clear-text passwords.\",\"@ToolTip3\":\"Specifies that SAS prompt the user for a valid password. This value enforces security.\"},\"Help\":{\"#cdata\":\"Specifies the password to be used when connecting to a server. The operating environment \\nthat the server runs under can also affect password naming conventions.\"}}]}}"
  },
  {
    "path": "server/data/Statements/SYMBOL.json",
    "content": "{\"Keywords\":{\"Keyword\":[{\"Name\":\"BWIDTH=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[Syntax: BWIDTH=box-width] \\n    \\nSpecifies the width of the box generated by either the INTERPOL=BOX or INTERPOL=HILOB option. \\nBox-width can be any number greater than 0. By default, the value of box-width is the same as \\nthe value of the WIDTH= option, whose default value is 1. Therefore, if you specify a WIDTH= \\nvalue for and omit the BWIDTH= option, the width of the box changes accordingly.\"}},{\"Name\":\"CI=\",\"Type\":\"C\",\"Help\":{\"#cdata\":\"[Syntax: CI=line-color|_style_] \\n    \\nSpecifies a color for an interpolation line (GPLOT and GBARLINE) or a contour line (GCONTOUR).\"}},{\"Name\":\"CI=_STYLE_\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"Specifies the appropriate color for an interpolation line (GPLOT and GBARLINE)\\nor a contour line (GCONTOUR) based on the current style.\"}},{\"Name\":\"CO=\",\"Type\":\"C\",\"Help\":{\"#cdata\":\"[Syntax: CO=color] \\n    \\nSpecifies a color for the following:\\n\\n  o outlines of filled areas generated by the INTERPOL=map/plot-pattern option\\n\\n  o confidence limit lines generated by the INTERPOL=R series option\\n\\n  o staffs, boxes, and bars generated by the high-low interpolation methods: INTERPOL=HILO, \\n    INTERPOL=BOX, and INTERPOL=STD\"}},{\"Name\":\"COLOR=|C=\",\"Type\":\"C\",\"Help\":{\"#cdata\":\"[Syntax: COLOR=symbol-color | _style_] \\n    \\nSpecifies a color for the entire definition, unless it is followed by a more explicit \\nspecification. For the GPLOT and GBARLINE procedures, this includes plot symbols, the \\nplot line, confidence limit lines, and outlines. For the GCONTOUR procedure, this includes \\ncontour lines and labels.\"}},{\"Name\":\"COLOR=_STYLE_\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"Specifies the appropriate color for the entire definition based on the current style. For the GPLOT \\nand GBARLINE procedures, this includes plot symbols, the plot line, confidence limit lines, and \\noutlines. For the GCONTOUR procedure, this includes contour lines and labels.\"}},{\"Name\":\"CV=\",\"Type\":\"C\",\"Help\":{\"#cdata\":\"[Syntax: CV=value-color|_style_] \\n    \\nSpecifies a color for the following:\\n\\n  o plot symbols in the GPLOT procedure\\n\\n  o the filled areas generated by the INTERPOL=map/plot-pattern option\\n\\n  o contour labels in the GCONTOUR procedure\"}},{\"Name\":\"CV=_STYLE_\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[Syntax: CV=value-color|_style_] \\n    \\nSpecifies a color for the following based on the current style:\\n\\n  o plot symbols in the GPLOT procedure\\n\\n  o the filled areas generated by the INTERPOL=map/plot-pattern option\\n\\n  o contour labels in the GCONTOUR procedure\"}},{\"Name\":\"FONT=|F=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[Syntax: FONT=\\\"font\\\"] \\n    \\nSpecifies the font for the plot symbol (GPLOT, GBARLINE) or contour labels (GCONTOUR) \\nspecified by the VALUE= option. The font specification must be enclosed in quotes and \\ncan include the /bold and /italic font modifiers.\"}},{\"Name\":\"HEIGHT=|H=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[Syntax: HEIGHT=symbol-height<units>] \\n    \\nSpecifies the height in number of units of plot symbols (GPLOT, GBARLINE) or contour \\nlabels (GCONTOUR).\"}},{\"Name\":\"INTERPOL=|I=\",\"Type\":\"V\",\"Values\":{\"@Value1\":\"BOX\",\"@Value2\":\"HILO\",\"@Value3\":\"JOIN\",\"@Value4\":\"L\",\"@Value5\":\"MEMPTY\",\"@Value6\":\"MSOLID\",\"@Value7\":\"M\",\"@Value8\":\"NEEDLE\",\"@Value9\":\"NONE\",\"@Value10\":\"R\",\"@Value11\":\"SM\",\"@Value12\":\"SPLINE\",\"@Value13\":\"STD\",\"@Value14\":\"STEP\"},\"ToolTips\":{\"@ToolTip1\":\"Syntax: BOX<option(s)><00...25>         Produces box and whisker plots. The bottom and top edges of the box are located at  the sample 25th and 75th percentiles. The center horizontal line is drawn at the  50th percentile (median).  Values for option(s) are one or more of these:     F fills the box with the color specified by CV= and outlines the box with the color      specified by CO=      J joins the median points of the boxes with a line      T draws tops and bottoms on the whiskers.  In addition, you can specify a percentile to control the length of the whiskers within the  range 00 through 25. These are examples of percentile specifications and their effect:     00 high/low extremes. INTERPOL=BOX00 is not the same as the default, INTERPOL=BOX.      01 1st percentile low, 99th high      05 5th percentile low, 95th high      10 10th percentile low, 90th high      25 25th percentile low, 75th high; since the box extends from the 25th to the 75th percentile,    no whiskers are produced\",\"@ToolTip2\":\"Syntax: HILO<C><option>                 Specifies that a solid vertical line connect the minimum and maximum Y values for each X value.  The data should have at least two values of Y for every value of X; otherwise, the single value is displayed without the vertical line.  To specify high, low, close stock market data, include this option:     C draws tick marks at the close value instead of at the mean value.   In addition, you can specify one of these values for option:     B connects the minimum and maximum Y values with bars instead of lines. Use the BWIDTH= option to      increase the width of the bars.      J joins the mean values or the close values (if HILOC is specified) with a line. This point is not     marked with a tick mark.      T adds tops and bottoms to each line.      BJ connects maximum and minimum values with a bar and joins the mean or close values.      TJ adds tops and bottoms to the lines and joins the mean or close values.\",\"@ToolTip3\":\"Connects data points with straight lines. Points are connected in the order they occur in the input  data set. Therefore, the data should be sorted by the independent (horizontal axis) variable.\",\"@ToolTip4\":\"Syntax: L<degree><P><S>                 Specifies a Lagrange interpolation to smooth the plot line. Specify one of these values for degree:   1 | 3 | 5 specifies the degree of the Lagrange interpolation polynomial. By default, degree is 1.   In addition, you can specify one or both of these:     P specifies a parametric interpolation      S sorts a data set by the independent variable before plotting its data.\",\"@ToolTip5\":\"=Specifies that an empty pattern fill the polygon that has been defined by the data points.\",\"@ToolTip6\":\"Specifies that a solid pattern fill the polygon that has been defined by the data points.\",\"@ToolTip7\":\"Syntax: Mdensity<style<angle>>                 Specifies that a shaded pattern fill the polygon that has been defined by the data points. Density specifies the density of the pattern's shading:     1...5 1 produces the lightest shading and 5 produces the heaviest.   Style specifies the direction of pattern lines:     N parallel lines (the default)      X crosshatched lines.   Angle specifies the starting angle for parallel or crosshatched lines:     0...360 the degree at which the parallel lines are drawn. By default, angle is 0 (lines are parallel   to the horizontal axis).\",\"@ToolTip8\":\"Draws a vertical line from each data point to a horizontal line at the 0 value on the vertical axis or the minimum value on the vertical axis. The horizontal line is drawn automatically.\",\"@ToolTip9\":\"Suppresses any interpolation and, if the VALUE= option is not specified, also suppresses plot points.\",\"@ToolTip10\":\"Syntax: R<type><0><CLM | CLI<50...99>>                 Specifies that a plot is a regression analysis. By default, regression lines are not  forced through plot origins and confidence limits are not displayed. Type specifies  the type of regression.   Specify one of these values for type:     L requests linear regression (the default)   Q requests quadratic regression    C requests cubic regression   To force the regression line through a (0,0) origin, specify: 0 to eliminate the intercept.  To display confidence limits, specify one of these:     CLM displays confidence limits for mean predicted values      CLI displays confidence limits for individual predicted values  You can specify confidence levels from 50% to 99%.\",\"@ToolTip11\":\"Syntax: SM<nn><P><S>                 Specifies that a smooth line is fit to data using a spline routine. INTERPOL=SM  is a method for smoothing noisy data. The points on the plot do not necessarily  fall on the line.  The relative importance of plot values versus smoothness is controlled by nn. Values  for nn are as follows:    0...99 produces a cubic spline that minimizes a linear combination of the sum of    squares of the residuals of fit and the integral of the square of the second derivative    In addition, specify one or both of these:     P specifies a parametric cubic spline      S sorts data by the independent variable before plotting.\",\"@ToolTip12\":\"Syntax: SPLINE<P><S>                 Specifies that the interpolation for the plot line use a spline routine. INTERPOL=SPLINE  produces the smoothest line and is the most efficient of the nontrivial spline interpolation  methods.  Specify one or both of these:     P specifies a parametric spline interpolation method.      S sorts a data set by the independent variable before plotting its data.\",\"@ToolTip13\":\"Syntax: STD<1 | 2 | 3><variance><option(s)>                 Specifies that a solid line connect the mean Y value with \\u00b1 1, 2, or 3 standard  deviations for each X. Variance can be one or both of these:     M computes the standard deviation about the mean      P computes sample variances using a pooled estimate, as in a one-way ANOVA model.     In addition, specify one of these values for option(s):     B connects the minimum and maximum Y values with bars instead of lines.      J connects the means from bar to bar with a line.      T adds tops and bottoms to each line.      BJ connects maximum and minimum values with a bar and joins the mean values.      TJ adds tops and bottoms to the lines and joins the mean values.\",\"@ToolTip14\":\"Syntax: STEP<placement><J><S>                 Specifies that the data are plotted with a step function. By default, the data point  is on the left of the step, the steps are not joined with a vertical line, and the data  are not sorted before processing.  Specify one of these values for placement:     L displays the data point on the left of the step.      R displays the data point on the right of the step.      C displays the data point in the center of the step.  In addition, specify one or both of these:     J produces steps joined with a vertical line.      S sorts unordered data by the independent variable before plotting.\"},\"Help\":{\"#cdata\":\"Specifies various plots and plotting options.\"}},{\"Name\":\"LINE=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[Syntax: LINE=line-type] \\n    \\nSpecifies the line type of the plot line in the GPLOT procedure, or the contour line\\nin the GCONTOUR procedure:\\n\\n  1 a solid line.\\n   \\n  2...46 a dashed line.\"}},{\"Name\":\"MODE=\",\"Type\":\"V\",\"Values\":{\"@Value1\":\"EXCLUDE\",\"@Value2\":\"INCLUDE\"},\"ToolTips\":{\"@ToolTip1\":\"Prevents values outside the axis range of plot axes from being displayed.  This is the default.\",\"@ToolTip2\":\"Specifies that any interpolation method to include data values that are  outside the range of plot axes.\"},\"Help\":{\"#cdata\":\"Specifies that any interpolation method exclude or include data values that are \\noutside the range of plot axes. By default, MODE=EXCLUDE prevents values outside \\nthe axis range from being displayed.\"}},{\"Name\":\"POINTLABEL\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"[Syntax: POINTLABEL<=(label-description(s)) | NONE>] \\n    \\nPOINTLABEL without any specified descriptions labels points with the Y value.\"}},{\"Name\":\"POINTLABEL=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[Syntax: POINTLABEL<=(label-description(s)) | NONE>] \\n    \\nLabels plot points. Label-description(s) can be one or more of these:\\n\\n  COLOR=text-color \\n  specifies the color of the label text. The default is the first color from the color list.\\n\\n  DROPCOLLISIONS | NODROPCOLLISIONS \\n  specify DROPCOLLISIONS to drop new labels if they collide with a label already in use. \\n  Specify NODROPCOLLISIONS to retain all labels. The default is DROPCOLLISIONS.\\n\\n  FONT=font | NONE \\n  specifies the font for the text.\\n\\n  HEIGHT=text-height <units > \\n  specifies the height of the text characters in number of units. By default, HEIGHT=1 CELL.\\n\\n  JUSTIFY=CENTER | LEFT | RIGHT \\n  specifies the horizontal alignment of the label text. The default is CENTER.\\n\\n  POSITION=TOP | MIDDLE | BOTTOM \\n  specifies the vertical placement of the label text. The default is TOP.\\n\\n  \\\"#var\\\" | \\\"#x:#y <$char>\\\" | \\\"#y:#x <$char>\\\" \\n  specifies the variable or variables whose values label the plot points. The variable specification must be\\n  enclosed in either single or double quotation marks. The first specified variable must be prefixed with a \\n  pound sign (#). If a second variable is specified, it must be prefixed with a colon and a pound sign (:#).\\n  When you specify both the X and Y variables, you can also specify the character to display as the delimiter\\n  between variable values in the plot label.\"}},{\"Name\":\"POINTLABEL=NONE\",\"Type\":\"S|V\",\"Help\":{\"#cdata\":\"Suppresses the point labels.\"}},{\"Name\":\"REPEAT=|R=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[Syntax: REPEAT=number-of-times] \\n    \\nSpecifies the number of times that a SYMBOL definition is applied before the next \\nSYMBOL definition is used. By default, REPEAT=1.\"}},{\"Name\":\"SINGULAR=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[Syntax: SINGULAR=n] \\n    \\nTunes the algorithm used to check for singularities. The default value is machine \\ndependent but is approximately 1E-7 on most machines. This option is rarely needed.\"}},{\"Name\":\"STEP=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[Syntax: STEP=distance<units>] \\n    \\nSpecifies the minimum distance between labels on contour lines. The value of distance \\nmust be greater than zero. By default, STEP=65PCT.\"}},{\"Name\":\"VALUE=|V=\",\"Type\":\"V\",\"Values\":{\"@Value1\":\"PLUS\",\"@Value2\":\"STAR\",\"@Value3\":\"SQUARE\",\"@Value4\":\"DIAMOND\",\"@Value5\":\"HASH\",\"@Value6\":\"PAW\",\"@Value7\":\"POINT\",\"@Value8\":\"DOT\",\"@Value9\":\"CIRCLE\",\"@Value10\":\"X\",\"@Value11\":\"Y\",\"@Value12\":\"Z\",\"@Value13\":\"SQUAREFILLED\",\"@Value14\":\"DIAMONDFILLED\",\"@Value15\":\"TRIANGLE\",\"@Value16\":\"TRIANGLEFILLED\",\"@Value17\":\"_\",\"@Value18\":\"#\",\"@Value19\":\"$\",\"@Value20\":\"%\",\"@Value21\":\"=\",\"@Value22\":\"-\",\"@Value23\":\"@\",\"@Value24\":\"*\",\"@Value25\":\"+\",\"@Value26\":\">\",\"@Value27\":\".\",\"@Value28\":\"<\",\"@Value29\":\",\",\"@Value30\":\"/\",\"@Value31\":\"?\",\"@Value32\":\"(\",\"@Value33\":\")\",\"@Value34\":\":\",\"@Value35\":\"SPECIAL\",\"@Value36\":\"NONE\"},\"ToolTips\":{\"@ToolTip1\":\"+ symbol\",\"@ToolTip2\":\"* symbol\",\"@ToolTip3\":\"Square symbol\",\"@ToolTip4\":\"Diamond\",\"@ToolTip5\":\"# symbol\",\"@ToolTip6\":\"Four dots forming a square symbol\",\"@ToolTip7\":\". symbol\",\"@ToolTip8\":\"Dot symbol\",\"@ToolTip9\":\"Circle symbol\",\"@ToolTip10\":\"X symbol\",\"@ToolTip11\":\"Y symbol\",\"@ToolTip12\":\"Z symbol\",\"@ToolTip13\":\"Filled square symbol\",\"@ToolTip14\":\"Filled diamond symbol\",\"@ToolTip15\":\"Triangle symbol\",\"@ToolTip16\":\"Filled triangle symbol\",\"@ToolTip17\":\"Square with curved sides symbol\",\"@ToolTip18\":\"Heart symbol\",\"@ToolTip19\":\"Square with curved sides (but with one corner pointed up) symbol\",\"@ToolTip20\":\"Clubs (playing cards) symbol\",\"@ToolTip21\":\"Lantern (star) symbol\",\"@ToolTip22\":\"Small circle with a dot in the center symbol\",\"@ToolTip23\":\"Small circle with a cross attached to the bottom and two curved hair-like lines at the top\",\"@ToolTip24\":\"Small circle with a cross attached to the bottom\",\"@ToolTip25\":\"Small circle with cross inside, cutting the circle in quadrants\",\"@ToolTip26\":\"Small circle with an attached arrow pointed in the NE direction\",\"@ToolTip27\":\"Symbol looks like the number 4 with the left top end curved away in a horizontal direction\",\"@ToolTip28\":\"Symbol looks like the letter h with the right side curved\",\"@ToolTip29\":\"A small circle with a dot in the center and an arrow attached at the top pointing up\",\"@ToolTip30\":\"Symbol looks like a U-shaped spear with another spear attached in the center and a cross at the bottom\",\"@ToolTip31\":\"Symbol looks like a letter P with a horizontal base\",\"@ToolTip32\":\"Symbol looks like a quarter moon with the curved inner part facing east\",\"@ToolTip33\":\"Small circle with 3 lines attached to the NE portion of the circumference\",\"@ToolTip34\":\"Symbol is made up of 2 sumperimposed + or cross signs forming an asterisk\",\"@ToolTip35\":\"Enables you to define unique special symbols for up to 12 plots (GPLOT) in one SYMBOL statement.  Some of the symbols include the following: CIRCLE, DIAMOND, DIAMONDFILLED, DOT, DOTFILLED,  HASH, PAW, POINT, PLUS, SQUARE, SQUAREFILLED, STAR, TRIANGLE, TRIANGLEFILLED, X, Y, and Z.\",\"@ToolTip36\":\"Suppresses plot symbols at the data points, or labels on the contour lines. You can set the  VALUE=NONE option independent of the INTERPOL= option.\"},\"Help\":{\"#cdata\":\"[Syntax: VALUE=special-symbol | text-string | NONE] \\n    \\nSpecifies a plot symbol for the data points (GPLOT and GBARLINE), or contour-label \\ntext in a contour plot (GCONTOUR). VALUE=NONE suppresses plot symbols at the data \\npoints, or labels on the contour lines.\"}},{\"Name\":\"VALUE=NONE\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"Suppresses plot symbols at the data points (GPLOT and GBARLINE), or labels on the \\ncontour lines (GCONTOUR).\"}},{\"Name\":\"WIDTH=|W=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[Syntax: WIDTH=thickness-factor] \\n    \\nSpecifies the thickness of interpolated lines (GPLOT) or contour lines (GCONTOUR), \\nwhere thickness-factor is a number. The thickness of the line increases directly \\nwith thickness-factor. By default, WIDTH=1.\"}}]}}"
  },
  {
    "path": "server/data/Statements/SYSTASK.json",
    "content": "{\"Keywords\":{\"Keyword\":[{\"Name\":\"COMMAND\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Executes the operating system command.\"}},{\"Name\":\"LIST\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Lists either a specific active task or all of the active tasks in the system.\"}},{\"Name\":\"KILL\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Forces the termination of the specified task(s).\"}},{\"Name\":\"WAIT\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Specifies that SYSTASK COMMAND suspends execution of the current SAS session until \\nthe task has completed.\"}},{\"Name\":\"NOWAIT\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Specifies that SYSTASK COMMAND does not suspend execution of the current SAS session.\"}},{\"Name\":\"TASKNAME=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"Specifies a name that identifies the task. Task names must be unique among all active \\ntasks. A task is active if it is running, or if it has completed and has not been \\nwaited for using the WAITFOR statement.\"}},{\"Name\":\"MNAME=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"Specifies a macro variable in which you want SYSTASK to store the task name that it \\nautomatically generated for the task. If you specify both the TASKNAME option and \\nthe MNAME option, SYSTASK copies the name you specified with TASKNAME into the \\nvariable that you specified with MNAME.\"}},{\"Name\":\"STATUS=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"Specifies a macro variable in which you want SYSTASK to store the status of the task. \\nStatus variable names must be unique among all active tasks.\"}},{\"Name\":\"SHELL=\",\"Type\":\"S|V\",\"Help\":{\"#cdata\":\"Syntax: SHELL<=\\\"shell-command\\\"> \\n    \\nSpecifies that the operating system command should be executed with the operating \\nsystem shell command. If you specify a shell-command, SYSTASK uses the shell command \\nthat you specify to invoke the shell; otherwise, SYSTASK uses the default shell. \\nEnclose the shell command in quotes.\"}},{\"Name\":\"_ALL_\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Specifies all active tasks in the system.\"}},{\"Name\":\"STATE\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Specifies to display the status of the task, which can be Start Failed, Running, \\nor Complete.\"}},{\"Name\":\"STATVAR\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Specifies to display the status variable associated with the task. The status variable is  \\nthe variable that you assigned with the STATUS option in the SYSTASK COMMAND statement.\"}}]}}"
  },
  {
    "path": "server/data/Statements/TITLE.json",
    "content": "{\"Keywords\":{\"Keyword\":[{\"Name\":\"ANGLE=|A=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[For device-based procedures only][Syntax: ANGLE=degrees | A=degrees] \\n    \\nSpecifies the angle of the baseline of the entire text string with respect to the \\nhorizontal. A positive degrees value angles the baseline counterclockwise; a negative \\nvalue angles it clockwise. By default, ANGLE=0 (horizontal).\"}},{\"Name\":\"BOLD\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"[For template-based procedures only] \\n    \\nSpecifies that the font weight is bold for the text string.\"}},{\"Name\":\"BCOLOR=|BC=\",\"Type\":\"C\",\"Help\":{\"#cdata\":\"[Syntax: BCOLOR=background-color] \\n    \\nSpecifies the background color of a box produced by the BOX= option. If you omit \\nBOX=, BCOLOR= is ignored. By default, the background color of the box is the same \\nas the background color for the entire graph. The color of the frame of the box is \\ndetermined by the color specification used in BOX=.\"}},{\"Name\":\"BLANK=YES|BL=YES\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[For device-based procedures only][Syntax: BLANK=YES] \\n    \\nProtects the box and its contents from being overwritten by any subsequent graphics \\nelements by blanking out the area where the box is displayed. The BLANK= option enables \\nyou to overlay graphics elements with boxed text. It is ignored if you omit the BOX= \\noption. Because titles and footnotes are written from the highest numbered to the \\nlowest numbered, the BLANK= option only blanks out titles and footnotes of a lower \\nnumber.\"}},{\"Name\":\"BOX=|BO=\",\"Type\":\"V\",\"Values\":{\"@Value1\":\"1\",\"@Value2\":\"2\",\"@Value3\":\"3\",\"@Value4\":\"4\"},\"ToolTips\":{\"@ToolTip1\":\"A value of 1 produces the thinnest box lines.\",\"@ToolTip2\":\"A value of 2 produces the next thinnest box lines.\",\"@ToolTip3\":\"A value of 3 produces the next thickest box lines.\",\"@ToolTip4\":\"A value of 4 produces the thickest box lines.\"},\"Help\":{\"#cdata\":\"Draws a box around one line of text.\"}},{\"Name\":\"BSPACE=|BS=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[Syntax: BSPACE=box-space<units>] \\n    \\nSpecifies the amount of space between the boxed text and the box. The space above \\nthe text is measured from the font maximum, and the space below the text is measured \\nfrom the font minimum. By default, BSPACE=1. If the BOX= option is not used, the \\nBSPACE= option is ignored.\"}},{\"Name\":\"COLOR=|C=\",\"Type\":\"C\",\"Help\":{\"#cdata\":\"[Syntax: COLOR=color] \\n    \\nSpecifies the color for the following text, box, or line. The COLOR= option affects \\nall text, lines, and boxes that follow it and stays in effect until another COLOR= \\nspecification is encountered.\"}},{\"Name\":\"DRAW=|D=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[For device-based procedures only][Syntax: DRAW=(x,y...,x-n,y-n)<units>] \\n    \\nDraws lines anywhere on the graphics output area using x and y as absolute or \\nrelative coordinates.\"}},{\"Name\":\"FONT=|F=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[Syntax: FONT=font] \\n    \\nSpecifies the font for the subsequent text.\"}},{\"Name\":\"HEIGHT=|H=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[Syntax: HEIGHT=text-height<units>] \\n    \\nSpecifies the height of text characters in number of units. By default, HEIGHT=1. \\nHeight is measured from the font minimum to the capline. Ascenders can extend \\nabove the capline, depending on the font.\"}},{\"Name\":\"ITALIC\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"[For template-based procedures only] \\n    \\nSpecifies that the font style is italic for the text string.\"}},{\"Name\":\"JUSTIFY=|J=\",\"Type\":\"V\",\"Values\":{\"@Value1\":\"LEFT|L\",\"@Value2\":\"CENTER|C\",\"@Value3\":\"RIGHT|R\"},\"ToolTips\":{\"@ToolTip1\":\"Justify to the left.\",\"@ToolTip2\":\"Justify to the center.\",\"@ToolTip3\":\"Justify to the right.\"},\"Help\":{\"#cdata\":\"Specifies the alignment of the text string. The default is CENTER.\"}},{\"Name\":\"LANGLE=|LA=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[For device-based procedures only][Syntax: LANGLE=degrees] \\n    \\nSpecifies the angle of the baseline of the entire text string(s) with respect to \\nthe horizontal. A positive value for degrees moves the baseline counterclockwise; \\na negative value moves it clockwise. By default, LANGLE=0 (horizontal).\"}},{\"Name\":\"LINK=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[For device-based procedures only][Syntax: LINK= \\\"URL\\\"] \\n    \\nSpecifies a uniform resource locator (URL) that a title or footnote links to. The \\ntext-string that you use to specify the URL can contain occurrences of the variables \\n#BYVAL, #BYVAR, and #BYLINE.\"}},{\"Name\":\"LSPACE=|LS=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[Syntax: LSPACE=line-space <units>] \\n    \\nSpecifies the amount of spacing above lines of note and title text and the amount \\nof spacing below lines of footnote text.\"}},{\"Name\":\"MOVE=|M=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[For device-based procedures only][Syntax: MOVE=(x,y) <units>] \\n    \\nPositions subsequent text or lines anywhere on the graphics output area using x and y \\nas absolute or relative coordinates.\"}},{\"Name\":\"ROTATE=|R=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[For device-based procedures only][Syntax: ROTATE=degrees] \\n    \\nSpecifies the angle at which each character of text is rotated with respect to \\nthe baseline of the text string. The angle is measured from the current text \\nbaseline angle, which is specified by the ANGLE= or LANGLE= options. By default, \\nthe baseline is horizontal. A positive value for degrees rotates the character \\ncounterclockwise; a negative value rotates it clockwise. By default, ROTATE=0 \\n(parallel to the baseline).\"}},{\"Name\":\"UNDERLIN=|U=\",\"Type\":\"V\",\"Values\":{\"@Value1\":\"0\",\"@Value2\":\"1\",\"@Value3\":\"2\",\"@Value4\":\"3\"},\"ToolTips\":{\"@ToolTip1\":\"UNDERLIN=0 halts underlining for subsequent text.\",\"@ToolTip2\":\"Undelines with the thinnest line.\",\"@ToolTip3\":\"Undelines with the next thickest line.\",\"@ToolTip4\":\"Undelines with the thickest line.\"},\"Help\":{\"#cdata\":\"Underlines subsequent text.\"}},{\"Name\":\"WRAP\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"[For device-based procedures only] \\n    \\nWraps the text to a second line if the text does not fit on one line. If the WRAP \\noption is omitted, the text font-size is reduced until the text fits on one line. \\nWrapping occurs at the last blank before the text meets the end of the window. If \\nthere are no blanks in the text string, then there is no wrapping.\"}}]}}"
  },
  {
    "path": "server/data/Statements/WAITFOR.json",
    "content": "{\"Keywords\":{\"Keyword\":[{\"Name\":\"_ANY_\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Suspends execution of the current SAS session until one of the specified tasks \\nfinishes executing. The default setting is _ANY_, which means that as soon as \\none of the specified task(s) completes executing, the WAITFOR statement will \\nfinish executing.\"}},{\"Name\":\"_ALL_\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Suspends execution of the current SAS session until all of the specified tasks \\nfinishes executing.\"}},{\"Name\":\"TIMEOUT=\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[Syntax: TIMEOUT=seconds] \\n    \\nSpecifies the maximum number of seconds that WAITFOR should suspend the current \\nSAS session. If you do not specify the TIMEOUT option, WAITFOR will suspend \\nexecution of the SAS session indefinitely.\"}}]}}"
  },
  {
    "path": "server/data/Statements/WHERE.json",
    "content": "{\"Keywords\":{\"Keyword\":[{\"Name\":\"AND\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[logical operator between where-expressions]--Logical AND\"}},{\"Name\":\"NOT\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[logical operator between where-expressions]--Logical NOT\"}},{\"Name\":\"OR\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[logical operator between where-expressions]--Logical OR\"}},{\"Name\":\"CONTAINS\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[mnemonic]--For a character string.]\"}},{\"Name\":\"IS NULL\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[mnemonic]--For missing values.]\"}},{\"Name\":\"IS MISSING\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[mnemonic]--For missing values.]\"}},{\"Name\":\"LIKE\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[mnemonic]--For match patterns.]\"}},{\"Name\":\"BETWEEN-AND\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[mnemonic]--For an inclusive range.\"}},{\"Name\":\"SAME-AND\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[mnemonic]\\n    \\nAdds clauses to an existing WHERE statement without retyping original one.\"}}]}}"
  },
  {
    "path": "server/data/StatisticsKeywords.json",
    "content": "{\"Keywords\":{\"Keyword\":[{\"Name\":\"COLPCTN\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Percentage of the value in a single table cell in relation to the total of the \\nN-cell values in the column.\"}},{\"Name\":\"COLPCTSUM\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Percentage of the value in a single table cell in relation to the total of the \\nSUM-cell values in the column.\"}},{\"Name\":\"CSS\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Sum of squares corrected for the mean\"}},{\"Name\":\"CV\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Percent coefficient of variation\"}},{\"Name\":\"KURTOSIS\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Measures heaviness of tails.\"}},{\"Name\":\"LCLM\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"One-sided confidence limit below the mean\"}},{\"Name\":\"MAX\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Maximum value\"}},{\"Name\":\"MEAN\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Arithmetic mean\"}},{\"Name\":\"MIN\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Minimum value\"}},{\"Name\":\"MODE\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Most frequent value\"}},{\"Name\":\"N\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Number of observations that are not missing\"}},{\"Name\":\"NMISS\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Number of observations that are missing\"}},{\"Name\":\"PAGEPCTN\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Percentage of the value in a single table cell in relation to the total of the N-cell \\nvalues in the page.\"}},{\"Name\":\"PAGEPCTSUM\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Percentage of the value in a single table cell in relation to the total of the SUM-cell \\nvalues in the page.\"}},{\"Name\":\"PCTN\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Percentage of the value in a single table cell in relation to the value (used in the \\ndenominator of the calculation of the percentage) in another table cell or to the \\ntotal of the values in a group of N cells.\"}},{\"Name\":\"PCTSUM\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Percentage of the value in a single table cell in relation to the value (used in the \\ndenominator of the calculation of the percentage) in another table cell or to the \\ntotal of the values in a group of SUM cells\"}},{\"Name\":\"RANGE\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Range calculated as the difference between maximum value and minimum value.\"}},{\"Name\":\"REPPCTN\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Percentage of the value in a single table cell in relation to the total of the N-cell \\nvalues in the report.\"}},{\"Name\":\"REPPCTSUM\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Percentage of the value in a single table cell in relation to the total of the SUM-cell \\nvalues in the report.\"}},{\"Name\":\"ROWPCTN\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Percentage of the value in a single table cell in relation to the total of the N-cell \\nvalues in the row.\"}},{\"Name\":\"ROWPCTSUM\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Percentage of the value in a single table cell in relation to the total of the SUM-cell \\nvalues in the row.\"}},{\"Name\":\"SKEWNESS\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Measures the tendency of the deviations to be larger in one direction than in the other.\"}},{\"Name\":\"STDDEV\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Standard deviation\"}},{\"Name\":\"STDERR\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Standard error of the mean\"}},{\"Name\":\"SUM\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Sum\"}},{\"Name\":\"SUMWGT\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Sum of the weights\"}},{\"Name\":\"UCLM\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"One-sided confidence limit above the mean\"}},{\"Name\":\"USS\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Uncorrected sum of squares\"}},{\"Name\":\"VAR\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Variance\"}},{\"Name\":\"MEDIAN\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Middle value\"}},{\"Name\":\"P50\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Middle value\"}},{\"Name\":\"P1\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"1st percentile\"}},{\"Name\":\"P5\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"5th percentile\"}},{\"Name\":\"P10\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"10th percentile\"}},{\"Name\":\"P25\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"25th percentile\"}},{\"Name\":\"Q1\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Lower quartile (25th percentile)\"}},{\"Name\":\"Q3\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Upper quartile (75th percentile)\"}},{\"Name\":\"P75\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"75th percentile (upper quartile)\"}},{\"Name\":\"P90\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"90th percentile\"}},{\"Name\":\"P95\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"95th percentile\"}},{\"Name\":\"P99\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"99th percentile\"}},{\"Name\":\"QRANGE\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Interquartile range and is calculated as Q3-Q1\"}},{\"Name\":\"PROBT\",\"Type\":\"S\",\"Help\":{\"#cdata\":\"Two-tailed p-value for Student's t statistic\"}}]}}"
  },
  {
    "path": "server/data/StyleAttributes.json",
    "content": "{\"Keywords\":{\"Keyword\":[{\"Name\":\"ABSTRACT=\",\"Help\":{\"#cdata\":\"Specifies whether styles used in an HTML document are used in CSS or LateX style files.\"},\"Type\":\"V\",\"Values\":{\"@Value1\":\"ON\",\"@Value2\":\"OFF\"},\"ToolTips\":{\"@ToolTip1\":\"Specifies that styles are used in CSS or LateX style files.\",\"@ToolTip2\":\"Specifies that styles are not used in CSS or LateX style files.\"}},{\"Name\":\"ACTIVELINKCOLOR=\",\"Help\":{\"#cdata\":\"[Syntax: ACTIVELINKCOLOR=color] \\n    \\nSpecifies the color that a link in an HTML document changes to after you click it, but before \\nthe browser opens that file.\"},\"Type\":\"C\"},{\"Name\":\"ASIS=\",\"Help\":{\"#cdata\":\"Specifies how to handle leading spaces and line breaks in an HTML document.\"},\"Type\":\"V\",\"Values\":{\"@Value1\":\"ON\",\"@Value2\":\"OFF\"},\"ToolTips\":{\"@ToolTip1\":\"Prints text with leading spaces and line breaks, in the same manner as the listing output.\",\"@ToolTip2\":\"Trims leading spaces and ignores line breaks.\"}},{\"Name\":\"BACKGROUNDCOLOR=\",\"Help\":{\"#cdata\":\"[Syntax: BACKGROUNDCOLOR= color] \\n    \\nSpecifies the color of the background of the tables, cells, or graphs.\"},\"Type\":\"C\"},{\"Name\":\"BACKGROUNDIMAGE=\",\"Help\":{\"#cdata\":\"[Syntax: BACKGROUNDIMAGE=\\\"string\\\"] \\n    \\nSpecifies an image in a table, cell, or graph to use as the background.\"},\"Type\":\"V\"},{\"Name\":\"BACKGROUNDREPEAT=\",\"Help\":{\"#cdata\":\"Specifies whether an image is repeated horizontally, vertically, both, or not repeated.\"},\"Type\":\"V\",\"Values\":{\"@Value1\":\"REPEAT\",\"@Value2\":\"REPEAT_X\",\"@Value3\":\"REPEAT_Y\",\"@Value4\":\"NO_REPEAT\"},\"ToolTips\":{\"@ToolTip1\":\"Specifies that the image is repeated both horizontally and vertically.\",\"@ToolTip2\":\"Specifies that the image is repeated horizontally.\",\"@ToolTip3\":\"Specifies that the image is repeated vertically.\",\"@ToolTip4\":\"Specifies that the image is not repeated.\"}},{\"Name\":\"BODYSCROLLBAR=\",\"Help\":{\"#cdata\":\"Specifies whether to put a scroll bar in the frame that references the body file.\"},\"Type\":\"V\",\"Values\":{\"@Value1\":\"YES\",\"@Value2\":\"NO\",\"@Value3\":\"AUTO\"},\"ToolTips\":{\"@ToolTip1\":\"Places a scroll bar in the frame that references the body file.\",\"@ToolTip2\":\"Specifies not to put a scroll bar in the frame that references the body file.\",\"@ToolTip3\":\"Places a scroll bar in the frame that references the body file only if needed.\"}},{\"Name\":\"BODYSIZE=\",\"Help\":{\"#cdata\":\"[Syntax: BODYSIZE= dimension | dimension% | *] \\n    \\nSpecifies the width of the frame that displays the body file in the HTML frame file.\"},\"Type\":\"V\"},{\"Name\":\"BORDERBOTTOMCOLOR=\",\"Help\":{\"#cdata\":\"[Syntax: BORDERBOTTOMCOLOR=color] \\n    \\nSpecifies the color of the bottom border of the table.\"},\"Type\":\"C\"},{\"Name\":\"BORDERBOTTOMSTYLE=\",\"Help\":{\"#cdata\":\"Specifies the line style of the bottom border of the specified cell.\"},\"Type\":\"V\",\"Values\":{\"@Value1\":\"DASHED\",\"@Value2\":\"DOTTED\",\"@Value3\":\"DOUBLE\",\"@Value4\":\"GROOVE\",\"@Value5\":\"HIDDEN\",\"@Value6\":\"INSET\",\"@Value7\":\"OUTSET\",\"@Value8\":\"RIDGE\",\"@Value9\":\"SOLID\"},\"ToolTips\":{\"@ToolTip1\":\"Dashed line\",\"@ToolTip2\":\"Dotted line\",\"@ToolTip3\":\"Double line\",\"@ToolTip4\":\"Groove\",\"@ToolTip5\":\"Hidden\",\"@ToolTip6\":\"Inset\",\"@ToolTip7\":\"Outset\",\"@ToolTip8\":\"Ridge\",\"@ToolTip9\":\"Solid line\"}},{\"Name\":\"BORDERBOTTOMWIDTH=\",\"Help\":{\"#cdata\":\"[Syntax: BORDERBOTTOMWIDTH=dimension] \\n    \\nSpecifies the width of the bottom border of the table.\"},\"Type\":\"V\"},{\"Name\":\"BORDERCOLOR=\",\"Help\":{\"#cdata\":\"[Syntax: BORDERCOLOR= color] \\n    \\nSpecifies the color of the border in a table or cell if the border is just one color.\"},\"Type\":\"C\"},{\"Name\":\"BORDERCOLORDARK=\",\"Help\":{\"#cdata\":\"[Syntax: BORDERCOLORDARK= color] \\n    \\nIn a table or cell, specifies the darker color to use in a border that uses two colors to create \\na three-dimensional effect.\"},\"Type\":\"C\"},{\"Name\":\"BORDERCOLORLIGHT=\",\"Help\":{\"#cdata\":\"[Syntax: BORDERCOLORLIGHT= color] \\n    \\nIn a table or cell, specifies the lighter color to use in a border that uses two colors to create \\na three-dimensional effect.\"},\"Type\":\"C\"},{\"Name\":\"BORDERLEFTCOLOR=\",\"Help\":{\"#cdata\":\"[Syntax: BORDERLEFTCOLOR=color] \\n    \\nSpecifies the color of the left border of the table.\"},\"Type\":\"C\"},{\"Name\":\"BORDERLEFTSTYLE=\",\"Help\":{\"#cdata\":\"Specifies the line style of the left border of the specified cell.\"},\"Type\":\"V\",\"Values\":{\"@Value1\":\"DASHED\",\"@Value2\":\"DOTTED\",\"@Value3\":\"DOUBLE\",\"@Value4\":\"GROOVE\",\"@Value5\":\"HIDDEN\",\"@Value6\":\"INSET\",\"@Value7\":\"OUTSET\",\"@Value8\":\"RIDGE\",\"@Value9\":\"SOLID\"},\"ToolTips\":{\"@ToolTip1\":\"Dashed line\",\"@ToolTip2\":\"Dotted line\",\"@ToolTip3\":\"Double line\",\"@ToolTip4\":\"Groove\",\"@ToolTip5\":\"Hidden\",\"@ToolTip6\":\"Inset\",\"@ToolTip7\":\"Outset\",\"@ToolTip8\":\"Ridge\",\"@ToolTip9\":\"Solid line\"}},{\"Name\":\"BORDERLEFTWIDTH=\",\"Help\":{\"#cdata\":\"[Syntax: BORDERLEFTWIDTH=dimension] \\n    \\nSpecifies the width of the left border of the table.\"},\"Type\":\"V\"},{\"Name\":\"BORDERRIGHTCOLOR=\",\"Help\":{\"#cdata\":\"[Syntax: BORDERRIGHTCOLOR=color] \\n    \\nSpecifies the color of the right border of the table.\"},\"Type\":\"C\"},{\"Name\":\"BORDERRIGHTSTYLE=\",\"Help\":{\"#cdata\":\"Specifies the line style of the right border of the selected cell.\"},\"Type\":\"V\",\"Values\":{\"@Value1\":\"DASHED\",\"@Value2\":\"DOTTED\",\"@Value3\":\"DOUBLE\",\"@Value4\":\"GROOVE\",\"@Value5\":\"HIDDEN\",\"@Value6\":\"INSET\",\"@Value7\":\"OUTSET\",\"@Value8\":\"RIDGE\",\"@Value9\":\"SOLID\"},\"ToolTips\":{\"@ToolTip1\":\"Dashed line\",\"@ToolTip2\":\"Dotted line\",\"@ToolTip3\":\"Double line\",\"@ToolTip4\":\"Groove\",\"@ToolTip5\":\"Hidden\",\"@ToolTip6\":\"Inset\",\"@ToolTip7\":\"Outset\",\"@ToolTip8\":\"Ridge\",\"@ToolTip9\":\"Solid line\"}},{\"Name\":\"BORDERRIGHTWIDTH=\",\"Help\":{\"#cdata\":\"[Syntax: BORDERRIGHTWIDTH=dimension] \\n    \\nSpecifies the width of the right border of the table.\"},\"Type\":\"V\"},{\"Name\":\"BORDERTOPCOLOR=\",\"Help\":{\"#cdata\":\"[Syntax: BORDERTOPCOLOR=color] \\n    \\nSpecifies the color of the top border of the table.\"},\"Type\":\"C\"},{\"Name\":\"BORDERTOPSTYLE=\",\"Help\":{\"#cdata\":\"Specifies the line style of the top border of the specified cell.\"},\"Type\":\"V\",\"Values\":{\"@Value1\":\"DASHED\",\"@Value2\":\"DOTTED\",\"@Value3\":\"DOUBLE\",\"@Value4\":\"GROOVE\",\"@Value5\":\"HIDDEN\",\"@Value6\":\"INSET\",\"@Value7\":\"OUTSET\",\"@Value8\":\"RIDGE\",\"@Value9\":\"SOLID\"},\"ToolTips\":{\"@ToolTip1\":\"Dashed line\",\"@ToolTip2\":\"Dotted line\",\"@ToolTip3\":\"Double line\",\"@ToolTip4\":\"Groove\",\"@ToolTip5\":\"Hidden\",\"@ToolTip6\":\"Inset\",\"@ToolTip7\":\"Outset\",\"@ToolTip8\":\"Ridge\",\"@ToolTip9\":\"Solid line\"}},{\"Name\":\"BORDERTOPWIDTH=\",\"Help\":{\"#cdata\":\"[Syntax: BORDERTOPWIDTH=dimension] \\n    \\nSpecifies the width of the top border of the table.\"},\"Type\":\"V\"},{\"Name\":\"BORDERWIDTH=\",\"Help\":{\"#cdata\":\"[Syntax: BORDERWIDTH= dimension] \\n    \\nSpecifies the width of the border of the table.\"},\"Type\":\"V\"},{\"Name\":\"CAPSTYLE=\",\"Help\":{\"#cdata\":\"Specifies the shape of the line at the end of a box whisker.\"},\"Type\":\"V\",\"Values\":{\"@Value1\":\"\\\"SERIF\\\"\",\"@Value2\":\"\\\"LINE\\\"\",\"@Value3\":\"\\\"BRACKET\\\"\",\"@Value4\":\"\\\"NONE\\\"\"},\"ToolTips\":{\"@ToolTip1\":\"Serif\",\"@ToolTip2\":\"Line\",\"@ToolTip3\":\"Bracket\",\"@ToolTip4\":\"None\"}},{\"Name\":\"CELLPADDING=\",\"Help\":{\"#cdata\":\"[Syntax: CELLPADDING=dimension | dimension%] \\n    \\nSpecifies the amount of white space on each of the four sides of the text in a cell in the table.\"},\"Type\":\"V\"},{\"Name\":\"CELLSPACING=\",\"Help\":{\"#cdata\":\"[Syntax: CELLSPACING=dimension] \\n    \\nSpecifies the thickness of the spacing between cells in a table.\"},\"Type\":\"V\"},{\"Name\":\"CLASS=\",\"Help\":{\"#cdata\":\"[Syntax: CLASS=\\\"string\\\"] \\n    \\nSpecifies the name of the style sheet class to use in an HTML document for the table or cell.\"},\"Type\":\"V\"},{\"Name\":\"COLOR=\",\"Help\":{\"#cdata\":\"[Syntax: COLOR=color] \\n    \\nSpecifies the color of the foreground in tables, cells, or graphs, which is primarily the color of text.\"},\"Type\":\"C\"},{\"Name\":\"CONNECT=\",\"Help\":{\"#cdata\":\"Specifies the characteristics of a box plot connect line.\"},\"Type\":\"V\",\"Values\":{\"@Value1\":\"\\\"MEDIAN\\\"\",\"@Value2\":\"\\\"MEAN\\\"\",\"@Value3\":\"\\\"Q1\\\"\",\"@Value4\":\"\\\"Q3\\\"\",\"@Value5\":\"\\\"MIN\\\"\",\"@Value6\":\"\\\"MAX\\\"\"},\"ToolTips\":{\"@ToolTip1\":\"Median\",\"@ToolTip2\":\"Mean\",\"@ToolTip3\":\"Q1\",\"@ToolTip4\":\"Q3\",\"@ToolTip5\":\"Minimum\",\"@ToolTip6\":\"Maximum\"}},{\"Name\":\"CONTENTPOSITION=\",\"Help\":{\"#cdata\":\"Specifies the position, within the frame file, of the frames that display the contents and the page files.\"},\"Type\":\"V\",\"Values\":{\"@Value1\":\"LEFT\",\"@Value2\":\"RIGHT\",\"@Value3\":\"TOP\",\"@Value4\":\"BOTTOM\"},\"ToolTips\":{\"@ToolTip1\":\"Places the frames on the left.\",\"@ToolTip2\":\"Places the frames on the right.\",\"@ToolTip3\":\"Places the frames at the top.\",\"@ToolTip4\":\"Places the frames at the bottom.\"}},{\"Name\":\"CONTENTSCROLLBAR=\",\"Help\":{\"#cdata\":\"Specifies whether to put a scroll bar in the frames in the frame file that display the contents and the page files.\"},\"Type\":\"V\",\"Values\":{\"@Value1\":\"YES\",\"@Value2\":\"NO\",\"@Value3\":\"AUTO\"},\"ToolTips\":{\"@ToolTip1\":\"Places a scroll bar in the frames in the frame file that display the contents and the page files.\",\"@ToolTip2\":\"Specifies not to put a scroll bar in the frames in the frame file that display the contents and  the page files.\",\"@ToolTip3\":\"Whether or not to put a scroll bar in the frames in the frame file that display the contents and  the page files should be determined automatically (internally).\"}},{\"Name\":\"CONTENTSIZE=\",\"Help\":{\"#cdata\":\"[Syntax: CONTENTSIZE=dimension | dimension % | *] \\n    \\nSpecifies the width of the frames in the frame file that display the contents and the page files.\"},\"Type\":\"V\"},{\"Name\":\"CONTENTTYPE=\",\"Help\":{\"#cdata\":\"[Syntax: CONTENTTYPE=\\\"string\\\"] \\n    \\nSpecifies the value of the content type for pages in an HTML document that is sent directly to a\\nweb server rather than to a file.\"},\"Type\":\"V\"},{\"Name\":\"CONTRASTCOLOR=\",\"Help\":{\"#cdata\":\"[Syntax: CONTRASTCOLOR=color] \\n    \\nSpecifies the alternate colors for maps. The alternate colors are applied to the blocks on region\\nareas in block maps.\"},\"Type\":\"C\"},{\"Name\":\"DISPLAYOPTS=\",\"Help\":{\"#cdata\":\"Specifies the alternate colors for maps. The alternate colors are applied to the blocks on region \\nareas in block maps.\"},\"Type\":\"V\",\"Values\":{\"@Value1\":\"\\\"CAPS\\\"\",\"@Value2\":\"\\\"CONNECT\\\"\",\"@Value3\":\"\\\"FILL\\\"\",\"@Value4\":\"\\\"MEAN\\\"\",\"@Value5\":\"\\\"MEDIAN\\\"\",\"@Value6\":\"\\\"NOTCHES\\\"\",\"@Value7\":\"\\\"OUTLIERS\\\"\",\"@Value8\":\"\\\"OUTLINE\\\"\"},\"ToolTips\":{\"@ToolTip1\":\"Displays caps at the ends of the whiskers.\",\"@ToolTip2\":\"Displays the line connecting multiple boxes.\",\"@ToolTip3\":\"Displays filled boxes, bars, ellipses, and bands.\",\"@ToolTip4\":\"Displays the mean symbol within a box.\",\"@ToolTip5\":\"Displays the median line within the box\",\"@ToolTip6\":\"Displays notched boxes\",\"@ToolTip7\":\"Displays markers for the outliers.\",\"@ToolTip8\":\"Displays outlined ellipses and bars.\"}},{\"Name\":\"DROPSHADOW=\",\"Help\":{\"#cdata\":\"Specifies whether the drop shadow color for text is displayed.\"},\"Type\":\"V\",\"Values\":{\"@Value1\":\"ON\",\"@Value2\":\"OFF\"},\"ToolTips\":{\"@ToolTip1\":\"Specifies that the drop shadow color for text is displayed.\",\"@ToolTip2\":\"Specifies that the drop shadow color for text is not displayed.\"}},{\"Name\":\"ENDCOLOR=\",\"Help\":{\"#cdata\":\"[Syntax: ENDCOLOR=color] \\n    \\nSpecifies the final color used with a two or three color ramp.\"},\"Type\":\"C\"},{\"Name\":\"FILLRULEWIDTH=\",\"Help\":{\"#cdata\":\"[Syntax: FILLRULEWIDTH= dimension] \\n    \\nPlaces a rule of the specified width into the space around the text (or entire cell if there is no text) \\nin a table where white space would otherwise appear.\"},\"Type\":\"V\"},{\"Name\":\"FLYOVER=\",\"Help\":{\"#cdata\":\"[Syntax: FLYOVER=\\\"string\\\"] \\n    \\nSpecifies the text to show in a data tip for the cell.\"},\"Type\":\"V\"},{\"Name\":\"FONT=\",\"Help\":{\"#cdata\":\"[Syntax: FONT=font-definition] \\n    \\nSpecifies a font definition to use in tables, cells, and graphs.\"},\"Type\":\"V\"},{\"Name\":\"FONTFAMILY=\",\"Help\":{\"#cdata\":\"[Syntax: FONTFAMILY=\\\"string-1<..., string-n>\\\"] \\n    \\nSpecifies the font to use in cells and graphs. If you supply multiple fonts, then the destination \\ndevice uses the first one that is installed on the system.\"},\"Type\":\"V\"},{\"Name\":\"FONTSIZE=\",\"Help\":{\"#cdata\":\"[Syntax: FONTSIZE=dimension | size] \\n    \\nSpecifies the size of the font for tables, cells, and graphs.\"},\"Type\":\"V\"},{\"Name\":\"FONTSTYLE=\",\"Help\":{\"#cdata\":\"Specifies the style of the font for tables, cells, and graphs.\"},\"Type\":\"V\",\"Values\":{\"@Value1\":\"ITALIC\",\"@Value2\":\"ROMAN\",\"@Value3\":\"SLANT\"},\"ToolTips\":{\"@ToolTip1\":\"Italic font style\",\"@ToolTip2\":\"Roman font style\",\"@ToolTip3\":\"In many cases, slant and italic map to the same font.\"}},{\"Name\":\"FONTWEIGHT=\",\"Help\":{\"#cdata\":\"Specifies the font weight of tables, cells, and graphs.\"},\"Type\":\"V\",\"Values\":{\"@Value1\":\"MEDIUM\",\"@Value2\":\"BOLD\",\"@Value3\":\"DEMI_BOLD\",\"@Value4\":\"EXTRA_BOLD\",\"@Value5\":\"LIGHT\",\"@Value6\":\"DEMI_LIGHT\",\"@Value7\":\"EXTRA_LIGHT\"},\"ToolTips\":{\"@ToolTip1\":\"Medium font weight\",\"@ToolTip2\":\"Bold font weight\",\"@ToolTip3\":\"Demi_bold font weight\",\"@ToolTip4\":\"Extra bold font weight\",\"@ToolTip5\":\"Light font weight\",\"@ToolTip6\":\"Demi_light font weight\",\"@ToolTip7\":\"Extra light font weight\"}},{\"Name\":\"FONTWIDTH=\",\"Help\":{\"#cdata\":\"Specifies the font width of tables, cells, and graphs compared to the width of the usual design of \\nthe table, cell, or graph.\"},\"Type\":\"V\",\"Values\":{\"@Value1\":\"NORMAL\",\"@Value2\":\"COMPRESSED\",\"@Value3\":\"EXTRA_COMPRESSED\",\"@Value4\":\"NARROW\",\"@Value5\":\"WIDE\",\"@Value6\":\"EXPANDED\"},\"ToolTips\":{\"@ToolTip1\":\"Normal font width\",\"@ToolTip2\":\"Compressed font width\",\"@ToolTip3\":\"Extra compressed font width\",\"@ToolTip4\":\"Narrow font width\",\"@ToolTip5\":\"Wide font width\",\"@ToolTip6\":\"Expanded font width\"}},{\"Name\":\"FRAME=\",\"Help\":{\"#cdata\":\"Specifies the type of frame to use on a table.\"},\"Type\":\"V\",\"Values\":{\"@Value1\":\"ABOVE\",\"@Value2\":\"BELOW\",\"@Value3\":\"BOX\",\"@Value4\":\"HSIDES\",\"@Value5\":\"LHS\",\"@Value6\":\"RHS\",\"@Value7\":\"VOID\",\"@Value8\":\"VSIDES\"},\"ToolTips\":{\"@ToolTip1\":\"A border at the top\",\"@ToolTip2\":\"A border at the bottom\",\"@ToolTip3\":\"Borders at the top, bottom, and both sides\",\"@ToolTip4\":\"Borders at the top and bottom\",\"@ToolTip5\":\"A border at the left side\",\"@ToolTip6\":\"A border at the right side\",\"@ToolTip7\":\"No borders\",\"@ToolTip8\":\"Borders at the left and right sides\"}},{\"Name\":\"FRAMEBORDER=\",\"Help\":{\"#cdata\":\"Specifies whether to put a border around the frame for an HTML file that uses frames.\"},\"Type\":\"V\",\"Values\":{\"@Value1\":\"ON\",\"@Value2\":\"OFF\"},\"ToolTips\":{\"@ToolTip1\":\"Places a border around the frame for an HTML file that uses frames.\",\"@ToolTip2\":\"Specifies not to put a border around the frame for an HTML file that uses frames.\"}},{\"Name\":\"FRAMESPACING=\",\"Help\":{\"#cdata\":\"[Syntax: FRAMESPACING=dimension] \\n    \\nSpecifies the width of the space between frames for HTML that uses frames.\"},\"Type\":\"V\"},{\"Name\":\"GRADIENT_DIRECTION=\",\"Help\":{\"#cdata\":\"Specifies the direction of the gradient.\"},\"Type\":\"V\",\"Values\":{\"@Value1\":\"\\\"YAXIS\\\"\",\"@Value2\":\"\\\"XAXIS\\\"\"},\"ToolTips\":{\"@ToolTip1\":\"Specifies a vertical gradient.\",\"@ToolTip2\":\"Specifies a horizontal gradient.\"}},{\"Name\":\"HEIGHT=\",\"Help\":{\"#cdata\":\"[Syntax: HEIGHT=dimension] \\n    \\nSpecifies the height of a cell, graph, or graphics in an HTML document.\"},\"Type\":\"V\"},{\"Name\":\"HREFTARGET=\",\"Help\":{\"#cdata\":\"Specifies the window or frame in which to open the target of the link.\"},\"Type\":\"V\",\"Values\":{\"@Value1\":\"_BLANK\",\"@Value2\":\"_PARENT\",\"@Value3\":\"_SEARCH\",\"@Value4\":\"_SELF\",\"@Value5\":\"_TOP\",\"@Value6\":\"\\\"name\\\"\"},\"ToolTips\":{\"@ToolTip1\":\"Opens the target in a new, blank window. The window has no name.\",\"@ToolTip2\":\"Opens the target in the window from which the current window was opened.\",\"@ToolTip3\":\"Opens the target in the browser's search pane.\",\"@ToolTip4\":\"Opens the target in the current window. This is the default.\",\"@ToolTip5\":\"Opens the target in the topmost window.\",\"@ToolTip6\":\"Opens the target in the specified window or the frame.\"}},{\"Name\":\"HTMLID=\",\"Help\":{\"#cdata\":\"[Syntax: HTMLID=\\\"string\\\"] \\n    \\nSpecifies an ID for the table or cell. The ID is for use by a Java Script.\"},\"Type\":\"V\"},{\"Name\":\"HTMLSTYLE=\",\"Help\":{\"#cdata\":\"[Syntax: HTMLSTYLE=\\\"string\\\"] \\n    \\nSpecifies individual attributes and values for a table or cell in an HTML document.\"},\"Type\":\"V\"},{\"Name\":\"IMAGE=\",\"Help\":{\"#cdata\":\"[Syntax: IMAGE=\\\"string\\\"] \\n    \\nSpecifies the image to appear in a graph. This image is positioned or tiled.\"},\"Type\":\"V\"},{\"Name\":\"LINESTYLE=\",\"Help\":{\"#cdata\":\"Specifies the pattern of a line.Valid pattern numbers range from 1 to 46.\"},\"Type\":\"V\",\"Values\":{\"@Value1\":\"1\",\"@Value2\":\"2\",\"@Value3\":\"4\",\"@Value4\":\"5\",\"@Value5\":\"8\",\"@Value6\":\"14\",\"@Value7\":\"15\",\"@Value8\":\"20\",\"@Value9\":\"26\",\"@Value10\":\"34\",\"@Value11\":\"35\",\"@Value12\":\"41\",\"@Value13\":\"42\"},\"ToolTips\":{\"@ToolTip1\":\"Solid\",\"@ToolTip2\":\"Solid dash\",\"@ToolTip3\":\"Medium dash\",\"@ToolTip4\":\"Long dash\",\"@ToolTip5\":\"MediumDashShortDash\",\"@ToolTip6\":\"DashDashDot\",\"@ToolTip7\":\"DashDotDot\",\"@ToolTip8\":\"Dash\",\"@ToolTip9\":\"LongDashShortDash\",\"@ToolTip10\":\"Dot\",\"@ToolTip11\":\"ThinDot\",\"@ToolTip12\":\"ShortDashDot\",\"@ToolTip13\":\"MediumDashDotDot\"}},{\"Name\":\"LINETHICKNESS=\",\"Help\":{\"#cdata\":\"[Syntax: LINETHICKNESS=dimension] \\n    \\nSpecifies the thickness of a line.\"},\"Type\":\"V\"},{\"Name\":\"LINKCOLOR=\",\"Help\":{\"#cdata\":\"[Syntax: LINKCOLOR=color] \\n    \\nSpecifies the color for the links in an HTML document that have not yet been visited.\"},\"Type\":\"C\"},{\"Name\":\"LISTENTRYANCHOR=\",\"Help\":{\"#cdata\":\"In an HTML document, the LISTENTRYANCHOR= attribute specifies whether to make the entry in the table \\nof contents a link to the body file.\"},\"Type\":\"V\",\"Values\":{\"@Value1\":\"ON\",\"@Value2\":\"OFF\"},\"ToolTips\":{\"@ToolTip1\":\"Specifies to make this entry in the table of contents a link to the body file.\",\"@ToolTip2\":\"Specifies not to make this entry in the table of contents a link to the body file.\"}},{\"Name\":\"LISTENTRYDBLSPACE=\",\"Help\":{\"#cdata\":\"In an HTML document, the LISTENTRYDBLSPACE= attribute specifies whether to double space between \\nentries in the table of contents.\"},\"Type\":\"V\",\"Values\":{\"@Value1\":\"ON\",\"@Value2\":\"OFF\"},\"ToolTips\":{\"@ToolTip1\":\"Specifies to double space between entries in the table of contents.\",\"@ToolTip2\":\"Specifies not to double space between entries in the table of contents.\"}},{\"Name\":\"LISTSTYLETYPE=\",\"Help\":{\"#cdata\":\"Specifies the string to use for the bullets in the contents file. ODS uses bullets in the contents file.\"},\"Type\":\"V\",\"Values\":{\"@Value1\":\"CIRCLE\",\"@Value2\":\"DECIMAL\",\"@Value3\":\"DISC\",\"@Value4\":\"LOWER_ALPHA\",\"@Value5\":\"LOWER_ROMAN\",\"@Value6\":\"NONE\",\"@Value7\":\"SQUARE\",\"@Value8\":\"UPPER_ALPHA\",\"@Value9\":\"UPPER_ROMAN\"},\"ToolTips\":{\"@ToolTip1\":\"Circle\",\"@ToolTip2\":\"Decimal\",\"@ToolTip3\":\"Disc\",\"@ToolTip4\":\"Lower alpha\",\"@ToolTip5\":\"Lower Roman\",\"@ToolTip6\":\"None\",\"@ToolTip7\":\"Square\",\"@ToolTip8\":\"Upper alpha\",\"@ToolTip9\":\"Upper Roman\"}},{\"Name\":\"MARKERSIZE=\",\"Help\":{\"#cdata\":\"[Syntax: MARKERSIZE=dimension] \\n    \\nSpecifies the marker size (both width and height).\"},\"Type\":\"V\"},{\"Name\":\"MARKERSYMBOL=\",\"Help\":{\"#cdata\":\"Specifies a marker symbol.\"},\"Type\":\"V\",\"Values\":{\"@Value1\":\"ArrowDown\",\"@Value2\":\"Asterisk\",\"@Value3\":\"Circle\",\"@Value4\":\"Diamond\",\"@Value5\":\"GreaterThan\",\"@Value6\":\"Hash\",\"@Value7\":\"HomeDown\",\"@Value8\":\"IBeam\",\"@Value9\":\"Plus\",\"@Value10\":\"Square\",\"@Value11\":\"Star\",\"@Value12\":\"Tack\",\"@Value13\":\"Tilde\",\"@Value14\":\"Triangle\",\"@Value15\":\"Union\",\"@Value16\":\"X\",\"@Value17\":\"Y\",\"@Value18\":\"Z\",\"@Value19\":\"CircleFilled\",\"@Value20\":\"DiamondFilled\",\"@Value21\":\"HomeDownFilled\",\"@Value22\":\"SquareFilled\",\"@Value23\":\"StarFilled\",\"@Value24\":\"TriangleFilled\"},\"ToolTips\":{\"@ToolTip1\":\"ArrowDown\",\"@ToolTip2\":\"Asterisk\",\"@ToolTip3\":\"Circle\",\"@ToolTip4\":\"Diamond\",\"@ToolTip5\":\"GreaterThan\",\"@ToolTip6\":\"Hash\",\"@ToolTip7\":\"HomeDown\",\"@ToolTip8\":\"IBeam\",\"@ToolTip9\":\"Plus\",\"@ToolTip10\":\"Square\",\"@ToolTip11\":\"Star\",\"@ToolTip12\":\"Tack\",\"@ToolTip13\":\"Tilde\",\"@ToolTip14\":\"Triangle\",\"@ToolTip15\":\"Union\",\"@ToolTip16\":\"X\",\"@ToolTip17\":\"Y\",\"@ToolTip18\":\"Z\",\"@ToolTip19\":\"CircleFilled\",\"@ToolTip20\":\"DiamondFilled\",\"@ToolTip21\":\"HomeDownFilled\",\"@ToolTip22\":\"SquareFilled\",\"@ToolTip23\":\"StarFilled\",\"@ToolTip24\":\"TriangleFilled\"}},{\"Name\":\"MARGINBOTTOM=\",\"Help\":{\"#cdata\":\"[Syntax: MARGINBOTTOM= dimension] \\n    \\nSpecifies the bottom margin for the HTML document.\"},\"Type\":\"V\"},{\"Name\":\"MARGINLEFT=\",\"Help\":{\"#cdata\":\"[Syntax: MARGINLEFT=dimension] \\n    \\nSpecifies the left margin for the HTML document.\"},\"Type\":\"V\"},{\"Name\":\"MARGINRIGHT=\",\"Help\":{\"#cdata\":\"[Syntax: MARGINRIGHT=dimension] \\n    \\nSpecifies the right margin for the HTML document.\"},\"Type\":\"V\"},{\"Name\":\"MARGINTOP=\",\"Help\":{\"#cdata\":\"[Syntax: MARGINTOP= dimension] \\n    \\nSpecifies the top margin for the HTML document.\"},\"Type\":\"V\"},{\"Name\":\"NEUTRALCOLOR=\",\"Help\":{\"#cdata\":\"[Syntax: NEUTRALCOLOR=color] \\n    \\nSpecifies the middle color in a 3-color ramp.\"},\"Type\":\"C\"},{\"Name\":\"NOBREAKSPACE=\",\"Help\":{\"#cdata\":\"Specifies how to handle space characters in cells.\"},\"Type\":\"V\",\"Values\":{\"@Value1\":\"ON\",\"@Value2\":\"OFF\"},\"ToolTips\":{\"@ToolTip1\":\"Does not let SAS break a line at a space character.\",\"@ToolTip2\":\"Lets SAS break a line at a space character if appropriate.\"}},{\"Name\":\"OUTPUTHEIGHT=\",\"Help\":{\"#cdata\":\"[Syntax: OUTPUTHEIGHT=Dimension] \\n    \\nSpecifies the height of a graph.\"},\"Type\":\"V\"},{\"Name\":\"OUTPUTWIDTH=\",\"Help\":{\"#cdata\":\"[Syntax: OUTPUTWIDTH=dimension] \\n    \\nSpecifies the width of a graph.\"},\"Type\":\"V\"},{\"Name\":\"OVERHANGFACTOR=\",\"Help\":{\"#cdata\":\"[Syntax: OVERHANGFACTOR= nonnegative-number] \\n    \\nSpecifies an upper limit for extending the width of the column in an HTML document.\"},\"Type\":\"V\"},{\"Name\":\"PAGEBREAKHTML=\",\"Help\":{\"#cdata\":\"[Syntax: PAGEBREAKHTML= \\\"string\\\"] \\n    \\nSpecifies HTML to place at page breaks in an HTML document.\"},\"Type\":\"V\"},{\"Name\":\"POSTHTML=\",\"Help\":{\"#cdata\":\"[Syntax: POSTHTML= \\\"string\\\"] \\n    \\nSpecifies the HTML code to place after the table or cell.\"},\"Type\":\"V\"},{\"Name\":\"POSTIMAGE=\",\"Help\":{\"#cdata\":\"[Syntax: POSTIMAGE= \\\"string\\\" | fileref] \\n    \\nSpecifies an image to place before the table or cell.\"},\"Type\":\"V\"},{\"Name\":\"POSTTEXT=\",\"Help\":{\"#cdata\":\"[Syntax: POSTTEXT= \\\"string\\\"] \\n    \\nSpecifies text to place after the cell or table.\"},\"Type\":\"V\"},{\"Name\":\"PREHTML=\",\"Help\":{\"#cdata\":\"[Syntax: PREHTML=\\\"string\\\"] \\n    \\nSpecifies the HTML code to place before the table or cell.\"},\"Type\":\"V\"},{\"Name\":\"PREIMAGE=\",\"Help\":{\"#cdata\":\"[Syntax: PREIMAGE= \\\"string\\\" | fileref] \\n    \\nSpecifies an image to place before the table or cell.\"},\"Type\":\"V\"},{\"Name\":\"PRETEXT=\",\"Help\":{\"#cdata\":\"[Syntax: PRETEXT=\\\"string\\\"] \\n    \\nSpecifies text to place before the cell or table.\"},\"Type\":\"V\"},{\"Name\":\"PROTECTSPECIALCHARACTERS=\",\"Help\":{\"#cdata\":\"Specifies how less-than signs (<), greater-than signs (>), and ampersands (&) are interpreted in cells.\"},\"Type\":\"V\",\"Values\":{\"@Value1\":\"ON\",\"@Value2\":\"OFF\",\"@Value3\":\"AUTO\"},\"ToolTips\":{\"@ToolTip1\":\"Interprets special characters as the characters themselves.\",\"@ToolTip2\":\"Interprets special characters as markup language tags.\",\"@ToolTip3\":\"Interprets any string that starts with a < and ends with a > as a markup language tag (ignoring  spaces that immediately precede the <, spaces that immediately follow the >, and spaces at the  beginning and end of the string).\"}},{\"Name\":\"RULES=\",\"Help\":{\"#cdata\":\"Specifies the types of rules to use in tables.\"},\"Type\":\"V\",\"Values\":{\"@Value1\":\"ALL\",\"@Value2\":\"COLS\",\"@Value3\":\"GROUPS\",\"@Value4\":\"NONE\",\"@Value5\":\"ROWS\"},\"ToolTips\":{\"@ToolTip1\":\"Between all rows and columns\",\"@ToolTip2\":\"Between all columns\",\"@ToolTip3\":\"Between the table header and the table\",\"@ToolTip4\":\"No rules anywhere\",\"@ToolTip5\":\"Between all rows\"}},{\"Name\":\"STARTCOLOR=\",\"Help\":{\"#cdata\":\"[Syntax: STARTCOLOR= color] \\n    \\nSpecifies the start fill color for a graph. It is used to create a gradient effect.\"},\"Type\":\"C\"},{\"Name\":\"TAGATTR=\",\"Help\":{\"#cdata\":\"[Syntax: TAGATTR=\\\"string\\\"] \\n    \\nSpecifies text to insert into HTML.\"},\"Type\":\"V\"},{\"Name\":\"TEXTALIGN=\",\"Help\":{\"#cdata\":\"Specifies justification in tables, cells, and graphs. In graphs, this option specifies \\nthe justification of the image specified with the IMAGE= statement.\"},\"Type\":\"V\",\"Values\":{\"@Value1\":\"CENTER\",\"@Value2\":\"DEC\",\"@Value3\":\"LEFT\",\"@Value4\":\"RIGHT\"},\"ToolTips\":{\"@ToolTip1\":\"Specifies center justification.\",\"@ToolTip2\":\"Specifies aligning the values by the decimal point.\",\"@ToolTip3\":\"Specifies left justification.\",\"@ToolTip4\":\"Specifies right justification.\"}},{\"Name\":\"TEXTDECORATION=\",\"Help\":{\"#cdata\":\"Changes the visual presentation of the text.\"},\"Type\":\"V\",\"Values\":{\"@Value1\":\"BLINK\",\"@Value2\":\"LINE_THROUGH\",\"@Value3\":\"OVERLINE\",\"@Value4\":\"UNDERLINE\"},\"ToolTips\":{\"@ToolTip1\":\"Specifies that the text's visual presentation alternates rapidly between visible and invisible.\",\"@ToolTip2\":\"Specifies that a line is drawn through the text.\",\"@ToolTip3\":\"Specifies that a line is drawn above the text.\",\"@ToolTip4\":\"Specifies that a line is drawn below the text.\"}},{\"Name\":\"TEXTINDENT=\",\"Help\":{\"#cdata\":\"[Syntax: TEXTINDENT=n] \\n    \\nSpecifies the number of spaces that the first line of output will be indented.\"},\"Type\":\"V\"},{\"Name\":\"TICKDISPLAY=\",\"Help\":{\"#cdata\":\"Specifies the placement of all major and minor axix tick marks.\"},\"Type\":\"V\",\"Values\":{\"@Value1\":\"\\\"INSIDE\\\"\",\"@Value2\":\"\\\"OUTSIDE\\\"\",\"@Value3\":\"\\\"ACROSS\\\"\"},\"ToolTips\":{\"@ToolTip1\":\"Inside the axis\",\"@ToolTip2\":\"Outside the axis\",\"@ToolTip3\":\"Across the axis\"}},{\"Name\":\"TEXTJUSTIFY=\",\"Help\":{\"#cdata\":\"Specifies how to evenly distribute text.\"},\"Type\":\"V\",\"Values\":{\"@Value1\":\"INTER_WORD\",\"@Value2\":\"INTER_CHARACTER\"},\"ToolTips\":{\"@ToolTip1\":\"Specifies that the words will be evenly distributed across the page.\",\"@ToolTip2\":\"Specifies that all characters will be evenly distributed across a page.\"}},{\"Name\":\"TRANSPARENCY=\",\"Help\":{\"#cdata\":\"[Syntax: TRANSPARENCY=dimension] \\n    \\nSpecifies a transparency level for graphs. The values are 0.0 (opaque) to 1.0 (transparent).\"},\"Type\":\"V\"},{\"Name\":\"URL=\",\"Help\":{\"#cdata\":\"[Syntax: URL=\\\"uniform-resource-locator\\\"] \\n    \\nSpecifies a URL to link to from the current cell.\"},\"Type\":\"V\"},{\"Name\":\"VERTICALALIGN=\",\"Help\":{\"#cdata\":\"Specifies vertical justification for graphs and cells.\"},\"Type\":\"V\",\"Values\":{\"@Value1\":\"BOTTOM\",\"@Value2\":\"MIDDLE\",\"@Value3\":\"TOP\"},\"ToolTips\":{\"@ToolTip1\":\"Specifies bottom justification.\",\"@ToolTip2\":\"Specifies center justification.\",\"@ToolTip3\":\"Specifies top justification.\"}},{\"Name\":\"VISITEDLINKCOLOR=\",\"Help\":{\"#cdata\":\"[Syntax: VISITEDLINKCOLOR= color] \\n    \\nSpecifies the color for links that have been visited in an HTML document.\"},\"Type\":\"C\"},{\"Name\":\"WATERMARK=\",\"Help\":{\"#cdata\":\"Specifies whether to make the image that is specified by BACKGROUNDIMAGE= into a watermark.\"},\"Type\":\"V\",\"Values\":{\"@Value1\":\"ON\",\"@Value2\":\"OFF\"},\"ToolTips\":{\"@ToolTip1\":\"Specifies to make the image that is specified by BACKGROUNDIMAGE= into a watermark.\",\"@ToolTip2\":\"Specifies not to make the image that is specified by BACKGROUNDIMAGE= into a watermark.\"}},{\"Name\":\"WIDTH=|CELLWIDTH=|OUTPUTWIDTH=\",\"Help\":{\"#cdata\":\"[Syntax: WIDTH= dimension] \\n    \\nSpecifies the width of a cell, table, line, or a graph. \\n\\ndimension is a nonnegative number. \\n\\nRestrictions:The HEIGHT= option does not apply to output generated as a result of GRSEG (graph segment) output. \\nThe WIDTH= attribute is valid only in markup family destinations, printer family destinations, and the RTF destination. \\n\\nInteraction:The XPIXELS= option in the SAS/GRAPH GOPTIONS statement overrides the WIDTH= attribute. \\nTips:When used with graphs, the HEIGHT=dimension must be specified as a pixel or percentage value. \\nIf a unit of measure is not specified with the dimension, then the value will be in pixels. If a unit \\nof measure other than pixels or percentage is specified with the dimension, then the HEIGHT=dimension \\nis not applied to the graph. A column of cells will have the width of the widest cell in the column. \\n\\nUse WIDTH=100% to make the table or graph as wide as the window that it is open in.\"},\"Type\":\"V\"},{\"Name\":\"BACKGROUNDPOSITION=\",\"Help\":{\"#cdata\":\"Specifies the position of the background of the tables, cells, or graphs.\"},\"Type\":\"V\",\"Values\":{\"@Value1\":\"BOTTOM\",\"@Value2\":\"BOTTOM_CENTER\",\"@Value3\":\"BOTTOM_LEFT\",\"@Value4\":\"BOTTOM_RIGHT\",\"@Value5\":\"CENTER\",\"@Value6\":\"CENTER_BOTTOM\",\"@Value7\":\"CENTER_CENTER\",\"@Value8\":\"CENTER_LEFT\",\"@Value9\":\"CENTER_RIGHT\",\"@Value10\":\"CENTER_TOP\",\"@Value11\":\"LEFT\",\"@Value12\":\"LEFT_BOTTOM\",\"@Value13\":\"LEFT_CENTER\",\"@Value14\":\"LEFT_TOP\",\"@Value15\":\"RIGHT\",\"@Value16\":\"RIGHT_BOTTOM\",\"@Value17\":\"RIGHT_CENTER\",\"@Value18\":\"RIGHT_TOP\",\"@Value19\":\"TOP\",\"@Value20\":\"TOP_CENTER\",\"@Value21\":\"TOP_LEFT\",\"@Value22\":\"TOP_RIGHT\"},\"ToolTips\":{\"@ToolTip1\":\"Specifies a BOTTOM position for the background of the tables, cells, or graphs.\",\"@ToolTip2\":\"Specifies a BOTTOM_CENTER position for the background of the tables, cells, or graphs.\",\"@ToolTip3\":\"Specifies a BOTTOM_LEFT position for the background of the tables, cells, or graphs.\",\"@ToolTip4\":\"Specifies a BOTTOM_RIGHT position for the background of the tables, cells, or graphs.\",\"@ToolTip5\":\"Specifies a CENTER position for the background of the tables, cells, or graphs.\",\"@ToolTip6\":\"Specifies a CENTER_BOTTOM position for the background of the tables, cells, or graphs.\",\"@ToolTip7\":\"Specifies a CENTER_CENTER position for the background of the tables, cells, or graphs.\",\"@ToolTip8\":\"Specifies a CENTER_LEFT position for the background of the tables, cells, or graphs.\",\"@ToolTip9\":\"Specifies a CENTER_RIGHT position for the background of the tables, cells, or graphs.\",\"@ToolTip10\":\"Specifies a CENTER_TOP position for the background of the tables, cells, or graphs.\",\"@ToolTip11\":\"Specifies a LEFT position for the background of the tables, cells, or graphs.\",\"@ToolTip12\":\"Specifies a LEFT_BOTTOM position for the background of the tables, cells, or graphs.\",\"@ToolTip13\":\"Specifies a LEFT_CENTER position for the background of the tables, cells, or graphs.\",\"@ToolTip14\":\"Specifies a LEFT_TOP position for the background of the tables, cells, or graphs.\",\"@ToolTip15\":\"Specifies a RIGHT position for the background of the tables, cells, or graphs.\",\"@ToolTip16\":\"Specifies a RIGHT_BOTTOM position for the background of the tables, cells, or graphs.\",\"@ToolTip17\":\"Specifies a RIGHT_CENTER position for the background of the tables, cells, or graphs.\",\"@ToolTip18\":\"Specifies a RIGHT_TOP position for the background of the tables, cells, or graphs.\",\"@ToolTip19\":\"Specifies a TOP position for the background of the tables, cells, or graphs.\",\"@ToolTip20\":\"Specifies a TOP_CENTER position for the background of the tables, cells, or graphs.\",\"@ToolTip21\":\"Specifies a TOP_LEFT position for the background of the tables, cells, or graphs.\",\"@ToolTip22\":\"Specifies a TOP_RIGHT position for the background of the tables, cells, or graphs.\"}},{\"Name\":\"BORDERCOLLAPSE=\",\"Help\":{\"#cdata\":\"Specifies whether the border is collapsed or separated.\"},\"Type\":\"V\",\"Values\":{\"@Value1\":\"COLLAPSE\",\"@Value2\":\"SEPARATE\"},\"ToolTips\":{\"@ToolTip1\":\"Specifies that the border is collapsed.\",\"@ToolTip2\":\"Specifies that the border is separated.\"}},{\"Name\":\"PADDING=\",\"Help\":{\"#cdata\":\"Syntax: PADDING=dimension | dimension% \\n    \\nSpecifies the amount of white space between the content of the cell and the border. \\n\\nRestriction:The PADDING= attribute is valid only in markup family destinations, printer \\nfamily destinations, and the RTF destination.\"},\"Type\":\"V\"},{\"Name\":\"PADDINGBOTTOM=\",\"Help\":{\"#cdata\":\"Syntax: PADDINGBOTTOM=dimension | dimension% \\n    \\nSpecifies the amount of white space on the bottom of the content of the cell in the table. \\n\\nDefault:0 \\n\\nRestriction:The PADDINGBOTTOM= attribute is valid only in markup family destinations, \\nprinter family destinations, and the RTF destination.\"},\"Type\":\"V\"},{\"Name\":\"PADDINGLEFT=\",\"Help\":{\"#cdata\":\"Syntax: PADDINGLEFT=dimension | dimension% \\n    \\nSpecifies the amount of white space on the left side of the content of the cell in the table. \\n\\nDefault:0 \\n\\nRestriction:The PADDINGLEFT= attribute is valid only in markup family destinations, \\nprinter family destinations, and the RTF destination.\"},\"Type\":\"V\"},{\"Name\":\"PADDINGRIGHT=\",\"Help\":{\"#cdata\":\"Syntax: PADDINGRIGHT=dimension | dimension% \\n    \\nSpecifies the amount of white space on the right side of the content of the cell \\nin the table. \\n\\nDefault:0 \\n\\nRestriction:The PADDINGRIGHT= attribute is valid only in markup family destinations, \\nprinter family destinations, and the RTF destination.\"},\"Type\":\"V\"},{\"Name\":\"PADDINGTOP=\",\"Help\":{\"#cdata\":\"Syntax: PADDINGTOP=dimension | dimension% \\n    \\nSpecifies the amount of white space on the top of the content of the cell in the table. \\n\\nDefault:0 \\n\\nRestriction:The PADDINGTOP= attribute is valid only in markup family destinations, \\nprinter family destinations, and the RTF destination.\"},\"Type\":\"V\"},{\"Name\":\"WHITESPACE=\",\"Help\":{\"#cdata\":\"Syntax: WHITESPACE=options \\n\\nSpecifies how the browser handles multiple white space characters and line breaks.\\n\\nDefault:NORMAL\"},\"Type\":\"V\",\"Values\":{\"@Value1\":\"NORMAL\",\"@Value2\":\"NOWRAP\",\"@Value3\":\"PRE\",\"@Value4\":\"PRE_LINE\",\"@Value5\":\"PRE_WRAP\"},\"ToolTips\":{\"@ToolTip1\":\"Specifies that white spaces are compressed and text wraps normally.\",\"@ToolTip2\":\"Specifies that white spaces are compressed and that text does not have line breaks.\",\"@ToolTip3\":\"Specifies that white spaces are left intact and that text does not have line breaks.\",\"@ToolTip4\":\"Specifies that white spaces are compressed, keeps line breaks that are in the text,  and adds line breaks as needed.\",\"@ToolTip5\":\"Specifies that white spaces are left intact and allows line breaking.\"}}],\"#comment\":[{},{}]}}"
  },
  {
    "path": "server/data/StyleElements.json",
    "content": "{\"Keywords\":{\"Keyword\":[{\"Name\":\"Container\",\"Help\":{\"#cdata\":\"Controls all container-oriented elements.\"},\"Type\":\"S\"},{\"Name\":\"Continued\",\"Help\":{\"#cdata\":\"Controls continued flag when a table breaks across a page (paginated destinations only).\"},\"Type\":\"S\"},{\"Name\":\"ExtendedPage\",\"Help\":{\"#cdata\":\"Message when page won't fit (Printer only).\"},\"Type\":\"S\"},{\"Name\":\"PageNo\",\"Help\":{\"#cdata\":\"Controls page numbers for paginated destinations.\"},\"Type\":\"S\"},{\"Name\":\"Parskip\",\"Help\":{\"#cdata\":\"Controls space between tables.\"},\"Type\":\"S\"},{\"Name\":\"PrePage\",\"Help\":{\"#cdata\":\"Controls the ODS RTF/MEASURED PREPAGE= style.\"},\"Type\":\"S\"},{\"Name\":\"StartUpFunction\",\"Help\":{\"#cdata\":\"This is a Javascript function that is added to the HTML output. Any Javascript code \\nin the TAGATTR= attribute is executed when the page is loaded.\"},\"Type\":\"S\"},{\"Name\":\"ShutDownFunction\",\"Help\":{\"#cdata\":\"Controls the Shut-Down function. This is a Javascript function that is added to the \\nHTML output. Any Javascript code in the TAGATTR= attribute is executed when the \\npage is exited.\"},\"Type\":\"S\"},{\"Name\":\"UserText\",\"Help\":{\"#cdata\":\"Controls the ODS TEXT= style.\"},\"Type\":\"S\"},{\"Name\":\"Document\",\"Help\":{\"#cdata\":\"Controls the various document bodies. This generally includes things like the page \\nbackground color and page margins.\"},\"Type\":\"S\"},{\"Name\":\"Body\",\"Help\":{\"#cdata\":\"Controls the Body file.\"},\"Type\":\"S\"},{\"Name\":\"Frame\",\"Help\":{\"#cdata\":\"Controls the Frame file for HTML.\"},\"Type\":\"S\"},{\"Name\":\"Contents\",\"Help\":{\"#cdata\":\"Controls the Contents file.\"},\"Type\":\"S\"},{\"Name\":\"Pages\",\"Help\":{\"#cdata\":\"Controls the Page file.\"},\"Type\":\"S\"},{\"Name\":\"BodyDate\",\"Help\":{\"#cdata\":\"Controls the date field in the Contents file.\"},\"Type\":\"S\"},{\"Name\":\"Date\",\"Help\":{\"#cdata\":\"Controls how date fields look.\"},\"Type\":\"S\"},{\"Name\":\"PagesDate\",\"Help\":{\"#cdata\":\"Controls the date field in the Pages file.\"},\"Type\":\"S\"},{\"Name\":\"IndexItem\",\"Help\":{\"#cdata\":\"Controls list items and folders for Contents and Pages.\"},\"Type\":\"S\"},{\"Name\":\"ContentFolder\",\"Help\":{\"#cdata\":\"Controls the folders in the Contents file.\"},\"Type\":\"S\"},{\"Name\":\"ByContentFolder\",\"Help\":{\"#cdata\":\"Controls the byline folders in the Contents file.\"},\"Type\":\"S\"},{\"Name\":\"ContentItem\",\"Help\":{\"#cdata\":\"Controls the items in the Contents file.\"},\"Type\":\"S\"},{\"Name\":\"PagesItem\",\"Help\":{\"#cdata\":\"Controls the items in the Pages file.\"},\"Type\":\"S\"},{\"Name\":\"Index\",\"Help\":{\"#cdata\":\"Controls miscellaneous Contents and Pages components.\"},\"Type\":\"S\"},{\"Name\":\"IndexProcName\",\"Help\":{\"#cdata\":\"Controls the PROC name in the Contents and Pages files.\"},\"Type\":\"S\"},{\"Name\":\"ContentProcName\",\"Help\":{\"#cdata\":\"Controls the PROC name in the Contents file.\"},\"Type\":\"S\"},{\"Name\":\"ContentProcLabel\",\"Help\":{\"#cdata\":\"Controls the PROC label in the Contents file.\"},\"Type\":\"S\"},{\"Name\":\"PagesProcName\",\"Help\":{\"#cdata\":\"Controls the PROC name in the Pages file.\"},\"Type\":\"S\"},{\"Name\":\"PagesProcLabel\",\"Help\":{\"#cdata\":\"Controls the PROC label in the Pages file.\"},\"Type\":\"S\"},{\"Name\":\"IndexAction\",\"Help\":{\"#cdata\":\"Determines what happens on mouse-over events for folders and items (HTML only).\"},\"Type\":\"S\"},{\"Name\":\"FolderAction\",\"Help\":{\"#cdata\":\"Determines what happens on mouse-over events for folders (HTML only).\"},\"Type\":\"S\"},{\"Name\":\"IndexTitle\",\"Help\":{\"#cdata\":\"Controls the title of Contents and Pages files.\"},\"Type\":\"S\"},{\"Name\":\"ContentTitle\",\"Help\":{\"#cdata\":\"Controls the title of the Contents file. In styles.default this element contains a \\nPRETEXT= element that print the text \\\"Table of Contents\\\".\"},\"Type\":\"S\"},{\"Name\":\"SysTitleAndFooterContainer\",\"Help\":{\"#cdata\":\"Controls container for system page title and system page footer. This element is \\nusually used to add borders around a title.\"},\"Type\":\"S\"},{\"Name\":\"TitlesAndFooters\",\"Help\":{\"#cdata\":\"Controls system page title text and system page footer text.\"},\"Type\":\"S\"},{\"Name\":\"SystemTitle\",\"Help\":{\"#cdata\":\"Controls system title text.\"},\"Type\":\"S\"},{\"Name\":\"SystemTitle2\",\"Help\":{\"#cdata\":\"Controls system title2 text.\"},\"Type\":\"S\"},{\"Name\":\"SystemTitle3\",\"Help\":{\"#cdata\":\"Controls system title3 text.\"},\"Type\":\"S\"},{\"Name\":\"SystemTitle4\",\"Help\":{\"#cdata\":\"Controls system title4 text.\"},\"Type\":\"S\"},{\"Name\":\"SystemTitle5\",\"Help\":{\"#cdata\":\"Controls system title5 text.\"},\"Type\":\"S\"},{\"Name\":\"SystemTitle6\",\"Help\":{\"#cdata\":\"Controls system title6 text.\"},\"Type\":\"S\"},{\"Name\":\"SystemTitle7\",\"Help\":{\"#cdata\":\"Controls system title7 text.\"},\"Type\":\"S\"},{\"Name\":\"SystemTitle8\",\"Help\":{\"#cdata\":\"Controls system title8 text.\"},\"Type\":\"S\"},{\"Name\":\"SystemTitle9\",\"Help\":{\"#cdata\":\"Controls system title9 text.\"},\"Type\":\"S\"},{\"Name\":\"SystemTitle10\",\"Help\":{\"#cdata\":\"Controls system title10 text.\"},\"Type\":\"S\"},{\"Name\":\"SystemFooter\",\"Help\":{\"#cdata\":\"Controls system footer text.\"},\"Type\":\"S\"},{\"Name\":\"SystemFooter2\",\"Help\":{\"#cdata\":\"Controls system footer2 text.\"},\"Type\":\"S\"},{\"Name\":\"SystemFooter3\",\"Help\":{\"#cdata\":\"Controls system footer3 text.\"},\"Type\":\"S\"},{\"Name\":\"SystemFooter4\",\"Help\":{\"#cdata\":\"Controls system footer4 text.\"},\"Type\":\"S\"},{\"Name\":\"SystemFooter5\",\"Help\":{\"#cdata\":\"Controls system footer5 text.\"},\"Type\":\"S\"},{\"Name\":\"SystemFooter6\",\"Help\":{\"#cdata\":\"Controls system footer6 text.\"},\"Type\":\"S\"},{\"Name\":\"SystemFooter7\",\"Help\":{\"#cdata\":\"Controls system footer7 text.\"},\"Type\":\"S\"},{\"Name\":\"SystemFooter8\",\"Help\":{\"#cdata\":\"Controls system footer8 text.\"},\"Type\":\"S\"},{\"Name\":\"SystemFooter9\",\"Help\":{\"#cdata\":\"Controls system footer9 text.\"},\"Type\":\"S\"},{\"Name\":\"SystemFooter10\",\"Help\":{\"#cdata\":\"Controls system footer10 text.\"},\"Type\":\"S\"},{\"Name\":\"TitleAndNoteContainer\",\"Help\":{\"#cdata\":\"Controls container for procedure-defined titles and notes.\"},\"Type\":\"S\"},{\"Name\":\"ProcTitle\",\"Help\":{\"#cdata\":\"Controls procedure title text.\"},\"Type\":\"S\"},{\"Name\":\"ProcTitleFixed\",\"Help\":{\"#cdata\":\"Controls procedure title text that requests a fixed font.\"},\"Type\":\"S\"},{\"Name\":\"BylineContainer\",\"Help\":{\"#cdata\":\"Controls container for the byline. This is generally used to add borders to a byline.\"},\"Type\":\"S\"},{\"Name\":\"Byline\",\"Help\":{\"#cdata\":\"Controls byline text.\"},\"Type\":\"S\"},{\"Name\":\"NoteBanner\",\"Help\":{\"#cdata\":\"Controls the banner for NOTE:s.\"},\"Type\":\"S\"},{\"Name\":\"NoteContent\",\"Help\":{\"#cdata\":\"Controls the contents for NOTE:s.\"},\"Type\":\"S\"},{\"Name\":\"NoteContentFixed\",\"Help\":{\"#cdata\":\"Controls the contents for NOTE:s. Fixed font.\"},\"Type\":\"S\"},{\"Name\":\"WarnBanner\",\"Help\":{\"#cdata\":\"Controls the banner for WARNING:s.\"},\"Type\":\"S\"},{\"Name\":\"WarnContent\",\"Help\":{\"#cdata\":\"Controls the contents of WARNING:s.\"},\"Type\":\"S\"},{\"Name\":\"WarnContentFixed\",\"Help\":{\"#cdata\":\"Controls the contents for WARNING:s. Fixed font.\"},\"Type\":\"S\"},{\"Name\":\"ErrorBanner\",\"Help\":{\"#cdata\":\"Controls the banner for ERROR:s.\"},\"Type\":\"S\"},{\"Name\":\"ErrorContent\",\"Help\":{\"#cdata\":\"Controls the contents of ERROR:s.\"},\"Type\":\"S\"},{\"Name\":\"ErrorContentFixed\",\"Help\":{\"#cdata\":\"Controls the contents for ERROR:s. Fixed font.\"},\"Type\":\"S\"},{\"Name\":\"FatalBanner\",\"Help\":{\"#cdata\":\"Controls the banner for FATAL:s\"},\"Type\":\"S\"},{\"Name\":\"FatalContent\",\"Help\":{\"#cdata\":\"Controls the contents of FATAL:s.\"},\"Type\":\"S\"},{\"Name\":\"FatalContentFixed\",\"Help\":{\"#cdata\":\"FatalContentFixed Controls the contents for FATAL:s. Fixed font.\"},\"Type\":\"S\"},{\"Name\":\"Output\",\"Help\":{\"#cdata\":\"Controls basic output forms. This is generally used to control the borders (using \\nthe FRAME=, RULES=, and individual border control attributes), cell spacing, cell \\npadding, and background color.\"},\"Type\":\"S\"},{\"Name\":\"Table\",\"Help\":{\"#cdata\":\"Controls overall table style.\"},\"Type\":\"S\"},{\"Name\":\"Batch\",\"Help\":{\"#cdata\":\"Controls batch mode output.\"},\"Type\":\"S\"},{\"Name\":\"TableHeaderContainer\",\"Help\":{\"#cdata\":\"Places and controls the box around all column headings (RTF only).\"},\"Type\":\"S\"},{\"Name\":\"TableFooterContainer\",\"Help\":{\"#cdata\":\"Places and controls the box around all column footers (RTF only).\"},\"Type\":\"S\"},{\"Name\":\"ColumnGroup\",\"Help\":{\"#cdata\":\"Places and controls the box around groups of columns (RTF only).\"},\"Type\":\"S\"},{\"Name\":\"Cell\",\"Help\":{\"#cdata\":\"Controls data, header, and footer cells.\"},\"Type\":\"S\"},{\"Name\":\"Data\",\"Help\":{\"#cdata\":\"Default style for data cells.\"},\"Type\":\"S\"},{\"Name\":\"DataFixed\",\"Help\":{\"#cdata\":\"Default style for data cells that request a fixed font.\"},\"Type\":\"S\"},{\"Name\":\"DataEmpty\",\"Help\":{\"#cdata\":\"Controls emphasized data cells.\"},\"Type\":\"S\"},{\"Name\":\"DataEmphasis\",\"Help\":{\"#cdata\":\"Controls emphasized data cells.\"},\"Type\":\"S\"},{\"Name\":\"DataEmphasisFixed\",\"Help\":{\"#cdata\":\"Controls emphasized data cells that request a fixed font.\"},\"Type\":\"S\"},{\"Name\":\"DataStrong\",\"Help\":{\"#cdata\":\"Controls strong (more emphasized) data cells.\"},\"Type\":\"S\"},{\"Name\":\"DataStrongFixed\",\"Help\":{\"#cdata\":\"Controls strong (more emphasized) data cells that request a fixed font.\"},\"Type\":\"S\"},{\"Name\":\"HeadersAndFooters\",\"Help\":{\"#cdata\":\"Controls table headers and footers.\"},\"Type\":\"S\"},{\"Name\":\"Header\",\"Help\":{\"#cdata\":\"Controls the headers of a table.\"},\"Type\":\"S\"},{\"Name\":\"HeaderFixed\",\"Help\":{\"#cdata\":\"Controls the header of a table that request a fixed font.\"},\"Type\":\"S\"},{\"Name\":\"HeaderEmpty\",\"Help\":{\"#cdata\":\"Controls empty table header cells.\"},\"Type\":\"S\"},{\"Name\":\"HeaderEmphasis\",\"Help\":{\"#cdata\":\"Controls emphasized table header cells that request a fixed font.\"},\"Type\":\"S\"},{\"Name\":\"HeaderEmphasisFixed\",\"Help\":{\"#cdata\":\"Controls emphasized table header cells that request a fixed font.\"},\"Type\":\"S\"},{\"Name\":\"HeaderStrong\",\"Help\":{\"#cdata\":\"Controls strong (more emphasized) table header cells.\"},\"Type\":\"S\"},{\"Name\":\"HeaderStrongFixed\",\"Help\":{\"#cdata\":\"Controls strong (more emphasized) table header cells.\"},\"Type\":\"S\"},{\"Name\":\"RowHeader\",\"Help\":{\"#cdata\":\"Controls row headers.\"},\"Type\":\"S\"},{\"Name\":\"RowHeaderFixed\",\"Help\":{\"#cdata\":\"Controls row headers that request a fixed font.\"},\"Type\":\"S\"},{\"Name\":\"RowHeaderEmpty\",\"Help\":{\"#cdata\":\"Controls empty row headers.\"},\"Type\":\"S\"},{\"Name\":\"RowHeaderEmphasis\",\"Help\":{\"#cdata\":\"Controls emphasized row headers.\"},\"Type\":\"S\"},{\"Name\":\"RowHeaderEmphasisFixed\",\"Help\":{\"#cdata\":\"Controls emphasized row headers that request a fixed font.\"},\"Type\":\"S\"},{\"Name\":\"RowHeaderStrong\",\"Help\":{\"#cdata\":\"Controls strong (more emphasized) row headers.\"},\"Type\":\"S\"},{\"Name\":\"RowHeaderStrongFixed\",\"Help\":{\"#cdata\":\"Controls strong (more emphasized) row headers that request a fixed font.\"},\"Type\":\"S\"},{\"Name\":\"Footer\",\"Help\":{\"#cdata\":\"Controls table footers.\"},\"Type\":\"S\"},{\"Name\":\"FooterFixed\",\"Help\":{\"#cdata\":\"Controls table footers that request a fixed font.\"},\"Type\":\"S\"},{\"Name\":\"FooterEmpty\",\"Help\":{\"#cdata\":\"Controls empty table footers.\"},\"Type\":\"S\"},{\"Name\":\"FooterEmphasis\",\"Help\":{\"#cdata\":\"Controls emphasized table footers.\"},\"Type\":\"S\"},{\"Name\":\"FooterEmphasisFixed\",\"Help\":{\"#cdata\":\"Controls emphasized table footers that request a fixed font.\"},\"Type\":\"S\"},{\"Name\":\"FooterStrong\",\"Help\":{\"#cdata\":\"Controls strong (more emphasized) table footers.\"},\"Type\":\"S\"},{\"Name\":\"FooterStrongFixed\",\"Help\":{\"#cdata\":\"Controls strong (more emphasized) table footers that request a fixed font.\"},\"Type\":\"S\"},{\"Name\":\"RowFooter\",\"Help\":{\"#cdata\":\"Controls a row footer (label).\"},\"Type\":\"S\"},{\"Name\":\"RowFooterFixed\",\"Help\":{\"#cdata\":\"Controls a row footer (label) that request a fixed font.\"},\"Type\":\"S\"},{\"Name\":\"RowFooterEmpty\",\"Help\":{\"#cdata\":\"Controls an empty row footer (label).\"},\"Type\":\"S\"},{\"Name\":\"RowFooterEmphasis\",\"Help\":{\"#cdata\":\"Controls an emphasized row footer (label).\"},\"Type\":\"S\"},{\"Name\":\"RowFooterEmphasisFixed\",\"Help\":{\"#cdata\":\"Controls an emphasized row footer (label) that request a fixed font.\"},\"Type\":\"S\"},{\"Name\":\"RowFooterStrong\",\"Help\":{\"#cdata\":\"Controls a strong (more emphasized) row footer (label).\"},\"Type\":\"S\"},{\"Name\":\"RowFooterStrongFixed\",\"Help\":{\"#cdata\":\"Controls a strong (more emphasized) row footer (label) that requests a fixed font.\"},\"Type\":\"S\"},{\"Name\":\"Caption\",\"Help\":{\"#cdata\":\"Controls captions in PROC TABULATE.\"},\"Type\":\"S\"},{\"Name\":\"BeforeCaption\",\"Help\":{\"#cdata\":\"Caption that comes before a table.\"},\"Type\":\"S\"},{\"Name\":\"AfterCaption\",\"Help\":{\"#cdata\":\"Caption that comes after a table.\"},\"Type\":\"S\"},{\"Name\":\"Graph\",\"Help\":{\"#cdata\":\"Graph size and outer border appearance\"},\"Type\":\"S\"},{\"Name\":\"GraphAnnoLine\",\"Help\":{\"#cdata\":\"Annotation lines\"},\"Type\":\"S\"},{\"Name\":\"GraphAnnoShape\",\"Help\":{\"#cdata\":\"Annotation closed shapes such as circles, and squares\"},\"Type\":\"S\"},{\"Name\":\"GraphAnnoText\",\"Help\":{\"#cdata\":\"Annotation text\"},\"Type\":\"S\"},{\"Name\":\"GraphAxisLines\",\"Help\":{\"#cdata\":\"X, Y and Z axis lines\"},\"Type\":\"S\"},{\"Name\":\"GraphBackground\",\"Help\":{\"#cdata\":\"Background of the graph\"},\"Type\":\"S\"},{\"Name\":\"GraphBorderLines\",\"Help\":{\"#cdata\":\"Border around graph wall, legend border, borders to complete axis frame\"},\"Type\":\"S\"},{\"Name\":\"GraphDataText\",\"Help\":{\"#cdata\":\"Text font and color for point and line labels\"},\"Type\":\"S\"},{\"Name\":\"GraphFootnoteText\",\"Help\":{\"#cdata\":\"Text font and color for footnote(s)\"},\"Type\":\"S\"},{\"Name\":\"GraphGridLines\",\"Help\":{\"#cdata\":\"Horizontal and vertical grid lines drawn at major tick marks\"},\"Type\":\"S\"},{\"Name\":\"GraphHeaderBackground\",\"Help\":{\"#cdata\":\"Background color of the legend title\"},\"Type\":\"S\"},{\"Name\":\"GraphLabelTex\",\"Help\":{\"#cdata\":\"tText font and color for axis labels and legend titles\"},\"Type\":\"S\"},{\"Name\":\"GraphLegendBackground\",\"Help\":{\"#cdata\":\"Background color of the legend\"},\"Type\":\"S\"},{\"Name\":\"GraphOutlines\",\"Help\":{\"#cdata\":\"Outline properties for fill areas such as bars, pie slices, box plots, ellipses, \\nand histograms\"},\"Type\":\"S\"},{\"Name\":\"GraphReference\",\"Help\":{\"#cdata\":\"Horizontal and vertical reference lines and drop lines\"},\"Type\":\"S\"},{\"Name\":\"GraphTitleText\",\"Help\":{\"#cdata\":\"Text font and color for title(s)\"},\"Type\":\"S\"},{\"Name\":\"GraphUnicodeText\",\"Help\":{\"#cdata\":\"Text font for unicode values\"},\"Type\":\"S\"},{\"Name\":\"GraphValueText\",\"Help\":{\"#cdata\":\"Text font and color for axis tick values and legend values\"},\"Type\":\"S\"},{\"Name\":\"GraphWalls\",\"Help\":{\"#cdata\":\"Vertical wall(s) bounded by axes\"},\"Type\":\"S\"},{\"Name\":\"GraphBoxMean\",\"Help\":{\"#cdata\":\"Marker for mean\"},\"Type\":\"S\"},{\"Name\":\"GraphBoxMedian\",\"Help\":{\"#cdata\":\"Line for median\"},\"Type\":\"S\"},{\"Name\":\"GraphBoxWhisker\",\"Help\":{\"#cdata\":\"Box whiskers and serifs\"},\"Type\":\"S\"},{\"Name\":\"GraphConfidence\",\"Help\":{\"#cdata\":\"Primary confidence lines and bands, colors for bands and lines\"},\"Type\":\"S\"},{\"Name\":\"GraphConfidence2\",\"Help\":{\"#cdata\":\"Secondary confidence lines and bands, color for bands, amd contrast color for lines\"},\"Type\":\"S\"},{\"Name\":\"GraphError\",\"Help\":{\"#cdata\":\"Error line or error bar fill, ContrastColor for lines, Color for bar fill\"},\"Type\":\"S\"},{\"Name\":\"GraphFit\",\"Help\":{\"#cdata\":\"Primary fit lines such as a normal density curve\"},\"Type\":\"S\"},{\"Name\":\"GraphFit2\",\"Help\":{\"#cdata\":\"Secondary fit lines such as a kernel density curve\"},\"Type\":\"S\"},{\"Name\":\"GraphMissing\",\"Help\":{\"#cdata\":\"Properties for graph items representing missing values\"},\"Type\":\"S\"},{\"Name\":\"GraphPrediction\",\"Help\":{\"#cdata\":\"Prediction lines\"},\"Type\":\"S\"},{\"Name\":\"GraphPredictionLimits\",\"Help\":{\"#cdata\":\"Fills for prediction limits\"},\"Type\":\"S\"},{\"Name\":\"GraphSelection\",\"Help\":{\"#cdata\":\"For interactive graphs, visual properties of selected item. Color for selected fill \\narea, ContrastColor for selected marker or line\"},\"Type\":\"S\"},{\"Name\":\"ThreeColorAltRamp\",\"Help\":{\"#cdata\":\"Line contours, markers, and data labels with segmented range color response\"},\"Type\":\"S\"},{\"Name\":\"ThreeColorRamp\",\"Help\":{\"#cdata\":\"Gradient contours, surfaces, markers, and data labels with continuous color response\"},\"Type\":\"S\"},{\"Name\":\"TwoColorAltRamp\",\"Help\":{\"#cdata\":\"Line contours, markers, and data labels with segmented range color response\"},\"Type\":\"S\"},{\"Name\":\"TwoColorRamp\",\"Help\":{\"#cdata\":\"Gradient contours, surfaces, markers, and data labels with continuous color response\"},\"Type\":\"S\"},{\"Name\":\"GraphData1\",\"Help\":{\"#cdata\":\"Primitives related to 1st grouped data items. Color applies to filled areas. \\nContrastColor applies to markers and lines.\"},\"Type\":\"S\"},{\"Name\":\"GraphData2\",\"Help\":{\"#cdata\":\"Primitives related to 2nd grouped data items\"},\"Type\":\"S\"},{\"Name\":\"GraphData3\",\"Help\":{\"#cdata\":\"Primitives related to 3rd grouped data items\"},\"Type\":\"S\"},{\"Name\":\"GraphData4\",\"Help\":{\"#cdata\":\"Primitives related to 4th grouped data items\"},\"Type\":\"S\"},{\"Name\":\"GraphData5\",\"Help\":{\"#cdata\":\"Primitives related to 5th grouped data items\"},\"Type\":\"S\"},{\"Name\":\"GraphData6\",\"Help\":{\"#cdata\":\"Primitives related to 6th grouped data items\"},\"Type\":\"S\"},{\"Name\":\"GraphData7\",\"Help\":{\"#cdata\":\"Primitives related to 7th grouped data items\"},\"Type\":\"S\"},{\"Name\":\"GraphData8\",\"Help\":{\"#cdata\":\"Primitives related to 8th grouped data items\"},\"Type\":\"S\"},{\"Name\":\"GraphData9\",\"Help\":{\"#cdata\":\"Primitives related to 9th grouped data items\"},\"Type\":\"S\"},{\"Name\":\"GraphData10\",\"Help\":{\"#cdata\":\"Primitives related to 10th grouped data items\"},\"Type\":\"S\"},{\"Name\":\"GraphData11\",\"Help\":{\"#cdata\":\"Primitives related to 11th grouped data items\"},\"Type\":\"S\"},{\"Name\":\"GraphData12\",\"Help\":{\"#cdata\":\"Primitives related to 12th grouped data items\"},\"Type\":\"S\"},{\"Name\":\"GraphAltBlock\",\"Help\":{\"#cdata\":\"Alternate fill color for block plots\"},\"Type\":\"S\"},{\"Name\":\"GraphBand\",\"Help\":{\"#cdata\":\"Display options for confidence bands\"},\"Type\":\"S\"},{\"Name\":\"GraphBox\",\"Help\":{\"#cdata\":\"Display options for box plots\"},\"Type\":\"S\"},{\"Name\":\"GraphBlock\",\"Help\":{\"#cdata\":\"Fill color for block plots\"},\"Type\":\"S\"},{\"Name\":\"GraphEllipse\",\"Help\":{\"#cdata\":\"Display options for confidence ellipses\"},\"Type\":\"S\"},{\"Name\":\"GraphHistogram\",\"Help\":{\"#cdata\":\"Display options for histograms\"},\"Type\":\"S\"},{\"Name\":\"DropShadowStyle\",\"Help\":{\"#cdata\":\"Used with text types =\"},\"Type\":\"S\"},{\"Name\":\"GraphCharts\",\"Help\":{\"#cdata\":\"All charts within the graph\"},\"Type\":\"S\"}]}}"
  },
  {
    "path": "server/data/StyleLocations.json",
    "content": "{\"Keywords\":{\"#comment\":[{},{},{}],\"Keyword\":[{\"Name\":\"BYLABEL|BYSUMLABEL|BYLBL|BYSUMLBL\",\"Help\":{\"#cdata\":\"Style location for the label for the BY variable on the line containing the SUM totals.\"},\"Type\":\"S\",\"Procedure\":\"PRINT\",\"Statements\":\"PROC PRINT\"},{\"Name\":\"DATA|COLUMN|COL\",\"Help\":{\"#cdata\":\"Style location for the cells of all columns.\"},\"Type\":\"S\",\"Procedure\":\"PRINT\",\"Statements\":\"PROC PRINT|VAR|ID|SUM\"},{\"Name\":\"GRANDTOTAL|GRANDTOT|GRAND|GTOTAL|GTOT\",\"Help\":{\"#cdata\":\"Style location for the SUM line containing the grand totals for the whole report.\"},\"Type\":\"S\",\"Procedure\":\"PRINT\",\"Statements\":\"PROC PRINT|SUM\"},{\"Name\":\"HEADER|HEAD|HDR\",\"Help\":{\"#cdata\":\"Style location for all column headings.\"},\"Type\":\"S\",\"Procedure\":\"PRINT|REPORT\",\"Statements\":\"PROC PRINT|VAR|ID|SUM|PROC REPORT|DEFINE\"},{\"Name\":\"N\",\"Help\":{\"#cdata\":\"Style location for N= table and contents.\"},\"Type\":\"S\",\"Procedure\":\"PRINT\",\"Statements\":\"PROC PRINT\"},{\"Name\":\"OBS|OBSDATA|OBSCOLUMN|OBSCOL\",\"Help\":{\"#cdata\":\"Style location for the data in the OBS column.\"},\"Type\":\"S\",\"Procedure\":\"PRINT\",\"Statements\":\"PROC PRINT\"},{\"Name\":\"OBSHEADER|OBSHEAD|OBSHDR\",\"Help\":{\"#cdata\":\"Style location for the header of the OBS column.\"},\"Type\":\"S\",\"Procedure\":\"PRINT\",\"Statements\":\"PROC PRINT\"},{\"Name\":\"TABLE|REPORT\",\"Help\":{\"#cdata\":\"Style location for the structural part of the report - that is, the underlying table \\nused to set things like the width of the border and the space between cells.\"},\"Type\":\"S\",\"Procedure\":\"PRINT\",\"Statements\":\"PROC PRINT\"},{\"Name\":\"TOTAL|TOT|BYSUMLINE|BYLINE|BYSUM\",\"Help\":{\"#cdata\":\"Style location for the SUM line containing totals for each BY group.\"},\"Type\":\"S\",\"Procedure\":\"PRINT\",\"Statements\":\"PROC PRINT|SUM\"},{\"Name\":\"CALLDEF\",\"Help\":{\"#cdata\":\"Style location for cells identified by a CALL DEFINE statement.\"},\"Type\":\"S\",\"Procedure\":\"REPORT\",\"Statements\":\"CALL DEFINE|PROC REPORT\"},{\"Name\":\"COLUMN\",\"Help\":{\"#cdata\":\"Style location for column cells.\"},\"Type\":\"S\",\"Procedure\":\"REPORT\",\"Statements\":\"PROC REPORT\"},{\"Name\":\"LINES\",\"Help\":{\"#cdata\":\"Style location for lines generated by LINE statements.\"},\"Type\":\"S\",\"Procedure\":\"REPORT\",\"Statements\":\"COMPUTE|PROC REPORT|RBREAK|BREAK\"},{\"Name\":\"REPORT\",\"Help\":{\"#cdata\":\"Style location for the report as a whole.\"},\"Type\":\"S\",\"Procedure\":\"REPORT\",\"Statements\":\"PROC REPORT\"},{\"Name\":\"SUMMARY\",\"Help\":{\"#cdata\":\"Style location for summary lines.\"},\"Type\":\"S\",\"Procedure\":\"REPORT\",\"Statements\":\"PROC REPORT|RBREAK|BREAK\"}]}}"
  },
  {
    "path": "server/data/WHERE.json",
    "content": "{\"Keywords\":{\"Keyword\":[{\"Name\":\"AND\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[logical operator between where-expressions]--Logical AND\"}},{\"Name\":\"NOT\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[logical operator between where-expressions]--Logical NOT\"}},{\"Name\":\"OR\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[logical operator between where-expressions]--Logical OR\"}},{\"Name\":\"CONTAINS\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[mnemonic]--For a character string.]\"}},{\"Name\":\"IS NULL\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[mnemonic]--For missing values.]\"}},{\"Name\":\"IS MISSING\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[mnemonic]--For missing values.]\"}},{\"Name\":\"LIKE\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[mnemonic]--For match patterns.]\"}},{\"Name\":\"BETWEEN-AND\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[mnemonic]--For an inclusive range.\"}},{\"Name\":\"SAME-AND\",\"Type\":\"V\",\"Help\":{\"#cdata\":\"[mnemonic]\\n    \\nAdds clauses to an existing WHERE statement without retyping original one.\"}}]}}"
  },
  {
    "path": "server/messagebundle.properties",
    "content": "ce_ac_keyword_txt=Keyword:\nce_ac_alias_txt=Alias:\nce_ac_context_txt=Context:\nce_ac_syntax_txt=Syntax:\nce_ac_search_txt=Search:\nce_ac_product_documentation_txt=Product Documentation\nce_ac_samples_and_sas_notes_txt=Samples and SAS Notes\nce_ac_papers_txt=Papers\nce_ac_statement.fmt={0} statement\nce_ac_option.fmt={0} option\nce_ac_proc.fmt=PROC {0}\nce_ac_macro_def_name_txt=Macro definition name\nce_ac_user_macro_var_txt=User-defined macro variable\nce_ac_colors_txt=Colors\nce_ac_formats_txt=Formats\nce_ac_informats_txt=Informats\nce_ac_macro_functions_txt=Macro Functions\nce_ac_sas_functions_txt=SAS Functions\nce_ac_statistics_keywords_txt=Statistics Keywords\nce_ac_style_elements_txt=Style Elements\nce_ac_style_attributes_txt=Style Attributes\nce_ac_style_locations_txt=STYLE Locations\nce_ac_style_option_txt=STYLE OPTION\nce_ac_global_statement_txt=GLOBAL STATEMENT\nce_ac_global_statements_txt=Global Statements\nce_ac_option_values_txt=Option Values\nce_ac_statement_options_txt=Statement Options\nce_ac_procedures_txt=Procedures\nce_ac_procedure_options_txt=Procedure Options\nce_ac_procedure_statements_txt=Procedure Statements\nce_ac_procedure_definition_txt=PROCEDURE DEFINITION\nce_ac_data_step_statements_txt=DATA Step Statements\nce_ac_data_step_txt=DATA STEP\nce_ac_data_step_option_value_txt=DATA STEP OPTION VALUE\nce_ac_definition_options_txt=Definition Options\nce_ac_options_txt=Options\nce_ac_data_set_option_txt=Data Set Option\nce_ac_data_set_options_txt=Data Set Options\nce_ac_data_set_option_value_txt=Data Set Option Value\nce_ac_data_set_option_values_txt=Data Set Option Values\nce_ac_data_step_definition_options_txt=Data Step Definition Options\nce_ac_password_options_txt=Password Options\nce_ac_password_option_values_txt=Password Option Values\nce_ac_macro_definition_txt=MACRO DEFINITION\nce_ac_macro_definition_option_txt=Macro Definition Option\nce_ac_macro_definition_options_txt=Macro Definition Options\nce_ac_macro_statement_txt=Macro Statement\nce_ac_macro_statement_option_txt=MACRO STATEMENT OPTION\nce_ac_macro_statements_txt=Macro Statements\nce_ac_call_routine_txt=CALL Routine\nce_ac_call_routines_txt=CALL Routines\nce_ac_tagset_names_txt=Tagset Names\nce_ac_ods_txt=ODS\nce_ac_ods_statements_txt=ODS Statements\nce_ac_ods_markup_txt=ODS MARKUP\nce_ac_macro_variables_txt=Macro Variables\nce_ac_snippet_abbr_txt=Snippet Abbreviations\nce_ac_sas_function_doc_txt=Documentation:\n"
  },
  {
    "path": "server/messagebundle_ar.properties",
    "content": "ce_ac_keyword_txt=\\u0627\\u0644\\u0643\\u0644\\u0645\\u0629 \\u0627\\u0644\\u0623\\u0633\\u0627\\u0633\\u064a\\u0629:\nce_ac_alias_txt=\\u0627\\u0644\\u0627\\u0633\\u0645 \\u0627\\u0644\\u0645\\u0633\\u062a\\u0639\\u0627\\u0631:\nce_ac_context_txt=\\u0627\\u0644\\u0633\\u064a\\u0627\\u0642:\nce_ac_search_txt=\\u0628\\u062d\\u062b:\nce_ac_product_documentation_txt=\\u0648\\u062b\\u0627\\u0626\\u0642 \\u0627\\u0644\\u0645\\u0646\\u062a\\u062c\nce_ac_samples_and_sas_notes_txt=\\u0627\\u0644\\u0646\\u0645\\u0627\\u0630\\u062c \\u0648\\u0645\\u0644\\u0627\\u062d\\u0638\\u0627\\u062a SAS\nce_ac_papers_txt=\\u0627\\u0644\\u0623\\u0648\\u0631\\u0627\\u0642\nce_ac_statement.fmt={0} \\u0628\\u064a\\u0627\\u0646\nce_ac_option.fmt={0} \\u062e\\u064a\\u0627\\u0631\nce_ac_proc.fmt=PROC {0}\nce_ac_macro_def_name_txt=\\u0627\\u0633\\u0645 \\u062a\\u0639\\u0631\\u064a\\u0641 \\u0627\\u0644\\u0645\\u0627\\u0643\\u0631\\u0648\nce_ac_user_macro_var_txt=\\u0645\\u062a\\u063a\\u064a\\u0631 \\u0645\\u0627\\u0643\\u0631\\u0648 \\u0645\\u0639\\u0631\\u0641 \\u0645\\u0646 \\u0642\\u0628\\u0644 \\u0627\\u0644\\u0645\\u0633\\u062a\\u062e\\u062f\\u0645\nce_ac_colors_txt=\\u0627\\u0644\\u0623\\u0644\\u0648\\u0627\\u0646\nce_ac_formats_txt=\\u0627\\u0644\\u062a\\u0646\\u0633\\u064a\\u0642\\u0627\\u062a\nce_ac_informats_txt=\\u0627\\u0644\\u062a\\u0646\\u0633\\u064a\\u0642\\u0627\\u062a \\u0627\\u0644\\u062f\\u0627\\u062e\\u0644\\u064a\\u0629\nce_ac_macro_functions_txt=\\u062f\\u0627\\u0644\\u0627\\u062a \\u0627\\u0644\\u0645\\u0627\\u0643\\u0631\\u0648\nce_ac_sas_functions_txt=\\u062f\\u0627\\u0644\\u0627\\u062a SAS\nce_ac_statistics_keywords_txt=\\u0627\\u0644\\u0643\\u0644\\u0645\\u0627\\u062a \\u0627\\u0644\\u0623\\u0633\\u0627\\u0633\\u064a\\u0629 \\u0627\\u0644\\u0625\\u062d\\u0635\\u0627\\u0626\\u064a\\u0629\nce_ac_style_elements_txt=\\u0646\\u0645\\u0637 \\u0627\\u0644\\u0639\\u0646\\u0627\\u0635\\u0631\nce_ac_style_attributes_txt=\\u0633\\u0645\\u0627\\u062a \\u0627\\u0644\\u0646\\u0645\\u0637\nce_ac_style_locations_txt=\\u0623\\u0645\\u0627\\u0643\\u0646 \\u0627\\u0644\\u0646\\u0645\\u0637\nce_ac_style_option_txt=\\u062e\\u064a\\u0627\\u0631 \\u0627\\u0644\\u0646\\u0645\\u0637\nce_ac_global_statement_txt=\\u0628\\u064a\\u0627\\u0646 \\u0643\\u0644\\u064a\nce_ac_global_statements_txt=\\u0628\\u064a\\u0627\\u0646\\u0627\\u062a \\u0643\\u0644\\u064a\\u0629\nce_ac_option_values_txt=\\u0642\\u064a\\u0645 \\u0627\\u0644\\u062e\\u064a\\u0627\\u0631\nce_ac_statement_options_txt=\\u062e\\u064a\\u0627\\u0631\\u0627\\u062a \\u0627\\u0644\\u0628\\u064a\\u0627\\u0646\nce_ac_procedures_txt=\\u0627\\u0644\\u0625\\u062c\\u0631\\u0627\\u0621\\u0627\\u062a\nce_ac_procedure_options_txt=\\u062e\\u064a\\u0627\\u0631\\u0627\\u062a \\u0627\\u0644\\u0625\\u062c\\u0631\\u0627\\u0621\nce_ac_procedure_statements_txt=\\u0628\\u064a\\u0627\\u0646\\u0627\\u062a \\u0627\\u0644\\u0625\\u062c\\u0631\\u0627\\u0621\nce_ac_procedure_definition_txt=\\u062a\\u0639\\u0631\\u064a\\u0641 \\u0627\\u0644\\u0625\\u062c\\u0631\\u0627\\u0621\nce_ac_data_step_statements_txt=\\u0628\\u064a\\u0627\\u0646\\u0627\\u062a DATA Step\nce_ac_data_step_txt=\\u062e\\u0637\\u0648\\u0629 \\u0627\\u0644\\u0628\\u064a\\u0627\\u0646\\u0627\\u062a\nce_ac_data_step_option_value_txt=\\u0642\\u064a\\u0645\\u0629 \\u062e\\u064a\\u0627\\u0631 \\u062e\\u0637\\u0648\\u0629 \\u0627\\u0644\\u0628\\u064a\\u0627\\u0646\\u0627\\u062a\nce_ac_definition_options_txt=\\u062e\\u064a\\u0627\\u0631\\u0627\\u062a \\u0627\\u0644\\u062a\\u0639\\u0631\\u064a\\u0641\nce_ac_options_txt=\\u0627\\u0644\\u062e\\u064a\\u0627\\u0631\\u0627\\u062a\nce_ac_data_set_option_txt=\\u062e\\u064a\\u0627\\u0631 DATA STEP\nce_ac_data_set_options_txt=\\u062e\\u064a\\u0627\\u0631\\u0627\\u062a DATA STEP\nce_ac_data_set_option_value_txt=\\u0642\\u064a\\u0645\\u0629 \\u062e\\u064a\\u0627\\u0631 Data Set\nce_ac_data_set_option_values_txt=\\u0642\\u064a\\u0645\\u0629 \\u062e\\u064a\\u0627\\u0631\\u0627\\u062a Data Set\nce_ac_data_step_definition_options_txt=\\u062e\\u064a\\u0627\\u0631\\u0627\\u062a \\u062a\\u0639\\u0631\\u064a\\u0641 \\u062e\\u0637\\u0648\\u0629 \\u0627\\u0644\\u0628\\u064a\\u0627\\u0646\\u0627\\u062a\nce_ac_password_options_txt=\\u062e\\u064a\\u0627\\u0631\\u0627\\u062a \\u0643\\u0644\\u0645\\u0629 \\u0627\\u0644\\u0645\\u0631\\u0648\\u0631\nce_ac_password_option_values_txt=\\u0642\\u064a\\u0645 \\u062e\\u064a\\u0627\\u0631 \\u0643\\u0644\\u0645\\u0629 \\u0627\\u0644\\u0645\\u0631\\u0648\\u0631\nce_ac_macro_definition_txt=\\u062a\\u0639\\u0631\\u064a\\u0641 \\u0627\\u0644\\u0645\\u0627\\u0643\\u0631\\u0648\nce_ac_macro_definition_option_txt=\\u062e\\u064a\\u0627\\u0631 \\u062a\\u0639\\u0631\\u064a\\u0641 \\u0627\\u0644\\u0645\\u0627\\u0643\\u0631\\u0648\nce_ac_macro_definition_options_txt=\\u062e\\u064a\\u0627\\u0631\\u0627\\u062a \\u062a\\u0639\\u0631\\u064a\\u0641 \\u0627\\u0644\\u0645\\u0627\\u0643\\u0631\\u0648\nce_ac_macro_statement_txt=\\u0628\\u064a\\u0627\\u0646 \\u0627\\u0644\\u0645\\u0627\\u0643\\u0631\\u0648\nce_ac_macro_statement_option_txt=\\u062e\\u064a\\u0627\\u0631 \\u0628\\u064a\\u0627\\u0646 \\u0627\\u0644\\u0645\\u0627\\u0643\\u0631\\u0648\nce_ac_macro_statements_txt=\\u0628\\u064a\\u0627\\u0646\\u0627\\u062a \\u0627\\u0644\\u0645\\u0627\\u0643\\u0631\\u0648\nce_ac_call_routine_txt=\\u0631\\u0648\\u062a\\u064a\\u0646 \\u0627\\u0644\\u0627\\u062a\\u0635\\u0627\\u0644\nce_ac_call_routines_txt=\\u0631\\u0648\\u062a\\u064a\\u0646\\u0627\\u062a \\u0627\\u0644\\u0627\\u062a\\u0635\\u0627\\u0644\nce_ac_tagset_names_txt=\\u0623\\u0633\\u0645\\u0627\\u0621 Tagset\nce_ac_ods_txt=ODS\nce_ac_ods_statements_txt=\\u0628\\u064a\\u0627\\u0646\\u0627\\u062a ODS\nce_ac_ods_markup_txt=\\u0639\\u0644\\u0627\\u0645\\u0627\\u062a ODS\nce_ac_macro_variables_txt=\\u0645\\u062a\\u063a\\u064a\\u0631\\u0627\\u062a \\u0645\\u0627\\u0643\\u0631\\u0648\nce_ac_snippet_abbr_txt=\\u0627\\u062e\\u062a\\u0635\\u0627\\u0631\\u0627\\u062a \\u0627\\u0644\\u0642\\u0635\\u0627\\u0635\\u0629 \\u0627\\u0644\\u0628\\u0631\\u0645\\u062c\\u064a\\u0629\n"
  },
  {
    "path": "server/messagebundle_cs.properties",
    "content": "ce_ac_keyword_txt=Kl\\u00ed\\u010dov\\u00e9 slovo:\nce_ac_alias_txt=Alias:\nce_ac_context_txt=Kontext:\nce_ac_search_txt=Hledat:\nce_ac_product_documentation_txt=Dokumentace k produktu\nce_ac_samples_and_sas_notes_txt=Vzorky a pozn\\u00e1mky SAS\nce_ac_papers_txt=Pap\\u00edry\nce_ac_statement.fmt=P\\u0159\\u00edkaz {0}\nce_ac_option.fmt=Mo\\u017enost {0}\nce_ac_proc.fmt=PROC {0}\nce_ac_macro_def_name_txt=N\\u00e1zev definice makra\nce_ac_user_macro_var_txt=U\\u017eivatelsk\\u00e1 prom\\u011bnn\\u00e1 makra\nce_ac_colors_txt=Barvy\nce_ac_formats_txt=Form\\u00e1ty\nce_ac_informats_txt=Vstupn\\u00ed form\\u00e1ty\nce_ac_macro_functions_txt=Funkce maker\nce_ac_sas_functions_txt=Funkce SAS\nce_ac_statistics_keywords_txt=Statistick\\u00e1 kl\\u00ed\\u010dov\\u00e1 slova\nce_ac_style_elements_txt=Prvky stylu (Style)\nce_ac_style_attributes_txt=Atributy stylu (Style)\nce_ac_style_locations_txt=Um\\u00edst\\u011bn\\u00ed stylu (STYLE)\nce_ac_style_option_txt=MO\\u017dNOST STYLU\nce_ac_global_statement_txt=GLOB\\u00c1LN\\u00cd P\\u0158\\u00cdKAZ\nce_ac_global_statements_txt=Glob\\u00e1ln\\u00ed p\\u0159\\u00edkazy\nce_ac_option_values_txt=Hodnoty mo\\u017enost\\u00ed\nce_ac_statement_options_txt=Mo\\u017enosti p\\u0159\\u00edkaz\\u016f\nce_ac_procedures_txt=Procedury\nce_ac_procedure_options_txt=Mo\\u017enosti procedur\nce_ac_procedure_statements_txt=P\\u0159\\u00edkazy procedur\nce_ac_procedure_definition_txt=DEFINICE PROCEDURY\nce_ac_data_step_statements_txt=P\\u0159\\u00edkazy DATOV\\u00c9HO kroku\nce_ac_data_step_txt=DATOV\\u00dd KROK\nce_ac_data_step_option_value_txt=HODNOTA MO\\u017dNOSTI DATOV\\u00c9HO KROKU\nce_ac_definition_options_txt=Mo\\u017enosti definice\nce_ac_options_txt=Mo\\u017enosti\nce_ac_data_set_option_txt=Mo\\u017enost datasetu\nce_ac_data_set_options_txt=Mo\\u017enosti datasetu\nce_ac_data_set_option_value_txt=Hodnota mo\\u017enosti datasetu\nce_ac_data_set_option_values_txt=Hodnoty mo\\u017enosti datasetu\nce_ac_data_step_definition_options_txt=Mo\\u017enosti definice datov\\u00e9ho kroku\nce_ac_password_options_txt=Mo\\u017enosti hesla\nce_ac_password_option_values_txt=Hodnoty mo\\u017enosti hesla\nce_ac_macro_definition_txt=DEFINICE MAKRA\nce_ac_macro_definition_option_txt=Mo\\u017enost definice makra\nce_ac_macro_definition_options_txt=Mo\\u017enosti definice makra\nce_ac_macro_statement_txt=P\\u0159\\u00edkaz makra\nce_ac_macro_statement_option_txt=MO\\u017dNOST P\\u0158\\u00cdKAZU MAKRA\nce_ac_macro_statements_txt=P\\u0159\\u00edkazy makra\nce_ac_call_routine_txt=Rutina vol\\u00e1n\\u00ed (CALL)\nce_ac_call_routines_txt=Rutiny vol\\u00e1n\\u00ed (CALL)\nce_ac_tagset_names_txt=N\\u00e1zvy sad tag\\u016f\nce_ac_ods_txt=ODS\nce_ac_ods_statements_txt=P\\u0159\\u00edkazy ODS\nce_ac_ods_markup_txt=ZNA\\u010cKA ODS\nce_ac_macro_variables_txt=Prom\\u011bnn\\u00e9 maker\nce_ac_snippet_abbr_txt=Zkratka snippetu\n"
  },
  {
    "path": "server/messagebundle_da.properties",
    "content": "ce_ac_keyword_txt=N\\u00f8gleord:\nce_ac_alias_txt=Alias:\nce_ac_context_txt=Kontekst:\nce_ac_search_txt=S\\u00f8g i:\nce_ac_product_documentation_txt=Produktdokumentation\nce_ac_samples_and_sas_notes_txt=Eksempler og SAS-meddelelser\nce_ac_papers_txt=Dokumenter\nce_ac_statement.fmt={0}-s\\u00e6tning\nce_ac_option.fmt={0}-indstilling\nce_ac_proc.fmt=SAS-PROCEDUREN {0}\nce_ac_macro_def_name_txt=Makrodatabasedefinitionsnavn\nce_ac_user_macro_var_txt=Brugerdefineret makrovariabel\nce_ac_colors_txt=Farver\nce_ac_formats_txt=Formater\nce_ac_informats_txt=Informater\nce_ac_macro_functions_txt=Makrofunktioner\nce_ac_sas_functions_txt=SAS-funktioner\nce_ac_statistics_keywords_txt=Statistiske n\\u00f8gleord\nce_ac_style_elements_txt=Typografielementer\nce_ac_style_attributes_txt=Typografiattributter\nce_ac_style_locations_txt=STYLE-placeringer\nce_ac_style_option_txt=STYLE OPTION\nce_ac_global_statement_txt=GLOBAL STATEMENT\nce_ac_global_statements_txt=Globale s\\u00e6tninger\nce_ac_option_values_txt=Indstillingsv\\u00e6rdier\nce_ac_statement_options_txt=Indstillinger for s\\u00e6tninger\nce_ac_procedures_txt=SAS-procedurer\nce_ac_procedure_options_txt=Indstillinger for procedurer\nce_ac_procedure_statements_txt=SAS-procedures\\u00e6tninger\nce_ac_procedure_definition_txt=PROCEDURE DEFINITION\nce_ac_data_step_statements_txt=DATA step-s\\u00e6tninger\nce_ac_data_step_txt=DATA STEP\nce_ac_data_step_option_value_txt=DATA STEP OPTION VALUE\nce_ac_definition_options_txt=Indstillinger for definition\nce_ac_options_txt=Indstillinger\nce_ac_data_set_option_txt=Indstilling for SAS-datas\\u00e6t\nce_ac_data_set_options_txt=Indstillinger for SAS-datas\\u00e6t\nce_ac_data_set_option_value_txt=Indstillingsv\\u00e6rdi for SAS-datas\\u00e6t\nce_ac_data_set_option_values_txt=Indstillingsv\\u00e6rdi for SAS-datas\\u00e6t\nce_ac_data_step_definition_options_txt=Databasedefinitionsindstillinger for DATA step\nce_ac_password_options_txt=Indstillinger for adgangskoder\nce_ac_password_option_values_txt=Indstillingsv\\u00e6rdier for adgangskoder\nce_ac_macro_definition_txt=MACRO DEFINITION\nce_ac_macro_definition_option_txt=Indstilling for makrodatabasedefinition\nce_ac_macro_definition_options_txt=Indstillinger for makrodatabasedefinition\nce_ac_macro_statement_txt=Makros\\u00e6tning\nce_ac_macro_statement_option_txt=MACRO STATEMENT OPTION\nce_ac_macro_statements_txt=Makros\\u00e6tninger\nce_ac_call_routine_txt=CALL-rutine\nce_ac_call_routines_txt=CALL-rutiner\nce_ac_tagset_names_txt=Tagset-navne\nce_ac_ods_txt=ODS\nce_ac_ods_statements_txt=ODS-s\\u00e6tninger\nce_ac_ods_markup_txt=ODS MARKUP\nce_ac_macro_variables_txt=Makrovariable\nce_ac_snippet_abbr_txt=Kodestykkeforkortelser\n"
  },
  {
    "path": "server/messagebundle_de.properties",
    "content": "ce_ac_keyword_txt=Suchbegriff:\nce_ac_alias_txt=Alias\nce_ac_context_txt=Kontext\nce_ac_search_txt=Suchen\nce_ac_product_documentation_txt=Produktdokumentation\nce_ac_samples_and_sas_notes_txt=Beispiele und SAS Notes\nce_ac_papers_txt=Dokumente\nce_ac_statement.fmt={0}-Anweisung\nce_ac_option.fmt={0}-Option\nce_ac_proc.fmt=PROC {0}\nce_ac_macro_def_name_txt=Makrodefinitionsname\nce_ac_user_macro_var_txt=Benutzerdefinierte Makrovariable\nce_ac_colors_txt=Farben\nce_ac_formats_txt=Ausgabeformate\nce_ac_informats_txt=Einleseformate\nce_ac_macro_functions_txt=Makrofunktionen\nce_ac_sas_functions_txt=SAS-Funktionen\nce_ac_statistics_keywords_txt=Statistik-Schl\\u00fcsselbegriffe\nce_ac_style_elements_txt=Stilelemente\nce_ac_style_attributes_txt=Stilattribute\nce_ac_style_locations_txt=STYLE-Speicherorte\nce_ac_style_option_txt=STIL-OPTION\nce_ac_global_statement_txt=GLOBAL-ANWEISUNG\nce_ac_global_statements_txt=Globale Anweisungen\nce_ac_option_values_txt=Optionswerte\nce_ac_statement_options_txt=Optionen f\\u00fcr Anweisung\nce_ac_procedures_txt=Prozeduren\nce_ac_procedure_options_txt=Optionen f\\u00fcr Prozedur\nce_ac_procedure_statements_txt=Prozedur-Anweisungen\nce_ac_procedure_definition_txt=PROZEDUR-DEFINITION\nce_ac_data_step_statements_txt=DATA-Schritt-Anweisungen\nce_ac_data_step_txt=DATA-SCHRITT\nce_ac_data_step_option_value_txt=DATA-SCHRITT OPTIONSWERT\nce_ac_definition_options_txt=Definitionsoptionen\nce_ac_options_txt=Optionen\nce_ac_data_set_option_txt=Datei-Option\nce_ac_data_set_options_txt=Datei-Optionen\nce_ac_data_set_option_value_txt=Datei-Optionswert\nce_ac_data_set_option_values_txt=Datei-Optionswerte\nce_ac_data_step_definition_options_txt=Datei-Definitionsoptionem\nce_ac_password_options_txt=Passwort-Optionen\nce_ac_password_option_values_txt=Passwort-Optionswerte\nce_ac_macro_definition_txt=MAKRODEFINITION\nce_ac_macro_definition_option_txt=Makro-Definitionsoption\nce_ac_macro_definition_options_txt=Makro-Definitionsoptionen\nce_ac_macro_statement_txt=Makro-Anweisung\nce_ac_macro_statement_option_txt=MAKRO-ANWEISUNG OPTION\nce_ac_macro_statements_txt=Makro-Anweisungen\nce_ac_call_routine_txt=CALL-Routine\nce_ac_call_routines_txt=CALL-Routinen\nce_ac_tagset_names_txt=Tagset-Namen\nce_ac_ods_txt=ODS\nce_ac_ods_statements_txt=ODS-Anweisungen\nce_ac_ods_markup_txt=ODS MARKUP\nce_ac_macro_variables_txt=Makrovariablen\nce_ac_snippet_abbr_txt=Snippet-Abk\\u00fcrzungen\n"
  },
  {
    "path": "server/messagebundle_el.properties",
    "content": "ce_ac_keyword_txt=\\u039b\\u03ad\\u03be\\u03b7-\\u03ba\\u03bb\\u03b5\\u03b9\\u03b4\\u03af:\nce_ac_alias_txt=\\u03a8\\u03b5\\u03c5\\u03b4\\u03ce\\u03bd\\u03c5\\u03bc\\u03bf:\nce_ac_context_txt=\\u03a0\\u03b5\\u03c1\\u03b9\\u03b2\\u03ac\\u03bb\\u03bb\\u03bf\\u03bd:\nce_ac_search_txt=\\u0391\\u03bd\\u03b1\\u03b6\\u03ae\\u03c4\\u03b7\\u03c3\\u03b7:\nce_ac_product_documentation_txt=\\u03a4\\u03b5\\u03ba\\u03bc\\u03b7\\u03c1\\u03af\\u03c9\\u03c3\\u03b7 \\u03c0\\u03c1\\u03bf\\u03ca\\u03cc\\u03bd\\u03c4\\u03bf\\u03c2\nce_ac_samples_and_sas_notes_txt=\\u0394\\u03b5\\u03af\\u03b3\\u03bc\\u03b1\\u03c4\\u03b1 \\u03ba\\u03b1\\u03b9 \\u03c3\\u03b7\\u03bc\\u03b5\\u03b9\\u03ce\\u03c3\\u03b5\\u03b9\\u03c2 SAS\nce_ac_papers_txt=\\u03a7\\u03b1\\u03c1\\u03c4\\u03b9\\u03ac\nce_ac_statement.fmt={0} \\u03b4\\u03ae\\u03bb\\u03c9\\u03c3\\u03b7\nce_ac_option.fmt={0} \\u03b5\\u03c0\\u03b9\\u03bb\\u03bf\\u03b3\\u03ae\nce_ac_proc.fmt=\\u0394\\u0399\\u0391\\u0394\\u0399\\u039a\\u0391\\u03a3\\u038a\\u0391 SAS {0}\nce_ac_macro_def_name_txt=\\u038c\\u03bd\\u03bf\\u03bc\\u03b1 \\u03bf\\u03c1\\u03b9\\u03c3\\u03bc\\u03bf\\u03cd \\u03bc\\u03b1\\u03ba\\u03c1\\u03bf\\u03b5\\u03bd\\u03c4\\u03bf\\u03bb\\u03ce\\u03bd\nce_ac_user_macro_var_txt=\\u039c\\u03b1\\u03ba\\u03c1\\u03bf-\\u03bc\\u03b5\\u03c4\\u03b1\\u03b2\\u03bb\\u03b7\\u03c4\\u03ae \\u03c0\\u03bf\\u03c5 \\u03bf\\u03c1\\u03af\\u03b6\\u03b5\\u03c4\\u03b1\\u03b9 \\u03b1\\u03c0\\u03cc \\u03c4\\u03bf \\u03c7\\u03c1\\u03ae\\u03c3\\u03c4\\u03b7\nce_ac_colors_txt=\\u03a7\\u03c1\\u03ce\\u03bc\\u03b1\\u03c4\\u03b1\nce_ac_formats_txt=\\u039c\\u03bf\\u03c1\\u03c6\\u03ad\\u03c2\nce_ac_informats_txt=\\u039c\\u03bf\\u03c1\\u03c6\\u03ad\\u03c2 \\u03b5\\u03b9\\u03c3\\u03cc\\u03b4\\u03bf\\u03c5\nce_ac_macro_functions_txt=\\u039b\\u03b5\\u03b9\\u03c4\\u03bf\\u03c5\\u03c1\\u03b3\\u03af\\u03b5\\u03c2 \\u03bc\\u03b1\\u03ba\\u03c1\\u03bf\\u03b5\\u03bd\\u03c4\\u03bf\\u03bb\\u03ce\\u03bd\nce_ac_sas_functions_txt=\\u039b\\u03b5\\u03b9\\u03c4\\u03bf\\u03c5\\u03c1\\u03b3\\u03af\\u03b5\\u03c2 SAS\nce_ac_statistics_keywords_txt=\\u039b\\u03ad\\u03be\\u03b5\\u03b9\\u03c2-\\u03ba\\u03bb\\u03b5\\u03b9\\u03b4\\u03b9\\u03ac \\u03c3\\u03c4\\u03b1\\u03c4\\u03b9\\u03c3\\u03c4\\u03b9\\u03ba\\u03ce\\u03bd \\u03c3\\u03c4\\u03bf\\u03b9\\u03c7\\u03b5\\u03af\\u03c9\\u03bd\nce_ac_style_elements_txt=\\u03a3\\u03c4\\u03bf\\u03b9\\u03c7\\u03b5\\u03af\\u03b1 \\u03c3\\u03c4\\u03c5\\u03bb\nce_ac_style_attributes_txt=\\u03a7\\u03b1\\u03c1\\u03b1\\u03ba\\u03c4\\u03b7\\u03c1\\u03b9\\u03c3\\u03c4\\u03b9\\u03ba\\u03ac \\u03c3\\u03c4\\u03c5\\u03bb\nce_ac_style_locations_txt=\\u03a4\\u03bf\\u03c0\\u03bf\\u03b8\\u03b5\\u03c3\\u03af\\u03b5\\u03c2 \\u03a3\\u03a4\\u03a5\\u039b\nce_ac_style_option_txt=\\u0395\\u03a0\\u0399\\u039b\\u039f\\u0393\\u0397 \\u03a3\\u03a4\\u03a5\\u039b\nce_ac_global_statement_txt=\\u039a\\u0391\\u0398\\u039f\\u039b\\u0399\\u039a\\u0397 \\u0394\\u0397\\u039b\\u03a9\\u03a3\\u0397\nce_ac_global_statements_txt=\\u039a\\u03b1\\u03b8\\u03bf\\u03bb\\u03b9\\u03ba\\u03ad\\u03c2 \\u03b4\\u03b7\\u03bb\\u03ce\\u03c3\\u03b5\\u03b9\\u03c2\nce_ac_option_values_txt=\\u03a4\\u03b9\\u03bc\\u03ad\\u03c2 \\u03b5\\u03c0\\u03b9\\u03bb\\u03bf\\u03b3\\u03ce\\u03bd\nce_ac_statement_options_txt=\\u0395\\u03c0\\u03b9\\u03bb\\u03bf\\u03b3\\u03ad\\u03c2 \\u03b4\\u03b7\\u03bb\\u03ce\\u03c3\\u03b5\\u03c9\\u03bd\nce_ac_procedures_txt=\\u0394\\u03b9\\u03b1\\u03b4\\u03b9\\u03ba\\u03b1\\u03c3\\u03af\\u03b5\\u03c2\nce_ac_procedure_options_txt=\\u0395\\u03c0\\u03b9\\u03bb\\u03bf\\u03b3\\u03ad\\u03c2 \\u03b4\\u03b9\\u03b1\\u03b4\\u03b9\\u03ba\\u03b1\\u03c3\\u03af\\u03b1\\u03c2\nce_ac_procedure_statements_txt=\\u0394\\u03b7\\u03bb\\u03ce\\u03c3\\u03b5\\u03b9\\u03c2 \\u03b4\\u03b9\\u03b1\\u03b4\\u03b9\\u03ba\\u03b1\\u03c3\\u03af\\u03b1\\u03c2\nce_ac_procedure_definition_txt=\\u039f\\u03a1\\u0399\\u03a3\\u039c\\u039f\\u03a3 \\u0394\\u0399\\u0391\\u0394\\u0399\\u039a\\u0391\\u03a3\\u0399\\u0391\\u03a3\nce_ac_data_step_statements_txt=\\u0394\\u03b7\\u03bb\\u03ce\\u03c3\\u03b5\\u03b9\\u03c2 DATA Step\nce_ac_data_step_txt=DATA STEP\nce_ac_data_step_option_value_txt=\\u03a4\\u0399\\u039c\\u0397 \\u0395\\u03a0\\u0399\\u039b\\u039f\\u0393\\u0397\\u03a3 DATA STEP\nce_ac_definition_options_txt=\\u0395\\u03c0\\u03b9\\u03bb\\u03bf\\u03b3\\u03ad\\u03c2 \\u03bf\\u03c1\\u03b9\\u03c3\\u03bc\\u03bf\\u03cd\nce_ac_options_txt=\\u0395\\u03c0\\u03b9\\u03bb\\u03bf\\u03b3\\u03ad\\u03c2\nce_ac_data_set_option_txt=\\u0395\\u03c0\\u03b9\\u03bb\\u03bf\\u03b3\\u03ae \\u03c3\\u03c5\\u03bd\\u03cc\\u03bb\\u03bf\\u03c5 \\u03b4\\u03b5\\u03b4\\u03bf\\u03bc\\u03ad\\u03bd\\u03c9\\u03bd\nce_ac_data_set_options_txt=\\u0395\\u03c0\\u03b9\\u03bb\\u03bf\\u03b3\\u03ad\\u03c2 \\u03c3\\u03c5\\u03bd\\u03cc\\u03bb\\u03bf\\u03c5 \\u03b4\\u03b5\\u03b4\\u03bf\\u03bc\\u03ad\\u03bd\\u03c9\\u03bd\nce_ac_data_set_option_value_txt=\\u03a4\\u03b9\\u03bc\\u03ae \\u03b5\\u03c0\\u03b9\\u03bb\\u03bf\\u03b3\\u03ae\\u03c2 \\u03c3\\u03c5\\u03bd\\u03cc\\u03bb\\u03bf\\u03c5 \\u03b4\\u03b5\\u03b4\\u03bf\\u03bc\\u03ad\\u03bd\\u03c9\\u03bd\nce_ac_data_set_option_values_txt=\\u03a4\\u03b9\\u03bc\\u03ad\\u03c2 \\u03b5\\u03c0\\u03b9\\u03bb\\u03bf\\u03b3\\u03ae\\u03c2 \\u03c3\\u03c5\\u03bd\\u03cc\\u03bb\\u03bf\\u03c5 \\u03b4\\u03b5\\u03b4\\u03bf\\u03bc\\u03ad\\u03bd\\u03c9\\u03bd\nce_ac_data_step_definition_options_txt=\\u0395\\u03c0\\u03b9\\u03bb\\u03bf\\u03b3\\u03ad\\u03c2 \\u03bf\\u03c1\\u03b9\\u03c3\\u03bc\\u03bf\\u03cd Data Step\nce_ac_password_options_txt=\\u0395\\u03c0\\u03b9\\u03bb\\u03bf\\u03b3\\u03ad\\u03c2 \\u03ba\\u03c9\\u03b4\\u03b9\\u03ba\\u03bf\\u03cd \\u03c0\\u03c1\\u03cc\\u03c3\\u03b2\\u03b1\\u03c3\\u03b7\\u03c2\nce_ac_password_option_values_txt=\\u03a4\\u03b9\\u03bc\\u03ad\\u03c2 \\u03b5\\u03c0\\u03b9\\u03bb\\u03bf\\u03b3\\u03ce\\u03bd \\u03ba\\u03c9\\u03b4\\u03b9\\u03ba\\u03bf\\u03cd \\u03c0\\u03c1\\u03cc\\u03c3\\u03b2\\u03b1\\u03c3\\u03b7\\u03c2\nce_ac_macro_definition_txt=\\u039f\\u03a1\\u0399\\u03a3\\u039c\\u039f\\u03a3 \\u039c\\u0391\\u039a\\u03a1\\u039f\\u0395\\u039d\\u03a4\\u039f\\u039b\\u0397\\u03a3\nce_ac_macro_definition_option_txt=\\u0395\\u03c0\\u03b9\\u03bb\\u03bf\\u03b3\\u03ae \\u03bf\\u03c1\\u03b9\\u03c3\\u03bc\\u03bf\\u03cd \\u03bc\\u03b1\\u03ba\\u03c1\\u03bf\\u03b5\\u03bd\\u03c4\\u03bf\\u03bb\\u03ae\\u03c2\nce_ac_macro_definition_options_txt=\\u0395\\u03c0\\u03b9\\u03bb\\u03bf\\u03b3\\u03ad\\u03c2 \\u03bf\\u03c1\\u03b9\\u03c3\\u03bc\\u03bf\\u03cd \\u03bc\\u03b1\\u03ba\\u03c1\\u03bf\\u03b5\\u03bd\\u03c4\\u03bf\\u03bb\\u03ae\\u03c2\nce_ac_macro_statement_txt=\\u03a0\\u03c1\\u03cc\\u03c4\\u03b1\\u03c3\\u03b7 \\u03bc\\u03b1\\u03ba\\u03c1\\u03bf\\u03b5\\u03bd\\u03c4\\u03bf\\u03bb\\u03ae\\u03c2\nce_ac_macro_statement_option_txt=\\u0395\\u03a0\\u0399\\u039b\\u039f\\u0393\\u0397 \\u0394\\u0397\\u039b\\u03a9\\u03a3\\u0397\\u03a3 \\u039c\\u0391\\u039a\\u03a1\\u039f\\u0395\\u039d\\u03a4\\u039f\\u039b\\u0397\\u03a3\nce_ac_macro_statements_txt=\\u0394\\u03b7\\u03bb\\u03ce\\u03c3\\u03b5\\u03b9\\u03c2 \\u03bc\\u03b1\\u03ba\\u03c1\\u03bf\\u03b5\\u03bd\\u03c4\\u03bf\\u03bb\\u03ae\\u03c2\nce_ac_call_routine_txt=\\u03a1\\u03bf\\u03c5\\u03c4\\u03af\\u03bd\\u03b1 \\u039a\\u039b\\u0397\\u03a3\\u0397\\u03a3\nce_ac_call_routines_txt=\\u03a1\\u03bf\\u03c5\\u03c4\\u03af\\u03bd\\u03b5\\u03c2 \\u039a\\u039b\\u0397\\u03a3\\u0397\\u03a3\nce_ac_tagset_names_txt=\\u039f\\u03bd\\u03cc\\u03bc\\u03b1\\u03c4\\u03b1 \\u03c3\\u03c5\\u03bd\\u03cc\\u03bb\\u03c9\\u03bd \\u03b5\\u03c4\\u03b9\\u03ba\\u03b5\\u03c4\\u03ce\\u03bd\nce_ac_ods_txt=ODS\nce_ac_ods_statements_txt=\\u0394\\u03b7\\u03bb\\u03ce\\u03c3\\u03b5\\u03b9\\u03c2 ODS\nce_ac_ods_markup_txt=\\u03a3\\u0397\\u039c\\u0391\\u039d\\u03a3\\u0397 ODS\nce_ac_macro_variables_txt=\\u039c\\u03b5\\u03c4\\u03b1\\u03b2\\u03bb\\u03b7\\u03c4\\u03ad\\u03c2 \\u03bc\\u03b1\\u03ba\\u03c1\\u03bf\\u03b5\\u03bd\\u03c4\\u03bf\\u03bb\\u03ce\\u03bd\nce_ac_snippet_abbr_txt=\\u03a3\\u03c5\\u03bd\\u03c4\\u03bf\\u03bc\\u03bf\\u03b3\\u03c1\\u03b1\\u03c6\\u03af\\u03b5\\u03c2 \\u03c4\\u03bc\\u03ae\\u03bc\\u03b1\\u03c4\\u03bf\\u03c2 \\u03ba\\u03ce\\u03b4\\u03b9\\u03ba\\u03b1\n"
  },
  {
    "path": "server/messagebundle_es.properties",
    "content": "ce_ac_keyword_txt=Palabra clave:\nce_ac_alias_txt=Alias:\nce_ac_context_txt=Contexto:\nce_ac_search_txt=B\\u00fasqueda:\nce_ac_product_documentation_txt=Documentaci\\u00f3n del producto\nce_ac_samples_and_sas_notes_txt=Muestras y notas SAS\nce_ac_papers_txt=Papeles\nce_ac_statement.fmt=Sentencia {0}\nce_ac_option.fmt=Opci\\u00f3n {0}\nce_ac_proc.fmt=PROC {0}\nce_ac_macro_def_name_txt=Nombre de la definici\\u00f3n macro\nce_ac_user_macro_var_txt=Macro variable definida por el usuario\nce_ac_colors_txt=Colores\nce_ac_formats_txt=Formatos\nce_ac_informats_txt=Formatos de lectura\nce_ac_macro_functions_txt=Funciones macro\nce_ac_sas_functions_txt=Funciones SAS\nce_ac_statistics_keywords_txt=Palabras clave estad\\u00edsticas\nce_ac_style_elements_txt=Elementos de estilo\nce_ac_style_attributes_txt=Atributos de estilo\nce_ac_style_locations_txt=Ubicaciones de estilo\nce_ac_style_option_txt=OPCI\\u00d3N DE ESTILO\nce_ac_global_statement_txt=SENTENCIA GLOBAL\nce_ac_global_statements_txt=Sentencias globales\nce_ac_option_values_txt=Valores de opci\\u00f3n\nce_ac_statement_options_txt=Opciones de sentencia\nce_ac_procedures_txt=Procedimientos\nce_ac_procedure_options_txt=Opciones de procedimiento\nce_ac_procedure_statements_txt=Sentencias de procedimiento\nce_ac_procedure_definition_txt=DEFINICI\\u00d3N DE PROCEDIMIENTO\nce_ac_data_step_statements_txt=Sentencias de paso DATA\nce_ac_data_step_txt=PASO DATA\nce_ac_data_step_option_value_txt=VALOR DE OPCI\\u00d3N DEL PASO DATA\nce_ac_definition_options_txt=Opciones de definici\\u00f3n\nce_ac_options_txt=Opciones\nce_ac_data_set_option_txt=Opci\\u00f3n del conjunto de datos\nce_ac_data_set_options_txt=Opciones del conjunto de datos\nce_ac_data_set_option_value_txt=Valor de opci\\u00f3n del conjunto de datos\nce_ac_data_set_option_values_txt=Valores de opci\\u00f3n del conjunto de datos\nce_ac_data_step_definition_options_txt=Opciones de definici\\u00f3n del paso Data\nce_ac_password_options_txt=Opciones de contrase\\u00f1a\nce_ac_password_option_values_txt=Valores de opci\\u00f3n de contrase\\u00f1a\nce_ac_macro_definition_txt=DEFINICI\\u00d3N MACRO\nce_ac_macro_definition_option_txt=Opci\\u00f3n de definici\\u00f3n macro\nce_ac_macro_definition_options_txt=Opciones de definici\\u00f3n macro\nce_ac_macro_statement_txt=Sentencia macro\nce_ac_macro_statement_option_txt=OPCI\\u00d3N DE SENTENCIA MACRO\nce_ac_macro_statements_txt=Sentencias macro\nce_ac_call_routine_txt=Rutina CALL\nce_ac_call_routines_txt=Rutinas CALL\nce_ac_tagset_names_txt=Nombres de Tagset\nce_ac_ods_txt=ODS\nce_ac_ods_statements_txt=Sentencias ODS\nce_ac_ods_markup_txt=MARKUP ODS\nce_ac_macro_variables_txt=Macro variables\nce_ac_snippet_abbr_txt=Abreviaturas de fragmento de c\\u00f3digo\n"
  },
  {
    "path": "server/messagebundle_fi.properties",
    "content": "ce_ac_keyword_txt=Avainsana:\nce_ac_alias_txt=Alias:\nce_ac_context_txt=Konteksti:\nce_ac_search_txt=Haku:\nce_ac_product_documentation_txt=Tuotedokumentaatio\nce_ac_samples_and_sas_notes_txt=N\\u00e4ytteet ja SAS-tiedot\nce_ac_papers_txt=Raportit\nce_ac_statement.fmt={0} -lauseke\nce_ac_option.fmt={0} -asetus\nce_ac_proc.fmt=PROC {0}\nce_ac_macro_def_name_txt=Makrom\\u00e4\\u00e4ritelm\\u00e4n nimi\nce_ac_user_macro_var_txt=K\\u00e4ytt\\u00e4j\\u00e4n m\\u00e4\\u00e4ritt\\u00e4m\\u00e4 makromuuttuja\nce_ac_colors_txt=V\\u00e4rit\nce_ac_formats_txt=Muodot\nce_ac_informats_txt=Informaatit\nce_ac_macro_functions_txt=Makrotoiminnot\nce_ac_sas_functions_txt=SAS-toiminnot\nce_ac_statistics_keywords_txt=Tilastotietojen avainsanat\nce_ac_style_elements_txt=Tyylielementit\nce_ac_style_attributes_txt=Tyylim\\u00e4\\u00e4ritteet\nce_ac_style_locations_txt=TYYLI-sijainnit\nce_ac_style_option_txt=TYYLIASETUS\nce_ac_global_statement_txt=YLEINEN LAUSEKE\nce_ac_global_statements_txt=Yleiset lausekkeet\nce_ac_option_values_txt=Asetuksen arvot\nce_ac_statement_options_txt=Lausekeasetukset\nce_ac_procedures_txt=Toimintosarjat\nce_ac_procedure_options_txt=Toimintosarjan asetukset\nce_ac_procedure_statements_txt=Toimintosarjan lausekkeet\nce_ac_procedure_definition_txt=TOIMINTOSARJAN M\\u00c4\\u00c4RITELM\\u00c4\nce_ac_data_step_statements_txt=DATA-vaiheen lausekkeet\nce_ac_data_step_txt=DATA-VAIHE\nce_ac_data_step_option_value_txt=DATA-VAIHEASETUKSEN ARVO\nce_ac_definition_options_txt=M\\u00e4\\u00e4ritelm\\u00e4n asetukset\nce_ac_options_txt=Asetukset\nce_ac_data_set_option_txt=Tietojoukon asetus\nce_ac_data_set_options_txt=Tietojoukon asetukset\nce_ac_data_set_option_value_txt=Tietojoukon asetuksen arvo\nce_ac_data_set_option_values_txt=Tietojoukon asetuksen arvot\nce_ac_data_step_definition_options_txt=Data-vaiheen m\\u00e4\\u00e4ritelm\\u00e4n asetukset\nce_ac_password_options_txt=Salasana-asetukset\nce_ac_password_option_values_txt=Salasana-asetuksen arvot\nce_ac_macro_definition_txt=MAKROM\\u00c4\\u00c4RITYS\nce_ac_macro_definition_option_txt=Makrom\\u00e4\\u00e4rityksen asetus\nce_ac_macro_definition_options_txt=Makrom\\u00e4\\u00e4rityksen asetukset\nce_ac_macro_statement_txt=Makrolauseke\nce_ac_macro_statement_option_txt=MAKROLAUSEKKEEN ASETUS\nce_ac_macro_statements_txt=Makrolausekkeet\nce_ac_call_routine_txt=CALL-rutiini\nce_ac_call_routines_txt=CALL-rutiinit\nce_ac_tagset_names_txt=Tunnisteiden nimet\nce_ac_ods_txt=ODS\nce_ac_ods_statements_txt=ODS-lausekkeet\nce_ac_ods_markup_txt=ODS-MERKINT\\u00c4\nce_ac_macro_variables_txt=Makromuuttujat\nce_ac_snippet_abbr_txt=Katkelman lyhenteet\n"
  },
  {
    "path": "server/messagebundle_fr.properties",
    "content": "ce_ac_keyword_txt=Mot-cl\\u00e9 :\nce_ac_alias_txt=Alias :\nce_ac_context_txt=Contexte :\nce_ac_search_txt=Recherche :\nce_ac_product_documentation_txt=Documentation produit\nce_ac_samples_and_sas_notes_txt=Exemples et SAS Notes\nce_ac_papers_txt=Papiers\nce_ac_statement.fmt={0} instruction\nce_ac_option.fmt={0} option\nce_ac_proc.fmt=PROC {0}\nce_ac_macro_def_name_txt=Nom de d\\u00e9finition de macros\nce_ac_user_macro_var_txt=Macro-variable personnalis\\u00e9e\nce_ac_colors_txt=Couleurs\nce_ac_formats_txt=Formats\nce_ac_informats_txt=Informats\nce_ac_macro_functions_txt=Fonctions macro\nce_ac_sas_functions_txt=Fonctions SAS\nce_ac_statistics_keywords_txt=Mots-cl\\u00e9s statistiques\nce_ac_style_elements_txt=\\u00c9l\\u00e9ments de style\nce_ac_style_attributes_txt=Attributs de style\nce_ac_style_locations_txt=Emplacements de STYLE\nce_ac_style_option_txt=OPTION STYLE\nce_ac_global_statement_txt=INSTRUCTION GLOBALE\nce_ac_global_statements_txt=Instructions globales\nce_ac_option_values_txt=Valeurs des options\nce_ac_statement_options_txt=Options d\\u2019instructions\nce_ac_procedures_txt=Proc\\u00e9dures\nce_ac_procedure_options_txt=Options des proc\\u00e9dures\nce_ac_procedure_statements_txt=Instructions des proc\\u00e9dures\nce_ac_procedure_definition_txt=D\\u00c9FINITION PROC\\u00c9DURE\nce_ac_data_step_statements_txt=Instructions d\\u2019\\u00e9tape DATA\nce_ac_data_step_txt=\\u00c9TAPE DATA\nce_ac_data_step_option_value_txt=VALEUR D\\u2019OPTION DE L\\u2019\\u00c9TAPE DATA\nce_ac_definition_options_txt=Options de d\\u00e9finition\nce_ac_options_txt=Options\nce_ac_data_set_option_txt=Options de table\nce_ac_data_set_options_txt=Options de table\nce_ac_data_set_option_value_txt=Valeur de l\\u2019option de table\nce_ac_data_set_option_values_txt=Valeurs de l\\u2019option de table\nce_ac_data_step_definition_options_txt=Options de d\\u00e9finition de l\\u2019\\u00e9tape DATA\nce_ac_password_options_txt=Options de mot de passe\nce_ac_password_option_values_txt=Valeurs d\\u2019options de mot de passe\nce_ac_macro_definition_txt=D\\u00c9FINITION DE MACRO\nce_ac_macro_definition_option_txt=Option de d\\u00e9finition de macro\nce_ac_macro_definition_options_txt=Options de d\\u00e9finition de macro\nce_ac_macro_statement_txt=Instruction de macro\nce_ac_macro_statement_option_txt=OPTION D\\u2019INSTRUCTION DE MACRO\nce_ac_macro_statements_txt=Instructions de macro\nce_ac_call_routine_txt=Routine CALL\nce_ac_call_routines_txt=Routines CALL\nce_ac_tagset_names_txt=Noms de tagset\nce_ac_ods_txt=ODS\nce_ac_ods_statements_txt=Instructions ODS\nce_ac_ods_markup_txt=MARKUP ODS\nce_ac_macro_variables_txt=Macro-variables\nce_ac_snippet_abbr_txt=Abr\\u00e9viations de l\\u2019extrait\n"
  },
  {
    "path": "server/messagebundle_he.properties",
    "content": "ce_ac_keyword_txt=\\u05de\\u05d9\\u05dc\\u05ea \\u05de\\u05e4\\u05ea\\u05d7:\nce_ac_alias_txt=Alias:\nce_ac_context_txt=\\u05d4\\u05e7\\u05e9\\u05e8:\nce_ac_search_txt=\\u05d7\\u05d9\\u05e4\\u05d5\\u05e9:\nce_ac_product_documentation_txt=\\u05ea\\u05d9\\u05e2\\u05d5\\u05d3 \\u05d4\\u05de\\u05d5\\u05e6\\u05e8\nce_ac_samples_and_sas_notes_txt=\\u05d3\\u05d5\\u05d2\\u05de\\u05d0\\u05d5\\u05ea \\u05d5-SAS Notes\nce_ac_papers_txt=\\u05e0\\u05d9\\u05d9\\u05e8\\u05d5\\u05ea\nce_ac_statement.fmt={0} \\u05de\\u05e9\\u05e4\\u05d8\nce_ac_option.fmt={0} \\u05d0\\u05e4\\u05e9\\u05e8\\u05d5\\u05ea\nce_ac_proc.fmt=PROC {0}\nce_ac_macro_def_name_txt=\\u05e9\\u05dd \\u05d4\\u05d2\\u05d3\\u05e8\\u05ea \\u05de\\u05d0\\u05e7\\u05e8\\u05d5\nce_ac_user_macro_var_txt=\\u05de\\u05e9\\u05ea\\u05e0\\u05d4 \\u05de\\u05d0\\u05e7\\u05e8\\u05d5 \\u05de\\u05d5\\u05d2\\u05d3\\u05e8 \\u05e2\\u05dc-\\u05d9\\u05d3\\u05d9 \\u05d4\\u05de\\u05e9\\u05ea\\u05de\\u05e9\nce_ac_colors_txt=\\u05e6\\u05d1\\u05e2\\u05d9\\u05dd\nce_ac_formats_txt=\\u05ea\\u05d1\\u05e0\\u05d9\\u05d5\\u05ea\nce_ac_informats_txt=Informats\nce_ac_macro_functions_txt=\\u05e4\\u05d5\\u05e0\\u05e7\\u05e6\\u05d9\\u05d5\\u05ea \\u05de\\u05d0\\u05e7\\u05e8\\u05d5\nce_ac_sas_functions_txt=\\u05e4\\u05d5\\u05e0\\u05e7\\u05e6\\u05d9\\u05d5\\u05ea SAS\nce_ac_statistics_keywords_txt=\\u05de\\u05d9\\u05dc\\u05d5\\u05ea \\u05de\\u05e4\\u05ea\\u05d7 \\u05e9\\u05dc \\u05e0\\u05ea\\u05d5\\u05e0\\u05d9\\u05dd \\u05e1\\u05d8\\u05d8\\u05d9\\u05e1\\u05d8\\u05d9\\u05d9\\u05dd\nce_ac_style_elements_txt=\\u05de\\u05e8\\u05db\\u05d9\\u05d1\\u05d9 \\u05e1\\u05d2\\u05e0\\u05d5\\u05df\nce_ac_style_attributes_txt=\\u05ea\\u05db\\u05d5\\u05e0\\u05d5\\u05ea \\u05e1\\u05d2\\u05e0\\u05d5\\u05df\nce_ac_style_locations_txt=\\u05de\\u05d9\\u05e7\\u05d5\\u05de\\u05d9 \\u05e1\\u05d2\\u05e0\\u05d5\\u05df\nce_ac_style_option_txt=\\u05d0\\u05e4\\u05e9\\u05e8\\u05d5\\u05ea \\u05e1\\u05d2\\u05e0\\u05d5\\u05df\nce_ac_global_statement_txt=\\u05de\\u05e9\\u05e4\\u05d8 \\u05d2\\u05dc\\u05d5\\u05d1\\u05dc\\u05d9\nce_ac_global_statements_txt=\\u05de\\u05e9\\u05e4\\u05d8\\u05d9\\u05dd \\u05d2\\u05dc\\u05d5\\u05d1\\u05dc\\u05d9\\u05d9\\u05dd\nce_ac_option_values_txt=\\u05e2\\u05e8\\u05db\\u05d9 \\u05d0\\u05e4\\u05e9\\u05e8\\u05d5\\u05d9\\u05d5\\u05ea\nce_ac_statement_options_txt=\\u05d0\\u05e4\\u05e9\\u05e8\\u05d5\\u05d9\\u05d5\\u05ea \\u05de\\u05e9\\u05e4\\u05d8\nce_ac_procedures_txt=\\u05e4\\u05e8\\u05d5\\u05e6\\u05d3\\u05d5\\u05e8\\u05d5\\u05ea\nce_ac_procedure_options_txt=\\u05d0\\u05e4\\u05e9\\u05e8\\u05d5\\u05d9\\u05d5\\u05ea \\u05e4\\u05e8\\u05d5\\u05e6\\u05d3\\u05d5\\u05e8\\u05d4\nce_ac_procedure_statements_txt=\\u05de\\u05e9\\u05e4\\u05d8\\u05d9 \\u05e4\\u05e8\\u05d5\\u05e6\\u05d3\\u05d5\\u05e8\\u05d4\nce_ac_procedure_definition_txt=\\u05d4\\u05d2\\u05d3\\u05e8\\u05ea \\u05e4\\u05e8\\u05d5\\u05e6\\u05d3\\u05d5\\u05e8\\u05d4\nce_ac_data_step_statements_txt=\\u05de\\u05e9\\u05e4\\u05d8\\u05d9 DATA Step\nce_ac_data_step_txt=DATA STEP\nce_ac_data_step_option_value_txt=\\u05e2\\u05e8\\u05da \\u05e9\\u05dc \\u05d0\\u05e4\\u05e9\\u05e8\\u05d5\\u05ea DATA STEP\nce_ac_definition_options_txt=\\u05d0\\u05e4\\u05e9\\u05e8\\u05d5\\u05d9\\u05d5\\u05ea \\u05d4\\u05d2\\u05d3\\u05e8\\u05d4\nce_ac_options_txt=\\u05d0\\u05e4\\u05e9\\u05e8\\u05d5\\u05d9\\u05d5\\u05ea\nce_ac_data_set_option_txt=\\u05d0\\u05e4\\u05e9\\u05e8\\u05d5\\u05ea Data Set\nce_ac_data_set_options_txt=\\u05d0\\u05e4\\u05e9\\u05e8\\u05d5\\u05d9\\u05d5\\u05ea Data Set\nce_ac_data_set_option_value_txt=\\u05e2\\u05e8\\u05da \\u05e9\\u05dc \\u05d0\\u05e4\\u05e9\\u05e8\\u05d5\\u05ea Data Set\nce_ac_data_set_option_values_txt=\\u05e2\\u05e8\\u05db\\u05d9\\u05dd \\u05e9\\u05dc \\u05d0\\u05e4\\u05e9\\u05e8\\u05d5\\u05ea Data Set\nce_ac_data_step_definition_options_txt=\\u05d0\\u05e4\\u05e9\\u05e8\\u05d5\\u05d9\\u05d5\\u05ea \\u05e9\\u05dc \\u05d4\\u05d2\\u05d3\\u05e8\\u05ea Data Step\nce_ac_password_options_txt=\\u05d0\\u05e4\\u05e9\\u05e8\\u05d5\\u05d9\\u05d5\\u05ea \\u05e1\\u05d9\\u05e1\\u05de\\u05d4\nce_ac_password_option_values_txt=\\u05e2\\u05e8\\u05db\\u05d9\\u05dd \\u05e9\\u05dc \\u05d0\\u05e4\\u05e9\\u05e8\\u05d5\\u05d9\\u05d5\\u05ea \\u05e1\\u05d9\\u05e1\\u05de\\u05d4\nce_ac_macro_definition_txt=\\u05d4\\u05d2\\u05d3\\u05e8\\u05ea \\u05de\\u05d0\\u05e7\\u05e8\\u05d5\nce_ac_macro_definition_option_txt=\\u05d0\\u05e4\\u05e9\\u05e8\\u05d5\\u05ea \\u05e9\\u05dc \\u05d4\\u05d2\\u05d3\\u05e8\\u05ea \\u05de\\u05d0\\u05e7\\u05e8\\u05d5\nce_ac_macro_definition_options_txt=\\u05d0\\u05e4\\u05e9\\u05e8\\u05d5\\u05d9\\u05d5\\u05ea \\u05e9\\u05dc \\u05d4\\u05d2\\u05d3\\u05e8\\u05ea \\u05de\\u05d0\\u05e7\\u05e8\\u05d5\nce_ac_macro_statement_txt=\\u05de\\u05e9\\u05e4\\u05d8 \\u05de\\u05d0\\u05e7\\u05e8\\u05d5\nce_ac_macro_statement_option_txt=\\u05d0\\u05e4\\u05e9\\u05e8\\u05d5\\u05ea \\u05e9\\u05dc \\u05de\\u05e9\\u05e4\\u05d8 \\u05de\\u05d0\\u05e7\\u05e8\\u05d5\nce_ac_macro_statements_txt=\\u05de\\u05e9\\u05e4\\u05d8\\u05d9 \\u05de\\u05d0\\u05e7\\u05e8\\u05d5\nce_ac_call_routine_txt=\\u05e8\\u05d5\\u05d8\\u05d9\\u05e0\\u05ea CALL\nce_ac_call_routines_txt=\\u05e8\\u05d5\\u05d8\\u05d9\\u05e0\\u05d5\\u05ea CALL\nce_ac_tagset_names_txt=\\u05e9\\u05de\\u05d5\\u05ea \\u05e2\\u05e8\\u05db\\u05ea \\u05ea\\u05d2\\u05d9\\u05dd\nce_ac_ods_txt=ODS\nce_ac_ods_statements_txt=\\u05de\\u05e9\\u05e4\\u05d8\\u05d9 ODS\nce_ac_ods_markup_txt=\\u05e1\\u05d9\\u05de\\u05d5\\u05df ODS\nce_ac_macro_variables_txt=\\u05de\\u05e9\\u05ea\\u05e0\\u05d9 \\u05de\\u05d0\\u05e7\\u05e8\\u05d5\nce_ac_snippet_abbr_txt=\\u05e7\\u05d9\\u05e6\\u05d5\\u05e8\\u05d9\\u05dd \\u05e9\\u05dc \\u05de\\u05e7\\u05d8\\u05e2\\u05d9 \\u05e7\\u05d5\\u05d3\n"
  },
  {
    "path": "server/messagebundle_hr.properties",
    "content": "ce_ac_keyword_txt=Klju\\u010dna rije\\u010d:\nce_ac_alias_txt=Pseudonim:\nce_ac_context_txt=Kontekst:\nce_ac_search_txt=Pretra\\u017ei:\nce_ac_product_documentation_txt=Dokumentacija proizvoda\nce_ac_samples_and_sas_notes_txt=Uzorci i SAS bilje\\u0161ke\nce_ac_papers_txt=Papiri\nce_ac_statement.fmt={0} izjava\nce_ac_option.fmt={0} opcija\nce_ac_proc.fmt=SAS PROCEDURA {0}\nce_ac_macro_def_name_txt=Naziv definicije makroa\nce_ac_user_macro_var_txt=Korisni\\u010dki definirane makrovarijabla\nce_ac_colors_txt=Boje\nce_ac_formats_txt=Formati\nce_ac_informats_txt=Obrasci\nce_ac_macro_functions_txt=Makrofunkcije\nce_ac_sas_functions_txt=SAS funkcije\nce_ac_statistics_keywords_txt=Klju\\u010dne rije\\u010di statistike\nce_ac_style_elements_txt=Elementi stila\nce_ac_style_attributes_txt=Atributi stila\nce_ac_style_locations_txt=Lokacije STILA\nce_ac_style_option_txt=MOGU\\u0106NOST STILA\nce_ac_global_statement_txt=GLOBALNI ISKAZ\nce_ac_global_statements_txt=Globalni iskazi\nce_ac_option_values_txt=Vrijednosti mogu\\u0107nosti\nce_ac_statement_options_txt=Mogu\\u0107nosti izjave\nce_ac_procedures_txt=Procedure\nce_ac_procedure_options_txt=Mogu\\u0107nosti procedure\nce_ac_procedure_statements_txt=Izjava procedure\nce_ac_procedure_definition_txt=DEFINICIJA PROCEDURE\nce_ac_data_step_statements_txt=Izjave DATA Step\nce_ac_data_step_txt=PODATKOVNI KORAK\nce_ac_data_step_option_value_txt=VRIJEDNOST MOGU\\u0106NOSTI PODATKOVNOG KORAKA\nce_ac_definition_options_txt=Mogu\\u0107nosti definicije\nce_ac_options_txt=Mogu\\u0107nosti\nce_ac_data_set_option_txt=Mogu\\u0107nost skupa podataka\nce_ac_data_set_options_txt=Mogu\\u0107nosti skupa podataka\nce_ac_data_set_option_value_txt=Vrijednost mogu\\u0107nosti skupa podataka\nce_ac_data_set_option_values_txt=Vrijednosti mogu\\u0107nosti skupa podataka\nce_ac_data_step_definition_options_txt=Mogu\\u0107nosti definicije podatkovnog koraka\nce_ac_password_options_txt=Mogu\\u0107nosti lozinke\nce_ac_password_option_values_txt=Vrijednosti mogu\\u0107nosti lozinke\nce_ac_macro_definition_txt=DEFINICIJA MAKROA\nce_ac_macro_definition_option_txt=Mogu\\u0107nost definicije makroa\nce_ac_macro_definition_options_txt=Mogu\\u0107nosti definicije makroa\nce_ac_macro_statement_txt=Makroizjava\nce_ac_macro_statement_option_txt=MOGU\\u0106NOST MAKROIZJAVE\nce_ac_macro_statements_txt=Makroizjave\nce_ac_call_routine_txt=Rutina POZIVA\nce_ac_call_routines_txt=Rutine POZIVA\nce_ac_tagset_names_txt=Nazivi skupa oznaka\nce_ac_ods_txt=ODS\nce_ac_ods_statements_txt=ODS izjave\nce_ac_ods_markup_txt=ODS OZNAKE\nce_ac_macro_variables_txt=Makrovarijable\nce_ac_snippet_abbr_txt=Kratice isje\\u010dka\n"
  },
  {
    "path": "server/messagebundle_hu.properties",
    "content": "ce_ac_keyword_txt=Kulcssz\\u00f3:\nce_ac_alias_txt=Alias:\nce_ac_context_txt=K\\u00f6rnyezet:\nce_ac_search_txt=Keres\\u00e9s:\nce_ac_product_documentation_txt=Term\\u00e9kdokument\\u00e1ci\\u00f3\nce_ac_samples_and_sas_notes_txt=P\\u00e9ld\\u00e1k \\u00e9s SAS-jegyzetek\nce_ac_papers_txt=Dokument\\u00e1ci\\u00f3\nce_ac_statement.fmt={0} nyilatkozat\nce_ac_option.fmt={0} lehet\\u0151s\\u00e9g\nce_ac_proc.fmt={0} ELJ\\u00c1R\\u00c1S\nce_ac_macro_def_name_txt=Makr\\u00f3defin\\u00edci\\u00f3 neve\nce_ac_user_macro_var_txt=Felhaszn\\u00e1l\\u00f3 \\u00e1ltal defini\\u00e1lt makr\\u00f3v\\u00e1ltoz\\u00f3\nce_ac_colors_txt=Sz\\u00ednek\nce_ac_formats_txt=Form\\u00e1tumok\nce_ac_informats_txt=Inform\\u00e1tum\nce_ac_macro_functions_txt=Makr\\u00f3f\\u00fcggv\\u00e9nyek\nce_ac_sas_functions_txt=SAS-f\\u00fcggv\\u00e9nyek\nce_ac_statistics_keywords_txt=Statisztikai kulcsszavak\nce_ac_style_elements_txt=St\\u00edluselemek\nce_ac_style_attributes_txt=St\\u00edlusattrib\\u00fatumok\nce_ac_style_locations_txt=ST\\u00cdLUSHELYEK\nce_ac_style_option_txt=ST\\u00cdLUSBE\\u00c1LL\\u00cdT\\u00c1S\nce_ac_global_statement_txt=GLOB\\u00c1LIS UTAS\\u00cdT\\u00c1S\nce_ac_global_statements_txt=Glob\\u00e1lis utas\\u00edt\\u00e1sok\nce_ac_option_values_txt=Be\\u00e1ll\\u00edt\\u00e1s\\u00e9rt\\u00e9kek\nce_ac_statement_options_txt=Utas\\u00edt\\u00e1sbe\\u00e1ll\\u00edt\\u00e1sok\nce_ac_procedures_txt=Elj\\u00e1r\\u00e1sok\nce_ac_procedure_options_txt=Elj\\u00e1r\\u00e1sbe\\u00e1ll\\u00edt\\u00e1sok\nce_ac_procedure_statements_txt=Elj\\u00e1r\\u00e1sutas\\u00edt\\u00e1sok\nce_ac_procedure_definition_txt=ELJ\\u00c1R\\u00c1SDEFIN\\u00cdCI\\u00d3\nce_ac_data_step_statements_txt=DATA Step utas\\u00edt\\u00e1sai\nce_ac_data_step_txt=DATA L\\u00c9P\\u00c9S\nce_ac_data_step_option_value_txt=ADATL\\u00c9P\\u00c9S BE\\u00c1LL\\u00cdT\\u00c1S\\u00c9RT\\u00c9KE\nce_ac_definition_options_txt=Defin\\u00edci\\u00f3be\\u00e1ll\\u00edt\\u00e1sok\nce_ac_options_txt=Be\\u00e1ll\\u00edt\\u00e1sok\nce_ac_data_set_option_txt=Adatk\\u00e9szlet-be\\u00e1ll\\u00edt\\u00e1s\nce_ac_data_set_options_txt=Adatk\\u00e9szlet-be\\u00e1ll\\u00edt\\u00e1sok\nce_ac_data_set_option_value_txt=Adatk\\u00e9szlet-be\\u00e1ll\\u00edt\\u00e1s \\u00e9rt\\u00e9ke\nce_ac_data_set_option_values_txt=Adatk\\u00e9szlet-be\\u00e1ll\\u00edt\\u00e1s \\u00e9rt\\u00e9kei\nce_ac_data_step_definition_options_txt=Adatl\\u00e9p\\u00e9s-defin\\u00edci\\u00f3 be\\u00e1ll\\u00edt\\u00e1sai\nce_ac_password_options_txt=Jelsz\\u00f3be\\u00e1ll\\u00edt\\u00e1sok\nce_ac_password_option_values_txt=Jelsz\\u00f3be\\u00e1ll\\u00edt\\u00e1s-\\u00e9rt\\u00e9kek\nce_ac_macro_definition_txt=MAKR\\u00d3DEFIN\\u00cdCI\\u00d3\nce_ac_macro_definition_option_txt=Makr\\u00f3defin\\u00edci\\u00f3-be\\u00e1ll\\u00edt\\u00e1s\nce_ac_macro_definition_options_txt=Makr\\u00f3defin\\u00edci\\u00f3-be\\u00e1ll\\u00edt\\u00e1sok\nce_ac_macro_statement_txt=Makr\\u00f3utas\\u00edt\\u00e1s\nce_ac_macro_statement_option_txt=MAKR\\u00d3UTAS\\u00cdT\\u00c1S-BE\\u00c1LL\\u00cdT\\u00c1S\nce_ac_macro_statements_txt=Makr\\u00f3utas\\u00edt\\u00e1sok\nce_ac_call_routine_txt=H\\u00cdV\\u00c1S-rutin\nce_ac_call_routines_txt=H\\u00cdV\\u00c1S-rutinok\nce_ac_tagset_names_txt=C\\u00edmkebe\\u00e1ll\\u00edt\\u00f3 nevek\nce_ac_ods_txt=ODS\nce_ac_ods_statements_txt=ODS-utas\\u00edt\\u00e1sok\nce_ac_ods_markup_txt=ODS-JEL\\u00d6L\\u0150\nce_ac_macro_variables_txt=Makr\\u00f3v\\u00e1ltoz\\u00f3k\nce_ac_snippet_abbr_txt=R\\u00e9szletr\\u00f6vid\\u00edt\\u00e9sek\n"
  },
  {
    "path": "server/messagebundle_it.properties",
    "content": "ce_ac_keyword_txt=Parola chiave:\nce_ac_alias_txt=Alias:\nce_ac_context_txt=Contesto:\nce_ac_search_txt=Cerca:\nce_ac_product_documentation_txt=Documentazione del prodotto\nce_ac_samples_and_sas_notes_txt=Esempi e SAS Notes\nce_ac_papers_txt=Paper\nce_ac_statement.fmt=Istruzione {0}\nce_ac_option.fmt=Opzione {0}\nce_ac_proc.fmt=PROC {0}\nce_ac_macro_def_name_txt=Nome definizione della macro\nce_ac_user_macro_var_txt=Macro variabile definita dall\\u2019utente\nce_ac_colors_txt=Colori\nce_ac_formats_txt=Formati\nce_ac_informats_txt=Formati di input\nce_ac_macro_functions_txt=Funzioni macro\nce_ac_sas_functions_txt=Funzioni SAS\nce_ac_statistics_keywords_txt=Parole chiave statistiche\nce_ac_style_elements_txt=Elementi di stile\nce_ac_style_attributes_txt=Attributi di stile\nce_ac_style_locations_txt=Percorsi degli STILI\nce_ac_style_option_txt=OPZIONE STYLE\nce_ac_global_statement_txt=ISTRUZIONE GLOBALE\nce_ac_global_statements_txt=Istruzioni globali\nce_ac_option_values_txt=Valori dell\\u2019opzione\nce_ac_statement_options_txt=Opzioni dell\\u2019istruzione\nce_ac_procedures_txt=Procedure\nce_ac_procedure_options_txt=Opzioni della procedura\nce_ac_procedure_statements_txt=Istruzioni della procedura\nce_ac_procedure_definition_txt=DEFINIZIONE DELLA PROCEDURA\nce_ac_data_step_statements_txt=Istruzioni del passo di DATA\nce_ac_data_step_txt=PASSO DI DATA\nce_ac_data_step_option_value_txt=VALORE DELL\\u2019OPZIONE DEL PASSO DI DATA\nce_ac_definition_options_txt=Opzioni della definizione\nce_ac_options_txt=Opzioni\nce_ac_data_set_option_txt=Opzione per i data set\nce_ac_data_set_options_txt=Opzioni per i data set\nce_ac_data_set_option_value_txt=Valore dell\\u2019opzione per i data set\nce_ac_data_set_option_values_txt=Valori delle opzioni per i data set\nce_ac_data_step_definition_options_txt=Opzioni della definizione del passo di DATA\nce_ac_password_options_txt=Opzioni della password\nce_ac_password_option_values_txt=Valori dell\\u2019opzione della password\nce_ac_macro_definition_txt=DEFINIZIONE DELLA MACRO\nce_ac_macro_definition_option_txt=Opzione della definizione della macro\nce_ac_macro_definition_options_txt=Opzioni delle definizioni delle macro\nce_ac_macro_statement_txt=Istruzione della macro\nce_ac_macro_statement_option_txt=OPZIONE DELL\\u2019ISTRUZIONE DELLA MACRO\nce_ac_macro_statements_txt=Istruzioni della macro\nce_ac_call_routine_txt=Routine CALL\nce_ac_call_routines_txt=Routine CALL\nce_ac_tagset_names_txt=Nome tagset\nce_ac_ods_txt=ODS\nce_ac_ods_statements_txt=Istruzioni ODS\nce_ac_ods_markup_txt=MARKUP ODS\nce_ac_macro_variables_txt=Macro variabili\nce_ac_snippet_abbr_txt=Abbreviazioni del frammento di codice\n"
  },
  {
    "path": "server/messagebundle_iw.properties",
    "content": "ce_ac_keyword_txt=\\u05de\\u05d9\\u05dc\\u05ea \\u05de\\u05e4\\u05ea\\u05d7:\nce_ac_alias_txt=Alias:\nce_ac_context_txt=\\u05d4\\u05e7\\u05e9\\u05e8:\nce_ac_search_txt=\\u05d7\\u05d9\\u05e4\\u05d5\\u05e9:\nce_ac_product_documentation_txt=\\u05ea\\u05d9\\u05e2\\u05d5\\u05d3 \\u05d4\\u05de\\u05d5\\u05e6\\u05e8\nce_ac_samples_and_sas_notes_txt=\\u05d3\\u05d5\\u05d2\\u05de\\u05d0\\u05d5\\u05ea \\u05d5-SAS Notes\nce_ac_papers_txt=\\u05e0\\u05d9\\u05d9\\u05e8\\u05d5\\u05ea\nce_ac_statement.fmt={0} \\u05de\\u05e9\\u05e4\\u05d8\nce_ac_option.fmt={0} \\u05d0\\u05e4\\u05e9\\u05e8\\u05d5\\u05ea\nce_ac_proc.fmt=PROC {0}\nce_ac_macro_def_name_txt=\\u05e9\\u05dd \\u05d4\\u05d2\\u05d3\\u05e8\\u05ea \\u05de\\u05d0\\u05e7\\u05e8\\u05d5\nce_ac_user_macro_var_txt=\\u05de\\u05e9\\u05ea\\u05e0\\u05d4 \\u05de\\u05d0\\u05e7\\u05e8\\u05d5 \\u05de\\u05d5\\u05d2\\u05d3\\u05e8 \\u05e2\\u05dc-\\u05d9\\u05d3\\u05d9 \\u05d4\\u05de\\u05e9\\u05ea\\u05de\\u05e9\nce_ac_colors_txt=\\u05e6\\u05d1\\u05e2\\u05d9\\u05dd\nce_ac_formats_txt=\\u05ea\\u05d1\\u05e0\\u05d9\\u05d5\\u05ea\nce_ac_informats_txt=Informats\nce_ac_macro_functions_txt=\\u05e4\\u05d5\\u05e0\\u05e7\\u05e6\\u05d9\\u05d5\\u05ea \\u05de\\u05d0\\u05e7\\u05e8\\u05d5\nce_ac_sas_functions_txt=\\u05e4\\u05d5\\u05e0\\u05e7\\u05e6\\u05d9\\u05d5\\u05ea SAS\nce_ac_statistics_keywords_txt=\\u05de\\u05d9\\u05dc\\u05d5\\u05ea \\u05de\\u05e4\\u05ea\\u05d7 \\u05e9\\u05dc \\u05e0\\u05ea\\u05d5\\u05e0\\u05d9\\u05dd \\u05e1\\u05d8\\u05d8\\u05d9\\u05e1\\u05d8\\u05d9\\u05d9\\u05dd\nce_ac_style_elements_txt=\\u05de\\u05e8\\u05db\\u05d9\\u05d1\\u05d9 \\u05e1\\u05d2\\u05e0\\u05d5\\u05df\nce_ac_style_attributes_txt=\\u05ea\\u05db\\u05d5\\u05e0\\u05d5\\u05ea \\u05e1\\u05d2\\u05e0\\u05d5\\u05df\nce_ac_style_locations_txt=\\u05de\\u05d9\\u05e7\\u05d5\\u05de\\u05d9 \\u05e1\\u05d2\\u05e0\\u05d5\\u05df\nce_ac_style_option_txt=\\u05d0\\u05e4\\u05e9\\u05e8\\u05d5\\u05ea \\u05e1\\u05d2\\u05e0\\u05d5\\u05df\nce_ac_global_statement_txt=\\u05de\\u05e9\\u05e4\\u05d8 \\u05d2\\u05dc\\u05d5\\u05d1\\u05dc\\u05d9\nce_ac_global_statements_txt=\\u05de\\u05e9\\u05e4\\u05d8\\u05d9\\u05dd \\u05d2\\u05dc\\u05d5\\u05d1\\u05dc\\u05d9\\u05d9\\u05dd\nce_ac_option_values_txt=\\u05e2\\u05e8\\u05db\\u05d9 \\u05d0\\u05e4\\u05e9\\u05e8\\u05d5\\u05d9\\u05d5\\u05ea\nce_ac_statement_options_txt=\\u05d0\\u05e4\\u05e9\\u05e8\\u05d5\\u05d9\\u05d5\\u05ea \\u05de\\u05e9\\u05e4\\u05d8\nce_ac_procedures_txt=\\u05e4\\u05e8\\u05d5\\u05e6\\u05d3\\u05d5\\u05e8\\u05d5\\u05ea\nce_ac_procedure_options_txt=\\u05d0\\u05e4\\u05e9\\u05e8\\u05d5\\u05d9\\u05d5\\u05ea \\u05e4\\u05e8\\u05d5\\u05e6\\u05d3\\u05d5\\u05e8\\u05d4\nce_ac_procedure_statements_txt=\\u05de\\u05e9\\u05e4\\u05d8\\u05d9 \\u05e4\\u05e8\\u05d5\\u05e6\\u05d3\\u05d5\\u05e8\\u05d4\nce_ac_procedure_definition_txt=\\u05d4\\u05d2\\u05d3\\u05e8\\u05ea \\u05e4\\u05e8\\u05d5\\u05e6\\u05d3\\u05d5\\u05e8\\u05d4\nce_ac_data_step_statements_txt=\\u05de\\u05e9\\u05e4\\u05d8\\u05d9 DATA Step\nce_ac_data_step_txt=DATA STEP\nce_ac_data_step_option_value_txt=\\u05e2\\u05e8\\u05da \\u05e9\\u05dc \\u05d0\\u05e4\\u05e9\\u05e8\\u05d5\\u05ea DATA STEP\nce_ac_definition_options_txt=\\u05d0\\u05e4\\u05e9\\u05e8\\u05d5\\u05d9\\u05d5\\u05ea \\u05d4\\u05d2\\u05d3\\u05e8\\u05d4\nce_ac_options_txt=\\u05d0\\u05e4\\u05e9\\u05e8\\u05d5\\u05d9\\u05d5\\u05ea\nce_ac_data_set_option_txt=\\u05d0\\u05e4\\u05e9\\u05e8\\u05d5\\u05ea Data Set\nce_ac_data_set_options_txt=\\u05d0\\u05e4\\u05e9\\u05e8\\u05d5\\u05d9\\u05d5\\u05ea Data Set\nce_ac_data_set_option_value_txt=\\u05e2\\u05e8\\u05da \\u05e9\\u05dc \\u05d0\\u05e4\\u05e9\\u05e8\\u05d5\\u05ea Data Set\nce_ac_data_set_option_values_txt=\\u05e2\\u05e8\\u05db\\u05d9\\u05dd \\u05e9\\u05dc \\u05d0\\u05e4\\u05e9\\u05e8\\u05d5\\u05ea Data Set\nce_ac_data_step_definition_options_txt=\\u05d0\\u05e4\\u05e9\\u05e8\\u05d5\\u05d9\\u05d5\\u05ea \\u05e9\\u05dc \\u05d4\\u05d2\\u05d3\\u05e8\\u05ea Data Step\nce_ac_password_options_txt=\\u05d0\\u05e4\\u05e9\\u05e8\\u05d5\\u05d9\\u05d5\\u05ea \\u05e1\\u05d9\\u05e1\\u05de\\u05d4\nce_ac_password_option_values_txt=\\u05e2\\u05e8\\u05db\\u05d9\\u05dd \\u05e9\\u05dc \\u05d0\\u05e4\\u05e9\\u05e8\\u05d5\\u05d9\\u05d5\\u05ea \\u05e1\\u05d9\\u05e1\\u05de\\u05d4\nce_ac_macro_definition_txt=\\u05d4\\u05d2\\u05d3\\u05e8\\u05ea \\u05de\\u05d0\\u05e7\\u05e8\\u05d5\nce_ac_macro_definition_option_txt=\\u05d0\\u05e4\\u05e9\\u05e8\\u05d5\\u05ea \\u05e9\\u05dc \\u05d4\\u05d2\\u05d3\\u05e8\\u05ea \\u05de\\u05d0\\u05e7\\u05e8\\u05d5\nce_ac_macro_definition_options_txt=\\u05d0\\u05e4\\u05e9\\u05e8\\u05d5\\u05d9\\u05d5\\u05ea \\u05e9\\u05dc \\u05d4\\u05d2\\u05d3\\u05e8\\u05ea \\u05de\\u05d0\\u05e7\\u05e8\\u05d5\nce_ac_macro_statement_txt=\\u05de\\u05e9\\u05e4\\u05d8 \\u05de\\u05d0\\u05e7\\u05e8\\u05d5\nce_ac_macro_statement_option_txt=\\u05d0\\u05e4\\u05e9\\u05e8\\u05d5\\u05ea \\u05e9\\u05dc \\u05de\\u05e9\\u05e4\\u05d8 \\u05de\\u05d0\\u05e7\\u05e8\\u05d5\nce_ac_macro_statements_txt=\\u05de\\u05e9\\u05e4\\u05d8\\u05d9 \\u05de\\u05d0\\u05e7\\u05e8\\u05d5\nce_ac_call_routine_txt=\\u05e8\\u05d5\\u05d8\\u05d9\\u05e0\\u05ea CALL\nce_ac_call_routines_txt=\\u05e8\\u05d5\\u05d8\\u05d9\\u05e0\\u05d5\\u05ea CALL\nce_ac_tagset_names_txt=\\u05e9\\u05de\\u05d5\\u05ea \\u05e2\\u05e8\\u05db\\u05ea \\u05ea\\u05d2\\u05d9\\u05dd\nce_ac_ods_txt=ODS\nce_ac_ods_statements_txt=\\u05de\\u05e9\\u05e4\\u05d8\\u05d9 ODS\nce_ac_ods_markup_txt=\\u05e1\\u05d9\\u05de\\u05d5\\u05df ODS\nce_ac_macro_variables_txt=\\u05de\\u05e9\\u05ea\\u05e0\\u05d9 \\u05de\\u05d0\\u05e7\\u05e8\\u05d5\nce_ac_snippet_abbr_txt=\\u05e7\\u05d9\\u05e6\\u05d5\\u05e8\\u05d9\\u05dd \\u05e9\\u05dc \\u05de\\u05e7\\u05d8\\u05e2\\u05d9 \\u05e7\\u05d5\\u05d3\n"
  },
  {
    "path": "server/messagebundle_ja.properties",
    "content": "ce_ac_keyword_txt=キーワード:\nce_ac_alias_txt=エイリアス:\nce_ac_context_txt=コンテキスト:\nce_ac_search_txt=検索:\nce_ac_product_documentation_txt=製品ドキュメント\nce_ac_samples_and_sas_notes_txt=サンプルと SAS Notes\nce_ac_papers_txt=資料\nce_ac_statement.fmt={0} ステートメント\nce_ac_option.fmt={0} オプション\nce_ac_proc.fmt=PROC {0}\nce_ac_macro_def_name_txt=マクロ定義名\nce_ac_user_macro_var_txt=ユーザー定義マクロ変数\nce_ac_colors_txt=色\nce_ac_formats_txt=出力形式\nce_ac_informats_txt=入力形式\nce_ac_macro_functions_txt=マクロ関数\nce_ac_sas_functions_txt=SAS 関数\nce_ac_statistics_keywords_txt=統計量キーワード\nce_ac_style_elements_txt=スタイル要素\nce_ac_style_attributes_txt=スタイル属性\nce_ac_style_locations_txt=スタイルの場所\nce_ac_style_option_txt=スタイルオプション\nce_ac_global_statement_txt=グローバルステートメント\nce_ac_global_statements_txt=グローバルステートメント\nce_ac_option_values_txt=オプション値\nce_ac_statement_options_txt=ステートメントオプション\nce_ac_procedures_txt=プロシジャ\nce_ac_procedure_options_txt=プロシジャオプション\nce_ac_procedure_statements_txt=プロシジャステートメント\nce_ac_procedure_definition_txt=プロシジャ定義\nce_ac_data_step_statements_txt=DATA ステップステートメント\nce_ac_data_step_txt=DATA ステップ\nce_ac_data_step_option_value_txt=DATA ステップオプション値\nce_ac_definition_options_txt=定義オプション\nce_ac_options_txt=オプション\nce_ac_data_set_option_txt=データセットオプション\nce_ac_data_set_options_txt=データセットオプション\nce_ac_data_set_option_value_txt=データセットオプション値\nce_ac_data_set_option_values_txt=データセットオプション値\nce_ac_data_step_definition_options_txt=DATA ステップ定義オプション\nce_ac_password_options_txt=パスワードオプション\nce_ac_password_option_values_txt=パスワードオプション値\nce_ac_macro_definition_txt=マクロ定義\nce_ac_macro_definition_option_txt=マクロ定義オプション\nce_ac_macro_definition_options_txt=マクロ定義オプション\nce_ac_macro_statement_txt=マクロステートメント\nce_ac_macro_statement_option_txt=マクロステートメントオプション\nce_ac_macro_statements_txt=マクロステートメント\nce_ac_call_routine_txt=CALL ルーチン\nce_ac_call_routines_txt=CALL ルーチン\nce_ac_tagset_names_txt=タグセット名\nce_ac_ods_txt=ODS\nce_ac_ods_statements_txt=ODS ステートメント\nce_ac_ods_markup_txt=ODS マークアップ\nce_ac_macro_variables_txt=マクロ変数\nce_ac_snippet_abbr_txt=スニペットの省略形\n"
  },
  {
    "path": "server/messagebundle_ko.properties",
    "content": "ce_ac_keyword_txt=키워드:\nce_ac_alias_txt=별칭:\nce_ac_context_txt=컨텍스트:\nce_ac_search_txt=검색:\nce_ac_product_documentation_txt=제품 문서\nce_ac_samples_and_sas_notes_txt=샘플 및 SAS 노트\nce_ac_papers_txt=논문\nce_ac_statement.fmt={0} 문장\nce_ac_option.fmt={0} 옵션\nce_ac_proc.fmt=PROC {0}\nce_ac_macro_def_name_txt=매크로 정의 이름\nce_ac_user_macro_var_txt=사용자 정의 매크로 변수\nce_ac_colors_txt=색상\nce_ac_formats_txt=출력형식\nce_ac_informats_txt=입력형식\nce_ac_macro_functions_txt=매크로 함수\nce_ac_sas_functions_txt=SAS 함수\nce_ac_statistics_keywords_txt=통계량 키워드\nce_ac_style_elements_txt=스타일 요소\nce_ac_style_attributes_txt=스타일 속성\nce_ac_style_locations_txt=스타일 위치\nce_ac_style_option_txt=스타일 옵션\nce_ac_global_statement_txt=글로벌 문장\nce_ac_global_statements_txt=글로벌 문장\nce_ac_option_values_txt=옵션 값\nce_ac_statement_options_txt=문장 옵션\nce_ac_procedures_txt=프로시저\nce_ac_procedure_options_txt=프로시저 옵션\nce_ac_procedure_statements_txt=프로시저 문장\nce_ac_procedure_definition_txt=프로시저 정의\nce_ac_data_step_statements_txt=DATA 스텝 문장\nce_ac_data_step_txt=DATA 스텝\nce_ac_data_step_option_value_txt=DATA 스텝 옵션 값\nce_ac_definition_options_txt=정의 옵션\nce_ac_options_txt=옵션\nce_ac_data_set_option_txt=데이터셋 옵션\nce_ac_data_set_options_txt=데이터셋 옵션\nce_ac_data_set_option_value_txt=데이터셋 옵션 값\nce_ac_data_set_option_values_txt=데이터셋 옵션 값\nce_ac_data_step_definition_options_txt=DATA 스텝 정의 옵션\nce_ac_password_options_txt=암호 옵션\nce_ac_password_option_values_txt=암호 옵션 값\nce_ac_macro_definition_txt=매크로 정의\nce_ac_macro_definition_option_txt=매크로 정의 옵션\nce_ac_macro_definition_options_txt=매크로 정의 옵션\nce_ac_macro_statement_txt=매크로 문장\nce_ac_macro_statement_option_txt=매크로 문장 옵션\nce_ac_macro_statements_txt=매크로 문장\nce_ac_call_routine_txt=CALL 루틴\nce_ac_call_routines_txt=CALL 루틴\nce_ac_tagset_names_txt=태그셋 이름\nce_ac_ods_txt=ODS\nce_ac_ods_statements_txt=ODS 문장\nce_ac_ods_markup_txt=ODS 마크업\nce_ac_macro_variables_txt=매크로 변수\nce_ac_snippet_abbr_txt=Snippet 약어\n"
  },
  {
    "path": "server/messagebundle_nb.properties",
    "content": "ce_ac_keyword_txt=N\\u00f8kkelord:\nce_ac_alias_txt=Alias:\nce_ac_context_txt=Kontekst:\nce_ac_search_txt=S\\u00f8k:\nce_ac_product_documentation_txt=Produktdokumentasjon\nce_ac_samples_and_sas_notes_txt=Eksempler og SAS Notes\nce_ac_papers_txt=Papirer\nce_ac_statement.fmt={0} setning\nce_ac_option.fmt={0} alternativ\nce_ac_proc.fmt=PROC {0}\nce_ac_macro_def_name_txt=Makrodefinisjonsnavn\nce_ac_user_macro_var_txt=Brukerdefinert makrovariabel\nce_ac_colors_txt=Farger\nce_ac_formats_txt=Formater\nce_ac_informats_txt=Informater\nce_ac_macro_functions_txt=Makrofunksjoner\nce_ac_sas_functions_txt=SAS-funksjoner\nce_ac_statistics_keywords_txt=Statistikkn\\u00f8kkelord\nce_ac_style_elements_txt=Stilelementer\nce_ac_style_attributes_txt=Stilattributter\nce_ac_style_locations_txt=STIL-plasseringer\nce_ac_style_option_txt=STILALTERNATIV\nce_ac_global_statement_txt=GLOBAL SETNING\nce_ac_global_statements_txt=Globale setninger\nce_ac_option_values_txt=Alternativverdier\nce_ac_statement_options_txt=Setningsalternativer\nce_ac_procedures_txt=Prosedyrer\nce_ac_procedure_options_txt=Prosedyrealternativer\nce_ac_procedure_statements_txt=Prosedyresetninger\nce_ac_procedure_definition_txt=PROSEDYREDEFINISJON\nce_ac_data_step_statements_txt=DATA-trinnsetninger\nce_ac_data_step_txt=DATATRINN\nce_ac_data_step_option_value_txt=VERDI FOR DATATRINNALTERNATIV\nce_ac_definition_options_txt=Definisjonsalternativer\nce_ac_options_txt=Alternativer\nce_ac_data_set_option_txt=Datasettalternativ\nce_ac_data_set_options_txt=Datasettalternativer\nce_ac_data_set_option_value_txt=Verdi for datasettalternativ\nce_ac_data_set_option_values_txt=Verdier for datasettalternativ\nce_ac_data_step_definition_options_txt=Alternativer for datatrinndefinisjon\nce_ac_password_options_txt=Passordalternativer\nce_ac_password_option_values_txt=Verdier for passordalternativ\nce_ac_macro_definition_txt=MAKRODEFINISJON\nce_ac_macro_definition_option_txt=Alternativ for makrodefinisjon\nce_ac_macro_definition_options_txt=Alternativer for makrodefinisjon\nce_ac_macro_statement_txt=Makrosetning\nce_ac_macro_statement_option_txt=ALTERNATIV FOR MAKROSETNING\nce_ac_macro_statements_txt=Makrosetninger\nce_ac_call_routine_txt=KALL-rutine\nce_ac_call_routines_txt=KALL-rutiner\nce_ac_tagset_names_txt=Kodesettnavn\nce_ac_ods_txt=ODS\nce_ac_ods_statements_txt=ODS-setninger\nce_ac_ods_markup_txt=ODS MARKUP\nce_ac_macro_variables_txt=Makrovariabler\nce_ac_snippet_abbr_txt=Snuttforkortelser\n"
  },
  {
    "path": "server/messagebundle_nl.properties",
    "content": "ce_ac_keyword_txt=Trefwoord:\nce_ac_alias_txt=Alias:\nce_ac_context_txt=Context:\nce_ac_search_txt=Zoeken:\nce_ac_product_documentation_txt=Productdocumentatie\nce_ac_samples_and_sas_notes_txt=Voorbeelden en SAS-opmerkingen\nce_ac_papers_txt=Papers\nce_ac_statement.fmt={0}-instructie\nce_ac_option.fmt={0}-optie\nce_ac_proc.fmt=PROC {0}\nce_ac_macro_def_name_txt=Naam macrodefinitie\nce_ac_user_macro_var_txt=Door gebruiker gedefinieerde macrovariabele\nce_ac_colors_txt=Kleuren\nce_ac_formats_txt=Notaties\nce_ac_informats_txt=Zonder notatie\nce_ac_macro_functions_txt=Macrofuncties\nce_ac_sas_functions_txt=SAS-functies\nce_ac_statistics_keywords_txt=Statistische trefwoorden\nce_ac_style_elements_txt=Stijlelementen\nce_ac_style_attributes_txt=Stijlkenmerken\nce_ac_style_locations_txt=STIJL-locaties\nce_ac_style_option_txt=STIJLOPTIE\nce_ac_global_statement_txt=UNIVERSELE INSTRUCTIE\nce_ac_global_statements_txt=Universele instructies\nce_ac_option_values_txt=Optiewaarden\nce_ac_statement_options_txt=Instructie-opties\nce_ac_procedures_txt=Procedures\nce_ac_procedure_options_txt=Procedure-opties\nce_ac_procedure_statements_txt=Procedure-instructies\nce_ac_procedure_definition_txt=PROCEDUREDEFINITIE\nce_ac_data_step_statements_txt=Instructies DATA-stap\nce_ac_data_step_txt=DATA-STAP\nce_ac_data_step_option_value_txt=OPTIEWAARDE DATA-STAP\nce_ac_definition_options_txt=Definitie-opties\nce_ac_options_txt=Opties\nce_ac_data_set_option_txt=Optie gegevensset\nce_ac_data_set_options_txt=Opties gegevensset\nce_ac_data_set_option_value_txt=Optiewaarde gegevensset\nce_ac_data_set_option_values_txt=Optiewaarden gegevensset\nce_ac_data_step_definition_options_txt=Definitie-opties DATA-stap\nce_ac_password_options_txt=Wachtwoordopties\nce_ac_password_option_values_txt=Optiewaarden wachtwoord\nce_ac_macro_definition_txt=MACRODEFINITIE\nce_ac_macro_definition_option_txt=Optie macrodefinitie\nce_ac_macro_definition_options_txt=Opties macrodefinitie\nce_ac_macro_statement_txt=Macro-instructie\nce_ac_macro_statement_option_txt=OPTIE MACRO-INSTRUCTIE\nce_ac_macro_statements_txt=Macro-instructies\nce_ac_call_routine_txt=CALL-routine\nce_ac_call_routines_txt=CALL-routines\nce_ac_tagset_names_txt=Labelsetnamen\nce_ac_ods_txt=ODS\nce_ac_ods_statements_txt=ODS-instructies\nce_ac_ods_markup_txt=ODS-MARKERINGEN\nce_ac_macro_variables_txt=Macrovariabelen\nce_ac_snippet_abbr_txt=Fragmentafkortingen\n"
  },
  {
    "path": "server/messagebundle_no.properties",
    "content": "ce_ac_keyword_txt=N\\u00f8kkelord:\nce_ac_alias_txt=Alias:\nce_ac_context_txt=Kontekst:\nce_ac_search_txt=S\\u00f8k:\nce_ac_product_documentation_txt=Produktdokumentasjon\nce_ac_samples_and_sas_notes_txt=Eksempler og SAS Notes\nce_ac_papers_txt=Papirer\nce_ac_statement.fmt={0} setning\nce_ac_option.fmt={0} alternativ\nce_ac_proc.fmt=PROC {0}\nce_ac_macro_def_name_txt=Makrodefinisjonsnavn\nce_ac_user_macro_var_txt=Brukerdefinert makrovariabel\nce_ac_colors_txt=Farger\nce_ac_formats_txt=Formater\nce_ac_informats_txt=Informater\nce_ac_macro_functions_txt=Makrofunksjoner\nce_ac_sas_functions_txt=SAS-funksjoner\nce_ac_statistics_keywords_txt=Statistikkn\\u00f8kkelord\nce_ac_style_elements_txt=Stilelementer\nce_ac_style_attributes_txt=Stilattributter\nce_ac_style_locations_txt=STIL-plasseringer\nce_ac_style_option_txt=STILALTERNATIV\nce_ac_global_statement_txt=GLOBAL SETNING\nce_ac_global_statements_txt=Globale setninger\nce_ac_option_values_txt=Alternativverdier\nce_ac_statement_options_txt=Setningsalternativer\nce_ac_procedures_txt=Prosedyrer\nce_ac_procedure_options_txt=Prosedyrealternativer\nce_ac_procedure_statements_txt=Prosedyresetninger\nce_ac_procedure_definition_txt=PROSEDYREDEFINISJON\nce_ac_data_step_statements_txt=DATA-trinnsetninger\nce_ac_data_step_txt=DATATRINN\nce_ac_data_step_option_value_txt=VERDI FOR DATATRINNALTERNATIV\nce_ac_definition_options_txt=Definisjonsalternativer\nce_ac_options_txt=Alternativer\nce_ac_data_set_option_txt=Datasettalternativ\nce_ac_data_set_options_txt=Datasettalternativer\nce_ac_data_set_option_value_txt=Verdi for datasettalternativ\nce_ac_data_set_option_values_txt=Verdier for datasettalternativ\nce_ac_data_step_definition_options_txt=Alternativer for datatrinndefinisjon\nce_ac_password_options_txt=Passordalternativer\nce_ac_password_option_values_txt=Verdier for passordalternativ\nce_ac_macro_definition_txt=MAKRODEFINISJON\nce_ac_macro_definition_option_txt=Alternativ for makrodefinisjon\nce_ac_macro_definition_options_txt=Alternativer for makrodefinisjon\nce_ac_macro_statement_txt=Makrosetning\nce_ac_macro_statement_option_txt=ALTERNATIV FOR MAKROSETNING\nce_ac_macro_statements_txt=Makrosetninger\nce_ac_call_routine_txt=KALL-rutine\nce_ac_call_routines_txt=KALL-rutiner\nce_ac_tagset_names_txt=Kodesettnavn\nce_ac_ods_txt=ODS\nce_ac_ods_statements_txt=ODS-setninger\nce_ac_ods_markup_txt=ODS MARKUP\nce_ac_macro_variables_txt=Makrovariabler\nce_ac_snippet_abbr_txt=Snuttforkortelser\n"
  },
  {
    "path": "server/messagebundle_pl.properties",
    "content": "ce_ac_keyword_txt=S\\u0142owo kluczowe:\nce_ac_alias_txt=Alias:\nce_ac_context_txt=Kontekst:\nce_ac_search_txt=Wyszukaj:\nce_ac_product_documentation_txt=Dokumentacja produktu\nce_ac_samples_and_sas_notes_txt=Przyk\\u0142ady i noty SAS-owe\nce_ac_papers_txt=Artyku\\u0142y\nce_ac_statement.fmt=Instrukcja {0}\nce_ac_option.fmt=Opcja {0}\nce_ac_proc.fmt=PROC {0}\nce_ac_macro_def_name_txt=Nazwa makrodefinicji\nce_ac_user_macro_var_txt=Makrozmienna zdefiniowana przez u\\u017cytkownika\nce_ac_colors_txt=Kolory\nce_ac_formats_txt=Formaty\nce_ac_informats_txt=Informaty\nce_ac_macro_functions_txt=Makrofunkcje\nce_ac_sas_functions_txt=Funkcje SAS-owe\nce_ac_statistics_keywords_txt=Statystyczne s\\u0142owa kluczowe\nce_ac_style_elements_txt=Elementy styl\\u00f3w\nce_ac_style_attributes_txt=Atrybuty styl\\u00f3w\nce_ac_style_locations_txt=Po\\u0142o\\u017cenia styl\\u00f3w\nce_ac_style_option_txt=OPCJA STYLE\nce_ac_global_statement_txt=INSTRUKCJA GLOBALNA\nce_ac_global_statements_txt=Instrukcje globalne\nce_ac_option_values_txt=Warto\\u015bci opcji\nce_ac_statement_options_txt=Opcje instrukcji\nce_ac_procedures_txt=Procedury\nce_ac_procedure_options_txt=Opcje procedur\nce_ac_procedure_statements_txt=Instrukcje procedur\nce_ac_procedure_definition_txt=DEFINICJA PROCEDURY\nce_ac_data_step_statements_txt=Instrukcje DATA stepu\nce_ac_data_step_txt=DATA STEP\nce_ac_data_step_option_value_txt=WARTO\\u015a\\u0106 OPCJI DATA STEPU\nce_ac_definition_options_txt=Opcje definicji\nce_ac_options_txt=Opcje\nce_ac_data_set_option_txt=Opcja zbior\\u00f3w\nce_ac_data_set_options_txt=Opcje zbior\\u00f3w\nce_ac_data_set_option_value_txt=Warto\\u015bci opcji zbior\\u00f3w\nce_ac_data_set_option_values_txt=Warto\\u015bci opcji zbior\\u00f3w\nce_ac_data_step_definition_options_txt=Opcje definicji datastep\\u00f3w\nce_ac_password_options_txt=Opcje hase\\u0142\nce_ac_password_option_values_txt=Warto\\u015bci opcji hase\\u0142\nce_ac_macro_definition_txt=MAKRODEFINICJA\nce_ac_macro_definition_option_txt=Opcja makrodefinicji\nce_ac_macro_definition_options_txt=Opcje makrodefinicji\nce_ac_macro_statement_txt=Makroinstrukcja\nce_ac_macro_statement_option_txt=OPCJA MAKROINSTRUKCJI\nce_ac_macro_statements_txt=Makroinstrukcje\nce_ac_call_routine_txt=Wywo\\u0142anie podprogramu\nce_ac_call_routines_txt=Wywo\\u0142ania podprogram\\u00f3w\nce_ac_tagset_names_txt=Nazwy tagset\\u00f3w\nce_ac_ods_txt=ODS\nce_ac_ods_statements_txt=Instrukcje ODS\nce_ac_ods_markup_txt=ZNACZNIKI ODS\nce_ac_macro_variables_txt=Makrozmienne\nce_ac_snippet_abbr_txt=Skr\\u00f3ty wstawek\n"
  },
  {
    "path": "server/messagebundle_pt.properties",
    "content": "ce_ac_keyword_txt=Palavra-chave:\nce_ac_alias_txt=Alias:\nce_ac_context_txt=Contexto:\nce_ac_search_txt=Pesquisar:\nce_ac_product_documentation_txt=Documenta\\u00e7\\u00e3o do Produto\nce_ac_samples_and_sas_notes_txt=Exemplos e Notas da SAS\nce_ac_papers_txt=Documentos T\\u00e9cnicos\nce_ac_statement.fmt={0} - instru\\u00e7\\u00e3o\nce_ac_option.fmt={0} op\\u00e7\\u00e3o\nce_ac_proc.fmt=PROC {0}\nce_ac_macro_def_name_txt=Nome da defini\\u00e7\\u00e3o de macro\nce_ac_user_macro_var_txt=Vari\\u00e1vel de macro de definida pelo utilizador\nce_ac_colors_txt=Cores\nce_ac_formats_txt=Formatos\nce_ac_informats_txt=Informatos\nce_ac_macro_functions_txt=Fun\\u00e7\\u00f5es de Macro\nce_ac_sas_functions_txt=Fun\\u00e7\\u00f5es SAS\nce_ac_statistics_keywords_txt=Palavras-chave de Estat\\u00edstica\nce_ac_style_elements_txt=Elementos de Estilo\nce_ac_style_attributes_txt=Atributos de Estilo\nce_ac_style_locations_txt=Localiza\\u00e7\\u00f5es de ESTILO\nce_ac_style_option_txt=OP\\u00c7\\u00c3O DE ESTILO\nce_ac_global_statement_txt=INSTRU\\u00c7\\u00c3O GLOBAL\nce_ac_global_statements_txt=Instru\\u00e7\\u00f5es Globais\nce_ac_option_values_txt=Valores de Op\\u00e7\\u00e3o\nce_ac_statement_options_txt=Op\\u00e7\\u00f5es de Instru\\u00e7\\u00e3o\nce_ac_procedures_txt=Procedimentos\nce_ac_procedure_options_txt=Op\\u00e7\\u00f5es de Procedimento\nce_ac_procedure_statements_txt=Instru\\u00e7\\u00f5es de Procedimento\nce_ac_procedure_definition_txt=DEFINI\\u00c7\\u00c3O DE PROCEDIMENTO\nce_ac_data_step_statements_txt=Instru\\u00e7\\u00f5es de DATA Step\nce_ac_data_step_txt=PASSO DE DADOS\nce_ac_data_step_option_value_txt=VALOR DE OP\\u00c7\\u00c3O DE PASSO DE DADOS\nce_ac_definition_options_txt=Op\\u00e7\\u00f5es de Defini\\u00e7\\u00e3o\nce_ac_options_txt=Op\\u00e7\\u00f5es\nce_ac_data_set_option_txt=Op\\u00e7\\u00e3o de Conjunto de Dados\nce_ac_data_set_options_txt=Op\\u00e7\\u00f5es de Conjunto de Dados\nce_ac_data_set_option_value_txt=Valor de Op\\u00e7\\u00e3o de Conjunto de Dados\nce_ac_data_set_option_values_txt=Valores de Op\\u00e7\\u00e3o de Conjunto de Dados\nce_ac_data_step_definition_options_txt=Op\\u00e7\\u00f5es de Defini\\u00e7\\u00e3o de Passo de Dados\nce_ac_password_options_txt=Op\\u00e7\\u00f5es de Palavra-passe\nce_ac_password_option_values_txt=Valores de Op\\u00e7\\u00e3o de Palavra-passe\nce_ac_macro_definition_txt=DEFINI\\u00c7\\u00c3O DE MACRO\nce_ac_macro_definition_option_txt=Op\\u00e7\\u00e3o de Defini\\u00e7\\u00e3o de Macro\nce_ac_macro_definition_options_txt=Op\\u00e7\\u00f5es de Defini\\u00e7\\u00e3o de Macro\nce_ac_macro_statement_txt=Instru\\u00e7\\u00e3o de Macro\nce_ac_macro_statement_option_txt=OP\\u00c7\\u00c3O DE INSTRU\\u00c7\\u00c3O DE MACRO\nce_ac_macro_statements_txt=Instru\\u00e7\\u00f5es de Macro\nce_ac_call_routine_txt=Rotina CALL\nce_ac_call_routines_txt=Rotinas CALL\nce_ac_tagset_names_txt=Nomes Tagset\nce_ac_ods_txt=ODS\nce_ac_ods_statements_txt=Instru\\u00e7\\u00f5es ODS\nce_ac_ods_markup_txt=MARKUP ODS\nce_ac_macro_variables_txt=Vari\\u00e1veis de Macro\nce_ac_snippet_abbr_txt=Abreviaturas de Snippet\n"
  },
  {
    "path": "server/messagebundle_pt_BR.properties",
    "content": "ce_ac_keyword_txt=Palavra-chave:\nce_ac_alias_txt=Alias:\nce_ac_context_txt=Contexto:\nce_ac_search_txt=Pesquisar:\nce_ac_product_documentation_txt=Documenta\\u00e7\\u00e3o do produto\nce_ac_samples_and_sas_notes_txt=Amostras e notas SAS\nce_ac_papers_txt=Pap\\u00e9is\nce_ac_statement.fmt={0} instru\\u00e7\\u00e3o\nce_ac_option.fmt={0} op\\u00e7\\u00e3o\nce_ac_proc.fmt=PROC {0}\nce_ac_macro_def_name_txt=Nome da defini\\u00e7\\u00e3o da macro\nce_ac_user_macro_var_txt=Vari\\u00e1vel macro definida pelo usu\\u00e1rio\nce_ac_colors_txt=Cores\nce_ac_formats_txt=Formatos\nce_ac_informats_txt=Formatos de leitura\nce_ac_macro_functions_txt=Fun\\u00e7\\u00f5es da macro\nce_ac_sas_functions_txt=Fun\\u00e7\\u00f5es SAS\nce_ac_statistics_keywords_txt=Palavras-chave de estat\\u00edstica\nce_ac_style_elements_txt=Elementos de estilo\nce_ac_style_attributes_txt=Atributos de estilo\nce_ac_style_locations_txt=Localiza\\u00e7\\u00f5es de ESTILO\nce_ac_style_option_txt=OP\\u00c7\\u00c3O DE ESTILO\nce_ac_global_statement_txt=INSTRU\\u00c7\\u00c3O GLOBAL\nce_ac_global_statements_txt=Instru\\u00e7\\u00f5es globais\nce_ac_option_values_txt=Valores de op\\u00e7\\u00f5es\nce_ac_statement_options_txt=Op\\u00e7\\u00f5es de instru\\u00e7\\u00f5es\nce_ac_procedures_txt=Procedimentos\nce_ac_procedure_options_txt=Op\\u00e7\\u00f5es de procedimentos\nce_ac_procedure_statements_txt=Instru\\u00e7\\u00f5es de procedimentos\nce_ac_procedure_definition_txt=DEFINI\\u00c7\\u00c3O DE PROCEDIMENTO\nce_ac_data_step_statements_txt=Instru\\u00e7\\u00f5es do passo de DADOS\nce_ac_data_step_txt=PASSO DE DADOS\nce_ac_data_step_option_value_txt=VALOR DA OP\\u00c7\\u00c3O DO PASSO DE DADOS\nce_ac_definition_options_txt=Op\\u00e7\\u00f5es de defini\\u00e7\\u00e3o\nce_ac_options_txt=Op\\u00e7\\u00f5es\nce_ac_data_set_option_txt=Op\\u00e7\\u00e3o de conjunto de dados\nce_ac_data_set_options_txt=Op\\u00e7\\u00f5es de conjunto de dados\nce_ac_data_set_option_value_txt=Valor da op\\u00e7\\u00e3o de conjunto de dados\nce_ac_data_set_option_values_txt=Valores da op\\u00e7\\u00e3o de conjunto de dados\nce_ac_data_step_definition_options_txt=Op\\u00e7\\u00f5es de defini\\u00e7\\u00e3o do passo de dados\nce_ac_password_options_txt=Op\\u00e7\\u00f5es de senha\nce_ac_password_option_values_txt=Valores de op\\u00e7\\u00f5es de senha\nce_ac_macro_definition_txt=DEFINI\\u00c7\\u00c3O DA MACRO\nce_ac_macro_definition_option_txt=Op\\u00e7\\u00e3o de defini\\u00e7\\u00e3o da macro\nce_ac_macro_definition_options_txt=Op\\u00e7\\u00f5es de defini\\u00e7\\u00e3o da macro\nce_ac_macro_statement_txt=Instru\\u00e7\\u00e3o de macro\nce_ac_macro_statement_option_txt=OP\\u00c7\\u00c3O DE INSTRU\\u00c7\\u00c3O MACRO\nce_ac_macro_statements_txt=Instru\\u00e7\\u00f5es macro\nce_ac_call_routine_txt=Rotina CALL\nce_ac_call_routines_txt=Rotinas CALL\nce_ac_tagset_names_txt=Nomes de conjuntos de marcas\nce_ac_ods_txt=ODS\nce_ac_ods_statements_txt=Instru\\u00e7\\u00f5es ODS\nce_ac_ods_markup_txt=MARCA\\u00c7\\u00c3O ODS\nce_ac_macro_variables_txt=Vari\\u00e1veis de macro\nce_ac_snippet_abbr_txt=Abreviaturas de snippet\n"
  },
  {
    "path": "server/messagebundle_ru.properties",
    "content": "ce_ac_keyword_txt=\\u041a\\u043b\\u044e\\u0447\\u0435\\u0432\\u043e\\u0435 \\u0441\\u043b\\u043e\\u0432\\u043e:\nce_ac_alias_txt=\\u041f\\u0441\\u0435\\u0432\\u0434\\u043e\\u043d\\u0438\\u043c:\nce_ac_context_txt=\\u041a\\u043e\\u043d\\u0442\\u0435\\u043a\\u0441\\u0442:\nce_ac_search_txt=\\u041f\\u043e\\u0438\\u0441\\u043a:\nce_ac_product_documentation_txt=\\u0414\\u043e\\u043a\\u0443\\u043c\\u0435\\u043d\\u0442\\u0430\\u0446\\u0438\\u044f \\u043f\\u043e \\u043f\\u0440\\u043e\\u0434\\u0443\\u043a\\u0442\\u0443\nce_ac_samples_and_sas_notes_txt=\\u041e\\u0431\\u0440\\u0430\\u0437\\u0446\\u044b \\u0438 SAS Notes\nce_ac_papers_txt=\\u0421\\u0442\\u0430\\u0442\\u044c\\u0438\nce_ac_statement.fmt=\\u041a\\u043e\\u043c\\u0430\\u043d\\u0434\\u0430 {0}\nce_ac_option.fmt=\\u041f\\u0430\\u0440\\u0430\\u043c\\u0435\\u0442\\u0440 {0}\nce_ac_proc.fmt=PROC {0}\nce_ac_macro_def_name_txt=\\u0418\\u043c\\u044f \\u043c\\u0430\\u043a\\u0440\\u043e\\u043e\\u043f\\u0440\\u0435\\u0434\\u0435\\u043b\\u0435\\u043d\\u0438\\u044f\nce_ac_user_macro_var_txt=\\u041f\\u043e\\u043b\\u044c\\u0437\\u043e\\u0432\\u0430\\u0442\\u0435\\u043b\\u044c\\u0441\\u043a\\u0430\\u044f \\u043c\\u0430\\u043a\\u0440\\u043e\\u043f\\u0435\\u0440\\u0435\\u043c\\u0435\\u043d\\u043d\\u0430\\u044f\nce_ac_colors_txt=\\u0426\\u0432\\u0435\\u0442\\u0430\nce_ac_formats_txt=\\u0424\\u043e\\u0440\\u043c\\u0430\\u0442\\u044b\nce_ac_informats_txt=\\u0418\\u043d\\u0444\\u043e\\u0440\\u043c\\u0430\\u0442\\u044b\nce_ac_macro_functions_txt=\\u041c\\u0430\\u043a\\u0440\\u043e-\\u0444\\u0443\\u043d\\u043a\\u0446\\u0438\\u0438\nce_ac_sas_functions_txt=\\u0424\\u0443\\u043d\\u043a\\u0446\\u0438\\u0438 SAS\nce_ac_statistics_keywords_txt=\\u041a\\u043b\\u0430\\u0432\\u0438\\u0448\\u0438 \\u0431\\u044b\\u0441\\u0442\\u0440\\u043e\\u0433\\u043e \\u0434\\u043e\\u0441\\u0442\\u0443\\u043f\\u0430 \\u0434\\u043b\\u044f \\u0441\\u0442\\u0430\\u0442\\u0438\\u0441\\u0442\\u0438\\u043a\\u0438\nce_ac_style_elements_txt=\\u042d\\u043b\\u0435\\u043c\\u0435\\u043d\\u0442\\u044b \\u0441\\u0442\\u0438\\u043b\\u044f\nce_ac_style_attributes_txt=\\u0410\\u0442\\u0440\\u0438\\u0431\\u0443\\u0442\\u044b \\u0441\\u0442\\u0438\\u043b\\u044f\nce_ac_style_locations_txt=\\u0420\\u0430\\u0441\\u043f\\u043e\\u043b\\u043e\\u0436\\u0435\\u043d\\u0438\\u044f STYLE\nce_ac_style_option_txt=\\u041f\\u0410\\u0420\\u0410\\u041c\\u0415\\u0422\\u0420\\u042b \\u0421\\u0422\\u0418\\u041b\\u042f\nce_ac_global_statement_txt=\\u0413\\u041b\\u041e\\u0411\\u0410\\u041b\\u042c\\u041d\\u042b\\u0419 \\u041e\\u041f\\u0415\\u0420\\u0410\\u0422\\u041e\\u0420\nce_ac_global_statements_txt=\\u0413\\u043b\\u043e\\u0431\\u0430\\u043b\\u044c\\u043d\\u044b\\u0435 \\u043a\\u043e\\u043c\\u0430\\u043d\\u0434\\u044b\nce_ac_option_values_txt=\\u0417\\u043d\\u0430\\u0447\\u0435\\u043d\\u0438\\u044f \\u043f\\u0430\\u0440\\u0430\\u043c\\u0435\\u0442\\u0440\\u0430\nce_ac_statement_options_txt=\\u041f\\u0430\\u0440\\u0430\\u043c\\u0435\\u0442\\u0440\\u044b \\u043a\\u043e\\u043c\\u0430\\u043d\\u0434\nce_ac_procedures_txt=\\u041f\\u0440\\u043e\\u0446\\u0435\\u0434\\u0443\\u0440\\u044b\nce_ac_procedure_options_txt=\\u041f\\u0430\\u0440\\u0430\\u043c\\u0435\\u0442\\u0440\\u044b \\u043f\\u0440\\u043e\\u0446\\u0435\\u0434\\u0443\\u0440\\u044b\nce_ac_procedure_statements_txt=\\u041a\\u043e\\u043c\\u0430\\u043d\\u0434\\u044b \\u043f\\u0440\\u043e\\u0446\\u0435\\u0434\\u0443\\u0440\\u044b\nce_ac_procedure_definition_txt=\\u041e\\u041f\\u0420\\u0415\\u0414\\u0415\\u041b\\u0415\\u041d\\u0418\\u0415 \\u041f\\u0420\\u041e\\u0426\\u0415\\u0414\\u0423\\u0420\\u042b\nce_ac_data_step_statements_txt=\\u041a\\u043e\\u043c\\u0430\\u043d\\u0434\\u044b DATA Step\nce_ac_data_step_txt=DATA STEP\nce_ac_data_step_option_value_txt=\\u0417\\u041d\\u0410\\u0427\\u0415\\u041d\\u0418\\u0415 \\u041f\\u0410\\u0420\\u0410\\u041c\\u0415\\u0422\\u0420\\u0410 DATA STEP\nce_ac_definition_options_txt=\\u041f\\u0430\\u0440\\u0430\\u043c\\u0435\\u0442\\u0440\\u044b \\u043e\\u043f\\u0440\\u0435\\u0434\\u0435\\u043b\\u0435\\u043d\\u0438\\u044f\nce_ac_options_txt=\\u041f\\u0430\\u0440\\u0430\\u043c\\u0435\\u0442\\u0440\\u044b\nce_ac_data_set_option_txt=\\u041f\\u0430\\u0440\\u0430\\u043c\\u0435\\u0442\\u0440 \\u043d\\u0430\\u0431\\u043e\\u0440\\u0430 \\u0434\\u0430\\u043d\\u043d\\u044b\\u0445\nce_ac_data_set_options_txt=\\u041f\\u0430\\u0440\\u0430\\u043c\\u0435\\u0442\\u0440\\u044b \\u043d\\u0430\\u0431\\u043e\\u0440\\u0430 \\u0434\\u0430\\u043d\\u043d\\u044b\\u0445\nce_ac_data_set_option_value_txt=\\u0417\\u043d\\u0430\\u0447\\u0435\\u043d\\u0438\\u0435 \\u043f\\u0430\\u0440\\u0430\\u043c\\u0435\\u0442\\u0440\\u0430 \\u043d\\u0430\\u0431\\u043e\\u0440\\u0430 \\u0434\\u0430\\u043d\\u043d\\u044b\\u0445\nce_ac_data_set_option_values_txt=\\u0417\\u043d\\u0430\\u0447\\u0435\\u043d\\u0438\\u044f \\u043f\\u0430\\u0440\\u0430\\u043c\\u0435\\u0442\\u0440\\u043e\\u0432 \\u043d\\u0430\\u0431\\u043e\\u0440\\u0430 \\u0434\\u0430\\u043d\\u043d\\u044b\\u0445\nce_ac_data_step_definition_options_txt=\\u041f\\u0430\\u0440\\u0430\\u043c\\u0435\\u0442\\u0440\\u044b \\u043e\\u043f\\u0440\\u0435\\u0434\\u0435\\u043b\\u0435\\u043d\\u0438\\u044f \\u043d\\u0430\\u0431\\u043e\\u0440\\u0430 \\u0434\\u0430\\u043d\\u043d\\u044b\\u0445\nce_ac_password_options_txt=\\u041f\\u0430\\u0440\\u0430\\u043c\\u0435\\u0442\\u0440\\u044b \\u043f\\u0430\\u0440\\u043e\\u043b\\u044f\nce_ac_password_option_values_txt=\\u0417\\u043d\\u0430\\u0447\\u0435\\u043d\\u0438\\u044f \\u043f\\u0430\\u0440\\u0430\\u043c\\u0435\\u0442\\u0440\\u043e\\u0432 \\u043f\\u0430\\u0440\\u043e\\u043b\\u044f\nce_ac_macro_definition_txt=\\u041c\\u0410\\u041a\\u0420\\u041e-\\u041e\\u041f\\u0420\\u0415\\u0414\\u0415\\u041b\\u0415\\u041d\\u0418\\u0415\nce_ac_macro_definition_option_txt=\\u041f\\u0430\\u0440\\u0430\\u043c\\u0435\\u0442\\u0440 \\u043c\\u0430\\u043a\\u0440\\u043e-\\u043e\\u043f\\u0440\\u0435\\u0434\\u0435\\u043b\\u0435\\u043d\\u0438\\u044f\nce_ac_macro_definition_options_txt=\\u041f\\u0430\\u0440\\u0430\\u043c\\u0435\\u0442\\u0440\\u044b \\u043c\\u0430\\u043a\\u0440\\u043e-\\u043e\\u043f\\u0440\\u0435\\u0434\\u0435\\u043b\\u0435\\u043d\\u0438\\u044f\nce_ac_macro_statement_txt=\\u041c\\u0430\\u043a\\u0440\\u043e\\u043a\\u043e\\u043c\\u0430\\u043d\\u0434\\u0430\nce_ac_macro_statement_option_txt=\\u041f\\u0410\\u0420\\u0410\\u041c\\u0415\\u0422\\u0420 \\u041c\\u0410\\u041a\\u0420\\u041e\\u041a\\u041e\\u041c\\u0410\\u041d\\u0414\\u042b\nce_ac_macro_statements_txt=\\u041c\\u0430\\u043a\\u0440\\u043e-\\u043a\\u043e\\u043c\\u0430\\u043d\\u0434\\u044b\nce_ac_call_routine_txt=\\u041f\\u0440\\u043e\\u0446\\u0435\\u0434\\u0443\\u0440\\u0430 CALL\nce_ac_call_routines_txt=\\u041f\\u0440\\u043e\\u0446\\u0435\\u0434\\u0443\\u0440\\u044b CALL\nce_ac_tagset_names_txt=\\u0418\\u043c\\u0435\\u043d\\u0430 \\u043d\\u0430\\u0431\\u043e\\u0440\\u0430 \\u0442\\u0435\\u0433\\u043e\\u0432\nce_ac_ods_txt=ODS\nce_ac_ods_statements_txt=\\u041a\\u043e\\u043c\\u0430\\u043d\\u0434\\u044b ODS\nce_ac_ods_markup_txt=\\u0420\\u0410\\u0417\\u041c\\u0415\\u0422\\u041a\\u0410 ODS\nce_ac_macro_variables_txt=\\u041c\\u0430\\u043a\\u0440\\u043e-\\u043f\\u0435\\u0440\\u0435\\u043c\\u0435\\u043d\\u043d\\u044b\\u0435\nce_ac_snippet_abbr_txt=\\u0421\\u043e\\u043a\\u0440\\u0430\\u0449\\u0435\\u043d\\u0438\\u044f \\u0434\\u043b\\u044f \\u0444\\u0440\\u0430\\u0433\\u043c\\u0435\\u043d\\u0442\\u043e\\u0432 \\u043a\\u043e\\u0434\\u0430\n"
  },
  {
    "path": "server/messagebundle_sh.properties",
    "content": "ce_ac_keyword_txt=Klju\\u010dna re\\u010d:\nce_ac_alias_txt=Pseudonim:\nce_ac_context_txt=Kontekst:\nce_ac_search_txt=Pretraga:\nce_ac_product_documentation_txt=Dokumentacija proizvoda\nce_ac_samples_and_sas_notes_txt=Primeri i SAS bele\\u0161ke\nce_ac_papers_txt=Papiri\nce_ac_statement.fmt={0} izraz\nce_ac_option.fmt={0} opcija\nce_ac_proc.fmt=PROC {0}\nce_ac_macro_def_name_txt=Ime definicije makroa\nce_ac_user_macro_var_txt=Korisni\\u010dki definisana promenljiva makroa\nce_ac_colors_txt=Boje\nce_ac_formats_txt=Formati\nce_ac_informats_txt=Informati\nce_ac_macro_functions_txt=Makro funkcije\nce_ac_sas_functions_txt=SAS funkcije\nce_ac_statistics_keywords_txt=Statisti\\u010dke klju\\u010dne re\\u010di\nce_ac_style_elements_txt=Elementi stila\nce_ac_style_attributes_txt=Atributi stila\nce_ac_style_locations_txt=Lokacije STILA\nce_ac_style_option_txt=OPCIJA STILA\nce_ac_global_statement_txt=GLOBALNI IZRAZ\nce_ac_global_statements_txt=Globalni izrazi\nce_ac_option_values_txt=Vrednosti opcije\nce_ac_statement_options_txt=Opcije izraza\nce_ac_procedures_txt=Procedure\nce_ac_procedure_options_txt=Opcije procedure\nce_ac_procedure_statements_txt=Izrazi procedure\nce_ac_procedure_definition_txt=DEFINICIJA PROCEDURE\nce_ac_data_step_statements_txt=Izrazi koraka PODATAKA\nce_ac_data_step_txt=KORAK PODATAKA\nce_ac_data_step_option_value_txt=VREDNOST OPCIJE KORAKA PODATAKA\nce_ac_definition_options_txt=Opcije definicije\nce_ac_options_txt=Opcije\nce_ac_data_set_option_txt=Opcija skupa podataka\nce_ac_data_set_options_txt=Opcije skupa podataka\nce_ac_data_set_option_value_txt=Vrednost opcije skupa podataka\nce_ac_data_set_option_values_txt=Vrednosti opcije skupa podataka\nce_ac_data_step_definition_options_txt=Opcije definicije koraka podataka\nce_ac_password_options_txt=Opcije lozinke\nce_ac_password_option_values_txt=Vrednosti opcije lozinke\nce_ac_macro_definition_txt=DEFINICIJA MAKROA\nce_ac_macro_definition_option_txt=Opcija definicije makroa\nce_ac_macro_definition_options_txt=Opcije definicije makroa\nce_ac_macro_statement_txt=Izraz makroa\nce_ac_macro_statement_option_txt=OPCIJA IZRAZA MAKROA\nce_ac_macro_statements_txt=Izrazi makroa\nce_ac_call_routine_txt=CALL rutina\nce_ac_call_routines_txt=CALL rutine\nce_ac_tagset_names_txt=Imena skupova oznaka\nce_ac_ods_txt=ODS\nce_ac_ods_statements_txt=ODS izrazi\nce_ac_ods_markup_txt=ODS NAZNAKA\nce_ac_macro_variables_txt=Promenljive makroa\nce_ac_snippet_abbr_txt=Skra\\u0107enice za fragmente\n"
  },
  {
    "path": "server/messagebundle_sk.properties",
    "content": "ce_ac_keyword_txt=K\\u013e\\u00fa\\u010dov\\u00e9 slovo:\nce_ac_alias_txt=Alias:\nce_ac_context_txt=Kontext:\nce_ac_search_txt=H\\u013eada\\u0165:\nce_ac_product_documentation_txt=Dokument\\u00e1cia produktu\nce_ac_samples_and_sas_notes_txt=Uk\\u00e1\\u017eky a pozn\\u00e1mky SAS\nce_ac_papers_txt=Papiere\nce_ac_statement.fmt={0} Pr\\u00edkaz\nce_ac_option.fmt={0} mo\\u017enos\\u0165\nce_ac_proc.fmt=PROC {0}\nce_ac_macro_def_name_txt=N\\u00e1zov defin\\u00edcie makra\nce_ac_user_macro_var_txt=Pou\\u017e\\u00edvate\\u013esk\\u00e1 premenn\\u00e1 makra\nce_ac_colors_txt=Farby\nce_ac_formats_txt=Form\\u00e1ty\nce_ac_informats_txt=Vstupn\\u00e9 form\\u00e1ty\nce_ac_macro_functions_txt=Funkcie makier\nce_ac_sas_functions_txt=Funkcie SAS\nce_ac_statistics_keywords_txt=K\\u013e\\u00fa\\u010dov\\u00e9 slov\\u00e1 \\u0161tatistiky\nce_ac_style_elements_txt=Prvky \\u0161t\\u00fdlu\nce_ac_style_attributes_txt=Atrib\\u00faty \\u0161t\\u00fdlu\nce_ac_style_locations_txt=Miesta \\u0160T\\u00ddLU\nce_ac_style_option_txt=MO\\u017dNOS\\u0164 \\u0160T\\u00ddLU\nce_ac_global_statement_txt=GLOB\\u00c1LNY PR\\u00cdKAZ\nce_ac_global_statements_txt=Glob\\u00e1lne pr\\u00edkazy\nce_ac_option_values_txt=Hodnoty mo\\u017enost\\u00ed\nce_ac_statement_options_txt=Mo\\u017enosti pr\\u00edkazov\nce_ac_procedures_txt=Proced\\u00fary\nce_ac_procedure_options_txt=Mo\\u017enosti proced\\u00far\nce_ac_procedure_statements_txt=Pr\\u00edkazy proced\\u00far\nce_ac_procedure_definition_txt=DEFIN\\u00cdCIA PROCED\\u00daRY\nce_ac_data_step_statements_txt=Pr\\u00edkazy D\\u00c1TOV\\u00c9HO kroku\nce_ac_data_step_txt=D\\u00c1TOV\\u00dd KROK\nce_ac_data_step_option_value_txt=HODNOTA MO\\u017dNOSTI D\\u00c1TOV\\u00c9HO KROKU\nce_ac_definition_options_txt=Mo\\u017enosti defin\\u00edcie\nce_ac_options_txt=Mo\\u017enosti\nce_ac_data_set_option_txt=Mo\\u017enos\\u0165 mno\\u017einy d\\u00e1t\nce_ac_data_set_options_txt=Mo\\u017enosti mno\\u017einy d\\u00e1t\nce_ac_data_set_option_value_txt=Hodnota mo\\u017enosti mno\\u017einy d\\u00e1t\nce_ac_data_set_option_values_txt=Hodnoty mo\\u017enosti mno\\u017einy d\\u00e1t\nce_ac_data_step_definition_options_txt=Mo\\u017enosti defin\\u00edcie d\\u00e1tov\\u00e9ho kroku\nce_ac_password_options_txt=Mo\\u017enosti hesla\nce_ac_password_option_values_txt=Hodnoty mo\\u017enosti hesla\nce_ac_macro_definition_txt=DEFIN\\u00cdCIA MAKRA\nce_ac_macro_definition_option_txt=Mo\\u017enos\\u0165 defin\\u00edcie makra\nce_ac_macro_definition_options_txt=Mo\\u017enosti defin\\u00edcie makra\nce_ac_macro_statement_txt=Pr\\u00edkaz makra\nce_ac_macro_statement_option_txt=MO\\u017dNOS\\u0164 PR\\u00cdKAZU MAKRA\nce_ac_macro_statements_txt=Pr\\u00edkazy makra\nce_ac_call_routine_txt=Rutina VOLANIA\nce_ac_call_routines_txt=Rutiny VOLANIA\nce_ac_tagset_names_txt=N\\u00e1zvy mno\\u017e\\u00edn tagov\nce_ac_ods_txt=ODS\nce_ac_ods_statements_txt=Pr\\u00edkazy ODS\nce_ac_ods_markup_txt=ZNA\\u010cKA ODS\nce_ac_macro_variables_txt=Premenn\\u00e9 makier\nce_ac_snippet_abbr_txt=Skratka snippetu\n"
  },
  {
    "path": "server/messagebundle_sl.properties",
    "content": "ce_ac_keyword_txt=Klju\\u010dna beseda:\nce_ac_alias_txt=Vzdevek:\nce_ac_context_txt=Kontekst:\nce_ac_search_txt=I\\u0161\\u010di:\nce_ac_product_documentation_txt=Dokumentacija izdelka\nce_ac_samples_and_sas_notes_txt=Primeri in opombe SAS\nce_ac_papers_txt=Dokumenti\nce_ac_statement.fmt={0} izjava\nce_ac_option.fmt={0} mo\\u017enost\nce_ac_proc.fmt=PROC {0}\nce_ac_macro_def_name_txt=Ime definicije makra\nce_ac_user_macro_var_txt=Spremenljivka makra, ki jo dolo\\u010di uporabnik\nce_ac_colors_txt=Barve\nce_ac_formats_txt=Oblike\nce_ac_informats_txt=Vhodni formati\nce_ac_macro_functions_txt=Funkcije makra\nce_ac_sas_functions_txt=Funkcije SAS\nce_ac_statistics_keywords_txt=Statisti\\u010dne klju\\u010dne besede\nce_ac_style_elements_txt=Vrste elementov\nce_ac_style_attributes_txt=Atributi sloga\nce_ac_style_locations_txt=Lokacije SLOGA\nce_ac_style_option_txt=MO\\u017dNOST SLOGA\nce_ac_global_statement_txt=GLOBALNA IZJAVA\nce_ac_global_statements_txt=Globalne izjave\nce_ac_option_values_txt=Vrednosti mo\\u017enosti\nce_ac_statement_options_txt=Mo\\u017enosti izjave\nce_ac_procedures_txt=Procesi\nce_ac_procedure_options_txt=Mo\\u017enosti procesa\nce_ac_procedure_statements_txt=Izjave procesa\nce_ac_procedure_definition_txt=DEFINICIJA PROCESA\nce_ac_data_step_statements_txt=Izjave podatkovnega koraka DATA Step\nce_ac_data_step_txt=PODATKOVNI KORAK\nce_ac_data_step_option_value_txt=MO\\u017dNOST VREDNOSTI PODATKOVNEGA KORAKA\nce_ac_definition_options_txt=Mo\\u017enosti definicije\nce_ac_options_txt=Mo\\u017enosti\nce_ac_data_set_option_txt=Mo\\u017enost nabora podatkov\nce_ac_data_set_options_txt=Mo\\u017enosti nabora podatkov\nce_ac_data_set_option_value_txt=Vrednost mo\\u017enosti nabora podatkov\nce_ac_data_set_option_values_txt=Vrednosti mo\\u017enosti nabora podatkov\nce_ac_data_step_definition_options_txt=Mo\\u017enosti definicije podatkovnega koraka\nce_ac_password_options_txt=Mo\\u017enosti gesla\nce_ac_password_option_values_txt=Vrednosti mo\\u017enosti gesla\nce_ac_macro_definition_txt=DEFINICIJA MAKRA\nce_ac_macro_definition_option_txt=Mo\\u017enost definicije makra\nce_ac_macro_definition_options_txt=Mo\\u017enosti definicije makra\nce_ac_macro_statement_txt=Izjava makra\nce_ac_macro_statement_option_txt=MO\\u017dNOST IZJAVE MAKRA\nce_ac_macro_statements_txt=Izjave makra\nce_ac_call_routine_txt=Rutina CALL\nce_ac_call_routines_txt=Rutine CALL\nce_ac_tagset_names_txt=Imena naborov oznak\nce_ac_ods_txt=ODS\nce_ac_ods_statements_txt=Izjave ODS\nce_ac_ods_markup_txt=OZNAKA ODS\nce_ac_macro_variables_txt=Spremenljivke makra\nce_ac_snippet_abbr_txt=Okraj\\u0161ave izrezka\n"
  },
  {
    "path": "server/messagebundle_sr.properties",
    "content": "ce_ac_keyword_txt=Klju\\u010dna re\\u010d:\nce_ac_alias_txt=Pseudonim:\nce_ac_context_txt=Kontekst:\nce_ac_search_txt=Pretraga:\nce_ac_product_documentation_txt=Dokumentacija proizvoda\nce_ac_samples_and_sas_notes_txt=Primeri i SAS bele\\u0161ke\nce_ac_papers_txt=Papiri\nce_ac_statement.fmt={0} izraz\nce_ac_option.fmt={0} opcija\nce_ac_proc.fmt=PROC {0}\nce_ac_macro_def_name_txt=Ime definicije makroa\nce_ac_user_macro_var_txt=Korisni\\u010dki definisana promenljiva makroa\nce_ac_colors_txt=Boje\nce_ac_formats_txt=Formati\nce_ac_informats_txt=Informati\nce_ac_macro_functions_txt=Makro funkcije\nce_ac_sas_functions_txt=SAS funkcije\nce_ac_statistics_keywords_txt=Statisti\\u010dke klju\\u010dne re\\u010di\nce_ac_style_elements_txt=Elementi stila\nce_ac_style_attributes_txt=Atributi stila\nce_ac_style_locations_txt=Lokacije STILA\nce_ac_style_option_txt=OPCIJA STILA\nce_ac_global_statement_txt=GLOBALNI IZRAZ\nce_ac_global_statements_txt=Globalni izrazi\nce_ac_option_values_txt=Vrednosti opcije\nce_ac_statement_options_txt=Opcije izraza\nce_ac_procedures_txt=Procedure\nce_ac_procedure_options_txt=Opcije procedure\nce_ac_procedure_statements_txt=Izrazi procedure\nce_ac_procedure_definition_txt=DEFINICIJA PROCEDURE\nce_ac_data_step_statements_txt=Izrazi koraka PODATAKA\nce_ac_data_step_txt=KORAK PODATAKA\nce_ac_data_step_option_value_txt=VREDNOST OPCIJE KORAKA PODATAKA\nce_ac_definition_options_txt=Opcije definicije\nce_ac_options_txt=Opcije\nce_ac_data_set_option_txt=Opcija skupa podataka\nce_ac_data_set_options_txt=Opcije skupa podataka\nce_ac_data_set_option_value_txt=Vrednost opcije skupa podataka\nce_ac_data_set_option_values_txt=Vrednosti opcije skupa podataka\nce_ac_data_step_definition_options_txt=Opcije definicije koraka podataka\nce_ac_password_options_txt=Opcije lozinke\nce_ac_password_option_values_txt=Vrednosti opcije lozinke\nce_ac_macro_definition_txt=DEFINICIJA MAKROA\nce_ac_macro_definition_option_txt=Opcija definicije makroa\nce_ac_macro_definition_options_txt=Opcije definicije makroa\nce_ac_macro_statement_txt=Izraz makroa\nce_ac_macro_statement_option_txt=OPCIJA IZRAZA MAKROA\nce_ac_macro_statements_txt=Izrazi makroa\nce_ac_call_routine_txt=CALL rutina\nce_ac_call_routines_txt=CALL rutine\nce_ac_tagset_names_txt=Imena skupova oznaka\nce_ac_ods_txt=ODS\nce_ac_ods_statements_txt=ODS izrazi\nce_ac_ods_markup_txt=ODS NAZNAKA\nce_ac_macro_variables_txt=Promenljive makroa\nce_ac_snippet_abbr_txt=Skra\\u0107enice za fragmente\n"
  },
  {
    "path": "server/messagebundle_sv.properties",
    "content": "ce_ac_keyword_txt=Nyckelord:\nce_ac_alias_txt=Alias:\nce_ac_context_txt=Sammanhang:\nce_ac_search_txt=S\\u00f6k:\nce_ac_product_documentation_txt=Produktdokumentation\nce_ac_samples_and_sas_notes_txt=Exempel och SAS-anteckningar\nce_ac_papers_txt=Uppsatser/artiklar\nce_ac_statement.fmt={0} - kommando\nce_ac_option.fmt={0} - alternativ\nce_ac_proc.fmt=PROC {0}\nce_ac_macro_def_name_txt=Namn p\\u00e5 makrodefinition\nce_ac_user_macro_var_txt=Anv\\u00e4ndardefinierad makrovariabel\nce_ac_colors_txt=F\\u00e4rger\nce_ac_formats_txt=Format\nce_ac_informats_txt=Informat\nce_ac_macro_functions_txt=Makrofunktioner\nce_ac_sas_functions_txt=SAS-funktioner\nce_ac_statistics_keywords_txt=Nyckelord f\\u00f6r statistik\nce_ac_style_elements_txt=Stilelement\nce_ac_style_attributes_txt=Stilattribut\nce_ac_style_locations_txt=STIL-platser\nce_ac_style_option_txt=STILALTERNATIV\nce_ac_global_statement_txt=GLOBALT KOMMANDO\nce_ac_global_statements_txt=Globala kommandon\nce_ac_option_values_txt=Alternativv\\u00e4rden\nce_ac_statement_options_txt=Kommandoalternativ\nce_ac_procedures_txt=Procedurer\nce_ac_procedure_options_txt=Proceduralternativ\nce_ac_procedure_statements_txt=Procedurkommandon\nce_ac_procedure_definition_txt=PROCEDURDEFINITION\nce_ac_data_step_statements_txt=DATA Step-kommandon\nce_ac_data_step_txt=DATASTEG\nce_ac_data_step_option_value_txt=ALTERNATIVV\\u00c4RDE F\\u00d6R DATASTEG\nce_ac_definition_options_txt=Definitionsalternativ\nce_ac_options_txt=Alternativ\nce_ac_data_set_option_txt=Tabellalternativ\nce_ac_data_set_options_txt=Tabellalternativ\nce_ac_data_set_option_value_txt=Alternativv\\u00e4rde f\\u00f6r tabell\nce_ac_data_set_option_values_txt=Alternativv\\u00e4rden f\\u00f6r tabell\nce_ac_data_step_definition_options_txt=Definitionsalternativ f\\u00f6r datasteg\nce_ac_password_options_txt=Alternativ f\\u00f6r l\\u00f6senord\nce_ac_password_option_values_txt=Alternativv\\u00e4rden f\\u00f6r l\\u00f6senord\nce_ac_macro_definition_txt=MAKRODEFINITION\nce_ac_macro_definition_option_txt=Definitionsalternativ f\\u00f6r makro\nce_ac_macro_definition_options_txt=Definitionsalternativ f\\u00f6r makro\nce_ac_macro_statement_txt=Makrokommando\nce_ac_macro_statement_option_txt=KOMMANDOALTERNATIV F\\u00d6R MAKRO\nce_ac_macro_statements_txt=Makrokommandon\nce_ac_call_routine_txt=CALL-rutin\nce_ac_call_routines_txt=CALL-rutiner\nce_ac_tagset_names_txt=Taggupps\\u00e4ttningsnamn\nce_ac_ods_txt=ODS\nce_ac_ods_statements_txt=ODS-kommandon\nce_ac_ods_markup_txt=ODS-M\\u00c4RKNING\nce_ac_macro_variables_txt=Makrovariabler\nce_ac_snippet_abbr_txt=Fragmentf\\u00f6rkortningar\n"
  },
  {
    "path": "server/messagebundle_th.properties",
    "content": "ce_ac_keyword_txt=คำสำคัญ:\nce_ac_alias_txt=สมนาม:\nce_ac_context_txt=บริบท:\nce_ac_search_txt=ค้นหา:\nce_ac_product_documentation_txt=เอกสารผลิตภัณฑ์\nce_ac_samples_and_sas_notes_txt=ตัวอย่างและหมายเหตุ SAS\nce_ac_papers_txt=กระดาษเอกสาร\nce_ac_statement.fmt={0} ข้อความสั่ง\nce_ac_option.fmt={0} ตัวเลือก\nce_ac_proc.fmt=PROC {0}\nce_ac_macro_def_name_txt=ชื่อข้อกำหนดแมโคร\nce_ac_user_macro_var_txt=ตัวแปรแมโครที่ผู้ใช้กำหนดเอง\nce_ac_colors_txt=สี\nce_ac_formats_txt=รูปแบบ\nce_ac_informats_txt=ไม่มีรูปแบบ\nce_ac_macro_functions_txt=ฟังก์ชันแมโคร\nce_ac_sas_functions_txt=ฟังก์ชัน SAS\nce_ac_statistics_keywords_txt=คำสำคัญทางสถิติ\nce_ac_style_elements_txt=อิลิเมนต์ลักษณะ\nce_ac_style_attributes_txt=แอตทริบิวต์ลักษณะ\nce_ac_style_locations_txt=ตำแหน่งที่ตั้ง STYLE\nce_ac_style_option_txt=STYLE OPTION\nce_ac_global_statement_txt=GLOBAL STATEMENT\nce_ac_global_statements_txt=ข้อความสั่งส่วนกลาง\nce_ac_option_values_txt=ค่าตัวเลือก\nce_ac_statement_options_txt=ตัวเลือกข้อความสั่ง\nce_ac_procedures_txt=ขั้นตอนดำเนินการ\nce_ac_procedure_options_txt=ตัวเลือกขั้นตอนดำเนินการ\nce_ac_procedure_statements_txt=ข้อความสั่งขั้นตอนดำเนินการ\nce_ac_procedure_definition_txt=ข้อกำหนดกระบวนการ\nce_ac_data_step_statements_txt=ข้อความสั่งขั้นตอนข้อมูล\nce_ac_data_step_txt=ขั้นตอนข้อมูล\nce_ac_data_step_option_value_txt=ค่าตัวเลือกขั้นตอนข้อมูล\nce_ac_definition_options_txt=ตัวเลือกข้อกำหนด\nce_ac_options_txt=ตัวเลือก\nce_ac_data_set_option_txt=ตัวเลือกชุดข้อมูล\nce_ac_data_set_options_txt=ตัวเลือกชุดข้อมูล\nce_ac_data_set_option_value_txt=ค่าตัวเลือกชุดข้อมูล\nce_ac_data_set_option_values_txt=ค่าตัวเลือกชุดข้อมูล\nce_ac_data_step_definition_options_txt=ตัวเลือกข้อกำหนดขั้นตอนข้อมูล\nce_ac_password_options_txt=ตัวเลือกรหัสผ่าน\nce_ac_password_option_values_txt=ค่าตัวเลือกรหัสผ่าน\nce_ac_macro_definition_txt=ข้อกำหนดแมโคร\nce_ac_macro_definition_option_txt=ตัวเลือกข้อกำหนดแมโคร\nce_ac_macro_definition_options_txt=ตัวเลือกข้อกำหนดแมโคร\nce_ac_macro_statement_txt=ข้อความสั่งแมโคร\nce_ac_macro_statement_option_txt=ตัวเลือกข้อกำหนดแมโคร\nce_ac_macro_statements_txt=ข้อความสั่งแมโคร\nce_ac_call_routine_txt=รูทีน CALL\nce_ac_call_routines_txt=รูทีน CALL\nce_ac_tagset_names_txt=ชื่อชุดแท็ก\nce_ac_ods_txt=ODS\nce_ac_ods_statements_txt=ข้อความสั่ง ODS\nce_ac_ods_markup_txt=ODS MARKUP\nce_ac_macro_variables_txt=ตัวแปรแมโคร\nce_ac_snippet_abbr_txt=ตัวย่อส่วนย่อย\n"
  },
  {
    "path": "server/messagebundle_tr.properties",
    "content": "ce_ac_keyword_txt=Anahtar s\\u00f6zc\\u00fck\nce_ac_alias_txt=Di\\u011fer ad:\nce_ac_context_txt=Ba\\u011flam:\nce_ac_search_txt=Ara:\nce_ac_product_documentation_txt=\\u00dcr\\u00fcn Belgeleri\nce_ac_samples_and_sas_notes_txt=\\u00d6rnekler ve SAS Notlar\\u0131\nce_ac_papers_txt=Yaz\\u0131lar\nce_ac_statement.fmt={0} deyimi\nce_ac_option.fmt={0} se\\u00e7ene\\u011fi\nce_ac_proc.fmt=PROC {0}\nce_ac_macro_def_name_txt=Makro tan\\u0131m\\u0131 ad\\u0131\nce_ac_user_macro_var_txt=Kullan\\u0131c\\u0131 tan\\u0131ml\\u0131 makro de\\u011fi\\u015fkeni\nce_ac_colors_txt=Renkler\nce_ac_formats_txt=Bi\\u00e7imler\nce_ac_informats_txt=Informat\\u2019lar\nce_ac_macro_functions_txt=Makro \\u0130\\u015flevleri\nce_ac_sas_functions_txt=SAS \\u0130\\u015flevleri\nce_ac_statistics_keywords_txt=\\u0130statistik Anahtar S\\u00f6zc\\u00fckleri\nce_ac_style_elements_txt=Stil \\u00d6\\u011feleri\nce_ac_style_attributes_txt=Stil \\u00d6znitelikleri\nce_ac_style_locations_txt=ST\\u0130L Konumlar\\u0131\nce_ac_style_option_txt=ST\\u0130L SE\\u00c7ENE\\u011e\\u0130\nce_ac_global_statement_txt=GENEL DEY\\u0130M\nce_ac_global_statements_txt=Genel Deyimler\nce_ac_option_values_txt=Se\\u00e7enek De\\u011ferleri\nce_ac_statement_options_txt=Deyim Se\\u00e7enekleri\nce_ac_procedures_txt=Yordamlar\nce_ac_procedure_options_txt=Yordam Se\\u00e7enekleri\nce_ac_procedure_statements_txt=Yordam Deyimleri\nce_ac_procedure_definition_txt=YORDAM TANIMI\nce_ac_data_step_statements_txt=VER\\u0130 Ad\\u0131m\\u0131 Deyimleri\nce_ac_data_step_txt=VER\\u0130 ADIMI\nce_ac_data_step_option_value_txt=VER\\u0130 ADIMI SE\\u00c7ENEK DE\\u011eER\\u0130\nce_ac_definition_options_txt=Tan\\u0131m Se\\u00e7enekleri\nce_ac_options_txt=Se\\u00e7enekler\nce_ac_data_set_option_txt=Veri K\\u00fcmesi Se\\u00e7ene\\u011fi\nce_ac_data_set_options_txt=Veri K\\u00fcmesi Se\\u00e7enekleri\nce_ac_data_set_option_value_txt=Veri K\\u00fcmesi Se\\u00e7ene\\u011fi De\\u011feri\nce_ac_data_set_option_values_txt=Veri K\\u00fcmesi Se\\u00e7ene\\u011fi De\\u011ferleri\nce_ac_data_step_definition_options_txt=Veri Ad\\u0131m\\u0131 Tan\\u0131m\\u0131 Se\\u00e7enekleri\nce_ac_password_options_txt=Parola Se\\u00e7enekleri\nce_ac_password_option_values_txt=Parola Se\\u00e7ene\\u011fi De\\u011ferleri\nce_ac_macro_definition_txt=MAKRO TANIMI\nce_ac_macro_definition_option_txt=Makro Tan\\u0131m\\u0131 Se\\u00e7ene\\u011fi\nce_ac_macro_definition_options_txt=Makro Tan\\u0131m\\u0131 Se\\u00e7enekleri\nce_ac_macro_statement_txt=Makro Deyimi\nce_ac_macro_statement_option_txt=MAKRO DEY\\u0130M\\u0130 SE\\u00c7ENE\\u011e\\u0130\nce_ac_macro_statements_txt=Makro Deyimleri\nce_ac_call_routine_txt=ARAMA Rutini\nce_ac_call_routines_txt=ARAMA Rutinleri\nce_ac_tagset_names_txt=Etiket K\\u00fcmesi Adlar\\u0131\nce_ac_ods_txt=ODS\nce_ac_ods_statements_txt=ODS Deyimleri\nce_ac_ods_markup_txt=ODS \\u0130\\u015eARETLEME\nce_ac_macro_variables_txt=Makro De\\u011fi\\u015fkenleri\nce_ac_snippet_abbr_txt=Kod Par\\u00e7ac\\u0131\\u011f\\u0131 K\\u0131saltmalar\\u0131\n"
  },
  {
    "path": "server/messagebundle_uk.properties",
    "content": "ce_ac_keyword_txt=\\u041a\\u043b\\u044e\\u0447\\u043e\\u0432\\u0435 \\u0441\\u043b\\u043e\\u0432\\u043e\nce_ac_context_txt=\\u041a\\u043e\\u043d\\u0442\\u0435\\u043a\\u0441\\u0442\nce_ac_search_txt=\\u041f\\u043e\\u0448\\u0443\\u043a\nce_ac_product_documentation_txt=\\u0414\\u043e\\u043a\\u0443\\u043c\\u0435\\u043d\\u0442\\u0430\\u0446\\u0456\\u044f \\u0434\\u043b\\u044f \\u043f\\u0440\\u043e\\u0434\\u0443\\u043a\\u0442\\u0443\nce_ac_samples_and_sas_notes_txt=\\u0417\\u0440\\u0430\\u0437\\u043a\\u0438 \\u0442\\u0430 \\u043f\\u0440\\u0438\\u043c\\u0456\\u0442\\u043a\\u0438 SAS\nce_ac_papers_txt=\\u0414\\u043e\\u043a\\u0443\\u043c\\u0435\\u043d\\u0442\\u0438\nce_ac_statement.fmt={0} \\u2014 \\u0456\\u043d\\u0441\\u0442\\u0440\\u0443\\u043a\\u0446\\u0456\\u044f\nce_ac_option.fmt={0} \\u2014 \\u043f\\u0430\\u0440\\u0430\\u043c\\u0435\\u0442\\u0440\nce_ac_proc.fmt=PROC {0}\nce_ac_macro_def_name_txt=\\u041d\\u0430\\u0437\\u0432\\u0430 \\u0432\\u0438\\u0437\\u043d\\u0430\\u0447\\u0435\\u043d\\u043d\\u044f \\u043c\\u0430\\u043a\\u0440\\u043e\\u0441\\u0430\nce_ac_user_macro_var_txt=\\u0412\\u0438\\u0437\\u043d\\u0430\\u0447\\u0435\\u043d\\u0430 \\u043a\\u043e\\u0440\\u0438\\u0441\\u0442\\u0443\\u0432\\u0430\\u0447\\u0435\\u043c \\u0437\\u043c\\u0456\\u043d\\u043d\\u0430 \\u043c\\u0430\\u043a\\u0440\\u043e\\u0441\\u0430\nce_ac_colors_txt=\\u041a\\u043e\\u043b\\u044c\\u043e\\u0440\\u0438\nce_ac_formats_txt=\\u0424\\u043e\\u0440\\u043c\\u0430\\u0442\\u0438\nce_ac_informats_txt=\\u0406\\u043d\\u0444\\u043e\\u0440\\u043c\\u0430\\u0442\\u0438\nce_ac_macro_functions_txt=\\u0424\\u0443\\u043d\\u043a\\u0446\\u0456\\u0457 \\u043c\\u0430\\u043a\\u0440\\u043e\\u0441\\u0456\\u0432\nce_ac_sas_functions_txt=\\u0424\\u0443\\u043d\\u043a\\u0446\\u0456\\u0457 SAS\nce_ac_statistics_keywords_txt=\\u041a\\u043b\\u044e\\u0447\\u043e\\u0432\\u0456 \\u0441\\u043b\\u043e\\u0432\\u0430 \\u0434\\u043b\\u044f \\u0441\\u0442\\u0430\\u0442\\u0438\\u0441\\u0442\\u0438\\u043a\\u0438\nce_ac_style_elements_txt=\\u0415\\u043b\\u0435\\u043c\\u0435\\u043d\\u0442\\u0438 \\u0441\\u0442\\u0438\\u043b\\u044e\nce_ac_style_attributes_txt=\\u0410\\u0442\\u0440\\u0438\\u0431\\u0443\\u0442\\u0438 \\u0441\\u0442\\u0438\\u043b\\u044e\nce_ac_style_locations_txt=\\u0420\\u043e\\u0437\\u0442\\u0430\\u0448\\u0443\\u0432\\u0430\\u043d\\u043d\\u044f \\u0421\\u0422\\u0418\\u041b\\u042e\nce_ac_style_option_txt=\\u041f\\u0410\\u0420\\u0410\\u041c\\u0415\\u0422\\u0420 \\u0421\\u0422\\u0418\\u041b\\u042e\nce_ac_global_statement_txt=\\u0413\\u041b\\u041e\\u0411\\u0410\\u041b\\u042c\\u041d\\u0410 \\u0406\\u041d\\u0421\\u0422\\u0420\\u0423\\u041a\\u0426\\u0406\\u042f\nce_ac_global_statements_txt=\\u0413\\u043b\\u043e\\u0431\\u0430\\u043b\\u044c\\u043d\\u0456 \\u0456\\u043d\\u0441\\u0442\\u0440\\u0443\\u043a\\u0446\\u0456\\u0457\nce_ac_option_values_txt=\\u0417\\u043d\\u0430\\u0447\\u0435\\u043d\\u043d\\u044f \\u043f\\u0430\\u0440\\u0430\\u043c\\u0435\\u0442\\u0440\\u0430\nce_ac_statement_options_txt=\\u041f\\u0430\\u0440\\u0430\\u043c\\u0435\\u0442\\u0440\\u0438 \\u0456\\u043d\\u0441\\u0442\\u0440\\u0443\\u043a\\u0446\\u0456\\u0457\nce_ac_procedures_txt=\\u041f\\u0440\\u043e\\u0446\\u0435\\u0434\\u0443\\u0440\\u0438\nce_ac_procedure_options_txt=\\u041f\\u0430\\u0440\\u0430\\u043c\\u0435\\u0442\\u0440\\u0438 \\u043f\\u0440\\u043e\\u0446\\u0435\\u0434\\u0443\\u0440\\u0438\nce_ac_procedure_statements_txt=\\u0406\\u043d\\u0441\\u0442\\u0440\\u0443\\u043a\\u0446\\u0456\\u0457 \\u043f\\u0440\\u043e\\u0446\\u0435\\u0434\\u0443\\u0440\\u0438\nce_ac_procedure_definition_txt=\\u0412\\u0418\\u0417\\u041d\\u0410\\u0427\\u0415\\u041d\\u041d\\u042f \\u041f\\u0420\\u041e\\u0426\\u0415\\u0414\\u0423\\u0420\\u0418\nce_ac_data_step_statements_txt=\\u0406\\u043d\\u0441\\u0442\\u0440\\u0443\\u043a\\u0446\\u0456\\u0457 \\u0434\\u043b\\u044f \\u043a\\u0440\\u043e\\u043a\\u0443 DATA\nce_ac_data_step_txt=\\u041a\\u0420\\u041e\\u041a DATA\nce_ac_data_step_option_value_txt=\\u0417\\u041d\\u0410\\u0427\\u0415\\u041d\\u041d\\u042f \\u041f\\u0410\\u0420\\u0410\\u041c\\u0415\\u0422\\u0420\\u0410 \\u041a\\u0420\\u041e\\u041a\\u0423 DATA\nce_ac_definition_options_txt=\\u041f\\u0430\\u0440\\u0430\\u043c\\u0435\\u0442\\u0440\\u0438 \\u0432\\u0438\\u0437\\u043d\\u0430\\u0447\\u0435\\u043d\\u043d\\u044f\nce_ac_options_txt=\\u041f\\u0430\\u0440\\u0430\\u043c\\u0435\\u0442\\u0440\\u0438\nce_ac_data_set_option_txt=\\u041f\\u0430\\u0440\\u0430\\u043c\\u0435\\u0442\\u0440 \\u043d\\u0430\\u0431\\u043e\\u0440\\u0443 \\u0434\\u0430\\u043d\\u0438\\u0445\nce_ac_data_set_options_txt=\\u041f\\u0430\\u0440\\u0430\\u043c\\u0435\\u0442\\u0440\\u0438 \\u043d\\u0430\\u0431\\u043e\\u0440\\u0443 \\u0434\\u0430\\u043d\\u0438\\u0445\nce_ac_data_set_option_value_txt=\\u0417\\u043d\\u0430\\u0447\\u0435\\u043d\\u043d\\u044f \\u043f\\u0430\\u0440\\u0430\\u043c\\u0435\\u0442\\u0440\\u0430 \\u043d\\u0430\\u0431\\u043e\\u0440\\u0443 \\u0434\\u0430\\u043d\\u0438\\u0445\nce_ac_data_set_option_values_txt=\\u0417\\u043d\\u0430\\u0447\\u0435\\u043d\\u043d\\u044f \\u043f\\u0430\\u0440\\u0430\\u043c\\u0435\\u0442\\u0440\\u0430 \\u043d\\u0430\\u0431\\u043e\\u0440\\u0443 \\u0434\\u0430\\u043d\\u0438\\u0445\nce_ac_data_step_definition_options_txt=\\u041f\\u0430\\u0440\\u0430\\u043c\\u0435\\u0442\\u0440\\u0438 \\u0432\\u0438\\u0437\\u043d\\u0430\\u0447\\u0435\\u043d\\u043d\\u044f \\u043a\\u0440\\u043e\\u043a\\u0443 Data\nce_ac_password_options_txt=\\u041f\\u0430\\u0440\\u0430\\u043c\\u0435\\u0442\\u0440\\u0438 \\u043f\\u0430\\u0440\\u043e\\u043b\\u044f\nce_ac_password_option_values_txt=\\u0417\\u043d\\u0430\\u0447\\u0435\\u043d\\u043d\\u044f \\u043f\\u0430\\u0440\\u0430\\u043c\\u0435\\u0442\\u0440\\u0456\\u0432 \\u043f\\u0430\\u0440\\u043e\\u043b\\u044f\nce_ac_macro_definition_txt=\\u0412\\u0418\\u0417\\u041d\\u0410\\u0427\\u0415\\u041d\\u041d\\u042f \\u041c\\u0410\\u041a\\u0420\\u041e\\u0421\\u0410\nce_ac_macro_definition_option_txt=\\u041f\\u0430\\u0440\\u0430\\u043c\\u0435\\u0442\\u0440 \\u0432\\u0438\\u0437\\u043d\\u0430\\u0447\\u0435\\u043d\\u043d\\u044f \\u043c\\u0430\\u043a\\u0440\\u043e\\u0441\\u0430\nce_ac_macro_definition_options_txt=\\u041f\\u0430\\u0440\\u0430\\u043c\\u0435\\u0442\\u0440\\u0438 \\u0432\\u0438\\u0437\\u043d\\u0430\\u0447\\u0435\\u043d\\u043d\\u044f \\u043c\\u0430\\u043a\\u0440\\u043e\\u0441\\u0430\nce_ac_macro_statement_txt=\\u0406\\u043d\\u0441\\u0442\\u0440\\u0443\\u043a\\u0446\\u0456\\u044f \\u043c\\u0430\\u043a\\u0440\\u043e\\u0441\\u0430\nce_ac_macro_statement_option_txt=\\u041f\\u0410\\u0420\\u0410\\u041c\\u0415\\u0422\\u0420 \\u0406\\u041d\\u0421\\u0422\\u0420\\u0423\\u041a\\u0426\\u0406\\u0407 \\u041c\\u0410\\u041a\\u0420\\u041e\\u0421\\u0410\nce_ac_macro_statements_txt=\\u0406\\u043d\\u0441\\u0442\\u0440\\u0443\\u043a\\u0446\\u0456\\u0457 \\u043c\\u0430\\u043a\\u0440\\u043e\\u0441\\u0430\nce_ac_call_routine_txt=\\u041f\\u0440\\u043e\\u0446\\u0435\\u0434\\u0443\\u0440\\u0430 \\u0412\\u0418\\u041a\\u041b\\u0418\\u041a\\u0423\nce_ac_call_routines_txt=\\u041f\\u0440\\u043e\\u0446\\u0435\\u0434\\u0443\\u0440\\u0438 \\u0412\\u0418\\u041a\\u041b\\u0418\\u041a\\u0423\nce_ac_tagset_names_txt=\\u041d\\u0430\\u0437\\u0432\\u0438 \\u043d\\u0430\\u0431\\u043e\\u0440\\u0456\\u0432 \\u0442\\u0435\\u0433\\u0456\\u0432\nce_ac_ods_txt=ODS\nce_ac_ods_statements_txt=\\u0406\\u043d\\u0441\\u0442\\u0440\\u0443\\u043a\\u0446\\u0456\\u0457 ODS\nce_ac_ods_markup_txt=\\u0420\\u041e\\u0417\\u041c\\u0406\\u0422\\u041a\\u0410 ODS\nce_ac_macro_variables_txt=\\u0417\\u043c\\u0456\\u043d\\u043d\\u0456 \\u043c\\u0430\\u043a\\u0440\\u043e\\u0441\\u0430\n"
  },
  {
    "path": "server/messagebundle_zh_CN.properties",
    "content": "ce_ac_keyword_txt=关键字:\nce_ac_alias_txt=别名:\nce_ac_context_txt=上下文:\nce_ac_search_txt=搜索:\nce_ac_product_documentation_txt=产品文档\nce_ac_samples_and_sas_notes_txt=示例和 SAS 注释\nce_ac_papers_txt=文章\nce_ac_statement.fmt={0} 语句\nce_ac_option.fmt={0} 选项\nce_ac_proc.fmt=PROC {0}\nce_ac_macro_def_name_txt=宏定义名称\nce_ac_user_macro_var_txt=用户定义的宏变量\nce_ac_colors_txt=颜色\nce_ac_formats_txt=输出格式\nce_ac_informats_txt=输入格式\nce_ac_macro_functions_txt=宏函数\nce_ac_sas_functions_txt=SAS 函数\nce_ac_statistics_keywords_txt=统计量关键字\nce_ac_style_elements_txt=样式元素\nce_ac_style_attributes_txt=样式特性\nce_ac_style_locations_txt=样式位置\nce_ac_style_option_txt=样式选项\nce_ac_global_statement_txt=全局语句\nce_ac_global_statements_txt=全局语句\nce_ac_option_values_txt=选项值\nce_ac_statement_options_txt=语句选项\nce_ac_procedures_txt=过程\nce_ac_procedure_options_txt=过程选项\nce_ac_procedure_statements_txt=过程语句\nce_ac_procedure_definition_txt=过程定义\nce_ac_data_step_statements_txt=DATA 步语句\nce_ac_data_step_txt=DATA 步\nce_ac_data_step_option_value_txt=DATA 步选项值\nce_ac_definition_options_txt=定义选项\nce_ac_options_txt=选项\nce_ac_data_set_option_txt=数据集选项\nce_ac_data_set_options_txt=数据集选项\nce_ac_data_set_option_value_txt=数据集选项值\nce_ac_data_set_option_values_txt=数据集选项值\nce_ac_data_step_definition_options_txt=DATA 步定义选项\nce_ac_password_options_txt=密码选项\nce_ac_password_option_values_txt=密码选项值\nce_ac_macro_definition_txt=宏定义\nce_ac_macro_definition_option_txt=宏定义选项\nce_ac_macro_definition_options_txt=宏定义选项\nce_ac_macro_statement_txt=宏语句\nce_ac_macro_statement_option_txt=宏语句选项\nce_ac_macro_statements_txt=宏语句\nce_ac_call_routine_txt=CALL 例程\nce_ac_call_routines_txt=CALL 例程\nce_ac_tagset_names_txt=标记集名称\nce_ac_ods_txt=ODS\nce_ac_ods_statements_txt=ODS 语句\nce_ac_ods_markup_txt=ODS 标记\nce_ac_macro_variables_txt=宏变量\nce_ac_snippet_abbr_txt=代码段缩写\nce_ac_sas_function_doc_txt=文档：\n"
  },
  {
    "path": "server/messagebundle_zh_TW.properties",
    "content": "ce_ac_keyword_txt=關鍵字:\nce_ac_alias_txt=別名:\nce_ac_context_txt=內容:\nce_ac_search_txt=搜尋:\nce_ac_product_documentation_txt=產品文件\nce_ac_samples_and_sas_notes_txt=範例和 SAS 附註\nce_ac_papers_txt=論文\nce_ac_statement.fmt={0} 陳述式\nce_ac_option.fmt={0} 選項\nce_ac_proc.fmt=PROC {0}\nce_ac_macro_def_name_txt=巨集定義名稱\nce_ac_user_macro_var_txt=使用者定義巨集變數\nce_ac_colors_txt=顏色\nce_ac_formats_txt=輸出格式\nce_ac_informats_txt=輸入格式\nce_ac_macro_functions_txt=巨集函數\nce_ac_sas_functions_txt=SAS 函數\nce_ac_statistics_keywords_txt=統計關鍵字\nce_ac_style_elements_txt=樣式元素\nce_ac_style_attributes_txt=樣式特性\nce_ac_style_locations_txt=樣式位置\nce_ac_style_option_txt=樣式選項\nce_ac_global_statement_txt=全域陳述式\nce_ac_global_statements_txt=全域陳述式\nce_ac_option_values_txt=選項值\nce_ac_statement_options_txt=陳述式選項\nce_ac_procedures_txt=程序\nce_ac_procedure_options_txt=程序選項\nce_ac_procedure_statements_txt=程序陳述式\nce_ac_procedure_definition_txt=程序定義\nce_ac_data_step_statements_txt=DATA Step 陳述式\nce_ac_data_step_txt=DATA Step\nce_ac_data_step_option_value_txt=DATA Step 選項值\nce_ac_definition_options_txt=定義選項\nce_ac_options_txt=選項\nce_ac_data_set_option_txt=資料集選項\nce_ac_data_set_options_txt=資料集選項\nce_ac_data_set_option_value_txt=資料集選項值\nce_ac_data_set_option_values_txt=資料集選項值\nce_ac_data_step_definition_options_txt=Data Step 定義選項\nce_ac_password_options_txt=密碼選項\nce_ac_password_option_values_txt=密碼選項值\nce_ac_macro_definition_txt=巨集定義\nce_ac_macro_definition_option_txt=巨集定義選項\nce_ac_macro_definition_options_txt=巨集定義選項\nce_ac_macro_statement_txt=巨集陳述式\nce_ac_macro_statement_option_txt=巨集陳述式選項\nce_ac_macro_statements_txt=巨集陳述式\nce_ac_call_routine_txt=CALL 常式\nce_ac_call_routines_txt=CALL 常式\nce_ac_tagset_names_txt=標記集名稱\nce_ac_ods_txt=ODS\nce_ac_ods_statements_txt=ODS 陳述式\nce_ac_ods_markup_txt=ODS 標記\nce_ac_macro_variables_txt=巨集變數\nce_ac_snippet_abbr_txt=片段縮寫\nce_ac_sas_function_doc_txt=文件：\n"
  },
  {
    "path": "server/package.json",
    "content": "{\n  \"name\": \"sas-lsp-server\",\n  \"description\": \"SAS language server\",\n  \"version\": \"0.0.1\",\n  \"author\": \"SAS Institute Inc.\",\n  \"license\": \"Apache-2.0\",\n  \"engines\": {\n    \"node\": \"*\"\n  },\n  \"dependencies\": {\n    \"pyright-internal-node\": \"^1.1.367\",\n    \"pyright-internal-browser\": \"^1.1.367\",\n    \"vscode-languageserver\": \"^10.0.0-next.2\",\n    \"vscode-languageserver-textdocument\": \"1.0.11\"\n  }\n}"
  },
  {
    "path": "server/pubsdata/Functions/en/base.json",
    "content": "[{\"name\":\"ABS\",\"description\":\"Returns the absolute value.\",\"syntax\":{\"help\":\"ABS (*argument*)\",\"arguments\":[{\"name\":\"argument\",\"description\":\"specifies a constant, variable, or expression.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p1shy0v9fx5303n11p04kh3zsvm3\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p0xkrj83an7dknn1sgukpmnphcje.htm\"}},{\"name\":\"ADDRLONG\",\"description\":\"Returns the memory address of a variable on a 64-bit platform.\",\"syntax\":{\"help\":\"ADDRLONG (*variable*)\",\"arguments\":[{\"name\":\"variable\",\"description\":\"specifies a variable.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p18y8lm12brfmjn1hp37sg04een2\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n17rdcklnhb7xjn1l4phv0v35d0g.htm\"}},{\"name\":\"AIRY\",\"description\":\"Returns the value of a differential equation.\",\"syntax\":{\"help\":\"AIRY (*x*)\",\"arguments\":[{\"name\":\"x\",\"description\":\"specifies a numeric constant, variable, or expression.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p0sbg7ypm0cusmn1jfnnwvi2fh7r\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p1vi8dwoda78awn1e9886cdsoh7p.htm\"}},{\"name\":\"ALLCOMB\",\"description\":\"Generates all combinations of the values of n variables taken k at a time in a minimal change order.\",\"syntax\":{\"help\":\"ALLCOMB (*count*, *k*, *variable-1, …,**variable-n*)\",\"arguments\":[{\"name\":\"count\",\"description\":\"specifies an integer variable that is assigned values from 1 to the number of combinations in a loop.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p1ouh8zavqnfafn1lytmzj459lul\"},{\"name\":\"k\",\"description\":\"specifies an integer constant, variable, or expression between 1 and n, inclusive, that specifies the number of items in each combination.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p0p6skgj4u7y05n1gtewlx1hbwdb\"},{\"name\":\"variable\",\"description\":\"specifies either all numeric variables or all character variables that have the same length. The values of these variables are permuted.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p036k2evyfhr0gn1jaaa0etxn5ia\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n0rag3bzl2l7dsn16xc6bwufqg5a.htm\"}},{\"name\":\"ALLPERM\",\"description\":\"Generates all permutations of the values of several variables in a minimal change order.\",\"syntax\":{\"help\":\"ALLPERM (*count*, *variable-1*&lt;,*variable-2* ..., *variable-n*&gt;)\",\"arguments\":[{\"name\":\"count\",\"description\":\"specifies a variable with an integer value that ranges from 1 to the number of permutations.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p1bxnh2c3xmz6en1wjfstfmahm56\"},{\"name\":\"variable\",\"description\":\"specifies either all numeric variables or all character variables that have the same length. The values of these variables are permuted.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n06z8zksot64g8n1vv63ixmbeqbo\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p04fvcqy1pwpixn1ddrm13wn9eql.htm\"}},{\"name\":\"ANORM420\",\"description\":\"Returns a normalized string from an input string encoded in EBCDIC420.\",\"syntax\":{\"help\":\"ANORM420  (*string*,&lt;*modifiers*&gt;)\",\"arguments\":[{\"name\":\"string\",\"description\":\"specifies an input string that is encoded in EBCDIC420.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p11ij0teoo2ew0n1uihfuqy2b50g\"},{\"name\":\"modifiers\",\"description\":\"are character constants, variables, or expressions that specify one or more modifiers. The following modifiers can be in uppercase or lowercase:\",\"placeholder\":true,\"optional\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p1f1wkp5uuhqz7n18erm4bee62dw\"}]},\"supportSiteInformation\":{\"docsetId\":\"nlsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p0bkti3gl1yb71n15uy7qvxxx46q.htm\"}},{\"name\":\"ANYALNUM\",\"description\":\"Searches a character string for an alphanumeric character, and returns the first position at which the character is found.\",\"syntax\":{\"help\":\"ANYALNUM (*string*&lt;,*start*&gt;)\",\"arguments\":[{\"name\":\"string\",\"description\":\"specifies a character constant, variable, or expression to search.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n0iahtce2owy8rn14h13obhymeg3\"},{\"name\":\"start\",\"description\":\"is an optional integer that specifies the position at which the search should start and the direction in which to search.\",\"placeholder\":true,\"optional\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p1sf7uw6prxm37n179msv3sbxxxt\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n18gvgof0htmpsn1rt2j7ogdq1jc.htm\"}},{\"name\":\"ANYALPHA\",\"description\":\"Searches a character string for an alphabetic character, and returns the first position at which the character is found.\",\"syntax\":{\"help\":\"ANYALPHA (*string*&lt;,*start*&gt;)\",\"arguments\":[{\"name\":\"string\",\"description\":\"is the character constant, variable, or expression to search.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n0mzdh7kjgsrzvn1emmxm66as2m1\"},{\"name\":\"start\",\"description\":\"is an optional integer that specifies the position at which the search should start and the direction in which to search.\",\"placeholder\":true,\"optional\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n1koxhj61pttnbn1o0izcdrj1lrp\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p0s3647o5kwnnin0zcht0s5p9f1l.htm\"}},{\"name\":\"ANYCNTRL\",\"description\":\"Searches a character string for a control character, and returns the first position at which that character is found.\",\"syntax\":{\"help\":\"ANYCNTRL (*string*&lt;,*start*&gt;)\",\"arguments\":[{\"name\":\"string\",\"description\":\"is the character constant, variable, or expression to search.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p1ft5osv92sk8sn13sf2rv7p0lja\"},{\"name\":\"start\",\"description\":\"is an optional integer that specifies the position at which the search should start and the direction in which to search.\",\"placeholder\":true,\"optional\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p0nrpnti8ka4lvn1fwh1ok13fhqv\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p1mt339n2zhb33n1uejmw7470orv.htm\"}},{\"name\":\"ANYDIGIT\",\"description\":\"Searches a character string for a digit, and returns the first position at which the digit is found.\",\"syntax\":{\"help\":\"ANYDIGIT (*string*&lt;,*start*&gt;)\",\"arguments\":[{\"name\":\"string\",\"description\":\"is the character constant, variable, or expression to search.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n18aba603f413an1ibdech1b2g4a\"},{\"name\":\"start\",\"description\":\"is an optional integer that specifies the position at which the search should start and the direction in which to search.\",\"placeholder\":true,\"optional\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p1tzbclsh6kjb4n1judkrubl2u18\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p0gq8bwobt4wjgn12km94wi66mxw.htm\"}},{\"name\":\"ANYFIRST\",\"description\":\"Searches a character string for a character that is valid as the first character in a SAS variable name under VALIDVARNAME=V7, and returns the first position at which that character is found.\",\"syntax\":{\"help\":\"ANYFIRST (*string*&lt;,*start*&gt;)\",\"arguments\":[{\"name\":\"string\",\"description\":\"is the character constant, variable, or expression to search.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p0m54zzqsqq533n1xy3ptyjdtg5v\"},{\"name\":\"start\",\"description\":\"is an optional integer that specifies the position at which the search should start and the direction in which to search.\",\"placeholder\":true,\"optional\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n0klgagku7fa1zn1tkwbw5pqt1q3\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p0dh5vcj49b2bvn1a9vmpkxbk21f.htm\"}},{\"name\":\"ANYGRAPH\",\"description\":\"Searches a character string for a graphical character, and returns the first position at which that character is found.\",\"syntax\":{\"help\":\"ANYGRAPH (*string*&lt;,*start*&gt;)\",\"arguments\":[{\"name\":\"string\",\"description\":\"is the character constant, variable, or expression to search.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p1u2m2sjv3fwx9n1m5o7sqx9rud5\"},{\"name\":\"start\",\"description\":\"is an optional integer that specifies the position at which the search should start and the direction in which to search.\",\"placeholder\":true,\"optional\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n1fu3bsxlera2in1cyondwctebmx\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n1x76hurlnuc9an1lfdtbyj37d8h.htm\"}},{\"name\":\"ANYLOWER\",\"description\":\"Searches a character string for a lowercase letter, and returns the first position at which the letter is found.\",\"syntax\":{\"help\":\"ANYLOWER (*string*&lt;,*start*&gt;)\",\"arguments\":[{\"name\":\"string\",\"description\":\"is the character constant, variable, or expression to search.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p0pyz7d3vr2rron1f4giuau2335z\"},{\"name\":\"start\",\"description\":\"is an optional integer that specifies the position at which the search should start and the direction in which to search.\",\"placeholder\":true,\"optional\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p0mzl483a70f84n1t4ihtibegmb3\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p0wi288zhv10gbn1ri0ok7majd0t.htm\"}},{\"name\":\"ANYNAME\",\"description\":\"Searches a character string for a character that is valid in a SAS variable name under VALIDVARNAME=V7, and returns the first position at which that character is found.\",\"syntax\":{\"help\":\"ANYNAME (*string*&lt;,*start*&gt;)\",\"arguments\":[{\"name\":\"string\",\"description\":\"is the character constant, variable, or expression to search.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n14ynz9ugtv303n1f949rb2pn5le\"},{\"name\":\"start\",\"description\":\"is an optional integer that specifies the position at which the search should start and the direction in which to search.\",\"placeholder\":true,\"optional\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n1qabzyz0d88sin18cg63awvgyi2\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p134aa3xjp0rncn1t5fu92jwi0iv.htm\"}},{\"name\":\"ANYPRINT\",\"description\":\"Searches a character string for a printable character, and returns the first position at which that character is found.\",\"syntax\":{\"help\":\"ANYPRINT (*string*&lt;,*start*&gt;)\",\"arguments\":[{\"name\":\"string\",\"description\":\"is the character constant, variable, or expression to search.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n17m5sfv99nb2vn1q5r26oo71nru\"},{\"name\":\"start\",\"description\":\"is an optional integer that specifies the position at which the search should start and the direction in which to search.\",\"placeholder\":true,\"optional\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n0vfx6rgtqs657n1tr0fhc0wulc7\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p0p1geust0g2gtn1ffnw2kbs7wcy.htm\"}},{\"name\":\"ANYPUNCT\",\"description\":\"Searches a character string for a punctuation character, and returns the first position at which that character is found.\",\"syntax\":{\"help\":\"ANYPUNCT (*string*&lt;,*start*&gt;)\",\"arguments\":[{\"name\":\"string\",\"description\":\"is the character constant, variable, or expression to search.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n1ev4xtupfqx81n10lew2svbv4ws\"},{\"name\":\"start\",\"description\":\"is an optional integer that specifies the position at which the search should start and the direction in which to search.\",\"placeholder\":true,\"optional\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p0gmt9ijyjjidan1webk0yllbek4\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n0j4awi5afnxpan189v83p0qruq5.htm\"}},{\"name\":\"ANYSPACE\",\"description\":\"Searches a character string for a whitespace character (blank, horizontal or vertical tab, carriage return, line feed, and form feed), and returns the first position at which that character is found.\",\"syntax\":{\"help\":\"ANYSPACE (*string*&lt;,*start*&gt;)\",\"arguments\":[{\"name\":\"string\",\"description\":\"is the character constant, variable, or expression to search.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p0vbi308vz19whn180wimy7tuct1\"},{\"name\":\"start\",\"description\":\"is an optional integer that specifies the position at which the search should start and the direction in which to search.\",\"placeholder\":true,\"optional\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n0w6gwfh4ezwi5n1kne2vtyloc2j\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p0403em6055ye8n1gc3ozcu5inc0.htm\"}},{\"name\":\"ANYUPPER\",\"description\":\"Searches a character string for an uppercase letter, and returns the first position at which the letter is found.\",\"syntax\":{\"help\":\"ANYUPPER (*string*&lt;,*start*&gt;)\",\"arguments\":[{\"name\":\"string\",\"description\":\"is the character constant, variable, or expression to search.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n1blydhf9vwpyun1oet9i6kdc5l9\"},{\"name\":\"start\",\"description\":\"is an optional integer that specifies the position at which the search should start and the direction in which to search.\",\"placeholder\":true,\"optional\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n0b5ws3rq3vyzrn1gipe5wp6e4fk\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n109wzcgbuw2n0n1p9kbma587ydg.htm\"}},{\"name\":\"ANYXDIGIT\",\"description\":\"Searches a character string for a hexadecimal character that represents a digit, and returns the first position at which that character is found.\",\"syntax\":{\"help\":\"ANYXDIGIT (*string*&lt;,*start*&gt;)\",\"arguments\":[{\"name\":\"string\",\"description\":\"is the character constant, variable, or expression to search.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n0m1h6iw5r8h16n10f8mut4cqhd6\"},{\"name\":\"start\",\"description\":\"is an optional integer that specifies the position at which the search should start and the direction in which to search.\",\"placeholder\":true,\"optional\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p0nj2ityogoi6jn11cfevzmo1y9l\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p07vcw5frb2o2hn1ffchpqmdzqnn.htm\"}},{\"name\":\"ARCOS\",\"description\":\"Returns the arccosine.\",\"syntax\":{\"help\":\"ARCOS (*argument*)\",\"arguments\":[{\"name\":\"argument\",\"description\":\"specifies a numeric constant, variable, or expression.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n1buy9axyywaq0n1p3l6wyb33seh\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p1vj1npiermdssn1v5zakhfo8fst.htm\"}},{\"name\":\"ARCOSH\",\"description\":\"Returns the inverse hyperbolic cosine.\",\"syntax\":{\"help\":\"ARCOSH (*x*)\",\"arguments\":[{\"name\":\"x\",\"description\":\"specifies a numeric constant, variable, or expression.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p0cuwni0jf5u13n1xmomgbfwvezx\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p0exb4kc3n78dhn1h9427j1mn147.htm\"}},{\"name\":\"ARSIN\",\"description\":\"Returns the arcsine.\",\"syntax\":{\"help\":\"ARSIN (*argument*)\",\"arguments\":[{\"name\":\"argument\",\"description\":\"specifies a numeric constant, variable, or expression.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p0rtfrzjrj2y5yn1sjrn4km1z55h\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p0u061ira2aevon1de371hdj71lg.htm\"}},{\"name\":\"ARSINH\",\"description\":\"Returns the inverse hyperbolic sine.\",\"syntax\":{\"help\":\"ARSINH (*x*)\",\"arguments\":[{\"name\":\"x\",\"description\":\"specifies a numeric constant, variable, or expression.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n1tyqulbeh5ryan1b9rdc8ummn2n\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p0kt6w7i7a9b37n1vb6xzr6yc393.htm\"}},{\"name\":\"ARTANH\",\"description\":\"Returns the inverse hyperbolic tangent.\",\"syntax\":{\"help\":\"ARTANH (*x*)\",\"arguments\":[{\"name\":\"x\",\"description\":\"specifies a numeric constant, variable, or expression.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p19y662yu2081tn1l9pw7845iubg\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p12zka3fbjyihln1gvybaxc8tr3e.htm\"}},{\"name\":\"ATAN\",\"description\":\"Returns the arc tangent.\",\"syntax\":{\"help\":\"ATAN (*argument*)\",\"arguments\":[{\"name\":\"argument\",\"description\":\"specifies a numeric constant, variable, or expression.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n0xoc742movfqun1ch0yzxjh6azb\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n08ld03x9shl07n1qpia3ldoj1q0.htm\"}},{\"name\":\"ATAN2\",\"description\":\"Returns the arc tangent of the x and y coordinates of a right triangle, in radians.\",\"syntax\":{\"help\":\"ATAN2 (*expression-1*, *expression-2*)\",\"arguments\":[{\"name\":\"expression-1\",\"description\":\"specifies any valid expression that evaluates to a numeric value. expression-1 specifies the x coordinate of the end of the hypotenuse of a right triangle.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p0wt5k5mtmecgzn1oxuxbegqsqy9\"},{\"name\":\"expression-2\",\"description\":\"specifies any valid expression that evaluates to a numeric value. expression-2 specifies the y coordinate of the end of the hypotenuse of a right triangle.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p0cc74ro3mwpmcn12kcnj5n6c6bx\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n13idr1fcdkmsvn10we9jj6cu8n0.htm\"}},{\"name\":\"ATTRC\",\"description\":\"Returns the value of a character attribute for a SAS data set.\",\"syntax\":{\"help\":\"ATTRC (*data-set-id*,             CHARSET | COMPRESS | DATAREP | ENCODING | ENCRYPT | ENGINE | LABEL | LIB | MEM | MODE | MTYPE | SORTEDBY | SORTLVL | SORTSEQ | TYPE)\",\"arguments\":[{\"name\":\"data-set-id\",\"description\":\"specifies the data set identifier that the OPEN function returns.\",\"placeholder\":true,\"dataTypes\":[\"dataSet\"],\"supportSiteTargetFragment\":\"n0irxurjgcs1s6n1xwdrmxe5g0gc\"},{\"name\":\"CHARSET\",\"description\":\"returns a value for the character set of the computer that created the data set.\",\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"p050te5fhc6iybn1l5k2q59bu21i\"},{\"name\":\"COMPRESS\",\"description\":\"returns a value that specifies how a data set is compressed.\",\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"n19xv0d1fkzeonn13marqkcoha8v\"},{\"name\":\"DATAREP\",\"description\":\"returns a value that indicates whether the data set is in a native format.\",\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"p0x5iajfzii0von1507jyq803s5h\"},{\"name\":\"ENCODING\",\"description\":\"specifies the encoding of the data set.\",\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"p1kh3bpx8q7pksn1lwlrwnm9p8yy\"},{\"name\":\"ENCRYPT\",\"description\":\"returns 'YES' or 'NO' depending on whether the SAS data set is encrypted.\",\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"p0mi9x0byh9zo2n178knqadbjhw8\"},{\"name\":\"ENGINE\",\"description\":\"returns the name of the engine that is used to access the data set.\",\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"n0tbzhtc9eo36jn1ufx8ojnwigv4\"},{\"name\":\"LABEL\",\"description\":\"returns the label assigned to the data set.\",\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"p11v556u2z7xf7n1bvjxgpwt1l5k\"},{\"name\":\"LIB\",\"description\":\"returns the libref of the SAS library in which the data set resides.\",\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"p110zj7fjpxb3zn13fcambhprqv0\"},{\"name\":\"MEM\",\"description\":\"returns the SAS data set name.\",\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"p01u8brm8gqof7n1hd6stup5kjav\"},{\"name\":\"MODE\",\"description\":\"returns the mode in which the SAS data set was opened, such as:\",\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"n1wxxs8qb8uw21n1838ehtj5ovt6\"},{\"name\":\"MTYPE\",\"description\":\"returns the SAS library member type.\",\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"n1xnw9niyfkjmfn1tjmfgmkpnk9q\"},{\"name\":\"SORTEDBY\",\"description\":\"returns an empty string if the data set is not sorted. Otherwise, it returns the names of the BY variables in the standard BY statement format.\",\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"p0e26iu7vgn3jpn1kn2c2egqcqrk\"},{\"name\":\"SORTLVL\",\"description\":\"returns a value that indicates how a data set was sorted:\",\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"p0zumjc69d2s11n1vbbkd5pbsb2s\"},{\"name\":\"SORTSEQ\",\"description\":\"returns an empty string if the data set is sorted on the native computer or if the sort collating sequence is the default for the operating environment. Otherwise, it returns the name of the alternate collating sequence used to sort the file.\",\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"p1mvi785fdbi1qn0zjj6qbw8muwy\"},{\"name\":\"TYPE\",\"description\":\"returns the SAS data set type.\",\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"n0wvsa4ifiuer9n1bld6f7dogzn5\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p048h4pczkr351n1pk558jo8hcc0.htm\"}},{\"name\":\"ATTRN\",\"description\":\"Returns the value of a numeric attribute for a SAS data set.\",\"syntax\":{\"help\":\"ATTRN (*data-set-id*,             ALTERPW | ANOBS | ANY | ARAND | ARWU | AUDIT | AUDIT_DATA | AUDIT_BEFORE | AUDIT_ERROR | CRDTE | ICONST | INDEX | ISINDEX | ISSUBSET | LRECL | LRID | MAXGEN | MAXRC | MODTE | NDEL | NEXTGEN | NLOBS | NLOBSF | NOBS | NVARS | PW | RADIX | READPW | REUSE | TAPE | WHSTMT | WRITEPW)\",\"arguments\":[{\"name\":\"data-set-id\",\"description\":\"specifies the data set identifier that the OPEN function returns.\",\"placeholder\":true,\"dataTypes\":[\"dataSet\"],\"supportSiteTargetFragment\":\"n1onnav8oaozdrn1qv50n4c6sdfr\"},{\"name\":\"ALTERPW\",\"description\":\"specifies whether a password is required to alter the data set.\",\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"p0y24xi48yz5ezn0z3f7w53pa68m\"},{\"name\":\"ANOBS\",\"description\":\"specifies whether the engine knows the number of observations.\",\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"n08lbpznkk8ny0n13xfme9icsbr9\"},{\"name\":\"ANY\",\"description\":\"specifies whether the data set has observations or variables.\",\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"p0qji3sq2s853hn1dm8wrd7cnkg4\"},{\"name\":\"ARAND\",\"description\":\"specifies whether the engine supports random access.\",\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"n1navm7etwk879n1d7ak74l0qy83\"},{\"name\":\"ARWU\",\"description\":\"specifies whether the engine can manipulate files.\",\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"n1xc5q3ggr82ken1o9sbn2fx39le\"},{\"name\":\"AUDIT\",\"description\":\"specifies whether logging to an audit file is enabled.\",\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"p1b5d0sob764e8n1ulunqmgc0oov\"},{\"name\":\"AUDIT_DATA\",\"description\":\"specifies whether after-update record images are stored.\",\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"n08107eysgfknrn1pg7emm4t80zi\"},{\"name\":\"AUDIT_BEFORE\",\"description\":\"specifies whether before-update record images are stored.\",\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"p1ayyta8ndejg6n1kn1hcsxlcmcq\"},{\"name\":\"AUDIT_ERROR\",\"description\":\"specifies whether unsuccessful after-update record images are stored.\",\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"n1bcwlz35zkg4kn1ioxra4n94f2t\"},{\"name\":\"CRDTE\",\"description\":\"specifies the date on which the data set was created. The value that is returned is the internal SAS datetime value for the creation date.\",\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"n0a2teqcdgfjebn14j5tbwcmmpw0\"},{\"name\":\"ICONST\",\"description\":\"returns information about the existence of integrity constraints for a SAS data set.\",\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"p0a7mxzggh52shn1fs6a4qkr8315\"},{\"name\":\"INDEX\",\"description\":\"specifies whether the data set supports indexing.\",\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"p0rmthxd6scacsn10spuvv9btqoj\"},{\"name\":\"ISINDEX\",\"description\":\"specifies whether the data set is indexed.\",\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"n03uwattppql7on1huam5xrfq57q\"},{\"name\":\"ISSUBSET\",\"description\":\"specifies whether the data set is a subset.\",\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"n17cairtrtnbtqn17wgyr9q2hsx4\"},{\"name\":\"LRECL\",\"description\":\"specifies the logical record length.\",\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"p0ay4zuhc81fk4n13ysgfinowm33\"},{\"name\":\"LRID\",\"description\":\"specifies the length of the record ID.\",\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"n1xt7xvc9k5h46n1mgdmi3pyxgzx\"},{\"name\":\"MAXGEN\",\"description\":\"specifies the maximum number of generations.\",\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"n11zkt2hvfdtccn18emiy4tyrm4a\"},{\"name\":\"MAXRC\",\"description\":\"specifies whether an application checks return codes.\",\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"n0bwh6itpj906mn1nvw9kv2x0aby\"},{\"name\":\"MODTE\",\"description\":\"specifies the last date and time that the data set was modified. The value returned is the internal SAS datetime value.\",\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"p1be18v6t4nzhxn1vgvmkouz2ld1\"},{\"name\":\"NDEL\",\"description\":\"specifies the number of observations in the data set that are marked for deletion.\",\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"n0jcreog5res7gn14au06l5dz0sz\"},{\"name\":\"NEXTGEN\",\"description\":\"specifies the next generation number to generate.\",\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"p1ihzhc8mwdgfpn19whbqz3myiz6\"},{\"name\":\"NLOBS\",\"description\":\"specifies the number of logical observations (the observations that are not marked for deletion). An active WHERE clause does not affect this number.\",\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"n0h1leoqkseznwn1e8v6hbalenv8\"},{\"name\":\"NLOBSF\",\"description\":\"specifies the number of logical observations (the observations that are not marked for deletion) by forcing each observation to be read and by taking the FIRSTOBS system option, the OBS system option, and the WHERE clauses into account.\",\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"n0m2aifb6wa8m9n19wcc6rtwxsrd\"},{\"name\":\"NOBS\",\"description\":\"specifies the number of physical observations (including the observations that are marked for deletion). An active WHERE clause does not affect this number.\",\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"p0iotqn21lvnx7n1oi5j4t4t3d10\"},{\"name\":\"NVARS\",\"description\":\"specifies the number of variables in the data set.\",\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"n0akos6v94e0uxn1ve5wgarqwm2a\"},{\"name\":\"PW\",\"description\":\"specifies whether a password is required to access the data set.\",\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"n19vlqyet0jcffn1l32kuwnczt25\"},{\"name\":\"RADIX\",\"description\":\"specifies whether access by observation number (radix addressability) is allowed.\",\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"p0raii2022sfnmn1ekc1klleheep\"},{\"name\":\"READPW\",\"description\":\"specifies whether a password is required to read the data set.\",\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"n00txd94p4yo2mn12f6uo7abapgc\"},{\"name\":\"REUSE\",\"description\":\"specifies whether new observations can be written to free space in compressed SAS data sets.\",\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"p16luj056zbe5dn1d2akso2cf2ar\"},{\"name\":\"TAPE\",\"description\":\"specifies the status of the data set tape.\",\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"n0b6sbmq781hvon1x8isquxo8ir5\"},{\"name\":\"WHSTMT\",\"description\":\"specifies the active WHERE clauses.\",\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"p1pxmt2fghgqg5n0zgylu9lnomne\"},{\"name\":\"WRITEPW\",\"description\":\"specifies whether a password is required to write to the data set.\",\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"n1etci9fq8i0xhn1dezdi482afqn\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p12uchp7hm5h2zn1om2ut816af7h.htm\"}},{\"name\":\"AVG\",\"description\":\"Returns the arithmetic mean or average of all values in a column.\",\"syntax\":{\"help\":\"AVG  (&lt;ALL | DISTINCT&gt;*sql-expression*)\",\"arguments\":[{\"name\":\"sql-expression\",\"description\":\"specifies any valid SQL expression. See .\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p0dcev10msmwcbn1cu1zsx8feemy\"},{\"name\":\"ALL\",\"description\":\"(default) specifies that all nonmissing values returned by the SQL expression be used in the calculation.\",\"optional\":true,\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"n0y26oj96kp7wpn1uauexf8536uq\"},{\"name\":\"DISTINCT\",\"description\":\"eliminates duplicate rows from the summary calculation.\",\"optional\":true,\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"p0yzbj0817doqln1gcs3goncyhjp\"}]},\"supportSiteInformation\":{\"docsetId\":\"sqlproc\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n1grrq11qvtvm7n1wjqgefotzdu0.htm\"}},{\"name\":\"BAND\",\"description\":\"Returns the bitwise logical AND of 32-bit integer values.\",\"syntax\":{\"help\":\"BAND (*argument-1*, *argument-2*)\",\"arguments\":[{\"name\":\"argument-1\",\"description\":\"specifies a numeric constant, variable, or expression.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n1ieltneyhkkpin1l67ejajnafao\"},{\"name\":\"argument-2\",\"description\":\"specifies a numeric constant, variable, or expression.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n02v54j0ane6zin1q60qkukbm0ho\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n1s3cxiitukk55n18if88g2djqzs.htm\"}},{\"name\":\"BASECHAR\",\"description\":\"Converts characters to base characters.\",\"syntax\":{\"help\":\"STR=BASECHAR (&lt;*instr*&gt;(,&lt;*Unicode type*&gt;))\",\"arguments\":[{\"name\":\"str\",\"description\":\"data string that is converted.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p0o8txdh3ww5zwn1kq0gdmf6vmfx\"},{\"name\":\"instr\",\"description\":\"input data string.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n0qgaa0im4l1efn1ii98kggikeu6\"},{\"name\":\"Unicode\",\"description\":\"If one of the following Unicode character formats is specified, national characters are represented in the specified format:\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p12mifnerl07mkn1dvyt1fl57pug\"}]},\"supportSiteInformation\":{\"docsetId\":\"nlsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p078j5y1bbc9xfn1scp11kw3nmnt.htm\"}},{\"name\":\"BETA\",\"description\":\"Returns the value of the beta function.\",\"syntax\":{\"help\":\"BETA (*a*, *b*)\",\"arguments\":[{\"name\":\"a\",\"description\":\"is the first shape parameter, where a>0.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p1bysbh64rs83xn1drdxlixrmygr\"},{\"name\":\"b\",\"description\":\"is the second shape parameter, where b>0.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p01niwn0205y5pn10uwf6m6nsud5\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n1b94q1fg1f00on1j68ktbh93lk2.htm\"}},{\"name\":\"BETAINV\",\"description\":\"Returns a quantile from the beta distribution.\",\"syntax\":{\"help\":\"BETAINV (*p*, *a*, *b*)\",\"arguments\":[{\"name\":\"p\",\"description\":\"is a numeric probability.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p1fkgbr9qhq4m0n1eo9vkeg1jieq\"},{\"name\":\"a\",\"description\":\"is a numeric shape parameter.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n0rmcode21nejzn1cqwy1zyh44za\"},{\"name\":\"b\",\"description\":\"is a numeric shape parameter.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p19n6h3bpgt7jun1m6ljhqjdsl4x\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n08xodwu0mthann0z7oc6ppern76.htm\"}},{\"name\":\"BHAMMING_32\",\"description\":\"Returns the bitwise Hamming distance between two 32-bit integer values.\",\"syntax\":{\"help\":\"BHAMMING_32 (*argument-1*, *argument-2*)\",\"arguments\":[{\"name\":\"argument-1\",\"description\":\"specifies a numeric constant, variable, or expression.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p0p68irlkmhotzn1vd2717763jww\"},{\"name\":\"argument-2\",\"description\":\"specifies a numeric constant, variable, or expression.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p0506vm0i8bj56n19it0jcax3ybe\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n0iqmivlct3sx8n14td0x9hoolhr.htm\"}},{\"name\":\"BHAMMING_HEX\",\"description\":\"Returns the bitwise Hamming distance between two hexadecimal bit strings.\",\"syntax\":{\"help\":\"BHAMMING_HEX (*hex-string-1*,                     *hex-string-2*);\",\"arguments\":[{\"name\":\"hex-string-1\",\"description\":\"specifies a character string containing hexadecimal characters. Leading and trailing blanks are ignored.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n0s6ltfzd6j6bmn1iauazykuf1y9\"},{\"name\":\"hex-string-2\",\"description\":\"specifies a character string containing hexadecimal characters. Leading and trailing blanks are ignored.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n1ivnfcci8g0t2n1pfazh51rpuys\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p0yogn6yvodo4in10bh0topgxsqf.htm\"}},{\"name\":\"BLACKCLPRC\",\"description\":\"Calculates call prices for European options on futures, based on the Black model.\",\"syntax\":{\"help\":\"BLACKCLPRC (*E*, *t*, *F*, *r*, *sigma*)\",\"arguments\":[{\"name\":\"E\",\"description\":\"is a nonmissing, positive value that specifies the exercise price.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n0v8g81elnynfhn14r87swn77oph\"},{\"name\":\"t\",\"description\":\"is a nonmissing value that specifies time to maturity, in years.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p170ksp9y6i3mdn1usnu61brwomw\"},{\"name\":\"F\",\"description\":\"is a nonmissing, positive value that specifies the future price.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p0y1jgwio2x0ynn119ef9fbfq6y8\"},{\"name\":\"r\",\"description\":\"is a nonmissing, positive value that specifies the annualized risk-free interest rate, continuously compounded.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p13e1ruhfrjvs0n11ii0lempr677\"},{\"name\":\"sigma\",\"description\":\"is a nonmissing, positive fraction that specifies the volatility (the square root of the variance of r).\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n1ukovcwbymvitn104ofje6723g1\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n1auahjgbn7p25n1or0ky14i3frl.htm\"}},{\"name\":\"BLACKPTPRC\",\"description\":\"Calculates put prices for European options on futures, based on the Black model.\",\"syntax\":{\"help\":\"BLACKPTPRC (*E*, *t*, *F*, *r*, *sigma*)\",\"arguments\":[{\"name\":\"E\",\"description\":\"is a nonmissing, positive value that specifies the exercise price.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n1jhohdkink0bpn1uvp37n5r2jlq\"},{\"name\":\"t\",\"description\":\"is a nonmissing value that specifies time to maturity, in years.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n0u0b60f3g9ijen17r2gohq8vpy3\"},{\"name\":\"F\",\"description\":\"is a nonmissing, positive value that specifies the future price.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p0rox41unerlh7n1tk8aajy3xxrh\"},{\"name\":\"r\",\"description\":\"is a nonmissing, positive value that specifies the annualized risk-free interest rate, continuously compounded.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p00einxan9jo1bn166bmlvn4k7ph\"},{\"name\":\"sigma\",\"description\":\"is a nonmissing, positive fraction that specifies the volatility (the square root of the variance of r).\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n1iss41xvl62efn1atstysv5crgk\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n1rh2y3zbag1l6n1eh33um3kq3j7.htm\"}},{\"name\":\"BLKSHCLPRC\",\"description\":\"Calculates call prices for European options on stocks, based on the Black-Scholes model.\",\"syntax\":{\"help\":\"BLKSHCLPRC (*E*, *t*, *S*, *r*, *sigma*)\",\"arguments\":[{\"name\":\"E\",\"description\":\"is a nonmissing, positive value that specifies the exercise price.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n08i3uthy65dmrn1f5cn4r0n3ged\"},{\"name\":\"t\",\"description\":\"is a nonmissing value that specifies the time to maturity, in years.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p1k7jwnqp7hijrn1rp5h3h2tu74c\"},{\"name\":\"S\",\"description\":\"is a nonmissing, positive value that specifies the share price.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p0zuv9i7zpihxfn14mq13bibf150\"},{\"name\":\"r\",\"description\":\"is a nonmissing, positive value that specifies the annualized risk-free interest rate, continuously compounded.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n0fcntq8xeccwrn1pti6deuk7djy\"},{\"name\":\"sigma\",\"description\":\"is a nonmissing, positive fraction that specifies the volatility of the underlying asset.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n0f4epn4wg78pun1faf07t7fwe9g\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n1q3r8hgb7nv59n1i6d9kmyfy307.htm\"}},{\"name\":\"BLKSHPTPRC\",\"description\":\"Calculates put prices for European options on stocks, based on the Black-Scholes model.\",\"syntax\":{\"help\":\"BLKSHPTPRC (*E*, *t*, *S*, *r*, *sigma*)\",\"arguments\":[{\"name\":\"E\",\"description\":\"is a nonmissing, positive value that specifies the exercise price.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n0abhhqpjta6usn1oud4mg4np2ig\"},{\"name\":\"t\",\"description\":\"is a nonmissing value that specifies the time to maturity, in years.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n1g7fb9dxsmawkn14w5iltso3er3\"},{\"name\":\"S\",\"description\":\"is a nonmissing, positive value that specifies the share price.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p07n2gmjqzdxbkn1uw47wqma5ov9\"},{\"name\":\"r\",\"description\":\"is a nonmissing, positive value that specifies the annualized risk-free interest rate, continuously compounded.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p0bhpu1hl2mvban172d1psbx0ttm\"},{\"name\":\"sigma\",\"description\":\"is a nonmissing, positive fraction that specifies the volatility of the underlying asset.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n0b8yfdgyspcmin1m1maqh3vjqmn\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n0tx2mmc8jsnhhn14hwu0p4ljqxh.htm\"}},{\"name\":\"BLSHIFT\",\"description\":\"Returns the bitwise logical left shift of two 32-bit integer values.\",\"syntax\":{\"help\":\"BLSHIFT (*argument-1*, *argument-2*)\",\"arguments\":[{\"name\":\"argument-1\",\"description\":\"specifies a numeric constant, variable, or expression.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p075u9d0hjldbcn1ntodedg7jh0d\"},{\"name\":\"argument-2\",\"description\":\"specifies a numeric constant, variable, or expression.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p1nxf5my28k5uin194j3mc96ez2d\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n17xwgvcnuaq6wn1h8c7bew5inav.htm\"}},{\"name\":\"BNOT\",\"description\":\"Returns the bitwise logical NOT of 32-bit integer values.\",\"syntax\":{\"help\":\"BNOT (*argument*)\",\"arguments\":[{\"name\":\"argument\",\"description\":\"specifies a numeric constant, variable, or expression.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p1fbijk9rki09wn1xnfu1osq3d04\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n1d4siz6j1qdq9n1vbzxffec1qs7.htm\"}},{\"name\":\"BOR\",\"description\":\"Returns the bitwise logical OR of 32-bit integer values.\",\"syntax\":{\"help\":\"BOR (*argument-1,**argument-2*)\",\"arguments\":[{\"name\":\"argument-1\",\"description\":\"specifies a numeric constant, variable, or expression.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p0sj49mopi2q2nn1tg4l4j661u0r\"},{\"name\":\"argument-2\",\"description\":\"specifies a numeric constant, variable, or expression.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n19ljy8ym7cth0n1avrpwvedg5q7\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n08a8qvo1xuzd1n189xdm0nay8h5.htm\"}},{\"name\":\"BRSHIFT\",\"description\":\"Returns the bitwise logical right shift of 32-bit integer values.\",\"syntax\":{\"help\":\"BRSHIFT (*argument-1*, *argument-2*)\",\"arguments\":[{\"name\":\"argument-1\",\"description\":\"specifies a numeric constant, variable, or expression.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n049xy172qd6knn18vbz546u3zh7\"},{\"name\":\"argument-2\",\"description\":\"specifies a numeric constant, variable, or expression.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n03xo52soyc9odn18i9wel7bavax\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n0cboltjahpi01n1r229i69aepa0.htm\"}},{\"name\":\"BTRIM\",\"description\":\"Removes blanks or specified characters from the beginning, the end, or both the beginning and end of a character string.\",\"syntax\":{\"help\":\"BTRIM (&lt;&lt;LEADING | TRAILING | BOTH&gt;&lt;'*btrim-character*' FROM&gt;&gt;*sql-expression*)\",\"arguments\":[{\"name\":\"sql-expression\",\"description\":\"must resolve to a character string or character variable.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p03zbqgb9yn4iln116bxnjrukpo4\"},{\"name\":\"LEADING\",\"description\":\"removes the blanks or specified characters from the beginning of the character string.\",\"optional\":true,\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"p171alnbnmbl4bn1lkr0ygvpd5bx\"},{\"name\":\"TRAILING\",\"description\":\"removes the blanks or specified characters from the end of the character string.\",\"optional\":true,\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"p0w82d96i2jhgzn1btsfopbrd4wh\"},{\"name\":\"BOTH\",\"description\":\"removes the blanks or specified characters from both the beginning and the end of the character string.\",\"optional\":true,\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"p1ii7mheg0fbi5n14xrsj5r1qsz9\"},{\"name\":\"btrim-character\",\"description\":\"is a single character that is to be removed from the character string. The default character is a blank.\",\"placeholder\":true,\"optional\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p1n8h32b7d21mun1ljwag14ez462\"}]},\"supportSiteInformation\":{\"docsetId\":\"sqlproc\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n12wnf0zqw2frvn1bghzrncuh89m.htm\"}},{\"name\":\"BXOR\",\"description\":\"Returns the bitwise logical EXCLUSIVE OR of two 32-bit integer values.\",\"syntax\":{\"help\":\"BXOR (*argument-1,**argument-2*)\",\"arguments\":[{\"name\":\"argument-1\",\"description\":\"specifies a numeric constant, variable, or expression.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n1sew2rufah42hn1ct5c8oht1zzx\"},{\"name\":\"argument-2\",\"description\":\"specifies a numeric constant, variable, or expression.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p077c4849eyeavn18e53bgswlbeg\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p16q5ly3d7dtlen1dkw2v4pctqs4.htm\"}},{\"name\":\"BYTE\",\"description\":\"Returns one character in the ASCII collating sequence.\",\"syntax\":{\"help\":\"BYTE  (*n*)\",\"arguments\":[{\"name\":\"n\",\"description\":\"specifies an integer that represents a specific ASCII character.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p133b9h664bnq0n160xip8zsah5x\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n1jfxetjdn0nxan1w4e64c7rouz9.htm\"}},{\"name\":\"CAT\",\"description\":\"Does not remove leading or trailing blanks and returns a concatenated character string.\",\"syntax\":{\"help\":\"CAT (*item-1*&lt;, …, *item-n*&gt;)\",\"arguments\":[{\"name\":\"item\",\"description\":\"specifies a constant, variable, or expression, either character or numeric. If item is numeric, its value is converted to a character string by using the BESTw. format. In this case, leading blanks are removed and SAS does not write a note to the log.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p1l6rc4hs07ezun1hawaq2ntukw4\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p0wism8jqta3qmn1swtpxrs71e9a.htm\"}},{\"name\":\"CATQ\",\"description\":\"Concatenates character and numeric values by using a delimiter to separate items and by adding quotation marks to strings that contain the delimiter.\",\"syntax\":{\"help\":\"CATQ (*modifiers*&lt;, *delimiter*&gt;, *item-1*&lt;, …, *item-n*&gt;)\",\"arguments\":[{\"name\":\"1\",\"description\":\"uses single quotation marks when CATQ adds quotation marks to a string.\",\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"n163rbdpt13rkkn1hrwz0cbu6f8a\"},{\"name\":\"2\",\"description\":\"uses double quotation marks when CATQ adds quotation marks to a string.\",\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"p0j641scz34hp1n1upxihruynr3h\"},{\"name\":\"a\",\"description\":\"adds quotation marks to all of the item arguments.\",\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"n15vycq4ocpbcsn13pofjvc61e1g\"},{\"name\":\"b\",\"description\":\"adds quotation marks to item arguments that have leading or trailing blanks that are not removed by the S or T modifiers.\",\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"p0ol25ayp86ghyn1nlcam1n8sfxs\"},{\"name\":\"c\",\"description\":\"uses a comma as a delimiter.\",\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"p1en3pr2u8zcctn10hmzy0hy9xah\"},{\"name\":\"d\",\"description\":\"indicates that you have specified the delimiter argument.\",\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"n0go1pneba10qwn1689jgx0yi4cf\"},{\"name\":\"h\",\"description\":\"uses a horizontal tab as the delimiter.\",\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"n0zwkvg8zwvsz9n1oav49dv16e43\"},{\"name\":\"m\",\"description\":\"inserts a delimiter for every item argument after the first. If you do not use the M modifier, CATQ does not insert delimiters for item arguments that have a length of 0 after processing that is specified by other modifiers. The M modifier can cause delimiters to appear at the beginning or end of the result and can cause multiple consecutive delimiters to appear in the result.\",\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"n0gqk715sq40tsn1kstze8w58y93\"},{\"name\":\"n\",\"description\":\"converts item arguments to name literals when the value does not conform to the usual syntactic conventions for a SAS name. A name literal is a string in quotation marks that is followed by the letter “n” without any intervening blanks. To use name literals in SAS statements, you must specify the SAS option VALIDVARNAME=ANY.\",\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"p0ypm74rqqzynnn13p6f76gn2l49\"},{\"name\":\"q\",\"description\":\"adds quotation marks to item arguments that already contain quotation marks.\",\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"n1liajrzi9dfwvn1kyak63xt4rvy\"},{\"name\":\"s\",\"description\":\"strips leading and trailing blanks from subsequently processed arguments:\\n• To strip leading and trailing blanks from the delimiter argument, specify the S modifier before the D modifier.\\n• To strip leading and trailing blanks from the item arguments but  not from the delimiter argument, specify the S modifier  after the D modifier.\",\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"n0hanefqjol780n0zht4kux2wdyh\"},{\"name\":\"t\",\"description\":\"trims trailing blanks from subsequently processed arguments:\\n• To trim trailing blanks from the delimiter argument, specify the T modifier before the D modifier. \\n• To trim trailing blanks from the item arguments but not from the delimiter argument, specify the T modifier after the D modifier.\",\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"p1gkf0gvbz7el7n1ln0i0nhlqxo8\"},{\"name\":\"x\",\"description\":\"converts item arguments to hexadecimal literals when the value contains nonprintable characters.\",\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"p1546362u186ljn15gz558u47l7v\"},{\"name\":\"item\",\"description\":\"specifies a constant, variable, or expression, either character or numeric. If item is numeric, its value is converted to a character string by using the BESTw. format. In this case, leading blanks are removed and SAS does not write a note to the log.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n1gd84lz4ghqpbn1wg8gje6t2zok\"},{\"name\":\"delimiter\",\"description\":\"specifies a character constant, variable, or expression that is used as a delimiter between concatenated strings. If you specify this argument, you must also specify the D modifier.\",\"placeholder\":true,\"optional\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p18zyspb4co6f0n1vpmk1bxoxnzx\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n11fqp8lmm22sen1cxlzksrtfefo.htm\"}},{\"name\":\"CATS\",\"description\":\"Removes leading and trailing blanks, and returns a concatenated character string.\",\"syntax\":{\"help\":\"CATS (*item-1*&lt;, …, *item-n*&gt;)\",\"arguments\":[{\"name\":\"item\",\"description\":\"specifies a constant, variable, or expression, either character or numeric. If item is numeric, its value is converted to a character string by using the BESTw. format. In this case, SAS does not write a note to the log.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p1sh72pnggy39rn1r8nqoa4hy1iu\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n1e21rr6al5m2nn19r1fat5qxwrt.htm\"}},{\"name\":\"CATT\",\"description\":\"Removes trailing blanks, and returns a concatenated character string.\",\"syntax\":{\"help\":\"CATT (*item-1*&lt;, … *item-n*&gt;)\",\"arguments\":[{\"name\":\"item\",\"description\":\"specifies a constant, variable, or expression, either character or numeric. If item is numeric, its value is converted to a character string by using the BESTw. format. In this case, leading blanks are removed and SAS does not write a note to the log.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p1gniguho531ssn1vnbbzxfai5nl\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n16y1vyi397p84n19dpvzw0pemsa.htm\"}},{\"name\":\"CATX\",\"description\":\"Removes leading and trailing blanks, inserts delimiters, and returns a concatenated character string.\",\"syntax\":{\"help\":\"CATX (*delimiter*, *item-1*&lt;,  ... *item-n*&gt;)\",\"arguments\":[{\"name\":\"delimiter\",\"description\":\"specifies a character string that is used as a delimiter between concatenated items.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p1g01oa1qk4w1mn1os3yb1utzj2t\"},{\"name\":\"item\",\"description\":\"specifies a constant, variable, or expression, either character or numeric. If item is numeric, its value is converted to a character string by using the BESTw. format. In this case, SAS does not write a note to the log. For more information, see .\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n0zbfp4jnme19yn1j2fwt1iyam5a\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n0p7wxtk0hvn83n1pveisbcp2ae9.htm\"}},{\"name\":\"CDF\",\"description\":\"Returns a value from a cumulative probability distribution.\",\"syntax\":{\"help\":\"CDF (*distribution*, *quantile*&lt;, *parameter-1,–parameter-k*&gt;)\",\"arguments\":[{\"name\":\"distribution\",\"description\":\"is a character constant, variable, or expression that identifies the distribution.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p1vlt1khiona63n154rq5sz1xt43\"},{\"name\":\"quantile\",\"description\":\"is a numeric constant, variable, or expression that specifies the value of the random variable.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p1e4fr0x6qqoyin179li89faxw1s\"},{\"name\":\"parameter\",\"description\":\"are optional constants, variables, or expressions that specify the values of shape, location, or scale parameters that are appropriate for the specific distribution.\",\"placeholder\":true,\"optional\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p099e6ubbtp0rfn0zyw1ifg4ms58\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n0n7cce4a3gfqkn1vr0p1x0of99s.htm\"}},{\"name\":\"CEIL\",\"description\":\"Returns the smallest integer that is greater than or equal to the argument, fuzzed to avoid unexpected floating-point results.\",\"syntax\":{\"help\":\"CEIL (*argument*)\",\"arguments\":[{\"name\":\"argument\",\"description\":\"specifies a numeric constant, variable, or expression.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p1m0xn782g108wn1p125qbcstwma\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n12bhb0oxndi2bn11205ojzgbdrw.htm\"}},{\"name\":\"CEILZ\",\"description\":\"Returns the smallest integer that is greater than or equal to the argument, using zero fuzzing.\",\"syntax\":{\"help\":\"CEILZ (*argument*)\",\"arguments\":[{\"name\":\"argument\",\"description\":\"is a numeric constant, variable, or expression.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n1o8t0wa358f96n1wt3tyyp8r8gv\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n1uccgo65q2jl5n18z8dakbymqy2.htm\"}},{\"name\":\"CEXIST\",\"description\":\"Verifies the existence of a SAS catalog or SAS catalog entry.\",\"syntax\":{\"help\":\"CEXIST (*entry*&lt;, 'U'&gt;)\",\"arguments\":[{\"name\":\"entry\",\"description\":\"is a character constant, variable, or expression that specifies a SAS catalog, or the name of an entry in a catalog. If the entry value is a one- or two-level name, then it is assumed to be the name of a catalog. Use a three- or four-level name to test for the existence of an entry within a catalog.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n1649b7radatkln1tdpnd6ydrixt\"},{\"name\":\"'U'\",\"description\":\"tests whether the catalog can be opened for updating.\",\"placeholder\":true,\"optional\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n1nmv5h0ibjpsgn198lxd1ch2ith\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n1wxzzzcg9y5oen1u6fdtagejco9.htm\"}},{\"name\":\"CHAR\",\"description\":\"Returns a single character from a specified position in a character string.\",\"syntax\":{\"help\":\"CHAR (*string*, *position*)\",\"arguments\":[{\"name\":\"string\",\"description\":\"specifies a character constant, variable, or expression.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p1py1sjv3a65qin1du5n090rphyx\"},{\"name\":\"position\",\"description\":\"is an integer that specifies the position of the character to be returned.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n024pn2mwy6zasn1i00wuxrdpmxl\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n1tcjbeu8jft0dn1hy0xtg08g28d.htm\"}},{\"name\":\"CHOOSEC\",\"description\":\"Returns a character value that represents the results of choosing from a list of arguments.\",\"syntax\":{\"help\":\"CHOOSEC (*index-expression*, *selection-1*&lt;, …*selection-n*&gt;)\",\"arguments\":[{\"name\":\"index-expression\",\"description\":\"specifies a numeric constant, variable, or expression.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n062zl8b0iughmn13rvuxp1ouccj\"},{\"name\":\"selection\",\"description\":\"specifies a character constant, variable, or expression. The value of this argument is returned by the CHOOSEC function.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p085fbbgwdi25un1hsosytaic2jd\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p0zkcvlqdqdnu6n16vv32uojnznj.htm\"}},{\"name\":\"CHOOSEN\",\"description\":\"Returns a numeric value that represents the results of choosing from a list of arguments.\",\"syntax\":{\"help\":\"CHOOSEN (*index-expression*, *selection-1*&lt;, …*selection-n*&gt;)\",\"arguments\":[{\"name\":\"index-expression\",\"description\":\"specifies a numeric constant, variable, or expression.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n0wyboa2wl1xezn1syn8vh7hpofc\"},{\"name\":\"selection\",\"description\":\"specifies a numeric constant, variable, or expression. The value of this argument is returned by the CHOOSEN function.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n0olshkkhiefycn1o59cfekmm51u\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p0et55hpbrn2vln14mmqrhzffs64.htm\"}},{\"name\":\"CINV\",\"description\":\"Returns a quantile from the chi-square distribution.\",\"syntax\":{\"help\":\"CINV (*p*, *df*&lt;, *nc*&gt;)\",\"arguments\":[{\"name\":\"p\",\"description\":\"is a numeric probability.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p1m5nlan843tf4n1l7oydzxnx1gd\"},{\"name\":\"df\",\"description\":\"is a numeric degrees of freedom parameter.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n0iu719o7yl721n1hwzoq1jpks78\"},{\"name\":\"nc\",\"description\":\"is a numeric noncentrality parameter.\",\"placeholder\":true,\"optional\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p1l4bvwkiok8uwn1wgnsvvk5sr91\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n14i61tzp5o0aan1qa3zzelkouru.htm\"}},{\"name\":\"CLIBEXIST\",\"description\":\"Returns 0 when the specified caslib name is not found and 1 when the caslib is found.\",\"syntax\":{\"help\":\"CLIBEXIST (session name,caslib name)\\nCLIBEXIST (uuid,caslib name)\",\"arguments\":[{\"name\":\"session\",\"description\":\"a valid session name.\",\"placeholder\":true,\"optional\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p03wbx00d3ibgnn1utomkvmdbe8y\"},{\"name\":\"caslib\",\"description\":\"a valid caslib name.\",\"placeholder\":true,\"optional\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p1ua3e8kqm25ctn1rjux1typ90zq\"},{\"name\":\"uuid\",\"description\":\"specifies the uuid that you are trying to find. See for more information about uuid.\",\"placeholder\":true,\"optional\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p1y1i6gtdezkhkn11ifqskj0ie4y\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n0i6wh24tvb1ypn1ky25nfc7fvwv.htm\"}},{\"name\":\"CLOSE\",\"description\":\"Closes a SAS data set.\",\"syntax\":{\"help\":\"CLOSE (*data-set-id*)\",\"arguments\":[{\"name\":\"data-set-id\",\"description\":\"is a numeric variable that specifies the data set identifier that the OPEN function returns.\",\"placeholder\":true,\"dataTypes\":[\"dataSet\"],\"supportSiteTargetFragment\":\"n1qct882te8qnxn1q33f58mx4nr0\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p0bbb0j41xxin4n1fdpqlf4gze0w.htm\"}},{\"name\":\"CMISS\",\"description\":\"Counts the number of missing arguments.\",\"syntax\":{\"help\":\"CMISS (*argument-1*&lt;, *argument-2,*…, *argument-n*&gt;)\",\"arguments\":[{\"name\":\"argument\",\"description\":\"specifies a constant, variable, or expression. Argument can be either a character value or a numeric value.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n01mqjh6y6ddbin1c700ysu5lnbh\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p1tth4ltf640din1ey86ubo2lky2.htm\"}},{\"name\":\"CNONCT\",\"description\":\"Returns the noncentrality parameter from a chi-square distribution.\",\"syntax\":{\"help\":\"CNONCT (*x*, *df*, *probability*)\",\"arguments\":[{\"name\":\"x\",\"description\":\"is a numeric random variable.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p1fz0o4mw4m9z7n129m548a6hgak\"},{\"name\":\"df\",\"description\":\"is a numeric degrees of freedom parameter.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n14a3hh8vtm9dan0zfoes5brllvv\"},{\"name\":\"probability\",\"description\":\"is a probability.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n1v9uoa6vivtj2n15fzm0idvcz9n\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p09dco1z21w6hmn1n53b53xkoghf.htm\"}},{\"name\":\"COALESCE\",\"description\":\"Returns the first nonmissing value from a list of columns.\",\"syntax\":{\"help\":\"COALESCE  (*column-name-1*&lt;, *column-name-2*,  ...&gt;)\",\"arguments\":[{\"name\":\"column-name\",\"description\":\"See .\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p0fchnlpu0zi1vn0z2lqylhrehpb\"}]},\"supportSiteInformation\":{\"docsetId\":\"sqlproc\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p1gdr5t7sd3g3qn1d7fg23zuwzml.htm\"}},{\"name\":\"COALESCEC\",\"description\":\"Returns the first nonmissing value from a list of character arguments.\",\"syntax\":{\"help\":\"COALESCEC (*argument-1*&lt;*...*, *argument-n*&gt;)\",\"arguments\":[{\"name\":\"argument\",\"description\":\"specifies a character constant, variable, or expression.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p1k9s6j07xpnkgn1v8evnxmw1why\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p1g9btrql8d9x6n1iz6yowaqrq1v.htm\"}},{\"name\":\"COLLATE\",\"description\":\"Returns a character string in the ASCII collating sequence.\",\"syntax\":{\"help\":\"COLLATE (*start-position*&lt;, *end-position*&gt;) | (*start-position*&lt;, , *length*&gt;)\",\"arguments\":[{\"name\":\"start-position\",\"description\":\"specifies the numeric position in the collating sequence of the first character to be returned.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p1arpu2qgcn0qfn1csns92wpcwon\"},{\"name\":\"end-position\",\"description\":\"specifies the numeric position in the collating sequence of the last character to be returned.\",\"placeholder\":true,\"optional\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n07tiyisuaqo2zn1kr6e19c3ck3p\"},{\"name\":\"length\",\"description\":\"specifies the number of characters in the collating sequence.\",\"placeholder\":true,\"optional\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n0s49k25lgismqn1bkjqglrul3bh\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n1k9dtbhesk4lgn1dwbj5xfudwft.htm\"}},{\"name\":\"COMB\",\"description\":\"Computes the number of combinations of n elements taken r at a time.\",\"syntax\":{\"help\":\"COMB (*n*, *r*)\",\"arguments\":[{\"name\":\"n\",\"description\":\"is a nonnegative integer that represents the total number of elements from which the sample is chosen.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p0grejd1u2rcxon1sy9zm4f4icvu\"},{\"name\":\"r\",\"description\":\"is a nonnegative integer that represents the number of chosen elements.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n0zr8jn4gdtx40n19vfr4n5k71ux\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n1fdwthip0k61yn1bw77s8cupaxw.htm\"}},{\"name\":\"COMPARE\",\"description\":\"Returns the position of the leftmost character by which two strings differ, or returns 0 if there is no difference.\",\"syntax\":{\"help\":\"COMPARE (*string-1*, *string-2*&lt;, *modifier(s)*&gt;)\",\"arguments\":[{\"name\":\"string-1\",\"description\":\"specifies a character constant, variable, or expression.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p0l9zwaiv9xvzen1l5ax5k3kl0og\"},{\"name\":\"string-2\",\"description\":\"specifies a character constant, variable, or expression.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p1whijdzcur41hn1owexuzxiy7r1\"},{\"name\":\"modifier\",\"description\":\"specifies a character string that can modify the action of the COMPARE function.\",\"placeholder\":true,\"optional\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n0akc7xx8m4sojn1duv7ht7ook0k\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p0iaa25pnhl59ln1v4yrympngpic.htm\"}},{\"name\":\"COMPBL\",\"description\":\"Removes multiple blanks from a character string.\",\"syntax\":{\"help\":\"COMPBL (*source*)\",\"arguments\":[{\"name\":\"source\",\"description\":\"specifies a character constant, variable, or expression to compress.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p0qg0zuwgtr3ken1c3lmrhrmvuba\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p1si0i16bcqti7n1jxxxe1hstunq.htm\"}},{\"name\":\"COMPFUZZ\",\"description\":\"Performs a fuzzy comparison of two numeric values.\",\"syntax\":{\"help\":\"COMPFUZZ (*value-1*, *value-2*&lt;, *fuzz* &lt;, *scale*&gt;&gt;)\",\"arguments\":[{\"name\":\"value-1\",\"description\":\"specifies the first of two numeric values to be compared.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p0gxc7hlde0sbnn1oy16el76928n\"},{\"name\":\"value-2\",\"description\":\"specifies the second numeric value to be compared.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n11sx0bb9r6etpn13lsk2ndm1cj7\"},{\"name\":\"fuzz\",\"description\":\"is a nonnegative numeric value that specifies the relative threshold for comparisons. Values greater than or equal to 1 are treated as multiples of the machine precision.\",\"placeholder\":true,\"optional\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p0mwc0j0q7er2hn0z2ayc6y0ti0m\"},{\"name\":\"scale\",\"description\":\"specifies the scale factor.\",\"placeholder\":true,\"optional\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n1jfbd2mmyr6v6n16p3a6wenqmar\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p0ifledavu3rv1n10gclzxbyy0ul.htm\"}},{\"name\":\"COMPFUZZ_MISS\",\"description\":\"Performs comparisons of missing numeric values and fuzzy comparisons of nonmissing numeric values.\",\"syntax\":{\"help\":\"COMPFUZZ_MISS (*value-1*, *value-2*&lt;&lt;, *fuzz*&lt;&lt;*scale*&gt;&gt;&gt;&gt;) \",\"arguments\":[{\"name\":\"value-1\",\"description\":\"specifies the first of two numeric values to be compared.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p1srxm76i2k4znn1456p7isnwu8o\"},{\"name\":\"value-2\",\"description\":\"specifies the second numeric value to be compared.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n1datamnhc4pkmn1qgouhg1mjkc3\"},{\"name\":\"fuzz\",\"description\":\"is a nonnegative numeric value that specifies the relative threshold for comparisons. Values greater than or equal to 1 are treated as multiples of the machine precision.\",\"placeholder\":true,\"optional\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n158vrbvcp53ein1iyqshqn0avdj\"},{\"name\":\"scale\",\"description\":\"specifies the scale factor.\",\"placeholder\":true,\"optional\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p06py90vq5j29fn1rz93ul5m1ymr\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n1sgvsr1lckyk1n1hk1bvm7jjwrn.htm\"}},{\"name\":\"COMPGED\",\"description\":\"Returns the generalized edit distance between two strings.\",\"syntax\":{\"help\":\"COMPGED (*string-1*, *string-2*&lt;, *cutoff*&gt;&lt;, *modifier(s)*&gt;)\",\"arguments\":[{\"name\":\"string-1\",\"description\":\"specifies a character constant, variable, or expression.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n14evfc4wmwgj4n1l7s64wwxm2a3\"},{\"name\":\"string-2\",\"description\":\"specifies a character constant, variable, or expression.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n0n0dkorwxozb4n1ijl4fgogmwwn\"},{\"name\":\"cutoff\",\"description\":\"is a numeric constant, variable, or expression. If the actual generalized edit distance is greater than the value of cutoff, the value that is returned is equal to the value of cutoff.\",\"placeholder\":true,\"optional\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n06tqxhjm4c81fn16s4wkorlxba3\"},{\"name\":\"modifier\",\"description\":\"specifies a character string that can modify the action of the COMPGED function.\",\"placeholder\":true,\"optional\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p17ynszs9uv3bnn15n6cvo3xqzwi\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p1r4l9jwgatggtn1ko81fyjys4s7.htm\"}},{\"name\":\"COMPLEV\",\"description\":\"Returns the Levenshtein edit distance between two strings.\",\"syntax\":{\"help\":\"COMPLEV (*string-1*, *string-2*&lt;, *cutoff*&gt;&lt;, *modifier(s)*&gt;)\",\"arguments\":[{\"name\":\"string-1\",\"description\":\"specifies a character constant, variable, or expression.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n1lso1xsvhcw97n1apfhpc51fspb\"},{\"name\":\"string-2\",\"description\":\"specifies a character constant, variable, or expression.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p1hufeupo7hgy9n1vnz3exk67vsh\"},{\"name\":\"cutoff\",\"description\":\"specifies a numeric constant, variable, or expression. If the actual Levenshtein edit distance is greater than the value of cutoff, the value that is returned is equal to the value of cutoff.\",\"placeholder\":true,\"optional\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n1vpvq9q19c09dn1kzil9xtqmxus\"},{\"name\":\"modifier\",\"description\":\"specifies a character string that can modify the action of the COMPLEV function.\",\"placeholder\":true,\"optional\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n1fu7c0x2or1x2n1wx649d48zyl9\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n0l41pdemybegln1oetsh4cctdap.htm\"}},{\"name\":\"COMPOUND\",\"description\":\"Returns compound interest parameters.\",\"syntax\":{\"help\":\"COMPOUND (*a*, *f*, *r*, *n*)\",\"arguments\":[{\"name\":\"a\",\"description\":\"is numeric and specifies the initial amount.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n0x72j8e99y9imn1rv5ddgj6fb7w\"},{\"name\":\"f\",\"description\":\"is numeric and specifies the future amount (at the end of n periods).\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p0i7pdj3ii0q04n10dkutf6tut9j\"},{\"name\":\"r\",\"description\":\"is numeric and specifies the periodic interest rate expressed as a fraction.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p1csyw6aeqf8tdn1gakakcjcmfj7\"},{\"name\":\"n\",\"description\":\"is an integer and specifies the number of compounding periods.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n1ol3cq87c803sn13cj2x4u8ircj\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n0ledxl0wyn9jyn12hi34nlpp7ve.htm\"}},{\"name\":\"COMPRESS\",\"description\":\"Returns a character string with specified characters removed from the original string.\",\"syntax\":{\"help\":\"COMPRESS (*source* ,&lt; *characters*&gt; ,&lt; *modifier(s)*&gt;)\",\"arguments\":[{\"name\":\"source\",\"description\":\"specifies a character constant, variable, or expression from which specified characters are removed.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p1cfydc2ifh484n1fodgztvpebog\"},{\"name\":\"characters\",\"description\":\"specifies a character constant, variable, or expression that initializes a list of characters.\",\"placeholder\":true,\"optional\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p1cm6en3ihcusmn1u6x1ue6vyvcj\"},{\"name\":\"modifier\",\"description\":\"specifies a character constant, variable, or expression in which each non-blank character modifies the action of the COMPRESS function. Blanks are ignored.\",\"placeholder\":true,\"optional\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p0t37skg8o4cfgn166syt5boeofr\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n0fcshr0ir3h73n1b845c4aq58hz.htm\"}},{\"name\":\"COMPSRV_OVAL\",\"description\":\"Returns the original, possibly unsafe, value of an input parameter or global macro variable that is passed into the Compute server.\",\"syntax\":{\"help\":\"COMPSRV_OVAL (*macro-variable-name*);\",\"arguments\":[{\"name\":\"macro-variable-name\",\"description\":\"specifies the name of the input parameter or global macro variable (with no leading ampersands).\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p19oyp9peeuh3bn18x00z8cwuonr\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p0nj8y96j7l6cun1oholejcecm4x.htm\"}},{\"name\":\"COMPSRV_SESSION\",\"description\":\"Creates or deletes a session.\",\"syntax\":{\"help\":\"COMPSRV_SESSION (*'command'*)\",\"arguments\":[{\"name\":\"command\",\"description\":\"specifies the command: values are CREATE and DELETE.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n0fpmutfxtigqrn1tdx2qv3z558n\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p0zndscxtucaipn19fnmbsl0etsu.htm\"}},{\"name\":\"COMPSRV_UNQUOTE2\",\"description\":\"Unmasks matched pairs of quotation marks in an input parameter or global macro variable.\",\"syntax\":{\"help\":\"%SYSCALL STPSRV_UNQUOTE2 (*macro-variable-name*)\",\"arguments\":[{\"name\":\"macro-variable-name\",\"description\":\"specifies the name of the input parameter or global macro variable (with no leading ampersands).\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n01zyzdpi6g97dn1ueui66v47xsr\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n1nzc49bw66b2cn121wzpyb8m4lj.htm\"}},{\"name\":\"CONSTANT\",\"description\":\"Computes machine and mathematical constants.\",\"syntax\":{\"help\":\"CONSTANT (*constant*&lt;, *parameter*&gt;)\",\"arguments\":[{\"name\":\"constant\",\"description\":\"is a character constant, variable, or expression that identifies the constant to be returned.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p0r800jmzktpkhn1ifqofpe8hu4e\"},{\"name\":\"parameter\",\"description\":\"is an optional numeric parameter. Some of the constants specified in constant have an optional argument that alters the functionality of the CONSTANT function.\",\"placeholder\":true,\"optional\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p0ox02rypsaxakn1388difxxym4b\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p0l7s11dwvzfq5n1wnw997dye8fx.htm\"}},{\"name\":\"CONVX\",\"description\":\"Returns the convexity for an enumerated cash flow.\",\"syntax\":{\"help\":\"CONVX (*y*, *f*, *c(1), ..., c(k)*)\",\"arguments\":[{\"name\":\"y\",\"description\":\"specifies the effective per-period yield-to-maturity, expressed as a fraction.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p0f6ihg5ad3ct2n10vq7w4wiou0j\"},{\"name\":\"f\",\"description\":\"specifies the frequency of cash flows per period.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n1vs5kh7uayeuan1augrwlmmu3g4\"},{\"name\":\"c\",\"description\":\"specifies a list of cash flows.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p1q8k2jujglnhan1a5jmbrdqhvyw\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n1lt9yndigg9z3n19pn4fsvz5toj.htm\"}},{\"name\":\"CONVXP\",\"description\":\"Returns the convexity for a periodic cash flow stream such as a bond.\",\"syntax\":{\"help\":\"CONVXP (*A*, *c*, *n*, *K*, *k<sub>0</sub>*, *y*)\",\"arguments\":[{\"name\":\"A\",\"description\":\"specifies the par value.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n097pshkmuo8v2n1vwcvi4di4rpq\"},{\"name\":\"c\",\"description\":\"specifies the nominal per-period coupon rate, expressed as a fraction.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p1hujdjl3fkuivn1mmg0donwwzi9\"},{\"name\":\"n\",\"description\":\"specifies the number of coupons per period.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p1j5f3uvpg59wjn1b98r8eiab79n\"},{\"name\":\"K\",\"description\":\"specifies the number of remaining coupons.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n1b21cvtdqzsmon1l82drszhjh2u\"},{\"name\":\"k0\",\"description\":\"specifies the time from the present date to the first coupon date, expressed in terms of the number of periods.\",\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p0r0j9jzlw2hhvn14pmnipupi4mx\"},{\"name\":\"y\",\"description\":\"specifies the nominal per-period yield-to-maturity, expressed as a fraction.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n1q69waxeh9535n1sh6upne3mujp\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n0zjruvuhxhh9jn18t52ru4rtaqh.htm\"}},{\"name\":\"COS\",\"description\":\"Returns the cosine.\",\"syntax\":{\"help\":\"COS (*argument*)\",\"arguments\":[{\"name\":\"argument\",\"description\":\"specifies a numeric constant, variable, or expression and is expressed in radians. If the magnitude of argument is so great that mod(argument,pi) is accurate to less than about three decimal places, COS returns a missing value.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n1vkqb6ugoxoi9n1hhca85zt7lnx\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p0etue4jgq24lqn1vbl4xq1o3vww.htm\"}},{\"name\":\"COSH\",\"description\":\"Returns the hyperbolic cosine.\",\"syntax\":{\"help\":\"COSH (*argument*)\",\"arguments\":[{\"name\":\"argument\",\"description\":\"specifies a numeric constant, variable, or expression.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p1prvee7sry9mmn1w5pv0te7rw9w\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p1hhje2o785bbin1ms4vbvhu9hkg.htm\"}},{\"name\":\"COT\",\"description\":\"Returns the cotangent.\",\"syntax\":{\"help\":\"COT (*argument*)\",\"arguments\":[{\"name\":\"argument\",\"description\":\"specifies a numeric constant, variable, or expression and is expressed in radians.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n1ibpcaw82nnhdn188tyya2p6oh0\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n0zayp12iwc7sxn1vtoe7q9vmf6i.htm\"}},{\"name\":\"COUNT\",\"description\":\"Returns the number of rows retrieved by a SELECT statement for a specified table.\",\"syntax\":{\"help\":\"COUNT  (&lt;ALL | DISTINCT&gt;* | *sql-expression*)\",\"arguments\":[{\"name\":\"*\",\"description\":\"returns a count of all rows in a table or grouping of rows, including rows that contain missing values.\",\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"p0cw5ahble4a4fn13nyp05us20f6\"},{\"name\":\"sql-expression\",\"description\":\"specifies any valid SQL expression. See .\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p17etdycxo3t5un1mfeysubhn2ux\"},{\"name\":\"ALL\",\"description\":\"(default) specifies that all nonmissing values returned by sql-expression be counted.\",\"optional\":true,\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"p0wnqnlqg3tv4nn1l4bqqv4g7p6h\"},{\"name\":\"DISTINCT\",\"description\":\"eliminates duplicate rows returned by sql-expression from the count.\",\"optional\":true,\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"n04f07uxxtw2oyn1836k3h1c9bxp\"}]},\"supportSiteInformation\":{\"docsetId\":\"sqlproc\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p0om9r5kn9lhq8n1uzfx02wht5kv.htm\"}},{\"name\":\"COUNTC\",\"description\":\"Counts the number of characters that appear or do not appear in a list of characters.\",\"syntax\":{\"help\":\"COUNTC (*string*, *character-list*&lt;, *modifier(s)*&gt;)\",\"arguments\":[{\"name\":\"string\",\"description\":\"specifies a character constant, variable, or expression in which characters are counted.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n1xhwzkluvx8ukn114thh26penl4\"},{\"name\":\"character-list\",\"description\":\"specifies a character constant, variable, or expression that initializes a list of characters. COUNTC counts characters in this list, provided that you do not specify the V modifier in the modifier argument. If you specify the V modifier, all characters that are not in this list are counted. You can add more characters to the list by using other modifiers.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n1jndq14nl1spvn1edk21rlnnmqe\"},{\"name\":\"modifier\",\"description\":\"specifies a character constant, variable, or expression in which each non-blank character modifies the action of the COUNTC function. Blanks are ignored.\",\"placeholder\":true,\"optional\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p1tq81gysx69jkn1tj88u6cifunr\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n1qcntq4r6p3w3n1mtsnm58tbomc.htm\"}},{\"name\":\"COUNTW\",\"description\":\"Counts the number of words in a character string.\",\"syntax\":{\"help\":\"COUNTW (*string*&lt;, &lt;*character(s)*&gt; &lt;, &lt;*modifier(s)*&gt;&gt;&gt;)\",\"arguments\":[{\"name\":\"string\",\"description\":\"specifies a character constant, variable, or expression in which words are counted.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p0a7ebmh57tnvtn1oum5fu5qbttu\"},{\"name\":\"character\",\"description\":\"specifies an optional character constant, variable, or expression that initializes a list of characters. The characters in this list are the delimiters that separate words, provided that you do not use the K modifier in the modifier argument. If you specify the K modifier, all characters that are not in this list are delimiters. You can add more characters to the list by using other modifiers.\",\"placeholder\":true,\"optional\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n1hvyr093erbnwn0zh03wba53gqf\"},{\"name\":\"modifier\",\"description\":\"specifies a character constant, variable, or expression in which each non-blank character modifies the action of the COUNTW function.\",\"placeholder\":true,\"optional\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n1pl9ce4kp7nyvn1jbuk77cav8n8\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p18xi2516ihygyn1qg1b1nby326k.htm\"}},{\"name\":\"CSC\",\"description\":\"Returns the cosecant.\",\"syntax\":{\"help\":\"CSC (*argument*)\",\"arguments\":[{\"name\":\"argument\",\"description\":\"specifies a numeric constant, variable, or expression and is expressed in radians.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p1tf5xy3rsasw2n1qrhbsxlhhy6h\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n0ourqhvvm9mthn1muinn4t8k45e.htm\"}},{\"name\":\"CSS\",\"description\":\"Returns the corrected sum of squares.\",\"syntax\":{\"help\":\"CSS  (&lt;ALL | DISTINCT&gt;*sql-expression*)\",\"arguments\":[{\"name\":\"sql-expression\",\"description\":\"specifies any valid SQL expression. See .\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n0jyc53ml4c5uan1ezexegxlgo60\"},{\"name\":\"ALL\",\"description\":\"(default) specifies that all missing values returned by sql-expression be counted.\",\"optional\":true,\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"p0yekhbbr2plrjn138edr3p43n8q\"},{\"name\":\"DISTINCT\",\"description\":\"eliminates duplicate rows returned by sql-expression from the count.\",\"optional\":true,\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"p1icouylfj9n40n1anei4qqy663m\"}]},\"supportSiteInformation\":{\"docsetId\":\"sqlproc\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p1qh4duwgowtisn1702xnzdnh00w.htm\"}},{\"name\":\"CUMIPMT\",\"description\":\"Returns the cumulative interest paid on a loan between the start and end periods.\",\"syntax\":{\"help\":\"CUMIPMT (*rate*, *number-of-periods*, *principal-amount*, &lt;*start-period*&gt;, &lt;*end-period*&gt;, &lt;*type*&gt;)\",\"arguments\":[{\"name\":\"rate\",\"description\":\"specifies the interest rate per payment period.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p19jpvgrkfljk5n1pj5sa2wql559\"},{\"name\":\"number-of-periods\",\"description\":\"specifies the number of payment periods. Number-of-periods must be a positive integer value.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p0o87updk2bgwjn1n0kdgddmur52\"},{\"name\":\"principal-amount\",\"description\":\"specifies the principal amount of the loan. If a missing value is specified, 0 is assumed.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p1ezr1tt8nyko0n1r274h2faswef\"},{\"name\":\"start-period\",\"description\":\"specifies the start period for the calculation.\",\"placeholder\":true,\"optional\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n1d1axd6ftlg1nn1xhdljxx0js3w\"},{\"name\":\"end-period\",\"description\":\"specifies the end period for the calculation.\",\"placeholder\":true,\"optional\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p0fc0iqqjh5zy5n1m25y8k4k3kep\"},{\"name\":\"type\",\"description\":\"specifies whether the payments occur at the beginning or end of a period; 0 represents the end-of-period payments, and 1 represents the beginning-of-period payments. If type is omitted or if a missing value is specified, 0 is assumed.\",\"placeholder\":true,\"optional\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n1sbxvxnqas6q0n1u4hdcfhxfyjr\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p1a0ba7srpcarkn123d1sz94yvq0.htm\"}},{\"name\":\"CUMPRINC\",\"description\":\"Returns the cumulative principal paid on a loan between the start and end periods.\",\"syntax\":{\"help\":\"CUMPRINC (*rate*, *number-of-periods*, *principal-amount*, &lt;*start-period*&gt;, &lt;*end-period*&gt;, &lt;*type*&gt;)\",\"arguments\":[{\"name\":\"rate\",\"description\":\"specifies the interest rate per payment period.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n0xj70e6wdo4lwn1i6lmtsgaoo8e\"},{\"name\":\"number-of-periods\",\"description\":\"specifies the number of payment periods. Number-of-periods must be a positive integer value.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n0mfa8jja0zo6hn1wrug55i29esg\"},{\"name\":\"principal-amount\",\"description\":\"specifies the principal amount of the loan. If a missing value is specified, 0 is assumed.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p0jcjigluftx98n1ubeql6wqshgu\"},{\"name\":\"start-period\",\"description\":\"specifies the start period for the calculation.\",\"placeholder\":true,\"optional\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p01wdk2ubxbcman1p2pd20d90rh5\"},{\"name\":\"end-period\",\"description\":\"specifies the end period for the calculation.\",\"placeholder\":true,\"optional\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p0munv0ttm043cn1nteu70ftlyli\"},{\"name\":\"type\",\"description\":\"specifies whether the payments occur at the beginning or end of a period; 0 represents the end-of-period payments, and 1 represents the beginning-of-period payments. If type is omitted or if a missing value is specified, 0 is assumed.\",\"placeholder\":true,\"optional\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p07edpkwr17i97n1dxxwen3aw9fn\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p1413vwis5jrron1rlzfyqkabosx.htm\"}},{\"name\":\"CUROBS\",\"description\":\"Returns the observation number of the current observation.\",\"syntax\":{\"help\":\"CUROBS (*data-set-id*)\",\"arguments\":[{\"name\":\"data-set-id\",\"description\":\"is a numeric value that specifies the data set identifier that the OPEN function returns.\",\"placeholder\":true,\"dataTypes\":[\"dataSet\"],\"supportSiteTargetFragment\":\"n12hr8ha9zz7w3n1nsuh51wencfg\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p1vy2pblbfcadun1w3ndljol2b2b.htm\"}},{\"name\":\"CV\",\"description\":\"Returns the coefficient of variation (percent).\",\"syntax\":{\"help\":\"CV  (&lt;ALL | DISTINCT&gt;*sql-expression*)\",\"arguments\":[{\"name\":\"sql-expression\",\"description\":\"specifies any valid SQL expression. See .\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n0g8i67elw52ain1p30rqszk0uhw\"},{\"name\":\"ALL\",\"description\":\"(default) specifies that all missing values returned by sql-expression be counted.\",\"optional\":true,\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"n0lf444g5bt0kxn1180itv31h7gh\"},{\"name\":\"DISTINCT\",\"description\":\"eliminates duplicate rows returned by sql-expression from the count.\",\"optional\":true,\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"p0m6tckoe2x0e9n19xit0dkymqf6\"}]},\"supportSiteInformation\":{\"docsetId\":\"sqlproc\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n1bnc4f34zpn4on1g0925vqvhmd7.htm\"}},{\"name\":\"DACCDB\",\"description\":\"Returns the accumulated declining balance depreciation.\",\"syntax\":{\"help\":\"DACCDB (*p*, *v*, *y*, *r*)\",\"arguments\":[{\"name\":\"p\",\"description\":\"is numeric, and specifies the period for which the calculation is to be done. For noninteger p arguments, the depreciation is prorated between the two consecutive time periods that precede and follow the fractional period.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p1maom7mklbg0cn166356iipexib\"},{\"name\":\"v\",\"description\":\"is numeric, the depreciable initial value of the asset.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n0fhdpmrir01v9n14jwuuov2okva\"},{\"name\":\"y\",\"description\":\"is numeric, the lifetime of the asset.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n1obmmls7u8za6n1wylnkkx4njjp\"},{\"name\":\"r\",\"description\":\"is numeric, the rate of depreciation expressed as a decimal.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n1mkbdsrgsxxkon1pyw75tcxczin\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p1lc0o8vn264ctn17xr7q0cj8i88.htm\"}},{\"name\":\"DACCDBSL\",\"description\":\"Returns the accumulated declining balance with conversion to a straight-line depreciation.\",\"syntax\":{\"help\":\"DACCDBSL (*p*, *v*, *y*, *r*)\",\"arguments\":[{\"name\":\"p\",\"description\":\"is numeric, and specifies the period for which the calculation is to be done.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n00ade6c004v82n1qcq149mfhpi5\"},{\"name\":\"v\",\"description\":\"is numeric, the depreciable initial value of the asset.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n169oishzpn8cdn15w2xvvu122hg\"},{\"name\":\"y\",\"description\":\"is an integer, the lifetime of the asset.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n0etb4wy9wxc5xn1bhippyl59kz0\"},{\"name\":\"r\",\"description\":\"is numeric, the rate of depreciation that is expressed as a fraction.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p0m7yd4c6tn2avn1onjlmgeai63f\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n0pz95lc373cl0n1ml5s0k620rtr.htm\"}},{\"name\":\"DACCSL\",\"description\":\"Returns the accumulated straight-line depreciation.\",\"syntax\":{\"help\":\"DACCSL (*p*, *v*, *y*)\",\"arguments\":[{\"name\":\"p\",\"description\":\"is numeric, the period for which the calculation is to be done. For fractional p, the depreciation is prorated between the two consecutive time periods that precede and follow the fractional period.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p1s67qsl3gl28cn1mo0lx3anrt1u\"},{\"name\":\"v\",\"description\":\"is numeric, the depreciable initial value of the asset.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n01s68ur88llexn1ezxl00pq46rc\"},{\"name\":\"y\",\"description\":\"is numeric, the lifetime of the asset.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p11denzx46qwhdn1wslpsiyp5q5h\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n0kr8w1b5hb47hn1ptzejf14h9pn.htm\"}},{\"name\":\"DACCSYD\",\"description\":\"Returns the accumulated sum-of-years-digits depreciation.\",\"syntax\":{\"help\":\"DACCSYD (*p*, *v*, *y*)\",\"arguments\":[{\"name\":\"p\",\"description\":\"is numeric, the period for which the calculation is to be done. For noninteger p arguments, the depreciation is prorated between the two consecutive time periods that precede and follow the fractional period.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p02niayy56c82xn13bntv9yy3cyn\"},{\"name\":\"v\",\"description\":\"is numeric, the depreciable initial value of the asset.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n0wpiv1u4xk0m6n1dwvvscpcmkcx\"},{\"name\":\"y\",\"description\":\"is numeric, the lifetime of the asset.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p0ov6qnyzo9n4cn1u0p8i1oasxkz\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p0hxcoht1ltzz2n1tz3ic12v8shg.htm\"}},{\"name\":\"DACCTAB\",\"description\":\"Returns the accumulated depreciation from specified tables.\",\"syntax\":{\"help\":\"DACCTAB (*p*, *v*, *t1, ..., tn*)\",\"arguments\":[{\"name\":\"p\",\"description\":\"is numeric, the period for which the calculation is to be done. For noninteger p arguments, the depreciation is prorated between the two consecutive time periods that precede and follow the fractional period.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p18ek7q2skqwzun16l090lafsknq\"},{\"name\":\"v\",\"description\":\"is numeric, the depreciable initial value of the asset.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n0wj3th5iu3uvon10h9mjfsfj236\"},{\"name\":\"t1,\",\"description\":\"are numeric, and are the fractions of depreciation for each time period with t1+t2+...tn less than or equal to ≤ 1.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p1gtsuz1kkfk9xn1vwpdba66c4iw\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n0xp826xprwieqn1r05i242mhjoa.htm\"}},{\"name\":\"DAIRY\",\"description\":\"Returns the derivative of the AIRY function.\",\"syntax\":{\"help\":\"DAIRY (*x*)\",\"arguments\":[{\"name\":\"x\",\"description\":\"specifies a numeric constant, variable, or expression.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n0tmylrt10dbzon13ocn45g8m1x2\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p1w4nygjpd1afrn17y2yr411rsp5.htm\"}},{\"name\":\"DATDIF\",\"description\":\"Returns the number of days between two dates after computing the difference between the dates according to specified day count conventions.\",\"syntax\":{\"help\":\"DATDIF (*start-date*, *end-date*, *basis*)\",\"arguments\":[{\"name\":\"start-date\",\"description\":\"specifies a SAS date value that identifies the starting date.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p0j23iwlkxk7azn1q6cb7jdsbxcx\"},{\"name\":\"end-date\",\"description\":\"specifies a SAS date value that identifies the ending date.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n0lexua51d9xt2n1uyz4vu71gyte\"},{\"name\":\"'30/360'\",\"description\":\"specifies a 30-day month and a 360-day year, regardless of the actual number of calendar days in a month or year.\",\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"p0i7uwu4hkpcgdn1aghm0m0lw2w7\"},{\"name\":\"'ACT/ACT'\",\"description\":\"uses the actual number of days between dates. Each month is considered to have the actual number of calendar days in that month, and each year is considered to have the actual number of calendar days in that year.\",\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"n1n6p80rzl0kcun1tuel5954nykr\"},{\"name\":\"'ACT/360'\",\"description\":\"uses the actual number of calendar days in a particular month, and 360 days as the number of days in a year, regardless of the actual number of days in a year.\",\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"n0eqykp5sy2m89n1kj4euzd5ewai\"},{\"name\":\"'ACT/365'\",\"description\":\"uses the actual number of calendar days in a particular month, and 365 days as the number of days in a year, regardless of the actual number of days in a year.\",\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"n1q9tbdkvafjdpn1nzd5447ysukc\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p1gz65986b9jqin19zk9xqbi7ns3.htm\"}},{\"name\":\"DATE\",\"description\":\"Returns the current date as a SAS date value.\",\"syntax\":{\"help\":\"DATE ()\"},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p0ht19bal6q7den1brjimarp1oo7.htm\"}},{\"name\":\"DATEJUL\",\"description\":\"Converts a Julian date to a SAS date value.\",\"syntax\":{\"help\":\"DATEJUL (*julian-date*)\",\"arguments\":[{\"name\":\"julian-date\",\"description\":\"specifies a SAS numeric expression that represents a Julian date. A Julian date in SAS is a date in the form yyddd or yyyyddd, where yy or yyyy is a two-digit or four-digit integer that represents the year and ddd is the number of the day of the year. The value of ddd must be between 1 and 365 (or 366 for a leap year).\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n043mt0gqge298n16azmqiu5npzb\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p15eh3xh4qqs3in17ivbz5ywneff.htm\"}},{\"name\":\"DATEPART\",\"description\":\"Extracts the date from a SAS datetime value.\",\"syntax\":{\"help\":\"DATEPART (*datetime*)\",\"arguments\":[{\"name\":\"datetime\",\"description\":\"specifies a SAS expression that represents a SAS datetime value.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p0j3la3lqdlkq8n17k01ai1eloir\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p0rttbu7w62xgzn1damccyuwpld8.htm\"}},{\"name\":\"DATETIME\",\"description\":\"Returns the current date and time of day as a SAS datetime value.\",\"syntax\":{\"help\":\"DATETIME ()\"},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n0d1c4j8iqvqsen1r4lq8plq8atb.htm\"}},{\"name\":\"DAY\",\"description\":\"Returns the day of the month from a SAS date value.\",\"syntax\":{\"help\":\"DAY (*date*)\",\"arguments\":[{\"name\":\"date\",\"description\":\"specifies a SAS expression that represents a SAS date value.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p1u5ajh34y8bujn1o0dxblktv3a1\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n1unol18vcga6vn12vjvdhw1l8je.htm\"}},{\"name\":\"DCLOSE\",\"description\":\"Closes a directory that was opened by the DOPEN function.\",\"syntax\":{\"help\":\"DCLOSE (*directory-id*)\",\"arguments\":[{\"name\":\"directory-id\",\"description\":\"is a numeric variable that specifies the identifier that was assigned when the directory was opened by the DOPEN function.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p15irwfgvmqg1mn1in6h52twqsgn\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n19037hth6jo52n14hqvcbjngw9e.htm\"}},{\"name\":\"DCREATE\",\"description\":\"Returns the complete pathname of a new, external directory.\",\"syntax\":{\"help\":\"DCREATE (*directory-name*&lt;, *parent-directory*&gt;)\",\"arguments\":[{\"name\":\"directory-name\",\"description\":\"is a character constant, variable, or expression that specifies the name of the directory to create. This value cannot include a pathname.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p1po83gw9b99vln1egia8m3902ac\"},{\"name\":\"parent-directory\",\"description\":\"is a character constant, variable, or expression that contains the complete pathname of the directory in which to create the new directory. If you do not supply a value for parent-directory, then the current directory is the parent directory.\",\"placeholder\":true,\"optional\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p1g9d9pwbw9mvtn187h8w9z48e90\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p1aj29pf4cxnirn15q5hmf0tv438.htm\"}},{\"name\":\"DEPDB\",\"description\":\"Returns the declining balance depreciation.\",\"syntax\":{\"help\":\"DEPDB (*p*, *v*, *y*, *r*)\",\"arguments\":[{\"name\":\"p\",\"description\":\"is numeric, the period for which the calculation is to be done. For noninteger p arguments, the depreciation is prorated between the two consecutive time periods that precede and follow the fractional period.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n11iwyiu0yw7vpn1nyhgsgw35ql8\"},{\"name\":\"v\",\"description\":\"is numeric, the depreciable initial value of the asset.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p0444aekphglgtn1h6j2j4ryau27\"},{\"name\":\"y\",\"description\":\"is numeric, the lifetime of the asset.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p0j3ngny1w532en1n2ci1mi592c0\"},{\"name\":\"r\",\"description\":\"is numeric, the rate of depreciation that is expressed as a fraction.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p1hs0ytvf4me8fn132wm57m0h65c\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p0lo9obgr1vpj5n1bhngq5v9f0lo.htm\"}},{\"name\":\"DEPDBSL\",\"description\":\"Returns the declining balance with conversion to a straight-line depreciation.\",\"syntax\":{\"help\":\"DEPDBSL (*p*, *v*, *y*, *r*)\",\"arguments\":[{\"name\":\"p\",\"description\":\"is an integer, the period for which the calculation is to be done.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n1q6xnc6jaci6un1v7j8pqxlqsv3\"},{\"name\":\"v\",\"description\":\"is numeric, the depreciable initial value of the asset.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n168mevxt6c0uvn1n9e2gj7oog5s\"},{\"name\":\"y\",\"description\":\"is an integer, the lifetime of the asset.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p141dnyohxkjx0n1wud9i1rbwtrm\"},{\"name\":\"r\",\"description\":\"is numeric, the rate of depreciation that is expressed as a fraction.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p0vgady9pgcupqn1aeyplwzfc8ae\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n1hb3r1llryrovn1lxbm3p1dqska.htm\"}},{\"name\":\"DEPSL\",\"description\":\"Returns the straight-line depreciation.\",\"syntax\":{\"help\":\"DEPSL (*p*, *v*, *y*)\",\"arguments\":[{\"name\":\"p\",\"description\":\"is numeric, the period for which the calculation is to be done. For fractional p, the depreciation is prorated between the two consecutive time periods that precede and follow the fractional period.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n04by41a8h8g8nn15hd23gvkcx5z\"},{\"name\":\"v\",\"description\":\"is numeric, the depreciable initial value of the asset.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p028u7h05ojbfen1f4spghtmr54d\"},{\"name\":\"y\",\"description\":\"is numeric, the lifetime of the asset.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p1ea64iuxfabe9n1tpx7j5zf9s26\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p0nviivszwebycn1dr2zlnvlkhp7.htm\"}},{\"name\":\"DEPSYD\",\"description\":\"Returns the sum-of-years-digits depreciation.\",\"syntax\":{\"help\":\"DEPSYD (*p*, *v*, *y*)\",\"arguments\":[{\"name\":\"p\",\"description\":\"is numeric, the period for which the calculation is to be done. For noninteger p arguments, the depreciation is prorated between the two consecutive time periods that precede and follow the fractional period.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n0fsyg7c63kb2hn1ismlzmmi61z5\"},{\"name\":\"v\",\"description\":\"is numeric, the depreciable initial value of the asset.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p10tj1ikqpju86n1a95yjkw8wb0o\"},{\"name\":\"y\",\"description\":\"is numeric, the lifetime of the asset in number of depreciation periods.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n1l0ugsud3oqujn12by5r9q0qxcl\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p005rbp763nn94n1sp8xp9blfrwl.htm\"}},{\"name\":\"DEPTAB\",\"description\":\"Returns the depreciation from specified tables.\",\"syntax\":{\"help\":\"DEPTAB (*p*, *v*, *t1, ..., tn*)\",\"arguments\":[{\"name\":\"p\",\"description\":\"is numeric, the period for which the calculation is to be done. For noninteger p arguments, the depreciation is prorated between the two consecutive time periods that precede and follow the fractional period.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n0dk3o1qauga9gn1rsk4zx0dr11u\"},{\"name\":\"v\",\"description\":\"is numeric, the depreciable initial value of the asset.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p02xhboce35739n16imqliopraqg\"},{\"name\":\"t1,\",\"description\":\"are numeric, the fractions of depreciation for each time period with t1+t2+...tn less than or equal to ≤ 1.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p18sbfsu3cfe1kn1fvei43l8u1tg\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p09r52nbrednl2n16q1nl161gcgt.htm\"}},{\"name\":\"DEQUOTE\",\"description\":\"Removes matching quotation marks from a character string that begins with a quotation mark, and deletes all characters to the right of the closing quotation mark.\",\"syntax\":{\"help\":\"DEQUOTE (*string*)\",\"arguments\":[{\"name\":\"string\",\"description\":\"specifies a character constant, variable, or expression.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n0mfyvz20tgbukn1bxprzpzgossk\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n0v1da94165bxen1oj003r1vx2m4.htm\"}},{\"name\":\"DEVIANCE\",\"description\":\"Returns the deviance based on a probability distribution.\",\"syntax\":{\"help\":\"DEVIANCE (*distribution*, *variable*, *shape-parameters*&lt;, *ε*&gt;)\",\"arguments\":[{\"name\":\"distribution\",\"description\":\"is a character constant, variable, or expression that identifies the distribution.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p1a5wrwhsmwylvn13d8w7zglyo0b\"},{\"name\":\"variable\",\"description\":\"is a numeric constant, variable, or expression.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n140i90lww14e0n0z23fzm9g3e1l\"},{\"name\":\"shape-parameter\",\"description\":\"are one or more distribution-specific numeric parameters that characterize the shape of the distribution.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p0t9ngpo1dromqn10pv5dp3fkpgr\"},{\"name\":\"ε\",\"description\":\"is an optional numeric small value used for all of the distributions, except for the normal distribution.\",\"placeholder\":true,\"optional\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p0gqg9tzrmasqon1tnrqol8y8xk5\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n056q4a56xwr6jn1wuaawgavd61c.htm\"}},{\"name\":\"DHMS\",\"description\":\"Returns a SAS datetime value from date, hour, minute, and second values.\",\"syntax\":{\"help\":\"DHMS (*date*, *hour*, *minute*, *second*)\",\"arguments\":[{\"name\":\"date\",\"description\":\"specifies a SAS expression that represents a SAS date value.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p0zp2qey2y8egdn1azd9ubfb6m9k\"},{\"name\":\"hour\",\"description\":\"is numeric.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p04exo1unlldkyn1pn1mvkas5vio\"},{\"name\":\"minute\",\"description\":\"is numeric.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p0zdblo4v7um6un116am8ceptt9m\"},{\"name\":\"second\",\"description\":\"is numeric.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n0hkqqpcbo6gqnn1kmekkm2j2l0d\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p1b9d1kbo0czoxn1ouj1kcxwqzn1.htm\"}},{\"name\":\"DIF\",\"description\":\"Returns differences between an argument and its nth lag.\",\"syntax\":{\"help\":\"DIF &lt;*n*&gt; (*argument*)\",\"arguments\":[{\"name\":\"argument\",\"description\":\"specifies a numeric constant, variable, or expression.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p0pkd71kb0ui65n140cmyq0x9dn1\"},{\"name\":\"n\",\"description\":\"specifies the number of lags.\",\"placeholder\":true,\"optional\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n0eilla9xk6x34n1sc76hg7bu33a\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n10t6w4op574ttn11yk68dottp7f.htm\"}},{\"name\":\"DIGAMMA\",\"description\":\"Returns the value of the digamma function.\",\"syntax\":{\"help\":\"DIGAMMA (*argument*)\",\"arguments\":[{\"name\":\"argument\",\"description\":\"specifies a numeric constant, variable, or expression.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n1rw3x4ae6bqxvn1osv6286och6n\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n1fvcztp73er6dn1ilqt37z0j9ue.htm\"}},{\"name\":\"DIM\",\"description\":\"Returns the number of elements in an array.\",\"syntax\":{\"help\":\"DIM <n> (array-name) \\nDIM (array-name, bound-n)\",\"arguments\":[{\"name\":\"array-name\",\"description\":\"specifies the name of an array that was previously defined in the same DATA step. This argument cannot be a constant, variable, or expression.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p0o9a7d728egavn14izi6m7i2lbu\"},{\"name\":\"bound-n\",\"description\":\"is a numeric constant, variable, or expression that specifies the dimension, in a multidimensional array, for which you want to know the number of elements. Use bound-n only when n is not specified.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p196ly9unngtxan1ttf8xbicsdzb\"},{\"name\":\"n\",\"description\":\"specifies the dimension, in a multidimensional array, for which you want to know the number of elements. If no n value is specified, the DIM function returns the number of elements in the first dimension of the array.\",\"placeholder\":true,\"optional\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p0h3roc92s9m08n1qqu6sndrhge3\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p18toxpk18mlr1n1x7yihyj8o8jb.htm\"}},{\"name\":\"DINFO\",\"description\":\"Returns information about a directory.\",\"syntax\":{\"help\":\"DINFO (*directory-id*, *information-item*)\",\"arguments\":[{\"name\":\"directory-id\",\"description\":\"is a numeric variable that specifies the identifier that was assigned when the directory was opened by the DOPEN function.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p0qrs6sd4b1ezbn1oqb29rhgllip\"},{\"name\":\"information-item\",\"description\":\"is a character constant, variable, or expression that specifies the information item to be retrieved. DINFO returns a blank if the value of the information-item argument is invalid. The information available varies according to the operating environment.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p13v52qnv13zumn1w7arc46rek07\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p1bhwd0nlni4own1ia79mj0n29hv.htm\"}},{\"name\":\"DIVIDE\",\"description\":\"Returns the result of a division that handles special missing values for ODS output.\",\"syntax\":{\"help\":\"DIVIDE (*x*, *y*)\",\"arguments\":[{\"name\":\"x\",\"description\":\"is a numeric constant, variable, or expression that represents the numerator.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n0cb7vrp22mbk4n1sba4c1ls7dnf\"},{\"name\":\"y\",\"description\":\"is a numeric constant, variable, or expression that represents the denominator.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n1xdd4yormamlun1jitez7cy3ttk\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p1xybc7e4naq2dn1shl7w9kbxqqz.htm\"}},{\"name\":\"DLGCDIR\",\"description\":\"Sets the working directory.\",\"syntax\":{\"help\":\"DLGCDIR (&lt;*working_directory*&gt;)\",\"arguments\":[{\"name\":\"working_directory\",\"description\":\"specifies the working directory.\",\"placeholder\":true,\"optional\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p1avemrtgpawfjn1c2l35hel3ao7\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p1cjn9slqm22q7n1exa9ba8ydjce.htm\"}},{\"name\":\"DNUM\",\"description\":\"Returns the number of members in a directory.\",\"syntax\":{\"help\":\"DNUM (*directory-id*)\",\"arguments\":[{\"name\":\"directory-id\",\"description\":\"is a numeric variable that specifies the identifier that was assigned when the directory was opened by the DOPEN function.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p1q38k56nfx17fn1qe09z20htohi\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p0m5yzvai5v9phn1gsdca9j6utzw.htm\"}},{\"name\":\"DOPEN\",\"description\":\"Opens a directory, and returns a directory identifier value.\",\"syntax\":{\"help\":\"DOPEN (*fileref*)\",\"arguments\":[{\"name\":\"fileref\",\"description\":\"is a character constant, variable, or expression that specifies the fileref assigned to the directory. In a DATA step, fileref can be a character expression, a character string, or a DATA step variable whose value contains the fileref. If the function is used in a DATA Step, then fileref must be enclosed in quotation marks. If the function is used in macro code, then fileref must not be enclosed in quotation marks. In macro code, fileref can be any expression.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n1qq3hssfagylhn154t2q22dewka\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n0hpa8p9kacbran1ndqiw3krwohq.htm\"}},{\"name\":\"DOPTNAME\",\"description\":\"Returns directory attribute information.\",\"syntax\":{\"help\":\"DOPTNAME (*directory-id*, *nval*)\",\"arguments\":[{\"name\":\"directory-id\",\"description\":\"is a numeric variable that specifies the identifier that was assigned when the directory was opened by the DOPEN function.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n0u897rhs5uo0un1379neu5oy09h\"},{\"name\":\"nval\",\"description\":\"is a numeric constant, variable, or expression that specifies the sequence number of the information item.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p0v1k04djhrjh2n19c6nfmunsc34\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n0jdt2eo1d9pyxn1hxjrkwhi9cdp.htm\"}},{\"name\":\"DOPTNUM\",\"description\":\"Returns the number of information items that are available for a directory.\",\"syntax\":{\"help\":\"DOPTNUM (*directory-id*)\",\"arguments\":[{\"name\":\"directory-id\",\"description\":\"is a numeric variable that specifies the identifier that was assigned when the directory was opened by the DOPEN function.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p12ekxpajh6cfkn138ubxqwpfk76\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n0rkasl7uka5orn1qoxxail1iehw.htm\"}},{\"name\":\"DOSUBL\",\"description\":\"Enables the immediate execution of SAS code after a text string is passed.\",\"syntax\":{\"help\":\"DOSUBL (*x*)\",\"arguments\":[{\"name\":\"x\",\"description\":\"specifies a text string.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n0hfyunjbxs0vwn1mh0fbape7jwi\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p09dcftd1xxg1kn1brnjyc0q93yk.htm\"}},{\"name\":\"DREAD\",\"description\":\"Returns the name of a directory member.\",\"syntax\":{\"help\":\"DREAD (*directory-id*, *nval*)\",\"arguments\":[{\"name\":\"directory-id\",\"description\":\"is a numeric value that specifies the identifier that was assigned when the directory was opened by the DOPEN function.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p0nmeyg4fgsm20n13d1xcehcmn1c\"},{\"name\":\"nval\",\"description\":\"is a numeric constant, variable, or expression that specifies the sequence number of the member within the directory.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n1q1w7sek3phrwn1vpjc5oe087ui\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n1u8n0tue0ymkrn109xu8ya01kle.htm\"}},{\"name\":\"DROPNOTE\",\"description\":\"Deletes a note marker from a SAS data set or an external file.\",\"syntax\":{\"help\":\"DROPNOTE (*data-set-id* | *file-id*,                 *note-id*)\",\"arguments\":[{\"name\":\"data-set-id\",\"description\":\"is a numeric variable that specifies the identifier that was assigned when the data set or external file was opened, generally by the OPEN function or the FOPEN function.\",\"placeholder\":true,\"dataTypes\":[\"dataSet\"],\"supportSiteTargetFragment\":\"n0r465sabvx3d8n1imzu6t3y8pcr\"},{\"name\":\"note-id\",\"description\":\"is a numeric value that specifies the identifier that was assigned by the NOTE or FNOTE function.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n0q94uaftclaiwn1xj61bmzdwixt\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n1203ujeoeb38en17yxzxsjyksrm.htm\"}},{\"name\":\"DSNAME\",\"description\":\"Returns the SAS data set name that is associated with a data set identifier.\",\"syntax\":{\"help\":\"DSNAME (*data-set-id*)\",\"arguments\":[{\"name\":\"data-set-id\",\"description\":\"is a numeric variable that specifies the data set identifier that is returned by the OPEN function.\",\"placeholder\":true,\"dataTypes\":[\"dataSet\"],\"supportSiteTargetFragment\":\"n1iu555jodf3fnn1vcvys1hp56z0\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n1g35k13u121uvn12kpt2jvvdrhz.htm\"}},{\"name\":\"DUR\",\"description\":\"Returns the modified duration for an enumerated cash flow.\",\"syntax\":{\"help\":\"DUR (*y*, *f*, *c(1), ..., c(k)*)\",\"arguments\":[{\"name\":\"y\",\"description\":\"specifies the effective per-period yield-to-maturity, expressed as a fraction.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n0lh09jpn4zbapn1nryo5n5vr87t\"},{\"name\":\"f\",\"description\":\"specifies the frequency of cash flows per period.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n0pegk6u64xprhn19oqebovdt73r\"},{\"name\":\"c\",\"description\":\"specifies a list of cash flows.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n0ci3lq8aw8pfsn1jreud9q3ay3y\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n1ij7ashio8hu1n183syl7yb5pcf.htm\"}},{\"name\":\"DURP\",\"description\":\"Returns the modified duration for a periodic cash flow stream, such as a bond.\",\"syntax\":{\"help\":\"DURP (*A*, *c*, *n*, *K*, *k<sub>0</sub>*, *y*)\",\"arguments\":[{\"name\":\"A\",\"description\":\"specifies the par value.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p0ck24bkqva044n1beyxhsrvcyrg\"},{\"name\":\"c\",\"description\":\"specifies the nominal per-period coupon rate, expressed as a fraction.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n1aemwyi3d8gkun1l9j4e31sq5i1\"},{\"name\":\"n\",\"description\":\"specifies the number of coupons per period.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p03r2eid0ssmhan1v6s2nmrf4cx4\"},{\"name\":\"K\",\"description\":\"specifies the number of remaining coupons.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p113drima9vf3on1cjdqn03upg0f\"},{\"name\":\"k0\",\"description\":\"specifies the time from the present date to the first coupon date, expressed in terms of the number of periods.\",\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p0hcgk8q8g4uz1n1pg3tx1umoivb\"},{\"name\":\"y\",\"description\":\"specifies the nominal per-period yield-to-maturity, expressed as a fraction.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p0l3o62i3hl4ndn1qgha612fjbze\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n19ren9rz72qe7n1djjfeb6xyng8.htm\"}},{\"name\":\"EFFRATE\",\"description\":\"Returns the effective annual interest rate.\",\"syntax\":{\"help\":\"EFFRATE (*compounding-interval*, *rate*)\",\"arguments\":[{\"name\":\"compounding-interval\",\"description\":\"is a SAS interval. This value represents how often rate compounds.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p1imdn86aj95ucn1wkrz3l8ssctt\"},{\"name\":\"rate\",\"description\":\"is numeric. Rate is a nominal annual interest rate (expressed as a percentage) that is compounded at each compounding interval.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n0nsxr4qv9dhjsn1j95pd8sd2wcv\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p0j4x6j20xx933n1pbbvrihzpdds.htm\"}},{\"name\":\"ENCODCOMPAT\",\"description\":\"Verifies the transcoding compatibility between two encodings.\",\"syntax\":{\"help\":\"ENCODCOMPAT (*source1,&lt;source2&gt;*)\",\"arguments\":[{\"name\":\"source1\",\"description\":\"a character string that represents an encoding.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p0c7wt3axw29sfn147rd5xllk19a\"},{\"name\":\"source2\",\"description\":\"a character string that represents an encoding. This argument is optional.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n1d1braofacf78n18k71dtwbguaz\"}]},\"supportSiteInformation\":{\"docsetId\":\"nlsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n0rrq6ehp0fmjzn1xyfy986ed51l.htm\"}},{\"name\":\"ENCODISVALID\",\"description\":\"Verifies a valid encoding name.\",\"syntax\":{\"help\":\"ENCODISVALID (*source*)\",\"arguments\":[{\"name\":\"source\",\"description\":\"a character string that represents an encoding name.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n17deh8wz459xmn1jzvblbh0x1su\"}]},\"supportSiteInformation\":{\"docsetId\":\"nlsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n1j3vt3006qy2un0zsroj4t36gc6.htm\"}},{\"name\":\"ENVLEN\",\"description\":\"Returns the length of an environment variable.\",\"syntax\":{\"help\":\"ENVLEN (*argument*)\",\"arguments\":[{\"name\":\"argument\",\"description\":\"specifies a character variable that is the name of an operating system environment variable. Enclose argument in quotation marks.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n0rrvdda57bljpn1koarzdi83rlj\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p0mnd51dx1epvmn1hovaaakogz79.htm\"}},{\"name\":\"ERF\",\"description\":\"Returns the value of the (normal) error function.\",\"syntax\":{\"help\":\"ERF (*argument*)\",\"arguments\":[{\"name\":\"argument\",\"description\":\"specifies a numeric constant, variable, or expression.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n15dqagwbganj2n14nbu39ubf5tm\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p0spwgptwvbip6n11xrefkwtkrf2.htm\"}},{\"name\":\"ERFC\",\"description\":\"Returns the value of the complementary (normal) error function.\",\"syntax\":{\"help\":\"ERFC (*argument*)\",\"arguments\":[{\"name\":\"argument\",\"description\":\"specifies a numeric constant, variable, or expression.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n1svuy00f4rhbhn1ict5dojz4c15\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n0prld2f06ddpen1pt3xp2td024s.htm\"}},{\"name\":\"EUCLID\",\"description\":\"Returns the Euclidean norm of the nonmissing arguments.\",\"syntax\":{\"help\":\"EUCLID (*value-1*&lt;, *value-2 ...*&gt;)\",\"arguments\":[{\"name\":\"value\",\"description\":\"specifies a numeric constant, variable, or expression.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n1tztar1085grmn1as4u6hjz9d37\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p01uvzvdpw514in18j8xy1hwsd8d.htm\"}},{\"name\":\"EXIST\",\"description\":\"Verifies the existence of a SAS library member within a currently assigned SAS data library.\",\"syntax\":{\"help\":\"EXIST (*'member-name'*&lt;, *member-type* &lt;, *generation*&gt;&gt;)\",\"arguments\":[{\"name\":\"'member-name'\",\"description\":\"is a character constant, variable, or expression that specifies the SAS library member. If member-name is blank or a null string, then EXIST uses the value of the _LAST_ system variable as the member name.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p0lsj6f42g6yvnn143pa4fuuk3cr\"},{\"name\":\"member-type\",\"description\":\"is a character constant, variable, or expression that specifies the type of SAS library member. A few common member types include ACCESS, CATALOG, DATA, and VIEW. If you do not specify a member-type, then the member type DATA is assumed.\",\"placeholder\":true,\"optional\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p17v6mdeet1bzxn0z5cetzari0vj\"},{\"name\":\"generation\",\"description\":\"is a numeric constant, variable, or expression that specifies the generation number of the SAS data set whose existence you are checking. If member-type is not DATA, generation is ignored.\",\"placeholder\":true,\"optional\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n03ueqv36i3p74n11e7i5mmgl2if\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p1thpm9d6f5itan1c37zh8uz273z.htm\"}},{\"name\":\"EXP\",\"description\":\"Returns the value of the exponential function.\",\"syntax\":{\"help\":\"EXP (*argument*)\",\"arguments\":[{\"name\":\"argument\",\"description\":\"specifies a numeric constant, variable, or expression. For more information, see .\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p13erd9hhxsjjln17e8udi0maoud\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n0ocutx9jgosdln17xg1z75jmkbv.htm\"}},{\"name\":\"EXPM1\",\"description\":\"Returns 1 less than the exponential function of the argument.\",\"syntax\":{\"help\":\"EXPM1 (*x*)\",\"arguments\":[{\"name\":\"x\",\"description\":\"specifies a numeric variable, constant, or expression.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n0k7q4e3jk37kqn1x3l2nyo38pp4\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p0om99sby5vtlyn1c6b6413kuhgq.htm\"}},{\"name\":\"FACT\",\"description\":\"Computes a factorial.\",\"syntax\":{\"help\":\"FACT (*n*)\",\"arguments\":[{\"name\":\"n\",\"description\":\"is a numeric constant, variable, or expression.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p1r3662es5w2o1n101dxnvj03of3\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p17pfkttmfknqvn1wjr33oyz9yu6.htm\"}},{\"name\":\"FAPPEND\",\"description\":\"Appends the current record to the end of an external file.\",\"syntax\":{\"help\":\"FAPPEND (*file-id*&lt;, *cc*&gt;)\",\"arguments\":[{\"name\":\"file-id\",\"description\":\"is a numeric variable that specifies the identifier that was assigned when the file was opened, generally by the FOPEN function.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p0l12chsamjpqhn1wsr7fjryssuc\"},{\"name\":\"cc\",\"description\":\"is a character constant, variable, or expression that specifies a carriage-control character.\",\"placeholder\":true,\"optional\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n0yowyeqy4wqkpn1nb66l9bxcwua\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p0i233ipmsvng0n1jinrzwo6kuqq.htm\"}},{\"name\":\"FCLOSE\",\"description\":\"Closes an external file, directory, or directory member.\",\"syntax\":{\"help\":\"FCLOSE (*file-id*)\",\"arguments\":[{\"name\":\"file-id\",\"description\":\"is a numeric variable that specifies the identifier that was assigned when the file was opened, generally by the FOPEN function.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p0p2fkx6rv896ln1b44bkp4oyt7e\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n0ihcrv5rt8mw4n16kqi1p9caq6i.htm\"}},{\"name\":\"FCOL\",\"description\":\"Returns the current column position in the File Data Buffer (FDB).\",\"syntax\":{\"help\":\"FCOL (*file-id*)\",\"arguments\":[{\"name\":\"file-id\",\"description\":\"is a numeric variable that specifies the identifier that was assigned when the file was opened, generally by the FOPEN function.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p12j6d8nklkti3n1gjm8p5enhjr2\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n1xh4ou241dx15n1her5h5dvasqc.htm\"}},{\"name\":\"FCOPY\",\"description\":\"Copies records from one fileref to another fileref, and returns a value that indicates whether the records were successfully copied.\",\"syntax\":{\"help\":\"FCOPY ('*fileref-1*', '*fileref-2*')\",\"arguments\":[{\"name\":\"'fileref-1'\",\"description\":\"specifies an existing fileref from which records are to be copied.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n1g6ia8fmmf9d3n1hrdbwuuck5uu\"},{\"name\":\"'fileref-2'\",\"description\":\"specifies an existing fileref to which records are to be copied.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n1rko8q7drokw3n1pfa4rrdr9miz\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n10dz22b5ixohin1vwzilweetek0.htm\"}},{\"name\":\"FDELETE\",\"description\":\"Deletes an external file or an empty directory.\",\"syntax\":{\"help\":\"FDELETE (*fileref* | *directory*)\",\"arguments\":[{\"name\":\"fileref\",\"description\":\"is a character constant, variable, or expression that specifies the fileref that you assign to the external file or directory. You can assign filerefs by using the FILENAME statement, the FILENAME external file access function, or the FILENAME statement, FTP, Catalog, Hadoop, WebDAV, and ZIP access methods.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p06rk7k4mkd5tkn1rp8a1dkf2hhf\"},{\"name\":\"directory\",\"description\":\"is a character constant, variable, or expression that specifies an empty directory that you want to delete.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p1755wrgwmcwxun12lvipkrfsj5n\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p0h945u5r0cv6yn1u6qs35hiqt9t.htm\"}},{\"name\":\"FETCH\",\"description\":\"Reads the next non-deleted observation from a SAS data set into the Data Set Data Vector (DDV).\",\"syntax\":{\"help\":\"FETCH (*data-set-id*&lt;, 'NOSET'&gt;)\",\"arguments\":[{\"name\":\"data-set-id\",\"description\":\"is a numeric variable that specifies the data set identifier that is returned by the OPEN function.\",\"placeholder\":true,\"dataTypes\":[\"dataSet\"],\"supportSiteTargetFragment\":\"n1jch8ku0zkuxhn1uzjw3cv54hcf\"},{\"name\":\"'NOSET'\",\"description\":\"prevents the automatic passing of SAS data set variable values to macro or DATA step variables even if the SET routine has been called.\",\"optional\":true,\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"n0muiwz9biqqs6n154zhizlm50x1\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n0uceoo4rewsldn19mqheu1h3b1r.htm\"}},{\"name\":\"FETCHOBS\",\"description\":\"Reads a specified observation from a SAS data set into the Data Set Data Vector (DDV).\",\"syntax\":{\"help\":\"FETCHOBS (*data-set-id*, *observation-number*&lt;, *options*&gt;)\",\"arguments\":[{\"name\":\"data-set-id\",\"description\":\"is a numeric variable that specifies the data set identifier that is returned by the OPEN function.\",\"placeholder\":true,\"dataTypes\":[\"dataSet\"],\"supportSiteTargetFragment\":\"n0dwcxulcyxio3n12mhn2b1nserp\"},{\"name\":\"observation-number\",\"description\":\"is a numeric constant, variable, or expression that specifies the number of the observation to read. FETCHOBS treats the observation value as a relative observation number unless you specify the ABS option. The relative observation number might not coincide with the physical observation number on disk, because the function skips observations marked for deletion. When a WHERE clause is active, the function counts only observations that meet the WHERE condition.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p0rijwzlynqn1rn1qs7en6cgf8yi\"},{\"name\":\"options\",\"description\":\"is a character constant, variable, or expression that names one or more options, separated by blanks.\",\"placeholder\":true,\"optional\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n06ptnabjckth4n1jgp5kstw8w0t\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p1rib9q3hpxph0n1m27u5tzgl5lh.htm\"}},{\"name\":\"FEXIST\",\"description\":\"Verifies the existence of an external file that is associated with a fileref.\",\"syntax\":{\"help\":\"FEXIST (*fileref*)\",\"arguments\":[{\"name\":\"fileref\",\"description\":\"is a character constant, variable, or expression that specifies the fileref that is assigned to an external file.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n135c3bry2r1t3n1s6pkurflxfkw\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p0gh473azqo3han1edlhbyt04gxa.htm\"}},{\"name\":\"FGET\",\"description\":\"Copies data from the File Data Buffer (FDB) into a variable.\",\"syntax\":{\"help\":\"FGET (*file-id*, *variable*&lt;, *length*&gt;)\",\"arguments\":[{\"name\":\"file-id\",\"description\":\"is a numeric variable that specifies the identifier that was assigned when the file was opened, generally by the FOPEN function.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n0eys9vzvivr2on1es8pfanynpip\"},{\"name\":\"variable\",\"description\":\"in a DATA step, specifies a character variable to hold the data. In a macro, specifies a macro variable to hold the data. If variable is a macro variable and it does not exist, it is created.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p0223enjijtbqen1pqv0s8xcuynu\"},{\"name\":\"length\",\"description\":\"specifies the number of characters to retrieve from the FDB. If length is specified, only the specified number of characters is retrieved (or the number of characters remaining in the buffer if that number is less than length). If length is omitted, all characters in the FDB from the current column position to the next delimiter are returned. The default delimiter is a blank. The delimiter is not retrieved.\",\"placeholder\":true,\"optional\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p0dzwql8p6cb6un1ho3it0l7l992\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p1a70mpbj2usaln1r9z4qldliexk.htm\"}},{\"name\":\"FILEEXIST\",\"description\":\"Verifies the existence of an external file by its physical name.\",\"syntax\":{\"help\":\"FILEEXIST (*file-name*)\",\"arguments\":[{\"name\":\"filename\",\"description\":\"is a character constant, variable, or expression that specifies a fully qualified physical filename of the external file in the operating environment.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p19swl29i4pj64n1uboh9ulvc5zn\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n06xm8hwk0t0axn10gj16lfiri43.htm\"}},{\"name\":\"FILENAME\",\"description\":\"Assigns or deassigns a fileref to an external file, directory, or output device.\",\"syntax\":{\"help\":\"FILENAME (fileref, <filename><,device-type><, 'host-options'>\\n<, directory-reference>);         [Linux]\",\"arguments\":[{\"name\":\"fileref\",\"description\":\"specifies the fileref to assign to the external file. In a DATA step, fileref can be a character expression, a string enclosed in single quotation marks that specifies the fileref, or a DATA step variable whose value contains the fileref. In a macro (for example, in the %SYSFUNC function), fileref is the name of a macro variable (without an ampersand) whose value contains the fileref to assign to the external file. If the function is used within a DATA step, the fileref must be enclosed in single quotation marks. If the function is used in macro code, the fileref must not be enclosed in quotation marks.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n0unujb1mk0bo7n19k60ymzr2jtv\"},{\"name\":\"filename\",\"description\":\"is a character constant, variable, or expression that specifies the external file.\",\"placeholder\":true,\"optional\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n0mfm0bmp3dnd3n19orpms1akgqs\"},{\"name\":\"DISK\",\"description\":\"specifies that the device is a disk drive.\",\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"n0j8mp4uwrfz5sn11s5ckm39cor7\"},{\"name\":\"DUMMY\",\"description\":\"specifies that the output to the file is discarded.\",\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"p0dcawat08i4wrn1ir47ajf4y09d\"},{\"name\":\"FILESRVC\",\"description\":\"specifies an access method that enables you to store and retrieve user content using the SAS Viya service.\",\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"p0zqqtckrjm5ppn19uio6j8b3dpy\"},{\"name\":\"GTERM\",\"description\":\"indicates that the output device type is a graphics device that is receiving graphics data.\",\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"p1hyw1u3xah39on1nabz0p3ulx02\"},{\"name\":\"PIPE\",\"description\":\"specifies an unnamed pipe.\",\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"n0kba0lidvss76n1vkrjavdhtqnl\"},{\"name\":\"PLOTTER\",\"description\":\"specifies an unbuffered graphics output device.\",\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"p1q63xxy8etfzgn117ot1dy1k0wl\"},{\"name\":\"PRINTER\",\"description\":\"specifies a printer or printer spool file.\",\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"p1c958rf9hlah7n10ld2fp2imf9s\"},{\"name\":\"TAPE\",\"description\":\"specifies a tape drive.\",\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"p01wyvwnmeb6c0n1kbohzypaer3g\"},{\"name\":\"TEMP\",\"description\":\"creates a temporary file that exists only as long as the filename is assigned. The temporary file can be accessed only through the logical name and is available only while the logical name exists.\",\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"p09lu95pec6zgmn1b9gic8tctzpn\"},{\"name\":\"TERMINAL\",\"description\":\"specifies the user's personal computer.\",\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"p1tbbzuc3re89ln1x0h1y04gzu8s\"},{\"name\":\"UPRINTER\",\"description\":\"specifies a Universal Printing printer definition name.\",\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"n0lafkehm7htnyn14oqdr4acc058\"},{\"name\":\"'host-options'\",\"description\":\"specifies host-specific details such as file attributes and processing attributes.\",\"placeholder\":true,\"optional\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p0mv1szsr1m8sxn1ard5fokxa5dc\"},{\"name\":\"directory-reference\",\"description\":\"specifies the fileref that was assigned to the directory or partitioned data set in which the external file resides.\",\"placeholder\":true,\"optional\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p1t8sztjsg16xen16dk01cmk67iv\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n15scht124hr4nn1g296cqg2kqfa.htm\"}},{\"name\":\"FILEREF\",\"description\":\"Verifies whether a fileref has been assigned for the current SAS session.\",\"syntax\":{\"help\":\"FILEREF (*fileref*)\",\"arguments\":[{\"name\":\"fileref\",\"description\":\"is a character constant, variable, or expression that specifies the fileref to be validated.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p1sk9l5pmw35dvn1uj63vf23fieu\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p0b6qacxrmnzc4n145t9jps0yzdc.htm\"}},{\"name\":\"FINANCE\",\"description\":\"Computes financial calculations such as depreciation, maturation, accrued interest, net present value, periodic savings, and internal rates of return.\",\"syntax\":{\"help\":\"FINANCE (*string-identifier*, *parameter–1*, *parameter–2*, …, *parameter-n*)\",\"arguments\":[{\"name\":\"string-identifier\",\"description\":\"specifies a character constant, variable, or expression. Valid values for string-identifier are listed in the following table.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p0jiq21phtr73un1m0oezzpjsr9x\"},{\"name\":\"basis\",\"description\":\"is an optional parameter that specifies a character or numeric value that indicates the type of day count basis to use.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p1lq7f4zm4240an1lafgicoj1lzo\"},{\"name\":\"interest-rates\",\"description\":\"specifies rates that are provided as numeric values and not as percentages.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n14d69g6mlgvmsn16zjtrkyela36\"},{\"name\":\"dates\",\"description\":\"specifies that all dates in the financial functions are SAS dates.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n1wpl6hjpltjqin1b2re73464g6s\"},{\"name\":\"sign-of-cash-values\",\"description\":\"for all the arguments, specifies that the cash that you pay out, such as deposits to savings or other withdrawals, is represented by negative numbers. It also specifies that the cash that you receive, such as dividend checks and other deposits, is represented by positive numbers.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n1bnzfwvnow84on14lywd6nxmcdi\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p1cnn1jwdmhce0n1obxmu4iq26ge.htm\"}},{\"name\":\"FIND\",\"description\":\"Searches for a specific substring of characters within a character string.\",\"syntax\":{\"help\":\"FIND (string, substring<, modifier(s)><, start-position>)\\nFIND (string, substring<, start-position><, modifier(s)>)\",\"arguments\":[{\"name\":\"string\",\"description\":\"specifies a character constant, variable, or expression that is searched for substrings.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n14jnn741qngxrn17wb6tspj8aic\"},{\"name\":\"substring\",\"description\":\"is a character constant, variable, or expression that specifies the substring of characters to search for in string.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n0gy9u4zlev9kgn1r33vdz3h7of1\"},{\"name\":\"i\",\"description\":\"ignores character case during the search. If this modifier is not specified, FIND searches only for character substrings with the same case as the characters in substring.\",\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"n1bif4jvv3k3gan0zpmld2fjlwao\"},{\"name\":\"t\",\"description\":\"trims trailing blanks from string and substring.\",\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"p17o3ih2a6hvltn1gm8n4ii5zzma\"},{\"name\":\"start-position\",\"description\":\"is a numeric constant, variable, or expression with an integer value that specifies the position at which the search should start and the direction of the search.\",\"placeholder\":true,\"optional\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n15dmjyvchql8cn1w9ssx0oee2kk\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p00ab6ey29t2i8n1ihel88tqtga9.htm\"}},{\"name\":\"FINDC\",\"description\":\"Searches a string for any character in a list of characters.\",\"syntax\":{\"help\":\"FINDC (string<, character-list>) \\nFINDC (string, character-list<, modifier(s)>)\\nFINDC (string, character-list, modifier(s)<, start-position>)\\nFINDC (string, character-list, <start-position>, <modifier(s)>) \",\"arguments\":[{\"name\":\"string\",\"description\":\"is a character constant, variable, or expression that specifies the character string to be searched.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n1la3cdak4g7b9n1dzwcep7mdt66\"},{\"name\":\"character-list\",\"description\":\"is a constant, variable, or character expression that initializes a list of characters. FINDC searches for the characters in this list provided that you do not specify the K modifier in the modifier argument. If you specify the K modifier, FINDC searches for all characters that are not in this list of characters. You can add more characters to the list by using other modifiers.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n1dymfo0f4anqdn14nsiqlk9bdcy\"},{\"name\":\"blank\",\"description\":\"is ignored.\",\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"n0pfpjiipyf0pzn1p0wbqht8xzkn\"},{\"name\":\"a\",\"description\":\"adds alphabetic characters to the list of characters.\",\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"n0vpjwejua0ry8n1cszd91g8hzn2\"},{\"name\":\"b\",\"description\":\"searches from right to left, instead of from left to right, of the start-position argument.\",\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"p18cozra03ux3an19ayv41snedv8\"},{\"name\":\"c\",\"description\":\"adds control characters to the list of characters.\",\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"p038wrnl86tytun1rul929q87l2d\"},{\"name\":\"d\",\"description\":\"adds digits to the list of characters.\",\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"n1iphilk2374dzn1c4m0mrll3uc7\"},{\"name\":\"f\",\"description\":\"adds an underscore and English letters (that is, the characters that can begin a SAS variable name using VALIDVARNAME=V7) to the list of characters.\",\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"p0o7q7i9bd5m4yn1n8flqix55fgz\"},{\"name\":\"g\",\"description\":\"adds graphic characters to the list of characters.\",\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"p09d141qp9j93sn1ulpro2qwinex\"},{\"name\":\"h\",\"description\":\"adds a horizontal tab to the list of characters.\",\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"n1qr75dkuiyo0mn1cbaiqv86uphh\"},{\"name\":\"i\",\"description\":\"ignores character case during the search.\",\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"n1rcg4bwjq4u23n12bao6g9agiaw\"},{\"name\":\"k\",\"description\":\"searches for any character that does not appear in the list of characters. If you do not specify this modifier, then FINDC searches for any character that appears in the list of characters. This modifier has the same functionality as the v or V modifier.\",\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"p11kl4v052fjnln1ky25zk3iaf71\"},{\"name\":\"l\",\"description\":\"adds lowercase letters to the list of characters.\",\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"n0h52xrwl33nh6n1qtieryw4ek1n\"},{\"name\":\"n\",\"description\":\"adds digits, an underscore, and English letters (that is, the characters that can appear in a SAS variable name using VALIDVARNAME=V7) to the list of characters.\",\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"n0ipj62uvcl0kkn1hjfktwu1cuku\"},{\"name\":\"o\",\"description\":\"processes the charlist and the modifier arguments only once, rather than every time the FINDC function is called. Using the O modifier in the DATA step (excluding WHERE clauses), or in the SQL procedure can make FINDC run faster when you call it in a loop where the character-list and the modifier arguments do not change.\",\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"p13siy04d3p1een1atvbo2njwpf6\"},{\"name\":\"p\",\"description\":\"adds punctuation marks to the list of characters.\",\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"n05q7xb8xblnibn1l05edu363hm4\"},{\"name\":\"s\",\"description\":\"adds space characters to the list of characters (blank, horizontal tab, vertical tab, carriage return, line feed, and form feed).\",\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"p12smks6kfaq4qn0zls7009lhy2m\"},{\"name\":\"t\",\"description\":\"trims trailing blanks from the string and character-list arguments.\",\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"n1urq8ej12flmln1ujc1cqsuclta\"},{\"name\":\"u\",\"description\":\"adds uppercase letters to the list of characters.\",\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"p1p4d41e1hqg9zn133xpwr5oo86t\"},{\"name\":\"v\",\"description\":\"searches for any character that does not appear in the list of characters. If you do not specify this modifier, then FINDC searches for any character that appears in the list of characters. This modifier has the same functionality as the k or K modifier.\",\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"n1xvt6wlncqu58n1t9779fou6sop\"},{\"name\":\"w\",\"description\":\"adds printable characters to the list of characters.\",\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"n1lfosj5ctauk9n1frxsn5nmnpab\"},{\"name\":\"x\",\"description\":\"adds hexadecimal characters to the list of characters.\",\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"p1cfr855uegftln11ir8td0q4rvq\"},{\"name\":\"start-position\",\"description\":\"is an optional numeric constant, variable, or expression having an integer value that specifies the position at which the search should start and the direction in which to search.\",\"placeholder\":true,\"optional\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n0av8ofezncx5zn1ax40euvs8inz\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n1mdh2gvd5potjn14jipysvzn4o7.htm\"}},{\"name\":\"FINDW\",\"description\":\"Returns the character position of a word in a string, or returns the number of the word in a string.\",\"syntax\":{\"help\":\"FINDW (string, word<, character(s)>)\\nFINDW (string, word, character(s), modifier(s)<, start-position>)\\nFINDW (string, word, character(s), start-position<, modifier(s)>)\\nFINDW (string, word, start-position<, character(s) <, modifier(s)>>)\",\"arguments\":[{\"name\":\"string\",\"description\":\"is a character constant, variable, or expression that specifies the character string to be searched.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n18y97pcx4e6amn1by4if5fs06p7\"},{\"name\":\"word\",\"description\":\"is a character constant, variable, or expression that specifies the word to search for in string.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p1blfrfuvt96rqn0zqfjkgv9v1l5\"},{\"name\":\"character\",\"description\":\"is an optional character constant, variable, or expression that initializes a list of characters.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p0duxydh7j4xejn1oytcxoenzm5u\"},{\"name\":\"start-position\",\"description\":\"is an optional numeric constant, variable, or expression with an integer value that specifies the position at which the search should begin and the direction in which to search.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n1lwsp8kjbhdnyn12esn4kh14621\"},{\"name\":\"blank\",\"description\":\"is ignored.\",\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"p1pdwfo1pd73ipn16q9778nhj63i\"},{\"name\":\"a\",\"description\":\"adds alphabetic characters to the list of characters.\",\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"p150y4g6iwr0ktn18sy1z5hy4fbb\"},{\"name\":\"b\",\"description\":\"scans from right to left instead of from left to right, regardless of the sign of the start-position argument.\",\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"n12v7rgobjv79dn11nv2siaj0meu\"},{\"name\":\"c\",\"description\":\"adds control characters to the list of characters.\",\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"n06kbojy086rjvn18u53twvs00hk\"},{\"name\":\"d\",\"description\":\"adds digits to the list of characters.\",\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"p1bstrqhyfbyjgn1v3azfru3x7so\"},{\"name\":\"e\",\"description\":\"counts the words that are scanned until the specified word is found, instead of determining the character position of the specified word in the string. Fragments of a word are not counted.\",\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"p1n0h9k1zxe3aen13o12nfr42d0n\"},{\"name\":\"f\",\"description\":\"adds an underscore and English letters (that is, the characters that can begin a SAS variable name using VALIDVARNAME=V7) to the list of characters.\",\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"p0b0yljmbynimpn1cpwt1uy6l2z6\"},{\"name\":\"g\",\"description\":\"adds graphic characters to the list of characters.\",\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"n1wgzrzypvd2lin10bqjkkulcjqq\"},{\"name\":\"h\",\"description\":\"adds a horizontal tab to the list of characters.\",\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"p06b7xqyy89ko6n1x2jq5j4tr9ft\"},{\"name\":\"i\",\"description\":\"ignores the case of the characters.\",\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"p1wpzxzbiwa33yn1brjhflfy0nb6\"},{\"name\":\"k\",\"description\":\"causes all characters that are not in the list of characters to be treated as delimiters. If K is not specified, then all characters that are in the list of characters are treated as delimiters.\",\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"n1589035f88hepn1xb55qnfx67e7\"},{\"name\":\"l\",\"description\":\"adds lowercase letters to the list of characters.\",\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"p1wypz4oxn30nvn1uy0zjpdzmq75\"},{\"name\":\"m\",\"description\":\"specifies that multiple consecutive delimiters, and delimiters at the beginning or end of the string argument, refer to words that have a length of zero.\",\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"n12u522x1xvzean15irj0f2siugd\"},{\"name\":\"n\",\"description\":\"adds digits, an underscore, and English letters (that is, the characters that can appear after the first character in a SAS variable name using VALIDVARNAME=V7) to the list of characters.\",\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"p0q6gr53rnjr3in0z7ex31wnnnt2\"},{\"name\":\"o\",\"description\":\"processes the character and modifier arguments only once, rather than every time the FINDW function is called. Using the O modifier in the DATA step (excluding WHERE clauses), or in the SQL procedure, can make FINDW run faster when you call it in a loop where the character and modifier arguments do not change.\",\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"n0siw2n5h0xcz3n1ccf641s7r78s\"},{\"name\":\"p\",\"description\":\"adds punctuation marks to the list of characters.\",\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"n1qdvya23wgwa8n1e1ar8b6nzexb\"},{\"name\":\"q\",\"description\":\"ignores delimiters that are inside substrings that are enclosed in quotation marks. If the value of the string argument contains unmatched quotation marks, then scanning from left to right produces different words than scanning from right to left.\",\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"p1trn9fhqj6sgtn1tdul1rrqvss0\"},{\"name\":\"r\",\"description\":\"removes leading and trailing delimiters from the word argument.\",\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"p1ur2pu3oubr3vn1trgud238e1tp\"},{\"name\":\"s\",\"description\":\"adds space characters (blank, horizontal tab, vertical tab, carriage return, line feed, and form feed) to the list of characters.\",\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"n0cs4nyh8z1ft2n10ydg89fpcg4p\"},{\"name\":\"t\",\"description\":\"trims trailing blanks from the string, word, and character arguments.\",\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"p1okgzit5okmjqn1jzi4jshq3gee\"},{\"name\":\"u\",\"description\":\"adds uppercase letters to the list of characters.\",\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"p1b5wrdkox6kfwn1r4vg1uvektnm\"},{\"name\":\"w\",\"description\":\"adds printable characters to the list of characters.\",\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"n13ndmf5svjz82n1q7lcyphh4ybi\"},{\"name\":\"x\",\"description\":\"adds hexadecimal characters to the list of characters.\",\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"p1jmgq3mmngag1n15ycqagk1fzpq\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p16rdsa30vmm43n1ej4936nwa01t.htm\"}},{\"name\":\"FINFO\",\"description\":\"Returns the value of a file information item.\",\"syntax\":{\"help\":\"FINFO (*file-id*, *information-item*)\",\"arguments\":[{\"name\":\"file-id\",\"description\":\"is a numeric constant, variable, or expression that specifies the identifier that was assigned when the file was opened, generally by the FOPEN function.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p1o7s0qjkc1r94n1kmfbdinfeex6\"},{\"name\":\"information-item\",\"description\":\"is a character constant, variable, or expression that specifies the name of the file information item to be retrieved.\\n• Create Time: <i>ddmmmyyyy:hh:mm:ss</i>\\n• Last Modified: <i>ddmmmyyyy:hh:mm:ss</i>\\n• Filename\\n• File size (bytes)\\n• RECFM\\n• LRECL\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p0e1tvuya6bxuln1fgzb6n39vbxh\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p0cpuq4ew0dxipn1vtravlludjm7.htm\"}},{\"name\":\"FINV\",\"description\":\"Returns a quantile from the F distribution.\",\"syntax\":{\"help\":\"FINV  (*p*, *ndf*, *ddf*&lt;, *nc*&gt;)\",\"arguments\":[{\"name\":\"p\",\"description\":\"is a numeric probability.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n00346y0o5ugzdn166n8727fu9sv\"},{\"name\":\"ndf\",\"description\":\"is a numeric numerator degrees of freedom parameter.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n09cj12r4fkerxn1ujzcngjtqkhz\"},{\"name\":\"ddf\",\"description\":\"is a numeric denominator degrees of freedom parameter.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p1vbab8dozuzqnn18irdxbolsu2n\"},{\"name\":\"nc\",\"description\":\"is an optional numeric noncentrality parameter.\",\"placeholder\":true,\"optional\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n1j262tt4eziuun1mi06qj9wt65b\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p126srp68x8438n1x8eq4o20xcf5.htm\"}},{\"name\":\"FIPNAME\",\"description\":\"Converts two-digit FIPS codes to uppercase state names.\",\"syntax\":{\"help\":\"FIPNAME (*expression*)\",\"arguments\":[{\"name\":\"expression\",\"description\":\"specifies a numeric constant, variable, or expression that represents a U.S. FIPS code.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p18dgfcv9wlplzn1wmhnrv4v3mqe\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n0ntdwcmrqyn91n11gyzzfyksuhj.htm\"}},{\"name\":\"FIPNAMEL\",\"description\":\"Converts two-digit FIPS codes to mixed case state names.\",\"syntax\":{\"help\":\"FIPNAMEL (*expression*)\",\"arguments\":[{\"name\":\"expression\",\"description\":\"specifies a numeric constant, variable, or expression that represents a U.S. FIPS code.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p0anv252hlw00en11ssexmte8xho\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n141omrpn3drdhn1j8setgzcp0dv.htm\"}},{\"name\":\"FIPSTATE\",\"description\":\"Converts two-digit FIPS codes to two-character state postal codes.\",\"syntax\":{\"help\":\"FIPSTATE (*expression*)\",\"arguments\":[{\"name\":\"expression\",\"description\":\"specifies a numeric constant, variable, or expression that represents a U.S. FIPS code.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p1gvixvgm1qfiqn1e393qp6e93x7\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n0w5c8mtph2dyjn1mrkgwkdhctbz.htm\"}},{\"name\":\"FIRST\",\"description\":\"Returns the first character in a character string.\",\"syntax\":{\"help\":\"FIRST (*string*)\",\"arguments\":[{\"name\":\"string\",\"description\":\"specifies a character string.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n0ecnqbgzbeyvyn1dk73zf4jovnl\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p1af3wnk52qg49n1xcdk1wpcmucy.htm\"}},{\"name\":\"FLOOR\",\"description\":\"Returns the largest integer that is less than or equal to the argument, fuzzed to avoid unexpected floating-point results.\",\"syntax\":{\"help\":\"FLOOR (*argument*)\",\"arguments\":[{\"name\":\"argument\",\"description\":\"specifies a numeric constant, variable, or expression.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n1kh2mqkpyq24mn1avfi3z7ed8i9\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p1xuvvu3to43jmn187gqlmpk3hi7.htm\"}},{\"name\":\"FLOORZ\",\"description\":\"Returns the largest integer that is less than or equal to the argument, using zero fuzzing.\",\"syntax\":{\"help\":\"FLOORZ (*argument*)\",\"arguments\":[{\"name\":\"argument\",\"description\":\"is a numeric constant, variable, or expression.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p1i1nqcxxx7i67n1spzdnqjdrard\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p0o05rnrpb44m0n1ehvy5f0m69km.htm\"}},{\"name\":\"FMTINFO\",\"description\":\"Retrieves information about a format or informat.\",\"syntax\":{\"help\":\"FMTINFO (*fmtname*, *info*)\",\"arguments\":[{\"name\":\"fmtname\",\"description\":\"specifies the format or informat name.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p14f4nx4w2iauon1emgijzwgbrmy\"},{\"name\":\"CAT\",\"description\":\"specifies the category:\\n• BIDI Text Handling\\n• Character\\n• Currency Conversion\\n• Date and Time \\n• DBCS\\n• Hebrew Text Handling \\n• ISO 8601\\n• Numeric\",\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"n1pdkdcj3cwezqn1hm72pat87ldf\"},{\"name\":\"TYPE\",\"description\":\"specifies the type of language element:\\n• informat\\n• format\\n• both\",\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"p03zz1eceogs7kn1o6eyaxm2ojgb\"},{\"name\":\"DESC\",\"description\":\"specifies a short description of the format or informat.\",\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"p1b79a1um4onm8n1a8okkbgwigf7\"},{\"name\":\"MIND\",\"description\":\"specifies the minimum decimal value of the format or informat.\",\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"p1pi8st3r0amecn12m5t8f6aar5b\"},{\"name\":\"MAXD\",\"description\":\"specifies the maximum decimal value of the format or informat.\",\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"n0p6ig9n277iorn1dyuzczo0wuvb\"},{\"name\":\"DEFD\",\"description\":\"specifies the default decimal value of the format or informat.\",\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"p0zsppj9o0c2b1n1vnltwed3mb7l\"},{\"name\":\"MINW\",\"description\":\"specifies the minimum width value of the format or informat.\",\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"n14eej6zvgfl44n1rv54zzann6nd\"},{\"name\":\"MAXW\",\"description\":\"specifies the maximum width value of the format or informat.\",\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"p19dxvy30919tbn1hho8ahuxhts1\"},{\"name\":\"DEFW\",\"description\":\"specifies the default width value of the format or informat.\",\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"n03v40a94kssbtn1c3dfsfsd6src\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n08tazkeygnw9on138axalvpy9p4.htm\"}},{\"name\":\"FNONCT\",\"description\":\"Returns the value of the noncentrality parameter of an F distribution.\",\"syntax\":{\"help\":\"FNONCT (*x*, *ndf*, *ddf*, *probability*)\",\"arguments\":[{\"name\":\"x\",\"description\":\"is a numeric random variable.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n1jvron2vgb5ctn1wtujq3ghqkd7\"},{\"name\":\"ndf\",\"description\":\"is a numeric numerator degree of freedom parameter.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p02a5hon0o6o1en1jo4nxl8wx9nv\"},{\"name\":\"ddf\",\"description\":\"is a numeric denominator degree of freedom parameter.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n18km3hpgqlipzn1k51xukp73xod\"},{\"name\":\"probability\",\"description\":\"is a probability.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p0qbf51peo200yn19uy6esrwzdmf\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p0ybjohmxeuhean1oya2erd4dgm5.htm\"}},{\"name\":\"FNOTE\",\"description\":\"Identifies the last record that was read, and returns a value that the FPOINT function can use.\",\"syntax\":{\"help\":\"FNOTE (*file-id*)\",\"arguments\":[{\"name\":\"file-id\",\"description\":\"is a numeric constant, variable, or expression that specifies the identifier that was assigned when the file was opened, generally by the FOPEN function.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p0ht943ydb7a24n1ruzdzkzdxojc\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p13v3rvxl2t6k1n15hb5388naenn.htm\"}},{\"name\":\"FOPEN\",\"description\":\"Opens an external file and returns a file identifier value.\",\"syntax\":{\"help\":\"FOPEN (*fileref*&lt;, *open-mode* &lt;, *record-length* &lt;, *record-format*&gt;&gt;&gt;)\",\"arguments\":[{\"name\":\"fileref\",\"description\":\"is a character constant, variable, or expression that specifies the fileref assigned to the external file.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n1x4n939vmm1ain1wzjim01noksm\"},{\"name\":\"open-mode\",\"description\":\"is a character constant, variable, or expression that specifies the type of access to the file:\",\"placeholder\":true,\"optional\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p1wsvi9clonh4xn1xmzqvczwv63g\"},{\"name\":\"record-length\",\"description\":\"is a numeric constant, variable, or expression that specifies the logical record length of the file. To use the existing record length for the file, specify a length of 0, or do not provide a value here.\",\"placeholder\":true,\"optional\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p0u59j8hnm0vu2n1abbfyj4pekvw\"},{\"name\":\"record-format\",\"description\":\"is a character constant, variable, or expression that specifies the record format of the file. To use the existing record format, do not specify a value here. Valid values are:\",\"placeholder\":true,\"optional\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p0llm79eqyif2kn1bs1ahsw7vg3c\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p1fr3ny0ek8sr9n1pujj2om3bia7.htm\"}},{\"name\":\"FOPTNAME\",\"description\":\"Returns the name of an item of information about an external file.\",\"syntax\":{\"help\":\"FOPTNAME (*file-id*, *nval*)\",\"arguments\":[{\"name\":\"file-id\",\"description\":\"is a numeric variable that specifies the identifier that was assigned when the file was opened, generally by the FOPEN function.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p0jmgisdbo4n42n1gvq1jxgfgga7\"},{\"name\":\"nval\",\"description\":\"is a numeric constant, variable, or expression that specifies the number of the information item.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p1fa3nbfyhgzjon1a0dijqav6suc\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n1ocdzkn9uhsa7n1qv3wwp4d3dot.htm\"}},{\"name\":\"FOPTNUM\",\"description\":\"Returns the number of information items, such as filename or record length, that are available for an external file.\",\"syntax\":{\"help\":\"FOPTNUM (*file-id*)\",\"arguments\":[{\"name\":\"file-id\",\"description\":\"is the identifier that was assigned when the file was opened, generally by the FOPEN function.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n0andkavgf98hpn1v54zxfwffhsr\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n0obx7o9ceaq31n1xwpddcub8d7f.htm\"}},{\"name\":\"FPOINT\",\"description\":\"Positions the read pointer on the next record to be read.\",\"syntax\":{\"help\":\"FPOINT (*file-id*, *note-id*)\",\"arguments\":[{\"name\":\"file-id\",\"description\":\"is a numeric variable that specifies the identifier that was assigned when the file was opened, generally by the FOPEN function.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p12dtk8jsmwr2xn1czsa90x9mhon\"},{\"name\":\"note-id\",\"description\":\"specifies the identifier that was assigned by the FNOTE function.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p0kawmnfidryvkn1oy197g57yrp6\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p0dz5fszzf8qrnn1mwwsqk8i6zbw.htm\"}},{\"name\":\"FPOS\",\"description\":\"Sets the position of the column pointer in the File Data Buffer (FDB).\",\"syntax\":{\"help\":\"FPOS (*file-id*, *nval*)\",\"arguments\":[{\"name\":\"file-id\",\"description\":\"is a numeric variable that specifies the identifier that was assigned when the file was opened, generally by the FOPEN function.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p1ioxlde0zh189n1h2ciqp7s7lac\"},{\"name\":\"nval\",\"description\":\"is a numeric constant, variable, or expression that specifies the column at which to set the pointer.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n0uwp6gxwmha4sn11zptxfl847mq\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p1qctmnw6385s7n1pphcsnfkdn34.htm\"}},{\"name\":\"FPUT\",\"description\":\"Moves data to the File Data Buffer (FDB) of an external file, starting at the FDB's current column position.\",\"syntax\":{\"help\":\"FPUT (*file-id*, *cval*)\",\"arguments\":[{\"name\":\"file-id\",\"description\":\"is a numeric variable that specifies the identifier that was assigned when the file was opened, generally by the FOPEN function.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p0tre5gy0d1ctsn1fy0y3l33ljeh\"},{\"name\":\"cval\",\"description\":\"is a character constant, variable, or expression that specifies the file data.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p0emuz1f6hj0nnn1musdm4e24du0\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p09u94dvo78wp7n1rvh8583tpyis.htm\"}},{\"name\":\"FREAD\",\"description\":\"Reads a record from an external file into the File Data Buffer (FDB).\",\"syntax\":{\"help\":\"FREAD (*file-id*)\",\"arguments\":[{\"name\":\"file-id\",\"description\":\"is a numeric variable that specifies the identifier that was assigned when the file was opened, generally by the FOPEN function.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n1cvltao6zxixwn14p6xqmsc6qpr\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p12s6qnlbtfdrqn11hgrsx2ix6ec.htm\"}},{\"name\":\"FREWIND\",\"description\":\"Positions the file pointer to the start of the file.\",\"syntax\":{\"help\":\"FREWIND (*file-id*)\",\"arguments\":[{\"name\":\"file-id\",\"description\":\"is a numeric variable that specifies the identifier that was assigned when the file was opened, generally by the FOPEN function.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n1x4g197i6qbdun1t75pld8gr6fj\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n0s6dnstkemx2en12snvqzptoj5m.htm\"}},{\"name\":\"FRLEN\",\"description\":\"Returns the size of the last record that was read, or, if the file is opened for output, returns the current record size.\",\"syntax\":{\"help\":\"FRLEN (*file-id*)\",\"arguments\":[{\"name\":\"file-id\",\"description\":\"is a numeric variable that specifies the identifier that was assigned when the file was opened, generally by the FOPEN function.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n0w0dfnq4rktfmn0z6ceomnc639k\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p127ztmoajcjpln1tv8q5s5p7wvw.htm\"}},{\"name\":\"FSEP\",\"description\":\"Sets the token delimiters for the FGET function.\",\"syntax\":{\"help\":\"FSEP (*file-id*, *character(s)*&lt;, 'x | ''X'&gt;)\",\"arguments\":[{\"name\":\"file-id\",\"description\":\"is a numeric variable that specifies the identifier that was assigned when the file was opened, generally by the FOPEN function.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p1twwgeogeedpfn1sxt1qef4yemc\"},{\"name\":\"character\",\"description\":\"is a character constant, variable, or expression that specifies one or more delimiters that separate items in the File Data Buffer (FDB). Each character listed is a delimiter. That is, if character is #@, either # or @ can separate items. Multiple consecutive delimiters, such as @#@, are treated as a single delimiter.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n03m0r6zhol5d7n0zabz2c0eku3l\"},{\"name\":\"'x'\",\"description\":\"specifies that the character delimiter is a hexadecimal value.\",\"optional\":true,\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"p1xd8f4lx8m6rrn1wjmp0uuv7nfm\"},{\"name\":\"'X'\",\"description\":\"specifies that the character delimiter is a hexadecimal value.\",\"optional\":true,\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"p1xd8f4lx8m6rrn1wjmp0uuv7nfm\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p1294um6ps83u2n1wkb9wtw4tmzf.htm\"}},{\"name\":\"FUZZ\",\"description\":\"Returns the nearest integer if the argument is within 1E−12 of that integer.\",\"syntax\":{\"help\":\"FUZZ (*argument*)\",\"arguments\":[{\"name\":\"argument\",\"description\":\"specifies a numeric constant, variable, or expression.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p104sbkdi2c7uen18t174au9cx3h\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p18pa7u3zufu9nn1ivv67uknw3i7.htm\"}},{\"name\":\"FWRITE\",\"description\":\"Writes a record to an external file.\",\"syntax\":{\"help\":\"FWRITE (*file-id*&lt;, *cc*&gt;)\",\"arguments\":[{\"name\":\"file-id\",\"description\":\"is a numeric variable that specifies the identifier that was assigned when the file was opened, generally by the FOPEN function.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p09qf8io2xv85on1vl1daxmhf1yw\"},{\"name\":\"cc\",\"description\":\"is a character constant, variable, or expression that specifies a carriage-control character\",\"placeholder\":true,\"optional\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p02x1dt5tvorl0n1nklr63i6tmub\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n0t4kymrp9xj20n15lgw6nzt6ham.htm\"}},{\"name\":\"GAMINV\",\"description\":\"Returns a quantile from the gamma distribution.\",\"syntax\":{\"help\":\"GAMINV (*p*, *a*)\",\"arguments\":[{\"name\":\"p\",\"description\":\"is a numeric probability.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p14vjt70bdy58mn1jfu8miecn2c9\"},{\"name\":\"a\",\"description\":\"is a numeric shape parameter.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n1uvtgrlpuw12un1q87s2ko3fdxs\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p0dtmhx42ej8ijn1rnfjx1ugnai0.htm\"}},{\"name\":\"GAMMA\",\"description\":\"Returns the value of the gamma function.\",\"syntax\":{\"help\":\"GAMMA (*argument*)\",\"arguments\":[{\"name\":\"argument\",\"description\":\"specifies a numeric constant, variable, or expression.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p1idj8ug13mv22n1ndx4ev2tk278\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p170xcnh05pr8gn1vtvi77x35ltt.htm\"}},{\"name\":\"GARKHCLPRC\",\"description\":\"Calculates call prices for European options on stocks, based on the Garman-Kohlhagen model.\",\"syntax\":{\"help\":\"GARKHCLPRC (*E*, *t*, *S*, *R<sub>d</sub>*, *R<sub>f</sub>*, *sigma*)\",\"arguments\":[{\"name\":\"E\",\"description\":\"is a nonmissing, positive value that specifies the exercise price.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p0bkdy4rraqnxln144jxxakl19io\"},{\"name\":\"t\",\"description\":\"is a nonmissing value that specifies the time to maturity, in years.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p1tpty6tv3pk1mn1udioc42i1j0z\"},{\"name\":\"S\",\"description\":\"is a nonmissing, positive value that specifies the spot currency price.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n0usv3o5l64i67n1p5zm9w8jyzj7\"},{\"name\":\"Rd\",\"description\":\"is a nonmissing, positive fraction that specifies the risk-free domestic interest rate for period t.\",\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n092cnj722uxa3n1anjpfdcqdb7m\"},{\"name\":\"Rf\",\"description\":\"is a nonmissing, positive fraction that specifies the risk-free foreign interest rate for period t.\",\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n1j2kcmri0p92an1tp2vl3ugat7n\"},{\"name\":\"sigma\",\"description\":\"is a nonmissing, positive fraction that specifies the volatility of the currency rate.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p05fc8pcrckajnn17ai25f7e1qja\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p1tv5q4xteyvx0n12o3pgspzcubj.htm\"}},{\"name\":\"GARKHPTPRC\",\"description\":\"Calculates put prices for European options on stocks, based on the Garman-Kohlhagen model.\",\"syntax\":{\"help\":\"GARKHPTPRC (*E*, *t*, *S*, *R<sub>d</sub>*, *R<sub>f</sub>*, *sigma*)\",\"arguments\":[{\"name\":\"E\",\"description\":\"is a nonmissing, positive value that specifies the exercise price.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n0xs8njik6wmpmn1xwa2l12m6wbk\"},{\"name\":\"t\",\"description\":\"is a nonmissing value that specifies the time to maturity, in years.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p1mo43xum10mten1eron0dnnhfis\"},{\"name\":\"S\",\"description\":\"is a nonmissing, positive value that specifies the spot currency price.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n1s1b914bnni3en1xy1odnr91smw\"},{\"name\":\"Rd\",\"description\":\"is a nonmissing, positive fraction that specifies the risk-free domestic interest rate for period t.\",\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n072duu03epxmln100oad22xm88r\"},{\"name\":\"Rf\",\"description\":\"is a nonmissing, positive fraction that specifies the risk-free foreign interest rate for period t.\",\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n09mbh1gbtiipnn1ufc1pdmgwi1m\"},{\"name\":\"sigma\",\"description\":\"is a nonmissing, positive fraction that specifies the volatility of the currency rate.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p04lbkdm60ytr4n177m1pkmdbw7f\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p0p6n7gyavczkgn12ly85lp20xru.htm\"}},{\"name\":\"GCD\",\"description\":\"Returns the greatest common divisor for one or more integers.\",\"syntax\":{\"help\":\"GCD (*x1, x2, x3, …, xn*)\",\"arguments\":[{\"name\":\"x\",\"description\":\"specifies a numeric constant, variable, or expression that has an integer value.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n0zq8mv6ctj85pn1p7fz3ynq7sr7\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p0413szaijg3afn1x426zwmihusz.htm\"}},{\"name\":\"GEODIST\",\"description\":\"Returns the geodetic distance between two latitude and longitude coordinates.\",\"syntax\":{\"help\":\"GEODIST (*latitude-1*, *longitude-1*, *latitude-2*, *longitude-2*&lt;, *'options'*&gt;)\",\"arguments\":[{\"name\":\"latitude-1\",\"description\":\"is a numeric constant, variable, or expression that specifies the coordinate of a given position north or south of the equator. Coordinates that are located north of the equator have positive values; coordinates that are located south of the equator have negative values.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p01hjmbkhq1hpnn1ukb5cfl8vt8l\"},{\"name\":\"latitude-2\",\"description\":\"is a numeric constant, variable, or expression that specifies the coordinate of a given position north or south of the equator. Coordinates that are located north of the equator have positive values; coordinates that are located south of the equator have negative values.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p01hjmbkhq1hpnn1ukb5cfl8vt8l\"},{\"name\":\"longitude-1\",\"description\":\"is a numeric constant, variable, or expression that specifies the coordinate of a given position east or west of the prime meridian, which runs through Greenwich, England. Coordinates that are located east of the prime meridian have positive values; coordinates that are located west of the prime meridian have negative values.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p0jxgi7id0idjon1qvvicof8b6bj\"},{\"name\":\"longitude-2\",\"description\":\"is a numeric constant, variable, or expression that specifies the coordinate of a given position east or west of the prime meridian, which runs through Greenwich, England. Coordinates that are located east of the prime meridian have positive values; coordinates that are located west of the prime meridian have negative values.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p0jxgi7id0idjon1qvvicof8b6bj\"},{\"name\":\"M\",\"description\":\"specifies distance in miles.\",\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"p0kut1dwjsily5n1871yfxaavhi4\"},{\"name\":\"K\",\"description\":\"specifies distance in kilometers. K is the default value for distance.\",\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"p0dl1dkch1007kn1n78c4y02n37m\"},{\"name\":\"D\",\"description\":\"specifies that input values are expressed in degrees. D is the default for input values.\",\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"p053bu5q4dc4z6n19uk0tq6l113x\"},{\"name\":\"R\",\"description\":\"specifies that input values are expressed in radians.\",\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"n0fzdiiq66clidn1a7qmvogdkoxp\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n1korpfg2e18lon1nwpow9qijdxe.htm\"}},{\"name\":\"GEOMEAN\",\"description\":\"Returns the geometric mean.\",\"syntax\":{\"help\":\" GEOMEAN (*argument*&lt;, *argument*,  ..., *argument-n*&gt;)\",\"arguments\":[{\"name\":\"argument\",\"description\":\"is a nonnegative numeric constant, variable, or expression.\",\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"p15e7xvh7zmeeln1vil5vyqyafzg\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p0ywq67uqarnnen135hhs9gcsuv0.htm\"}},{\"name\":\"GEOMEANZ\",\"description\":\"Returns the geometric mean, using zero fuzzing.\",\"syntax\":{\"help\":\" GEOMEANZ (*argument*&lt;, *argument*,  ..., *argument-n*&gt;)\",\"arguments\":[{\"name\":\"argument\",\"description\":\"is a nonnegative numeric constant, variable, or expression.\",\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"p1ojptljqikwvrn1wl2wike2eri5\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p0ifv10vdogsesn158x2il0diaaw.htm\"}},{\"name\":\"GETCASURL\",\"description\":\"Returns the value for a URL for connecting to the CAS Server Monitor.\",\"syntax\":{\"help\":\"GETCASURL(&lt;*session*&gt;)\",\"arguments\":[{\"name\":\"session\",\"description\":\"If zero parameters are specified, then the SAS SESSREF= option value is used.\",\"placeholder\":true,\"optional\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p0dhwed7jsqeh0n15x14lpqcb5ej\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n1gaxuxajv5trfn1vy4ks54q5o8p.htm\"}},{\"name\":\"GETLCASLIB\",\"description\":\"Returns the caslib that was bound to a CAS LIBNAME engine libref using the CASLIB= option when it was assigned.\",\"syntax\":{\"help\":\"GETLCASLIB (*libref*)\",\"arguments\":[{\"name\":\"libref\",\"description\":\"specifies the libref name.\",\"placeholder\":true,\"optional\":true,\"dataTypes\":[\"dataSet\"],\"supportSiteTargetFragment\":\"n125sx2plzfod4n0znyphi5w2qlt\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p0wma0o1tqtwein160lshpt672fl.htm\"}},{\"name\":\"GETLOCENV\",\"description\":\"Returns the current locale/language environment.\",\"syntax\":{\"help\":\"GETLOCENV( ) \"},\"supportSiteInformation\":{\"docsetId\":\"nlsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p07r3f50tyjrj6n1avmln1wmjbbj.htm\"}},{\"name\":\"GETLSESSREF\",\"description\":\"Returns the session reference that is associated with a CAS LIBNAME engine libref.\",\"syntax\":{\"help\":\"GETLSESSREF                  (*libref*)\",\"arguments\":[{\"name\":\"libref\",\"description\":\"specifies the library reference name.\",\"placeholder\":true,\"optional\":true,\"dataTypes\":[\"dataSet\"],\"supportSiteTargetFragment\":\"n0apr71pzjhm7dn18y4kcnrpn9bp\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n0b01hgxcb8h8en1kthyt2bnq2wk.htm\"}},{\"name\":\"GETLTAG\",\"description\":\"Returns the tag that was associated with a CAS LIBNAME engine libref in the TAG= option when it is assigned.\",\"syntax\":{\"help\":\"GETLTAG (*libref*)\",\"arguments\":[{\"name\":\"libref\",\"description\":\"specifies the library reference.\",\"placeholder\":true,\"optional\":true,\"dataTypes\":[\"dataSet\"],\"supportSiteTargetFragment\":\"p12cd84npg5aign1968v5pcqyn52\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n0b2up1zg4ygl4n16ybidp1969ss.htm\"}},{\"name\":\"GETOPTION\",\"description\":\"Returns the value of a SAS system or graphics option.\",\"syntax\":{\"help\":\"GETOPTION (*option-name*&lt;, *return-value-option*&gt;&lt;*return-value-formatting-options*&gt;)\",\"arguments\":[{\"name\":\"option-name\",\"description\":\"is a character constant, variable, or expression that specifies the name of the system option.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n1ry3j6lkuv8bwn1oqq1fbvfumcm\"},{\"name\":\"DEFAULTVALUE\",\"description\":\"returns the default option value.\",\"optional\":true,\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"n0fzwhu7gokafln14zsm1k3vmkm1\"},{\"name\":\"HOWSCOPE\",\"description\":\"returns a character string that specifies the scope of an option.\",\"optional\":true,\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"n1rpby8y1gw4qan11lidovvs9fbx\"},{\"name\":\"HOWSET\",\"description\":\"returns a character string that specifies how an option value was set.\",\"optional\":true,\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"p042e130tmbf9cn1m99ysc6k1r2z\"},{\"name\":\"STARTUPVALUE\",\"description\":\"returns the system option value that was used to start SAS either on the command line or in a configuration file.\",\"optional\":true,\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"n0ch1houe2lwckn143wzosnlc3bn\"},{\"name\":\"CM\",\"description\":\"reports graphic units of measure in centimeters.\",\"optional\":true,\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"n0tgdh8g4cc4o4n1pfzx3gtyxxpg\"},{\"name\":\"EXPAND\",\"description\":\"for options that contain environment variables, returns the option value with the value of the environment variable.\",\"optional\":true,\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"n054y53xv4yftxn1kdksfkzorlbg\"},{\"name\":\"KEYEXPAND\",\"description\":\"for options that contain environment variables, returns the value in the format option-name=value.\",\"optional\":true,\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"n0ha94bw0q52zdn1srrhb4pirwb3\"},{\"name\":\"KEYWORD\",\"description\":\"returns option values in a option-name=value format that would be suitable for direct use in the SAS OPTIONS or GOPTIONS global statements.\",\"optional\":true,\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"p1oothijbzak7an144kb1ppthnjt\"},{\"name\":\"HEXVALUE\",\"description\":\"returns the option value as a hexadecimal value.\",\"optional\":true,\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"p0yh68f4s5jy9tn0z2dva8yvatcs\"},{\"name\":\"IN\",\"description\":\"reports graphic units of measure in inches.\",\"optional\":true,\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"p18krtzzfl4wv7n1a5u3hqi4qnit\"},{\"name\":\"LOGNUMBERFORMAT\",\"description\":\"formats SAS system option values using locale-specific punctuation.\",\"optional\":true,\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"p15ogb3fqm4c2un1p06dnohucslr\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n096vc8shtf7mzn1rlvx6003ayho.htm\"}},{\"name\":\"GETPXLANGUAGE\",\"description\":\"Returns the current two-letter language code.\",\"syntax\":{\"help\":\"GETPXLANGUAGE() \"},\"supportSiteInformation\":{\"docsetId\":\"nlsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p0tadpcsfigakwn1gsglmjmgew6p.htm\"}},{\"name\":\"GETPXLOCALE\",\"description\":\"Returns the POSIX locale value for a SAS locale.\",\"syntax\":{\"help\":\"GETPXLOCALE (*&lt;source&gt;*)\",\"arguments\":[{\"name\":\"<source>\",\"description\":\"is an optional argument that specifies a locale name.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n1jjct2b42rnvqn1x9baybvn0j97\"}]},\"supportSiteInformation\":{\"docsetId\":\"nlsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p0q89edk8yk31dn1d5lgxaas5omr.htm\"}},{\"name\":\"GETPXREGION\",\"description\":\"Returns the current two-letter region code.\",\"syntax\":{\"help\":\"GETPXREGION() \"},\"supportSiteInformation\":{\"docsetId\":\"nlsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p1o14ubo9joabxn1wyxu67ogc0lg.htm\"}},{\"name\":\"GETSESSOPT\",\"description\":\"Returns the value for a SAS Cloud Analytic Services session option.\",\"syntax\":{\"help\":\"GETSESSOPT (session-name,             session-option-name)\\nGETSESSOPT (uuid,             session-option-name)\",\"arguments\":[{\"name\":\"session-reference\",\"description\":\"CAS session name.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p0yul98rvq7k8pn1enbpa5p91d48\"},{\"name\":\"session-option-name\",\"description\":\"CAS session option name.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n0czwao5knl95an1bnkblzu9uwzb\"},{\"name\":\"uuid\",\"description\":\"specifies the uuid that you are trying to find. See for more information about uuid.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n0bptei8alif3qn1fma7zz1fa0bo\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p02yuc6s8egzjqn16ka8nur2fg9o.htm\"}},{\"name\":\"GETVARC\",\"description\":\"Returns the value of a SAS data set character variable.\",\"syntax\":{\"help\":\"GETVARC (*data-set-id*, *variable-number*)\",\"arguments\":[{\"name\":\"data-set-id\",\"description\":\"is a numeric constant, variable, or expression that specifies the data set identifier that the OPEN function returns.\",\"placeholder\":true,\"dataTypes\":[\"dataSet\"],\"supportSiteTargetFragment\":\"p07utc1j7s9hogn10i1qb7sfgk08\"},{\"name\":\"variable-number\",\"description\":\"is a numeric constant, variable, or expression that specifies the number of the variable in the Data Set Data Vector (DDV).\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p179y0ynq74n7en1oj3grz4cbj38\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n0tg0dv034vnj0n15s5txj3n0wki.htm\"}},{\"name\":\"GETVARN\",\"description\":\"Returns the value of a SAS data set numeric variable.\",\"syntax\":{\"help\":\"GETVARN (*data-set-id*, *variable-number*)\",\"arguments\":[{\"name\":\"data-set-id\",\"description\":\"is a numeric constant, variable, or expression that specifies the data set identifier that the OPEN function returns.\",\"placeholder\":true,\"dataTypes\":[\"dataSet\"],\"supportSiteTargetFragment\":\"n13pvyffvhvk4on144vo97zelo8l\"},{\"name\":\"variable-number\",\"description\":\"is a numeric constant, variable, or expression that specifies the number of the variable in the Data Set Data Vector (DDV).\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n1w598klzpzg7vn162dacbph4fpl\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n0ngdvj3evoc45n1xbwz39y43mmm.htm\"}},{\"name\":\"GETVARN_I64\",\"description\":\"Returns the value of a SAS data set integer variable.\",\"syntax\":{\"help\":\"GETVARN_I64  (*data-set-id*, *integer-variable*)\",\"arguments\":[{\"name\":\"data-set-id\",\"description\":\"is a numeric constant, variable, or expression that specifies the data set identifier that the OPEN function returns.\",\"placeholder\":true,\"dataTypes\":[\"dataSet\"],\"supportSiteTargetFragment\":\"p18pnfkqgbg3emn1nq4wp52yejtn\"},{\"name\":\"integer-variable\",\"description\":\"is an interger variable: INT64, INT32, INT16, INT8.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p0prxqehleu5c4n1pyn7qob5f397\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p1qhesv7jxv5eun1n5byl3d4bq7e.htm\"}},{\"name\":\"GITFN_CLONE\",\"description\":\"Clones a Git repository into a directory on the SAS server.\",\"syntax\":{\"help\":\"Form 1: \\nGITFN_CLONE  (uri, directory)\\nForm 2: \\nGITFN_CLONE  (uri, directory, <user, password, ssh-public-key, ssh-private-key>)\",\"arguments\":[{\"name\":\"uri\",\"description\":\"specifies the Git repository URI. The URI can be either HTTPS or SSH.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n0isj815gs64fbn10ha9mvcciplx\"},{\"name\":\"directory\",\"description\":\"specifies a target directory on the SAS server to clone the repository to.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p1nenoomrg21win118yu364dzfqj\"},{\"name\":\"user\",\"description\":\"specifies the user name for a secure repository.\",\"placeholder\":true,\"optional\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p1knoi2inwypgkn12qhbr1fqyx58\"},{\"name\":\"password\",\"description\":\"specifies the password for a secure repository.\",\"placeholder\":true,\"optional\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n1g2xwhlgfomljn1oncphoimbawb\"},{\"name\":\"ssh-public-key-path\",\"description\":\"specifies the pathname for the public SSH key file.\",\"placeholder\":true,\"optional\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n1bi2pupuhf7psn1hxfo9jd0ux7r\"},{\"name\":\"ssh-private-key-path\",\"description\":\"specifies the pathname for the private SSH key file.\",\"placeholder\":true,\"optional\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n1eer8w655nyd0n1s268vgfoptbt\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n0zoh17p8dzdn2n0zq3ac7axvi81.htm\"}},{\"name\":\"GITFN_COMMIT\",\"description\":\"Commits staged files to the local repository.\",\"syntax\":{\"help\":\"GITFN_COMMIT ( *directory*, *update-ref*, *author-name*, *author-email*, *commit-message*)\",\"arguments\":[{\"name\":\"directory\",\"description\":\"specifies the pathname of the local Git repository on the SAS server.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p1c6vmu2ioi7mzn1ezwlxybjt96y\"},{\"name\":\"update-ref\",\"description\":\"specifies the update reference that you want to commit to.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n1ec9rum5ciikjn1oz7qpa8j2bi9\"},{\"name\":\"author-name\",\"description\":\"specifies the name of the commit author.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n1jehnq6w8n0lgn17se2tzw16f11\"},{\"name\":\"author-email\",\"description\":\"specifies the email of the commit author.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p141oyb09t4tzin17qnfowmohnt1\"},{\"name\":\"commit-message\",\"description\":\"specifies the commit message.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n1qdo760087chln1edz78h3meguo\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n1q4rh5vc3l440n15r7kvf24ujg1.htm\"}},{\"name\":\"GITFN_COMMITFREE\",\"description\":\"Clears the commit record object that was created by GITFN_COMMIT_LOG for the specified repository.\",\"syntax\":{\"help\":\"GITFN_COMMITFREE ( *directory*)\",\"arguments\":[{\"name\":\"directory\",\"description\":\"specifies the pathname of a cloned Git repository on the SAS server.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n11fduduuu3n2tn1h45qix7hvbse\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n1kjd9oj5v18gkn1u1r7vir0fe6u.htm\"}},{\"name\":\"GITFN_COMMIT_GET\",\"description\":\"Returns the specified attribute of the nth commit object that is associated with the local repository.\",\"syntax\":{\"help\":\"GITFN_COMMIT_GET ( *n*, *directory*, *attribute*, *attribute-out*)\",\"arguments\":[{\"name\":\"n\",\"description\":\"specifies the nth commit object to retrieve attributes from.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n1lya6vgarx8bvn17lanpwjgcobd\"},{\"name\":\"directory\",\"description\":\"specifies the path of a cloned Git repository on the SAS server.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n1kj3wti3ly3odn1m9nct8lm4fpk\"},{\"name\":\"attribute\",\"description\":\"specifies the attribute of the status object to return.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n1vxaszmf3fn12n13rhp0qhhui8j\"},{\"name\":\"attribute-out\",\"description\":\"specifies a character variable that stores the returned attribute.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p092exvbpjdtqbn1aspo604t0k3e\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p05uchfu28d01un104cfm537l7cy.htm\"}},{\"name\":\"GITFN_COMMIT_LOG\",\"description\":\"Returns the number of commit objects that are associated with the local repository.\",\"syntax\":{\"help\":\"GITFN_COMMIT_LOG ( *directory*)\",\"arguments\":[{\"name\":\"directory\",\"description\":\"specifies the pathname of a cloned Git repository on the SAS server.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n0xgdxi9eoj7wen0zgpkegr578hi\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p1voxn512aa9zmn1lslyc2pc5gck.htm\"}},{\"name\":\"GITFN_CO_BRANCH\",\"description\":\"Check out a branch in a Git repository.\",\"syntax\":{\"help\":\"GITFN_CO_BRANCH ( *directory*, *branch*)\",\"arguments\":[{\"name\":\"directory\",\"description\":\"specifies the path to a local Git repository on the SAS server.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n0pyoqq3p64mwkn1wryke46l0xlz\"},{\"name\":\"branch\",\"description\":\"specifies the name of a branch in the local Git repository.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p0ctbzjefmsbgon1vhaiz8f90lnu\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p1evluypahwf0un1w7u74rd26n5n.htm\"}},{\"name\":\"GITFN_DEL_BRANCH\",\"description\":\"Deletes a Git branch in the repository.\",\"syntax\":{\"help\":\"GITFN_DEL_BRANCH ( *directory*, *branch-name*)\",\"arguments\":[{\"name\":\"directory\",\"description\":\"specifies the pathname of a cloned Git repository on the SAS server.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n1e8w1jemo5klkn1fk4tifc5s63h\"},{\"name\":\"branch-name\",\"description\":\"specifies the name of the branch to be deleted.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p07ky9waji4be3n11spycpsgwnkz\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n1cvoas42tl1n4n1xmpcitkwiybz.htm\"}},{\"name\":\"GITFN_DEL_REPO\",\"description\":\"Deletes a local Git repository and its contents.\",\"syntax\":{\"help\":\"GITFN_DEL_REPO ( *directory*)\",\"arguments\":[{\"name\":\"directory\",\"description\":\"specifies the pathname of a cloned Git repository on the SAS server.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n0scj1p4q569e7n1ujrrm88cn6n9\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p0yqemegv9h4mmn1r4ut5dkmaez8.htm\"}},{\"name\":\"GITFN_DIFF\",\"description\":\"Returns the number of diffs between two commits in the local repository and creates a diff record object for the local repository.\",\"syntax\":{\"help\":\"GITFN_DIFF ( *directory*, *older-commit-ID*, *newer-commit-ID*)\",\"arguments\":[{\"name\":\"directory\",\"description\":\"specifies the pathname of a cloned Git repository on the SAS server.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n0pgwfokidyubdn18zhqu06dwp1w\"},{\"name\":\"older-commit-ID\",\"description\":\"specifies the older of the two commit IDs that you want to diff.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n09dyilpuq1yj5n1keq07c0n603o\"},{\"name\":\"newer-commit-ID\",\"description\":\"specifies the newer of the two commit IDs that you want to diff.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p01bgqm16yitl6n17tn5j4102iof\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p0vcgsts44tqetn1mih3q46o62do.htm\"}},{\"name\":\"GITFN_DIFF_FREE\",\"description\":\"Clears the diff record object associated with a local repository.\",\"syntax\":{\"help\":\"GITFN_DIFF_FREE ( *directory*, *older-commit*, *newer-commit*)\",\"arguments\":[{\"name\":\"directory\",\"description\":\"specifies the pathname of a cloned Git repository on the SAS server.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p1afjpqnqhcjrtn1u4il5t05bjpv\"},{\"name\":\"older-commit\",\"description\":\"specifies the older of the two commit IDs from the diff.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p1gj3oz9gzgdgin1l4q0i47kwhh0\"},{\"name\":\"newer_commit\",\"description\":\"specifies the newer of the two commit IDs from the diff.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n0dq0kwvkj2wadn1ivo5yjgqsrhe\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n0asseg5q1pi5pn1rl20trzu7b5j.htm\"}},{\"name\":\"GITFN_DIFF_GET\",\"description\":\"Returns the specified attribute of the nth diff object in the local repository.\",\"syntax\":{\"help\":\"GITFN_DIFF_GET ( *n*, *directory*, *attribute*, *attribute-out*)\",\"arguments\":[{\"name\":\"n\",\"description\":\"specifies the nth diff object to retrieve an attribute from.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n17r16lmyesx9hn1wbrzvtq3oo6n\"},{\"name\":\"directory\",\"description\":\"specifies the pathname of a cloned Git repository on the SAS server.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n1woelj0c76whtn1mjgk57kend5k\"},{\"name\":\"attribute\",\"description\":\"specifies the attribute of the diff object to return.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p1t1dsjarp2jn1n1p8lfne8v9bwm\"},{\"name\":\"attribute-out\",\"description\":\"specifies a variable that stores the returned attribute.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p0bm1jvldd5448n18ztl2a24hhtw\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p0wf7xwure5xp7n1qb0zz9a164ng.htm\"}},{\"name\":\"GITFN_DIFF_IDX_F\",\"description\":\"Returns the changes for a file in the index.\",\"syntax\":{\"help\":\"GITFN_DIFF_IDX_F ( *directory*, *file-name*, *diff-content*)\",\"arguments\":[{\"name\":\"directory\",\"description\":\"specifies the pathname of a local repository on the SAS server.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p1mjtfs7da5u1vn19jg1asj5ajzw\"},{\"name\":\"file-name\",\"description\":\"specifies the file name of the file in the index to return changes for.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n1dzdu7ezca2eon1812l94ksgzxk\"},{\"name\":\"diff-content\",\"description\":\"specifies a character variable to return the content of the diff to.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p1fyiu9256dwezn1utx8bvf2ssfw\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p0aryl6qeojojqn1tsfqehos52du.htm\"}},{\"name\":\"GITFN_IDX_ADD\",\"description\":\"Stages 1 to n number of files to commit to the local repository.\",\"syntax\":{\"help\":\"GITFN_IDX_ADD ( *directory*, *file-1*, *status-1*&lt;, ... ,*file-n*, *status-n*&gt;)\",\"arguments\":[{\"name\":\"directory\",\"description\":\"specifies the path of a cloned Git repository on the SAS server.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n1izq21ws5bwmnn1d9g3z1mvzex6\"},{\"name\":\"file\",\"description\":\"specifies the local pathname of a file to stage in the local repository.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p02df7s8i26w8sn1jl6ei934c10v\"},{\"name\":\"status\",\"description\":\"specifies the status of a file to stage in the local repository.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n1sbhmli22np5vn1xepif4bha27s\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p1lpd5p3qi2klhn1dfodr5u7n94s.htm\"}},{\"name\":\"GITFN_IDX_REMOVE\",\"description\":\"Unstages 1 to n number of files to commit to the local repository.\",\"syntax\":{\"help\":\"GITFN_IDX_REMOVE ( *directory*, *file-1*&lt;, ..., *file-n*&gt;)\",\"arguments\":[{\"name\":\"directory\",\"description\":\"specifies the path of a cloned Git repository on the SAS server.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p0o2dzmtdqv87an16ro7yb748jne\"},{\"name\":\"file\",\"description\":\"specifies the local pathname of a file to stage in the local repository.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p0r2rjn6q5o8zpn1cbinik7y2cpm\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p0ockyd8ialymbn14y9yfucl6o5r.htm\"}},{\"name\":\"GITFN_MRG_BRANCH\",\"description\":\"Merges a Git branch into the currently checked-out branch.\",\"syntax\":{\"help\":\"GITFN_MRG_BRANCH ( *directory*, *branch-name*, *author-name*, *author-email*)\",\"arguments\":[{\"name\":\"directory\",\"description\":\"specifies the pathname of a local repository on the SAS server.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n18chsgwhizwvjn1ky19hntghfc3\"},{\"name\":\"branch-name\",\"description\":\"specifies the branch that is merged into the currently checked-out branch.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n1la4sodur2hsqn1aehlij4ebxot\"},{\"name\":\"author-name\",\"description\":\"specifies the author’s name for the branch merge.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p06u0ls53fx4byn1vhr1zisdup4y\"},{\"name\":\"author-email\",\"description\":\"specifies the author’s email for the branch merge.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n0u725dtq8qr5zn1b8ru8dtanw7c\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p0r8gjsq9nodmnn1gcqljmtlqxrm.htm\"}},{\"name\":\"GITFN_NEW_BRANCH\",\"description\":\"Creates a Git branch.\",\"syntax\":{\"help\":\"GITFN_NEW_BRANCH ( *directory*, *commit-ID*, *branch-name*, *force*)\",\"arguments\":[{\"name\":\"directory\",\"description\":\"specifies the pathname of a cloned Git repository on the SAS server.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p1veq45kj2oaj5n1wteqj62zgcry\"},{\"name\":\"commit-ID\",\"description\":\"specifies which commit level the new branch is cloned from.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n0h9qqj26zfk0yn1jvm9dxfqv1cz\"},{\"name\":\"branch-name\",\"description\":\"specifies a name for the new branch.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p0yiheowkgd4eyn1jg44rppgwx9m\"},{\"name\":\"force\",\"description\":\"specifies whether to overwrite existing branches with the same name or not to overwrite existing branches.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n1fcj3gr98k432n10qopw7re9ggo\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p0sez046ww1r51n14p4rvpc7csya.htm\"}},{\"name\":\"GITFN_PULL\",\"description\":\"Pulls changes from the remote repository into the local repository.\",\"syntax\":{\"help\":\"Form 1: \\nGITFN_PULL ( directory)\\nForm 2: \\nGITFN_PULL ( directory, user, password)\\nForm 3: \\nGITFN_PULL ( directory, ssh-user, ssh-password,ssh-public-key, ssh-private-key)\",\"arguments\":[{\"name\":\"directory\",\"description\":\"specifies the local repository that you want to pull changes to from the remote repository.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p0bggnz2qa4scyn1xctir9jjqgj2\"},{\"name\":\"user\",\"description\":\"specifies the Git user name credential for the remote repository.\",\"placeholder\":true,\"optional\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p1i32bpxqwa1ttn10fhz0fol1b12\"},{\"name\":\"password\",\"description\":\"specifies the Git password credential for the remote repository.\",\"placeholder\":true,\"optional\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n0fee8uui5do7tn13k0maewux0ug\"},{\"name\":\"ssh-user\",\"description\":\"specifies the SSH user name for the remote repository.\",\"placeholder\":true,\"optional\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n0fl9y3rze9ye3n1fvp5ayuhbvnb\"},{\"name\":\"ssh-password\",\"description\":\"specifies the password for your SSH keys.\",\"placeholder\":true,\"optional\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n0yq076r3fft0fn1jgximt6xvkgm\"},{\"name\":\"ssh-public-key\",\"description\":\"specifies the pathname for the public ssh key file.\",\"placeholder\":true,\"optional\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p11cr1tx44b0lyn1ceunmmotbkyp\"},{\"name\":\"ssh-private-key\",\"description\":\"specifies the pathname for the private ssh key file.\",\"placeholder\":true,\"optional\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n1b7w1umudizj2n1o606l470ah8c\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p0mra40gqk5mcln1l8poj3esya04.htm\"}},{\"name\":\"GITFN_PUSH\",\"description\":\"Pushes the committed files in the local repository to the remote repository.\",\"syntax\":{\"help\":\"Form 1: \\nGITFN_PUSH ( directory)\\nForm 2: \\nGITFN_PUSH ( directory, user, password)\\nForm 3: \\nGITFN_PUSH ( directory, ssh-user, ssh-password, ssh-public-key, ssh-private-key)\",\"arguments\":[{\"name\":\"directory\",\"description\":\"specifies the local repository that you want to push to the remote repository.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p086m4oon76g7qn1p0ug92ubtmo0\"},{\"name\":\"user\",\"description\":\"specifies your Git user name credential for the remote repository.\",\"placeholder\":true,\"optional\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p1cw0nk3r4wmqun19w1poaoe7kn5\"},{\"name\":\"password\",\"description\":\"specifies your Git password credential for the remote repository.\",\"placeholder\":true,\"optional\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n16io1t0z1re58n1aflc9fnyvzoy\"},{\"name\":\"ssh-user\",\"description\":\"specifies the SSH user name for the remote repository.\",\"placeholder\":true,\"optional\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n0q29njdwwvrqsn1f7wjwngs2q1p\"},{\"name\":\"ssh-password\",\"description\":\"specifies the password for your SSH keys.\",\"placeholder\":true,\"optional\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p17kz03yk39d3wn1ealii8xm6cv4\"},{\"name\":\"ssh-public-key\",\"description\":\"specifies the pathname for the public ssh key file.\",\"placeholder\":true,\"optional\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n06epagjkdvra2n1hetza3cjt27v\"},{\"name\":\"ssh-private-key\",\"description\":\"specifies the pathname for the private ssh key file.\",\"placeholder\":true,\"optional\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p1ox5w8cx45bqvn1jefqzui0szxv\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p03j4egafb5opvn1qnw2628rjoy8.htm\"}},{\"name\":\"GITFN_RESET\",\"description\":\"Resets the local repository to a specified commit.\",\"syntax\":{\"help\":\"GITFN_RESET ( *directory*, *commit-ID*, *reset_type*)\",\"arguments\":[{\"name\":\"directory\",\"description\":\"specifies the pathname of a cloned Git repository on the SAS server.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p1xi8rciabrq7jn1oc9o5qb0wz3c\"},{\"name\":\"commit-ID\",\"description\":\"specifies the commit ID to reset the local repository to.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n0zuzwcg815omtn1xvdtqphtuyxx\"},{\"name\":\"reset_type\",\"description\":\"specifies the type of reset.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n0ob071hda3z90n1ixjcbkfht122\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p14vlq67ng0pttn1twf3b1vzzr16.htm\"}},{\"name\":\"GITFN_RESET_FILE\",\"description\":\"Resets a file in the index to the local repository version.\",\"syntax\":{\"help\":\"GITFN_RESET_FILE ( *directory*, *file-name*)\",\"arguments\":[{\"name\":\"directory\",\"description\":\"specifies the pathname of a local repository on the SAS server.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p11oc8tri7lkpwn15oz9jwaox7co\"},{\"name\":\"file-name\",\"description\":\"specifies the local name of a file in the index to reset.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n048q1vahsdvx3n1phmmne24girr\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p0eh0u3uaud4l6n11a0q9rfryo4p.htm\"}},{\"name\":\"GITFN_STATUS\",\"description\":\"Returns the status objects for files in the local repository and creates a status record.\",\"syntax\":{\"help\":\"GITFN_STATUS (*directory*)\",\"arguments\":[{\"name\":\"directory\",\"description\":\"specifies the pathname of a cloned Git repository on the SAS server.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p01d6p0lwsyustn1v2ppj5yjklai\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n1tjilnpwmjumgn1qsie0w90u48o.htm\"}},{\"name\":\"GITFN_STATUSFREE\",\"description\":\"Clears the status record object that was created by GITFN_STATUS for the specified repository.\",\"syntax\":{\"help\":\"GITFN_STATUSFREE  ( *directory* )\",\"arguments\":[{\"name\":\"directory\",\"description\":\"specifies the pathname of a cloned Git repository on the SAS server.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n1huytnnf962rhn1rp4xg44tkn3w\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n00fss0madf64gn1seohmmxd1356.htm\"}},{\"name\":\"GITFN_STATUS_GET\",\"description\":\"Returns the specified attribute of the nth status object returned from GITFN_STATUS() in the local repository.\",\"syntax\":{\"help\":\"GITFN_STATUS_GET (*n*, *directory*, *attribute*, *attribute-store*)\",\"arguments\":[{\"name\":\"n\",\"description\":\"specifies the nth status object to retrieve attributes from.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p0awtdlzl5o53nn1mmw91l0n5mrt\"},{\"name\":\"directory\",\"description\":\"specifies the path of a cloned Git repository on the SAS server.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n15w8tv75do7j6n1o60c8l6h1cvb\"},{\"name\":\"attribute\",\"description\":\"specifies the attribute of the status object to return. Valid attributes are \\\"PATH\\\", \\\"STATUS\\\", or \\\"STAGED\\\". Only one attribute can be specified. If a non-valid attribute is specified, an error occurs.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p1jmc498wow697n1axj07euvgeu4\"},{\"name\":\"attribute-store\",\"description\":\"specifies a character variable that stores the returned attribute.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n1y2fm5pu7skjmn1bphbfba268mz\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n1fuy665ynt35gn1e7dhx3h622c5.htm\"}},{\"name\":\"GITFN_VERSION\",\"description\":\"Specifies whether libgit2 is available and if available, specifies the version that is being used.\",\"syntax\":{\"help\":\"GITFN_VERSION ()\"},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p08b56gach1q0vn1utb62s1z6j8z.htm\"}},{\"name\":\"GIT_BRANCH_CHKOUT\",\"description\":\"Check out a branch in a Git repository.\",\"syntax\":{\"help\":\"GIT_BRANCH_CHKOUT ( '*directory*', '*branch*')\",\"arguments\":[{\"name\":\"'directory'\",\"description\":\"specifies the path to a local Git repository on the SAS server.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n02quqv4bsnynnn1qdpecn08io0a\"},{\"name\":\"'branch'\",\"description\":\"specifies the name of a branch in the local Git repository.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n0ew4n4kszzttqn1ep8u2i41dphe\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n1xyaftqq22p1fn1u831rl65hbwn.htm\"}},{\"name\":\"GIT_BRANCH_DELETE\",\"description\":\"Deletes a Git branch in the repository.\",\"syntax\":{\"help\":\"GIT_BRANCH_DELETE ( '*directory*', '*branch-name*'&lt;, *remote*&gt;)\",\"arguments\":[{\"name\":\"'directory'\",\"description\":\"specifies the pathname of a local Git repository on the SAS server.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p1s5ti09a6958fn19by6h8bck768\"},{\"name\":\"'branch-name'\",\"description\":\"specifies the name of the branch to be deleted.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p1f5ildprbimxwn14rn4o44le0ic\"},{\"name\":\"remote\",\"description\":\"indicates that the branch is a remote branch. The only valid value for remote is 1.\",\"placeholder\":true,\"optional\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n0i2fugn0t02izn1i5w4wn2zedih\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n171hqwxemgo4en17ifhn7ohhx1b.htm\"}},{\"name\":\"GIT_BRANCH_MERGE\",\"description\":\"Merges a Git branch into the currently checked-out branch.\",\"syntax\":{\"help\":\"GIT_BRANCH_MERGE ( '*directory*', '*branch-name*', '*author-name*', '*author-email*'&lt;, remote&gt;)\",\"arguments\":[{\"name\":\"'directory'\",\"description\":\"specifies the pathname of a local repository on the SAS server.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p0q3h5ct46h1t3n1lfp7s9zicrz5\"},{\"name\":\"'branch-name'\",\"description\":\"specifies the branch that is merged into the currently checked-out branch.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p1wte9ama5i31sn1a7lqtw742jz0\"},{\"name\":\"'author-name'\",\"description\":\"specifies the author’s name for the branch merge.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n083bql1rh66dvn1q7tmcxerhg7p\"},{\"name\":\"'author-email'\",\"description\":\"specifies the author’s email for the branch merge.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p0d5oq231iarh4n1katxmlhw4rbb\"},{\"name\":\"1\",\"description\":\"indicates that the target branch is a remote branch.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p1mqw0xlxpw523n1v0pjbgpsw0uo\"},{\"name\":\"0\",\"description\":\"indicates that the target branch is a local branch.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n1mz98dt3xqoz2n0zfgkk0a5bqv6\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p0ywf31jd4fg8ln14s8o3o08qa38.htm\"}},{\"name\":\"GIT_BRANCH_NEW\",\"description\":\"Creates a Git branch.\",\"syntax\":{\"help\":\"GIT_BRANCH_NEW ( *'directory'*, *'commit-ID'*, *'branch-name'*, *force*)\",\"arguments\":[{\"name\":\"'directory'\",\"description\":\"specifies the pathname of a local Git repository on the SAS server.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p1s5ti09a6958fn19by6h8bck768a\"},{\"name\":\"'commit-ID'\",\"description\":\"specifies which commit level the new branch is cloned from.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p1m6qun0k9jqubn166on77qnbd1t\"},{\"name\":\"'branch-name'\",\"description\":\"specifies a name for the new branch.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p1our2q1e1mnncn1qx42wdrud7wf\"},{\"name\":\"force\",\"description\":\"specifies whether to overwrite existing branches with the same name or not to overwrite existing branches.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n1cmo6lx57jeu1n18kbsu78oq7qr\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p0jnyuj6jykia1n1oufwlwzkd2lu.htm\"}},{\"name\":\"GIT_CLONE\",\"description\":\"Clones a Git repository into a directory on the SAS server.\",\"syntax\":{\"help\":\"Form 1: \\nGIT_CLONE  ('uri', 'directory '<,                         'user', 'password |                             personal-access-token'><, '',                         '',                         'SSL-CA-certificate-path', 0, '', 'customHeader'>)\\nForm 2: \\nGIT_CLONE  ('uri', 'directory', 'user',                     'password', 'ssh-public-key-path', 'ssh-private-key-path'<, '', '', '', 0, '', 'custom-header'>)\\nForm 3: \\nGIT_CLONE ('uri',                 'directory',                 '',                 '',                 '',                 '',                 'SSL-CA-certificate-path',                 kerberos<, 'custom-header'>)\\nForm 4: \\nGIT_CLONE ('uri',                 'directory',                 '',                 '',                 '',                 '',                 '',                 2,                 auth-domain-ID<, custom-header>)\",\"arguments\":[{\"name\":\"'uri'\",\"description\":\"specifies the Git repository URI. The URI can be either HTTPS or SSH.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n1te5zen4e4trun1uxy6y6czi9g6\"},{\"name\":\"'directory'\",\"description\":\"specifies a target directory on the SAS server to clone the repository to.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n1mh76mo93xrknn1gpj4hdocba50\"},{\"name\":\"'user'\",\"description\":\"specifies the user name for a secure repository.\",\"placeholder\":true,\"optional\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n1oeha6mkz1e6xn1892hsotxu9j4\"},{\"name\":\"'password\",\"description\":\"specifies the password for a secure repository\",\"placeholder\":true,\"optional\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p08zkdvsp8ypl1n1lmuuzdcii2zc\"},{\"name\":\"''\",\"description\":\"specifies an empty string.\",\"placeholder\":true,\"optional\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n0q0xzerthd111n1gioqwzl9yntl\"},{\"name\":\"'SSL-CA-certificate-path'\",\"description\":\"specifies the pathname for the SSL certificate. If you do not require an SSL certificate, specify empty quotation marks ('' or \\\"\\\") for this argument.\",\"placeholder\":true,\"optional\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n1m8fiqj9mka1un1hro04ewl24o3\"},{\"name\":\"'user'\",\"description\":\"specifies the user name for a secure repository.\",\"placeholder\":true,\"optional\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n1b4rcqjqj66y1n16o7jreqwsobt\"},{\"name\":\"'password'\",\"description\":\"specifies the password for a secure repository.\",\"placeholder\":true,\"optional\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p0tvobr87n04ixn1qgz6q51p6k4s\"},{\"name\":\"'ssh-public-key-path'\",\"description\":\"specifies the pathname for the public SSH key file.\",\"placeholder\":true,\"optional\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n1s43lefdu4d4in1etd4e68g6dju\"},{\"name\":\"'ssh-private-key-path'\",\"description\":\"specifies the pathname for the private SSH key file.\",\"placeholder\":true,\"optional\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p09jl9ljiplxbjn13c7gz001izao\"},{\"name\":\"''\",\"description\":\"specifies an empty string.\",\"placeholder\":true,\"optional\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p1fr9nrlokh76cn14bw0i8jlaqan\"},{\"name\":\"authentication-option\",\"description\":\"specifies the authentication method. Specify 1 to use Kerberos authentication. Specify 2 to use the credentials service. Specify 0, or leave the argument blank to not use Kerberos or the credentials service authentication.\",\"placeholder\":true,\"optional\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n0skdgrgbrtfyen121roh5czs73g\"},{\"name\":\"authentication-option\",\"description\":\"specifies the authentication method. Specify 1 to use Kerberos authentication. Specify 2 to use the credentials service. Specify 0, or leave the argument blank to not use Kerberos or the credentials service authentication.\",\"placeholder\":true,\"optional\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n0skdgrgbrtfyen121roh5czs73ga\"},{\"name\":\"'auth-domain-ID'\",\"description\":\"specifies the domain ID to retrieve the credentials.\",\"placeholder\":true,\"optional\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p0gq6bzqgl21qrn1qseymwa49fh9\"},{\"name\":\"'custom-header'\",\"description\":\"specifies a custom HTTP header.\",\"placeholder\":true,\"optional\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p01j8cm8gcaik6n1vb6wvr9h18h7\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n10pxql65jtf4sn11m3d6jzcrgcz.htm\"}},{\"name\":\"GIT_COMMIT\",\"description\":\"Commits staged files to the local repository.\",\"syntax\":{\"help\":\"GIT_COMMIT ( '*directory*', '*update-reference*', '*author-name*',                '*author-email*',                '*commit-message*'&lt;,'*second-parent-commit-ID*'&gt;)\",\"arguments\":[{\"name\":\"'directory'\",\"description\":\"specifies the pathname of the local Git repository on the SAS server.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p1p7z556q4u577n1oyioyq3qpv1ua\"},{\"name\":\"'update-reference'\",\"description\":\"specifies the update reference that you want to commit to.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n0zi2dr7iam2i3n1n6um4g3k8hkh\"},{\"name\":\"'author-name'\",\"description\":\"specifies the name of the commit author.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n1ffhfat6a8u8in13nh2vxdv4013\"},{\"name\":\"'author-email'\",\"description\":\"specifies the email of the commit author.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n0mhddxxsgzpsrn10ac4y3zptvir\"},{\"name\":\"'commit-message'\",\"description\":\"specifies the commit message.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p0mzdduetiwbyvn1jb08hv9qt2u7\"},{\"name\":\"'second-parent-commit-ID'\",\"description\":\"specifies a second parent commit ID to complete merge commits when resolving conflicts.\",\"placeholder\":true,\"optional\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n170t1in7zzjten12hig3ji32l3n\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p1br7kvpnuu18mn0zx71zjpe6dj6.htm\"}},{\"name\":\"GIT_COMMIT_COUNT\",\"description\":\"Returns the count of commits between two specified commits.\",\"syntax\":{\"help\":\"GIT_COMMIT_COUNT (\\\"*directory*\\\", \\\"*commit-id-1*\\\", \\\"*commit-id-2*\\\")\",\"arguments\":[{\"name\":\"'directory'\",\"description\":\"specifies the pathname of the local Git repository on the SAS server.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p1p7z556q4u577n1oyioyq3qpv1u\"},{\"name\":\"'\",\"description\":\"specifies the first commit ID to compare the difference in the count of commits between the other specified commit ID.\",\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"n13v5z7wze58pen1uyni861ep037\"},{\"name\":\"commit-id-1\",\"description\":\"specifies the first commit ID to compare the difference in the count of commits between the other specified commit ID.\",\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"n13v5z7wze58pen1uyni861ep037\"},{\"name\":\"'\",\"description\":\"specifies the second commit ID to compare the difference in the count of commits between the other specified commit ID.\",\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"n0uktj1wi2arwin10erhmo0pn13c\"},{\"name\":\"commit-id-2\",\"description\":\"specifies the second commit ID to compare the difference in the count of commits between the other specified commit ID.\",\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"n0uktj1wi2arwin10erhmo0pn13c\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p19ify1yub2grtn1gp7kxg2rttfe.htm\"}},{\"name\":\"GIT_COMMIT_FREE\",\"description\":\"Clears the commit record object that was created by GIT_COMMIT_LOG for the specified repository.\",\"syntax\":{\"help\":\"GIT_COMMIT_FREE ( '*directory*')\",\"arguments\":[{\"name\":\"'directory'\",\"description\":\"specifies the pathname of a local Git repository on the SAS server.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p1s5ti09a6958fn19by6h8bck768b\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n0fhhlbcfno2qtn1p3ce7vk9wd3b.htm\"}},{\"name\":\"GIT_COMMIT_GET\",\"description\":\"Returns the specified attribute of the nth commit object that is associated with the local repository.\",\"syntax\":{\"help\":\"GIT_COMMIT_GET ( *n*, '*directory*', '*attribute*', *attribute-out*)\",\"arguments\":[{\"name\":\"n\",\"description\":\"specifies the nth commit object to retrieve attributes from.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n1swyirlvz2ia2n16fuilrr828qn\"},{\"name\":\"'directory'\",\"description\":\"specifies the pathname of a local Git repository on the SAS server.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p1s5ti09a6958fn19by6h8bck768c\"},{\"name\":\"author\",\"description\":\"returns the author who submitted the commit.\",\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"p134qy1l8llkrcn17eyl1dw3fyyu\"},{\"name\":\"children_ids\",\"description\":\"returns a list of the children commit IDs\",\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"n1fi5rqocp37p0n1gkhnkxlk9o6f\"},{\"name\":\"committer\",\"description\":\"returns the name of the committer.\",\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"p1070ggkhjjy09n1om91cwnrkpz2\"},{\"name\":\"committer_email\",\"description\":\"returns the email of the committer.\",\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"p1lcfjcfka8sidn15c5oa4v7qrxq\"},{\"name\":\"email\",\"description\":\"returns the email of the commit author.\",\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"p0rvvits0gpklmn1d13yne8rvvo9\"},{\"name\":\"id\",\"description\":\"returns the commit ID of the commit object.\",\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"n1hb83n7qmtiqqn19ip7k6aisjnn\"},{\"name\":\"in_current_branch\",\"description\":\"returns \\\"True\\\" or \\\"False\\\" to indicate if the commit is in the current branch.\",\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"n04pfqo08c8hqkn1udl3o0184fsg\"},{\"name\":\"message\",\"description\":\"returns the commit message.\",\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"p0wyx911svc0ain1v8xrsw8v2ks8\"},{\"name\":\"parent_ids\",\"description\":\"returns a list of the parent commit IDs.\",\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"p1clruzogsh4kfn1l0d7f23hhjh2\"},{\"name\":\"stash\",\"description\":\"returns \\\"True\\\" or \\\"False\\\" to indicate if the commit is a stash commit.\",\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"p1j8zhnojq0q6pn12996mqbk3gs3\"},{\"name\":\"time\",\"description\":\"returns the time of the commit.\",\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"p0lrmv5wsgjpbdn16r6vucvk6aj8\"},{\"name\":\"attribute-out\",\"description\":\"specifies a character variable that stores the returned attribute.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p18nwtdd5kenhkn1es6qkvwgsw9h\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n1qo5miyvry1nen111js203hlwrh.htm\"}},{\"name\":\"GIT_COMMIT_LOG\",\"description\":\"Returns the number of commit objects that are associated with the local repository.\",\"syntax\":{\"help\":\"GIT_COMMIT_LOG ( '*directory*')\",\"arguments\":[{\"name\":\"'directory'\",\"description\":\"specifies the pathname of a local Git repository on the SAS server.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p1s5ti09a6958fn19by6h8bck768d\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n0lgz2o3nlzwsjn1qmjqqvmwtb37.htm\"}},{\"name\":\"GIT_DELETE_REPO\",\"description\":\"deletes a local Git repository and all content within the repository.\",\"syntax\":{\"help\":\"GIT_DELETE_REPO ('*directory*')\",\"arguments\":[{\"name\":\"'directory'\",\"description\":\"specifies the pathname of a local Git repository on the SAS server.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p1s5ti09a6958fn19by6h8bck768e\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n05xa2vo2wnzzon1ujsxkgduv1bh.htm\"}},{\"name\":\"GIT_DIFF\",\"description\":\"Returns the number of diffs between two commits in the local repository and creates a diff record object for the local repository.\",\"syntax\":{\"help\":\"GIT_DIFF ( '*directory*', '*older-commit-ID*', '*newer-commit-ID*')\",\"arguments\":[{\"name\":\"'directory'\",\"description\":\"specifies the pathname of a local Git repository on the SAS server.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p1s5ti09a6958fn19by6h8bck768g\"},{\"name\":\"'older-commit-ID'\",\"description\":\"specifies the older of the two commit IDs that you want to diff.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p0w5gxk24u81y6n1wwxhmvl8lckz\"},{\"name\":\"'newer-commit-ID'\",\"description\":\"specifies the newer of the two commit IDs that you want to diff.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n0bqul1vkyr6j3n1scbpkfjqz2a2\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p1aswmqz9abygln11oecdlxaxt12.htm\"}},{\"name\":\"GIT_DIFF_FILE_IDX\",\"description\":\"Returns the diff for a file in the index.\",\"syntax\":{\"help\":\"GIT_DIFF_FILE_IDX ( '*directory*', '*file-name*', *diff-content*&lt;, *staged*, '*output-file-path*'&gt;)\",\"arguments\":[{\"name\":\"'directory'\",\"description\":\"specifies the pathname of a local repository on the SAS server.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n0bhjg1lf36j6xn108sxj0r59b0b\"},{\"name\":\"'file-name'\",\"description\":\"specifies the file name of the file in the index to return changes for.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n19ratsmx2uv6fn1tj3kugqjx34d\"},{\"name\":\"diff-content\",\"description\":\"specifies a character variable to return the content of the diff to.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p1p049f5mer473n1i9mw80nodxn6\"},{\"name\":\"staged\",\"description\":\"specifies if the target file is staged or is not staged. If no value is specified for staged, GIT_DIFF_FILE_IDX defaults to not staged.\",\"placeholder\":true,\"optional\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n04prju13jmwbwn110960deg6w9j\"},{\"name\":\"'output-file-path'\",\"description\":\"specifies the file path to output the diff content to.\",\"placeholder\":true,\"optional\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n0qc0pxduzg391n1rsqe57fyw1o4\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n1vbrtho4cnnw0n158ut1reqrcua.htm\"}},{\"name\":\"GIT_DIFF_FREE\",\"description\":\"Clears the diff record object associated with a local repository.\",\"syntax\":{\"help\":\"GIT_DIFF_FREE ( '*directory*', '*older-commit*', '*newer-commit*')\",\"arguments\":[{\"name\":\"'directory'\",\"description\":\"specifies the pathname of a local Git repository on the SAS server.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p1s5ti09a6958fn19by6h8bck768f\"},{\"name\":\"'older-commit'\",\"description\":\"specifies the older of the two commit IDs from the diff.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p0ggudp2ed2hskn13iskaqk0l80q\"},{\"name\":\"'newer_commit'\",\"description\":\"specifies the newer of the two commit IDs from the diff.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n11uwmhq71ghfbn17mby21qfuskd\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p0j9lcrj1d4zdrn1elar0scjt4ji.htm\"}},{\"name\":\"GIT_DIFF_GET\",\"description\":\"Returns the specified attribute of the nth diff object in the local repository.\",\"syntax\":{\"help\":\"GIT_DIFF_GET (     *n*,     '*directory*',     '*older-commit-ID*',     '*newer-commit-ID*,     '*attribute*',     *attribute-out*)\",\"arguments\":[{\"name\":\"n\",\"description\":\"specifies the nth diff object to retrieve an attribute from.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n1hcou1b8m86esn17zpdfsinizgx\"},{\"name\":\"'directory'\",\"description\":\"specifies the pathname of a local Git repository on the SAS server.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p1s5ti09a6958fn19by6h8bck768h\"},{\"name\":\"'older-commit-ID'\",\"description\":\"specifies the older of the two commit IDs that you want to diff.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p0gei8u34lunzbn16w7pjuiftj8j\"},{\"name\":\"'newer-commit-ID'\",\"description\":\"specifies the newer of the two commit IDs that you want to diff.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n03atj4m1zyn9bn1loafz9b3gpnu\"},{\"name\":\"file\",\"description\":\"returns the name of the file relative to the local repository that had changes between the two commits.\",\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"p1ps7q5j947teon1njii2tnf4jt0\"},{\"name\":\"diff_content\",\"description\":\"returns the content of the diff for the file.\",\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"p1o634olrjvxwpn1hg9q417v72ay\"},{\"name\":\"diff_type\",\"description\":\"returns the type of change.\",\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"n0u644f6lplmohn171ij5s9oji3a\"},{\"name\":\"attribute-out\",\"description\":\"specifies a variable that stores the returned attribute.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n017reh5o3jhkon167bsqep7c50y\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p1uisdgvlnzq27n1mnft6759eivt.htm\"}},{\"name\":\"GIT_DIFF_TO_FILE\",\"description\":\"Writes the diff content to a file reference.\",\"syntax\":{\"help\":\"GIT_DIFF_TO_FILE (*n*,      '*directory*', '*older-commit-ID*', '*newer-commit-ID*', '*file-reference*')\",\"arguments\":[{\"name\":\"n\",\"description\":\"specifies the nth commit object to retrieve attributes from.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p1gmcap7s50qjan13jwhpmau02ih\"},{\"name\":\"'directory'\",\"description\":\"specifies the pathname of a local Git repository on the SAS server.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p1s5ti09a6958fn19by6h8bck768i\"},{\"name\":\"'older-commit-ID'\",\"description\":\"specifies the older of the two commit IDs that you want to diff.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p0w5gxk24u81y6n1wwxhmvl8lckza\"},{\"name\":\"'newer-commit-ID'\",\"description\":\"specifies the newer of the two commit IDs that you want to diff.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n0bqul1vkyr6j3n1scbpkfjqz2a2a\"},{\"name\":\"'file-reference'\",\"description\":\"specifies the pathname of the file to write the diff content.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p0eln1ptg6plgin1cl8ydlhduogg\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n0kfgxqrfb2se5n1qq0zqu59j9ao.htm\"}},{\"name\":\"GIT_FETCH\",\"description\":\"Fetches updates from the remote repository.\",\"syntax\":{\"help\":\"GIT_FETCH ( 'directory', 'user',                'password',                'ssh-public-key-path', 'ssh-private-key-path'<, 'target-branch', 'SLL-certificate-path',                   kerberos><, 'custom-header'>)\\nGIT_FETCH ('directory',             '',             '',             '',             '',             'target-branch',             '',             2,             'auth-domain-ID'<, 'custom-header'>)\",\"arguments\":[{\"name\":\"'directory'\",\"description\":\"specifies the pathname of a local Git repository on the SAS server.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p1u920laz4n5umn1d2jc8p617lrf\"},{\"name\":\"'user'\",\"description\":\"specifies the user name for a secure repository.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n1b4rcqjqj66y1n16o7jreqwsobta\"},{\"name\":\"'password'\",\"description\":\"specifies the password for a secure repository.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p0tvobr87n04ixn1qgz6q51p6k4sa\"},{\"name\":\"'ssh-public-key-path'\",\"description\":\"specifies the pathname for the public SSH key file.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n1s43lefdu4d4in1etd4e68g6djua\"},{\"name\":\"'ssh-private-key-path'\",\"description\":\"specifies the pathname for the private SSH key file.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p09jl9ljiplxbjn13c7gz001izaoa\"},{\"name\":\"'target-branch'\",\"description\":\"specifies the name of the remote repository target branch to fetch. If the target branch is not specified, all changes are fetched from the remote repository.\",\"placeholder\":true,\"optional\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n0jkepawsjfxnbn1oladtldxpjef\"},{\"name\":\"'SSL-CA-certificate-path'\",\"description\":\"specifies the pathname for the SSL certificate. If you do not require an SSL certificate, specify empty quotation marks ('' or \\\"\\\") for this argument.\",\"placeholder\":true,\"optional\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n1m8fiqj9mka1un1hro04ewl24o3a\"},{\"name\":\"authentication-option\",\"description\":\"specifies the authentication method. Specify 1 to use Kerberos authentication. Specify 2 to use the credentials service. Specify 0, or leave the argument blank to not use Kerberos or the credentials service authentication.\",\"placeholder\":true,\"optional\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n0skdgrgbrtfyen121roh5czs73gb\"},{\"name\":\"'auth-domain-ID'\",\"description\":\"specifies the domain ID to retrieve the credentials.\",\"placeholder\":true,\"optional\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p0gq6bzqgl21qrn1qseymwa49fh9a\"},{\"name\":\"'custom-header'\",\"description\":\"specifies a custom HTTP header.\",\"placeholder\":true,\"optional\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p01j8cm8gcaik6n1vb6wvr9h18h7a\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n1v9zbtk8yhvmyn1vahyh3ijsc9d.htm\"}},{\"name\":\"GIT_INDEX_ADD\",\"description\":\"Stages 1 to n number of files to commit to the local repository.\",\"syntax\":{\"help\":\"GIT_INDEX_ADD ( '*directory*', '*file-1*',                '*status-1*'&lt;, ... ,'*file-n*',                      '*status-n*'&gt;)\",\"arguments\":[{\"name\":\"'directory'\",\"description\":\"specifies the path of a cloned Git repository on the SAS server.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n1pano64uxwc9nn1i33thu71yny6\"},{\"name\":\"'file'\",\"description\":\"specifies the local pathname of a file to stage in the local repository.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n0poih4habd3kon12a64zzxrea9h\"},{\"name\":\"'status'\",\"description\":\"specifies the status of a file to stage in the local repository. The status can be \\\"New\\\", \\\"Modified\\\", or \\\"Deleted\\\".\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n0wb1fjplj476fn1njz9px5ttcag\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n0xgvzmg1knw9an11pjcd59ex35i.htm\"}},{\"name\":\"GIT_INDEX_REMOVE\",\"description\":\"Unstages 1 to n number of files to commit to the local repository.\",\"syntax\":{\"help\":\"GIT_INDEX_REMOVE ( '*directory*', '*file-1*'&lt;, ..., '*file-n*'&gt;)\",\"arguments\":[{\"name\":\"'directory'\",\"description\":\"specifies the path of a cloned Git repository on the SAS server.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p01u2vtampev5dn1arz0jpbxvtty\"},{\"name\":\"'file'\",\"description\":\"specifies the local pathname of a file to stage in the local repository.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n0lhpndscb06jwn1mzrf8dan134a\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p1fpyk0g9r4x75n176s8c4c80urw.htm\"}},{\"name\":\"GIT_INIT_REPO\",\"description\":\"Initializes a new local Git repository.\",\"syntax\":{\"help\":\"GIT_INIT_REPO ('*directory*', '*default-branch-name*'&lt;, '*remote-URL*'&gt;)\",\"arguments\":[{\"name\":\"'directory'\",\"description\":\"specifies a target directory on the SAS server to create a local repository.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n1bah3vmzcx5hmn1or44yohisamm\"},{\"name\":\"'default-branch-name'\",\"description\":\"specifies the default branch name for the repository.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n1345mejc6kfcpn1paq81gxrctho\"},{\"name\":\"'remote-URL'\",\"description\":\"specifies the remote repository URL to be configured for the local repository. If no remote URL is set, the repository is a local-only repository. Local-only repositories return errors if you use the GIT_PUSH, GIT_PULL, or GIT_FETCH function.\",\"placeholder\":true,\"optional\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p0qnwl18ao8gixn1w28v5ogq7yu0\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p1mp7ku5yx45uan1w9vbnh9z5lx9.htm\"}},{\"name\":\"GIT_PULL\",\"description\":\"Pulls changes from the remote repository into the local repository.\",\"syntax\":{\"help\":\"Form 1: \\nGIT_PULL ( 'directory')\\nForm 2: \\nGIT_PULL ( 'directory', 'user',                               'password'<, '', '', 'SSL-certificate-path', 0, '', 'custom-header'>)\\nForm 3: \\nGIT_PULL ( 'directory', 'ssh-user',                               'ssh-password', 'ssh-public-key', 'ssh-private-key')\\nForm 4: \\nGIT_PULL ('directory',                         '',                         '',                         '',                         '',                         'SSL-certificate-path',                         kerberos<, 'custom-header'>)\\nForm 5: \\nGIT_PULL ('directory',                         '',                         '',                         '',                         '',                         '',2,                         auth-domain-ID<, 'custom-header'>)\",\"arguments\":[{\"name\":\"'directory'\",\"description\":\"specifies the local repository that you want to pull changes to from the remote repository.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n1lr8t1i6f03sfn1xvf0y141dy23\"},{\"name\":\"'user'\",\"description\":\"specifies the Git user name credential for the remote repository.\",\"placeholder\":true,\"optional\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p09rcs947u906vn10fl4yy5i3ocb\"},{\"name\":\"'password'\",\"description\":\"specifies the Git password credential for the remote repository. Passwords can be encrypted using PROC PWENCODE.\",\"placeholder\":true,\"optional\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p06wsux15nbmwxn1o6cblual8oft\"},{\"name\":\"'SSL-CA-certificate-path'\",\"description\":\"specifies the pathname for the SSL certificate. If you do not require an SSL certificate, specify empty quotation marks ('' or \\\"\\\") for this argument.\",\"placeholder\":true,\"optional\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n1m8fiqj9mka1un1hro04ewl24o3b\"},{\"name\":\"''\",\"description\":\"specifies an empty string.\",\"placeholder\":true,\"optional\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n0qtds5d6eiasdn17aztfs2oy0no\"},{\"name\":\"'ssh-user'\",\"description\":\"specifies the SSH user name for the remote repository.\",\"placeholder\":true,\"optional\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n1griboiznugrkn1695i9sdea1q7\"},{\"name\":\"'ssh-password'\",\"description\":\"specifies the password for your SSH keys. Passwords can be encrypted using PROC PWENCODE.\",\"placeholder\":true,\"optional\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n023t3q1brwh99n1cd1wnb5a7b3u\"},{\"name\":\"'ssh-public-key'\",\"description\":\"specifies the pathname for the public ssh key file.\",\"placeholder\":true,\"optional\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n0pk2chw1y7m4dn17syvd9doot57\"},{\"name\":\"'ssh-private-key'\",\"description\":\"specifies the pathname for the private ssh key file.\",\"placeholder\":true,\"optional\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p0e3tlwwfg27ymn10o9jwv9m5uki\"},{\"name\":\"''\",\"description\":\"specifies an empty string.\",\"placeholder\":true,\"optional\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p026soih737j0wn1rqznw3lnoj10\"},{\"name\":\"authentication-option\",\"description\":\"specifies the authentication method. Specify 1 to use Kerberos authentication. Specify 2 to use the credentials service. Specify 0, or leave the argument blank to not use Kerberos or the credentials service authentication.\",\"placeholder\":true,\"optional\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n0skdgrgbrtfyen121roh5czs73gc\"},{\"name\":\"authentication-option\",\"description\":\"specifies the authentication method. Specify 1 to use Kerberos authentication. Specify 2 to use the credentials service. Specify 0, or leave the argument blank to not use Kerberos or the credentials service authentication.\",\"placeholder\":true,\"optional\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n0skdgrgbrtfyen121roh5czs73gd\"},{\"name\":\"'auth-domain-ID'\",\"description\":\"specifies the domain ID to retrieve the credentials.\",\"placeholder\":true,\"optional\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p0gq6bzqgl21qrn1qseymwa49fh9b\"},{\"name\":\"'custom-header'\",\"description\":\"specifies a custom HTTP header.\",\"placeholder\":true,\"optional\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p01j8cm8gcaik6n1vb6wvr9h18h7b\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p18hktmsd82bl1n1w0jeri8ro4go.htm\"}},{\"name\":\"GIT_PUSH\",\"description\":\"Pushes the committed files in the local repository to the remote repository.\",\"syntax\":{\"help\":\"Form 1: \\nGIT_PUSH ( 'directory')\\nForm 2: \\nGIT_PUSH ( 'directory', 'user', 'password' <, '', '', 'SSL-certificate-path'><, 0, '', 'customHeader'>)\\nForm 3: \\nGIT_PUSH ( 'directory', 'ssh-user', 'ssh-password', 'ssh-public-key',           'ssh-private-key')\\nForm 4: \\nGIT_PUSH ('directory',         '',         '',         '',         '',         'SSL-certificate-path',         kerberos<, '', 'customHeader'>\\nForm 5: \\nGIT_PUSH ('directory',         '',         '',         '',         '',         '',         2,         'auth-domain-ID'<, 'customHeader'>)\",\"arguments\":[{\"name\":\"'directory'\",\"description\":\"specifies the local repository that you want to push to the remote repository.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n1rer97ukmvk8jn1pom1dsthnbnj\"},{\"name\":\"'user'\",\"description\":\"specifies your Git user name credential for the remote repository.\",\"placeholder\":true,\"optional\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p1oo656oqc9yptn119fcvtf9ktcy\"},{\"name\":\"'password'\",\"description\":\"specifies your Git password credential for the remote repository.\",\"placeholder\":true,\"optional\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n0s3ltgca66qc7n15nwmgsuaj3i3\"},{\"name\":\"'SSL-CA-certificate-path'\",\"description\":\"specifies the pathname for the SSL certificate. If you do not require an SSL certificate, specify empty quotation marks ('' or \\\"\\\") for this argument.\",\"placeholder\":true,\"optional\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n1m8fiqj9mka1un1hro04ewl24o3c\"},{\"name\":\"'ssh-user'\",\"description\":\"specifies the SSH user name for the remote repository.\",\"placeholder\":true,\"optional\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p1vrk3w4z9tg5mn1bwcp5m9f3b6o\"},{\"name\":\"'ssh-password'\",\"description\":\"specifies the password for your SSH keys. Passwords can be encrypted using PROC PWENCODE.\",\"placeholder\":true,\"optional\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n0rotc02uec18nn1k84b99qhcfjq\"},{\"name\":\"'ssh-public-key'\",\"description\":\"specifies the pathname for the public ssh key file.\",\"placeholder\":true,\"optional\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p0fpy4tf7vjs8pn1vcxfqewtjwfs\"},{\"name\":\"'ssh-private-key'\",\"description\":\"specifies the pathname for the private ssh key file.\",\"placeholder\":true,\"optional\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p0oxkumxzgr25yn1exsyplr4m4s1\"},{\"name\":\"''\",\"description\":\"specifies an empty string.\",\"placeholder\":true,\"optional\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p026soih737j0wn1rqznw3lnoj10a\"},{\"name\":\"authentication-option\",\"description\":\"specifies the authentication method. Specify 1 to use Kerberos authentication. Specify 2 to use the credentials service. Specify 0, or leave the argument blank to not use Kerberos or the credentials service authentication.\",\"placeholder\":true,\"optional\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n0skdgrgbrtfyen121roh5czs73ge\"},{\"name\":\"authentication-option\",\"description\":\"specifies the authentication method. Specify 1 to use Kerberos authentication. Specify 2 to use the credentials service. Specify 0, or leave the argument blank to not use Kerberos or the credentials service authentication.\",\"placeholder\":true,\"optional\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n0skdgrgbrtfyen121roh5czs73gf\"},{\"name\":\"'auth-domain-ID'\",\"description\":\"specifies the domain ID to retrieve the credentials.\",\"placeholder\":true,\"optional\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p0gq6bzqgl21qrn1qseymwa49fh9c\"},{\"name\":\"'custom-header'\",\"description\":\"specifies a custom HTTP header.\",\"placeholder\":true,\"optional\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p01j8cm8gcaik6n1vb6wvr9h18h7c\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p1pudivtmsz5iqn189rn1lkadar7.htm\"}},{\"name\":\"GIT_REBASE\",\"description\":\"Rebases your current branch to a specified commit ID.\",\"syntax\":{\"help\":\"GIT_REBASE ( '*directory*', '*current-branch-commit-ID*', '*rebase-commit-ID*', '*name*',                '*email*')\",\"arguments\":[{\"name\":\"'directory'\",\"description\":\"specifies the pathname of a local Git repository on the SAS server.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p1s5ti09a6958fn19by6h8bck768j\"},{\"name\":\"'current-branch-commit-ID'\",\"description\":\"specifies the commit ID of the current branch.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n0t12q3zpbxh9pn1347p5gw44t4m\"},{\"name\":\"'rebase-commit-ID'\",\"description\":\"specifies the commit ID to rebase your current branch on to.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p0tw89c5tevpzkn1hbyiym3j9tro\"},{\"name\":\"'name'\",\"description\":\"specifies the name of the person who is performing the rebase.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n0zv3wc4m0snuvn1ikte3gp6gd6n\"},{\"name\":\"'email'\",\"description\":\"specifies the email of the person who is performing the rebase.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p0tq81vpxv0fn1n1mfd4yff55wd2\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n1pjg20kzr02ucn1sdcd270riylq.htm\"}},{\"name\":\"GIT_REBASE_OP\",\"description\":\"Used to execute rebase operations when a conflict occurs.\",\"syntax\":{\"help\":\"GIT_REBASE_OP ( '*directory*', '*operation*', '*branch-name*', '*name*',                     '*email*')\",\"arguments\":[{\"name\":\"'directory'\",\"description\":\"specifies the pathname of a local Git repository on the SAS server.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p1s5ti09a6958fn19by6h8bck768k\"},{\"name\":\"ABORT\",\"description\":\"cancels the rebase and resets the repository to its previous state before the rebase.\",\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"n1rir06rlb5vopn1l5cr38oa2fe4\"},{\"name\":\"SKIP\",\"description\":\"skips the conflicting commit that stopped the rebase and continues the rebase.\",\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"n1wc00f669idw3n1bfx3gxmv9vtj\"},{\"name\":\"CONTINUE\",\"description\":\"continues the rebase after the conflicts have been resolved.\",\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"p0q3qnf0l3o5gxn16tluhvfwvtm4\"},{\"name\":\"FINISH\",\"description\":\"finishes the rebase at the current location.\",\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"p13ijzxvk3emxsn14tcucdzi0fgv\"},{\"name\":\"'branch-name'\",\"description\":\"specifies the name of the branch that was checked out when the rebase started.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p0cmn31p3ipmfan1ce6zrlvxabr6\"},{\"name\":\"'name'\",\"description\":\"specifies the name of the person who is performing the rebase.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n0zv3wc4m0snuvn1ikte3gp6gd6na\"},{\"name\":\"'email'\",\"description\":\"specifies the email of the person who is performing the rebase.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p0tq81vpxv0fn1n1mfd4yff55wd2a\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n15z68jf03v4epn1b4008h9cztzp.htm\"}},{\"name\":\"GIT_REF_FREE\",\"description\":\"Clears the reference objects that are associated with the local repository.\",\"syntax\":{\"help\":\"GIT_REF_FREE                  ('*directory*')\",\"arguments\":[{\"name\":\"'directory'\",\"description\":\"specifies the pathname of a local Git repository on the SAS server.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n1hdl90hv0jcb7n134sh03xobowq\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n0znnr7xrv1ko0n1gei6qon97fxr.htm\"}},{\"name\":\"GIT_REF_GET\",\"description\":\"Returns the specified attribute of a reference object in the local repository.\",\"syntax\":{\"help\":\"GIT_REF_GET                  (*n*,                 '*directory*',                 '*attribute*',                 *attribute-out*\",\"arguments\":[{\"name\":\"n\",\"description\":\"specifies the nth reference object to retrieve attributes from.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n1p9hz2pwl5kw4n1qnuj7hrwf57p\"},{\"name\":\"'directory'\",\"description\":\"specifies the pathname of a local Git repository on the SAS server.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n0l7gg663v0n2gn1ww2yb0hs4ywe\"},{\"name\":\"repo_path\",\"description\":\"returns the repository path.\",\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"p0s9x0j2v7v4vnn15hw2akefa5pn\"},{\"name\":\"reference\",\"description\":\"returns the relative path to the reference file within the local repository. The return value always beings with \\\"refs\\\" and ends with the name of the reference.\",\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"p0ing8fmfmhvh7n1fe6jg5qt7wc1\"},{\"name\":\"id\",\"description\":\"returns the commit ID that is associated with the refence.\",\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"p1vhlmwwrgdxstn1vv5v1kcy8j3k\"},{\"name\":\"attribute-out\",\"description\":\"specifies a character variable that stores the returned attribute.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p1q9lzso57pkenn1goxngxcqp2d9\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p0sm64ec5utfvon1wo5gvhq1popg.htm\"}},{\"name\":\"GIT_REF_LIST\",\"description\":\"Returns the list of reference objects that are associated with the local repository.\",\"syntax\":{\"help\":\"GIT_REF_LIST                  ('*directory*',                 &lt;*create-data-set*&gt;)\",\"arguments\":[{\"name\":\"'directory'\",\"description\":\"specifies the pathname of a local Git repository on the SAS server.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n1o94hvt4b3qxjn194n38vzgk4sk\"},{\"name\":\"create-data-set\",\"description\":\"specifies to return the reference list in a data structure stored in memory. The data structure is accessed using the GIT_REF_GET function, and the data structure must be cleared using the GIT_REF_FREE function.\",\"placeholder\":true,\"optional\":true,\"dataTypes\":[\"dataSet\"],\"supportSiteTargetFragment\":\"n007tzgfg2shsen1qtpjw64tzdct\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n0tolxmy2runaxn1dvl3395p9nd2.htm\"}},{\"name\":\"GIT_RESET\",\"description\":\"Resets the local repository to a specified commit.\",\"syntax\":{\"help\":\"GIT_RESET ( '*directory*', '*commit-ID*', '*reset_type*')\",\"arguments\":[{\"name\":\"'directory'\",\"description\":\"specifies the pathname of a cloned Git repository on the SAS server.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n09q1rnzpdnb5on1biox83jrrpsn\"},{\"name\":\"'commit-ID'\",\"description\":\"specifies the commit ID to reset the local repository to.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n0u3n199nu4n7pn1cyj933tvzxxk\"},{\"name\":\"'reset_type'\",\"description\":\"specifies the type of reset.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n0lfpom2qlbj25n1sof5arzjqb8y\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n1p4kssm31qem0n1q26hp53rt4xz.htm\"}},{\"name\":\"GIT_RESET_FILE\",\"description\":\"Resets a file in the index to the local repository version.\",\"syntax\":{\"help\":\"GIT_RESET_FILE ( '*directory*', '*file-name*')\",\"arguments\":[{\"name\":\"'directory'\",\"description\":\"specifies the pathname of a local repository on the SAS server.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p1g6qj2vsh7ba6n1ja2ft5iyxzdc\"},{\"name\":\"'file-name'\",\"description\":\"specifies the local name of a file in the index to reset.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p08k6l24eqa4d7n1nzknb4sm9608\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p1gy29mkiaf1jcn1oedr3m83eh2k.htm\"}},{\"name\":\"GIT_SET_URL\",\"description\":\"Sets the remote repository URL for a local repository.\",\"syntax\":{\"help\":\"GIT_SET_URL ( '*directory*', '*URL*')\",\"arguments\":[{\"name\":\"'directory'\",\"description\":\"specifies the pathname of the local Git repository on the SAS server.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p1p7z556q4u577n1oyioyq3qpv1ub\"},{\"name\":\"'URL'\",\"description\":\"specifies the URL of the remote repository.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n0zcxgz05rcdmon11503ookv8sj5\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n0pfxk4srfr0fkn1gh3s1n4jpvhp.htm\"}},{\"name\":\"GIT_STASH\",\"description\":\"Stashes file changes that have not been committed.\",\"syntax\":{\"help\":\"GIT_STASH ('*directory*', '*name*',                '*email*')\",\"arguments\":[{\"name\":\"'directory'\",\"description\":\"specifies the pathname of a local Git repository on the SAS server.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p1s5ti09a6958fn19by6h8bck768n\"},{\"name\":\"'name'\",\"description\":\"specifies the name of the person who is performing the stash.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n1qcoukh6grrl1n1xmn6v8mb8dj7\"},{\"name\":\"'email'\",\"description\":\"specifies the email of the person who is performing the stash.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n0v565k48s58fwn1v0ue0sw65zcz\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n1qpvxdum4jo7dn13dfptvi22xw7.htm\"}},{\"name\":\"GIT_STASH_APPLY\",\"description\":\"Applies file changes that are stored in a stash to the local repository.\",\"syntax\":{\"help\":\"GIT_STASH_APPLY ('*directory*'&lt;, *stash-index*&gt;)\",\"arguments\":[{\"name\":\"'directory'\",\"description\":\"specifies the pathname of a local Git repository on the SAS server.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p1s5ti09a6958fn19by6h8bck768l\"},{\"name\":\"stash-index\",\"description\":\"specifies the index of the stash to apply. If no stash index is specified, the GIT_STASH_APPLY function defaults to the top of the stash stack that corresponds to the index position stash-index=0.\",\"placeholder\":true,\"optional\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n16dkjp2kmngtsn1h8mamy9zt4ff\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p0equ7bkiywtuxn1tkrh0c8x62mj.htm\"}},{\"name\":\"GIT_STASH_DROP\",\"description\":\"Drops the contents of the stash stack at the specified index.\",\"syntax\":{\"help\":\"GIT_STASH_DROP ('*directory*'&lt;, *stash-index*&gt;)\",\"arguments\":[{\"name\":\"'directory'\",\"description\":\"specifies the pathname of a local Git repository on the SAS server.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p1s5ti09a6958fn19by6h8bck768m\"},{\"name\":\"stash-index\",\"description\":\"specifies the index of the stash to drop. If no stash index is specified, the GIT_STASH_DROP function defaults to the top of the stash stack that corresponds to the index position stash-index=0.\",\"placeholder\":true,\"optional\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n1wllih1919vs2n1rrehofq3j9fa\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p151rq9q2u4ljgn1jtvwq6xmv5ho.htm\"}},{\"name\":\"GIT_STASH_POP\",\"description\":\"Applies the changes that are stored in the stash, and then drops the contents of the stash.\",\"syntax\":{\"help\":\"GIT_STASH_POP ('*directory*')\",\"arguments\":[{\"name\":\"'directory'\",\"description\":\"specifies the pathname of a local Git repository on the SAS server.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p1s5ti09a6958fn19by6h8bck768o\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p11v71uvzpm2vtn1ognu8u81w7bl.htm\"}},{\"name\":\"GIT_STATUS\",\"description\":\"Returns the status objects for files in the local repository and creates a status record.\",\"syntax\":{\"help\":\"GIT_STATUS ('*directory*')\",\"arguments\":[{\"name\":\"'directory'\",\"description\":\"specifies the pathname of a local Git repository on the SAS server.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n0ld3v4x6f1wktn1scp7wu29q9f6\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p0yqhk2d71ywe7n1dyhko23hrhmo.htm\"}},{\"name\":\"GIT_STATUS_FREE\",\"description\":\"Clears the status record object that was created by GIT_STATUS for the specified repository.\",\"syntax\":{\"help\":\"GIT_STATUS_FREE  ('*directory*' )\",\"arguments\":[{\"name\":\"'directory'\",\"description\":\"specifies the pathname of a cloned Git repository on the SAS server.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p066ht7v8e2bg0n1pd7l57mcd097\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n1d3bl6r8njjzvn1dbrjd5wo7eag.htm\"}},{\"name\":\"GIT_STATUS_GET\",\"description\":\"Returns the specified attribute of the nth status object returned from GITFN_STATUS() in the local repository.\",\"syntax\":{\"help\":\"GIT_STATUS_GET (*n*, '*directory*', '*attribute*', *attribute-store*)\",\"arguments\":[{\"name\":\"n\",\"description\":\"specifies the nth status object to retrieve attributes from.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p0rt0hlcirdqisn19jegi8ij1xuh\"},{\"name\":\"'directory'\",\"description\":\"specifies the pathname of a local Git repository on the SAS server.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p1s5ti09a6958fn19by6h8bck768p\"},{\"name\":\"path\",\"description\":\"returns the file path of the file relative to the local repository.\",\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"p1qfdq8wtx5jzbn1hrw59jwvm0o3\"},{\"name\":\"status\",\"description\":\"returns the status, \\\"New\\\", \\\"Modified\\\", or \\\"Deleted\\\" of file.\",\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"n04pygfpof3mpqn12y9wy9e7ujnu\"},{\"name\":\"staged\",\"description\":\"returns \\\"True\\\" or \\\"False\\\" indicating if the file is staged or not.\",\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"n0rp51kr59fo5bn1lw6ywbrzqb5x\"},{\"name\":\"attribute-store\",\"description\":\"specifies a character variable that stores the returned attribute.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p1403hcdvid2eqn1gt8fnj0kages\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p08kns1urxcrfyn1uj7k2g26owlf.htm\"}},{\"name\":\"GIT_VERSION\",\"description\":\"Specifies whether libgit2 is available and if available, specifies the version that is being used.\",\"syntax\":{\"help\":\"GIT_VERSION ()\"},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n0a0y2e2ojw0zhn17vaftvf5qy8r.htm\"}},{\"name\":\"GRAYCODE\",\"description\":\"Generates all subsets of n items in a minimal change order.\",\"syntax\":{\"help\":\"GRAYCODE (k, numeric-variable-1, ..., numeric-variable-n)\\nGRAYCODE (k, character-variable<, n <, in-out>>)\",\"arguments\":[{\"name\":\"k\",\"description\":\"specifies a numeric variable. Initialize k to either of the following values before executing the GRAYCODE function:\\n• a negative number to cause GRAYCODE to initialize the subset to be empty\\n• the number of items in the initial set indicated by <i>numeric-variable-1</i> through <i>numeric-variable-n</i>, or <i>character-variable</i>, which must be an integer value between 0 and <i>n</i> inclusive\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n1mf5e6sml07ofn1edjrrj3vdseu\"},{\"name\":\"numeric-variable\",\"description\":\"specifies numeric variables that have values of 0 or 1 which are updated when GRAYCODE is executed. A value of 1 for numeric-variable-j indicates that the jth item is in the subset. A value of 0 for numeric-variable-j indicates that the jth item is not in the subset.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n1qy4dtedr7fq2n137g9l2uq1npi\"},{\"name\":\"character-variable\",\"description\":\"specifies a character variable that has a length of at least n characters. The first n characters indicate which items are in the subset. By default, an \\\"I\\\" in the jth position indicates that the jth item is in the subset, and an \\\"O\\\" in the jth position indicates that the jth item is out of the subset. You can change the two characters by specifying the in-out argument.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n0xtfcjzei7prsn1jrwbbm2c5yh2\"},{\"name\":\"n\",\"description\":\"specifies a numeric constant, variable, or expression. By default, n is the length of character-variable.\",\"placeholder\":true,\"optional\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p0jfmcb845lj87n1xkp8d5kx342s\"},{\"name\":\"in-out\",\"description\":\"specifies a character constant, variable, or expression. The default value is \\\"IO.\\\" The first character is used to indicate that an item is in the subset. The second character is used to indicate that an item is out of the subset.\",\"placeholder\":true,\"optional\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p04ob19af4bnlyn1dl8urtda0rhq\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p1myrepjl958iin1ikhv6515cgp4.htm\"}},{\"name\":\"HARMEAN\",\"description\":\"Returns the harmonic mean.\",\"syntax\":{\"help\":\"HARMEAN (*argument*&lt;, *argument*,  ..., *argument-n*&gt;)\",\"arguments\":[{\"name\":\"argument\",\"description\":\"is a nonnegative numeric constant, variable, or expression.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n1q1azm3m3nxomn1olrh1ncl1zic\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p0g53i0gi8dodgn10qtqipep1tvt.htm\"}},{\"name\":\"HARMEANZ\",\"description\":\"Returns the harmonic mean, using zero fuzzing.\",\"syntax\":{\"help\":\"HARMEANZ (*argument*&lt;, *argument*,  ..., *argument-n*&gt;)\",\"arguments\":[{\"name\":\"argument\",\"description\":\"is a nonnegative numeric constant, variable, or expression.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p1akmihpgnf4r1n1xra7n4beak05\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p072pbuoc42wr6n1r6s5xvx7gtsb.htm\"}},{\"name\":\"HASHING\",\"description\":\"Returns a message digest as a hexadecimal string for a message consisting of a character string, using different methods.\",\"syntax\":{\"help\":\"HASHING (*method*,         *message,*&lt;*flag*&gt;);\",\"arguments\":[{\"name\":\"method\",\"description\":\"specifies one of the following hashing methods as a character constant, variable, or expression in uppercase, lowercase, or mixed case:\\n• MD5\\n• SHA1\\n• SHA256\\n• SHA384\\n• SHA512\\n• CRC32\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n0nlte0ae1u7z9n1n20pfz2977ec\"},{\"name\":\"message\",\"description\":\"specifies a character constant, variable, or expression.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p06d17s7r8sso4n1l16qm74yfblc\"},{\"name\":\"flag\",\"description\":\"specifies whether the message is in hexadecimal representation.\",\"placeholder\":true,\"optional\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n114cx8pdt0um1n18djx5j5ina7x\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n0b8k12x6fdw4ln1snlsqrxd53gy.htm\"}},{\"name\":\"HASHING_FILE\",\"description\":\"Returns a message digest as a hexadecimal string for a message consisting of an entire file, using different hashing methods.\",\"syntax\":{\"help\":\"HASHING_FILE (*method*,             *file,*&lt;*flag*&gt;);\",\"arguments\":[{\"name\":\"method\",\"description\":\"specifies one of the following hashing methods as a character constant, variable, or expression in uppercase, lowercase, or mixed case:\\n• MD5\\n• SH1\\n• SHA256\\n• SHA384\\n• SHA512\\n• CRC32\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p1hbnh4qajy3hgn1kcafwmbtrng1\"},{\"name\":\"file\",\"description\":\"specifies a file name, fileref, or file path as a character constant, variable, or expression.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n0e4ldi0w6mdgqn1xtmz18d31vtx\"},{\"name\":\"flag\",\"description\":\"specifies an integer constant, variable, or expression with one of the following values:\",\"placeholder\":true,\"optional\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p135azm2sfwp57n1jibwcmugujff\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n0n1i6477d9a9in1lflbgj24dx5f.htm\"}},{\"name\":\"HASHING_HMAC\",\"description\":\"Returns a message digest as a hexadecimal string for a character HMAC key value and a message consisting of a character string, using various methods.\",\"syntax\":{\"help\":\"HASHING_HMAC (*method*,         *key*,         *message,*&lt;*flag*&gt;);\",\"arguments\":[{\"name\":\"method\",\"description\":\"specifies one of the following hashing methods as a character constant, variable, or expression in uppercase, lowercase, or mixed case:\\n• MD5\\n• SH1\\n• SHA256\\n• SHA384\\n• SHA512\\n• CRC32\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p1vxvm21cojl4yn12awxyqc9a2sh\"},{\"name\":\"key\",\"description\":\"specifies a secret key as a character constant, variable, or expression in uppercase, lowercase, or mixed case.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n05mna56pc4x1an13m2zshl7za71\"},{\"name\":\"message\",\"description\":\"specifies a character constant, variable, or expression.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p02x4j0a7b4kl4n1nevoyfd1abid\"},{\"name\":\"flag\",\"description\":\"specifies whether the message or key is in hexadecimal.\",\"placeholder\":true,\"optional\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p0ebznh6a96ergn1a6pw03seygr0\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n1h4xn5mswfh6in125pl83hieb48.htm\"}},{\"name\":\"HASHING_HMAC_FILE\",\"description\":\"Returns a message digest as a hexadecimal string for an HMAC key value consisting of a character string and a message consisting of an entire file, using different methods.\",\"syntax\":{\"help\":\"HASHING_HMAC_FILE (*method*,             *key*, *file,*&lt;*flag*&gt;);\",\"arguments\":[{\"name\":\"method\",\"description\":\"specifies one of the following hashing methods as a character constant, variable, or expression in uppercase, lowercase, or mixed case:\\n• MD5\\n• SH1\\n• SHA256\\n• SHA384\\n• SHA512\\n• CRC32\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p0foll0i7jqaa5n1tinj0pv8s5wu\"},{\"name\":\"key\",\"description\":\"specifies a secret key as a character constant, variable, or expression.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n15szc8as85t0cn1n93038w69xwx\"},{\"name\":\"file\",\"description\":\"specifies a file name, fileref, or file path as a character constant, variable, or expression.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n10bl9ivy1rxxdn11ygx9rihk818\"},{\"name\":\"flag\",\"description\":\"specifies an integer constant, variable, or expression with one of the following values:\",\"placeholder\":true,\"optional\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p06l8v4iu1sjvln1quz86efrcix1\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p0xkxs2ntqk92yn1u6t50ygauegs.htm\"}},{\"name\":\"HASHING_HMAC_INIT\",\"description\":\"Initializes a running HMAC hash and returns a numeric handle for use with HASHING_PART and HASHING_TERM.\",\"syntax\":{\"help\":\"handle=HASHING_HMAC_INIT (*method*, *key,* &lt;*flag*&gt;);\",\"arguments\":[{\"name\":\"method\",\"description\":\"specifies one of the following hashing methods as a character constant, variable, or expression in uppercase, lowercase, or mixed case:\\n• MD5\\n• SHA1\\n• SHA256\\n• SHA384\\n• SHA512\\n• CRC32\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n05iwsn8pcfcpzn1b6t5fvxafz0w\"},{\"name\":\"key\",\"description\":\"specifies a secret key as a character constant, variable, or expression.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p1x34o7h7chh3cn1g7gu5q53hjgy\"},{\"name\":\"flag\",\"description\":\"specifies if the key is in hexadecimal values.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p0x9x8kpvkd2ckn1cyb03xakl2cc\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n0hn59ulmck1mpn1qw2ys2zq2jst.htm\"}},{\"name\":\"HASHING_INIT\",\"description\":\"Initializes a running hash and returns a numeric handle for use with HASHING_PART and HASHING_TERM.\",\"syntax\":{\"help\":\"handle=HASHING_INIT (*method*);\",\"arguments\":[{\"name\":\"method\",\"description\":\"specifies one of the following hashing methods as a character constant, variable, or expression in uppercase, lowercase, or mixed case:\\n• MD5\\n• SHA1\\n• SHA256\\n• SHA384\\n• SHA512\\n• CRC32\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n1kkgh9xkd4tahn1kar87qbf5lei\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p1mt999ff7l6orn14dtfx4byvxsw.htm\"}},{\"name\":\"HASHING_PART\",\"description\":\"Provides part of a message for a running hash and returns a numeric value of 1 for a valid handle.\",\"syntax\":{\"help\":\"HASHING_PART (*handle*, *message_part,*&lt;*flag*&gt;);\",\"arguments\":[{\"name\":\"handle\",\"description\":\"specifies the handle that is returned by HASHING_INIT or HASHING_HMAC_INIT.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n0m9qtkhhp5ovcn1m6ctowibt2d9\"},{\"name\":\"message_part\",\"description\":\"specifies a character constant, variable, or expression.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p0rrsfrb17nmkfn1mkyea8xi2q7a\"},{\"name\":\"flag\",\"description\":\"specifies if the message_part is in hexadecimal values.\",\"placeholder\":true,\"optional\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n0as5wxzckqqnrn1gmdahvxvy3ci\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n0ojn8y9s4a3jon1uwm4gc3gxv0a.htm\"}},{\"name\":\"HASHING_TERM\",\"description\":\"Returns the final digest in hexadecimal representation for the running hash.\",\"syntax\":{\"help\":\"HASHING_TERM (*handle*);\",\"arguments\":[{\"name\":\"handle\",\"description\":\"specifies the handle that is returned by HASHING_INIT or HASHING_HMAC_INIT. If the handle is invalid, HASHING_TERM returns a numeric missing value, an error message is issued, and the program step might terminate depending on the calling environment.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n1bnaoy4c0d1o7n1sq5npj97buv8\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p0eaqgcndm3ri9n1w89iqc5vexf2.htm\"}},{\"name\":\"HASH_FAST_HEX\",\"description\":\"Returns a message digest as a 16-byte hexadecimal string for a key value and a message consisting of one or more character strings or numbers, using the fast-hash algorithm.\",\"syntax\":{\"help\":\"HASH_FAST_HEX (key,&lt;arg1..., argn&gt;)\",\"arguments\":[{\"name\":\"key\",\"description\":\"specifies an integer value from 0 to 2**64-1 called a key, seed, salt, or secret.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p1h7u2re75jo8wn1rv82ur80cb22\"},{\"name\":\"arg1,\",\"description\":\"specifies a character or numeric constant, variable, or expression.\",\"placeholder\":true,\"optional\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n1wsa28ssaawkfn1ihmrxz14m99b\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p12smffxfaq36cn1pj5v4oh0dgoj.htm\"}},{\"name\":\"HASH_XX_HEX\",\"description\":\"Returns a message digest as a 16-byte hexadecimal string for a key value and a message consisting of one or more character strings or numbers.\",\"syntax\":{\"help\":\"HASH_XX_HEX (key,&lt;arg1..., argn&gt;)\",\"arguments\":[{\"name\":\"key\",\"description\":\"specifies an integer value from 0 to 2**64-1 called a key, seed, salt, or secret.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p0lv61cdc4pm3cn1dtdsqrqezs70\"},{\"name\":\"arg1,\",\"description\":\"specifies a character or numeric constant, variable, or expression.\",\"placeholder\":true,\"optional\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p05fahamppnf8sn1dek3yy8co2jx\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n14h9maeqd7rpln1n0qqkrtfn5ay.htm\"}},{\"name\":\"HBOUND\",\"description\":\"Returns the upper bound of an array.\",\"syntax\":{\"help\":\"HBOUND <n> (array-name) \\nHBOUND (array-name, bound-n)\",\"arguments\":[{\"name\":\"array-name\",\"description\":\"is the name of an array that was defined previously in the same DATA step.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n106is3j9kln7en0za6xt2cqh77v\"},{\"name\":\"bound-n\",\"description\":\"is a numeric constant, variable, or expression that specifies the dimension for which you want to know the upper bound. Use bound-n only if n is not specified.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n0hxcxpiz55ca5n16qct32mrbktb\"},{\"name\":\"n\",\"description\":\"is an integer constant that specifies the dimension for which you want to know the upper bound. If no n value is specified, the HBOUND function returns the upper bound of the first dimension of the array.\",\"placeholder\":true,\"optional\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p00fz9445pe6ktn16e62hb53tzpm\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p0vqqs1xifuv73n1g0bz4ltobklx.htm\"}},{\"name\":\"HMS\",\"description\":\"Returns a SAS time value from hour, minute, and second values.\",\"syntax\":{\"help\":\"HMS (*hour*, *minute*, *second*)\",\"arguments\":[{\"name\":\"hour\",\"description\":\"is numeric.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n1owqtqgr90d4jn1oy8xss5gxqzb\"},{\"name\":\"minute\",\"description\":\"is numeric.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n1dta4sjsa0gu5n1usu471nwzkh0\"},{\"name\":\"second\",\"description\":\"is numeric.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n1ejx9iqx9drrkn125l88j976tti\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n1oc359bvmqub9n1iavw6u3we8oi.htm\"}},{\"name\":\"HOLIDAY\",\"description\":\"Returns a SAS date value of a specified holiday for a specified year.\",\"syntax\":{\"help\":\"HOLIDAY ('*holiday*', *year*)\",\"arguments\":[{\"name\":\"'holiday'\",\"description\":\"is a character constant, variable, or expression that specifies one of the values listed in the following table.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p0jz7s4ismirobn0ziymfnv585ha\"},{\"name\":\"year\",\"description\":\"is a numeric constant, variable, or expression that specifies a four-digit year. If you use a two-digit year, then you must specify the YEARCUTOFF= system option.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p1mof13r07rafdn13sc1ygfpy7vi\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p12v9lpx7rlthin1cnpd320l3mj3.htm\"}},{\"name\":\"HOLIDAYCK\",\"description\":\"Returns the number of occurrences of the holiday value between date1 and date2.\",\"syntax\":{\"help\":\"HOLIDAYCK ('*holiday*',*date1*, *date2* &lt;,'*locale*'&gt;)\",\"arguments\":[{\"name\":\"'holiday'\",\"description\":\"is a character constant, variable, or expression that specifies one of the values that are listed in the following table. The holiday variable can also be defined using the DATEKEYS procedure and is made available to the function by using the EVENTDS= system option.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n0wdrgt29q0br0n17v2mne9m5jcj\"},{\"name\":\"date1\",\"description\":\"specifies the beginning date value in the form ‘ddmonyy’d or ‘ddmonyyyy’d.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p1pumsc8tk6hxkn1mtjlw2lucbqf\"},{\"name\":\"date2\",\"description\":\"specifies the end date value in the form ‘ddmonyy’d or ‘ddmonyyyy’d.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p1s2b7k9qcredsn1pin47u9mjip0\"},{\"name\":\"'locale'\",\"description\":\"specifies the POSIX value. See .\",\"placeholder\":true,\"optional\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n0w365xh808sfln15c1ud6ni6vb1\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p1nfwj0ltdijeon11noasmdi69s0.htm\"}},{\"name\":\"HOLIDAYCOUNT\",\"description\":\"Returns the number of holidays defined for a SAS date value.\",\"syntax\":{\"help\":\"HOLIDAYCOUNT (*date*&lt;,'*locale*'&gt;)\",\"arguments\":[{\"name\":\"date\",\"description\":\"specifies a SAS date value 'ddmonyy'd or 'ddmonyyyy'd.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p0v8b4eghij28mn19lcl4odi0i83\"},{\"name\":\"'locale'\",\"description\":\"specifies the POSIX locale value. See .\",\"placeholder\":true,\"optional\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n1xbma67uobvaqn13p440d5u16en\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p1t7b1w57s2m83n1m02b01y0t4xr.htm\"}},{\"name\":\"HOLIDAYNAME\",\"description\":\"Returns the name of the holiday that corresponds to the SAS date or a blank string if a holiday is not defined for the SAS date.\",\"syntax\":{\"help\":\"HOLIDAYNAME (*date*&lt;,*n*&lt;,'*locale*'&gt;&gt;)\",\"arguments\":[{\"name\":\"date\",\"description\":\"specifies a SAS date value in the form 'ddmonyy'd or 'ddmonyyyy'd.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n1ba46e6yrz8cbn1n4elcbxgon5w\"},{\"name\":\"n\",\"description\":\"specifies the index.\",\"placeholder\":true,\"optional\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n1c9yelxnw96d5n1ermy3zs5000a\"},{\"name\":\"'locale'\",\"description\":\"specifies the POSIX locale value. See .\",\"placeholder\":true,\"optional\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n1od4aoi5dttotn1s244lyylis2x\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n0fspvqvhjg1lkn1ner2v2450nnl.htm\"}},{\"name\":\"HOLIDAYNX\",\"description\":\"Returns the nth occurrence of the holiday relative to the date argument.\",\"syntax\":{\"help\":\"HOLIDAYNX ('*holiday*',*date*&lt;,*n*&lt;,'*locale*'&gt;&gt;)\",\"arguments\":[{\"name\":\"'holiday'\",\"description\":\"is a character constant, variable, or expression that specifies one of the values that are listed in the following table. The holiday variable can also be defined using the DATEKEYS procedure and is made available to the function by using the EVENTDS= system option.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n04v5r1uwk3iwnn17ikk3v9tiaw1\"},{\"name\":\"date\",\"description\":\"specifies the beginning date value in the form ‘ddmonyy’D or ‘ddmonyyyy’D.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n0k2kg3jcos4uvn1h89eq6rxwhwg\"},{\"name\":\"n\",\"description\":\"specifies the number of occurrences before or after the date. Specifying 0 for n indicates the occurrence on or immediately preceding the date. Specifying 1 for n indicates the next occurrence immediately after the date.\",\"placeholder\":true,\"optional\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n0l1p98nidc0f2n1iv2t6d7yz1xh\"},{\"name\":\"'locale'\",\"description\":\"specifies the POSIX locale value. See .\",\"placeholder\":true,\"optional\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p1824sm2b7plhfn10dhnumb66okl\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n1joh87ts4uj0un12b7je5ha4bge.htm\"}},{\"name\":\"HOLIDAYNY\",\"description\":\"Returns the nth occurrence of the holiday for the year.\",\"syntax\":{\"help\":\"HOLIDAYNY ('*holiday*',*year*&lt;,*n*&lt;,'*locale*'&gt;&gt;)\",\"arguments\":[{\"name\":\"'holiday'\",\"description\":\"is a character constant, variable, or expression that specifies one of the values that are listed in the following table. The holiday variable can also be defined using the DATEKEYS procedure and is made available to the function by using the EVENTDS= system option.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p1j4hv36g7iz9un1l4d545up1kdn\"},{\"name\":\"year\",\"description\":\"is a numeric constant, variable, or expression that specifies a four-digit year. If you use a two-digit year, you must specify the YEARCUTOFF= system option.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p1o4qkl6v9ct24n0ztglf9a7hf4g\"},{\"name\":\"n\",\"description\":\"specifies the occurrence of the holiday within the year.\",\"placeholder\":true,\"optional\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p0isnw6ix0bylfn11hx9dlj8czbw\"},{\"name\":\"'locale'\",\"description\":\"specifies the POSIX locale value. See .\",\"placeholder\":true,\"optional\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n034sx8wj2bn9en1h5z8j4edaf66\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n0jeu57edwueiwn1gpvw2omkj6sr.htm\"}},{\"name\":\"HOLIDAYTEST\",\"description\":\"Returns 1 if the holiday occurs on the SAS date value.\",\"syntax\":{\"help\":\"HOLIDAYTEST ('*holiday*',*date*&lt;,'*locale*'&gt;)\",\"arguments\":[{\"name\":\"'holiday'\",\"description\":\"is a character constant, variable, or expression that specifies one of the values that are listed in the following table. The holiday variable can also be defined using the DATEKEYS procedure and is made available to the function that uses the EVENTDS= system option.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p1nrlm1kjhxllyn103o5751tzi1x\"},{\"name\":\"date\",\"description\":\"specifies the beginning date value in the form ‘ddmonyy’d or ‘ddmonyyyy’d.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p11yadrl78huxun1o0kgs9l16zfd\"},{\"name\":\"'locale'\",\"description\":\"specifies the POSIX locale value. See .\",\"placeholder\":true,\"optional\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n1k2rf7m6na79yn1b8e5drcaiuz7\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p0oxqhli8e70fnn1pp46d4n0j2be.htm\"}},{\"name\":\"HOUR\",\"description\":\"Returns the hour from a SAS time or datetime value.\",\"syntax\":{\"help\":\"HOUR (*time* | *datetime*)\",\"arguments\":[{\"name\":\"time\",\"description\":\"is a numeric constant, variable, or expression that specifies a SAS time value.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n07hjrtthzrplmn1jwm8dq7fs6lv\"},{\"name\":\"datetime\",\"description\":\"is a numeric constant, variable, or expression that specifies a SAS datetime value.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n13dc12efew7o6n1sdekxzl70i9f\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p1wo6rbbreow6cn0zig8ajg31qq8.htm\"}},{\"name\":\"HTMLDECODE\",\"description\":\"Decodes a string that contains HTML numeric character references or HTML character entity references, and returns the decoded string.\",\"syntax\":{\"help\":\"HTMLDECODE (*expression*)\",\"arguments\":[{\"name\":\"expression\",\"description\":\"specifies a character constant, variable, or expression.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p0r94uivxm2lk1n1o02inn5pozbi\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n0y10oliwg3voun100txgmy6d1g3.htm\"}},{\"name\":\"HTMLENCODE\",\"description\":\"Encodes characters using HTML character entity references, and returns the encoded string.\",\"syntax\":{\"help\":\"HTMLENCODE (*expression*, &lt;*options*&gt;)\",\"arguments\":[{\"name\":\"expression\",\"description\":\"specifies a character constant, variable, or expression. By default, any greater-than (>), less-than (<), and ampersand (&) characters are encoded as &gt;, &lt;, and &amp;, respectively. This behavior can be modified with the option argument.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p096sixu5469k8n1oufn7acnxou2\"},{\"name\":\"option\",\"description\":\"is a character constant, variable, or expression that specifies the type of characters to encode. If you use more than one option, separate the options by spaces.\",\"placeholder\":true,\"optional\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n1njl1i727beoqn1qkufsnn5okhf\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n0cm3nfzxlg3iwn1myjzv3t8rt8j.htm\"}},{\"name\":\"IBESSEL\",\"description\":\"Returns the value of the modified Bessel function.\",\"syntax\":{\"help\":\"IBESSEL (*nu*, *x*, *kode*)\",\"arguments\":[{\"name\":\"nu\",\"description\":\"specifies a numeric constant, variable, or expression.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n04oeaoxdsouxxn10ed2h6vn4027\"},{\"name\":\"x\",\"description\":\"specifies a numeric constant, variable, or expression.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p0iivbapaj2lizn10sf825kh0jb8\"},{\"name\":\"kode\",\"description\":\"is a numeric constant, variable, or expression that specifies a nonnegative integer.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n0zcxipgx00hgln0zsrm274y5cc6\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n123ec4afwk7ben1ilrz6uor45ut.htm\"}},{\"name\":\"IFC\",\"description\":\"Returns a character value based on whether an expression is true, false, or missing.\",\"syntax\":{\"help\":\"IFC (logical-expression, value-returned-when-true, value-returned-when-false\\n<, value-returned-when-missing>)\",\"arguments\":[{\"name\":\"logical-expression\",\"description\":\"specifies a numeric constant, variable, or expression.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n1ablj9sidl2stn1g3n9vb3l8mg0\"},{\"name\":\"value-returned-when-true\",\"description\":\"specifies a character constant, variable, or expression that is returned when the value of logical-expression is true.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p1hztt3s7vjf2kn1szsfqfuix2pf\"},{\"name\":\"value-returned-when-false\",\"description\":\"specifies a character constant, variable, or expression that is returned when the value of logical-expression is false.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p0l3qhf7mg5jd0n1mbzziitf78pi\"},{\"name\":\"value-returned-when-missing\",\"description\":\"specifies a character constant, variable, or expression that is returned when the value of logical-expression is missing.\",\"placeholder\":true,\"optional\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n1vlgwiew2dglkn1o1zguk1u3622\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p07za51a2k0sxkn1m0tulx2cy464.htm\"}},{\"name\":\"IFN\",\"description\":\"Returns a numeric value based on whether an expression is true, false, or missing.\",\"syntax\":{\"help\":\"IFN (logical-expression, value-returned-when-true, value-returned-when-false\\n<, value-returned-when-missing>)\",\"arguments\":[{\"name\":\"logical-expression\",\"description\":\"specifies a numeric constant, variable, or expression.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n1k5fhn0m2j61vn12lj868ssvwr1\"},{\"name\":\"value-returned-when-true\",\"description\":\"specifies a numeric constant, variable, or expression that is returned when the value of logical-expression is true.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p11s80orx21o4rn1cot2nhppugh7\"},{\"name\":\"value-returned-when-false\",\"description\":\"specifies a numeric constant, variable, or expression that is returned when the value of logical-expression is false.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p0udwutsr5cdotn1nb72rjgo1cvq\"},{\"name\":\"value-returned-when-missing\",\"description\":\"specifies a numeric constant, variable or expression that is returned when the value of logical-expression is missing.\",\"placeholder\":true,\"optional\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p0g787ir4jj2p2n1m254f3d68l8b\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n0l3n5z2h31h7wn1fmnqd33ibhap.htm\"}},{\"name\":\"INDEX\",\"description\":\"Searches a character expression for a string of characters, and returns the position of the string's first character for the first occurrence of the string.\",\"syntax\":{\"help\":\"INDEX (*source*, *excerpt*)\",\"arguments\":[{\"name\":\"source\",\"description\":\"specifies a character constant, variable, or expression to search.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n0dpwiz7seytivn1u4mw82v37r64\"},{\"name\":\"excerpt\",\"description\":\"is a character constant, variable, or expression that specifies the string of characters to search for in source.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n17vvz3po3sbhmn1j9kpi56m75p9\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n0vxokxhv8lr84n10nrbnzp7gnba.htm\"}},{\"name\":\"INDEXC\",\"description\":\"Searches a character expression for any of the specified characters, and returns the position of that character.\",\"syntax\":{\"help\":\"INDEXC (*source*, *excerpt-1*&lt;, …*excerpt-n*&gt;)\",\"arguments\":[{\"name\":\"source\",\"description\":\"specifies a character constant, variable, or expression to search.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p17ssmvzgwp7r2n1mwr98vxg8kiz\"},{\"name\":\"excerpt\",\"description\":\"specifies the character constant, variable, or expression to search for in source.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p0liascrzro56qn1qtq3y13d1d7w\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n04ha26lk1sr1in1043awq6wav80.htm\"}},{\"name\":\"INDEXW\",\"description\":\"Searches a character expression for a string that is specified as a word, and returns the position of the first character in the word.\",\"syntax\":{\"help\":\"INDEXW (*source*, *excerpt*&lt;, *delimiters*&gt;)\",\"arguments\":[{\"name\":\"source\",\"description\":\"specifies a character constant, variable, or expression to search.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n0684i8vmt684qn1o27qvcmepang\"},{\"name\":\"excerpt\",\"description\":\"specifies a character constant, variable, or expression to search for in source. SAS removes leading and trailing delimiters from excerpt.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n1up1eit3rkdx7n15b8lp4af7j9u\"},{\"name\":\"delimiter\",\"description\":\"specifies a character constant, variable, or expression containing the characters that you want INDEXW to use as delimiters in the character string. The default delimiter is the blank character.\",\"placeholder\":true,\"optional\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n1ahb3eozyfbban1xov0xz9wiq58\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p0korze1qnq4len1mvlb5o98ht1n.htm\"}},{\"name\":\"INPUT\",\"description\":\"Returns the value that is produced when SAS converts an expression by using the specified informat.\",\"syntax\":{\"help\":\"INPUT (*source*, &lt;? | ??&gt;*informat*.)\",\"arguments\":[{\"name\":\"source\",\"description\":\"specifies a character constant, variable, or expression to which you want to apply a specific informat.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p0sle4a2cvrbk3n1g9j8hb5ur3px\"},{\"name\":\"?\",\"description\":\"specifies the optional question mark (?) and double question mark (??) modifiers that suppress the printing of notes and input lines when invalid data values are read. The ? modifier suppresses the invalid data message. The ?? modifier suppresses the invalid data message and prevents the automatic variable _ERROR_ from being set to 1 when invalid data is read.\",\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"n1kffofxl0u52wn1vfuuhq5e6csg\"},{\"name\":\"informat.\",\"description\":\"is the SAS informat that you want to apply to the source. This argument must be the name of an informat followed by a period. The argument cannot be a character constant, variable, or expression.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p04br22krqb3edn1qlr7bf5vj8fm\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p19en16vskd2vhn1vwmxpxnglxxs.htm\"}},{\"name\":\"INPUTC\",\"description\":\"Enables you to specify a character informat at run time.\",\"syntax\":{\"help\":\"INPUTC (*source*, *informat*&lt;, *w*&gt;)\",\"arguments\":[{\"name\":\"source\",\"description\":\"specifies a character constant, variable, or expression to which you want to apply the informat.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p03n47oc2gpikon1rpo4pp2egkft\"},{\"name\":\"informat\",\"description\":\"is a character constant, variable, or expression that contains the character informat that you want to apply to source.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p1v6u1o9wlqop5n14p2geh6p1760\"},{\"name\":\"w\",\"description\":\"is a numeric constant, variable, or expression that specifies a width to apply to the informat.\",\"placeholder\":true,\"optional\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p1qn0eogic0as9n1kyzcp5smu7c6\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p1wz3fx7m2mtdsn1747wsaqzu5kh.htm\"}},{\"name\":\"INPUTN\",\"description\":\"Enables you to specify a numeric informat at run time.\",\"syntax\":{\"help\":\"INPUTN (*source*, *informat*&lt;, *w*&lt;, *d*&gt;&gt;)\",\"arguments\":[{\"name\":\"source\",\"description\":\"specifies a character constant, variable, or expression to which you want to apply the informat.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p1i1j8rym5zb78n1culnmo3fmh1e\"},{\"name\":\"informat\",\"description\":\"is a character constant, variable, or expression that contains the numeric informat that you want to apply to source.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p1bunrj02fgktsn1ec339d1xp21r\"},{\"name\":\"w\",\"description\":\"is a numeric constant, variable, or expression that specifies a width to apply to the informat.\",\"placeholder\":true,\"optional\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n05zo7pjr82s5jn0zhg56svutbzl\"},{\"name\":\"d\",\"description\":\"is a numeric constant, variable, or expression that specifies the number of decimal places to use.\",\"placeholder\":true,\"optional\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p0esxnqfj36r18n1llzv5cebdsuv\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n1xdirhugd30qcn1szvchqcss3wv.htm\"}},{\"name\":\"INT\",\"description\":\"Returns the integer value, fuzzed to avoid unexpected floating-point results.\",\"syntax\":{\"help\":\"INT (*argument*)\",\"arguments\":[{\"name\":\"argument\",\"description\":\"specifies a numeric constant, variable, or expression.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n0saj1qhte13s7n1u8nqloxotdll\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p1b1zd0wuyufp0n1jbqlr27p4eay.htm\"}},{\"name\":\"INTCINDEX\",\"description\":\"Returns the cycle index when a date, time, or datetime interval and value are specified.\",\"syntax\":{\"help\":\"INTCINDEX (*interval*&lt;&lt;*multiple*.&lt;*shift-index*&gt;&gt;&gt;, *date-time-value*)\",\"arguments\":[{\"name\":\"interval\",\"description\":\"specifies the name of the basic interval type. For example, YEAR specifies yearly intervals.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p0dwuwcgdph5nin1mb2z42pfdf6w\"},{\"name\":\"multiple\",\"description\":\"specifies an optional multiplier that sets the interval equal to a multiple of the period of the basic interval type. For example, the interval YEAR2 consists of two-year, or biennial, periods.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n18wev8b3akt77n1litrlbcxebaw\"},{\"name\":\"shift-index\",\"description\":\"specifies an optional shift index that shifts the interval to start at a specified subperiod starting point. For example, YEAR.3 specifies yearly periods shifted to start on the first of March of each calendar year and to end in February of the following year.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n14gjldipezv45n1inplt0cxwj6z\"},{\"name\":\"date-time-value\",\"description\":\"specifies a date, time, or datetime value that represents a time period of a specified interval.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p0edbt7p18d0p7n12vmjpryn0n57\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n114cj7gzyihzen0zj5cqpvw9xbl.htm\"}},{\"name\":\"INTCK\",\"description\":\"Returns the number of interval boundaries of a given kind that lie between two dates, times, or datetime values.\",\"syntax\":{\"help\":\"INTCK (interval<multiple><.shift-index>, start-date, end-date, <'method'>)\\nINTCK (custom-interval, start-date, end-date, <'method'>)\",\"arguments\":[{\"name\":\"interval\",\"description\":\"specifies the name of the basic interval type. For example, YEAR specifies yearly intervals.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n12cynjitrpom3n1gm73f7m7l6xn\"},{\"name\":\"multiple\",\"description\":\"specifies an optional multiplier that sets the interval equal to a multiple of the period of the basic interval type. For example, the interval YEAR2 consists of two-year, or biennial, periods.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n1mx5ziye1lsctn1vv71l4hnamvl\"},{\"name\":\"custom-interval\",\"description\":\"specifies a user-defined interval that is defined by a SAS data set. Each observation contains two variables, begin and end.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p1i8dqt6b00tlfn19u2rjhkdgtef\"},{\"name\":\"shift-index\",\"description\":\"specifies an optional shift index that shifts the interval to start at a specified subperiod starting point. For example, YEAR.3 specifies yearly periods shifted to start on the first of March of each calendar year and to end in February of the following year.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n1gtwtxg68khzjn1rkmjlksobk51\"},{\"name\":\"start-date\",\"description\":\"specifies a SAS expression that represents the starting SAS date, time, or datetime value.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p1p29zed8aeskbn1xcrci39ja9y2\"},{\"name\":\"end-date\",\"description\":\"specifies a SAS expression that represents the ending SAS date, time, or datetime value.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p1w4n72wjzc3b0n1ajsg5imsr3o5\"},{\"name\":\"CONTINUOUS\",\"description\":\"specifies that continuous time is measured. The interval is shifted based on the starting date.\",\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"p08vyv8pn28087n1xwwrebgt1fti\"},{\"name\":\"DISCRETE\",\"description\":\"specifies that discrete time is measured. The discrete method counts interval boundaries (for example, end of month).\",\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"p0v1lqzdhyu59hn1cudjumekonky\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p1md4mx2crzfaqn14va8kt7qvfhr.htm\"}},{\"name\":\"INTCYCLE\",\"description\":\"Returns the date, time, or datetime interval at the next higher seasonal cycle when a date, time, or datetime interval is specified.\",\"syntax\":{\"help\":\"INTCYCLE (*interval*&lt;&lt;*multiple*.&lt;*shift-index*&gt;&gt;&gt;, &lt;*seasonality*&gt;)\",\"arguments\":[{\"name\":\"interval\",\"description\":\"specifies a character constant, a variable, or an expression that contains an interval name such as WEEK, MONTH, or QTR. Interval can appear in uppercase or lowercase. The possible values of interval are listed in .\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n1898fap56c5qvn1e0q11aeiiu14\"},{\"name\":\"interval\",\"description\":\"specifies the name of the basic interval type. For example, YEAR specifies yearly intervals.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n0mtw21rp5opksn1pfdjkri515jq\"},{\"name\":\"multiple\",\"description\":\"specifies an optional multiplier that sets the interval equal to a multiple of the period of the basic interval type. For example, the interval YEAR2 consists of two-year, or biennial, periods.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n00cikd5fwradmn0z63bz7zctiwq\"},{\"name\":\"shift-index\",\"description\":\"specifies an optional shift index that shifts the interval to start at a specified subperiod starting point. For example, YEAR.3 specifies yearly periods shifted to start on the first of March of each calendar year and to end in February of the following year.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p0rj49ynw7eph6n10z8njt3etpig\"},{\"name\":\"seasonality\",\"description\":\"specifies a numeric value.\",\"placeholder\":true,\"optional\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n14mzn4qst9pmun1rmletcl0xzpi\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p0b01xt2zdoadln141m9jjgqm44m.htm\"}},{\"name\":\"INTFIT\",\"description\":\"Returns a time interval that is aligned between two dates.\",\"syntax\":{\"help\":\"INTFIT (*argument-1*, *argument-2*, '*type*')\",\"arguments\":[{\"name\":\"argument\",\"description\":\"specifies a SAS expression that represents a SAS date or datetime value, or an observation.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p1clae2lw68qcan1t9gha9ukfyrs\"},{\"name\":\"'type'\",\"description\":\"specifies whether the arguments are SAS date values, datetime values, or observations.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n16dcu7i8gkkjwn1az844subntsa\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n17mfyb4i7ays2n1mea97bp2sh5m.htm\"}},{\"name\":\"INTFMT\",\"description\":\"Returns a recommended SAS format when a date, time, or datetime interval is specified.\",\"syntax\":{\"help\":\"INTFMT (*interval*&lt;&lt;*multiple*.&lt;*.shift-index*&gt;&gt;&gt;, '*size*')\",\"arguments\":[{\"name\":\"interval\",\"description\":\"specifies the name of the basic interval type. For example, YEAR specifies yearly intervals.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n1vh1yd0mbixfen11asrnwe726le\"},{\"name\":\"multiple\",\"description\":\"specifies an optional multiplier that sets the interval equal to a multiple of the period of the basic interval type. For example, the interval YEAR2 consists of two-year, or biennial, periods.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n1jacqmbxjoijhn11hwlptk1x3iv\"},{\"name\":\"shift-index\",\"description\":\"specifies an optional shift index that shifts the interval to start at a specified subperiod starting point. For example, YEAR.3 specifies yearly periods shifted to start on the first of March of each calendar year and to end in February of the following year.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n0j2ay77g4vybzn1sef7nkj6vm7z\"},{\"name\":\"'size'\",\"description\":\"specifies either LONG or SHORT. When a format includes a year value, LONG or L specifies a format that uses a four-digit year. SHORT or S specifies a format that uses a two-digit year.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p0zv9f6nogfckpn19aonhjdrrc5g\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p1t195j5xhsluhn1wgn997rc7mgc.htm\"}},{\"name\":\"INTGET\",\"description\":\"Returns a time interval based on three date or datetime values.\",\"syntax\":{\"help\":\"INTGET (*date-1*, *date-2*, *date-3*)\",\"arguments\":[{\"name\":\"date\",\"description\":\"specifies a SAS date or datetime value.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n18or1f66h9wtmn1bz5d90j1yhto\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n0jlf76lzb3kqun17sg20vkvvt8j.htm\"}},{\"name\":\"INTINDEX\",\"description\":\"Returns the seasonal index when a date, time, or datetime interval and value are specified.\",\"syntax\":{\"help\":\"INTINDEX (*interval*&lt;&lt;*multiple*.&lt;*shift-index*&gt;&gt;&gt;, *date-value*, &lt;*seasonality*&gt;)\",\"arguments\":[{\"name\":\"interval\",\"description\":\"specifies the name of the basic interval type. For example, YEAR specifies yearly intervals.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n0tisjp5bued4pn1i5p59hzyj052\"},{\"name\":\"multiple\",\"description\":\"specifies an optional multiplier that sets the interval equal to a multiple of the period of the basic interval type. For example, the interval YEAR2 consists of two-year, or biennial, periods.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n04nqq4b8irgzrn1kol5431yz8pw\"},{\"name\":\"shift-index\",\"description\":\"specifies an optional shift index that shifts the interval to start at a specified subperiod starting point. For example, YEAR.3 specifies yearly periods shifted to start on the first of March of each calendar year and to end in February of the following year.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p0s9k72uedaxq4n175oi1iuu3pb4\"},{\"name\":\"date-value\",\"description\":\"specifies a date, time, or datetime value that represents a time period of the given interval.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n012pent6fb3mxn1htoiluy7izvy\"},{\"name\":\"seasonality\",\"description\":\"specifies a number or a cycle.\",\"placeholder\":true,\"optional\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p0csmmrp85rmvkn1y2040u167kma\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n0j5rou8iz1ogen1uyah02ed20pn.htm\"}},{\"name\":\"INTNEST\",\"description\":\"Calculates the number of whole periods of the smaller interval that will fit into the period of the larger interval.\",\"syntax\":{\"help\":\"INTNEST (*interval1*, *interval2*)\",\"arguments\":[{\"name\":\"interval1\",\"description\":\"specifies the first interval.\",\"placeholder\":true,\"dataTypes\":[\"CHAR, NCHAR, NVARCHAR, VARCHAR\"],\"supportSiteTargetFragment\":\"n0d2rwv8kvv7v0n1cg1qqg0w4tkv\"},{\"name\":\"interval2\",\"description\":\"specifies the second interval.\",\"placeholder\":true,\"dataTypes\":[\"CHAR, NCHAR, NVARCHAR, VARCHAR\"],\"supportSiteTargetFragment\":\"n0rx5k58se7g8an18b28qxx813m6\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n0ws3d9okommkun1rsl3qvjmevog.htm\"}},{\"name\":\"INTNX\",\"description\":\"Increments a date, time, or datetime value by a given time interval, and returns a date, time, or datetime value.\",\"syntax\":{\"help\":\"INTNX (interval<multiple><.shift-index>, start-from, increment<, 'alignment'>)\\nINTNX (custom-interval, start-from, increment<, 'alignment'>)\",\"arguments\":[{\"name\":\"interval\",\"description\":\"specifies the name of the basic interval type. For example, YEAR specifies yearly intervals.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n1alp5rtkdwircn1siq3y4tyr0f2\"},{\"name\":\"multiple\",\"description\":\"specifies an optional multiplier that sets the interval equal to a multiple of the period of the basic interval type. For example, the interval YEAR2 consists of two-year, or biennial, periods.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n0neaaz0693gxgn1elx5t187qp2j\"},{\"name\":\"shift-index\",\"description\":\"specifies an optional shift index that shifts the interval to start at a specified subperiod starting point. For example, YEAR.3 specifies yearly periods shifted to start on the first of March of each calendar year and to end in February of the following year.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p0h7vr6sc5337dn138qe3o5kl8bj\"},{\"name\":\"start-from\",\"description\":\"specifies a SAS expression that represents a SAS date, time, or datetime value that identifies a starting point.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n1k78asrox6uykn18egkehlrrdzh\"},{\"name\":\"increment\",\"description\":\"specifies a negative, positive, or zero integer that represents the number of date, time, or datetime intervals. Increment is the number of intervals to shift the value of start-from.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n1vukox0jawaken1o35k9w74ngae\"},{\"name\":\"BEGINNING\",\"description\":\"specifies that the returned date or datetime value is aligned to the beginning of the interval.\",\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"n0bo50rlv0yut9n1pco9rmsig62e\"},{\"name\":\"MIDDLE\",\"description\":\"specifies that the returned date or datetime value is aligned to the midpoint of the interval, which is the average of the beginning and ending alignment values.\",\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"p0vk72b6kkf3l7n1cdt3v1gg6xve\"},{\"name\":\"END\",\"description\":\"specifies that the returned date or datetime value is aligned to the end of the interval.\",\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"n0agk3wvqi14ppn1kjgjsd719olv\"},{\"name\":\"SAME\",\"description\":\"specifies that the date that is returned has the same alignment as the input date.\",\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"n0f0ya1ee1ia51n1gwz9m9nxpth2\"},{\"name\":\"custom-interval\",\"description\":\"specifies an interval that you define.\",\"placeholder\":true,\"optional\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p0r7u12ce4na7pn133ipi63yjvqx\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p10v3sa3i4kfxfn1sovhi5xzxh8n.htm\"}},{\"name\":\"INTRR\",\"description\":\"Returns the internal rate of return as a fraction.\",\"syntax\":{\"help\":\"INTRR (*frequency*, *c0*, *c1*, ..., *cn*)\",\"arguments\":[{\"name\":\"frequency\",\"description\":\"is numeric, the number of payments over a specified base period of time that is associated with the desired internal rate of return.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p0iicp1e8af21jn14wn48h4k3o5b\"},{\"name\":\"c0,\",\"description\":\"are numeric, the optional cash payments.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n101crsaqproq2n1d13kh2q5zj34\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n0ymqcfzilxqjdn1voqlkylghu0q.htm\"}},{\"name\":\"INTSEAS\",\"description\":\"Returns the length of the seasonal cycle when a date, time, or datetime interval is specified.\",\"syntax\":{\"help\":\"INTSEAS (*interval*&lt;*multiple*.&lt;*shift-index*&gt;&gt;&lt;, *seasonality*&gt;)\",\"arguments\":[{\"name\":\"interval\",\"description\":\"specifies the name of the basic interval type. For example, YEAR specifies yearly intervals.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n06sgqzpl27zrwn1d1y3o17pwnpx\"},{\"name\":\"multiple\",\"description\":\"specifies an optional multiplier that sets the interval equal to a multiple of the period of the basic interval type. For example, the interval YEAR2 consists of two-year, or biennial, periods.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p1rigunpcs7y2ln1gbgsv63kzwsd\"},{\"name\":\"shift-index\",\"description\":\"specifies an optional shift index that shifts the interval to start at a specified subperiod starting point. For example, YEAR.3 specifies yearly periods shifted to start on the first of March of each calendar year and to end in February of the following year.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p0nh8hquovcnw5n1uliosh21s4gi\"},{\"name\":\"seasonality\",\"description\":\"specifies a number or a cycle.\",\"placeholder\":true,\"optional\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n0vg6de32vbkwyn14xvjnikghaw4\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n10i7etfx8acc3n12ux2iupf1acf.htm\"}},{\"name\":\"INTSHIFT\",\"description\":\"Returns the shift interval that corresponds to the base interval.\",\"syntax\":{\"help\":\"INTSHIFT (*interval*&lt;&lt;*multiple*.&lt;*shift-index*&gt;&gt;&gt;)\",\"arguments\":[{\"name\":\"interval\",\"description\":\"specifies a character constant, a variable, or an expression that contains a time interval such as WEEK, SEMIYEAR, QTR, or HOUR. Interval can appear in uppercase or lowercase. The possible values of interval are listed in .\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n00gc61crod2xin15cn1or2pyf7j\"},{\"name\":\"interval\",\"description\":\"specifies the name of the basic interval type. For example, YEAR specifies yearly intervals.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p0zt9khwycvvl5n14w866wrxqf4d\"},{\"name\":\"multiple\",\"description\":\"specifies an optional multiplier that sets the interval equal to a multiple of the period of the basic interval type. For example, the interval YEAR2 consists of two-year, or biennial, periods.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p0igxjxmdaice3n1vt4nyxsxs2cw\"},{\"name\":\"shift-index\",\"description\":\"specifies an optional shift index that shifts the interval to start at a specified subperiod starting point. For example, YEAR.3 specifies yearly periods shifted to start on the first of March of each calendar year and to end in February of the following year.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n0q66dbe4zx1stn1j6t7tvvbkbbv\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p1kc0odzuk1gqbn1w462n14llcmg.htm\"}},{\"name\":\"INTTEST\",\"description\":\"Returns 1 if a time interval is valid, and returns 0 if a time interval is invalid.\",\"syntax\":{\"help\":\"INTTEST (*interval*&lt;&lt;*multiple*.&lt;*shift-index*&gt;&gt;&gt;)\",\"arguments\":[{\"name\":\"interval\",\"description\":\"specifies the name of the basic interval type. For example, YEAR specifies yearly intervals.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n1lql0tlbujyqcn1jy40a3pnqmqf\"},{\"name\":\"multiple\",\"description\":\"specifies an optional multiplier that sets the interval equal to a multiple of the period of the basic interval type. For example, YEAR2 consists of two-year, or biennial, periods.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p12twlw0i8ugozn1x1eeshd7s6kq\"},{\"name\":\"shift-index\",\"description\":\"specifies an optional shift index that shifts the interval to start at a specified subperiod starting point. For example, YEAR.3 specifies yearly periods that are shifted to start on the first of March of each calendar year and to end in February of the following year.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p0cofzsglom2d2n13k5rx6tloma8\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n0b5zq333vvdnan14rmdk1u5m9jq.htm\"}},{\"name\":\"INTZ\",\"description\":\"Returns the integer portion of the argument, using zero fuzzing.\",\"syntax\":{\"help\":\"INTZ (*argument*)\",\"arguments\":[{\"name\":\"argument\",\"description\":\"is a numeric constant, variable, or expression.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n1uw84m4bisyt8n1bltmge6upx8r\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n1h147mprjbt5bn18bae8ub527wm.htm\"}},{\"name\":\"INVCDF\",\"description\":\"Computes the quantile from any distribution for which you have defined a cumulative distribution function (CDF).\",\"syntax\":{\"help\":\"quantile=INVCDF ('CDF-function-name', options-array, cumulative-probability, \\n\\n\\tparameter-1 <, parameter-2, ...>);\",\"arguments\":[{\"name\":\"quantile\",\"description\":\"specifies the quantile that is returned from the INVCDF function.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n0v5h0pjerbosrn1sqxflkda1aj4\"},{\"name\":\"'CDF-function-name'\",\"description\":\"specifies the name of the CDF function. Enclose CDF-function-name in quotation marks.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n0o9538gcokya3n1elywuotfxwk4\"},{\"name\":\"initial-value\",\"description\":\"specifies the initial guess for the quantile at which the inversion process starts. This is useful when you have an idea of the approximate value for quantile (for example, from the empirical estimate of the CDF).\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p0ojrf32p0hdtxn1a893o7ik4j02\"},{\"name\":\"desired-accuracy\",\"description\":\"specifies the desired relative accuracy of the quantile. You can specify any value in the range (0,0.1). If you specify a smaller value, the result is a more accurate estimate of the quantile, but it might take longer to invert the CDF.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p121k6zeb3hvf1n1xygjmasbsxp0\"},{\"name\":\"domain-type\",\"description\":\"specifies the domain for the CDF function. A missing value or a value of 0 indicates a nonnegative support, that is [0,∞). Any other value indicates a support over the entire real line, that is (-∞,∞).\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n1nqzdb5urycx4n1ul950r0a5de6\"},{\"name\":\"<=0\",\"description\":\"indicates success. If negative, then the absolute value is the number of times the CDF function was evaluated in order to compute the quantile. A larger absolute value indicates longer convergence time.\",\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n07eo7fgz9kxwon174pdae74yu1f\"},{\"name\":\"1\",\"description\":\"indicates that the quantile could not be computed.\",\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"n1u1xzcbf4ut6mn1169vawps0fy9\"},{\"name\":\"cumulative-probability\",\"description\":\"specifies the cumulative probability value for which the quantile is desired.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n1c9zn3q01vwegn1exk6dlq1kpf8\"},{\"name\":\"parameter\",\"description\":\"specifies the parameters of the distribution at which the quantile is desired. You must specify exactly the same number of parameters as required by the specified CDF function, and they should appear exactly in the same order as required by the specified CDF function.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p07y4dno8zqjmmn1cvg2xf5rgjkk\"}]},\"supportSiteInformation\":{\"docsetId\":\"proc\",\"docsetVersion\":\"v_002\",\"docsetTargetFile\":\"p0pqqs0y7tiwh3n10gho06xprgoy.htm\"}},{\"name\":\"IORCMSG\",\"description\":\"Returns a formatted error message for _IORC_.\",\"syntax\":{\"help\":\"IORCMSG ()\"},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n0wiia3iu3owren1qleaw71kyf0q.htm\"}},{\"name\":\"IPMT\",\"description\":\"Returns the interest payment for a given period for a constant payment loan or the periodic savings for a future balance.\",\"syntax\":{\"help\":\"IPMT (*rate*, *period*, *number-of-periods*, *principal-amount*, &lt;*future-amount*&gt;, &lt;*type*&gt;)\",\"arguments\":[{\"name\":\"rate\",\"description\":\"specifies the interest rate per payment period.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p01s1zsnvs3ajun1xk8jbqt2jvzr\"},{\"name\":\"period\",\"description\":\"specifies the payment period for which the interest payment is computed.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p09y49oqd3rcl4n1m1q8cax23dhz\"},{\"name\":\"number-of-periods\",\"description\":\"specifies the number of payment periods.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n1u3al629uzr3sn1fnnl9ui02wok\"},{\"name\":\"principal-amount\",\"description\":\"specifies the principal amount of the loan. Zero is assumed if a missing value is specified.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n01nj8f3byhdven15wetmp3qmzer\"},{\"name\":\"future-amount\",\"description\":\"specifies the future amount. Future-amount can be the outstanding balance of a loan after the specified number of payment periods, or the future balance of periodic savings. Zero is assumed if future-amount is omitted or if a missing value is specified.\",\"placeholder\":true,\"optional\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n0sng8ebghx5xon1d0oik595zi67\"},{\"name\":\"type\",\"description\":\"specifies whether the payments occur at the beginning or end of a period. 0 represents the end-of-period payments, and 1 represents the beginning-of-period payments. 0 is assumed if type is omitted or if a missing value is specified.\",\"placeholder\":true,\"optional\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p1a2hne22vurpjn1fvn7b42sm850\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n1rvxwjd03blfhn1jygaqulo866b.htm\"}},{\"name\":\"IQR\",\"description\":\"Returns the interquartile range.\",\"syntax\":{\"help\":\"IQR (*value-1*&lt;, *value-2*..., *value-n*&gt;)\",\"arguments\":[{\"name\":\"value\",\"description\":\"specifies a numeric constant, variable, or expression for which the interquartile range is to be computed.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n0sujgcj713etcn15conk0r6yaat\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p1m5gb27xfvzl9n10jsu1hktd0nr.htm\"}},{\"name\":\"IRR\",\"description\":\"Returns the internal rate of return as a percentage.\",\"syntax\":{\"help\":\"IRR (*frequency**, c1, c2*&lt;, ... , *cn*&gt;)\",\"arguments\":[{\"name\":\"frequency\",\"description\":\"is numeric, the number of payments over a specified base period of time that is associated with the desired internal rate of return.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n0l003k797fldhn14eiktn0psj1z\"},{\"name\":\"c1,\",\"description\":\"are numeric, the optional cash payments.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n0cicdldvavltcn15oopv4mhu8po\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n1qaj887xijg3cn19s74wodo7afq.htm\"}},{\"name\":\"ISNULL\",\"description\":\"Determines whether a pointer element of a structure is null.\",\"syntax\":{\"help\":\"*numeric-variable* = ISNULL  (*pointer-element*);\",\"arguments\":[{\"name\":\"numeric-variable\",\"description\":\"specifies a numeric value.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p1jg9ihjyuwl34n1tgrt0ro8ooid\"},{\"name\":\"pointer-element\",\"description\":\"specifies a variable that contains the address of another variable.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p0pq7acag7jo76n1eeqz6x4tjcfx\"}]},\"supportSiteInformation\":{\"docsetId\":\"proc\",\"docsetVersion\":\"v_002\",\"docsetTargetFile\":\"n1m46yt6mcbwqqn12xo2jsmdrwfd.htm\"}},{\"name\":\"JBESSEL\",\"description\":\"Returns the value of the Bessel function.\",\"syntax\":{\"help\":\"JBESSEL (*nu*, *x*)\",\"arguments\":[{\"name\":\"nu\",\"description\":\"specifies a numeric constant, variable, or expression.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n1x94yfo31nr2jn1wifmfm4ctvbs\"},{\"name\":\"x\",\"description\":\"specifies a numeric constant, variable, or expression.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n09y825n7xhzicn19aepvmrn7hni\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p13zbsyioy421cn1ipphn1edwis1.htm\"}},{\"name\":\"JSONPP\",\"description\":\"Creates a readable copy of JSON input.\",\"syntax\":{\"help\":\"JSONPP (‘*input file*’,’*output file*’)\",\"arguments\":[{\"name\":\"input\",\"description\":\"specifies the JSON input file. The input file can be a physical name or a fileref.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n0buipsg2i5rarn1idhaofg9kzig\"},{\"name\":\"output\",\"description\":\"specifies the readable JSON file. The output file can be a physical name or a fileref. If the output file is LOG, then the output is written to the SAS log.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n1m6ysa2wzzyian1n6w8e272fkh1\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n1blckwxdkqc9dn1l03q5htox0ma.htm\"}},{\"name\":\"JULDATE\",\"description\":\"Returns the Julian date from a SAS date value.\",\"syntax\":{\"help\":\"JULDATE (*date*)\",\"arguments\":[{\"name\":\"date\",\"description\":\"specifies a SAS date value.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p015so6djsik7fn1pgouy3zfv5sr\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n06q4uynmc5sd9n1pjy1p8m2hmik.htm\"}},{\"name\":\"JULDATE7\",\"description\":\"Returns a seven-digit Julian date from a SAS date value.\",\"syntax\":{\"help\":\"JULDATE7 (*date*)\",\"arguments\":[{\"name\":\"date\",\"description\":\"specifies a SAS date value.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p1x2ka5u0yyrppn1526ycdolsrd5\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n1q28m0af0aidln0zzmpj787gqz2.htm\"}},{\"name\":\"KCHARLIST\",\"description\":\"Returns the character list according to the modifier.\",\"syntax\":{\"help\":\"KCHARLIST (*modifier*)\",\"arguments\":[{\"name\":\"modifier\",\"description\":\"specifies a character constant, variable, or expression in which each non-blank character modifies the action of the KCHARLIST function. Use the following characters as modifiers:\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p1u0kl1cjma8g2n1sb0sli4y2bzq\"}]},\"supportSiteInformation\":{\"docsetId\":\"nlsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p03mf8d0z8520nn1o897sszzbmyj.htm\"}},{\"name\":\"KCOMPARE\",\"description\":\"Returns the result of a comparison of character expressions.\",\"syntax\":{\"help\":\"KCOMPARE (*source*,&lt;*pos*, *count*, &gt;*findstr*,&lt;*modifiers*&gt;)\",\"arguments\":[{\"name\":\"source\",\"description\":\"specifies the character expression to be compared.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p0zl21ayyfg17zn1jaa0d5741w36\"},{\"name\":\"findstr\",\"description\":\"specifies the character expression to compare to source.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n08cn781gcb0pnn19ngkcu4a8wt9\"},{\"name\":\"pos\",\"description\":\"specifies the starting position in source to begin the comparison. If pos is omitted, the entire source is compared. If pos is less than 0, source is assumed as extended DBCS data that does not contain any SO/SI characters.\",\"placeholder\":true,\"optional\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n18kap9z8jtsx1n12g2x6idm7ykf\"},{\"name\":\"modifiers\",\"description\":\"\",\"placeholder\":true,\"optional\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n0f5piq5legdb9n1ix8sl4vw0c2r\"},{\"name\":\"count\",\"description\":\"specifies the number of bytes to compare. If count is omitted, all of source that follows pos is compared, except for any trailing blanks.\",\"placeholder\":true,\"optional\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p1dfdhswc238tjn18t868angdarq\"}]},\"supportSiteInformation\":{\"docsetId\":\"nlsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p0kyi9xaa211ecn1tm6zgohwsp3k.htm\"}},{\"name\":\"KCOMPRESS\",\"description\":\"Removes specified characters from a character expression.\",\"syntax\":{\"help\":\"KCOMPRESS (*source*,&lt;*characters-to-remove*&gt;, &lt;*modifier(s)*&gt;)\",\"arguments\":[{\"name\":\"source\",\"description\":\"specifies a character expression that contains the characters to be removed. When only source is specified, KCOMPRESS returns this expression with all of the single and double-byte blanks removed.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n0zvhoyvgw4478n1p9ah8vj3i6sm\"},{\"name\":\"characters-to-remove\",\"description\":\"specifies the character or characters that KCOMPRESS removes from the character. If characters-to-remove is omitted, KCOMPRESS removes all blank expressions.\",\"placeholder\":true,\"optional\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p01e619bzw3vz0n1ahqs14inc9ff\"},{\"name\":\"modifier\",\"description\":\"specifies a character constant, variable, or expression in which each non-blank character modifies the action of the KCOMPRESS function. Full-width alphabetic and numeric characters are supported. Blanks are ignored. The following characters can be used as modifiers:\",\"placeholder\":true,\"optional\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n0r5x5qpbdbvefn1goem2z7qz7v3\"}]},\"supportSiteInformation\":{\"docsetId\":\"nlsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n01wgwo05gbv68n1w1u68i89pbtw.htm\"}},{\"name\":\"KCOUNT\",\"description\":\"Returns the number of double-byte characters in an expression.\",\"syntax\":{\"help\":\"KCOUNT (*source*)\",\"arguments\":[{\"name\":\"source\",\"description\":\"specifies the character expression to count.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n1mgm81njj9payn0zm4jzli3mbwh\"}]},\"supportSiteInformation\":{\"docsetId\":\"nlsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p1i86y8kt4b4mfn1uapz633m2hb0.htm\"}},{\"name\":\"KCOUNTC\",\"description\":\"counts individual characters in a character string.\",\"syntax\":{\"help\":\"KCOUNTC (*string*,*character-list*,&lt;*modifier(s)*&gt;);\",\"arguments\":[{\"name\":\"string\",\"description\":\"specifies a character constant, variable, or expression in which characters are counted.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n0mg6h430llih8n1g79oymhf5sm1\"},{\"name\":\"character-list\",\"description\":\"specifies a character constant, variable, or expression that initializes a list of characters. The KCOUNTC function counts characters in this list, provided that you do not specify the V modifier in the modifier argument. If you specify the V modifier, then all characters that are not in this list are counted. You can add more characters to the list by using other modifiers.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n188xxliobwe81n13j7uwmtmt1mf\"},{\"name\":\"modifer\",\"description\":\"specifies a character constant, variable, or expression in which each non-blank character modifies the actions of the KCOUNTC function. Blanks are ignored. The following characters, in uppercase or lowercase, can be used as modifiers:\",\"placeholder\":true,\"optional\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n192f3yqqwyue7n17zcils4xq3lj\"}]},\"supportSiteInformation\":{\"docsetId\":\"nlsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p0rulzmp8aaynjn1ow16b0atmr6c.htm\"}},{\"name\":\"KCOUNTW\",\"description\":\"Counts the number of words in a character string.\",\"syntax\":{\"help\":\"KCOUNTW (&lt;*string*&gt;,&lt;*character-list*&gt;,&lt;*modifier(s)*&gt;);\",\"arguments\":[{\"name\":\"string\",\"description\":\"specifies a character constant, variable, or expression in which words are counted.\",\"placeholder\":true,\"optional\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p00kkljf65q4r3n13djlq51etulr\"},{\"name\":\"character-list\",\"description\":\"specifies an optional character constant, variable, or expression that initializes a list of characters. The characters in this list are delimiters that separate words. However, if you specify the K modifier in the modifier argument, then all characters, including the characters in the list, are treated as delimiters. To add more characters to the list, use other modifiers. Delimiter refers to any of several characters that you can specify to separate words.\",\"placeholder\":true,\"optional\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p03hyilimb19w4n18onhhtjui0cq\"},{\"name\":\"modifier\",\"description\":\"specifies a character constant, variable, or expression in which each non-blank character modifies the actions of the KCOUNTW function. The following characters can be used as modifiers:\",\"placeholder\":true,\"optional\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p1ltstxhthj9lan1bkk1laek1fdv\"}]},\"supportSiteInformation\":{\"docsetId\":\"nlsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p1ud4wieii01jan1h5fj6ieiumdn.htm\"}},{\"name\":\"KCOUNTX\",\"description\":\"Counts the number of times that a specified substring appears within a character string.\",\"syntax\":{\"help\":\"KCOUNTX (*string*,*substring*,&lt;*modifier(s)*&gt;);\",\"arguments\":[{\"name\":\"string\",\"description\":\"specifies a character constant, variable, or expression in which substrings are counted.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p1mt1tqqhal239n19dt2crw4jk29\"},{\"name\":\"substring\",\"description\":\"is a character constant, variable, or expression that specifies the substring of characters to count in string.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n1ufdo2q8ou1cqn1qv0fkq2ebdzp\"},{\"name\":\"modifier\",\"description\":\"is a character constant, variable, or expression that specifies one or more modifiers. The following modifiers can be in uppercase or lowercase:\",\"placeholder\":true,\"optional\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p03g1qn6f7ctbyn13riyqgi6tq5q\"}]},\"supportSiteInformation\":{\"docsetId\":\"nlsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n0zsx6dtdmzsy6n1x2pzcywx6ukg.htm\"}},{\"name\":\"KCVT\",\"description\":\"Converts data from one type of encoding data to another type of encoding data.\",\"syntax\":{\"help\":\"KCVT (*text*, *intype*, *outtype*, &lt;*options*&gt; )\",\"arguments\":[{\"name\":\"text\",\"description\":\"specifies the character variable to be converted.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p1kn26p1pheemdn1vfj1hvbiqnll\"},{\"name\":\"intype\",\"description\":\"specifies the encoding of the data. The encoding of the text must match the input data's encoding. For valid values, see .\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n1gqtzz8jopizcn16r9bbdffhrbs\"},{\"name\":\"outtype\",\"description\":\"specifies the encoding to be converted into character data. For valid values, see .\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p16n5k92y3ldudn1v5owbwsnkudu\"},{\"name\":\"options\",\"description\":\"specifies character data options. Here are the available options:\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p1ovd2vhpnqpljn1m24744i2nx63\"}]},\"supportSiteInformation\":{\"docsetId\":\"nlsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p1b70e0jx70qtyn1txiolu9txijf.htm\"}},{\"name\":\"KFIND\",\"description\":\"Searches for a specific substring of characters within a character string.\",\"syntax\":{\"help\":\"KFIND (string,substring,<start-position>,<modifier(s)>)\\nKFIND (string,substring,<modifier(s)>,<start-position>)\",\"arguments\":[{\"name\":\"string\",\"description\":\"specifies a character constant, variable, or expression that is searched for substrings.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n16umju4211iign1uenb5bdah5e2\"},{\"name\":\"substring\",\"description\":\"is a character constant, variable, or expression that specifies the substring of characters to search for in string.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n19ygoo5fvk3c1n1373409haop2w\"},{\"name\":\"i\",\"description\":\"ignores character case during the search. If this modifier is not specified, KFIND searches only for character substrings with the same case as the characters in substring.\",\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"p02gyyuav7p5g4n1gcwn0hrqt2vu\"},{\"name\":\"t\",\"description\":\"trims trailing blanks from string and substring.\",\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"n1vlg4yzuxnxa2n15y9t7imdvgch\"},{\"name\":\"start-position\",\"description\":\"is a numeric constant, variable, or expression with an integer value that specifies the position at which the search should start and the direction of the search.\",\"placeholder\":true,\"optional\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n066ha97nrlidkn1438kcx7da9mp\"}]},\"supportSiteInformation\":{\"docsetId\":\"nlsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p01mz5rxo7ovosn1nhhm9pqdwhs2.htm\"}},{\"name\":\"KFINDC\",\"description\":\"Searches a string for any character in a list of characters.\",\"syntax\":{\"help\":\"KFINDC (*string*,&lt;*character-list*&gt;)KFINDC (*string*,*character-list*,&lt;*modifier(s)*&gt;)KFINDC (*string*,*character-list*,*modifier(s)*,&lt;*start-position*&gt;)KFINDC (*string*,*character-list*,&lt;*start-position*&gt;,&lt;*modifier(s)*&gt;)\",\"arguments\":[{\"name\":\"string\",\"description\":\"is a character constant, variable, or expression that specifies the character string to search.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p1ue3gx6zidwstn1rmzgn5h68cml\"},{\"name\":\"character-list\",\"description\":\"is a constant, variable, or character expression that initializes a list of characters. The KFINDC function searches for the characters in this list provided that you do not specify the K modifier in the modifier argument. If you specify the K modifier, the KFINDC function searches for all characters that are not in this list of characters. You can add more characters to the list by using other modifiers.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n0ij76bueelja5n1ln0h1e087pxm\"},{\"name\":\"modifier\",\"description\":\"is a character constant, variable, or expression in which each character modifies the actions of the KFINDC function. The following characters, in uppercase or lowercase, can be used as modifiers:\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n0w73o1nad4surn199scqaphw23o\"},{\"name\":\"start-position\",\"description\":\"is an optional numeric constant, variable, or expression with an integer value that specifies the position at which the search should start and the direction in which to search.\",\"placeholder\":true,\"optional\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n1p71t7cqo2253n1t139gpqxbkdd\"}]},\"supportSiteInformation\":{\"docsetId\":\"nlsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n09lwzaq1g6wuvn14paz0jy69z9z.htm\"}},{\"name\":\"KFINDW\",\"description\":\"Returns the character position of a word in a string or the number of the word in a string.\",\"syntax\":{\"help\":\"KFINDW (string,word,<character-list>)KFINDW (string,word,character-list,modifier(s),<start-position>)\\nKFINDW (string,word,character-list,start-position,<modifier(s)>)\\nKFINDW (string,word,start-position,<character-list,modifier(s)>)\",\"arguments\":[{\"name\":\"string\",\"description\":\"is a character constant, variable, or expression that specifies which character string to search.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n0305p9ap9xyvtn1opv0o6a0rw7e\"},{\"name\":\"word\",\"description\":\"is a character constant, variable, or expression that specifies the word to search for in string.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p08rd39z6spt65n1u8gzsxgqd4ff\"},{\"name\":\"character-list\",\"description\":\"is an optional character constant, variable, or expression that initializes a list of characters.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n19ft0cgpgrllsn1x77q3xu0roq1\"},{\"name\":\"start-position\",\"description\":\"is an optional numeric constant, variable, or expression with an integer value that specifies the position at which the search should begin and the direction in which to search.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n0epqqk1hlbzd9n1kf4c7ticrk47\"},{\"name\":\"modifier\",\"description\":\"specifies a character constant, variable, or expression in which each non-blank character modifies the actions of the KFINDW function.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n08e2zrft88zwdn1kw5ghn123u8b\"}]},\"supportSiteInformation\":{\"docsetId\":\"nlsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n1nh7g8rn7b1uin1vyycw4a0h4pr.htm\"}},{\"name\":\"KINDEX\",\"description\":\"Searches a character expression for a string of characters.\",\"syntax\":{\"help\":\"KINDEX (*source*,*excerpt*)\",\"arguments\":[{\"name\":\"source\",\"description\":\"specifies the character expression to search.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n10ltltu9v4nn7n1m7hoc5oo00n0\"},{\"name\":\"excerpt\",\"description\":\"specifies the string of characters to search for in the character expression.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n1hvvcrivfyhvin1jrh9n3zzwcv9\"}]},\"supportSiteInformation\":{\"docsetId\":\"nlsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n00lu6wbifwfmtn1kjy4ick8bj0a.htm\"}},{\"name\":\"KINDEXB\",\"description\":\"Searches a character expression for specified characters and returns byte-based values.\",\"syntax\":{\"help\":\"KINDEXB (*source*,*excerpt*)\",\"arguments\":[{\"name\":\"source\",\"description\":\"specifies the character expression to search for.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n08s0pay0gpcxun17yyvheaseuka\"},{\"name\":\"excerpt\",\"description\":\"specifies the string of characters to search for in the character expression.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n0w9hu7trx4c9pn11v9wqhdcptwl\"}]},\"supportSiteInformation\":{\"docsetId\":\"nlsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n14cq6nolfamgan1kwecikq8j776.htm\"}},{\"name\":\"KINDEXC\",\"description\":\"Searches a character expression for specified characters and returns character-based values.\",\"syntax\":{\"help\":\"KINDEXC (*source*, *excerpt-1**, …excerpt-n*)\",\"arguments\":[{\"name\":\"source\",\"description\":\"specifies the character expression to search for.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p0fdxrr1gl2sd8n1avhqt53v75f3\"},{\"name\":\"excerpt-1,\",\"description\":\"specifies the characters to search for in the character expression.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n0q5gowla516v7n17te9mcuqyar9\"}]},\"supportSiteInformation\":{\"docsetId\":\"nlsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n03vidog6ptq2on1o0esrjso1vys.htm\"}},{\"name\":\"KINDEXCB\",\"description\":\"Searches a character expression for specified characters and returns byte-based values.\",\"syntax\":{\"help\":\"KINDEXCB (*source*, *excerpt-1*, …, *excerpt-n*)\",\"arguments\":[{\"name\":\"source\",\"description\":\"specifies the character expression to search for.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p0199k9lwt1cibn1rgbucre64jgc\"},{\"name\":\"excerpt-1,\",\"description\":\"specifies the characters to search for in the character expression.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p1mtcaiw94kclhn1lqoymk8fixfh\"}]},\"supportSiteInformation\":{\"docsetId\":\"nlsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n1rfw79n9ab7xnn1lxy8w5f1snm8.htm\"}},{\"name\":\"KLEFT\",\"description\":\"Left-aligns a character expression by removing unnecessary leading DBCS blanks and SO/SI.\",\"syntax\":{\"help\":\"KLEFT (*argument*)\",\"arguments\":[{\"name\":\"argument\",\"description\":\"specifies any SAS character expression.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p0e32os12oqg6an10bbhtq0qrgbg\"}]},\"supportSiteInformation\":{\"docsetId\":\"nlsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p04aamwzvtuxa6n1te1v9ijl0p6s.htm\"}},{\"name\":\"KLENGTH\",\"description\":\"Returns the length, in characters, of an argument.\",\"syntax\":{\"help\":\"KLENGTH (*argument*)\",\"arguments\":[{\"name\":\"argument\",\"description\":\"specifies any SAS expression.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n1xna6itbpvsk2n19awju1lspdhg\"}]},\"supportSiteInformation\":{\"docsetId\":\"nlsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p0t6r0cie573whn1idiygewauehq.htm\"}},{\"name\":\"KLOWCASE\",\"description\":\"Converts the uppercase alphabetic letters to lowercase letters.\",\"syntax\":{\"help\":\"KLOWCASE (*argument*)\",\"arguments\":[{\"name\":\"argument\",\"description\":\"specifies any SAS character expression.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n0gctwvinetwfqn1qua2vd1zo6wq\"}]},\"supportSiteInformation\":{\"docsetId\":\"nlsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n0vaxot57gzy37n1fryzkacnta9r.htm\"}},{\"name\":\"KNEXTCHAR\",\"description\":\"Returns a character from a string at a specified byte offset.\",\"syntax\":{\"help\":\"KNEXTCHAR (*text*,*offset*)\",\"arguments\":[{\"name\":\"text\",\"description\":\"specifies a character constant, variable, or expression.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p0i42jz9knggjan1rb16zc6q0s5g\"},{\"name\":\"offset\",\"description\":\"a number that represents the byte-based input and output value. The initial value of offset must be 1.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n1tiq515zsmnawn199mntmq571wk\"}]},\"supportSiteInformation\":{\"docsetId\":\"nlsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n0l9oyxuyb6wndn1e1csv5lkzqa5.htm\"}},{\"name\":\"KOFFSET\",\"description\":\"Returns the byte offset from the character position.\",\"syntax\":{\"help\":\"byte_offset=KOFFSET (*text*&lt;,*character_position*&gt;);\",\"arguments\":[{\"name\":\"text\",\"description\":\"specifies a character constant, variable, or expression.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n0hki62j2lyiedn1xbqj0b0r52vy\"},{\"name\":\"character_position\",\"description\":\"specifies a position in the character string.\",\"placeholder\":true,\"optional\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n09t3xi6eiyim6n1fgzz0244sdj4\"}]},\"supportSiteInformation\":{\"docsetId\":\"nlsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n1nf011b6nhjbpn17kzpbwezr4uj.htm\"}},{\"name\":\"KPROPCASE\",\"description\":\"Converts Chinese, Japanese, Korean, Taiwanese (CJKT) characters.\",\"syntax\":{\"help\":\"*str=*KPROPCASE (&lt;*instr*&gt; , (&lt;options&gt; ))\",\"arguments\":[{\"name\":\"str\",\"description\":\"data string that has been converted and is in the current SAS session encoding.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n01uf0t2o5gmcon169ylwe5toydc\"},{\"name\":\"instr\",\"description\":\"input data string.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p1ws2dg13sezfen1f2dmovmy757f\"},{\"name\":\"HALF-KATAKANA,\",\"description\":\"This option converts half-width katakana to full-width katakana and is used only with Japanese encoding.\",\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"p1w09bxvd0qdeqn0zlh4y80y7hge\"},{\"name\":\"FULL-KATAKANA,\",\"description\":\"This option converts full-width katakana to half-width katakana and is used only with Japanese encoding.\",\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"n01bxgdzjoco7hn1i7kpwcbmdbq5\"},{\"name\":\"KATAKANA,\",\"description\":\"This option converts the katakana character string to a romaji character string and is used only with Japanese encoding.\",\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"p03v0zmr0lfbd7n1wr17wd9tkgls\"},{\"name\":\"ROMAJI,\",\"description\":\"This option converts the romaji character string to a katakana character string and is used only with Japanese encoding.\",\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"n1mr0tzzg7h2q0n15wo7afmvi4n2\"},{\"name\":\"FULL-ALPHABET,\",\"description\":\"This option converts the Full-Alphabet characters to Half-Alphabet characters and is used only with Japanese, Chinese, Korean, and Taiwanese encoding.\",\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"p08jzfinkhm9ppn1kz2l7ml8ub2i\"},{\"name\":\"HALF-ALPHABET,\",\"description\":\"This option converts the Half-Alphabet characters to Full-Alphabet characters and is used only with Japanese, Chinese, Korean, and Taiwanese encoding.\",\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"p08dazm08whky7n1eqbtidjuvvpd\"},{\"name\":\"LOWERCASE,\",\"description\":\"This option converts lowercase alphabet characters to uppercase alphabet characters.\",\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"p02eqzoqqr5lv9n1frhtym5ikd8d\"},{\"name\":\"UPPERCASE,\",\"description\":\"This option converts uppercase alphabet characters to lowercase alphabet characters.\",\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"n1vivu18a80s64n1fl740klgpjbj\"},{\"name\":\"PROPER\",\"description\":\"This option specifies the following default options based on the encoding:\\n• Japanese encoding \\n• Half-Katakana,Full-Katakana\\n• Full-alphabet, Half-alphabet\\n• Lowercase, Uppercase\\n• Korean encoding: \\n• Full-alphabet, Half-alphabet\\n• Chinese encoding:\\n• Full-alphabet, Half-alphabet\\n• Taiwanese encoding: \\n• Full-alphabet, Half-alphabet\",\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"p1bxlxyw3o84zyn1dydpirpfc5t2\"}]},\"supportSiteInformation\":{\"docsetId\":\"nlsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n1dpmp59d1jmkjn179hp6s047h7z.htm\"}},{\"name\":\"KPROPCHAR\",\"description\":\"Converts Unicode to the corresponding characters enclosed in parenthesis.\",\"syntax\":{\"help\":\"*str=*KPROPCHAR (&lt;*instr*&gt; )\",\"arguments\":[{\"name\":\"str\",\"description\":\"result string. Unicode is converted to characters.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n1hj9vjog3slp4n0ztorpdufp0z1\"},{\"name\":\"instr\",\"description\":\"input data string.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p0g0drj732qkfon1l7ea0cdpmo8o\"}]},\"supportSiteInformation\":{\"docsetId\":\"nlsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p0akoceg4sx7arn1ahoqvh37692x.htm\"}},{\"name\":\"KPROPDATA\",\"description\":\"Removes or converts unprintable characters.\",\"syntax\":{\"help\":\"*str=*KPROPDATA (&lt;*instr*&gt;, &lt;*options*&gt;, &lt;*input encode name*&gt;, &lt;*output encode name*&gt;)\",\"arguments\":[{\"name\":\"str\",\"description\":\"specifies a data string that has been converted and is in the session encoding.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p1m0oqvukn1y19n1hma95klzqjok\"},{\"name\":\"instr\",\"description\":\"specifies the input data string.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p1iypjm42ff6bon1guvbxwmwcn5p\"},{\"name\":\"UESC\",\"description\":\"Converts unprintable characters using a Unicode escaped string (for example, \\\\u0000\\\\u1234).\",\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"p009b363p2egy4n1u4q978uc9716\"},{\"name\":\"TRIM\",\"description\":\"Removes unprintable characters. No replacement character is used.\",\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"n0box9mrif7sson1xdbjsvqbico8\"},{\"name\":\"BLANK\",\"description\":\"Replaces each unprintable character with a single-byte blank.\",\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"n0c6mhfzksbr7gn1as4u44q52kn4\"},{\"name\":\"QUESTION\",\"description\":\"Replaces unprintable characters with a single-byte '?'.\",\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"n1o2e9we4p96von19xdy70aeg8ut\"},{\"name\":\"HEX\",\"description\":\"Replaces unprintable characters with a hexadecimal representation (for example, 0x810x82).\",\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"p1q46jo846zs1un1f7rknww0kuiy\"},{\"name\":\"TRUNCATE\",\"description\":\"Truncates the data string when the first unprintable character is encountered.\",\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"n1w3hxzxuan14vn1f35xvjttx3bx\"},{\"name\":\"REMOVE\",\"description\":\"Removes the data string if any unprintable characters are found.\",\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"n0io2siktt4e0on10kvlf28cjcmi\"},{\"name\":\"NCR\",\"description\":\"Encodes the unprintable characters using NCR representation if the code is available in Unicode.\",\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"p0nvv447i9rl4jn13iil0pvqi2u2\"},{\"name\":\"PUNC\",\"description\":\"Converts commonly used 8-bit punctuation marks to 7-bit characters.\",\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"n0lr5my9cvrbfen0zoqo162436qz\"},{\"name\":\"input\",\"description\":\"specifies the input data's encoding name if necessary. If the input encode name is not specified, then the KPROPDATA function processes the data as the current SAS session encoded string. For information about SAS encoding names, see .\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n0au2950cysoprn1fc5h3k8tx6yo\"},{\"name\":\"output\",\"description\":\"specifies the output data's encoding name. If the encoding name is not specified, the KPROPDATA function recognizes the output as the current SAS session encoding. For information about SAS encoding names, see .\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n0r759kuj6b1y1n1w7pxdfsnzta1\"}]},\"supportSiteInformation\":{\"docsetId\":\"nlsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n0p2w5303sepamn1rctpdkngr4tc.htm\"}},{\"name\":\"KREVERSE\",\"description\":\"Reverses a character expression.\",\"syntax\":{\"help\":\"KREVERSE (*argument*)\",\"arguments\":[{\"name\":\"argument\",\"description\":\"specifies any SAS character expression.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p0pduv7j1g3qs5n1qha2dqfp9abz\"}]},\"supportSiteInformation\":{\"docsetId\":\"nlsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p09safzo9icitbn1dlv25chjuptx.htm\"}},{\"name\":\"KRIGHT\",\"description\":\"Right-aligns a character expression by trimming trailing DBCS blanks and SO/SI.\",\"syntax\":{\"help\":\"KRIGHT (*argument*)\",\"arguments\":[{\"name\":\"argument\",\"description\":\"specifies any SAS character expression.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p1q2wwjctfxck1n1gq9ywl0rr6l6\"}]},\"supportSiteInformation\":{\"docsetId\":\"nlsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n1w1548x8sxkdcn18lkez8z2oje7.htm\"}},{\"name\":\"KSCAN\",\"description\":\"Selects a specified word from a character expression.\",\"syntax\":{\"help\":\"KSCAN (*argument,n*&lt;, *delimiters*&gt; )\",\"arguments\":[{\"name\":\"argument\",\"description\":\"specifies any character expression.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n0br78czmifn62n14orzgv98lnnt\"},{\"name\":\"n\",\"description\":\"specifies a numeric expression that produces the number of the word in the character expression that you want KSCAN to select.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p0eafcao2gnsu3n16fpm8jbxof42\"},{\"name\":\"delimiters\",\"description\":\"specifies a character variable that produces characters that you want KSCAN to use as word separators in the character expression.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n1i8cgo7tkbf2zn10ebox4prupck\"}]},\"supportSiteInformation\":{\"docsetId\":\"nlsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p1h84dc7ggyg6vn1mxsl7ds4caiv.htm\"}},{\"name\":\"KSCANX\",\"description\":\"Selects a specified word from a character expression using a modifier to process the function’s action.\",\"syntax\":{\"help\":\"KSCANX (*string*,*count*,&lt;*character-list*&gt;,&lt;*modifier*&gt;)\",\"arguments\":[{\"name\":\"string\",\"description\":\"specifies a character constant, variable, or expression.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p1wlr26cbx7bewn1frrbdq313o6r\"},{\"name\":\"count\",\"description\":\"is a nonzero numeric constant, variable, or expression that has an integer value. The integer value specifies the number of the word in the character string that you want KSCANX to select. For example, a value of 1 indicates the first word, a value of 2 indicates the second word, and so on. The following rules apply:\\n• If <i>count</i> is positive, KSCANX counts words from left to right in the character string.\\n• If <i>count</i> is negative, KSCANX counts words from right to left in the character string.\",\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"n1k7oowyo75dc7n1kwfyko2djvz8\"},{\"name\":\"character-list\",\"description\":\"specifies an optional character expression that initializes a list of characters. This list determines which characters are used as the delimiters that separate words. The following rules apply:\\n• By default, all characters in <i>character-list</i> are used as delimiters.\\n• Specifying a modifier can also change the character-list used as delimiters. For example, if you specify the K modifier in the <i>modifier</i> argument, then all characters that are not in <i>character-list</i> are used as delimiters.\",\"placeholder\":true,\"optional\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p01ktpi8ts5r4zn1jyqa7qn7byzu\"},{\"name\":\"modifier\",\"description\":\"specifies a character constant, variable, or expression in which each non-blank character modifies the action of the KSCANX function. Blanks are ignored. Use the following characters as modifiers:\",\"placeholder\":true,\"optional\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n1qsm8d3l47f2tn19c88aeo9867g\"}]},\"supportSiteInformation\":{\"docsetId\":\"nlsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n1igdmpa0ykbznn1dnwdgqbi32tg.htm\"}},{\"name\":\"KSTRCAT\",\"description\":\"Concatenates two or more character expressions.\",\"syntax\":{\"help\":\"KSTRCAT (*argument-1*, *argument-2*&lt;, … *argument-n*&gt; )\",\"arguments\":[{\"name\":\"argument\",\"description\":\"specifies any single-byte or double-byte character expression.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n1oo063l9pjwcbn1b1riaflhnjyb\"}]},\"supportSiteInformation\":{\"docsetId\":\"nlsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n0hw26yl2vpfjkn1h18y158mr0l2.htm\"}},{\"name\":\"KSTRIP\",\"description\":\"Removes leading and trailing blanks from a character string.\",\"syntax\":{\"help\":\"KSTRIP (*string*)\",\"arguments\":[{\"name\":\"string\",\"description\":\"specifies a character constant, variable, or expression.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n1kdu394nqif8yn19xcxht89npev\"}]},\"supportSiteInformation\":{\"docsetId\":\"nlsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n0huf4u2xqq4jvn18uae1v8t9rkm.htm\"}},{\"name\":\"KSUBSTR\",\"description\":\"Extracts a substring from an argument.\",\"syntax\":{\"help\":\"KSUBSTR (*argument, position*&lt;,*n*&gt; )\",\"arguments\":[{\"name\":\"argument\",\"description\":\"specifies any SAS character expression.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n1a2b0brhdwlsun1ttv636pmmir5\"},{\"name\":\"position\",\"description\":\"specifies a numeric expression that is the beginning character position.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p1uyjvwse6qejdn1kjs84hdq89n4\"},{\"name\":\"n\",\"description\":\"specifies a numeric expression that is the length of the substring to extract.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n18ggq2khydmjpn13sj9dl7mrxio\"}]},\"supportSiteInformation\":{\"docsetId\":\"nlsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n1ut5gnudkv580n18ys8li0pf5yy.htm\"}},{\"name\":\"KSUBSTRB\",\"description\":\"Extracts a substring from an argument according to the byte position of the substring in the argument.\",\"syntax\":{\"help\":\"KSUBSTRB (*argument, position*&lt;,*n*&gt; )\",\"arguments\":[{\"name\":\"argument\",\"description\":\"specifies any SAS character expression.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p13uwoyjyzktv0n16tol9mycwepx\"},{\"name\":\"position\",\"description\":\"specifies the beginning character position in byte units.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p14ip3gnzlilpqn1mhhzrr8cm0vx\"},{\"name\":\"n\",\"description\":\"specifies the length of the substring to extract in byte units.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p05yyro36wv3o0n1m090bjqmbm9d\"}]},\"supportSiteInformation\":{\"docsetId\":\"nlsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n1i95tx0do2ur0n12w8lv219gxdh.htm\"}},{\"name\":\"KSUBSTRN\",\"description\":\"Returns a substring, allowing a result with a length of zero.\",\"syntax\":{\"help\":\"KSUBSTRN (*string*,*position*,&lt;*length*&gt;)\",\"arguments\":[{\"name\":\"string\",\"description\":\"specifies a character or numeric constant, variable, or expression.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p1udt8uq0dgu7yn1n8rildnfmlub\"},{\"name\":\"position\",\"description\":\"is an integer that specifies the position of the first character in the substring.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p12gbmnyb697mwn18lkqsm4vm1rs\"},{\"name\":\"length\",\"description\":\"is an integer that specifies the length of the substring. If you do not specify length, the KSUBSTRN function returns the substring that extends from the position that you specify to the end of the string.\",\"placeholder\":true,\"optional\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n18tqi3idbc1fzn1kw22lxtp9ofn\"}]},\"supportSiteInformation\":{\"docsetId\":\"nlsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n0x79csmhpdngqn1g0kgk0q3ayzm.htm\"}},{\"name\":\"KTRANSLATE\",\"description\":\"Replaces specified characters in a character expression.\",\"syntax\":{\"help\":\"KTRANSLATE (*source,to-1,from-1*&lt;,…*to-n,from-n*&gt; )\",\"arguments\":[{\"name\":\"source\",\"description\":\"specifies the SAS expression that contains the original character value.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n1axorcti980dxn1pah2xwgpa9tq\"},{\"name\":\"to\",\"description\":\"specifies the characters that you want KTRANSLATE to use as substitutes.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p1mbx8fju5wa6sn181i0n73a1hzn\"},{\"name\":\"from\",\"description\":\"specifies the characters that you want KTRANSLATE to replace.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n0exl75wbw4lykn1c95raob9p17m\"}]},\"supportSiteInformation\":{\"docsetId\":\"nlsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p10atr6djv8t88n16x5xgh2l30t5.htm\"}},{\"name\":\"KTRIM\",\"description\":\"Removes trailing DBCS blanks and SO/SI from character expressions.\",\"syntax\":{\"help\":\"KTRIM (*argument*)\",\"arguments\":[{\"name\":\"argument\",\"description\":\"specifies any SAS character expression.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n11668yqsc8m14n1dah5ubbtnmmr\"}]},\"supportSiteInformation\":{\"docsetId\":\"nlsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p0zy3w3kdkvgt3n1qt8plkcy5tjs.htm\"}},{\"name\":\"KTRUNCATE\",\"description\":\"Truncates a string to a specified length in byte unit without breaking multibyte characters.\",\"syntax\":{\"help\":\"KTRUNCATE (*argument*, *number*, *length*)\",\"arguments\":[{\"name\":\"argument\",\"description\":\"specifies any SAS character expression.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p1pjt2h8lz8ietn1vqso5ol6p5iv\"},{\"name\":\"number\",\"description\":\"is numeric.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p0700awabc5pg2n1rtxowtjjhgsm\"},{\"name\":\"length\",\"description\":\"is an integer.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n17caeriub3tu5n1kt2lbdo5xrrf\"}]},\"supportSiteInformation\":{\"docsetId\":\"nlsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p0kslx8j9r3bw8n1niwz6h3k1mod.htm\"}},{\"name\":\"KUPCASE\",\"description\":\"Converts the lowercase alphabetic letters to uppercase letters.\",\"syntax\":{\"help\":\"KUPCASE (*argument*)\",\"arguments\":[{\"name\":\"argument\",\"description\":\"specifies any SAS character expression.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n129egbglgg44wn122x6xm7ltnmu\"}]},\"supportSiteInformation\":{\"docsetId\":\"nlsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n1fnw1hr8hfe2jn13p3rlge5ycaz.htm\"}},{\"name\":\"KUPDATE\",\"description\":\"Replaces character value contents.\",\"syntax\":{\"help\":\"KUPDATE (*argument,position,n*&lt;, *characters-to-replace*&gt;)KUPDATE (*argument,position,*&lt;,n&gt;,             *characters-to-replace*)\",\"arguments\":[{\"name\":\"argument\",\"description\":\"specifies a character variable or string.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p0tgejgna2wk4mn12efn4z14hxnp\"},{\"name\":\"position\",\"description\":\"specifies a numeric expression that is the beginning character position.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p0hrrbm4o30ejxn1eh4atraqylr6\"},{\"name\":\"n\",\"description\":\"specifies a numeric expression that is the length of the substring to be replaced.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p1pi5k2bbli254n14t08j1hav1yl\"},{\"name\":\"characters-to-replace\",\"description\":\"specifies a character expression that replaces the contents of argument.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n0uhtomkv2b1kxn1er2w6kf79px3\"}]},\"supportSiteInformation\":{\"docsetId\":\"nlsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n09e59kpthdvizn1m2ggap3cd0n0.htm\"}},{\"name\":\"KUPDATEB\",\"description\":\"Replaces the contents of the character value according to the byte position of the character value in the argument.\",\"syntax\":{\"help\":\"KUPDATEB (argument, position, n<,characters-to-replace> )\\nKUPDATEB (argument, position<, n> , characters-to-replace)\",\"arguments\":[{\"name\":\"argument\",\"description\":\"specifies a character variable.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n13z77utmxj2y8n1ubh19bcu0l41\"},{\"name\":\"position\",\"description\":\"specifies the beginning character position in byte units.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p13d9uyvfjh93vn10zcx814w32fg\"},{\"name\":\"n\",\"description\":\"specifies the length of the substring to be replaced in byte units.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n0a9d07n5ynss2n180s79gqkrlvm\"},{\"name\":\"characters-to-replace\",\"description\":\"specifies a character expression to replace the contents of argument.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n141twqglg9dvbn0zgf9vnvm36v7\"}]},\"supportSiteInformation\":{\"docsetId\":\"nlsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p0hjwhw5wkqi14n198o48vgs9ivg.htm\"}},{\"name\":\"KUPDATES\",\"description\":\"Replaces character value contents.\",\"syntax\":{\"help\":\"KUPDATES (argument,position,n<, characters-to-replace> )\\nKUPDATES (argument,position<,n> , characters-to-replace)\",\"arguments\":[{\"name\":\"argument\",\"description\":\"specifies a character variable.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n1l7t7ao1tqgf0n1m3ya0qapoc51\"},{\"name\":\"position\",\"description\":\"specifies a numeric expression that is the beginning character position.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n0ldvnwymkp7sjn1f9fu90vcqdmm\"},{\"name\":\"n\",\"description\":\"specifies a numeric expression that is the length of the substring to be replaced.\",\"placeholder\":true,\"optional\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p0sdr1hyh59m8fn112xvzrjbm8d8\"},{\"name\":\"characters-to-replace\",\"description\":\"specifies a character expression that replaces the contents of argument.\",\"placeholder\":true,\"optional\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n1hvgg8u57leysn101ylw3hv63x6\"}]},\"supportSiteInformation\":{\"docsetId\":\"nlsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n06uz7s3wx4ks2n1silci0dqjhth.htm\"}},{\"name\":\"KURTOSIS\",\"description\":\"Returns the kurtosis.\",\"syntax\":{\"help\":\"KURTOSIS (*argument-1*, *argument-2*, *argument-3*, *argument-4*&lt;, …, *argument-n*&gt;)\",\"arguments\":[{\"name\":\"argument\",\"description\":\"specifies a numeric constant, variable, or expression.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n1x84ah232wk00n0zixfkklaui0j\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n1umb6i4vl41z5n1hzff3wa1bbsg.htm\"}},{\"name\":\"KVERIFY\",\"description\":\"Returns the position of the first character (character-based value) that is unique to an expression.\",\"syntax\":{\"help\":\"KVERIFY (*source, excerpt-1*,  ...*excerpt-n*)\",\"arguments\":[{\"name\":\"source\",\"description\":\"specifies any SAS character expression.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n1te61eigfn2uyn0zhi5dfz9njeq\"},{\"name\":\"excerpt-1,\",\"description\":\"specifies any SAS character expression.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p05bk2h50htj8wn0z53jn4qspy4m\"}]},\"supportSiteInformation\":{\"docsetId\":\"nlsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n09njv6ku6clvgn1gnag2w1q3ck9.htm\"}},{\"name\":\"KVERIFYB\",\"description\":\"Returns the position of the first character (byte-based value) that is unique to an expression.\",\"syntax\":{\"help\":\"KVERIFYB (*source*,*excerpt-1*,&lt;*excerpt-n*&gt;)\",\"arguments\":[{\"name\":\"source\",\"description\":\"specifies any SAS character expression.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n0g0g7yzyxixx7n1nd57ww8ou0u1\"},{\"name\":\"excerpt\",\"description\":\"specifies any SAS character expression.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p0dwpwsdt0rz29n1n86eg5t8rhgb\"}]},\"supportSiteInformation\":{\"docsetId\":\"nlsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p01wknx6qwupe6n1pim8foj0f4l8.htm\"}},{\"name\":\"LAG\",\"description\":\"Returns values from a queue.\",\"syntax\":{\"help\":\"LAG &lt;*n*&gt; (*argument*)\",\"arguments\":[{\"name\":\"argument\",\"description\":\"specifies a numeric or character constant, variable, or expression.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n0acdnvq1fy3g2n19gkgywvi2qzx\"},{\"name\":\"n\",\"description\":\"specifies the number of lagged values.\",\"placeholder\":true,\"optional\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p0ujyylbka36mkn1h0ek8jvdlr0x\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n0l66p5oqex1f2n1quuopdvtcjqb.htm\"}},{\"name\":\"LARGEST\",\"description\":\"Returns the kth largest nonmissing value.\",\"syntax\":{\"help\":\"LARGEST (*k*, *value-1*&lt;, *value-2* ..., *value-n*&gt;)\",\"arguments\":[{\"name\":\"k\",\"description\":\"is a numeric constant, variable, or expression that specifies which value to return.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p171crp7h4xxswn1hdpfx519uuq0\"},{\"name\":\"value\",\"description\":\"specifies the value of a numeric constant, variable, or expression to be processed.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p0rbgqa8pxom7en16zrhkijbtuk2\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n1hqpyj2pz85u2n1fcl1uoh5rx2l.htm\"}},{\"name\":\"LBOUND\",\"description\":\"Returns the lower bound of an array.\",\"syntax\":{\"help\":\"LBOUND <n> (array-name)\\nLBOUND (array-name, bound-n)\",\"arguments\":[{\"name\":\"array-name\",\"description\":\"is the name of an array that was defined previously in the same DATA step.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p1c84ihbl32tgon1y0sz42xfr0wb\"},{\"name\":\"bound-n\",\"description\":\"is a numeric constant, variable, or expression that specifies the dimension for which you want to know the lower bound. Use bound-n only if n is not specified.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n12n03zx0ivq2kn15ndz5lgdblpm\"},{\"name\":\"n\",\"description\":\"is an integer constant that specifies the dimension for which you want to know the lower bound. If no n value is specified, the LBOUND function returns the lower bound of the first dimension of the array.\",\"placeholder\":true,\"optional\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n1rutxg4bt5vfcn1g6xctse7h8g6\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n0ffxj18l0al4qn1m307xfxfbadi.htm\"}},{\"name\":\"LCM\",\"description\":\"Returns the least common multiple.\",\"syntax\":{\"help\":\"LCM (*x1*, *x2*, *x3*, …, *xn*)\",\"arguments\":[{\"name\":\"x\",\"description\":\"specifies a numeric constant, variable, or expression that has an integer value.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p1vcr8jyck5si6n1wtegkwpg55o8\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n1qp5pb9ca67bnn1erciv1fzschp.htm\"}},{\"name\":\"LCOMB\",\"description\":\"Computes the logarithm of the COMB function, which is the logarithm of the number of combinations of n objects taken r at a time.\",\"syntax\":{\"help\":\"LCOMB (*n*, *r*)\",\"arguments\":[{\"name\":\"n\",\"description\":\"is a nonnegative integer that represents the total number of elements from which the sample is chosen.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p0pbqx3ut8icebn1u38n4niauoq5\"},{\"name\":\"r\",\"description\":\"is a nonnegative integer that represents the number of chosen elements.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n0q6mdz67i5ccvn1rgn63uo7cppl\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p0fq9bc80j2kdbn1cyvtp4516c9c.htm\"}},{\"name\":\"LEFT\",\"description\":\"Left-aligns a character string.\",\"syntax\":{\"help\":\"LEFT (*argument*)\",\"arguments\":[{\"name\":\"argument\",\"description\":\"specifies a character constant, variable, or expression.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n1mu8uxldz6saun121c2jzbj5898\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n1awii5zy0u6g0n1fy6yu1hwqiw4.htm\"}},{\"name\":\"LENGTH\",\"description\":\"Returns the length of bytes of a non-blank character string, excluding trailing blanks, and returns 1 for a blank character string.\",\"syntax\":{\"help\":\"LENGTH (*string*)\",\"arguments\":[{\"name\":\"string\",\"description\":\"specifies a character constant, variable, or expression.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n0503j2w1z3kaxn1b7gw4k9looab\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n0f6jve4kdxnh1n1m7c82fhosgih.htm\"}},{\"name\":\"LENGTHC\",\"description\":\"Returns the length of a character string, including trailing blanks.\",\"syntax\":{\"help\":\"LENGTHC (*string*)\",\"arguments\":[{\"name\":\"string\",\"description\":\"specifies a character constant, variable, or expression.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p02v0iflzvtxbyn1vj6ifosrz5ke\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n1kkgqelwql5syn1mr4zx8ia0nup.htm\"}},{\"name\":\"LENGTHM\",\"description\":\"Returns the amount of memory, in bytes, that is allocated for a character string.\",\"syntax\":{\"help\":\"LENGTHM (*string*)\",\"arguments\":[{\"name\":\"string\",\"description\":\"specifies a character constant, variable, or expression.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n14384d5cpj9ron1flin2d73jdhz\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p1azi2b34vtxt2n10djffr1eg7xs.htm\"}},{\"name\":\"LENGTHN\",\"description\":\"Returns the length of bytes in a character string, excluding trailing blanks.\",\"syntax\":{\"help\":\"LENGTHN (*string*)\",\"arguments\":[{\"name\":\"string\",\"description\":\"specifies a character constant, variable, or expression.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n1d4xnizj8xfnvn1q939c33u1hrs\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p0z9e0q6e8snidn1t9m5pysmkl79.htm\"}},{\"name\":\"LEXCOMB\",\"description\":\"Generates all distinct combinations of the nonmissing values of n variables taken k at a time in lexicographic order.\",\"syntax\":{\"help\":\"LEXCOMB (*count*, *k*, *variable-1*, …, *variable-n*)\",\"arguments\":[{\"name\":\"count\",\"description\":\"specifies an integer variable that is assigned values from 1 to the number of combinations in a loop.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p0t9ikl7i3jwsrn1iiyxuj7d1om5\"},{\"name\":\"k\",\"description\":\"is a constant, variable, or expression between 1 and n, inclusive, that specifies the number of items in each combination.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n0x7xssrbokygcn119hq12zb4wwe\"},{\"name\":\"variable\",\"description\":\"specifies either all numeric variables, or all character variables that have the same length. The values of these variables are permuted.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p1pn5hcij9390xn1f8y3x28btk01\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p1o1dtuwndp2mvn1fdyph605g0n2.htm\"}},{\"name\":\"LEXCOMBI\",\"description\":\"Generates all combinations of the indices of n objects taken k at a time in lexicographic order.\",\"syntax\":{\"help\":\"LEXCOMBI (*n*, *k*, *index-1*, …, *k*)\",\"arguments\":[{\"name\":\"n\",\"description\":\"is a numeric constant, variable, or expression that specifies the total number of objects.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p1vh6mcgc8sw1dn18wsyd8c9xios\"},{\"name\":\"K\",\"description\":\"is a numeric constant, variable, or expression that specifies the number of objects in each combination.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p1uaksek1dt4ucn18r6bvdvo3ty7\"},{\"name\":\"index\",\"description\":\"is a numeric variable that contains indices of the objects in the combination that is returned. Indices are integers between 1 and n inclusive.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p129xd79idleu1n1agywlhlhxv8a\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p05ndkijh7si3cn1xmh9k66dty9l.htm\"}},{\"name\":\"LEXPERK\",\"description\":\"Generates all distinct permutations of the nonmissing values of n variables taken k at a time in lexicographic order.\",\"syntax\":{\"help\":\"LEXPERK (*count*, *k*, *variable-1*, …, *variable-n*)\",\"arguments\":[{\"name\":\"count\",\"description\":\"specifies an integer variable that ranges from 1 to the number of permutations.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n1ct39hw0jalgxn1ia8b09ar592s\"},{\"name\":\"k\",\"description\":\"is a numeric constant, variable, or expression with an integer value between 1 and n inclusive.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p1fedjfehvk1bon1lym8nu5ao1hf\"},{\"name\":\"variable\",\"description\":\"specifies either all numeric variables, or all character variables that have the same length. The values of these variables are permuted.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n1xfmnbbvp6kc6n12i006a4tdadm\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n0vsfgz28s9z6in1r24ytst1i2x5.htm\"}},{\"name\":\"LEXPERM\",\"description\":\"Generates all distinct permutations of the nonmissing values of several variables in lexicographic order.\",\"syntax\":{\"help\":\"LEXPERM (*count*, *variable-1*&lt;, …, *variable-N*&gt;)\",\"arguments\":[{\"name\":\"count\",\"description\":\"specifies an integer variable that ranges from 1 to the number of permutations.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n0g8f7tvesgttrn10vfonq7thnq0\"},{\"name\":\"variable\",\"description\":\"specifies either all numeric variables, or all character variables that have the same length. The values of these variables are permuted by LEXPERM.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p1f8zp3sywxkmcn1vjn0pv4jcp1y\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p0vt3cktxo4j1vn1uy3uflanbz6p.htm\"}},{\"name\":\"LFACT\",\"description\":\"Computes the logarithm of the FACT (factorial) function.\",\"syntax\":{\"help\":\"LFACT (*n*)\",\"arguments\":[{\"name\":\"n\",\"description\":\"is an integer that represents the total number of elements from which the sample is chosen.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p1lc177esk1leln1imcepyvjzy0k\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p1lf13yblrx8okn10b5lnfqnyu1n.htm\"}},{\"name\":\"LGAMMA\",\"description\":\"Returns the natural logarithm of the Gamma function.\",\"syntax\":{\"help\":\"LGAMMA (*argument*)\",\"arguments\":[{\"name\":\"argument\",\"description\":\"specifies a numeric constant, variable, or expression.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p1eymuewjdu2wun10yqi5y6b9x8p\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n1s40sabb3rk1on1xeld7ktornqa.htm\"}},{\"name\":\"LIBNAME\",\"description\":\"Assigns or clears a libref for a SAS library.\",\"syntax\":{\"help\":\"LIBNAME (*libref*&lt;, *SAS-library* &lt;, *engine* &lt;, *options*&gt;&gt;&gt;)\",\"arguments\":[{\"name\":\"libref\",\"description\":\"specifies the libref that is assigned to a SAS library.\",\"placeholder\":true,\"dataTypes\":[\"dataSet\"],\"supportSiteTargetFragment\":\"n0efl2pzaev1aon1cakdyyzf1qzf\"},{\"name\":\"SAS-library\",\"description\":\"specifies the physical name of the SAS library that is associated with the libref. Specify this name as required by the host operating environment. This argument can be null.\",\"placeholder\":true,\"optional\":true,\"dataTypes\":[\"dataSet\"],\"supportSiteTargetFragment\":\"n12jom7vhv6jitn1qlsbnitn2qvx\"},{\"name\":\"engine\",\"description\":\"specifies the engine that is used to access SAS files opened in the data library. If you are specifying a SAS/SHARE server, then the value of engine should be REMOTE. This argument can be null.\",\"placeholder\":true,\"optional\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n16okp4waoh6zhn1h7ctujbmx20j\"},{\"name\":\"options\",\"description\":\"specifies one or more valid options for the specified engine, delimited with blanks. This argument can be null.\",\"placeholder\":true,\"optional\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p0e9w8qwhkeh6on12h7ircwn7idv\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p1bq8nyxm7y1ygn1i4vyf82z68ls.htm\"}},{\"name\":\"LIBREF\",\"description\":\"Verifies that a libref has been assigned.\",\"syntax\":{\"help\":\"LIBREF (*libref*)\",\"arguments\":[{\"name\":\"libref\",\"description\":\"specifies the libref to be verified. In a DATA step, libref can be a character expression, a string enclosed in quotation marks, or a DATA step variable whose value contains the libref. In a macro, libref can be any expression.\",\"placeholder\":true,\"dataTypes\":[\"dataSet\"],\"supportSiteTargetFragment\":\"n1gtqwuhmciy3un1oxyoenm8rs1r\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p0pe5ebdcgjnxkn1cgx90o5cla9a.htm\"}},{\"name\":\"LIMMOMENT\",\"description\":\"Computes the limited moment of any distribution for which you have defined a cumulative distribution function (CDF).\",\"syntax\":{\"help\":\"imom=LIMMOMENT ('CDF-function-name', options-array, order, limit, \\n\\n\\tparameter-1 <, parameter-2, ...>);\",\"arguments\":[{\"name\":\"imom\",\"description\":\"specifies the limited moment that is returned from the LIMMOMENT function.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p1w36lhbzj8fjln185q4tg32t8ay\"},{\"name\":\"'CDF-function-name'\",\"description\":\"specifies the name of the CDF function. Enclose CDF-function-name in quotation marks.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p0hggrwvz7n73yn180f9ibpoy83c\"},{\"name\":\"desired-accuracy\",\"description\":\"specifies the desired accuracy of the numerical integration. You can specify any value in the range (0,0.1). If you specify a smaller value, the result is a more accurate estimate of the moment, but it takes longer to compute the desired-accuracy.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p1ecydrg8bydqqn1epg5y7mxu9gy\"},{\"name\":\"initial-step-size\",\"description\":\"specifies the step size that is used initially by the numerical integration process. An increase in the value results in a linear decrease in the number of times the integrand is evaluated. Typically, using the default value of 1 produces good results.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n1alr377gkx936n1hvwbmqvc1p4v\"},{\"name\":\"maximum-iterations\",\"description\":\"specifies the maximum number of iterations that are used to refine the integration result in order to achieve the desired accuracy. An increase in this value results in an exponential increase in the number of times the integrand is evaluated.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n0qc5qyoj9xjyxn16ti57x7qjkii\"},{\"name\":\"<=0\",\"description\":\"indicates success. If negative, then the absolute value is the number of times the integrand function was evaluated in order to compute the limited moment. A larger absolute value indicates longer convergence time.\",\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p1cwgko5gpe05en1uyy3m8w56uy8\"},{\"name\":\"1\",\"description\":\"indicates that the limited moment could not be computed.\",\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"p0014lf5ir2d6en122f6umilda4b\"},{\"name\":\"order\",\"description\":\"specifies the order of the desired limited moment.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p0pffzhy9jlb9wn14rtbho858dfx\"},{\"name\":\"limit\",\"description\":\"specifies the upper limit that is used to compute the desired limited moment.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p0p46ptlwkdkmkn1mxth5j6afsvu\"},{\"name\":\"parameter\",\"description\":\"specifies the parameters of the distribution at which the limited moment is desired. You must specify exactly the same number of parameters as required by the specified CDF function, and they should appear exactly in the same order as required by the specified CDF function.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p1dxpwy46sibusn1xhxr1lrdgxfh\"}]},\"supportSiteInformation\":{\"docsetId\":\"proc\",\"docsetVersion\":\"v_002\",\"docsetTargetFile\":\"n1n2kts9v3ogayn19iazo2k1e1mp.htm\"}},{\"name\":\"LOG\",\"description\":\"Returns the natural (base e) logarithm.\",\"syntax\":{\"help\":\"LOG (*argument*)\",\"arguments\":[{\"name\":\"argument\",\"description\":\"specifies a numeric constant, variable, or expression.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n0mdzoezgoj91hn1xrg83r3w3k01\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p0urbseuxrkrlyn1tr04y30nt25s.htm\"}},{\"name\":\"LOG10\",\"description\":\"Returns the logarithm to the base 10.\",\"syntax\":{\"help\":\"LOG10 (*argument*)\",\"arguments\":[{\"name\":\"argument\",\"description\":\"specifies a numeric constant, variable, or expression.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n1ndejzvqj91hon1dxz9i8k14apj\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p0j1a83fc5vxncn1c9y280kzst3o.htm\"}},{\"name\":\"LOG1PX\",\"description\":\"Returns the log of 1 plus the argument.\",\"syntax\":{\"help\":\"LOG1PX (*x*)\",\"arguments\":[{\"name\":\"x\",\"description\":\"specifies a numeric variable, constant, or expression.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p0tkawjr24pdsxn1gevswdc6ez0t\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p118xyntef0g9pn1g2e27ev7g3sp.htm\"}},{\"name\":\"LOG2\",\"description\":\"Returns the logarithm to the base 2.\",\"syntax\":{\"help\":\"LOG2 (*argument*)\",\"arguments\":[{\"name\":\"argument\",\"description\":\"specifies a numeric constant, variable, or expression.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n1c11r3w4f5marn17brby3jznve9\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p1bd8x39vvym6rn1525bzrhw78uy.htm\"}},{\"name\":\"LOGBETA\",\"description\":\"Returns the logarithm of the beta function.\",\"syntax\":{\"help\":\"LOGBETA (*a*, *b*)\",\"arguments\":[{\"name\":\"a\",\"description\":\"is the first shape parameter, where a>0.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n0p1vdebwc3hdvn11jqeum070fgz\"},{\"name\":\"b\",\"description\":\"is the second shape parameter, where b>0.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n1eutq9artliz4n1vd75sxgi4zoj\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p0fa35m8gc7p7en1khfl12y67p40.htm\"}},{\"name\":\"LOGCDF\",\"description\":\"Returns the logarithm of a left cumulative distribution function.\",\"syntax\":{\"help\":\"LOGCDF (*'distribution'*, *quantile*&lt;, *parameter-1*, ..., *parameter-k*&gt;)\",\"arguments\":[{\"name\":\"'distribution'\",\"description\":\"is a character constant, variable, or expression that identifies the distribution.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p1a9blcpgoir2vn1vrt4z4o3rg5a\"},{\"name\":\"quantile\",\"description\":\"is a numeric variable, constant, or expression that specifies the value of a random variable.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p0h8gwrczimhpan1axnsyrjxwgoa\"},{\"name\":\"parameter-1,\",\"description\":\"are optional shape, location, or scale parameters appropriate for the specific distribution.\",\"placeholder\":true,\"optional\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p0d3f950y07e00n1dsms7y08o2bl\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n0xwiaolmajobwn1pc0rmukk88fr.htm\"}},{\"name\":\"LOGISTIC\",\"description\":\"Returns the logistic transformation of the argument.\",\"syntax\":{\"help\":\"LOGISTIC (*argument*)\",\"arguments\":[{\"name\":\"argument\",\"description\":\"is a numeric variable, constant, or expression that specifies the value of a numeric random variable. When argument is missing, the LOGISTIC function returns a missing value.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n037rwuvgelfekn1k7k87hh7htiq\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n13u4gq0z9qwo4n15f6e6bg8mv79.htm\"}},{\"name\":\"LOGPDF\",\"description\":\"Returns the logarithm of a probability density (mass) function.\",\"syntax\":{\"help\":\"LOGPDF (*'distribution'*, *quantile*, *parameter-1, ..., parameter-k*)\",\"arguments\":[{\"name\":\"'distribution'\",\"description\":\"is a character constant, variable, or expression that identifies the distribution.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n1ts5u0rhs3j0jn1w2szrchduccu\"},{\"name\":\"quantile\",\"description\":\"is a numeric constant, variable, or expression that specifies the value of a random variable.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p0ryywzxcn8v9gn166cpql68gibo\"},{\"name\":\"parameter-1,\",\"description\":\"are optional shape, location, or scale parameters appropriate for the specific distribution.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p0h6p1qnj51h0hn172fbakru2r80\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n0gnrobq5pvj79n1k6u8678dqiv8.htm\"}},{\"name\":\"LOGSDF\",\"description\":\"Returns the logarithm of a survival function.\",\"syntax\":{\"help\":\"LOGSDF (*'distribution'*, *quantile*, *parameter-1, ..., parameter-k*)\",\"arguments\":[{\"name\":\"'distribution'\",\"description\":\"is a character constant, variable, or expression that identifies the distribution.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n08tvp5eqms707n1s1m56tzz60hp\"},{\"name\":\"quantile\",\"description\":\"is a numeric constant, variable, or expression that specifies the value of a random variable.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p0a3a0hdbcj4ljn1c89v056svoi5\"},{\"name\":\"parameter-1,\",\"description\":\"are optional shape, location, or scale parameters appropriate for the specific distribution.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p0qb8m430mbmxdn1iq61k2r34urn\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p1xneyqyg9rrppn0zsxlwjla4cze.htm\"}},{\"name\":\"LOWCASE\",\"description\":\"Converts all uppercase single-width English alphabet letters in an argument to lowercase.\",\"syntax\":{\"help\":\"LOWCASE (*argument*)\",\"arguments\":[{\"name\":\"argument\",\"description\":\"specifies a character constant, variable, or expression.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n06oipt7kfxdsdn19imjl47gd5zx\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n0rrwqm16uiv4vn1t0jj0jvidgao.htm\"}},{\"name\":\"LOWER\",\"description\":\"Converts the case of a character string to lowercase.\",\"syntax\":{\"help\":\"LOWER (*sql-expression*)\",\"arguments\":[{\"name\":\"sql-expression\",\"description\":\"See .\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p0w2pnecmrxmjon1lp9k0564c54y\"}]},\"supportSiteInformation\":{\"docsetId\":\"sqlproc\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p1t5yiwiijc6lcn117fbsyle243u.htm\"}},{\"name\":\"LPERM\",\"description\":\"Computes the logarithm of the PERM function, which is the logarithm of the number of permutations of n objects, with the option of including r number of elements.\",\"syntax\":{\"help\":\"LPERM (*n*&lt;, *r*&gt;)\",\"arguments\":[{\"name\":\"n\",\"description\":\"is an integer that represents the total number of elements from which the sample is chosen.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p0h9608bh44fupn1l45rt5xcvaqg\"},{\"name\":\"r\",\"description\":\"is an optional integer value that represents the number of chosen elements. If r is omitted, the function returns the factorial of n.\",\"placeholder\":true,\"optional\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p01rkt4bvveckon1aka3x3r8twdw\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p0ls30ya7zrnhin1wzav5tkvixcs.htm\"}},{\"name\":\"LPNORM\",\"description\":\"Returns the Lp norm of the second argument and subsequent nonmissing arguments.\",\"syntax\":{\"help\":\"LPNORM (*p*, *value-1*&lt;, *value-2*  ..., *value-n*&gt;)\",\"arguments\":[{\"name\":\"p\",\"description\":\"specifies a numeric constant, variable, or expression that is greater than or equal to 1, which is used as the power for computing the Lp norm.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p00neo1idjx7lnn14u8ik37gwjsm\"},{\"name\":\"value\",\"description\":\"specifies a numeric constant, variable, or expression.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p1p1m5t9wrp86nn1cxul7exlubjm\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n0ppk0d4ci0ai7n1c1tlkqc1j4ff.htm\"}},{\"name\":\"MAD\",\"description\":\"Returns the median absolute deviation from the median.\",\"syntax\":{\"help\":\"MAD (*value-1*&lt;, *value-2*..., *value-n*&gt;)\",\"arguments\":[{\"name\":\"value\",\"description\":\"specifies a numeric constant, variable, or expression of which the median absolute deviation from the median is to be computed.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p16h1vcma1taeun1d0z0223zt8i8\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p193vawxb4sz8sn15tu1qaju1hyn.htm\"}},{\"name\":\"MARGRCLPRC\",\"description\":\"Calculates call prices for European options on stocks, based on the Margrabe model.\",\"syntax\":{\"help\":\"MARGRCLPRC (*X<sub>1</sub>*, *t*, *X<sub>2</sub>*, *sigma-1*, *sigma-2*, *rho12*)\",\"arguments\":[{\"name\":\"X1\",\"description\":\"is a nonmissing, positive value that specifies the price of the first asset.\",\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n1lik5ui1ly2k3n1sw0mycz4k0qs\"},{\"name\":\"t\",\"description\":\"is a nonmissing value that specifies the time to expiration, in years.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p00c4o7gymyzf7n19ck7vy05r2wm\"},{\"name\":\"X2\",\"description\":\"is a nonmissing, positive value that specifies the price of the second asset.\",\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p1t0dnyrges4lzn1tdm5xg8lzjff\"},{\"name\":\"sigma-1\",\"description\":\"is a nonmissing, positive fraction that specifies the volatility of the first asset.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n1e4pystwx6hthn1fk9fle2ubcjg\"},{\"name\":\"sigma-2\",\"description\":\"is a nonmissing, positive fraction that specifies the volatility of the second asset.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n0j9fnuannitpxn1xnvxkvf0snup\"},{\"name\":\"rho12\",\"description\":\"specifies the correlation between the first and second assets, rho sub x sub 1 , x sub 2 end sub ρx1x2 .\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p10h7xt0p18xh2n1iwdc4jbrp3lv\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n17qb9ufrpy2uon1iqf80tiswoqz.htm\"}},{\"name\":\"MARGRPTPRC\",\"description\":\"Calculates put prices for European options on stocks, based on the Margrabe model.\",\"syntax\":{\"help\":\"MARGRPTPRC (*X<sub>1</sub>*, *t*, *X<sub>2</sub>*, *sigma-1*, *sigma-2*, *rho12*)\",\"arguments\":[{\"name\":\"X1\",\"description\":\"is a nonmissing, positive value that specifies the price of the first asset.\",\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n0flsak225a404n1pu5cywneq5e7\"},{\"name\":\"t\",\"description\":\"is a nonmissing value that specifies the time to expiration, in years.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n0ggpcy65qsgnun1cenu4nhvbokm\"},{\"name\":\"X2\",\"description\":\"is a nonmissing, positive value that specifies the price of the second asset.\",\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n08djfmjo8udinn13jnv0sl4o3kp\"},{\"name\":\"sigma-1\",\"description\":\"is a nonmissing, positive fraction that specifies the volatility of the first asset.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p0twdp3noxqlqgn1q3w9ho29h1nr\"},{\"name\":\"sigma-2\",\"description\":\"is a nonmissing, positive fraction that specifies the volatility of the second asset.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n19vdw3r9fl7gan1wa2g60fb6623\"},{\"name\":\"rho12\",\"description\":\"specifies the correlation between the first and second assets, rho sub x sub 1 , y sub 1 end sub ρx1y1.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p0inzrixbj82t4n1cwsusxkl8lwb\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p0ij2rv1xr7hg6n12nc0y5k6urpu.htm\"}},{\"name\":\"MAX\",\"description\":\"Returns the largest value.\",\"syntax\":{\"help\":\"MAX  (&lt;ALL | DISTINCT&gt;*sql-expression*)\",\"arguments\":[{\"name\":\"sql-expression\",\"description\":\"specifies any valid SQL expression. See .\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n0ohq7ka4ay40an1m4reh9wu3k50\"},{\"name\":\"ALL\",\"description\":\"(default) specifies that all missing values returned by sql-expression be counted.\",\"optional\":true,\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"p0n3b4cbij4b6fn17owncff96a31\"},{\"name\":\"DISTINCT\",\"description\":\"eliminates duplicate rows returned by sql-expression from the count.\",\"optional\":true,\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"p1o2cwknagk3zwn170fzcs6mj7w9\"}]},\"supportSiteInformation\":{\"docsetId\":\"sqlproc\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p0l36ib5erledln1xh4lxe613nl9.htm\"}},{\"name\":\"MD5\",\"description\":\"Returns an MD5 message digest as a 16-byte binary string for a message consisting of a character string.\",\"syntax\":{\"help\":\"MD5 (*message*)\",\"arguments\":[{\"name\":\"message\",\"description\":\"specifies a character constant, variable, or expression.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n0943t8os8eee0n1fqdnkr7uvvel\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n0mu81ozw0013yn1kzwve5ola26e.htm\"}},{\"name\":\"MDY\",\"description\":\"Returns a SAS date value from month, day, and year values.\",\"syntax\":{\"help\":\"MDY (*month*, *day*, *year*)\",\"arguments\":[{\"name\":\"month\",\"description\":\"specifies a numeric constant, variable, or expression that represents an integer from 1 through 12.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n1idbi4n1urrzfn1szdoax06emkl\"},{\"name\":\"day\",\"description\":\"specifies a numeric constant, variable, or expression that represents an integer from 1 through 31.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p0kgphfglyroi4n165tbpjn5dzhy\"},{\"name\":\"year\",\"description\":\"specifies a numeric constant, variable, or expression with a value of a two-digit or four-digit integer that represents the year. The YEARCUTOFF= system option defines the year value for two-digit dates.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p09dipcmoa8rtkn1drzorrqxbzzb\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p0bo5thbfrcab1n1menkqxq2suiv.htm\"}},{\"name\":\"MEAN\",\"description\":\"Returns the arithmetic mean (average).\",\"syntax\":{\"help\":\"MEAN (*argument-1*&lt;, ... *argument-n*&gt;)\",\"arguments\":[{\"name\":\"argument\",\"description\":\"specifies a numeric constant, variable, or expression. At least one nonmissing argument is required. Otherwise, the function returns a missing value.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n1kcf3hdv3qlazn1fn4fzhfw34rv\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p0vl2htnkjkvejn1lsx2004n6dqp.htm\"}},{\"name\":\"MEDIAN\",\"description\":\"Returns median value.\",\"syntax\":{\"help\":\"MEDIAN  (&lt;ALL | DISTINCT&gt;*sql-expression*)\",\"arguments\":[{\"name\":\"sql-expression\",\"description\":\"specifies any valid SQL expression. See .\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n161nbp6hsvsxbn1bejs58g3ash3\"},{\"name\":\"ALL\",\"description\":\"(default) specifies that all missing values returned by sql-expression be counted.\",\"optional\":true,\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"n0ebgqw79j3ohpn157rizn2wiq64\"},{\"name\":\"DISTINCT\",\"description\":\"eliminates duplicate rows returned by sql-expression from the count.\",\"optional\":true,\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"p0428xfni7gysnn1bk6yivvmczvw\"}]},\"supportSiteInformation\":{\"docsetId\":\"sqlproc\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n0nvyjlgsfig0en1l10cn1aw5vjh.htm\"}},{\"name\":\"MIN\",\"description\":\"Returns the smallest value.\",\"syntax\":{\"help\":\"MIN  (&lt;ALL | DISTINCT&gt;*sql-expression*)\",\"arguments\":[{\"name\":\"sql-expression\",\"description\":\"specifies any valid SQL expression. See .\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p02ogh1xdt8w02n1ew5l97grluhe\"},{\"name\":\"ALL\",\"description\":\"(default) specifies that all missing values returned by sql-expression be counted.\",\"optional\":true,\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"p0zsnk6e04abx1n15gchf80ie2bw\"},{\"name\":\"DISTINCT\",\"description\":\"eliminates duplicate rows returned by sql-expression from the count.\",\"optional\":true,\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"p14m2lljugvliyn1xk457ptfcdek\"}]},\"supportSiteInformation\":{\"docsetId\":\"sqlproc\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n152v0kexcik9xn1t76jirrqepbi.htm\"}},{\"name\":\"MINUTE\",\"description\":\"Returns the minute from a SAS time or datetime value.\",\"syntax\":{\"help\":\"MINUTE (*time* | *datetime*)\",\"arguments\":[{\"name\":\"time\",\"description\":\"is a numeric constant, variable, or expression that specifies a SAS time value.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n18fbdys9avh13n1ba9ybc7fktpq\"},{\"name\":\"datetime\",\"description\":\"is a numeric constant, variable, or expression that specifies a SAS datetime value.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n03ew89xd3a4e0n1jcw685uz4n20\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n0jfimqujrjz3on1b0ozp6ctrczb.htm\"}},{\"name\":\"MISSING\",\"description\":\"Returns a numeric result that indicates whether the argument contains a missing value.\",\"syntax\":{\"help\":\"MISSING (*numeric-expression* | *character-expression*)\",\"arguments\":[{\"name\":\"numeric-expression\",\"description\":\"specifies a numeric constant, variable, or expression.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p18s09jbxfbmcdn1tmphz1k896c1\"},{\"name\":\"character-expression\",\"description\":\"specifies a character constant, variable, or expression.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n1kvuqw36vzckwn1raljbh9tsz9p\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p06ybg84o0asa4n17l9ieauk58hb.htm\"}},{\"name\":\"MOD\",\"description\":\"Returns the remainder from the division of the first argument by the second argument, fuzzed to avoid most unexpected floating-point results.\",\"syntax\":{\"help\":\"MOD (*argument-1*, *argument-2*)\",\"arguments\":[{\"name\":\"argument-1\",\"description\":\"is a numeric constant, variable, or expression that specifies the dividend.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n18rg76fa3qou9n1n1rzgtg6b0c1\"},{\"name\":\"argument-2\",\"description\":\"is a numeric constant, variable, or expression that specifies the divisor.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n04i1ii6pctwz6n1i5mxykhf5sr5\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p0ebxby8k7049en12wrfx28vyx4t.htm\"}},{\"name\":\"MODEXIST\",\"description\":\"Determines whether a software image exists in the version of SAS that you have installed.\",\"syntax\":{\"help\":\"MODEXIST ('*product-name*' | '*pathname*')\",\"arguments\":[{\"name\":\"'product-name'\",\"description\":\"specifies a character constant, variable, or expression that is the name of the product image that you are checking.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p13y5wcek99q2ln1assg75fsnd3k\"},{\"name\":\"'pathname'\",\"description\":\"specifies the pathname for the product image that you are checking.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p1bh7e9ykjfm7pn1h26d9apylip5\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n11bxtz4it9q29n1skrqxfzl02r4.htm\"}},{\"name\":\"MODULE\",\"description\":\"Calls a specific routine or module that resides in an external dynamic link library (DLL).\",\"syntax\":{\"help\":\"CALL     MODULE (<control-string>,module,argument-1, ..., argument-n);\\nMODULEN (<control-string>,module,argument-1, ..., argument-n);\\nMODULEC (<control-string> ,module,argument-1, ..., argument-n);\\nCALL MODULEI (<control-string> ,module,argument-1, ..., argument-n);\\nMODULEIN (<control-string> ,module,argument-1, ..., argument-n)\\nMODULEIC (<control-string> ,module,argument-1, ..., argument-n);\",\"arguments\":[{\"name\":\"module\",\"description\":\"is the name of the external module to use, specified as a DLL name and the routine name or ordinal value, separated by a comma. The module must reside in a dynamic link library (DLL) and it must be externally callable. For example, the value 'KERNEL32,GetProfileString' specifies to load KERNEL32.DLL and to invoke the GetProfileString routine. Note that while the DLL name is not case sensitive, the routine name is based on the restraints of the routine's implementation language, so the routine name is case sensitive.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p14yder49g3etun1c3cwurvlsm4l\"},{\"name\":\"argument\",\"description\":\"are the arguments to pass to the requested routine. Use the proper attributes for the arguments (numeric arguments for numeric attributes and character arguments for character attributes).\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n0y2ondi3ekj7hn1a8xlv5uatetf\"},{\"name\":\"control-string\",\"description\":\"is an optional control string whose first character must be an asterisk (*), followed by any combination of characters.\",\"placeholder\":true,\"optional\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p1om3uovl2rm1vn1itzcttehxq68\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p1tyyoihv5nh3on0zgkpwgjpjc42.htm\"}},{\"name\":\"MODULEC\",\"description\":\"Calls an external routine and returns a character value.\",\"syntax\":{\"help\":\"MODULEC (&lt;*cntl-string*, &gt;*module-name*&lt;, *argument-1, ..., argument-n*&gt;)\"},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n1c7xirwnpygden18b5vhhou79az.htm\"}},{\"name\":\"MODULEN\",\"description\":\"Calls an external routine and returns a numeric value.\",\"syntax\":{\"help\":\"MODULEN (&lt;*cntl-string*, &gt;*module-name*&lt;, *argument-1, ..., argument-n*&gt;)\"},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n0d84o1pjgm0akn129atp8njpj77.htm\"}},{\"name\":\"MODZ\",\"description\":\"Returns the remainder from the division of the first argument by the second argument, using zero fuzzing.\",\"syntax\":{\"help\":\"MODZ (*argument-1*, *argument-2*)\",\"arguments\":[{\"name\":\"argument-1\",\"description\":\"is a numeric constant, variable, or expression that specifies the dividend.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n04zfvdgsipl4hn10hp6ccei0xy4\"},{\"name\":\"argument-2\",\"description\":\"is a nonzero numeric constant, variable, or expression that specifies the divisor.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n0jhzukehujtcfn1d9hmvl9t4rtm\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p16o2egyjzxmxhn1uwomog96x046.htm\"}},{\"name\":\"MONTH\",\"description\":\"Returns the month from a SAS date value.\",\"syntax\":{\"help\":\"MONTH (*date*)\",\"arguments\":[{\"name\":\"date\",\"description\":\"specifies a numeric constant, variable, or expression that represents a SAS date value.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n1qu3g1fifj1fhn15sat0dfey7ru\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n0bn6385z4pweqn1qrpmklqtln99.htm\"}},{\"name\":\"MOPEN\",\"description\":\"Opens a file by directory ID and member name, and returns either the file identifier or a 0.\",\"syntax\":{\"help\":\"MOPEN (*directory-id*, *member-name*&lt;, *open-mode* &lt;, *record-length* &lt;, *record-format*&gt;&gt;&gt;)\",\"arguments\":[{\"name\":\"directory-id\",\"description\":\"is a numeric variable that specifies the identifier that was assigned when the directory was opened, generally by the DOPEN function.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p0hrm2t9yg2al3n1ooymcfbf4hia\"},{\"name\":\"member-name\",\"description\":\"is a character constant, variable, or expression that specifies the member name in the directory.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p014o990twirgan0zrjul3claiwl\"},{\"name\":\"open-mode\",\"description\":\"is a character constant, variable, or expression that specifies the type of access to the file.\",\"placeholder\":true,\"optional\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p0dw60w8a4kuiqn1qkobj6iecccb\"},{\"name\":\"record-length\",\"description\":\"is a numeric variable, constant, or expression that specifies a new logical record length for the file. To use the existing record length for the file, specify a length of 0, or do not provide a value here.\",\"placeholder\":true,\"optional\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p00t2icqo7noidn16swpx596zsxd\"},{\"name\":\"record-format\",\"description\":\"is a character constant, variable, or expression that specifies a new record format for the file. To use the existing record format, do not specify a value here.\",\"placeholder\":true,\"optional\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n0alhrjrp6iyt3n1r7i2skipr1m0\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p023sn4hgjgvpjn19ozlet62e0up.htm\"}},{\"name\":\"MORT\",\"description\":\"Returns amortization parameters.\",\"syntax\":{\"help\":\"MORT (*a*, *p*, *r*, *n*)\",\"arguments\":[{\"name\":\"a\",\"description\":\"is numeric, and specifies the initial amount.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p1l6qyzpgg54gyn1cvv3faeii62j\"},{\"name\":\"p\",\"description\":\"is numeric, and specifies the periodic payment.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n1c7bt9agejcisn0zqqc4qnjfdly\"},{\"name\":\"r\",\"description\":\"is numeric, and specifies the periodic interest rate that is expressed as a fraction.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n1m9jay53s0iw8n10udi458v3gpx\"},{\"name\":\"n\",\"description\":\"is an integer, and specifies the number of compounding periods.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n17h0vx3djp8vjn13rnt320jkdxp\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p1lu2y2jwy3twmn1mns17ix45c6o.htm\"}},{\"name\":\"MSPLINT\",\"description\":\"Returns the ordinate of a monotonicity-preserving interpolating spline.\",\"syntax\":{\"help\":\"MSPLINT (*X*, *n*, *X<sub>1</sub>*&lt;, *X<sub>2</sub>*, …, *X<sub>n</sub>*&gt;, *Y<sub>1</sub>*&lt;, *Y<sub>2</sub>*, …, *Y<sub>n</sub>*&gt;&lt;, *D<sub>1</sub>*, *D<sub>n</sub>*&gt;)\",\"arguments\":[{\"name\":\"X\",\"description\":\"is a numeric constant, variable, or expression that specifies the abscissa for which the ordinate of the spline is to be computed.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n0wfdg5oyek6fon1ugb9tc5skkeh\"},{\"name\":\"n\",\"description\":\"is a numeric constant, variable, or expression that specifies the number of knots. N must be a positive integer.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p02nhk0j3slugfn1pb4x8wbc0wec\"},{\"name\":\"X1,\",\"description\":\"are numeric constants, variables, or expressions that specify the abscissas of the knots. These values must be nonmissing and listed in nondecreasing order. Otherwise, the result is undefined. MSPLINT does not check the order of the X1 through Xn arguments.\",\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p18qs22hgqct0ln1ik0c04w6y3ug\"},{\"name\":\"Y1,\",\"description\":\"are numeric constants, variables, or expressions that specify the ordinates of the knots. The number of Y1 through Yn arguments must be the same as the number of X1 throughXn arguments.\",\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p05npptpviftqfn119t3wfo1w25n\"},{\"name\":\"D1,\",\"description\":\"are optional numeric constants, variables, or expressions that specify the derivatives of the spline at X1 and Xn. These derivatives affect only abscissas that are less than X2 or greater than x sub n minus 1 end sub Xn-1.\",\"optional\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n0kzkbcr7hm9a3n1x10oxrhmckwz\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p0zoe5ykbsgnt6n1bunsroqx7lwx.htm\"}},{\"name\":\"MVALID\",\"description\":\"Checks the validity of a character string for use as a SAS member name.\",\"syntax\":{\"help\":\"MVALID (*libname*, *string*, *member-type*&lt;, *valid-member-name*&gt;)\",\"arguments\":[{\"name\":\"libname\",\"description\":\"specifies a character constant, variable, or expression that associates a SAS library with a libref. Leading and trailing blanks are ignored.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p0u15vwabeaz6wn1lqco7kt24yhd\"},{\"name\":\"string\",\"description\":\"specifies a character constant, variable, or expression that is checked to determine whether its value can be used as a SAS member name. Leading and trailing blanks are ignored.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p1waz1q9x9vh9un17jrdr3l7yu8u\"},{\"name\":\"member-type\",\"description\":\"specifies a character constant, variable, or expression that is the member type of the member name that you are using. Leading and trailing blanks are ignored. The value of member-type is not validated.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n1wghz0t9wgvbdn1wrwnv9qi1gsb\"},{\"name\":\"COMPAT\",\"description\":\"determines that string is a valid SAS member name when all three of the following conditions are true:\\n• The <i>string</i> argument begins with an English letter or an underscore.\\n• All subsequent characters are English letters, underscores, or digits. \\n• The length of <i>string</i> is 32 or fewer alphanumeric characters. \",\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"n0vuhmhuucyvnyn14fixox45xa5a\"},{\"name\":\"COMPATIBLE\",\"description\":\"determines that string is a valid SAS member name when all three of the following conditions are true:\\n• The <i>string</i> argument begins with an English letter or an underscore.\\n• All subsequent characters are English letters, underscores, or digits. \\n• The length of <i>string</i> is 32 or fewer alphanumeric characters. \",\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"n0vuhmhuucyvnyn14fixox45xa5a\"},{\"name\":\"EXTEND\",\"description\":\"determines that string is a valid SAS member name when all of the following conditions are true:\\n• The length of <i>string</i> is 32 or fewer bytes.\\n• The <i>string</i> argument does not contain the characters / \\\\ * ? \\\" &lt; &gt; | : –\\n• The <i>string</i> argument does not contain null bytes.\\n• The <i>string</i> argument does not begin with a blank or period (.).\\n• The <i>string</i> argument contains at least one character. A name that consists of all blanks is not valid. \",\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"p0bop8210nmuven19njjeh5zkz7s\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n1auc6r6y41scsn1uc51pdcojmwy.htm\"}},{\"name\":\"N\",\"description\":\"Returns the number of nonmissing numeric values.\",\"syntax\":{\"help\":\"N (*argument-1*&lt;, ... *argument-n*&gt;)\",\"arguments\":[{\"name\":\"argument\",\"description\":\"specifies a numeric constant, variable, or expression. At least one argument is required. The argument list can consist of a variable list, which is preceded by OF.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p10536ih3q0lmfn1j97xmd89k97d\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n0h1d8gxwr1ml7n1qdt35v3i6u7r.htm\"}},{\"name\":\"NDIMS\",\"description\":\"Returns the number of dimensions in an array.\",\"syntax\":{\"help\":\"*rc*= NDIMS (*array-name*)\",\"arguments\":[{\"name\":\"array-name\",\"description\":\"specifies the name of the array.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p1fqs0xxgyveq7n17dmas7l3n1qw\"},{\"name\":\"rc\",\"description\":\"specifies the variable to return the number of dimensions to.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n0v57rsyw09x6bn119ew6toyr7ct\"}]},\"supportSiteInformation\":{\"docsetId\":\"proc\",\"docsetVersion\":\"v_002\",\"docsetTargetFile\":\"p11xv19ixuyzgon16gfzcfirhpyv.htm\"}},{\"name\":\"NETPV\",\"description\":\"Returns the net present value as a percent.\",\"syntax\":{\"help\":\"NETPV (*r*, *frequency*, *c0, c1, ..., cn*)\",\"arguments\":[{\"name\":\"r\",\"description\":\"is numeric, the interest rate over a specified base period of time expressed as a fraction.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p1ey5i46qa8cg9n0zo8jtimmvwf4\"},{\"name\":\"frequency\",\"description\":\"is numeric, the number of payments during the base period of time that is specified with the rate r.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p1onn03h5tz4zln1y13b2wzmtdrx\"},{\"name\":\"c0,\",\"description\":\"are numeric cash flows that represent cash outlays (payments) or cash inflows (income) occurring at times 0, 1, ... n. These cash flows are assumed to be equally spaced, beginning-of-period values. Negative values represent payments, positive values represent income, and values of 0 represent no cash flow at a given time. The c0 argument and the c1 argument are required.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n1ufdx3wdmayarn1rw1plvaz9eu2\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p1ar4i3qaux7xsn1wbasf47a18zw.htm\"}},{\"name\":\"NLDATE\",\"description\":\"Converts the SAS date value to the date value of the specified locale by using the date format descriptors.\",\"syntax\":{\"help\":\"NLDATE (*date,descriptor*)\",\"arguments\":[{\"name\":\"date\",\"description\":\"specifies a SAS date value.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p1cjfragdnuwqbn19oyyhdg4xjqg\"},{\"name\":\"#\",\"description\":\"removes the leading zero from the result.\",\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"n1ua03v6lbfs38n19wp73m169pk0\"},{\"name\":\"%%\",\"description\":\"specifies the % character.\",\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"p17n5qsb6x8fd7n1h13wf1mfzliu\"},{\"name\":\"%a\",\"description\":\"specifies the short-weekday descriptor. The range for the day descriptor is Mon–Sun.\",\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"p0hvslebh361zwn1utucq4tieajo\"},{\"name\":\"%A\",\"description\":\"specifies the long-weekday descriptor. The range for the long-weekday descriptor is Monday–Sunday.\",\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"n1xun6hcv5dlpjn1urwznqy3lyfh\"},{\"name\":\"%b\",\"description\":\"specifies the short-month descriptor. The range for the short-month descriptor is Jan–Dec.\",\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"n0wrejtbc1kbj6n1o908uwxb1l4y\"},{\"name\":\"%B\",\"description\":\"specifies the long-month descriptor. The range for the long-month descriptor is January–December.\",\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"n15t59btg7izxqn1btkwn7iqeh2e\"},{\"name\":\"%C\",\"description\":\"specifies the long-month descriptor and uses blank padding. The range for the long-month descriptor is January–December.\",\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"p1rq6wbzk822bnn10y0hff73rz06\"},{\"name\":\"%d\",\"description\":\"specifies the day descriptor and uses 0 padding. The range for the day modifier is 01–31.\",\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"p0lwucsf99dyign17mqbjkp9hu8d\"},{\"name\":\"%e\",\"description\":\"specifies the day descriptor and uses blank padding. The range for the day descriptor is 01–31.\",\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"p00l1ceh9xwmokn1q4a84c7avw1f\"},{\"name\":\"%F\",\"description\":\"specifies the long-weekday descriptor and uses blank padding. The range for the day descriptor is Monday–Sunday.\",\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"n049gqfibnhalan1f0suocmpv8xh\"},{\"name\":\"%j\",\"description\":\"specifies the day-of-year descriptor as a decimal number and uses a leading zero. The range for the day-of-year descriptor is 1–366.\",\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"p1ua6v5mebrr83n1xfhaizkg6uo6\"},{\"name\":\"%m\",\"description\":\"specifies the month descriptor and uses 0 padding. The range for the month descriptor is 01–12.\",\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"n05lbd9ug6q1iwn1t2fa6zs5mju0\"},{\"name\":\"%o\",\"description\":\"specifies the month descriptor. The range for the month descriptor is 1–12 with blank padding.\",\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"p053urx5r83dl6n1ch3zon0zh6hu\"},{\"name\":\"%u\",\"description\":\"specifies the weekday descriptor as a number in the range 1–7 that represents Monday–Sunday.\",\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"n1uc1uu3n1m0iun1psi2t0cz31wc\"},{\"name\":\"%U\",\"description\":\"specifies the week-number-of-year descriptor by calculating the descriptor value as the SAS date value using the number of week within the year (Sunday is considered the first day of the week). The number-of-the-week value is represented as a decimal number in the range 0–53 and uses a leading zero and a maximum value of 53.\",\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"n151z35c9bgwovn1d63pgig3hwi4\"},{\"name\":\"%V\",\"description\":\"specifies the week-number-of-year descriptor by calculating the descriptor value as the SAS date value. The number-of-week value is represented as a decimal number in the range 01–53 and uses a leading zero and a maximum value of 53. Weeks begin on a Monday and week 1 of the year is the week that includes both January 4 and the first Thursday of the year. If the first Monday of January is the 2nd, 3rd, or 4th, the preceding days are part of the last week of the preceding year.\",\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"n08ucuqfawoyexn1l88l6bj6vcf9\"},{\"name\":\"%w\",\"description\":\"specifies the weekday descriptor as a number in the range 0–6 that represents Sunday–Saturday.\",\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"n03u5wtyo9vckcn198k2sx8sfze0\"},{\"name\":\"%W\",\"description\":\"specifies the week-number-of-year descriptor by calculating the descriptor value as SAS date value by using the number of week within the year (Monday is considered the first day of the week). The number-of-week value is represented as a decimal number in the range 0–53 and uses a leading zero and a maximum value of 53.\",\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"p0glx8grj7b87mn16u2judpjmc3w\"},{\"name\":\"%y\",\"description\":\"specifies the year (2-digit) modifier. The range for the year descriptor is 00–99.\",\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"p18ghbnvcj2ry0n19bsxholof90i\"},{\"name\":\"%Y\",\"description\":\"specifies the year (4-digit) descriptor. The range for the year descriptor is 1970–2069.\",\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"p0b7b4u3y1xyp8n15su82ix0cb2e\"}]},\"supportSiteInformation\":{\"docsetId\":\"nlsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n14463ngld1umvn10fcpbo3bs26u.htm\"}},{\"name\":\"NLDATM\",\"description\":\"Converts the SAS datetime value to the time value of the specified locale by using the datetime-format descriptors.\",\"syntax\":{\"help\":\"NLDATM (*datetime,descriptor*)\",\"arguments\":[{\"name\":\"datetime\",\"description\":\"specifies a SAS datetime value.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p0pddz129bh5n9n1rf13qauzck1a\"},{\"name\":\"#\",\"description\":\"removes the leading zero from the result.\",\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"p18ysnlxmc38j9n1dkgg8rl4zykf\"},{\"name\":\"%%\",\"description\":\"specifies the % character.\",\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"n0brr52dr1er06n15yu44g9sp47g\"},{\"name\":\"%a\",\"description\":\"specifies the short-weekday descriptor. The range for the day descriptor is Mon–Sun.\",\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"p1q77qo6ee05tbn1rfrrubenoda1\"},{\"name\":\"%A\",\"description\":\"specifies the long-weekday descriptor. The range for the long-weekday descriptor is Monday–Sunday.\",\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"n0nkjue8esmoqyn1o4prz0oz6oux\"},{\"name\":\"%b\",\"description\":\"specifies the short-month descriptor. The range for the short-month descriptor is Jan–Dec.\",\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"n0zfpd04qfk5vcn1se6cuzxeomn4\"},{\"name\":\"%B\",\"description\":\"specifies the long-month descriptor. The range for the long-month descriptor is January–December.\",\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"p1ffunmieyioonn182xcm4yyuqtm\"},{\"name\":\"%c\",\"description\":\"specifies the long-month descriptor and uses blank padding. The range for the long-month descriptor is January–December.\",\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"n0a4i2rhajc1nun12dnbn0jt2mso\"},{\"name\":\"%d\",\"description\":\"specifies the day descriptor and uses 0 padding. The range for the day descriptor is 01–31.\",\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"n04dytkkm1cbkin16beuuhwyuhgl\"},{\"name\":\"%e\",\"description\":\"specifies the day descriptor and uses blank padding. The range for the day descriptor is 01–31.\",\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"n1t9tsrli3fsnxn1o6fe78za8fa2\"},{\"name\":\"%F\",\"description\":\"specifies the long-weekday descriptor and uses blank padding. The range for the day descriptor is Monday–Sunday.\",\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"n0xmpw0bsg71uyn1d3k6cqpmjjdc\"},{\"name\":\"%H\",\"description\":\"specifies the hour descriptor that is based on a 24-hour clock. The range for the hour descriptor is 00–23.\",\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"n13x8jwp9qtjitn1d6cekfvqxm3i\"},{\"name\":\"%I\",\"description\":\"specifies the hour descriptor that is based on a 12-hour clock. The range for the hour descriptor is 01–12.\",\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"n0zphpbmdhoodun1pn6esaxebqds\"},{\"name\":\"%j\",\"description\":\"specifies the day-of-year descriptor as a decimal number and uses a leading zero. The range for the day-of-year descriptor is 1–366.\",\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"p1gvtd52k8jqchn1fului37jqodx\"},{\"name\":\"%m\",\"description\":\"specifies the month descriptor and uses 0 padding. The range for the month descriptor is 01–12.\",\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"p04moazrwjiru6n1xjmuptjddnge\"},{\"name\":\"%M\",\"description\":\"specifies the minute descriptor. The range for the minute descriptor is 00–59.\",\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"p0sm86kx4izjttn17zn91bjt60a5\"},{\"name\":\"%o\",\"description\":\"specifies the month descriptor and uses blank padding. The range for the month descriptor is 1–12.\",\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"n1av1jvw6q13e2n1vyex5ba1dj6i\"},{\"name\":\"%p\",\"description\":\"specifies a.m. or p.m. descriptor.\",\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"p13e591pwdaxzyn1co3tsqobx46d\"},{\"name\":\"%S\",\"description\":\"specifies the second descriptor. The range for the second descriptor is 00–59.\",\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"p0pvgv3f8bc1a7n137p74zk9bz0b\"},{\"name\":\"%u\",\"description\":\"specifies the weekday descriptor as a number in the range of 1–7 that represents Monday–Sunday.\",\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"p0ppordkhj1c0qn17963ufh2opu2\"},{\"name\":\"%U\",\"description\":\"specifies the week-number-of-year descriptor by calculating the descriptor value as the SAS date value and uses the number-of-week value within the year (Sunday is considered the first day of the week). The number-of-week value is represented as a decimal number in the range 0–53. A leading zero and a maximum value of 53 is used.\",\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"p0m7zk0ww4in2bn19hoxonqcy8jq\"},{\"name\":\"%V\",\"description\":\"specifies the week-number-of-year descriptor by calculating the descriptor value as the SAS date value. The number-of-week value is represented as a decimal number in the range 01–53. A leading zero and a maximum value of 53 is used. Weeks begin on a Monday and week 1 of the year is the week that includes both January 4 and the first Thursday of the year. If the first Monday of January is the 2nd, 3rd, or 4th, the preceding days are part of the last week of the preceding year.\",\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"n018wpff0q9cc6n1qt5n2wuosetu\"},{\"name\":\"%w\",\"description\":\"specifies the weekday descriptor as a number in the range of 0–6 that represents Sunday–Saturday.\",\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"n04bzlh2hi4epxn1p1o1nzgpv5yt\"},{\"name\":\"%W\",\"description\":\"specifies the week-number-of-year descriptor by calculating the descriptor value as SAS date value using the number of week within the year (Monday is considered the first day of the week). The number-of-week value is represented as a decimal number in the range of 0–53. A leading zero and a maximum value of 53 are used.\",\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"n0qcuqyst3uy6dn1kaonl03ifjbe\"},{\"name\":\"%y\",\"description\":\"specifies the year (2-digit) descriptor. The range for the year descriptor is 00–99.\",\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"p0k1o3jx0kb2zbn17t00noq3krnb\"},{\"name\":\"%Y\",\"description\":\"specifies the year (4-digit) descriptor. The range for the year descriptor is 1970–2069.\",\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"p1ezp7lh6kvpp4n1hjyc9e0c7cug\"}]},\"supportSiteInformation\":{\"docsetId\":\"nlsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p0wanpdk5fbgl2n0z5xqjc54oi5q.htm\"}},{\"name\":\"NLITERAL\",\"description\":\"Converts a character string that you specify to a SAS name literal.\",\"syntax\":{\"help\":\"NLITERAL (*string*)\",\"arguments\":[{\"name\":\"string\",\"description\":\"specifies a character constant, variable, or expression that is to be converted to a SAS name literal.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p0ag4igzgyzqean19j3mwo7wx1h4\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p08pv65zqs289nn1rhylzpn95q71.htm\"}},{\"name\":\"NLTIME\",\"description\":\"Converts the SAS time or the datetime value to the time value of the specified locale by using the NLTIME descriptors.\",\"syntax\":{\"help\":\"NLTIME (*time|datetime,descriptor,**startpos*)\",\"arguments\":[{\"name\":\"time\",\"description\":\"specifies a SAS time value.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n1nofanszrf7hnn1cscxuo2aygg8\"},{\"name\":\"datetime\",\"description\":\"specifies a SAS datetime value.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n1gno8don2b80qn1cis8ey0n670t\"},{\"name\":\"#\",\"description\":\"removes the leading zero from the result.\",\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"n0p044f2couyj4n1rz8af1vokd0o\"},{\"name\":\"%%\",\"description\":\"specifies the % character.\",\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"p04ts40u99ti6jn12lkacav8ptz4\"},{\"name\":\"%H\",\"description\":\"specifies the hour descriptor that is based on a 24-hour clock. The range for the hour descriptor is 00–23.\",\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"n1sr7x4jrr35cdn1iwzsgcr3myg7\"},{\"name\":\"%I\",\"description\":\"specifies the hour descriptor that is based on a 12-hour clock. The range for the hour descriptor is 01–12.\",\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"n1hjxe19c458l5n1exo2r1x3vo8l\"},{\"name\":\"%M\",\"description\":\"specifies the minute modifier. The range for the minute descriptor is 00–59.\",\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"p0ysob5g0i3ugbn10ip4j623m9g8\"},{\"name\":\"%P\",\"description\":\"specifies the a.m. or p.m. descriptor.\",\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"p130oa96nes9bmn1w9gh9fimo0yd\"},{\"name\":\"%S\",\"description\":\"specifies the second descriptor. The range for the second descriptor is 00–59.\",\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"n1b1jenxkwnuhon1fah5n0jz36p7\"},{\"name\":\"startpos\",\"description\":\"is an integer that specifies the position at which the search should start and that specifies the direction of the search.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p0u46iyowjyukrn1wfvm36jjvq1q\"}]},\"supportSiteInformation\":{\"docsetId\":\"nlsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n15slj8blipoj9n1v2uwx7lmbub4.htm\"}},{\"name\":\"NMISS\",\"description\":\"Returns the number of missing values in a table column.\",\"syntax\":{\"help\":\"NMISS  (&lt;ALL | DISTINCT&gt;*sql-expression*)\",\"arguments\":[{\"name\":\"sql-expression\",\"description\":\"specifies any valid SQL expression. See .\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p0mwlwkejuitejn1h5o6f574sylt\"},{\"name\":\"ALL\",\"description\":\"(default) specifies that all missing values returned by sql-expression be counted.\",\"optional\":true,\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"n11pibizp0pad4n1tmn9ogb08sdt\"},{\"name\":\"DISTINCT\",\"description\":\"eliminates duplicate rows returned by sql-expression from the count.\",\"optional\":true,\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"n1ld1tbbrjs51yn1tdrvcwsio5fk\"}]},\"supportSiteInformation\":{\"docsetId\":\"sqlproc\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p1qp5we8vl7aq5n1p8kw2m1q3iy5.htm\"}},{\"name\":\"NOMRATE\",\"description\":\"Returns the nominal annual interest rate.\",\"syntax\":{\"help\":\"NOMRATE (*compounding-interval*, *rate*)\",\"arguments\":[{\"name\":\"compounding-interval\",\"description\":\"is a SAS interval. This value represents how often the returned value is compounded.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n01iehapciufkun1xlxppftc1yof\"},{\"name\":\"rate\",\"description\":\"is numeric. Rate is the effective annual interest rate (expressed as a percentage) that is compounded at each interval.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p0nqvw856rzbycn1gkajuh9xh38p\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n122rypa5fjy4fn1xs6uc8vwz0f2.htm\"}},{\"name\":\"NORMAL\",\"description\":\"Returns a random variate from a normal, or Gaussian, distribution.\",\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p05tjojnyjll0zn1qq3xjl9aawl0.htm\"}},{\"name\":\"NOTALNUM\",\"description\":\"Searches a character string for a non-alphanumeric character, and returns the first position at which the character is found.\",\"syntax\":{\"help\":\"NOTALNUM (*string*&lt;, *start*&gt;)\",\"arguments\":[{\"name\":\"string\",\"description\":\"specifies a character constant, variable, or expression to search.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n06l83lwj5o2w5n1md8b4uiemxk1\"},{\"name\":\"start\",\"description\":\"is an optional numeric constant, variable, or expression with an integer value that specifies the position at which the search should start and the direction in which to search.\",\"placeholder\":true,\"optional\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p0gko5jv5g63b7n1ju05md9yc1s6\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n1h7ar1edl9ydvn1p69br4zjsula.htm\"}},{\"name\":\"NOTALPHA\",\"description\":\"Searches a character string for a nonalphabetic character, and returns the first position at which the character is found.\",\"syntax\":{\"help\":\"NOTALPHA (*string*&lt;, *start*&gt;)\",\"arguments\":[{\"name\":\"string\",\"description\":\"is the character constant, variable, or expression to search.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n1psryqrxp9dxyn15627fipc810r\"},{\"name\":\"start\",\"description\":\"is an optional numeric constant, variable, or expression with an integer value that specifies the position at which the search should start and the direction in which to search.\",\"placeholder\":true,\"optional\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n1i29upywqg5o4n1q8ii3xop4vgk\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p15hz07s8zvsywn1q59607pduunb.htm\"}},{\"name\":\"NOTCNTRL\",\"description\":\"Searches a character string for a character that is not a control character, and returns the first position at which that character is found.\",\"syntax\":{\"help\":\"NOTCNTRL (*string*&lt;, *start*&gt;)\",\"arguments\":[{\"name\":\"string\",\"description\":\"is the character constant, variable, or expression to search.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p0khfq4660gz7in1be1pu2svf2zt\"},{\"name\":\"start\",\"description\":\"is an optional numeric constant, variable, or expression with an integer value that specifies the position at which the search should start and the direction in which to search.\",\"placeholder\":true,\"optional\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p1luonvbnuzfbwn1dgjx02b10bx8\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p0o6t0jjq3ythhn1k6n4vu1klb2u.htm\"}},{\"name\":\"NOTDIGIT\",\"description\":\"Searches a character string for any character that is not a digit, and returns the first position at which that character is found.\",\"syntax\":{\"help\":\"NOTDIGIT (*string*&lt;, *start*&gt;)\",\"arguments\":[{\"name\":\"string\",\"description\":\"is the character constant, variable, or expression to search.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n0xvdapjjwdzz9n0zydp58jjjpg0\"},{\"name\":\"start\",\"description\":\"is an optional numeric constant, variable, or expression with an integer value that specifies the position at which the search should start and the direction in which to search.\",\"placeholder\":true,\"optional\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p1j6qgfx6em7b9n1oeqf12myxdoo\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p1m0n4833qyto5n1e793r44uuozv.htm\"}},{\"name\":\"NOTE\",\"description\":\"Returns an observation ID for the current observation of a SAS data set.\",\"syntax\":{\"help\":\"NOTE (*data-set-id*)\",\"arguments\":[{\"name\":\"data-set-id\",\"description\":\"is a numeric variable that specifies the data set identifier that the OPEN function returns.\",\"placeholder\":true,\"dataTypes\":[\"dataSet\"],\"supportSiteTargetFragment\":\"n1815kja4ong1en1mvbej8vary32\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p0km7ljsfulh2qn1mtan4npinh0c.htm\"}},{\"name\":\"NOTFIRST\",\"description\":\"Searches a character string for an invalid first character in a SAS variable name under VALIDVARNAME=V7, and returns the first position at which that character is found.\",\"syntax\":{\"help\":\"NOTFIRST (*string*&lt;, *start*&gt;)\",\"arguments\":[{\"name\":\"string\",\"description\":\"is the character constant, variable, or expression to search.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n1r8rnqk5ko5q3n11vre69f7xzq2\"},{\"name\":\"start\",\"description\":\"is an optional numeric constant, variable, or expression with an integer value that specifies the position at which the search should start and the direction in which to search.\",\"placeholder\":true,\"optional\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p083iu2xwap6v0n17orug4x6lobd\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n16jjdx4cd65d4n1fg1p55sveash.htm\"}},{\"name\":\"NOTGRAPH\",\"description\":\"Searches a character string for a non-graphical character, and returns the first position at which that character is found.\",\"syntax\":{\"help\":\"NOTGRAPH (*string*&lt;, *start*&gt;)\",\"arguments\":[{\"name\":\"string\",\"description\":\"is the character constant, variable, or expression to search.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p0wrvttbptqsfnn1ff2rnvtae091\"},{\"name\":\"start\",\"description\":\"is an optional numeric constant, variable, or expression with an integer value that specifies the position at which the search should start and the direction in which to search.\",\"placeholder\":true,\"optional\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n1bedgbqagqk1nn1f9s0tkx90ife\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p0826tbe79hk9vn19gf7sz6xyqjy.htm\"}},{\"name\":\"NOTLOWER\",\"description\":\"Searches a character string for a character that is not a lowercase letter, and returns the first position at which that character is found.\",\"syntax\":{\"help\":\"NOTLOWER (*string*&lt;, *start*&gt;)\",\"arguments\":[{\"name\":\"string\",\"description\":\"is the character constant, variable, or expression to search.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p1mn01j8m61m8cn110evraz4y1ue\"},{\"name\":\"start\",\"description\":\"is an optional numeric constant, variable, or expression with an integer value that specifies the position at which the search should start and the direction in which to search.\",\"placeholder\":true,\"optional\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n0nm6lrq2vn9gqn1bspqpluji8t7\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n06vkfj1ozokxpn1ozkw8zm3y6a6.htm\"}},{\"name\":\"NOTNAME\",\"description\":\"Searches a character string for an invalid character in a SAS variable name under VALIDVARNAME=V7, and returns the first position at which that character is found.\",\"syntax\":{\"help\":\"NOTNAME (*string*&lt;, *start*&gt;)\",\"arguments\":[{\"name\":\"string\",\"description\":\"is the character constant, variable, or expression to search.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n0ulktc0p7muu2n1oqk93s0savta\"},{\"name\":\"start\",\"description\":\"is an optional numeric constant, variable, or expression with an integer value that specifies the position at which the search should start and the direction in which to search.\",\"placeholder\":true,\"optional\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p0yz2v9wbf7t4sn16e18js12at6g\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p18vkwrhty4xvxn1s9mmx9nozv35.htm\"}},{\"name\":\"NOTPRINT\",\"description\":\"Searches a character string for a nonprintable character, and returns the first position at which that character is found.\",\"syntax\":{\"help\":\"NOTPRINT (*string*&lt;, *start*&gt;)\",\"arguments\":[{\"name\":\"string\",\"description\":\"is the character constant, variable, or expression to search.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n081kvtwfaao42n1ru15x5mfmmux\"},{\"name\":\"start\",\"description\":\"is an optional numeric constant, variable, or expression with an integer value that specifies the position at which the search should start and the direction in which to search.\",\"placeholder\":true,\"optional\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n0q0j63a5g5oyon1gd3qnf1cug0v\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n15y8fg2brvp7in1d8ozx55y4q6z.htm\"}},{\"name\":\"NOTPUNCT\",\"description\":\"Searches a character string for a character that is not a punctuation character, and returns the first position at which that character is found.\",\"syntax\":{\"help\":\"NOTPUNCT (*string*&lt;, *start*&gt;)\",\"arguments\":[{\"name\":\"string\",\"description\":\"is the character constant, variable, or expression to search.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p15brbj71748t5n1n2e5sy7l12wc\"},{\"name\":\"start\",\"description\":\"is an optional numeric constant, variable, or expression with an integer value that specifies the position at which the search should start and the direction in which to search.\",\"placeholder\":true,\"optional\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p0ub1hzh8krrafn1qv4btr0jn6ql\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p1tck548yjidgln1cwe736i5dr1v.htm\"}},{\"name\":\"NOTSPACE\",\"description\":\"Searches a character string for a character that is not a whitespace character (blank, horizontal and vertical tab, carriage return, line feed, and form feed), and returns the first position at which that character is found.\",\"syntax\":{\"help\":\"NOTSPACE (*string*&lt;, *start*&gt;)\",\"arguments\":[{\"name\":\"string\",\"description\":\"is the character constant, variable, or expression to search.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n1wtembqxyjdvcn1wtn4alcpcsya\"},{\"name\":\"start\",\"description\":\"is an optional numeric constant, variable, or expression with an integer value that specifies the position at which the search should start and the direction in which to search.\",\"placeholder\":true,\"optional\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p1tx2u37bd172rn1hxny1kcm5uvx\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p1s1nds93k7atxn1ku3ebct0lcmf.htm\"}},{\"name\":\"NOTUPPER\",\"description\":\"Searches a character string for a character that is not an uppercase letter, and returns the first position at which that character is found.\",\"syntax\":{\"help\":\"NOTUPPER (*string*&lt;, *start*&gt;)\",\"arguments\":[{\"name\":\"string\",\"description\":\"is the character constant, variable, or expression to search.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p0owh3e16f3e82n1l7o50aidg818\"},{\"name\":\"start\",\"description\":\"is an optional numeric constant, variable, or expression with an integer value that specifies the position at which the search should start and the direction in which to search.\",\"placeholder\":true,\"optional\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p0he1tyi5izblun1k1t0rgt1xubz\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p1bbhx9teo08jqn1jzjob74ns490.htm\"}},{\"name\":\"NOTXDIGIT\",\"description\":\"Searches a character string for a character that is not a hexadecimal character, and returns the first position at which that character is found.\",\"syntax\":{\"help\":\"NOTXDIGIT (*string*&lt;, *start*&gt;)\",\"arguments\":[{\"name\":\"string\",\"description\":\"is the character constant, variable, or expression to search.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n1l0kssn7xfhe4n1cmssxwpjkkjx\"},{\"name\":\"start\",\"description\":\"is an optional numeric constant, variable, or expression with an integer value that specifies the position at which the search should start and the direction in which to search.\",\"placeholder\":true,\"optional\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n0dsau83pej8vvn1y222hyygyiod\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p1457v91k3wnyan1kcwasejcnt99.htm\"}},{\"name\":\"NPV\",\"description\":\"Returns the net present value with the rate expressed as a percentage.\",\"syntax\":{\"help\":\"NPV (*r*, *frequency*, *c0*, *c1*,  ..., *cn*)\",\"arguments\":[{\"name\":\"r\",\"description\":\"is numeric, the interest rate over a specified base period of time expressed as a percentage.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n19ixw1lwtiukbn1qzag9kef25qe\"},{\"name\":\"frequency\",\"description\":\"is numeric, the number of payments during the base period of time specified with the rate r.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n0mnuva788diuqn146chb7nmr3cr\"},{\"name\":\"c0,\",\"description\":\"are numeric cash flows that represent cash outlays (payments) or cash inflows (income) occurring at times 0, 1, ... n. These cash flows are assumed to be equally spaced, beginning-of-period values. Negative values represent payments, positive values represent income, and values of 0 represent no cash flow at a given time. The c0 argument and the c1 argument are required.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n1621hy15lgit3n1rjiaor9fqauj\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p0ftvwayv5kk9wn1orf971zazgah.htm\"}},{\"name\":\"NVALID\",\"description\":\"Checks the validity of a character string for use as a SAS variable name.\",\"syntax\":{\"help\":\"NVALID (*string*&lt;, *validvarname*&gt;)\",\"arguments\":[{\"name\":\"string\",\"description\":\"specifies a character constant, variable, or expression that is checked to determine whether its value can be used as a SAS variable name.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p1qedtsa22774en1t8naelzq5oa3\"},{\"name\":\"V7\",\"description\":\"determines that string is a valid SAS variable name when all three of the following are true:\\n•  <i>string</i> begins with an English letter or an underscore\\n• All subsequent characters are English letters, underscores, or digits\\n• The length is 32 or                                  fewer bytes\",\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"n07ejcz5i4ewcun1ce7sqyijk56x\"},{\"name\":\"ANY\",\"description\":\"determines that string is a valid SAS variable name if it contains 32 or fewer bytes of any type, including blanks.\",\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"p0htkjr4oeidtrn1nmlyxjxwgt7n\"},{\"name\":\"NLITERAL\",\"description\":\"determines that string is a valid SAS variable name if it is in the form of a SAS name literal ('name'N) or if it is a valid SAS variable name when VALIDVARNAME=V7.\",\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"p0nzkazexifqb8n16bd49m7zwxo0\"},{\"name\":\"UPCASE\",\"description\":\"determines that string is a valid SAS variable name that is in uppercase.\",\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"n1p7ahppiye1ywn14g5hb6va8bz8\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p19fp3i1f1hkomn12366grwnl8vt.htm\"}},{\"name\":\"NWKDOM\",\"description\":\"Returns the date for the nth occurrence of a weekday for the specified month and year.\",\"syntax\":{\"help\":\"NWKDOM (*n*, *weekday*, *month*, *year*)\",\"arguments\":[{\"name\":\"n\",\"description\":\"specifies the numeric week of the month that contains the specified day.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n1xa7ff2actcfvn1762hp9r6k7pa\"},{\"name\":\"weekday\",\"description\":\"specifies the number that corresponds to the day of the week.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p09smv3j1o9azzn1hhlwi1uzp02v\"},{\"name\":\"month\",\"description\":\"specifies the number that corresponds to the month of the year.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p1c5fmhlk7yecin1vajfvrprl6sg\"},{\"name\":\"year\",\"description\":\"specifies a four-digit calendar year.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p15divg2ml15zqn14nkmgeueafcq\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p1kdveu0ry8ltxn1m3um2ntxs7d5.htm\"}},{\"name\":\"OPEN\",\"description\":\"Opens a SAS data set.\",\"syntax\":{\"help\":\"OPEN (&lt;*data-set-name*&lt;, *mode* &lt;, *generation-number* &lt;, *type*&gt;&gt;&gt;&gt;)\",\"arguments\":[{\"name\":\"data-set-name\",\"description\":\"is a character constant, variable, or expression that specifies the name of the SAS data set or SAS SQL view to be opened.\",\"placeholder\":true,\"optional\":true,\"dataTypes\":[\"dataSet\"],\"supportSiteTargetFragment\":\"n00sul9fdxvj9rn1tlb9ppmxsl53\"},{\"name\":\"mode\",\"description\":\"is a character constant, variable, or expression that specifies the type of access to the data set.\",\"placeholder\":true,\"optional\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n0j3263doqn3ejn1k3su7f6gbs4g\"},{\"name\":\"generation-number\",\"description\":\"specifies a consistently increasing number that identifies one of the historical versions in a generation group.\",\"placeholder\":true,\"optional\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n06cq6yfahpk6jn12qmnsrm33ou1\"},{\"name\":\"D\",\"description\":\"specifies that the first argument, data-set-name, is a one-level or two-level data set name. The following example shows how the D type value can be used:\",\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"n1s6tbac8cjcu1n133j8993yfnkc\"},{\"name\":\"F\",\"description\":\"specifies that the first argument, data-set-name, is a filename, a physical path to a file. The following examples show how the F type value can be used:\",\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"n188jmmhyupz5fn1qjxqua4l21um\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n0q72zlfmfjplon1p3nprf85sdin.htm\"}},{\"name\":\"ORDINAL\",\"description\":\"Returns the kth smallest of the missing and nonmissing values.\",\"syntax\":{\"help\":\"ORDINAL (*k*, *argument-1*, *argument-2*&lt;,  ...*argument-n*&gt;)\",\"arguments\":[{\"name\":\"k\",\"description\":\"is a numeric constant, variable, or expression with an integer value that is less than or equal to the number of subsequent elements in the list of arguments.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p0uf60frjl4w45n12dft8j3wxpyf\"},{\"name\":\"argument\",\"description\":\"specifies a numeric constant, variable, or expression. At least two arguments are required. An argument can consist of a variable list, preceded by OF.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p19vg5v9axt701n1k3mlw28g6mh9\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n0buwtmbjxc2g6n117ijtefss031.htm\"}},{\"name\":\"PATHNAME\",\"description\":\"Returns the physical name of an external file or a SAS library, or returns a blank.\",\"syntax\":{\"help\":\"PATHNAME ((*fileref* | *libref*) &lt;, *search-ref*&gt;)\",\"arguments\":[{\"name\":\"fileref\",\"description\":\"is a character constant, variable, or expression that specifies the fileref that is assigned to an external file.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n0bqkqgy1smzkkn1ue03z1dahu9t\"},{\"name\":\"libref\",\"description\":\"is a character constant, variable, or expression that specifies the libref that is assigned to a SAS library.\",\"placeholder\":true,\"dataTypes\":[\"dataSet\"],\"supportSiteTargetFragment\":\"p0kw17vhu5ifykn100kcrxh3xn7a\"},{\"name\":\"search-ref\",\"description\":\"is a character constant, variable, or expression that specifies whether to search for a fileref or a libref.\",\"placeholder\":true,\"optional\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n19in8wez81xnzn1v9sh8g347be9\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p0sycvpqwxea06n1klcseze1mdak.htm\"}},{\"name\":\"PCTL\",\"description\":\"Returns the percentile that corresponds to the percentage.\",\"syntax\":{\"help\":\"PCTL &lt;*n*&gt; (*percentage*, *value–1*&lt;, *value–2*,  ..., *value-n*&gt;)\",\"arguments\":[{\"name\":\"percentage\",\"description\":\"is a numeric constant, variable, or expression that specifies the percentile to be computed.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n0nqfcqurphcgan1y2j4plhoey1l\"},{\"name\":\"value\",\"description\":\"is a numeric variable, constant, or expression.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p06rzgkulx34g6n13fbu1njm3srf\"},{\"name\":\"n\",\"description\":\"is a digit from 1 to 5 which specifies the definition of the percentile to be computed.\",\"placeholder\":true,\"optional\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p1rtubb0bolkrjn1mxxl6eiws8z0\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n1m9jbizvp3gwsn1lwf0snogk53i.htm\"}},{\"name\":\"PDF\",\"description\":\"Returns a value from a probability density (mass) distribution.\",\"syntax\":{\"help\":\"PDF (*distribution*, *quantile*&lt;, *parameter-1, ... , parameter-k*&gt;)\",\"arguments\":[{\"name\":\"distribution\",\"description\":\"is a character constant, variable, or expression that identifies the distribution. Valid distributions are as follows:\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n1b5e2pojhs9ibn191ejbs0ghfrw\"},{\"name\":\"quantile\",\"description\":\"is a numeric constant, variable, or expression that specifies the value of the random variable.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n1armrou580tsmn121jfg21tbcjc\"},{\"name\":\"parameter-1,\",\"description\":\"are optional numeric constants, variables, or expressions that specify the values of shape, location, or scale parameters that are appropriate for the specific distribution.\",\"placeholder\":true,\"optional\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p1wbjd3ub9s0a2n1nc6qbouiuuda\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n164yyfgppedmkn1320boncqkh6r.htm\"}},{\"name\":\"PEEKCLONG\",\"description\":\"Stores the contents of a memory address in a character variable on a 64-bit platform.\",\"syntax\":{\"help\":\"PEEKCLONG (*address*&lt;, *length*&gt;)\",\"arguments\":[{\"name\":\"address\",\"description\":\"specifies a character constant, variable, or expression that contains the binary pointer address.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p0zx831vek3jp1n1fk7ioyyncl22\"},{\"name\":\"length\",\"description\":\"is a numeric constant, variable, or expression that specifies the length of the character data.\",\"placeholder\":true,\"optional\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n10qti5i55wbjun1x7rw12mphbyd\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n0f3dmjwzwbsaqn1wfxvxgfxbe4q.htm\"}},{\"name\":\"PEEKLONG\",\"description\":\"Stores the contents of a memory address in a numeric variable on a 64-bit platform.\",\"syntax\":{\"help\":\"PEEKLONG (*address*&lt;, *length*&gt;)\",\"arguments\":[{\"name\":\"address\",\"description\":\"specifies a character constant, variable, or expression that contains the binary pointer address.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p189orizyb8asfn1ec9wp8k8gftp\"},{\"name\":\"length\",\"description\":\"is a numeric constant, variable, or expression that specifies the length of the character data.\",\"placeholder\":true,\"optional\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p1k5v6vkjdfdo5n1hggs1r2krteo\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p0tsllz3xjk0u7n1v8lh6a5t2bee.htm\"}},{\"name\":\"PERM\",\"description\":\"Computes the number of permutations of n items that are taken r at a time.\",\"syntax\":{\"help\":\"PERM (*n*&lt;, *r*&gt;)\",\"arguments\":[{\"name\":\"n\",\"description\":\"is an integer that represents the total number of elements from which the sample is chosen.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p0n8lvh3ngqrq6n1nlnp7nefzx4b\"},{\"name\":\"r\",\"description\":\"is an integer value that represents the number of chosen elements. If r is omitted, the function returns the factorial of n.\",\"placeholder\":true,\"optional\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n1inez391qitx3n1g73mpj2ufwa5\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n1gr2qwq96etj8n1idshewgjfn99.htm\"}},{\"name\":\"PMT\",\"description\":\"Returns the periodic payment for a constant payment loan or the periodic savings for a future balance.\",\"syntax\":{\"help\":\"PMT (*rate*, *number-of-periods*, *principal-amount*, &lt;*future-amount*&gt;, &lt;*type*&gt;)\",\"arguments\":[{\"name\":\"rate\",\"description\":\"specifies the interest rate per payment period.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n02imgnlzewxw3n1b5yj3rycqypj\"},{\"name\":\"number-of-periods\",\"description\":\"specifies the number of payment periods.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p1qaynl47hylaln1s0krg1k9p37v\"},{\"name\":\"principal-amount\",\"description\":\"specifies the principal amount of the loan. Zero is assumed if a missing value is specified.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n0flkigpyymhdun1ltxq34ffo5ud\"},{\"name\":\"future-amount\",\"description\":\"specifies the future amount. Future-amount can be the outstanding balance of a loan after the specified number of payment periods, or the future balance of periodic savings. Zero is assumed if future-amount is omitted or if a missing value is specified.\",\"placeholder\":true,\"optional\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p1v6jq95sy3dnqn17dsykulj57r0\"},{\"name\":\"type\",\"description\":\"specifies whether the payments occur at the beginning or end of a period. 0 represents the end-of-period payments, and 1 represents the beginning-of-period payments. 0 is assumed if type is omitted or if a missing value is specified.\",\"placeholder\":true,\"optional\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n095w2hd9tlz0yn1wrvkbwqcivsr\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n1kisp5nwkz1tpn1jarqzxto5qqb.htm\"}},{\"name\":\"POINT\",\"description\":\"Locates an observation that is identified by the NOTE function.\",\"syntax\":{\"help\":\"POINT (*data-set-id*, *note-id*)\",\"arguments\":[{\"name\":\"data-set-id\",\"description\":\"is a numeric variable that specifies the data set identifier that the OPEN function returns.\",\"placeholder\":true,\"dataTypes\":[\"dataSet\"],\"supportSiteTargetFragment\":\"n07e9dghoccaccn1ptxygtnk8urw\"},{\"name\":\"note-id\",\"description\":\"is a numeric variable that specifies the identifier assigned to the observation by the NOTE function.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n0d6ocwao09egwn1vlbrjhggpp9w\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n1aj8rhc06qkion1o0u6xfinrtee.htm\"}},{\"name\":\"POISSON\",\"description\":\"Returns the probability from a Poisson distribution.\",\"syntax\":{\"help\":\"POISSON (*m*, *n*)\",\"arguments\":[{\"name\":\"m\",\"description\":\"is a numeric mean parameter.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n0d2p57luk9nncn1qo8n3qcqh8ug\"},{\"name\":\"n\",\"description\":\"is an integer random variable.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p1x38gdu3aqndtn1lg8q177lt7k0\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n0q6e1duwinj44n1323xl2f0oa5p.htm\"}},{\"name\":\"PPMT\",\"description\":\"Returns the principal payment for a given period for a constant payment loan or the periodic savings for a future balance.\",\"syntax\":{\"help\":\"PPMT (*rate*, *period*, *number-of-periods*, *principal-amount*, &lt;*future-amount*&gt;, &lt;*type*&gt;)\",\"arguments\":[{\"name\":\"rate\",\"description\":\"specifies the interest rate per payment period.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n0jhq3iplcq8l8n1e6wgh3oe0dfk\"},{\"name\":\"period\",\"description\":\"specifies the payment period for which the principal payment is computed. Period must be a positive integer value that is less than or equal to the value of number-of-periods.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n1np20petu78l2n1olgzpzm0s07g\"},{\"name\":\"number-of-periods\",\"description\":\"specifies the number of payment periods. Number-of-periods must be a positive integer value.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p1hwksslzb0uejn1jbnt8sd1gpu0\"},{\"name\":\"principal-amount\",\"description\":\"specifies the principal amount of the loan. Zero is assumed if a missing value is specified.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p07qs97ad4icdkn172yz9zkao6jv\"},{\"name\":\"future-amount\",\"description\":\"specifies the future amount. Future-amount can be the outstanding balance of a loan after the specified number of payment periods, or the future balance of periodic savings. Zero is assumed if future-amount is omitted or if a missing value is specified.\",\"placeholder\":true,\"optional\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n12viu1b6jcm78n1i3p7hhlrbivh\"},{\"name\":\"type\",\"description\":\"specifies whether the payments occur at the beginning or end of a period. 0 represents the end-of-period payments, and 1 represents the beginning-of-period payments. 0 is assumed if type is omitted or if a missing value is specified.\",\"placeholder\":true,\"optional\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n1wj83p0ojtqean15i8xc1y7i1t6\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p1m2s8u7i0jfo6n1c0siw2vinb9t.htm\"}},{\"name\":\"PROBBETA\",\"description\":\"Returns the probability from a beta distribution.\",\"syntax\":{\"help\":\"PROBBETA (*x*, *a*, *b*)\",\"arguments\":[{\"name\":\"x\",\"description\":\"is a numeric constant, variable, or expression that specifies the value of a random variable.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n1hnv5i52na3c9n1bkycriql3v0f\"},{\"name\":\"a\",\"description\":\"is a numeric constant, variable, or expression that specifies the value of this shape parameter.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n0a9jxd8qpaoqun1s1tl4y9qs1gw\"},{\"name\":\"b\",\"description\":\"is a numeric constant, variable, or expression that specifies the value of this shape parameter.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n1opm478x6kgnin1l3dbftaocj32\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n02ysxhzit6d3bn1qn6dx6abxzx5.htm\"}},{\"name\":\"PROBBNML\",\"description\":\"Returns the probability from a binomial distribution.\",\"syntax\":{\"help\":\"PROBBNML (*p*, *n*, *m*)\",\"arguments\":[{\"name\":\"p\",\"description\":\"is a numeric constant, variable, or expression that specifies a probability of success.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p0e8mu6wi6wy3jn1ofa1onru7r0l\"},{\"name\":\"n\",\"description\":\"is a numeric constant, variable, or expression that specifies an integer number of independent Bernoulli trials.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n0m3vtakn84ghun1u3a95oclybmf\"},{\"name\":\"m\",\"description\":\"is a numeric constant, variable, or expression that specifies an integer number of successes.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p1jnutpirbyp7rn1og3bb06p1jtc\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n1qmjsa048yk7yn1mh06torwfeb4.htm\"}},{\"name\":\"PROBBNRM\",\"description\":\"Returns a probability from a bivariate normal distribution.\",\"syntax\":{\"help\":\"PROBBNRM (*x*, *y*, *r*)\",\"arguments\":[{\"name\":\"x\",\"description\":\"is a numeric constant, variable, or expression that specifies the value of random variable x.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n0twoxbplre0d1n1w598laluma8h\"},{\"name\":\"y\",\"description\":\"is a numeric constant, variable, or expression that specifies the value of random variable y.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p0br0rmapmhbkon1wzbds8fnz8g9\"},{\"name\":\"r\",\"description\":\"is a numeric constant, variable, or expression that specifies the value of the correlation coefficient.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p0lq6jupuwxi7en186y4y9ctzdmb\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n1oswn30wz0nq5n1feq5ybn635gf.htm\"}},{\"name\":\"PROBCHI\",\"description\":\"Returns the probability from a chi-square distribution.\",\"syntax\":{\"help\":\"PROBCHI (*x*, *df*&lt;, *nc*&gt;)\",\"arguments\":[{\"name\":\"x\",\"description\":\"is a numeric constant, variable, or expression that specifies the value of a random variable.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p06d1iltpd9vwan1xcab7nnnot3t\"},{\"name\":\"df\",\"description\":\"is a numeric constant, variable, or expression that specifies the degrees of freedom parameter.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n13cgpj5wplpn4n1uzdnjfsoyrbf\"},{\"name\":\"nc\",\"description\":\"is a numeric constant, variable, or expression that specifies an optional noncentrality parameter.\",\"placeholder\":true,\"optional\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p0imnkl01ie5etn0z2bs4suj2439\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p0uzsu4hhyxoc5n1x4amb667xmh8.htm\"}},{\"name\":\"PROBF\",\"description\":\"Returns the probability from an F distribution.\",\"syntax\":{\"help\":\"PROBF (*x*, *ndf*, *ddf*&lt;, *nc*&gt;)\",\"arguments\":[{\"name\":\"x\",\"description\":\"is a numeric constant, variable, or expression that specifies the value of a random variable.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n1fbrzvt1vcpb6n141up29ij3rqt\"},{\"name\":\"ndf\",\"description\":\"is a numeric numerator that specifies the numerator degrees of freedom parameter.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n0z9vzyrg8ldnxn1phtvkf7bwd4d\"},{\"name\":\"ddf\",\"description\":\"is a numeric denominator that specifies the denominator degrees of freedom parameter.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p0j0a4ck3w9t56n1qn8mjmypeiz1\"},{\"name\":\"nc\",\"description\":\"is a numeric constant, variable, or expression that specifies an optional noncentrality parameter.\",\"placeholder\":true,\"optional\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n1m4w43pw1iltxn1q3pko6wm1qxd\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p18x3ngybkomr1n1ak1clfknx6da.htm\"}},{\"name\":\"PROBGAM\",\"description\":\"Returns the probability from a gamma distribution.\",\"syntax\":{\"help\":\"PROBGAM (*x*, *a*)\",\"arguments\":[{\"name\":\"x\",\"description\":\"is a numeric constant, variable, or expression that specifies the value of a random variable.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n0chdvwszqmq77n1aplegoed1n5v\"},{\"name\":\"a\",\"description\":\"is a numeric constant, variable, or expression that specifies the shape parameter.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n0r7eip9ddllh0n1fnshn6xhfcej\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p1sl10uc7h5g9en1bbk1o2jjz92l.htm\"}},{\"name\":\"PROBHYPR\",\"description\":\"Returns the probability from a hypergeometric distribution.\",\"syntax\":{\"help\":\"PROBHYPR (*N*, *K*, *n*, *x*&lt;, *r*&gt;)\",\"arguments\":[{\"name\":\"N\",\"description\":\"is a numeric constant, variable, or expression that specifies an integer population size parameter.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n0po6t0pfjnatjn1r8u0i5ff57dh\"},{\"name\":\"K\",\"description\":\"is a numeric constant, variable, or expression that specifies an integer number of items in the category of interest.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p1pcntraullsbfn18znbtxencrb0\"},{\"name\":\"n\",\"description\":\"is a numeric constant, variable, or expression that specifies an integer sample size parameter.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n1i9qty7obzsf3n1qx8wfyp0s21m\"},{\"name\":\"x\",\"description\":\"is a numeric constant, variable, or expression that specifies an integer random variable.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p0yg8vbrik2g1qn15im4pi7of4hq\"},{\"name\":\"r\",\"description\":\"is a numeric constant, variable, or expression that specifies an optional numeric odds ratio parameter.\",\"placeholder\":true,\"optional\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n19tcicxr8bnr9n1hbupk9lg1xiq\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p09ohk2zsgkjain1igbkdsu6u4sz.htm\"}},{\"name\":\"PROBIT\",\"description\":\"Returns a quantile from the standard normal distribution.\",\"syntax\":{\"help\":\"PROBIT (*p*)\",\"arguments\":[{\"name\":\"p\",\"description\":\"is a numeric probability.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n03zpqk76uvqmln1smctth1bh9la\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n0gygnmlse8n5in1sp1u2n97lpej.htm\"}},{\"name\":\"PROBMC\",\"description\":\"Returns a probability or a quantile from various distributions for multiple comparisons of means.\",\"syntax\":{\"help\":\"PROBMC (*distribution*, *q*, *prob*, *df*, *nparms*&lt;, *parameters*&gt;)\",\"arguments\":[{\"name\":\"distribution\",\"description\":\"is a character constant, variable, or expression that identifies the distribution.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p0eh6rvxwjmi69n103ablbxkrq49\"},{\"name\":\"q\",\"description\":\"is a numeric constant, variable, or expression that specifies the quantile from the distribution.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n00pd4gpt1qn0un1jcac547j1xm7\"},{\"name\":\"prob\",\"description\":\"is a numeric constant, variable, or expression that specifies the left probability from the distribution.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n0pc9q7uiejbeun1de8d3u5eemxq\"},{\"name\":\"df\",\"description\":\"is a numeric constant, variable, or expression that specifies the degrees of freedom.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n11qcbu4nrimz5n1rpna2ewgbsqz\"},{\"name\":\"nparms\",\"description\":\"is a numeric constant, variable, or expression that specifies the number of treatments.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p1m4bsbjdg9slvn1nqotutvzhz99\"},{\"name\":\"parameters\",\"description\":\"is an optional set of nparms parameters that must be specified to handle unequal sample sizes. The meaning of parameters depends on the value of distribution. If parameters is not specified, equal sample sizes are assumed, which is usually the case for a null hypothesis.\",\"placeholder\":true,\"optional\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p1tc88jn0cj0cwn1d1gtrviv3hfb\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p06idazwtugz0an1rlks4swmutms.htm\"}},{\"name\":\"PROBMED\",\"description\":\"Computes cumulative probabilities for the sample median.\",\"syntax\":{\"help\":\"PROBMED (*n*, *x*)\",\"arguments\":[{\"name\":\"n\",\"description\":\"specifies the sample size.\",\"placeholder\":true,\"optional\":true,\"dataTypes\":[\"Double\"],\"supportSiteTargetFragment\":\"n0vu7worknqcc6n10ibr3q7fcf88\"},{\"name\":\"x\",\"description\":\"specifies the point of interest. That is, the PROBMED function calculates the probability that the median is less than or equal to x.\",\"placeholder\":true,\"optional\":true,\"dataTypes\":[\"DOUBLE\"],\"supportSiteTargetFragment\":\"n1xjpl3es0xw78n0zmlsoytl3do7\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p0hkyyyoukhibzn1o5l8zon0ndec.htm\"}},{\"name\":\"PROBNEGB\",\"description\":\"Returns the probability from a negative binomial distribution.\",\"syntax\":{\"help\":\"PROBNEGB (*p*, *n*, *m*)\",\"arguments\":[{\"name\":\"p\",\"description\":\"is a numeric constant, variable, or expression that specifies the probability of success.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n04yhf6g5i81idn1eo5rnf6ucnge\"},{\"name\":\"n\",\"description\":\"is a numeric constant, variable, or expression that specifies an integer number of successes.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n1qugp8bj2x6qrn1sjczbcdi08jn\"},{\"name\":\"m\",\"description\":\"is a numeric constant, variable, or expression that specifies an integer number of failures.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p01ikbuqv0k3fsn170o09tbqxxix\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n0yrtr9uvi20bxn1e1m0rrp9buxe.htm\"}},{\"name\":\"PROBNORM\",\"description\":\"Returns the probability from the standard normal distribution.\",\"syntax\":{\"help\":\"PROBNORM (*x*)\",\"arguments\":[{\"name\":\"x\",\"description\":\"is a numeric constant, variable, or expression that specifies a random variable.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p04vqvbe7wjrmpn1v6kxew0mp5cf\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p0am6dtkvnrb09n132vioa1z6oen.htm\"}},{\"name\":\"PROBT\",\"description\":\"Returns the probability from a t distribution.\",\"syntax\":{\"help\":\"PROBT (*x*, *df*&lt;, *nc*&gt;)\",\"arguments\":[{\"name\":\"x\",\"description\":\"is a numeric constant, variable, or expression that specifies a random variable.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p0zvcjjli44ewmn0zarvebbm0e1g\"},{\"name\":\"df\",\"description\":\"is a numeric constant, variable, or expression that specifies the degrees of freedom.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p03yr62b7mawjcn1bo0thh8l3aw4\"},{\"name\":\"nc\",\"description\":\"is a numeric constant, variable, or expression that specifies an optional noncentrality parameter.\",\"placeholder\":true,\"optional\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p153p5fobm30ysn1r93emnod86eu\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n0xy5mce5jgfh3n1wvy919jgm1iv.htm\"}},{\"name\":\"PROPCASE\",\"description\":\"Converts all words in an argument to proper case.\",\"syntax\":{\"help\":\"PROPCASE (*argument*&lt;, *delimiters*&gt;)\",\"arguments\":[{\"name\":\"argument\",\"description\":\"specifies a character constant, variable, or expression.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n1dxojt45be5atn15ufmp9e7ngdb\"},{\"name\":\"delimiter\",\"description\":\"specifies one or more delimiters that are enclosed in quotation marks. The default delimiters are blank, forward slash, hyphen, open parenthesis, period, and tab.\",\"placeholder\":true,\"optional\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p1bx3hs6ogg43ln1if0w0tq2ucbe\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n169kj2of5nur0n1bl1hubv55q63.htm\"}},{\"name\":\"PRT\",\"description\":\"Specifies the two-tailed p-value for Student's t statistic, T with n - 1 degrees of freedom.\",\"syntax\":{\"help\":\"PRT  (&lt;ALL | DISTINCT&gt;*sql-expression*)\",\"arguments\":[{\"name\":\"sql-expression\",\"description\":\"specifies any valid SQL expression. See .\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p0bsndr60wdz1wn1anat67o9trfj\"},{\"name\":\"ALL\",\"description\":\"(default) specifies that all missing values returned by sql-expression be counted.\",\"optional\":true,\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"n0ue5awdw5zkcrn1hk8rfw3xntwg\"},{\"name\":\"DISTINCT\",\"description\":\"eliminates duplicate rows returned by sql-expression from the count.\",\"optional\":true,\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"n1crz4gyicubhbn1mr30u0df6anl\"}]},\"supportSiteInformation\":{\"docsetId\":\"sqlproc\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n1lf31vwbkbsdcn1sp1wobml1hzk.htm\"}},{\"name\":\"PRXCHANGE\",\"description\":\"Performs a pattern-matching replacement.\",\"syntax\":{\"help\":\"PRXCHANGE (*perl-regular-expression* | *regular-expression-id*, *times*, *source*)\",\"arguments\":[{\"name\":\"perl-regular-expression\",\"description\":\"specifies a character constant, variable, or expression with a value that is a Perl regular expression.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n13cu0uqbdk7qxn1x8d7cnf5kv2k\"},{\"name\":\"regular-expression-id\",\"description\":\"specifies a numeric variable with a value that is a pattern identifier that is returned from the PRXPARSE function.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p09dx2qs6yt98zn1koqme342izix\"},{\"name\":\"times\",\"description\":\"is a numeric constant, variable, or expression that specifies the number of times to search for a match and replace a matching pattern.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n1gqsymypkzuhcn19bwsqcsv5q6z\"},{\"name\":\"source\",\"description\":\"specifies a character constant, variable, or expression that you want to search.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n16tufg0350vuyn1jgj1bfbpmgl9\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n0r8h2fa8djqf1n1cnenrvm573br.htm\"}},{\"name\":\"PRXMATCH\",\"description\":\"Searches for a pattern match and returns the position at which the pattern is found.\",\"syntax\":{\"help\":\"PRXMATCH (*regular-expression-id* | *perl-regular-expression*, *source*)\",\"arguments\":[{\"name\":\"regular-expression-id\",\"description\":\"specifies a numeric variable with a value that is a pattern identifier that is returned from the PRXPARSE function.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p0zfpo1x4o4n0ln19yyfx1v7gspv\"},{\"name\":\"perl-regular-expression\",\"description\":\"specifies a character constant, variable, or expression with a value that is a Perl regular expression.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n1r5oq03e1qm74n148e3g3o6qjpe\"},{\"name\":\"source\",\"description\":\"specifies a character constant, variable, or expression that you want to search.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p1fne62dqzmusxn1mrvueaut2xxu\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n0bj9p4401w3n9n1gmv6tfshit9m.htm\"}},{\"name\":\"PRXPAREN\",\"description\":\"Returns the last bracket match for which there is a match in a pattern.\",\"syntax\":{\"help\":\"PRXPAREN (*regular-expression-id*)\",\"arguments\":[{\"name\":\"regular-expression-id\",\"description\":\"specifies a numeric variable with a value that is an identification number that is returned by the PRXPARSE function.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n0eb8f7ll9suw2n1jr1tx54jyqtt\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p1kh2qqybgx44gn12who44jdxifs.htm\"}},{\"name\":\"PRXPARSE\",\"description\":\"Compiles a Perl regular expression (PRX) that can be used for pattern matching of a character value.\",\"syntax\":{\"help\":\"PRXPARSE (*perl-regular-expression*)\",\"arguments\":[{\"name\":\"perl-regular-expression\",\"description\":\"specifies a character value that is a Perl regular expression.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n1blwz99xt7snon1gtwlak6ab920\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p06i7305izsnvcn1ru9147suzyv5.htm\"}},{\"name\":\"PRXPOSN\",\"description\":\"Returns a character string that contains the value for a capture buffer.\",\"syntax\":{\"help\":\"PRXPOSN (*regular-expression-id*, *capture-buffer*, *source*)\",\"arguments\":[{\"name\":\"regular-expression-id\",\"description\":\"specifies a numeric variable with a value that is a pattern identifier that is returned by the PRXPARSE function.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p0u8hh5emxobytn1aty5tgjr2k4q\"},{\"name\":\"capture-buffer\",\"description\":\"is a numeric constant, variable, or expression that identifies the capture buffer for which to retrieve a value:\\n• If the value of <i>capture-buffer</i> is zero, PRXPOSN returns the entire match.\\n• If the value of <i>capture-buffer</i> is between 1 and the number of open parentheses in the regular expression, then PRXPOSN returns the value for that capture buffer.\\n• If the value of <i>capture-buffer</i> is greater than the number of open parentheses, then PRXPOSN returns a missing value. \",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p0j6ojmlk5ztmln12amynw410hjf\"},{\"name\":\"source\",\"description\":\"specifies the text from which to extract capture buffers.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p1fnpgtuie9jx7n13uahe7r5s8oc\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n1lru1b4uoogqvn1ig446q4c6muu.htm\"}},{\"name\":\"PTRLONGADD\",\"description\":\"Returns the pointer address as a character variable on a 64-bit platform.\",\"syntax\":{\"help\":\"PTRLONGADD (*pointer*&lt;, *amount*&gt;)\",\"arguments\":[{\"name\":\"pointer\",\"description\":\"is a character constant, variable, or expression that specifies the pointer address.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n0edfimyk2uxdyn1r3i596wipsvm\"},{\"name\":\"amount\",\"description\":\"is a numeric constant, variable, or expression that specifies the amount to add to the address.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n0l0kpchh44jsin1fm551n4cih9a\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n1gj5qwxqi2bm3n14gyq1h50yoy6.htm\"}},{\"name\":\"PUT\",\"description\":\"Returns a value using a specified format.\",\"syntax\":{\"help\":\"\\n\\tPUT (source, format.)\\n\",\"arguments\":[{\"name\":\"source\",\"description\":\"identifies the constant, variable, or expression whose value you want to reformat. The source argument can be character or numeric.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p04xmxs2j5ayzpn1ilorfb2gvxhl\"},{\"name\":\"format.\",\"description\":\"contains the SAS format that you want applied to the value that is specified in the source. This argument must be the name of a format with a period and optional width and decimal specifications, not a character constant, variable, or expression.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p0wfflof7qhl7in1cv1pagjhakip\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n0mlfb88dkhbmun1x08qbh5xbs7e.htm\"}},{\"name\":\"PUTC\",\"description\":\"Enables you to specify a character format at run time.\",\"syntax\":{\"help\":\"PUTC (*value*, *format-specification*&lt;, *w*&gt;)\",\"arguments\":[{\"name\":\"value\",\"description\":\"specifies a character value to be formatted.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n07vvt7wm6qur7n1gbnilqtd0b88\"},{\"name\":\"format-specification\",\"description\":\"is a character format that you want to apply to value.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n1an4wkjd6pudxn1cbfsw6g0dz4b\"},{\"name\":\"w\",\"description\":\"is a numeric constant, variable, or expression that specifies a width to apply to the format.\",\"placeholder\":true,\"optional\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n0vw23g2cnemqfn1h8govnupg9tx\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n1en5ed71v1ai3n1pxwx2rskgz7g.htm\"}},{\"name\":\"PUTN\",\"description\":\"Enables you to specify a numeric format at run time.\",\"syntax\":{\"help\":\"PUTN (*value*, *format-specification*&lt;, *w* &lt;, *d*&gt;&gt;)\",\"arguments\":[{\"name\":\"value\",\"description\":\"specifies a numeric value to be formatted.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n1jxe73lr956dmn1nwfodj1zm1oy\"},{\"name\":\"format-specification\",\"description\":\"is the numeric format that you want to apply to value.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n1ajgicbihjewsn1phf0yq71jpqs\"},{\"name\":\"w\",\"description\":\"is a numeric constant, variable, or expression that specifies a width to apply to the format.\",\"placeholder\":true,\"optional\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n0jy1852z0nq5vn1j00s39tdgqab\"},{\"name\":\"d\",\"description\":\"is a numeric constant, variable, or expression that specifies the number of decimal places to use.\",\"placeholder\":true,\"optional\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p1vjdgk4tok535n1q1c2733tyk98\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p12zqzvwx4dv6kn1p9crijxswolk.htm\"}},{\"name\":\"PVP\",\"description\":\"Returns the present value for a periodic cash flow stream (such as a bond), with repayment of principal at maturity.\",\"syntax\":{\"help\":\"PVP (*A*, *c*, *n*, *K*, *k<sub>0</sub>*, *y*)\",\"arguments\":[{\"name\":\"A\",\"description\":\"specifies the par value.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n1niz1uaciq5dxn1qrkrus0wt8gf\"},{\"name\":\"c\",\"description\":\"specifies the nominal per-year coupon rate, expressed as a fraction.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n0pc2rtkkeucegn1bf1u6iloz41u\"},{\"name\":\"n\",\"description\":\"specifies the number of coupons per year.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n0ejfigol2g6gmn1egup6xjuf3hu\"},{\"name\":\"K\",\"description\":\"specifies the number of remaining coupons.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n18xvzg9szh6t8n14nns5wq64ygb\"},{\"name\":\"k0\",\"description\":\"specifies the time from the present date to the first coupon date, expressed in terms of the number of years.\",\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n0jdnadgyc78xwn1qpncia9r3fef\"},{\"name\":\"y\",\"description\":\"specifies the nominal per-year yield-to-maturity, expressed as a fraction.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p14e9j0s0aeecvn1wgjuxk7aqiqc\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n0l2ok02k6wbfbn1123la3pf3q59.htm\"}},{\"name\":\"QTR\",\"description\":\"Returns the quarter of the year from a SAS date value.\",\"syntax\":{\"help\":\"QTR (*date*)\",\"arguments\":[{\"name\":\"date\",\"description\":\"specifies a numeric constant, variable, or expression that represents a SAS date value.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p1homlov8casxzn1j36n2p6cv6m4\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n16ms5xazz0m0on1wd3f9p46s6xa.htm\"}},{\"name\":\"QUANTILE\",\"description\":\"Returns the quantile from a distribution when you specify the left probability (CDF).\",\"syntax\":{\"help\":\"QUANTILE (*distribution*, *probability*, *parameter-1, …, parameter-k*)\",\"arguments\":[{\"name\":\"distribution\",\"description\":\"is a character constant, variable, or expression that identifies the distribution.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n1wyqyybm6x8akn1bw5rojww6c0w\"},{\"name\":\"probability\",\"description\":\"is a numeric constant, variable, or expression that specifies the value of a random variable.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n0inwjyeft0ojzn1bq96bcd05q11\"},{\"name\":\"parameter-1,\",\"description\":\"are optional shape, location, or scale parameters appropriate for the specific distribution.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n0ds567630ov0sn128a0p863q0vm\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n0uhywbqfucg6qn18woziy41flqp.htm\"}},{\"name\":\"QUOTE\",\"description\":\"Adds double quotation marks to a character value.\",\"syntax\":{\"help\":\"QUOTE (*argument-1*, *argument-2*)\",\"arguments\":[{\"name\":\"argument-1\",\"description\":\"specifies a character constant, variable, or expression.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n0hh09kor9zhtln1pltsckm75ymb\"},{\"name\":\"argument-2\",\"description\":\"specifies a quoting character, which is a single or double quotation mark. Other characters are ignored and the double quotation mark is used. The double quotation mark is the default.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n0d5oni3p8gupmn16mnc5r2hfgvp\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p059exu866hqw2n0zw9aoxf3p6oj.htm\"}},{\"name\":\"RANBIN\",\"description\":\"Returns a random variate from a binomial distribution.\",\"syntax\":{\"help\":\"RANBIN (*seed*, *n*, *p*)\",\"arguments\":[{\"name\":\"seed\",\"description\":\"is a numeric constant, variable, or expression with an integer value. If seed ≤ 0, the time of day is used to initialize the seed stream.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p06efyimf4shkln16xjp6kfduax3\"},{\"name\":\"n\",\"description\":\"is a numeric constant, variable, or expression with an integer value that specifies the number of independent Bernoulli trials parameter.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n0sk595f3awrurn1jbgmkwp6jizt\"},{\"name\":\"p\",\"description\":\"is a numeric constant, variable, or expression that specifies the probability of success.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n1vyo183zo9uv6n1uzpdi2na8swl\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n171sw5z3652h3n1ufcldur0inb4.htm\"}},{\"name\":\"RANCAU\",\"description\":\"Returns a random variate from a Cauchy distribution.\",\"syntax\":{\"help\":\"RANCAU (*seed*)\",\"arguments\":[{\"name\":\"seed\",\"description\":\"is a numeric constant, variable, or expression with an integer value. If seed ≤ 0, the time of day is used to initialize the seed stream.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p13p2s0t5vnkrgn12efn8xka8tns\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n1kutdm509h870n16phzq12ymcty.htm\"}},{\"name\":\"RAND\",\"description\":\"Generates random numbers from a distribution that you specify.\",\"syntax\":{\"help\":\"RAND (*distribution*, *parameter-1*, …, *parameter-k*)\",\"arguments\":[{\"name\":\"distribution\",\"description\":\"is a character constant, variable, or expression that identifies the distribution.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p0mkbx6s9ykv3mn1xcj9ks9gmucm\"},{\"name\":\"parameter-1,\",\"description\":\"are optional numeric constants, variables, or expressions that specify the values of shape, location, or scale parameters appropriate for the specific distribution.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p1frwem39s4hjnn1nayo6qmv6odj\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p0fpeei0opypg8n1b06qe4r040lv.htm\"}},{\"name\":\"RANDPERM\",\"description\":\"Randomly permutes the values of the arguments.\",\"syntax\":{\"help\":\"RANDPERM (*variable-1*,                 &lt;*variable-2..., variable-n*)&gt;\",\"arguments\":[{\"name\":\"variable\",\"description\":\"specifies all numeric variables or all character variables that have the same length. The values of these variables are randomly permuted.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p19rop21bg6ftfn1b4ybjnwdx4lc\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p06o53uu5qlixkn1bnzzxf28737c.htm\"}},{\"name\":\"RANEXP\",\"description\":\"Returns a random variate from an exponential distribution.\",\"syntax\":{\"help\":\"RANEXP (*seed*)\",\"arguments\":[{\"name\":\"seed\",\"description\":\"is a numeric constant, variable, or expression with an integer value. If seed ≤ 0, the time of day is used to initialize the seed stream.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p0ke2rub90vcifn1dzm5g4796mvb\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p1c00yq5o0l7amn1d1bs5m6dka4z.htm\"}},{\"name\":\"RANGAM\",\"description\":\"Returns a random variate from a gamma distribution.\",\"syntax\":{\"help\":\"RANGAM (*seed*, *a*)\",\"arguments\":[{\"name\":\"seed\",\"description\":\"is a numeric constant, variable, or expression with an integer value. If seed ≤ 0, the time of day is used to initialize the seed stream.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p1k0z9fs77qkgen1dcb20pe92nxd\"},{\"name\":\"a\",\"description\":\"is a numeric constant, variable, or expression that specifies the shape parameter.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p0pan8ogxd2sqsn11p6t23i2tj5a\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p15jfg8krvr0mjn141ntvp4vw1m3.htm\"}},{\"name\":\"RANGE\",\"description\":\"Returns the range of the nonmissing values.\",\"syntax\":{\"help\":\"RANGE  (&lt;ALL | DISTINCT&gt;*sql-expression*)\",\"arguments\":[{\"name\":\"sql-expression\",\"description\":\"specifies any valid SQL expression. See .\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n0ttx0uzncdt1wn1700uqbt4hw5e\"},{\"name\":\"ALL\",\"description\":\"(default) specifies that all missing values returned by sql-expression be counted.\",\"optional\":true,\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"n1qk7trv2avlren1xazpqs687nfs\"},{\"name\":\"DISTINCT\",\"description\":\"eliminates duplicate rows returned by sql-expression from the count.\",\"optional\":true,\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"n0w3a7yfcrgdo4n14wb8pi5jyb3y\"}]},\"supportSiteInformation\":{\"docsetId\":\"sqlproc\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p0st6pgn7i1dzxn1sx2dwp0j12ie.htm\"}},{\"name\":\"RANK\",\"description\":\"Returns the position of a character in the ASCII collating sequence.\",\"syntax\":{\"help\":\"RANK (*x*)\",\"arguments\":[{\"name\":\"x\",\"description\":\"specifies a character constant, variable, or expression that contains a character in the ASCII collating sequence. If the length of x is greater than 1, you receive the rank of the first character in the string.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p06f3xlmz10umnn1jtqa0bkoh681\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p0m5k2s76pmv9pn1n1lu3vfyq8s4.htm\"}},{\"name\":\"RANNOR\",\"description\":\"Returns a random variate from a normal distribution.\",\"syntax\":{\"help\":\"RANNOR (*seed*)\",\"arguments\":[{\"name\":\"seed\",\"description\":\"is a numeric constant, variable, or expression with an integer value. If seed ≤ 0, the time of day is used to initialize the seed stream.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n1ku9j1kn6c8yzn1193rh12xuioe\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n1xmynm0h9t1k0n1085g9z6uy7yr.htm\"}},{\"name\":\"RANPOI\",\"description\":\"Returns a random variate from a Poisson distribution.\",\"syntax\":{\"help\":\"RANPOI (*seed*, *m*)\",\"arguments\":[{\"name\":\"seed\",\"description\":\"is a numeric constant, variable, or expression with an integer value. If seed ≤ 0, the time of day is used to initialize the seed stream.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p1kp0k4kgfmxxon1kkrtkt8qj5v7\"},{\"name\":\"m\",\"description\":\"is a numeric constant, variable, or expression that specifies the mean of the distribution.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p065ra4eatxcovn1ern63sgf6n49\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n17pvzfuds06k9n1mjy5aj05itqs.htm\"}},{\"name\":\"RANTBL\",\"description\":\"Returns a random variate from a tabled probability distribution.\",\"syntax\":{\"help\":\"RANTBL (*seed*, *p1* ...*p<sub>i</sub>* ..., *p<sub>n</sub>*)\",\"arguments\":[{\"name\":\"seed\",\"description\":\"is a numeric constant, variable, or expression with an integer value. If seed ≤ 0, the time of day is used to initialize the seed stream.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n12r9hrmflayjjn1f05ks9z53w25\"},{\"name\":\"pi\",\"description\":\"is a numeric constant, variable, or expression.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p1667odq8m0le2n1dbrwvi96c3lr\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n1kxey71grroain1k5e0j8n69vj3.htm\"}},{\"name\":\"RANTRI\",\"description\":\"Returns a random variate from a triangular distribution.\",\"syntax\":{\"help\":\"RANTRI (*seed*, *h*)\",\"arguments\":[{\"name\":\"seed\",\"description\":\"is a numeric constant, variable, or expression with an integer value. If seed ≤ 0, the time of day is used to initialize the seed stream.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n0rpos14jat52in1p1btmf6z3cj1\"},{\"name\":\"h\",\"description\":\"is a numeric constant, variable, or expression that specifies the mode of the distribution.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p0e85k9qyg2743n1u6q7qn1jdcsr\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n182nul14ri3ajn1llhy7elce3j3.htm\"}},{\"name\":\"RANUNI\",\"description\":\"Returns a random variate from a uniform distribution.\",\"syntax\":{\"help\":\"RANUNI (*seed*)\",\"arguments\":[{\"name\":\"seed\",\"description\":\"is a numeric constant, variable, or expression with an integer value. If seed ≤ 0, the time of day is used to initialize the seed stream.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p0t8oarf7a3y2cn15fakwbnvcbul\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p1fkiqt9ygapyxn1pd1w8manlpub.htm\"}},{\"name\":\"READ_ARRAY\",\"description\":\"Reads data from a SAS data set into a PROC FCMP array variable.\",\"syntax\":{\"help\":\"*rc* = READ_ARRAY (*data_set_name*, *array_variable*&lt;, '*column_name_1*', '*column_name_2*' , ... &gt;);\",\"arguments\":[{\"name\":\"rc\",\"description\":\"is 0 if the function is able to successfully read the data set.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n0fbcz4pliac5hn1ef0p086p0p5i\"},{\"name\":\"data_set_name\",\"description\":\"specifies the name of the data set from which the array data is read. Data_set_name must be a character literal or variable that contains the member name (libname.memname) of the data set to be read from.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n0zgzladz3e7jkn10n8m95of2a0g\"},{\"name\":\"array_variable\",\"description\":\"specifies the PROC FCMP array variable into which the data is read. Array_variable must be a local temporary array variable because the function might need to grow or shrink its size to accommodate the size of the data set.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p119sf392zaqudn1oxd75k3k1q9i\"},{\"name\":\"column_name\",\"description\":\"specifies optional names for the specific columns of the data set that are read.\",\"placeholder\":true,\"optional\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p19wfxa9hnkv53n17df9nqiu972l\"}]},\"supportSiteInformation\":{\"docsetId\":\"proc\",\"docsetVersion\":\"v_002\",\"docsetTargetFile\":\"p1o8ilc8973o4nn1c03usde8ifug.htm\"}},{\"name\":\"RENAME\",\"description\":\"Renames a member of a SAS library, an entry in a SAS catalog, an external file, or a directory.\",\"syntax\":{\"help\":\"RENAME (*old-name*, *new-name*&lt;, *type* &lt;, *description* &lt;, *password* &lt;, *generation*&gt;&gt;&gt;&gt;)\",\"arguments\":[{\"name\":\"old-name\",\"description\":\"specifies a character constant, variable, or expression that is the current name of a member of a SAS library, an entry in a SAS catalog, an external file, or an external directory.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p0plio6artq5qzn1cqz3432npj5f\"},{\"name\":\"new-name\",\"description\":\"specifies a character constant, variable, or expression that is the new one-level name for the library member, catalog entry, external file, or directory.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p0dzxunpm9wn5sn1c08v5wwro35e\"},{\"name\":\"type\",\"description\":\"is a character constant, variable, or expression that specifies the type of element to rename. Type can be a null argument, or another value.\",\"placeholder\":true,\"optional\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p12gshfohdxofxn1cnnf4pghtkzr\"},{\"name\":\"description\",\"description\":\"specifies a character constant, variable, or expression that is the description of a catalog entry. You can specify description only when the value of type is CATALOG. Description can be a null argument.\",\"placeholder\":true,\"optional\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p0awkkewkswugbn1qcu0a523skpe\"},{\"name\":\"password\",\"description\":\"is a character constant, variable, or expression that specifies the password for the data set that is being renamed. Password can be a null argument.\",\"placeholder\":true,\"optional\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p0vapq1vqoacvgn1wjnq8apn7eec\"},{\"name\":\"generation\",\"description\":\"is a numeric constant, variable, or expression that specifies the generation number of the data set that is being renamed. Generation can be a null argument.\",\"placeholder\":true,\"optional\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n1p2sqekoehxfrn13bdxz1ilcidk\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p14axci3mo3egan1okbcydvbt433.htm\"}},{\"name\":\"REPEAT\",\"description\":\"Returns a character value that consists of the first argument repeated n+1 times.\",\"syntax\":{\"help\":\"REPEAT (*argument*, *n*)\",\"arguments\":[{\"name\":\"argument\",\"description\":\"specifies a character constant, variable, or expression.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p1djlfllec7c3an146xq3nckig0y\"},{\"name\":\"n\",\"description\":\"specifies the number of times to repeat argument.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n16krkkpmdgoiqn1mo0tsnl8dfsd\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p0p9jw1m2698fvn1ljrnc8b6gij6.htm\"}},{\"name\":\"RESOLVE\",\"description\":\"Returns the resolved value of the argument after the argument has been processed by the macro facility.\",\"syntax\":{\"help\":\"RESOLVE (*argument*)\",\"arguments\":[{\"name\":\"argument\",\"description\":\"is a character constant, variable, or expression with a value that is a macro expression.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n1m0fhsna2x6f2n14v77caxk7ct2\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p1hffi0qkqzu78n1quvvl1szy9k6.htm\"}},{\"name\":\"REVERSE\",\"description\":\"Reverses a character string.\",\"syntax\":{\"help\":\"REVERSE (*argument*)\",\"arguments\":[{\"name\":\"argument\",\"description\":\"specifies a character constant, variable, or expression.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n0txd9dee0ucj9n1rudmfpsdl6cd\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n0r87nwd0lt2rzn1h348larywe0r.htm\"}},{\"name\":\"REWIND\",\"description\":\"Positions the data set pointer at the beginning of a SAS data set.\",\"syntax\":{\"help\":\"REWIND (*data-set-id*)\",\"arguments\":[{\"name\":\"data-set-id\",\"description\":\"is a numeric variable that specifies the data set identifier that the OPEN function returns.\",\"placeholder\":true,\"dataTypes\":[\"dataSet\"],\"supportSiteTargetFragment\":\"n1x2tfbkp77fian1wxoshr9yyelo\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p0tbrcck96bwpfn1cosuaog1t38i.htm\"}},{\"name\":\"RIGHT\",\"description\":\"Right aligns a character expression.\",\"syntax\":{\"help\":\"RIGHT (*argument*)\",\"arguments\":[{\"name\":\"argument\",\"description\":\"specifies a character constant, variable, or expression.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p1ssojw38cn1men10mfsc9mb5yjb\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n0qscq9436n6xon1sthoejn7jpml.htm\"}},{\"name\":\"RMS\",\"description\":\"Returns the root mean square of the nonmissing arguments.\",\"syntax\":{\"help\":\" RMS (*argument*&lt;, *argument*,  ..., *argument-n*&gt;)\",\"arguments\":[{\"name\":\"argument\",\"description\":\"is a numeric constant, variable, or expression.\",\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"n0ftgymamet3v3n1aoon3jy6erto\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p13yr8rjufotfon1ssoaj69rm29r.htm\"}},{\"name\":\"ROUND\",\"description\":\"Rounds the first argument to the nearest multiple of the second argument, or to the nearest integer when the second argument is omitted.\",\"syntax\":{\"help\":\"ROUND (*argument*&lt;, *rounding-unit*&gt;)\",\"arguments\":[{\"name\":\"argument\",\"description\":\"is a numeric constant, variable, or expression to be rounded.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n0w87fmuavrcfun1axt0ndz1zqzp\"},{\"name\":\"rounding-unit\",\"description\":\"is a positive, numeric constant, variable, or expression that specifies the rounding unit.\",\"placeholder\":true,\"optional\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p0w8n7ebm8tf08n1go9n318wv1o8\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p0tj6cmga7p8qln1ejh6ebevm0c9.htm\"}},{\"name\":\"ROUNDE\",\"description\":\"Rounds the first argument to the nearest multiple of the second argument, and returns an even multiple when the first argument is halfway between the two nearest multiples.\",\"syntax\":{\"help\":\"ROUNDE (*argument*&lt;, *rounding-unit*&gt;)\",\"arguments\":[{\"name\":\"argument\",\"description\":\"is a numeric constant, variable, or expression to be rounded.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p02kecmfgir28sn18lbadxyoqyj8\"},{\"name\":\"rounding-unit\",\"description\":\"is a positive, numeric constant, variable, or expression that specifies the rounding unit.\",\"placeholder\":true,\"optional\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n11vg38jjkp0pon1grc38jx7jone\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n02h2rvq30k869n164ccmcwvhqyk.htm\"}},{\"name\":\"ROUNDZ\",\"description\":\"Rounds the first argument to the nearest multiple of the second argument, using zero fuzzing.\",\"syntax\":{\"help\":\"ROUNDZ (*argument*&lt;, *rounding-unit*&gt;)\",\"arguments\":[{\"name\":\"argument\",\"description\":\"is a numeric constant, variable, or expression to be rounded.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p010wewxx2gle6n1gg7olkzj5dtm\"},{\"name\":\"rounding-unit\",\"description\":\"is a positive, numeric constant, variable, or expression that specifies the rounding unit.\",\"placeholder\":true,\"optional\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p0olwwt04t4kwgn1s5bw1etrg77o\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p1u0w0omad7fyxn1unu83odr6vy2.htm\"}},{\"name\":\"RUN_MACRO\",\"description\":\"Executes a predefined SAS macro.\",\"syntax\":{\"help\":\"*rc* = RUN_MACRO  (*'macro_name'*&lt;, *variable_1*, *variable_2, ...*&gt;);\",\"arguments\":[{\"name\":\"rc\",\"description\":\"is 0 if the function is able to submit the macro. The return code indicates only that the macro call was attempted. The macro itself should set the value of a SAS macro variable that corresponds to a PROC FCMP variable to determine whether the macro executed as expected.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p0owx19cpqfdfin1gcupak5ctfwu\"},{\"name\":\"macro_name\",\"description\":\"specifies the name of the macro to be run.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n198xxmuvwbr4bn1e7bih4b4htf5\"},{\"name\":\"variable\",\"description\":\"specifies optional PROC FCMP variables, which are set by macro variables of the same name. These arguments must be PROC FCMP double or character variables.\",\"placeholder\":true,\"optional\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p0ddugcs7p61jhn1cxc5hdhwzdun\"}]},\"supportSiteInformation\":{\"docsetId\":\"proc\",\"docsetVersion\":\"v_002\",\"docsetTargetFile\":\"n19ylmyrvhp7y6n1889zmwsv9nuh.htm\"}},{\"name\":\"RUN_SASFILE\",\"description\":\"Executes SAS code in a fileref that you specify.\",\"syntax\":{\"help\":\"*rc* = RUN_SASFILE  (*'fileref_name'*&lt;, *variable-1*, *variable-2*, ...&gt;);\",\"arguments\":[{\"name\":\"rc\",\"description\":\"is 0 if the function is able to submit a request to execute the code that processes the SAS file. The return code indicates only that the call was attempted.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p1xj3cdr9j0vx1n19z5ixd8leqdx\"},{\"name\":\"fileref_name\",\"description\":\"specifies the name of the SAS fileref that points to the SAS code.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n0l1iiw6b9vtovn1eg4cmakb7h2q\"},{\"name\":\"variable\",\"description\":\"specifies optional PROC FCMP variables that are set by macro variables of the same name. These arguments must be PROC FCMP double or character variables.\",\"placeholder\":true,\"optional\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n0eou5s9ets0jjn14beeauyqmfnp\"}]},\"supportSiteInformation\":{\"docsetId\":\"proc\",\"docsetVersion\":\"v_002\",\"docsetTargetFile\":\"n1vw807p62shr2n1nvtf29drigjs.htm\"}},{\"name\":\"SASMSG\",\"description\":\"Specifies a message from a data set. The returned message is based on the current locale and a specified key.\",\"syntax\":{\"help\":\"SASMSG  (*BASENAME\\\", \\\"KEY\\\", &lt;&lt;\\\"QUOTE\\\"|\\\"DQUOTE\\\"|\\\"NOQUOTE\\\"&gt;**&lt;, \\\"substitution 1\\\", ..., \\\"substitution 7\\\"&gt;&gt;*)\",\"arguments\":[{\"name\":\"BASENAME\",\"description\":\"the name of the data set where the message is located.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p1u2fapqxcovhon1c1gtqppbvf2e\"},{\"name\":\"KEY\",\"description\":\"the message key.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p1ukcvtliwiccwn1ud6iuje78zyc\"},{\"name\":\"QUOTE\",\"description\":\"specifies the type of quotation marks that are added to the message text and substitution strings.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n0i04czj16y8bin11a41r01cczur\"},{\"name\":\"substitution\",\"description\":\"string substitutions. The maximum string substitutions is 7.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p09m8uc8g21rbcn1p9unag79hubg\"}]},\"supportSiteInformation\":{\"docsetId\":\"nlsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n0pbh06faefiuyn1paei4vrvft2d.htm\"}},{\"name\":\"SASMSGL\",\"description\":\"Specifies a message from a data set. The message is based on a specified locale value and a specified key value.\",\"syntax\":{\"help\":\"SASMSGL (\\\"BASENAME\\\", \\\"KEY\\\", \\\"LOCALE\\\", (, , ,  <<\\\"Q\\\"|\\\"D\\\"|\\\"N\\\"> \\n<, \\\"substitution 1\\\", ..., \\\"substitution 6\\\">>)\",\"arguments\":[{\"name\":\"BASENAME\",\"description\":\"the name of the data set where the message is located.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p05xikmfq60lngn1q7sncsua63i5\"},{\"name\":\"KEY\",\"description\":\"the message key.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n0bot708evqcc3n12ngu13pi0u62\"},{\"name\":\"LOCALE\",\"description\":\"the posix locale value (ll_RR).\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p0q420w4pz8f21n1rd4ql4tl4rz1\"},{\"name\":\"QUOTE\",\"description\":\"specifies the type of quotation marks that are added to the message text and substitution strings.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n15e5lorx11qpkn1dbhsq780pb2n\"},{\"name\":\"substitution\",\"description\":\"string substitutions. The maximum string substitutions is 6.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n06l5qcumdhpaon1vsz8gyda48kq\"}]},\"supportSiteInformation\":{\"docsetId\":\"nlsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n1iekis5qclbspn1wd6bno0jhtdq.htm\"}},{\"name\":\"SAVING\",\"description\":\"Returns the future value of a periodic saving.\",\"syntax\":{\"help\":\"SAVING (*f*, *p*, *r*, *n*)\",\"arguments\":[{\"name\":\"f\",\"description\":\"is numeric, the future amount (at the end of n periods).\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p0bilwa1o9m0t6n190n850du2m31\"},{\"name\":\"p\",\"description\":\"is numeric, the fixed periodic payment.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n0p93igo8nnbxun1lrv863c64hg8\"},{\"name\":\"r\",\"description\":\"is numeric, the periodic interest rate expressed as a decimal.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p0ga60m97aybz2n1qtu03f3d8tru\"},{\"name\":\"n\",\"description\":\"is an integer, the number of compounding periods.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p148phfo5ri05on1m23595xey9dh\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n0encots5q4ejtn10r8hwvtmurw7.htm\"}},{\"name\":\"SAVINGS\",\"description\":\"Returns the balance of a periodic savings by using variable interest rates.\",\"syntax\":{\"help\":\"SAVINGS (base-date, initial-deposit-date, deposit-amount, deposit-number, \\ndeposit-interval, compounding-interval, date-1, rate-2<, date-2, rate-2,  ..., date-n, rate-n>)\",\"arguments\":[{\"name\":\"base-date\",\"description\":\"is a SAS date. The value that is returned is the balance of the savings at base-date.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p1kyjn94mad8fgn1qbk8usvkjj4d\"},{\"name\":\"initial-deposit-date\",\"description\":\"is a SAS date. Initial-deposit-date is the date of the first deposit. Subsequent deposits are at the beginning of subsequent deposit intervals.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p1fuojajkkzdktn1ijtmsqe6d2ii\"},{\"name\":\"deposit-amount\",\"description\":\"is numeric. All deposits are assumed constant. deposit-amount is the value of each deposit.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n0idz4v3avw4fon12gpi2v1pp180\"},{\"name\":\"deposit-number\",\"description\":\"is a positive integer. Deposit-number is the number of deposits.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n0m85y5e1akkpyn0zliv2n78ex3l\"},{\"name\":\"deposit-interval\",\"description\":\"is a SAS interval. Deposit-interval is the frequency at which deposits are made.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n1ioafu78n09qkn12zmyqzuckrrp\"},{\"name\":\"compounding-interval\",\"description\":\"is a SAS interval. Compounding-interval is the compounding interval.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p1hj24t7e07w2dn1tw5n2rhux81e\"},{\"name\":\"date\",\"description\":\"is a SAS date. Each date is paired with a rate. date is the time at which rate takes effect.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n1gri2awx0tmi8n19qr2h5va9vrz\"},{\"name\":\"rate\",\"description\":\"is a numeric percentage. Each rate is paired with a date. rate is the interest rate that starts on date.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p11dr5133z9qcan1qh1kjek794pt\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n0wlxsadrj7aahn1x72vw9zqlqrj.htm\"}},{\"name\":\"SCAN\",\"description\":\"Returns the nth word from a character string.\",\"syntax\":{\"help\":\"SCAN (*string*, *count*&lt;, *character-list* &lt;, *modifier*&gt;&gt;)\",\"arguments\":[{\"name\":\"string\",\"description\":\"specifies a character constant, variable, or expression.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p0ctpo1650lomun1cddyc1rodmh1\"},{\"name\":\"count\",\"description\":\"is a nonzero numeric constant, variable, or expression that has an integer value. The integer value specifies the number of the word in the character string that you want SCAN to select. For example, a value of 1 indicates the first word, a value of 2 indicates the second word, and so on. The following rules apply:\\n• If <i>count</i> is positive, SCAN counts words from left to right in the character string.\\n• If <i>count</i> is negative, SCAN counts words from right to left in the character string.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p00b11fwb79wk4n1jvl4hiobbcng\"},{\"name\":\"character-list\",\"description\":\"specifies an optional character expression that initializes a list of characters. This list determines which characters are used as the delimiters that separate words. The following rules apply:\\n• By default, all characters in <i>character-list</i> are used as delimiters.\\n• Specifying a modifier can change the characters in <i>character-list</i>. For example, if you specify the K modifier in the <i>modifier</i> argument, all characters that are not in <i>character-list</i> are used as delimiters.\",\"placeholder\":true,\"optional\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p13y5i05dpp62pn1p2tl9zlk0wn0\"},{\"name\":\"modifier\",\"description\":\"specifies a character constant, variable, or expression in which each non-blank character modifies the action of the SCAN function. Blanks are ignored. Use the following characters as modifiers:\",\"placeholder\":true,\"optional\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n125492vxo9uxmn19esm1g0eezji\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p0jshdjy2z9zdzn1h7k90u99lyq6.htm\"}},{\"name\":\"SDF\",\"description\":\"Returns a survival function.\",\"syntax\":{\"help\":\"SDF (*distribution*, *quantile*, *parameter-1, ..., parameter-k*)\",\"arguments\":[{\"name\":\"distribution\",\"description\":\"is a character string that identifies the distribution.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n1dazibn2eiuovn1duwi1uykq43z\"},{\"name\":\"quantile\",\"description\":\"is a numeric constant, variable, or expression that specifies the value of a random variable.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n0lxhmi0sxal24n1eftx73jgx7ym\"},{\"name\":\"parameter-1,\",\"description\":\"are optional shape, location, or scale parameters appropriate for the specific distribution.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n1icnq9q2uvwsxn1aawz02iod1hc\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n1pzh6s8xr5snbn1ajy2l2lz5o4u.htm\"}},{\"name\":\"SEC\",\"description\":\"Returns the secant.\",\"syntax\":{\"help\":\"SEC (*argument*)\",\"arguments\":[{\"name\":\"argument\",\"description\":\"specifies a numeric constant, variable, or expression and is expressed in radians.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n1ful1180xy1wen1iyguv61trkxs\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p09rndgz7617lyn13xhl8bzfr1zo.htm\"}},{\"name\":\"SECOND\",\"description\":\"Returns the seconds and milliseconds from a SAS time or datetime value.\",\"syntax\":{\"help\":\"SECOND (*time* | *datetime*)\",\"arguments\":[{\"name\":\"time\",\"description\":\"is a numeric constant, variable, or expression with a value that represents a SAS time value.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n06by82cf6z8fin1rgrt6c4rjsym\"},{\"name\":\"datetime\",\"description\":\"is a numeric constant, variable, or expression with a value that represents a SAS datetime value.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p1b243biz3gz2un1wav3d01aspax\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p00gnqetase0i9n1rshg4sz5t607.htm\"}},{\"name\":\"SESSBUSY\",\"description\":\"Determines whether a CAS session is busy processing actions.\",\"syntax\":{\"help\":\"SESSBUSY (session-reference)\\nSESSBUSY (uuid)\",\"arguments\":[{\"name\":\"session-reference\",\"description\":\"CAS session name.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p0452yb30v9lw7n153uhn3ps03a9\"},{\"name\":\"uuid\",\"description\":\"specifies the uuid that you are trying to find. See for more information about uuid.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p0mdzprzoj00qfn1qswi0vzvdc75\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p0uzbbkr0hql5zn1jwrhk7qx58c4.htm\"}},{\"name\":\"SESSFOUND\",\"description\":\"Returns a 0 when a CAS session is not connected to a server and a 1 when the session is connected to a server.\",\"syntax\":{\"help\":\"SESSFOUND                 (session-reference)\\nSESSFOUND                 (uuid)\",\"arguments\":[{\"name\":\"session-reference\",\"description\":\"specifies the name of the session that you are trying to find.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n1k85434i4dkaqn1b49sqqnxybx6\"},{\"name\":\"uuid\",\"description\":\"specifies the uuid that you are trying to find. See for more information about uuid.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p12kj18m4mhkc0n15vp7sapm7qma\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p1b4sxnrjxw5y8n1cadgqkdtz8h2.htm\"}},{\"name\":\"SETLOCALE\",\"description\":\"Specifies the locale keys for the current SAS locale.\",\"syntax\":{\"help\":\"Setting SAS LocaleSETLOCALE  (sas_locale)\\nCustomize single locale elementsSETLOCALE  (key,value)\\nCustomize single locale elements SETLOCALE  (category_name, sas_locale)\",\"arguments\":[{\"name\":\"sas_locale\",\"description\":\"specifies a SAS locale name by using the SAS name or the posix name. You can also specify the locale alias.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n1etpitzkzn4ccn1t525wvvgyxig\"},{\"name\":\"key\",\"description\":\"specifies a SAS locale element key. See the list of element keys in the Details section.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n12koyfm7dp68un100fjn9kki76x\"},{\"name\":\"value\",\"description\":\"specifies a value for the locale element.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n1egxfcpad27drn1ga8wd2earyai\"},{\"name\":\"category_name\",\"description\":\"specifies the category name:\\n• LC_TIME \\n• LC_MONETARY \\n• LC_NUMERIC\\n• LC_ALL\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p11idbjilvrainn1u9ewiy8c5x42\"}]},\"supportSiteInformation\":{\"docsetId\":\"nlsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n1gh5j17h76myjn15wdr7mnm31x6.htm\"}},{\"name\":\"SHA256\",\"description\":\"Returns an SHA256 message digest as a 32-byte binary string for a message consisting of a character string.\",\"syntax\":{\"help\":\"SHA256 (*message*)\",\"arguments\":[{\"name\":\"message\",\"description\":\"specifies a character constant, variable, or expression.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p11kt3joh7jblfn18ccfaa674znj\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p04sqiymw1a6unn1uvh943eudcvz.htm\"}},{\"name\":\"SHA256HEX\",\"description\":\"Returns the SHA256 digest for a specified message, and the digest is provided in hexadecimal representation.\",\"syntax\":{\"help\":\"SHA256HEX ('*message*', *flag*)\",\"arguments\":[{\"name\":\"'message'\",\"description\":\"specifies a character constant, variable, or expression.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n0hx2igy5tqw8wn1t4cuhjso1nm8\"},{\"name\":\"flag\",\"description\":\"indicates whether the argument message is regular characters or hexadecimal representation characters.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p0acyb1uop2vuwn1g5o30gifd8gz\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p1no4q6p7q66cnn1ab5y3y55y453.htm\"}},{\"name\":\"SHA256HMACHEX\",\"description\":\"Returns the result of the message digest of a specified string using the HMAC algorithm.\",\"syntax\":{\"help\":\"SHA256HMACHEX ('*key*',             '*message*'             &lt;, *flag*&gt;);\",\"arguments\":[{\"name\":\"key\",\"description\":\"specifies a character constant, variable, or expression.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p16f3xdv5ggmkvn12hl20fnkxkls\"},{\"name\":\"message\",\"description\":\"specifies a secret key padded to the right with extra zeros to the input block size of the hash function.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p0yz5815c049ngn1fyz30vkflyf7\"},{\"name\":\"flag\",\"description\":\"indicates whether the key and message are provided in hexadecimal representation.\",\"placeholder\":true,\"optional\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p1tw9tt456f7w1n127f45gps614o\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p1tbs7458tyiwfn12ial1qnqo6l2.htm\"}},{\"name\":\"SIGN\",\"description\":\"Returns the sign of a value.\",\"syntax\":{\"help\":\"SIGN (*argument*)\",\"arguments\":[{\"name\":\"argument\",\"description\":\"specifies a numeric constant, variable, or expression.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n192s0ydbnfb27n1nct4pt0zv3hu\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p0b1bynhxt8jjfn1aqmcod2cd88q.htm\"}},{\"name\":\"SIN\",\"description\":\"Returns the sine.\",\"syntax\":{\"help\":\"SIN (*argument*)\",\"arguments\":[{\"name\":\"argument\",\"description\":\"specifies a numeric constant, variable, or expression and is expressed in radians. If the magnitude of argument is so great that mod(argument,pi) is accurate to less than about three decimal places, SIN returns a missing value.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p0l6ay007y1z3vn1qr2ykkfw4d3p\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n0b8uczev0fsycn0zkcpidkcdd7e.htm\"}},{\"name\":\"SINH\",\"description\":\"Returns the hyperbolic sine.\",\"syntax\":{\"help\":\"SINH (*argument*)\",\"arguments\":[{\"name\":\"argument\",\"description\":\"specifies a numeric constant, variable, or expression.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p0nwp31saghyybn18yd758vnvkyb\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p13v7pllcs67e9n1bnf3p1q1ntgv.htm\"}},{\"name\":\"SKEWNESS\",\"description\":\"Returns the skewness of the nonmissing arguments.\",\"syntax\":{\"help\":\"SKEWNESS (*argument-1*, *argument-2*, *argument-3*&lt;, ...*argument-n*&gt;)\",\"arguments\":[{\"name\":\"argument\",\"description\":\"specifies a numeric constant, variable, or expression.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n1ny936uic37qhn1ue61krnud9q1\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p0k4fzxui6xjk3n19au3kx2492co.htm\"}},{\"name\":\"SLEEP\",\"description\":\"Suspends the execution of a program that invokes this function for a period of time.\",\"syntax\":{\"help\":\"SLEEP (*n*&lt;, *unit*&gt;)\",\"arguments\":[{\"name\":\"n\",\"description\":\"is a numeric constant, variable, or expression that specifies the number of seconds for which you want to suspend execution of a program. Negative or missing values for n are invalid.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n1ljxcqyc8vf1qn12sgbl79l7gqw\"},{\"name\":\"unit\",\"description\":\"specifies the unit of time in seconds as a multiple of 10, which is applied to n. For example, 1 corresponds to 1 second; .001 corresponds to 1 millisecond; and 5 corresponds to 5 seconds.\",\"placeholder\":true,\"optional\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n1v6n6k838mug2n1upt5zb7zgrge\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p0a6vn2td7bjr2n1viy8y4lgvq61.htm\"}},{\"name\":\"SMALLEST\",\"description\":\"Returns the kth smallest nonmissing value.\",\"syntax\":{\"help\":\"SMALLEST (*k*, *value-1*&lt;, *value-2* ..., *value-n*&gt;)\",\"arguments\":[{\"name\":\"k\",\"description\":\"is a numeric constant, variable, or expression that specifies which value to return.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p1gsfebqyv9c0qn143s2z5d7896i\"},{\"name\":\"value\",\"description\":\"specifies a numeric constant, variable, or expression.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p13ultmpcf05exn1o8yyk2mjzek4\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p0odr0qov4w671n0zonjy8k1vb09.htm\"}},{\"name\":\"SOLVE\",\"description\":\"Computes implicit values of a function using the Gauss-Newton method.\",\"syntax\":{\"help\":\"answer = SOLVE ('function-name', options-array, expected-value, \\nargument-1<, argument-2, ...>);\",\"arguments\":[{\"name\":\"answer\",\"description\":\"specifies the value that is returned from the SOLVE function.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n0l0yds1nz6vqan1s4fz248nm07j\"},{\"name\":\"'function-name'\",\"description\":\"specifies the name of the function. Enclose function-name in quotation marks.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n1nh5i8wn4ojkrn1ut7zi15ue2bz\"},{\"name\":\"initial-value\",\"description\":\"specifies the starting value for the implied value. The default for the first call is 0.001. If the same line of code is executed again, then options-array uses the previously found implied value.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n0hlce0m9cfj9gn1m52dn35gavu0\"},{\"name\":\"absolute-criterion\",\"description\":\"specifies a value for convergence. The absolute value of the difference between the expected value and the predicted value must be less than the value of absolute-criterion for convergence.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n1kciu356nljv8n16h4ncozibq26\"},{\"name\":\"relative-criterion\",\"description\":\"specifies a value for convergence. If the change in the computed implied value is less than the value of relative-criterion, then convergence is assumed.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n0oqnh2ys1ltdqn1ur31s0t0f5z1\"},{\"name\":\"maximum-iterations\",\"description\":\"specifies the maximum number of iterations to use to find the solution.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n158vs8prvock3n152jo9ooiqwc8\"},{\"name\":\"solve-status\",\"description\":\"can be one of the following values:\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p1oqb2gujf5cv1n1vbww53c9v18g\"},{\"name\":\"expected-value\",\"description\":\"specifies the expected value of the function of interest.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p0gr07s71sgaw4n10wp6h0c8ddzq\"},{\"name\":\"argument\",\"description\":\"specifies the arguments to pass to the function that is being minimized.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n1aff6ia0j7ygyn1im5xdhf9lrd5\"}]},\"supportSiteInformation\":{\"docsetId\":\"proc\",\"docsetVersion\":\"v_002\",\"docsetTargetFile\":\"p1xoknqns865t7n1wehj6xarwhdb.htm\"}},{\"name\":\"SORT\",\"description\":\"Sorts a list of variables.\",\"syntax\":{\"help\":\"SORT (*variable*)\",\"arguments\":[{\"name\":\"variable\",\"description\":\"specifies a character constant, variable, or expression.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p1t7erlmxwog5ln1vjgth7zn3wuh\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p11biujllfbqjdn1i87hk338trmn.htm\"}},{\"name\":\"SORTKEY\",\"description\":\"Creates a linguistic sort key.\",\"syntax\":{\"help\":\"sortKey (*string*, &lt;*locale*, *strength*, *case_order*, *numeric_order*, *collation order*&gt; )\",\"arguments\":[{\"name\":\"string\",\"description\":\"character expression\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n01ssin1503r9hn1gi0b2jk30u7o\"},{\"name\":\"locale\",\"description\":\"specifies the locale name in the form of a POSIX name (ja_JP). See for a list of locale names and POSIX values.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p1owdrvoehit7xn1ca7wrao0sfth\"},{\"name\":\"strength\",\"description\":\"The value of strength is related to the collation level. There are five collation-level values. The following table provides information about the five levels. The default value for strength is related to the locale.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n0mov9y5vrcq0dn10fzflxcfbbgw\"},{\"name\":\"case\",\"description\":\"sorts uppercase and lowercase letters. This argument is valid for only TERTIARY, QUATERNARY, or IDENTICAL. The following table provides the values and information for the case order argument.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n1u6wmp9gmqflln0zmn3e5qkki4l\"},{\"name\":\"numeric\",\"description\":\"orders numbers by the numeric value instead of the number's characters.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n05c737s0octson18q7qjo7rmj9b\"},{\"name\":\"collation\",\"description\":\"There are two types of collation values: Phonebook and Traditional. If you do not select a collation value, then the user's locale-default collation is selected. The following table provides more information.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p1p56o4wxuv8ryn1fr9k5xpog0yv\"}]},\"supportSiteInformation\":{\"docsetId\":\"nlsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n1kpwov5v73bysn1eerv3lnt9neu.htm\"}},{\"name\":\"SOUNDEX\",\"description\":\"Encodes a string to facilitate searching.\",\"syntax\":{\"help\":\"SOUNDEX (*argument*)\",\"arguments\":[{\"name\":\"argument\",\"description\":\"specifies a character constant, variable, or expression.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n1xe8q94oxe68hn1j7b2jcidk9jf\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n1i9a3o4kciemhn1kpgutl20e4i0.htm\"}},{\"name\":\"SPEDIS\",\"description\":\"Determines the likelihood of two words matching, expressed as the asymmetric spelling distance between the two words.\",\"syntax\":{\"help\":\"SPEDIS (*query*, *keyword*)\",\"arguments\":[{\"name\":\"query\",\"description\":\"identifies the word to query for the likelihood of a match. SPEDIS removes trailing blanks before comparing the value.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p0wpjeg206r81bn1wlndezlgar35\"},{\"name\":\"keyword\",\"description\":\"specifies a target word for the query. SPEDIS removes trailing blanks before comparing the value.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p05elstnxpf3wyn12mg5tkdqb3ne\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p0vmuxh8ljfn7on164nsgvmdrc5d.htm\"}},{\"name\":\"SQRT\",\"description\":\"Returns the square root of a value.\",\"syntax\":{\"help\":\"SQRT (*argument*)\",\"arguments\":[{\"name\":\"argument\",\"description\":\"specifies a numeric constant, variable, or expression. Argument must be nonnegative.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n0vvsxa5ma3igkn1wtqigaj9ayas\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n0uc20qbw3wi2jn1y1tan8rq8mnm.htm\"}},{\"name\":\"SQUANTILE\",\"description\":\"Returns the quantile from a distribution when you specify the right probability (SDF).\",\"syntax\":{\"help\":\"SQUANTILE (*distribution*, *probability*, *parameter-1, ..., parameter-k*)\",\"arguments\":[{\"name\":\"distribution\",\"description\":\"is a character constant, variable, or expression that identifies the distribution.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n1jmymitxajloen1p1xxebasw5sq\"},{\"name\":\"probability\",\"description\":\"is a numeric constant, variable, or expression that specifies the value of a random variable.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p1qko5fc9yc61yn1tprh4g20t513\"},{\"name\":\"parameter-1,\",\"description\":\"are optional shape, location, or scale parameters that are appropriate for the specific distribution.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n0q4kejo2nuixkn1tqo7xnaormtn\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p0nyqj9d1c8fxrn1rml9eskwr7x1.htm\"}},{\"name\":\"STD\",\"description\":\"Returns the standard deviation of the nonmissing arguments.\",\"syntax\":{\"help\":\"STD  (&lt;ALL | DISTINCT&gt;*sql-expression*)\",\"arguments\":[{\"name\":\"sql-expression\",\"description\":\"specifies any valid SQL expression. See .\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n1wstc0tn58k7mn14agx6ism1pam\"},{\"name\":\"ALL\",\"description\":\"(default) specifies that all missing values returned by sql-expression be counted.\",\"optional\":true,\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"p0bcngdj2afq7on1bna3ehouie8q\"},{\"name\":\"DISTINCT\",\"description\":\"eliminates duplicate rows returned by sql-expression from the count.\",\"optional\":true,\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"p01bcnhreb0kfqn1tofb7n16wdan\"}]},\"supportSiteInformation\":{\"docsetId\":\"sqlproc\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p1ls7wmsejuy4gn10bmpxcjjn6r5.htm\"}},{\"name\":\"STDERR\",\"description\":\"Returns the standard error of the mean of nonmissing arguments.\",\"syntax\":{\"help\":\"STDERR  (&lt;ALL | DISTINCT&gt;*sql-expression*)\",\"arguments\":[{\"name\":\"sql-expression\",\"description\":\"specifies any valid SQL expression. See .\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p1x11xs5tm2211n14cdeg8bhnfp9\"},{\"name\":\"ALL\",\"description\":\"(default) specifies that all missing values returned by sql-expression be counted.\",\"optional\":true,\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"n0kldfyd3yeb14n1kiaehocjjmjs\"},{\"name\":\"DISTINCT\",\"description\":\"eliminates duplicate rows returned by sql-expression from the count.\",\"optional\":true,\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"n1xq7248tva4ocn10kqzw1x7s758\"}]},\"supportSiteInformation\":{\"docsetId\":\"sqlproc\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p1stwo7698mux2n1is43o2hj0ph8.htm\"}},{\"name\":\"STFIPS\",\"description\":\"Converts state postal codes to FIPS state codes.\",\"syntax\":{\"help\":\"STFIPS (*postal-code*)\",\"arguments\":[{\"name\":\"postal-code\",\"description\":\"specifies a character expression that contains the two-character standard state postal code. Characters can be mixed case. The function ignores trailing blanks, but generates an error if the expression contains leading blanks.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n0967xb0ys28jnn17ou8wbsyirko\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n0i3gjy45j9l4nn1s5yc7evr663b.htm\"}},{\"name\":\"STNAME\",\"description\":\"Converts state postal codes to uppercase state names.\",\"syntax\":{\"help\":\"STNAME (*postal-code*)\",\"arguments\":[{\"name\":\"postal-code\",\"description\":\"specifies a character expression that contains the two-character standard state postal code. Characters can be mixed case. The function ignores trailing blanks, but generates an error if the expression contains leading blanks.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p1eapeoq549rj6n16hy1zx3rimxv\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p1b79mh8tmxwgfn18h3oskwhj0kt.htm\"}},{\"name\":\"STNAMEL\",\"description\":\"Converts state postal codes to mixed case state names.\",\"syntax\":{\"help\":\"STNAMEL (*postal-code*)\",\"arguments\":[{\"name\":\"postal-code\",\"description\":\"specifies a character expression that contains the two-character standard state postal code. Characters can be mixed case. The function ignores trailing blanks, but generates an error if the expression contains leading blanks.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n03dd99lr9ldjjn14fwauvamiwf1\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n02e99u1jvwz3vn1ig9jxeoo1gib.htm\"}},{\"name\":\"STRIP\",\"description\":\"Returns a character string with all leading and trailing blanks removed.\",\"syntax\":{\"help\":\"STRIP (*string*)\",\"arguments\":[{\"name\":\"string\",\"description\":\"is a character constant, variable, or expression.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n1mxoib0gsl9cjn1n1x02zn1vwys\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n0xk6tl87f4b4qn1sp1ywen1ntan.htm\"}},{\"name\":\"SUBPAD\",\"description\":\"Returns a substring that has a length that you specify, using blank padding if necessary.\",\"syntax\":{\"help\":\"SUBPAD (*string*, *position*&lt;, *length*&gt;)\",\"arguments\":[{\"name\":\"string\",\"description\":\"specifies a character constant, variable, or expression.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p0lnxhmekaumdqn1jn2oo7gvf1rt\"},{\"name\":\"position\",\"description\":\"is a positive integer that specifies the position of the first character in the substring.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n0710mwv2cz1s7n1sg9v1oc0pouk\"},{\"name\":\"length\",\"description\":\"is a nonnegative integer that specifies the length of the substring. If you do not specify length, the SUBPAD function returns the substring that extends from the position that you specify to the end of the string.\",\"placeholder\":true,\"optional\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n03l7hi1dt6gjon1p21ia8rmqiuq\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n1ool6c7jk7rbvn1gndlhq3rfonf.htm\"}},{\"name\":\"SUBSTRING\",\"description\":\"Returns a part of a character expression.\",\"syntax\":{\"help\":\"SUBSTRING (*sql-expression* FROM *start*&lt;FOR *length*&gt;)\",\"arguments\":[{\"name\":\"sql-expression\",\"description\":\"See .\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p1qcfw43gxpfymn1in3ebvuifz05\"},{\"name\":\"start\",\"description\":\"is a number (not a variable or column name) that specifies the position, counting from the left end of the character string, at which to begin extracting the substring.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n0ddtv2fv3j0nin1ucuw843yt6jy\"},{\"name\":\"length\",\"description\":\"is a number (not a variable or column name) that specifies the length of the substring that is to be extracted.\",\"placeholder\":true,\"optional\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n0gc692xrcfwx6n1no8nuhimbmjf\"}]},\"supportSiteInformation\":{\"docsetId\":\"sqlproc\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n03g2uan994purn1lrpwnjg9cnx3.htm\"}},{\"name\":\"SUBSTRN\",\"description\":\"Returns a substring, allowing a result with a length of zero.\",\"syntax\":{\"help\":\"SUBSTRN (*string*, *position*&lt;, *length*&gt;)\",\"arguments\":[{\"name\":\"string\",\"description\":\"specifies a character or numeric constant, variable, or expression.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n090efdb3bnrf3n1gdgopfdcl56o\"},{\"name\":\"position\",\"description\":\"is an integer that specifies the position of the first character in the substring.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p0le8j77m7nbtcn1ddmiuy01vasx\"},{\"name\":\"length\",\"description\":\"is an integer that specifies the length of the substring. If you do not specify length, the SUBSTRN function returns the substring that extends from the position that you specify to the end of the string.\",\"placeholder\":true,\"optional\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n0um6vnl42hzqjn13rt5phagl6uk\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p0wqoixcwtx2jqn1ovqf06kart0o.htm\"}},{\"name\":\"SUM\",\"description\":\"Returns the sum of all the values.\",\"syntax\":{\"help\":\"SUM  (&lt;ALL | DISTINCT&gt;*sql-expression*)\",\"arguments\":[{\"name\":\"sql-expression\",\"description\":\"specifies any valid SQL expression that resolves to a table column. See .\",\"placeholder\":true,\"dataTypes\":[\"NUMERIC\"],\"supportSiteTargetFragment\":\"n0w77u9cq0769qn1t164tnonlryh\"},{\"name\":\"ALL\",\"description\":\"(default) specifies that all values returned by sql-expression are included in the summation.\",\"optional\":true,\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"n1opi8cox2xj7ln1tdcf9uuim35d\"},{\"name\":\"DISTINCT\",\"description\":\"eliminates duplicate rows returned by sql-expression from the summation.\",\"optional\":true,\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"p0veimfjx6ab7mn1dlplhns2uw5c\"}]},\"supportSiteInformation\":{\"docsetId\":\"sqlproc\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p08swini15zv7fn18vqawbgsvgdd.htm\"}},{\"name\":\"SUMABS\",\"description\":\"Returns the sum of the absolute values of the nonmissing arguments.\",\"syntax\":{\"help\":\"SUMABS (*value-1*&lt;, *value-2*  ..., *value-n*&gt;)\",\"arguments\":[{\"name\":\"value\",\"description\":\"specifies a numeric expression.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n0kunyd6rlj3e8n1qx454h9ngcm3\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p0qjybpudgm3ykn110wgqnuj4e03.htm\"}},{\"name\":\"SUMWGT\",\"description\":\"Specifies the sum of the WEIGHT variable values.\",\"syntax\":{\"help\":\"SUMWGT  (&lt;ALL | DISTINCT&gt;*sql-expression*)\",\"arguments\":[{\"name\":\"sql-expression\",\"description\":\"specifies any valid SQL expression. See .\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n0ybt1yfqu87jwn1ny3ztk87n6xh\"},{\"name\":\"ALL\",\"description\":\"(default) specifies that all missing values returned by sql-expression be counted.\",\"optional\":true,\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"p0qe67qyn5gf3zn19vzweiqana62\"},{\"name\":\"DISTINCT\",\"description\":\"eliminates duplicate rows returned by sql-expression from the count.\",\"optional\":true,\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"p0m1k93c6bi7tkn16r8zym45dpw2\"}]},\"supportSiteInformation\":{\"docsetId\":\"sqlproc\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p08g995zx3rs2nn1dte9gkgt8yzb.htm\"}},{\"name\":\"SYMEXIST\",\"description\":\"Returns an indication of the existence of a macro variable.\",\"syntax\":{\"help\":\"SYMEXIST (*argument*)\",\"arguments\":[{\"name\":\"argument\",\"description\":\"can be one of the following items:\\n• the name of a macro variable within double quotation marks but without an ampersand\\n• the name of a DATA step character variable, specified with no quotation marks, which contains a macro variable name\\n• a character expression that constructs a macro variable name\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p0yhkg31pqs9lpn1s821e5wgk1ai\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p17npi7ti2jkidn1hw0fje3qqvph.htm\"}},{\"name\":\"SYMGET\",\"description\":\"Returns the value of a macro variable during DATA step execution.\",\"syntax\":{\"help\":\"SYMGET (*argument*)\",\"arguments\":[{\"name\":\"argument\",\"description\":\"can be one of the following items:\\n• the name of a macro variable within double quotation marks but without an ampersand\\n• the name of a DATA step character variable, specified with no quotation marks, which contains a macro variable name\\n• a character expression that constructs a macro variable name\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n1ihtp4sw2344vn1ddv6ti3efm42\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n08h8unph3lz0un1ap3kqru4iym0.htm\"}},{\"name\":\"SYMGETN\",\"description\":\"In SAS Component Control Language (SCL) programs, returns the value of a global macro variable as a numeric value when the SCL program executes.\",\"syntax\":{\"help\":\"*SCL-variable-name*=SYMGETN (*argument*)\",\"arguments\":[{\"name\":\"'global-macro-variable-name'\",\"description\":\"specifies within single quotation marks the name of a global macro variable without the leading ampersand.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n18rzinh6xa9qon1rz4tjz7xcaei\"},{\"name\":\"SCL-variable-name\",\"description\":\"specifies the name of the name of an SCL variable that contains the name of a global macro variable.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p0qxpb56zv10mtn1f2vq1k49g9rc\"}]},\"supportSiteInformation\":{\"docsetId\":\"mcrolref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p1rb87c89upggen1n1l2nuearkur.htm\"}},{\"name\":\"SYMGLOBL\",\"description\":\"Returns an indication of whether a macro variable is in global scope to the DATA step during DATA step execution.\",\"syntax\":{\"help\":\"SYMGLOBL (*argument*)\",\"arguments\":[{\"name\":\"argument\",\"description\":\"can be one of the following items:\\n• the name of a macro variable within double quotation marks but without an ampersand.\\n• the name of a DATA step character variable, specified with no quotation marks, which contains a macro variable name.\\n• a character expression that constructs a macro variable name.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n18c7t3vt62bian13mnj6cgtamzj\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n0y1t2j2og7mk7n1vvz227u97gxm.htm\"}},{\"name\":\"SYMLOCAL\",\"description\":\"Returns an indication of whether a macro variable is in local scope to the DATA step during DATA step execution.\",\"syntax\":{\"help\":\"SYMLOCAL (*argument*)\",\"arguments\":[{\"name\":\"argument\",\"description\":\"can be one of the following items:\\n• the name of a macro variable within double quotation marks but without an ampersand.\\n• the name of a DATA step character variable, specified with no quotation marks, which contains a macro variable name.\\n• a character expression that constructs a macro variable name.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p0kj36g1l0ytvvn15ef0uz3da1w9\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n0r69ti4ul3l8bn1oy7bdv5wi56j.htm\"}},{\"name\":\"SYSEXIST\",\"description\":\"Returns a value that indicates whether an operating-environment variable exists in your environment.\",\"syntax\":{\"help\":\"SYSEXIST (*argument*)\",\"arguments\":[{\"name\":\"argument\",\"description\":\"specifies a character variable that is the name of an operating-environment variable that you want to test.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p1s1roublh9rlpn1qb9f2hma2jde\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p1kqfrj3pipbnwn12c6jyaztd1sh.htm\"}},{\"name\":\"SYSGET\",\"description\":\"Returns the value of the specified operating-environment variable.\",\"syntax\":{\"help\":\"SYSGET ('*environment-variable*')\",\"arguments\":[{\"name\":\"environment-variable\",\"description\":\"is a character constant, variable, or expression with a value that is the name of an environment variable under Linux.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p0trq090125t8sn1xbuys8fw6pik\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p14ppks96uz65an1l5uq3elm0m3y.htm\"}},{\"name\":\"SYSMSG\",\"description\":\"Returns error or warning message text from processing the last data set or external file function.\",\"syntax\":{\"help\":\"SYSMSG ()\"},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p08jvlsdb0wuu1n15jm7tvhg0yhx.htm\"}},{\"name\":\"SYSPARM\",\"description\":\"Returns the system parameter string.\",\"syntax\":{\"help\":\"SYSPARM ()\"},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n1ug7uhp2d4vpmn149431l4pcucf.htm\"}},{\"name\":\"SYSPROCESSID\",\"description\":\"Returns the process ID of the current process.\",\"syntax\":{\"help\":\"SYSPROCESSID ()\"},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p0k31rzegz0jf0n15aohv55hze5a.htm\"}},{\"name\":\"SYSPROCESSNAME\",\"description\":\"Returns the process name that is associated with a given process ID, or returns the name of the current process.\",\"syntax\":{\"help\":\"SYSPROCESSNAME (&lt;*process_id*&gt;)\",\"arguments\":[{\"name\":\"process_id\",\"description\":\"specifies a 32–character hexadecimal process ID.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n1p8ktyufg2cxun15hynacb6w73i\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n0d5197f28gfmrn1v10ao49adyf8.htm\"}},{\"name\":\"SYSPROD\",\"description\":\"Determines whether a product is licensed.\",\"syntax\":{\"help\":\"SYSPROD (*product-name*)\",\"arguments\":[{\"name\":\"product-name\",\"description\":\"specifies a character constant, variable, or expression with a value that is the name of a SAS product.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p11627barik3sjn1se176eguc592\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n03e7eclpjvhp2n1kzhtbsvm59jf.htm\"}},{\"name\":\"SYSRC\",\"description\":\"Returns a system error number.\",\"syntax\":{\"help\":\"SYSRC ()\"},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n1xxj8ih9sjbznn1r17pgxuf8kpr.htm\"}},{\"name\":\"SYSTEM\",\"description\":\"Issues an operating environment command during a SAS session, and returns the system return code.\",\"syntax\":{\"help\":\"SYSTEM (*command*)\",\"arguments\":[{\"name\":\"command\",\"description\":\"specifies any of the following: a system command that is enclosed in quotation marks (explicit character string), an expression whose value is a system command, or the name of a character variable whose value is a system command that is executed.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n1x5nqvjwc2e9dn19014blwkz0m5\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p028ivnihf9y1hn1n05tp55587jz.htm\"}},{\"name\":\"T\",\"description\":\"Specifies the student's t value for testing the hypothesis that the population mean is zero.\",\"syntax\":{\"help\":\"T  (&lt;ALL | DISTINCT&gt;*sql-expression*)\",\"arguments\":[{\"name\":\"sql-expression\",\"description\":\"specifies any valid SQL expression. See .\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n1fhnsfgfoy6w0n17c8r8u6yi25o\"},{\"name\":\"ALL\",\"description\":\"(default) specifies that all missing values returned by sql-expression be counted.\",\"optional\":true,\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"p0l4vwnzfz54pqn1pge0n1k0xfio\"},{\"name\":\"DISTINCT\",\"description\":\"eliminates duplicate rows returned by sql-expression from the count.\",\"optional\":true,\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"n0xq6eldszxdxqn10n6cc6x7nbv9\"}]},\"supportSiteInformation\":{\"docsetId\":\"sqlproc\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n0sosd9he2o93xn1kwq4y5vnjfuw.htm\"}},{\"name\":\"TAN\",\"description\":\"Returns the tangent.\",\"syntax\":{\"help\":\"TAN (*argument*)\",\"arguments\":[{\"name\":\"argument\",\"description\":\"specifies a numeric constant, variable, or expression and is expressed in radians. If the magnitude of argument is so great that mod(argument,pi) is accurate to less than about three decimal places, TAN returns a missing value.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n0r1qmpp3laxg2n10l7bvc80shpc\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n04s699hjgfq5yn12uy90f5arixd.htm\"}},{\"name\":\"TANH\",\"description\":\"Returns the hyperbolic tangent.\",\"syntax\":{\"help\":\"TANH (*argument*)\",\"arguments\":[{\"name\":\"argument\",\"description\":\"specifies a numeric constant, variable, or expression.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p0dimsabjv68qcn1fjcr0l1khr76\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n0b3u4fao493mqn0z6t95qyq5kiw.htm\"}},{\"name\":\"TIME\",\"description\":\"Returns the current time of day as a numeric SAS time value.\",\"syntax\":{\"help\":\"TIME ()\"},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p096aldg7bq6qsn10m4044qbslka.htm\"}},{\"name\":\"TIMEPART\",\"description\":\"Extracts a time value from a SAS datetime value.\",\"syntax\":{\"help\":\"TIMEPART (*datetime*)\",\"arguments\":[{\"name\":\"datetime\",\"description\":\"is a numeric constant, variable, or expression that represents a SAS datetime value.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p1mjm3cing64zgn168rsjk9lhahs\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n1dz873p380nc0n1ok2sfyl3dqhv.htm\"}},{\"name\":\"TIMEVALUE\",\"description\":\"Returns the equivalent of a reference amount at a base date by using variable interest rates.\",\"syntax\":{\"help\":\"TIMEVALUE (base-date, reference-date, reference-amount, compounding-interval,\\ndate-1, rate-1<, date-2, rate-2,  ..., date-n, rate-n>)\",\"arguments\":[{\"name\":\"base-date\",\"description\":\"is a SAS date. The value that is returned is the time value of reference-amount at base-date.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p0izyg3wnweyj5n1b2lsid619f5w\"},{\"name\":\"reference-date\",\"description\":\"is a SAS date. Reference-date is the date of reference-amount.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p0luvyrfzaw41mn1aw7849x6zxwx\"},{\"name\":\"reference-amount\",\"description\":\"is numeric. Reference-amount is the amount at reference-date.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n0hn339c6ogkl3n1sreqxnzuq4o5\"},{\"name\":\"compounding-interval\",\"description\":\"is a SAS interval. Compounding-interval is the compounding interval. An example is month.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p13emnn5yl35mcn1srhrkz0upv8a\"},{\"name\":\"date\",\"description\":\"is a SAS date. Each date is paired with a rate. Date is the time at which rate takes effect.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p0c6m8eerk73bon1gupye53xawnc\"},{\"name\":\"rate\",\"description\":\"is a numeric percentage. Each rate is paired with a date. Rate is the interest rate that starts on date.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p1oewncphslduxn1dhdvd1r5i4aq\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n0bs6vi6jzaqzdn1tnyhkkogm65t.htm\"}},{\"name\":\"TINV\",\"description\":\"Returns a quantile from the t distribution.\",\"syntax\":{\"help\":\"TINV (*p*, *df*&lt;, *nc*&gt;)\",\"arguments\":[{\"name\":\"p\",\"description\":\"is a numeric probability.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n1t4l6xl8wi3g3n1havlbm9l9xvr\"},{\"name\":\"df\",\"description\":\"is a numeric degrees of freedom parameter.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p176y1uitek0ujn1fzv08okccssu\"},{\"name\":\"nc\",\"description\":\"is an optional numeric noncentrality parameter.\",\"placeholder\":true,\"optional\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p0d5iakkpd2kxen1poha7oq6k897\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n0yhwu36w3pj41n16j69b3hmzqvc.htm\"}},{\"name\":\"TNONCT\",\"description\":\"Returns the value of the noncentrality parameter from the Student's t distribution.\",\"syntax\":{\"help\":\"TNONCT (*x*, *df*, *prob*)\",\"arguments\":[{\"name\":\"x\",\"description\":\"is a numeric random variable.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p0nxqmo2whcmo2n1dhxpllbpwkmn\"},{\"name\":\"df\",\"description\":\"is a numeric degrees of freedom parameter.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n0a3xlncgl3vi7n0zwneorjr4h3e\"},{\"name\":\"prob\",\"description\":\"is a probability.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p00jx7auyszv09n103mim35dp4f9\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n01ctb8yev2yzkn10bqjn1mfhjte.htm\"}},{\"name\":\"TODAY\",\"description\":\"Returns the current date as a numeric SAS date value.\",\"syntax\":{\"help\":\"TODAY ()\"},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p0hm9egy8s7mokn1mz0yxng80ax5.htm\"}},{\"name\":\"TRANSLATE\",\"description\":\"Replaces specific characters in a character expression.\",\"syntax\":{\"help\":\"TRANSLATE (*source*, *to-1*, *from-1*&lt;,  ...*to-n*, *from-n*&gt;)\",\"arguments\":[{\"name\":\"source\",\"description\":\"specifies a character constant, variable, or expression that contains the original character string.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p0jhl8kbhvpls5n1ku6tbm0pvcr5\"},{\"name\":\"to\",\"description\":\"specifies the characters that you want TRANSLATE to use as substitutes.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n0pcxkum6ykjmxn1u9wfnu3jnppi\"},{\"name\":\"from\",\"description\":\"specifies the characters that you want TRANSLATE to replace.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n0u1nqgnoykenpn155yqzq4uwqnt\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p05ww22zp7lcg3n1bjk7v93tscyo.htm\"}},{\"name\":\"TRANSTRN\",\"description\":\"Replaces or removes all occurrences of a substring in a character string.\",\"syntax\":{\"help\":\"TRANSTRN (*source*, *target*, *replacement*)\",\"arguments\":[{\"name\":\"source\",\"description\":\"specifies a character constant, variable, or expression that you want to translate.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p0cvi667xhoknjn15uzdqjadvpbm\"},{\"name\":\"target\",\"description\":\"specifies a character constant, variable, or expression that is searched for in source.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n0ti5ty3li35lyn1ckp3hxm2d041\"},{\"name\":\"replacement\",\"description\":\"specifies a character constant, variable, or expression that replaces target.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p0wn10sqms2rqen1j1qtc0dj9mcu\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n101a8jch5trh0n1bc5neq48hc89.htm\"}},{\"name\":\"TRANTAB\",\"description\":\"Transcodes data by using the specified translation table.\",\"syntax\":{\"help\":\"TRANTAB (*string,**trantab_name*)\",\"arguments\":[{\"name\":\"string\",\"description\":\"input data that is transcoded.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p0q17k2asgfmrrn1fmr0z40zhr8l\"},{\"name\":\"trantab_name\",\"description\":\"translation table.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p1idltvhti7tern1vsx9z6l998vz\"}]},\"supportSiteInformation\":{\"docsetId\":\"nlsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n1ucbc97y8v7xqn1wt72xn4026y9.htm\"}},{\"name\":\"TRANWRD\",\"description\":\"Replaces all occurrences of a substring in a character string.\",\"syntax\":{\"help\":\"TRANWRD (*source*, *target*, *replacement*)\",\"arguments\":[{\"name\":\"source\",\"description\":\"specifies a character constant, variable, or expression that you want to translate.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p16tvph7qxtqurn1r4yzskojkga6\"},{\"name\":\"target\",\"description\":\"specifies a character constant, variable, or expression that is searched for in source.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p0ld5xm879jv9in1n3qq67iak5cn\"},{\"name\":\"replacement\",\"description\":\"specifies a character constant, variable, or expression that replaces target. When the replacement string has a length of zero, TRANWRD uses a single blank instead.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n1jxmzwce72a4en1dd8ul63mtuw0\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p0pgemqcslm9uen1tvr5gcrusgrw.htm\"}},{\"name\":\"TRIGAMMA\",\"description\":\"Returns the value of the trigamma function.\",\"syntax\":{\"help\":\"TRIGAMMA (*argument*)\",\"arguments\":[{\"name\":\"argument\",\"description\":\"specifies a numeric constant, variable, or expression.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n020anoej0ufuln1teqsyfjx7w20\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n03wu6s30g4uqtn1rfe5lq4tt5du.htm\"}},{\"name\":\"TRIM\",\"description\":\"Removes trailing blanks from a character string and returns one blank if the string is missing.\",\"syntax\":{\"help\":\"TRIM (*argument*)\",\"arguments\":[{\"name\":\"argument\",\"description\":\"specifies a character constant, variable, or expression.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p0n4y2kwxq3xx4n1boxfkwl23cg0\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n1io938ofitwnzn18e1hzel3u9ut.htm\"}},{\"name\":\"TRIMN\",\"description\":\"Removes trailing blanks from character expressions and returns a string with a length of zero if the expression is missing.\",\"syntax\":{\"help\":\"TRIMN (*argument*)\",\"arguments\":[{\"name\":\"argument\",\"description\":\"specifies a character constant, variable, or expression.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p04h0vyywfjb31n1oty1kfy5q3hh\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p0fn8wnffjgx33n1smsu5a6d00rs.htm\"}},{\"name\":\"TRUNC\",\"description\":\"Truncates a numeric value to a specified number of bytes.\",\"syntax\":{\"help\":\"TRUNC (*number*, *length*)\",\"arguments\":[{\"name\":\"number\",\"description\":\"specifies a numeric constant, variable, or expression.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p0mfxfgqx0yf84n157flvnnsyplj\"},{\"name\":\"length\",\"description\":\"specifies an integer.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p04yp1x6o623orn16obuzovlihpq\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n1lfp83m4yht68n1luxn5tnmuhp3.htm\"}},{\"name\":\"TSLVL\",\"description\":\"provides information about the specifics of the installation, including the release, hot fixes, and maintenance images.\",\"syntax\":{\"help\":\"TSLVL (&lt;*option-1*,–*option-n*&gt;)\",\"arguments\":[{\"name\":\"A\",\"description\":\"additional track information.\",\"optional\":true,\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"p0vljjbyt5q8syn1iao3jt4g0yss\"},{\"name\":\"B\",\"description\":\"Script information is in this format:<Script DVD>/script/<Script Name>.bld\",\"optional\":true,\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"p0582by3ymi8aan1dmjg9u8ekq6l\"},{\"name\":\"C\",\"description\":\"changes the separator from a comma to a colon; also decodes the image description if the I option is specified.\",\"optional\":true,\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"n1sv0ynyhjwaifn161xvl6a207sn\"},{\"name\":\"D\",\"description\":\"port date (for example, 9.03.01B0D02282010).\",\"optional\":true,\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"p1c6mt3w09p26on1123mbujinj6y\"},{\"name\":\"E\",\"description\":\"number of seconds since January 1, 1970 (UNIX date). SAS dates are based on the number of seconds since January 1, 1960.\",\"optional\":true,\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"n08gqhih7x9pf2n1k95c7z6xkusv\"},{\"name\":\"H\",\"description\":\"hot fix information.\",\"optional\":true,\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"p0tzjc44fy1hpgn1k38gd7sm89nf\"},{\"name\":\"I\",\"description\":\"image description. Use with the Z option to decode the field.\",\"optional\":true,\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"p04qti5trdjaqun0zyce5ul3cat0\"},{\"name\":\"M\",\"description\":\"maintenance release information.\",\"optional\":true,\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"n0yu2g5y10oto6n1j9heyd6y4veh\"},{\"name\":\"N\",\"description\":\"suppresses error messages if the module is not found.\",\"optional\":true,\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"n0tpxow0uacyt8n16c8cx5na1lsl\"},{\"name\":\"P\",\"description\":\"product number.\",\"optional\":true,\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"n1mawuast64eh2n1d5vegdjm25mk\"},{\"name\":\"S\",\"description\":\"returns a colon-separated list that comprises the Script DVD, Script Name, and Script Location in that order.\",\"optional\":true,\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"p1dx8sab3akv3un15kgcy1vhsl3w\"},{\"name\":\"T\",\"description\":\"SAS track information.\",\"optional\":true,\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"p1bm1muvldv71xn17pv96t28280b\"},{\"name\":\"Z\",\"description\":\"decode any fields that are encoded.\",\"optional\":true,\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"n1kyj2xfoua8sbn1t7vv3o9jlb7l\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p000smgk11giifn1ki28kdhg53oa.htm\"}},{\"name\":\"TYPEOF\",\"description\":\"Returns a value that indicates whether the argument is character or numeric.\",\"syntax\":{\"help\":\"TYPEOF (*column*)\",\"arguments\":[{\"name\":\"C\",\"description\":\"indicates that the argument is a character value.\",\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"n1m3ryi3q0bq7fn1e9nxwj4e37ht\"},{\"name\":\"N\",\"description\":\"indicates that the argument is a numeric value.\",\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"n0xz9myn3zf7u9n1gyli1hyin5u2\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p06x34gq581zq8n12e3cgg6uq2cx.htm\"}},{\"name\":\"TZONEDSTNAME\",\"description\":\"Returns a daylight savings time name.\",\"syntax\":{\"help\":\"TZONEDSTNAME ()\\nTZONEDSTNAME (<time-zone-id>)\",\"arguments\":[{\"name\":\"time-zone-id\",\"description\":\"specifies a region/area value that is defined by SAS. When you specify a time zone ID, the time zone that SAS uses is determined by the time zone name and daylight savings time rules.\",\"optional\":true,\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"n0keqwxd8ifrjqn17wixd1eiixov\"}]},\"supportSiteInformation\":{\"docsetId\":\"nlsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p0mv33kheq9p2nn1l8uw8comn3zl.htm\"}},{\"name\":\"TZONEDSTOFF\",\"description\":\"Returns the time zone offset value for the specified daylight savings time.\",\"syntax\":{\"help\":\"TZONEDSTOFF ()\\nTZONEDSTOFF (<time-zone-id>)\",\"arguments\":[{\"name\":\"time-zone-id\",\"description\":\"specifies a region/area value that is defined by SAS. When you specify a time zone ID, the time zone that SAS uses is determined by the time zone name and daylight savings time rules.\",\"optional\":true,\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"n0jv57tbwrd1fin1dzpqkaxnrzdj\"}]},\"supportSiteInformation\":{\"docsetId\":\"nlsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p1rwwr94mvwknsn1a311k473qjnp.htm\"}},{\"name\":\"TZONEID\",\"description\":\"Returns the current time zone ID.\",\"syntax\":{\"help\":\"TZONEID (&lt;*time-zone-id*&gt;)\",\"arguments\":[{\"name\":\"time-zone-id\",\"description\":\"specifies a region/area value that is defined by SAS. When you specify a zone ID, the time zone that SAS uses is determined by the time zone name and daylight savings time rules.\",\"placeholder\":true,\"optional\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n1mns8d3ae5r9kn1rtnqggg3xxgk\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n1kkxivmegc0dkn13utei9iay173.htm\"}},{\"name\":\"TZONENAME\",\"description\":\"Returns the current standard or daylight savings time, time zone name.\",\"syntax\":{\"help\":\"TZONENAME ()\\nTZONENAME (<time-zone-id,datetime>)\",\"arguments\":[{\"name\":\"time-zone-id\",\"description\":\"specifies a region/area value that is defined by SAS. When you specify a zone ID, the time zone that SAS uses is determined by time zone name and daylight savings time rules.\",\"placeholder\":true,\"optional\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n16lzcsnmsyhaln1qb0nvm3jprfl\"},{\"name\":\"datetime\",\"description\":\"specifies a SAS datetime value.\",\"placeholder\":true,\"optional\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n05p2cyoor0j7qn1v6jceyzwtlp3\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n0yt7ka861d016n1jrtxz94d8gkn.htm\"}},{\"name\":\"TZONEOFF\",\"description\":\"Returns the user time zone offset.\",\"syntax\":{\"help\":\"TZONEOFF ()\\nTZONEOFF (<time-zone-id,datetime>)\",\"arguments\":[{\"name\":\"time-zone-id\",\"description\":\"specifies a region/area value that is defined by SAS. When you specify a time zone ID, the time zone that SAS uses is determined by time zone name and daylight savings time rules.\",\"optional\":true,\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"p1d1zaac7zsv5rn1fgoikapc56do\"},{\"name\":\"datetime\",\"description\":\"specifies a SAS datetime value.\",\"optional\":true,\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"p1wwui8va1wq6an1tvd9s81u4byb\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p1025e0ohhpj0qn1horqbq74gb8x.htm\"}},{\"name\":\"TZONES2U\",\"description\":\"Converts a SAS date time value to a UTC date time value.\",\"syntax\":{\"help\":\"TZONES2U (*datetime*,&lt;*time-zone-id*&gt;)\",\"arguments\":[{\"name\":\"datetime\",\"description\":\"specifies a SAS datetime value.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n1d9toq564q2ptn1s0wgbh97ux2u\"},{\"name\":\"time-zone-id\",\"description\":\"specifies a region/area value that is defined by SAS. When you specify a time zone ID, the time zone that SAS uses is determined by time zone name and daylight savings time rules.\",\"placeholder\":true,\"optional\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n0p8y5lbtreddbn1xqlpnf85zcq8\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p1q4fv9tnskuvwn1k6nfdglcfv6x.htm\"}},{\"name\":\"TZONESTTNAME\",\"description\":\"Returns a standard time zone name.\",\"syntax\":{\"help\":\"TZONESTTNAME ()\\nTZONESTTNAME (<time-zone-id>)\",\"arguments\":[{\"name\":\"time-zone-id\",\"description\":\"specifies a region or area value that is defined by SAS. When you specify a time zone ID, the time zone that SAS uses is determined by the time zone name and daylight savings time rules.\",\"optional\":true,\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"n1vsddw89w7hbin1mof6fcqa5zu1\"}]},\"supportSiteInformation\":{\"docsetId\":\"nlsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p0b5in4bga4am0n1diodjdiw9ye5.htm\"}},{\"name\":\"TZONESTTOFF\",\"description\":\"Returns the time zone offset value for the specified standard time.\",\"syntax\":{\"help\":\"TZONESTTOFF ()\\nTZONESTTOFF (<time-zone-id>)\",\"arguments\":[{\"name\":\"time-zone-id\",\"description\":\"specifies a region or area value that is defined by SAS. When you specify a time zone ID, the time zone that SAS uses is determined by the time zone name and daylight savings time rules.\",\"optional\":true,\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"p0xbeosjqi2y56n1mkjg5gcv4d1v\"}]},\"supportSiteInformation\":{\"docsetId\":\"nlsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n0z913obgu8bqqn117n3m65vh1fj.htm\"}},{\"name\":\"TZONEU2S\",\"description\":\"Converts a UTC date time value to a SAS date time value.\",\"syntax\":{\"help\":\"TZONEU2S (*UTC-date-time value*&lt;, *time-zone-id*&gt;)\",\"arguments\":[{\"name\":\"UTC-date\",\"description\":\"specifies a Coordinated Universal Time (UTC) datetime value\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n0dcc8z9a4n5ymn1o27h0s1vfaod\"},{\"name\":\"time-zone-id\",\"description\":\"specifies a region/area value that is defined by SAS. When you specify a zone ID, the time zone that SAS uses is determined by the time zone name and daylight savings time rules.\",\"optional\":true,\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"n0zgctxzjwnvvtn145pzvby2ccdg\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n1ien0skr1u9swn1f00w7hizdg9c.htm\"}},{\"name\":\"UNICODE\",\"description\":\"Converts Unicode characters to the current SAS session encoding.\",\"syntax\":{\"help\":\"STR=UNICODE (&lt;*instr*&gt; (,&lt;Unicode type&gt; ))\",\"arguments\":[{\"name\":\"str\",\"description\":\"Data string that has been converted to the current SAS session encoding.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n0ned70hykpoajn1ngoh39ogcxa5\"},{\"name\":\"instr\",\"description\":\"input data string.\",\"placeholder\":true,\"optional\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p1t6r1ecpczrynn14ul4i6u7faed\"},{\"name\":\"Unicode\",\"description\":\"Unicode character formats\",\"placeholder\":true,\"optional\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n15dhc3b7rgkifn1n24tuof2tlq0\"}]},\"supportSiteInformation\":{\"docsetId\":\"nlsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p1s61kmqg61m29n109i6dz4ivkbw.htm\"}},{\"name\":\"UNICODEC\",\"description\":\"Converts characters in the current SAS session encoding to Unicode characters.\",\"syntax\":{\"help\":\"STR=UNICODEC (&lt;*instr*&gt; (,&lt;Unicode type&gt; ))\",\"arguments\":[{\"name\":\"str\",\"description\":\"data string that has been converted to Unicode encoding.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n0f006bjg9kvomn1so4wgippvazl\"},{\"name\":\"instr\",\"description\":\"input data string.\",\"placeholder\":true,\"optional\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n1od5wpzaieu9yn13fjcp4l1xthz\"},{\"name\":\"Unicode\",\"description\":\"Unicode character formats\",\"placeholder\":true,\"optional\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p0ieavwol8h8okn11i3ylthtless\"}]},\"supportSiteInformation\":{\"docsetId\":\"nlsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n16dtsekpfhk8cn1skrvzvsk1yhv.htm\"}},{\"name\":\"UNICODELEN\",\"description\":\"Specifies the length of the character unit for the Unicode data.\",\"syntax\":{\"help\":\"UNICODELEN ()\"},\"supportSiteInformation\":{\"docsetId\":\"nlsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p1x57e8q7hagwun1ow6v5ms1u4tt.htm\"}},{\"name\":\"UNICODEWIDTH\",\"description\":\"Specifies the length of a display unit for the Unicode data.\",\"syntax\":{\"help\":\"UNICODEWIDTH ()\"},\"supportSiteInformation\":{\"docsetId\":\"nlsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p0m35kkoup174wn1xb050indxd97.htm\"}},{\"name\":\"UNIFORM\",\"description\":\"Returns a random variate from a uniform distribution.\",\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p07gm8ga3268xhn1kcttjk8ctori.htm\"}},{\"name\":\"UPCASE\",\"description\":\"Converts all lowercase single-width English alphabet letters in an argument to uppercase.\",\"syntax\":{\"help\":\"UPCASE (*argument*)\",\"arguments\":[{\"name\":\"argument\",\"description\":\"specifies a character constant, variable, or expression.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n0mwfg8vvbjoy6n14oiraqjuwpf3\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p0ilulfezdl4ykn17295t8tnh4xc.htm\"}},{\"name\":\"UPPER\",\"description\":\"Converts the case of a character string to uppercase.\",\"syntax\":{\"help\":\"UPPER  (*sql-expression*)\",\"arguments\":[{\"name\":\"sql-expression\",\"description\":\"See .\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n01eswleqjwbuqn1ooj9cel0zczs\"}]},\"supportSiteInformation\":{\"docsetId\":\"sqlproc\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p1uoffmztrgvq5n172q5v0wiag7d.htm\"}},{\"name\":\"URLDECODE\",\"description\":\"Returns a string that was decoded using the URL escape syntax.\",\"syntax\":{\"help\":\"URLDECODE (*argument*)\",\"arguments\":[{\"name\":\"argument\",\"description\":\"specifies a character constant, variable, or expression.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p1bv51i6z3csyun1lwtao1pkc4pl\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p05qscijn2kj30n1ofetqnn8abob.htm\"}},{\"name\":\"URLENCODE\",\"description\":\"Returns a string that was encoded using the URL escape syntax.\",\"syntax\":{\"help\":\"URLENCODE (*argument*)\",\"arguments\":[{\"name\":\"argument\",\"description\":\"specifies a character constant, variable, or expression.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p1amssw8u4ib4cn1r7ca7za5ehxc\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p19ckwqexa3ir8n19hbvcz73lhmj.htm\"}},{\"name\":\"USS\",\"description\":\"Returns the uncorrected sum of squares of the nonmissing arguments.\",\"syntax\":{\"help\":\"USS  (&lt;ALL | DISTINCT&gt;*sql-expression*)\",\"arguments\":[{\"name\":\"sql-expression\",\"description\":\"specifies any valid SQL expression. See .\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n1la729b99ae22n1vtf2j1hj6fsi\"},{\"name\":\"ALL\",\"description\":\"(default) specifies that all missing values returned by sql-expression be counted.\",\"optional\":true,\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"p0vyws94071u1vn1eepdof42m8ty\"},{\"name\":\"DISTINCT\",\"description\":\"eliminates duplicate rows returned by sql-expression from the count.\",\"optional\":true,\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"p0yrm53wds3kzdn1degthopd5l95\"}]},\"supportSiteInformation\":{\"docsetId\":\"sqlproc\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n0np92razyq5l6n1o2x6peabjhw5.htm\"}},{\"name\":\"UUIDGEN\",\"description\":\"Returns a Universally Unique Identifier (UUID) as a string of 36 hexidecimal characters and hyphens or a binary value of 16 bytes.\",\"syntax\":{\"help\":\"UUIDGEN (&lt;*maximum-warnings*&lt;, *binary-result*&gt;&gt;)\",\"arguments\":[{\"name\":\"maximum-warnings\",\"description\":\"specifies an integer value that represents the maximum number of warnings that this function writes to the log.\",\"placeholder\":true,\"optional\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n00gazckzbe8jgn0zlgfxqg03fjf\"},{\"name\":\"binary-result\",\"description\":\"specifies an integer value that indicates whether this function should return a binary result. Nonzero indicates a binary result should be returned. Zero indicates that a character result should be returned.\",\"placeholder\":true,\"optional\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p1ewy1z4412wc5n1gbfetc3i42c0\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n0y09yghr5r11cn1b4ocojwqvrqe.htm\"}},{\"name\":\"VAR\",\"description\":\"Returns the variance of the nonmissing arguments.\",\"syntax\":{\"help\":\"VAR  (&lt;ALL | DISTINCT&gt;*sql-expression*)\",\"arguments\":[{\"name\":\"sql-expression\",\"description\":\"specifies any valid SQL expression. See .\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p13vc2g4zsz1ozn1n42z80mf3fzo\"},{\"name\":\"ALL\",\"description\":\"(default) specifies that all missing values returned by sql-expression be counted.\",\"optional\":true,\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"p023p34e0ry6qqn19vlbgn3rjlql\"},{\"name\":\"DISTINCT\",\"description\":\"eliminates duplicate rows returned by sql-expression from the count.\",\"optional\":true,\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"n08h9slmm3h2v6n1kexgg12607j4\"}]},\"supportSiteInformation\":{\"docsetId\":\"sqlproc\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n1i08r7dbjbjpsn109bdskwn8588.htm\"}},{\"name\":\"VARFMT\",\"description\":\"Returns the format that is assigned to a SAS data set variable.\",\"syntax\":{\"help\":\"VARFMT (*data-set-id*, *variable-number*)\",\"arguments\":[{\"name\":\"data-set-id\",\"description\":\"specifies the data set identifier that the OPEN function returns.\",\"placeholder\":true,\"dataTypes\":[\"dataSet\"],\"supportSiteTargetFragment\":\"n19hlgxku5npn6n1806gb9f0i5m7\"},{\"name\":\"variable-number\",\"description\":\"specifies the number of the variable's position in the SAS data set.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p078k3rm9bztccn12b7tznb0hc6b\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p056ib8qfzbb4sn1n4869q6v7inz.htm\"}},{\"name\":\"VARINFMT\",\"description\":\"Returns the informat that is assigned to a SAS data set variable.\",\"syntax\":{\"help\":\"VARINFMT (*data-set-id*, *variable-number*)\",\"arguments\":[{\"name\":\"data-set-id\",\"description\":\"specifies the data set identifier that the OPEN function returns.\",\"placeholder\":true,\"dataTypes\":[\"dataSet\"],\"supportSiteTargetFragment\":\"p1tv2r8hh1j81un115p3mszzuutw\"},{\"name\":\"variable-number\",\"description\":\"specifies the number of the variable's position in the SAS data set.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p18ezovncshy8vn1ns6c55uazom1\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p0xlwfqxt0v526n1dquoo72b5a0l.htm\"}},{\"name\":\"VARLABEL\",\"description\":\"Returns the label that is assigned to a SAS data set variable.\",\"syntax\":{\"help\":\"VARLABEL (*data-set-id*, *variable-number*)\",\"arguments\":[{\"name\":\"data-set-id\",\"description\":\"specifies the data set identifier that the OPEN function returns.\",\"placeholder\":true,\"dataTypes\":[\"dataSet\"],\"supportSiteTargetFragment\":\"n1l4g8hwxcm4wgn1dl9qe3nyv1vu\"},{\"name\":\"variable-number\",\"description\":\"specifies the number of the variable's position in the SAS data set.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p02xol44pmh3f9n12cf5f42uldb0\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n15lqt6a2pdg1in1w295ql8wel1a.htm\"}},{\"name\":\"VARLEN\",\"description\":\"Returns the length of a SAS data set variable.\",\"syntax\":{\"help\":\"VARLEN (*data-set-id*, *variable-number*)\",\"arguments\":[{\"name\":\"data-set-id\",\"description\":\"specifies the data set identifier that the OPEN function returns.\",\"placeholder\":true,\"dataTypes\":[\"dataSet\"],\"supportSiteTargetFragment\":\"n12hss2yuyn6san1lnp9sdllkq6g\"},{\"name\":\"variable-number\",\"description\":\"specifies the number of the variable's position in the SAS data set.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n0nmnof94s8sp2n1im9tbjsosnr8\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n1wqu81tvxz4zpn1f6m6mi8ca9zt.htm\"}},{\"name\":\"VARNAME\",\"description\":\"Returns the name of a SAS data set variable.\",\"syntax\":{\"help\":\"VARNAME (*data-set-id*, *variable-number*)\",\"arguments\":[{\"name\":\"data-set-id\",\"description\":\"specifies the data set identifier that the OPEN function returns.\",\"placeholder\":true,\"dataTypes\":[\"dataSet\"],\"supportSiteTargetFragment\":\"p13k4xjdjpw3mdn1wjr1apokpmnx\"},{\"name\":\"variable-number\",\"description\":\"specifies the number of the variable's position in the SAS data set.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p09y0qd62p0w3yn1rbnvwwtay416\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n0s4l1nzsywywtn1ekyqza2zmttb.htm\"}},{\"name\":\"VARNUM\",\"description\":\"Returns the number of a variable's position in a SAS data set.\",\"syntax\":{\"help\":\"VARNUM (*data-set-id*, *variable-name*)\",\"arguments\":[{\"name\":\"data-set-id\",\"description\":\"specifies the data set identifier that the OPEN function returns.\",\"placeholder\":true,\"dataTypes\":[\"dataSet\"],\"supportSiteTargetFragment\":\"n1j40a2kds71aun0zw23xo34n68j\"},{\"name\":\"variable-name\",\"description\":\"specifies the variable's name.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p1du2kiyt08ju9n0zkc7oedr17j3\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n1bai32d7gp3yen1dq2fvfbizx0s.htm\"}},{\"name\":\"VARRAY\",\"description\":\"Returns a value that indicates whether the specified name is an array.\",\"syntax\":{\"help\":\"VARRAY (*name*)\",\"arguments\":[{\"name\":\"name\",\"description\":\"specifies a name that is expressed as a scalar or as an array reference.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p08qufb513j7ayn1j8nlxp2zi1gk\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p1vh3frx6nh45mn1t9kt2azul7xp.htm\"}},{\"name\":\"VARRAYX\",\"description\":\"Returns a value that indicates whether the value of the specified argument is an array.\",\"syntax\":{\"help\":\"VARRAYX (*expression*)\",\"arguments\":[{\"name\":\"expression\",\"description\":\"specifies a character constant, variable, or expression.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n02atvt1haft2wn16qjohu9mak4x\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n0z66nbqhta5run1i20cucskiblv.htm\"}},{\"name\":\"VARTRANSCODE\",\"description\":\"Returns the transcode attribute of a SAS data set variable.\",\"syntax\":{\"help\":\"VARTRANSCODE (*data-set-id*, *var-num*)\",\"arguments\":[{\"name\":\"data-set-id\",\"description\":\"specifies the data set identifier that the OPEN function returns.\",\"placeholder\":true,\"dataTypes\":[\"dataSet\"],\"supportSiteTargetFragment\":\"n089fl65q49h8ln16ml4o3s8m14w\"},{\"name\":\"var-num\",\"description\":\"specifies the position of the variable in the SAS data set.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p02jkruv010ae1n1lheqob12oorv\"}]},\"supportSiteInformation\":{\"docsetId\":\"nlsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n18us6hxhpqfvnn19qzkhkymcpbc.htm\"}},{\"name\":\"VARTYPE\",\"description\":\"Returns the data type of a SAS data set variable.\",\"syntax\":{\"help\":\"VARTYPE (*data-set-id*, *variable-number*)\",\"arguments\":[{\"name\":\"data-set-id\",\"description\":\"specifies the data set identifier that the OPEN function returns.\",\"placeholder\":true,\"dataTypes\":[\"dataSet\"],\"supportSiteTargetFragment\":\"n1kti8f0uybs9pn1jdiiaz0j6d0w\"},{\"name\":\"variable-number\",\"description\":\"specifies the number of the variable's position in the SAS data set.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p105f4jyo9sl8jn1sa54gxhaatbn\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p097vv7r6n97p9n15g2g5epgs7j1.htm\"}},{\"name\":\"VERIFY\",\"description\":\"Returns the position of the first character in a string that is not in specified data strings.\",\"syntax\":{\"help\":\"VERIFY (*source*, *excerpt-1*&lt;,  ...*excerpt-n*&gt;)\",\"arguments\":[{\"name\":\"source\",\"description\":\"specifies a character constant, variable, or expression.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p04r2i4hkhgg2fn1pd16gsldk3g6\"},{\"name\":\"excerpt\",\"description\":\"specifies a character constant, variable, or expression. If you specify more than one excerpt, separate the excerpts with a comma.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p16i4gmyjhxghhn1bshxbi8vx5so\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p0aesccozrvg19n1bg83z1jb9nid.htm\"}},{\"name\":\"VFORMAT\",\"description\":\"Returns the format that is associated with the specified variable.\",\"syntax\":{\"help\":\"VFORMAT (*variable*)\",\"arguments\":[{\"name\":\"variable\",\"description\":\"specifies a variable that is expressed as a scalar or as an array reference.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p0nj8030rq5hhnn18bqgrutgv849\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p0gph5udn7gkvdn1cnc641x4212a.htm\"}},{\"name\":\"VFORMATD\",\"description\":\"Returns the decimal value of the format that is associated with the specified variable.\",\"syntax\":{\"help\":\"VFORMATD (*variable*)\",\"arguments\":[{\"name\":\"variable\",\"description\":\"specifies a variable that is expressed as a scalar or as an array reference.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p1e8z4zt9q28jyn1gdu5mtyavwyh\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n035j42lxbjhsbn136xarat5u1tw.htm\"}},{\"name\":\"VFORMATDX\",\"description\":\"Returns the decimal value of the format that is associated with the value of the specified argument.\",\"syntax\":{\"help\":\"VFORMATDX (*expression*)\",\"arguments\":[{\"name\":\"expression\",\"description\":\"specifies a SAS character constant, variable, or expression that evaluates to a variable name.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p1bvhgr7hgxvtkn1eyho7quptizs\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p1gb3gixo9vulyn13emotk19vyep.htm\"}},{\"name\":\"VFORMATN\",\"description\":\"Returns the format name that is associated with the specified variable.\",\"syntax\":{\"help\":\"VFORMATN (*variable*)\",\"arguments\":[{\"name\":\"variable\",\"description\":\"specifies a variable that is expressed as a scalar or as an array reference.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n0qvthp77xyukln12cfokpfvif92\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n16l5lppt6kfcrn1l224mp2erfk8.htm\"}},{\"name\":\"VFORMATNX\",\"description\":\"Returns the format name that is associated with the value of the specified argument.\",\"syntax\":{\"help\":\"VFORMATNX (*expression*)\",\"arguments\":[{\"name\":\"expression\",\"description\":\"specifies a character constant, variable, or expression that evaluates to a variable name.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n1vcppx15rjy3hn1a8st4jwte2al\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p18hb6yfh3tldon1it5tutefsl3m.htm\"}},{\"name\":\"VFORMATW\",\"description\":\"Returns the format width that is associated with the specified variable.\",\"syntax\":{\"help\":\"VFORMATW (*variable*)\",\"arguments\":[{\"name\":\"variable\",\"description\":\"specifies a variable that is expressed as a scalar or as an array reference.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p191fp5e2z5g4vn1b1mc3ht5en4w\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p11z9ikqo63i08n1880k8210m52q.htm\"}},{\"name\":\"VFORMATWX\",\"description\":\"Returns the format width that is associated with the value of the specified argument.\",\"syntax\":{\"help\":\"VFORMATWX (*expression*)\",\"arguments\":[{\"name\":\"expression\",\"description\":\"specifies a character constant, variable, or expression that evaluates to a variable name.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p03ebx7c04fs8in1u93c70gq2qwf\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n03r9rr4qp7iyvn177n7bfjytml0.htm\"}},{\"name\":\"VFORMATX\",\"description\":\"Returns the format that is associated with the value of the specified argument.\",\"syntax\":{\"help\":\"VFORMATX (*expression*)\",\"arguments\":[{\"name\":\"expression\",\"description\":\"specifies a character constant, variable, or expression that evaluates to a variable name.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p0qq8bth6j4h64n11bwtc3rqqk0c\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p1k4nwbca8tywun1cpclx7q6mjpa.htm\"}},{\"name\":\"VINARRAY\",\"description\":\"Returns a value that indicates whether the specified variable is a member of an array.\",\"syntax\":{\"help\":\"VINARRAY (*variable*)\",\"arguments\":[{\"name\":\"variable\",\"description\":\"specifies a variable that is expressed as a scalar or as an array reference.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p0w1080z4uug5in1kys31f25upd8\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p19dvcsagmdhecn162wrs5egkluf.htm\"}},{\"name\":\"VINARRAYX\",\"description\":\"Returns a value that indicates whether the value of the specified argument is a member of an array.\",\"syntax\":{\"help\":\"VINARRAYX (*expression*)\",\"arguments\":[{\"name\":\"expression\",\"description\":\"specifies a character constant, variable, or expression that evaluates to a variable name.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p17axt50rz3tgfn1ockxa6a4u093\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p0x8mrjzkkgsnfn1ltik6gzqdbgt.htm\"}},{\"name\":\"VINFORMAT\",\"description\":\"Returns the informat that is associated with the specified variable.\",\"syntax\":{\"help\":\"VINFORMAT (*variable*)\",\"arguments\":[{\"name\":\"variable\",\"description\":\"specifies a variable that is expressed as a scalar or as an array reference.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n0xu3oodgzaptbn1tlenibsn48im\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n1cer2rowizzqzn1qdftfh4ik44c.htm\"}},{\"name\":\"VINFORMATD\",\"description\":\"Returns the decimal value of the informat that is associated with the specified variable.\",\"syntax\":{\"help\":\"VINFORMATD (*variable*)\",\"arguments\":[{\"name\":\"variable\",\"description\":\"specifies a variable that is expressed as a scalar or as an array reference.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p1s70f9cltj2k1n1rrls642egi9t\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n1u7m74r8dqa0in1o1elmtzykaep.htm\"}},{\"name\":\"VINFORMATDX\",\"description\":\"Returns the decimal value of the informat that is associated with the value of the specified variable.\",\"syntax\":{\"help\":\"VINFORMATDX (*expression*)\",\"arguments\":[{\"name\":\"expression\",\"description\":\"specifies a character constant, variable, or expression that evaluates to a variable name.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p15qftybc5o7u2n11dhry4keaeb0\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p1j8406jm3lxckn0zwyanfgwi5fk.htm\"}},{\"name\":\"VINFORMATN\",\"description\":\"Returns the informat name that is associated with the specified variable.\",\"syntax\":{\"help\":\"VINFORMATN (*variable*)\",\"arguments\":[{\"name\":\"variable\",\"description\":\"specifies a variable that is expressed as a scalar or as an array reference.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n0eubqupy0jhpmn1hb01ud855tyz\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p0unlim3ir9xlsn187947q4840ww.htm\"}},{\"name\":\"VINFORMATNX\",\"description\":\"Returns the informat name that is associated with the value of the specified argument.\",\"syntax\":{\"help\":\"VINFORMATNX (*expression*)\",\"arguments\":[{\"name\":\"expression\",\"description\":\"specifies a character constant, variable, or expression that evaluates to a variable name.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n1vjur4jmug9hhn100e9uxohiwz9\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p0lu608g9vgwb7n1wwa9q9mavaw4.htm\"}},{\"name\":\"VINFORMATW\",\"description\":\"Returns the informat width that is associated with the specified variable.\",\"syntax\":{\"help\":\"VINFORMATW (*variable*)\",\"arguments\":[{\"name\":\"variable\",\"description\":\"specifies a variable that is expressed as a scalar or as an array reference.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n1u8wp914r6ut6n1d2arhzqiauay\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p1c2v6slesheoln11d2ad6lxmy76.htm\"}},{\"name\":\"VINFORMATWX\",\"description\":\"Returns the informat width that is associated with the value of the specified argument.\",\"syntax\":{\"help\":\"VINFORMATWX (*expression*)\",\"arguments\":[{\"name\":\"expression\",\"description\":\"specifies a character constant, variable, or expression that evaluates to a variable name.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n01aukl8prs3jhn15c1puzahp1a3\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n06fr0o40bq2jhn0zpu6b0ga1jtm.htm\"}},{\"name\":\"VINFORMATX\",\"description\":\"Returns the informat that is associated with the value of the specified argument.\",\"syntax\":{\"help\":\"VINFORMATX (*expression*)\",\"arguments\":[{\"name\":\"expression\",\"description\":\"specifies a character constant, variable, or expression that evaluates to a variable name.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n18c43pd3dam3jn174fknz86lbeh\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p17ocktlyat1aen1hvwt21900yic.htm\"}},{\"name\":\"VLABEL\",\"description\":\"Returns the label that is associated with the specified variable.\",\"syntax\":{\"help\":\"VLABEL (*variable*)\",\"arguments\":[{\"name\":\"variable\",\"description\":\"specifies a variable that is expressed as a scalar or as an array reference.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n004n8rf3jscohn1f820mv7jzv9y\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n0yyb3bsubs6lcn1mi8rlxmh47om.htm\"}},{\"name\":\"VLABELX\",\"description\":\"Returns the label that is associated with the value of the specified argument.\",\"syntax\":{\"help\":\"VLABELX (*expression*)\",\"arguments\":[{\"name\":\"expression\",\"description\":\"specifies a character constant, variable, or expression that evaluates to a variable name.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n02b7m79t41vdin12mdbfqaggv5p\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p0j5lbpcfhuuo5n1rrlbo7e3n4a7.htm\"}},{\"name\":\"VLENGTH\",\"description\":\"Returns the compile-time (allocated) size of the specified variable.\",\"syntax\":{\"help\":\"VLENGTH (*variable*)\",\"arguments\":[{\"name\":\"variable\",\"description\":\"specifies a variable that is expressed as a scalar or as an array reference.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n074qn3xoooh2kn1naz8zoryg5x2\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n1az1whqdxdpa6n1p9pyspnd9xlz.htm\"}},{\"name\":\"VLENGTHX\",\"description\":\"Returns the compile-time (allocated) size for the variable with a name that is the same as the value of the argument.\",\"syntax\":{\"help\":\"VLENGTHX (*expression*)\",\"arguments\":[{\"name\":\"expression\",\"description\":\"specifies a character constant, variable, or expression that evaluates to a variable name.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n0nxqtf2zibeq4n155yzlbzxao4t\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n0lgtp6zcrwsqrn1q5noxd3kxpz5.htm\"}},{\"name\":\"VNAME\",\"description\":\"Returns the name of the specified variable.\",\"syntax\":{\"help\":\"VNAME (*variable*)\",\"arguments\":[{\"name\":\"variable\",\"description\":\"specifies a variable that is expressed as a scalar or as an array reference.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n1a8x9p0kccr9ln183yw5g0mxscu\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n1cjm0xdeczcd5n1s7d8ah9x8432.htm\"}},{\"name\":\"VNAMEX\",\"description\":\"Validates the value of the specified argument as a variable name.\",\"syntax\":{\"help\":\"VNAMEX (*expression*)\",\"arguments\":[{\"name\":\"expression\",\"description\":\"specifies a character constant, variable, or expression.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p1n4vk5asrg6cgn18khw0dy7ptcy\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n12feam738m9p2n10c78sf3bt6en.htm\"}},{\"name\":\"VTRANSCODE\",\"description\":\"Returns a value that indicates whether transcoding is enabled for the specified character variable.\",\"syntax\":{\"help\":\"VTRANSCODE  (*var*)\",\"arguments\":[{\"name\":\"var\",\"description\":\"specifies a character variable that is expressed as a scalar or as an array reference.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n0d77vsk3dpsjkn1i4o7okougjsz\"}]},\"supportSiteInformation\":{\"docsetId\":\"nlsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p04o3gzxcpgx60n1bi0a6wh07jzb.htm\"}},{\"name\":\"VTRANSCODEX\",\"description\":\"Returns a value that indicates whether transcoding is enabled for the specified argument.\",\"syntax\":{\"help\":\"VTRANSCODEX  (*var*)\",\"arguments\":[{\"name\":\"var\",\"description\":\"specifies any SAS character expression that evaluates to a character variable name.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p04awe5u052slfn1etue9kz0fu82\"}]},\"supportSiteInformation\":{\"docsetId\":\"nlsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n1htcpcp8jqs9sn1rhpyshd0n53b.htm\"}},{\"name\":\"VTYPE\",\"description\":\"Returns the type (character or numeric) of the specified variable.\",\"syntax\":{\"help\":\"VTYPE (*variable*)\",\"arguments\":[{\"name\":\"variable\",\"description\":\"specifies a variable that is expressed as a scalar or as an array reference.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n0il8fa6cgjtpsn1bja3cefcc1n6\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n161ybp2fgdlotn1m7hs0slma0al.htm\"}},{\"name\":\"VTYPEX\",\"description\":\"Returns the type (character or numeric) for the value of the specified argument.\",\"syntax\":{\"help\":\"VTYPEX (*expression*)\",\"arguments\":[{\"name\":\"expression\",\"description\":\"specifies a character constant, variable, or expression that evaluates to a variable name.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n0hkx4h155conin1d0ssbcuu9v3t\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n15o7935pvbguvn1qe1pn60jjorb.htm\"}},{\"name\":\"VVALUE\",\"description\":\"Returns the formatted value that is associated with the variable that you specify.\",\"syntax\":{\"help\":\"VVALUE (*variable*)\",\"arguments\":[{\"name\":\"variable\",\"description\":\"specifies a variable that is expressed as a scalar or as an array reference.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n1bdlz6yrvk296n18w2a566r1y24\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p06uh7sqlh94nxn1gezyms3e9njn.htm\"}},{\"name\":\"VVALUEX\",\"description\":\"Returns the formatted value that is associated with the argument that you specify.\",\"syntax\":{\"help\":\"VVALUEX (*expression*)\",\"arguments\":[{\"name\":\"expression\",\"description\":\"specifies a character constant, variable, or expression that evaluates to a variable name.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p1rgaxb76i6xvvn0zkoysva3jjzd\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n1x70jnnpttwy0n1gf5rvuivgyry.htm\"}},{\"name\":\"WEEK\",\"description\":\"Returns the week-number value.\",\"syntax\":{\"help\":\"WEEK (&lt;*sas-date*&gt;, &lt;*'descriptor'*&gt;)\",\"arguments\":[{\"name\":\"sas-date\",\"description\":\"specifies the SAS data value. If the sas-date argument is not specified, the WEEK function returns the week-number value of the current date.\",\"placeholder\":true,\"optional\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p1g6xy8irwuiinn1mnm74we75o8n\"},{\"name\":\"U\",\"description\":\"specifies the number-of-the-week within the year. Sunday is considered the first day of the week. The number-of-the-week value is represented as a decimal number in the range 0–53. Week 53 has no special meaning. The value of week('31dec2020'd, 'u') is 52. U is the default value.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p0i79ocuwn696un122jynnm9gda8\"},{\"name\":\"V\",\"description\":\"specifies the number-of-the-week whose value is represented as a decimal number in the range 1–53. Monday is considered the first day of the week and week 1 of the year is the week that includes both January 4 and the first Thursday of the year. If the first Monday of January is the 2nd, 3rd, or 4th, the preceding days are part of the last week of the preceding year.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p0viazv0f795kon1a8axmxdi2kt7\"},{\"name\":\"W\",\"description\":\"specifies the number-of-the-week within the year. Monday is considered the first day of the week. The number-of-the-week value is represented as a decimal number in the range 0–53. Week 53 has no special meaning. The value of week('31dec2020'd, 'w') is 52.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n12lunso19p7hjn1urc1lcz8y342\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n1ka2ulrvrjlasn0z7beco2yrgas.htm\"}},{\"name\":\"WEEKDAY\",\"description\":\"From a SAS date value, returns an integer that corresponds to the day of the week.\",\"syntax\":{\"help\":\"WEEKDAY (*date*)\",\"arguments\":[{\"name\":\"date\",\"description\":\"specifies a SAS expression that represents a SAS date value.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p175gca46rhvc1n1ofk0ou63jqh7\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p0ahi8tk3trkv5n173sil9hd7c62.htm\"}},{\"name\":\"WHICHC\",\"description\":\"Searches for a character value that is equal to the first argument, and returns the index of the first matching value.\",\"syntax\":{\"help\":\"WHICHC (*string*, *value-1*&lt;, *value-2*,  ..., *value-n*&gt;)\",\"arguments\":[{\"name\":\"string\",\"description\":\"is a character constant, variable, or expression that specifies the value to search for.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p0vlnq1e8noob7n1ajy6ppenwzvx\"},{\"name\":\"value\",\"description\":\"is a character constant, variable, or expression that specifies the value to be searched.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p0rw715eeevgd2n10vbbe5p28rkk\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p0jfvenvsqk24vn1q2ypospoq9ij.htm\"}},{\"name\":\"WHICHN\",\"description\":\"Searches for a numeric value that is equal to the first argument, and returns the index of the first matching value.\",\"syntax\":{\"help\":\"WHICHN (*argument*, *value-1*&lt;, *value-2*,  ..., *value-n*&gt;)\",\"arguments\":[{\"name\":\"argument\",\"description\":\"is a numeric constant, variable, or expression that specifies the value to search for.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n08f36dq75y0ean1fl2h16l38mox\"},{\"name\":\"value\",\"description\":\"is a numeric constant, variable, or expression that specifies the value to be searched.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p0iei830g9yko4n1icgjt7rperij\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p0zs0pv38mel2jn1in4lte2akx4d.htm\"}},{\"name\":\"WRITE_ARRAY\",\"description\":\"Writes data from a PROC FCMP array variable to a data set that can then be used by SAS programs, macros, and procedures.\",\"syntax\":{\"help\":\"*rc* = WRITE_ARRAY (*data_set_name*, *array_variable*&lt;, '*column_name_1*', '*column_name_2*', ...&gt;);\",\"arguments\":[{\"name\":\"rc\",\"description\":\"is 0 if the function is able to successfully write the data set.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p04ox9v4v8d7pon12jm9zaognd75\"},{\"name\":\"data_set_name\",\"description\":\"specifies the name of the data set to which the array data is written. Data_set_name must be a character literal or variable that contains the member name (libname.memname) of the data set to be created.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n0sifxdijz07jan1erjpp6zuqfz6\"},{\"name\":\"array_variable\",\"description\":\"specifies the PROC FCMP array or matrix variable whose contents are written to data_set_name.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n0tuyzn8eengwpn1qg83881jepu1\"},{\"name\":\"column_name\",\"description\":\"specifies optional names for the columns of the data set that are created.\",\"placeholder\":true,\"optional\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p1m0awenzp1pwan1gygqympmbig7\"}]},\"supportSiteInformation\":{\"docsetId\":\"proc\",\"docsetVersion\":\"v_002\",\"docsetTargetFile\":\"p0e8f46134sg13n13c1yh0a1ocqy.htm\"}},{\"name\":\"YEAR\",\"description\":\"Returns the year from a SAS date value.\",\"syntax\":{\"help\":\"YEAR (*date*)\",\"arguments\":[{\"name\":\"date\",\"description\":\"specifies a SAS expression that represents a SAS date value.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n04rqdlfk1bbx8n18rdfnmyhplcw\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p13eycdrmfb0l8n1492z3wocpt3s.htm\"}},{\"name\":\"YIELDP\",\"description\":\"Returns the yield-to-maturity for a periodic cash flow stream, such as a bond.\",\"syntax\":{\"help\":\"YIELDP (*A*, *c*, *n*, *K*, *k<sub>0</sub>*, *p*)\",\"arguments\":[{\"name\":\"A\",\"description\":\"specifies the face value.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p1ppmpq0elszcmn1xibeyhn9ds56\"},{\"name\":\"c\",\"description\":\"specifies the nominal annual coupon rate, expressed as a fraction.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p19m88dwk9j1lzn0zwupsp1j87or\"},{\"name\":\"n\",\"description\":\"specifies the number of coupons per year.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n1u5wp0hwbim5xn1369a3gygq77a\"},{\"name\":\"K\",\"description\":\"specifies the number of remaining coupons from settlement date to maturity.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p0fnhmem8ytba7n1ueq14reivpz7\"},{\"name\":\"k0\",\"description\":\"specifies the time from settlement date to the next coupon as a fraction of the annual basis.\",\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n1ocqghxhsb549n18ex6mjjig8hq\"},{\"name\":\"p\",\"description\":\"specifies the price with accrued interest.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p17fb6k4jwj975n12n4nh0qldrn5\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p0s4p1ukmj3i5ln1f0l3ntrdcdcv.htm\"}},{\"name\":\"YRDIF\",\"description\":\"Returns the difference in years between two dates according to specified day count conventions; returns a person’s age.\",\"syntax\":{\"help\":\"YRDIF (*start-date*, *end-date*, &lt;*basis*&gt;)\",\"arguments\":[{\"name\":\"start-date\",\"description\":\"specifies a SAS date value that identifies the starting date.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p1jvikdoz55l7nn1v0f3y720kggg\"},{\"name\":\"end-date\",\"description\":\"specifies a SAS date value that identifies the ending date.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p0ojrqg0oha5aen1bjf3iu0i3g80\"},{\"name\":\"'30/360'\",\"description\":\"specifies a 30-day month and a 360-day year in calculating the number of years. Each month is considered to have 30 days, and each year 360 days, regardless of the actual number of days in each month or year.\",\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"n1bji43m83eufcn1n29ixu7ac7ai\"},{\"name\":\"'ACT/ACT'\",\"description\":\"uses the actual number of days between dates in calculating the number of years. SAS calculates this value as the number of days that fall in 365-day years divided by 365 plus the number of days that fall in 366-day years divided by 366.\",\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"p0sday2jeptciwn10dcpc79nhnen\"},{\"name\":\"'ACT/360'\",\"description\":\"uses the actual number of days between dates in calculating the number of years. SAS calculates this value as the number of days divided by 360, regardless of the actual number of days in each year.\",\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"n0ng1e5emh86f4n1p4as8iyt1dju\"},{\"name\":\"'ACT/365'\",\"description\":\"uses the actual number of days between dates in calculating the number of years. SAS calculates this value as the number of days divided by 365, regardless of the actual number of days in each year.\",\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"p06mqguf38rwcmn0zaihno4hj4sp\"},{\"name\":\"'AGE'\",\"description\":\"specifies that a person’s age is computed.\",\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"n0ye5akowfwocwn1cgod1dl09ikf\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p1pmmr2dtec32an1vbsqmm3abil5.htm\"}},{\"name\":\"YYQ\",\"description\":\"Returns a SAS date value from year and quarter year values.\",\"syntax\":{\"help\":\"YYQ (*year*, *quarter*)\",\"arguments\":[{\"name\":\"year\",\"description\":\"specifies a two-digit or four-digit integer that represents the year. The YEARCUTOFF= system option defines the year value for two-digit dates.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p0c9ur8ng4bc7tn1a25qu0ak1iox\"},{\"name\":\"quarter\",\"description\":\"specifies the quarter of the year (1, 2, 3, or 4).\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p13thuxqjrzfqun1sc30b2el6vjy\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n16v79528t1dvkn1bquy9g6ki39q.htm\"}},{\"name\":\"ZIPCITY\",\"description\":\"Returns a city name and the two-character postal code that corresponds to a ZIP code.\",\"syntax\":{\"help\":\"ZIPCITY (*ZIP-code*)\",\"arguments\":[{\"name\":\"ZIP-code\",\"description\":\"specifies a numeric or character expression that contains a five-digit ZIP code.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n0owlabuwfa17xn1bh3l43j11t2z\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n1h2lg5jz7wxh3n1c00jubsktp75.htm\"}},{\"name\":\"ZIPCITYDISTANCE\",\"description\":\"Returns the geodetic distance between two ZIP code locations.\",\"syntax\":{\"help\":\"ZIPCITYDISTANCE (*ZIP-code-1*, *ZIP-code-2*)\",\"arguments\":[{\"name\":\"ZIP-code\",\"description\":\"specifies a numeric or character expression that contains the ZIP code of a location in the United States of America.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n16ktjmq2wfpxxn10ux4irg1l6i3\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n1r333fdkrofhxn10vmhu9bq5m85.htm\"}},{\"name\":\"ZIPFIPS\",\"description\":\"Converts ZIP codes to two-digit FIPS codes.\",\"syntax\":{\"help\":\"ZIPFIPS (*ZIP-code*)\",\"arguments\":[{\"name\":\"ZIP-code\",\"description\":\"specifies a numeric or character expression that contains a five-digit ZIP code.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n1o8nj2a99xzetn1sye5fw6xm8wv\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n0bw9m85v1dynqn16n8u6q1gz5y9.htm\"}},{\"name\":\"ZIPNAME\",\"description\":\"Converts ZIP codes to uppercase state names.\",\"syntax\":{\"help\":\"ZIPNAME (*ZIP-code*)\",\"arguments\":[{\"name\":\"ZIP-code\",\"description\":\"specifies a numeric or character expression that contains a five-digit ZIP code.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n1i3mlpmeixeccn1x5kxq1hsbyog\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p1en5dzvubdabmn1czrqdcq9ozv3.htm\"}},{\"name\":\"ZIPNAMEL\",\"description\":\"Converts ZIP codes to mixed-case state names.\",\"syntax\":{\"help\":\"ZIPNAMEL (*ZIP-code*)\",\"arguments\":[{\"name\":\"ZIP-code\",\"description\":\"specifies a numeric or character expression that contains a five-digit ZIP code.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p0hy0a7vh9bc4rn141iwve3snnix\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n0t0artwb6ncrjn189ptdikni2uj.htm\"}},{\"name\":\"ZIPSTATE\",\"description\":\"Converts ZIP codes to two-character state postal codes.\",\"syntax\":{\"help\":\"ZIPSTATE (*ZIP-code*)\",\"arguments\":[{\"name\":\"ZIP-code\",\"description\":\"specifies a numeric or character expression that contains a valid five-digit ZIP code.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p0qojy8w4olza4n1rgevuwq4u57k\"}]},\"supportSiteInformation\":{\"docsetId\":\"lefunctionsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n1sbbmgodev1j9n1f0gm6wcrrshg.htm\"}},{\"name\":\"DMSRVBATCHJOB\",\"description\":\"Runs a DataFlux data or process job on a DataFlux Data Management Server and returns a job identifier.\",\"syntax\":{\"help\":\"DMSRVBATCHJOB (*job-name*, *host*, *port*&lt;,*parameter-list*&gt;)\",\"arguments\":[{\"name\":\"job-name\",\"description\":\"the DataFlux Data Management Studio job or process as it exists on the specified DataFlux Data Management Studio Server.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n1ab1ot3rcydmen1gf204qlvt677\"},{\"name\":\"host\",\"description\":\"identifies the host of the DataFlux Data Management Server. The host name can be a variable or a literal string. The literal string or the value of the variable is the URL of the server in single quotation marks.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n1u8f95f26lpedn16yyeiwzydvdl\"},{\"name\":\"port\",\"description\":\"identifies the port through which the host communicates with the DataFlux Data Management Server.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n1g2k17oodus6wn17h8r19n5mtwc\"},{\"name\":\"parameter-list\",\"description\":\"the variable list of name and value pairs, where each name and value pair in the list must be defined as an input to the job.\",\"placeholder\":true,\"optional\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p1najauc88xican1urkthhu8f398\"}]},\"supportSiteInformation\":{\"docsetId\":\"dqclref\",\"docsetVersion\":\"v_008\",\"docsetTargetFile\":\"n16n5k2yshx25bn12247zrhr7sfu.htm\"}},{\"name\":\"DMSRVCOPYLOG\",\"description\":\"Copies a job's log file from a DataFlux Data Management Server to a local host.\",\"syntax\":{\"help\":\"DMSRVCOPYLOG (*job-ID*, *host*, *port*, *filename*)\",\"arguments\":[{\"name\":\"job–ID\",\"description\":\"identifies the job that is submitted to a DataFlux Data Management Server. The identifier is previously returned by a function such as DMSRVBATCHJOB.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p0gy8c0kwatpqnn1s6pctmjl9rua\"},{\"name\":\"host\",\"description\":\"identifies the host of the DataFlux Data Management Server. The host name can be a variable or a literal string. The literal string or the value of the variable is the URL of the server in single quotation marks.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n0h2bleqausiudn1q5s1vd7f4es4\"},{\"name\":\"port\",\"description\":\"identifies the port through which the host communicates with the DataFlux Data Management Server.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n03qh4sqva5kzpn12dee6teyqk9v\"},{\"name\":\"filename\",\"description\":\"identifies where the log file is copied on the local host.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n1dwi786mtbbdjn1q9giseqsbcjf\"}]},\"supportSiteInformation\":{\"docsetId\":\"dqclref\",\"docsetVersion\":\"v_008\",\"docsetTargetFile\":\"p0oviheodg6qvyn1r1djh25lj5va.htm\"}},{\"name\":\"DMSRVDELETELOG\",\"description\":\"Deletes a job's log file from a DataFlux Data Management Server.\",\"syntax\":{\"help\":\"DMSRVDELETELOG (*job-ID*, *host*, *port*)\",\"arguments\":[{\"name\":\"job-ID\",\"description\":\"identifies the job submitted to a DataFlux Data Management Server. The identifier is set by a function such as DMSRVBATCHJOB.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p1secm640oabfon1npk5wdv1khzk\"},{\"name\":\"host\",\"description\":\"identifies the host of the DataFlux Data Management Server. The host name can be a variable or a literal string. The literal string or the value of the variable is the URL of the server in single quotation marks.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n1hf34h6s3eg03n1eug429ej1pjz\"},{\"name\":\"port\",\"description\":\"identifies the port through which the host communicates with the DataFlux Data Management Server.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p1t75enuipn02wn1po5pr2v9iwy3\"}]},\"supportSiteInformation\":{\"docsetId\":\"dqclref\",\"docsetVersion\":\"v_008\",\"docsetTargetFile\":\"p006wlf6h3oap5n0za0crs75g6pw.htm\"}},{\"name\":\"DMSRVJOBSTATUS\",\"description\":\"Returns the status of a job that was submitted to a DataFlux Data Management Server.\",\"syntax\":{\"help\":\"DMSRVJOBSTATUS (*job-ID*, *host*, *port*, *time-out*, *interval*)\",\"arguments\":[{\"name\":\"job-ID\",\"description\":\"identifies the job that was submitted to a DataFlux Data Management Server. The identifier is previously set by a function such as DMSRVBATCHJOB.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n0hkt5p5dn3g5cn12mh5udef6323\"},{\"name\":\"host\",\"description\":\"identifies the host of the DataFlux Data Management Server. The host name can be a variable or a literal string. The literal string or the value of the variable is the URL of the server in single quotation marks.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p0p37xlk4fjdx3n113hk2aq8jeac\"},{\"name\":\"port\",\"description\":\"identifies the port through which the host communicates with the DataFlux Data Management Server.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n086jyesf4hc8bn1mdww2easnu8p\"},{\"name\":\"time-out\",\"description\":\"a time in seconds that determines when status information is returned from the host. Valid values are defined as follows:\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p1v3ozg9hwc3l6n1bvw1ru3f0t5y\"},{\"name\":\"interval\",\"description\":\"the repeat period for the return of status information, within the limit that is imposed by the time-out argument.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n1psm6e8j1tiifn1uro85djgp5mn\"}]},\"supportSiteInformation\":{\"docsetId\":\"dqclref\",\"docsetVersion\":\"v_008\",\"docsetTargetFile\":\"n1sljyq64mltjbn1qvrnjo702y41.htm\"}},{\"name\":\"DMSRVKILLJOB\",\"description\":\"Terminates a job that is running on a DataFlux Data Management Server.\",\"syntax\":{\"help\":\"DMSRVKILLJOB (*job-ID*, *host*, *port*)\",\"arguments\":[{\"name\":\"job-ID\",\"description\":\"identifies the job submitted to a DataFlux Data Management Server. The identifier is set by a function such as DMSRVBATCHJOB.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p1kt3ibgkv8nezn0z4b4oetue976\"},{\"name\":\"host\",\"description\":\"identifies the host of the DataFlux Data Management Server. The host name can be a variable or a literal string. The literal string or the value of the variable is the URL of the server in single quotation marks.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p0kynu0elj8e3kn166m62dwcsx3z\"},{\"name\":\"port\",\"description\":\"identifies the port through which the host communicates with the DataFlux Data Management Server.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p0gypayvl16olin131c94e72ekmr\"}]},\"supportSiteInformation\":{\"docsetId\":\"dqclref\",\"docsetVersion\":\"v_008\",\"docsetTargetFile\":\"p0zi77f64v2vebn1p4t6to08voob.htm\"}},{\"name\":\"DMSRVPROFILEJOB\",\"description\":\"Generates a profile from a Data Management server repository.\",\"syntax\":{\"help\":\"DMSRVPROFILEJOB (*job-name*, *host*, *port*,*append-flag***&lt;,*description-character*&gt;)\",\"arguments\":[{\"name\":\"job-name\",\"description\":\"identifies the DataFlux Data Management Profile job as it exists on the specified DataFlux Data Management Server.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p1w7bt3vm3almrn1tigsvfbjtxh4\"},{\"name\":\"host\",\"description\":\"identifies the host of the DataFlux Data Management Server. The host name can be a variable or a literal string. The literal string or the value of the variable is the URL of the server in single quotation marks.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p1fswaf3cuyskln1mxr5zbwmwiyp\"},{\"name\":\"port\",\"description\":\"identifies the port through which the host communicates with the DataFlux Data Management Server.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p0364gydn28dagn19bay29c1qzqv\"},{\"name\":\"append-flag\",\"description\":\"appends or overwrites job results.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p0cmtlqqbt9j9qn1i5djuh7bpu7v\"},{\"name\":\"description-character\",\"description\":\"identifies a character variable whose value describes the current run of the job. The descriptive text is added either to the top of the results file or above the results that are appended to the bottom of the results file.\",\"placeholder\":true,\"optional\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n1483l21job1tqn17dpkzcc8ou4g\"}]},\"supportSiteInformation\":{\"docsetId\":\"dqclref\",\"docsetVersion\":\"v_008\",\"docsetTargetFile\":\"n03xpphevo3tohn1tn4z6tnk2gjk.htm\"}},{\"name\":\"DMSRVUSER\",\"description\":\"Registers a user on a DataFlux Data Management Server.\",\"syntax\":{\"help\":\"DMSRVUSER (*user-ID*, *password*)\",\"arguments\":[{\"name\":\"user-ID\",\"description\":\"identifies a user-ID according to the registry in a DataFlux Data Management Server.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n1opvb7xu0qannn1vssyvbwgng3q\"},{\"name\":\"password\",\"description\":\"identifies the associated user-ID user according to the registry in the DataFlux Data Management Server. The password can be plain text or encoded in SAS.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n0wbdfmysmr75vn1efq28sfsurwa\"}]},\"supportSiteInformation\":{\"docsetId\":\"dqclref\",\"docsetVersion\":\"v_008\",\"docsetTargetFile\":\"p14tm914v23n70n1cmlza5innwop.htm\"}},{\"name\":\"DMSRVVER\",\"description\":\"Returns the version of the DataFlux Data Management Server.\",\"syntax\":{\"help\":\"DMSRVVER (*host*, *port*)\",\"arguments\":[{\"name\":\"host\",\"description\":\"identifies the host of the DataFlux Data Management Server. The host name can be a variable or a literal string. The literal string or the value of the variable is the URL of the server in single quotation marks.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p1kednbhvsia6yn1cr88gux8fp43\"},{\"name\":\"port\",\"description\":\"identifies the port through which the host communicates with the DataFlux Data Management Server.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n1osuzjd7eb0v7n17hmrae0negc4\"}]},\"supportSiteInformation\":{\"docsetId\":\"dqclref\",\"docsetVersion\":\"v_008\",\"docsetTargetFile\":\"n0pgh7q6xaai9zn1jehsitgxditu.htm\"}},{\"name\":\"DQCASE\",\"description\":\"Returns a character value with standardized capitalization.\",\"syntax\":{\"help\":\"DQCASE (*character-value*, '*case-definition*'&lt;, '*locale*'&gt;)\",\"arguments\":[{\"name\":\"character-value\",\"description\":\"specifies the input value as a constant, variable, or expression that resolves to a constant or variable.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p0pl4u60tv817en1teokp2gdhn9z\"},{\"name\":\"case-definition\",\"description\":\"specifies the case definition that is referenced to generate the return value. The definition must be available in the specified locale. The argument can be specified as a constant, a variable, or an expression that evaluates to a constant or variable.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p0yi1dlw3megjfn1s3bqx11mq9f9\"},{\"name\":\"locale\",\"description\":\"specifies a constant, variable, or expression that evaluates to the ISO code of the locale.\",\"placeholder\":true,\"optional\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n1xjyoebgmg367n1elpkxgkocbnk\"}]},\"supportSiteInformation\":{\"docsetId\":\"dqclref\",\"docsetVersion\":\"v_008\",\"docsetTargetFile\":\"n14lrw5asj5l8ln1rpemdsjea4ff.htm\"}},{\"name\":\"DQEXTINFOGET\",\"description\":\"Returns the names of the tokens that are supported by an extraction definition.\",\"syntax\":{\"help\":\"DQEXTINFOGET ('*extraction-definition*'&lt;,'*locale*'&gt;)\",\"arguments\":[{\"name\":\"extraction-definition\",\"description\":\"specifies the name of the extraction definition, which is referenced to generate the return value. The definition must be supported by the locale. The argument can be specified as a constant, a variable, or an expression that evaluates to a constant or variable.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p1hvzs2dnur3lnn1rq4bl4hzmgjk\"},{\"name\":\"locale\",\"description\":\"specifies a constant, variable, or expression that evaluates to the ISO code of the locale.\",\"placeholder\":true,\"optional\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n0lbj5xavvj09zn1bfdw83u8slky\"}]},\"supportSiteInformation\":{\"docsetId\":\"dqclref\",\"docsetVersion\":\"v_008\",\"docsetTargetFile\":\"p1f8pa0k3xbmpjn1ubwqnxk4hb5u.htm\"}},{\"name\":\"DQEXTRACT\",\"description\":\"Returns a delimited string of extraction token values from an input character value.\",\"syntax\":{\"help\":\"\\n\\tDQEXTRACT ('character-value', 'extraction-definition'<,'locale'>)\",\"arguments\":[{\"name\":\"character-value\",\"description\":\"specifies the input value as a constant, variable, or expression that evaluates to a constant or variable.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n1t81ktq5gj485n1r75v86s8dvy8\"},{\"name\":\"extraction-definition\",\"description\":\"specifies the name of the extraction definition, which is referenced to generate the return value. The definition must be supported in the locale. The argument can be specified as a constant, a variable, or an expression that evaluates to a constant or variable.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n1ftzlkqq30uv0n11pgld54fc0ql\"},{\"name\":\"locale\",\"description\":\"specifies a constant, variable, or expression that evaluates to the ISO code of the locale.\",\"placeholder\":true,\"optional\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p1xx8c8x0gnyzin1a4y2z6td5fvp\"}]},\"supportSiteInformation\":{\"docsetId\":\"dqclref\",\"docsetVersion\":\"v_008\",\"docsetTargetFile\":\"p0jrn4ze0odd3kn1moj0g9qe3ikw.htm\"}},{\"name\":\"DQEXTTOKENGET\",\"description\":\"Returns an extraction token value from a delimited string of extraction token values.\",\"syntax\":{\"help\":\"DQEXTTOKENGET (*delimited-string*, '*token*', '*extraction-definition*'&lt;,'*locale*'&gt;)\",\"arguments\":[{\"name\":\"delimited-string\",\"description\":\"specifies the input value, which must be a delimited string of extraction token values. The input value is required to have been generated with the extraction-definition. The argument can be specified as a variable or an expression that evaluates to a variable.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n1whdtwgl5a39pn1wre5ebifs9vq\"},{\"name\":\"token\",\"description\":\"specifies the name of the extraction token, the value of which is returned by the function. The token must be supported by the extraction-definition. The argument can be specified as a constant, a variable, or an expression that evaluates to a constant or variable.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p0yagvsgmg5qi0n109kgpra5nd5f\"},{\"name\":\"extraction-definition\",\"description\":\"specifies the extraction definition that is referenced to generate the return value. The definition must be supported by the locale. The argument can be specified as a constant, a variable, or an expression that evaluates to a constant or variable.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p18mtox2h0xm4ln1qe1qsd1dioe5\"},{\"name\":\"locale\",\"description\":\"specifies a constant, variable, or expression that evaluates to the ISO code of the locale.\",\"placeholder\":true,\"optional\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n11nzmbxjbw5iin1wxplp21lham1\"}]},\"supportSiteInformation\":{\"docsetId\":\"dqclref\",\"docsetVersion\":\"v_008\",\"docsetTargetFile\":\"p0qynfzuxkb1qdn10gr6jnex7nrd.htm\"}},{\"name\":\"DQEXTTOKENPUT\",\"description\":\"Inserts an extraction token value into a delimited string of extraction token values and returns the updated delimited string.\",\"syntax\":{\"help\":\"DQEXTTOKENPUT ('delimited-string', 'token-value', 'token-name',\\n 'extraction-definition'<,'locale'>) \",\"arguments\":[{\"name\":\"delimited-string\",\"description\":\"specifies the input value, which must be a delimited string of extraction token values. The input value is required to have been generated with the extraction-definition. The argument can be specified as a variable or an expression that evaluates to a variable.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p1bkqdvmo5aliyn1xam4q9amklio\"},{\"name\":\"token-value\",\"description\":\"specifies the value of the token that is to be inserted into the delimited-string.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p11r08lpgs99m9n161gkivtf7afx\"},{\"name\":\"token-name\",\"description\":\"specifies the name of the token that receives the inserted token-value. The token must be supported by the extraction-definition.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n00u1dojfgz1fjn183gf5v4ch7nq\"},{\"name\":\"extraction-definition\",\"description\":\"specifies the name of the extraction definition that is referenced to generate the return value. The specified definition must be the same definition that was used to generate the delimited-string. The argument can be specified as a constant, variable, or an expression that evaluates to a constant or variable. The definition must be supported by the locale.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n1juk9kb33vavpn1dl5xj0g6gj8g\"},{\"name\":\"locale\",\"description\":\"specifies a constant, variable, or expression that evaluates to the ISO code of the locale.\",\"placeholder\":true,\"optional\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n13bklv9z871kgn1mkx8z8dtedkm\"}]},\"supportSiteInformation\":{\"docsetId\":\"dqclref\",\"docsetVersion\":\"v_008\",\"docsetTargetFile\":\"p1v6of8g8l6vsrn117b1m3h57qyv.htm\"}},{\"name\":\"DQGENDER\",\"description\":\"Returns a gender determination from the name of an individual.\",\"syntax\":{\"help\":\"DQGENDER (*character-value*, '*gender-analysis-definition*'&lt;,'*locale*'&gt;)\",\"arguments\":[{\"name\":\"character-value\",\"description\":\"specifies the input value as a character constant, variable, or expression that evaluates to a constant or variable.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n1csq1bisorso2n1luaf3a6fwhyt\"},{\"name\":\"gender-analysis-definition\",\"description\":\"specifies the gender analysis definition, which is referenced to generate the return value. The definition must be supported in the locale. The argument can be specified as a constant, variable, or expression that evaluates to a constant or an expression.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p0kls8gq0nijz1n1cjxnrsxqoezf\"},{\"name\":\"locale\",\"description\":\"specifies a constant, variable, or expression that evaluates to the ISO code of the locale.\",\"placeholder\":true,\"optional\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n1g96xveac06k1n17icsi51yn2qq\"}]},\"supportSiteInformation\":{\"docsetId\":\"dqclref\",\"docsetVersion\":\"v_008\",\"docsetTargetFile\":\"n17i7r8v1bqz7tn1g84nmcghggk7.htm\"}},{\"name\":\"DQGENDERINFOGET\",\"description\":\"Returns the name of the parse definition that is associated with the specified gender definition.\",\"syntax\":{\"help\":\"DQGENDERINFOGET ('*gender-analysis-definition*'&lt;,'*locale*'&gt;)\",\"arguments\":[{\"name\":\"gender-analysis-definition\",\"description\":\"specifies the gender analysis definition of interest. The argument can be specified as a constant, variable, or expression that evaluates to a constant or variable.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p0j4722c78yh1sn1nzesujvxbhc1\"},{\"name\":\"locale\",\"description\":\"specifies a constant, variable, or expression that evaluates to the ISO code of the locale.\",\"placeholder\":true,\"optional\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n1e4pizy265c0ln1m5x9yf0sz4jp\"}]},\"supportSiteInformation\":{\"docsetId\":\"dqclref\",\"docsetVersion\":\"v_008\",\"docsetTargetFile\":\"p05iqrn7evew7jn19mr59dqb8kqn.htm\"}},{\"name\":\"DQGENDERPARSED\",\"description\":\"Returns the gender of an individual from a delimited string of parse token values.\",\"syntax\":{\"help\":\"DQGENDERPARSED (*delimited-string*, '*gender-analysis-definition*'&lt;,'*locale*'&gt;)\",\"arguments\":[{\"name\":\"delimited-string\",\"description\":\"specifies the input value, which must be a delimited string of parse token values.The argument can be specified as a constant, a variable, or an expression that evaluates to a constant or variable.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n0xe9d60yohcy1n1w0jw21ktz9np\"},{\"name\":\"gender-analysis-definition\",\"description\":\"specifies the name of the gender analysis definition that is referenced to generate the return value. The definition must be supported by the locale. The argument can be specified as a constant, a variable, or an expression that evaluates to a constant or variable.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n15kdzivmnnga8n1xfw6c294xquj\"},{\"name\":\"locale\",\"description\":\"specifies a constant, character variable, or expression that evaluates to the ISO code of the locale.\",\"placeholder\":true,\"optional\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n0x73m3myy91zdn1vv0lsbjnlskv\"}]},\"supportSiteInformation\":{\"docsetId\":\"dqclref\",\"docsetVersion\":\"v_008\",\"docsetTargetFile\":\"n0hwbotuc8b3ntn1v7nchsmoeonq.htm\"}},{\"name\":\"DQIDENTIFY\",\"description\":\"Returns the highest-scoring identity for a character value.\",\"syntax\":{\"help\":\"DQIDENTIFY (*character-value*, *'identification-analysis-definition'*&lt;,'*locale*'&gt;)\",\"arguments\":[{\"name\":\"character-value\",\"description\":\"specifies the input value as a constant, variable, or expression that evaluates to a constant or a variable.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p1nkavvhiljbmln1sup64iaqzhze\"},{\"name\":\"identification-analysis-definition\",\"description\":\"specifies the name of the identification analysis definition that is referenced to determine the return value. The definition must be supported by the locale. The argument can be specified as a constant, variable, or expression that evaluates to a constant or variable.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n1p9dthevx1e25n1myfvks2bjpwg\"},{\"name\":\"locale\",\"description\":\"specifies a constant, variable, or expression that evaluates to the ISO code of the locale.\",\"placeholder\":true,\"optional\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n0qp0m5wbe7x1ln1gcamo8t6tym2\"}]},\"supportSiteInformation\":{\"docsetId\":\"dqclref\",\"docsetVersion\":\"v_008\",\"docsetTargetFile\":\"p0m6yaoex1q53pn1qg994sbpkg8l.htm\"}},{\"name\":\"DQIDENTIFYIDGET\",\"description\":\"Returns an identification analysis score for a given identity from a delimited string of identification analysis scores.\",\"syntax\":{\"help\":\"DQIDENTIFYIDGET (*delimited-string*, '*identity-name*', '*identification-analysis-definition*'&lt;,'*locale*'&gt;)\",\"arguments\":[{\"name\":\"delimited-string\",\"description\":\"specifies the input value, which must be a delimited string of identification analysis scores. The delimited string is required to have been generated by the identification-analysis-definition. The argument can be specified as a constant, variable, or expression that evaluates to a constant or variable.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n0iygcoiauu1xgn1wma5qvqtfajx\"},{\"name\":\"identity-name\",\"description\":\"specifies the name of the identity, the value of which is returned from the delimited-string. The value of the identity is an identification analysis score. The identity must be supported by the identity-analysis-definition.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p042y5dgonxy21n112hj1izq6zk5\"},{\"name\":\"identification-analysis-definition\",\"description\":\"specifies the name of the identification analysis definition that is referenced to generate the return value. The definition must be supported by the locale. The definition must be the same definition that was used to generate the delimited-string.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p1h4dkyixjak6bn1ownx851fkjln\"},{\"name\":\"locale\",\"description\":\"specifies a constant, variable, or expression that evaluates to the ISO code of the locale.\",\"placeholder\":true,\"optional\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p17jc2ciyjps35n1w472tgsp32r0\"}]},\"supportSiteInformation\":{\"docsetId\":\"dqclref\",\"docsetVersion\":\"v_008\",\"docsetTargetFile\":\"n13xsqhd0a3e4mn1wqw0oetwd1ds.htm\"}},{\"name\":\"DQIDENTIFYINFOGET\",\"description\":\"Returns the names of the identities that are supported by a given identification analysis definition.\",\"syntax\":{\"help\":\"DQIDENTIFYINFOGET ('*identification-analysis-definition*'&lt;,'*locale*'&gt;)\",\"arguments\":[{\"name\":\"identification-analysis-definition\",\"description\":\"specifies the name of the identification analysis definition that is referenced to generate the return value. The definition must be supported by the locale. The argument can be specified as a constant, variable, or expression that evaluates to a constant or variable.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p0iubdwx2iakrhn1ot40lmlpse6f\"},{\"name\":\"locale\",\"description\":\"specifies a constant, variable, or expression that evaluates to the ISO code of the locale.\",\"placeholder\":true,\"optional\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p0mi9pbucgjhpxn1eg1krhe4jjdo\"}]},\"supportSiteInformation\":{\"docsetId\":\"dqclref\",\"docsetVersion\":\"v_008\",\"docsetTargetFile\":\"n0exptltd45eofn1nvegy9bsljlb.htm\"}},{\"name\":\"DQIDENTIFYMULTI\",\"description\":\"Returns all of the identification analysis scores of a character value.\",\"syntax\":{\"help\":\"DQIDENTIFYMULTI (*character-value*, '*identification-analysis-definition*',                 &lt;'*locale*'&gt;)\",\"arguments\":[{\"name\":\"character-value\",\"description\":\"specifies the input value as a constant, variable, or expression that evaluates to a constant or variable.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p1jsx4cx3otqfvn1dvehywxo9p2a\"},{\"name\":\"identification-analysis-definition\",\"description\":\"specifies the identification analysis definition that is referenced to generate the return value. The definition must be supported by the locale.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p0ihm3fnu7u1vnn1ltr1cjc0i42w\"},{\"name\":\"locale\",\"description\":\"specifies a constant, variable, or expression that evaluates to the ISO code of the locale.\",\"placeholder\":true,\"optional\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n15f8janrk8d1yn1es83xroyni0q\"}]},\"supportSiteInformation\":{\"docsetId\":\"dqclref\",\"docsetVersion\":\"v_008\",\"docsetTargetFile\":\"p158efi2y0drd6n1tmdc4knv0g46.htm\"}},{\"name\":\"DQLOCALEGUESS\",\"description\":\"Returns the ISO code of the highest-scoring locale for a character value.\",\"syntax\":{\"help\":\"DQLOCALEGUESS (*character-value*, '*locale-guess-definition*')\",\"arguments\":[{\"name\":\"character-value\",\"description\":\"specifies the input value as a constant, variable, or expression that evaluates to a constant or variable.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p0sm0gr2s0u6gcn1aq8yu6g2sq6l\"},{\"name\":\"locale-guess-definition\",\"description\":\"specifies the definition that is referenced to generate the return value. The argument can be specified as a constant, variable, or expression that evaluates to a constant or variable.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p0hn2o1l9bpbyxn158jar3bpocj7\"}]},\"supportSiteInformation\":{\"docsetId\":\"dqclref\",\"docsetVersion\":\"v_008\",\"docsetTargetFile\":\"n0opcmft5yj2nsn1ki3031gae2dh.htm\"}},{\"name\":\"DQLOCALEINFOGET\",\"description\":\"Returns a list of the locales that are loaded into memory.\",\"syntax\":{\"help\":\"DQLOCALEINFOGET (&lt;'*info-type*'&gt;)\",\"arguments\":[{\"name\":\"info-type\",\"description\":\"the value that is analyzed to determine the locales that are currently loaded into memory. If no parameter is specified, the default LOADED is used. The only valid value is LOADED.\",\"placeholder\":true,\"optional\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n0eovkmitzyfm1n1ug5thc40p3w6\"}]},\"supportSiteInformation\":{\"docsetId\":\"dqclref\",\"docsetVersion\":\"v_008\",\"docsetTargetFile\":\"p0ucbqwsa5fgq6n1wpj3ye3gu2a0.htm\"}},{\"name\":\"DQLOCALEINFOLIST\",\"description\":\"Returns a count of definitions and displays the names of definitions for a type of definition in a locale.\",\"syntax\":{\"help\":\"DQLOCALEINFOLIST ('*definition-type*', '*locale*')\",\"arguments\":[{\"name\":\"definition-type\",\"description\":\"specifies the type of definition that is displayed and counted. The type must exist in the specified locale. Valid definition types include the following:\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p17ux2mwpl0t49n1qi4pfr6v14v4\"},{\"name\":\"locale\",\"description\":\"specifies a constant, variable, or expression that evaluates to the ISO code of the locale.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p0fw7tnnoogd9in1y1tzhafgrwo7\"}]},\"supportSiteInformation\":{\"docsetId\":\"dqclref\",\"docsetVersion\":\"v_008\",\"docsetTargetFile\":\"p13oiqlwdkcsj8n1d09dz1dmq74b.htm\"}},{\"name\":\"DQLOCALESCORE\",\"description\":\"Returns a locale confidence score for an input character value.\",\"syntax\":{\"help\":\"DQLOCALESCORE ('*character-value*',                 '*locale-guess-definition*',                 '*locale*')\",\"arguments\":[{\"name\":\"character-value\",\"description\":\"specifies the input value as a constant, variable, or expression that evaluates to a constant or variable.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p1icmvzkakd2asn16uwo3qo1sode\"},{\"name\":\"locale-guess-definition\",\"description\":\"specifies the locale guess definition that is referenced to generate the return value. The argument can be specified as a constant, variable, or expression that evaluates to a constant or variable.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p1pabpzlz977nfn1ahtlrn9p2rr0\"},{\"name\":\"locale\",\"description\":\"specifies a constant, variable, or expression that evaluates to the ISO code of the locale.\",\"placeholder\":true,\"optional\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n18p3075sch3l7n1ekg1wmmpb94v\"}]},\"supportSiteInformation\":{\"docsetId\":\"dqclref\",\"docsetVersion\":\"v_008\",\"docsetTargetFile\":\"p14a2rxpn41qrbn12cy4bttyg1z1.htm\"}},{\"name\":\"DQMATCH\",\"description\":\"Returns a match code from a character value.\",\"syntax\":{\"help\":\"DQMATCH (*character-value*, '*match-definition*'&lt;,'*sensitivity*'&gt;&lt;,'*locale*'&gt;)\",\"arguments\":[{\"name\":\"character-value\",\"description\":\"specifies the input value as a constant, variable, or expression that evaluates to a constant or variable.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n1fgu3lc5g91vun1r3yzt0llhr54\"},{\"name\":\"match-definition\",\"description\":\"specifies the name of the match definition that is referenced to generate the return value. The definition must be supported by the locale. To determine which match definitions are supported for your locale, see Definitions by Locale.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p0mq2sppv9gtown1jw16kzwua53m\"},{\"name\":\"sensitivity\",\"description\":\"specifies an integer value that determines the amount of information in the returned match code. Valid values range from 50 to 95. The default value is 85. A higher sensitivity value includes more information in the match code. In general, higher sensitivity values result in a greater number of clusters, with fewer members per cluster.\",\"placeholder\":true,\"optional\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p17djc72who68fn1s6tvyu5eiccn\"},{\"name\":\"locale\",\"description\":\"specifies a constant, variable, or expression that evaluates to the ISO code of the locale.\",\"placeholder\":true,\"optional\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n1hhsg8bw2ftv6n1nwrgac11dmo2\"}]},\"supportSiteInformation\":{\"docsetId\":\"dqclref\",\"docsetVersion\":\"v_008\",\"docsetTargetFile\":\"p09nffezbjyj4on11oblz77aq1x6.htm\"}},{\"name\":\"DQMATCHINFOGET\",\"description\":\"Returns the name of the parse definition that is associated with a match definition.\",\"syntax\":{\"help\":\"DQMATCHINFOGET ('*match-definition*'&lt;,'*locale*'&gt;) \",\"arguments\":[{\"name\":\"match-definition\",\"description\":\"specifies the name of the match definition. The definition must be supported by the locale.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p06ynwtd48nbdgn18464ag95stzz\"},{\"name\":\"locale\",\"description\":\"specifies a constant, variable, or expression that evaluates to the ISO code of the locale.\",\"placeholder\":true,\"optional\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n0mvrgtn9ehitdn1ew880nd7182r\"}]},\"supportSiteInformation\":{\"docsetId\":\"dqclref\",\"docsetVersion\":\"v_008\",\"docsetTargetFile\":\"n05wqyrgm6xv9sn1vj02rwwcgp2n.htm\"}},{\"name\":\"DQMATCHPARSED\",\"description\":\"Returns a match code from a delimited string of parse token values.\",\"syntax\":{\"help\":\"DQMATCHPARSED (*delimited-string*, '*match-definition*'&lt;,*sensitivity*&gt;&lt;,'*locale*'&gt;)\",\"arguments\":[{\"name\":\"delimited-string\",\"description\":\"specifies the input variable, which must have a value that is a delimited string of parse token values. The delimited string must have been generated with a parse definition that is associated with the match-definition in the locale.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n1eov6m8rlcwygn1woaqj7i6213b\"},{\"name\":\"match-definition\",\"description\":\"specifies the name of the match definition that is referenced to generate the return value. The definition must be supported by the locale.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n0bukxvt6vxestn10teki7amfxj8\"},{\"name\":\"sensitivity\",\"description\":\"specifies an integer value that determines the amount of information in the returned match code. Valid values range from 50 to 95. The default value is 85. A higher sensitivity value inserts more information in the match code. In general, higher sensitivity values result in a greater number of clusters, with fewer members per cluster.\",\"placeholder\":true,\"optional\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p13gbnkw915fwfn1tonyc8czpe4i\"},{\"name\":\"locale\",\"description\":\"specifies a constant, variable, or expression that evaluates to the ISO code of the locale.\",\"placeholder\":true,\"optional\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p1p9ztj056zxidn1xwdb2q16754x\"}]},\"supportSiteInformation\":{\"docsetId\":\"dqclref\",\"docsetVersion\":\"v_008\",\"docsetTargetFile\":\"n1tiul7co0gmakn1azfvyok4eqqx.htm\"}},{\"name\":\"DQOPTSURFACE\",\"description\":\"Reveals or hides non-surfaced definitions.\",\"syntax\":{\"help\":\"DQOPTSURFACE ('*surface-flag*')\",\"arguments\":[{\"name\":\"surface-flag\",\"description\":\"specifies the policy for non-surfaced definitions. Valid values are as follows:\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p1xevf9bz3bbuvn1ti775quc2cn6\"}]},\"supportSiteInformation\":{\"docsetId\":\"dqclref\",\"docsetVersion\":\"v_008\",\"docsetTargetFile\":\"n1xhvtnqd2kqucn1kzvs0zaaiatu.htm\"}},{\"name\":\"DQPARSE\",\"description\":\"Returns a delimited string of parse token values.\",\"syntax\":{\"help\":\"\\n\\tDQPARSE ('character-value', 'parse-definition'<,'locale'>) \",\"arguments\":[{\"name\":\"character-value\",\"description\":\"specifies the input value as a constant, variable, or expression that evaluates to a constant or variable.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p06kcyjs4r7dwjn1k57luq0j5m6u\"},{\"name\":\"parse-definition\",\"description\":\"specifies the name of the parse definition that is referenced to generate the return value. The definition must be supported by the locale.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n11rcx85hon1bbn1joznvnvo6hy1\"},{\"name\":\"locale\",\"description\":\"specifies a constant, variable, or expression that evaluates to the ISO code of the locale.\",\"placeholder\":true,\"optional\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p0rwz1p20hjx8in1bka7tzftr04q\"}]},\"supportSiteInformation\":{\"docsetId\":\"dqclref\",\"docsetVersion\":\"v_008\",\"docsetTargetFile\":\"p0p4cunbfsorb6n1msv5bga88wdh.htm\"}},{\"name\":\"DQPARSEINFOGET\",\"description\":\"Returns the names of the tokens that are supported by a parse definition.\",\"syntax\":{\"help\":\"DQPARSEINFOGET ('*parse-definition*'&lt;,'*locale*'&gt;)\",\"arguments\":[{\"name\":\"parse-definition\",\"description\":\"specifies the name of the parse definition that is referenced to generate the return value. The definition must be supported by the locale.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n0d4ut3a290k3jn1c29b2gpk07f0\"},{\"name\":\"locale\",\"description\":\"specifies a constant, variable, or expression that resolves to the ISO code of the locale.\",\"placeholder\":true,\"optional\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n0yksx5ds4bhbun15ng2b1hnw6m2\"}]},\"supportSiteInformation\":{\"docsetId\":\"dqclref\",\"docsetVersion\":\"v_008\",\"docsetTargetFile\":\"n1ka1ghiu9ohpsn1ifmsh1i1543l.htm\"}},{\"name\":\"DQPARSEINPUTLEN\",\"description\":\"Overrides the default expected length of parsed input and returns a string indicating its previous value.\",\"syntax\":{\"help\":\"DQPARSEINPUTLEN ('*input-length*')\",\"arguments\":[{\"name\":\"input-length\",\"description\":\"specifies an expected input length. Valid values are as follows:\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p1ayhu3e7ign9in1ozbi2rc99wpv\"}]},\"supportSiteInformation\":{\"docsetId\":\"dqclref\",\"docsetVersion\":\"v_008\",\"docsetTargetFile\":\"n1cg7ftjeiz2l3n1e83m1ik4zzbo.htm\"}},{\"name\":\"DQPARSERESLIMIT\",\"description\":\"Overrides the default expected limit on resources consumed during parsing.\",\"syntax\":{\"help\":\"DQPARSERESLIMIT ('*resource-limit*')\",\"arguments\":[{\"name\":\"resource-limit\",\"description\":\"specifies a resource limit for parsing operations. Valid values include the following:\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p0wncfpkypzjgkn13xk7o6bu3izv\"}]},\"supportSiteInformation\":{\"docsetId\":\"dqclref\",\"docsetVersion\":\"v_008\",\"docsetTargetFile\":\"n1ffa4vk0e9o39n1bz7h7cxlvhkx.htm\"}},{\"name\":\"DQPARSESCORDEPTH\",\"description\":\"Overrides the default value that determines how deeply to search for the best parsing score.\",\"syntax\":{\"help\":\"DQPARSESCORDEPTH (*level*)\",\"arguments\":[{\"name\":\"level\",\"description\":\"an integer that specifies the maximum depth permitted during scoring.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p0vf1dfkd53wr0n18r9rwjsf4qfk\"}]},\"supportSiteInformation\":{\"docsetId\":\"dqclref\",\"docsetVersion\":\"v_008\",\"docsetTargetFile\":\"p026l6h3pqdbgun1kw0phoegwa99.htm\"}},{\"name\":\"DQPARSETOKENGET\",\"description\":\"Returns a parse token value from a delimited string of parse token values.\",\"syntax\":{\"help\":\"DQPARSETOKENGET (*delimited-string*, '*token*', '*parse-definition*', &lt;,'*locale*'&gt;)\",\"arguments\":[{\"name\":\"delimited-string\",\"description\":\"specifies the input string as a variable or an expression that evaluates to a variable. The value of the variable must be a delimited string of parse token values. The delimited string is required to have been generated by the parse-definition.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n1002ok8tzuecxn18ndtpj3pzh0e\"},{\"name\":\"token\",\"description\":\"specifies the name of a token, the value of which is returned. The token must be supported by the parse-definition.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p0uu9ghqc6xnd9n1hxho61lfei0u\"},{\"name\":\"parse-definition\",\"description\":\"specifies the parse definition that was referenced to generate the delimited-string. The definition must be supported by the locale.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p19omsfu3au53xn1tp0tmedsr4d2\"},{\"name\":\"locale\",\"description\":\"specifies a constant, variable, or expression that evaluates to the ISO code of the locale.\",\"placeholder\":true,\"optional\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n0e6pxstz6jaain1pyts86g0am46\"}]},\"supportSiteInformation\":{\"docsetId\":\"dqclref\",\"docsetVersion\":\"v_008\",\"docsetTargetFile\":\"p046rhj2kohld3n1e1b77l083zre.htm\"}},{\"name\":\"DQPARSETOKENPUT\",\"description\":\"Inserts a parse token value into a delimited string of parse token values and returns the updated delimited string.\",\"syntax\":{\"help\":\"DQPARSETOKENPUT ('delimited-string', 'token-value', 'token-name', 'parse-definition'\\n<,'locale'>)\",\"arguments\":[{\"name\":\"delimited-string\",\"description\":\"specifies the input string as a variable or an expression that evaluates to a variable. The value of the variable must be a delimited string of parse token values. The delimited string is required to have been generated by the parse-definition.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n0ru4gt6g0173gn1k62yy1wwmg8y\"},{\"name\":\"token-value\",\"description\":\"specifies the value of the token that is to be inserted into the delimited-string.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p0gc94y5k06iitn1wkwzzmiqbkj9\"},{\"name\":\"token-name\",\"description\":\"specifies the name of the token that receives the new value. The token must be supported by the parse-definition.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p15534fk9n1gm6n1plw58wzkg7qg\"},{\"name\":\"parse-definition\",\"description\":\"specifies the name of the parse definition that is referenced to generate the return value. The parse definition must be supported by the locale. The parse definition must be the same definition that was used to generate the delimited-string.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p0mq6rxlf7htwzn1hpcm3wq0ibn3\"},{\"name\":\"locale\",\"description\":\"specifies a constant, variable, or expression that evaluates to the ISO code of the locale.\",\"placeholder\":true,\"optional\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p1i8ahwd7rpaj2n1ce12q4grpzsf\"}]},\"supportSiteInformation\":{\"docsetId\":\"dqclref\",\"docsetVersion\":\"v_008\",\"docsetTargetFile\":\"n0kge2jiq1de50n1rbxhwjm8gxwr.htm\"}},{\"name\":\"DQPATTERN\",\"description\":\"Returns a pattern analysis from a character value.\",\"syntax\":{\"help\":\"DQPATTERN ('*character-value*' , '*pattern-analysis-definition*'&lt;,'*locale*'&gt;)\",\"arguments\":[{\"name\":\"character-value\",\"description\":\"specifies the input value as a constant, variable, or expression that evaluates to a constant or a variable.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p1hulic8jiegyrn19wl5j39e0gej\"},{\"name\":\"pattern-analysis-definition\",\"description\":\"specifies he name of the definition that is referenced to generate the return value. The definition must be supported by the locale.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p1g4b3kqchh8tfn184dwc2rk6tze\"},{\"name\":\"locale\",\"description\":\"specifies a constant, variable, or an expression that evaluates to the ISO code of the locale.\",\"placeholder\":true,\"optional\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p09dq3dpe3kijzn1xktorofl1nh6\"}]},\"supportSiteInformation\":{\"docsetId\":\"dqclref\",\"docsetVersion\":\"v_008\",\"docsetTargetFile\":\"n0xz8cip8ohfqin1mz1rdox1836c.htm\"}},{\"name\":\"DQSCHEMEAPPLY\",\"description\":\"Applies a scheme and returns a transformed character value.\",\"syntax\":{\"help\":\"DQSCHEMEAPPLY ('character-value', 'scheme', 'scheme-format'<,'mode'><,'scheme-lookup-method'>\\n<,'match-definition'><,'sensitivity'><,'locale'>)\",\"arguments\":[{\"name\":\"character-value\",\"description\":\"specifies a constant, variable, or expression that evaluates to the input value.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p0n4tozpi325xkn1usu08kjghhfi\"},{\"name\":\"scheme\",\"description\":\"identifies the scheme that is applied to the input value. To apply a SAS format scheme, the scheme argument includes both the path and the file name of the SAS data set, in quotation marks. To apply a QKB-format scheme, the scheme argument is the name of an existing fileref in quotation marks. For all operating environments other than z/OS, the fileref must reference a file specification that includes both the path and the file name that ends in .sch.qkb.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n0jwk0x69u93z7n1819ipzxnjkby\"},{\"name\":\"QKB\",\"description\":\"indicates that the scheme is stored in QKB scheme file format. This is the default value.\",\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"p0kgwvfrmn4kysn1b31in0i2jnc8\"},{\"name\":\"NOQKB\",\"description\":\"indicates that the scheme is stored in SAS format.\",\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"p1t18ic3lafyiun1m1fgzpk98ihj\"},{\"name\":\"PHRASE\",\"description\":\"compares the entire input character value to the entire length of each of the data values in the scheme. When the value of the scheme-lookup-method is USE_MATCHDEF, the match code values of the entire input value are compared to the match codes of data values in the scheme. A transformation occurs when a match is found between an element in the input value and a data value in the scheme.\",\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"p0niemrvuh7ypun14zvwx6u33sqo\"},{\"name\":\"ELEMENT\",\"description\":\"compares each element in the character-value to each of the data values in the scheme. When the value of the scheme-lookup-method is USE_MATCHDEF, the match code of the entire character-value is compared to the match codes of the scheme's data values. A transformation occurs when a match is found between an element in the character-value and a data value in the scheme.\",\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"n0j5vso4pfux7fn1enroqp6a8auw\"},{\"name\":\"EXACT\",\"description\":\"(default value) specifies that the character-value is to be compared to the data values in the scheme without changing the character-value in any way. The transformation value in the scheme is written to the output data set only when the character-value exactly matches a data value in the scheme. Any adjacent blank spaces in the input value are replaced with single blank spaces before comparison.\",\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"p0a1179azppnsrn1ttfn5g3k85a3\"},{\"name\":\"IGNORE_CASE\",\"description\":\"specifies that capitalization is to be ignored when the character-value is compared to the data values in the scheme. Any adjacent blank spaces in the input value are replaced with single blank spaces before comparison.\",\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"p0pndbwsrl5o3nn174y5jrwjczn7\"},{\"name\":\"USE_MATCHDEF\",\"description\":\"specifies that the match code of the character-value is to be compared to the match code of the data values in the scheme. A transformation occurs when the match codes are identical.\",\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"n02qsem0gm309bn1btbmr2xi6c5g\"},{\"name\":\"match-definition\",\"description\":\"the name of the match definition that is referenced to create the match code for the character-value. The match definition must be supported by the locale. If USE_MATCHDEF is specified, and if a match definition is not stored in the scheme, then a value is required for the match-definition argument.\",\"placeholder\":true,\"optional\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p0rmxzptyn1e5nn188l1jtjeap48\"},{\"name\":\"sensitivity\",\"description\":\"specifies the amount of information in the match codes that are created during the application of the scheme. With higher sensitivity values, two values must be increasingly similar to create the same match code. At lower sensitivity values, values can receive the same match code despite their dissimilarities.\",\"placeholder\":true,\"optional\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n09wtfhpjeyzxqn1x03ptxjsky96\"},{\"name\":\"locale\",\"description\":\"specifies a constant, variable, or expression that evaluates to the ISO code of the locale.\",\"placeholder\":true,\"optional\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n11sgxghosufj2n1wrvm9u6jjdom\"}]},\"supportSiteInformation\":{\"docsetId\":\"dqclref\",\"docsetVersion\":\"v_008\",\"docsetTargetFile\":\"p0h4i8oxb43q91n1w5pvo10zcgd3.htm\"}},{\"name\":\"DQSTANDARDIZE\",\"description\":\"Standardizes the casing, spacing, and format of certain words and abbreviations and returns an updated character value.\",\"syntax\":{\"help\":\"DQSTANDARDIZE ('*character-value*', '*standardization-definition*'&lt;,' *locale*'&gt;)\",\"arguments\":[{\"name\":\"character-value\",\"description\":\"specifies the input value as a constant, variable, or expression that evaluates to a constant or a variable.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p013sw9kjvs7zcn1vct7s3j9xhep\"},{\"name\":\"standardization-definition\",\"description\":\"specifies the definition that is referenced to generate the return value. The definition must be supported by the locale.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p0t4wtgtir9rt0n0z3paozlksajm\"},{\"name\":\"locale\",\"description\":\"specifies a constant, variable, or expression that evaluates to the ISO code of the locale.\",\"placeholder\":true,\"optional\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p1wjrtf4pvyszsn1iw7dej11k571\"}]},\"supportSiteInformation\":{\"docsetId\":\"dqclref\",\"docsetVersion\":\"v_008\",\"docsetTargetFile\":\"p0k705exnmtpgin1xppkpx5f7r30.htm\"}},{\"name\":\"DQTOKEN\",\"description\":\"Returns the value of a token from an input character value.\",\"syntax\":{\"help\":\"DQTOKEN ('*character-value*', '*token*' , '*parse-definition*'&lt;,' *locale*'&gt;)\",\"arguments\":[{\"name\":\"character-value\",\"description\":\"specifies the input value as a constant, variable, or expression that evaluates to a constant or variable.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p0xk2kfe5sm8uwn1g78s9xb65zsw\"},{\"name\":\"token\",\"description\":\"specifies the token that is supported by the parse-definition.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n1482vxi2kixxwn1p33bv0on44nr\"},{\"name\":\"parse-definition\",\"description\":\"specifies the parse definition that is referenced to generate the return value. The definition must be supported in the locale.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p1w5zi29bphiu7n1nnbtodn61r9f\"},{\"name\":\"locale\",\"description\":\"specifies a constant, variable, or expression that evaluates to the ISO code of the locale.\",\"placeholder\":true,\"optional\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p0v05uvf1qdh4vn1j4if8b4g0d9f\"}]},\"supportSiteInformation\":{\"docsetId\":\"dqclref\",\"docsetVersion\":\"v_008\",\"docsetTargetFile\":\"p01msrapuw6tdan16x94rkfon8zm.htm\"}},{\"name\":\"DQVER\",\"description\":\"Returns the version of the SAS Data Quality engine.\",\"syntax\":{\"help\":\"DQVER ()\"},\"supportSiteInformation\":{\"docsetId\":\"dqclref\",\"docsetVersion\":\"v_008\",\"docsetTargetFile\":\"n1d60kdrm86jgrn14tgsavwi8w0w.htm\"}},{\"name\":\"DQVERQKB\",\"description\":\"Returns the version of the currently loaded QKB.\",\"syntax\":{\"help\":\"DQVERQKB  ()\"},\"supportSiteInformation\":{\"docsetId\":\"dqclref\",\"docsetVersion\":\"v_008\",\"docsetTargetFile\":\"n1p96px26ki6rvn1xmwwjvyxza9h.htm\"}}]"
  },
  {
    "path": "server/pubsdata/Functions/en/macro.json",
    "content": "[{\"name\":\"%BQUOTE\",\"description\":\"Mask special characters and mnemonic operators in a resolved value at macro execution.\",\"syntax\":{\"help\":\"%BQUOTE (*character-string*)\",\"arguments\":[{\"name\":\"character-string\",\"description\":\"specifies a character string or an expression that results in a character string that contains one or more special characters and mnemonic operators.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n1i56r11wpbi3vn1x8692jyrmi11\"}]},\"supportSiteInformation\":{\"docsetId\":\"mcrolref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p06cx7fegzmzpen1m9991yljxiav.htm\"}},{\"name\":\"%EVAL\",\"description\":\"Evaluates arithmetic and logical expressions using integer arithmetic.\",\"syntax\":{\"help\":\"%EVAL (*expression*)\",\"arguments\":[{\"name\":\"expression\",\"description\":\"specifies an integer arithmetic expression or a logical expression to evaluate.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p0siqe0wcxw1qmn1vauzux2scv7j\"}]},\"supportSiteInformation\":{\"docsetId\":\"mcrolref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n07pr39df9k7m3n1w3x1q09iewta.htm\"}},{\"name\":\"%INDEX\",\"description\":\"Returns the position of the first character of a string.\",\"syntax\":{\"help\":\"%INDEX (*source-string*, *target-string*)\",\"arguments\":[{\"name\":\"source-string\",\"description\":\"specifies a character string or a text expression that results in a character string as the source string.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n0jp7rx86dusvnn1ukpjbq2z05g9\"},{\"name\":\"target-string\",\"description\":\"specifies a character string or a text expression that results in a character string as the target string.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p14cq09f9hncexn1l2gqy5ny8y7u\"}]},\"supportSiteInformation\":{\"docsetId\":\"mcrolref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p1oqafzmrka91un13k8xwap0xv47.htm\"}},{\"name\":\"%KCMPRES\",\"description\":\"Compresses multiple blanks and removes leading and trailing blanks.\",\"syntax\":{\"help\":\"%KCMPRES  (*text* | *text expression*)  \",\"arguments\":[{\"name\":\"text\",\"description\":\"text or text expression.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n1auqem9bu9h7sn1v1e5gnlqknve\"}]},\"supportSiteInformation\":{\"docsetId\":\"nlsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p17xtk3aigy6wrn145ofztnoarrh.htm\"}},{\"name\":\"%KINDEX\",\"description\":\"Returns the position of the first character of a string.\",\"syntax\":{\"help\":\"%KINDEX  (*source*, *string*)\",\"arguments\":[{\"name\":\"source\",\"description\":\"is a character string or text expression.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n0fv3ctki0rmpen1rjbt34ra0hi3\"},{\"name\":\"string\",\"description\":\"is a character string or text expression.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n1u3voeomstjkrn17a7p2fd65gtn\"}]},\"supportSiteInformation\":{\"docsetId\":\"nlsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p0y8ix6z6q7jhcn1sx8gljdg1xci.htm\"}},{\"name\":\"%KLEFT\",\"description\":\"Left-aligns an argument by removing leading blanks.\",\"syntax\":{\"help\":\"%KLEFT  (*text* |*text expression*)\"},\"supportSiteInformation\":{\"docsetId\":\"nlsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n1uqfwuc55qw4pn140m1rmahfxmt.htm\"}},{\"name\":\"%KLENGTH\",\"description\":\"Returns the length of a string.\",\"syntax\":{\"help\":\"%KLENGTH  (*character string* | *text expression*)\"},\"supportSiteInformation\":{\"docsetId\":\"nlsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p01ozbdrl3b9y2n1kdd8k10suf78.htm\"}},{\"name\":\"%KSCAN\",\"description\":\"Search for a word that is specified by its position in a string.\",\"syntax\":{\"help\":\"%KSCAN  (*argument*, *n*&lt;,*delimiters*  &gt; )\",\"arguments\":[{\"name\":\"argument\",\"description\":\"is a character string or a text expression. If argument contains a special character or mnemonic operator, listed here, use %QKSCAN.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n0ea6kxae5yrh3n1hl1m71kybge8\"},{\"name\":\"n\",\"description\":\"is an integer or a text expression that yields an integer, which specifies the position of the word to return. If n is greater than the number of words in argument, the functions return a null string. If n is negative, %KSCAN examines the character string and selects the word that starts at the end of the string and searches backward.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p1dthr7zd89rxxn18ueq18de4tf8\"},{\"name\":\"delimiter\",\"description\":\"specifies a character variable that produces characters that you want %QKSCAN to use as word separators in the character expression.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p08dejfs0cy1ixn1ul24fpkgld2m\"}]},\"supportSiteInformation\":{\"docsetId\":\"nlsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p0vhk25dy6ne57n1r4hk7klc61ou.htm\"}},{\"name\":\"%KSUBSTR\",\"description\":\"Produce a substring of a character string.\",\"syntax\":{\"help\":\"%KSUBSTR  (*argument*, *position*&lt;, *length*&gt; )\",\"arguments\":[{\"name\":\"argument\",\"description\":\"is a character string or a text expression. If argument contains a special character or mnemonic operator, listed here, use %QKSUBSTR.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n1kf4kq6gznaq5n1dhffxv7rzswt\"},{\"name\":\"position\",\"description\":\"is an integer or an expression (text, logical, or arithmetic) that yields an integer that specifies the position of the first character in the substring. If position is greater than the number of characters in the string, %KSUBSTR and %QKSUBSTR issue a warning message and return a null value.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n0ios2c9h0r32ln1n765faaw2gu1\"},{\"name\":\"length\",\"description\":\"is an optional integer or an expression (text, logical, or arithmetic) that yields an integer that specifies the number of characters in the substring. If length is greater than the number of characters following position in argument, %KSUBSTR and %QKSUBSTR issue a warning message and return a substring containing the characters from position to the end of the string. By default, %KSUBSTR and %QKSUBSTR produce a string containing the characters from position to the end of the character string.\",\"placeholder\":true,\"optional\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p1mtvv5n1l59iwn180d5m5ec0f2a\"}]},\"supportSiteInformation\":{\"docsetId\":\"nlsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p0sscda00tvmksn1vwa5ucr4ze9d.htm\"}},{\"name\":\"%KUPCASE\",\"description\":\"Convert values to uppercase.\",\"syntax\":{\"help\":\"%KUPCASE  (*character string* | *text expression*)\"},\"supportSiteInformation\":{\"docsetId\":\"nlsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n0m072huxmex43n103zwonztf88z.htm\"}},{\"name\":\"%LENGTH\",\"description\":\"Returns the length of a string.\",\"syntax\":{\"help\":\"%LENGTH (*character-string*)\",\"arguments\":[{\"name\":\"character-string\",\"description\":\"specifies a character string or a text expression that results in a character string.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n1a9hia7r6rnuin1wzwkyejsi3mo\"}]},\"supportSiteInformation\":{\"docsetId\":\"mcrolref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p0mz1f8koco0zzn16fwyb4tsdqdt.htm\"}},{\"name\":\"%NRBQUOTE\",\"description\":\"Masks special characters, including & and %, and mnemonic operators in a resolved value at macro execution.\",\"syntax\":{\"help\":\"%NRBQUOTE (*character-string*)\",\"arguments\":[{\"name\":\"character-string\",\"description\":\"specifies a character string or a text expression that results in a character string that might contain one or more special characters and mnemonic operators.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n0jhwrsmdpk1opn1ne8g0wztqld2\"}]},\"supportSiteInformation\":{\"docsetId\":\"mcrolref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p074ox0qkbckkan153eooocwkd0e.htm\"}},{\"name\":\"%NRQUOTE\",\"description\":\"Masks special characters, including & and %, and mnemonic operators in a resolved value at macro execution.\",\"syntax\":{\"help\":\"%NRQUOTE (*character-string*)\",\"arguments\":[{\"name\":\"character-string\",\"description\":\"specifies a character string or an expression that results in a character string that contains one or more special characters and mnemonic operators.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p0mno492phjyoun1bfns709evs0x\"}]},\"supportSiteInformation\":{\"docsetId\":\"mcrolref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p0ejcenxk89b36n1xgxyf922ugoa.htm\"}},{\"name\":\"%NRSTR\",\"description\":\"Masks special characters, including & and %, and mnemonic operators in constant text during macro compilation.\",\"syntax\":{\"help\":\"%NRSTR (*character-string*)\",\"arguments\":[{\"name\":\"character-string\",\"description\":\"specifies a character string or an expression that results in a character string that contains one or more special characters and mnemonic operators.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n0ewo8r1qnm5msn1i1j7qn7o32z8\"}]},\"supportSiteInformation\":{\"docsetId\":\"mcrolref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p0g7ff7een8s61n1etdfp2vo0kte.htm\"}},{\"name\":\"%QKCMPRES\",\"description\":\"Compresses multiple blanks and removes leading and trailing blanks.\",\"syntax\":{\"help\":\"%QKCMPRES  (*text* | *text expression*)  \",\"arguments\":[{\"name\":\"text\",\"description\":\"text or text expression.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n1hh0bhslm0lr6n1gpdhomemgxbe\"}]},\"supportSiteInformation\":{\"docsetId\":\"nlsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p1swd8pzw9aq9qn1uz6m55ck231p.htm\"}},{\"name\":\"%QKLEFT\",\"description\":\"Left-aligns an argument by removing leading blanks.\",\"syntax\":{\"help\":\"\\n\\t%QKLEFT  (text | text expression)\"},\"supportSiteInformation\":{\"docsetId\":\"nlsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p0imvfrvy2ygwxn1ig7hrgjt12uu.htm\"}},{\"name\":\"%QKSCAN\",\"description\":\"Search for a word that is specified by its position in a string.\",\"syntax\":{\"help\":\"\\n\\t%QKSCAN  (argument, n<,delimiters  > )\",\"arguments\":[{\"name\":\"argument\",\"description\":\"is a character string or a text expression. If argument contains a special character or mnemonic operator, listed here, use %QKSCAN.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n0775y4x5f00e1n1868ekrtwuwev\"},{\"name\":\"n\",\"description\":\"is an integer or a text expression that yields an integer, which specifies the position of the word to return. If n is greater than the number of words in argument, the functions return a null string. If n is negative, %KSCAN examines the character string and selects the word that starts at the end of the string and searches backward.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n10tcoyycvp5phn0z767pmp3vb0m\"},{\"name\":\"delimiter\",\"description\":\"specifies a character variable that produces characters that you want %QKSCAN to use as word separators in the character expression.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n1a31tqj9q6xmpn1t5gs1g28n5jq\"}]},\"supportSiteInformation\":{\"docsetId\":\"nlsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n1vo7uobm4iw72n1ap2z2jkqee4p.htm\"}},{\"name\":\"%QKSUBSTR\",\"description\":\"Produce a substring of a character string.\",\"syntax\":{\"help\":\"\\n\\t%QKSUBSTR  (argument, position<, length> )\",\"arguments\":[{\"name\":\"argument\",\"description\":\"is a character string or a text expression. If argument contains a special character or mnemonic operator, listed here, use %QKSUBSTR.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n094y742gi8gfzn17jg13bfktxam\"},{\"name\":\"position\",\"description\":\"is an integer or an expression (text, logical, or arithmetic) that yields an integer that specifies the position of the first character in the substring. If position is greater than the number of characters in the string, %KSUBSTR and %QKSUBSTR issue a warning message and return a null value.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p09bcmaj29kl9tn1hof9nkxar9q3\"},{\"name\":\"length\",\"description\":\"is an optional integer or an expression (text, logical, or arithmetic) that yields an integer that specifies the number of characters in the substring. If length is greater than the number of characters following position in argument, %KSUBSTR and %QKSUBSTR issue a warning message and return a substring containing the characters from position to the end of the string. By default, %KSUBSTR and %QKSUBSTR produce a string containing the characters from position to the end of the character string.\",\"placeholder\":true,\"optional\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p0z8q19weddwrrn124bpv51juff1\"}]},\"supportSiteInformation\":{\"docsetId\":\"nlsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n0wgoqg2lv9d2tn15au5bd180dgu.htm\"}},{\"name\":\"%QKUPCASE\",\"description\":\"Convert values to uppercase.\",\"syntax\":{\"help\":\"\\n\\t%QKUPCASE  (character string | text expression)\"},\"supportSiteInformation\":{\"docsetId\":\"nlsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n19a52vevhg6avn1ent6buvahq2o.htm\"}},{\"name\":\"%QSCAN\",\"description\":\"Searches for a word and masks special characters and mnemonic operators.\",\"syntax\":{\"help\":\"%QSCAN (*character-string*, *n*&lt;, *charlist*&lt;, *modifiers*&gt;&gt;)\",\"arguments\":[{\"name\":\"character-string\",\"description\":\"specifies a character string or a text expression that results in a character string.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n103mb0trsw9kbn1xn139jom443y\"},{\"name\":\"n\",\"description\":\"specifies an integer or a text expression that yields an integer, which specifies the position of the word to return.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p0jbfr65aqm1prn1abr1il27u4kf\"},{\"name\":\"charlist\",\"description\":\"specifies an optional character expression that initializes a list of characters.\",\"placeholder\":true,\"optional\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n0nnndyv7fhbpfn1win4cn3qjih3\"},{\"name\":\"modifiers\",\"description\":\"specifies a character constant, a variable, or an expression in which each non-blank character modifies the action of the %QSCAN function.\",\"placeholder\":true,\"optional\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n13n4l2bacc2aun1ce84j4dbc9on\"}]},\"supportSiteInformation\":{\"docsetId\":\"mcrolref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p0mnb8dwzghn9cn1cokdgg9xixg6.htm\"}},{\"name\":\"%QSUBSTR\",\"description\":\"Produces a substring and masks special characters and mnemonic operators.\",\"syntax\":{\"help\":\"%QSUBSTR (*character-string*, *position*&lt;, *length*&gt;)\",\"arguments\":[{\"name\":\"character-string\",\"description\":\"specifies a character string or an expression that results in a character string that contains special characters and mnemonic operators.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p1g141lcqknzk7n1oghuuykz0j4b\"},{\"name\":\"position\",\"description\":\"specifies an integer or an expression (text, logical, or arithmetic) that yields an integer, which specifies the position of the first character in the substring.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p10u5j1kytjcbcn1fh2n9jxu8afb\"},{\"name\":\"length\",\"description\":\"specifies an optional integer or an expression (text, logical, or arithmetic) that yields an integer that specifies the number of characters in the substring.\",\"placeholder\":true,\"optional\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p1b00d4dxb20vfn1ux0yb8m9iikq\"}]},\"supportSiteInformation\":{\"docsetId\":\"mcrolref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n02zgr13otvtqin1f0gpvfcdhg3r.htm\"}},{\"name\":\"%QSYSFUNC\",\"description\":\"Executes functions and masks special characters and mnemonic operators.\",\"syntax\":{\"help\":\"%QSYSFUNC (*function(arguments)*&lt;, *format*&gt;)\",\"arguments\":[{\"name\":\"function\",\"description\":\"specifies the name of the function to execute.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n01gy7qmstvtafn1icsmnnwbmbk1\"},{\"name\":\"arguments\",\"description\":\"specifies one or more arguments used by function.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p1hcgdr47w0wkln113b056rvf18p\"},{\"name\":\"format\",\"description\":\"specifies an optional format to apply to the result of function.\",\"placeholder\":true,\"optional\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n06e178291iji1n1wn5b5y9sgbw7\"}]},\"supportSiteInformation\":{\"docsetId\":\"mcrolref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n1voiwemzj21czn1bqxjy5radjm5.htm\"}},{\"name\":\"%QUOTE\",\"description\":\"Mask special characters and mnemonic operators in a resolved value at macro execution.\",\"syntax\":{\"help\":\"%QUOTE (*character-string*)\",\"arguments\":[{\"name\":\"character-string\",\"description\":\"specifies a character string or an expression that results in a character string that contains one or more special characters and mnemonic operators.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n0x5ng7udldg0in1ft63cvpmm9vj\"}]},\"supportSiteInformation\":{\"docsetId\":\"mcrolref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p1780jrqrtwtw7n16x83peo2zpxr.htm\"}},{\"name\":\"%QUPCASE\",\"description\":\"Converts a value to uppercase and returns a result that masks special characters and mnemonic operators.\",\"syntax\":{\"help\":\"%QUPCASE (*character-string*)\",\"arguments\":[{\"name\":\"character-string\",\"description\":\"specifies a character string or an expression that results in a character string that contains one or more special characters and mnemonic operators.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n0b092zdlurvuon0z3gtndaqo2hc\"}]},\"supportSiteInformation\":{\"docsetId\":\"mcrolref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n1skpiwhc1pryyn1asybf5cpwm9w.htm\"}},{\"name\":\"%SCAN\",\"description\":\"Searches for a word that is specified by its position in a string.\",\"syntax\":{\"help\":\"%SCAN (*character-string*, *n*&lt;, *delimiters*&lt;, *modifiers*&gt;&gt;)\",\"arguments\":[{\"name\":\"character-string\",\"description\":\"specifies a character string or a text expression that results in a character string.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p1i0yeckfkm9rwn1anmes0oa4wwv\"},{\"name\":\"n\",\"description\":\"specifies an integer or a text expression that yields an integer, which specifies the position of the word to return.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n1tl32ok5n3yeyn1jcmmz7t0wzu2\"},{\"name\":\"delimiters\",\"description\":\"specifies an optional character expression that initializes a list of delimiters.\",\"placeholder\":true,\"optional\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p1bj5we2nml627n1min916dkdeli\"},{\"name\":\"modifiers\",\"description\":\"specifies a character constant, a variable, or an expression in which each non-blank character modifies the action of the %SCAN function.\",\"placeholder\":true,\"optional\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n1xkxnerp62eixn1t00lwhlh02vq\"}]},\"supportSiteInformation\":{\"docsetId\":\"mcrolref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p1nhhymw6gxixvn1johcfl6kaygw.htm\"}},{\"name\":\"%STR\",\"description\":\"Mask special characters and mnemonic operators in constant text at macro compilation.\",\"syntax\":{\"help\":\"%STR (*character-string*)\",\"arguments\":[{\"name\":\"character-string\",\"description\":\"specifies a character string or an expression that results in a character string that contains special characters and mnemonic operators.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n065vsafkxc7udn12h6cdvbvjchs\"}]},\"supportSiteInformation\":{\"docsetId\":\"mcrolref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n09tblrxldh8k0n1kt6dkj3xlxug.htm\"}},{\"name\":\"%SUBSTR\",\"description\":\"Produce a substring of a character string.\",\"syntax\":{\"help\":\"%SUBSTR (*character-string*, *position*&lt;, *length*&gt;)\",\"arguments\":[{\"name\":\"character-string\",\"description\":\"specifies a character string or an expression that results in a character string as the source string.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n1du164mm6wxnhn1ii155mpkamx6\"},{\"name\":\"position\",\"description\":\"specifies an integer or an expression (text, logical, or arithmetic) that yields an integer, which specifies the position of the first character in the substring.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n1t04vpqi3pw72n1826ajnpymvj3\"},{\"name\":\"length\",\"description\":\"specifies an optional integer or an expression (text, logical, or arithmetic) that yields an integer that specifies the number of characters in the substring.\",\"placeholder\":true,\"optional\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p1j5qnwbc0nrkfn19ozk1wi4ivv3\"}]},\"supportSiteInformation\":{\"docsetId\":\"mcrolref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n0nq1hkovbu54en1h78i6ci7gz51.htm\"}},{\"name\":\"%SUPERQ\",\"description\":\"Masks all special characters and mnemonic operators at macro execution but prevents further resolution of the value.\",\"syntax\":{\"help\":\"%SUPERQ (*macro-variable-name*)\",\"arguments\":[{\"name\":\"macro-variable-name\",\"description\":\"specifies the name of a macro variable or an expression that results in the name of a macro variable without the leading ampersand.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p102kto1gtjbd4n15y3jjdl8cack\"}]},\"supportSiteInformation\":{\"docsetId\":\"mcrolref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p0ldeqll9sabzcn1jxnvid754b3t.htm\"}},{\"name\":\"%SYMEXIST\",\"description\":\"Returns an indication of the existence of a macro variable.\",\"syntax\":{\"help\":\"%SYMEXIST (*macro-variable-name*)\",\"arguments\":[{\"name\":\"macro-variable-name\",\"description\":\"specifies the name of a macro variable or an expression that results in the name of a macro variable without the leading ampersand.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n1sy23zdt0ooxen1ul2ogrok8x53\"}]},\"supportSiteInformation\":{\"docsetId\":\"mcrolref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n1mm3jwlbolg00n1b7w7aiybuch8.htm\"}},{\"name\":\"%SYMGLOBL\",\"description\":\"Returns an indication as to whether a macro variable is global in scope.\",\"syntax\":{\"help\":\"%SYMGLOBL (*macro-variable-name*)\",\"arguments\":[{\"name\":\"macro-variable-name\",\"description\":\"specifies the name of a macro variable or an expression that results in the name of a macro variable without the leading ampersand.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n0qrc9ckl4ddumn10mvmbg839vf3\"}]},\"supportSiteInformation\":{\"docsetId\":\"mcrolref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n08s7knm42dr8mn176e3o3h81eth.htm\"}},{\"name\":\"%SYMLOCAL\",\"description\":\"Returns an indication as to whether a macro variable is local in scope.\",\"syntax\":{\"help\":\"%SYMLOCAL (*macro-variable-name*)\",\"arguments\":[{\"name\":\"macro-variable-name\",\"description\":\"specifies the name of a macro variable or a text expression that results in the name of a macro variable without the leading ampersand.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p0etzyq3qa9cu1n1mpil8szkvivb\"}]},\"supportSiteInformation\":{\"docsetId\":\"mcrolref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n1e0j9ia84clgin1a7nob5sn6lbb.htm\"}},{\"name\":\"%SYSEVALF\",\"description\":\"Evaluates arithmetic and logical expressions using floating-point arithmetic.\",\"syntax\":{\"help\":\"%SYSEVALF (*expression*&lt;, *conversion-type*&gt;)\",\"arguments\":[{\"name\":\"expression\",\"description\":\"specifies an arithmetic or logical expression to evaluate.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n01muvlmpnlwgvn15noiawnfvrvz\"},{\"name\":\"BOOLEAN\",\"description\":\"returns\\n• 0 if the result of the expression is 0 or missing\\n• 1 if the result is any other value.\",\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"p1lr5seobxvljjn1bd6khodl48rb\"},{\"name\":\"CEIL\",\"description\":\"returns a character value representing the smallest integer that is greater than or equal to the result of the expression. If the result is within 10—12 of an integer, the function returns a character value representing that integer. An expression containing a missing value returns a missing value along with a message noting that fact:\",\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"p17mgko598trlon1phtj848ecau7\"},{\"name\":\"FLOOR\",\"description\":\"returns a character value representing the largest integer that is less than or equal to the result of the expression. If the result is within 10—12 of an integer, the function returns that integer. An expression with a missing value produces a missing value:\",\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"p0k2864cgepx0ln1r8k8qdaxw4bj\"},{\"name\":\"INTEGER\",\"description\":\"returns a character value representing the integer portion of the result (truncates the decimal portion). If the result of the expression is within 10—12 of an integer, the function produces a character value representing that integer. If the result of the expression is positive, INTEGER returns the same result as FLOOR. If the result of the expression is negative, INTEGER returns the same result as CEIL. An expression with a missing value produces a missing value:\",\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"n1x9ift2g6a8vfn1nw57ne7of5k7\"}]},\"supportSiteInformation\":{\"docsetId\":\"mcrolref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p1d9ypna2tpt16n1xam57kuffcpt.htm\"}},{\"name\":\"%SYSFUNC\",\"description\":\"Execute SAS functions or user-written functions.\",\"syntax\":{\"help\":\"%SYSFUNC (*function(arguments)*&lt;, *format*&gt;)\",\"arguments\":[{\"name\":\"function\",\"description\":\"is the name of the function to execute. This function can be a SAS function, a function written with SAS/TOOLKIT software, or a function created using the . The function cannot be a macro function.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p050lunoggvvb1n0zx1qq77jfb3p\"},{\"name\":\"arguments\",\"description\":\"specifies one or more arguments used by function.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n1optb1ckagblrn164x62qy3d3ev\"},{\"name\":\"format\",\"description\":\"specifies an optional format to apply to the result of function.\",\"placeholder\":true,\"optional\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p0xdqlx9hhdvkfn15i2xp3j2dpx4\"}]},\"supportSiteInformation\":{\"docsetId\":\"mcrolref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p1o13d7wb2zfcnn19s5ssl2zdxvi.htm\"}},{\"name\":\"%SYSGET\",\"description\":\"Returns the character string that is the value of the environment variable passed as the argument.\",\"syntax\":{\"help\":\"%SYSGET (*environment-variable*)\",\"arguments\":[{\"name\":\"environment-variable\",\"description\":\"specifies the name of an environment variable.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n1qabndakdcg5cn1ss5pisjsor1e\"}]},\"supportSiteInformation\":{\"docsetId\":\"mcrolref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n19zyt041jjgs7n16ps5awotxnik.htm\"}},{\"name\":\"%SYSMACEXEC\",\"description\":\"Returns an indication of the execution status of a macro.\",\"syntax\":{\"help\":\"%SYSMACEXEC (*macro-name*)\",\"arguments\":[{\"name\":\"macro-name\",\"description\":\"specifies the name of a macro or an expression that results in the name of a macro without the leading percent sign.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p0ly0abb3gjhitn1x3pm6ub4ui3v\"}]},\"supportSiteInformation\":{\"docsetId\":\"mcrolref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p0g868ww40yr4jn1l0wxst5fi796.htm\"}},{\"name\":\"%SYSMACEXIST\",\"description\":\"Returns an indication of the existence of a macro definition in the Work.SASMacr or Work.SASMacn catalog.\",\"syntax\":{\"help\":\"%SYSMACEXIST (*macro-name*)\",\"arguments\":[{\"name\":\"macro-name\",\"description\":\"specifies the name of a macro or an expression that results in the name of a macro without the leading percent sign.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n0t2ee3ejqu9oan161n0ol95zpnt\"}]},\"supportSiteInformation\":{\"docsetId\":\"mcrolref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n0xwysoo8i2j3kn13ls4thkn3xbp.htm\"}},{\"name\":\"%SYSMEXECDEPTH\",\"description\":\"Returns the nesting depth of macro execution from the point of the call to %SYSMEXECDEPTH.\",\"syntax\":{\"help\":\"%SYSMEXECDEPTH \"},\"supportSiteInformation\":{\"docsetId\":\"mcrolref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n19g3xotkajctbn1tujf4pce6n3d.htm\"}},{\"name\":\"%SYSMEXECNAME\",\"description\":\"Returns the name of the macro executing at a requested nesting level.\",\"syntax\":{\"help\":\"%SYSMEXECNAME (*nesting-level*)\",\"arguments\":[{\"name\":\"0\",\"description\":\"specifies open code\",\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"p0ih6ijnkafhc2n1ni9znj7xr08r\"},{\"name\":\">0\",\"description\":\"specifies a nesting level\",\"dataTypes\":[\"standalone\"],\"supportSiteTargetFragment\":\"p07hxa9nk9xu69n123l0qd9zcgak\"}]},\"supportSiteInformation\":{\"docsetId\":\"mcrolref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n19g1rkeq1al87n1djihhoec4oxp.htm\"}},{\"name\":\"%SYSPROD\",\"description\":\"Reports whether a SAS software product is licensed at the site.\",\"syntax\":{\"help\":\"%SYSPROD (*product-code*)\",\"arguments\":[{\"name\":\"product-code\",\"description\":\"specifies a SAS software product code.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n0nu6f7cecm1k1n1x4e9azjxnv0z\"}]},\"supportSiteInformation\":{\"docsetId\":\"mcrolref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n1itmfeiygh6pln1qk1zwdtngrg8.htm\"}},{\"name\":\"%UNQUOTE\",\"description\":\"During macro execution, unmasks all special characters and mnemonic operators for a value.\",\"syntax\":{\"help\":\"%UNQUOTE (*character-string*)\",\"arguments\":[{\"name\":\"character-string\",\"description\":\"specifies a character string or an expression that results in a character string.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p05qjekwlbrxkpn1t5b2k4131ssy\"}]},\"supportSiteInformation\":{\"docsetId\":\"mcrolref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p1k3cotqhvgwk0n105gyfe1cqg9m.htm\"}},{\"name\":\"%UPCASE\",\"description\":\"Convert values to uppercase.\",\"syntax\":{\"help\":\"%UPCASE (*character-string*)\",\"arguments\":[{\"name\":\"character-string\",\"description\":\"specifies a character string or an expression that results in a character string that is to be converted to upper case.\",\"placeholder\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p13ih4wr26g8w2n1hvbzawg4wz64\"}]},\"supportSiteInformation\":{\"docsetId\":\"mcrolref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p0t39yb3elv64zn1wpc804ilqwv4.htm\"}},{\"name\":\"%VALIDCHS\",\"description\":\"Validates the character(s) encoding compatibility for data set variables.\",\"syntax\":{\"help\":\"%VALIDCHS (*dsnm=dataset_name*,*libnm=libref_name*&lt;*ENCODING=encoding_name*,&gt;&lt;*COMPATIBLE=encoding_name*)&gt;\",\"arguments\":[{\"name\":\"dsnm=\",\"description\":\"name of the data set to be verified.\",\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p1k4ykuy1330cun19pz0vkml95uj\"},{\"name\":\"libnm=\",\"description\":\"name of the SAS library to be verified.\",\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p1ufesy5773lw5n1nzo0truupbcp\"},{\"name\":\"ENCODING=\",\"description\":\"optional encoding name that the %VALIDCHS macro function uses to validate that the characters in the data set are valid for the specified encoding. If the ENCODING= option is not specified, the encoding of the data set is used.\",\"optional\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"p1nlhq2m136tb3n1x6s9eiwc06mx\"},{\"name\":\"COMPATIBLE=\",\"description\":\"optional encoding that the %VALIDCHS macro function uses to verify the compatibility of the data in the data set with the specified encoding. It helps determine whether you can successfully transfer the data set between a server and a client where the encoding is different. Incompatible characters can cause data transfer issues.\",\"optional\":true,\"dataTypes\":[\"value\"],\"supportSiteTargetFragment\":\"n03v3za9gkhzltn1jpugooer22uj\"}]},\"supportSiteInformation\":{\"docsetId\":\"nlsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n1wiwf6906rxw8n19iox97afsk0s.htm\"}}]"
  },
  {
    "path": "server/pubsdata/Procedures/en/ACCELERATOR.json",
    "content": "{\"name\":\"ACCELERATOR\",\"statements\":[{\"name\":\"PROC ACCELERATOR\",\"description\":\"Starts or stops a continuous session, or publishes, runs, or deletes a model in a data source.\",\"help\":\"PROC ACCELERATOR required-argument;\\n\\tSTARTSESSION required-arguments<optional-arguments>;\\n\\n\\tSTOPSESSION ;\\n\\n\\tPUBLISHMODEL required-arguments<optional-argument>;\\n\\n\\tRUNMODEL required-arguments<optional-arguments>;\\n\\n\\tDELETEMODEL required-argument;\\n\",\"arguments\":[{\"name\":\"LIBRARY=\",\"description\":\"specifies the name of the SAS library where the model is run.\",\"help\":\"LIBRARY=*libref*\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"n1fs0g11q3w3jgn1sq3vtumu8nfo\"}],\"supportSiteTargetFile\":\"n0js6npg70fe45n1q1dvx39s1p9s.htm\"},{\"name\":\"STARTSESSION\",\"description\":\"Starts the SAS Embedded Process continuous session.\",\"help\":\"STARTSESSION \\nPLATFORM=DATABRICKS | SYNAPSE\\nPLATFORMENDPOINT=\\\"rest-url\\\"\\nPLATFORMPASSWORD=endpoint-password\\nPLATFORMUSER=endpoint-user-identifier\\n<startsession-optional-arguments>;\",\"arguments\":[{\"name\":\"PLATFORM=\",\"description\":\"specifies the target platform for model publishing and scoring.\",\"help\":\"PLATFORM=DATABRICKS | SYNAPSE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DATABRICKS\",\"type\":\"standalone\"},{\"name\":\"SYNAPSE\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"n072a2g1rf2ogdn1tyujlq4cbpvf\"},{\"name\":\"PLATFORMENDPOINT=\",\"description\":\"specifies the URL that is used to submit execution requests over a REST interface to services such as Apache Livy or Databricks execution context.\",\"help\":\"PLATFORMENDPOINT=\\\"*rest-url*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n09dwmb6npe90sn1ugpvte03cxh2\"},{\"name\":\"PLATFORMPASSWORD=\",\"description\":\"specifies the Livy endpoint application secret.\",\"help\":\"PLATFORMPASSWORD=*endpoint-password*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1tzkr3diykrstn1c4uwlm956wee\"},{\"name\":\"PLATFORMUSER=\",\"description\":\"specifies the Livy endpoint user name.\",\"help\":\"PLATFORMUSER=*endpoint-user-identifier*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p14e1rsxo2evi8n1d025hpeuu1bm\"},{\"name\":\"AUTORESTART=\",\"optional\":true,\"description\":\"automatically restarts a session if it is terminated on the server side due to a timeout or other events.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p19vc40vziyjk8n18fhx09ninngz\"},{\"name\":\"MAXUNBOUNDEDLENGTH=\",\"optional\":true,\"description\":\"specifies the maximum length for unbounded data types (such as BLOB, CLOB, TEXT, or long STRING types) when they are Read into the SAS Embedded Process.\",\"help\":\"MAXUNBOUNDEDLENGTH=*maximum-unbounded-column-length*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n11af09kcad0x8n1su3bnxdsvo8z\"},{\"name\":\"PROPERTIES=\",\"optional\":true,\"description\":\"specifies a Spark configuration property as a name-value pair, or a list of properties as name-value pairs.\",\"help\":\"PROPERTIES=\\\"*property-1*=*value-1*&lt;; ...*property-n*=*value-n*&gt;\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0651m9qfkec3pn1sf2vkjh8kfga\"},{\"name\":\"TIMEOUT=\",\"optional\":true,\"description\":\"specifies the number of minutes the Livy session waits for execution requests.\",\"help\":\"TIMEOUT=*n*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n147kh2e5l9rn4n17op9hcmk0qe9\"},{\"name\":\"TRACE\",\"optional\":true,\"description\":\"specifies whether the SAS Embedded Process runs with traces.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1i88nw8bzpjamn1mav54da04g3b\"}],\"supportSiteTargetFile\":\"n1rqrbrw30nz14n15f52w402mx50.htm\"},{\"name\":\"STOPSESSION\",\"description\":\"Stops the SAS Embedded Process continuous session.\",\"help\":\"STOPSESSION ;\",\"supportSiteTargetFile\":\"p10ilp8mnvng54n1vxghfgri4js0.htm\"},{\"name\":\"PUBLISHMODEL\",\"description\":\"Publishes a model to a data source.\",\"help\":\"PUBLISHMODEL \\nMODELTABLENAME=\\\"fully-qualified-table-name\\\"                         \\nMODELTYPE=DATASTEP | DS2\\n                        \\nPLATFORM=DATABRICKS | SINGLESTORE | SYNAPSE\\nSTOREFILES=file-specification | PROGRAMFILE=file-specification\\n\\n\\n                        VARSFILE=file-path\\n\\n\\n                        <publishmodel-optional-argument>;\",\"arguments\":[{\"name\":\"MODELTABLENAME=\",\"description\":\"specifies the name of the table to which the model is published.\",\"help\":\"MODELTABLENAME=\\\"*fully-qualified-table-name*\\\"\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"n1hi1kvcs483ddn115p5ub3txwkn\"},{\"name\":\"MODELTYPE=\",\"description\":\"specifies the type of the input model program.\",\"help\":\"MODELTYPE=DATASTEP | DS2\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DATASTEP\",\"description\":\"specifies that the input model program is DATA step code.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p00n77zlebk501n1vngmmqr8ub3r\"},{\"name\":\"DS2\",\"description\":\"specifies that the input model program is DS2 code.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0dwrh5rj6nmkrn1bq7krweas82s\"}],\"supportSiteTargetFragment\":\"p073arbxk20lj1n1w8kry1svr3b1\"},{\"name\":\"PLATFORM=\",\"description\":\"specifies the target platform for model publishing and scoring.\",\"help\":\"PLATFORM=DATABRICKS | SINGLESTORE | SYNAPSE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DATABRICKS\",\"type\":\"standalone\"},{\"name\":\"SINGLESTORE\",\"type\":\"standalone\"},{\"name\":\"SYNAPSE\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"n072a2g1rf2ogdn1tyujlq4cbpvfa\"},{\"name\":\"STOREFILES=\",\"description\":\"specifies a list of analytic store .sasast files, one for each analytic store to be published.\",\"help\":\"STOREFILES=(\\\"file-path-1\\\" | fileref-1\\n                        <,\\\"file-path-2” | fileref-2,                             ...>)\",\"type\":\"standaloneOrValue\",\"arguments\":[{\"name\":\"\\\"file-path-1\\\"\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"fileref-1\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"n18fj4u3f4tdnen1dqtyp5edgxfb\"},{\"name\":\"PROGRAMFILE=\",\"description\":\"You must specify either STOREFILES= or PROGRAMFILE= or both options. Some analytic store models require only the STOREFILES= option. Some DATA step and DS2 models require only the PROGRAMFILE= option. Some models consist of DATA step code, DS2 code, and one or more ASTORE files. In that case, you specify both STOREFILES= and PROGRAMFILE= options.\",\"help\":\"PROGRAMFILE=\\\"*file-path*\\\" | *fileref*\",\"type\":\"choice\",\"arguments\":[{\"name\":\"\\\"file-path\\\"\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"fileref\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"n1uqf8j0g4eap0n110z9me4hiy51\"},{\"name\":\"VARSFILE=\",\"description\":\"specifies the file that contains the variable metadata XML to be used during translation of an input DATA step model program to DS2.\",\"help\":\"VARSFILE=\\\"*file-path*\\\" | *fileref*\",\"type\":\"choice\",\"arguments\":[{\"name\":\"\\\"file-path\\\"\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"fileref\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p1u9jxto941q4wn1lbqiv9trfp9x\"},{\"name\":\"FORMATSFILE=\",\"optional\":true,\"description\":\"specifies the file that contains the user-defined format XML definition to be published.\",\"help\":\"FORMATSFILE=\\\"*file-path*\\\" | *fileref*\",\"type\":\"choice\",\"arguments\":[{\"name\":\"\\\"file-path\\\"\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"fileref\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"n1kgwd1z7h1k26n16n35b4og615p\"}],\"supportSiteTargetFile\":\"n1k7vek637cpdan1ayuems5xn35k.htm\"},{\"name\":\"RUNMODEL\",\"description\":\"Runs a model in a data source.\",\"help\":\"RUNMODEL \\nINPUTQUERY='sql-query' | INPUTSCALACODE=\\\"scala-code\\\" | INPUTTABLENAME=\\\"fully-qualified-table-name\\\"\\nMODELTABLENAME=\\\"fully-qualified-table-name\\\"\\nOUTPUTSCALACODE=\\\"scala-code\\\" | OUTPUTTABLENAME=\\\"fully-qualified-table-name\\\"\\n\\nPLATFORM=DATABRICKS | SINGLESTORE | SYNAPSE\\n<runmodel-optional-arguments>;\",\"arguments\":[{\"name\":\"INPUTQUERY=\",\"description\":\"\",\"help\":\"INPUTQUERY='*sql-query*' | INPUTSCALACODE=\\\"*scala-code*\\\" | INPUTTABLENAME=\\\"*fully-qualified-table-name*\\\"\",\"type\":\"choice\",\"arguments\":[{\"name\":\"INPUTQUERY=\",\"description\":\"is a SELECT statement that returns a table results set.\",\"help\":\"INPUTQUERY='*sql-query*'\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p15xvjlf7x15sin1cjaq5zgv1bmy\"},{\"name\":\"INPUTSCALACODE=\",\"description\":\"is a string of Scala code.\",\"help\":\"INPUTSCALACODE=\\\"*scala-code*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0p2kuddtmnlg8n1fpngtcvv0ce3\"},{\"name\":\"INPUTTABLENAME=\",\"description\":\"specifies the name of the input table.\",\"help\":\"INPUTTABLENAME=\\\"*fully-qualified-table-name*\\\"\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"p0uy25pm2dzd4in1wn78z6gj14l7\"}],\"supportSiteTargetFragment\":\"p1dwj27ts32oeun1l5l3bhkot56c\"},{\"name\":\"MODELTABLENAME=\",\"description\":\"specifies the name of the table to which the model is published.\",\"help\":\"MODELTABLENAME=\\\"*fully-qualified-table-name*\\\"\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"n1hi1kvcs483ddn115p5ub3txwkna\"},{\"name\":\"OUTPUTSCALACODE=\",\"description\":\"\",\"help\":\"OUTPUTSCALACODE=\\\"*scala-code*\\\" | OUTPUTTABLENAME=\\\"*fully-qualified-table-name*\\\"\",\"type\":\"choice\",\"arguments\":[{\"name\":\"OUPUTSCALACODE=\",\"description\":\"is a string of Scala code.\",\"help\":\"OUPUTSCALACODE=\\\"*scala-code*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1d6vgcij28o4mn19rjpkfoqkvap\"},{\"name\":\"OUTPUTTABLENAME=\",\"description\":\"specifies the name of the output table.\",\"help\":\"OUTPUTTABLENAME=\\\"*fully-qualified-table-name*\\\"\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"n1lds81bnb4f8an1jz7hs4re4sgz\"}],\"supportSiteTargetFragment\":\"p0xhc407fvavofn1k16bq3d28bul\"},{\"name\":\"PLATFORM=\",\"description\":\"specifies the target platform for model publishing and scoring.\",\"help\":\"PLATFORM=DATABRICKS | SINGLESTORE | SYNAPSE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DATABRICKS\",\"type\":\"standalone\"},{\"name\":\"SINGLESTORE\",\"type\":\"standalone\"},{\"name\":\"SYNAPSE\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"n072a2g1rf2ogdn1tyujlq4cbpvfb\"},{\"name\":\"KEEPLISTCOLUMNS=\",\"optional\":true,\"description\":\"specifies the name of one or more columns to keep in the output data.\",\"help\":\"KEEPLISTCOLUMNS=(\\\"*column-1*\\\"&lt; ...\\\"*column-n*\\\"&gt;)\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1p2v0w8dc6wsnn1m3f8gotul4r3\"},{\"name\":\"MAXUNBOUNDEDLENGTH=\",\"optional\":true,\"description\":\"specifies the maximum length for unbounded data types (such as BLOB, CLOB, TEXT, or long STRING types) when they are Read into the SAS Embedded Process.\",\"help\":\"MAXUNBOUNDEDLENGTH=*maximum-unbounded-column-length*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n11af09kcad0x8n1su3bnxdsvo8za\"}],\"supportSiteTargetFile\":\"n132uzv0hbo3uhn1mgfi51w6yop0.htm\"},{\"name\":\"DELETEMODEL\",\"description\":\"Deletes a model from a data source.\",\"help\":\"DELETEMODEL \\nMODELTABLENAME=fully-qualified-table-name\\nPLATFORM=DATABRICKS | SINGLESTORE | SYNAPSE;\",\"arguments\":[{\"name\":\"MODELTABLENAME=\",\"description\":\"specifies the name of the table to which the model is published.\",\"help\":\"MODELTABLENAME=\\\"*fully-qualified-table-name*\\\"\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"n1hi1kvcs483ddn115p5ub3txwknb\"},{\"name\":\"PLATFORM=\",\"description\":\"specifies the target platform for model publishing and scoring.\",\"help\":\"PLATFORM=DATABRICKS | SINGLESTORE | SYNAPSE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DATABRICKS\",\"type\":\"standalone\"},{\"name\":\"SINGLESTORE\",\"type\":\"standalone\"},{\"name\":\"SYNAPSE\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"n072a2g1rf2ogdn1tyujlq4cbpvfc\"}],\"supportSiteTargetFile\":\"n1jtrrt5eblgann1p8irpm4eexik.htm\"}],\"supportSiteInformation\":{\"docsetId\":\"indbug\",\"docsetVersion\":\"v_002\",\"docsetTargetFile\":\"p075d67o2ctrz5n1akufft6y1ob9.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/ACECLUS.json",
    "content": "{\"name\":\"ACECLUS\",\"statements\":[{\"name\":\"PROC ACECLUS\",\"description\":\"The ACECLUS (approximate covariance estimation for clustering) procedure obtains approximate estimates of the pooled within-cluster covariance matrix when the clusters are assumed to be multivariate normal with equal covariance matrices. Neither cluster membership nor the number of clusters needs to be known. PROC ACECLUS is useful for preprocessing data to be subsequently clustered by the CLUSTER or FASTCLUS procedure.\",\"help\":\"PROC ACECLUS <ABSOLUTE><CONVERGE=c><DATA=SAS-data-set><INITIAL=DIAGONAL|D | FULL|F | IDENTITY|I... ><MAXITER=n><METHOD=COUNT|C | THRESHOLD|T><METRIC=DIAGONAL|D | FULL|F | IDENTITY|I><MPAIRS=m><N=n><NOPRINT><OUT=SAS-data-set><OUTSTAT=SAS-data-set><PP><PREFIX=name> PROPORTION=p <QQ><SHORT><SINGULAR=g> THRESHOLD=t;     \\n\\tBY <DESCENDING><NOTSORTED> ;\\n\\n\\tFREQ variable;\\n\\n\\tVAR;\\n\\n\\tWEIGHT variable;\\n\",\"arguments\":[{\"name\":\"PROPORTION=\",\"aliases\":[\"PERCENT=\",\"P=\"],\"description\":\"Specifies the percentage of pairs to be included in the estimation of the within-cluster covariance matrix.\",\"help\":\"PROPORTION=*p*\",\"type\":\"value\"},{\"name\":\"THRESHOLD=\",\"aliases\":[\"T=\"],\"description\":\"Specifies the threshold for including pairs of observations in the estimation of the within-cluster covariance matrix. A pair of observations is included if the Euclidean distance between them is less than or equal to t times the root mean square distance computed over all pairs of observations.\",\"help\":\"THRESHOLD=*t*\",\"type\":\"value\"},{\"name\":\"ABSOLUTE\",\"optional\":true,\"description\":\"Causes the THRESHOLD= value or the threshold computed from the PROPORTION= option to be treated absolutely rather than relative to the root mean square distance between observations.\",\"type\":\"standalone\"},{\"name\":\"CONVERGE=\",\"optional\":true,\"description\":\"Specifies the convergence criterion.\",\"help\":\"CONVERGE=*c*\",\"type\":\"value\"},{\"name\":\"DATA=\",\"optional\":true,\"description\":\"Specifies the SAS data set to be analyzed.\",\"help\":\"DATA=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"INITIAL=\",\"optional\":true,\"description\":\"Specifies the matrix for the initial estimate of the within-cluster covariance matrix.\",\"help\":\"INITIAL=DIAGONAL | FULL | IDENTITY | INPUT=SAS-data-set\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DIAGONAL\",\"aliases\":[\"D\"],\"description\":\"Uses the diagonal matrix of sample variances as the initial estimate of the within-cluster covariance matrix.\",\"type\":\"standalone\"},{\"name\":\"FULL\",\"aliases\":[\"F\"],\"description\":\"Uses the total-sample covariance matrix as the initial estimate of the within-cluster covariance.\",\"type\":\"standalone\"},{\"name\":\"IDENTITY\",\"aliases\":[\"I\"],\"description\":\"Uses the identity matrix as the initial estimate of the within-cluster covariance matrix.\",\"type\":\"standalone\"},{\"name\":\"INPUT=\",\"description\":\"Specifies a SAS data set from which to obtain the initial estimate of the within-cluster covariance matrix.\",\"help\":\"INPUT=SAS-data-set\",\"type\":\"value\"}]},{\"name\":\"MAXITER=\",\"optional\":true,\"description\":\"Specifies the maximum number of iterations. By default, MAXITER=10.\",\"help\":\"MAXITER=*n*\",\"type\":\"value\"},{\"name\":\"METHOD=\",\"optional\":true,\"description\":\"Specifies the clustering method.\",\"help\":\"METHOD=COUNT|C | THRESHOLD\",\"type\":\"choice\",\"arguments\":[{\"name\":\"COUNT\",\"aliases\":[\"C\"],\"description\":\"Requests a method that uses a number of pairs, with the smallest distances to form the estimate at each iteration.\",\"type\":\"standalone\"},{\"name\":\"THRESHOLD\",\"aliases\":[\"T\"],\"description\":\"Option requests a method (also the default) that uses all pairs closer than a given cutoff value to form the estimate at each iteration.\",\"type\":\"standalone\"}]},{\"name\":\"METRIC=\",\"optional\":true,\"description\":\"Specifies the metric in which the computations are performed, implies the default value for the INITIAL= option, and specifies the matrix Z used in the formula for the convergence measure, ei, and for checking singularity of the A matrix.\",\"help\":\"METRIC=DIAGONAL | FULL | IDENTITY\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DIAGONAL\",\"aliases\":[\"D\"],\"description\":\"Uses the diagonal matrix of sample variances diag(S) and sets Z=diag(S)^(-1/2) , where the superscript -1/2 indicates an inverse factor.\",\"type\":\"standalone\"},{\"name\":\"FULL\",\"aliases\":[\"F\"],\"description\":\"Uses the total-sample covariance matrix S and sets Z=S^(-1/2).\",\"type\":\"standalone\"},{\"name\":\"IDENTITY\",\"aliases\":[\"I\"],\"description\":\"Uses the identity matrix I and sets Z=I.\",\"type\":\"standalone\"}]},{\"name\":\"MPAIRS=\",\"optional\":true,\"description\":\"Specifies the number of pairs to be included in the estimation of the within-cluster covariance matrix when METHOD=COUNT is requested.\",\"help\":\"MPAIRS=*m*\",\"type\":\"value\"},{\"name\":\"N=\",\"optional\":true,\"description\":\"Specifies the number of canonical variables to be computed. The default is the number of variables analyzed. N=0 suppresses the canonical analysis.\",\"help\":\"N=*n*\",\"type\":\"value\"},{\"name\":\"NOPRINT\",\"optional\":true,\"description\":\"Suppresses the display of all output. Note that this option temporarily disables the Output Delivery System (ODS).\",\"type\":\"standalone\"},{\"name\":\"OUT=\",\"optional\":true,\"description\":\"Creates an output SAS data set that contains all the original data as well as the canonical variables having an estimated within-cluster covariance matrix equal to the identity matrix.\",\"help\":\"OUT=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"OUTSTAT=\",\"optional\":true,\"description\":\"Specifies a TYPE=ACE output SAS data set that contains means, standard deviations, number of observations, covariances, estimated within-cluster covariances, eigenvalues, and canonical coefficients.\",\"help\":\"OUTSTAT=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"PP\",\"optional\":true,\"description\":\"Produces a PP probability plot of distances between pairs of observations computed in the last iteration.\",\"type\":\"standalone\"},{\"name\":\"PREFIX=\",\"optional\":true,\"description\":\"Specifies a prefix for naming the canonical variables. By default the names are Can1, Can2, ..., CAN. If you specify PREFIX=ABC, the variables are named ABC1, ABC2, ABC3, and so on.\",\"help\":\"PREFIX=*name*\",\"type\":\"value\"},{\"name\":\"QQ\",\"optional\":true,\"description\":\"Produces a QQ probability plot of a power transformation of the distances between pairs of observations computed in the last iteration. Caution:The QQ plot can require an enormous amount of computer time.\",\"type\":\"standalone\"},{\"name\":\"SHORT\",\"optional\":true,\"description\":\"Omits all items from the standard output except for the iteration history and the eigenvalue table.\",\"type\":\"standalone\"},{\"name\":\"SINGULAR=\",\"optional\":true,\"aliases\":[\"SING=\"],\"description\":\"Specifies a singularity criterion 0 < g < 1 for the total-sample covariance matrix S and the approximate within-cluster covariance estimate A. The default is SINGULAR=1E-4.\",\"help\":\"SINGULAR=*g*\",\"type\":\"value\"}]},{\"name\":\"BY\",\"description\":\"Obtains separate analyses on observations in groups defined by the BY variables.\",\"help\":\"BY &lt;DESCENDING&gt;&lt;NOTSORTED&gt;\",\"arguments\":[{\"name\":\"DESCENDING\",\"optional\":true,\"description\":\"Specifies that the observations are sorted in descending order by the variable that immediately follows the word DESCENDING in the BY statement.\",\"type\":\"standalone\"},{\"name\":\"NOTSORTED\",\"optional\":true,\"description\":\"Specifies that observations are not necessarily sorted in alphabetic or numeric order.\",\"type\":\"standalone\"}]},{\"name\":\"FREQ\",\"aliases\":[\"FREQUENCY\"],\"description\":\"Treats observations as if they appear multiple times in the input data set.\",\"help\":\"FREQ variable\"},{\"name\":\"VAR\",\"aliases\":[\"VARIABLES\"],\"description\":\"VAR variable(s); Specifies the numeric variables to be analyzed. If the VAR statement is omitted, all numeric variables not specified in other statements are analyzed.\",\"help\":\"VAR\"},{\"name\":\"WEIGHT\",\"aliases\":[\"WEIGHTS\"],\"description\":\"If you want to specify relative weights for each observation in the input data set, place the weights in a variable in the data set and specify that variable name in a WEIGHT statement. This is often done when the variance associated with each observation is different and the values of the weight variable are proportional to the reciprocals of the variances.\",\"help\":\"WEIGHT variable\"}],\"supportSiteInformation\":{\"docsetId\":\"statug\",\"docsetVersion\":\"latest\",\"docsetTargetFile\":\"statug_aceclus_toc.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/ADAPTIVEREG.json",
    "content": "{\"name\":\"ADAPTIVEREG\",\"statements\":[{\"name\":\"PROC ADAPTIVEREG\",\"description\":\"[SAS/STAT 12.1 Experimental Procedure] † The ADAPTIVEREG procedure fits multivariate adaptive regression splines as defined by Friedman (1991b). The method is a nonparametric regression technique that combines both regression splines and model selection methods. It does not assume parametric model forms and does not require specification of knot values for constructing regression spline terms. Instead, it constructs spline basis functions in an adaptive way by automatically selecting appropriate knot values for different variables and obtains reduced models by applying model selection techniques. † The main features of the ADAPTIVEREG procedure are as follows: † • supports classification variables with ordering options • enables you to force effects in the final model or restrict variables in linear forms • supports options for fast forward selection • supports data with response variables that are distributed in the exponential family • supports partitioning of data into training, validation, and testing roles • provides leave-one-out and k-fold cross validation • produces a graphical representation of the selection process, model fit, functional components, and fit diagnostics • produces an output data set that contains predicted values and residuals • produces an output data set that contains the design matrix of formed basis functions • supports multiple SCORE statements\",\"help\":\"PROC ADAPTIVEREG <DATA=SAS-data-set><DETAILS<=(detail-options)>><NAMELEN=number><NLOPTIONS(options)><NOTHREADS><OUTDESIGN<(options)>=SAS-data-set><PLOTS=ALL | COMPONENTS | DIAGNOSTICS... ><SEED=number><SINGULAR=number | EPSILON=number><TESTDATA=SAS-data-set><THREADS=n><VALDATA=SAS-data-set>;     \\n\\tBY <DESCENDING><NOTSORTED> ;\\n\\n\\tCLASS <DESCENDING><ORDER=<DATA | FORMATTED | FREQ>... > ;\\n\\n\\tFREQ variable ;\\n\\n\\tMODEL <ADDITIVE><ALPHA=number><CVMETHOD=<RANDOM(n) | INDEX(variable)>> ...;\\n\\n\\tOUTPUT <COOKD=><COVRATIO=><OUT=SAS-data-set> ...;\\n\\n\\tPARTITION <FRACTION(<fraction> <VALIDATE=fraction>)><ROLEVAR=variable (<TEST='value'> <TRAIN='value'> <VALIDATE='value'>)> ;\\n\\n\\tSCORE <DATA=SAS data set><OUT=SAS data set><PREDICTED <=name>> ...;\\n\\n\\tWEIGHT variable ;\\n\",\"arguments\":[{\"name\":\"DATA=\",\"optional\":true,\"description\":\"Specifies the SAS data set to be read by PROC ADAPTIVEREG. If you do not specify the DATA= option, PROC ADAPTIVEREG uses the most recently created SAS data set.\",\"help\":\"DATA=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"DETAILS=\",\"optional\":true,\"description\":\"Requests detailed model fitting information. You can specify the following detail-options: BASES -- displays the “Bases Information” table. BWDSUMMARY -- displays the “Backward Selection Summary” table. FWDSUMMARY -- displays the “Forward Selection Summary” table. FWDPARAMS -- displays the “Forward Selection Parameter Estimates” table.\",\"help\":\"DETAILS=BASES | BWDSUMMARY | FWDSUMMARY | FWDPARAMS\",\"type\":\"choice\",\"arguments\":[{\"name\":\"BASES\",\"type\":\"standalone\"},{\"name\":\"BWDSUMMARY\",\"type\":\"standalone\"},{\"name\":\"FWDSUMMARY\",\"type\":\"standalone\"},{\"name\":\"FWDPARAMS\",\"type\":\"standalone\"}]},{\"name\":\"NAMELEN=\",\"optional\":true,\"description\":\"Specifies the length to which long effect names are shortened. The default and minimum value is 20.\",\"help\":\"NAMELEN=*number*\",\"type\":\"value\"},{\"name\":\"NLOPTIONS=\",\"optional\":true,\"description\":\"Specifies options for the nonlinear optimization methods if you are applying the multivariate adaptive regression splines algorithm to generalized linear models. You can specify the following options: ABSCONV=r | ABSTOL=r specifies an absolute function convergence criterion by which minimization stops. The default value of r is the negative square root of the largest double-precision value, which serves only as a protection against overflows. ABSFCONV=r | ABSFTOL=r specifies an absolute function difference convergence criterion. The default value is r=0. ABSGCONV=r | ABSGTOL=r specifies an absolute gradient convergence criterion. This criterion is not used by the NMSIMP technique. The default value is r = 1E–5. FCONV=r | FTOL=r specifies a relative function convergence criterion. GCONV=r | GTOL=r specifies a relative gradient convergence criterion. This criterion is not used by the NMSIMP technique. The default value is r = 1E–8. HESSIAN=hessian-options specifies the Hessian matrix type used in the optimization of likelihood functions, if the Newton-Raphson technique is used. You can specify the following hessian-options: EXPECTED -- requests that the Hessian matrix in optimization be computed as the negative of the expected information matrix. OBSERVED -- requests that the Hessian matrix in optimization be computed as the negative of the observed information matrix. For many specified distribution families and link functions, the observed information matrix is equal to the expected information matrix. The default is HESSIAN=EXPECTED. MAXFUNC=n | MAXFU=n specifies the maximum number of function calls in the optimization process. The default values are as follows, depending on the optimization technique: • TRUREG, NRRIDG, and NEWRAP: 125 • QUANEW and DBLDOG: 500 • CONGRA: 1000 • NMSIMP: 3000 The optimization can terminate only after completing a full iteration. Therefore, the number of function calls that are actually performed can exceed the number that is specified by this option. You can select the optimization technique by specifying the TECHNIQUE= option. MAXITER=n | MAXIT=n specifies the maximum number of iterations in the optimization process. The default values are as follows, depending on the optimization technique: • TRUREG, NRRIDG, and NEWRAP: 50 • QUANEW and DBLDOG: 200 • CONGRA: 400 • NMSIMP: 1000 These default values also apply when n is specified as a missing value. You can select the optimization technique by specifying the TECHNIQUE= option. MAXTIME=r specifies an upper limit of r seconds of CPU time for the optimization process. The default value is the largest floating-point double representation of your computer. The time that is specified by the MAXTIME= option is checked only once at the end of each iteration. Therefore, the actual running time can be longer than the time specified by this option. MINITER=n | MINIT=n specifies the minimum number of iterations. The default value is 0. If you request more iterations than are actually needed for convergence to a stationary point, the optimization algorithms can behave strangely. For example, the effect of rounding errors can prevent the algorithm from continuing for the required number of iterations. TECHNIQUE=keyword specifies the optimization technique to obtain maximum likelihood estimates for nonnormal distributions. You can choose from the following techniques by specifying the appropriate keyword: CONGRA -- performs a conjugate-gradient optimization. DBLDOG -- performs a version of double-dogleg optimization. NEWRAP -- performs a Newton-Raphson optimization that combines a line-search algorithm with ridging. NMSIMP -- performs a Nelder-Mead simplex optimization. NONE -- performs no optimization. NRRIDG -- performs a Newton-Raphson optimization with ridging. QUANEW -- performs a dual quasi-Newton optimization. TRUREG -- performs a trust-region optimization.\",\"type\":\"value\"},{\"name\":\"NOTHREADS\",\"optional\":true,\"description\":\"Forces single-threaded execution of the analytic computations. This overrides the SAS system option THREADS | NOTHREADS. Specifying this option is equivalent to specifying the THREADS=1 option.\",\"type\":\"standalone\"},{\"name\":\"OUTDESIGN=\",\"optional\":true,\"description\":\"Creates a data set that contains the design matrix of constructed basis functions. The design matrix column names consist of a prefix followed by an index. The default naming prefix is _X. The default output is the design matrix of basis functions after backward selection. You can specify the following options in parentheses to control the content of the OUTDESIGN= data set:\",\"help\":\"OUTDESIGN=BACKWARDMODEL | BACKWARD | FORWARDMODEL | FORWARD | PREFIX= | STARTMODEL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"BACKWARDMODEL\",\"type\":\"standalone\"},{\"name\":\"BACKWARD\",\"type\":\"standalone\"},{\"name\":\"FORWARDMODEL\",\"type\":\"standalone\"},{\"name\":\"FORWARD\",\"type\":\"standalone\"},{\"name\":\"PREFIX=\",\"type\":\"value\"},{\"name\":\"STARTMODEL\",\"type\":\"standalone\"}]},{\"name\":\"PLOTS=\",\"optional\":true,\"description\":\"Syntax: PLOTS <(global-plot-options)> <= plot-request <(options)>> PLOTS <(global-plot-options)> <= (plot-request <(options)> <... plot-request <(options)>>)> Controls the plots produced through ODS Graphics. When you specify only one plot-request, you can omit the parentheses around the plot-request. You can specify the following global-plot-option, which applies to all plots that the ADAPTIVEREG procedure generates:\",\"help\":\"PLOTS=ALL | COMPONENTS | DIAGNOSTICS | FIT | NONE | SELECTION\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ALL\",\"description\":\"Requests that all default plots be produced.\",\"type\":\"standalone\"},{\"name\":\"COMPONENTS\",\"description\":\"Syntax: COMPONENTS <(component-options)> Plots a panel of functional components of the fitted model. You can specify the following component-options: COMMONAXES -- specifies that the functional component plots use a common vertical axis except for contour plots. This enables you to visually judge relative effect size. UNPACK |UNPACKPANEL -- displays the component plots individually.\",\"type\":\"standalone\"},{\"name\":\"DIAGNOSTICS\",\"description\":\"Syntax: DIAGNOSTICS <(UNPACK |UNPACKPANEL)>> Produces a summary panel of fit diagnostics that consists of the following: • residuals versus the predicted values • a histogram of the residuals • a normal quantile plot of the residuals • a residual-fit (RF) plot that consists of side-by-side quantile plots of the centered fit and the residuals • response values versus the predicted values You can request the five plots in this panel as individual plots by specifying the UNPACK suboption. The fit diagnostics panel is not produced for dependent variable with nonnormal distributions.\",\"type\":\"standalone\"},{\"name\":\"FIT\",\"description\":\"FIT <(NODATA |NOOBS)> Produces a plot of the predicted values against the variables that form the selected model. By default, a scatter plot of the input data is overlaid. You can suppress the scatter plot by specifying the NODATA | NOOBS option. The plot is not produced if the number of variables in the selected model exceeds two. The plot is not produced for dependent variables with nonnormal distributions.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"Suppresses all plots.\",\"type\":\"standalone\"},{\"name\":\"SELECTION\",\"description\":\"Syntax: SELECTION <(selection-panel-options)> Plots a panel of model fit criteria. The panel consists of two plots. The upper plot shows the progression of the model lack-of-fit criterion as the selection process proceeds. The lower plot shows the progression of the model validation criterion as the selection process proceeds. By default, the selection panel shows the progression for the backward selection process. You can specify the following selection-panel-options: BACKWARDMODEL |BACKWARD displays the progression of model fit criteria for the backward selection process. FORWARDMODEL |FORWARD displays the progression of model fit criteria for the forward selection process.\",\"type\":\"standalone\"}]},{\"name\":\"SEED=\",\"optional\":true,\"description\":\"Specifies an integer used to start the pseudorandom number generator for random cross validation and random partitioning of data for training, testing, and validation. If you do not specify a seed, or if you specify a value less than or equal to 0, the seed is generated from the time of day, which is read from the computer’s clock.\",\"help\":\"SEED=*number*\",\"type\":\"value\"},{\"name\":\"SINGULAR=\",\"optional\":true,\"aliases\":[\"EPSILON=\"],\"description\":\"Sets the tolerance for testing singularity of the matrix that is formed from the design matrix X. Roughly, the test requires that a pivot be at least this number times the original diagonal value. By default, number is 10⁷ times the machine epsilon. The default number is approximately 10⁹ on most machines.\",\"type\":\"value\"},{\"name\":\"TESTDATA=\",\"optional\":true,\"description\":\"Names a SAS data set that contains test data. This data set must contain all the variables specified in the MODEL statement. Furthermore, when a BY statement is used and the TESTDATA=data set contains any of the BY variables, then the TESTDATA= data set must also contain all the BY variables sorted in the order of the BY variables. In this case, only the test data for a specific BY group are used with the corresponding BY group in the analysis data. If the TESTDATA= data set contains none of the BY variables, then the entire TESTDATA = data set is used with each BY group of the analysis data.\",\"help\":\"TESTDATA=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"THREADS=\",\"optional\":true,\"description\":\"Specifies the number of threads for analytic computations and overrides the SAS system option THREADS | NOTHREADS. If you do not specify the THREADS= option or if you specify THREADS=0, the number of threads is determined based on the data size and the number of CPUs on the host on which the analytic computations execute. If the specified number of threads is more than the number of actual CPUs, PROC ADAPTIVEREG by default sets the value to the number of actual CPUs.\",\"help\":\"THREADS=*n*\",\"type\":\"value\"},{\"name\":\"VALDATA=\",\"optional\":true,\"description\":\"Names a SAS data set that contains validation data. This data set must contain all the variables specified in the MODEL statement. Furthermore, when a BY statement is used and the VALDATA= data set contains any of the BY variables, then the VALDATA= data set must also contain all the BY variables sorted in the order of the BY variables. In this case, only the validation data for a specific BY group are used with the corresponding BY group in the analysis data. If the VALDATA= data set contains none of the BY variables, then the entire VALDATA = data set is used with each BY group of the analysis data.\",\"help\":\"VALDATA=*SAS-data-set*\",\"type\":\"dataSet\"}]},{\"name\":\"BY\",\"description\":\"You can specify a BY statement with PROC ADAPTIVEREG to obtain separate analyses of observations in groups that are defined by the BY variables. When a BY statement appears, the procedure expects the input data set to be sorted in order of the BY variables. If you specify more than one BY statement, only the last one specified is used. If your input data set is not sorted in ascending order, use one of the following alternatives: • Sort the data by using the SORT procedure with a similar BY statement. • Specify the NOTSORTED or DESCENDING option in the BY statement for the ADAPTIVEREG procedure. The NOTSORTED option does not mean that the data are unsorted but rather that the data are arranged in groups (according to values of the BY variables) and that these groups are not necessarily in alphabetical or increasing numeric order. • Create an index on the BY variables by using the DATASETS procedure (in Base SAS software).\",\"help\":\"BY &lt;DESCENDING&gt;&lt;NOTSORTED&gt;\",\"arguments\":[{\"name\":\"DESCENDING\",\"optional\":true,\"description\":\"Specifies that the observations are sorted in descending order by the variable that immediately follows the word DESCENDING in the BY statement.\",\"type\":\"standalone\"},{\"name\":\"NOTSORTED\",\"optional\":true,\"description\":\"The NOTSORTED option does not mean that the data are unsorted but rather that the data are arranged in groups (according to values of the BY variables) and that these groups are not necessarily in alphabetical or increasing numeric order.\",\"type\":\"standalone\"}]},{\"name\":\"CLASS\",\"description\":\"The CLASS statement names the classification variables to be used in the analysis. Typical class variables are Treatment, Sex, Race, Group, and Replication. If the CLASS statement is used, it must appear before the MODEL statement. Classification variables can be either character or numeric. Class levels are determined from the formatted values of the variables. Thus, you can use formats to group values into levels.\",\"help\":\"CLASS &lt;DESCENDING&gt;&lt;ORDER=&lt;DATA | FORMATTED | FREQ&gt;... &gt;\",\"arguments\":[{\"name\":\"DESCENDING\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"DESC\"],\"description\":\"Reverses the sort order of the classification variable. If you specify both the DESCENDING and ORDER= options, PROC ADAPTIVEREG orders the categories according to the ORDER= option and then reverses that order.\",\"type\":\"standalone\"},{\"name\":\"ORDER=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the sort order for the categories of categorical variables. This ordering determines which parameters in the model correspond to each level in the data. When the default ORDER=FORMATTED is in effect for numeric variables for which you have supplied no explicit format, the levels are ordered by their internal values.\",\"help\":\"ORDER=DATA | FORMATTED | FREQ | FREQDATA | FREQFORMATTED | FREQINTERNAL | INTERNAL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DATA\",\"followsDelimiter\":\"/\",\"description\":\"Order of appearance in the input data set\",\"type\":\"standalone\"},{\"name\":\"FORMATTED\",\"followsDelimiter\":\"/\",\"description\":\"External formatted value, except for numeric variables with no explicit format, which are sorted by their unformatted (internal) value\",\"type\":\"standalone\"},{\"name\":\"FREQ\",\"followsDelimiter\":\"/\",\"description\":\"Descending frequency count; levels with the most observations come first in the order\",\"type\":\"standalone\"},{\"name\":\"FREQDATA\",\"followsDelimiter\":\"/\",\"description\":\"Order of descending frequency count, and within counts by order of appearance in the input data set when counts are tied\",\"type\":\"standalone\"},{\"name\":\"FREQFORMATTED\",\"followsDelimiter\":\"/\",\"description\":\"Order of descending frequency count, and within counts by formatted value (as above) when counts are tied\",\"type\":\"standalone\"},{\"name\":\"FREQINTERNAL\",\"followsDelimiter\":\"/\",\"description\":\"Order of descending frequency count, and within counts by unformatted value when counts are tied\",\"type\":\"standalone\"},{\"name\":\"INTERNAL\",\"followsDelimiter\":\"/\",\"description\":\"Unformatted value\",\"type\":\"standalone\"}]}]},{\"name\":\"FREQ\",\"description\":\"The FREQ statement names a variable that provides frequencies for each observation in the DATA= data set. Specifically, if n is the value of the FREQ variable for a given observation, then that observation is used n times. The analysis produced using a FREQ statement reflects the expanded number of observations. You can produce the same analysis without the FREQ statement by first creating a new data set that contains the expanded number of observations. For example, if the value of the FREQ variable is 5 for the first observation, the first five observations in the new data set are identical. Each observation in the old data set is replicated ni times in the new data set, where ni is the value of the FREQ variable for that observation. If the value of the FREQ variable is missing or is less than 1, the observation is not used in the analysis. If the value is not an integer, only the integer portion is used.\",\"help\":\"FREQ variable \"},{\"name\":\"MODEL\",\"description\":\"The MODEL statement names the response variable and the explanatory effects, including covariates, main effects, interactions, and nested effects. If you omit the explanatory effects, the procedure fits an intercept-only model. You must specify exactly one MODEL statement. You can specify two forms of the MODEL statement. The first form, referred to as single-trial syntax, is applicable to binary, ordinal, and nominal response data. The second form, referred to as events/trials syntax, is restricted to binary response data. You use the single-trial syntax when each observation in the DATA= data set contains information about only a single trial, such as a single subject in an experiment. When each observation contains information about multiple binary response trials, such as the counts of the number of observed subjects and the number of subjects who respond, then you can use the events/trials syntax. In the events/trials syntax, you specify two variables that contain count data for a binomial experiment. These two variables are separated by a slash. The value of the first variable, events, is the number of positive responses (or events). The value of the second variable, trials, is the number of trials. The values of both events and (trials–events) must be nonnegative and the value of trials must be positive for the response to be valid. In the single-trial syntax, you specify one variable (on the left side of the equal sign) as the response variable. This variable can be character or numeric. You can specify variable options specific to the response variable immediately after the response variable with parentheses around them. For both forms of the MODEL statement, explanatory effects follow the equal sign. Variables can be either continuous or classification variables. Classification variables can be character or numeric, and they must be declared in the CLASS statement. When an effect is a classification variable, the procedure inserts a set of coded columns into the design matrix instead of directly entering a single column that contains the values of the variable.\",\"help\":\"MODEL &lt;ADDITIVE&gt;&lt;ALPHA=number&gt;&lt;CVMETHOD=&lt;RANDOM(n) | INDEX(variable)&gt;&gt; ...\",\"arguments\":[{\"name\":\"ADDITIVE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests an additive model for which only main effects are included in the fitted model. If you do not specify the ADDITIVE option, PROC ADAPTIVEREG fits a model that has both main effects and two-way interaction terms.\",\"type\":\"standalone\"},{\"name\":\"ALPHA=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the parameter that controls the number of knots considered for each variable.\",\"help\":\"ALPHA=*number*\",\"type\":\"value\"},{\"name\":\"CVMETHOD=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Syntax: CVMETHOD=RANDOM <(n)> CVMETHOD=INDEX (variable) Specifies the method for subdividing the training data into n parts when you request n-fold cross validation when you do backward selection. CVMETHOD=RANDOM assigns each training observation randomly to one of the n parts. CVMETHOD=INDEX(variable) assigns observations to parts based on the formatted value of the named variable. This input data set variable is treated as a classification variable, and the number of parts n is the number of distinct levels of this variable. By optionally naming this variable in a CLASS statement, you can use the ORDER= option in the CLASS statement to control how this variable is levelized.\",\"help\":\"CVMETHOD=RANDOM(n) | INDEX(variable)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"RANDOM\",\"followsDelimiter\":\"/\",\"description\":\"Assigns each training observation randomly to one of the n parts.\",\"help\":\"RANDOM(n)\",\"type\":\"standalone\"},{\"name\":\"INDEX\",\"followsDelimiter\":\"/\",\"description\":\"Assigns observations to parts based on the formatted value of the named variable.\",\"help\":\"INDEX(variable)\",\"type\":\"standalone\"}]},{\"name\":\"DFPERBASIS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"D=\"],\"description\":\"Syntax: DFPERBASIS=d | DF=d Specifies the degrees of freedom (d) that are “charged” for each basis function that is used in the lack-of-fit function for backward selection. Larger values of d lead to fewer spline knots and thus smoother function estimates. The default is DFPERBASIS=2.\",\"type\":\"value\"},{\"name\":\"DIST=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Syntax DIST=distribution-id Specifies the distribution family used in the model.\",\"help\":\"DIST=BINOMIAL | GAMMA | GAUSSIAN | IGAUSSIAN | NEGBIN | POISSON\",\"type\":\"choice\",\"arguments\":[{\"name\":\"BINOMIAL\",\"followsDelimiter\":\"/\",\"description\":\"Binomial distribution\",\"type\":\"standalone\"},{\"name\":\"GAMMA\",\"followsDelimiter\":\"/\",\"aliases\":[\"GAM\",\"G\"],\"description\":\"Gamma distribution\",\"type\":\"standalone\"},{\"name\":\"GAUSSIAN\",\"followsDelimiter\":\"/\",\"aliases\":[\"NORMAL\",\"NOR\",\"N\"],\"description\":\"Gaussian distribution\",\"type\":\"standalone\"},{\"name\":\"IGAUSSIAN\",\"followsDelimiter\":\"/\",\"description\":\"Inverse Gaussian distribution\",\"type\":\"standalone\"},{\"name\":\"NEGBIN\",\"followsDelimiter\":\"/\",\"description\":\"Negative binomial distribution\",\"type\":\"standalone\"},{\"name\":\"POISSON\",\"followsDelimiter\":\"/\",\"description\":\"Poisson distribution\",\"type\":\"standalone\"}]},{\"name\":\"FAST=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Improves the speed of the modeling. Because of the computation complexity in the original multivariate adaptive regression splines algorithm, Friedman (1993) proposes modifications to improve the speed by tuning several parameters. See the section Fast Algorithm for more information about the improvement of the multivariate adaptive regression splines algorithm. You can specify the following fast-options:\",\"help\":\"FAST=BETA= | H= | K=\",\"type\":\"choice\",\"arguments\":[{\"name\":\"BETA=\",\"type\":\"value\"},{\"name\":\"H=\",\"type\":\"value\"},{\"name\":\"K=\",\"type\":\"value\"}]},{\"name\":\"FORWARDONLY\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Skips the backward selection step after forward selection is finished.\",\"type\":\"standalone\"},{\"name\":\"KEEP=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies a list of variables to be included in the final model.\",\"help\":\"KEEP=*effects*\",\"type\":\"value\"},{\"name\":\"LINEAR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies a list of variables to be considered without nonparametric transformation. They should appear in the linear form if they are selected.\",\"help\":\"LINEAR=*effects*\",\"type\":\"value\"},{\"name\":\"LINK=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the link function in the model. Not all link functions are available for all distribution families.\",\"help\":\"LINK=CLOGLOG | IDENTITY | LOG | LOGIT | POWERMINUS2 | PROBIT | RECIPROCAL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"CLOGLOG\",\"followsDelimiter\":\"/\",\"description\":\"Complemetary log-log link function\",\"type\":\"standalone\"},{\"name\":\"IDENTITY\",\"followsDelimiter\":\"/\",\"description\":\"Identity link function\",\"type\":\"standalone\"},{\"name\":\"LOG\",\"followsDelimiter\":\"/\",\"description\":\"Log link function\",\"type\":\"standalone\"},{\"name\":\"LOGIT\",\"followsDelimiter\":\"/\",\"description\":\"Logit link function\",\"type\":\"standalone\"},{\"name\":\"POWERMINUS2\",\"followsDelimiter\":\"/\",\"description\":\"Power with exponent -2 link function\",\"type\":\"standalone\"},{\"name\":\"PROBIT\",\"followsDelimiter\":\"/\",\"description\":\"Probit link function\",\"type\":\"standalone\"},{\"name\":\"RECIPROCAL\",\"followsDelimiter\":\"/\",\"description\":\"Reciprocal link function\",\"type\":\"standalone\"}]},{\"name\":\"MAXBASIS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the maximum number of basis functions that can be used in the final model. The default value is the larger value between 21 and one plus two times the number of nonintercept effects specified in the MODEL statement.\",\"help\":\"MAXBASIS=*number*\",\"type\":\"value\"},{\"name\":\"MAXORDER=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the maximum interaction levels for effects that could potentially enter the model.\",\"help\":\"MAXORDER=*number*\",\"type\":\"value\"},{\"name\":\"NOMISS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Excludes all observations with missing values from the model fitting. By default, the ADAPTIVEREG procedure takes the missingness into account when an explanatory variable has missing values.\",\"type\":\"standalone\"},{\"name\":\"NOPRINT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Suppresses the normal display of regression results.\",\"type\":\"standalone\"},{\"name\":\"OFFSET=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies an offset for the linear predictor. An offset plays the role of a predictor whose coefficient is known to be 1. For example, you can use an offset in a Poisson model when counts have been obtained in time intervals of different lengths. With a log link function, you can model the counts as Poisson variables with the logarithm of the time interval as the offset variable. The offset variable cannot appear in the CLASS statement or elsewhere in the MODEL statement.\",\"help\":\"OFFSET=*variable*\",\"type\":\"value\"},{\"name\":\"OUTSEB\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Outputs the standard errors of the parameter estimates to the OUTEST= data set.\",\"type\":\"standalone\"},{\"name\":\"OUTSTB\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Outputs the standardized parameter estimates as well as the usual estimates to the OUTEST= data set when the RIDGE= or PCOMIT= option is specified.\",\"type\":\"standalone\"},{\"name\":\"OUTVIF\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Outputs the variance inflation factors (VIF) to the OUTEST= data set when the RIDGE= or PCOMIT= option is specified.\",\"type\":\"standalone\"},{\"name\":\"P\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Calculates predicted values from the input data and the estimated model.\",\"type\":\"standalone\"},{\"name\":\"PARTIAL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests partial regression leverage plots for each regressor.\",\"type\":\"standalone\"},{\"name\":\"PARTIALDATA\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests partial regression leverage data for each regressor.\",\"type\":\"standalone\"},{\"name\":\"PARTIALR2\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays the squared semipartial correlation coefficients computed using Type I sums of squares.\",\"type\":\"standalone\"},{\"name\":\"PC\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Outputs Amemiya’s prediction criterion for each model selected to the OUTEST= data set.\",\"type\":\"standalone\"},{\"name\":\"PCOMIT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests an IPC analysis for each value m in the list.\",\"help\":\"PCOMIT=*list*\",\"type\":\"value\"},{\"name\":\"PCORR1\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays the squared partial correlation coefficients computed using Type I sum of squares (SS).\",\"type\":\"standalone\"},{\"name\":\"PCORR2\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays the squared partial correlation coefficients computed using Type II sums of squares.\",\"type\":\"standalone\"},{\"name\":\"PRESS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Outputs the PRESS statistic to the OUTEST= data set. The values of this statistic are saved in the variable _PRESS_.\",\"type\":\"standalone\"},{\"name\":\"R\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests an analysis of the residuals.\",\"type\":\"standalone\"},{\"name\":\"RIDGE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests a ridge regression analysis and specifies the values of the ridge constant k.\",\"help\":\"RIDGE=*list*\",\"type\":\"value\"},{\"name\":\"RMSE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays the root mean square error for each model selected.\",\"type\":\"standalone\"},{\"name\":\"RSQUARE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Has the same effect as the EDF option.\",\"type\":\"standalone\"},{\"name\":\"SBC\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Outputs the SBC statistic for each model selected to the OUTEST= data set.\",\"type\":\"standalone\"},{\"name\":\"SCORR1\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays the squared semipartial correlation coefficients computed using Type I sums of squares.\",\"type\":\"standalone\"},{\"name\":\"SCORR2\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays the squared semipartial correlation coefficients computed using Type II sums of squares.\",\"type\":\"standalone\"},{\"name\":\"SEQB\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Produces a sequence of parameter estimates as each variable is entered into the model.\",\"type\":\"standalone\"},{\"name\":\"SIGMA=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the true standard deviation of the error term to be used in computing the CP and BIC statistics.\",\"help\":\"SIGMA=*n*\",\"type\":\"value\"},{\"name\":\"SINGULAR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Tunes the mechanism used to check for singularities.\",\"help\":\"SINGULAR=*n*\",\"type\":\"value\"},{\"name\":\"SLENTRY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"SLE=\"],\"description\":\"Specifies the significance level for entry into the model used in the FORWARD and STEPWISE methods. The defaults are 0.50 for FORWARD and 0.15 for STEPWISE.\",\"help\":\"SLENTRY=*value*\",\"type\":\"value\"},{\"name\":\"SLSTAY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"SLS=\"],\"description\":\"Specifies the significance level for staying in the model for the BACKWARD and STEPWISE methods. The defaults are 0.10 for BACKWARD and 0.15 for STEPWISE.\",\"help\":\"SLSTAY=*value*\",\"type\":\"value\"},{\"name\":\"SP\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"outputs the Sp statistic for each model selected to the OUTEST= data set.\",\"type\":\"standalone\"},{\"name\":\"SPEC\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Performs a test that the first and second moments of the model are correctly specified.\",\"type\":\"standalone\"},{\"name\":\"SS1\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays the sequential sums of squares (Type I SS) along with the parameter estimates for each term in the model.\",\"type\":\"standalone\"},{\"name\":\"SS2\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays the partial sums of squares (Type II SS) along with the parameter estimates for each term in the model.\",\"type\":\"standalone\"},{\"name\":\"SSE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Computes the error sum of squares for each model selected.\",\"type\":\"standalone\"},{\"name\":\"START=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Is used to begin the comparing-and-switching process in the MAXR, MINR, and STEPWISE methods for a model containing the first s independent variables in the MODEL statement, where s is the START value.\",\"help\":\"START=*s*\",\"type\":\"value\"},{\"name\":\"STB\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Produces standardized regression coefficients.\",\"type\":\"standalone\"},{\"name\":\"STOP=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Causes PROC REG to stop when it has found the \\\"best\\\" s-variable model, where s is the STOP value.\",\"help\":\"STOP=*s*\",\"type\":\"value\"},{\"name\":\"TOL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Produces tolerance values for the estimates.\",\"type\":\"standalone\"},{\"name\":\"VARPENALTY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the incremental penalty γ for increasing the number of variables in the adaptive regression model. To discourage a model with too many variables, at each iteration of the forward selection the model improvement is reduced by a factor of (1 - γ) for any new variable that is introduced. For highly collinear designs, the VARPENALTY= option helps PROC ADAPTIVEREG produce models that are nearly equivalent in terms of residual sum of squares but have fewer independent variables. Friedman (1991b) suggests the following values for γ: 0.0 -- no penalty (default value) 0.05 -- moderate penalty 0.1 -- heavy penalty\",\"type\":\"value\"},{\"name\":\"VIF\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Produces variance inflation factors with the parameter estimates. Variance inflation is the reciprocal of tolerance.\",\"type\":\"standalone\"},{\"name\":\"WHITE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"See the HCC option.\",\"type\":\"standalone\"},{\"name\":\"XPX\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays the X'X crossproducts matrix for the model.\",\"type\":\"standalone\"}]},{\"name\":\"OUTPUT\",\"description\":\"The OUTPUT statement creates a new SAS data set that saves diagnostic measures calculated after fitting the model.\",\"help\":\"OUTPUT &lt;COOKD=&gt;&lt;COVRATIO=&gt;&lt;OUT=SAS-data-set&gt; ...\",\"arguments\":[{\"name\":\"COOKD=\",\"optional\":true,\"description\":\"Cook’s D influence statistic\",\"type\":\"value\"},{\"name\":\"COVRATIO=\",\"optional\":true,\"description\":\"Standard influence of observation on covariance of betas\",\"type\":\"value\"},{\"name\":\"DFFITS=\",\"optional\":true,\"description\":\"Standard influence of observation on predicted value\",\"type\":\"value\"},{\"name\":\"H=\",\"optional\":true,\"description\":\"Leverage\",\"type\":\"value\"},{\"name\":\"LCL=\",\"optional\":true,\"description\":\"Lower bound of a 100(1 - α)% confidence interval for an individual prediction.\",\"type\":\"value\"},{\"name\":\"LCLM=\",\"optional\":true,\"description\":\"Lower bound of a 100(1 - α)% confidence interval for the expected value (mean) of the dependent variable.\",\"type\":\"value\"},{\"name\":\"OUT=\",\"optional\":true,\"description\":\"Gives the name of the new data set. By default, the procedure uses the DATAn convention to name the new data set.\",\"help\":\"OUT=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"PREDICTED=\",\"optional\":true,\"description\":\"Predicted values\",\"type\":\"value\"},{\"name\":\"PRESS=\",\"optional\":true,\"description\":\"i-th residual divided by (1-h), where h is the leverage, and where the model has been refit without the i-th observation.\",\"type\":\"value\"},{\"name\":\"RESIDUAL=\",\"optional\":true,\"description\":\"Residuals, calculated as ACTUAL minus PREDICTED.\",\"type\":\"value\"},{\"name\":\"RSTUDENT=\",\"optional\":true,\"description\":\"A studentized residual with the current observation deleted.\",\"type\":\"value\"},{\"name\":\"STDI=\",\"optional\":true,\"description\":\"Standard error of the individual predicted value.\",\"type\":\"value\"},{\"name\":\"STDP=\",\"optional\":true,\"description\":\"Standard error of the mean predicted value.\",\"type\":\"value\"},{\"name\":\"STDR\",\"optional\":true,\"description\":\"Standard error of the residual.\",\"type\":\"standalone\"},{\"name\":\"STUDENT=\",\"optional\":true,\"description\":\"Studentized residuals, which are the residuals divided by their standard errors.\",\"type\":\"value\"},{\"name\":\"UCL=\",\"optional\":true,\"description\":\"Upper bound of a 100(1 - α)% confidence interval for an individual prediction.\",\"type\":\"value\"},{\"name\":\"UCLM=\",\"optional\":true,\"description\":\"Upper bound of a 100(1 - α)% confidence interval for the expected value (mean) of the dependent variable.\",\"type\":\"value\"}]},{\"name\":\"PARTITION\",\"description\":\"The PARTITION statement specifies how observations in the input data set are logically partitioned into disjoint subsets for model training, validation, and testing. Either you can designate a variable in the input data set and a set of formatted values of that variable to determine the role of each observation, or you can specify proportions to use for random assignment of observations for each role. An alternative to using a PARTITION statement is to provide a variable named _ROLE_ in the input data set to define roles of observations in the input data. If you specify a PARTITION statement, then the _ROLE_ variable is ignored if it is present in the input data set. If you do not specify a PARTITION statement and the input data do not contain a variable named _ROLE_, then all observations in the input data set are assigned to model training.\",\"help\":\"PARTITION &lt;FRACTION(&lt;fraction&gt; &lt;VALIDATE=fraction&gt;)&gt;&lt;ROLEVAR=variable (&lt;TEST='value'&gt; &lt;TRAIN='value'&gt; &lt;VALIDATE='value'&gt;)&gt;\",\"arguments\":[{\"name\":\"FRACTION=\",\"optional\":true,\"description\":\"Randomly assigns training and validation roles to the observations in the input data according to the proportions that are specified by the fraction values in the TEST= and VALIDATE= suboptions. If you specify both the TEST= and VALIDATE= suboptions, then the sum of the specified fractions must be less than 1 and the remaining fraction of the observations are assigned to the training role. If you specify a TESTDATA= data set in the PROC ADAPTIVEREG statement, then you cannot also specify the TEST= suboption in the PARTITION statement. If you specify a VALDATA= data set in the PROC ADAPTIVEREG statement, then you cannot also specify the VALIDATE= suboption in the PARTITION statement.\",\"help\":\"FRACTION=TEST= | VALIDATE=\",\"type\":\"choice\",\"arguments\":[{\"name\":\"TEST=\",\"type\":\"value\"},{\"name\":\"VALIDATE=\",\"type\":\"value\"}]},{\"name\":\"ROLEVAR=\",\"optional\":true,\"aliases\":[\"ROLE=\"],\"description\":\"Syntax: ROLEVAR=variable (<TEST='value'> <TRAIN='value'> <VALIDATE='value'>) ROLE=variable (<TEST='value'> <TRAIN='value'> <VALIDATE='value'>) Names the variable in the input data set whose values are used to assign roles to each observation. The formatted values of this variable that are used to assign observations roles are specified in the TEST=, TRAIN=, and VALIDATE= suboptions. If you do not specify the TRAIN= suboption, then all observations whose role is not determined by the TEST= or VALIDATE= suboptions are assigned to training. If you specify a TESTDATA= data set in the PROC ADAPTIVEREG statement, then you cannot also specify the TEST= suboption in the PARTITION statement. If you specify a VALDATA= data set in the PROC ADAPTIVEREG statement, then you cannot also specify the VALIDATE= suboption in the PARTITION statement.\",\"type\":\"value\"}]},{\"name\":\"SCORE\",\"description\":\"The SCORE statement creates a new SAS data set to contain predicted values and optionally residuals for data in a new data set that you name. If you do not specify a DATA= data set, then the input data are scored. If you want to predict multiple data sets, you can specify multiple SCORE statements. If you want to create a SAS data set in a permanent library, you must specify a two-level name. When you specify a BY statement, the DATA= data set must either contain all the BY variables sorted in the order of the BY variables or contain none of the BY variables. If the DATA= data set contains all the BY variables, then the model that is selected for a given BY group is used to score just the matching observations in that data set. If the DATA= set contains none of the BY variables, then the entire data set is scored for each BY group. All observations in the DATA= data set are retained in the output data set. All the variables in the input data set are included in the output data set, along with variables that contain predicted values and optionally residuals.\",\"help\":\"SCORE &lt;DATA=SAS data set&gt;&lt;OUT=SAS data set&gt;&lt;PREDICTED &lt;=name&gt;&gt; ...\",\"arguments\":[{\"name\":\"DATA=\",\"optional\":true,\"description\":\"Names the data set to be scored. If you omit this option, then the input data set that is named in the DATA= option in the PROC ADAPTIVEREG statement is scored.\",\"type\":\"value\"},{\"name\":\"OUT=\",\"optional\":true,\"description\":\"Specifies the name of the new output data set. By default, PROC ADAPTIVEREG uses the DATAn convention to name the new data set.\",\"type\":\"value\"},{\"name\":\"PREDICTED\",\"optional\":true,\"aliases\":[\"PRED\"],\"description\":\"Includes predicted values in the output data set. The prefix for the default name is Pred.\",\"type\":\"standalone\"},{\"name\":\"RESIDUAL\",\"optional\":true,\"aliases\":[\"RESID\"],\"description\":\"Includes residuals (which are calculated as ACTUAL – PREDICTED), in the output data set. The prefix for the default name is Resid.\",\"type\":\"standalone\"}]},{\"name\":\"WEIGHT\",\"description\":\"When you specify a WEIGHT statement, each observation in the input data set is weighted by the value of variable. The value of variable can be nonintegral. Observations that have a negative, zero, or missing value for the WEIGHT variable are not used in model fitting.\",\"help\":\"WEIGHT variable \"}],\"supportSiteInformation\":{\"docsetId\":\"statug\",\"docsetVersion\":\"latest\",\"docsetTargetFile\":\"statug_adaptivereg_toc.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/ANOM.json",
    "content": "{\"name\":\"ANOM\",\"statements\":[{\"name\":\"PROC ANOM\",\"description\":\"Analysis of means (ANOM) is a graphical and statistical method for simultaneously comparing k treatment means with their overall mean at a specified significance level α. You can use the ANOM procedure to create ANOM charts for various types of response data, including continuous measurements, proportions, and rates.\",\"help\":\"PROC ANOM <ANNOTATE=SAS-data-set><BOX=SAS-data-set><DATA=SAS-data-set><GOUT=graphics-catalog><LIMITS=SAS-data-set><SUMMARY=SAS-data-set><TABLE=SAS-data-set>;     \\n\\tBOXCHART <ALLLABEL2=VALUE | (variable)><ALLLABEL=VALUE | (variable)><ALLN> ...;\\n\\n\\tBY variables;\\n\\n\\tID variables;\\n\\n\\tINSET <CFILL=color | BLANK><CFILL=BLANK><CFILLH=color> ...;\\n\\n\\tPCHART <ALLLABEL2=VALUE | (variable)><ALLLABEL=VALUE | (variable)><ALLN> ...;\\n\\n\\tUCHART <ALLLABEL2=VALUE | (variable)><ALLLABEL=VALUE | (variable)><ALLN> ...;\\n\\n\\tXCHART <ALLLABEL2=VALUE | (variable)><ALLLABEL=VALUE | (variable)><ALLN> ...;\\n\",\"arguments\":[{\"name\":\"ANNOTATE=\",\"optional\":true,\"aliases\":[\"ANNO=\"],\"description\":\"Specifies an input data set containing ANNOTATE= variables.\",\"help\":\"ANNOTATE=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"BOX=\",\"optional\":true,\"description\":\"Names an input data set that contains group summary statistics, decision limits, and outlier values in \\\"strung out\\\" form, with more than one observation per group.\",\"help\":\"BOX=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"DATA=\",\"optional\":true,\"description\":\"Names an input data set that contains response values (typically, measurements or counts) as observations.\",\"help\":\"DATA=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"GOUT=\",\"optional\":true,\"description\":\"Specifies the graphics catalog for traditional graphics output from the ANOM procedure.\",\"help\":\"GOUT=*graphics-catalog*\",\"type\":\"dataSet\"},{\"name\":\"LIMITS=\",\"optional\":true,\"description\":\"Names an input data set that contains preestablished decision limits or the parameters from which decision limits can be computed.\",\"help\":\"LIMITS=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"SUMMARY=\",\"optional\":true,\"description\":\"Names an input data set that contains group summary statistics.\",\"help\":\"SUMMARY=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"TABLE=\",\"optional\":true,\"description\":\"Names an input data set that contains group summary statistics and decision limits.\",\"help\":\"TABLE=*SAS-data-set*\",\"type\":\"dataSet\"}]},{\"name\":\"BOXCHART\",\"description\":\"The BOXCHART statement creates an ANOM chart for group (treatment level) means of response values superimposed with box-and-whisker plots of the measurements in each group.\",\"help\":\"BOXCHART &lt;ALLLABEL2=VALUE | (variable)&gt;&lt;ALLLABEL=VALUE | (variable)&gt;&lt;ALLN&gt; ...\",\"arguments\":[{\"name\":\"ALLLABEL2=\",\"optional\":true,\"description\":\"Labels every point on an R, s, or trend chart with the VALUE plotted for that subgroup or with the value of a variable in the input data set.\",\"type\":\"value\"},{\"name\":\"ALLLABEL=\",\"optional\":true,\"description\":\"Labels every point on the primary chart with the VALUE plotted for that subgroup or with the value of a variable in the input data set.\",\"type\":\"value\"},{\"name\":\"ALLN\",\"optional\":true,\"description\":\"Plots summary statistics for all subgroups, regardless of whether the subgroup sample size equals the nominal control limit sample size n specified by the LIMITN= option or the variable _LIMITN_ in the LIMITS= data set.\",\"type\":\"standalone\"},{\"name\":\"ALPHA=\",\"optional\":true,\"description\":\"Requests probability limits. If you specify ALPHA=α, the control limits are computed so that the probability is α that a subgroup summary statistic exceeds its control limits.\",\"help\":\"ALPHA=*value*\",\"type\":\"value\"},{\"name\":\"ANNOTATE2=\",\"optional\":true,\"aliases\":[\"ANNO2=\"],\"description\":\"Specifies an ANNOTATE= type data set that enhances a primary chart.\",\"help\":\"ANNOTATE2=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"ANNOTATE=\",\"optional\":true,\"aliases\":[\"ANNO=\"],\"description\":\"Specifies an ANNOTATE= type data set.\",\"help\":\"ANNOTATE=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"BILEVEL\",\"optional\":true,\"description\":\"Arranges the Shewhart chart in two levels (rather than the default of one level) so that twice as much data can be displayed on a page or screen.\",\"type\":\"standalone\"},{\"name\":\"BLOCKLABELPOS=\",\"optional\":true,\"description\":\"Specifies the position of a block-variable label in the block legend.\",\"help\":\"BLOCKLABELPOS=ABOVE | LEFT | RIGHT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ABOVE\",\"description\":\"Places the label immediately above the legend.\",\"type\":\"standalone\"},{\"name\":\"LEFT\",\"description\":\"Places the label to the left of the legend.\",\"type\":\"standalone\"},{\"name\":\"RIGHT\",\"description\":\"Places the label to the right of the legend.\",\"type\":\"standalone\"}]},{\"name\":\"BLOCKLABTYPE=\",\"optional\":true,\"description\":\"Specifies how lengthy block variable values are treated when there is insufficient space to display them in the block legend.\",\"help\":\"BLOCKLABTYPE=SCALED | TRUNCATED | ROTATE | ROTATEALL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"SCALED\",\"description\":\"The values are uniformly reduced in height so that they fit.\",\"type\":\"standalone\"},{\"name\":\"TRUNCATED\",\"description\":\"Lengthy values are truncated on the right until they fit.\",\"type\":\"standalone\"},{\"name\":\"ROTATE\",\"description\":\"Rotates the values of the block variable displayed closest to the chart by 90 degreest.\",\"type\":\"standalone\"},{\"name\":\"ROTATEALL\",\"description\":\"RotateS the values of all block variables.\",\"type\":\"standalone\"}]},{\"name\":\"BLOCKPOS=\",\"optional\":true,\"description\":\"Specifies the vertical position of the legend for the values of the block variables.\",\"help\":\"BLOCKPOS=1 | 2 | 3 | 4\",\"type\":\"choice\",\"arguments\":[{\"name\":\"1\",\"description\":\"Top of chart, offset from axis frame\",\"type\":\"standalone\"},{\"name\":\"2\",\"description\":\"Top of chart, immediately above axis frame\",\"type\":\"standalone\"},{\"name\":\"3\",\"description\":\"Bottom of chart, immediately above horizontal axis\",\"type\":\"standalone\"},{\"name\":\"4\",\"description\":\"Bottom of chart, below horizontal axis label\",\"type\":\"standalone\"}]},{\"name\":\"BLOCKREFOPACITY=\",\"optional\":true,\"aliases\":[\"PHASEREFOPACITY=\",\"REFFILLOPACITY=\"],\"description\":\"Specifies the wall fill opacity for blocks and phases when transparency is used in ODS Graphics output. The value must be between 0 and 1, where 0 is completely transparent and 1 is completely opaque. The default wall fill opacity is 0.15.\",\"type\":\"value\"},{\"name\":\"BLOCKREP\",\"optional\":true,\"description\":\"Specifies that block variable values for all groups be displayed. By default, only the first block variable value in any block is displayed, and repeated block variable values are not displayed.\",\"type\":\"standalone\"},{\"name\":\"BLOCKVAR=\",\"optional\":true,\"description\":\"Specifies variables whose values are used to assign colors for filling the background of the legend associated with block variables.\",\"type\":\"value\"},{\"name\":\"BOXCONNECT=\",\"optional\":true,\"description\":\"Specifies that the points representing subgroup means, medians, maximum values, minimum values, first quartiles or third quartiles in box-and-whisker plots created with the BOXCHART statement are to be connected.\",\"help\":\"BOXCONNECT=MEAN | MEDIAN | MAX | MIN | Q1 | Q3\",\"type\":\"choice\",\"arguments\":[{\"name\":\"MEAN\",\"description\":\"Specifies that the points in box-and-whiskers plots created with the BOXCHART statement representing group means be connected with line segments.\",\"type\":\"standalone\"},{\"name\":\"MEDIAN\",\"description\":\"Specifies that the points in box-and-whiskers plots created with the BOXCHART statement representing group medians be connected with line segments.\",\"type\":\"standalone\"},{\"name\":\"MAX\",\"description\":\"Specifies that the points in box-and-whiskers plots created with the BOXCHART statement representing group maximum values be connected with line segments.\",\"type\":\"standalone\"},{\"name\":\"MIN\",\"description\":\"Specifies that the points in box-and-whiskers plots created with the BOXCHART statement representing group minimum values be connected with line segments.\",\"type\":\"standalone\"},{\"name\":\"Q1\",\"description\":\"Specifies that the points in box-and-whiskers plots created with the BOXCHART statement representing group first quartiles be connected with line segments.\",\"type\":\"standalone\"},{\"name\":\"Q3\",\"description\":\"Specifies that the points in box-and-whiskers plots created with the BOXCHART statement representing group third quartiles be connected with line segments.\",\"type\":\"standalone\"}]},{\"name\":\"BOXES=\",\"optional\":true,\"description\":\"Specifies a variable whose values are used to assign colors for the outlines of box-and-whiskers plots.\",\"type\":\"value\"},{\"name\":\"BOXFILL=\",\"optional\":true,\"description\":\"Specifies how box-and-whisker plots are filled with colors from the ODS style.\",\"help\":\"BOXFILL=&lt;*variable*&gt; | NONE | EMPTY\",\"type\":\"choice\",\"arguments\":[{\"name\":\"<variable>\",\"placeholder\":true,\"description\":\"You can specify a variable whose values are used to group box-and-whiskers plots for assigning fill colors from the ODS style.\",\"type\":\"value\"},{\"name\":\"NONE\",\"description\":\"Produces unfilled boxes.\",\"type\":\"standalone\"},{\"name\":\"EMPTY\",\"description\":\"Produces unfilled boxes.\",\"type\":\"standalone\"}]},{\"name\":\"BOXOPACITY=\",\"optional\":true,\"description\":\"Specifies the box fill opacity for box-and-whisker charts when transparency is used in ODS Graphics output. The value must be between 0 and 1, where 0 is completely transparent and 1 is completely opaque. The default box fill opacity is 0.75.\",\"help\":\"BOXOPACITY=*value*\",\"type\":\"value\"},{\"name\":\"BOXSTYLE=\",\"optional\":true,\"description\":\"[Specifies the style of the box-and-whiskers plots displayed.\",\"help\":\"BOXSTYLE=SKELETAL | SCHEMATIC | SCHEMATICID | SCHEMATICIDFAR | POINTS | POINTSJOIN | POINTSBOX | POINTSID | POINTSJOINID | POINTSSCHEMATIC\",\"type\":\"choice\",\"arguments\":[{\"name\":\"SKELETAL\",\"description\":\"The whiskers are drawn from the edges of the box to the extreme values of the group.\",\"type\":\"standalone\"},{\"name\":\"SCHEMATIC\",\"description\":\"A whisker is drawn from the upper edge of the box to the largest observed value within the upper fence, and another is drawn from the lower edge of the box to the smallest observed value within the lower fence.\",\"type\":\"standalone\"},{\"name\":\"SCHEMATICID\",\"description\":\"A schematic box-and-whiskers plot is displayed in which an ID variable value is used to label the symbol marking each observation outside the upper and lower fences.\",\"type\":\"standalone\"},{\"name\":\"SCHEMATICIDFAR\",\"description\":\"A schematic box-and-whiskers plot is displayed in which the value of the ID variable is used to label the symbol marking each observation outside the lower and upper far fences\",\"type\":\"standalone\"},{\"name\":\"POINTS\",\"description\":\"All the values in the subgroup sample are plotted as points, and neither a box nor whiskers are drawn.\",\"type\":\"standalone\"},{\"name\":\"POINTSJOIN\",\"description\":\"All the values in the subgroup sample are plotted as points joined with a vertical line. Neither a box nor whiskers are drawn.\",\"type\":\"standalone\"},{\"name\":\"POINTSBOX\",\"description\":\"All the values in the subgroup sample are plotted as points enclosed in a box.\",\"type\":\"standalone\"},{\"name\":\"POINTSID\",\"description\":\"All the values in the subgroup sample are plotted using labels specified as the values of the first variable in the ID statement.\",\"type\":\"standalone\"},{\"name\":\"POINTSJOINID\",\"description\":\"All the values in the subgroup sample are plotted using labels specified as the values of the first variable in the ID statement, and the values are joined by a vertical line.\",\"type\":\"standalone\"},{\"name\":\"POINTSSCHEMATIC\",\"description\":\"A schematic box chart is overlaid with points plotting all observations in the subgroups.\",\"type\":\"standalone\"}]},{\"name\":\"BOXWIDTH=\",\"optional\":true,\"description\":\"Specifies the width (in horizontal percent screen units) of the box-and-whiskers plots.\",\"help\":\"BOXWIDTH=*value*\",\"type\":\"value\"},{\"name\":\"BOXWIDTHSCALE=\",\"optional\":true,\"description\":\"Specifies that the width of the box-and-whiskers plots created with the BOXCHART statement is to vary proportionately to a particular function of the group size n.\",\"help\":\"BOXWIDTHSCALE=*value*\",\"type\":\"value\"},{\"name\":\"CAXIS=\",\"optional\":true,\"aliases\":[\"CAXES=\",\"CA=\"],\"description\":\"Specifies the color for the axes and tick marks. This option overrides any COLOR= specifications in an AXIS statement.\",\"help\":\"CAXIS=*color*\",\"type\":\"color\"},{\"name\":\"CBLOCKLAB=\",\"optional\":true,\"description\":\"Specifies fill colors for the frames that enclose the block variable labels in a block legend.\",\"help\":\"CBLOCKLAB=*color*\",\"type\":\"color\"},{\"name\":\"CBLOCKVAR=\",\"optional\":true,\"description\":\"Specifies variables whose values are colors for filling the background of the legend associated with block variables.\",\"type\":\"value\"},{\"name\":\"CBOXES=\",\"optional\":true,\"description\":\"Specifies the colors for the outlines of the box-and-whiskers plots created with the BOXCHART statement.\",\"help\":\"CBOXES=*color*\",\"type\":\"color\"},{\"name\":\"CBOXFILL=\",\"optional\":true,\"description\":\"Specifies the interior fill colors for the box-and-whiskers plots created with the BOXCHART statement.\",\"help\":\"CBOXFILL=*color*\",\"type\":\"color\"},{\"name\":\"CCLIP=\",\"optional\":true,\"description\":\"Specifies a color for the plotting symbol that is specified with the CLIPSYMBOL= option to mark clipped values.\",\"help\":\"CCLIP=*color*\",\"type\":\"color\"},{\"name\":\"CCONNECT=\",\"optional\":true,\"description\":\"Specifies the color for line segments connecting points on the chart.\",\"help\":\"CCONNECT=*color*\",\"type\":\"color\"},{\"name\":\"CCOVERLAY2=\",\"optional\":true,\"description\":\"Specifies the colors for line segments connecting points on secondary chart overlays.\",\"help\":\"CCOVERLAY2=*color*\",\"type\":\"color\"},{\"name\":\"CCOVERLAY=\",\"optional\":true,\"description\":\"Specifies the colors for line segments connecting points on primary chart overlays.\",\"help\":\"CCOVERLAY=*color*\",\"type\":\"color\"},{\"name\":\"CFRAME=\",\"optional\":true,\"description\":\"Specifies the color for filling the rectangle enclosed by the axes and the frame. By default, this area is not filled. The CFRAME= option cannot be used in conjunction with the NOFRAME option.\",\"help\":\"CFRAME=*color*\",\"type\":\"color\"},{\"name\":\"CFRAMELAB=\",\"optional\":true,\"description\":\"Specifies the color for filling rectangles that frame the point labels displayed with the ALLLABEL=, ALLLABEL2=, OUTLABEL=, and OUTLABEL2= options.\",\"help\":\"CFRAMELAB=*color*\",\"type\":\"color\"},{\"name\":\"CGRID=\",\"optional\":true,\"description\":\"Specifies the color for the grid requested by the ENDGRID or GRID option. By default, the grid is the same color as the axes.\",\"help\":\"CGRID=*color*\",\"type\":\"color\"},{\"name\":\"CHREF=\",\"optional\":true,\"description\":\"Specifies the color for the lines requested by the HREF= and HREF2= options.\",\"help\":\"CHREF=*color*\",\"type\":\"color\"},{\"name\":\"CIINDICES\",\"optional\":true,\"description\":\"Requests capability index confidence limits based on subgroup summary data, calculated using \\\"effective degrees of freedom\\\". TYPE=keyword specifies the type of confidence limit. Valid values are LOWER, UPPER and TWOSIDED. The default value is TWOSIDED.\",\"type\":\"standalone\"},{\"name\":\"CINFILL=\",\"optional\":true,\"description\":\"Specifies the color for the area inside the upper and lower control limits.\",\"help\":\"CINFILL=&lt;*color*&gt; | NONE | EMPTY\",\"type\":\"choice\",\"arguments\":[{\"name\":\"<color>\",\"placeholder\":true,\"description\":\"Specifies the color for the area inside the upper and lower control limits.\",\"type\":\"color\"},{\"name\":\"NONE\",\"description\":\"Leaves the area between the contol limits unfilled.\",\"type\":\"standalone\"},{\"name\":\"EMPTY\",\"description\":\"Leaves the area between the contol limits unfilled.\",\"type\":\"standalone\"}]},{\"name\":\"CLABEL=\",\"optional\":true,\"description\":\"Specifies the color for labels produced by the ALLLABEL=, ALLLABEL2=, OUTLABEL=, and OUTLABEL2= options.\",\"help\":\"CLABEL=*color*\",\"type\":\"color\"},{\"name\":\"CLIMITS=\",\"optional\":true,\"description\":\"Specifies the color for the control limits, the central line, and the labels for these lines.\",\"help\":\"CLIMITS=*color*\",\"type\":\"color\"},{\"name\":\"CLIPCHAR=\",\"optional\":true,\"description\":\"Specifies a plot character that identifies clipped points, as requested with the CLIPFACTOR= option.\",\"help\":\"CLIPCHAR='*character*'\",\"type\":\"value\"},{\"name\":\"CLIPFACTOR=\",\"optional\":true,\"description\":\"Requests clipping of extreme values on the control chart. The factor that you specify determines the extent to which these values are clipped, and it must be greater than 1.\",\"help\":\"CLIPFACTOR=*factor*\",\"type\":\"value\"},{\"name\":\"CLIPLEGEND=\",\"optional\":true,\"description\":\"Specifies the label for the legend that indicates the number of clipped boxes when the CLIPFACTOR= option is used.\",\"type\":\"value\"},{\"name\":\"CLIPLEGPOS=\",\"optional\":true,\"description\":\"Specifies the position for the legend that indicates the number of clipped boxes when the CLIPFACTOR= option is used.\",\"help\":\"CLIPLEGPOS=TOP | BOTTOM\",\"type\":\"choice\",\"arguments\":[{\"name\":\"TOP\",\"description\":\"Positions the legend at the top of the chart.\",\"type\":\"standalone\"},{\"name\":\"BOTTOM\",\"description\":\"positions the legend at the bottom of the chart.\",\"type\":\"standalone\"}]},{\"name\":\"CLIPSUBCHAR=\",\"optional\":true,\"description\":\"Specifies a substitution character (such as '#') for the label provided with the CLIPLEGEND= option.\",\"help\":\"CLIPSUBCHAR='*character*'\",\"type\":\"value\"},{\"name\":\"CLIPSYMBOL=\",\"optional\":true,\"description\":\"Specifies a plot symbol used to identify clipped points on the chart and in the legend when the CLIPFACTOR= option is used.\",\"help\":\"CLIPSYMBOL=*symbol*\",\"type\":\"value\"},{\"name\":\"CLIPSYMBOLHT=\",\"optional\":true,\"description\":\"Specifies the height for the symbol marker used to identify clipped points on the chart when the CLIPFACTOR= option is used.\",\"help\":\"CLIPSYMBOLHT=*value*\",\"type\":\"value\"},{\"name\":\"CNEEDLES=\",\"optional\":true,\"description\":\"Requests that points are to be connected to the central line with vertical line segments (needles) and specifies the color of the needles.\",\"help\":\"CNEEDLES=*color*\",\"type\":\"color\"},{\"name\":\"CONNECTCHAR=\",\"optional\":true,\"description\":\"Specifies the character used to form line segments that connect points on a chart. The default character is a plus (+) sign.\",\"help\":\"CONNECTCHAR='*character*'\",\"type\":\"value\"},{\"name\":\"CONTROLSTAT=\",\"optional\":true,\"description\":\"Specifies whether the control limits displayed in a box chart are to be computed for subgroup means or for subgroup medians.\",\"help\":\"CONTROLSTAT=MEAN | MEDIAN\",\"type\":\"choice\",\"arguments\":[{\"name\":\"MEAN\",\"description\":\"Specifies whether the control limits displayed in a box chart are to be computed for subgroup means.\",\"type\":\"standalone\"},{\"name\":\"MEDIAN\",\"description\":\"Specifies whether the control limits displayed in a box chart are to be computed for subgroup medians.\",\"type\":\"standalone\"}]},{\"name\":\"COUT\",\"optional\":true,\"description\":\"Specify COUT with no argument to use an appropriate contrasting color from the ODS style.\",\"type\":\"standalone\"},{\"name\":\"COUT=\",\"optional\":true,\"description\":\"Specifies the color for the plotting symbols and the portions of connecting line segments that lie outside the control limits.\",\"help\":\"COUT=*color*\",\"type\":\"color\"},{\"name\":\"COVERLAY2=\",\"optional\":true,\"description\":\"Specifies the colors used to plot secondary chart overlay variables. Colors in the COVERLAY2= list are matched with variables in the corresponding positions in the OVERLAY2= list.\",\"type\":\"value\"},{\"name\":\"COVERLAY=\",\"optional\":true,\"description\":\"Specifies the colors used to plot primary chart overlay variables. Colors in the COVERLAY= list are matched with variables in the corresponding positions in the OVERLAY= list.\",\"type\":\"value\"},{\"name\":\"COVERLAYCLIP=\",\"optional\":true,\"description\":\"Specifies the color used to plot clipped values on overlay plots when the CLIPFACTOR= option is used.\",\"help\":\"COVERLAYCLIP=*color*\",\"type\":\"color\"},{\"name\":\"CPHASEBOX=\",\"optional\":true,\"description\":\"Specifies the color for a box that encloses all of the plotted points for a phase (group of consecutive observations that have the same value of the variable _PHASE_).\",\"help\":\"CPHASEBOX=*color*\",\"type\":\"color\"},{\"name\":\"CPHASEBOXCONNECT=\",\"optional\":true,\"description\":\"Specifies the color for line segments that connect the vertical edges of adjacent enclosing boxes requested with the CPHASEBOX= option or the CPHASEBOXFILL= option.\",\"help\":\"CPHASEBOXCONNECT=*color*\",\"type\":\"color\"},{\"name\":\"CPHASEBOXFILL=\",\"optional\":true,\"description\":\"Specifies the fill color for a box that encloses all of the plotted points for a phase.\",\"help\":\"CPHASEBOXFILL=*color*\",\"type\":\"color\"},{\"name\":\"CPHASELEG=\",\"optional\":true,\"description\":\"Specifies a text color for the phase labels requested with the PHASELEGEND option.\",\"help\":\"CPHASELEG=*color*\",\"type\":\"color\"},{\"name\":\"CPHASEMEANCONNECT=\",\"optional\":true,\"description\":\"Specifies the color for line segments that connect points representing the average of the values plotted within a phase.\",\"help\":\"CPHASEMEANCONNECT=*color*\",\"type\":\"color\"},{\"name\":\"CSTARCIRCLES=\",\"optional\":true,\"description\":\"Specifies a color for the circles requested with the STARCIRCLES= option.\",\"help\":\"CSTARCIRCLES=*color*\",\"type\":\"color\"},{\"name\":\"CSTARFILL=\",\"optional\":true,\"description\":\"Specifies a color or colors for filling the interior of stars requested with the STARVERTICES= option.\",\"help\":\"CSTARFILL=*color*\",\"type\":\"color\"},{\"name\":\"CSTAROUT\",\"optional\":true,\"description\":\"Specifies to use an appropriate contrasting color from the ODS style for those portions of the outlines of stars (requested with the STARVERTICES= option) that exceed the inner or outer circles.\",\"type\":\"color\"},{\"name\":\"CSTAROUT=\",\"optional\":true,\"description\":\"Specifies a color for those portions of the outlines of stars (requested with the STARVERTICES= option) that exceed the inner or outer circles.\",\"help\":\"CSTAROUT=*color*\",\"type\":\"color\"},{\"name\":\"CSTARS=\",\"optional\":true,\"description\":\"Specifies a color or colors for the outlines of stars requested with the STARVERTICES= option.\",\"help\":\"CSTARS=*color*\",\"type\":\"color\"},{\"name\":\"CSYMBOL=\",\"optional\":true,\"description\":\"Specifies a label for the central line in a C chart.\",\"help\":\"CSYMBOL=C | CBAR | CPM | CPM2 | C0 | '*label*'\",\"type\":\"choice\",\"arguments\":[{\"name\":\"C\",\"description\":\"C\",\"type\":\"standalone\"},{\"name\":\"CBAR\",\"description\":\"CBAR\",\"type\":\"standalone\"},{\"name\":\"CPM\",\"description\":\"C'\",\"type\":\"standalone\"},{\"name\":\"CPM2\",\"description\":\"C''\",\"type\":\"standalone\"},{\"name\":\"C0\",\"description\":\"Co\",\"type\":\"standalone\"},{\"name\":\"'label'\",\"placeholder\":true,\"description\":\"You can specify a quoted label of length 16 or less.\",\"type\":\"value\"}]},{\"name\":\"CTESTLABBOX=\",\"optional\":true,\"description\":\"Specifies the color for boxes enclosing labels for positive tests for special causes requested with the TESTLABBOX option.\",\"help\":\"CTESTLABBOX=*color*\",\"type\":\"color\"},{\"name\":\"CTESTS=\",\"optional\":true,\"aliases\":[\"CTEST=\"],\"description\":\"Specifies colors for labels indicating points where a test is positive.\",\"help\":\"CTESTS=*color*\",\"type\":\"color\"},{\"name\":\"CTESTSYMBOL=\",\"optional\":true,\"aliases\":[\"CTESTSYM=\"],\"description\":\"Specifies the color of the symbol used to plot subgroups with positive tests for special causes.\",\"help\":\"CTESTSYMBOL=*color*\",\"type\":\"color\"},{\"name\":\"CTEXT=\",\"optional\":true,\"description\":\"Specifies the color for tick mark values and axis labels. The default color is the color specified in the CTEXT= option in the most recent GOPTIONS statement.\",\"help\":\"CTEXT=*color*\",\"type\":\"color\"},{\"name\":\"CVREF=\",\"optional\":true,\"aliases\":[\"CV=\"],\"description\":\"Specifies the color for the lines requested by the VREF= and VREF2= options.\",\"help\":\"CVREF=*color*\",\"type\":\"color\"},{\"name\":\"CZONES=\",\"optional\":true,\"description\":\"Requests lines marking zones A, B, and C for the tests for special causes (see the TESTS= option) and specifies the color for these lines.\",\"help\":\"CZONES=*color*\",\"type\":\"color\"},{\"name\":\"DESCRIPTION2=\",\"optional\":true,\"aliases\":[\"DES2=\"],\"description\":\"Specifies a description for the secondary chart of length 256 or less that appears in the PROC GREPLAY master menu. The default string is the variable name. The DESCRIPTION2= option is available in the IRCHART, MRCHART, XRCHART, and XSCHART statements, and it is used in conjunction with the SEPARATE option. A related option is NAME2=.\",\"help\":\"DESCRIPTION2='*string*'\",\"type\":\"value\"},{\"name\":\"DESCRIPTION=\",\"optional\":true,\"aliases\":[\"DES=\"],\"description\":\"Specifies a description for the primary chart of length 256 or less that appears in the PROC GREPLAY master menu. The default string is the variable name. A related option is NAME=.\",\"help\":\"DESCRIPTION='*string*'\",\"type\":\"value\"},{\"name\":\"DISCRETE\",\"optional\":true,\"description\":\"Specifies that numeric subgroup variable values be treated as discrete values, so that each tick value on the default subgroup axis corresponds to a unique subgroup variable value.\",\"type\":\"standalone\"},{\"name\":\"ENDGRID\",\"optional\":true,\"description\":\"Adds a grid to the rightmost portion of the chart, beginning with the first labeled major tick mark position that follows the last plotted point.\",\"type\":\"standalone\"},{\"name\":\"EXCHART\",\"optional\":true,\"description\":\"Creates a control chart only when exceptions occur, specifically, when the control limits are exceeded or when any of the tests requested with the TESTS= option or the TESTS2= option are positive.\",\"type\":\"standalone\"},{\"name\":\"FONT=\",\"optional\":true,\"description\":\"Specifies a software font for labels and legends.\",\"help\":\"FONT=*font*\",\"type\":\"value\"},{\"name\":\"FRONTREF\",\"optional\":true,\"description\":\"Draws reference lines specified with the HREF= and VREF= options in front of box-and-whiskers plots. By default, reference lines are drawn behind the box-and-whiskers plots and can be obscured by filled boxes.\",\"type\":\"standalone\"},{\"name\":\"GRID\",\"optional\":true,\"description\":\"Adds a grid to the control chart. Grid lines are horizontal lines positioned at labeled major tick marks, and they cover the length and height of the plotting area.\",\"type\":\"standalone\"},{\"name\":\"HAXIS=\",\"optional\":true,\"description\":\"Specifies tick mark values for the horizontal (subgroup) axis. If the group variable is numeric, the values must be numeric and equally spaced. If the group variable is character, values must be quoted strings of up to 16 characters. Optionally, you can specify an axis name defined in a previous AXIS statement.\",\"type\":\"value\"},{\"name\":\"HEIGHT=\",\"optional\":true,\"description\":\"Specifies the height (in vertical screen percent units) of the text for axis labels and legends. This value takes precedence over the HTEXT= value specified in the GOPTIONS statement.\",\"help\":\"HEIGHT=*value*\",\"type\":\"value\"},{\"name\":\"HMINOR=\",\"optional\":true,\"aliases\":[\"HM=\"],\"description\":\"Specifies the number of minor tick marks between major tick marks on the horizontal axis. Minor tick marks are not labeled. The default is HMINOR=0.\",\"help\":\"HMINOR=*n*\",\"type\":\"value\"},{\"name\":\"HOFFSET=\",\"optional\":true,\"description\":\"Specifies the length (in percent screen units) of the offset at both ends of the horizontal axis. You can eliminate the offset by specifying HOFFSET=0.\",\"help\":\"HOFFSET=*value*\",\"type\":\"value\"},{\"name\":\"HREF2=\",\"optional\":true,\"description\":\"Draws reference lines perpendicular to the horizontal (subgroup) axis on the secondary chart.\",\"type\":\"value\"},{\"name\":\"HREF2DATA=\",\"optional\":true,\"description\":\"Draws reference lines perpendicular to the horizontal (subgroup) axis on the secondary chart. The HREF2DATA= option must be used in place of the HREF2= option to specify a data set using the quoted filename notation.\",\"help\":\"HREF2DATA=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"HREF2LABELS=\",\"optional\":true,\"aliases\":[\"HREF2LABEL=\",\"HREF2LAB=\"],\"description\":\"Specifies labels for the reference lines requested by the HREF2= option. The number of labels must equal the number of lines. Enclose each label in quotes. Labels can be up to 16 characters.\",\"type\":\"value\"},{\"name\":\"HREF=\",\"optional\":true,\"description\":\"Draws reference lines perpendicular to the horizontal (subgroup) axis on the primary chart.\",\"type\":\"value\"},{\"name\":\"HREFCHAR=\",\"optional\":true,\"description\":\"Specifies the character used for reference lines requested by the HREF= and HREF2= options on line printer charts. The default is the vertical bar (|).\",\"help\":\"HREFCHAR='*character*'\",\"type\":\"value\"},{\"name\":\"HREFDATA=\",\"optional\":true,\"description\":\"Draws reference lines perpendicular to the horizontal (subgroup) axis on the primary chart. The HREFDATA= option must be used in place of the HREF= option to specify a data set using the quoted filename notation.\",\"help\":\"HREFDATA=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"HREFLABELS=\",\"optional\":true,\"aliases\":[\"HREFLABEL=\",\"HREFLAB=\"],\"description\":\"Specifies labels for the reference lines requested by the HREF= option. The number of labels must equal the number of lines. Enclose each label in quotes. Labels can be up to 16 characters.\",\"type\":\"value\"},{\"name\":\"HREFLABPOS=\",\"optional\":true,\"description\":\"Specifies the vertical position of the HREFLABEL= label.\",\"help\":\"HREFLABPOS=1 | 2 | 3 | 4\",\"type\":\"choice\",\"arguments\":[{\"name\":\"1\",\"description\":\"Along top of subplot area\",\"type\":\"standalone\"},{\"name\":\"2\",\"description\":\"Staggered from top to bottom of subplot area\",\"type\":\"standalone\"},{\"name\":\"3\",\"description\":\"Along bottom of subplot area\",\"type\":\"standalone\"},{\"name\":\"4\",\"description\":\"Staggered from bottom to top of subplot area\",\"type\":\"standalone\"}]},{\"name\":\"HTML2=\",\"optional\":true,\"description\":\"Specifies URLs as values of the specified character variable (or formatted values of a numeric variable). These URLs are associated with points on a secondary chart when traditional graphics output is directed into HTML.\",\"help\":\"HTML2=*variable*\",\"type\":\"value\"},{\"name\":\"HTML=\",\"optional\":true,\"description\":\"Specifies URLs as values of the specified character variable (or formatted values of a numeric variable). These URLs are associated with points on a primary control chart when traditional graphics output is directed into HTML.\",\"help\":\"HTML=*variable*\",\"type\":\"value\"},{\"name\":\"HTML_LEGEND=\",\"optional\":true,\"description\":\"Specifies URLs as values of the specified character variable (or formatted values of a numeric variable). These URLs are associated with symbols in the legend for the levels of a symbol-variable.\",\"help\":\"HTML_LEGEND=*variable*\",\"type\":\"value\"},{\"name\":\"IDCOLOR=\",\"optional\":true,\"description\":\"Specifies the color of the symbol marker used to identify outliers in schematic box-and-whiskers plots (that is, when you specify the keyword SCHEMATIC, SCHEMATICID, or SCHEMATICIDFAR with the BOXSTYLE= option).\",\"help\":\"IDCOLOR=*color*\",\"type\":\"color\"},{\"name\":\"IDCTEXT=\",\"optional\":true,\"description\":\"Specifies the color for the text used to label outliers when you specify the keyword SCHEMATICID, SCHEMATICIDFAR, POINTSID, or POINTSJOINID with the BOXSTYLE= option.\",\"help\":\"IDCTEXT=*color*\",\"type\":\"color\"},{\"name\":\"IDFONT=\",\"optional\":true,\"description\":\"Specifies the font for the text used to label outliers when you specify the keyword SCHEMATICID, SCHEMATICIDFAR, POINTSID, or POINTSJOINID with the BOXSTYLE= option.\",\"help\":\"IDFONT=*font*\",\"type\":\"value\"},{\"name\":\"IDHEIGHT=\",\"optional\":true,\"description\":\"Specifies the height for the text used to label outliers when you specify the keyword SCHEMATICID, SCHEMATICIDFAR, POINTSID, or POINTSJOINID with the BOXSTYLE= option.\",\"help\":\"IDHEIGHT=*value*\",\"type\":\"value\"},{\"name\":\"IDSYMBOL=\",\"optional\":true,\"description\":\"Specifies the symbol marker used to identify outliers in schematic box-and-whisker plots produced with the BOXCHART statement when you use one of the following options: BOXSTYLE=SCHEMATIC, BOXSTYLE=SCHEMATICID, and BOXSTYLE=SCHEMATICIDFAR. The default symbol is SQUARE.\",\"help\":\"IDSYMBOL=*symbol*\",\"type\":\"value\"},{\"name\":\"INDEPENDENTZONES\",\"optional\":true,\"aliases\":[\"INDEPZONES\"],\"description\":\"Specifies that the widths of the zones requested with the ZONES option be computed independently above and below the center line of the chart, so that the width of each zone is one-third of the difference between the process mean and the control limit on its side of the chart.\",\"type\":\"standalone\"},{\"name\":\"INFILLOPACITY=\",\"optional\":true,\"description\":\"Specifies the control limit infill opacity when transparency is used in ODS Graphics output. The value be between 0 and 1, where 0 is completely transparent and 1 is completely opaque. The default control limit infill opacity is 0.25.\",\"help\":\"INFILLOPACITY=*value*\",\"type\":\"value\"},{\"name\":\"INTERVAL=\",\"optional\":true,\"description\":\"Specifies the natural time interval between consecutive group positions when a time, date, or datetime format is associated with a numeric group variable.\",\"help\":\"INTERVAL=DAY | DTDAY | HOUR | MINUTE | MONTH | QTR | SECOND\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DAY\",\"description\":\"For DATE, WEEKDATE, WORDDATE, YYMMDD, or MMDDYY format\",\"type\":\"standalone\"},{\"name\":\"DTDAY\",\"description\":\"For DATETIME format\",\"type\":\"standalone\"},{\"name\":\"HOUR\",\"description\":\"For HHMM or HOUR format\",\"type\":\"standalone\"},{\"name\":\"MINUTE\",\"description\":\"For MMSS format\",\"type\":\"standalone\"},{\"name\":\"MONTH\",\"description\":\"For MONYY format\",\"type\":\"standalone\"},{\"name\":\"QTR\",\"description\":\"For YYQ format\",\"type\":\"standalone\"},{\"name\":\"SECOND\",\"description\":\"For TIME or TOD format\",\"type\":\"standalone\"}]},{\"name\":\"INTSTART=\",\"optional\":true,\"description\":\"Specifies the starting value for a numeric horizontal axis when a date, time, or datetime format is associated with the group variable.\",\"help\":\"INTSTART=*value*\",\"type\":\"value\"},{\"name\":\"LABELANGLE=\",\"optional\":true,\"description\":\"Specifies the angle at which labels requested with the ALLLABEL=, ALLLABEL2=, OUTLABEL=, and OUTLABEL2= options are drawn. A positive angle rotates the labels counterclockwise; a negative angle rotates them clockwise. By default, labels are oriented horizontally.\",\"help\":\"LABELANGLE=*angle*\",\"type\":\"value\"},{\"name\":\"LABELFONT=\",\"optional\":true,\"aliases\":[\"TESTFONT=\"],\"description\":\"Specifies a software font for labels requested with the ALLLABEL=, ALLLABEL2=, OUTLABEL=, OUTLABEL2=, STARLABEL=, TESTLABEL=, and TESTLABELn= options.\",\"help\":\"LABELFONT=*font*\",\"type\":\"value\"},{\"name\":\"LABELHEIGHT=\",\"optional\":true,\"aliases\":[\"TESTHEIGHT=\"],\"description\":\"Specifies the height (in vertical percent screen units) for labels requested with the ALLLABEL=, ALLLABEL2=, OUTLABEL=, OUTLABEL2=, STARLABEL=, TESTLABEL=, and TESTLABEL= options.\",\"help\":\"LABELHEIGHT=*value*\",\"type\":\"value\"},{\"name\":\"LBOXES=\",\"optional\":true,\"description\":\"Specifies the line types for the outlines of the box-and-whiskers plots created with the BOXCHART statement.\",\"type\":\"value\"},{\"name\":\"LCLLABEL2=\",\"optional\":true,\"description\":\"Specifies a label for the lower control limit in the secondary chart. The label can be of length 16 or less. Enclose the label in quotes.\",\"help\":\"LCLLABEL2='*label*'\",\"type\":\"value\"},{\"name\":\"LCLLABEL=\",\"optional\":true,\"description\":\"Specifies a label for the lower control limit in the primary chart. The label can be of length 16 or less. Enclose the label in quotes.\",\"help\":\"LCLLABEL='*label*'\",\"type\":\"value\"},{\"name\":\"LENDGRID=\",\"optional\":true,\"description\":\"Specifies the line type for the grid requested with the ENDGRID option. The default value is 1, which produces a solid line.\",\"help\":\"LENDGRID=*linetype*\",\"type\":\"value\"},{\"name\":\"LGRID=\",\"optional\":true,\"description\":\"Specifies the line type for the grid requested with the GRID option. The default value is 1, which produces a solid line.\",\"help\":\"LGRID=*linetype*\",\"type\":\"value\"},{\"name\":\"LHREF=\",\"optional\":true,\"aliases\":[\"LH=\"],\"description\":\"Specifies the line type for reference lines requested with the HREF= and HREF2 options. The default value is 2, which produces a dashed line.\",\"help\":\"LHREF=*linetype*\",\"type\":\"value\"},{\"name\":\"LIMITN=\",\"optional\":true,\"description\":\"Specifies either a varying or a fixed nominal sample size n for the control limits.\",\"help\":\"LIMITN=VARYING | n\",\"type\":\"choice\",\"arguments\":[{\"name\":\"VARYING\",\"description\":\"Specifies a varying nominal sample size for the control limits.\",\"type\":\"standalone\"},{\"name\":\"n\",\"description\":\"Specifies a fixed nominal sample size for the control limits.\",\"type\":\"standalone\"}]},{\"name\":\"LIMLABSUBCHAR=\",\"optional\":true,\"description\":\"Specifies a substitution character (such as #) for labels provided as quoted strings with the LCLLABEL=, LCLLABEL2=, UCLLABEL=, UCLLABEL2=, CSYMBOL=, NPSYMBOL=, PSYMBOL=, RSYMBOL=, SSYMBOL=, USYMBOL=, and XSYMBOL= options.\",\"help\":\"LIMLABSUBCHAR='*character*'\",\"type\":\"value\"},{\"name\":\"LLIMITS=\",\"optional\":true,\"description\":\"Specifies the line type for control limits. The default is 4, which produces a dashed line.\",\"help\":\"LLIMITS=*linetype*\",\"type\":\"value\"},{\"name\":\"LOVERLAY2=\",\"optional\":true,\"description\":\"Specifies line types for the line segments connecting points on secondary chart overlays. Line types in the LOVERLAY2= list are matched with variables in the corresponding positions in the OVERLAY2= list.\",\"type\":\"value\"},{\"name\":\"LOVERLAY=\",\"optional\":true,\"description\":\"Specifies line types for the line segments connecting points on primary chart overlays. Line types in the LOVERLAY= list are matched with variables in the corresponding positions in the OVERLAY= list.\",\"type\":\"value\"},{\"name\":\"LSL=\",\"optional\":true,\"description\":\"Provides lower specification limits used to compute capability indices.\",\"help\":\"LSL=*value-list*\",\"type\":\"value\"},{\"name\":\"LSTARCIRCLES=\",\"optional\":true,\"description\":\"Specifies one or more line types for the circles requested with the STARCIRCLES= option.\",\"help\":\"LSTARCIRCLES=*linetypes*\",\"type\":\"value\"},{\"name\":\"LSTARS=\",\"optional\":true,\"description\":\"Specifies the line types for the outlines of stars requested with the STARVERTICES= option.\",\"type\":\"value\"},{\"name\":\"LTESTS=\",\"optional\":true,\"aliases\":[\"LTEST=\"],\"description\":\"Specifies the line type for the line segments that connect patterns of points for which a test for special causes (requested with the TESTS= option) is positive. The default is 1, which produces a solid line.\",\"help\":\"LTESTS=*linetype*\",\"type\":\"value\"},{\"name\":\"LTMARGIN=\",\"optional\":true,\"aliases\":[\"LTM=\"],\"description\":\"Specifies the width of the left marginal area for the plot requested with the LTMPLOT= option.\",\"help\":\"LTMARGIN=*value*\",\"type\":\"value\"},{\"name\":\"LTMPLOT=\",\"optional\":true,\"description\":\"Requests a univariate plot of the control chart statistics that is positioned in the left margin of the control chart.\",\"help\":\"LTMPLOT=HISTOGRAM | DIGIDOT | SKELETAL | SCHEMATIC | SCHEMATICID | SCHEMATICIDFAR\",\"type\":\"choice\",\"arguments\":[{\"name\":\"HISTOGRAM\",\"description\":\"Histogram\",\"type\":\"standalone\"},{\"name\":\"DIGIDOT\",\"description\":\"Digidot plot\",\"type\":\"standalone\"},{\"name\":\"SKELETAL\",\"description\":\"Skeletal box-and-whisker plot\",\"type\":\"standalone\"},{\"name\":\"SCHEMATIC\",\"description\":\"Schematic box-and-whisker plot\",\"type\":\"standalone\"},{\"name\":\"SCHEMATICID\",\"description\":\"Schematic box-and-whisker plot with outliers labeled\",\"type\":\"standalone\"},{\"name\":\"SCHEMATICIDFAR\",\"description\":\"Schematic box-and-whisker plot with far outliers labeled\",\"type\":\"standalone\"}]},{\"name\":\"LVREF=\",\"optional\":true,\"aliases\":[\"LV=\"],\"description\":\"Specifies the line type for reference lines requested by the VREF= and VREF2= options. The default value is 2, which produces a dashed line.\",\"help\":\"LVREF=*linetype*\",\"type\":\"value\"},{\"name\":\"LZONES=\",\"optional\":true,\"description\":\"Specifies the line type for lines that delineate zones A, B, and C for standard tests requested with the TESTS= and/or TESTS2= options. The default is n=2, which produces a dashed line.\",\"help\":\"LZONES=*n*\",\"type\":\"value\"},{\"name\":\"MAXPANELS=\",\"optional\":true,\"description\":\"Specifies the maximum number of pages or screens for a chart. By default, n=20.\",\"help\":\"MAXPANELS=*n*\",\"type\":\"value\"},{\"name\":\"MEDCENTRAL=\",\"optional\":true,\"description\":\"Identifies a method for estimating the process mean, µ, which is represented by the central line on a median chart.\",\"help\":\"MEDCENTRAL=AVGMEAN | AVGMED | MEDMED\",\"type\":\"choice\",\"arguments\":[{\"name\":\"AVGMEAN\",\"description\":\"Average of subgroup means\",\"type\":\"standalone\"},{\"name\":\"AVGMED\",\"description\":\"Average of subgroup medians\",\"type\":\"standalone\"},{\"name\":\"MEDMED\",\"description\":\"Median of subgroup medians\",\"type\":\"standalone\"}]},{\"name\":\"MISSBREAK\",\"optional\":true,\"description\":\"Determines how subgroups are formed when observations are read from a DATA= data set and a character subgroup-variable is provided.\",\"type\":\"standalone\"},{\"name\":\"MRRESTART\",\"optional\":true,\"description\":\"Causes the moving range computation on the IRCHART to be restarted when any missing value is encountered.\",\"type\":\"standalone\"},{\"name\":\"MRRESTART=\",\"optional\":true,\"description\":\"' Causes the moving range computation on the IRCHART to be restarted only when the specified missing value is encountered.\",\"help\":\"MRRESTART=*value*\",\"type\":\"value\"},{\"name\":\"MU0=\",\"optional\":true,\"description\":\"Specifies a known (standard) value u0 for the process mean µ.\",\"help\":\"MU0=*value*\",\"type\":\"value\"},{\"name\":\"NAME2=\",\"optional\":true,\"description\":\"Specifies a name for the secondary chart of length 8 or less that appears in the PROC GREPLAY master menu. The default name is 'SHEWHART'.\",\"help\":\"NAME2='*string*'\",\"type\":\"value\"},{\"name\":\"NAME=\",\"optional\":true,\"description\":\"Specifies a name for the primary chart of length 8 or less that appears in the PROC GREPLAY master menu. The default name is 'SHEWHART'.\",\"help\":\"NAME='*string*'\",\"type\":\"value\"},{\"name\":\"NDECIMAL2=\",\"optional\":true,\"description\":\"Specifies the number of decimal digits in the default labels for the control limits and the central line in a secondary chart.\",\"help\":\"NDECIMAL2=*n*\",\"type\":\"value\"},{\"name\":\"NDECIMAL=\",\"optional\":true,\"description\":\"Specifies the number of decimal digits in the default labels for the control limits and the central line in the primary chart.\",\"help\":\"NDECIMAL=*n*\",\"type\":\"value\"},{\"name\":\"NEEDLES\",\"optional\":true,\"description\":\"Connects plotted points to the central line with vertical line segments (needles).\",\"type\":\"standalone\"},{\"name\":\"NMARKERS\",\"optional\":true,\"description\":\"Identifies a plotted subgroup summary statistic with a special symbol marker (character) when the corresponding subgroup sample size is not equal to the nominal control limit sample size n.\",\"type\":\"standalone\"},{\"name\":\"NO3SIGMACHECK\",\"optional\":true,\"description\":\"Suppresses the check for 3σ limits when tests for special causes are requested.\",\"type\":\"standalone\"},{\"name\":\"NOBLOCKREFFILL\",\"optional\":true,\"aliases\":[\"NOPHASEREFILL\",\"NOREFILL\"],\"description\":\"Suppresses the block and phase wall fills from ODS Graphics output. By default, block and phase walls are filled when ODS Graphics is in effect.\",\"type\":\"standalone\"},{\"name\":\"NOBLOCKREF\",\"optional\":true,\"aliases\":[\"NOPHASEREF=\",\"NOREF=\"],\"description\":\"Suppresses block and phase reference lines from ODS Graphics output.\",\"type\":\"standalone\"},{\"name\":\"NOBOXFILLLEGEND\",\"optional\":true,\"aliases\":[\"NOFILLLEGEND\",\"NOSTARFILLLEGEND\"],\"description\":\"Suppresses the legend for the levels of a BOXFILL= or STARFILL= variable in ODS Graphics output.\",\"type\":\"standalone\"},{\"name\":\"NOBYREF\",\"optional\":true,\"description\":\"Specifies that the reference line information in an HREF=, HREF2=, VREF=, or VREF2= data set be applied uniformly to box plots created for all the BY groups in the input data set. If you specify the NOBYREF option, you do not need to provide BY variables in the reference line data set. By default, you must provide BY variables.\",\"type\":\"standalone\"},{\"name\":\"NOCHART2\",\"optional\":true,\"description\":\"Suppresses the creation of a secondary chart. You typically use this option in the IRCHART statement to create a chart for individual measurements and suppress the accompanying chart for moving ranges.\",\"type\":\"standalone\"},{\"name\":\"NOCHART\",\"optional\":true,\"aliases\":[\"NOCH\"],\"description\":\"Suppresses the creation of the chart. You typically specify the NOCHART option when you are using the procedure to compute control limits and save them in an output data set.\",\"type\":\"standalone\"},{\"name\":\"NOCONNECT\",\"optional\":true,\"description\":\"Suppresses line segments that connect points on the chart.\",\"type\":\"standalone\"},{\"name\":\"NOCTL\",\"optional\":true,\"description\":\"Suppresses the display of the central line in a primary chart.\",\"type\":\"standalone\"},{\"name\":\"NOCTL2\",\"optional\":true,\"description\":\"Suppresses the display of the central line in a secondary chart.\",\"type\":\"standalone\"},{\"name\":\"NOFRAME\",\"optional\":true,\"description\":\"Suppresses the default frame drawn around the chart.\",\"type\":\"standalone\"},{\"name\":\"NOHLABEL\",\"optional\":true,\"description\":\"Suppresses the label for the horizontal (subgroup) axis.\",\"type\":\"standalone\"},{\"name\":\"NOLCL\",\"optional\":true,\"description\":\"Suppresses the display of the lower control limit in a primary chart.\",\"type\":\"standalone\"},{\"name\":\"NOLCL2\",\"optional\":true,\"description\":\"Suppresses the display of the lower control limit in a secondary chart.\",\"type\":\"standalone\"},{\"name\":\"NOLEGEND\",\"optional\":true,\"description\":\"Suppresses the default legend for subgroup sample sizes, which appears by default below the chart.\",\"type\":\"standalone\"},{\"name\":\"NOLIMIT0\",\"optional\":true,\"description\":\"Suppresses the display of a fixed lower control limit if and only if the value of the limit is zero.\",\"type\":\"standalone\"},{\"name\":\"NOLIMIT1\",\"optional\":true,\"description\":\"Suppresses the display of a fixed upper control limit on a p chart if and only if the value of the control limit is 1 (or 100%), or on an np chart if and only if the value of the control limit is n.\",\"type\":\"standalone\"},{\"name\":\"NOLIMITLABEL\",\"optional\":true,\"description\":\"Suppresses the default labels for the control limits and central lines.\",\"type\":\"standalone\"},{\"name\":\"NOLIMITS\",\"optional\":true,\"description\":\"Suppresses the display of control limits.\",\"type\":\"standalone\"},{\"name\":\"NOLIMITSFRAME\",\"optional\":true,\"description\":\"Suppresses the default frame for the control limit information that is displayed across the top of the chart when multiple sets of control limits with distinct multiples of σ and nominal control limit sample sizes are read from a LIMITS= data set.\",\"type\":\"standalone\"},{\"name\":\"NOLIMITSLEGEND\",\"optional\":true,\"description\":\"Suppresses the legend for the control limits, which appears by default in the upper right corner of the chart.\",\"type\":\"standalone\"},{\"name\":\"NOOVERLAYLEGEND\",\"optional\":true,\"description\":\"Suppresses the legend for overlay variables which is displayed by default when the OVERLAY= or OVERLAY2= option is specified.\",\"type\":\"standalone\"},{\"name\":\"NOPHASEFRAME\",\"optional\":true,\"description\":\"Suppresses the default frame for the legend requested by the PHASELEGEND option.\",\"type\":\"standalone\"},{\"name\":\"NOREADLIMITS\",\"optional\":true,\"description\":\"Specifies that the control limits for each process listed in the chart statement are not to be read from the LIMITS= data set specified in the PROC SHEWHART statement.\",\"type\":\"standalone\"},{\"name\":\"NOTCHES\",\"optional\":true,\"description\":\"Specifies that box-and-whiskers plots created by the BOXCHART statement are to be notched.\",\"type\":\"standalone\"},{\"name\":\"NOTESTACROSS\",\"optional\":true,\"description\":\"Specifies that tests for special causes requested with the TESTS= or TESTS2= options not be applied across the boundaries of phases (blocks of consecutive subgroups) determined by the READPHASES= option and the variable _PHASE_ in the input data set.\",\"type\":\"standalone\"},{\"name\":\"NOTICKREP\",\"optional\":true,\"description\":\"Applies to character-valued subgroup-variables and specifies that only the first occurrence of repeated, adjacent group values be labeled on the horizontal axis.\",\"type\":\"standalone\"},{\"name\":\"NOTRANSPARENCY\",\"optional\":true,\"description\":\"Disables transparency in ODS Graphics output, so that all graph features are opaque.\",\"type\":\"standalone\"},{\"name\":\"NOTRENDCONNECT\",\"optional\":true,\"description\":\"Suppresses line segments that connect points on a trend chart.\",\"type\":\"standalone\"},{\"name\":\"NOTRUNC\",\"optional\":true,\"description\":\"Overrides the vertical axis truncation at zero.\",\"type\":\"standalone\"},{\"name\":\"NOUCL\",\"optional\":true,\"description\":\"Suppresses the display of the upper control limit in a primary chart.\",\"type\":\"standalone\"},{\"name\":\"NOUCL2\",\"optional\":true,\"description\":\"suppresses the display of the upper control limit in a secondary chart.\",\"type\":\"standalone\"},{\"name\":\"NOVANGLE\",\"optional\":true,\"description\":\"Requests that the vertical axis label be strung out vertically.\",\"type\":\"standalone\"},{\"name\":\"NPANELPOS=\",\"optional\":true,\"aliases\":[\"NPANEL=\"],\"description\":\"Specifies the number of subgroup positions per panel on each chart.\",\"help\":\"NPANELPOS=*n*\",\"type\":\"value\"},{\"name\":\"NPSYMBOL=\",\"optional\":true,\"description\":\"Specifies a label for the central line in an np chart.\",\"help\":\"NPSYMBOL='*label*' | NP | NPBAR | NPPM | NPPM2 | NP0\",\"type\":\"choice\",\"arguments\":[{\"name\":\"'label'\",\"placeholder\":true,\"description\":\"A quoted label up to 16 characters in length.\",\"type\":\"value\"},{\"name\":\"NP\",\"description\":\"NP\",\"type\":\"standalone\"},{\"name\":\"NPBAR\",\"description\":\"NPBAR\",\"type\":\"standalone\"},{\"name\":\"NPPM\",\"description\":\"NP'\",\"type\":\"standalone\"},{\"name\":\"NPPM2\",\"description\":\"NP''\",\"type\":\"standalone\"},{\"name\":\"NP0\",\"description\":\"NP0\",\"type\":\"standalone\"}]},{\"name\":\"ODSFOOTNOTE2=\",\"optional\":true,\"description\":\"Adds a secondary footnote to ODS Graphics output.\",\"help\":\"ODSFOOTNOTE2=FOOTNOTE2 | 'string'\",\"type\":\"choice\",\"arguments\":[{\"name\":\"FOOTNOTE2\",\"description\":\"The value of SAS FOOTNOTE2 statement is used as the graph footnote.\",\"type\":\"standalone\"},{\"name\":\"'string'\",\"description\":\"A quoted string is used as the secondary footnote.\",\"type\":\"standalone\"}]},{\"name\":\"ODSFOOTNOTE=\",\"optional\":true,\"description\":\"Adds a footnote to ODS Graphics output.\",\"help\":\"ODSFOOTNOTE=FOOTNOTE | FOOTNOTE1 | 'string'\",\"type\":\"choice\",\"arguments\":[{\"name\":\"FOOTNOTE\",\"description\":\"The value of SAS FOOTNOTE statement is used as the graph footnote.\",\"type\":\"standalone\"},{\"name\":\"FOOTNOTE1\",\"description\":\"The value of SAS FOOTNOTE statement is used as the graph footnote.\",\"type\":\"standalone\"},{\"name\":\"'string'\",\"description\":\"A quoted string is used as the graph footnote.\",\"type\":\"standalone\"}]},{\"name\":\"ODSLEGENDEXPAND\",\"optional\":true,\"description\":\"Specifies that legend entries contain all levels observed in the data.\",\"type\":\"standalone\"},{\"name\":\"ODSTITLE2=\",\"optional\":true,\"description\":\"Specifies a secondary title for ODS Graphics output.\",\"help\":\"ODSTITLE2=TITLE2 | 'string'\",\"type\":\"choice\",\"arguments\":[{\"name\":\"TITLE2\",\"description\":\"Uses the value of SAS TITLE2 statement as the secondary graph title.\",\"type\":\"standalone\"},{\"name\":\"'string'\",\"description\":\"A quoted string is used as the secondary title.\",\"type\":\"standalone\"}]},{\"name\":\"ODSTITLE=\",\"optional\":true,\"description\":\"Specifies a title for ODS Graphics output.\",\"help\":\"ODSTITLE=TITLE | TITLE1 | NONE | DEFAULT | LABELFMT | 'string'\",\"type\":\"choice\",\"arguments\":[{\"name\":\"TITLE\",\"description\":\"Uses the value of SAS TITLE statement as the graph title.\",\"type\":\"standalone\"},{\"name\":\"TITLE1\",\"description\":\"Uses the value of SAS TITLE statement as the graph title.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"Suppresses all titles from the graph.\",\"type\":\"standalone\"},{\"name\":\"DEFAULT\",\"description\":\"Uses the default ODS Graphics title (a descriptive title consisting of the plot type and the process variable name.)\",\"type\":\"standalone\"},{\"name\":\"LABELFMT\",\"description\":\"Uses the default ODS Graphics title with the variable label instead of the variable name.\",\"type\":\"standalone\"},{\"name\":\"'string'\",\"description\":\"A quoted string is used as the graph title.\",\"type\":\"standalone\"}]},{\"name\":\"OUTBOX=\",\"optional\":true,\"description\":\"Creates an output data set that contains subgroup summary statistics, control limits, and outlier values for a box chart.\",\"help\":\"OUTBOX=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"OUTFILL\",\"optional\":true,\"description\":\"Fills the areas outside the control limits that lie between the connected points and the control limits and are bounded by connecting lines.\",\"type\":\"standalone\"},{\"name\":\"OUTFILLOPACITY=\",\"optional\":true,\"description\":\"Specifies the control limit outfill opacity when transparency is used in ODS Graphics output. The value must be between 0 and 1, where 0 is completely transparent and 1 is completely opaque. The default control limit outfill opacity is 0.25.\",\"help\":\"OUTFILLOPACITY=*value*\",\"type\":\"value\"},{\"name\":\"OUTHIGHHTML=\",\"optional\":true,\"description\":\"Specifies a variable whose values are URLs to be associated with outlier points above the upper fence on a schematic box plot when graphics output is directed into HTML.\",\"help\":\"OUTHIGHHTML=*variable*\",\"type\":\"value\"},{\"name\":\"OUTHISTORY=\",\"optional\":true,\"description\":\"Creates an output data set that contains the subgroup summary statistics.\",\"help\":\"OUTHISTORY=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"OUTINDEX=\",\"optional\":true,\"description\":\"Specifies the value of the _INDEX_ variable in the OUTLIMITS= output data set.\",\"help\":\"OUTINDEX='*label*'\",\"type\":\"value\"},{\"name\":\"OUTLABEL2=\",\"optional\":true,\"description\":\"Labels each point that falls outside the control limits on an R or s chart with the VALUE plotted for that subgroup or with the value of a variable in the input data set.\",\"type\":\"value\"},{\"name\":\"OUTLABEL=\",\"optional\":true,\"description\":\"Labels each point that falls outside the control limits on the primary chart with the VALUE plotted for that subgroup or with the value of a variable in the input data set.\",\"type\":\"value\"},{\"name\":\"OUTLIMITS=\",\"optional\":true,\"description\":\"Creates an output data set that saves the control limits.\",\"help\":\"OUTLIMITS=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"OUTLOWHTML=\",\"optional\":true,\"description\":\"Specifies a variable whose values are URLs to be associated with outlier points below the lower fence on a schematic box plot when graphics output is directed into HTML.\",\"help\":\"OUTLOWHTML=*variable*\",\"type\":\"value\"},{\"name\":\"OUTPHASE=\",\"optional\":true,\"description\":\"Specifies the value of the _PHASE_ variable in the OUTHISTORY= data set.\",\"help\":\"OUTPHASE='*label*'\",\"type\":\"value\"},{\"name\":\"OUTTABLE=\",\"optional\":true,\"description\":\"Creates an output SAS data set that saves the information plotted on the chart, including the subgroup variable values and their corresponding summary statistics and control limits.\",\"help\":\"OUTTABLE=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"OVERLAY2=\",\"optional\":true,\"description\":\"Specifies variables to be overlaid on a secondary control chart.\",\"type\":\"value\"},{\"name\":\"OVERLAY2HTML=\",\"optional\":true,\"description\":\"Specifies variables whose values are URLs to be associated with points on secondary chart overlays.\",\"type\":\"value\"},{\"name\":\"OVERLAY2ID=\",\"optional\":true,\"description\":\"Specifies variables whose formatted values are used to label points on secondary chart overlays.\",\"type\":\"value\"},{\"name\":\"OVERLAY2SYM=\",\"optional\":true,\"description\":\"Specifies symbols used to plot overlays on a secondary control chart.\",\"type\":\"value\"},{\"name\":\"OVERLAY=\",\"optional\":true,\"description\":\"Specifies variables to be overlaid on the primary control chart.\",\"type\":\"value\"},{\"name\":\"OVERLAYCLIPSYM=\",\"optional\":true,\"description\":\"Specifies the symbol used to plot clipped values on overlay plots when the CLIPFACTOR= option is used.\",\"help\":\"OVERLAYCLIPSYM=*symbol*\",\"type\":\"value\"},{\"name\":\"OVERLAYCLIPSYMHT=\",\"optional\":true,\"description\":\"Specifies the height for the symbol used to plot clipped values on overlay plots when the CLIPFACTOR= option is used.\",\"help\":\"OVERLAYCLIPSYMHT=*value*\",\"type\":\"value\"},{\"name\":\"OVERLAYHTML=\",\"optional\":true,\"description\":\"Specifies variables whose values are URLs to be associated with points on primary chart overlays.\",\"type\":\"value\"},{\"name\":\"OVERLAYID=\",\"optional\":true,\"description\":\"Specifies variables whose formatted values are used to label points on primary chart overlays.\",\"type\":\"value\"},{\"name\":\"OVERLAYLEGLAB=\",\"optional\":true,\"description\":\"Specifies the label displayed to the left of the overlay legend produced by the OVERLAY= or OVERLAY2= option. The label can be up to 16 characters and must be enclosed in quotes. The default label is \\\"Overlays:\\\".\",\"help\":\"OVERLAYLEGLAB='*label*'\",\"type\":\"value\"},{\"name\":\"OVERLAYSYM=\",\"optional\":true,\"description\":\"Specifies symbols used to plot overlays on the primary control chart.\",\"type\":\"value\"},{\"name\":\"OVERLAYSYMHT=\",\"optional\":true,\"description\":\"Specifies the heights of symbols used to plot overlays on the primary control chart.\",\"type\":\"value\"},{\"name\":\"P0=\",\"optional\":true,\"description\":\"Specifies a known (standard) value po for the proportion of nonconforming items produced by the process.\",\"help\":\"P0=*value*\",\"type\":\"value\"},{\"name\":\"PAGENUM=\",\"optional\":true,\"description\":\"Specifies the form of the label used for pagination. The string can be up to 16 characters, and it must include one or two occurrences of the substitution character '#'. The first '#' is replaced with the page number, and the optional second '#' is replaced with the total number of pages.\",\"help\":\"PAGENUM='*string*'\",\"type\":\"value\"},{\"name\":\"PAGENUMPOS=\",\"optional\":true,\"description\":\"Specifies where to position the page number requested with the PAGENUM= option.\",\"help\":\"PAGENUMPOS=TL | TR | BL | BR | TL100 | TR100 | BL0 | BR0\",\"type\":\"choice\",\"arguments\":[{\"name\":\"TL\",\"description\":\"Top left\",\"type\":\"standalone\"},{\"name\":\"TR\",\"description\":\"Top right\",\"type\":\"standalone\"},{\"name\":\"BL\",\"description\":\"Bottom left\",\"type\":\"standalone\"},{\"name\":\"BR\",\"description\":\"Bottom right\",\"type\":\"standalone\"},{\"name\":\"TL100\",\"description\":\"Top left. TL100 ensures that the page number appears at the very top of a page when a title is displayed.\",\"type\":\"standalone\"},{\"name\":\"TR100\",\"description\":\"Top right. TR100 ensures that the page number appears at the very top of a page when a title is displayed.\",\"type\":\"standalone\"},{\"name\":\"BL0\",\"description\":\"Bottom left. BL0 ensures that the page number appears at the very bottom of a page when footnotes are displayed.\",\"type\":\"standalone\"},{\"name\":\"BR0\",\"description\":\"Bottom right. BR0 ensures that the page number appears at the very bottom of a page when footnotes are displayed.\",\"type\":\"standalone\"}]},{\"name\":\"PCTLDEF=\",\"optional\":true,\"description\":\"Specifies one of five definitions used to calculate percentiles in the construction of box-and-whiskers plots requested with the BOXCHART statement.\",\"help\":\"PCTLDEF=1 | 2 | 3 | 4 | 5\",\"type\":\"choice\",\"arguments\":[{\"name\":\"1\",\"description\":\"Definition 1 for computing quantile statistics\",\"type\":\"standalone\"},{\"name\":\"2\",\"description\":\"Definition 2 for computing quantile statistics\",\"type\":\"standalone\"},{\"name\":\"3\",\"description\":\"Definition 3 for computing quantile statistics\",\"type\":\"standalone\"},{\"name\":\"4\",\"description\":\"Definition 4 for computing quantile statistics\",\"type\":\"standalone\"},{\"name\":\"5\",\"description\":\"Definition 5 for computing quantile statistics\",\"type\":\"standalone\"}]},{\"name\":\"PHASEBOXLABELS\",\"optional\":true,\"description\":\"Draws phase labels as titles along the top of phase boxes.\",\"type\":\"standalone\"},{\"name\":\"PHASEBREAK\",\"optional\":true,\"description\":\"Specifies that the last point in a phase (defined as a block of consecutive subgroups with the same value of the _PHASE_ variable) is not to be connected to the first point in the next phase.\",\"type\":\"standalone\"},{\"name\":\"PHASELABTYPE=\",\"optional\":true,\"description\":\"Specifies how lengthy _PHASE_ variable values are to be displayed when there is insufficient space in the legend requested with the PHASELEGEND option.\",\"help\":\"PHASELABTYPE=SCALED | TRUNCATED\",\"type\":\"choice\",\"arguments\":[{\"name\":\"SCALED\",\"description\":\"The values are uniformly reduced in height so that they fit.\",\"type\":\"standalone\"},{\"name\":\"TRUNCATED\",\"description\":\"Lengthy values are truncated on the right until they fit.\",\"type\":\"standalone\"}]},{\"name\":\"PHASELEGEND\",\"optional\":true,\"aliases\":[\"PHASELEG\"],\"description\":\"Identifies the phases requested with the READPHASES= option in a legend across the top of the chart.\",\"type\":\"standalone\"},{\"name\":\"PHASELIMITS\",\"optional\":true,\"description\":\"Specifies that the control limits and center line are to be labeled for each phase specified with the READPHASES= option, providing the limits are constant within that phase.\",\"type\":\"standalone\"},{\"name\":\"PHASEMEANSYMBOL=\",\"optional\":true,\"description\":\"Specifies a symbol marker for the average of the values plotted within a phase.\",\"help\":\"PHASEMEANSYMBOL=*symbol*\",\"type\":\"value\"},{\"name\":\"PHASEPOS=\",\"optional\":true,\"description\":\"Specifies the vertical position of the phase legend.\",\"help\":\"PHASEPOS=1 | 2 | 3 | 4\",\"type\":\"choice\",\"arguments\":[{\"name\":\"1\",\"description\":\"Top of chart, offset from axis frame\",\"type\":\"standalone\"},{\"name\":\"2\",\"description\":\"Top of chart, immediately above axis frame\",\"type\":\"standalone\"},{\"name\":\"3\",\"description\":\"Bottom of chart, immediately above horizontal axis\",\"type\":\"standalone\"},{\"name\":\"4\",\"description\":\"Bottom of chart, below horizontal axis label\",\"type\":\"standalone\"}]},{\"name\":\"PHASEREF\",\"optional\":true,\"description\":\"Delineates the phases specified with the READPHASES= option with reference lines drawn vertically.\",\"type\":\"standalone\"},{\"name\":\"PHASEREFLEVEL=\",\"optional\":true,\"description\":\"Enables you to associate phase reference lines (block reference lines) with either the innermost or the outermost level.\",\"help\":\"PHASEREFLEVEL=INNER | OUTER | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"INNER\",\"description\":\"Associates phase reference lines (block reference lines) with the innermost level.\",\"type\":\"standalone\"},{\"name\":\"OUTER\",\"description\":\"Associates phase reference lines (block reference lines) with the outermost level.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"No association of phase reference lines (block reference lines) with the innermost or outermost level.\",\"type\":\"standalone\"}]},{\"name\":\"PHASEVALSEP\",\"optional\":true,\"description\":\"Displays vertical lines separating phase values in the phase legend.\",\"type\":\"standalone\"},{\"name\":\"PHASEVARLABEL\",\"optional\":true,\"description\":\"Displays the label associated with the variable _PHASE_ above the phase values in the phase legend.\",\"type\":\"standalone\"},{\"name\":\"POINTSHTML=\",\"optional\":true,\"description\":\"Specifies a variable whose values are URLs to be associated with points on a box chart when the BOXSTYLE= value is POINTS, POINTSJOIN, POINTSBOX, POINTSID, or POINTSJOINID.\",\"help\":\"POINTSHTML=*variable*\",\"type\":\"value\"},{\"name\":\"PSYMBOL=\",\"optional\":true,\"description\":\"Specifies a label for the central line in a P chart.\",\"help\":\"PSYMBOL=P | PBAR | PPM | PPM2 | P0 | '*label*'\",\"type\":\"choice\",\"arguments\":[{\"name\":\"P\",\"description\":\"P\",\"type\":\"standalone\"},{\"name\":\"PBAR\",\"description\":\"PBAR\",\"type\":\"standalone\"},{\"name\":\"PPM\",\"description\":\"P'\",\"type\":\"standalone\"},{\"name\":\"PPM2\",\"description\":\"P''\",\"type\":\"standalone\"},{\"name\":\"P0\",\"description\":\"Po\",\"type\":\"standalone\"},{\"name\":\"'label'\",\"placeholder\":true,\"description\":\"Specifies a quoted label up to 16 characters.\",\"type\":\"value\"}]},{\"name\":\"RANGES\",\"optional\":true,\"description\":\"Estimates the process standard deviation for a boxplot using subgroup ranges.\",\"type\":\"standalone\"},{\"name\":\"READALPHA\",\"optional\":true,\"description\":\"Specifies that the variable _ALPHA_, rather than the variable _SIGMAS_, is to be read from a LIMITS= data set when both variables are available in the data set.\",\"type\":\"standalone\"},{\"name\":\"READINDEX=\",\"optional\":true,\"aliases\":[\"READINDEXES=\",\"READINDICES=\"],\"description\":\"Reads one or more sets of control limits from a LIMITS= data set (specified in the PROC SHEWHART statement) for each process listed in the chart statement.\",\"type\":\"value\"},{\"name\":\"READLIMITS\",\"optional\":true,\"description\":\"Specifies that the control limits are to be read from a LIMITS= data set specified in the PROC SHEWHART statement.\",\"type\":\"standalone\"},{\"name\":\"READPHASES=\",\"optional\":true,\"aliases\":[\"READPHASE=\"],\"description\":\"Selects blocks of consecutive observations to be read from the input data set.\",\"type\":\"value\"},{\"name\":\"REPEAT\",\"optional\":true,\"aliases\":[\"REP\"],\"description\":\"Specifies that the horizontal axis of a chart that spans multiple panels be arranged so that the last subgroup position on a panel is repeated as the first subgroup position on the next panel.\",\"type\":\"standalone\"},{\"name\":\"RSYMBOL=\",\"optional\":true,\"description\":\"Specifies a label for the central line in an R chart.\",\"help\":\"RSYMBOL=R | RBAR | RPM | R0 | '*label*'\",\"type\":\"choice\",\"arguments\":[{\"name\":\"R\",\"description\":\"R\",\"type\":\"standalone\"},{\"name\":\"RBAR\",\"description\":\"RBAR\",\"type\":\"standalone\"},{\"name\":\"RPM\",\"description\":\"R'\",\"type\":\"standalone\"},{\"name\":\"R0\",\"description\":\"Ro\",\"type\":\"standalone\"},{\"name\":\"'label'\",\"placeholder\":true,\"description\":\"Specifies a quoted label up to 16 characters.\",\"type\":\"value\"}]},{\"name\":\"RTMARGIN=\",\"optional\":true,\"description\":\"Specifies the width of the right marginal area for the plot requested with the RTMPLOT= option.\",\"help\":\"RTMARGIN=*value*\",\"type\":\"value\"},{\"name\":\"RTMPLOT=\",\"optional\":true,\"description\":\"Requests a univariate plot of the control chart statistics that is positioned in the right margin of the control chart.\",\"help\":\"RTMPLOT=DIGIDOT | HISTOGRAM | SKELETAL | SCHEMATIC | SCHEMATICID | SCHEMATICIDFAR\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DIGIDOT\",\"description\":\"Digidot plot\",\"type\":\"standalone\"},{\"name\":\"HISTOGRAM\",\"description\":\"Histogram\",\"type\":\"standalone\"},{\"name\":\"SKELETAL\",\"description\":\"Skeletal box-and-whisker plot\",\"type\":\"standalone\"},{\"name\":\"SCHEMATIC\",\"description\":\"Schematic box-and-whisker plot\",\"type\":\"standalone\"},{\"name\":\"SCHEMATICID\",\"description\":\"Schematic box-and-whisker plot with outliers labeled\",\"type\":\"standalone\"},{\"name\":\"SCHEMATICIDFAR\",\"description\":\"Schematic box-and-whisker plot with far outliers labeled\",\"type\":\"standalone\"}]},{\"name\":\"SEPARATE\",\"optional\":true,\"description\":\"Displays primary and secondary charts on separate screens or pages.\",\"type\":\"standalone\"},{\"name\":\"SERIFS\",\"optional\":true,\"description\":\"Adds serifs to the whiskers of skeletal box-and-whisker charts.\",\"type\":\"standalone\"},{\"name\":\"SIGMA0=\",\"optional\":true,\"description\":\"Specifies a known (standard) value, σ0, for the process standard deviation, σ.\",\"help\":\"SIGMA0=*value*\",\"type\":\"value\"},{\"name\":\"SIGMAS=\",\"optional\":true,\"description\":\"Specifies the width of the control limits in terms of the multiple k of the standard error of the subgroup summary statistic plotted on the chart. The value of k must be positive. By default, k=3.\",\"help\":\"SIGMAS=*k*\",\"type\":\"value\"},{\"name\":\"SIMULATEQCFONT\",\"optional\":true,\"description\":\"Draws the central line labels using a simulated software font rather than a hardware font.\",\"type\":\"standalone\"},{\"name\":\"SKIPHLABELS=\",\"optional\":true,\"aliases\":[\"SKIPLABEL=\"],\"description\":\"Specifies the number n of consecutive tick mark labels, beginning with the second tick mark label, that are thinned (not displayed) on the horizontal (subgroup) axis.\",\"help\":\"SKIPHLABELS=*n*\",\"type\":\"value\"},{\"name\":\"SMETHOD=\",\"optional\":true,\"description\":\"Specifies a method for estimating the process standard deviation, σ.\",\"help\":\"SMETHOD=NOWEIGHT | MVLUE | RMSDF | MAD | MMR | MVGRANGE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NOWEIGHT\",\"description\":\"Estimates σ as an unweighted average of unbiased subgroup estimates of σ.\",\"type\":\"standalone\"},{\"name\":\"MVLUE\",\"description\":\"Calculates a minimum variance linear unbiased estimate for σ\",\"type\":\"standalone\"},{\"name\":\"RMSDF\",\"description\":\"Calculates a root-mean square estimate for σ\",\"type\":\"standalone\"},{\"name\":\"MAD\",\"description\":\"Calculates a median absolute deviation estimate for σ (IRCHART only)\",\"type\":\"standalone\"},{\"name\":\"MMR\",\"description\":\"Calculates a median moving range estimate for σ (IRCHART only)\",\"type\":\"standalone\"},{\"name\":\"MVGRANGE\",\"description\":\"Estimates σ based on a moving range of subgroup means (XRCHART and XSCHART only)\",\"type\":\"standalone\"}]},{\"name\":\"SPLIT=\",\"optional\":true,\"description\":\"Specifies a special character that is inserted into the label of a process variable or summary statistic variable and whose purpose is to split the label into two parts.\",\"help\":\"SPLIT='*character*'\",\"type\":\"value\"},{\"name\":\"SSYMBOL=\",\"optional\":true,\"description\":\"Specifies a label for the central line in an S chart.\",\"help\":\"SSYMBOL=S | SBAR | SPM | S0 | '*label*'\",\"type\":\"choice\",\"arguments\":[{\"name\":\"S\",\"description\":\"S\",\"type\":\"standalone\"},{\"name\":\"SBAR\",\"description\":\"SBAR\",\"type\":\"standalone\"},{\"name\":\"SPM\",\"description\":\"S'\",\"type\":\"standalone\"},{\"name\":\"S0\",\"description\":\"So\",\"type\":\"standalone\"},{\"name\":\"'label'\",\"placeholder\":true,\"description\":\"Specifies a quoted label up to 16 characters.\",\"type\":\"value\"}]},{\"name\":\"STARBDRADIUS=\",\"optional\":true,\"description\":\"Specifies the radius of an imaginary circle that is the outer bound for vertices of stars requested with the STARVERTICES= option.\",\"help\":\"STARBDRADIUS=*value*\",\"type\":\"value\"},{\"name\":\"STARCIRCLES=\",\"optional\":true,\"description\":\"Specifies reference circles that are superimposed on the stars requested with the STARVERTICES= option.\",\"help\":\"STARCIRCLES=*values*\",\"type\":\"value\"},{\"name\":\"STARFILL=\",\"optional\":true,\"description\":\"Specifies colors for filling the interior of stars requested with the STARVERTICES= option.\",\"help\":\"STARFILL=*variable*\",\"type\":\"value\"},{\"name\":\"STARINRADIUS=\",\"optional\":true,\"description\":\"Specifies the inner radius of stars requested with the STARVERTICES= option. For traditional graphics, the radius is specified in horizontal percent screen units. For ODS Graphics output, the radius is specified in pixels.\",\"help\":\"STARINRADIUS=*value*\",\"type\":\"value\"},{\"name\":\"STARLABEL=\",\"optional\":true,\"description\":\"Specifies a method for labeling the vertices of stars requested with the STARVERTICES= option.\",\"help\":\"STARLABEL=ALL | FIRST | HIGH | LOW | OUT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ALL\",\"description\":\"Labels all vertices of all stars.\",\"type\":\"standalone\"},{\"name\":\"FIRST\",\"description\":\"Labels all vertices of the leftmost star.\",\"type\":\"standalone\"},{\"name\":\"HIGH\",\"description\":\"Labels only vertices that lie outside the outer circle.\",\"type\":\"standalone\"},{\"name\":\"LOW\",\"description\":\"Labels only vertices that lie inside the inner circle.\",\"type\":\"standalone\"},{\"name\":\"OUT\",\"description\":\"Labels only vertices that lie inside the inner circle or outside the outer circle.\",\"type\":\"standalone\"}]},{\"name\":\"STARLEGEND=\",\"optional\":true,\"description\":\"Specifies the style of the legend used to identify the vertices of stars requested with the STARVERTICES= option.\",\"help\":\"STARLEGEND=CLOCK | CLOCK0 | DEGREES | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"CLOCK\",\"description\":\"Identifies the vertex variables by their positions on the clock (starting with 12:00)\",\"type\":\"standalone\"},{\"name\":\"CLOCK0\",\"description\":\"Identifies the vertex variables by their positions on the clock (starting with 0:00)\",\"type\":\"standalone\"},{\"name\":\"DEGREES\",\"description\":\"Identifies the vertex variables by angles in degrees, with 0 degrees corresponding to 12 o'clock\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"Suppresses the legend.\",\"type\":\"standalone\"}]},{\"name\":\"STARLEGENDLAB=\",\"optional\":true,\"description\":\"Specifies the label displayed to the left of the legend for stars requested with the STARLEGEND= option. The label can be up to 16 characters and must be enclosed in quotes.\",\"help\":\"STARLEGENDLAB='*label*'\",\"type\":\"value\"},{\"name\":\"STAROPACITY=\",\"optional\":true,\"description\":\"Specifies the star fill opacity when transparency is used in ODS Graphics output. The value must be between 0 and 1, where 0 is completely transparent and 1 is completely opaque. The default star fill opacity is 0.75.\",\"help\":\"STAROPACITY=*value*\",\"type\":\"value\"},{\"name\":\"STAROUTRADIUS=\",\"optional\":true,\"description\":\"Specifies the outer radius of stars requested with the STARVERTICES= option.\",\"help\":\"STAROUTRADIUS=*value*\",\"type\":\"value\"},{\"name\":\"STARS=\",\"optional\":true,\"description\":\"Specifies colors for the outlines of stars requested with the STARVERTICES= option.\",\"help\":\"STARS=*variable*\",\"type\":\"value\"},{\"name\":\"STARSPECS=\",\"optional\":true,\"aliases\":[\"STARSPEC=\"],\"description\":\"Specifies the method used to standardize the star vertex variables listed with the STARVERTICES= option.\",\"type\":\"value\"},{\"name\":\"STARSTART=\",\"optional\":true,\"description\":\"Specifies the vertex angle for the first variable in the STARVERTICES= list.\",\"help\":\"STARSTART=*value*\",\"type\":\"value\"},{\"name\":\"STARTYPE=\",\"optional\":true,\"description\":\"Specifies the style of the stars requested with the STARVERTICES= option.\",\"help\":\"STARTYPE=CORONA | POLYGON | RADIAL | SPOKE | WEDGE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"CORONA\",\"description\":\"Polygon with star-vertices emanating from the inner circle\",\"type\":\"standalone\"},{\"name\":\"POLYGON\",\"description\":\"Closed polygon\",\"type\":\"standalone\"},{\"name\":\"RADIAL\",\"description\":\"Rays emanating from the center\",\"type\":\"standalone\"},{\"name\":\"SPOKE\",\"description\":\"Rays emanating from the inner circle\",\"type\":\"standalone\"},{\"name\":\"WEDGE\",\"description\":\"Closed polygon with rays from the center to each vertex\",\"type\":\"standalone\"}]},{\"name\":\"STARVERTICES=\",\"optional\":true,\"description\":\"Superimposes a star (polygon) at each point on the primary chart.\",\"type\":\"value\"},{\"name\":\"STDDEVIATIONS\",\"optional\":true,\"aliases\":[\"STDDEVS\"],\"description\":\"Specifies that the estimate of the process standard deviation, σ, is to be calculated from subgroup standard deviations.\",\"type\":\"standalone\"},{\"name\":\"SUBGROUPN=\",\"optional\":true,\"description\":\"Specifies the subgroup sample sizes as a constant value or as the values of a variable in the DATA= data set.\",\"help\":\"SUBGROUPN=*value*\",\"type\":\"value\"},{\"name\":\"SYMBOLCHARS=\",\"optional\":true,\"description\":\"Specifies a list of characters used to mark the points plotted on line printer charts when a symbol-variable is used.\",\"help\":\"SYMBOLCHARS='*character-list*'\",\"type\":\"value\"},{\"name\":\"SYMBOLLEGEND=\",\"optional\":true,\"description\":\"Controls the legend for the levels of a symbol-variable.\",\"help\":\"SYMBOLLEGEND=LEGENDn | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"LEGENDn\",\"description\":\"You can specify SYMBOLLEGEND=LEGENDn, where n is the number of a LEGEND statement defined previously.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"Suppresses the default legend.\",\"type\":\"standalone\"}]},{\"name\":\"SYMBOLORDER=\",\"optional\":true,\"aliases\":[\"SYMORD=\"],\"description\":\"Specifies the order in which symbols are assigned for levels of the symbol-variable.\",\"help\":\"SYMBOLORDER=DATA | INTERNAL | FORMATTED\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DATA\",\"description\":\"Assigns symbols to values in the order in which values appear in the input data set.\",\"type\":\"standalone\"},{\"name\":\"INTERNAL\",\"description\":\"Assigns symbols based on sorted order of internal values of the symbol variable\",\"type\":\"standalone\"},{\"name\":\"FORMATTED\",\"description\":\"Assigns them based on sorted formatted values.\",\"type\":\"standalone\"}]},{\"name\":\"TABLEALL\",\"optional\":true,\"description\":\"Tabulates the information about the control chart and is equivalent to specifying all of the following options: TABLES, TABLECENTRAL, TABLEID, TABLELEGEND, TABLEOUT, and TABLETESTS. The keyword EXCEPTIONS restricts the tabulation to those subgroups for which the control limits are exceeded or a test for special causes is positive.\",\"help\":\"TABLEALL&lt;(EXCEPTIONS)&gt;\",\"type\":\"standaloneOrValue\",\"arguments\":[{\"name\":\"(EXCEPTIONS)\",\"description\":\"Restricts the tabulation to those subgroups for which the control limits are exceeded or a test for special causes is positive.\",\"type\":\"standalone\"}]},{\"name\":\"TABLEBOX\",\"optional\":true,\"description\":\"Augments the basic table created by the TABLES option with columns for the minimum, 25th percentile, median, 75th percentile, and maximum of the observations in a subgroup. The keyword EXCEPTIONS restricts the tabulation to those subgroups for which the control limits are exceeded or a test for special causes is positive.\",\"help\":\"TABLEBOX&lt;(EXCEPTIONS)&gt;\",\"type\":\"standaloneOrValue\",\"arguments\":[{\"name\":\"(EXCEPTIONS)\",\"description\":\"Restricts the tabulation to those subgroups for which the control limits are exceeded or a test for special causes is positive.\",\"type\":\"standalone\"}]},{\"name\":\"TABLECENTRAL\",\"optional\":true,\"aliases\":[\"TABLEC\"],\"description\":\"Augments the basic table created by the TABLES option with columns for the values of the central lines. The keyword EXCEPTIONS restricts the tabulation to those subgroups for which the control limits are exceeded or a test for special causes is positive.\",\"help\":\"TABLECENTRAL&lt;(EXCEPTIONS)&gt;\",\"type\":\"standaloneOrValue\",\"arguments\":[{\"name\":\"(EXCEPTIONS)\",\"description\":\"Restricts the tabulation to those subgroups for which the control limits are exceeded or a test for special causes is positive.\",\"type\":\"standalone\"}]},{\"name\":\"TABLEID\",\"optional\":true,\"description\":\"Augments the basic table created by the TABLES option with a column for each of the ID variables. The keyword EXCEPTIONS restricts the tabulation to those subgroups for which the control limits are exceeded or a test for special causes is positive.\",\"help\":\"TABLEID&lt;(EXCEPTIONS)&gt;\",\"type\":\"standaloneOrValue\",\"arguments\":[{\"name\":\"(EXCEPTIONS)\",\"description\":\"Restricts the tabulation to those subgroups for which the control limits are exceeded or a test for special causes is positive.\",\"type\":\"standalone\"}]},{\"name\":\"TABLELEGEND\",\"optional\":true,\"aliases\":[\"TABLELEG\"],\"description\":\"Adds a legend to the basic table created by the TABLES option. The keyword EXCEPTIONS restricts the tabulation to those subgroups for which the control limits are exceeded or a test for special causes is positive.\",\"help\":\"TABLELEGEND&lt;(EXCEPTIONS)&gt;\",\"type\":\"standaloneOrValue\",\"arguments\":[{\"name\":\"(EXCEPTIONS)\",\"description\":\"Adds a legend to the basic table created by the TABLES option. The keyword EXCEPTIONS restricts the tabulation to those subgroups for which the control limits are exceeded or a test for special causes is positive.\",\"type\":\"standalone\"}]},{\"name\":\"TABLEOUTLIM\",\"optional\":true,\"aliases\":[\"TABLEOUT\"],\"description\":\"Augments the basic table created by the TABLES option with columns indicating which control limits (if any) are exceeded. The keyword EXCEPTIONS restricts the tabulation to those subgroups for which the control limits are exceeded or a test for special causes is positive.\",\"help\":\"TABLEOUTLIM&lt;(EXCEPTIONS)&gt;\",\"type\":\"standaloneOrValue\",\"arguments\":[{\"name\":\"(EXCEPTIONS)\",\"description\":\"Restricts the tabulation to those subgroups for which the control limits are exceeded or a test for special causes is positive.\",\"type\":\"standalone\"}]},{\"name\":\"TABLES\",\"optional\":true,\"aliases\":[\"TABLE\"],\"description\":\"Creates a basic table of the subgroup values, the subgroup sample sizes, the subgroup summary statistics, and the upper and lower control limits. Rows of the table correspond to subgroups. The keyword EXCEPTIONS restricts the tabulation to those subgroups for which the control limits are exceeded or a test for special causes is positive.\",\"help\":\"TABLES&lt;(EXCEPTIONS)&gt;\",\"type\":\"standaloneOrValue\",\"arguments\":[{\"name\":\"(EXCEPTIONS)\",\"description\":\"Restricts the tabulation to those subgroups for which the control limits are exceeded or a test for special causes is positive.\",\"type\":\"standalone\"}]},{\"name\":\"TABLETESTS\",\"optional\":true,\"description\":\"Augments the basic table created by the TABLES option with a column that indicates which of the tests for special causes (requested with the TESTS= option) are positive. The keyword EXCEPTIONS restricts the tabulation to those subgroups for which the control limits are exceeded or a test for special causes is positive.\",\"help\":\"TABLETESTS&lt;(EXCEPTIONS)&gt;\",\"type\":\"standaloneOrValue\",\"arguments\":[{\"name\":\"(EXCEPTIONS)\",\"description\":\"Restricts the tabulation to those subgroups for which the control limits are exceeded or a test for special causes is positive.\",\"type\":\"standalone\"}]},{\"name\":\"TARGET=\",\"optional\":true,\"description\":\"Provides target values used to compute the capability index Cpm, which is saved in the OUTLIMITS= data set.\",\"help\":\"TARGET=*value-list*\",\"type\":\"value\"},{\"name\":\"TEST2RESET=\",\"optional\":true,\"description\":\"Enables tests for special causes to be reset in a secondary chart. The specified variable must be a character variable of length 8, or length 16 if customized tests are requested.\",\"help\":\"TEST2RESET=*variable*\",\"type\":\"value\"},{\"name\":\"TEST2RUN=\",\"optional\":true,\"description\":\"Specifies the length of the pattern for Test 2 requested with the TESTS= and TESTS2= options.\",\"help\":\"TEST2RUN=7 | 8 | 9 | 11 | 14 | 20\",\"type\":\"choice\",\"arguments\":[{\"name\":\"7\",\"description\":\"7 in a row\",\"type\":\"standalone\"},{\"name\":\"8\",\"description\":\"8 in a row\",\"type\":\"standalone\"},{\"name\":\"9\",\"description\":\"9 in a row\",\"type\":\"standalone\"},{\"name\":\"11\",\"description\":\"At least 10 out of 11 in a row\",\"type\":\"standalone\"},{\"name\":\"14\",\"description\":\"At least 12 out of 14 in a row\",\"type\":\"standalone\"},{\"name\":\"20\",\"description\":\"At least 16 out of 20 in a row\",\"type\":\"standalone\"}]},{\"name\":\"TEST3RUN=\",\"optional\":true,\"description\":\"Specifies the length of the pattern for Test 3 requested with the TESTS= and TESTS2= options.\",\"help\":\"TEST3RUN=6 | 7 | 8\",\"type\":\"choice\",\"arguments\":[{\"name\":\"6\",\"description\":\"Length of the pattern is at least 6.\",\"type\":\"standalone\"},{\"name\":\"7\",\"description\":\"Length of the pattern is at least 7.\",\"type\":\"standalone\"},{\"name\":\"8\",\"description\":\"Length of the pattern is at least 8.\",\"type\":\"standalone\"}]},{\"name\":\"TESTACROSS\",\"optional\":true,\"description\":\"Specifies that tests for special causes requested with the TESTS= or TESTS2= options be applied without regard to phases (blocks of consecutive subgroups) determined by the READPHASES= option and the variable _PHASE_ in the input data set.\",\"type\":\"standalone\"},{\"name\":\"TESTCHAR=\",\"optional\":true,\"description\":\"Specifies the character for the line segments that connect any sequence of points for which a test for special causes (requested with the TESTS= or TESTS2= option) is positive. The default character is the number of the test (with values 1 to 8).\",\"help\":\"TESTCHAR='*character*'\",\"type\":\"value\"},{\"name\":\"TESTLABBOX\",\"optional\":true,\"description\":\"Requests that labels for subgroups with positive tests for special causes are positioned so they do not overlap. The labels are enclosed in boxes that are connected to the associated subgroup points with line segments.\",\"type\":\"standalone\"},{\"name\":\"TESTLABEL=\",\"optional\":true,\"description\":\"Provides labels for points at which one of the tests for special causes (requested with the TESTS= or TESTS2= option) is positive.\",\"help\":\"TESTLABEL=TESTINDEX | SPACE | NONE | '*label*' | (*variable*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"TESTINDEX\",\"description\":\"Labels points with the single-digit index that requested the test in a TESTS= or TESTS2= list.\",\"type\":\"standalone\"},{\"name\":\"SPACE\",\"description\":\"Request a label of the form Test k.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"Suppresses labeling.\",\"type\":\"standalone\"},{\"name\":\"‘label'\",\"placeholder\":true,\"description\":\"A label of up to 16 characters enclosed in quotes.\",\"type\":\"value\"},{\"name\":\"(variable)\",\"placeholder\":true,\"description\":\"A variable (enclosed in parentheses) whose values are used as labels. The variable must be provided in the input data set, and it can be numeric or character.\",\"type\":\"value\"}]},{\"name\":\"TESTNMETHOD=\",\"optional\":true,\"description\":\"Applies the tests for special causes requested with the TESTS= and TESTS2= options to standardize test statistics when the subgroup sample sizes are not constant.\",\"help\":\"TESTNMETHOD=STANDARDIZE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"STANDARDIZE\",\"description\":\"Applies the tests for special causes requested with the TESTS= and TESTS2= options to standardize test statistics when the subgroup sample sizes are not constant.\",\"type\":\"standalone\"}]},{\"name\":\"TESTOVERLAP\",\"optional\":true,\"description\":\"Applies tests for special causes (requested with the TESTS= or TESTS2= option) to overlapping patterns of points.\",\"type\":\"standalone\"},{\"name\":\"TESTRESET=\",\"optional\":true,\"description\":\"Enables tests for special causes to be reset in a primary chart. The specified variable must be a character variable of length 8, or length 16 if customized tests are requested.\",\"help\":\"TESTRESET=*variable*\",\"type\":\"value\"},{\"name\":\"TESTS2=\",\"optional\":true,\"description\":\"Requests one or more tests for special causes for an R chart or s chart.\",\"help\":\"TESTS2=*index-list*\",\"type\":\"value\"},{\"name\":\"TESTS=\",\"optional\":true,\"description\":\"Requests one or more tests for special causes, which are also known as runs tests, pattern tests, and Western Electric rules.\",\"help\":\"TESTS=*index-list*\",\"type\":\"value\"},{\"name\":\"TESTSYMBOL=\",\"optional\":true,\"aliases\":[\"TESTSYM=\"],\"description\":\"Specifies the symbol for plotting subgroups with positive tests for special causes.\",\"help\":\"TESTSYMBOL=*symbol*\",\"type\":\"value\"},{\"name\":\"TESTSYMBOLHT=\",\"optional\":true,\"aliases\":[\"TESTSYMHT=\"],\"description\":\"Specifies the height of the symbol used to plot subgroups with positive tests for special causes.\",\"help\":\"TESTSYMBOLHT=*value*\",\"type\":\"value\"},{\"name\":\"TOTPANELS=\",\"optional\":true,\"description\":\"Specifies the total number of panels to be used to display the chart. This option overrides the NPANEL= option.\",\"help\":\"TOTPANELS=*n*\",\"type\":\"value\"},{\"name\":\"TRENDVAR=\",\"optional\":true,\"description\":\"Specifies a list of trend variables, one for each process listed in the chart statement.\",\"type\":\"value\"},{\"name\":\"TURNALL\",\"optional\":true,\"aliases\":[\"TURNOUT\"],\"description\":\"Turns the labels produced by the ALLLABEL=, ALLLABEL2=, OUTLABEL= and OUTLABEL2= options so that they are strung out vertically.\",\"type\":\"standalone\"},{\"name\":\"TURNHLABELS\",\"optional\":true,\"aliases\":[\"TURNHLABEL\"],\"description\":\"Turns the major tick mark labels for the horizontal (group) axis so that they are strung out vertically. By default, labels are arranged horizontally.\",\"type\":\"standalone\"},{\"name\":\"TYPE=\",\"optional\":true,\"description\":\"Specifies the value of the _TYPE_ variable in the OUTLIMITS= data set, which in turn indicates whether certain parameter variables in this data set represent estimates or standard (known) values.\",\"help\":\"TYPE=ESTIMATE | STDMU | STDSIGMA | STANDARD\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ESTIMATE\",\"description\":\"_MEAN_=estimate, _STDDEV_=estimate\",\"type\":\"standalone\"},{\"name\":\"STDMU\",\"description\":\"_MEAN_=standard, _STDDEV_=estimate\",\"type\":\"standalone\"},{\"name\":\"STDSIGMA\",\"description\":\"_MEAN_=estimate, _STDDEV_=standard\",\"type\":\"standalone\"},{\"name\":\"STANDARD\",\"description\":\"_MEAN_=standard, _STDDEV_=standard\",\"type\":\"standalone\"}]},{\"name\":\"U0=\",\"optional\":true,\"description\":\"Specifies a known (standard) value u0 for the average number u of nonconformities per unit produced by the process.\",\"help\":\"U0=*value*\",\"type\":\"value\"},{\"name\":\"UCLLABEL2=\",\"optional\":true,\"description\":\"Specifies a label for the upper control limit in the secondary chart. The label can be up to 16 characters. Enclose the label in quotes.\",\"help\":\"UCLLABEL2='*label*'\",\"type\":\"value\"},{\"name\":\"UCLLABEL=\",\"optional\":true,\"description\":\"Specifies a label for the upper control limit in the primary chart. The label can be up to 16 characters. Enclose the label in quotes.\",\"help\":\"UCLLABEL='*label*'\",\"type\":\"value\"},{\"name\":\"USL=\",\"optional\":true,\"description\":\"Provides upper specification limits used to compute capability indices.\",\"help\":\"USL=*value-list*\",\"type\":\"value\"},{\"name\":\"USYMBOL=\",\"optional\":true,\"description\":\"Specifies a label for the central line in a U chart.\",\"help\":\"USYMBOL=U | UBAR | UPM | UPM2 | U0 | '*label*'\",\"type\":\"choice\",\"arguments\":[{\"name\":\"U\",\"description\":\"U\",\"type\":\"standalone\"},{\"name\":\"UBAR\",\"description\":\"UBAR\",\"type\":\"standalone\"},{\"name\":\"UPM\",\"description\":\"U'\",\"type\":\"standalone\"},{\"name\":\"UPM2\",\"description\":\"U''\",\"type\":\"standalone\"},{\"name\":\"U0\",\"description\":\"Uo\",\"type\":\"standalone\"},{\"name\":\"'label'\",\"placeholder\":true,\"description\":\"Specifies a quoted label up to 16 characters.\",\"type\":\"value\"}]},{\"name\":\"VAXIS2=\",\"optional\":true,\"description\":\"Specifies major tick mark values for the vertical axis of a secondary chart. The values must be listed in increasing order, must be evenly spaced, and must span the range of values displayed in the chart.\",\"type\":\"value\"},{\"name\":\"VAXIS=\",\"optional\":true,\"description\":\"Specifies major tick mark values for the vertical axis of a primary chart. The values must be listed in increasing order, must be evenly spaced, and must span the range of values displayed in the chart.\",\"type\":\"value\"},{\"name\":\"VFORMAT2=\",\"optional\":true,\"description\":\"Specifies a format to be used for displaying tick mark labels on the vertical axis of a secondary chart.\",\"help\":\"VFORMAT2=*format*\",\"type\":\"value\"},{\"name\":\"VFORMAT=\",\"optional\":true,\"description\":\"Specifies a format to be used for displaying tick mark labels on the vertical axis of a primary chart.\",\"help\":\"VFORMAT=*format*\",\"type\":\"value\"},{\"name\":\"VMINOR=\",\"optional\":true,\"description\":\"Specifies the number of minor tick marks between major tick marks on the vertical axis. Minor tick marks are not labeled. By default, VMINOR=0.\",\"help\":\"VMINOR=*n*\",\"type\":\"value\"},{\"name\":\"VOFFSET=\",\"optional\":true,\"description\":\"Specifies the length in percent screen units of the offset at the ends of the vertical axis.\",\"help\":\"VOFFSET=*value*\",\"type\":\"value\"},{\"name\":\"VREF2=\",\"optional\":true,\"description\":\"Draws reference lines perpendicular to the vertical axis on the secondary chart.\",\"type\":\"value\"},{\"name\":\"VREF2LABELS=\",\"optional\":true,\"aliases\":[\"VREF2LAB=\"],\"description\":\"Specifies labels for the reference lines requested by the VREF2= option. The number of labels must equal the number of lines. Enclose each label in quotes. Labels can be up to 16 characters.\",\"type\":\"value\"},{\"name\":\"VREF=\",\"optional\":true,\"description\":\"Draws reference lines perpendicular to the vertical axis on the primary chart.\",\"type\":\"value\"},{\"name\":\"VREFCHAR=\",\"optional\":true,\"description\":\"Specifies the character used for reference lines requested by the VREF= and VREF2= options on line printer charts. The default is the hyphen (-).\",\"help\":\"VREFCHAR='*character*'\",\"type\":\"value\"},{\"name\":\"VREFLABELS=\",\"optional\":true,\"description\":\"Specifies labels for the reference lines requested by the VREF= option. The number of labels must equal the number of lines. Enclose each label in quotes. Labels can be up to 16 characters.\",\"type\":\"value\"},{\"name\":\"VREFLABPOS=\",\"optional\":true,\"description\":\"Specifies the horizontal position of the VREFLABEL= and VREF2LABEL= labels.\",\"help\":\"VREFLABPOS=1 | 2 | 3\",\"type\":\"choice\",\"arguments\":[{\"name\":\"1\",\"description\":\"Left-justified in subplot area\",\"type\":\"standalone\"},{\"name\":\"2\",\"description\":\"Right-justified in subplot area\",\"type\":\"standalone\"},{\"name\":\"3\",\"description\":\"Left-justified in right margin\",\"type\":\"standalone\"}]},{\"name\":\"VZERO\",\"optional\":true,\"description\":\"Forces the origin to be included in the vertical axis for a primary chart.\",\"type\":\"standalone\"},{\"name\":\"VZERO2\",\"optional\":true,\"description\":\"Forces the origin to be included in the vertical axis for a secondary chart.\",\"type\":\"standalone\"},{\"name\":\"WAXIS=\",\"optional\":true,\"description\":\"Specifies the width in pixels for the axis and frame lines. By default, n=1.\",\"help\":\"WAXIS=*n*\",\"type\":\"value\"},{\"name\":\"WEBOUT=\",\"optional\":true,\"description\":\"Produces an output data set containing all the data in an OUTTABLE= data set plus graphics coordinates for points (subgroup summary statistics) that are displayed on a control chart.\",\"help\":\"WEBOUT=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"WGRID=\",\"optional\":true,\"description\":\"Specifies the width in pixels for grid lines requested with the ENDGRID and GRID options. By default, n=1.\",\"help\":\"WGRID=*n*\",\"type\":\"value\"},{\"name\":\"WLIMITS=\",\"optional\":true,\"description\":\"Specifies the width in pixels for the control limits and central line. By default, n=1.\",\"help\":\"WLIMITS=*n*\",\"type\":\"value\"},{\"name\":\"WNEEDLES=\",\"optional\":true,\"description\":\"Specifies the width in pixels of needles connecting plotted points to the central line, as requested with the NEEDLES option.\",\"help\":\"WNEEDLES=*n*\",\"type\":\"value\"},{\"name\":\"WOVERLAY2=\",\"optional\":true,\"description\":\"Specifies the widths in pixels for the line segments connecting points on secondary chart overlay plots.\",\"type\":\"value\"},{\"name\":\"WOVERLAY=\",\"optional\":true,\"description\":\"Specifies the widths in pixels for the line segments connecting points on primary chart overlay plots.\",\"type\":\"value\"},{\"name\":\"WSTARCIRCLES=\",\"optional\":true,\"description\":\"Specifies the width in pixels of the outline of circles requested by the STARCIRCLES= option.\",\"help\":\"WSTARCIRCLES=*n*\",\"type\":\"value\"},{\"name\":\"WSTARS=\",\"optional\":true,\"description\":\"Specifies the width in pixels of the outline of stars requested by the STARVERTICES= option.\",\"help\":\"WSTARS=*n*\",\"type\":\"value\"},{\"name\":\"WTESTS=\",\"optional\":true,\"description\":\"Specifies the width in pixels of the line segments that connect patterns of points for which a test for special causes (requested with the TESTS= or TESTS2= option) is positive. By default, n=1.\",\"help\":\"WTESTS=*n*\",\"type\":\"value\"},{\"name\":\"WTREND=\",\"optional\":true,\"description\":\"Specifies the width in pixels of the line segments that connect points on trend charts requested with the TRENDVAR= option. By default, n=1.\",\"help\":\"WTREND=*n*\",\"type\":\"value\"},{\"name\":\"XSYMBOL=\",\"optional\":true,\"description\":\"Specifies a label for the central line in an XBAR chart or a median chart.\",\"help\":\"XSYMBOL='*label*' | MBAR | MTIL | MU | MU0 | XBAR | XBAR2 | XBARPM | XBAR0 | XBAROPM\",\"type\":\"choice\",\"arguments\":[{\"name\":\"'label'\",\"placeholder\":true,\"description\":\"a quoted label up to 16 characters\",\"type\":\"value\"},{\"name\":\"MBAR\",\"description\":\"MBAR\",\"type\":\"standalone\"},{\"name\":\"MTIL\",\"description\":\"MTIL\",\"type\":\"standalone\"},{\"name\":\"MU\",\"description\":\"MU\",\"type\":\"standalone\"},{\"name\":\"MU0\",\"description\":\"MU0\",\"type\":\"standalone\"},{\"name\":\"XBAR\",\"description\":\"XBAR\",\"type\":\"standalone\"},{\"name\":\"XBAR2\",\"description\":\"XBAR2\",\"type\":\"standalone\"},{\"name\":\"XBARPM\",\"description\":\"XBARPM\",\"type\":\"standalone\"},{\"name\":\"XBAR0\",\"description\":\"XBAR0\",\"type\":\"standalone\"},{\"name\":\"XBAROPM\",\"description\":\"XBAR0PM\",\"type\":\"standalone\"}]},{\"name\":\"YPCT1=\",\"optional\":true,\"description\":\"Specifies a percent (ranging from 0 to 100) that determines the length of the vertical axis for the primary chart in proportion to the sum of the lengths of the vertical axes for the primary and secondary charts.\",\"help\":\"YPCT1=*value*\",\"type\":\"value\"},{\"name\":\"YSCALE=\",\"optional\":true,\"description\":\"Scales the vertical axis on a P chart in percent units. The YSCALE= option is available only in the PCHART statement.\",\"help\":\"YSCALE=PERCENT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"PERCENT\",\"description\":\"Scales the vertical axis on a P chart in percent units.\",\"type\":\"standalone\"}]},{\"name\":\"ZEROSTD\",\"optional\":true,\"description\":\"Specifies that a control chart is to be constructed and displayed regardless of whether the estimated process standard deviation is zero.\",\"type\":\"standalone\"},{\"name\":\"ZEROSTD=\",\"optional\":true,\"description\":\"Suppresses the display of the degenerate limits.\",\"help\":\"ZEROSTD=NOLIMITS\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NOLIMITS\",\"description\":\"Suppresses the display of the degenerate limits.\",\"type\":\"standalone\"}]},{\"name\":\"ZONE2LABELS\",\"optional\":true,\"description\":\"Adds the labels A, B, and C to zone lines requested with the ZONES2 or ZONE2VALUES options.\",\"type\":\"standalone\"},{\"name\":\"ZONE2VALUES\",\"optional\":true,\"description\":\"Labels R or s chart zones lines with their values. If the ZONE2VALUES option is specified the ZONES2 option is not required.\",\"type\":\"standalone\"},{\"name\":\"ZONECHAR=\",\"optional\":true,\"description\":\"Specifies the character used to form the zone lines requested by the ZONES option.\",\"help\":\"ZONECHAR='*character*'\",\"type\":\"value\"},{\"name\":\"ZONELABELS\",\"optional\":true,\"description\":\"Adds the labels A, B, and C to zone lines requested with the ZONES or ZONEVALUES options.\",\"type\":\"standalone\"},{\"name\":\"ZONES\",\"optional\":true,\"description\":\"Adds lines to a primary chart that delineate zones A, B, and C for standard tests requested with the TESTS= option.\",\"type\":\"standalone\"},{\"name\":\"ZONES2\",\"optional\":true,\"description\":\"Adds lines to an R or s chart that delineate zones A, B, and C for tests requested with the TESTS2= option.\",\"type\":\"standalone\"},{\"name\":\"ZONEVALPOS=\",\"optional\":true,\"description\":\"Specifies the horizontal position of the ZONEVALUES= and ZONE2VALUES= labels.\",\"help\":\"ZONEVALPOS=1 | 2 | 3\",\"type\":\"choice\",\"arguments\":[{\"name\":\"1\",\"description\":\"Left-justified in subplot area\",\"type\":\"standalone\"},{\"name\":\"2\",\"description\":\"Right-justified in subplot area\",\"type\":\"standalone\"},{\"name\":\"3\",\"description\":\"Left-justified in right margin\",\"type\":\"standalone\"}]},{\"name\":\"ZONEVALUES\",\"optional\":true,\"description\":\"Labels the primary chart zones lines with their values. If the ZONEVALUES option is specified the ZONES option is not required.\",\"type\":\"standalone\"}]},{\"name\":\"BY\",\"description\":\"The BY statement specifies variables in the input data set that are used for BY processing. A separate chart is created for each set of observations defined by the levels of the BY variables. The input data set must be sorted in order of the BY variables.\",\"help\":\"BY variables\"},{\"name\":\"ID\",\"description\":\"The ID statement specifies variables used to identify observations. The ID variables must be variables in the DATA= or SUMMARY= input data sets.\",\"help\":\"ID variables\"},{\"name\":\"INSET\",\"description\":\"The INSET statement enables you to enhance an ANOM chart by adding a box or table (referred to as an inset) of summary statistics directly to the graph. An inset can display statistics calculated by the ANOM procedure or arbitrary values provided in a SAS data set.\",\"help\":\"INSET &lt;CFILL=color | BLANK&gt;&lt;CFILL=BLANK&gt;&lt;CFILLH=color&gt; ...\",\"arguments\":[{\"name\":\"ALPHA\",\"description\":\"Significance level\",\"type\":\"standalone\"},{\"name\":\"DFE\",\"description\":\"Degrees of freedom\",\"type\":\"standalone\"},{\"name\":\"LDL\",\"description\":\"Lower decision limit\",\"type\":\"standalone\"},{\"name\":\"MEAN\",\"description\":\"Weighted average of group means\",\"type\":\"standalone\"},{\"name\":\"MSE\",\"description\":\"Mean square error\",\"type\":\"standalone\"},{\"name\":\"N\",\"description\":\"Nominal group size\",\"type\":\"standalone\"},{\"name\":\"NGROUPS\",\"description\":\"Number of groups\",\"type\":\"standalone\"},{\"name\":\"NHIGH\",\"description\":\"Number of groups above upper decision limit\",\"type\":\"standalone\"},{\"name\":\"NLOW\",\"description\":\"Number of groups below lower decision limit\",\"type\":\"standalone\"},{\"name\":\"NMAX\",\"description\":\"Maximum group size\",\"type\":\"standalone\"},{\"name\":\"NMIN\",\"description\":\"Minimum group size\",\"type\":\"standalone\"},{\"name\":\"NOBS\",\"description\":\"Total number of observations\",\"type\":\"standalone\"},{\"name\":\"NOUT\",\"description\":\"Number of groups outside decision limits\",\"type\":\"standalone\"},{\"name\":\"RMSE\",\"description\":\"Root mean square error\",\"type\":\"standalone\"},{\"name\":\"UALPHA\",\"description\":\"Probability of Type 1 error\",\"type\":\"standalone\"},{\"name\":\"UDL\",\"description\":\"Upper decision limit\",\"type\":\"standalone\"},{\"name\":\"UMU\",\"description\":\"Weighted average of group means\",\"type\":\"standalone\"},{\"name\":\"CFILL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the color of the background (including the header background if you do not specify the CFILLH= option). CFILL=BLANK leaves the background uncolored and prevents items from showing through the inset.\",\"help\":\"CFILL=*color*\",\"type\":\"color\"},{\"name\":\"CFILL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Leaves the background uncolored and prevents items from showing through the inset.\",\"help\":\"CFILL=BLANK\",\"type\":\"value\"},{\"name\":\"CFILLH=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the color of the header background. By default, if you do not specify a CFILLH= color, the CFILL= color is used.\",\"help\":\"CFILLH=*color*\",\"type\":\"color\"},{\"name\":\"CFRAME=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the color of the frame. By default, the frame is the same color as the axis of the plot.\",\"help\":\"CFRAME=*color*\",\"type\":\"color\"},{\"name\":\"CHEADER=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the color of the header text. By default, if you do not specify a CHEADER= color, the CTEXT= color is used.\",\"help\":\"CHEADER=*color*\",\"type\":\"color\"},{\"name\":\"CSHADOW=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the color of the drop shadow.\",\"help\":\"CSHADOW=*color*\",\"type\":\"color\"},{\"name\":\"CTEXT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the color of the text. By default, the inset text color is the same as the other text on the plot.\",\"help\":\"CTEXT=*color*\",\"type\":\"color\"},{\"name\":\"DATA\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies that data coordinates are to be used in positioning the inset with the POSITION= option.\",\"type\":\"standalone\"},{\"name\":\"DATA=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"(label, value) pairs from SAS-data-set\",\"type\":\"value\"},{\"name\":\"FONT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the font of the text. By default, the font is SIMPLEX if the inset is located in the interior of the plot, and the font is the same as the other text displayed on the plot if the inset is located in the exterior of the plot.\",\"help\":\"FONT=font | SMALL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"font\",\"followsDelimiter\":\"/\",\"description\":\"Replace font with an actual font name.\",\"type\":\"standalone\"},{\"name\":\"SMALL\",\"followsDelimiter\":\"/\",\"description\":\"When you specify FONT=SMALL, the GraphValueText font is used in the header and the GraphDataText font is used in the inset body.\",\"type\":\"standalone\"}]},{\"name\":\"FORMAT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies a format for all the values displayed in an inset.\",\"help\":\"FORMAT=*format*\",\"type\":\"value\"},{\"name\":\"HEADER=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the header text. The string cannot exceed 40 characters.\",\"type\":\"value\"},{\"name\":\"HEIGHT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the height of the text.\",\"help\":\"HEIGHT=value | SMALL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"value\",\"followsDelimiter\":\"/\",\"description\":\"Specifies the height of the text in screen percent units. Replace value with an actual value.\",\"type\":\"standalone\"},{\"name\":\"SMALL\",\"followsDelimiter\":\"/\",\"description\":\"Reduces the size of the text in the inset. When you specify HEIGHT=SMALL, the GraphValueText size is used for the inset header and the GraphDataText size is used in the inset body.\",\"type\":\"standalone\"}]},{\"name\":\"HOPACITY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the inset header background opacity when transparency is used in ODS Graphics output. The value must be between 0 and 1, where 0 is completely transparent and 1 is completely opaque. The default inset header background opacity is 0.35.\",\"help\":\"HOPACITY=*value*\",\"type\":\"value\"},{\"name\":\"NOFRAME\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Suppresses the frame drawn around the text.\",\"type\":\"standalone\"},{\"name\":\"OPACITY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the inset background opacity when transparency is used in ODS Graphics output. The value must be between 0 and 1, where 0 is completely transparent and 1 is completely opaque. The default inset background opacity is 0.95.\",\"help\":\"OPACITY=*value*\",\"type\":\"value\"},{\"name\":\"POSITION=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Determines the position of the inset. The position can be a compass point keyword, a margin keyword, or a pair of coordinates (x,y). You can specify coordinates in axis percent units or axis data units.\",\"help\":\"POSITION=*position*\",\"type\":\"value\"},{\"name\":\"REFPOINT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the reference point for an inset that is positioned by a pair of coordinates with the POSITION= option.\",\"help\":\"REFPOINT=BR | BL | TR | TL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"BR\",\"followsDelimiter\":\"/\",\"description\":\"Bottom right\",\"type\":\"standalone\"},{\"name\":\"BL\",\"followsDelimiter\":\"/\",\"description\":\"Bottom left\",\"type\":\"standalone\"},{\"name\":\"TR\",\"followsDelimiter\":\"/\",\"description\":\"Top right\",\"type\":\"standalone\"},{\"name\":\"TL\",\"followsDelimiter\":\"/\",\"description\":\"Top left\",\"type\":\"standalone\"}]}]},{\"name\":\"PCHART\",\"description\":\"The PCHART statement creates ANOM charts for group (treatment level) proportions, also referred to as ANOM p charts.\",\"help\":\"PCHART &lt;ALLLABEL2=VALUE | (variable)&gt;&lt;ALLLABEL=VALUE | (variable)&gt;&lt;ALLN&gt; ...\",\"arguments\":[{\"name\":\"ALLLABEL2=\",\"optional\":true,\"description\":\"Labels every point on an R, s, or trend chart with the VALUE plotted for that subgroup or with the value of a variable in the input data set.\",\"type\":\"value\"},{\"name\":\"ALLLABEL=\",\"optional\":true,\"description\":\"Labels every point on the primary chart with the VALUE plotted for that subgroup or with the value of a variable in the input data set.\",\"type\":\"value\"},{\"name\":\"ALLN\",\"optional\":true,\"description\":\"Plots summary statistics for all subgroups, regardless of whether the subgroup sample size equals the nominal control limit sample size n specified by the LIMITN= option or the variable _LIMITN_ in the LIMITS= data set.\",\"type\":\"standalone\"},{\"name\":\"ALPHA=\",\"optional\":true,\"description\":\"Requests probability limits. If you specify ALPHA=α, the control limits are computed so that the probability is α that a subgroup summary statistic exceeds its control limits.\",\"help\":\"ALPHA=*value*\",\"type\":\"value\"},{\"name\":\"ANNOTATE2=\",\"optional\":true,\"aliases\":[\"ANNO2=\"],\"description\":\"Specifies an ANNOTATE= type data set that enhances a primary chart.\",\"help\":\"ANNOTATE2=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"ANNOTATE=\",\"optional\":true,\"aliases\":[\"ANNO=\"],\"description\":\"Specifies an ANNOTATE= type data set.\",\"help\":\"ANNOTATE=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"BILEVEL\",\"optional\":true,\"description\":\"Arranges the Shewhart chart in two levels (rather than the default of one level) so that twice as much data can be displayed on a page or screen.\",\"type\":\"standalone\"},{\"name\":\"BLOCKLABELPOS=\",\"optional\":true,\"description\":\"Specifies the position of a block-variable label in the block legend.\",\"help\":\"BLOCKLABELPOS=ABOVE | LEFT | RIGHT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ABOVE\",\"description\":\"Places the label immediately above the legend.\",\"type\":\"standalone\"},{\"name\":\"LEFT\",\"description\":\"Places the label to the left of the legend.\",\"type\":\"standalone\"},{\"name\":\"RIGHT\",\"description\":\"Places the label to the right of the legend.\",\"type\":\"standalone\"}]},{\"name\":\"BLOCKLABTYPE=\",\"optional\":true,\"description\":\"Specifies how lengthy block variable values are treated when there is insufficient space to display them in the block legend.\",\"help\":\"BLOCKLABTYPE=SCALED | TRUNCATED | ROTATE | ROTATEALL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"SCALED\",\"description\":\"The values are uniformly reduced in height so that they fit.\",\"type\":\"standalone\"},{\"name\":\"TRUNCATED\",\"description\":\"Lengthy values are truncated on the right until they fit.\",\"type\":\"standalone\"},{\"name\":\"ROTATE\",\"description\":\"Rotates the values of the block variable displayed closest to the chart by 90 degreest.\",\"type\":\"standalone\"},{\"name\":\"ROTATEALL\",\"description\":\"RotateS the values of all block variables.\",\"type\":\"standalone\"}]},{\"name\":\"BLOCKPOS=\",\"optional\":true,\"description\":\"Specifies the vertical position of the legend for the values of the block variables.\",\"help\":\"BLOCKPOS=1 | 2 | 3 | 4\",\"type\":\"choice\",\"arguments\":[{\"name\":\"1\",\"description\":\"Top of chart, offset from axis frame\",\"type\":\"standalone\"},{\"name\":\"2\",\"description\":\"Top of chart, immediately above axis frame\",\"type\":\"standalone\"},{\"name\":\"3\",\"description\":\"Bottom of chart, immediately above horizontal axis\",\"type\":\"standalone\"},{\"name\":\"4\",\"description\":\"Bottom of chart, below horizontal axis label\",\"type\":\"standalone\"}]},{\"name\":\"BLOCKREFOPACITY=\",\"optional\":true,\"aliases\":[\"PHASEREFOPACITY=\",\"REFFILLOPACITY=\"],\"description\":\"Specifies the wall fill opacity for blocks and phases when transparency is used in ODS Graphics output. The value must be between 0 and 1, where 0 is completely transparent and 1 is completely opaque. The default wall fill opacity is 0.15.\",\"type\":\"value\"},{\"name\":\"BLOCKREP\",\"optional\":true,\"description\":\"Specifies that block variable values for all groups be displayed. By default, only the first block variable value in any block is displayed, and repeated block variable values are not displayed.\",\"type\":\"standalone\"},{\"name\":\"BLOCKVAR=\",\"optional\":true,\"description\":\"Specifies variables whose values are used to assign colors for filling the background of the legend associated with block variables.\",\"type\":\"value\"},{\"name\":\"BOXCONNECT=\",\"optional\":true,\"description\":\"Specifies that the points representing subgroup means, medians, maximum values, minimum values, first quartiles or third quartiles in box-and-whisker plots created with the BOXCHART statement are to be connected.\",\"help\":\"BOXCONNECT=MEAN | MEDIAN | MAX | MIN | Q1 | Q3\",\"type\":\"choice\",\"arguments\":[{\"name\":\"MEAN\",\"description\":\"Specifies that the points in box-and-whiskers plots created with the BOXCHART statement representing group means be connected with line segments.\",\"type\":\"standalone\"},{\"name\":\"MEDIAN\",\"description\":\"Specifies that the points in box-and-whiskers plots created with the BOXCHART statement representing group medians be connected with line segments.\",\"type\":\"standalone\"},{\"name\":\"MAX\",\"description\":\"Specifies that the points in box-and-whiskers plots created with the BOXCHART statement representing group maximum values be connected with line segments.\",\"type\":\"standalone\"},{\"name\":\"MIN\",\"description\":\"Specifies that the points in box-and-whiskers plots created with the BOXCHART statement representing group minimum values be connected with line segments.\",\"type\":\"standalone\"},{\"name\":\"Q1\",\"description\":\"Specifies that the points in box-and-whiskers plots created with the BOXCHART statement representing group first quartiles be connected with line segments.\",\"type\":\"standalone\"},{\"name\":\"Q3\",\"description\":\"Specifies that the points in box-and-whiskers plots created with the BOXCHART statement representing group third quartiles be connected with line segments.\",\"type\":\"standalone\"}]},{\"name\":\"BOXES=\",\"optional\":true,\"description\":\"Specifies a variable whose values are used to assign colors for the outlines of box-and-whiskers plots.\",\"type\":\"value\"},{\"name\":\"BOXFILL=\",\"optional\":true,\"description\":\"Specifies how box-and-whisker plots are filled with colors from the ODS style.\",\"help\":\"BOXFILL=&lt;*variable*&gt; | NONE | EMPTY\",\"type\":\"choice\",\"arguments\":[{\"name\":\"<variable>\",\"placeholder\":true,\"description\":\"You can specify a variable whose values are used to group box-and-whiskers plots for assigning fill colors from the ODS style.\",\"type\":\"value\"},{\"name\":\"NONE\",\"description\":\"Produces unfilled boxes.\",\"type\":\"standalone\"},{\"name\":\"EMPTY\",\"description\":\"Produces unfilled boxes.\",\"type\":\"standalone\"}]},{\"name\":\"BOXOPACITY=\",\"optional\":true,\"description\":\"Specifies the box fill opacity for box-and-whisker charts when transparency is used in ODS Graphics output. The value must be between 0 and 1, where 0 is completely transparent and 1 is completely opaque. The default box fill opacity is 0.75.\",\"help\":\"BOXOPACITY=*value*\",\"type\":\"value\"},{\"name\":\"BOXSTYLE=\",\"optional\":true,\"description\":\"[Specifies the style of the box-and-whiskers plots displayed.\",\"help\":\"BOXSTYLE=SKELETAL | SCHEMATIC | SCHEMATICID | SCHEMATICIDFAR | POINTS | POINTSJOIN | POINTSBOX | POINTSID | POINTSJOINID | POINTSSCHEMATIC\",\"type\":\"choice\",\"arguments\":[{\"name\":\"SKELETAL\",\"description\":\"The whiskers are drawn from the edges of the box to the extreme values of the group.\",\"type\":\"standalone\"},{\"name\":\"SCHEMATIC\",\"description\":\"A whisker is drawn from the upper edge of the box to the largest observed value within the upper fence, and another is drawn from the lower edge of the box to the smallest observed value within the lower fence.\",\"type\":\"standalone\"},{\"name\":\"SCHEMATICID\",\"description\":\"A schematic box-and-whiskers plot is displayed in which an ID variable value is used to label the symbol marking each observation outside the upper and lower fences.\",\"type\":\"standalone\"},{\"name\":\"SCHEMATICIDFAR\",\"description\":\"A schematic box-and-whiskers plot is displayed in which the value of the ID variable is used to label the symbol marking each observation outside the lower and upper far fences\",\"type\":\"standalone\"},{\"name\":\"POINTS\",\"description\":\"All the values in the subgroup sample are plotted as points, and neither a box nor whiskers are drawn.\",\"type\":\"standalone\"},{\"name\":\"POINTSJOIN\",\"description\":\"All the values in the subgroup sample are plotted as points joined with a vertical line. Neither a box nor whiskers are drawn.\",\"type\":\"standalone\"},{\"name\":\"POINTSBOX\",\"description\":\"All the values in the subgroup sample are plotted as points enclosed in a box.\",\"type\":\"standalone\"},{\"name\":\"POINTSID\",\"description\":\"All the values in the subgroup sample are plotted using labels specified as the values of the first variable in the ID statement.\",\"type\":\"standalone\"},{\"name\":\"POINTSJOINID\",\"description\":\"All the values in the subgroup sample are plotted using labels specified as the values of the first variable in the ID statement, and the values are joined by a vertical line.\",\"type\":\"standalone\"},{\"name\":\"POINTSSCHEMATIC\",\"description\":\"A schematic box chart is overlaid with points plotting all observations in the subgroups.\",\"type\":\"standalone\"}]},{\"name\":\"BOXWIDTH=\",\"optional\":true,\"description\":\"Specifies the width (in horizontal percent screen units) of the box-and-whiskers plots.\",\"help\":\"BOXWIDTH=*value*\",\"type\":\"value\"},{\"name\":\"BOXWIDTHSCALE=\",\"optional\":true,\"description\":\"Specifies that the width of the box-and-whiskers plots created with the BOXCHART statement is to vary proportionately to a particular function of the group size n.\",\"help\":\"BOXWIDTHSCALE=*value*\",\"type\":\"value\"},{\"name\":\"CAXIS=\",\"optional\":true,\"aliases\":[\"CAXES=\",\"CA=\"],\"description\":\"Specifies the color for the axes and tick marks. This option overrides any COLOR= specifications in an AXIS statement.\",\"help\":\"CAXIS=*color*\",\"type\":\"color\"},{\"name\":\"CBLOCKLAB=\",\"optional\":true,\"description\":\"Specifies fill colors for the frames that enclose the block variable labels in a block legend.\",\"help\":\"CBLOCKLAB=*color*\",\"type\":\"color\"},{\"name\":\"CBLOCKVAR=\",\"optional\":true,\"description\":\"Specifies variables whose values are colors for filling the background of the legend associated with block variables.\",\"type\":\"value\"},{\"name\":\"CBOXES=\",\"optional\":true,\"description\":\"Specifies the colors for the outlines of the box-and-whiskers plots created with the BOXCHART statement.\",\"help\":\"CBOXES=*color*\",\"type\":\"color\"},{\"name\":\"CBOXFILL=\",\"optional\":true,\"description\":\"Specifies the interior fill colors for the box-and-whiskers plots created with the BOXCHART statement.\",\"help\":\"CBOXFILL=*color*\",\"type\":\"color\"},{\"name\":\"CCLIP=\",\"optional\":true,\"description\":\"Specifies a color for the plotting symbol that is specified with the CLIPSYMBOL= option to mark clipped values.\",\"help\":\"CCLIP=*color*\",\"type\":\"color\"},{\"name\":\"CCONNECT=\",\"optional\":true,\"description\":\"Specifies the color for line segments connecting points on the chart.\",\"help\":\"CCONNECT=*color*\",\"type\":\"color\"},{\"name\":\"CCOVERLAY2=\",\"optional\":true,\"description\":\"Specifies the colors for line segments connecting points on secondary chart overlays.\",\"help\":\"CCOVERLAY2=*color*\",\"type\":\"color\"},{\"name\":\"CCOVERLAY=\",\"optional\":true,\"description\":\"Specifies the colors for line segments connecting points on primary chart overlays.\",\"help\":\"CCOVERLAY=*color*\",\"type\":\"color\"},{\"name\":\"CFRAME=\",\"optional\":true,\"description\":\"Specifies the color for filling the rectangle enclosed by the axes and the frame. By default, this area is not filled. The CFRAME= option cannot be used in conjunction with the NOFRAME option.\",\"help\":\"CFRAME=*color*\",\"type\":\"color\"},{\"name\":\"CFRAMELAB=\",\"optional\":true,\"description\":\"Specifies the color for filling rectangles that frame the point labels displayed with the ALLLABEL=, ALLLABEL2=, OUTLABEL=, and OUTLABEL2= options.\",\"help\":\"CFRAMELAB=*color*\",\"type\":\"color\"},{\"name\":\"CGRID=\",\"optional\":true,\"description\":\"Specifies the color for the grid requested by the ENDGRID or GRID option. By default, the grid is the same color as the axes.\",\"help\":\"CGRID=*color*\",\"type\":\"color\"},{\"name\":\"CHREF=\",\"optional\":true,\"description\":\"Specifies the color for the lines requested by the HREF= and HREF2= options.\",\"help\":\"CHREF=*color*\",\"type\":\"color\"},{\"name\":\"CIINDICES\",\"optional\":true,\"description\":\"Requests capability index confidence limits based on subgroup summary data, calculated using \\\"effective degrees of freedom\\\". TYPE=keyword specifies the type of confidence limit. Valid values are LOWER, UPPER and TWOSIDED. The default value is TWOSIDED.\",\"type\":\"standalone\"},{\"name\":\"CINFILL=\",\"optional\":true,\"description\":\"Specifies the color for the area inside the upper and lower control limits.\",\"help\":\"CINFILL=&lt;*color*&gt; | NONE | EMPTY\",\"type\":\"choice\",\"arguments\":[{\"name\":\"<color>\",\"placeholder\":true,\"description\":\"Specifies the color for the area inside the upper and lower control limits.\",\"type\":\"color\"},{\"name\":\"NONE\",\"description\":\"Leaves the area between the contol limits unfilled.\",\"type\":\"standalone\"},{\"name\":\"EMPTY\",\"description\":\"Leaves the area between the contol limits unfilled.\",\"type\":\"standalone\"}]},{\"name\":\"CLABEL=\",\"optional\":true,\"description\":\"Specifies the color for labels produced by the ALLLABEL=, ALLLABEL2=, OUTLABEL=, and OUTLABEL2= options.\",\"help\":\"CLABEL=*color*\",\"type\":\"color\"},{\"name\":\"CLIMITS=\",\"optional\":true,\"description\":\"Specifies the color for the control limits, the central line, and the labels for these lines.\",\"help\":\"CLIMITS=*color*\",\"type\":\"color\"},{\"name\":\"CLIPCHAR=\",\"optional\":true,\"description\":\"Specifies a plot character that identifies clipped points, as requested with the CLIPFACTOR= option.\",\"help\":\"CLIPCHAR='*character*'\",\"type\":\"value\"},{\"name\":\"CLIPFACTOR=\",\"optional\":true,\"description\":\"Requests clipping of extreme values on the control chart. The factor that you specify determines the extent to which these values are clipped, and it must be greater than 1.\",\"help\":\"CLIPFACTOR=*factor*\",\"type\":\"value\"},{\"name\":\"CLIPLEGEND=\",\"optional\":true,\"description\":\"Specifies the label for the legend that indicates the number of clipped boxes when the CLIPFACTOR= option is used.\",\"type\":\"value\"},{\"name\":\"CLIPLEGPOS=\",\"optional\":true,\"description\":\"Specifies the position for the legend that indicates the number of clipped boxes when the CLIPFACTOR= option is used.\",\"help\":\"CLIPLEGPOS=TOP | BOTTOM\",\"type\":\"choice\",\"arguments\":[{\"name\":\"TOP\",\"description\":\"Positions the legend at the top of the chart.\",\"type\":\"standalone\"},{\"name\":\"BOTTOM\",\"description\":\"positions the legend at the bottom of the chart.\",\"type\":\"standalone\"}]},{\"name\":\"CLIPSUBCHAR=\",\"optional\":true,\"description\":\"Specifies a substitution character (such as '#') for the label provided with the CLIPLEGEND= option.\",\"help\":\"CLIPSUBCHAR='*character*'\",\"type\":\"value\"},{\"name\":\"CLIPSYMBOL=\",\"optional\":true,\"description\":\"Specifies a plot symbol used to identify clipped points on the chart and in the legend when the CLIPFACTOR= option is used.\",\"help\":\"CLIPSYMBOL=*symbol*\",\"type\":\"value\"},{\"name\":\"CLIPSYMBOLHT=\",\"optional\":true,\"description\":\"Specifies the height for the symbol marker used to identify clipped points on the chart when the CLIPFACTOR= option is used.\",\"help\":\"CLIPSYMBOLHT=*value*\",\"type\":\"value\"},{\"name\":\"CNEEDLES=\",\"optional\":true,\"description\":\"Requests that points are to be connected to the central line with vertical line segments (needles) and specifies the color of the needles.\",\"help\":\"CNEEDLES=*color*\",\"type\":\"color\"},{\"name\":\"CONNECTCHAR=\",\"optional\":true,\"description\":\"Specifies the character used to form line segments that connect points on a chart. The default character is a plus (+) sign.\",\"help\":\"CONNECTCHAR='*character*'\",\"type\":\"value\"},{\"name\":\"CONTROLSTAT=\",\"optional\":true,\"description\":\"Specifies whether the control limits displayed in a box chart are to be computed for subgroup means or for subgroup medians.\",\"help\":\"CONTROLSTAT=MEAN | MEDIAN\",\"type\":\"choice\",\"arguments\":[{\"name\":\"MEAN\",\"description\":\"Specifies whether the control limits displayed in a box chart are to be computed for subgroup means.\",\"type\":\"standalone\"},{\"name\":\"MEDIAN\",\"description\":\"Specifies whether the control limits displayed in a box chart are to be computed for subgroup medians.\",\"type\":\"standalone\"}]},{\"name\":\"COUT\",\"optional\":true,\"description\":\"Specify COUT with no argument to use an appropriate contrasting color from the ODS style.\",\"type\":\"standalone\"},{\"name\":\"COUT=\",\"optional\":true,\"description\":\"Specifies the color for the plotting symbols and the portions of connecting line segments that lie outside the control limits.\",\"help\":\"COUT=*color*\",\"type\":\"color\"},{\"name\":\"COVERLAY2=\",\"optional\":true,\"description\":\"Specifies the colors used to plot secondary chart overlay variables. Colors in the COVERLAY2= list are matched with variables in the corresponding positions in the OVERLAY2= list.\",\"type\":\"value\"},{\"name\":\"COVERLAY=\",\"optional\":true,\"description\":\"Specifies the colors used to plot primary chart overlay variables. Colors in the COVERLAY= list are matched with variables in the corresponding positions in the OVERLAY= list.\",\"type\":\"value\"},{\"name\":\"COVERLAYCLIP=\",\"optional\":true,\"description\":\"Specifies the color used to plot clipped values on overlay plots when the CLIPFACTOR= option is used.\",\"help\":\"COVERLAYCLIP=*color*\",\"type\":\"color\"},{\"name\":\"CPHASEBOX=\",\"optional\":true,\"description\":\"Specifies the color for a box that encloses all of the plotted points for a phase (group of consecutive observations that have the same value of the variable _PHASE_).\",\"help\":\"CPHASEBOX=*color*\",\"type\":\"color\"},{\"name\":\"CPHASEBOXCONNECT=\",\"optional\":true,\"description\":\"Specifies the color for line segments that connect the vertical edges of adjacent enclosing boxes requested with the CPHASEBOX= option or the CPHASEBOXFILL= option.\",\"help\":\"CPHASEBOXCONNECT=*color*\",\"type\":\"color\"},{\"name\":\"CPHASEBOXFILL=\",\"optional\":true,\"description\":\"Specifies the fill color for a box that encloses all of the plotted points for a phase.\",\"help\":\"CPHASEBOXFILL=*color*\",\"type\":\"color\"},{\"name\":\"CPHASELEG=\",\"optional\":true,\"description\":\"Specifies a text color for the phase labels requested with the PHASELEGEND option.\",\"help\":\"CPHASELEG=*color*\",\"type\":\"color\"},{\"name\":\"CPHASEMEANCONNECT=\",\"optional\":true,\"description\":\"Specifies the color for line segments that connect points representing the average of the values plotted within a phase.\",\"help\":\"CPHASEMEANCONNECT=*color*\",\"type\":\"color\"},{\"name\":\"CSTARCIRCLES=\",\"optional\":true,\"description\":\"Specifies a color for the circles requested with the STARCIRCLES= option.\",\"help\":\"CSTARCIRCLES=*color*\",\"type\":\"color\"},{\"name\":\"CSTARFILL=\",\"optional\":true,\"description\":\"Specifies a color or colors for filling the interior of stars requested with the STARVERTICES= option.\",\"help\":\"CSTARFILL=*color*\",\"type\":\"color\"},{\"name\":\"CSTAROUT\",\"optional\":true,\"description\":\"Specifies to use an appropriate contrasting color from the ODS style for those portions of the outlines of stars (requested with the STARVERTICES= option) that exceed the inner or outer circles.\",\"type\":\"color\"},{\"name\":\"CSTAROUT=\",\"optional\":true,\"description\":\"Specifies a color for those portions of the outlines of stars (requested with the STARVERTICES= option) that exceed the inner or outer circles.\",\"help\":\"CSTAROUT=*color*\",\"type\":\"color\"},{\"name\":\"CSTARS=\",\"optional\":true,\"description\":\"Specifies a color or colors for the outlines of stars requested with the STARVERTICES= option.\",\"help\":\"CSTARS=*color*\",\"type\":\"color\"},{\"name\":\"CSYMBOL=\",\"optional\":true,\"description\":\"Specifies a label for the central line in a C chart.\",\"help\":\"CSYMBOL=C | CBAR | CPM | CPM2 | C0 | '*label*'\",\"type\":\"choice\",\"arguments\":[{\"name\":\"C\",\"description\":\"C\",\"type\":\"standalone\"},{\"name\":\"CBAR\",\"description\":\"CBAR\",\"type\":\"standalone\"},{\"name\":\"CPM\",\"description\":\"C'\",\"type\":\"standalone\"},{\"name\":\"CPM2\",\"description\":\"C''\",\"type\":\"standalone\"},{\"name\":\"C0\",\"description\":\"Co\",\"type\":\"standalone\"},{\"name\":\"'label'\",\"placeholder\":true,\"description\":\"You can specify a quoted label of length 16 or less.\",\"type\":\"value\"}]},{\"name\":\"CTESTLABBOX=\",\"optional\":true,\"description\":\"Specifies the color for boxes enclosing labels for positive tests for special causes requested with the TESTLABBOX option.\",\"help\":\"CTESTLABBOX=*color*\",\"type\":\"color\"},{\"name\":\"CTESTS=\",\"optional\":true,\"aliases\":[\"CTEST=\"],\"description\":\"Specifies colors for labels indicating points where a test is positive.\",\"help\":\"CTESTS=*color*\",\"type\":\"color\"},{\"name\":\"CTESTSYMBOL=\",\"optional\":true,\"aliases\":[\"CTESTSYM=\"],\"description\":\"Specifies the color of the symbol used to plot subgroups with positive tests for special causes.\",\"help\":\"CTESTSYMBOL=*color*\",\"type\":\"color\"},{\"name\":\"CTEXT=\",\"optional\":true,\"description\":\"Specifies the color for tick mark values and axis labels. The default color is the color specified in the CTEXT= option in the most recent GOPTIONS statement.\",\"help\":\"CTEXT=*color*\",\"type\":\"color\"},{\"name\":\"CVREF=\",\"optional\":true,\"aliases\":[\"CV=\"],\"description\":\"Specifies the color for the lines requested by the VREF= and VREF2= options.\",\"help\":\"CVREF=*color*\",\"type\":\"color\"},{\"name\":\"CZONES=\",\"optional\":true,\"description\":\"Requests lines marking zones A, B, and C for the tests for special causes (see the TESTS= option) and specifies the color for these lines.\",\"help\":\"CZONES=*color*\",\"type\":\"color\"},{\"name\":\"DESCRIPTION2=\",\"optional\":true,\"aliases\":[\"DES2=\"],\"description\":\"Specifies a description for the secondary chart of length 256 or less that appears in the PROC GREPLAY master menu. The default string is the variable name. The DESCRIPTION2= option is available in the IRCHART, MRCHART, XRCHART, and XSCHART statements, and it is used in conjunction with the SEPARATE option. A related option is NAME2=.\",\"help\":\"DESCRIPTION2='*string*'\",\"type\":\"value\"},{\"name\":\"DESCRIPTION=\",\"optional\":true,\"aliases\":[\"DES=\"],\"description\":\"Specifies a description for the primary chart of length 256 or less that appears in the PROC GREPLAY master menu. The default string is the variable name. A related option is NAME=.\",\"help\":\"DESCRIPTION='*string*'\",\"type\":\"value\"},{\"name\":\"DISCRETE\",\"optional\":true,\"description\":\"Specifies that numeric subgroup variable values be treated as discrete values, so that each tick value on the default subgroup axis corresponds to a unique subgroup variable value.\",\"type\":\"standalone\"},{\"name\":\"ENDGRID\",\"optional\":true,\"description\":\"Adds a grid to the rightmost portion of the chart, beginning with the first labeled major tick mark position that follows the last plotted point.\",\"type\":\"standalone\"},{\"name\":\"EXCHART\",\"optional\":true,\"description\":\"Creates a control chart only when exceptions occur, specifically, when the control limits are exceeded or when any of the tests requested with the TESTS= option or the TESTS2= option are positive.\",\"type\":\"standalone\"},{\"name\":\"FONT=\",\"optional\":true,\"description\":\"Specifies a software font for labels and legends.\",\"help\":\"FONT=*font*\",\"type\":\"value\"},{\"name\":\"FRONTREF\",\"optional\":true,\"description\":\"Draws reference lines specified with the HREF= and VREF= options in front of box-and-whiskers plots. By default, reference lines are drawn behind the box-and-whiskers plots and can be obscured by filled boxes.\",\"type\":\"standalone\"},{\"name\":\"GRID\",\"optional\":true,\"description\":\"Adds a grid to the control chart. Grid lines are horizontal lines positioned at labeled major tick marks, and they cover the length and height of the plotting area.\",\"type\":\"standalone\"},{\"name\":\"HAXIS=\",\"optional\":true,\"description\":\"Specifies tick mark values for the horizontal (subgroup) axis. If the group variable is numeric, the values must be numeric and equally spaced. If the group variable is character, values must be quoted strings of up to 16 characters. Optionally, you can specify an axis name defined in a previous AXIS statement.\",\"type\":\"value\"},{\"name\":\"HEIGHT=\",\"optional\":true,\"description\":\"Specifies the height (in vertical screen percent units) of the text for axis labels and legends. This value takes precedence over the HTEXT= value specified in the GOPTIONS statement.\",\"help\":\"HEIGHT=*value*\",\"type\":\"value\"},{\"name\":\"HMINOR=\",\"optional\":true,\"aliases\":[\"HM=\"],\"description\":\"Specifies the number of minor tick marks between major tick marks on the horizontal axis. Minor tick marks are not labeled. The default is HMINOR=0.\",\"help\":\"HMINOR=*n*\",\"type\":\"value\"},{\"name\":\"HOFFSET=\",\"optional\":true,\"description\":\"Specifies the length (in percent screen units) of the offset at both ends of the horizontal axis. You can eliminate the offset by specifying HOFFSET=0.\",\"help\":\"HOFFSET=*value*\",\"type\":\"value\"},{\"name\":\"HREF2=\",\"optional\":true,\"description\":\"Draws reference lines perpendicular to the horizontal (subgroup) axis on the secondary chart.\",\"type\":\"value\"},{\"name\":\"HREF2DATA=\",\"optional\":true,\"description\":\"Draws reference lines perpendicular to the horizontal (subgroup) axis on the secondary chart. The HREF2DATA= option must be used in place of the HREF2= option to specify a data set using the quoted filename notation.\",\"help\":\"HREF2DATA=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"HREF2LABELS=\",\"optional\":true,\"aliases\":[\"HREF2LABEL=\",\"HREF2LAB=\"],\"description\":\"Specifies labels for the reference lines requested by the HREF2= option. The number of labels must equal the number of lines. Enclose each label in quotes. Labels can be up to 16 characters.\",\"type\":\"value\"},{\"name\":\"HREF=\",\"optional\":true,\"description\":\"Draws reference lines perpendicular to the horizontal (subgroup) axis on the primary chart.\",\"type\":\"value\"},{\"name\":\"HREFCHAR=\",\"optional\":true,\"description\":\"Specifies the character used for reference lines requested by the HREF= and HREF2= options on line printer charts. The default is the vertical bar (|).\",\"help\":\"HREFCHAR='*character*'\",\"type\":\"value\"},{\"name\":\"HREFDATA=\",\"optional\":true,\"description\":\"Draws reference lines perpendicular to the horizontal (subgroup) axis on the primary chart. The HREFDATA= option must be used in place of the HREF= option to specify a data set using the quoted filename notation.\",\"help\":\"HREFDATA=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"HREFLABELS=\",\"optional\":true,\"aliases\":[\"HREFLABEL=\",\"HREFLAB=\"],\"description\":\"Specifies labels for the reference lines requested by the HREF= option. The number of labels must equal the number of lines. Enclose each label in quotes. Labels can be up to 16 characters.\",\"type\":\"value\"},{\"name\":\"HREFLABPOS=\",\"optional\":true,\"description\":\"Specifies the vertical position of the HREFLABEL= label.\",\"help\":\"HREFLABPOS=1 | 2 | 3 | 4\",\"type\":\"choice\",\"arguments\":[{\"name\":\"1\",\"description\":\"Along top of subplot area\",\"type\":\"standalone\"},{\"name\":\"2\",\"description\":\"Staggered from top to bottom of subplot area\",\"type\":\"standalone\"},{\"name\":\"3\",\"description\":\"Along bottom of subplot area\",\"type\":\"standalone\"},{\"name\":\"4\",\"description\":\"Staggered from bottom to top of subplot area\",\"type\":\"standalone\"}]},{\"name\":\"HTML2=\",\"optional\":true,\"description\":\"Specifies URLs as values of the specified character variable (or formatted values of a numeric variable). These URLs are associated with points on a secondary chart when traditional graphics output is directed into HTML.\",\"help\":\"HTML2=*variable*\",\"type\":\"value\"},{\"name\":\"HTML=\",\"optional\":true,\"description\":\"Specifies URLs as values of the specified character variable (or formatted values of a numeric variable). These URLs are associated with points on a primary control chart when traditional graphics output is directed into HTML.\",\"help\":\"HTML=*variable*\",\"type\":\"value\"},{\"name\":\"HTML_LEGEND=\",\"optional\":true,\"description\":\"Specifies URLs as values of the specified character variable (or formatted values of a numeric variable). These URLs are associated with symbols in the legend for the levels of a symbol-variable.\",\"help\":\"HTML_LEGEND=*variable*\",\"type\":\"value\"},{\"name\":\"IDCOLOR=\",\"optional\":true,\"description\":\"Specifies the color of the symbol marker used to identify outliers in schematic box-and-whiskers plots (that is, when you specify the keyword SCHEMATIC, SCHEMATICID, or SCHEMATICIDFAR with the BOXSTYLE= option).\",\"help\":\"IDCOLOR=*color*\",\"type\":\"color\"},{\"name\":\"IDCTEXT=\",\"optional\":true,\"description\":\"Specifies the color for the text used to label outliers when you specify the keyword SCHEMATICID, SCHEMATICIDFAR, POINTSID, or POINTSJOINID with the BOXSTYLE= option.\",\"help\":\"IDCTEXT=*color*\",\"type\":\"color\"},{\"name\":\"IDFONT=\",\"optional\":true,\"description\":\"Specifies the font for the text used to label outliers when you specify the keyword SCHEMATICID, SCHEMATICIDFAR, POINTSID, or POINTSJOINID with the BOXSTYLE= option.\",\"help\":\"IDFONT=*font*\",\"type\":\"value\"},{\"name\":\"IDHEIGHT=\",\"optional\":true,\"description\":\"Specifies the height for the text used to label outliers when you specify the keyword SCHEMATICID, SCHEMATICIDFAR, POINTSID, or POINTSJOINID with the BOXSTYLE= option.\",\"help\":\"IDHEIGHT=*value*\",\"type\":\"value\"},{\"name\":\"IDSYMBOL=\",\"optional\":true,\"description\":\"Specifies the symbol marker used to identify outliers in schematic box-and-whisker plots produced with the BOXCHART statement when you use one of the following options: BOXSTYLE=SCHEMATIC, BOXSTYLE=SCHEMATICID, and BOXSTYLE=SCHEMATICIDFAR. The default symbol is SQUARE.\",\"help\":\"IDSYMBOL=*symbol*\",\"type\":\"value\"},{\"name\":\"INDEPENDENTZONES\",\"optional\":true,\"aliases\":[\"INDEPZONES\"],\"description\":\"Specifies that the widths of the zones requested with the ZONES option be computed independently above and below the center line of the chart, so that the width of each zone is one-third of the difference between the process mean and the control limit on its side of the chart.\",\"type\":\"standalone\"},{\"name\":\"INFILLOPACITY=\",\"optional\":true,\"description\":\"Specifies the control limit infill opacity when transparency is used in ODS Graphics output. The value be between 0 and 1, where 0 is completely transparent and 1 is completely opaque. The default control limit infill opacity is 0.25.\",\"help\":\"INFILLOPACITY=*value*\",\"type\":\"value\"},{\"name\":\"INTERVAL=\",\"optional\":true,\"description\":\"Specifies the natural time interval between consecutive group positions when a time, date, or datetime format is associated with a numeric group variable.\",\"help\":\"INTERVAL=DAY | DTDAY | HOUR | MINUTE | MONTH | QTR | SECOND\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DAY\",\"description\":\"For DATE, WEEKDATE, WORDDATE, YYMMDD, or MMDDYY format\",\"type\":\"standalone\"},{\"name\":\"DTDAY\",\"description\":\"For DATETIME format\",\"type\":\"standalone\"},{\"name\":\"HOUR\",\"description\":\"For HHMM or HOUR format\",\"type\":\"standalone\"},{\"name\":\"MINUTE\",\"description\":\"For MMSS format\",\"type\":\"standalone\"},{\"name\":\"MONTH\",\"description\":\"For MONYY format\",\"type\":\"standalone\"},{\"name\":\"QTR\",\"description\":\"For YYQ format\",\"type\":\"standalone\"},{\"name\":\"SECOND\",\"description\":\"For TIME or TOD format\",\"type\":\"standalone\"}]},{\"name\":\"INTSTART=\",\"optional\":true,\"description\":\"Specifies the starting value for a numeric horizontal axis when a date, time, or datetime format is associated with the group variable.\",\"help\":\"INTSTART=*value*\",\"type\":\"value\"},{\"name\":\"LABELANGLE=\",\"optional\":true,\"description\":\"Specifies the angle at which labels requested with the ALLLABEL=, ALLLABEL2=, OUTLABEL=, and OUTLABEL2= options are drawn. A positive angle rotates the labels counterclockwise; a negative angle rotates them clockwise. By default, labels are oriented horizontally.\",\"help\":\"LABELANGLE=*angle*\",\"type\":\"value\"},{\"name\":\"LABELFONT=\",\"optional\":true,\"aliases\":[\"TESTFONT=\"],\"description\":\"Specifies a software font for labels requested with the ALLLABEL=, ALLLABEL2=, OUTLABEL=, OUTLABEL2=, STARLABEL=, TESTLABEL=, and TESTLABELn= options.\",\"help\":\"LABELFONT=*font*\",\"type\":\"value\"},{\"name\":\"LABELHEIGHT=\",\"optional\":true,\"aliases\":[\"TESTHEIGHT=\"],\"description\":\"Specifies the height (in vertical percent screen units) for labels requested with the ALLLABEL=, ALLLABEL2=, OUTLABEL=, OUTLABEL2=, STARLABEL=, TESTLABEL=, and TESTLABEL= options.\",\"help\":\"LABELHEIGHT=*value*\",\"type\":\"value\"},{\"name\":\"LBOXES=\",\"optional\":true,\"description\":\"Specifies the line types for the outlines of the box-and-whiskers plots created with the BOXCHART statement.\",\"type\":\"value\"},{\"name\":\"LCLLABEL2=\",\"optional\":true,\"description\":\"Specifies a label for the lower control limit in the secondary chart. The label can be of length 16 or less. Enclose the label in quotes.\",\"help\":\"LCLLABEL2='*label*'\",\"type\":\"value\"},{\"name\":\"LCLLABEL=\",\"optional\":true,\"description\":\"Specifies a label for the lower control limit in the primary chart. The label can be of length 16 or less. Enclose the label in quotes.\",\"help\":\"LCLLABEL='*label*'\",\"type\":\"value\"},{\"name\":\"LENDGRID=\",\"optional\":true,\"description\":\"Specifies the line type for the grid requested with the ENDGRID option. The default value is 1, which produces a solid line.\",\"help\":\"LENDGRID=*linetype*\",\"type\":\"value\"},{\"name\":\"LGRID=\",\"optional\":true,\"description\":\"Specifies the line type for the grid requested with the GRID option. The default value is 1, which produces a solid line.\",\"help\":\"LGRID=*linetype*\",\"type\":\"value\"},{\"name\":\"LHREF=\",\"optional\":true,\"aliases\":[\"LH=\"],\"description\":\"Specifies the line type for reference lines requested with the HREF= and HREF2 options. The default value is 2, which produces a dashed line.\",\"help\":\"LHREF=*linetype*\",\"type\":\"value\"},{\"name\":\"LIMITN=\",\"optional\":true,\"description\":\"Specifies either a varying or a fixed nominal sample size n for the control limits.\",\"help\":\"LIMITN=VARYING | n\",\"type\":\"choice\",\"arguments\":[{\"name\":\"VARYING\",\"description\":\"Specifies a varying nominal sample size for the control limits.\",\"type\":\"standalone\"},{\"name\":\"n\",\"description\":\"Specifies a fixed nominal sample size for the control limits.\",\"type\":\"standalone\"}]},{\"name\":\"LIMLABSUBCHAR=\",\"optional\":true,\"description\":\"Specifies a substitution character (such as #) for labels provided as quoted strings with the LCLLABEL=, LCLLABEL2=, UCLLABEL=, UCLLABEL2=, CSYMBOL=, NPSYMBOL=, PSYMBOL=, RSYMBOL=, SSYMBOL=, USYMBOL=, and XSYMBOL= options.\",\"help\":\"LIMLABSUBCHAR='*character*'\",\"type\":\"value\"},{\"name\":\"LLIMITS=\",\"optional\":true,\"description\":\"Specifies the line type for control limits. The default is 4, which produces a dashed line.\",\"help\":\"LLIMITS=*linetype*\",\"type\":\"value\"},{\"name\":\"LOVERLAY2=\",\"optional\":true,\"description\":\"Specifies line types for the line segments connecting points on secondary chart overlays. Line types in the LOVERLAY2= list are matched with variables in the corresponding positions in the OVERLAY2= list.\",\"type\":\"value\"},{\"name\":\"LOVERLAY=\",\"optional\":true,\"description\":\"Specifies line types for the line segments connecting points on primary chart overlays. Line types in the LOVERLAY= list are matched with variables in the corresponding positions in the OVERLAY= list.\",\"type\":\"value\"},{\"name\":\"LSL=\",\"optional\":true,\"description\":\"Provides lower specification limits used to compute capability indices.\",\"help\":\"LSL=*value-list*\",\"type\":\"value\"},{\"name\":\"LSTARCIRCLES=\",\"optional\":true,\"description\":\"Specifies one or more line types for the circles requested with the STARCIRCLES= option.\",\"help\":\"LSTARCIRCLES=*linetypes*\",\"type\":\"value\"},{\"name\":\"LSTARS=\",\"optional\":true,\"description\":\"Specifies the line types for the outlines of stars requested with the STARVERTICES= option.\",\"type\":\"value\"},{\"name\":\"LTESTS=\",\"optional\":true,\"aliases\":[\"LTEST=\"],\"description\":\"Specifies the line type for the line segments that connect patterns of points for which a test for special causes (requested with the TESTS= option) is positive. The default is 1, which produces a solid line.\",\"help\":\"LTESTS=*linetype*\",\"type\":\"value\"},{\"name\":\"LTMARGIN=\",\"optional\":true,\"aliases\":[\"LTM=\"],\"description\":\"Specifies the width of the left marginal area for the plot requested with the LTMPLOT= option.\",\"help\":\"LTMARGIN=*value*\",\"type\":\"value\"},{\"name\":\"LTMPLOT=\",\"optional\":true,\"description\":\"Requests a univariate plot of the control chart statistics that is positioned in the left margin of the control chart.\",\"help\":\"LTMPLOT=HISTOGRAM | DIGIDOT | SKELETAL | SCHEMATIC | SCHEMATICID | SCHEMATICIDFAR\",\"type\":\"choice\",\"arguments\":[{\"name\":\"HISTOGRAM\",\"description\":\"Histogram\",\"type\":\"standalone\"},{\"name\":\"DIGIDOT\",\"description\":\"Digidot plot\",\"type\":\"standalone\"},{\"name\":\"SKELETAL\",\"description\":\"Skeletal box-and-whisker plot\",\"type\":\"standalone\"},{\"name\":\"SCHEMATIC\",\"description\":\"Schematic box-and-whisker plot\",\"type\":\"standalone\"},{\"name\":\"SCHEMATICID\",\"description\":\"Schematic box-and-whisker plot with outliers labeled\",\"type\":\"standalone\"},{\"name\":\"SCHEMATICIDFAR\",\"description\":\"Schematic box-and-whisker plot with far outliers labeled\",\"type\":\"standalone\"}]},{\"name\":\"LVREF=\",\"optional\":true,\"aliases\":[\"LV=\"],\"description\":\"Specifies the line type for reference lines requested by the VREF= and VREF2= options. The default value is 2, which produces a dashed line.\",\"help\":\"LVREF=*linetype*\",\"type\":\"value\"},{\"name\":\"LZONES=\",\"optional\":true,\"description\":\"Specifies the line type for lines that delineate zones A, B, and C for standard tests requested with the TESTS= and/or TESTS2= options. The default is n=2, which produces a dashed line.\",\"help\":\"LZONES=*n*\",\"type\":\"value\"},{\"name\":\"MAXPANELS=\",\"optional\":true,\"description\":\"Specifies the maximum number of pages or screens for a chart. By default, n=20.\",\"help\":\"MAXPANELS=*n*\",\"type\":\"value\"},{\"name\":\"MEDCENTRAL=\",\"optional\":true,\"description\":\"Identifies a method for estimating the process mean, µ, which is represented by the central line on a median chart.\",\"help\":\"MEDCENTRAL=AVGMEAN | AVGMED | MEDMED\",\"type\":\"choice\",\"arguments\":[{\"name\":\"AVGMEAN\",\"description\":\"Average of subgroup means\",\"type\":\"standalone\"},{\"name\":\"AVGMED\",\"description\":\"Average of subgroup medians\",\"type\":\"standalone\"},{\"name\":\"MEDMED\",\"description\":\"Median of subgroup medians\",\"type\":\"standalone\"}]},{\"name\":\"MISSBREAK\",\"optional\":true,\"description\":\"Determines how subgroups are formed when observations are read from a DATA= data set and a character subgroup-variable is provided.\",\"type\":\"standalone\"},{\"name\":\"MRRESTART\",\"optional\":true,\"description\":\"Causes the moving range computation on the IRCHART to be restarted when any missing value is encountered.\",\"type\":\"standalone\"},{\"name\":\"MRRESTART=\",\"optional\":true,\"description\":\"' Causes the moving range computation on the IRCHART to be restarted only when the specified missing value is encountered.\",\"help\":\"MRRESTART=*value*\",\"type\":\"value\"},{\"name\":\"MU0=\",\"optional\":true,\"description\":\"Specifies a known (standard) value u0 for the process mean µ.\",\"help\":\"MU0=*value*\",\"type\":\"value\"},{\"name\":\"NAME2=\",\"optional\":true,\"description\":\"Specifies a name for the secondary chart of length 8 or less that appears in the PROC GREPLAY master menu. The default name is 'SHEWHART'.\",\"help\":\"NAME2='*string*'\",\"type\":\"value\"},{\"name\":\"NAME=\",\"optional\":true,\"description\":\"Specifies a name for the primary chart of length 8 or less that appears in the PROC GREPLAY master menu. The default name is 'SHEWHART'.\",\"help\":\"NAME='*string*'\",\"type\":\"value\"},{\"name\":\"NDECIMAL2=\",\"optional\":true,\"description\":\"Specifies the number of decimal digits in the default labels for the control limits and the central line in a secondary chart.\",\"help\":\"NDECIMAL2=*n*\",\"type\":\"value\"},{\"name\":\"NDECIMAL=\",\"optional\":true,\"description\":\"Specifies the number of decimal digits in the default labels for the control limits and the central line in the primary chart.\",\"help\":\"NDECIMAL=*n*\",\"type\":\"value\"},{\"name\":\"NEEDLES\",\"optional\":true,\"description\":\"Connects plotted points to the central line with vertical line segments (needles).\",\"type\":\"standalone\"},{\"name\":\"NMARKERS\",\"optional\":true,\"description\":\"Identifies a plotted subgroup summary statistic with a special symbol marker (character) when the corresponding subgroup sample size is not equal to the nominal control limit sample size n.\",\"type\":\"standalone\"},{\"name\":\"NO3SIGMACHECK\",\"optional\":true,\"description\":\"Suppresses the check for 3σ limits when tests for special causes are requested.\",\"type\":\"standalone\"},{\"name\":\"NOBLOCKREFFILL\",\"optional\":true,\"aliases\":[\"NOPHASEREFILL\",\"NOREFILL\"],\"description\":\"Suppresses the block and phase wall fills from ODS Graphics output. By default, block and phase walls are filled when ODS Graphics is in effect.\",\"type\":\"standalone\"},{\"name\":\"NOBLOCKREF\",\"optional\":true,\"aliases\":[\"NOPHASEREF=\",\"NOREF=\"],\"description\":\"Suppresses block and phase reference lines from ODS Graphics output.\",\"type\":\"standalone\"},{\"name\":\"NOBOXFILLLEGEND\",\"optional\":true,\"aliases\":[\"NOFILLLEGEND\",\"NOSTARFILLLEGEND\"],\"description\":\"Suppresses the legend for the levels of a BOXFILL= or STARFILL= variable in ODS Graphics output.\",\"type\":\"standalone\"},{\"name\":\"NOBYREF\",\"optional\":true,\"description\":\"Specifies that the reference line information in an HREF=, HREF2=, VREF=, or VREF2= data set be applied uniformly to box plots created for all the BY groups in the input data set. If you specify the NOBYREF option, you do not need to provide BY variables in the reference line data set. By default, you must provide BY variables.\",\"type\":\"standalone\"},{\"name\":\"NOCHART2\",\"optional\":true,\"description\":\"Suppresses the creation of a secondary chart. You typically use this option in the IRCHART statement to create a chart for individual measurements and suppress the accompanying chart for moving ranges.\",\"type\":\"standalone\"},{\"name\":\"NOCHART\",\"optional\":true,\"aliases\":[\"NOCH\"],\"description\":\"Suppresses the creation of the chart. You typically specify the NOCHART option when you are using the procedure to compute control limits and save them in an output data set.\",\"type\":\"standalone\"},{\"name\":\"NOCONNECT\",\"optional\":true,\"description\":\"Suppresses line segments that connect points on the chart.\",\"type\":\"standalone\"},{\"name\":\"NOCTL\",\"optional\":true,\"description\":\"Suppresses the display of the central line in a primary chart.\",\"type\":\"standalone\"},{\"name\":\"NOCTL2\",\"optional\":true,\"description\":\"Suppresses the display of the central line in a secondary chart.\",\"type\":\"standalone\"},{\"name\":\"NOFRAME\",\"optional\":true,\"description\":\"Suppresses the default frame drawn around the chart.\",\"type\":\"standalone\"},{\"name\":\"NOHLABEL\",\"optional\":true,\"description\":\"Suppresses the label for the horizontal (subgroup) axis.\",\"type\":\"standalone\"},{\"name\":\"NOLCL\",\"optional\":true,\"description\":\"Suppresses the display of the lower control limit in a primary chart.\",\"type\":\"standalone\"},{\"name\":\"NOLCL2\",\"optional\":true,\"description\":\"Suppresses the display of the lower control limit in a secondary chart.\",\"type\":\"standalone\"},{\"name\":\"NOLEGEND\",\"optional\":true,\"description\":\"Suppresses the default legend for subgroup sample sizes, which appears by default below the chart.\",\"type\":\"standalone\"},{\"name\":\"NOLIMIT0\",\"optional\":true,\"description\":\"Suppresses the display of a fixed lower control limit if and only if the value of the limit is zero.\",\"type\":\"standalone\"},{\"name\":\"NOLIMIT1\",\"optional\":true,\"description\":\"Suppresses the display of a fixed upper control limit on a p chart if and only if the value of the control limit is 1 (or 100%), or on an np chart if and only if the value of the control limit is n.\",\"type\":\"standalone\"},{\"name\":\"NOLIMITLABEL\",\"optional\":true,\"description\":\"Suppresses the default labels for the control limits and central lines.\",\"type\":\"standalone\"},{\"name\":\"NOLIMITS\",\"optional\":true,\"description\":\"Suppresses the display of control limits.\",\"type\":\"standalone\"},{\"name\":\"NOLIMITSFRAME\",\"optional\":true,\"description\":\"Suppresses the default frame for the control limit information that is displayed across the top of the chart when multiple sets of control limits with distinct multiples of σ and nominal control limit sample sizes are read from a LIMITS= data set.\",\"type\":\"standalone\"},{\"name\":\"NOLIMITSLEGEND\",\"optional\":true,\"description\":\"Suppresses the legend for the control limits, which appears by default in the upper right corner of the chart.\",\"type\":\"standalone\"},{\"name\":\"NOOVERLAYLEGEND\",\"optional\":true,\"description\":\"Suppresses the legend for overlay variables which is displayed by default when the OVERLAY= or OVERLAY2= option is specified.\",\"type\":\"standalone\"},{\"name\":\"NOPHASEFRAME\",\"optional\":true,\"description\":\"Suppresses the default frame for the legend requested by the PHASELEGEND option.\",\"type\":\"standalone\"},{\"name\":\"NOREADLIMITS\",\"optional\":true,\"description\":\"Specifies that the control limits for each process listed in the chart statement are not to be read from the LIMITS= data set specified in the PROC SHEWHART statement.\",\"type\":\"standalone\"},{\"name\":\"NOTCHES\",\"optional\":true,\"description\":\"Specifies that box-and-whiskers plots created by the BOXCHART statement are to be notched.\",\"type\":\"standalone\"},{\"name\":\"NOTESTACROSS\",\"optional\":true,\"description\":\"Specifies that tests for special causes requested with the TESTS= or TESTS2= options not be applied across the boundaries of phases (blocks of consecutive subgroups) determined by the READPHASES= option and the variable _PHASE_ in the input data set.\",\"type\":\"standalone\"},{\"name\":\"NOTICKREP\",\"optional\":true,\"description\":\"Applies to character-valued subgroup-variables and specifies that only the first occurrence of repeated, adjacent group values be labeled on the horizontal axis.\",\"type\":\"standalone\"},{\"name\":\"NOTRANSPARENCY\",\"optional\":true,\"description\":\"Disables transparency in ODS Graphics output, so that all graph features are opaque.\",\"type\":\"standalone\"},{\"name\":\"NOTRENDCONNECT\",\"optional\":true,\"description\":\"Suppresses line segments that connect points on a trend chart.\",\"type\":\"standalone\"},{\"name\":\"NOTRUNC\",\"optional\":true,\"description\":\"Overrides the vertical axis truncation at zero.\",\"type\":\"standalone\"},{\"name\":\"NOUCL\",\"optional\":true,\"description\":\"Suppresses the display of the upper control limit in a primary chart.\",\"type\":\"standalone\"},{\"name\":\"NOUCL2\",\"optional\":true,\"description\":\"suppresses the display of the upper control limit in a secondary chart.\",\"type\":\"standalone\"},{\"name\":\"NOVANGLE\",\"optional\":true,\"description\":\"Requests that the vertical axis label be strung out vertically.\",\"type\":\"standalone\"},{\"name\":\"NPANELPOS=\",\"optional\":true,\"aliases\":[\"NPANEL=\"],\"description\":\"Specifies the number of subgroup positions per panel on each chart.\",\"help\":\"NPANELPOS=*n*\",\"type\":\"value\"},{\"name\":\"NPSYMBOL=\",\"optional\":true,\"description\":\"Specifies a label for the central line in an np chart.\",\"help\":\"NPSYMBOL='*label*' | NP | NPBAR | NPPM | NPPM2 | NP0\",\"type\":\"choice\",\"arguments\":[{\"name\":\"'label'\",\"placeholder\":true,\"description\":\"A quoted label up to 16 characters in length.\",\"type\":\"value\"},{\"name\":\"NP\",\"description\":\"NP\",\"type\":\"standalone\"},{\"name\":\"NPBAR\",\"description\":\"NPBAR\",\"type\":\"standalone\"},{\"name\":\"NPPM\",\"description\":\"NP'\",\"type\":\"standalone\"},{\"name\":\"NPPM2\",\"description\":\"NP''\",\"type\":\"standalone\"},{\"name\":\"NP0\",\"description\":\"NP0\",\"type\":\"standalone\"}]},{\"name\":\"ODSFOOTNOTE2=\",\"optional\":true,\"description\":\"Adds a secondary footnote to ODS Graphics output.\",\"help\":\"ODSFOOTNOTE2=FOOTNOTE2 | '*string*'\",\"type\":\"choice\",\"arguments\":[{\"name\":\"FOOTNOTE2\",\"description\":\"The value of SAS FOOTNOTE2 statement is used as the graph footnote.\",\"type\":\"standalone\"},{\"name\":\"'string'\",\"placeholder\":true,\"description\":\"A quoted string is used as the secondary footnote.\",\"type\":\"value\"}]},{\"name\":\"ODSFOOTNOTE=\",\"optional\":true,\"description\":\"Adds a footnote to ODS Graphics output.\",\"help\":\"ODSFOOTNOTE=FOOTNOTE | FOOTNOTE1 | '*string*'\",\"type\":\"choice\",\"arguments\":[{\"name\":\"FOOTNOTE\",\"description\":\"The value of SAS FOOTNOTE statement is used as the graph footnote.\",\"type\":\"standalone\"},{\"name\":\"FOOTNOTE1\",\"description\":\"The value of SAS FOOTNOTE statement is used as the graph footnote.\",\"type\":\"standalone\"},{\"name\":\"'string'\",\"placeholder\":true,\"description\":\"A quoted string is used as the graph footnote.\",\"type\":\"value\"}]},{\"name\":\"ODSLEGENDEXPAND\",\"optional\":true,\"description\":\"Specifies that legend entries contain all levels observed in the data.\",\"type\":\"standalone\"},{\"name\":\"ODSTITLE2=\",\"optional\":true,\"description\":\"Specifies a secondary title for ODS Graphics output.\",\"help\":\"ODSTITLE2=TITLE2 | 'string'\",\"type\":\"choice\",\"arguments\":[{\"name\":\"TITLE2\",\"description\":\"Uses the value of SAS TITLE2 statement as the secondary graph title.\",\"type\":\"standalone\"},{\"name\":\"'string'\",\"placeholder\":true,\"description\":\"A quoted string is used as the secondary title.\",\"type\":\"value\"}]},{\"name\":\"ODSTITLE=\",\"optional\":true,\"description\":\"Specifies a title for ODS Graphics output.\",\"help\":\"ODSTITLE=TITLE | TITLE1 | NONE | DEFAULT | LABELFMT | '*string*'\",\"type\":\"choice\",\"arguments\":[{\"name\":\"TITLE\",\"description\":\"Uses the value of SAS TITLE statement as the graph title.\",\"type\":\"standalone\"},{\"name\":\"TITLE1\",\"description\":\"Uses the value of SAS TITLE statement as the graph title.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"Suppresses all titles from the graph.\",\"type\":\"standalone\"},{\"name\":\"DEFAULT\",\"description\":\"Uses the default ODS Graphics title (a descriptive title consisting of the plot type and the process variable name.)\",\"type\":\"standalone\"},{\"name\":\"LABELFMT\",\"description\":\"Uses the default ODS Graphics title with the variable label instead of the variable name.\",\"type\":\"standalone\"},{\"name\":\"'string'\",\"placeholder\":true,\"description\":\"A quoted string is used as the graph title.\",\"type\":\"value\"}]},{\"name\":\"OUTBOX=\",\"optional\":true,\"description\":\"Creates an output data set that contains subgroup summary statistics, control limits, and outlier values for a box chart.\",\"help\":\"OUTBOX=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"OUTFILL\",\"optional\":true,\"description\":\"Fills the areas outside the control limits that lie between the connected points and the control limits and are bounded by connecting lines.\",\"type\":\"standalone\"},{\"name\":\"OUTFILLOPACITY=\",\"optional\":true,\"description\":\"Specifies the control limit outfill opacity when transparency is used in ODS Graphics output. The value must be between 0 and 1, where 0 is completely transparent and 1 is completely opaque. The default control limit outfill opacity is 0.25.\",\"help\":\"OUTFILLOPACITY=*value*\",\"type\":\"value\"},{\"name\":\"OUTHIGHHTML=\",\"optional\":true,\"description\":\"Specifies a variable whose values are URLs to be associated with outlier points above the upper fence on a schematic box plot when graphics output is directed into HTML.\",\"help\":\"OUTHIGHHTML=*variable*\",\"type\":\"value\"},{\"name\":\"OUTHISTORY=\",\"optional\":true,\"description\":\"Creates an output data set that contains the subgroup summary statistics.\",\"help\":\"OUTHISTORY=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"OUTINDEX=\",\"optional\":true,\"description\":\"Specifies the value of the _INDEX_ variable in the OUTLIMITS= output data set.\",\"help\":\"OUTINDEX='*label*'\",\"type\":\"value\"},{\"name\":\"OUTLABEL2=\",\"optional\":true,\"description\":\"Labels each point that falls outside the control limits on an R or s chart with the VALUE plotted for that subgroup or with the value of a variable in the input data set.\",\"type\":\"value\"},{\"name\":\"OUTLABEL=\",\"optional\":true,\"description\":\"Labels each point that falls outside the control limits on the primary chart with the VALUE plotted for that subgroup or with the value of a variable in the input data set.\",\"type\":\"value\"},{\"name\":\"OUTLIMITS=\",\"optional\":true,\"description\":\"Creates an output data set that saves the control limits.\",\"help\":\"OUTLIMITS=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"OUTLOWHTML=\",\"optional\":true,\"description\":\"Specifies a variable whose values are URLs to be associated with outlier points below the lower fence on a schematic box plot when graphics output is directed into HTML.\",\"help\":\"OUTLOWHTML=*variable*\",\"type\":\"value\"},{\"name\":\"OUTPHASE=\",\"optional\":true,\"description\":\"Specifies the value of the _PHASE_ variable in the OUTHISTORY= data set.\",\"help\":\"OUTPHASE='*label*'\",\"type\":\"value\"},{\"name\":\"OUTTABLE=\",\"optional\":true,\"description\":\"Creates an output SAS data set that saves the information plotted on the chart, including the subgroup variable values and their corresponding summary statistics and control limits.\",\"help\":\"OUTTABLE=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"OVERLAY2=\",\"optional\":true,\"description\":\"Specifies variables to be overlaid on a secondary control chart.\",\"type\":\"value\"},{\"name\":\"OVERLAY2HTML=\",\"optional\":true,\"description\":\"Specifies variables whose values are URLs to be associated with points on secondary chart overlays.\",\"type\":\"value\"},{\"name\":\"OVERLAY2ID=\",\"optional\":true,\"description\":\"Specifies variables whose formatted values are used to label points on secondary chart overlays.\",\"type\":\"value\"},{\"name\":\"OVERLAY2SYM=\",\"optional\":true,\"description\":\"Specifies symbols used to plot overlays on a secondary control chart.\",\"type\":\"value\"},{\"name\":\"OVERLAY=\",\"optional\":true,\"description\":\"Specifies variables to be overlaid on the primary control chart.\",\"type\":\"value\"},{\"name\":\"OVERLAYCLIPSYM=\",\"optional\":true,\"description\":\"Specifies the symbol used to plot clipped values on overlay plots when the CLIPFACTOR= option is used.\",\"help\":\"OVERLAYCLIPSYM=*symbol*\",\"type\":\"value\"},{\"name\":\"OVERLAYCLIPSYMHT=\",\"optional\":true,\"description\":\"Specifies the height for the symbol used to plot clipped values on overlay plots when the CLIPFACTOR= option is used.\",\"help\":\"OVERLAYCLIPSYMHT=*value*\",\"type\":\"value\"},{\"name\":\"OVERLAYHTML=\",\"optional\":true,\"description\":\"Specifies variables whose values are URLs to be associated with points on primary chart overlays.\",\"type\":\"value\"},{\"name\":\"OVERLAYID=\",\"optional\":true,\"description\":\"Specifies variables whose formatted values are used to label points on primary chart overlays.\",\"type\":\"value\"},{\"name\":\"OVERLAYLEGLAB=\",\"optional\":true,\"description\":\"Specifies the label displayed to the left of the overlay legend produced by the OVERLAY= or OVERLAY2= option. The label can be up to 16 characters and must be enclosed in quotes. The default label is \\\"Overlays:\\\".\",\"help\":\"OVERLAYLEGLAB='*label*'\",\"type\":\"value\"},{\"name\":\"OVERLAYSYM=\",\"optional\":true,\"description\":\"Specifies symbols used to plot overlays on the primary control chart.\",\"type\":\"value\"},{\"name\":\"OVERLAYSYMHT=\",\"optional\":true,\"description\":\"Specifies the heights of symbols used to plot overlays on the primary control chart.\",\"type\":\"value\"},{\"name\":\"P0=\",\"optional\":true,\"description\":\"Specifies a known (standard) value po for the proportion of nonconforming items produced by the process.\",\"help\":\"P0=*value*\",\"type\":\"value\"},{\"name\":\"PAGENUM=\",\"optional\":true,\"description\":\"Specifies the form of the label used for pagination. The string can be up to 16 characters, and it must include one or two occurrences of the substitution character '#'. The first '#' is replaced with the page number, and the optional second '#' is replaced with the total number of pages.\",\"help\":\"PAGENUM='*string*'\",\"type\":\"value\"},{\"name\":\"PAGENUMPOS=\",\"optional\":true,\"description\":\"Specifies where to position the page number requested with the PAGENUM= option.\",\"help\":\"PAGENUMPOS=TL | TR | BL | BR | TL100 | TR100 | BL0 | BR0\",\"type\":\"choice\",\"arguments\":[{\"name\":\"TL\",\"description\":\"Top left\",\"type\":\"standalone\"},{\"name\":\"TR\",\"description\":\"Top right\",\"type\":\"standalone\"},{\"name\":\"BL\",\"description\":\"Bottom left\",\"type\":\"standalone\"},{\"name\":\"BR\",\"description\":\"Bottom right\",\"type\":\"standalone\"},{\"name\":\"TL100\",\"description\":\"Top left. TL100 ensures that the page number appears at the very top of a page when a title is displayed.\",\"type\":\"standalone\"},{\"name\":\"TR100\",\"description\":\"Top right. TR100 ensures that the page number appears at the very top of a page when a title is displayed.\",\"type\":\"standalone\"},{\"name\":\"BL0\",\"description\":\"Bottom left. BL0 ensures that the page number appears at the very bottom of a page when footnotes are displayed.\",\"type\":\"standalone\"},{\"name\":\"BR0\",\"description\":\"Bottom right. BR0 ensures that the page number appears at the very bottom of a page when footnotes are displayed.\",\"type\":\"standalone\"}]},{\"name\":\"PCTLDEF=\",\"optional\":true,\"description\":\"Specifies one of five definitions used to calculate percentiles in the construction of box-and-whiskers plots requested with the BOXCHART statement.\",\"help\":\"PCTLDEF=1 | 2 | 3 | 4 | 5\",\"type\":\"choice\",\"arguments\":[{\"name\":\"1\",\"description\":\"Definition 1 for computing quantile statistics\",\"type\":\"standalone\"},{\"name\":\"2\",\"description\":\"Definition 2 for computing quantile statistics\",\"type\":\"standalone\"},{\"name\":\"3\",\"description\":\"Definition 3 for computing quantile statistics\",\"type\":\"standalone\"},{\"name\":\"4\",\"description\":\"Definition 4 for computing quantile statistics\",\"type\":\"standalone\"},{\"name\":\"5\",\"description\":\"Definition 5 for computing quantile statistics\",\"type\":\"standalone\"}]},{\"name\":\"PHASEBOXLABELS\",\"optional\":true,\"description\":\"Draws phase labels as titles along the top of phase boxes.\",\"type\":\"standalone\"},{\"name\":\"PHASEBREAK\",\"optional\":true,\"description\":\"Specifies that the last point in a phase (defined as a block of consecutive subgroups with the same value of the _PHASE_ variable) is not to be connected to the first point in the next phase.\",\"type\":\"standalone\"},{\"name\":\"PHASELABTYPE=\",\"optional\":true,\"description\":\"Specifies how lengthy _PHASE_ variable values are to be displayed when there is insufficient space in the legend requested with the PHASELEGEND option.\",\"help\":\"PHASELABTYPE=SCALED | TRUNCATED\",\"type\":\"choice\",\"arguments\":[{\"name\":\"SCALED\",\"description\":\"The values are uniformly reduced in height so that they fit.\",\"type\":\"standalone\"},{\"name\":\"TRUNCATED\",\"description\":\"Lengthy values are truncated on the right until they fit.\",\"type\":\"standalone\"}]},{\"name\":\"PHASELEGEND\",\"optional\":true,\"aliases\":[\"PHASELEG\"],\"description\":\"Identifies the phases requested with the READPHASES= option in a legend across the top of the chart.\",\"type\":\"standalone\"},{\"name\":\"PHASELIMITS\",\"optional\":true,\"description\":\"Specifies that the control limits and center line are to be labeled for each phase specified with the READPHASES= option, providing the limits are constant within that phase.\",\"type\":\"standalone\"},{\"name\":\"PHASEMEANSYMBOL=\",\"optional\":true,\"description\":\"Specifies a symbol marker for the average of the values plotted within a phase.\",\"help\":\"PHASEMEANSYMBOL=*symbol*\",\"type\":\"value\"},{\"name\":\"PHASEPOS=\",\"optional\":true,\"description\":\"Specifies the vertical position of the phase legend.\",\"help\":\"PHASEPOS=1 | 2 | 3 | 4\",\"type\":\"choice\",\"arguments\":[{\"name\":\"1\",\"description\":\"Top of chart, offset from axis frame\",\"type\":\"standalone\"},{\"name\":\"2\",\"description\":\"Top of chart, immediately above axis frame\",\"type\":\"standalone\"},{\"name\":\"3\",\"description\":\"Bottom of chart, immediately above horizontal axis\",\"type\":\"standalone\"},{\"name\":\"4\",\"description\":\"Bottom of chart, below horizontal axis label\",\"type\":\"standalone\"}]},{\"name\":\"PHASEREF\",\"optional\":true,\"description\":\"Delineates the phases specified with the READPHASES= option with reference lines drawn vertically.\",\"type\":\"standalone\"},{\"name\":\"PHASEREFLEVEL=\",\"optional\":true,\"description\":\"Enables you to associate phase reference lines (block reference lines) with either the innermost or the outermost level.\",\"help\":\"PHASEREFLEVEL=INNER | OUTER | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"INNER\",\"description\":\"Associates phase reference lines (block reference lines) with the innermost level.\",\"type\":\"standalone\"},{\"name\":\"OUTER\",\"description\":\"Associates phase reference lines (block reference lines) with the outermost level.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"No association of phase reference lines (block reference lines) with the innermost or outermost level.\",\"type\":\"standalone\"}]},{\"name\":\"PHASEVALSEP\",\"optional\":true,\"description\":\"Displays vertical lines separating phase values in the phase legend.\",\"type\":\"standalone\"},{\"name\":\"PHASEVARLABEL\",\"optional\":true,\"description\":\"Displays the label associated with the variable _PHASE_ above the phase values in the phase legend.\",\"type\":\"standalone\"},{\"name\":\"POINTSHTML=\",\"optional\":true,\"description\":\"Specifies a variable whose values are URLs to be associated with points on a box chart when the BOXSTYLE= value is POINTS, POINTSJOIN, POINTSBOX, POINTSID, or POINTSJOINID.\",\"help\":\"POINTSHTML=*variable*\",\"type\":\"value\"},{\"name\":\"PSYMBOL=\",\"optional\":true,\"description\":\"Specifies a label for the central line in a P chart.\",\"help\":\"PSYMBOL=P | PBAR | PPM | PPM2 | P0 | '*label*'\",\"type\":\"choice\",\"arguments\":[{\"name\":\"P\",\"description\":\"P\",\"type\":\"standalone\"},{\"name\":\"PBAR\",\"description\":\"PBAR\",\"type\":\"standalone\"},{\"name\":\"PPM\",\"description\":\"P'\",\"type\":\"standalone\"},{\"name\":\"PPM2\",\"description\":\"P''\",\"type\":\"standalone\"},{\"name\":\"P0\",\"description\":\"Po\",\"type\":\"standalone\"},{\"name\":\"'label'\",\"placeholder\":true,\"description\":\"Specifies a quoted label up to 16 characters.\",\"type\":\"value\"}]},{\"name\":\"RANGES\",\"optional\":true,\"description\":\"Estimates the process standard deviation for a boxplot using subgroup ranges.\",\"type\":\"standalone\"},{\"name\":\"READALPHA\",\"optional\":true,\"description\":\"Specifies that the variable _ALPHA_, rather than the variable _SIGMAS_, is to be read from a LIMITS= data set when both variables are available in the data set.\",\"type\":\"standalone\"},{\"name\":\"READINDEX=\",\"optional\":true,\"aliases\":[\"READINDEXES=\",\"READINDICES=\"],\"description\":\"Reads one or more sets of control limits from a LIMITS= data set (specified in the PROC SHEWHART statement) for each process listed in the chart statement.\",\"type\":\"value\"},{\"name\":\"READLIMITS\",\"optional\":true,\"description\":\"Specifies that the control limits are to be read from a LIMITS= data set specified in the PROC SHEWHART statement.\",\"type\":\"standalone\"},{\"name\":\"READPHASES=\",\"optional\":true,\"aliases\":[\"READPHASE=\"],\"description\":\"Selects blocks of consecutive observations to be read from the input data set.\",\"type\":\"value\"},{\"name\":\"REPEAT\",\"optional\":true,\"aliases\":[\"REP\"],\"description\":\"Specifies that the horizontal axis of a chart that spans multiple panels be arranged so that the last subgroup position on a panel is repeated as the first subgroup position on the next panel.\",\"type\":\"standalone\"},{\"name\":\"RSYMBOL=\",\"optional\":true,\"description\":\"Specifies a label for the central line in an R chart.\",\"help\":\"RSYMBOL=R | RBAR | RPM | R0 | '*label*'\",\"type\":\"choice\",\"arguments\":[{\"name\":\"R\",\"description\":\"R\",\"type\":\"standalone\"},{\"name\":\"RBAR\",\"description\":\"RBAR\",\"type\":\"standalone\"},{\"name\":\"RPM\",\"description\":\"R'\",\"type\":\"standalone\"},{\"name\":\"R0\",\"description\":\"Ro\",\"type\":\"standalone\"},{\"name\":\"'label'\",\"placeholder\":true,\"description\":\"Specifies a quoted label up to 16 characters.\",\"type\":\"value\"}]},{\"name\":\"RTMARGIN=\",\"optional\":true,\"description\":\"Specifies the width of the right marginal area for the plot requested with the RTMPLOT= option.\",\"help\":\"RTMARGIN=*value*\",\"type\":\"value\"},{\"name\":\"RTMPLOT=\",\"optional\":true,\"description\":\"Requests a univariate plot of the control chart statistics that is positioned in the right margin of the control chart.\",\"help\":\"RTMPLOT=DIGIDOT | HISTOGRAM | SKELETAL | SCHEMATIC | SCHEMATICID | SCHEMATICIDFAR\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DIGIDOT\",\"description\":\"Digidot plot\",\"type\":\"standalone\"},{\"name\":\"HISTOGRAM\",\"description\":\"Histogram\",\"type\":\"standalone\"},{\"name\":\"SKELETAL\",\"description\":\"Skeletal box-and-whisker plot\",\"type\":\"standalone\"},{\"name\":\"SCHEMATIC\",\"description\":\"Schematic box-and-whisker plot\",\"type\":\"standalone\"},{\"name\":\"SCHEMATICID\",\"description\":\"Schematic box-and-whisker plot with outliers labeled\",\"type\":\"standalone\"},{\"name\":\"SCHEMATICIDFAR\",\"description\":\"Schematic box-and-whisker plot with far outliers labeled\",\"type\":\"standalone\"}]},{\"name\":\"SEPARATE\",\"optional\":true,\"description\":\"Displays primary and secondary charts on separate screens or pages.\",\"type\":\"standalone\"},{\"name\":\"SERIFS\",\"optional\":true,\"description\":\"Adds serifs to the whiskers of skeletal box-and-whisker charts.\",\"type\":\"standalone\"},{\"name\":\"SIGMA0=\",\"optional\":true,\"description\":\"Specifies a known (standard) value, σ0, for the process standard deviation, σ.\",\"help\":\"SIGMA0=*value*\",\"type\":\"value\"},{\"name\":\"SIGMAS=\",\"optional\":true,\"description\":\"Specifies the width of the control limits in terms of the multiple k of the standard error of the subgroup summary statistic plotted on the chart. The value of k must be positive. By default, k=3.\",\"help\":\"SIGMAS=*k*\",\"type\":\"value\"},{\"name\":\"SIMULATEQCFONT\",\"optional\":true,\"description\":\"Draws the central line labels using a simulated software font rather than a hardware font.\",\"type\":\"standalone\"},{\"name\":\"SKIPHLABELS=\",\"optional\":true,\"aliases\":[\"SKIPLABEL=\"],\"description\":\"Specifies the number n of consecutive tick mark labels, beginning with the second tick mark label, that are thinned (not displayed) on the horizontal (subgroup) axis.\",\"help\":\"SKIPHLABELS=*n*\",\"type\":\"value\"},{\"name\":\"SMETHOD=\",\"optional\":true,\"description\":\"Specifies a method for estimating the process standard deviation, σ.\",\"help\":\"SMETHOD=NOWEIGHT | MVLUE | RMSDF | MAD | MMR | MVGRANGE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NOWEIGHT\",\"description\":\"Estimates σ as an unweighted average of unbiased subgroup estimates of σ.\",\"type\":\"standalone\"},{\"name\":\"MVLUE\",\"description\":\"Calculates a minimum variance linear unbiased estimate for σ\",\"type\":\"standalone\"},{\"name\":\"RMSDF\",\"description\":\"Calculates a root-mean square estimate for σ\",\"type\":\"standalone\"},{\"name\":\"MAD\",\"description\":\"Calculates a median absolute deviation estimate for σ (IRCHART only)\",\"type\":\"standalone\"},{\"name\":\"MMR\",\"description\":\"Calculates a median moving range estimate for σ (IRCHART only)\",\"type\":\"standalone\"},{\"name\":\"MVGRANGE\",\"description\":\"Estimates σ based on a moving range of subgroup means (XRCHART and XSCHART only)\",\"type\":\"standalone\"}]},{\"name\":\"SPLIT=\",\"optional\":true,\"description\":\"Specifies a special character that is inserted into the label of a process variable or summary statistic variable and whose purpose is to split the label into two parts.\",\"help\":\"SPLIT='*character*'\",\"type\":\"value\"},{\"name\":\"SSYMBOL=\",\"optional\":true,\"description\":\"Specifies a label for the central line in an S chart.\",\"help\":\"SSYMBOL=S | SBAR | SPM | S0 | '*label*'\",\"type\":\"choice\",\"arguments\":[{\"name\":\"S\",\"description\":\"S\",\"type\":\"standalone\"},{\"name\":\"SBAR\",\"description\":\"SBAR\",\"type\":\"standalone\"},{\"name\":\"SPM\",\"description\":\"S'\",\"type\":\"standalone\"},{\"name\":\"S0\",\"description\":\"So\",\"type\":\"standalone\"},{\"name\":\"'label'\",\"placeholder\":true,\"description\":\"Specifies a quoted label up to 16 characters.\",\"type\":\"value\"}]},{\"name\":\"STARBDRADIUS=\",\"optional\":true,\"description\":\"Specifies the radius of an imaginary circle that is the outer bound for vertices of stars requested with the STARVERTICES= option.\",\"help\":\"STARBDRADIUS=*value*\",\"type\":\"value\"},{\"name\":\"STARCIRCLES=\",\"optional\":true,\"description\":\"Specifies reference circles that are superimposed on the stars requested with the STARVERTICES= option.\",\"help\":\"STARCIRCLES=*values*\",\"type\":\"value\"},{\"name\":\"STARFILL=\",\"optional\":true,\"description\":\"Specifies colors for filling the interior of stars requested with the STARVERTICES= option.\",\"help\":\"STARFILL=*variable*\",\"type\":\"value\"},{\"name\":\"STARINRADIUS=\",\"optional\":true,\"description\":\"Specifies the inner radius of stars requested with the STARVERTICES= option. For traditional graphics, the radius is specified in horizontal percent screen units. For ODS Graphics output, the radius is specified in pixels.\",\"help\":\"STARINRADIUS=*value*\",\"type\":\"value\"},{\"name\":\"STARLABEL=\",\"optional\":true,\"description\":\"Specifies a method for labeling the vertices of stars requested with the STARVERTICES= option.\",\"help\":\"STARLABEL=ALL | FIRST | HIGH | LOW | OUT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ALL\",\"description\":\"Labels all vertices of all stars.\",\"type\":\"standalone\"},{\"name\":\"FIRST\",\"description\":\"Labels all vertices of the leftmost star.\",\"type\":\"standalone\"},{\"name\":\"HIGH\",\"description\":\"Labels only vertices that lie outside the outer circle.\",\"type\":\"standalone\"},{\"name\":\"LOW\",\"description\":\"Labels only vertices that lie inside the inner circle.\",\"type\":\"standalone\"},{\"name\":\"OUT\",\"description\":\"Labels only vertices that lie inside the inner circle or outside the outer circle.\",\"type\":\"standalone\"}]},{\"name\":\"STARLEGEND=\",\"optional\":true,\"description\":\"Specifies the style of the legend used to identify the vertices of stars requested with the STARVERTICES= option.\",\"help\":\"STARLEGEND=CLOCK | CLOCK0 | DEGREES | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"CLOCK\",\"description\":\"Identifies the vertex variables by their positions on the clock (starting with 12:00)\",\"type\":\"standalone\"},{\"name\":\"CLOCK0\",\"description\":\"Identifies the vertex variables by their positions on the clock (starting with 0:00)\",\"type\":\"standalone\"},{\"name\":\"DEGREES\",\"description\":\"Identifies the vertex variables by angles in degrees, with 0 degrees corresponding to 12 o'clock\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"Suppresses the legend.\",\"type\":\"standalone\"}]},{\"name\":\"STARLEGENDLAB=\",\"optional\":true,\"description\":\"Specifies the label displayed to the left of the legend for stars requested with the STARLEGEND= option. The label can be up to 16 characters and must be enclosed in quotes.\",\"help\":\"STARLEGENDLAB='*label*'\",\"type\":\"value\"},{\"name\":\"STAROPACITY=\",\"optional\":true,\"description\":\"Specifies the star fill opacity when transparency is used in ODS Graphics output. The value must be between 0 and 1, where 0 is completely transparent and 1 is completely opaque. The default star fill opacity is 0.75.\",\"help\":\"STAROPACITY=*value*\",\"type\":\"value\"},{\"name\":\"STAROUTRADIUS=\",\"optional\":true,\"description\":\"Specifies the outer radius of stars requested with the STARVERTICES= option.\",\"help\":\"STAROUTRADIUS=*value*\",\"type\":\"value\"},{\"name\":\"STARS=\",\"optional\":true,\"description\":\"Specifies colors for the outlines of stars requested with the STARVERTICES= option.\",\"help\":\"STARS=*variable*\",\"type\":\"value\"},{\"name\":\"STARSPECS=\",\"optional\":true,\"aliases\":[\"STARSPEC=\"],\"description\":\"Specifies the method used to standardize the star vertex variables listed with the STARVERTICES= option.\",\"type\":\"value\"},{\"name\":\"STARSTART=\",\"optional\":true,\"description\":\"Specifies the vertex angle for the first variable in the STARVERTICES= list.\",\"help\":\"STARSTART=*value*\",\"type\":\"value\"},{\"name\":\"STARTYPE=\",\"optional\":true,\"description\":\"Specifies the style of the stars requested with the STARVERTICES= option.\",\"help\":\"STARTYPE=CORONA | POLYGON | RADIAL | SPOKE | WEDGE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"CORONA\",\"description\":\"Polygon with star-vertices emanating from the inner circle\",\"type\":\"standalone\"},{\"name\":\"POLYGON\",\"description\":\"Closed polygon\",\"type\":\"standalone\"},{\"name\":\"RADIAL\",\"description\":\"Rays emanating from the center\",\"type\":\"standalone\"},{\"name\":\"SPOKE\",\"description\":\"Rays emanating from the inner circle\",\"type\":\"standalone\"},{\"name\":\"WEDGE\",\"description\":\"Closed polygon with rays from the center to each vertex\",\"type\":\"standalone\"}]},{\"name\":\"STARVERTICES=\",\"optional\":true,\"description\":\"Superimposes a star (polygon) at each point on the primary chart.\",\"type\":\"value\"},{\"name\":\"STDDEVIATIONS\",\"optional\":true,\"aliases\":[\"STDDEVS\"],\"description\":\"Specifies that the estimate of the process standard deviation, σ, is to be calculated from subgroup standard deviations.\",\"type\":\"standalone\"},{\"name\":\"SUBGROUPN=\",\"optional\":true,\"description\":\"Specifies the subgroup sample sizes as a constant value or as the values of a variable in the DATA= data set.\",\"help\":\"SUBGROUPN=*value*\",\"type\":\"value\"},{\"name\":\"SYMBOLCHARS=\",\"optional\":true,\"description\":\"Specifies a list of characters used to mark the points plotted on line printer charts when a symbol-variable is used.\",\"help\":\"SYMBOLCHARS='*character-list*'\",\"type\":\"value\"},{\"name\":\"SYMBOLLEGEND=\",\"optional\":true,\"description\":\"Controls the legend for the levels of a symbol-variable.\",\"help\":\"SYMBOLLEGEND=LEGENDn | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"LEGENDn\",\"description\":\"You can specify SYMBOLLEGEND=LEGENDn, where n is the number of a LEGEND statement defined previously.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"Suppresses the default legend.\",\"type\":\"standalone\"}]},{\"name\":\"SYMBOLORDER=\",\"optional\":true,\"aliases\":[\"SYMORD=\"],\"description\":\"Specifies the order in which symbols are assigned for levels of the symbol-variable.\",\"help\":\"SYMBOLORDER=DATA | INTERNAL | FORMATTED\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DATA\",\"description\":\"Assigns symbols to values in the order in which values appear in the input data set.\",\"type\":\"standalone\"},{\"name\":\"INTERNAL\",\"description\":\"Assigns symbols based on sorted order of internal values of the symbol variable\",\"type\":\"standalone\"},{\"name\":\"FORMATTED\",\"description\":\"Assigns them based on sorted formatted values.\",\"type\":\"standalone\"}]},{\"name\":\"TABLEALL\",\"optional\":true,\"description\":\"Tabulates the information about the control chart and is equivalent to specifying all of the following options: TABLES, TABLECENTRAL, TABLEID, TABLELEGEND, TABLEOUT, and TABLETESTS. The keyword EXCEPTIONS restricts the tabulation to those subgroups for which the control limits are exceeded or a test for special causes is positive.\",\"help\":\"TABLEALL&lt;(EXCEPTIONS)&gt;\",\"type\":\"standaloneOrValue\",\"arguments\":[{\"name\":\"(EXCEPTIONS)\",\"description\":\"Restricts the tabulation to those subgroups for which the control limits are exceeded or a test for special causes is positive.\",\"type\":\"standalone\"}]},{\"name\":\"TABLEBOX\",\"optional\":true,\"description\":\"Augments the basic table created by the TABLES option with columns for the minimum, 25th percentile, median, 75th percentile, and maximum of the observations in a subgroup. The keyword EXCEPTIONS restricts the tabulation to those subgroups for which the control limits are exceeded or a test for special causes is positive.\",\"help\":\"TABLEBOX&lt;(EXCEPTIONS)&gt;\",\"type\":\"standaloneOrValue\",\"arguments\":[{\"name\":\"(EXCEPTIONS)\",\"description\":\"Augments the basic table created by the TABLES option with columns for the minimum, 25th percentile, median, 75th percentile, and maximum of the observations in a subgroup. The keyword EXCEPTIONS restricts the tabulation to those subgroups for which the control limits are exceeded or a test for special causes is positive.\",\"type\":\"standalone\"}]},{\"name\":\"TABLECENTRAL\",\"optional\":true,\"aliases\":[\"TABLEC\"],\"description\":\"Augments the basic table created by the TABLES option with columns for the values of the central lines. The keyword EXCEPTIONS restricts the tabulation to those subgroups for which the control limits are exceeded or a test for special causes is positive.\",\"help\":\"TABLECENTRAL&lt;(EXCEPTIONS)&gt;\",\"type\":\"standaloneOrValue\",\"arguments\":[{\"name\":\"(EXCEPTIONS)\",\"description\":\"Restricts the tabulation to those subgroups for which the control limits are exceeded or a test for special causes is positive.\",\"type\":\"standalone\"}]},{\"name\":\"TABLEID\",\"optional\":true,\"description\":\"Augments the basic table created by the TABLES option with a column for each of the ID variables. The keyword EXCEPTIONS restricts the tabulation to those subgroups for which the control limits are exceeded or a test for special causes is positive.\",\"help\":\"TABLEID&lt;(EXCEPTIONS)&gt;\",\"type\":\"standaloneOrValue\",\"arguments\":[{\"name\":\"(EXCEPTIONS)\",\"description\":\"Restricts the tabulation to those subgroups for which the control limits are exceeded or a test for special causes is positive.\",\"type\":\"standalone\"}]},{\"name\":\"TABLELEGEND\",\"optional\":true,\"aliases\":[\"TABLELEG\"],\"description\":\"Adds a legend to the basic table created by the TABLES option. The keyword EXCEPTIONS restricts the tabulation to those subgroups for which the control limits are exceeded or a test for special causes is positive.\",\"help\":\"TABLELEGEND&lt;(EXCEPTIONS)&gt;\",\"type\":\"standaloneOrValue\",\"arguments\":[{\"name\":\"(EXCEPTIONS)\",\"description\":\"Adds a legend to the basic table created by the TABLES option. The keyword EXCEPTIONS restricts the tabulation to those subgroups for which the control limits are exceeded or a test for special causes is positive.\",\"type\":\"standalone\"}]},{\"name\":\"TABLEOUTLIM\",\"optional\":true,\"aliases\":[\"TABLEOUT\"],\"description\":\"Augments the basic table created by the TABLES option with columns indicating which control limits (if any) are exceeded. The keyword EXCEPTIONS restricts the tabulation to those subgroups for which the control limits are exceeded or a test for special causes is positive.\",\"help\":\"TABLEOUTLIM&lt;(EXCEPTIONS)&gt;\",\"type\":\"standaloneOrValue\",\"arguments\":[{\"name\":\"(EXCEPTIONS)\",\"description\":\"Restricts the tabulation to those subgroups for which the control limits are exceeded or a test for special causes is positive.\",\"type\":\"standalone\"}]},{\"name\":\"TABLES\",\"optional\":true,\"aliases\":[\"TABLE\"],\"description\":\"Creates a basic table of the subgroup values, the subgroup sample sizes, the subgroup summary statistics, and the upper and lower control limits. Rows of the table correspond to subgroups. The keyword EXCEPTIONS restricts the tabulation to those subgroups for which the control limits are exceeded or a test for special causes is positive.\",\"help\":\"TABLES&lt;(EXCEPTIONS)&gt;\",\"type\":\"standaloneOrValue\",\"arguments\":[{\"name\":\"(EXCEPTIONS)\",\"description\":\"Restricts the tabulation to those subgroups for which the control limits are exceeded or a test for special causes is positive.\",\"type\":\"standalone\"}]},{\"name\":\"TABLETESTS\",\"optional\":true,\"description\":\"Augments the basic table created by the TABLES option with a column that indicates which of the tests for special causes (requested with the TESTS= option) are positive. The keyword EXCEPTIONS restricts the tabulation to those subgroups for which the control limits are exceeded or a test for special causes is positive.\",\"help\":\"TABLETESTS&lt;(EXCEPTIONS)&gt;\",\"type\":\"standaloneOrValue\",\"arguments\":[{\"name\":\"(EXCEPTIONS)\",\"description\":\"Augments the basic table created by the TABLES option with a column that indicates which of the tests for special causes (requested with the TESTS= option) are positive. The keyword EXCEPTIONS restricts the tabulation to those subgroups for which the control limits are exceeded or a test for special causes is positive.\",\"type\":\"standalone\"}]},{\"name\":\"TARGET=\",\"optional\":true,\"description\":\"Provides target values used to compute the capability index Cpm, which is saved in the OUTLIMITS= data set.\",\"help\":\"TARGET=*value-list*\",\"type\":\"value\"},{\"name\":\"TEST2RESET=\",\"optional\":true,\"description\":\"Enables tests for special causes to be reset in a secondary chart. The specified variable must be a character variable of length 8, or length 16 if customized tests are requested.\",\"help\":\"TEST2RESET=*variable*\",\"type\":\"value\"},{\"name\":\"TEST2RUN=\",\"optional\":true,\"description\":\"Specifies the length of the pattern for Test 2 requested with the TESTS= and TESTS2= options.\",\"help\":\"TEST2RUN=7 | 8 | 9 | 11 | 14 | 20\",\"type\":\"choice\",\"arguments\":[{\"name\":\"7\",\"description\":\"7 in a row\",\"type\":\"standalone\"},{\"name\":\"8\",\"description\":\"8 in a row\",\"type\":\"standalone\"},{\"name\":\"9\",\"description\":\"9 in a row\",\"type\":\"standalone\"},{\"name\":\"11\",\"description\":\"At least 10 out of 11 in a row\",\"type\":\"standalone\"},{\"name\":\"14\",\"description\":\"At least 12 out of 14 in a row\",\"type\":\"standalone\"},{\"name\":\"20\",\"description\":\"At least 16 out of 20 in a row\",\"type\":\"standalone\"}]},{\"name\":\"TEST3RUN=\",\"optional\":true,\"description\":\"Specifies the length of the pattern for Test 3 requested with the TESTS= and TESTS2= options.\",\"help\":\"TEST3RUN=6 | 7 | 8\",\"type\":\"choice\",\"arguments\":[{\"name\":\"6\",\"description\":\"Length of the pattern is at least 6.\",\"type\":\"standalone\"},{\"name\":\"7\",\"description\":\"Length of the pattern is at least 7.\",\"type\":\"standalone\"},{\"name\":\"8\",\"description\":\"Length of the pattern is at least 8.\",\"type\":\"standalone\"}]},{\"name\":\"TESTACROSS\",\"optional\":true,\"description\":\"Specifies that tests for special causes requested with the TESTS= or TESTS2= options be applied without regard to phases (blocks of consecutive subgroups) determined by the READPHASES= option and the variable _PHASE_ in the input data set.\",\"type\":\"standalone\"},{\"name\":\"TESTCHAR=\",\"optional\":true,\"description\":\"Specifies the character for the line segments that connect any sequence of points for which a test for special causes (requested with the TESTS= or TESTS2= option) is positive. The default character is the number of the test (with values 1 to 8).\",\"help\":\"TESTCHAR='*character*'\",\"type\":\"value\"},{\"name\":\"TESTLABBOX\",\"optional\":true,\"description\":\"Requests that labels for subgroups with positive tests for special causes are positioned so they do not overlap. The labels are enclosed in boxes that are connected to the associated subgroup points with line segments.\",\"type\":\"standalone\"},{\"name\":\"TESTLABEL=\",\"optional\":true,\"description\":\"Provides labels for points at which one of the tests for special causes (requested with the TESTS= or TESTS2= option) is positive.\",\"help\":\"TESTLABEL=TESTINDEX | SPACE | NONE | ‘*label*' | (*variable*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"TESTINDEX\",\"description\":\"Labels points with the single-digit index that requested the test in a TESTS= or TESTS2= list.\",\"type\":\"standalone\"},{\"name\":\"SPACE\",\"description\":\"Request a label of the form Test k.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"Suppresses labeling.\",\"type\":\"standalone\"},{\"name\":\"‘label'\",\"placeholder\":true,\"description\":\"A label of up to 16 characters enclosed in quotes.\",\"type\":\"value\"},{\"name\":\"(variable)\",\"placeholder\":true,\"description\":\"A variable (enclosed in parentheses) whose values are used as labels. The variable must be provided in the input data set, and it can be numeric or character.\",\"type\":\"value\"}]},{\"name\":\"TESTNMETHOD=\",\"optional\":true,\"description\":\"Applies the tests for special causes requested with the TESTS= and TESTS2= options to standardize test statistics when the subgroup sample sizes are not constant.\",\"help\":\"TESTNMETHOD=STANDARDIZE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"STANDARDIZE\",\"description\":\"Applies the tests for special causes requested with the TESTS= and TESTS2= options to standardize test statistics when the subgroup sample sizes are not constant.\",\"type\":\"standalone\"}]},{\"name\":\"TESTOVERLAP\",\"optional\":true,\"description\":\"Applies tests for special causes (requested with the TESTS= or TESTS2= option) to overlapping patterns of points.\",\"type\":\"standalone\"},{\"name\":\"TESTRESET=\",\"optional\":true,\"description\":\"Enables tests for special causes to be reset in a primary chart. The specified variable must be a character variable of length 8, or length 16 if customized tests are requested.\",\"help\":\"TESTRESET=*variable*\",\"type\":\"value\"},{\"name\":\"TESTS2=\",\"optional\":true,\"description\":\"Requests one or more tests for special causes for an R chart or s chart.\",\"help\":\"TESTS2=*index-list*\",\"type\":\"value\"},{\"name\":\"TESTS=\",\"optional\":true,\"description\":\"Requests one or more tests for special causes, which are also known as runs tests, pattern tests, and Western Electric rules.\",\"help\":\"TESTS=*index-list*\",\"type\":\"value\"},{\"name\":\"TESTSYMBOL=\",\"optional\":true,\"aliases\":[\"TESTSYM=\"],\"description\":\"Specifies the symbol for plotting subgroups with positive tests for special causes.\",\"help\":\"TESTSYMBOL=*symbol*\",\"type\":\"value\"},{\"name\":\"TESTSYMBOLHT=\",\"optional\":true,\"aliases\":[\"TESTSYMHT=\"],\"description\":\"Specifies the height of the symbol used to plot subgroups with positive tests for special causes.\",\"help\":\"TESTSYMBOLHT=*value*\",\"type\":\"value\"},{\"name\":\"TOTPANELS=\",\"optional\":true,\"description\":\"Specifies the total number of panels to be used to display the chart. This option overrides the NPANEL= option.\",\"help\":\"TOTPANELS=*n*\",\"type\":\"value\"},{\"name\":\"TRENDVAR=\",\"optional\":true,\"description\":\"Specifies a list of trend variables, one for each process listed in the chart statement.\",\"type\":\"value\"},{\"name\":\"TURNALL\",\"optional\":true,\"aliases\":[\"TURNOUT\"],\"description\":\"Turns the labels produced by the ALLLABEL=, ALLLABEL2=, OUTLABEL= and OUTLABEL2= options so that they are strung out vertically.\",\"type\":\"standalone\"},{\"name\":\"TURNHLABELS\",\"optional\":true,\"aliases\":[\"TURNHLABEL\"],\"description\":\"Turns the major tick mark labels for the horizontal (group) axis so that they are strung out vertically. By default, labels are arranged horizontally.\",\"type\":\"standalone\"},{\"name\":\"TYPE=\",\"optional\":true,\"description\":\"Specifies the value of the _TYPE_ variable in the OUTLIMITS= data set, which in turn indicates whether certain parameter variables in this data set represent estimates or standard (known) values.\",\"help\":\"TYPE=ESTIMATE | STDMU | STDSIGMA | STANDARD\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ESTIMATE\",\"description\":\"_MEAN_=estimate, _STDDEV_=estimate\",\"type\":\"standalone\"},{\"name\":\"STDMU\",\"description\":\"_MEAN_=standard, _STDDEV_=estimate\",\"type\":\"standalone\"},{\"name\":\"STDSIGMA\",\"description\":\"_MEAN_=estimate, _STDDEV_=standard\",\"type\":\"standalone\"},{\"name\":\"STANDARD\",\"description\":\"_MEAN_=standard, _STDDEV_=standard\",\"type\":\"standalone\"}]},{\"name\":\"U0=\",\"optional\":true,\"description\":\"Specifies a known (standard) value u0 for the average number u of nonconformities per unit produced by the process.\",\"help\":\"U0=*value*\",\"type\":\"value\"},{\"name\":\"UCLLABEL2=\",\"optional\":true,\"description\":\"Specifies a label for the upper control limit in the secondary chart. The label can be up to 16 characters. Enclose the label in quotes.\",\"help\":\"UCLLABEL2='*label*'\",\"type\":\"value\"},{\"name\":\"UCLLABEL=\",\"optional\":true,\"description\":\"Specifies a label for the upper control limit in the primary chart. The label can be up to 16 characters. Enclose the label in quotes.\",\"help\":\"UCLLABEL='*label*'\",\"type\":\"value\"},{\"name\":\"USL=\",\"optional\":true,\"description\":\"Provides upper specification limits used to compute capability indices.\",\"help\":\"USL=*value-list*\",\"type\":\"value\"},{\"name\":\"USYMBOL=\",\"optional\":true,\"description\":\"Specifies a label for the central line in a U chart.\",\"help\":\"USYMBOL=U | UBAR | UPM | UPM2 | U0 | '*label*'\",\"type\":\"choice\",\"arguments\":[{\"name\":\"U\",\"description\":\"U\",\"type\":\"standalone\"},{\"name\":\"UBAR\",\"description\":\"UBAR\",\"type\":\"standalone\"},{\"name\":\"UPM\",\"description\":\"U'\",\"type\":\"standalone\"},{\"name\":\"UPM2\",\"description\":\"U''\",\"type\":\"standalone\"},{\"name\":\"U0\",\"description\":\"Uo\",\"type\":\"standalone\"},{\"name\":\"'label'\",\"placeholder\":true,\"description\":\"Specifies a quoted label up to 16 characters.\",\"type\":\"value\"}]},{\"name\":\"VAXIS2=\",\"optional\":true,\"description\":\"Specifies major tick mark values for the vertical axis of a secondary chart. The values must be listed in increasing order, must be evenly spaced, and must span the range of values displayed in the chart.\",\"type\":\"value\"},{\"name\":\"VAXIS=\",\"optional\":true,\"description\":\"Specifies major tick mark values for the vertical axis of a primary chart. The values must be listed in increasing order, must be evenly spaced, and must span the range of values displayed in the chart.\",\"type\":\"value\"},{\"name\":\"VFORMAT2=\",\"optional\":true,\"description\":\"Specifies a format to be used for displaying tick mark labels on the vertical axis of a secondary chart.\",\"help\":\"VFORMAT2=*format*\",\"type\":\"value\"},{\"name\":\"VFORMAT=\",\"optional\":true,\"description\":\"Specifies a format to be used for displaying tick mark labels on the vertical axis of a primary chart.\",\"help\":\"VFORMAT=*format*\",\"type\":\"value\"},{\"name\":\"VMINOR=\",\"optional\":true,\"description\":\"Specifies the number of minor tick marks between major tick marks on the vertical axis. Minor tick marks are not labeled. By default, VMINOR=0.\",\"help\":\"VMINOR=*n*\",\"type\":\"value\"},{\"name\":\"VOFFSET=\",\"optional\":true,\"description\":\"Specifies the length in percent screen units of the offset at the ends of the vertical axis.\",\"help\":\"VOFFSET=*value*\",\"type\":\"value\"},{\"name\":\"VREF2=\",\"optional\":true,\"description\":\"Draws reference lines perpendicular to the vertical axis on the secondary chart.\",\"type\":\"value\"},{\"name\":\"VREF2LABELS=\",\"optional\":true,\"aliases\":[\"VREF2LAB=\"],\"description\":\"Specifies labels for the reference lines requested by the VREF2= option. The number of labels must equal the number of lines. Enclose each label in quotes. Labels can be up to 16 characters.\",\"type\":\"value\"},{\"name\":\"VREF=\",\"optional\":true,\"description\":\"Draws reference lines perpendicular to the vertical axis on the primary chart.\",\"type\":\"value\"},{\"name\":\"VREFCHAR=\",\"optional\":true,\"description\":\"Specifies the character used for reference lines requested by the VREF= and VREF2= options on line printer charts. The default is the hyphen (-).\",\"help\":\"VREFCHAR='*character*'\",\"type\":\"value\"},{\"name\":\"VREFLABELS=\",\"optional\":true,\"description\":\"Specifies labels for the reference lines requested by the VREF= option. The number of labels must equal the number of lines. Enclose each label in quotes. Labels can be up to 16 characters.\",\"type\":\"value\"},{\"name\":\"VREFLABPOS=\",\"optional\":true,\"description\":\"Specifies the horizontal position of the VREFLABEL= and VREF2LABEL= labels.\",\"help\":\"VREFLABPOS=1 | 2 | 3\",\"type\":\"choice\",\"arguments\":[{\"name\":\"1\",\"description\":\"Left-justified in subplot area\",\"type\":\"standalone\"},{\"name\":\"2\",\"description\":\"Right-justified in subplot area\",\"type\":\"standalone\"},{\"name\":\"3\",\"description\":\"Left-justified in right margin\",\"type\":\"standalone\"}]},{\"name\":\"VZERO\",\"optional\":true,\"description\":\"Forces the origin to be included in the vertical axis for a primary chart.\",\"type\":\"standalone\"},{\"name\":\"VZERO2\",\"optional\":true,\"description\":\"Forces the origin to be included in the vertical axis for a secondary chart.\",\"type\":\"standalone\"},{\"name\":\"WAXIS=\",\"optional\":true,\"description\":\"Specifies the width in pixels for the axis and frame lines. By default, n=1.\",\"help\":\"WAXIS=*n*\",\"type\":\"value\"},{\"name\":\"WEBOUT=\",\"optional\":true,\"description\":\"Produces an output data set containing all the data in an OUTTABLE= data set plus graphics coordinates for points (subgroup summary statistics) that are displayed on a control chart.\",\"help\":\"WEBOUT=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"WGRID=\",\"optional\":true,\"description\":\"Specifies the width in pixels for grid lines requested with the ENDGRID and GRID options. By default, n=1.\",\"help\":\"WGRID=*n*\",\"type\":\"value\"},{\"name\":\"WLIMITS=\",\"optional\":true,\"description\":\"Specifies the width in pixels for the control limits and central line. By default, n=1.\",\"help\":\"WLIMITS=*n*\",\"type\":\"value\"},{\"name\":\"WNEEDLES=\",\"optional\":true,\"description\":\"Specifies the width in pixels of needles connecting plotted points to the central line, as requested with the NEEDLES option.\",\"help\":\"WNEEDLES=*n*\",\"type\":\"value\"},{\"name\":\"WOVERLAY2=\",\"optional\":true,\"description\":\"Specifies the widths in pixels for the line segments connecting points on secondary chart overlay plots.\",\"type\":\"value\"},{\"name\":\"WOVERLAY=\",\"optional\":true,\"description\":\"Specifies the widths in pixels for the line segments connecting points on primary chart overlay plots.\",\"type\":\"value\"},{\"name\":\"WSTARCIRCLES=\",\"optional\":true,\"description\":\"Specifies the width in pixels of the outline of circles requested by the STARCIRCLES= option.\",\"help\":\"WSTARCIRCLES=*n*\",\"type\":\"value\"},{\"name\":\"WSTARS=\",\"optional\":true,\"description\":\"Specifies the width in pixels of the outline of stars requested by the STARVERTICES= option.\",\"help\":\"WSTARS=*n*\",\"type\":\"value\"},{\"name\":\"WTESTS=\",\"optional\":true,\"description\":\"Specifies the width in pixels of the line segments that connect patterns of points for which a test for special causes (requested with the TESTS= or TESTS2= option) is positive. By default, n=1.\",\"help\":\"WTESTS=*n*\",\"type\":\"value\"},{\"name\":\"WTREND=\",\"optional\":true,\"description\":\"Specifies the width in pixels of the line segments that connect points on trend charts requested with the TRENDVAR= option. By default, n=1.\",\"help\":\"WTREND=*n*\",\"type\":\"value\"},{\"name\":\"XSYMBOL=\",\"optional\":true,\"description\":\"Specifies a label for the central line in an XBAR chart or a median chart.\",\"help\":\"XSYMBOL='*label*' | MBAR | MTIL | MU | MU0 | XBAR | XBAR2 | XBARPM | XBAR0 | XBAROPM\",\"type\":\"choice\",\"arguments\":[{\"name\":\"'label'\",\"placeholder\":true,\"description\":\"a quoted label up to 16 characters\",\"type\":\"value\"},{\"name\":\"MBAR\",\"description\":\"MBAR\",\"type\":\"standalone\"},{\"name\":\"MTIL\",\"description\":\"MTIL\",\"type\":\"standalone\"},{\"name\":\"MU\",\"description\":\"MU\",\"type\":\"standalone\"},{\"name\":\"MU0\",\"description\":\"MU0\",\"type\":\"standalone\"},{\"name\":\"XBAR\",\"description\":\"XBAR\",\"type\":\"standalone\"},{\"name\":\"XBAR2\",\"description\":\"XBAR2\",\"type\":\"standalone\"},{\"name\":\"XBARPM\",\"description\":\"XBARPM\",\"type\":\"standalone\"},{\"name\":\"XBAR0\",\"description\":\"XBAR0\",\"type\":\"standalone\"},{\"name\":\"XBAROPM\",\"description\":\"XBAR0PM\",\"type\":\"standalone\"}]},{\"name\":\"YPCT1=\",\"optional\":true,\"description\":\"Specifies a percent (ranging from 0 to 100) that determines the length of the vertical axis for the primary chart in proportion to the sum of the lengths of the vertical axes for the primary and secondary charts.\",\"help\":\"YPCT1=*value*\",\"type\":\"value\"},{\"name\":\"YSCALE=\",\"optional\":true,\"description\":\"Scales the vertical axis on a P chart in percent units. The YSCALE= option is available only in the PCHART statement.\",\"help\":\"YSCALE=PERCENT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"PERCENT\",\"description\":\"Scales the vertical axis on a P chart in percent units.\",\"type\":\"standalone\"}]},{\"name\":\"ZEROSTD\",\"optional\":true,\"description\":\"Specifies that a control chart is to be constructed and displayed regardless of whether the estimated process standard deviation is zero.\",\"type\":\"standalone\"},{\"name\":\"ZEROSTD=\",\"optional\":true,\"description\":\"Suppresses the display of the degenerate limits.\",\"help\":\"ZEROSTD=NOLIMITS\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NOLIMITS\",\"description\":\"Suppresses the display of the degenerate limits.\",\"type\":\"standalone\"}]},{\"name\":\"ZONE2LABELS\",\"optional\":true,\"description\":\"Adds the labels A, B, and C to zone lines requested with the ZONES2 or ZONE2VALUES options.\",\"type\":\"standalone\"},{\"name\":\"ZONE2VALUES\",\"optional\":true,\"description\":\"Labels R or s chart zones lines with their values. If the ZONE2VALUES option is specified the ZONES2 option is not required.\",\"type\":\"standalone\"},{\"name\":\"ZONECHAR=\",\"optional\":true,\"description\":\"Specifies the character used to form the zone lines requested by the ZONES option.\",\"help\":\"ZONECHAR='*character*'\",\"type\":\"value\"},{\"name\":\"ZONELABELS\",\"optional\":true,\"description\":\"Adds the labels A, B, and C to zone lines requested with the ZONES or ZONEVALUES options.\",\"type\":\"standalone\"},{\"name\":\"ZONES\",\"optional\":true,\"description\":\"Adds lines to a primary chart that delineate zones A, B, and C for standard tests requested with the TESTS= option.\",\"type\":\"standalone\"},{\"name\":\"ZONES2\",\"optional\":true,\"description\":\"Adds lines to an R or s chart that delineate zones A, B, and C for tests requested with the TESTS2= option.\",\"type\":\"standalone\"},{\"name\":\"ZONEVALPOS=\",\"optional\":true,\"description\":\"Specifies the horizontal position of the ZONEVALUES= and ZONE2VALUES= labels.\",\"help\":\"ZONEVALPOS=1 | 2 | 3\",\"type\":\"choice\",\"arguments\":[{\"name\":\"1\",\"description\":\"Left-justified in subplot area\",\"type\":\"standalone\"},{\"name\":\"2\",\"description\":\"Right-justified in subplot area\",\"type\":\"standalone\"},{\"name\":\"3\",\"description\":\"Left-justified in right margin\",\"type\":\"standalone\"}]},{\"name\":\"ZONEVALUES\",\"optional\":true,\"description\":\"Labels the primary chart zones lines with their values. If the ZONEVALUES option is specified the ZONES option is not required.\",\"type\":\"standalone\"}]},{\"name\":\"UCHART\",\"description\":\"The UCHART statement creates ANOM charts for group (treatment level) rates, also referred to as ANOM U charts.\",\"help\":\"UCHART &lt;ALLLABEL2=VALUE | (variable)&gt;&lt;ALLLABEL=VALUE | (variable)&gt;&lt;ALLN&gt; ...\",\"arguments\":[{\"name\":\"ALLLABEL2=\",\"optional\":true,\"description\":\"Labels every point on an R, s, or trend chart with the VALUE plotted for that subgroup or with the value of a variable in the input data set.\",\"type\":\"value\"},{\"name\":\"ALLLABEL=\",\"optional\":true,\"description\":\"Labels every point on the primary chart with the VALUE plotted for that subgroup or with the value of a variable in the input data set.\",\"type\":\"value\"},{\"name\":\"ALLN\",\"optional\":true,\"description\":\"Plots summary statistics for all subgroups, regardless of whether the subgroup sample size equals the nominal control limit sample size n specified by the LIMITN= option or the variable _LIMITN_ in the LIMITS= data set.\",\"type\":\"standalone\"},{\"name\":\"ALPHA=\",\"optional\":true,\"description\":\"Requests probability limits. If you specify ALPHA=α, the control limits are computed so that the probability is α that a subgroup summary statistic exceeds its control limits.\",\"help\":\"ALPHA=*value*\",\"type\":\"value\"},{\"name\":\"ANNOTATE2=\",\"optional\":true,\"aliases\":[\"ANNO2=\"],\"description\":\"Specifies an ANNOTATE= type data set that enhances a primary chart.\",\"help\":\"ANNOTATE2=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"ANNOTATE=\",\"optional\":true,\"aliases\":[\"ANNO=\"],\"description\":\"Specifies an ANNOTATE= type data set.\",\"help\":\"ANNOTATE=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"BILEVEL\",\"optional\":true,\"description\":\"Arranges the Shewhart chart in two levels (rather than the default of one level) so that twice as much data can be displayed on a page or screen.\",\"type\":\"standalone\"},{\"name\":\"BLOCKLABELPOS=\",\"optional\":true,\"description\":\"Specifies the position of a block-variable label in the block legend.\",\"help\":\"BLOCKLABELPOS=ABOVE | LEFT | RIGHT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ABOVE\",\"description\":\"Places the label immediately above the legend.\",\"type\":\"standalone\"},{\"name\":\"LEFT\",\"description\":\"Places the label to the left of the legend.\",\"type\":\"standalone\"},{\"name\":\"RIGHT\",\"description\":\"Places the label to the right of the legend.\",\"type\":\"standalone\"}]},{\"name\":\"BLOCKLABTYPE=\",\"optional\":true,\"description\":\"Specifies how lengthy block variable values are treated when there is insufficient space to display them in the block legend.\",\"help\":\"BLOCKLABTYPE=SCALED | TRUNCATED | ROTATE | ROTATEALL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"SCALED\",\"description\":\"The values are uniformly reduced in height so that they fit.\",\"type\":\"standalone\"},{\"name\":\"TRUNCATED\",\"description\":\"Lengthy values are truncated on the right until they fit.\",\"type\":\"standalone\"},{\"name\":\"ROTATE\",\"description\":\"Rotates the values of the block variable displayed closest to the chart by 90 degreest.\",\"type\":\"standalone\"},{\"name\":\"ROTATEALL\",\"description\":\"RotateS the values of all block variables.\",\"type\":\"standalone\"}]},{\"name\":\"BLOCKPOS=\",\"optional\":true,\"description\":\"Specifies the vertical position of the legend for the values of the block variables.\",\"help\":\"BLOCKPOS=1 | 2 | 3 | 4\",\"type\":\"choice\",\"arguments\":[{\"name\":\"1\",\"description\":\"Top of chart, offset from axis frame\",\"type\":\"standalone\"},{\"name\":\"2\",\"description\":\"Top of chart, immediately above axis frame\",\"type\":\"standalone\"},{\"name\":\"3\",\"description\":\"Bottom of chart, immediately above horizontal axis\",\"type\":\"standalone\"},{\"name\":\"4\",\"description\":\"Bottom of chart, below horizontal axis label\",\"type\":\"standalone\"}]},{\"name\":\"BLOCKREFOPACITY=\",\"optional\":true,\"aliases\":[\"PHASEREFOPACITY=\",\"REFFILLOPACITY=\"],\"description\":\"Specifies the wall fill opacity for blocks and phases when transparency is used in ODS Graphics output. The value must be between 0 and 1, where 0 is completely transparent and 1 is completely opaque. The default wall fill opacity is 0.15.\",\"type\":\"value\"},{\"name\":\"BLOCKREP\",\"optional\":true,\"description\":\"Specifies that block variable values for all groups be displayed. By default, only the first block variable value in any block is displayed, and repeated block variable values are not displayed.\",\"type\":\"standalone\"},{\"name\":\"BLOCKVAR=\",\"optional\":true,\"description\":\"Specifies variables whose values are used to assign colors for filling the background of the legend associated with block variables.\",\"type\":\"value\"},{\"name\":\"BOXCONNECT=\",\"optional\":true,\"description\":\"Specifies that the points representing subgroup means, medians, maximum values, minimum values, first quartiles or third quartiles in box-and-whisker plots created with the BOXCHART statement are to be connected.\",\"help\":\"BOXCONNECT=MEAN | MEDIAN | MAX | MIN | Q1 | Q3\",\"type\":\"choice\",\"arguments\":[{\"name\":\"MEAN\",\"description\":\"Specifies that the points in box-and-whiskers plots created with the BOXCHART statement representing group means be connected with line segments.\",\"type\":\"standalone\"},{\"name\":\"MEDIAN\",\"description\":\"Specifies that the points in box-and-whiskers plots created with the BOXCHART statement representing group medians be connected with line segments.\",\"type\":\"standalone\"},{\"name\":\"MAX\",\"description\":\"Specifies that the points in box-and-whiskers plots created with the BOXCHART statement representing group maximum values be connected with line segments.\",\"type\":\"standalone\"},{\"name\":\"MIN\",\"description\":\"Specifies that the points in box-and-whiskers plots created with the BOXCHART statement representing group minimum values be connected with line segments.\",\"type\":\"standalone\"},{\"name\":\"Q1\",\"description\":\"Specifies that the points in box-and-whiskers plots created with the BOXCHART statement representing group first quartiles be connected with line segments.\",\"type\":\"standalone\"},{\"name\":\"Q3\",\"description\":\"Specifies that the points in box-and-whiskers plots created with the BOXCHART statement representing group third quartiles be connected with line segments.\",\"type\":\"standalone\"}]},{\"name\":\"BOXES=\",\"optional\":true,\"description\":\"Specifies a variable whose values are used to assign colors for the outlines of box-and-whiskers plots.\",\"type\":\"value\"},{\"name\":\"BOXFILL=\",\"optional\":true,\"description\":\"Specifies how box-and-whisker plots are filled with colors from the ODS style.\",\"help\":\"BOXFILL=&lt;*variable*&gt; | NONE | EMPTY\",\"type\":\"choice\",\"arguments\":[{\"name\":\"<variable>\",\"placeholder\":true,\"description\":\"You can specify a variable whose values are used to group box-and-whiskers plots for assigning fill colors from the ODS style.\",\"type\":\"value\"},{\"name\":\"NONE\",\"description\":\"Produces unfilled boxes.\",\"type\":\"standalone\"},{\"name\":\"EMPTY\",\"description\":\"Produces unfilled boxes.\",\"type\":\"standalone\"}]},{\"name\":\"BOXOPACITY=\",\"optional\":true,\"description\":\"Specifies the box fill opacity for box-and-whisker charts when transparency is used in ODS Graphics output. The value must be between 0 and 1, where 0 is completely transparent and 1 is completely opaque. The default box fill opacity is 0.75.\",\"help\":\"BOXOPACITY=*value*\",\"type\":\"value\"},{\"name\":\"BOXSTYLE=\",\"optional\":true,\"description\":\"[Specifies the style of the box-and-whiskers plots displayed.\",\"help\":\"BOXSTYLE=SKELETAL | SCHEMATIC | SCHEMATICID | SCHEMATICIDFAR | POINTS | POINTSJOIN | POINTSBOX | POINTSID | POINTSJOINID | POINTSSCHEMATIC\",\"type\":\"choice\",\"arguments\":[{\"name\":\"SKELETAL\",\"description\":\"The whiskers are drawn from the edges of the box to the extreme values of the group.\",\"type\":\"standalone\"},{\"name\":\"SCHEMATIC\",\"description\":\"A whisker is drawn from the upper edge of the box to the largest observed value within the upper fence, and another is drawn from the lower edge of the box to the smallest observed value within the lower fence.\",\"type\":\"standalone\"},{\"name\":\"SCHEMATICID\",\"description\":\"A schematic box-and-whiskers plot is displayed in which an ID variable value is used to label the symbol marking each observation outside the upper and lower fences.\",\"type\":\"standalone\"},{\"name\":\"SCHEMATICIDFAR\",\"description\":\"A schematic box-and-whiskers plot is displayed in which the value of the ID variable is used to label the symbol marking each observation outside the lower and upper far fences\",\"type\":\"standalone\"},{\"name\":\"POINTS\",\"description\":\"All the values in the subgroup sample are plotted as points, and neither a box nor whiskers are drawn.\",\"type\":\"standalone\"},{\"name\":\"POINTSJOIN\",\"description\":\"All the values in the subgroup sample are plotted as points joined with a vertical line. Neither a box nor whiskers are drawn.\",\"type\":\"standalone\"},{\"name\":\"POINTSBOX\",\"description\":\"All the values in the subgroup sample are plotted as points enclosed in a box.\",\"type\":\"standalone\"},{\"name\":\"POINTSID\",\"description\":\"All the values in the subgroup sample are plotted using labels specified as the values of the first variable in the ID statement.\",\"type\":\"standalone\"},{\"name\":\"POINTSJOINID\",\"description\":\"All the values in the subgroup sample are plotted using labels specified as the values of the first variable in the ID statement, and the values are joined by a vertical line.\",\"type\":\"standalone\"},{\"name\":\"POINTSSCHEMATIC\",\"description\":\"A schematic box chart is overlaid with points plotting all observations in the subgroups.\",\"type\":\"standalone\"}]},{\"name\":\"BOXWIDTH=\",\"optional\":true,\"description\":\"Specifies the width (in horizontal percent screen units) of the box-and-whiskers plots.\",\"help\":\"BOXWIDTH=*value*\",\"type\":\"value\"},{\"name\":\"BOXWIDTHSCALE=\",\"optional\":true,\"description\":\"Specifies that the width of the box-and-whiskers plots created with the BOXCHART statement is to vary proportionately to a particular function of the group size n.\",\"help\":\"BOXWIDTHSCALE=*value*\",\"type\":\"value\"},{\"name\":\"CAXIS=\",\"optional\":true,\"aliases\":[\"CAXES=\",\"CA=\"],\"description\":\"Specifies the color for the axes and tick marks. This option overrides any COLOR= specifications in an AXIS statement.\",\"help\":\"CAXIS=*color*\",\"type\":\"color\"},{\"name\":\"CBLOCKLAB=\",\"optional\":true,\"description\":\"Specifies fill colors for the frames that enclose the block variable labels in a block legend.\",\"help\":\"CBLOCKLAB=*color*\",\"type\":\"color\"},{\"name\":\"CBLOCKVAR=\",\"optional\":true,\"description\":\"Specifies variables whose values are colors for filling the background of the legend associated with block variables.\",\"type\":\"value\"},{\"name\":\"CBOXES=\",\"optional\":true,\"description\":\"Specifies the colors for the outlines of the box-and-whiskers plots created with the BOXCHART statement.\",\"help\":\"CBOXES=*color*\",\"type\":\"color\"},{\"name\":\"CBOXFILL=\",\"optional\":true,\"description\":\"Specifies the interior fill colors for the box-and-whiskers plots created with the BOXCHART statement.\",\"help\":\"CBOXFILL=*color*\",\"type\":\"color\"},{\"name\":\"CCLIP=\",\"optional\":true,\"description\":\"Specifies a color for the plotting symbol that is specified with the CLIPSYMBOL= option to mark clipped values.\",\"help\":\"CCLIP=*color*\",\"type\":\"color\"},{\"name\":\"CCONNECT=\",\"optional\":true,\"description\":\"Specifies the color for line segments connecting points on the chart.\",\"help\":\"CCONNECT=*color*\",\"type\":\"color\"},{\"name\":\"CCOVERLAY2=\",\"optional\":true,\"description\":\"Specifies the colors for line segments connecting points on secondary chart overlays.\",\"help\":\"CCOVERLAY2=*color*\",\"type\":\"color\"},{\"name\":\"CCOVERLAY=\",\"optional\":true,\"description\":\"Specifies the colors for line segments connecting points on primary chart overlays.\",\"help\":\"CCOVERLAY=*color*\",\"type\":\"color\"},{\"name\":\"CFRAME=\",\"optional\":true,\"description\":\"Specifies the color for filling the rectangle enclosed by the axes and the frame. By default, this area is not filled. The CFRAME= option cannot be used in conjunction with the NOFRAME option.\",\"help\":\"CFRAME=*color*\",\"type\":\"color\"},{\"name\":\"CFRAMELAB=\",\"optional\":true,\"description\":\"Specifies the color for filling rectangles that frame the point labels displayed with the ALLLABEL=, ALLLABEL2=, OUTLABEL=, and OUTLABEL2= options.\",\"help\":\"CFRAMELAB=*color*\",\"type\":\"color\"},{\"name\":\"CGRID=\",\"optional\":true,\"description\":\"Specifies the color for the grid requested by the ENDGRID or GRID option. By default, the grid is the same color as the axes.\",\"help\":\"CGRID=*color*\",\"type\":\"color\"},{\"name\":\"CHREF=\",\"optional\":true,\"description\":\"Specifies the color for the lines requested by the HREF= and HREF2= options.\",\"help\":\"CHREF=*color*\",\"type\":\"color\"},{\"name\":\"CIINDICES\",\"optional\":true,\"description\":\"Requests capability index confidence limits based on subgroup summary data, calculated using \\\"effective degrees of freedom\\\". TYPE=keyword specifies the type of confidence limit. Valid values are LOWER, UPPER and TWOSIDED. The default value is TWOSIDED.\",\"type\":\"standalone\"},{\"name\":\"CINFILL=\",\"optional\":true,\"description\":\"Specifies the color for the area inside the upper and lower control limits.\",\"help\":\"CINFILL=&lt;*color*&gt; | NONE | EMPTY\",\"type\":\"choice\",\"arguments\":[{\"name\":\"<color>\",\"placeholder\":true,\"description\":\"Specifies the color for the area inside the upper and lower control limits.\",\"type\":\"color\"},{\"name\":\"NONE\",\"description\":\"Leaves the area between the contol limits unfilled.\",\"type\":\"standalone\"},{\"name\":\"EMPTY\",\"description\":\"Leaves the area between the contol limits unfilled.\",\"type\":\"standalone\"}]},{\"name\":\"CLABEL=\",\"optional\":true,\"description\":\"Specifies the color for labels produced by the ALLLABEL=, ALLLABEL2=, OUTLABEL=, and OUTLABEL2= options.\",\"help\":\"CLABEL=*color*\",\"type\":\"color\"},{\"name\":\"CLIMITS=\",\"optional\":true,\"description\":\"Specifies the color for the control limits, the central line, and the labels for these lines.\",\"help\":\"CLIMITS=*color*\",\"type\":\"color\"},{\"name\":\"CLIPCHAR=\",\"optional\":true,\"description\":\"Specifies a plot character that identifies clipped points, as requested with the CLIPFACTOR= option.\",\"help\":\"CLIPCHAR='*character*'\",\"type\":\"value\"},{\"name\":\"CLIPFACTOR=\",\"optional\":true,\"description\":\"Requests clipping of extreme values on the control chart. The factor that you specify determines the extent to which these values are clipped, and it must be greater than 1.\",\"help\":\"CLIPFACTOR=*factor*\",\"type\":\"value\"},{\"name\":\"CLIPLEGEND=\",\"optional\":true,\"description\":\"Specifies the label for the legend that indicates the number of clipped boxes when the CLIPFACTOR= option is used.\",\"type\":\"value\"},{\"name\":\"CLIPLEGPOS=\",\"optional\":true,\"description\":\"Specifies the position for the legend that indicates the number of clipped boxes when the CLIPFACTOR= option is used.\",\"help\":\"CLIPLEGPOS=TOP | BOTTOM\",\"type\":\"choice\",\"arguments\":[{\"name\":\"TOP\",\"description\":\"Positions the legend at the top of the chart.\",\"type\":\"standalone\"},{\"name\":\"BOTTOM\",\"description\":\"positions the legend at the bottom of the chart.\",\"type\":\"standalone\"}]},{\"name\":\"CLIPSUBCHAR=\",\"optional\":true,\"description\":\"Specifies a substitution character (such as '#') for the label provided with the CLIPLEGEND= option.\",\"help\":\"CLIPSUBCHAR='*character*'\",\"type\":\"value\"},{\"name\":\"CLIPSYMBOL=\",\"optional\":true,\"description\":\"Specifies a plot symbol used to identify clipped points on the chart and in the legend when the CLIPFACTOR= option is used.\",\"help\":\"CLIPSYMBOL=*symbol*\",\"type\":\"value\"},{\"name\":\"CLIPSYMBOLHT=\",\"optional\":true,\"description\":\"Specifies the height for the symbol marker used to identify clipped points on the chart when the CLIPFACTOR= option is used.\",\"help\":\"CLIPSYMBOLHT=*value*\",\"type\":\"value\"},{\"name\":\"CNEEDLES=\",\"optional\":true,\"description\":\"Requests that points are to be connected to the central line with vertical line segments (needles) and specifies the color of the needles.\",\"help\":\"CNEEDLES=*color*\",\"type\":\"color\"},{\"name\":\"CONNECTCHAR=\",\"optional\":true,\"description\":\"Specifies the character used to form line segments that connect points on a chart. The default character is a plus (+) sign.\",\"help\":\"CONNECTCHAR='*character*'\",\"type\":\"value\"},{\"name\":\"CONTROLSTAT=\",\"optional\":true,\"description\":\"Specifies whether the control limits displayed in a box chart are to be computed for subgroup means or for subgroup medians.\",\"help\":\"CONTROLSTAT=MEAN | MEDIAN\",\"type\":\"choice\",\"arguments\":[{\"name\":\"MEAN\",\"description\":\"Specifies whether the control limits displayed in a box chart are to be computed for subgroup means.\",\"type\":\"standalone\"},{\"name\":\"MEDIAN\",\"description\":\"Specifies whether the control limits displayed in a box chart are to be computed for subgroup medians.\",\"type\":\"standalone\"}]},{\"name\":\"COUT\",\"optional\":true,\"description\":\"Specify COUT with no argument to use an appropriate contrasting color from the ODS style.\",\"type\":\"standalone\"},{\"name\":\"COUT=\",\"optional\":true,\"description\":\"Specifies the color for the plotting symbols and the portions of connecting line segments that lie outside the control limits.\",\"help\":\"COUT=*color*\",\"type\":\"color\"},{\"name\":\"COVERLAY2=\",\"optional\":true,\"description\":\"Specifies the colors used to plot secondary chart overlay variables. Colors in the COVERLAY2= list are matched with variables in the corresponding positions in the OVERLAY2= list.\",\"type\":\"value\"},{\"name\":\"COVERLAY=\",\"optional\":true,\"description\":\"Specifies the colors used to plot primary chart overlay variables. Colors in the COVERLAY= list are matched with variables in the corresponding positions in the OVERLAY= list.\",\"type\":\"value\"},{\"name\":\"COVERLAYCLIP=\",\"optional\":true,\"description\":\"Specifies the color used to plot clipped values on overlay plots when the CLIPFACTOR= option is used.\",\"help\":\"COVERLAYCLIP=*color*\",\"type\":\"color\"},{\"name\":\"CPHASEBOX=\",\"optional\":true,\"description\":\"Specifies the color for a box that encloses all of the plotted points for a phase (group of consecutive observations that have the same value of the variable _PHASE_).\",\"help\":\"CPHASEBOX=*color*\",\"type\":\"color\"},{\"name\":\"CPHASEBOXCONNECT=\",\"optional\":true,\"description\":\"Specifies the color for line segments that connect the vertical edges of adjacent enclosing boxes requested with the CPHASEBOX= option or the CPHASEBOXFILL= option.\",\"help\":\"CPHASEBOXCONNECT=*color*\",\"type\":\"color\"},{\"name\":\"CPHASEBOXFILL=\",\"optional\":true,\"description\":\"Specifies the fill color for a box that encloses all of the plotted points for a phase.\",\"help\":\"CPHASEBOXFILL=*color*\",\"type\":\"color\"},{\"name\":\"CPHASELEG=\",\"optional\":true,\"description\":\"Specifies a text color for the phase labels requested with the PHASELEGEND option.\",\"help\":\"CPHASELEG=*color*\",\"type\":\"color\"},{\"name\":\"CPHASEMEANCONNECT=\",\"optional\":true,\"description\":\"Specifies the color for line segments that connect points representing the average of the values plotted within a phase.\",\"help\":\"CPHASEMEANCONNECT=*color*\",\"type\":\"color\"},{\"name\":\"CSTARCIRCLES=\",\"optional\":true,\"description\":\"Specifies a color for the circles requested with the STARCIRCLES= option.\",\"help\":\"CSTARCIRCLES=*color*\",\"type\":\"color\"},{\"name\":\"CSTARFILL=\",\"optional\":true,\"description\":\"Specifies a color or colors for filling the interior of stars requested with the STARVERTICES= option.\",\"help\":\"CSTARFILL=*color*\",\"type\":\"color\"},{\"name\":\"CSTAROUT\",\"optional\":true,\"description\":\"Specifies to use an appropriate contrasting color from the ODS style for those portions of the outlines of stars (requested with the STARVERTICES= option) that exceed the inner or outer circles.\",\"type\":\"color\"},{\"name\":\"CSTAROUT=\",\"optional\":true,\"description\":\"Specifies a color for those portions of the outlines of stars (requested with the STARVERTICES= option) that exceed the inner or outer circles.\",\"help\":\"CSTAROUT=*color*\",\"type\":\"color\"},{\"name\":\"CSTARS=\",\"optional\":true,\"description\":\"Specifies a color or colors for the outlines of stars requested with the STARVERTICES= option.\",\"help\":\"CSTARS=*color*\",\"type\":\"color\"},{\"name\":\"CSYMBOL=\",\"optional\":true,\"description\":\"Specifies a label for the central line in a C chart.\",\"help\":\"CSYMBOL=C | CBAR | CPM | CPM2 | C0 | '*label*'\",\"type\":\"choice\",\"arguments\":[{\"name\":\"C\",\"description\":\"C\",\"type\":\"standalone\"},{\"name\":\"CBAR\",\"description\":\"CBAR\",\"type\":\"standalone\"},{\"name\":\"CPM\",\"description\":\"C'\",\"type\":\"standalone\"},{\"name\":\"CPM2\",\"description\":\"C''\",\"type\":\"standalone\"},{\"name\":\"C0\",\"description\":\"Co\",\"type\":\"standalone\"},{\"name\":\"'label'\",\"placeholder\":true,\"description\":\"You can specify a quoted label of length 16 or less.\",\"type\":\"value\"}]},{\"name\":\"CTESTLABBOX=\",\"optional\":true,\"description\":\"Specifies the color for boxes enclosing labels for positive tests for special causes requested with the TESTLABBOX option.\",\"help\":\"CTESTLABBOX=*color*\",\"type\":\"color\"},{\"name\":\"CTESTS=\",\"optional\":true,\"aliases\":[\"CTEST=\"],\"description\":\"Specifies colors for labels indicating points where a test is positive.\",\"help\":\"CTESTS=*color*\",\"type\":\"color\"},{\"name\":\"CTESTSYMBOL=\",\"optional\":true,\"aliases\":[\"CTESTSYM=\"],\"description\":\"Specifies the color of the symbol used to plot subgroups with positive tests for special causes.\",\"help\":\"CTESTSYMBOL=*color*\",\"type\":\"color\"},{\"name\":\"CTEXT=\",\"optional\":true,\"description\":\"Specifies the color for tick mark values and axis labels. The default color is the color specified in the CTEXT= option in the most recent GOPTIONS statement.\",\"help\":\"CTEXT=*color*\",\"type\":\"color\"},{\"name\":\"CVREF=\",\"optional\":true,\"aliases\":[\"CV=\"],\"description\":\"Specifies the color for the lines requested by the VREF= and VREF2= options.\",\"help\":\"CVREF=*color*\",\"type\":\"color\"},{\"name\":\"CZONES=\",\"optional\":true,\"description\":\"Requests lines marking zones A, B, and C for the tests for special causes (see the TESTS= option) and specifies the color for these lines.\",\"help\":\"CZONES=*color*\",\"type\":\"color\"},{\"name\":\"DESCRIPTION2=\",\"optional\":true,\"aliases\":[\"DES2=\"],\"description\":\"Specifies a description for the secondary chart of length 256 or less that appears in the PROC GREPLAY master menu. The default string is the variable name. The DESCRIPTION2= option is available in the IRCHART, MRCHART, XRCHART, and XSCHART statements, and it is used in conjunction with the SEPARATE option. A related option is NAME2=.\",\"help\":\"DESCRIPTION2='*string*'\",\"type\":\"value\"},{\"name\":\"DESCRIPTION=\",\"optional\":true,\"aliases\":[\"DES=\"],\"description\":\"Specifies a description for the primary chart of length 256 or less that appears in the PROC GREPLAY master menu. The default string is the variable name. A related option is NAME=.\",\"help\":\"DESCRIPTION='*string*'\",\"type\":\"value\"},{\"name\":\"DISCRETE\",\"optional\":true,\"description\":\"Specifies that numeric subgroup variable values be treated as discrete values, so that each tick value on the default subgroup axis corresponds to a unique subgroup variable value.\",\"type\":\"standalone\"},{\"name\":\"ENDGRID\",\"optional\":true,\"description\":\"Adds a grid to the rightmost portion of the chart, beginning with the first labeled major tick mark position that follows the last plotted point.\",\"type\":\"standalone\"},{\"name\":\"EXCHART\",\"optional\":true,\"description\":\"Creates a control chart only when exceptions occur, specifically, when the control limits are exceeded or when any of the tests requested with the TESTS= option or the TESTS2= option are positive.\",\"type\":\"standalone\"},{\"name\":\"FONT=\",\"optional\":true,\"description\":\"Specifies a software font for labels and legends.\",\"help\":\"FONT=*font*\",\"type\":\"value\"},{\"name\":\"FRONTREF\",\"optional\":true,\"description\":\"Draws reference lines specified with the HREF= and VREF= options in front of box-and-whiskers plots. By default, reference lines are drawn behind the box-and-whiskers plots and can be obscured by filled boxes.\",\"type\":\"standalone\"},{\"name\":\"GRID\",\"optional\":true,\"description\":\"Adds a grid to the control chart. Grid lines are horizontal lines positioned at labeled major tick marks, and they cover the length and height of the plotting area.\",\"type\":\"standalone\"},{\"name\":\"HAXIS=\",\"optional\":true,\"description\":\"Specifies tick mark values for the horizontal (subgroup) axis. If the group variable is numeric, the values must be numeric and equally spaced. If the group variable is character, values must be quoted strings of up to 16 characters. Optionally, you can specify an axis name defined in a previous AXIS statement.\",\"type\":\"value\"},{\"name\":\"HEIGHT=\",\"optional\":true,\"description\":\"Specifies the height (in vertical screen percent units) of the text for axis labels and legends. This value takes precedence over the HTEXT= value specified in the GOPTIONS statement.\",\"help\":\"HEIGHT=*value*\",\"type\":\"value\"},{\"name\":\"HMINOR=\",\"optional\":true,\"aliases\":[\"HM=\"],\"description\":\"Specifies the number of minor tick marks between major tick marks on the horizontal axis. Minor tick marks are not labeled. The default is HMINOR=0.\",\"help\":\"HMINOR=*n*\",\"type\":\"value\"},{\"name\":\"HOFFSET=\",\"optional\":true,\"description\":\"Specifies the length (in percent screen units) of the offset at both ends of the horizontal axis. You can eliminate the offset by specifying HOFFSET=0.\",\"help\":\"HOFFSET=*value*\",\"type\":\"value\"},{\"name\":\"HREF2=\",\"optional\":true,\"description\":\"Draws reference lines perpendicular to the horizontal (subgroup) axis on the secondary chart.\",\"type\":\"value\"},{\"name\":\"HREF2DATA=\",\"optional\":true,\"description\":\"Draws reference lines perpendicular to the horizontal (subgroup) axis on the secondary chart. The HREF2DATA= option must be used in place of the HREF2= option to specify a data set using the quoted filename notation.\",\"help\":\"HREF2DATA=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"HREF2LABELS=\",\"optional\":true,\"aliases\":[\"HREF2LABEL=\",\"HREF2LAB=\"],\"description\":\"Specifies labels for the reference lines requested by the HREF2= option. The number of labels must equal the number of lines. Enclose each label in quotes. Labels can be up to 16 characters.\",\"type\":\"value\"},{\"name\":\"HREF=\",\"optional\":true,\"description\":\"Draws reference lines perpendicular to the horizontal (subgroup) axis on the primary chart.\",\"type\":\"value\"},{\"name\":\"HREFCHAR=\",\"optional\":true,\"description\":\"Specifies the character used for reference lines requested by the HREF= and HREF2= options on line printer charts. The default is the vertical bar (|).\",\"help\":\"HREFCHAR='*character*'\",\"type\":\"value\"},{\"name\":\"HREFDATA=\",\"optional\":true,\"description\":\"Draws reference lines perpendicular to the horizontal (subgroup) axis on the primary chart. The HREFDATA= option must be used in place of the HREF= option to specify a data set using the quoted filename notation.\",\"help\":\"HREFDATA=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"HREFLABELS=\",\"optional\":true,\"aliases\":[\"HREFLABEL=\",\"HREFLAB=\"],\"description\":\"Specifies labels for the reference lines requested by the HREF= option. The number of labels must equal the number of lines. Enclose each label in quotes. Labels can be up to 16 characters.\",\"type\":\"value\"},{\"name\":\"HREFLABPOS=\",\"optional\":true,\"description\":\"Specifies the vertical position of the HREFLABEL= label.\",\"help\":\"HREFLABPOS=1 | 2 | 3 | 4\",\"type\":\"choice\",\"arguments\":[{\"name\":\"1\",\"description\":\"Along top of subplot area\",\"type\":\"standalone\"},{\"name\":\"2\",\"description\":\"Staggered from top to bottom of subplot area\",\"type\":\"standalone\"},{\"name\":\"3\",\"description\":\"Along bottom of subplot area\",\"type\":\"standalone\"},{\"name\":\"4\",\"description\":\"Staggered from bottom to top of subplot area\",\"type\":\"standalone\"}]},{\"name\":\"HTML2=\",\"optional\":true,\"description\":\"Specifies URLs as values of the specified character variable (or formatted values of a numeric variable). These URLs are associated with points on a secondary chart when traditional graphics output is directed into HTML.\",\"help\":\"HTML2=*variable*\",\"type\":\"value\"},{\"name\":\"HTML=\",\"optional\":true,\"description\":\"Specifies URLs as values of the specified character variable (or formatted values of a numeric variable). These URLs are associated with points on a primary control chart when traditional graphics output is directed into HTML.\",\"help\":\"HTML=*variable*\",\"type\":\"value\"},{\"name\":\"HTML_LEGEND=\",\"optional\":true,\"description\":\"Specifies URLs as values of the specified character variable (or formatted values of a numeric variable). These URLs are associated with symbols in the legend for the levels of a symbol-variable.\",\"help\":\"HTML_LEGEND=*variable*\",\"type\":\"value\"},{\"name\":\"IDCOLOR=\",\"optional\":true,\"description\":\"Specifies the color of the symbol marker used to identify outliers in schematic box-and-whiskers plots (that is, when you specify the keyword SCHEMATIC, SCHEMATICID, or SCHEMATICIDFAR with the BOXSTYLE= option).\",\"help\":\"IDCOLOR=*color*\",\"type\":\"color\"},{\"name\":\"IDCTEXT=\",\"optional\":true,\"description\":\"Specifies the color for the text used to label outliers when you specify the keyword SCHEMATICID, SCHEMATICIDFAR, POINTSID, or POINTSJOINID with the BOXSTYLE= option.\",\"help\":\"IDCTEXT=*color*\",\"type\":\"color\"},{\"name\":\"IDFONT=\",\"optional\":true,\"description\":\"Specifies the font for the text used to label outliers when you specify the keyword SCHEMATICID, SCHEMATICIDFAR, POINTSID, or POINTSJOINID with the BOXSTYLE= option.\",\"help\":\"IDFONT=*font*\",\"type\":\"value\"},{\"name\":\"IDHEIGHT=\",\"optional\":true,\"description\":\"Specifies the height for the text used to label outliers when you specify the keyword SCHEMATICID, SCHEMATICIDFAR, POINTSID, or POINTSJOINID with the BOXSTYLE= option.\",\"help\":\"IDHEIGHT=*value*\",\"type\":\"value\"},{\"name\":\"IDSYMBOL=\",\"optional\":true,\"description\":\"Specifies the symbol marker used to identify outliers in schematic box-and-whisker plots produced with the BOXCHART statement when you use one of the following options: BOXSTYLE=SCHEMATIC, BOXSTYLE=SCHEMATICID, and BOXSTYLE=SCHEMATICIDFAR. The default symbol is SQUARE.\",\"help\":\"IDSYMBOL=*symbol*\",\"type\":\"value\"},{\"name\":\"INDEPENDENTZONES\",\"optional\":true,\"aliases\":[\"INDEPZONES\"],\"description\":\"Specifies that the widths of the zones requested with the ZONES option be computed independently above and below the center line of the chart, so that the width of each zone is one-third of the difference between the process mean and the control limit on its side of the chart.\",\"type\":\"standalone\"},{\"name\":\"INFILLOPACITY=\",\"optional\":true,\"description\":\"Specifies the control limit infill opacity when transparency is used in ODS Graphics output. The value be between 0 and 1, where 0 is completely transparent and 1 is completely opaque. The default control limit infill opacity is 0.25.\",\"help\":\"INFILLOPACITY=*value*\",\"type\":\"value\"},{\"name\":\"INTERVAL=\",\"optional\":true,\"description\":\"Specifies the natural time interval between consecutive group positions when a time, date, or datetime format is associated with a numeric group variable.\",\"help\":\"INTERVAL=DAY | DTDAY | HOUR | MINUTE | MONTH | QTR | SECOND\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DAY\",\"description\":\"For DATE, WEEKDATE, WORDDATE, YYMMDD, or MMDDYY format\",\"type\":\"standalone\"},{\"name\":\"DTDAY\",\"description\":\"For DATETIME format\",\"type\":\"standalone\"},{\"name\":\"HOUR\",\"description\":\"For HHMM or HOUR format\",\"type\":\"standalone\"},{\"name\":\"MINUTE\",\"description\":\"For MMSS format\",\"type\":\"standalone\"},{\"name\":\"MONTH\",\"description\":\"For MONYY format\",\"type\":\"standalone\"},{\"name\":\"QTR\",\"description\":\"For YYQ format\",\"type\":\"standalone\"},{\"name\":\"SECOND\",\"description\":\"For TIME or TOD format\",\"type\":\"standalone\"}]},{\"name\":\"INTSTART=\",\"optional\":true,\"description\":\"Specifies the starting value for a numeric horizontal axis when a date, time, or datetime format is associated with the group variable.\",\"help\":\"INTSTART=*value*\",\"type\":\"value\"},{\"name\":\"LABELANGLE=\",\"optional\":true,\"description\":\"Specifies the angle at which labels requested with the ALLLABEL=, ALLLABEL2=, OUTLABEL=, and OUTLABEL2= options are drawn. A positive angle rotates the labels counterclockwise; a negative angle rotates them clockwise. By default, labels are oriented horizontally.\",\"help\":\"LABELANGLE=*angle*\",\"type\":\"value\"},{\"name\":\"LABELFONT=\",\"optional\":true,\"aliases\":[\"TESTFONT=\"],\"description\":\"Specifies a software font for labels requested with the ALLLABEL=, ALLLABEL2=, OUTLABEL=, OUTLABEL2=, STARLABEL=, TESTLABEL=, and TESTLABELn= options.\",\"help\":\"LABELFONT=*font*\",\"type\":\"value\"},{\"name\":\"LABELHEIGHT=\",\"optional\":true,\"aliases\":[\"TESTHEIGHT=\"],\"description\":\"Specifies the height (in vertical percent screen units) for labels requested with the ALLLABEL=, ALLLABEL2=, OUTLABEL=, OUTLABEL2=, STARLABEL=, TESTLABEL=, and TESTLABEL= options.\",\"help\":\"LABELHEIGHT=*value*\",\"type\":\"value\"},{\"name\":\"LBOXES=\",\"optional\":true,\"description\":\"Specifies the line types for the outlines of the box-and-whiskers plots created with the BOXCHART statement.\",\"type\":\"value\"},{\"name\":\"LCLLABEL2=\",\"optional\":true,\"description\":\"Specifies a label for the lower control limit in the secondary chart. The label can be of length 16 or less. Enclose the label in quotes.\",\"help\":\"LCLLABEL2='*label*'\",\"type\":\"value\"},{\"name\":\"LCLLABEL=\",\"optional\":true,\"description\":\"Specifies a label for the lower control limit in the primary chart. The label can be of length 16 or less. Enclose the label in quotes.\",\"help\":\"LCLLABEL='*label*'\",\"type\":\"value\"},{\"name\":\"LENDGRID=\",\"optional\":true,\"description\":\"Specifies the line type for the grid requested with the ENDGRID option. The default value is 1, which produces a solid line.\",\"help\":\"LENDGRID=*linetype*\",\"type\":\"value\"},{\"name\":\"LGRID=\",\"optional\":true,\"description\":\"Specifies the line type for the grid requested with the GRID option. The default value is 1, which produces a solid line.\",\"help\":\"LGRID=*linetype*\",\"type\":\"value\"},{\"name\":\"LHREF=\",\"optional\":true,\"aliases\":[\"LH=\"],\"description\":\"Specifies the line type for reference lines requested with the HREF= and HREF2 options. The default value is 2, which produces a dashed line.\",\"help\":\"LHREF=*linetype*\",\"type\":\"value\"},{\"name\":\"LIMITN=\",\"optional\":true,\"description\":\"Specifies either a varying or a fixed nominal sample size n for the control limits.\",\"help\":\"LIMITN=VARYING | *n*\",\"type\":\"choice\",\"arguments\":[{\"name\":\"VARYING\",\"description\":\"Specifies a varying nominal sample size for the control limits.\",\"type\":\"standalone\"},{\"name\":\"n\",\"placeholder\":true,\"description\":\"Specifies a fixed nominal sample size for the control limits.\",\"type\":\"value\"}]},{\"name\":\"LIMLABSUBCHAR=\",\"optional\":true,\"description\":\"Specifies a substitution character (such as #) for labels provided as quoted strings with the LCLLABEL=, LCLLABEL2=, UCLLABEL=, UCLLABEL2=, CSYMBOL=, NPSYMBOL=, PSYMBOL=, RSYMBOL=, SSYMBOL=, USYMBOL=, and XSYMBOL= options.\",\"help\":\"LIMLABSUBCHAR='*character*'\",\"type\":\"value\"},{\"name\":\"LLIMITS=\",\"optional\":true,\"description\":\"Specifies the line type for control limits. The default is 4, which produces a dashed line.\",\"help\":\"LLIMITS=*linetype*\",\"type\":\"value\"},{\"name\":\"LOVERLAY2=\",\"optional\":true,\"description\":\"Specifies line types for the line segments connecting points on secondary chart overlays. Line types in the LOVERLAY2= list are matched with variables in the corresponding positions in the OVERLAY2= list.\",\"type\":\"value\"},{\"name\":\"LOVERLAY=\",\"optional\":true,\"description\":\"Specifies line types for the line segments connecting points on primary chart overlays. Line types in the LOVERLAY= list are matched with variables in the corresponding positions in the OVERLAY= list.\",\"type\":\"value\"},{\"name\":\"LSL=\",\"optional\":true,\"description\":\"Provides lower specification limits used to compute capability indices.\",\"help\":\"LSL=*value-list*\",\"type\":\"value\"},{\"name\":\"LSTARCIRCLES=\",\"optional\":true,\"description\":\"Specifies one or more line types for the circles requested with the STARCIRCLES= option.\",\"help\":\"LSTARCIRCLES=*linetypes*\",\"type\":\"value\"},{\"name\":\"LSTARS=\",\"optional\":true,\"description\":\"Specifies the line types for the outlines of stars requested with the STARVERTICES= option.\",\"type\":\"value\"},{\"name\":\"LTESTS=\",\"optional\":true,\"aliases\":[\"LTEST=\"],\"description\":\"Specifies the line type for the line segments that connect patterns of points for which a test for special causes (requested with the TESTS= option) is positive. The default is 1, which produces a solid line.\",\"help\":\"LTESTS=*linetype*\",\"type\":\"value\"},{\"name\":\"LTMARGIN=\",\"optional\":true,\"aliases\":[\"LTM=\"],\"description\":\"Specifies the width of the left marginal area for the plot requested with the LTMPLOT= option.\",\"help\":\"LTMARGIN=*value*\",\"type\":\"value\"},{\"name\":\"LTMPLOT=\",\"optional\":true,\"description\":\"Requests a univariate plot of the control chart statistics that is positioned in the left margin of the control chart.\",\"help\":\"LTMPLOT=HISTOGRAM | DIGIDOT | SKELETAL | SCHEMATIC | SCHEMATICID | SCHEMATICIDFAR\",\"type\":\"choice\",\"arguments\":[{\"name\":\"HISTOGRAM\",\"description\":\"Histogram\",\"type\":\"standalone\"},{\"name\":\"DIGIDOT\",\"description\":\"Digidot plot\",\"type\":\"standalone\"},{\"name\":\"SKELETAL\",\"description\":\"Skeletal box-and-whisker plot\",\"type\":\"standalone\"},{\"name\":\"SCHEMATIC\",\"description\":\"Schematic box-and-whisker plot\",\"type\":\"standalone\"},{\"name\":\"SCHEMATICID\",\"description\":\"Schematic box-and-whisker plot with outliers labeled\",\"type\":\"standalone\"},{\"name\":\"SCHEMATICIDFAR\",\"description\":\"Schematic box-and-whisker plot with far outliers labeled\",\"type\":\"standalone\"}]},{\"name\":\"LVREF=\",\"optional\":true,\"aliases\":[\"LV=\"],\"description\":\"Specifies the line type for reference lines requested by the VREF= and VREF2= options. The default value is 2, which produces a dashed line.\",\"help\":\"LVREF=*linetype*\",\"type\":\"value\"},{\"name\":\"LZONES=\",\"optional\":true,\"description\":\"Specifies the line type for lines that delineate zones A, B, and C for standard tests requested with the TESTS= and/or TESTS2= options. The default is n=2, which produces a dashed line.\",\"help\":\"LZONES=*n*\",\"type\":\"value\"},{\"name\":\"MAXPANELS=\",\"optional\":true,\"description\":\"Specifies the maximum number of pages or screens for a chart. By default, n=20.\",\"help\":\"MAXPANELS=*n*\",\"type\":\"value\"},{\"name\":\"MEDCENTRAL=\",\"optional\":true,\"description\":\"Identifies a method for estimating the process mean, µ, which is represented by the central line on a median chart.\",\"help\":\"MEDCENTRAL=AVGMEAN | AVGMED | MEDMED\",\"type\":\"choice\",\"arguments\":[{\"name\":\"AVGMEAN\",\"description\":\"Average of subgroup means\",\"type\":\"standalone\"},{\"name\":\"AVGMED\",\"description\":\"Average of subgroup medians\",\"type\":\"standalone\"},{\"name\":\"MEDMED\",\"description\":\"Median of subgroup medians\",\"type\":\"standalone\"}]},{\"name\":\"MISSBREAK\",\"optional\":true,\"description\":\"Determines how subgroups are formed when observations are read from a DATA= data set and a character subgroup-variable is provided.\",\"type\":\"standalone\"},{\"name\":\"MRRESTART\",\"optional\":true,\"description\":\"Causes the moving range computation on the IRCHART to be restarted when any missing value is encountered.\",\"type\":\"standalone\"},{\"name\":\"MRRESTART=\",\"optional\":true,\"description\":\"' Causes the moving range computation on the IRCHART to be restarted only when the specified missing value is encountered.\",\"help\":\"MRRESTART=*value*\",\"type\":\"value\"},{\"name\":\"MU0=\",\"optional\":true,\"description\":\"Specifies a known (standard) value u0 for the process mean µ.\",\"help\":\"MU0=*value*\",\"type\":\"value\"},{\"name\":\"NAME2=\",\"optional\":true,\"description\":\"Specifies a name for the secondary chart of length 8 or less that appears in the PROC GREPLAY master menu. The default name is 'SHEWHART'.\",\"help\":\"NAME2='*string*'\",\"type\":\"value\"},{\"name\":\"NAME=\",\"optional\":true,\"description\":\"Specifies a name for the primary chart of length 8 or less that appears in the PROC GREPLAY master menu. The default name is 'SHEWHART'.\",\"help\":\"NAME='*string*'\",\"type\":\"value\"},{\"name\":\"NDECIMAL2=\",\"optional\":true,\"description\":\"Specifies the number of decimal digits in the default labels for the control limits and the central line in a secondary chart.\",\"help\":\"NDECIMAL2=*n*\",\"type\":\"value\"},{\"name\":\"NDECIMAL=\",\"optional\":true,\"description\":\"Specifies the number of decimal digits in the default labels for the control limits and the central line in the primary chart.\",\"help\":\"NDECIMAL=*n*\",\"type\":\"value\"},{\"name\":\"NEEDLES\",\"optional\":true,\"description\":\"Connects plotted points to the central line with vertical line segments (needles).\",\"type\":\"standalone\"},{\"name\":\"NMARKERS\",\"optional\":true,\"description\":\"Identifies a plotted subgroup summary statistic with a special symbol marker (character) when the corresponding subgroup sample size is not equal to the nominal control limit sample size n.\",\"type\":\"standalone\"},{\"name\":\"NO3SIGMACHECK\",\"optional\":true,\"description\":\"Suppresses the check for 3σ limits when tests for special causes are requested.\",\"type\":\"standalone\"},{\"name\":\"NOBLOCKREFFILL\",\"optional\":true,\"aliases\":[\"NOPHASEREFILL\",\"NOREFILL\"],\"description\":\"Suppresses the block and phase wall fills from ODS Graphics output. By default, block and phase walls are filled when ODS Graphics is in effect.\",\"type\":\"standalone\"},{\"name\":\"NOBLOCKREF\",\"optional\":true,\"aliases\":[\"NOPHASEREF=\",\"NOREF=\"],\"description\":\"Suppresses block and phase reference lines from ODS Graphics output.\",\"type\":\"standalone\"},{\"name\":\"NOBOXFILLLEGEND\",\"optional\":true,\"aliases\":[\"NOFILLLEGEND\",\"NOSTARFILLLEGEND\"],\"description\":\"Suppresses the legend for the levels of a BOXFILL= or STARFILL= variable in ODS Graphics output.\",\"type\":\"standalone\"},{\"name\":\"NOBYREF\",\"optional\":true,\"description\":\"Specifies that the reference line information in an HREF=, HREF2=, VREF=, or VREF2= data set be applied uniformly to box plots created for all the BY groups in the input data set. If you specify the NOBYREF option, you do not need to provide BY variables in the reference line data set. By default, you must provide BY variables.\",\"type\":\"standalone\"},{\"name\":\"NOCHART2\",\"optional\":true,\"description\":\"Suppresses the creation of a secondary chart. You typically use this option in the IRCHART statement to create a chart for individual measurements and suppress the accompanying chart for moving ranges.\",\"type\":\"standalone\"},{\"name\":\"NOCHART\",\"optional\":true,\"aliases\":[\"NOCH\"],\"description\":\"Suppresses the creation of the chart. You typically specify the NOCHART option when you are using the procedure to compute control limits and save them in an output data set.\",\"type\":\"standalone\"},{\"name\":\"NOCONNECT\",\"optional\":true,\"description\":\"Suppresses line segments that connect points on the chart.\",\"type\":\"standalone\"},{\"name\":\"NOCTL\",\"optional\":true,\"description\":\"Suppresses the display of the central line in a primary chart.\",\"type\":\"standalone\"},{\"name\":\"NOCTL2\",\"optional\":true,\"description\":\"Suppresses the display of the central line in a secondary chart.\",\"type\":\"standalone\"},{\"name\":\"NOFRAME\",\"optional\":true,\"description\":\"Suppresses the default frame drawn around the chart.\",\"type\":\"standalone\"},{\"name\":\"NOHLABEL\",\"optional\":true,\"description\":\"Suppresses the label for the horizontal (subgroup) axis.\",\"type\":\"standalone\"},{\"name\":\"NOLCL\",\"optional\":true,\"description\":\"Suppresses the display of the lower control limit in a primary chart.\",\"type\":\"standalone\"},{\"name\":\"NOLCL2\",\"optional\":true,\"description\":\"Suppresses the display of the lower control limit in a secondary chart.\",\"type\":\"standalone\"},{\"name\":\"NOLEGEND\",\"optional\":true,\"description\":\"Suppresses the default legend for subgroup sample sizes, which appears by default below the chart.\",\"type\":\"standalone\"},{\"name\":\"NOLIMIT0\",\"optional\":true,\"description\":\"Suppresses the display of a fixed lower control limit if and only if the value of the limit is zero.\",\"type\":\"standalone\"},{\"name\":\"NOLIMIT1\",\"optional\":true,\"description\":\"Suppresses the display of a fixed upper control limit on a p chart if and only if the value of the control limit is 1 (or 100%), or on an np chart if and only if the value of the control limit is n.\",\"type\":\"standalone\"},{\"name\":\"NOLIMITLABEL\",\"optional\":true,\"description\":\"Suppresses the default labels for the control limits and central lines.\",\"type\":\"standalone\"},{\"name\":\"NOLIMITS\",\"optional\":true,\"description\":\"Suppresses the display of control limits.\",\"type\":\"standalone\"},{\"name\":\"NOLIMITSFRAME\",\"optional\":true,\"description\":\"Suppresses the default frame for the control limit information that is displayed across the top of the chart when multiple sets of control limits with distinct multiples of σ and nominal control limit sample sizes are read from a LIMITS= data set.\",\"type\":\"standalone\"},{\"name\":\"NOLIMITSLEGEND\",\"optional\":true,\"description\":\"Suppresses the legend for the control limits, which appears by default in the upper right corner of the chart.\",\"type\":\"standalone\"},{\"name\":\"NOOVERLAYLEGEND\",\"optional\":true,\"description\":\"Suppresses the legend for overlay variables which is displayed by default when the OVERLAY= or OVERLAY2= option is specified.\",\"type\":\"standalone\"},{\"name\":\"NOPHASEFRAME\",\"optional\":true,\"description\":\"Suppresses the default frame for the legend requested by the PHASELEGEND option.\",\"type\":\"standalone\"},{\"name\":\"NOREADLIMITS\",\"optional\":true,\"description\":\"Specifies that the control limits for each process listed in the chart statement are not to be read from the LIMITS= data set specified in the PROC SHEWHART statement.\",\"type\":\"standalone\"},{\"name\":\"NOTCHES\",\"optional\":true,\"description\":\"Specifies that box-and-whiskers plots created by the BOXCHART statement are to be notched.\",\"type\":\"standalone\"},{\"name\":\"NOTESTACROSS\",\"optional\":true,\"description\":\"Specifies that tests for special causes requested with the TESTS= or TESTS2= options not be applied across the boundaries of phases (blocks of consecutive subgroups) determined by the READPHASES= option and the variable _PHASE_ in the input data set.\",\"type\":\"standalone\"},{\"name\":\"NOTICKREP\",\"optional\":true,\"description\":\"Applies to character-valued subgroup-variables and specifies that only the first occurrence of repeated, adjacent group values be labeled on the horizontal axis.\",\"type\":\"standalone\"},{\"name\":\"NOTRANSPARENCY\",\"optional\":true,\"description\":\"Disables transparency in ODS Graphics output, so that all graph features are opaque.\",\"type\":\"standalone\"},{\"name\":\"NOTRENDCONNECT\",\"optional\":true,\"description\":\"Suppresses line segments that connect points on a trend chart.\",\"type\":\"standalone\"},{\"name\":\"NOTRUNC\",\"optional\":true,\"description\":\"Overrides the vertical axis truncation at zero.\",\"type\":\"standalone\"},{\"name\":\"NOUCL\",\"optional\":true,\"description\":\"Suppresses the display of the upper control limit in a primary chart.\",\"type\":\"standalone\"},{\"name\":\"NOUCL2\",\"optional\":true,\"description\":\"suppresses the display of the upper control limit in a secondary chart.\",\"type\":\"standalone\"},{\"name\":\"NOVANGLE\",\"optional\":true,\"description\":\"Requests that the vertical axis label be strung out vertically.\",\"type\":\"standalone\"},{\"name\":\"NPANELPOS=\",\"optional\":true,\"aliases\":[\"NPANEL=\"],\"description\":\"Specifies the number of subgroup positions per panel on each chart.\",\"help\":\"NPANELPOS=*n*\",\"type\":\"value\"},{\"name\":\"NPSYMBOL=\",\"optional\":true,\"description\":\"Specifies a label for the central line in an np chart.\",\"help\":\"NPSYMBOL='*label*' | NP | NPBAR | NPPM | NPPM2 | NP0\",\"type\":\"choice\",\"arguments\":[{\"name\":\"'label'\",\"placeholder\":true,\"description\":\"A quoted label up to 16 characters in length.\",\"type\":\"value\"},{\"name\":\"NP\",\"description\":\"NP\",\"type\":\"standalone\"},{\"name\":\"NPBAR\",\"description\":\"NPBAR\",\"type\":\"standalone\"},{\"name\":\"NPPM\",\"description\":\"NP'\",\"type\":\"standalone\"},{\"name\":\"NPPM2\",\"description\":\"NP''\",\"type\":\"standalone\"},{\"name\":\"NP0\",\"description\":\"NP0\",\"type\":\"standalone\"}]},{\"name\":\"ODSFOOTNOTE2=\",\"optional\":true,\"description\":\"Adds a secondary footnote to ODS Graphics output.\",\"help\":\"ODSFOOTNOTE2=FOOTNOTE2 | '*string*'\",\"type\":\"choice\",\"arguments\":[{\"name\":\"FOOTNOTE2\",\"description\":\"The value of SAS FOOTNOTE2 statement is used as the graph footnote.\",\"type\":\"standalone\"},{\"name\":\"'string'\",\"placeholder\":true,\"description\":\"A quoted string is used as the secondary footnote.\",\"type\":\"value\"}]},{\"name\":\"ODSFOOTNOTE=\",\"optional\":true,\"description\":\"Adds a footnote to ODS Graphics output.\",\"help\":\"ODSFOOTNOTE=FOOTNOTE | FOOTNOTE1 | '*string*'\",\"type\":\"choice\",\"arguments\":[{\"name\":\"FOOTNOTE\",\"description\":\"The value of SAS FOOTNOTE statement is used as the graph footnote.\",\"type\":\"standalone\"},{\"name\":\"FOOTNOTE1\",\"description\":\"The value of SAS FOOTNOTE statement is used as the graph footnote.\",\"type\":\"standalone\"},{\"name\":\"'string'\",\"placeholder\":true,\"description\":\"A quoted string is used as the graph footnote.\",\"type\":\"value\"}]},{\"name\":\"ODSLEGENDEXPAND\",\"optional\":true,\"description\":\"Specifies that legend entries contain all levels observed in the data.\",\"type\":\"standalone\"},{\"name\":\"ODSTITLE2=\",\"optional\":true,\"description\":\"Specifies a secondary title for ODS Graphics output.\",\"help\":\"ODSTITLE2=TITLE2 | '*string*'\",\"type\":\"choice\",\"arguments\":[{\"name\":\"TITLE2\",\"description\":\"Uses the value of SAS TITLE2 statement as the secondary graph title.\",\"type\":\"standalone\"},{\"name\":\"'string'\",\"placeholder\":true,\"description\":\"A quoted string is used as the secondary title.\",\"type\":\"value\"}]},{\"name\":\"ODSTITLE=\",\"optional\":true,\"description\":\"Specifies a title for ODS Graphics output.\",\"help\":\"ODSTITLE=TITLE | TITLE1 | NONE | DEFAULT | LABELFMT | '*string*'\",\"type\":\"choice\",\"arguments\":[{\"name\":\"TITLE\",\"description\":\"Uses the value of SAS TITLE statement as the graph title.\",\"type\":\"standalone\"},{\"name\":\"TITLE1\",\"description\":\"Uses the value of SAS TITLE statement as the graph title.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"Suppresses all titles from the graph.\",\"type\":\"standalone\"},{\"name\":\"DEFAULT\",\"description\":\"Uses the default ODS Graphics title (a descriptive title consisting of the plot type and the process variable name.)\",\"type\":\"standalone\"},{\"name\":\"LABELFMT\",\"description\":\"Uses the default ODS Graphics title with the variable label instead of the variable name.\",\"type\":\"standalone\"},{\"name\":\"'string'\",\"placeholder\":true,\"description\":\"A quoted string is used as the graph title.\",\"type\":\"value\"}]},{\"name\":\"OUTBOX=\",\"optional\":true,\"description\":\"Creates an output data set that contains subgroup summary statistics, control limits, and outlier values for a box chart.\",\"help\":\"OUTBOX=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"OUTFILL\",\"optional\":true,\"description\":\"Fills the areas outside the control limits that lie between the connected points and the control limits and are bounded by connecting lines.\",\"type\":\"standalone\"},{\"name\":\"OUTFILLOPACITY=\",\"optional\":true,\"description\":\"Specifies the control limit outfill opacity when transparency is used in ODS Graphics output. The value must be between 0 and 1, where 0 is completely transparent and 1 is completely opaque. The default control limit outfill opacity is 0.25.\",\"help\":\"OUTFILLOPACITY=*value*\",\"type\":\"value\"},{\"name\":\"OUTHIGHHTML=\",\"optional\":true,\"description\":\"Specifies a variable whose values are URLs to be associated with outlier points above the upper fence on a schematic box plot when graphics output is directed into HTML.\",\"help\":\"OUTHIGHHTML=*variable*\",\"type\":\"value\"},{\"name\":\"OUTHISTORY=\",\"optional\":true,\"description\":\"Creates an output data set that contains the subgroup summary statistics.\",\"help\":\"OUTHISTORY=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"OUTINDEX=\",\"optional\":true,\"description\":\"Specifies the value of the _INDEX_ variable in the OUTLIMITS= output data set.\",\"help\":\"OUTINDEX='*label*'\",\"type\":\"value\"},{\"name\":\"OUTLABEL2=\",\"optional\":true,\"description\":\"Labels each point that falls outside the control limits on an R or s chart with the VALUE plotted for that subgroup or with the value of a variable in the input data set.\",\"type\":\"value\"},{\"name\":\"OUTLABEL=\",\"optional\":true,\"description\":\"Labels each point that falls outside the control limits on the primary chart with the VALUE plotted for that subgroup or with the value of a variable in the input data set.\",\"type\":\"value\"},{\"name\":\"OUTLIMITS=\",\"optional\":true,\"description\":\"Creates an output data set that saves the control limits.\",\"help\":\"OUTLIMITS=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"OUTLOWHTML=\",\"optional\":true,\"description\":\"Specifies a variable whose values are URLs to be associated with outlier points below the lower fence on a schematic box plot when graphics output is directed into HTML.\",\"help\":\"OUTLOWHTML=*variable*\",\"type\":\"value\"},{\"name\":\"OUTPHASE=\",\"optional\":true,\"description\":\"Specifies the value of the _PHASE_ variable in the OUTHISTORY= data set.\",\"help\":\"OUTPHASE='*label*'\",\"type\":\"value\"},{\"name\":\"OUTTABLE=\",\"optional\":true,\"description\":\"Creates an output SAS data set that saves the information plotted on the chart, including the subgroup variable values and their corresponding summary statistics and control limits.\",\"help\":\"OUTTABLE=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"OVERLAY2=\",\"optional\":true,\"description\":\"Specifies variables to be overlaid on a secondary control chart.\",\"type\":\"value\"},{\"name\":\"OVERLAY2HTML=\",\"optional\":true,\"description\":\"Specifies variables whose values are URLs to be associated with points on secondary chart overlays.\",\"type\":\"value\"},{\"name\":\"OVERLAY2ID=\",\"optional\":true,\"description\":\"Specifies variables whose formatted values are used to label points on secondary chart overlays.\",\"type\":\"value\"},{\"name\":\"OVERLAY2SYM=\",\"optional\":true,\"description\":\"Specifies symbols used to plot overlays on a secondary control chart.\",\"type\":\"value\"},{\"name\":\"OVERLAY=\",\"optional\":true,\"description\":\"Specifies variables to be overlaid on the primary control chart.\",\"type\":\"value\"},{\"name\":\"OVERLAYCLIPSYM=\",\"optional\":true,\"description\":\"Specifies the symbol used to plot clipped values on overlay plots when the CLIPFACTOR= option is used.\",\"help\":\"OVERLAYCLIPSYM=*symbol*\",\"type\":\"value\"},{\"name\":\"OVERLAYCLIPSYMHT=\",\"optional\":true,\"description\":\"Specifies the height for the symbol used to plot clipped values on overlay plots when the CLIPFACTOR= option is used.\",\"help\":\"OVERLAYCLIPSYMHT=*value*\",\"type\":\"value\"},{\"name\":\"OVERLAYHTML=\",\"optional\":true,\"description\":\"Specifies variables whose values are URLs to be associated with points on primary chart overlays.\",\"type\":\"value\"},{\"name\":\"OVERLAYID=\",\"optional\":true,\"description\":\"Specifies variables whose formatted values are used to label points on primary chart overlays.\",\"type\":\"value\"},{\"name\":\"OVERLAYLEGLAB=\",\"optional\":true,\"description\":\"Specifies the label displayed to the left of the overlay legend produced by the OVERLAY= or OVERLAY2= option. The label can be up to 16 characters and must be enclosed in quotes. The default label is \\\"Overlays:\\\".\",\"help\":\"OVERLAYLEGLAB='*label*'\",\"type\":\"value\"},{\"name\":\"OVERLAYSYM=\",\"optional\":true,\"description\":\"Specifies symbols used to plot overlays on the primary control chart.\",\"type\":\"value\"},{\"name\":\"OVERLAYSYMHT=\",\"optional\":true,\"description\":\"Specifies the heights of symbols used to plot overlays on the primary control chart.\",\"type\":\"value\"},{\"name\":\"P0=\",\"optional\":true,\"description\":\"Specifies a known (standard) value po for the proportion of nonconforming items produced by the process.\",\"help\":\"P0=*value*\",\"type\":\"value\"},{\"name\":\"PAGENUM=\",\"optional\":true,\"description\":\"Specifies the form of the label used for pagination. The string can be up to 16 characters, and it must include one or two occurrences of the substitution character '#'. The first '#' is replaced with the page number, and the optional second '#' is replaced with the total number of pages.\",\"help\":\"PAGENUM='*string*'\",\"type\":\"value\"},{\"name\":\"PAGENUMPOS=\",\"optional\":true,\"description\":\"Specifies where to position the page number requested with the PAGENUM= option.\",\"help\":\"PAGENUMPOS=TL | TR | BL | BR | TL100 | TR100 | BL0 | BR0\",\"type\":\"choice\",\"arguments\":[{\"name\":\"TL\",\"description\":\"Top left\",\"type\":\"standalone\"},{\"name\":\"TR\",\"description\":\"Top right\",\"type\":\"standalone\"},{\"name\":\"BL\",\"description\":\"Bottom left\",\"type\":\"standalone\"},{\"name\":\"BR\",\"description\":\"Bottom right\",\"type\":\"standalone\"},{\"name\":\"TL100\",\"description\":\"Top left. TL100 ensures that the page number appears at the very top of a page when a title is displayed.\",\"type\":\"standalone\"},{\"name\":\"TR100\",\"description\":\"Top right. TR100 ensures that the page number appears at the very top of a page when a title is displayed.\",\"type\":\"standalone\"},{\"name\":\"BL0\",\"description\":\"Bottom left. BL0 ensures that the page number appears at the very bottom of a page when footnotes are displayed.\",\"type\":\"standalone\"},{\"name\":\"BR0\",\"description\":\"Bottom right. BR0 ensures that the page number appears at the very bottom of a page when footnotes are displayed.\",\"type\":\"standalone\"}]},{\"name\":\"PCTLDEF=\",\"optional\":true,\"description\":\"Specifies one of five definitions used to calculate percentiles in the construction of box-and-whiskers plots requested with the BOXCHART statement.\",\"help\":\"PCTLDEF=1 | 2 | 3 | 4 | 5\",\"type\":\"choice\",\"arguments\":[{\"name\":\"1\",\"description\":\"Definition 1 for computing quantile statistics\",\"type\":\"standalone\"},{\"name\":\"2\",\"description\":\"Definition 2 for computing quantile statistics\",\"type\":\"standalone\"},{\"name\":\"3\",\"description\":\"Definition 3 for computing quantile statistics\",\"type\":\"standalone\"},{\"name\":\"4\",\"description\":\"Definition 4 for computing quantile statistics\",\"type\":\"standalone\"},{\"name\":\"5\",\"description\":\"Definition 5 for computing quantile statistics\",\"type\":\"standalone\"}]},{\"name\":\"PHASEBOXLABELS\",\"optional\":true,\"description\":\"Draws phase labels as titles along the top of phase boxes.\",\"type\":\"standalone\"},{\"name\":\"PHASEBREAK\",\"optional\":true,\"description\":\"Specifies that the last point in a phase (defined as a block of consecutive subgroups with the same value of the _PHASE_ variable) is not to be connected to the first point in the next phase.\",\"type\":\"standalone\"},{\"name\":\"PHASELABTYPE=\",\"optional\":true,\"description\":\"Specifies how lengthy _PHASE_ variable values are to be displayed when there is insufficient space in the legend requested with the PHASELEGEND option.\",\"help\":\"PHASELABTYPE=SCALED | TRUNCATED\",\"type\":\"choice\",\"arguments\":[{\"name\":\"SCALED\",\"description\":\"The values are uniformly reduced in height so that they fit.\",\"type\":\"standalone\"},{\"name\":\"TRUNCATED\",\"description\":\"Lengthy values are truncated on the right until they fit.\",\"type\":\"standalone\"}]},{\"name\":\"PHASELEGEND\",\"optional\":true,\"aliases\":[\"PHASELEG\"],\"description\":\"Identifies the phases requested with the READPHASES= option in a legend across the top of the chart.\",\"type\":\"standalone\"},{\"name\":\"PHASELIMITS\",\"optional\":true,\"description\":\"Specifies that the control limits and center line are to be labeled for each phase specified with the READPHASES= option, providing the limits are constant within that phase.\",\"type\":\"standalone\"},{\"name\":\"PHASEMEANSYMBOL=\",\"optional\":true,\"description\":\"Specifies a symbol marker for the average of the values plotted within a phase.\",\"help\":\"PHASEMEANSYMBOL=*symbol*\",\"type\":\"value\"},{\"name\":\"PHASEPOS=\",\"optional\":true,\"description\":\"Specifies the vertical position of the phase legend.\",\"help\":\"PHASEPOS=1 | 2 | 3 | 4\",\"type\":\"choice\",\"arguments\":[{\"name\":\"1\",\"description\":\"Top of chart, offset from axis frame\",\"type\":\"standalone\"},{\"name\":\"2\",\"description\":\"Top of chart, immediately above axis frame\",\"type\":\"standalone\"},{\"name\":\"3\",\"description\":\"Bottom of chart, immediately above horizontal axis\",\"type\":\"standalone\"},{\"name\":\"4\",\"description\":\"Bottom of chart, below horizontal axis label\",\"type\":\"standalone\"}]},{\"name\":\"PHASEREF\",\"optional\":true,\"description\":\"Delineates the phases specified with the READPHASES= option with reference lines drawn vertically.\",\"type\":\"standalone\"},{\"name\":\"PHASEREFLEVEL=\",\"optional\":true,\"description\":\"Enables you to associate phase reference lines (block reference lines) with either the innermost or the outermost level.\",\"help\":\"PHASEREFLEVEL=INNER | OUTER | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"INNER\",\"description\":\"Associates phase reference lines (block reference lines) with the innermost level.\",\"type\":\"standalone\"},{\"name\":\"OUTER\",\"description\":\"Associates phase reference lines (block reference lines) with the outermost level.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"No association of phase reference lines (block reference lines) with the innermost or outermost level.\",\"type\":\"standalone\"}]},{\"name\":\"PHASEVALSEP\",\"optional\":true,\"description\":\"Displays vertical lines separating phase values in the phase legend.\",\"type\":\"standalone\"},{\"name\":\"PHASEVARLABEL\",\"optional\":true,\"description\":\"Displays the label associated with the variable _PHASE_ above the phase values in the phase legend.\",\"type\":\"standalone\"},{\"name\":\"POINTSHTML=\",\"optional\":true,\"description\":\"Specifies a variable whose values are URLs to be associated with points on a box chart when the BOXSTYLE= value is POINTS, POINTSJOIN, POINTSBOX, POINTSID, or POINTSJOINID.\",\"help\":\"POINTSHTML=*variable*\",\"type\":\"value\"},{\"name\":\"PSYMBOL=\",\"optional\":true,\"description\":\"Specifies a label for the central line in a P chart.\",\"help\":\"PSYMBOL=P | PBAR | PPM | PPM2 | P0 | '*label*'\",\"type\":\"choice\",\"arguments\":[{\"name\":\"P\",\"description\":\"P\",\"type\":\"standalone\"},{\"name\":\"PBAR\",\"description\":\"PBAR\",\"type\":\"standalone\"},{\"name\":\"PPM\",\"description\":\"P'\",\"type\":\"standalone\"},{\"name\":\"PPM2\",\"description\":\"P''\",\"type\":\"standalone\"},{\"name\":\"P0\",\"description\":\"Po\",\"type\":\"standalone\"},{\"name\":\"'label'\",\"placeholder\":true,\"description\":\"Specifies a quoted label up to 16 characters.\",\"type\":\"value\"}]},{\"name\":\"RANGES\",\"optional\":true,\"description\":\"Estimates the process standard deviation for a boxplot using subgroup ranges.\",\"type\":\"standalone\"},{\"name\":\"READALPHA\",\"optional\":true,\"description\":\"Specifies that the variable _ALPHA_, rather than the variable _SIGMAS_, is to be read from a LIMITS= data set when both variables are available in the data set.\",\"type\":\"standalone\"},{\"name\":\"READINDEX=\",\"optional\":true,\"aliases\":[\"READINDEXES=\",\"READINDICES=\"],\"description\":\"Reads one or more sets of control limits from a LIMITS= data set (specified in the PROC SHEWHART statement) for each process listed in the chart statement.\",\"type\":\"value\"},{\"name\":\"READLIMITS\",\"optional\":true,\"description\":\"Specifies that the control limits are to be read from a LIMITS= data set specified in the PROC SHEWHART statement.\",\"type\":\"standalone\"},{\"name\":\"READPHASES=\",\"optional\":true,\"aliases\":[\"READPHASE=\"],\"description\":\"Selects blocks of consecutive observations to be read from the input data set.\",\"type\":\"value\"},{\"name\":\"REPEAT\",\"optional\":true,\"aliases\":[\"REP\"],\"description\":\"Specifies that the horizontal axis of a chart that spans multiple panels be arranged so that the last subgroup position on a panel is repeated as the first subgroup position on the next panel.\",\"type\":\"standalone\"},{\"name\":\"RSYMBOL=\",\"optional\":true,\"description\":\"Specifies a label for the central line in an R chart.\",\"help\":\"RSYMBOL=R | RBAR | RPM | R0 | '*label*'\",\"type\":\"choice\",\"arguments\":[{\"name\":\"R\",\"description\":\"R\",\"type\":\"standalone\"},{\"name\":\"RBAR\",\"description\":\"RBAR\",\"type\":\"standalone\"},{\"name\":\"RPM\",\"description\":\"R'\",\"type\":\"standalone\"},{\"name\":\"R0\",\"description\":\"Ro\",\"type\":\"standalone\"},{\"name\":\"'label'\",\"placeholder\":true,\"description\":\"Specifies a quoted label up to 16 characters.\",\"type\":\"value\"}]},{\"name\":\"RTMARGIN=\",\"optional\":true,\"description\":\"Specifies the width of the right marginal area for the plot requested with the RTMPLOT= option.\",\"help\":\"RTMARGIN=*value*\",\"type\":\"value\"},{\"name\":\"RTMPLOT=\",\"optional\":true,\"description\":\"Requests a univariate plot of the control chart statistics that is positioned in the right margin of the control chart.\",\"help\":\"RTMPLOT=DIGIDOT | HISTOGRAM | SKELETAL | SCHEMATIC | SCHEMATICID | SCHEMATICIDFAR\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DIGIDOT\",\"description\":\"Digidot plot\",\"type\":\"standalone\"},{\"name\":\"HISTOGRAM\",\"description\":\"Histogram\",\"type\":\"standalone\"},{\"name\":\"SKELETAL\",\"description\":\"Skeletal box-and-whisker plot\",\"type\":\"standalone\"},{\"name\":\"SCHEMATIC\",\"description\":\"Schematic box-and-whisker plot\",\"type\":\"standalone\"},{\"name\":\"SCHEMATICID\",\"description\":\"Schematic box-and-whisker plot with outliers labeled\",\"type\":\"standalone\"},{\"name\":\"SCHEMATICIDFAR\",\"description\":\"Schematic box-and-whisker plot with far outliers labeled\",\"type\":\"standalone\"}]},{\"name\":\"SEPARATE\",\"optional\":true,\"description\":\"Displays primary and secondary charts on separate screens or pages.\",\"type\":\"standalone\"},{\"name\":\"SERIFS\",\"optional\":true,\"description\":\"Adds serifs to the whiskers of skeletal box-and-whisker charts.\",\"type\":\"standalone\"},{\"name\":\"SIGMA0=\",\"optional\":true,\"description\":\"Specifies a known (standard) value, σ0, for the process standard deviation, σ.\",\"help\":\"SIGMA0=*value*\",\"type\":\"value\"},{\"name\":\"SIGMAS=\",\"optional\":true,\"description\":\"Specifies the width of the control limits in terms of the multiple k of the standard error of the subgroup summary statistic plotted on the chart. The value of k must be positive. By default, k=3.\",\"help\":\"SIGMAS=*k*\",\"type\":\"value\"},{\"name\":\"SIMULATEQCFONT\",\"optional\":true,\"description\":\"Draws the central line labels using a simulated software font rather than a hardware font.\",\"type\":\"standalone\"},{\"name\":\"SKIPHLABELS=\",\"optional\":true,\"aliases\":[\"SKIPLABEL=\"],\"description\":\"Specifies the number n of consecutive tick mark labels, beginning with the second tick mark label, that are thinned (not displayed) on the horizontal (subgroup) axis.\",\"help\":\"SKIPHLABELS=*n*\",\"type\":\"value\"},{\"name\":\"SMETHOD=\",\"optional\":true,\"description\":\"Specifies a method for estimating the process standard deviation, σ.\",\"help\":\"SMETHOD=NOWEIGHT | MVLUE | RMSDF | MAD | MMR | MVGRANGE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NOWEIGHT\",\"description\":\"Estimates σ as an unweighted average of unbiased subgroup estimates of σ.\",\"type\":\"standalone\"},{\"name\":\"MVLUE\",\"description\":\"Calculates a minimum variance linear unbiased estimate for σ\",\"type\":\"standalone\"},{\"name\":\"RMSDF\",\"description\":\"Calculates a root-mean square estimate for σ\",\"type\":\"standalone\"},{\"name\":\"MAD\",\"description\":\"Calculates a median absolute deviation estimate for σ (IRCHART only)\",\"type\":\"standalone\"},{\"name\":\"MMR\",\"description\":\"Calculates a median moving range estimate for σ (IRCHART only)\",\"type\":\"standalone\"},{\"name\":\"MVGRANGE\",\"description\":\"Estimates σ based on a moving range of subgroup means (XRCHART and XSCHART only)\",\"type\":\"standalone\"}]},{\"name\":\"SPLIT=\",\"optional\":true,\"description\":\"Specifies a special character that is inserted into the label of a process variable or summary statistic variable and whose purpose is to split the label into two parts.\",\"help\":\"SPLIT='*character*'\",\"type\":\"value\"},{\"name\":\"SSYMBOL=\",\"optional\":true,\"description\":\"Specifies a label for the central line in an S chart.\",\"help\":\"SSYMBOL=S | SBAR | SPM | S0 | '*label*'\",\"type\":\"choice\",\"arguments\":[{\"name\":\"S\",\"description\":\"S\",\"type\":\"standalone\"},{\"name\":\"SBAR\",\"description\":\"SBAR\",\"type\":\"standalone\"},{\"name\":\"SPM\",\"description\":\"S'\",\"type\":\"standalone\"},{\"name\":\"S0\",\"description\":\"So\",\"type\":\"standalone\"},{\"name\":\"'label'\",\"placeholder\":true,\"description\":\"Specifies a quoted label up to 16 characters.\",\"type\":\"value\"}]},{\"name\":\"STARBDRADIUS=\",\"optional\":true,\"description\":\"Specifies the radius of an imaginary circle that is the outer bound for vertices of stars requested with the STARVERTICES= option.\",\"help\":\"STARBDRADIUS=*value*\",\"type\":\"value\"},{\"name\":\"STARCIRCLES=\",\"optional\":true,\"description\":\"Specifies reference circles that are superimposed on the stars requested with the STARVERTICES= option.\",\"help\":\"STARCIRCLES=*values*\",\"type\":\"value\"},{\"name\":\"STARFILL=\",\"optional\":true,\"description\":\"Specifies colors for filling the interior of stars requested with the STARVERTICES= option.\",\"help\":\"STARFILL=*variable*\",\"type\":\"value\"},{\"name\":\"STARINRADIUS=\",\"optional\":true,\"description\":\"Specifies the inner radius of stars requested with the STARVERTICES= option. For traditional graphics, the radius is specified in horizontal percent screen units. For ODS Graphics output, the radius is specified in pixels.\",\"help\":\"STARINRADIUS=*value*\",\"type\":\"value\"},{\"name\":\"STARLABEL=\",\"optional\":true,\"description\":\"Specifies a method for labeling the vertices of stars requested with the STARVERTICES= option.\",\"help\":\"STARLABEL=ALL | FIRST | HIGH | LOW | OUT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ALL\",\"description\":\"Labels all vertices of all stars.\",\"type\":\"standalone\"},{\"name\":\"FIRST\",\"description\":\"Labels all vertices of the leftmost star.\",\"type\":\"standalone\"},{\"name\":\"HIGH\",\"description\":\"Labels only vertices that lie outside the outer circle.\",\"type\":\"standalone\"},{\"name\":\"LOW\",\"description\":\"Labels only vertices that lie inside the inner circle.\",\"type\":\"standalone\"},{\"name\":\"OUT\",\"description\":\"Labels only vertices that lie inside the inner circle or outside the outer circle.\",\"type\":\"standalone\"}]},{\"name\":\"STARLEGEND=\",\"optional\":true,\"description\":\"Specifies the style of the legend used to identify the vertices of stars requested with the STARVERTICES= option.\",\"help\":\"STARLEGEND=CLOCK | CLOCK0 | DEGREES | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"CLOCK\",\"description\":\"Identifies the vertex variables by their positions on the clock (starting with 12:00)\",\"type\":\"standalone\"},{\"name\":\"CLOCK0\",\"description\":\"Identifies the vertex variables by their positions on the clock (starting with 0:00)\",\"type\":\"standalone\"},{\"name\":\"DEGREES\",\"description\":\"Identifies the vertex variables by angles in degrees, with 0 degrees corresponding to 12 o'clock\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"Suppresses the legend.\",\"type\":\"standalone\"}]},{\"name\":\"STARLEGENDLAB=\",\"optional\":true,\"description\":\"Specifies the label displayed to the left of the legend for stars requested with the STARLEGEND= option. The label can be up to 16 characters and must be enclosed in quotes.\",\"help\":\"STARLEGENDLAB='*label*'\",\"type\":\"value\"},{\"name\":\"STAROPACITY=\",\"optional\":true,\"description\":\"Specifies the star fill opacity when transparency is used in ODS Graphics output. The value must be between 0 and 1, where 0 is completely transparent and 1 is completely opaque. The default star fill opacity is 0.75.\",\"help\":\"STAROPACITY=*value*\",\"type\":\"value\"},{\"name\":\"STAROUTRADIUS=\",\"optional\":true,\"description\":\"Specifies the outer radius of stars requested with the STARVERTICES= option.\",\"help\":\"STAROUTRADIUS=*value*\",\"type\":\"value\"},{\"name\":\"STARS=\",\"optional\":true,\"description\":\"Specifies colors for the outlines of stars requested with the STARVERTICES= option.\",\"help\":\"STARS=*variable*\",\"type\":\"value\"},{\"name\":\"STARSPECS=\",\"optional\":true,\"aliases\":[\"STARSPEC=\"],\"description\":\"Specifies the method used to standardize the star vertex variables listed with the STARVERTICES= option.\",\"type\":\"value\"},{\"name\":\"STARSTART=\",\"optional\":true,\"description\":\"Specifies the vertex angle for the first variable in the STARVERTICES= list.\",\"help\":\"STARSTART=*value*\",\"type\":\"value\"},{\"name\":\"STARTYPE=\",\"optional\":true,\"description\":\"Specifies the style of the stars requested with the STARVERTICES= option.\",\"help\":\"STARTYPE=CORONA | POLYGON | RADIAL | SPOKE | WEDGE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"CORONA\",\"description\":\"Polygon with star-vertices emanating from the inner circle\",\"type\":\"standalone\"},{\"name\":\"POLYGON\",\"description\":\"Closed polygon\",\"type\":\"standalone\"},{\"name\":\"RADIAL\",\"description\":\"Rays emanating from the center\",\"type\":\"standalone\"},{\"name\":\"SPOKE\",\"description\":\"Rays emanating from the inner circle\",\"type\":\"standalone\"},{\"name\":\"WEDGE\",\"description\":\"Closed polygon with rays from the center to each vertex\",\"type\":\"standalone\"}]},{\"name\":\"STARVERTICES=\",\"optional\":true,\"description\":\"Superimposes a star (polygon) at each point on the primary chart.\",\"type\":\"value\"},{\"name\":\"STDDEVIATIONS\",\"optional\":true,\"aliases\":[\"STDDEVS\"],\"description\":\"Specifies that the estimate of the process standard deviation, σ, is to be calculated from subgroup standard deviations.\",\"type\":\"standalone\"},{\"name\":\"SUBGROUPN=\",\"optional\":true,\"description\":\"Specifies the subgroup sample sizes as a constant value or as the values of a variable in the DATA= data set.\",\"help\":\"SUBGROUPN=*value*\",\"type\":\"value\"},{\"name\":\"SYMBOLCHARS=\",\"optional\":true,\"description\":\"Specifies a list of characters used to mark the points plotted on line printer charts when a symbol-variable is used.\",\"help\":\"SYMBOLCHARS='*character-list*'\",\"type\":\"value\"},{\"name\":\"SYMBOLLEGEND=\",\"optional\":true,\"description\":\"Controls the legend for the levels of a symbol-variable.\",\"help\":\"SYMBOLLEGEND=LEGENDn | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"LEGENDn\",\"description\":\"You can specify SYMBOLLEGEND=LEGENDn, where n is the number of a LEGEND statement defined previously.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"Suppresses the default legend.\",\"type\":\"standalone\"}]},{\"name\":\"SYMBOLORDER=\",\"optional\":true,\"aliases\":[\"SYMORD=\"],\"description\":\"Specifies the order in which symbols are assigned for levels of the symbol-variable.\",\"help\":\"SYMBOLORDER=DATA | INTERNAL | FORMATTED\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DATA\",\"description\":\"Assigns symbols to values in the order in which values appear in the input data set.\",\"type\":\"standalone\"},{\"name\":\"INTERNAL\",\"description\":\"Assigns symbols based on sorted order of internal values of the symbol variable\",\"type\":\"standalone\"},{\"name\":\"FORMATTED\",\"description\":\"Assigns them based on sorted formatted values.\",\"type\":\"standalone\"}]},{\"name\":\"TABLEALL\",\"optional\":true,\"description\":\"Tabulates the information about the control chart and is equivalent to specifying all of the following options: TABLES, TABLECENTRAL, TABLEID, TABLELEGEND, TABLEOUT, and TABLETESTS. The keyword EXCEPTIONS restricts the tabulation to those subgroups for which the control limits are exceeded or a test for special causes is positive.\",\"help\":\"TABLEALL&lt;(EXCEPTIONS)&gt;\",\"type\":\"standaloneOrValue\",\"arguments\":[{\"name\":\"(EXCEPTIONS)\",\"description\":\"Restricts the tabulation to those subgroups for which the control limits are exceeded or a test for special causes is positive.\",\"type\":\"standalone\"}]},{\"name\":\"TABLEBOX\",\"optional\":true,\"description\":\"Augments the basic table created by the TABLES option with columns for the minimum, 25th percentile, median, 75th percentile, and maximum of the observations in a subgroup. The keyword EXCEPTIONS restricts the tabulation to those subgroups for which the control limits are exceeded or a test for special causes is positive.\",\"help\":\"TABLEBOX&lt;(EXCEPTIONS)&gt;\",\"type\":\"standaloneOrValue\",\"arguments\":[{\"name\":\"(EXCEPTIONS)\",\"description\":\"Restricts the tabulation to those subgroups for which the control limits are exceeded or a test for special causes is positive.\",\"type\":\"standalone\"}]},{\"name\":\"TABLECENTRAL\",\"optional\":true,\"aliases\":[\"TABLEC\"],\"description\":\"Augments the basic table created by the TABLES option with columns for the values of the central lines. The keyword EXCEPTIONS restricts the tabulation to those subgroups for which the control limits are exceeded or a test for special causes is positive.\",\"help\":\"TABLECENTRAL&lt;(EXCEPTIONS)&gt;\",\"type\":\"standaloneOrValue\",\"arguments\":[{\"name\":\"(EXCEPTIONS)\",\"description\":\"Augments the basic table created by the TABLES option with columns for the values of the central lines. The keyword EXCEPTIONS restricts the tabulation to those subgroups for which the control limits are exceeded or a test for special causes is positive.\",\"type\":\"standalone\"}]},{\"name\":\"TABLEID\",\"optional\":true,\"description\":\"Augments the basic table created by the TABLES option with a column for each of the ID variables. The keyword EXCEPTIONS restricts the tabulation to those subgroups for which the control limits are exceeded or a test for special causes is positive.\",\"help\":\"TABLEID&lt;(EXCEPTIONS)&gt;\",\"type\":\"standaloneOrValue\",\"arguments\":[{\"name\":\"(EXCEPTIONS)\",\"description\":\"Restricts the tabulation to those subgroups for which the control limits are exceeded or a test for special causes is positive.\",\"type\":\"standalone\"}]},{\"name\":\"TABLELEGEND\",\"optional\":true,\"aliases\":[\"TABLELEG\"],\"description\":\"Adds a legend to the basic table created by the TABLES option. The keyword EXCEPTIONS restricts the tabulation to those subgroups for which the control limits are exceeded or a test for special causes is positive.\",\"help\":\"TABLELEGEND&lt;(EXCEPTIONS)&gt;\",\"type\":\"standaloneOrValue\",\"arguments\":[{\"name\":\"(EXCEPTIONS)\",\"description\":\"Adds a legend to the basic table created by the TABLES option. The keyword EXCEPTIONS restricts the tabulation to those subgroups for which the control limits are exceeded or a test for special causes is positive.\",\"type\":\"standalone\"}]},{\"name\":\"TABLEOUTLIM\",\"optional\":true,\"aliases\":[\"TABLEOUT\"],\"description\":\"Augments the basic table created by the TABLES option with columns indicating which control limits (if any) are exceeded. The keyword EXCEPTIONS restricts the tabulation to those subgroups for which the control limits are exceeded or a test for special causes is positive.\",\"help\":\"TABLEOUTLIM&lt;(EXCEPTIONS)&gt;\",\"type\":\"standaloneOrValue\",\"arguments\":[{\"name\":\"(EXCEPTIONS)\",\"description\":\"Restricts the tabulation to those subgroups for which the control limits are exceeded or a test for special causes is positive.\",\"type\":\"standalone\"}]},{\"name\":\"TABLES\",\"optional\":true,\"aliases\":[\"TABLE\"],\"description\":\"Creates a basic table of the subgroup values, the subgroup sample sizes, the subgroup summary statistics, and the upper and lower control limits. Rows of the table correspond to subgroups. The keyword EXCEPTIONS restricts the tabulation to those subgroups for which the control limits are exceeded or a test for special causes is positive.\",\"help\":\"TABLES&lt;(EXCEPTIONS)&gt;\",\"type\":\"standaloneOrValue\",\"arguments\":[{\"name\":\"(EXCEPTIONS)\",\"description\":\"Restricts the tabulation to those subgroups for which the control limits are exceeded or a test for special causes is positive.\",\"type\":\"standalone\"}]},{\"name\":\"TABLETESTS\",\"optional\":true,\"description\":\"Augments the basic table created by the TABLES option with a column that indicates which of the tests for special causes (requested with the TESTS= option) are positive. The keyword EXCEPTIONS restricts the tabulation to those subgroups for which the control limits are exceeded or a test for special causes is positive.\",\"help\":\"TABLETESTS&lt;(EXCEPTIONS)&gt;\",\"type\":\"standaloneOrValue\",\"arguments\":[{\"name\":\"(EXCEPTIONS)\",\"description\":\"Restricts the tabulation to those subgroups for which the control limits are exceeded or a test for special causes is positive.\",\"type\":\"standalone\"}]},{\"name\":\"TARGET=\",\"optional\":true,\"description\":\"Provides target values used to compute the capability index Cpm, which is saved in the OUTLIMITS= data set.\",\"help\":\"TARGET=*value-list*\",\"type\":\"value\"},{\"name\":\"TEST2RESET=\",\"optional\":true,\"description\":\"Enables tests for special causes to be reset in a secondary chart. The specified variable must be a character variable of length 8, or length 16 if customized tests are requested.\",\"help\":\"TEST2RESET=*variable*\",\"type\":\"value\"},{\"name\":\"TEST2RUN=\",\"optional\":true,\"description\":\"Specifies the length of the pattern for Test 2 requested with the TESTS= and TESTS2= options.\",\"help\":\"TEST2RUN=7 | 8 | 9 | 11 | 14 | 20\",\"type\":\"choice\",\"arguments\":[{\"name\":\"7\",\"description\":\"7 in a row\",\"type\":\"standalone\"},{\"name\":\"8\",\"description\":\"8 in a row\",\"type\":\"standalone\"},{\"name\":\"9\",\"description\":\"9 in a row\",\"type\":\"standalone\"},{\"name\":\"11\",\"description\":\"At least 10 out of 11 in a row\",\"type\":\"standalone\"},{\"name\":\"14\",\"description\":\"At least 12 out of 14 in a row\",\"type\":\"standalone\"},{\"name\":\"20\",\"description\":\"At least 16 out of 20 in a row\",\"type\":\"standalone\"}]},{\"name\":\"TEST3RUN=\",\"optional\":true,\"description\":\"Specifies the length of the pattern for Test 3 requested with the TESTS= and TESTS2= options.\",\"help\":\"TEST3RUN=6 | 7 | 8\",\"type\":\"choice\",\"arguments\":[{\"name\":\"6\",\"description\":\"Length of the pattern is at least 6.\",\"type\":\"standalone\"},{\"name\":\"7\",\"description\":\"Length of the pattern is at least 7.\",\"type\":\"standalone\"},{\"name\":\"8\",\"description\":\"Length of the pattern is at least 8.\",\"type\":\"standalone\"}]},{\"name\":\"TESTACROSS\",\"optional\":true,\"description\":\"Specifies that tests for special causes requested with the TESTS= or TESTS2= options be applied without regard to phases (blocks of consecutive subgroups) determined by the READPHASES= option and the variable _PHASE_ in the input data set.\",\"type\":\"standalone\"},{\"name\":\"TESTCHAR=\",\"optional\":true,\"description\":\"Specifies the character for the line segments that connect any sequence of points for which a test for special causes (requested with the TESTS= or TESTS2= option) is positive. The default character is the number of the test (with values 1 to 8).\",\"help\":\"TESTCHAR='*character*'\",\"type\":\"value\"},{\"name\":\"TESTLABBOX\",\"optional\":true,\"description\":\"Requests that labels for subgroups with positive tests for special causes are positioned so they do not overlap. The labels are enclosed in boxes that are connected to the associated subgroup points with line segments.\",\"type\":\"standalone\"},{\"name\":\"TESTLABEL=\",\"optional\":true,\"description\":\"Provides labels for points at which one of the tests for special causes (requested with the TESTS= or TESTS2= option) is positive.\",\"help\":\"TESTLABEL=TESTINDEX | SPACE | NONE | '*label*' | (*variable*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"TESTINDEX\",\"description\":\"Labels points with the single-digit index that requested the test in a TESTS= or TESTS2= list.\",\"type\":\"standalone\"},{\"name\":\"SPACE\",\"description\":\"Request a label of the form Test k.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"Suppresses labeling.\",\"type\":\"standalone\"},{\"name\":\"'label'\",\"placeholder\":true,\"description\":\"A label of up to 16 characters enclosed in quotes.\",\"type\":\"value\"},{\"name\":\"(variable)\",\"placeholder\":true,\"description\":\"A variable (enclosed in parentheses) whose values are used as labels. The variable must be provided in the input data set, and it can be numeric or character.\",\"type\":\"value\"}]},{\"name\":\"TESTNMETHOD=\",\"optional\":true,\"description\":\"Applies the tests for special causes requested with the TESTS= and TESTS2= options to standardize test statistics when the subgroup sample sizes are not constant.\",\"help\":\"TESTNMETHOD=STANDARDIZE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"STANDARDIZE\",\"description\":\"Applies the tests for special causes requested with the TESTS= and TESTS2= options to standardize test statistics when the subgroup sample sizes are not constant.\",\"type\":\"standalone\"}]},{\"name\":\"TESTOVERLAP\",\"optional\":true,\"description\":\"Applies tests for special causes (requested with the TESTS= or TESTS2= option) to overlapping patterns of points.\",\"type\":\"standalone\"},{\"name\":\"TESTRESET=\",\"optional\":true,\"description\":\"Enables tests for special causes to be reset in a primary chart. The specified variable must be a character variable of length 8, or length 16 if customized tests are requested.\",\"help\":\"TESTRESET=*variable*\",\"type\":\"value\"},{\"name\":\"TESTS2=\",\"optional\":true,\"description\":\"Requests one or more tests for special causes for an R chart or s chart.\",\"help\":\"TESTS2=*index-list*\",\"type\":\"value\"},{\"name\":\"TESTS=\",\"optional\":true,\"description\":\"Requests one or more tests for special causes, which are also known as runs tests, pattern tests, and Western Electric rules.\",\"help\":\"TESTS=*index-list*\",\"type\":\"value\"},{\"name\":\"TESTSYMBOL=\",\"optional\":true,\"aliases\":[\"TESTSYM=\"],\"description\":\"Specifies the symbol for plotting subgroups with positive tests for special causes.\",\"help\":\"TESTSYMBOL=*symbol*\",\"type\":\"value\"},{\"name\":\"TESTSYMBOLHT=\",\"optional\":true,\"aliases\":[\"TESTSYMHT=\"],\"description\":\"Specifies the height of the symbol used to plot subgroups with positive tests for special causes.\",\"help\":\"TESTSYMBOLHT=*value*\",\"type\":\"value\"},{\"name\":\"TOTPANELS=\",\"optional\":true,\"description\":\"Specifies the total number of panels to be used to display the chart. This option overrides the NPANEL= option.\",\"help\":\"TOTPANELS=*n*\",\"type\":\"value\"},{\"name\":\"TRENDVAR=\",\"optional\":true,\"description\":\"Specifies a list of trend variables, one for each process listed in the chart statement.\",\"type\":\"value\"},{\"name\":\"TURNALL\",\"optional\":true,\"aliases\":[\"TURNOUT\"],\"description\":\"Turns the labels produced by the ALLLABEL=, ALLLABEL2=, OUTLABEL= and OUTLABEL2= options so that they are strung out vertically.\",\"type\":\"standalone\"},{\"name\":\"TURNHLABELS\",\"optional\":true,\"aliases\":[\"TURNHLABEL\"],\"description\":\"Turns the major tick mark labels for the horizontal (group) axis so that they are strung out vertically. By default, labels are arranged horizontally.\",\"type\":\"standalone\"},{\"name\":\"TYPE=\",\"optional\":true,\"description\":\"Specifies the value of the _TYPE_ variable in the OUTLIMITS= data set, which in turn indicates whether certain parameter variables in this data set represent estimates or standard (known) values.\",\"help\":\"TYPE=ESTIMATE | STDMU | STDSIGMA | STANDARD\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ESTIMATE\",\"description\":\"_MEAN_=estimate, _STDDEV_=estimate\",\"type\":\"standalone\"},{\"name\":\"STDMU\",\"description\":\"_MEAN_=standard, _STDDEV_=estimate\",\"type\":\"standalone\"},{\"name\":\"STDSIGMA\",\"description\":\"_MEAN_=estimate, _STDDEV_=standard\",\"type\":\"standalone\"},{\"name\":\"STANDARD\",\"description\":\"_MEAN_=standard, _STDDEV_=standard\",\"type\":\"standalone\"}]},{\"name\":\"U0=\",\"optional\":true,\"description\":\"Specifies a known (standard) value u0 for the average number u of nonconformities per unit produced by the process.\",\"help\":\"U0=*value*\",\"type\":\"value\"},{\"name\":\"UCLLABEL2=\",\"optional\":true,\"description\":\"Specifies a label for the upper control limit in the secondary chart. The label can be up to 16 characters. Enclose the label in quotes.\",\"help\":\"UCLLABEL2='*label*'\",\"type\":\"value\"},{\"name\":\"UCLLABEL=\",\"optional\":true,\"description\":\"Specifies a label for the upper control limit in the primary chart. The label can be up to 16 characters. Enclose the label in quotes.\",\"help\":\"UCLLABEL='*label*'\",\"type\":\"value\"},{\"name\":\"USL=\",\"optional\":true,\"description\":\"Provides upper specification limits used to compute capability indices.\",\"help\":\"USL=*value-list*\",\"type\":\"value\"},{\"name\":\"USYMBOL=\",\"optional\":true,\"description\":\"Specifies a label for the central line in a U chart.\",\"help\":\"USYMBOL=U | UBAR | UPM | UPM2 | U0 | '*label*'\",\"type\":\"choice\",\"arguments\":[{\"name\":\"U\",\"description\":\"U\",\"type\":\"standalone\"},{\"name\":\"UBAR\",\"description\":\"UBAR\",\"type\":\"standalone\"},{\"name\":\"UPM\",\"description\":\"U'\",\"type\":\"standalone\"},{\"name\":\"UPM2\",\"description\":\"U''\",\"type\":\"standalone\"},{\"name\":\"U0\",\"description\":\"Uo\",\"type\":\"standalone\"},{\"name\":\"'label'\",\"placeholder\":true,\"description\":\"Specifies a quoted label up to 16 characters.\",\"type\":\"value\"}]},{\"name\":\"VAXIS2=\",\"optional\":true,\"description\":\"Specifies major tick mark values for the vertical axis of a secondary chart. The values must be listed in increasing order, must be evenly spaced, and must span the range of values displayed in the chart.\",\"type\":\"value\"},{\"name\":\"VAXIS=\",\"optional\":true,\"description\":\"Specifies major tick mark values for the vertical axis of a primary chart. The values must be listed in increasing order, must be evenly spaced, and must span the range of values displayed in the chart.\",\"type\":\"value\"},{\"name\":\"VFORMAT2=\",\"optional\":true,\"description\":\"Specifies a format to be used for displaying tick mark labels on the vertical axis of a secondary chart.\",\"help\":\"VFORMAT2=*format*\",\"type\":\"value\"},{\"name\":\"VFORMAT=\",\"optional\":true,\"description\":\"Specifies a format to be used for displaying tick mark labels on the vertical axis of a primary chart.\",\"help\":\"VFORMAT=*format*\",\"type\":\"value\"},{\"name\":\"VMINOR=\",\"optional\":true,\"description\":\"Specifies the number of minor tick marks between major tick marks on the vertical axis. Minor tick marks are not labeled. By default, VMINOR=0.\",\"help\":\"VMINOR=*n*\",\"type\":\"value\"},{\"name\":\"VOFFSET=\",\"optional\":true,\"description\":\"Specifies the length in percent screen units of the offset at the ends of the vertical axis.\",\"help\":\"VOFFSET=*value*\",\"type\":\"value\"},{\"name\":\"VREF2=\",\"optional\":true,\"description\":\"Draws reference lines perpendicular to the vertical axis on the secondary chart.\",\"type\":\"value\"},{\"name\":\"VREF2LABELS=\",\"optional\":true,\"aliases\":[\"VREF2LAB=\"],\"description\":\"Specifies labels for the reference lines requested by the VREF2= option. The number of labels must equal the number of lines. Enclose each label in quotes. Labels can be up to 16 characters.\",\"type\":\"value\"},{\"name\":\"VREF=\",\"optional\":true,\"description\":\"Draws reference lines perpendicular to the vertical axis on the primary chart.\",\"type\":\"value\"},{\"name\":\"VREFCHAR=\",\"optional\":true,\"description\":\"Specifies the character used for reference lines requested by the VREF= and VREF2= options on line printer charts. The default is the hyphen (-).\",\"help\":\"VREFCHAR='*character*'\",\"type\":\"value\"},{\"name\":\"VREFLABELS=\",\"optional\":true,\"description\":\"Specifies labels for the reference lines requested by the VREF= option. The number of labels must equal the number of lines. Enclose each label in quotes. Labels can be up to 16 characters.\",\"type\":\"value\"},{\"name\":\"VREFLABPOS=\",\"optional\":true,\"description\":\"Specifies the horizontal position of the VREFLABEL= and VREF2LABEL= labels.\",\"help\":\"VREFLABPOS=1 | 2 | 3\",\"type\":\"choice\",\"arguments\":[{\"name\":\"1\",\"description\":\"Left-justified in subplot area\",\"type\":\"standalone\"},{\"name\":\"2\",\"description\":\"Right-justified in subplot area\",\"type\":\"standalone\"},{\"name\":\"3\",\"description\":\"Left-justified in right margin\",\"type\":\"standalone\"}]},{\"name\":\"VZERO\",\"optional\":true,\"description\":\"Forces the origin to be included in the vertical axis for a primary chart.\",\"type\":\"standalone\"},{\"name\":\"VZERO2\",\"optional\":true,\"description\":\"Forces the origin to be included in the vertical axis for a secondary chart.\",\"type\":\"standalone\"},{\"name\":\"WAXIS=\",\"optional\":true,\"description\":\"Specifies the width in pixels for the axis and frame lines. By default, n=1.\",\"help\":\"WAXIS=*n*\",\"type\":\"value\"},{\"name\":\"WEBOUT=\",\"optional\":true,\"description\":\"Produces an output data set containing all the data in an OUTTABLE= data set plus graphics coordinates for points (subgroup summary statistics) that are displayed on a control chart.\",\"help\":\"WEBOUT=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"WGRID=\",\"optional\":true,\"description\":\"Specifies the width in pixels for grid lines requested with the ENDGRID and GRID options. By default, n=1.\",\"help\":\"WGRID=*n*\",\"type\":\"value\"},{\"name\":\"WLIMITS=\",\"optional\":true,\"description\":\"Specifies the width in pixels for the control limits and central line. By default, n=1.\",\"help\":\"WLIMITS=*n*\",\"type\":\"value\"},{\"name\":\"WNEEDLES=\",\"optional\":true,\"description\":\"Specifies the width in pixels of needles connecting plotted points to the central line, as requested with the NEEDLES option.\",\"help\":\"WNEEDLES=*n*\",\"type\":\"value\"},{\"name\":\"WOVERLAY2=\",\"optional\":true,\"description\":\"Specifies the widths in pixels for the line segments connecting points on secondary chart overlay plots.\",\"type\":\"value\"},{\"name\":\"WOVERLAY=\",\"optional\":true,\"description\":\"Specifies the widths in pixels for the line segments connecting points on primary chart overlay plots.\",\"type\":\"value\"},{\"name\":\"WSTARCIRCLES=\",\"optional\":true,\"description\":\"Specifies the width in pixels of the outline of circles requested by the STARCIRCLES= option.\",\"help\":\"WSTARCIRCLES=*n*\",\"type\":\"value\"},{\"name\":\"WSTARS=\",\"optional\":true,\"description\":\"Specifies the width in pixels of the outline of stars requested by the STARVERTICES= option.\",\"help\":\"WSTARS=*n*\",\"type\":\"value\"},{\"name\":\"WTESTS=\",\"optional\":true,\"description\":\"Specifies the width in pixels of the line segments that connect patterns of points for which a test for special causes (requested with the TESTS= or TESTS2= option) is positive. By default, n=1.\",\"help\":\"WTESTS=*n*\",\"type\":\"value\"},{\"name\":\"WTREND=\",\"optional\":true,\"description\":\"Specifies the width in pixels of the line segments that connect points on trend charts requested with the TRENDVAR= option. By default, n=1.\",\"help\":\"WTREND=*n*\",\"type\":\"value\"},{\"name\":\"XSYMBOL=\",\"optional\":true,\"description\":\"Specifies a label for the central line in an XBAR chart or a median chart.\",\"help\":\"XSYMBOL='*label*' | MBAR | MTIL | MU | MU0 | XBAR | XBAR2 | XBARPM | XBAR0 | XBAROPM\",\"type\":\"choice\",\"arguments\":[{\"name\":\"'label'\",\"placeholder\":true,\"description\":\"a quoted label up to 16 characters\",\"type\":\"value\"},{\"name\":\"MBAR\",\"description\":\"MBAR\",\"type\":\"standalone\"},{\"name\":\"MTIL\",\"description\":\"MTIL\",\"type\":\"standalone\"},{\"name\":\"MU\",\"description\":\"MU\",\"type\":\"standalone\"},{\"name\":\"MU0\",\"description\":\"MU0\",\"type\":\"standalone\"},{\"name\":\"XBAR\",\"description\":\"XBAR\",\"type\":\"standalone\"},{\"name\":\"XBAR2\",\"description\":\"XBAR2\",\"type\":\"standalone\"},{\"name\":\"XBARPM\",\"description\":\"XBARPM\",\"type\":\"standalone\"},{\"name\":\"XBAR0\",\"description\":\"XBAR0\",\"type\":\"standalone\"},{\"name\":\"XBAROPM\",\"description\":\"XBAR0PM\",\"type\":\"standalone\"}]},{\"name\":\"YPCT1=\",\"optional\":true,\"description\":\"Specifies a percent (ranging from 0 to 100) that determines the length of the vertical axis for the primary chart in proportion to the sum of the lengths of the vertical axes for the primary and secondary charts.\",\"help\":\"YPCT1=*value*\",\"type\":\"value\"},{\"name\":\"YSCALE=\",\"optional\":true,\"description\":\"Scales the vertical axis on a P chart in percent units. The YSCALE= option is available only in the PCHART statement.\",\"help\":\"YSCALE=PERCENT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"PERCENT\",\"description\":\"Scales the vertical axis on a P chart in percent units.\",\"type\":\"standalone\"}]},{\"name\":\"ZEROSTD\",\"optional\":true,\"description\":\"Specifies that a control chart is to be constructed and displayed regardless of whether the estimated process standard deviation is zero.\",\"type\":\"standalone\"},{\"name\":\"ZEROSTD=\",\"optional\":true,\"description\":\"Suppresses the display of the degenerate limits.\",\"help\":\"ZEROSTD=NOLIMITS\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NOLIMITS\",\"description\":\"Suppresses the display of the degenerate limits.\",\"type\":\"standalone\"}]},{\"name\":\"ZONE2LABELS\",\"optional\":true,\"description\":\"Adds the labels A, B, and C to zone lines requested with the ZONES2 or ZONE2VALUES options.\",\"type\":\"standalone\"},{\"name\":\"ZONE2VALUES\",\"optional\":true,\"description\":\"Labels R or s chart zones lines with their values. If the ZONE2VALUES option is specified the ZONES2 option is not required.\",\"type\":\"standalone\"},{\"name\":\"ZONECHAR=\",\"optional\":true,\"description\":\"Specifies the character used to form the zone lines requested by the ZONES option.\",\"help\":\"ZONECHAR='*character*'\",\"type\":\"value\"},{\"name\":\"ZONELABELS\",\"optional\":true,\"description\":\"Adds the labels A, B, and C to zone lines requested with the ZONES or ZONEVALUES options.\",\"type\":\"standalone\"},{\"name\":\"ZONES\",\"optional\":true,\"description\":\"Adds lines to a primary chart that delineate zones A, B, and C for standard tests requested with the TESTS= option.\",\"type\":\"standalone\"},{\"name\":\"ZONES2\",\"optional\":true,\"description\":\"Adds lines to an R or s chart that delineate zones A, B, and C for tests requested with the TESTS2= option.\",\"type\":\"standalone\"},{\"name\":\"ZONEVALPOS=\",\"optional\":true,\"description\":\"Specifies the horizontal position of the ZONEVALUES= and ZONE2VALUES= labels.\",\"help\":\"ZONEVALPOS=1 | 2 | 3\",\"type\":\"choice\",\"arguments\":[{\"name\":\"1\",\"description\":\"Left-justified in subplot area\",\"type\":\"standalone\"},{\"name\":\"2\",\"description\":\"Right-justified in subplot area\",\"type\":\"standalone\"},{\"name\":\"3\",\"description\":\"Left-justified in right margin\",\"type\":\"standalone\"}]},{\"name\":\"ZONEVALUES\",\"optional\":true,\"description\":\"Labels the primary chart zones lines with their values. If the ZONEVALUES option is specified the ZONES option is not required.\",\"type\":\"standalone\"}]},{\"name\":\"XCHART\",\"description\":\"The XCHART statement creates an ANOM chart for group (treatment level) means of response values. You can use any number of XCHART statements in the ANOM procedure.\",\"help\":\"XCHART &lt;ALLLABEL2=VALUE | (variable)&gt;&lt;ALLLABEL=VALUE | (variable)&gt;&lt;ALLN&gt; ...\",\"arguments\":[{\"name\":\"ALLLABEL2=\",\"optional\":true,\"description\":\"Labels every point on an R, s, or trend chart with the VALUE plotted for that subgroup or with the value of a variable in the input data set.\",\"type\":\"value\"},{\"name\":\"ALLLABEL=\",\"optional\":true,\"description\":\"Labels every point on the primary chart with the VALUE plotted for that subgroup or with the value of a variable in the input data set.\",\"type\":\"value\"},{\"name\":\"ALLN\",\"optional\":true,\"description\":\"Plots summary statistics for all subgroups, regardless of whether the subgroup sample size equals the nominal control limit sample size n specified by the LIMITN= option or the variable _LIMITN_ in the LIMITS= data set.\",\"type\":\"standalone\"},{\"name\":\"ALPHA=\",\"optional\":true,\"description\":\"Requests probability limits. If you specify ALPHA=α, the control limits are computed so that the probability is α that a subgroup summary statistic exceeds its control limits.\",\"help\":\"ALPHA=*value*\",\"type\":\"value\"},{\"name\":\"ANNOTATE2=\",\"optional\":true,\"aliases\":[\"ANNO2=\"],\"description\":\"Specifies an ANNOTATE= type data set that enhances a primary chart.\",\"help\":\"ANNOTATE2=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"ANNOTATE=\",\"optional\":true,\"aliases\":[\"ANNO=\"],\"description\":\"Specifies an ANNOTATE= type data set.\",\"help\":\"ANNOTATE=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"BILEVEL\",\"optional\":true,\"description\":\"Arranges the Shewhart chart in two levels (rather than the default of one level) so that twice as much data can be displayed on a page or screen.\",\"type\":\"standalone\"},{\"name\":\"BLOCKLABELPOS=\",\"optional\":true,\"description\":\"Specifies the position of a block-variable label in the block legend.\",\"help\":\"BLOCKLABELPOS=ABOVE | LEFT | RIGHT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ABOVE\",\"description\":\"Places the label immediately above the legend.\",\"type\":\"standalone\"},{\"name\":\"LEFT\",\"description\":\"Places the label to the left of the legend.\",\"type\":\"standalone\"},{\"name\":\"RIGHT\",\"description\":\"Places the label to the right of the legend.\",\"type\":\"standalone\"}]},{\"name\":\"BLOCKLABTYPE=\",\"optional\":true,\"description\":\"Specifies how lengthy block variable values are treated when there is insufficient space to display them in the block legend.\",\"help\":\"BLOCKLABTYPE=SCALED | TRUNCATED | ROTATE | ROTATEALL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"SCALED\",\"description\":\"The values are uniformly reduced in height so that they fit.\",\"type\":\"standalone\"},{\"name\":\"TRUNCATED\",\"description\":\"Lengthy values are truncated on the right until they fit.\",\"type\":\"standalone\"},{\"name\":\"ROTATE\",\"description\":\"Rotates the values of the block variable displayed closest to the chart by 90 degreest.\",\"type\":\"standalone\"},{\"name\":\"ROTATEALL\",\"description\":\"RotateS the values of all block variables.\",\"type\":\"standalone\"}]},{\"name\":\"BLOCKPOS=\",\"optional\":true,\"description\":\"Specifies the vertical position of the legend for the values of the block variables.\",\"help\":\"BLOCKPOS=1 | 2 | 3 | 4\",\"type\":\"choice\",\"arguments\":[{\"name\":\"1\",\"description\":\"Top of chart, offset from axis frame\",\"type\":\"standalone\"},{\"name\":\"2\",\"description\":\"Top of chart, immediately above axis frame\",\"type\":\"standalone\"},{\"name\":\"3\",\"description\":\"Bottom of chart, immediately above horizontal axis\",\"type\":\"standalone\"},{\"name\":\"4\",\"description\":\"Bottom of chart, below horizontal axis label\",\"type\":\"standalone\"}]},{\"name\":\"BLOCKREFOPACITY=\",\"optional\":true,\"aliases\":[\"PHASEREFOPACITY=\",\"REFFILLOPACITY=\"],\"description\":\"Specifies the wall fill opacity for blocks and phases when transparency is used in ODS Graphics output. The value must be between 0 and 1, where 0 is completely transparent and 1 is completely opaque. The default wall fill opacity is 0.15.\",\"type\":\"value\"},{\"name\":\"BLOCKREP\",\"optional\":true,\"description\":\"Specifies that block variable values for all groups be displayed. By default, only the first block variable value in any block is displayed, and repeated block variable values are not displayed.\",\"type\":\"standalone\"},{\"name\":\"BLOCKVAR=\",\"optional\":true,\"description\":\"Specifies variables whose values are used to assign colors for filling the background of the legend associated with block variables.\",\"type\":\"value\"},{\"name\":\"BOXCONNECT=\",\"optional\":true,\"description\":\"Specifies that the points representing subgroup means, medians, maximum values, minimum values, first quartiles or third quartiles in box-and-whisker plots created with the BOXCHART statement are to be connected.\",\"help\":\"BOXCONNECT=MEAN | MEDIAN | MAX | MIN | Q1 | Q3\",\"type\":\"choice\",\"arguments\":[{\"name\":\"MEAN\",\"description\":\"Specifies that the points in box-and-whiskers plots created with the BOXCHART statement representing group means be connected with line segments.\",\"type\":\"standalone\"},{\"name\":\"MEDIAN\",\"description\":\"Specifies that the points in box-and-whiskers plots created with the BOXCHART statement representing group medians be connected with line segments.\",\"type\":\"standalone\"},{\"name\":\"MAX\",\"description\":\"Specifies that the points in box-and-whiskers plots created with the BOXCHART statement representing group maximum values be connected with line segments.\",\"type\":\"standalone\"},{\"name\":\"MIN\",\"description\":\"Specifies that the points in box-and-whiskers plots created with the BOXCHART statement representing group minimum values be connected with line segments.\",\"type\":\"standalone\"},{\"name\":\"Q1\",\"description\":\"Specifies that the points in box-and-whiskers plots created with the BOXCHART statement representing group first quartiles be connected with line segments.\",\"type\":\"standalone\"},{\"name\":\"Q3\",\"description\":\"Specifies that the points in box-and-whiskers plots created with the BOXCHART statement representing group third quartiles be connected with line segments.\",\"type\":\"standalone\"}]},{\"name\":\"BOXES=\",\"optional\":true,\"description\":\"Specifies a variable whose values are used to assign colors for the outlines of box-and-whiskers plots.\",\"type\":\"value\"},{\"name\":\"BOXFILL=\",\"optional\":true,\"description\":\"Specifies how box-and-whisker plots are filled with colors from the ODS style.\",\"help\":\"BOXFILL=&lt;*variable*&gt; | NONE | EMPTY\",\"type\":\"choice\",\"arguments\":[{\"name\":\"<variable>\",\"placeholder\":true,\"description\":\"You can specify a variable whose values are used to group box-and-whiskers plots for assigning fill colors from the ODS style.\",\"type\":\"value\"},{\"name\":\"NONE\",\"description\":\"Produces unfilled boxes.\",\"type\":\"standalone\"},{\"name\":\"EMPTY\",\"description\":\"Produces unfilled boxes.\",\"type\":\"standalone\"}]},{\"name\":\"BOXOPACITY=\",\"optional\":true,\"description\":\"Specifies the box fill opacity for box-and-whisker charts when transparency is used in ODS Graphics output. The value must be between 0 and 1, where 0 is completely transparent and 1 is completely opaque. The default box fill opacity is 0.75.\",\"help\":\"BOXOPACITY=*value*\",\"type\":\"value\"},{\"name\":\"BOXSTYLE=\",\"optional\":true,\"description\":\"[Specifies the style of the box-and-whiskers plots displayed.\",\"help\":\"BOXSTYLE=SKELETAL | SCHEMATIC | SCHEMATICID | SCHEMATICIDFAR | POINTS | POINTSJOIN | POINTSBOX | POINTSID | POINTSJOINID | POINTSSCHEMATIC\",\"type\":\"choice\",\"arguments\":[{\"name\":\"SKELETAL\",\"description\":\"The whiskers are drawn from the edges of the box to the extreme values of the group.\",\"type\":\"standalone\"},{\"name\":\"SCHEMATIC\",\"description\":\"A whisker is drawn from the upper edge of the box to the largest observed value within the upper fence, and another is drawn from the lower edge of the box to the smallest observed value within the lower fence.\",\"type\":\"standalone\"},{\"name\":\"SCHEMATICID\",\"description\":\"A schematic box-and-whiskers plot is displayed in which an ID variable value is used to label the symbol marking each observation outside the upper and lower fences.\",\"type\":\"standalone\"},{\"name\":\"SCHEMATICIDFAR\",\"description\":\"A schematic box-and-whiskers plot is displayed in which the value of the ID variable is used to label the symbol marking each observation outside the lower and upper far fences\",\"type\":\"standalone\"},{\"name\":\"POINTS\",\"description\":\"All the values in the subgroup sample are plotted as points, and neither a box nor whiskers are drawn.\",\"type\":\"standalone\"},{\"name\":\"POINTSJOIN\",\"description\":\"All the values in the subgroup sample are plotted as points joined with a vertical line. Neither a box nor whiskers are drawn.\",\"type\":\"standalone\"},{\"name\":\"POINTSBOX\",\"description\":\"All the values in the subgroup sample are plotted as points enclosed in a box.\",\"type\":\"standalone\"},{\"name\":\"POINTSID\",\"description\":\"All the values in the subgroup sample are plotted using labels specified as the values of the first variable in the ID statement.\",\"type\":\"standalone\"},{\"name\":\"POINTSJOINID\",\"description\":\"All the values in the subgroup sample are plotted using labels specified as the values of the first variable in the ID statement, and the values are joined by a vertical line.\",\"type\":\"standalone\"},{\"name\":\"POINTSSCHEMATIC\",\"description\":\"A schematic box chart is overlaid with points plotting all observations in the subgroups.\",\"type\":\"standalone\"}]},{\"name\":\"BOXWIDTH=\",\"optional\":true,\"description\":\"Specifies the width (in horizontal percent screen units) of the box-and-whiskers plots.\",\"help\":\"BOXWIDTH=*value*\",\"type\":\"value\"},{\"name\":\"BOXWIDTHSCALE=\",\"optional\":true,\"description\":\"Specifies that the width of the box-and-whiskers plots created with the BOXCHART statement is to vary proportionately to a particular function of the group size n.\",\"help\":\"BOXWIDTHSCALE=*value*\",\"type\":\"value\"},{\"name\":\"CAXIS=\",\"optional\":true,\"aliases\":[\"CAXES=\",\"CA=\"],\"description\":\"Specifies the color for the axes and tick marks. This option overrides any COLOR= specifications in an AXIS statement.\",\"help\":\"CAXIS=*color*\",\"type\":\"color\"},{\"name\":\"CBLOCKLAB=\",\"optional\":true,\"description\":\"Specifies fill colors for the frames that enclose the block variable labels in a block legend.\",\"help\":\"CBLOCKLAB=*color*\",\"type\":\"color\"},{\"name\":\"CBLOCKVAR=\",\"optional\":true,\"description\":\"Specifies variables whose values are colors for filling the background of the legend associated with block variables.\",\"type\":\"value\"},{\"name\":\"CBOXES=\",\"optional\":true,\"description\":\"Specifies the colors for the outlines of the box-and-whiskers plots created with the BOXCHART statement.\",\"help\":\"CBOXES=*color*\",\"type\":\"color\"},{\"name\":\"CBOXFILL=\",\"optional\":true,\"description\":\"Specifies the interior fill colors for the box-and-whiskers plots created with the BOXCHART statement.\",\"help\":\"CBOXFILL=*color*\",\"type\":\"color\"},{\"name\":\"CCLIP=\",\"optional\":true,\"description\":\"Specifies a color for the plotting symbol that is specified with the CLIPSYMBOL= option to mark clipped values.\",\"help\":\"CCLIP=*color*\",\"type\":\"color\"},{\"name\":\"CCONNECT=\",\"optional\":true,\"description\":\"Specifies the color for line segments connecting points on the chart.\",\"help\":\"CCONNECT=*color*\",\"type\":\"color\"},{\"name\":\"CCOVERLAY2=\",\"optional\":true,\"description\":\"Specifies the colors for line segments connecting points on secondary chart overlays.\",\"help\":\"CCOVERLAY2=*color*\",\"type\":\"color\"},{\"name\":\"CCOVERLAY=\",\"optional\":true,\"description\":\"Specifies the colors for line segments connecting points on primary chart overlays.\",\"help\":\"CCOVERLAY=*color*\",\"type\":\"color\"},{\"name\":\"CFRAME=\",\"optional\":true,\"description\":\"Specifies the color for filling the rectangle enclosed by the axes and the frame. By default, this area is not filled. The CFRAME= option cannot be used in conjunction with the NOFRAME option.\",\"help\":\"CFRAME=*color*\",\"type\":\"color\"},{\"name\":\"CFRAMELAB=\",\"optional\":true,\"description\":\"Specifies the color for filling rectangles that frame the point labels displayed with the ALLLABEL=, ALLLABEL2=, OUTLABEL=, and OUTLABEL2= options.\",\"help\":\"CFRAMELAB=*color*\",\"type\":\"color\"},{\"name\":\"CGRID=\",\"optional\":true,\"description\":\"Specifies the color for the grid requested by the ENDGRID or GRID option. By default, the grid is the same color as the axes.\",\"help\":\"CGRID=*color*\",\"type\":\"color\"},{\"name\":\"CHREF=\",\"optional\":true,\"description\":\"Specifies the color for the lines requested by the HREF= and HREF2= options.\",\"help\":\"CHREF=*color*\",\"type\":\"color\"},{\"name\":\"CIINDICES\",\"optional\":true,\"description\":\"Requests capability index confidence limits based on subgroup summary data, calculated using \\\"effective degrees of freedom\\\". TYPE=keyword specifies the type of confidence limit. Valid values are LOWER, UPPER and TWOSIDED. The default value is TWOSIDED.\",\"type\":\"standalone\"},{\"name\":\"CINFILL=\",\"optional\":true,\"description\":\"Specifies the color for the area inside the upper and lower control limits.\",\"help\":\"CINFILL=&lt;*color*&gt; | NONE | EMPTY\",\"type\":\"choice\",\"arguments\":[{\"name\":\"<color>\",\"placeholder\":true,\"description\":\"Specifies the color for the area inside the upper and lower control limits.\",\"type\":\"color\"},{\"name\":\"NONE\",\"description\":\"Leaves the area between the contol limits unfilled.\",\"type\":\"standalone\"},{\"name\":\"EMPTY\",\"description\":\"Leaves the area between the contol limits unfilled.\",\"type\":\"standalone\"}]},{\"name\":\"CLABEL=\",\"optional\":true,\"description\":\"Specifies the color for labels produced by the ALLLABEL=, ALLLABEL2=, OUTLABEL=, and OUTLABEL2= options.\",\"help\":\"CLABEL=*color*\",\"type\":\"color\"},{\"name\":\"CLIMITS=\",\"optional\":true,\"description\":\"Specifies the color for the control limits, the central line, and the labels for these lines.\",\"help\":\"CLIMITS=*color*\",\"type\":\"color\"},{\"name\":\"CLIPCHAR=\",\"optional\":true,\"description\":\"Specifies a plot character that identifies clipped points, as requested with the CLIPFACTOR= option.\",\"help\":\"CLIPCHAR='*character*'\",\"type\":\"value\"},{\"name\":\"CLIPFACTOR=\",\"optional\":true,\"description\":\"Requests clipping of extreme values on the control chart. The factor that you specify determines the extent to which these values are clipped, and it must be greater than 1.\",\"help\":\"CLIPFACTOR=*factor*\",\"type\":\"value\"},{\"name\":\"CLIPLEGEND=\",\"optional\":true,\"description\":\"Specifies the label for the legend that indicates the number of clipped boxes when the CLIPFACTOR= option is used.\",\"type\":\"value\"},{\"name\":\"CLIPLEGPOS=\",\"optional\":true,\"description\":\"Specifies the position for the legend that indicates the number of clipped boxes when the CLIPFACTOR= option is used.\",\"help\":\"CLIPLEGPOS=TOP | BOTTOM\",\"type\":\"choice\",\"arguments\":[{\"name\":\"TOP\",\"description\":\"Positions the legend at the top of the chart.\",\"type\":\"standalone\"},{\"name\":\"BOTTOM\",\"description\":\"positions the legend at the bottom of the chart.\",\"type\":\"standalone\"}]},{\"name\":\"CLIPSUBCHAR=\",\"optional\":true,\"description\":\"Specifies a substitution character (such as '#') for the label provided with the CLIPLEGEND= option.\",\"help\":\"CLIPSUBCHAR='*character*'\",\"type\":\"value\"},{\"name\":\"CLIPSYMBOL=\",\"optional\":true,\"description\":\"Specifies a plot symbol used to identify clipped points on the chart and in the legend when the CLIPFACTOR= option is used.\",\"help\":\"CLIPSYMBOL=*symbol*\",\"type\":\"value\"},{\"name\":\"CLIPSYMBOLHT=\",\"optional\":true,\"description\":\"Specifies the height for the symbol marker used to identify clipped points on the chart when the CLIPFACTOR= option is used.\",\"help\":\"CLIPSYMBOLHT=*value*\",\"type\":\"value\"},{\"name\":\"CNEEDLES=\",\"optional\":true,\"description\":\"Requests that points are to be connected to the central line with vertical line segments (needles) and specifies the color of the needles.\",\"help\":\"CNEEDLES=*color*\",\"type\":\"color\"},{\"name\":\"CONNECTCHAR=\",\"optional\":true,\"description\":\"Specifies the character used to form line segments that connect points on a chart. The default character is a plus (+) sign.\",\"help\":\"CONNECTCHAR='*character*'\",\"type\":\"value\"},{\"name\":\"CONTROLSTAT=\",\"optional\":true,\"description\":\"Specifies whether the control limits displayed in a box chart are to be computed for subgroup means or for subgroup medians.\",\"help\":\"CONTROLSTAT=MEAN | MEDIAN\",\"type\":\"choice\",\"arguments\":[{\"name\":\"MEAN\",\"description\":\"Specifies whether the control limits displayed in a box chart are to be computed for subgroup means.\",\"type\":\"standalone\"},{\"name\":\"MEDIAN\",\"description\":\"Specifies whether the control limits displayed in a box chart are to be computed for subgroup medians.\",\"type\":\"standalone\"}]},{\"name\":\"COUT\",\"optional\":true,\"description\":\"Specify COUT with no argument to use an appropriate contrasting color from the ODS style.\",\"type\":\"standalone\"},{\"name\":\"COUT=\",\"optional\":true,\"description\":\"Specifies the color for the plotting symbols and the portions of connecting line segments that lie outside the control limits.\",\"help\":\"COUT=*color*\",\"type\":\"color\"},{\"name\":\"COVERLAY2=\",\"optional\":true,\"description\":\"Specifies the colors used to plot secondary chart overlay variables. Colors in the COVERLAY2= list are matched with variables in the corresponding positions in the OVERLAY2= list.\",\"type\":\"value\"},{\"name\":\"COVERLAY=\",\"optional\":true,\"description\":\"Specifies the colors used to plot primary chart overlay variables. Colors in the COVERLAY= list are matched with variables in the corresponding positions in the OVERLAY= list.\",\"type\":\"value\"},{\"name\":\"COVERLAYCLIP=\",\"optional\":true,\"description\":\"Specifies the color used to plot clipped values on overlay plots when the CLIPFACTOR= option is used.\",\"help\":\"COVERLAYCLIP=*color*\",\"type\":\"color\"},{\"name\":\"CPHASEBOX=\",\"optional\":true,\"description\":\"Specifies the color for a box that encloses all of the plotted points for a phase (group of consecutive observations that have the same value of the variable _PHASE_).\",\"help\":\"CPHASEBOX=*color*\",\"type\":\"color\"},{\"name\":\"CPHASEBOXCONNECT=\",\"optional\":true,\"description\":\"Specifies the color for line segments that connect the vertical edges of adjacent enclosing boxes requested with the CPHASEBOX= option or the CPHASEBOXFILL= option.\",\"help\":\"CPHASEBOXCONNECT=*color*\",\"type\":\"color\"},{\"name\":\"CPHASEBOXFILL=\",\"optional\":true,\"description\":\"Specifies the fill color for a box that encloses all of the plotted points for a phase.\",\"help\":\"CPHASEBOXFILL=*color*\",\"type\":\"color\"},{\"name\":\"CPHASELEG=\",\"optional\":true,\"description\":\"Specifies a text color for the phase labels requested with the PHASELEGEND option.\",\"help\":\"CPHASELEG=*color*\",\"type\":\"color\"},{\"name\":\"CPHASEMEANCONNECT=\",\"optional\":true,\"description\":\"Specifies the color for line segments that connect points representing the average of the values plotted within a phase.\",\"help\":\"CPHASEMEANCONNECT=*color*\",\"type\":\"color\"},{\"name\":\"CSTARCIRCLES=\",\"optional\":true,\"description\":\"Specifies a color for the circles requested with the STARCIRCLES= option.\",\"help\":\"CSTARCIRCLES=*color*\",\"type\":\"color\"},{\"name\":\"CSTARFILL=\",\"optional\":true,\"description\":\"Specifies a color or colors for filling the interior of stars requested with the STARVERTICES= option.\",\"help\":\"CSTARFILL=*color*\",\"type\":\"color\"},{\"name\":\"CSTAROUT\",\"optional\":true,\"description\":\"Specifies to use an appropriate contrasting color from the ODS style for those portions of the outlines of stars (requested with the STARVERTICES= option) that exceed the inner or outer circles.\",\"type\":\"color\"},{\"name\":\"CSTAROUT=\",\"optional\":true,\"description\":\"Specifies a color for those portions of the outlines of stars (requested with the STARVERTICES= option) that exceed the inner or outer circles.\",\"help\":\"CSTAROUT=*color*\",\"type\":\"color\"},{\"name\":\"CSTARS=\",\"optional\":true,\"description\":\"Specifies a color or colors for the outlines of stars requested with the STARVERTICES= option.\",\"help\":\"CSTARS=*color*\",\"type\":\"color\"},{\"name\":\"CSYMBOL=\",\"optional\":true,\"description\":\"Specifies a label for the central line in a C chart.\",\"help\":\"CSYMBOL=C | CBAR | CPM | CPM2 | C0 | '*label*'\",\"type\":\"choice\",\"arguments\":[{\"name\":\"C\",\"description\":\"C\",\"type\":\"standalone\"},{\"name\":\"CBAR\",\"description\":\"CBAR\",\"type\":\"standalone\"},{\"name\":\"CPM\",\"description\":\"C'\",\"type\":\"standalone\"},{\"name\":\"CPM2\",\"description\":\"C''\",\"type\":\"standalone\"},{\"name\":\"C0\",\"description\":\"Co\",\"type\":\"standalone\"},{\"name\":\"'label'\",\"placeholder\":true,\"description\":\"You can specify a quoted label of length 16 or less.\",\"type\":\"value\"}]},{\"name\":\"CTESTLABBOX=\",\"optional\":true,\"description\":\"Specifies the color for boxes enclosing labels for positive tests for special causes requested with the TESTLABBOX option.\",\"help\":\"CTESTLABBOX=*color*\",\"type\":\"color\"},{\"name\":\"CTESTS=\",\"optional\":true,\"aliases\":[\"CTEST=\"],\"description\":\"Specifies colors for labels indicating points where a test is positive.\",\"help\":\"CTESTS=*color*\",\"type\":\"color\"},{\"name\":\"CTESTSYMBOL=\",\"optional\":true,\"aliases\":[\"CTESTSYM=\"],\"description\":\"Specifies the color of the symbol used to plot subgroups with positive tests for special causes.\",\"help\":\"CTESTSYMBOL=*color*\",\"type\":\"color\"},{\"name\":\"CTEXT=\",\"optional\":true,\"description\":\"Specifies the color for tick mark values and axis labels. The default color is the color specified in the CTEXT= option in the most recent GOPTIONS statement.\",\"help\":\"CTEXT=*color*\",\"type\":\"color\"},{\"name\":\"CVREF=\",\"optional\":true,\"aliases\":[\"CV=\"],\"description\":\"Specifies the color for the lines requested by the VREF= and VREF2= options.\",\"help\":\"CVREF=*color*\",\"type\":\"color\"},{\"name\":\"CZONES=\",\"optional\":true,\"description\":\"Requests lines marking zones A, B, and C for the tests for special causes (see the TESTS= option) and specifies the color for these lines.\",\"help\":\"CZONES=*color*\",\"type\":\"color\"},{\"name\":\"DESCRIPTION2=\",\"optional\":true,\"aliases\":[\"DES2=\"],\"description\":\"Specifies a description for the secondary chart of length 256 or less that appears in the PROC GREPLAY master menu. The default string is the variable name. The DESCRIPTION2= option is available in the IRCHART, MRCHART, XRCHART, and XSCHART statements, and it is used in conjunction with the SEPARATE option. A related option is NAME2=.\",\"help\":\"DESCRIPTION2='*string*'\",\"type\":\"value\"},{\"name\":\"DESCRIPTION=\",\"optional\":true,\"aliases\":[\"DES=\"],\"description\":\"Specifies a description for the primary chart of length 256 or less that appears in the PROC GREPLAY master menu. The default string is the variable name. A related option is NAME=.\",\"help\":\"DESCRIPTION='*string*'\",\"type\":\"value\"},{\"name\":\"DISCRETE\",\"optional\":true,\"description\":\"Specifies that numeric subgroup variable values be treated as discrete values, so that each tick value on the default subgroup axis corresponds to a unique subgroup variable value.\",\"type\":\"standalone\"},{\"name\":\"ENDGRID\",\"optional\":true,\"description\":\"Adds a grid to the rightmost portion of the chart, beginning with the first labeled major tick mark position that follows the last plotted point.\",\"type\":\"standalone\"},{\"name\":\"EXCHART\",\"optional\":true,\"description\":\"Creates a control chart only when exceptions occur, specifically, when the control limits are exceeded or when any of the tests requested with the TESTS= option or the TESTS2= option are positive.\",\"type\":\"standalone\"},{\"name\":\"FONT=\",\"optional\":true,\"description\":\"Specifies a software font for labels and legends.\",\"help\":\"FONT=*font*\",\"type\":\"value\"},{\"name\":\"FRONTREF\",\"optional\":true,\"description\":\"Draws reference lines specified with the HREF= and VREF= options in front of box-and-whiskers plots. By default, reference lines are drawn behind the box-and-whiskers plots and can be obscured by filled boxes.\",\"type\":\"standalone\"},{\"name\":\"GRID\",\"optional\":true,\"description\":\"Adds a grid to the control chart. Grid lines are horizontal lines positioned at labeled major tick marks, and they cover the length and height of the plotting area.\",\"type\":\"standalone\"},{\"name\":\"HAXIS=\",\"optional\":true,\"description\":\"Specifies tick mark values for the horizontal (subgroup) axis. If the group variable is numeric, the values must be numeric and equally spaced. If the group variable is character, values must be quoted strings of up to 16 characters. Optionally, you can specify an axis name defined in a previous AXIS statement.\",\"type\":\"value\"},{\"name\":\"HEIGHT=\",\"optional\":true,\"description\":\"Specifies the height (in vertical screen percent units) of the text for axis labels and legends. This value takes precedence over the HTEXT= value specified in the GOPTIONS statement.\",\"help\":\"HEIGHT=*value*\",\"type\":\"value\"},{\"name\":\"HMINOR=\",\"optional\":true,\"aliases\":[\"HM=\"],\"description\":\"Specifies the number of minor tick marks between major tick marks on the horizontal axis. Minor tick marks are not labeled. The default is HMINOR=0.\",\"help\":\"HMINOR=*n*\",\"type\":\"value\"},{\"name\":\"HOFFSET=\",\"optional\":true,\"description\":\"Specifies the length (in percent screen units) of the offset at both ends of the horizontal axis. You can eliminate the offset by specifying HOFFSET=0.\",\"help\":\"HOFFSET=*value*\",\"type\":\"value\"},{\"name\":\"HREF2=\",\"optional\":true,\"description\":\"Draws reference lines perpendicular to the horizontal (subgroup) axis on the secondary chart.\",\"type\":\"value\"},{\"name\":\"HREF2DATA=\",\"optional\":true,\"description\":\"Draws reference lines perpendicular to the horizontal (subgroup) axis on the secondary chart. The HREF2DATA= option must be used in place of the HREF2= option to specify a data set using the quoted filename notation.\",\"help\":\"HREF2DATA=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"HREF2LABELS=\",\"optional\":true,\"aliases\":[\"HREF2LABEL=\",\"HREF2LAB=\"],\"description\":\"Specifies labels for the reference lines requested by the HREF2= option. The number of labels must equal the number of lines. Enclose each label in quotes. Labels can be up to 16 characters.\",\"type\":\"value\"},{\"name\":\"HREF=\",\"optional\":true,\"description\":\"Draws reference lines perpendicular to the horizontal (subgroup) axis on the primary chart.\",\"type\":\"value\"},{\"name\":\"HREFCHAR=\",\"optional\":true,\"description\":\"Specifies the character used for reference lines requested by the HREF= and HREF2= options on line printer charts. The default is the vertical bar (|).\",\"help\":\"HREFCHAR='*character*'\",\"type\":\"value\"},{\"name\":\"HREFDATA=\",\"optional\":true,\"description\":\"Draws reference lines perpendicular to the horizontal (subgroup) axis on the primary chart. The HREFDATA= option must be used in place of the HREF= option to specify a data set using the quoted filename notation.\",\"help\":\"HREFDATA=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"HREFLABELS=\",\"optional\":true,\"aliases\":[\"HREFLABEL=\",\"HREFLAB=\"],\"description\":\"Specifies labels for the reference lines requested by the HREF= option. The number of labels must equal the number of lines. Enclose each label in quotes. Labels can be up to 16 characters.\",\"type\":\"value\"},{\"name\":\"HREFLABPOS=\",\"optional\":true,\"description\":\"Specifies the vertical position of the HREFLABEL= label.\",\"help\":\"HREFLABPOS=1 | 2 | 3 | 4\",\"type\":\"choice\",\"arguments\":[{\"name\":\"1\",\"description\":\"Along top of subplot area\",\"type\":\"standalone\"},{\"name\":\"2\",\"description\":\"Staggered from top to bottom of subplot area\",\"type\":\"standalone\"},{\"name\":\"3\",\"description\":\"Along bottom of subplot area\",\"type\":\"standalone\"},{\"name\":\"4\",\"description\":\"Staggered from bottom to top of subplot area\",\"type\":\"standalone\"}]},{\"name\":\"HTML2=\",\"optional\":true,\"description\":\"Specifies URLs as values of the specified character variable (or formatted values of a numeric variable). These URLs are associated with points on a secondary chart when traditional graphics output is directed into HTML.\",\"help\":\"HTML2=*variable*\",\"type\":\"value\"},{\"name\":\"HTML=\",\"optional\":true,\"description\":\"Specifies URLs as values of the specified character variable (or formatted values of a numeric variable). These URLs are associated with points on a primary control chart when traditional graphics output is directed into HTML.\",\"help\":\"HTML=*variable*\",\"type\":\"value\"},{\"name\":\"HTML_LEGEND=\",\"optional\":true,\"description\":\"Specifies URLs as values of the specified character variable (or formatted values of a numeric variable). These URLs are associated with symbols in the legend for the levels of a symbol-variable.\",\"help\":\"HTML_LEGEND=*variable*\",\"type\":\"value\"},{\"name\":\"IDCOLOR=\",\"optional\":true,\"description\":\"Specifies the color of the symbol marker used to identify outliers in schematic box-and-whiskers plots (that is, when you specify the keyword SCHEMATIC, SCHEMATICID, or SCHEMATICIDFAR with the BOXSTYLE= option).\",\"help\":\"IDCOLOR=*color*\",\"type\":\"color\"},{\"name\":\"IDCTEXT=\",\"optional\":true,\"description\":\"Specifies the color for the text used to label outliers when you specify the keyword SCHEMATICID, SCHEMATICIDFAR, POINTSID, or POINTSJOINID with the BOXSTYLE= option.\",\"help\":\"IDCTEXT=*color*\",\"type\":\"color\"},{\"name\":\"IDFONT=\",\"optional\":true,\"description\":\"Specifies the font for the text used to label outliers when you specify the keyword SCHEMATICID, SCHEMATICIDFAR, POINTSID, or POINTSJOINID with the BOXSTYLE= option.\",\"help\":\"IDFONT=*font*\",\"type\":\"value\"},{\"name\":\"IDHEIGHT=\",\"optional\":true,\"description\":\"Specifies the height for the text used to label outliers when you specify the keyword SCHEMATICID, SCHEMATICIDFAR, POINTSID, or POINTSJOINID with the BOXSTYLE= option.\",\"help\":\"IDHEIGHT=*value*\",\"type\":\"value\"},{\"name\":\"IDSYMBOL=\",\"optional\":true,\"description\":\"Specifies the symbol marker used to identify outliers in schematic box-and-whisker plots produced with the BOXCHART statement when you use one of the following options: BOXSTYLE=SCHEMATIC, BOXSTYLE=SCHEMATICID, and BOXSTYLE=SCHEMATICIDFAR. The default symbol is SQUARE.\",\"help\":\"IDSYMBOL=*symbol*\",\"type\":\"value\"},{\"name\":\"INDEPENDENTZONES\",\"optional\":true,\"aliases\":[\"INDEPZONES\"],\"description\":\"Specifies that the widths of the zones requested with the ZONES option be computed independently above and below the center line of the chart, so that the width of each zone is one-third of the difference between the process mean and the control limit on its side of the chart.\",\"type\":\"standalone\"},{\"name\":\"INFILLOPACITY=\",\"optional\":true,\"description\":\"Specifies the control limit infill opacity when transparency is used in ODS Graphics output. The value be between 0 and 1, where 0 is completely transparent and 1 is completely opaque. The default control limit infill opacity is 0.25.\",\"help\":\"INFILLOPACITY=*value*\",\"type\":\"value\"},{\"name\":\"INTERVAL=\",\"optional\":true,\"description\":\"Specifies the natural time interval between consecutive group positions when a time, date, or datetime format is associated with a numeric group variable.\",\"help\":\"INTERVAL=DAY | DTDAY | HOUR | MINUTE | MONTH | QTR | SECOND\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DAY\",\"description\":\"For DATE, WEEKDATE, WORDDATE, YYMMDD, or MMDDYY format\",\"type\":\"standalone\"},{\"name\":\"DTDAY\",\"description\":\"For DATETIME format\",\"type\":\"standalone\"},{\"name\":\"HOUR\",\"description\":\"For HHMM or HOUR format\",\"type\":\"standalone\"},{\"name\":\"MINUTE\",\"description\":\"For MMSS format\",\"type\":\"standalone\"},{\"name\":\"MONTH\",\"description\":\"For MONYY format\",\"type\":\"standalone\"},{\"name\":\"QTR\",\"description\":\"For YYQ format\",\"type\":\"standalone\"},{\"name\":\"SECOND\",\"description\":\"For TIME or TOD format\",\"type\":\"standalone\"}]},{\"name\":\"INTSTART=\",\"optional\":true,\"description\":\"Specifies the starting value for a numeric horizontal axis when a date, time, or datetime format is associated with the group variable.\",\"help\":\"INTSTART=*value*\",\"type\":\"value\"},{\"name\":\"LABELANGLE=\",\"optional\":true,\"description\":\"Specifies the angle at which labels requested with the ALLLABEL=, ALLLABEL2=, OUTLABEL=, and OUTLABEL2= options are drawn. A positive angle rotates the labels counterclockwise; a negative angle rotates them clockwise. By default, labels are oriented horizontally.\",\"help\":\"LABELANGLE=*angle*\",\"type\":\"value\"},{\"name\":\"LABELFONT=\",\"optional\":true,\"aliases\":[\"TESTFONT=\"],\"description\":\"Specifies a software font for labels requested with the ALLLABEL=, ALLLABEL2=, OUTLABEL=, OUTLABEL2=, STARLABEL=, TESTLABEL=, and TESTLABELn= options.\",\"help\":\"LABELFONT=*font*\",\"type\":\"value\"},{\"name\":\"LABELHEIGHT=\",\"optional\":true,\"aliases\":[\"TESTHEIGHT=\"],\"description\":\"Specifies the height (in vertical percent screen units) for labels requested with the ALLLABEL=, ALLLABEL2=, OUTLABEL=, OUTLABEL2=, STARLABEL=, TESTLABEL=, and TESTLABEL= options.\",\"help\":\"LABELHEIGHT=*value*\",\"type\":\"value\"},{\"name\":\"LBOXES=\",\"optional\":true,\"description\":\"Specifies the line types for the outlines of the box-and-whiskers plots created with the BOXCHART statement.\",\"type\":\"value\"},{\"name\":\"LCLLABEL2=\",\"optional\":true,\"description\":\"Specifies a label for the lower control limit in the secondary chart. The label can be of length 16 or less. Enclose the label in quotes.\",\"help\":\"LCLLABEL2='*label*'\",\"type\":\"value\"},{\"name\":\"LCLLABEL=\",\"optional\":true,\"description\":\"Specifies a label for the lower control limit in the primary chart. The label can be of length 16 or less. Enclose the label in quotes.\",\"help\":\"LCLLABEL='*label*'\",\"type\":\"value\"},{\"name\":\"LENDGRID=\",\"optional\":true,\"description\":\"Specifies the line type for the grid requested with the ENDGRID option. The default value is 1, which produces a solid line.\",\"help\":\"LENDGRID=*linetype*\",\"type\":\"value\"},{\"name\":\"LGRID=\",\"optional\":true,\"description\":\"Specifies the line type for the grid requested with the GRID option. The default value is 1, which produces a solid line.\",\"help\":\"LGRID=*linetype*\",\"type\":\"value\"},{\"name\":\"LHREF=\",\"optional\":true,\"aliases\":[\"LH=\"],\"description\":\"Specifies the line type for reference lines requested with the HREF= and HREF2 options. The default value is 2, which produces a dashed line.\",\"help\":\"LHREF=*linetype*\",\"type\":\"value\"},{\"name\":\"LIMITN=\",\"optional\":true,\"description\":\"Specifies either a varying or a fixed nominal sample size n for the control limits.\",\"help\":\"LIMITN=VARYING | *n*\",\"type\":\"choice\",\"arguments\":[{\"name\":\"VARYING\",\"description\":\"Specifies a varying nominal sample size for the control limits.\",\"type\":\"standalone\"},{\"name\":\"n\",\"placeholder\":true,\"description\":\"Specifies a fixed nominal sample size for the control limits.\",\"type\":\"value\"}]},{\"name\":\"LIMLABSUBCHAR=\",\"optional\":true,\"description\":\"Specifies a substitution character (such as #) for labels provided as quoted strings with the LCLLABEL=, LCLLABEL2=, UCLLABEL=, UCLLABEL2=, CSYMBOL=, NPSYMBOL=, PSYMBOL=, RSYMBOL=, SSYMBOL=, USYMBOL=, and XSYMBOL= options.\",\"help\":\"LIMLABSUBCHAR='*character*'\",\"type\":\"value\"},{\"name\":\"LLIMITS=\",\"optional\":true,\"description\":\"Specifies the line type for control limits. The default is 4, which produces a dashed line.\",\"help\":\"LLIMITS=*linetype*\",\"type\":\"value\"},{\"name\":\"LOVERLAY2=\",\"optional\":true,\"description\":\"Specifies line types for the line segments connecting points on secondary chart overlays. Line types in the LOVERLAY2= list are matched with variables in the corresponding positions in the OVERLAY2= list.\",\"type\":\"value\"},{\"name\":\"LOVERLAY=\",\"optional\":true,\"description\":\"Specifies line types for the line segments connecting points on primary chart overlays. Line types in the LOVERLAY= list are matched with variables in the corresponding positions in the OVERLAY= list.\",\"type\":\"value\"},{\"name\":\"LSL=\",\"optional\":true,\"description\":\"Provides lower specification limits used to compute capability indices.\",\"help\":\"LSL=*value-list*\",\"type\":\"value\"},{\"name\":\"LSTARCIRCLES=\",\"optional\":true,\"description\":\"Specifies one or more line types for the circles requested with the STARCIRCLES= option.\",\"help\":\"LSTARCIRCLES=*linetypes*\",\"type\":\"value\"},{\"name\":\"LSTARS=\",\"optional\":true,\"description\":\"Specifies the line types for the outlines of stars requested with the STARVERTICES= option.\",\"type\":\"value\"},{\"name\":\"LTESTS=\",\"optional\":true,\"aliases\":[\"LTEST=\"],\"description\":\"Specifies the line type for the line segments that connect patterns of points for which a test for special causes (requested with the TESTS= option) is positive. The default is 1, which produces a solid line.\",\"help\":\"LTESTS=*linetype*\",\"type\":\"value\"},{\"name\":\"LTMARGIN=\",\"optional\":true,\"aliases\":[\"LTM=\"],\"description\":\"Specifies the width of the left marginal area for the plot requested with the LTMPLOT= option.\",\"help\":\"LTMARGIN=*value*\",\"type\":\"value\"},{\"name\":\"LTMPLOT=\",\"optional\":true,\"description\":\"Requests a univariate plot of the control chart statistics that is positioned in the left margin of the control chart.\",\"help\":\"LTMPLOT=HISTOGRAM | DIGIDOT | SKELETAL | SCHEMATIC | SCHEMATICID | SCHEMATICIDFAR\",\"type\":\"choice\",\"arguments\":[{\"name\":\"HISTOGRAM\",\"description\":\"Histogram\",\"type\":\"standalone\"},{\"name\":\"DIGIDOT\",\"description\":\"Digidot plot\",\"type\":\"standalone\"},{\"name\":\"SKELETAL\",\"description\":\"Skeletal box-and-whisker plot\",\"type\":\"standalone\"},{\"name\":\"SCHEMATIC\",\"description\":\"Schematic box-and-whisker plot\",\"type\":\"standalone\"},{\"name\":\"SCHEMATICID\",\"description\":\"Schematic box-and-whisker plot with outliers labeled\",\"type\":\"standalone\"},{\"name\":\"SCHEMATICIDFAR\",\"description\":\"Schematic box-and-whisker plot with far outliers labeled\",\"type\":\"standalone\"}]},{\"name\":\"LVREF=\",\"optional\":true,\"aliases\":[\"LV=\"],\"description\":\"Specifies the line type for reference lines requested by the VREF= and VREF2= options. The default value is 2, which produces a dashed line.\",\"help\":\"LVREF=*linetype*\",\"type\":\"value\"},{\"name\":\"LZONES=\",\"optional\":true,\"description\":\"Specifies the line type for lines that delineate zones A, B, and C for standard tests requested with the TESTS= and/or TESTS2= options. The default is n=2, which produces a dashed line.\",\"help\":\"LZONES=*n*\",\"type\":\"value\"},{\"name\":\"MAXPANELS=\",\"optional\":true,\"description\":\"Specifies the maximum number of pages or screens for a chart. By default, n=20.\",\"help\":\"MAXPANELS=*n*\",\"type\":\"value\"},{\"name\":\"MEDCENTRAL=\",\"optional\":true,\"description\":\"Identifies a method for estimating the process mean, µ, which is represented by the central line on a median chart.\",\"help\":\"MEDCENTRAL=AVGMEAN | AVGMED | MEDMED\",\"type\":\"choice\",\"arguments\":[{\"name\":\"AVGMEAN\",\"description\":\"Average of subgroup means\",\"type\":\"standalone\"},{\"name\":\"AVGMED\",\"description\":\"Average of subgroup medians\",\"type\":\"standalone\"},{\"name\":\"MEDMED\",\"description\":\"Median of subgroup medians\",\"type\":\"standalone\"}]},{\"name\":\"MISSBREAK\",\"optional\":true,\"description\":\"Determines how subgroups are formed when observations are read from a DATA= data set and a character subgroup-variable is provided.\",\"type\":\"standalone\"},{\"name\":\"MRRESTART\",\"optional\":true,\"description\":\"Causes the moving range computation on the IRCHART to be restarted when any missing value is encountered.\",\"type\":\"standalone\"},{\"name\":\"MRRESTART=\",\"optional\":true,\"description\":\"' Causes the moving range computation on the IRCHART to be restarted only when the specified missing value is encountered.\",\"help\":\"MRRESTART=*value*\",\"type\":\"value\"},{\"name\":\"MU0=\",\"optional\":true,\"description\":\"Specifies a known (standard) value u0 for the process mean µ.\",\"help\":\"MU0=*value*\",\"type\":\"value\"},{\"name\":\"NAME2=\",\"optional\":true,\"description\":\"Specifies a name for the secondary chart of length 8 or less that appears in the PROC GREPLAY master menu. The default name is 'SHEWHART'.\",\"help\":\"NAME2='*string*'\",\"type\":\"value\"},{\"name\":\"NAME=\",\"optional\":true,\"description\":\"Specifies a name for the primary chart of length 8 or less that appears in the PROC GREPLAY master menu. The default name is 'SHEWHART'.\",\"help\":\"NAME='*string*'\",\"type\":\"value\"},{\"name\":\"NDECIMAL2=\",\"optional\":true,\"description\":\"Specifies the number of decimal digits in the default labels for the control limits and the central line in a secondary chart.\",\"help\":\"NDECIMAL2=*n*\",\"type\":\"value\"},{\"name\":\"NDECIMAL=\",\"optional\":true,\"description\":\"Specifies the number of decimal digits in the default labels for the control limits and the central line in the primary chart.\",\"help\":\"NDECIMAL=*n*\",\"type\":\"value\"},{\"name\":\"NEEDLES\",\"optional\":true,\"description\":\"Connects plotted points to the central line with vertical line segments (needles).\",\"type\":\"standalone\"},{\"name\":\"NMARKERS\",\"optional\":true,\"description\":\"Identifies a plotted subgroup summary statistic with a special symbol marker (character) when the corresponding subgroup sample size is not equal to the nominal control limit sample size n.\",\"type\":\"standalone\"},{\"name\":\"NO3SIGMACHECK\",\"optional\":true,\"description\":\"Suppresses the check for 3σ limits when tests for special causes are requested.\",\"type\":\"standalone\"},{\"name\":\"NOBLOCKREFFILL\",\"optional\":true,\"aliases\":[\"NOPHASEREFILL\",\"NOREFILL\"],\"description\":\"Suppresses the block and phase wall fills from ODS Graphics output. By default, block and phase walls are filled when ODS Graphics is in effect.\",\"type\":\"standalone\"},{\"name\":\"NOBLOCKREF\",\"optional\":true,\"aliases\":[\"NOPHASEREF=\",\"NOREF=\"],\"description\":\"Suppresses block and phase reference lines from ODS Graphics output.\",\"type\":\"standalone\"},{\"name\":\"NOBOXFILLLEGEND\",\"optional\":true,\"aliases\":[\"NOFILLLEGEND\",\"NOSTARFILLLEGEND\"],\"description\":\"Suppresses the legend for the levels of a BOXFILL= or STARFILL= variable in ODS Graphics output.\",\"type\":\"standalone\"},{\"name\":\"NOBYREF\",\"optional\":true,\"description\":\"Specifies that the reference line information in an HREF=, HREF2=, VREF=, or VREF2= data set be applied uniformly to box plots created for all the BY groups in the input data set. If you specify the NOBYREF option, you do not need to provide BY variables in the reference line data set. By default, you must provide BY variables.\",\"type\":\"standalone\"},{\"name\":\"NOCHART2\",\"optional\":true,\"description\":\"Suppresses the creation of a secondary chart. You typically use this option in the IRCHART statement to create a chart for individual measurements and suppress the accompanying chart for moving ranges.\",\"type\":\"standalone\"},{\"name\":\"NOCHART\",\"optional\":true,\"aliases\":[\"NOCH\"],\"description\":\"Suppresses the creation of the chart. You typically specify the NOCHART option when you are using the procedure to compute control limits and save them in an output data set.\",\"type\":\"standalone\"},{\"name\":\"NOCONNECT\",\"optional\":true,\"description\":\"Suppresses line segments that connect points on the chart.\",\"type\":\"standalone\"},{\"name\":\"NOCTL\",\"optional\":true,\"description\":\"Suppresses the display of the central line in a primary chart.\",\"type\":\"standalone\"},{\"name\":\"NOCTL2\",\"optional\":true,\"description\":\"Suppresses the display of the central line in a secondary chart.\",\"type\":\"standalone\"},{\"name\":\"NOFRAME\",\"optional\":true,\"description\":\"Suppresses the default frame drawn around the chart.\",\"type\":\"standalone\"},{\"name\":\"NOHLABEL\",\"optional\":true,\"description\":\"Suppresses the label for the horizontal (subgroup) axis.\",\"type\":\"standalone\"},{\"name\":\"NOLCL\",\"optional\":true,\"description\":\"Suppresses the display of the lower control limit in a primary chart.\",\"type\":\"standalone\"},{\"name\":\"NOLCL2\",\"optional\":true,\"description\":\"Suppresses the display of the lower control limit in a secondary chart.\",\"type\":\"standalone\"},{\"name\":\"NOLEGEND\",\"optional\":true,\"description\":\"Suppresses the default legend for subgroup sample sizes, which appears by default below the chart.\",\"type\":\"standalone\"},{\"name\":\"NOLIMIT0\",\"optional\":true,\"description\":\"Suppresses the display of a fixed lower control limit if and only if the value of the limit is zero.\",\"type\":\"standalone\"},{\"name\":\"NOLIMIT1\",\"optional\":true,\"description\":\"Suppresses the display of a fixed upper control limit on a p chart if and only if the value of the control limit is 1 (or 100%), or on an np chart if and only if the value of the control limit is n.\",\"type\":\"standalone\"},{\"name\":\"NOLIMITLABEL\",\"optional\":true,\"description\":\"Suppresses the default labels for the control limits and central lines.\",\"type\":\"standalone\"},{\"name\":\"NOLIMITS\",\"optional\":true,\"description\":\"Suppresses the display of control limits.\",\"type\":\"standalone\"},{\"name\":\"NOLIMITSFRAME\",\"optional\":true,\"description\":\"Suppresses the default frame for the control limit information that is displayed across the top of the chart when multiple sets of control limits with distinct multiples of σ and nominal control limit sample sizes are read from a LIMITS= data set.\",\"type\":\"standalone\"},{\"name\":\"NOLIMITSLEGEND\",\"optional\":true,\"description\":\"Suppresses the legend for the control limits, which appears by default in the upper right corner of the chart.\",\"type\":\"standalone\"},{\"name\":\"NOOVERLAYLEGEND\",\"optional\":true,\"description\":\"Suppresses the legend for overlay variables which is displayed by default when the OVERLAY= or OVERLAY2= option is specified.\",\"type\":\"standalone\"},{\"name\":\"NOPHASEFRAME\",\"optional\":true,\"description\":\"Suppresses the default frame for the legend requested by the PHASELEGEND option.\",\"type\":\"standalone\"},{\"name\":\"NOREADLIMITS\",\"optional\":true,\"description\":\"Specifies that the control limits for each process listed in the chart statement are not to be read from the LIMITS= data set specified in the PROC SHEWHART statement.\",\"type\":\"standalone\"},{\"name\":\"NOTCHES\",\"optional\":true,\"description\":\"Specifies that box-and-whiskers plots created by the BOXCHART statement are to be notched.\",\"type\":\"standalone\"},{\"name\":\"NOTESTACROSS\",\"optional\":true,\"description\":\"Specifies that tests for special causes requested with the TESTS= or TESTS2= options not be applied across the boundaries of phases (blocks of consecutive subgroups) determined by the READPHASES= option and the variable _PHASE_ in the input data set.\",\"type\":\"standalone\"},{\"name\":\"NOTICKREP\",\"optional\":true,\"description\":\"Applies to character-valued subgroup-variables and specifies that only the first occurrence of repeated, adjacent group values be labeled on the horizontal axis.\",\"type\":\"standalone\"},{\"name\":\"NOTRANSPARENCY\",\"optional\":true,\"description\":\"Disables transparency in ODS Graphics output, so that all graph features are opaque.\",\"type\":\"standalone\"},{\"name\":\"NOTRENDCONNECT\",\"optional\":true,\"description\":\"Suppresses line segments that connect points on a trend chart.\",\"type\":\"standalone\"},{\"name\":\"NOTRUNC\",\"optional\":true,\"description\":\"Overrides the vertical axis truncation at zero.\",\"type\":\"standalone\"},{\"name\":\"NOUCL\",\"optional\":true,\"description\":\"Suppresses the display of the upper control limit in a primary chart.\",\"type\":\"standalone\"},{\"name\":\"NOUCL2\",\"optional\":true,\"description\":\"suppresses the display of the upper control limit in a secondary chart.\",\"type\":\"standalone\"},{\"name\":\"NOVANGLE\",\"optional\":true,\"description\":\"Requests that the vertical axis label be strung out vertically.\",\"type\":\"standalone\"},{\"name\":\"NPANELPOS=\",\"optional\":true,\"aliases\":[\"NPANEL=\"],\"description\":\"Specifies the number of subgroup positions per panel on each chart.\",\"help\":\"NPANELPOS=*n*\",\"type\":\"value\"},{\"name\":\"NPSYMBOL=\",\"optional\":true,\"description\":\"Specifies a label for the central line in an np chart.\",\"help\":\"NPSYMBOL='*label*' | NP | NPBAR | NPPM | NPPM2 | NP0\",\"type\":\"choice\",\"arguments\":[{\"name\":\"'label'\",\"placeholder\":true,\"description\":\"A quoted label up to 16 characters in length.\",\"type\":\"value\"},{\"name\":\"NP\",\"description\":\"NP\",\"type\":\"standalone\"},{\"name\":\"NPBAR\",\"description\":\"NPBAR\",\"type\":\"standalone\"},{\"name\":\"NPPM\",\"description\":\"NP'\",\"type\":\"standalone\"},{\"name\":\"NPPM2\",\"description\":\"NP''\",\"type\":\"standalone\"},{\"name\":\"NP0\",\"description\":\"NP0\",\"type\":\"standalone\"}]},{\"name\":\"ODSFOOTNOTE2=\",\"optional\":true,\"description\":\"Adds a secondary footnote to ODS Graphics output.\",\"help\":\"ODSFOOTNOTE2=FOOTNOTE2 | '*string*'\",\"type\":\"choice\",\"arguments\":[{\"name\":\"FOOTNOTE2\",\"description\":\"The value of SAS FOOTNOTE2 statement is used as the graph footnote.\",\"type\":\"standalone\"},{\"name\":\"'string'\",\"placeholder\":true,\"description\":\"A quoted string is used as the secondary footnote.\",\"type\":\"value\"}]},{\"name\":\"ODSFOOTNOTE=\",\"optional\":true,\"description\":\"Adds a footnote to ODS Graphics output.\",\"help\":\"ODSFOOTNOTE=FOOTNOTE | FOOTNOTE1 | '*string*'\",\"type\":\"choice\",\"arguments\":[{\"name\":\"FOOTNOTE\",\"description\":\"The value of SAS FOOTNOTE statement is used as the graph footnote.\",\"type\":\"standalone\"},{\"name\":\"FOOTNOTE1\",\"description\":\"The value of SAS FOOTNOTE statement is used as the graph footnote.\",\"type\":\"standalone\"},{\"name\":\"'string'\",\"placeholder\":true,\"description\":\"A quoted string is used as the graph footnote.\",\"type\":\"value\"}]},{\"name\":\"ODSLEGENDEXPAND\",\"optional\":true,\"description\":\"Specifies that legend entries contain all levels observed in the data.\",\"type\":\"standalone\"},{\"name\":\"ODSTITLE2=\",\"optional\":true,\"description\":\"Specifies a secondary title for ODS Graphics output.\",\"help\":\"ODSTITLE2=TITLE2 | '*string*'\",\"type\":\"choice\",\"arguments\":[{\"name\":\"TITLE2\",\"description\":\"Uses the value of SAS TITLE2 statement as the secondary graph title.\",\"type\":\"standalone\"},{\"name\":\"'string'\",\"placeholder\":true,\"description\":\"A quoted string is used as the secondary title.\",\"type\":\"value\"}]},{\"name\":\"ODSTITLE=\",\"optional\":true,\"description\":\"Specifies a title for ODS Graphics output.\",\"help\":\"ODSTITLE=TITLE | TITLE1 | NONE | DEFAULT | LABELFMT | '*string*'\",\"type\":\"choice\",\"arguments\":[{\"name\":\"TITLE\",\"description\":\"Uses the value of SAS TITLE statement as the graph title.\",\"type\":\"standalone\"},{\"name\":\"TITLE1\",\"description\":\"Uses the value of SAS TITLE statement as the graph title.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"Suppresses all titles from the graph.\",\"type\":\"standalone\"},{\"name\":\"DEFAULT\",\"description\":\"Uses the default ODS Graphics title (a descriptive title consisting of the plot type and the process variable name.)\",\"type\":\"standalone\"},{\"name\":\"LABELFMT\",\"description\":\"Uses the default ODS Graphics title with the variable label instead of the variable name.\",\"type\":\"standalone\"},{\"name\":\"'string'\",\"placeholder\":true,\"description\":\"A quoted string is used as the graph title.\",\"type\":\"value\"}]},{\"name\":\"OUTBOX=\",\"optional\":true,\"description\":\"Creates an output data set that contains subgroup summary statistics, control limits, and outlier values for a box chart.\",\"help\":\"OUTBOX=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"OUTFILL\",\"optional\":true,\"description\":\"Fills the areas outside the control limits that lie between the connected points and the control limits and are bounded by connecting lines.\",\"type\":\"standalone\"},{\"name\":\"OUTFILLOPACITY=\",\"optional\":true,\"description\":\"Specifies the control limit outfill opacity when transparency is used in ODS Graphics output. The value must be between 0 and 1, where 0 is completely transparent and 1 is completely opaque. The default control limit outfill opacity is 0.25.\",\"help\":\"OUTFILLOPACITY=*value*\",\"type\":\"value\"},{\"name\":\"OUTHIGHHTML=\",\"optional\":true,\"description\":\"Specifies a variable whose values are URLs to be associated with outlier points above the upper fence on a schematic box plot when graphics output is directed into HTML.\",\"help\":\"OUTHIGHHTML=*variable*\",\"type\":\"value\"},{\"name\":\"OUTHISTORY=\",\"optional\":true,\"description\":\"Creates an output data set that contains the subgroup summary statistics.\",\"help\":\"OUTHISTORY=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"OUTINDEX=\",\"optional\":true,\"description\":\"Specifies the value of the _INDEX_ variable in the OUTLIMITS= output data set.\",\"help\":\"OUTINDEX='*label*'\",\"type\":\"value\"},{\"name\":\"OUTLABEL2=\",\"optional\":true,\"description\":\"Labels each point that falls outside the control limits on an R or s chart with the VALUE plotted for that subgroup or with the value of a variable in the input data set.\",\"type\":\"value\"},{\"name\":\"OUTLABEL=\",\"optional\":true,\"description\":\"Labels each point that falls outside the control limits on the primary chart with the VALUE plotted for that subgroup or with the value of a variable in the input data set.\",\"type\":\"value\"},{\"name\":\"OUTLIMITS=\",\"optional\":true,\"description\":\"Creates an output data set that saves the control limits.\",\"help\":\"OUTLIMITS=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"OUTLOWHTML=\",\"optional\":true,\"description\":\"Specifies a variable whose values are URLs to be associated with outlier points below the lower fence on a schematic box plot when graphics output is directed into HTML.\",\"help\":\"OUTLOWHTML=*variable*\",\"type\":\"value\"},{\"name\":\"OUTPHASE=\",\"optional\":true,\"description\":\"Specifies the value of the _PHASE_ variable in the OUTHISTORY= data set.\",\"help\":\"OUTPHASE='*label*'\",\"type\":\"value\"},{\"name\":\"OUTTABLE=\",\"optional\":true,\"description\":\"Creates an output SAS data set that saves the information plotted on the chart, including the subgroup variable values and their corresponding summary statistics and control limits.\",\"help\":\"OUTTABLE=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"OVERLAY2=\",\"optional\":true,\"description\":\"Specifies variables to be overlaid on a secondary control chart.\",\"type\":\"value\"},{\"name\":\"OVERLAY2HTML=\",\"optional\":true,\"description\":\"Specifies variables whose values are URLs to be associated with points on secondary chart overlays.\",\"type\":\"value\"},{\"name\":\"OVERLAY2ID=\",\"optional\":true,\"description\":\"Specifies variables whose formatted values are used to label points on secondary chart overlays.\",\"type\":\"value\"},{\"name\":\"OVERLAY2SYM=\",\"optional\":true,\"description\":\"Specifies symbols used to plot overlays on a secondary control chart.\",\"type\":\"value\"},{\"name\":\"OVERLAY=\",\"optional\":true,\"description\":\"Specifies variables to be overlaid on the primary control chart.\",\"type\":\"value\"},{\"name\":\"OVERLAYCLIPSYM=\",\"optional\":true,\"description\":\"Specifies the symbol used to plot clipped values on overlay plots when the CLIPFACTOR= option is used.\",\"help\":\"OVERLAYCLIPSYM=*symbol*\",\"type\":\"value\"},{\"name\":\"OVERLAYCLIPSYMHT=\",\"optional\":true,\"description\":\"Specifies the height for the symbol used to plot clipped values on overlay plots when the CLIPFACTOR= option is used.\",\"help\":\"OVERLAYCLIPSYMHT=*value*\",\"type\":\"value\"},{\"name\":\"OVERLAYHTML=\",\"optional\":true,\"description\":\"Specifies variables whose values are URLs to be associated with points on primary chart overlays.\",\"type\":\"value\"},{\"name\":\"OVERLAYID=\",\"optional\":true,\"description\":\"Specifies variables whose formatted values are used to label points on primary chart overlays.\",\"type\":\"value\"},{\"name\":\"OVERLAYLEGLAB=\",\"optional\":true,\"description\":\"Specifies the label displayed to the left of the overlay legend produced by the OVERLAY= or OVERLAY2= option. The label can be up to 16 characters and must be enclosed in quotes. The default label is \\\"Overlays:\\\".\",\"help\":\"OVERLAYLEGLAB='*label*'\",\"type\":\"value\"},{\"name\":\"OVERLAYSYM=\",\"optional\":true,\"description\":\"Specifies symbols used to plot overlays on the primary control chart.\",\"type\":\"value\"},{\"name\":\"OVERLAYSYMHT=\",\"optional\":true,\"description\":\"Specifies the heights of symbols used to plot overlays on the primary control chart.\",\"type\":\"value\"},{\"name\":\"P0=\",\"optional\":true,\"description\":\"Specifies a known (standard) value po for the proportion of nonconforming items produced by the process.\",\"help\":\"P0=*value*\",\"type\":\"value\"},{\"name\":\"PAGENUM=\",\"optional\":true,\"description\":\"Specifies the form of the label used for pagination. The string can be up to 16 characters, and it must include one or two occurrences of the substitution character '#'. The first '#' is replaced with the page number, and the optional second '#' is replaced with the total number of pages.\",\"help\":\"PAGENUM='*string*'\",\"type\":\"value\"},{\"name\":\"PAGENUMPOS=\",\"optional\":true,\"description\":\"Specifies where to position the page number requested with the PAGENUM= option.\",\"help\":\"PAGENUMPOS=TL | TR | BL | BR | TL100 | TR100 | BL0 | BR0\",\"type\":\"choice\",\"arguments\":[{\"name\":\"TL\",\"description\":\"Top left\",\"type\":\"standalone\"},{\"name\":\"TR\",\"description\":\"Top right\",\"type\":\"standalone\"},{\"name\":\"BL\",\"description\":\"Bottom left\",\"type\":\"standalone\"},{\"name\":\"BR\",\"description\":\"Bottom right\",\"type\":\"standalone\"},{\"name\":\"TL100\",\"description\":\"Top left. TL100 ensures that the page number appears at the very top of a page when a title is displayed.\",\"type\":\"standalone\"},{\"name\":\"TR100\",\"description\":\"Top right. TR100 ensures that the page number appears at the very top of a page when a title is displayed.\",\"type\":\"standalone\"},{\"name\":\"BL0\",\"description\":\"Bottom left. BL0 ensures that the page number appears at the very bottom of a page when footnotes are displayed.\",\"type\":\"standalone\"},{\"name\":\"BR0\",\"description\":\"Bottom right. BR0 ensures that the page number appears at the very bottom of a page when footnotes are displayed.\",\"type\":\"standalone\"}]},{\"name\":\"PCTLDEF=\",\"optional\":true,\"description\":\"Specifies one of five definitions used to calculate percentiles in the construction of box-and-whiskers plots requested with the BOXCHART statement.\",\"help\":\"PCTLDEF=1 | 2 | 3 | 4 | 5\",\"type\":\"choice\",\"arguments\":[{\"name\":\"1\",\"description\":\"Definition 1 for computing quantile statistics\",\"type\":\"standalone\"},{\"name\":\"2\",\"description\":\"Definition 2 for computing quantile statistics\",\"type\":\"standalone\"},{\"name\":\"3\",\"description\":\"Definition 3 for computing quantile statistics\",\"type\":\"standalone\"},{\"name\":\"4\",\"description\":\"Definition 4 for computing quantile statistics\",\"type\":\"standalone\"},{\"name\":\"5\",\"description\":\"Definition 5 for computing quantile statistics\",\"type\":\"standalone\"}]},{\"name\":\"PHASEBOXLABELS\",\"optional\":true,\"description\":\"Draws phase labels as titles along the top of phase boxes.\",\"type\":\"standalone\"},{\"name\":\"PHASEBREAK\",\"optional\":true,\"description\":\"Specifies that the last point in a phase (defined as a block of consecutive subgroups with the same value of the _PHASE_ variable) is not to be connected to the first point in the next phase.\",\"type\":\"standalone\"},{\"name\":\"PHASELABTYPE=\",\"optional\":true,\"description\":\"Specifies how lengthy _PHASE_ variable values are to be displayed when there is insufficient space in the legend requested with the PHASELEGEND option.\",\"help\":\"PHASELABTYPE=SCALED | TRUNCATED\",\"type\":\"choice\",\"arguments\":[{\"name\":\"SCALED\",\"description\":\"The values are uniformly reduced in height so that they fit.\",\"type\":\"standalone\"},{\"name\":\"TRUNCATED\",\"description\":\"Lengthy values are truncated on the right until they fit.\",\"type\":\"standalone\"}]},{\"name\":\"PHASELEGEND\",\"optional\":true,\"aliases\":[\"PHASELEG\"],\"description\":\"Identifies the phases requested with the READPHASES= option in a legend across the top of the chart.\",\"type\":\"standalone\"},{\"name\":\"PHASELIMITS\",\"optional\":true,\"description\":\"Specifies that the control limits and center line are to be labeled for each phase specified with the READPHASES= option, providing the limits are constant within that phase.\",\"type\":\"standalone\"},{\"name\":\"PHASEMEANSYMBOL=\",\"optional\":true,\"description\":\"Specifies a symbol marker for the average of the values plotted within a phase.\",\"help\":\"PHASEMEANSYMBOL=*symbol*\",\"type\":\"value\"},{\"name\":\"PHASEPOS=\",\"optional\":true,\"description\":\"Specifies the vertical position of the phase legend.\",\"help\":\"PHASEPOS=1 | 2 | 3 | 4\",\"type\":\"choice\",\"arguments\":[{\"name\":\"1\",\"description\":\"Top of chart, offset from axis frame\",\"type\":\"standalone\"},{\"name\":\"2\",\"description\":\"Top of chart, immediately above axis frame\",\"type\":\"standalone\"},{\"name\":\"3\",\"description\":\"Bottom of chart, immediately above horizontal axis\",\"type\":\"standalone\"},{\"name\":\"4\",\"description\":\"Bottom of chart, below horizontal axis label\",\"type\":\"standalone\"}]},{\"name\":\"PHASEREF\",\"optional\":true,\"description\":\"Delineates the phases specified with the READPHASES= option with reference lines drawn vertically.\",\"type\":\"standalone\"},{\"name\":\"PHASEREFLEVEL=\",\"optional\":true,\"description\":\"Enables you to associate phase reference lines (block reference lines) with either the innermost or the outermost level.\",\"help\":\"PHASEREFLEVEL=INNER | OUTER | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"INNER\",\"description\":\"Associates phase reference lines (block reference lines) with the innermost level.\",\"type\":\"standalone\"},{\"name\":\"OUTER\",\"description\":\"Associates phase reference lines (block reference lines) with the outermost level.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"No association of phase reference lines (block reference lines) with the innermost or outermost level.\",\"type\":\"standalone\"}]},{\"name\":\"PHASEVALSEP\",\"optional\":true,\"description\":\"Displays vertical lines separating phase values in the phase legend.\",\"type\":\"standalone\"},{\"name\":\"PHASEVARLABEL\",\"optional\":true,\"description\":\"Displays the label associated with the variable _PHASE_ above the phase values in the phase legend.\",\"type\":\"standalone\"},{\"name\":\"POINTSHTML=\",\"optional\":true,\"description\":\"Specifies a variable whose values are URLs to be associated with points on a box chart when the BOXSTYLE= value is POINTS, POINTSJOIN, POINTSBOX, POINTSID, or POINTSJOINID.\",\"help\":\"POINTSHTML=*variable*\",\"type\":\"value\"},{\"name\":\"PSYMBOL=\",\"optional\":true,\"description\":\"Specifies a label for the central line in a P chart.\",\"help\":\"PSYMBOL=P | PBAR | PPM | PPM2 | P0 | '*label*'\",\"type\":\"choice\",\"arguments\":[{\"name\":\"P\",\"description\":\"P\",\"type\":\"standalone\"},{\"name\":\"PBAR\",\"description\":\"PBAR\",\"type\":\"standalone\"},{\"name\":\"PPM\",\"description\":\"P'\",\"type\":\"standalone\"},{\"name\":\"PPM2\",\"description\":\"P''\",\"type\":\"standalone\"},{\"name\":\"P0\",\"description\":\"Po\",\"type\":\"standalone\"},{\"name\":\"'label'\",\"placeholder\":true,\"description\":\"Specifies a quoted label up to 16 characters.\",\"type\":\"value\"}]},{\"name\":\"RANGES\",\"optional\":true,\"description\":\"Estimates the process standard deviation for a boxplot using subgroup ranges.\",\"type\":\"standalone\"},{\"name\":\"READALPHA\",\"optional\":true,\"description\":\"Specifies that the variable _ALPHA_, rather than the variable _SIGMAS_, is to be read from a LIMITS= data set when both variables are available in the data set.\",\"type\":\"standalone\"},{\"name\":\"READINDEX=\",\"optional\":true,\"aliases\":[\"READINDEXES=\",\"READINDICES=\"],\"description\":\"Reads one or more sets of control limits from a LIMITS= data set (specified in the PROC SHEWHART statement) for each process listed in the chart statement.\",\"type\":\"value\"},{\"name\":\"READLIMITS\",\"optional\":true,\"description\":\"Specifies that the control limits are to be read from a LIMITS= data set specified in the PROC SHEWHART statement.\",\"type\":\"standalone\"},{\"name\":\"READPHASES=\",\"optional\":true,\"aliases\":[\"READPHASE=\"],\"description\":\"Selects blocks of consecutive observations to be read from the input data set.\",\"type\":\"value\"},{\"name\":\"REPEAT\",\"optional\":true,\"aliases\":[\"REP\"],\"description\":\"Specifies that the horizontal axis of a chart that spans multiple panels be arranged so that the last subgroup position on a panel is repeated as the first subgroup position on the next panel.\",\"type\":\"standalone\"},{\"name\":\"RSYMBOL=\",\"optional\":true,\"description\":\"Specifies a label for the central line in an R chart.\",\"help\":\"RSYMBOL=R | RBAR | RPM | R0 | '*label*'\",\"type\":\"choice\",\"arguments\":[{\"name\":\"R\",\"description\":\"R\",\"type\":\"standalone\"},{\"name\":\"RBAR\",\"description\":\"RBAR\",\"type\":\"standalone\"},{\"name\":\"RPM\",\"description\":\"R'\",\"type\":\"standalone\"},{\"name\":\"R0\",\"description\":\"Ro\",\"type\":\"standalone\"},{\"name\":\"'label'\",\"placeholder\":true,\"description\":\"Specifies a quoted label up to 16 characters.\",\"type\":\"value\"}]},{\"name\":\"RTMARGIN=\",\"optional\":true,\"description\":\"Specifies the width of the right marginal area for the plot requested with the RTMPLOT= option.\",\"help\":\"RTMARGIN=*value*\",\"type\":\"value\"},{\"name\":\"RTMPLOT=\",\"optional\":true,\"description\":\"Requests a univariate plot of the control chart statistics that is positioned in the right margin of the control chart.\",\"help\":\"RTMPLOT=DIGIDOT | HISTOGRAM | SKELETAL | SCHEMATIC | SCHEMATICID | SCHEMATICIDFAR\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DIGIDOT\",\"description\":\"Digidot plot\",\"type\":\"standalone\"},{\"name\":\"HISTOGRAM\",\"description\":\"Histogram\",\"type\":\"standalone\"},{\"name\":\"SKELETAL\",\"description\":\"Skeletal box-and-whisker plot\",\"type\":\"standalone\"},{\"name\":\"SCHEMATIC\",\"description\":\"Schematic box-and-whisker plot\",\"type\":\"standalone\"},{\"name\":\"SCHEMATICID\",\"description\":\"Schematic box-and-whisker plot with outliers labeled\",\"type\":\"standalone\"},{\"name\":\"SCHEMATICIDFAR\",\"description\":\"Schematic box-and-whisker plot with far outliers labeled\",\"type\":\"standalone\"}]},{\"name\":\"SEPARATE\",\"optional\":true,\"description\":\"Displays primary and secondary charts on separate screens or pages.\",\"type\":\"standalone\"},{\"name\":\"SERIFS\",\"optional\":true,\"description\":\"Adds serifs to the whiskers of skeletal box-and-whisker charts.\",\"type\":\"standalone\"},{\"name\":\"SIGMA0=\",\"optional\":true,\"description\":\"Specifies a known (standard) value, σ0, for the process standard deviation, σ.\",\"help\":\"SIGMA0=*value*\",\"type\":\"value\"},{\"name\":\"SIGMAS=\",\"optional\":true,\"description\":\"Specifies the width of the control limits in terms of the multiple k of the standard error of the subgroup summary statistic plotted on the chart. The value of k must be positive. By default, k=3.\",\"help\":\"SIGMAS=*k*\",\"type\":\"value\"},{\"name\":\"SIMULATEQCFONT\",\"optional\":true,\"description\":\"Draws the central line labels using a simulated software font rather than a hardware font.\",\"type\":\"standalone\"},{\"name\":\"SKIPHLABELS=\",\"optional\":true,\"aliases\":[\"SKIPLABEL=\"],\"description\":\"Specifies the number n of consecutive tick mark labels, beginning with the second tick mark label, that are thinned (not displayed) on the horizontal (subgroup) axis.\",\"help\":\"SKIPHLABELS=*n*\",\"type\":\"value\"},{\"name\":\"SMETHOD=\",\"optional\":true,\"description\":\"Specifies a method for estimating the process standard deviation, σ.\",\"help\":\"SMETHOD=NOWEIGHT | MVLUE | RMSDF | MAD | MMR | MVGRANGE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NOWEIGHT\",\"description\":\"Estimates σ as an unweighted average of unbiased subgroup estimates of σ.\",\"type\":\"standalone\"},{\"name\":\"MVLUE\",\"description\":\"Calculates a minimum variance linear unbiased estimate for σ\",\"type\":\"standalone\"},{\"name\":\"RMSDF\",\"description\":\"Calculates a root-mean square estimate for σ\",\"type\":\"standalone\"},{\"name\":\"MAD\",\"description\":\"Calculates a median absolute deviation estimate for σ (IRCHART only)\",\"type\":\"standalone\"},{\"name\":\"MMR\",\"description\":\"Calculates a median moving range estimate for σ (IRCHART only)\",\"type\":\"standalone\"},{\"name\":\"MVGRANGE\",\"description\":\"Estimates σ based on a moving range of subgroup means (XRCHART and XSCHART only)\",\"type\":\"standalone\"}]},{\"name\":\"SPLIT=\",\"optional\":true,\"description\":\"Specifies a special character that is inserted into the label of a process variable or summary statistic variable and whose purpose is to split the label into two parts.\",\"help\":\"SPLIT='*character*'\",\"type\":\"value\"},{\"name\":\"SSYMBOL=\",\"optional\":true,\"description\":\"Specifies a label for the central line in an S chart.\",\"help\":\"SSYMBOL=S | SBAR | SPM | S0 | '*label*'\",\"type\":\"choice\",\"arguments\":[{\"name\":\"S\",\"description\":\"S\",\"type\":\"standalone\"},{\"name\":\"SBAR\",\"description\":\"SBAR\",\"type\":\"standalone\"},{\"name\":\"SPM\",\"description\":\"S'\",\"type\":\"standalone\"},{\"name\":\"S0\",\"description\":\"So\",\"type\":\"standalone\"},{\"name\":\"'label'\",\"placeholder\":true,\"description\":\"Specifies a quoted label up to 16 characters.\",\"type\":\"value\"}]},{\"name\":\"STARBDRADIUS=\",\"optional\":true,\"description\":\"Specifies the radius of an imaginary circle that is the outer bound for vertices of stars requested with the STARVERTICES= option.\",\"help\":\"STARBDRADIUS=*value*\",\"type\":\"value\"},{\"name\":\"STARCIRCLES=\",\"optional\":true,\"description\":\"Specifies reference circles that are superimposed on the stars requested with the STARVERTICES= option.\",\"help\":\"STARCIRCLES=*values*\",\"type\":\"value\"},{\"name\":\"STARFILL=\",\"optional\":true,\"description\":\"Specifies colors for filling the interior of stars requested with the STARVERTICES= option.\",\"help\":\"STARFILL=*variable*\",\"type\":\"value\"},{\"name\":\"STARINRADIUS=\",\"optional\":true,\"description\":\"Specifies the inner radius of stars requested with the STARVERTICES= option. For traditional graphics, the radius is specified in horizontal percent screen units. For ODS Graphics output, the radius is specified in pixels.\",\"help\":\"STARINRADIUS=*value*\",\"type\":\"value\"},{\"name\":\"STARLABEL=\",\"optional\":true,\"description\":\"Specifies a method for labeling the vertices of stars requested with the STARVERTICES= option.\",\"help\":\"STARLABEL=ALL | FIRST | HIGH | LOW | OUT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ALL\",\"description\":\"Labels all vertices of all stars.\",\"type\":\"standalone\"},{\"name\":\"FIRST\",\"description\":\"Labels all vertices of the leftmost star.\",\"type\":\"standalone\"},{\"name\":\"HIGH\",\"description\":\"Labels only vertices that lie outside the outer circle.\",\"type\":\"standalone\"},{\"name\":\"LOW\",\"description\":\"Labels only vertices that lie inside the inner circle.\",\"type\":\"standalone\"},{\"name\":\"OUT\",\"description\":\"Labels only vertices that lie inside the inner circle or outside the outer circle.\",\"type\":\"standalone\"}]},{\"name\":\"STARLEGEND=\",\"optional\":true,\"description\":\"Specifies the style of the legend used to identify the vertices of stars requested with the STARVERTICES= option.\",\"help\":\"STARLEGEND=CLOCK | CLOCK0 | DEGREES | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"CLOCK\",\"description\":\"Identifies the vertex variables by their positions on the clock (starting with 12:00)\",\"type\":\"standalone\"},{\"name\":\"CLOCK0\",\"description\":\"Identifies the vertex variables by their positions on the clock (starting with 0:00)\",\"type\":\"standalone\"},{\"name\":\"DEGREES\",\"description\":\"Identifies the vertex variables by angles in degrees, with 0 degrees corresponding to 12 o'clock\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"Suppresses the legend.\",\"type\":\"standalone\"}]},{\"name\":\"STARLEGENDLAB=\",\"optional\":true,\"description\":\"Specifies the label displayed to the left of the legend for stars requested with the STARLEGEND= option. The label can be up to 16 characters and must be enclosed in quotes.\",\"help\":\"STARLEGENDLAB='*label*'\",\"type\":\"value\"},{\"name\":\"STAROPACITY=\",\"optional\":true,\"description\":\"Specifies the star fill opacity when transparency is used in ODS Graphics output. The value must be between 0 and 1, where 0 is completely transparent and 1 is completely opaque. The default star fill opacity is 0.75.\",\"help\":\"STAROPACITY=*value*\",\"type\":\"value\"},{\"name\":\"STAROUTRADIUS=\",\"optional\":true,\"description\":\"Specifies the outer radius of stars requested with the STARVERTICES= option.\",\"help\":\"STAROUTRADIUS=*value*\",\"type\":\"value\"},{\"name\":\"STARS=\",\"optional\":true,\"description\":\"Specifies colors for the outlines of stars requested with the STARVERTICES= option.\",\"help\":\"STARS=*variable*\",\"type\":\"value\"},{\"name\":\"STARSPECS=\",\"optional\":true,\"aliases\":[\"STARSPEC=\"],\"description\":\"Specifies the method used to standardize the star vertex variables listed with the STARVERTICES= option.\",\"type\":\"value\"},{\"name\":\"STARSTART=\",\"optional\":true,\"description\":\"Specifies the vertex angle for the first variable in the STARVERTICES= list.\",\"help\":\"STARSTART=*value*\",\"type\":\"value\"},{\"name\":\"STARTYPE=\",\"optional\":true,\"description\":\"Specifies the style of the stars requested with the STARVERTICES= option.\",\"help\":\"STARTYPE=CORONA | POLYGON | RADIAL | SPOKE | WEDGE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"CORONA\",\"description\":\"Polygon with star-vertices emanating from the inner circle\",\"type\":\"standalone\"},{\"name\":\"POLYGON\",\"description\":\"Closed polygon\",\"type\":\"standalone\"},{\"name\":\"RADIAL\",\"description\":\"Rays emanating from the center\",\"type\":\"standalone\"},{\"name\":\"SPOKE\",\"description\":\"Rays emanating from the inner circle\",\"type\":\"standalone\"},{\"name\":\"WEDGE\",\"description\":\"Closed polygon with rays from the center to each vertex\",\"type\":\"standalone\"}]},{\"name\":\"STARVERTICES=\",\"optional\":true,\"description\":\"Superimposes a star (polygon) at each point on the primary chart.\",\"type\":\"value\"},{\"name\":\"STDDEVIATIONS\",\"optional\":true,\"aliases\":[\"STDDEVS\"],\"description\":\"Specifies that the estimate of the process standard deviation, σ, is to be calculated from subgroup standard deviations.\",\"type\":\"standalone\"},{\"name\":\"SUBGROUPN=\",\"optional\":true,\"description\":\"Specifies the subgroup sample sizes as a constant value or as the values of a variable in the DATA= data set.\",\"help\":\"SUBGROUPN=*value*\",\"type\":\"value\"},{\"name\":\"SYMBOLCHARS=\",\"optional\":true,\"description\":\"Specifies a list of characters used to mark the points plotted on line printer charts when a symbol-variable is used.\",\"help\":\"SYMBOLCHARS='*character-list*'\",\"type\":\"value\"},{\"name\":\"SYMBOLLEGEND=\",\"optional\":true,\"description\":\"Controls the legend for the levels of a symbol-variable.\",\"help\":\"SYMBOLLEGEND=LEGENDn | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"LEGENDn\",\"description\":\"You can specify SYMBOLLEGEND=LEGENDn, where n is the number of a LEGEND statement defined previously.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"Suppresses the default legend.\",\"type\":\"standalone\"}]},{\"name\":\"SYMBOLORDER=\",\"optional\":true,\"aliases\":[\"SYMORD=\"],\"description\":\"Specifies the order in which symbols are assigned for levels of the symbol-variable.\",\"help\":\"SYMBOLORDER=DATA | INTERNAL | FORMATTED\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DATA\",\"description\":\"Assigns symbols to values in the order in which values appear in the input data set.\",\"type\":\"standalone\"},{\"name\":\"INTERNAL\",\"description\":\"Assigns symbols based on sorted order of internal values of the symbol variable\",\"type\":\"standalone\"},{\"name\":\"FORMATTED\",\"description\":\"Assigns them based on sorted formatted values.\",\"type\":\"standalone\"}]},{\"name\":\"TABLEALL\",\"optional\":true,\"description\":\"Tabulates the information about the control chart and is equivalent to specifying all of the following options: TABLES, TABLECENTRAL, TABLEID, TABLELEGEND, TABLEOUT, and TABLETESTS. The keyword EXCEPTIONS restricts the tabulation to those subgroups for which the control limits are exceeded or a test for special causes is positive.\",\"help\":\"TABLEALL&lt;(EXCEPTIONS)&gt;\",\"type\":\"standaloneOrValue\",\"arguments\":[{\"name\":\"(EXCEPTIONS)\",\"description\":\"Restricts the tabulation to those subgroups for which the control limits are exceeded or a test for special causes is positive.\",\"type\":\"standalone\"}]},{\"name\":\"TABLEBOX\",\"optional\":true,\"description\":\"Augments the basic table created by the TABLES option with columns for the minimum, 25th percentile, median, 75th percentile, and maximum of the observations in a subgroup. The keyword EXCEPTIONS restricts the tabulation to those subgroups for which the control limits are exceeded or a test for special causes is positive.\",\"help\":\"TABLEBOX&lt;(EXCEPTIONS)&gt;\",\"type\":\"standaloneOrValue\",\"arguments\":[{\"name\":\"(EXCEPTIONS)\",\"description\":\"Restricts the tabulation to those subgroups for which the control limits are exceeded or a test for special causes is positive.\",\"type\":\"standalone\"}]},{\"name\":\"TABLECENTRAL\",\"optional\":true,\"aliases\":[\"TABLEC\"],\"description\":\"Augments the basic table created by the TABLES option with columns for the values of the central lines. The keyword EXCEPTIONS restricts the tabulation to those subgroups for which the control limits are exceeded or a test for special causes is positive.\",\"help\":\"TABLECENTRAL&lt;(EXCEPTIONS)&gt;\",\"type\":\"standaloneOrValue\",\"arguments\":[{\"name\":\"(EXCEPTIONS)\",\"description\":\"Restricts the tabulation to those subgroups for which the control limits are exceeded or a test for special causes is positive.\",\"type\":\"standalone\"}]},{\"name\":\"TABLEID\",\"optional\":true,\"description\":\"Augments the basic table created by the TABLES option with a column for each of the ID variables. The keyword EXCEPTIONS restricts the tabulation to those subgroups for which the control limits are exceeded or a test for special causes is positive.\",\"help\":\"TABLEID&lt;(EXCEPTIONS)&gt;\",\"type\":\"standaloneOrValue\",\"arguments\":[{\"name\":\"(EXCEPTIONS)\",\"description\":\"Restricts the tabulation to those subgroups for which the control limits are exceeded or a test for special causes is positive.\",\"type\":\"standalone\"}]},{\"name\":\"TABLELEGEND\",\"optional\":true,\"aliases\":[\"TABLELEG\"],\"description\":\"Adds a legend to the basic table created by the TABLES option. The keyword EXCEPTIONS restricts the tabulation to those subgroups for which the control limits are exceeded or a test for special causes is positive.\",\"help\":\"TABLELEGEND&lt;(EXCEPTIONS)&gt;\",\"type\":\"standaloneOrValue\",\"arguments\":[{\"name\":\"(EXCEPTIONS)\",\"description\":\"Restricts the tabulation to those subgroups for which the control limits are exceeded or a test for special causes is positive.\",\"type\":\"standalone\"}]},{\"name\":\"TABLEOUTLIM\",\"optional\":true,\"aliases\":[\"TABLEOUT\"],\"description\":\"Augments the basic table created by the TABLES option with columns indicating which control limits (if any) are exceeded. The keyword EXCEPTIONS restricts the tabulation to those subgroups for which the control limits are exceeded or a test for special causes is positive.\",\"help\":\"TABLEOUTLIM&lt;(EXCEPTIONS)&gt;\",\"type\":\"standaloneOrValue\",\"arguments\":[{\"name\":\"(EXCEPTIONS)\",\"description\":\"Restricts the tabulation to those subgroups for which the control limits are exceeded or a test for special causes is positive.\",\"type\":\"standalone\"}]},{\"name\":\"TABLES\",\"optional\":true,\"aliases\":[\"TABLE\"],\"description\":\"Creates a basic table of the subgroup values, the subgroup sample sizes, the subgroup summary statistics, and the upper and lower control limits. Rows of the table correspond to subgroups. The keyword EXCEPTIONS restricts the tabulation to those subgroups for which the control limits are exceeded or a test for special causes is positive.\",\"help\":\"TABLES&lt;(EXCEPTIONS)&gt;\",\"type\":\"standaloneOrValue\",\"arguments\":[{\"name\":\"(EXCEPTIONS)\",\"description\":\"Restricts the tabulation to those subgroups for which the control limits are exceeded or a test for special causes is positive.\",\"type\":\"standalone\"}]},{\"name\":\"TABLETESTS\",\"optional\":true,\"description\":\"Augments the basic table created by the TABLES option with a column that indicates which of the tests for special causes (requested with the TESTS= option) are positive. The keyword EXCEPTIONS restricts the tabulation to those subgroups for which the control limits are exceeded or a test for special causes is positive.\",\"help\":\"TABLETESTS&lt;(EXCEPTIONS)&gt;\",\"type\":\"standaloneOrValue\",\"arguments\":[{\"name\":\"(EXCEPTIONS)\",\"description\":\"Restricts the tabulation to those subgroups for which the control limits are exceeded or a test for special causes is positive.\",\"type\":\"standalone\"}]},{\"name\":\"TARGET=\",\"optional\":true,\"description\":\"Provides target values used to compute the capability index Cpm, which is saved in the OUTLIMITS= data set.\",\"help\":\"TARGET=*value-list*\",\"type\":\"value\"},{\"name\":\"TEST2RESET=\",\"optional\":true,\"description\":\"Enables tests for special causes to be reset in a secondary chart. The specified variable must be a character variable of length 8, or length 16 if customized tests are requested.\",\"help\":\"TEST2RESET=*variable*\",\"type\":\"value\"},{\"name\":\"TEST2RUN=\",\"optional\":true,\"description\":\"Specifies the length of the pattern for Test 2 requested with the TESTS= and TESTS2= options.\",\"help\":\"TEST2RUN=7 | 8 | 9 | 11 | 14 | 20\",\"type\":\"choice\",\"arguments\":[{\"name\":\"7\",\"description\":\"7 in a row\",\"type\":\"standalone\"},{\"name\":\"8\",\"description\":\"8 in a row\",\"type\":\"standalone\"},{\"name\":\"9\",\"description\":\"9 in a row\",\"type\":\"standalone\"},{\"name\":\"11\",\"description\":\"At least 10 out of 11 in a row\",\"type\":\"standalone\"},{\"name\":\"14\",\"description\":\"At least 12 out of 14 in a row\",\"type\":\"standalone\"},{\"name\":\"20\",\"description\":\"At least 16 out of 20 in a row\",\"type\":\"standalone\"}]},{\"name\":\"TEST3RUN=\",\"optional\":true,\"description\":\"Specifies the length of the pattern for Test 3 requested with the TESTS= and TESTS2= options.\",\"help\":\"TEST3RUN=6 | 7 | 8\",\"type\":\"choice\",\"arguments\":[{\"name\":\"6\",\"description\":\"Length of the pattern is at least 6.\",\"type\":\"standalone\"},{\"name\":\"7\",\"description\":\"Length of the pattern is at least 7.\",\"type\":\"standalone\"},{\"name\":\"8\",\"description\":\"Length of the pattern is at least 8.\",\"type\":\"standalone\"}]},{\"name\":\"TESTACROSS\",\"optional\":true,\"description\":\"Specifies that tests for special causes requested with the TESTS= or TESTS2= options be applied without regard to phases (blocks of consecutive subgroups) determined by the READPHASES= option and the variable _PHASE_ in the input data set.\",\"type\":\"standalone\"},{\"name\":\"TESTCHAR=\",\"optional\":true,\"description\":\"Specifies the character for the line segments that connect any sequence of points for which a test for special causes (requested with the TESTS= or TESTS2= option) is positive. The default character is the number of the test (with values 1 to 8).\",\"help\":\"TESTCHAR='*character*'\",\"type\":\"value\"},{\"name\":\"TESTLABBOX\",\"optional\":true,\"description\":\"Requests that labels for subgroups with positive tests for special causes are positioned so they do not overlap. The labels are enclosed in boxes that are connected to the associated subgroup points with line segments.\",\"type\":\"standalone\"},{\"name\":\"TESTLABEL=\",\"optional\":true,\"description\":\"Provides labels for points at which one of the tests for special causes (requested with the TESTS= or TESTS2= option) is positive.\",\"help\":\"TESTLABEL=TESTINDEX | SPACE | NONE | '*label*' | (*variable*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"TESTINDEX\",\"description\":\"Labels points with the single-digit index that requested the test in a TESTS= or TESTS2= list.\",\"type\":\"standalone\"},{\"name\":\"SPACE\",\"description\":\"Request a label of the form Test k.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"Suppresses labeling.\",\"type\":\"standalone\"},{\"name\":\"'label'\",\"placeholder\":true,\"description\":\"A label of up to 16 characters enclosed in quotes.\",\"type\":\"value\"},{\"name\":\"(variable)\",\"placeholder\":true,\"description\":\"A variable (enclosed in parentheses) whose values are used as labels. The variable must be provided in the input data set, and it can be numeric or character.\",\"type\":\"value\"}]},{\"name\":\"TESTNMETHOD=\",\"optional\":true,\"description\":\"Applies the tests for special causes requested with the TESTS= and TESTS2= options to standardize test statistics when the subgroup sample sizes are not constant.\",\"help\":\"TESTNMETHOD=STANDARDIZE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"STANDARDIZE\",\"description\":\"Applies the tests for special causes requested with the TESTS= and TESTS2= options to standardize test statistics when the subgroup sample sizes are not constant.\",\"type\":\"standalone\"}]},{\"name\":\"TESTOVERLAP\",\"optional\":true,\"description\":\"Applies tests for special causes (requested with the TESTS= or TESTS2= option) to overlapping patterns of points.\",\"type\":\"standalone\"},{\"name\":\"TESTRESET=\",\"optional\":true,\"description\":\"Enables tests for special causes to be reset in a primary chart. The specified variable must be a character variable of length 8, or length 16 if customized tests are requested.\",\"help\":\"TESTRESET=*variable*\",\"type\":\"value\"},{\"name\":\"TESTS2=\",\"optional\":true,\"description\":\"Requests one or more tests for special causes for an R chart or s chart.\",\"help\":\"TESTS2=*index-list*\",\"type\":\"value\"},{\"name\":\"TESTS=\",\"optional\":true,\"description\":\"Requests one or more tests for special causes, which are also known as runs tests, pattern tests, and Western Electric rules.\",\"help\":\"TESTS=*index-list*\",\"type\":\"value\"},{\"name\":\"TESTSYMBOL=\",\"optional\":true,\"aliases\":[\"TESTSYM=\"],\"description\":\"Specifies the symbol for plotting subgroups with positive tests for special causes.\",\"help\":\"TESTSYMBOL=*symbol*\",\"type\":\"value\"},{\"name\":\"TESTSYMBOLHT=\",\"optional\":true,\"aliases\":[\"TESTSYMHT=\"],\"description\":\"Specifies the height of the symbol used to plot subgroups with positive tests for special causes.\",\"help\":\"TESTSYMBOLHT=*value*\",\"type\":\"value\"},{\"name\":\"TOTPANELS=\",\"optional\":true,\"description\":\"Specifies the total number of panels to be used to display the chart. This option overrides the NPANEL= option.\",\"help\":\"TOTPANELS=*n*\",\"type\":\"value\"},{\"name\":\"TRENDVAR=\",\"optional\":true,\"description\":\"Specifies a list of trend variables, one for each process listed in the chart statement.\",\"type\":\"value\"},{\"name\":\"TURNALL\",\"optional\":true,\"aliases\":[\"TURNOUT\"],\"description\":\"Turns the labels produced by the ALLLABEL=, ALLLABEL2=, OUTLABEL= and OUTLABEL2= options so that they are strung out vertically.\",\"type\":\"standalone\"},{\"name\":\"TURNHLABELS\",\"optional\":true,\"aliases\":[\"TURNHLABEL\"],\"description\":\"Turns the major tick mark labels for the horizontal (group) axis so that they are strung out vertically. By default, labels are arranged horizontally.\",\"type\":\"standalone\"},{\"name\":\"TYPE=\",\"optional\":true,\"description\":\"Specifies the value of the _TYPE_ variable in the OUTLIMITS= data set, which in turn indicates whether certain parameter variables in this data set represent estimates or standard (known) values.\",\"help\":\"TYPE=ESTIMATE | STDMU | STDSIGMA | STANDARD\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ESTIMATE\",\"description\":\"_MEAN_=estimate, _STDDEV_=estimate\",\"type\":\"standalone\"},{\"name\":\"STDMU\",\"description\":\"_MEAN_=standard, _STDDEV_=estimate\",\"type\":\"standalone\"},{\"name\":\"STDSIGMA\",\"description\":\"_MEAN_=estimate, _STDDEV_=standard\",\"type\":\"standalone\"},{\"name\":\"STANDARD\",\"description\":\"_MEAN_=standard, _STDDEV_=standard\",\"type\":\"standalone\"}]},{\"name\":\"U0=\",\"optional\":true,\"description\":\"Specifies a known (standard) value u0 for the average number u of nonconformities per unit produced by the process.\",\"help\":\"U0=*value*\",\"type\":\"value\"},{\"name\":\"UCLLABEL2=\",\"optional\":true,\"description\":\"Specifies a label for the upper control limit in the secondary chart. The label can be up to 16 characters. Enclose the label in quotes.\",\"help\":\"UCLLABEL2='*label*'\",\"type\":\"value\"},{\"name\":\"UCLLABEL=\",\"optional\":true,\"description\":\"Specifies a label for the upper control limit in the primary chart. The label can be up to 16 characters. Enclose the label in quotes.\",\"help\":\"UCLLABEL='*label*'\",\"type\":\"value\"},{\"name\":\"USL=\",\"optional\":true,\"description\":\"Provides upper specification limits used to compute capability indices.\",\"help\":\"USL=*value-list*\",\"type\":\"value\"},{\"name\":\"USYMBOL=\",\"optional\":true,\"description\":\"Specifies a label for the central line in a U chart.\",\"help\":\"USYMBOL=U | UBAR | UPM | UPM2 | U0 | '*label*'\",\"type\":\"choice\",\"arguments\":[{\"name\":\"U\",\"description\":\"U\",\"type\":\"standalone\"},{\"name\":\"UBAR\",\"description\":\"UBAR\",\"type\":\"standalone\"},{\"name\":\"UPM\",\"description\":\"U'\",\"type\":\"standalone\"},{\"name\":\"UPM2\",\"description\":\"U''\",\"type\":\"standalone\"},{\"name\":\"U0\",\"description\":\"Uo\",\"type\":\"standalone\"},{\"name\":\"'label'\",\"placeholder\":true,\"description\":\"Specifies a quoted label up to 16 characters.\",\"type\":\"value\"}]},{\"name\":\"VAXIS2=\",\"optional\":true,\"description\":\"Specifies major tick mark values for the vertical axis of a secondary chart. The values must be listed in increasing order, must be evenly spaced, and must span the range of values displayed in the chart.\",\"type\":\"value\"},{\"name\":\"VAXIS=\",\"optional\":true,\"description\":\"Specifies major tick mark values for the vertical axis of a primary chart. The values must be listed in increasing order, must be evenly spaced, and must span the range of values displayed in the chart.\",\"type\":\"value\"},{\"name\":\"VFORMAT2=\",\"optional\":true,\"description\":\"Specifies a format to be used for displaying tick mark labels on the vertical axis of a secondary chart.\",\"help\":\"VFORMAT2=*format*\",\"type\":\"value\"},{\"name\":\"VFORMAT=\",\"optional\":true,\"description\":\"Specifies a format to be used for displaying tick mark labels on the vertical axis of a primary chart.\",\"help\":\"VFORMAT=*format*\",\"type\":\"value\"},{\"name\":\"VMINOR=\",\"optional\":true,\"description\":\"Specifies the number of minor tick marks between major tick marks on the vertical axis. Minor tick marks are not labeled. By default, VMINOR=0.\",\"help\":\"VMINOR=*n*\",\"type\":\"value\"},{\"name\":\"VOFFSET=\",\"optional\":true,\"description\":\"Specifies the length in percent screen units of the offset at the ends of the vertical axis.\",\"help\":\"VOFFSET=*value*\",\"type\":\"value\"},{\"name\":\"VREF2=\",\"optional\":true,\"description\":\"Draws reference lines perpendicular to the vertical axis on the secondary chart.\",\"type\":\"value\"},{\"name\":\"VREF2LABELS=\",\"optional\":true,\"aliases\":[\"VREF2LAB=\"],\"description\":\"Specifies labels for the reference lines requested by the VREF2= option. The number of labels must equal the number of lines. Enclose each label in quotes. Labels can be up to 16 characters.\",\"type\":\"value\"},{\"name\":\"VREF=\",\"optional\":true,\"description\":\"Draws reference lines perpendicular to the vertical axis on the primary chart.\",\"type\":\"value\"},{\"name\":\"VREFCHAR=\",\"optional\":true,\"description\":\"Specifies the character used for reference lines requested by the VREF= and VREF2= options on line printer charts. The default is the hyphen (-).\",\"help\":\"VREFCHAR='*character*'\",\"type\":\"value\"},{\"name\":\"VREFLABELS=\",\"optional\":true,\"description\":\"Specifies labels for the reference lines requested by the VREF= option. The number of labels must equal the number of lines. Enclose each label in quotes. Labels can be up to 16 characters.\",\"type\":\"value\"},{\"name\":\"VREFLABPOS=\",\"optional\":true,\"description\":\"Specifies the horizontal position of the VREFLABEL= and VREF2LABEL= labels.\",\"help\":\"VREFLABPOS=1 | 2 | 3\",\"type\":\"choice\",\"arguments\":[{\"name\":\"1\",\"description\":\"Left-justified in subplot area\",\"type\":\"standalone\"},{\"name\":\"2\",\"description\":\"Right-justified in subplot area\",\"type\":\"standalone\"},{\"name\":\"3\",\"description\":\"Left-justified in right margin\",\"type\":\"standalone\"}]},{\"name\":\"VZERO\",\"optional\":true,\"description\":\"Forces the origin to be included in the vertical axis for a primary chart.\",\"type\":\"standalone\"},{\"name\":\"VZERO2\",\"optional\":true,\"description\":\"Forces the origin to be included in the vertical axis for a secondary chart.\",\"type\":\"standalone\"},{\"name\":\"WAXIS=\",\"optional\":true,\"description\":\"Specifies the width in pixels for the axis and frame lines. By default, n=1.\",\"help\":\"WAXIS=*n*\",\"type\":\"value\"},{\"name\":\"WEBOUT=\",\"optional\":true,\"description\":\"Produces an output data set containing all the data in an OUTTABLE= data set plus graphics coordinates for points (subgroup summary statistics) that are displayed on a control chart.\",\"help\":\"WEBOUT=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"WGRID=\",\"optional\":true,\"description\":\"Specifies the width in pixels for grid lines requested with the ENDGRID and GRID options. By default, n=1.\",\"help\":\"WGRID=*n*\",\"type\":\"value\"},{\"name\":\"WLIMITS=\",\"optional\":true,\"description\":\"Specifies the width in pixels for the control limits and central line. By default, n=1.\",\"help\":\"WLIMITS=*n*\",\"type\":\"value\"},{\"name\":\"WNEEDLES=\",\"optional\":true,\"description\":\"Specifies the width in pixels of needles connecting plotted points to the central line, as requested with the NEEDLES option.\",\"help\":\"WNEEDLES=*n*\",\"type\":\"value\"},{\"name\":\"WOVERLAY2=\",\"optional\":true,\"description\":\"Specifies the widths in pixels for the line segments connecting points on secondary chart overlay plots.\",\"type\":\"value\"},{\"name\":\"WOVERLAY=\",\"optional\":true,\"description\":\"Specifies the widths in pixels for the line segments connecting points on primary chart overlay plots.\",\"type\":\"value\"},{\"name\":\"WSTARCIRCLES=\",\"optional\":true,\"description\":\"Specifies the width in pixels of the outline of circles requested by the STARCIRCLES= option.\",\"help\":\"WSTARCIRCLES=*n*\",\"type\":\"value\"},{\"name\":\"WSTARS=\",\"optional\":true,\"description\":\"Specifies the width in pixels of the outline of stars requested by the STARVERTICES= option.\",\"help\":\"WSTARS=*n*\",\"type\":\"value\"},{\"name\":\"WTESTS=\",\"optional\":true,\"description\":\"Specifies the width in pixels of the line segments that connect patterns of points for which a test for special causes (requested with the TESTS= or TESTS2= option) is positive. By default, n=1.\",\"help\":\"WTESTS=*n*\",\"type\":\"value\"},{\"name\":\"WTREND=\",\"optional\":true,\"description\":\"Specifies the width in pixels of the line segments that connect points on trend charts requested with the TRENDVAR= option. By default, n=1.\",\"help\":\"WTREND=*n*\",\"type\":\"value\"},{\"name\":\"XSYMBOL=\",\"optional\":true,\"description\":\"Specifies a label for the central line in an XBAR chart or a median chart.\",\"help\":\"XSYMBOL='*label*' | MBAR | MTIL | MU | MU0 | XBAR | XBAR2 | XBARPM | XBAR0 | XBAROPM\",\"type\":\"choice\",\"arguments\":[{\"name\":\"'label'\",\"placeholder\":true,\"description\":\"a quoted label up to 16 characters\",\"type\":\"value\"},{\"name\":\"MBAR\",\"description\":\"MBAR\",\"type\":\"standalone\"},{\"name\":\"MTIL\",\"description\":\"MTIL\",\"type\":\"standalone\"},{\"name\":\"MU\",\"description\":\"MU\",\"type\":\"standalone\"},{\"name\":\"MU0\",\"description\":\"MU0\",\"type\":\"standalone\"},{\"name\":\"XBAR\",\"description\":\"XBAR\",\"type\":\"standalone\"},{\"name\":\"XBAR2\",\"description\":\"XBAR2\",\"type\":\"standalone\"},{\"name\":\"XBARPM\",\"description\":\"XBARPM\",\"type\":\"standalone\"},{\"name\":\"XBAR0\",\"description\":\"XBAR0\",\"type\":\"standalone\"},{\"name\":\"XBAROPM\",\"description\":\"XBAR0PM\",\"type\":\"standalone\"}]},{\"name\":\"YPCT1=\",\"optional\":true,\"description\":\"Specifies a percent (ranging from 0 to 100) that determines the length of the vertical axis for the primary chart in proportion to the sum of the lengths of the vertical axes for the primary and secondary charts.\",\"help\":\"YPCT1=*value*\",\"type\":\"value\"},{\"name\":\"YSCALE=\",\"optional\":true,\"description\":\"Scales the vertical axis on a P chart in percent units. The YSCALE= option is available only in the PCHART statement.\",\"help\":\"YSCALE=PERCENT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"PERCENT\",\"description\":\"Scales the vertical axis on a P chart in percent units.\",\"type\":\"standalone\"}]},{\"name\":\"ZEROSTD\",\"optional\":true,\"description\":\"Specifies that a control chart is to be constructed and displayed regardless of whether the estimated process standard deviation is zero.\",\"type\":\"standalone\"},{\"name\":\"ZEROSTD=\",\"optional\":true,\"description\":\"Suppresses the display of the degenerate limits.\",\"help\":\"ZEROSTD=NOLIMITS\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NOLIMITS\",\"description\":\"Suppresses the display of the degenerate limits.\",\"type\":\"standalone\"}]},{\"name\":\"ZONE2LABELS\",\"optional\":true,\"description\":\"Adds the labels A, B, and C to zone lines requested with the ZONES2 or ZONE2VALUES options.\",\"type\":\"standalone\"},{\"name\":\"ZONE2VALUES\",\"optional\":true,\"description\":\"Labels R or s chart zones lines with their values. If the ZONE2VALUES option is specified the ZONES2 option is not required.\",\"type\":\"standalone\"},{\"name\":\"ZONECHAR=\",\"optional\":true,\"description\":\"Specifies the character used to form the zone lines requested by the ZONES option.\",\"help\":\"ZONECHAR='*character*'\",\"type\":\"value\"},{\"name\":\"ZONELABELS\",\"optional\":true,\"description\":\"Adds the labels A, B, and C to zone lines requested with the ZONES or ZONEVALUES options.\",\"type\":\"standalone\"},{\"name\":\"ZONES\",\"optional\":true,\"description\":\"Adds lines to a primary chart that delineate zones A, B, and C for standard tests requested with the TESTS= option.\",\"type\":\"standalone\"},{\"name\":\"ZONES2\",\"optional\":true,\"description\":\"Adds lines to an R or s chart that delineate zones A, B, and C for tests requested with the TESTS2= option.\",\"type\":\"standalone\"},{\"name\":\"ZONEVALPOS=\",\"optional\":true,\"description\":\"Specifies the horizontal position of the ZONEVALUES= and ZONE2VALUES= labels.\",\"help\":\"ZONEVALPOS=1 | 2 | 3\",\"type\":\"choice\",\"arguments\":[{\"name\":\"1\",\"description\":\"Left-justified in subplot area\",\"type\":\"standalone\"},{\"name\":\"2\",\"description\":\"Right-justified in subplot area\",\"type\":\"standalone\"},{\"name\":\"3\",\"description\":\"Left-justified in right margin\",\"type\":\"standalone\"}]},{\"name\":\"ZONEVALUES\",\"optional\":true,\"description\":\"Labels the primary chart zones lines with their values. If the ZONEVALUES option is specified the ZONES option is not required.\",\"type\":\"standalone\"}]}],\"supportSiteInformation\":{\"docsetId\":\"qcug\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"qcug_anom_toc.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/ANOVA.json",
    "content": "{\"name\":\"ANOVA\",\"statements\":[{\"name\":\"PROC ANOVA\",\"description\":\"The ANOVA procedure performs analysis of variance (ANOVA) for balanced data from a wide variety of experimental designs. In analysis of variance, a continuous response variable, known as a dependent variable, is measured under experimental conditions identified by classification variables, known as independent variables. The variation in the response is assumed to be due to effects in the classification, with random error accounting for the remaining variation. † The ANOVA procedure is one of several procedures available in SAS/STAT software for analysis of variance. The ANOVA procedure is designed to handle balanced data (that is, data with equal numbers of observations for every combination of the classification factors), whereas the GLM procedure can analyze both balanced and unbalanced data. Because PROC ANOVA takes into account the special structure of a balanced design, it is faster and uses less storage than PROC GLM for balanced data. † Use PROC ANOVA for the analysis of balanced data only, with the following exceptions: one-way analysis of variance, Latin square designs, certain partially balanced incomplete block designs, completely nested (hierarchical) designs, and designs with cell frequencies that are proportional to each other and are also proportional to the background population. These exceptions have designs in which the factors are all orthogonal to each other.\",\"help\":\"PROC ANOVA <DATA=SAS-data-set><MANOVA><MULTIPASS><NAMELEN=n><ORDER=DATA | FORMATTED | FREQ... ><OUTSTAT=SAS-data-set><PLOTS=NONE>;     \\n\\tABSORB variables ;\\n\\n\\tBY <DESCENDING><NOTSORTED> ;\\n\\n\\tCLASS <TRUNCATE> ;\\n\\n\\tFREQ variable;\\n\\n\\tMANOVA <E=effect><H=<<effects> | INTERCEPT | _ALL_>><M=equation,...,equation | (row-of-matrix,...,row-of-matrix)> ...;\\n\\n\\tMEANS <ALPHA=α><BON><CLM> ...;\\n\\n\\tMODEL <INTERCEPT><NOUNI> ;\\n\\n\\tPERFORMANCE;\\n\\n\\tREPEATED <CONTRAST<(ordinal-reference-level)>><HELMERT><IDENTITY> ...;\\n\\n\\tTEST <E=effect><H=effects> ;\\n\",\"arguments\":[{\"name\":\"DATA=\",\"optional\":true,\"description\":\"Names the SAS data set used by the ANOVA procedure.\",\"help\":\"DATA=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"MANOVA\",\"optional\":true,\"description\":\"Requests the multivariate mode of eliminating observations with missing values.\",\"type\":\"standalone\"},{\"name\":\"MULTIPASS\",\"optional\":true,\"description\":\"Requests that PROC ANOVA reread the input data set, when necessary, instead of writing the values of dependent variables to a utility file.\",\"type\":\"standalone\"},{\"name\":\"NAMELEN=\",\"optional\":true,\"description\":\"Specifies the length of effect names to be n characters long, where n is a value between 20 and 200 characters. The default length is 20 characters.\",\"help\":\"NAMELEN=*n*\",\"type\":\"value\"},{\"name\":\"ORDER=\",\"optional\":true,\"description\":\"Specifies the sorting order for the levels of the classification variables (specified in the CLASS statement).\",\"help\":\"ORDER=DATA | FORMATTED | FREQ | INTERNAL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DATA\",\"description\":\"Orders values according to their order in the input data set.\",\"type\":\"standalone\"},{\"name\":\"FORMATTED\",\"description\":\"Orders values by their ascending formatted values. This order depends on your operating environment.\",\"type\":\"standalone\"},{\"name\":\"FREQ\",\"description\":\"Orders values by descending frequency count so that levels with the most observations are listed first.\",\"type\":\"standalone\"},{\"name\":\"INTERNAL\",\"description\":\"Orders values by their unformatted values, which yields the same order as PROC SORT. This order depends on your operating environment.\",\"type\":\"standalone\"}]},{\"name\":\"OUTSTAT=\",\"optional\":true,\"description\":\"Names an output data set that contains sums of squares, degrees of freedom, F statistics, and probability levels for each effect in the model.\",\"help\":\"OUTSTAT=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"PLOTS=\",\"optional\":true,\"description\":\"Syntax: PLOTS <(MAXPOINTS=NONE | number)> <=NONE> PLOTS=NONE Controls the plots produced through ODS Graphics. Specify the PLOTS=NONE option in order to prevent these plots from being produced when ODS Graphics is enabled.\",\"help\":\"PLOTS=NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NONE\",\"description\":\"Specify the PLOTS=NONE option in order to prevent these plots from being produced when ODS Graphics is enabled.\",\"type\":\"standalone\"}]}]},{\"name\":\"ABSORB\",\"description\":\"Absorption is a computational technique that provides a large reduction in time and memory requirements for certain types of models. The variables are one or more variables in the input data set.\",\"help\":\"ABSORB variables \"},{\"name\":\"BY\",\"description\":\"Obtains separate analyses on observations in groups defined by the BY variables.\",\"help\":\"BY &lt;DESCENDING&gt;&lt;NOTSORTED&gt;\",\"arguments\":[{\"name\":\"DESCENDING\",\"optional\":true,\"description\":\"Specifies that the observations are sorted in descending order by the variable that immediately follows the word DESCENDING in the BY statement.\",\"type\":\"standalone\"},{\"name\":\"NOTSORTED\",\"optional\":true,\"description\":\"Specifies that observations are not necessarily sorted in alphabetic or numeric order.\",\"type\":\"standalone\"}]},{\"name\":\"CLASS\",\"aliases\":[\"CLASSES\"],\"description\":\"The CLASS statement names the classification variables to be used in the model.\",\"help\":\"CLASS &lt;TRUNCATE&gt;\",\"arguments\":[{\"name\":\"TRUNCATE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies that classification levels should be determined by using only up to the first 16 characters of the formatted values of CLASS variables.\",\"type\":\"standalone\"}]},{\"name\":\"FREQ\",\"aliases\":[\"FREQUENCY\"],\"description\":\"Treats observations as if they appear multiple times in the input data set.\",\"help\":\"FREQ variable\"},{\"name\":\"MANOVA\",\"description\":\"If the MODEL statement includes more than one dependent variable, you can perform multivariate analysis of variance with the MANOVA statement. The test-options define which effects to test, while the detail-options specify how to execute the tests and what results to display.\",\"help\":\"MANOVA &lt;E=effect&gt;&lt;H=&lt;&lt;effects&gt; | INTERCEPT | _ALL_&gt;&gt;&lt;M=equation,...,equation | (row-of-matrix,...,row-of-matrix)&gt; ...\",\"arguments\":[{\"name\":\"CANONICAL\",\"optional\":true,\"description\":\"Produces a canonical analysis of the H and E matrices (transformed by the M matrix, if specified) instead of the default display of characteristic roots and vectors.\",\"type\":\"standalone\"},{\"name\":\"E=\",\"optional\":true,\"description\":\"Specifies the error effect. If you omit the E= specification, the ANOVA procedure uses the error SSCP (residual) matrix from the analysis.\",\"help\":\"E=*effect*\",\"type\":\"value\"},{\"name\":\"H=\",\"optional\":true,\"description\":\"Specifies effects in the preceding model to use as hypothesis matrices.\",\"help\":\"H=&lt;*effects*&gt; | INTERCEPT | _ALL_\",\"type\":\"choice\",\"arguments\":[{\"name\":\"effects\",\"placeholder\":true,\"description\":\"Specifies effects in the preceding model to use as hypothesis matrices.\",\"type\":\"standaloneOrValue\"},{\"name\":\"INTERCEPT\",\"description\":\"Produces tests for the intercept.\",\"type\":\"standalone\"},{\"name\":\"_ALL_\",\"description\":\"Produces tests for all effects listed in the MODEL statement.\",\"type\":\"standalone\"}]},{\"name\":\"M=\",\"optional\":true,\"description\":\"Specifies a transformation matrix for the dependent variables listed in the MODEL statement.\",\"type\":\"value\"},{\"name\":\"MNAMES=\",\"optional\":true,\"description\":\"Provides names for the variables defined by the equations in the M= specification.\",\"help\":\"MNAMES=*names*\",\"type\":\"value\"},{\"name\":\"MSTAT=\",\"optional\":true,\"description\":\"Specifies the method of evaluating the multivariate test statistics.\",\"help\":\"MSTAT=FAPPROX | EXACT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"FAPPROX\",\"description\":\"Specifies that the multivariate tests are evaluated by using the usual approximations based on the F distribution.\",\"type\":\"standalone\"},{\"name\":\"EXACT\",\"description\":\"Computes exact p-values for three of the four tests (Wilks’ lambda, the Hotelling-Lawley trace, and Roy’s greatest root) and an improved F-approximation for the fourth (Pillai’s trace).\",\"type\":\"standalone\"}]},{\"name\":\"ORTH\",\"optional\":true,\"description\":\"Requests that the transformation matrix in the M= specification of the MANOVA statement be orthonormalized by rows before the analysis.\",\"type\":\"standalone\"},{\"name\":\"PREFIX=\",\"optional\":true,\"description\":\"Is an alternative means of identifying the transformed variables defined by the M= specification. For example, if you specify PREFIX=DIFF, the transformed variables are labeled DIFF1, DIFF2, and so forth.\",\"help\":\"PREFIX=*name*\",\"type\":\"value\"},{\"name\":\"PRINTE\",\"optional\":true,\"description\":\"Displays the error SSCP matrix E.\",\"type\":\"standalone\"},{\"name\":\"PRINTH\",\"optional\":true,\"description\":\"Displays the hypothesis SSCP matrix H associated with each effect specified by the H= specification.\",\"type\":\"standalone\"},{\"name\":\"SUMMARY\",\"optional\":true,\"description\":\"Produces analysis-of-variance tables for each dependent variable.\",\"type\":\"standalone\"}]},{\"name\":\"MEANS\",\"aliases\":[\"MEAN\"],\"description\":\"Computes means of the dependent variables for any effect that appears on the right-hand side in the MODEL statement.\",\"help\":\"MEANS &lt;ALPHA=α&gt;&lt;BON&gt;&lt;CLM&gt; ...\",\"arguments\":[{\"name\":\"ALPHA=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the level of significance α for comparisons among the means. By default, α=0.05. You can specify any value greater than 0 and less than 1.\",\"type\":\"value\"},{\"name\":\"BON\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Performs Bonferroni t tests of differences between means for all main effect means in the MEANS statement.\",\"type\":\"standalone\"},{\"name\":\"CLDIFF\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Presents results of the BON, GABRIEL, SCHEFFE, SIDAK,SMM, GT2, T, LSD, and TUKEY options as confidence intervals for all pairwise differences between means, and the results of the DUNNETT, DUNNETTU, and DUNNETTL options as confidence intervals for differences with the control.\",\"type\":\"standalone\"},{\"name\":\"CLM\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Presents results of the BON, GABRIEL, SCHEFFE, SIDAK,SMM, T, and LSD options as intervals for the mean of each level of the variables specified in the MEANS statement.\",\"type\":\"standalone\"},{\"name\":\"DUNCAN\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Performs Duncan’s multiple range test on all main effect means given in the MEANS statement.\",\"type\":\"standalone\"},{\"name\":\"DUNNETT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Performs Dunnett’s two-tailed t test, testing if any treatments are significantly different from a single control for all main effects means in the MEANS statement.\",\"type\":\"standalone\"},{\"name\":\"DUNNETTL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Performs Dunnett’s one-tailed t test, testing if any treatment is significantly less than the control.\",\"type\":\"standalone\"},{\"name\":\"DUNNETTU\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Performs Dunnett’s one-tailed t test, testing if any treatment is significantly greater than the control.\",\"type\":\"standalone\"},{\"name\":\"E=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the error mean square used in the multiple comparisons.\",\"help\":\"E=*effect*\",\"type\":\"value\"},{\"name\":\"GABRIEL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Performs Gabriel’s multiple-comparison procedure on all main effect means in the MEANS statement.\",\"type\":\"standalone\"},{\"name\":\"HOVTEST=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests a homogeneity of variance test for the groups defined by the MEANS effect.\",\"help\":\"HOVTEST=BARTLETT | BF | LEVENE | OBRIEN\",\"type\":\"choice\",\"arguments\":[{\"name\":\"BARTLETT\",\"followsDelimiter\":\"/\",\"description\":\"Specifies Bartlett’s test, a modification of the normal-theory likelihood ratio test.\",\"type\":\"standalone\"},{\"name\":\"BF\",\"followsDelimiter\":\"/\",\"description\":\"Specifies Brown and Forsythe’s variation of Levene’s test\",\"type\":\"standalone\"},{\"name\":\"LEVENE\",\"followsDelimiter\":\"/\",\"description\":\"[Syntax: LEVENE<(TYPE= ABS | SQUARE)>] Specifies Levene’s test, which is widely considered to be the standard homogeneity of variance test.\",\"type\":\"standalone\"},{\"name\":\"OBRIEN\",\"followsDelimiter\":\"/\",\"description\":\"[Syntax: OBRIEN <(W=number)>] Specifies O’Brien’s test, which is basically a modification of HOVTEST=LEVENE(TYPE=SQUARE).\",\"type\":\"standalone\"}]},{\"name\":\"KRATIO=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the Type 1/Type 2 error seriousness ratio for the Waller-Duncan test. Reasonable values for KRATIO are 50, 100, and 500, which roughly correspond for the two-level case to ALPHA levels of 0.1, 0.05, and 0.01. By default, the procedure uses the default value of 100.\",\"help\":\"KRATIO=*value*\",\"type\":\"value\"},{\"name\":\"LINES\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Presents results of the BON, DUNCAN, GABRIEL, REGWQ, SCHEFFE, SIDAK,SMM, GT2, SNK, T, LSD TUKEY, and WALLER options by listing the means in descending order and indicating nonsignificant subsets by line segments beside the corresponding means.\",\"type\":\"standalone\"},{\"name\":\"NOSORT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Prevents the means from being sorted into descending order when the CLDIFF or CLM option is specified.\",\"type\":\"standalone\"},{\"name\":\"REGWQ\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Performs the Ryan-Einot-Gabriel-Welsch multiple range test on all main effect means in the MEANS statement.\",\"type\":\"standalone\"},{\"name\":\"SCHEFFE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Performs Scheffé’s multiple-comparison procedure on all main effect means in the MEANS statement.\",\"type\":\"standalone\"},{\"name\":\"SIDAK\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Performs pairwise t tests on differences between means with levels adjusted according to Sidak’s inequality for all main-effect means in the MEANS statement.\",\"type\":\"standalone\"},{\"name\":\"SMM\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"GT2\"],\"description\":\"Performs pairwise comparisons based on the studentized maximum modulus and Sidak’s uncorrelated-t inequality, yielding Hochberg’s GT2 method when sample sizes are unequal, for all main effect means in the MEANS statement\",\"type\":\"standalone\"},{\"name\":\"SNK\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Performs the Student-Newman-Keuls multiple range test on all main effect means in the MEANS statement.\",\"type\":\"standalone\"},{\"name\":\"TUKEY\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Performs Tukey’s studentized range test (HSD) on all main effect means in the MEANS statement.\",\"type\":\"standalone\"},{\"name\":\"T\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"LSD\"],\"description\":\"Performs pairwise t tests, equivalent to Fisher’s least-significant-difference test in the case of equal cell sizes, for all main effect means in the MEANS statement.\",\"type\":\"standalone\"},{\"name\":\"WALLER\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Performs the Waller-Duncan k-ratio t test on all main effect means in the MEANS statement.\",\"type\":\"standalone\"},{\"name\":\"WELCH\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests Welch’s variance-weighted one-way ANOVA.\",\"type\":\"standalone\"}]},{\"name\":\"MODEL\",\"description\":\"The MODEL statement names the dependent variables and independent effects.\",\"help\":\"MODEL &lt;INTERCEPT&gt;&lt;NOUNI&gt;\",\"arguments\":[{\"name\":\"INTERCEPT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays the hypothesis tests associated with the intercept as an effect in the model.\",\"type\":\"standalone\"},{\"name\":\"NOUNI\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Suppresses the display of univariate statistics. You typically use the NOUNI option with a multivariate or repeated measures analysis of variance when you do not need the standard univariate output.\",\"type\":\"standalone\"}]},{\"name\":\"PERFORMANCE\",\"description\":\"\",\"help\":\"PERFORMANCE\"},{\"name\":\"REPEATED\",\"description\":\"When values of the dependent variables in the MODEL statement represent repeated measurements on the same experimental unit, the REPEATED statement enables you to test hypotheses about the measurement factors (often called within-subject factors), as well as the interactions of within-subject factors with independent variables in the MODEL statement (often called between-subject factors).\",\"help\":\"REPEATED &lt;CONTRAST&lt;(ordinal-reference-level)&gt;&gt;&lt;HELMERT&gt;&lt;IDENTITY&gt; ...\",\"arguments\":[{\"name\":\"CANONICAL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Performs a canonical analysis of the H and E matrices corresponding to the transformed variables specified in the REPEATED statement.\",\"type\":\"standalone\"},{\"name\":\"CONTRAST\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Generates contrasts between levels of the factor and a reference level.\",\"type\":\"standalone\"},{\"name\":\"HELMERT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Generates contrasts between each level of the factor and the mean of subsequent levels.\",\"type\":\"standalone\"},{\"name\":\"IDENTITY\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Generates an identity transformation corresponding to the associated factor.\",\"type\":\"standalone\"},{\"name\":\"MEAN\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Generates contrasts between levels of the factor and the mean of all other levels of the factor.\",\"type\":\"standalone\"},{\"name\":\"MSTAT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the method of evaluating the multivariate test statistics.\",\"help\":\"MSTAT=FAPPROX | EXACT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"FAPPROX\",\"followsDelimiter\":\"/\",\"description\":\"Specifies that the multivariate tests are evaluated by using the usual approximations based on the F distribution.\",\"type\":\"standalone\"},{\"name\":\"EXACT\",\"followsDelimiter\":\"/\",\"description\":\"Computes exact p-values for three of the four tests (Wilks’ lambda, the Hotelling-Lawley trace, and Roy’s greatest root) and an improved F-approximation for the fourth (Pillai’s trace).\",\"type\":\"standalone\"}]},{\"name\":\"NOM\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays only the results of the univariate analyses.\",\"type\":\"standalone\"},{\"name\":\"NOU\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays only the results of the multivariate analyses.\",\"type\":\"standalone\"},{\"name\":\"POLYNOMIAL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Generates orthogonal polynomial contrasts. Level values, if provided, are used as spacings in the construction of the polynomials; otherwise, equal spacing is assumed.\",\"type\":\"standalone\"},{\"name\":\"PRINTE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays the E matrix for each combination of within-subject factors, as well as partial correlation matrices for both the original dependent variables and the variables defined by the transformations specified in the REPEATED statement.\",\"type\":\"standalone\"},{\"name\":\"PRINTH\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays the H (SSCP) matrix associated with each multivariate test.\",\"type\":\"standalone\"},{\"name\":\"PRINTM\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays the transformation matrices that define the contrasts in the analysis.\",\"type\":\"standalone\"},{\"name\":\"PRINTRV\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Produces the characteristic roots and vectors for each multivariate test.\",\"type\":\"standalone\"},{\"name\":\"PROFILE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Generates contrasts between adjacent levels of the factor.\",\"type\":\"standalone\"},{\"name\":\"SUMMARY\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Produces analysis-of-variance tables for each contrast defined by the within-subjects factors.\",\"type\":\"standalone\"}]},{\"name\":\"TEST\",\"description\":\"Although an F value is computed for all SS in the analysis by using the residual MS as an error term, you can request additional F tests that use other effects as error terms. You need a TEST statement when a nonstandard error structure (as in a split plot) exists.\",\"help\":\"TEST &lt;E=effect&gt;&lt;H=effects&gt;\",\"arguments\":[{\"name\":\"E=\",\"optional\":true,\"description\":\"Specifies one, and only one, effect to use as the error (denominator) term. The E= specification is required.\",\"help\":\"E=*effect*\",\"type\":\"value\"},{\"name\":\"H=\",\"optional\":true,\"description\":\"Specifies which effects in the preceding model are to be used as hypothesis (numerator) effects.\",\"help\":\"H=*effects*\",\"type\":\"value\"}]}],\"supportSiteInformation\":{\"docsetId\":\"statug\",\"docsetVersion\":\"latest\",\"docsetTargetFile\":\"statug_anova_toc.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/APPEND.json",
    "content": "{\"name\":\"APPEND\",\"statements\":[{\"name\":\"PROC APPEND\",\"description\":\"Add observations from one SAS data set to the end of another SAS data set.\",\"help\":\"PROC APPEND BASE=<libref.>\\n\\t<options>SAS-data-set;\\n\\n\\tATTRIB   variable-list(s) attribute-list(s);\\n\\n\\tFORMAT variable-1< ...variable-n><format><DEFAULT=default-format>;\\n\\n\\tLABEL variable-1=label-1< ...variable-n=label-n>;\\n\\n\\tWHERE where-expression-1\\n\\t\\t<logical-operator where-expression-n>;                 \\n\",\"arguments\":[{\"name\":\"BASE=\",\"aliases\":[\"OUT=\"],\"description\":\"names the data set to which you want to add observations.\",\"help\":\"BASE=&lt;*libref.*&gt;*SAS-data-set*\",\"type\":\"dataSet\",\"arguments\":[{\"name\":\"libref\",\"placeholder\":true,\"description\":\"specifies the library that contains the SAS data set. If you omit the libref, the default is the libref for the procedure input library. If you are using PROC APPEND, the default for libref is either Work or User.\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"p0ygkfo4zb55ewn1a6m6t1czygka\"},{\"name\":\"SAS-data-set\",\"placeholder\":true,\"description\":\"names a SAS data set. If the APPEND statement cannot find an existing data set with this name, it creates a new data set in the library. That is, you can use the APPEND statement to create a data set by specifying a new data set name in the BASE= argument.\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"n0z03dhu6dsx26n1nsgt6lwd7xrj\"}],\"supportSiteTargetFragment\":\"n1xf2d2c48mbuxn1wwthmfml3tdk\"},{\"name\":\"APPENDVER=\",\"optional\":true,\"description\":\"uses the Version 6 behavior for appending observations to the BASE= data set.\",\"help\":\"APPENDVER=V6\",\"type\":\"choice\",\"arguments\":[{\"name\":\"V6\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"p0bcgead018wtnn12y5vjy40f9r1\"},{\"name\":\"DATA=\",\"optional\":true,\"aliases\":[\"NEW=\"],\"description\":\"names the SAS data set containing observations that you want to append to the end of the SAS data set specified in the BASE= argument.\",\"help\":\"DATA=&lt;*libref.*&gt; *SAS-data-set*\",\"type\":\"dataSet\",\"arguments\":[{\"name\":\"libref\",\"placeholder\":true,\"description\":\"specifies the library that contains the SAS data set. If you omit libref, the default is the libref for the procedure input library. The DATA= data set can be from any SAS library. You must use the two-level name if the data set resides in a library other than the procedure input library.\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"p1019q2zbm9exln1fdse35gvutqd\"},{\"name\":\"SAS-data-set\",\"placeholder\":true,\"description\":\"names a SAS data set. If the APPEND statement cannot find an existing data set with this name, it stops processing.\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"n1g5ue1ojho0jzn1h5nl9uspyfge\"}],\"supportSiteTargetFragment\":\"n0fjeuc2cnn4y3n1ahu4tki0krph\"},{\"name\":\"ENCRYPTKEY=\",\"optional\":true,\"description\":\"specifies the key value for AES encryption.\",\"help\":\"ENCRYPTKEY=*key-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1c1n7jpyr9bd8n1w5pkjg7jwo56\"},{\"name\":\"FORCE\",\"optional\":true,\"description\":\"forces the APPEND statement to concatenate data sets.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0mrw1ile1ljkan1b77erbaf4lv3\"},{\"name\":\"GETSORT\",\"optional\":true,\"description\":\"copies the sort indicator from the DATA= data set to the BASE= data set.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0f2ggerpvl3sun1nqkocyy2ln9r\"},{\"name\":\"NOWARN\",\"optional\":true,\"description\":\"suppresses the warning when used with the FORCE option.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0k7fkcd8zhz4un1f27vfp03fcat\"}],\"supportSiteTargetFile\":\"n1mv8msc0uqvcbn1tmquk4yp5u0j.htm\"},{\"name\":\"ATTRIB\",\"description\":\"Associates a format, informat, label, and length with one or more variables.\",\"help\":\"ATTRIB  *variable-list(s)**attribute-list(s)*;\",\"arguments\":[{\"name\":\"variable-list\",\"optional\":true,\"placeholder\":true,\"description\":\"names the variables that you want to associate with the attributes.\",\"help\":\"*variable-list(s)*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1nd0mq22iu6ovn14mz1ot1hwcji\"},{\"name\":\"FORMAT=\",\"description\":\"associates a format with variables in variable-list.\",\"help\":\"FORMAT=*format*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p08pt9ce6bhq86n18a3zcc97bldz\"},{\"name\":\"INFORMAT=\",\"description\":\"associates an informat with variables in variable-list.\",\"help\":\"INFORMAT=*informat*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n136glco6ritqdn160792yhk9mv1\"},{\"name\":\"LABEL=\",\"description\":\"associates a label with variables in variable-list.\",\"help\":\"LABEL='*label*' \",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0a9x9io5pi05mn1i4p2cphc7t0n\"}],\"supportSiteTargetFile\":\"n04pixwhr1atzln1dow0e10lyibs.htm\"},{\"name\":\"FORMAT\",\"description\":\"Associates formats with variables.\",\"help\":\"FORMAT *variable-1*&lt; ...*variable-n*&gt;*format**variable-1*&lt; ...*variable-n*&gt;*format*;\",\"arguments\":[{\"name\":\"variable\",\"optional\":true,\"placeholder\":true,\"description\":\"names one or more variables for SAS to associate with a format. You must specify at least one variable.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1d0cionbspk2tn1ma0m6kjd1ntx\"},{\"name\":\"format\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the format that is listed for writing the values of the variables.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n15nxwcex8m202n1dp4xwbds95t9\"}],\"supportSiteTargetFile\":\"p02hzcxsifsk8dn1a53t49zqd82c.htm\"},{\"name\":\"LABEL\",\"description\":\"Assigns descriptive labels to variables.\",\"help\":\"LABEL variable-1 = 'text-string' < ...variable-n = 'text-string'>;\\nLABEL variable-1 = ' ' < ...variable-n=’ ‘>; | variable-1 = < ...variable-n= >;\",\"arguments\":[{\"name\":\"text-string\",\"placeholder\":true,\"description\":\"specifies a label of up to 256 bytes.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n09u0k5ydxzgr3n1dfznhvex7uuo\"},{\"name\":\"'\",\"placeholder\":true,\"description\":\"removes a label from a variable. Enclose a single blank space in quotation marks to remove an existing label. You can remove labels from multiple variables in a single LABEL statement:\",\"help\":\"*' '*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1dl99omzes92cn1typpf6yl1ng0\"}],\"supportSiteTargetFile\":\"p1s0j2pii3oj7fn1f87s02j4zo52.htm\"},{\"name\":\"WHERE\",\"description\":\"Subsets the input data set by specifying certain conditions that each observation must meet before it is available for processing.\",\"help\":\"WHERE where-expression-1\\n<logical-operator where-expression-n>; \",\"arguments\":[{\"name\":\"where-expression\",\"optional\":true,\"placeholder\":true,\"description\":\"is an arithmetic or logical expression that generally consists of a sequence of operands and operators.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p04iz9sx1znb6en1ptu9o3h9ns07\"},{\"name\":\"logical-operator\",\"optional\":true,\"placeholder\":true,\"description\":\"can be AND, AND NOT, OR, or OR NOT.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0xd4nxmu81y3rn1lzcij1t759ln\"}],\"supportSiteTargetFile\":\"n0yu3xyqnznndnn0z1v515xzfebo.htm\"}],\"supportSiteInformation\":{\"docsetId\":\"proc\",\"docsetVersion\":\"v_002\",\"docsetTargetFile\":\"p1bjrbc5esr90on12o8vs7gyv8ue.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/ARIMA.json",
    "content": "{\"name\":\"ARIMA\",\"statements\":[{\"name\":\"PROC ARIMA\",\"description\":\"The ARIMA procedure analyzes and forecasts equally spaced univariate time series data, transfer function data, and intervention data by using the autoregressive integrated moving-average (ARIMA) or autoregressive moving-average (ARMA) model. An ARIMA model predicts a value in a response time series as a linear combination of its own past values, past errors (also called shocks or innovations), and current and past values of other time series. † The ARIMA approach was first popularized by Box and Jenkins, and ARIMA models are often referred to as Box-Jenkins models. The general transfer function model employed by the ARIMA procedure was discussed by Box and Tiao (1975). When an ARIMA model includes other time series as input variables, the model is sometimes referred to as an ARIMAX model. Pankratz (1991) refers to the ARIMAX model as dynamic regression. † The ARIMA procedure provides a comprehensive set of tools for univariate time series model identification, parameter estimation, and forecasting, and it offers great flexibility in the kinds of ARIMA or ARIMAX models that can be analyzed. The ARIMA procedure supports seasonal, subset, and factored ARIMA models; intervention or interrupted time series models; multiple regression analysis with ARMA errors; and rational transfer function models of any complexity. † Before you use PROC ARIMA, you should be familiar with Box-Jenkins methods, and you should exercise care and judgment when you use the ARIMA procedure. The ARIMA class of time series models is complex and powerful, and some degree of expertise is needed to use them correctly.\",\"help\":\"PROC ARIMA <DATA=SAS-data-set><OUT=SAS-data-set><PLOTS=ALL | NONE | SERIES(<series-plot-options>)... >;     \\n\\tBY variables ;\\n\\n\\tESTIMATE <ALTPARM><INPUT=variable | INPUT=( transfer-function variable ...)><METHOD=<ML | ULS | CLS>> ...;\\n\\n\\tFORECAST <ALIGN=<BEGINNING | MIDDLE | ENDING>><ALPHA=n><BACK=n> ...;\\n\\n\\tIDENTIFY <ALPHA=significance-level><CENTER><CLEAR> ...;\\n\\n\\tOUTLIER <ALPHA=significance-level><SIGMA=<ROBUST | MSE>><TYPE=<ADDITIVE | SHIFT | TEMP(d1,...,dk)>... > ...;\\n\",\"arguments\":[{\"name\":\"DATA=\",\"optional\":true,\"description\":\"Specifies the name of the SAS data set that contains the time series. If different DATA= specifications appear in the PROC ARIMA and IDENTIFY statements, the one in the IDENTIFY statement is used. If the DATA= option is not specified in either the PROC ARIMA or IDENTIFY statement, the most recently created SAS data set is used.\",\"help\":\"DATA=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"OUT=\",\"optional\":true,\"description\":\"Specifies a SAS data set to which the forecasts are output. If different OUT= specifications appear in the PROC ARIMA and FORECAST statements, the one in the FORECAST statement is used.\",\"help\":\"OUT=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"PLOTS=\",\"optional\":true,\"description\":\"Controls the plots produced through ODS Graphics. Syntax: (1)PLOTS<(global-plot-options)> <= plot-request <(options)>> | (2)PLOTS<(global-plot-options)> <= (plot-request <(options)> <... plot-request <(options)>>)> The following global-plot-options are supported: ONLY suppresses the default plots. Only the plots specifically requested are produced.\",\"help\":\"PLOTS=ALL | NONE | SERIES(&lt;series-plot-options&gt;) | RESIDUAL(&lt;residual-plot-options&gt;) | FORECAST(&lt;forecast-plot-options&gt;)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ALL\",\"description\":\"Produces all plots appropriate for the particular analysis.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"Suppresses all plots.\",\"type\":\"standalone\"},{\"name\":\"SERIES\",\"description\":\"Produces plots associated with the identification stage of the modeling. The panel plots corresponding to the CORR and CROSSCORR options are produced by default. The following series-plot-options are available: ACF--produces the plot of autocorrelations. ALL--produces all the plots associated with the identification stage. CORR--produces a panel of plots that are useful in the trend and correlation analysis of the series. CROSSCORR--produces panels of cross-correlation plots. IACF--produces the plot of inverse-autocorrelations. PACF--produces the plot of partial-autocorrelations.\",\"help\":\"SERIES(&lt;series-plot-options&gt;)\",\"type\":\"standalone\"},{\"name\":\"RESIDUAL\",\"description\":\"Produces the residuals plots. The residual correlation and normality diagnostic panels are produced by default. The following residual-plot-options are available: ACF--produces the plot of residual autocorrelations. ALL--produces all the residual diagnostics plots appropriate for the particular analysis. CORR--produces a summary panel of the residual correlation diagnostics. HIST--produces the histogram of the residuals. IACF--produces the plot of residual inverse-autocorrelations. NORMAL--produces a summary panel of the residual normality diagnostics. PACF--produces the plot of residual partial-autocorrelations. QQ--produces the normal quantile plot of the residuals. SMOOTH--produces a scatter plot of the residuals against time, which has an overlaid smooth fit. WN--produces the plot of Ljung-Box white-noise test p-values at different lags.\",\"help\":\"RESIDUAL(&lt;residual-plot-options&gt;)\",\"type\":\"standalone\"},{\"name\":\"FORECAST\",\"description\":\"Produces the forecast plots in the forecasting stage. The following forecast-plot-options are available: ALL--produces the forecast-only plot as well as the forecast plot. FORECAST--produces a plot that shows the one-step-ahead forecasts as well as the multistep-ahead forecasts. FORECASTONLY--produces a plot that shows only the multistep-ahead forecasts in the forecast region.\",\"help\":\"FORECAST(&lt;forecast-plot-options&gt;)\",\"type\":\"standalone\"}]}]},{\"name\":\"BY\",\"description\":\"A BY statement can be used in the ARIMA procedure to process a data set in groups of observations defined by the BY variables. Note that all IDENTIFY, ESTIMATE, and FORECAST statements specified are applied to all BY groups.\",\"help\":\"BY variables \"},{\"name\":\"ESTIMATE\",\"description\":\"The ESTIMATE statement specifies an ARMA model or transfer function model for the response variable specified in the previous IDENTIFY statement, and produces estimates of its parameters. The ESTIMATE statement also prints diagnostic information by which to check the model. The label in the ESTIMATE statement is optional. Include an ESTIMATE statement for each model that you want to estimate.\",\"help\":\"ESTIMATE &lt;ALTPARM&gt;&lt;INPUT=variable | INPUT=( transfer-function variable ...)&gt;&lt;METHOD=&lt;ML | ULS | CLS&gt;&gt; ...\",\"arguments\":[{\"name\":\"ALTPARM\",\"optional\":true,\"description\":\"Specifies the alternative parameterization of the overall scale of transfer functions in the model.\",\"type\":\"standalone\"},{\"name\":\"AR=\",\"optional\":true,\"description\":\"Lists starting values for the autoregressive parameters.\",\"type\":\"value\"},{\"name\":\"BACKLIM=\",\"optional\":true,\"description\":\"Omits the specified number of initial residuals from the sum of squares or likelihood function. Omitting values can be useful for suppressing transients in transfer function models that are sensitive to start-up values.\",\"help\":\"BACKLIM=*-n*\",\"type\":\"value\"},{\"name\":\"CONVERGE=\",\"optional\":true,\"description\":\"Specifies the convergence criterion. Convergence is assumed when the largest change in the estimate for any parameter is less that the CONVERGE= option value. If the absolute value of the parameter estimate is greater than 0.01, the relative change is used; otherwise, the absolute change in the estimate is used. The default is CONVERGE=0.001.\",\"help\":\"CONVERGE=*value*\",\"type\":\"value\"},{\"name\":\"DELTA=\",\"optional\":true,\"description\":\"Specifies the perturbation value for computing numerical derivatives. The default is DELTA=0.001.\",\"help\":\"DELTA=*value*\",\"type\":\"value\"},{\"name\":\"GRID\",\"optional\":true,\"description\":\"Prints the error sum of squares (SSE) or concentrated log-likelihood surface in a small grid of the parameter space around the final estimates. For each pair of parameters, the SSE is printed for the nine parameter-value combinations formed by the grid, with a center at the final estimates and with spacing given by the GRIDVAL= specification. The GRID option can help you judge whether the estimates are truly at the optimum, since the estimation process does not always converge. For models with a large number of parameters, the GRID option produces voluminous output.\",\"type\":\"standalone\"},{\"name\":\"GRIDVAL=\",\"optional\":true,\"description\":\"Controls the spacing in the grid printed by the GRID option. The default is GRIDVAL=0.005.\",\"help\":\"GRIDVAL=*number*\",\"type\":\"value\"},{\"name\":\"INITVAL=\",\"optional\":true,\"description\":\"Specifies starting values for the parameters in the transfer function parts of the model.\",\"type\":\"value\"},{\"name\":\"INPUT=\",\"optional\":true,\"description\":\"Specifies input variables and their transfer functions. The variables used on the INPUT= option must be included in the CROSSCORR= list in the previous IDENTIFY statement. If any differencing is specified in the CROSSCORR= list, then the differenced series is used as the input to the transfer function.\",\"type\":\"value\"},{\"name\":\"MA=\",\"optional\":true,\"description\":\"Lists starting values for the moving-average parameters.\",\"type\":\"value\"},{\"name\":\"MAXITER=\",\"optional\":true,\"aliases\":[\"MAXIT=\"],\"description\":\"Specifies the maximum number of iterations allowed. The default is MAXITER=50.\",\"help\":\"MAXITER=*n*\",\"type\":\"value\"},{\"name\":\"METHOD=\",\"optional\":true,\"description\":\"Specifies the estimation method to use.\",\"help\":\"METHOD=ML | ULS | CLS\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ML\",\"description\":\"Specifies the maximum likelihood method.\",\"type\":\"standalone\"},{\"name\":\"ULS\",\"description\":\"Specifies the unconditional least squares method.\",\"type\":\"standalone\"},{\"name\":\"CLS\",\"description\":\"Specifies the conditional least squares method.\",\"type\":\"standalone\"}]},{\"name\":\"MU=\",\"optional\":true,\"description\":\"Specifies the MU parameter.\",\"help\":\"MU=*value*\",\"type\":\"value\"},{\"name\":\"NOCONSTANT\",\"optional\":true,\"description\":\"Suppresses the fitting of a constant (or intercept) parameter in the model. (That is, the parameter μ is omitted.)\",\"type\":\"standalone\"},{\"name\":\"NODF\",\"optional\":true,\"description\":\"Estimates the variance by dividing the error sum of squares (SSE) by the number of residuals. The default is to divide the SSE by the number of residuals minus the number of free parameters in the model.\",\"type\":\"standalone\"},{\"name\":\"NOEST\",\"optional\":true,\"description\":\"Uses the values specified with the AR=, MA=, INITVAL=, and MU= options as final parameter values. The estimation process is suppressed except for estimation of the residual variance. The specified parameter values are used directly by the next FORECAST statement. When NOEST is specified, standard errors, t values, and the correlations between estimates are displayed as 0 or missing. (The NOEST option is useful, for example, when you want to generate forecasts that correspond to a published model.)\",\"type\":\"standalone\"},{\"name\":\"NOINT\",\"optional\":true,\"description\":\"Suppresses the fitting of a constant (or intercept) parameter in the model. (That is, the parameter μ is omitted.)\",\"type\":\"standalone\"},{\"name\":\"NOLS\",\"optional\":true,\"description\":\"Begins the maximum likelihood or unconditional least squares iterations from the preliminary estimates rather than from the conditional least squares estimates that are produced after four iterations.\",\"type\":\"standalone\"},{\"name\":\"NOPRINT\",\"optional\":true,\"description\":\"Suppresses the normal printout generated by the ESTIMATE statement. If the NOPRINT option is specified for the ESTIMATE statement, then any error and warning messages are printed to the SAS log.\",\"type\":\"standalone\"},{\"name\":\"NOSTABLE\",\"optional\":true,\"description\":\"Specifies that the autoregressive and moving-average parameter estimates for the noise part of the model not be restricted to the stationary and invertible regions, respectively.\",\"type\":\"standalone\"},{\"name\":\"NOTFSTABLE\",\"optional\":true,\"description\":\"Specifies that the parameter estimates for the denominator polynomial of the transfer function part of the model not be restricted to the stability region.\",\"type\":\"standalone\"},{\"name\":\"OUTCORR\",\"optional\":true,\"description\":\"Writes the correlations of the parameter estimates to the OUTEST= data set.\",\"type\":\"standalone\"},{\"name\":\"OUTCOV\",\"optional\":true,\"description\":\"Writes the covariances of the parameter estimates to the OUTEST= data set.\",\"type\":\"standalone\"},{\"name\":\"OUTEST=\",\"optional\":true,\"description\":\"Writes the parameter estimates to an output data set. If the OUTCORR or OUTCOV option is used, the correlations or covariances of the estimates are also written to the OUTEST= data set. See the section OUTEST= Data Set for a description of the OUTEST= output data set.\",\"help\":\"OUTEST=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"OUTMODEL=\",\"optional\":true,\"description\":\"Writes the model and parameter estimates to an output data set. If OUTMODEL= is not specified, no model output data set is created.\",\"help\":\"OUTMODEL=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"OUTSTAT=\",\"optional\":true,\"description\":\"Writes the model diagnostic statistics to an output data set. If OUTSTAT= is not specified, no statistics output data set is created.\",\"help\":\"OUTSTAT=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"P=\",\"optional\":true,\"description\":\"Specifies the autoregressive part of the model. By default, no autoregressive parameters are fit.\",\"type\":\"value\"},{\"name\":\"PLOT\",\"optional\":true,\"description\":\"Plots the residual autocorrelation functions. The sample autocorrelation, the sample inverse autocorrelation, and the sample partial autocorrelation functions of the model residuals are plotted.\",\"type\":\"standalone\"},{\"name\":\"PRINTALL\",\"optional\":true,\"description\":\"Prints preliminary estimation results and the iterations in the final estimation process.\",\"type\":\"standalone\"},{\"name\":\"Q=\",\"optional\":true,\"description\":\"Specifies the moving-average part of the model. By default, no moving-average part is included in the model.\",\"type\":\"value\"},{\"name\":\"SINGULAR=\",\"optional\":true,\"description\":\"Specifies the criterion for checking singularity. If a pivot of a sweep operation is less than the SINGULAR= value, the matrix is deemed singular. Sweep operations are performed on the Jacobian matrix during final estimation and on the covariance matrix when preliminary estimates are obtained. The default is SINGULAR=1E–7.\",\"help\":\"SINGULAR=*value*\",\"type\":\"value\"},{\"name\":\"WHITENOISE=\",\"optional\":true,\"description\":\"Specifies the type of test statistic that is used in the white noise test of the series when the series contains missing values.\",\"help\":\"WHITENOISE=ST | IGNOREMISS\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ST\",\"description\":\"A modification of the Ljung-Box test is used. This is the default.\",\"type\":\"standalone\"},{\"name\":\"IGNOREMISS\",\"description\":\"The standard Ljung-Box test statistic is used.\",\"type\":\"standalone\"}]}]},{\"name\":\"FORECAST\",\"description\":\"The FORECAST statement generates forecast values for a time series by using the parameter estimates produced by the previous ESTIMATE statement.\",\"help\":\"FORECAST &lt;ALIGN=&lt;BEGINNING | MIDDLE | ENDING&gt;&gt;&lt;ALPHA=n&gt;&lt;BACK=n&gt; ...\",\"arguments\":[{\"name\":\"ALIGN=\",\"optional\":true,\"description\":\"Controls the alignment of SAS dates used to identify output observations.\",\"help\":\"ALIGN=BEGINNING | MIDDLE | ENDING*option*\",\"type\":\"value\",\"arguments\":[{\"name\":\"BEGINNING\",\"description\":\"Alignment of SAS dates: beginning\",\"type\":\"standalone\"},{\"name\":\"MIDDLE\",\"description\":\"Alignment of SAS dates: middle\",\"type\":\"standalone\"},{\"name\":\"ENDING\",\"description\":\"Alignment of SAS dates: ending\",\"type\":\"standalone\"}]},{\"name\":\"ALPHA=\",\"optional\":true,\"description\":\"Sets the size of the forecast confidence limits. The ALPHA= value must be between 0 and 1. When you specify ALPHA=α, the upper and lower confidence limits have a 1 - α confidence level. The default is ALPHA=0.05, which produces 95% confidence intervals. ALPHA values are rounded to the nearest hundredth.\",\"help\":\"ALPHA=*n*\",\"type\":\"value\"},{\"name\":\"BACK=\",\"optional\":true,\"description\":\"Specifies the number of observations before the end of the data where the multistep forecasts are to begin. The BACK= option value must be less than or equal to the number of observations minus the number of parameters.\",\"help\":\"BACK=*n*\",\"type\":\"value\"},{\"name\":\"ID=\",\"optional\":true,\"description\":\"Names a variable in the input data set that identifies the time periods associated with the observations. The ID= variable is used in conjunction with the INTERVAL= option to extrapolate ID values from the end of the input data to identify forecast periods in the OUT= data set.\",\"help\":\"ID=*variable*\",\"type\":\"value\"},{\"name\":\"INTERVAL=\",\"optional\":true,\"description\":\"Specifies the time interval between observations. The value of the INTERVAL= option is used by PROC ARIMA to extrapolate the ID values for forecast observations and to check that the input data are in order with no missing periods.\",\"help\":\"INTERVAL=DAY | HOUR | MINUTE | SECOND | WEEK | MONTH | YEAR | QTR | TENDAY | SEMIMONTH | SEMIYEAR | DTDAY | DTHOUR | DTMINUTE | DTSECOND | DTWEEK | DTMONTH | DTYEAR | DTQTR | DTSEMIMONTH | DTSEMIYEAR\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DAY\",\"description\":\"DAY interval\",\"type\":\"standalone\"},{\"name\":\"HOUR\",\"description\":\"HOUR interval\",\"type\":\"standalone\"},{\"name\":\"MINUTE\",\"description\":\"MINUTE interval\",\"type\":\"standalone\"},{\"name\":\"SECOND\",\"description\":\"SECOND interval\",\"type\":\"standalone\"},{\"name\":\"WEEK\",\"description\":\"WEEK interval\",\"type\":\"standalone\"},{\"name\":\"MONTH\",\"description\":\"MONTH interval\",\"type\":\"standalone\"},{\"name\":\"YEAR\",\"description\":\"YEAR interval\",\"type\":\"standalone\"},{\"name\":\"QTR\",\"description\":\"QTR interval\",\"type\":\"standalone\"},{\"name\":\"TENDAY\",\"description\":\"TENDAY interval\",\"type\":\"standalone\"},{\"name\":\"SEMIMONTH\",\"description\":\"SEMIMONTH interval\",\"type\":\"standalone\"},{\"name\":\"SEMIYEAR\",\"description\":\"SEMIYEAR interval\",\"type\":\"standalone\"},{\"name\":\"DTDAY\",\"description\":\"Datetime DAY interval\",\"type\":\"standalone\"},{\"name\":\"DTHOUR\",\"description\":\"Datetime HOUR interval\",\"type\":\"standalone\"},{\"name\":\"DTMINUTE\",\"description\":\"Datetime MINUTE interval\",\"type\":\"standalone\"},{\"name\":\"DTSECOND\",\"description\":\"Datetime SECOND interval\",\"type\":\"standalone\"},{\"name\":\"DTWEEK\",\"description\":\"Datetime WEEK interval\",\"type\":\"standalone\"},{\"name\":\"DTMONTH\",\"description\":\"Datetime MONTH interval\",\"type\":\"standalone\"},{\"name\":\"DTYEAR\",\"description\":\"Datetime YEAR interval\",\"type\":\"standalone\"},{\"name\":\"DTQTR\",\"description\":\"Datetime QTR interval\",\"type\":\"standalone\"},{\"name\":\"DTSEMIMONTH\",\"description\":\"Datetime SEMIMONTH interval\",\"type\":\"standalone\"},{\"name\":\"DTSEMIYEAR\",\"description\":\"Datetime SEMIYEAR interval\",\"type\":\"standalone\"}]},{\"name\":\"LEAD=\",\"optional\":true,\"description\":\"Specifies the number of multistep forecast values to compute. For example, if LEAD=10, PROC ARIMA forecasts for ten periods beginning with the end of the input series (or earlier if BACK= is specified). It is possible to obtain fewer than the requested number of forecasts if a transfer function model is specified and insufficient data are available to compute the forecast. The default is LEAD=24.\",\"help\":\"LEAD=*n*\",\"type\":\"value\"},{\"name\":\"NOOUTALL\",\"optional\":true,\"description\":\"Includes only the final forecast observations in the OUT= output data set, not the one-step forecasts for the data before the forecast period.\",\"type\":\"standalone\"},{\"name\":\"NOPRINT\",\"optional\":true,\"description\":\"Suppresses the normal printout of the forecast and associated values.\",\"type\":\"standalone\"},{\"name\":\"OUT=\",\"optional\":true,\"description\":\"Writes the forecast (and other values) to an output data set. If OUT= is not specified, the OUT= data set specified in the PROC ARIMA statement is used. If OUT= is also not specified in the PROC ARIMA statement, no output data set is created.\",\"help\":\"OUT=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"PRINTALL\",\"optional\":true,\"description\":\"Prints the FORECAST computation throughout the whole data set. The forecast values for the data before the forecast period (specified by the BACK= option) are one-step forecasts.\",\"type\":\"standalone\"},{\"name\":\"SIGSQ=\",\"optional\":true,\"description\":\"Specifies the variance term used in the formula for computing forecast standard errors and confidence limits. The default value is the variance estimate computed by the preceding ESTIMATE statement. This option is useful when you wish to generate forecast standard errors and confidence limits based on a published model. It would often be used in conjunction with the NOEST option in the preceding ESTIMATE statement.\",\"help\":\"SIGSQ=*value*\",\"type\":\"value\"}]},{\"name\":\"IDENTIFY\",\"description\":\"The IDENTIFY statement specifies the time series to be modeled, differences the series if desired, and computes statistics to help identify models to fit. Use an IDENTIFY statement for each time series that you want to model.\",\"help\":\"IDENTIFY &lt;ALPHA=significance-level&gt;&lt;CENTER&gt;&lt;CLEAR&gt; ...\",\"arguments\":[{\"name\":\"ALPHA=\",\"optional\":true,\"description\":\"The ALPHA= option specifies the significance level for tests in the IDENTIFY statement. The default is 0.05.\",\"help\":\"ALPHA=*significance-level*\",\"type\":\"value\"},{\"name\":\"CENTER\",\"optional\":true,\"description\":\"Centers each time series by subtracting its sample mean. The analysis is done on the centered data. Later, when forecasts are generated, the mean is added back. Note that centering is done after differencing. The CENTER option is normally used in conjunction with the NOCONSTANT option of the ESTIMATE statement.\",\"type\":\"standalone\"},{\"name\":\"CLEAR\",\"optional\":true,\"description\":\"Deletes all old models. This option is useful when you want to delete old models so that the input variables are not prewhitened.\",\"type\":\"standalone\"},{\"name\":\"CROSSCORR=\",\"optional\":true,\"description\":\"Syntax: CROSSCORR=variable (d11, d12, ..., d1k ) | CROSSCORR= (variable (d11, d12, ..., d1k )... variable (d21, d22, ..., d2k )) Names the variables cross-correlated with the response variable given by the VAR= specification. Each variable name can be followed by a list of differencing lags in parentheses, the same as for the VAR= specification. If differencing is specified for a variable in the CROSSCORR= list, the differenced series is cross-correlated with the VAR= option series, and the differenced series is used when the ESTIMATE statement INPUT= option refers to the variable.\",\"type\":\"value\"},{\"name\":\"DATA=\",\"optional\":true,\"description\":\"Specifies the input SAS data set that contains the time series. If the DATA= option is omitted, the DATA= data set specified in the PROC ARIMA statement is used; if the DATA= option is omitted from the PROC ARIMA statement as well, the most recently created data set is used.\",\"help\":\"DATA=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"ESACF\",\"optional\":true,\"description\":\"Computes the extended sample autocorrelation function and uses these estimates to tentatively identify the autoregressive and moving-average orders of mixed models.\",\"type\":\"standalone\"},{\"name\":\"MINIC\",\"optional\":true,\"description\":\"Uses information criteria or penalty functions to provide tentative ARMA order identification. The MINIC option generates a table that contains the computed information criterion associated with various ARMA model orders.\",\"type\":\"standalone\"},{\"name\":\"NLAG=\",\"optional\":true,\"description\":\"Indicates the number of lags to consider in computing the autocorrelations and cross-correlations. To obtain preliminary estimates of an ARIMA(p, d, q ) model, the NLAG= value must be at least p+q+d. The number of observations must be greater than or equal to the NLAG= value. The default value for NLAG= is 24 or one-fourth the number of observations, whichever is less. Even though the NLAG= value is specified, the NLAG= value can be changed according to the data set.\",\"help\":\"NLAG=*number*\",\"type\":\"value\"},{\"name\":\"NOMISS\",\"optional\":true,\"description\":\"Uses only the first continuous sequence of data with no missing values. By default, all observations are used.\",\"type\":\"standalone\"},{\"name\":\"NOPRINT\",\"optional\":true,\"description\":\"Suppresses the normal printout (including the correlation plots) generated by the IDENTIFY statement.\",\"type\":\"standalone\"},{\"name\":\"OUTCOV=\",\"optional\":true,\"description\":\"' Writes the autocovariances, autocorrelations, inverse autocorrelations, partial autocorrelations, and cross covariances to an output SAS data set. If the OUTCOV= option is not specified, no covariance output data set is created.\",\"help\":\"OUTCOV=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"P=\",\"optional\":true,\"description\":\"See the ESACF, MINIC, and SCAN options for details.\",\"type\":\"value\"},{\"name\":\"PERROR=\",\"optional\":true,\"description\":\"Determines the range of the autoregressive model orders used to estimate the error series in MINIC, a tentative ARMA order identification method.\",\"type\":\"value\"},{\"name\":\"Q=\",\"optional\":true,\"description\":\"See the ESACF, MINIC, and SCAN options for details.\",\"type\":\"value\"},{\"name\":\"SCAN\",\"optional\":true,\"description\":\"Computes estimates of the squared canonical correlations and uses these estimates to tentatively identify the autoregressive and moving-average orders of mixed models.\",\"type\":\"standalone\"},{\"name\":\"STATIONARITY=\",\"optional\":true,\"description\":\"Performs stationarity tests. Stationarity tests can be used to determine whether differencing terms should be included in the model specification. In each stationarity test, the autoregressive orders (o) can be specified by a range, test=ar-max, or as a list of values, test=(ar-1,...,ar-n), where test is ADF, PP, or RW. The default is (0,1,2).\",\"help\":\"STATIONARITY=(ADF=o DLAG=s) | (PP=o) | (RW=o)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"(ADF=o DLAG=s)\",\"description\":\"Performs augmented Dickey-Fuller tests. If the DLAG=s option is specified with s is greater than one, seasonal Dickey-Fuller tests are performed. The maximum allowable value of s is 12. The default value of s is 1.\",\"type\":\"value\"},{\"name\":\"(PP=o)\",\"description\":\"Performs Phillips-Perron tests.\",\"type\":\"value\"},{\"name\":\"(RW=o)\",\"description\":\"Performs random-walk-with-drift tests.\",\"type\":\"value\"}]},{\"name\":\"VAR=\",\"optional\":true,\"description\":\"Names the variable that contains the time series to analyze. The VAR= option is required.\",\"type\":\"value\"},{\"name\":\"WHITENOISE=\",\"optional\":true,\"description\":\"Specifies the type of test statistic that is used in the white noise test of the series when the series contains missing values.\",\"help\":\"WHITENOISE=ST | IGNOREMISS\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ST\",\"description\":\"A modification of the Ljung-Box test is used. This is the default.\",\"type\":\"standalone\"},{\"name\":\"IGNOREMISS\",\"description\":\"The standard Ljung-Box test statistic is used.\",\"type\":\"standalone\"}]}]},{\"name\":\"OUTLIER\",\"description\":\"The OUTLIER statement can be used to detect shifts in the level of the response series that are not accounted for by the previously estimated model. An ESTIMATE statement must precede the OUTLIER statement.\",\"help\":\"OUTLIER &lt;ALPHA=significance-level&gt;&lt;SIGMA=&lt;ROBUST | MSE&gt;&gt;&lt;TYPE=&lt;ADDITIVE | SHIFT | TEMP(d1,...,dk)&gt;... &gt; ...\",\"arguments\":[{\"name\":\"ALPHA=\",\"optional\":true,\"description\":\"Specifies the significance level for tests in the OUTLIER statement. The default is 0.05.\",\"help\":\"ALPHA=*significance-level*\",\"type\":\"value\"},{\"name\":\"ID=\",\"optional\":true,\"description\":\"Specifies a SAS date, time, or datetime identification variable to label the detected outliers. This variable must be present in the input data set.\",\"type\":\"value\"},{\"name\":\"MAXNUM=\",\"optional\":true,\"description\":\"Limits the number of outliers to search. The default is MAXNUM=5.\",\"help\":\"MAXNUM=*number*\",\"type\":\"value\"},{\"name\":\"MAXPCT=\",\"optional\":true,\"description\":\"Limits the number of outliers to search for according to a percentage of the series length. The default is MAXPCT=2. When both the MAXNUM= and MAXPCT= options are specified, the minimum of the two search numbers is used.\",\"help\":\"MAXPCT=*number*\",\"type\":\"value\"},{\"name\":\"SIGMA=\",\"optional\":true,\"description\":\"Specifies the type of error variance estimate to use in the statistical tests performed during the outlier detection.\",\"help\":\"SIGMA=ROBUST | MSE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ROBUST\",\"description\":\"Corresponds to a robust estimate of the error variance. This is the default.\",\"type\":\"standalone\"},{\"name\":\"MSE\",\"description\":\"Corresponds to the usual mean squared error (MSE) estimate\",\"type\":\"standalone\"}]},{\"name\":\"TYPE=\",\"optional\":true,\"description\":\"Specifies the types of level shifts to search for.\",\"help\":\"TYPE=ADDITIVE | SHIFT | TEMP(d1,...,dk) | (ADDITIVE SHIFT) | (ADDITIVE SHIFT TEMP(d1,...,dk))\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ADDITIVE\",\"description\":\"Requests searching for additive outliers\",\"type\":\"standalone\"},{\"name\":\"SHIFT\",\"description\":\"Requests searching for permanent level shifts.\",\"type\":\"standalone\"},{\"name\":\"TEMP\",\"description\":\"Requests searching for temporary changes in the level of durations d1,...,dk.\",\"help\":\"TEMP(d1,...,dk)\",\"type\":\"standalone\"},{\"name\":\"(ADDITIVE SHIFT)\",\"description\":\"Requests searching for additive outliers and permanent level shifts.\",\"type\":\"standalone\"},{\"name\":\"(ADDITIVE SHIFT TEMP(d1,...,dk))\",\"description\":\"Requests searching for additive outliers, permanent level shifts, and temporary changes in the level of durations d1,...,dk.\",\"type\":\"standalone\"}]}]}],\"interactive\":true,\"supportSiteInformation\":{\"docsetId\":\"etsug\",\"docsetVersion\":\"latest\",\"docsetTargetFile\":\"etsug_arima_toc.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/ASSESS.json",
    "content": "{\"name\":\"ASSESS\",\"statements\":[{\"name\":\"PROC ASSESS\",\"description\":\"The ASSESS procedure assesses and compares supervised learning models. For a supervised learning model that has a nominal target, the ASSESS procedure produces lift information and receiver operating characteristic (ROC) information. For a regression model, the ASSESS procedure performs a quantile binning of the predictions and then returns the summary statistics of the response variable for each bin. PROC ASSESS also calculates fit statistics such as average square error, mean square logarithmic error, mean absolute error, mean consequential error, and multiclass log loss. † The expected input to the ASSESS procedure is score data from supervised learning models.\",\"help\":\"PROC ASSESS DATA=CAS-libref.data-table <MAXITER=integer><NBINS=integer><NCUTS=integer><NTHREADS=number>;     \\n\\tBY variable ;\\n\\n\\tFITSTAT <DELIMITER|DLM = “character”><PEVENT=“event-list”> PVAR = variables ...;\\n\\n\\tFREQ variable ;\\n\\n\\tINPUT|VAR variable;\\n\\n\\tTARGET <EVENT=“string”><LEVEL=<INTERVAL | NOMINAL>> ;\\n\",\"arguments\":[{\"name\":\"DATA=\",\"description\":\"Names the input data table for PROC ASSESS to use. The default is the most recently created data table. CAS-libref.data-table is a two-level name, where\",\"help\":\"DATA=*CAS-libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"MAXITER=\",\"optional\":true,\"description\":\"Specifies the maximum number of iterations for the percentile algorithm where integer must be an integer greater than or equal to 1. By default, MAXITER=5 times the value of the NBINS= option.\",\"help\":\"MAXITER=*integer*\",\"type\":\"value\"},{\"name\":\"NBINS=\",\"optional\":true,\"description\":\"Specifies the number of bins to be used in the lift calculation, where integer must be an integer greater than or equal to 2.\",\"help\":\"NBINS=*integer*\",\"type\":\"value\"},{\"name\":\"NCUTS=\",\"optional\":true,\"description\":\"Specifies the number of cuts to be used in the ROC calculation, where integer must be an integer greater than or equal to 2. The inverse of integer represents the step size of the quantile. For example, NCUTS=10 generates 10 intervals for ROC analysis, with each step size 0.1. You cannot specify this option when the response variable that is specified in the TARGET statement is interval.\",\"help\":\"NCUTS=*integer*\",\"type\":\"value\"},{\"name\":\"NTHREADS=\",\"optional\":true,\"description\":\"Specifies the number of threads that are used in the computation, where number must be an integer between 1 and 64, inclusive. The default value is the number of CPUs available in the machine.\",\"help\":\"NTHREADS=*number*\",\"type\":\"value\"}]},{\"name\":\"BY\",\"description\":\"The BY statement specifies one partition variable to be used in the predictive model. If you specify the BY statement, PROC ASSESS performs the analysis separately for each value of the BY variable. If you do not specify the BY statement, PROC ASSESS treats the entire input data as one group for analysis. Currently, the only valid value of variable is _PartInd_.\",\"help\":\"BY variable \"},{\"name\":\"FITSTAT\",\"description\":\"The FITSTAT statement reports the following error metrics for a nominal target: average square error, divisor of average square error, root average square error, mean consequential error, and multiclass log loss. (For an interval target, the following metrics are created without specifying the FITSTAT statement: average square error, divisor of average square error, root average square error, mean absolute error, root mean absolute error, mean square logarithmic error, and root mean square logarithmic error.)\",\"help\":\"FITSTAT &lt;DELIMITER|DLM = “character”&gt;&lt;PEVENT=“event-list”&gt; PVAR = variables ...\",\"arguments\":[{\"name\":\"PVAR=\",\"description\":\"Specifies the posterior probability for each level in model prediction except the variable specified in the INPUT statement. The PVAR= option is required in the FITSTAT statement.\",\"type\":\"value\"},{\"name\":\"DELIMITER=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"DLM=\"],\"description\":\"Specifies the delimiter that is used to separate events that are specified in the PEVENT= option. A delimiter is used when event names contain embedded spaces (for example, “Fuel Oil”) or special characters (for example, “;” or “*”). You must specify the quotation marks around character. You can specify only one delimiter; combinations of delimiters are not supported. The valid values of the DELIMITER= option are “ ” (space), “;” (semicolon), “*” (asterisk), “.” (period), and “,” (comma). By default, DELIMITER=“ ” (space).\",\"type\":\"value\"},{\"name\":\"PEVENT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the events that correspond to each variable in the PVAR= option. The PEVENT= and PVAR= options must be mapped one-to-one in order. The PEVENT= option is required in the FITSTAT statement..\",\"type\":\"value\"}]},{\"name\":\"FREQ\",\"description\":\"The variable in the FREQ statement identifies a numeric variable in the data set that contains the frequency of occurrence of each observation. PROC ASSESS treats each observation as if it appears f times, where f is the value of the FREQ variable for the observation. If f is not an integer, it is truncated to an integer. If f is less than 1 or missing, the observation is not used\",\"help\":\"FREQ variable \"},{\"name\":\"INPUT\",\"aliases\":[\"VAR\"],\"description\":\"The INPUT statement specifies the names of one variable to be analyzed in model assessment. When the variable specified in the TARGET statement is nominal, variable is the posterior probability of the event to be analyzed; when the variable specified in the TARGET statement is interval, variable is the predicted value. The INPUT statement is required.\",\"help\":\"INPUT|VAR variable\"},{\"name\":\"TARGET\",\"description\":\"The TARGET statement specifies the response variable in supervised learning. The TARGET statement is required.\",\"help\":\"TARGET &lt;EVENT=“string”&gt;&lt;LEVEL=&lt;INTERVAL | NOMINAL&gt;&gt;\",\"arguments\":[{\"name\":\"EVENT=\",\"optional\":true,\"description\":\"specifies the formatted value of response variable that represents the event. For an interval target (LEVEL=INTERVAL), the EVENT= option is ignored. For a nominal target (LEVEL=NOMINAL), the EVENT= option is required.\",\"type\":\"value\"},{\"name\":\"LEVEL=\",\"optional\":true,\"description\":\"Specifies the variable type.\",\"help\":\"LEVEL=INTERVAL | NOMINAL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"INTERVAL\",\"description\":\"Specifies that the response variable is interval, which must be numeric.\",\"type\":\"standalone\"},{\"name\":\"NOMINAL\",\"description\":\"Specifies that the response variable is nominal, also known as a classification variable, which can be numeric or character.\",\"type\":\"standalone\"}]}]}],\"supportSiteInformation\":{\"docsetId\":\"casstat\",\"docsetVersion\":\"latest\",\"docsetTargetFile\":\"casstat_assess_toc.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/ASSESSBIAS.json",
    "content": "{\"name\":\"ASSESSBIAS\",\"statements\":[{\"name\":\"PROC ASSESSBIAS\",\"description\":\"The PROC ASSESSBIAS statement invokes the ASSESSBIAS procedure.\",\"help\":\"PROC ASSESSBIAS <options>;                 \\n\\tFITSTAT  PVAR=variables / PEVENT=\\\"event-list\\\"<options>;                 \\n\\n\\tFREQ variable;                 \\n\\n\\tINPUT variable;                 \\n\\n\\tSENSITIVEVAR variable</options>;                 \\n\\n\\tTARGET  variable </options>;                 \\n\\n\\tWEIGHT variable;                 \\n\",\"arguments\":[{\"name\":\"CUTOFF=\",\"optional\":true,\"description\":\"specifies a user-defined threshold for target events for multiclass classification, where ratio is between 0 and 1. By default, CUTOFF=0.5.\",\"help\":\"CUTOFF=*ratio*\",\"type\":\"value\"},{\"name\":\"DATA=\",\"optional\":true,\"description\":\"names the input data table for PROC ASSESSBIAS to use. The default is the most recently created data table.\",\"help\":\"DATA=*libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"NBINS=\",\"optional\":true,\"description\":\"specifies the number of bins to use in the lift calculation, where integer is an integer greater than or equal to 2. By default, NBINS=20.\",\"help\":\"NBINS=*integer*\",\"type\":\"value\"},{\"name\":\"NCUTS=\",\"optional\":true,\"description\":\"specifies the number of cuts to use in the ROC calculation, where integer is an integer greater than or equal to 2 and less than or equal to 100. The inverse of integer represents the step size of the quantile. For example, NCUTS=10 generates 10 intervals for ROC analysis, where each step size is 0.1. You do not need to specify this option when you specify an interval-type response variable in the TARGET statement. By default, NCUTS=100.\",\"help\":\"NCUTS=*integer*\",\"type\":\"value\"},{\"name\":\"SELECTIONDEPTH=\",\"optional\":true,\"description\":\"specifies the depth to use in lift calculations, where integer is an integer greater than or equal to 1 and less than or equal to 100. By default, SELECTIONDEPTH=10.\",\"help\":\"SELECTIONDEPTH=*integer*\",\"type\":\"value\"}]},{\"name\":\"FITSTAT\",\"description\":\"The FITSTAT statement reports the statistical metrics that are related to lift analysis and ROC analysis that the ASSESS procedure performs. This statement is required when the target is nominal.\",\"help\":\"FITSTAT  PVAR=*variables* / PEVENT=*\\\"event-list\\\"*&lt;options&gt;;                                              \",\"arguments\":[{\"name\":\"PEVENT=\",\"description\":\"specifies the events that correspond to each variable in the PVAR= option. The \\\"event-list\\\" cannot include the event that corresponds to the variable in the TARGET statement. The \\\"event-list\\\" is case-sensitive, and missing values are not allowed. You must specify the PEVENT= and PVAR= options the same number of times and in the same order. The maximum length of \\\"event-list\\\" is 5,000 characters.\",\"help\":\"PEVENT=*\\\"event-list\\\"*\",\"type\":\"value\"},{\"name\":\"PVAR=\",\"description\":\"specifies the posterior probability for each level in model prediction except the variable that you specify in the INPUT statement. Duplicate variables are not allowed.\",\"help\":\"PVAR=*variables*\",\"type\":\"value\"},{\"name\":\"DELIMITER=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"DLM=\"],\"description\":\"specifies the delimiter that is used to separate events that you specify in the PEVENT= option. A delimiter is used when event names contain embedded spaces (such as \\\"Fuel Oil\\\") or special characters (such as \\\";\\\" or \\\"*\\\"). You must use quotation marks around character. You can specify only one delimiter; combinations of delimiters are not supported. The valid values of the DELIMITER= option are \\\" \\\" (space), \\\";\\\" (semicolon), \\\"*\\\" (asterisk), \\\".\\\" (period), and \\\",\\\" (comma). By default, DELIMITER=\\\" \\\" (space). If you specify a delimiter other than \\\" \\\", PROC ASSESSBIAS treats any spaces (including empty spaces) as valid characters. You are responsible for mapping events correctly in order to obtain correct results.\",\"help\":\"DELIMITER=*\\\"character\\\"*\",\"type\":\"value\"}]},{\"name\":\"FREQ\",\"description\":\"The variable in the FREQ statement identifies a numeric variable in the input data table that contains the frequency of occurrence of each observation. PROC ASSESSBIAS treats each observation as if it appears f times, where f is the value of the FREQ variable for the observation. If f is not an integer, it is truncated to an integer. If f is less than 1 or missing, the observation is not used in the analysis. When you omit the FREQ statement, each observation is assigned a frequency of 1.\",\"help\":\"FREQ  variable;                                              \"},{\"name\":\"INPUT\",\"description\":\"The INPUT statement specifies the name of one variable to be analyzed in model assessment. When you specify a nominal variable in the TARGET statement, variable is the posterior probability of the event to be analyzed. When you specify an interval-type variable, variable is the predicted value.\",\"help\":\"INPUT variable;                                              \\nVAR variable;                     \"},{\"name\":\"SENSITIVEVAR\",\"description\":\"The SENSITIVEVAR statement specifies the sensitive variable in modeling. Only one sensitive variable is accepted.\",\"help\":\"SENSITIVEVAR  variable &lt;/options&gt;;                                              \",\"arguments\":[{\"name\":\"REFERENCELEVEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the base level of the sensitive variable to be compared with. If you omit this option, PROC ASSESSBIAS reports the maximum pairwise difference among all levels of the sensitive variable. If you specify this option, PROC ASSESSBIAS reports the maximum pairwise difference between the specified reference level and all other levels of the sensitive variable.\",\"help\":\"REFERENCELEVEL=*\\\"string\\\"*\",\"type\":\"value\"}]},{\"name\":\"TARGET\",\"description\":\"The TARGET statement specifies the response variable in supervised learning\",\"help\":\"TARGET  variable &lt;/options&gt;;                                              \",\"arguments\":[{\"name\":\"EVENT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the string formatted value of the response variable that represents the event. For an interval target (LEVEL=INTERVAL), the EVENT= option is ignored. For a nominal target (LEVEL=NOMINAL), the EVENT= option is required.\",\"help\":\"EVENT=\\\"*string*\\\"\",\"type\":\"value\"},{\"name\":\"LEVEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the variable type. By default, LEVEL=INTERVAL.\",\"help\":\"LEVEL=INTERVAL | NOMINAL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"INTERVAL\",\"followsDelimiter\":\"/\",\"description\":\"specifies that the response variable is interval, which must be numeric.\",\"type\":\"standalone\"},{\"name\":\"NOMINAL\",\"followsDelimiter\":\"/\",\"description\":\"specifies that the response variable is nominal, also known as a classification variable, which can be numeric or character.\",\"type\":\"standalone\"}]}]},{\"name\":\"WEIGHT\",\"description\":\"The variable in the WEIGHT statement is used as a weight to perform a weighted analysis of ROC information and fit statistics. If specified, the WEIGHT statement is ignored in lift analysis. If you analyze ROC information and fit statistics, nonpositive or missing weights are ignored in the analysis. When you omit the WEIGHT statement, all observations that are used in the analysis are assigned a weight of 1.\",\"help\":\"WEIGHT *variable*;                                              \"}],\"supportSiteInformation\":{\"docsetId\":\"casml\",\"docsetVersion\":\"latest\",\"docsetTargetFile\":\"casml_assessbias_toc.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/ASTORE.json",
    "content": "{\"name\":\"ASTORE\",\"statements\":[{\"name\":\"PROC ASTORE\",\"description\":\"The ASTORE procedure is an interactive procedure in which each statement runs immediately. PROC ASTORE enables you to describe an analytic store, manage the analytic store, and use the analytic store to score new data. The analytic store is the result of a SAVESTATE statement from another analytic procedure; it is a binary file that contains that procedure’s state after the training phase of data analysis is completed.\",\"help\":\"PROC ASTORE;     \\n\\tCHECK ONNX=local-file-name;\\n\\n\\tDESCRIBE RSTORE=libref.data-table STORE=local-file-name ONNX=local-file-name <EPCODE=code-file-name> ...;\\n\\n\\tDOWNLOAD RSTORE=libref.data-table STORE=local-file-name;\\n\\n\\tEXTRACT ONNX=local-file-name RSTORE=libref.data.table STORE=local-file-name;\\n\\n\\tSAVEAS DATA=libref.data-table INPUT=(input-options) ONNX=local-file-name OUTPUT=(output-options) RSTORE=libref.data-table STORE=local-file-name …;\\n\\n\\tSCORE DATA=libref.data-table OUT=libref.data-table RSTORE=libref.data-table STORE=local-file-name ...;\\n\\n\\tSETOPTION name value;\\n\\n\\tUPLOAD RSTORE=libref.data-table STORE=local-file-name;\\n\"},{\"name\":\"CHECK\",\"description\":\"The CHECK statement checks whether a file that you specify by local-file-name is a valid Open Neural Network Exchange (ONNX) model.\",\"help\":\"CHECK ONNX=local-file-name;\",\"arguments\":[{\"name\":\"ONNX=\",\"description\":\"specifies either the file reference or the full path of the local file. You must specify at least one ONNX= option. You can specify as many additional ONNX= options as you need.\",\"help\":\"ONNX=*local-file-name*\",\"type\":\"value\"}]},{\"name\":\"DESCRIBE\",\"description\":\"The DESCRIBE statement specifies the name or identifier of an analytic store or an Open Neural Network Exchange (ONNX) model. You can specify an analytic store either in the local file system by using the STORE= option or in a data table by using the RSTORE= option. You can specify an ONNX model in the local file system only by using the ONNX= option. The DESCRIBE statement can also produce DS2 basic scoring code if you specify an analytic store. You can edit the basic scoring code to add transformations to the input variables, flag or override the decision made for the record, work with ensembles, and so on.\",\"help\":\"DESCRIBE RSTORE=libref.data-table STORE=local-file-name ONNX=local-file-name &lt;EPCODE=code-file-name&gt; …;\",\"arguments\":[{\"name\":\"RSTORE=\",\"description\":\"specifies the table that contains the analytic store. libref.data-table is a two-level name, where libref refers to the library, and data-table specifies the name of the input data table.\",\"help\":\"RSTORE=*libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"STORE=\",\"description\":\"specifies either the file reference or the full path of a valid store file that was created earlier by some analytic engine and exists in the local file system.\",\"help\":\"STORE=*local-file-name*\",\"type\":\"value\"},{\"name\":\"ONNX=\",\"description\":\"specifies either the file reference or the full path of a valid ONNX file.\",\"help\":\"ONNX=*local-file-name*\",\"type\":\"value\"},{\"name\":\"EPCODE=\",\"optional\":true,\"description\":\"sends DS2 language code to an external code file that is identified by code-file-name, which is either the file reference or the full path name and member name of the external code file. The DS2 code allows you to score concurrently with multiple analytic stores as long as they share the same input and output variables. The store key identifier plays an important role in managing multiple analytic stores in a single run.\",\"help\":\"EPCODE=*code-file-name*\",\"type\":\"value\"},{\"name\":\"DATA=\",\"optional\":true,\"description\":\"names the input data table for PROC ASTORE to use. libref.data-table is a two-level name, where libref refers to the library, and data-table specifies the name of the input data table. You can specify the DATA= option if you want the input variable declarations in the generated DS2 code to have the properties that are specified in the input data table.\",\"help\":\"DATA=*libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"COPYVARS=\",\"optional\":true,\"description\":\"copies one or more variables from the input data table that you specify in the DATA= option to the output data table. If you specify them inside parentheses, you can abbreviate the variables as a SAS variable list. The COPYVARS= option must follow the DATA= option, which provides the input data table.\",\"help\":\"COPYVARS=*variable | (variables)*\",\"type\":\"value\"}]},{\"name\":\"DOWNLOAD\",\"description\":\"The DOWNLOAD statement retrieves an external binary analytic store that was produced by another procedure and stores it in the local file system.\",\"help\":\"DOWNLOAD RSTORE=libref.data-table STORE=local-file-name;\",\"arguments\":[{\"name\":\"RSTORE=\",\"description\":\"specifies a data table that contains the state to be downloaded. libref.data-table is a two-level name, where libref refers to the library, and data-table specifies the name of the input data table.\",\"help\":\"RSTORE=*libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"STORE=\",\"description\":\"specifies either the file reference or the full path of the local analytic store file to which the contents of the data table are to be downloaded. By default, the downloaded file will be located in the directory where SAS is running.\",\"help\":\"STORE=*local-file-name*\",\"type\":\"value\"}]},{\"name\":\"EXTRACT\",\"description\":\"The EXTRACT statement extracts the Open Neural Network Exchange (ONNX) model that is saved to an analytic store and stores it in the local file system. You can specify an analytic store either in the local file system by using the STORE= option or in a data table by using the RSTORE= option. You can specify an ONNX model in the local file system only by using the ONNX= option.\",\"help\":\"EXTRACT ONNX=local-file-name RSTORE=libref.data.table STORE=local-file-name;\",\"arguments\":[{\"name\":\"ONNX=\",\"description\":\"specifies either the file reference or the full path of the local ONNX file in which the contents of the extracted ONNX model are to be stored.\",\"help\":\"ONNX=*local-file-name*\",\"type\":\"value\"},{\"name\":\"RSTORE=\",\"description\":\"specifies a data table that contains the saved ONNX model. libref.data-table is a two-level name, where libref refers to the library, and data-table specifies the name of the input data table.\",\"help\":\"RSTORE=*libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"STORE=\",\"description\":\"specifies either the file reference or the full path of a valid store file that contains the saved ONNX model.\",\"help\":\"STORE=*local-file-name*\",\"type\":\"value\"}]},{\"name\":\"SAVEAS\",\"description\":\"The SAVEAS statement enables you to save an Open Neural Network Exchange (ONNX) model to an analytic store.\",\"help\":\"SAVEAS DATA=libref.data-table INPUT=(input-options) ONNX=local-file-name OUTPUT=(output-options) RSTORE=libref.data-table STORE=local-file-name …;\",\"arguments\":[{\"name\":\"DATA=\",\"description\":\"names the input data table for PROC ASTORE to use. libref.data-table is a two-level name, where libref refers to the library, and data-table specifies the name of the input data table.\",\"help\":\"DATA=*libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"INPUT=\",\"description\":\"specifies the mapping information for the input value information of the ONNX model that you specify in ONNX= option. If you specify more than one INPUT= option, the order must match that of the input value information in the DESCRIBE statement. The number of INPUT= options must match the number of input tensors of the ONNX model.\",\"help\":\"INPUT=*(input-options)*\",\"type\":\"value\"},{\"name\":\"ONNX=\",\"description\":\"specifies either the file reference or the full path of a valid ONNX file.\",\"help\":\"ONNX=*local-file-name*\",\"type\":\"value\"},{\"name\":\"OUTPUT=\",\"description\":\"specifies the mapping information for the output value information of the ONNX model that you specify in the ONNX= option. If you specify more than one OUTPUT= option, the order must match that of the output value information in the DESCRIBE statement. The number of OUTPUT= options must match the number of output tensors of the ONNX model. If you specify the MODELTYPE= option, the OUTPUT= option is ignored.\",\"help\":\"OUTPUT=*(output-options)*\",\"type\":\"value\"},{\"name\":\"RSTORE=\",\"description\":\"specifies the data table to contain the analytic store that saves the ONNX model that you specify in the ONNX= option. libref.data-table is a two-level name, where libref refers to the library, and data-table specifies the name of the input data table.\",\"help\":\"RSTORE=*libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"STORE=\",\"description\":\"specifies the local file to contain the analytic store that saves the ONNX model that you specify in the ONNX= option.\",\"help\":\"STORE=*local-file-name*\",\"type\":\"value\"},{\"name\":\"ANCHORBOXES=\",\"optional\":true,\"description\":\"specifies the shape of the anchor boxes for the model that you specify in the ONNX= option. The shape of an anchor box consists of the width and height of the box. The order of values in the number-list is as follows: the width of the first anchor box, the height of the first anchor box, the width of the second anchor box, the height of the second anchor box, and so on. The number of values in the number-list must be 2 times the number that you specify in the NUMANCHORS= option.\",\"help\":\"ANCHORBOXES=*(anchors)*\",\"type\":\"value\"},{\"name\":\"INTOFORMATTEDLEN=\",\"optional\":true,\"description\":\"specifies the length of the INTO column for scoring. You must specify this option if you want the INTO column to appear in the scoring output for classification models.\",\"help\":\"INTOFORMATTEDLEN=*into-formatted-len*\",\"type\":\"value\"},{\"name\":\"LABEL=\",\"optional\":true,\"description\":\"specifies the labels for the output classes. The number of labels must match that of the ONNX model.\",\"help\":\"LABEL=*(output-labels)*\",\"type\":\"value\"},{\"name\":\"MAXOBJECTS=\",\"optional\":true,\"description\":\"specifies the maximum number of objects to be detected. Use this option when you specify the MODELTYPE= option. By default, MAXOBJECTS=10.\",\"help\":\"MAXOBJECTS=*max-objects*\",\"type\":\"value\"},{\"name\":\"MODELTYPE=\",\"optional\":true,\"description\":\"specifies the model type for the ONNX file that you specify in the ONNX= option. If you specify the MODELTYPE= option, the model-specific postprocessing is applied during scoring.\",\"help\":\"MODELTYPE=*FASTERRCNN | SSD | YOLOV2 | YOLOV3 | YOLOV4*\",\"type\":\"value\"},{\"name\":\"NUMANCHORS=\",\"optional\":true,\"description\":\"specifies the number of anchor boxes for the model that you specify in the ONNX= option. Use this option when you specify the MODELTYPE=YOLOV2 or YOLOV4 option.\",\"help\":\"NUMANCHORS=*num-anchors*\",\"type\":\"value\"},{\"name\":\"ORIGIMGDIMVARS=\",\"optional\":true,\"description\":\"specifies variables that correspond to the dimensions of the original image. You must specify the height as the first variable, then specify the width.\",\"help\":\"ORIGIMGDIMVARS=*(variables)*\",\"type\":\"value\"},{\"name\":\"STRIDE=\",\"optional\":true,\"description\":\"specifies the stride(s) of the output tensor(s) for the model that you specify in the ONNX= option. Use this option when you specify the MODELTYPE=YOLOV4 option.\",\"help\":\"STRIDE=*stride | (strides)*\",\"type\":\"value\"},{\"name\":\"XYSCALE=\",\"optional\":true,\"description\":\"specifies the scale for the X and Y coordinates of the bounding boxes for the model that you specify in the ONNX= option. Use this option when you specify the MODELTYPE=YOLOV4 option.\",\"help\":\"XYSCALE=*(xyscale)*\",\"type\":\"value\"}]},{\"name\":\"SCORE\",\"description\":\"The SCORE statement enables you to score both simple and complex models saved in analytic stores. You can specify an analytic store either in the local file system by using the STORE= option or in a data table by using the RSTORE= option.\",\"help\":\"SCORE DATA=libref.data-table OUT=libref.data-table RSTORE=libref.data-table STORE=local-file-name …;\",\"arguments\":[{\"name\":\"DATA=\",\"description\":\"names the input data table for PROC ASTORE to use. libref.data-table is a two-level name, where libref refers to the library, and data-table specifies the name of the input data table.\",\"help\":\"DATA=*libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"OUT=\",\"description\":\"names the output data table where PROC ASTORE saves the scored results for the specified input data and analytic store. libref.data-table is a two-level name, where libref refers to the library, and data-table specifies the name of the output data table. You can specify additional OUT= options, one for each table that the model produces. You can use the DESCRIBE statement to see how many output tables a model produces. If a model produces more than one output table, you must specify the OUT= options in the order in which they are listed in the DESCRIBE statement.\",\"help\":\"OUT=*libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"RSTORE=\",\"description\":\"specifies the table that contains the analytic store. libref.data-table is a two-level name, where libref refers to the library, and data-table specifies the name of the input data table. You can specify as many additional RSTORE= options as you need. When you specify more than one RSTORE= option and you omit the EPCODE= option, you must make sure that the dependence among these analytic stores forms a directed acyclic graph (DAG). An analytic store A is said to depend on an analytic store B when at least one input variable of store A is an output variable of store B.\",\"help\":\"RSTORE=*libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"STORE=\",\"description\":\"specifies either the file reference or the full path of a valid store file that was created earlier by some analytic engine and exists in the local file system. You can specify as many additional STORE= options as you need. When you specify more than one STORE= option and you omit the EPCODE= option, you must make sure that the dependence among these analytic stores forms a directed acyclic graph (DAG). An analytic store A is said to depend on an analytic store B when at least one input variable of store A is an output variable of store B.\",\"help\":\"STORE=*local-file-name*\",\"type\":\"value\"},{\"name\":\"COPYVARS=\",\"optional\":true,\"description\":\"transfers one or more variables from the input data table that you specify in the DATA= option to the output data table that you specify in the OUT= option. If you specify them inside parentheses, you can abbreviate the variables as a SAS variable list.\",\"help\":\"COPYVARS=*variable | (variables)*\",\"type\":\"value\"},{\"name\":\"EPCODE=\",\"optional\":true,\"description\":\"names the location of the optional scoring code file (which was created by the DESCRIBE statement) and loads that file for scoring. You can use this option when you have changed the contents of the scoring code.\",\"help\":\"EPCODE=*code-file-name*\",\"type\":\"value\"}]},{\"name\":\"SETOPTION\",\"description\":\"The SETOPTION statement associates a value to a specified name. During scoring, PROC ASTORE uses the value for the option that corresponds to name. name specifies an identifier for the option, where name must begin with an alphabetic character or underscore, can contain only alphanumerics and underscores, and is limited to 200 characters. value specifies a value for the named option.\",\"help\":\"SETOPTION name value;\"},{\"name\":\"UPLOAD\",\"description\":\"The UPLOAD statement moves an analytic store from the local file system into a data table.\",\"help\":\"UPLOAD RSTORE=libref.data-table STORE=local-file-name; \",\"arguments\":[{\"name\":\"RSTORE=\",\"description\":\"specifies the table to which the store is sent. libref.data-table is a two-level name, where libref refers to the library, and data-table specifies the name of the output data table.\",\"help\":\"RSTORE=*libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"STORE=\",\"description\":\"specifies either the file reference or the full path of the valid store file that was created earlier by some analytic engine and exists in the local file system.\",\"help\":\"STORE=*local-file-name*\",\"type\":\"value\"}]}],\"interactive\":true,\"supportSiteInformation\":{\"docsetId\":\"casml\",\"docsetVersion\":\"latest\",\"docsetTargetFile\":\"casml_astore_toc.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/AUTOREG.json",
    "content": "{\"name\":\"AUTOREG\",\"statements\":[{\"name\":\"PROC AUTOREG\",\"description\":\"The AUTOREG procedure estimates and forecasts linear regression models for time series data when the errors are autocorrelated or heteroscedastic. The autoregressive error model is used to correct for autocorrelation, and the generalized autoregressive conditional heteroscedasticity (GARCH) model and its variants are used to model and correct for heteroscedasticity. † When time series data are used in regression analysis, often the error term is not independent through time. Instead, the errors are serially correlated or autocorrelated. If the error term is autocorrelated, the efficiency of ordinary least squares (OLS) parameter estimates is adversely affected and standard error estimates are biased. † The autoregressive error model corrects for serial correlation. The AUTOREG procedure can fit autoregressive error models of any order and can fit subset autoregressive models. You can also specify stepwise autoregression to select the autoregressive error model automatically. † The AUTOREG procedure supports the following variations of the GARCH models: † o generalized ARCH (GARCH) o integrated GARCH (IGARCH) o exponential GARCH (EGARCH) o quadratic GARCH (QGARCH) o threshold GARCH (TGARCH) o power GARCH (PGARCH) o GARCH-in-mean (GARCH-M)\",\"help\":\"PROC AUTOREG <COVOUT><DATA= SAS-data-set><OUTEST= SAS-data-set><PLOTS=ALL | ACF | IACF... >;     \\n\\tBY variables ;\\n\\n\\tCLASS variables ;\\n\\n\\tHETERO <COEF=<NONNEG | UNIT | ZERO>... ><LINK=<EXP | SQUARE | LINEAR>><STD=<NONNEG | UNIT | UNREST>> ...;\\n\\n\\tLAGLIST;\\n\\n\\tMODEL <CENTER><NLAG= number | NLAG= (number-list)><NOINT> ...;\\n\\n\\tNLOPTIONS <ABSCONV= | ABSTOL=r><ABSFCONV=r[n] | ABSFTOL=r[n><ABSGCONV=r[n] | ABSGTOL=r[n> ...;\\n\\n\\tOUTPUT <ALPHACLI= number><ALPHACLM= number><OUT= SAS-data-set> ...;\\n\\n\\tRESTRICT equation , ..., equation ;\\n\\n\\tTEST <TYPE=<F | WALD | LM>... > ;\\n\",\"arguments\":[{\"name\":\"COVOUT\",\"optional\":true,\"description\":\"Writes the covariance matrix for the parameter estimates to the OUTEST= data set. This option is valid only if the OUTEST= option is specified.\",\"type\":\"standalone\"},{\"name\":\"DATA=\",\"optional\":true,\"description\":\"Specifies the input SAS data set. If the DATA= option is not specified, PROC AUTOREG uses the most recently created SAS data set.\",\"type\":\"value\"},{\"name\":\"OUTEST=\",\"optional\":true,\"description\":\"Writes the parameter estimates to an output data set.\",\"type\":\"value\"},{\"name\":\"PLOTS=\",\"optional\":true,\"description\":\"Requests that the AUTOREG procedure produce statistical graphics via the Output Delivery System, provided that the ODS GRAPHICS statement has been specified. The global-plot-options apply to all relevant plots generated by the AUTOREG procedure. The global-plot-options supported by the AUTOREG procedure follow. ONLY suppresses the default plots. Only the plots specifically requested are produced.\",\"help\":\"PLOTS=ALL | ACF | IACF | PACF | FITPLOT | COOKSD | QQ | RESIDUAL | STUDENTRESIDUAL | STANDARDRESIDUAL | WHITENOISE | RESIDUALHISTOGRAM | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ALL\",\"description\":\"Requests that all plots appropriate for the particular analysis be produced.\",\"type\":\"standalone\"},{\"name\":\"ACF\",\"description\":\"Produces the autocorrelation function plot.\",\"type\":\"standalone\"},{\"name\":\"IACF\",\"description\":\"Produces the inverse autocorrelation function plot of residuals.\",\"type\":\"standalone\"},{\"name\":\"PACF\",\"description\":\"Produces the partial autocorrelation function plot of residuals.\",\"type\":\"standalone\"},{\"name\":\"FITPLOT\",\"description\":\"Plots the predicted and actual values.\",\"type\":\"standalone\"},{\"name\":\"COOKSD\",\"description\":\"Produces the Cook’s D plot.\",\"type\":\"standalone\"},{\"name\":\"QQ\",\"description\":\"Q-Q plot of residuals.\",\"type\":\"standalone\"},{\"name\":\"RESIDUAL\",\"description\":\"Plots the residuals.\",\"type\":\"standalone\"},{\"name\":\"STUDENTRESIDUAL\",\"description\":\"Plots the studentized residuals.\",\"type\":\"standalone\"},{\"name\":\"STANDARDRESIDUAL\",\"description\":\"Plots the standardized residuals.\",\"type\":\"standalone\"},{\"name\":\"WHITENOISE\",\"description\":\"Plots the white noise probabilities.\",\"type\":\"standalone\"},{\"name\":\"RESIDUALHISTOGRAM\",\"description\":\"Plots the histogram of residuals.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"Suppresses all plots.\",\"type\":\"standalone\"}]}]},{\"name\":\"BY\",\"description\":\"A BY statement can be used with PROC AUTOREG to obtain separate analyses on observations in groups defined by the BY variables.\",\"help\":\"BY variables \"},{\"name\":\"CLASS\",\"description\":\"The CLASS statement names the classification variables to be used in the analysis. Classification variables can be either character or numeric. In PROC AUTOREG, the CLASS statement enables you to output class variables to a data set that contains a copy of the original data. Class levels are determined from the formatted values of the CLASS variables. Thus, you can use formats to group values into levels.\",\"help\":\"CLASS variables \"},{\"name\":\"HETERO\",\"description\":\"The HETERO statement specifies variables that are related to the heteroscedasticity of the residuals and the way these variables are used to model the error variance of the regression.\",\"help\":\"HETERO &lt;COEF=&lt;NONNEG | UNIT | ZERO&gt;... &gt;&lt;LINK=&lt;EXP | SQUARE | LINEAR&gt;&gt;&lt;STD=&lt;NONNEG | UNIT | UNREST&gt;&gt; ...\",\"arguments\":[{\"name\":\"COEF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Imposes constraints on the estimated parameters η of the heteroscedasticity model.\",\"help\":\"COEF=NONNEG | UNIT | ZERO | UNREST\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NONNEG\",\"followsDelimiter\":\"/\",\"description\":\"Specifies that the estimated heteroscedasticity parameters η must be nonnegative.\",\"type\":\"standalone\"},{\"name\":\"UNIT\",\"followsDelimiter\":\"/\",\"description\":\"Constrains all heteroscedasticity parameters η to equal 1\",\"type\":\"standalone\"},{\"name\":\"ZERO\",\"followsDelimiter\":\"/\",\"description\":\"Constrains all heteroscedasticity parameters η to equal 0.\",\"type\":\"standalone\"},{\"name\":\"UNREST\",\"followsDelimiter\":\"/\",\"description\":\"Specifies unrestricted estimation of η.\",\"type\":\"standalone\"}]},{\"name\":\"LINK=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the functional form of the heteroscedasticity model. By default, LINK=EXP. If you specify a GARCH model with the HETERO statement, the model is estimated using LINK= LINEAR only.\",\"help\":\"LINK=EXP | SQUARE | LINEAR\",\"type\":\"choice\",\"arguments\":[{\"name\":\"EXP\",\"followsDelimiter\":\"/\",\"description\":\"Specifies the exponential link function.\",\"type\":\"standalone\"},{\"name\":\"SQUARE\",\"followsDelimiter\":\"/\",\"description\":\"Specifies the square link function.\",\"type\":\"standalone\"},{\"name\":\"LINEAR\",\"followsDelimiter\":\"/\",\"description\":\"Specifies the linear function; that is, the HETERO statement variables predict the error variance linearly.\",\"type\":\"standalone\"}]},{\"name\":\"NOCONST\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies that the heteroscedasticity model does not include the unit term for the LINK=SQUARE and LINK=LINEAR options.\",\"type\":\"standalone\"},{\"name\":\"STD=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Imposes constraints on the estimated standard deviation σ of the heteroscedasticity model.\",\"help\":\"STD=NONNEG | UNIT | UNREST\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NONNEG\",\"followsDelimiter\":\"/\",\"description\":\"Specifies that the estimated standard deviation parameter σ must be nonnegative.\",\"type\":\"standalone\"},{\"name\":\"UNIT\",\"followsDelimiter\":\"/\",\"description\":\"Constrains the standard deviation parameter σ to equal 1.\",\"type\":\"standalone\"},{\"name\":\"UNREST\",\"followsDelimiter\":\"/\",\"description\":\"Specifies unrestricted estimation of σ.\",\"type\":\"standalone\"}]},{\"name\":\"TEST=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Produces a Lagrange multiplier test for heteroscedasticity. The null hypothesis is homoscedasticity; the alternative hypothesis is heteroscedasticity of the form specified by the HETERO statement. The power of the test depends on the variables specified in the HETERO statement.\",\"help\":\"TEST=LM\",\"type\":\"choice\",\"arguments\":[{\"name\":\"LM\",\"followsDelimiter\":\"/\",\"description\":\"Specifies a Lagrange multiplier test for heteroscedasticity.\",\"type\":\"standalone\"}]}]},{\"name\":\"LAGLIST\",\"description\":\"This is no longer supported under SAS/ETS 9.22.\",\"help\":\"LAGLIST\"},{\"name\":\"MODEL\",\"description\":\"The MODEL statement specifies the dependent variable and independent regressor variables for the regression model. If no independent variables are specified in the MODEL statement, only the mean is fitted. (This is a way to obtain autocorrelations of a series. Models can be given labels of up to eight characters. Model labels are used in the printed output to identify the results for different models.)\",\"help\":\"MODEL &lt;CENTER&gt;&lt;NLAG= number | NLAG= (number-list)&gt;&lt;NOINT&gt; ...\",\"arguments\":[{\"name\":\"ALL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests all printing options.\",\"type\":\"standalone\"},{\"name\":\"ARCHTEST=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies tests for the absence of ARCH effects. The following options can be used in the ARCHTEST=( ) option. The options are listed within parentheses and separated by commas. QLM | QLMARCH requests the Q and Engle’s LM tests. LK | LKARCH requests Lee and King’s ARCH tests. WL | WLARCH requests Wong and Li’s ARCH tests.\",\"help\":\"ARCHTEST=ALL | WL | WLARCH | LK | LKARCH | QLM | QLMARCH\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ALL\",\"type\":\"standalone\"},{\"name\":\"WL\",\"type\":\"standalone\"},{\"name\":\"WLARCH\",\"type\":\"standalone\"},{\"name\":\"LK\",\"type\":\"standalone\"},{\"name\":\"LKARCH\",\"type\":\"standalone\"},{\"name\":\"QLM\",\"type\":\"standalone\"},{\"name\":\"QLMARCH\",\"type\":\"standalone\"}]},{\"name\":\"BACKSTEP\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Removes insignificant autoregressive parameters. The parameters are removed in order of least significance. This backward elimination is done only once on the Yule-Walker estimates computed after the initial ordinary least squares estimation. The BACKSTEP option can be used with all estimation methods since the initial parameter values for other estimation methods are estimated using the Yule-Walker method.\",\"type\":\"standalone\"},{\"name\":\"BDS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies Brock-Dechert-Scheinkman (BDS) tests for independence. The following options can be used in the BDS=( ) option. The options are listed within parentheses and separated by commas. M=number specifies the maximum number of the embedding dimension. The BDS tests with embedding dimension from 2 to M are calculated. M must be an integer between 2 and 20. The default value of the M= suboption is 20. D=number specifies the parameter to determine the radius for BDS test. The BDS test sets up the radius as r=D*σ, where σ is the standard deviation of the time series to be tested. By default, D=1.5. PVALUE=DIST | SIM specifies the way to calculate the p-values. By default or if PVALUE=DIST is specified, the p-values are calculated according to the asymptotic distribution of BDS statistics (that is, the standard normal distribution). Otherwise, for samples of size less than 500, the p-values are obtained though Monte Carlo simulation. Z=value specifies the type of the time series (residuals) to be tested. The values of the Z= suboption are as follows: Y -- specifies the regressand. The default is Z=Y. RO -- specifies the OLS residuals. R -- specifies the residuals of the final model. RM -- specifies the structural residuals of the final model.\",\"type\":\"value\"},{\"name\":\"CENTER\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Centers the dependent variable by subtracting its mean and suppresses the intercept parameter from the model. This option is valid only when the model does not have regressors (explanatory variables).\",\"type\":\"standalone\"},{\"name\":\"CHOW=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Computes Chow tests to evaluate the stability of the regression coefficient. The Chow test is also called the analysis-of-variance test. Each value obs-i listed on the CHOW= option specifies a break point of the sample. The sample is divided into parts at the specified break point, with observations before obs-i in the first part and obs-i and later observations in the second part, and the fits of the model in the two parts are compared to whether both parts of the sample are consistent with the same model. The break points obs-i refer to observations within the time range of the dependent variable, ignoring missing values before the start of the dependent series. Thus, CHOW=20 specifies the 20th observation after the first nonmissing observation for the dependent variable. For example, if the dependent variable Y contains 10 missing values before the first observation with a nonmissing Y value, then CHOW=20 actually refers to the 30th observation in the data set.\",\"type\":\"value\"},{\"name\":\"COEF\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Prints the transformation coefficients for the first p observations. These coefficients are formed from a scalar multiplied by the inverse of the Cholesky root of the Toeplitz matrix of autocovariances.\",\"type\":\"standalone\"},{\"name\":\"CONVERGE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the convergence criterion. If the maximum absolute value of the change in the autoregressive parameter estimates between iterations is less than this amount, then convergence is assumed. The default is CONVERGE=.001.\",\"type\":\"value\"},{\"name\":\"CORRB\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Prints the estimated correlations of the parameter estimates.\",\"type\":\"standalone\"},{\"name\":\"COVB\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Prints the estimated covariances of the parameter estimates.\",\"type\":\"standalone\"},{\"name\":\"COVEST=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the type of covariance matrix for the GARCH or heteroscedasticity model.\",\"help\":\"COVEST=OP | HESSIAN | QML\",\"type\":\"choice\",\"arguments\":[{\"name\":\"OP\",\"followsDelimiter\":\"/\",\"description\":\"The outer product matrix is used to compute the covariance matrix of the parameter estimates. This is the default.\",\"type\":\"standalone\"},{\"name\":\"HESSIAN\",\"followsDelimiter\":\"/\",\"description\":\"Produces the covariance matrix by using the Hessian matrix.\",\"type\":\"standalone\"},{\"name\":\"QML\",\"followsDelimiter\":\"/\",\"description\":\"Computes the quasi-maximum likelihood estimates.\",\"type\":\"standalone\"}]},{\"name\":\"DIST=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the distribution assumed for the error term in GARCH-type estimation. If no GARCH= option is specified, the option is ignored. If EGARCH is specified, the distribution is always normal distribution.\",\"help\":\"DIST=T | NORMAL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"T\",\"followsDelimiter\":\"/\",\"description\":\"Specifies Student’s t distribution.\",\"type\":\"standalone\"},{\"name\":\"NORMAL\",\"followsDelimiter\":\"/\",\"description\":\"Specifies the standard normal distribution. This is the default.\",\"type\":\"standalone\"}]},{\"name\":\"DW=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Prints Durbin-Watson statistics up to the order n. The default is DW=1. When the LAGDEP option is specified, the Durbin-Watson statistic is not printed unless the DW= option is explicitly specified.\",\"type\":\"value\"},{\"name\":\"DWPROB\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Now produces p-values for the generalized Durbin-Watson test statistics for large sample sizes. Previously, the Durbin-Watson probabilities were calculated only for small sample sizes. The new method of calculating Durbin-Watson probabilities is based on the algorithm of Ansley, Kohn, and Shively (1992).\",\"type\":\"standalone\"},{\"name\":\"GARCH=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies a GARCH-type conditional heteroscedasticity model. The GARCH= option in the MODEL statement specifies the family of ARCH models to be estimated. The GARCH regression model is specified in the following statement: model y = x1 x2 / garch=(q=1,p=1); When you want to estimate the subset of ARCH terms, such as ARCH, you can write the SAS statement as follows: model y = x1 x2 / garch=(q=(1 3)); The following options can be used in the GARCH=( ) option. The options are listed within parentheses and separated by commas. Q= number | Q= (number-list) specifies the order of the process or the subset of ARCH terms to be fitted. P= number | P= (number-list) specifies the order of the process or the subset of GARCH terms to be fitted. TYPE= value specifies the type of GARCH model. The values of the TYPE= option are as follows: EXP -- specifies the exponential GARCH or EGARCH model. INTEGRATED -- specifies the integrated GARCH or IGARCH model. NELSON | NELSONCAO --specifies the Nelson-Cao inequality constraints. This is the default. NONNEG -- specifies the GARCH model with nonnegativity constraints. STATIONARY -- constrains the sum of GARCH coefficients to be less than 1. POWER | PGARCH -- specifies the power GARCH or PGARCH model. QUADR | QUADRATIC | QGARCH -- specifies the quadratic GARCH or QGARCH model. STATIONARY -- constrains the sum of GARCH coefficients to be less than 1. THRES | THRESHOLD | TGARCH -- specifies the threshold GARCH or TGARCH model. MEAN= -- Specifies the functional form of the GARCH-M model. NOINT -- Suppresses the intercept parameter in the conditional variance model. This option is valid only with the TYPE=INTEG option. STARTUP=MSE | ESTIMATE -- Requests whether the positive constant c for the start-up values of the GARCH conditional error variance process is estimated, or the value of the mean squared error is used as the default constant.\",\"help\":\"GARCH=TR | STARTUP= | NOINT | MEAN= | TYPE= | P= | Q=\",\"type\":\"choice\",\"arguments\":[{\"name\":\"TR\",\"type\":\"standalone\"},{\"name\":\"STARTUP=\",\"type\":\"value\"},{\"name\":\"NOINT\",\"type\":\"standalone\"},{\"name\":\"MEAN=\",\"type\":\"value\"},{\"name\":\"TYPE=\",\"type\":\"value\"},{\"name\":\"P=\",\"type\":\"value\"},{\"name\":\"Q=\",\"type\":\"value\"}]},{\"name\":\"GINV\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Prints the inverse of the Toeplitz matrix of autocovariances for the Yule-Walker solution.\",\"type\":\"standalone\"},{\"name\":\"GODFREY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Produces Godfrey’s general Lagrange multiplier test against ARMA errors.\",\"help\":\"GODFREY=*r*\",\"type\":\"value\"},{\"name\":\"INITIAL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"START=\"],\"description\":\"Specifies initial values for some or all of the parameter estimates. The values specified are assigned to model parameters in the same order as the parameter estimates are printed in the AUTOREG procedure output. The order of values in the INITIAL= or START= option is as follows: the intercept, the regressor coefficients, the autoregressive parameters, the ARCH parameters, the GARCH parameters, the inverted degrees of freedom for Student’s t distribution, the start-up value for conditional variance, and the heteroscedasticity model parameters η specified by the HETERO statement.\",\"type\":\"value\"},{\"name\":\"ITPRINT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Prints the objective function and parameter estimates at each iteration. The objective function is the full log likelihood function for the maximum likelihood method, while the error sum of squares is produced as the objective function of unconditional least squares. For the ML method, the ITPRINT option prints the value of the full log likelihood function, not the concentrated likelihood.\",\"type\":\"standalone\"},{\"name\":\"LAGDEP=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"LAGDV=\"],\"description\":\"Prints the Durbin h statistic for testing the presence of first-order autocorrelation when regressors contain the lagged dependent variable whose name is specified as LAGDEP=name.\",\"type\":\"value\"},{\"name\":\"LAGDEP\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"LAGDV\"],\"description\":\"Prints the Durbin t statistic, which is used to detect residual autocorrelation in the presence of lagged dependent variables.\",\"type\":\"standalone\"},{\"name\":\"LDW\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies that p-values for the Durbin-Watson test be computed using a linearized approximation of the design matrix when the model is nonlinear due to the presence of an autoregressive error process. (The Durbin-Watson tests of the OLS linear regression model residuals are not affected by the LDW option.)\",\"type\":\"standalone\"},{\"name\":\"LOGLIKL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Prints the log likelihood value of the regression model, assuming normally distributed errors.\",\"type\":\"standalone\"},{\"name\":\"MAXITER=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Sets the maximum number of iterations allowed. The default is MAXITER=50.\",\"type\":\"value\"},{\"name\":\"METHOD=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests the type of estimates to be computed.\",\"help\":\"METHOD=ML | ULS | YW | ITYW\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ML\",\"followsDelimiter\":\"/\",\"description\":\"Specifies maximum likelihood estimates.\",\"type\":\"standalone\"},{\"name\":\"ULS\",\"followsDelimiter\":\"/\",\"description\":\"Specifies unconditional least squares estimates.\",\"type\":\"standalone\"},{\"name\":\"YW\",\"followsDelimiter\":\"/\",\"description\":\"Specifies Yule-Walker estimates.\",\"type\":\"standalone\"},{\"name\":\"ITYW\",\"followsDelimiter\":\"/\",\"description\":\"Specifies iterative Yule-Walker estimates.\",\"type\":\"standalone\"}]},{\"name\":\"NLAG=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the order of the autoregressive error process or the subset of autoregressive error lags to be fitted. Note that NLAG=3 is the same as NLAG=(1 2 3). If the NLAG= option is not specified, PROC AUTOREG does not fit an autoregressive model.\",\"type\":\"value\"},{\"name\":\"NOINT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Suppresses the intercept parameter.\",\"type\":\"standalone\"},{\"name\":\"NOMISS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests the estimation to the first contiguous sequence of data with no missing values. Otherwise, all complete observations are used.\",\"type\":\"standalone\"},{\"name\":\"NOPRINT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Suppresses all printed output.\",\"type\":\"standalone\"},{\"name\":\"NORMAL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the Jarque-Bera’s normality test statistic for regression residuals.\",\"type\":\"standalone\"},{\"name\":\"OPTMETHOD=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the optimization technique when the GARCH or heteroscedasticity model is estimated.\",\"help\":\"OPTMETHOD=QN | TR\",\"type\":\"choice\",\"arguments\":[{\"name\":\"QN\",\"followsDelimiter\":\"/\",\"description\":\"Specifies the quasi-Newton method. This is the default.\",\"type\":\"standalone\"},{\"name\":\"TR\",\"followsDelimiter\":\"/\",\"description\":\"Specifies the trust region method.\",\"type\":\"standalone\"}]},{\"name\":\"PARTIAL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Prints partial autocorrelations.\",\"type\":\"standalone\"},{\"name\":\"PCHOW=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Computes the predictive Chow test. The form of the PCHOW= option is the same as the CHOW= option.\",\"type\":\"value\"},{\"name\":\"RESET\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Produces Ramsey’s RESET test statistics.\",\"type\":\"standalone\"},{\"name\":\"RUNS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the runs test for independence. The Z= suboption specifies the type of the time series or residuals to be tested. The values of the Z= suboption are as follows: Y specifies the regressand. The default is Z=Y. RO specifies the OLS residuals. R specifies the residuals of the final model. RM specifies the structural residuals of the final model.\",\"type\":\"value\"},{\"name\":\"SLSTAY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the significance level criterion to be used by the BACKSTEP option. The default is SLSTAY=.05.\",\"type\":\"value\"},{\"name\":\"STATIONARITY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies tests of stationarity or unit roots. The STATIONARITY= option provides Phillips-Perron, Phillips-Ouliaris, and KPSS tests.\",\"help\":\"STATIONARITY=(PHILLIPS) | (PHILLIPS=(value ...value)) | (KPSS) | (KPSS=(KERNEL=TYPE)) | (KPSS=(KERNEL=TYPE TRUNCPOINTMETHOD)) | (PHILLIPS&lt;=(...)&gt;, KPSS&lt;=(...)&gt;) | (ERS) | (ERS=(value)) | (NP) | =(NP=(value)) | (ADF&lt;=(...)&gt;,ERS&lt;=(...)&gt;, KPSS&lt;=(...)&gt;, NP&lt;=(...)&gt;, PHILLIPS&lt;=(...)&gt; )\",\"type\":\"choice\",\"arguments\":[{\"name\":\"(PHILLIPS)\",\"followsDelimiter\":\"/\",\"description\":\"Produces the Phillips-Perron unit root test when there are no regressors in the MODEL statement. When the model includes regressors, the PHILLIPS option produces the Phillips-Ouliaris cointegration test.\",\"type\":\"standalone\"},{\"name\":\"(PHILLIPS=(value ...value))\",\"followsDelimiter\":\"/\",\"description\":\"Produces the Phillips-Perron unit root test when there are no regressors in the MODEL statement. When the model includes regressors, the PHILLIPS option produces the Phillips-Ouliaris cointegration test.\",\"type\":\"value\"},{\"name\":\"(KPSS)\",\"followsDelimiter\":\"/\",\"description\":\"Produces the Kwiatkowski, Phillips, Schmidt, and Shin (1992) (KPSS) unit root test. The Newey-West kernel is used, in which the default truncation point method is the Schwert with c=4 (SCHW=4).\",\"type\":\"standalone\"},{\"name\":\"(KPSS=(KERNEL=TYPE))\",\"followsDelimiter\":\"/\",\"description\":\"Produces the Kwiatkowski, Phillips, Schmidt, and Shin (1992) (KPSS) unit root test. You can specify two types of the kernel: KERNEL=NW|BART Newey-West (or Bartlett) kernel KERNEL=QS Quadratic spectral kernel\",\"type\":\"value\"},{\"name\":\"(KPSS=(KERNEL=TYPE TRUNCPOINTMETHOD))\",\"followsDelimiter\":\"/\",\"description\":\"Produces the Kwiatkowski, Phillips, Schmidt, and Shin (1992) (KPSS) unit root test. You can specify two types of the kernel: KERNEL=NW|BART Newey-West (or Bartlett) kernel KERNEL=QS Quadratic spectral kernel You can set the truncation point s by using three different methods: SCHW=c Schwert maximum lag formula LAG= LAG= manually defined number of lags AUTO Automatic bandwidth selection\",\"type\":\"value\"},{\"name\":\"(PHILLIPS<=(...)>, KPSS<=(...)>)\",\"followsDelimiter\":\"/\",\"description\":\"Specifies both the Phillips-Perron and KPSS unit root tests.\",\"type\":\"value\"},{\"name\":\"(ERS)\",\"followsDelimiter\":\"/\",\"description\":\"Provides a class of efficient unit root tests, in the sense that it reduces the size distortion and improve the power compared with traditional unit root tests such as augmented Dickey-Fuller and Phillips-Perron tests.\",\"type\":\"standalone\"},{\"name\":\"(ERS=(value))\",\"followsDelimiter\":\"/\",\"description\":\"Two test statistics are provided by the ERS test: the point optimal test and the DF-GLS test, which are originally proposed in Elliott, Rothenberg, and Stock (1996).\",\"type\":\"value\"},{\"name\":\"(NP)\",\"followsDelimiter\":\"/\",\"description\":\"Provides a class of efficient unit root tests, in the sense that it reduces the size distortion and improve the power compared with traditional unit root tests such as augmented Dickey-Fuller and Phillips-Perron tests.\",\"type\":\"standalone\"},{\"name\":\"=(NP=(value))\",\"followsDelimiter\":\"/\",\"description\":\"Four different tests, discussed in Ng and Perron (2001), are reported by NP test. These four tests include the two in the ERS test and two other tests, the modified PP test and the modified point optimal test.\",\"type\":\"value\"},{\"name\":\"(ADF<=(...)>,ERS<=(...)>, KPSS<=(...)>, NP<=(...)>, PHILLIPS<=(...)> )\",\"followsDelimiter\":\"/\",\"description\":\"The ADF or ADF= suboption produces the augmented Dickey-Fuller unit root test (Dickey and Fuller; 1979).\",\"type\":\"value\"}]},{\"name\":\"URSQ\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Prints the uncentered regression R². The uncentered regression R² is useful to compute Lagrange multiplier test statistics, since most LM test statistics are computed as T *URSQ, where T is the number of observations used in estimation.\",\"type\":\"standalone\"}]},{\"name\":\"NLOPTIONS\",\"description\":\"Several SAS/ETS procedures (COUNTREG, ENTROPY, MDC, QLIM, UCM, and VARMAX) use the nonlinear optimization (NLO) subsystem to perform nonlinear optimization.\",\"help\":\"NLOPTIONS &lt;ABSCONV= | ABSTOL=r&gt;&lt;ABSFCONV=r[n] | ABSFTOL=r[n&gt;&lt;ABSGCONV=r[n] | ABSGTOL=r[n&gt; ...\",\"arguments\":[{\"name\":\"ABSCONV=\",\"optional\":true,\"aliases\":[\"ABSTOL=\"],\"description\":\"Specifies an absolute function convergence criterion. The default value of r is the negative square root of the largest double-precision value, which serves only as a protection against overflows.\",\"type\":\"value\"},{\"name\":\"ABSFCONV=\",\"optional\":true,\"aliases\":[\"ABSFTOL=\"],\"description\":\"Specifies an absolute function convergence criterion. The default value is r=0. The optional integer value n specifies the number of successive iterations for which the criterion must be satisfied before the process can be terminated.\",\"type\":\"value\"},{\"name\":\"ABSGCONV=\",\"optional\":true,\"aliases\":[\"ABSGTOL=\"],\"description\":\"Specifies an absolute gradient convergence criterion. The default value is r=1E-5. The optional integer value n specifies the number of successive iterations for which the criterion must be satisfied before the process can be terminated.\",\"type\":\"value\"},{\"name\":\"ABSXCONV=\",\"optional\":true,\"aliases\":[\"ABSXTOL=\"],\"description\":\"Specifies the absolute parameter convergence criterion. The default is r=1E-8 for the NMSIMP technique and r=0 otherwise. The optional integer value n specifies the number of successive iterations for which the criterion must be satisfied before the process can terminate.\",\"type\":\"value\"},{\"name\":\"DAMPSTEP=\",\"optional\":true,\"description\":\"Specifies that the initial step length value a⁰ for each line search (used by the QUANEW, HYQUAN, CONGRA, or NEWRAP technique) cannot be larger than r times the step length value used in the former iteration. If the DAMPSTEP option is specified but r is not specified, the default is r=2. The DAMPSTEP=r option can prevent the line-search algorithm from repeatedly stepping into regions where some objective functions are difficult to compute or where they could lead to floating point overflows during the computation of objective functions and their derivatives. The DAMPSTEP=r option can save time-costly function calls during the line searches of objective functions that result in very small steps.\",\"type\":\"value\"},{\"name\":\"FCONV2=\",\"optional\":true,\"aliases\":[\"FTOL2=\"],\"description\":\"Specifies another function convergence criterion.\",\"type\":\"value\"},{\"name\":\"FCONV=\",\"optional\":true,\"aliases\":[\"FTOL=\"],\"description\":\"Specifies a relative function convergence criterion.\",\"type\":\"value\"},{\"name\":\"FSIZE=\",\"optional\":true,\"description\":\"Specifies the FSIZE parameter of the relative function and relative gradient termination criteria. The default value is r=0.\",\"help\":\"FSIZE=*r*\",\"type\":\"value\"},{\"name\":\"GCONV=\",\"optional\":true,\"aliases\":[\"GTOL=\"],\"description\":\"Specifies a relative gradient convergence criterion. The default value is r=1E-8. The optional integer value n specifies the number of successive iterations for which the criterion must be satisfied before the process can terminate.\",\"type\":\"value\"},{\"name\":\"HESCAL=\",\"optional\":true,\"aliases\":[\"HS=\"],\"description\":\"Specifies the scaling version of the Hessian matrix used in NRRIDG, TRUREG, NEWRAP, or DBLDOG optimization.\",\"help\":\"HESCAL=0 | 1 | 2 | 3\",\"type\":\"choice\",\"arguments\":[{\"name\":\"0\",\"description\":\"Specifies that no scaling is done.\",\"type\":\"standalone\"},{\"name\":\"1\",\"description\":\"Specifies the Moré (1978) scaling update\",\"type\":\"standalone\"},{\"name\":\"2\",\"description\":\"Specifies the Dennis, Gay, and Welsch (1981) scaling update\",\"type\":\"standalone\"},{\"name\":\"3\",\"description\":\"Specifies that di is reset in each iteration\",\"type\":\"standalone\"}]},{\"name\":\"INHESSIAN=\",\"optional\":true,\"aliases\":[\"INHESS=\"],\"description\":\"Specifies how the initial estimate of the approximate Hessian is defined for the quasi-Newton techniques QUANEW and DBLDOG.\",\"type\":\"value\"},{\"name\":\"INSTEP=\",\"optional\":true,\"description\":\"Reduces the length of the first trial step during the line search of the first iterations.\",\"help\":\"INSTEP=*r*\",\"type\":\"value\"},{\"name\":\"LINESEARCH=\",\"optional\":true,\"aliases\":[\"LIS=\"],\"description\":\"Specifies the line-search method for the CONGRA, QUANEW, and NEWRAP optimization techniques.\",\"help\":\"LINESEARCH=1 | 2 | 3 | 4 | 5 | 6 | 7 | 8\",\"type\":\"choice\",\"arguments\":[{\"name\":\"1\",\"description\":\"Specifies a line-search method that needs the same number of function and gradient calls for cubic interpolation and cubic extrapolation; this method is similar to one used by the Harwell subroutine library.\",\"type\":\"standalone\"},{\"name\":\"2\",\"description\":\"Specifies a line-search method that needs more function calls than gradient calls for quadratic and cubic interpolation and cubic extrapolation; this method is implemented as shown in Fletcher (1987) and can be modified to an exact line search by using the LSPRECISION= option.\",\"type\":\"standalone\"},{\"name\":\"3\",\"description\":\"Specifies a line-search method that needs the same number of function and gradient calls for cubic interpolation and cubic extrapolation; this method is implemented as shown in Fletcher (1987) and can be modified to an exact line search by using the LSPRECISION= option.\",\"type\":\"standalone\"},{\"name\":\"4\",\"description\":\"Specifies a line-search method that needs the same number of function and gradient calls for stepwise extrapolation and cubic interpolation\",\"type\":\"standalone\"},{\"name\":\"5\",\"description\":\"Specifies a line-search method that is a modified version of LIS=4.\",\"type\":\"standalone\"},{\"name\":\"6\",\"description\":\"Specifies golden section line search (Polak 1971), which uses only function values for linear approximation.\",\"type\":\"standalone\"},{\"name\":\"7\",\"description\":\"Specifies bisection line search (Polak 1971), which uses only function values for linear approximation.\",\"type\":\"standalone\"},{\"name\":\"8\",\"description\":\"Specifies Armijo line-search technique (Polak 1971), which uses only function values for linear approximation.\",\"type\":\"standalone\"}]},{\"name\":\"LSPRECISION=\",\"optional\":true,\"aliases\":[\"LSP=\"],\"description\":\"Specifies the degree of accuracy that should be obtained by the line-search algorithms LIS=2 and LIS=3. The default LSPRECISION= values are:\",\"type\":\"value\"},{\"name\":\"MAXFUNC=\",\"optional\":true,\"aliases\":[\"MAXFU=\"],\"description\":\"Requires the number of function calls to be no larger than i. The default values are:\",\"type\":\"value\"},{\"name\":\"MAXITER=\",\"optional\":true,\"aliases\":[\"MAXIT=\"],\"description\":\"Requires the number of iterations to be no larger than i. The default values are: o For TECH= TRUREG, NRRIDG, NEWRAP: i=50 o For TECH= QUANEW, DBLDOG: i=200 o For TECH= CONGRA: i=400 o For TECH= NMSIMP: i=1000 These default values are also valid when i is specified as a missing value.\",\"type\":\"value\"},{\"name\":\"MAXSTEP=\",\"optional\":true,\"description\":\"Specifies an upper bound for the step length of the line-search algorithms during the first n iterations.\",\"help\":\"MAXSTEP=*r[n*\",\"type\":\"value\"},{\"name\":\"MAXTIME=\",\"optional\":true,\"description\":\"Requires the CPU time to be no larger than r. The default value of the MAXTIME= option is the largest double floating-point number on your computer. Note that the time specified by the MAXTIME= option is checked only once at the end of each iteration. Therefore, the actual running time can be much longer than that specified by the MAXTIME= option. The actual running time includes the rest of the time needed to finish the iteration and the time needed to generate the output of the results.\",\"help\":\"MAXTIME=*r*\",\"type\":\"value\"},{\"name\":\"MINITER=\",\"optional\":true,\"aliases\":[\"MINIT=\"],\"description\":\"Specifies the minimum number of iterations. The default value is 0. If you request more iterations than are actually needed for convergence to a stationary point, the optimization algorithms can behave strangely. For example, the effect of rounding errors can prevent the algorithm from continuing for the required number of iterations.\",\"type\":\"value\"},{\"name\":\"NOPRINT\",\"optional\":true,\"description\":\"Suppresses the output.\",\"type\":\"standalone\"},{\"name\":\"PALL\",\"optional\":true,\"description\":\"[Displays all optional output for optimization.\",\"type\":\"standalone\"},{\"name\":\"PHISTORY\",\"optional\":true,\"description\":\"Displays the optimization history.\",\"type\":\"standalone\"},{\"name\":\"PHISTPARMS\",\"optional\":true,\"description\":\"Display parameter estimates in each iteration.\",\"type\":\"standalone\"},{\"name\":\"PINIT\",\"optional\":true,\"description\":\"Displays the initial values and derivatives (if available).\",\"type\":\"standalone\"},{\"name\":\"PSHORT\",\"optional\":true,\"description\":\"Restricts the amount of default output.\",\"type\":\"standalone\"},{\"name\":\"PSUMMARY\",\"optional\":true,\"description\":\"Restricts the amount of default displayed output to a short form of iteration history and notes, warnings, and errors.\",\"type\":\"standalone\"},{\"name\":\"RESTART=\",\"optional\":true,\"aliases\":[\"REST=\"],\"description\":\"Specifies that the QUANEW or CONGRA algorithm is restarted with a steepest descent/ascent search direction after, at most, i iterations, i > 0.\",\"type\":\"value\"},{\"name\":\"SOCKET=\",\"optional\":true,\"description\":\"Specifies the fileref that contains the information needed for remote monitoring.\",\"type\":\"value\"},{\"name\":\"TECHNIQUE=\",\"optional\":true,\"aliases\":[\"TECH=\"],\"description\":\"Specifies the optimization technique.\",\"help\":\"TECHNIQUE=CONGRA | DBLDOG | NMSIMP | NEWRAP | NRRIDG | QUANEW | TRUREG | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"CONGRA\",\"description\":\"Chooses one of four different conjugate-gradient optimization algorithms, which can be more precisely defined with the UPDATE= option and modified with the LINESEARCH= option.\",\"type\":\"standalone\"},{\"name\":\"DBLDOG\",\"description\":\"Performs a version of double-dogleg optimization, which uses the gradient to update an approximation of the Cholesky factor of the Hessian.\",\"type\":\"standalone\"},{\"name\":\"NMSIMP\",\"description\":\"Performs a Nelder-Mead simplex optimization.\",\"type\":\"standalone\"},{\"name\":\"NEWRAP\",\"description\":\"Performs a usually stable but, for large problems, memory- and time-consuming Newton-Raphson optimization technique. The algorithm combines a line-search algorithm with ridging, and it can be modified with the LINESEARCH= option.\",\"type\":\"standalone\"},{\"name\":\"NRRIDG\",\"description\":\"Performs a usually stable but, for large problems, memory- and time-consuming Newton-Raphson optimization technique. This algorithm does not perform a line search.\",\"type\":\"standalone\"},{\"name\":\"QUANEW\",\"description\":\"Chooses one of four different quasi-Newton optimization algorithms that can be more precisely defined with the UPDATE= option and modified with the LINESEARCH= option.\",\"type\":\"standalone\"},{\"name\":\"TRUREG\",\"description\":\"Performs a usually very stable but, for large problems, memory- and time-consuming trust-region optimization technique. The algorithm is implemented similar to Gay (1983) and Moré and Sorensen (1983).\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"Does not perform any optimization. This option is similar to METHOD=NONE, but TECH=NONE also computes and displays residuals and goodness of fit statistics.\",\"type\":\"standalone\"}]},{\"name\":\"UPDATE=\",\"optional\":true,\"aliases\":[\"UPD=\"],\"description\":\"Specifies the update method for the quasi-Newton, double-dogleg, or conjugate-gradient optimization technique.\",\"help\":\"UPDATE=BFGS | DBFGS | DDFP | DFP | PB | FR | PR | CD\",\"type\":\"choice\",\"arguments\":[{\"name\":\"BFGS\",\"description\":\"Performs the original Broyden, Fletcher, Goldfarb, and Shanno (BFGS) update of the inverse Hessian matrix.\",\"type\":\"standalone\"},{\"name\":\"DBFGS\",\"description\":\"Performs the dual BFGS update of the Cholesky factor of the Hessian matrix. This is the default update method.\",\"type\":\"standalone\"},{\"name\":\"DDFP\",\"description\":\"Performs the dual Davidon, Fletcher, and Powell (DFP) update of the Cholesky factor of the Hessian matrix.\",\"type\":\"standalone\"},{\"name\":\"DFP\",\"description\":\"Performs the original DFP update of the inverse Hessian matrix.\",\"type\":\"standalone\"},{\"name\":\"PB\",\"description\":\"Performs the automatic restart update method of Powell (1977) and Beale (1972).\",\"type\":\"standalone\"},{\"name\":\"FR\",\"description\":\"Performs the Fletcher-Reeves update (Fletcher 1987).\",\"type\":\"standalone\"},{\"name\":\"PR\",\"description\":\"Performs the Polak-Ribiere update (Fletcher 1987).\",\"type\":\"standalone\"},{\"name\":\"CD\",\"description\":\"Performs a conjugate-descent update of Fletcher (1987).\",\"type\":\"standalone\"}]},{\"name\":\"XCONV=\",\"optional\":true,\"aliases\":[\"XTOL=\"],\"description\":\"Specifies the relative parameter convergence criterion. For all techniques except NMSIMP, termination requires a small relative parameter change in subsequent iterations. The default value is r=1E-8 for the NMSIMP technique and r=0 otherwise. The optional integer value n specifies the number of successive iterations for which the criterion must be satisfied before the process can be terminated.\",\"type\":\"value\"},{\"name\":\"XSIZE=\",\"optional\":true,\"description\":\"Specifies the XSIZE parameter of the relative parameter termination criterion. The default value is r=0.\",\"type\":\"value\"}]},{\"name\":\"OUTPUT\",\"description\":\"The OUTPUT statement creates an output SAS data set.\",\"help\":\"OUTPUT &lt;ALPHACLI= number&gt;&lt;ALPHACLM= number&gt;&lt;OUT= SAS-data-set&gt; ...\",\"arguments\":[{\"name\":\"ALPHACLI=\",\"optional\":true,\"description\":\"Sets the confidence limit size for the estimates of future values of the response time series. The ALPHACLI= value must be between 0 and 1. The resulting confidence interval has 1-number confidence. The default is ALPHACLI=.05, corresponding to a 95% confidence interval.\",\"type\":\"value\"},{\"name\":\"ALPHACLM=\",\"optional\":true,\"description\":\"Sets the confidence limit size for the estimates of the structural or regression part of the model. The ALPHACLI= value must be between 0 and 1. The resulting confidence interval has 1-number confidence. The default is ALPHACLM=.05, corresponding to a 95% confidence interval.\",\"type\":\"value\"},{\"name\":\"ALPHACSM=\",\"optional\":true,\"description\":\"Specifies the significance level for the upper and lower bounds of the CUSUM and CUSUMSQ statistics output by the CUSUMLB=, CUSUMUB=, CUSUMSQLB=, and CUSUMSQUB= options.\",\"help\":\"ALPHACSM=.01 | .05 | .10\",\"type\":\"choice\",\"arguments\":[{\"name\":\".01\",\"description\":\"ALPHACSM=.01\",\"type\":\"standalone\"},{\"name\":\".05\",\"description\":\"ALPHACSM=.05\",\"type\":\"standalone\"},{\"name\":\".10\",\"description\":\"ALPHACSM=.10\",\"type\":\"standalone\"}]},{\"name\":\"BLUS=\",\"optional\":true,\"description\":\"Specifies the name of a variable to contain the values of the Theil’s BLUS residuals.\",\"type\":\"value\"},{\"name\":\"CEV=\",\"optional\":true,\"aliases\":[\"HT=\"],\"description\":\"Writes to the output data set the value of the error variance σ²t from the heteroscedasticity model specified by the HETERO statement or the value of the conditional error variance ht by the GARCH= option in the MODEL statement.\",\"type\":\"value\"},{\"name\":\"CONSTANT=\",\"optional\":true,\"description\":\"Writes the transformed intercept to the output data set.\",\"type\":\"value\"},{\"name\":\"CPEV=\",\"optional\":true,\"description\":\"Writes the conditional prediction error variance to the output data set. The value of conditional prediction error variance is equal to that of the conditional error variance when there are no autoregressive parameters. For the exponential GARCH model, conditional prediction error variance cannot be calculated.\",\"type\":\"value\"},{\"name\":\"CUSUM=\",\"optional\":true,\"description\":\"Specifies the name of a variable to contain the CUSUM statistics.\",\"type\":\"value\"},{\"name\":\"CUSUMLB=\",\"optional\":true,\"description\":\"Specifies the name of a variable to contain the lower confidence bound for the CUSUM statistic.\",\"type\":\"value\"},{\"name\":\"CUSUMSQ=\",\"optional\":true,\"description\":\"Specifies the name of a variable to contain the CUSUMSQ statistics.\",\"type\":\"value\"},{\"name\":\"CUSUMSQLB=\",\"optional\":true,\"description\":\"Specifies the name of a variable to contain the lower confidence bound for the CUSUMSQ statistic.\",\"type\":\"value\"},{\"name\":\"CUSUMSQUB=\",\"optional\":true,\"description\":\"Specifies the name of a variable to contain the upper confidence bound for the CUSUMSQ statistic.\",\"type\":\"value\"},{\"name\":\"CUSUMUB=\",\"optional\":true,\"description\":\"Specifies the name of a variable to contain the upper confidence bound for the CUSUM statistic.\",\"type\":\"value\"},{\"name\":\"LCL=\",\"optional\":true,\"description\":\"Writes the lower confidence limit for the predicted value (specified in the PREDICTED= option) to the output data set. The size of the confidence interval is set by the ALPHACLI= option. When a GARCH model is estimated, the lower confidence limit is calculated assuming that the disturbances have homoscedastic conditional variance.\",\"type\":\"value\"},{\"name\":\"LCLM=\",\"optional\":true,\"description\":\"Writes the lower confidence limit for the structural predicted value (specified in the PREDICTEDM= option) to the output data set under the name given. The size of the confidence interval is set by the ALPHACLM= option.\",\"type\":\"value\"},{\"name\":\"OUT=\",\"optional\":true,\"description\":\"Names the output SAS data set containing the predicted and transformed values. If the OUT= option is not specified, the new data set is named according to the DATAn convention.\",\"type\":\"value\"},{\"name\":\"PREDICTED=\",\"optional\":true,\"aliases\":[\"P=\"],\"description\":\"Writes the predicted values to the output data set. These values are formed from both the structural and autoregressive parts of the model.\",\"type\":\"value\"},{\"name\":\"PREDICTEDM=\",\"optional\":true,\"aliases\":[\"PM=\"],\"description\":\"Writes the structural predicted values to the output data set. These values are formed from only the structural part of the model.\",\"type\":\"value\"},{\"name\":\"RECPEV=\",\"optional\":true,\"description\":\"Specifies the name of a variable to contain the part of the predictive error variance (vt) that is used to compute the recursive residuals.\",\"type\":\"value\"},{\"name\":\"RECRES=\",\"optional\":true,\"description\":\"Specifies the name of a variable to contain recursive residuals. The recursive residuals are used to compute the CUSUM and CUSUMSQ statistics.\",\"type\":\"value\"},{\"name\":\"RESIDUAL=\",\"optional\":true,\"aliases\":[\"R=\"],\"description\":\"Writes the residuals from the predicted values based on both the structural and time series parts of the model to the output data set.\",\"type\":\"value\"},{\"name\":\"RESIDUALM=\",\"optional\":true,\"aliases\":[\"RM=\"],\"description\":\"Writes the residuals from the structural prediction to the output data set.\",\"type\":\"value\"},{\"name\":\"TRANSFORM=\",\"optional\":true,\"description\":\"Transforms the specified variables from the input data set by the autoregressive model and writes the transformed variables to the output data set. If you need to reproduce the data suitable for reestimation, you must also transform an intercept variable. To do this, transform a variable that is all 1s or use the CONSTANT= option.\",\"type\":\"value\"},{\"name\":\"UCL=\",\"optional\":true,\"description\":\"Writes the upper confidence limit for the predicted value (specified in the PREDICTED= option) to the output data set.\",\"type\":\"value\"},{\"name\":\"UCLM=\",\"optional\":true,\"description\":\"Writes the upper confidence limit for the structural predicted value (specified in the PREDICTEDM= option) to the output data set. The size of the confidence interval is set by the ALPHACLM= option.\",\"type\":\"value\"}]},{\"name\":\"RESTRICT\",\"description\":\"The RESTRICT statement provides constrained estimation. The RESTRICT statement places restrictions on the parameter estimates for covariates in the preceding MODEL statement. The AR, GARCH, and HETERO parameters are also supported in the RESTRICT statement. Any number of RESTRICT statements can follow a MODEL statement. Several restrictions can be specified in a single RESTRICT statement by separating the individual restrictions with commas. Each restriction is written as a linear equation composed of constants and parameter names. Refer to model parameters by the name of the corresponding regressor variable. Each name used in the equation must be a regressor in the preceding MODEL statement. Use the keyword INTERCEPT to refer to the intercept parameter in the model. The following is an example of a RESTRICT statement: model y = a b c d; restrict a+b=0, 2*d-c=0;\",\"help\":\"RESTRICT equation , ..., equation \"},{\"name\":\"TEST\",\"description\":\"The TEST statement tests hypotheses about the covariates in the model estimated by the preceding MODEL statement. The AR, GARCH, and HETERO parameters are also supported in the TEST statement. Each equation specifies a linear hypothesis to be tested. If more than one equation is specified, the equations are separated by commas. Each test is written as a linear equation composed of constants and parameter names. Refer to parameters by the name of the corresponding regressor variable. Each name used in the equation must be a regressor in the preceding MODEL statement. Use the keyword INTERCEPT to refer to the intercept parameter in the model.\",\"help\":\"TEST &lt;TYPE=&lt;F | WALD | LM&gt;... &gt;\",\"arguments\":[{\"name\":\"TYPE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the test statistics to use.\",\"help\":\"TYPE=F | WALD | LM | LR | ALL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"F\",\"followsDelimiter\":\"/\",\"description\":\"Produces an F test. This option is supported for all models specified in MODEL statement.\",\"type\":\"standalone\"},{\"name\":\"WALD\",\"followsDelimiter\":\"/\",\"description\":\"Produces a Wald test. This option is supported for all models specified in MODEL statement.\",\"type\":\"standalone\"},{\"name\":\"LM\",\"followsDelimiter\":\"/\",\"description\":\"Produces a Lagrange multiplier test. This option is supported only when the GARCH= option is specified (for example, when there is a statement like MODEL Y = C D I / GARCH=(Q=2)).\",\"type\":\"standalone\"},{\"name\":\"LR\",\"followsDelimiter\":\"/\",\"description\":\"Produces a likelihood ratio test. This option is supported only when the GARCH= option is specified (for example, when there is a statement like MODEL Y = C D I / GARCH=(Q=2)).\",\"type\":\"standalone\"},{\"name\":\"ALL\",\"followsDelimiter\":\"/\",\"description\":\"Produces all tests applicable for a particular model. For non-GARCH-type models, only F and Wald tests are output. For all other models, all four tests (LR, LM, F, and Wald) are computed.\",\"type\":\"standalone\"}]}]}],\"supportSiteInformation\":{\"docsetId\":\"etsug\",\"docsetVersion\":\"latest\",\"docsetTargetFile\":\"etsug_autoreg_toc.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/BART.json",
    "content": "{\"name\":\"BART\",\"statements\":[{\"name\":\"PROC BART\",\"description\":\"invokes the procedure\",\"help\":\"PROC BART <options>;                 \\n\\tBY  variables;                 \\n\\n\\tCLASS  variable...<variable>;                 \\n\\n\\tDISPLAY <table-list></ options>;                 \\n\\n\\tDISPLAYOUT  table-spec-list </ options>;                 \\n\\n\\tFREQ  variable;                 \\n\\n\\tGAUSSPRIOR  prior-options </option > ;                 \\n\\n\\tMARGIN  'name' variable='value' <...variable = 'value' ></ LABEL='label'>;                 \\n\\n\\tMARGINDIFF  EVENT='margin-name' REF='margin-name' / <LABEL=label><NAME=name> ;                 \\n\\n\\tMODEL  response=variables </ model-options>;                 \\n\\n\\tOUTPUT  OUT=libref.data-table <SAMPLEPRED><ALPHA=number><COPYVARS=(variables)><keyword <=name>>...<keyword <=name>>;                 \\n\\n\\tOUTPUTMARGIN  libref.data-table;                 \\n\\n\\tPARTITION  partition-options;                 \\n\\n\\tSAMPSUMMARY  OUT=libref.data-table <keyword=name>...<keyword=name>;                 \\n\\n\\tSTORE <OUT=>libref.data-table;                 \\n\\n\\tTREEPRIOR <prior-options>;                 \\n\",\"arguments\":[{\"name\":\"ALPHA=\",\"optional\":true,\"description\":\"specifies the level for the construction of equal-tail credible limits\",\"help\":\"ALPHA=*number*\",\"type\":\"value\"},{\"name\":\"APPLYROWORDER\",\"optional\":true,\"description\":\"uses group and order information from the input data table\",\"type\":\"standalone\"},{\"name\":\"ASSIGNMISSING=\",\"optional\":true,\"description\":\"specifies how to handle missing values during the training and scoring phases\",\"help\":\"ASSIGNMISSING=MACBIG | MACSMALL | NONE | SEPARATE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"MACBIG\",\"description\":\"during the training phase, treats missing values for continuous predictors as the largest machine value and treats missing values for categorical predictors as a separate level\",\"type\":\"standalone\"},{\"name\":\"MACSMALL\",\"description\":\"during the training phase, treats missing values for continuous predictors as the smallest machine value and treats missing values for categorical predictors as a separate level\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"during the training phase, excludes all observations that have a missing predictor value {SEPARATE} during the training phase, treats missing values for continuous predictors as a separate group and treats missing values for categorical predictors as a separate level\",\"type\":\"standalone\"},{\"name\":\"SEPARATE\",\"description\":\"\",\"type\":\"standalone\"}]},{\"name\":\"BINMETHOD=\",\"optional\":true,\"description\":\"specifies how to bin continuous input variables before training the model\",\"help\":\"BINMETHOD=EVEN | QUANTILE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"EVEN\",\"description\":\"discretizes continuous input variables into fixed-width bins\",\"type\":\"standalone\"},{\"name\":\"QUANTILE\",\"description\":\"discretizes continuous input variables into bins according to their quantile\",\"type\":\"standalone\"}]},{\"name\":\"DATA=\",\"optional\":true,\"description\":\"names the input data table for PROC BART to use\",\"help\":\"DATA=*libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"LEAFSIGMAK=\",\"optional\":true,\"description\":\"specifies the number to be used to determine the prior variance for the leaf parameters\",\"help\":\"LEAFSIGMAK=*number*\",\"type\":\"value\"},{\"name\":\"MINLEAFSIZE=\",\"optional\":true,\"description\":\"specifies the minimum number of observations that each child of a split must contain in the training data in order for the split to be considered\",\"help\":\"MINLEAFSIZE=*number*\",\"type\":\"value\"},{\"name\":\"NBI=\",\"optional\":true,\"description\":\"specifies the number of burn-in iterations to perform before the procedure starts to save samples for prediction\",\"help\":\"NBI=*number*\",\"type\":\"value\"},{\"name\":\"NBINS=\",\"optional\":true,\"description\":\"specifies the number of bins to use for binning the continuous input variables\",\"help\":\"NBINS=*number*\",\"type\":\"value\"},{\"name\":\"NDISTCHAINS=\",\"optional\":true,\"description\":\"specifies a distributed mode that divides the MCMC sampling in a grid environment\",\"help\":\"NDISTCHAINS=*number*\",\"type\":\"value\"},{\"name\":\"NMC=\",\"optional\":true,\"description\":\"specifies the number of iterations in the main simulation loop\",\"help\":\"NMC=*number*\",\"type\":\"value\"},{\"name\":\"NMCDIST=\",\"optional\":true,\"description\":\"specifies the number of MCMC iterations for each chain, excluding the burn-in iterations, when multiple chains are used\",\"help\":\"NMCDIST=*number*\",\"type\":\"value\"},{\"name\":\"NOCLPRINT\",\"optional\":true,\"description\":\"suppresses the display of the \\\"Class Level Information\\\" table if you do not specify number\",\"help\":\"NOCLPRINT&lt;=*number*&gt;\",\"type\":\"standaloneOrValue\"},{\"name\":\"NTHIN=\",\"optional\":true,\"description\":\"specifies the thinning rate of the simulation\",\"help\":\"NTHIN=*number*\",\"type\":\"value\"},{\"name\":\"NTREE=\",\"optional\":true,\"description\":\"specifies the number of trees in a sample of the sum-of-trees ensemble\",\"help\":\"NTREE=*number*\",\"type\":\"value\"},{\"name\":\"ORDERSPLIT=\",\"optional\":true,\"description\":\"specifies the minimum number of levels for which a categorical input uses splitting rules according to level ordering\",\"help\":\"ORDERSPLIT=*number*\",\"type\":\"value\"},{\"name\":\"RESTORE=\",\"optional\":true,\"description\":\"specifies the name of the analytic store that contains a model that is fitted and stored from a previous analysis\",\"help\":\"RESTORE=*libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"SEED=\",\"optional\":true,\"description\":\"specifies the initial seed for random number generation for model building\",\"help\":\"SEED=*number*\",\"type\":\"value\"},{\"name\":\"TRAININMEM\",\"optional\":true,\"description\":\"stores data in memory when the model is trained\",\"type\":\"standalone\"}]},{\"name\":\"BY\",\"description\":\"produces separate analyses of observations in groups that are defined by the BY variables\",\"help\":\"BY  variables;                                              \"},{\"name\":\"CLASS\",\"description\":\"names the classification variables to be used as explanatory variables in the analysis\",\"help\":\"CLASS  variable...&lt;variable&gt;;                                              \"},{\"name\":\"DISPLAY\",\"description\":\"enables you to specify a list of display tables to display or exclude\",\"help\":\"DISPLAY &lt;table-list&gt;&lt;/ options&gt;;                                              \",\"arguments\":[{\"name\":\"CASESENSITIVE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"performs a case-sensitive comparison of table names in the table-list to display table names when tables are subsetted for display\",\"type\":\"standalone\"},{\"name\":\"EXCLUDE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"displays all display tables except those that you specify in the table-list\",\"type\":\"standalone\"},{\"name\":\"EXCLUDEALL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses display of all tables\",\"type\":\"standalone\"},{\"name\":\"TRACE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"displays the display table names, labels, and paths\",\"type\":\"standalone\"}]},{\"name\":\"DISPLAYOUT\",\"description\":\"enables you to create output tables from your displayed output\",\"help\":\"DISPLAYOUT  table-spec-list &lt;/ options&gt;;                                              \",\"arguments\":[{\"name\":\"key=\",\"placeholder\":true,\"description\":\"specifies key as the ODS table name, path, or partial pathname, and specifies value as the output table name.\",\"help\":\"*key=value*\",\"type\":\"value\"},{\"name\":\"key\",\"placeholder\":true,\"description\":\"specifies key as the ODS table name and also as the output table name.\",\"type\":\"value\"},{\"name\":\"INCLUDEALL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"creates output tables for all display tables\",\"type\":\"standalone\"},{\"name\":\"NOREPLACE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"does not replace any existing output table of the same name\",\"type\":\"standalone\"},{\"name\":\"REPEATED\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"replicates all output tables on all nodes\",\"type\":\"standalone\"}]},{\"name\":\"FREQ\",\"description\":\"identifies a numeric variable in the input data table that contains the frequency of occurrence of each observation\",\"help\":\"FREQ  variable;                                              \"},{\"name\":\"GAUSSPRIOR\",\"description\":\"enables you to specify the prior parameters for a model that is fitted to a normally distributed response variable\",\"help\":\"GAUSSPRIOR  prior-options &lt;/option &gt; ;                                              \",\"arguments\":[{\"name\":\"VARAUTOCORR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the autocorrelation lags for the variance parameter\",\"help\":\"VARAUTOCORR=*numeric-list*\",\"type\":\"value\"},{\"name\":\"SIGMADF=\",\"optional\":true,\"description\":\"specifies the degrees of freedom of the scaled inverse chi-square prior for the variance parameter\",\"help\":\"SIGMADF=*number*\",\"type\":\"value\"},{\"name\":\"SIGMALAMBDA=\",\"optional\":true,\"description\":\"specifies the scale parameter of the scaled inverse chi-square prior for the variance parameter\",\"help\":\"SIGMALAMBDA=*number*\",\"type\":\"value\"},{\"name\":\"SIGMAQUANTILE=\",\"optional\":true,\"description\":\"specifies the quantile level to be used to determine the scale parameter of the scaled inverse chi-square prior for the variance parameter\",\"help\":\"SIGMAQUANTILE=*number*\",\"type\":\"value\"},{\"name\":\"VAREST=\",\"optional\":true,\"description\":\"specifies the initial value for the variance\",\"help\":\"VAREST=*number*\",\"type\":\"value\"}]},{\"name\":\"MARGIN\",\"description\":\"computes a predictive margin\",\"help\":\"MARGIN  'name' variable='value' &lt;...variable = 'value' &gt;&lt;/ LABEL='label'&gt;;                                              \",\"arguments\":[{\"name\":\"name\",\"placeholder\":true,\"description\":\"identifies the predictive margin\",\"type\":\"value\"},{\"name\":\"variable\",\"placeholder\":true,\"description\":\"identifies an input variable and the value that it is set to when you compute the predictive margin\",\"help\":\"*variable* = '*value*'\",\"type\":\"value\"},{\"name\":\"label\",\"optional\":true,\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"labels the predictive margin in displayed outpt\",\"type\":\"value\"}]},{\"name\":\"MARGINDIFF\",\"description\":\"computes the difference between two predictive margins\",\"help\":\"MARGINDIFF  EVENT='margin-name' REF='margin-name' / &lt;LABEL=label&gt;&lt;NAME=name&gt; ;                                              \",\"arguments\":[{\"name\":\"EVENT=\",\"description\":\"specifies the event predictive margin\",\"help\":\"EVENT=*margin-name*\",\"type\":\"value\"},{\"name\":\"REF=\",\"description\":\"specifies the reference predictive margin\",\"help\":\"REF=*margin-name*\",\"type\":\"value\"},{\"name\":\"LABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"labels the difference between predictive margins in output tables\",\"help\":\"LABEL=*label*\",\"type\":\"value\"},{\"name\":\"NAME=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"names the difference in predictive margins\",\"help\":\"NAME=*name*\",\"type\":\"value\"}]},{\"name\":\"MODEL\",\"description\":\"specifies the response (dependent or target) variable and the predictor (independent or explanatory) variables\",\"help\":\"MODEL  response=variables &lt;/ model-options&gt;;                                              \",\"arguments\":[{\"name\":\"DIST=\",\"optional\":true,\"followsDelimiter\":\"slash (/)\",\"aliases\":[\"DISTRIBUTION\"],\"description\":\"specifies the response distribution for the model\",\"help\":\"DIST=BINARY | NORMAL\",\"type\":\"choice\"},{\"name\":\"OFFSET=\",\"optional\":true,\"followsDelimiter\":\"slash (/)\",\"description\":\"specifies a variable to use as an offset for the binary response model\",\"help\":\"OFFSET=*variable*\",\"type\":\"value\"}]},{\"name\":\"OUTPUT\",\"description\":\"creates a data table that contains observationwise statistics that PROC BART computes after fitting the model\",\"help\":\"OUTPUT  OUT=libref.data-table &lt;SAMPLEPRED&gt;&lt;ALPHA=number&gt;&lt;COPYVARS=(variables)&gt;&lt;keyword &lt;=name&gt;&gt;...&lt;keyword &lt;=name&gt;&gt;;                                              \",\"arguments\":[{\"name\":\"OUT=\",\"description\":\"names the output data table for PROC BART to use\",\"help\":\"OUT=*libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"ALPHA=\",\"optional\":true,\"description\":\"specifies the level for the construction of equal-tail credible limits\",\"help\":\"ALPHA=*number*\",\"type\":\"value\"},{\"name\":\"COPYVAR=\",\"optional\":true,\"aliases\":[\"COPYVARS\"],\"description\":\"transfers one or more variables from the input data table to the output data table\",\"help\":\"COPYVAR=*variable*\",\"type\":\"value\"},{\"name\":\"INTO=\",\"optional\":true,\"description\":\"names the variable that contains the level of the response into which an observation is classified for binary response models\",\"help\":\"INTO&lt;(*cutpoint*)&gt;=&lt;*name*&gt;\",\"type\":\"standaloneOrValue\"},{\"name\":\"LCL\",\"optional\":true,\"description\":\"computes the equal-tail lower credible limit\",\"help\":\"LCL&lt;=*name*&gt;\",\"type\":\"standaloneOrValue\"},{\"name\":\"PRED\",\"optional\":true,\"aliases\":[\"PREDICTED\",\"P\"],\"description\":\"computes predicted values for the response variable\",\"help\":\"PRED&lt;=*name*&gt;\",\"type\":\"standaloneOrValue\"},{\"name\":\"RESIDUAL\",\"optional\":true,\"aliases\":[\"RESID\",\"R\"],\"description\":\"computes the raw residual, y-μ, where μ is the estimate of the predicted mean\",\"help\":\"RESIDUAL&lt;=*name*&gt;\",\"type\":\"standaloneOrValue\"},{\"name\":\"ROLE\",\"optional\":true,\"description\":\"specifies the numeric variable that indicates the role that each observation plays in fitting the model\",\"help\":\"ROLE&lt;=*name*&gt;\",\"type\":\"standaloneOrValue\"},{\"name\":\"SAMPLEPRED\",\"optional\":true,\"description\":\"produces predicted values and raw residuals for each posterior sample saved for prediction if you specify the PRED and RESIDUAL keywords\",\"type\":\"standalone\"},{\"name\":\"UCL\",\"optional\":true,\"description\":\"computes the equal-tail upper credible limit\",\"help\":\"UCL&lt;=*name*&gt;\",\"type\":\"standaloneOrValue\"}]},{\"name\":\"OUTPUTMARGIN\",\"description\":\"creates an output data table that contains the predicted marginal means and differences for each posterior sample that is saved for prediction\",\"help\":\"OUTPUTMARGIN  libref.data-table;                                              \"},{\"name\":\"PARTITION\",\"description\":\"specifies how to logically partition observations in the input data set into disjoint subsets for model training and testing\",\"help\":\"PARTITION  partition-options;                                              \",\"arguments\":[{\"name\":\"ROLE=\",\"optional\":true,\"aliases\":[\"ROLEVAR\"],\"description\":\"names the variable in the input data table whose values are used to assign roles to each observation\",\"help\":\"ROLE=*variable*(&lt;TEST=*'value'*&gt;&lt;TRAIN=*'value'*&gt;)\",\"type\":\"value\",\"arguments\":[{\"name\":\"TEST=\",\"description\":\"specifies the formatted alue of the variable that is used to assign observations to the test role\",\"help\":\"TEST=*'value'*\",\"type\":\"value\"},{\"name\":\"TRAIN=\",\"description\":\"specifies the formatted alue of the variable that is used to assign observations to the training role\",\"help\":\"TRAIN=*'value'*\",\"type\":\"value\"}]},{\"name\":\"FRACTION\",\"optional\":true,\"description\":\"randomly assigns specified proportions of the observations in the input data table to the roles\",\"help\":\"FRACTION(&lt;TEST=*fraction*&gt;&lt;SEED=*number*&gt;)\",\"type\":\"standaloneOrValue\",\"arguments\":[{\"name\":\"TEST=\",\"description\":\"specifies the fraction of observations assigned to the training role\",\"help\":\"TEST=*fraction*\",\"type\":\"value\"},{\"name\":\"SEED=\",\"description\":\"specifies the number that is used to start the pseudorandom number generator\",\"help\":\"SEED=*number*\",\"type\":\"value\"}]}]},{\"name\":\"SAMPSUMMARY\",\"description\":\"creates a data table that contains a summary of the sum-of-trees ensemble samples\",\"help\":\"SAMPSUMMARY  OUT=libref.data-table &lt;keyword=name&gt;...&lt;keyword=name&gt;;                                              \",\"arguments\":[{\"name\":\"OUT=\",\"description\":\"names the output data table for PROC BART to use\",\"help\":\"OUT=*libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"AVGNODE\",\"optional\":true,\"description\":\"names the variable that contains the average number of nodes per tree in the sample\",\"help\":\"AVGNODE&lt;=*name*&gt;\",\"type\":\"standaloneOrValue\"},{\"name\":\"PROPACCEPTED\",\"optional\":true,\"description\":\"names the variable that contains the proportion of accepted tree modifications for the sample\",\"help\":\"PROPACCEPTED&lt;=*name*&gt;\",\"type\":\"standaloneOrValue\"},{\"name\":\"SAMPSAVED\",\"optional\":true,\"description\":\"names the variable that contains an indicator for whether the sample is saved for prediction\",\"help\":\"SAMPSAVED&lt;=*name*&gt;\",\"type\":\"standaloneOrValue\"},{\"name\":\"VARIANCE\",\"optional\":true,\"description\":\"names the variable that contains the sampled variance for the normal response model\",\"help\":\"VARIANCE&lt;=*name*&gt;\",\"type\":\"standaloneOrValue\"}]},{\"name\":\"STORE\",\"description\":\"saves the context and results of the statistical analysis\",\"help\":\"STORE &lt;OUT=&gt;libref.data-table;                                              \"},{\"name\":\"TREEPRIOR\",\"description\":\"enables you to specify the regularization prior for the sum-of-trees ensemble\",\"help\":\"TREEPRIOR &lt;prior-options&gt;;                                              \",\"arguments\":[{\"name\":\"DEPTHBASE=\",\"optional\":true,\"description\":\"specifies the base probability for splitting an internal node as a function of its depth from the root\",\"help\":\"DEPTHBASE=*number*\",\"type\":\"value\"},{\"name\":\"DEPTHPOWER=\",\"optional\":true,\"description\":\"specifies the power parameter to be used to compute the probability of splitting an internal node as a function of its depth from the root\",\"help\":\"DEPTHPOWER=*number*\",\"type\":\"value\"},{\"name\":\"PPRUNE=\",\"optional\":true,\"description\":\"specifies the probability of sampling the operation of pruning a terminal node for the tree sampling algorithm\",\"help\":\"PPRUNE=*number*\",\"type\":\"value\"},{\"name\":\"PSPLIT=\",\"optional\":true,\"description\":\"specifies the probability of sampling the operation of splitting a terminal node for the tree sampling algorithm\",\"help\":\"PSPLIT=*number*\",\"type\":\"value\"}]}],\"supportSiteInformation\":{\"docsetId\":\"casstat\",\"docsetVersion\":\"latest\",\"docsetTargetFile\":\"casstat_bart_toc.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/BCHOICE.json",
    "content": "{\"name\":\"BCHOICE\",\"statements\":[{\"name\":\"PROC BCHOICE\",\"description\":\"The BCHOICE (Bayesian choice) procedure performs Bayesian analysis for discrete choice models. Discrete choice models are used in marketing research to model decision makers' choices among alternative products and services. The decision maker might be people, households, companies and so on, and the alternatives might be products, services, actions, or any other options or items about which choices must be made (Train 2009). The collection of alternatives that are available to the decision makers is called a choice set. † Discrete choice models are derived under the assumption of utility-maximizing behavior by decision makers. When individuals are asked to make one choice among a set of alternatives, they usually determine the level of utility that each alternative offers.\",\"help\":\"PROC BCHOICE <ACCEPTTOL=n><ALGORITHM=GAMERMAN | RWM | LATENT><DATA=SAS-data-set><DIAGNOSTICS=NONE | <(keyword-list)>><DIC><HITPROBABILITY><INF=value><LOGPOST><MAXTUNE=n><MCHISTORY=BRIEF | DETAILED | NONE><MINTUNE=n><NBI=n><NMC=n><NOCLPRINT<=n>><NTHREADS=n | NTHREAD=n><NTU=n><OUTPOST=SAS-data-set | OUT=SAS-data-set><PLOTS=ALL | AUTOCORR | DENSITY... ><SCALE=value><SEED=n><STATISTICS=ALL | BRIEF | CORR... ><TARGACCEPT=value><THIN=n | NTHIN=n><TUNEWT=value>;     \\n\\tBY variables;\\n\\n\\tCLASS <CPREFIX=n><DESCENDING><LPREFIX=n> ...;\\n\\n\\tMODEL <ALTERIDX=variable><CHOICESET=(variables)><CHOICETYPE=<BINARY | MAXDIFF | ALLOCATION>> ...;\\n\\n\\tPREDDIST <COVARIATES=SAS-data-set><NALTER=nNALTERNATIVE=n><OUTPRED=SAS-data-set> ...;\\n\\n\\tRANDOM <COVPRIOR=<IWISHART>><MONITORMONITOR=(numeric-list)MONITOR=RANDOM (number)><NOOUTPOST> ...;\\n\\n\\tRESTRICT <'label'> fixed-effect operand operator <value> ;RESTRICT <'label'> fixed-effect constraint-list;\\n\",\"arguments\":[{\"name\":\"ACCEPTTOL=\",\"optional\":true,\"description\":\"Specifies a tolerance for acceptance probabilities for the random walk sampler. By default, ACCEPTTOL=0.075. You can specify this option for logit models.\",\"help\":\"ACCEPTTOL=*n*\",\"type\":\"value\"},{\"name\":\"ALGORITHM=\",\"optional\":true,\"aliases\":[\"ALG=\"],\"description\":\"Specifies the algorithm to use to sample the posterior distribution for the regression coefficients.\",\"help\":\"ALGORITHM=GAMERMAN | RWM | LATENT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"GAMERMAN\",\"description\":\"Uses the Metropolis-Hastings approach of Gamerman (1997). This is the default for logit models.\",\"type\":\"standalone\"},{\"name\":\"RWM\",\"description\":\"Uses the random walk Metropolis algorithm along with the normal proposal, as suggested in Rossi, Allenby, and McCulloch (2005).\",\"type\":\"standalone\"},{\"name\":\"LATENT\",\"description\":\"Uses the latent variables via the data augmentation method. This is the default for probit models. This option is ignored for logit models.\",\"type\":\"standalone\"}]},{\"name\":\"DATA=\",\"optional\":true,\"description\":\"Specifies the input data set.\",\"help\":\"DATA=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"DIAGNOSTICS=\",\"optional\":true,\"aliases\":[\"DIAG=\"],\"description\":\"Specifies options for convergence diagnostics. By default, PROC BCHOICE computes the effective sample sizes. The sample autocorrelations, Monte Carlo errors, Geweke test, Raftery-Lewis test, and Heidelberger-Welch test are also available.\",\"help\":\"DIAGNOSTICS=NONE | &lt;(keyword-list)&gt;\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NONE\",\"description\":\"Suppress all the tests.\",\"type\":\"standalone\"},{\"name\":\"<(keyword-list)>\",\"description\":\"The following keywords are available: ALL -- computes all diagnostic tests and statistics. You can combine the option ALL with any other specific tests to modify test options. AUTOCORR <(autocorr-options)> -- computes default autocorrelations at lags 1, 5, 10, and 50 for each variable. You can choose other lags by using the following autocorrelation-option: LAGS=(numeric-list) ESS -- computes the effective sample sizes (Kass et al. (1998)) of the posterior samples of each parameter. GEWEKE <(FRAC1=value FRAC2=value)> computes the Geweke spectral density diagnostics, where FRAC1 and FRAC2 specify the beginning FRAC1 and end FRAC2 proportion of the Markov chain, respectively. HEIDELBERGER <(SALPHA=value value EPS=value)> computes the Heidelberger and Welch diagnostic (which consists of a stationarity test and a halfwidth test) for each variable. SALPHA= -- specifies the α level (0 < a < 1) for the stationarity test. By default, SALPHA=0.05 HALPHA= -- specifies the α level (0 < a < 1) for the halfwidth test. By default, HALPHA=0.05. EPS= -- specifies a small positive number ε such that if the halfwidth is less than ε times the sample mean of the retaining iterates, the halfwidth test is passed. MAXLAG=n -- specifies the maximum number of autocorrelation lags to use to compute the effective sample size. MCSE -- computes the Monte Carlo standard error for the posterior samples of each parameter. NONE -- suppresses all of the diagnostic tests and statistics. This is not recommended. RAFTERY <(QUANTILE=value ACCURACY=value PROB=value EPS=value QUANTILE=value)> -- computes the Raftery and Lewis diagnostics.\",\"type\":\"standalone\"}]},{\"name\":\"DIC\",\"optional\":true,\"description\":\"Computes the deviance information criterion (DIC). DIC is calculated by using the posterior mean estimates of the parameters.\",\"type\":\"standalone\"},{\"name\":\"HITPROBABILITY\",\"optional\":true,\"aliases\":[\"HITPROB\"],\"description\":\"Calculates the average of estimated probabilities of all chosen alternatives in the input data set. You can use this average as a measure of goodness of fit.\",\"type\":\"standalone\"},{\"name\":\"INF=\",\"optional\":true,\"description\":\"Specifies the numerical definition of infinity in PROC BCHOICE. By default, INF=1E15. For example, PROC BCHOICE considers 1E16 to be outside the support of the normal distribution and assigns a missing value to the log density evaluation. The minimum value that is allowed is 1E10, and the maximum value that is allowed is 1E27.\",\"help\":\"INF=*value*\",\"type\":\"value\"},{\"name\":\"LOGPOST\",\"optional\":true,\"description\":\"Calculates the logarithm of the posterior density of the parameters and the likelihood at each iteration. As a result, the OUTPOST= data set will contain the LOGLIKE and LOGPOST variables. You can specify this option for logit models and nested logit models, but not probit models.\",\"type\":\"standalone\"},{\"name\":\"MAXTUNE=\",\"optional\":true,\"description\":\"Specifies an upper limit for the number of proposal tuning loops for the random walk sampler. You can specify this option for logit models; it is ignored for other models. By default, MAXTUNE=6.\",\"help\":\"MAXTUNE=*n*\",\"type\":\"value\"},{\"name\":\"MCHISTORY=\",\"optional\":true,\"aliases\":[\"MCHIST=\"],\"description\":\"Controls the display of the Metropolis sampling history. This option is ignored for nested logit and probit models.\",\"help\":\"MCHISTORY=BRIEF | DETAILED | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"BRIEF\",\"description\":\"Produces a summary output for the tuning, burn-in, and sampling history tables. No tuning history table is produced if there is no tuning stage. The tables show the following when applicable: o Scale shows the scale, or the range of the scales, that is used in each random walk Metropolis block that has a normal distribution. o Acceptance Rate shows the acceptance rate, or the range of the acceptance rates, for each Metropolis block.\",\"type\":\"standalone\"},{\"name\":\"DETAILED\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"\",\"type\":\"standalone\"}]},{\"name\":\"MINTUNE=\",\"optional\":true,\"description\":\"Specifies a lower limit for the number of proposal tuning loops for the random walk sampler. You can specify this option for logit models; it is ignored for other models. By default, MINTUNE=2.\",\"help\":\"MINTUNE=*n*\",\"type\":\"value\"},{\"name\":\"NBI=\",\"optional\":true,\"description\":\"Specifies the number of burn-in iterations to perform before beginning to save parameter estimate chains. By default, NBI=500.\",\"help\":\"NBI=*n*\",\"type\":\"value\"},{\"name\":\"NMC=\",\"optional\":true,\"description\":\"Specifies the number of iterations in the main simulation loop. This is the MCMC sample size if THIN= 1. By default, NMC=5000.\",\"help\":\"NMC=*n*\",\"type\":\"value\"},{\"name\":\"NOCLPRINT\",\"optional\":true,\"description\":\"Suppresses the display of the \\\"Class Level Information\\\" table if you do not specify n. If you specify n, the values of the classification variables are displayed for only those variables whose number of levels is less than n. Specifying n helps reduce the size of the \\\"Class Level Information\\\" table if some classification variables have a large number of levels.\",\"type\":\"standalone\"},{\"name\":\"NTHREADS=\",\"optional\":true,\"aliases\":[\"NTHREAD=\"],\"description\":\"Syntax: NTHREADS=n | NTHREAD=n Specifies the number of threads for analytic computations and overrides the SAS system option THREADS | NOTHREADS. If you do not specify the NTHREADS= option or if you specify NTHREADS=0, the default number of threads is 1.\",\"type\":\"value\"},{\"name\":\"NTU=\",\"optional\":true,\"description\":\"Specifies the number of iterations to use in each proposal tuning phase for the random walk sampler. You can specify this option for logit models; it is ignored for other models. By default, NTU=500.\",\"help\":\"NTU=*n*\",\"type\":\"value\"},{\"name\":\"OUTPOST=\",\"optional\":true,\"aliases\":[\"OUT=\"],\"description\":\"Specifies an output data set to contain the posterior samples of all parameters and the iteration numbers. It contains the log of the posterior density (LOGPOST) and the log likelihood (LOGLIKE) if you specify the LOGPOST option. By default, no OUTPOST= data set is created.\",\"type\":\"value\"},{\"name\":\"PLOTS=\",\"optional\":true,\"description\":\"Controls display of diagnostic plots. You can request three types of plots: trace plots, autocorrelation function plots, and kernel density plots. Syntax: (1) PLOTS <(global-plot-options)> = plot-request <(options)> (2) PLOTS <(global-plot-options)> = (plot-request <(options)> <...plot-request <(options)> > ) You can specify the following global-plot-options: FRINGE adds a fringe plot to the horizontal axis of the density plot. GROUPBY=PARAMETER | TYPE or GROUP=PARAMETER | TYPE specifies how the plots are grouped when there is more than one type of plot. By default, GROUPBY=PARAMETER. You can specify the following values: TYPE -- groups the plots by type. PARAMETER -- groups the plots by parameter. LAGS=n specifies the number of autocorrelation lags that are used in plotting the ACF graph. By default, LAGS=50. SMOOTH smooths the trace plot by using a fitted penalized B-spline curve (Eilers and Marx 1996). UNPACKPANEL | UNPACK unpacks all paneled plots, so that each plot in a panel is displayed separately.\",\"help\":\"PLOTS=ALL | AUTOCORR | DENSITY | NONE | TRACE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ALL\",\"description\":\"Requests all types of plots. PLOTS=ALL is equivalent to specifying PLOTS=(TRACE AUTOCORR DENSITY).\",\"type\":\"standalone\"},{\"name\":\"AUTOCORR\",\"description\":\"Displays the autocorrelation function plots for the parameters.\",\"type\":\"standalone\"},{\"name\":\"DENSITY\",\"description\":\"Displays the kernel density plots for the parameters.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"Suppresses the display of all plots.\",\"type\":\"standalone\"},{\"name\":\"TRACE\",\"description\":\"Displays the trace plots for the parameters.\",\"type\":\"standalone\"}]},{\"name\":\"SCALE=\",\"optional\":true,\"description\":\"Controls the initial multiplicative scale to the covariance matrix of the proposal distribution for the random walk–based Metropolis algorithm for logit models. By default, SCALE=2.93.\",\"help\":\"SCALE=*value*\",\"type\":\"value\"},{\"name\":\"SEED=\",\"optional\":true,\"description\":\"Specifies the random number seed. By default, SEED=0, and PROC BCHOICE gets a random number seed from the system clock. Negative seed values are treated as the default. The largest possible value for the seed is 2^{31) - 1. Analyses that use the same nonzero seed are reproducible. The seed value is reported in the \\\"Model Information\\\" table.\",\"help\":\"SEED=*n*\",\"type\":\"value\"},{\"name\":\"STATISTICS=\",\"optional\":true,\"aliases\":[\"STATS=\"],\"description\":\"Specifies options for posterior statistics. By default, PROC BCHOICE computes the posterior mean, standard deviation, quantiles, and two 95% credible intervals: equal-tail and highest posterior density (HPD). Other available statistics include the posterior correlation and covariance. You can request all the posterior statistics by specifying STATS=ALL. You can suppress all the calculations by specifying STATS=NONE. You can specify the following global-stats-options:\",\"help\":\"STATISTICS=ALL | BRIEF | CORR | COV | INTERNAL | NONE | SUMMARY\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ALL\",\"description\":\"Computes all posterior statistics.\",\"type\":\"standalone\"},{\"name\":\"BRIEF\",\"description\":\"Computes the posterior means, standard deviations, and 100(1-ALPHA)% HPD credible interval for each variable. By default, ALPHA=0.05, but you can use the global ALPHA= option to request other values. This is the default output for posterior statistics.\",\"type\":\"standalone\"},{\"name\":\"CORR\",\"description\":\"Computes the posterior correlation matrix.\",\"type\":\"standalone\"},{\"name\":\"COV\",\"description\":\"Computes the posterior covariance matrix.\",\"type\":\"standalone\"},{\"name\":\"INTERNAL\",\"description\":\"Computes the 100(1-ALPHA)% equal-tail and HPD credible intervals for each variable.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"Suppresses all the statistics.\",\"type\":\"standalone\"},{\"name\":\"SUMMARY\",\"description\":\"Computes the posterior means, standard deviations, and percentile points for each variable. By default, the 25th, 50th, and 75th percentile points are produced, but you can use the global PERCENT= option to request specific percentile points.\",\"type\":\"standalone\"}]},{\"name\":\"TARGACCEPT=\",\"optional\":true,\"description\":\"Specifies the target acceptance rate for the random walk–based Metropolis algorithm for logit models.\",\"help\":\"TARGACCEPT=*value*\",\"type\":\"value\"},{\"name\":\"THIN=\",\"optional\":true,\"aliases\":[\"NTHIN=\"],\"description\":\"Controls the thinning rate of the simulation. PROC BCHOICE keeps every nth simulation sample and discards the rest. All posterior statistics and diagnostics are calculated by using the thinned samples. By default, THIN=1.\",\"type\":\"value\"},{\"name\":\"TUNEWT=\",\"optional\":true,\"description\":\"Specifies the multiplicative weight used in updating the covariance matrix of the proposal distribution for the random walk sampler for logit models. The numeric value must be between 0 and 1. By default, TUNEWT=0.75.\",\"help\":\"TUNEWT=*value*\",\"type\":\"value\"}]},{\"name\":\"BY\",\"description\":\"You can specify a BY statement with PROC BCHOICE to obtain separate analyses of observations in groups that are defined by the BY variables. When a BY statement appears, the procedure expects the input data set to be sorted in order of the BY variables. If you specify more than one BY statement, only the last one specified is used. If your input data set is not sorted in ascending order, use one of the following alternatives: • Sort the data by using the SORT procedure with a similar BY statement. • Specify the NOTSORTED or DESCENDING option in the BY statement for the BCHOICE procedure. The NOTSORTED option does not mean that the data are unsorted but rather that the data are arranged in groups (according to values of the BY variables) and that these groups are not necessarily in alphabetical or increasing numeric order. • Create an index on the BY variables by using the DATASETS procedure (in Base SAS software).\",\"help\":\"BY variables\"},{\"name\":\"CLASS\",\"description\":\"The CLASS statement names the classification variables to be used as explanatory variables in the analysis. The CLASS statement must precede the MODEL statement. You can list the response variable for binary models in the CLASS statement, but this is not necessary.\",\"help\":\"CLASS &lt;CPREFIX=n&gt;&lt;DESCENDING&gt;&lt;LPREFIX=n&gt; ...\",\"arguments\":[{\"name\":\"CPREFIX=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies that, at most, the first n characters of a CLASS variable name be used in creating names for the corresponding design variables. The default is 32 - min (32, max (2,f)), where f is the formatted length of the CLASS variable.\",\"help\":\"CPREFIX=*n*\",\"type\":\"value\"},{\"name\":\"DESCENDING\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"DESC\"],\"description\":\"Reverses the sort order of the classification variable. If both the DESCENDING and ORDER= options are specified, PROC BCHOICE orders the categories according to the ORDER= option and then reverses that order.\",\"type\":\"standalone\"},{\"name\":\"LPREFIX=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies that, at most, the first n characters of a CLASS variable label be used in creating labels for the corresponding design variables. The default is 32 - min (32, max (2,f)), where f is the formatted length of the CLASS variable.\",\"help\":\"LPREFIX=*n*\",\"type\":\"value\"},{\"name\":\"MISSING\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Treats missing values (., ._, .A, …, .Z for numeric variables and blanks for character variables) as valid values for the CLASS variable.\",\"type\":\"standalone\"},{\"name\":\"ORDER=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the sort order for the levels of classification variables. This ordering determines which parameters in the model correspond to each level in the data. By default, ORDER=FORMATTED. For ORDER=FORMATTED and ORDER=INTERNAL, the sort order is machine-dependent. When ORDER=FORMATTED is in effect for numeric variables for which you have supplied no explicit format, the levels are ordered by their internal values.\",\"help\":\"ORDER=DATA | FORMATTED | FREQ | INTERNAL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DATA\",\"followsDelimiter\":\"/\",\"description\":\"Levels sorted by the order of appearance in the input data set.\",\"type\":\"standalone\"},{\"name\":\"FORMATTED\",\"followsDelimiter\":\"/\",\"description\":\"Levels sorted by the external formatted value, except for numeric variables with no explicit format, which are sorted by their unformatted (internal) value.\",\"type\":\"standalone\"},{\"name\":\"FREQ\",\"followsDelimiter\":\"/\",\"description\":\"Levels sorted by the descending frequency count; levels with the more observations come ealier in the order.\",\"type\":\"standalone\"},{\"name\":\"INTERNAL\",\"followsDelimiter\":\"/\",\"description\":\"Levels sorted by the unformatted value.\",\"type\":\"standalone\"}]},{\"name\":\"PARAM=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the parameterization method for the classification variable or variables.\",\"help\":\"PARAM=EFFECT | GLM | REFERENCE*keyword*\",\"type\":\"value\",\"arguments\":[{\"name\":\"EFFECT\",\"followsDelimiter\":\"/\",\"description\":\"Specifies effect coding.\",\"type\":\"standalone\"},{\"name\":\"GLM\",\"followsDelimiter\":\"/\",\"description\":\"Specifies a less-than-full-rank reference cell coding (this keyword can be used only in a global option)\",\"type\":\"standalone\"},{\"name\":\"REFERENCE\",\"followsDelimiter\":\"/\",\"description\":\"Specifies a reference cell encoding. This is the default.\",\"type\":\"standalone\"}]},{\"name\":\"REF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the reference level for PARAM= EFFECT, PARAM= REFERENCE, and their orthogonalizations.\",\"help\":\"REF='&lt;level&gt;' | FIRST | LAST\",\"type\":\"choice\",\"arguments\":[{\"name\":\"'\",\"followsDelimiter\":\"/\",\"description\":\"The level of the variable to use as the reference level. Specify the formatted value of the variable if a format is assigned. Replace <level> with an actual value.\",\"help\":\"'&lt;level&gt;'\",\"type\":\"standalone\"},{\"name\":\"FIRST\",\"followsDelimiter\":\"/\",\"description\":\"Designates the first ordered level as reference.\",\"type\":\"standalone\"},{\"name\":\"LAST\",\"followsDelimiter\":\"/\",\"description\":\"Designates the last ordered level as reference.\",\"type\":\"standalone\"}]},{\"name\":\"TRUNCATE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the length n of CLASS variable values to use in determining CLASS variable levels. The default is to use the full formatted length of the CLASS variable. If you specify TRUNCATE without the length n, the first 16 characters of the formatted values are used. When formatted values are longer than 16 characters, you can use this option to revert to the levels as determined in releases before SAS 9. The TRUNCATE option is available only as a global option.\",\"type\":\"standalone\"}]},{\"name\":\"MODEL\",\"description\":\"The MODEL statement is required; it defines the response (dependent) variable and the fixed effects. The response variable indicates the chosen alternative in a choice set by the value 1 and the unchosen alternatives by the value 0. Any value of the response variable that is not 1, including a missing value, indicates an unchosen alternative.\",\"help\":\"MODEL &lt;ALTERIDX=variable&gt;&lt;CHOICESET=(variables)&gt;&lt;CHOICETYPE=&lt;BINARY | MAXDIFF | ALLOCATION&gt;&gt; ...\",\"arguments\":[{\"name\":\"ALTERIDX=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the order of all alternatives in a choice set for a nested logit or probit model. Specify this option to make sure the alternatives appear in the same order in all choice sets. When you do not specify this option, PROC BCHOICE assumes that the alternatives are in the same order. The variable should take increasing positive integers starting from 1 within each choice set. You need to specify this option only for a nested logit or probit model; PROC BCHOICE ignores it for a logit model.\",\"help\":\"ALTERIDX=*variable*\",\"type\":\"value\"},{\"name\":\"CHOICESET=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies one or more variables for defining the choice sets. You must specify how the choice sets are constructed, and you can use more than one variable. PROC BCHOICE does not sort by the values of the choice set variable; rather, it considers the data to be from a new choice set whenever the value of the choice set variable changes from the previous observation.\",\"type\":\"value\"},{\"name\":\"CHOICETYPE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies what values the choice outcome variable takes.\",\"help\":\"CHOICETYPE=BINARY | MAXDIFF | ALLOCATION*choice-type*\",\"type\":\"value\",\"arguments\":[{\"name\":\"BINARY\",\"followsDelimiter\":\"/\",\"description\":\"Specifies that the choice response variable has a binary integer value: 1 for a chosen alternative and 0 for an unchosen alternative. Each choice set has at least two alternatives and only one chosen alternative.\",\"type\":\"standalone\"},{\"name\":\"MAXDIFF\",\"followsDelimiter\":\"/\",\"description\":\"Specifies that the choice response variable takes one of the possible three integer values: 1 for the best alternative, –1 for the worst alternative, and 0 for the ones in the middle.\",\"type\":\"standalone\"},{\"name\":\"ALLOCATION\",\"followsDelimiter\":\"/\",\"description\":\"ALLOCATION <(WEIGHT=n | variable)> Specifies that the choice response variable takes a percentage of preference for each alternative and that the sum of percentages in each choice set is 100%. You can specify the following suboption: WEIGHT=n specifies a positive integer to indicate how many times the allocated percentages of each choice set in the data should be applied. WEIGHT=variable specifies a variable from the DATA= data set to indicate how many times the allocated percentages of a choice set should be counted.\",\"type\":\"standalone\"}]},{\"name\":\"COEFFPRIOR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"CPRIOR=\"],\"description\":\"Specifies the prior distribution for the regression coefficients.\",\"help\":\"COEFFPRIOR=NORMAL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NORMAL\",\"followsDelimiter\":\"/\",\"description\":\"COEFFPRIOR=NORMAL < (options)> Syntax: CPRIOR=NORMAL <(options)> Specifies the normal prior distribution for the regression coefficients. You can specify the following options, enclosed in parentheses: INPUT=SAS-data-set specifies a SAS data set that contains the mean and covariance information of the normal prior. VAR <=c> specifies the normal prior N(0, cI), where I is the identity matrix and c is a scalar.\",\"type\":\"standalone\"}]},{\"name\":\"COVPRIOR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies an inverse Wishart prior distribution, IWISHART(a,b), for the covariance matrix for the vector of error differences. For models that do not have a covariance matrix for the error differences (the logit and nested logit models), this option is ignored.\",\"help\":\"COVPRIOR=IWISHART\",\"type\":\"choice\",\"arguments\":[{\"name\":\"IWISHART\",\"followsDelimiter\":\"/\",\"description\":\"Syntax: COVPRIOR=IWISHART <(options)> Specifies an inverse Wishart prior distribution, IWISHART(a,b), for the covariance matrix for the vector of error differences. You can specify the following options, enclosed in parentheses: DF=a specifies the degrees of freedom of the inverse Wishart distribution. The default is the number of alternatives in the choice set plus 2, which is equivalent to the dimension of the covariance matrix of the error differences plus 3. SCALE=b specifies bI for the scale parameter of the inverse Wishart distribution, where I is the identity matrix. The default is the number of alternatives in the choice set plus 2.\",\"type\":\"standalone\"}]},{\"name\":\"COVTYPE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the covariance structure of the error difference vector for a probit model. Although a variety of structures are available, most applications call for either COVTYPE=VC or COVTYPE=UN for the error difference vector.\",\"help\":\"COVTYPE=UN | VC\",\"type\":\"choice\",\"arguments\":[{\"name\":\"UN\",\"followsDelimiter\":\"/\",\"description\":\"The TYPE=UN (unstructured) specifies a full structured covariance matrix. The unstructured form accommodates any pattern of correlation in addition to fitting a different variance component for each error difference term.\",\"type\":\"standalone\"},{\"name\":\"VC\",\"followsDelimiter\":\"/\",\"description\":\"The COVTYPE=VC (variance components) models a different variance component for each error term.\",\"type\":\"standalone\"}]},{\"name\":\"INIT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"INITIAL=\"],\"description\":\"Specifies options for generating the initial values for the coefficients parameters that are specified as fixed-effects in the MODEL statement. By default, INIT=POSTMODE for logit models and INIT=PRIORMODE for probit models. You can specify the following keywords:\",\"help\":\"INIT=LIST= | PINIT | POSTMODE | PRIORMODE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"LIST=\",\"type\":\"value\"},{\"name\":\"PINIT\",\"type\":\"standalone\"},{\"name\":\"POSTMODE\",\"type\":\"standalone\"},{\"name\":\"PRIORMODE\",\"type\":\"standalone\"}]},{\"name\":\"LAMBDAPRIOR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"LPRIOR=\"],\"description\":\"Specifies a semi-flat prior distribution (Lahiri and Gao 2002) for the log-sum coefficient, lambda, for each nest in a nested logit model. For models that are not nested logit, this option is ignored. You can specify the following option, enclosed in parentheses:\",\"type\":\"choice\"},{\"name\":\"NEST=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Defines the nonoverlapping nests for a nested logit model. For a nested logit model, you must specify the nests for all the alternatives in the choice set. Otherwise, the standard logit model is assumed. The number of values in the list should match the number of alternatives in the choice sets, and each of the actual values represents the nest that the particular alternative goes to. For example, NEST=(1 2 1 1 2) arranges the first, third, and fourth alternatives in the first nest and the second and fifth alternatives in the second nest. Currently, this option can accommodate only two-level nested logit models.\",\"type\":\"value\"},{\"name\":\"SAMELAMBDA\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Constrains the log-sum coefficients to be the same for all the nests in a nested logit model.\",\"type\":\"standalone\"},{\"name\":\"TYPE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the type of the model.\",\"help\":\"TYPE=LOGIT | NLOGIT | PROBIT*keyword*\",\"type\":\"value\",\"arguments\":[{\"name\":\"LOGIT\",\"followsDelimiter\":\"/\",\"description\":\"Specifies a standard logit model.\",\"type\":\"standalone\"},{\"name\":\"NLOGIT\",\"followsDelimiter\":\"/\",\"description\":\"Specifies a nested logit model. If you do not also specify the NEST= option to define the nests, this option is ignored, and a standard logit model is fit.\",\"type\":\"standalone\"},{\"name\":\"PROBIT\",\"followsDelimiter\":\"/\",\"description\":\"Specifies a probit model.\",\"type\":\"standalone\"}]}]},{\"name\":\"PREDDIST\",\"description\":\"The PREDDIST statement creates a new SAS data set that contains random samples from the posterior predictive distribution of the choice probabilities. The posterior predictive distribution is the distribution of unobserved observations (prediction) conditional on the observed data.\",\"help\":\"PREDDIST &lt;COVARIATES=SAS-data-set&gt;&lt;NALTER=nNALTERNATIVE=n&gt;&lt;OUTPRED=SAS-data-set&gt; ...\",\"arguments\":[{\"name\":\"COVARIATES=\",\"optional\":true,\"description\":\"Names the SAS data set to contain the sets of explanatory variable values for which the predictions are established. This data set must contain data that has the same variables used in the model. If you omit the COVARIATES= option, the DATA = data set that is specified in the PROC BCHOICE statement is used instead.\",\"help\":\"COVARIATES=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"NALTERNATIVE=\",\"optional\":true,\"aliases\":[\"NALTER=\"],\"description\":\"Specifies the number of alternatives in a choice set in the COVARIATES= data set. All choice sets in the data must have the same number of alternatives. You must specify this option if a COVARIATES= data set is given.\",\"help\":\"NALTERNATIVE=*n*\",\"type\":\"value\"},{\"name\":\"OUTPRED=\",\"optional\":true,\"description\":\"Creates an output data set to contain the samples from the posterior predictive distribution.\",\"help\":\"OUTPRED=*SAS-data-set*\",\"type\":\"dataSet\"}]},{\"name\":\"RANDOM\",\"description\":\"The RANDOM statement defines the random effects in the choice model. You can use this statement to specify traditional variance component models and to specify random coefficients, which can be classification or continuous. You can specify only one RANDOM statement. Include the TYPE= option to define the covariance structure. PROC BCHOICE does not include the intercept in the RANDOM statement.\",\"help\":\"RANDOM &lt;COVPRIOR=&lt;IWISHART&gt;&gt;&lt;MONITORMONITOR=(numeric-list)MONITOR=RANDOM (number)&gt;&lt;NOOUTPOST&gt; ...\",\"arguments\":[{\"name\":\"COVPRIOR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies an inverse Wishart prior distribution, IWISHART(a,b), for the covariance matrix of random effects.\",\"help\":\"COVPRIOR=IWISHART\",\"type\":\"choice\",\"arguments\":[{\"name\":\"IWISHART\",\"followsDelimiter\":\"/\",\"description\":\"Syntax: COVPRIOR=IWISHART <(options)> Specifies an inverse Wishart prior distribution, IWISHART(a,b), for the covariance matrix for the vector of error differences. You can specify the following options, enclosed in parentheses: DF=a specifies the degrees of freedom of the inverse Wishart distribution. The default is the number of alternatives in the choice set plus 2, which is equivalent to the dimension of the covariance matrix of the error differences plus 3. SCALE=b specifies bI for the scale parameter of the inverse Wishart distribution, where I is the identity matrix. The default is the number of alternatives in the choice set plus 2.\",\"type\":\"standalone\"}]},{\"name\":\"MONITOR\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Outputs results for the individual-level random-effects parameters. (By default, PROC BCHOICE does not output results for individual-level random-effects parameters.) You can monitor a subset of the random-effects parameters. You can provide a numeric list of the SUBJECT indexes, or PROC BCHOICE can randomly choose a subset of all subjects for you.\",\"type\":\"standalone\"},{\"name\":\"NOOUTPOST\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Suppresses the output of the posterior samples of individual random-effects parameters to the OUTPOST= data set. In models that have a large number of individual random-effects (for example, tens of thousands), PROC BCHOICE can run faster if it does not save the posterior samples of the individual random-effects.\",\"type\":\"standalone\"},{\"name\":\"OUTSUBCOEFF\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"OUTSUBUTL\"],\"description\":\"Creates an output data set to contain the estimates of subject-level (individual) random-effects coefficients.\",\"type\":\"standalone\"},{\"name\":\"PRINTCOV\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests to always output the summary, diagnostics statistics and plots for the parameters in the covariance matrix of the random effects.\",\"type\":\"standalone\"},{\"name\":\"REMEAN\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Models the mean of the random effects, so that $\\\\bar\\\\bgamma $ is estimated. You can also model the prior mean of the random effects as a function of individual demographic variables.\",\"type\":\"standalone\"},{\"name\":\"SUBJECT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"SUB=\"],\"description\":\"Identifies the subjects in the model for the random effects. A set of random effects will be estimated for each subject.\",\"type\":\"value\"},{\"name\":\"TYPE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the covariance structure. Although a variety of structures are available, most applications call for either COVTYPE=VC or COVTYPE=UN for the error difference vector.\",\"help\":\"TYPE=UN | VC\",\"type\":\"choice\",\"arguments\":[{\"name\":\"UN\",\"followsDelimiter\":\"/\",\"description\":\"The TYPE=UN (unstructured) specifies a full structured covariance matrix for the random effects. The unstructured form accommodates any pattern of correlation between the random effects in addition to fitting a different variance component for each random effect.\",\"type\":\"standalone\"},{\"name\":\"VC\",\"followsDelimiter\":\"/\",\"description\":\"The TYPE=VC (variance components) option, which is the default structure, models a different variance component for each random effect.\",\"type\":\"standalone\"}]}]},{\"name\":\"RESTRICT\",\"description\":\"The RESTRICT statement enables you to specify restrictions on a fixed-effect that is specified in a preceding MODEL statement for a logit model. You can specify either a boundary requirement or order constraints on the fixed-effect. Specify one RESTRICT statement for each boundary requirement or order constraint. You must specify all boundary requirements before any order constraints. PROC BCHOICE incorporates the specified restrictions in the analysis. The RESTRICT statement is not available for a nested logit or probit model, nor for any random effects.\",\"help\":\"RESTRICT &lt;'label'&gt; fixed-effect operand operator &lt;value&gt; ;RESTRICT &lt;'label'&gt; fixed-effect constraint-list\"}],\"supportSiteInformation\":{\"docsetId\":\"statug\",\"docsetVersion\":\"latest\",\"docsetTargetFile\":\"statug_bchoice_toc.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/BINNING.json",
    "content": "{\"name\":\"BINNING\",\"statements\":[{\"name\":\"PROC BINNING\",\"description\":\"The BINNING procedure performs binning in SAS Viya. Binning is a common step in the data preparation stage of the model-building process. You can use binning to classify missing variables, reduce the impact of outliers, and generate multiple effects. The generated effects are useful and contain certain nonlinear information about the original variables.\",\"help\":\"PROC BINNING <options>;                 \\n\\tCODE  FILE=filename;                 \\n\\n\\tFREQ  variable;                 \\n\\n\\tINPUT  variables </ options>;                 \\n\\n\\tOUTPUT  OUT=libref.data-table<options>;                 \\n\\n\\tTARGET  variable / <options>;                 \\n\\n\\tWEIGHT  variable;                 \\n\",\"arguments\":[{\"name\":\"BINMISSING=\",\"optional\":true,\"description\":\"specifies whether to use missing values of the input variables for the binning process\",\"help\":\"BINMISSING=TRUE | FALSE\",\"type\":\"choice\"},{\"name\":\"DATA=\",\"optional\":true,\"description\":\"names the input data table for PROC BINNING to use\",\"help\":\"DATA=*libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"FUZZYCOMPARE=\",\"optional\":true,\"description\":\"specifies the fuzzy comparison threshold that is used to determine the distinctness of numeric values\",\"help\":\"FUZZYCOMPARE=*value*\",\"type\":\"value\"},{\"name\":\"METHOD=\",\"optional\":true,\"description\":\"specifies which binning method to use\",\"help\":\"METHOD=BUCKET | CUTPTS(*numlist*) | QUANTILE | TREE &lt;*options*&gt; | WINSOR(RATE=*rate*) \",\"type\":\"value\",\"arguments\":[{\"name\":\"BUCKET\",\"description\":\"uses the bucket binning method\",\"type\":\"standalone\"},{\"name\":\"CUTPTS\",\"description\":\"uses the cutpoints binning method and specifies the lower and upper bounds of the bin\",\"help\":\"CUTPTS(*numlist*)\",\"type\":\"value\"},{\"name\":\"QUANTILE\",\"description\":\"uses the quantile binning method\",\"type\":\"standalone\"},{\"name\":\"TREE{\",\"description\":\"uses the tree-based binning method\",\"help\":\"TREE{ &lt;*options*&gt; } \",\"type\":\"value\",\"arguments\":[{\"name\":\"CRITERIA{\",\"description\":\"specifies the criteria for growing the tree for the tree-based binning method\",\"help\":\"CRITERIA{ &lt;*options*&gt; } \",\"type\":\"value\",\"arguments\":[{\"name\":\"GAIN\",\"aliases\":[\"ENTROPY\"],\"description\":\"uses the gain in information (decrease in entropy) as the tree-growing criterion\",\"help\":\" GAIN \",\"type\":\"standalone\"},{\"name\":\"GAINRATIO\",\"aliases\":[\"ENTROPYRATIO\"],\"description\":\"uses the gain ratio in information (decrease in entropy ratio) as the tree-growing criterion\",\"help\":\" GAINRATIO \",\"type\":\"standalone\"},{\"name\":\"GINI\",\"description\":\"uses the Gini statistic as the tree-growing criterion\",\"help\":\" GINI \",\"type\":\"standalone\"},{\"name\":\"SSE\",\"description\":\"uses the sum of squared error as the tree-growing criterion\",\"help\":\" SSE \",\"type\":\"standalone\"}]},{\"name\":\"DISTINCTCOUNTLIMIT=\",\"aliases\":[\"MAXDISTINCTLEVELS=\"],\"description\":\"specifies the maximum number of distinct levels that interval variables can have in order for them to be treated as nominal variables, where integer can be any integer between 2 and 30,000, inclusive\",\"help\":\"DISTINCTCOUNTLIMIT=*integer*\",\"type\":\"value\"},{\"name\":\"INITBIN=\",\"description\":\"specifies the initial number of bins for interval input variables to start the tree-based binning process\",\"help\":\" INITBIN=*integer* \",\"type\":\"value\"},{\"name\":\"INITMETHOD=\",\"description\":\"specifies the method to initialize the tree-based binning for interval input variables\",\"help\":\" INITMETHOD=BUCKET | QUANTILE \",\"type\":\"choice\"},{\"name\":\"LEAFSIZE=\",\"aliases\":[\"MINNOBSINBIN=\"],\"description\":\"specifies the allowed minimum number of observations per leaf for tree-based binning\",\"help\":\" LEAFSIZE=*integer* \",\"type\":\"value\"},{\"name\":\"MAXNBINS=\",\"description\":\"specifies the desired maximum number of bins for all variables\",\"help\":\" MAXNBINS=*integer* \",\"type\":\"value\"},{\"name\":\"MINNBINS=\",\"description\":\"specifies the desired minimum number of bins for all variables\",\"help\":\" MINNBINS=*integer* \",\"type\":\"value\"}]},{\"name\":\"WINSOR\",\"description\":\"uses the Winsorized binning method and specifies the rate that it uses\",\"help\":\"WINSOR(RATE=*rate*)\",\"type\":\"value\"}]},{\"name\":\"MISSINGBINSTATS=\",\"optional\":true,\"description\":\"specifies whether to use the bin that contains the missing values for binning analysis such as WOE and IV\",\"help\":\"MISSINGBINSTATS=TRUE | FALSE\",\"type\":\"choice\"},{\"name\":\"MISSINGEVALNONEVENT=\",\"optional\":true,\"description\":\"specifies whether to consider missing values of the target variable as nonevents\",\"help\":\"MISSINGEVALNONEVENT=TRUE | FALSE\",\"type\":\"choice\"},{\"name\":\"NUMBIN=\",\"optional\":true,\"description\":\"specifies the global number of binning levels for all binning variables\",\"help\":\"NUMBIN=*integer*\",\"type\":\"value\"},{\"name\":\"PERCENTILETOLERANCE=\",\"optional\":true,\"description\":\"specifies the tolerance for percentile computation\",\"help\":\"PERCENTILETOLERANCE=*value*\",\"type\":\"value\"},{\"name\":\"PERCENTILEMAXITERATIONS=\",\"optional\":true,\"description\":\"specifies the maximum number of iterations for percentile computation\",\"help\":\"PERCENTILEMAXITERATIONS=*value*\",\"type\":\"value\"},{\"name\":\"RAW=\",\"optional\":true,\"description\":\"specifies whether to process variables by using their raw values or formatted values\",\"help\":\"RAW=TRUE | FALSE\",\"type\":\"choice\"},{\"name\":\"WOE\",\"optional\":true,\"description\":\"computes the weight of evidence and information values\",\"help\":\"WOE(WOEADJUST=*number*)\",\"type\":\"value\",\"arguments\":[{\"name\":\"WOEADJUST=\",\"description\":\"specifies the adjustment factor for the weight-of-evidence calculation, where number is between 0 and 1, inclusive\",\"help\":\"WOEADJUST=*number*\",\"type\":\"value\"}]}]},{\"name\":\"CODE\",\"description\":\"generates score code and stores it in a file that can be used for scoring purposes\",\"help\":\"CODE  FILE=filename;                                              \",\"arguments\":[{\"name\":\"FILE=\",\"description\":\"specifies the filename of the file to write the SAS score code to\",\"help\":\"FILE=*filename*\",\"type\":\"value\"}]},{\"name\":\"FREQ\",\"description\":\"identifies a numeric variable in the input data table that contains the frequency of occurrence of each observation\",\"help\":\"FREQ  variable;                                              \"},{\"name\":\"INPUT\",\"description\":\"names one or more variables as input variables for binning\",\"help\":\"INPUT  variables &lt;/ options&gt;;                                              \",\"arguments\":[{\"name\":\"NUMBIN=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the number of binning levels for all binning variables in the current INPUT statement\",\"help\":\"NUMBIN=*integer*\",\"type\":\"value\"},{\"name\":\"LEVEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies whether to treat the specified variables as interval or nominal\",\"help\":\"LEVEL=INTERVAL | NOMINAL \",\"type\":\"choice\",\"arguments\":[{\"name\":\"INTERVAL\",\"followsDelimiter\":\"/\",\"aliases\":[\"INT\"],\"description\":\"treats all variables that are specified in this INPUT statement as interval\",\"help\":\" INTERVAL \",\"type\":\"standalone\"},{\"name\":\"NOMINAL\",\"followsDelimiter\":\"/\",\"aliases\":[\"NOM\"],\"description\":\"treats all variables that are specified in this INPUT statement as nominal\",\"help\":\" NOMINAL \",\"type\":\"standalone\"}]}]},{\"name\":\"OUTPUT\",\"description\":\"enables you to write an output table back to the CAS server by creating an output data table{} that contains the results of PROC BINNING\",\"help\":\"OUTPUT  OUT=*libref.data-table*&lt;options&gt;;                                              \",\"arguments\":[{\"name\":\"OUT=\",\"optional\":true,\"description\":\"names the output data table for PROC BINNING to use\",\"help\":\"OUT=*libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"OUTLEVELBINMAP=\",\"optional\":true,\"description\":\"names the output bin-mapping data table for PROC BINNING to use\",\"help\":\"OUTLEVELBINMAP=*libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"COPYVAR=\",\"optional\":true,\"aliases\":[\"COPYVARS=\"],\"description\":\"lists one or more variables from the input data table to be transferred to the output data table\",\"help\":\"COPYVAR={*variable*}\",\"type\":\"value\"}]},{\"name\":\"TARGET\",\"description\":\"When the value of the METHOD= option is BUCKET, QUANTILE, WINSOR, or CUTPTS, the TARGET statement names the variable that PROC BINNING uses to calculate the weight of evidence and information value\",\"help\":\"TARGET  variable / &lt;options&gt;;                                              \",\"arguments\":[{\"name\":\"EVENT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the target event category that PROC BINNING uses to calculate the weight of evidence and information value in a quoted string of characters\",\"help\":\"EVENT={*\\\"category\\\"*}\",\"type\":\"value\"},{\"name\":\"LEVEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies whether to treat the target variable as interval or nominal\",\"help\":\"LEVEL=INTERVAL | NOMINAL \",\"type\":\"choice\",\"arguments\":[{\"name\":\"INTERVAL\",\"followsDelimiter\":\"/\",\"aliases\":[\"INT\"],\"description\":\"treats the target variable as interval\",\"help\":\" INTERVAL \",\"type\":\"standalone\"},{\"name\":\"NOMINAL\",\"followsDelimiter\":\"/\",\"aliases\":[\"NOM\"],\"description\":\"treats the target variable as nominal\",\"help\":\" NOMINAL \",\"type\":\"standalone\"}]}]},{\"name\":\"WEIGHT\",\"description\":\"variable is used to weight each observation to perform a weighted analysis of the data\",\"help\":\"WEIGHT  variable;                                              \"}],\"supportSiteInformation\":{\"docsetId\":\"casstat\",\"docsetVersion\":\"latest\",\"docsetTargetFile\":\"casstat_binning_toc.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/BNET.json",
    "content": "{\"name\":\"BNET\",\"statements\":[{\"name\":\"PROC BNET\",\"description\":\"The BNET procedure learns a Bayesian network from an input data table in SAS Viya. A Bayesian network is a directed acyclic graphical model in which nodes represent random variables and the links between nodes represent conditional dependency of the random variables. Because the Bayesian network provides conditional independence structure and a conditional probability table at each node, the model has been used successfully as a predictive model in supervised data mining.\",\"help\":\"PROC BNET <ALPHA=number><BESTMODEL><DATA=CAS-libref.data-table><INDEPTEST=ALL | CHIGSQUARE | CHISQUARE... ><MAXPARENTS=integer><MIALPHA=number><MISSINGINT=IGNORE | IMPUTE><MISSINGNOM=IGNORE | IMPUTE | LEVEL><NTHREADS=number-of-threads><NUMBIN=integer | NBIN=integer><OUTNETWORK=CAS-libref.data-table | OUTNET=CAS-libref.data-table><PARENTING=BESTONE | BESTSET><PRESCREENING=0 | 1><PRINTTARGET><STRUCTURE=MB | NAIVE | PC... ><VARSELECT=0 | 1 | 2... >;     \\n\\tAUTOTUNE <EVALHISTORY=<ALL | LOG | NONE>... ><FRACTION=number><INDEPTEST (VALUES=value-list INIT=value EXCLUDE)> ...;\\n\\n\\tCODE <FILE=filename> ;\\n\\n\\tFREQ variable;\\n\\n\\tID variables;\\n\\n\\tINPUT <LEVEL=<NOMINAL | INTERVAL>> ;\\n\\n\\tOUTPUT <COPYVAR=variable | COPYVARS=(variables)><OUT=CAS-libref.data-table><ROLE=rolename> ...;\\n\\n\\tPARTITION <FRACTION(< TEST=fraction > < VALIDATE=fraction > < SEED=number >)><ROLE=|ROLEVAR=variable (< TEST='value' > < TRAIN='value' > < VALIDATE='value' >)> ;\\n\\n\\tSAVESTATE <RSTORE=CAS-libref.data-table> ;\\n\\n\\tTARGET variable;\\n\",\"arguments\":[{\"name\":\"ALPHA=\",\"optional\":true,\"description\":\"Specifies the significance level for independence tests by using chi-square or G-square statistics. The valid range is 0 to 1, inclusive. If you want to choose the best model among several, you can specify up to five numbers, separated by spaces. If you specify multiple numbers but you do not specify the BESTMODEL option, PROC BNET uses the first number and ignores the remaining numbers.\",\"help\":\"ALPHA=*number*\",\"type\":\"value\"},{\"name\":\"BESTMODEL\",\"optional\":true,\"description\":\"Requests that the best model be selected by using a validation data subset. You can specify the validation data subset by using the PARTITION statement. If you specify this option, you can specify multiple values for the ALPHA=, PRESCREENING=, VARSELECT=, STRUCTURE=, and PARENTING= options. PROC BNET uses the misclassification errors on the validation data to automatically decide the best set of parameter values among these options. By default, a best model is not selected.\",\"type\":\"standalone\"},{\"name\":\"DATA=\",\"optional\":true,\"description\":\"Names the input data table for PROC BNET to use. CAS-libref.data-table is a two-level name, where\",\"help\":\"DATA=*CAS-libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"INDEPTEST=\",\"optional\":true,\"description\":\"Specifies the method for independence tests.\",\"help\":\"INDEPTEST=ALL | CHIGSQUARE | CHISQUARE | GSQUARE | MI\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ALL\",\"description\":\"Uses the chi-square, the G-square statistics, and the normalized mutual information for independence tests.\",\"type\":\"standalone\"},{\"name\":\"CHIGSQUARE\",\"description\":\"Uses both the chi-square and the G-square statistics for independence tests.\",\"type\":\"standalone\"},{\"name\":\"CHISQUARE\",\"description\":\"Uses the chi-square statistics for independence tests.\",\"type\":\"standalone\"},{\"name\":\"GSQUARE\",\"description\":\"Uses the G-square statistics for independence tests.\",\"type\":\"standalone\"},{\"name\":\"MI\",\"description\":\"Uses the normalized mutual information for independence tests.\",\"type\":\"standalone\"}]},{\"name\":\"MAXPARENTS=\",\"optional\":true,\"description\":\"Specifies the maximum number of parents that is allowed for each node in the network structure. The valid range is 1 to 16, inclusive. If you specify the BESTMODEL option, PROC BNET calculates from 1 to integer and decides the best number of parents.\",\"help\":\"MAXPARENTS=*integer*\",\"type\":\"value\"},{\"name\":\"MIALPHA=\",\"optional\":true,\"description\":\"Specifies the threshold for independence tests by using mutual information. The valid range is 0 to 1, inclusive.\",\"help\":\"MIALPHA=*number*\",\"type\":\"value\"},{\"name\":\"MISSINGINT=\",\"optional\":true,\"description\":\"Specifies how to handle missing values for all interval input variables. This option applies to training data, validation, testing data and any data used for scoring.\",\"help\":\"MISSINGINT=IGNORE | IMPUTE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"IGNORE\",\"description\":\"Ignores the observations that have missing values in any of the interval variables.\",\"type\":\"standalone\"},{\"name\":\"IMPUTE\",\"description\":\"Replaces the missing values in any interval variable by the mean of the variable.\",\"type\":\"standalone\"}]},{\"name\":\"MISSINGNOM=\",\"optional\":true,\"description\":\"Specifies how to handle the missing values for all nominal input variables.\",\"help\":\"MISSINGNOM=IGNORE | IMPUTE | LEVEL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"IGNORE\",\"description\":\"Ignores the observations that have missing values in any of the nominal variables.\",\"type\":\"standalone\"},{\"name\":\"IMPUTE\",\"description\":\"Replaces the missing values in any interval variable by the mode of the variable.\",\"type\":\"standalone\"},{\"name\":\"LEVEL\",\"description\":\"Treats the missing values in any nominal variable as a separate level of the variable.\",\"type\":\"standalone\"}]},{\"name\":\"NTHREADS=\",\"optional\":true,\"description\":\"Specifies the number of threads to use. The default is the minimum CPU count of all the nodes.\",\"help\":\"NTHREADS=*number-of-threads*\",\"type\":\"value\"},{\"name\":\"NUMBIN=\",\"optional\":true,\"aliases\":[\"NBIN=\"],\"description\":\"Specifies the number of binning levels for all interval variables. PROC BNET bins each interval variable into integer equal-width levels. The valid range of integer is 2 to 1024, inclusive.\",\"type\":\"value\"},{\"name\":\"OUTNETWORK=\",\"optional\":true,\"aliases\":[\"OUTNET=\"],\"description\":\"Names the CAS data table to contain the network structure and the probability distributions. CAS-libref.data-table is a two-level name, where CAS-libref refers to the caslib and session identifier, and data-table specifies the name of the output data table.\",\"type\":\"value\"},{\"name\":\"PARENTING=\",\"optional\":true,\"description\":\"Specifies the algorithm for orienting the network structure.\",\"help\":\"PARENTING=BESTONE | BESTSET\",\"type\":\"choice\",\"arguments\":[{\"name\":\"BESTONE\",\"description\":\"Uses a greedy approach to determine the parents of each node; that is, for each node, the best candidate is added as a parent of the node in each iteration.\",\"type\":\"standalone\"},{\"name\":\"BESTSET\",\"description\":\"Determines the best set of variables among possible candidate sets as the parents of each node; that is, instead of adding one variable in an iteration, PROC BNET tests multiple sets of variables together and chooses the best set as the parents of the node.\",\"type\":\"standalone\"}]},{\"name\":\"PRESCREENING=\",\"optional\":true,\"description\":\"Specifies the initial screening for the input variables.\",\"help\":\"PRESCREENING=0 | 1\",\"type\":\"choice\",\"arguments\":[{\"name\":\"0\",\"description\":\"Uses all the input variables.\",\"type\":\"standalone\"},{\"name\":\"1\",\"description\":\"Uses only the input variables that are dependent on the target.\",\"type\":\"standalone\"}]},{\"name\":\"PRINTTARGET\",\"optional\":true,\"description\":\"Generates the table, \\\"Predicted Probability Variables,\\\" which displays the target variable and the predicted probability variables and the table \\\"Predicted Target Variable\\\" which displays the predicted target variable.\",\"type\":\"standalone\"},{\"name\":\"STRUCTURE=\",\"optional\":true,\"description\":\"Specifies the network structure. Together with the MAXPARENTS= option, this option determines which network structure the procedure learns from the training data.\",\"help\":\"STRUCTURE=MB | NAIVE | PC | TAN\",\"type\":\"choice\",\"arguments\":[{\"name\":\"MB\",\"description\":\"Learns the Markov blanket of the target variable. The Markov blanket includes the parents, the children, and the other parents of the children.\",\"type\":\"standalone\"},{\"name\":\"NAIVE\",\"description\":\"Assumes a naive Bayesian network structure (that is, the target has a direct link to each input variable).\",\"type\":\"standalone\"},{\"name\":\"PC\",\"description\":\"Learns the parent-child Bayesian network structure (PC).\",\"type\":\"standalone\"},{\"name\":\"TAN\",\"description\":\"Learns the tree-augmented naive Bayesian network structure. The TAN structure includes a direct link from the target to each input variable plus a tree structure among the input variables.\",\"type\":\"standalone\"}]},{\"name\":\"VARSELECT=\",\"optional\":true,\"description\":\"Specifies how input variables are selected beyond the prescreening.\",\"help\":\"VARSELECT=0 | 1 | 2 | 3\",\"type\":\"choice\",\"arguments\":[{\"name\":\"0\",\"description\":\"Uses all input variables that remain after the initial screening is performed as specified in the PRESCREENING= option.\",\"type\":\"standalone\"},{\"name\":\"1\",\"description\":\"Tests each input variable for conditional independence of the target variable given any other input variable.\",\"type\":\"standalone\"},{\"name\":\"2\",\"description\":\"Tests each input variable further for conditional independence of the target variable given any subset of other input variables.\",\"type\":\"standalone\"},{\"name\":\"3\",\"description\":\"Determines the Markov blanket of the target variable and uses only the variables in the Markov blanket.\",\"type\":\"standalone\"}]}]},{\"name\":\"AUTOTUNE\",\"description\":\"The AUTOTUNE statement searches for the best combination of values for the ALPHA, INDEPTEST, MAXPARENTS, MIALPHA, MISSINGINT, MISSINGNOM, NUMBIN, PARENTING, PRESCREENING, STRUCTURE, and VARSELECT options in the PROC BNET statement.\",\"help\":\"AUTOTUNE &lt;EVALHISTORY=&lt;ALL | LOG | NONE&gt;... &gt;&lt;FRACTION=number&gt;&lt;INDEPTEST (VALUES=value-list INIT=value EXCLUDE)&gt; ...\",\"arguments\":[{\"name\":\"EVALHISTORY=\",\"optional\":true,\"description\":\"Specifies how to report the evaluation history of the tuner.\",\"help\":\"EVALHISTORY=ALL | LOG | NONE | TABLE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ALL\",\"description\":\"Reports each evaluation in the log and creates the EvaluationHistory ODS table.\",\"type\":\"standalone\"},{\"name\":\"LOG\",\"description\":\"Prints the following information to the log for each evaluation: evaluation number, objective value, best objective value up to that point, evaluation time, and elapsed time since the beginning of the tuning process.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"Suppresses reporting of evaluations in the log and does not create the EvaluationHistory ODS table.\",\"type\":\"standalone\"},{\"name\":\"TABLE\",\"description\":\"Creates the EvaluationHistory ODS table, which contains all evaluated points. The table contains columns for the evaluation number, all tuning parameters, and the objective function value.\",\"type\":\"standalone\"}]},{\"name\":\"FRACTION=\",\"optional\":true,\"description\":\"Specifies the fraction of all data to be used for validation, where number must be between 0.01 and 0.99, inclusive. If you specify this option, the tuner uses a single partition validation for finding the objective value (validation error estimate). This option might not be advisable for small or unbalanced data tables where the random assignment of the validation subset might not provide a good estimate of error. For large, balanced data tables, a single validation partition is usually sufficient for estimating error; a single partition is more efficient than cross validation in terms of the total execution time. By default, FRACTION=0.3. You cannot specify this option in combination with the KFOLD= option.\",\"help\":\"FRACTION=*number*\",\"type\":\"value\"},{\"name\":\"INDEPTEST=\",\"optional\":true,\"description\":\"Specifies information about the method to use for independence tests. You can specify the following additional suboptions: VALUES=value-list specifies a list of methods to use for independence tests, where value-list is a space-separated list of CHIGSQUARE, CHISQUARE, MI, and GSQUARE. INIT=CHIGSQUARE | CHISQUARE | MI | GSQUARE specifies the initial method to use for independence tests. By default, INIT=CHIGSQUARE.\",\"help\":\"INDEPTEST=VALUES= | INIT= | EXCLUDE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"VALUES=\",\"type\":\"value\"},{\"name\":\"INIT=\",\"type\":\"value\"},{\"name\":\"EXCLUDE\",\"type\":\"standalone\"}]},{\"name\":\"KFOLD=\",\"optional\":true,\"description\":\"Specifies the number of folds (partitions) in the cross validation process, where number must be between 2 and 20, inclusive. If you specify this option, the tuner uses cross validation to find the objective value. In cross validation, each model evaluation requires number of training executions (on number–1 data folds) and number of scoring executions (on 1 hold-out fold). Thus, the evaluation time is increased by approximately number. For small to medium data tables or for unbalanced data tables, cross validation provides on average a better representation of error across the entire data table (a better generalization error). By default, KFOLD=5. You cannot specify this option in combination with the FRACTION= option.\",\"help\":\"KFOLD=*number*\",\"type\":\"value\"},{\"name\":\"MAXBAYES=\",\"optional\":true,\"description\":\"Specifies the maximum number of points in the Kriging model. This option is only honored when SEARCHMETHOD=BAYESIAN, and has a minimum value of 10.\",\"help\":\"MAXBAYES=*number*\",\"type\":\"value\"},{\"name\":\"MAXEVALS=\",\"optional\":true,\"description\":\"Specifies the maximum number of configuration evaluations allowed for the tuner, where number must be an integer greater than or equal to 3. When the number of evaluations is reached, the tuner terminates the search and returns the results. To produce a single objective function value (validation error estimate), each configuration evaluation requires either a single model training and scoring execution on a validation partition, or a number of training and scoring executions equal to the value of the KFOLD= option for cross validation. The MAXEVALS= option might lead to termination before the value of the MAXITER= option or the MAXTIME= option is reached. By default, MAXEVALS=50.\",\"help\":\"MAXEVALS=*number*\",\"type\":\"value\"},{\"name\":\"MAXITER=\",\"optional\":true,\"description\":\"Specifies the maximum number of iterations of the optimization tuner, where number must be greater than or equal to 1. Each iteration normally involves a number of objective evaluations up to the value of the POPSIZE= option. The MAXITER= option might lead to termination before the value of the MAXEVALS= option or the MAXTIME= option is reached. By default, MAXITER=5.\",\"help\":\"MAXITER=*number*\",\"type\":\"value\"},{\"name\":\"MAXPARENTS=\",\"optional\":true,\"description\":\"specifies information about the maximum number of parents that are allowed for each node in the network structure. The valid range is 1 to 16, inclusive. You can specify the following additional suboptions: LB=number specifies a lower bound on the maximum number of parents to consider during tuning. By default, LB=1. UB=number specifies an upper bound on the maximum number of parents to consider during tuning. By default, UB=16. VALUES=value-list specifies a list of values to consider for the maximum number of parents in the network structure, where value-list is a space-separated list of numbers. INIT=number specifies the initial maximum number of parents in the network structure. By default, INIT=5.\",\"help\":\"MAXPARENTS=LB= | UB= | VALUES= | INIT= | EXCLUDE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"LB=\",\"type\":\"value\"},{\"name\":\"UB=\",\"type\":\"value\"},{\"name\":\"VALUES=\",\"type\":\"value\"},{\"name\":\"INIT=\",\"type\":\"value\"},{\"name\":\"EXCLUDE\",\"type\":\"standalone\"}]},{\"name\":\"MAXTIME=\",\"optional\":true,\"description\":\"Specifies the maximum time (in seconds) allowed for the tuner, where number must be greater than or equal to 1. When this value is reached, the tuner terminates the search and returns results. The actual run time for optimization might be longer because it includes the remaining time needed to finish the current evaluation. For long-running model training (large data tables), the actual run time might significantly exceed number. The MAXTIME= option might lead to termination before the value of the MAXEVALS= option or the MAXITER= option is reached. By default, MAXTIME=36000.\",\"help\":\"MAXTIME=*number*\",\"type\":\"value\"},{\"name\":\"MAXTRAINTIME=\",\"optional\":true,\"description\":\"Specifies the maximum time allowed for a single model train. The model train is terminated if it exceeds this time, and the objective value is set to missing.\",\"help\":\"MAXTRAINTIME=*number*\",\"type\":\"value\"},{\"name\":\"MIALPHA=\",\"optional\":true,\"description\":\"Syntax: MIALPHA (LB=number UB=number VALUES=value-list INIT=number EXCLUDE) Specifies information about the threshold for independence tests by using mutual information. You can specify the following additional suboptions: LB=number specifies the minimum threshold value to consider during tuning. By default, LB=0. UB=number specifies the maximum threshold value to consider during tuning. By default, UB=1. VALUES=value-list specifies a list of threshold values to consider during tuning, where value-list is a space-separated list of numbers in the range 0 to 1. INIT=number specifies the initial threshold value for the tuner to use. By default, INIT=0.05.\",\"help\":\"MIALPHA=LB= | UB= | VALUES= | INIT= | EXCLUDE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"LB=\",\"type\":\"value\"},{\"name\":\"UB=\",\"type\":\"value\"},{\"name\":\"VALUES=\",\"type\":\"value\"},{\"name\":\"INIT=\",\"type\":\"value\"},{\"name\":\"EXCLUDE\",\"type\":\"standalone\"}]},{\"name\":\"MISSINGINT=\",\"optional\":true,\"description\":\"Specifies information about how to handle missing values for interval variables during the tuning process. You can specify the following additional suboptions: VALUES=value-list specifies a list of values for the tuner to try for the MISSINGINT suboption, where you can specify IMPUTE or IGNORE (or both) in a space-separated value-list. INIT=IMPUTE | IGNORE specifies whether to start tuning by imputing or ignoring missing values of interval variables. By default, INIT=IGNORE.\",\"help\":\"MISSINGINT=VALUES= | INIT= | EXCLUDE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"VALUES=\",\"type\":\"value\"},{\"name\":\"INIT=\",\"type\":\"value\"},{\"name\":\"EXCLUDE\",\"type\":\"standalone\"}]},{\"name\":\"MISSINGNOM=\",\"optional\":true,\"description\":\"Specifies information about how to handle missing values for nominal variables during the tuning process. You can specify the following additional suboptions: VALUES=value-list specifies a list of values for the tuner to handle missing values for nominal variables, where value-list is a combination of one or more of the following values in a space-separated list: IMPUTE, IGNORE, and LEVEL. INIT=IMPUTE | IGNORE specifies the initial value to use in tuning the MISSINGNOM suboption. By default, INIT=IGNORE.\",\"help\":\"MISSINGNOM=VALUES= | INIT= | EXCLUDE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"VALUES=\",\"type\":\"value\"},{\"name\":\"INIT=\",\"type\":\"value\"},{\"name\":\"EXCLUDE\",\"type\":\"standalone\"}]},{\"name\":\"NPARALLEL=\",\"optional\":true,\"description\":\"Specifies the number of evaluations to be performed in parallel, where number must be greater than or equal to 0. By default, NPARALLEL=0, which indicates that the value of number is determined as follows: o If SEARCHMETHOD=GA or SEARCHMETHOD=BAYESIAN, then the number of parallel evaluations is equal to the value of the POPSIZE= option minus 1.\",\"help\":\"NPARALLEL=*number*\",\"type\":\"value\"},{\"name\":\"NSUBSESSIONWORKERS=\",\"optional\":true,\"description\":\"Specifies the number of workers to use in parallel subsessions. When evaluating alternative configurations in parallel, a number of subsessions is created by the tuner, with each subsession potentially using multiple workers. The number of workers used in a parallel subsession is determined by using either NSUBSESSIONWORKERS=number, if specified, or determined automatically based upon the size of the data.\",\"help\":\"NSUBSESSIONWORKERS=*number*\",\"type\":\"value\"},{\"name\":\"NUMBIN=\",\"optional\":true,\"description\":\"Specifies information about the number of binning levels for all interval variables. The valid range is 2 to 20. You can specify the following additional suboptions: LB=number specifies a lower bound of binning levels to consider during tuning. By default, LB=2. UB=number specifies an upper bound of binning levels to consider during tuning. By default, UB=20. VALUES=value-list specifies a list of values of binning levels to consider, where value-list is a space-separated list of numbers. If you specify this suboption, you cannot specify the LB= and UB= suboptions. INIT=number specifies the initial number of binning levels. By default, INIT=5.\",\"help\":\"NUMBIN=LB= | UB= | VALUES= | INIT= | EXCLUDE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"LB=\",\"type\":\"value\"},{\"name\":\"UB=\",\"type\":\"value\"},{\"name\":\"VALUES=\",\"type\":\"value\"},{\"name\":\"INIT=\",\"type\":\"value\"},{\"name\":\"EXCLUDE\",\"type\":\"standalone\"}]},{\"name\":\"OBJECTIVE=\",\"optional\":true,\"description\":\"Specifies which measure of model performance the tuner uses as the objective function.\",\"help\":\"OBJECTIVE=ASE | AUC | F05 | F1 | GAMMA | GINI | KS | MAE | MCE | MCLL | MISC | MSE | MSLE | RASE | RMAE | RMSLE | TAU*function*\",\"type\":\"value\",\"arguments\":[{\"name\":\"ASE\",\"description\":\"Uses average squared error as the objective function.\",\"type\":\"standalone\"},{\"name\":\"AUC\",\"description\":\"Uses area under the curve as the objective function (nominal type only).\",\"type\":\"standalone\"},{\"name\":\"F05\",\"description\":\"Uses the F0.5 coefficient as the objective function (nominal type only).\",\"type\":\"standalone\"},{\"name\":\"F1\",\"description\":\"Uses the F1 coefficient as the objective function (nominal type only).\",\"type\":\"standalone\"},{\"name\":\"GAMMA\",\"description\":\"Uses the gamma coefficient as the objective function (nominal type only).\",\"type\":\"standalone\"},{\"name\":\"GINI\",\"description\":\"Uses the Gini coefficient as the objective function (nominal type only).\",\"type\":\"standalone\"},{\"name\":\"KS\",\"description\":\"Uses the Kolmogorov-Smirnov coefficient as the objective function (nominal type only).\",\"type\":\"standalone\"},{\"name\":\"MAE\",\"description\":\"Uses the mean absolute error as the objective function (interval type only).\",\"type\":\"standalone\"},{\"name\":\"MCE\",\"description\":\"Uses the misclassification rate as the objective function (nominal type only).\",\"type\":\"standalone\"},{\"name\":\"MCLL\",\"description\":\"Uses the multiclass log loss as the objective function (nominal type only).\",\"type\":\"standalone\"},{\"name\":\"MISC\",\"description\":\"Uses the misclassification error percentage as the objective function (nominal type only).\",\"type\":\"standalone\"},{\"name\":\"MSE\",\"description\":\"Uses the mean squared error as the objective function (interval type only).\",\"type\":\"standalone\"},{\"name\":\"MSLE\",\"description\":\"Uses the mean squared logarithmic error as the objective function (interval type only).\",\"type\":\"standalone\"},{\"name\":\"RASE\",\"description\":\"Uses the root average squared error as the objective function.\",\"type\":\"standalone\"},{\"name\":\"RMAE\",\"description\":\"Uses the root mean absolute error as the objective function (interval type only).\",\"type\":\"standalone\"},{\"name\":\"RMSLE\",\"description\":\"Uses the root mean squared logarithmic error as the objective function (interval type only).\",\"type\":\"standalone\"},{\"name\":\"TAU\",\"description\":\"Uses the tau coefficient as the objective function (nominal type only).\",\"type\":\"standalone\"}]},{\"name\":\"PARENTING=\",\"optional\":true,\"description\":\"Specifies information about the algorithm for orienting the network structure. You can specify the following additional suboptions: VALUES=value-list specifies a list of algorithms for orienting the network structure during tuning, where value-list is a space-separated list of BESTONE and BESTSET. INIT=BESTONE | BESTSET specifies the initial algorithm for orienting the network structure for the tuner to use. By default, INIT=BESTSET.\",\"help\":\"PARENTING=VALUES= | INIT= | EXCLUDE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"VALUES=\",\"type\":\"value\"},{\"name\":\"INIT=\",\"type\":\"value\"},{\"name\":\"EXCLUDE\",\"type\":\"standalone\"}]},{\"name\":\"POPSIZE=\",\"optional\":true,\"description\":\"Specifies the maximum number of evaluations in one iteration (population), where number must be greater than or equal to 1. In some cases, the tuner algorithm might generate a number of new configurations smaller than number. By default, POPSIZE=10.\",\"help\":\"POPSIZE=*number*\",\"type\":\"value\"},{\"name\":\"PRESCREENING=\",\"optional\":true,\"description\":\"Specifies information about the initial screening for the input variables. You can specify the following additional suboptions: VALUES=value-list specifies a list of initial screening values for the input variables, where value-list is a space-separated list of 0 and 1. INIT=number specifies the initial screening for the input variables. By default, INIT=1.\",\"help\":\"PRESCREENING=VALUES= | INIT= | EXCLUDE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"VALUES=\",\"type\":\"value\"},{\"name\":\"INIT=\",\"type\":\"value\"},{\"name\":\"EXCLUDE\",\"type\":\"standalone\"}]},{\"name\":\"SAMPLESIZE=\",\"optional\":true,\"description\":\"Specifies the total number of evaluations, where number must be greater than or equal to 1. You can specify this option when SEARCHMETHOD=RANDOM or SEARCHMETHOD=LHS. This option is ignored when SEARCHMETHOD=GA.\",\"help\":\"SAMPLESIZE=*number*\",\"type\":\"value\"},{\"name\":\"SEARCHMETHOD=\",\"optional\":true,\"description\":\"Specifies the search method to use for tuning.\",\"help\":\"SEARCHMETHOD=BAYESIAN | GA | LHS | RANDOM\",\"type\":\"choice\",\"arguments\":[{\"name\":\"BAYESIAN\",\"description\":\"Builds a Kriging surrogate model to approximate the objective value, and uses this surrogate model for generating new alternative configurations at each iteration.\",\"type\":\"standalone\"},{\"name\":\"GA\",\"description\":\"Uses an initial Latin hypercube sample that seeds a genetic algorithm to generate a new population of alternative configurations at each iteration.\",\"type\":\"standalone\"},{\"name\":\"LHS\",\"description\":\"Uses a Latin hypercube to generate a single sample of configurations that is uniform in each tuning parameter, but random in combinations.\",\"type\":\"standalone\"},{\"name\":\"RANDOM\",\"description\":\"Generates a single sample of purely random configurations.\",\"type\":\"standalone\"}]},{\"name\":\"STRUCTURE=\",\"optional\":true,\"description\":\"Specifies information about the network structure. You can specify the following additional suboptions: VALUES=value-list specifies a list of structures, where value-list is a space-separated list of MB, NAIVE, PC, and TAN. INIT=MB | NAIVE | PC | TAN specifies the initial network structure. By default, INIT=PC.\",\"help\":\"STRUCTURE=VALUES= | INIT= | EXCLUDE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"VALUES=\",\"type\":\"value\"},{\"name\":\"INIT=\",\"type\":\"value\"},{\"name\":\"EXCLUDE\",\"type\":\"standalone\"}]},{\"name\":\"TARGETEVENT=\",\"optional\":true,\"description\":\"Specifies the target event to use for calculating the selected objective function. This option is ignored when the value of the OBJECTIVE= option is not AUC, F1, F05, GINI, GAMMA, TAU, or KS.\",\"help\":\"TARGETEVENT=*string*\",\"type\":\"value\"},{\"name\":\"TRAINFRACTION=\",\"optional\":true,\"description\":\"Specifies the fraction of all data to be used for training, where number must be between 0.01 and 0.99, inclusive. If you specify this option, the tuner uses a single-partition validation to find the objective value (validation error estimate). Using this option might not be advisable for small or unbalanced data tables, where the random assignment of the validation subset might not provide a good estimate of error. For large, balanced data tables, a single-partition validation is usually sufficient for estimating error; a single partition is more efficient than cross validation in terms of the total execution time.\",\"help\":\"TRAINFRACTION=*number*\",\"type\":\"value\"},{\"name\":\"TUNINGPARAMETERS=\",\"optional\":true,\"aliases\":[\"TUNEPARMS=\"],\"description\":\"Specifies which parameters to tune and which ranges to tune over. If you specify USEPARAMETERS=STANDARD, this option is ignored. You can specify one or more of the following suboptions: ALPHA (LB=number UB=number VALUES=value-list INIT=number EXCLUDE) specifies information about the significance level for independence tests by using chi-square or G-square statistics. You can specify the following additional suboptions: LB=number specifies the minimum significance level to consider during tuning. By default, LB=0.01. UB=number specifies the maximum significance level to consider during tuning. By default, UB=0.99. VALUES=value-list specifies a list of significance levels to consider during tuning, where value-list is a space-separated list of numbers in the range 0 to 1. INIT=number specifies the initial significance level for the tuner to use. By default, INIT=0.05.\",\"help\":\"TUNINGPARAMETERS=ALPHA= | LB= | UB= | VALUES= | INIT= | EXCLUDE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ALPHA=\",\"type\":\"value\"},{\"name\":\"LB=\",\"type\":\"value\"},{\"name\":\"UB=\",\"type\":\"value\"},{\"name\":\"VALUES=\",\"type\":\"value\"},{\"name\":\"INIT=\",\"type\":\"value\"},{\"name\":\"EXCLUDE\",\"type\":\"standalone\"}]},{\"name\":\"USEPARAMETERS=\",\"optional\":true,\"description\":\"Specifies which set of parameters to tune.\",\"help\":\"USEPARAMETERS=COMBINED | CUSTOM | STANDARD\",\"type\":\"choice\",\"arguments\":[{\"name\":\"COMBINED\",\"description\":\"Tunes the parameters that are specified in the TUNINGPARAMETERS= option and uses default bounds and initial values to tune all other parameters.\",\"type\":\"standalone\"},{\"name\":\"CUSTOM\",\"description\":\"Tunes only the parameters that are specified in the TUNINGPARAMETERS= option.\",\"type\":\"standalone\"},{\"name\":\"STANDARD\",\"description\":\"Tunes all parameters by using their default bounds and initial values.\",\"type\":\"standalone\"}]},{\"name\":\"VARSELECT=\",\"optional\":true,\"description\":\"Specifies information about how to select input variables during the tuning process after the prescreening. You can specify the following additional suboptions: VALUES=value-list specifies a list of input variables to consider for the tuning process after the prescreening, where value-list is a space-separated list of 0, 1, 2, and 3. INIT=number specifies the initial value to consider for the tuning process after the prescreening. By default, INIT=1.\",\"help\":\"VARSELECT=VALUES= | INIT= | EXCLUDE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"VALUES=\",\"type\":\"value\"},{\"name\":\"INIT=\",\"type\":\"value\"},{\"name\":\"EXCLUDE\",\"type\":\"standalone\"}]}]},{\"name\":\"CODE\",\"description\":\"The CODE statement is optional in PROC BNET. If you use a CODE statement, SAS DATA step code is generated and stored in a file that can be used for scoring purposes.\",\"help\":\"CODE &lt;FILE=filename&gt;\",\"arguments\":[{\"name\":\"FILE=\",\"optional\":true,\"description\":\"Specifies the filename of the file to write the SAS score code to.\",\"help\":\"FILE=*filename*\",\"type\":\"value\"}]},{\"name\":\"FREQ\",\"description\":\"The variable in the FREQ statement identifies a numeric variable in the data set that contains the frequency of occurrence for each observation. The BNET procedure treats each observation as if it appeared n times, where n is the value of the variable for the observation. If n is not an integer, it is truncated to an integer. If n is less than 1 or is missing, the observation is ignored. When the FREQ statement is not specified, each observation is assigned a frequency of 1.\",\"help\":\"FREQ variable\"},{\"name\":\"ID\",\"description\":\"The optional ID statement lists one or more variables from the input data set to be copied to the prediction output data set. The ID statement accepts both numeric and character variables. The variables in an ID statement can also appear in any other statements.\",\"help\":\"ID variables\"},{\"name\":\"INPUT\",\"description\":\"The INPUT statement specifies one or more variables as input variables. You can specify multiple INPUT statements. PROC BNET does not support duplicate input variables. If the INPUT statement contains a duplicate variable, PROC BNET returns an error message and then exits.\",\"help\":\"INPUT &lt;LEVEL=&lt;NOMINAL | INTERVAL&gt;&gt;\",\"arguments\":[{\"name\":\"LEVEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the type of all the variables in the current INPUT statement.\",\"help\":\"LEVEL=NOMINAL | INTERVAL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NOMINAL\",\"followsDelimiter\":\"/\",\"description\":\"Treats all the variables in the current INPUT statement as nominal variables.\",\"type\":\"standalone\"},{\"name\":\"INTERVAL\",\"followsDelimiter\":\"/\",\"description\":\"Treats all the variables in the current INPUT statement as interval variables.\",\"type\":\"standalone\"}]}]},{\"name\":\"OUTPUT\",\"description\":\"Names the output data table for PROC BNET to use. You must specify this option before any other options.\",\"help\":\"OUTPUT &lt;COPYVAR=variable | COPYVARS=(variables)&gt;&lt;OUT=CAS-libref.data-table&gt;&lt;ROLE=rolename&gt; ...\",\"arguments\":[{\"name\":\"COPYVAR=\",\"optional\":true,\"aliases\":[\"COPYVARS=\"],\"description\":\"Lists one or more variables from the input data table to be copied to the output data table.\",\"type\":\"value\"},{\"name\":\"OUT=\",\"optional\":true,\"description\":\"Names the output data table for PROC BNET to use. You must specify this option before any other options. CAS-libref.data-table is a two-level name, where\",\"help\":\"OUT=*CAS-libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"ROLE=\",\"optional\":true,\"description\":\"Renames the generated column _ROLE_ in the output data table to the specified role.\",\"help\":\"ROLE=*rolename*\",\"type\":\"value\"}]},{\"name\":\"PARTITION\",\"description\":\"The PARTITION statement specifies how observations in the input data set are logically partitioned into disjoint subsets for model training, validation, and testing.\",\"help\":\"PARTITION &lt;FRACTION(&lt; TEST=fraction &gt; &lt; VALIDATE=fraction &gt; &lt; SEED=number &gt;)&gt;&lt;ROLE=|ROLEVAR=variable (&lt; TEST='value' &gt; &lt; TRAIN='value' &gt; &lt; VALIDATE='value' &gt;)&gt;\",\"arguments\":[{\"name\":\"FRACTION=\",\"optional\":true,\"description\":\"Randomly assigns specified proportions of the observations in the input data table to the roles. You specify the proportions for testing and validation by using the TEST= and VALIDATE= suboptions. If you specify both the TEST= and VALIDATE= suboptions, then the sum of the specified fractions must be less than 1 and the remaining fraction of the observations are assigned to the training role. The SEED= option specifies an integer that is used to start the pseudorandom number generator for random partitioning of data for training, testing, and validation. If you do not specify SEED=number or if number is less than or equal to 0, the seed is generated by reading the time of day from the computer’s clock.\",\"help\":\"FRACTION=VALIDATE= | TEST= | SEED=\",\"type\":\"choice\",\"arguments\":[{\"name\":\"VALIDATE=\",\"type\":\"value\"},{\"name\":\"TEST=\",\"type\":\"value\"},{\"name\":\"SEED=\",\"type\":\"value\"}]},{\"name\":\"ROLE=\",\"optional\":true,\"aliases\":[\"ROLEVAR=\"],\"description\":\"Names the variable in the input data table whose values are used to assign roles to each observation. This variable cannot also appear as an analysis variable in other statements or options. The TEST=, TRAIN=, and VALIDATE= suboptions specify the formatted values of this variable that are used to assign observation roles. If you do not specify the TRAIN= suboption, then all observations whose role is not determined by the TEST= or VALIDATE= suboption are assigned to the training role.\",\"help\":\"ROLE=TRAIN= | VALIDATE= | TEST=\",\"type\":\"choice\",\"arguments\":[{\"name\":\"TRAIN=\",\"type\":\"value\"},{\"name\":\"VALIDATE=\",\"type\":\"value\"},{\"name\":\"TEST=\",\"type\":\"value\"}]}]},{\"name\":\"SAVESTATE\",\"description\":\"The SAVESTATE statement creates an analytic store for the model and saves it as a binary object in a data table. You can use the analytic store in the ASTORE procedure to score new data.\",\"help\":\"SAVESTATE &lt;RSTORE=CAS-libref.data-table&gt;\",\"arguments\":[{\"name\":\"RSTORE=\",\"optional\":true,\"description\":\"Specifies a data table in which to save the analytic store for the model. CAS-libref.data-table is a two-level name, where CAS-libref refers to the caslib and session identifier, and data-table specifies the name of the output data table.\",\"help\":\"RSTORE=*CAS-libref.data-table*\",\"type\":\"dataSet\"}]},{\"name\":\"TARGET\",\"description\":\"The TARGET statement names the variable that PROC BNET predicts. PROC BNET treats the TARGET variable as nominal. The target values are levelized in descending order.\",\"help\":\"TARGET variable\"}],\"supportSiteInformation\":{\"docsetId\":\"casml\",\"docsetVersion\":\"latest\",\"docsetTargetFile\":\"casml_bnet_toc.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/BOM.json",
    "content": "{\"name\":\"BOM\",\"statements\":[{\"name\":\"PROC BOM\",\"description\":\"The BOM procedure performs bill-of-material processing. It reads all product structure records from a product structure data file and all part \\\"master\\\" records from a part master file, and composes the combined information into indented bills of material. In addition, PROC BOM can also output a summarized parts list, which lists all items and their total quantities required (needed to be made or ordered) in order to fill a given production plan. A production plan is an agreed-upon plan that comes from the aggregate planning function; specifically, it is the overall level of manufacturing output planned to be produced for each product family in each planning period (Cox and Blackstone, J. H., Jr. 1998). Production plan information can be included in the part master file.\",\"help\":\"PROC BOM <DATA=SAS-data-set><DUPLICATE=COMBINE | DISCARD | KEEP><NOUTIL><NPARTS=nparts><NRELATIONSHIPS=nrelts | NRELTS=nrelts><OUT=SAS-data-set | INDBOM=SAS-data-set><PMDATA=SAS-data-set | PMASTER=SAS-data-set><SUMMARYOUT=SAS-data-set | SUMPART=SAS-data-set>;     \\n\\tSTRUCTURE <COMPONENT=(variables)><ENDITEM=(enditems)><FACTOR=(variables) | SFACTOR=(variables)> ...;\\n\",\"arguments\":[{\"name\":\"DATA=\",\"optional\":true,\"aliases\":[\"PSDATA=\"],\"description\":\"Names the input SAS data set that contains all the product structure records (parent-component relationship, quantity per assembly, scrap factor, etc.) for a product, product line, plant or company. More than one product structure record can be specified in one observation if they have the same parent item. This data set is also referred to as the Product Structure data set, the Single-level BOM data set, or the Parent-Component Relationship Structure data set.\",\"help\":\"DATA=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"DUPLICATE=\",\"optional\":true,\"description\":\"Specifies how to handle identical product structure records in the Product Structure data set. Two product structure records are called identical if they have exactly the same values for the parent, component, lead-time offset, and all the RID variables.\",\"help\":\"DUPLICATE=COMBINE | DISCARD | KEEP\",\"type\":\"choice\",\"arguments\":[{\"name\":\"COMBINE\",\"description\":\"Combines the values of the quantity per assembly and scrap factor of all identical product structure records together.\",\"type\":\"standalone\"},{\"name\":\"DISCARD\",\"description\":\"Discards all identical product structure records except the first one.\",\"type\":\"standalone\"},{\"name\":\"KEEP\",\"description\":\"Keeps all identical product structure records.\",\"type\":\"standalone\"}]},{\"name\":\"NOUTIL\",\"optional\":true,\"description\":\"Specifies that the procedure should not use utility data sets for memory management.\",\"type\":\"standalone\"},{\"name\":\"NPARTS=\",\"optional\":true,\"description\":\"Specifies the number of part master records for which memory is initially allocated in core by the procedure.\",\"help\":\"NPARTS=*nparts*\",\"type\":\"value\"},{\"name\":\"NRELATIONSHIPS=\",\"optional\":true,\"aliases\":[\"NRELTS=\"],\"description\":\"Specifies the number of product structure records for which memory is initially allocated in core by the procedure.\",\"type\":\"value\"},{\"name\":\"OUT=\",\"optional\":true,\"aliases\":[\"INDBOM=\"],\"description\":\"Specifies a name for the output SAS data set that contains the indented bills of material for all final products in the input data sets or all end items specified in the ENDITEM= option.\",\"type\":\"value\"},{\"name\":\"PMDATA=\",\"optional\":true,\"aliases\":[\"PMASTER=\"],\"description\":\"Names the input SAS data set that contains all the part (item) master records for a product, product line, plant or company.\",\"type\":\"value\"},{\"name\":\"SUMMARYOUT=\",\"optional\":true,\"aliases\":[\"SUMPART=\"],\"description\":\"Specifies a name for the output SAS data set that contains the summarized parts list for the production plan specified in the Part Master data set.\",\"type\":\"value\"}]},{\"name\":\"STRUCTURE\",\"description\":\"The STRUCTURE statement lists the variables in the Product Structure and the Part Master input data sets. The main variable in the Part Master data set is the Part variable; the main variables in the Product Structure data set are the Parent and Component variables. If all the part master data are contained in the Product Structure data set, you need not specify a Part Master data set. If two separate input data sets are specified, you must specify both a Part variable and a Parent variable. Otherwise, you may specify either a Parent variable or a Part variable, or both. You must always specify at least one Component variable. The number of Component variables specified must be equal to the number of the product structure records (number of relationships specified) in each observation of the Product Structure data set. All other variables are optional. However, if you specify the Quantity, Offset, or Factor variables, you must have the same number of these variables as the number of Component variables. In this statement, you can also explicitly specify the items that are to be used as the end (level-0) items.\",\"help\":\"STRUCTURE &lt;COMPONENT=(variables)&gt;&lt;ENDITEM=(enditems)&gt;&lt;FACTOR=(variables) | SFACTOR=(variables)&gt; ...\",\"arguments\":[{\"name\":\"COMPONENT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"COMP=\"],\"description\":\"Specifies variables in the Product Structure input data set that contain the part numbers (identifications) of the components that are directly used in the common parent item identified by the Parent variable. These variables are also referred to as Component variables.\",\"type\":\"value\"},{\"name\":\"ENDITEM=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the items that are to be used as the highest level or level-0 items (also referred to as end items) in the indented bills of material. In other words, this option can be used to construct indented bills of material and summarized parts list for sub-assemblies.\",\"type\":\"value\"},{\"name\":\"FACTOR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"SFACTOR=\"],\"description\":\"Identifies variables in the Product Structure data set that contain the scrap factor information for each product structure record with the parent item identified by the Parent variable and the component identified by each of the Component variables; the ith factor variable corresponds to the i-th Component variable.\",\"type\":\"value\"},{\"name\":\"ID=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Identifies all variables in the Part Master data set that are not specified in the LEADTIME=, PART=, QTYONHAND=, or REQUIREMENT= options, and are to be included in the Indented BOM and the Summarized Parts output data sets.\",\"type\":\"value\"},{\"name\":\"LEADTIME=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"DUR=\"],\"description\":\"Identifies the variable in the Part Master data set that contains the lead time information for the item identified by the Part variable. The lead time of an item is the length of time between recognition of the need for an order and the receipt of the goods. Individual components of lead time can include order preparation time, queue time, processing time, move or transportation time, and receiving and inspection time.\",\"type\":\"value\"},{\"name\":\"OFFSET=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"LTOFFSET=\"],\"description\":\"Identifies variables in the Product Structure data set that contain the lead-time offset information for each product structure record with the parent item identified by the Parent variable and the component identified by each of the Component variables; the ith offset variable corresponds to the ith Component variable.\",\"type\":\"value\"},{\"name\":\"PARENT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the variable in the Product Structure data set that contains the part number or identification for the immediate parent item of the components identified by the Component variables. This variable is also referred to as the Parent variable.\",\"help\":\"PARENT=*variable*\",\"type\":\"value\"},{\"name\":\"PART=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"ITEM=\"],\"description\":\"Specifies the variable in the Part Master data set that contains the part number or identification. This variable is also referred to as the Part variable.\",\"type\":\"value\"},{\"name\":\"QTYONHAND=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"INVENTORY=\"],\"description\":\"Identifies the variable in the Part Master data set that contains the quantity currently on hand for the item identified by the Part variable.\",\"type\":\"value\"},{\"name\":\"QUANTITY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"QTYPER=\"],\"description\":\"Identifies variables in the Product Structure data set that contain the quantity per assembly information for each product structure record with the parent item identified by the Parent variable and the components identified by each of the Component variables; the ith quantity variable corresponds to the ith Component variable.\",\"type\":\"value\"},{\"name\":\"REQUIREMENT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"GROSSREQ=\"],\"description\":\"Identifies the variable in the Part Master data set that contains the gross requirement (the quantity planned to be produced in a production plan) for the item identified by the Part variable. This variable is also referred to as the Requirement variable and must be numeric.\",\"type\":\"value\"},{\"name\":\"RID=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Identifies all variables in the Product Structure data set that are not specified in the COMPONENT=, FACTOR=, OFFSET=, PARENT=, or QUANTITY= options, and are to be included in the Indented BOM data set. These variables are also referred to as RID variables.\",\"type\":\"value\"}]}],\"supportSiteInformation\":{\"docsetId\":\"orbomug\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"orbomug_bom_toc.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/BOOLRULE.json",
    "content": "{\"name\":\"BOOLRULE\",\"statements\":[{\"name\":\"PROC BOOLRULE\",\"description\":\"The BOOLRULE procedure is a SAS Viya procedure that enables you to extract Boolean rules from large-scale transactional data. † The BOOLRULE procedure can automatically generate a set of Boolean rules by analyzing a text corpus that has been processed by the TEXTMINE procedure and is represented in a transactional format.\",\"help\":\"PROC BOOLRULE <DATA=CAS-libref.data-table | DOC=CAS-libref.data-table><DOCID=variable><DOCINFO=CAS-libref.data-table><GNEG=g-value><GPOS=g-value><MAXCANDIDATES=n | MAXCANDS=n><MAXTRIESIN=n><MAXTRIESOUT=n><MINSUPPORTS=n><MNEG=m><MPOS=m><TERMID=variable><TERMINFO=CAS-libref.data-table>;     \\n\\tDOCINFO <EVENTS=(value1, value2, ...)><ID=variable><TARGET=(variable, variable, ...)> ...;\\n\\n\\tOUTPUT <CANDIDATETERMS=CAS-libref.data-table><RULES=CAS-libref.data-table><RULETERMS=CAS-libref.data-table> ...;\\n\\n\\tSCORE <OUTMATCH=CAS-libref.data-table><RULETERMS=CAS-libref.data-table> ;\\n\\n\\tTERMINFO <ID=variable><LABEL=variable> ;\\n\",\"arguments\":[{\"name\":\"DATA=\",\"optional\":true,\"aliases\":[\"DOC=\"],\"description\":\"Names the input data table for PROC BOOLRULE to use. CAS-libref.data-table is a two-level name, where\",\"type\":\"value\"},{\"name\":\"DOCID=\",\"optional\":true,\"description\":\"Specifies the variable that contains the ID of each document. The document ID can be either a number or a string of characters.\",\"help\":\"DOCID=*variable*\",\"type\":\"value\"},{\"name\":\"DOCINFO=\",\"optional\":true,\"description\":\"Names the input data table that contains information about documents. CAS-libref.data-table is a two-level name, where CAS-libref refers to the caslib and session identifier, and data-table specifies the name of the input data table.\",\"help\":\"DOCINFO=*CAS-libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"GNEG=\",\"optional\":true,\"description\":\"Specifies the minimum g-score needed for a negative term to be considered for rule extraction in the term ensemble. If you do not specify this option, the value that is specified for the GPOS= option (or its default value) is used.\",\"help\":\"GNEG=*g-value*\",\"type\":\"value\"},{\"name\":\"GPOS=\",\"optional\":true,\"description\":\"Specifies the minimum g-score needed for a positive term to be considered for rule extraction in the term ensemble. A rule also needs to have a g-score that is higher than g-value to be considered in the rule ensemble. The g-value is also used in the improvability test. A rule is improvable if the g-score that is computed according to the improvability test is larger than g-value. By default, GPOS=8.\",\"help\":\"GPOS=*g-value*\",\"type\":\"value\"},{\"name\":\"MAXCANDIDATES=\",\"optional\":true,\"aliases\":[\"MAXCANDS=\"],\"description\":\"Specifies the number of term candidates to be selected for each category. Rules are built by using only these term candidates. By default, MAXCANDS=500.\",\"type\":\"value\"},{\"name\":\"MAXTRIESIN=\",\"optional\":true,\"description\":\"Specifies the k-in value for the k-best search in the term ensemble process for creating rules.\",\"help\":\"MAXTRIESIN=*n*\",\"type\":\"value\"},{\"name\":\"MAXTRIESOUT=\",\"optional\":true,\"description\":\"Specifies the k-out value for the k-best search in the rule ensemble process for creating a rule set.\",\"help\":\"MAXTRIESOUT=*n*\",\"type\":\"value\"},{\"name\":\"MINSUPPORTS=\",\"optional\":true,\"description\":\"Specifies the minimum number of documents in which a term needs to appear in order for the term to be used for creating a rule. By default, MINSUPPORTS=3.\",\"help\":\"MINSUPPORTS=*n*\",\"type\":\"value\"},{\"name\":\"MNEG=\",\"optional\":true,\"description\":\"Specifies the m value for computing estimated precision for negative terms. If you do not specify this option, the value specified for the MPOS= option (or its default value) is used.\",\"help\":\"MNEG=*m*\",\"type\":\"value\"},{\"name\":\"MPOS=\",\"optional\":true,\"description\":\"Specifies the m value for computing estimated precision for positive terms. By default, MPOS=8.\",\"help\":\"MPOS=*m*\",\"type\":\"value\"},{\"name\":\"TERMID=\",\"optional\":true,\"description\":\"Specifies the variable that contains the ID of each term. The variable can be either a number or a string of characters. If the TERMINFO= option is not specified, variable is also used as the label of terms.\",\"help\":\"TERMID=*variable*\",\"type\":\"value\"},{\"name\":\"TERMINFO=\",\"optional\":true,\"description\":\"Names the input data table that contains information about terms. CAS-libref.data-table is a two-level name, where CAS-libref refers to the caslib and session identifier, and data-table specifies the name of the input data table.\",\"help\":\"TERMINFO=*CAS-libref.data-table*\",\"type\":\"dataSet\"}]},{\"name\":\"DOCINFO\",\"description\":\"The DOCINFO statement specifies information about the data table that is specified in the DOCINFO= option in the PROC BOOLRULE statement.\",\"help\":\"DOCINFO &lt;EVENTS=(value1, value2, ...)&gt;&lt;ID=variable&gt;&lt;TARGET=(variable, variable, ...)&gt; ...\",\"arguments\":[{\"name\":\"EVENTS=\",\"optional\":true,\"description\":\"Specifies the values of target variables that are considered as positive events or categories of interest as follows:\",\"type\":\"value\"},{\"name\":\"ID=\",\"optional\":true,\"description\":\"Specifies the variable that contains the document ID. To fetch the target information about documents, the values in the variable are matched to the document ID variable that is specified in the DOCID= option in the PROC BOOLRULE statement.\",\"help\":\"ID=*variable*\",\"type\":\"value\"},{\"name\":\"TARGET=\",\"optional\":true,\"description\":\"Specifies the target variables. A target variable can be either a numeric variable or a character variable.\",\"type\":\"value\"},{\"name\":\"TARGETTYPE=\",\"optional\":true,\"description\":\"Specifies the type of the target variables.\",\"help\":\"TARGETTYPE=BINARY | MULTICLASS\",\"type\":\"choice\",\"arguments\":[{\"name\":\"BINARY\",\"description\":\"Indicates that multiple target variables can be specified and each target variable corresponds to a category.\",\"type\":\"standalone\"},{\"name\":\"MULTICLASS\",\"description\":\"Indicates that only one target variable can be specified and each level of the target variable corresponds to a category.\",\"type\":\"standalone\"}]}]},{\"name\":\"OUTPUT\",\"description\":\"The OUTPUT statement specifies the data tables that contain the results that the BOOLRULE procedure generates.\",\"help\":\"OUTPUT &lt;CANDIDATETERMS=CAS-libref.data-table&gt;&lt;RULES=CAS-libref.data-table&gt;&lt;RULETERMS=CAS-libref.data-table&gt; ...\",\"arguments\":[{\"name\":\"CANDIDATETERMS=\",\"optional\":true,\"description\":\"Specifies a data table to contain the terms that have been selected by the BOOLRULE procedure for rule creation. CAS-libref.data-table is a two-level name, where CAS-libref refers to the caslib and session identifier, and data-table specifies the name of the output data table.\",\"help\":\"CANDIDATETERMS=*CAS-libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"RULES=\",\"optional\":true,\"description\":\"Specifies a data table to contain the rules that have been generated by the BOOLRULE procedure for each category. CAS-libref.data-table is a two-level name, where CAS-libref refers to the caslib and session identifier, and data-table specifies the name of the output data table.\",\"help\":\"RULES=*CAS-libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"RULETERMS=\",\"optional\":true,\"description\":\"Specifies a data table to contain the terms in each rule that is generated by the BOOLRULE procedure. CAS-libref.data-table is a two-level name, where CAS-libref refers to the caslib and session identifier, and data-table specifies the name of the output data table.\",\"help\":\"RULETERMS=*CAS-libref.data-table*\",\"type\":\"dataSet\"}]},{\"name\":\"SCORE\",\"description\":\"The SCORE statement specifies the input data table that contains the terms in rules and the output data table to contain the scoring results.\",\"help\":\"SCORE &lt;OUTMATCH=CAS-libref.data-table&gt;&lt;RULETERMS=CAS-libref.data-table&gt;\",\"arguments\":[{\"name\":\"OUTMATCH=\",\"optional\":true,\"description\":\"Specifies a data table to contain the rule-matching results (that is, whether a document satisfies a rule). CAS-libref.data-table is a two-level name, where CAS-libref refers to the caslib and session identifier, and data-table specifies the name of the output data table.\",\"help\":\"OUTMATCH=*CAS-libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"RULETERMS=\",\"optional\":true,\"description\":\"Specifies a data table that contains the terms in each rule that the BOOLRULE procedure generates. CAS-libref.data-table is a two-level name, where CAS-libref refers to the caslib and session identifier, and data-table specifies the name of the input data table.\",\"help\":\"RULETERMS=*CAS-libref.data-table*\",\"type\":\"dataSet\"}]},{\"name\":\"TERMINFO\",\"description\":\"The TERMINFO statement specifies information about the data table that is specified in the TERMINFO= option in the PROC BOOLRULE statement. If you specify the TERMINFO= data table in the PROC BOOLRULE statement, you must also include this statement to specify which variables in the data table contain the term ID and the term label, respectively.\",\"help\":\"TERMINFO &lt;ID=variable&gt;&lt;LABEL=variable&gt;\",\"arguments\":[{\"name\":\"ID=\",\"optional\":true,\"description\":\"Specifies the variable that contains the term ID. To fetch the text of terms, the values in variable are matched to the term ID variable that is specified in the TERMID= option in the PROC BOOLRULE statement. The variable can be either a numeric variable or a character variable. Its type must match the type of the variable that is specified in the TERMID= option in the PROC BOOLRULE statement.\",\"help\":\"ID=*variable*\",\"type\":\"value\"},{\"name\":\"LABEL=\",\"optional\":true,\"description\":\"Specifies the variable that contains the text of the terms, where variable must be a character variable.\",\"help\":\"LABEL=*variable*\",\"type\":\"value\"}]}],\"supportSiteInformation\":{\"docsetId\":\"casml\",\"docsetVersion\":\"latest\",\"docsetTargetFile\":\"casml_boolrule_toc.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/BOXPLOT.json",
    "content": "{\"name\":\"BOXPLOT\",\"statements\":[{\"name\":\"PROC BOXPLOT\",\"description\":\"The BOXPLOT procedure creates side-by-side box-and-whiskers plots of measurements organized in groups. A box-and-whiskers plot displays the mean, quartiles, and minimum and maximum observations for a group.\",\"help\":\"PROC BOXPLOT <ANNOTATE=SAS-data-set><BOX=SAS-data-set><DATA=SAS-data-set><GOUT=<libref.>output catalog><HISTORY=SAS-data-set>;     \\n\\tBY <DESCENDING><NOTSORTED> ;\\n\\n\\tID variable(s) ;\\n\\n\\tINSET <CFILL=color | BLANK><CFILL=BLANK><CFILLH=color> ...;\\n\\n\\tINSETGROUP <CFILL=color | BLANK><CFILL=BLANK><CFILLH=color> ...;\\n\\n\\tPLOT <ALLLABEL=<VALUE | (variable)>><ANNOTATE=SAS-data-set><BLOCKLABTYPE=<SCALED | TRUNCATED>> ...;\\n\",\"arguments\":[{\"name\":\"ANNOTATE=\",\"optional\":true,\"aliases\":[\"ANNO=\"],\"description\":\"Specifies an ANNOTATE= type data set.\",\"help\":\"ANNOTATE=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"BOX=\",\"optional\":true,\"description\":\"Names an input data set containing group summary statistics and outlier values.\",\"help\":\"BOX=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"DATA=\",\"optional\":true,\"description\":\"Names an input data set containing raw data to be analyzed. You cannot use a DATA= data set together with a BOX= or HISTORY= data set.\",\"help\":\"DATA=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"GOUT=\",\"optional\":true,\"description\":\"Specifies the SAS catalog in which to save high-resolution graphics output that is produced by the BOXPLOT procedure.\",\"type\":\"value\"},{\"name\":\"HISTORY=\",\"optional\":true,\"aliases\":[\"HIST=\"],\"description\":\"Names an input data set containing group summary statistics.\",\"help\":\"HISTORY=*SAS-data-set*\",\"type\":\"dataSet\"}]},{\"name\":\"BY\",\"description\":\"Obtains separate analyses on observations in groups defined by the BY variables.\",\"help\":\"BY &lt;DESCENDING&gt;&lt;NOTSORTED&gt;\",\"arguments\":[{\"name\":\"DESCENDING\",\"optional\":true,\"description\":\"Specifies that the observations are sorted in descending order by the variable that immediately follows the word DESCENDING in the BY statement.\",\"type\":\"standalone\"},{\"name\":\"NOTSORTED\",\"optional\":true,\"description\":\"Specifies that observations are not necessarily sorted in alphabetic or numeric order.\",\"type\":\"standalone\"}]},{\"name\":\"ID\",\"description\":\"The ID statement specifies variables used to identify observations. The ID variables must be variables in the input data set.\",\"help\":\"ID variable(s) \"},{\"name\":\"INSET\",\"description\":\"Each PLOT statement in the BOXPLOT procedure is followed by a series of zero or more INSET and INSETGROUP statements. Each INSET statement in that series produces one inset in the box plot produced by the preceding PLOT statement. If the box plot occupies multiple panels, the inset appears on each panel.\",\"help\":\"INSET &lt;CFILL=color | BLANK&gt;&lt;CFILL=BLANK&gt;&lt;CFILLH=color&gt; ...\",\"arguments\":[{\"name\":\"MAX=\",\"description\":\"Maximum observed value\",\"help\":\"MAX='*label*'\",\"type\":\"value\"},{\"name\":\"MEAN=\",\"description\":\"Mean of all observations\",\"help\":\"MEAN='*label*'\",\"type\":\"value\"},{\"name\":\"MIN=\",\"description\":\"Minimum observed value\",\"help\":\"MIN='*label*'\",\"type\":\"value\"},{\"name\":\"NMAX=\",\"description\":\"Maximum group size\",\"help\":\"NMAX='*label*'\",\"type\":\"value\"},{\"name\":\"NMIN=\",\"description\":\"Minimum group size\",\"help\":\"NMIN='*label*'\",\"type\":\"value\"},{\"name\":\"NOBS=\",\"description\":\"Number of observations in box plot\",\"help\":\"NOBS='*label*'\",\"type\":\"value\"},{\"name\":\"STDDEV=\",\"description\":\"Pooled standard deviation\",\"help\":\"STDDEV='*label*'\",\"type\":\"value\"},{\"name\":\"CFILL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the color of the background (including the header background if you do not specify the CFILLH= option). CFILL=BLANK leaves the background uncolored and prevents items from showing through the inset.\",\"help\":\"CFILL=*color* | BLANK\",\"type\":\"choice\",\"arguments\":[{\"name\":\"color\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the color of the background (including the header background if you do not specify the CFILLH= option).\",\"type\":\"color\"},{\"name\":\"BLANK\",\"followsDelimiter\":\"/\",\"description\":\"Leaves the background uncolored and prevents items from showing through the inset.\",\"type\":\"standalone\"}]},{\"name\":\"CFILLH=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the color of the header background. By default, if you do not specify a CFILLH= color, the CFILL= color is used.\",\"help\":\"CFILLH=*color*\",\"type\":\"color\"},{\"name\":\"CFRAME=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the color of the frame around the inset. By default, the frame is the same color as the axis of the plot.\",\"help\":\"CFRAME=*color*\",\"type\":\"color\"},{\"name\":\"CHEADER=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the color of the header text. By default, if you do not specify a CHEADER= color, the INSET statement CTEXT= color is used.\",\"help\":\"CHEADER=*color*\",\"type\":\"color\"},{\"name\":\"CSHADOW=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"CS=\"],\"description\":\"Specifies the color of the drop shadow. If you do not specify the CSHADOW= option, a drop shadow is not displayed.\",\"help\":\"CSHADOW=*color*\",\"type\":\"color\"},{\"name\":\"CTEXT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"CT=\"],\"description\":\"Specifies the color of the text in the inset. By default, the inset text color is the same as the other text in the box plot.\",\"help\":\"CTEXT=*color*\",\"type\":\"color\"},{\"name\":\"DATA\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies that data coordinates be used in positioning the inset with the POSITION= option.\",\"type\":\"standalone\"},{\"name\":\"FONT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the font of the text.\",\"help\":\"FONT=*font*\",\"type\":\"value\"},{\"name\":\"FORMAT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies a format for all the values displayed in an inset.\",\"help\":\"FORMAT=*format*\",\"type\":\"value\"},{\"name\":\"HEADER=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the header text. The string can be up to 40 characters.\",\"help\":\"HEADER='*string*'\",\"type\":\"value\"},{\"name\":\"HEIGHT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the height of the inset and header text.\",\"help\":\"HEIGHT=*value*\",\"type\":\"value\"},{\"name\":\"NOFRAME\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Suppresses the frame drawn around the inset.\",\"type\":\"standalone\"},{\"name\":\"POSITION=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"POS=\"],\"description\":\"Determines the position of the inset. The position can be a compass point keyword, a margin keyword, or a pair of coordinates. You can specify coordinates in axis percent units or axis data units.\",\"help\":\"POSITION=*position*\",\"type\":\"value\"},{\"name\":\"REFPOINT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"RP=\"],\"description\":\"Specifies the reference point for an inset that is positioned by a pair of coordinates with the POSITION= option. Use the REFPOINT= option with POSITION= coordinates.\",\"help\":\"REFPOINT=BR | BL | TR | TL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"BR\",\"followsDelimiter\":\"/\",\"description\":\"Bottom right\",\"type\":\"standalone\"},{\"name\":\"BL\",\"followsDelimiter\":\"/\",\"description\":\"Bottom left\",\"type\":\"standalone\"},{\"name\":\"TR\",\"followsDelimiter\":\"/\",\"description\":\"Top right\",\"type\":\"standalone\"},{\"name\":\"TL\",\"followsDelimiter\":\"/\",\"description\":\"\",\"type\":\"standalone\"}]}]},{\"name\":\"INSETGROUP\",\"description\":\"Each PLOT statement in the BOXPLOT procedure is followed by a series of zero or more INSET and INSETGROUP statements. Each INSETGROUP statement in that series displays statistics associated with individual groups in the box plot produced by the preceding PLOT statement. No more than two INSETGROUP statements can be associated with a given PLOT statement: one that displays group statistics above the box plot and one that displays group statistics below it.\",\"help\":\"INSETGROUP &lt;CFILL=color | BLANK&gt;&lt;CFILL=BLANK&gt;&lt;CFILLH=color&gt; ...\",\"arguments\":[{\"name\":\"MAX=\",\"description\":\"Group maximum value\",\"help\":\"MAX='*label*'\",\"type\":\"value\"},{\"name\":\"MEAN=\",\"description\":\"Group mean\",\"help\":\"MEAN='*label*'\",\"type\":\"value\"},{\"name\":\"MIN=\",\"description\":\"Group minimum value\",\"help\":\"MIN='*label*'\",\"type\":\"value\"},{\"name\":\"N=\",\"description\":\"Number of observations in group\",\"help\":\"N='*label*'\",\"type\":\"value\"},{\"name\":\"NHIGH=\",\"description\":\"Number of outliers above upper fence\",\"help\":\"NHIGH='*label*'\",\"type\":\"value\"},{\"name\":\"NLOW=\",\"description\":\"Number of outliers below lower fence\",\"help\":\"NLOW='*label*'\",\"type\":\"value\"},{\"name\":\"NOUT=\",\"description\":\"Total number of outliers in group\",\"help\":\"NOUT='*label*'\",\"type\":\"value\"},{\"name\":\"Q1=\",\"description\":\"First quartile of group values\",\"help\":\"Q1='*label*'\",\"type\":\"value\"},{\"name\":\"Q2=\",\"description\":\"Second quartile of group values\",\"help\":\"Q2='*label*'\",\"type\":\"value\"},{\"name\":\"Q3=\",\"description\":\"Third quartile of group values\",\"help\":\"Q3='*label*'\",\"type\":\"value\"},{\"name\":\"RANGE=\",\"description\":\"Range of group values\",\"help\":\"RANGE='*label*'\",\"type\":\"value\"},{\"name\":\"STDDEV=\",\"description\":\"Pooled standard deviation\",\"help\":\"STDDEV='*label*'\",\"type\":\"value\"},{\"name\":\"CFILL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the color of the background (including the header background if you do not specify the CFILLH= option). CFILL=BLANK leaves the background uncolored and prevents items from showing through the inset.\",\"help\":\"CFILL=*color* | BLANK\",\"type\":\"choice\",\"arguments\":[{\"name\":\"color\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the color of the background (including the header background if you do not specify the CFILLH= option).\",\"type\":\"color\"},{\"name\":\"BLANK\",\"followsDelimiter\":\"/\",\"description\":\"Leaves the background uncolored and prevents items from showing through the inset.\",\"type\":\"standalone\"}]},{\"name\":\"CFILLH=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the color of the header background. By default, if you do not specify a CFILLH= color, the CFILL= color is used.\",\"help\":\"CFILLH=*color*\",\"type\":\"color\"},{\"name\":\"CFRAME=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the color of the frame around the inset. By default, the frame is the same color as the axis of the plot.\",\"help\":\"CFRAME=*color*\",\"type\":\"color\"},{\"name\":\"CHEADER=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the color of the header text. By default, if you do not specify a CHEADER= color, the INSET statement CTEXT= color is used.\",\"help\":\"CHEADER=*color*\",\"type\":\"color\"},{\"name\":\"CTEXT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"CT=\"],\"description\":\"Specifies the color of the text in the inset. By default, the inset text color is the same as the other text in the box plot.\",\"help\":\"CTEXT=*color*\",\"type\":\"color\"},{\"name\":\"FONT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the font of the inset text.\",\"help\":\"FONT=*font*\",\"type\":\"value\"},{\"name\":\"FORMAT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies a format for all the values displayed in an inset.\",\"help\":\"FORMAT=*format*\",\"type\":\"value\"},{\"name\":\"HEADER=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the header text.\",\"help\":\"HEADER='*string*'\",\"type\":\"value\"},{\"name\":\"HEIGHT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the height of the inset and header text.\",\"help\":\"HEIGHT=*value*\",\"type\":\"value\"},{\"name\":\"NOFRAME\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Suppresses the frame drawn around the inset.\",\"type\":\"standalone\"},{\"name\":\"POSITION=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"POS=\"],\"description\":\"Determines the position of the inset.\",\"help\":\"POSITION=TOP | TOPOFF | AXIS | BOTTOM*position*\",\"type\":\"value\",\"arguments\":[{\"name\":\"TOP\",\"followsDelimiter\":\"/\",\"description\":\"Top of plot, immediately above axis frame\",\"type\":\"standalone\"},{\"name\":\"TOPOFF\",\"followsDelimiter\":\"/\",\"description\":\"Top of plot, offset from axis frame\",\"type\":\"standalone\"},{\"name\":\"AXIS\",\"followsDelimiter\":\"/\",\"description\":\"Bottom of plot, immediately above horizontal axis\",\"type\":\"standalone\"},{\"name\":\"BOTTOM\",\"followsDelimiter\":\"/\",\"description\":\"Bottom of plot, below horizontal axis label\",\"type\":\"standalone\"}]}]},{\"name\":\"PLOT\",\"description\":\"You can specify multiple PLOT statements after the PROC BOXPLOT statement.\",\"help\":\"PLOT &lt;ALLLABEL=&lt;VALUE | (variable)&gt;&gt;&lt;ANNOTATE=SAS-data-set&gt;&lt;BLOCKLABTYPE=&lt;SCALED | TRUNCATED&gt;&gt; ...\",\"arguments\":[{\"name\":\"ALLLABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Labels the point plotted for the mean of each box-and-whiskers plot with its VALUE or with the value of a variable in the input data set.\",\"help\":\"ALLLABEL=VALUE | (*variable*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"VALUE\",\"followsDelimiter\":\"/\",\"description\":\"Labels the point plotted for the mean of each box-and-whiskers plot with its value.\",\"type\":\"standalone\"},{\"name\":\"(variable)\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"Labels the point plotted for the mean of each box-and-whiskers plot with the value of a variable in the input data set.\",\"type\":\"value\"}]},{\"name\":\"ANNOTATE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies an ANNOTATE= type data set.\",\"help\":\"ANNOTATE=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"BLOCKLABELPOS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the position of a block variable label in the block legend.\",\"help\":\"BLOCKLABELPOS=ABOVE | LEFT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ABOVE\",\"followsDelimiter\":\"/\",\"description\":\"Places the label immediately above the legend.\",\"type\":\"standalone\"},{\"name\":\"LEFT\",\"followsDelimiter\":\"/\",\"description\":\"Places the label to the left of the legend.\",\"type\":\"standalone\"}]},{\"name\":\"BLOCKLABTYPE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies how lengthy block variable values are treated when there is insufficient space to display them in the block legend.\",\"help\":\"BLOCKLABTYPE=SCALED | TRUNCATED\",\"type\":\"choice\",\"arguments\":[{\"name\":\"SCALED\",\"followsDelimiter\":\"/\",\"description\":\"The values are uniformly reduced in height so that they fit.\",\"type\":\"standalone\"},{\"name\":\"TRUNCATED\",\"followsDelimiter\":\"/\",\"description\":\"Lengthy values are truncated on the right until they fit.\",\"type\":\"standalone\"}]},{\"name\":\"BLOCKPOS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the vertical position of the legend for the values of the block variables.\",\"help\":\"BLOCKPOS=1 | 2 | 3 | 4\",\"type\":\"choice\",\"arguments\":[{\"name\":\"1\",\"followsDelimiter\":\"/\",\"description\":\"Top of plot, offset from axis frame\",\"type\":\"standalone\"},{\"name\":\"2\",\"followsDelimiter\":\"/\",\"description\":\"Top of plot, immediately above axis frame\",\"type\":\"standalone\"},{\"name\":\"3\",\"followsDelimiter\":\"/\",\"description\":\"Bottom of plot, immediately above horizontal axis\",\"type\":\"standalone\"},{\"name\":\"4\",\"followsDelimiter\":\"/\",\"description\":\"Bottom of plot, below horizontal axis label\",\"type\":\"standalone\"}]},{\"name\":\"BLOCKREP\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies that block variable values for all groups be displayed. By default, only the first block variable value in any block is displayed, and repeated block variable values are not displayed.\",\"type\":\"standalone\"},{\"name\":\"BLOCKVAR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies variables whose values are used to assign colors for filling the background of the legend associated with block variables.\",\"type\":\"value\"},{\"name\":\"BOXCONNECT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies that the points in adjacent box-and-whiskers plots representing group means, medians, maximum values, minimum values, first quartiles, or third quartiles be connected with line segments. If the BOXCONNECT option is specified without a keyword identifying the points to be connected, group means are connected.\",\"help\":\"BOXCONNECT=MEAN | MEDIAN | MAX | MIN | Q1 | Q3\",\"type\":\"choice\",\"arguments\":[{\"name\":\"MEAN\",\"followsDelimiter\":\"/\",\"description\":\"Specifies that the points in adjacent box-and-whiskers plots representing group means be connected with line segments.\",\"type\":\"standalone\"},{\"name\":\"MEDIAN\",\"followsDelimiter\":\"/\",\"description\":\"Specifies that the points in adjacent box-and-whiskers plots representing group medians be connected with line segments.\",\"type\":\"standalone\"},{\"name\":\"MAX\",\"followsDelimiter\":\"/\",\"description\":\"Specifies that the points in adjacent box-and-whiskers plots representing group maximum values be connected with line segments.\",\"type\":\"standalone\"},{\"name\":\"MIN\",\"followsDelimiter\":\"/\",\"description\":\"Specifies that the points in adjacent box-and-whiskers plots representing group minimum values be connected with line segments.\",\"type\":\"standalone\"},{\"name\":\"Q1\",\"followsDelimiter\":\"/\",\"description\":\"Specifies that the points in adjacent box-and-whiskers plots representing group first quartiles be connected with line segments.\",\"type\":\"standalone\"},{\"name\":\"Q3\",\"followsDelimiter\":\"/\",\"description\":\"Specifies that the points in adjacent box-and-whiskers plots representing group third quartiles be connected with line segments.\",\"type\":\"standalone\"}]},{\"name\":\"BOXES=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies a variable whose values are used to assign colors for the outlines of box-and-whiskers plots.\",\"type\":\"value\"},{\"name\":\"BOXFILL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies a variable whose values are used to assign fill colors for box-and-whiskers plots.\",\"type\":\"value\"},{\"name\":\"BOXSTYLE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"[Specifies the style of the box-and-whiskers plots displayed.\",\"help\":\"BOXSTYLE=SKELETAL | SCHEMATIC | SCHEMATICID | SCHEMATICIDFAR\",\"type\":\"choice\",\"arguments\":[{\"name\":\"SKELETAL\",\"followsDelimiter\":\"/\",\"description\":\"The whiskers are drawn from the edges of the box to the extreme values of the group.\",\"type\":\"standalone\"},{\"name\":\"SCHEMATIC\",\"followsDelimiter\":\"/\",\"description\":\"A whisker is drawn from the upper edge of the box to the largest observed value within the upper fence, and another is drawn from the lower edge of the box to the smallest observed value within the lower fence.\",\"type\":\"standalone\"},{\"name\":\"SCHEMATICID\",\"followsDelimiter\":\"/\",\"description\":\"A schematic box-and-whiskers plot is displayed in which an ID variable value is used to label the symbol marking each observation outside the upper and lower fences.\",\"type\":\"standalone\"},{\"name\":\"SCHEMATICIDFAR\",\"followsDelimiter\":\"/\",\"description\":\"A schematic box-and-whiskers plot is displayed in which the value of the ID variable is used to label the symbol marking each observation outside the lower and upper far fences\",\"type\":\"standalone\"}]},{\"name\":\"BOXWIDTH=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the width (in horizontal percent screen units) of the box-and-whiskers plots.\",\"help\":\"BOXWIDTH=*value*\",\"type\":\"value\"},{\"name\":\"BOXWIDTHSCALE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies that the box-and-whiskers plot width is to vary proportionately to a particular function of the group size n.\",\"help\":\"BOXWIDTHSCALE=*value*\",\"type\":\"value\"},{\"name\":\"BWSLEGEND\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays a legend identifying the function of group size n specified with the BOXWIDTHSCALE= option. No legend is displayed if all group sizes are equal. The BWSLEGEND option is not applicable unless you also specify the BOXWIDTHSCALE= option.\",\"type\":\"standalone\"},{\"name\":\"CAXIS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"CAXES=\",\"CA=\"],\"description\":\"Specifies the color for the axes and tick marks. This option overrides any COLOR= specifications in an AXIS statement.\",\"help\":\"CAXIS=*color*\",\"type\":\"color\"},{\"name\":\"CBLOCKLAB=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies fill colors for the frames that enclose the block variable labels in a block legend.\",\"help\":\"CBLOCKLAB=*color*\",\"type\":\"color\"},{\"name\":\"CBLOCKVAR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies variables whose values are colors for filling the background of the legend associated with block variables.\",\"type\":\"value\"},{\"name\":\"CBOXES=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the colors for the outlines of the box-and-whiskers plots created with the PLOT statement.\",\"help\":\"CBOXES=*color*\",\"type\":\"color\"},{\"name\":\"CBOXFILL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the interior fill colors for the box-and-whiskers plots.\",\"help\":\"CBOXFILL=*color*\",\"type\":\"color\"},{\"name\":\"CCLIP=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies a color for the plotting symbol that is specified with the CLIPSYMBOL= option to mark clipped values.\",\"help\":\"CCLIP=*color*\",\"type\":\"color\"},{\"name\":\"CCONNECT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the color for line segments connecting points on the plot.\",\"help\":\"CCONNECT=*color*\",\"type\":\"color\"},{\"name\":\"CCOVERLAY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the colors for line segments connecting points on overlay plots.\",\"type\":\"value\"},{\"name\":\"CFRAME=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the color for filling the rectangle enclosed by the axes and the frame. By default, this area is not filled. The CFRAME= option cannot be used in conjunction with the NOFRAME option.\",\"help\":\"CFRAME=*color*\",\"type\":\"color\"},{\"name\":\"CGRID=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the color for the grid requested by the ENDGRID or GRID option. By default, the grid is the same color as the axes.\",\"help\":\"CGRID=*color*\",\"type\":\"color\"},{\"name\":\"CHREF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the color for the lines requested by the HREF= option.\",\"help\":\"CHREF=*color*\",\"type\":\"color\"},{\"name\":\"CLABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the color for labels produced by the ALLLABEL= option. The default color is the CTEXT= color.\",\"help\":\"CLABEL=*color*\",\"type\":\"color\"},{\"name\":\"CLIPFACTOR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests clipping of extreme values on the box plot. The factor that you specify determines the extent to which these values are clipped, and it must be greater than 1.\",\"help\":\"CLIPFACTOR=*factor*\",\"type\":\"value\"},{\"name\":\"CLIPLEGEND=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the label for the legend that indicates the number of clipped boxes when the CLIPFACTOR= option is used.\",\"type\":\"value\"},{\"name\":\"CLIPLEGPOS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the position for the legend that indicates the number of clipped boxes when the CLIPFACTOR= option is used.\",\"help\":\"CLIPLEGPOS=TOP | BOTTOM\",\"type\":\"choice\",\"arguments\":[{\"name\":\"TOP\",\"followsDelimiter\":\"/\",\"description\":\"Positions the legend at the top of the chart.\",\"type\":\"standalone\"},{\"name\":\"BOTTOM\",\"followsDelimiter\":\"/\",\"description\":\"positions the legend at the bottom of the chart.\",\"type\":\"standalone\"}]},{\"name\":\"CLIPSUBCHAR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies a substitution character (such as '#') for the label provided with the CLIPLEGEND= option.\",\"help\":\"CLIPSUBCHAR='*character*'\",\"type\":\"value\"},{\"name\":\"CLIPSYMBOL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies a plot symbol used to identify clipped points on the chart and in the legend when the CLIPFACTOR= option is used.\",\"help\":\"CLIPSYMBOL=*symbol*\",\"type\":\"value\"},{\"name\":\"CLIPSYMBOLHT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the height for the symbol marker used to identify clipped points on the chart when the CLIPFACTOR= option is used.\",\"help\":\"CLIPSYMBOLHT=*value*\",\"type\":\"value\"},{\"name\":\"CONTINUOUS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies that numeric group variable values be treated as continuous values. By default, the values of a numeric group variable are considered discrete values unless the HAXIS= option is specified. Note: The CONTINUOUS option is not supported for ODS Graphics output.\",\"type\":\"standalone\"},{\"name\":\"COVERLAY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the colors used to plot overlay variables. Colors in the COVERLAY= list are matched with variables in the corresponding positions in the OVERLAY= list.\",\"type\":\"value\"},{\"name\":\"COVERLAYCLIP=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the color used to plot clipped values on overlay plots when the CLIPFACTOR= option is used.\",\"help\":\"COVERLAYCLIP=*color*\",\"type\":\"color\"},{\"name\":\"CTEXT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the color for tick mark values and axis labels. The default color is the color specified in the CTEXT= option in the most recent GOPTIONS statement.\",\"help\":\"CTEXT=*color*\",\"type\":\"color\"},{\"name\":\"CVREF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the color for the lines requested by the VREF= option.\",\"help\":\"CVREF=*color*\",\"type\":\"color\"},{\"name\":\"DESCRIPTION=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"DES=\"],\"description\":\"Specifies a description of a box plot produced with high-resolution graphics.\",\"help\":\"DESCRIPTION='*string*'\",\"type\":\"value\"},{\"name\":\"ENDGRID\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Adds a grid to the rightmost portion of the plot, beginning with the first labeled major tick mark position that follows the last box-and-whiskers plot. You can use the HAXIS= option to force space to be added to the horizontal axis.\",\"type\":\"standalone\"},{\"name\":\"FONT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies a font for labels and legends. You can also specify fonts for axis labels in an AXIS statement. The FONT= font takes precedence over the FTEXT= font specified in the GOPTIONS statement.\",\"help\":\"FONT=*font*\",\"type\":\"value\"},{\"name\":\"FRONTREF\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Draws reference lines specified with the HREF= and VREF= options in front of box-and-whiskers plots. By default, reference lines are drawn behind the box-and-whiskers plots and can be obscured by filled boxes.\",\"type\":\"standalone\"},{\"name\":\"GRID\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Adds a grid to the box plot. Grid lines are horizontal lines positioned at labeled major tick marks, and they cover the length and height of the plotting area.\",\"type\":\"standalone\"},{\"name\":\"HAXIS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies tick mark values for the horizontal (group) axis. If the group variable is numeric, the values must be numeric and equally spaced. If the group variable is character, values must be quoted strings of up to 16 characters. Optionally, you can specify an axis name defined in a previous AXIS statement.\",\"type\":\"value\"},{\"name\":\"HEIGHT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the height (in vertical screen percent units) of the text for axis labels and legends. This value takes precedence over the HTEXT= value specified in the GOPTIONS statement.\",\"help\":\"HEIGHT=*value*\",\"type\":\"value\"},{\"name\":\"HMINOR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"HM=\"],\"description\":\"Specifies the number of minor tick marks between major tick marks on the horizontal axis. Minor tick marks are not labeled. The default is HMINOR=0.\",\"help\":\"HMINOR=*n*\",\"type\":\"value\"},{\"name\":\"HOFFSET=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the length (in percent screen units) of the offset at both ends of the horizontal axis. You can eliminate the offset by specifying HOFFSET=0.\",\"help\":\"HOFFSET=*value*\",\"type\":\"value\"},{\"name\":\"HORIZONTAL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Experimental] Produces a horizontal box plot, with group variable values on the vertical axis and analysis variable values on the horizontal axis. The HORIZONTAL option is supported only with ODS Graphics.\",\"type\":\"standalone\"},{\"name\":\"HREF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Draws reference lines perpendicular to the horizontal (group) axis on the box plot.\",\"type\":\"value\"},{\"name\":\"HREFLABELS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"HREFLABEL=\",\"HREFLAB\"],\"description\":\"Specifies labels for the reference lines requested by the HREF= option. The number of labels must equal the number of lines. Enclose each label in quotes. Labels can be up to 16 characters.\",\"type\":\"value\"},{\"name\":\"HREFLABPOS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the vertical position of the HREFLABEL= label.\",\"help\":\"HREFLABPOS=1 | 2 | 3 | 4\",\"type\":\"choice\",\"arguments\":[{\"name\":\"1\",\"followsDelimiter\":\"/\",\"description\":\"Along top of plot area\",\"type\":\"standalone\"},{\"name\":\"2\",\"followsDelimiter\":\"/\",\"description\":\"Staggered from top to bottom of plot area\",\"type\":\"standalone\"},{\"name\":\"3\",\"followsDelimiter\":\"/\",\"description\":\"Along bottom of plot area\",\"type\":\"standalone\"},{\"name\":\"4\",\"followsDelimiter\":\"/\",\"description\":\"Staggered from bottom to top of plot area\",\"type\":\"standalone\"}]},{\"name\":\"HTML=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies uniform resource locators (URLs) as values of the specified character variable (or formatted values of a numeric variable). These URLs are associated with box-and-whiskers plots when graphics output is directed into HTML. The value of the HTML= variable should be the same for each observation with a given value of the group variable.\",\"help\":\"HTML=*variable*\",\"type\":\"value\"},{\"name\":\"IDCOLOR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the color of the symbol marker used to identify outliers in schematic box-and-whiskers plots (that is, when you specify the keyword SCHEMATIC, SCHEMATICID, or SCHEMATICIDFAR with the BOXSTYLE= option).\",\"help\":\"IDCOLOR=*color*\",\"type\":\"color\"},{\"name\":\"IDCTEXT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the color for the text used to label outliers when you specify the keyword SCHEMATICID or SCHEMATICIDFAR with the BOXSTYLE= option.\",\"help\":\"IDCTEXT=*color*\",\"type\":\"color\"},{\"name\":\"IDFONT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the font for the text used to label outliers when you specify the keyword SCHEMATICID or SCHEMATICIDFAR with the BOXSTYLE= option.\",\"help\":\"IDFONT=*font*\",\"type\":\"value\"},{\"name\":\"IDHEIGHT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the height for the text used to label outliers when you specify the keyword SCHEMATICID or SCHEMATICIDFAR with the BOXSTYLE= option.\",\"help\":\"IDHEIGHT=*value*\",\"type\":\"value\"},{\"name\":\"IDSYMBOL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the symbol marker used to identify outliers in schematic box plots. The default symbol is SQUARE.\",\"help\":\"IDSYMBOL=*symbol*\",\"type\":\"value\"},{\"name\":\"INTERVAL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the natural time interval between consecutive group positions when a time, date, or datetime format is associated with a numeric group variable.\",\"help\":\"INTERVAL=DAY | DTDAY | HOUR | MINUTE | MONTH | QTR | SECOND\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DAY\",\"followsDelimiter\":\"/\",\"description\":\"For DATE, WEEKDATE, WORDDATE, YYMMDD, or MMDDYY format\",\"type\":\"standalone\"},{\"name\":\"DTDAY\",\"followsDelimiter\":\"/\",\"description\":\"For DATETIME format\",\"type\":\"standalone\"},{\"name\":\"HOUR\",\"followsDelimiter\":\"/\",\"description\":\"For HHMM or HOUR format\",\"type\":\"standalone\"},{\"name\":\"MINUTE\",\"followsDelimiter\":\"/\",\"description\":\"For MMSS format\",\"type\":\"standalone\"},{\"name\":\"MONTH\",\"followsDelimiter\":\"/\",\"description\":\"For MONYY format\",\"type\":\"standalone\"},{\"name\":\"QTR\",\"followsDelimiter\":\"/\",\"description\":\"For YYQ format\",\"type\":\"standalone\"},{\"name\":\"SECOND\",\"followsDelimiter\":\"/\",\"description\":\"For TIME or TOD format\",\"type\":\"standalone\"}]},{\"name\":\"INTSTART=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the starting value for a numeric horizontal axis when a date, time, or datetime format is associated with the group variable.\",\"help\":\"INTSTART=*value*\",\"type\":\"value\"},{\"name\":\"LABELANGLE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the angle at which labels requested with the ALLLABEL= option are drawn. A positive angle rotates the labels counterclockwise; a negative angle rotates them clockwise. By default, labels are oriented horizontally.\",\"help\":\"LABELANGLE=*angle*\",\"type\":\"value\"},{\"name\":\"LBOXES=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the line types for the outlines of the box-and-whiskers plots.\",\"type\":\"value\"},{\"name\":\"LENDGRID=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the line type for the grid requested with the ENDGRID option. The default value is 1, which produces a solid line.\",\"help\":\"LENDGRID=*linetype*\",\"type\":\"value\"},{\"name\":\"LGRID=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the line type for the grid requested with the GRID option. The default value is 1, which produces a solid line.\",\"help\":\"LGRID=*linetype*\",\"type\":\"value\"},{\"name\":\"LHREF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"LH=\"],\"description\":\"Specifies the line type for reference lines requested with the HREF= option. The default value is 2, which produces a dashed line.\",\"help\":\"LHREF=*linetype*\",\"type\":\"value\"},{\"name\":\"LOVERLAY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies line types for the line segments connecting points on overlay plots. Line types in the LOVERLAY= list are matched with variables in the corresponding positions in the OVERLAY= list.\",\"type\":\"value\"},{\"name\":\"LVREF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"LV=\"],\"description\":\"Specifies the line type for reference lines requested by the VREF= option. The default value is 2, which produces a dashed line.\",\"help\":\"LVREF=*linetype*\",\"type\":\"value\"},{\"name\":\"MAXPANELS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the maximum number of panels used to display a box plot. By default, n=20.\",\"help\":\"MAXPANELS=*n*\",\"type\":\"value\"},{\"name\":\"MISSBREAK\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Determines how groups are formed when observations are read from a DATA= data set and a character group variable is provided.\",\"type\":\"standalone\"},{\"name\":\"NAME=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies a name for the box plot, not more than eight characters, that appears in the PROC GREPLAY master menu.\",\"help\":\"NAME='*string*'\",\"type\":\"value\"},{\"name\":\"NLEGEND\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests a legend displaying group sizes. If the size is the same for each group, that number is displayed. Otherwise, the minimum and maximum group sizes are displayed.\",\"type\":\"standalone\"},{\"name\":\"NOBYREF\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies that the reference line information in an HREF= or VREF= data set be applied uniformly to box plots created for all the BY groups in the input data set. If you specify the NOBYREF option, you do not need to provide BY variables in the reference line data set. By default, you must provide BY variables.\",\"type\":\"standalone\"},{\"name\":\"NOCHART\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Suppresses the creation of the box plot. You typically specify the NOCHART option when you are using the procedure to compute group summary statistics and save them in an output data set.\",\"type\":\"standalone\"},{\"name\":\"NOFRAME\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Suppresses the default frame drawn around the plot.\",\"type\":\"standalone\"},{\"name\":\"NOHLABEL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Suppresses the label for the horizontal (group) axis. Use the NOHLABEL option when the meaning of the axis is evident from the tick mark labels, such as when a date format is associated with the group variable.\",\"type\":\"standalone\"},{\"name\":\"NOOVERLAYLEGEND\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Suppresses the legend for overlay plots that is displayed by default when the OVERLAY= option is specified.\",\"type\":\"standalone\"},{\"name\":\"NOSERIFS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Eliminates serifs from the whiskers of box-and-whiskers plots.\",\"type\":\"standalone\"},{\"name\":\"NOTCHES\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies that box-and-whiskers plots be notched.\",\"type\":\"standalone\"},{\"name\":\"NOTICKREP\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Applies to character-valued group variables and specifies that only the first occurrence of repeated, adjacent group values be labeled on the horizontal axis.\",\"type\":\"standalone\"},{\"name\":\"NOVANGLE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that the vertical axis label be strung out vertically.\",\"type\":\"standalone\"},{\"name\":\"NPANELPOS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"NP=\",\"NPANEL=\"],\"description\":\"Specifies the number of group positions per panel.\",\"help\":\"NPANELPOS=*n*\",\"type\":\"value\"},{\"name\":\"OUTBOX=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Creates an output data set that contains group summary statistics and outlier values for a box plot.\",\"help\":\"OUTBOX=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"OUTHIGHHTML=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies a variable whose values are URLs to be associated with outlier points above the upper fence on a schematic box plot when graphics output is directed into HTML.\",\"help\":\"OUTHIGHHTML=*variable*\",\"type\":\"value\"},{\"name\":\"OUTHISTORY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Creates an output data set that contains the group summary statistics.\",\"help\":\"OUTHISTORY=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"OUTLOWHTML=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies a variable whose values are URLs to be associated with outlier points below the lower fence on a schematic box plot when graphics output is directed into HTML.\",\"help\":\"OUTLOWHTML=*variable*\",\"type\":\"value\"},{\"name\":\"OVERLAY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies variables to be plotted as overlays on the box plot. One value for each overlay variable is plotted at each group position.\",\"type\":\"value\"},{\"name\":\"OVERLAYCLIPSYM=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the symbol used to plot clipped values on overlay plots when the CLIPFACTOR= option is used.\",\"help\":\"OVERLAYCLIPSYM=*symbol*\",\"type\":\"value\"},{\"name\":\"OVERLAYCLIPSYMHT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the height for the symbol used to plot clipped values on overlay plots when the CLIPFACTOR= option is used.\",\"help\":\"OVERLAYCLIPSYMHT=*value*\",\"type\":\"value\"},{\"name\":\"OVERLAYHTML=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies variables whose values are URLs to be associated with points on overlay plots when graphics output is directed into HTML.\",\"type\":\"value\"},{\"name\":\"OVERLAYID=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies variables whose formatted values are used to label points on overlays.\",\"type\":\"value\"},{\"name\":\"OVERLAYLEGLAB=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the label displayed to the left of the overlay legend produced by the OVERLAY= option. The label can be up to 16 characters and must be enclosed in quotes. The default label is \\\"Overlays:\\\".\",\"help\":\"OVERLAYLEGLAB='*label*'\",\"type\":\"value\"},{\"name\":\"OVERLAYSYM=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies symbols used to plot overlay variables. Symbols in the OVERLAYSYM= list are matched with variables in the corresponding positions in the OVERLAY= list.\",\"type\":\"value\"},{\"name\":\"OVERLAYSYMHT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the heights of symbols used to plot overlay variables. Symbol heights in the OVERLAYSYMHT= list are matched with variables in the corresponding positions in the OVERLAY= list.\",\"type\":\"value\"},{\"name\":\"PAGENUM=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the form of the label used for pagination. The string can be up to 16 characters, and it must include one or two occurrences of the substitution character '#'. The first '#' is replaced with the page number, and the optional second '#' is replaced with the total number of pages.\",\"help\":\"PAGENUM='*string*'\",\"type\":\"value\"},{\"name\":\"PAGENUMPOS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies where to position the page number requested with the PAGENUM= option.\",\"help\":\"PAGENUMPOS=TL | TR | BL | BR | TL100 | TR100 | BL0 | BR0\",\"type\":\"choice\",\"arguments\":[{\"name\":\"TL\",\"followsDelimiter\":\"/\",\"description\":\"Top left\",\"type\":\"standalone\"},{\"name\":\"TR\",\"followsDelimiter\":\"/\",\"description\":\"Top right\",\"type\":\"standalone\"},{\"name\":\"BL\",\"followsDelimiter\":\"/\",\"description\":\"Bottom left\",\"type\":\"standalone\"},{\"name\":\"BR\",\"followsDelimiter\":\"/\",\"description\":\"Bottom right\",\"type\":\"standalone\"},{\"name\":\"TL100\",\"followsDelimiter\":\"/\",\"description\":\"Top left. TL100 ensures that the page number appears at the very top of a page when a title is displayed.\",\"type\":\"standalone\"},{\"name\":\"TR100\",\"followsDelimiter\":\"/\",\"description\":\"Top right. TR100 ensures that the page number appears at the very top of a page when a title is displayed.\",\"type\":\"standalone\"},{\"name\":\"BL0\",\"followsDelimiter\":\"/\",\"description\":\"Bottom left. BL0 ensures that the page number appears at the very bottom of a page when footnotes are displayed.\",\"type\":\"standalone\"},{\"name\":\"BR0\",\"followsDelimiter\":\"/\",\"description\":\"Bottom right. BR0 ensures that the page number appears at the very bottom of a page when footnotes are displayed.\",\"type\":\"standalone\"}]},{\"name\":\"PCTLDEF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies one of five definitions used to calculate percentiles in the construction of box-and-whiskers plots.\",\"help\":\"PCTLDEF=1 | 2 | 3 | 4 | 5\",\"type\":\"choice\",\"arguments\":[{\"name\":\"1\",\"followsDelimiter\":\"/\",\"description\":\"Definition 1 for computing quantile statistics\",\"type\":\"standalone\"},{\"name\":\"2\",\"followsDelimiter\":\"/\",\"description\":\"Definition 2 for computing quantile statistics\",\"type\":\"standalone\"},{\"name\":\"3\",\"followsDelimiter\":\"/\",\"description\":\"Definition 3 for computing quantile statistics\",\"type\":\"standalone\"},{\"name\":\"4\",\"followsDelimiter\":\"/\",\"description\":\"Definition 4 for computing quantile statistics\",\"type\":\"standalone\"},{\"name\":\"5\",\"followsDelimiter\":\"/\",\"description\":\"Definition 5 for computing quantile statistics\",\"type\":\"standalone\"}]},{\"name\":\"REPEAT\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"REP\"],\"description\":\"Specifies that the horizontal axis of a plot that spans multiple panels be arranged so that the last group position on a panel is repeated as the first group position on the next panel.\",\"type\":\"standalone\"},{\"name\":\"SKIPHLABELS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"SKIPHLABEL=\"],\"description\":\"Specifies the number n of consecutive tick mark labels, beginning with the second tick mark label, that are thinned (not displayed) on the horizontal (group) axis.\",\"help\":\"SKIPHLABELS=*n*\",\"type\":\"value\"},{\"name\":\"SYMBOLLEGEND=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Controls the legend for the levels of a symbol variable.\",\"help\":\"SYMBOLLEGEND=LEGENDn | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"LEGENDn\",\"followsDelimiter\":\"/\",\"description\":\"You can specify SYMBOLLEGEND=LEGENDn, where n is the number of a LEGEND statement defined previously.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"followsDelimiter\":\"/\",\"description\":\"Suppresses the default legend.\",\"type\":\"standalone\"}]},{\"name\":\"SYMBOLORDER=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"SYMORD=\"],\"description\":\"Specifies the order in which symbols are assigned for levels of the symbol variable.\",\"help\":\"SYMBOLORDER=DATA | INTERNAL | FORMATTED\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DATA\",\"followsDelimiter\":\"/\",\"description\":\"Assigns symbols to values in the order in which values appear in the input data set.\",\"type\":\"standalone\"},{\"name\":\"INTERNAL\",\"followsDelimiter\":\"/\",\"description\":\"Assigns symbols based on sorted order of internal values of the symbol variable\",\"type\":\"standalone\"},{\"name\":\"FORMATTED\",\"followsDelimiter\":\"/\",\"description\":\"Assigns them based on sorted formatted values.\",\"type\":\"standalone\"}]},{\"name\":\"TOTPANELS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the total number of panels to be used to display the plot. This option overrides the NPANEL= option.\",\"help\":\"TOTPANELS=*n*\",\"type\":\"value\"},{\"name\":\"TURNHLABELS\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"TURNHLABEL\"],\"description\":\"Turns the major tick mark labels for the horizontal (group) axis so that they are arranged vertically. By default, labels are arranged horizontally.\",\"type\":\"standalone\"},{\"name\":\"VAXIS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies major tick mark values for the vertical axis of a box plot. The values must be listed in increasing order, must be evenly spaced, and must span the range of values displayed in the plot.\",\"type\":\"value\"},{\"name\":\"VFORMAT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies a format to be used for displaying tick mark labels on the vertical axis of the box plot.\",\"help\":\"VFORMAT=*format*\",\"type\":\"value\"},{\"name\":\"VMINOR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"VM=\"],\"description\":\"Specifies the number of minor tick marks between major tick marks on the vertical axis. Minor tick marks are not labeled. By default, VMINOR=0.\",\"help\":\"VMINOR=*n*\",\"type\":\"value\"},{\"name\":\"VOFFSET=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the length in percent screen units of the offset at the ends of the vertical axis.\",\"help\":\"VOFFSET=*value*\",\"type\":\"value\"},{\"name\":\"VREF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Draws reference lines perpendicular to the vertical axis.\",\"type\":\"value\"},{\"name\":\"VREFLABELS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"VREFLABEL=\",\"VREFLAB=\"],\"description\":\"Specifies labels for the reference lines requested by the VREF= option. The number of labels must equal the number of lines. Enclose each label in quotes. Labels can be up to 16 characters.\",\"type\":\"value\"},{\"name\":\"VREFLABPOS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the horizontal position of the VREFLABEL= label.\",\"help\":\"VREFLABPOS=1 | 2 | 3\",\"type\":\"choice\",\"arguments\":[{\"name\":\"1\",\"followsDelimiter\":\"/\",\"description\":\"Left-justified in plot area\",\"type\":\"standalone\"},{\"name\":\"2\",\"followsDelimiter\":\"/\",\"description\":\"Right-justified in plot area\",\"type\":\"standalone\"},{\"name\":\"3\",\"followsDelimiter\":\"/\",\"description\":\"Left-justified in right margin\",\"type\":\"standalone\"}]},{\"name\":\"VZERO\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Forces the origin to be included in the vertical axis for a box plot.\",\"type\":\"standalone\"},{\"name\":\"WAXIS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the width in pixels for the axis and frame lines. By default, n=1.\",\"help\":\"WAXIS=*n*\",\"type\":\"value\"},{\"name\":\"WGRID=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the width in pixels for grid lines requested with the ENDGRID and GRID options. By default, n=1.\",\"help\":\"WGRID=*n*\",\"type\":\"value\"},{\"name\":\"WOVERLAY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the widths in pixels for the line segments connecting points on overlay plots.\",\"type\":\"value\"}]}],\"supportSiteInformation\":{\"docsetId\":\"statug\",\"docsetVersion\":\"latest\",\"docsetTargetFile\":\"statug_boxplot_toc.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/CAEFFECT.json",
    "content": "{\"name\":\"CAEFFECT\",\"statements\":[{\"name\":\"PROC CAEFFECT\",\"description\":\"invokes the procedure\",\"help\":\"PROC CAEFFECT <options>;                 \\n\\tBY  variables;                 \\n\\n\\tDIFFERENCE <REFLEV=(reference-list)><EVTLEV=(event-list) > ;                 \\n\\n\\tDISPLAY <table-list></ options>;                 \\n\\n\\tDISPLAYOUT  table-spec-list </ options>;                 \\n\\n\\tFREQ  variable;                 \\n\\n\\tOUTCOMEMODEL  RESTORE=libref.data-table PREDNAME=prediction-name;                 \\n\\n\\tOUTCOMEVAR  outcome-variable <(EVENT='event-level')></outcome-options> ;                 \\n\\n\\tPOM  TREATLEV='treatment-level'<PREDOUT=predicted-outcome-value><TREATPROB=predicted-treatment-probability> ;                 \\n\\n\\tTREATVAR treatment-variable</treatment-options> ;                 \\n\\n\\tWEIGHT variable;                 \\n\",\"arguments\":[{\"name\":\"DATA=\",\"optional\":true,\"description\":\"names the input data table for PROC CAEFFECT to use\",\"help\":\"DATA=*libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"INFERENCE\",\"optional\":true,\"description\":\"computes standard errors and confidence intervals for the potential outcome mean and causal effect estimates. Note that because the CAEFFECT procedure takes a model-agnostic approach to causal effect estimation, the statistical validity of the inference depends on model-specific conditions that you must evaluate and that the procedure cannot verify.\",\"type\":\"standalone\"},{\"name\":\"METHOD=\",\"optional\":true,\"description\":\"specifies the method to use for estimating potential outcome means (POMs)\",\"help\":\"METHOD=AIPW | IPW | REGADJ | TMLE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"AIPW\",\"description\":\"estimates POMs by augmented inverse probability weighting. This method requires the observed values of the outcome, predicted treatment probabilities, and predicted counterfactual outcome values.\",\"type\":\"standalone\"},{\"name\":\"IPW\",\"description\":\"estimates POMs by inverse probability weighting. This method requires the observed values of the outcome and predicted treatment probabilities.\",\"type\":\"standalone\"},{\"name\":\"REGADJ\",\"description\":\"estimates POMs by regression adjustment. This method requires predicted counterfactual outcome values.\",\"type\":\"standalone\"},{\"name\":\"TMLE\",\"description\":\"{ estimates POMs by targeted maximum likelihood estimation\",\"type\":\"standalone\"}]},{\"name\":\"POMCOV\",\"optional\":true,\"description\":\"displays a covariance matrix of the potential outcome mean estimates. Note that because the CAEFFECT procedure takes a model-agnostic approach to causal effect estimation, the statistical validity of the inference depends on model-specific conditions that you must evaluate and that the procedure cannot verify.\",\"type\":\"standalone\"},{\"name\":\"POMINFO\",\"optional\":true,\"description\":\"displays the \\\"Potential Outcome Mean Information\\\" table\",\"type\":\"standalone\"},{\"name\":\"SCALEDIPWFLAG=\",\"optional\":true,\"description\":\"specifies a multiple of the expected inverse probability weight of an observation that is used to flag observations that have large weights\",\"help\":\"SCALEDIPWFLAG=number\",\"type\":\"value\"}]},{\"name\":\"BY\",\"description\":\"produces separate analyses of observations in groups that are defined by the BY variables\",\"help\":\"BY  variables;                                              \"},{\"name\":\"DIFFERENCE\",\"description\":\"specifies causal effects to estimate on the difference scale\",\"help\":\"DIFFERENCE &lt;REFLEV=(*reference-list*)&gt;&lt;EVTLEV=(*event-list*) &gt; ;                                              \",\"arguments\":[{\"name\":\"EVTLEV=\",\"optional\":true,\"description\":\"specifies event levels for causal effect estimates. The levels of the of treatment that you specify in event-list must also be used to define a potential outcome in a POM statement.\",\"help\":\"EVTLEV= (*event-list*)\",\"type\":\"value\"},{\"name\":\"REFLEV=\",\"optional\":true,\"description\":\"specifies reference levels for causal effect estimates. The levels of the of treatment that you specify in reference-list must also be used to define a potential outcome in a POM statement.\",\"help\":\"REFLEV= (*reference-list*)\",\"type\":\"value\"}]},{\"name\":\"DISPLAY\",\"description\":\"enables you to specify a list of display tables to display or exclude\",\"help\":\"DISPLAY &lt;table-list&gt;&lt;/ options&gt;;                                              \",\"arguments\":[{\"name\":\"CASESENSITIVE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"performs a case-sensitive comparison of table names in the table-list to display table names when tables are subsetted for display\",\"type\":\"standalone\"},{\"name\":\"EXCLUDE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"displays all display tables except those that you specify in the table-list\",\"type\":\"standalone\"},{\"name\":\"EXCLUDEALL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses display of all tables\",\"type\":\"standalone\"},{\"name\":\"TRACE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"displays the display table names, labels, and paths\",\"type\":\"standalone\"}]},{\"name\":\"DISPLAYOUT\",\"description\":\"enables you to create output tables from your displayed output\",\"help\":\"DISPLAYOUT  table-spec-list </ options>;                                              \\ntable-spec-list specifies a list of output tables in key=value or key format                     \\nkey=value specifies key as the ODS table name, path, or partial pathname, and value as the output table name                     \\nkey is the ODS table name and the output table name                     \",\"arguments\":[{\"name\":\"INCLUDEALL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"creates output tables for all display tables\",\"type\":\"standalone\"},{\"name\":\"NOREPLACE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"does not replace any existing output table of the same name\",\"type\":\"standalone\"},{\"name\":\"REPEATED\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"replicates all output tables on all nodes\",\"type\":\"standalone\"}]},{\"name\":\"FREQ\",\"description\":\"identifies a numeric variable in the input data table that contains the frequency of occurrence of each observation\",\"help\":\"FREQ  variable;                                              \"},{\"name\":\"OUTCOMEMODEL\",\"description\":\"enables you to use a previously fit model for the outcome variable to compute counterfactual outcomes\",\"help\":\"OUTCOMEMODEL  RESTORE=*libref.data-table* PREDNAME=*prediction-name*;                                              \",\"arguments\":[{\"name\":\"RESTORE=\",\"description\":\"specifies the saved model in the form of an analytic store\",\"help\":\"RESTORE=*libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"PREDNAME=\",\"description\":\"identifies the variable that contains the outcome of interest when data are scored using the analytic store\",\"help\":\"PREDNAME=*prediction-name*\",\"type\":\"value\"}]},{\"name\":\"OUTCOMEVAR\",\"description\":\"specifies information about the outcome variable\",\"help\":\"OUTCOMEVAR  outcome-variable &lt;(EVENT=*'event-level'*)&gt;&lt;/outcome-options&gt; ;                                              \",\"arguments\":[{\"name\":\"COUNTMISSING\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"treats missing values (\\\".\\\", \\\".A\\\", . . . , \\\".Z\\\" for numeric variables and blanks for character variables) as valid values of a categorical outcome variable.\",\"type\":\"standalone\"},{\"name\":\"LEVELIZERAW\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"bases the levelization of a categorical outcome variable on raw values\",\"type\":\"standalone\"},{\"name\":\"MAXLEV=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the maximum number of levels for a categorical outcome variable\",\"help\":\"MAXLEV=*number*\",\"type\":\"value\"},{\"name\":\"TYPE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the type of the outcome variable\",\"help\":\"TYPE=BINOMIAL | CATEGORICAL | CONTINUOUS\",\"type\":\"choice\",\"arguments\":[{\"name\":\"BINOMIAL\",\"followsDelimiter\":\"/\",\"description\":\"specifies a binomial outcome. For a binomial outcome, the event probability is modeled, and predicted outcome values must be between 0 and 1, inclusive. If the specified estimation method requires the observed outcome values, you must use event/trial syntax.\",\"type\":\"standalone\"},{\"name\":\"CATEGORICAL\",\"followsDelimiter\":\"/\",\"description\":\"specifies a categorical outcome. For a categorical outcome, the probability of a designated event level is modeled, and the observed outcome and predicted outcome values must be between 0 and 1, inclusive. If the specified estimation method requires the observed outcome values, you must specify the event level by using the EVENT= option.\",\"type\":\"standalone\"},{\"name\":\"CONTINUOUS\",\"followsDelimiter\":\"/\",\"description\":\"specifies a continuous outcome\",\"type\":\"standalone\"}]},{\"name\":\"EVENT=\",\"optional\":true,\"description\":\"specifies the event-level of interest for a categorical outcome\",\"help\":\"EVENT=*'event-level'*\",\"type\":\"value\"}]},{\"name\":\"POM\",\"description\":\"specifies a potential outcome mean to estimate\",\"help\":\"POM  TREATLEV=*'treatment-level'*&lt;PREDOUT=*predicted-outcome-value*&gt;&lt;TREATPROB=*predicted-treatment-probability*&gt; ;                                              \",\"arguments\":[{\"name\":\"TREATLEV=\",\"aliases\":[\"TRTLEV=\"],\"description\":\"specifies the level of the treatment variable that defines the potential outcome. If the treatment variable is a character variable, specify the treatment-level in quotes.\",\"help\":\"TREATLEV=*'treatment-level'*\",\"type\":\"value\"},{\"name\":\"PREDOUT=\",\"optional\":true,\"description\":\"specifies the input variable that contains the predicted counterfactual outcome values for the specified treatment level\",\"help\":\"PREDOUT=*predicted-outcome-value*\",\"type\":\"value\"},{\"name\":\"TREATPROB=\",\"optional\":true,\"aliases\":[\"TRTPROB=\"],\"description\":\"specifies the input variable that contains the predicted probability of having the specified level of treatment\",\"help\":\"TREATPROB=*predicted-treatment-probability*\",\"type\":\"value\"}]},{\"name\":\"TREATVAR\",\"description\":\"specifies information about the treatment variable\",\"help\":\"TREATVAR *treatment-variable*&lt;/*treatment-options*&gt; ;                                              \",\"arguments\":[{\"name\":\"CONDEVENT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"EVENT=\"],\"description\":\"specifies the estimation of conditional potential outcome means and the observed treatment-level to condition on. This treatment-level must appear in a potential outcome specification. Conditional potential outcome mean estimation is supported only for the IPW and REGADJ estimation methods.\",\"help\":\"CONDEVENT='*treatment-level*'\",\"type\":\"value\"},{\"name\":\"COUNTMISSING\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"treats missing values (\\\".\\\", \\\".A\\\", . . . , \\\".Z\\\" for numeric variables and blanks for character variables) as valid values of the treatment variable.\",\"type\":\"standalone\"},{\"name\":\"LEVELIZERAW\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"bases the levelization of the treatment variable on raw values\",\"type\":\"standalone\"},{\"name\":\"MAXLEV=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the maximum number of levels for the treatment variable\",\"help\":\"MAXLEV=*number*\",\"type\":\"value\"}]},{\"name\":\"WEIGHT\",\"description\":\"The variable that you specify in the WEIGHT statement is used as a weight to perform a weighted analysis of the dat\",\"help\":\"WEIGHT *variable*;                                              \"}],\"supportSiteInformation\":{\"docsetId\":\"casstat\",\"docsetVersion\":\"latest\",\"docsetTargetFile\":\"casstat_caeffect_toc.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/CALIS.json",
    "content": "{\"name\":\"CALIS\",\"statements\":[{\"name\":\"PROC CALIS\",\"description\":\"The CALIS procedure deals with structural equation modeling, an important statistical tool in social and behavioral sciences. Structural equations express relationships among a system of variables that can be either observed variables (manifest variables) or unobserved hypothetical variables (latent variables). You can use the CALIS procedure to estimate parameters and test hypotheses for constrained and unconstrained problems in various situations, including but not limited to the following: o exploratory and confirmatory factor analysis of any order o linear measurement-error models or regression with errors in variables o multiple and multivariate linear regression o multiple-group structural equation modeling with mean and covariance structures o path analysis and causal modeling o simultaneous equation models with reciprocal causation o structured covariance and mean matrices in various forms\",\"help\":\"PROC CALIS <ALPHAECV=α><ALPHARMS=α><ASINGULAR | ASING=r><ASYCOV=BIASED | UNBIASED | CORR><AUGMENT><BASEFIT | INBASEFIT=SAS-data-set><BASEFUNC=r(<DF=>i) or BASEFUNC(<DF=>i)=r><BIASKUR><CHICORRECT=EQVARCOV|COMPSYM | CIRCULARITY|CIRCULAR|TYPEH|SPHERICITY | EQCOVMAT><CLOSEFIT=p><CORRELATION><COVARIANCE><COVSING=r><DATA=SAS-data-set><DEMPHAS=r | DE=r><DFREDUCE=i | DFRED=i><EDF=n | DFE=n><EFFPART | PARTEFF | TOTEFF | TE><EXTENDPATH><FCONV=r | FTOL=r><FDCODE><G4=i><GCONV=r | GTOL=r><HESSALG=1 | 2 | 3... ><INEST | INVAR | ESTDATA=SAS-data-set><INMODEL | INRAM=SAS-data-set><INSTEP=r><INWGT | INWEIGHT<(INV)>=SAS-data-set><INWGTINV><KURTOSIS><LINESEARCH=1 | 2 | 3... ><LSPRECISION=r | LSP=r | SPRECISION=r | SP=r><MAXFUNC=i | MAXFU=i><MAXITER= | MAXIT=i <n>><MEANSTR><METHOD=FIML | ML|M|MAX | GLS|G... ><MODIFICATION><MSINGULAR= | MSING=r><NOADJDF><NOBS=nobs><NODIAG><NOINDEXTYPE><NOINT><NOMEANSTR><NOMOD><NOORDERSPEC><NOPARMNAME><NOPRINT><NOSTAND><NOSTDERR><OMETHOD=CONGRA | DBLDOG | LEVMAR... ><ORDERALL><ORDERGROUPS><ORDERMODELS><ORDERSPEC><OUTEST= SAS-data-set><OUTFIT=SAS-data-set><OUTJAC><OUTMODEL= | OUTRAM=SAS-data-set><OUTSTAT=SAS-data-set><OUTWGT=SAS-data-set><PALL><PARMNAME><PCORR><PCOVES><PDETERM><PESTIM><PINITIAL><PJACPAT><PLATCOV><PLOTS=ALL | RESIDUALS | NONE><PREDET><PRIMAT><PRINT><PRIVEC><PSHORT><PSUMMARY><PWEIGHT><RADIUS=r><RANDOM=i><RDF= | DFR=n><READADDPARM><RESIDUAL=NORM | VARSTAND | ASYSTAND><RIDGE<=r>><SALPHA=r><SIMPLE><SINGULAR= | SING=r><SLMW=r><SPRECISION= | SP=r><START=r><STDERR><UCORR><UCOV><UPDATE=PB | FR | PR... ><VARDEF=DF | N | WDF... ><VSINGULAR= | VSING=r><WPENALTY= | WPEN=r><WRIDGE=r>;     \\n\\tABORT <ABEND><CANCEL><CANCEL FILE> ...;\\n\\n\\tBOUNDS constraint <, constraint ...> ;\\n\\n\\tBY <DESCENDING><NOTSORTED> ;\\n\\n\\tCALL routine(parameter-1<, ...parameter-n>);\\n\\n\\tCOSAN <VAR=variable-list> ;\\n\\n\\tCOV assignment <, assignment ...> ;\\n\\n\\tDELETE;\\n\\n\\tDETERM <LABEL | NAME = name> ;\\n\\n\\tDO <OVER><><> ...;\\n\\n\\tEFFPART effect < , effect> ;\\n\\n\\tELSE <DO><IF><THEN> ...;\\n\\n\\tEND;\\n\\n\\tFACTOR <COMPONENT><GAMMA=p><HEYWOOD> ...;\\n\\n\\tFITINDEX <ALPHAECV=α><ALPHARMS=α><CHICORRECT=<EQVARCOV | CIRCULARITY | EQCOVMAT>> ...;\\n\\n\\tFREQ variable;\\n\\n\\tGOTO label;\\n\\n\\tGROUP <DATA=SAS-data-set><INWGT<(INV)>=SAS-data-set><LABEL= | NAME=name> ...;\\n\\n\\tIF <DO><THEN><WHEN> ...;\\n\\n\\tLINCON constraint <, constraint ...> ;\\n\\n\\tLINEQS equation <, equation ...> ;\\n\\n\\tLINK statement-label;\\n\\n\\tLISMOD <var_lists> ;\\n\\n\\tLMTESTS <DEFAULT><MAXRANK><NODEFAULT> ...;\\n\\n\\tMATRIX matrix-name <location> = list <, location = list ...> ;\\n\\n\\tMEAN assignment <, assignment ...> ;\\n\\n\\tMODEL <CORRELATION><GROUP= | GROUPS=int-list><LABEL= | NAME=name> ...;\\n\\n\\tMSTRUCT <VAR=> ;\\n\\n\\tNLINCON | NLC constraint <, constraint ...> ;\\n\\n\\tNLOPTIONS <ABSCONV= | ABSTOL=r><ABSFCONV=r <n> | ABSFTOL=r<n>><ABSGCONV= | ABSGTOL=r <n>> ...;\\n\\n\\t;\\n\\n\\tOUTFILES | OUTFILE file_option <file_option ...> ;\\n\\n\\tPARAMETERS | PARMS parameter(s) << = > number(s) >;\\n\\n\\tPARTIAL variables ;\\n\\n\\tPATH path < , path ...> ;\\n\\n\\tPCOV assignment <, assignment ...> ;\\n\\n\\tPUT <_PAGE_> ;\\n\\n\\tPVAR assignment < , assignment ...> ;\\n\\n\\tRAM <VAR=variable-list | variable-list=number-list <,;\\n\\n\\tREFMODEL <ALLNEWPARMS><PARM_PREFIX=prefix><PARM_SUFFIX=suffix> ...;\\n\\n\\tRENAMEPARM assignment <, assignment ...> ;\\n\\n\\tRETURN;\\n\\n\\t;\\n\\n\\tSIMTESTS sim_test <sim_test ...> ;\\n\\n\\tSTD assignment <, assignment ...> ;\\n\\n\\tSTOP ;\\n\\n\\tSTRUCTEQ variables </ label> ;\\n\\n\\tTESTFUNC functions ;\\n\\n\\tVAR;\\n\\n\\tVARIANCE assignment <, assignment ...> ;\\n\\n\\tVARNAMES | VNAMES assignment <, assignment ...> ;\\n\\n\\tWEIGHT variable;\\n\\n\\tWHEN <DO> ;\\n\",\"arguments\":[{\"name\":\"ALPHAECV=\",\"optional\":true,\"description\":\"Specifies a (1 - α)100% confidence interval, 0 ≤ α ≤ 1, for the Browne and Cudeck (1993) expected cross validation index (ECVI). The default value is α=0.1, which corresponds to a 90% confidence interval for the ECVI.\",\"type\":\"value\"},{\"name\":\"ALPHARMS=\",\"optional\":true,\"description\":\"Specifies a (1 - α)100% confidence interval, 0 ≤ α ≤ 1, for the Steiger and Lind (1980) root mean squared error of approximation (RMSEA) coefficient. The default value is α=0.1, which corresponds to a 90% confidence interval for the RMSEA.\",\"type\":\"value\"},{\"name\":\"ASINGULAR=\",\"optional\":true,\"aliases\":[\"ASING=\"],\"description\":\"Specifies an absolute singularity criterion r, r > 0, for the inversion of the information matrix, which is needed to compute the covariance matrix.\",\"type\":\"value\"},{\"name\":\"ASYCOV=\",\"optional\":true,\"aliases\":[\"ASC=\"],\"description\":\"Specifies the formula for asymptotic covariances used in the weight matrix W for WLS and DWLS estimation. The ASYCOV option is effective only if METHOD=WLS or METHOD=DWLS and no INWGT= input data set is specified.\",\"help\":\"ASYCOV=BIASED | UNBIASED | CORR\",\"type\":\"choice\",\"arguments\":[{\"name\":\"BIASED\",\"description\":\"Browne’s (1984) formula (3.4) biased asymptotic covariance estimates; the resulting weight matrix is at least positive semidefinite. This is the default for analyzing a covariance matrix.\",\"type\":\"standalone\"},{\"name\":\"UNBIASED\",\"description\":\"Browne’s (1984) formula (3.8) asymptotic covariance estimates corrected for bias; the resulting weight matrix can be indefinite (that is, can have negative eigenvalues), especially for small N.\",\"type\":\"standalone\"}]},{\"name\":\"AUGMENT\",\"optional\":true,\"aliases\":[\"AUG\"],\"description\":\"[Obsolete] Analyzes the augmented correlation or covariance matrix.\",\"type\":\"standalone\"},{\"name\":\"BASEFIT=\",\"optional\":true,\"aliases\":[\"INBASEFIT=\"],\"description\":\"Inputs the SAS-data-set that contains the fit information of the baseline model of your choice. This customized baseline model replaces the default uncorrelatedness model for computing several fit indices of your target model. Typically, you create the BASEFIT= data set by using the OUTFIT= option in a previous PROC CALIS fitting of your customized baseline model. Using the BASEFIT= option assumes that you fit your customized baseline model and your target model with the same data, number of groups (for multiple-group analysis), and estimation method. Typically, your baseline model should be more restrictive (or have fewer parameters) than your target model.\",\"help\":\"BASEFIT=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"BASEFUNC=\",\"optional\":true,\"description\":\"Inputs the fit function value r and the degrees of freedom i of the baseline model of your choice. This customized baseline model replaces the default uncorrelatedness model for computing several fit indices of your target model. To use this option, you must first fit your customized baseline model and then use this option to input the baseline model fit information when you fit your target model.\",\"type\":\"value\"},{\"name\":\"BIASKUR\",\"optional\":true,\"description\":\"Computes univariate skewness and kurtosis by formulas uncorrected for bias.\",\"type\":\"standalone\"},{\"name\":\"CHICORRECT=\",\"optional\":true,\"aliases\":[\"CHICORR=\"],\"description\":\"Specifies a correction factor c for the chi-square statistics for model fit. You can specify a name for a built-in correction factor or a value between 0 and 1 as the CHICORRECT= value.\",\"help\":\"CHICORRECT=EQVARCOV | CIRCULARITY|CIRCULAR|TYPEH|SPHERICITY | EQCOVMAT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"EQVARCOV\",\"aliases\":[\"COMPSYM\"],\"description\":\"Specifies the correction factor due to Box (1949) for testing equal variances and equal covariances in a covariance matrix.\",\"type\":\"standalone\"},{\"name\":\"CIRCULARITY\",\"aliases\":[\"CIRCULAR\",\"TYPEH\",\"SPHERICITY\"],\"description\":\"Specifies the correction factor due to Mauchly (1940) for testing circularity or Huynh and Feldt Type H matrix.\",\"type\":\"standalone\"},{\"name\":\"EQCOVMAT\",\"description\":\"Specifies the correction factor due to Box (1949) for testing equality of covariance matrices.\",\"type\":\"standalone\"}]},{\"name\":\"CLOSEFIT=\",\"optional\":true,\"description\":\"Defines the criterion value p for indicating a close fit. The smaller the better fit. The default value for close fit is 0.05.\",\"help\":\"CLOSEFIT=*p*\",\"type\":\"value\"},{\"name\":\"CORRELATION\",\"optional\":true,\"aliases\":[\"CORR\"],\"description\":\"Analyzes the correlation matrix, instead of the default covariance matrix. Browne and Shapiro’s (1986) formula (3.2), which is identical to DeLeeuw’s (1983) formulas (2, 3, 4) the asymptotic variances of the diagonal elements are set to the reciprocal of the value r specified by the WPENALTY= option (default: r=100). This formula is the default for analyzing a correlation matrix.\",\"type\":\"standalone\"},{\"name\":\"COVARIANCE\",\"optional\":true,\"aliases\":[\"COV\"],\"description\":\"Analyzes the covariance matrix. Because this is also the default analysis in PROC CALIS, you can simply omit this option when you analyze covariance rather than correlation matrices.\",\"type\":\"standalone\"},{\"name\":\"COVSING=\",\"optional\":true,\"description\":\"Specifies a nonnegative threshold r, which determines whether the eigenvalues of the information matrix are considered to be zero.\",\"help\":\"COVSING=*r*\",\"type\":\"value\"},{\"name\":\"DATA=\",\"optional\":true,\"description\":\"Specifies an input data set that can be an ordinary SAS data set or a specially structured TYPE=CORR, TYPE=COV, TYPE=UCORR, TYPE=UCOV, TYPE=SSCP, or TYPE=FACTOR SAS data set.\",\"help\":\"DATA=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"DEMPHAS=\",\"optional\":true,\"aliases\":[\"DE=\"],\"description\":\"Changes the initial values of all variance parameters by the relationship\",\"type\":\"value\"},{\"name\":\"DFREDUCE=\",\"optional\":true,\"aliases\":[\"DFRED=\"],\"description\":\"Reduces the degrees of freedom of the model fit χ² test by i. In general, the number of degrees of freedom is the total number of nonredundant elements in all moment matrices minus the number of parameters, t. Because negative values of i are allowed, you can also increase the number of degrees of freedom by using this option.\",\"type\":\"value\"},{\"name\":\"EDF=\",\"optional\":true,\"aliases\":[\"DFE=\"],\"description\":\"Makes the effective number of observations n+i. You can also use the NOBS= option to specify the number of observations.\",\"type\":\"value\"},{\"name\":\"EFFPART\",\"optional\":true,\"aliases\":[\"PARTEFF\",\"TOTEFF\",\"TE\"],\"description\":\"Computes and displays total, direct, and indirect effects for the unstandardized and standardized estimation results.\",\"type\":\"standalone\"},{\"name\":\"EXTENDPATH\",\"optional\":true,\"aliases\":[\"GENPATH\"],\"description\":\"Displays the extended path estimates such as the variances, covariances, means, and intercepts in the table that contains the ordinary path effect (coefficient) estimates. This option applies to the PATH model only.\",\"type\":\"standalone\"},{\"name\":\"FCONV=\",\"optional\":true,\"aliases\":[\"FTOL=\"],\"description\":\"Specifies the relative function convergence criterion.\",\"type\":\"value\"},{\"name\":\"FDCODE\",\"optional\":true,\"description\":\"[Obsolete] Replaces the analytic derivatives of the programming statements by numeric derivatives (finite-difference approximations).\",\"type\":\"standalone\"},{\"name\":\"G4=\",\"optional\":true,\"description\":\"Specifies the algorithm to compute the approximate covariance matrix of parameter estimates used for computing the approximate standard errors and modification indices when the information matrix is singular.\",\"help\":\"G4=*i*\",\"type\":\"value\"},{\"name\":\"GCONV=\",\"optional\":true,\"aliases\":[\"GTOL=\"],\"description\":\"Specifies the relative gradient convergence criterion.\",\"type\":\"value\"},{\"name\":\"HESSALG=\",\"optional\":true,\"aliases\":[\"HA=\"],\"description\":\"[Obsolete] Specifies the algorithm used to compute the (approximate) Hessian matrix when TECHNIQUE=LEVMAR and NEWRAP, to compute approximate standard errors of the parameter estimates, and to compute Lagrange multipliers.\",\"help\":\"HESSALG=1 | 2 | 3 | 4 | 5 | 6 | 11\",\"type\":\"choice\",\"arguments\":[{\"name\":\"1\",\"description\":\"Specifies the analytic formulas group of algorithms.\",\"type\":\"standalone\"},{\"name\":\"2\",\"description\":\"Specifies the analytic formulas group of algorithms.\",\"type\":\"standalone\"},{\"name\":\"3\",\"description\":\"Specifies the analytic formulas group of algorithms.\",\"type\":\"standalone\"},{\"name\":\"4\",\"description\":\"Specifies the analytic formulas group of algorithms.\",\"type\":\"standalone\"},{\"name\":\"5\",\"description\":\"Specifies the finite-difference approximation group of algorithms.\",\"type\":\"standalone\"},{\"name\":\"6\",\"description\":\"Specifies the finite-difference approximation group of algorithms.\",\"type\":\"standalone\"},{\"name\":\"11\",\"description\":\"Specifies the analytic formulas or sparse storage group of algorithms.\",\"type\":\"standalone\"}]},{\"name\":\"INEST=\",\"optional\":true,\"aliases\":[\"INVAR=\",\"ESTDATA=\"],\"description\":\"Specifies an input data set that contains initial estimates for the parameters used in the optimization process and can also contain boundary and general linear constraints on the parameters.\",\"type\":\"value\"},{\"name\":\"INMODEL=\",\"optional\":true,\"aliases\":[\"INRAM=\"],\"description\":\"Specifies an input data set that contains information about the analysis model. A typical use of the INMODEL= option is when you run an analysis with its model specifications saved as an OUTMODEL= data set from a previous PROC CALIS run. Instead of specifying the main or subsidiary model specification statements in the new run, you use the INMODEL= option to input the model specification saved from the previous run.\",\"type\":\"value\"},{\"name\":\"INSTEP=\",\"optional\":true,\"aliases\":[\"SALPHA=\"],\"description\":\"For highly nonlinear objective functions, such as the EXP function, the default initial radius of the trust-region algorithms (TRUREG, DBLDOG, and LEVMAR) or the default step length of the line-search algorithms can produce arithmetic overflows. If an arithmetic overflow occurs, specify decreasing values of r such as INSTEP=1E-1, INSTEP=1E-2, INSTEP=1E-4, and so on, until the iteration starts successfully.\",\"help\":\"INSTEP=*r*\",\"type\":\"value\"},{\"name\":\"INWGT=\",\"optional\":true,\"aliases\":[\"INWEIGHT=\"],\"description\":\"Specifies an input data set that contains the weight matrix W used in generalized least squares (GLS), weighted least squares (WLS, ADF), or diagonally weighted least squares (DWLS) estimation.\",\"help\":\"INWGT=INV\",\"type\":\"choice\",\"arguments\":[{\"name\":\"INV\",\"type\":\"standalone\"}]},{\"name\":\"INWGTINV\",\"optional\":true,\"description\":\"Specifies that the INWGT= data set contains the inverse of the weight matrix, rather than the weight matrix itself. This option is effective only with an input weight matrix specified in the INWGT= data set and with the generalized least squares (GLS), weighted least squares (WLS or ADF), or diagonally weighted least squares (DWLS) estimation.\",\"type\":\"standalone\"},{\"name\":\"KURTOSIS\",\"optional\":true,\"aliases\":[\"KU\"],\"description\":\"Computes and displays univariate kurtosis and skewness, various coefficients of multivariate kurtosis, and the numbers of observations that contribute most to the normalized multivariate kurtosis.\",\"type\":\"standalone\"},{\"name\":\"LINESEARCH=\",\"optional\":true,\"aliases\":[\"LIS=\",\"SMETHOD=\",\"SM=\"],\"description\":\"Specifies the line-search method for the CONGRA, QUANEW, and NEWRAP optimization techniques.\",\"help\":\"LINESEARCH=1 | 2 | 3 | 4 | 5 | 6 | 7 | 8\",\"type\":\"choice\",\"arguments\":[{\"name\":\"1\",\"description\":\"Specifies a line-search method that needs the same number of function and gradient calls for cubic interpolation and cubic extrapolation; this method is similar to one used by the Harwell subroutine library.\",\"type\":\"standalone\"},{\"name\":\"2\",\"description\":\"Specifies a line-search method that needs more function calls than gradient calls for quadratic and cubic interpolation and cubic extrapolation; this method is implemented as shown in Fletcher (1987) and can be modified to an exact line search by using the LSPRECISION= option.\",\"type\":\"standalone\"},{\"name\":\"3\",\"description\":\"Specifies a line-search method that needs the same number of function and gradient calls for cubic interpolation and cubic extrapolation; this method is implemented as shown in Fletcher (1987) and can be modified to an exact line search by using the LSPRECISION= option.\",\"type\":\"standalone\"},{\"name\":\"4\",\"description\":\"Specifies a line-search method that needs the same number of function and gradient calls for stepwise extrapolation and cubic interpolation\",\"type\":\"standalone\"},{\"name\":\"5\",\"description\":\"Specifies a line-search method that is a modified version of LIS=4.\",\"type\":\"standalone\"},{\"name\":\"6\",\"description\":\"Specifies golden section line search (Polak 1971), which uses only function values for linear approximation.\",\"type\":\"standalone\"},{\"name\":\"7\",\"description\":\"Specifies bisection line search (Polak 1971), which uses only function values for linear approximation.\",\"type\":\"standalone\"},{\"name\":\"8\",\"description\":\"Specifies Armijo line-search technique (Polak 1971), which uses only function values for linear approximation.\",\"type\":\"standalone\"}]},{\"name\":\"LSPRECISION=\",\"optional\":true,\"aliases\":[\"LSP=\",\"SPRECISION=\",\"SP=\"],\"description\":\"Specifies the degree of accuracy that should be obtained by the line-search algorithms LIS=2 and LIS=3. The default LSPRECISION= values are:\",\"type\":\"value\"},{\"name\":\"MAXFUNC=\",\"optional\":true,\"aliases\":[\"MAXFU=\"],\"description\":\"Specifies the maximum number i of iterations in the optimization process. The default values are:\",\"type\":\"value\"},{\"name\":\"MAXITER=\",\"optional\":true,\"aliases\":[\"MAXIT=\"],\"description\":\"Specifies the maximum number i of iterations in the optimization process. The default values are:\",\"type\":\"value\"},{\"name\":\"MEANSTR\",\"optional\":true,\"description\":\"Invokes the analysis of mean structures. By default, no mean structures are analyzed. You can specify the MEANSTR option in both the PROC CALIS and the MODEL statements. When this option is specified in the PROC CALIS statement, it propagates to all models. When this option is specified in the MODEL statement, it applies only to the local model.\",\"type\":\"standalone\"},{\"name\":\"METHOD=\",\"optional\":true,\"aliases\":[\"MET=\"],\"description\":\"Specifies the method of parameter estimation. The default is METHOD=ML.\",\"help\":\"METHOD=FIML | ML | GLS | WLS | DWL | ULS | LSFIML | LSML | LSGLS | LSWLS | LSDWLS | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"FIML\",\"description\":\"Performs full information maximum-likelihood parameter estimation for data with missing values. This method assumes raw input data sets. Exploratory factor analysis and model modification indices are not available with FIML in this version of PROC CALIS. If METHOD=FIML is specified with exploratory factor models, ML is used instead.\",\"type\":\"standalone\"},{\"name\":\"ML\",\"aliases\":[\"M\",\"MAX\"],\"description\":\"Performs normal-theory maximum likelihood parameter estimation. The ML method requires a nonsingular covariance or correlation matrix. This is the default method.\",\"type\":\"standalone\"},{\"name\":\"GLS\",\"aliases\":[\"G\"],\"description\":\"Performs generalized least squares parameter estimation. If no INWGT= data set is specified, the GLS method uses the inverse sample covariance or correlation matrix as weight matrix W. Therefore, METHOD=GLS requires a nonsingular covariance or correlation matrix.\",\"type\":\"standalone\"},{\"name\":\"WLS\",\"aliases\":[\"W\",\"ADF\"],\"description\":\"Performs weighted least squares parameter estimation. If no INWGT= data set is specified, the WLS method uses the inverse matrix of estimated asymptotic covariances of the sample covariance or correlation matrix as the weight matrix W.\",\"type\":\"standalone\"},{\"name\":\"DWLS\",\"aliases\":[\"D\"],\"description\":\"Performs diagonally weighted least squares parameter estimation. If no INWGT= data set is specified, the DWLS method uses the inverse diagonal matrix of asymptotic variances of the input sample covariance or correlation matrix as the weight matrix W.\",\"type\":\"standalone\"},{\"name\":\"ULS\",\"aliases\":[\"LS\",\"U\"],\"description\":\"Performs unweighted least squares parameter estimation.\",\"type\":\"standalone\"},{\"name\":\"LSFIML\",\"description\":\"Performs unweighted least squares followed by full information maximum-likelihood parameter estimation.\",\"type\":\"standalone\"},{\"name\":\"LSML\",\"aliases\":[\"LSM\",\"LSMAX\"],\"description\":\"Performs unweighted least squares followed by normal-theory maximum likelihood parameter estimation.\",\"type\":\"standalone\"},{\"name\":\"LSGLS\",\"aliases\":[\"LSG\"],\"description\":\"Performs unweighted least squares followed by generalized least squares parameter estimation.\",\"type\":\"standalone\"},{\"name\":\"LSWLS\",\"aliases\":[\"LSW\",\"LSADF\"],\"description\":\"Performs unweighted least squares followed by weighted least squares parameter estimation.\",\"type\":\"standalone\"},{\"name\":\"LSDWLS\",\"aliases\":[\"LSD\"],\"description\":\"Performs unweighted least squares followed by diagonally weighted least squares parameter estimation.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"aliases\":[\"NO\"],\"description\":\"Uses no estimation method. This option is suitable for checking the validity of the input information and for displaying the model matrices and initial values.\",\"type\":\"standalone\"}]},{\"name\":\"MODIFICATION\",\"optional\":true,\"aliases\":[\"MOD\"],\"description\":\"Computes and displays Lagrange multiplier test indices for constant parameter constraints, equality parameter constraints, and active boundary constraints, as well as univariate and multivariate Wald test indices.\",\"type\":\"standalone\"},{\"name\":\"MSINGULAR=\",\"optional\":true,\"aliases\":[\"MSING=\"],\"description\":\"Specifies a relative singularity criterion r, r > 0, for the inversion of the information matrix, which is needed to compute the covariance matrix.\",\"type\":\"value\"},{\"name\":\"NOADJDF\",\"optional\":true,\"description\":\"Turns off the automatic adjustment of degrees of freedom when there are active constraints in the analysis.\",\"type\":\"standalone\"},{\"name\":\"NOBS=\",\"optional\":true,\"description\":\"Specifies the number of observations. If the DATA= input data set is a raw data set, nobs is defined by default to be the number of observations in the raw data set.\",\"help\":\"NOBS=*nobs*\",\"type\":\"value\"},{\"name\":\"NODIAG\",\"optional\":true,\"aliases\":[\"NODI\"],\"description\":\"[Obsolete] Omits the diagonal elements of the analyzed correlation or covariance matrix from the fit function.\",\"type\":\"standalone\"},{\"name\":\"NOINDEXTYPE\",\"optional\":true,\"description\":\"Disables the display of index types in the fit summary table.\",\"type\":\"standalone\"},{\"name\":\"NOINT\",\"optional\":true,\"description\":\"[Obsolete] Specifies that no intercept be used in computing covariances and correlations; that is, covariances or correlations are not corrected for the mean.\",\"type\":\"standalone\"},{\"name\":\"NOMEANSTR\",\"optional\":true,\"description\":\"Deactivates the inherited MEANSTR option for the analysis of mean structures. You can specify the NOMEANSTR option in both the PROC CALIS and the MODEL statements. When this option is specified in the PROC CALIS statement, it does not have any apparent effect because by default the mean structures are not analyzed.\",\"type\":\"standalone\"},{\"name\":\"NOMOD\",\"optional\":true,\"description\":\"Does not compute modification indices. The NOMOD option is useful in connection with the PALL option because it saves computing time.\",\"type\":\"standalone\"},{\"name\":\"NOORDERSPEC\",\"optional\":true,\"description\":\"Prints the model results in the order they appear in the input specifications.\",\"type\":\"standalone\"},{\"name\":\"NOPARMNAME\",\"optional\":true,\"description\":\"Suppresses the printing of parameter names in the model results.\",\"type\":\"standalone\"},{\"name\":\"NOPRINT\",\"optional\":true,\"aliases\":[\"NOP\"],\"description\":\"Suppresses the displayed output. Note that this option temporarily disables the Output Delivery System (ODS).\",\"type\":\"standalone\"},{\"name\":\"NOSTAND\",\"optional\":true,\"description\":\"Suppresses the printing of standardized results. The default is to print the standardized results.\",\"type\":\"standalone\"},{\"name\":\"NOSTDERR\",\"optional\":true,\"aliases\":[\"NOSE\"],\"description\":\"Suppresses the printing of the standard error estimates. Standard errors are not computed for unweighted least squares (ULS) or diagonally weighted least squares (DWLS) estimation. In general, standard errors are computed even if the STDERR display option is not used (for file output).\",\"type\":\"standalone\"},{\"name\":\"OMETHOD=\",\"optional\":true,\"aliases\":[\"OM=\",\"TECHNIQUE=\",\"TECH=\"],\"description\":\"Specifies the optimization method or technique.\",\"help\":\"OMETHOD=CONGRA | DBLDOG | LEVMAR | NEWRAP | NRRIDG | QUANEW | TRUREG | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"CONGRA\",\"description\":\"Chooses one of four different conjugate-gradient optimization algorithms, which can be more precisely defined with the UPDATE= option and modified with the LINESEARCH= option.\",\"type\":\"standalone\"},{\"name\":\"DBLDOG\",\"description\":\"Performs a version of double-dogleg optimization, which uses the gradient to update an approximation of the Cholesky factor of the Hessian.\",\"type\":\"standalone\"},{\"name\":\"LEVMAR\",\"description\":\"Performs a highly stable but, for large problems, memory- and time-consuming Levenberg-Marquardt optimization technique, a slightly improved variant of the Moré (1978) implementation. This is the default optimization technique if there are fewer than 40 parameters to estimate.\",\"type\":\"standalone\"},{\"name\":\"NEWRAP\",\"description\":\"Performs a usually stable but, for large problems, memory- and time-consuming Newton-Raphson optimization technique. The algorithm combines a line-search algorithm with ridging, and it can be modified with the LINESEARCH= option.\",\"type\":\"standalone\"},{\"name\":\"NRRIDG\",\"description\":\"Performs a usually stable but, for large problems, memory- and time-consuming Newton-Raphson optimization technique. This algorithm does not perform a line search.\",\"type\":\"standalone\"},{\"name\":\"QUANEW\",\"description\":\"Chooses one of four different quasi-Newton optimization algorithms that can be more precisely defined with the UPDATE= option and modified with the LINESEARCH= option.\",\"type\":\"standalone\"},{\"name\":\"TRUREG\",\"description\":\"Performs a usually very stable but, for large problems, memory- and time-consuming trust-region optimization technique. The algorithm is implemented similar to Gay (1983) and Moré and Sorensen (1983).\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"Does not perform any optimization. This option is similar to METHOD=NONE, but TECH=NONE also computes and displays residuals and goodness of fit statistics.\",\"type\":\"standalone\"}]},{\"name\":\"ORDERALL\",\"optional\":true,\"description\":\"Prints the model and group results in the order of the model or group numbers, starting from the smallest number.\",\"type\":\"standalone\"},{\"name\":\"ORDERGROUPS\",\"optional\":true,\"aliases\":[\"ORDERG\"],\"description\":\"Prints the group results in the order of the group numbers, starting from the smallest number.\",\"type\":\"standalone\"},{\"name\":\"ORDERMODELS\",\"optional\":true,\"aliases\":[\"ORDERMO\"],\"description\":\"Prints the model results in the order of the model numbers, starting from the smallest number.\",\"type\":\"standalone\"},{\"name\":\"ORDERSPEC\",\"optional\":true,\"description\":\"Arranges some model results by the types of parameters.\",\"type\":\"standalone\"},{\"name\":\"OUTEST=\",\"optional\":true,\"description\":\"Creates an output data set that contains the parameter estimates, their gradient, Hessian matrix, and boundary and linear constraints. For METHOD=ML, METHOD=GLS, and METHOD=WLS, the OUTEST= data set also contains the information matrix, the approximate covariance matrix of the parameter estimates ((generalized) inverse of information matrix), and approximate standard errors.\",\"type\":\"value\"},{\"name\":\"OUTFIT=\",\"optional\":true,\"description\":\"Creates an output data set that contains the values of the fit indices.\",\"help\":\"OUTFIT=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"OUTJAC\",\"optional\":true,\"description\":\"[Obsolete] Writes the Jacobian matrix, if it has been computed, to the OUTEST= data set. This is useful when the information and Jacobian matrices need to be computed for other analyses.\",\"type\":\"standalone\"},{\"name\":\"OUTMODEL=\",\"optional\":true,\"aliases\":[\"OUTRAM=\"],\"description\":\"Creates an output data set that contains the model information for the analysis, the parameter estimates, and their standard errors.\",\"type\":\"value\"},{\"name\":\"OUTSTAT=\",\"optional\":true,\"description\":\"Creates an output data set containing the BY-group variables, the analyzed covariance or correlation matrices, and the predicted and residual covariance or correlation matrices of the analysis.\",\"help\":\"OUTSTAT=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"OUTWGT=\",\"optional\":true,\"aliases\":[\"OUTWEIGHT=\"],\"description\":\"Creates an output data set that contains the elements of the weight matrix W or its inverse Wˉ¹ used in the estimation process.\",\"help\":\"OUTWGT=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"PALL\",\"optional\":true,\"aliases\":[\"ALL\"],\"description\":\"Displays all optional output except the output generated by the PCOVES and PDETERM, options. Caution: The PALL option includes the very expensive computation of the modification indices.\",\"type\":\"standalone\"},{\"name\":\"PARMNAME\",\"optional\":true,\"description\":\"Prints the parameter names in the model results.\",\"type\":\"standalone\"},{\"name\":\"PCORR\",\"optional\":true,\"description\":\"Displays the covariance or correlation matrix that is analyzed and the predicted model covariance or correlation matrix.\",\"type\":\"standalone\"},{\"name\":\"PCOVES\",\"optional\":true,\"aliases\":[\"PCE\"],\"description\":\"Displays the following: o the information matrix o the approximate covariance matrix of the parameter estimates (generalized inverse of the information matrix)\",\"type\":\"standalone\"},{\"name\":\"PDETERM\",\"optional\":true,\"aliases\":[\"PDE\"],\"description\":\"Displays three coefficients of determination: the determination of all equations (DETAE), the determination of the structural equations (DETSE), and the determination of the manifest variable equations (DETMV).\",\"type\":\"standalone\"},{\"name\":\"PESTIM\",\"optional\":true,\"aliases\":[\"PES\"],\"description\":\"Displays the parameter estimates. In some cases, this includes displaying the standard errors and values.\",\"type\":\"standalone\"},{\"name\":\"PINITIAL\",\"optional\":true,\"aliases\":[\"PIN\"],\"description\":\"Displays the model specification with initial estimates and the vector of initial values.\",\"type\":\"standalone\"},{\"name\":\"PJACPAT\",\"optional\":true,\"aliases\":[\"PJP\"],\"description\":\"[Obsolete] Displays the structure of variable and constant elements of the Jacobian matrix. This displayed output is not included in the output generated by the PALL option.\",\"type\":\"standalone\"},{\"name\":\"PLATCOV\",\"optional\":true,\"aliases\":[\"PLATMOM\",\"PLC\"],\"description\":\"Displays the following: o the estimates of the covariances among the latent variables o the estimates of the covariances between latent and manifest variables o the estimates of the latent variable means for mean structure analysis\",\"type\":\"standalone\"},{\"name\":\"PLOTS=\",\"optional\":true,\"aliases\":[\"PLOT=\"],\"description\":\"Syntax: PLOTS | PLOT <= plot-request> | PLOTS | PLOT <= ( plot-request < ...plot-request> )\",\"help\":\"PLOTS=ALL | RESIDUALS | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ALL\",\"description\":\"Plots all available plots\",\"type\":\"standalone\"},{\"name\":\"RESIDUALS\",\"description\":\"Plots distribution of residuals\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"Plots no ODS graphical plots\",\"type\":\"standalone\"}]},{\"name\":\"PREDET\",\"optional\":true,\"aliases\":[\"PRE\"],\"description\":\"[Obsolete] Displays the pattern of variable and constant elements of the predicted moment matrix that is predetermined by the analysis model.\",\"type\":\"standalone\"},{\"name\":\"PRIMAT\",\"optional\":true,\"aliases\":[\"PMAT\"],\"description\":\"Displays parameter estimates, approximate standard errors, and t values in matrix form if you specify the analysis model in the RAM or LINEQS statement.\",\"type\":\"standalone\"},{\"name\":\"PRINT\",\"optional\":true,\"aliases\":[\"PRI\"],\"description\":\"Adds the options KURTOSIS, RESIDUAL, PLATCOV, and TOTEFF to the default output.\",\"type\":\"standalone\"},{\"name\":\"PRIVEC\",\"optional\":true,\"aliases\":[\"PVEC\"],\"description\":\"[Obsolete] Displays parameter estimates, approximate standard errors, the gradient, and t values in vector form. The values are displayed with more decimal places. This displayed output is not included in the output generated by the PALL option.\",\"type\":\"standalone\"},{\"name\":\"PSHORT\",\"optional\":true,\"aliases\":[\"SHORT\",\"PSH\"],\"description\":\"Excludes the output produced by the PINITIAL, SIMPLE, and STDERR options from the default output.\",\"type\":\"standalone\"},{\"name\":\"PSUMMARY\",\"optional\":true,\"aliases\":[\"SUMMARY\",\"PSUM\"],\"description\":\"Displays the fit assessment table only.\",\"type\":\"standalone\"},{\"name\":\"PWEIGHT\",\"optional\":true,\"aliases\":[\"PW\"],\"description\":\"Displays the weight matrix W used in the estimation. The weight matrix is displayed after the WRIDGE= and WPENALTY= options are applied to it.\",\"type\":\"standalone\"},{\"name\":\"RADIUS=\",\"optional\":true,\"description\":\"Is an alias for the INSTEP= option for Levenberg-Marquardt minimization.\",\"help\":\"RADIUS=*r*\",\"type\":\"value\"},{\"name\":\"RANDOM=\",\"optional\":true,\"description\":\"Specifies a positive integer as a seed value for the pseudo-random number generator to generate initial values for the parameter estimates for which no other initial value assignments in the model definitions are made.\",\"help\":\"RANDOM=*i*\",\"type\":\"value\"},{\"name\":\"RDF=\",\"optional\":true,\"aliases\":[\"DFR=\"],\"description\":\"Makes the effective number of observations the actual number of observations minus the RDF= value.\",\"type\":\"value\"},{\"name\":\"READADDPARM\",\"optional\":true,\"aliases\":[\"READADD\"],\"description\":\"Inputs the generated default parameters (for example, observations with _TYPE_=ADDPCOV, ADDMEAN, or ADDPVAR) in the INMODEL= data set as if they were part of the original model specification.\",\"type\":\"standalone\"},{\"name\":\"RESIDUAL=\",\"optional\":true,\"aliases\":[\"RES=\"],\"description\":\"Displays the raw and normalized residual covariance matrices, the rank order of the largest residuals, and the bar charts of residual tallies. This information is displayed by default when you specify the PRINT option. Use the RESIDUAL(TALLY) or RESIDUAL(TALLY)= option if you don't want SAS to replace bar charts of residual tallies with graphical histograms showing residual distributions.\",\"help\":\"RESIDUAL=NORM | VARSTAND | ASYSTAND\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NORM\",\"description\":\"Normalized residuals\",\"type\":\"standalone\"},{\"name\":\"VARSTAND\",\"description\":\"Variance standardized residuals\",\"type\":\"standalone\"},{\"name\":\"ASYSTAND\",\"description\":\"Asymptotically standardized residuals\",\"type\":\"standalone\"}]},{\"name\":\"RIDGE=\",\"optional\":true,\"description\":\"Defines a ridge factor r for the diagonal of the moment matrix S that is analyzed. If you do not specify r in the RIDGE option, PROC CALIS tries to ridge the covariance or correlation matrix S so that the smallest eigenvalue is about 10⁻³.\",\"type\":\"value\"},{\"name\":\"SIMPLE\",\"optional\":true,\"description\":\"Displays means, standard deviations, skewness, and univariate kurtosis if available.\",\"type\":\"standalone\"},{\"name\":\"SINGULAR=\",\"optional\":true,\"aliases\":[\"SING=\"],\"description\":\"Specifies the singularity criterion r, 0 < r < 1, used, for example, for matrix inversion.\",\"type\":\"value\"},{\"name\":\"SLMW=\",\"optional\":true,\"description\":\"Specifies the probability limit used for computing the stepwise multivariate Wald test. The process stops when the univariate probability is smaller than r. The default value is r=0.05.\",\"help\":\"SLMW=*r*\",\"type\":\"value\"},{\"name\":\"START=\",\"optional\":true,\"description\":\"Specifies initial estimates for parameters as multiples of the r value. In all CALIS models, you can supply initial estimates individually as parenthesized values after each parameter name. Unspecified initial estimates are usually computed by various reasonable initial estimation methods in PROC CALIS.\",\"help\":\"START=*r*\",\"type\":\"value\"},{\"name\":\"STDERR\",\"optional\":true,\"aliases\":[\"SE\"],\"description\":\"Displays approximate standard errors if estimation methods other than unweighted least squares (ULS) or diagonally weighted least squares (DWLS) are used (and the NOSTDERR option is not specified).\",\"type\":\"standalone\"},{\"name\":\"UCORR\",\"optional\":true,\"description\":\"[Obsolete] Analyzes the uncorrected correlation matrix instead of the correlation matrix corrected for the mean.\",\"type\":\"standalone\"},{\"name\":\"UCOV\",\"optional\":true,\"description\":\"[Obsolete] Analyzes the uncorrected covariance matrix instead of the covariance matrix corrected for the mean.\",\"type\":\"standalone\"},{\"name\":\"UPDATE=\",\"optional\":true,\"aliases\":[\"UPD=\"],\"description\":\"Specifies the update method for the quasi-Newton or conjugate-gradient optimization technique.\",\"help\":\"UPDATE=PB | FR | PR | CD | DBFGS | DDFP | BFGS | DFP\",\"type\":\"choice\",\"arguments\":[{\"name\":\"PB\",\"description\":\"[For TECHNIQUE=CONGRA]--Performs the automatic restart update method of Powell (1977) and Beale (1972). This is the default.\",\"type\":\"standalone\"},{\"name\":\"FR\",\"description\":\"[For TECHNIQUE=CONGRA]--Performs the Fletcher-Reeves update (Fletcher 1980, p. 63).\",\"type\":\"standalone\"},{\"name\":\"PR\",\"description\":\"[For TECHNIQUE=CONGRA]--Performs the Polak-Ribiere update (Fletcher 1980, p. 66).\",\"type\":\"standalone\"},{\"name\":\"CD\",\"description\":\"[For TECHNIQUE=CONGRA]--Performs a conjugate-descent update of Fletcher (1987).\",\"type\":\"standalone\"},{\"name\":\"DBFGS\",\"description\":\"[For TECHNIQUE=DBLDOG|QUANEW]--Performs the dual Broyden-Fletcher-Goldfarb-Shanno (BFGS) update of the Cholesky factor of the Hessian matrix. This is the default.\",\"type\":\"standalone\"},{\"name\":\"DDFP\",\"description\":\"[For TECHNIQUE=DBLDOG|QUANEW]--Performs the dual Davidon-Fletcher-Powell (DFP) update of the Cholesky factor of the Hessian matrix.\",\"type\":\"standalone\"},{\"name\":\"BFGS\",\"description\":\"[For TECHNIQUE=QUANEW]--Performs original BFGS update of the inverse Hessian matrix. This is the default for earlier releases.\",\"type\":\"standalone\"},{\"name\":\"DFP\",\"description\":\"[For TECHNIQUE=QUANEW]--Performs the original DFP update of the inverse Hessian matrix.\",\"type\":\"standalone\"}]},{\"name\":\"VARDEF=\",\"optional\":true,\"description\":\"Specifies the divisor to use in the calculation of covariances and standard deviations.\",\"help\":\"VARDEF=DF | N | WDF | WEIGHT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DF\",\"description\":\"Degrees of freedom\",\"type\":\"standalone\"},{\"name\":\"N\",\"description\":\"Number of observations\",\"type\":\"standalone\"},{\"name\":\"WDF\",\"description\":\"Sum of weights DF\",\"type\":\"standalone\"},{\"name\":\"WEIGHT\",\"aliases\":[\"WGT\"],\"description\":\"Sum of weights\",\"type\":\"standalone\"}]},{\"name\":\"VSINGULAR=\",\"optional\":true,\"aliases\":[\"VSING=\"],\"description\":\"Specifies a relative singularity criterion r, r > 0, for the inversion of the information matrix, which is needed to compute the covariance matrix.\",\"type\":\"value\"},{\"name\":\"WPENALTY=\",\"optional\":true,\"aliases\":[\"WPEN=\"],\"description\":\"Specifies the penalty weight r ≥ 0 for the WLS and DWLS fit of the diagonal elements of a correlation matrix (constant 1s).\",\"type\":\"value\"},{\"name\":\"WRIDGE=\",\"optional\":true,\"description\":\"Defines a ridge factor r for the diagonal of the weight matrix W used in GLS, WLS, or DWLS estimation.\",\"help\":\"WRIDGE=*r*\",\"type\":\"value\"}]},{\"name\":\"ABORT\",\"description\":\"Stops executing the current DATA step, SAS job, or SAS session. n is an integer value that enables you to specify a condition code: o when used with the CANCEL argument, the value is placed in the SYSINFO automatic macro variable o when not used with the CANCEL argument, the error code that is returned by SAS is ERROR. The value of ERROR depends on the operating system. The condition code n is returned to the operating system as the final SAS system exit code.\",\"help\":\"ABORT &lt;ABEND&gt;&lt;CANCEL&gt;&lt;CANCEL FILE&gt; ...\",\"arguments\":[{\"name\":\"ABEND\",\"optional\":true,\"description\":\"Causes abnormal termination of the current SAS job or session. Results depend on the method of operation: o batch mode and noninteractive mode o stops processing immediately o sends an error message to the SAS log that states that execution was terminated by the ABEND option of the ABORT macro statement o does not execute any subsequent statements or check syntax o returns control to the operating environment; further action is based on how your operating environment and your site treat jobs that end abnormally. o windowing environment and interactive line mode\",\"type\":\"standalone\"},{\"name\":\"CANCEL\",\"optional\":true,\"description\":\"Causes the cancellation of the current submitted statements. The results depend on the method of operation: o batch mode and noninteractive mode o The entire SAS program and SAS system are terminated. o The error message is written to the SAS log. o windowing environment and interactive line mode o It only clears the current submitted program. o Other subsequent submitted programs are not affected. o The error message is written to the SAS log. o workspace server and stored process server o It only clears currently submitted program. o Other subsequent submit calls are not affected. o The error message is written to the SAS log. o SAS IntrNet application server\",\"type\":\"standalone\"},{\"name\":\"CANCEL\",\"optional\":true,\"description\":\"Causes only the contents of the autoexec file or %INCLUDE file to be cleared by the %ABORT statement. Other submitted source statements will be executed after the autoexec or %INCLUDE file.\",\"help\":\"CANCEL FILE\",\"type\":\"standalone\"},{\"name\":\"NOLIST\",\"optional\":true,\"description\":\"Suppresses the output of all variables to the SAS log. Requirement: NOLIST must be the last option in the ABORT statement.\",\"type\":\"standalone\"},{\"name\":\"RETURN\",\"optional\":true,\"description\":\"Causes abnormal termination of the current SAS job or session. Results depend on the method of operation: o batch mode and noninteractive mode o stops processing immediately o sends an error message to the SAS log that states that execution was terminated by the RETURN option in the ABORT macro statement o does not execute any subsequent statements or check syntax o returns control to the operating environment with a condition code indicating an error. o windowing environment and interactive line mode\",\"type\":\"standalone\"}]},{\"name\":\"BOUNDS\",\"description\":\"where constraint represents: < number operator > parameter-list < operator number > You can use the BOUNDS statement to define boundary constraints for any independent parameter that has its name specified in the main or subsidiary model specification statements, the PARAMETERS statement, or the INMODEL= data set. You cannot define boundary constraints for dependent parameters created in SAS programming statements or elsewhere. Valid operators are ≤, <, ≥, >, and = or, equivalently, LE, LT, GE, GT, and EQ.\",\"help\":\"BOUNDS constraint &lt;, constraint ...&gt; \"},{\"name\":\"BY\",\"description\":\"You can specify a BY statement with PROC CALIS to obtain separate analyses on observations in groups that are defined by the BY variables. When a BY statement appears, the procedure expects the input data set to be sorted in order of the BY variables. If you specify more than one BY statement, only the last one specified is used.\",\"help\":\"BY &lt;DESCENDING&gt;&lt;NOTSORTED&gt;\",\"arguments\":[{\"name\":\"DESCENDING\",\"optional\":true,\"description\":\"Specifies that the observations are sorted in descending order by the variable that immediately follows the word DESCENDING in the BY statement.\",\"type\":\"standalone\"},{\"name\":\"NOTSORTED\",\"optional\":true,\"description\":\"Specifies that observations are not necessarily sorted in alphabetic or numeric order.\",\"type\":\"standalone\"}]},{\"name\":\"CALL\",\"description\":\"Invokes a SAS CALL routine.\",\"help\":\"CALL routine(parameter-1&lt;, ...parameter-n&gt;)\"},{\"name\":\"COSAN\",\"description\":\"where variable-list is a list of observed variables and term represents either one of the following forms: matrix_definition < matrix_definition ...> <mean_definition> or mean_definition where matrix_definition is of the following form: matrix_name <( number_of_columns < , matrix_type < ,transformation >>)> and mean_definition is one of the following forms: [ / mean_vector ] or [ MEAN=mean_vector] where mean_vector is a vector name. The PROC CALIS statement invokes the COSAN modeling language. You can specify at most one COSAN statement in a model within the scope of either the PROC CALIS statement or a MODEL statement. To complete the COSAN model specification, you might need to add as many MATRIX statements as needed. Optionally, you can provide the variable names for the COSAN model matrices in the VARNAMES statement.\",\"help\":\"COSAN &lt;VAR=variable-list&gt;\",\"arguments\":[{\"name\":\"VAR=\",\"optional\":true,\"description\":\"where variable-list is a list of observed variables and term represents either one of the following forms: matrix_definition < matrix_definition ...> <mean_definition> or mean_definition where matrix_definition is of the following form: matrix_name <( number_of_columns < , matrix_type < ,transformation >>)> and mean_definition is one of the following forms: [ / mean_vector ] or [ MEAN=mean_vector] where mean_vector is a vector name. PROC CALIS supports the following keywords for matrix_type: IDE -- specifies an identity matrix. ZID -- specifies an identity matrix. DIA -- specifies a diagonal matrix. ZDI -- specifies a diagonal matrix. LOW -- specifies a lower triangular matrix. The matrix can be rectangular. UPP -- specifies an upper triangular matrix. The matrix can be rectangular. SYM -- specifies a symmetric matrix. The matrix cannot be rectangular. GEN -- specifies a general rectangular matrix (default).\",\"help\":\"VAR=*variable-list*\",\"type\":\"value\"}]},{\"name\":\"COV\",\"description\":\"where assignment represents var_list < var_list2> <= parameter-spec> The COV statement is a subsidiary model specification statement for the confirmatory FACTOR and LINEQS models. In the LINEQS model, the COV statement defines the covariances among the exogenous variables, including errors and disturbances. In the confirmatory FACTOR model, the COV statement defines the factor covariances. In each assignment of the COV statement, you specify variables in the var_list and the var_list2 lists, followed by the covariance parameter specification in the parameter-spec list. The latter two specifications are optional. You can specify the following five types of the parameters for the covariances: o an unnamed free parameter o an initial value o a fixed value o a free parameter with a name provided o a free parameter with a name and initial value provided\",\"help\":\"COV assignment &lt;, assignment ...&gt; \"},{\"name\":\"DELETE\",\"description\":\"Stops processing the current observation.\",\"help\":\"DELETE\"},{\"name\":\"DETERM\",\"aliases\":[\"STRUCTEQ\"],\"description\":\"where option represents: LABEL | NAME = name The DETERM statement is used to compute the determination coefficient of the listed dependent variables in the model. The precursor of the DETERM statement is the STRUCTEQ statement, which enables you to define the list of the dependent variables of the structural equations. Because the term structural equation is not defined in a unique way, a more generic concept of determination coefficients is revealed by the DETERM statement. You can specify the DETERM statement as many times as you want for computing determination coefficients for the sets of dependent variables of interest. You can label each set of dependent variables by using the LABEL= option. Note that you cannot use the DETERM statement in an MSTRUCT model because there are no dependent variables in this type of model.\",\"help\":\"DETERM &lt;LABEL | NAME = name&gt;\",\"arguments\":[{\"name\":\"LABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"NAME=\"],\"description\":\"Specifies to label each set of dependent variables.\",\"type\":\"value\"}]},{\"name\":\"DO\",\"description\":\"\",\"help\":\"DO &lt;OVER&gt;&lt;&gt;&lt;&gt; ...\",\"arguments\":[{\"name\":\"BY\",\"optional\":true,\"description\":\"Precedes an increment integer (other than 0) or an expression that generates an integer to be added to the value of the index variable in each iteration of the DO loop.\",\"type\":\"standalone\"},{\"name\":\"OVER\",\"optional\":true,\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"TO\",\"optional\":true,\"description\":\"Separates the start and stop integers or expressions that control the number of times the portion of the DATA step between the iterative DO and END statements is processed.\",\"type\":\"standalone\"},{\"name\":\"UNTIL\",\"optional\":true,\"description\":\"...more SAS statements... END\",\"type\":\"standalone\"},{\"name\":\"WHILE\",\"optional\":true,\"description\":\"\",\"type\":\"standalone\"}]},{\"name\":\"EFFPART\",\"description\":\"where effect represents: var_list < direction var_list2> and direction is the direction of the effect, as indicated by one of the following: --->, -->, ->, >, <---, <--, <-, or <. In the EFFPART statement, you select those effects you want to analyze by partitioning the total effects into direct and indirect effects, with estimated standard errors. The EFFPART or TOTEFF option of the PROC CALIS statement also enables you to analyze effects. The difference is that the EFFPART or TOTEFF option displays effects on all endogenous variables, while the EFFPART statement shows only the effects of interest. In addition, the EFFPART statement enables you to arrange the effects in any way you like. Hence, the EFFPART statement offers a more precise and organized way to present various results of effects.\",\"help\":\"EFFPART effect &lt; , effect&gt; \"},{\"name\":\"ELSE\",\"description\":\"If the condition in an IF-THEN statement is false and an ELSE statement is present, then the ELSE action is carried out.\",\"help\":\"ELSE &lt;DO&gt;&lt;IF&gt;&lt;THEN&gt; ...\",\"arguments\":[{\"name\":\"AND\",\"optional\":true,\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"DO\",\"optional\":true,\"description\":\"Action statement in an IF-THEN-ELSE construct.\",\"type\":\"standalone\"},{\"name\":\"IF\",\"optional\":true,\"description\":\"Executes a SAS statement for observations that meet specific conditions.\",\"type\":\"standalone\"},{\"name\":\"NOT\",\"optional\":true,\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"OR\",\"optional\":true,\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"OUTPUT\",\"optional\":true,\"description\":\"Action statement in an IF-THEN-ELSE construct.\",\"type\":\"standalone\"},{\"name\":\"THEN\",\"optional\":true,\"description\":\"If the conditions that are specified in the IF clause are met, the IF-THEN statement executes a SAS statement for observations that are read from a SAS data set, for records in an external file, or for computed values.\",\"type\":\"standalone\"}]},{\"name\":\"END\",\"description\":\"Ends a DO group or SELECT group processing.\",\"help\":\"END\"},{\"name\":\"FACTOR\",\"description\":\"where EFA_options are options for the exploratory factor analysis. In the FACTOR statement, you can specify either EFA_options, CFA_spec, or neither of these. However, you cannot specify both EFA_options and CFA_spec at the same time. If no option is specified or there is at least one EFA_option (exploratory factor analysis option) specified in the FACTOR statement, an exploratory factor model is analyzed. Otherwise, a confirmatory factor model is analyzed with the CFA_spec.\",\"help\":\"FACTOR &lt;COMPONENT&gt;&lt;GAMMA=p&gt;&lt;HEYWOOD&gt; ...\",\"arguments\":[{\"name\":\"COMPONENT\",\"optional\":true,\"aliases\":[\"COMP\"],\"description\":\"Computes a component analysis instead of a factor analysis (the diagonal matrix U in the model is set to 0).\",\"type\":\"standalone\"},{\"name\":\"GAMMA=\",\"optional\":true,\"description\":\"Specifies the orthomax weight used with the option ROTATE=ORTHOMAX. Alternatively, you can use ROTATE=ORTHOMAX(p) with p representing the orthomax weight. There is no restriction on valid values for the orthomax weight, although the most common values are between 0 and the number of variables. The default GAMMA= value is one, resulting in the varimax rotation.\",\"help\":\"GAMMA=*p*\",\"type\":\"value\"},{\"name\":\"HEYWOOD\",\"optional\":true,\"aliases\":[\"HEY\"],\"description\":\"Constrains the diagonal elements of U to be nonnegative. Equivalently, you can constrain these elements to positive values by the BOUNDS statement.\",\"type\":\"standalone\"},{\"name\":\"N=\",\"optional\":true,\"description\":\"Specifies the number of first-order factors or components. The number of factors (n) should not exceed the number of variables (p) in the analysis.\",\"help\":\"N=*n*\",\"type\":\"value\"},{\"name\":\"NORM=\",\"optional\":true,\"description\":\"Kaiser-normalizes the rows of the factor pattern for rotation. The default is KAISER.\",\"help\":\"NORM=KAISER | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"KAISER\",\"description\":\"Has exactly the same effect as the NORM option.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"Turns off the normalization\",\"type\":\"standalone\"}]},{\"name\":\"RCONVERGE=\",\"optional\":true,\"aliases\":[\"RCONV=\"],\"description\":\"Specifies the convergence criterion for rotation cycles. Rotation stops when the scaled change of the simplicity function value is less than the RCONVERGE= value.\",\"help\":\"RCONVERGE=*p*\",\"type\":\"value\"},{\"name\":\"RITER=\",\"optional\":true,\"description\":\"Specifies the maximum number of cycles i for factor rotation. The default i is the greater of 10 times the number of variables and 100.\",\"help\":\"RITER=*i*\",\"type\":\"value\"},{\"name\":\"ROTATE=\",\"optional\":true,\"description\":\"Specifies an orthogonal or oblique rotation of the initial factor solution. Although ROTATE=PRINCIPAL is actually not a rotation method, it is put here for convenience. By default, ROTATE=NONE.\",\"help\":\"ROTATE=BIQUARTIMAX | EQUAMAX | FACTORPARSIMAX | NONE | ORTHCF(p1,p2) | ORTHGENCF(p1,p2,p3,p4) | ORTHOMAX&lt;(p1)&gt; | PARSIMAX | PRINCIPAL | QUARTIMAX | VARIMAX | BIQUARTIMIN | COVARIMIN | OBBIQUARTIMAX | OBEQUAMAX | OBFACTORPARSIMAX | OBLICF(p1,p2) | OBLIGENCF(p1,p2,p3,p4) | OBLIMIN&lt;(p1)&gt; | OBPARSIMAX | OBQUARTIMAX | OBVARIMAX | QUARTIMIN|QMIN\",\"type\":\"choice\",\"arguments\":[{\"name\":\"BIQUARTIMAX\",\"description\":\"Specifies orthogonal biquartimax rotation.\",\"type\":\"standalone\"},{\"name\":\"EQUAMAX\",\"description\":\"Specifies orthogonal equamax rotation.\",\"type\":\"standalone\"},{\"name\":\"FACTORPARSIMAX\",\"description\":\"Specifies orthogonal factor parsimax rotation.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"Specifies that no rotation be performed,\",\"type\":\"standalone\"},{\"name\":\"ORTHCF\",\"description\":\"Specifies the orthogonal Crawford-Ferguson rotation with the weights p1 and p2 for variable parsimony and factor parsimony, respectively.\",\"help\":\"ORTHCF(p1,p2)\",\"type\":\"standalone\"},{\"name\":\"ORTHGENCF\",\"description\":\"Specifies the orthogonal generalized Crawford-Ferguson rotation with the four weights p1, p2, p3, and p4.\",\"help\":\"ORTHGENCF(p1,p2,p3,p4)\",\"type\":\"standalone\"},{\"name\":\"ORTHOMAX\",\"description\":\"Specifies the orthomax rotation with orthomax weight p1.\",\"help\":\"ORTHOMAX&lt;(p1)&gt;\",\"type\":\"standalone\"},{\"name\":\"PARSIMAX\",\"description\":\"Specifies orthogonal parsimax rotation.\",\"type\":\"standalone\"},{\"name\":\"PRINCIPAL\",\"description\":\"Specifies a principal axis rotation.\",\"type\":\"standalone\"},{\"name\":\"QUARTIMAX\",\"description\":\"Specifies orthogonal quartimax rotation.\",\"type\":\"standalone\"},{\"name\":\"VARIMAX\",\"description\":\"Specifies orthogonal varimax rotation.\",\"type\":\"standalone\"},{\"name\":\"BIQUARTIMIN\",\"description\":\"Specifies biquartimin rotation.\",\"type\":\"standalone\"},{\"name\":\"COVARIMIN\",\"description\":\"Specifies covarimin rotation.\",\"type\":\"standalone\"},{\"name\":\"OBBIQUARTIMAX\",\"description\":\"Specifies oblique biquartimax rotation.\",\"type\":\"standalone\"},{\"name\":\"OBEQUAMAX\",\"description\":\"Specifies oblique equamax rotation.\",\"type\":\"standalone\"},{\"name\":\"OBFACTORPARSIMAX\",\"description\":\"Specifies oblique factor parsimax rotation.\",\"type\":\"standalone\"},{\"name\":\"OBLICF\",\"description\":\"Specifies the oblique Crawford-Ferguson rotation (Crawford and Ferguson 1970) with the weights p1 and p2 for variable parsimony and factor parsimony, respectively.\",\"help\":\"OBLICF(p1,p2)\",\"type\":\"standalone\"},{\"name\":\"OBLIGENCF\",\"description\":\"Specifies the oblique generalized Crawford-Ferguson rotation with the four weights p1, p2, p3, and p4.\",\"help\":\"OBLIGENCF(p1,p2,p3,p4)\",\"type\":\"standalone\"},{\"name\":\"OBLIMIN\",\"description\":\"Specifies the oblimin rotation with oblimin weight p1.\",\"help\":\"OBLIMIN&lt;(p1)&gt;\",\"type\":\"standalone\"},{\"name\":\"OBPARSIMAX\",\"description\":\"Specifies oblique parsimax rotation.\",\"type\":\"standalone\"},{\"name\":\"OBQUARTIMAX\",\"description\":\"Specifies oblique quartimax rotation. This is the same as the QUARTIMIN method.\",\"type\":\"standalone\"},{\"name\":\"OBVARIMAX\",\"description\":\"Specifies oblique varimax rotation.\",\"type\":\"standalone\"},{\"name\":\"QUARTIMIN\",\"aliases\":[\"QMIN\"],\"description\":\"Specifies quartimin rotation. It is the same as the oblique quartimax method.\",\"type\":\"standalone\"}]},{\"name\":\"TAU=\",\"optional\":true,\"description\":\"Specifies the oblimin weight used with the option ROTATE=OBLIMIN. Alternatively, you can use ROTATE=OBLIMIN(p) with p representing the oblimin weight. There is no restriction on valid values for the oblimin weight, although for practical purposes a negative or zero value is recommended. The default TAU= value is 0, resulting in the quartimin rotation.\",\"help\":\"TAU=*p*\",\"type\":\"value\"}]},{\"name\":\"FITINDEX\",\"description\":\"You can use the FITINDEX statement to set the options for computing and displaying the fit indices, or to output the fit indices. All but the OFF= and ON= options of the FITINDEX statement are also available in the PROC CALIS statement. The options set in the FITINDEX statement will overwrite those set in the PROC CALIS statement.\",\"help\":\"FITINDEX &lt;ALPHAECV=α&gt;&lt;ALPHARMS=α&gt;&lt;CHICORRECT=&lt;EQVARCOV | CIRCULARITY | EQCOVMAT&gt;&gt; ...\",\"arguments\":[{\"name\":\"ALPHAECV=\",\"optional\":true,\"description\":\"Specifies a (1 - α)100% confidence interval, 0 ≤ α ≤ 1, for the Browne and Cudeck (1993) expected cross validation index (ECVI). The default value is , which corresponds to a 90% confidence interval for the ECVI.\",\"type\":\"value\"},{\"name\":\"ALPHARMS=\",\"optional\":true,\"description\":\"Specifies a (1 - α)100% confidence interval, 0 ≤ α ≤ 1, for the Steiger and Lind (1980) root mean squared error of approximation (RMSEA) coefficient. The default value is , which corresponds to a 90% confidence interval for the RMSEA.\",\"type\":\"value\"},{\"name\":\"CHICORRECT=\",\"optional\":true,\"aliases\":[\"CHICORR=\"],\"description\":\"Specifies a correction factor c for the chi-square statistics for model fit.\",\"help\":\"CHICORRECT=EQVARCOV | CIRCULARITY | EQCOVMAT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"EQVARCOV\",\"description\":\"Specifies the correction factor due to Box (1949) for testing equal variances and equal covariances in a covariance matrix.\",\"type\":\"standalone\"},{\"name\":\"CIRCULARITY\",\"description\":\"Specifies the correction factor due to Mauchly (1940) for testing circularity or Huynh and Feldt Type H matrix.\",\"type\":\"standalone\"},{\"name\":\"EQCOVMAT\",\"description\":\"Specifies the correction factor due to Box (1949) for testing equality of covariance matrices.\",\"type\":\"standalone\"}]},{\"name\":\"CLOSEFIT=\",\"optional\":true,\"description\":\"Defines the criterion value p for indicating a close fit. The smaller the better fit. The default value for close fit is 0.05.\",\"help\":\"CLOSEFIT=*p*\",\"type\":\"value\"},{\"name\":\"DFREDUCE=\",\"optional\":true,\"aliases\":[\"DFRED=\"],\"description\":\"Reduces the degrees of freedom of the chi-square test by i.\",\"type\":\"value\"},{\"name\":\"NOADJDF\",\"optional\":true,\"description\":\"Turns off the automatic adjustment of degrees of freedom when there are active constraints in the analysis.\",\"type\":\"standalone\"},{\"name\":\"NOINDEXTYPE\",\"optional\":true,\"description\":\"Disables the display of index types in the fit summary table.\",\"type\":\"standalone\"},{\"name\":\"OFFLIST=\",\"optional\":true,\"aliases\":[\"OFF=\"],\"description\":\"Turns off the printing of one or more fit indices or modeling information as indicated by names, where a name represents a fit index, a group of fit indices, or modeling information.\",\"type\":\"value\"},{\"name\":\"ONLIST=\",\"optional\":true,\"aliases\":[\"ON=\"],\"description\":\"Turns on the printing of one or more fit indices or modeling information as indicated by names, where a name represents a fit index, a group of fit indices, or modeling information.\",\"help\":\"ONLIST=ONLY\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ONLY\",\"type\":\"standalone\"}]},{\"name\":\"OUTFIT=\",\"optional\":true,\"description\":\"Creates an output data set that contains the values of the fit indices.\",\"help\":\"OUTFIT=*SAS-data-set*\",\"type\":\"dataSet\"}]},{\"name\":\"FREQ\",\"description\":\"If one variable in your data set represents the frequency of occurrence for the other values in the observation, specify the variable’s name in a FREQ statement. PROC CALIS then treats the data set as if each observation appears ni times, where ni is the value of the FREQ variable for observation i.\",\"help\":\"FREQ variable\"},{\"name\":\"GOTO\",\"description\":\"Jumps to a new statement.\",\"help\":\"GOTO label\"},{\"name\":\"GROUP\",\"description\":\"where i is an assigned group number between 1 and 9999, inclusively. The GROUP statement signifies the beginning of a group specification block and designates a group number for the group. All subsidiary group specification statements after a GROUP statement belong in that group until another MODEL or GROUP statement is used. The subsidiary group specification statements refer to one of the following four statements: o FREQ statement o PARTIAL statement o VAR statement o WEIGHT statement\",\"help\":\"GROUP &lt;DATA=SAS-data-set&gt;&lt;INWGT&lt;(INV)&gt;=SAS-data-set&gt;&lt;LABEL= | NAME=name&gt; ...\",\"arguments\":[{\"name\":\"BIASKUR\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Computes univariate skewness and kurtosis by formulas uncorrected for bias.\",\"type\":\"standalone\"},{\"name\":\"DATA=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies an input data set that can be an ordinary SAS data set or a specially structured TYPE=CORR, TYPE=COV, TYPE=UCORR, TYPE=UCOV, TYPE=SSCP, or TYPE=FACTOR SAS data set.\",\"help\":\"DATA=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"EDF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"DFE=\"],\"description\":\"Makes the effective number of observations n+i, where i is 0 if the NOINT, UCORR, or UCOV option is specified without the AUGMENT option or where i is 1 otherwise.\",\"type\":\"value\"},{\"name\":\"INWGT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies an input data set that contains the weight matrix W used in generalized least squares (GLS), weighted least squares (WLS, ADF), or diagonally weighted least squares (DWLS) estimation, if the INV option is specified.\",\"type\":\"value\"},{\"name\":\"INWGTINV\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies that the INWGT= data set contains the inverse of the weight matrix, rather than the weight matrix itself. This option is effective only with an input weight matrix specified in the INWGT= data set and with the generalized least squares (GLS), weighted least squares (WLS or ADF), or diagonally weighted least squares (DWLS) estimation.\",\"type\":\"standalone\"},{\"name\":\"KURTOSIS\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"KU\"],\"description\":\"Computes and displays univariate kurtosis and skewness, various coefficients of multivariate kurtosis, and the numbers of observations that contribute most to the normalized multivariate kurtosis.\",\"type\":\"standalone\"},{\"name\":\"LABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies a label for the current group.\",\"type\":\"value\"},{\"name\":\"NOBS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the number of observations.\",\"type\":\"value\"},{\"name\":\"OUTSTAT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Creates an output data set containing the BY-group variables, the analyzed covariance or correlation matrices, and the predicted and residual covariance or correlation matrices of the analysis.\",\"help\":\"OUTSTAT=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"OUTWGT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Creates an output data set containing the weight matrix W (or its inverse) used in the estimation process.\",\"help\":\"OUTWGT=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"PCORR\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays the covariance or correlation matrix that is analyzed and the predicted model covariance or correlation matrix.\",\"type\":\"standalone\"},{\"name\":\"PLOTS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"PLOT=\"],\"description\":\"Syntax: PLOTS | PLOT <= plot-request> PLOTS | PLOT <= ( plot-request < ...plot-request> ) >\",\"help\":\"PLOTS=ALL | NONE | RESIDUALS\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ALL\",\"followsDelimiter\":\"/\",\"description\":\"All available plots\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"followsDelimiter\":\"/\",\"description\":\"No ODS graphical plots\",\"type\":\"standalone\"},{\"name\":\"RESIDUALS\",\"followsDelimiter\":\"/\",\"description\":\"Distribution of residuals\",\"type\":\"standalone\"}]},{\"name\":\"PWEIGHT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays the weight matrix W used in the estimation. The weight matrix is displayed after the WRIDGE= and WPENALTY= options are applied to it.\",\"type\":\"standalone\"},{\"name\":\"RDF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"DFR=\"],\"description\":\"Makes the effective number of observations the actual number of observations minus the RDF= value.\",\"type\":\"value\"},{\"name\":\"RESIDUAL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"RES=\"],\"description\":\"Displays the raw and normalized residual covariance matrices, the rank order of the largest residuals, and the bar charts of residual tallies. This information is displayed by default when you specify the PRINT option. Use the RESIDUAL(TALLY) or RESIDUAL(TALLY)= option if you don't want SAS to replace bar charts of residual tallies with graphical histograms showing residual distributions.\",\"help\":\"RESIDUAL=NORM | VARSTAND | ASYSTAND\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NORM\",\"followsDelimiter\":\"/\",\"description\":\"Normalized residuals\",\"type\":\"standalone\"},{\"name\":\"VARSTAND\",\"followsDelimiter\":\"/\",\"description\":\"Variance standardized residuals\",\"type\":\"standalone\"},{\"name\":\"ASYSTAND\",\"followsDelimiter\":\"/\",\"description\":\"Asymptotically standardized residuals\",\"type\":\"standalone\"}]},{\"name\":\"RIDGE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Defines a ridge factor r for the diagonal of the correlation matrix S that is analyzed.\",\"type\":\"value\"},{\"name\":\"SIMPLE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays means, standard deviations, skewness, and univariate kurtosis if available.\",\"type\":\"standalone\"},{\"name\":\"VARDEF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the divisor to use in the calculation of covariances and standard deviations.\",\"help\":\"VARDEF=DF | N | WDF | WEIGHT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DF\",\"followsDelimiter\":\"/\",\"description\":\"Degrees of freedom\",\"type\":\"standalone\"},{\"name\":\"N\",\"followsDelimiter\":\"/\",\"description\":\"Number of observations\",\"type\":\"standalone\"},{\"name\":\"WDF\",\"followsDelimiter\":\"/\",\"description\":\"Sum of weights minus one\",\"type\":\"standalone\"},{\"name\":\"WEIGHT\",\"followsDelimiter\":\"/\",\"description\":\"Sum of weights\",\"type\":\"standalone\"}]},{\"name\":\"WPENALTY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"WPEN=\"],\"description\":\"Specifies the penalty weight r ≥ 0 for the WLS and DWLS fit of the diagonal elements of a correlation matrix (constant 1s).\",\"type\":\"value\"},{\"name\":\"WRIDGE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Defines a ridge factor r for the diagonal of the weight matrix W used in GLS, WLS, or DWLS estimation.\",\"help\":\"WRIDGE=*r*\",\"type\":\"value\"}]},{\"name\":\"IF\",\"description\":\"\",\"help\":\"IF &lt;DO&gt;&lt;THEN&gt;&lt;WHEN&gt; ...\",\"arguments\":[{\"name\":\"AND\",\"optional\":true,\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"DO\",\"optional\":true,\"description\":\"Action statement in an IF-THEN construct.\",\"type\":\"standalone\"},{\"name\":\"GO\",\"optional\":true,\"aliases\":[\"GOTO\"],\"description\":\"Jumps to a new statement.\",\"help\":\"GO TO\",\"type\":\"standalone\"},{\"name\":\"NOT\",\"optional\":true,\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"OR\",\"optional\":true,\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"OUTPUT\",\"optional\":true,\"description\":\"Action statement in an IF-THEN construct.\",\"type\":\"standalone\"},{\"name\":\"PUT\",\"optional\":true,\"description\":\"Action statement in an IF-THEN construct.\",\"type\":\"standalone\"},{\"name\":\"SET\",\"optional\":true,\"description\":\"Reads an observation from one or more SAS data sets.\",\"type\":\"standalone\"},{\"name\":\"STOP\",\"optional\":true,\"description\":\"Action statement in an IF-THEN construct. Stops execution of the current DATA step.\",\"type\":\"standalone\"},{\"name\":\"THEN\",\"optional\":true,\"description\":\"If the conditions that are specified in the IF clause are met, the IF-THEN statement executes a SAS statement for observations that are read from a SAS data set, for records in an external file, or for computed values.\",\"type\":\"standalone\"},{\"name\":\"WHEN\",\"optional\":true,\"description\":\"WHEN statement in an IF-THEN-WHEN construct.\",\"type\":\"standalone\"}]},{\"name\":\"LINCON\",\"description\":\"where constraint represents one of the following: o number operator linear-term o linear-term operator number and linear-term is <+|-><coefficient*> parameter <<+|-><coefficient*> parameter ...> The LINCON statement specifies a set of linear equality or inequality constraints, which must be separated by commas. Each linear constraint i in the statement consists of a linear combination ∑jaijxj of a subset of the n parameters xj, j=1,...,n and a constant value bi separated by a comparison operator. Valid operators are ≤, <, ≥, >, and = or, equivalently, LE, LT, GE, GT, and EQ. PROC CALIS cannot enforce the strict inequalities < or >. Note that the coefficients aij in the linear combination must be constant numbers and must be followed by an asterisk and the name of a parameter (that is, listed in the PARMS, main, or subsidiary model specification statements). The following is an example of the LINCON statement that sets a linear constraint on parameters x1 and x2: lincon x1 + 3 * x2 <= 1; Although you can easily express boundary constraints in LINCON statements, for many applications it is much more convenient to specify both the BOUNDS and the LINCON statements in the same PROC CALIS call.\",\"help\":\"LINCON constraint &lt;, constraint ...&gt; \"},{\"name\":\"LINEQS\",\"description\":\"where equation represents dependent = term < + term ...> and each term represents one of the following: o coefficient-name < (number) > variable-name o prefix-name < (number) > variable-name o < number > variable-name The LINEQS statement is a main model specification statement that invokes the LINEQS modeling language. You can specify at most one LINEQS statement in a model, within the scope of either the PROC CALIS statement or a MODEL statement. To completely specify a LINEQS model, you might need to add some subsidiary model specification statements such as the VARIANCE, COV, and MEAN statements.\",\"help\":\"LINEQS equation &lt;, equation ...&gt; \"},{\"name\":\"LINK\",\"description\":\"Directs program execution immediately to the statement label that is specified and, if followed by a RETURN statement, returns execution to the statement that follows the LINK statement.\",\"help\":\"LINK statement-label\"},{\"name\":\"LISMOD\",\"description\":\"where var_lists represent one or more of the following: YVAR | YV | Y = variables XVAR | XV | X = variables ETAVAR | ETAV | ETA = variables XIVAR | XIV | XI | KSIVAR | KSIV | KSI = variables LISMOD stands for LISrel MODeling, where LISREL is the program developed by Jöreskog and Sörbom (1988). Like the original implementation of LISREL, LISMOD uses a matrix specification interface. To complete the LISMOD specification, you might need to add as many MATRIX statements as needed, as shown in the following statement structure for the LISMOD model: LISMOD var_lists ; MATRIX matrix-name parameters-in-matrix ; Repeat the MATRIX statement as needed ;\",\"help\":\"LISMOD &lt;var_lists&gt; \"},{\"name\":\"LMTESTS\",\"description\":\"where option represents one of the following: display-option test-set and test-set represents one of the following: set-name = regions set-name = regions where set-name is the name of the set of Lagrange multiplier (LM) tests defined by the regions that follow after the equal sign and regions are keywords denoting specific sets of parameters in the model. You can use the LMTESTS statement to set display-options or to customize the test-sets for the LM tests. The LMTESTS statement is one of the model analysis statements. It can be used within the scope of the CALIS statement so that the options will apply to all models. It can also be used within the scope of each MODEL statement so that the options will apply only locally. Therefore, different models within a CALIS run can have very different LMTESTS options.\",\"help\":\"LMTESTS &lt;DEFAULT&gt;&lt;MAXRANK&gt;&lt;NODEFAULT&gt; ...\",\"arguments\":[{\"name\":\"DEFAULT\",\"optional\":true,\"description\":\"Conducts the default sets of LM tests for freeing fixed parameters in the model.\",\"type\":\"standalone\"},{\"name\":\"LMMAT\",\"optional\":true,\"description\":\"Prints the sets of LM tests in matrix form, in addition to the normal LM test results.\",\"type\":\"standalone\"},{\"name\":\"MAXRANK\",\"optional\":true,\"description\":\"Sets the maximum number of rankings within a set of LM tests.\",\"type\":\"standalone\"},{\"name\":\"NODEFAULT\",\"optional\":true,\"description\":\"Turns off the default sets of LM tests for freeing fixed parameters in the model.\",\"type\":\"standalone\"},{\"name\":\"NORANK\",\"optional\":true,\"description\":\"Turns off the ranking of the LM tests.\",\"type\":\"standalone\"}]},{\"name\":\"MATRIX\",\"description\":\"MATRIX statement specifies the matrix elements (locations) and their parameters. Parameters can be fixed or free, with or without initial estimates. The matrix-name indicates the matrix to specify in the MATRIX statement. The location indicates the starting row and column numbers of the matrix being specified and the parameter-spec is a list of free or fixed parameters for the elements that are indicated by the location. The MATRIX statement is a subsidiary model specification statement of the COSAN, LISMOD, and MSTRUCT modeling languages. You might need to use the MATRIX statements as many times as needed for specifying your model. However, you can use the MATRIX statement at most once for each distinct model matrix.\",\"help\":\"MATRIX matrix-name &lt;location&gt; = list &lt;, location = list ...&gt; \"},{\"name\":\"MEAN\",\"description\":\"where assignment represents: var_list <= parameter-spec> The MEAN statement specifies the mean or intercept parameters in connection with the FACTOR, LINEQS, and PATH modeling languages. With the MEAN statement specification, PROC CALIS analyzes the mean structures in addition to the covariance structures. In each assignment of the MEAN statement, you list the var_list that you want to specify for their means or intercepts. Optionally, you can provide a list of parameter specifications in a parameter-spec after an equal sign for each var_list. The syntax of the MEAN statement is exactly the same as that of the VARIANCE statement.\",\"help\":\"MEAN assignment &lt;, assignment ...&gt; \"},{\"name\":\"MODEL\",\"description\":\"where i is an assigned model number between 1 and 9999, inclusively. A MODEL statement signifies the beginning of a model specification block and designates a model number for the model. All main and subsidiary model specification statements after a MODEL statement belong in that model until another MODEL or GROUP statement is encountered.\",\"help\":\"MODEL &lt;CORRELATION&gt;&lt;GROUP= | GROUPS=int-list&gt;&lt;LABEL= | NAME=name&gt; ...\",\"arguments\":[{\"name\":\"BIASKUR\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Computes univariate skewness and kurtosis by formulas uncorrected for bias.\",\"type\":\"standalone\"},{\"name\":\"CORRELATION\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"CORR\"],\"description\":\"Analyzes the correlation matrix instead of the default covariance matrix.\",\"type\":\"standalone\"},{\"name\":\"COVARIANCE\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"COV\"],\"description\":\"Analyzes the covariance matrix.\",\"type\":\"standalone\"},{\"name\":\"DEMPHAS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"DE=\"],\"description\":\"Changes the initial values of all variance parameters by the relationship: snew = r(sold|+1) where snew is the new initial value and sold is the original initial value.\",\"type\":\"value\"},{\"name\":\"EDF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"DFE=\"],\"description\":\"Makes the effective number of observations n+i, where i is 0 if the NOINT, UCORR, or UCOV option is specified without the AUGMENT option or where i is 1 otherwise.\",\"type\":\"value\"},{\"name\":\"EFFPART\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"PARTEFF\",\"TOTEFF\",\"TE\"],\"description\":\"Computes and displays total, direct, and indirect effects for the unstandardized and standardized estimation results.\",\"type\":\"standalone\"},{\"name\":\"EXTENDPATH\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"GENPATH\"],\"description\":\"Displays the extended path estimates such as the variances, covariances, means, and intercepts in the table that contains the ordinary path effect (coefficient) estimates. This option applies to the PATH model only.\",\"type\":\"standalone\"},{\"name\":\"GROUP=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"GROUPS=\"],\"description\":\"Specifies a list of integers int-list of group numbers representing the groups to be fitted by the model.\",\"type\":\"value\"},{\"name\":\"INEST=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies an input data set that contains initial estimates for the parameters used in the optimization process and can also contain boundary and general linear constraints on the parameters.\",\"type\":\"value\"},{\"name\":\"INMODEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"INRAM=\"],\"description\":\"Specifies an input data set that contains in RAM list form all information needed to specify an analysis model.\",\"type\":\"value\"},{\"name\":\"INWGTINV\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies that the INWGT= data set contains the inverse of the weight matrix, rather than the weight matrix itself. This option is effective only with an input weight matrix specified in the INWGT= data set and with the generalized least squares (GLS), weighted least squares (WLS or ADF), or diagonally weighted least squares (DWLS) estimation.\",\"type\":\"standalone\"},{\"name\":\"KURTOSIS\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"KU\"],\"description\":\"Computes and displays univariate kurtosis and skewness, various coefficients of multivariate kurtosis, and the numbers of observations that contribute most to the normalized multivariate kurtosis.\",\"type\":\"standalone\"},{\"name\":\"LABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"NAME=\"],\"description\":\"Specifies a label for the model. You can use any valid SAS names up to 256 characters for labels. You can also use quote strings for labels.\",\"type\":\"value\"},{\"name\":\"MEANSTR\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Invokes the analysis of mean structures.\",\"type\":\"standalone\"},{\"name\":\"MODIFICATION\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"MOD\"],\"description\":\"Computes and displays Lagrange multiplier test indices for constant parameter constraints, equality parameter constraints, and active boundary constraints, as well as univariate and multivariate Wald test indices.\",\"type\":\"standalone\"},{\"name\":\"NOBS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the number of observations.\",\"type\":\"value\"},{\"name\":\"NOMEANSTR\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Deactivates the inherited MEANSTR option.\",\"type\":\"standalone\"},{\"name\":\"NOMOD\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Suppresses the computation of modification indices. The NOMOD option is useful in connection with the PALL option because it saves computing time.\",\"type\":\"standalone\"},{\"name\":\"NOORDERSPEC\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Prints the model results in the order they appear in the input specifications.\",\"type\":\"standalone\"},{\"name\":\"NOPARMNAME\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Suppresses the printing of parameter names in the model results.\",\"type\":\"standalone\"},{\"name\":\"NOSTAND\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Suppresses the printing of standardized results. The default is to print the standardized results.\",\"type\":\"standalone\"},{\"name\":\"NOSTDERR\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies that standard errors should not be computed. Standard errors are not computed for unweighted least squares (ULS) or diagonally weighted least squares (DWLS) estimation.\",\"type\":\"standalone\"},{\"name\":\"ORDERSPEC\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Arranges some model results by the types of parameters.\",\"type\":\"standalone\"},{\"name\":\"OUTEST=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Creates an output data set containing the parameter estimates, their gradient, Hessian matrix, and boundary and linear constraints.\",\"help\":\"OUTEST=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"OUTMODEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"OUTRAM=\"],\"description\":\"Creates an output data set that contains the model information for the analysis, the parameter estimates, and their standard errors.\",\"type\":\"value\"},{\"name\":\"PARMNAME\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Prints the parameter names in the model results.\",\"type\":\"standalone\"},{\"name\":\"PCORR\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays the covariance or correlation matrix that is analyzed and the predicted model covariance or correlation matrix.\",\"type\":\"standalone\"},{\"name\":\"PDETERM\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays three coefficients of determination: the determination of all equations (DETAE), the determination of the structural equations (DETSE), and the determination of the manifest variable equations (DETMV).\",\"type\":\"standalone\"},{\"name\":\"PESTIM\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays the parameter estimates. In some cases, this includes displaying the standard errors and t values.\",\"type\":\"standalone\"},{\"name\":\"PINITIAL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays the model specification with initial estimates and the vector of initial values.\",\"type\":\"standalone\"},{\"name\":\"PLATCOV\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays the following: o the estimates of the covariances among the latent variables o the estimates of the covariances between latent and manifest variables\",\"type\":\"standalone\"},{\"name\":\"PLOTS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"PLOT=\"],\"description\":\"Syntax: PLOTS | PLOT <= plot-request> PLOTS | PLOT <= ( plot-request < ...plot-request> ) >\",\"help\":\"PLOTS=ALL | NONE | RESIDUALS\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ALL\",\"followsDelimiter\":\"/\",\"description\":\"All available plots\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"followsDelimiter\":\"/\",\"description\":\"No ODS graphical plots\",\"type\":\"standalone\"},{\"name\":\"RESIDUALS\",\"followsDelimiter\":\"/\",\"description\":\"Distribution of residuals\",\"type\":\"standalone\"}]},{\"name\":\"PRIMAT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays parameter estimates, approximate standard errors, and t values in matrix form if you specify the analysis model in the RAM or LINEQS statement.\",\"type\":\"standalone\"},{\"name\":\"PWEIGHT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays the weight matrix W used in the estimation. The weight matrix is displayed after the WRIDGE= and WPENALTY= options are applied to it.\",\"type\":\"standalone\"},{\"name\":\"RDF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"DFR=\"],\"description\":\"Makes the effective number of observations the actual number of observations minus the RDF= value.\",\"type\":\"value\"},{\"name\":\"READADDPARM\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"READADD\"],\"description\":\"Inputs the generated default parameters (for example, observations with _TYPE_=ADDPCOV, ADDMEAN, or ADDPVAR) in the INMODEL= data set as if they were part of the original model specification.\",\"type\":\"standalone\"},{\"name\":\"RESIDUAL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"RES=\"],\"description\":\"Displays the raw and normalized residual covariance matrices, the rank order of the largest residuals, and the bar charts of residual tallies. This information is displayed by default when you specify the PRINT option. Use the RESIDUAL(TALLY) or RESIDUAL(TALLY)= option if you don't want SAS to replace bar charts of residual tallies with graphical histograms showing residual distributions.\",\"help\":\"RESIDUAL=NORM | VARSTAND | ASYSTAND\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NORM\",\"followsDelimiter\":\"/\",\"description\":\"Normalized residuals\",\"type\":\"standalone\"},{\"name\":\"VARSTAND\",\"followsDelimiter\":\"/\",\"description\":\"Variance standardized residuals\",\"type\":\"standalone\"},{\"name\":\"ASYSTAND\",\"followsDelimiter\":\"/\",\"description\":\"Asymptotically standardized residuals\",\"type\":\"standalone\"}]},{\"name\":\"RIDGE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Defines a ridge factor r for the diagonal of the correlation matrix S that is analyzed.\",\"type\":\"value\"},{\"name\":\"SIMPLE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays means, standard deviations, skewness, and univariate kurtosis if available.\",\"type\":\"standalone\"},{\"name\":\"STDERR\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays approximate standard errors if estimation methods other than unweighted least squares (ULS) or diagonally weighted least squares (DWLS) are used (and the NOSTDERR option is not specified).\",\"type\":\"standalone\"},{\"name\":\"VARDEF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the divisor to use in the calculation of covariances and standard deviations.\",\"help\":\"VARDEF=DF | N | WDF | WEIGHT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DF\",\"followsDelimiter\":\"/\",\"description\":\"Degrees of freedom\",\"type\":\"standalone\"},{\"name\":\"N\",\"followsDelimiter\":\"/\",\"description\":\"Number of observations\",\"type\":\"standalone\"},{\"name\":\"WDF\",\"followsDelimiter\":\"/\",\"description\":\"Sum of weights minus one\",\"type\":\"standalone\"},{\"name\":\"WEIGHT\",\"followsDelimiter\":\"/\",\"description\":\"Sum of weights\",\"type\":\"standalone\"}]},{\"name\":\"WPENALTY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"WPEN=\"],\"description\":\"Specifies the penalty weight r ≥ 0 for the WLS and DWLS fit of the diagonal elements of a correlation matrix (constant 1s).\",\"type\":\"value\"},{\"name\":\"WRIDGE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Defines a ridge factor r for the diagonal of the weight matrix W used in GLS, WLS, or DWLS estimation.\",\"help\":\"WRIDGE=*r*\",\"type\":\"value\"}]},{\"name\":\"MSTRUCT\",\"description\":\"MSTRUCT stands for matrix structures. As opposed to other modeling languages, in which the mean and covariance structures are implied from paths, equations, or complicated model matrix computations, the MSTRUCT language is for direct structured mean and covariance models. In the MSTRUCT statement, you define the list of variables. You can use MATRIX statements to specify the parameters in the mean and covariance structures: MSTRUCT variables ; MATRIX _COV_ parameters-in-matrix ; MATRIX _MEAN_ parameters-in-matrix ; You use the MATRIX _COV_ statement to specify the covariance and variance parameters in the structured covariance matrix. When applicable, you use the MATRIX _MEAN_ statement to specify the parameters in the structured mean vector. Each of these matrices can be specified no more than once within a model.\",\"help\":\"MSTRUCT &lt;VAR=&gt;\",\"arguments\":[{\"name\":\"VAR=\",\"optional\":true,\"description\":\"Defines a list of variables.\",\"type\":\"value\"}]},{\"name\":\"NLINCON\",\"description\":\"where constraint represents one of the following: o number operator variable-list number operator o variable-list operator number o number operator variable-list You can specify nonlinear equality and inequality constraints with the NLINCON or NLC statement. The QUANEW optimization subroutine is used when you specify nonlinear constraints by using the NLINCON statement. The syntax of the NLINCON statement is similar to that of the BOUNDS statement, except that the NLINCON statement must contain the names of variables that are defined in the program statements and are defined as continuous functions of parameters in the model. They must not be confused with the variables in the data set.\",\"help\":\"NLINCON | NLC constraint &lt;, constraint ...&gt; \"},{\"name\":\"NLOPTIONS\",\"description\":\"Many options that are available in SAS/OR PROC NLP can be specified for the optimization subroutines in PROC CALIS by using the NLOPTIONS statement. The NLOPTIONS statement provides more displayed and file output control on the results of the optimization process, and it permits the same set of termination criteria as in PROC NLP.\",\"help\":\"NLOPTIONS &lt;ABSCONV= | ABSTOL=r&gt;&lt;ABSFCONV=r &lt;n&gt; | ABSFTOL=r&lt;n&gt;&gt;&lt;ABSGCONV= | ABSGTOL=r &lt;n&gt;&gt; ...\",\"arguments\":[{\"name\":\"ABSCONV=\",\"optional\":true,\"aliases\":[\"ABSTOL=\"],\"description\":\"Specifies an absolute function convergence criterion.\",\"type\":\"value\"},{\"name\":\"ABSFCONV=\",\"optional\":true,\"aliases\":[\"ABSFTOL=\"],\"description\":\"Specifies an absolute function convergence criterion.\",\"type\":\"value\"},{\"name\":\"ABSGCONV=\",\"optional\":true,\"aliases\":[\"ABSGTOL=\"],\"description\":\"Specifies an absolute gradient convergence criterion. Termination requires the maximum absolute gradient element to be small.\",\"type\":\"value\"},{\"name\":\"ABSXCONV=\",\"optional\":true,\"aliases\":[\"ABSXTOL=\"],\"description\":\"Specifies the absolute parameter convergence criterion. Termination requires a small Euclidean distance between successive parameter vectors.\",\"type\":\"value\"},{\"name\":\"ASINGULAR=\",\"optional\":true,\"aliases\":[\"ASING=\"],\"description\":\"Specifies an absolute singularity criterion r, r > 0, for the inversion of the information matrix, which is needed to compute the covariance matrix.\",\"type\":\"value\"},{\"name\":\"DAMPSTEP=\",\"optional\":true,\"aliases\":[\"DS=\"],\"description\":\"Specifies that the initial step-size value aⁿ (where n=0) for each line search (used by the QUANEW, CONGRA, or NEWRAP technique) cannot be larger than r times the step-size value used in the former iteration.\",\"type\":\"value\"},{\"name\":\"FCONV2=\",\"optional\":true,\"aliases\":[\"FTOL2=\"],\"description\":\"Specifies a second function convergence criterion.\",\"type\":\"value\"},{\"name\":\"FCONV=\",\"optional\":true,\"aliases\":[\"FTOL=\"],\"description\":\"Specifies the relative function convergence criterion.\",\"type\":\"value\"},{\"name\":\"FSIZE=\",\"optional\":true,\"description\":\"Specifies the FSIZE parameter of the relative function and relative gradient termination criteria. The default value is r=0.\",\"help\":\"FSIZE=*r*\",\"type\":\"value\"},{\"name\":\"GCONV2=\",\"optional\":true,\"description\":\"Specifies another relative gradient convergence criterion.\",\"type\":\"value\"},{\"name\":\"GCONV=\",\"optional\":true,\"aliases\":[\"GTOL=\"],\"description\":\"Specifies the relative gradient convergence criterion.\",\"type\":\"value\"},{\"name\":\"HESCAL=\",\"optional\":true,\"aliases\":[\"HS=\"],\"description\":\"Specifies the scaling version of the Hessian or crossproduct Jacobian matrix used in NRRIDG, TRUREG, LEVMAR, NEWRAP, or DBLDOG optimization.\",\"help\":\"HESCAL=0 | 1 | 2 | 3\",\"type\":\"choice\",\"arguments\":[{\"name\":\"0\",\"description\":\"Specifies that no scaling is done.\",\"type\":\"standalone\"},{\"name\":\"1\",\"description\":\"Specifies the Moré (1978) scaling update\",\"type\":\"standalone\"},{\"name\":\"2\",\"description\":\"Specifies the Dennis, Gay, and Welsch (1981) scaling update\",\"type\":\"standalone\"},{\"name\":\"3\",\"description\":\"Specifies that di is reset in each iteration\",\"type\":\"standalone\"}]},{\"name\":\"INHESSIAN=\",\"optional\":true,\"description\":\"Specifies how the initial estimate of the approximate Hessian is defined for the quasi-Newton techniques QUANEW and DBLDOG.\",\"type\":\"value\"},{\"name\":\"INSTEP=\",\"optional\":true,\"aliases\":[\"SALPHA=\",\"RADIUS=\"],\"description\":\"Reduces the length of the first trial step during the line search of the first iterations.\",\"help\":\"INSTEP=*r*\",\"type\":\"value\"},{\"name\":\"LCDEACT=\",\"optional\":true,\"aliases\":[\"LCD=\"],\"description\":\"Specifies a threshold r for the Lagrange multiplier that decides whether an active inequality constraint remains active or can be deactivated.\",\"type\":\"value\"},{\"name\":\"LCEPSILON=\",\"optional\":true,\"aliases\":[\"LCEPS=\",\"LCE=\"],\"description\":\"Specifies the range r, r ≥ 0, for active and violated boundary and linear constraints.\",\"type\":\"value\"},{\"name\":\"LCSINGULAR=\",\"optional\":true,\"aliases\":[\"LCSING=\",\"LCS=\"],\"description\":\"Specifies a criterion r, r ≥ 0, used in the update of the QR decomposition that decides whether an active constraint is linearly dependent on a set of other active constraints.\",\"type\":\"value\"},{\"name\":\"LINESEARCH=\",\"optional\":true,\"aliases\":[\"LIS=\",\"SMETHOD=\",\"SM=\"],\"description\":\"Specifies the line-search method for the CONGRA, QUANEW, and NEWRAP optimization techniques.\",\"help\":\"LINESEARCH=1 | 2 | 3 | 4 | 5 | 6 | 7 | 8\",\"type\":\"choice\",\"arguments\":[{\"name\":\"1\",\"description\":\"Specifies a line-search method that needs the same number of function and gradient calls for cubic interpolation and cubic extrapolation; this method is similar to one used by the Harwell subroutine library.\",\"type\":\"standalone\"},{\"name\":\"2\",\"description\":\"Specifies a line-search method that needs more function calls than gradient calls for quadratic and cubic interpolation and cubic extrapolation; this method is implemented as shown in Fletcher (1987) and can be modified to an exact line search by using the LSPRECISION= option.\",\"type\":\"standalone\"},{\"name\":\"3\",\"description\":\"Specifies a line-search method that needs the same number of function and gradient calls for cubic interpolation and cubic extrapolation; this method is implemented as shown in Fletcher (1987) and can be modified to an exact line search by using the LSPRECISION= option.\",\"type\":\"standalone\"},{\"name\":\"4\",\"description\":\"Specifies a line-search method that needs the same number of function and gradient calls for stepwise extrapolation and cubic interpolation\",\"type\":\"standalone\"},{\"name\":\"5\",\"description\":\"Specifies a line-search method that is a modified version of LIS=4.\",\"type\":\"standalone\"},{\"name\":\"6\",\"description\":\"Specifies golden section line search (Polak 1971), which uses only function values for linear approximation.\",\"type\":\"standalone\"},{\"name\":\"7\",\"description\":\"Specifies bisection line search (Polak 1971), which uses only function values for linear approximation.\",\"type\":\"standalone\"},{\"name\":\"8\",\"description\":\"Specifies Armijo line-search technique (Polak 1971), which uses only function values for linear approximation.\",\"type\":\"standalone\"}]},{\"name\":\"LSPRECISION=\",\"optional\":true,\"aliases\":[\"LSP=\",\"SPRECISION=\",\"SP=\"],\"description\":\"Specifies the degree of accuracy that should be obtained by the line-search algorithms LIS=2 and LIS=3. The default LSPRECISION= values are:\",\"type\":\"value\"},{\"name\":\"MAXFUNC=\",\"optional\":true,\"aliases\":[\"MAXFU=\"],\"description\":\"Requires the number of function calls to be no larger than i. The default values are:\",\"type\":\"value\"},{\"name\":\"MAXITER=\",\"optional\":true,\"aliases\":[\"MAXIT=\"],\"description\":\"Requires the number of iterations to be no larger than i. The default values are: o For TECH= LEVMAR, NEWRAP, NRRIDG, TRUREG: i=50 o For TECH= DBLDOG, QUANEW: i=200 o For TECH= CONGRA: i=400\",\"type\":\"value\"},{\"name\":\"MAXSTEP=\",\"optional\":true,\"description\":\"Specifies an upper bound for the step length of the line-search algorithms during the first n iterations.\",\"type\":\"value\"},{\"name\":\"MAXTIME=\",\"optional\":true,\"description\":\"Requires the CPU time to be no larger than r. The default value of the MAXTIME= option is the largest double floating-point number on your computer.\",\"help\":\"MAXTIME=*r*\",\"type\":\"value\"},{\"name\":\"MINITER=\",\"optional\":true,\"aliases\":[\"MINIT=\"],\"description\":\"Specifies the minimum number of iterations. The default value is 0.\",\"type\":\"value\"},{\"name\":\"MSINGULAR=\",\"optional\":true,\"aliases\":[\"MSING=\"],\"description\":\"Specifies a relative singularity criterion r, r > 0, for the inversion of the information matrix, which is needed to compute the covariance matrix.\",\"type\":\"value\"},{\"name\":\"NOPRINT\",\"optional\":true,\"description\":\"Suppresses output related to optimization such as the iteration history.\",\"type\":\"standalone\"},{\"name\":\"PALL\",\"optional\":true,\"aliases\":[\"ALL\"],\"description\":\"[Displays information about the starting values and final values of the optimization process.\",\"type\":\"standalone\"},{\"name\":\"PHISTORY\",\"optional\":true,\"aliases\":[\"PHIS\"],\"description\":\"Displays the optimization history. The PHISTORY option is set automatically if the PALL or PRINT option is set.\",\"type\":\"standalone\"},{\"name\":\"RESTART=\",\"optional\":true,\"aliases\":[\"REST=\"],\"description\":\"Specifies that the QUANEW or CONGRA algorithm is restarted with a steepest descent/ascent search direction after at most i iterations, i > 0.\",\"type\":\"value\"},{\"name\":\"SINGULAR=\",\"optional\":true,\"description\":\"Specifies the singularity criterion r, 0 < r < 1, used, for example, for matrix inversion.\",\"type\":\"value\"},{\"name\":\"SOCKET=\",\"optional\":true,\"description\":\"Specifies the fileref that contains the information needed for remote monitoring.\",\"type\":\"value\"},{\"name\":\"TECHNIQUE=\",\"optional\":true,\"aliases\":[\"TECH=\",\"OMETHOD=\",\"OM=\"],\"description\":\"Specifies the optimization technique.\",\"help\":\"TECHNIQUE=CONGRA | DBLDOG | LEVMAR | NEWRAP | NRRIDG | QUANEW | TRUREG | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"CONGRA\",\"description\":\"Chooses one of four different conjugate-gradient optimization algorithms, which can be more precisely defined with the UPDATE= option and modified with the LINESEARCH= option.\",\"type\":\"standalone\"},{\"name\":\"DBLDOG\",\"description\":\"Performs a version of double-dogleg optimization, which uses the gradient to update an approximation of the Cholesky factor of the Hessian.\",\"type\":\"standalone\"},{\"name\":\"LEVMAR\",\"description\":\"Performs a highly stable but, for large problems, memory- and time-consuming Levenberg-Marquardt optimization technique, a slightly improved variant of the Moré (1978) implementation. This is the default optimization technique if there are fewer than 40 parameters to estimate.\",\"type\":\"standalone\"},{\"name\":\"NEWRAP\",\"description\":\"Performs a usually stable but, for large problems, memory- and time-consuming Newton-Raphson optimization technique. The algorithm combines a line-search algorithm with ridging, and it can be modified with the LINESEARCH= option.\",\"type\":\"standalone\"},{\"name\":\"NRRIDG\",\"description\":\"Performs a usually stable but, for large problems, memory- and time-consuming Newton-Raphson optimization technique. This algorithm does not perform a line search.\",\"type\":\"standalone\"},{\"name\":\"QUANEW\",\"description\":\"Chooses one of four different quasi-Newton optimization algorithms that can be more precisely defined with the UPDATE= option and modified with the LINESEARCH= option.\",\"type\":\"standalone\"},{\"name\":\"TRUREG\",\"description\":\"Performs a usually very stable but, for large problems, memory- and time-consuming trust-region optimization technique. The algorithm is implemented similar to Gay (1983) and Moré and Sorensen (1983).\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"Does not perform any optimization. This option is similar to METHOD=NONE, but TECH=NONE also computes and displays residuals and goodness of fit statistics.\",\"type\":\"standalone\"}]},{\"name\":\"UPDATE=\",\"optional\":true,\"description\":\"Specifies the update method for the quasi-Newton, double-dogleg, or conjugate-gradient optimization technique.\",\"help\":\"UPDATE=BFGS | DBFGS | DDFP | DFP | PB | FR | PR | CD\",\"type\":\"choice\",\"arguments\":[{\"name\":\"BFGS\",\"description\":\"Performs the original Broyden, Fletcher, Goldfarb, and Shanno (BFGS) update of the inverse Hessian matrix.\",\"type\":\"standalone\"},{\"name\":\"DBFGS\",\"description\":\"Performs the dual BFGS update of the Cholesky factor of the Hessian matrix. This is the default update method.\",\"type\":\"standalone\"},{\"name\":\"DDFP\",\"description\":\"Performs the dual Davidon, Fletcher, and Powell (DFP) update of the Cholesky factor of the Hessian matrix.\",\"type\":\"standalone\"},{\"name\":\"DFP\",\"description\":\"Performs the original DFP update of the inverse Hessian matrix.\",\"type\":\"standalone\"},{\"name\":\"PB\",\"description\":\"Performs the automatic restart update method of Powell (1977) and Beale (1972).\",\"type\":\"standalone\"},{\"name\":\"FR\",\"description\":\"Performs the Fletcher-Reeves update (Fletcher 1987).\",\"type\":\"standalone\"},{\"name\":\"PR\",\"description\":\"Performs the Polak-Ribiere update (Fletcher 1987).\",\"type\":\"standalone\"},{\"name\":\"CD\",\"description\":\"Performs a conjugate-descent update of Fletcher (1987).\",\"type\":\"standalone\"}]},{\"name\":\"VERSION=\",\"optional\":true,\"aliases\":[\"VS=\"],\"description\":\"Specifies the version of the quasi-Newton optimization technique with nonlinear constraints.\",\"help\":\"VERSION=1 | 2\",\"type\":\"choice\",\"arguments\":[{\"name\":\"1\",\"description\":\"Specifies the update of the U vector as in Powell (1978a, 1978b) (update like VF02AD).\",\"type\":\"standalone\"},{\"name\":\"2\",\"description\":\"Specifies the update of the U vector as in Powell (1982a, 1982b) (update like VMCWD).\",\"type\":\"standalone\"}]},{\"name\":\"VSINGULAR=\",\"optional\":true,\"aliases\":[\"VSING=\"],\"description\":\"Specifies a relative singularity criterion r, r > 0, for the inversion of the information matrix, which is needed to compute the covariance matrix.\",\"type\":\"value\"},{\"name\":\"XCONV=\",\"optional\":true,\"aliases\":[\"XTOL=\"],\"description\":\"Specifies the relative parameter convergence criterion. Termination requires a small relative parameter change in subsequent iterations.\",\"type\":\"value\"},{\"name\":\"XSIZE=\",\"optional\":true,\"description\":\"Specifies the XSIZE parameter of the relative function and relative gradient termination criteria. The default value is r=0.\",\"help\":\"XSIZE=*r*\",\"type\":\"value\"}]},{\"name\":\"OTHERWISE\",\"description\":\">\",\"help\":\"\"},{\"name\":\"OUTFILES\",\"aliases\":[\"OUTFILE\"],\"description\":\"where file_option represents one of the following: OUTMODEL | OUTRAM= file_name [ MODEL= int_list < , int_list > ] OUTSTAT= file_name [ GROUP= int_list < , int_list > ] OUTWGT= file_name [ GROUP= int_list < , int_list > ] with file_name representing an output file name and int_list representing list of model or group numbers Use the OUTFILES statement when you need to output multiple-group or multiple-model information to output files in a complex way. In each OUTFILES statement, each possible file_option should appear no more than once. However, as needed, you can use the OUTFILES statement more than once.\",\"help\":\"OUTFILES | OUTFILE file_option &lt;file_option ...&gt; \"},{\"name\":\"PARAMETERS\",\"aliases\":[\"PARMS\"],\"description\":\"The number of parameters and the number of values do not have to match. When there are fewer values than parameter names, either the RANDOM= or START= option is used. When there are more values than parameter names, the extra values are dropped. Parameters listed in the PARAMETERS statement can be assigned initial values by program statements or by the START= or RANDOM= option in the PROC CALIS statement.\",\"help\":\"PARAMETERS | PARMS parameter(s) &lt;&lt; = &gt; number(s) &gt;\"},{\"name\":\"PARTIAL\",\"description\":\"If you want the analysis to be based on a partial correlation or covariance matrix, use the PARTIAL statement to list the variables used to partial out the variables in the analysis. You can specify only one PARTIAL statement within the scope of each GROUP or PROC CALIS statement.\",\"help\":\"PARTIAL variables \"},{\"name\":\"PATH\",\"description\":\"where path represents: var_listarrowvar_list2<= parameter-spec> and arrow represents either a left-arrow or a right-arrow. A left-arrow is one of the following: <---, <--, <-, or < A right-arrow is one of the following: --->, -->, ->, or > The PATH statement specifies the paths in your structural equation model. You can specify at most one PATH statement in a model within the scope of either the PROC CALIS statement or a MODEL statement. To complete the PATH model specifications, you might need to add some subsidiary model specification statements such as the PVAR, PCOV, and the MEAN statements. The following is the syntax for the PATH modeling language: PATH path < , path ...> ; PVAR partial-variance-parameters ; PCOV partial-covariance-parameters ; MEAN mean-parameters ;\",\"help\":\"PATH path &lt; , path ...&gt; \"},{\"name\":\"PCOV\",\"description\":\"where assignment represents: var_list < var_list2> <= parameter-spec> The PCOV statement is a subsidiary model specification statement for the PATH model. You can use the PCOV statement only with the PATH modeling language. The PCOV statement specifies the covariances of exogenous variables, or the error covariances of endogenous variables in the PATH model. It can also specify the covariance between an exogenous variable and the error term of an endogenous variables, although this usage is rare in practice.\",\"help\":\"PCOV assignment &lt;, assignment ...&gt; \"},{\"name\":\"PUT\",\"description\":\"The PUT statement writes text data to the current output file.\",\"help\":\"PUT &lt;_PAGE_&gt;\",\"arguments\":[{\"name\":\"_PAGE_\",\"optional\":true,\"description\":\"Outputs any pending line data and moves to the top of the next page.\",\"type\":\"standalone\"}]},{\"name\":\"PVAR\",\"description\":\"where assignment represents: var_list <= parameter-spec> The PVAR statement specifies the variance or error (partial) variance parameters in connection with the confirmatory FACTOR and PATH models. In each assignment of the PVAR statement, you list the var_list that you want to specify for their variances or error (partial) variances. Optionally, you can provide a list of parameter specifications (parameter-spec) after an equal sign for each var_list list. The syntax of the PVAR statement is exactly the same as that of the VARIANCE statement.\",\"help\":\"PVAR assignment &lt; , assignment ...&gt; \"},{\"name\":\"RAM\",\"description\":\"where variable-list is a list of variables for the rows and columns of the _A_ and _P_ matrices and the rows of the _W_ vector of the RAM model, number-list is a list of positive integers that denote the order of the specified variables, and ram-entry is a parameter specification for an element in one of the three RAM model matrices. You can specify latent variables in addition to observed variables in the VAR= option.\",\"help\":\"RAM &lt;VAR=variable-list | variable-list=number-list &lt;,\"},{\"name\":\"REFMODEL\",\"description\":\"where model_number represents a model number between 1 and 9999, inclusively, and options are for renaming parameters. The REFMODEL statement is not a modeling language itself. It is a tool for referencing and modifying models. It is classified into one of the modeling languages because its role is similar to other modeling languages. REFMODEL model_number </ options> ; RENAMEPARM parameter renaming ; main model specification statement ; subsidiary model specification statements ;\",\"help\":\"REFMODEL &lt;ALLNEWPARMS&gt;&lt;PARM_PREFIX=prefix&gt;&lt;PARM_SUFFIX=suffix&gt; ...\",\"arguments\":[{\"name\":\"ALLNEWPARMS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Appends to the parameter names in the reference model with _mdl and then an integer suffix denoting the model number of the current model. For example, if qq is a parameter in the reference model for a current model with model number 3, then this option creates qq_mdl3 as a new parameter name.\",\"type\":\"standalone\"},{\"name\":\"PARM_PREFIX=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Inserts to all parameter names in the reference model with the prefix provided. For example, if qq is a parameter in the reference model for a current model, then PARM_PREFIX=pre_ creates pre_qq as a new parameter name.\",\"help\":\"PARM_PREFIX=*prefix*\",\"type\":\"value\"},{\"name\":\"PARM_SUFFIX=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Appends to all parameter names in the reference model with the suffix provided. For example, if qq is a parameter in the reference model for a current model, then PARM_SUFFIX=_suf creates qq_suf as a new parameter name.\",\"help\":\"PARM_SUFFIX=*suffix*\",\"type\":\"value\"}]},{\"name\":\"RENAMEPARM\",\"description\":\"where assignment represents: old_parameters = parameter-spec You can use the RENAMEPARM statement to rename parameters or to change the types of parameters of a reference model so that new parameters are transferred to the new model in question. The RENAMEPARM statement is a subsidiary model specification statement that should be used together with the REFMODEL statement. The syntax of the RENAMEPARM statement is similar to that of the VARIANCE statement—except that in the RENAMEPARM statement, you put parameter names on the left-hand side of equal signs, whereas you put variable names on the left-hand side in the VARIANCE statement. You can use no more than one RENAMEPARM statement within the scope of each REFMODEL statement.\",\"help\":\"RENAMEPARM assignment &lt;, assignment ...&gt; \"},{\"name\":\"RETURN\",\"description\":\"Stops executing statements at the current point and returns to a predetermined point in the step.\",\"help\":\"RETURN\"},{\"name\":\"SELECT\",\"description\":\"\",\"help\":\"\"},{\"name\":\"SIMTESTS\",\"aliases\":[\"SIMTEST\"],\"description\":\"where sim_test represents one of the following: test_name = [ functions ] test_name = { functions } and functions are either parameters in the model or parametric functions computed in the SAS programming statements. When the estimates in a model are asymptotically multivariate-normal, continuous and differentiable functions of the estimates are also multivariate-normally distributed. In the SIMTEST statement, you can test these parametric functions simultaneously.\",\"help\":\"SIMTESTS sim_test &lt;sim_test ...&gt; \"},{\"name\":\"STD\",\"description\":\"where assignment represents: var_list = parameter-spec The STD statement functions exactly the same as the VARIANCE statement. The STD statement is obsolete and might not be supported in future versions of PROC CALIS. Use the VARIANCE statement instead.\",\"help\":\"STD assignment &lt;, assignment ...&gt; \"},{\"name\":\"STOP\",\"description\":\"The STOP statement halts the execution of all statements that contain it, including DO statements and other control or looping statements. Execution continues with the next top-level source statement.\",\"help\":\"STOP \"},{\"name\":\"STRUCTEQ\",\"description\":\"where label represents: LABEL | NAME = name The STRUCTEQ statement functions exactly the same as the DETERM statement.\",\"help\":\"STRUCTEQ variables &lt;/ label&gt; \"},{\"name\":\"TESTFUNC\",\"description\":\"where functions are either parameters in the model or parametric functions computed in the SAS programming statements. When the estimates in a model are asymptotically multivariate-normal, any continuous and differentiable function of the estimates is also normally distributed. In the TESTFUNC statement, you can test these parametric functions using z-tests.\",\"help\":\"TESTFUNC functions \"},{\"name\":\"VAR\",\"description\":\"VAR variables; The VAR statement defines and limits the set of observed variables that are available for the corresponding model analysis. It is one of the subsidiary group specification statements. You can use the VAR statement no more than once within the scope of each GROUP or the PROC CALIS statement. The set of variables in the VAR statement must be present in the data set specified in the associated GROUP or the PROC CALIS statement.\",\"help\":\"VAR\"},{\"name\":\"VARIANCE\",\"description\":\"where assignment represents: var_list <=parameter-spec> The VARIANCE statement specifies the variance parameters in connection with the LINEQS model. Notice that the VARIANCE statement is different from the VAR statement, which specifies variables for analysis. In previous versions of PROC CALIS, the STD statement name was used instead of the VARIANCE statement name. Although these two names result in the same functionalities, the VARIANCE statement name reflects the intended usages better. In each assignment of the VARIANCE statement, you list the var_list whose variances you want to specify. Optionally, you can provide a list of parameter specifications (parameter-spec) after an equal sign for each var_list list. You can specify the following five types of the parameters for the variances of the exogenous variables in the VARIANCE statement: o an unnamed free parameter o an initial value o a fixed value o a free parameter with a name provided o a free parameter with a name and initial value provided\",\"help\":\"VARIANCE assignment &lt;, assignment ...&gt; \"},{\"name\":\"VARNAMES\",\"aliases\":[\"VARNAME\",\"VNAMES\"],\"description\":\"where name_assignment represents one of the following forms: matrix_name variable_names matrix_name = [variable_names] matrix_name = matrix_name You can use the VARNAMES statement in connection with the COSAN modeling language to assign variable names for matrices. The matrix_name refers to any matrix you define in the COSAN statement. The variable_names that follow the matrix_name are assigned to the column variables of the matrix of interest. This applies to the first two types of VARNAMES specifications. For example, varnames F f1-f3; is exactly the same as varnames F = [ f1-f3 ]; Both of these assign f1, f2, and f3 as the names for the first three column variables of matrix F.\",\"help\":\"VARNAMES | VNAMES assignment &lt;, assignment ...&gt; \"},{\"name\":\"WEIGHT\",\"description\":\"The WEIGHT statement specifies the weight variable for the observations. It is one of the subsidiary group specification statements. You can use the WEIGHT statement no more than once within the scope of each GROUP statement or the PROC CALIS statement. Weighting is often done when the error variance associated with each observation is different and the values of the weight variable are proportional to the reciprocals of the variances. The WEIGHT and FREQ statements have a similar effect, except the WEIGHT statement does not alter the number of observations unless VARDEF=WGT or VARDEF=WDF. An observation is used in the analysis only if the WEIGHT variable is greater than 0 and is not missing.\",\"help\":\"WEIGHT variable\"},{\"name\":\"WHEN\",\"description\":\"\",\"help\":\"WHEN &lt;DO&gt;\",\"arguments\":[{\"name\":\"DO\",\"optional\":true,\"description\":\"\",\"type\":\"standalone\"}]}],\"supportSiteInformation\":{\"docsetId\":\"statug\",\"docsetVersion\":\"latest\",\"docsetTargetFile\":\"statug_calis_toc.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/CALLRFC.json",
    "content": "{\"name\":\"CALLRFC\",\"statements\":[{\"name\":\"PROC CALLRFC\",\"description\":\"Invokes the CALLRFC procedure and specifies the connection and logon information of an SAP system. The connection to the SAP system is established and the logon information is verified.\",\"help\":\"PROC CALLRFC <options>;  \\n\\tCALL <FUNCTION> 'function-name'  \\n\\t\\t<EXPORTING parameter-1 | \\n\\t\\t\\tparameter-1.field-1 =value-1 < … parameter-n=value-n>>\\n\\t\\t\\t<IMPORTING parameter-1=SAS-dataset-name-1 \\n\\t\\t\\t< … parameter-n=SAS-dataset-name-n>>\\n\\t\\t\\t<INTABLES table-parameter-1=SAS-dataset-name-1 \\n\\t\\t\\t<… table-parameter-n=SAS-dataset-name-n>>\\n\\t\\t\\t<TABLES table-parameter-1=SAS-dataset-name-1 \\n\\t\\t\\t<… table-parameter-n=SAS-dataset-name-n>>\\n\\t\\t\\t<CALLBACK <callback-parameter-1=SAS-dataset-name-1\\n\\t\\t\\t<… table-parameter-n=SAS-dataset-name-n>>></ default = SAS-library>;\\n\\tDESCRIBE <FUNCTION> 'function-name' <SHORT>;\",\"arguments\":[{\"name\":\"ABAPFM=\",\"optional\":true,\"aliases\":[\"ABAPFUNCTION=, ABAPFUNC=\"],\"description\":\"specifies the name of the ABAP function module that SAS uses internally for metadata requests.\",\"help\":\"ABAPFM='*abap-function-name*'\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1x4khv6w4cvj5n1t4vkgm1iup7l\"},{\"name\":\"ABAPPROG=\",\"optional\":true,\"aliases\":[\"ABAPREPORT=, ABAPPROGRAM=\"],\"description\":\"specifies the name of the ABAP program that SAS uses.\",\"help\":\"ABAPPROG='*abap-program*'\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0vlppuig8cdpin11x6o0c7ueq85\"},{\"name\":\"ASHOST=\",\"optional\":true,\"aliases\":[\"HST=, RFCHOST=, R3HOST=\"],\"description\":\"specifies the host name or IP address of a specific application server.\",\"help\":\"ASHOST='*SAP-application-server-host*'\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1k4o3191es4gqn1l3z82kky1ccy\"},{\"name\":\"CLIENT=\",\"optional\":true,\"aliases\":[\"CLI=, RFCCLIENT=, RFCCLI=\"],\"description\":\"specifies the SAP logon parameter for client.\",\"help\":\"CLIENT=*SAP-client-number*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0iile5qteeotvn1e4l3oivuk14d\"},{\"name\":\"DESTINATION=\",\"optional\":true,\"aliases\":[\"DEST=, DST=, DSTN=\"],\"description\":\"Specify the destination defined in sapnwrfc.ini or saprfc.ini to connect to the SAP system.\",\"help\":\"DESTINATION='*SAP-destination*'\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n162ye02n8azabn10dad25ju6o8q\"},{\"name\":\"GROUP=\",\"optional\":true,\"description\":\"specifies the name for a group of application servers.\",\"help\":\"GROUP='*SAP-application-server-group*'\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n09l2ckhba387an154u2owcb9zi5\"},{\"name\":\"GWHOST=\",\"optional\":true,\"aliases\":[\"GATEWAY_HOST=\"],\"description\":\"specifies the host name of the SAP gateway.\",\"help\":\"GWHOST='*SAP-gateway-host-name*'\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0dtp4664mtgvnn1mo79w06t5dcj\"},{\"name\":\"GWSERV=\",\"optional\":true,\"aliases\":[\"GATEWAY_SERVICE\"],\"description\":\"specifies the service of the SAP gateway.\",\"help\":\"GWSERV='*SAP-gateway-service*'\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1sjp65khbw8uon1owmgqsyil1ov\"},{\"name\":\"IEEE_REVERSE=\",\"optional\":true,\"aliases\":[\"IE3_REVERSE\"],\"description\":\"specifies whether floating-point numbers are byte-reversed.\",\"help\":\"IEEE_REVERSE=*flag*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n013337hyg4cbjn1imp0e8lfe632\"},{\"name\":\"LANGUAGE=\",\"optional\":true,\"aliases\":[\"LANG=, LNG=, RFCLANG=, RFCLNG=\"],\"description\":\"specifies the SAP logon parameter for language.\",\"help\":\"LANGUAGE= *SAP-logon-language*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0wahrdm2vob1an1tmgq8blmwa4h\"},{\"name\":\"LIBREF=\",\"optional\":true,\"description\":\"Access the SAP system using connection and logon parameters associated with a libref.\",\"help\":\"LIBREF=*SAP-engine-libref*\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"n1er89q8hi6b13n1457qqtiln690\"},{\"name\":\"MSHOST=\",\"optional\":true,\"description\":\"specifies the host name of the Message Server for the SAP system.\",\"help\":\"MSHOST='*SAP-message-server-host*'\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p16qndgp9vkbybn1eub9vgd5ojhe\"},{\"name\":\"NUMC_SAS_TYPE=\",\"optional\":true,\"aliases\":[\"NUMC_SASTYPE=, NUMC_TYPE=, NUMC=\"],\"description\":\"specifies the SAS data type for the ABAP type NUMC.\",\"help\":\"NUMC_SAS_TYPE='N' | 'C' | '$'\",\"type\":\"choice\",\"arguments\":[{\"name\":\"'N'\",\"type\":\"standalone\"},{\"name\":\"'C'\",\"type\":\"standalone\"},{\"name\":\"'$'\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"n14fqk132j1htan12wzszq1wsxlx\"},{\"name\":\"PASSWORD=\",\"optional\":true,\"aliases\":[\"PASSWD=, PWD=, PW=, PASS=\"],\"description\":\"specifies the SAP logon parameter for password.\",\"help\":\"PASSWORD='*SAP-password*'\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p17vzk9i22wuhpn1isvl7efbyl0d\"},{\"name\":\"PASSWORDX=\",\"optional\":true,\"aliases\":[\"PASSWDX=, PWDX=, PWX=, PASSX=\"],\"description\":\"specifies the SAP logon parameter for password in an encrypted form.\",\"help\":\"PASSWORDX='*encrypted-SAP-password*'\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p18lndn3krsumdn1hhf74aj1bciy\"},{\"name\":\"R3NAME=\",\"optional\":true,\"description\":\"specifies the name of the SAP R/3 system.\",\"help\":\"R3NAME='*SAP-system-name*'\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0vccatgd9g43kn161u4yoxtwoka\"},{\"name\":\"RFC_STRING=\",\"optional\":true,\"aliases\":[\"RFCSTRING=, RFC_OPTIONS_EXT=, RFCOPENEX=, ADDITIONAL_RFC_OPTIONS=\"],\"description\":\"specifies additional logon or connection parameters for the RfcOpenEx() call.\",\"help\":\"RFC_STRING='*additional-RFC-options*'\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p07etp2a209nkgn1g64yca2pvums\"},{\"name\":\"SYSNR=\",\"optional\":true,\"aliases\":[\"SYS=, SYSTEM=, SYSNO=\"],\"description\":\"specifies the SAP R/3 system number.\",\"help\":\"SYSNR=*SAP-system-number*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1wh156vtiy998n1vdu0f5egsp25\"},{\"name\":\"TRACE=\",\"optional\":true,\"description\":\"enables tracing of RFC requests.\",\"help\":\"TRACE='*RFC-trace-flag*'\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n067o4oeqkucgen16kc9whrn0y56\"},{\"name\":\"USER=\",\"optional\":true,\"aliases\":[\"USR=, RFCUSER=, USERNAME=, USERID=\"],\"description\":\"specifies the SAP logon parameter for user.\",\"help\":\"USER=*SAP-userID*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n173dlf97wrtsrn12ih1ljk8hgqe\"}],\"supportSiteTargetFile\":\"p1jjvfza8jm858n1jbopmev8sikb.htm\"},{\"name\":\"CALL FUNCTION\",\"description\":\"Call an RFC on the SAP system. The CALL FUNCTION statement can be called multiple times within a PROC CALLRFC step. The function calls are executed in sequence.\",\"help\":\"CALL <FUNCTION> 'function-name'  \\n\\t<EXPORTING parameter-1 | parameter-1.field-1=value-1 \\n\\t\\t< … parameter-n=value-n>>\\n\\t\\t<IMPORTING parameter-1=SAS-dataset-name-1 \\n\\t\\t< … parameter-n=SAS-dataset-name-n>>\\n\\t\\t<INTABLES table-parameter-1=SAS-dataset-name-1 \\n\\t\\t<… table-parameter-n=SAS-dataset-name-n>>\\n\\t\\t<TABLES table-parameter-1=SAS-dataset-name-1 \\n\\t\\t<… table-parameter-n=SAS-dataset-name-n>>\\n\\t\\t<CALLBACK <callback-parameter-1=SAS-dataset-name-1\\n\\t\\t<… table-parameter-n=SAS-dataset-name-n>>></ default = SAS-library>;\",\"arguments\":[{\"name\":\"function-name\",\"placeholder\":true,\"description\":\"specifies the name of the ABAP function. The function name is a literal, and it must be enclosed in quotation marks. The function name is converted to uppercase characters. The ABAP function must be RFC callable. It must not have any windows, and it must be synchronous.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0se8ux3xt9p2pn12zrydo4le72x\"},{\"name\":\"EXPORTING\",\"optional\":true,\"description\":\"specifies fields or structures to be passed to the function module. The parameters parameter-1 through parameter-n are defined in the function interface as import parameters.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0pvf6nge96wl1n1gvahduu6rlg1\"},{\"name\":\"IMPORTING\",\"optional\":true,\"description\":\"specifies the fields or structures to be passed from the function module back to SAS. The parameters parameter-1 through parameter-n are defined in the function interface as export parameters.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0jfd6yvqeadjun1svh0oi1b09a1\"},{\"name\":\"INTABLES\",\"optional\":true,\"description\":\"specifies the SAS data sets to be passed to the function module. The parameters table-parameter-1 through table-parameter-n are defined in the function interface as table parameters. SAS converts the SAS data sets into internal tables and passes it to the function module. The variable names in the SAS data set must match the field names of the internal table as defined for the function interface.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1p5s7yydjg0r5n11l8winv9z8cr\"},{\"name\":\"TABLES\",\"optional\":true,\"description\":\"specifies names for the SAS data sets to be created from the internal tables in the function module. The parameters table-parameter-1 through table-parameter-n are defined in the function interface as table parameters.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1tspqr42yc2aln1s47jotdwewur\"},{\"name\":\"CALLBACK\",\"optional\":true,\"description\":\"specifies names for the SAS data sets to be created from the internal tables in the function module. The parameters are not defined in the function interface. The function module must implement a callback mechanism.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n09s2ai8uyjsnnn16os752tyfn42\"}],\"supportSiteTargetFile\":\"p1h4h8p47eg3kqn11233b42ukdyd.htm\"},{\"name\":\"DESCRIBE FUNCTION\",\"description\":\"Reads metadata about an RFC and writes the information to the SAS log or to a SAS data set using ODS. The DESCRIBE FUNCTION statement can be called multiple times within a PROC CALLRFC step.\",\"help\":\"DESCRIBE &lt;FUNCTION&gt; '*function-name*' &lt;SHORT&gt;;\",\"arguments\":[{\"name\":\"function-name\",\"placeholder\":true,\"description\":\"specifies the name of the ABAP function. The function name is a literal and it must be enclosed in quotation marks. The function name is converted to uppercase characters.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0344vgt1xnybcn1k9nlzz16vtf2\"},{\"name\":\"SHORT\",\"optional\":true,\"description\":\"specifies that parameter metadata is printed only in the SAS log. The field metadata is not printed.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p120nrx6wr5wo1n1hta02hz1dvzv\"}],\"supportSiteTargetFile\":\"n10ekrmrjqs4lkn1a27c7fidu0c1.htm\"}],\"supportSiteInformation\":{\"docsetId\":\"accr3\",\"docsetVersion\":\"v_002\",\"docsetTargetFile\":\"n0xlumuutlj19rn1vhrbxhhrnnig.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/CANCORR.json",
    "content": "{\"name\":\"CANCORR\",\"statements\":[{\"name\":\"PROC CANCORR\",\"description\":\"The CANCORR procedure performs canonical correlation, partial canonical correlation, and canonical redundancy analysis. † Canonical correlation is a generalization of multiple correlation for analyzing the relationship between two sets of variables. In multiple correlation, you examine the relationship between a linear combination of a set of explanatory variables, X, and a single response variable, Y. In canonical correlation, you examine the relationship between linear combinations of the set of X variables and linear combinations of a set of Y variables. These linear combinations are called canonical variables or canonical variates. Either set of variables can be considered explanatory or response variables, since the statistical model is symmetric in the two sets of variables. Simple and multiple correlation are special cases of canonical correlation in which one or both sets contain a single variable.\",\"help\":\"PROC CANCORR <ALL><B><CLB><CORRB><CORR><DATA=SAS-data-set><EDF=error-df><INT><MSTAT=FAPPROX | EXACT><NCAN=number><NOINT><NOPRINT><OUT=SAS-data-set><OUTSTAT=SAS-data-set><PARPREFIX=name><PCORR><PROBT><RDF=regression-df><REDUNDANCY><SEB><SHORT><SIMPLE><SINGULAR=p><SMC><SPCORR><SQPCORR><SQSPCORR><STB><T><VDEP><VNAME=label><VPREFIX=name><WDEP><WNAME=label><WPREFIX=name>;     \\n\\tBY <DESCENDING><NOTSORTED> ;\\n\\n\\tFREQ variable;\\n\\n\\tPARTIAL variables ;\\n\\n\\tVAR;\\n\\n\\tWEIGHT variable;\\n\\n\\tWITH variables ;\\n\",\"arguments\":[{\"name\":\"ALL\",\"optional\":true,\"description\":\"Displays simple statistics, correlations among the input variables, the confidence limits for the regression coefficients, and the canonical redundancy analysis.\",\"type\":\"standalone\"},{\"name\":\"B\",\"optional\":true,\"description\":\"Produces raw regression coefficients from the regression analyses.\",\"type\":\"standalone\"},{\"name\":\"CLB\",\"optional\":true,\"description\":\"Produces the 95% confidence limits for the regression coefficients from the regression analyses.\",\"type\":\"standalone\"},{\"name\":\"CORRB\",\"optional\":true,\"description\":\"Produces correlations among the regression coefficient estimates.\",\"type\":\"standalone\"},{\"name\":\"CORR\",\"optional\":true,\"description\":\"Produces correlations among the original variables.\",\"type\":\"standalone\"},{\"name\":\"DATA=\",\"optional\":true,\"description\":\"Names the SAS data set to be analyzed by PROC CANCORR.\",\"help\":\"DATA=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"EDF=\",\"optional\":true,\"description\":\"Specifies the error degrees of freedom if the input observations are residuals from a regression analysis.\",\"help\":\"EDF=*error-df*\",\"type\":\"value\"},{\"name\":\"INT\",\"optional\":true,\"description\":\"Requests that statistics for the intercept be included when B, CLB, SEB, T, or PROBT is specified for the regression analyses.\",\"type\":\"standalone\"},{\"name\":\"MSTAT=\",\"optional\":true,\"description\":\"Specifies the method of evaluating the multivariate test statistics.\",\"help\":\"MSTAT=FAPPROX | EXACT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"FAPPROX\",\"description\":\"Specifies that the multivariate tests are evaluated using the usual approximations based on the F distribution.\",\"type\":\"standalone\"},{\"name\":\"EXACT\",\"description\":\"Computes exact p-values for three of the four tests (Wilks’ lambda, the Hotelling-Lawley trace, and Roy’s greatest root) and an improved F approximation for the fourth (Pillai’s trace).\",\"type\":\"standalone\"}]},{\"name\":\"NCAN=\",\"optional\":true,\"description\":\"Specifies the number of canonical variables for which full output is desired.\",\"help\":\"NCAN=*number*\",\"type\":\"value\"},{\"name\":\"NOINT\",\"optional\":true,\"description\":\"Omits the intercept from the canonical correlation and regression models.\",\"type\":\"standalone\"},{\"name\":\"NOPRINT\",\"optional\":true,\"description\":\"Suppresses the display of all output. Note that this option temporarily disables the Output Delivery System (ODS).\",\"type\":\"standalone\"},{\"name\":\"OUT=\",\"optional\":true,\"description\":\"Creates an output SAS data set to contain all the original data plus scores on the canonical variables.\",\"help\":\"OUT=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"OUTSTAT=\",\"optional\":true,\"description\":\"Creates an output SAS data set containing various statistics, including the canonical correlations and coefficients and the multiple regression statistics you request.\",\"help\":\"OUTSTAT=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"PARPREFIX=\",\"optional\":true,\"aliases\":[\"PREFIX=\"],\"description\":\"Specifies a prefix for naming the residual variables in the OUT= data set and the OUTSTAT= data set.\",\"help\":\"PARPREFIX=*name*\",\"type\":\"value\"},{\"name\":\"PCORR\",\"optional\":true,\"description\":\"Produces partial correlations between regressors and dependent variables, removing from each dependent variable and regressor the effects of all other regressors.\",\"type\":\"standalone\"},{\"name\":\"PROBT\",\"optional\":true,\"description\":\"Produces probability levels for the t statistics in the regression analyses.\",\"type\":\"standalone\"},{\"name\":\"RDF=\",\"optional\":true,\"description\":\"Specifies the regression degrees of freedom if the input observations are residuals from a regression analysis.\",\"help\":\"RDF=*regression-df*\",\"type\":\"value\"},{\"name\":\"REDUNDANCY\",\"optional\":true,\"aliases\":[\"RED\"],\"description\":\"Produces canonical redundancy statistics.\",\"type\":\"standalone\"},{\"name\":\"SEB\",\"optional\":true,\"description\":\"Produces standard errors of the regression coefficients.\",\"type\":\"standalone\"},{\"name\":\"SHORT\",\"optional\":true,\"description\":\"Suppresses all default output from the canonical analysis except the tables of canonical correlations and multivariate statistics.\",\"type\":\"standalone\"},{\"name\":\"SIMPLE\",\"optional\":true,\"description\":\"Produces means and standard deviations.\",\"type\":\"standalone\"},{\"name\":\"SINGULAR=\",\"optional\":true,\"aliases\":[\"SING=\"],\"description\":\"Specifies the singularity criterion, where 0 < p < 1.\",\"help\":\"SINGULAR=*p*\",\"type\":\"value\"},{\"name\":\"SMC\",\"optional\":true,\"description\":\"Produces squared multiple correlations and F tests for the regression analyses.\",\"type\":\"standalone\"},{\"name\":\"SPCORR\",\"optional\":true,\"description\":\"Produces semipartial correlations between regressors and dependent variables, removing from each regressor the effects of all other regressors.\",\"type\":\"standalone\"},{\"name\":\"SQPCORR\",\"optional\":true,\"description\":\"Produces squared partial correlations between regressors and dependent variables, removing from each dependent variable and regressor the effects of all other regressors.\",\"type\":\"standalone\"},{\"name\":\"SQSPCORR\",\"optional\":true,\"description\":\"Produces squared semipartial correlations between regressors and dependent variables, removing from each regressor the effects of all other regressors.\",\"type\":\"standalone\"},{\"name\":\"STB\",\"optional\":true,\"description\":\"Produces standardized regression coefficients.\",\"type\":\"standalone\"},{\"name\":\"T\",\"optional\":true,\"description\":\"Produces t statistics for the regression coefficients.\",\"type\":\"standalone\"},{\"name\":\"VDEP\",\"optional\":true,\"aliases\":[\"WREG\"],\"description\":\"Requests multiple regression analyses with the VAR variables as dependent variables and the WITH Variables as regressors.\",\"type\":\"standalone\"},{\"name\":\"VNAME=\",\"optional\":true,\"aliases\":[\"VN=\"],\"description\":\"Specifies a character constant to refer to variables from the VAR statement in the output. Enclose the constant in single or double quotes.\",\"help\":\"VNAME=*label*\",\"type\":\"value\"},{\"name\":\"VPREFIX=\",\"optional\":true,\"description\":\"Specifies a prefix for naming canonical variables from the VAR statement.\",\"help\":\"VPREFIX=*name*\",\"type\":\"value\"},{\"name\":\"WDEP\",\"optional\":true,\"aliases\":[\"VREG\"],\"description\":\"Requests multiple regression analyses with the WITH variables as dependent variables and the VAR variables as regressors.\",\"type\":\"standalone\"},{\"name\":\"WNAME=\",\"optional\":true,\"aliases\":[\"WN=\"],\"description\":\"Specifies a character constant to refer to variables in the WITH statement in the output. Enclose the constant in single or double quotes.\",\"help\":\"WNAME=*label*\",\"type\":\"value\"},{\"name\":\"WPREFIX=\",\"optional\":true,\"aliases\":[\"WP=\"],\"description\":\"Specifies a prefix for naming canonical variables from the WITH statement.\",\"help\":\"WPREFIX=*name*\",\"type\":\"value\"}]},{\"name\":\"BY\",\"description\":\"Obtains separate analyses on observations in groups defined by the BY variables.\",\"help\":\"BY &lt;DESCENDING&gt;&lt;NOTSORTED&gt;\",\"arguments\":[{\"name\":\"DESCENDING\",\"optional\":true,\"description\":\"Specifies that the observations are sorted in descending order by the variable that immediately follows the word DESCENDING in the BY statement.\",\"type\":\"standalone\"},{\"name\":\"NOTSORTED\",\"optional\":true,\"description\":\"Specifies that observations are not necessarily sorted in alphabetic or numeric order.\",\"type\":\"standalone\"}]},{\"name\":\"FREQ\",\"aliases\":[\"FREQUENCY\"],\"description\":\"If one variable in your data set represents the frequency of occurrence for the other values in the observation, specify the variable’s name in a FREQ statement. PROC CANCORR then treats the data set as if each observation appears ni times, where ni is the value of the FREQ variable for observation i.\",\"help\":\"FREQ variable\"},{\"name\":\"PARTIAL\",\"description\":\"You can use the PARTIAL statement to base the canonical analysis on partial correlations.\",\"help\":\"PARTIAL variables \"},{\"name\":\"VAR\",\"aliases\":[\"VARIABLES\"],\"description\":\"VAR variable(s); The VAR statement lists the variables in the first of the two sets of variables to be analyzed. The variables must be numeric.\",\"help\":\"VAR\"},{\"name\":\"WEIGHT\",\"aliases\":[\"WEIGHTS\"],\"description\":\"If you want to compute weighted product-moment correlation coefficients, specify the name of the weighting variable in a WEIGHT statement.\",\"help\":\"WEIGHT variable\"},{\"name\":\"WITH\",\"description\":\"The WITH statement lists the variables in the second set of variables to be analyzed. The variables must be numeric. The WITH statement is required.\",\"help\":\"WITH variables \"}],\"supportSiteInformation\":{\"docsetId\":\"statug\",\"docsetVersion\":\"latest\",\"docsetTargetFile\":\"statug_cancorr_toc.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/CANDISC.json",
    "content": "{\"name\":\"CANDISC\",\"statements\":[{\"name\":\"PROC CANDISC\",\"description\":\"Canonical discriminant analysis is a dimension-reduction technique related to principal component analysis and canonical correlation. The methodology used in deriving the canonical coefficients parallels that of a one-way MANOVA. MANOVA tests for equality of the mean vector across class levels. Canonical discriminant analysis finds linear combinations of the quantitative variables that provide maximal separation between classes or groups. Given a classification variable and several quantitative variables, the CANDISC procedure derives canonical variables, linear combinations of the quantitative variables that summarize between-class variation in much the same way that principal components summarize total variation. † The CANDISC procedure performs a canonical discriminant analysis, computes squared Mahalanobis distances between class means, and performs both univariate and multivariate one-way analyses of variance. Two output data sets can be produced: one containing the canonical coefficients and another containing, among other things, scored canonical variables. The canonical coefficients output data set can be rotated by the FACTOR procedure. It is customary to standardize the canonical coefficients so that the canonical variables have means that are equal to zero and pooled within-class variances that are equal to one. PROC CANDISC displays both standardized and unstandardized canonical coefficients. Correlations between the canonical variables and the original variables as well as the class means for the canonical variables are also displayed; these correlations, sometimes known as loadings, are called canonical structures. The scored canonical variables output data set can be used in conjunction with ODS Graphics to plot pairs of canonical variables in order to aid visual interpretation of group differences.\",\"help\":\"PROC CANDISC <ALL><ANOVA><BCORR><BCOV><BSSCP><DATA=SAS-data-set><DISTANCE><NCAN=n><NOPRINT><OUT=SAS-data-set><OUTSTAT=SAS-data-set><PCORR><PCOV><PREFIX=name><PSSCP><SHORT><SIMPLE><SINGULAR=p><STDMEAN><TCORR><TCOV><TSSCP><WCORR><WCOV><WSSCP>;     \\n\\tBY <DESCENDING><NOTSORTED> ;\\n\\n\\tCLASS variable ;\\n\\n\\tFREQ variable;\\n\\n\\tPROB;\\n\\n\\tVAR;\\n\\n\\tWEIGHT variable;\\n\",\"arguments\":[{\"name\":\"ALL\",\"optional\":true,\"description\":\"Activates all of the display options.\",\"type\":\"standalone\"},{\"name\":\"ANOVA\",\"optional\":true,\"description\":\"Displays univariate statistics for testing the hypothesis that the class means are equal in the population for each variable.\",\"type\":\"standalone\"},{\"name\":\"BCORR\",\"optional\":true,\"description\":\"Displays between-class correlations.\",\"type\":\"standalone\"},{\"name\":\"BCOV\",\"optional\":true,\"description\":\"Displays between-class covariances.\",\"type\":\"standalone\"},{\"name\":\"BSSCP\",\"optional\":true,\"description\":\"Displays the between-class SSCP matrix.\",\"type\":\"standalone\"},{\"name\":\"DATA=\",\"optional\":true,\"description\":\"Specifies the data set to be analyzed. The data set can be an ordinary SAS data set or one of several specially structured data sets created by SAS statistical procedures.\",\"help\":\"DATA=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"DISTANCE\",\"optional\":true,\"aliases\":[\"MAHALANOBIS\"],\"description\":\"Displays squared Mahalanobis distances between the group means, F statistics, and the corresponding probabilities of greater squared Mahalanobis distances between the group means.\",\"type\":\"standalone\"},{\"name\":\"NCAN=\",\"optional\":true,\"description\":\"Specifies the number of canonical variables to be computed.\",\"help\":\"NCAN=*n*\",\"type\":\"value\"},{\"name\":\"NOPRINT\",\"optional\":true,\"description\":\"Suppresses the normal display of results. Note that this option temporarily disables the Output Delivery System (ODS).\",\"type\":\"standalone\"},{\"name\":\"OUT=\",\"optional\":true,\"description\":\"Creates an output SAS data set containing the original data and the canonical variable scores.\",\"help\":\"OUT=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"OUTSTAT=\",\"optional\":true,\"description\":\"Creates a TYPE=CORR output SAS data set that contains various statistics, including class means, standard deviations, correlations, canonical correlations, canonical structures, canonical coefficients, and means of canonical variables for each class.\",\"help\":\"OUTSTAT=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"PCORR\",\"optional\":true,\"description\":\"Displays pooled within-class correlations (partial correlations based on the pooled within-class covariances).\",\"type\":\"standalone\"},{\"name\":\"PCOV\",\"optional\":true,\"description\":\"Displays pooled within-class covariances.\",\"type\":\"standalone\"},{\"name\":\"PREFIX=\",\"optional\":true,\"description\":\"Specifies a prefix for naming the canonical variables.\",\"help\":\"PREFIX=*name*\",\"type\":\"value\"},{\"name\":\"PSSCP\",\"optional\":true,\"description\":\"Displays the pooled within-class corrected SSCP matrix.\",\"type\":\"standalone\"},{\"name\":\"SHORT\",\"optional\":true,\"description\":\"Suppresses the display of canonical structures, canonical coefficients, and class means on canonical variables; only tables of canonical correlations and multivariate test statistics are displayed.\",\"type\":\"standalone\"},{\"name\":\"SIMPLE\",\"optional\":true,\"description\":\"Displays simple descriptive statistics for the total sample and within each class.\",\"type\":\"standalone\"},{\"name\":\"SINGULAR=\",\"optional\":true,\"description\":\"Specifies the criterion for determining the singularity of the total-sample correlation matrix and the pooled within-class covariance matrix, where 0 < p < 1. The default is SINGULAR=1E–8.\",\"help\":\"SINGULAR=*p*\",\"type\":\"value\"},{\"name\":\"STDMEAN\",\"optional\":true,\"description\":\"Displays total-sample and pooled within-class standardized class means.\",\"type\":\"standalone\"},{\"name\":\"TCORR\",\"optional\":true,\"description\":\"Displays total-sample correlations.\",\"type\":\"standalone\"},{\"name\":\"TCOV\",\"optional\":true,\"description\":\"Displays total-sample covariances.\",\"type\":\"standalone\"},{\"name\":\"TSSCP\",\"optional\":true,\"description\":\"Displays the total-sample corrected SSCP matrix.\",\"type\":\"standalone\"},{\"name\":\"WCORR\",\"optional\":true,\"description\":\"Displays within-class correlations for each class level.\",\"type\":\"standalone\"},{\"name\":\"WCOV\",\"optional\":true,\"description\":\"Displays within-class covariances for each class level.\",\"type\":\"standalone\"},{\"name\":\"WSSCP\",\"optional\":true,\"description\":\"Displays the within-class corrected SSCP matrix for each class level.\",\"type\":\"standalone\"}]},{\"name\":\"BY\",\"description\":\"Obtains separate analyses on observations in groups defined by the BY variables.\",\"help\":\"BY &lt;DESCENDING&gt;&lt;NOTSORTED&gt;\",\"arguments\":[{\"name\":\"DESCENDING\",\"optional\":true,\"description\":\"Specifies that the observations are sorted in descending order by the variable that immediately follows the word DESCENDING in the BY statement.\",\"type\":\"standalone\"},{\"name\":\"NOTSORTED\",\"optional\":true,\"description\":\"Specifies that observations are not necessarily sorted in alphabetic or numeric order.\",\"type\":\"standalone\"}]},{\"name\":\"CLASS\",\"aliases\":[\"CLASSES\"],\"description\":\"The values of the CLASS variable define the groups for analysis. Class levels are determined by the formatted values of the CLASS variable. The CLASS variable can be numeric or character. A CLASS statement is required.\",\"help\":\"CLASS variable \"},{\"name\":\"FREQ\",\"description\":\"If one variable in your data set represents the frequency of occurrence for the other values in the observation, specify the variable’s name in a FREQ statement. PROC CANDISC then treats the data set as if each observation appears ni times, where ni is the value of the FREQ variable for observation i.\",\"help\":\"FREQ variable\"},{\"name\":\"PROB\",\"description\":\"\",\"help\":\"PROB\"},{\"name\":\"VAR\",\"aliases\":[\"VARIABLES\"],\"description\":\"VAR variable(s); You specify the quantitative variables to include in the analysis by using a VAR statement. If you do not use a VAR statement, the analysis includes all numeric variables not listed in other statements.\",\"help\":\"VAR\"},{\"name\":\"WEIGHT\",\"description\":\"To use relative weights for each observation in the input data set, place the weights in a variable in the data set and specify the name in a WEIGHT statement.\",\"help\":\"WEIGHT variable\"}],\"supportSiteInformation\":{\"docsetId\":\"statug\",\"docsetVersion\":\"latest\",\"docsetTargetFile\":\"statug_candisc_toc.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/CAPABILITY.json",
    "content": "{\"name\":\"CAPABILITY\",\"statements\":[{\"name\":\"PROC CAPABILITY\",\"description\":\"A process capability analysis compares the distribution of output from an in-control process to its specification limits to determine the consistency with which the specifications can be met. The CAPABILITY procedure provides the following: † o process capability indices, such as Cp and Cpk o descriptive statistics based on moments, including skewness and kurtosis. Other descriptive information provided includes quantiles or percentiles (such as the median), frequency tables, and details on extreme values. o histograms and comparative histograms. Optionally, these can be superimposed with specification limits, fitted probability density curves for various distributions, and kernel density estimates. o cumulative distribution function plots (cdf plots). Optionally, these can be superimposed with specification limits and probability distribution curves for various distributions. o quantile-quantile plots (Q-Q plots), probability plots, and probability-probability plots (P-P plots). These plots facilitate the comparison of a data distribution with various theoretical distributions. Optionally, Q-Q plots and probability plots can be superimposed with specification limits. o goodness-of-fit tests for a variety of distributions including the normal. The assumption of normality is critical to the interpretation of capability indices. o statistical intervals (prediction, tolerance, and confidence intervals) for a normal population o the ability to produce plots either as traditional graphics, ODS Graphics output, or legacy line printer plots. Traditional graphics can be saved, replayed, and annotated. o the ability to inset summary statistics and capability indices in graphical output o the ability to analyze data sets with a frequency variable o the ability to read specification limits from a data set o the ability to create output data sets containing summary statistics, capability indices, histogram intervals, parameters of fitted curves, and statistical intervals † You can use the PROC CAPABILITY statement, together with the VAR and SPEC statements, to compute summary statistics and process capability indices.\",\"help\":\"PROC CAPABILITY <ALL><ALPHA=value><ANNOTATE=SAS-data-set><CHECKINDICES<(<TEST = SW | KS | AD | CVM | NONE> <ALPHA=value>)>><CIBASIC<(<TYPE=LOWER | UPPER | TWOSIDED><ALPHA=value>)>><CIPCTLDF<(<TYPE=LOWER | UPPER | TWOSIDED><ALPHA=value>)>><CIPCTLNORMAL<(<TYPE=LOWER | UPPER | TWOSIDED><ALPHA=value>)>><CIPROBEX<(<TYPE=LOWER | UPPER | TWOSIDED><ALPHA=value>)>><CPMA=value><DATA=SAS-data-set><DEF=index><EXCLNPWGT><FORMCHAR(index)='string'><FREQ><GOUT=graphics-catalog><LINEPRINTER><LOCCOUNT><MODES><MU0=value(s)><NEXTROBS=n><NEXTRVAL=n><NOPRINT><NORMALTEST><OUTTABLE=SAS-data-set><PCTLDEF=1 | 2 | 3... ><ROBUSTSCALE><ROUND=value-list><SPECIALINDICES><SPECS=SAS-data-set><TRIMMED=values(s) <(TYPE=keyword><ALPHA=value>)>><VARDEF=DF | N | WDF... ><WINSORIZED=values(s) <(TYPE=keyword><ALPHA=value>)>>;     \\n\\tBY variables;\\n\\n\\tCDFPLOT <ALPHA=value><BETA<(beta-options)>><BETA=value> ...;\\n\\n\\tCLASS <KEYLEVEL=value | ( value1 value2 )><NOKEYMOVE> ORDER= ...;\\n\\n\\tCOMPHISTOGRAM <BARLABEL=<COUNT | PERCENT | PROPORTION>><BARWIDTH=value><C=value-list | MISE> ...;\\n\\n\\tFREQ variable;\\n\\n\\tHISTOGRAM <ALPHA=value><BARLABEL=<COUNT | PERCENT | PROPORTION>><BETA<(beta-options)>> ...;\\n\\n\\tID variable;\\n\\n\\tINSET <CFILL=color | BLANK><CFILL=BLANK><CFILLH=color> ...;\\n\\n\\tINTERVALS <ALPHA=value-list><K=value-list><METHODS=<1 | 2 | 3>... > ...;\\n\\n\\tOUTPUT <OUT=SAS-data-set><PCTLPRE=prefixes><PCTLPTS=percentiles> ...;\\n\\n\\tPPPLOT <ALPHA=value-list><BETA<(beta-options)>><BETA=value> ...;\\n\\n\\tPROBPLOT <ALPHA=value-list | EST><BETA(ALPHA=value | EST BETA=value | EST <beta-options>)><BETA=value|EST> ...;\\n\\n\\tQQPLOT <ALPHA=value-list | EST><BETA(ALPHA=value | EST BETA=value | EST <beta-options>)><BETA=value|EST> ...;\\n\\n\\tSPEC <CLEFT=color><CLSL=color><CRIGHT=color> ...;\\n\\n\\tVAR;\\n\\n\\tWEIGHT variable;\\n\",\"arguments\":[{\"name\":\"ALL\",\"optional\":true,\"description\":\"Requests all of the tables generated by the FREQ, MODES, NEXTRVAL=5, CIBASIC, CIPCTLDF, and CIPCTLNORMAL options.\",\"type\":\"standalone\"},{\"name\":\"ALPHA=\",\"optional\":true,\"description\":\"Specifies the default confidence level for all confidence limits computed by the CAPABILITY procedure. The coverage percent for the confidence limits is (1-value)100. For example, ALPHA=0.10 results in 90% confidence limits. The default value is 0.05.\",\"help\":\"ALPHA=*value*\",\"type\":\"value\"},{\"name\":\"ANNOTATE=\",\"optional\":true,\"aliases\":[\"ANNO=\"],\"description\":\"Specifies an input data set containing annotate variables as described in SAS/GRAPH documentation.\",\"help\":\"ANNOTATE=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"CHECKINDICES\",\"optional\":true,\"description\":\"Specifies the test of normality used in conjunction with process capability indices that are displayed in the Process Capability Indices table.\",\"type\":\"standalone\"},{\"name\":\"CIBASIC\",\"optional\":true,\"description\":\"Requests confidence limits for the mean, standard deviation, and variance based on the assumption that the data are normally distributed. TYPE=keyword specifies the type of confidence limit, where keyword is LOWER, UPPER, or TWOSIDED. The default value is TWOSIDED.\",\"type\":\"standalone\"},{\"name\":\"CIPCTLDF\",\"optional\":true,\"aliases\":[\"CIQUANTDF\"],\"description\":\"Requests confidence limits for quantiles computed using a distribution-free method. TYPE=keyword specifies the type of confidence limit, where keyword is LOWER, UPPER, SYMMETRIC, or ASYMMETRIC. The default value is SYMMETRIC.\",\"type\":\"standalone\"},{\"name\":\"CIPCTLNORMAL\",\"optional\":true,\"aliases\":[\"CIQUANTNORMAL\"],\"description\":\"requests confidence limits for quantiles based on the assumption that the data are normally distributed. TYPE=keyword specifies the type of confidence limit.\",\"type\":\"standalone\"},{\"name\":\"CIPROBEX\",\"optional\":true,\"description\":\"Requests confidence limits for Pr[X <= LSL] and Pr[X ≥ USL], where X is the analysis variable, LSL is the lower specification limit, and USL is the upper specification limit. TYPE=keyword specifies the type of confidence limit, where keyword is LOWER, UPPER, or TWOSIDED. The default value is TWOSIDED.\",\"type\":\"standalone\"},{\"name\":\"CPMA=\",\"optional\":true,\"description\":\"Specifies the value of the parameter α for the capability index Cpm(a). This option has been superseded by the SPECIALINDICES(CPMA=) option.\",\"help\":\"CPMA=*value*\",\"type\":\"value\"},{\"name\":\"DATA=\",\"optional\":true,\"description\":\"Specifies the input data set containing the observations to be analyzed.\",\"help\":\"DATA=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"EXCLNPWGT\",\"optional\":true,\"description\":\"Excludes observations with non-positive weight values (zero or nonnegative) for the analysis.\",\"type\":\"standalone\"},{\"name\":\"FORMCHAR=\",\"optional\":true,\"description\":\"Defines characters used for features on plots, where index is a number ranging from 1 to 11, and string is a character or hexadecimal string. The index identifies which features are controlled with the string characters. The features associated with values of index are as follows: Index Description of Character Chart Feature 1 vertical bar frame, ecdf line, HREF= lines 2 horizontal bar frame, ecdf line, VREF= lines 3 box character (upper left) frame, ecdf line, histogram bars 4 box character (upper middle) histogram bars, tick marks (horizontal axis) 5 box character (upper right) frame, histogram bars 6 box character (middle left) histogram bars 7 box character (middle middle) not used 8 box character (middle right) histogram bars, tick marks (vertical axis) 9 box character (lower left) frame 10 box character (lower middle) histogram bars 11 box character (lower right) frame, ecdf line\",\"type\":\"value\"},{\"name\":\"FREQ\",\"optional\":true,\"description\":\"Requests a frequency table in the printed output that contains the variable values, frequencies, percentages, and cumulative percentages.\",\"type\":\"standalone\"},{\"name\":\"GOUT=\",\"optional\":true,\"description\":\"Specifies a graphics catalog in which to save graphics output.\",\"help\":\"GOUT=*graphics-catalog*\",\"type\":\"dataSet\"},{\"name\":\"LINEPRINTER\",\"optional\":true,\"description\":\"Requests that line printer plots be produced. By default, the procedure creates traditional graphics.\",\"type\":\"standalone\"},{\"name\":\"LOCCOUNT\",\"optional\":true,\"description\":\"Requests a table with the number of observations greater than, not equal to, and less than the value of MUO=.\",\"type\":\"standalone\"},{\"name\":\"MODES\",\"optional\":true,\"aliases\":[\"MODE\"],\"description\":\"Requests a table of all possible modes. By default, when the data contains multiple modes, PROC CAPABILITY displays the lowest mode in the table of basic statistical measures. When all values are unique, PROC CAPABILITY does not produce a table of modes.\",\"type\":\"standalone\"},{\"name\":\"MU0=\",\"optional\":true,\"aliases\":[\"LOCATION=\"],\"description\":\"Specifies the value of the mean or location parameter (uo) in the null hypothesis for the tests summarized in the table labeled Tests for Location: Mu0=value.\",\"type\":\"value\"},{\"name\":\"NEXTROBS=\",\"optional\":true,\"description\":\"Specifies the number of extreme observations in the table labeled Extreme Observations. The table lists the n lowest observations and the n highest observations. The default value is 5.\",\"help\":\"NEXTROBS=*n*\",\"type\":\"value\"},{\"name\":\"NEXTRVAL=\",\"optional\":true,\"description\":\"Requests the table labeled Extreme Values and specifies the number of extreme values in the table. The table lists the n lowest unique values and the n highest unique values. The value of n must be an integer between 0 and half the maximum number of observations.\",\"help\":\"NEXTRVAL=*n*\",\"type\":\"value\"},{\"name\":\"NOPRINT\",\"optional\":true,\"description\":\"Suppresses the tables of descriptive statistics and capability indices which are created by the PROC CAPABILITY statement.\",\"type\":\"standalone\"},{\"name\":\"NORMALTEST\",\"optional\":true,\"aliases\":[\"NORMAL\"],\"description\":\"Requests a table of Tests for Normality for each of the analysis variables.\",\"type\":\"standalone\"},{\"name\":\"OUTTABLE=\",\"optional\":true,\"description\":\"Specifies an output data set that contains univariate statistics and capability indices arranged in tabular form.\",\"help\":\"OUTTABLE=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"PCTLDEF=\",\"optional\":true,\"aliases\":[\"DEF=\"],\"description\":\"Specifies one of five definitions used to calculate percentiles.\",\"help\":\"PCTLDEF=1 | 2 | 3 | 4 | 5\",\"type\":\"choice\",\"arguments\":[{\"name\":\"1\",\"description\":\"Definition 1 for computing quantile statistics\",\"type\":\"standalone\"},{\"name\":\"2\",\"description\":\"Definition 2 for computing quantile statistics\",\"type\":\"standalone\"},{\"name\":\"3\",\"description\":\"Definition 3 for computing quantile statistics\",\"type\":\"standalone\"},{\"name\":\"4\",\"description\":\"Definition 4 for computing quantile statistics\",\"type\":\"standalone\"},{\"name\":\"5\",\"description\":\"Definition 5 for computing quantile statistics\",\"type\":\"standalone\"}]},{\"name\":\"ROBUSTSCALE\",\"optional\":true,\"description\":\"Requests a table of robust measures of scale. These measures include the interquartile range, Gini's mean difference, the median absolute deviation about the median (MAD), and two statistics proposed by Rousseeuw and Croux (1993), Qn, and Sn.\",\"type\":\"standalone\"},{\"name\":\"ROUND=\",\"optional\":true,\"description\":\"Specifies units used to round variable values.\",\"help\":\"ROUND=*value-list*\",\"type\":\"value\"},{\"name\":\"SPECIALINDICES\",\"optional\":true,\"description\":\"Requests a table of specialized process capability indices. You can specify the following options in parentheses after the SPECIALINDICES option: CPMA=value specifies the value of the parameter, a, for the capability index Cpm(a) CPU=value specifies the value of the parameter, u, for Vännmann's capability index Cp(u,v). CPV=value specifies the value of the parameter v for Vännmann's capability indices Cp(u,v) and Cp(v).\",\"type\":\"standalone\"},{\"name\":\"SPECS=\",\"optional\":true,\"aliases\":[\"SPEC=\"],\"description\":\"Specifies an input data set containing specification limits for each of the variables in the VAR statement.\",\"help\":\"SPECS=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"TRIMMED=\",\"optional\":true,\"aliases\":[\"TRIM=\"],\"description\":\"Requests a table of trimmed means, where each value specifies the number or the proportion of trimmed observations. TYPE=keyword specifies the type of confidence limit, where keyword is LOWER, UPPER, or TWOSIDED. The default value is TWOSIDED.\",\"type\":\"value\"},{\"name\":\"VARDEF=\",\"optional\":true,\"description\":\"Specifies the divisor to use in the calculation of variances and standard deviations.\",\"help\":\"VARDEF=DF | N | WDF | WEIGHT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DF\",\"description\":\"Degrees of freedom\",\"type\":\"standalone\"},{\"name\":\"N\",\"description\":\"Number of observations\",\"type\":\"standalone\"},{\"name\":\"WDF\",\"description\":\"Sum of weights minus one\",\"type\":\"standalone\"},{\"name\":\"WEIGHT\",\"description\":\"Sum of weights\",\"type\":\"standalone\"}]},{\"name\":\"WINSORIZED=\",\"optional\":true,\"description\":\"Requests a table of winsorized means, where each value specifies the number or the proportion of winsorized observations. TYPE=keyword specifies the type of confidence limit, where keyword is LOWER, UPPER, or TWOSIDED. The default value is TWOSIDED.\",\"type\":\"value\"}]},{\"name\":\"BY\",\"description\":\"The BY statement specifies variables in the input data set that are used for BY processing. A separate chart is created for each set of observations defined by the levels of the BY variables. The input data set must be sorted in order of the BY variables.\",\"help\":\"BY variables\"},{\"name\":\"CDFPLOT\",\"aliases\":[\"CDF\"],\"description\":\"Plots the observed cumulative distribution function (cdf) of a variable.\",\"help\":\"CDFPLOT &lt;ALPHA=value&gt;&lt;BETA&lt;(beta-options)&gt;&gt;&lt;BETA=value&gt; ...\",\"arguments\":[{\"name\":\"ALPHA=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the shape parameter α (α > 0) for distribution functions requested with the BETA and GAMMA options.\",\"help\":\"ALPHA=*value*\",\"type\":\"value\"},{\"name\":\"ALPHADELTA=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the change in successive estimates of α-hat at which iteration terminates in the Newton-Raphson approximation of the maximum likelihood estimate of α for gamma distributions requested with the GAMMA option.\",\"help\":\"ALPHADELTA=*value*\",\"type\":\"value\"},{\"name\":\"ALPHAINITIAL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the initial value for α-hat in the Newton-Raphson approximation of the maximum likelihood estimate of α for gamma distributions requested with the GAMMA option. Enclose the ALPHAINITIAL= option in parentheses after the GAMMA keyword.\",\"help\":\"ALPHAINITIAL=*value*\",\"type\":\"value\"},{\"name\":\"ANNOKEY\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Applies the annotation requested with the ANNOTATE= option only to the key cell of a comparative plot.\",\"type\":\"standalone\"},{\"name\":\"ANNOTATE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"ANNO=\"],\"description\":\"Specifies an input data set that contains annotate variables.\",\"help\":\"ANNOTATE=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"BETA\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays a fitted beta distribution function on the cdf plot. Description of beta-options:\",\"type\":\"standalone\"},{\"name\":\"BETA=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"B=\"],\"description\":\"Specifies the second shape parameter, β, for beta distribution functions requested by the BETA option.\",\"help\":\"BETA=*value*\",\"type\":\"value\"},{\"name\":\"C=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the shape parameter, c, for Weibull distribution functions requested with the WEIBULL option.\",\"help\":\"C=*value*\",\"type\":\"value\"},{\"name\":\"CAXIS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"CAXES=\",\"CA=\"],\"description\":\"Specifies the color for the axes and tick marks.\",\"help\":\"CAXIS=*color*\",\"type\":\"color\"},{\"name\":\"CDELTA=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the change in successive estimates of c at which iterations terminate in the Newton-Raphson approximation of the maximum likelihood estimate of c for Weibull distributions requested by the WEIBULL option. Enclose the CDELTA= option in parentheses after the WEIBULL keyword. Iteration continues until the change in c between consecutive steps is less than the value specified or until the number of iterations exceeds the value of the MAXITER= option. The default value is 0.00001.\",\"help\":\"CDELTA=*value*\",\"type\":\"value\"},{\"name\":\"CDFSYMBOL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the character used to plot the points on cdf line printer plots. The default is the plus sign (+).\",\"help\":\"CDFSYMBOL='*character*'\",\"type\":\"value\"},{\"name\":\"CFRAME=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the color for the area that is enclosed by the axes and frame. The area is not filled by default.\",\"help\":\"CFRAME=*color*\",\"type\":\"color\"},{\"name\":\"CFRAMESIDE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the color to fill the frame area for the row labels that display along the left side of a comparative plot.\",\"help\":\"CFRAMESIDE=*color*\",\"type\":\"color\"},{\"name\":\"CFRAMETOP=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the color to fill the frame area for the column labels that display across the top of a comparative plot.\",\"help\":\"CFRAMETOP=*color*\",\"type\":\"color\"},{\"name\":\"CHREF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"CH=\"],\"description\":\"Specifies the color for horizontal axis reference lines requested by the HREF= option.\",\"help\":\"CHREF=*color*\",\"type\":\"color\"},{\"name\":\"CINITIAL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the initial value for c-hat in the Newton-Raphson approximation of the maximum likelihood estimate of c for Weibull distributions requested with the WEIBULL or WEIBULL2 option. The default value is 1.8.\",\"help\":\"CINITIAL=*value*\",\"type\":\"value\"},{\"name\":\"COLOR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the color of the curve or reference line associated with a distribution or kernel density estimate. Enclose the COLOR= option in parentheses after a distribution option or the KERNEL option. In a HISTOGRAM statement, you can specify a list of colors in parentheses for multiple density curves.\",\"help\":\"COLOR=*color*\",\"type\":\"color\"},{\"name\":\"CONTENTS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the table of contents grouping entry for output produced by the plot statement. You can specify CONTENTS='' to suppress the grouping entry.\",\"help\":\"CONTENTS='*string*'\",\"type\":\"value\"},{\"name\":\"CPROP=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the color for a horizontal bar whose length (relative to the width of the tile) indicates the proportion of the total frequency that is represented by the corresponding cell in a comparative plot.\",\"help\":\"CPROP=EMPTY | CPROP*color*\",\"type\":\"color\",\"arguments\":[{\"name\":\"EMPTY\",\"type\":\"standalone\"},{\"name\":\"CPROP\",\"type\":\"color\"}]},{\"name\":\"CTEXT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"CT=\"],\"description\":\"Specifies the color for tick mark values and axis labels. The default is the color specified for the CTEXT= option in the GOPTIONS statement.\",\"help\":\"CTEXT=*color*\",\"type\":\"color\"},{\"name\":\"CTEXTSIDE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the color for the row labels that display along the left side of a comparative plot. By default, the color specified by the CTEXT= option is used. If you omit the CTEXT= option, the color specified in the GOPTIONS statement is used.\",\"help\":\"CTEXTSIDE=*color*\",\"type\":\"color\"},{\"name\":\"CTEXTTOP=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the color for the column labels that display along the left side of a comparative plot. By default, the color specified by the CTEXT= option is used. If you omit the CTEXT= option, the color specified in the GOPTIONS statement is used.\",\"help\":\"CTEXTTOP=*color*\",\"type\":\"color\"},{\"name\":\"CVREF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"CV=\"],\"description\":\"Specifies the color for lines requested with the VREF= option.\",\"help\":\"CVREF=*color*\",\"type\":\"color\"},{\"name\":\"DESCRIPTION=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"DES=\"],\"description\":\"Specifies a description, up to 256 characters long, that appears in the PROC GREPLAY master menu for a traditional graphics chart. The default value is the analysis variable name.\",\"help\":\"DESCRIPTION='*string*'\",\"type\":\"value\"},{\"name\":\"EXPONENTIAL\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"EXP\"],\"description\":\"Displays a fitted exponential distribution function on the cdf plot. Description of exponential-options:\",\"type\":\"standalone\"},{\"name\":\"FITINTERVAL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the value of z for the method of percentiles when this method is used to fit a Johnson sB or Johnson sU distribution. The FITINTERVAL= option is specified in parentheses after the SB or SU option. The default of z is 0.524.\",\"help\":\"FITINTERVAL=*value*\",\"type\":\"value\"},{\"name\":\"FITMETHOD=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the method used to estimate the parameters of a Johnson sB or Johnson sU distribution. The FITMETHOD= option is specified in parentheses after the SB or SU option. By default, the method of percentiles is used.\",\"help\":\"FITMETHOD=PERCENTILE | MLE | MOMENTS\",\"type\":\"choice\",\"arguments\":[{\"name\":\"PERCENTILE\",\"followsDelimiter\":\"/\",\"description\":\"Method of percentiles.\",\"type\":\"standalone\"},{\"name\":\"MLE\",\"followsDelimiter\":\"/\",\"description\":\"Method of MLE.\",\"type\":\"standalone\"},{\"name\":\"MOMENTS\",\"followsDelimiter\":\"/\",\"description\":\"Method of moments.\",\"type\":\"standalone\"}]},{\"name\":\"FITTOLERANCE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the tolerance value for the ratio criterion when the method of percentiles is used to fit a Johnson sB or Johnson sU distribution. The FITTOLERANCE= option is specified in parentheses after the SB or SU option. The default value is 0.01.\",\"help\":\"FITTOLERANCE=*value*\",\"type\":\"value\"},{\"name\":\"FONT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies a software font for reference line and axis labels. You can also specify fonts for axis labels in an AXIS statement. The FONT= font takes precedence over the FTEXT= font specified in the GOPTIONS statement.\",\"help\":\"FONT=*font*\",\"type\":\"value\"},{\"name\":\"GAMMA\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays a fitted gamma distribution function on the cdf plot. Description of gamma-options: ALPHADELTA=value -- specifies change in successive estimates of α at which the Newton-Raphson approximation of -hat terminates ALPHAINITIAL=value -- specifies initial value for α in the Newton-Raphson approximation of α-hat MAXITER= -- specifies maximum number of iterations in the Newton-Raphson approximation of α-hat SIGMA=value -- specifies scale parameter, σ, for gamma distribution function ALPHA=value -- specifies shape parameter, α, for gamma distribution function THETA=value -- specifies threshold parameter, θ, for gamma distribution function COLOR=color -- specifies color of theoretical distribution function L=linetype -- specifies line type of theoretical distribution function SYMBOL='character' -- specifies character used to plot theoretical distribution function on line printer plots W= -- specifies width of theoretical distribution function\",\"type\":\"standalone\"},{\"name\":\"HAXIS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the name of an AXIS statement describing the horizontal axis.\",\"help\":\"HAXIS=*value*\",\"type\":\"value\"},{\"name\":\"HEIGHT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"HM=\"],\"description\":\"Specifies the height, in percentage screen units, of text for axis labels, tick mark labels, and legends. This option takes precedence over the HTEXT= option in the GOPTIONS statement.\",\"help\":\"HEIGHT=*value*\",\"type\":\"value\"},{\"name\":\"HMINOR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the number of minor tick marks between each major tick mark on the horizontal axis. Minor tick marks are not labeled. By default, HMINOR=0.\",\"help\":\"HMINOR=*n*\",\"type\":\"value\"},{\"name\":\"HREFLABELS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"HREFLABEL=\",\"HREFLAB=\"],\"description\":\"Specifies labels for the lines requested by the HREF= option. The number of labels must equal the number of lines. Enclose each label in quotes. Labels can have up to 16 characters.\",\"type\":\"value\"},{\"name\":\"HREFLABPOS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the vertical position of the HREFLABELS= labels.\",\"help\":\"HREFLABPOS=1 | 2 | 3 | 4\",\"type\":\"choice\",\"arguments\":[{\"name\":\"1\",\"followsDelimiter\":\"/\",\"description\":\"Along top of plot\",\"type\":\"standalone\"},{\"name\":\"2\",\"followsDelimiter\":\"/\",\"description\":\"Staggered from top to bottom of plot\",\"type\":\"standalone\"},{\"name\":\"3\",\"followsDelimiter\":\"/\",\"description\":\"Along bottom of plot\",\"type\":\"standalone\"},{\"name\":\"4\",\"followsDelimiter\":\"/\",\"description\":\"Staggered from bottom to top of plot\",\"type\":\"standalone\"}]},{\"name\":\"INFONT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies a software font to use for text inside the framed areas of the plot. The INFONT= option takes precedence over the FTEXT= option in the GOPTIONS statement.\",\"help\":\"INFONT=*font*\",\"type\":\"value\"},{\"name\":\"INHEIGHT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the height, in percentage screen units, of text used inside the framed areas of the histogram. By default, the height specified by the HEIGHT= option is used. If you do not specify the HEIGHT= option, the height specified with the HTEXT= option in the GOPTIONS statement is used.\",\"help\":\"INHEIGHT=*value*\",\"type\":\"value\"},{\"name\":\"INTERTILE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the distance in horizontal percentage screen units between the framed areas, called tiles, of a comparative plot. By default, INTERTILE=0.75 percentage screen units. This option is not available unless you use the CLASS statement. You can specify INTERTILE=0 to create contiguous tiles.\",\"help\":\"INTERTILE=*value*\",\"type\":\"value\"},{\"name\":\"L=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the line type of the curve or reference line associated with a distribution or kernel density estimate. Enclose the L= option in parentheses after the distribution option or the KERNEL option. In a HISTOGRAM statement, you can specify a list of line types in parentheses for multiple density curves.\",\"help\":\"L=*linetype*\",\"type\":\"value\"},{\"name\":\"LEGEND=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the name of a LEGEND statement describing the legend for specification limit reference lines and superimposed distribution functions.\",\"help\":\"LEGEND=*name* | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NONE\",\"followsDelimiter\":\"/\",\"description\":\"Suppresses all legend information and is equivalent to specifying the NOLEGEND option.\",\"type\":\"standalone\"}]},{\"name\":\"LHREF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"LH=\"],\"description\":\"Specifies the line type for the reference lines that you request with the HREF= option. By default, LHREF=2, which produces a dashed line.\",\"help\":\"LHREF=*linetype*\",\"type\":\"value\"},{\"name\":\"LOGNORMAL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays a fitted lognormal distribution function on the cdf plot. Description of lognormal-options:\",\"type\":\"standalone\"},{\"name\":\"LVREF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"LV=\"],\"description\":\"Specifies the line type for lines requested with the VREF= option. By default, LVREF=2, which produces a dashed line.\",\"help\":\"LVREF=*linetype*\",\"type\":\"value\"},{\"name\":\"MAXITER=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the maximum number of iterations in the Newton-Raphson approximation of the maximum likelihood estimate of α for gamma distributions requested with the GAMMA option and c for Weibull distributions requested with the WEIBULL and WEIBULL2 options. Enclose the MAXITER= option in parentheses after the GAMMA, WEIBULL, or WEIBULL2 keywords. The default value of n is 20.\",\"help\":\"MAXITER=*n*\",\"type\":\"value\"},{\"name\":\"MU=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the parameter, µ, for normal distribution functions requested with the NORMAL option.\",\"help\":\"MU=*value*\",\"type\":\"value\"},{\"name\":\"NAME=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies a name for the plot, up to eight characters long, that appears in the PROC GREPLAY master menu for a traditional graphics chart. The default value is 'UNIVAR'.\",\"help\":\"NAME='*string*'\",\"type\":\"value\"},{\"name\":\"NCOLS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"NCOL=\"],\"description\":\"Specifies the number of columns per panel in a comparative plot. This option is not available unless you use the CLASS statement. By default, NCOLS=1 if you specify only one CLASS variable, and NCOLS=2 if you specify two CLASS variables. If you specify two CLASS variables, you can use the NCOLS= option with the NROWS= option.\",\"help\":\"NCOLS=*n*\",\"type\":\"value\"},{\"name\":\"NOCDFLEGEND\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Suppresses the legend for the superimposed theoretical cumulative distribution function.\",\"type\":\"standalone\"},{\"name\":\"NOECDF\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Suppresses the observed distribution function (the empirical cumulative distribution function) of the variable, which is drawn by default.\",\"type\":\"standalone\"},{\"name\":\"NOFRAME\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Suppresses the frame around the subplot area.\",\"type\":\"standalone\"},{\"name\":\"NOHLABEL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Suppresses the label for the horizontal axis. You can use this option to reduce clutter.\",\"type\":\"standalone\"},{\"name\":\"NOLEGEND\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Suppresses legends for specification limits, theoretical distribution functions, and hidden observations.\",\"type\":\"standalone\"},{\"name\":\"NORMAL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays a fitted normal distribution function on the cdf plot. Description of normal-options:\",\"type\":\"standalone\"},{\"name\":\"NOSPECLEGEND\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"NOSPECL\"],\"description\":\"Suppresses the portion of the legend for specification limit reference lines.\",\"type\":\"standalone\"},{\"name\":\"NOVLABEL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Suppresses the label for the vertical axis. You can use this option to reduce clutter.\",\"type\":\"standalone\"},{\"name\":\"NOVTICK\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Suppresses the tick marks and tick mark labels for the vertical axis. This option also suppresses the label for the vertical axis.\",\"type\":\"standalone\"},{\"name\":\"NROWS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"NROW=\"],\"description\":\"Specifies the number of rows per panel in a comparative plot. This option is not available unless you use the CLASS statement. By default, NROWS=2. If you specify two CLASS variables, you can use the NCOLS= option with the NROWS= option.\",\"help\":\"NROWS=*n*\",\"type\":\"value\"},{\"name\":\"OVERLAY\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies that plots associated with different levels of a CLASS variable be overlaid onto a single plot, rather than displayed as separate cells in a comparative plot.\",\"type\":\"standalone\"},{\"name\":\"SCALE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Is an alias for the SIGMA= option for distributions requested by the BETA, EXPONENTIAL, GAMMA, SB, SU, WEIBULL, and WEIBULL2 options and for the ZETA= option for distributions requested by the LOGNORMAL option.\",\"help\":\"SCALE=*value*\",\"type\":\"value\"},{\"name\":\"SHAPE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Is an alias for the ALPHA= option for distributions requested by the GAMMA option, for the SIGMA= option for distributions requested by the LOGNORMAL option, and for the C= option for distributions requested by the WEIBULL and WEIBULL2 options.\",\"help\":\"SHAPE=*value*\",\"type\":\"value\"},{\"name\":\"SIGMA=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the parameter, σ, for distribution functions requested by the BETA, EXPONENTIAL, GAMMA, LOGNORMAL, NORMAL, and WEIBULL options.\",\"type\":\"value\"},{\"name\":\"SYMBOL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the character used to plot the theoretical distribution function on line printer plots. Enclose the SYMBOL= option in parentheses after the distribution option.\",\"help\":\"SYMBOL='*character*'\",\"type\":\"value\"},{\"name\":\"THETA=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the lower threshold parameter, θ, for theoretical cumulative distribution functions requested with the BETA, EXPONENTIAL, GAMMA, LOGNORMAL, and WEIBULL options.\",\"type\":\"value\"},{\"name\":\"THRESHOLD=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the lower threshold parameter, θ, for theoretical cumulative distribution functions requested with the BETA, EXPONENTIAL, GAMMA, LOGNORMAL, and WEIBULL options.\",\"type\":\"value\"},{\"name\":\"TURNVLABELS\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"TURNVLABEL\"],\"description\":\"Turns the characters in the vertical axis labels so that they display vertically. This happens by default when you use a hardware font.\",\"type\":\"standalone\"},{\"name\":\"VAXIS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the name of an AXIS statement describing the vertical axis. In a HISTOGRAM statement, you can alternatively specify a value-list for the vertical axis.\",\"help\":\"VAXIS=*name*\",\"type\":\"value\"},{\"name\":\"VAXISLABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies a label for the vertical axis. Labels can have up to 40 characters.\",\"help\":\"VAXISLABEL='*label*'\",\"type\":\"value\"},{\"name\":\"VMINOR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"VM=\"],\"description\":\"Specifies the number of minor tick marks between each major tick mark on the vertical axis. Minor tick marks are not labeled. The default is zero.\",\"help\":\"VMINOR=*n*\",\"type\":\"value\"},{\"name\":\"VREF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Draws reference lines perpendicular to the vertical axis at the values specified. Also see the CVREF= and LVREF= options.\",\"help\":\"VREF=*value-list*\",\"type\":\"value\"},{\"name\":\"VREFLABELS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"VREFLABEL=\",\"VREFLAB=\"],\"description\":\"Specifies labels for the lines requested by the VREF= option. The number of labels must equal the number of lines. Enclose each label in quotes. Labels can have up to 16 characters.\",\"type\":\"value\"},{\"name\":\"VREFLABPOS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the horizontal position of the VREFLABELS= labels.\",\"help\":\"VREFLABPOS=1 | 2\",\"type\":\"choice\",\"arguments\":[{\"name\":\"1\",\"followsDelimiter\":\"/\",\"description\":\"Labels are positioned to the left of the plot.\",\"type\":\"standalone\"},{\"name\":\"2\",\"followsDelimiter\":\"/\",\"description\":\"Labels are positioned to the right of the plot.\",\"type\":\"standalone\"}]},{\"name\":\"VSCALE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the scale of the vertical axis.\",\"help\":\"VSCALE=COUNT | PERCENT | PROPORTION\",\"type\":\"choice\",\"arguments\":[{\"name\":\"COUNT\",\"followsDelimiter\":\"/\",\"description\":\"Scales the data in units of the number of observations per data unit.\",\"type\":\"standalone\"},{\"name\":\"PERCENT\",\"followsDelimiter\":\"/\",\"description\":\"Scales the data in units of percent of observations per data unit. This is the default.\",\"type\":\"standalone\"},{\"name\":\"PROPORTION\",\"followsDelimiter\":\"/\",\"description\":\"Scales the data in units of proportion of observations per data unit.\",\"type\":\"standalone\"}]},{\"name\":\"W=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the width in pixels of the curve or reference line associated with a distribution or kernel density estimate. Enclose the W= option in parentheses after the distribution option or the KERNEL option. In a HISTOGRAM statement, you can specify a list of widths in parentheses for multiple density curves.\",\"type\":\"value\"},{\"name\":\"WAXIS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the line thickness, in pixels, for the axes and frame.\",\"help\":\"WAXIS=*n*\",\"type\":\"value\"},{\"name\":\"WEIBULL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays a fitted Weibull distribution function on the cdf plot. Description of Weibull-options:\",\"type\":\"standalone\"},{\"name\":\"ZETA=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies a value for the scale parameter, ζ, for a lognormal distribution function requested with the LOGNORMAL option.\",\"help\":\"ZETA=*value*\",\"type\":\"value\"}]},{\"name\":\"CLASS\",\"description\":\"The CLASS statement specifies one or two variables used to group the data into classification levels. Variables in a CLASS statement are referred to as CLASS variables. CLASS variables can be numeric or character. Class variables can have floating point values, but they typically have a few discrete values that define levels of the variable. You do not have to sort the data by CLASS variables. PROC CAPABILITY uses the formatted values of the CLASS variables to determine the classification levels. Note:You cannot specify a COMPHISTOGRAM statement together with a CLASS statement.\",\"help\":\"CLASS &lt;KEYLEVEL=value | ( value1 value2 )&gt;&lt;NOKEYMOVE&gt; ORDER= ...\",\"arguments\":[{\"name\":\"MISSING\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"ORDER=\",\"description\":\"\",\"type\":\"value\"},{\"name\":\"KEYLEVEL=\",\"optional\":true,\"description\":\"Specifies the key cells in comparative plots. For each plot, PROC CAPABILITY first determines the horizontal axis scaling for the key cell, and then extends the axis using the established tick interval to accommodate the data ranges for the remaining cells, if necessary. Thus, the choice of the key cell determines the uniform horizontal axis that PROC CAPABILITY uses for all cells.\",\"type\":\"value\"},{\"name\":\"NOKEYMOVE\",\"optional\":true,\"description\":\"Specifies that the location of the key cell in a comparative plot be unchanged by the CLASS statement KEYLEVEL= option. By default, the key cell is positioned as the first cell in a comparative plot.\",\"type\":\"standalone\"}]},{\"name\":\"COMPHISTOGRAM\",\"aliases\":[\"COMPHIST\"],\"description\":\"Creates a comparative histogram. You must specify at least one variable and either one or two class-variables (also referred to as classification variables). * The COMPHISTOGRAM statement displays a component histogram of the values of the variable for each level of the class-variables.\",\"help\":\"COMPHISTOGRAM &lt;BARLABEL=&lt;COUNT | PERCENT | PROPORTION&gt;&gt;&lt;BARWIDTH=value&gt;&lt;C=value-list | MISE&gt; ...\",\"arguments\":[{\"name\":\"ALPHADELTA=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the change in successive estimates of α-hat at which iteration terminates in the Newton-Raphson approximation of the maximum likelihood estimate of α for gamma distributions requested with the GAMMA option.\",\"help\":\"ALPHADELTA=*value*\",\"type\":\"value\"},{\"name\":\"ALPHAINITIAL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the initial value for α-hat in the Newton-Raphson approximation of the maximum likelihood estimate of α for gamma distributions requested with the GAMMA option. Enclose the ALPHAINITIAL= option in parentheses after the GAMMA keyword.\",\"help\":\"ALPHAINITIAL=*value*\",\"type\":\"value\"},{\"name\":\"ANNOKEY\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Applies the annotation requested with the ANNOTATE= option only to the key cell of a comparative plot.\",\"type\":\"standalone\"},{\"name\":\"ANNOTATE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"ANNO=\"],\"description\":\"Specifies an input data set that contains annotate variables.\",\"help\":\"ANNOTATE=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"BARLABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays labels above the histogram bars.\",\"help\":\"BARLABEL=COUNT | PERCENT | PROPORTION\",\"type\":\"choice\",\"arguments\":[{\"name\":\"COUNT\",\"followsDelimiter\":\"/\",\"description\":\"The label shows the number of observations associated with a given bar.\",\"type\":\"standalone\"},{\"name\":\"PERCENT\",\"followsDelimiter\":\"/\",\"description\":\"The label shows the percentage of observations represented by that bar.\",\"type\":\"standalone\"},{\"name\":\"PROPORTION\",\"followsDelimiter\":\"/\",\"description\":\"The label displays the proportion of observations associated with the bar.\",\"type\":\"standalone\"}]},{\"name\":\"BARWIDTH=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the width of the histogram bars in percentage screen units.)>\",\"help\":\"BARWIDTH=*value*\",\"type\":\"value\"},{\"name\":\"C=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the standardized bandwidth parameter c for kernel density estimates requested with the KERNEL option.\",\"help\":\"C=*value-list* | MISE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"value-list\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the standardized bandwidth parameter c for kernel density estimates requested with the KERNEL option.\",\"type\":\"value\"},{\"name\":\"MISE\",\"followsDelimiter\":\"/\",\"description\":\"Requests the bandwidth parameter that minimizes the estimated mean integrated square error (MISE).\",\"type\":\"standalone\"}]},{\"name\":\"MISE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests the bandwidth parameter that minimizes the estimated mean integrated square error (MISE).\",\"type\":\"standalone\"},{\"name\":\"CAXIS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"CAXES=\",\"CA=\"],\"description\":\"Specifies the color for the axes and tick marks.\",\"help\":\"CAXIS=*color*\",\"type\":\"color\"},{\"name\":\"CBARLINE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the color for the outline of the histogram bars when producing traditional graphics.\",\"help\":\"CBARLINE=*color*\",\"type\":\"color\"},{\"name\":\"CDELTA=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the change in successive estimates of c at which iterations terminate in the Newton-Raphson approximation of the maximum likelihood estimate of c for Weibull distributions requested by the WEIBULL option. Enclose the CDELTA= option in parentheses after the WEIBULL keyword. Iteration continues until the change in c between consecutive steps is less than the value specified or until the number of iterations exceeds the value of the MAXITER= option. The default value is 0.00001.\",\"help\":\"CDELTA=*value*\",\"type\":\"value\"},{\"name\":\"CFILL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the color to fill the bars of the histogram (or the area under a fitted density curve if you also specify the FILL option) when producing traditional graphics.\",\"help\":\"CFILL=*color*\",\"type\":\"color\"},{\"name\":\"CFRAME=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the color for the area that is enclosed by the axes and frame. The area is not filled by default.\",\"help\":\"CFRAME=*color*\",\"type\":\"color\"},{\"name\":\"CFRAMENLEG=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies that the legend requested with the NLEGEND option (or the variable _TILELB_ in a CLASSSPEC= data set) is to be framed and that the frame is to be filled with the color indicated.\",\"help\":\"CFRAMENLEG=*color* | EMPTY\",\"type\":\"choice\",\"arguments\":[{\"name\":\"color\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies that the legend requested with the NLEGEND option (or the variable _TILELB_ in a CLASSSPEC= data set) is to be framed and that the frame is to be filled with the color indicated.\",\"type\":\"color\"},{\"name\":\"EMPTY\",\"followsDelimiter\":\"/\",\"description\":\"Specifies that the legend requested with the NLEGEND option (or the variable _TILELB_ in a CLASSSPEC= data set) is to be framed but not filled with a color.\",\"type\":\"standalone\"}]},{\"name\":\"CFRAMESIDE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the color to fill the frame area for the row labels that display along the left side of a comparative plot.\",\"help\":\"CFRAMESIDE=*color*\",\"type\":\"color\"},{\"name\":\"CFRAMETOP=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the color to fill the frame area for the column labels that display across the top of a comparative plot.\",\"help\":\"CFRAMETOP=*color*\",\"type\":\"color\"},{\"name\":\"CGRID=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the color for grid lines requested with the GRID option.\",\"help\":\"CGRID=*color*\",\"type\":\"color\"},{\"name\":\"CHREF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"CH=\"],\"description\":\"Specifies the color for horizontal axis reference lines requested by the HREF= option.\",\"help\":\"CHREF=*color*\",\"type\":\"color\"},{\"name\":\"CINITIAL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the initial value for c-hat in the Newton-Raphson approximation of the maximum likelihood estimate of c for Weibull distributions requested with the WEIBULL or WEIBULL2 option. The default value is 1.8.\",\"help\":\"CINITIAL=*value*\",\"type\":\"value\"},{\"name\":\"CLASS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies that a comparative histogram is to be created using the levels of the variables (also referred to as class-variables or classification variables).\",\"type\":\"value\"},{\"name\":\"CLASSKEY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies that a comparative histogram is to be created using the levels of the variables (also referred to as class-variables or classification variables).\",\"type\":\"value\"},{\"name\":\"CLASSSPEC=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies a data set that provides distinct specification limits for each cell, as well as a color, legend, and label for the corresponding tile.\",\"help\":\"CLASSSPEC=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"CLIPSPEC=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies that histogram bars are clipped at the upper and lower specification limit lines when there are no observations outside the specification limits.\",\"help\":\"CLIPSPEC=CLIP | NOFILL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"CLIP\",\"followsDelimiter\":\"/\",\"description\":\"The histogram bar is truncated at the specification limit.\",\"type\":\"standalone\"},{\"name\":\"NOFILL\",\"followsDelimiter\":\"/\",\"description\":\"The portion of a filled histogram bar outside the specification limit is left unfilled.\",\"type\":\"standalone\"}]},{\"name\":\"COLOR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the color of the curve or reference line associated with a distribution or kernel density estimate. Enclose the COLOR= option in parentheses after a distribution option or the KERNEL option. In a HISTOGRAM statement, you can specify a list of colors in parentheses for multiple density curves.\",\"help\":\"COLOR=*color*\",\"type\":\"color\"},{\"name\":\"CONTENTS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the table of contents grouping entry for output produced by the plot statement. You can specify CONTENTS='' to suppress the grouping entry.\",\"help\":\"CONTENTS='*string*'\",\"type\":\"value\"},{\"name\":\"CPROP=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the color for a horizontal bar whose length (relative to the width of the tile) indicates the proportion of the total frequency that is represented by the corresponding cell in a comparative plot.\",\"help\":\"CPROP=EMPTY | CPROP*color*\",\"type\":\"color\",\"arguments\":[{\"name\":\"EMPTY\",\"type\":\"standalone\"},{\"name\":\"CPROP\",\"type\":\"color\"}]},{\"name\":\"CTEXT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"CT=\"],\"description\":\"Specifies the color for tick mark values and axis labels. The default is the color specified for the CTEXT= option in the GOPTIONS statement.\",\"help\":\"CTEXT=*color*\",\"type\":\"color\"},{\"name\":\"CTEXTSIDE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the color for the row labels that display along the left side of a comparative plot. By default, the color specified by the CTEXT= option is used. If you omit the CTEXT= option, the color specified in the GOPTIONS statement is used.\",\"help\":\"CTEXTSIDE=*color*\",\"type\":\"color\"},{\"name\":\"CTEXTTOP=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the color for the column labels that display along the left side of a comparative plot. By default, the color specified by the CTEXT= option is used. If you omit the CTEXT= option, the color specified in the GOPTIONS statement is used.\",\"help\":\"CTEXTTOP=*color*\",\"type\":\"color\"},{\"name\":\"CVREF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"CV=\"],\"description\":\"Specifies the color for lines requested with the VREF= option.\",\"help\":\"CVREF=*color*\",\"type\":\"color\"},{\"name\":\"DESCRIPTION=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"DES=\"],\"description\":\"Specifies a description, up to 256 characters long, that appears in the PROC GREPLAY master menu for a traditional graphics chart. The default value is the analysis variable name.\",\"help\":\"DESCRIPTION='*string*'\",\"type\":\"value\"},{\"name\":\"ENDPOINTS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies that histogram interval endpoints, rather than midpoints, are aligned with horizontal axis tick marks, and specifies how the endpoints are determined.\",\"help\":\"ENDPOINTS=*value-list* | KEY | UNIFORM\",\"type\":\"choice\",\"arguments\":[{\"name\":\"value-list\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"The values must be listed in increasing order and must be evenly spaced. The difference between consecutive endpoints is used as the width of the histogram bars\",\"type\":\"value\"},{\"name\":\"KEY\",\"followsDelimiter\":\"/\",\"description\":\"The procedure first determines the endpoints for the data in the key cell. The initial number of endpoints is based on the number of observations in the key cell by using the method of Terrell and Scott (1985).\",\"type\":\"standalone\"},{\"name\":\"UNIFORM\",\"followsDelimiter\":\"/\",\"description\":\"The procedure determines the endpoints by using all the observations as if there were no cells. In other words, the number of endpoints is computed from the total sample size by using the method of Terrell and Scott (1985).\",\"type\":\"standalone\"}]},{\"name\":\"FILL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Fills areas under a fitted density curve with colors and patterns. Enclose the FILL option in parentheses after the keyword NORMAL or KERNEL.\",\"type\":\"standalone\"},{\"name\":\"FITINTERVAL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the value of z for the method of percentiles when this method is used to fit a Johnson sB or Johnson sU distribution. The FITINTERVAL= option is specified in parentheses after the SB or SU option. The default of z is 0.524.\",\"help\":\"FITINTERVAL=*value*\",\"type\":\"value\"},{\"name\":\"FITMETHOD=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the method used to estimate the parameters of a Johnson sB or Johnson sU distribution. The FITMETHOD= option is specified in parentheses after the SB or SU option. By default, the method of percentiles is used.\",\"help\":\"FITMETHOD=PERCENTILE | MLE | MOMENTS\",\"type\":\"choice\",\"arguments\":[{\"name\":\"PERCENTILE\",\"followsDelimiter\":\"/\",\"description\":\"Method of percentiles.\",\"type\":\"standalone\"},{\"name\":\"MLE\",\"followsDelimiter\":\"/\",\"description\":\"Method of MLE.\",\"type\":\"standalone\"},{\"name\":\"MOMENTS\",\"followsDelimiter\":\"/\",\"description\":\"Method of moments.\",\"type\":\"standalone\"}]},{\"name\":\"FITTOLERANCE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the tolerance value for the ratio criterion when the method of percentiles is used to fit a Johnson sB or Johnson sU distribution. The FITTOLERANCE= option is specified in parentheses after the SB or SU option. The default value is 0.01.\",\"help\":\"FITTOLERANCE=*value*\",\"type\":\"value\"},{\"name\":\"FONT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies a software font for reference line and axis labels. You can also specify fonts for axis labels in an AXIS statement. The FONT= font takes precedence over the FTEXT= font specified in the GOPTIONS statement.\",\"help\":\"FONT=*font*\",\"type\":\"value\"},{\"name\":\"FRONTREF\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Draws reference lines requested with the HREF= and VREF= options in front of the histogram bars.\",\"type\":\"standalone\"},{\"name\":\"GRID\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays a grid to the comparative histogram.\",\"type\":\"standalone\"},{\"name\":\"HAXIS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the name of an AXIS statement describing the horizontal axis.\",\"help\":\"HAXIS=*value*\",\"type\":\"value\"},{\"name\":\"HEIGHT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"HM=\"],\"description\":\"Specifies the height, in percentage screen units, of text for axis labels, tick mark labels, and legends. This option takes precedence over the HTEXT= option in the GOPTIONS statement.\",\"help\":\"HEIGHT=*value*\",\"type\":\"value\"},{\"name\":\"HMINOR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the number of minor tick marks between each major tick mark on the horizontal axis. Minor tick marks are not labeled. By default, HMINOR=0.\",\"help\":\"HMINOR=*n*\",\"type\":\"value\"},{\"name\":\"HOFFSET=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the offset, in percentage screen units, at both ends of the horizontal axis.\",\"help\":\"HOFFSET=*value*\",\"type\":\"value\"},{\"name\":\"HREFLABELS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"HREFLABEL=\",\"HREFLAB=\"],\"description\":\"Specifies labels for the lines requested by the HREF= option. The number of labels must equal the number of lines. Enclose each label in quotes. Labels can have up to 16 characters.\",\"type\":\"value\"},{\"name\":\"HREFLABPOS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the vertical position of the HREFLABELS= labels.\",\"help\":\"HREFLABPOS=1 | 2 | 3 | 4\",\"type\":\"choice\",\"arguments\":[{\"name\":\"1\",\"followsDelimiter\":\"/\",\"description\":\"Along top of plot\",\"type\":\"standalone\"},{\"name\":\"2\",\"followsDelimiter\":\"/\",\"description\":\"Staggered from top to bottom of plot\",\"type\":\"standalone\"},{\"name\":\"3\",\"followsDelimiter\":\"/\",\"description\":\"Along bottom of plot\",\"type\":\"standalone\"},{\"name\":\"4\",\"followsDelimiter\":\"/\",\"description\":\"Staggered from bottom to top of plot\",\"type\":\"standalone\"}]},{\"name\":\"INFONT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies a software font to use for text inside the framed areas of the plot. The INFONT= option takes precedence over the FTEXT= option in the GOPTIONS statement.\",\"help\":\"INFONT=*font*\",\"type\":\"value\"},{\"name\":\"INHEIGHT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the height, in percentage screen units, of text used inside the framed areas of the histogram. By default, the height specified by the HEIGHT= option is used. If you do not specify the HEIGHT= option, the height specified with the HTEXT= option in the GOPTIONS statement is used.\",\"help\":\"INHEIGHT=*value*\",\"type\":\"value\"},{\"name\":\"INTERTILE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the distance in horizontal percentage screen units between the framed areas, called tiles, of a comparative plot. By default, INTERTILE=0.75 percentage screen units. This option is not available unless you use the CLASS statement. You can specify INTERTILE=0 to create contiguous tiles.\",\"help\":\"INTERTILE=*value*\",\"type\":\"value\"},{\"name\":\"K=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the kernel function (normal, quadratic, or triangular) used to compute a kernel density estimates requested with the KERNEL option.\",\"help\":\"K=NORMAL | QUADRATIC | TRIANGULAR\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NORMAL\",\"followsDelimiter\":\"/\",\"description\":\"Normal kernel function\",\"type\":\"standalone\"},{\"name\":\"QUADRATIC\",\"followsDelimiter\":\"/\",\"description\":\"Quadratic kernel function\",\"type\":\"standalone\"},{\"name\":\"TRIANGULAR\",\"followsDelimiter\":\"/\",\"description\":\"Triangular kernel function\",\"type\":\"standalone\"}]},{\"name\":\"KERNEL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests a kernel density estimate for each cell of the comparative histogram. You can specify the kernel-options described below:\",\"type\":\"standalone\"},{\"name\":\"L=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the line type of the curve or reference line associated with a distribution or kernel density estimate. Enclose the L= option in parentheses after the distribution option or the KERNEL option. In a HISTOGRAM statement, you can specify a list of line types in parentheses for multiple density curves.\",\"help\":\"L=*linetype*\",\"type\":\"value\"},{\"name\":\"LGRID=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the line type for the grid requested with the GRID option.\",\"help\":\"LGRID=*linetype*\",\"type\":\"value\"},{\"name\":\"LHREF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"LH=\"],\"description\":\"Specifies the line type for the reference lines that you request with the HREF= option. By default, LHREF=2, which produces a dashed line.\",\"type\":\"value\"},{\"name\":\"LOWER=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the lower bound for a kernel density estimate curve. Enclose the LOWER= option in parentheses after the KERNEL option.\",\"help\":\"LOWER=*value*\",\"type\":\"value\"},{\"name\":\"LVREF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"LV=\"],\"description\":\"Specifies the line type for lines requested with the VREF= option. By default, LVREF=2, which produces a dashed line.\",\"help\":\"LVREF=*linetype*\",\"type\":\"value\"},{\"name\":\"MAXITER=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the maximum number of iterations in the Newton-Raphson approximation of the maximum likelihood estimate of α for gamma distributions requested with the GAMMA option and c for Weibull distributions requested with the WEIBULL and WEIBULL2 options. Enclose the MAXITER= option in parentheses after the GAMMA, WEIBULL, or WEIBULL2 keywords. The default value of n is 20.\",\"help\":\"MAXITER=*n*\",\"type\":\"value\"},{\"name\":\"MAXNBIN=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the maximum number of bins to be displayed.\",\"help\":\"MAXNBIN=*n*\",\"type\":\"value\"},{\"name\":\"MAXSIGMAS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Limits the number of bins to be displayed to a range of value standard deviations (of the data in the key cell) above and below the mean of the data in the key cell.\",\"help\":\"MAXSIGMAS=*value*\",\"type\":\"value\"},{\"name\":\"MIDPOINTS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies how to determine the midpoints for the histogram intervals, where values determines the width of the histogram bars as the difference between consecutive midpoints.\",\"help\":\"MIDPOINTS=*value-list* | KEY | UNIFORM\",\"type\":\"choice\",\"arguments\":[{\"name\":\"value-list\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"The values must be listed in increasing order and must be evenly spaced. The difference between consecutive midpoints is used as the width of the histogram bars.\",\"type\":\"value\"},{\"name\":\"KEY\",\"followsDelimiter\":\"/\",\"description\":\"The procedure first determines the midpoints for the data in the key cell. The initial number of midpoints is based on the number of observations in the key cell by using the method of Terrell and Scott (1985). The midpoint list for the key cell is then extended in either direction as necessary until it spans the data in the remaining cells.\",\"type\":\"standalone\"},{\"name\":\"UNIFORM\",\"followsDelimiter\":\"/\",\"description\":\"The procedure determines the midpoints using all the observations as if there were no cells. In other words, the number of midpoints is computed from the total sample size by using the method of Terrell and Scott (1985).\",\"type\":\"standalone\"}]},{\"name\":\"MISSING1\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies that missing values of the first CLASS= variable are to be treated as a level of the CLASS= variable.\",\"type\":\"standalone\"},{\"name\":\"MISSING2\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies that missing values of the second CLASS= variable are to be treated as a level of the CLASS= variable.\",\"type\":\"standalone\"},{\"name\":\"MU=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the parameter, µ, for normal density curves requested with the NORMAL option.\",\"help\":\"MU=*value*\",\"type\":\"value\"},{\"name\":\"NAME=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies a name for the plot, up to eight characters long, that appears in the PROC GREPLAY master menu for a traditional graphics chart. The default value is 'UNIVAR'.\",\"help\":\"NAME='*string*'\",\"type\":\"value\"},{\"name\":\"NCOLS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"NCOL=\"],\"description\":\"Specifies the number of columns per panel in a comparative plot. This option is not available unless you use the CLASS statement. By default, NCOLS=1 if you specify only one CLASS variable, and NCOLS=2 if you specify two CLASS variables. If you specify two CLASS variables, you can use the NCOLS= option with the NROWS= option.\",\"help\":\"NCOLS=*n*\",\"type\":\"value\"},{\"name\":\"NLEGEND=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the form of a legend that is displayed inside each tile and indicates the sample size of the cell. The following two forms are available: o If you specify the NLEGEND option, the form is N=n where n is the cell sample size.\",\"type\":\"value\"},{\"name\":\"NLEGENDPOS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the position of the legend requested with the NLEGEND option or the variable _TILELB_ in a CLASSSPEC= data set.\",\"help\":\"NLEGENDPOS=NW | NE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NW\",\"followsDelimiter\":\"/\",\"description\":\"The legend is displayed in the northwest corner of the tile\",\"type\":\"standalone\"},{\"name\":\"NE\",\"followsDelimiter\":\"/\",\"description\":\"The legend is displayed in the northeast corner of the tile.\",\"type\":\"standalone\"}]},{\"name\":\"NOBARS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Suppresses the display of the bars in a comparative histogram.\",\"type\":\"standalone\"},{\"name\":\"NOFRAME\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Suppresses the frame around the subplot area.\",\"type\":\"standalone\"},{\"name\":\"NOHLABEL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Suppresses the label for the horizontal axis. You can use this option to reduce clutter.\",\"type\":\"standalone\"},{\"name\":\"NOKEYMOVE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Suppresses the rearrangement of cells that occurs by default when you use the CLASSKEY= option to specify the key cell.\",\"type\":\"standalone\"},{\"name\":\"NOPLOT\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"NOCHART\"],\"description\":\"Suppresses the creation of a comparative histogram.\",\"type\":\"standalone\"},{\"name\":\"NORMAL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays a normal density curve for each cell of the comparative histogram. The following normal-options can be specified:\",\"type\":\"standalone\"},{\"name\":\"NOVLABEL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Suppresses the label for the vertical axis. You can use this option to reduce clutter.\",\"type\":\"standalone\"},{\"name\":\"NOVTICK\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Suppresses the tick marks and tick mark labels for the vertical axis. This option also suppresses the label for the vertical axis.\",\"type\":\"standalone\"},{\"name\":\"NROWS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"NROW=\"],\"description\":\"Specifies the number of rows per panel in a comparative plot. This option is not available unless you use the CLASS statement. By default, NROWS=2. If you specify two CLASS variables, you can use the NCOLS= option with the NROWS= option.\",\"help\":\"NROWS=*n*\",\"type\":\"value\"},{\"name\":\"ORDER1=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the display order for the values of the first CLASS= variable.\",\"help\":\"ORDER1=INTERNAL | FORMATTED | DATA | FREQ\",\"type\":\"choice\",\"arguments\":[{\"name\":\"INTERNAL\",\"followsDelimiter\":\"/\",\"description\":\"The rows (columns) are displayed from top to bottom (left to right) in increasing order of the internal (unformatted) values of the first CLASS= variable.\",\"type\":\"standalone\"},{\"name\":\"FORMATTED\",\"followsDelimiter\":\"/\",\"description\":\"The rows (columns) are displayed from top to bottom (left to right) in increasing order of the formatted values of the first CLASS= variable.\",\"type\":\"standalone\"},{\"name\":\"DATA\",\"followsDelimiter\":\"/\",\"description\":\"The rows (columns) are displayed from top to bottom (left to right) in the order in which the values of the first CLASS= variable first appear in the input data set.\",\"type\":\"standalone\"},{\"name\":\"FREQ\",\"followsDelimiter\":\"/\",\"description\":\"The rows (columns) are displayed from top to bottom (left to right) in order of decreasing frequency count.\",\"type\":\"standalone\"}]},{\"name\":\"ORDER2=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the display order for the values of the second CLASS= variable.\",\"help\":\"ORDER2=INTERNAL | FORMATTED | DATA | FREQ\",\"type\":\"choice\",\"arguments\":[{\"name\":\"INTERNAL\",\"followsDelimiter\":\"/\",\"description\":\"The rows (columns) are displayed from top to bottom (left to right) in increasing order of the internal (unformatted) values of the first CLASS= variable.\",\"type\":\"standalone\"},{\"name\":\"FORMATTED\",\"followsDelimiter\":\"/\",\"description\":\"The rows (columns) are displayed from top to bottom (left to right) in increasing order of the formatted values of the first CLASS= variable.\",\"type\":\"standalone\"},{\"name\":\"DATA\",\"followsDelimiter\":\"/\",\"description\":\"The rows (columns) are displayed from top to bottom (left to right) in the order in which the values of the first CLASS= variable first appear in the input data set.\",\"type\":\"standalone\"},{\"name\":\"FREQ\",\"followsDelimiter\":\"/\",\"description\":\"The rows (columns) are displayed from top to bottom (left to right) in order of decreasing frequency count.\",\"type\":\"standalone\"}]},{\"name\":\"OUTHISTOGRAM=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Creates a SAS data set that saves the midpoints or endpoints of the histogram intervals, the observed percent of observations in each interval, and (optionally) the percent of observations in each interval estimated from a fitted normal distribution.\",\"help\":\"OUTHISTOGRAM=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"OVERLAY\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies that plots associated with different levels of a CLASS variable be overlaid onto a single plot, rather than displayed as separate cells in a comparative plot.\",\"type\":\"standalone\"},{\"name\":\"PFILL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies a pattern used to fill the bars of the histograms (or the areas under a fitted curve if you also specify the FILL option) when producing traditional graphics.\",\"help\":\"PFILL=*pattern*\",\"type\":\"value\"},{\"name\":\"RTINCLUDE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Includes the right endpoint of each histogram interval in that interval.\",\"type\":\"standalone\"},{\"name\":\"SCALE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Is an alias for the SIGMA= option for distributions requested by the BETA, EXPONENTIAL, GAMMA, SB, SU, WEIBULL, and WEIBULL2 options and for the ZETA= option for distributions requested by the LOGNORMAL option.\",\"help\":\"SCALE=*value*\",\"type\":\"value\"},{\"name\":\"SHAPE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Is an alias for the ALPHA= option for distributions requested by the GAMMA option, for the SIGMA= option for distributions requested by the LOGNORMAL option, and for the C= option for distributions requested by the WEIBULL and WEIBULL2 options.\",\"help\":\"SHAPE=*value*\",\"type\":\"value\"},{\"name\":\"SIGMA=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the parameter, σ, for normal density curves requested with the NORMAL option.\",\"help\":\"SIGMA=*value*\",\"type\":\"value\"},{\"name\":\"TILELEGLABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies a label displayed to the left of the legend that is created when you provide _CTILE_ and _TILELG_ variables in a CLASSSPEC= data set. The label can be up to 16 characters and must be enclosed in quotes. The default label is Tiles:.\",\"help\":\"TILELEGLABEL='*label*'\",\"type\":\"value\"},{\"name\":\"TURNVLABELS\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"TURNVLABEL\"],\"description\":\"Turns the characters in the vertical axis labels so that they display vertically. This happens by default when you use a hardware font.\",\"type\":\"standalone\"},{\"name\":\"UPPER=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the upper bound for a kernel density estimate curve.\",\"help\":\"UPPER=*value*\",\"type\":\"value\"},{\"name\":\"VAXIS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the name of an AXIS statement describing the vertical axis. In a HISTOGRAM statement, you can alternatively specify a value-list for the vertical axis.\",\"help\":\"VAXIS=*name*\",\"type\":\"value\"},{\"name\":\"VAXISLABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies a label for the vertical axis. Labels can have up to 40 characters.\",\"help\":\"VAXISLABEL='*label*'\",\"type\":\"value\"},{\"name\":\"VMINOR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"VM=\"],\"description\":\"Specifies the number of minor tick marks between each major tick mark on the vertical axis. Minor tick marks are not labeled. The default is zero.\",\"help\":\"VMINOR=*n*\",\"type\":\"value\"},{\"name\":\"VOFFSET=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the offset, in percentage screen units, at the upper end of the vertical axis.\",\"help\":\"VOFFSET=*value*\",\"type\":\"value\"},{\"name\":\"VREF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Draws reference lines perpendicular to the vertical axis at the values specified. Also see the CVREF= and LVREF= options.\",\"help\":\"VREF=*value-list*\",\"type\":\"value\"},{\"name\":\"VREFLABELS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"VREFLABEL=\",\"VREFLAB=\"],\"description\":\"Specifies labels for the lines requested by the VREF= option. The number of labels must equal the number of lines. Enclose each label in quotes. Labels can have up to 16 characters.\",\"type\":\"value\"},{\"name\":\"VREFLABPOS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the horizontal position of the VREFLABELS= labels.\",\"help\":\"VREFLABPOS=1 | 2\",\"type\":\"choice\",\"arguments\":[{\"name\":\"1\",\"followsDelimiter\":\"/\",\"description\":\"Labels are positioned at the left of the plot.\",\"type\":\"standalone\"},{\"name\":\"2\",\"followsDelimiter\":\"/\",\"description\":\"Labels are positioned at the right of the plot.\",\"type\":\"standalone\"}]},{\"name\":\"VSCALE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the scale of the vertical axis.\",\"help\":\"VSCALE=PERCENT | COUNT | PROPORTION\",\"type\":\"choice\",\"arguments\":[{\"name\":\"PERCENT\",\"followsDelimiter\":\"/\",\"description\":\"Scales the data in units of percent of observations per data unit. This is the default.\",\"type\":\"standalone\"},{\"name\":\"COUNT\",\"followsDelimiter\":\"/\",\"description\":\"Scales the data in units of the number of observations per data unit.\",\"type\":\"standalone\"},{\"name\":\"PROPORTION\",\"followsDelimiter\":\"/\",\"description\":\"Scales the data in units of proportion of observations per data unit.\",\"type\":\"standalone\"}]},{\"name\":\"W=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the width in pixels of the curve or reference line associated with a distribution or kernel density estimate. Enclose the W= option in parentheses after the distribution option or the KERNEL option. In a HISTOGRAM statement, you can specify a list of widths in parentheses for multiple density curves.\",\"type\":\"value\"},{\"name\":\"WAXIS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the line thickness, in pixels, for the axes and frame.\",\"help\":\"WAXIS=*n*\",\"type\":\"value\"},{\"name\":\"WBARLINE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the width of bar outlines. By default, n=1.\",\"help\":\"WBARLINE=*n*\",\"type\":\"value\"},{\"name\":\"WGRID=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the width of the grid lines requested with the GRID option.\",\"help\":\"WGRID=*n*\",\"type\":\"value\"}]},{\"name\":\"FREQ\",\"description\":\"The FREQ statement names a variable that provides frequencies for each observation in the input data set. If n is the value of the FREQ variable for a given observation, then that observation is used n times. If the value of the FREQ variable is missing or is less than one, the observation is not used in the analysis. If the value is not an integer, only the integer portion is used.\",\"help\":\"FREQ variable\"},{\"name\":\"HISTOGRAM\",\"aliases\":[\"HIST\"],\"description\":\"Histograms are typically used in process capability analysis to compare the distribution of measurements from an in-control process with its specification limits.\",\"help\":\"HISTOGRAM &lt;ALPHA=value&gt;&lt;BARLABEL=&lt;COUNT | PERCENT | PROPORTION&gt;&gt;&lt;BETA&lt;(beta-options)&gt;&gt; ...\",\"arguments\":[{\"name\":\"ALPHA=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the shape parameter α (α > 0) for distribution functions requested with the BETA and GAMMA options.\",\"help\":\"ALPHA=*value*\",\"type\":\"value\"},{\"name\":\"ALPHADELTA=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the change in successive estimates of α-hat at which iteration terminates in the Newton-Raphson approximation of the maximum likelihood estimate of α for gamma distributions requested with the GAMMA option.\",\"help\":\"ALPHADELTA=*value*\",\"type\":\"value\"},{\"name\":\"ALPHAINITIAL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the initial value for α-hat in the Newton-Raphson approximation of the maximum likelihood estimate of α for gamma distributions requested with the GAMMA option. Enclose the ALPHAINITIAL= option in parentheses after the GAMMA keyword.\",\"help\":\"ALPHAINITIAL=*value*\",\"type\":\"value\"},{\"name\":\"ANNOKEY\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Applies the annotation requested with the ANNOTATE= option only to the key cell of a comparative plot.\",\"type\":\"standalone\"},{\"name\":\"ANNOTATE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"ANNO=\"],\"description\":\"Specifies an input data set that contains annotate variables.\",\"help\":\"ANNOTATE=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"BARLABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays labels above the histogram bars.\",\"help\":\"BARLABEL=COUNT | PERCENT | PROPORTION\",\"type\":\"choice\",\"arguments\":[{\"name\":\"COUNT\",\"followsDelimiter\":\"/\",\"description\":\"The label shows the number of observations associated with a given bar.\",\"type\":\"standalone\"},{\"name\":\"PERCENT\",\"followsDelimiter\":\"/\",\"description\":\"The label shows the percentage of observations represented by that bar.\",\"type\":\"standalone\"},{\"name\":\"PROPORTION\",\"followsDelimiter\":\"/\",\"description\":\"The label displays the proportion of observations associated with the bar.\",\"type\":\"standalone\"}]},{\"name\":\"BETA\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays a fitted beta density curve on the histogram. You can specify the following beta-options:\",\"type\":\"standalone\"},{\"name\":\"BETA=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"B=\"],\"description\":\"Specifies the second shape parameter, β, for beta distribution functions requested by the BETA option.\",\"help\":\"BETA=*value-list*\",\"type\":\"value\"},{\"name\":\"BMCFILL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the fill color for a box-and-whisker plot in a bottom margin requested with the BMPLOT= option.\",\"help\":\"BMCFILL=*color*\",\"type\":\"color\"},{\"name\":\"BMCFRAME=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the color for filling the frame of a bottom margin plot requested with the BMPLOT= option.\",\"help\":\"BMCFRAME=*color*\",\"type\":\"color\"},{\"name\":\"BMCOLOR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the color of a carpet plot or dot plot, or the outline color of a box-and-whisker plot, in a bottom margin plot requested with the BMPLOT= option.\",\"help\":\"BMCOLOR=*color*\",\"type\":\"color\"},{\"name\":\"BMMARGIN=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the height in screen percentage units of a bottom margin plot requested with the BMPLOT= option.\",\"help\":\"BMMARGIN=*height*\",\"type\":\"value\"},{\"name\":\"BMPLOT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Produces a carpet plot, dot plot, or box-and-whisker plot along the bottom margin of a histogram.\",\"help\":\"BMPLOT=CARPET | DOTPLOT | SKELETAL | SCHEMATIC\",\"type\":\"choice\",\"arguments\":[{\"name\":\"CARPET\",\"followsDelimiter\":\"/\",\"description\":\"A carpet plot represents each observation with a vertical line.\",\"type\":\"standalone\"},{\"name\":\"DOTPLOT\",\"followsDelimiter\":\"/\",\"description\":\"A dot plot marks each observation with a symbol.\",\"type\":\"standalone\"},{\"name\":\"SKELETAL\",\"followsDelimiter\":\"/\",\"description\":\"A box-and-whisker plot is produced with whiskers extending to the minimum and maximum values.\",\"type\":\"standalone\"},{\"name\":\"SCHEMATIC\",\"followsDelimiter\":\"/\",\"description\":\"A schematic box-and-whisker plot is produced. In a schematic box-and-whisker plot, the whiskers extend to the smallest value within the lower fence and the largest value within the upper fence.\",\"type\":\"standalone\"}]},{\"name\":\"C=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the shape parameter c for Weibull density curves requested with the WEIBULL option.\",\"help\":\"C=*value-list* | MISE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"value-list\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the shape parameter c for Weibull density curves requested with the WEIBULL option.\",\"type\":\"value\"},{\"name\":\"MISE\",\"followsDelimiter\":\"/\",\"description\":\"Requests the standardized bandwidth parameter that minimizes the estimated mean integrated square error (MISE).\",\"type\":\"standalone\"}]},{\"name\":\"CAXIS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"CAXES=\",\"CA=\"],\"description\":\"Specifies the color for the axes and tick marks.\",\"help\":\"CAXIS=*color*\",\"type\":\"color\"},{\"name\":\"CBARLINE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the color for the outline of histogram bars.\",\"help\":\"CBARLINE=*color*\",\"type\":\"color\"},{\"name\":\"CDELTA=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the change in successive estimates of c at which iterations terminate in the Newton-Raphson approximation of the maximum likelihood estimate of c for Weibull distributions requested by the WEIBULL option. Enclose the CDELTA= option in parentheses after the WEIBULL keyword. Iteration continues until the change in c between consecutive steps is less than the value specified or until the number of iterations exceeds the value of the MAXITER= option. The default value is 0.00001.\",\"help\":\"CDELTA=*value*\",\"type\":\"value\"},{\"name\":\"CFILL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the color to fill the bars of the histogram (or the area under a fitted density curve if you also specify the FILL option).\",\"help\":\"CFILL=*color*\",\"type\":\"color\"},{\"name\":\"CFRAME=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the color for the area that is enclosed by the axes and frame. The area is not filled by default.\",\"help\":\"CFRAME=*color*\",\"type\":\"color\"},{\"name\":\"CFRAMESIDE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the color to fill the frame area for the row labels that display along the left side of a comparative plot.\",\"help\":\"CFRAMESIDE=*color*\",\"type\":\"color\"},{\"name\":\"CFRAMETOP=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the color to fill the frame area for the column labels that display across the top of a comparative plot.\",\"help\":\"CFRAMETOP=*color*\",\"type\":\"color\"},{\"name\":\"CHREF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"CH=\"],\"description\":\"Specifies the color for horizontal axis reference lines requested by the HREF= option.\",\"help\":\"CHREF=*color*\",\"type\":\"color\"},{\"name\":\"CINITIAL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the initial value for c-hat in the Newton-Raphson approximation of the maximum likelihood estimate of c for Weibull distributions requested with the WEIBULL or WEIBULL2 option. The default value is 1.8.\",\"help\":\"CINITIAL=*value*\",\"type\":\"value\"},{\"name\":\"CLIPSPEC=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies that histogram bars are clipped at the upper and lower specification limit lines when there are no observations outside the specification limits.\",\"help\":\"CLIPSPEC=CLIP | NOFILL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"CLIP\",\"followsDelimiter\":\"/\",\"description\":\"The histogram bar is truncated at the specification limit.\",\"type\":\"standalone\"},{\"name\":\"NOFILL\",\"followsDelimiter\":\"/\",\"description\":\"The portion of a filled histogram bar outside the specification limit is left unfilled.\",\"type\":\"standalone\"}]},{\"name\":\"COLOR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the color of the curve or reference line associated with a distribution or kernel density estimate. Enclose the COLOR= option in parentheses after a distribution option or the KERNEL option. In a HISTOGRAM statement, you can specify a list of colors in parentheses for multiple density curves.\",\"help\":\"COLOR=*color*\",\"type\":\"color\"},{\"name\":\"CONTENTS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the table of contents grouping entry for output produced by the plot statement. You can specify CONTENTS='' to suppress the grouping entry.\",\"help\":\"CONTENTS='*string*'\",\"type\":\"value\"},{\"name\":\"CPROP=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the color for a horizontal bar whose length (relative to the width of the tile) indicates the proportion of the total frequency that is represented by the corresponding cell in a comparative plot.\",\"help\":\"CPROP=EMPTY | CPROP*color*\",\"type\":\"color\",\"arguments\":[{\"name\":\"EMPTY\",\"type\":\"standalone\"},{\"name\":\"CPROP\",\"type\":\"color\"}]},{\"name\":\"CTEXT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"CT=\"],\"description\":\"Specifies the color for tick mark values and axis labels. The default is the color specified for the CTEXT= option in the GOPTIONS statement.\",\"help\":\"CTEXT=*color*\",\"type\":\"color\"},{\"name\":\"CTEXTSIDE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the color for the row labels that display along the left side of a comparative plot. By default, the color specified by the CTEXT= option is used. If you omit the CTEXT= option, the color specified in the GOPTIONS statement is used.\",\"help\":\"CTEXTSIDE=*color*\",\"type\":\"color\"},{\"name\":\"CTEXTTOP=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the color for the column labels that display along the left side of a comparative plot. By default, the color specified by the CTEXT= option is used. If you omit the CTEXT= option, the color specified in the GOPTIONS statement is used.\",\"help\":\"CTEXTTOP=*color*\",\"type\":\"color\"},{\"name\":\"CURVELEGEND=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the name of a LEGEND statement describing the legend for specification limits and fitted curves.\",\"help\":\"CURVELEGEND=*name* | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"name\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the name of a LEGEND statement describing the legend for specification limits and fitted curves.\",\"type\":\"value\"},{\"name\":\"NONE\",\"followsDelimiter\":\"/\",\"description\":\"Suppresses the legend for fitted curves; this is equivalent to specifying the NOCURVELEGEND option.\",\"type\":\"standalone\"}]},{\"name\":\"CVREF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"CV=\"],\"description\":\"Specifies the color for lines requested with the VREF= option.\",\"help\":\"CVREF=*color*\",\"type\":\"color\"},{\"name\":\"DELTA=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the first shape parameter, delta, for Johnson SB and Johnson SU density curves requested with the SB and SU options.\",\"help\":\"DELTA=*value-list*\",\"type\":\"value\"},{\"name\":\"DESCRIPTION=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"DES=\"],\"description\":\"Specifies a description, up to 256 characters long, that appears in the PROC GREPLAY master menu for a traditional graphics chart. The default value is the analysis variable name.\",\"help\":\"DESCRIPTION='*string*'\",\"type\":\"value\"},{\"name\":\"ENDPOINTS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies that histogram interval endpoints, rather than midpoints, are aligned with horizontal axis tick marks. The number of histogram intervals is based on the number of observations by using the method of Terrell and Scott (1985).\",\"type\":\"standalone\"},{\"name\":\"ENDPOINTS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies that histogram interval endpoints, rather than midpoints, are aligned with horizontal axis tick marks. The values must be listed in increasing order and must be evenly spaced. All observations in the input data set, as well as any specification limits, must lie between the first and last values specified.\",\"help\":\"ENDPOINTS=*value-list*\",\"type\":\"value\"},{\"name\":\"EXPONENTIAL\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"EXP\"],\"description\":\"Displays a fitted exponential density curve on the histogram. Description of exponential-options:\",\"type\":\"standalone\"},{\"name\":\"FILL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Fills areas under a parametric density curve or kernel density estimate with colors and patterns.\",\"type\":\"standalone\"},{\"name\":\"FITINTERVAL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the value of z for the method of percentiles when this method is used to fit a Johnson sB or Johnson sU distribution. The FITINTERVAL= option is specified in parentheses after the SB or SU option. The default of z is 0.524.\",\"help\":\"FITINTERVAL=*value*\",\"type\":\"value\"},{\"name\":\"FITMETHOD=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the method used to estimate the parameters of a Johnson sB or Johnson sU distribution. The FITMETHOD= option is specified in parentheses after the SB or SU option. By default, the method of percentiles is used.\",\"help\":\"FITMETHOD=PERCENTILE | MLE | MOMENTS\",\"type\":\"choice\",\"arguments\":[{\"name\":\"PERCENTILE\",\"followsDelimiter\":\"/\",\"description\":\"Method of percentiles.\",\"type\":\"standalone\"},{\"name\":\"MLE\",\"followsDelimiter\":\"/\",\"description\":\"Method of MLE.\",\"type\":\"standalone\"},{\"name\":\"MOMENTS\",\"followsDelimiter\":\"/\",\"description\":\"Method of moments.\",\"type\":\"standalone\"}]},{\"name\":\"FITTOLERANCE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the tolerance value for the ratio criterion when the method of percentiles is used to fit a Johnson sB or Johnson sU distribution. The FITTOLERANCE= option is specified in parentheses after the SB or SU option. The default value is 0.01.\",\"help\":\"FITTOLERANCE=*value*\",\"type\":\"value\"},{\"name\":\"FONT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies a software font for reference line and axis labels. You can also specify fonts for axis labels in an AXIS statement. The FONT= font takes precedence over the FTEXT= font specified in the GOPTIONS statement.\",\"help\":\"FONT=*font*\",\"type\":\"value\"},{\"name\":\"FORCEHIST\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Forces the creation of a histogram if there is only one unique observation.\",\"type\":\"standalone\"},{\"name\":\"FRONTREF\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Draws reference lines requested with the HREF= and VREF= options in front of the histogram bars.\",\"type\":\"standalone\"},{\"name\":\"GAMMA\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays a fitted γ density curve on the histogram. You can specify the following gamma-options:\",\"type\":\"standalone\"},{\"name\":\"GAMMA=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the second shape parameter, γ, for Johnson SB and Johnson SU distribution functions requested with the SB and SU options.\",\"help\":\"GAMMA=*value-list*\",\"type\":\"value\"},{\"name\":\"HANGING\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"HANG\"],\"description\":\"Requests a hanging histogram,\",\"type\":\"standalone\"},{\"name\":\"HAXIS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the name of an AXIS statement describing the horizontal axis.\",\"help\":\"HAXIS=*value*\",\"type\":\"value\"},{\"name\":\"HEIGHT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"HM=\"],\"description\":\"Specifies the height, in percentage screen units, of text for axis labels, tick mark labels, and legends. This option takes precedence over the HTEXT= option in the GOPTIONS statement.\",\"help\":\"HEIGHT=*value*\",\"type\":\"value\"},{\"name\":\"HMINOR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the number of minor tick marks between each major tick mark on the horizontal axis. Minor tick marks are not labeled. By default, HMINOR=0.\",\"help\":\"HMINOR=*n*\",\"type\":\"value\"},{\"name\":\"HOFFSET=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the offset, in percentage screen units, at both ends of the horizontal axis.\",\"help\":\"HOFFSET=*value*\",\"type\":\"value\"},{\"name\":\"HREFLABELS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"HREFLABEL=\",\"HREFLAB=\"],\"description\":\"Specifies labels for the lines requested by the HREF= option. The number of labels must equal the number of lines. Enclose each label in quotes. Labels can have up to 16 characters.\",\"type\":\"value\"},{\"name\":\"HREFLABPOS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the vertical position of the HREFLABELS= labels.\",\"help\":\"HREFLABPOS=1 | 2 | 3 | 4\",\"type\":\"choice\",\"arguments\":[{\"name\":\"1\",\"followsDelimiter\":\"/\",\"description\":\"Along top of plot\",\"type\":\"standalone\"},{\"name\":\"2\",\"followsDelimiter\":\"/\",\"description\":\"Staggered from top to bottom of plot\",\"type\":\"standalone\"},{\"name\":\"3\",\"followsDelimiter\":\"/\",\"description\":\"Along bottom of plot\",\"type\":\"standalone\"},{\"name\":\"4\",\"followsDelimiter\":\"/\",\"description\":\"Staggered from bottom to top of plot\",\"type\":\"standalone\"}]},{\"name\":\"INDICES\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests capability indices based on the fitted distribution.\",\"type\":\"standalone\"},{\"name\":\"INFONT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies a software font to use for text inside the framed areas of the plot. The INFONT= option takes precedence over the FTEXT= option in the GOPTIONS statement.\",\"help\":\"INFONT=*font*\",\"type\":\"value\"},{\"name\":\"INHEIGHT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the height, in percentage screen units, of text used inside the framed areas of the histogram. By default, the height specified by the HEIGHT= option is used. If you do not specify the HEIGHT= option, the height specified with the HTEXT= option in the GOPTIONS statement is used.\",\"help\":\"INHEIGHT=*value*\",\"type\":\"value\"},{\"name\":\"INTERTILE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the distance in horizontal percentage screen units between the framed areas, called tiles, of a comparative plot. By default, INTERTILE=0.75 percentage screen units. This option is not available unless you use the CLASS statement. You can specify INTERTILE=0 to create contiguous tiles.\",\"help\":\"INTERTILE=*value*\",\"type\":\"value\"},{\"name\":\"K=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the kernel function (normal, quadratic, or triangular) used to compute a kernel density estimate.\",\"help\":\"K=NORMAL | QUADRATIC | TRIANGULAR\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NORMAL\",\"followsDelimiter\":\"/\",\"description\":\"Normal kernel function\",\"type\":\"standalone\"},{\"name\":\"QUADRATIC\",\"followsDelimiter\":\"/\",\"description\":\"Quadratic kernel function\",\"type\":\"standalone\"},{\"name\":\"TRIANGULAR\",\"followsDelimiter\":\"/\",\"description\":\"Triangular kernel function\",\"type\":\"standalone\"}]},{\"name\":\"KERNEL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Superimposes up to five kernel density estimates on the histogram. You can specify the kernel-options described below:\",\"type\":\"standalone\"},{\"name\":\"L=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the line type of the curve or reference line associated with a distribution or kernel density estimate. Enclose the L= option in parentheses after the distribution option or the KERNEL option. In a HISTOGRAM statement, you can specify a list of line types in parentheses for multiple density curves.\",\"help\":\"L=*linetype*\",\"type\":\"value\"},{\"name\":\"LEGEND=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the name of a LEGEND statement describing the legend for specification limit reference lines and fitted curves.\",\"help\":\"LEGEND=*name* | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"name\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the name of a LEGEND statement describing the legend for specification limit reference lines and fitted curves.\",\"type\":\"value\"},{\"name\":\"NONE\",\"followsDelimiter\":\"/\",\"description\":\"Suppresses all legend information, and is equivalent to specifying the NOLEGEND option.\",\"type\":\"standalone\"}]},{\"name\":\"LHREF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"LH=\"],\"description\":\"Specifies the line type for the reference lines that you request with the HREF= option. By default, LHREF=2, which produces a dashed line.\",\"type\":\"value\"},{\"name\":\"LOGNORMAL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays a fitted lognormal density curve on the histogram. You can specify the following lognormal-options:\",\"type\":\"standalone\"},{\"name\":\"LOWER=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies lower bounds for kernel density estimates requested with the KERNEL option.\",\"help\":\"LOWER=*value*\",\"type\":\"value\"},{\"name\":\"LVREF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"LV=\"],\"description\":\"Specifies the line type for lines requested with the VREF= option. By default, LVREF=2, which produces a dashed line.\",\"help\":\"LVREF=*linetype*\",\"type\":\"value\"},{\"name\":\"MAXITER=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the maximum number of iterations in the Newton-Raphson approximation of the maximum likelihood estimate of α for gamma distributions requested with the GAMMA option and c for Weibull distributions requested with the WEIBULL and WEIBULL2 options. Enclose the MAXITER= option in parentheses after the GAMMA, WEIBULL, or WEIBULL2 keywords. The default value of n is 20.\",\"help\":\"MAXITER=*n*\",\"type\":\"value\"},{\"name\":\"MIDPERCENTS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests a table listing the midpoints and percentage of observations in each histogram interval.\",\"type\":\"standalone\"},{\"name\":\"MIDPOINTS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies how to determine the midpoints for the histogram intervals, where value-list determines the width of the histogram bars as the difference between consecutive midpoints.\",\"help\":\"MIDPOINTS=*value-list* | KEY | UNIFORM\",\"type\":\"choice\",\"arguments\":[{\"name\":\"value-list\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"The values must be listed in increasing order and must be evenly spaced. The difference between consecutive midpoints is used as the width of the histogram bars.\",\"type\":\"value\"},{\"name\":\"KEY\",\"followsDelimiter\":\"/\",\"description\":\"The procedure first determines the midpoints for the data in the key cell. The initial number of midpoints is based on the number of observations in the key cell by using the method of Terrell and Scott (1985). The midpoint list for the key cell is then extended in either direction as necessary until it spans the data in the remaining cells.\",\"type\":\"standalone\"},{\"name\":\"UNIFORM\",\"followsDelimiter\":\"/\",\"description\":\"The procedure determines the midpoints using all the observations as if there were no cells. In other words, the number of midpoints is computed from the total sample size by using the method of Terrell and Scott (1985).\",\"type\":\"standalone\"}]},{\"name\":\"MIDPTAXIS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Is an alias for the HAXIS= option.\",\"help\":\"MIDPTAXIS=*name*\",\"type\":\"value\"},{\"name\":\"MU=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the parameter, µ, for normal density curves requested with the NORMAL option.\",\"help\":\"MU=*value-list*\",\"type\":\"value\"},{\"name\":\"NAME=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies a name for the plot, up to eight characters long, that appears in the PROC GREPLAY master menu for a traditional graphics chart. The default value is 'UNIVAR'.\",\"help\":\"NAME='*string*'\",\"type\":\"value\"},{\"name\":\"NCOLS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"NCOL=\"],\"description\":\"Specifies the number of columns per panel in a comparative plot. This option is not available unless you use the CLASS statement. By default, NCOLS=1 if you specify only one CLASS variable, and NCOLS=2 if you specify two CLASS variables. If you specify two CLASS variables, you can use the NCOLS= option with the NROWS= option.\",\"help\":\"NCOLS=*n*\",\"type\":\"value\"},{\"name\":\"NENDPOINTS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the number of histogram interval endpoints and causes the endpoints, rather than interval midpoints, to be aligned with horizontal axis tick marks.\",\"help\":\"NENDPOINTS=*n*\",\"type\":\"value\"},{\"name\":\"NMIDPOINTS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the number of histogram intervals.\",\"help\":\"NMIDPOINTS=*n*\",\"type\":\"value\"},{\"name\":\"NOBARS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Suppresses drawing of histogram bars.\",\"type\":\"standalone\"},{\"name\":\"NOCURVELEGEND\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"NOCURVEL\"],\"description\":\"Suppresses the portion of the legend for fitted curves.\",\"type\":\"standalone\"},{\"name\":\"NOFRAME\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Suppresses the frame around the subplot area.\",\"type\":\"standalone\"},{\"name\":\"NOHLABEL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Suppresses the label for the horizontal axis. You can use this option to reduce clutter.\",\"type\":\"standalone\"},{\"name\":\"NOLEGEND\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Suppresses legends for specification limits, fitted curves, distribution lines, and hidden observations.\",\"type\":\"standalone\"},{\"name\":\"NOPLOT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Suppresses the creation of a plot.\",\"type\":\"standalone\"},{\"name\":\"NOPRINT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Suppresses printed output summarizing the fitted curve.\",\"type\":\"standalone\"},{\"name\":\"NORMAL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays a fitted normal density curve on the histogram. The following normal-options can be specified:\",\"type\":\"standalone\"},{\"name\":\"NOSPECLEGEND\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"NOSPECL\"],\"description\":\"Suppresses the portion of the legend for specification limit reference lines.\",\"type\":\"standalone\"},{\"name\":\"NOVLABEL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Suppresses the label for the vertical axis. You can use this option to reduce clutter.\",\"type\":\"standalone\"},{\"name\":\"NOVTICK\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Suppresses the tick marks and tick mark labels for the vertical axis. This option also suppresses the label for the vertical axis.\",\"type\":\"standalone\"},{\"name\":\"NROWS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"NROW=\"],\"description\":\"Specifies the number of rows per panel in a comparative plot. This option is not available unless you use the CLASS statement. By default, NROWS=2. If you specify two CLASS variables, you can use the NCOLS= option with the NROWS= option.\",\"help\":\"NROWS=*n*\",\"type\":\"value\"},{\"name\":\"OUTFIT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Creates a SAS data set that contains parameter estimates for fitted curves and related goodness-of-fit information.\",\"help\":\"OUTFIT=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"OUTHISTOGRAM=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"OUTHIST=\"],\"description\":\"Creates a SAS data set that contains information about histogram intervals.\",\"help\":\"OUTHISTOGRAM=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"OVERLAY\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies that plots associated with different levels of a CLASS variable be overlaid onto a single plot, rather than displayed as separate cells in a comparative plot.\",\"type\":\"standalone\"},{\"name\":\"PERCENTS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"PERCENT=\"],\"description\":\"Specifies a list of percents for which quantiles calculated from the data and quantiles estimated from the fitted curve are tabulated.\",\"help\":\"PERCENTS=*value-list*\",\"type\":\"value\"},{\"name\":\"PFILL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies a pattern used to fill the bars of the histograms (or the areas under a fitted curve if you also specify the FILL option) when producing traditional graphics.\",\"help\":\"PFILL=*pattern*\",\"type\":\"value\"},{\"name\":\"RTINCLUDE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Includes the right endpoint of each histogram interval in that interval.\",\"type\":\"standalone\"},{\"name\":\"SB\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays a fitted Johnson SB density curve on the histogram. You can specify the following SB-options:\",\"type\":\"standalone\"},{\"name\":\"SCALE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Is an alias for the SIGMA= option for distributions requested by the BETA, EXPONENTIAL, GAMMA, SB, SU, WEIBULL, and WEIBULL2 options and for the ZETA= option for distributions requested by the LOGNORMAL option.\",\"help\":\"SCALE=*value*\",\"type\":\"value\"},{\"name\":\"SHAPE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Is an alias for the ALPHA= option for distributions requested by the GAMMA option, for the SIGMA= option for distributions requested by the LOGNORMAL option, and for the C= option for distributions requested by the WEIBULL and WEIBULL2 options.\",\"help\":\"SHAPE=*value*\",\"type\":\"value\"},{\"name\":\"SIGMA=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the parameter, σ, for curves requested with the BETA, EXPONENTIAL, GAMMA, LOGNORMAL, NORMAL, SB, SU, and WEIBULL options.\",\"help\":\"SIGMA=*value*\",\"type\":\"value\"},{\"name\":\"SPECLEGEND=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the name of a LEGEND statement describing the legend for specification limits and fitted curves.\",\"type\":\"value\",\"arguments\":[{\"name\":\"name\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the name of a LEGEND statement describing the legend for specification limits and fitted curves.\",\"type\":\"value\"},{\"name\":\"NONE\",\"followsDelimiter\":\"/\",\"description\":\"Suppresses the portion of the legend for specification limit references lines, is equivalent to specifying the NOSPECLEGEND option.\",\"type\":\"standalone\"}]},{\"name\":\"SU\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays a fitted Johnson SU density curve on the histogram. You can specify the following SU-options:\",\"type\":\"standalone\"},{\"name\":\"SYMBOL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the character used for the density curve or kernel density curve in line printer plots.\",\"help\":\"SYMBOL='*character*'\",\"type\":\"value\"},{\"name\":\"THETA=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"THRESHOLD=\"],\"description\":\"Specifies the lower threshold parameter, θ, for curves requested with the BETA, EXPONENTIAL, GAMMA, LOGNORMAL, SB, and WEIBULL options, and the location parameter, θ, for curves requested with the SU option.\",\"help\":\"THETA=*value-list*\",\"type\":\"value\"},{\"name\":\"TURNVLABELS\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"TURNVLABEL\"],\"description\":\"Turns the characters in the vertical axis labels so that they display vertically. This happens by default when you use a hardware font.\",\"type\":\"standalone\"},{\"name\":\"UPPER=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the upper bound for kernel density estimates requested with the KERNEL option.\",\"help\":\"UPPER=*value*\",\"type\":\"value\"},{\"name\":\"VAXIS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"PCTAXIS\"],\"description\":\"Specifies the name of an AXIS statement describing the vertical axis. In a HISTOGRAM statement, you can alternatively specify a value-list for the vertical axis.\",\"help\":\"VAXIS=*name*\",\"type\":\"value\"},{\"name\":\"VAXISLABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies a label for the vertical axis. Labels can have up to 40 characters.\",\"help\":\"VAXISLABEL='*label*'\",\"type\":\"value\"},{\"name\":\"VMINOR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"VM=\"],\"description\":\"Specifies the number of minor tick marks between each major tick mark on the vertical axis. Minor tick marks are not labeled. The default is zero.\",\"help\":\"VMINOR=*n*\",\"type\":\"value\"},{\"name\":\"VREF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Draws reference lines perpendicular to the vertical axis at the values specified. Also see the CVREF= and LVREF= options.\",\"help\":\"VREF=*value-list*\",\"type\":\"value\"},{\"name\":\"VREFLABELS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"VREFLABEL=\",\"VREFLAB=\"],\"description\":\"Specifies labels for the lines requested by the VREF= option. The number of labels must equal the number of lines. Enclose each label in quotes. Labels can have up to 16 characters.\",\"type\":\"value\"},{\"name\":\"VREFLABPOS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the horizontal position of the VREFLABELS= labels.\",\"help\":\"VREFLABPOS=1 | 2\",\"type\":\"choice\",\"arguments\":[{\"name\":\"1\",\"followsDelimiter\":\"/\",\"description\":\"Labels are positioned at the left of the plot.\",\"type\":\"standalone\"},{\"name\":\"2\",\"followsDelimiter\":\"/\",\"description\":\"Labels are positioned at the right of the plot.\",\"type\":\"standalone\"}]},{\"name\":\"VSCALE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the scale of the vertical axis.\",\"help\":\"VSCALE=PERCENT | COUNT | PROPORTION\",\"type\":\"choice\",\"arguments\":[{\"name\":\"PERCENT\",\"followsDelimiter\":\"/\",\"description\":\"Scales the data in units of percent of observations per data unit. This is the default.\",\"type\":\"standalone\"},{\"name\":\"COUNT\",\"followsDelimiter\":\"/\",\"description\":\"Scales the data in units of the number of observations per data unit.\",\"type\":\"standalone\"},{\"name\":\"PROPORTION\",\"followsDelimiter\":\"/\",\"description\":\"Scales the data in units of proportion of observations per data unit.\",\"type\":\"standalone\"}]},{\"name\":\"W=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the width in pixels of the curve or reference line associated with a distribution or kernel density estimate. Enclose the W= option in parentheses after the distribution option or the KERNEL option. In a HISTOGRAM statement, you can specify a list of widths in parentheses for multiple density curves.\",\"type\":\"value\"},{\"name\":\"WAXIS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the line thickness, in pixels, for the axes and frame.\",\"help\":\"WAXIS=*n*\",\"type\":\"value\"},{\"name\":\"WBARLINE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the width of bar outlines. By default, n=1.\",\"help\":\"WBARLINE=*n*\",\"type\":\"value\"},{\"name\":\"WEIBULL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays a fitted Weibull density curve on the histogram. You can specify the following Weibull-options:\",\"type\":\"standalone\"},{\"name\":\"ZETA=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies a value for the scale parameter, ζ, for lognormal density curves requested with the LOGNORMAL option.\",\"help\":\"ZETA=*value-list*\",\"type\":\"value\"}]},{\"name\":\"ID\",\"description\":\"The ID statement specifies variables used to identify observations. The ID variables must be variables in the DATA= or SUMMARY= input data sets.\",\"help\":\"ID variable\"},{\"name\":\"INSET\",\"description\":\"An INSET statement places a box or table of summary statistics, called an inset, directly in a graph created with a CDFPLOT, HISTOGRAM, PPPLOT, PROBPLOT, or QQPLOT statement.\",\"help\":\"INSET &lt;CFILL=color | BLANK&gt;&lt;CFILL=BLANK&gt;&lt;CFILLH=color&gt; ...\",\"arguments\":[{\"name\":\"CP\",\"description\":\"Capability index, Cp\",\"type\":\"standalone\"},{\"name\":\"CPK\",\"description\":\"Capability index Cpk\",\"type\":\"standalone\"},{\"name\":\"CPKLCL\",\"description\":\"Lower confidence limit for Cpk\",\"type\":\"standalone\"},{\"name\":\"CPKUCL\",\"description\":\"Upper confidence limit for Cpk\",\"type\":\"standalone\"},{\"name\":\"CPL\",\"description\":\"Capability index CPL\",\"type\":\"standalone\"},{\"name\":\"CPLCL\",\"description\":\"Lower confidence limit for Cp\",\"type\":\"standalone\"},{\"name\":\"CPLLCL\",\"description\":\"Lower confidence limit for CPL\",\"type\":\"standalone\"},{\"name\":\"CPLUCL\",\"description\":\"Upper confidence limit for CPL\",\"type\":\"standalone\"},{\"name\":\"CPM\",\"description\":\"Capability index Cpm\",\"type\":\"standalone\"},{\"name\":\"CPMUCL\",\"description\":\"Upper confidence limit for Cpm\",\"type\":\"standalone\"},{\"name\":\"CPU\",\"description\":\"Capability index CPU\",\"type\":\"standalone\"},{\"name\":\"CPUCL\",\"description\":\"Upper confidence limit for Cp\",\"type\":\"standalone\"},{\"name\":\"CPULCL\",\"description\":\"Lower confidence limit for CPU\",\"type\":\"standalone\"},{\"name\":\"CPUUCL\",\"description\":\"Upper confidence limit for CPU\",\"type\":\"standalone\"},{\"name\":\"CSS\",\"description\":\"Sum of squares corrected for the mean\",\"type\":\"standalone\"},{\"name\":\"CV\",\"description\":\"Percent coefficient of variation\",\"type\":\"standalone\"},{\"name\":\"GINI\",\"description\":\"Gini's mean difference\",\"type\":\"standalone\"},{\"name\":\"K\",\"description\":\"Capability index k\",\"type\":\"standalone\"},{\"name\":\"KURTOSIS\",\"aliases\":[\"KURT\"],\"description\":\"Measures heaviness of tails.\",\"type\":\"standalone\"},{\"name\":\"LCLM\",\"description\":\"One-sided confidence limit below the mean\",\"type\":\"standalone\"},{\"name\":\"LSL\",\"description\":\"Lower specification limit\",\"type\":\"standalone\"},{\"name\":\"MAD\",\"description\":\"Median absolute difference about the median\",\"type\":\"standalone\"},{\"name\":\"MAX\",\"description\":\"Maximum value\",\"type\":\"standalone\"},{\"name\":\"MEAN\",\"description\":\"Arithmetic mean\",\"type\":\"standalone\"},{\"name\":\"MEDIAN=\",\"aliases\":[\"P50\"],\"description\":\"Middle value\",\"type\":\"value\"},{\"name\":\"MIN\",\"description\":\"Minimum value\",\"type\":\"standalone\"},{\"name\":\"MODE\",\"description\":\"Most frequent value\",\"type\":\"standalone\"},{\"name\":\"MSIGN\",\"description\":\"Sign statistic\",\"type\":\"standalone\"},{\"name\":\"N\",\"description\":\"Number of observations that are not missing\",\"type\":\"standalone\"},{\"name\":\"NMISS\",\"description\":\"Number of observations that are missing\",\"type\":\"standalone\"},{\"name\":\"NORMALTEST\",\"description\":\"Test statistic for normality\",\"type\":\"standalone\"},{\"name\":\"P1\",\"description\":\"1st percentile\",\"type\":\"standalone\"},{\"name\":\"P10\",\"description\":\"10th percentile\",\"type\":\"standalone\"},{\"name\":\"P25\",\"description\":\"25th percentile\",\"type\":\"standalone\"},{\"name\":\"P5\",\"description\":\"5th percentile\",\"type\":\"standalone\"},{\"name\":\"P75\",\"description\":\"75th percentile (upper quartile)\",\"type\":\"standalone\"},{\"name\":\"P90\",\"description\":\"90th percentile\",\"type\":\"standalone\"},{\"name\":\"P95\",\"description\":\"95th percentile\",\"type\":\"standalone\"},{\"name\":\"P99\",\"description\":\"99th percentile\",\"type\":\"standalone\"},{\"name\":\"PCTBET\",\"description\":\"Percent of nonmissing observations that between the upper and lower specification limits (inclusive)\",\"type\":\"standalone\"},{\"name\":\"PCTGTR\",\"description\":\"Percent of nonmissing observations that exceed the upper specification limit\",\"type\":\"standalone\"},{\"name\":\"PCTLSS\",\"description\":\"Percent of nonmissing observations that are less than the lower specification limit\",\"type\":\"standalone\"},{\"name\":\"PROBM\",\"description\":\"Probability of a greater absolute value for the sign statistic\",\"type\":\"standalone\"},{\"name\":\"PROBN\",\"description\":\"Probability value for the test of normality\",\"type\":\"standalone\"},{\"name\":\"PROBS\",\"description\":\"Probability value for the signed rank test\",\"type\":\"standalone\"},{\"name\":\"PROBT\",\"aliases\":[\"PRT\"],\"description\":\"Two-tailed probability value for the Student's t statistic\",\"type\":\"standalone\"},{\"name\":\"Q1\",\"description\":\"Lower quartile (25th percentile)\",\"type\":\"standalone\"},{\"name\":\"Q3\",\"description\":\"Upper quartile (75th percentile)\",\"type\":\"standalone\"},{\"name\":\"QN\",\"description\":\"Qn, alternative to MAD\",\"type\":\"standalone\"},{\"name\":\"QRANGE\",\"description\":\"Interquartile range and is calculated as Q3-Q1\",\"type\":\"standalone\"},{\"name\":\"RANGE\",\"description\":\"Range calculated as the difference between maximum value and minimum value.\",\"type\":\"standalone\"},{\"name\":\"SIGNRANK\",\"description\":\"Signed rank statistic\",\"type\":\"standalone\"},{\"name\":\"SKEWNESS\",\"aliases\":[\"SKEW\"],\"description\":\"Measures the tendency of the deviations to be larger in one direction than in the other.\",\"type\":\"standalone\"},{\"name\":\"SN\",\"description\":\"Sn, alternative to MAD\",\"type\":\"standalone\"},{\"name\":\"STDDEV\",\"aliases\":[\"STD\"],\"description\":\"Standard deviation\",\"type\":\"standalone\"},{\"name\":\"STDERR\",\"description\":\"Standard error of the mean\",\"type\":\"standalone\"},{\"name\":\"STD_GINI\",\"description\":\"Gini's standard deviation\",\"type\":\"standalone\"},{\"name\":\"STD_MAD\",\"description\":\"MAD standard deviation\",\"type\":\"standalone\"},{\"name\":\"STD_QN\",\"description\":\"Qn standard deviation\",\"type\":\"standalone\"},{\"name\":\"STD_QRANGE\",\"description\":\"Qn standard deviation\",\"type\":\"standalone\"},{\"name\":\"STD_SN\",\"description\":\"Sn standard deviation\",\"type\":\"standalone\"},{\"name\":\"SUM\",\"description\":\"Sum\",\"type\":\"standalone\"},{\"name\":\"SUMWGT\",\"description\":\"Sum of the weights\",\"type\":\"standalone\"},{\"name\":\"T\",\"description\":\"Student's t statistic\",\"type\":\"standalone\"},{\"name\":\"TARGET\",\"description\":\"Target value\",\"type\":\"standalone\"},{\"name\":\"UCLM\",\"description\":\"One-sided confidence limit above the mean\",\"type\":\"standalone\"},{\"name\":\"USL\",\"description\":\"Upper specification limit\",\"type\":\"standalone\"},{\"name\":\"USS\",\"description\":\"Uncorrected sum of squares\",\"type\":\"standalone\"},{\"name\":\"VAR\",\"description\":\"Variance\",\"type\":\"standalone\"},{\"name\":\"CFILL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the color of the background (including the header background if you do not specify the CFILLH= option). CFILL=BLANK leaves the background uncolored and prevents items from showing through the inset.\",\"help\":\"CFILL=*color*\",\"type\":\"color\"},{\"name\":\"CFILL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Leaves the background uncolored and prevents items from showing through the inset.\",\"help\":\"CFILL=BLANK\",\"type\":\"value\"},{\"name\":\"CFILLH=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the color of the header background. The default value is the CFILL= color.\",\"help\":\"CFILLH=*color*\",\"type\":\"color\"},{\"name\":\"CFRAME=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the color of the frame. The default value is the same color as the axis of the plot.\",\"help\":\"CFRAME=*color*\",\"type\":\"color\"},{\"name\":\"CHEADER=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the color of the header text. The default value is the CTEXT= color.\",\"help\":\"CHEADER=CHEADER=\",\"type\":\"value\"},{\"name\":\"CPMLCL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Lower confidence limit for Cpm\",\"type\":\"standalone\"},{\"name\":\"CSHADOW=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the color of the drop shadow. By default, if a CSHADOW= option is not specified, a drop shadow is not displayed.\",\"help\":\"CSHADOW=*color*\",\"type\":\"color\"},{\"name\":\"CTEXT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the color of the text. By default, the inset text color is the same as the other text on the plot.\",\"help\":\"CTEXT=*color*\",\"type\":\"color\"},{\"name\":\"DATA\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies that data coordinates are to be used in positioning the inset with the POSITION= option.\",\"type\":\"standalone\"},{\"name\":\"DATA=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"(label, value) pairs from SAS-data-set\",\"type\":\"value\"},{\"name\":\"FONT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the font of the text. By default, the font is SIMPLEX if the inset is located in the interior of the plot, and the font is the same as the other text displayed on the plot if the inset is located in the exterior of the plot.\",\"help\":\"FONT=*font*\",\"type\":\"value\"},{\"name\":\"FORMAT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies a format for all the values in the inset.\",\"help\":\"FORMAT=*format*\",\"type\":\"value\"},{\"name\":\"GUTTER=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the gutter width in percent screen units for an inset located in the top or bottom margin.\",\"help\":\"GUTTER=*value*\",\"type\":\"value\"},{\"name\":\"HEADER=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the header text. The string cannot exceed 40 characters. By default, no header line appears in the inset.\",\"help\":\"HEADER='*string*'\",\"type\":\"value\"},{\"name\":\"HEIGHT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the height of the text.\",\"help\":\"HEIGHT=*value*\",\"type\":\"value\"},{\"name\":\"NCOLS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the number of columns of (label, value) pairs displayed in an inset located in the top or bottom margin.\",\"help\":\"NCOLS=*n*\",\"type\":\"value\"},{\"name\":\"NOFRAME\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Suppresses the frame drawn around the text.\",\"type\":\"standalone\"},{\"name\":\"POSITION=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Determines the position of the inset. The position can be a compass point keyword, a margin keyword, or a pair of coordinates (x,y). You can specify coordinates in axis percent units or axis data units.\",\"help\":\"POSITION=*position*\",\"type\":\"value\"},{\"name\":\"REFPOINT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the reference point for an inset that is positioned by a pair of coordinates with the POSITION= option.\",\"help\":\"REFPOINT=BR | BL | TR | TL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"BR\",\"followsDelimiter\":\"/\",\"description\":\"Bottom right\",\"type\":\"standalone\"},{\"name\":\"BL\",\"followsDelimiter\":\"/\",\"description\":\"Bottom left (the default)\",\"type\":\"standalone\"},{\"name\":\"TR\",\"followsDelimiter\":\"/\",\"description\":\"Top right\",\"type\":\"standalone\"},{\"name\":\"TL\",\"followsDelimiter\":\"/\",\"description\":\"Top left\",\"type\":\"standalone\"}]}]},{\"name\":\"INTERVALS\",\"description\":\"\",\"help\":\"INTERVALS &lt;ALPHA=value-list&gt;&lt;K=value-list&gt;&lt;METHODS=&lt;1 | 2 | 3&gt;... &gt; ...\",\"arguments\":[{\"name\":\"ALPHA=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies values of α, the probability or confidence associated with the interval.\",\"help\":\"ALPHA=*value-list*\",\"type\":\"value\"},{\"name\":\"K=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Lists values of k for prediction intervals. Default values of 1, 2, and 3 are used for the prediction interval for k future observations and for the prediction interval for the mean of k future observations.\",\"help\":\"K=*value-list*\",\"type\":\"value\"},{\"name\":\"METHODS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies which intervals are computed. The indices can range from 1 to 6.\",\"help\":\"METHODS=1 | 2 | 3 | 4 | 5 | 6\",\"type\":\"choice\",\"arguments\":[{\"name\":\"1\",\"followsDelimiter\":\"/\",\"description\":\"Approximate simultaneous prediction interval for k future observations\",\"type\":\"standalone\"},{\"name\":\"2\",\"followsDelimiter\":\"/\",\"description\":\"Prediction interval for the mean of k future observations\",\"type\":\"standalone\"},{\"name\":\"3\",\"followsDelimiter\":\"/\",\"description\":\"Approximate statistical tolerance interval that contains at least proportion p of the population\",\"type\":\"standalone\"},{\"name\":\"4\",\"followsDelimiter\":\"/\",\"description\":\"Confidence interval for the population mean\",\"type\":\"standalone\"},{\"name\":\"5\",\"followsDelimiter\":\"/\",\"description\":\"Prediction interval for the standard deviation of k future observations\",\"type\":\"standalone\"},{\"name\":\"6\",\"followsDelimiter\":\"/\",\"description\":\"Confidence interval for the population standard deviation\",\"type\":\"standalone\"}]},{\"name\":\"NOPRINT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Suppresses the tables produced by default.\",\"type\":\"standalone\"},{\"name\":\"OUTINTERVALS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies an output SAS data set containing the intervals and related information.\",\"help\":\"OUTINTERVALS=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"P=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Lists values of p for the tolerance intervals. These values must be between 0.00001 to 0.99999.\",\"type\":\"value\"},{\"name\":\"TYPE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Determines whether the intervals computed are one-sided lower, one-sided upper, or two-sided intervals, respectively.\",\"help\":\"TYPE=LOWER | UPPER | TWOSIDED\",\"type\":\"choice\",\"arguments\":[{\"name\":\"LOWER\",\"followsDelimiter\":\"/\",\"description\":\"Intervals computed are one-sided lower.\",\"type\":\"standalone\"},{\"name\":\"UPPER\",\"followsDelimiter\":\"/\",\"description\":\"Intervals computed are one-sided upper.\",\"type\":\"standalone\"},{\"name\":\"TWOSIDED\",\"followsDelimiter\":\"/\",\"description\":\"Intervals computed are two-sided intervals.\",\"type\":\"standalone\"}]}]},{\"name\":\"OUTPUT\",\"description\":\"The OUTPUT statement saves summary statistics and capability indices in an output data set.\",\"help\":\"OUTPUT &lt;OUT=SAS-data-set&gt;&lt;PCTLPRE=prefixes&gt;&lt;PCTLPTS=percentiles&gt; ...\",\"arguments\":[{\"name\":\"CP=\",\"optional\":true,\"description\":\"Capability index, Cp\",\"type\":\"value\"},{\"name\":\"CPK=\",\"optional\":true,\"description\":\"Capability index Cpk\",\"type\":\"value\"},{\"name\":\"CPKLCL=\",\"optional\":true,\"description\":\"Lower confidence limit for Cpk\",\"type\":\"value\"},{\"name\":\"CPKUCL=\",\"optional\":true,\"description\":\"Upper confidence limit for Cpk\",\"type\":\"value\"},{\"name\":\"CPL=\",\"optional\":true,\"description\":\"Capability index CPL\",\"type\":\"value\"},{\"name\":\"CPLCL=\",\"optional\":true,\"description\":\"Lower confidence limit for Cp\",\"type\":\"value\"},{\"name\":\"CPLLCL=\",\"optional\":true,\"description\":\"Lower confidence limit for CPL\",\"type\":\"value\"},{\"name\":\"CPLUCL=\",\"optional\":true,\"description\":\"Upper confidence limit for CPL\",\"type\":\"value\"},{\"name\":\"CPM=\",\"optional\":true,\"description\":\"Capability index Cpm\",\"type\":\"value\"},{\"name\":\"CPMLCL=\",\"optional\":true,\"description\":\"Lower confidence limit for Cpm\",\"type\":\"value\"},{\"name\":\"CPMUCL=\",\"optional\":true,\"description\":\"Upper confidence limit for Cpm\",\"type\":\"value\"},{\"name\":\"CPU=\",\"optional\":true,\"description\":\"Capability index CPU\",\"type\":\"value\"},{\"name\":\"CPUCL=\",\"optional\":true,\"description\":\"Upper confidence limit for Cp\",\"type\":\"value\"},{\"name\":\"CPULCL=\",\"optional\":true,\"description\":\"Lower confidence limit for CPU\",\"type\":\"value\"},{\"name\":\"CPUUCL=\",\"optional\":true,\"description\":\"Upper confidence limit for CPU\",\"type\":\"value\"},{\"name\":\"K=\",\"optional\":true,\"description\":\"Capability index k\",\"type\":\"value\"},{\"name\":\"KURTOSIS=\",\"optional\":true,\"aliases\":[\"KURT=\"],\"description\":\"Measures heaviness of tails.\",\"type\":\"value\"},{\"name\":\"LSL=\",\"optional\":true,\"description\":\"Lower specification limit\",\"type\":\"value\"},{\"name\":\"MAX=\",\"optional\":true,\"description\":\"Maximum value\",\"type\":\"value\"},{\"name\":\"MEAN=\",\"optional\":true,\"description\":\"Arithmetic mean\",\"type\":\"value\"},{\"name\":\"MEDIAN=\",\"optional\":true,\"description\":\"Median (50th percentile)\",\"type\":\"value\"},{\"name\":\"MIN=\",\"optional\":true,\"description\":\"Minimum value\",\"type\":\"value\"},{\"name\":\"MODE=\",\"optional\":true,\"description\":\"Most frequent value\",\"type\":\"value\"},{\"name\":\"N=\",\"optional\":true,\"description\":\"Number of observations that are not missing\",\"type\":\"value\"},{\"name\":\"NMISS=\",\"optional\":true,\"description\":\"Number of observations that are missing\",\"type\":\"value\"},{\"name\":\"NOBS=\",\"optional\":true,\"description\":\"Number of observations\",\"type\":\"value\"},{\"name\":\"NORMAL=\",\"optional\":true,\"description\":\"Test statistic for normality\",\"type\":\"value\"},{\"name\":\"OUT=\",\"optional\":true,\"description\":\"Specifies the name of the output data set.\",\"help\":\"OUT=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"P10=\",\"optional\":true,\"description\":\"10th percentile\",\"type\":\"value\"},{\"name\":\"P1=\",\"optional\":true,\"description\":\"1st percentile\",\"type\":\"value\"},{\"name\":\"P25=\",\"optional\":true,\"description\":\"25th percentile\",\"type\":\"value\"},{\"name\":\"P50=\",\"optional\":true,\"description\":\"Median\",\"type\":\"value\"},{\"name\":\"P5=\",\"optional\":true,\"description\":\"5th percentile\",\"type\":\"value\"},{\"name\":\"P75=\",\"optional\":true,\"description\":\"75th percentile (upper quartile)\",\"type\":\"value\"},{\"name\":\"P90=\",\"optional\":true,\"description\":\"90th percentile\",\"type\":\"value\"},{\"name\":\"P95=\",\"optional\":true,\"description\":\"95th percentile\",\"type\":\"value\"},{\"name\":\"P99=\",\"optional\":true,\"description\":\"99th percentile\",\"type\":\"value\"},{\"name\":\"PCTGTR=\",\"optional\":true,\"description\":\"Percent of nonmissing observations greater than the upper specification limit\",\"type\":\"value\"},{\"name\":\"PCTLNAME=\",\"optional\":true,\"description\":\"Provides name suffixes for the new variables created by the PCTLPTS= option.\",\"help\":\"PCTLNAME=*suffixes*\",\"type\":\"value\"},{\"name\":\"PCTLPRE=\",\"optional\":true,\"description\":\"Specifies prefixes used to create variable names for percentiles requested with the PCTLPTS= option.\",\"help\":\"PCTLPRE=*prefixes*\",\"type\":\"value\"},{\"name\":\"PCTLPTS=\",\"optional\":true,\"description\":\"Specifies percentiles that are not automatically computed by the procedure.\",\"help\":\"PCTLPTS=*percentiles*\",\"type\":\"value\"},{\"name\":\"PCTLSS=\",\"optional\":true,\"description\":\"Percent of nonmissing observations less than the lower specification limit\",\"type\":\"value\"},{\"name\":\"PNORMAL=\",\"optional\":true,\"description\":\"P-value for normality test\",\"type\":\"value\"},{\"name\":\"Q1=\",\"optional\":true,\"description\":\"Lower quartile (25th percentile)\",\"type\":\"value\"},{\"name\":\"Q3=\",\"optional\":true,\"description\":\"Upper quartile (75th percentile)\",\"type\":\"value\"},{\"name\":\"QRANGE=\",\"optional\":true,\"description\":\"Interquartile range and is calculated as Q3-Q1\",\"type\":\"value\"},{\"name\":\"RANGE=\",\"optional\":true,\"description\":\"Range calculated as the difference between maximum value and minimum value.\",\"type\":\"value\"},{\"name\":\"SIGNRANK=\",\"optional\":true,\"description\":\"Signed rank statistic\",\"type\":\"value\"},{\"name\":\"SKEWNESS=\",\"optional\":true,\"description\":\"Measures the tendency of the deviations to be larger in one direction than in the other.\",\"type\":\"value\"},{\"name\":\"STD=\",\"optional\":true,\"description\":\"Standard deviation\",\"type\":\"value\"},{\"name\":\"SUM=\",\"optional\":true,\"description\":\"Sum\",\"type\":\"value\"},{\"name\":\"SUMWGT=\",\"optional\":true,\"description\":\"Sum of the weights\",\"type\":\"value\"},{\"name\":\"TARGET=\",\"optional\":true,\"description\":\"target value\",\"type\":\"value\"},{\"name\":\"USL=\",\"optional\":true,\"description\":\"Upper specification limit\",\"type\":\"value\"},{\"name\":\"VAR=\",\"optional\":true,\"description\":\"Variance\",\"type\":\"value\"}]},{\"name\":\"PPPLOT\",\"description\":\"The PPPLOT statement creates a probability-probability plot (also referred to as a P-P plot or percent plot), which compares the empirical cumulative distribution function (ecdf) of a variable with a specified theoretical cumulative distribution function such as the normal.\",\"help\":\"PPPLOT &lt;ALPHA=value-list&gt;&lt;BETA&lt;(beta-options)&gt;&gt;&lt;BETA=value&gt; ...\",\"arguments\":[{\"name\":\"ALPHA=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the shape parameter α (α > 0) for P-P plots requested with the BETA and GAMMA options.\",\"help\":\"ALPHA=*value-list*\",\"type\":\"value\"},{\"name\":\"ALPHADELTA=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the change in successive estimates of α-hat at which iteration terminates in the Newton-Raphson approximation of the maximum likelihood estimate of α for gamma distributions requested with the GAMMA option.\",\"help\":\"ALPHADELTA=*value*\",\"type\":\"value\"},{\"name\":\"ALPHAINITIAL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the initial value for α-hat in the Newton-Raphson approximation of the maximum likelihood estimate of α for gamma distributions requested with the GAMMA option. Enclose the ALPHAINITIAL= option in parentheses after the GAMMA keyword.\",\"help\":\"ALPHAINITIAL=*value*\",\"type\":\"value\"},{\"name\":\"ANNOKEY\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Applies the annotation requested with the ANNOTATE= option only to the key cell of a comparative plot.\",\"type\":\"standalone\"},{\"name\":\"ANNOTATE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"ANNO=\"],\"description\":\"Specifies an input data set that contains annotate variables.\",\"help\":\"ANNOTATE=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"BETA\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Creates a beta P-P plot. You can specify the following beta-options:\",\"type\":\"standalone\"},{\"name\":\"BETA=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the shape parameter, β, for P-P plots requested by the BETA option.\",\"help\":\"BETA=*value*\",\"type\":\"value\"},{\"name\":\"C=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the shape parameter, c, for P-P plots requested with the WEIBULL option\",\"help\":\"C=*value*\",\"type\":\"value\"},{\"name\":\"CAXIS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"CAXES=\",\"CA=\"],\"description\":\"Specifies the color for the axes and tick marks.\",\"help\":\"CAXIS=*color*\",\"type\":\"color\"},{\"name\":\"CDELTA=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the change in successive estimates of c at which iterations terminate in the Newton-Raphson approximation of the maximum likelihood estimate of c for Weibull distributions requested by the WEIBULL option. Enclose the CDELTA= option in parentheses after the WEIBULL keyword. Iteration continues until the change in between consecutive steps is less than the value specified or until the number of iterations exceeds the value of the MAXITER= option. The default value is 0.00001.\",\"help\":\"CDELTA=*value*\",\"type\":\"value\"},{\"name\":\"CFRAME=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the color for the area that is enclosed by the axes and frame. The area is not filled by default.\",\"help\":\"CFRAME=*color*\",\"type\":\"color\"},{\"name\":\"CFRAMESIDE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the color to fill the frame area for the row labels that display along the left side of a comparative plot.\",\"help\":\"CFRAMESIDE=*color*\",\"type\":\"color\"},{\"name\":\"CFRAMETOP=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the color to fill the frame area for the column labels that display across the top of a comparative plot.\",\"help\":\"CFRAMETOP=*color*\",\"type\":\"color\"},{\"name\":\"CHREF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"CH=\"],\"description\":\"Specifies the color for horizontal axis reference lines requested by the HREF= option.\",\"help\":\"CHREF=*color*\",\"type\":\"color\"},{\"name\":\"CINITIAL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the initial value for c-hat in the Newton-Raphson approximation of the maximum likelihood estimate of c for Weibull distributions requested with the WEIBULL or WEIBULL2 option. The default value is 1.8.\",\"help\":\"CINITIAL=*value*\",\"type\":\"value\"},{\"name\":\"COLOR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the color of the curve or reference line associated with a distribution or kernel density estimate. Enclose the COLOR= option in parentheses after a distribution option or the KERNEL option. In a HISTOGRAM statement, you can specify a list of colors in parentheses for multiple density curves.\",\"help\":\"COLOR=*color*\",\"type\":\"color\"},{\"name\":\"CONTENTS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the table of contents grouping entry for output produced by the plot statement. You can specify CONTENTS='' to suppress the grouping entry.\",\"help\":\"CONTENTS='*string*'\",\"type\":\"value\"},{\"name\":\"CPROP=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the color for a horizontal bar whose length (relative to the width of the tile) indicates the proportion of the total frequency that is represented by the corresponding cell in a comparative plot.\",\"help\":\"CPROP=EMPTY | CPROP*color*\",\"type\":\"color\",\"arguments\":[{\"name\":\"EMPTY\",\"type\":\"standalone\"},{\"name\":\"CPROP\",\"type\":\"color\"}]},{\"name\":\"CTEXT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"CT=\"],\"description\":\"Specifies the color for tick mark values and axis labels. The default is the color specified for the CTEXT= option in the GOPTIONS statement.\",\"help\":\"CTEXT=*color*\",\"type\":\"color\"},{\"name\":\"CTEXTSIDE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the color for the row labels that display along the left side of a comparative plot. By default, the color specified by the CTEXT= option is used. If you omit the CTEXT= option, the color specified in the GOPTIONS statement is used.\",\"help\":\"CTEXTSIDE=*color*\",\"type\":\"color\"},{\"name\":\"CTEXTTOP=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the color for the column labels that display along the left side of a comparative plot. By default, the color specified by the CTEXT= option is used. If you omit the CTEXT= option, the color specified in the GOPTIONS statement is used.\",\"help\":\"CTEXTTOP=*color*\",\"type\":\"color\"},{\"name\":\"CVREF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"CV=\"],\"description\":\"Specifies the color for lines requested with the VREF= option.\",\"help\":\"CVREF=*color*\",\"type\":\"color\"},{\"name\":\"DESCRIPTION=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"DES=\"],\"description\":\"Specifies a description, up to 256 characters long, that appears in the PROC GREPLAY master menu for a traditional graphics chart. The default value is the analysis variable name.\",\"help\":\"DESCRIPTION='*string*'\",\"type\":\"value\"},{\"name\":\"EXPONENTIAL\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"EXP\"],\"description\":\"Creates an exponential P-P plot. You can specify the following exponential-options: SIGMA=value -- specifies scale parameter, σ THETA=value -- specifies threshold parameter, θ COLOR=color -- specifies color of distribution reference line L=linetype -- specifies line type of distribution reference line NOLINE -- suppresses the distribution reference line SYMBOL='character' -- specifies plotting character for line printer plots W= -- specifies width of distribution reference line\",\"type\":\"standalone\"},{\"name\":\"FITINTERVAL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the value of z for the method of percentiles when this method is used to fit a Johnson sB or Johnson sU distribution. The FITINTERVAL= option is specified in parentheses after the SB or SU option. The default of z is 0.524.\",\"help\":\"FITINTERVAL=*value*\",\"type\":\"value\"},{\"name\":\"FITMETHOD=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the method used to estimate the parameters of a Johnson sB or Johnson sU distribution. The FITMETHOD= option is specified in parentheses after the SB or SU option. By default, the method of percentiles is used.\",\"help\":\"FITMETHOD=PERCENTILE | MLE | MOMENTS\",\"type\":\"choice\",\"arguments\":[{\"name\":\"PERCENTILE\",\"followsDelimiter\":\"/\",\"description\":\"Method of percentiles.\",\"type\":\"standalone\"},{\"name\":\"MLE\",\"followsDelimiter\":\"/\",\"description\":\"Method of MLE.\",\"type\":\"standalone\"},{\"name\":\"MOMENTS\",\"followsDelimiter\":\"/\",\"description\":\"Method of moments.\",\"type\":\"standalone\"}]},{\"name\":\"FITTOLERANCE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the tolerance value for the ratio criterion when the method of percentiles is used to fit a Johnson sB or Johnson sU distribution. The FITTOLERANCE= option is specified in parentheses after the SB or SU option. The default value is 0.01.\",\"help\":\"FITTOLERANCE=*value*\",\"type\":\"value\"},{\"name\":\"FONT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies a software font for reference line and axis labels. You can also specify fonts for axis labels in an AXIS statement. The FONT= font takes precedence over the FTEXT= font specified in the GOPTIONS statement.\",\"help\":\"FONT=*font*\",\"type\":\"value\"},{\"name\":\"GAMMA\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Creates a gamma P-P plot. You can specify the following gamma-options: ALPHA=value -- specifies shape parameter, α SIGMA=value -- specifies scale parameter, σ THETA=value -- specifies threshold parameter, θ COLOR=color -- specifies color of distribution reference line L=linetype -- specifies line type of distribution reference line NOLINE -- suppresses the distribution reference line SYMBOL='character' -- specifies plotting character for line printer plots W= -- specifies width of distribution reference line\",\"type\":\"standalone\"},{\"name\":\"HAXIS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the name of an AXIS statement describing the horizontal axis.\",\"help\":\"HAXIS=*value*\",\"type\":\"value\"},{\"name\":\"HEIGHT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"HM=\"],\"description\":\"Specifies the height, in percentage screen units, of text for axis labels, tick mark labels, and legends. This option takes precedence over the HTEXT= option in the GOPTIONS statement.\",\"help\":\"HEIGHT=*value*\",\"type\":\"value\"},{\"name\":\"HMINOR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the number of minor tick marks between each major tick mark on the horizontal axis. Minor tick marks are not labeled. By default, HMINOR=0.\",\"help\":\"HMINOR=*n*\",\"type\":\"value\"},{\"name\":\"HREFLABELS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"HREFLABEL=\",\"HREFLAB=\"],\"description\":\"Specifies labels for the lines requested by the HREF= option. The number of labels must equal the number of lines. Enclose each label in quotes. Labels can have up to 16 characters.\",\"type\":\"value\"},{\"name\":\"HREFLABPOS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the vertical position of the HREFLABELS= labels.\",\"help\":\"HREFLABPOS=1 | 2 | 3 | 4\",\"type\":\"choice\",\"arguments\":[{\"name\":\"1\",\"followsDelimiter\":\"/\",\"description\":\"Along top of plot\",\"type\":\"standalone\"},{\"name\":\"2\",\"followsDelimiter\":\"/\",\"description\":\"Staggered from top to bottom of plot\",\"type\":\"standalone\"},{\"name\":\"3\",\"followsDelimiter\":\"/\",\"description\":\"Along bottom of plot\",\"type\":\"standalone\"},{\"name\":\"4\",\"followsDelimiter\":\"/\",\"description\":\"Staggered from bottom to top of plot\",\"type\":\"standalone\"}]},{\"name\":\"INFONT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies a software font to use for text inside the framed areas of the plot. The INFONT= option takes precedence over the FTEXT= option in the GOPTIONS statement.\",\"help\":\"INFONT=*font*\",\"type\":\"value\"},{\"name\":\"INHEIGHT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the height, in percentage screen units, of text used inside the framed areas of the histogram. By default, the height specified by the HEIGHT= option is used. If you do not specify the HEIGHT= option, the height specified with the HTEXT= option in the GOPTIONS statement is used.\",\"help\":\"INHEIGHT=*value*\",\"type\":\"value\"},{\"name\":\"INTERTILE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the distance in horizontal percentage screen units between the framed areas, called tiles, of a comparative plot. By default, INTERTILE=0.75 percentage screen units. This option is not available unless you use the CLASS statement. You can specify INTERTILE=0 to create contiguous tiles.\",\"help\":\"INTERTILE=*value*\",\"type\":\"value\"},{\"name\":\"L=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the line type of the curve or reference line associated with a distribution or kernel density estimate. Enclose the L= option in parentheses after the distribution option or the KERNEL option. In a HISTOGRAM statement, you can specify a list of line types in parentheses for multiple density curves.\",\"help\":\"L=*linetype*\",\"type\":\"value\"},{\"name\":\"LHREF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"LH=\"],\"description\":\"Specifies the line type for the reference lines that you request with the HREF= option. By default, LHREF=2, which produces a dashed line.\",\"type\":\"value\"},{\"name\":\"LOGNORMAL\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"LOGNORM\"],\"description\":\"Creates a lognormal P-P plot. You can specify the following lognormal-options: SIGMA=value -- specifies shape parameter, σ THETA=value -- specifies threshold parameter, θ ZETA=value -- specifies scale parameter, ζ COLOR=color -- specifies color of distribution reference line L=linetype -- specifies line type of distribution reference line NOLINE -- suppresses the distribution reference line SYMBOL='character' -- specifies plotting character for line printer plots W= -- specifies width of distribution reference line\",\"type\":\"standalone\"},{\"name\":\"LVREF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"LV=\"],\"description\":\"Specifies the line type for lines requested with the VREF= option. By default, LVREF=2, which produces a dashed line.\",\"help\":\"LVREF=*linetype*\",\"type\":\"value\"},{\"name\":\"MAXITER=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the maximum number of iterations in the Newton-Raphson approximation of the maximum likelihood estimate of α for gamma distributions requested with the GAMMA option and c for Weibull distributions requested with the WEIBULL and WEIBULL2 options. Enclose the MAXITER= option in parentheses after the GAMMA, WEIBULL, or WEIBULL2 keywords. The default value of n is 20.\",\"help\":\"MAXITER=*n*\",\"type\":\"value\"},{\"name\":\"MU=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the parameter, µ, for normal P-P plot requested with the NORMAL option.\",\"help\":\"MU=*value*\",\"type\":\"value\"},{\"name\":\"NAME=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies a name for the plot, up to eight characters long, that appears in the PROC GREPLAY master menu for a traditional graphics chart. The default value is 'UNIVAR'.\",\"help\":\"NAME='*string*'\",\"type\":\"value\"},{\"name\":\"NCOLS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"NCOL=\"],\"description\":\"Specifies the number of columns per panel in a comparative plot. This option is not available unless you use the CLASS statement. By default, NCOLS=1 if you specify only one CLASS variable, and NCOLS=2 if you specify two CLASS variables. If you specify two CLASS variables, you can use the NCOLS= option with the NROWS= option.\",\"help\":\"NCOLS=*n*\",\"type\":\"value\"},{\"name\":\"NOFRAME\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Suppresses the frame around the subplot area.\",\"type\":\"standalone\"},{\"name\":\"NOHLABEL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Suppresses the label for the horizontal axis. You can use this option to reduce clutter.\",\"type\":\"standalone\"},{\"name\":\"NOLINE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Suppresses the diagonal reference line.\",\"type\":\"standalone\"},{\"name\":\"NOOBSLEGEND\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"NOOBSL\"],\"description\":\"Suppresses the legend that indicates the number of hidden observations.\",\"type\":\"standalone\"},{\"name\":\"NORMAL\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"NORM\"],\"description\":\"Creates a normal P-P plot. You can specify the following normal-options: MU=value -- specifies mean SIGMA=value -- specifies standard deviation COLOR=color -- specifies color of distribution reference line L=linetype -- specifies line type of distribution reference line NOLINE -- suppresses the distribution reference line SYMBOL='character' -- specifies plotting character for line printer plots W= -- specifies width of distribution reference line\",\"type\":\"standalone\"},{\"name\":\"NOVLABEL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Suppresses the label for the vertical axis. You can use this option to reduce clutter.\",\"type\":\"standalone\"},{\"name\":\"NOVTICK\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Suppresses the tick marks and tick mark labels for the vertical axis. This option also suppresses the label for the vertical axis.\",\"type\":\"standalone\"},{\"name\":\"NROWS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"NROW=\"],\"description\":\"Specifies the number of rows per panel in a comparative plot. This option is not available unless you use the CLASS statement. By default, NROWS=2. If you specify two CLASS variables, you can use the NCOLS= option with the NROWS= option.\",\"help\":\"NROWS=*n*\",\"type\":\"value\"},{\"name\":\"OVERLAY\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies that plots associated with different levels of a CLASS variable be overlaid onto a single plot, rather than displayed as separate cells in a comparative plot.\",\"type\":\"standalone\"},{\"name\":\"PPSYMBOL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the character used to plot the points in a line printer plot. The default is the plus sign (+).\",\"help\":\"PPSYMBOL='*character*'\",\"type\":\"value\"},{\"name\":\"SCALE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Is an alias for the SIGMA= option for distributions requested by the BETA, EXPONENTIAL, GAMMA, SB, SU, WEIBULL, and WEIBULL2 options and for the ZETA= option for distributions requested by the LOGNORMAL option.\",\"help\":\"SCALE=*value*\",\"type\":\"value\"},{\"name\":\"SHAPE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Is an alias for the ALPHA= option for distributions requested by the GAMMA option, for the SIGMA= option for distributions requested by the LOGNORMAL option, and for the C= option for distributions requested by the WEIBULL and WEIBULL2 options.\",\"help\":\"SHAPE=*value*\",\"type\":\"value\"},{\"name\":\"SIGMA=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the scale parameter, σ, for P-P plots requested by the BETA, EXPONENTIAL, GAMMA, LOGNORMAL, NORMAL, and WEIBULL options\",\"type\":\"value\"},{\"name\":\"SQUARE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays the P-P plot in a square frame. The default is a rectangular frame.\",\"type\":\"standalone\"},{\"name\":\"SYMBOL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the character used for the diagonal reference line in line printer plots. The default character is the first letter of the distribution option keyword.\",\"help\":\"SYMBOL='*character*'\",\"type\":\"value\"},{\"name\":\"THETA=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"THRESHOLD=\"],\"description\":\"Specifies the lower threshold parameter, θ, for plots requested with the BETA, EXPONENTIAL, GAMMA, LOGNORMAL, and WEIBULL options.\",\"help\":\"THETA=*value*\",\"type\":\"value\"},{\"name\":\"TURNVLABELS\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"TURNVLABEL\"],\"description\":\"Turns the characters in the vertical axis labels so that they display vertically. This happens by default when you use a hardware font.\",\"type\":\"standalone\"},{\"name\":\"VAXIS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the name of an AXIS statement describing the vertical axis. In a HISTOGRAM statement, you can alternatively specify a value-list for the vertical axis.\",\"help\":\"VAXIS=*name*\",\"type\":\"value\"},{\"name\":\"VAXISLABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies a label for the vertical axis. Labels can have up to 40 characters.\",\"help\":\"VAXISLABEL='*label*'\",\"type\":\"value\"},{\"name\":\"VMINOR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"VM=\"],\"description\":\"Specifies the number of minor tick marks between each major tick mark on the vertical axis. Minor tick marks are not labeled. The default is zero.\",\"help\":\"VMINOR=*n*\",\"type\":\"value\"},{\"name\":\"VREF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Draws reference lines perpendicular to the vertical axis at the values specified. Also see the CVREF= and LVREF= options.\",\"help\":\"VREF=*value-list*\",\"type\":\"value\"},{\"name\":\"VREFLABELS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"VREFLABEL=\",\"VREFLAB=\"],\"description\":\"Specifies labels for the lines requested by the VREF= option. The number of labels must equal the number of lines. Enclose each label in quotes. Labels can have up to 16 characters.\",\"type\":\"value\"},{\"name\":\"VREFLABPOS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the horizontal position of the VREFLABELS= labels.\",\"help\":\"VREFLABPOS=1 | 2\",\"type\":\"choice\",\"arguments\":[{\"name\":\"1\",\"followsDelimiter\":\"/\",\"description\":\"Labels are positioned at the left of the plot.\",\"type\":\"standalone\"},{\"name\":\"2\",\"followsDelimiter\":\"/\",\"description\":\"Labels are positioned at the right of the plot.\",\"type\":\"standalone\"}]},{\"name\":\"W=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the width in pixels of the curve or reference line associated with a distribution or kernel density estimate. Enclose the W= option in parentheses after the distribution option or the KERNEL option. In a HISTOGRAM statement, you can specify a list of widths in parentheses for multiple density curves.\",\"type\":\"value\"},{\"name\":\"WAXIS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the line thickness, in pixels, for the axes and frame.\",\"help\":\"WAXIS=*n*\",\"type\":\"value\"},{\"name\":\"WEIBULL\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"WEIB\"],\"description\":\"Creates a Weibull P-P plot. You can specify the following Weibull-options: C=value -- specifies shape parameter,c SIGMA=value -- specifies scale parameter, σ THETA=value -- specifies threshold parameter, θ COLOR=color -- specifies color of distribution reference line L=linetype -- specifies line type of distribution reference line NOLINE -- suppresses the distribution reference line SYMBOL='character' -- specifies plotting character for line printer plots W= -- specifies width of distribution reference line\",\"type\":\"standalone\"},{\"name\":\"ZETA=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies a value for the scale parameter, ζ, for a lognormal P-P plots requested with the LOGNORMAL option.\",\"help\":\"ZETA=*value*\",\"type\":\"value\"}]},{\"name\":\"PROBPLOT\",\"description\":\"The PROBPLOT statement creates a probability plot, which compares ordered variable values with the percentiles of a specified theoretical distribution. If the data distribution matches the theoretical distribution, the points on the plot form a linear pattern.\",\"help\":\"PROBPLOT &lt;ALPHA=value-list | EST&gt;&lt;BETA(ALPHA=value | EST BETA=value | EST &lt;beta-options&gt;)&gt;&lt;BETA=value|EST&gt; ...\",\"arguments\":[{\"name\":\"ALPHA=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies values for a mandatory shape parameter α (α > 0) for probability plots requested with the BETA and GAMMA options.\",\"type\":\"value\"},{\"name\":\"ALPHADELTA=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the change in successive estimates of α-hat at which iteration terminates in the Newton-Raphson approximation of the maximum likelihood estimate of α for gamma distributions requested with the GAMMA option.\",\"help\":\"ALPHADELTA=*value*\",\"type\":\"value\"},{\"name\":\"ALPHAINITIAL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the initial value for α-hat in the Newton-Raphson approximation of the maximum likelihood estimate of α for gamma distributions requested with the GAMMA option. Enclose the ALPHAINITIAL= option in parentheses after the GAMMA keyword.\",\"help\":\"ALPHAINITIAL=*value*\",\"type\":\"value\"},{\"name\":\"ANNOKEY\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Applies the annotation requested with the ANNOTATE= option only to the key cell of a comparative plot.\",\"type\":\"standalone\"},{\"name\":\"ANNOTATE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"ANNO=\"],\"description\":\"Specifies an input data set that contains annotate variables.\",\"help\":\"ANNOTATE=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"BETA\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Creates a beta probability plot for each combination of the required shape parameters, α and β, specified by the required ALPHA= and BETA= beta-options. You can specify the following beta-options:\",\"type\":\"standalone\"},{\"name\":\"BETA=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies values for the shape parameter β for probability plots requested with the BETA option.\",\"type\":\"value\"},{\"name\":\"C=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the shape parameter, c, for probability plots requested with the WEIBULL and WEIBULL2 options.\",\"help\":\"C=*value-list* | EST\",\"type\":\"choice\",\"arguments\":[{\"name\":\"value-list\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the shape parameter, c, for probability plots requested with the WEIBULL and WEIBULL2 options. You must specify C= as a Weibull-option with the WEIBULL option; in this situation it accepts a list of values.\",\"type\":\"value\"},{\"name\":\"EST\",\"followsDelimiter\":\"/\",\"description\":\"If you specify C=EST, a maximum likelihood estimate is computed for c. You can optionally specify C=value or C=EST as a Weibull2-option with the WEIBULL2 option to request a distribution reference line; in this situation, you must also specify SIGMA=value or SIGMA=EST.\",\"type\":\"standalone\"}]},{\"name\":\"CAXIS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"CAXES=\",\"CA=\"],\"description\":\"Specifies the color for the axes and tick marks.\",\"help\":\"CAXIS=*color*\",\"type\":\"color\"},{\"name\":\"CDELTA=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the change in successive estimates of c at which iterations terminate in the Newton-Raphson approximation of the maximum likelihood estimate of c for Weibull distributions requested by the WEIBULL option. Enclose the CDELTA= option in parentheses after the WEIBULL keyword. Iteration continues until the change in c between consecutive steps is less than the value specified or until the number of iterations exceeds the value of the MAXITER= option. The default value is 0.00001.\",\"help\":\"CDELTA=*value*\",\"type\":\"value\"},{\"name\":\"CFRAME=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the color for the area that is enclosed by the axes and frame. The area is not filled by default.\",\"help\":\"CFRAME=*color*\",\"type\":\"color\"},{\"name\":\"CFRAMESIDE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the color to fill the frame area for the row labels that display along the left side of a comparative plot.\",\"help\":\"CFRAMESIDE=*color*\",\"type\":\"color\"},{\"name\":\"CFRAMETOP=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the color to fill the frame area for the column labels that display across the top of a comparative plot.\",\"help\":\"CFRAMETOP=*color*\",\"type\":\"color\"},{\"name\":\"CHREF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"CH=\"],\"description\":\"Specifies the color for horizontal axis reference lines requested by the HREF= option.\",\"help\":\"CHREF=*color*\",\"type\":\"color\"},{\"name\":\"CINITIAL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the initial value for c-hat in the Newton-Raphson approximation of the maximum likelihood estimate of c for Weibull distributions requested with the WEIBULL or WEIBULL2 option. The default value is 1.8.\",\"help\":\"CINITIAL=*value*\",\"type\":\"value\"},{\"name\":\"COLOR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the color of the curve or reference line associated with a distribution or kernel density estimate. Enclose the COLOR= option in parentheses after a distribution option or the KERNEL option. In a HISTOGRAM statement, you can specify a list of colors in parentheses for multiple density curves.\",\"help\":\"COLOR=*color*\",\"type\":\"color\"},{\"name\":\"CONTENTS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the table of contents grouping entry for output produced by the plot statement. You can specify CONTENTS='' to suppress the grouping entry.\",\"help\":\"CONTENTS='*string*'\",\"type\":\"value\"},{\"name\":\"CPROP=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the color for a horizontal bar whose length (relative to the width of the tile) indicates the proportion of the total frequency that is represented by the corresponding cell in a comparative plot.\",\"help\":\"CPROP=EMPTY | CPROP*color*\",\"type\":\"color\",\"arguments\":[{\"name\":\"EMPTY\",\"type\":\"standalone\"},{\"name\":\"CPROP\",\"type\":\"color\"}]},{\"name\":\"CTEXT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"CT=\"],\"description\":\"Specifies the color for tick mark values and axis labels. The default is the color specified for the CTEXT= option in the GOPTIONS statement.\",\"help\":\"CTEXT=*color*\",\"type\":\"color\"},{\"name\":\"CTEXTSIDE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the color for the row labels that display along the left side of a comparative plot. By default, the color specified by the CTEXT= option is used. If you omit the CTEXT= option, the color specified in the GOPTIONS statement is used.\",\"help\":\"CTEXTSIDE=*color*\",\"type\":\"color\"},{\"name\":\"CTEXTTOP=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the color for the column labels that display along the left side of a comparative plot. By default, the color specified by the CTEXT= option is used. If you omit the CTEXT= option, the color specified in the GOPTIONS statement is used.\",\"help\":\"CTEXTTOP=*color*\",\"type\":\"color\"},{\"name\":\"CVREF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"CV=\"],\"description\":\"Specifies the color for lines requested with the VREF= option.\",\"help\":\"CVREF=*color*\",\"type\":\"color\"},{\"name\":\"DESCRIPTION=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"DES=\"],\"description\":\"Specifies a description, up to 256 characters long, that appears in the PROC GREPLAY master menu for a traditional graphics chart. The default value is the analysis variable name.\",\"help\":\"DESCRIPTION='*string*'\",\"type\":\"value\"},{\"name\":\"EXPONENTIAL\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"EXP\"],\"description\":\"Creates an exponential probability plot. Available exponential-options are: SIGMA=value|EST -- specifies σ0 for distribution reference line THETA=value|EST -- specifies θ0 for distribution reference line COLOR=color -- specifies color of distribution reference line L=linetype -- specifies line type of distribution reference line SYMBOL='character' -- specifies plotting character for line printer plots W= -- specifies width of distribution reference line\",\"type\":\"standalone\"},{\"name\":\"FITINTERVAL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the value of z for the method of percentiles when this method is used to fit a Johnson sB or Johnson sU distribution. The FITINTERVAL= option is specified in parentheses after the SB or SU option. The default of z is 0.524.\",\"help\":\"FITINTERVAL=*value*\",\"type\":\"value\"},{\"name\":\"FITMETHOD=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the method used to estimate the parameters of a Johnson sB or Johnson sU distribution. The FITMETHOD= option is specified in parentheses after the SB or SU option. By default, the method of percentiles is used.\",\"help\":\"FITMETHOD=PERCENTILE | MLE | MOMENTS\",\"type\":\"choice\",\"arguments\":[{\"name\":\"PERCENTILE\",\"followsDelimiter\":\"/\",\"description\":\"Method of percentiles.\",\"type\":\"standalone\"},{\"name\":\"MLE\",\"followsDelimiter\":\"/\",\"description\":\"Method of MLE.\",\"type\":\"standalone\"},{\"name\":\"MOMENTS\",\"followsDelimiter\":\"/\",\"description\":\"Method of moments.\",\"type\":\"standalone\"}]},{\"name\":\"FITTOLERANCE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the tolerance value for the ratio criterion when the method of percentiles is used to fit a Johnson sB or Johnson sU distribution. The FITTOLERANCE= option is specified in parentheses after the SB or SU option. The default value is 0.01.\",\"help\":\"FITTOLERANCE=*value*\",\"type\":\"value\"},{\"name\":\"FONT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies a software font for reference line and axis labels. You can also specify fonts for axis labels in an AXIS statement. The FONT= font takes precedence over the FTEXT= font specified in the GOPTIONS statement.\",\"help\":\"FONT=*font*\",\"type\":\"value\"},{\"name\":\"GAMMA\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Creates a gamma probability plot for each value of the shape parameter α given by the mandatory ALPHA= gamma-option. Available gamma-options are:\",\"type\":\"standalone\"},{\"name\":\"GRID\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Draws reference lines perpendicular to the percentile axis at major tick marks.\",\"type\":\"standalone\"},{\"name\":\"GRIDCHAR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the character used for the lines requested by the GRID option for a line printer plot. The default is the vertical bar (|).\",\"help\":\"GRIDCHAR='*character*'\",\"type\":\"value\"},{\"name\":\"HAXIS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the name of an AXIS statement describing the horizontal axis.\",\"help\":\"HAXIS=*value*\",\"type\":\"value\"},{\"name\":\"HEIGHT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"HM=\"],\"description\":\"Specifies the height, in percentage screen units, of text for axis labels, tick mark labels, and legends. This option takes precedence over the HTEXT= option in the GOPTIONS statement.\",\"help\":\"HEIGHT=*value*\",\"type\":\"value\"},{\"name\":\"HMINOR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the number of minor tick marks between each major tick mark on the horizontal axis. Minor tick marks are not labeled. By default, HMINOR=0.\",\"help\":\"HMINOR=*n*\",\"type\":\"value\"},{\"name\":\"HREFLABELS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"HREFLABEL=\",\"HREFLAB=\"],\"description\":\"Specifies labels for the lines requested by the HREF= option. The number of labels must equal the number of lines. Enclose each label in quotes. Labels can have up to 16 characters.\",\"type\":\"value\"},{\"name\":\"HREFLABPOS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the vertical position of the HREFLABELS= labels.\",\"help\":\"HREFLABPOS=1 | 2 | 3 | 4\",\"type\":\"choice\",\"arguments\":[{\"name\":\"1\",\"followsDelimiter\":\"/\",\"description\":\"Along top of plot\",\"type\":\"standalone\"},{\"name\":\"2\",\"followsDelimiter\":\"/\",\"description\":\"Staggered from top to bottom of plot\",\"type\":\"standalone\"},{\"name\":\"3\",\"followsDelimiter\":\"/\",\"description\":\"Along bottom of plot\",\"type\":\"standalone\"},{\"name\":\"4\",\"followsDelimiter\":\"/\",\"description\":\"Staggered from bottom to top of plot\",\"type\":\"standalone\"}]},{\"name\":\"INFONT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies a software font to use for text inside the framed areas of the plot. The INFONT= option takes precedence over the FTEXT= option in the GOPTIONS statement.\",\"help\":\"INFONT=*font*\",\"type\":\"value\"},{\"name\":\"INHEIGHT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the height, in percentage screen units, of text used inside the framed areas of the histogram. By default, the height specified by the HEIGHT= option is used. If you do not specify the HEIGHT= option, the height specified with the HTEXT= option in the GOPTIONS statement is used.\",\"help\":\"INHEIGHT=*value*\",\"type\":\"value\"},{\"name\":\"INTERTILE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the distance in horizontal percentage screen units between the framed areas, called tiles, of a comparative plot. By default, INTERTILE=0.75 percentage screen units. This option is not available unless you use the CLASS statement. You can specify INTERTILE=0 to create contiguous tiles.\",\"help\":\"INTERTILE=*value*\",\"type\":\"value\"},{\"name\":\"L=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the line type of the curve or reference line associated with a distribution or kernel density estimate. Enclose the L= option in parentheses after the distribution option or the KERNEL option. In a HISTOGRAM statement, you can specify a list of line types in parentheses for multiple density curves.\",\"help\":\"L=*linetype*\",\"type\":\"value\"},{\"name\":\"LEGEND=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Identifies the LEGEND statement describing the legend for specification limit reference lines and fitted curves.\",\"help\":\"LEGEND=*name* | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"name\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the name of a LEGEND statement describing the legend for specification limit reference lines and fitted curves.\",\"type\":\"value\"},{\"name\":\"NONE\",\"followsDelimiter\":\"/\",\"description\":\"Specifying LEGEND=NONE is equivalent to specifying the NOLEGEND option.\",\"type\":\"standalone\"}]},{\"name\":\"LGRID=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the line type for the reference lines requested by the GRID= option. By default, LGRID=1, which produces a solid line.\",\"help\":\"LGRID=*linetype*\",\"type\":\"value\"},{\"name\":\"LHREF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"LH=\"],\"description\":\"Specifies the line type for the reference lines that you request with the HREF= option. By default, LHREF=2, which produces a dashed line.\",\"type\":\"value\"},{\"name\":\"LOGNORMAL\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"LOGNORM\"],\"description\":\"Creates a lognormal probability plot for each value of the shape parameter σ given by the mandatory SIGMA= option. Available lognormal-options are:\",\"type\":\"standalone\"},{\"name\":\"LVREF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"LV=\"],\"description\":\"Specifies the line type for lines requested with the VREF= option. By default, LVREF=2, which produces a dashed line.\",\"help\":\"LVREF=*linetype*\",\"type\":\"value\"},{\"name\":\"MAXITER=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the maximum number of iterations in the Newton-Raphson approximation of the maximum likelihood estimate of α for gamma distributions requested with the GAMMA option and c for Weibull distributions requested with the WEIBULL and WEIBULL2 options. Enclose the MAXITER= option in parentheses after the GAMMA, WEIBULL, or WEIBULL2 keywords. The default value of n is 20.\",\"help\":\"MAXITER=*n*\",\"type\":\"value\"},{\"name\":\"MU=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the mean, µ, for a normal probability plot requested with the NORMAL option.\",\"type\":\"value\"},{\"name\":\"NADJ=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the adjustment value added to the sample size in the calculation of theoretical percentiles. The default is 1/4, as recommended by Blom (1958).\",\"type\":\"value\"},{\"name\":\"NAME=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies a name for the plot, up to eight characters long, that appears in the PROC GREPLAY master menu for a traditional graphics chart. The default value is 'UNIVAR'.\",\"help\":\"NAME='*string*'\",\"type\":\"value\"},{\"name\":\"NCOLS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"NCOL=\"],\"description\":\"Specifies the number of columns per panel in a comparative plot. This option is not available unless you use the CLASS statement. By default, NCOLS=1 if you specify only one CLASS variable, and NCOLS=2 if you specify two CLASS variables. If you specify two CLASS variables, you can use the NCOLS= option with the NROWS= option.\",\"help\":\"NCOLS=*n*\",\"type\":\"value\"},{\"name\":\"NOFRAME\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Suppresses the frame around the subplot area.\",\"type\":\"standalone\"},{\"name\":\"NOHLABEL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Suppresses the label for the horizontal axis. You can use this option to reduce clutter.\",\"type\":\"standalone\"},{\"name\":\"NOLEGEND\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Suppresses legends for specification limits, fitted curves, distribution lines, and hidden observations.\",\"type\":\"standalone\"},{\"name\":\"NOLINELEGEND\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"NOLINEL\"],\"description\":\"Suppresses the legend for the optional distribution reference line.\",\"type\":\"standalone\"},{\"name\":\"NOOBSLEGEND\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"NOOBSL\"],\"description\":\"Suppresses the legend that indicates the number of hidden observations.\",\"type\":\"standalone\"},{\"name\":\"NORMAL\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"NORM\"],\"description\":\"' Creates a normal probability plot. Available normal-options are: MU=value|EST -- specifies u0 for distribution reference line SIGMA=value|EST -- specifies σ0 for distribution reference line COLOR=color -- specifies color of distribution reference line L=linetype -- specifies line type of distribution reference line SYMBOL='character' -- specifies plotting character for line printer plots W= -- specifies width of distribution reference line\",\"type\":\"standalone\"},{\"name\":\"NOSPECLEGEND\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"NOSPECL\"],\"description\":\"Suppresses the legend for specification limit reference lines.\",\"type\":\"standalone\"},{\"name\":\"NOVLABEL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Suppresses the label for the vertical axis. You can use this option to reduce clutter.\",\"type\":\"standalone\"},{\"name\":\"NOVTICK\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Suppresses the tick marks and tick mark labels for the vertical axis. This option also suppresses the label for the vertical axis.\",\"type\":\"standalone\"},{\"name\":\"NROWS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"NROW=\"],\"description\":\"Specifies the number of rows per panel in a comparative plot. This option is not available unless you use the CLASS statement. By default, NROWS=2. If you specify two CLASS variables, you can use the NCOLS= option with the NROWS= option.\",\"help\":\"NROWS=*n*\",\"type\":\"value\"},{\"name\":\"OVERLAY\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies that plots associated with different levels of a CLASS variable be overlaid onto a single plot, rather than displayed as separate cells in a comparative plot.\",\"type\":\"standalone\"},{\"name\":\"PCTLMINOR\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests minor tick marks for the percentile axis.\",\"type\":\"standalone\"},{\"name\":\"PCTLORDER=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the tick mark values labeled on the theoretical percentile axis.\",\"help\":\"PCTLORDER=*value-list*\",\"type\":\"value\"},{\"name\":\"PROBSYMBOL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the character used to mark the points in a line printer plot. The default is the plus sign (+).\",\"help\":\"PROBSYMBOL='*character*'\",\"type\":\"value\"},{\"name\":\"RANKADJ=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the adjustment value added to the ranks in the calculation of theoretical percentiles.\",\"help\":\"RANKADJ=*value*\",\"type\":\"value\"},{\"name\":\"ROTATE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Switches the horizontal and vertical axes so that the theoretical percentiles are plotted vertically while the data are plotted horizontally.\",\"type\":\"standalone\"},{\"name\":\"SCALE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Is an alias for the SIGMA= option for distributions requested by the BETA, EXPONENTIAL, GAMMA, SB, SU, WEIBULL, and WEIBULL2 options and for the ZETA= option for distributions requested by the LOGNORMAL option.\",\"help\":\"SCALE=*value*\",\"type\":\"value\"},{\"name\":\"SHAPE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Is an alias for the ALPHA= option for distributions requested by the GAMMA option, for the SIGMA= option for distributions requested by the LOGNORMAL option, and for the C= option for distributions requested by the WEIBULL and WEIBULL2 options.\",\"help\":\"SHAPE=*value*\",\"type\":\"value\"},{\"name\":\"SIGMA=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the value of the parameter σ, where σ > 0. Alternatively, you can specify SIGMA=EST to request a maximum likelihood estimate for σ0.\",\"type\":\"value\"},{\"name\":\"SLOPE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the slope for a distribution reference line requested with the LOGNORMAL and WEIBULL2 options.\",\"type\":\"value\"},{\"name\":\"SQUARE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays the probability plot in a square frame. The default is a rectangular frame.\",\"type\":\"standalone\"},{\"name\":\"SYMBOL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the character used to display the distribution reference line in a line printer plot.\",\"help\":\"SYMBOL='*character*'\",\"type\":\"value\"},{\"name\":\"THETA=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"THRESHOLD=\"],\"description\":\"Specifies the lower threshold parameter, θ, for plots requested with the BETA, EXPONENTIAL, GAMMA, LOGNORMAL, WEIBULL and WEIBULL2 options.\",\"type\":\"value\"},{\"name\":\"TURNVLABELS\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"TURNVLABEL\"],\"description\":\"Turns the characters in the vertical axis labels so that they display vertically. This happens by default when you use a hardware font.\",\"type\":\"standalone\"},{\"name\":\"VAXIS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the name of an AXIS statement describing the vertical axis. In a HISTOGRAM statement, you can alternatively specify a value-list for the vertical axis.\",\"help\":\"VAXIS=*name*\",\"type\":\"value\"},{\"name\":\"VAXISLABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies a label for the vertical axis. Labels can have up to 40 characters.\",\"help\":\"VAXISLABEL='*label*'\",\"type\":\"value\"},{\"name\":\"VMINOR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"VM=\"],\"description\":\"Specifies the number of minor tick marks between each major tick mark on the vertical axis. Minor tick marks are not labeled. The default is zero.\",\"help\":\"VMINOR=*n*\",\"type\":\"value\"},{\"name\":\"VREF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Draws reference lines perpendicular to the vertical axis at the values specified. Also see the CVREF= and LVREF= options.\",\"help\":\"VREF=*value-list*\",\"type\":\"value\"},{\"name\":\"VREFLABELS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"VREFLABEL=\",\"VREFLAB=\"],\"description\":\"Specifies labels for the lines requested by the VREF= option. The number of labels must equal the number of lines. Enclose each label in quotes. Labels can have up to 16 characters.\",\"type\":\"value\"},{\"name\":\"VREFLABPOS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the horizontal position of the VREFLABELS= labels.\",\"help\":\"VREFLABPOS=1 | 2\",\"type\":\"choice\",\"arguments\":[{\"name\":\"1\",\"followsDelimiter\":\"/\",\"description\":\"Labels are positioned at the left of the plot.\",\"type\":\"standalone\"},{\"name\":\"2\",\"followsDelimiter\":\"/\",\"description\":\"Labels are positioned at the right of the plot.\",\"type\":\"standalone\"}]},{\"name\":\"W=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the width in pixels of the curve or reference line associated with a distribution or kernel density estimate. Enclose the W= option in parentheses after the distribution option or the KERNEL option. In a HISTOGRAM statement, you can specify a list of widths in parentheses for multiple density curves.\",\"type\":\"value\"},{\"name\":\"WAXIS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the line thickness, in pixels, for the axes and frame.\",\"help\":\"WAXIS=*n*\",\"type\":\"value\"},{\"name\":\"WEIBULL2\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"W2\"],\"description\":\"Creates a two-parameter Weibull probability plot. You should use the WEIBULL2 option when your data have a known lower threshold, θ0. Available Weibull2-options are:\",\"type\":\"standalone\"},{\"name\":\"WEIBULL\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"WEIB\"],\"description\":\"Creates a three-parameter Weibull probability plot for each value of the required shape parameter, c, specified by the mandatory C= Weibull-option. Available Weibull-options are:\",\"type\":\"standalone\"},{\"name\":\"ZETA=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies a value for the scale parameter, ζ, for lognormal probability plots requested with the LOGNORMAL option.\",\"type\":\"value\"}]},{\"name\":\"QQPLOT\",\"description\":\"TThe QQPLOT statement creates quantile-quantile plots (Q-Q plots) and compares ordered variable values with quantiles of a specified theoretical distribution.\",\"help\":\"QQPLOT &lt;ALPHA=value-list | EST&gt;&lt;BETA(ALPHA=value | EST BETA=value | EST &lt;beta-options&gt;)&gt;&lt;BETA=value|EST&gt; ...\",\"arguments\":[{\"name\":\"ALPHA=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies values for a mandatory shape parameter α (α > 0) for Q-Q plots requested with the BETA and GAMMA options.\",\"type\":\"value\"},{\"name\":\"ALPHADELTA=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the change in successive estimates of α-hat at which iteration terminates in the Newton-Raphson approximation of the maximum likelihood estimate of α for gamma distributions requested with the GAMMA option.\",\"help\":\"ALPHADELTA=*value*\",\"type\":\"value\"},{\"name\":\"ALPHAINITIAL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the initial value for α-hat in the Newton-Raphson approximation of the maximum likelihood estimate of α for gamma distributions requested with the GAMMA option. Enclose the ALPHAINITIAL= option in parentheses after the GAMMA keyword.\",\"help\":\"ALPHAINITIAL=*value*\",\"type\":\"value\"},{\"name\":\"ANNOKEY\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Applies the annotation requested with the ANNOTATE= option only to the key cell of a comparative plot.\",\"type\":\"standalone\"},{\"name\":\"ANNOTATE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"ANNO=\"],\"description\":\"Specifies an input data set that contains annotate variables.\",\"help\":\"ANNOTATE=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"BETA\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Creates a beta Q-Q plot for each combination of the required shape parameters, α and β, specified by the required ALPHA= and BETA= beta-options. You can specify the following beta-options:\",\"type\":\"standalone\"},{\"name\":\"BETA=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies values for the shape parameter, β, for Q-Q plots requested with the BETA option.\",\"type\":\"value\"},{\"name\":\"C=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the shape parameter, c, for Q-Q plots requested with the WEIBULL and WEIBULL2 options.\",\"help\":\"C=*value-list* | EST\",\"type\":\"choice\",\"arguments\":[{\"name\":\"value-list\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the shape parameter, c, for Q-Q plots requested with the WEIBULL and WEIBULL2 options.\",\"type\":\"value\"},{\"name\":\"EST\",\"followsDelimiter\":\"/\",\"description\":\"You must specify C= as a Weibull-option with the WEIBULL option; in this situation it accepts a list of values, or if you specify C=EST, a maximum likelihood estimate is computed for c. You can optionally specify C=value or C=EST as a Weibull2-option with the WEIBULL2 option to request a distribution reference line; in this situation, you must also specify SIGMA=value or SIGMA=EST.\",\"type\":\"standalone\"}]},{\"name\":\"CAXIS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"CAXES=\",\"CA=\"],\"description\":\"Specifies the color for the axes and tick marks.\",\"help\":\"CAXIS=*color*\",\"type\":\"color\"},{\"name\":\"CDELTA=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the change in successive estimates of c at which iterations terminate in the Newton-Raphson approximation of the maximum likelihood estimate of c for Weibull distributions requested by the WEIBULL option. Enclose the CDELTA= option in parentheses after the WEIBULL keyword. Iteration continues until the change in c between consecutive steps is less than the value specified or until the number of iterations exceeds the value of the MAXITER= option. The default value is 0.00001.\",\"help\":\"CDELTA=*value*\",\"type\":\"value\"},{\"name\":\"CFRAME=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the color for the area that is enclosed by the axes and frame. The area is not filled by default.\",\"help\":\"CFRAME=*color*\",\"type\":\"color\"},{\"name\":\"CFRAMESIDE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the color to fill the frame area for the row labels that display along the left side of a comparative plot.\",\"help\":\"CFRAMESIDE=*color*\",\"type\":\"color\"},{\"name\":\"CFRAMETOP=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the color to fill the frame area for the column labels that display across the top of a comparative plot.\",\"help\":\"CFRAMETOP=*color*\",\"type\":\"color\"},{\"name\":\"CHREF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"CH=\"],\"description\":\"Specifies the color for horizontal axis reference lines requested by the HREF= option.\",\"help\":\"CHREF=*color*\",\"type\":\"color\"},{\"name\":\"CINITIAL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the initial value for c-hat in the Newton-Raphson approximation of the maximum likelihood estimate of c for Weibull distributions requested with the WEIBULL or WEIBULL2 option. The default value is 1.8.\",\"help\":\"CINITIAL=*value*\",\"type\":\"value\"},{\"name\":\"COLOR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the color of the curve or reference line associated with a distribution or kernel density estimate. Enclose the COLOR= option in parentheses after a distribution option or the KERNEL option. In a HISTOGRAM statement, you can specify a list of colors in parentheses for multiple density curves.\",\"help\":\"COLOR=*color*\",\"type\":\"color\"},{\"name\":\"CONTENTS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the table of contents grouping entry for output produced by the plot statement. You can specify CONTENTS='' to suppress the grouping entry.\",\"help\":\"CONTENTS='*string*'\",\"type\":\"value\"},{\"name\":\"CPKREF\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Draws reference lines extending from the intersections of the specification limits with the distribution reference line to the quantile axis in plots requested with the NORMAL option.\",\"type\":\"standalone\"},{\"name\":\"CPKSCALE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Rescales the quantile axis in Cpk units for plots requested with the NORMAL option.\",\"type\":\"standalone\"},{\"name\":\"CPROP=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the color for a horizontal bar whose length (relative to the width of the tile) indicates the proportion of the total frequency that is represented by the corresponding cell in a comparative plot.\",\"help\":\"CPROP=EMPTY | CPROP*color*\",\"type\":\"color\",\"arguments\":[{\"name\":\"EMPTY\",\"type\":\"standalone\"},{\"name\":\"CPROP\",\"type\":\"color\"}]},{\"name\":\"CTEXT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"CT=\"],\"description\":\"Specifies the color for tick mark values and axis labels. The default is the color specified for the CTEXT= option in the GOPTIONS statement.\",\"help\":\"CTEXT=*color*\",\"type\":\"color\"},{\"name\":\"CTEXTSIDE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the color for the row labels that display along the left side of a comparative plot. By default, the color specified by the CTEXT= option is used. If you omit the CTEXT= option, the color specified in the GOPTIONS statement is used.\",\"help\":\"CTEXTSIDE=*color*\",\"type\":\"color\"},{\"name\":\"CTEXTTOP=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the color for the column labels that display along the left side of a comparative plot. By default, the color specified by the CTEXT= option is used. If you omit the CTEXT= option, the color specified in the GOPTIONS statement is used.\",\"help\":\"CTEXTTOP=*color*\",\"type\":\"color\"},{\"name\":\"CVREF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"CV=\"],\"description\":\"Specifies the color for lines requested with the VREF= option.\",\"help\":\"CVREF=*color*\",\"type\":\"color\"},{\"name\":\"DESCRIPTION=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"DES=\"],\"description\":\"Specifies a description, up to 256 characters long, that appears in the PROC GREPLAY master menu for a traditional graphics chart. The default value is the analysis variable name.\",\"help\":\"DESCRIPTION='*string*'\",\"type\":\"value\"},{\"name\":\"EXPONENTIAL\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"EXP\"],\"description\":\"Creates an exponential Q-Q plot. Available exponential-options are: SIGMA=value|EST -- specifies σ0 for distribution reference line THETA=value|EST -- specifies θ0 for distribution reference line COLOR=color -- specifies color of distribution reference line L=linetype -- specifies line type of distribution reference line SYMBOL='character' -- specifies plotting character for line printer plots W= -- specifies width of distribution reference line\",\"type\":\"standalone\"},{\"name\":\"FITINTERVAL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the value of z for the method of percentiles when this method is used to fit a Johnson sB or Johnson sU distribution. The FITINTERVAL= option is specified in parentheses after the SB or SU option. The default of z is 0.524.\",\"help\":\"FITINTERVAL=*value*\",\"type\":\"value\"},{\"name\":\"FITMETHOD=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the method used to estimate the parameters of a Johnson sB or Johnson sU distribution. The FITMETHOD= option is specified in parentheses after the SB or SU option. By default, the method of percentiles is used.\",\"help\":\"FITMETHOD=PERCENTILE | MLE | MOMENTS\",\"type\":\"choice\",\"arguments\":[{\"name\":\"PERCENTILE\",\"followsDelimiter\":\"/\",\"description\":\"Method of percentiles.\",\"type\":\"standalone\"},{\"name\":\"MLE\",\"followsDelimiter\":\"/\",\"description\":\"Method of MLE.\",\"type\":\"standalone\"},{\"name\":\"MOMENTS\",\"followsDelimiter\":\"/\",\"description\":\"Method of moments.\",\"type\":\"standalone\"}]},{\"name\":\"FITTOLERANCE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the tolerance value for the ratio criterion when the method of percentiles is used to fit a Johnson sB or Johnson sU distribution. The FITTOLERANCE= option is specified in parentheses after the SB or SU option. The default value is 0.01.\",\"help\":\"FITTOLERANCE=*value*\",\"type\":\"value\"},{\"name\":\"FONT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies a software font for reference line and axis labels. You can also specify fonts for axis labels in an AXIS statement. The FONT= font takes precedence over the FTEXT= font specified in the GOPTIONS statement.\",\"help\":\"FONT=*font*\",\"type\":\"value\"},{\"name\":\"GAMMA\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Creates a gamma Q-Q plot for each value of the shape parameter α given by the mandatory ALPHA= gamma-option. Available gamma-options are:\",\"type\":\"standalone\"},{\"name\":\"HAXIS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the name of an AXIS statement describing the horizontal axis.\",\"help\":\"HAXIS=*value*\",\"type\":\"value\"},{\"name\":\"HEIGHT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"HM=\"],\"description\":\"Specifies the height, in percentage screen units, of text for axis labels, tick mark labels, and legends. This option takes precedence over the HTEXT= option in the GOPTIONS statement.\",\"help\":\"HEIGHT=*value*\",\"type\":\"value\"},{\"name\":\"HMINOR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the number of minor tick marks between each major tick mark on the horizontal axis. Minor tick marks are not labeled. By default, HMINOR=0.\",\"help\":\"HMINOR=*n*\",\"type\":\"value\"},{\"name\":\"HREFLABELS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"HREFLABEL=\",\"HREFLAB=\"],\"description\":\"Specifies labels for the lines requested by the HREF= option. The number of labels must equal the number of lines. Enclose each label in quotes. Labels can have up to 16 characters.\",\"type\":\"value\"},{\"name\":\"HREFLABPOS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the vertical position of the HREFLABELS= labels.\",\"help\":\"HREFLABPOS=1 | 2 | 3 | 4\",\"type\":\"choice\",\"arguments\":[{\"name\":\"1\",\"followsDelimiter\":\"/\",\"description\":\"Along top of plot\",\"type\":\"standalone\"},{\"name\":\"2\",\"followsDelimiter\":\"/\",\"description\":\"Staggered from top to bottom of plot\",\"type\":\"standalone\"},{\"name\":\"3\",\"followsDelimiter\":\"/\",\"description\":\"Along bottom of plot\",\"type\":\"standalone\"},{\"name\":\"4\",\"followsDelimiter\":\"/\",\"description\":\"Staggered from bottom to top of plot\",\"type\":\"standalone\"}]},{\"name\":\"INFONT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies a software font to use for text inside the framed areas of the plot. The INFONT= option takes precedence over the FTEXT= option in the GOPTIONS statement.\",\"help\":\"INFONT=*font*\",\"type\":\"value\"},{\"name\":\"INHEIGHT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the height, in percentage screen units, of text used inside the framed areas of the histogram. By default, the height specified by the HEIGHT= option is used. If you do not specify the HEIGHT= option, the height specified with the HTEXT= option in the GOPTIONS statement is used.\",\"help\":\"INHEIGHT=*value*\",\"type\":\"value\"},{\"name\":\"INTERTILE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the distance in horizontal percentage screen units between the framed areas, called tiles, of a comparative plot. By default, INTERTILE=0.75 percentage screen units. This option is not available unless you use the CLASS statement. You can specify INTERTILE=0 to create contiguous tiles.\",\"help\":\"INTERTILE=*value*\",\"type\":\"value\"},{\"name\":\"L=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the line type of the curve or reference line associated with a distribution or kernel density estimate. Enclose the L= option in parentheses after the distribution option or the KERNEL option. In a HISTOGRAM statement, you can specify a list of line types in parentheses for multiple density curves.\",\"help\":\"L=*linetype*\",\"type\":\"value\"},{\"name\":\"LEGEND=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the name of a LEGEND statement describing the legend for specification limit reference lines and fitted curves. Specifying LEGEND=NONE is equivalent to specifying the NOLEGEND option.\",\"help\":\"LEGEND=*name* | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"name\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the name of a LEGEND statement describing the legend for specification limit reference lines and fitted curves.\",\"type\":\"value\"},{\"name\":\"NONE\",\"followsDelimiter\":\"/\",\"description\":\"Specifying LEGEND=NONE is equivalent to specifying the NOLEGEND option.\",\"type\":\"standalone\"}]},{\"name\":\"LHREF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"LH=\"],\"description\":\"Specifies the line type for the reference lines that you request with the HREF= option. By default, LHREF=2, which produces a dashed line.\",\"type\":\"value\"},{\"name\":\"LOGNORMAL\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"LOGNORM\"],\"description\":\"Creates a lognormal Q-Q plot for each value of the shape parameter, σ, given by the mandatory SIGMA= option. Available lognormal-options are:\",\"type\":\"standalone\"},{\"name\":\"LVREF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"LV=\"],\"description\":\"Specifies the line type for lines requested with the VREF= option. By default, LVREF=2, which produces a dashed line.\",\"help\":\"LVREF=*linetype*\",\"type\":\"value\"},{\"name\":\"MAXITER=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the maximum number of iterations in the Newton-Raphson approximation of the maximum likelihood estimate of α for gamma distributions requested with the GAMMA option and c for Weibull distributions requested with the WEIBULL and WEIBULL2 options. Enclose the MAXITER= option in parentheses after the GAMMA, WEIBULL, or WEIBULL2 keywords. The default value of n is 20.\",\"help\":\"MAXITER=*n*\",\"type\":\"value\"},{\"name\":\"MU=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the mean, µ, for a normal Q-Q plot requested with the NORMAL option.\",\"type\":\"value\"},{\"name\":\"NADJ=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the adjustment value added to the sample size in the calculation of theoretical percentiles. The default is 1/4, as recommended by Blom (1958).\",\"type\":\"value\"},{\"name\":\"NAME=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies a name for the plot, up to eight characters long, that appears in the PROC GREPLAY master menu for a traditional graphics chart. The default value is 'UNIVAR'.\",\"help\":\"NAME='*string*'\",\"type\":\"value\"},{\"name\":\"NCOLS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"NCOL=\"],\"description\":\"Specifies the number of columns per panel in a comparative plot. This option is not available unless you use the CLASS statement. By default, NCOLS=1 if you specify only one CLASS variable, and NCOLS=2 if you specify two CLASS variables. If you specify two CLASS variables, you can use the NCOLS= option with the NROWS= option.\",\"help\":\"NCOLS=*n*\",\"type\":\"value\"},{\"name\":\"NOFRAME\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Suppresses the frame around the subplot area.\",\"type\":\"standalone\"},{\"name\":\"NOHLABEL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Suppresses the label for the horizontal axis. You can use this option to reduce clutter.\",\"type\":\"standalone\"},{\"name\":\"NOLEGEND\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Suppresses legends for specification limits, fitted curves, distribution lines, and hidden observations.\",\"type\":\"standalone\"},{\"name\":\"NOLINELEGEND\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"NOLINEL\"],\"description\":\"Suppresses the legend for the optional distribution reference line.\",\"type\":\"standalone\"},{\"name\":\"NOOBSLEGEND\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"NOOBSL\"],\"description\":\"Suppresses the legend that indicates the number of hidden observations.\",\"type\":\"standalone\"},{\"name\":\"NORMAL\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"NORM\"],\"description\":\"Creates a normal Q-Q plot. Available normal-options are: MU=value|EST -- specifies u0 for distribution reference line SIGMA=value|EST -- specifies σ0 for distribution reference line COLOR=color -- specifies color of distribution reference line L=linetype -- specifies line type of distribution reference line SYMBOL='character' -- specifies plotting character for line printer plots W= -- specifies width of distribution reference line\",\"type\":\"standalone\"},{\"name\":\"NOSPECLEGEND\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"NOSPECL\"],\"description\":\"Suppresses the legend for specification limit reference lines.\",\"type\":\"standalone\"},{\"name\":\"NOVLABEL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Suppresses the label for the vertical axis. You can use this option to reduce clutter.\",\"type\":\"standalone\"},{\"name\":\"NOVTICK\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Suppresses the tick marks and tick mark labels for the vertical axis. This option also suppresses the label for the vertical axis.\",\"type\":\"standalone\"},{\"name\":\"NROWS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"NROW=\"],\"description\":\"Specifies the number of rows per panel in a comparative plot. This option is not available unless you use the CLASS statement. By default, NROWS=2. If you specify two CLASS variables, you can use the NCOLS= option with the NROWS= option.\",\"help\":\"NROWS=*n*\",\"type\":\"value\"},{\"name\":\"OVERLAY\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies that plots associated with different levels of a CLASS variable be overlaid onto a single plot, rather than displayed as separate cells in a comparative plot.\",\"type\":\"standalone\"},{\"name\":\"PCTLAXIS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Adds a nonlinear percentile axis along the frame of the Q-Q plot opposite the theoretical quantile axis. You can specify the following axis-options:\",\"type\":\"standalone\"},{\"name\":\"PCTLMINOR\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests minor tick marks for the percentile axis.\",\"type\":\"standalone\"},{\"name\":\"PCTLSCALE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests scale labels for the theoretical quantile axis in percentile units, resulting in a nonlinear axis scale.\",\"type\":\"standalone\"},{\"name\":\"QQSYMBOL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the character used to mark the points in a line printer plot. The default is the plus sign (+).\",\"type\":\"value\"},{\"name\":\"RANKADJ=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the adjustment value added to the ranks in the calculation of theoretical percentiles.\",\"help\":\"RANKADJ=*value*\",\"type\":\"value\"},{\"name\":\"ROTATE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Switches the horizontal and vertical axes so that the theoretical percentiles are plotted vertically while the data are plotted horizontally.\",\"type\":\"standalone\"},{\"name\":\"SCALE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Is an alias for the SIGMA= option for distributions requested by the BETA, EXPONENTIAL, GAMMA, SB, SU, WEIBULL, and WEIBULL2 options and for the ZETA= option for distributions requested by the LOGNORMAL option.\",\"help\":\"SCALE=*value*\",\"type\":\"value\"},{\"name\":\"SHAPE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Is an alias for the ALPHA= option for distributions requested by the GAMMA option, for the SIGMA= option for distributions requested by the LOGNORMAL option, and for the C= option for distributions requested by the WEIBULL and WEIBULL2 options.\",\"help\":\"SHAPE=*value*\",\"type\":\"value\"},{\"name\":\"SIGMA=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the value of the distribution parameter σ, where σ > 0. Alternatively, you can specify SIGMA=EST to request a maximum likelihood estimate for σ0.\",\"type\":\"value\"},{\"name\":\"SLOPE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the slope for a distribution reference line requested with the LOGNORMAL and WEIBULL2 options.\",\"type\":\"value\"},{\"name\":\"SQUARE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays the Q-Q plot in a square frame. The default is a rectangular frame.\",\"type\":\"standalone\"},{\"name\":\"SYMBOL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the character used to display the distribution reference line in a line printer plot.\",\"help\":\"SYMBOL='*character*'\",\"type\":\"value\"},{\"name\":\"THETA=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"THRESHOLD=\"],\"description\":\"Specifies the lower threshold parameter, θ, for Q-Q plots requested with the BETA, EXPONENTIAL, GAMMA, LOGNORMAL, WEIBULL and WEIBULL2 options.\",\"type\":\"value\"},{\"name\":\"TURNVLABELS\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"TURNVLABEL\"],\"description\":\"Turns the characters in the vertical axis labels so that they display vertically. This happens by default when you use a hardware font.\",\"type\":\"standalone\"},{\"name\":\"VAXIS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the name of an AXIS statement describing the vertical axis. In a HISTOGRAM statement, you can alternatively specify a value-list for the vertical axis.\",\"help\":\"VAXIS=*name*\",\"type\":\"value\"},{\"name\":\"VAXISLABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies a label for the vertical axis. Labels can have up to 40 characters.\",\"help\":\"VAXISLABEL='*label*'\",\"type\":\"value\"},{\"name\":\"VMINOR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"VM=\"],\"description\":\"Specifies the number of minor tick marks between each major tick mark on the vertical axis. Minor tick marks are not labeled. The default is zero.\",\"help\":\"VMINOR=*n*\",\"type\":\"value\"},{\"name\":\"VREF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Draws reference lines perpendicular to the vertical axis at the values specified. Also see the CVREF= and LVREF= options.\",\"help\":\"VREF=*value-list*\",\"type\":\"value\"},{\"name\":\"VREFLABELS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"VREFLABEL=\",\"VREFLAB=\"],\"description\":\"Specifies labels for the lines requested by the VREF= option. The number of labels must equal the number of lines. Enclose each label in quotes. Labels can have up to 16 characters.\",\"type\":\"value\"},{\"name\":\"VREFLABPOS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the horizontal position of the VREFLABELS= labels.\",\"help\":\"VREFLABPOS=1 | 2\",\"type\":\"choice\",\"arguments\":[{\"name\":\"1\",\"followsDelimiter\":\"/\",\"description\":\"Labels are positioned at the left of the plot.\",\"type\":\"standalone\"},{\"name\":\"2\",\"followsDelimiter\":\"/\",\"description\":\"Labels are positioned at the right of the plot.\",\"type\":\"standalone\"}]},{\"name\":\"W=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the width in pixels of the curve or reference line associated with a distribution or kernel density estimate. Enclose the W= option in parentheses after the distribution option or the KERNEL option. In a HISTOGRAM statement, you can specify a list of widths in parentheses for multiple density curves.\",\"type\":\"value\"},{\"name\":\"WAXIS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the line thickness, in pixels, for the axes and frame.\",\"help\":\"WAXIS=*n*\",\"type\":\"value\"},{\"name\":\"WEIBULL2\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"W2\"],\"description\":\"Creates a two-parameter Weibull Q-Q plot. You should use the WEIBULL2 option when your data have a known lower threshold, θ0. Available Weibull2-options are:\",\"type\":\"standalone\"},{\"name\":\"WEIBULL\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"WEIB\"],\"description\":\"Creates a three-parameter Weibull Q-Q plot for each value of the required shape parameter, c, specified by the mandatory C= option. Available Weibull-options are:\",\"type\":\"standalone\"},{\"name\":\"ZETA=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies a value for the scale parameter, ζ, for lognormal Q-Q plots requested with the LOGNORMAL option.\",\"type\":\"value\"}]},{\"name\":\"SPEC\",\"description\":\"\",\"help\":\"SPEC &lt;CLEFT=color&gt;&lt;CLSL=color&gt;&lt;CRIGHT=color&gt; ...\",\"arguments\":[{\"name\":\"CLEFT=\",\"optional\":true,\"description\":\"Determines the color used to fill the area under a histogram to the left of the lower specification limit.\",\"help\":\"CLEFT=*color*\",\"type\":\"color\"},{\"name\":\"CLSL=\",\"optional\":true,\"description\":\"Specifies the color of the lower specification line displayed in plots created with the CDFPLOT, COMPHISTOGRAM, HISTOGRAM, PROBPLOT, and QQPLOT statements.\",\"help\":\"CLSL=*color*\",\"type\":\"color\"},{\"name\":\"CRIGHT=\",\"optional\":true,\"description\":\"Determines the color used to fill the area under a histogram to the right of the upper specification limit.\",\"help\":\"CRIGHT=*color*\",\"type\":\"color\"},{\"name\":\"CTARGET=\",\"optional\":true,\"description\":\"Specifies the color of the target line displayed in plots created with the CDFPLOT, COMPHISTOGRAM, HISTOGRAM, PROBPLOT, and QQPLOT statements.\",\"help\":\"CTARGET=*color*\",\"type\":\"color\"},{\"name\":\"CUSL=\",\"optional\":true,\"description\":\"Specifies the color of the upper specification line displayed in plots created with the CDFPLOT, COMPHISTOGRAM, HISTOGRAM, PROBPLOT, and QQPLOT statements.\",\"help\":\"CUSL=*color*\",\"type\":\"color\"},{\"name\":\"LLSL=\",\"optional\":true,\"description\":\"Specifies the line type for the lower specification line displayed in plots created with the CDFPLOT, COMPHISTOGRAM, HISTOGRAM, PROBPLOT, and QQPLOT statements.\",\"help\":\"LLSL=*linetype*\",\"type\":\"value\"},{\"name\":\"LSL=\",\"optional\":true,\"description\":\"Specifies the lower specification limits for the variables listed in the VAR statement, or for all numeric variables in the input data set if no VAR statement is used.\",\"help\":\"LSL=*value-list*\",\"type\":\"value\"},{\"name\":\"LSLSYMBOL=\",\"optional\":true,\"description\":\"Specifies the character used to display the lower specification line in line printer plots created with the CDFPLOT, HISTOGRAM, PROBPLOT, and QQPLOT statements. The default character is 'L'.\",\"help\":\"LSLSYMBOL='*character*'\",\"type\":\"value\"},{\"name\":\"LTARGET=\",\"optional\":true,\"description\":\"Specifies the line type for the target line in plots created with the CDFPLOT, COMPHISTOGRAM, HISTOGRAM, PROBPLOT, and QQPLOT statements.\",\"help\":\"LTARGET=*linetype*\",\"type\":\"value\"},{\"name\":\"LUSL=\",\"optional\":true,\"description\":\"Specifies the line type for the upper specification line displayed in plots created with the CDFPLOT, COMPHISTOGRAM, HISTOGRAM, PROBPLOT, and QQPLOT statements.\",\"help\":\"LUSL=*linetype*\",\"type\":\"value\"},{\"name\":\"PLEFT=\",\"optional\":true,\"description\":\"Specifies the pattern used to fill the area under a histogram to the left of the lower specification limit.\",\"help\":\"PLEFT=*pattern*\",\"type\":\"value\"},{\"name\":\"PRIGHT=\",\"optional\":true,\"description\":\"Specifies the pattern used to fill the area under a histogram to the right of the upper specification limit.\",\"help\":\"PRIGHT=*pattern*\",\"type\":\"value\"},{\"name\":\"TARGET=\",\"optional\":true,\"description\":\"Specifies a target values for the variables listed in the VAR statement, or for all numeric variables in the input data set if no VAR statement is used.\",\"help\":\"TARGET=*value-list*\",\"type\":\"value\"},{\"name\":\"TARGETSYMBOL=\",\"optional\":true,\"description\":\"Specifies the character used to display the target line in line printer plots created with the CDFPLOT, HISTOGRAM, PROBPLOT, and QQPLOT statements. The default character is 'T'.\",\"help\":\"TARGETSYMBOL='*character*'\",\"type\":\"value\"},{\"name\":\"USL=\",\"optional\":true,\"description\":\"Specifies the upper specification limits for the variables listed in the VAR statement, or for all numeric variables in the input data set if no VAR statement is used.\",\"help\":\"USL=*value-list*\",\"type\":\"value\"},{\"name\":\"USLSYMBOL=\",\"optional\":true,\"description\":\"Specifies the character used to display the upper specification line in line printer plots created with the CDFPLOT, HISTOGRAM, PROBPLOT, and QQPLOT statements. The default character is 'U'.\",\"help\":\"USLSYMBOL='*character*'\",\"type\":\"value\"},{\"name\":\"WLSL=\",\"optional\":true,\"description\":\"Specifies the width in pixels of the lower specification line in plots created with the CDFPLOT, COMPHISTOGRAM, HISTOGRAM, PROBPLOT, and QQPLOT statements.\",\"help\":\"WLSL=*n*\",\"type\":\"value\"},{\"name\":\"WTARGET=\",\"optional\":true,\"description\":\"Specifies the width in pixels of the target line in plots created with the CDFPLOT, COMPHISTOGRAM, HISTOGRAM, PROBPLOT, and QQPLOT statements.\",\"help\":\"WTARGET=*n*\",\"type\":\"value\"},{\"name\":\"WUSL=\",\"optional\":true,\"description\":\"Specifies the width in pixels of the upper specification line in plots created with the CDFPLOT, COMPHISTOGRAM, HISTOGRAM, PROBPLOT, and QQPLOT statements.\",\"help\":\"WUSL=*n*\",\"type\":\"value\"}]},{\"name\":\"VAR\",\"description\":\"VAR variables; Specifies the numeric variables to be analyzed. If the VAR statement is omitted, all numeric variables not specified in other statements are analyzed.\",\"help\":\"VAR\"},{\"name\":\"WEIGHT\",\"description\":\"The WEIGHT statement names a variable that provides weights for each observation in the input data set.\",\"help\":\"WEIGHT variable\"}],\"supportSiteInformation\":{\"docsetId\":\"qcug\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"qcug_capability_toc.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/CARDINALITY.json",
    "content": "{\"name\":\"CARDINALITY\",\"statements\":[{\"name\":\"PROC CARDINALITY\",\"description\":\"The term cardinality of a variable is an alias to the number of its distinct values. The term limited cardinality is the number of distinct values that do not exceed a certain threshold provided by the user. To make a decision about the role of a variable to be included in subsequent SAS analytics (class, interval), it is sufficient to aim only for the limited cardinality and not the full cardinality. We tend to make the same decision whether we computed the full or the limited cardinality. The limited cardinality i s computationally less expensive than the full cardinality, especially for big data. † The CARDINALITY procedure creates the following: † o the cardinality data set, which contains the summary information for each variable and some additional statistics about numeric variables. o the details data set, which contains with the levels of each variable.\",\"help\":\"PROC CARDINALITY <DATA=CAS-libref.data-table><><ORDER=ASC | DESC | ASCFMT... ><OUTCARD=CAS-libref.data-table><OUTDETAILS=CAS-libref.data-table>;     \\n\\tFREQ variable ;\\n\\n\\tVAR <ORDER=<ASC | DESC | ASCFMT>... > ;\\n\",\"arguments\":[{\"name\":\"DATA=\",\"optional\":true,\"description\":\"Names the input data table for PROC CARDINALITY to use. CAS-libref.data-table is a two-level name, where\",\"help\":\"DATA=*CAS-libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"MAXLEVELS=\",\"optional\":true,\"description\":\"Specifies the maximum number of levels of the variables in the input data to consider.\",\"type\":\"value\"},{\"name\":\"ORDER=\",\"optional\":true,\"description\":\"Specifies the order to be applied to all variables whose order is not specified in a VAR statement.\",\"help\":\"ORDER=ASC | DESC | ASCFMT | DESFMT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ASC\",\"description\":\"Orders variables in unformatted ascending order.\",\"type\":\"standalone\"},{\"name\":\"DESC\",\"description\":\"Orders variables in unformatted descending order.\",\"type\":\"standalone\"},{\"name\":\"ASCFMT\",\"description\":\"Orders variables in formatted ascending order.\",\"type\":\"standalone\"},{\"name\":\"DESFMT\",\"description\":\"Orders variables in formatted descending order.\",\"type\":\"standalone\"}]},{\"name\":\"OUTCARD=\",\"optional\":true,\"description\":\"Specifies the output data table to contain the cardinality and summary information for each variable. CAS-libref.data-table is a two-level name, where CAS-libref refers to the caslib and session identifier, and data-table specifies the name of the output data table.\",\"help\":\"OUTCARD=*CAS-libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"OUTDETAILS=\",\"optional\":true,\"description\":\"Specifies the output data table to contain the levels that are found for each variable.\",\"help\":\"OUTDETAILS=*CAS-libref.data-table*\",\"type\":\"dataSet\"}]},{\"name\":\"FREQ\",\"description\":\"The variable in the FREQ statement identifies a numeric variable in the data set that contains the frequency of occurrence for each observation. SAS high-performance analytical procedures that support the FREQ statement treat each observation as if it appeared f times, where f is the value of the FREQ variable for the observation. If the frequency value is not an integer, it is truncated to an integer. If the frequency value is less than 1 or missing, the observation is not used in the analysis. When the FREQ statement is not specified, each observation is assigned a frequency of 1.\",\"help\":\"FREQ variable \"},{\"name\":\"VAR\",\"description\":\"The variables identify a limited list of variables specified by the user. ORDER= requests a specific method of levelization. An explicit ORDER= is never overridden. If ORDER= not specified, the default ORDER specified on the PROC statement is used. If no default ORDER= is specified by the user on the proc statement, ascending order is taken as the order, but the choice of formatted or unformatted depends on the variable prior knowledge provided by the user. A user defined format of a variable is considered prior knowledge. Multiple VAR statements are allowed. A variable cannot be specified more than once in all the VAR statements.\",\"help\":\"VAR &lt;ORDER=&lt;ASC | DESC | ASCFMT&gt;... &gt;\",\"arguments\":[{\"name\":\"ORDER=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests a specific method of levelization.\",\"help\":\"ORDER=ASC | DESC | ASCFMT | DESFMT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ASC\",\"followsDelimiter\":\"/\",\"description\":\"Orders the specified variables in unformatted ascending order.\",\"type\":\"standalone\"},{\"name\":\"DESC\",\"followsDelimiter\":\"/\",\"description\":\"Orders the specified variables in unformatted descending order.\",\"type\":\"standalone\"},{\"name\":\"ASCFMT\",\"followsDelimiter\":\"/\",\"description\":\"Orders the specified variables in formatted ascending order.\",\"type\":\"standalone\"},{\"name\":\"DESFMT\",\"followsDelimiter\":\"/\",\"description\":\"Orders the specified variables in formatted descending order.\",\"type\":\"standalone\"}]}]}],\"supportSiteInformation\":{\"docsetId\":\"casstat\",\"docsetVersion\":\"latest\",\"docsetTargetFile\":\"casstat_cardinality_toc.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/CAS.json",
    "content": "{\"name\":\"CAS\",\"statements\":[{\"name\":\"PROC CAS\",\"description\":\"Enables you to program and schedule SAS Cloud Analytic Services actions from the SAS client.\",\"help\":\"PROC             CAS ;\\n\\tACTION <action-set-name.action-name><RESULT=<variable>><STATUS=<rc>><ASYNC=name>\\n\\t\\t /           <parameters>;\\n\\n\\t target =           expression;\\n\\n\\tCALL function            (argument1,           argument2...);\\n\\n\\tCONTINUE ;\\n\\n\\tDEFAULT RESULT=variable-expressionSTATUS=variable-expression           | CLEAR<clear-option-1<clear-option-2< ...clear-option-N>>>;\\n\\n\\tDELETE value;\\n\\n\\tDESCRIBE variable;\\n\\n\\tDO ;\\n\\t\\t... more CASL statements                 ...;\\n\\t\\tEND ;\\n\\n\\tDO             UNTIL \\n\\t\\tcondition; \\n\\t\\t... more CASL                 statements ...; \\n\\t\\tEND ;\\n\\n\\tDO WHILE condition;             \\n\\t\\t... more CASL statements                 ...;\\n\\t\\tEND ;\\n\\n\\tDO            [<key,>] <var>OVER <value>;             \\n\\t\\t... more                 CASL statements ...;\\n\\t\\tEND ;\\n\\n\\tDO <var>           =           <start>             [TO <stop>]             [BY <increment>]\\n\\t\\t[WHILE <condition> |               UNTIL <condition>];\\n\\t\\t... more CASL statements             ...;\\n\\t\\tEND ;\\n\\n\\tENDEXTERNALSOURCE ;\\n\\n\\tENDSOURCE ;\\n\\n\\tEXIT expression;\\n\\n\\tEXTERNALSOURCE variable-expression;\\n\\t\\t<embedded-text>\\n\\t\\tENDEXTERNALSOURCE ;\\n\\n\\tFILE fileref;\\n\\n\\tFNC <category-name>;\\n\\n\\tFORMAT variable-1...variable-Nformat;\\n\\n\\tFUNCTION function name( [argument 1 [, argument 2...] ]             );             \\n\\t\\t... more CASL statements             ...;\\n\\t\\tEND ;\\n\\n\\tFUNCTIONLIST <name>;\\n\\t\\tFLIST <name>;\\n\\n\\tGLOBAL variable;\\n\\n\\tGOTO label;\\n\\n\\tIF condition\\n\\t\\tTHEN statement;\\n\\t\\tELSE              <statement>;\\n\\n\\tLabel statement\\n\\n\\tLOCAL variable;\\n\\n\\tLEAVE ;\\n\\n\\tLOADACTIONSET actionsetname;\\n\\n\\tNULL ;\\n\\n\\tOUTPUT  <ODS | LOG>;\\n\\n\\tPRINT value-1...value-N;\\n\\n\\tPRINTLIST expression;\\n\\n\\tRETURN <expression | value>;\\n\\n\\tSAVERESULT variable-name<NOREPLACE >\\n\\t\\t<DATAOUT =<libref.>               data-set-name> |           <LIB =libref>           |           \\n\\t\\t<FILE =<pathname> | <filename>>\\n\\t\\t<<CASLIB= casref> | <CASOUT= name>>;\\n\\n\\tSELECT <(select-expression)>;\\n\\t\\tWHEN -1 <(when-expression-1 ...,                   when-expression-n> )                statement;\\n\\t\\t\\t<...WHEN -n                 (when-expression-1 ..., when-expression-n) >statement;\\n\\t\\t<OTHERWISE statement>;END ;\\n\\n\\tSESSION session-reference;\\n\\n\\tSET   (DISP<ECHOEXTSRC><LOGS><LOGS=DEBUG | NOTE | TRACE | WARN><STDJSON><WARNINGDUP><USEWIDTH>)           ;\\n\\n\\tSOURCE variable;           text;           endsource;\\n\\n\\tUNSET DISP<ECHOEXTSRC><LOGS><STDJSON><USEWIDTH ><WARNINGDUP>\\n\\n\\tUPLOAD \\n\\t\\tPATH= path-to-file\\n\\t\\t<CASOUT= {output-table-options>}\\n\\t\\t<IMPORTOPTIONS= {FILETYPE=                  “BASESAS | ”                  “CSV” | “DTA” | “ESP” | “EXCEL” | “FMT” | “EXCEL” | “HDAT” | “JMP” | “LASR” | “SPSS” | “XLSX”,fileType-specific-parameters}>;\\n\\n\\tRUN; \\nQUIT ;\",\"supportSiteTargetFile\":\"p14hvzwg57dkg5n1fgrugckkgerl.htm\"},{\"name\":\"ACTION\",\"description\":\"Runs SAS Cloud Analytic Services actions.\",\"help\":\"<ACTION ><action-set-name.>action-name<RESULT= <variable><STATUS = <rc><ASYNC = name>\\n<parameters>;\",\"arguments\":[{\"name\":\"action-set-name\",\"placeholder\":true,\"description\":\"specifies the name of the action set that contains the action to run. Examples are table, simple, and network.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p09r53wzt9mal0n19g2jk8aklot1\"},{\"name\":\"action-name\",\"placeholder\":true,\"description\":\"specifies the name of the action to run. Examples are loadTable, listActions, and serverStatus.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1g4wcqp8sbxlqn1vi83uisraeq7\"},{\"name\":\"parameter\",\"optional\":true,\"placeholder\":true,\"description\":\"the specified action’s parameters. You can discover the parameters for an action with the help action.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0bstoxn5ovcd1n1fuminb37o2c1\"},{\"name\":\"RESULT=\",\"optional\":true,\"aliases\":[\"R=\"],\"description\":\"stores the results of the action in a variable. You can then use the variable in other CASL statements and actions. You can use the variable with statements such as DESCRIBE and with a selected set of SAS statements within the scope of the CAS procedure invocation.\",\"help\":\"RESULT=*variable-name*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n19wjy6gfqzg27n0zanxu4qzeaq4\"},{\"name\":\"STATUS=\",\"optional\":true,\"description\":\"stores the status code of the action in a variable. You can examine the status code to determine if an action completed with or without any errors. If you do not specify a variable-name, a variable named _status that contains the status codes is created.\",\"help\":\"STATUS=&lt;*variable-name*&gt;\",\"type\":\"standaloneOrValue\",\"supportSiteTargetFragment\":\"p1j7xtoqhv7ec5n10mxi39gpmdx0\"},{\"name\":\"ASYNC=\",\"optional\":true,\"description\":\"enables you to submit multiple requests to the server. If your requests are in the same session, the requests are queued in the order received. If your requests are in separate sessions, the requests are executed in parallel.\",\"help\":\"ASYNC=*result                      name*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0azf021ht7vqcn10tuddbbd1q4k\"}],\"supportSiteTargetFile\":\"n0w3x61bw2s5a3n1i2oywybloafc.htm\"},{\"name\":\"CALL\",\"description\":\"Calls a function with the specified argument. If the function returns a value, it is ignored.\",\"help\":\"&lt;CALL &gt;*function*                 (&lt;*argument-1*, *argument-2*...&gt;);\",\"arguments\":[{\"name\":\"function\",\"optional\":true,\"placeholder\":true,\"description\":\"the name of the built in or user defined function.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0u2qyofzsrqp6n13oghe0buf6fw\"},{\"name\":\"argument\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies values that are passed to a function when it is called.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0uz758i8jlu07n0zcnfewdffl30\"}],\"supportSiteTargetFile\":\"p1fzqq9cmxen1xn0zmsxo8k6s3ty.htm\"},{\"name\":\"CONTINUE\",\"description\":\"Stops processing the current DO loop iteration and resumes with the next iteration.\",\"help\":\"CONTINUE ;\",\"supportSiteTargetFile\":\"p12wh7lcf2issen1c6gt7435xaba.htm\"},{\"name\":\"DEFAULT\",\"description\":\"Enables you to control how CASL returns action results and action processing status.\",\"help\":\"Form 1: \\nDEFAULT RESULT=variable-expression;\\nForm 2: \\nDEFAULT STATUS=variable-expression;\\nForm 3: \\nDEFAULT CLEAR<clear-option-1<clear-option-2< ...clear-option-N>>>\",\"arguments\":[{\"name\":\"CLEAR\",\"optional\":true,\"description\":\"removes the default variable assignment in which an action’s result and status are saved.\",\"type\":\"standalone\",\"arguments\":[{\"name\":\"RESULT\",\"description\":\"removes the default variable assignment where the RESULT of an action is saved.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0nndhk39qe011n1kouxzs7g75hp\"},{\"name\":\"STATUS\",\"description\":\"removes the default variable assignment where the status of an action is saved.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0j0icerlrq761n1nf9cpezl8tg6\"}],\"supportSiteTargetFragment\":\"p0q1g8rv06w1tjn1nulhp00sqkla\"},{\"name\":\"RESULT=\",\"optional\":true,\"aliases\":[\"R\"],\"description\":\"sets the default variable where results from an action are saved. variable-expression is any expression that results in either a variable or data structure element into which a value can be stored.\",\"help\":\"RESULT=*variable-expression*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0rgjkvdh0xgegn10pktytpz0epg\"},{\"name\":\"STATUS=\",\"optional\":true,\"description\":\"sets the default variable where the status of an action is saved. variable-expression is any expression that results in either a variable or data structure element into which a value can be stored.\",\"help\":\"STATUS=*variable-expression*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0j4s44vqkwhncn12404ebldd64o\"}],\"supportSiteTargetFile\":\"n1d5ahu5v6sgmmn1d6fkuimrvso8.htm\"},{\"name\":\"DELETE\",\"description\":\"Deletes the specified value from memory.\",\"help\":\"DELETE *value*\",\"arguments\":[{\"name\":\"value\",\"placeholder\":true,\"description\":\"definition of the location for the value that is to be deleted. The value can be a variable, list, array, or a dictionary.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0khep2axbtm1zn1mrlfrz4wi7hz\"}],\"supportSiteTargetFile\":\"p1mkua7u6d7woan1mgibotut2tvt.htm\"},{\"name\":\"DESCRIBE\",\"description\":\"Enables you to view the structure and data type of CASL variables and expressions.\",\"help\":\"DESCRIBE *variable-name* | *expression*;\",\"arguments\":[{\"name\":\"variable-name\",\"placeholder\":true,\"description\":\"The name of the variable that you want to view structure and data types for.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0jka9qtti3n09n18qeyxt461e59\"},{\"name\":\"expression\",\"placeholder\":true,\"description\":\"A combination of one or more values, constants, variables, operators, and functions that are evaluated using rules and precedence to compute a result.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0icngnq9jv6osn10yocigxgpb1j\"}],\"supportSiteTargetFile\":\"p0ogfmq148qrwfn1cs3o0i3i6ace.htm\"},{\"name\":\"DO\",\"description\":\"Creates a block of code that executes as one statement.\",\"help\":\"DO ;\\n\\t... more CASL statements ...;END ;\",\"supportSiteTargetFile\":\"p0xubfe3yuw8ryn1ptotnl0znj22.htm\"},{\"name\":\"DO OVER\",\"description\":\"Iterates over an array, dictionary, or table.\",\"help\":\"DO <key>, <var>OVER <value>;\\n\\t... more CASL statements ...;END ;\",\"arguments\":[{\"name\":\"key\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the variable that is assigned the key value for a dictionary element.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1wfzlyxxfl9acn11lbu2en4os9l\"},{\"name\":\"var\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the variable that is assigned the value associated with the key for an array or dictionary element.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n05hg5be5l9dcdn1jfkbthx9dolu\"},{\"name\":\"value\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the array, dictionary, or table.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0euy8zllbw3zsn1puplp7bywxnf\"}],\"supportSiteTargetFile\":\"n1enf8paum6q19n1cascbj8z5kpc.htm\"},{\"name\":\"DO UNTIL\",\"description\":\"Executes statements in a DO loop repetitively until a condition is true.\",\"help\":\"DO UNTIL  (condition);\\n\\t... more CASL statements ...;END ;\",\"arguments\":[{\"name\":\"condition\",\"placeholder\":true,\"description\":\"specifies one numeric or character expression evaluation that results in a Boolean result. The result is used to decide to which code path to execute next. The condition is executed at the bottom of the loop. This means that the body of the loop always executes at least once. When the expression evaluate is true, it stops the iteration of the loop.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1u8wwfprqfvown1ansfa9z1aj2f\"}],\"supportSiteTargetFile\":\"n0m6k62uodw464n1wilj792d4h6f.htm\"},{\"name\":\"DO WHILE\",\"description\":\"Executes statements in a DO loop repetitively while a condition is true.\",\"help\":\"DO WHILE  (condition);\\n\\t... more CASL statements ...;END ;\",\"arguments\":[{\"name\":\"condition\",\"placeholder\":true,\"description\":\"specifies one numeric or character expression evaluation that results in a Boolean result. The result is used to decide to which code path to execute next. The condition is evaluated prior to executing the body of the loop. This means the body of the loop may not execute.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1mfonp99xd5wxn1eh2gaqjbtn5a\"}],\"supportSiteTargetFile\":\"n1eluc8475qg91n19c929wmapo9l.htm\"},{\"name\":\"ELSE\",\"description\":\"If the expression specified by an IF statement results in a false value, the statement immediately after the ELSE statement is executed.\",\"help\":\"ELSE*statement*;\",\"supportSiteTargetFile\":\"n0umsovbofbxo3n13ca6wvlzp2k2.htm\"},{\"name\":\"END\",\"description\":\"Ends a DO group, FUNCTION, or SELECT group processing.\",\"help\":\"END ;\",\"supportSiteTargetFile\":\"p0xs7yij8yqryin11ywyierymzed.htm\"},{\"name\":\"ENDEXTERNALSOURCE\",\"description\":\"Marks the end of the EXTERNALSOURCE statement.\",\"help\":\"ENDEXTERNALSOURCE; \",\"supportSiteTargetFile\":\"n0x7f3vzwv5bgln13p041n9uir6u.htm\"},{\"name\":\"ENDSOURCE\",\"description\":\"Marks the end of the SOURCE statement.\",\"help\":\"ENDSOURCE ;\",\"supportSiteTargetFile\":\"n11xljv2nm1tlwn12vhi1rkmm6ob.htm\"},{\"name\":\"EXIT\",\"description\":\"Exits the current block of CASL code.\",\"help\":\"EXIT *expression*;\",\"arguments\":[{\"name\":\"expression\",\"placeholder\":true,\"description\":\"a combination of one or more values, constants, variables, operators, and functions that are evaluated using rules and precedence to compute a result.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0emmq8jsad19yn1npaqiuitjul0\"}],\"supportSiteTargetFile\":\"n0s7pf6jzbj7xon1ucv9s67vum80.htm\"},{\"name\":\"EXTERNALSOURCE\",\"description\":\"Enables you to embed text in the program as a block of code and then assign the code to a given variable.\",\"help\":\"EXTERNALSOURCE variable-expression;\\n<embedded-text>\\nENDEXTERNALSOURCE ; \",\"arguments\":[{\"name\":\"variable-expression\",\"placeholder\":true,\"description\":\"specifies the variable to assign the embedded text to, or an expression yielding the variable to which the text is assigned.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n062a33huqk7qvn1kxsygp7qhdpk\"},{\"name\":\"ENDEXTERNALSOURCE;\",\"description\":\"specifies the end of the EXTERNALSOURCE statement.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0d0lcpxdro0i4n1ab2ly555flvj\"},{\"name\":\"embedded-text\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies a string representation of the value.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1i6pjtgp1bnnln1kdazns06o6p2\"}],\"supportSiteTargetFile\":\"p0bb3sz7wq78isn1kphb4ek0b5ni.htm\"},{\"name\":\"FILE\",\"description\":\"The FILE statement changes the default output location for the PRINT statement. You can choose to write the output to an external file, the log, or ODS.\",\"help\":\"FILE *file specification*;\",\"arguments\":[{\"name\":\"name\",\"placeholder\":true,\"description\":\"assigns a user-supplied name to an external file at the specified location. This name can then be used to redirect the output of the PRINT statement to the specified external file. Once a name is assigned, it can be reused in future FILE statements without the need to re-specify the file path, as long as the PROC CAS session remains active.\",\"help\":\"*name* *\\\"path to file\\\"*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0ia5ty3ftgiten1nx3ncmm2aem5\"},{\"name\":\"ODS\",\"description\":\"a predefined system name that directs tabular output to the Output Delivery System (ODS) and non-tabular data to the SAS log. This is the default behavior for the PRINT statement when no other file specification is provided.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p11awpxvbj4d95n1233wkpvht4ew\"},{\"name\":\"LOG\",\"description\":\"a predefined fileref referencing the SAS log that directs all PRINT statement output, regardless of its data type, to the SAS log.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0010h0zufgoggn1h7c5b89tf30w\"}],\"supportSiteTargetFile\":\"n069utvgdj0z4gn13ldaayhn2zc0.htm\"},{\"name\":\"FNC\",\"description\":\"Lists all common functions by name and category with simple descriptions.\",\"help\":\"FNC *category-name*;\",\"arguments\":[{\"name\":\"category-name\",\"placeholder\":true,\"description\":\"specifies the name of the category to display functions from. For a list of category names, see .\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p15l79uy28br50n1xbkha217rvwu\"}],\"supportSiteTargetFile\":\"p09yr5y7jtntnqn1nxs5ma6txyia.htm\"},{\"name\":\"FORMAT\",\"description\":\"Associates a format with a single variable or a list of variables.\",\"help\":\"FORMAT *variable-1*...*variable-N**format*;\",\"supportSiteTargetFile\":\"p1vhq3gw7jywywn1g98ehfrkfsuc.htm\"},{\"name\":\"FUNCTION\",\"description\":\"Creates a new function that can be called in an expression.\",\"help\":\"FUNCTION function- name (<parameter–1><, parameter–2><, ..., parameter–n>); \\n\\tstatements;\\nEND ;\",\"arguments\":[{\"name\":\"function-\",\"placeholder\":true,\"description\":\"specifies a user-defined function name.\",\"help\":\"*function- name*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0ku1vbrhsws78n1rao3lu4yjy14\"},{\"name\":\"statement\",\"placeholder\":true,\"description\":\"is any series of CASL statement.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n14l4ctyr3lbksn1lg98vpfsjlhd\"},{\"name\":\"parameter\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies a variable name that holds an argument value passed to the function when it is called.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1p09faihud4u8n1lxba8lf84hra\"}],\"supportSiteTargetFile\":\"n0b36rhlbv3mnmn1j5rqeduwnbso.htm\"},{\"name\":\"FUNCTIONLIST\",\"description\":\"Lists all CASL built-in functions and user defined functions by name with simple descriptions.\",\"help\":\"FUNCTIONLIST &lt;*name*&gt;;FLIST &lt;*name*&gt;;\",\"arguments\":[{\"name\":\"name\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the name of the function to list information about.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0gnd4mpchtwc2n1x15fft7rv8vr\"}],\"supportSiteTargetFile\":\"p1r5kztjknq3acn1fxrc9tk0p30c.htm\"},{\"name\":\"GLOBAL\",\"description\":\"Creates a variable that can be accessed and used anywhere within a CASL program.\",\"help\":\"GLOBAL *variable*;\",\"arguments\":[{\"name\":\"variable\",\"placeholder\":true,\"description\":\"specifies a variable name.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1h68tkl8u5lf2n1u71udpp0kf0u\"}],\"supportSiteTargetFile\":\"n1ws9zgvgn9yf1n13d5itgr0l7vn.htm\"},{\"name\":\"GOTO\",\"description\":\"Transfers execution immediately to a labeled statement.\",\"help\":\"GOTO  *label*;\",\"arguments\":[{\"name\":\"label\",\"placeholder\":true,\"description\":\"specifies a statement label that identifies the GOTO destination. Statement labels are defined by using the Label statement.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0nya8e6qjt8nxn14p5q6jpd04e9\"}],\"supportSiteTargetFile\":\"n0h7za3ud6xnrcn18bgw04kjjhhe.htm\"},{\"name\":\"IF\",\"description\":\"Conditionally executes a statement based on the value of an expression.\",\"help\":\"IF *condition*THEN*statement*;ELSE*statement*;\",\"arguments\":[{\"name\":\"THEN\",\"description\":\"If the expression results in a true value, the statement immediately after the THEN argument is executed.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1pzvi0s4cr9xvn17zmfp0vhs4pj\"},{\"name\":\"condition\",\"placeholder\":true,\"description\":\"determines which statement executes next.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1s87z1jd5d5yhn1jc29jtiigxl5\"},{\"name\":\"statement\",\"placeholder\":true,\"description\":\"specifies any CASL statement.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n106cnxnbk65vjn1i571o2g4m6dk\"}],\"supportSiteTargetFile\":\"p1mbg6emq7sjwan1qaki9fwi0o3r.htm\"},{\"name\":\"Label\",\"description\":\"Specifies a label target for the GOTO statement. No semicolon is required.\",\"help\":\"*label*:*statement*;\",\"arguments\":[{\"name\":\"label\",\"placeholder\":true,\"description\":\"specifies any identifier, which is followed by a colon (:). You must specify the label argument.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0uu7jhzbj0elwn1cnjqbu03e0sc\"},{\"name\":\"statement\",\"placeholder\":true,\"description\":\"specifies any executable statement, including a null statement (;). You must specify the statement argument.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1wbnsgimvlw7pn15cize3297yp0\"}],\"supportSiteTargetFile\":\"p13ji01tcuyoq8n1pi67zo9ql0kq.htm\"},{\"name\":\"LEAVE\",\"description\":\"Stops processing the current loop and resumes with the next statement in the sequence.\",\"help\":\"LEAVE ;\",\"supportSiteTargetFile\":\"n1x5wk3xtoa6xrn1j5vuf2e4wyzg.htm\"},{\"name\":\"LOADACTIONSET\",\"description\":\"Loads a SAS Cloud Analytic Services action set.\",\"help\":\"LOADACTIONSET “*action-set-name*”;\",\"arguments\":[{\"name\":\"action-set-name\",\"placeholder\":true,\"description\":\"specifies the name of a SAS Cloud Analytic Services action set.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n12prlz9f53rtqn12jrugszz1wco\"}],\"supportSiteTargetFile\":\"p024yh4rbnnxj2n1x9jrzre0up5a.htm\"},{\"name\":\"LOCAL\",\"description\":\"Creates a variable that is local to a CASL function.\",\"help\":\"LOCAL *variable*;\",\"arguments\":[{\"name\":\"variable\",\"placeholder\":true,\"description\":\"specifies a variable name.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0z40jfxpda8yfn102ay1hiqoxk9\"}],\"supportSiteTargetFile\":\"n1nq8kgyh18j2vn11agtpqc4ig1i.htm\"},{\"name\":\"Null\",\"description\":\"A statement that performs no operation.\",\"help\":\";\",\"supportSiteTargetFile\":\"n1xqdwnm8la7vpn1t98lwvpqjx5q.htm\"},{\"name\":\"OUTPUT\",\"description\":\"Sets the active output location.\",\"help\":\"OUTPUT &lt;ODS | LOG&gt;;\",\"arguments\":[{\"name\":\"ODS\",\"optional\":true,\"description\":\"specifies that the output is sent to an ODS destination.\",\"type\":\"standaloneOrValue\",\"supportSiteTargetFragment\":\"p03k4cafg0hol5n1xoam1eqqd9qz\"},{\"name\":\"LOG\",\"optional\":true,\"description\":\"specifies that the output is sent to the SAS log.\",\"type\":\"standaloneOrValue\",\"supportSiteTargetFragment\":\"n00jesi5g9paihn184dfiyoskgqp\"}],\"supportSiteTargetFile\":\"p1uzyq8m6ubj01n1c4umerrtbygp.htm\"},{\"name\":\"PRINT\",\"description\":\"Writes the values of constants, variables, and expressions to the current output location.\",\"help\":\"PRINT &lt;(*level*)&gt;*value-1*&lt;*value-2*&gt;...&lt;*value-N*&gt;;\",\"arguments\":[{\"name\":\"TRACE\",\"description\":\"specifies a trace level message.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0tmruuz40xrdan1cjk2bmqd9eq7\"},{\"name\":\"DEBUG\",\"description\":\"specifies a debug level message.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0uo01fhff924gn1jdagg9gdjudi\"},{\"name\":\"INFO\",\"description\":\"specifies an info level message.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1jvdg88kh5zg4n1peup52e8y5a8\"},{\"name\":\"NOTE\",\"description\":\"specifies a note level message.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n045hn7ox0k3gjn1p3sp9bwtk9h3\"},{\"name\":\"WARN\",\"description\":\"specifies a warn level message.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1wzmy7c4uve7rn1ws57gp7v1ais\"},{\"name\":\"ERROR\",\"description\":\"specifies an error level message.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0g16wbbkqt24vn1wgtfyba0xkie\"},{\"name\":\"value\",\"optional\":true,\"placeholder\":true,\"description\":\"can be a constant, variable, or expression.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0ibl1o1v3grlvn1i0jumtlokf21\"}],\"supportSiteTargetFile\":\"n1aqfgyttlq72xn1e5p9a6ors1sw.htm\"},{\"name\":\"PRINTLST\",\"aliases\":[\"plist\"],\"description\":\"Prints to the listing file defined by the application. If the value is a list, the list will be transverse and each item will be displayed. If the item is a table, it will be printed to the current output location.\",\"help\":\"PRINTLST *expression*;\",\"arguments\":[{\"name\":\"expression\",\"placeholder\":true,\"description\":\"A combination of one or more values, constants, variables, operators, and functions that are evaluated using rules and precedence to compute a result.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0w34if0ijgwiyn1n4qqdhjhdtom\"}],\"supportSiteTargetFile\":\"p1ljndkezchi0sn178igyqr4xmn4.htm\"},{\"name\":\"RETURN\",\"description\":\"Returns a value from the current function.\",\"help\":\"RETURN *expression* | *value*;\",\"arguments\":[{\"name\":\"expression\",\"placeholder\":true,\"description\":\"The result of the expression is the value returned by the function to the calling environment (or to the caller).\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0mxeulxvd1wkrn1k7gwfgu7fdro\"},{\"name\":\"value\",\"placeholder\":true,\"description\":\"specifies the value that is returned from a function.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p15q32cuvfmn6on10rcfbq9np42o\"}],\"supportSiteTargetFile\":\"n14ex139al6rp6n1y0z3oci87mbm.htm\"},{\"name\":\"RUN\",\"description\":\"Executes the previously entered SAS statements.\",\"help\":\"RUN ;\",\"supportSiteTargetFile\":\"n0g4upuzexr4dzn1b02318v8m1e7.htm\"},{\"name\":\"SAVERESULT\",\"description\":\"Saves a result table in the variable in the form specified.\",\"help\":\"Form 1: \\nSAVERESULT variable-name<DATAOUT=<libref.>data-set-name | LIB=libref><REPLACE | NOREPLACE>;\\nForm 2: \\nSAVERESULT variable-name<CSV=\\\"file-name\\\" | FILE=output-file><REPLACE | NOREPLACE>;\\nForm 3: \\nSAVERESULT variable-name<CASLIB=caslib-reference-name><CASOUT=\\\"table-name\\\"><REPLACE | NOREPLACE>;\",\"arguments\":[{\"name\":\"variable-name\",\"placeholder\":true,\"description\":\"specifies a variable that includes one or more result tables.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1ieppd35uukobn1mac4e9s9lxer\"},{\"name\":\"CASLIB=\",\"optional\":true,\"description\":\"specifies which caslib to use.\",\"help\":\"CASLIB=*caslib-reference-name*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1vvfira2ruekmn1ke6h79urqawj\"},{\"name\":\"CASOUT=\",\"optional\":true,\"description\":\"specifies to transfer the result table to the server and store it as an in-memory table. By default, the active caslib is used but it can be overridden with the CASLIB= argument.\",\"help\":\"CASOUT=\\\"*table-name*\\\"\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"p12jqxvs0xmjfjn1rf1u0bx5c0tl\"},{\"name\":\"CSV=\",\"optional\":true,\"description\":\"specifies the CSV file name. The best practice is to specify a fully qualified path. If you do not specify a fully qualified path, then SAS attempts to create the file in the current working directory for the SAS process.\",\"help\":\"CSV=\\\"*file-name*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0zanv03r3ryrqn1edvxmipz5yio\"},{\"name\":\"DATAOUT=\",\"optional\":true,\"description\":\"specifies the SAS library and data set name. The default libref is Work.\",\"help\":\"DATAOUT=&lt;*libref.*.&gt;*data-set-name*\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"p09pk9dlp4bj2dn179opykd5hjro\"},{\"name\":\"FILE=\",\"optional\":true,\"description\":\"specifies the external file or file reference to use.\",\"help\":\"FILE=\\\"*external-file*\\\" | *fileref*\",\"type\":\"choice\",\"arguments\":[{\"name\":\"\\\"external-file\\\"\",\"placeholder\":true,\"description\":\"specifies the file path. The best practice is to specify a fully qualified path. If you do not specify a fully qualified path, then SAS attempts to create the file in the current working directory for the SAS process.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1ttokznq39rt7n1jjyfspovivh9\"},{\"name\":\"fileref\",\"placeholder\":true,\"description\":\"specifies a SAS file reference.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1m35e37w85l8an1aa6lrfxwds71\"}],\"supportSiteTargetFragment\":\"n1qo3jre8agg6kn15l9sgbibxm6b\"},{\"name\":\"LIB=\",\"optional\":true,\"description\":\"specifies which SAS library to use. The specified libref must be a V9 engine libref.\",\"help\":\"LIB=*libref*\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"p1eq9acy04nby8n1ugntrmdgtpyc\"},{\"name\":\"REPLACE\",\"optional\":true,\"description\":\"specifies to overwrite existing files or to prevent overwriting existing files. By default, SAS data sets, external files, and in-memory tables are not overwritten. Specify REPLACE to overwrite existing files.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n15v2af5pq8su3n1j2i0ascnuwjy\"},{\"name\":\"NOREPLACE\",\"optional\":true,\"description\":\"specifies to overwrite existing files or to prevent overwriting existing files. By default, SAS data sets, external files, and in-memory tables are not overwritten. Specify REPLACE to overwrite existing files.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n15v2af5pq8su3n1j2i0ascnuwjy\"}],\"supportSiteTargetFile\":\"n0gzmqzg05qgmon1dg4fyxpq46zc.htm\"},{\"name\":\"SELECT\",\"description\":\"Executes one of several statements or groups of statements.\",\"help\":\"SELECT <(select-expression)>;\\n\\tWHEN -1 <(when-expression-1 ..., when-expression-n> )  statement;\\n\\t\\t<...WHEN -n (when-expression-1 ..., when-expression-n) >statement;\\n\\t<OTHERWISE statement>;END ;\",\"arguments\":[{\"name\":\"(select-expression)\",\"placeholder\":true,\"description\":\"specifies an expression that evaluates to a single value.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p09f47pj3fiwlcn1uf89krnc2t38\"},{\"name\":\"(when-expression)\",\"placeholder\":true,\"description\":\"specifies any SAS expression, including a compound expression. SELECT requires you to specify at least one when-expression.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0hhcar3a0acd6n1wptt1sl1tezm\"},{\"name\":\"statement\",\"placeholder\":true,\"description\":\"specifies any executable SAS statement, including DO, SELECT, and null statements. You must specify the statement argument.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0mhwnksrnjd76n12529qsa07qdf\"}],\"supportSiteTargetFile\":\"p1gkruwpyaq5iln10z0ytkhpz5ub.htm\"},{\"name\":\"SESSION\",\"description\":\"Specifies a session to use for actions invoked by the program.\",\"help\":\"Form 1: \\nSESSION session-reference;\",\"arguments\":[{\"name\":\"session-reference\",\"placeholder\":true,\"description\":\"specifies the name of an existing session.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n17ac68jgfi59xn1x978ukv56pa1\"}],\"supportSiteTargetFile\":\"n1r3j23mk5xb2hn10y5mndmymswd.htm\"},{\"name\":\"SET\",\"description\":\"Controls options that modify some behaviors of CAS actions and controls corresponding messages from the SAS log.\",\"help\":\"SET DISP&lt;ECHOEXTSRC&gt;&lt;LOGS&gt;&lt;LOGS=DEBUG | NOTE | TRACE | WARN&gt;&lt;STDJSON&gt;&lt;WARNINGDUP&gt;&lt;USEWIDTH&gt;\",\"arguments\":[{\"name\":\"DISP\",\"optional\":true,\"aliases\":[\"DISPOSITION\"],\"description\":\"specifies printing the disposition returned from a CAS action in the SAS log.\",\"help\":\"DISP \",\"type\":\"choice\",\"arguments\":[{\"name\":\"DISP\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"n1g4093whj4cuhn15pdtwlqawodx\"},{\"name\":\"ECHOEXTSRC\",\"optional\":true,\"description\":\"allows the embedded text in the EXTERNALSOURCE statement code block to be echoed to the SAS log.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0ipd23kxvmkxjn132wexn4md5nw\"},{\"name\":\"LOGS\",\"optional\":true,\"description\":\"specifies printing messages from CAS in the SAS log. The default value is TRACE.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1mv5txepdaecun16xvkktp14ww3\"},{\"name\":\"LOGS=\",\"optional\":true,\"description\":\"enables you to specify any one of the following options to control messages to the log:\",\"type\":\"value\",\"arguments\":[{\"name\":\"DEBUG\",\"description\":\"prints all log messages except those that are displayed using the TRACE option.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1qfqs9yhtfpvon1ju8t6ax5swqs\"},{\"name\":\"NOTE\",\"description\":\"prints all log messages except those that are displayed using the DEBUG and TRACE options.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1hofq93qkdgsun1urcamuk7as65\"},{\"name\":\"TRACE\",\"description\":\"prints all log messages to the log.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1ezub6jef3qfqn1u483mepq2b4u\"},{\"name\":\"WARN\",\"description\":\"prints all log messages except those that are displayed using the DEBUG, NOTE, and TRACE options.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1vq7i63txdnmbn1qnd620li16wa\"}],\"supportSiteTargetFragment\":\"n0ud69ud2o5oltn1tbpm3j0scbz5\"},{\"name\":\"STDJSON\",\"optional\":true,\"description\":\"specifies that the CASL2JSON function produces only text that is conformant with the JSON standard and that the JSON2CASL function accepts only text that is conformant with the JSON standard.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n11kb8j7a6tyi3n15yqyvhukxbrn\"},{\"name\":\"USEWIDTH\",\"optional\":true,\"description\":\"specifies the use of the defined column width of character string values in a table. Values with widths less than the defined width of the column are padded with blanks to the full defined column width. USEWIDTH affects only fixed-length character variables within a result table. Varying-length character variables are not affected.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0b51u0oas8quxn1q4gqyqxa4rmm\"},{\"name\":\"WARNINGDUP\",\"optional\":true,\"description\":\"specifies printing a warning message in the SAS log when two or more response dictionary entries that are returned from a CAS action have the same key. For the runCasl action, the SEND_RESPONSE function can be used by CASL code to send one or more response dictionaries from the action to the client. When the responses contain duplicate named values, the last value received from the CAS action in a response becomes the value for that key.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1753lbwov55oyn1bholvd9nxr86\"}],\"supportSiteTargetFile\":\"n10a3hml869y4nn177ovmx0gzopx.htm\"},{\"name\":\"SOURCE\",\"description\":\"Enables you to embed text in the program and assign it to a given variable.\",\"help\":\"SOURCE variable;\\n\\t<text>ENDSOURCE ;\",\"arguments\":[{\"name\":\"variable\",\"placeholder\":true,\"description\":\"The variable to assign the text to.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n14lq7ix1kxlj3n1gz9daxs8fwmb\"},{\"name\":\"text\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies a string representation of the value for the variable.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1gx9brx6y5yt8n1t293aajik5wc\"}],\"supportSiteTargetFile\":\"p1nh54k4wc2sgyn1g66ietjwmwsn.htm\"},{\"name\":\"UNSET\",\"description\":\"Turns off options that modify some behaviors of CAS actions and suppresses corresponding messages in the SAS log.\",\"help\":\"UNSET DISP&lt;ECHOEXTSRC&gt;&lt;LOGS&gt;&lt;STDJSON&gt;&lt;USEWIDTH &gt;&lt;WARNINGDUP&gt;;\",\"arguments\":[{\"name\":\"DISPOSITION\",\"optional\":true,\"aliases\":[\"DISP\"],\"description\":\"specifies printing the disposition returned from a CAS action to the SAS log.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1heqns2gobm3vn1ax3vlmdf17r4\"},{\"name\":\"ECHOEXTSRC\",\"optional\":true,\"description\":\"prevents SAS from echoing the lines gathered by the EXTERNALSOURCE statement to the SAS log.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n16sa8b63k8jjvn11trub992vev7\"},{\"name\":\"LOGS\",\"optional\":true,\"description\":\"specifies printing messages from CAS to the SAS log.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0em1yo2aqjfx6n17x1taxsayiwb\"},{\"name\":\"STDJSON\",\"optional\":true,\"description\":\"specifies that the CASL2JSON function can produce output text that is not strictly conformant with the JSON standard and that the JSON2CASL function can accept text that is not strictly conformant with the JSON standard.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1qep77mbbo6rzn1tydhskua09bu\"},{\"name\":\"USEWIDTH\",\"optional\":true,\"description\":\"specifies defining the width of string columns in a table based on the maximum width that is used for each character value, instead of basing the width on a globally defined width for all values. USEWIDTH affects only fixed-length character variables within a result table. Varying-length character variables are not affected.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p18s58lljtvbdon1ahusthz4n8rp\"},{\"name\":\"WARNINGDUP\",\"optional\":true,\"description\":\"specifies that no warnings for duplicate response dictionary entries are printed.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0e35bxomgcc9en1bqml313t944j\"}],\"supportSiteTargetFile\":\"n0hl6s39lvhj7en187nu08n2hrbb.htm\"},{\"name\":\"UPLOAD\",\"description\":\"Transfers a file from the SAS client to the server. After data transfer, the server loads the data into an in-memory table.\",\"help\":\"UPLOAD \\n\\tPATH= path-to-file\\n\\n\\t<CASOUT= {output-table-options}>\\n\\t<IMPORTOPTIONS= {FILETYPE= “BASESAS” |  “CSV” | “DTA” | “ESP” | “EXCEL” | “FMT” | “EXCEL” | “HDAT” | “JMP” | “LASR” | “SPSS” | “XLSX”<, fileType-specific-parameters>}>;\",\"arguments\":[{\"name\":\"PATH=\",\"description\":\"specifies the path to the file to upload. The path must be fully qualified from a directory that the SAS client can access.\",\"help\":\"PATH=*path-to-file*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0cr246jop9pt2n15alwsb4jq6at\"},{\"name\":\"CASOUT=\",\"optional\":true,\"description\":\"specifies the settings for a basic output table. The following parameters can be specified:\\n• CASLIB= “<i>string</i>”\\n• INDEXVARS={ “<i>variable-name-1” &lt;, “variable-name-2, ” ...&gt;</i>}\\n• LABEL= “<i>string</i>”\\n• NAME= “<i>table-name</i>”\\n• PROMOTE=TRUE | FALSE\\n• REPLACE=TRUE | FALSE\\n• REPLICATION=<i>integer</i>\",\"help\":\"CASOUT=                      *output-table-options*\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"n0wkalseuau078n1pp8wnfm76nqr\"},{\"name\":\"IMPORTOPTIONS=\",\"optional\":true,\"description\":\"specifies the file format and options. The value that you specify for the fileType parameter determines the other parameters that apply. For more information about the fileType parameter, see \\\"importOptions\\\" in the Upload action.\",\"help\":\"IMPORTOPTIONS={\\\"BASESAS\\\" | \\\"CSV\\\" | \\\"DTA\\\" | \\\"ESP\\\" | \\\"EXCEL\\\" | \\\"FMT\\\" | \\\"HDAT\\\" | \\\"JMP\\\" | \\\"LASR\\\" | \\\"SPSS\\\" | \\\"XLSX\\\"&lt;, *fileType-specific-parameters*&gt;}\",\"type\":\"standaloneOrValue\",\"arguments\":[{\"name\":\"\\\"BASESAS\\\"\",\"type\":\"standalone\"},{\"name\":\"\\\"CSV\\\"\",\"type\":\"standalone\"},{\"name\":\"\\\"DTA\\\"\",\"type\":\"standalone\"},{\"name\":\"\\\"ESP\\\"\",\"type\":\"standalone\"},{\"name\":\"\\\"EXCEL\\\"\",\"type\":\"standalone\"},{\"name\":\"\\\"FMT\\\"\",\"type\":\"standalone\"},{\"name\":\"\\\"HDAT\\\"\",\"type\":\"standalone\"},{\"name\":\"\\\"JMP\\\"\",\"type\":\"standalone\"},{\"name\":\"\\\"LASR\\\"\",\"type\":\"standalone\"},{\"name\":\"\\\"SPSS\\\"\",\"type\":\"standalone\"},{\"name\":\"\\\"XLSX\\\"\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"n1syrfvgppcxxrn1etf5r4sz8f27\"}],\"supportSiteTargetFile\":\"p0snxsdr4lq4ngn19lhlxwrxobh8.htm\"}],\"interactive\":true,\"supportSiteInformation\":{\"docsetId\":\"proccas\",\"docsetVersion\":\"v_002\",\"docsetTargetFile\":\"n1gq4olyaoyw7kn1g4hvz6gyoxoj.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/CASUTIL.json",
    "content": "{\"name\":\"CASUTIL\",\"statements\":[{\"name\":\"PROC CASUTIL\",\"description\":\"Manages tables and files in SAS Cloud Analytic Services.\",\"help\":\"PROC CASUTIL <options>;\\n\\tAPPEND SOURCE=\\\"table-1\\\"<SRCCASLIB=\\\"caslib\\\" ><DATASOURCEOPTIONS=(data-source-options)>\\n\\t\\tTARGET=\\\"table-2\\\"<TGTCASLIB=\\\"caslib\\\">;\\n\\n\\tALTERTABLE CASDATA=\\\"table-name\\\"<INCASLIB=\\\"caslib\\\"><LABEL=\\\"label\\\">\\n\\t\\t<RENAME | CASOUT=\\\"table-name\\\">\\n\\t\\t<COLUMNS={column-options-1 <,{column-options-n}>}>\\n\\t\\t<COLUMNORDER={\\\"variable-name\\\" <,\\\"variable-name-n\\\">}>\\n\\t\\t<DROP={\\\"variable-name\\\" <,\\\"variable-name-n\\\">}>\\n\\t\\t<KEEP={\\\"variable-name\\\" <,\\\"variable-name-n\\\">}>;\\n\\tCONTENTS CASDATA=\\\"table-name\\\" <INCASLIB=\\\"caslib\\\"><options>;\\n\\tDELETESOURCE CASDATA=\\\"file-name\\\"<INCASLIB=\\\"caslib\\\"><DATASOURCEOPTIONS={data-source-options}><DELETEOPTIONS={delete-options}><QUIET>;\\n\\tCOPY CASDATA=\\\"file-name\\\" <INCASLIB=\\\"caslib\\\">\\n\\t\\tCASOUT=\\\"table-name\\\"<OUTCASLIB=\\\"caslib\\\">\\n\\t\\t\\n\\t\\t<DATASOURCEOPTIONS=(data-source-options)>\\n\\t\\t\\t<INDEXVARS=((variable-name-1),<(variable-name-n)>)><options>;\\n\\tDROPTABLE CASDATA=\\\"table-name\\\"<INCASLIB=\\\"caslib\\\"><QUIET>;\\n\\tINDEX CASDATA=\\\"table-name\\\" \\n\\t\\t<INCASLIB=\\\"caslib\\\">\\n\\t\\t<VARS={ {casinvardesc-1}, {<casinvardesc-n>} }>\\n\\t\\t<WHERE=\\\"where-expression <logical-operatorwhere-expression\\\">>\\n\\t\\t<IMPORTOPTIONS=(FILETYPE=file-type <file-type-options>)>\\n\\t\\t<DATASOURCEOPTIONS=(data-source-options)>\\n\\t\\t<CASOUT=\\\"table-name\\\">\\n\\t\\t<OUTCASLIB=\\\"caslib\\\">\\n\\t\\t<LABEL=\\\"label-name\\\">\\n\\t\\t<COMPRESS ><PROMOTE ><REPLACE ><REPLICATION|COPIES= integer>\\n\\t\\t<INDEXVARS=((variable-name-1),<(variable-name-n)>)>;\\n\\tLIST <FILES | TABLES><options>;\\n\\tLOAD CASDATA=\\\"file-name\\\" | DATA=SAS-data-set | FILE=\\\"SAS-file\\\"<options>;\\n\\tPARTITION CASDATA=\\\"table-name\\\" \\n\\t\\t<INCASLIB=\\\"caslib\\\">\\n\\t\\t<VARS={ {casinvardesc-1}, {<casinvardesc-n>} }>\\n\\t\\t<WHERE=\\\"where-expression <logical-operatorwhere-expression\\\">>\\n\\t\\t<PARTITIONBY | GROUPBY=(group-by-variable-1 <group-by-variable-n>)>\\n\\t\\t<IMPORTOPTIONS=(FILETYPE=file-type <file-type-options>)>\\n\\t\\t<DATASOURCEOPTIONS=(data-source-options)>\\n\\t\\t<CASOUT=\\\"table-name\\\">\\n\\t\\t<OUTCASLIB=\\\"caslib\\\">\\n\\t\\t<LABEL=\\\"label-name\\\">\\n\\t\\t<COMPRESS ><PROMOTE ><REPLACE ><REPLICATION|COPIES= integer>\\n\\t\\t<INDEXVARS=((variable-name-1),<(variable-name-n)>)>\\n\\tPROMOTE CASDATA=\\\"table-name\\\" <INCASLIB=\\\"caslib\\\">\\n\\t\\t<CASOUT=\\\"table-name\\\">\\n\\t\\t<OUTCASLIB=\\\"caslib\\\">\\n\\t\\t<DROP | KEEP>;\\n\\tSAVE CASDATA=\\\"table-name \\\" <INCASLIB=\\\"caslib\\\">\\n\\t\\t<CASOUT=\\\"file-name\\\"><OUTCASLIB=\\\"caslib\\\"><EXPORTOPTIONS={export-options}><IMPORTDATASOURCEOPTIONS = {import-data-source-options}>\\n\\t\\t<options>;\\n\\tUPDATE CASDATA=\\\"table-name\\\" \\n\\t\\t<INCASLIB=\\\"caslib\\\">\\n\\t\\t<SET={ {var=\\\"variable-name\\\", value=\\\"string\\\"} }>\\n\\t\\t<WHERE=\\\"where-expression <logical-operatorwhere-expression\\\">;>QUIT;\",\"arguments\":[{\"name\":\"INCASLIB=\",\"optional\":true,\"description\":\"specifies the input caslib for the procedure. This option does not change the active caslib for your session. If you do not specify this option here or in a statement, such as LOAD, then the active caslib is used.\",\"help\":\"INCASLIB=*caslib*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0ebjc013wzz4an1ev249q3ligry\"},{\"name\":\"OUTCASLIB=\",\"optional\":true,\"description\":\"specifies the output caslib for the procedure. This option does not change the active caslib for your session. If you do not specify this option here or in a statement, such as LOAD, then the active caslib is used.\",\"help\":\"OUTCASLIB=*caslib*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1xfypuifpr4ann1qzxik7wtbael\"},{\"name\":\"SESSREF=\",\"optional\":true,\"aliases\":[\"SESSION=\"],\"description\":\"specifies the session to use with the procedure. If you omit SESSREF=, then procedure uses the session that specified in the &_SESSREF_ macro variable.\",\"help\":\"SESSREF=*session-reference*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0ft2i17eo2rq2n18mj6tv9k3jah\"}],\"supportSiteTargetFile\":\"p0p9kn6ouww8xfn1c402guo4uxmh.htm\"},{\"name\":\"APPEND\",\"description\":\"The append statement concatenates two tables.\",\"help\":\"APPEND SOURCE=\\\"table-1\\\"<SRCCASLIB=\\\"caslib\\\" ><DATASOURCEOPTIONS=(data-source-options)>\\nTARGET=\\\"table-2\\\"<TGTCASLIB=\\\"caslib\\\">;\",\"arguments\":[{\"name\":\"SOURCE\",\"placeholder\":true,\"description\":\"specifies the source table that is appended to the target table.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p13rmiud1qdz0kn0z5qekb7enzxf\"},{\"name\":\"TARGET\",\"description\":\"specifies the target table.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1c59ybwvea9w8n1r5oh66vgi0x0\"},{\"name\":\"SRCCASLIB=\",\"optional\":true,\"description\":\"specifies the caslib that contains the source table.\",\"help\":\"SRCCASLIB=\\\"*caslib*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1k72o4o4pgrnun1d5v3drzvblzv\"},{\"name\":\"DATASOURCEOPTIONS=\",\"optional\":true,\"description\":\"specifies overrides for the DATASOURCE= options for the input caslib. For more information, see and .\",\"help\":\"DATASOURCEOPTIONS=(*data-source-options*)\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1i7y14wgajbprn1t3u2dujz9eiz\"},{\"name\":\"TGTCASLIB=\",\"optional\":true,\"description\":\"specifies the caslib that contains the target table.\",\"help\":\"TGTCASLIB=\\\"*caslib*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0pf7fscxo3990n1iwy8afjfbous\"}],\"supportSiteTargetFile\":\"n068x0z4bzj69xn1hd3u5ie6tia4.htm\"},{\"name\":\"ALTERTABLE\",\"description\":\"The ALTERTABLE statement enables you to change your table. For example, you can rename the table, change labels and formats, drop columns, and so on.\",\"help\":\"ALTERTABLE CASDATA=\\\"table-name\\\"<INCASLIB=\\\"caslib\\\"><LABEL=\\\"label\\\">\\n\\t<RENAME | CASOUT=\\\"table-name\\\">\\n\\n\\t<COLUMNS={{column-options-1}                             <,{column-options-n}>}>\\n\\n\\t<COLUMNORDER={\\\"variable-name\\\"                                     <,\\\"variable-name-n\\\">}>\\n\\n\\t<DROP={\\\"variable-name\\\"                                     <,\\\"variable-name-n\\\">}>\\n\\n\\t<KEEP={\\\"variable-name\\\"                                     <,\\\"variable-name-n\\\">}>\\n\",\"arguments\":[{\"name\":\"CASDATA=\",\"description\":\"specifies the name of the in-memory table to change.\",\"help\":\"CASDATA=\\\"*table-name*\\\"\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"n07881g04o4bmsn13wmmpr8dherj\"},{\"name\":\"INCASLIB=\",\"optional\":true,\"description\":\"specifies the caslib with the in-memory table to change. If specified, this option overrides the INCASLIB= value in the procedure statement or the active caslib.\",\"help\":\"INCASLIB=\\\"*caslib*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1kpz2u233po8xn1oohckqbuu9lk\"},{\"name\":\"LABEL=\",\"optional\":true,\"description\":\"specifies a new label for the table.\",\"help\":\"LABEL=\\\"*label*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0fo4p3qpfg274n1oqg6ggsytu5w\"},{\"name\":\"RENAME\",\"optional\":true,\"description\":\"specifies a new name for the table.\",\"help\":\"RENAME | CASOUT=                             \\\"*table-name*\\\"\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"p1vqoq3q7l7aj0n1epocfafe5wpf\"},{\"name\":\"COLUMNS=\",\"optional\":true,\"description\":\"specifies how to alter columns. After you specify the column name, you can drop a column or assign a new format, label, or name. Following are the column options:\",\"help\":\"COLUMNS={{*column-options-1*}                         &lt;,{*column-options-n*                         }&gt;}\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0rg756v8opc6nn14mhaw6mgohpi\"},{\"name\":\"COLUMNORDER=\",\"optional\":true,\"description\":\"specifies the order of the columns.\",\"help\":\"COLUMNORDER={\\\"*variable-name*\\\"                                 &lt;,\\\"*variable-name-n*                             \\\"&gt;}\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p08r79bhga6wcvn1nrbi5f7lk837\"},{\"name\":\"DROP=\",\"optional\":true,\"description\":\"specifies the variables to drop from the table.\",\"help\":\"DROP={\\\"*variable-name*\\\"                                 &lt;,\\\"*variable-name-n*                             \\\"&gt;}\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0swinp9c2g5l7n1djg9u40idk5m\"},{\"name\":\"KEEP=\",\"optional\":true,\"description\":\"specifies the variables to keep in the table.\",\"help\":\"KEEP={\\\"*variable-name*\\\"                                 &lt;,\\\"*variable-name-n*                             \\\"&gt;}\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0dz6cvutsusyqn152y7m9few32r\"}],\"supportSiteTargetFile\":\"p14yxz0iv60plxn11hq20kp4hms6.htm\"},{\"name\":\"CONTENTS\",\"description\":\"The CONTENTS statement displays table metadata such as column names and data types for files or in-memory tables.\",\"help\":\"CONTENTS CASDATA=\\\"*table-name*\\\"&lt;INCASLIB=\\\"*caslib*\\\"&gt;&lt;*options*&gt;;\",\"arguments\":[{\"name\":\"CASDATA=\",\"description\":\"specifies the name of the file or table.\",\"help\":\"CASDATA=\\\"*table-name*\\\"\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"n0b9hrb9dcony9n17tatqyiz6yud\"},{\"name\":\"IMPORTOPTIONS=\",\"optional\":true,\"description\":\"specifies the file format and options. Specify this option only if you specify a file name in the CASDATA= option. If you want to display metadata for an in-memory table (the result of a LOAD statement), then do not specify this option.\",\"help\":\"IMPORTOPTIONS=(FILETYPE=\\\"*file-type*\\\" &lt;*file-type-options*&gt;)\",\"type\":\"value\",\"arguments\":[{\"name\":\"FILETYPE=\",\"description\":\"specifies the file format.\",\"help\":\"FILETYPE=\\\"BASESAS\\\" |  \\\"CSV\\\" |  \\\"DTA\\\" |  \\\"EXCEL\\\" |  \\\"HDAT\\\" |  \\\"LASR\\\" |  \\\"XLS\\\" \",\"type\":\"choice\",\"arguments\":[{\"name\":\"\\\"BASESAS\\\"\",\"type\":\"standalone\"},{\"name\":\"\\\"CSV\\\"\",\"type\":\"standalone\"},{\"name\":\"\\\"DTA\\\"\",\"type\":\"standalone\"},{\"name\":\"\\\"EXCEL\\\"\",\"type\":\"standalone\"},{\"name\":\"\\\"HDAT\\\"\",\"type\":\"standalone\"},{\"name\":\"\\\"LASR\\\"\",\"type\":\"standalone\"},{\"name\":\"\\\"XLS\\\"\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"p1118gvagktky2n14xwc0tbwctv7\"},{\"name\":\"file-type-options\",\"placeholder\":true,\"description\":\"specifies options for importing the data. For more information, see and .\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0l58ilkgrqmpbn12j9j8h8ckrfk\"}],\"supportSiteTargetFragment\":\"p0zpvb5lhmnvhxn1h10rwu2i6zin\"},{\"name\":\"INCASLIB=\",\"optional\":true,\"description\":\"specifies the caslib that is associated with the file or table. If specified, this option overrides the INCASLIB= value in the procedure statement or the active caslib.\",\"help\":\"INCASLIB=*caslib*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0wh2fdaeu5p1wn1hwntwzc6md6z\"},{\"name\":\"DATASOURCEOPTIONS=\",\"optional\":true,\"aliases\":[\"OPTIONS=\"],\"description\":\"specifies overrides for the DATASOURCE= options for the caslib. For more information, see and .\",\"help\":\"DATASOURCEOPTIONS=(*data-source-options*)\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0phe6f1ho2354n16rkor9lbi2d7\"},{\"name\":\"VARS=\",\"optional\":true,\"aliases\":[\"VARLIST=\"],\"description\":\"specifies the variables to include. If you do not include this option, all variables are included.\",\"help\":\"VARS=((*casinvardesc-1*) &lt; (*casinvardesc-2*)  ...&gt;)\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1bqepzlgh0zfbn1vsc88wpw7poo\"}],\"supportSiteTargetFile\":\"p0e32z0e8q5ge6n1fk1u8cuhzj4g.htm\"},{\"name\":\"COPY\",\"description\":\"The COPY statement copies one table from a caslib's data source to another. The copy of the table is saved to the data source that is associated with the caslib.\",\"help\":\"COPY CASDATA=\\\"file-name\\\" <INCASLIB=\\\"caslib\\\">\\nCASOUT=\\\"table-name\\\"<OUTCASLIB=\\\"caslib\\\">\\n\\n\\t<DATASOURCEOPTIONS=(data-source-options)>\\n\\t\\t<INDEXVARS=((variable-name-1),<(variable-name-n)>)>\\n\\t\\t<options> ;\\n\",\"arguments\":[{\"name\":\"CASDATA=\",\"description\":\"specifies the name of the file to load from the server-side data source that is associated with the INCASLIB= option or the active caslib.\",\"help\":\"CASDATA=\\\"*table-name*\\\"\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"n160j45tikykc5n17e45cutuusw4\"},{\"name\":\"CASOUT=\",\"description\":\"specifies an alternative name for the file. A file is created in the data source that is associated with the caslib from the OUTCASLIB= option. By default, a .sashdat file suffix is added when you save to a path-based caslib. If you specify a .csv suffix, a CSV file is saved.\",\"help\":\"CASOUT=\\\"*table-name*\\\"\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"p06ccuajb9m94vn18xsxi6o2r93u\"},{\"name\":\"DATASOURCEOPTIONS=\",\"optional\":true,\"aliases\":[\"OPTIONS=\"],\"description\":\"specifies overrides for the DATASOURCE= options for the input caslib. For more information, see and .\",\"help\":\"DATASOURCEOPTIONS=(*data-source-options*)\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1t5urwocyqvahn14ww5ayqj8r0g\"},{\"name\":\"INCASLIB=\",\"optional\":true,\"description\":\"specifies the caslib with the in-memory table to copy. If specified, this option overrides the INCASLIB= value in the procedure statement or the active caslib.\",\"help\":\"INCASLIB=\\\"*caslib*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1uyg0l0qj8xf4n1y1ptwfs8op0q\"},{\"name\":\"INDEXVARS=\",\"optional\":true,\"description\":\"specifies the list of variables to create indexes for in the output data.\",\"help\":\"INDEXVARS={\\\"*variable-name-1*\\\" , \\\"&lt;*variable-name-2*&gt;\\\"}\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1kvrv72poh9q5n1qy0t1hkudg05\"},{\"name\":\"OUTCASLIB=\",\"optional\":true,\"description\":\"specifies an alternative caslib to use for the copied table. If specified, this option overrides the OUTCASLIB= value in the procedure statement or the active caslib.\",\"help\":\"OUTCASLIB=\\\"*caslib*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n12hbekyg2bfgtn1sx1xkmufak74\"},{\"name\":\"COMPRESS\",\"optional\":true,\"description\":\"specifies to compress the data in the copied file.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0qfur5mn71dzan1hzl2g43e2y46\"},{\"name\":\"COPIES=\",\"optional\":true,\"aliases\":[\"REPLICATION=\"],\"description\":\"specifies the number of replicate copies of the rows to make for fault tolerance. This value is ignored unless you save to the SASHDAT file format.\",\"help\":\"COPIES=*integer*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0wj7alkxqawq0n0z85h6astmu6j\"},{\"name\":\"GROUPBY=\",\"optional\":true,\"aliases\":[\"PARTITIONBY=\"],\"description\":\"specifies the names of the variables to use for partitioning the SASHDAT file.\",\"help\":\"GROUPBY=(*group-by-variable-1* &lt;*group-by-variable-2* ...&gt;)\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p18ftqmt2theyhn14dk6k55zi23f\"},{\"name\":\"IMPORTOPTIONS=\",\"optional\":true,\"description\":\"specifies the input file format and options. Specify this option only if you want to read a file from the input caslib's data source and copy it without loading it to memory.\",\"help\":\"IMPORTOPTIONS=(FILETYPE=\\\"*file-type*\\\" &lt;*file-type-options*&gt;)\",\"type\":\"value\",\"arguments\":[{\"name\":\"FILETYPE=\",\"description\":\"specifies the file format.\",\"help\":\"FILETYPE=\\\"BASESAS\\\" |  \\\"CSV\\\" |  \\\"DTA\\\" |  \\\"EXCEL\\\" |  \\\"HDAT\\\" |  \\\"LASR\\\" |  \\\"XLS\\\" \",\"type\":\"choice\",\"arguments\":[{\"name\":\"\\\"BASESAS\\\"\",\"type\":\"standalone\"},{\"name\":\"\\\"CSV\\\"\",\"type\":\"standalone\"},{\"name\":\"\\\"DTA\\\"\",\"type\":\"standalone\"},{\"name\":\"\\\"EXCEL\\\"\",\"type\":\"standalone\"},{\"name\":\"\\\"HDAT\\\"\",\"type\":\"standalone\"},{\"name\":\"\\\"LASR\\\"\",\"type\":\"standalone\"},{\"name\":\"\\\"XLS\\\"\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"p09x4f8nwa8dxhn199ddueprt2zg\"},{\"name\":\"file-type-options\",\"placeholder\":true,\"description\":\"specifies options for importing the data. For more information, see and .\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1etn0ja7wytarn1bvr9k7hpnmth\"}],\"supportSiteTargetFragment\":\"n1c8ltrz9rflmfn1r96zgt5i5hhm\"},{\"name\":\"ORDERBY=\",\"optional\":true,\"description\":\"specifies the variables to use for ordering observations within partitions. This parameter applies to partitioned tables.\",\"help\":\"ORDERBY=(*variable-1* &lt;*variable-2* ...&gt;)\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1n17ur6rsqzmbn1i5s3qmqywhgf\"},{\"name\":\"PROMOTE\",\"optional\":true,\"description\":\"specifies to load the table with global scope. This makes the table available to all sessions that use the caslib, subject to access controls. The caslib must also have global scope.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p03i90h6q0i7z6n1hyb2g99qyun6\"},{\"name\":\"REPLACE\",\"optional\":true,\"description\":\"specifies that a new file with a given name replaces an existing file with the same name.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0ylb03xoilewjn1jabqjoa993r1\"},{\"name\":\"VARS=\",\"optional\":true,\"aliases\":[\"VARLIST=\"],\"description\":\"specifies the variables to load into the table. If you do not specify this option, then all variables are loaded into the table. For an example, see .\",\"help\":\"VARS=((*casinvardesc-1*) &lt; (*casinvardesc-2*)  ...&gt;)\",\"type\":\"value\",\"arguments\":[{\"name\":\"FORMAT=\",\"description\":\"specifies the format to apply to the variable.\",\"help\":\"FORMAT=\\\"*string*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0cvpksd9pwwg1n17j9lsjp59m5g\"},{\"name\":\"FORMATTEDLENGTH=\",\"description\":\"specifies the format field length plus the format precision length.\",\"help\":\"FORMATTEDLENGTH=*integer*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n04ku99u1yhmgkn15betxvvk58ms\"},{\"name\":\"LABEL=\",\"description\":\"specifies the descriptive label for the variable.\",\"help\":\"LABEL=\\\"*string*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0awebkq99wneen1iwrk8z97khgm\"},{\"name\":\"NAME=\",\"description\":\"specifies the name for the variable.\",\"help\":\"NAME=\\\"*string*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1p0tmkl2ixfytn1c096iudyj98y\"},{\"name\":\"NFD=\",\"description\":\"specifies the format precision length.\",\"help\":\"NFD=*integer*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n16wgvy37vcorcn1t4n2zormknxc\"},{\"name\":\"NFL=\",\"description\":\"specifies the format field length.\",\"help\":\"NFL=*integer*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1t7fryiwrhr2fn181yfdbn6bun6\"}],\"supportSiteTargetFragment\":\"p0bzy333oqsztln1vw7tmpxmh543\"},{\"name\":\"WHERE=\",\"optional\":true,\"description\":\"The specification for this option is described in WHERE= for the LOAD statement.\",\"help\":\"WHERE=\\\"*where-expression-1* &lt;*logical-operator**where-expression-2*&gt;\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p01u5g7lg6ieq9n0zd30l3x81yzs\"}],\"supportSiteTargetFile\":\"p0ninnyhiesl1rn1s1fdo5p1epv7.htm\"},{\"name\":\"DELETESOURCE\",\"description\":\"The DELETESOURCE statement removes a file from the data source that is associated with a caslib. You do not need to drop an in-memory table with the same name before using this statement.\",\"help\":\"DELETESOURCE CASDATA=\\\"*file-name*\\\"&lt;INCASLIB=\\\"*caslib*\\\" &gt;&lt;DATASOURCEOPTIONS = {*data-source-options*}&gt;&lt;DELETEOPTIONS = {*delete-options*}&gt;&lt;QUIET&gt;;\",\"arguments\":[{\"name\":\"CASDATA=\",\"description\":\"specifies the name of the file to remove.\",\"help\":\"CASDATA=\\\"*file-name*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1a1px9mleyyzon142q864b5904p\"},{\"name\":\"INCASLIB=\",\"optional\":true,\"description\":\"specifies the caslib that is associated with the file to remove. If specified, this option overrides the INCASLIB= value in the procedure statement or the active caslib.\",\"help\":\"INCASLIB=\\\"*caslib*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0uhibywhisucyn1g1orxdm1mv03\"},{\"name\":\"DATASOURCEOPTIONS=\",\"optional\":true,\"aliases\":[\"dataSource\",\"options\"],\"description\":\"specifies data source options.\",\"help\":\"DATASOURCEOPTIONS={*data-source-options*}\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1kk3w7f1dv84ln1vfbdnxq5jhup\"},{\"name\":\"DELETEOPTIONS=\",\"optional\":true,\"description\":\"specifies the settings for deleting a file from a data source.\",\"help\":\"DELETEOPTIONS={*delete-options*}\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p024wpaswlvc82n1o2mk205v6kam\"},{\"name\":\"QUIET=\",\"optional\":true,\"description\":\"suppresses error messages and avoids setting the SYSERR automatic macro variable when the specified table or file is not found.\",\"help\":\"QUIET=TRUE | FALSE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"TRUE\",\"type\":\"standalone\"},{\"name\":\"FALSE\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"p0w0gz11bi6dj0n1a5rkfv0bsvna\"}],\"supportSiteTargetFile\":\"n1fl5as8xed46qn1g1yabxhiudfa.htm\"},{\"name\":\"DROPTABLE\",\"description\":\"The DROPTABLE statement removes a table from memory on SAS Cloud Analytic Services.\",\"help\":\"DROPTABLE CASDATA=\\\"*table-name*\\\"&lt;INCASLIB=\\\"*caslib*\\\"&gt;&lt;QUIET&gt;;\",\"arguments\":[{\"name\":\"CASDATA=\",\"description\":\"specifies the name of the table to remove from memory.\",\"help\":\"CASDATA=\\\"*table-name*\\\"\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"p1xzpnmbft3399n143cezzw2vuov\"},{\"name\":\"INCASLIB=\",\"optional\":true,\"description\":\"specifies the caslib that is associated with the table to remove. If specified, this option overrides the INCASLIB= value in the procedure statement or the active caslib.\",\"help\":\"INCASLIB=\\\"*caslib*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0pz73p9iavp6pn1lk6j28bitb08\"},{\"name\":\"QUIET\",\"optional\":true,\"description\":\"suppresses error messages and avoids setting the SYSERR automatic macro variable when the specified table is not found.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1hui5o4orm143n1om0ery6q17k9\"}],\"supportSiteTargetFile\":\"p14fpceaxx8pz9n1id0wrgj92mrt.htm\"},{\"name\":\"INDEX\",\"description\":\"The INDEX statement enables you to create indexes on one or more table variables.\",\"help\":\"INDEX CASDATA=\\\"table-name\\\" \\n\\t<INCASLIB=\\\"caslib\\\">\\n\\n\\t<VARS={ {casinvardesc-1}, {<casinvardesc-n>} }>\\n\\n\\t<WHERE=\\\"where-expression <logical-operatorwhere-expression\\\">>\\n\\n\\t<IMPORTOPTIONS=(FILETYPE=file-type <file-type-options>)>\\n\\n\\t<DATASOURCEOPTIONS=(data-source-options)>\\n\\n\\t<CASOUT=\\\"table-name\\\">\\n\\n\\t<OUTCASLIB=\\\"caslib\\\">\\n\\n\\t<LABEL=\\\"label-name\\\">\\n\\n\\t<COMPRESS ><PROMOTE ><REPLACE ><REPLICATION|COPIES= integer>\\n\\n\\t<INDEXVARS=((variable-name-1),<(variable-name-n)>)>\",\"arguments\":[{\"name\":\"CASDATA=\",\"description\":\"specifies the name of the in-memory table to change.\",\"help\":\"CASDATA=\\\"*table-name*\\\"\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"p0nabwpg8hij86n1jnxm4vmf82qk\"},{\"name\":\"INCASLIB=\",\"optional\":true,\"description\":\"specifies the caslib with the in-memory table to change. If specified, this option overrides the INCASLIB= value in the procedure statement or the active caslib.\",\"help\":\"INCASLIB=\\\"*caslib*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p13o30n6j9d4knn13khk6kh8prjz\"},{\"name\":\"VARS=\",\"optional\":true,\"description\":\"specifies the variables to use in the action. The casinvardesc-n value can be one or more of the following:\",\"help\":\"VARS={ {*casinvardesc-1*}, {&lt;*casinvardesc-n*&gt;} }\",\"type\":\"value\",\"arguments\":[{\"name\":\"format=\",\"description\":\"specifies the format to apply to the variable.\",\"help\":\"format=\\\"*string*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1x8jx57rbglwdn0zbfzvcxuijr6\"},{\"name\":\"formattedLength=\",\"description\":\"specifies the length of format field plus the format precision.\",\"help\":\"formattedLength=*integer*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1jx37fuq62alsn19noraoq8ft0w\"},{\"name\":\"label=\",\"description\":\"specifies the descriptive label for the variable.\",\"help\":\"label=\\\"*string*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1kjgogcxcglown16w427hra03eh\"},{\"name\":\"name=\",\"description\":\"specifies the name for the variable.\",\"help\":\"name=\\\"*variable-name*\\\" \",\"type\":\"value\",\"supportSiteTargetFragment\":\"p17w219hmihltqn1kqq5gmnm5lpm\"},{\"name\":\"nfd=\",\"description\":\"specifies the length of the format precision.\",\"help\":\"nfd=*integer*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0n5l0p8hlzq4jn1lkavccy4wczp\"},{\"name\":\"nfl=\",\"description\":\"specifies the length of the format field.\",\"help\":\"nfl=*integer*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0yor4jtky452dn14mxs3lhahtw9\"}],\"supportSiteTargetFragment\":\"p0lawheiq70txtn14gr0o2rut8i3\"},{\"name\":\"WHERE=\",\"optional\":true,\"description\":\"specifies an expression for subsetting the input data.\",\"help\":\"WHERE=\\\"*where-expression*\\\"\",\"type\":\"value\",\"arguments\":[{\"name\":\"where-expression\",\"placeholder\":true,\"description\":\"is an arithmetic or logical expression that consists of a sequence of operators, operands, and SAS functions. An operand is a variable, a SAS function, or a constant. An operator is a symbol that requests a comparison, logical operation, or arithmetic calculation. The expression must be enclosed in single or double quotation marks.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1kiload0yewc1n11gh6sgsa0ye5\"},{\"name\":\"logical-operator\",\"placeholder\":true,\"description\":\"can be AND, AND NOT, OR, or OR NOT.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1pmbdq0qd2pkgn13rtkesqy7tor\"}],\"supportSiteTargetFragment\":\"n0aussu42fedj4n1qgl6kxnxmxjb\"},{\"name\":\"IMPORTOPTIONS=\",\"optional\":true,\"description\":\"specifies the file format and options. If you do not specify the FILETYPE= option, the server attempts to determine the file type based on the file name suffix, such as .sashdat, .csv, and so on. Files with a .txt suffix are imported as a CSV file.\",\"help\":\"IMPORTOPTIONS=(FILETYPE=\\\"*file-type*\\\" &lt;*file-type-options*&gt;)\",\"type\":\"value\",\"arguments\":[{\"name\":\"FILETYPE=\",\"description\":\"specifies the file format.\",\"help\":\"FILETYPE=\\\"BASESAS\\\" |  \\\"CSV\\\" |  \\\"DTA\\\" |  \\\"EXCEL\\\" |  \\\"HDAT\\\" |  \\\"LASR\\\" |  \\\"XLS\\\" \",\"type\":\"choice\",\"arguments\":[{\"name\":\"\\\"BASESAS\\\"\",\"type\":\"standalone\"},{\"name\":\"\\\"CSV\\\"\",\"type\":\"standalone\"},{\"name\":\"\\\"DTA\\\"\",\"type\":\"standalone\"},{\"name\":\"\\\"EXCEL\\\"\",\"type\":\"standalone\"},{\"name\":\"\\\"HDAT\\\"\",\"type\":\"standalone\"},{\"name\":\"\\\"LASR\\\"\",\"type\":\"standalone\"},{\"name\":\"\\\"XLS\\\"\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"n0qup4cgbtoh7pn1l5j4obu6f51u\"},{\"name\":\"file-type-options\",\"placeholder\":true,\"description\":\"specifies options for importing the data. For more information, see and .\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p11j8ammpkm7mjn19m8buhuth3zl\"}],\"supportSiteTargetFragment\":\"n1igs21eq2t1xhn14e29asa649rf\"},{\"name\":\"DATASOURCEOPTIONS=\",\"optional\":true,\"aliases\":[\"OPTIONS=\"],\"description\":\"specifies overrides for the DATASOURCE= options for the input caslib. For more information, see and .\",\"help\":\"DATASOURCEOPTIONS=(*data-source-options*)\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n19j4ypbfg8kdcn12jwtk5wbiznh\"},{\"name\":\"CASOUT=\",\"optional\":true,\"description\":\"specifies the name to use for the in-memory table.\",\"help\":\"CASOUT=\\\"*table-name*\\\"\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"n126kbbycdxpt6n1huuuulyceyxj\"},{\"name\":\"OUTCASLIB=\",\"optional\":true,\"description\":\"specifies an alternative caslib to use for the in-memory table. If specified, this option overrides the OUTCASLIB= value in the procedure statement or the active caslib.\",\"help\":\"OUTCASLIB=\\\"*caslib*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0bfy3vjnna0ohn1hl804wch7h5q\"},{\"name\":\"LABEL=\",\"optional\":true,\"description\":\"specifies a descriptive label for the table. The label can be up to 256 characters. If the label text contains single quotation marks, enclose the label in double quotation marks. To remove a label from a table, assign a blank space that is enclosed in quotation marks.\",\"help\":\"LABEL=\\\"*label-name*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1o6d1s45tki8un1xmfkhhgx1usg\"},{\"name\":\"COMPRESS\",\"optional\":true,\"description\":\"specifies to compress the output table. This option is supported with the DATA= argument only.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1v3dg5ycuskwcn18r5z7upicucp\"},{\"name\":\"PROMOTE\",\"optional\":true,\"description\":\"specifies to load the table with global scope. This makes the table available to all sessions that use the caslib, subject to access controls. The caslib must also have global scope.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p16x48xdx5mcn1n1cdzwhe88n7c4\"},{\"name\":\"REPLACE\",\"optional\":true,\"description\":\"specifies that an in-memory table with a given name replaces an existing in-memory table with the same name.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0f9uwsyu5xfnan14sr78shs4ctw\"},{\"name\":\"REPLICATION\",\"optional\":true,\"description\":\"specifies the number of replicate copies of the rows to make for fault tolerance. Larger values use more memory and can result in slower performance, but provide high availability for data in the event of a node failure.\",\"help\":\"REPLICATION|COPIES=*integer*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1amzt05klkyqin1miwft4he8qub\"},{\"name\":\"INDEXVARS=\",\"optional\":true,\"description\":\"specifies the list of variables to create indexes for in the output data.\",\"help\":\"INDEXVARS={\\\"*variable-name-1*\\\" , \\\"&lt;*variable-name-2*&gt;\\\"}\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0sta490zjz8ren1h0dm9c96bd8k\"}],\"supportSiteTargetFile\":\"n1nyt76f4ogci0n17r0b33ruvzhv.htm\"},{\"name\":\"LIST\",\"description\":\"The LIST statement lists files from a caslib’s data source or in-memory tables in a caslib.\",\"help\":\"LIST &lt;FILES | TABLES&gt;&lt;*options*&gt;;\",\"arguments\":[{\"name\":\"FILES\",\"description\":\"specifies whether to list the files from a caslib's data source or in-memory tables.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1tc6tcrcrd6ubn1ozqgjywbk5cz\"},{\"name\":\"TABLES\",\"description\":\"specifies whether to list the files from a caslib's data source or in-memory tables.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1tc6tcrcrd6ubn1ozqgjywbk5cz\"},{\"name\":\"INCASLIB=\",\"optional\":true,\"description\":\"specifies the caslib that is associated with the tables or files to list. If specified, this option overrides the INCASLIB= value in the procedure statement or the active caslib.\",\"help\":\"INCASLIB=\\\"*caslib*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0n8ho71o590q9n13pfr35ifh94n\"},{\"name\":\"NOSUBDIRS\",\"optional\":true,\"description\":\"specifies to exclude subdirectories from the results.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1j5b9zw6pra0qn1nf615288qhr2\"},{\"name\":\"DATASOURCEOPTIONS=\",\"optional\":true,\"aliases\":[\"OPTIONS=\"],\"description\":\"specifies overrides for the DATASOURCE= options for the caslib. For more information, see and .\",\"help\":\"DATASOURCEOPTIONS=(*data-source-options*)\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1l9lv8mq5hli1n1p4reqtt3y5vy\"},{\"name\":\"SUBDIR=\",\"optional\":true,\"description\":\"specifies to list the files in the specified subdirectory.\",\"help\":\"SUBDIR=\\\"*path*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1k98i1dnvthmcn1q1e5d7tsbl53\"}],\"supportSiteTargetFile\":\"p1i7u2vczdh25en11efvdr7rk0of.htm\"},{\"name\":\"LOAD\",\"description\":\"The LOAD statement reads data from a file in a caslib’s data source, a libref, or a client-side file and loads it into memory on SAS Cloud Analytic Services.\",\"help\":\"Form 1: \\nLOAD CASDATA=\\\"file-name\\\"<INCASLIB=\\\"caslib\\\">CASOUT=\\\"table-name\\\"\\n\\t<OUTCASLIB=\\\"caslib\\\">\\n\\t\\t<IMPORTOPTIONS=(FILETYPE=\\\"file-type\\\" <file-type-options>)>\\n\\t\\t<GROUPBY=(group-by-variable-1 <group-by-variable-2 ...>)><ORDERBY=(variable-1\\n\\t\\t <variable-2 ...>)>\\n\\t\\t<LABEL=\\\"table-description\\\">\\n\\t\\t<DATASOURCEOPTIONS=(data-source-options)>\\n\\t\\t<PROMOTE | REPLACE>\\n\\t\\t<COPIES=integer>\\n\\t\\t<VARS=((casinvardesc-1) <, (casinvardesc-2),  ...>)>\\n\\t\\t<WHERE=\\\"where-expression-1 <logical-operatorwhere-expression-2>\\\">\\n\\t\\t;\\nForm 2: \\nLOAD DATA=SAS-data-set<(data-set-options)>\\n\\n\\t<CASOUT=\\\"table-name\\\">\\n\\t\\t<OUTCASLIB=\\\"caslib\\\">\\n\\t\\t<APPEND | COMPRESS>\\n\\t\\t<GROUPBY=(group-by-variable-1 <group-by-variable-2 ...>) ><ORDERBY=(variable-1\\n\\t\\t <variable-2 ...>)>\\n\\t\\t<LABEL=\\\"table-description\\\">\\n\\t\\t<DATASOURCEOPTIONS=(data-source-options)>\\n\\t\\t<PROMOTE | REPLACE>\\n\\t\\t<REPEAT>\\n\\t\\t<COPIES=integer>\\n\\t\\t<NCHARMULTIPLIER=n>\\n\\t\\t<TRANSCODE_FAIL=ERROR | WARN | SILENT >\\n\\t\\t<TIMEOUTSECONDS=n>\\n\\t\\t<WRITETRANSFERSIZE=integer | integerK | integerM | integerG>;\\nForm 3: \\nLOAD FILE=\\\"path-to-client-file\\\"CASOUT=\\\"table-name\\\"\\n\\n\\t<OUTCASLIB=\\\"caslib\\\">\\n\\t\\t<COMPRESS>\\n\\t\\t<IMPORTOPTIONS=(FILETYPE=file-type <file-type-options>)>\\n\\t\\t<LABEL=\\\"table-description\\\">\\n\\t\\t<PROMOTE | REPLACE>\\n\\t\\t<COPIES=integer>\\n\\t\\t<TIMEOUTSECONDS=n>\\n\\t\\t<WRITETRANSFERSIZE=integer | integerK | integerM | integerG>;\\nForm 4: \\nLOAD FILE=fileref CASOUT=\\\"table-name\\\"\\n\\n\\t<OUTCASLIB=\\\"caslib\\\">\\n\\t\\t<COMPRESS>\\n\\t\\t<IMPORTOPTIONS=(FILETYPE=file-type <file-type-options>)>\\n\\t\\t<LABEL=\\\"table-description\\\">\\n\\t\\t<PROMOTE | REPLACE>\\n\\t\\t<COPIES=integer>\\n\\t\\t<TIMEOUTSECONDS=n>\\n\\t\\t<WRITETRANSFERSIZE=integer | integerK | integerM | integerG>;\",\"arguments\":[{\"name\":\"CASDATA=\",\"description\":\"specifies the name of the file to load from the server-side data source that is associated with the INCASLIB= option or the active caslib.\",\"help\":\"CASDATA=\\\"*file-name*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n10pn7tp0cogl7n18961yofqu7f1\"},{\"name\":\"CASOUT=\",\"description\":\"specifies the name to use for the in-memory table.\",\"help\":\"CASOUT=\\\"*table-name*\\\"\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"n0nzww4xgr3hqwn1fllh82opyr3f\"},{\"name\":\"DATA=\",\"description\":\"specifies the libref and data set name to use.\",\"help\":\"DATA=*SAS-data-set*\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"n1av3tzr4hqsd0n12a7jkool4jrq\"},{\"name\":\"FILE=\",\"description\":\"specifies an external file that is accessible to the SAS client host. Use this option to upload a file to the server and import the data. Do not use this option to import a SAS data set, use the DATA= option.\",\"help\":\"FILE=\\\"*path-to-client-file*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1xo1iaub7kz8kn1prq67uq5rq1p\"},{\"name\":\"FILE=\",\"description\":\"specifies an external file that is accessible with a file reference. Use this option to upload a file to the server and import the data. Do not use this option to import a SAS data set, use the DATA= option.\",\"help\":\"FILE=*fileref*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1ukufqfgbwfson1wao6ogjlxgos\"},{\"name\":\"APPEND\",\"optional\":true,\"description\":\"adds the rows from the SAS data set in the DATA= argument to the end of an in-memory table. This option is supported with the DATA= argument only.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0ifkjwiubkc0ln1vz77zcyjm8kx\"},{\"name\":\"COMPRESS\",\"optional\":true,\"description\":\"specifies to compress the output table. This option is supported with the DATA= argument only.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0ozc5170ajcgin19egogq1nb3tr\"},{\"name\":\"COPIES=\",\"optional\":true,\"aliases\":[\"REPLICATION=\"],\"description\":\"specifies the number of replicate copies of the rows to make for fault tolerance. Larger values use more memory and can result in slower performance, but provide high availability for data in the event of a node failure.\",\"help\":\"COPIES=*integer*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1mraakpe3lgonn1kmztod8776td\"},{\"name\":\"DATASOURCEOPTIONS=\",\"optional\":true,\"aliases\":[\"OPTIONS=\"],\"description\":\"specifies overrides for the DATASOURCE= options for the input caslib. For more information, see and .\",\"help\":\"DATASOURCEOPTIONS=(*data-source-options*)\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n065ssqzwwwvb6n133m5rhqzq5iq\"},{\"name\":\"GROUPBY=\",\"optional\":true,\"aliases\":[\"PARTITIONBY=\"],\"description\":\"specifies the names of the variables to use for grouping results.\",\"help\":\"GROUPBY=(*group-by-variable-1* &lt;*group-by-variable-2* ...&gt;)\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n10vkfr94m6zzhn15z92kamsn1j5\"},{\"name\":\"IMPORTOPTIONS=\",\"optional\":true,\"description\":\"specifies the file format and options. If you do not specify the FILETYPE= option, the server attempts to determine the file type based on the file name suffix, such as .sashdat, .csv, and so on. Files with a .txt suffix are imported as a CSV file.\",\"help\":\"IMPORTOPTIONS=(FILETYPE=\\\"*file-type*\\\" &lt;*file-type-options*&gt;)\",\"type\":\"value\",\"arguments\":[{\"name\":\"FILETYPE=\",\"description\":\"specifies the file format. For more available file formats, see the importOptions parameter for the .\",\"help\":\"FILETYPE=\\\"BASESAS\\\" |  \\\"CSV\\\" |  \\\"DTA\\\" |  \\\"EXCEL\\\" |  \\\"HDAT\\\" |  \\\"LASR\\\" |  \\\"XLS\\\" \",\"type\":\"choice\",\"arguments\":[{\"name\":\"\\\"BASESAS\\\"\",\"type\":\"standalone\"},{\"name\":\"\\\"CSV\\\"\",\"type\":\"standalone\"},{\"name\":\"\\\"DTA\\\"\",\"type\":\"standalone\"},{\"name\":\"\\\"EXCEL\\\"\",\"type\":\"standalone\"},{\"name\":\"\\\"HDAT\\\"\",\"type\":\"standalone\"},{\"name\":\"\\\"LASR\\\"\",\"type\":\"standalone\"},{\"name\":\"\\\"XLS\\\"\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"p0gbxxebv2s1k7n0z6c5l49dj6ts\"},{\"name\":\"file-type-options\",\"placeholder\":true,\"description\":\"specifies options for importing the data. For more information, see and .\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0p718ehly2o03n11g9215034gw8\"}],\"supportSiteTargetFragment\":\"n1j04buqmj96umn1m4cf3kqoeisk\"},{\"name\":\"INCASLIB=\",\"optional\":true,\"description\":\"specifies the caslib that is associated with the file to load. If specified, this option overrides the INCASLIB= value in the procedure statement or the active caslib.\",\"help\":\"INCASLIB=\\\"*caslib*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1gkbdjualqo3an1pfhjjy7igb7y\"},{\"name\":\"LABEL=\",\"optional\":true,\"description\":\"specifies a descriptive label for the table. The label can be up to 256 characters. If the label text contains single quotation marks, enclose the label in double quotation marks. To remove a label from a table, assign a blank space that is enclosed in quotation marks.\",\"help\":\"LABEL=\\\"*string*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n142h1t2n520twn1cx12iqkyxhy4\"},{\"name\":\"NCHARMULTIPLIER=\",\"optional\":true,\"description\":\"specifies the multiplication factor used when transcoding.\",\"help\":\"NCHARMULTIPLIER=*n*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p12avh5pgkeye1n1efhl04vr3hvn\"},{\"name\":\"ORDERBY=\",\"optional\":true,\"description\":\"specifies the variables to use for ordering observations within partitions. This parameter applies to partitioned tables.\",\"help\":\"ORDERBY=(*variable-1* &lt;*variable-2* ...&gt;)\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0toqn91mtfl3jn1k53edei4k8b3\"},{\"name\":\"OUTCASLIB=\",\"optional\":true,\"description\":\"specifies an alternative caslib to use for the in-memory table. If specified, this option overrides the OUTCASLIB= value in the procedure statement or the active caslib.\",\"help\":\"OUTCASLIB=\\\"*caslib*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0ty3ct5selpqnn1i5gfht9wgqqf\"},{\"name\":\"PROMOTE\",\"optional\":true,\"description\":\"specifies to load the table with global scope. This makes the table available to all sessions that use the caslib, subject to access controls. The caslib must also have global scope.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0s57f5bt6wvten1h4of0lsx52wi\"},{\"name\":\"REPEAT\",\"optional\":true,\"description\":\"specifies to duplicate the rows for the table on every machine of a distributed server. Making duplicate copies of tables can be useful in cases like a dimension table that is used in a join. This option is supported with the DATA= argument only and cannot be combined with the GROUPBY= option.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p10ahttrnjkknmn1gac32q9ephq3\"},{\"name\":\"REPLACE\",\"optional\":true,\"description\":\"specifies that an in-memory table with a given name replaces an existing in-memory table with the same name.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1umshxstytwd5n1krgga12731wu\"},{\"name\":\"TIMEOUTSECONDS=\",\"optional\":true,\"aliases\":[\"TIMEOUT=\"],\"description\":\"specifies the client inactivity time-out interval in seconds. If SAS stops transferring data to the server, the server starts the inactivity timer for the specified duration and cancels the request if SAS does not resume data transfer.\",\"help\":\"TIMEOUTSECONDS=*n*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1e3lky9xt9m0gn18f042f7m5oup\"},{\"name\":\"TRANSCODE_FAIL=\",\"optional\":true,\"description\":\"specifies how the engine handles transcoding errors.\",\"help\":\"TRANSCODE_FAIL=ERROR | WARN | SILENT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ERROR\",\"description\":\"writes an error message to the SAS log. Processing stops.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0z5rtpbo2zay4n1jj659e10214x\"},{\"name\":\"WARN\",\"description\":\"writes a warning message to the SAS log. Processing continues.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1l58vm59rwi67n1ojbdfn20sx5t\"},{\"name\":\"SILENT\",\"description\":\"transcoding errors are ignored. Processing continues.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0qbr3dnxybd1zn102ja4ye2vu0h\"}],\"supportSiteTargetFragment\":\"p08r6p3uo2z6cin114x40evmbui7\"},{\"name\":\"VARS=\",\"optional\":true,\"aliases\":[\"VARLIST=\"],\"description\":\"specifies the variables to load into the table. If you do not specify this option, then all variables are loaded into the table. For an example, see .\",\"help\":\"VARS=((*casinvardesc-1*) &lt; (*casinvardesc-2*)  ...&gt;)\",\"type\":\"value\",\"arguments\":[{\"name\":\"FORMAT=\",\"description\":\"specifies the format to apply to the variable.\",\"help\":\"FORMAT=\\\"*string*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1m9jwqg2njp3in1g3qx7yglz5vx\"},{\"name\":\"FORMATTEDLENGTH=\",\"description\":\"specifies the format field length plus the format precision length.\",\"help\":\"FORMATTEDLENGTH=*integer*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p02th4iz1y50w9n13i6n5t4yvhoc\"},{\"name\":\"LABEL=\",\"description\":\"specifies the descriptive label for the variable.\",\"help\":\"LABEL=\\\"*string*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p03f89cvzxsbvpn11s7tw1qhdpqr\"},{\"name\":\"NAME=\",\"description\":\"specifies the name for the variable.\",\"help\":\"NAME=\\\"*string*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0bf2p5sbo8lz3n1aq0m0d95wiqf\"},{\"name\":\"NFD=\",\"description\":\"specifies the format precision length.\",\"help\":\"NFD=*integer*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0t7hllxoywmw4n14enf7wpdmnl2\"},{\"name\":\"NFL=\",\"description\":\"specifies the format field length.\",\"help\":\"NFL=*integer*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1pyyonxxfw5zqn1246hlt3y1n18\"}],\"supportSiteTargetFragment\":\"n1ln1fybbd0glin1xsrtaaoqfsyu\"},{\"name\":\"WHERE=\",\"optional\":true,\"description\":\"specifies conditions for selecting observations from the data.\",\"help\":\"WHERE=\\\"*where-expression-1* &lt;*logical-operator**where-expression-2*&gt;\\\"\",\"type\":\"value\",\"arguments\":[{\"name\":\"where-expression\",\"placeholder\":true,\"description\":\"is an arithmetic or logical expression that consists of a sequence of operators, operands, and SAS functions. An operand is a variable, a SAS function, or a constant. An operator is a symbol that requests a comparison, logical operation, or arithmetic calculation. The expression must be enclosed in single or double quotation marks.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1w6ytvq27q8kmn1po09i49ptcym\"},{\"name\":\"logical-operator\",\"placeholder\":true,\"description\":\"can be AND, AND NOT, OR, or OR NOT.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0lapf4ub4tw2tn1no1xi4ga9wz2\"}],\"supportSiteTargetFragment\":\"p1m2ekvv5z3b8en1ivdgv9yg4qql\"},{\"name\":\"WRITETRANSFERSIZE=\",\"optional\":true,\"aliases\":[\"WTS=\"],\"description\":\"specifies the maximum number of bytes the procedure writes when transferring data to the CAS server.\",\"help\":\"WRITETRANSFERSIZE=*integer* | *integerK* | *integerM* | *integerG*\",\"type\":\"choice\",\"arguments\":[{\"name\":\"integer\",\"placeholder\":true,\"description\":\"specifies the total number of bytes to read.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n06riqmgx450u7n109yuwpqw0vol\"},{\"name\":\"integerK\",\"placeholder\":true,\"description\":\"specifies the total number of kilobytes to read.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1ovtnhx7cmyjsn1qb29tr6myupm\"},{\"name\":\"integerM\",\"placeholder\":true,\"description\":\"specifies the total number of megabytes to read.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0kredwhlyd76en1r4ekkqm5rpls\"},{\"name\":\"integerG\",\"placeholder\":true,\"description\":\"specifies the total number of gigabytes to read.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1w0pi2727orr2n10ujkj8uh7195\"}],\"supportSiteTargetFragment\":\"p0yq1ilwu06rsdn1sch5yt1rj2wj\"}],\"supportSiteTargetFile\":\"n03spmi9ixzq5pn11lneipfwyu8b.htm\"},{\"name\":\"PARTITION\",\"description\":\"The PARTITION statement enables you to partition a table.\",\"help\":\"PARTITION CASDATA=\\\"table-name\\\" \\n\\t<INCASLIB=\\\"caslib\\\">\\n\\n\\t<VARS={ {casinvardesc-1}, {<casinvardesc-n>} }>\\n\\n\\t<WHERE=\\\"where-expression <logical-operatorwhere-expression\\\">>\\n\\n\\t<PARTITIONBY | GROUPBY=(group-by-variable-1 <group-by-variable-n>)>\\n\\n\\t<IMPORTOPTIONS=(FILETYPE=file-type <file-type-options>)>\\n\\n\\t<DATASOURCEOPTIONS=(data-source-options)>\\n\\n\\t<CASOUT=\\\"table-name\\\">\\n\\n\\t<OUTCASLIB=\\\"caslib\\\">\\n\\n\\t<LABEL=\\\"label-name\\\">\\n\\n\\t<COMPRESS ><PROMOTE ><REPLACE ><REPLICATION|COPIES= integer>\\n\\n\\t<INDEXVARS=((variable-name-1),<(variable-name-n)>)>\",\"arguments\":[{\"name\":\"CASDATA=\",\"description\":\"specifies the name of the in-memory table to change.\",\"help\":\"CASDATA=\\\"*table-name*\\\"\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"n089a7fk6nojk7n1xfxbe8zx9h2k\"},{\"name\":\"INCASLIB=\",\"optional\":true,\"description\":\"specifies the caslib with the in-memory table to change. If specified, this option overrides the INCASLIB= value in the procedure statement or the active caslib.\",\"help\":\"INCASLIB=\\\"*caslib*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n12q9wi0xyoybin1k68s2r369kvf\"},{\"name\":\"VARS=\",\"optional\":true,\"description\":\"specifies the variables to use in the action. The casinvardesc-n value can be one or more of the following:\",\"help\":\"VARS={ {*casinvardesc-1*},{&lt;*casinvardesc-n*&gt;} }\",\"type\":\"value\",\"arguments\":[{\"name\":\"format=\",\"description\":\"specifies the format to apply to the variable.\",\"help\":\"format=\\\"*string*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1mzp6b22hofpfn1dzf4v442t3f1\"},{\"name\":\"formattedLength=\",\"description\":\"specifies the length of format field plus the format precision.\",\"help\":\"formattedLength=*integer*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0qpdzf4mce8wun1jt9fk8dgfbak\"},{\"name\":\"label=\",\"description\":\"specifies the descriptive label for the variable.\",\"help\":\"label=\\\"*string*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p17wz1iun9yd8bn1fsbvwpou8186\"},{\"name\":\"name=\",\"description\":\"specifies the name for the variable.\",\"help\":\"name=\\\"*variable-name*\\\" \",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1t5vw5y12u6zun1vqvd1d4ady5e\"},{\"name\":\"nfd=\",\"description\":\"specifies the length of the format precision.\",\"help\":\"nfd=*integer*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n131wg2pv0gnlnn1k8hv5dfhyf23\"},{\"name\":\"nfl=\",\"description\":\"specifies the length of the format field.\",\"help\":\"nfl=*integer*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0s730f6qwdwp4n1wqbo3rev0h5p\"}],\"supportSiteTargetFragment\":\"p04nr8xdrg3wfxn1v04vdy64jl6d\"},{\"name\":\"WHERE=\",\"optional\":true,\"description\":\"specifies an expression for subsetting the input data.\",\"help\":\"WHERE=\\\"*where-expression*\\\"\",\"type\":\"value\",\"arguments\":[{\"name\":\"where-expression\",\"placeholder\":true,\"description\":\"is an arithmetic or logical expression that consists of a sequence of operators, operands, and SAS functions. An operand is a variable, a SAS function, or a constant. An operator is a symbol that requests a comparison, logical operation, or arithmetic calculation. The expression must be enclosed in single or double quotation marks.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1cvh1ve410kj9n16kry5g2tajsg\"},{\"name\":\"logical-operator\",\"placeholder\":true,\"description\":\"can be AND, AND NOT, OR, or OR NOT.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0f9ej0sl4wdgbn1f91mve1gw32y\"}],\"supportSiteTargetFragment\":\"p0jogu7n684fd0n1pl7bhequ2ktl\"},{\"name\":\"PARTITIONBYGROUPBY=\",\"optional\":true,\"description\":\"specifies the names of the variables to use for grouping results.\",\"help\":\"PARTITIONBY | GROUPBY=(*group-by-variable-1* &lt;*group-by-variable-n*&gt;)\",\"type\":\"value\",\"arguments\":[{\"name\":\"PARTITIONBY\",\"type\":\"standalone\"},{\"name\":\"GROUPBY\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"p17zsvh0sz1gwan1qewmdzoskolo\"},{\"name\":\"IMPORTOPTIONS=\",\"optional\":true,\"description\":\"specifies the file format and options. If you do not specify the FILETYPE= option, the server attempts to determine the file type based on the file name suffix, such as .sashdat, .csv, and so on. Files with a .txt suffix are imported as a CSV file.\",\"help\":\"IMPORTOPTIONS=(FILETYPE=\\\"*file-type*\\\" &lt;*file-type-options*&gt;)\",\"type\":\"value\",\"arguments\":[{\"name\":\"FILETYPE=\",\"description\":\"specifies the file format.\",\"help\":\"FILETYPE=\\\"BASESAS\\\" |  \\\"CSV\\\" |  \\\"DTA\\\" |  \\\"EXCEL\\\" |  \\\"HDAT\\\" |  \\\"LASR\\\" |  \\\"XLS\\\" \",\"type\":\"choice\",\"arguments\":[{\"name\":\"\\\"BASESAS\\\"\",\"type\":\"standalone\"},{\"name\":\"\\\"CSV\\\"\",\"type\":\"standalone\"},{\"name\":\"\\\"DTA\\\"\",\"type\":\"standalone\"},{\"name\":\"\\\"EXCEL\\\"\",\"type\":\"standalone\"},{\"name\":\"\\\"HDAT\\\"\",\"type\":\"standalone\"},{\"name\":\"\\\"LASR\\\"\",\"type\":\"standalone\"},{\"name\":\"\\\"XLS\\\"\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"p1uhycss39b1c5n0zthx83yxn2hf\"},{\"name\":\"file-type-options\",\"placeholder\":true,\"description\":\"specifies options for importing the data. For more information, see and .\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1mosui0yvn1zin1nuc0xryzdmu8\"}],\"supportSiteTargetFragment\":\"p1ujxfc4zkwa2sn1paf406oclyxw\"},{\"name\":\"DATASOURCEOPTIONS=\",\"optional\":true,\"aliases\":[\"OPTIONS=\"],\"description\":\"specifies overrides for the DATASOURCE= options for the input caslib. For more information, see and .\",\"help\":\"DATASOURCEOPTIONS=(*data-source-options*)\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0bt96ze7xp4m2n1h0897s65v6nk\"},{\"name\":\"CASOUT=\",\"optional\":true,\"description\":\"specifies the name to use for the in-memory table.\",\"help\":\"CASOUT=\\\"*table-name*\\\"\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"n13odelq5wvp7hn1vox2ncsta9n2\"},{\"name\":\"OUTCASLIB=\",\"optional\":true,\"description\":\"specifies an alternative caslib to use for the in-memory table. If specified, this option overrides the OUTCASLIB= value in the procedure statement or the active caslib.\",\"help\":\"OUTCASLIB=\\\"*caslib*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p04qagxj3ibysqn1gdwnkx1k1cl7\"},{\"name\":\"LABEL=\",\"optional\":true,\"description\":\"specifies a descriptive label for the table. The label can be up to 256 characters. If the label text contains single quotation marks, enclose the label in double quotation marks. To remove a label from a table, assign a blank space that is enclosed in quotation marks.\",\"help\":\"LABEL=\\\"*label-name*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0patdmwczs4ctn1ehtumg9hbz02\"},{\"name\":\"COMPRESS\",\"optional\":true,\"description\":\"specifies to compress the output table. This option is supported with the DATA= argument only.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0ryks7xq764pan17qpukxhkhedz\"},{\"name\":\"PROMOTE\",\"optional\":true,\"description\":\"specifies to load the table with global scope. This makes the table available to all sessions that use the caslib, subject to access controls. The caslib must also have global scope.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n00t54k2x8epqfn1fn9lmr1gyb26\"},{\"name\":\"REPLACE\",\"optional\":true,\"description\":\"specifies that an in-memory table with a given name replaces an existing in-memory table with the same name.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n166wnisv6cifkn1q1qgyj8usy7a\"},{\"name\":\"REPLICATION\",\"optional\":true,\"description\":\"specifies the number of replicate copies of the rows to make for fault tolerance. Larger values use more memory and can result in slower performance, but provide high availability for data in the event of a node failure.\",\"help\":\"REPLICATION|COPIES=*integer*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0zhwpc9u88fb7n14cca61e2qa34\"},{\"name\":\"INDEXVARS=\",\"optional\":true,\"description\":\"specifies the list of variables to create indexes for in the output data\",\"help\":\"INDEXVARS={\\\"*variable-name-1*\\\" , \\\"&lt;*variable-name-2*&gt;\\\"}\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0wwpqk5u3m6xgn1c4m716xpznj5\"}],\"supportSiteTargetFile\":\"p04cmou394r0v9n1gcigm82vy5dd.htm\"},{\"name\":\"PROMOTE\",\"description\":\"The PROMOTE statement copies a session-scope table to global scope.\",\"help\":\"PROMOTE CASDATA=\\\"table-name\\\"\\n\\tINCASLIB=\\\"caslib\\\"<CASOUT=\\\"table-name\\\"><><OUTCASLIB=\\\"caslib\\\"><DROP | KEEP>\\n\\t<QUIET>;\",\"arguments\":[{\"name\":\"CASDATA=\",\"description\":\"specifies the name of the in-memory table to promote.\",\"help\":\"CASDATA=\\\"*table-name*\\\"\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"n1mvmpjin9vmeqn193w73k1rmlqr\"},{\"name\":\"CASOUT=\",\"optional\":true,\"description\":\"specifies the name to use for the promoted table.\",\"help\":\"CASOUT=\\\"*table-name*\\\"\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"p00mzzvmgwvx2hn14dytbjawculm\"},{\"name\":\"DROP\",\"optional\":true,\"description\":\"specifies to drop the session-scope table after promoting it to global scope, which is the default behavior and a best practice.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1162975y2q6j4n1cwzern62tfae\"},{\"name\":\"INCASLIB=\",\"optional\":true,\"description\":\"specifies the caslib with the in-memory table to promote. If specified, this option overrides the INCASLIB= value in the procedure statement or the active caslib.\",\"help\":\"INCASLIB=\\\"*caslib*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0kbesob43x72jn1x03gveq7wkrq\"},{\"name\":\"KEEP\",\"optional\":true,\"description\":\"specifies to keep the session-scope table after promoting it to global scope. This workflow is uncommon. The table precedence rules are that the session-local table is accessed before a global-scope table is accessed.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n141o7yydkiirgn1qzh236xz33kx\"},{\"name\":\"OUTCASLIB=\",\"optional\":true,\"description\":\"specifies an alternative caslib to use for the promoted table. If specified, this option overrides the OUTCASLIB= value in the procedure statement or the active caslib.\",\"help\":\"OUTCASLIB=\\\"*caslib*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p16g8hh13cvjbkn1aiswseo0zmnq\"},{\"name\":\"QUIET\",\"optional\":true,\"aliases\":[\"silent\"],\"description\":\"does not return a message with status and severity. If the QUIET option is not specified, then a message returns with status and severity.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0k1vufcmifzrxn15nz59ws3fxju\"}],\"supportSiteTargetFile\":\"p1742zxo50czfgn1czlo8w3w58mt.htm\"},{\"name\":\"SAVE\",\"description\":\"The SAVE statement creates a permanent copy of an in-memory table. The in-memory table is saved to the data source that is associated with the caslib.\",\"help\":\"SAVE CASDATA=\\\"table-name\\\" <INCASLIB=\\\"caslib\\\">\\n\\n\\t<CASOUT=\\\"file-name\\\"><OUTCASLIB=\\\"caslib\\\"><EXPORTOPTIONS={export-options}><IMPORTDATASOURCEOPTIONS={import-data-source-options}>\\n\\t\\t<options>;\",\"arguments\":[{\"name\":\"CASDATA=\",\"description\":\"specifies the name of the in-memory table to save.\",\"help\":\"CASDATA=\\\"*table-name*\\\"\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"p1cawa7gfzch0wn12e8sf7b55pk3\"},{\"name\":\"CASOUT=\",\"optional\":true,\"description\":\"specifies an alternative name for the file. A file is created in the data source that is associated with the caslib from the OUTCASLIB= option. By default, a .sashdat file suffix is added when you save to a path-based caslib. If you specify a .csv suffix, a CSV file is saved.\",\"help\":\"CASOUT=\\\"*file-name*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n10shoy101almen1xn5vsy17e0j0\"},{\"name\":\"EXPORTOPTIONS=\",\"optional\":true,\"aliases\":[\"export\"],\"description\":\"specifies the settings for saving a table to a data source.\",\"help\":\"EXPORTOPTIONS={*export-options*}\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p010tartshe5lon1dmyzzpasuli0\"},{\"name\":\"IMPORTDATASOURCEOPTIONS=\",\"optional\":true,\"description\":\"enables you to save an in-memory table to the specified data source.\",\"help\":\"IMPORTDATASOURCEOPTIONS={*import-data-source-options*}\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0ss7phjkmdi34n13p2tk3uj6cv6\"},{\"name\":\"INCASLIB=\",\"optional\":true,\"description\":\"specifies the caslib with the in-memory table to save. If specified, this option overrides the INCASLIB= value in the procedure statement or the active caslib.\",\"help\":\"INCASLIB=\\\"*caslib*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1jm633fxyjsedn12jxhxmcnlc38\"},{\"name\":\"OUTCASLIB=\",\"optional\":true,\"description\":\"specifies an alternative caslib to use for the saved table. If specified, this option overrides the OUTCASLIB= value in the procedure statement or the active caslib.\",\"help\":\"OUTCASLIB=\\\"*caslib*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1neoias4dshyrn1rodurhwno4jk\"},{\"name\":\"COMPRESS\",\"optional\":true,\"description\":\"specifies to compress the data in the saved file.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1gw7q1igfpmokn154c14kzrv2qz\"},{\"name\":\"COPIES=\",\"optional\":true,\"aliases\":[\"REPLICATION=\"],\"description\":\"specifies the number of replicate copies of the rows to make for fault tolerance. This value is ignored unless you save to the SASHDAT file format.\",\"help\":\"COPIES=*integer*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1s33rwmuyaun4n1daifdue8asz2\"},{\"name\":\"DATASOURCEOPTIONS=\",\"optional\":true,\"aliases\":[\"OPTIONS=\"],\"description\":\"specifies overrides for the DATASOURCE= options for the input caslib. For more information, see and .\",\"help\":\"DATASOURCEOPTIONS=(*data-source-options*)\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0uvcoe4wu8nkhn12krtzjh0rmby\"},{\"name\":\"GROUPBY=\",\"optional\":true,\"aliases\":[\"PARTITIONBY=\"],\"description\":\"specifies the names of the variables to use for partitioning the SASHDAT file.\",\"help\":\"GROUPBY=(*group-by-variable-1* &lt;*group-by-variable-2* ...&gt;)\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0u6h7edfpmj9zn12ckn24vi9gy0\"},{\"name\":\"IMPORTOPTIONS=\",\"optional\":true,\"description\":\"specifies the input file format and options. Specify this option only if you want to read a file from the input caslib's data source and save it without loading it to memory.\",\"help\":\"IMPORTOPTIONS=(FILETYPE=\\\"*file-type*\\\" &lt;*file-type-options*&gt;)\",\"type\":\"value\",\"arguments\":[{\"name\":\"FILETYPE=\",\"description\":\"specifies the file format.\",\"help\":\"FILETYPE=\\\"BASESAS\\\" |  \\\"CSV\\\" |  \\\"DTA\\\" |  \\\"EXCEL\\\" |  \\\"HDAT\\\" |  \\\"LASR\\\" |  \\\"XLS\\\" \",\"type\":\"choice\",\"arguments\":[{\"name\":\"\\\"BASESAS\\\"\",\"type\":\"standalone\"},{\"name\":\"\\\"CSV\\\"\",\"type\":\"standalone\"},{\"name\":\"\\\"DTA\\\"\",\"type\":\"standalone\"},{\"name\":\"\\\"EXCEL\\\"\",\"type\":\"standalone\"},{\"name\":\"\\\"HDAT\\\"\",\"type\":\"standalone\"},{\"name\":\"\\\"LASR\\\"\",\"type\":\"standalone\"},{\"name\":\"\\\"XLS\\\"\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"p00ucw7nk7jj9tn1tcvr580jrcd4\"},{\"name\":\"file-type-options\",\"placeholder\":true,\"description\":\"specifies options for importing the data. For more information, see and .\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0rndtm7awa78dn1pi44cr8lq8sp\"}],\"supportSiteTargetFragment\":\"p15v7pxd132d39n1vgjr54ua9iy1\"},{\"name\":\"ORDERBY=\",\"optional\":true,\"description\":\"specifies the variables to use for ordering observations within partitions. This parameter applies to partitioned tables.\",\"help\":\"ORDERBY=(*variable-1* &lt;*variable-2* ...&gt;)\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0tk6fii5ktwrln1fob41j6zq0wz\"},{\"name\":\"REPLACE\",\"optional\":true,\"description\":\"specifies that a new file with a given name replaces an existing file with the same name.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1ga4b4pdax4y5n1koanx320mqib\"},{\"name\":\"WHERE=\",\"optional\":true,\"description\":\"The specification for this option is described in WHERE= for the LOAD statement.\",\"help\":\"WHERE=\\\"*where-expression-1* &lt;*logical-operator**where-expression-2*&gt;\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1blk84qx9h907n1hgtyyx6lmjll\"}],\"supportSiteTargetFile\":\"n1fujq5fhyeiprn1whq1iva21obo.htm\"},{\"name\":\"UPDATE\",\"description\":\"The UPDATE statement enables you to update rows in a table.\",\"help\":\"UPDATE CASDATA=\\\"table-name\\\" \\n\\t<INCASLIB=\\\"caslib\\\">\\n\\n\\t<SET={ {var=\\\"variable-name\\\", value=\\\"string\\\"} }>\\n\\n\\t<WHERE=\\\"where-expression <logical-operatorwhere-expression\\\">>\\n\",\"arguments\":[{\"name\":\"CASDATA=\",\"description\":\"specifies the name of the in-memory table to change.\",\"help\":\"CASDATA=\\\"*table-name*\\\"\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"p11xq5fa4bpwzdn11ox7ibuqx6dw\"},{\"name\":\"INCASLIB=\",\"optional\":true,\"description\":\"specifies the caslib with the in-memory table to change. If specified, this option overrides the INCASLIB= value in the procedure statement or the active caslib.\",\"help\":\"INCASLIB=\\\"*caslib*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1e6n0ggx7qaxfn15bf0t1onpn4a\"},{\"name\":\"SET=\",\"optional\":true,\"description\":\"specifies the variable name and the value to set. Use the where parameter to limit the updates to specific rows.\",\"help\":\"SET={ {var=\\\"*variable-name*\\\", value=\\\"*string*\\\"} }\",\"type\":\"value\",\"arguments\":[{\"name\":\"var=\",\"description\":\"specifies the column name to update.\",\"help\":\"var=\\\"*variable-name*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0n2uamcad9nmvn11tl9sho6ngqd\"},{\"name\":\"value=\",\"description\":\"specifies the value to set the column to. Enclose the value in quotation marks even if the data type is numeric.\",\"help\":\"value=\\\"*string*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p10unwvjfcbj6en1rbkouogsjszc\"}],\"supportSiteTargetFragment\":\"n019izfimsqw3rn1o0h0zdsoxlm5\"},{\"name\":\"WHERE=\",\"optional\":true,\"description\":\"specifies an expression for subsetting the input data.\",\"help\":\"WHERE=\\\"*where-expression*\\\"\",\"type\":\"value\",\"arguments\":[{\"name\":\"where-expression\",\"placeholder\":true,\"description\":\"is an arithmetic or logical expression that consists of a sequence of operators, operands, and SAS functions. An operand is a variable, a SAS function, or a constant. An operator is a symbol that requests a comparison, logical operation, or arithmetic calculation. The expression must be enclosed in single or double quotation marks.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0z8cln4j37yirn1xcpcm2m2lix4\"},{\"name\":\"logical-operator\",\"placeholder\":true,\"description\":\"can be AND, AND NOT, OR, or OR NOT.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1it9xc5yy5ypmn1qfnpjtd6penv\"}],\"supportSiteTargetFragment\":\"n15lib5uhvts12n1ltw3i561fz7e\"}],\"supportSiteTargetFile\":\"p09sfk4vure9vhn1jgji04074egu.htm\"}],\"supportSiteInformation\":{\"docsetId\":\"casref\",\"docsetVersion\":\"v_004\",\"docsetTargetFile\":\"p1momv516ndlt7n1vhgva4urpuk6.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/CATALOG.json",
    "content": "{\"name\":\"CATALOG\",\"statements\":[{\"name\":\"PROC CATALOG\",\"description\":\"Copies entries from one SAS catalog to another.\",\"help\":\"PROC CATALOG CATALOG=<libref.>catalog <ENTRYTYPE=entry-type>\\n<FORCE><KILL>;\\n\\tCONTENTS <OUT=SAS-data-set><FILE=fileref>;\\n\\n\\tCOPY OUT=<libref.>catalog<options>;\\n\\t\\tSELECT entry-1  <entry-2 ...> </ ENTRYTYPE=entry-type >;\\n\\t\\tEXCLUDE entry-1  <entry-2 ...> </ ENTRYTYPE=entry-type>;\\n\\n\\tCHANGE old-name-1=new-name-1\\n\\t\\t<old-name-2=new-name-2 ...>\\n\\t\\t</ ENTRYTYPE=entry-type>;\\n\\n\\tEXCHANGE name-1=other-name-1\\n\\t\\t<name-2=other-name-2 ...>\\n\\t\\t</ ENTRYTYPE=entry-type>;\\n\\n\\tDELETE entry-1  <entry-2 ...> </ ENTRYTYPE=entry-type>;\\n\\n\\tMODIFY  entry (DESCRIPTION=<<'>entry-description<'>>) \\n\\t\\t</ ENTRYTYPE=entry-type>;\\n\\n\\tSAVE entry-1  <entry-2 ...> </ ENTRYTYPE=entry-type >;\",\"arguments\":[{\"name\":\"CATALOG=\",\"aliases\":[\"CAT=\",\"C=\"],\"description\":\"specifies the SAS catalog to process.\",\"help\":\"CATALOG=&lt;*libref*.&gt;*catalog*\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"n1k9d01i6kgr71n1okkq0aquw4du\"},{\"name\":\"ENTRYTYPE=\",\"optional\":true,\"aliases\":[\"ET=\"],\"description\":\"restricts processing of the current PROC CATALOG step to one entry type.\",\"help\":\"ENTRYTYPE=*entry-type*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1pi776ihb5et8n1rqmz2o0duy0e\"},{\"name\":\"FORCE\",\"optional\":true,\"description\":\"forces statements to execute on a catalog that is opened by another resource environment.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0usmwz71bq2ehn1ar6vuucm4pdc\"},{\"name\":\"KILL\",\"optional\":true,\"description\":\"affects the specified catalog and deletes all entries in a SAS catalog.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1slxf7tfuwm67n1nzueugqp07ek\"}],\"supportSiteTargetFile\":\"p1il9pe2plu3bpn0zza8igp6xue4.htm\"},{\"name\":\"CHANGE\",\"description\":\"Renames one or more catalog entry names.\",\"help\":\"CHANGE old-name-1=new-name-1\\n<old-name-2=new-name-2 ...>\\n</ ENTRYTYPE=entry-type>;\",\"arguments\":[{\"name\":\"old-name=\",\"placeholder\":true,\"description\":\"specifies the current name of a catalog entry and the new name that you want to assign to it. Specify any valid SAS name.\",\"help\":\"*old-name*=*new-name*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0m3ezrro1y54vn1ovodmhtcspf2\"},{\"name\":\"ENTRYTYPE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"ET=\"],\"description\":\"restricts processing to one entry type.\",\"help\":\"ENTRYTYPE=*entry-type*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1rwm3u5ffrvcvn17mv006zlycyp\"}],\"supportSiteTargetFile\":\"n09g7gt2p1ypnhn1d5xt8qpk0g16.htm\"},{\"name\":\"CONTENTS\",\"description\":\"Lists the contents of a catalog in the procedure output or writes a list of the contents to a SAS data set, an external file, or both.\",\"help\":\"CONTENTS &lt;CATALOG=&lt;*libref*.&gt;*catalog* &gt;&lt;OUT=*SAS-data-set*&gt;&lt;FILE=*fileref*&gt;;\",\"arguments\":[{\"name\":\"CATALOG=\",\"optional\":true,\"aliases\":[\"CAT=\",\"C=\"],\"description\":\"specifies the SAS catalog to process.\",\"help\":\"CATALOG=&lt;*libref*.&gt;*catalog*\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"n0jbdl25klcigjn1alsa21t5chly\"},{\"name\":\"FILE=\",\"optional\":true,\"description\":\"sends the contents to an external file that is identified with a SAS fileref.\",\"help\":\"FILE=*fileref*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n11g6wx3ewwj7hn0zbfzh0i0lblp\"},{\"name\":\"OUT=\",\"optional\":true,\"description\":\"sends the contents to a SAS data set. When the statement executes, a message in the SAS log reports that a data set has been created. The data set contains six variables in the following order:\",\"help\":\"OUT=*SAS-data-set*\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"p16nyxp4kt58o6n1swectrwgdo8k\"}],\"supportSiteTargetFile\":\"p098gxyhcmikjdn134dvlhryd4ju.htm\"},{\"name\":\"COPY\",\"description\":\"Copies some or all of the entries in one catalog to another catalog.\",\"help\":\"COPY OUT=&lt;*libref*.&gt;*catalog*&lt;*options*&gt;;\",\"arguments\":[{\"name\":\"OUT=\",\"description\":\"names the catalog to which entries are copied.\",\"help\":\"OUT=&lt;*libref.*&gt;*catalog*\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"p1e839jc664f4vn1kca8ug6125dr\"},{\"name\":\"ENTRYTYPE=\",\"optional\":true,\"aliases\":[\"ET=\"],\"description\":\"restricts processing to one type of entry.\",\"help\":\" ENTRYTYPE=*entry-type*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0wfls4tzz0oa2n1suzztfty4ewb\"},{\"name\":\"IN=\",\"optional\":true,\"description\":\"copies from a different catalog in the same step.\",\"help\":\"IN=&lt;*libref*.&gt;*catalog*\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"p1hf13qcslyx44n1961r85pvd44c\"},{\"name\":\"LOCKCAT=\",\"optional\":true,\"description\":\"enables concurrent users to copy to the same catalog at the same time.\",\"help\":\"LOCKCAT=EXCLUSIVE | SHARE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"EXCLUSIVE\",\"type\":\"standalone\"},{\"name\":\"SHARE\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"n17t92wv6ilx8xn1h72njwc3f4gp\"},{\"name\":\"MOVE\",\"optional\":true,\"description\":\"copies and then deletes a catalog entry.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0c1zd6436ta77n1si6dud5nki5w\"},{\"name\":\"NEW\",\"optional\":true,\"description\":\"copies entries to a new catalog (overwriting the catalog if it already exists).\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1ls5avy5m86crn18p7qg0vmbm1e\"},{\"name\":\"NOEDIT\",\"optional\":true,\"description\":\"protects several types of SAS/AF entries from being edited with PROC BUILD.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1g00h9sv3c115n1s2re2iyklknm\"},{\"name\":\"NOSOURCE\",\"optional\":true,\"aliases\":[\"NOSRC\"],\"description\":\"does not copy source lines from a PROGRAM, FRAME, or SCL entry.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1u1gapnexy6apn1mm2146yzsfw1\"}],\"supportSiteTargetFile\":\"n1o5vkss0kheiln10hz52frnxs4c.htm\"},{\"name\":\"DELETE\",\"description\":\"Deletes entries from a SAS catalog.\",\"help\":\"DELETE *entry-1* &lt;*entry-2* ...&gt; &lt;/ ENTRYTYPE=*entry-type*&gt;;\",\"arguments\":[{\"name\":\"entry-1\",\"placeholder\":true,\"description\":\"specifies the name of one or more SAS catalog entries.\",\"help\":\"*entry-1 &lt;entry-2 …&gt;*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p11dppt35ktltdn17v5w5xcuyphp\"},{\"name\":\"ENTRYTYPE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"ET=\"],\"description\":\"restricts processing to one entry type.\",\"help\":\"ENTRYTYPE=*entry-type*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1ih4ee4cqdybsn1xx6s7xqmll4b\"}],\"supportSiteTargetFile\":\"n1s8jzs74ln5gen1apswd4ile3b7.htm\"},{\"name\":\"EXCHANGE\",\"description\":\"Switches the name of two catalog entries.\",\"help\":\"EXCHANGE name-1=other-name-1\\n<name-2=other-name-2 ...>\\n</ ENTRYTYPE=entry-type>;\",\"arguments\":[{\"name\":\"name=\",\"placeholder\":true,\"description\":\"specifies two catalog entry names that the procedure switches.\",\"help\":\"*name*=*other-name*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0427y14sx7r7on0ziq803sdn31r\"},{\"name\":\"ENTRYTYPE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"ET=\"],\"description\":\"restricts processing to one entry type.\",\"help\":\"ENTRYTYPE=*entry-type*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1bf1sbuqty0fhn1g5yxydurfd90\"}],\"supportSiteTargetFile\":\"n110tn09ksuikdn19ljpeatpg793.htm\"},{\"name\":\"EXCLUDE\",\"description\":\"Specifies entries that the COPY statement does not copy.\",\"help\":\"EXCLUDE *entry-1* &lt;*entry-2* ...&gt; &lt;/ ENTRYTYPE=*entry-type*&gt;;\",\"arguments\":[{\"name\":\"entry-1\",\"placeholder\":true,\"description\":\"specifies the name of one or more SAS catalog entries.\",\"help\":\"*entry-1 &lt;entry-2 …&gt;*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n10yv29qx3rue4n16ftgu73fx90m\"},{\"name\":\"ENTRYTYPE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"ET=\"],\"description\":\"restricts processing to one entry type.\",\"help\":\" ENTRYTYPE=*entry-type*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1awdko2p83ledn1r706q8oatt6n\"}],\"supportSiteTargetFile\":\"p1fsochpii0trhn1kak7epxvehx5.htm\"},{\"name\":\"MODIFY\",\"description\":\"Changes the description of a catalog entry.\",\"help\":\"MODIFY  entry (DESCRIPTION=<<'>entry-description<'>>) \\n\\t</ ENTRYTYPE=entry-type>;\",\"arguments\":[{\"name\":\"entry\",\"placeholder\":true,\"description\":\"specifies the name of one SAS catalog entry. You can specify the entry type with the name (entry-name.entry-type).\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p05blhcd3ozraon1h1zs1jgvq151\"},{\"name\":\"DESCRIPTION=\",\"aliases\":[\"DESC\"],\"description\":\"changes the description of a catalog entry by replacing it with a new description, up to 256 characters long, or by removing it altogether. You can enclose the description in single or double quotation marks.\",\"help\":\"DESCRIPTION='*entry-description*'\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1vcjq36hpygjfn1jmkgwwgfynpt\"},{\"name\":\"ENTRYTYPE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"ET=\"],\"description\":\"restricts processing to one entry type.\",\"help\":\"ENTRYTYPE=*entry-type*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0qzz9xiocsorrn1ajy3ipatavj5\"}],\"supportSiteTargetFile\":\"n1pxh4w2c17eban0zxjcmtq6z23v.htm\"},{\"name\":\"SAVE\",\"description\":\"Specifies entries not to delete from a SAS catalog.\",\"help\":\"SAVE *entry-1* &lt;*entry-2* ...&gt; &lt;/ ENTRYTYPE=*entry-type* &gt;;\",\"arguments\":[{\"name\":\"entry-1\",\"placeholder\":true,\"description\":\"specifies the name of one or more SAS catalog entries.\",\"help\":\"*entry-1 &lt;entry-2…&gt;*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n11f00j46016ygn1nfjlfeo3w3d6\"},{\"name\":\"ENTRYTYPE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"ET=\"],\"description\":\"restricts processing to one entry type.\",\"help\":\" ENTRYTYPE=*entry-type*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n19jglsutwo3tvn1aqdi4e3rt5by\"}],\"supportSiteTargetFile\":\"p1tkepjsqtdvytn1muxa1786eeoo.htm\"},{\"name\":\"SELECT\",\"description\":\"Specifies entries that the COPY statement copies.\",\"help\":\"SELECT *entry-1* &lt;*entry-2* ...&gt; &lt;/ ENTRYTYPE=*entry-type* &gt;;\",\"arguments\":[{\"name\":\"entry-1\",\"placeholder\":true,\"description\":\"specifies the name of one or more SAS catalog entries.\",\"help\":\"*entry-1 &lt;entry-2 …&gt;*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1lbo77gi4cjhsn10cw1x5joq647\"},{\"name\":\"ENTRYTYPE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"ET=\"],\"description\":\"restricts processing to one entry type.\",\"help\":\"ENTRYTYPE=*entry-type*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1bjybxjx8hsodn1a60p7gark27l\"}],\"supportSiteTargetFile\":\"p00w46qidzlhv3n1otj5a4rthbxl.htm\"},{\"name\":\"QUIT\",\"description\":\"Executes any statements that have not executed and ends the procedure.\",\"help\":\"QUIT ;\",\"supportSiteTargetFile\":\"n0bhts7ccpcc7vn14vt65ofodtya.htm\"}],\"interactive\":true,\"supportSiteInformation\":{\"docsetId\":\"proc\",\"docsetVersion\":\"v_002\",\"docsetTargetFile\":\"n11st7possem5en1vo07v2nlxg0c.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/CATMOD.json",
    "content": "{\"name\":\"CATMOD\",\"statements\":[{\"name\":\"PROC CATMOD\",\"description\":\"The CATMOD procedure performs categorical data modeling of data that can be represented by a contingency table. PROC CATMOD fits linear models to functions of response frequencies, and it can be used for linear modeling, log-linear modeling, logistic regression, and repeated measurement analysis. PROC CATMOD uses the following estimation methods: † o weighted least squares (WLS) estimation of parameters for a wide range of general linear models † o maximum likelihood (ML) estimation of parameters for log-linear models and the analysis of generalized logits † The CATMOD procedure provides a wide variety of categorical data analyses, many of which are generalizations of continuous data analysis methods. For example, analysis of variance, in the traditional sense, refers to the analysis of means and the partitioning of variation among the means into various sources. Here, the term analysis of variance is used in a generalized sense to denote the analysis of response functions and the partitioning of variation among those functions into various sources. The response functions might be mean scores if the dependent variables are ordinally scaled. But they can also be marginal probabilities, cumulative logits, or other functions that incorporate the essential information from the dependent variables. † Note:PROC CATMOD specializes in WLS modeling and analysis of a wide range of models on contingency tables. For ML modeling on standard models, especially with continuous predictors, it might be more appropriate to use a procedure such as PROC GENMOD or PROC LOGISTIC.\",\"help\":\"PROC CATMOD <DATA=SAS-data-set><NAMELEN=n><NOPRINT><ORDER=DATA | FORMATTED | FREQ... >;     \\n\\tBY <DESCENDING><NOTSORTED> ;\\n\\n\\tCONTRAST <ALPHA=value><ESTIMATE=<PARM | EXP | BOTH>> ;\\n\\n\\tDIRECT variables ;\\n\\n\\tFACTORS <PROFILE=(matrix)><_RESPONSE_=effects> ;\\n\\n\\tLOGLIN <TITLE=’title’> ;\\n\\n\\tMODEL <ADDCELL=number><ALPHA=number><AVERAGED> ...;\\n\\n\\tPOPULATION variables ;\\n\\n\\tREPEATED <PROFILE=(matrix)><TITLE=’title’><_RESPONSE_=effects> ...;\\n\\n\\tRESPONSE <ALOGIT><CLOGIT><JOINT> ...;\\n\\n\\tRESTRICT parameter=value < parameter=value> ;\\n\\n\\tWEIGHT variable;\\n\",\"arguments\":[{\"name\":\"DATA=\",\"optional\":true,\"description\":\"Names the SAS data set containing the data to be analyzed.\",\"help\":\"DATA=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"NAMELEN=\",\"optional\":true,\"description\":\"Specifies the length of effect names in tables and output data sets to be n characters long, where n is a value between 24 and 200. The default length is 24 characters.\",\"help\":\"NAMELEN=*n*\",\"type\":\"value\"},{\"name\":\"NOPRINT\",\"optional\":true,\"description\":\"Suppresses the normal display of results.\",\"type\":\"standalone\"},{\"name\":\"ORDER=\",\"optional\":true,\"description\":\"Orders the values of a group, order, or across variable according to the specified order.\",\"help\":\"ORDER=DATA | FORMATTED | FREQ | INTERNAL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DATA\",\"description\":\"Orders values according to their order in the input data set.\",\"type\":\"standalone\"},{\"name\":\"FORMATTED\",\"description\":\"Orders values by their ascending formatted values. This order depends on your operating environment.\",\"type\":\"standalone\"},{\"name\":\"FREQ\",\"description\":\"Orders values by descending frequency count so that levels with the most observations are listed first.\",\"type\":\"standalone\"},{\"name\":\"INTERNAL\",\"description\":\"Orders values by their unformatted values, which yields the same order as PROC SORT. This order depends on your operating environment.\",\"type\":\"standalone\"}]}]},{\"name\":\"BY\",\"description\":\"Obtains separate analyses on observations in groups defined by the BY variables.\",\"help\":\"BY &lt;DESCENDING&gt;&lt;NOTSORTED&gt;\",\"arguments\":[{\"name\":\"DESCENDING\",\"optional\":true,\"description\":\"Specifies that the observations are sorted in descending order by the variable that immediately follows the word DESCENDING in the BY statement.\",\"type\":\"standalone\"},{\"name\":\"NOTSORTED\",\"optional\":true,\"description\":\"Specifies that observations are not necessarily sorted in alphabetic or numeric order.\",\"type\":\"standalone\"}]},{\"name\":\"CONTRAST\",\"description\":\"where a row-description is defined as follows: <@n> effect values < <@n> effect values > The CONTRAST statement constructs and tests linear functions of the parameters in the MODEL statement or effects listed in the LOGLIN statement.\",\"help\":\"CONTRAST &lt;ALPHA=value&gt;&lt;ESTIMATE=&lt;PARM | EXP | BOTH&gt;&gt;\",\"arguments\":[{\"name\":\"ALPHA=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the significance level of the confidence interval for each contrast when the ESTIMATE= option is specified. The default is ALPHA=0.05, resulting in a 95% confidence interval for each contrast.\",\"help\":\"ALPHA=*value*\",\"type\":\"value\"},{\"name\":\"ESTIMATE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that each individual contrast or exponentiated contrast be estimated and tested.\",\"help\":\"ESTIMATE=PARM | EXP | BOTH\",\"type\":\"choice\",\"arguments\":[{\"name\":\"PARM\",\"followsDelimiter\":\"/\",\"description\":\"Specifies that the contrast itself be estimated.\",\"type\":\"standalone\"},{\"name\":\"EXP\",\"followsDelimiter\":\"/\",\"description\":\"Specifies that the exponentiated contrast be estimated.\",\"type\":\"standalone\"},{\"name\":\"BOTH\",\"followsDelimiter\":\"/\",\"description\":\"Specifies that both the contrast and the exponentiated contrast be estimated.\",\"type\":\"standalone\"}]}]},{\"name\":\"DIRECT\",\"description\":\"The DIRECT statement lists numeric independent variables to be treated in a quantitative, rather than qualitative, way. The DIRECT statement is useful for logistic regression.\",\"help\":\"DIRECT variables \"},{\"name\":\"FACTORS\",\"aliases\":[\"FACTOR\",\"REPEATED\"],\"description\":\"where a factor-description is defined as follows: factor-name <$><levels> and factor-descriptions are separated from each other by a comma. The $ is required for character-valued factors. The value of levels provides the number of levels of the factor identified by a given factor-name. For only one factor, levels is optional; for two or more factors, it is required. The FACTORS statement identifies factors that distinguish response functions from others in the same population.\",\"help\":\"FACTORS &lt;PROFILE=(matrix)&gt;&lt;_RESPONSE_=effects&gt;\",\"arguments\":[{\"name\":\"PROFILE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the values assumed by the factors for each response function.\",\"type\":\"value\"},{\"name\":\"_RESPONSE_=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies design effects. The variables named in the effects must be factor-names that appear in the FACTORS statement.\",\"help\":\"_RESPONSE_=*effects*\",\"type\":\"value\"}]},{\"name\":\"LOGLIN\",\"description\":\"The LOGLIN statement is used to define log-linear model effects. It can be used whenever the default response functions (generalized logits) are used.\",\"help\":\"LOGLIN &lt;TITLE=’title’&gt;\",\"arguments\":[{\"name\":\"TITLE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays the title at the top of certain pages of output that correspond to this LOGLIN statement.\",\"type\":\"value\"}]},{\"name\":\"MODEL\",\"description\":\"\",\"help\":\"MODEL &lt;ADDCELL=number&gt;&lt;ALPHA=number&gt;&lt;AVERAGED&gt; ...\",\"arguments\":[{\"name\":\"ADDCELL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Adds number to the frequency count in each cell, where number is any positive number.\",\"help\":\"ADDCELL=*number*\",\"type\":\"value\"},{\"name\":\"ALPHA=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Sets the significance level for the Wald confidence intervals for parameter estimates. The value must be between 0 and 1. The default value of 0.05 results in the calculation of a 95% confidence interval.\",\"help\":\"ALPHA=*number*\",\"type\":\"value\"},{\"name\":\"AVERAGED\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies that dependent variable effects can be modeled and that independent variable main effects are averaged across the response functions in a population.\",\"type\":\"standalone\"},{\"name\":\"CLPARM\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Produces Wald confidence limits for the parameter estimates. The confidence coefficient can be specified with the ALPHA= option.\",\"type\":\"standalone\"},{\"name\":\"CORRB\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays the estimated correlation matrix of the parameter estimates.\",\"type\":\"standalone\"},{\"name\":\"COV\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays Si, which is the covariance matrix of the response functions for each population.\",\"type\":\"standalone\"},{\"name\":\"COVB\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays the estimated covariance matrix of the parameter estimates.\",\"type\":\"standalone\"},{\"name\":\"DESIGN\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays the design matrix X for WLS and ML analyses, and also displays the _RESPONSE_ matrix for log-linear models.\",\"type\":\"standalone\"},{\"name\":\"EPSILON=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the convergence criterion for the maximum likelihood estimation of the parameters.\",\"help\":\"EPSILON=*number*\",\"type\":\"value\"},{\"name\":\"FREQ\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Produces the two-way frequency table for the cross-classification of populations by responses.\",\"type\":\"standalone\"},{\"name\":\"ITPRINT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays parameter estimates and other information at each iteration of a maximum likelihood analysis.\",\"type\":\"standalone\"},{\"name\":\"MAXITER=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the maximum number of iterations used for the maximum likelihood estimation of the parameters. By default, MAXITER=20.\",\"help\":\"MAXITER=*number*\",\"type\":\"value\"},{\"name\":\"MISSING=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"MISS=\"],\"description\":\"Specifies whether a missing cell is treated as a sampling or structural zero.\",\"help\":\"MISSING=STRUCTURAL | SAMPLING | &lt;*value*&gt;\",\"type\":\"choice\",\"arguments\":[{\"name\":\"STRUCTURAL\",\"followsDelimiter\":\"/\",\"description\":\"Structural zeros for one population; sampling zeros for multiple populations. This is the default.\",\"type\":\"standalone\"},{\"name\":\"SAMPLING\",\"followsDelimiter\":\"/\",\"aliases\":[\"SAMP\"],\"description\":\"Sampling zeros for one or multiple populations.\",\"type\":\"standalone\"},{\"name\":\"value\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"Sets missing weights and cells to value for one or multiple populations.\",\"type\":\"standaloneOrValue\"}]},{\"name\":\"ML=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Computes maximum likelihood estimates (MLE) by using either a Newton-Raphson algorithm (NR) or an iterative proportional fitting algorithm (IPF). You can specify the following ipf-options within parentheses after the ML=IPF option. CONVCRIT=keyword specifies the method that determines when convergence of the IPF algorithm occurs. You can specify one of the following keywords: CELL termination requires the maximum absolute difference between consecutive cell estimates to be less than 0.001 (or the value of the EPSILON= option, if specified). LOGL termination requires the relative difference between consecutive estimates of the log likelihood to be less than 1E–8 (or the value of the EPSILON= option, if specified). This is the default. MARGIN termination requires the maximum absolute difference between consecutive margin estimates to be less than 0.001 (or the value of the EPSILON= option, if specified). DF=keyword specifies the method used to compute the degrees of freedom for the goodness-of-fit G-square test . You can specify one of the following keywords: UNADJ computes the unadjusted degrees of freedom as nc-np. ADJ computes the degrees of freedom as (nc-np)-(nz-nn). ADJEST computes the degrees of freedom as , which adjusts for fitted zeros only.\",\"help\":\"ML=NR | IPF\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NR\",\"followsDelimiter\":\"/\",\"description\":\"Computes maximum likelihood estimates (MLE) by using a Newton-Raphson algorithm (NR). This option is available when you use generalized logits, and also when you perform binary logistic regression with logits, cumulative logits, or adjacent category logits.\",\"type\":\"standalone\"},{\"name\":\"IPF\",\"followsDelimiter\":\"/\",\"description\":\"[Syntax: IPF<(ipf-options)>] Computes maximum likelihood estimates (MLE) by using an iterative proportional fitting algorithm (IPF). This option is available for fitting a hierarchical log-linear model with one population (no independent variables and no population variables).\",\"type\":\"standalone\"}]},{\"name\":\"NODESIGN\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Suppresses the display of the design matrix X when the DESIGN option is also specified. This enables you to display only the _RESPONSE_ matrix for log-linear models.\",\"type\":\"standalone\"},{\"name\":\"NOINT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Suppresses the intercept term in the model.\",\"type\":\"standalone\"},{\"name\":\"NOITER\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Suppresses the display of parameter estimates and other information at each iteration of a maximum likelihood analysis.\",\"type\":\"standalone\"},{\"name\":\"NOPARM\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Suppresses the display of the estimated parameters and the statistics for testing that each parameter is zero.\",\"type\":\"standalone\"},{\"name\":\"NOPREDVAR\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Suppresses the display of the variable levels in tables requested with the PRED= option and in the \\\"Estimates\\\" table. Population profiles are replaced with the sample number, classification variable levels are suppressed, and response profiles are replaced with a function number.\",\"type\":\"standalone\"},{\"name\":\"NOPRINT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Suppresses the normal display of results. The NOPRINT option is useful when you only want to create output data sets with the OUT= or OUTEST= option in the RESPONSE statement.\",\"type\":\"standalone\"},{\"name\":\"NOPROFILE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Suppresses the display of the population profiles and the response profiles.\",\"type\":\"standalone\"},{\"name\":\"NORESPONSE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Suppresses the display of the _RESPONSE_ matrix for log-linear models when the DESIGN option is also specified. This enables you to display only the design matrix for log-linear models.\",\"type\":\"standalone\"},{\"name\":\"ONEWAY\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Produces a one-way table of frequencies for each variable used in the analysis. This table is useful in determining the order of the observed levels for each variable.\",\"type\":\"standalone\"},{\"name\":\"PARAM=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the parameterization method for the classification variable or variables.\",\"help\":\"PARAM=EFFECT | REFERENCE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"EFFECT\",\"followsDelimiter\":\"/\",\"description\":\"Uses the EFFECT parameterization method\",\"type\":\"standalone\"},{\"name\":\"REFERENCE\",\"followsDelimiter\":\"/\",\"description\":\"Uses the REFERENCE parameterization method\",\"type\":\"standalone\"}]},{\"name\":\"PREDICT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"PRED=\"],\"description\":\"Displays the observed and predicted values of the response functions for each population, together with their standard errors and the residuals (observed minus predicted).\",\"help\":\"PREDICT=FREQ | PROB\",\"type\":\"choice\",\"arguments\":[{\"name\":\"FREQ\",\"followsDelimiter\":\"/\",\"description\":\"Specifies the computation and display of predicted cell frequencies\",\"type\":\"standalone\"},{\"name\":\"PROB\",\"followsDelimiter\":\"/\",\"description\":\"Specifies the computation and display of predicted cell probabilities.\",\"type\":\"standalone\"}]},{\"name\":\"PROB\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Produces the two-way table of probability estimates for the cross-classification of populations by responses. These estimates sum to one across the response categories for each population.\",\"type\":\"standalone\"},{\"name\":\"PROFILE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays all of the population profiles. If you have more than 60 populations, then by default only the first 40 profiles are displayed; the PROFILE option overrides this default behavior.\",\"type\":\"standalone\"},{\"name\":\"TITLE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays the title at the top of certain pages of output that correspond to this MODEL statement.\",\"type\":\"value\"},{\"name\":\"WLS\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"GLS\"],\"description\":\"Computes weighted least squares estimates.\",\"type\":\"standalone\"},{\"name\":\"XPX\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays X'S⁻¹X, the crossproducts matrix for the normal equations.\",\"type\":\"standalone\"},{\"name\":\"ZERO=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies whether a missing cell is treated as a sampling or structural zero.\",\"help\":\"ZERO=STRUCTURAL | SAMPLING | &lt;*value*&gt;\",\"type\":\"choice\",\"arguments\":[{\"name\":\"STRUCTURAL\",\"followsDelimiter\":\"/\",\"description\":\"Structural zeros for one population; sampling zeros for multiple populations.\",\"type\":\"standalone\"},{\"name\":\"SAMPLING\",\"followsDelimiter\":\"/\",\"aliases\":[\"SAMP\"],\"description\":\"Sampling zeros for one or multiple populations.\",\"type\":\"standalone\"},{\"name\":\"value\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"Sets zero weights to value for one or multiple populations.\",\"type\":\"standaloneOrValue\"}]}]},{\"name\":\"POPULATION\",\"description\":\"The POPULATION statement specifies that populations are to be based only on cross-classifications of the specified variables.\",\"help\":\"POPULATION variables \"},{\"name\":\"REPEATED\",\"description\":\"where a factor-description is defined as follows: factor-name <$><levels> and factor-descriptions are separated from each other by a comma. The $ is required for character-valued factors. The value of levels provides the number of levels of the repeated measurement factor identified by a given factor-name. For only one repeated measurement factor, levels is optional; for two or more repeated measurement factors, it is required. The REPEATED statement incorporates repeated measurement factors into the model.\",\"help\":\"REPEATED &lt;PROFILE=(matrix)&gt;&lt;TITLE=’title’&gt;&lt;_RESPONSE_=effects&gt; ...\",\"arguments\":[{\"name\":\"PROFILE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the values assumed by the factors for each response function.\",\"type\":\"value\"},{\"name\":\"TITLE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays the title at the top of certain pages of output that correspond to this REPEATED statement.\",\"type\":\"value\"},{\"name\":\"_RESPONSE_=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies design effects. The variables named in the effects must be factor-names that appear in the REPEATED statement.\",\"help\":\"_RESPONSE_=*effects*\",\"type\":\"value\"}]},{\"name\":\"RESPONSE\",\"description\":\"The RESPONSE statement specifies functions of the response probabilities. The procedure models these response functions as linear combinations of the parameters.\",\"help\":\"RESPONSE &lt;ALOGIT&gt;&lt;CLOGIT&gt;&lt;JOINT&gt; ...\",\"arguments\":[{\"name\":\"ALOGIT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies response functions as adjacent-category logits of the marginal probabilities for each of the dependent variables.\",\"type\":\"standalone\"},{\"name\":\"CLOGIT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies that the response functions are cumulative logits of the marginal probabilities for each of the dependent variables.\",\"type\":\"standalone\"},{\"name\":\"JOINT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies that the response functions are the joint response probabilities. A linearly independent set is created by deleting the last response probability. For the case of one dependent variable, the JOINT and MARGINALS specifications are equivalent.\",\"type\":\"standalone\"},{\"name\":\"LOGIT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies that the response functions are generalized logits of the marginal probabilities for each of the dependent variables.\",\"type\":\"standalone\"},{\"name\":\"MARGINAL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies that the response functions are marginal probabilities for each of the dependent variables in the MODEL statement.\",\"type\":\"standalone\"},{\"name\":\"MEAN\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies that the response functions are the means of the dependent variables in the MODEL statement. This specification requires that all of the dependent variables be numeric.\",\"type\":\"standalone\"},{\"name\":\"OUT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Produces a SAS data set that contains, for each population, the observed and predicted values of the response functions, their standard errors, and the residuals.\",\"help\":\"OUT=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"OUTEST=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Produces a SAS data set that contains the estimated parameter vector and its estimated covariance matrix.\",\"help\":\"OUTEST=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"READ\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies that the response functions and their covariance matrix are to be read directly from the input data set with one response function for each variable named.\",\"type\":\"standalone\"},{\"name\":\"TITLE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays the title at the top of certain pages of output that correspond to this RESPONSE statement.\",\"type\":\"value\"}]},{\"name\":\"RESTRICT\",\"description\":\"where parameter is the letter B followed by a number; for example, B3 specifies the third parameter in the model. The value is the value to which the parameter is restricted. The RESTRICT statement restricts values of parameters to the values you specify, so that the estimation of the remaining parameters is subject to these restrictions.\",\"help\":\"RESTRICT parameter=value &lt; parameter=value&gt; \"},{\"name\":\"WEIGHT\",\"aliases\":[\"WEIGHTS\"],\"description\":\"You can use a WEIGHT statement to refer to a variable containing the cell frequencies, which do not need to be integers. The WEIGHT statement lets you use summary data sets containing a count variable.\",\"help\":\"WEIGHT variable\"}],\"supportSiteInformation\":{\"docsetId\":\"statug\",\"docsetVersion\":\"latest\",\"docsetTargetFile\":\"statug_catmod_toc.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/CATTRANSFORM.json",
    "content": "{\"name\":\"CATTRANSFORM\",\"statements\":[{\"name\":\"PROC CATTRANSFORM\",\"description\":\"The CATTRANSFORM procedure transforms categorical variables in SAS Viya. It supports binning and encoding methods that are commonly performed as part of the data preprocessing step in creating machine learning models.\",\"help\":\"PROC CATTRANSFORM <options>;                 \\n\\tCODE  FILE=filename;                 \\n\\n\\tFREQ  variable;                 \\n\\n\\tINPUT  variables ;                 \\n\\n\\tMETHOD  method(<options>);                 \\n\\n\\tOUTPUT  OUT=libref.data-table<option>;                 \\n\\n\\tSAVESTATE  RSTORE=libref.data-table;                 \\n\\n\\tTARGET  variable / LEVEL=INTERVAL | NOMINAL <option>;                 \\n\\n\\tWEIGHT  variable;                 \\n\",\"arguments\":[{\"name\":\"BINMISSING\",\"optional\":true,\"description\":\"places missing values into a separate bin whose bin ID value is 0\",\"type\":\"standalone\"},{\"name\":\"DATA=\",\"optional\":true,\"description\":\"names the input data table for PROC CATTRANSFORM to use\",\"help\":\"DATA=*libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"DISTINCTCOUNTLIMIT=\",\"optional\":true,\"description\":\"specifies the maximum level limit\",\"help\":\"DISTINCTCOUNTLIMIT=*integer*\",\"type\":\"value\"},{\"name\":\"EVALUATIONSTATS{\",\"optional\":true,\"description\":\"requests evaluation statistics about the transformed variables\",\"help\":\"EVALUATIONSTATS{(*options*)}\",\"type\":\"value\",\"arguments\":[{\"name\":\"WOEADJUST=\",\"description\":\"specifies the weight-of-evidence adjustment value\",\"help\":\"WOEADJUST=*number*\",\"type\":\"value\"},{\"name\":\"WOEDEFINITION=\",\"description\":\"specifies the weight-of-evidence definition\",\"help\":\"WOEDEFINITION=EVENT | NONEVENT\",\"type\":\"choice\"}]},{\"name\":\"MISSINGEVALNONEVENT\",\"optional\":true,\"description\":\"treats missing targets as nonevents\",\"type\":\"standalone\"},{\"name\":\"NBINS=\",\"optional\":true,\"description\":\"specifies the number of bins for all input variables\",\"help\":\"NBINS=*integer*\",\"type\":\"value\"},{\"name\":\"OUTLEVELBINMAP=\",\"optional\":true,\"description\":\"saves the bin mapping information to a data table\",\"help\":\"OUTLEVELBINMAP=*libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"PREFIX=\",\"optional\":true,\"description\":\"specifies the prefix for the transformed variables\",\"help\":\"PREFIX=\\\"*string*\\\"\",\"type\":\"value\"},{\"name\":\"PREPROCESSRARE\",\"optional\":true,\"description\":\"groups levels whose frequency percentages are 5% or less with the next least frequent level until all percentages are greater than 5% before implementing the specified method\",\"type\":\"standalone\"}]},{\"name\":\"CODE\",\"description\":\"generates scoring code and saves it in a file that you can include in a SAS DATA step\",\"help\":\"CODE  FILE=*filename*;                                              \",\"arguments\":[{\"name\":\"FILE=\",\"description\":\"specifies the name of the file to write the SAS scoring code to\",\"help\":\"FILE=*filename*\",\"type\":\"value\"}]},{\"name\":\"FREQ\",\"description\":\"identifies a numeric variable in the input data table that contains the frequency of occurrence of each observation\",\"help\":\"FREQ  variable;                                              \"},{\"name\":\"INPUT\",\"description\":\"specifies one or more variables as input for binning or encoding\",\"help\":\"INPUT  variables ;                                              \"},{\"name\":\"METHOD\",\"description\":\"specifies the binning or encoding method and any associated options\",\"help\":\"METHOD  method(&lt;options&gt;);                                              \",\"arguments\":[{\"name\":\"GROUPRARE\",\"optional\":true,\"description\":\"groups levels that have a rare frequency or percentage with the next least frequent level until a threshold has been satisfied for all levels\",\"help\":\"GROUPRARE(*options*)\",\"type\":\"value\",\"arguments\":[{\"name\":\"RARETHRESHOLD=\",\"description\":\"specifies the rare frequency threshold where levels whose frequencies are less than or equal to the threshold are grouped with the next least-frequent level\",\"help\":\"RARETHRESHOLD=*integer*\",\"type\":\"value\"},{\"name\":\"RARETHRESHOLDPERCENT=\",\"description\":\"specifies the rare threshold percentage where levels whose percentages are less than or equal to the threshold are grouped with the next least-frequent level\",\"help\":\"RARETHRESHOLDPERCENT=*number*\",\"type\":\"value\"}]},{\"name\":\"ONEHOT\",\"optional\":true,\"description\":\"uses one-hot encoding of the input variables\",\"type\":\"standalone\"},{\"name\":\"TREE\",\"optional\":true,\"description\":\"uses the supervised tree-based binning method\",\"help\":\"TREE(*options*)\",\"type\":\"value\",\"arguments\":[{\"name\":\"CRITERIA=\",\"description\":\"specifies the tree criteria\",\"help\":\"CRITERIA=GAIN | GAINRATIO | GINI | SSE\",\"type\":\"choice\"},{\"name\":\"MAXNBINS=\",\"description\":\"specifies the maximum number of bins\",\"help\":\"MAXNBINS=*integer*\",\"type\":\"value\"},{\"name\":\"MINNBINS=\",\"description\":\"specifies the minimum number of bins\",\"help\":\"MINNBINS=*integer*\",\"type\":\"value\"},{\"name\":\"MINNOBSINBIN=\",\"description\":\"specifies the minimum number of observations to include in a bin\",\"help\":\"MINNOBSINBIN=*integer*\",\"type\":\"value\"},{\"name\":\"MINPERNOBSINBIN=\",\"description\":\"specifies the minimum percentage of observations to include in a bin\",\"help\":\"MINPERNOBSINBIN=*number*\",\"type\":\"value\"}]},{\"name\":\"WOE\",\"optional\":true,\"description\":\"uses the supervised weight-of-evidence (WOE) binning method\",\"help\":\"WOE(*options*)\",\"type\":\"value\",\"arguments\":[{\"name\":\"MAXNBINS=\",\"description\":\"specifies the maximum number of bins\",\"help\":\"MAXNBINS=*integer*\",\"type\":\"value\"},{\"name\":\"MINNBINS=\",\"description\":\"specifies the minimum number of bins\",\"help\":\"MINNBINS=*integer*\",\"type\":\"value\"},{\"name\":\"MINNOBSINBIN=\",\"description\":\"specifies the minimum number of observations to include in a bin\",\"help\":\"MINNOBSINBIN=*integer*\",\"type\":\"value\"},{\"name\":\"MINPERNOBSINBIN=\",\"description\":\"specifies the minimum percentage of observations to include in a bin\",\"help\":\"MINPERNOBSINBIN=*number*\",\"type\":\"value\"}]}]},{\"name\":\"OUTPUT\",\"description\":\"creates an output data table that contains the transformed variables\",\"help\":\"OUTPUT  OUT=*libref.data-table*&lt;option&gt;;                                              \",\"arguments\":[{\"name\":\"OUT=\",\"description\":\"names the output data table for PROC CATTRANSFORM to use\",\"help\":\"OUT=*libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"COPYVAR=\",\"optional\":true,\"aliases\":[\"COPYVARS=\"],\"description\":\"copies one or more variables from the input data table to the output data table\",\"help\":\"COPYVAR={*variable*}\",\"type\":\"value\"}]},{\"name\":\"SAVESTATE\",\"description\":\"creates an analytic store for the model and saves it as a binary object in a data table\",\"help\":\"SAVESTATE  RSTORE=*libref.data-table*;                                              \",\"arguments\":[{\"name\":\"RSTORE=\",\"description\":\"specifies a data table in which to save the analytic store for the model\",\"help\":\"RSTORE=*libref.data-table*\",\"type\":\"dataSet\"}]},{\"name\":\"TARGET\",\"description\":\"names the target variable to use in the supervised tree-based and weight-of-evidence binning methods\",\"help\":\"TARGET  variable / LEVEL=INTERVAL | NOMINAL &lt;option&gt;;                                              \",\"arguments\":[{\"name\":\"EVENT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the event of a nominal target for calculating binary target statistics, which are Gini, weight of evidence, and information value\",\"help\":\"EVENT=\\\"*string*\\\"\",\"type\":\"value\"}]},{\"name\":\"WEIGHT\",\"description\":\"variable is used to weight each observation to perform a weighted analysis of the data\",\"help\":\"WEIGHT  variable;                                              \"}],\"supportSiteInformation\":{\"docsetId\":\"casstat\",\"docsetVersion\":\"latest\",\"docsetTargetFile\":\"casstat_cattransform_toc.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/CAUSALDISCOVERY.json",
    "content": "{\"name\":\"CAUSALDISCOVERY\",\"statements\":[{\"name\":\"PROC CAUSALDISCOVERY\",\"description\":\"The PROC CAUSALDISCOVERY and VAR statements are required. Note that the procedure does nothing if you do not specify a SIMULATE, LEARN, or EVALUATE statement. By default, the procedure uses output tables from one statement as input for another statement when you specify any of these three statements together. If you specify an input table in the Omitted Options column, it is ignored unless it existed on the libref before the procedure call.The directed acyclic graph (DAG) is critical for causal inference, which has been widely applied in many fields, including machine learning, artificial intelligence (AI), economics, finance, medicine, and so on. However, usually the structure of a DAG must be provided by experts, because learning the structure of a DAG is a well-known NP-hard problem. The CAUSALDISCOVERY procedure performs DAG structure learning by using the topological order permutation (TOP) algorithm, which is fast and accurate; it can reach 100% accuracy in many cases, even when there are hundreds of variables.\",\"help\":\"PROC CAUSALDISCOVERY \\n\\tDISPLAY <table-list ><options>;\\n\\n\\tDISPLAYOUT table-spec-list<options>\\n\\n\\tEVALUATE <ESTDAG=libref.data-table<TRUEDAG=libref.data-table>><options>;\\n\\n\\tLEARN <DATA=libref.data-table<OUTDAG=libref.data-table>><options>\\n\\n\\tSIMULATE <OUT=libref.data-table<OUTDATA=libref.data-table>><options>\\n\\n\\tVAR <variable-list>\\n\"},{\"name\":\"DISPLAY\",\"description\":\"The DISPLAY statement enables you to specify a list of display tables to display or exclude. This statement is similar to the ODS SELECT, ODS EXCLUDE, and ODS TRACE statements. However, the DISPLAY statement can improve performance when a large number of tables could be generated (such as in BY-group processing). The DISPLAY statement produces only the requested tables, but ODS statements generate all the tables and then keep the requested tables.\",\"help\":\"DISPLAY  &lt;table-list&gt; &lt;/ options&gt;;\",\"arguments\":[{\"name\":\"table-list\",\"placeholder\":true,\"description\":\"You can specify the table-list as a list of table names, paths, partial pathnames, and regular expressions.\",\"type\":\"dataSet\"},{\"name\":\"CASESENSITIVE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"performs a case-sensitive comparison of table names in the table-list to display table names when tables are subsetted for display. To preserve case, you must enclose table names in the table-list in quotation marks.\",\"type\":\"standalone\"},{\"name\":\"EXCLUDE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"displays all display tables except those that you specify in the table-list.\",\"type\":\"standalone\"},{\"name\":\"EXCLUDEALL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses display of all tables. This option takes precedence over the other options.\",\"type\":\"standalone\"},{\"name\":\"TRACE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"displays the display table names, labels, and paths.\",\"type\":\"standalone\"}]},{\"name\":\"DISPLAYOUT\",\"description\":\"The DISPLAYOUT statement enables you to create output tables from your displayed output. This statement is similar to the ODS OUTPUT statement.\",\"help\":\"DISPLAYOUT  table-spec-list &lt;/ options&gt;;\",\"arguments\":[{\"name\":\"table-spec-list\",\"placeholder\":true,\"description\":\"The table-spec-list specifies a list of output tables to create. Each entry in the list has either a key=value format or a key format: key=value specifies key as the ODS table name, path, or partial pathname, and specifies value as the output table name. key specifies key as the ODS table name and also as the output table name.\",\"type\":\"dataSet\"},{\"name\":\"CASESENSITIVE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"performs a case-sensitive comparison of table names in the table-list to display table names when tables are subsetted for display. To preserve case, you must enclose table names in the table-list in quotation marks.\",\"type\":\"standalone\"},{\"name\":\"INCLUDEALL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"creates output tables for all display tables. The name of the created output table is the same as the name of the corresponding display table. If you specify this option, the table-spec-list specification is ignored.\",\"type\":\"standalone\"},{\"name\":\"NOREPLACE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"does not replace any existing output table of the same name.\",\"type\":\"standalone\"}]},{\"name\":\"EVALUATE\",\"description\":\"The EVALUATE statement specifies the options that are related to the accuracy evaluation of the DAG structure learning.\",\"help\":\"EVALUATE  &lt;ESTDAG=libref.data-table&gt; &lt;TRUEDAG=libref.data-table&gt; &lt;/ options&gt;;\",\"arguments\":[{\"name\":\"ESTDAG=\",\"optional\":true,\"description\":\"specifies the input data table that contains the adjacency matrix for the estimated DAGs. If you specify both the EVALUATE and LEARN statements, you should specify the OUTDAG= option table in the LEARN statement but not specify the ESTDAG= option table in the EVALUATE statement. This is because the OUTDAG= output table is used as the ESTDAG= input table in the EVALUATE statement. libref.data-table is a two-level name, where libref refers to the library, and data-table specifies the name of the input data table.\",\"help\":\"ESTDAG=*libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"ESTADJ=\",\"optional\":true,\"description\":\"specifies the input data table that contains the adjacency matrix for the estimated DAGs. If you specify both the EVALUATE and LEARN statements, you should specify the OUTDAG= option table in the LEARN statement but not specify the ESTDAG= option table in the EVALUATE statement. This is because the OUTDAG= output table is used as the ESTDAG= input table in the EVALUATE statement. libref.data-table is a two-level name, where libref refers to the library, and data-table specifies the name of the input data table.\",\"help\":\"ESTADJ=*libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"TRUEDAG=\",\"optional\":true,\"description\":\"specifies the input data table that contains the adjacency matrix for the true DAG. If you specify both the EVALUATE and SIMULATE statements, you should specify the OUT= option table in the SIMULATE statement but not specify the TRUEDAG= option table in the EVALUATE statement. This is because the OUT= output table is used as the TRUEDAG= input table in the EVALUATE statement. libref.data-table is a two-level name, where libref refers to the library, and data-table specifies the name of the input data table.\",\"help\":\"TRUEDAG= *libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"TRUEDAJ=\",\"optional\":true,\"description\":\"specifies the input data table that contains the adjacency matrix for the true DAG. If you specify both the EVALUATE and SIMULATE statements, you should specify the OUT= option table in the SIMULATE statement but not specify the TRUEDAG= option table in the EVALUATE statement. This is because the OUT= output table is used as the TRUEDAG= input table in the EVALUATE statement. libref.data-table is a two-level name, where libref refers to the library, and data-table specifies the name of the input data table.\",\"help\":\"TRUEDAJ= *libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"OUT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"writes the accuracy metrics to the specified output data table. libref.data-table is a two-level name, where libref refers to the library, and data-table specifies the name of the output data table.\",\"help\":\"OUT=*libref.data-table*\",\"type\":\"dataSet\"}]},{\"name\":\"LEARN\",\"description\":\"The LEARN statement specifies the options that are related to the DAG structure learning.\",\"help\":\"LEARN  &lt;DATA=libref.data-table&gt; &lt;OUTDAG=libref.data-table&gt; &lt;/ options&gt;;\",\"arguments\":[{\"name\":\"DATA=\",\"optional\":true,\"description\":\"specifies the input data table. If you specify both the LEARN and SIMULATE statements, you should specify the OUTDATA= option table in the SIMULATE statement but not specify the DATA= option table in the LEARN statement. This is because the OUTDATA= output table is used as the DATA= input table in the LEARN statement.\",\"help\":\"DATA=*libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"OUTDAG=\",\"optional\":true,\"description\":\"writes the estimated DAGs to the specified output data table. You must specify this option if you also specify the EVALUATE statement; this table is then used as the ESTDAG= input table in the EVALUATE statement. libref.data-table is a two-level name, where libref refers to the library, and data-table specifies the name of the output data table.\",\"help\":\"OUTDAG=*libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"ALGORITHM=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the DAG structure learning algorithm, by default, ALGORITHM=TOP.\",\"type\":\"value\",\"arguments\":[{\"name\":\"MCV\",\"followsDelimiter\":\"/\",\"description\":\"specifies the minimizing conditional variance (MCV) algorithm.\",\"type\":\"standalone\"},{\"name\":\"TOP\",\"followsDelimiter\":\"/\",\"description\":\"specifies the topological order permutation (TOP) algorithm.\",\"type\":\"standalone\"}]},{\"name\":\"ALPHA=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the significance level on whose basis the edges in the DAG are determined. If you specify a number-list, several DAGs are included in the OUTDAG= option table, one for each value in the number-list. The number and all numbers in the number-list must be between 0 and 1. By default, ALPHA=0.000001.\",\"help\":\"ALPHA=*number*\",\"type\":\"value\"},{\"name\":\"GPU\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that the DAG structure learning algorithm perform calculations by using graphics processing unit (GPU) hardware. When ALGORITHM=MCV, this option is ignored.\",\"type\":\"standalone\"},{\"name\":\"INITMETHOD=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the method to use for determining the initial topological order, by default, INITMETHOD=VARIANCE.\",\"type\":\"value\",\"arguments\":[{\"name\":\"DATA\",\"followsDelimiter\":\"/\",\"description\":\"matches the order of the variables in the VAR statement.\",\"type\":\"standalone\"},{\"name\":\"RANDOM\",\"followsDelimiter\":\"/\",\"description\":\"determines the order randomly.\",\"type\":\"standalone\"},{\"name\":\"VARIANCE\",\"followsDelimiter\":\"/\",\"description\":\"determines the order by using the ascending order of variance of variables in the VAR statement.\",\"type\":\"standalone\"}]},{\"name\":\"MAXITER=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the maximum number of iterations. The number must be a nonnegative integer. By default, MAXITER=200.\",\"help\":\"MAXITER=*number*\",\"type\":\"value\"},{\"name\":\"OUT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"writes the initial and final topological orders, as well as the matrices of parameter estimates, standard errors, t values, and p-values to the specified output data table. libref.data-table is a two-level name, where libref refers to the library, and data-table specifies the name of the output data table.\",\"help\":\"OUT=*libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"OUTITERHIST=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"writes the iteration history to the specified output data table. libref.data-table is a two-level name, where libref refers to the library, and data-table specifies the name of the output data table.\",\"help\":\"OUTITERHIST=*libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"OUTITER=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"writes the iteration history to the specified output data table. libref.data-table is a two-level name, where libref refers to the library, and data-table specifies the name of the output data table.\",\"help\":\"OUTITER=*libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"OUTPATH=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"writes the parents and children of variables and paths of the estimated DAGs to the specified output data table.libref.data-table is a two-level name, where libref refers to the library, and data-table specifies the name of the output data table.\",\"help\":\"OUTPATH=*libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"OUTP=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"writes the parents and children of variables and paths of the estimated DAGs to the specified output data table.libref.data-table is a two-level name, where libref refers to the library, and data-table specifies the name of the output data table.\",\"help\":\"OUTP=*libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"SEED=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the random number seed value for the random number generator. If the seed value is 0, a random number stream is generated by using the time of day from the computer’s clock. Seed values greater than 0 generate reproducible random number sequences. By default, SEED=1.\",\"help\":\"SEED=*number*\",\"type\":\"value\"}]},{\"name\":\"SIMULATE\",\"description\":\"TThe SIMULATE statement specifies the options to be used to first simulate a DAG and then generate the observations from the simulated DAG.\",\"help\":\"SIMULATE  &lt;OUT=libref.data-table&gt; &lt;OUTDATA=libref.data-table&gt; &lt;/ options&gt;;\",\"arguments\":[{\"name\":\"OUT=\",\"optional\":true,\"description\":\"writes the simulated DAG to the specified output data table. You must specify this option if you also specify the EVALUATE statement; this table is then used as the TRUEDAG= input table in the EVALUATE statement. libref.data-table is a two-level name, where libref refers to the library, and data-table specifies the name of the output data table.\",\"help\":\"OUT=*libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"OUTDAG=\",\"optional\":true,\"description\":\"writes the simulated DAG to the specified output data table. You must specify this option if you also specify the EVALUATE statement; this table is then used as the TRUEDAG= input table in the EVALUATE statement. libref.data-table is a two-level name, where libref refers to the library, and data-table specifies the name of the output data table.\",\"help\":\"OUTDAG=*libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"OUTDATA=\",\"optional\":true,\"description\":\"writes the simulated data to the specified output data table. You must specify this option if you also specify the LEARN statement; this table is then used as the DATA= input table in the LEARN statement. libref.data-table is a two-level name, where libref refers to the library, and data-table specifies the name of the output data table.\",\"help\":\"OUTDATA=*libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"NEDGES=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the number of edges in the DAG. The number must be a nonnegative integer. By default, NEDGES=min(d(d-1)/2, 2d), where d is the number of nodes or variables.\",\"help\":\"NEDGES=*number*\",\"type\":\"value\"},{\"name\":\"E=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the number of edges in the DAG. The number must be a nonnegative integer. By default, NEDGES=min(d(d-1)/2, 2d), where d is the number of nodes or variables.\",\"help\":\"E=*number*\",\"type\":\"value\"},{\"name\":\"NOBS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the number of observations in the OUTDATA= option table. The number must be a positive integer. By default, NOBS=10000.\",\"help\":\"NOBS=*number*\",\"type\":\"value\"},{\"name\":\"N=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the number of observations in the OUTDATA= option table. The number must be a positive integer. By default, NOBS=10000.\",\"help\":\"N=*number*\",\"type\":\"value\"},{\"name\":\"SAMPLESIZE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the number of observations in the OUTDATA= option table. The number must be a positive integer. By default, NOBS=10000.\",\"help\":\"SAMPLESIZE=*number*\",\"type\":\"value\"},{\"name\":\"NOISE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies how the noise terms in the structural causal model are generated.\",\"help\":\"NOISE(DIST=*distribution*)\",\"type\":\"value\",\"arguments\":[{\"name\":\"DIST=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the distribution.\",\"help\":\"DIST=*distribution*\",\"type\":\"value\",\"arguments\":[{\"name\":\"GAUSSIAN\",\"followsDelimiter\":\"/\",\"description\":\"specifies the Gaussian distribution for the noise. You can specify the STD= option or the VAR= option, but not both.\",\"help\":\"GAUSSIAN(*gaussian-options*)\",\"type\":\"value\",\"arguments\":[{\"name\":\"MEAN=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the mean for the distribution. By default, MEAN=0.\",\"help\":\"MEAN=*number*\",\"type\":\"value\"},{\"name\":\"STD=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the mean for the distribution. By default, MEAN=0.\",\"help\":\"STD=*number*\",\"type\":\"value\"},{\"name\":\"VAR=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the variance for the distribution. By default, VAR=1.\",\"help\":\"VAR=*number*\",\"type\":\"value\"}]},{\"name\":\"NORMAL\",\"followsDelimiter\":\"/\",\"description\":\"specifies the Gaussian distribution for the noise. You can specify the STD= option or the VAR= option, but not both.\",\"help\":\"NORMAL(*gaussian-options*)(\",\"type\":\"value\",\"arguments\":[{\"name\":\"MEAN=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the mean for the distribution. By default, MEAN=0.\",\"help\":\"MEAN=*number*\",\"type\":\"value\"},{\"name\":\"STD=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the mean for the distribution. By default, MEAN=0.\",\"help\":\"STD=*number*\",\"type\":\"value\"},{\"name\":\"VAR=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the variance for the distribution. By default, VAR=1.\",\"help\":\"VAR=*number*\",\"type\":\"value\"}]}]}]},{\"name\":\"OUTORDER=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"writes the topological order of the simulated DAG to the specified output data table. libref.data-table is a two-level name, where libref refers to the library, and data-table specifies the name of the output data table.\",\"help\":\"OUTORDER=*libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"OUTPARM=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"writes the parameter values to the specified output data table. libref.data-table is a two-level name, where libref. refers to the library, and data-table specifies the name of the output data table.\",\"help\":\"OUTPARM=*libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"PARM\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies how to generate the parameter values that represent the weights of the edges.\",\"help\":\"PARM(DIST=*distribution*)\",\"type\":\"value\",\"arguments\":[{\"name\":\"DIST=\",\"followsDelimiter\":\"/\",\"description\":\"\",\"help\":\"DIST=*distribution*\",\"type\":\"value\",\"arguments\":[{\"name\":\"UNIFORM\",\"followsDelimiter\":\"/\",\"description\":\"specifies the uniform distribution for the parameter values. The range of the uniform distribution is (LB, EXCLLB] U [EXCLUB, UB). The middle (EXCLLB, EXCLUB) range is excluded to avoid numerical unstability in the simulated data set, as is common practice in the DAG literature.\",\"help\":\"UNIFORM(*uniform-options*)\",\"type\":\"value\",\"arguments\":[{\"name\":\"LB=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the lower bound of the distribution. By default, LB=–1.\",\"help\":\"LB=*number*\",\"type\":\"value\"},{\"name\":\"EXCLLB=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the lower bound of the excluded range. By default, EXCLLB=–0.5.\",\"help\":\"EXCLLB=*number*\",\"type\":\"value\"},{\"name\":\"EXCLUB=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the upper bound of the excluded range. By default, EXCLUB=0.5.\",\"help\":\"EXCLUB=*number*\",\"type\":\"value\"},{\"name\":\"UB=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the upper bound of the distribution. By default, UB=1.\",\"help\":\"UB=*number*\",\"type\":\"value\"}]}]}]},{\"name\":\"SEED=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the random number seed value for the random number generator. If the seed value is 0, a random number stream is generated by using the time of day from the computer’s clock. Seed values greater than 0 generate reproducible random number sequences. By default, SEED=1.\",\"help\":\"SEED=*number*\",\"type\":\"value\"}]},{\"name\":\"VAR\",\"description\":\"The VAR statement specifies the variable names in the input data table that you specify in the DATA= option in the LEARN statement. If you omit the DATA= option in the LEARN statement, or if you omit the LEARN statement, the VAR statement creates the list of variable names for the SIMULATE and EVALUATE statements.\",\"help\":\"VAR *variable-list*\"}],\"supportSiteInformation\":{\"docsetId\":\"casecon\",\"docsetVersion\":\"latest\",\"docsetTargetFile\":\"casecon_causaldiscovery_toc.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/CAUSALGRAPH.json",
    "content": "{\"name\":\"CAUSALGRAPH\",\"statements\":[{\"name\":\"PROC CAUSALGRAPH\",\"description\":\"invokes the procedure\",\"help\":\"PROC CAUSALGRAPH <options>;                 \\n\\tIDENTIFY  effect-specification;                 \\n\\n\\tMODEL  'label' path <, path...> < / options >;                 \\n\\n\\tPATHDIAGRAM <options>;                 \\n\\n\\tTESTID <'label'> variable-list </ options>;                 \\n\\n\\tUNMEASURED  variables;                 \\n\",\"arguments\":[{\"name\":\"COMMON\",\"optional\":true,\"description\":\"requests adjustment sets common to all models\",\"help\":\"COMMON &lt;(ONLY)&gt;\",\"type\":\"standaloneOrValue\"},{\"name\":\"COMPACT\",\"optional\":true,\"description\":\"suppresses the display of unused variables in a table\",\"type\":\"standalone\"},{\"name\":\"CYCLES\",\"optional\":true,\"description\":\"displays directed cycles in each model that you specify by using a MODEL statement\",\"help\":\"CYCLES &lt;=*n* | =ALL&gt;\",\"type\":\"standaloneOrValue\"},{\"name\":\"DISCONNECTED\",\"optional\":true,\"aliases\":[\"DISCONNECT\"],\"description\":\"suppresses warnings for models that contain disjoint directed acyclic graphs (DAGs)\",\"type\":\"standalone\"},{\"name\":\"IMAP\",\"optional\":true,\"description\":\"requests a list of the conditional independence properties (an independence map) that are encoded by each causal model\",\"help\":\"IMAP &lt;=GLOBAL | LOCAL&gt;\",\"type\":\"standaloneOrValue\"},{\"name\":\"INMODEL=\",\"optional\":true,\"description\":\"specifies a data set that contains one or more causal models to be analyzed\",\"help\":\"INMODEL=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"LIST\",\"optional\":true,\"description\":\"requests the possible identification criteria for each model\",\"type\":\"standalone\"},{\"name\":\"MAXLIST=\",\"optional\":true,\"description\":\"specifies the maximum number of identification criteria to be printed when you specify the LIST option\",\"help\":\"MAXLIST=*n* | ALL\",\"type\":\"value\"},{\"name\":\"MAXSIZE=\",\"optional\":true,\"description\":\"specifies the maximum size of the adjustment sets to be constructed when you specify the LIST option\",\"help\":\"MAXSIZE=*n* | MIN\",\"type\":\"value\"},{\"name\":\"METHOD=\",\"optional\":true,\"description\":\"specifies the method to use for identifying a causal effect\",\"help\":\"METHOD=ADJUSTMENT | ANCESTOR | BACKDOOR | POUTCOME | PTREATMENT | IV\",\"type\":\"choice\"},{\"name\":\"MINIMAL\",\"optional\":true,\"aliases\":[\"MIN\"],\"description\":\"requests a list of only minimal adjustment sets when you specify the LIST option\",\"type\":\"standalone\"},{\"name\":\"NOLIST\",\"optional\":true,\"description\":\"excludes the construction of possible identification criteria\",\"type\":\"standalone\"},{\"name\":\"NOPRINT\",\"optional\":true,\"description\":\"suppresses all displayed output\",\"type\":\"standalone\"},{\"name\":\"NOSORT\",\"optional\":true,\"description\":\"requests an unsorted list of adjustment sets when METHOD=ADJUSTMENT or BACKDOOR\",\"type\":\"standalone\"},{\"name\":\"NTHREADS=\",\"optional\":true,\"description\":\"specifies the maximum number of simultaneous computational threads available to the procedure\",\"help\":\"NTHREADS=*n*\",\"type\":\"value\"},{\"name\":\"ORDERMODELS\",\"optional\":true,\"description\":\"prints the model results in alphabetical order by model label\",\"type\":\"standalone\"},{\"name\":\"OUTMODEL=\",\"optional\":true,\"description\":\"creates an output data set that contains the causal model specifications\",\"help\":\"OUTMODEL=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"PSUMMARY\",\"optional\":true,\"description\":\"displays only the summary of the causal effect identification analysis\",\"type\":\"standalone\"}]},{\"name\":\"IDENTIFY\",\"description\":\"specifies the causal effects to be analyzed\",\"help\":\"IDENTIFY  effect-specification;                                              \"},{\"name\":\"MODEL\",\"description\":\"A MODEL statement specifies a causal model in the form of a directed acyclic graph (DAG)\",\"help\":\"MODEL  'label' path &lt;, path...&gt; &lt; / options &gt;;                                              \",\"arguments\":[{\"name\":\"NOANALYSIS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"excludes the model from the identification analysis\",\"type\":\"standalone\"},{\"name\":\"REFMODEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a reference model to use as a starting point for the current model\",\"help\":\"REFMODEL=*'label'*\",\"type\":\"value\"},{\"name\":\"REMOVE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies paths to remove after the reference model has been processed\",\"help\":\"REMOVE=(*path &lt;, path...&gt;*)\",\"type\":\"value\"},{\"name\":\"REMOVENODES=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"REMOVENODE=\"],\"description\":\"specifies one or more nodes to remove after PROC CAUSALGRAPH processes the reference model\",\"help\":\"REMOVENODES={*variables*}\",\"type\":\"value\"}]},{\"name\":\"PATHDIAGRAM\",\"description\":\"requests a path diagram, which is a visual representation of a graphical causal model\",\"help\":\"PATHDIAGRAM &lt;options&gt;;                                              \",\"arguments\":[{\"name\":\"ARRANGE=\",\"optional\":true,\"aliases\":[\"ARRANGEMENT=\",\"METHOD=\"],\"description\":\"specifies the algorithm for laying out the variables in the path diagram\",\"help\":\"ARRANGE=*name*\",\"type\":\"value\"},{\"name\":\"DESIGNHEIGHT=\",\"optional\":true,\"aliases\":[\"DH=\"],\"description\":\"sets the height of the path diagram, in number of pixels, where h is between 100 and 10,922\",\"help\":\"DESIGNHEIGHT=*h*\",\"type\":\"value\"},{\"name\":\"DESIGNWIDTH=\",\"optional\":true,\"aliases\":[\"DW=\"],\"description\":\"sets the width of the path diagram, in number of pixels, where w is between 100 and 10,922\",\"help\":\"DESIGNWIDTH=*w*\",\"type\":\"value\"},{\"name\":\"DIAGRAMLABEL=\",\"optional\":true,\"aliases\":[\"DLABEL=\"],\"description\":\"specifies the label of the path diagram\",\"help\":\"DIAGRAMLABEL=*name*\",\"type\":\"value\"},{\"name\":\"LABEL=\",\"optional\":true,\"description\":\"specifies the labels of variables to be displayed in path diagrams, where each varlabel has the following form: variable=label You can use any valid SAS names or quoted strings of up to 256 characters for labels\",\"help\":\"LABEL= [*varlabel* &lt;, varlabel...&gt;] | {*varlabel* &lt;, varlabel...&gt;} \",\"type\":\"value\"},{\"name\":\"MODEL=\",\"optional\":true,\"description\":\"requests path diagrams for a list of models, which are specified by their associated labels\",\"help\":\"MODEL={*label* &lt;, label...&gt;}\",\"type\":\"value\"},{\"name\":\"NOTITLE\",\"optional\":true,\"description\":\"suppresses the display of the default title\",\"type\":\"standalone\"},{\"name\":\"SCALE=\",\"optional\":true,\"aliases\":[\"DIAGRAMSCALE=\"],\"description\":\"specifies the scaling factor, n, for the node size relative to the dimensions of the path diagram\",\"help\":\"SCALE=*n*\",\"type\":\"value\"},{\"name\":\"TEXTSIZEMIN=\",\"optional\":true,\"description\":\"specifies the minimum text size, i, in the output path diagram\",\"help\":\"TEXTSIZEMIN=*i*\",\"type\":\"value\"},{\"name\":\"TITLE=\",\"optional\":true,\"description\":\"specifies the title of the path diagram\",\"help\":\"TITLE=*name*\",\"type\":\"value\"}]},{\"name\":\"TESTID\",\"description\":\"tests whether a criterion that you specify is valid for identifying a causal effect\",\"help\":\"TESTID &lt;'label'&gt; variable-list &lt;/ options&gt;;                                              \",\"arguments\":[{\"name\":\"CONDITIONAL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"performs a test for a conditional instrumental variable, where the variables or variable is a list of conditioning variables\",\"help\":\"CONDITIONAL={*variables*}\",\"type\":\"value\"},{\"name\":\"PATHS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"creates an enumeration of the proper paths from the treatment variables to the outcome variables in each model\",\"help\":\"PATHS &lt;=(*path-types)*&gt;\",\"type\":\"standaloneOrValue\"}]},{\"name\":\"UNMEASURED\",\"description\":\"specifies a list of variables that are treated as unmeasured\",\"help\":\"UNMEASURED  variables;                                              \"}],\"supportSiteInformation\":{\"docsetId\":\"statug\",\"docsetVersion\":\"latest\",\"docsetTargetFile\":\"statug_causalgraph_toc.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/CAUSALMED.json",
    "content": "{\"name\":\"CAUSALMED\",\"statements\":[{\"name\":\"PROC CAUSALMED\",\"description\":\"The CAUSALMED procedure estimates causal mediation effects from observational data. In causal mediation analysis, there are four main variables of interest: † o an outcome variable Y o a treatment variable T that is hypothesized to have direct and indirect causal effects on the outcome variable Y (in epidemiology, a treatment variable is also known as an exposure, denoted as A) o a mediator variable M that is hypothesized to be causally affected by the treatment variable T and that itself has a direct effect on the outcome variable Y o set of pretreatment or background covariates that confound the observed relationships among Y, T, and M\",\"help\":\"PROC CAUSALMED <ALPHA=p><CASECONTROL><DATA=SAS-data-set><DECOMP<=i>><DESCENDING><NLOPTIONS(options)><NOPRINT><PALL><PMEDMOD><POUTCOMEMOD><PSHORT><PSUMMARY><RORDER=DATA | FORMATTED | FREQ... ><SINGULAR=tolerance><THREADS=n | NTHREADS=n>;     \\n\\tBOOTSTRAP <BOOTCI <(BC|NORMAL|PERC|ALL)> | CI <(BC|NORMAL|PERC|ALL)>><NBOOT=n | NSAMPLE=n | NSAMPLES=n><SEED=n> ...;\\n\\n\\tBY <DESCENDING><NOTSORTED> ;\\n\\n\\tCLASS <CPREFIX=n><DESCENDING><LPREFIX=n> ...;\\n\\n\\tCOVAR effects;\\n\\n\\tEVALUATE _CONTROL=FIRST|LAST|MAX...  _MEDIATORFIRST|LAST|MAX...  _TREATMENTFIRST|LAST|MAX...  ...;\\n\\n\\tFREQ variable ;\\n\\n\\tMEDIATOR mediator=treatment;\\n\\n\\tMODEL <DIST=<BIN | NEGBIN | NORMAL>... ><LINK=<IDENTITY | LOG | LOGIT>> ;\\n\",\"arguments\":[{\"name\":\"ALPHA=\",\"optional\":true,\"description\":\"Specifies the level 1 – p for constructing confidence intervals. By default, p = 0.05, which corresponds to 1 – p = 95% confidence intervals.\",\"help\":\"ALPHA=*p*\",\"type\":\"value\"},{\"name\":\"CASECONTROL\",\"optional\":true,\"description\":\"Requests an analysis for a case-control study. When you specify this option, PROC CAUSALMED fits a mediator model by using only observations for subjects in the control group.\",\"type\":\"standalone\"},{\"name\":\"DATA=\",\"optional\":true,\"description\":\"Specifies an input data set that contains the raw data. If the DATA= option is omitted, the most recently created SAS data set is used.\",\"help\":\"DATA=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"DECOMP\",\"optional\":true,\"description\":\"Syntax: DECOMP<=i> requests various decompositions of the total effect. By default, several two- and three-way decompositions and a four-way decomposition are computed. When you specify 2, 3, or 4 for i, decompositions up to an i-way decomposition are computed.\",\"type\":\"standalone\"},{\"name\":\"DESCENDING\",\"optional\":true,\"aliases\":[\"DESCEND\",\"DESC\"],\"description\":\"Sorts the levels of the binary outcome and the binary mediator variables in reverse of the specified order.\",\"type\":\"standalone\"},{\"name\":\"NLOPTIONS=\",\"optional\":true,\"description\":\"Specifies options for the nonlinear optimization methods if you are applying the multivariate adaptive regression splines algorithm to generalized linear models. You can specify the following options:\",\"help\":\"NLOPTIONS=ABSCONV= | ABSTOL= | ABSFCONV= | ABSFTOL= | ABSGCONV= | ABSGTOL= | FCONV= | FTOL= | GCONV= | GTOL= | HESSIAN= | MAXFUNC= | MAXITER= | MAXIT= | MAXTIME= | MINITER= | MINIT= | TECHNIQUE=\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ABSCONV=\",\"type\":\"value\"},{\"name\":\"ABSTOL=\",\"type\":\"value\"},{\"name\":\"ABSFCONV=\",\"type\":\"value\"},{\"name\":\"ABSFTOL=\",\"type\":\"value\"},{\"name\":\"ABSGCONV=\",\"type\":\"value\"},{\"name\":\"ABSGTOL=\",\"type\":\"value\"},{\"name\":\"FCONV=\",\"type\":\"value\"},{\"name\":\"FTOL=\",\"type\":\"value\"},{\"name\":\"GCONV=\",\"type\":\"value\"},{\"name\":\"GTOL=\",\"type\":\"value\"},{\"name\":\"HESSIAN=\",\"type\":\"value\"},{\"name\":\"MAXFUNC=\",\"type\":\"value\"},{\"name\":\"MAXITER=\",\"type\":\"value\"},{\"name\":\"MAXIT=\",\"type\":\"value\"},{\"name\":\"MAXTIME=\",\"type\":\"value\"},{\"name\":\"MINITER=\",\"type\":\"value\"},{\"name\":\"MINIT=\",\"type\":\"value\"},{\"name\":\"TECHNIQUE=\",\"type\":\"value\"}]},{\"name\":\"NOPRINT\",\"optional\":true,\"description\":\"Suppresses all displayed output.\",\"type\":\"standalone\"},{\"name\":\"PALL\",\"optional\":true,\"aliases\":[\"ALL\"],\"description\":\"Displays all output tables.\",\"type\":\"standalone\"},{\"name\":\"PMEDMOD\",\"optional\":true,\"description\":\"Displays parameter estimates for the mediator model.\",\"type\":\"standalone\"},{\"name\":\"POUTCOMEMOD\",\"optional\":true,\"description\":\"Displays parameter estimates for the outcome model.\",\"type\":\"standalone\"},{\"name\":\"PSHORT\",\"optional\":true,\"description\":\"Displays only the basic modeling information and the summary of effects. When you specify this option, you can also display the effect decomposition table by specifying the DECOMP option.\",\"type\":\"standalone\"},{\"name\":\"PSUMMARY\",\"optional\":true,\"description\":\"Displays only a summary of effects. When you specify this option, you can also display the effect decomposition table by specifying the DECOMP option.\",\"type\":\"standalone\"},{\"name\":\"RORDER=\",\"optional\":true,\"aliases\":[\"RESPORDER=\"],\"description\":\"Specifies the sort order for the levels of the outcome variable.\",\"help\":\"RORDER=DATA | FORMATTED | FREQ | INTERNAL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DATA\",\"description\":\"Order of appearance in the input data set.\",\"type\":\"standalone\"},{\"name\":\"FORMATTED\",\"description\":\"External formatted value, except for numeric variables that have no explicit format, which are sorted by their unformatted (internal) value.\",\"type\":\"standalone\"},{\"name\":\"FREQ\",\"description\":\"Descending frequency count. Levels that have the most observations come first in the order.\",\"type\":\"standalone\"},{\"name\":\"INTERNAL\",\"description\":\"Unformatted value. The sort order is machine-dependent.\",\"type\":\"standalone\"}]},{\"name\":\"SINGULAR=\",\"optional\":true,\"description\":\"Specifies the tolerance for testing the singularity of a matrix, where tolerance must be between 0 and 1. The default tolerance is 1E7 times the machine precision.\",\"help\":\"SINGULAR=*tolerance*\",\"type\":\"value\"},{\"name\":\"THREADS=\",\"optional\":true,\"aliases\":[\"NTHREADS=\"],\"description\":\"Specifies the number of threads (n) for analytic computations and overrides the SAS system option THREADS | NOTHREADS.\",\"type\":\"value\"}]},{\"name\":\"BOOTSTRAP\",\"description\":\"The BOOTSTRAP statement requests bootstrap estimates of standard errors and bootstrap confidence intervals for various effects and percentages of total effects.\",\"help\":\"BOOTSTRAP &lt;BOOTCI &lt;(BC|NORMAL|PERC|ALL)&gt; | CI &lt;(BC|NORMAL|PERC|ALL)&gt;&gt;&lt;NBOOT=n | NSAMPLE=n | NSAMPLES=n&gt;&lt;SEED=n&gt; ...\",\"arguments\":[{\"name\":\"BOOTCI=\",\"optional\":true,\"aliases\":[\"CI\"],\"description\":\"Computes bootstrap-based confidence intervals for the effects and percentages of effects, and displays them in the \\\"Summary of Effects\\\" table.\",\"help\":\"BOOTCI=ALL | BC | NORMAL | PERC\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ALL\",\"type\":\"standalone\"},{\"name\":\"BC\",\"type\":\"standalone\"},{\"name\":\"NORMAL\",\"type\":\"standalone\"},{\"name\":\"PERC\",\"type\":\"standalone\"}]},{\"name\":\"NBOOT=\",\"optional\":true,\"aliases\":[\"NSAMPLE=\",\"NSAMPLES=\"],\"description\":\"Specifies the number of bootstrap sample data sets (replicates), where n is between 50 and 10,000. By default, n=1000.\",\"type\":\"value\"},{\"name\":\"SEED=\",\"optional\":true,\"description\":\"Provides the seed that initializes the random number stream for generating the bootstrap sample data sets (replicates).\",\"help\":\"SEED=*n*\",\"type\":\"value\"}]},{\"name\":\"BY\",\"description\":\"You can specify a BY statement with PROC NETWORK to obtain separate analyses of observations in groups that are defined by the BY variables. When a BY statement appears, the procedure expects the input data set to be sorted in order of the BY variables. If you specify more than one BY statement, only the last one specified is used. If your input data set is not sorted in ascending order, use one of the following alternatives: • Sort the data by using the SORT procedure with a similar BY statement. • Specify the NOTSORTED or DESCENDING option in the BY statement for the NETWORK procedure. The NOTSORTED option does not mean that the data are unsorted but rather that the data are arranged in groups (according to values of the BY variables) and that these groups are not necessarily in alphabetical or increasing numeric order. • Create an index on the BY variables by using the DATASETS procedure (in Base SAS software).\",\"help\":\"BY &lt;DESCENDING&gt;&lt;NOTSORTED&gt;\",\"arguments\":[{\"name\":\"DESCENDING\",\"optional\":true,\"description\":\"Specifies that the observations are sorted in descending order by the variable that immediately follows the word DESCENDING in the BY statement.\",\"type\":\"standalone\"},{\"name\":\"NOTSORTED\",\"optional\":true,\"description\":\"The NOTSORTED option does not mean that the data are unsorted but rather that the data are arranged in groups (according to values of the BY variables) and that these groups are not necessarily in alphabetical or increasing numeric order.\",\"type\":\"standalone\"}]},{\"name\":\"CLASS\",\"description\":\"The CLASS statement names one or more classification variables to be used as explanatory variables in the analysis.\",\"help\":\"CLASS &lt;CPREFIX=n&gt;&lt;DESCENDING&gt;&lt;LPREFIX=n&gt; ...\",\"arguments\":[{\"name\":\"CPREFIX=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Uses at most the first n characters of a CLASS variable name in creating names for the corresponding design variables.\",\"help\":\"CPREFIX=*n*\",\"type\":\"value\"},{\"name\":\"DESCENDING\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"DESC\"],\"description\":\"Reverses the sort order of the CLASS variables.\",\"type\":\"standalone\"},{\"name\":\"LPREFIX=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Uses at most the first n characters of a CLASS variable name in creating labels for the corresponding design variables.\",\"help\":\"LPREFIX=*n*\",\"type\":\"value\"},{\"name\":\"MISSING\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Treats missing values (blanks for character variables and ., ._, .A, …, .Z for numeric variables) as valid values for the CLASS variables.\",\"type\":\"standalone\"},{\"name\":\"ORDER=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the sort order for the levels of CLASS variables.\",\"help\":\"ORDER=DATA | FORMATTED | FREQ | INTERNAL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DATA\",\"followsDelimiter\":\"/\",\"description\":\"Sorts the levels in their order of appearance in the input data set.\",\"type\":\"standalone\"},{\"name\":\"FORMATTED\",\"followsDelimiter\":\"/\",\"description\":\"Sorts the levels by external formatted values, except for numeric variables that have no explicit format, which are sorted by their unformatted (internal) values.\",\"type\":\"standalone\"},{\"name\":\"FREQ\",\"followsDelimiter\":\"/\",\"description\":\"Sorts the levels by descending frequency count. Levels that have more observations come earlier in the order.\",\"type\":\"standalone\"},{\"name\":\"INTERNAL\",\"followsDelimiter\":\"/\",\"description\":\"Sorts the levels by an unformatted value. The sort order is machine-dependent.\",\"type\":\"standalone\"}]},{\"name\":\"REF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies a level of the CLASS variable to be put at the end of the list of levels.\",\"type\":\"value\"},{\"name\":\"TRUNCATE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the length (n) of variable values to use in determining the CLASS variable levels.\",\"type\":\"standalone\"}]},{\"name\":\"COVAR\",\"description\":\"The COVAR statement specifies the effects of covariates in a causal mediation analysis.\",\"help\":\"COVAR effects\"},{\"name\":\"EVALUATE\",\"description\":\"You use the EVALUATE statement to specify variable levels or values for evaluating various effects. In the assignments, you can specify one or more of the following variable levels: o the control and treatment levels for computing all effects o the mediator level for computing the controlled direct effect o the covariate levels for evaluating various conditional causal effects Each assignment is of the form var-key=value-key where var-key specifies a variable and value-key is either its numerical value, its character value, or a keyword (such as MEAN) that generates a value from the variable.\",\"help\":\"EVALUATE _CONTROL=FIRST|LAST|MAX...  _MEDIATORFIRST|LAST|MAX...  _TREATMENTFIRST|LAST|MAX...  ...\",\"arguments\":[{\"name\":\"_CONTROL=\",\"aliases\":[\"_A0=\",\"_T0=\"],\"description\":\"Specifies the control level of the treatment variable, where varname represents the actual treatment variable name.\",\"help\":\"_CONTROL=FIRST | LAST | MAX | MEAN | MIN | MODE | *value&lt;(SD)&gt;* | &lt;*level*&gt;\",\"type\":\"choice\",\"arguments\":[{\"name\":\"FIRST\",\"description\":\"Assigns the first level of the corresponding classification variable that is specified in the var-key.\",\"type\":\"standalone\"},{\"name\":\"LAST\",\"description\":\"Assigns the last level of the corresponding classification variable that is specified in the var-key.\",\"type\":\"standalone\"},{\"name\":\"MAX\",\"description\":\"Assigns the maximum variable value (denoted as max) of the corresponding numerical variable that is specified in the var-key.\",\"type\":\"standalone\"},{\"name\":\"MEAN\",\"description\":\"Assigns the mean variable value (denoted as mean) of the corresponding numerical variable that is specified in the var-key.\",\"type\":\"standalone\"},{\"name\":\"MIN\",\"description\":\"Assigns the minimum variable value (denoted as min) of the corresponding numerical variable that is specified in the var-key.\",\"type\":\"standalone\"},{\"name\":\"MODE\",\"description\":\"Assigns the modal level of the corresponding class variable that is specified in the var-key.\",\"type\":\"standalone\"},{\"name\":\"value\",\"placeholder\":true,\"description\":\"Assigns the numerical value in the assignment, where value represents a fixed number. If you use the SD option, the measurement scale of the numerical value refers to the measurement scale of the standardized variable.\",\"help\":\"*value&lt;(SD)&gt;*\",\"type\":\"value\"},{\"name\":\"level\",\"placeholder\":true,\"description\":\"Assigns the level of the corresponding classification variable that is specified in the var-key, where level represents an actual character level of the variable.\",\"type\":\"value\"}]},{\"name\":\"_MEDIATOR\",\"aliases\":[\"_MSTAR=\"],\"description\":\"Specifies the controlled level of the mediator variable, where varname represents the actual mediator variable name.\",\"help\":\"_MEDIATORFIRST | LAST | MAX | MEAN | MIN | MODE | *value&lt;(SD)&gt;* | &lt;*level*&gt;\",\"type\":\"choice\",\"arguments\":[{\"name\":\"FIRST\",\"description\":\"Assigns the first level of the corresponding classification variable that is specified in the var-key.\",\"type\":\"standalone\"},{\"name\":\"LAST\",\"description\":\"Assigns the last level of the corresponding classification variable that is specified in the var-key.\",\"type\":\"standalone\"},{\"name\":\"MAX\",\"description\":\"Assigns the maximum variable value (denoted as max) of the corresponding numerical variable that is specified in the var-key.\",\"type\":\"standalone\"},{\"name\":\"MEAN\",\"description\":\"Assigns the mean variable value (denoted as mean) of the corresponding numerical variable that is specified in the var-key.\",\"type\":\"standalone\"},{\"name\":\"MIN\",\"description\":\"Assigns the minimum variable value (denoted as min) of the corresponding numerical variable that is specified in the var-key.\",\"type\":\"standalone\"},{\"name\":\"MODE\",\"description\":\"Assigns the modal level of the corresponding class variable that is specified in the var-key.\",\"type\":\"standalone\"},{\"name\":\"value\",\"placeholder\":true,\"description\":\"Assigns the numerical value in the assignment, where value represents a fixed number. If you use the SD option, the measurement scale of the numerical value refers to the measurement scale of the standardized variable.\",\"help\":\"*value&lt;(SD)&gt;*\",\"type\":\"value\"},{\"name\":\"level\",\"placeholder\":true,\"description\":\"Assigns the level of the corresponding classification variable that is specified in the var-key, where level represents an actual character level of the variable.\",\"type\":\"value\"}]},{\"name\":\"_TREATMENT\",\"aliases\":[\"_A1=\",\"_T1\"],\"description\":\"Specifies the treatment level of the treatment variable, where varname represents the actual treatment variable name.\",\"help\":\"_TREATMENTFIRST | LAST | MAX | MEAN | MIN | MODE | *value&lt;(SD)&gt;* | &lt;*level*&gt;\",\"type\":\"choice\",\"arguments\":[{\"name\":\"FIRST\",\"description\":\"Assigns the first level of the corresponding classification variable that is specified in the var-key.\",\"type\":\"standalone\"},{\"name\":\"LAST\",\"description\":\"Assigns the last level of the corresponding classification variable that is specified in the var-key.\",\"type\":\"standalone\"},{\"name\":\"MAX\",\"description\":\"Assigns the maximum variable value (denoted as max) of the corresponding numerical variable that is specified in the var-key.\",\"type\":\"standalone\"},{\"name\":\"MEAN\",\"description\":\"Assigns the mean variable value (denoted as mean) of the corresponding numerical variable that is specified in the var-key.\",\"type\":\"standalone\"},{\"name\":\"MIN\",\"description\":\"Assigns the minimum variable value (denoted as min) of the corresponding numerical variable that is specified in the var-key.\",\"type\":\"standalone\"},{\"name\":\"MODE\",\"description\":\"Assigns the modal level of the corresponding class variable that is specified in the var-key.\",\"type\":\"standalone\"},{\"name\":\"value\",\"placeholder\":true,\"description\":\"Assigns the numerical value in the assignment, where value represents a fixed number. If you use the SD option, the measurement scale of the numerical value refers to the measurement scale of the standardized variable.\",\"help\":\"*value&lt;(SD)&gt;*\",\"type\":\"value\"},{\"name\":\"level\",\"placeholder\":true,\"description\":\"Assigns the level of the corresponding classification variable that is specified in the var-key, where level represents an actual character level of the variable.\",\"type\":\"value\"}]},{\"name\":\"CLABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies a short content-label for the mediation effects that are generated by the EVALUATE statement. The clabel is used to label the corresponding set of tables in the output. Only the first 20 characters of clabel is used. If you do not specify this option, the first 20 characters of the label, which you specify in the beginning of the EVALUATE statement, is used as clabel.\",\"type\":\"value\"},{\"name\":\"DECOMP\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the type of decompositions requested, where i is between 2 and 4, representing two-, three-, or four-way decompositions, respectively.\",\"type\":\"standalone\"},{\"name\":\"NODECOMP\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Suppresses the display of all decomposition results for the specified evaluation scheme of mediation effects. Only the summary table of effects is shown.\",\"type\":\"standalone\"}]},{\"name\":\"FREQ\",\"description\":\"If a variable in the data set represents the frequency of occurrence for the other values in the observation, include the variable’s name in a FREQ statement. The procedure then treats the data set as if each observation appears n times, where n is the value of the FREQ variable for the observation. The total number of observations is considered to be equal to the sum of the FREQ variable values when the procedure determines degrees of freedom for significance probabilities.\",\"help\":\"FREQ variable \"},{\"name\":\"MEDIATOR\",\"description\":\"The MEDIATOR statement is required for specifying the mediator model. You provide mediator (the name of the mediator variable) on the left of the equal sign and treatment (the name of the treatment variable) on the right. For example, the following statement specifies M as the mediator variable and T as the treatment variable in the analysis: mediator M = T; Together, the COVAR, MEDIATOR, and MODEL statements specify the relationships of all variables in the mediation analysis.\",\"help\":\"MEDIATOR mediator=treatment\"},{\"name\":\"MODEL\",\"description\":\"The MODEL statement is required for specifying the outcome model. You provide outcome (the name of the outcome variable) on the left of the equal sign and effects (the treatment and mediator effects) on the right.\",\"help\":\"MODEL &lt;DIST=&lt;BIN | NEGBIN | NORMAL&gt;... &gt;&lt;LINK=&lt;IDENTITY | LOG | LOGIT&gt;&gt;\",\"arguments\":[{\"name\":\"DIST=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"DISTRIBUTION=\"],\"description\":\"Specifies the built-in probability distribution to use in the model.\",\"help\":\"DIST=BIN | NEGBIN | NORMAL | POISSON\",\"type\":\"choice\",\"arguments\":[{\"name\":\"BIN\",\"followsDelimiter\":\"/\",\"description\":\"Binary distribution\",\"type\":\"standalone\"},{\"name\":\"NEGBIN\",\"followsDelimiter\":\"/\",\"description\":\"Negative binomial distribution\",\"type\":\"standalone\"},{\"name\":\"NORMAL\",\"followsDelimiter\":\"/\",\"description\":\"Normal distribution\",\"type\":\"standalone\"},{\"name\":\"POISSON\",\"followsDelimiter\":\"/\",\"description\":\"Poisson distribution\",\"type\":\"standalone\"}]},{\"name\":\"LINK=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the link function in the model.\",\"help\":\"LINK=IDENTITY | LOG | LOGIT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"IDENTITY\",\"followsDelimiter\":\"/\",\"description\":\"Identity link function\",\"type\":\"standalone\"},{\"name\":\"LOG\",\"followsDelimiter\":\"/\",\"description\":\"Log link function\",\"type\":\"standalone\"},{\"name\":\"LOGIT\",\"followsDelimiter\":\"/\",\"description\":\"Logit link function\",\"type\":\"standalone\"}]}]}],\"supportSiteInformation\":{\"docsetId\":\"statug\",\"docsetVersion\":\"latest\",\"docsetTargetFile\":\"statug_causalmed_toc.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/CAUSALTRT.json",
    "content": "{\"name\":\"CAUSALTRT\",\"statements\":[{\"name\":\"PROC CAUSALTRT\",\"description\":\"estimates the average causal effect of a binary treatment on a continuous or discrete outcome\",\"help\":\"PROC CAUSALTRT <options>;                 \\n\\tBOOTSTRAP < options>;                 \\n\\n\\tBY  variables;                 \\n\\n\\tCLASS  variable <(options)>...<variable <(options)>></ global-options>;                 \\n\\n\\tFREQ  variable;                 \\n\\n\\tMODEL  outcome <(variable-options)><= effects></ model-options>;                 \\n\\n\\tOUTPUT <OUT=SAS-data-set><keyword=name...keyword=name>;                 \\n\\n\\tPSMODEL  treatment <(variable-options)><= effects </ psmodel-options>>;                 \\n\",\"arguments\":[{\"name\":\"ALPHA=\",\"optional\":true,\"description\":\"specifies a number to be used as the α level for confidence limits in the \\\"Analysis of Causal Effect\\\" table\",\"help\":\"ALPHA=*number*\",\"type\":\"value\"},{\"name\":\"ATT\",\"optional\":true,\"aliases\":[\"ATET\"],\"description\":\"estimates the average treatment effect for the treated. When this option is applied, it replaces the default estimation of the average treatment effect.\",\"type\":\"standalone\"},{\"name\":\"COVDIFFPS\",\"optional\":true,\"description\":\"computes weighted and unweighted standardized mean differences (between treatment and control conditions) and variance ratios (treatment to control) for the covariates (effects) in the propensity score model\",\"type\":\"standalone\"},{\"name\":\"DATA=\",\"optional\":true,\"description\":\"names the SAS data set that contains the data to be analyzed\",\"help\":\"DATA=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"DESCENDING\",\"optional\":true,\"aliases\":[\"DESCEND\",\"DESC\"],\"description\":\"sorts the levels of the outcome variable for a binary model in reverse of the specified order\",\"type\":\"standalone\"},{\"name\":\"METHOD=\",\"optional\":true,\"description\":\"specifies the method to use to estimate the potential outcomes and treatment effect\",\"help\":\"METHOD= AIPW | IPW | IPWR | IPWS | REGADJ | IPWREG\",\"type\":\"choice\",\"arguments\":[{\"name\":\"AIPW\",\"description\":\"performs a doubly robust estimation by using augmented inverse probability weighting\",\"type\":\"standalone\"},{\"name\":\"IPW\",\"description\":\"uses a basic inverse probability weighting method\",\"type\":\"standalone\"},{\"name\":\"IPWR\",\"description\":\"uses an inverse probability weighting method with ratio adjustment\",\"type\":\"standalone\"},{\"name\":\"IPWS\",\"description\":\"uses an inverse probability weighting method with ratio and scale adjustments\",\"type\":\"standalone\"},{\"name\":\"IPWREG\",\"description\":\"performs a doubly robust estimation by using inverse probability weighted regression adjustment\",\"type\":\"standalone\"},{\"name\":\"REGADJ\",\"description\":\"uses regression adjustment\",\"type\":\"standalone\"}]},{\"name\":\"NAMELEN=\",\"optional\":true,\"description\":\"specifies the maximum length of effect names in tables and output data sets to be n characters, where n is a value between 20 and 128\",\"help\":\"NAMELEN=*n*\",\"type\":\"value\"},{\"name\":\"NLOPTIONS\",\"optional\":true,\"description\":\"specifies options for the nonlinear optimization methods that are used for fitting the specified models\",\"help\":\"NLOPTIONS(*nlo-options*)\",\"type\":\"value\",\"arguments\":[{\"name\":\"ABSCONV=\",\"aliases\":[\"ABSTOL=\"],\"description\":\"specifies an absolute function convergence criterion\",\"help\":\"ABSCONV=*r*\",\"type\":\"value\"},{\"name\":\"ABSFCONV=\",\"aliases\":[\"ABSFTOL=\"],\"description\":\"specifies an absolute function difference convergence criterion [label=proc_nloptions_absgconv]{ABSGCONV=r} specifies an absolute gradient convergence criterion\",\"help\":\"ABSFCONV=*r*\",\"type\":\"value\"},{\"name\":\"ABSGCONV=\",\"aliases\":[\"ABSGTOL=\"],\"description\":\"\",\"help\":\"ABSGCONV=*r*\",\"type\":\"value\"},{\"name\":\"FCONV=\",\"aliases\":[\"FTOL=\"],\"description\":\"specifies a relative function convergence criterion\",\"help\":\"FCONV=*r*\",\"type\":\"value\"},{\"name\":\"GCONV=\",\"aliases\":[\"GTOL=\"],\"description\":\"specifies a relative gradient convergence criterion\",\"help\":\"GCONV=*r*\",\"type\":\"value\"},{\"name\":\"MAXFUNC=\",\"aliases\":[\"MAXFU=\"],\"description\":\"specifies the maximum number of function calls in the optimization process\",\"help\":\"MAXFUNC=*n*\",\"type\":\"value\"},{\"name\":\"MAXITER=\",\"aliases\":[\"MAXIT=\"],\"description\":\"specifies the maximum number of iterations in the optimization process\",\"help\":\"MAXITER=*n*\",\"type\":\"value\"},{\"name\":\"MAXTIME=\",\"description\":\"specifies an upper limit of r seconds of CPU time for the optimization process\",\"help\":\"MAXTIME=*r*\",\"type\":\"value\"},{\"name\":\"TECHNIQUE=\",\"description\":\"specifies the optimization technique to obtain maximum likelihood estimates\",\"help\":\"TECHNIQUE=CONGRA | DBLDOG | NEWRAP | NRRIDG | QUANEW | TRUREG\",\"type\":\"choice\",\"arguments\":[{\"name\":\"CONGRA\",\"description\":\"performs a conjugate-gradient optimization\",\"type\":\"standalone\"},{\"name\":\"DBLDOG\",\"description\":\"performs a version of double-dogleg optimization\",\"type\":\"standalone\"},{\"name\":\"NEWRAP\",\"description\":\"performs a Newton-Raphson optimization that combines a line-search algorithm with ridging\",\"type\":\"standalone\"},{\"name\":\"NRRIDG\",\"description\":\"performs a Newton-Raphson optimization with ridging\",\"type\":\"standalone\"},{\"name\":\"QUANEW\",\"description\":\"performs a dual quasi-Newton optimization\",\"type\":\"standalone\"},{\"name\":\"TRUREG\",\"description\":\"performs a trust-region optimization\",\"type\":\"standalone\"}]}]},{\"name\":\"NOEFFECT\",\"optional\":true,\"description\":\"suppresses the display of all output that involves the outcome variable\",\"type\":\"standalone\"},{\"name\":\"NOPRINT\",\"optional\":true,\"description\":\"suppresses all displayed output\",\"type\":\"standalone\"},{\"name\":\"ORDER=\",\"optional\":true,\"description\":\"specifies the sort order for the levels of the classification variables (which are specified in the CLASS statement)\",\"help\":\"ORDER=DATA | FORMATTED | FREQ | INTERNAL\",\"type\":\"choice\"},{\"name\":\"PALL\",\"optional\":true,\"aliases\":[\"ALL\"],\"description\":\"displays all optional output\",\"type\":\"standalone\"},{\"name\":\"PLOTS\",\"optional\":true,\"description\":\"controls plots that are produced through ODS Graphics\",\"help\":\"PLOTS&lt;(UNPACK)&gt;&lt;=*plot-request*&gt;\",\"type\":\"standaloneOrValue\",\"arguments\":[{\"name\":\"ALL\",\"description\":\"produces all plots that are available for the specified estimation method\",\"type\":\"standalone\"},{\"name\":\"LOGITPSCORE\",\"aliases\":[\"LPS\"],\"description\":\"produces overlaid density plots for the logit of the propensity score\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"suppresses all plots\",\"type\":\"standalone\"},{\"name\":\"OUTBYPSCORE\",\"aliases\":[\"OUTBYPS\"],\"description\":\"produces a scatter plot of the outcome variable by the propensity score for nonbinary outcomes\",\"type\":\"standalone\"},{\"name\":\"OUTBYWEIGHT\",\"aliases\":[\"OUTBYWGT\"],\"description\":\"produces a scatter plot of the outcome variable by weight for nonbinary outcomes\",\"type\":\"standalone\"},{\"name\":\"PSCLOUD\",\"description\":\"produces a point cloud of the propensity scores by jittering within the control and treatment conditions\",\"type\":\"standalone\"},{\"name\":\"PSCOVDEN\",\"description\":\"produces density plots for the covariates or continuous effects that are specified in the PSMODEL statement [label=proc_plots_psdist]{PSDIST} produces a box plot of the propensity score for each treatment condition\",\"type\":\"standalone\"},{\"name\":\"PSDIST\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"WEIGHTCLOUD\",\"aliases\":[\"WCLOUD\"],\"description\":\"produces a point cloud of the weights by jittering within the control and treatment conditions\",\"type\":\"standalone\"},{\"name\":\"WEIGHTDIST\",\"description\":\"produces a box plot of the weights for each treatment condition\",\"type\":\"standalone\"}]},{\"name\":\"POUTCOMEMOD\",\"optional\":true,\"aliases\":[\"PREGADJ\"],\"description\":\"displays parameter estimates for the outcome models for the control and treatment conditions\",\"type\":\"standalone\"},{\"name\":\"PPSMODEL\",\"optional\":true,\"aliases\":[\"PTREATMOD\"],\"description\":\"displays parameter estimates for the propensity score model\",\"type\":\"standalone\"},{\"name\":\"RORDER=\",\"optional\":true,\"description\":\"specifies the sort order for the levels of the outcome variable\",\"help\":\"RORDER=DATA | FORMATTED | FREQ | INTERNAL\",\"type\":\"choice\"},{\"name\":\"SINGULAR=\",\"optional\":true,\"description\":\"specifies the tolerance for testing the singularity of a matrix, where tolerance must be between 0 and 1\",\"help\":\"SINGULAR=*tolerance*\",\"type\":\"value\"},{\"name\":\"THREADS=\",\"optional\":true,\"aliases\":[\"NTHREADS=\"],\"description\":\"specifies the number of threads for analytic computations and overrides the SAS system option THREADS | NOTHREADS\",\"help\":\"THREADS=*n*\",\"type\":\"value\"}]},{\"name\":\"BOOTSTRAP\",\"description\":\"requests bootstrap estimation of confidence intervals for the potential outcome means and treatment effect estimates\",\"help\":\"BOOTSTRAP &lt; options&gt;;                                              \",\"arguments\":[{\"name\":\"BOOTCI\",\"optional\":true,\"description\":\"computes bootstrap-based confidence intervals for the potential outcome means and the treatment effect estimates, and displays the values in the \\\"Analysis of Causal Effect\\\" table\",\"help\":\"BOOTCI &lt;(BC | NORMAL | PERC | ALL)&gt;\",\"type\":\"standaloneOrValue\",\"arguments\":[{\"name\":\"BC\",\"description\":\"produces bias-corrected confidence intervals\",\"type\":\"standalone\"},{\"name\":\"NORMAL\",\"description\":\"produces confidence intervals that are based on the assumption that bootstrap estimates follow a normal distribution\",\"type\":\"standalone\"},{\"name\":\"PERC\",\"description\":\"produces percentile-based confidence intervals\",\"type\":\"standalone\"},{\"name\":\"ALL\",\"description\":\"produces all three confidence intervals\",\"type\":\"standalone\"}]},{\"name\":\"BOOTDATA=\",\"optional\":true,\"description\":\"specifies the SAS-data-set that contains the estimates for the potential outcome means and treatment effect for each bootstrap sample that converges\",\"help\":\"BOOTDATA=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"NBOOT=\",\"optional\":true,\"aliases\":[\"NSAMPLE=\"],\"description\":\"specifies the number of bootstrap sample data sets\",\"help\":\"NBOOT=*n*\",\"type\":\"value\"},{\"name\":\"NOSKIP\",\"optional\":true,\"description\":\"includes in the bootstrap estimation bootstrap samples that have inconsistent class levels in either the treatment or outcome model\",\"type\":\"standalone\"}]},{\"name\":\"BY\",\"description\":\"produces separate analyses of observations in groups that are defined by the BY variables\",\"help\":\"BY  variables;                                              \"},{\"name\":\"CLASS\",\"description\":\"names the classification variables to be used as explanatory variables in the analysis\",\"help\":\"CLASS  variable &lt;(options)&gt;...&lt;variable &lt;(options)&gt;&gt;&lt;/ global-options&gt;;                                              \",\"arguments\":[{\"name\":\"CPREFIX=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"uses at most the first n characters of a CLASS variable name in creating names for the corresponding design variables\",\"help\":\"CPREFIX=*n*\",\"type\":\"value\"},{\"name\":\"DESCENDING\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"DESC\"],\"description\":\"reverses the sort order of the classification variable\",\"type\":\"standalone\"},{\"name\":\"LPREFIX=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"uses at most the first n characters of a CLASS variable label in creating labels for the corresponding design variables\",\"help\":\"LPREFIX=*n*\",\"type\":\"value\"},{\"name\":\"MISSING\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"treats missing values (blanks for character variables and ., ._, .A,..., .Z for numeric variables) as valid values for the CLASS variable\",\"type\":\"standalone\"},{\"name\":\"ORDER=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the sort order for the levels of classification variables\",\"help\":\"ORDER=DATA | FORMATTED | FREQ | INTERNAL\",\"type\":\"choice\"},{\"name\":\"REF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a level of the classification variable to be put at the end of the list of levels. You can specify the level of the variable to use as the reference level, or you can use the FIRST or LAST keyword to designate the first or last ordered level as reference.\",\"help\":\"REF='*level*' | FIRST | LAST\",\"type\":\"value\"},{\"name\":\"TRUNCATE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the length (n) of variable values to use in determining the CLASS variable levels\",\"help\":\"TRUNCATE&lt;*=n*&gt;\",\"type\":\"standaloneOrValue\"},{\"name\":\"CPREFIX=\",\"optional\":true,\"description\":\"uses at most the first n characters of a CLASS variable name in creating names for the corresponding design variables\",\"help\":\"CPREFIX=*n*\",\"type\":\"value\"},{\"name\":\"DESCENDING\",\"optional\":true,\"aliases\":[\"DESC\"],\"description\":\"reverses the sort order of the classification variable\",\"type\":\"standalone\"},{\"name\":\"LPREFIX=\",\"optional\":true,\"description\":\"uses at most the first n characters of a CLASS variable label in creating labels for the corresponding design variables\",\"help\":\"LPREFIX=*n*\",\"type\":\"value\"},{\"name\":\"MISSING\",\"optional\":true,\"description\":\"treats missing values (blanks for character variables and ., ._, .A,..., .Z for numeric variables) as valid values for the CLASS variable\",\"type\":\"standalone\"},{\"name\":\"ORDER=\",\"optional\":true,\"description\":\"specifies the sort order for the levels of classification variables\",\"help\":\"ORDER=DATA | FORMATTED | FREQ | INTERNAL\",\"type\":\"choice\"},{\"name\":\"REF=\",\"optional\":true,\"description\":\"specifies a level of the classification variable to be put at the end of the list of levels. You can specify the level of the variable to use as the reference level, or you can use the FIRST or LAST keyword to designate the first or last ordered level as reference.\",\"help\":\"REF='*level*' | FIRST | LAST\",\"type\":\"value\"}]},{\"name\":\"FREQ\",\"description\":\"identifies a variable in the input data set that contains the frequency of occurrence of each observation\",\"help\":\"FREQ  variable;                                              \"},{\"name\":\"MODEL\",\"description\":\"identifies the outcome variable and the model for the outcome that may be used by the estimation method\",\"help\":\"MODEL  outcome &lt;(variable-options)&gt;&lt;= effects&gt;&lt;/ model-options&gt;;                                              \",\"arguments\":[{\"name\":\"ALPHA=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a number to use as the α level for confidence limits that the MODEL statement computes [label=model_dist]{DIST=keyword} specifies the built-in probability distribution to use in the model\",\"help\":\"ALPHA=*number*\",\"type\":\"value\"},{\"name\":\"DIST=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"DISTRIBUTION=\"],\"description\":\"\",\"help\":\"DIST=*keyword*\",\"type\":\"value\",\"arguments\":[{\"name\":\"BIN\",\"followsDelimiter\":\"/\",\"description\":\"specifies a binary distribution\",\"type\":\"standalone\"},{\"name\":\"GAMMA\",\"followsDelimiter\":\"/\",\"description\":\"specifies a gamma distribution\",\"type\":\"standalone\"},{\"name\":\"IGAUSSIAN\",\"followsDelimiter\":\"/\",\"description\":\"specifies an inverse Gaussian distribution\",\"type\":\"standalone\"},{\"name\":\"NORMAL\",\"followsDelimiter\":\"/\",\"description\":\"specifies a normal distribution\",\"type\":\"standalone\"},{\"name\":\"POISSON\",\"followsDelimiter\":\"/\",\"description\":\"specifies a Poisson distribution\",\"type\":\"standalone\"}]},{\"name\":\"LINK=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the link function in the model\",\"help\":\"LINK=*keyword*\",\"type\":\"value\",\"arguments\":[{\"name\":\"CLOGLOG\",\"followsDelimiter\":\"/\",\"description\":\"specifies a complementary log-log link function\",\"type\":\"standalone\"},{\"name\":\"IDENTITY\",\"followsDelimiter\":\"/\",\"description\":\"specifies an identity link function\",\"type\":\"standalone\"},{\"name\":\"INVERSE\",\"followsDelimiter\":\"/\",\"description\":\"specifies a reciprocal link function\",\"type\":\"standalone\"},{\"name\":\"LOG\",\"followsDelimiter\":\"/\",\"description\":\"specifies a log link function\",\"type\":\"standalone\"},{\"name\":\"LOGIT\",\"followsDelimiter\":\"/\",\"description\":\"specifies a logit link function\",\"type\":\"standalone\"},{\"name\":\"POWERMINUS2\",\"followsDelimiter\":\"/\",\"description\":\"specifies a power with exponent -2 link function\",\"type\":\"standalone\"},{\"name\":\"PROBIT\",\"followsDelimiter\":\"/\",\"description\":\"specifies a probit link function\",\"type\":\"standalone\"}]},{\"name\":\"NOSCALE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"holds the scale parameter fixed\",\"type\":\"standalone\"},{\"name\":\"SCALE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the value used for the scale parameter when the NOSCALE option is specified\",\"help\":\"SCALE=*number*\",\"type\":\"value\"},{\"name\":\"DESCENDING\",\"optional\":true,\"description\":\"reverses the order of the outcome categories\",\"type\":\"standalone\"},{\"name\":\"EVENT=\",\"optional\":true,\"description\":\"specifies the event category for the binary outcome model\",\"help\":\"EVENT='*category*' | FIRST | LAST\",\"type\":\"value\"},{\"name\":\"ORDER=\",\"optional\":true,\"description\":\"specifies the sort order for the levels of the outcome variable\",\"help\":\"ORDER=DATA | FORMATTED | FREQ | INTERNAL\",\"type\":\"choice\"},{\"name\":\"REFERENCE=\",\"optional\":true,\"description\":\"specifies the reference category for the binary outcome model\",\"help\":\"REFERENCE='*category*' | FIRST | LAST\",\"type\":\"value\"}]},{\"name\":\"OUTPUT\",\"description\":\"creates a new SAS data set that contains all the variables in the input data set and optionally contains predicted values that are used to estimate the treatment effect\",\"help\":\"OUTPUT &lt;OUT=*SAS-data-set*&gt;&lt;keyword=name...keyword=name&gt;;                                              \",\"arguments\":[{\"name\":\"OUT=\",\"optional\":true,\"description\":\"names the output data set\",\"help\":\"OUT=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"IPW=\",\"optional\":true,\"description\":\"requests the predicted inverse probability weight\",\"help\":\"IPW&lt;(ATT)&gt;=*name*\",\"type\":\"value\"},{\"name\":\"POCNT=\",\"optional\":true,\"aliases\":[\"PREDCNT=\"],\"description\":\"requests the predicted potential outcome for the control condition\",\"help\":\"POCNT=*name*\",\"type\":\"value\"},{\"name\":\"POTRT=\",\"optional\":true,\"aliases\":[\"PREDTRT=\"],\"description\":\"requests the predicted potential outcome for the treatment condition\",\"help\":\"POTRT=*name*\",\"type\":\"value\"},{\"name\":\"PSCORE=\",\"optional\":true,\"description\":\"<sas{PS=name} requests the predicted propensity score>\",\"help\":\"PSCORE=*name*\",\"type\":\"value\"}]},{\"name\":\"PSMODEL\",\"description\":\"identifies the treatment variable and the model for the treatment that may be used by the estimation method\",\"help\":\"PSMODEL  treatment &lt;(variable-options)&gt;&lt;= effects &lt;/ psmodel-options&gt;&gt;;                                              \",\"arguments\":[{\"name\":\"ALPHA=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a number to use as the α level for confidence limits that the PSMODEL statement computes\",\"help\":\"ALPHA=*number*\",\"type\":\"value\"},{\"name\":\"PLOTS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"produces ODS graphics by using the predicted propensity scores\",\"help\":\"PLOTS &lt;(*global-plot-options*)&gt;=*plot-request*&lt;(*options*)&gt;\",\"type\":\"value\",\"arguments\":[{\"name\":\"ALL\",\"followsDelimiter\":\"/\",\"description\":\"produces all possible plots\",\"type\":\"standalone\"},{\"name\":\"LOGITPSCORE\",\"followsDelimiter\":\"/\",\"aliases\":[\"LPS\"],\"description\":\"produces overlaid density plots for the logit of the propensity score within each treatment condition\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"followsDelimiter\":\"/\",\"description\":\"suppresses all plots that the SMODEL statement could produce\",\"type\":\"standalone\"},{\"name\":\"OUTBYPSCORE\",\"followsDelimiter\":\"/\",\"aliases\":[\"OUTBYPS\"],\"description\":\"produces a scatter plot of the outcome variable by the propensity score for nonbinary outcomes\",\"type\":\"standalone\"},{\"name\":\"OUTBYWEIGHT\",\"followsDelimiter\":\"/\",\"aliases\":[\"OUTBYWGT\"],\"description\":\"produces a scatter plot of the outcome variable by weight for nonbinary outcomes\",\"type\":\"standalone\"},{\"name\":\"PSCLOUD\",\"followsDelimiter\":\"/\",\"description\":\"produces a point cloud of the propensity scores by jittering within the control and treatment conditions\",\"type\":\"standalone\"},{\"name\":\"PSCOVDEN\",\"followsDelimiter\":\"/\",\"description\":\"produces density plots for the covariates or continuous effects that are specified in the PSMODEL statement\",\"help\":\"PSCOVDEN&lt;*pscovden-options*&gt;\",\"type\":\"standaloneOrValue\",\"arguments\":[{\"name\":\"EFFECTS\",\"followsDelimiter\":\"/\",\"description\":\"specifies the effects for which density plots are produced\",\"help\":\"EFFECTS(*effects*)\",\"type\":\"value\"},{\"name\":\"UNPACK\",\"followsDelimiter\":\"/\",\"description\":\"suppresses paneling\",\"type\":\"standalone\"},{\"name\":\"UNPACKEFFECTS\",\"followsDelimiter\":\"/\",\"description\":\"creates a separate panel for each effect\",\"type\":\"standalone\"}]},{\"name\":\"PSDIST\",\"followsDelimiter\":\"/\",\"description\":\"produces a box plot of the propensity scores for each treatment condition\",\"type\":\"standalone\"},{\"name\":\"WEIGHTCLOUD\",\"followsDelimiter\":\"/\",\"aliases\":[\"WCLOUD\"],\"description\":\"produces a point cloud of the weights by jittering within the control and treatment conditions\",\"type\":\"standalone\"},{\"name\":\"WEIGHTDIST\",\"followsDelimiter\":\"/\",\"aliases\":[\"WDIST\"],\"description\":\"produces a box plot of the weights for each treatment condition\",\"type\":\"standalone\"},{\"name\":\"ONLY\",\"followsDelimiter\":\"/\",\"description\":\"suppresses plots that are not specified as a plot-request\",\"type\":\"standalone\"},{\"name\":\"UNPACK\",\"followsDelimiter\":\"/\",\"aliases\":[\"UNPACKPANEL\"],\"description\":\"suppresses paneling\",\"type\":\"standalone\"}]},{\"name\":\"WGTFLAG=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a number to use to flag large weights\",\"help\":\"WGTFLAG=*number*\",\"type\":\"value\"},{\"name\":\"DESCENDING\",\"optional\":true,\"description\":\"reverses the order of the treatment categories\",\"type\":\"standalone\"},{\"name\":\"EVENT=\",\"optional\":true,\"description\":\"specifies the event category for the binary treatment model\",\"help\":\"EVENT='*category*' | FIRST | LAST\",\"type\":\"value\"},{\"name\":\"REFERENCE=\",\"optional\":true,\"description\":\"specifies the reference category for the binary treatment model\",\"help\":\"REFERENCE='*category*' | FIRST | LAST\",\"type\":\"value\"}]}],\"supportSiteInformation\":{\"docsetId\":\"statug\",\"docsetVersion\":\"latest\",\"docsetTargetFile\":\"statug_causaltrt_toc.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/CCDM.json",
    "content": "{\"name\":\"CCDM\",\"statements\":[{\"name\":\"PROC CCDM\",\"description\":\"In many loss modeling applications, the loss events are analyzed by modeling the severity (magnitude) of loss and the frequency (count) of loss separately. The primary goal of preparing these models is to estimate the aggregate loss—that is, the total loss that occurs over a period of time for which the frequency model is applicable. For example, an insurance company might want to assess the expected and worst-case losses for a particular business line, such as automobile insurance, over an entire year given the models for the number of losses in a year and the severity of each loss. A bank might want to assess the value-at-risk (VaR), a measure of the worst-case loss, for a portfolio of assets given the frequency and severity models for each asset type.\",\"help\":\"PROC CCDM <ADJUSTEDSEVERITY=symbol-name | ADJSEV=symbol-name><COUNTSTORE=SAS-item-store><DATA=CAS-libref.data-table><IGNOREPARMCOVARIANCE><MAXCOUNTDRAW=number | MAXCOUNT=number><NOPRINT><NPERTURBEDSAMPLES=number | NPERTURB=number><NREPLICATES=number | NREP=number><OUTDRAW=CAS-libref.data-table | OUTSAMPLE=CAS-libref.data-table><PCTLDEF=1 | 2 | 3... ><PRINT <(global-display-option)> =display-optionPRINT <(global-display-option)> =(display-option …display-option)><SEED=number><SEVERITYEST=CAS-libref.data-table><SEVERITYSTORE=SAS-item-store | SEVSTORE=SAS-item-store><VARDEF=divisor>;     \\n\\tABORT <ABEND><CANCEL><CANCEL FILE> ...;\\n\\n\\tARRAY <_ALL_><_NUMERIC_><_TEMPORARY_> ...;\\n\\n\\tATTRIB <FORMAT=format><INFORMAT=informat><LABEL='label'> ...;\\n\\n\\tBY variable-list;\\n\\n\\tCALL routine(parameter-1<, ...parameter-n>);\\n\\n\\tCONTINUE;\\n\\n\\tDELETE;\\n\\n\\tDESCRIBE;\\n\\n\\tDISPLAY <CASESENSITIVE><EXCLUDE><EXCLUDEALL> ...;\\n\\n\\tDISPLAYOUT <INCLUDEALL><NOREPLACE><REPEATED> ...;\\n\\n\\tDO <OVER><><> ...;\\n\\n\\t;\\n\\n\\t;\\n\\n\\tDROP variable-list;\\n\\n\\tELSE <DO><IF><THEN> ...;\\n\\n\\tEND;\\n\\n\\tENDRSUBMIT;\\n\\n\\tERROR <message>;\\n\\n\\tEXECUTE;\\n\\n\\tEXTERNALCOUNTS <COUNT=count-variable><ID=replication-id-variable> ;\\n\\n\\tFILE <DISK><DUMMY><LOG> ...;\\n\\n\\tFORMAT <DEFAULT=default-format> ;\\n\\n\\tGO TO label | GOTO label;\\n\\n\\tIF <DO><THEN><WHEN> ...;\\n\\n\\tINFILE <DATALINES4><DATALINES><DISK> ...;\\n\\n\\tINFORMAT <DEFAULT= default-informat> ;\\n\\n\\tINPUT <specification(s)><@|@@>;\\n\\n\\tKEEP variable-list;\\n\\n\\t;\\n\\n\\tLEAVE;\\n\\n\\tLENGTH <DEFAULT=n> ;\\n\\n\\tLINK label;\\n\\n\\tLIST;\\n\\n\\tLOCK <CLEAR><LIST> ;\\n\\n\\tMERGE <ALTER=><BUFNO=<n | nK | hexX>... ><END=variable> ...;\\n\\n\\tMISSING character(s);\\n\\n\\tMODIFY <END=variable><KEY=index><NOBS=variable> ...;\\n\\n\\tOTHERWISE <DO> ;\\n\\n\\tOUTPUT ADJSAMPLEVAR=variable-name | ADJSAMPLEVAR=(variable-name <…variable-name>) OUT=CAS-libref.data-table | OUTSAMPLE=CAS-libref.data-table SAMPLEVAR=variable-name ...;\\n\\n\\tOUTSUM <KURTOSIS|KURT < =variable-name >><MEAN < =variable-name >><OUT=CAS-libref.data-table | OUTSUM=CAS-libref.data-table> ...;\\n\\n\\tPAGE;\\n\\n\\tPUT <_ALL_><_INFILE_><_ODS_> ...;\\n\\n\\tPUTLOG 'message';\\n\\n\\tRENAME old-name-1=new-name-1 ... <old-name-n=new-name-n>;\\n\\n\\tREPLACE <data-set-name-1><...data-set-name-n>;\\n\\n\\tRETAIN <element-list(s) <initial-value(s) |;\\n\\n\\tRETURN;\\n\\n\\tRSUBMIT <options>; ENDRSUBMIT <CANCEL>;\\n\\n\\t;\\n\\n\\tSET <END=variable><INDSNAME=variable><KEY=index</UNIQUE>> ...;\\n\\n\\tSEVERITYMODEL <DEFINITIONSTABLE=\\\"CAS-table-name\\\" <(CASLIB=\\\"caslib\\\")> | SEVDEF=\\\"CAS-table-name\\\" <(CASLIB=\\\"caslib\\\")>> ;\\n\\n\\tSKIP <n>;\\n\\n\\tSTOP;\\n\\n\\tWHEN <DO> ;\\n\\n\\tWHERE where-expression-1;\\n\",\"arguments\":[{\"name\":\"ADJUSTEDSEVERITY=\",\"optional\":true,\"aliases\":[\"ADJSEV=\"],\"description\":\"Syntax: ADJUSTEDSEVERITY=symbol-name | ADJSEV=symbol-name ADJUSTEDSEVERITY=(symbol-name <…symbol-name>) | ADJSEV=(symbol-name <…symbol-name>) Names one or more symbols that represent an adjusted severity value in the SAS programming statements that you specify. If you specify more than one symbol-name, then separate them with spaces and enclose them in parentheses.\",\"type\":\"value\"},{\"name\":\"COUNTSTORE=\",\"optional\":true,\"description\":\"Names the item store that contains all the information about the frequency (count) model. The CNTSELECT procedure generates this item store when you use the STORE= option.\",\"help\":\"COUNTSTORE=*SAS-item-store*\",\"type\":\"value\"},{\"name\":\"DATA=\",\"optional\":true,\"description\":\"Names the input data table for PROC CCDM to use. The default is the most recently created data table. CAS-libref.data-table is a two-level name, where\",\"help\":\"DATA=*CAS-libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"IGNOREPARMCOVARIANCE\",\"optional\":true,\"aliases\":[\"IGNORECOV\"],\"description\":\"Specifies that the covariance estimates be ignored for perturbation analysis.\",\"type\":\"standalone\"},{\"name\":\"MAXCOUNTDRAW=\",\"optional\":true,\"aliases\":[\"MAXCOUNT=\"],\"description\":\"Specifies an upper limit on the number of loss events (count) that is used for simulating one aggregate loss sample point.\",\"type\":\"value\"},{\"name\":\"NOPRINT\",\"optional\":true,\"description\":\"Turns off all displayed output. If you specify this option, then PROC CCDM ignores any value that you specify for the PRINT= option.\",\"type\":\"standalone\"},{\"name\":\"NPERTURBEDSAMPLES=\",\"optional\":true,\"aliases\":[\"NPERTURB=\"],\"description\":\"Requests that parameter perturbation analysis be conducted. The model parameters are perturbed the specified number of times and a separate full sample is simulated for each set of perturbed parameter values. The summary statistics and percentiles are computed for each such perturbed sample, and their values are aggregated across the samples to compute the mean and standard deviation of each summary statistic and percentile.\",\"type\":\"value\"},{\"name\":\"NREPLICATES=\",\"optional\":true,\"aliases\":[\"NREP=\"],\"description\":\"Specifies a number that controls the size of the compound distribution sample that PROC CCDM simulates. The number is interpreted differently based on whether you specify the EXTERNALCOUNTS statement.\",\"type\":\"value\"},{\"name\":\"OUTDRAW=\",\"optional\":true,\"aliases\":[\"OUTSAMPLE=\"],\"description\":\"Specifies the output data table to contain the individual severity random draws. CAS-libref.data-table is a two-level name, where CAS-libref refers to the caslib and session identifier, and data-table specifies the name of the input data table.\",\"type\":\"value\"},{\"name\":\"PCTLDEF=\",\"optional\":true,\"description\":\"Specifies the method to compute the percentiles of the compound distribution.\",\"help\":\"PCTLDEF=1 | 2 | 3 | 4 | 5\",\"type\":\"choice\",\"arguments\":[{\"name\":\"1\",\"description\":\"Definition 1 for computing quantile statistics\",\"type\":\"standalone\"},{\"name\":\"2\",\"description\":\"Definition 2 for computing quantile statistics\",\"type\":\"standalone\"},{\"name\":\"3\",\"description\":\"Definition 3 for computing quantile statistics\",\"type\":\"standalone\"},{\"name\":\"4\",\"description\":\"Definition 4 for computing quantile statistics\",\"type\":\"standalone\"},{\"name\":\"5\",\"description\":\"Definition 5 for computing quantile statistics\",\"type\":\"standalone\"}]},{\"name\":\"PRINT=\",\"optional\":true,\"description\":\"Specifies the desired displayed output. If you specify more than one display-option, then separate them with spaces and enclose them in parentheses. You can specify the following global-display-option:\",\"help\":\"PRINT=ONLY\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ONLY\",\"type\":\"standalone\"}]},{\"name\":\"SEED=\",\"optional\":true,\"description\":\"Specifies the integer to use as the seed in generating the pseudo-random numbers that are used for simulating severity and frequency values.\",\"help\":\"SEED=*number*\",\"type\":\"value\"},{\"name\":\"SEVERITYEST=\",\"optional\":true,\"description\":\"Names the input data table that contains the parameter estimates for the severity model. CAS-libref.data-table is a two-level name, where CAS-libref refers to the caslib and session identifier, and data-table specifies the name of the input data table.\",\"help\":\"SEVERITYEST=*CAS-libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"SEVERITYSTORE=\",\"optional\":true,\"aliases\":[\"SEVSTORE=\"],\"description\":\"Specifies the item store that contains the context and estimates of the severity model. A PROC SEVSELECT step with the OUTSTORE= option creates this item store.\",\"type\":\"value\"},{\"name\":\"VARDEF=\",\"optional\":true,\"description\":\"Specifies the divisor to use in the calculation of variance, standard deviation, kurtosis, and skewness of the compound distribution sample.\",\"help\":\"VARDEF=*divisor*\",\"type\":\"value\"}]},{\"name\":\"ABORT\",\"description\":\"Stops executing the current DATA step, SAS job, or SAS session. n is an integer value that enables you to specify a condition code: o when used with the CANCEL argument, the value is placed in the SYSINFO automatic macro variable o when not used with the CANCEL argument, the error code that is returned by SAS is ERROR. The value of ERROR depends on the operating system. The condition code n is returned to the operating system as the final SAS system exit code.\",\"help\":\"ABORT &lt;ABEND&gt;&lt;CANCEL&gt;&lt;CANCEL FILE&gt; ...\",\"arguments\":[{\"name\":\"<n>\",\"optional\":true,\"placeholder\":true,\"description\":\"Replace <n> with an actual integer value. n is an integer value that enables you to specify a condition code: o when used with the CANCEL argument, the value is placed in the SYSINFO automatic macro variable o when not used with the CANCEL argument, the error code that is returned by SAS is ERROR. The value of ERROR depends on the operating system. The condition code n is returned to the operating system as the final SAS system exit code.\",\"type\":\"value\"},{\"name\":\"ABEND\",\"optional\":true,\"description\":\"Causes abnormal termination of the current SAS job or session. Results depend on the method of operation: o batch mode and noninteractive mode o stops processing immediately o sends an error message to the SAS log that states that execution was terminated by the ABEND option of the ABORT macro statement o does not execute any subsequent statements or check syntax o returns control to the operating environment; further action is based on how your operating environment and your site treat jobs that end abnormally. o windowing environment and interactive line mode\",\"type\":\"standalone\"},{\"name\":\"CANCEL\",\"optional\":true,\"description\":\"Causes the cancellation of the current submitted statements. The results depend on the method of operation: o batch mode and noninteractive mode o The entire SAS program and SAS system are terminated. o The error message is written to the SAS log. o windowing environment and interactive line mode o It only clears the current submitted program. o Other subsequent submitted programs are not affected. o The error message is written to the SAS log. o workspace server and stored process server o It only clears currently submitted program. o Other subsequent submit calls are not affected. o The error message is written to the SAS log. o SAS IntrNet application server\",\"help\":\"CANCEL \",\"type\":\"standalone\"},{\"name\":\"CANCEL FILE\",\"optional\":true,\"description\":\"Causes only the contents of the autoexec file or %INCLUDE file to be cleared by the %ABORT statement. Other submitted source statements will be executed after the autoexec or %INCLUDE file.\",\"type\":\"standalone\"},{\"name\":\"NOLIST\",\"optional\":true,\"description\":\"Suppresses the output of all variables to the SAS log. Requirement: NOLIST must be the last option in the ABORT statement.\",\"type\":\"standalone\"},{\"name\":\"RETURN\",\"optional\":true,\"description\":\"Causes abnormal termination of the current SAS job or session. Results depend on the method of operation: o batch mode and noninteractive mode o stops processing immediately o sends an error message to the SAS log that states that execution was terminated by the RETURN option in the ABORT macro statement o does not execute any subsequent statements or check syntax o returns control to the operating environment with a condition code indicating an error. o windowing environment and interactive line mode\",\"type\":\"standalone\"}]},{\"name\":\"ARRAY\",\"description\":\"Defines the elements of an array.\",\"help\":\"ARRAY &lt;_ALL_&gt;&lt;_NUMERIC_&gt;&lt;_TEMPORARY_&gt; ...\",\"arguments\":[{\"name\":\"_ALL_\",\"optional\":true,\"description\":\"Specifies all variables.\",\"type\":\"standalone\"},{\"name\":\"_CHARACTER_\",\"optional\":true,\"description\":\"Specifies all character variables.\",\"type\":\"standalone\"},{\"name\":\"_NUMERIC_\",\"optional\":true,\"description\":\"Specifies all numeric variables.\",\"type\":\"standalone\"},{\"name\":\"_TEMPORARY_\",\"optional\":true,\"description\":\"Creates a list of temporary data elements.\",\"type\":\"standalone\"}]},{\"name\":\"ATTRIB\",\"description\":\"Associates a format, informat, label, and length with one or more variables.\",\"help\":\"ATTRIB &lt;FORMAT=format&gt;&lt;INFORMAT=informat&gt;&lt;LABEL='label'&gt; ...\",\"arguments\":[{\"name\":\"FORMAT=\",\"optional\":true,\"description\":\"Associates a format with variables in a variable-list.\",\"help\":\"FORMAT=*format*\",\"type\":\"value\"},{\"name\":\"INFORMAT=\",\"optional\":true,\"description\":\"Associates an informat with variables in a variable-list.\",\"help\":\"INFORMAT=*informat*\",\"type\":\"value\"},{\"name\":\"LABEL=\",\"optional\":true,\"description\":\"Associates a label with variables in a variable-list.\",\"help\":\"LABEL='*label*'\",\"type\":\"value\"},{\"name\":\"LENGTH=\",\"optional\":true,\"description\":\"Specifies the length of variables in a variable-list.\",\"type\":\"value\"},{\"name\":\"TRANSCODE=\",\"optional\":true,\"description\":\"Specifies whether character variables can be transcoded.\",\"help\":\"TRANSCODE=YES | NO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YES\",\"description\":\"Specifies that character variables can be transcoded.\",\"type\":\"standalone\"},{\"name\":\"NO\",\"description\":\"Suppresses transcoding.\",\"type\":\"standalone\"}]}]},{\"name\":\"BY\",\"description\":\"You can use the BY statement in the CCDM procedure to process the input data table in groups of observations defined by the BY variables. If you specify the BY statement, then unlike procedures that do not use a CAS server, PROC CCDM does not need the input data table to be sorted in the order of the BY variables. As a consequence, the NOTSORTED and DESCENDING options have no effect and PROC CCDM ignores them.\",\"help\":\"BY variable-list\"},{\"name\":\"CALL\",\"description\":\"Invokes a SAS CALL routine.\",\"help\":\"CALL routine(parameter-1&lt;, ...parameter-n&gt;)\"},{\"name\":\"CONTINUE\",\"description\":\"Stops processing the current DO-loop iteration and resumes processing the next iteration.\",\"help\":\"CONTINUE\"},{\"name\":\"DELETE\",\"description\":\"Stops processing the current observation.\",\"help\":\"DELETE\"},{\"name\":\"DESCRIBE\",\"description\":\"Retrieves source code from a stored compiled DATA step program or a DATA step view.\",\"help\":\"DESCRIBE\"},{\"name\":\"DISPLAY\",\"description\":\"The DISPLAY statement enables you to specify a list of display tables to display or exclude. This statement is similar to the ODS SELECT, ODS EXCLUDE, and ODS TRACE statements. However, the DISPLAY statement can improve performance when a large number of tables could be generated (such as in BY-group processing). The procedure processes the DISPLAY statement on a CAS server and thus sends only a subset of ODS tables to the SAS client. Because ODS statements are processed on a SAS client, all the display tables generated are first sent to the client and then the client creates a subset. If both DISPLAY and ODS statements are used together, the DISPLAY statement takes precedence over the ODS statements.\",\"help\":\"DISPLAY &lt;CASESENSITIVE&gt;&lt;EXCLUDE&gt;&lt;EXCLUDEALL&gt; ...\",\"arguments\":[{\"name\":\"CASESENSITIVE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Performs a case-sensitive comparison of table names in the table-list to display table names when tables are subsetted for display. To preserve case, you must enclose table names in the table-list in quotation marks.\",\"type\":\"standalone\"},{\"name\":\"EXCLUDE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays all display tables except those specified in the table-list.\",\"type\":\"standalone\"},{\"name\":\"EXCLUDEALL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Suppresses display of all tables. This option takes precedence over the other options.\",\"type\":\"standalone\"},{\"name\":\"TRACE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays the display table names, labels, and paths.\",\"type\":\"standalone\"}]},{\"name\":\"DISPLAYOUT\",\"description\":\"The DISPLAYOUT statement enables you to create CAS output tables from your displayed output. This statement is similar to the ODS OUTPUT statement. The table-spec-list specifies a list of CAS output tables to create. Each entry in the list has either a key or a key=value format: key=value specifies key as the ODS table name, path, or partial pathname, and specifies value as the CAS output table name. key specifies key as the ODS table name and also as the CAS output table name. Table names and partial pathnames are discussed under the DISPLAY statement. The DISPLAYOUT statement does not support regular expressions.\",\"help\":\"DISPLAYOUT &lt;INCLUDEALL&gt;&lt;NOREPLACE&gt;&lt;REPEATED&gt; ...\",\"arguments\":[{\"name\":\"INCLUDEALL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Creates output CAS tables for all display tables. The name of the created output CAS table is the same as the corresponding display table name. If you specify this option, the table-spec-list specification is ignored.\",\"type\":\"standalone\"},{\"name\":\"NOREPLACE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Does not replace an existing CAS output table of the same name.\",\"type\":\"standalone\"},{\"name\":\"REPEATED\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Replicates the CAS output tables on all nodes.\",\"type\":\"standalone\"}]},{\"name\":\"DO\",\"description\":\"Specifies a group of statements to be executed as a unit.\",\"help\":\"DO &lt;OVER&gt;&lt;&gt;&lt;&gt; ...\",\"arguments\":[{\"name\":\"BY\",\"optional\":true,\"description\":\"Precedes an increment integer (other than 0) or an expression that generates an integer to be added to the value of the index variable in each iteration of the DO loop.\",\"type\":\"standalone\"},{\"name\":\"OVER\",\"optional\":true,\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"TO\",\"optional\":true,\"description\":\"Separates the start and stop integers or expressions that control the number of times the portion of the DATA step between the iterative DO and END statements is processed.\",\"type\":\"standalone\"},{\"name\":\"UNTIL\",\"optional\":true,\"description\":\"...more SAS statements... END\",\"type\":\"standalone\"},{\"name\":\"WHILE\",\"optional\":true,\"description\":\"\",\"type\":\"standalone\"}]},{\"name\":\"DO UNTIL\",\"description\":\"Executes statements in a DO loop repetitively until a condition is true.\",\"help\":\"\"},{\"name\":\"DO WHILE\",\"description\":\"Executes statements in a DO loop repetitively while a condition is true.\",\"help\":\"\"},{\"name\":\"DROP\",\"description\":\"Excludes variables from output SAS data sets.\",\"help\":\"DROP variable-list\"},{\"name\":\"ELSE\",\"description\":\"If the condition in an IF-THEN statement is false and an ELSE statement is present, then the ELSE action is carried out.\",\"help\":\"ELSE &lt;DO&gt;&lt;IF&gt;&lt;THEN&gt; ...\",\"arguments\":[{\"name\":\"AND\",\"optional\":true,\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"DO\",\"optional\":true,\"description\":\"Action statement in an IF-THEN-ELSE construct.\",\"type\":\"standalone\"},{\"name\":\"IF\",\"optional\":true,\"description\":\"Executes a SAS statement for observations that meet specific conditions.\",\"type\":\"standalone\"},{\"name\":\"NOT\",\"optional\":true,\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"OR\",\"optional\":true,\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"OUTPUT\",\"optional\":true,\"description\":\"Action statement in an IF-THEN-ELSE construct.\",\"type\":\"standalone\"},{\"name\":\"THEN\",\"optional\":true,\"description\":\"If the conditions that are specified in the IF clause are met, the IF-THEN statement executes a SAS statement for observations that are read from a SAS data set, for records in an external file, or for computed values.\",\"type\":\"standalone\"}]},{\"name\":\"END\",\"description\":\"Ends a DO group or SELECT group processing.\",\"help\":\"END\"},{\"name\":\"ENDRSUBMIT\",\"description\":\"Marks the end of a block of statements that a client session submits to a server session for execution.\",\"help\":\"ENDRSUBMIT\"},{\"name\":\"ERROR\",\"description\":\"Sets _ERROR_ to 1. A message written to the SAS log is optional.\",\"help\":\"ERROR &lt;message&gt;\"},{\"name\":\"EXECUTE\",\"description\":\"Executes a stored compiled DATA step program.\",\"help\":\"EXECUTE\"},{\"name\":\"EXTERNALCOUNTS\",\"description\":\"The EXTERNALCOUNTS statement enables you to specify externally simulated frequency counts. By default, PROC CCDM internally simulates the number of loss events by using the frequency model input (COUNTSTORE= item store). However, if you specify the EXTERNALCOUNTS statement, then PROC CCDM uses the counts that you specify in the DATA= data table and simulates only the severity values internally.\",\"help\":\"EXTERNALCOUNTS &lt;COUNT=count-variable&gt;&lt;ID=replication-id-variable&gt;\",\"arguments\":[{\"name\":\"COUNT=\",\"optional\":true,\"description\":\"Specifies the variable that contains the simulated counts. This variable must be present in the DATA= data table.\",\"help\":\"COUNT=*count-variable*\",\"type\":\"value\"},{\"name\":\"ID=\",\"optional\":true,\"description\":\"Specifies the variable that contains the replicate identifier. This variable must be present in the DATA= data table.\",\"help\":\"ID=*replication-id-variable*\",\"type\":\"value\"}]},{\"name\":\"FILE\",\"description\":\"where file-specification identifies an external file that the DATA step uses to write output from a PUT statement. File-specification can have these forms: 'external-file' specifies the physical name of an external file, which is enclosed in quotation marks. The physical name is the name by which the operating environment recognizes the file. fileref specifies the fileref of an external file. Requirement: You must have previously associated fileref with an external file in a FILENAME statement or function, or in an appropriate operating environment command. There is only one exception to this rule: when you use the FILEVAR= option, the fileref is simply a placeholder. fileref(file) specifies a fileref that is previously assigned to an external file that is an aggregate grouping of files. Follow the fileref with the name of a file or member, which is enclosed in parentheses. LOG is a reserved fileref that directs the output that is produced by any PUT statements to the SAS log. PRINT is a reserved fileref that directs the output that is produced by any PUT statements to the same file as the output that is produced by SAS procedures. device-type specifies the type of device or the access method that is used if the fileref points to an input or output device or a location that is not a physical file: DISK, DUMMY, GTERM, PIPE, PLOTTER, PRINTER, TAPE, TEMP, TERMINAL, UPRINTER. type specifies the type of file in z/OS: DLI, HFS, MVS, PIPE, VSAM. operating-environment-options or host-options Additional specifications might be required when you specify some devices. See the SAS documentation for your operating environment before specifying a value other than DISK. Values in addition to the ones listed here might be available in some operating environments.\",\"help\":\"FILE &lt;DISK&gt;&lt;DUMMY&gt;&lt;LOG&gt; ...\",\"arguments\":[{\"name\":\"ALQ=\",\"optional\":true,\"description\":\"[OpenVMS Host Option] Specifies the number of blocks initially allocated to an external file when it is created. The value can range from 0 to 2,147,483,647. If the value is 0 (the default), the minimum number of blocks required for the given file format is used.\",\"type\":\"value\"},{\"name\":\"BLKSIZE=\",\"optional\":true,\"aliases\":[\"BLK=\"],\"description\":\"[Windows/UNIX Host Option] Specifies the number of bytes that are physically read or written in an I/O operation. The default is 8K. The maximum is 1M (Windows) or 1G-1(UNIX).\",\"help\":\"BLKSIZE=*block-size*\",\"type\":\"value\"},{\"name\":\"BLOCK\",\"optional\":true,\"description\":\"Is used only in the context of named pipes. This option indicates whether the client is to wait if no data is currently available. BLOCK is the default value.\",\"type\":\"standalone\"},{\"name\":\"BOM\",\"optional\":true,\"aliases\":[\"BOMFILE\"],\"description\":\"[UNIX/z/OS Host Option] Includes a Byte Order Mark when a UNICODE-encoded file is created.\",\"type\":\"standalone\"},{\"name\":\"BUFND=\",\"optional\":true,\"description\":\"Indicates how many data buffers to use for the VSAM data set.\",\"help\":\"BUFND=*value*\",\"type\":\"value\"},{\"name\":\"BUFNI=\",\"optional\":true,\"description\":\"Indicates how many index buffers to use for the VSAM data set.\",\"help\":\"BUFNI=*value*\",\"type\":\"value\"},{\"name\":\"BYTE\",\"optional\":true,\"description\":\"Is used only in the context of named pipes. This option indicates the type of pipe. BYTE is the default value.\",\"type\":\"standalone\"},{\"name\":\"CC=\",\"optional\":true,\"description\":\"[OpenVMS Host Option] Specifies the carriage-control format of the SAS log and the procedure output file.\",\"help\":\"CC=FORTRAN | PRINT | CR\",\"type\":\"choice\",\"arguments\":[{\"name\":\"FORTRAN\",\"description\":\"Indicates FORTRAN carriage-control format. This is the default for print files.\",\"type\":\"standalone\"},{\"name\":\"PRINT\",\"description\":\"Indicates OpenVMS print format.\",\"type\":\"standalone\"},{\"name\":\"CR\",\"description\":\"Indicates OpenVMS carriage-return, carriage-control format. This is the default for nonprinting files.\",\"type\":\"standalone\"}]},{\"name\":\"CLIENT\",\"optional\":true,\"description\":\"[Windows Host Option] Is used only in the context of named pipes. This option specifies the mode of a named pipe. The default value is SERVER.\",\"type\":\"standalone\"},{\"name\":\"CLOSE=\",\"optional\":true,\"description\":\"[z/OS Host Option] Indicates how a tape volume is positioned at the end of the DATA step.\",\"help\":\"CLOSE=REREAD | LEAVE | REWIND | FREE | DISP\",\"type\":\"choice\",\"arguments\":[{\"name\":\"REREAD\",\"description\":\"Positions the tape at the logical beginning of the data set.\",\"type\":\"standalone\"},{\"name\":\"LEAVE\",\"description\":\"Positions the tape at the logical end of the data set.\",\"type\":\"standalone\"},{\"name\":\"REWIND\",\"description\":\"Rewinds the tape to the physical beginning of the volume.\",\"type\":\"standalone\"},{\"name\":\"FREE\",\"description\":\"Dynamically deallocates the tape volume.\",\"type\":\"standalone\"},{\"name\":\"DISP\",\"description\":\"Is implied by the control language.\",\"type\":\"standalone\"}]},{\"name\":\"COLUMN=\",\"optional\":true,\"aliases\":[\"COL=\"],\"description\":\"Specifies a variable that SAS automatically sets to the current column location of the pointer.\",\"type\":\"value\"},{\"name\":\"COMMAND\",\"optional\":true,\"description\":\"[Windows Host Option] Allows remote commands to be issued to DDE server applications that not use the SYSTEM topic name.\",\"type\":\"standalone\"},{\"name\":\"CSRC\",\"optional\":true,\"description\":\"[OpenVMS Host Option] Specifies that you want to use the CSRCESRV services (available with z/OS) to compress data on output. For example: data _null_; file myfile csrc; put ... ; run;\",\"type\":\"standalone\"},{\"name\":\"DCB=\",\"optional\":true,\"description\":\"specifies the fileref of an external file that was referenced in an earlier FILE or INFILE statement in the same DATA step. SAS uses that file's RECFM=, LRECL=, and BLKSIZE= information for the current file.\",\"help\":\"DCB=*fileref*\",\"type\":\"value\"},{\"name\":\"DELIMITER=\",\"optional\":true,\"aliases\":[\"DLM=\"],\"description\":\"Specifies an alternate delimiter (other than a blank) to be used for LIST output.\",\"type\":\"value\"},{\"name\":\"DEQ=\",\"optional\":true,\"description\":\"[OpenVMS Host Option] Specifies the number of blocks added when OpenVMS RMS automatically extends an external file during a write operation. The value can range from 0 to 65,535. The default value is 0, telling OpenVMS RMS to use the process's default value. A large value results in fewer file extensions over the life of the file; a small value results in numerous file extensions over the life of the file. A file with numerous file extensions might be noncontiguous, thereby slowing record access.\",\"type\":\"value\"},{\"name\":\"DEVTYPE=\",\"optional\":true,\"description\":\"Defines a character variable (minimum length 24) that SAS sets to the device type. SAS obtains the device type by using the z/OS operating environment DEVTYPE macro.\",\"help\":\"DEVTYPE=*variable*\",\"type\":\"value\"},{\"name\":\"DISK\",\"optional\":true,\"description\":\"[device-type] Specifies that the device is a disk drive.\",\"type\":\"standalone\"},{\"name\":\"DLI\",\"optional\":true,\"description\":\"[type] For IMS-DL/I databases.\",\"type\":\"standalone\"},{\"name\":\"DLMSOPT=\",\"optional\":true,\"description\":\"Specifies a parsing option for the DLMSTR= T option that removes trailing blanks of the string delimiter.\",\"help\":\"DLMSOPT='T'\",\"type\":\"choice\",\"arguments\":[{\"name\":\"'T'\",\"description\":\"Removes trailing blanks of the string delimiter.\",\"type\":\"standalone\"}]},{\"name\":\"DLMSTR=\",\"optional\":true,\"description\":\"Specifies a character string as an alternate delimiter (other than a blank) to be used for LIST output\",\"type\":\"value\"},{\"name\":\"DROPOVER\",\"optional\":true,\"description\":\"Discards data items that exceed the output line length (as specified by the LINESIZE= or LRECL= options in the FILE statement).\",\"type\":\"standalone\"},{\"name\":\"DSCB=\",\"optional\":true,\"description\":\"Defines a character variable (minimum length 96) that SAS sets to the Data Set Control Block (DSCB) information from a non-VSAM data set.\",\"help\":\"DSCB=*variable*\",\"type\":\"value\"},{\"name\":\"DSD\",\"optional\":true,\"description\":\"Specifies that data values that contain embedded delimiters, such as tabs or commas, be enclosed in quotation marks.\",\"type\":\"standalone\"},{\"name\":\"DUMMY\",\"optional\":true,\"description\":\"[device-type] Specifies that the output to the file is discarded. Tip: Specifying DUMMY can be useful for testing.\",\"type\":\"standalone\"},{\"name\":\"ENCODING=\",\"optional\":true,\"description\":\"Specifies the encoding to use when writing to the output file.\",\"help\":\"ENCODING='warabic' | 'wbaltic' | 'wlatin2' | 'wcyrillic' | 'wgreek' | 'whebrew' | 'wturkish' | 'wvietnamese' | 'wlatin1' | 'utf-8' | 'ms-950' | 'ms-936' | 'ms-932' | 'ms-949'\",\"type\":\"choice\",\"arguments\":[{\"name\":\"'warabic'\",\"description\":\"Arabic\",\"type\":\"standalone\"},{\"name\":\"'wbaltic'\",\"description\":\"Baltic\",\"type\":\"standalone\"},{\"name\":\"'wlatin2'\",\"description\":\"Central Europe\",\"type\":\"standalone\"},{\"name\":\"'wcyrillic'\",\"description\":\"Cyrillic\",\"type\":\"standalone\"},{\"name\":\"'wgreek'\",\"description\":\"Greek\",\"type\":\"standalone\"},{\"name\":\"'whebrew'\",\"description\":\"Hebrew\",\"type\":\"standalone\"},{\"name\":\"'wturkish'\",\"description\":\"Turkish\",\"type\":\"standalone\"},{\"name\":\"'wvietnamese'\",\"description\":\"Vietnamese\",\"type\":\"standalone\"},{\"name\":\"'wlatin1'\",\"description\":\"Western\",\"type\":\"standalone\"},{\"name\":\"'utf-8'\",\"description\":\"Unicode encoding\",\"type\":\"standalone\"},{\"name\":\"'ms-950'\",\"description\":\"Traditional Chinese\",\"type\":\"standalone\"},{\"name\":\"'ms-936'\",\"description\":\"Simplified Chinese\",\"type\":\"standalone\"},{\"name\":\"'ms-932'\",\"description\":\"Japanese\",\"type\":\"standalone\"},{\"name\":\"'ms-949'\",\"description\":\"Korean\",\"type\":\"standalone\"}]},{\"name\":\"EOFCONNECT\",\"optional\":true,\"description\":\"[Windows Host Option] Is used only in the context of named pipes and is valid only when you are defining the server. This option indicates that if an end-of-file (EOF) character is received from a client, the server should try to connect to the next client.\",\"type\":\"standalone\"},{\"name\":\"FAC=\",\"optional\":true,\"description\":\"[OpenVMS Host Option] Overrides the default file access attributes used for external files. Use this option to indicate the level of access you want to allow for an external file. You can allow READ, WRITE, UPDATE, and DELETE access (as well as no access). By default with external files, files opened for input allow read access, files opened for output allow WRITE access, and files opened for update allow READ and WRITE access. The form of the FAC= option is FAC=access-option-list where access-option-list can be one of the following: DEL specifies DELETE access. GET specifies READ access. PUT specifies WRITE access. UPD specifies UPDATE access. You can combine these values in any order. For example, specifying the following indicates that you want DELETE, READ, and WRITE access:\",\"type\":\"value\"},{\"name\":\"FEEDBACK=\",\"optional\":true,\"aliases\":[\"FDBK=\"],\"description\":\"Defines a numeric variable that SAS sets to the VSAM logical error code. This option is similar to the _FDBK_ automatic variable. When SAS sets the FEEDBACK variable, you must reset it to 0 in order to continue.\",\"type\":\"value\"},{\"name\":\"FILEDATA=\",\"optional\":true,\"description\":\"[UNIX/z/OS Host Option] The FILEDATA= option specifies that the file being processed is expected to contain either binary or text data.\",\"help\":\"FILEDATA=BINARY | TEXT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"BINARY\",\"description\":\"The FILEDATA= option specifies that the file being processed is expected to contain binary data.\",\"type\":\"standalone\"},{\"name\":\"TEXT\",\"description\":\"The FILEDATA= option specifies that the file being processed is expected to contain text data.\",\"type\":\"standalone\"}]},{\"name\":\"FILENAME=\",\"optional\":true,\"description\":\"Defines a character variable, whose name you supply, that SAS sets to the value of the physical name of the file currently open for PUT statement output.\",\"type\":\"value\"},{\"name\":\"FILEVAR=\",\"optional\":true,\"description\":\"Defines a variable whose change in value causes the FILE statement to close the current output file and open a new one the next time the FILE statement executes.\",\"type\":\"value\"},{\"name\":\"FLOWOVER\",\"optional\":true,\"description\":\"Causes data that exceeds the current line length to be written on a new line.\",\"type\":\"standalone\"},{\"name\":\"FOOTNOTES\",\"optional\":true,\"aliases\":[\"FOOTNOTE\"],\"description\":\"Specifies that the currently defined footnotes are printed.\",\"type\":\"standalone\"},{\"name\":\"GSFCC=\",\"optional\":true,\"description\":\"[OpenVMS Host Option] Specifies the file format of graphic stream files (GSF files). When specified in the FILENAME statement, it affects only the GSF files that are created using that fileref.\",\"help\":\"GSFCC=PRINT | CR | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"PRINT\",\"description\":\"Creates a GSF file. It is a VFC format file with carriage control set to null. These files can be used with most utilities with the exception of some file transfer protocols, such as Kermit. This is the default value for this option.\",\"type\":\"standalone\"},{\"name\":\"CR\",\"description\":\"Creates a carriage return carriage control file.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"Creates a file with no carriage control. This format is useful if you plan to download the file to a personal computer.\",\"type\":\"standalone\"}]},{\"name\":\"GTERM\",\"optional\":true,\"description\":\"[device-type] Indicates that the output device type is a graphics device that will receive graphics data.\",\"type\":\"standalone\"},{\"name\":\"HEADER=\",\"optional\":true,\"description\":\"Defines a statement label that identifies a group of SAS statements that you want to execute each time SAS begins a new output page\",\"type\":\"value\"},{\"name\":\"HFS\",\"optional\":true,\"description\":\"[type] For UNIX System Services files.\",\"type\":\"standalone\"},{\"name\":\"HOTLINK\",\"optional\":true,\"description\":\"[Windows Host Option] Instructs SAS to use the DDE HOTLINK.\",\"type\":\"standalone\"},{\"name\":\"IGNOREDOSEOF\",\"optional\":true,\"description\":\"[Windows Host Option] Is used in the context of I/O operations on variable record format files. When this option is specified, any occurrence of ^Z is interpreted as character data and not as an end-of-file marker.\",\"type\":\"standalone\"},{\"name\":\"JFCB=\",\"optional\":true,\"description\":\"Defines a character variable (minimum length 176) that SAS sets to the Job File Control Block (JFCB).\",\"help\":\"JFCB=*variable*\",\"type\":\"value\"},{\"name\":\"KEY=\",\"optional\":true,\"description\":\"[OpenVMS Host Option] Specifies which key SAS uses to read the records in an RMS file with indexed organization. The KEY= option is always used with the KEYVALUE= option.\",\"type\":\"value\"},{\"name\":\"KEYLEN=\",\"optional\":true,\"description\":\"Specifies a numeric SAS variable that, when used with GENKEY, specifies the length of the key that is to be compared to the keys in the file.\",\"help\":\"KEYLEN=*variable*\",\"type\":\"value\"},{\"name\":\"KEYPOS=\",\"optional\":true,\"description\":\"Indicates the numeric variable that SAS sets to the position of the VSAM key field. This option enables you to read keys without knowing the key position in advance. This variable is set to the column number (starting from 1).\",\"help\":\"KEYPOS=*variable*\",\"type\":\"value\"},{\"name\":\"KEYVALUE=\",\"optional\":true,\"description\":\"[OpenVMS Host Option] Specifies the key value with which to begin reading an indexed file.\",\"type\":\"value\"},{\"name\":\"LINE=\",\"optional\":true,\"description\":\"Defines a variable whose value is the current relative line number within the group of lines available to the output pointer.\",\"type\":\"value\"},{\"name\":\"LINESIZE=\",\"optional\":true,\"aliases\":[\"LS=\"],\"description\":\"Sets the maximum number of columns per line for reports and the maximum record length for data files.\",\"type\":\"value\"},{\"name\":\"LINESLEFT=\",\"optional\":true,\"aliases\":[\"LL=\"],\"description\":\"Defines a variable whose value is the number of lines left on the current page.\",\"type\":\"value\"},{\"name\":\"LOG\",\"optional\":true,\"description\":\"Is a reserved fileref that directs the output that is produced by any PUT statements to the SAS log.\",\"type\":\"standalone\"},{\"name\":\"LRECL=\",\"optional\":true,\"description\":\"Specifies the logical record length of the output file.\",\"type\":\"value\"},{\"name\":\"MBC=\",\"optional\":true,\"description\":\"[OpenVMS Host Option] Specifies the size of the I/O buffers that OpenVMS RMS allocates for a particular file. The value can range from 0 to 127 and represents the number of blocks used for each buffer. By default, this option is set to 0 and the default values for the process are used. The MBC= option (multiblock count) is used for both input and output to control the allocation for a particular file. If you want to control the allocation size for all the external files used during the current SAS session, you can use the MBC= option in every FILE, FILENAME, or INFILE statement. You can also use the DCL SET RMS_DEFAULT command to specify a process default, and let the SAS values default to the process's default values.\",\"type\":\"value\"},{\"name\":\"MBF=\",\"optional\":true,\"description\":\"[OpenVMS Host Option] Specifies the number of I/O buffers you want OpenVMS RMS to allocate for a particular file. The value can range from 0 to 127 and represents the number of buffers used. By default, this option is set to a value of 2. If a value of 0 is specified, the default value for the process is used. The MBF= option (multibuffer count) is used for both input and output to control the number of buffers allocated for a particular file. If you want to control the number of buffers allocated for all the external files used during the SAS session, you can use the MBF= option in every FILE, FILENAME, or INFILE statement. The DCL SET RMS_DEFAULT command can be used to specify a process default. Then, you can let the SAS values default to the process's default values.\",\"type\":\"value\"},{\"name\":\"MESSAGE\",\"optional\":true,\"description\":\"Is used only in the context of named pipes. This option indicates the type of pipe. BYTE is the default value.\",\"type\":\"standalone\"},{\"name\":\"MOD\",\"optional\":true,\"description\":\"Writes the output lines after any existing lines in the file.\",\"type\":\"standalone\"},{\"name\":\"MVS\",\"optional\":true,\"description\":\"[type] For z/OS data sets.\",\"type\":\"standalone\"},{\"name\":\"N=\",\"optional\":true,\"description\":\"Specifies the number of lines that you want available to the output pointer in the current iteration of the DATA step.\",\"help\":\"N=&lt;*n*&gt; | PAGESIZE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"<n>\",\"placeholder\":true,\"description\":\"Specifies the number of lines that are available to the output pointer. Replace n with an integer.\",\"type\":\"value\"},{\"name\":\"PAGESIZE\",\"aliases\":[\"PS\"],\"description\":\"Specifies that the entire page is available to the output pointer.\",\"type\":\"standalone\"}]},{\"name\":\"NOBLOCK\",\"optional\":true,\"description\":\"Is used only in the context of named pipes. This option indicates whether the client is to wait if no data is currently available. BLOCK is the default value.\",\"type\":\"standalone\"},{\"name\":\"NOBOM\",\"optional\":true,\"aliases\":[\"NOBOMFILE\"],\"description\":\"[UNIX/z/OS Host Option] Specifies that a Byte Order Mark is not included when a UNICODE-encoded file is created.\",\"type\":\"standalone\"},{\"name\":\"NOFOOTNOTES\",\"optional\":true,\"aliases\":[\"NOFOOTNOTE\"],\"description\":\"Specifies that the currently defined footnotes are not printed.\",\"type\":\"standalone\"},{\"name\":\"NOPAD\",\"optional\":true,\"description\":\"Specifies that records written to an external file are not padded with blanks to the length that is specified in the LRECL= option.\",\"type\":\"standalone\"},{\"name\":\"NOPRINT\",\"optional\":true,\"description\":\"Specifies that carriage-control characters are placed in the output lines.\",\"type\":\"standalone\"},{\"name\":\"NOTAB\",\"optional\":true,\"description\":\"[Windows Host Option] Instructs SAS to ignore tab characters between variables.\",\"type\":\"standalone\"},{\"name\":\"NOTITLES\",\"optional\":true,\"aliases\":[\"NOTITLE\"],\"description\":\"Specifies that the current title lines are not printed on the pages of files.\",\"type\":\"standalone\"},{\"name\":\"ODS=\",\"optional\":true,\"description\":\"Specifies to use the Output Delivery System to format the output from a DATA step.\",\"type\":\"value\"},{\"name\":\"OLD\",\"optional\":true,\"description\":\"Replaces the previous contents of the file.\",\"type\":\"standalone\"},{\"name\":\"PAD\",\"optional\":true,\"description\":\"Specifies that records written to an external file are padded with blanks to the length that is specified in the LRECL= option.\",\"type\":\"standalone\"},{\"name\":\"PAGESIZE=\",\"optional\":true,\"aliases\":[\"PS=\"],\"description\":\"Sets the number of lines per page for your reports.\",\"help\":\"PAGESIZE=*value*\",\"type\":\"value\"},{\"name\":\"PASSWD=\",\"optional\":true,\"description\":\"Gives the appropriate password for a VSAM data set that has password protection.\",\"help\":\"PASSWD=*value*\",\"type\":\"value\"},{\"name\":\"PIPE\",\"optional\":true,\"description\":\"[device-type] Specifies an unnamed pipe. Note: Some operating environments do not support pipes.\",\"type\":\"standalone\"},{\"name\":\"PLOTTER\",\"optional\":true,\"description\":\"[device-type] Specifies an unbuffered graphics output device.\",\"type\":\"standalone\"},{\"name\":\"PRINT\",\"optional\":true,\"description\":\"Either a reserved fileref that directs the output that is produced by any PUT statements to the same file as the output that is produced by SAS procedures, or an option that specifies that carriage-control characters are placed in the output lines.\",\"type\":\"standalone\"},{\"name\":\"PRINTER\",\"optional\":true,\"description\":\"[device-type] Specifies a printer or printer spool file.\",\"type\":\"standalone\"},{\"name\":\"RC4STOP\",\"optional\":true,\"description\":\"[VSAM Option] Stops the DATA step from executing if a return code greater than 4 is returned by the operating environment when the VSAM data set is opened.\",\"type\":\"standalone\"},{\"name\":\"RECFM=\",\"optional\":true,\"description\":\"[Windows/UNIX/z/OS Host Option] Specifies the record format of the external file. Under z/OS, the following values can be appended to the RECFM values:\",\"help\":\"RECFM=F | P | S | V | N | s370V | S370VB | S370VBS | STREAMLF | FB | VB | U\",\"type\":\"choice\",\"arguments\":[{\"name\":\"F\",\"description\":\"Fixed-record format\",\"type\":\"standalone\"},{\"name\":\"P\",\"description\":\"Print format.\",\"type\":\"standalone\"},{\"name\":\"S\",\"description\":\"Stream-record format.\",\"type\":\"standalone\"},{\"name\":\"V\",\"aliases\":[\"D\"],\"description\":\"Variable-record format (the default)\",\"type\":\"standalone\"},{\"name\":\"N\",\"description\":\"Indicates binary format and causes the file to be treated as a byte stream. If LRECL is not specified, by default SAS reads 256 bytes at a time from the file.\",\"type\":\"standalone\"},{\"name\":\"s370V\",\"description\":\"Indicates the variable S370 record format (V).\",\"type\":\"standalone\"},{\"name\":\"S370VB\",\"description\":\"Indicates the variable block S370 record format (VB).\",\"type\":\"standalone\"},{\"name\":\"S370VBS\",\"description\":\"Indicates the variable block with spanned records S370 record format (VBS).\",\"type\":\"standalone\"},{\"name\":\"STREAMLF\",\"description\":\"[For OpenVMS] Specifies StreamLF record format. Records are delimited by LF.\",\"type\":\"standalone\"},{\"name\":\"FB\",\"description\":\"Specifies fixed-length records, blocked.\",\"type\":\"standalone\"},{\"name\":\"VB\",\"description\":\"Specifies variable-length records, blocked.\",\"type\":\"standalone\"},{\"name\":\"U\",\"description\":\"Specifies undefined-length records, unblocked.\",\"type\":\"standalone\"}]},{\"name\":\"RECORDS=\",\"optional\":true,\"description\":\"Defines a numeric variable that SAS sets to the number of logical records in a VSAM data set that has been opened for input.\",\"help\":\"RECORDS=*variable*\",\"type\":\"value\"},{\"name\":\"RECORG=\",\"optional\":true,\"description\":\"[z/OS Host Option] Specifies the organization of records in a new VSAM data set. Use this option only if SMS is active.\",\"help\":\"RECORG=KS | ES | RR | LS\",\"type\":\"choice\",\"arguments\":[{\"name\":\"KS\",\"description\":\"Specifies a VSAM key-sequenced data set.\",\"type\":\"standalone\"},{\"name\":\"ES\",\"description\":\"Specifies a VSAM entry-sequenced data set.\",\"type\":\"standalone\"},{\"name\":\"RR\",\"description\":\"Specifies a VSAM relative-record data set.\",\"type\":\"standalone\"},{\"name\":\"LS\",\"description\":\"Specifies a VSAM linear-space data set.\",\"type\":\"standalone\"}]},{\"name\":\"RESET\",\"optional\":true,\"description\":\"[VSAM Option] Indicates that the VSAM file is reset to empty (no records) when it is opened. This option applies only to loading a VSAM data set that has been marked REUSE. You cannot use this option if the data set contains an alternate index.\",\"type\":\"standalone\"},{\"name\":\"RETRY=\",\"optional\":true,\"description\":\"[Windows Host Option]\",\"help\":\"RETRY=*seconds*\",\"type\":\"value\"},{\"name\":\"RRN=\",\"optional\":true,\"description\":\"Defines a numeric variable that you set to the relative record number (RRN) of the record that you want to read or write. This option indicates that keyed direct access is being used; it is appropriate for RRDS only.\",\"help\":\"RRN=*variable*\",\"type\":\"value\"},{\"name\":\"SERVER\",\"optional\":true,\"description\":\"[Windows Host Option] Is used only in the context of named pipes. This option specifies the mode of a named pipe. The default value is SERVER.\",\"type\":\"standalone\"},{\"name\":\"SHR=\",\"optional\":true,\"description\":\"[OpenVMS Host Option] Overrides the default file-sharing attributes used for external files. With this option, you can indicate the access level you want to give other users. You can allow READ, WRITE, UPDATE, and DELETE access (as well as no access). By default with external files, files opened for input allow shared read access, and files opened for output or UPDATE do not allow shared access. However, you can allow other users to have READ and WRITE access to a file that you are opening for input only. To accomplish this, use the SHR= option. The syntax of the SHR= option is SHR=share-option-list where share-option-list can be one of the following: DEL specifies DELETE access. GET specifies shared READ access. NONE specifies no shared access. PUT specifies shared WRITE access. UPD specifies UPDATE access. You can combine these values in any order. For example, specifying the following indicates that you want shared DELETE, READ, and WRITE access:\",\"type\":\"value\"},{\"name\":\"STOPOVER\",\"optional\":true,\"description\":\"Stops processing the DATA step immediately if a PUT statement attempts to write a data item that exceeds the current line length.\",\"type\":\"standalone\"},{\"name\":\"TAPE\",\"optional\":true,\"description\":\"[device-type] Specifies a tape drive.\",\"type\":\"standalone\"},{\"name\":\"TEMP\",\"optional\":true,\"description\":\"[device-type] Creates a temporary file that exists only as long as the filename is assigned.\",\"type\":\"standalone\"},{\"name\":\"TERMINAL\",\"optional\":true,\"description\":\"[device-type] Specifies the user's terminal.\",\"type\":\"standalone\"},{\"name\":\"TERMSTR=\",\"optional\":true,\"description\":\"[Windows/UNIX Host Option] Specifies the end-of-line character for the file. Use this option to share files between the UNIX and Windows operating environments.\",\"help\":\"TERMSTR=CR | CRLF | LF | NULL | NONE | NL | LFCR | CRNL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"CR\",\"description\":\"Carriage return (CR).\",\"type\":\"standalone\"},{\"name\":\"CRLF\",\"description\":\"Carriage return (CR) followed by line feed (LF).\",\"type\":\"standalone\"},{\"name\":\"LF\",\"description\":\"Line feed only (the default).\",\"type\":\"standalone\"},{\"name\":\"NULL\",\"description\":\"NULL character (0x00).\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"Record terminators are not used. This parameter provides the same function as FILEDATA=BINARY.\",\"type\":\"standalone\"},{\"name\":\"NL\",\"description\":\"The newline character (x'15') is used as the record terminator. This parameter provides the same function as FILEDATA=TEXT.\",\"type\":\"standalone\"},{\"name\":\"LFCR\",\"description\":\"The sequence LF followed by CR is used as the record terminator.\",\"type\":\"standalone\"},{\"name\":\"CRNL\",\"description\":\"The sequence CR followed by NL is used as the record terminator.\",\"type\":\"standalone\"}]},{\"name\":\"TITLES\",\"optional\":true,\"aliases\":[\"TITLE\"],\"description\":\"Specifies that the current title lines are printed on the pages of files.\",\"type\":\"standalone\"},{\"name\":\"UCBNAME=\",\"optional\":true,\"description\":\"Defines a character variable (minimum length 3) that SAS sets to the unit name (device address), which is derived from information in the unit control block (UCB).\",\"help\":\"UCBNAME=*variable*\",\"type\":\"value\"},{\"name\":\"UNBUF\",\"optional\":true,\"description\":\"[UNIX Host Option] Tells SAS not to perform buffered writes to the file on any subsequent FILE statement. This option applies especially when you are reading from or writing to a data collection device. As explained in SAS Language Reference: Dictionary, it also prevents buffered reads on INFILE statements.\",\"type\":\"standalone\"},{\"name\":\"UPRINTER\",\"optional\":true,\"description\":\"[device-type] Specifies a Universal Printing printer definition name.\",\"type\":\"standalone\"},{\"name\":\"VOLUME=\",\"optional\":true,\"aliases\":[\"VOLUMES=\"],\"description\":\"Defines a character variable (with a minimum length of six characters) that SAS sets to the tape VOLSER or the disk volume serial number. In the case of a multivolume file, the VOLUME= variable contains the concatenated volume serial numbers up to the length of the variable or the first 30 volumes, whichever is less. The value in the VOLUME= variable contains the volume serial number of the first data set in the concatenation when the file is opened. This serial number changes if you open a subsequent data set in the concatenation.\",\"type\":\"value\"},{\"name\":\"VSAM\",\"optional\":true,\"description\":\"[type] For VSAM files.\",\"type\":\"standalone\"},{\"name\":\"_FILE_=\",\"optional\":true,\"description\":\"Names a character variable that references the current output buffer of this FILE statement.\",\"help\":\"_FILE_=*variable*\",\"type\":\"value\"}]},{\"name\":\"FORMAT\",\"description\":\"Associates formats with variables.\",\"help\":\"FORMAT &lt;DEFAULT=default-format&gt;\",\"arguments\":[{\"name\":\"DEFAULT=\",\"optional\":true,\"description\":\"Specifies a temporary default format for displaying the values of variables that are not listed in the FORMAT statement. These default formats apply only to the current DATA step; they are not permanently associated with variables in the output data set. A DEFAULT= format specification applies to o variables that are not named in a FORMAT or ATTRIB statement o variables that are not permanently associated with a format within a SAS data set o variables that are not written with the explicit use of a format. Default: If you omit DEFAULT=, SAS uses BESTw. as the default numeric format and $w. as the default character format. Restriction: Use this option only in a DATA step.\",\"help\":\"DEFAULT=*default-format*\",\"type\":\"value\"}]},{\"name\":\"GO TO\",\"aliases\":[\"GOTO\"],\"description\":\"Jumps to a new statement.\",\"help\":\"GO TO label | GOTO label\"},{\"name\":\"IF\",\"description\":\"Continues processing only those observations that meet the condition of the specified expression.\",\"help\":\"IF &lt;DO&gt;&lt;THEN&gt;&lt;WHEN&gt; ...\",\"arguments\":[{\"name\":\"AND\",\"optional\":true,\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"CALL\",\"optional\":true,\"description\":\"Invokes a SAS CALL routine.\",\"type\":\"standalone\"},{\"name\":\"DO\",\"optional\":true,\"description\":\"Action statement in an IF-THEN construct.\",\"type\":\"standalone\"},{\"name\":\"GO\",\"optional\":true,\"aliases\":[\"GOTO\"],\"description\":\"Jumps to a new statement.\",\"help\":\"GO TO\",\"type\":\"standalone\"},{\"name\":\"NOT\",\"optional\":true,\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"OR\",\"optional\":true,\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"OUTPUT\",\"optional\":true,\"description\":\"Action statement in an IF-THEN construct.\",\"type\":\"standalone\"},{\"name\":\"PUT\",\"optional\":true,\"description\":\"Action statement in an IF-THEN construct.\",\"type\":\"standalone\"},{\"name\":\"RETURN\",\"optional\":true,\"description\":\"Action statement in an IF-THEN construct. Stops executing statements at the current point in the DATA step and returns to a predetermined point in the step.\",\"type\":\"standalone\"},{\"name\":\"SET\",\"optional\":true,\"description\":\"Reads an observation from one or more SAS data sets.\",\"type\":\"standalone\"},{\"name\":\"STOP\",\"optional\":true,\"description\":\"Action statement in an IF-THEN construct. Stops execution of the current DATA step.\",\"type\":\"standalone\"},{\"name\":\"THEN\",\"optional\":true,\"description\":\"If the conditions that are specified in the IF clause are met, the IF-THEN statement executes a SAS statement for observations that are read from a SAS data set, for records in an external file, or for computed values.\",\"type\":\"standalone\"},{\"name\":\"WHEN\",\"optional\":true,\"description\":\"WHEN statement in an IF-THEN-WHEN construct.\",\"type\":\"standalone\"}]},{\"name\":\"INFILE\",\"description\":\"file-specification identifies a file in one of the following forms: fileref specifies the assigned fileref or the allocated ddname of the file. A fileref must conform to the rules for ddnames. That is, it can consist of up to eight letters, numbers, or national characters ($, @, and #) and underscores (_). The first character must be either a letter or a national character. fileref(member) specifies a member of a partitioned data set, where the PDS or PDSE is specified by the assigned fileref or allocated ddname. If you specify a fileref that is not allocated, then SAS attempts to construct a data set name with the following three qualifiers: o the value of the SYSPREF= option (usually the user ID) o the specified fileref o DATA If a file is found that has this constructed data set name, then SAS opens it and reads it. The value of the FILEEXT= system option can affect the way SAS interprets PDS and PDSE member names. 'physical-filename' specifies a physical file, which can be a member of a partitioned data set (PDS), an extended partitioned data set (PDSE), or a UNIX System Services file, using the following syntax: o a fully qualified data set name. For example: 'myid.raw.datax' o a fully qualified data set name with a member in parentheses. For example: 'sas.raw.data(mem1)' o a partially qualified data set name with a period preceding it. For example: '.raw.data' o a partially qualified data set name with a period preceding it and a member name in parentheses. For example: '.raw.data(mem1)' o for PDS members, a fully or partially qualified data set name with a wildcard name in parentheses. For example: '.raw.data(mem*)', '.raw.data(*mem1)', '.raw.data(*)' o a UNIX System Services file. For example: '/u/userid/raw' or 'HFS:raw' or '/u/userid/data/*'\",\"help\":\"INFILE &lt;DATALINES4&gt;&lt;DATALINES&gt;&lt;DISK&gt; ...\",\"arguments\":[{\"name\":\"BACKWARD\",\"optional\":true,\"aliases\":[\"BKWD\"],\"description\":\"[VSAM Option] Causes SAS to read the VSAM data set backwards (INFILE only)\",\"type\":\"standalone\"},{\"name\":\"BLKSIZE=\",\"optional\":true,\"aliases\":[\"BLK=\"],\"description\":\"[Windows/UNIX Host Option] Specifies the number of bytes that are physically read or written in an I/O operation. The default is 8K. The maximum is 1M (Windows) or 1G-1(UNIX).\",\"help\":\"BLKSIZE=*block-size*\",\"type\":\"value\"},{\"name\":\"BLOCK\",\"optional\":true,\"description\":\"Is used only in the context of named pipes. This option indicates whether the client is to wait if no data is currently available. BLOCK is the default value.\",\"type\":\"standalone\"},{\"name\":\"BUFND=\",\"optional\":true,\"description\":\"Indicates how many data buffers to use for the VSAM data set.\",\"help\":\"BUFND=*value*\",\"type\":\"value\"},{\"name\":\"BUFNI=\",\"optional\":true,\"description\":\"Indicates how many index buffers to use for the VSAM data set.\",\"help\":\"BUFNI=*value*\",\"type\":\"value\"},{\"name\":\"BYTE\",\"optional\":true,\"description\":\"Is used only in the context of named pipes. This option indicates the type of pipe. BYTE is the default value.\",\"type\":\"standalone\"},{\"name\":\"CCHHR=\",\"optional\":true,\"description\":\"specifies a character variable to which the physical address (cylinder head record) of a record is returned. This applies to files on CKD disks only.\",\"help\":\"CCHHR=*variable*\",\"type\":\"value\"},{\"name\":\"CLIENT\",\"optional\":true,\"description\":\"[Windows Host Option] Is used only in the context of named pipes. This option specifies the mode of a named pipe. The default value is SERVER.\",\"type\":\"standalone\"},{\"name\":\"CLOSE=\",\"optional\":true,\"description\":\"[z/OS Host Option] Indicates how a tape volume is positioned at the end of the DATA step.\",\"help\":\"CLOSE=REREAD | LEAVE | REWIND | FREE | DISP\",\"type\":\"choice\",\"arguments\":[{\"name\":\"REREAD\",\"description\":\"Positions the tape at the logical beginning of the data set.\",\"type\":\"standalone\"},{\"name\":\"LEAVE\",\"description\":\"Positions the tape at the logical end of the data set.\",\"type\":\"standalone\"},{\"name\":\"REWIND\",\"description\":\"Rewinds the tape to the physical beginning of the volume.\",\"type\":\"standalone\"},{\"name\":\"FREE\",\"description\":\"Dynamically deallocates the tape volume.\",\"type\":\"standalone\"},{\"name\":\"DISP\",\"description\":\"Is implied by the control language.\",\"type\":\"standalone\"}]},{\"name\":\"COLUMN=\",\"optional\":true,\"aliases\":[\"COL=\"],\"description\":\"Names a variable that SAS uses to assign the current column location of the input pointer. Like automatic variables, the COLUMN= variable is not written to the data set.\",\"type\":\"value\"},{\"name\":\"CONTROLINTERVAL\",\"optional\":true,\"aliases\":[\"CTLINTV\",\"CNV\"],\"description\":\"[VSAM Option] Indicates that you want to read physical VSAM control interval records rather than logical records. This option is typically used for diagnostic purposes (INFILE only).\",\"type\":\"standalone\"},{\"name\":\"CSRC\",\"optional\":true,\"description\":\"[OpenVMS Host Option] Specifies that you want to use the CSRCESRV services (available with z/OS) to compress data on output. For example: data _null_; file myfile csrc; put ... ; run;\",\"type\":\"standalone\"},{\"name\":\"CVAF\",\"optional\":true,\"description\":\"[VTOC Option under z/OS] Tells SAS to use the Common VTOC Access Facility (CVAF) of the IBM program product Data Facility/Device Support (DF/DS) for indexed VTOCs. If the VTOC is not indexed, or if your installation does not have CVAF, this option is ignored.\",\"type\":\"standalone\"},{\"name\":\"DATALINES4\",\"optional\":true,\"aliases\":[\"CARDS4\"],\"description\":\"Specifies that the input data immediately follows the DATALINES4|CARDS4 statement in the DATA step. Using DATALINES4|CARDS4 allows you to use the INFILE statement options to control how the INPUT statement reads instream data lines.\",\"type\":\"standalone\"},{\"name\":\"DATALINES\",\"optional\":true,\"aliases\":[\"CARDS\"],\"description\":\"Specifies that the input data immediately follows the DATALINES|CARDS statement in the DATA step. Using DATALINES|CARDS allows you to use the INFILE statement options to control how the INPUT statement reads instream data lines.\",\"type\":\"standalone\"},{\"name\":\"DCB=\",\"optional\":true,\"description\":\"specifies the fileref of an external file that was referenced in an earlier FILE or INFILE statement in the same DATA step. SAS uses that file's RECFM=, LRECL=, and BLKSIZE= information for the current file.\",\"help\":\"DCB=*fileref*\",\"type\":\"value\"},{\"name\":\"DELIMITER=\",\"optional\":true,\"aliases\":[\"DLM=\"],\"description\":\"Specifies an alternate delimiter (other than a blank) to be used for LIST input.\",\"type\":\"value\"},{\"name\":\"DISK\",\"optional\":true,\"description\":\"[device-type] Specifies that the device is a disk drive.\",\"type\":\"standalone\"},{\"name\":\"DLI\",\"optional\":true,\"description\":\"[type] For IMS-DL/I databases.\",\"type\":\"standalone\"},{\"name\":\"DLMSOPT=\",\"optional\":true,\"description\":\"Specifies whether case-insensitive comparisons will be done, or trailing blanks of the string delimiter will be removed.\",\"help\":\"DLMSOPT='I' | 'T'\",\"type\":\"choice\",\"arguments\":[{\"name\":\"'I'\",\"description\":\"Specifies that case-insensitive comparisons will be done.\",\"type\":\"standalone\"},{\"name\":\"'T'\",\"description\":\"Specifies that trailing blanks of the string delimiter will be removed.\",\"type\":\"standalone\"}]},{\"name\":\"DLMSTR=\",\"optional\":true,\"description\":\"Specifies a character string as an alternate delimiter (other than a blank) to be used for LIST input\",\"type\":\"value\"},{\"name\":\"DSD\",\"optional\":true,\"description\":\"Specifies that when data values are enclosed in quotation marks, delimiters within the value are treated as character data. The DSD option changes how SAS treats delimiters when you use LIST input and sets the default delimiter to a comma. When you specify DSD, SAS treats two consecutive delimiters as a missing value and removes quotation marks from character values.\",\"type\":\"standalone\"},{\"name\":\"DUMMY\",\"optional\":true,\"description\":\"[device-type] Specifies that the output to the file is discarded. Tip: Specifying DUMMY can be useful for testing.\",\"type\":\"standalone\"},{\"name\":\"ENCODING=\",\"optional\":true,\"description\":\"Specifies the encoding to use when reading from the external file.\",\"help\":\"ENCODING='warabic' | 'wbaltic' | 'wlatin2' | 'wcyrillic' | 'wgreek' | 'whebrew' | 'wturkish' | 'wvietnamese' | 'wlatin1' | 'utf-8' | 'ms-950' | 'ms-936' | 'ms-932' | 'ms-949'\",\"type\":\"choice\",\"arguments\":[{\"name\":\"'warabic'\",\"description\":\"Arabic\",\"type\":\"standalone\"},{\"name\":\"'wbaltic'\",\"description\":\"Baltic\",\"type\":\"standalone\"},{\"name\":\"'wlatin2'\",\"description\":\"Central Europe\",\"type\":\"standalone\"},{\"name\":\"'wcyrillic'\",\"description\":\"Cyrillic\",\"type\":\"standalone\"},{\"name\":\"'wgreek'\",\"description\":\"Greek\",\"type\":\"standalone\"},{\"name\":\"'whebrew'\",\"description\":\"Hebrew\",\"type\":\"standalone\"},{\"name\":\"'wturkish'\",\"description\":\"Turkish\",\"type\":\"standalone\"},{\"name\":\"'wvietnamese'\",\"description\":\"Vietnamese\",\"type\":\"standalone\"},{\"name\":\"'wlatin1'\",\"description\":\"Western\",\"type\":\"standalone\"},{\"name\":\"'utf-8'\",\"description\":\"Unicode encoding\",\"type\":\"standalone\"},{\"name\":\"'ms-950'\",\"description\":\"Traditional Chinese\",\"type\":\"standalone\"},{\"name\":\"'ms-936'\",\"description\":\"Simplified Chinese\",\"type\":\"standalone\"},{\"name\":\"'ms-932'\",\"description\":\"Japanese\",\"type\":\"standalone\"},{\"name\":\"'ms-949'\",\"description\":\"Korean\",\"type\":\"standalone\"}]},{\"name\":\"END=\",\"optional\":true,\"description\":\"Specifies a variable that SAS sets to 1 when the current input data record is the last in the input file. Until SAS processes the last data record, the END= variable is set to 0. Like automatic variables, this variable is not written to the data set. Restriction: You cannot use the END= option with UNBUFFERED option, DATALINES or DATALINES4 statement, and an INPUT statement that reads multiple input data records.\",\"type\":\"value\"},{\"name\":\"EOF=\",\"optional\":true,\"description\":\"Specifies a statement label that is the object of an implicit GO TO when the INFILE statement reaches end of file.\",\"type\":\"value\"},{\"name\":\"EOFCONNECT\",\"optional\":true,\"description\":\"[Windows Host Option] Is used only in the context of named pipes and is valid only when you are defining the server. This option indicates that if an end-of-file (EOF) character is received from a client, the server should try to connect to the next client.\",\"type\":\"standalone\"},{\"name\":\"EOV=\",\"optional\":true,\"description\":\"Specifies a variable that SAS sets to 1 when the first record in a file in a series of concatenated files is read.\",\"type\":\"value\"},{\"name\":\"ERASE=\",\"optional\":true,\"description\":\"Defines a numeric SAS variable that you must set to 1 when you want to erase a VSAM record (INFILE only).\",\"help\":\"ERASE=*variable*\",\"type\":\"value\"},{\"name\":\"EXPANDTABS\",\"optional\":true,\"description\":\"Specifies to expand tab characters to the standard tab setting, which is set at 8-column intervals that start at column 9.\",\"type\":\"standalone\"},{\"name\":\"FAC=\",\"optional\":true,\"description\":\"[OpenVMS Host Option] Overrides the default file access attributes used for external files. Use this option to indicate the level of access you want to allow for an external file. You can allow READ, WRITE, UPDATE, and DELETE access (as well as no access). By default with external files, files opened for input allow read access, files opened for output allow WRITE access, and files opened for update allow READ and WRITE access. The form of the FAC= option is FAC=access-option-list where access-option-list can be one of the following: DEL specifies DELETE access. GET specifies READ access. PUT specifies WRITE access. UPD specifies UPDATE access. You can combine these values in any order. For example, specifying the following indicates that you want DELETE, READ, and WRITE access:\",\"type\":\"value\"},{\"name\":\"FEEDBACK=\",\"optional\":true,\"aliases\":[\"FDBK=\"],\"description\":\"Defines a numeric variable that SAS sets to the VSAM logical error code. This option is similar to the _FDBK_ automatic variable. When SAS sets the FEEDBACK variable, you must reset it to 0 in order to continue.\",\"type\":\"value\"},{\"name\":\"FILEDATA=\",\"optional\":true,\"description\":\"[UNIX/z/OS Host Option] The FILEDATA= option specifies that the file being processed is expected to contain either binary or text data.\",\"help\":\"FILEDATA=BINARY | TEXT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"BINARY\",\"description\":\"The FILEDATA= option specifies that the file being processed is expected to contain binary data.\",\"type\":\"standalone\"},{\"name\":\"TEXT\",\"description\":\"The FILEDATA= option specifies that the file being processed is expected to contain text data.\",\"type\":\"standalone\"}]},{\"name\":\"FILENAME=\",\"optional\":true,\"description\":\"Specifies a variable that SAS sets to the physical StatementOptionName of the currently opened input file. Like automatic variables, the FILENAME= variable is not written to the data set.\",\"type\":\"value\"},{\"name\":\"FILEVAR=\",\"optional\":true,\"description\":\"Specifies a variable whose change in value causes the INFILE statement to close the current input file and open a new one.\",\"type\":\"value\"},{\"name\":\"FIRSTOBS=\",\"optional\":true,\"description\":\"Specifies a record number that SAS uses to begin reading input data records in the input file.\",\"type\":\"value\"},{\"name\":\"FLOWOVER\",\"optional\":true,\"description\":\"Causes an INPUT statement to continue to read the next input data record if it does not find values in the current input line for all the variables in the statement.\",\"type\":\"standalone\"},{\"name\":\"GENKEY\",\"optional\":true,\"description\":\"[VSAM Option] Causes SAS to use the KEY= variable as the leading portion of a record's key. VSAM retrieves the first record whose key matches the generic key (INFILE only).\",\"type\":\"standalone\"},{\"name\":\"GTERM\",\"optional\":true,\"description\":\"[device-type] Indicates that the output device type is a graphics device that will receive graphics data.\",\"type\":\"standalone\"},{\"name\":\"HFS\",\"optional\":true,\"description\":\"[type] For UNIX System Services files.\",\"type\":\"standalone\"},{\"name\":\"HOTLINK\",\"optional\":true,\"description\":\"[Windows Host Option] Instructs SAS to use the DDE HOTLINK.\",\"type\":\"standalone\"},{\"name\":\"IDMS\",\"optional\":true,\"description\":\"[type] For CA-IDMS files.\",\"type\":\"standalone\"},{\"name\":\"IGNOREDOSEOF\",\"optional\":true,\"description\":\"[Windows Host Option] Is used in the context of I/O operations on variable record format files. When this option is specified, any occurrence of ^Z is interpreted as character data and not as an end-of-file marker.\",\"type\":\"standalone\"},{\"name\":\"ISAM\",\"optional\":true,\"description\":\"[type] For ISAM files.\",\"type\":\"standalone\"},{\"name\":\"KEY=\",\"optional\":true,\"description\":\"[OpenVMS Host Option] Specifies which key SAS uses to read the records in an RMS file with indexed organization. The KEY= option is always used with the KEYVALUE= option.\",\"type\":\"value\"},{\"name\":\"KEYLEN=\",\"optional\":true,\"description\":\"Specifies a numeric SAS variable that, when used with GENKEY, specifies the length of the key that is to be compared to the keys in the file.\",\"help\":\"KEYLEN=*variable*\",\"type\":\"value\"},{\"name\":\"KEYPOS=\",\"optional\":true,\"description\":\"Indicates the numeric variable that SAS sets to the position of the VSAM key field. This option enables you to read keys without knowing the key position in advance. This variable is set to the column number (starting from 1).\",\"help\":\"KEYPOS=*variable*\",\"type\":\"value\"},{\"name\":\"KEYVALUE=\",\"optional\":true,\"description\":\"[OpenVMS Host Option] Specifies the key value with which to begin reading an indexed file.\",\"type\":\"value\"},{\"name\":\"LENGTH=\",\"optional\":true,\"description\":\"Specifies a variable that SAS sets to the length of the current input line.\",\"type\":\"value\"},{\"name\":\"LINE=\",\"optional\":true,\"description\":\"Specifies a variable that SAS sets to the line location of the input pointer in the input buffer. Like automatic variables, the LINE= variable is not written to the data set.\",\"type\":\"value\"},{\"name\":\"LINESIZE=\",\"optional\":true,\"aliases\":[\"LS=\"],\"description\":\"Specifies the record length that is available to the INPUT statement.\",\"type\":\"value\"},{\"name\":\"LRECL=\",\"optional\":true,\"description\":\"Specifies the logical record length.\",\"type\":\"value\"},{\"name\":\"MBC=\",\"optional\":true,\"description\":\"[OpenVMS Host Option] Specifies the size of the I/O buffers that OpenVMS RMS allocates for a particular file. The value can range from 0 to 127 and represents the number of blocks used for each buffer. By default, this option is set to 0 and the default values for the process are used. The MBC= option (multiblock count) is used for both input and output to control the allocation for a particular file. If you want to control the allocation size for all the external files used during the current SAS session, you can use the MBC= option in every FILE, FILENAME, or INFILE statement. You can also use the DCL SET RMS_DEFAULT command to specify a process default, and let the SAS values default to the process's default values.\",\"type\":\"value\"},{\"name\":\"MBF=\",\"optional\":true,\"description\":\"[OpenVMS Host Option] Specifies the number of I/O buffers you want OpenVMS RMS to allocate for a particular file. The value can range from 0 to 127 and represents the number of buffers used. By default, this option is set to a value of 2. If a value of 0 is specified, the default value for the process is used. The MBF= option (multibuffer count) is used for both input and output to control the number of buffers allocated for a particular file. If you want to control the number of buffers allocated for all the external files used during the SAS session, you can use the MBF= option in every FILE, FILENAME, or INFILE statement. The DCL SET RMS_DEFAULT command can be used to specify a process default. Then, you can let the SAS values default to the process's default values.\",\"type\":\"value\"},{\"name\":\"MESSAGE\",\"optional\":true,\"description\":\"Is used only in the context of named pipes. This option indicates the type of pipe. BYTE is the default value.\",\"type\":\"standalone\"},{\"name\":\"MISSOVER\",\"optional\":true,\"description\":\"Prevents an INPUT statement from reading a new input data record if it does not find values in the current input line for all the variables in the statement.\",\"type\":\"standalone\"},{\"name\":\"MOD\",\"optional\":true,\"description\":\"Indicates that data written to the file should be appended to the file\",\"type\":\"standalone\"},{\"name\":\"MVS\",\"optional\":true,\"description\":\"[type] For z/OS data sets.\",\"type\":\"standalone\"},{\"name\":\"N=\",\"optional\":true,\"description\":\"Specifies the number of lines that are available to the input pointer at one time.\",\"type\":\"value\"},{\"name\":\"NBYTE=\",\"optional\":true,\"description\":\"Specifies the StatementOptionName of a variable that contains the number of bytes to read from a file when you are reading data in stream record format (RECFM=S in the FILENAME statement).\",\"type\":\"value\"},{\"name\":\"NEW\",\"optional\":true,\"description\":\"Indicates that a new file is to be opened for output. If the file already exists, then it is deleted and re-created.\",\"type\":\"standalone\"},{\"name\":\"NOBLOCK\",\"optional\":true,\"description\":\"Is used only in the context of named pipes. This option indicates whether the client is to wait if no data is currently available. BLOCK is the default value.\",\"type\":\"standalone\"},{\"name\":\"NOEXPANDTABS\",\"optional\":true,\"description\":\"Specifies not to expand tab characters to the standard tab setting, which is set at 8-column intervals that start at column 9.\",\"type\":\"standalone\"},{\"name\":\"NOPAD\",\"optional\":true,\"description\":\"SAS does not pad the records that are read from an external file with blanks to the length that is specified in the LRECL= option.\",\"type\":\"standalone\"},{\"name\":\"NOPRINT\",\"optional\":true,\"description\":\"Specifies that the input file does not contain carriage-control characters.\",\"type\":\"standalone\"},{\"name\":\"NOTAB\",\"optional\":true,\"description\":\"[Windows Host Option] Instructs SAS to ignore tab characters between variables.\",\"type\":\"standalone\"},{\"name\":\"NRLS\",\"optional\":true,\"description\":\"[VSAM Option] Specifies not to use record-level sharing (RLS) to open an RLS-eligible data set (INFILE only).\",\"type\":\"standalone\"},{\"name\":\"OBS=\",\"optional\":true,\"description\":\"Use OBS= with FIRSTOBS= to read a range of records from the middle of a file.\",\"help\":\"OBS=*record-number* | MAX\",\"type\":\"choice\",\"arguments\":[{\"name\":\"record-number\",\"placeholder\":true,\"description\":\"Specifies the record number of the last record to read in an input file that is read sequentially.\",\"type\":\"value\"},{\"name\":\"MAX\",\"description\":\"Specifies the maximum number of observations to process, which will be at least as large as the largest signed, 32-bit integer.\",\"type\":\"standalone\"}]},{\"name\":\"OLD\",\"optional\":true,\"description\":\"Indicates that a new file is to be opened for output. If the file already exists, then the previous contents of the file are replaced.\",\"type\":\"standalone\"},{\"name\":\"PAD\",\"optional\":true,\"description\":\"SAS pads the records that are read from an external file with blanks to the length that is specified in the LRECL= option.\",\"type\":\"standalone\"},{\"name\":\"PASSWD=\",\"optional\":true,\"description\":\"Gives the appropriate password for a VSAM data set that has password protection.\",\"help\":\"PASSWD=*value*\",\"type\":\"value\"},{\"name\":\"PIPE\",\"optional\":true,\"description\":\"[device-type] Specifies an unnamed pipe. Note: Some operating environments do not support pipes.\",\"type\":\"standalone\"},{\"name\":\"PLOTTER\",\"optional\":true,\"description\":\"[device-type] Specifies an unbuffered graphics output device.\",\"type\":\"standalone\"},{\"name\":\"PRINT\",\"optional\":true,\"description\":\"Specifies that the input file contains carriage-control characters.\",\"type\":\"standalone\"},{\"name\":\"PRINTER\",\"optional\":true,\"description\":\"[device-type] Specifies a printer or printer spool file.\",\"type\":\"standalone\"},{\"name\":\"RBA=\",\"optional\":true,\"description\":\"Specifies a numeric variable that you set to the relative byte address (RBA) of the data record that you want to read. The RBA= option indicates that addressed direct access is being used; it is appropriate for KSDS and ESDS. If you specify the CONTROLINTERVAL option, you can use the RBA= option to access control records in an RRDS (INFILE only).\",\"help\":\"RBA=*variable*\",\"type\":\"value\"},{\"name\":\"RC4STOP\",\"optional\":true,\"description\":\"[VSAM Option] Stops the DATA step from executing if a return code greater than 4 is returned by the operating environment when the VSAM data set is opened.\",\"type\":\"standalone\"},{\"name\":\"RECFM=\",\"optional\":true,\"description\":\"[Windows/UNIX Host Option] Specifies the record format of the external file.\",\"help\":\"RECFM=F | P | S | V | N | s370V | S370VB | S370VBS | STREAMLF\",\"type\":\"choice\",\"arguments\":[{\"name\":\"F\",\"description\":\"Fixed-record format\",\"type\":\"standalone\"},{\"name\":\"P\",\"description\":\"Print format.\",\"type\":\"standalone\"},{\"name\":\"S\",\"description\":\"Stream-record format.\",\"type\":\"standalone\"},{\"name\":\"V\",\"aliases\":[\"D\"],\"description\":\"Variable-record format (the default)\",\"type\":\"standalone\"},{\"name\":\"N\",\"description\":\"Indicates binary format and causes the file to be treated as a byte stream. If LRECL is not specified, by default SAS reads 256 bytes at a time from the file.\",\"type\":\"standalone\"},{\"name\":\"s370V\",\"description\":\"Indicates the variable S370 record format (V).\",\"type\":\"standalone\"},{\"name\":\"S370VB\",\"description\":\"Indicates the variable block S370 record format (VB).\",\"type\":\"standalone\"},{\"name\":\"S370VBS\",\"description\":\"Indicates the variable block with spanned records S370 record format (VBS).\",\"type\":\"standalone\"},{\"name\":\"STREAMLF\",\"description\":\"[For OpenVMS] Specifies StreamLF record format. Records are delimited by LF.\",\"type\":\"standalone\"}]},{\"name\":\"RECORDS=\",\"optional\":true,\"description\":\"Defines a numeric variable that SAS sets to the number of logical records in a VSAM data set that has been opened for input.\",\"help\":\"RECORDS=*variable*\",\"type\":\"value\"},{\"name\":\"RECORG=\",\"optional\":true,\"description\":\"[z/OS Host Option] Specifies the organization of records in a new VSAM data set. Use this option only if SMS is active.\",\"help\":\"RECORG=KS | ES | RR | LS\",\"type\":\"choice\",\"arguments\":[{\"name\":\"KS\",\"description\":\"Specifies a VSAM key-sequenced data set.\",\"type\":\"standalone\"},{\"name\":\"ES\",\"description\":\"Specifies a VSAM entry-sequenced data set.\",\"type\":\"standalone\"},{\"name\":\"RR\",\"description\":\"Specifies a VSAM relative-record data set.\",\"type\":\"standalone\"},{\"name\":\"LS\",\"description\":\"Specifies a VSAM linear-space data set.\",\"type\":\"standalone\"}]},{\"name\":\"RESET\",\"optional\":true,\"description\":\"[VSAM Option] Indicates that the VSAM file is reset to empty (no records) when it is opened. This option applies only to loading a VSAM data set that has been marked REUSE. You cannot use this option if the data set contains an alternate index.\",\"type\":\"standalone\"},{\"name\":\"RETRY=\",\"optional\":true,\"description\":\"[Windows Host Option]\",\"help\":\"RETRY=*seconds*\",\"type\":\"value\"},{\"name\":\"RRN=\",\"optional\":true,\"description\":\"Defines a numeric variable that you set to the relative record number (RRN) of the record that you want to read or write. This option indicates that keyed direct access is being used; it is appropriate for RRDS only.\",\"help\":\"RRN=*variable*\",\"type\":\"value\"},{\"name\":\"SCANOVER\",\"optional\":true,\"description\":\"Causes the INPUT statement to scan the input data records until the character string that is specified in the @'character-string' expression is found.\",\"type\":\"standalone\"},{\"name\":\"SEQUENTIAL\",\"optional\":true,\"description\":\"[VSAM Option] Specifies sequential VSAM record retrieval when either the RBA= (for an ESDS) or the RRN= option (for an RRDS) is specified (INFILE only).\",\"type\":\"standalone\"},{\"name\":\"SERVER\",\"optional\":true,\"description\":\"[Windows Host Option] Is used only in the context of named pipes. This option specifies the mode of a named pipe. The default value is SERVER.\",\"type\":\"standalone\"},{\"name\":\"SHAREBUFFERS\",\"optional\":true,\"aliases\":[\"SHAREBUFS\"],\"description\":\"Specifies that the FILE statement and the INFILE statement share the same buffer.\",\"type\":\"standalone\"},{\"name\":\"SHR=\",\"optional\":true,\"description\":\"[OpenVMS Host Option] Overrides the default file-sharing attributes used for external files. With this option, you can indicate the access level you want to give other users. You can allow READ, WRITE, UPDATE, and DELETE access (as well as no access). By default with external files, files opened for input allow shared read access, and files opened for output or UPDATE do not allow shared access. However, you can allow other users to have READ and WRITE access to a file that you are opening for input only. To accomplish this, use the SHR= option. The syntax of the SHR= option is SHR=share-option-list where share-option-list can be one of the following: DEL specifies DELETE access. GET specifies shared READ access. NONE specifies no shared access. PUT specifies shared WRITE access. UPD specifies UPDATE access. You can combine these values in any order. For example, specifying the following indicates that you want shared DELETE, READ, and WRITE access:\",\"type\":\"value\"},{\"name\":\"SKIP\",\"optional\":true,\"description\":\"[VSAM Option] Indicates skip-sequential processing of VSAM files. Skip-sequential processing finds the first record whose value is the same as the value specified by the KEY= option; records are read sequentially thereafter (INFILE only).\",\"type\":\"standalone\"},{\"name\":\"START=\",\"optional\":true,\"description\":\"Specifies a variable whose value SAS uses as the first column number of the record that the PUT _INFILE_ statement writes. Like automatic variables, the START variable is not written to the data set.\",\"type\":\"value\"},{\"name\":\"STOPOVER\",\"optional\":true,\"description\":\"Causes the DATA step to stop processing if an INPUT statement reaches the end of the current record without finding values for all variables in the statement.\",\"type\":\"standalone\"},{\"name\":\"TAPE\",\"optional\":true,\"description\":\"[device-type] Specifies a tape drive.\",\"type\":\"standalone\"},{\"name\":\"TEMP\",\"optional\":true,\"description\":\"[device-type] Creates a temporary file that exists only as long as the filename is assigned.\",\"type\":\"standalone\"},{\"name\":\"TERMINAL\",\"optional\":true,\"description\":\"[device-type] Specifies the user's terminal.\",\"type\":\"standalone\"},{\"name\":\"TERMSTR=\",\"optional\":true,\"description\":\"[Windows/UNIX Host Option] Specifies the end-of-line character for the file. Use this option to share files between the UNIX and Windows operating environments.\",\"help\":\"TERMSTR=CR | CRLF | LF | NULL | NONE | NL | LFCR | CRNL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"CR\",\"description\":\"Carriage return (CR).\",\"type\":\"standalone\"},{\"name\":\"CRLF\",\"description\":\"Carriage return (CR) followed by line feed (LF).\",\"type\":\"standalone\"},{\"name\":\"LF\",\"description\":\"Line feed only (the default).\",\"type\":\"standalone\"},{\"name\":\"NULL\",\"description\":\"NULL character (0x00).\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"Record terminators are not used. This parameter provides the same function as FILEDATA=BINARY.\",\"type\":\"standalone\"},{\"name\":\"NL\",\"description\":\"The newline character (x'15') is used as the record terminator. This parameter provides the same function as FILEDATA=TEXT.\",\"type\":\"standalone\"},{\"name\":\"LFCR\",\"description\":\"The sequence LF followed by CR is used as the record terminator.\",\"type\":\"standalone\"},{\"name\":\"CRNL\",\"description\":\"The sequence CR followed by NL is used as the record terminator.\",\"type\":\"standalone\"}]},{\"name\":\"TRUNCOVER\",\"optional\":true,\"description\":\"Overrides the default behavior of the INPUT statement when an input data record is shorter than the INPUT statement expects. By default, the INPUT statement automatically reads the next input data record. TRUNCOVER enables you to read variable-length records when some records are shorter than the INPUT statement expects. Variables without any values assigned are set to missing.\",\"type\":\"standalone\"},{\"name\":\"UNBUFFERED\",\"optional\":true,\"aliases\":[\"UNBUF\"],\"description\":\"Tells SAS not to perform a buffered (\\\"look ahead\\\") read.\",\"type\":\"standalone\"},{\"name\":\"UPDATE=\",\"optional\":true,\"description\":\"Defines a numeric SAS variable that indicates that not every record that it reads is to be updated. Use this option when you are updating records in a VSAM data set (INFILE only). When an INFILE and a FILE statement reference the same VSAM data set, records are retrieved for update by default.\",\"help\":\"UPDATE=*variable*\",\"type\":\"value\"},{\"name\":\"UPRINTER\",\"optional\":true,\"description\":\"[device-type] Specifies a Universal Printing printer definition StatementOptionName.\",\"type\":\"standalone\"},{\"name\":\"VSAM\",\"optional\":true,\"description\":\"[type] For VSAM files.\",\"type\":\"standalone\"},{\"name\":\"VTOC\",\"optional\":true,\"description\":\"[type] For a Volume Table of Contents (VTOC).\",\"type\":\"standalone\"},{\"name\":\"_INFILE_=\",\"optional\":true,\"description\":\"Specifies a character variable that references the contents of the current input buffer for this INFILE statement.\",\"type\":\"value\"}]},{\"name\":\"INFORMAT\",\"description\":\"Associates informats with variables.\",\"help\":\"INFORMAT &lt;DEFAULT= default-informat&gt;\",\"arguments\":[{\"name\":\"DEFAULT=\",\"optional\":true,\"description\":\"Specifies a temporary default informat for reading values of the variables that are listed in the INFORMAT statement. If no variable is specified, then the DEFAULT= informat specification applies a temporary default informat for reading values of all the variables of that type included in the DATA step. Numeric informats are applied to numeric variables, and character informats are applied to character variables. These default informats apply only to the current DATA step. A DEFAULT= informat specification applies to o variables that are not named in an INFORMAT or ATTRIB statement o variables that are not permanently associated with an informat within a SAS data set o variables that are not read with an explicit informat in the current DATA step. Default: If you omit DEFAULT=, SAS uses w.d as the default numeric informat and $w. as the default character informat. Restriction: Use this argument only in a DATA step.\",\"type\":\"value\"}]},{\"name\":\"INPUT\",\"description\":\"Describes the arrangement of values in the input data record and assigns input values to the corresponding SAS variables.\",\"help\":\"INPUT &lt;specification(s)&gt;&lt;@|@@&gt;\"},{\"name\":\"KEEP\",\"description\":\"Specifies the variables to include in output SAS data sets.\",\"help\":\"KEEP variable-list\"},{\"name\":\"LABEL\",\"description\":\"Identifies a statement that is referred to by another statement.\",\"help\":\"\"},{\"name\":\"LEAVE\",\"description\":\"Stops processing the current loop and resumes with the next statement in the sequence.\",\"help\":\"LEAVE\"},{\"name\":\"LENGTH\",\"description\":\"Specifies the number of bytes for storing variables.\",\"help\":\"LENGTH &lt;DEFAULT=n&gt;\",\"arguments\":[{\"name\":\"DEFAULT=\",\"optional\":true,\"description\":\"Changes the default number of bytes that SAS uses to store the values of any newly created numeric variables.\",\"help\":\"DEFAULT=*n*\",\"type\":\"value\"}]},{\"name\":\"LINK\",\"description\":\"Directs program execution immediately to the statement label that is specified and, if followed by a RETURN statement, returns execution to the statement that follows the LINK statement.\",\"help\":\"LINK label\"},{\"name\":\"LIST\",\"description\":\"Writes to the SAS log the input data record for the observation that is being processed.\",\"help\":\"LIST\"},{\"name\":\"MERGE\",\"description\":\"Joins observations from two or more SAS data sets into a single observation.\",\"help\":\"MERGE &lt;ALTER=&gt;&lt;BUFNO=&lt;n | nK | hexX&gt;... &gt;&lt;END=variable&gt; ...\",\"arguments\":[{\"name\":\"ALTER=\",\"optional\":true,\"description\":\"\",\"type\":\"value\"},{\"name\":\"BUFNO=\",\"optional\":true,\"description\":\"\",\"help\":\"BUFNO=n | nK | hexX | MIN | MAX\",\"type\":\"choice\",\"arguments\":[{\"name\":\"n\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"nK\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"hexX\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"MIN\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"MAX\",\"description\":\"\",\"type\":\"standalone\"}]},{\"name\":\"BUFSIZE=\",\"optional\":true,\"description\":\"\",\"help\":\"BUFSIZE=n | nK | nM | nG | hexX | MIN | MAX\",\"type\":\"choice\",\"arguments\":[{\"name\":\"n\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"nK\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"nM\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"nG\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"hexX\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"MIN\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"MAX\",\"description\":\"\",\"type\":\"standalone\"}]},{\"name\":\"CNTLLEV=\",\"optional\":true,\"description\":\"\",\"help\":\"CNTLLEV=LIB | MEM | REC\",\"type\":\"choice\",\"arguments\":[{\"name\":\"LIB\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"MEM\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"REC\",\"description\":\"\",\"type\":\"standalone\"}]},{\"name\":\"COMPRESS=\",\"optional\":true,\"description\":\"\",\"help\":\"COMPRESS=NO | YES | CHAR | BINARY\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NO\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"YES\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"CHAR\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"BINARY\",\"description\":\"\",\"type\":\"standalone\"}]},{\"name\":\"DLDMGACTION=\",\"optional\":true,\"description\":\"\",\"help\":\"DLDMGACTION=FAIL | ABORT | REPAIR | NOINDEX | PROMPT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"FAIL\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"ABORT\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"REPAIR\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"NOINDEX\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"PROMPT\",\"description\":\"\",\"type\":\"standalone\"}]},{\"name\":\"DROP=\",\"optional\":true,\"description\":\"\",\"type\":\"value\"},{\"name\":\"ENCRYPT=\",\"optional\":true,\"description\":\"\",\"help\":\"ENCRYPT=YES | NO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YES\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"NO\",\"description\":\"\",\"type\":\"standalone\"}]},{\"name\":\"ENCRYPTKEY=\",\"optional\":true,\"description\":\"\",\"type\":\"value\"},{\"name\":\"END=\",\"optional\":true,\"description\":\"Names and creates a temporary variable that contains an end-of-file indicator.\",\"help\":\"END=*variable*\",\"type\":\"value\"},{\"name\":\"EXTENDOBSCOUNTER=\",\"optional\":true,\"description\":\"\",\"type\":\"value\"},{\"name\":\"FILECLOSE=\",\"optional\":true,\"description\":\"\",\"help\":\"FILECLOSE=DISP | LEAVE | REREAD | REWIND\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DISP\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"LEAVE\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"REREAD\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"REWIND\",\"description\":\"\",\"type\":\"standalone\"}]},{\"name\":\"FIRSTOBS=\",\"optional\":true,\"description\":\"\",\"help\":\"FIRSTOBS=n | nK | nM | nG | hexX | MIN | MAX\",\"type\":\"choice\",\"arguments\":[{\"name\":\"n\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"nK\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"nM\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"nG\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"hexX\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"MIN\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"MAX\",\"description\":\"\",\"type\":\"standalone\"}]},{\"name\":\"GENMAX=\",\"optional\":true,\"description\":\"\",\"type\":\"value\"},{\"name\":\"GENNUM=\",\"optional\":true,\"description\":\"\",\"type\":\"value\"},{\"name\":\"IDXNAME=\",\"optional\":true,\"description\":\"\",\"type\":\"value\"},{\"name\":\"IDXWHERE=\",\"optional\":true,\"description\":\"\",\"help\":\"IDXWHERE=YES | NO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YES\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"NO\",\"description\":\"\",\"type\":\"standalone\"}]},{\"name\":\"IN=\",\"optional\":true,\"description\":\"\",\"type\":\"value\"},{\"name\":\"INDEX=\",\"optional\":true,\"description\":\"\",\"type\":\"value\"},{\"name\":\"KEEP=\",\"optional\":true,\"description\":\"\",\"type\":\"value\"},{\"name\":\"LABEL=\",\"optional\":true,\"description\":\"\",\"type\":\"value\"},{\"name\":\"OBS=\",\"optional\":true,\"description\":\"\",\"help\":\"OBS=n | nK | nM | nG | nT | hexX | MIN | MAX\",\"type\":\"choice\",\"arguments\":[{\"name\":\"n\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"nK\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"nM\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"nG\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"nT\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"hexX\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"MIN\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"MAX\",\"description\":\"\",\"type\":\"standalone\"}]},{\"name\":\"OUTREP=\",\"optional\":true,\"description\":\"\",\"type\":\"value\"},{\"name\":\"POINTOBS=\",\"optional\":true,\"description\":\"\",\"help\":\"POINTOBS=YES | NO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YES\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"NO\",\"description\":\"\",\"type\":\"standalone\"}]},{\"name\":\"PW=\",\"optional\":true,\"description\":\"\",\"type\":\"value\"},{\"name\":\"PWREQ=\",\"optional\":true,\"description\":\"\",\"help\":\"PWREQ=YES | NO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YES\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"NO\",\"description\":\"\",\"type\":\"standalone\"}]},{\"name\":\"READ=\",\"optional\":true,\"description\":\"\",\"type\":\"value\"},{\"name\":\"RENAME=\",\"optional\":true,\"description\":\"\",\"type\":\"value\"},{\"name\":\"REPEMPTY=\",\"optional\":true,\"description\":\"\",\"help\":\"REPEMPTY=YES | NO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YES\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"NO\",\"description\":\"\",\"type\":\"standalone\"}]},{\"name\":\"REPLACE=\",\"optional\":true,\"description\":\"\",\"help\":\"REPLACE=YES | NO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YES\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"NO\",\"description\":\"\",\"type\":\"standalone\"}]},{\"name\":\"REUSE=\",\"optional\":true,\"description\":\"\",\"help\":\"REUSE=YES | NO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YES\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"NO\",\"description\":\"\",\"type\":\"standalone\"}]},{\"name\":\"SGIO=\",\"optional\":true,\"description\":\"\",\"help\":\"SGIO=YES | NO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YES\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"NO\",\"description\":\"\",\"type\":\"standalone\"}]},{\"name\":\"SORTEDBY=\",\"optional\":true,\"description\":\"\",\"help\":\"SORTEDBY=by-clause &lt; / collate-name&gt; | _NULL_\",\"type\":\"choice\",\"arguments\":[{\"name\":\"by-clause\",\"description\":\"\",\"help\":\"by-clause &lt; / collate-name&gt;\",\"type\":\"standalone\"},{\"name\":\"_NULL_\",\"description\":\"\",\"type\":\"standalone\"}]},{\"name\":\"SPILL=\",\"optional\":true,\"description\":\"\",\"help\":\"SPILL=YES | NO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YES\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"NO\",\"description\":\"\",\"type\":\"standalone\"}]},{\"name\":\"TOBSNO=\",\"optional\":true,\"description\":\"\",\"type\":\"value\"},{\"name\":\"TRANTAB=\",\"optional\":true,\"description\":\"\",\"type\":\"value\"},{\"name\":\"TYPE=\",\"optional\":true,\"description\":\"\",\"type\":\"value\"},{\"name\":\"WHERE=\",\"optional\":true,\"description\":\"\",\"type\":\"value\"},{\"name\":\"WHEREUP=\",\"optional\":true,\"description\":\"\",\"help\":\"WHEREUP=YES | NO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YES\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"NO\",\"description\":\"\",\"type\":\"standalone\"}]},{\"name\":\"WRITE=\",\"optional\":true,\"description\":\"\",\"type\":\"value\"}]},{\"name\":\"MODIFY\",\"description\":\"Replaces, deletes, and appends observations in an existing SAS data set in place but does not create an additional copy.\",\"help\":\"MODIFY &lt;END=variable&gt;&lt;KEY=index&gt;&lt;NOBS=variable&gt; ...\",\"arguments\":[{\"name\":\"CUREOBS=\",\"optional\":true,\"description\":\"Creates and names a variable that contains the observation number that was just read from the data set.\",\"type\":\"value\"},{\"name\":\"END=\",\"optional\":true,\"description\":\"Creates and names a temporary variable that contains an end-of-file indicator.\",\"help\":\"END=*variable*\",\"type\":\"value\"},{\"name\":\"KEY=\",\"optional\":true,\"description\":\"Specifies a simple or composite index of the SAS data file that is being modified. The KEY= argument retrieves observations from that SAS data file based on index values that are supplied by like-named variables in another source of information.\",\"help\":\"KEY=*index*\",\"type\":\"value\"},{\"name\":\"KEYRESET=\",\"optional\":true,\"description\":\"Controls whether a KEY= search should begin at the top of the index for the data set that is being read. When the value of the KEYRESET variable is 1, the index lookup begins at the top of the index. When the value of the KEYRESET variable is 0, the index lookup is not reset and the lookup continues where the prior lookup ended.\",\"help\":\"KEYRESET=*variable*\",\"type\":\"value\"},{\"name\":\"NOBS=\",\"optional\":true,\"description\":\"Creates and names a temporary variable whose value is usually the total number of observations in the input data set. For certain SAS views, SAS cannot determine the number of observations. In these cases, SAS sets the value of the NOBS= variable to the largest positive integer value available in the operating environment.\",\"help\":\"NOBS=*variable*\",\"type\":\"value\"},{\"name\":\"POINT=\",\"optional\":true,\"description\":\"Reads SAS data sets using random (direct) access by observation number. variable names a variable whose value is the number of the observation to read. The POINT= variable is available anywhere in the DATA step, but it is not added to any SAS data set.\",\"help\":\"POINT=*variable*\",\"type\":\"value\"},{\"name\":\"UNIQUE\",\"optional\":true,\"description\":\"Causes a KEY= search always to begin at the top of the index for the data file being modified.\",\"type\":\"standalone\"},{\"name\":\"UPDATEMODE=\",\"optional\":true,\"description\":\"Specifies whether missing variable values in a transaction data set are to be allowed to replace existing variable values in a master data set.\",\"help\":\"UPDATEMODE=MISSINGCHECK | NOMISSINGCHECK\",\"type\":\"choice\",\"arguments\":[{\"name\":\"MISSINGCHECK\",\"description\":\"Prevents missing variable values in a transaction data set from replacing values in a master data set.\",\"type\":\"standalone\"},{\"name\":\"NOMISSINGCHECK\",\"description\":\"Allows missing variable values in a transaction data set to replace values in a master data set by preventing the check from being performed.\",\"type\":\"standalone\"}]}]},{\"name\":\"OTHERWISE\",\"description\":\"Specifies a statement to be executed if no WHEN condition is met.\",\"help\":\"OTHERWISE &lt;DO&gt;\",\"arguments\":[{\"name\":\"DO\",\"optional\":true,\"description\":\"Action statement.\",\"type\":\"standalone\"}]},{\"name\":\"OUTPUT\",\"description\":\"The OUTPUT statement enables you to specify the data table to output the generated compound distribution sample.\",\"help\":\"OUTPUT ADJSAMPLEVAR=variable-name | ADJSAMPLEVAR=(variable-name &lt;…variable-name&gt;) OUT=CAS-libref.data-table | OUTSAMPLE=CAS-libref.data-table SAMPLEVAR=variable-name ...\",\"arguments\":[{\"name\":\"ADJSAMPLEVAR=\",\"description\":\"Specifies the names of the variables to contain the adjusted compound distribution sample in the OUT= data table.\",\"type\":\"value\"},{\"name\":\"OUT=\",\"aliases\":[\"OUTSAMPLE=\"],\"description\":\"Specifies the output data table to contain the simulated compound distribution sample. CAS-libref.data-table is a two-level name, where CAS-libref refers to the caslib and session identifier, and data-table specifies the name of the input data table.\",\"type\":\"value\"},{\"name\":\"SAMPLEVAR=\",\"description\":\"Specifies the name of the variable to contain the simulated sample in the OUT= data table. If you do not specify the SAMPLEVAR= option, then \\\"_AGGSEV_\\\" is used by default.\",\"help\":\"SAMPLEVAR=*variable-name*\",\"type\":\"value\"},{\"name\":\"PERTURBOUT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies that all the perturbed samples be written to the OUT= data table. Each perturbed sample is identified by the _DRAWID_ variable in the OUT= data table. A value of 0 for the _DRAWID_ variable indicates an unperturbed sample.\",\"type\":\"standalone\"}]},{\"name\":\"OUTSUM\",\"description\":\"The OUTSUM statement enables you to specify the data table in which PROC CCDM writes the summary statistics of the compound distribution samples.\",\"help\":\"OUTSUM &lt;KURTOSIS|KURT &lt; =variable-name &gt;&gt;&lt;MEAN &lt; =variable-name &gt;&gt;&lt;OUT=CAS-libref.data-table | OUTSUM=CAS-libref.data-table&gt; ...\",\"arguments\":[{\"name\":\"KURTOSIS\",\"optional\":true,\"aliases\":[\"KURT\"],\"description\":\"Specifies the kurtosis of the compound distribution sample.\",\"type\":\"standalone\"},{\"name\":\"MEAN\",\"optional\":true,\"description\":\"Specifies the mean of the compound distribution sample.\",\"type\":\"standalone\"},{\"name\":\"MEDIAN\",\"optional\":true,\"aliases\":[\"Q2\",\"P50\"],\"description\":\"Specifies the median (the 50th percentile) of the compound distribution sample.\",\"type\":\"standalone\"},{\"name\":\"OUT=\",\"optional\":true,\"aliases\":[\"OUTSUM=\"],\"description\":\"Specifies the output data table that contains the summary statistics of each of the simulated compound distribution samples. CAS-libref.data-table is a two-level name, where CAS-libref refers to the caslib and session identifier, and data-table specifies the name of the input data table.\",\"type\":\"value\"},{\"name\":\"P01\",\"optional\":true,\"description\":\"Specifies the 1st percentile of the compound distribution sample.\",\"type\":\"standalone\"},{\"name\":\"P05\",\"optional\":true,\"description\":\"Specifies the 5th percentile of the compound distribution sample\",\"type\":\"standalone\"},{\"name\":\"P95\",\"optional\":true,\"description\":\"Specifies the 95th percentile of the compound distribution sample.\",\"type\":\"standalone\"},{\"name\":\"P99\",\"optional\":true,\"description\":\"Specifies the 99th percentile of the compound distribution sample.\",\"type\":\"standalone\"},{\"name\":\"P99_5\",\"optional\":true,\"aliases\":[\"P995\"],\"description\":\"Specifies the 99.5th percentile of the compound distribution sample.\",\"type\":\"standalone\"},{\"name\":\"PCTLNAME=\",\"optional\":true,\"description\":\"Specifies the names of the variables that contain the estimates of the percentiles that you request by using the PCTLPTS= option.\",\"help\":\"PCTLNAME=*percentile-variable-name-list*\",\"type\":\"value\"},{\"name\":\"PCTLNDEC=\",\"optional\":true,\"description\":\"Specifies the maximum number of decimal places to use while creating the names of the variables for the percentile values in the PCTLPTS= option. The default value is 3. For example, for a percentile value of 99.9995, PROC HPCDM creates a variable named P99_999 by default, but if you specify PCTLNDEC=4, then the variable is named P99_9995.\",\"help\":\"PCTLNDEC=*integer-value*\",\"type\":\"value\"},{\"name\":\"PCTLPTS=\",\"optional\":true,\"description\":\"Specifies one or more percentiles that you want to be computed and written to the OUTSUM= data set. This option is useful if you need to request percentiles that are not available in the preceding list of statistic-keyword values.\",\"help\":\"PCTLPTS=*percentile-list*\",\"type\":\"value\"},{\"name\":\"Q1\",\"optional\":true,\"aliases\":[\"P25\"],\"description\":\"Specifies the lower or 1st quartile (the 25th percentile) of the compound distribution sample.\",\"type\":\"standalone\"},{\"name\":\"Q3\",\"optional\":true,\"aliases\":[\"P75\"],\"description\":\"Specifies the upper or 3rd quartile (the 75th percentile) of the compound distribution sample.\",\"type\":\"standalone\"},{\"name\":\"QRANGE\",\"optional\":true,\"description\":\"Specifies the interquartile range (Q3–Q1) of the compound distribution sample.\",\"type\":\"standalone\"},{\"name\":\"SKEWNESS\",\"optional\":true,\"aliases\":[\"SKEW\"],\"description\":\"Specifies the skewness of the compound distribution sample.\",\"type\":\"standalone\"},{\"name\":\"STDDEV\",\"optional\":true,\"aliases\":[\"STD\"],\"description\":\"Specifies the standard deviation of the compound distribution sample.\",\"type\":\"standalone\"}]},{\"name\":\"PAGE\",\"description\":\"Skips to a new page in the SAS log.\",\"help\":\"PAGE\"},{\"name\":\"PUT\",\"description\":\"Writes lines to the SAS log, to the SAS output window, or to an external location that is specified in the most recent FILE statement.\",\"help\":\"PUT &lt;_ALL_&gt;&lt;_INFILE_&gt;&lt;_ODS_&gt; ...\",\"arguments\":[{\"name\":\"OVERPRINT\",\"optional\":true,\"description\":\"Causes the values that follow the keyword OVERPRINT to print on the most recently written output line.\",\"type\":\"standalone\"},{\"name\":\"_ALL_\",\"optional\":true,\"description\":\"Writes the values of all variables, which includes automatic variables, that are defined in the current DATA step by using named output.\",\"type\":\"standalone\"},{\"name\":\"_BLANKPAGE_\",\"optional\":true,\"description\":\"Advances the pointer to the first line of a new page, even when the pointer is positioned on the first line and the first column of a new page.\",\"type\":\"standalone\"},{\"name\":\"_INFILE_\",\"optional\":true,\"description\":\"Writes the last input data record that is read either from the current input file or from the data lines that follow a DATELINES statement.\",\"type\":\"standalone\"},{\"name\":\"_ODS_\",\"optional\":true,\"description\":\"Moves data values for all columns (as defined by the ODS option in the FILE statement) into a special buffer, from which it is eventually written to the data component. The ODS option in the FILE statement defines the structure of the data component that holds the results of the DATA step.\",\"type\":\"standalone\"},{\"name\":\"_PAGE_\",\"optional\":true,\"description\":\"Advances the pointer to the first line of a new page. SAS automatically begins a new page when a line exceeds the current PAGESIZE= value.\",\"type\":\"standalone\"}]},{\"name\":\"PUTLOG\",\"description\":\"Writes a message to the SAS log.\",\"help\":\"PUTLOG 'message'\"},{\"name\":\"RENAME\",\"description\":\"Specifies new names for variables in output SAS data sets.\",\"help\":\"RENAME old-name-1=new-name-1 ... &lt;old-name-n=new-name-n&gt;\"},{\"name\":\"REPLACE\",\"description\":\"Replaces an observation in the same location.\",\"help\":\"REPLACE &lt;data-set-name-1&gt;&lt;...data-set-name-n&gt;\"},{\"name\":\"RETAIN\",\"description\":\"Causes a variable that is created by an INPUT or assignment statement to retain its value from one iteration of the DATA step to the next.\",\"help\":\"RETAIN &lt;element-list(s) &lt;initial-value(s) |\"},{\"name\":\"RETURN\",\"description\":\"Stops executing statements at the current point in the DATA step and returns to a predetermined point in the step.\",\"help\":\"RETURN\"},{\"name\":\"RSUBMIT\",\"description\":\"Marks the beginning of a block of statements that a client session submits to a server session for execution.\",\"help\":\"RSUBMIT &lt;options&gt;; ENDRSUBMIT &lt;CANCEL&gt;\"},{\"name\":\"SELECT\",\"description\":\"Executes one of several statements or groups of statements.\",\"help\":\"\"},{\"name\":\"SET\",\"description\":\"Reads an observation from one or more SAS data sets.\",\"help\":\"SET &lt;END=variable&gt;&lt;INDSNAME=variable&gt;&lt;KEY=index&lt;/UNIQUE&gt;&gt; ...\",\"arguments\":[{\"name\":\"ALTER=\",\"optional\":true,\"description\":\"\",\"type\":\"value\"},{\"name\":\"BUFNO=\",\"optional\":true,\"description\":\"\",\"help\":\"BUFNO=n | nK | hexX | MIN | MAX\",\"type\":\"choice\",\"arguments\":[{\"name\":\"n\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"nK\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"hexX\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"MIN\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"MAX\",\"description\":\"\",\"type\":\"standalone\"}]},{\"name\":\"BUFSIZE=\",\"optional\":true,\"description\":\"\",\"help\":\"BUFSIZE=n | nK | nM | nG | hexX | MIN | MAX\",\"type\":\"choice\",\"arguments\":[{\"name\":\"n\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"nK\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"nM\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"nG\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"hexX\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"MIN\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"MAX\",\"description\":\"\",\"type\":\"standalone\"}]},{\"name\":\"CNTLLEV=\",\"optional\":true,\"description\":\"\",\"help\":\"CNTLLEV=LIB | MEM | REC\",\"type\":\"choice\",\"arguments\":[{\"name\":\"LIB\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"MEM\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"REC\",\"description\":\"\",\"type\":\"standalone\"}]},{\"name\":\"COMPRESS=\",\"optional\":true,\"description\":\"\",\"help\":\"COMPRESS=NO | YES | CHAR | BINARY\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NO\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"YES\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"CHAR\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"BINARY\",\"description\":\"\",\"type\":\"standalone\"}]},{\"name\":\"CUREOBS=\",\"optional\":true,\"description\":\"Creates and names a variable that contains the observation number that was just read from the data set.\",\"type\":\"value\"},{\"name\":\"DLDMGACTION=\",\"optional\":true,\"description\":\"\",\"help\":\"DLDMGACTION=FAIL | ABORT | REPAIR | NOINDEX | PROMPT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"FAIL\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"ABORT\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"REPAIR\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"NOINDEX\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"PROMPT\",\"description\":\"\",\"type\":\"standalone\"}]},{\"name\":\"DROP=\",\"optional\":true,\"description\":\"\",\"type\":\"value\"},{\"name\":\"ENCRYPT=\",\"optional\":true,\"description\":\"\",\"help\":\"ENCRYPT=YES | NO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YES\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"NO\",\"description\":\"\",\"type\":\"standalone\"}]},{\"name\":\"ENCRYPTKEY=\",\"optional\":true,\"description\":\"\",\"type\":\"value\"},{\"name\":\"END=\",\"optional\":true,\"description\":\"Creates and names a temporary variable that contains an end-of-file indicator. The variable, which is initialized to zero, is set to 1 when SET reads the last observation of the last data set listed. This variable is not added to any new data set.\",\"help\":\"END=*variable*\",\"type\":\"value\"},{\"name\":\"EXTENDOBSCOUNTER=\",\"optional\":true,\"description\":\"\",\"type\":\"value\"},{\"name\":\"FILECLOSE=\",\"optional\":true,\"description\":\"\",\"help\":\"FILECLOSE=DISP | LEAVE | REREAD | REWIND\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DISP\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"LEAVE\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"REREAD\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"REWIND\",\"description\":\"\",\"type\":\"standalone\"}]},{\"name\":\"FIRSTOBS=\",\"optional\":true,\"description\":\"\",\"help\":\"FIRSTOBS=n | nK | nM | nG | hexX | MIN | MAX\",\"type\":\"choice\",\"arguments\":[{\"name\":\"n\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"nK\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"nM\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"nG\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"hexX\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"MIN\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"MAX\",\"description\":\"\",\"type\":\"standalone\"}]},{\"name\":\"GENMAX=\",\"optional\":true,\"description\":\"Requests generations for a data set and specifies the maximum number of versions.\",\"type\":\"value\"},{\"name\":\"GENNUM=\",\"optional\":true,\"description\":\"\",\"type\":\"value\"},{\"name\":\"IDXNAME=\",\"optional\":true,\"description\":\"\",\"type\":\"value\"},{\"name\":\"IDXWHERE=\",\"optional\":true,\"description\":\"\",\"help\":\"IDXWHERE=YES | NO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YES\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"NO\",\"description\":\"\",\"type\":\"standalone\"}]},{\"name\":\"IN=\",\"optional\":true,\"description\":\"\",\"type\":\"value\"},{\"name\":\"INDEX=\",\"optional\":true,\"description\":\"\",\"type\":\"value\"},{\"name\":\"INDSNAME=\",\"optional\":true,\"description\":\"Creates and names a variable that stores the name of the SAS data set from which the current observation is read. The stored name can be a data set name or a physical name. The physical name is the name by which the operating environment recognizes the file.\",\"help\":\"INDSNAME=*variable*\",\"type\":\"value\"},{\"name\":\"KEEP=\",\"optional\":true,\"description\":\"\",\"type\":\"value\"},{\"name\":\"KEY=\",\"optional\":true,\"description\":\"Provides nonsequential access to observations in a SAS data set, which are based on the value of an index variable or a key.\",\"type\":\"value\"},{\"name\":\"KEYRESET=\",\"optional\":true,\"description\":\"Controls whether a KEY= search should begin at the top of the index for the data set that is being read. When the value of the KEYRESET variable is 1, the index lookup begins at the top of the index. When the value of the KEYRESET variable is 0, the index lookup is not reset and the lookup continues where the prior lookup ended.\",\"help\":\"KEYRESET=*variable*\",\"type\":\"value\"},{\"name\":\"LABEL=\",\"optional\":true,\"description\":\"\",\"type\":\"value\"},{\"name\":\"NOBS=\",\"optional\":true,\"description\":\"Creates and names a temporary variable whose value is usually the total number of observations in the input data set or data sets. If more than one data set is listed in the SET statement, NOBS= the total number of observations in the data sets that are listed. The number of observations includes those observations that are marked for deletion but are not yet deleted.\",\"help\":\"NOBS=*variable*\",\"type\":\"value\"},{\"name\":\"NOMISS\",\"optional\":true,\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"OBS=\",\"optional\":true,\"description\":\"\",\"help\":\"OBS=n | nK | nM | nG | nT | hexX | MIN | MAX\",\"type\":\"choice\",\"arguments\":[{\"name\":\"n\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"nK\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"nM\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"nG\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"nT\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"hexX\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"MIN\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"MAX\",\"description\":\"\",\"type\":\"standalone\"}]},{\"name\":\"OPEN=\",\"optional\":true,\"description\":\"Allows you to delay the opening of any concatenated SAS data sets until they are ready to be processed.\",\"help\":\"OPEN=IMMEDIATE | DEFER\",\"type\":\"choice\",\"arguments\":[{\"name\":\"IMMEDIATE\",\"description\":\"During the compilation phase, opens all data sets that are listed in the SET statement.\",\"type\":\"standalone\"},{\"name\":\"DEFER\",\"description\":\"Opens the first data set during the compilation phase, and opens subsequent data sets during the execution phase. When the DATA step reads and processes all observations in a data set, it closes the data set and opens the next data set in the list.\",\"type\":\"standalone\"}]},{\"name\":\"OUTREP=\",\"optional\":true,\"description\":\"\",\"type\":\"value\"},{\"name\":\"POINT=\",\"optional\":true,\"description\":\"Specifies a temporary variable whose numeric value determines which observation is read. POINT= causes the SET statement to use random (direct) access to read a SAS data set.\",\"help\":\"POINT=*variable*\",\"type\":\"value\"},{\"name\":\"POINTOBS=\",\"optional\":true,\"description\":\"\",\"help\":\"POINTOBS=YES | NO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YES\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"NO\",\"description\":\"\",\"type\":\"standalone\"}]},{\"name\":\"PW=\",\"optional\":true,\"description\":\"\",\"type\":\"value\"},{\"name\":\"PWREQ=\",\"optional\":true,\"description\":\"\",\"help\":\"PWREQ=YES | NO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YES\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"NO\",\"description\":\"\",\"type\":\"standalone\"}]},{\"name\":\"READ=\",\"optional\":true,\"description\":\"Assigns a read password to a SAS file and enables access to a read-protected SAS file.\",\"type\":\"value\"},{\"name\":\"RENAME=\",\"optional\":true,\"description\":\"\",\"type\":\"value\"},{\"name\":\"REPEMPTY=\",\"optional\":true,\"description\":\"\",\"help\":\"REPEMPTY=YES | NO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YES\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"NO\",\"description\":\"\",\"type\":\"standalone\"}]},{\"name\":\"REPLACE=\",\"optional\":true,\"description\":\"\",\"help\":\"REPLACE=YES | NO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YES\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"NO\",\"description\":\"\",\"type\":\"standalone\"}]},{\"name\":\"REUSE=\",\"optional\":true,\"description\":\"\",\"help\":\"REUSE=YES | NO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YES\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"NO\",\"description\":\"\",\"type\":\"standalone\"}]},{\"name\":\"SGIO=\",\"optional\":true,\"description\":\"\",\"help\":\"SGIO=YES | NO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YES\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"NO\",\"description\":\"\",\"type\":\"standalone\"}]},{\"name\":\"SORTEDBY=\",\"optional\":true,\"description\":\"\",\"help\":\"SORTEDBY=by-clause &lt; / collate-name&gt; | _NULL_\",\"type\":\"choice\",\"arguments\":[{\"name\":\"by-clause\",\"description\":\"\",\"help\":\"by-clause &lt; / collate-name&gt;\",\"type\":\"standalone\"},{\"name\":\"_NULL_\",\"description\":\"\",\"type\":\"standalone\"}]},{\"name\":\"SPILL=\",\"optional\":true,\"description\":\"\",\"help\":\"SPILL=YES | NO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YES\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"NO\",\"description\":\"\",\"type\":\"standalone\"}]},{\"name\":\"TOBSNO=\",\"optional\":true,\"description\":\"\",\"type\":\"value\"},{\"name\":\"TRANTAB=\",\"optional\":true,\"description\":\"\",\"type\":\"value\"},{\"name\":\"TYPE=\",\"optional\":true,\"description\":\"\",\"type\":\"value\"},{\"name\":\"UNIQUE\",\"optional\":true,\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"WHERE=\",\"optional\":true,\"description\":\"\",\"type\":\"value\"},{\"name\":\"WHEREUP=\",\"optional\":true,\"description\":\"\",\"help\":\"WHEREUP=YES | NO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YES\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"NO\",\"description\":\"\",\"type\":\"standalone\"}]},{\"name\":\"WRITE=\",\"optional\":true,\"description\":\"\",\"type\":\"value\"}]},{\"name\":\"SEVERITYMODEL\",\"description\":\"The SEVERITYMODEL statement specifies one or more severity distribution models that you want to use in simulating a compound distribution sample. The severity-model-list is a space-separated list of names of severity models that you would use with PROC SEVERITY’s DIST statement. The SEVERITYEST= data set or the SEVERITYSTORE= item store must contain all the severity models in the list. If you specify the SEVERITYEST= data set and if you specify a name that does not appear in the _MODEL_ column of the SEVERITYEST= data set, then that name is ignored. Similarly, if you specify the SEVERITYSTORE= item store and if a severity model by that name does not appear in the item store, then that name is ignored.\",\"help\":\"SEVERITYMODEL &lt;DEFINITIONSTABLE=\\\"CAS-table-name\\\" &lt;(CASLIB=\\\"caslib\\\")&gt; | SEVDEF=\\\"CAS-table-name\\\" &lt;(CASLIB=\\\"caslib\\\")&gt;&gt;\",\"arguments\":[{\"name\":\"DEFINITIONSTABLE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"SEVDEF=\"],\"description\":\"Specifies a data table on the CAS server that contains the severity distribution function definitions. If you do not specify the CASLIB= option, then PROC CCDM assumes that the table is in the caslib that is active in the current CAS session. To specify a different caslib, use the CASLIB= option.\",\"type\":\"value\"}]},{\"name\":\"STOP\",\"description\":\"Stops execution of the current DATA step.\",\"help\":\"STOP\"},{\"name\":\"WHEN\",\"description\":\"Identifies SAS statements that are executed when a particular condition is true.\",\"help\":\"WHEN &lt;DO&gt;\",\"arguments\":[{\"name\":\"DO\",\"optional\":true,\"description\":\"Action statement.\",\"type\":\"standalone\"}]},{\"name\":\"WHERE\",\"description\":\"Selects observations from SAS data sets that meet a particular condition.\",\"help\":\"WHERE where-expression-1\"}],\"supportSiteInformation\":{\"docsetId\":\"casecon\",\"docsetVersion\":\"latest\",\"docsetTargetFile\":\"casecon_ccdm_toc.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/CCOPULA.json",
    "content": "{\"name\":\"CCOPULA\",\"statements\":[{\"name\":\"PROC CCOPULA\",\"description\":\"A multivariate distribution for a random vector contains a description of both the marginal distributions and their dependence structure. A copula approach to formulating a multivariate distribution provides a way to isolate the description of the dependence structure from the marginal distributions. A copula is a function that combines marginal distributions of variables into a specific multivariate distribution. All of the one-dimensional marginals in the multivariate distribution are the cumulative distribution functions of the factors. Copulas help perform large-scale multivariate simulation from separate models, each of which can be fitted using different, even nonnormal, distributional specifications. † The CCOPULA procedure enables you to fit multivariate distributions or copulas from a given sample data set. You can do the following: † o estimate the parameters for a specified copula type † o simulate a given copula\",\"help\":\"PROC CCOPULA <DATA=SAS-data-set><PRINTTIMING>;     \\n\\tBY <DESCENDING><NOTSORTED> ;\\n\\n\\tDEFINE <CLAYTON><NORMAL><T> ...;\\n\\n\\tDISPLAY <CASESENSITIVE><EXCLUDE><EXCLUDEALL> ...;\\n\\n\\tDISPLAYOUT <INCLUDEALL><NOREPLACE><REPEATED> ...;\\n\\n\\tFIT CLAYTON NORMAL T ...;\\n\\n\\tSIMULATE <NDRAWS=integer><OUTUNIFORM=SAS-data-set><RESTORE=SAS-item-store> ...;\\n\\n\\tVAR variables;\\n\\n\\tVIEWSTORE <ALL><BYVARVALUES><CORRELATIONS> ...;\\n\",\"arguments\":[{\"name\":\"DATA=\",\"optional\":true,\"description\":\"Specifies the input data set used to estimate parameters for the FIT statement. When the procedure is used for simulation only, the input data set is not required to run the procedure.\",\"help\":\"DATA=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"PRINTTIMING\",\"optional\":true,\"description\":\"Prints a timing report.\",\"type\":\"standalone\"}]},{\"name\":\"BY\",\"description\":\"The BY statement specifies groups in which separate FIT analyses for copula are performed. The variables must be present in the input data set and are excluded from the model fitting. The BY statement requires the VAR statement to be present.\",\"help\":\"BY &lt;DESCENDING&gt;&lt;NOTSORTED&gt;\",\"arguments\":[{\"name\":\"DESCENDING\",\"optional\":true,\"description\":\"Specifies that the observations are sorted in descending order by the variable that immediately follows the word DESCENDING in the BY statement.\",\"type\":\"standalone\"},{\"name\":\"NOTSORTED\",\"optional\":true,\"description\":\"Specifies that observations are not necessarily sorted in alphabetic or numeric order.\",\"type\":\"standalone\"}]},{\"name\":\"DEFINE\",\"description\":\"The DEFINE statement specifies the relevant information about the copula that is used for the simulation. name specifies the name of the copula definition. You can be use this name later in the SIMULATE statement. copula-type specifies the type of copula. You must specify one of the following copula types: NORMAL fits the normal copula. T fits the t copula. CLAYTON fits the Clayton copula. FRANK fits the Frank copula. GUMBEL fits the Gumbel copula. parameter-value-options specify the input parameters that are used to simulate the specified copula.\",\"help\":\"DEFINE &lt;CLAYTON&gt;&lt;NORMAL&gt;&lt;T&gt; ...\",\"arguments\":[{\"name\":\"CLAYTON\",\"optional\":true,\"description\":\"[copula-type] Fits the Clayton copula.\",\"type\":\"standalone\"},{\"name\":\"CORR=\",\"optional\":true,\"description\":\"Specifies the data set that contains the correlation matrix to use for elliptical copulas. If the correlation matrix is valid but its elements are not submitted in order, then you must provide the variable names in the first column of the matrix, and these names must match the variable names in the VAR statement.\",\"help\":\"CORR=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"DF=\",\"optional\":true,\"description\":\"Specifies the degrees of freedom. You can use this option for t copulas.\",\"help\":\"DF=*value*\",\"type\":\"value\"},{\"name\":\"FRANK\",\"optional\":true,\"description\":\"[copula-type] Fits the Frank copula.\",\"type\":\"standalone\"},{\"name\":\"GUMBEL\",\"optional\":true,\"description\":\"[copula-type] Fits the Gumbel copula.\",\"type\":\"standalone\"},{\"name\":\"NORMAL\",\"optional\":true,\"description\":\"[copula-type] Fits the normal copula.\",\"type\":\"standalone\"},{\"name\":\"T\",\"optional\":true,\"description\":\"[copula-type] Fits the t copula.\",\"type\":\"standalone\"},{\"name\":\"THETA=\",\"optional\":true,\"description\":\"Specifies the parameter value for the Archimedean copulas.\",\"help\":\"THETA=*value*\",\"type\":\"value\"}]},{\"name\":\"DISPLAY\",\"description\":\"The DISPLAY statement enables you to specify a list of display tables to display or exclude. This statement is similar to the ODS SELECT, ODS EXCLUDE, and ODS TRACE statements. However, the DISPLAY statement can improve performance when a large number of tables could be generated (such as in BY-group processing). The procedure processes the DISPLAY statement on a CAS server and thus sends only a subset of ODS tables to the SAS client. Because ODS statements are processed on a SAS client, all the display tables generated are first sent to the client and then the client creates a subset. If both DISPLAY and ODS statements are used together, the DISPLAY statement takes precedence over the ODS statements.\",\"help\":\"DISPLAY &lt;CASESENSITIVE&gt;&lt;EXCLUDE&gt;&lt;EXCLUDEALL&gt; ...\",\"arguments\":[{\"name\":\"CASESENSITIVE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Performs a case-sensitive comparison of table names in the table-list to display table names when tables are subsetted for display. To preserve case, you must enclose table names in the table-list in quotation marks.\",\"type\":\"standalone\"},{\"name\":\"EXCLUDE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays all display tables except those specified in the table-list.\",\"type\":\"standalone\"},{\"name\":\"EXCLUDEALL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Suppresses display of all tables. This option takes precedence over the other options.\",\"type\":\"standalone\"},{\"name\":\"TRACE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays the display table names, labels, and paths.\",\"type\":\"standalone\"}]},{\"name\":\"DISPLAYOUT\",\"description\":\"The DISPLAYOUT statement enables you to create CAS output tables from your displayed output. This statement is similar to the ODS OUTPUT statement. The table-spec-list specifies a list of CAS output tables to create. Each entry in the list has either a key or a key=value format: key=value specifies key as the ODS table name, path, or partial pathname, and specifies value as the CAS output table name. key specifies key as the ODS table name and also as the CAS output table name. Table names and partial pathnames are discussed under the DISPLAY statement. The DISPLAYOUT statement does not support regular expressions.\",\"help\":\"DISPLAYOUT &lt;INCLUDEALL&gt;&lt;NOREPLACE&gt;&lt;REPEATED&gt; ...\",\"arguments\":[{\"name\":\"INCLUDEALL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Creates output CAS tables for all display tables. The name of the created output CAS table is the same as the corresponding display table name. If you specify this option, the table-spec-list specification is ignored.\",\"type\":\"standalone\"},{\"name\":\"NOREPLACE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Does not replace an existing CAS output table of the same name.\",\"type\":\"standalone\"},{\"name\":\"REPEATED\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Replicates the CAS output tables on all nodes.\",\"type\":\"standalone\"}]},{\"name\":\"FIT\",\"description\":\"The FIT statement estimates the parameters for a specified copula type. type specifies the type of the copula to be estimated, which is one of the following: CLAYTON fits the Clayton copula. FRANK fits the Frank copula. GUMBEL fits the Gumbel copula. NORMAL fits the normal copula. T fits the t copula.\",\"help\":\"FIT CLAYTON NORMAL T ...\",\"arguments\":[{\"name\":\"CLAYTON\",\"description\":\"[copula-type] Fits the Clayton copula.\",\"type\":\"standalone\"},{\"name\":\"FRANK\",\"description\":\"[copula-type] Fits the Frank copula.\",\"type\":\"standalone\"},{\"name\":\"GUMBEL\",\"description\":\"[copula-type] Fits the Gumbel copula.\",\"type\":\"standalone\"},{\"name\":\"INIT=\",\"description\":\"Provides the initial values for the numerical optimization. [parameter-value-options] specify the input parameters that are used to initialize the specified copula. These options must be appropriate for the type of copula that you specify. You can specify the following options:\",\"help\":\"INIT=CORR= | DF= | THETA=\",\"type\":\"choice\",\"arguments\":[{\"name\":\"CORR=\",\"type\":\"value\"},{\"name\":\"DF=\",\"type\":\"value\"},{\"name\":\"THETA=\",\"type\":\"value\"}]},{\"name\":\"NAME=\",\"description\":\"Specifies an identifier for the fit.\",\"help\":\"NAME=*name*\",\"type\":\"value\"},{\"name\":\"NORMAL\",\"description\":\"[copula-type] Fits the normal copula.\",\"type\":\"standalone\"},{\"name\":\"T\",\"description\":\"[copula-type] Fits the t copula.\",\"type\":\"standalone\"},{\"name\":\"ITPRINT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Prints a summary iteration listing.\",\"type\":\"standalone\"},{\"name\":\"MARGINALS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the marginal distribution of the individual variables.\",\"help\":\"MARGINALS=UNIFORM | EMPIRICAL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"UNIFORM\",\"followsDelimiter\":\"/\",\"description\":\"Uses the marginal empirical CDF to transform the data and uses the transformed data to fit the copula.\",\"type\":\"standalone\"},{\"name\":\"EMPIRICAL\",\"followsDelimiter\":\"/\",\"description\":\"Uses the input data without transformation to fit the copula.\",\"type\":\"standalone\"}]},{\"name\":\"METHOD=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the method used to estimate parameters.\",\"help\":\"METHOD=MLE | CAL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"MLE\",\"followsDelimiter\":\"/\",\"description\":\"Represents canonical maximum likelihood estimation (CMLE) or maximum likelihood estimation (MLE).\",\"type\":\"standalone\"},{\"name\":\"CAL\",\"followsDelimiter\":\"/\",\"description\":\"Specifies the calibration method that uses the correlation matrix (only Kendall’s tau is implemented in this procedure).\",\"type\":\"standalone\"}]},{\"name\":\"NOCORR\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Suppresses the correlation matrix.\",\"type\":\"standalone\"},{\"name\":\"NOPRINT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Suppresses all output.\",\"type\":\"standalone\"},{\"name\":\"OUTPSEUDO=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the output data set for saving the pseudo-samples with uniform marginal distributions. The pseudo-samples are obtained by transforming the individual variables of the original data with the empirical cumulative distribution functions (CDFs). The data set is not created if this option is not specified.\",\"help\":\"OUTPSEUDO=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"PRINTALL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Prints all output (default option).\",\"type\":\"standalone\"},{\"name\":\"STORE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the item store that preserves the properties of the model and the fit results.\",\"help\":\"STORE=*SAS-item-store*\",\"type\":\"value\"}]},{\"name\":\"SIMULATE\",\"description\":\"The SIMULATE statement simulates data from a specified copula model. The copula name specification is the name of a defined copula as specified by name in the DEFINE statement.\",\"help\":\"SIMULATE &lt;NDRAWS=integer&gt;&lt;OUTUNIFORM=SAS-data-set&gt;&lt;RESTORE=SAS-item-store&gt; ...\",\"arguments\":[{\"name\":\"NDRAWS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the number of draws to generate for this simulation. By default, NDRAWS=100.\",\"help\":\"NDRAWS=*integer*\",\"type\":\"value\"},{\"name\":\"OUTUNIFORM=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the output data set to contain the result of the simulation in uniform margins. The data are not created if you do not specify this option.\",\"help\":\"OUTUNIFORM=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"RESTORE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the input item store that contains the results of fitting a copula. The final estimates, correlations, and other properties of the model that are preserved in the RESTORE= item store are used to define the simulation. The DEFINE and VAR statements are ignored if this option is specified.\",\"help\":\"RESTORE=*SAS-item-store*\",\"type\":\"value\"},{\"name\":\"SEED=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the seed for generating random numbers for the simulation. If you do not provide the seed, a random number is used as the seed.\",\"help\":\"SEED=*integer*\",\"type\":\"value\"},{\"name\":\"TOLERANCE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the tolerance allowed for the simulation.\",\"help\":\"TOLERANCE=*value*\",\"type\":\"value\"}]},{\"name\":\"VAR\",\"description\":\"The VAR statement specifies the variable names in the input data set that is specified by the DATA= option in the PROC CCOPULA statement. The subset of variables in the data set is used for the copula models in the FIT statement. If there is no input data set, the VAR statement creates the list of variable names for the SIMULATE statement.\",\"help\":\"VAR variables\"},{\"name\":\"VIEWSTORE\",\"description\":\"The VIEWSTORE statement allows you to print various reports that describe the model fitting information which is preserved in an item store. The item store must have been created using the STORE= option in the FIT statement.\",\"help\":\"VIEWSTORE &lt;ALL&gt;&lt;BYVARVALUES&gt;&lt;CORRELATIONS&gt; ...\",\"arguments\":[{\"name\":\"ALL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"When this option is provided, the entire contents of the item store are printed.\",\"type\":\"standalone\"},{\"name\":\"BYVARVALUES\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"When this option is provided, the values of the BY-Group variables that were used to fit the model are printed.\",\"type\":\"standalone\"},{\"name\":\"CORRELATIONS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"When this option is provided, the correlation matrices are printed.\",\"type\":\"standalone\"},{\"name\":\"FINALESTIMATES\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"When this option is provided, the Final Parameter Estimates are printed.\",\"type\":\"standalone\"},{\"name\":\"FITMODELSUMMARY\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"When this option is provided, the Fit Model Summary is printed.\",\"type\":\"standalone\"},{\"name\":\"INITIALESTIMATES\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"When this option is provided, the Initial Parameter Estimates are printed.\",\"type\":\"standalone\"},{\"name\":\"INSTORE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the item store that you want to view. If the INSTORE= option is not specified, and if a FIT statement is provided that specifies a STORE= item store, then the STORE= item store specified in the FIT statement will be used as the INSTORE= item store.\",\"help\":\"INSTORE=*SAS-item-store*\",\"type\":\"value\"},{\"name\":\"MINIMAL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"When this option is provided, only the Fit Model Summary and Final Parameter Estimates are printed.\",\"type\":\"standalone\"},{\"name\":\"MODELDEFINITION\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"When this option is provided, the statements that defined the model are printed.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"When this option is provided, no reports are printed.\",\"type\":\"standalone\"},{\"name\":\"OPTIMIZERSETTINGS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"When this option is provided, the optimizer settings that were used to fit the model are printed.\",\"type\":\"standalone\"}]}],\"supportSiteInformation\":{\"docsetId\":\"casecon\",\"docsetVersion\":\"latest\",\"docsetTargetFile\":\"casecon_ccopula_toc.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/CESM.json",
    "content": "{\"name\":\"CESM\",\"statements\":[{\"name\":\"PROC CESM\",\"description\":\"The CESM procedure generates forecasts by using exponential smoothing models with optimized smoothing weights for one or more time series. Time series data have observations that are equally spaced by a specific time interval (for example, monthly or weekly). PROC CESM can also generate these forecasts for transactional data, whose observations are not spaced with respect to any particular time interval. The procedure accumulates transactional data on the basis of a specified (or default) time interval to form a time series prior to modeling and forecasting. Typical examples of transactional data are internet, inventory, sales, and other similar data. For typical time series, you can use the following smoothing models: simple, double, linear, damped trend, seasonal, and Winters method (additive or multiplicative). In addition, transformed versions of the following models are provided: log, square root, logistic, and Box-Cox. The CESM procedure writes the following to output data tables: the time series that are extrapolated by the forecasts, the series summary statistics, the forecasts and confidence limits, and the parameter estimates. PROC CESM requires SAS Cloud Analytic Services (CAS) in order to run, and it does the following: it enables you to run on a cluster of machines that distribute the data and the computations, and it exploits all the available cores and concurrent threads\",\"help\":\"PROC CESM options; \\n\\tBY variables;\\n\\n\\tID variableINTERVAL=interval<options>;\\n\\n\\tFORCAST variable-list / <options>;\\n\"},{\"name\":\"BY\",\"description\":\"You can use a BY statement to obtain separate dummy variable definitions for groups of observations that are defined by the BY variables.\",\"help\":\"BY *variables*;\"},{\"name\":\"ID\",\"description\":\"The ID statement names a numeric variable that identifies observations in the input and output data tables. The values of the ID variable are assumed to be SAS date or datetime values. In addition, the ID statement specifies (in the INTERVAL= option) the frequency that is associated with the time series. The options also specify how to accumulate the observations and how to align the time ID values to form the time series to be forecast. The specified information affects all variables that are specified in subsequent FORECAST statements. If an ID statement is not specified, the observation number (with respect to the BY group) is used as the time ID.\",\"help\":\"ID *variable**INTERVAL=interval*&lt;options&gt;;\",\"arguments\":[{\"name\":\"INTERVAL=\",\"description\":\"specifies the frequency of the input time series or of the time series to be accumulated from the input data. For example, if the input data table consists of quarterly observations, then INTERVAL=QTR should be used. If the SEASONALITY= option is not specified, the length of the seasonal cycle is implied by the INTERVAL= option. For example, INTERVAL=QTR implies a seasonal cycle of length 4. If the ACCUMULATE= option is also specified, the INTERVAL= option determines the time periods for the accumulation of observations. The basic intervals are YEAR, SEMIYEAR, QTR, MONTH, SEMIMONTH, TENDAY, WEEK, WEEKDAY, DAY, HOUR, MINUTE, and SECOND. For more information about the intervals that can be specified, see the chapter \\\"Date Intervals, Formats, and Functions\\\" in SAS/ETS User's Guide.\",\"help\":\"INTERVAL= *interval*\",\"type\":\"value\"},{\"name\":\"ACCUMULATE=\",\"optional\":true,\"description\":\"specifies how to accumulate the data table observations within each time period. The frequency (width of each time interval) is specified in the INTERVAL= option. The ID variable contains the time ID values. Each value of the time ID variable value corresponds to a specific time period. The accumulated values form the time series, which is used in subsequent model fitting and forecasting. The ACCUMULATE= option is particularly useful when there are gaps in the input data or when there are multiple input observations that coincide with a particular time period (for example, transactional data). The EXPAND procedure in SAS/ETS User's Guide offers additional frequency conversions and transformations that can also be useful in creating a time series. By default, ACCUMULATE=TOTAL. If the ACCUMULATE= option is specified, the SETMISSING= option is useful for specifying how to treat accumulated missing values. If missing values should be interpreted as 0, then you should specify SETMISSING=0. For more information about accumulation, see the section Accumulation. You can specify the following options to determine how to accumulate the observations within each time period based on the ID variable and the frequency that is specified in the INTERVAL= option:\",\"help\":\"ACCUMULATE= *option*\",\"type\":\"value\"},{\"name\":\"ALIGN=\",\"optional\":true,\"description\":\"controls the alignment of SAS date or datetime values that are used to identify the time period of output observations. Although any date or datetime value within the time period can identify the time period, this option requests that the representative date or datetime for the time period be calculated as the beginning date or datetime of the time period, the ending date or datetime of the time period, or the middle date or datetime of the time period. In addition to aligning the time ID values consistently for observations that are supplied by the user, this option specifies the method for calculating the time ID values for observations in the forecast and backcast time periods, which often are not supplied by the user. By default, ALIGN=BEGINNING. You can specify the following options:\",\"help\":\"ALIGN=*option*\",\"type\":\"value\"},{\"name\":\"END=\",\"optional\":true,\"description\":\"specifies a SAS date or datetime literal value that represents the end of the data. If the value of the last time ID variable is less than the END= value, the series is extended with missing values. If the value of the last time ID variable is greater than the END= value, the series is truncated. For example, END='1jan2008'D requests that data for time periods after the first of January 2008 not be used. The option END=\\\"&sysdate\\\"D uses the automatic macro variable SYSDATE to extend or truncate the series to the current date. You can use this option and the START= option to ensure that data that are associated with each BY group contain the same number of observations.\",\"help\":\"END= *date | datetime*\",\"type\":\"value\"},{\"name\":\"FORMAT=\",\"optional\":true,\"description\":\"specifies the SAS format for the time ID values. If the FORMAT= option is not specified, the default format is implied by the INTERVAL= option.\",\"help\":\"FORMAT= *format*\",\"type\":\"value\"},{\"name\":\"SETMISSING=\",\"optional\":true,\"description\":\"specifies how to interpret missing values (either actual or accumulated) in the accumulated time series. By default, SETMISSING=MISSING. You can specify either a number (n) or an option to determine how to interpret missing values:\",\"help\":\"SETMISSING= *n | option*\",\"type\":\"value\"},{\"name\":\"START=\",\"optional\":true,\"description\":\"specifies a SAS date or datetime literal value that represents the beginning of the data. If the value of the first time ID variable is greater than the START= value, the series is prefixed with missing values. If the value of the first time ID variable is less than the START= value, the series is truncated. You can use this option and the END= option to ensure that data that are associated with each BY group contain the same number of observations.\",\"help\":\"START= *date | datetime*\",\"type\":\"value\"},{\"name\":\"TRIMID=\",\"optional\":true,\"description\":\"specifies the method for trimming the data in the BY groups. The output time ID variable span that is calculated by the method is dependent on the input time ID variable span, irrespective of missing values of the time series variables. Depending on the method and the input time ID variable data, leading or trailing missing values can be added to the time series variables. After the output time ID variable span is calculated by the method, the ending value of the output time ID variable is recalculated according to the value of the LEAD= option in the FORECAST statement (if the LEAD= option is specified). By default, TRIMID=NONE. You can specify one of the following methods:\",\"help\":\"TRIMID= *method*\",\"type\":\"value\"}]},{\"name\":\"FORECAST\",\"description\":\"The FORECAST statement lists the numeric variables in the input data table whose accumulated values represent time series to be modeled and forecast. (The input data table is specified in the DATA= option in the PROC CESM statement.) You must specify a variable-list that contains one or more numeric variables. For more information about the variable-list, see the section \\\"SAS Variable Lists\\\" in SAS Programmers Guide: Essentials. You can specify any number of FORECAST statements, but you cannot specify the same variable in more than one of them.\",\"help\":\"FORECAST *variable-list* / &lt;options&gt;;\",\"arguments\":[{\"name\":\"ACCUMULATE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies how to accumulate the data table observations within each time period for the variables in the variable-list. If the ACCUMULATE= option is not specified in the FORECAST statement, accumulation is determined by the ACCUMULATE= option in the ID statement. Use the ACCUMULATE= option with multiple FORECAST statements when you want different accumulation specifications for different variables. For more information, see the ACCUMULATE= option in the ID statement.\",\"help\":\"ACCUMULATE=*option*\",\"type\":\"value\"},{\"name\":\"ALPHA=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the significance level to use in computing the confidence limits of the forecast, where number must be between 0 and 1. By default, ALPHA=0.05, which produces 95% confidence intervals.\",\"help\":\"ALPHA=*number*\",\"type\":\"value\"},{\"name\":\"BACK=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the number of observations before the end of the data where the multistep forecasts are to begin. By default, BACK=0.\",\"help\":\"BACK=*n*\",\"type\":\"value\"},{\"name\":\"CRITERION=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the model selection criterion (statistic of fit) to use to select from several candidate models. The default is CRITERION=RMSE. The following statistics of fit are provided:\",\"help\":\"CRITERION=*criterion*\",\"type\":\"value\"},{\"name\":\"LEAD=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the number of periods ahead to forecast (the forecast lead or horizon). The value n is not relative to the last nonmissing observation of a particular series, but is instead relative to the BACK= option specification to the last observation in the input data table or the accumulated series. Thus, if a series has missing values at the end, the actual number of forecasts computed for that series is greater than n. By default, LEAD=0.\",\"help\":\"LEAD=*n*\",\"type\":\"value\"},{\"name\":\"MEDIAN\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"estimates the median forecast values and uses those values for forecasting. (By default, PROC CESM uses mean values for forecasting.) If you do not specify the TRANSFORM= option, no transformation is applied to the time series, so the mean and median forecast values are identical.\",\"type\":\"standalone\"},{\"name\":\"METHOD=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the forecasting model to use to forecast the time series. By default, METHOD=BEST. You can specify the following forecasting model-names:\",\"help\":\"METHOD=*model-name*\",\"type\":\"value\"},{\"name\":\"SETMISSING=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies how to assign missing values (either input or accumulated) in the accumulated time series for variables in the variable-list. If the SETMISSING= option is not specified in the FORECAST statement, missing values are set according to the value of the SETMISSING= option in the ID statement. For more information, see the SETMISSING= option in the ID statement.\",\"help\":\"SETMISSING=*option* | *number*\",\"type\":\"value\"},{\"name\":\"TRANSFORM=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the time series transformation to be applied to the input or accumulated time series. By default, TRANSFORM=NONE. When the TRANSFORM= option is specified, the time series must be strictly positive. After the time series is transformed, the model parameters are estimated by using the transformed series. The forecasts of the transformed series are then computed, and finally the transformed series forecasts are inverse-transformed. The inverse transform produces either mean or median forecasts depending on whether the MEDIAN option is specified. For more information, see the sections Transformations and Inverse Transformations. You can specify the following values for option:\",\"help\":\"TRANSFORM=*option*\",\"type\":\"value\"}]}],\"supportSiteInformation\":{\"docsetId\":\"casecon\",\"docsetVersion\":\"latest\",\"docsetTargetFile\":\"casecon_cesm_toc.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/CIMPORT.json",
    "content": "{\"name\":\"CIMPORT\",\"statements\":[{\"name\":\"PROC CIMPORT\",\"description\":\"Imports a transport file.\",\"help\":\"PROC CIMPORT destination=libref      | <libref.>\\n     member-name<options>;\\n\\tEXCLUDE   SAS file(s) | catalog entry(s)</         MEMTYPE=mtype></         ENTRYTYPE=entry-type>;\\n\\n\\tSELECT SAS file(s) | catalog       entry(s)</         MEMTYPE=mtype></         ENTRYTYPE=entry-type>;\\n\",\"arguments\":[{\"name\":\"CATALOG=\",\"aliases\":[\"C=\",\"CAT=\"],\"description\":\"specifies that the file type is a SAS catalog.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0spsxo6ttbzmon1q9qbu39lzmti\"},{\"name\":\"DATA=\",\"aliases\":[\"D=\",\"DS=\"],\"description\":\"specifies that the file type is a is a SAS data set.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1gpsa700lvzzzn1cqjccfrnlkit\"},{\"name\":\"LIBRARY=\",\"aliases\":[\"L=\",\"LIB=\"],\"description\":\"specifies that the file type is a is a SAS library.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1rudnw0bnrruzn1my1fey27mupt\"},{\"name\":\"libref\",\"placeholder\":true,\"description\":\"specifies the specific catalog, SAS data set, or SAS library as the destination of the transport file. If the destination argument is CATALOG or DATA, you can specify both a libref and a member name. If the libref is omitted, PROC CIMPORT uses the default library as the libref, which is usually the WORK library. If the destination argument is LIBRARY, specify only a libref.\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"n04f2o6m3je0bvn1xkdr4uoula2s\"},{\"name\":\"libref.member-name\",\"placeholder\":true,\"description\":\"specifies the specific catalog, SAS data set, or SAS library as the destination of the transport file. If the destination argument is CATALOG or DATA, you can specify both a libref and a member name. If the libref is omitted, PROC CIMPORT uses the default library as the libref, which is usually the WORK library. If the destination argument is LIBRARY, specify only a libref.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n04f2o6m3je0bvn1xkdr4uoula2s\"},{\"name\":\"COMPRESS=\",\"optional\":true,\"description\":\"Specifies how the resulting CIMPORT data set is to be compressed.\",\"help\":\"COMPRESS=NO | CHAR | BINARY\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NO\",\"aliases\":[\"N\",\"OFF\"],\"description\":\"specifies that the data set produced by CIMPORT is not compressed.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0vtk7htfilg9bn102bbi2lnkqdu\"},{\"name\":\"CHAR\",\"aliases\":[\"ON\",\"YES\",\"Y\"],\"description\":\"specifies that the observations in a newly created SAS data set are compressed (producing variable-length records) by using RLE (Run Length Encoding). RLE compresses observations by reducing repeated runs of the same character (including blanks) to two-byte or three-byte representations.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n046tjd9pjxn5en1mvrb5tomw24w\"},{\"name\":\"BINARY\",\"description\":\"specifies that the observations in a newly created SAS data set are compressed (producing variable-length records) by using RDC (Ross Data Compression). RDC combines run-length encoding and sliding-window compression to compress the file by representing repeated byte patterns more efficiently.\",\"help\":\" BINARY\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n150nhq2a1uybtn108e8hzin0v2v\"}],\"supportSiteTargetFragment\":\"p1cvok6im6ulbon1fvw3xihepq8u\"},{\"name\":\"EET=\",\"optional\":true,\"description\":\"excludes specified entry types from the import process.\",\"help\":\"EET=(*etype(s)*)\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0csfu8lbd4fu4n1jw26a6kwp6sh\"},{\"name\":\"ENCODINGINFO=\",\"optional\":true,\"description\":\"specifies the number of data set headers to read in order to output the encoding value of the data set to the log.\",\"help\":\"ENCODINGINFO=ALL | *n*\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ALL\",\"description\":\"specifies that all data set headers are read. The encoding value stored for the data set header is output to the SAS log.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0qrs8is62u0s3n1wt5jipfszyqb\"},{\"name\":\"n\",\"placeholder\":true,\"description\":\"specifies an integer greater than zero. This value represents the number of data set headers to read. The encoding value stored for the data set header is output to the SAS log.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0z4f9brcqhzh4n153xrotxijepr\"}],\"supportSiteTargetFragment\":\"n1xw24hlhigslln1sf6dkay235p2\"},{\"name\":\"ET=\",\"optional\":true,\"description\":\"specifies entry types to import.\",\"help\":\"ET=(*etype(s)*)\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0pgkyy1k391zmn1duokl0tptoky\"},{\"name\":\"EXTENDSN=\",\"optional\":true,\"description\":\"specifies whether to extend by 1 byte the length of short numerics (less than 8 bytes) when you import them.\",\"help\":\"EXTENDSN=YES | NO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YES\",\"type\":\"standalone\"},{\"name\":\"NO\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"p0l87m2z4lgkd8n1a0e3ukoj5wox\"},{\"name\":\"EXTENDFORMAT=\",\"optional\":true,\"aliases\":[\"Y\",\"N\"],\"description\":\"specifies whether to extend the character format width.\",\"help\":\"EXTENDFORMAT=YES | NO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YES\",\"type\":\"standalone\"},{\"name\":\"NO\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"p1ce3nnhrl9rqyn1nhtvzfau7ydg\"},{\"name\":\"EXTENDVAR=\",\"optional\":true,\"description\":\"specifies a multiplier value that expands character variable lengths.\",\"help\":\"EXTENDVAR=*multiplier* | AUTO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"multiplier\",\"placeholder\":true,\"description\":\"specifies a multiplier value from 1 to 5 or you can specify AUTO. The lengths for character variables are increased by multiplying the current length by the specified value. The default value is 1. When 1 is used, the variable length is not extended. When AUTO is specified, the multiplier is set automatically.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p17he0pvvos9z8n1kmgh0yabi40n\"},{\"name\":\"Auto\",\"description\":\"AUTO is used to set the multiplier. This value is dependent on the encoding of the session and the data set in the transport file. When the file that is specified by INFILE= is in ANSI encoding or has no character encoding ID (CEI) information, a multiplier value of one is used. Otherwise, the extended length is calculated for you.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p13twm38fa76apn1nuhwhx1mmgf5\"}],\"supportSiteTargetFragment\":\"n04tmrroc1qxxkn17xh7151v2ufo\"},{\"name\":\"ISFILEUTF8=\",\"optional\":true,\"description\":\"specifies whether the file is encoded in UTF-8 format.\",\"help\":\"ISFILEUTF8=YES | NO         \",\"type\":\"choice\",\"arguments\":[{\"name\":\"yes\",\"aliases\":[\"YES\",\"Y\",\"TRUE\",\"T\"],\"description\":\"specifies that the data set in the transport file is encoded as UTF-8.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n18ojf1i272ajnn1qv0e0zattaeg\"},{\"name\":\"no\",\"aliases\":[\"NO\",\"N\",\"FALSE\",\"F\"],\"description\":\"specifies that the data set in the transport file is not encoded as UTF-8. NO is the default.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1ud78pkd9drtrn1lmidtvfcucm9\"}],\"supportSiteTargetFragment\":\"n17ley4ztw9mryn1s2wnf5lehbrt\"},{\"name\":\"FORCE\",\"optional\":true,\"description\":\"enables access to a locked catalog.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0zhjwy5q8ytm3n1gdtglgjy5ojy\"},{\"name\":\"INFILE=\",\"optional\":true,\"aliases\":[\"FILE=\"],\"description\":\"specifies a previously defined fileref or the filename of the transport file to read.\",\"help\":\"INFILE=*fileref* | '*filename*'\",\"type\":\"choice\",\"arguments\":[{\"name\":\"fileref\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"'filename'\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"n1owr1pj43ywgon1u75h6tx5jtqa\"},{\"name\":\"MEMTYPE=\",\"optional\":true,\"aliases\":[\"MT=\"],\"description\":\"specifies that only data sets, only catalogs, or both, be moved when a library is imported.\",\"help\":\"MEMTYPE=*mtype*\",\"type\":\"value\",\"arguments\":[{\"name\":\"ALL\",\"description\":\"specifies both catalogs and data sets be imported.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1o1q6m58kxfcmn1axri82qb0xi2\"},{\"name\":\"CATALOG\",\"aliases\":[\"CAT\"],\"description\":\"specifies only catalogs be imported.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1rb24dbg1ryfhn1pp8zpgubigfa\"},{\"name\":\"DATA\",\"aliases\":[\"DS\"],\"description\":\"specifies only data sets be imported.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1lpcc8zmy4avun165k7gv4c37l9\"}],\"supportSiteTargetFragment\":\"n19q3g5svufg2hn1tbodthkbnjl4\"},{\"name\":\"NEW\",\"optional\":true,\"description\":\"creates a new catalog for the imported transport file, and deletes any existing catalog with the same name.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1i908965ql94sn135xah8smerp5\"},{\"name\":\"NOEDIT\",\"optional\":true,\"aliases\":[\"NEDIT\"],\"description\":\"imports SAS/AF PROGRAM and SCL entries without Edit capability.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0szgo3mbvconin1cu68nvfsmg0v\"},{\"name\":\"NOSRC\",\"optional\":true,\"aliases\":[\"NSRC\"],\"description\":\"suppresses the importing of source code for SAS/AF entries that contain compiled SCL code.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1e220zmo4f1ynn15dnx6iw2o6e3\"},{\"name\":\"SORT\",\"optional\":true,\"description\":\"causes the output data set to be re-sorted if necessary when PROC CIMPORT is used to import a sorted data set.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p03tlmy0er3ymrn14y3qk5ffnbo5\"},{\"name\":\"TAPE\",\"optional\":true,\"description\":\"reads the input transport file from a tape.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1dv20q1jsqmpan1l6o22w12xr86\"},{\"name\":\"UPCASE\",\"optional\":true,\"description\":\"writes the alphabetic characters in uppercase to the output file.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1xx6smqr0p2pzn13a8prikx4lk0\"}],\"supportSiteTargetFile\":\"p1be86uw07acoin1aodzspbmkg8m.htm\"},{\"name\":\"EXCLUDE\",\"description\":\"Excludes specified files or entries from the import process.\",\"help\":\"EXCLUDE SAS file(s) | catalog        entry(s)</          MEMTYPE=mtype>\\n</          ENTRYTYPE=entry-type>; \",\"arguments\":[{\"name\":\"SAS\",\"description\":\"specifies one or more SAS files or one or more catalog entries to be excluded from the import process. Specify SAS filenames if you import a library; specify catalog entry names if you import an individual SAS catalog. Separate multiple filenames or entry names with a space. You can use shortcuts to list many like-named files in the EXCLUDE statement. For more information, see .\",\"help\":\"SAS file(s)\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n04erf3zpzoxsmn1ff97kr8tfstr\"},{\"name\":\"catalog\",\"description\":\"specifies one or more SAS files or one or more catalog entries to be excluded from the import process. Specify SAS filenames if you import a library; specify catalog entry names if you import an individual SAS catalog. Separate multiple filenames or entry names with a space. You can use shortcuts to list many like-named files in the EXCLUDE statement. For more information, see .\",\"help\":\"catalog entry(s)\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n04erf3zpzoxsmn1ff97kr8tfstr\"},{\"name\":\"ENTRYTYPE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"ETYPE=\",\"ET=\"],\"description\":\"specifies a single entry type for one or more catalog entries that are listed in the EXCLUDE statement. See .\",\"help\":\"ENTRYTYPE=*entry-type*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1h1m7awdscgrrn1q0qco0626ax6\"},{\"name\":\"MEMTYPE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"MTYPE=\",\"MT=\"],\"description\":\"specifies a single member type for one or more SAS files listed in the EXCLUDE statement. Values for mtype can be\",\"help\":\"MEMTYPE=*mtype*\",\"type\":\"value\",\"arguments\":[{\"name\":\"ALL\",\"followsDelimiter\":\"/\",\"description\":\"specifies both catalogs and data sets be imported.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0vrs10nnfar7dn1bf3uxyztij6k\"},{\"name\":\"CATALOG\",\"followsDelimiter\":\"/\",\"description\":\"specifies only catalogs be imported.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0v2iyeguetr2in16cvf2x8dlwmh\"},{\"name\":\"DATA\",\"followsDelimiter\":\"/\",\"description\":\"specifies only data sets be imported.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1hwprvqvnucvpn1npmr9h5upc8v\"}],\"supportSiteTargetFragment\":\"p0rvbtesjwujbcn1lyd5oiubote5\"}],\"supportSiteTargetFile\":\"n0w04iyav68byhn1kwiwlk4tglt6.htm\"},{\"name\":\"SELECT\",\"description\":\"Specifies individual files or entries to import.\",\"help\":\"SELECT SAS file(s) | catalog        entry(s)</          MEMTYPE=mtype>\\n</          ENTRYTYPE=entry-type>; \",\"arguments\":[{\"name\":\"SAS\",\"description\":\"specifies one or more SAS files or one or more catalog entries to import. Specify SAS filenames if you import a library; specify catalog entry names if you import an individual SAS catalog. Separate multiple filenames or entry names with a space. You can use shortcuts to list many like-named files in the SELECT statement. For more information, see .\",\"help\":\"SAS file(s)\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1arhdjfcjwtuin1gqjk38f3joq7\"},{\"name\":\"catalog\",\"description\":\"specifies one or more SAS files or one or more catalog entries to import. Specify SAS filenames if you import a library; specify catalog entry names if you import an individual SAS catalog. Separate multiple filenames or entry names with a space. You can use shortcuts to list many like-named files in the SELECT statement. For more information, see .\",\"help\":\"catalog entry(s)\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1arhdjfcjwtuin1gqjk38f3joq7\"},{\"name\":\"ENTRYTYPE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"ETYPE=\",\"ET=\"],\"description\":\"specifies a single entry type for one or more catalog entries that are listed in the SELECT statement. See .\",\"help\":\"ENTRYTYPE=*entry-type*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p15gvojzuhvh0zn1g67yxay6uus3\"},{\"name\":\"MEMTYPE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"MTYPE=\",\"MT=\"],\"description\":\"specifies a single member type for one or more SAS files listed in the SELECT statement. Valid values are CATALOG or CAT, DATA, or ALL.\",\"help\":\"MEMTYPE=*mtype*\",\"type\":\"value\",\"arguments\":[{\"name\":\"ALL\",\"followsDelimiter\":\"/\",\"description\":\"specifies both catalogs and data sets be imported.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0hy255ey4b1san1md27qm5o9gjs\"},{\"name\":\"CATALOG\",\"followsDelimiter\":\"/\",\"description\":\"specifies only catalogs be imported.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n13lcxvhtgmun1n1vx3h1veilxzj\"},{\"name\":\"DATA\",\"followsDelimiter\":\"/\",\"description\":\"specifies only data sets be imported.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1ngg7o3yp8fm8n1ud6mqmktn3iu\"}],\"supportSiteTargetFragment\":\"p02zd0vs47qf1sn1o3ucmyu21493\"}],\"supportSiteTargetFile\":\"n0ttsv2nqo5ogmn1d6c50ipzcfva.htm\"}],\"supportSiteInformation\":{\"docsetId\":\"proc\",\"docsetVersion\":\"v_002\",\"docsetTargetFile\":\"n0sf0mvsb4f076n14i2u82w9z4st.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/CLP.json",
    "content": "{\"name\":\"CLP\",\"statements\":[{\"name\":\"PROC CLP\",\"description\":\"The CLP procedure is a finite-domain constraint programming solver for constraint satisfaction problems (CSPs) with linear, logical, global, and scheduling constraints. In addition to having an expressive syntax for representing CSPs, the solver features powerful built-in consistency routines and constraint propagation algorithms, a choice of nondeterministic search strategies, and controls for guiding the search mechanism that enable you to solve a diverse array of combinatorial problems.\",\"help\":\"PROC CLP <ACTDATA= SAS-data-set | ACTIVITY=SAS-data-set><CONDATA= SAS-data-set><DM= m | DEM= m><DOMAIN= [lb, ub] | DOM=[lb, ub><DPR= n><FINDALLSOLNS><MAXSOLNS=n><MAXTIME= m><NOPREPROCESS><OUT= SAS-data-set><PREPROCESS><RESDATA= SAS-data-set><RESTARTS= n><SCHEDRES= SAS-data-set (Experimental)><SCHEDTIME= SAS-data-set (Experimental)><SCHEDULE=SAS-data-set (Experimental)><SHOWPROGRESS><TIMETYPE=CPU | REAL><USECONDATAVARS=0 | 1><VARASSIGN= keyword | MIN><VARASSIGN= keyword | MIN><VARSELECT=FIFO | MAXCS | MINR                     ... >; \\n\\tACTIVITY specification <...> ;\\n\\n\\tALLDIFF (variables) <...> ; | ALLDIFFERENT (variables)                     <...> ;\\n\\n\\tARRAY specification <...> ;\\n\\n\\tELEMENT element_constraint-1 <...element_constraint-n>                     ;\\n\\n\\tFOREACH (array, type, <offset>) ;\\n\\n\\tGCC global_cardinality_constraint-1                     <...global_cardinality_constraint-n> ;\\n\\n\\tLINCON linear_constraint <, ...> ; | LINEAR linear_constraint                     <, ...> ;\\n\\n\\tREIFY variable : (linear_constraint) <...> ;\\n\\n\\tREQUIRES resource_constraint-1 <...resource_constraint-n>                     ;\\n\\n\\tRESOURCE specification <...> ; | RES specification <...>                     ;\\n\\n\\tSCHEDULE <ACTASSIGN= keyword><ACTSELECT=<LJRAND | RAND | MAXD>... ><DURATION= dur | DUR= dur>                      ...;\\n\\n\\tVARIABLE var_specification-1 <...var_specification-n>                     ;\\n\",\"arguments\":[{\"name\":\"ACTDATA=\",\"optional\":true,\"aliases\":[\"ACTIVITY=\"],\"description\":\"Identifies the input data set that defines the activities and temporal constraints. The temporal constraints consist of time alignment-type constraints and precedence-type constraints.\",\"type\":\"value\"},{\"name\":\"CONDATA=\",\"optional\":true,\"description\":\"Identifies the input data set that defines the linear constraints, variable types, and variable bounds.\",\"type\":\"value\"},{\"name\":\"DM=\",\"optional\":true,\"aliases\":[\"DEM=\"],\"description\":\"Specifies the dead-end multiplier for the CSP. The dead-end multiplier is used to determine the number of dead ends that are permitted before triggering a complete restart of the search technique in a scheduling environment\",\"type\":\"value\"},{\"name\":\"DOMAIN=\",\"optional\":true,\"aliases\":[\"DOM=\"],\"description\":\"Specifies the global domain of all variables to be the closed interval [lb, ub].\",\"type\":\"value\"},{\"name\":\"DPR=\",\"optional\":true,\"description\":\"Specifies an upper bound on the number of dead ends that are permitted before PROC CLP restarts or terminates the search, depending on whether or not a randomized search strategy is used. In the case of a nonrandomized strategy, n is an upper bound on the number of allowable dead ends before terminating.\",\"type\":\"value\"},{\"name\":\"FINDALLSOLNS\",\"optional\":true,\"aliases\":[\"ALLSOLNS\",\"FINDALL\"],\"description\":\"Attempts to find all possible solutions to the CSP. When a randomized search strategy is used, it is possible to rediscover the same solution and end up with multiple instances of the same solution. This is currently the case when you are solving scheduling-related problems. Therefore, this option is ignored when you are solving a scheduling-related problem.\",\"type\":\"standalone\"},{\"name\":\"MAXSOLNS=\",\"optional\":true,\"description\":\"Specifies the number of solution attempts to be generated for the CSP. The default value is 1. It is important to note, especially in the context of randomized strategies, that an attempt could result in no solution, given the current controls on the search mechanism, such as the number of restarts and the number of dead-ends permitted. As a result, the total number of solutions found might not match the MAXSOLNS= parameter.\",\"help\":\"MAXSOLNS=*n*\",\"type\":\"value\"},{\"name\":\"MAXTIME=\",\"optional\":true,\"description\":\"Specifies an upper bound on the number of CPU seconds allocated for solving the problem. Note that the time specified by the MAXTIME= option is checked only once at the end of each iteration. Therefore, the actual running time can be longer than that specified by the MAXTIME= option. The difference depends on how long the last iteration takes. If you do not specify this option, the procedure does not stop based on the amount of time elapsed.\",\"type\":\"value\"},{\"name\":\"NOPREPROCESS\",\"optional\":true,\"description\":\"Suppresses any preprocessing that would typically be performed for the problem.\",\"type\":\"standalone\"},{\"name\":\"OUT=\",\"optional\":true,\"description\":\"Identifies the output data set that contains the solution(s) to the CSP, if any exist(s).\",\"type\":\"value\"},{\"name\":\"PREPROCESS\",\"optional\":true,\"description\":\"Permits any preprocessing that would typically be performed for the problem.\",\"type\":\"standalone\"},{\"name\":\"RESDATA=\",\"optional\":true,\"aliases\":[\"RESIN=\"],\"description\":\"Identifies the input data set that defines the resources and their attributes such as capacity and resource pool membership. This information can be used in lieu of, or in combination with, the RESOURCE statement.\",\"type\":\"value\"},{\"name\":\"RESTARTS=\",\"optional\":true,\"description\":\"Specifies the number of restarts of the randomized search technique before terminating the procedure. The default value is 3.\",\"type\":\"value\"},{\"name\":\"SCHEDRES=\",\"optional\":true,\"description\":\"Identifies the output data set that contains the solutions to scheduling CSPs. This data set contains the resource assignments of activities.\",\"type\":\"value\"},{\"name\":\"SCHEDTIME=\",\"optional\":true,\"description\":\"Identifies the output data set that contains the solutions to scheduling CSPs. This data set contains the time assignments of activities.\",\"type\":\"value\"},{\"name\":\"SCHEDULE=\",\"optional\":true,\"aliases\":[\"SCHEDOUT=\"],\"description\":\"Identifies the output data set that contains the scheduling-related solution to the CSP, if one exists.\",\"type\":\"value\"},{\"name\":\"SHOWPROGRESS\",\"optional\":true,\"description\":\"Prints a message to the log whenever a solution has been found. When a randomized strategy is used, the number of restarts and dead ends that were required are also printed to the log.\",\"type\":\"standalone\"},{\"name\":\"TIMETYPE=\",\"optional\":true,\"description\":\"Specifies the units for the value of the MAXTIME= option. The value of this option determines whether such time is CPU time or real time. The default value of this option is CPU.\",\"help\":\"TIMETYPE=CPU | REAL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"CPU\",\"description\":\"Specifies CPU time units for the value of the MAXTIME= option.\",\"type\":\"standalone\"},{\"name\":\"REAL\",\"description\":\"Specifies REAL time units for the value of the MAXTIME= option.\",\"type\":\"standalone\"}]},{\"name\":\"USECONDATAVARS=\",\"optional\":true,\"description\":\"Specifies whether the numeric variables in the CONDATA= data set, with the exception of any reserved variables, are implicitly defined or not.\",\"help\":\"USECONDATAVARS=0 | 1\",\"type\":\"choice\",\"arguments\":[{\"name\":\"0\",\"description\":\"Indicates that the numeric variables in the CONDATA= data set are not implicitly defined.\",\"type\":\"standalone\"},{\"name\":\"1\",\"description\":\"Indicates that the numeric variables in the CONDATA= data set are implicitly defined, in which case a VARIABLE statement is not necessary to define the variables in the data set.\",\"type\":\"standalone\"}]},{\"name\":\"VARASSIGN=\",\"optional\":true,\"description\":\"Specifies the value selection strategy. Currently there is only one value selection strategy. The MIN strategy selects the minimum value from the domain of the selected variable.\",\"help\":\"VARASSIGN=MIN\",\"type\":\"value\"},{\"name\":\"VARSELECT=\",\"optional\":true,\"description\":\"Specifies the variable selection strategy. Both static and dynamic strategies are available.\",\"help\":\"VARSELECT=FIFO | MAXCS | MINR | MAXC | MINRMAXC\",\"type\":\"choice\",\"arguments\":[{\"name\":\"FIFO\",\"description\":\"[Static strategy]--Uses the first-in-first-out ordering of the variables as encountered by the procedure.\",\"type\":\"standalone\"},{\"name\":\"MAXCS\",\"description\":\"[Static strategy]--Selects the variable with the maximum number of constraints.\",\"type\":\"standalone\"},{\"name\":\"MINR\",\"description\":\"[Dynamic strategy]--Selects the variable with the smallest range (that is, the minimum value of upper bound minus lower bound).\",\"type\":\"standalone\"},{\"name\":\"MAXC\",\"description\":\"[Dynamic strategy]--Selects the variable with the largest number of active constraints\",\"type\":\"standalone\"},{\"name\":\"MINRMAXC\",\"description\":\"[Dynamic strategy]--Selects the variable with the smallest range, breaking ties by selecting one with the largest number of active constraints.\",\"type\":\"standalone\"}]}]},{\"name\":\"ACTIVITY\",\"description\":\"An ACTIVITY specification can be one of the following types: activity <= ( <DUR=> duration <type=date ...>)> (activity_list) <= ( <DUR=> duration <type=date ...>)> where duration is the activity duration and type is a keyword specifying an alignment-type constraint on the activity (or activities) with respect to the date given by date. The ACTIVITY statement defines one or more activities and the attributes of each activity, such as the duration and any temporal constraints of the time alignment type. The default duration is 0. Valid type keywords are as follows: o SGE, start greater than or equal to date o SLE, start less than or equal to date o FGE, finish greater than or equal to date o FLE, finish less than or equal to date You can specify any combination of the preceding keywords. For example, to define activities A1, A2, A3, B1, and B3 with duration 3, and to set the start time of these activities equal to 10, you would specify the following: activity (A1-A3 B1 B3) = ( dur=3 sge=10 sle=10 );\",\"help\":\"ACTIVITY specification &lt;...&gt; \"},{\"name\":\"ALLDIFF\",\"aliases\":[\"ALLDIFFERENT\"],\"description\":\"The ALLDIFF statement can have multiple specifications. Each specification defines a unique global constraint on a set of variables requiring all of them to be different from each other. A global constraint is equivalent to a conjunction of elementary constraints. For example, the statements var (X1-X3) A B; alldiff (X1-X3) (A B); are equivalent to X1 ≠ X2 AND X2 ≠ X3 AND X1 ≠ X3 AND A ≠ B If the variable list is empty, the ALLDIFF constraint applies to all the variables declared in the VAR statement.\",\"help\":\"ALLDIFF (variables) &lt;...&gt; ; | ALLDIFFERENT (variables)                         &lt;...&gt; \"},{\"name\":\"ARRAY\",\"description\":\"An ARRAY specification is in a form as follows: name[dimension](variables) The ARRAY statement is used to associate a name with a list of variables. Each of the variables in the variable list must be defined using a VAR statement. The ARRAY statement is required when you are specifying a constraint by FOREACH statement.\",\"help\":\"ARRAY specification &lt;...&gt; \"},{\"name\":\"ELEMENT\",\"description\":\"An element_constraint is specified in the following form: (index variable, (integer list), variable) The ELEMENT statement specifies one or more element constraints. An element constraint enables you to define dependencies, not necessarily functional, between variables.\",\"help\":\"ELEMENT element_constraint-1 &lt;...element_constraint-n&gt;                     \"},{\"name\":\"FOREACH\",\"description\":\"where array must be defined by using an ARRAY statement, type is a keyword that determines the type of the constraint, and offset is an integer. The FOREACH statement iteratively applies a constraint over an array of variables. The type of the constraint is determined by type. Currently, the only valid type keyword is DIFF. The optional offset parameter is an integer and is interpreted in the context of the constraint type. The default value of offset is zero.\",\"help\":\"FOREACH (array, type, &lt;offset&gt;) \"},{\"name\":\"GCC\",\"description\":\"where global_cardinality_constraint is specified in the following form: (variables) = ((v1,l1,u1) <...(vn,ln,un)> <DL= dl> <DU= du> ) vi is a value in the domain of one of the variables, and li and ui are the lower and upper bounds on the number of variables assigned to vi. The values of dl and du are the lower and upper bounds on the number of variables assigned to values in D outside of (v1,...,vn). The GCC statement specifies one or more global cardinality constraints. A global cardinality constraint (GCC) is a constraint that consists of a set of variables {xi,...,xn} and for each value v in D=Ui=1,...,nDom(xi), a pair of numbers lv and uv. A GCC is satisfied if and only if the number of times that a value v in D is assigned to the variables x1,...,xn is at least lv and at most uv.\",\"help\":\"GCC global_cardinality_constraint-1                         &lt;...global_cardinality_constraint-n&gt; \"},{\"name\":\"LINCON\",\"aliases\":[\"LINEAR\"],\"description\":\"A linear_constraint is specified in the following form: linear_term_1 operator linear_term_2 where a linear_term is of the form ((<+|-> variable | number <* variable >)...) The keyword operator can be one of the following: <, ≤, =, ≥ , >, <>, LE, EQ, GE, LT, GT, NE The LINCON statement allows for a very general specification of linear constraints.\",\"help\":\"LINCON linear_constraint &lt;, ...&gt; ; | LINEAR linear_constraint                         &lt;, ...&gt; \"},{\"name\":\"REIFY\",\"description\":\"A linear_constraint is specified in the following form: linear_term_1 operator linear_term_2 where a linear_term is of the form ((<+|-> variable | number <* variable >)...) The keyword operator can be one of the following: <, ≤, =, ≥ , >, <>, LE, EQ, GE, LT, GT, NE The REIFY statement associates a binary variable with a linear constraint. The value of the binary variable is 1 or 0 depending on whether the linear constraint is satisfied or not, respectively. The linear constraint is said to be reified, and the binary variable is referred to as the control variable. As with the other variables, the control variable must also be defined in a VAR statement or in the CONDATA= data set.\",\"help\":\"REIFY variable : (linear_constraint) &lt;...&gt; \"},{\"name\":\"REQUIRES\",\"aliases\":[\"REQ\"],\"description\":\"where resource_constraint is specified in the following form: activity_specification = (resource_specification) <qty = > where activity_specification: (activity | activity-1 <...activity-m>) and resource_specification: (resource-1 <qty = > <...(, OR) resource- <qty=>>) activity_specification is a single activity or a list of activities that requires q units of the resource identified in resource_specification. resource_specification is a single resource or a list of resources, representing a choice of resource, along with the equivalent required quantities for each resource. The default value of ri is 1. Alternate resource requirements are separated by a comma (,) or the keyword OR. The qty= parameter outside the resource_specification acts as a multiplier to the qty= parameters inside the resource_specification. The REQUIRES statement defines the potential activity assignments with respect to the pool of resources. If an activity is not defined, the REQUIRES statement implicitly defines the activity.\",\"help\":\"REQUIRES resource_constraint-1 &lt;...resource_constraint-n&gt;                     \"},{\"name\":\"RESOURCE\",\"aliases\":[\"RES\"],\"description\":\"A RESOURCE specification is a single resource or a list of resources. The RESOURCE statement specifies the names of all resources that are available to be allocated to the activities. The REQUIRES statement is necessary to specify the resource requirements of an activity. Currently all resources are assumed to be unary resources in that their capacity is equal to one and they cannot be assigned to more than one activity at any given time.\",\"help\":\"RESOURCE specification &lt;...&gt; ; | RES specification                         &lt;...&gt; \"},{\"name\":\"SCHEDULE\",\"aliases\":[\"SCHED\"],\"description\":\"\",\"help\":\"SCHEDULE &lt;ACTASSIGN= keyword&gt;&lt;ACTSELECT=&lt;LJRAND | RAND | MAXD&gt;                             ... &gt;&lt;DURATION= dur | DUR= dur&gt; ...\",\"arguments\":[{\"name\":\"ACTASSIGN=\",\"optional\":true,\"description\":\"Specifies the activity assignment strategy subject to the setting of the ACTSELECT= option.\",\"type\":\"value\"},{\"name\":\"ACTSELECT=\",\"optional\":true,\"description\":\"Specifies the activity selection strategy.\",\"help\":\"ACTSELECT=LJRAND | RAND | MAXD | MINA | MINLS | RJRAND | DET | DMNLS\",\"type\":\"choice\",\"arguments\":[{\"name\":\"LJRAND\",\"description\":\"[Randomized selection strategy] Selects an activity at random from those that begin prior to the earliest early finish time. This is the default strategy.\",\"type\":\"standalone\"},{\"name\":\"RAND\",\"description\":\"[Randomized selection strategy] See the LJRAND selection strategy.\",\"type\":\"standalone\"},{\"name\":\"MAXD\",\"description\":\"[Randomized selection strategy] Selects an activity at random from those that begin prior to the earliest early finish time and that have maximum duration.\",\"type\":\"standalone\"},{\"name\":\"MINA\",\"description\":\"[Randomized selection strategy] Selects an activity at random from those that begin prior to the earliest early finish time and that have the minimum number of resource assignments.\",\"type\":\"standalone\"},{\"name\":\"MINLS\",\"description\":\"[Randomized selection strategy] Selects an activity at random from those that begin prior to the earliest early finish time and that have a minimum late start date.\",\"type\":\"standalone\"},{\"name\":\"RJRAND\",\"description\":\"[Randomized selection strategy] Selects an activity at random from those that finish after the latest late start time.\",\"type\":\"standalone\"},{\"name\":\"DET\",\"description\":\"[Deterministic selection strategy] Selects the first activity that begins prior to the earliest activity finish date.\",\"type\":\"standalone\"},{\"name\":\"DMNLS\",\"description\":\"[Deterministic selection strategy] Selects the activity with the earliest late start time.\",\"type\":\"standalone\"}]},{\"name\":\"DURATION=\",\"optional\":true,\"aliases\":[\"SCHEDDUR=\",\"DUR=\"],\"description\":\"Specifies the duration of the schedule.\",\"type\":\"value\"},{\"name\":\"EDGEFINDER=\",\"optional\":true,\"aliases\":[\"EDGE=\"],\"description\":\"Activates the edge-finder consistency routines for scheduling problems. By default, the EDGEFINDER= option is inactive. Specifying the EDGEFINDER= option determines whether an activity must be the first or the last to be processed from a set of activities requiring a given resource or set of resources and prunes the domain of activity as appropriate. Specifying EDGEFINDER by itself is equivalent to specifying EDGEFINDER=LAST.\",\"type\":\"value\"},{\"name\":\"FINISH=\",\"optional\":true,\"aliases\":[\"END=\",\"FINISHBEFORE=\"],\"description\":\"Specifies the finish time for the schedule. The schedule finish time is an upper bound on the finish time of each activity (subject to time, precedence, and resource constraints). If you want to impose a tighter upper bound for an activity, you can do so either by using the FLE= specification in an ACTIVITY statement or by using the _ALIGNDATE_ and _ALIGNTYPE_ variables in the ACTDATA= data set.\",\"type\":\"value\"},{\"name\":\"NOTFIRST=\",\"optional\":true,\"aliases\":[\"NF=\"],\"description\":\"Activates an extension of the edge-finder consistency routines for scheduling problems. By default, the NOTFIRST= option is inactive. Specifying the NOTFIRST= option determines whether an activity cannot be the first to be processed from a set of activities requiring a given resource or set of resources and prunes its domain as appropriate.\",\"type\":\"value\"},{\"name\":\"NOTLAST=\",\"optional\":true,\"aliases\":[\"NL=\"],\"description\":\"Activates an extension of the edge-finder consistency routines for scheduling problems. By default, the NOTLAST= option is inactive. Specifying the NOTLAST= option determines whether an activity cannot be the last to be processed from a set of activities requiring a given resource or set of resources and prunes its domain as appropriate.\",\"type\":\"value\"},{\"name\":\"START=\",\"optional\":true,\"aliases\":[\"BEGIN=\",\"STARTAFTER=\"],\"description\":\"Specifies the start time for the schedule. The schedule start time is a lower bound on the start time of each activity (subject to time, precedence, and resource constraints). If you want to impose a tighter lower bound for an activity, you can do so either by using the SGE= specification in an ACTIVITY statement or by using the _ALIGNDATE_ and _ALIGNTYPE_ variables in the ACTDATA= data set.\",\"type\":\"value\"}]},{\"name\":\"VARIABLE\",\"aliases\":[\"VAR\"],\"description\":\"A var_specification-1 can be one of the following types: variable <=[lower-bound <, upper-bound>]> (variables) <=[lower-bound <, upper-bound>]> The VARIABLE statement declares all the variables that are to be considered in the CSP and, optionally, defines their domains. Any variable domains defined in a VARIABLE statement override the global variable domains defined using the DOMAIN= option in the PROC CLP statement as well as any bounds defined using the CONDATA= data set. If lower- bound is specified and upper-bound is omitted, the corresponding variables are considered as being assigned to lower-bound. The values of lower-bound and upper-bound can also be specified as missing, in which case the appropriate values from the DOMAIN= specification are substituted.\",\"help\":\"VARIABLE var_specification-1 &lt;...var_specification-n&gt;                     \"}],\"supportSiteInformation\":{\"docsetId\":\"casmopt\",\"docsetVersion\":\"latest\",\"docsetTargetFile\":\"casmopt_clp_toc.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/CLUSTER.json",
    "content": "{\"name\":\"CLUSTER\",\"statements\":[{\"name\":\"PROC CLUSTER\",\"description\":\"The CLUSTER procedure hierarchically clusters the observations in a SAS data set by using one of 11 methods. The data can be coordinates or distances. If the data are coordinates, PROC CLUSTER computes (possibly squared) Euclidean distances. If you want non-Euclidean distances, use the DISTANCE procedure to compute an appropriate distance data set that can then be used as input to PROC CLUSTER. † The clustering methods are: average linkage, the centroid method, complete linkage, density linkage (including Wong’s hybrid and th-nearest-neighbor methods), maximum likelihood for mixtures of spherical multivariate normal distributions with equal variances but possibly unequal mixing proportions, the flexible-beta method, McQuitty’s similarity analysis, the median method, single linkage, two-stage density linkage, and Ward’s minimum-variance method. † All methods are based on the usual agglomerative hierarchical clustering procedure. Each observation begins in a cluster by itself. The two closest clusters are merged to form a new cluster that replaces the two old clusters. Merging of the two closest clusters is repeated until only one cluster is left. The various clustering methods differ in how the distance between two clusters is computed.\",\"help\":\"PROC CLUSTER <BETA=n><CCC><DATA=SAS-data-set><DIM=n><HYBRID><K=n><METHOD=AVERAGE|AVE | CENTROID|CEN | COMPLETE|COM... ><MODE=n><NOEIGEN><NOID><NONORM><NOPRINT><NOSQUARE><NOTIE><OUTTREE=SAS-data-set><PENALTY=p><><PRINT=n><PSEUDO><R=n><RMSSTD><RSQUARE><SIMPLE><STANDARD><TRIM=p>;     \\n\\tBY <DESCENDING><NOTSORTED> ;\\n\\n\\tCOPY variables ;\\n\\n\\tFREQ variable;\\n\\n\\tID variable ;\\n\\n\\tRMSSTD variable ;\\n\\n\\tVAR variables ;\\n\",\"arguments\":[{\"name\":\"BETA=\",\"optional\":true,\"description\":\"Specifies the beta parameter for METHOD=FLEXIBLE. The value of n should be less than 1, usually between 0 and -1. By default, BETA=-0.25.\",\"help\":\"BETA=*n*\",\"type\":\"value\"},{\"name\":\"CCC\",\"optional\":true,\"description\":\"Displays the cubic clustering criterion and approximate expected R square under the uniform null hypothesis.\",\"type\":\"standalone\"},{\"name\":\"DATA=\",\"optional\":true,\"description\":\"Names the input data set containing observations to be clustered.\",\"help\":\"DATA=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"DIM=\",\"optional\":true,\"description\":\"Specifies the dimensionality used when computing density estimates with the TRIM= option, METHOD=DENSITY, or METHOD=TWOSTAGE. The values of n must be greater than or equal to 1. The default is the number of variables if the data are coordinates; the default is 1 if the data are distances.\",\"help\":\"DIM=*n*\",\"type\":\"value\"},{\"name\":\"HYBRID\",\"optional\":true,\"description\":\"Requests Wong’s hybrid clustering method in which density estimates are computed from a preliminary cluster analysis using the k-means method.\",\"type\":\"standalone\"},{\"name\":\"K=\",\"optional\":true,\"description\":\"Specifies the number of neighbors to use for th-nearest-neighbor density estimation. The number of neighbors (n) must be at least two but less than the number of observations.\",\"help\":\"K=*n*\",\"type\":\"value\"},{\"name\":\"METHOD=\",\"optional\":true,\"description\":\"Specifies the clustering method used by the procedure.\",\"help\":\"METHOD=AVERAGE | CENTROID | COMPLETE | DENSITY | EML | FLEXIBLE | MCQUITTY | MEDIAN | SINGLE | TWOSTAGE | WARD\",\"type\":\"choice\",\"arguments\":[{\"name\":\"AVERAGE\",\"aliases\":[\"AVE\"],\"description\":\"Requests average linkage (group average, unweighted pair-group method using arithmetic averages, UPGMA).\",\"type\":\"standalone\"},{\"name\":\"CENTROID\",\"aliases\":[\"CEN\"],\"description\":\"Requests the centroid method (unweighted pair-group method using centroids, UPGMC, centroid sorting, weighted-group method).\",\"type\":\"standalone\"},{\"name\":\"COMPLETE\",\"aliases\":[\"COM\"],\"description\":\"Requests complete linkage (furthest neighbor, maximum method, diameter method, rank order typal analysis).\",\"type\":\"standalone\"},{\"name\":\"DENSITY\",\"aliases\":[\"DEN\"],\"description\":\"Requests density linkage, which is a class of clustering methods using nonparametric probability density estimation.\",\"type\":\"standalone\"},{\"name\":\"EML\",\"description\":\"Requests maximum-likelihood hierarchical clustering for mixtures of spherical multivariate normal distributions with equal variances but possibly unequal mixing proportions.\",\"type\":\"standalone\"},{\"name\":\"FLEXIBLE\",\"aliases\":[\"FLE\"],\"description\":\"Requests the Lance-Williams flexible-beta method.\",\"type\":\"standalone\"},{\"name\":\"MCQUITTY\",\"aliases\":[\"MCQ\"],\"description\":\"Requests McQuitty’s similarity analysis (weighted average linkage, weighted pair-group method using arithmetic averages, WPGMA).\",\"type\":\"standalone\"},{\"name\":\"MEDIAN\",\"aliases\":[\"MED\"],\"description\":\"Requests single linkage (nearest neighbor, minimum method, connectedness method, elementary linkage analysis, or dendritic method).\",\"type\":\"standalone\"},{\"name\":\"SINGLE\",\"aliases\":[\"SIN\"],\"description\":\"Requests Gower’s median method (weighted pair-group method using centroids, WPGMC).\",\"type\":\"standalone\"},{\"name\":\"TWOSTAGE\",\"aliases\":[\"TWO\"],\"description\":\"Requests two-stage density linkage. You must also specify the K=, R=, or HYBRID option to indicate the type of density estimation to be used.\",\"type\":\"standalone\"},{\"name\":\"WARD\",\"aliases\":[\"WAR\"],\"description\":\"Requests Ward’s minimum-variance method (error sum of squares, trace W).\",\"type\":\"standalone\"}]},{\"name\":\"MODE=\",\"optional\":true,\"description\":\"Specifies that, when two clusters are joined, each must have at least n members in order for either cluster to be designated a modal cluster. If you specify MODE=1, each cluster must also have a maximum density greater than the fusion density in order for either cluster to be designated a modal cluster.\",\"help\":\"MODE=*n*\",\"type\":\"value\"},{\"name\":\"NOEIGEN\",\"optional\":true,\"description\":\"Suppresses computation of the eigenvalues of the covariance matrix and substitutes the variances of the variables for the eigenvalues when computing the cubic clustering criterion.\",\"type\":\"standalone\"},{\"name\":\"NOID\",\"optional\":true,\"description\":\"Suppresses the display of ID values for the clusters joined at each generation of the cluster history.\",\"type\":\"standalone\"},{\"name\":\"NONORM\",\"optional\":true,\"description\":\"Prevents the distances from being normalized to unit mean or unit root mean square with most methods.\",\"type\":\"standalone\"},{\"name\":\"NOPRINT\",\"optional\":true,\"description\":\"Suppresses the display of all output. Note that this option temporarily disables the Output Delivery System (ODS).\",\"type\":\"standalone\"},{\"name\":\"NOSQUARE\",\"optional\":true,\"description\":\"Prevents input distances from being squared with METHOD=AVERAGE, METHOD=CENTROID, METHOD=MEDIAN, or METHOD=WARD.\",\"type\":\"standalone\"},{\"name\":\"NOTIE\",\"optional\":true,\"description\":\"Prevents PROC CLUSTER from checking for ties for minimum distance between clusters at each generation of the cluster history.\",\"type\":\"standalone\"},{\"name\":\"OUTTREE=\",\"optional\":true,\"description\":\"Creates an output data set that can be used by the TREE procedure to draw a tree diagram. You must give the data set a two-level name to save it.\",\"help\":\"OUTTREE=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"PENALTY=\",\"optional\":true,\"description\":\"Specifies the penalty coefficient used with METHOD=EML.\",\"help\":\"PENALTY=*p*\",\"type\":\"value\"},{\"name\":\"PLOTS=\",\"optional\":true,\"description\":\"Controls the plots produced through ODS Graphics. Syntax: (1) PLOTS <(global-plot-options)> <= plot-request > (2) PLOTS <(global-plot-options)> <= (plot-request <... plot-request >)> The global plot options are as follows: MAXCLUS=n -- right-truncates the CCC, PSF, and PST2 plots at the n value. This prevents these plots from losing resolution when a large number of clusters are plotted. The default is MAXCLUS=200. MAXPOINTS=n | MAXPTS=n suppresses the dendrogram when the number of clusters exceeds the n value. This prevents an unreadable plot from being produced. The default is MAXPOINTS=200. UNPACKPANELS breaks a plot that is otherwise paneled into plots separate plots for each statistic. This option can be abbreviated as UNPACK. ONLY -- has no effect, but is accepted for consistency with other procedures.\",\"type\":\"value\"},{\"name\":\"PRINT=\",\"optional\":true,\"aliases\":[\"P=\"],\"description\":\"Specifies the number of generations of the cluster history to display. The P= option displays the latest n generations; for example, P=5 displays the cluster history from 1 cluster through 5 clusters. The value of P= must be a nonnegative integer. The default is to display all generations. Specify PRINT=0 to suppress the cluster history.\",\"help\":\"PRINT=*n*\",\"type\":\"value\"},{\"name\":\"PSEUDO\",\"optional\":true,\"description\":\"Displays pseudo F and t-square statistics.\",\"type\":\"standalone\"},{\"name\":\"R=\",\"optional\":true,\"description\":\"Specifies the radius of the sphere of support for uniform-kernel density estimation.\",\"help\":\"R=*n*\",\"type\":\"value\"},{\"name\":\"RMSSTD\",\"optional\":true,\"description\":\"Displays the root mean square standard deviation of each cluster.\",\"type\":\"standalone\"},{\"name\":\"RSQUARE\",\"optional\":true,\"aliases\":[\"RSQ\"],\"description\":\"Displays the R square and semipartial R square.\",\"type\":\"standalone\"},{\"name\":\"SIMPLE\",\"optional\":true,\"description\":\"Displays means, standard deviations, skewness, kurtosis, and a coefficient of bimodality.\",\"type\":\"standalone\"},{\"name\":\"STANDARD\",\"optional\":true,\"aliases\":[\"STD\"],\"description\":\"Standardizes the variables to mean 0 and standard deviation 1. The STANDARD option applies only to coordinate data.\",\"type\":\"standalone\"},{\"name\":\"TRIM=\",\"optional\":true,\"description\":\"Omits points with low estimated probability densities from the analysis.\",\"help\":\"TRIM=*p*\",\"type\":\"value\"}]},{\"name\":\"BY\",\"description\":\"Obtains separate analyses on observations in groups defined by the BY variables.\",\"help\":\"BY &lt;DESCENDING&gt;&lt;NOTSORTED&gt;\",\"arguments\":[{\"name\":\"DESCENDING\",\"optional\":true,\"description\":\"Specifies that the observations are sorted in descending order by the variable that immediately follows the word DESCENDING in the BY statement.\",\"type\":\"standalone\"},{\"name\":\"NOTSORTED\",\"optional\":true,\"description\":\"Specifies that observations are not necessarily sorted in alphabetic or numeric order.\",\"type\":\"standalone\"}]},{\"name\":\"COPY\",\"description\":\"The variables in the COPY statement are copied from the input data set to the OUTTREE= data set. Observations in the OUTTREE= data set that represent clusters of more than one observation from the input data set have missing values for the COPY variables.\",\"help\":\"COPY variables \"},{\"name\":\"FREQ\",\"description\":\"If one variable in your data set represents the frequency of occurrence for the other values in the observation, specify the variable’s name in a FREQ statement. PROC CLUSTER then treats the data set as if each observation appears n times, where n is the value of the FREQ variable for observation i.\",\"help\":\"FREQ variable\"},{\"name\":\"ID\",\"description\":\"The values of the ID variable identify observations in the displayed cluster history and in the OUTTREE= data set. If the ID statement is omitted, each observation is denoted by OBn, where n is the observation number.\",\"help\":\"ID variable \"},{\"name\":\"RMSSTD\",\"description\":\"If the coordinates in the DATA= data set represent cluster means (for example, formed by the FASTCLUS procedure), you can obtain accurate statistics in the cluster histories for METHOD=AVERAGE, METHOD=CENTROID, or METHOD=WARD if the data set contains both of the following: o a variable giving the number of original observations in each cluster (see the discussion of the FREQ statement earlier in this chapter) o a variable giving the root mean squared standard deviation of each cluster\",\"help\":\"RMSSTD variable \"},{\"name\":\"VAR\",\"aliases\":[\"VARIABLES\"],\"description\":\"The VAR statement lists numeric variables to be used in the cluster analysis. If you omit the VAR statement, all numeric variables not listed in other statements are used.\",\"help\":\"VAR variables \"}],\"supportSiteInformation\":{\"docsetId\":\"statug\",\"docsetVersion\":\"latest\",\"docsetTargetFile\":\"statug_cluster_toc.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/CNTSELECT.json",
    "content": "{\"name\":\"CNTSELECT\",\"statements\":[{\"name\":\"PROC CNTSELECT\",\"description\":\"The CNTSELECT (count regression) procedure analyzes regression models in which the dependent variable takes nonnegative integer or count values. The dependent variable is usually an event count, which refers to the number of times an event occurs. For example, an event count might represent the number of ship accidents per year for a given fleet.\",\"help\":\"PROC CNTSELECT <CORRB><COVB><COVEST=OP | HESSIAN | QML><DATA=SAS-data-set><GROUPID=variable><MAXFUNC= | MAXFU=i><MAXITER=i | MAXIT=i><MAXTIME=r><METHOD=CONGRA | DBLDOG | NONE... ><NOPRINT><PRINTALL><PRINTINTERNALNAMES><PRINTTIMING><>;     \\n\\tBOUNDS bound1 [, bound2 …];\\n\\n\\tBY variables;\\n\\n\\tCLASS <DESCENDING><MISSING><ORDER=<FORMATTED | FREQ | INTERNAL>> ...;\\n\\n\\tDISPLAY <CASESENSITIVE><EXCLUDE><EXCLUDEALL> ...;\\n\\n\\tDISPLAYOUT <INCLUDEALL><NOREPLACE><REPEATED> ...;\\n\\n\\t;\\n\\n\\tEFFECT <DETAILS> NAME=COLLECTION|MULTIMEMBER|MM|POLYNOMIAL|POLY...  <NOEFFECT> ...;\\n\\n\\tFREQ freq-variable;\\n\\n\\tINIT initialization1 < , initialization2 …>;\\n\\n\\tMODEL <DIST=<POISSON | CMPOISSON | NEGBIN(P=1)>... ><ERRORCOMP=<FIXED | RANDOM>><NOINT> ...;\\n\\n\\tOUTPUT <COPYVAR=SAS-variable-names | COPYVARS=SAS-variable-names><OUT=SAS-data-set><XBETA=name> ...;\\n\\n\\tRESTRICT restriction1 [, restriction2 …];\\n\\n\\tSELECTION <DETAILS=<SUMMARY | STEPS | ALL>... ><METHOD=<BACKWARD | FORWARD | FORWARDSWAP>... ><STOPHORIZON=n> ...;\\n\\n\\tTEST <ALL><LM><LR> ...;\\n\\n\\tVIEWSTORE <ALL><BYVARVALUES><CLASSVARLEVELS> ...;\\n\\n\\tWEIGHT <NONORMALIZE> ;\\n\\n\\tZEROMODEL <LINK=<LOGISTIC | NORMAL>><OFFSET=variable> ;\\n\",\"arguments\":[{\"name\":\"CORRB\",\"optional\":true,\"description\":\"Prints the correlation matrix of the parameter estimates.\",\"type\":\"standalone\"},{\"name\":\"COVB\",\"optional\":true,\"description\":\"Prints the covariance matrix of the parameter estimates.\",\"type\":\"standalone\"},{\"name\":\"COVEST=\",\"optional\":true,\"description\":\"Specifies the type of covariance matrix for the parameter estimates.\",\"help\":\"COVEST=OP | HESSIAN | QML\",\"type\":\"choice\",\"arguments\":[{\"name\":\"OP\",\"description\":\"Specifies the covariance from the outer product matrix.\",\"type\":\"standalone\"},{\"name\":\"HESSIAN\",\"description\":\"Specifies the covariance from the Hessian matrix.\",\"type\":\"standalone\"},{\"name\":\"QML\",\"description\":\"Specifies the covariance from the outer product and Hessian matrices\",\"type\":\"standalone\"}]},{\"name\":\"DATA=\",\"optional\":true,\"description\":\"Specifies the input SAS data set. If the DATA= option is not specified, PROC CMDC uses the most recently created SAS data set.\",\"help\":\"DATA=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"GROUPID=\",\"optional\":true,\"description\":\"specifies an identification variable when a panel data model is estimated. The identification variable is used as a cross-sectional ID variable.\",\"help\":\"GROUPID=*variable*\",\"type\":\"value\"},{\"name\":\"MAXFUNC=\",\"optional\":true,\"aliases\":[\"MAXFU=\"],\"description\":\"Specifies the maximum number of function calls in the optimization process. The default is 1,000.\",\"type\":\"value\"},{\"name\":\"MAXITER=\",\"optional\":true,\"aliases\":[\"MAXIT=\"],\"description\":\"Specifies the maximum number of iterations in the optimization process. The default value is 200.\",\"type\":\"value\"},{\"name\":\"MAXTIME=\",\"optional\":true,\"description\":\"Specifies an upper limit of r seconds of CPU time for the optimization process. The default value is the largest floating-point double representation of your computer. The time specified by this option is checked only once at the end of each iteration. Therefore, the actual running time can be much longer than r. The actual running time includes the remaining time needed to finish the iteration and the time needed to generate the output of the results.\",\"help\":\"MAXTIME=*r*\",\"type\":\"value\"},{\"name\":\"METHOD=\",\"optional\":true,\"description\":\"Specifies the iterative minimization method to use. The default is METHOD=NEWRAP.\",\"help\":\"METHOD=CONGRA | DBLDOG | NONE | NEWRAP | NRRIDG | QUANEW | TRUREG\",\"type\":\"choice\",\"arguments\":[{\"name\":\"CONGRA\",\"description\":\"Specifies a conjugate-gradient method\",\"type\":\"standalone\"},{\"name\":\"DBLDOG\",\"description\":\"Specifies the double dogleg method\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"Specifies that no optimization be performed beyond using the ordinary least squares method to compute the parameter estimates.\",\"type\":\"standalone\"},{\"name\":\"NEWRAP\",\"description\":\"Specifies the Newton-Raphson method (this is the default).\",\"type\":\"standalone\"},{\"name\":\"NRRIDG\",\"description\":\"Specifies the Newton-Raphson Ridge method.\",\"type\":\"standalone\"},{\"name\":\"QUANEW\",\"description\":\"Specifies the quasi-Newton method.\",\"type\":\"standalone\"},{\"name\":\"TRUREG\",\"description\":\"Specifies the trust region method.\",\"type\":\"standalone\"}]},{\"name\":\"NOPRINT\",\"optional\":true,\"description\":\"Suppresses all printed output.\",\"type\":\"standalone\"},{\"name\":\"PRINTALL\",\"optional\":true,\"description\":\"Requests all printing options.\",\"type\":\"standalone\"},{\"name\":\"PRINTINTERNALNAMES\",\"optional\":true,\"description\":\"Prints internal names assigned to parameters.\",\"type\":\"standalone\"},{\"name\":\"PRINTTIMING\",\"optional\":true,\"description\":\"Prints a timing report.\",\"type\":\"standalone\"},{\"name\":\"STORE=\",\"optional\":true,\"description\":\"Specifies the item store that preserves the properties of the model and the fit results. No information pertaining to the model is preserved unless this option is specified.\",\"type\":\"value\"}]},{\"name\":\"BOUNDS\",\"description\":\"The BOUNDS statement imposes simple boundary constraints on the parameter estimates. You can specify any number of BOUNDS statements. Each bound is composed of parameters, constants, and inequality operators: tem operator item [ operator item [ operator item …] ] Each item is a constant, parameter, or list of parameters. Parameters associated with a regressor variable are referred to by the name of the corresponding regressor variable. Each operator is ’<’, ’>’, ’≤’, or ’≥’.\",\"help\":\"BOUNDS bound1 [, bound2 …]\"},{\"name\":\"BY\",\"description\":\"A BY statement can be used with PROC CNTSELECT to obtain separate analyses on observations in groups defined by the BY variables. When a BY statement appears, the input data set should be sorted in order of the BY variables.\",\"help\":\"BY variables\"},{\"name\":\"CLASS\",\"description\":\"The CLASS statement names the classification variables to be used as explanatory variables in the analysis. The CLASS statement must precede the MODEL statement.\",\"help\":\"CLASS &lt;DESCENDING&gt;&lt;MISSING&gt;&lt;ORDER=&lt;FORMATTED | FREQ | INTERNAL&gt;&gt; ...\",\"arguments\":[{\"name\":\"DESCENDING\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"DESC\"],\"description\":\"Reverses the sort order of the classification variable. If both the DESCENDING and ORDER= options are specified, PROC BCHOICE orders the categories according to the ORDER= option and then reverses that order.\",\"type\":\"standalone\"},{\"name\":\"MISSING\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Treats missing values (., ._, .A, …, .Z for numeric variables and blanks for character variables) as valid values for the CLASS variable.\",\"type\":\"standalone\"},{\"name\":\"ORDER=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the sort order for the levels of classification variables. This ordering determines which parameters in the model correspond to each level in the data. By default, ORDER=FORMATTED. For ORDER=FORMATTED and ORDER=INTERNAL, the sort order is machine-dependent. When ORDER=FORMATTED is in effect for numeric variables for which you have supplied no explicit format, the levels are ordered by their internal values.\",\"help\":\"ORDER=FORMATTED | FREQ | INTERNAL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"FORMATTED\",\"followsDelimiter\":\"/\",\"description\":\"Levels sorted by the external formatted value, except for numeric variables with no explicit format, which are sorted by their unformatted (internal) value.\",\"type\":\"standalone\"},{\"name\":\"FREQ\",\"followsDelimiter\":\"/\",\"description\":\"Levels sorted by the descending frequency count (levels that have more observations come ealier in the order).\",\"type\":\"standalone\"},{\"name\":\"INTERNAL\",\"followsDelimiter\":\"/\",\"description\":\"Levels sorted by the unformatted value. The sort order is machine-dependent.\",\"type\":\"standalone\"}]},{\"name\":\"PARAM=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the parameterization method for the classification variable or variables.\",\"help\":\"PARAM=EFFECT | GLM | ORDINAL | POLYNOMIAL | REFERENCE | ORTHEFFECT | ORTHORDINAL | ORTHPOLY | ORTHREF\",\"type\":\"choice\",\"arguments\":[{\"name\":\"EFFECT\",\"followsDelimiter\":\"/\",\"description\":\"Specifies effect coding.\",\"type\":\"standalone\"},{\"name\":\"GLM\",\"followsDelimiter\":\"/\",\"description\":\"Specifies less-than-full-rank, reference-cell coding; this option can be used only as a global option.\",\"type\":\"standalone\"},{\"name\":\"ORDINAL\",\"followsDelimiter\":\"/\",\"aliases\":[\"THERMOMETER\"],\"description\":\"Specifies the cumulative parameterization for an ordinal CLASS variable.\",\"type\":\"standalone\"},{\"name\":\"POLYNOMIAL\",\"followsDelimiter\":\"/\",\"aliases\":[\"POLY\"],\"description\":\"Specifies polynomial coding.\",\"type\":\"standalone\"},{\"name\":\"REFERENCE\",\"followsDelimiter\":\"/\",\"aliases\":[\"REF\"],\"description\":\"Specifies reference-cell coding.\",\"type\":\"standalone\"},{\"name\":\"ORTHEFFECT\",\"followsDelimiter\":\"/\",\"description\":\"Orthogonalizes PARAM=EFFECT.\",\"type\":\"standalone\"},{\"name\":\"ORTHORDINAL\",\"followsDelimiter\":\"/\",\"aliases\":[\"ORTHOTHERM\"],\"description\":\"Orthogonalizes PARAM=ORDINAL.\",\"type\":\"standalone\"},{\"name\":\"ORTHPOLY\",\"followsDelimiter\":\"/\",\"description\":\"Orthogonalizes PARAM=POLYNOMIAL.\",\"type\":\"standalone\"},{\"name\":\"ORTHREF\",\"followsDelimiter\":\"/\",\"description\":\"Orthogonalizes PARAM=REFERENCE.\",\"type\":\"standalone\"}]},{\"name\":\"REFERENCE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"REF=\"],\"description\":\"Specifies the reference level that is used when you specify a nonsingular parameterization.\",\"help\":\"REFERENCE='&lt;*level*&gt;' | FIRST | LAST\",\"type\":\"choice\",\"arguments\":[{\"name\":\"'\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the level of the variable to use as the reference level. Specify the formatted value of the variable if a format is assigned. Replace <level> with an actual value.\",\"help\":\"'&lt;*level*&gt;'\",\"type\":\"value\"},{\"name\":\"FIRST\",\"followsDelimiter\":\"/\",\"description\":\"Designates the first ordered level as reference.\",\"type\":\"standalone\"},{\"name\":\"LAST\",\"followsDelimiter\":\"/\",\"description\":\"Designates the last ordered level as reference.\",\"type\":\"standalone\"}]},{\"name\":\"SPLIT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies that design matrix columns that correspond to any effect that contains a split classification variable can be selected to enter or leave a model independently of the other design columns of that effect.\",\"type\":\"standalone\"}]},{\"name\":\"DISPLAY\",\"description\":\"The DISPLAY statement enables you to specify a list of display tables to display or exclude. This statement is similar to the ODS SELECT, ODS EXCLUDE, and ODS TRACE statements. However, the DISPLAY statement can improve performance when a large number of tables could be generated (such as in BY-group processing). The procedure processes the DISPLAY statement on a CAS server and thus sends only a subset of ODS tables to the SAS client. Because ODS statements are processed on a SAS client, all the display tables generated are first sent to the client and then the client creates a subset. If both DISPLAY and ODS statements are used together, the DISPLAY statement takes precedence over the ODS statements.\",\"help\":\"DISPLAY &lt;CASESENSITIVE&gt;&lt;EXCLUDE&gt;&lt;EXCLUDEALL&gt; ...\",\"arguments\":[{\"name\":\"CASESENSITIVE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Performs a case-sensitive comparison of table names in the table-list to display table names when tables are subsetted for display. To preserve case, you must enclose table names in the table-list in quotation marks.\",\"type\":\"standalone\"},{\"name\":\"EXCLUDE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays all display tables except those specified in the table-list.\",\"type\":\"standalone\"},{\"name\":\"EXCLUDEALL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Suppresses display of all tables. This option takes precedence over the other options.\",\"type\":\"standalone\"},{\"name\":\"TRACE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays the display table names, labels, and paths.\",\"type\":\"standalone\"}]},{\"name\":\"DISPLAYOUT\",\"description\":\"The DISPLAYOUT statement enables you to create CAS output tables from your displayed output. This statement is similar to the ODS OUTPUT statement. The table-spec-list specifies a list of CAS output tables to create. Each entry in the list has either a key or a key=value format: key=value specifies key as the ODS table name, path, or partial pathname, and specifies value as the CAS output table name. key specifies key as the ODS table name and also as the CAS output table name. Table names and partial pathnames are discussed under the DISPLAY statement. The DISPLAYOUT statement does not support regular expressions.\",\"help\":\"DISPLAYOUT &lt;INCLUDEALL&gt;&lt;NOREPLACE&gt;&lt;REPEATED&gt; ...\",\"arguments\":[{\"name\":\"INCLUDEALL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Creates output CAS tables for all display tables. The name of the created output CAS table is the same as the corresponding display table name. If you specify this option, the table-spec-list specification is ignored.\",\"type\":\"standalone\"},{\"name\":\"NOREPLACE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Does not replace an existing CAS output table of the same name.\",\"type\":\"standalone\"},{\"name\":\"REPEATED\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Replicates the CAS output tables on all nodes.\",\"type\":\"standalone\"}]},{\"name\":\"DISPMODEL\",\"description\":\"The DISPMODEL statement specifies the dispersion-related-regressors that are used to model dispersion. This statement is ignored unless you specify either DIST=CMPOISSON or DIST=ZICMPOISSON in the MODEL statement. The dependent-variable in the DISPMODEL statement must be the same as the dependent-variable in the MODEL statement.\",\"help\":\"\"},{\"name\":\"EFFECT\",\"description\":\"The EFFECT statement enables you to construct special collections of columns for design matrices. These collections are referred to as constructed effects to distinguish them from the usual model effects that are formed from continuous or classification variables.\",\"help\":\"EFFECT &lt;DETAILS&gt; NAME=COLLECTION|MULTIMEMBER|MM|POLYNOMIAL|POLY...  &lt;NOEFFECT&gt; ...\",\"arguments\":[{\"name\":\"NAME=\",\"placeholder\":true,\"description\":\"Replace ‘NAME’ with the name of the effect, specified after the EFFECT keyword. This name can appear in only one EFFECT statement and cannot be the name of a variable in the input data set. These values can be used: COLLECTION, MULTIMEMBER, POLYNOMIAL, or SPLINE.\",\"type\":\"value\"},{\"name\":\"BASIS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"[For the SPLINE effect-type only] Specifies a basis for the spline expansion.\",\"help\":\"BASIS=BSPLINE | TPF\",\"type\":\"choice\",\"arguments\":[{\"name\":\"BSPLINE\",\"followsDelimiter\":\"/\",\"description\":\"Specifies a B-spline basis for the spline expansion.\",\"type\":\"standalone\"},{\"name\":\"TPF\",\"followsDelimiter\":\"/\",\"description\":\"Syntax: TPF(options) Specifies a truncated power function basis for the spline expansion. You can modify the number of columns when you request BASIS=TPF with the following options: NOINT excludes the intercept column. NOPOWERS excludes the intercept and polynomial columns.\",\"type\":\"standalone\"}]},{\"name\":\"DATABOUNDARY\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"[For the SPLINE effect-type only] Specifies that the extremes of the data be used as boundary knots when building a B-spline basis.\",\"type\":\"standalone\"},{\"name\":\"DEGREE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"\",\"help\":\"DEGREE=*n*\",\"type\":\"value\"},{\"name\":\"DETAILS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"[For the COLLECTION | MULTIMEMBER | POLYNOMIAL |SPLINE effect-type] Requests a table that shows the: (1) constituents of the collection effect, or (2) levels of the multimember effect, or (3) details of the specified polynomial, or (4) knot locations and the knots associated with each spline basis function.\",\"type\":\"standalone\"},{\"name\":\"KNOTMAX=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"\",\"help\":\"KNOTMAX=*value*\",\"type\":\"value\"},{\"name\":\"KNOTMETHOD=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"[For the SPLINE effect-type only] Specifies how to construct the knots for spline effects.\",\"help\":\"KNOTMETHOD=EQUAL | LIST | LISTWITHBOUNDARY | MULTISCALE | PERCENTILES | RANGEFRACTIONS\",\"type\":\"choice\",\"arguments\":[{\"name\":\"EQUAL\",\"followsDelimiter\":\"/\",\"description\":\"Syntax: EQUAL<(n)> Specifies that n equally spaced knots be positioned between the extremes of the data. The default is n=3. For a B-spline basis, any needed boundary knots continue to be equally spaced unless the DATABOUNDARY option has also been specified. KNOTMETHOD=EQUAL is the default if no knot-method is specified.\",\"type\":\"standalone\"},{\"name\":\"LIST\",\"followsDelimiter\":\"/\",\"description\":\"Syntax: LIST(number-list) Specifies the list of internal knots to be used in forming the spline basis columns. For a B-spline basis, the data extremes are used as boundary knots.\",\"type\":\"standalone\"},{\"name\":\"LISTWITHBOUNDARY\",\"followsDelimiter\":\"/\",\"description\":\"Syntax: LISTWITHBOUNDARY(number-list) Specifies the list of all knots that are used in forming the spline basis columns.\",\"type\":\"standalone\"},{\"name\":\"MULTISCALE\",\"followsDelimiter\":\"/\",\"description\":\"Syntax: MULTISCALE<(multiscale-options)> Specifies that multiple B-spline bases be generated, corresponding to sets with an increasing number of internal knots. You can control which scales are included with the following multiscale-options: STARTSCALE=n specifies the start scale, where n is a positive integer. The default is STARTSCALE=0. ENDSCALE=n specifies the end scale, where n is a positive integer. The default is ENDSCALE=7.\",\"type\":\"standalone\"},{\"name\":\"PERCENTILES\",\"followsDelimiter\":\"/\",\"description\":\"Syntax: PERCENTILES(n) Requests that internal knots be placed at n equally spaced percentiles of the variable or variables named in the EFFECT statement.\",\"type\":\"standalone\"},{\"name\":\"RANGEFRACTIONS\",\"followsDelimiter\":\"/\",\"description\":\"Syntax: RANGEFRACTIONS(fraction-list) Requests that internal knots be placed at each fraction of the ranges of the variables in the EFFECT statement.\",\"type\":\"standalone\"}]},{\"name\":\"KNOTMIN=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"\",\"help\":\"KNOTMIN=*value*\",\"type\":\"value\"},{\"name\":\"MDEGREE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"\",\"help\":\"MDEGREE=*n*\",\"type\":\"value\"},{\"name\":\"NATURALCUBIC\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"[For the SPLINE effect-type only] Uses a natural cubic spline basis for the spline expansion. Natural cubic splines, also known as restricted cubic splines, are cubic splines that are constrained to be linear beyond the extreme knots.\",\"type\":\"standalone\"},{\"name\":\"NOEFFECT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"[For the MULTIMEMBER effect-type only] Specifies that observations whose levels are all missing for the multimember variables should have 0 values in the corresponding design matrix columns.\",\"type\":\"standalone\"},{\"name\":\"NOSEPARATE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"[For the POLYNOMIAL effect-type only] Specifies that the polynomial be treated as a single effect with multiple degrees of freedom. The effect name that you specify is used as the constructed effect name, and the labels of the terms are used as labels of the corresponding parameters.\",\"type\":\"standalone\"},{\"name\":\"SEPARATE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"[For the SPLINE effect-type only] Specifies that when multiple variables are specified in the EFFECT statement, the spline basis for each variable be treated as a separate effect. The names of these separated effects are formed by appending an underscore followed by the name of the variable to the name that you specify in the EFFECT statement.\",\"type\":\"standalone\"},{\"name\":\"SPLIT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"[For the SPLINE effect-type only] Specifies that each individual column in the design matrix that corresponds to the spline effect be treated as a separate effect that can enter or leave the model independently. Names for these split effects are generated by appending the variable name and an index for each column to the name that you specify in the EFFECT statement.\",\"type\":\"standalone\"},{\"name\":\"STANDARDIZE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies that the variables that define the polynomial be standardized. By default, the standardized variables receive prefix \\\"s_\\\" in the variable names. You can use the following centerscale-opts to specify how the center and scale are estimated: METHOD=MOMENTS specifies that the center be estimated by the variable mean and the scale be estimated by the standard deviation. METHOD=RANGE specifies that the center be estimated by the midpoint of the variable range and the scale be estimated as half the variable range. METHOD=WMOMENTS is the same as METHOD=MOMENTS except that weighted means and weighted standard deviations are used.\",\"help\":\"STANDARDIZECENTER | CENTERSCALE | NONE | SCALE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"CENTER\",\"followsDelimiter\":\"/\",\"description\":\"Specifies that variables be centered but not scaled.\",\"type\":\"standalone\"},{\"name\":\"CENTERSCALE\",\"followsDelimiter\":\"/\",\"description\":\"Specifies that variables be centered and scaled. This is the default if you do not specify a standardization-opt.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"followsDelimiter\":\"/\",\"description\":\"Specifies that no standardization be performed.\",\"type\":\"standalone\"},{\"name\":\"SCALE\",\"followsDelimiter\":\"/\",\"description\":\"Specifies that variables be scaled but not centered.\",\"type\":\"standalone\"}]},{\"name\":\"STDIZE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"[For the MULTIMEMBER effect-type only] Specifies that for each observation, the entries in the design matrix that corresponds to the multimember effect be scaled to have a sum of one.\",\"type\":\"standalone\"},{\"name\":\"WEIGHT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"\",\"help\":\"WEIGHT=*wght-list*\",\"type\":\"value\"}]},{\"name\":\"FREQ\",\"description\":\"The FREQ statement identifies a variable (freq-variable) that contains the frequency of occurrence of each observation. PROC CNTSELECT treats each observation as if it appears n times, where n is the value of freq-variable for the observation. If the value for the observation is not an integer, it is truncated to an integer. If the value is less than 1 or missing, the observation is not used in the model fitting. When the FREQ statement is not specified, each observation is assigned a frequency of 1.\",\"help\":\"FREQ freq-variable\"},{\"name\":\"INIT\",\"description\":\"The INIT statement sets initial values for parameters in the optimization. Each initialization is written as a parameter or parameter list, followed by an optional equal sign (=), followed by a number: parameter <=> number\",\"help\":\"INIT initialization1 &lt; , initialization2 …&gt;\"},{\"name\":\"MODEL\",\"description\":\"The MODEL statement specifies the dependent variable and independent regressor variables for the regression model. The dependent count variable should take only nonnegative integer values from the input data set. PROC CNTSELECT rounds any positive noninteger count value to the nearest integer. PROC CNTSELECT discards any observation that has a negative count.\",\"help\":\"MODEL &lt;DIST=&lt;POISSON | CMPOISSON | NEGBIN(P=1)&gt;... &gt;&lt;ERRORCOMP=&lt;FIXED | RANDOM&gt;&gt;&lt;NOINT&gt; ...\",\"arguments\":[{\"name\":\"CORRB\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Prints the correlation matrix of the parameter estimates.\",\"type\":\"standalone\"},{\"name\":\"COVB\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Prints the covariance matrix of the parameter estimates.\",\"type\":\"standalone\"},{\"name\":\"DIST=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies a type of model to be analyzed.\",\"help\":\"DIST=POISSON | CMPOISSON | NEGBIN(P=1) | NEGBIN(P=2) | ZIPOISSON | ZICMPOISSON | ZINEGBIN\",\"type\":\"choice\",\"arguments\":[{\"name\":\"POISSON\",\"followsDelimiter\":\"/\",\"description\":\"Specifies the Poisson regression model.\",\"type\":\"standalone\"},{\"name\":\"CMPOISSON\",\"followsDelimiter\":\"/\",\"description\":\"Specifies a Conway-Maxwell-Poisson regression model.\",\"type\":\"standalone\"},{\"name\":\"NEGBIN(P=1)\",\"followsDelimiter\":\"/\",\"description\":\"Specifies the negative binomial regression model that uses a linear variance function.\",\"type\":\"value\"},{\"name\":\"NEGBIN(P=2)\",\"followsDelimiter\":\"/\",\"description\":\"Specifies the negative binomial regression model that users a quadratic variance function.\",\"type\":\"value\"},{\"name\":\"ZIPOISSON\",\"followsDelimiter\":\"/\",\"description\":\"Specifies the zero-inflated Poisson regression.\",\"type\":\"standalone\"},{\"name\":\"ZICMPOISSON\",\"followsDelimiter\":\"/\",\"description\":\"Specifies a zero-inflated Conway-Maxwell-Poisson regression. The ZEROMODEL statement must be specified when this model type is specified.\",\"type\":\"standalone\"},{\"name\":\"ZINEGBIN\",\"followsDelimiter\":\"/\",\"description\":\"Specifies the zero-inflated negative binomial regression\",\"type\":\"standalone\"}]},{\"name\":\"ERRORCOMP=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies a type of conditional panel model to be analyzed.\",\"help\":\"ERRORCOMP=FIXED | RANDOM\",\"type\":\"choice\",\"arguments\":[{\"name\":\"FIXED\",\"followsDelimiter\":\"/\",\"description\":\"Specifies a fixed-effect error component regression model.\",\"type\":\"standalone\"},{\"name\":\"RANDOM\",\"followsDelimiter\":\"/\",\"description\":\"Specifies a random-effect error component regression model.\",\"type\":\"standalone\"}]},{\"name\":\"NOINT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Suppresses the intercept parameter.\",\"type\":\"standalone\"},{\"name\":\"NOPRINT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Suppresses all printed output.\",\"type\":\"standalone\"},{\"name\":\"OFFSET=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies a variable in the input data set to be used as an offset variable. The offset-variable is used to allow the observational units to vary across observations.\",\"help\":\"OFFSET=*variable*\",\"type\":\"value\"},{\"name\":\"PARAMETER=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the parameterization for the Conway-Maxwell-Poisson model. By default, PARAMETER=MU.\",\"help\":\"PARAMETER=MU | LAMDA\",\"type\":\"choice\",\"arguments\":[{\"name\":\"MU\",\"followsDelimiter\":\"/\",\"description\":\"Reparameterizes λ as documented by Guikema and Coffelt (2008).\",\"type\":\"standalone\"},{\"name\":\"LAMDA\",\"followsDelimiter\":\"/\",\"description\":\"Estimates the original Conway-Maxwell-Poisson model (Shmueli et al. 2005).\",\"type\":\"standalone\"}]},{\"name\":\"PRINTALL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests all printing options.\",\"type\":\"standalone\"}]},{\"name\":\"OUTPUT\",\"description\":\"The OUTPUT statement creates a new SAS data set that includes variables created by the output-options.\",\"help\":\"OUTPUT &lt;COPYVAR=SAS-variable-names | COPYVARS=SAS-variable-names&gt;&lt;OUT=SAS-data-set&gt;&lt;XBETA=name&gt; ...\",\"arguments\":[{\"name\":\"COPYVAR=\",\"optional\":true,\"aliases\":[\"COPYVARS=\"],\"description\":\"Adds SAS variables to the output data set.\",\"type\":\"value\"},{\"name\":\"DISPERSION=\",\"optional\":true,\"description\":\"Assigns a name to the variable that contains the value of dispersion for the Conway-Maxwell-Poisson distribution.\",\"help\":\"DISPERSION=*name*\",\"type\":\"value\"},{\"name\":\"GDELTA=\",\"optional\":true,\"description\":\"Assigns a name to the variable that contains estimates of gi'δ for the Conway-Maxwell-Poisson distribution.\",\"help\":\"GDELTA=*name*\",\"type\":\"value\"},{\"name\":\"LAMBDA=\",\"optional\":true,\"description\":\"Assigns a name to the variable that contains the estimate of λ for the Conway-Maxwell-Poisson distribution.\",\"help\":\"LAMBDA=*name*\",\"type\":\"value\"},{\"name\":\"MODE=\",\"optional\":true,\"description\":\"Assigns a name to the variable that contains the integral part of µ(mode) for the Conway-Maxwell-Poisson distribution.\",\"help\":\"MODE=*name*\",\"type\":\"value\"},{\"name\":\"MU=\",\"optional\":true,\"description\":\"Assigns a name to the variable that contains the estimate of µ for the Conway-Maxwell-Poisson distribution.\",\"help\":\"MU=*name*\",\"type\":\"value\"},{\"name\":\"NU=\",\"optional\":true,\"description\":\"Assigns a name to the variable that contains the estimate of ν for the Conway-Maxwell-Poisson distribution.\",\"help\":\"NU=*name*\",\"type\":\"value\"},{\"name\":\"OUT=\",\"optional\":true,\"description\":\"Names the output data set.\",\"help\":\"OUT=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"PRED=\",\"optional\":true,\"aliases\":[\"MEAN=\"],\"description\":\"Names the variable to contain the predicted value of the response variable.\",\"type\":\"value\"},{\"name\":\"PROB=\",\"optional\":true,\"description\":\"Names the variable to contain the probability that the response variable will take the actual value, Pr(Y=yi).\",\"help\":\"PROB=*name*\",\"type\":\"value\"},{\"name\":\"PROBCOUNT\",\"optional\":true,\"description\":\"Outputs the probability that the response variable will take particular values. Each value should be a nonnegative integer. If you specify a noninteger, it is rounded to the nearest integer.\",\"type\":\"standalone\"},{\"name\":\"PROBZERO=\",\"optional\":true,\"description\":\"Names the variable to contain the value that of Φ, which is the probability that the response variable will take the value of zero as a result of the zero-generating process. This variable is written to the output file only if the model is zero-inflated.\",\"help\":\"PROBZERO=*name*\",\"type\":\"value\"},{\"name\":\"VARIANCE=\",\"optional\":true,\"description\":\"Assigns a name to the variable that contains the estimate of variance for the Conway-Maxwell-Poisson distribution.\",\"help\":\"VARIANCE=*name*\",\"type\":\"value\"},{\"name\":\"XBETA=\",\"optional\":true,\"description\":\"Names the variable to contain estimates of x'β.\",\"help\":\"XBETA=*name*\",\"type\":\"value\"},{\"name\":\"ZGAMMA=\",\"optional\":true,\"description\":\"Names the variable to contain estimates of z'Gamma.\",\"help\":\"ZGAMMA=*name*\",\"type\":\"value\"}]},{\"name\":\"RESTRICT\",\"description\":\"The RESTRICT statement imposes linear restrictions on the parameter estimates. You can specify any number of RESTRICT statements. Each restriction is written as an expression, followed by an equality operator (=) or an inequality operator (<, >, ≤, ≥ ), followed by a second expression: expression operator expression The operator can be =, <, >, ≤, or ≥ . A restriction expression is composed of parameter names, constants, and the operators times (*), plus (+), and minus (-). Each restriction expression must be a linear function of the parameters in the model.\",\"help\":\"RESTRICT restriction1 [, restriction2 …]\"},{\"name\":\"SELECTION\",\"description\":\"The SELECTION statement performs model selection by examining whether effects should be added to or removed from the model according to rules that are defined by the selection methods.\",\"help\":\"SELECTION &lt;DETAILS=&lt;SUMMARY | STEPS | ALL&gt;... &gt;&lt;METHOD=&lt;BACKWARD | FORWARD | FORWARDSWAP&gt;... &gt;&lt;STOPHORIZON=n&gt; ...\",\"arguments\":[{\"name\":\"DETAILS=\",\"optional\":true,\"description\":\"Specifies the level of detail to be produced about the selection process. The default is DETAILS=SUMMARY.\",\"help\":\"DETAILS=SUMMARY | STEPS | ALL | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"SUMMARY\",\"description\":\"Produces only the selection summary, stop reason, selection reason, and selected effects tables.\",\"type\":\"standalone\"},{\"name\":\"STEPS\",\"description\":\"Produces the preceding summary table and displays the results from fitting each model at each step.\",\"type\":\"standalone\"},{\"name\":\"ALL\",\"description\":\"Produces the preceding tables and a detailed listing of all candidates at each step along with their ranking in terms of the selection criterion for addition to or removal from the model.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"Specicies no details.\",\"type\":\"standalone\"}]},{\"name\":\"METHOD=\",\"optional\":true,\"description\":\"Specifies the selection method to use.\",\"help\":\"METHOD=BACKWARD | FORWARD | FORWARDSWAP | STEPWISE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"BACKWARD\",\"description\":\"Specifies the backward elimination method.\",\"type\":\"standalone\"},{\"name\":\"FORWARD\",\"description\":\"Specifies the forward selection method.\",\"type\":\"standalone\"},{\"name\":\"FORWARDSWAP\",\"description\":\"Specifies forward-swap selection, which is an extension of the forward selection method.\",\"type\":\"standalone\"},{\"name\":\"STEPWISE\",\"description\":\"Specifies the stepwise regression method.\",\"type\":\"standalone\"}]},{\"name\":\"STOPHORIZON=\",\"optional\":true,\"description\":\"Specifies the number of consecutive steps at which the STOP= criterion must worsen in order for a local extremum to be detected. The stop horizon value is ignored if you also specify STOP=NONE or STOP=SL. For example, suppose that STOP=AIC and the sequence of AIC values at steps 1 to 6 of a selection are 10, 7, 4, 6, 5, 2. If STOPHORIZON=2, then the AIC criterion is deemed to have a local minimum at step 3 because the AIC value at the next two steps are greater than the value 4 that occurs at step 3. However, if STOPHORIZON=3, then the value at step 3 is not deemed to be a local minimum because the AIC value at step 6 is lower than the AIC value at step 3. When METHOD=LAR or METHOD=LASSO, n is ignored and STOPHORIZON=1 is used. By default, STOPHORIZON=3.\",\"help\":\"STOPHORIZON=*n*\",\"type\":\"value\"}]},{\"name\":\"TEST\",\"description\":\"The TEST statement performs Wald, Lagrange multiplier, and likelihood ratio tests of linear hypotheses about the regression parameters that are specified in the preceding MODEL statement. Each test is written either as a single linear equation or as a comma-separated list of two or more linear equations. A test equation specifies a linear hypothesis to be tested and consists of an expression, followed by the equality operator (=), followed by a second expression: expression = expression The rules governing valid test expressions are the same as those for restriction expressions.\",\"help\":\"TEST &lt;ALL&gt;&lt;LM&gt;&lt;LR&gt; ...\",\"arguments\":[{\"name\":\"ALL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests Wald, Lagrange multiplier, and likelihood ratio tests.\",\"type\":\"standalone\"},{\"name\":\"LM\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests the Lagrange multiplier test.\",\"type\":\"standalone\"},{\"name\":\"LR\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests the likelihood ratio test.\",\"type\":\"standalone\"},{\"name\":\"WALD\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests the Wald test.\",\"type\":\"standalone\"}]},{\"name\":\"VIEWSTORE\",\"description\":\"The VIEWSTORE statement allows you to print various reports that describe the model fitting information which is preserved in an item store. The item store must have been created using the STORE= option in the FIT statement.\",\"help\":\"VIEWSTORE &lt;ALL&gt;&lt;BYVARVALUES&gt;&lt;CLASSVARLEVELS&gt; ...\",\"arguments\":[{\"name\":\"ALL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"When this option is provided, the entire contents of the item store are printed.\",\"type\":\"standalone\"},{\"name\":\"BYVARVALUES\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"When this option is provided, the values of the BY-Group variables that were used to fit the model are printed.\",\"type\":\"standalone\"},{\"name\":\"CLASSVARLEVELS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"When this option is provided, the classification variables and levels that were used in the model are printed.\",\"type\":\"standalone\"},{\"name\":\"CORRELATIONS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"When this option is provided, the correlation matrices are printed.\",\"type\":\"standalone\"},{\"name\":\"COVARIANCES\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"When this option is provided, the covariance matrix is printed.\",\"type\":\"standalone\"},{\"name\":\"FINALESTIMATES\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"When this option is provided, the Final Parameter Estimates are printed.\",\"type\":\"standalone\"},{\"name\":\"FITMODELSUMMARY\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"When this option is provided, the Fit Model Summary is printed.\",\"type\":\"standalone\"},{\"name\":\"INITIALESTIMATES\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"When this option is provided, the Initial Parameter Estimates are printed.\",\"type\":\"standalone\"},{\"name\":\"INSTORE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the item store that you want to view.\",\"help\":\"INSTORE=*SAS-item-store*\",\"type\":\"value\"},{\"name\":\"MINIMAL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"When this option is provided, only the Fit Model Summary and Final Parameter Estimates are printed.\",\"type\":\"standalone\"},{\"name\":\"MODELDEFINITION\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"When this option is provided, the statements that defined the model are printed.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"When this option is provided, no reports are printed.\",\"type\":\"standalone\"},{\"name\":\"OPTIMIZERSETTINGS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"When this option is provided, the optimizer settings that were used to fit the model are printed.\",\"type\":\"standalone\"}]},{\"name\":\"WEIGHT\",\"description\":\"The WEIGHT statement specifies a variable to supply weighting values to use for each observation in estimating parameters. The log likelihood for each observation is multiplied by the corresponding weight variable value.\",\"help\":\"WEIGHT &lt;NONORMALIZE&gt;\",\"arguments\":[{\"name\":\"NONORMALIZE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Does not normalize the weights.\",\"type\":\"standalone\"}]},{\"name\":\"ZEROMODEL\",\"description\":\"The ZEROMODEL statement is required if either ZIP or ZINB is specified in the DIST= option in the MODEL statement. If ZIP or ZINB is specified, then the ZEROMODEL statement must follow immediately after the MODEL statement. The dependent variable in the ZEROMODEL statement must be the same as the dependent variable in the MODEL statement. The zero-inflated (ZI) regressors appear in the equation that determines the probability of a zero count.\",\"help\":\"ZEROMODEL &lt;LINK=&lt;LOGISTIC | NORMAL&gt;&gt;&lt;OFFSET=variable&gt;\",\"arguments\":[{\"name\":\"LINK=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the distribution function used to compute probability of zeros.\",\"help\":\"LINK=LOGISTIC | NORMAL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"LOGISTIC\",\"followsDelimiter\":\"/\",\"description\":\"Specifies logistic distribution.\",\"type\":\"standalone\"},{\"name\":\"NORMAL\",\"followsDelimiter\":\"/\",\"description\":\"Specifies standard normal distribution.\",\"type\":\"standalone\"}]},{\"name\":\"OFFSET=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies a variable in the input data set to be used as a zero-inflated (ZI) offset variable.\",\"help\":\"OFFSET=*variable*\",\"type\":\"value\"}]}],\"supportSiteInformation\":{\"docsetId\":\"casecon\",\"docsetVersion\":\"latest\",\"docsetTargetFile\":\"casecon_cntselect_toc.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/COMPARE.json",
    "content": "{\"name\":\"COMPARE\",\"statements\":[{\"name\":\"PROC COMPARE\",\"description\":\"Compares the contents of two SAS data sets, selected variables in different data sets, or variables within the same data set.\",\"help\":\"PROC COMPARE <options>;                   \\n\\tATTRIB   variable-list(s) attribute-list(s);\\n\\n\\tBY <DESCENDING>variable-1\\n\\t\\t<… <DESCENDING> variable-n>\\n\\t\\t<NOTSORTED>;\\n\\n\\tFORMAT variable-1< ...variable-n><format><DEFAULT=default-format>;\\n\\n\\tID <DESCENDING>variable-1\\n\\t\\t<<DESCENDING>variable-2  ...>\\n\\t\\t<NOTSORTED>;\\n\\n\\tLABEL variable-1=label-1< ...variable-n=label-n>;\\n\\n\\tVAR variable(s);\\n\\n\\tWHERE where-expression-1\\n\\t\\t<logical-operator where-expression-n>; \\n\\n\\tWITH variable(s);\\n\",\"arguments\":[{\"name\":\"ALLOBS\",\"optional\":true,\"description\":\"includes the values for all matching observations.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0jonqnw6n1qqan1mguvilikpinc\"},{\"name\":\"ALLSTATS\",\"optional\":true,\"description\":\"prints a table of summary statistics for all pairs of matching variables.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n15ahkpphemr5un1oggf380aop0q\"},{\"name\":\"ALLVARS\",\"optional\":true,\"description\":\"includes in the report the values and differences for all matching variables.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p02buobyifsorzn14nap0wt2d209\"},{\"name\":\"BASE=\",\"optional\":true,\"aliases\":[\"DATA=\",\"B=\"],\"description\":\"specifies the data set to use as the base data set.\",\"help\":\"BASE=*SAS-data-set*\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"n1p86vmimc67pdn1lf1t5lexqaza\"},{\"name\":\"BRIEFSUMMARY\",\"optional\":true,\"aliases\":[\"BRIEF\"],\"description\":\"prints only a short comparison summary.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1dcr4narjormun1stzmhsj4jebs\"},{\"name\":\"COMPARE=\",\"optional\":true,\"aliases\":[\"COMP=\",\"C=\"],\"description\":\"specifies the data set to use as the comparison data set.\",\"help\":\"COMPARE=*SAS-data-set*\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"p0w86e3wsjhrvpn1qlf797eqnj3y\"},{\"name\":\"CRITERION=\",\"optional\":true,\"aliases\":[\"CRITERIA=\",\"CRIT=\"],\"description\":\"specifies the criterion for judging the equality of numeric values.\",\"help\":\"CRITERION=γ\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p03my0x8rqdwton1og4v2igs7tfx\"},{\"name\":\"ERROR\",\"optional\":true,\"description\":\"displays an error message in the SAS log when differences are found.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0da1aao8fh1z5n1ttefgvxstocs\"},{\"name\":\"FUZZ=\",\"optional\":true,\"description\":\"changes the report for numbers between 0 and 1.\",\"help\":\"FUZZ=*number*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0fltyd84dayuan1nk8kph6pcdxe\"},{\"name\":\"LISTALL\",\"optional\":true,\"aliases\":[\"LIST\"],\"description\":\"lists all variables and observations that are found in only one data set.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1l281f2aliknmn1furvrogid9yu\"},{\"name\":\"LISTBASE\",\"optional\":true,\"description\":\"lists all variables and observations found only in the base data set.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n01ydqfngkc9nqn14gk54wnxyvea\"},{\"name\":\"LISTBASEOBS\",\"optional\":true,\"description\":\"lists all observations found only in the base data set.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1md5alevse9a4n1qskeuth8gh0y\"},{\"name\":\"LISTBASEVAR\",\"optional\":true,\"description\":\"lists all variables found in only the base data set.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n06yq0i90jf245n13g0hzkxpondf\"},{\"name\":\"LISTCOMP\",\"optional\":true,\"aliases\":[\"LISTCOMPARE\"],\"description\":\"lists all variables and observations found only in the comparison data set.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p09v6zun2b07hmn17l4vqxbkx9pi\"},{\"name\":\"LISTCOMPOBS\",\"optional\":true,\"aliases\":[\"LISTCOMPAREOBS\"],\"description\":\"lists all observations found only in the comparison data set.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n18fuj77kyiptqn179fk2jnqv9sr\"},{\"name\":\"LISTCOMPVAR\",\"optional\":true,\"aliases\":[\"LISTCOMPAREVARS\",\"LISTCOMPAREVAR\"],\"description\":\"lists all variables found only in the comparison data set.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n19jea2upo5yran10e8f64m1vr3a\"},{\"name\":\"LISTEQUALVAR\",\"optional\":true,\"aliases\":[\"LISTEQ\",\"LISTEQUAL\",\"LISTEQVAR\"],\"description\":\"lists variables whose values are judged equal.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n19g3t75koawmfn12pvsj84pb9z6\"},{\"name\":\"LISTOBS\",\"optional\":true,\"description\":\"lists all observations found in only one data set.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1wbc0lma268ofn1w7pvrx7ugnjb\"},{\"name\":\"LISTVAR\",\"optional\":true,\"description\":\"list all variables found in only one data set.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n12bqg97wntk3jn19ox6xq1llqwf\"},{\"name\":\"MAXPRINT=\",\"optional\":true,\"description\":\"restricts the number of differences to be printed.\",\"help\":\"MAXPRINT=*total* | (*per-variable, total*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"total\",\"placeholder\":true,\"description\":\"is the maximum total number of differences to be printed. The default value is 500 unless you use the ALLOBS option (or both the ALLVAR and TRANSPOSE options). In that case, the default is 32000.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1fsr7npe21mkln1jiht57ryogj7\"},{\"name\":\"per-variable\",\"placeholder\":true,\"description\":\"is the maximum number of differences to be printed for each variable within a BY group. The default value is 50 unless you use the ALLOBS option (or both the ALLVAR and TRANSPOSE options). In that case, the default is 1000.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1wfm3731eryupn13lwqqelpyskb\"}],\"supportSiteTargetFragment\":\"p13c6m0igl57c6n1aqstgcvfp9p9\"},{\"name\":\"METHOD=\",\"optional\":true,\"aliases\":[\"M=\",\"METH=\"],\"description\":\"specifies the method for judging the equality of numeric values.\",\"help\":\"METHOD=ABSOLUTE | EXACT | PERCENT | RELATIVE&lt;(δ)&gt;\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ABSOLUTE\",\"type\":\"standalone\"},{\"name\":\"EXACT\",\"type\":\"standalone\"},{\"name\":\"PERCENT\",\"type\":\"standalone\"},{\"name\":\"RELATIVE\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"p06cldgoo96ngjn1kiah8iaa52rb\"},{\"name\":\"NODATE\",\"optional\":true,\"description\":\"suppresses the printing of creation and last-modified dates.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1oux3pqml06ron1er6x2146f71n\"},{\"name\":\"NOMISSBASE\",\"optional\":true,\"aliases\":[\"NOMISS1\"],\"description\":\"judges a missing value in the base data set equal to any value.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p19da4zql3j1pjn1c3dovztbwi8t\"},{\"name\":\"NOMISSCOMP\",\"optional\":true,\"aliases\":[\"NOMISS2\",\"NOMISSCOMPARE\"],\"description\":\"judges a missing value in the comparison data set equal to any value.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0p52rvjj2pryhn1h3n7qj1es8ga\"},{\"name\":\"NOMISSING\",\"optional\":true,\"aliases\":[\"NOMISS\"],\"description\":\"judges missing values in both the base and comparison data sets equal to any value.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0hq2x2tc3i1cen0zpmo0277gq6w\"},{\"name\":\"NOPRINT\",\"optional\":true,\"description\":\"suppresses all printed output.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1hlan3oxoqfcwn1o2ab2liaekw9\"},{\"name\":\"NOSUMMARY\",\"optional\":true,\"aliases\":[\"NOSUM\"],\"description\":\"suppresses the data set, variable, observation, and values comparison summary reports.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0w6w11u3reecsn1nfbb96wr600j\"},{\"name\":\"NOTE\",\"optional\":true,\"description\":\"displays notes in the SAS log that describe the results of the comparison.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1d1u33s0hokwqn10tbfhm03jnt1\"},{\"name\":\"NOVALUES\",\"optional\":true,\"aliases\":[\"NOOBS\"],\"description\":\"suppresses the report of the value comparison results.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0f0jdzafdcsynn1vpei7yx7zj9o\"},{\"name\":\"OUT=\",\"optional\":true,\"description\":\"creates an output data set.\",\"help\":\"OUT=*SAS-data-set*\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"n1g96u9cv1ttxdn1od2zlc7gpadz\"},{\"name\":\"OUTALL\",\"optional\":true,\"description\":\"writes an observation for each observation in the BASE= and COMPARE= data sets.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1kend76n6klkpn16wu7mu7rgt9g\"},{\"name\":\"OUTBASE\",\"optional\":true,\"description\":\"writes an observation for each observation in the base data set.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0fu9sdrb70ghon0zz2h3s06qsod\"},{\"name\":\"OUTCOMP\",\"optional\":true,\"aliases\":[\"OUTCOMPARE\"],\"description\":\"writes an observation for each observation in the comparison data set\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n085r2i9zbzj6hn13vr4ffumpukq\"},{\"name\":\"OUTDIF\",\"optional\":true,\"aliases\":[\"OUTDIFF\"],\"description\":\"writes an observation to the output data set for each pair of matching observations.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p01nh91gq6ho4zn165e9c90va9fs\"},{\"name\":\"OUTNOEQUAL\",\"optional\":true,\"aliases\":[\"OUTNOEQ\"],\"description\":\"suppresses the writing of observations when all values are equal.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0zq71esl1heemn10gf08hck2fyg\"},{\"name\":\"OUTPERCENT\",\"optional\":true,\"description\":\"writes an observation to the output data set for each pair of matching observations.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1t0o3qun28be0n17i8paf221u6x\"},{\"name\":\"OUTSTATS=\",\"optional\":true,\"description\":\"writes summary statistics for all pairs of matching variables to the specified SAS-data-set.\",\"help\":\"OUTSTATS=*SAS-data-set*\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"n01ga81zzkzi6nn18j2x1x2imw78\"},{\"name\":\"PRINTALL\",\"optional\":true,\"aliases\":[\"ALL\"],\"description\":\"produces a complete listing of values and differences.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n19gjihq4oh3ivn1l65emum4qlqx\"},{\"name\":\"STATS\",\"optional\":true,\"aliases\":[\"STATISTICS\"],\"description\":\"prints a table of summary statistics for all pairs of matching numeric variables that are judged unequal.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0vcuh3m6vf5fjn1n4uuhy1a0c72\"},{\"name\":\"TRANSPOSE\",\"optional\":true,\"aliases\":[\"TRANS\"],\"description\":\"prints the reports of value differences by observation instead of by variable.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0tqksdilyjsufn1giqgasjdyatt\"},{\"name\":\"WARNING\",\"optional\":true,\"aliases\":[\"WARN\"],\"description\":\"displays a warning message in the SAS log when differences are found.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0wf89dqiypxz8n13k50gyt5j8t5\"}],\"supportSiteTargetFile\":\"n0c1y14wyd3u7yn1dmfcpaejllsn.htm\"},{\"name\":\"ATTRIB\",\"description\":\"Associates a format, informat, label, and length with one or more variables.\",\"help\":\"ATTRIB  *variable-list(s)**attribute-list(s)*;\",\"arguments\":[{\"name\":\"variable-list\",\"optional\":true,\"placeholder\":true,\"description\":\"names the variables that you want to associate with the attributes.\",\"help\":\"*variable-list(s)*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1nd0mq22iu6ovn14mz1ot1hwcjia\"},{\"name\":\"FORMAT=\",\"description\":\"associates a format with variables in variable-list.\",\"help\":\"FORMAT=*format*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p08pt9ce6bhq86n18a3zcc97bldza\"},{\"name\":\"INFORMAT=\",\"description\":\"associates an informat with variables in variable-list.\",\"help\":\"INFORMAT=*informat*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n136glco6ritqdn160792yhk9mv1a\"},{\"name\":\"LABEL=\",\"description\":\"associates a label with variables in variable-list.\",\"help\":\"LABEL='*label*' \",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0a9x9io5pi05mn1i4p2cphc7t0na\"}],\"supportSiteTargetFile\":\"n04pixwhr1atzln1dow0e10lyibsa.htm\"},{\"name\":\"BY\",\"description\":\"Orders the output according to the BY groups.\",\"help\":\"BY <DESCENDING>variable-1\\n\\t<… <DESCENDING> variable-n>\\n\\t<NOTSORTED>;\",\"arguments\":[{\"name\":\"variable\",\"placeholder\":true,\"description\":\"specifies the variable that the procedure uses to form BY groups. You can specify more than one variable. If you do not use the NOTSORTED option in the BY statement, then either the observations in the data set must be sorted by all the variables that you specify, or they must be indexed appropriately. Variables in a BY statement are called BY variables.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0e9kbav2i9chhn1xectebpz4s14\"},{\"name\":\"DESCENDING\",\"optional\":true,\"description\":\"specifies that the observations are sorted in descending order by the variable that immediately follows the word DESCENDING in the BY statement.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1au0lhf4hi1h2n1le3cx2tp74l5\"},{\"name\":\"NOTSORTED\",\"optional\":true,\"description\":\"specifies that observations are not necessarily sorted in alphabetic or numeric order. The observations are grouped in another way (for example, chronological order).\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p068zvjhrpn2awn1bygis4m6hppa\"}],\"supportSiteTargetFile\":\"n13shq4na41y5wn14t67d8l6wgq8.htm\"},{\"name\":\"FORMAT\",\"description\":\"Associates formats with variables.\",\"help\":\"FORMAT *variable-1*&lt; ...*variable-n*&gt;*format**variable-1*&lt; ...*variable-n*&gt;*format*;\",\"arguments\":[{\"name\":\"variable\",\"optional\":true,\"placeholder\":true,\"description\":\"names one or more variables for SAS to associate with a format. You must specify at least one variable.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1d0cionbspk2tn1ma0m6kjd1ntxa\"},{\"name\":\"format\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the format that is listed for writing the values of the variables.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n15nxwcex8m202n1dp4xwbds95t9a\"}],\"supportSiteTargetFile\":\"p02hzcxsifsk8dn1a53t49zqd82ca.htm\"},{\"name\":\"ID\",\"description\":\"Lists variables to use to match observations.\",\"help\":\"ID <DESCENDING>variable-1\\n<<DESCENDING>variable-2  ...>\\n<NOTSORTED>;\",\"arguments\":[{\"name\":\"variable\",\"placeholder\":true,\"description\":\"specifies the variable that the procedure uses to match observations. You can specify more than one variable, but the data set must be sorted by the variable or variables that you specify. These variables are ID variables. ID variables also identify observations on the printed reports and in the output data set.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0ek0hdv59lddxn1505wm71b2j5c\"},{\"name\":\"DESCENDING\",\"optional\":true,\"description\":\"specifies that the data set is sorted in descending order by the variable that immediately follows the word DESCENDING in the ID statement.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0g9nln91mwyfin12fulav7q0wky\"},{\"name\":\"NOTSORTED\",\"optional\":true,\"description\":\"specifies that observations are not necessarily sorted in alphabetic or numeric order. The data are grouped in another way (for example, chronological order).\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n13v44khw500lan1n1uf38jghped\"}],\"supportSiteTargetFile\":\"p0mibcdoex15m9n1ed7gi2itiy9i.htm\"},{\"name\":\"LABEL\",\"description\":\"Assigns descriptive labels to variables.\",\"help\":\"LABEL variable-1 = 'text-string' < ...variable-n = 'text-string'>;\\nLABEL variable-1 = ' ' < ...variable-n=’ ‘>; | variable-1 = < ...variable-n= >;\",\"arguments\":[{\"name\":\"text-string\",\"placeholder\":true,\"description\":\"specifies a label of up to 256 bytes.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n09u0k5ydxzgr3n1dfznhvex7uuoa\"},{\"name\":\"'\",\"placeholder\":true,\"description\":\"removes a label from a variable. Enclose a single blank space in quotation marks to remove an existing label. You can remove labels from multiple variables in a single LABEL statement:\",\"help\":\"*' '*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1dl99omzes92cn1typpf6yl1ng0a\"}],\"supportSiteTargetFile\":\"p1s0j2pii3oj7fn1f87s02j4zo52a.htm\"},{\"name\":\"VAR\",\"aliases\":[\"VARIABLE\"],\"description\":\"Restricts the comparison of the values of variables to the ones named in the VAR statement.\",\"help\":\"VAR *variable(s)*;\",\"arguments\":[{\"name\":\"variable\",\"placeholder\":true,\"description\":\"one or more variables that appear in the BASE= and COMPARE= data sets or only in the BASE= data set.\",\"help\":\"*variable(s)*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0842sum21i626n186pk5q32pz9f\"}],\"supportSiteTargetFile\":\"n1xrf09nbjnxjzn1kdmbcajf1s1v.htm\"},{\"name\":\"WHERE\",\"description\":\"Subsets the input data set by specifying certain conditions that each observation must meet before it is available for processing.\",\"help\":\"WHERE where-expression-1\\n<logical-operator where-expression-n>; \",\"arguments\":[{\"name\":\"where-expression\",\"optional\":true,\"placeholder\":true,\"description\":\"is an arithmetic or logical expression that generally consists of a sequence of operands and operators.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p04iz9sx1znb6en1ptu9o3h9ns07a\"},{\"name\":\"logical-operator\",\"optional\":true,\"placeholder\":true,\"description\":\"can be AND, AND NOT, OR, or OR NOT.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0xd4nxmu81y3rn1lzcij1t759lna\"}],\"supportSiteTargetFile\":\"n0yu3xyqnznndnn0z1v515xzfeboa.htm\"},{\"name\":\"WITH\",\"description\":\"Compares variables in the base data set with variables that have different names in the comparison data set, and compares different variables that are in the same data set.\",\"help\":\"WITH *variable(s)*;\",\"arguments\":[{\"name\":\"variable(s)\",\"placeholder\":true,\"description\":\"one or more variables to compare with variables in the VAR statement.\",\"help\":\" *variable(s)*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0uf1mwqhim9oln1g0emwtg4iphe\"}],\"supportSiteTargetFile\":\"p04tys9thfky3ln1ayl9vphsdt63.htm\"}],\"supportSiteInformation\":{\"docsetId\":\"proc\",\"docsetVersion\":\"v_002\",\"docsetTargetFile\":\"n1nwxbchh5hpu1n1h28kmici2awd.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/COMPILE.json",
    "content": "{\"name\":\"COMPILE\",\"statements\":[{\"name\":\"PROC COMPILE\",\"description\":\"PROC COMPILE enables you to compile, test, and store functions, CALL routines, and method programs that are used by risk engines. PROC COMPILE is similar to and largely supports the functionality and syntax of PROC FCMP.\",\"help\":\"PROC COMPILE &lt;*argument(s)*&gt;;\",\"arguments\":[{\"name\":\"DATA=\",\"optional\":true,\"description\":\"specifies the name of a SAS data set that contains input data. When you specify DATA= in a COMPILE step that includes the RUNMETHOD statement, the program executes one time for each observation that is in the input data set. When you do not specify DATA=, the program executes only a single time.\",\"help\":\"DATA= *SAS-data-set* \",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"n15b5u3a8z1pnen191sjwzrr2f6o\"},{\"name\":\"DETAILS\",\"optional\":true,\"description\":\"enables or disables detailed printing.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0meenloo7h4bgn0z3g91firfmwg\"},{\"name\":\"NODETAILS\",\"optional\":true,\"description\":\"enables or disables detailed printing.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0meenloo7h4bgn0z3g91firfmwg\"},{\"name\":\"ENV\",\"optional\":true,\"description\":\"specifies the name of the risk environment to load. When you use this argument, all of the following items that are associated with or that are defined for the environment are loaded:\\n• CALL routines \\n• method libraries\\n• variables\",\"help\":\"ENV | ENVIRONMENT= *environment* \",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1qaoq6kxe0scdn1ewv3r7pxl7ll\"},{\"name\":\"FLOW\",\"optional\":true,\"description\":\"prints a message for each statement in a program as it is executed.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0056b69ezovbgn1wfhu44k9fcxi\"},{\"name\":\"NOFLOW\",\"optional\":true,\"description\":\"prints a message for each statement in a program as it is executed.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0056b69ezovbgn1wfhu44k9fcxi\"},{\"name\":\"HIDE\",\"optional\":true,\"description\":\"specifies to encode the source code in a data set.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1te9ped8nog4en0z2847n21r4hn\"},{\"name\":\"LABEL=\",\"optional\":true,\"description\":\"assigns a descriptive label to the output package that is specified by PACKAGE=. Labels longer than 128 characters are truncated.\",\"help\":\"LABEL= *“label”* \",\"type\":\"value\",\"supportSiteTargetFragment\":\"n170bsvcr7zt0sn1o8a8uckiyapo\"},{\"name\":\"LIBRARY\",\"optional\":true,\"description\":\"links previously stored libraries.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1l9fjtkp3macin1jfzae68iktkl\"},{\"name\":\"INLIB\",\"optional\":true,\"description\":\"links previously stored libraries.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1l9fjtkp3macin1jfzae68iktkl\"},{\"name\":\"LIST\",\"optional\":true,\"description\":\"enables LISTALL and LISTPROG.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0ugg8pbugn7x1n1izwss269j8ky\"},{\"name\":\"LISTALL\",\"optional\":true,\"description\":\"enables LISTCODE, LISTSOURCE, XREF, and DETAILS.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1rbb3ms4oku2jn11evmhbuxy43t\"},{\"name\":\"LISTCODE\",\"optional\":true,\"description\":\"prints the compiled program code.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1ng61kznvr2h4n1j188u80vdpbb\"},{\"name\":\"LISTDEP\",\"optional\":true,\"description\":\"prints the variable dependencies that are in the program.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p00s62ejlv6k75n10hjlyafc6gly\"},{\"name\":\"LISTMETH\",\"optional\":true,\"description\":\"prints the methods that are in the program and in the specified environment.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1dr7rs7e73i6mn1wo2or0th0dwt\"},{\"name\":\"LISTPROG\",\"optional\":true,\"description\":\"prints the compiled programs.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n03qtmh3bopi36n1jjuby8wft9qi\"},{\"name\":\"LISTSOURCE\",\"optional\":true,\"description\":\"prints the program source statements.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0dllxi6hifr1ln1d99028fj5me5\"},{\"name\":\"OUT=\",\"optional\":true,\"description\":\"specifies the name of the data set to which to write the results of the execution of the COMPILE procedure main program. All variables that are used in the main program (and within method program blocks) are written to this data set.\",\"help\":\"OUT= *SAS-data-set* \",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"p1uepanknl3bptn1aios1rmm9q45\"},{\"name\":\"OUTLIB=\",\"optional\":true,\"description\":\"specifies the two-level name of the data set in which to write the CALL routines, functions, and method programs.\",\"help\":\"OUTLIB= *name* \",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0ke6wwmfr7gihn1fid6g42wrgq1\"},{\"name\":\"PACKAGE\",\"optional\":true,\"description\":\"specifies an arbitrary grouping (or package) within the OUTLIB= entry. This argument is required for programs that compile CALL routines and functions. The PACKAGE= argument is not used for methods.\",\"help\":\"PACKAGE | PKG= *package-name* \",\"type\":\"value\",\"supportSiteTargetFragment\":\"n17q344q5ihnh6n1xasgw717crqu\"},{\"name\":\"PRINT\",\"optional\":true,\"description\":\"prints the result of each statement in a program as it is executed.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1pq3pdxj7no8yn1tyhmx387bq9h\"},{\"name\":\"NOPRINT\",\"optional\":true,\"description\":\"prints the result of each statement in a program as it is executed.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1pq3pdxj7no8yn1tyhmx387bq9h\"},{\"name\":\"PURGE\",\"optional\":true,\"description\":\"removes all methods from the package.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0742yapa0jz94n1t89j55jfcvlu\"},{\"name\":\"TRACE\",\"optional\":true,\"description\":\"prints the results of each operation in each statement in a program as it is executed.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1lvp7r6vzhvmnn1ved6hrjto9wh\"},{\"name\":\"NOTRACE\",\"optional\":true,\"description\":\"prints the results of each operation in each statement in a program as it is executed.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1lvp7r6vzhvmnn1ved6hrjto9wh\"},{\"name\":\"XREF\",\"optional\":true,\"description\":\"prints a cross-reference of the variables in the program to indicate where each variable is referenced or given a value. The XREF argument is typically used with the LIST argument.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n18qkv6ybzny7un10w1paiqcg5sa\"}],\"supportSiteTargetFile\":\"p18m4khg3qf4rvn1dgpagcqp8917.htm\"},{\"name\":\"METHOD\",\"description\":\"Method programs are similar to CALL routines, except that they have access to the global namespace and therefore do not require arguments. The definition of a method begins with a METHOD statement and ends with an ENDMETHOD statement. To assign a descriptive label to each method, use the LABEL= argument. To run a method program, use a RUNMETHOD statement.\",\"help\":\"METHOD  method-name  KIND= method-type <LABEL= “label” >;BEGINBLOCK  block-type ;\\n program-statements; ENDBLOCK ;<BEGINBLOCK block-type;\\nprogram-statements;\\nENDBLOCK >;DECLARE OBJECT objectInstance(objectType);ENDMETHOD ;\",\"supportSiteTargetFile\":\"p0alpa39jnr48tn1ijk6y9fid56x.htm\"},{\"name\":\"RUNMETHOD\",\"description\":\"Use the RUNMETHOD statement to test a method program. You can specify any valid method block type. If you do not specify a block type, MAIN is used. When you specify DATA= on the PROC COMPILE line, the RUNMETHOD statement enables you to test a method outside of a risk environment.\",\"help\":\"RUNMETHOD *method-name*&lt;*block-type*&gt;;\",\"supportSiteTargetFile\":\"n07c8wh29nbfrtn1re0i80s88n85.htm\"}],\"supportSiteInformation\":{\"docsetId\":\"riskengproc\",\"docsetVersion\":\"v_009\",\"docsetTargetFile\":\"n0t0p76eiclf0kn1s1z1yagkyl7c.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/COMPUTAB.json",
    "content": "{\"name\":\"COMPUTAB\",\"statements\":[{\"name\":\"PROC COMPUTAB\",\"description\":\"The COMPUTAB (computing and tabular reporting) procedure produces tabular reports generated using a programmable data table. † The COMPUTAB procedure is especially useful when you need both the power of a programmable spreadsheet and a report generation system, but you want to set up a program to run in a batch mode and generate routine reports. † With PROC COMPUTAB, you can select a subset of observations from the input data set, define the format of a table, operate on its row and column values, and create new columns and rows. Access to individual table values is available when needed. † The COMPUTAB procedure can tailor reports to almost any desired specification and provide consolidation reports over summarization variables. The generated report values can be stored in an output data set. PROC COMPUTAB is especially useful in creating tabular reports such as income statements, balance sheets, and other row and column reports.\",\"help\":\"PROC COMPUTAB <CDEC=d><CSPACE=n><CWIDTH=w><DATA=SAS-data-set><FUZZ=value><INITMISS><NOPRINT><NORTR><NOTRANSPOSE><OPTIONS><OUT=SAS-data-set><RTS=n><SUMONLY>;     \\n\\tABORT <ABEND><CANCEL><CANCEL FILE> ...;\\n\\n\\tARRAY <_ALL_><_NUMERIC_><_TEMPORARY_> ...;\\n\\n\\tATTRIB <FORMAT=format><INFORMAT=informat><LABEL='label'> ...;\\n\\n\\tBY variables ;\\n\\n\\tCALL routine(parameter-1<, ...parameter-n>);\\n\\n\\tCELL cell_names / FORMAT= format ;\\n\\n\\tCOLUMNS <CHAR><MTITLE=\\\"text\\\"><_LABEL_> ...;\\n\\n\\tDELETE;\\n\\n\\tDO <OVER><><> ...;\\n\\n\\t;\\n\\n\\t;\\n\\n\\tELSE <DO><IF><THEN> ...;\\n\\n\\tEND;\\n\\n\\tGOTO label;\\n\\n\\tIF <DO><THEN><WHEN> ...;\\n\\n\\tINIT anchor-name [locator-name] values [locator-name values] ;\\n\\n\\t;\\n\\n\\tLINK label;\\n\\n\\tPUT <_ALL_><_INFILE_><_ODS_> ...;\\n\\n\\tRETAIN <element-list(s) <initial-value(s) |;\\n\\n\\tROWS <CHAR><_LABEL_><_NAME_> ...;\\n\\n\\t;\\n\\n\\tSTOP;\\n\\n\\tSUMBY variables ;\\n\",\"arguments\":[{\"name\":\"CDEC=\",\"optional\":true,\"description\":\"Specifies the default number of decimal places for printing. The default is CDEC=2.\",\"help\":\"CDEC=*d*\",\"type\":\"value\"},{\"name\":\"CSPACE=\",\"optional\":true,\"description\":\"Specifies the default number of spaces to insert between columns. The value of the CSPACE= option is used as the default value for the +n option in the COLUMNS statement. The default is CSPACE=2.\",\"help\":\"CSPACE=*n*\",\"type\":\"value\"},{\"name\":\"CWIDTH=\",\"optional\":true,\"description\":\"Specifies a default column width for the report. The default is CWIDTH=9. The width must be in the range of 1–32.\",\"help\":\"CWIDTH=*w*\",\"type\":\"value\"},{\"name\":\"DATA=\",\"optional\":true,\"description\":\"Names the SAS data set that contains the input data. If this option is not specified, the last created data set is used. If you are not reading a data set, use DATA=_NULL_.\",\"help\":\"DATA=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"FUZZ=\",\"optional\":true,\"description\":\"Specifies the criterion to use when testing for 0. If a number is within the FUZZ= value of 0, the number is set to 0.\",\"help\":\"FUZZ=*value*\",\"type\":\"value\"},{\"name\":\"INITMISS\",\"optional\":true,\"description\":\"Initializes the COMPUTAB data table to missing rather than to 0.\",\"type\":\"standalone\"},{\"name\":\"NOPRINT\",\"optional\":true,\"description\":\"Suppresses all printed output. Use the NOPRINT option with the OUT= option to produce an output data set but no printed reports.\",\"type\":\"standalone\"},{\"name\":\"NORTR\",\"optional\":true,\"description\":\"Suppresses the printing of row titles on each page. The NORTR (no row-title repeat) option is useful to suppress row titles when report pages are to be joined together in a larger report.\",\"type\":\"standalone\"},{\"name\":\"NOTRANSPOSE\",\"optional\":true,\"aliases\":[\"NOTRANS\"],\"description\":\"Prevents the transposition of the input data set in building the COMPUTAB report tables. The NOTRANS option causes input data set variables to appear among the columns of the report rather than among the rows.\",\"type\":\"standalone\"},{\"name\":\"OPTIONS\",\"optional\":true,\"description\":\"Lists PROC COMPUTAB option values. The option values appear on a separate page preceding the procedure’s normal output.\",\"type\":\"standalone\"},{\"name\":\"OUT=\",\"optional\":true,\"description\":\"Names the SAS data set to contain the output data.\",\"help\":\"OUT=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"RTS=\",\"optional\":true,\"description\":\"Specifies the default number of spaces to be inserted before row titles when row titles appear after the first printed column. The default row-title spacing is RTS=2.\",\"help\":\"RTS=*n*\",\"type\":\"value\"},{\"name\":\"SUMONLY\",\"optional\":true,\"description\":\"Suppresses printing of detailed reports. When the SUMONLY option is used, PROC COMPUTAB generates and prints only consolidation tables as specified in the SUMBY statement.\",\"type\":\"standalone\"}]},{\"name\":\"ABORT\",\"description\":\"Stops executing the current DATA step, SAS job, or SAS session. n is an integer value that enables you to specify a condition code: o when used with the CANCEL argument, the value is placed in the SYSINFO automatic macro variable o when not used with the CANCEL argument, the error code that is returned by SAS is ERROR. The value of ERROR depends on the operating system. The condition code n is returned to the operating system as the final SAS system exit code.\",\"help\":\"ABORT &lt;ABEND&gt;&lt;CANCEL&gt;&lt;CANCEL FILE&gt; ...\",\"arguments\":[{\"name\":\"ABEND\",\"optional\":true,\"description\":\"Causes abnormal termination of the current SAS job or session. Results depend on the method of operation: o batch mode and noninteractive mode o stops processing immediately o sends an error message to the SAS log that states that execution was terminated by the ABEND option of the ABORT macro statement o does not execute any subsequent statements or check syntax o returns control to the operating environment; further action is based on how your operating environment and your site treat jobs that end abnormally. o windowing environment and interactive line mode\",\"type\":\"standalone\"},{\"name\":\"CANCEL\",\"optional\":true,\"description\":\"Causes the cancellation of the current submitted statements. The results depend on the method of operation: o batch mode and noninteractive mode o The entire SAS program and SAS system are terminated. o The error message is written to the SAS log. o windowing environment and interactive line mode o It only clears the current submitted program. o Other subsequent submitted programs are not affected. o The error message is written to the SAS log. o workspace server and stored process server o It only clears currently submitted program. o Other subsequent submit calls are not affected. o The error message is written to the SAS log. o SAS IntrNet application server\",\"type\":\"standalone\"},{\"name\":\"CANCEL\",\"optional\":true,\"description\":\"Causes only the contents of the autoexec file or %INCLUDE file to be cleared by the %ABORT statement. Other submitted source statements will be executed after the autoexec or %INCLUDE file.\",\"help\":\"CANCEL FILE\",\"type\":\"standalone\"},{\"name\":\"NOLIST\",\"optional\":true,\"description\":\"Suppresses the output of all variables to the SAS log. Requirement: NOLIST must be the last option in the ABORT statement.\",\"type\":\"standalone\"},{\"name\":\"RETURN\",\"optional\":true,\"description\":\"Causes abnormal termination of the current SAS job or session. Results depend on the method of operation: o batch mode and noninteractive mode o stops processing immediately o sends an error message to the SAS log that states that execution was terminated by the RETURN option in the ABORT macro statement o does not execute any subsequent statements or check syntax o returns control to the operating environment with a condition code indicating an error. o windowing environment and interactive line mode\",\"type\":\"standalone\"}]},{\"name\":\"ARRAY\",\"description\":\"Defines the elements of an array.\",\"help\":\"ARRAY &lt;_ALL_&gt;&lt;_NUMERIC_&gt;&lt;_TEMPORARY_&gt; ...\",\"arguments\":[{\"name\":\"_ALL_\",\"optional\":true,\"description\":\"Specifies all variables.\",\"type\":\"standalone\"},{\"name\":\"_CHARACTER_\",\"optional\":true,\"description\":\"Specifies all character variables.\",\"type\":\"standalone\"},{\"name\":\"_NUMERIC_\",\"optional\":true,\"description\":\"Specifies all numeric variables.\",\"type\":\"standalone\"},{\"name\":\"_TEMPORARY_\",\"optional\":true,\"description\":\"Creates a list of temporary data elements.\",\"type\":\"standalone\"}]},{\"name\":\"ATTRIB\",\"description\":\"Associates a format, informat, label, and length with one or more variables.\",\"help\":\"ATTRIB &lt;FORMAT=format&gt;&lt;INFORMAT=informat&gt;&lt;LABEL='label'&gt; ...\",\"arguments\":[{\"name\":\"FORMAT=\",\"optional\":true,\"description\":\"Associates a format with variables in a variable-list.\",\"help\":\"FORMAT=*format*\",\"type\":\"value\"},{\"name\":\"INFORMAT=\",\"optional\":true,\"description\":\"Associates an informat with variables in a variable-list.\",\"help\":\"INFORMAT=*informat*\",\"type\":\"value\"},{\"name\":\"LABEL=\",\"optional\":true,\"description\":\"Associates a label with variables in a variable-list.\",\"help\":\"LABEL='*label*'\",\"type\":\"value\"},{\"name\":\"LENGTH=\",\"optional\":true,\"description\":\"Specifies the length of variables in a variable-list.\",\"type\":\"value\"},{\"name\":\"TRANSCODE=\",\"optional\":true,\"description\":\"Specifies whether character variables can be transcoded.\",\"help\":\"TRANSCODE=YES | NO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YES\",\"description\":\"Specifies that character variables can be transcoded.\",\"type\":\"standalone\"},{\"name\":\"NO\",\"description\":\"Suppresses transcoding.\",\"type\":\"standalone\"}]}]},{\"name\":\"BY\",\"description\":\"A BY statement can be used with PROC COMPUTAB to obtain separate reports for observations in groups defined by the BY variables. At the beginning of each BY group, before PROC COMPUTAB reads any observations, all table values are set to 0 unless the INITMISS option or an INIT statement is specified.\",\"help\":\"BY variables \"},{\"name\":\"CALL\",\"description\":\"Invokes a SAS CALL routine.\",\"help\":\"CALL routine(parameter-1&lt;, ...parameter-n&gt;)\"},{\"name\":\"CELL\",\"description\":\"The CELL statement specifies the format for printing a particular cell in the COMPUTAB data table. Cell variable names are compound SAS names of the form name1.name2, where name1 is the name of a row variable and name2 is the name of a column variable. Formats specified with the FORMAT= option in CELL statements override formats specified in ROWS and COLUMNS statements.\",\"help\":\"CELL cell_names / FORMAT= format \"},{\"name\":\"COLUMNS\",\"aliases\":[\"COLUMN\",\"COLS\",\"COL\"],\"description\":\"COLUMNS statements define the columns of the report. The COLUMNS statement can be abbreviated COLUMN, COLS, or COL. The specified column names must be valid SAS names. You can use as many COLUMNS statements as you need. A COLUMNS statement can describe more than one column, and one column of the report can be described with several different COLUMNS statements. The order of the columns on the report is determined by the order of appearance of column names in COLUMNS statements. The first occurrence of the name determines where in the sequence of columns a particular column is located.\",\"help\":\"COLUMNS &lt;CHAR&gt;&lt;MTITLE=\\\"text\\\"&gt;&lt;_LABEL_&gt; ...\",\"arguments\":[{\"name\":\"CHAR\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Indicates that the columns contain character data.\",\"type\":\"standalone\"},{\"name\":\"FORMAT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"F=\"],\"description\":\"Specifies a format for printing the values of the columns listed in the COLUMNS statement.\",\"help\":\"FORMAT=*format*\",\"type\":\"value\"},{\"name\":\"LJC\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Left-justifies the column headings for the columns listed. By default, columns are right- justified. When the LJC (left-justify character) option is used, any character row values in the column are also left-justified rather than right-justified.\",\"type\":\"standalone\"},{\"name\":\"MTITLE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"M=\"],\"description\":\"Specifies that the string of characters enclosed in quotes is a master title to be centered over all the columns listed in the COLUMNS statement. The list of columns must be consecutive. Special characters (\\\"+\\\", \\\"*\\\", \\\"=\\\", and so forth) placed on either side of the text expand to fill the space.\",\"help\":\"MTITLE=\\\"*text*\\\"\",\"type\":\"value\"},{\"name\":\"NOPRINT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Suppresses printing of columns listed in the COLUMNS statement. This option enables you to create columns to be used for intermediate calculations without having those columns printed.\",\"type\":\"standalone\"},{\"name\":\"NOZERO\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Suppresses printing of columns when all the values in a column are 0 or missing. Numbers within the FUZZ= value of 0 are treated as 0.\",\"type\":\"standalone\"},{\"name\":\"ZERO=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Substitutes \\\"text\\\" when the value in the column is 0 or missing.\",\"help\":\"ZERO=\\\"*text*\\\"\",\"type\":\"value\"},{\"name\":\"_LABEL_\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Uses labels, if provided, in the heading for the column or columns listed in the COLUMNS statement. If a label has not been provided, the name of the column is used.\",\"type\":\"standalone\"},{\"name\":\"_NAME_\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Uses column names in column headings for the columns listed in the COLUMNS statement. This option allows headings (\\\"text\\\") and names to be combined in a heading.\",\"type\":\"standalone\"},{\"name\":\"_PAGE_\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Starts a new page of the report before printing each of the columns in the list that follows.\",\"type\":\"standalone\"},{\"name\":\"_TITLES_\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Prints row titles before each column in the list. The _TITLES_ option can be abbreviated as _TITLE_.\",\"type\":\"standalone\"}]},{\"name\":\"DELETE\",\"description\":\"Stops processing the current observation.\",\"help\":\"DELETE\"},{\"name\":\"DO\",\"description\":\"\",\"help\":\"DO &lt;OVER&gt;&lt;&gt;&lt;&gt; ...\",\"arguments\":[{\"name\":\"BY\",\"optional\":true,\"description\":\"Precedes an increment integer (other than 0) or an expression that generates an integer to be added to the value of the index variable in each iteration of the DO loop.\",\"type\":\"standalone\"},{\"name\":\"OVER\",\"optional\":true,\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"TO\",\"optional\":true,\"description\":\"Separates the start and stop integers or expressions that control the number of times the portion of the DATA step between the iterative DO and END statements is processed.\",\"type\":\"standalone\"},{\"name\":\"UNTIL\",\"optional\":true,\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"WHILE\",\"optional\":true,\"description\":\"\",\"type\":\"standalone\"}]},{\"name\":\"DO UNTIL\",\"description\":\"...more SAS statements... END\",\"help\":\"\"},{\"name\":\"DO WHILE\",\"description\":\"\",\"help\":\"\"},{\"name\":\"ELSE\",\"description\":\"If the condition in an IF-THEN statement is false and an ELSE statement is present, then the ELSE action is carried out.\",\"help\":\"ELSE &lt;DO&gt;&lt;IF&gt;&lt;THEN&gt; ...\",\"arguments\":[{\"name\":\"DO\",\"optional\":true,\"description\":\"Action statement in an IF-THEN-ELSE construct.\",\"type\":\"standalone\"},{\"name\":\"IF\",\"optional\":true,\"description\":\"Executes a SAS statement for observations that meet specific conditions.\",\"type\":\"standalone\"},{\"name\":\"OUTPUT\",\"optional\":true,\"description\":\"Action statement in an IF-THEN-ELSE construct.\",\"type\":\"standalone\"},{\"name\":\"THEN\",\"optional\":true,\"description\":\"If the conditions that are specified in the IF clause are met, the IF-THEN statement executes a SAS statement for observations that are read from a SAS data set, for records in an external file, or for computed values.\",\"type\":\"standalone\"}]},{\"name\":\"END\",\"description\":\"Ends a DO group or SELECT group processing.\",\"help\":\"END\"},{\"name\":\"GO TO\",\"aliases\":[\"GOTO\"],\"description\":\"Jumps to a new statement.\",\"help\":\"GOTO label\"},{\"name\":\"IF\",\"description\":\"\",\"help\":\"IF &lt;DO&gt;&lt;THEN&gt;&lt;WHEN&gt; ...\",\"arguments\":[{\"name\":\"AND\",\"optional\":true,\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"DO\",\"optional\":true,\"description\":\"Action statement in an IF-THEN construct.\",\"type\":\"standalone\"},{\"name\":\"GO\",\"optional\":true,\"aliases\":[\"GOTO\"],\"description\":\"Jumps to a new statement.\",\"help\":\"GO TO\",\"type\":\"standalone\"},{\"name\":\"NOT\",\"optional\":true,\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"OR\",\"optional\":true,\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"OUTPUT\",\"optional\":true,\"description\":\"Action statement in an IF-THEN construct.\",\"type\":\"standalone\"},{\"name\":\"PUT\",\"optional\":true,\"description\":\"Action statement in an IF-THEN construct.\",\"type\":\"standalone\"},{\"name\":\"SET\",\"optional\":true,\"description\":\"Reads an observation from one or more SAS data sets.\",\"type\":\"standalone\"},{\"name\":\"THEN\",\"optional\":true,\"description\":\"If the conditions that are specified in the IF clause are met, the IF-THEN statement executes a SAS statement for observations that are read from a SAS data set, for records in an external file, or for computed values.\",\"type\":\"standalone\"},{\"name\":\"WHEN\",\"optional\":true,\"description\":\"WHEN statement in an IF-THEN-WHEN construct.\",\"type\":\"standalone\"}]},{\"name\":\"INIT\",\"description\":\"The INIT statement initializes values in the COMPUTAB data table at the beginning of each execution of the procedure and at the beginning of each BY group if a BY statement is present. The INIT statement in the COMPUTAB procedure is similar in function to the RETAIN statement in the DATA step, which initializes values in the program data vector. The INIT statement can be used at any point after the variable to which it refers has been defined in COLUMNS or ROWS statements. Each INIT statement initializes one row or column. Any number of INIT statements can be used. The first term after the keyword INIT, anchor-name, anchors initialization to a row or column. If anchor-name is a row name, then all locator-name values in the statement are columns of that row. If anchor-name is a column name, then all locator-name values in the statement are rows of that column.\",\"help\":\"INIT anchor-name [locator-name] values [locator-name values] \"},{\"name\":\"LABEL\",\"description\":\"\",\"help\":\"\"},{\"name\":\"LINK\",\"description\":\"Directs program execution immediately to the statement label that is specified and, if followed by a RETURN statement, returns execution to the statement that follows the LINK statement.\",\"help\":\"LINK label\"},{\"name\":\"PUT\",\"description\":\"Writes lines to the SAS log, to the SAS output window, or to an external location that is specified in the most recent FILE statement.\",\"help\":\"PUT &lt;_ALL_&gt;&lt;_INFILE_&gt;&lt;_ODS_&gt; ...\",\"arguments\":[{\"name\":\"OVERPRINT\",\"optional\":true,\"description\":\"Causes the values that follow the keyword OVERPRINT to print on the most recently written output line.\",\"type\":\"standalone\"},{\"name\":\"_ALL_\",\"optional\":true,\"description\":\"Writes the values of all variables, which includes automatic variables, that are defined in the current DATA step by using named output.\",\"type\":\"standalone\"},{\"name\":\"_BLANKPAGE_\",\"optional\":true,\"description\":\"Advances the pointer to the first line of a new page, even when the pointer is positioned on the first line and the first column of a new page.\",\"type\":\"standalone\"},{\"name\":\"_INFILE_\",\"optional\":true,\"description\":\"Writes the last input data record that is read either from the current input file or from the data lines that follow a DATELINES statement.\",\"type\":\"standalone\"},{\"name\":\"_ODS_\",\"optional\":true,\"description\":\"Moves data values for all columns (as defined by the ODS option in the FILE statement) into a special buffer, from which it is eventually written to the data component. The ODS option in the FILE statement defines the structure of the data component that holds the results of the DATA step.\",\"type\":\"standalone\"},{\"name\":\"_PAGE_\",\"optional\":true,\"description\":\"Advances the pointer to the first line of a new page. SAS automatically begins a new page when a line exceeds the current PAGESIZE= value.\",\"type\":\"standalone\"}]},{\"name\":\"RETAIN\",\"description\":\"Causes a variable that is created by an INPUT or assignment statement to retain its value from one iteration of the DATA step to the next.\",\"help\":\"RETAIN &lt;element-list(s) &lt;initial-value(s) |\"},{\"name\":\"ROWS\",\"aliases\":[\"ROW\"],\"description\":\"ROWS statements define the rows of the report. The ROWS statement can be abbreviated ROW. The specified row names must be valid SAS names. You can use as many ROWS statements as you need. A ROWS statement can describe more than one row, and one row of the report can be described with several different ROWS statements. The order of the rows in the report is determined by the order of appearance of row names in ROWS statements. The first occurrence of the name determines where the row is located.\",\"help\":\"ROWS &lt;CHAR&gt;&lt;_LABEL_&gt;&lt;_NAME_&gt; ...\",\"arguments\":[{\"name\":\"CHAR\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Indicates that the rows contain character data.\",\"type\":\"standalone\"},{\"name\":\"DOL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Overlines the rows listed in the ROWS statement with double lines. Overlines are printed on the line before any row titles or data for the row.\",\"type\":\"standalone\"},{\"name\":\"DUL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Underlines the rows listed in the ROWS statement with double lines. Underlines are printed on the line after the data for the row. A row can have both an underline and an overline option.\",\"type\":\"standalone\"},{\"name\":\"FORMAT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"F=\"],\"description\":\"Specifies a format for printing the values of the rows listed in the ROWS statement.\",\"help\":\"FORMAT=*format*\",\"type\":\"value\"},{\"name\":\"LJC\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Left-justifies character rows in each column.\",\"type\":\"standalone\"},{\"name\":\"NOPRINT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Suppresses printing of rows listed in the ROWS statement. This option enables you to create rows to be used for intermediate calculations without having those rows printed.\",\"type\":\"standalone\"},{\"name\":\"NOZERO\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Suppresses the printing of a row when all the values are 0 or missing.\",\"type\":\"standalone\"},{\"name\":\"OL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Overlines the rows listed in the ROWS statement with a single line. Overlines are printed on the line before any row titles or data for the row.\",\"type\":\"standalone\"},{\"name\":\"OVERPRINT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Overprints titles, values, overlining, and underlining associated with rows listed in the ROWS statement. The OVERPRINT option can be abbreviated OVP. This option is valid only when the system option OVP is in effect.\",\"type\":\"standalone\"},{\"name\":\"SKIP\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Prints a blank line after the data lines for these rows.\",\"type\":\"standalone\"},{\"name\":\"UL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Underlines the rows listed in the ROWS statement with a single line. Underlines are printed on the line after the data for the row. A row can have both an underline and an overline option.\",\"type\":\"standalone\"},{\"name\":\"ZERO=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Substitutes \\\"text\\\" when the value in the row is 0 or missing.\",\"help\":\"ZERO=\\\"*text*\\\"\",\"type\":\"value\"},{\"name\":\"_LABEL_\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Uses labels as row titles for the row or rows listed in the ROWS statement. If a label is not provided, the name of the row is substituted.\",\"type\":\"standalone\"},{\"name\":\"_NAME_\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Uses row names in row titles for the row or rows listed in the ROWS statement.\",\"type\":\"standalone\"},{\"name\":\"_PAGE_\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Starts a new page of the report before printing these rows.\",\"type\":\"standalone\"}]},{\"name\":\"SELECT\",\"description\":\"\",\"help\":\"\"},{\"name\":\"STOP\",\"description\":\"Stops execution of the current DATA step.\",\"help\":\"STOP\"},{\"name\":\"SUMBY\",\"description\":\"The SUMBY statement produces consolidation tables for variables whose names are in the SUMBY list. Only one SUMBY statement can be used. To use a SUMBY statement, you must use a BY statement. The SUMBY and BY variables must be in the same relative order in both statements.\",\"help\":\"SUMBY variables \"}],\"supportSiteInformation\":{\"docsetId\":\"etsug\",\"docsetVersion\":\"latest\",\"docsetTargetFile\":\"etsug_computab_toc.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/CONDENSEIMAGES.json",
    "content": "{\"name\":\"CONDENSEIMAGES\",\"statements\":[{\"name\":\"PROC CONDENSEIMAGES\",\"description\":\"The CONDENSEIMAGES procedure converts a wide table that contains one pixel per variable to an image table so that other image-related procedures can use it. In essence, PROC CONDENSEIMAGES provides the opposite functionality of the FLATTENIMAGES procedure.\",\"help\":\"PROC CONDENSEIMAGES *DATA=libref.data-table**HEIGHT=number**NUMCHANNELS=COLOR|GRAYSCALE**WIDTH=number*&lt;&lt;options&gt;&gt;\",\"arguments\":[{\"name\":\"DATA=\",\"description\":\"names the input data table for PROC CONDENSEIMAGES to use. The default is the most recently created data table. libref.data-table is a two-level name, where libref refers to a collection of information that is defined in the LIBNAME statement and includes the library, which includes a path to the data, and a session identifier, which defaults to the active session but which can be explicitly defined in the LIBNAME statement.\",\"help\":\"DATA=*libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"HEIGHT=\",\"description\":\"specifies the height of the output images in pixels, where number is a positive integer.\",\"help\":\"HEIGHT=*number*\",\"type\":\"value\"},{\"name\":\"NUMCHANNELS=\",\"description\":\"specifies whether the output images are in gray scale or color. Gray-scale images have one channel, and color images have three channels.\",\"help\":\"NUMCHANNELS=COLOR | GRAYSCALE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"COLOR\",\"type\":\"standalone\"},{\"name\":\"GRAYSCALE\",\"type\":\"standalone\"}]},{\"name\":\"WIDTH=\",\"description\":\"specifies the width of the output images in pixels, where number is a positive integer.\",\"help\":\"WIDTH=*number*\",\"type\":\"value\"},{\"name\":\"GROUPEDCHANNELS\",\"optional\":true,\"description\":\"specifies that the pixels of images in the input table are currently grouped by color (all the blue pixels, then all the green pixels, and then all the red pixels). If you omit this option, this means that the pixels in the input table are not currently grouped by color (that is, there is one blue pixel, one green pixel, and one red pixel; then another blue pixel, green pixel, and red pixel; and so on).\",\"type\":\"standalone\"}]},{\"name\":\"INPUT\",\"description\":\"The INPUT statement specifies one or more variables as input variables to use in constructing the images. If you omit this statement, then all numeric variables are used. You can specify the individual variables, a range of variables, or a combination of both.\",\"help\":\"INPUT *&lt;variables&gt;*;\",\"arguments\":[{\"name\":\"variables\",\"placeholder\":true,\"description\":\"names the INPUT variable.\",\"type\":\"value\"}]},{\"name\":\"OUTPUT\",\"description\":\"The OUTPUT statement creates an output data table that contains the results of PROC CONDENSEIMAGES.\",\"help\":\"OUTPUT  OUT=libref.data-table  &lt;COPYVARS=(variables)&gt;&lt;DEPTH=BIT8 | BIT32 | BIT64&gt; ...&lt;ENCODING=BMP | JPG | PIXEL | PNG | TIF&gt;;                     \",\"arguments\":[{\"name\":\"OUT=\",\"description\":\"names the output data table for PROC CONDENSEIMAGES to use. You must specify this option before any other options. libref.data-table is a two-level name, where libref refers to a collection of information that is defined in the LIBNAME statement and includes the library, which includes a path to where the data table is to be stored, and a session identifier, which defaults to the active session but which can be explicitly defined in the LIBNAME statement; and data-table specifies the name of the output data table.\",\"help\":\"OUT=*libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"COPYVAR=\",\"optional\":true,\"aliases\":[\"COPYVARS\"],\"description\":\"lists one or more variables from the input data table to be transferred to the output data table.\",\"help\":\"COPYVAR=*variable*\",\"type\":\"value\"},{\"name\":\"DEPTH=\",\"optional\":true,\"description\":\"specifies the depth of a pixel in the output images\",\"help\":\"DEPTH=BIT8 | BIT32 | BIT64\",\"type\":\"choice\",\"arguments\":[{\"name\":\"BIT8\",\"type\":\"standalone\"},{\"name\":\"BIT32\",\"type\":\"standalone\"},{\"name\":\"BIT64\",\"type\":\"standalone\"}]},{\"name\":\"ENCODING=\",\"optional\":true,\"description\":\"specifies the encoding of the output image\",\"help\":\"ENCODING=BMP | JPG | PIXEL | PNG | TIF\",\"type\":\"choice\",\"arguments\":[{\"name\":\"BMP\",\"type\":\"standalone\"},{\"name\":\"JPG\",\"type\":\"standalone\"},{\"name\":\"PIXEL\",\"type\":\"standalone\"},{\"name\":\"PNG\",\"type\":\"standalone\"},{\"name\":\"TIF\",\"type\":\"standalone\"}]}]}],\"supportSiteInformation\":{\"docsetId\":\"cascv\",\"docsetVersion\":\"latest\",\"docsetTargetFile\":\"cascv_condenseimages_toc.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/CONTENTS.json",
    "content": "{\"name\":\"CONTENTS\",\"statements\":[{\"name\":\"PROC CONTENTS\",\"description\":\"Describes the contents of one or more SAS data sets and prints the directory of the SAS library.\",\"help\":\"PROC CONTENTS &lt;*options*&gt;;\",\"arguments\":[{\"name\":\"CENTILES\",\"optional\":true,\"description\":\"prints centiles information for indexed variables.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p14n3pu3cul5cin1pcuk3o14dn9a\"},{\"name\":\"DATA=\",\"optional\":true,\"description\":\"specifies the input data set.\",\"help\":\"DATA=*SAS-file-specification*\",\"type\":\"value\",\"arguments\":[{\"name\":\"<libref.>SAS-data-set\",\"placeholder\":true,\"description\":\"names one SAS data set to process. The default for libref is the libref of the procedure input library. For example, to obtain the contents of the SAS data set HtWt from the procedure input library, use the following CONTENTS statement:\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"n0xstjnvfaqv4hn1c6sw6tzs49jh\"},{\"name\":\"<>_ALL_\",\"description\":\"gives you information about all SAS data sets that have the type or types specified by the MEMTYPE= option. libref refers to the SAS library. The default for libref is the libref of the procedure input library.\\n• If you are using the _ALL_ keyword, you need Read access to all read-protected SAS data sets in the SAS library.\\n• DATA=_ALL_ automatically prints a listing of the SAS files that are contained in the SAS library. Note that for SAS views, all librefs that are associated with the views must be assigned in the current session in order for them to be processed for the listing.\",\"help\":\"&lt;*libref.*&gt;_ALL_\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"n1r744ygvc5d9in1fho2k98fjitu\"}],\"supportSiteTargetFragment\":\"p0jmdgts3radscn1td80xgpg0cdv\"},{\"name\":\"DETAILS\",\"optional\":true,\"description\":\"includes information in the output about the number of observations, number of variables, number of indexes, and data set labels.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n15uqzp5ej1pgnn1xlcmc5il5xz8\"},{\"name\":\"NODETAILS\",\"optional\":true,\"description\":\"includes information in the output about the number of observations, number of variables, number of indexes, and data set labels.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n15uqzp5ej1pgnn1xlcmc5il5xz8\"},{\"name\":\"DIRECTORY\",\"optional\":true,\"description\":\"prints a list of the SAS files in the SAS library.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0a9l58obh037jn14yrbo9snvlid\"},{\"name\":\"ENCRYPTKEY=\",\"optional\":true,\"description\":\"specifies the key value for AES encryption.\",\"help\":\"ENCRYPTKEY=*key-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1nty0rr3avrmcn12niw4hijepq7\"},{\"name\":\"FMTLEN\",\"optional\":true,\"description\":\"prints the length of a variable's informat or format.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0tiigy62kfe4vn1h8bai58ntx35\"},{\"name\":\"MEMTYPE=\",\"optional\":true,\"aliases\":[\"MTYPE=\",\"MT=\"],\"description\":\"restricts processing to one or more types of SAS files.\",\"help\":\"MEMTYPE=(*member-type(s)*)\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n12ribcn0ts4xqn0zlbdjtrq7gp4\"},{\"name\":\"NODS\",\"optional\":true,\"description\":\"suppresses the printing of individual files.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0txrfrov11cnfn1tn2kpcwqdczo\"},{\"name\":\"NOPRINT\",\"optional\":true,\"description\":\"suppresses the printing of the output.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0sdnsr16rmmjkn1awguuejlo6k9\"},{\"name\":\"ORDER=\",\"optional\":true,\"description\":\"prints a list of variables in a specified order.\",\"help\":\"ORDER=COLLATE | CASECOLLATE | IGNORECASE | VARNUM\",\"type\":\"choice\",\"arguments\":[{\"name\":\"COLLATE\",\"type\":\"standalone\"},{\"name\":\"CASECOLLATE\",\"type\":\"standalone\"},{\"name\":\"IGNORECASE\",\"type\":\"standalone\"},{\"name\":\"VARNUM\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"n065p2nwvd42u7n1eqglc04kb12n\"},{\"name\":\"OUT=\",\"optional\":true,\"description\":\"specifies the name for an output data set.\",\"help\":\"OUT=*SAS-data-set*\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"p07s5zcetike6jn197fk3v68p66w\"},{\"name\":\"OUT2=\",\"optional\":true,\"description\":\"specifies the name of an output data set to contain information about indexes and integrity constraints.\",\"help\":\"OUT2=*SAS-data-set* \",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"p14jh29e1vz632n1npuec4ksikt9\"},{\"name\":\"SHORT\",\"optional\":true,\"description\":\"prints abbreviated output.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1tsjmnjeokn0pn1koiw63qxsxks\"},{\"name\":\"VARNUM\",\"optional\":true,\"description\":\"print a list of the variables by their position in the data set. By default, the CONTENTS statement lists the variables alphabetically.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0vwh5ho9ufb0pn1k2gj0ol938t0\"}],\"supportSiteTargetFile\":\"p13a12sy6i71p6n1ekjmlniopcq8.htm\"}],\"supportSiteInformation\":{\"docsetId\":\"proc\",\"docsetVersion\":\"v_002\",\"docsetTargetFile\":\"n1hqa4dk5tay0an15nrys1iwr5o2.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/COPULA.json",
    "content": "{\"name\":\"COPULA\",\"statements\":[{\"name\":\"PROC COPULA\",\"description\":\"A multivariate distribution for a random vector contains a description of both the marginal distributions and their dependence structure. A copula approach to formulating a multivariate distribution provides a way to isolate the description of the dependence structure from the marginal distributions. A copula is a function that combines marginal distributions of variables into a specific multivariate distribution. All of the one-dimensional marginals in the multivariate distribution are the cumulative distribution functions of the factors. Copulas help perform large-scale multivariate simulation from separate models, each of which can be fitted using different, even nonnormal, distributional specifications. The COPULA procedure enables you to fit multivariate distributions or copulas from a given sample data set\",\"help\":\"PROC COPULA <DATA= SAS-data-set>;\\n\\tVAR variables;\\n\\n\\tDEFINE namecopula-type<( parameter-value-options ...)>;\\n\\n\\tFIT type<NAME= name><INIT=  (parameter-value-options)> / options;\\n\\n\\tBOUNDS bound1<, bound2 ...>;\\n\\n\\tSIMULATE <copula-name-list> / options;\\n\\n\\tBY variables;\\n\",\"arguments\":[{\"name\":\"DATA=\",\"optional\":true,\"description\":\"specifies the input data set used to estimate parameters for the FIT statement. When the procedure is used for simulation only, the input data set is not required to run the procedure. If you do not specify libref, then the Work library is used. Work is the default temporary library that is automatically defined by SAS at the beginning of each SAS session or job.\",\"help\":\"DATA=*&lt;libref.&gt;SAS-data-set*\",\"type\":\"dataSet\"}]},{\"name\":\"BOUNDS\",\"description\":\"The BOUNDS statement specifies the lower and upper bounds for the parameters. You can use this statement only when maximum likelihood estimation is used for the specified copula.\",\"help\":\"BOUNDS *bound1*&lt;, *bound2 ...*&gt;;\",\"arguments\":[{\"name\":\"bound1\",\"placeholder\":true,\"description\":\"Each bound is composed of parameters, constants, and inequality operators in the following format:\",\"help\":\"*bound1* &lt;, *bound2* ...&gt;\",\"type\":\"value\"}]},{\"name\":\"BY\",\"description\":\"The BY statement specifies groups in which separate FIT analyses for copula are performed. The variables must be present in the input data set and are excluded from the model fitting. The BY statement requires the VAR statement to be present. A SIMULATE statement can also be used with a BY statement, provided that a FIT statement precedes the SIMULATE statement. Multiple FIT and SIMULATE statements can be used with a BY statement. If a FIT statement and a SIMULATE statement both specify the same name, then the fitting results of the FIT statement with that name are used to initialize the simulation of the same name. If no names are specified in a sequence of FIT and SIMULATE statements, then the simulation requested by a particular SIMULATE statement is initialized using the fitting results from the FIT statement that immediately precedes the SIMULATE statement.\",\"help\":\"BY *variables;*\",\"arguments\":[{\"name\":\"variables\",\"placeholder\":true,\"description\":\"The BY statement specifies groups in which separate FIT analyses for copula are performed. The variables must be present in the input data set and are excluded from the model fitting. The BY statement requires the VAR statement to be present.\",\"type\":\"value\"}]},{\"name\":\"DEFINE\",\"description\":\"The DEFINE statement specifies the relevant information of copula used for the simulation. The DEFINE statement is used with the SIMULATE statement. The FIT statement can also be used with the SIMULATE statement. The results of the FIT statement can be the input of the SIMULATE statement. Therefore, the SIMULATE statement can follow the FIT statement. If there is no FIT statement, then the DEFINE statement must precede the SIMULATE statement. However, you cannot use both the FIT and DEFINE statements in the same procedure.\",\"help\":\"DEFINE *name**copula-type*&lt;( *parameter-value-options ...*)&gt;;\",\"arguments\":[{\"name\":\"name\",\"placeholder\":true,\"description\":\"specifies the name of the copula definition, which can be used later in the SIMULATE statement.\",\"type\":\"value\"},{\"name\":\"copula-type\",\"placeholder\":true,\"description\":\"specifies one of the following types of copula:\",\"type\":\"value\"},{\"name\":\"CORR=\",\"optional\":true,\"description\":\"specifies the data set that contains the correlation matrix to use for elliptical copulas. If the correlation matrix is valid but its elements are not submitted in order, then you must provide the variable names in the first column of the matrix, and these names must match the variable names in the VAR statement. For an example of a correlation matrix input in this form, see Output 11.2.1. If the correlation matrix elements are submitted in order, the first column of variable names is not required. You can use this option for normal and t copulas.\",\"help\":\"CORR=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"DF=\",\"optional\":true,\"description\":\"specifies the degrees of freedom. You can use this option for t copulas.\",\"help\":\"DF=*value*\",\"type\":\"value\"},{\"name\":\"HIERARCHY=\",\"optional\":true,\"description\":\"specifies the hierarchy for hierarchical Archimedean copulas. The argument usually consists of multiple specification lines, where each line specifies one copula in the hierarchy. The name can be user-defined symbols, with the exception of the copula at the top of the hierarchy, which must be named ROOT. The HAC-specification is a list of symbols that can be either defined copula names or variable names from the VAR statement, depending on whether the element of the copula is a variable or an inner copula in the hierarchy.\",\"help\":\"HIERARCHY=(*name*=(*HAC-specification*)(THETA=*value*))\",\"type\":\"value\"},{\"name\":\"KENDALL=\",\"optional\":true,\"description\":\"specifies the data set that contains the correlation matrix defined in Kendall’s tau. If the correlation matrix is valid but its elements are not submitted in order, then you must provide the variable names in the first column of the matrix, and these names must match the variable names in the VAR statement. If the correlation matrix elements are submitted in order, the first column of variable names is not required. You can use this option for normal and t copulas.\",\"help\":\"KENDALL=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"SPEARMAN=\",\"optional\":true,\"description\":\"specifies the data set that contains the correlation matrix defined in Spearman’s rho. If the correlation matrix is valid but its elements are not submitted in order, then you must provide the variable names in the first column of the matrix, and these names must match the variable names in the VAR statement. If the correlation matrix elements are submitted in order, the first column of variable names is not required. You can use this option for normal copulas.\",\"help\":\"SPEARMAN=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"THETA=\",\"optional\":true,\"description\":\"specifies the parameter value for Archimedean copulas.\",\"help\":\"THETA=*value*\",\"type\":\"value\"}]},{\"name\":\"FIT\",\"description\":\"The FIT statement estimates the parameters for a specified copula type.\",\"help\":\"FIT *type*&lt;NAME= *name*&gt;&lt;INIT=  (*parameter-value-options*)&gt; / *options*;\",\"arguments\":[{\"name\":\"type\",\"placeholder\":true,\"description\":\"specifies the type of the copula to be estimated, which is one of the following:\",\"type\":\"value\"},{\"name\":\"NAME=\",\"optional\":true,\"description\":\"specifies an identifier for the fit, which is stored as an ID variable in the OUTCOPULA= data set.\",\"help\":\"NAME=*name*\",\"type\":\"value\"},{\"name\":\"INIT=\",\"optional\":true,\"description\":\"provides the initial values for the numerical optimization. [parameter-value-options] specify the input parameters that are used to initialize the specified copula. These options must be appropriate for the type of copula that you specify. You can specify the following options:\",\"help\":\"INIT=(*parameter-value-options*)\",\"type\":\"value\"},{\"name\":\"MARGINALS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the marginal distribution of the individual variables. You can specify the following values:\",\"help\":\"MARGINALS=UNIFORM | EMPERICAL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"UNIFORM\",\"type\":\"standalone\"},{\"name\":\"EMPERICAL\",\"type\":\"standalone\"}]},{\"name\":\"METHOD=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the method used to estimate parameters. You can specify the following values:\",\"help\":\"METHOD=MLE | CAL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"MLE\",\"type\":\"standalone\"},{\"name\":\"CAL\",\"type\":\"standalone\"}]},{\"name\":\"OUTCOPULA\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the name of the output data set. Each fitted copula is written to the specified SAS-data-set. The data set is not created if this option is not specified. You can specify one of the following options, which must be appropriate for the type of copula that you specify:\",\"help\":\"OUTCOPULA &lt;(KENDALL | SPEARMAN)&gt;=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"OUTPSEUDO=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the output data set for saving the pseudo-samples with uniform marginal distributions. The pseudo-samples are obtained by transforming the individual variables of the original data with the empirical cumulative distribution functions (CDFs). The data set is not created if this option is not specified.\",\"help\":\"OUTPSEUDO=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"PLOTS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"controls the plots that are produced by the COPULA procedure. By default, PROC COPULA produces a scatter plot matrix for variables (that is, it displays a symmetric matrix plot with the variables that are specified in the VAR statement). You can specify the following global-plot-options:\",\"help\":\"PLOTS&lt;(*global-plot-options*)&gt;&lt;=(*specific-plot-options*)&gt;\",\"type\":\"standaloneOrValue\"},{\"name\":\"ITPRINT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"prints a summary iteration listing.\",\"type\":\"standalone\"},{\"name\":\"NOCORR\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses the correlation matrix.\",\"type\":\"standalone\"},{\"name\":\"NOPRINT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses all output.\",\"type\":\"standalone\"},{\"name\":\"PRINTALL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"default option.\",\"type\":\"standalone\"}]},{\"name\":\"SIMULATE\",\"description\":\"The SIMULATE statement simulates data from a specified copula model.\",\"help\":\"SIMULATE &lt;*copula-name-list*&gt; / *options*;\",\"arguments\":[{\"name\":\"copula-name-list\",\"optional\":true,\"placeholder\":true,\"description\":\"The copula name specification can be either the name of a defined copula as specified by name in the DEFINE statement or the name of a fitted copula specified in the NAME= option in the FIT statement copula specification.\",\"type\":\"value\"},{\"name\":\"MARGINALS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies how the marginal distributions are computed. If MARGINALS=UNIFORM, then the samples are drawn from the copula distribution and marginal distributions are uniform. MARGINALS=EMPIRICAL can be used to explicitly specify that the marginal distributions are empirical CDF computed from the DATA= option in the PROC COPULA statement. If the MARGINALS= option is not specified in the SIMULATE statement, then the marginal distributions used in the simulation depend on whether a preceding FIT statement was used: If there is no FIT statement, the marginal distributions depend on whether the PROC COPULA statement includes a DATA= option. If there is a preceding FIT statement, then the marginal distributions from that fit are used. If there is no FIT statement and there is no DATA= option, then MARGINALS=UNIFORM.\",\"help\":\"MARGINALS=UNIFORM | EMPIRICAL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"UNIFORM\",\"type\":\"standalone\"},{\"name\":\"EMPIRICAL\",\"type\":\"standalone\"}]},{\"name\":\"NDRAWS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the number of draws to generate for this simulation. The default is 100.\",\"help\":\"NDRAWS=*integer*\",\"type\":\"value\"},{\"name\":\"OUT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the output data set for the random samples from the simulation. This data set is the SAS data set in the OUTUNIFORM= option transformed by the inverse empirical CDF. This option is useful only when an input data exists and MARGINALS=EMPIRICAL. The data set is not created if this option is not specified.\",\"help\":\"OUT=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"OUTUNIFORM=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the output data set for the result of the simulation in uniforms. This option can be used when MARGINALS=UNIFORM or when MARGINALS=EMPIRICAL. If MARGINALS=EMPIRICAL, then this option enables you to obtain the samples simulated from the joint distribution specified by the copula, with all marginal distributions being uniform. The data are not created if this option is not specified.\",\"help\":\"OUTUNIFORM=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"PLOTS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"controls the plots that are produced by the COPULA procedure. By default, the PROC COPULA produces a scatter plot matrix for variables. You can specify any of the following global-plot-options:\",\"help\":\"PLOTS&lt;(*global-plot-options*)&gt;&lt;=(*specific-plot-options*)&gt;\",\"type\":\"standaloneOrValue\"},{\"name\":\"SEED=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the seed for generating random numbers for the simulation. If the seed is not provided, a random number is used as the seed.\",\"help\":\"SEED=*integer*\",\"type\":\"value\"}]},{\"name\":\"VAR\",\"description\":\"The VAR statement specifies the variable names in the input data set specified by the DATA= option in the PROC COPULA statement.\",\"help\":\"VAR *variables*;\",\"arguments\":[{\"name\":\"variables\",\"placeholder\":true,\"description\":\"The subset of variables in the data set is used for the copula models in the FIT statement. When there is no input data set, the VAR statement creates the names of the list of variables for the SIMULATE statement.\",\"type\":\"value\"}]}],\"supportSiteInformation\":{\"docsetId\":\"etsug\",\"docsetVersion\":\"latest\",\"docsetTargetFile\":\"etsug_copula_toc.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/COPY.json",
    "content": "{\"name\":\"COPY\",\"statements\":[{\"name\":\"PROC COPY\",\"description\":\"Copies all or some of the SAS files in a SAS library.\",\"help\":\"PROC COPY \\n\\t<ACCEL | NOACCEL>\\n\\t\\tOUT=libref-1\\n\\t\\t<CLONE | NOCLONE>\\n\\t\\t<CONSTRAINT=YES | NO>\\n\\t\\t<DATECOPY>\\n\\t\\t<ENCRYPTKEY=key-value>\\n\\t\\t<FORCE>\\n\\t\\tIN=libref-2\\n\\t\\t<INDEX=YES | NO>\\n\\t\\t<MEMTYPE=(member-type(s))>\\n\\t\\t<MOVE  <ALTER=alter-password>>\\n\\t\\t<OVERRIDE=(ds-option-1=value-1                   <ds-option-2=value-2 ...> ) >; \\n\\n\\tATTRIB   variable-list(s) attribute-list(s);\\n\\n\\tEXCLUDE SAS-file(s)</                 MEMTYPE=member-type>;\\n\\n\\tFORMAT variable-1< ...variable-n><format><DEFAULT=default-format>;\\n\\n\\tLABEL variable-1=label-1< ...variable-n=label-n>;\\n\\n\\tSELECT SAS-file(s)\\n\\t\\t</ <ENCRYPTKEY=key-value>\\n              <ALTER=alter-password>\\n              <MEMTYPE=member-type>>; \\n\\n\\tWHERE where-expression-1\\n\\t\\t<logical-operator where-expression-n>;         \\n\",\"arguments\":[{\"name\":\"OUT=\",\"aliases\":[\"OUTLIB=\",\"OUTDD=\"],\"description\":\"names the SAS library to copy SAS files to.\",\"help\":\"OUT=*libref-1*\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"p09yht5zc05vf1n1ovs9gvza4t7i\"},{\"name\":\"ACCEL\",\"optional\":true,\"description\":\"specifies whether to perform the copy operation in CAS. Both the IN= and OUT= libraries must be CAS engine libraries and they must use the same CAS session.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0g9w76jzkwblcn16noofgz1rv5k\"},{\"name\":\"NOACCEL\",\"optional\":true,\"description\":\"specifies whether to perform the copy operation in CAS. Both the IN= and OUT= libraries must be CAS engine libraries and they must use the same CAS session.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0g9w76jzkwblcn16noofgz1rv5k\"},{\"name\":\"CLONE\",\"optional\":true,\"description\":\"specifies whether to copy data set attributes.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p00krj1r0z7j2dn11xpu0qzshshe\"},{\"name\":\"NOCLONE\",\"optional\":true,\"description\":\"specifies whether to copy data set attributes.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p00krj1r0z7j2dn11xpu0qzshshe\"},{\"name\":\"CONSTRAINT=\",\"optional\":true,\"description\":\"specifies whether to copy all integrity constraints when copying a data set.\",\"help\":\"CONSTRAINT=YES | NO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YES\",\"type\":\"standalone\"},{\"name\":\"NO\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"p198l76hzoqxyhn1k5gww3mnzqhi\"},{\"name\":\"DATECOPY\",\"optional\":true,\"description\":\"copies the SAS internal date and time at which the SAS file was created and the date and time at which it was last modified to the resulting copy of the file.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1bygf57z994o8n113jtk9ua5vrg\"},{\"name\":\"ENCRYPTKEY=\",\"optional\":true,\"description\":\"specifies the key value needed to copy data sets in the IN= library that have AES encryption.\",\"help\":\"ENCRYPTKEY=                                                   *key-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1tq5hc53mo7pgn18z3wtj0q20sw\"},{\"name\":\"FORCE\",\"optional\":true,\"description\":\"enables you to use the MOVE option for a SAS data set on which an audit trail exists.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1s7u15y8p94dln1fnptje1otrf2\"},{\"name\":\"IN=\",\"optional\":true,\"aliases\":[\"INLIB=\",\"INDD=\"],\"description\":\"names the SAS library containing SAS files to copy.\",\"help\":\"IN=*libref-2*\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"n03o4n19bxo219n1osta27hytr23\"},{\"name\":\"INDEX=\",\"optional\":true,\"description\":\"specifies whether to copy all indexes for a data set\",\"help\":\"INDEX=YES | NO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YES\",\"type\":\"standalone\"},{\"name\":\"NO\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"n0m1mvvqmqxl27n1nwmkk8suzwya\"},{\"name\":\"MEMTYPE=\",\"optional\":true,\"aliases\":[\"MTYPE=\",\"MT=\"],\"description\":\"restricts processing to one or more member types.\",\"help\":\"MEMTYPE=(*member-type(s)*)\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0f2sbsxdgp2n1n1ez5ap3si6y1y\"},{\"name\":\"MOVE\",\"optional\":true,\"description\":\"moves SAS files from the input data library to the output data library.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p02xp4wrmvgujen1b41v1h1jumw4\"},{\"name\":\"ALTER=\",\"optional\":true,\"description\":\"provides the Alter password for any alter-protected SAS files that you are moving from one data library to another. Because the MOVE option deletes the SAS file from the original data library, you need Alter access to move the SAS file.\",\"help\":\"ALTER=*alter-password*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p00256cgymklc5n1s8b3atct24pp\"},{\"name\":\"OVERRIDE=\",\"optional\":true,\"description\":\"overrides specified output data set options copied from the input data set.\",\"help\":\"OVERRIDE=(*ds-option-1=value-1                                                   &lt;ds-option-2=value-2&gt;*                                                 ...)\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0v3gy461icjfkn1g4ql9v3unec5\"}],\"supportSiteTargetFile\":\"n1rlyejykc3ggqn1j9qb2dolzccv.htm\"},{\"name\":\"ATTRIB\",\"description\":\"Associates a format, informat, label, and length with one or more variables.\",\"help\":\"ATTRIB  *variable-list(s)**attribute-list(s)*;\",\"arguments\":[{\"name\":\"variable-list\",\"optional\":true,\"placeholder\":true,\"description\":\"names the variables that you want to associate with the attributes.\",\"help\":\"*variable-list(s)*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1nd0mq22iu6ovn14mz1ot1hwcjib\"},{\"name\":\"FORMAT=\",\"description\":\"associates a format with variables in variable-list.\",\"help\":\"FORMAT=*format*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p08pt9ce6bhq86n18a3zcc97bldzb\"},{\"name\":\"INFORMAT=\",\"description\":\"associates an informat with variables in variable-list.\",\"help\":\"INFORMAT=*informat*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n136glco6ritqdn160792yhk9mv1b\"},{\"name\":\"LABEL=\",\"description\":\"associates a label with variables in variable-list.\",\"help\":\"LABEL='*label*' \",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0a9x9io5pi05mn1i4p2cphc7t0nb\"}],\"supportSiteTargetFile\":\"n04pixwhr1atzln1dow0e10lyibsb.htm\"},{\"name\":\"EXCLUDE\",\"description\":\"Excludes SAS files from copying.\",\"help\":\"EXCLUDE *SAS-file(s)*&lt;/ MEMTYPE=*member-type*&gt;;\",\"arguments\":[{\"name\":\"SAS-file\",\"placeholder\":true,\"description\":\"specifies one or more SAS files to exclude from the copy operation. All SAS files you name in the EXCLUDE statement must be in the library that is specified in the IN= option in the COPY statement. If the SAS files are generation groups, the EXCLUDE statement allows only selection of the base versions.\",\"help\":\"*SAS-file(s)*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0a3x8jllskic7n1bgb7jrh6gpwm\"},{\"name\":\"MEMTYPE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"MTYPE=\",\"MT=\"],\"description\":\"restricts processing to one member type. You can use the option either in parentheses after the name of each SAS file or after a forward slash.\",\"help\":\"MEMTYPE=*member-type*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0v36oxx5wgxg7n1ilxtgh7jrm45\"}],\"supportSiteTargetFile\":\"p1jj27rd4c52nmn1lds6mzouzfc2.htm\"},{\"name\":\"FORMAT\",\"description\":\"Associates formats with variables.\",\"help\":\"FORMAT *variable-1*&lt; ...*variable-n*&gt;*format**variable-1*&lt; ...*variable-n*&gt;*format*;\",\"arguments\":[{\"name\":\"variable\",\"optional\":true,\"placeholder\":true,\"description\":\"names one or more variables for SAS to associate with a format. You must specify at least one variable.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1d0cionbspk2tn1ma0m6kjd1ntxb\"},{\"name\":\"format\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the format that is listed for writing the values of the variables.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n15nxwcex8m202n1dp4xwbds95t9b\"}],\"supportSiteTargetFile\":\"p02hzcxsifsk8dn1a53t49zqd82cb.htm\"},{\"name\":\"LABEL\",\"description\":\"Assigns descriptive labels to variables.\",\"help\":\"LABEL variable-1 = 'text-string' < ...variable-n = 'text-string'>;\\nLABEL variable-1 = ' ' < ...variable-n=’ ‘>; | variable-1 = < ...variable-n= >;\",\"arguments\":[{\"name\":\"text-string\",\"placeholder\":true,\"description\":\"specifies a label of up to 256 bytes.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n09u0k5ydxzgr3n1dfznhvex7uuob\"},{\"name\":\"'\",\"placeholder\":true,\"description\":\"removes a label from a variable. Enclose a single blank space in quotation marks to remove an existing label. You can remove labels from multiple variables in a single LABEL statement:\",\"help\":\"*' '*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1dl99omzes92cn1typpf6yl1ng0b\"}],\"supportSiteTargetFile\":\"p1s0j2pii3oj7fn1f87s02j4zo52b.htm\"},{\"name\":\"SELECT\",\"description\":\"Selects SAS files for copying.\",\"help\":\"SELECT SAS-file(s)\\n</ <ENCRYPTKEY=key-value> <ALTER=alter-password>  <MEMTYPE=member-type>>; \",\"arguments\":[{\"name\":\"SAS-file\",\"placeholder\":true,\"description\":\"specifies one or more SAS files that you want to copy. All of the SAS files that you name must be in the data library that is referenced by the libref named in the IN= option in the COPY statement. If the SAS files have generation groups, all the generations are copied because the SELECT statement does not allow you to select specific versions.\",\"help\":\"*SAS-file(s)*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0bws26ewpf0rtn1aufdz62fuqtm\"},{\"name\":\"ALTER=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"provides the Alter password for any alter-protected SAS files that you are moving from one data library to another. Because you are moving and thus deleting a SAS file from a SAS library, you need Alter access. You can use the option either in parentheses after the name of each SAS file or after a forward slash.\",\"help\":\"ALTER=*alter-password*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0fqmyta259rjln1dikbfrnqeskd\"},{\"name\":\"ENCRYPTKEY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the key value for AES encryption.\",\"help\":\"ENCRYPTKEY=*key-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1rqbowlupsrfvn1o9zcyxntjapy\"},{\"name\":\"MEMTYPE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"MTYPE=\",\"MT=\"],\"description\":\"restricts processing to one member type. You can use the option either in parentheses after the name of each SAS file or after a forward slash.\",\"help\":\"MEMTYPE=*member-type*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0pvsn4toxrtntn13zp95hwxe5m9\"}],\"supportSiteTargetFile\":\"n0hr91w8lbf9ugn13k9wj1br4qoa.htm\"},{\"name\":\"WHERE\",\"description\":\"Subsets the input data set by specifying certain conditions that each observation must meet before it is available for processing.\",\"help\":\"WHERE where-expression-1\\n<logical-operator where-expression-n>; \",\"arguments\":[{\"name\":\"where-expression\",\"optional\":true,\"placeholder\":true,\"description\":\"is an arithmetic or logical expression that generally consists of a sequence of operands and operators.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p04iz9sx1znb6en1ptu9o3h9ns07b\"},{\"name\":\"logical-operator\",\"optional\":true,\"placeholder\":true,\"description\":\"can be AND, AND NOT, OR, or OR NOT.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0xd4nxmu81y3rn1lzcij1t759lnb\"}],\"supportSiteTargetFile\":\"n0yu3xyqnznndnn0z1v515xzfebob.htm\"}],\"supportSiteInformation\":{\"docsetId\":\"proc\",\"docsetVersion\":\"v_002\",\"docsetTargetFile\":\"p04y85z9f13uaan10s1k40ptx6gs.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/CORR.json",
    "content": "{\"name\":\"CORR\",\"statements\":[{\"name\":\"PROC CORR\",\"description\":\"The CORR procedure computes Pearson correlation coefficients, three nonparametric measures of association, and the probabilities associated with these statistics. The correlation statistics include the following: † o Pearson product-moment correlation o Spearman rank-order correlation o Kendall’s tau-b coefficient o Hoeffding’s measure of dependence, D o Pearson, Spearman, and Kendall partial correlation\",\"help\":\"PROC CORR <ALPHA><BEST=n><BIASADJ=YES | NO><COV><CSSCP><DATA=SAS-data-set><EXCLNPWGT><FISHER <(fisher-options)>><HOEFFDING><KENDALL><NOCORR><NOMISS><NOPRINT><NOPROB><NOSIMPLE><OUTH=output-data-set><OUTK=output-data-set><OUTP=output-data-set><OUTS=SAS-data-set><PEARSON><PLOTS=ALL | MATRIX | NONE... ><RANK><SINGULAR=p><SPEARMAN><SSCP><TYPE=LOWER | UPPER | TWOSIDED><VARDEF=DF | N | WDF... >;     \\n\\tBY <DESCENDING><NOTSORTED> ;\\n\\n\\tFREQ variable;\\n\\n\\tID variable(s);\\n\\n\\tPARTIAL variable(s);\\n\\n\\tVAR variable(s);\\n\\n\\tWEIGHT variable </ option> ;\\n\\n\\tWITH variable(s);\\n\",\"arguments\":[{\"name\":\"ALPHA\",\"optional\":true,\"description\":\"Calculates and prints Cronbach’s coefficient α.\",\"type\":\"standalone\"},{\"name\":\"BEST=\",\"optional\":true,\"description\":\"Prints the n highest correlation coefficients for each variable, n ≥ 1.\",\"help\":\"BEST=*n*\",\"type\":\"value\"},{\"name\":\"BIASADJ=\",\"optional\":true,\"description\":\"Specifies whether or not the bias adjustment is used in constructing confidence limits.\",\"help\":\"BIASADJ=YES | NO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YES\",\"description\":\"Specifies that the bias adjustment is used in constructing confidence limits.\",\"type\":\"standalone\"},{\"name\":\"NO\",\"description\":\"Specifies that the bias adjustment is not used in constructing confidence limits.\",\"type\":\"standalone\"}]},{\"name\":\"COV\",\"optional\":true,\"description\":\"Displays the variance and covariance matrix.\",\"type\":\"standalone\"},{\"name\":\"CSSCP\",\"optional\":true,\"description\":\"Displays a table of the corrected sums of squares and crossproducts.\",\"type\":\"standalone\"},{\"name\":\"DATA=\",\"optional\":true,\"description\":\"Names the SAS data set to be analyzed by PROC CORR.\",\"help\":\"DATA=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"EXCLNPWGT\",\"optional\":true,\"aliases\":[\"EXCLNPWGTS\"],\"description\":\"Excludes observations with nonpositive weight values from the analysis.\",\"type\":\"standalone\"},{\"name\":\"FISHER\",\"optional\":true,\"description\":\"Requests use of Fisher’s transformation. The following fisher-options are available: ALPHA= specifies the level of the confidence limits for the correlation, 100(1-α)%. The value of the ALPHA= option must be between 0 and 1, and the default is ALPHA=0.05. BIASADJ=YES | NO specifies whether or not the bias adjustment is used in constructing confidence limits. RHO0=ρ0 specifies the value ρ0 in the null hypothesis Ho: ρ=ρ0, where -1 < ρ0 < 1. By default, RHO0=0.\",\"type\":\"standalone\"},{\"name\":\"HOEFFDING\",\"optional\":true,\"description\":\"Requests a table of Hoeffding’s statistics.\",\"type\":\"standalone\"},{\"name\":\"KENDALL\",\"optional\":true,\"description\":\"Requests a table of Kendall’s τ-b coefficients based on the number of concordant and discordant pairs of observations.\",\"type\":\"standalone\"},{\"name\":\"NOCORR\",\"optional\":true,\"description\":\"Suppresses displaying of Pearson correlations.\",\"type\":\"standalone\"},{\"name\":\"NOMISS\",\"optional\":true,\"description\":\"Excludes observations with missing values from the analysis.\",\"type\":\"standalone\"},{\"name\":\"NOPRINT\",\"optional\":true,\"description\":\"Suppresses all displayed output, which also includes output produced with ODS Graphics.\",\"type\":\"standalone\"},{\"name\":\"NOPROB\",\"optional\":true,\"description\":\"Suppresses displaying the probabilities associated with each correlation coefficient.\",\"type\":\"standalone\"},{\"name\":\"NOSIMPLE\",\"optional\":true,\"description\":\"Suppresses printing simple descriptive statistics for each variable.\",\"type\":\"standalone\"},{\"name\":\"OUTH=\",\"optional\":true,\"description\":\"Creates an output data set containing Hoeffding’s statistics.\",\"help\":\"OUTH=*output-data-set*\",\"type\":\"dataSet\"},{\"name\":\"OUTK=\",\"optional\":true,\"description\":\"Creates an output data set containing Kendall correlation statistics.\",\"help\":\"OUTK=*output-data-set*\",\"type\":\"dataSet\"},{\"name\":\"OUTP=\",\"optional\":true,\"aliases\":[\"OUT=\"],\"description\":\"Creates an output data set containing Pearson correlation statistics.\",\"help\":\"OUTP=*output-data-set*\",\"type\":\"dataSet\"},{\"name\":\"OUTS=\",\"optional\":true,\"description\":\"Creates an output data set containing Spearman correlation coefficients.\",\"help\":\"OUTS=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"PEARSON\",\"optional\":true,\"description\":\"Requests a table of Pearson product-moment correlations. The correlations range from -1 to 1.\",\"type\":\"standalone\"},{\"name\":\"PLOTS=\",\"optional\":true,\"description\":\"Syntax: PLOTS<(ONLY)><= plot-request> PLOTS <(ONLY)><=(plot-request < ...plot-request> ) > Requests statistical graphics via the Output Delivery System (ODS. The global plot option ONLY suppresses the default plots, and only plots specifically requested are displayed. The plot request options include the following: ALL produces all appropriate plots. MATRIX <( matrix-options )> requests a scatter plot matrix for variables. The available matrix-options are as follows: HIST | HISTOGRAM displays histograms of variables in the VAR list in the symmetric matrix plot. NVAR=ALL | n specifies the maximum number of variables in the VAR list to be displayed in the matrix plot, where n > 0. The NVAR=ALL option uses all variables in the VAR list. By default, NVAR=5. NWITH=ALL | n specifies the maximum number of variables in the WITH list to be displayed in the matrix plot, where n > 0. The NWITH=ALL option uses all variables in the WITH list. By default, NWITH=5. NONE suppresses all plots. SCATTER <( scatter-options )> requests scatter plots for pairs of variables. The available scatter-options are as follows: ALPHA=α specifies the α values for the confidence or prediction ellipses to be displayed in the scatter plots, where 0 < α < 0. By default, α=0.05. ELLIPSE=PREDICTION | CONFIDENCE | NONE requests prediction ellipses for new observations (ELLIPSE=PREDICTION), confidence ellipses for the mean (ELLIPSE=CONFIDENCE), or no ellipses (ELLIPSE=NONE) to be created in the scatter plots. By default, ELLIPSE=PREDICTION. NOINSET suppresses the default inset of summary information for the scatter plot. NVAR=ALL | n specifies the maximum number of variables in the VAR list to be displayed in the plots, where n > 0. The NVAR=ALL option uses all variables in the VAR list. By default, NVAR=5.\",\"help\":\"PLOTS=ALL | MATRIX | NONE | SCATTER\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ALL\",\"description\":\"Produces all appropriate plots.\",\"type\":\"standalone\"},{\"name\":\"MATRIX\",\"description\":\"Requests a scatter plot matrix for variables. The available matrix-options are as follows: HIST | HISTOGRAM displays histograms of variables in the VAR list in the symmetric matrix plot. NVAR=ALL | n specifies the maximum number of variables in the VAR list to be displayed in the matrix plot, where n > 0. The NVAR=ALL option uses all variables in the VAR list. By default, NVAR=5. NWITH=ALL | n specifies the maximum number of variables in the WITH list to be displayed in the matrix plot, where n > 0. The NWITH=ALL option uses all variables in the WITH list. By default, NWITH=5.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"Suppresses all plots.\",\"type\":\"standalone\"},{\"name\":\"SCATTER\",\"description\":\"Requests scatter plots for pairs of variables. The available scatter-options are as follows: ALPHA=α specifies the α values for the confidence or prediction ellipses to be displayed in the scatter plots, where 0 < α < 0. For each α value specified, a (1 - α) confidence or prediction ellipse is created. By default, α=0.05. ELLIPSE=PREDICTION | CONFIDENCE | NONE requests prediction ellipses for new observations (ELLIPSE=PREDICTION), confidence ellipses for the mean (ELLIPSE=CONFIDENCE), or no ellipses (ELLIPSE=NONE) to be created in the scatter plots. By default, ELLIPSE=PREDICTION. NOINSET suppresses the default inset of summary information for the scatter plot. The inset table contains the number of observations (Observations) and correlation. NVAR=ALL | n specifies the maximum number of variables in the VAR list to be displayed in the plots, where n > 0. The NVAR=ALL option uses all variables in the VAR list. By default, NVAR=5. NWITH=ALL | n specifies the maximum number of variables in the WITH list to be displayed in the plots, where n > 0. The NWITH=ALL option uses all variables in the WITH list. By default, NWITH=5.\",\"type\":\"standalone\"}]},{\"name\":\"RANK\",\"optional\":true,\"description\":\"Displays the ordered correlation coefficients for each variable.\",\"type\":\"standalone\"},{\"name\":\"SINGULAR=\",\"optional\":true,\"description\":\"Specifies the criterion for determining the singularity of a variable if you use a PARTIAL statement.\",\"help\":\"SINGULAR=*p*\",\"type\":\"value\"},{\"name\":\"SPEARMAN\",\"optional\":true,\"description\":\"Requests a table of Spearman correlation coefficients based on the ranks of the variables.\",\"type\":\"standalone\"},{\"name\":\"SSCP\",\"optional\":true,\"description\":\"Displays a table of the sums of squares and crossproducts.\",\"type\":\"standalone\"},{\"name\":\"TYPE=\",\"optional\":true,\"description\":\"Specifies the type of confidence limits.\",\"help\":\"TYPE=LOWER | UPPER | TWOSIDED\",\"type\":\"choice\",\"arguments\":[{\"name\":\"LOWER\",\"description\":\"Requests a lower confidence limit from the lower alternative.\",\"type\":\"standalone\"},{\"name\":\"UPPER\",\"description\":\"Requests a upper confidence limit from the upper alternative.\",\"type\":\"standalone\"},{\"name\":\"TWOSIDED\",\"description\":\"Requests two-sided confidence limits from the two-sided alternative.\",\"type\":\"standalone\"}]},{\"name\":\"VARDEF=\",\"optional\":true,\"description\":\"Specifies the divisor to use in the calculation of variances and covariances.\",\"help\":\"VARDEF=DF | N | WDF | WEIGHT|WGT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DF\",\"description\":\"Degrees of freedom\",\"type\":\"standalone\"},{\"name\":\"N\",\"description\":\"Number of observations\",\"type\":\"standalone\"},{\"name\":\"WDF\",\"description\":\"Sum of weights minus one\",\"type\":\"standalone\"},{\"name\":\"WEIGHT\",\"description\":\"Sum of weights\",\"help\":\"WEIGHT|WGT\",\"type\":\"choice\"}]}]},{\"name\":\"BY\",\"description\":\"Obtains separate analyses for each BY group.\",\"help\":\"BY &lt;DESCENDING&gt;&lt;NOTSORTED&gt;\",\"arguments\":[{\"name\":\"DESCENDING\",\"optional\":true,\"description\":\"Specifies that the observations are sorted in descending order by the variable that immediately follows the word DESCENDING in the BY statement.\",\"type\":\"standalone\"},{\"name\":\"NOTSORTED\",\"optional\":true,\"description\":\"Specifies that observations are not necessarily sorted in alphabetic or numeric order.\",\"type\":\"standalone\"}]},{\"name\":\"FREQ\",\"description\":\"Lists a numeric variable whose value represents the frequency of the observation.\",\"help\":\"FREQ variable\"},{\"name\":\"ID\",\"description\":\"Specifies one or more additional tip variables to identify observations in scatter plots and scatter plot.\",\"help\":\"ID variable(s)\"},{\"name\":\"PARTIAL\",\"description\":\"Lists variables to use in the calculation of partial correlation statistics.\",\"help\":\"PARTIAL variable(s)\"},{\"name\":\"VAR\",\"aliases\":[\"VARIABLE\",\"VARIABLES\"],\"description\":\"Lists variables for which to compute correlation coefficients.\",\"help\":\"VAR variable(s)\"},{\"name\":\"WEIGHT\",\"description\":\"Lists weights to use in the calculation of Pearson weighted product-moment correlation.\",\"help\":\"WEIGHT variable &lt;/ option&gt; \"},{\"name\":\"WITH\",\"description\":\"Lists variables with which correlations of the VAR statement variables are to be computed.\",\"help\":\"WITH variable(s)\"}],\"supportSiteInformation\":{\"docsetId\":\"procstat\",\"docsetVersion\":\"v_008\",\"docsetTargetFile\":\"procstat_corr_toc.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/CORRELATION.json",
    "content": "{\"name\":\"CORRELATION\",\"statements\":[{\"name\":\"PROC CORRELATION\",\"description\":\"The CORRELATION procedure computes Pearson correlation coefficients and the probabilities associated with these statistics in SAS Viya. † The Pearson product-moment correlation is a parametric measure of a linear relationship between two variables. When only one set of analysis variables is specified, the default correlation analysis includes descriptive statistics for each analysis variable and pairwise Pearson correlation statistics for these variables. When two sets of analysis variables are specified, the default correlation analysis includes descriptive statistics for each analysis variable and pairwise Pearson correlation statistics between the two sets of variables. When the relationship between two variables is nonlinear or when outliers are present, the correlation coefficient might incorrectly estimate the strength of the relationship.\",\"help\":\"PROC CORRELATION <ALPHA><BEST=n><COV><CSSCP><DATA=CAS-libref.data-table><EXCLNPWGT><NOCORR><NOMISS><NOPROB><NOSIMPLE><OUTP=CAS-libref.data-table><RANK><SSCP><VARDEF=DF | N | WDF... >;     \\n\\tBY <DESCENDING><NOTSORTED> ;\\n\\n\\tDISPLAY <CASESENSITIVE><EXCLUDE><EXCLUDEALL> ...;\\n\\n\\tDISPLAYOUT <INCLUDEALL><NOREPLACE><REPEATED> ...;\\n\\n\\tFREQ variable;\\n\\n\\tVAR variables;\\n\\n\\tWEIGHT variable;\\n\\n\\tWITH variables;\\n\",\"arguments\":[{\"name\":\"ALPHA\",\"optional\":true,\"description\":\"Calculates and prints Cronbach’s coefficient alpha. PROC CORRELATION computes separate coefficients using raw and standardized values (scaling the variables to a unit variance of 1). For each VAR statement variable, PROC CORRELATION computes the correlation between the variable and the total of the remaining variables. It also computes Cronbach’s coefficient alpha by using only the remaining variables.\",\"type\":\"standalone\"},{\"name\":\"BEST=\",\"optional\":true,\"description\":\"Prints the n highest correlation coefficients for each variable, n ≥ 1. Correlations are ordered from highest to lowest in absolute value. Otherwise, PROC CORRELATION prints correlations in a rectangular table, using the variable names as row and column labels.\",\"help\":\"BEST=*n*\",\"type\":\"value\"},{\"name\":\"COV\",\"optional\":true,\"description\":\"Displays the variance and covariance matrix. When you specify the COV option, the Pearson correlations will also be displayed. If you specify the OUTP= option, the output data table also contains the covariance matrix with the corresponding _TYPE_ variable value 'COV.'\",\"type\":\"standalone\"},{\"name\":\"CSSCP\",\"optional\":true,\"description\":\"Displays a table of the corrected sums of squares and crossproducts.\",\"type\":\"standalone\"},{\"name\":\"DATA=\",\"optional\":true,\"description\":\"Names the input data table for PROC CORRELATION to use. The default is the most recently created data table. CAS-libref.data-table is a two-level name, where CAS-libref refers to a collection of information that is defined in the LIBNAME statement and includes the caslib, which includes a path to the data, and a session identifier, which defaults to the active session but which can be explicitly defined in the LIBNAME statement.\",\"help\":\"DATA=*CAS-libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"EXCLNPWGT\",\"optional\":true,\"aliases\":[\"EXCLNPWGTS\"],\"description\":\"Excludes observations with nonpositive weight values from the analysis. By default, PROC CORRELATION treats observations with negative weights like those with zero weights and counts them in the total number of observations.\",\"type\":\"standalone\"},{\"name\":\"NOCORR\",\"optional\":true,\"description\":\"Suppresses displaying of Pearson correlations.\",\"type\":\"standalone\"},{\"name\":\"NOMISS\",\"optional\":true,\"description\":\"Excludes observations with missing values from the analysis.\",\"type\":\"standalone\"},{\"name\":\"NOPROB\",\"optional\":true,\"description\":\"Suppresses displaying the probabilities associated with each correlation coefficient.\",\"type\":\"standalone\"},{\"name\":\"NOSIMPLE\",\"optional\":true,\"description\":\"Suppresses printing simple descriptive statistics for each variable.\",\"type\":\"standalone\"},{\"name\":\"OUTP=\",\"optional\":true,\"description\":\"Creates an output data table that contains Pearson correlation statistics. CAS-libref specifies the CAS library where the output data table is to be created, and data-table specifies the name of the output data table. This data table also includes means, standard deviations, and the number of observations. If you specify the ALPHA option, the output data table also contains six observations with Cronbach’s coefficient alpha.\",\"help\":\"OUTP=*CAS-libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"RANK\",\"optional\":true,\"description\":\"Displays the ordered correlation coefficients for each variable. Correlations are ordered from highest to lowest in absolute value.\",\"type\":\"standalone\"},{\"name\":\"SSCP\",\"optional\":true,\"description\":\"Displays a table of the sums of squares and crossproducts.\",\"type\":\"standalone\"},{\"name\":\"VARDEF=\",\"optional\":true,\"description\":\"Specifies the variance divisor in the calculation of variances and covariances. The default is VARDEF=DF.\",\"help\":\"VARDEF=DF | N | WDF | WEIGHT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DF\",\"description\":\"Degrees of freedom\",\"type\":\"standalone\"},{\"name\":\"N\",\"description\":\"Number of observations\",\"type\":\"standalone\"},{\"name\":\"WDF\",\"description\":\"Sum of weights minus one\",\"type\":\"standalone\"},{\"name\":\"WEIGHT\",\"aliases\":[\"WGT\"],\"description\":\"Sum of weights\",\"type\":\"standalone\"}]}]},{\"name\":\"BY\",\"description\":\"You can specify a BY statement in PROC CORRELATION to obtain separate analyses of observations in groups that are defined by the values of the BY variables. If you specify more than one BY statement, only the last one specified is used.\",\"help\":\"BY &lt;DESCENDING&gt;&lt;NOTSORTED&gt;\",\"arguments\":[{\"name\":\"DESCENDING\",\"optional\":true,\"description\":\"Specifies that the observations are sorted in descending order by the variable that immediately follows the word DESCENDING in the BY statement.\",\"type\":\"standalone\"},{\"name\":\"NOTSORTED\",\"optional\":true,\"description\":\"Specifies that observations are not necessarily sorted in alphabetic or numeric order.\",\"type\":\"standalone\"}]},{\"name\":\"DISPLAY\",\"description\":\"The DISPLAY statement enables you to specify a list of display tables to display or exclude. This statement is similar to the ODS SELECT, ODS EXCLUDE, and ODS TRACE statements. However, the DISPLAY statement can improve performance when a large number of tables could be generated (such as in BY-group processing). The procedure processes the DISPLAY statement on a CAS server and thus sends only a subset of ODS tables to the SAS client. Because ODS statements are processed on a SAS client, all the display tables generated are first sent to the client and then the client creates a subset. If both DISPLAY and ODS statements are used together, the DISPLAY statement takes precedence over the ODS statements.\",\"help\":\"DISPLAY &lt;CASESENSITIVE&gt;&lt;EXCLUDE&gt;&lt;EXCLUDEALL&gt; ...\",\"arguments\":[{\"name\":\"CASESENSITIVE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Performs a case-sensitive comparison of table names in the table-list to display table names when tables are subsetted for display. To preserve case, you must enclose table names in the table-list in quotation marks.\",\"type\":\"standalone\"},{\"name\":\"EXCLUDE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays all display tables except those specified in the table-list.\",\"type\":\"standalone\"},{\"name\":\"EXCLUDEALL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Suppresses display of all tables. This option takes precedence over the other options.\",\"type\":\"standalone\"},{\"name\":\"TRACE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays the display table names, labels, and paths.\",\"type\":\"standalone\"}]},{\"name\":\"DISPLAYOUT\",\"description\":\"The DISPLAYOUT statement enables you to create CAS output tables from your displayed output. This statement is similar to the ODS OUTPUT statement. The table-spec-list specifies a list of CAS output tables to create. Each entry in the list has either a key or a key=value format: key=value specifies key as the ODS table name, path, or partial pathname, and specifies value as the CAS output table name. key specifies key as the ODS table name and also as the CAS output table name. Table names and partial pathnames are discussed under the DISPLAY statement. The DISPLAYOUT statement does not support regular expressions.\",\"help\":\"DISPLAYOUT &lt;INCLUDEALL&gt;&lt;NOREPLACE&gt;&lt;REPEATED&gt; ...\",\"arguments\":[{\"name\":\"INCLUDEALL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Creates output CAS tables for all display tables. The name of the created output CAS table is the same as the corresponding display table name. If you specify this option, the table-spec-list specification is ignored.\",\"type\":\"standalone\"},{\"name\":\"NOREPLACE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Does not replace an existing CAS output table of the same name.\",\"type\":\"standalone\"},{\"name\":\"REPEATED\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Replicates the CAS output tables on all nodes.\",\"type\":\"standalone\"}]},{\"name\":\"FREQ\",\"description\":\"The variable in the FREQ statement identifies a numeric variable in the data set that contains the frequency of occurrence of each observation. PROC CORRELATION treats each observation as if it appears f times, where f is the value of the FREQ variable for the observation. If f is not an integer, it is truncated to an integer. If f is less than 1 or missing, the observation is not used in the analysis. When the FREQ statement is not specified, each observation is assigned a frequency of 1.\",\"help\":\"FREQ variable\"},{\"name\":\"VAR\",\"description\":\"The VAR statement lists variables for which to compute correlation coefficients. If the VAR statement is not specified, PROC CORRELATION computes correlations for all numeric variables not listed in other statements.\",\"help\":\"VAR variables\"},{\"name\":\"WEIGHT\",\"description\":\"The variable in the WEIGHT statement is used in the calculation of Pearson weighted product-moment correlations. The observations with missing weights are excluded from the analysis. By default, for observations with nonpositive weights, weights are set to zero and the observations are included in the analysis. You can use the EXCLNPWGT option to exclude observations with negative or zero weights from the analysis. If a WEIGHT statement is not included, all observations that are used in the analysis are assigned a weight of 1.\",\"help\":\"WEIGHT variable\"},{\"name\":\"WITH\",\"description\":\"The WITH statement lists variables with which correlations of the VAR statement variables are to be computed.\",\"help\":\"WITH variables\"}],\"supportSiteInformation\":{\"docsetId\":\"casstat\",\"docsetVersion\":\"latest\",\"docsetTargetFile\":\"casstat_corr_toc.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/CORRESP.json",
    "content": "{\"name\":\"CORRESP\",\"statements\":[{\"name\":\"PROC CORRESP\",\"description\":\"The CORRESP procedure performs simple correspondence analysis and multiple correspondence analysis (MCA). You can use correspondence analysis to find a low-dimensional graphical representation of the rows and columns of a crosstabulation or contingency table. Each row and column is represented by a point in a plot determined from the cell frequencies. PROC CORRESP can also compute coordinates for supplementary rows and columns. † PROC CORRESP can read two kinds of input: raw categorical responses on two or more classification variables or a two-way contingency table. The correspondence analysis plot is displayed with ODS Graphics.\",\"help\":\"PROC CORRESP <ALL><BENZECRI><BINARY><CELLCHI2><COLUMN=B | BD | DB... ><CP><CROSS=COLUMN|COL | ROW | BOTH|BOT... ><DATA=SAS-data-set><DEVIATION><DIMENS=n><EXPECTED><FREQOUT><GREENACRE><MCA><MININERTIA=n><MISSING><NOCOLUMN=DATA|DAT | PRINT|PRI | BOTH|BOT><NOPRINT><NOROW=DATA|DAT | PRINT|PRI | BOTH|BOT><NVARS=n><OBSERVED><OUTC=SAS-data-set><OUTF=SAS-data-set><><PRINT=BOTH | FREQ | PERCENT><PROFILE=COLUMN|COL | ROW | BOTH|BOT... ><ROW=A | AD | DA... ><RP><SHORT><SINGULAR=n><SOURCE><UNADJUSTED>;     \\n\\tBY <DESCENDING><NOTSORTED> ;\\n\\n\\tID variable ;\\n\\n\\tSUPPLEMENTARY variables ;\\n\\n\\tTABLES <row-variables,> column-variables ;\\n\\n\\tVAR variables ;\\n\\n\\tWEIGHT variable;\\n\",\"arguments\":[{\"name\":\"ALL\",\"optional\":true,\"description\":\"Is equivalent to specifying the OBSERVED, RP, CP, CELLCHI2, EXPECTED, and DEVIATION options.\",\"type\":\"standalone\"},{\"name\":\"BENZECRI\",\"optional\":true,\"aliases\":[\"BEN\"],\"description\":\"Displays adjusted inertias when performing multiple correspondence analysis.\",\"type\":\"standalone\"},{\"name\":\"BINARY\",\"optional\":true,\"description\":\"Enables you to create binary tables easily. When you specify the BINARY option, specify only column variables in the TABLES statement. Each input data set observation forms a single row in the constructed table.\",\"type\":\"standalone\"},{\"name\":\"CELLCHI2\",\"optional\":true,\"aliases\":[\"CEL\"],\"description\":\"Displays the contribution to the total chi-square test statistic for each cell.\",\"type\":\"standalone\"},{\"name\":\"COLUMN=\",\"optional\":true,\"aliases\":[\"COL=\"],\"description\":\"Provides other standardizations of the column coordinates. The COLUMN= option is rarely needed. Typically, you should use the PROFILE= option instead.\",\"help\":\"COLUMN=B | BD | DB | DBD | DBD1/2 | DBID1/2\",\"type\":\"choice\",\"arguments\":[{\"name\":\"B\",\"description\":\"Matrix formula B\",\"type\":\"standalone\"},{\"name\":\"BD\",\"description\":\"Matrix formula BDu\",\"type\":\"standalone\"},{\"name\":\"DB\",\"description\":\"Matrix formula Dc⁻¹B\",\"type\":\"standalone\"},{\"name\":\"DBD\",\"description\":\"Matrix formula Dc⁻¹BDu\",\"type\":\"standalone\"},{\"name\":\"DBD1/2\",\"description\":\"Matrix formula Dc⁻¹BDu^1/2\",\"type\":\"standalone\"},{\"name\":\"DBID1/2\",\"description\":\"Matrix formula Dc⁻¹B(I+Du)^1/2\",\"type\":\"standalone\"}]},{\"name\":\"CP\",\"optional\":true,\"description\":\"Displays the column profile matrix. Column profiles contain the observed conditional probabilities of row membership given column membership.\",\"type\":\"standalone\"},{\"name\":\"CROSS=\",\"optional\":true,\"aliases\":[\"CRO=\"],\"description\":\"Specifies the method of crossing (factorially combining) the levels of the TABLES variables.\",\"help\":\"CROSS=COLUMN | ROW | BOTH | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"COLUMN\",\"aliases\":[\"COL\"],\"description\":\"Causes each combination of levels for all column variables to become a column label, whereas each level of every row variable becomes a row label.\",\"type\":\"standalone\"},{\"name\":\"ROW\",\"description\":\"Causes each combination of levels for all row variables to become a row label, whereas each level of every column variable becomes a column label.\",\"type\":\"standalone\"},{\"name\":\"BOTH\",\"aliases\":[\"BOT\"],\"description\":\"Causes each combination of levels for all row variables to become a row label and each combination of levels for all column variables to become a column label.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"aliases\":[\"NON\"],\"description\":\"Causes each level of every row variable to become a row label and each level of every column variable to become a column label.\",\"type\":\"standalone\"}]},{\"name\":\"DATA=\",\"optional\":true,\"description\":\"Specifies the SAS data set to be used by PROC CORRESP.\",\"help\":\"DATA=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"DEVIATION\",\"optional\":true,\"aliases\":[\"DEV\"],\"description\":\"Displays the matrix of deviations between the observed frequency matrix and the product of its row marginals and column marginals divided by its grand frequency.\",\"type\":\"standalone\"},{\"name\":\"DIMENS=\",\"optional\":true,\"aliases\":[\"DIM=\"],\"description\":\"Specifies the number of dimensions or axes to use. The default is DIMENS=2.\",\"help\":\"DIMENS=*n*\",\"type\":\"value\"},{\"name\":\"EXPECTED\",\"optional\":true,\"aliases\":[\"EXP\"],\"description\":\"Displays the product of the row marginals and the column marginals divided by the grand frequency of the observed frequency table.\",\"type\":\"standalone\"},{\"name\":\"FREQOUT\",\"optional\":true,\"aliases\":[\"FRE\"],\"description\":\"Indicates that the PROC CORRESP input data set has the same form as an output data set from the FREQ procedure, even if it was not directly produced by PROC FREQ. The FREQOUT option enables PROC CORRESP to take shortcuts in constructing the contingency table.\",\"type\":\"standalone\"},{\"name\":\"GREENACRE\",\"optional\":true,\"aliases\":[\"GRE\"],\"description\":\"Displays adjusted inertias when you are performing multiple correspondence analysis.\",\"type\":\"standalone\"},{\"name\":\"MCA\",\"optional\":true,\"description\":\"Requests a multiple correspondence analysis.\",\"type\":\"standalone\"},{\"name\":\"MININERTIA=\",\"optional\":true,\"aliases\":[\"MIN=\"],\"description\":\"Specifies the minimum inertia (0 ≤ n ≤ 1) used to create the \\\"best\\\" tables—the indicator of which points best explain the inertia of each dimension.\",\"help\":\"MININERTIA=*n*\",\"type\":\"value\"},{\"name\":\"MISSING\",\"optional\":true,\"description\":\"Specifies that observations with missing values for the TABLES statement variables are included in the analysis. Missing values are treated as a distinct level of each categorical variable.\",\"type\":\"standalone\"},{\"name\":\"NOCOLUMN=\",\"optional\":true,\"aliases\":[\"NOC=\"],\"description\":\"Suppresses the display of the column coordinates and statistics and omits them from the output coordinate data set.\",\"help\":\"NOCOLUMN=DATA | PRINT | BOTH\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DATA\",\"aliases\":[\"DAT\"],\"description\":\"Suppresses all column information from the output data set.\",\"type\":\"standalone\"},{\"name\":\"PRINT\",\"aliases\":[\"PRI\"],\"description\":\"Suppresses all column information from the SAS listing.\",\"type\":\"standalone\"},{\"name\":\"BOTH\",\"aliases\":[\"BOT\"],\"description\":\"Suppresses all column information from both the SAS listing and the output data set.\",\"type\":\"standalone\"}]},{\"name\":\"NOPRINT\",\"optional\":true,\"aliases\":[\"NOP\"],\"description\":\"Suppresses the display of all output.\",\"type\":\"standalone\"},{\"name\":\"NOROW=\",\"optional\":true,\"aliases\":[\"NOR=\"],\"description\":\"Suppresses the display of the row coordinates and statistics and omits them from the output coordinate data set.\",\"help\":\"NOROW=DATA | PRINT | BOTH\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DATA\",\"aliases\":[\"DAT\"],\"description\":\"Suppresses all row information from the output data set.\",\"type\":\"standalone\"},{\"name\":\"PRINT\",\"aliases\":[\"PRI\"],\"description\":\"Suppresses all row information from the SAS listing.\",\"type\":\"standalone\"},{\"name\":\"BOTH\",\"aliases\":[\"BOT\"],\"description\":\"Suppresses all row information from both the SAS listing and the output data set.\",\"type\":\"standalone\"}]},{\"name\":\"NVARS=\",\"optional\":true,\"aliases\":[\"NVA=\"],\"description\":\"Specifies the number of classification variables that were used to create the Burt table.\",\"help\":\"NVARS=*n*\",\"type\":\"value\"},{\"name\":\"OBSERVED\",\"optional\":true,\"aliases\":[\"OBS\"],\"description\":\"Displays the contingency table of observed frequencies and its row, column, and grand totals.\",\"type\":\"standalone\"},{\"name\":\"OUTC=\",\"optional\":true,\"aliases\":[\"OUT=\"],\"description\":\"Creates an output coordinate SAS data set to contain the row, column, supplementary observation, and supplementary variable coordinates.\",\"help\":\"OUTC=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"OUTF=\",\"optional\":true,\"description\":\"Creates an output frequency SAS data set to contain the contingency table, row, and column profiles, the expected values, and the observed minus expected values and contributions to the chi-square statistic.\",\"help\":\"OUTF=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"PLOTS=\",\"optional\":true,\"description\":\"Specifies options that control the details of the plots. Syntax: (1) PLOTS<(global-plot-options)> <= plot-request <(options)>> (2) PLOTS<(global-plot-options)> <= (plot-request <(options)> <... plot-request <(options)>>)> The global plot option is as follows: FLIP FLI flips or interchanges the X-axis and Y-axis dimensions. The plot requests include the following: ALL produces all appropriate plots.\",\"help\":\"PLOTS=ALL | CONFIGURATION | INERTIA | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ALL\",\"description\":\"Produces all appropriate plots.\",\"type\":\"standalone\"},{\"name\":\"CONFIGURATION\",\"aliases\":[\"CONFIG\",\"CON\"],\"description\":\"Produces the configuration plot.\",\"type\":\"standalone\"},{\"name\":\"INERTIA\",\"aliases\":[\"INE\"],\"description\":\"Produces an inertia decomposition chart and specifies inertia-options.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"aliases\":[\"NON\"],\"description\":\"Suppresses all plots.\",\"type\":\"standalone\"}]},{\"name\":\"PRINT=\",\"optional\":true,\"aliases\":[\"PRI=\"],\"description\":\"Affects the OBSERVED, RP, CP, CELLCHI2, EXPECTED, and DEVIATION options. The default is PRINT=FREQ.\",\"help\":\"PRINT=BOTH | FREQ | PERCENT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"BOTH\",\"description\":\"Displays both percentages and frequencies.\",\"type\":\"standalone\"},{\"name\":\"FREQ\",\"description\":\"Displays output in the appropriate raw or natural units.\",\"type\":\"standalone\"},{\"name\":\"PERCENT\",\"description\":\"Scales results to percentages for the display of the output.\",\"type\":\"standalone\"}]},{\"name\":\"PROFILE=\",\"optional\":true,\"aliases\":[\"PRO=\"],\"description\":\"[plot request] Specifies the method of crossing (factorially combining) the levels of the TABLES variables.\",\"help\":\"PROFILE=COLUMN | ROW | BOTH | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"COLUMN\",\"aliases\":[\"COL\"],\"description\":\"Specifies a correspondence analysis of the column profile matrix. The column coordinates are weighted centroids of the row coordinates.\",\"type\":\"standalone\"},{\"name\":\"ROW\",\"description\":\"Specifies a correspondence analysis of the row profile matrix. The row coordinates are weighted centroids of the column coordinates.\",\"type\":\"standalone\"},{\"name\":\"BOTH\",\"aliases\":[\"BOT\"],\"description\":\"Specifies a standard correspondence analysis, which jointly displays the principal row and column coordinates.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"aliases\":[\"NON\"],\"description\":\"Is rarely needed. Row and column coordinates are the generalized singular vectors, without the customary standardizations.\",\"type\":\"standalone\"}]},{\"name\":\"ROW=\",\"optional\":true,\"description\":\"[plot request] Provides other standardizations of the row coordinates.\",\"help\":\"ROW=A | AD | DA | DAD | DAD1/2 | DAID1/2\",\"type\":\"choice\",\"arguments\":[{\"name\":\"A\",\"description\":\"Matrix formula A\",\"type\":\"standalone\"},{\"name\":\"AD\",\"description\":\"Matrix formula ADu\",\"type\":\"standalone\"},{\"name\":\"DA\",\"description\":\"Matrix formula (Dc)⁻¹1A\",\"type\":\"standalone\"},{\"name\":\"DAD\",\"description\":\"Matrix formula (Dc)⁻¹1ADu\",\"type\":\"standalone\"},{\"name\":\"DAD1/2\",\"description\":\"Matrix formula (Dc)⁻¹ADu^1/2\",\"type\":\"standalone\"},{\"name\":\"DAID1/2\",\"description\":\"Matrix formula (Dc)⁻¹A(I+Du)^1/2\",\"type\":\"standalone\"}]},{\"name\":\"RP\",\"optional\":true,\"description\":\"Displays the row profile matrix. Row profiles contain the observed conditional probabilities of column membership given row membership.\",\"type\":\"standalone\"},{\"name\":\"SHORT\",\"optional\":true,\"aliases\":[\"SHO\"],\"description\":\"Suppresses the display of all point and coordinate statistics except the coordinates.\",\"type\":\"standalone\"},{\"name\":\"SINGULAR=\",\"optional\":true,\"aliases\":[\"SIN=\"],\"description\":\"Specifies the largest value that is considered to be within rounding error of zero.\",\"help\":\"SINGULAR=*n*\",\"type\":\"value\"},{\"name\":\"SOURCE\",\"optional\":true,\"aliases\":[\"SOU\"],\"description\":\"Adds the variable _VAR_, which contains the name or label of the variable corresponding to the current level, to the OUTC= and OUTF= data sets.\",\"type\":\"standalone\"},{\"name\":\"UNADJUSTED\",\"optional\":true,\"aliases\":[\"UNA\"],\"description\":\"Displays unadjusted inertias when performing multiple correspondence analysis.\",\"type\":\"standalone\"}]},{\"name\":\"BY\",\"description\":\"Obtains separate analyses on observations in groups defined by the BY variables.\",\"help\":\"BY &lt;DESCENDING&gt;&lt;NOTSORTED&gt;\",\"arguments\":[{\"name\":\"DESCENDING\",\"optional\":true,\"description\":\"Specifies that the observations are sorted in descending order by the variable that immediately follows the word DESCENDING in the BY statement.\",\"type\":\"standalone\"},{\"name\":\"NOTSORTED\",\"optional\":true,\"description\":\"Specifies that observations are not necessarily sorted in alphabetic or numeric order.\",\"type\":\"standalone\"}]},{\"name\":\"ID\",\"description\":\"You specify the ID statement only in conjunction with the VAR statement. You cannot specify the ID statement when you use the TABLES statement or the MCA option. When you specify an ID variable, PROC CORRESP labels the rows of the tables with the ID values and places the ID variable in the output data set.\",\"help\":\"ID variable \"},{\"name\":\"SUPPLEMENTARY\",\"aliases\":[\"SUP\",\"SUPVAR\",\"SUPPLEMENTAL\",\"SUPVARS\",\"VARSUP\"],\"description\":\"The SUPPLEMENTARY statement specifies variables that are to be represented as points in the joint row and column space but that are not used in determining the locations of the other, active row and column points of the contingency table.\",\"help\":\"SUPPLEMENTARY variables \"},{\"name\":\"TABLES\",\"aliases\":[\"TABLE\",\"TABEL\",\"TABELS\",\"TAB\"],\"description\":\"The TABLES statement instructs PROC CORRESP to create a contingency table, Burt table, or binary table from the values of two or more categorical variables.\",\"help\":\"TABLES &lt;row-variables,&gt; column-variables \"},{\"name\":\"VAR\",\"aliases\":[\"VARS\",\"VARIABLES\",\"VARIABLE\"],\"description\":\"You should specify the VAR statement when your data are in tabular form. The VAR variables must be numeric. The VAR statement instructs PROC CORRESP to read an existing contingency table, binary indicator matrix, fuzzy-coded indicator matrix, or Burt table, rather than raw data.\",\"help\":\"VAR variables \"},{\"name\":\"WEIGHT\",\"aliases\":[\"WEI\",\"WEIGHTS\"],\"description\":\"The WEIGHT statement specifies weights for each observation and indicates supplementary observations for simple correspondence analyses with VAR statement input. You can include only one WEIGHT statement, and the weight variable must be numeric.\",\"help\":\"WEIGHT variable\"}],\"supportSiteInformation\":{\"docsetId\":\"statug\",\"docsetVersion\":\"latest\",\"docsetTargetFile\":\"statug_corresp_toc.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/COUNTREG.json",
    "content": "{\"name\":\"COUNTREG\",\"statements\":[{\"name\":\"PROC COUNTREG\",\"description\":\"The COUNTREG (count regression) procedure analyzes regression models in which the dependent variable takes nonnegative integer or count values. The dependent variable is usually an event count, which refers to the number of times an event occurs.\",\"help\":\"PROC COUNTREG <ABSCONV= | ABSTOL=r><ABSFCONV=r<n> | ABSFTOL=r<n>><ABSGCONV=r<n> | ABSGTOL=r<n>><ABSXCONV= | ABSXTOL=r<n>><CORRB><COVB><COVEST=OP | HESSIAN | QML><COVOUT><DAMPSTEP | DS <=r>><DATA=SAS-data-set><FCONV2= | FTOL2=r <n>><FCONV=r | FTOL=r><FSIZE=r><GCONV=r | GTOL=r><GROUPID=variable><HESCAL=0 | 1 | 2... ><INHESSIAN<=r>><INSTEP=r><LINESEARCH=1 | 2 | 3... ><LSPRECISION=r | LSP=r | SPRECISION=r | SP=r><MAXFUNC=i | MAXFU=i><MAXITER= | MAXIT=i <n>><MAXSTEP=r<n>><MAXTIME=r><METHOD=CONGRA | DBLDOG | NMSIMP... ><MINITER= | MINIT=i><NONORMALIZE><NOPRINT><OUTEST=SAS-data-set><PALL><PHISTORY><PHISTPARMS><PINIT><PLOTS=ALL | AUTOCORR | BAYESDIAG... ><PSHORT><PSUMMARY><RESTART= | REST=i><RESTORE=item-store-name><SOCKET=><TECHNIQUE=CONGRA | DBLDOG | NMSIMP... ><UPDATE=BFGS | DBFGS | DDFP... ><WMAT=SAS-data-set><XCONV= | XTOL=r <n>><XSIZE=r>;     \\n\\tBAYES <AGGREGATION=<WEIGHTED | NOWEIGHTED>><AUTOMCMC<=(automcmc-options)>><DIAGNOSTICS=<ALL | NONE | <(keyword-list)>>> ...;\\n\\n\\tBOUNDS bound1 <, bound2 ...> ;\\n\\n\\tBY variables ;\\n\\n\\tCLASS <MISSING><ORDER=<DATA | FORMATTED | FREQ>... ><PARAM=<EFFECT | GLM | REFERENCE>> ...;\\n\\n\\tDISPMODEL <SELECT=INFO<(selection-options)> | SELECTVAR=INFO<(selection-options)>> ;\\n\\n\\tFREQ variable ;\\n\\n\\tINIT initvalue1 [<, initvalue2 ...>] ;\\n\\n\\tMODEL <DIST=<COMPOISSON | NEGBIN(P=1) | NEGBIN(P=2)>... ><ERRORCOMP=<FIXED | RANDOM>><NOINT> ...;\\n\\n\\tNLOPTIONS <ABSCONV= | ABSTOL=r><ABSFCONV=r[n] | ABSFTOL=r[n><ABSGCONV=r[n] | ABSGTOL=r[n> ...;\\n\\n\\tOUTPUT <DISPERSION=name><GDELTA=name><LAMBDA=name> ...;\\n\\n\\tPERFORMANCE <DETAILS><NOTHREADS><NTHREADS=number> ...;\\n\\n\\tPRIOR <BETA(SHAPE1=a, SHAPE2=b, MIN=m, MAX=M)><GAMMA(SHAPE=a, SCALE=b)><IGAMMA(SHAPE=a, SCALE=b)> ...;\\n\\n\\tRESTRICT restriction1 <, restriction2 …>;\\n\\n\\tSCORE <DISPERSION=name><GDELTA=name><LAMBDA=name> ...;\\n\\n\\tSHOW <ALL><CLASSLEVELS><CORRELATION> ...;\\n\\n\\tSPATIALDISPEFFECTS <SELECT=INFO<(selection-options)> | SELECTVAR=INFO<(selection-options)>> ;\\n\\n\\tSPATIALEFFECTS <SELECT=INFO<(selection-options)> | SELECTVAR=INFO<(selection-options)>> ;\\n\\n\\tSPATIALID variable;\\n\\n\\tSPATIALZEROEFFECTS <SELECT=INFO<(selection-options)> | SELECTVAR=INFO<(selection-options)>> ;\\n\\n\\tSTORE <OUT=item-store-name> ;\\n\\n\\tTEST <ALL><LM><LR> ...;\\n\\n\\tWEIGHT <NONORMALIZE> ;\\n\\n\\tZEROMODEL <LINK=<LOGISTIC | NORMAL>><OFFSET=variable> ;\\n\",\"arguments\":[{\"name\":\"ABSCONV=\",\"optional\":true,\"aliases\":[\"ABSTOL=\"],\"description\":\"Specifies an absolute function convergence criterion.\",\"type\":\"value\"},{\"name\":\"ABSFCONV=\",\"optional\":true,\"aliases\":[\"ABSFTOL=\"],\"description\":\"Specifies an absolute function difference convergence criterion.\",\"type\":\"value\"},{\"name\":\"ABSGCONV=\",\"optional\":true,\"aliases\":[\"ABSGTOL=\"],\"description\":\"Specifies an absolute gradient convergence criterion. Termination requires the maximum absolute gradient element to be small.\",\"type\":\"value\"},{\"name\":\"ABSXCONV=\",\"optional\":true,\"aliases\":[\"ABSXTOL=\"],\"description\":\"Specifies the absolute parameter convergence criterion. Termination requires a small Euclidean distance between successive parameter vectors.\",\"type\":\"value\"},{\"name\":\"CORRB\",\"optional\":true,\"description\":\"Prints the correlation matrix of the parameter estimates. This option can also be specified in the MODEL statement.\",\"type\":\"standalone\"},{\"name\":\"COVB\",\"optional\":true,\"description\":\"Prints the covariance matrix of the parameter estimates. This option can also be specified in the MODEL statement.\",\"type\":\"standalone\"},{\"name\":\"COVEST=\",\"optional\":true,\"description\":\"Specifies the type of covariance matrix of the parameter estimates. The quasi-maximum likelihood estimates are computed with COVEST=QML. The default is COVEST=HESSIAN.\",\"help\":\"COVEST=OP | HESSIAN | QML\",\"type\":\"choice\",\"arguments\":[{\"name\":\"OP\",\"description\":\"Specifies the covariance from the outer product matrix.\",\"type\":\"standalone\"},{\"name\":\"HESSIAN\",\"description\":\"Specifies the covariance from the Hessian matrix.\",\"type\":\"standalone\"},{\"name\":\"QML\",\"description\":\"Specifies the covariance from the outer product and Hessian matrices.\",\"type\":\"standalone\"}]},{\"name\":\"COVOUT\",\"optional\":true,\"description\":\"Writes the covariance matrix for the parameter estimates to the OUTEST= data set. This option is valid only if the OUTEST= option is specified.\",\"type\":\"standalone\"},{\"name\":\"DAMPSTEP=\",\"optional\":true,\"aliases\":[\"DS=\"],\"description\":\"Specifies that the initial step-size value a⁰ for each line search (used by the QUANEW, CONGRA, or NEWRAP technique) cannot be larger than r times the step-size value used in the former iteration.\",\"type\":\"value\"},{\"name\":\"DATA=\",\"optional\":true,\"description\":\"Specifies the input SAS data set. If the DATA= option is not specified, PROC COUNTREG uses the most recently created SAS data set.\",\"help\":\"DATA=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"FCONV2=\",\"optional\":true,\"aliases\":[\"FTOL2=\"],\"description\":\"Specifies a second function convergence criterion.\",\"type\":\"value\"},{\"name\":\"FCONV=\",\"optional\":true,\"aliases\":[\"FTOL=\"],\"description\":\"Specifies the relative function convergence criterion.\",\"type\":\"value\"},{\"name\":\"FSIZE=\",\"optional\":true,\"description\":\"Specifies the FSIZE parameter of the relative function and relative gradient termination criteria. The default value is r=0.\",\"help\":\"FSIZE=*r*\",\"type\":\"value\"},{\"name\":\"GCONV=\",\"optional\":true,\"aliases\":[\"GTOL=\"],\"description\":\"Specifies the relative gradient convergence criterion.\",\"type\":\"value\"},{\"name\":\"GROUPID=\",\"optional\":true,\"description\":\"Specifies an identification variable when a panel data model is estimated. The identification variable is used as a cross-sectional ID variable.\",\"help\":\"GROUPID=*variable*\",\"type\":\"value\"},{\"name\":\"HESCAL=\",\"optional\":true,\"aliases\":[\"HS=\"],\"description\":\"Specifies the scaling version of the Hessian or crossproduct Jacobian matrix used in NRRIDG, TRUREG, LEVMAR, NEWRAP, or DBLDOG optimization.\",\"help\":\"HESCAL=0 | 1 | 2 | 3\",\"type\":\"choice\",\"arguments\":[{\"name\":\"0\",\"description\":\"Specifies that no scaling is done.\",\"type\":\"standalone\"},{\"name\":\"1\",\"description\":\"Specifies the Moré (1978) scaling update\",\"type\":\"standalone\"},{\"name\":\"2\",\"description\":\"Specifies the Dennis, Gay, and Welsch (1981) scaling update\",\"type\":\"standalone\"},{\"name\":\"3\",\"description\":\"Specifies that di is reset in each iteration\",\"type\":\"standalone\"}]},{\"name\":\"INHESSIAN=\",\"optional\":true,\"description\":\"Specifies how the initial estimate of the approximate Hessian is defined for the quasi-Newton techniques QUANEW and DBLDOG.\",\"type\":\"value\"},{\"name\":\"INSTEP=\",\"optional\":true,\"aliases\":[\"SALPHA=\",\"RADIUS=\"],\"description\":\"Reduces the length of the first trial step during the line search of the first iterations.\",\"help\":\"INSTEP=*r*\",\"type\":\"value\"},{\"name\":\"LINESEARCH=\",\"optional\":true,\"aliases\":[\"LIS=\",\"SMETHOD=\",\"SM=\"],\"description\":\"Specifies the line-search method for the CONGRA, QUANEW, and NEWRAP optimization techniques.\",\"help\":\"LINESEARCH=1 | 2 | 3 | 4 | 5 | 6 | 7 | 8\",\"type\":\"choice\",\"arguments\":[{\"name\":\"1\",\"description\":\"Specifies a line-search method that needs the same number of function and gradient calls for cubic interpolation and cubic extrapolation; this method is similar to one used by the Harwell subroutine library.\",\"type\":\"standalone\"},{\"name\":\"2\",\"description\":\"Specifies a line-search method that needs more function calls than gradient calls for quadratic and cubic interpolation and cubic extrapolation; this method is implemented as shown in Fletcher (1987) and can be modified to an exact line search by using the LSPRECISION= option.\",\"type\":\"standalone\"},{\"name\":\"3\",\"description\":\"Specifies a line-search method that needs the same number of function and gradient calls for cubic interpolation and cubic extrapolation; this method is implemented as shown in Fletcher (1987) and can be modified to an exact line search by using the LSPRECISION= option.\",\"type\":\"standalone\"},{\"name\":\"4\",\"description\":\"Specifies a line-search method that needs the same number of function and gradient calls for stepwise extrapolation and cubic interpolation\",\"type\":\"standalone\"},{\"name\":\"5\",\"description\":\"Specifies a line-search method that is a modified version of LIS=4.\",\"type\":\"standalone\"},{\"name\":\"6\",\"description\":\"Specifies golden section line search (Polak 1971), which uses only function values for linear approximation.\",\"type\":\"standalone\"},{\"name\":\"7\",\"description\":\"Specifies bisection line search (Polak 1971), which uses only function values for linear approximation.\",\"type\":\"standalone\"},{\"name\":\"8\",\"description\":\"Specifies Armijo line-search technique (Polak 1971), which uses only function values for linear approximation.\",\"type\":\"standalone\"}]},{\"name\":\"LSPRECISION=\",\"optional\":true,\"aliases\":[\"LSP=\",\"SPRECISION=\",\"SP=\"],\"description\":\"Specifies the degree of accuracy that should be obtained by the line-search algorithms LIS=2 and LIS=3. The default LSPRECISION= values are:\",\"type\":\"value\"},{\"name\":\"MAXFUNC=\",\"optional\":true,\"aliases\":[\"MAXFU=\"],\"description\":\"Requires the number of function calls to be no larger than i. The default values are:\",\"type\":\"value\"},{\"name\":\"MAXITER=\",\"optional\":true,\"aliases\":[\"MAXIT=\"],\"description\":\"Requires the number of iterations to be no larger than i. The default values are:\",\"type\":\"value\"},{\"name\":\"MAXSTEP=\",\"optional\":true,\"description\":\"Specifies an upper bound for the step length of the line-search algorithms during the first n iterations.\",\"type\":\"value\"},{\"name\":\"MAXTIME=\",\"optional\":true,\"description\":\"Requires the CPU time to be no larger than r. The default value of the MAXTIME= option is the largest double floating-point number on your computer.\",\"help\":\"MAXTIME=*r*\",\"type\":\"value\"},{\"name\":\"METHOD=\",\"optional\":true,\"description\":\"Specifies the iterative minimization method to use. The default is METHOD=NRA.\",\"help\":\"METHOD=CONGRA | DBLDOG | NMSIMP | NRA | NRRIDG | QN | TR | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"CONGRA\",\"description\":\"Specifies the conjugate-gradient method.\",\"type\":\"standalone\"},{\"name\":\"DBLDOG\",\"description\":\"Specifies the double-dogleg method.\",\"type\":\"standalone\"},{\"name\":\"NMSIMP\",\"description\":\"Specifies the Nelder-Mead simplex method.\",\"type\":\"standalone\"},{\"name\":\"NRA\",\"description\":\"Specifies the Newton-Raphson method.\",\"type\":\"standalone\"},{\"name\":\"NRRIDG\",\"description\":\"Specifies the Newton-Raphson ridge method.\",\"type\":\"standalone\"},{\"name\":\"QN\",\"description\":\"Specifies the quasi-Newton method.\",\"type\":\"standalone\"},{\"name\":\"TR\",\"description\":\"Specifies the trust region method.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"Specifies that no optimization be performed beyond using the ordinary least squares.\",\"type\":\"standalone\"}]},{\"name\":\"MINITER=\",\"optional\":true,\"aliases\":[\"MINIT=\"],\"description\":\"Specifies the minimum number of iterations. The default value is 0.\",\"type\":\"value\"},{\"name\":\"NONORMALIZE\",\"optional\":true,\"description\":\"Does not row-normalize the spatial weights matrix that is specified in the WMAT= option. By default, the spatial weights matrix is required to be row-normalized; that is, the spatial weights matrix has unit row sum.\",\"type\":\"standalone\"},{\"name\":\"NOPRINT\",\"optional\":true,\"description\":\"Suppresses all printed output.\",\"type\":\"standalone\"},{\"name\":\"OUTEST=\",\"optional\":true,\"description\":\"Writes the parameter estimates to an output data set.\",\"help\":\"OUTEST=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"PALL\",\"optional\":true,\"aliases\":[\"ALL\"],\"description\":\"[Displays all optional output for optimization.\",\"type\":\"standalone\"},{\"name\":\"PHISTORY\",\"optional\":true,\"aliases\":[\"PHIS\"],\"description\":\"Displays the optimization history. The PHISTORY option is set automatically if the PALL or PRINT option is set.\",\"type\":\"standalone\"},{\"name\":\"PHISTPARMS\",\"optional\":true,\"description\":\"Display parameter estimates in each iteration.\",\"type\":\"standalone\"},{\"name\":\"PINIT\",\"optional\":true,\"aliases\":[\"PIN\"],\"description\":\"Displays the initial values and derivatives (if available).\",\"type\":\"standalone\"},{\"name\":\"PLOTS=\",\"optional\":true,\"description\":\"Requests that the COUNTREG procedure produce statistical graphics via the Output Delivery System, provided that ODS GRAPHICS has been enabled.\",\"help\":\"PLOTS=ALL | AUTOCORR | BAYESDIAG | BAYESSUM | DENSITY | DISPERSION | PREDPROB | PREDPROFILE | PROFILELIKE | TRACE | ZEROPROFILE | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ALL\",\"description\":\"Requests that all plots appropriate for the particular analysis be produced.\",\"type\":\"standalone\"},{\"name\":\"AUTOCORR\",\"description\":\"Syntax: AUTOCORR<(LAGS=n)> Displays the autocorrelation function plots of the parameters. This plot-request is available only for Bayesian analysis.\",\"type\":\"standalone\"},{\"name\":\"BAYESDIAG\",\"description\":\"Displays the TRACE, AUTOCORR, and DENSITY plots. This plot-request is available only for Bayesian analysis.\",\"type\":\"standalone\"},{\"name\":\"BAYESSUM\",\"description\":\"displays the posterior distribution, prior distribution, and maximum likelihood estimates. This plot-request is available only for Bayesian analysis.\",\"type\":\"standalone\"},{\"name\":\"DENSITY\",\"description\":\"Syntax: DENSITY<(FRINGE)> Displays the kernel density plots of the parameters. This plot-request is available only for Bayesian analysis.\",\"type\":\"standalone\"},{\"name\":\"DISPERSION\",\"description\":\"Produces the overdispersion diagnostic plot.\",\"type\":\"standalone\"},{\"name\":\"PREDPROB\",\"description\":\"Produces the overall predictive probabilities of the specified count levels. You must also specify COUNTS in global-plot-options.\",\"type\":\"standalone\"},{\"name\":\"PREDPROFILE\",\"description\":\"Produces the predictive probability profiles of specified count levels against model regressors.\",\"type\":\"standalone\"},{\"name\":\"PROFILELIKE\",\"description\":\"Produces the profile likelihood functions of the model parameters.\",\"type\":\"standalone\"},{\"name\":\"TRACE\",\"description\":\"Displays the trace plots of the parameters. This plot-request is available only for Bayesian analysis.\",\"type\":\"standalone\"},{\"name\":\"ZEROPROFILE\",\"description\":\"Droduces the probability profiles of zero-inflation process selection and zero count prediction against model regressors.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"Suppresses all plots.\",\"type\":\"standalone\"}]},{\"name\":\"PSHORT\",\"optional\":true,\"description\":\"Restricts the amount of default output.\",\"type\":\"standalone\"},{\"name\":\"PSUMMARY\",\"optional\":true,\"description\":\"Restricts the amount of default displayed output to a short form of iteration history and notes, warnings, and errors.\",\"type\":\"standalone\"},{\"name\":\"RESTART=\",\"optional\":true,\"aliases\":[\"REST=\"],\"description\":\"Specifies that the QUANEW or CONGRA algorithm is restarted with a steepest descent/ascent search direction after at most i iterations, i > 0.\",\"type\":\"value\"},{\"name\":\"RESTORE=\",\"optional\":true,\"description\":\"Specifies the source item store for processing. An item-store-name consists of a one- or two-level name, as with SAS data sets. As with data sets, an item store is associated by default with the Work library, and any item stores that are created in this library are deleted when the SAS session concludes.\",\"help\":\"RESTORE=*item-store-name*\",\"type\":\"value\"},{\"name\":\"SOCKET=\",\"optional\":true,\"description\":\"Specifies the fileref that contains the information needed for remote monitoring.\",\"type\":\"value\"},{\"name\":\"TECHNIQUE=\",\"optional\":true,\"aliases\":[\"TECH=\",\"OMETHOD=\",\"OM=\"],\"description\":\"Specifies the optimization technique.\",\"help\":\"TECHNIQUE=CONGRA | DBLDOG | NMSIMP | NEWRAP | NRRIDG | QUANEW | TRUREG | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"CONGRA\",\"description\":\"Chooses one of four different conjugate-gradient optimization algorithms, which can be more precisely defined with the UPDATE= option and modified with the LINESEARCH= option.\",\"type\":\"standalone\"},{\"name\":\"DBLDOG\",\"description\":\"Performs a version of double-dogleg optimization, which uses the gradient to update an approximation of the Cholesky factor of the Hessian.\",\"type\":\"standalone\"},{\"name\":\"NMSIMP\",\"description\":\"Performs a Nelder-Mead simplex optimization.\",\"type\":\"standalone\"},{\"name\":\"NEWRAP\",\"description\":\"Performs a usually stable but, for large problems, memory- and time-consuming Newton-Raphson optimization technique. The algorithm combines a line-search algorithm with ridging, and it can be modified with the LINESEARCH= option.\",\"type\":\"standalone\"},{\"name\":\"NRRIDG\",\"description\":\"Performs a usually stable but, for large problems, memory- and time-consuming Newton-Raphson optimization technique. This algorithm does not perform a line search.\",\"type\":\"standalone\"},{\"name\":\"QUANEW\",\"description\":\"Chooses one of four different quasi-Newton optimization algorithms that can be more precisely defined with the UPDATE= option and modified with the LINESEARCH= option.\",\"type\":\"standalone\"},{\"name\":\"TRUREG\",\"description\":\"Performs a usually very stable but, for large problems, memory- and time-consuming trust-region optimization technique. The algorithm is implemented similar to Gay (1983) and Moré and Sorensen (1983).\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"Does not perform any optimization. This option is similar to METHOD=NONE, but TECH=NONE also computes and displays residuals and goodness of fit statistics.\",\"type\":\"standalone\"}]},{\"name\":\"UPDATE=\",\"optional\":true,\"description\":\"Specifies the update method for the quasi-Newton, double-dogleg, or conjugate-gradient optimization technique.\",\"help\":\"UPDATE=BFGS | DBFGS | DDFP | DFP | PB | FR | PR | CD\",\"type\":\"choice\",\"arguments\":[{\"name\":\"BFGS\",\"description\":\"Performs the original Broyden, Fletcher, Goldfarb, and Shanno (BFGS) update of the inverse Hessian matrix.\",\"type\":\"standalone\"},{\"name\":\"DBFGS\",\"description\":\"Performs the dual BFGS update of the Cholesky factor of the Hessian matrix. This is the default update method.\",\"type\":\"standalone\"},{\"name\":\"DDFP\",\"description\":\"Performs the dual Davidon, Fletcher, and Powell (DFP) update of the Cholesky factor of the Hessian matrix.\",\"type\":\"standalone\"},{\"name\":\"DFP\",\"description\":\"Performs the original DFP update of the inverse Hessian matrix.\",\"type\":\"standalone\"},{\"name\":\"PB\",\"description\":\"Performs the automatic restart update method of Powell (1977) and Beale (1972).\",\"type\":\"standalone\"},{\"name\":\"FR\",\"description\":\"Performs the Fletcher-Reeves update (Fletcher 1987).\",\"type\":\"standalone\"},{\"name\":\"PR\",\"description\":\"Performs the Polak-Ribiere update (Fletcher 1987).\",\"type\":\"standalone\"},{\"name\":\"CD\",\"description\":\"Performs a conjugate-descent update of Fletcher (1987).\",\"type\":\"standalone\"}]},{\"name\":\"WMAT=\",\"optional\":true,\"description\":\"Specifies the input SAS data set that contains spatial weights matrix. The spatial weights matrix is often known as the W matrix.\",\"help\":\"WMAT=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"XCONV=\",\"optional\":true,\"aliases\":[\"XTOL=\"],\"description\":\"Specifies the relative parameter convergence criterion. Termination requires a small relative parameter change in subsequent iterations.\",\"type\":\"value\"},{\"name\":\"XSIZE=\",\"optional\":true,\"description\":\"Specifies the XSIZE parameter of the relative parameter termination criterion. The default value is r=0.\",\"help\":\"XSIZE=*r*\",\"type\":\"value\"}]},{\"name\":\"BAYES\",\"description\":\"The BAYES statement controls the Metropolis sampling scheme that is used to obtain samples from the posterior distribution of the underlying model and data.\",\"help\":\"BAYES &lt;AGGREGATION=&lt;WEIGHTED | NOWEIGHTED&gt;&gt;&lt;AUTOMCMC&lt;=(automcmc-options)&gt;&gt;&lt;DIAGNOSTICS=&lt;ALL | NONE | &lt;(keyword-list)&gt;&gt;&gt; ...\",\"arguments\":[{\"name\":\"AGGREGATION=\",\"optional\":true,\"description\":\"Specifies how multiple posterior samples should be aggregated.\",\"help\":\"AGGREGATION=WEIGHTED | NOWEIGHTED\",\"type\":\"choice\",\"arguments\":[{\"name\":\"WEIGHTED\",\"description\":\"Implements a weighted resampling scheme for the aggregation of multiple posterior chains. You can use this option when the posterior distribution is characterized by several very distinct posterior modes.\",\"type\":\"standalone\"},{\"name\":\"NOWEIGHTED\",\"description\":\"Aggregates multiple posterior chains without any adjustment. You can use this option when the posterior distribution is characterized by one or few relatively close posterior modes.\",\"type\":\"standalone\"}]},{\"name\":\"AUTOMCMC=\",\"optional\":true,\"description\":\"Specifies an algorithm for the automated initialization of the MCMC sampling algorithm. You can specify the following automcmc-options:\",\"help\":\"AUTOMCMC=ACCURACY= | ATTEMPTS= | TARGETESS= | TARGETSTATS | MAXNMC= | RANDINIT | MULTIPLIER= | PROPORTION= | STATIONARITY= | ATTEMPTS= | TOL=\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ACCURACY=\",\"type\":\"value\"},{\"name\":\"ATTEMPTS=\",\"type\":\"value\"},{\"name\":\"TARGETESS=\",\"type\":\"value\"},{\"name\":\"TARGETSTATS\",\"type\":\"standalone\"},{\"name\":\"MAXNMC=\",\"type\":\"value\"},{\"name\":\"RANDINIT\",\"type\":\"standalone\"},{\"name\":\"MULTIPLIER=\",\"type\":\"value\"},{\"name\":\"PROPORTION=\",\"type\":\"value\"},{\"name\":\"STATIONARITY=\",\"type\":\"value\"},{\"name\":\"ATTEMPTS=\",\"type\":\"value\"},{\"name\":\"TOL=\",\"type\":\"value\"}]},{\"name\":\"DIAGNOSTICS=\",\"optional\":true,\"aliases\":[\"DIAG=\"],\"description\":\"Controls which diagnostics are produced. All the following diagnostics are produced by using DIAGNOSTICS=ALL. If you do not want any of these diagnostics, specify DIAGNOSTICS=NONE. If you want some but not all of the diagnostics, or if you want to change certain settings of these diagnostics, specify a subset of the following keywords. You can specify the following values; by default, DIAGNOSTICS=NONE.\",\"help\":\"DIAGNOSTICS=ALL | NONE | &lt;(*keyword-list*)&gt;\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ALL\",\"description\":\"All diagnostics are produced.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"Suppresses all the diagnostics.\",\"type\":\"standalone\"},{\"name\":\"(keyword-list)\",\"placeholder\":true,\"description\":\"The following keywords are available: AUTOCORR <(autocorr-options)> -- computes default autocorrelations at lags 1, 5, 10, and 50 for each variable. You can choose other lags by using the following autocorrelation-option: LAGS=(numeric-list) AUTOMCMCSUM -- produces a summary table for the AUTOMCMC (automatic MCMC) sampling tool is used. ESS -- computes the effective sample sizes (Kass et al. (1998)) of the posterior samples of each parameter. GEWEKE <(FRAC1=value FRAC2=value)> computes the Geweke spectral density diagnostics, where FRAC1 and FRAC2 specify the beginning FRAC1 and end FRAC2 proportion of the Markov chain, respectively. HEIDELBERGER <(SALPHA=value value EPS=value)> computes the Heidelberger and Welch diagnostic (which consists of a stationarity test and a halfwidth test) for each variable. SALPHA= -- specifies the α level (0 < a < 1) for the stationarity test. By default, SALPHA=0.05 HALPHA= -- specifies the α level (0 < a < 1) for the halfwidth test. By default, HALPHA=0.05. EPS= -- specifies a small positive number ε such that if the halfwidth is less than ε times the sample mean of the retaining iterates, the halfwidth test is passed. MCSE | MCERROR -- computes the Monte Carlo standard error for each parameter. RAFTERY <(QUANTILE=value ACCURACY=value PROB=value EPS=value QUANTILE=value)> computes the Raftery and Lewis diagnostics.\",\"type\":\"value\"}]},{\"name\":\"MARGINLIKE=\",\"optional\":true,\"description\":\"Requests evaluation of the logarithm of the marginal likelihood. Two estimates are produced: the cross-entropy estimate and the harmonic mean. The cross-entropy estimate is based on an importance sampling algorithm for which you can specify the number of importance samples in the NSIM= suboption. The default is 10,000.\",\"help\":\"MARGINLIKE=NSIM=\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NSIM=\",\"type\":\"value\"}]},{\"name\":\"MAXTUNE=\",\"optional\":true,\"description\":\"Specifies the maximum number of tuning phases. By default, MAXTUNE=24.\",\"help\":\"MAXTUNE=*number*\",\"type\":\"value\"},{\"name\":\"MINTUNE=\",\"optional\":true,\"description\":\"Specifies the minimum number of tuning phases. By default, MINTUNE=2.\",\"help\":\"MINTUNE=*number*\",\"type\":\"value\"},{\"name\":\"NBI=\",\"optional\":true,\"description\":\"Specifies the number of burn-in iterations before the chains are saved. By default, NBI=1000.\",\"help\":\"NBI=*number*\",\"type\":\"value\"},{\"name\":\"NMC=\",\"optional\":true,\"description\":\"Specifies the number of iterations after the burn-in for Metropolis sampling scheme. By default, NMC=1000.\",\"help\":\"NMC=*number*\",\"type\":\"value\"},{\"name\":\"NTRDS=\",\"optional\":true,\"aliases\":[\"THREADS=\"],\"description\":\"Specifies the number of threads to be used. The number of threads cannot exceed the number of computer cores available. Each core samples the number of iterations that is specified by the NMC= option. By default, NTRDS=1.\",\"type\":\"value\"},{\"name\":\"NTU=\",\"optional\":true,\"description\":\"Specifies the number of samples for each tuning phase for Metropolis sampling schemes. By default, NTU=500.\",\"help\":\"NTU=*number*\",\"type\":\"value\"},{\"name\":\"OUTPOST=\",\"optional\":true,\"description\":\"Names the SAS data set to contain the posterior samples. Alternatively, you can create the output data set by specifying an ODS OUTPUT statement as follows:\",\"help\":\"OUTPOST=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"PROPCOV=\",\"optional\":true,\"description\":\"Specifies the method to use in constructing the initial covariance matrix for the Metropolis-Hastings algorithm.\",\"help\":\"PROPCOV=CONGRA | DBLDOG | NEWRAP | NNSIMP | NRRIDG | QUANEW | TRUREG\",\"type\":\"choice\",\"arguments\":[{\"name\":\"CONGRA\",\"description\":\"Performs a conjugate-gradient optimization.\",\"type\":\"standalone\"},{\"name\":\"DBLDOG\",\"description\":\"Performs a version of double-dogleg optimization.\",\"type\":\"standalone\"},{\"name\":\"NEWRAP\",\"description\":\"Performs a Newton-Raphson optimization that combines a line-search algorithm with ridging.\",\"type\":\"standalone\"},{\"name\":\"NNSIMP\",\"description\":\"Performs a Nelder-Mead simplex optimization.\",\"type\":\"standalone\"},{\"name\":\"NRRIDG\",\"description\":\"Performs a Newton-Raphson optimization with ridging.\",\"type\":\"standalone\"},{\"name\":\"QUANEW\",\"description\":\"Performs a quasi-Newton optimization.\",\"type\":\"standalone\"},{\"name\":\"TRUREG\",\"description\":\"Performs a trust-region optimization.\",\"type\":\"standalone\"}]},{\"name\":\"SAMPLING=\",\"optional\":true,\"description\":\"Specifies how to sample from the posterior distribution.\",\"help\":\"SAMPLING=MODELMETROPOLIS | MULTIMETROPOLIS | UNIMETROPOLIS*value*\",\"type\":\"value\",\"arguments\":[{\"name\":\"MODELMETROPOLIS\",\"description\":\"Implements a Metropolis sampling scheme on multiple blocks: one block for each model (all the parameters of the model) plus a block for all the correlation parameters across the models.\",\"type\":\"standalone\"},{\"name\":\"MULTIMETROPOLIS\",\"description\":\"implements a Metropolis sampling scheme on a single block that contains all the parameters of the model. SAMPLING=MULTIMETROPOLIS is the default option.\",\"type\":\"standalone\"},{\"name\":\"UNIMETROPOLIS\",\"description\":\"Implements a Metropolis sampling scheme on multiple blocks, one for each parameter of the model.\",\"type\":\"standalone\"}]},{\"name\":\"SEED=\",\"optional\":true,\"description\":\"Specifies an integer seed in the range 1 to 2^31 - 1 for the random number generator in the simulation. Specifying a seed enables you to reproduce identical Markov chains for the same specification. If you do not specify the SEED= option, or if you specify SEED=0, a random seed is derived from the time of day, which is read from the computer’s clock.\",\"help\":\"SEED=*number*\",\"type\":\"value\"},{\"name\":\"SIMTIME\",\"optional\":true,\"description\":\"Prints the time required for the MCMC sampling.\",\"type\":\"standalone\"},{\"name\":\"STATISTICS=\",\"optional\":true,\"aliases\":[\"STATS=\"],\"description\":\"Controls the number of posterior statistics that are produced.\",\"help\":\"STATISTICS=CORR | COV | INTERVAL | PRIOR | SUMMARY | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"CORR\",\"description\":\"Produces the posterior correlation matrix.\",\"type\":\"standalone\"},{\"name\":\"COV\",\"description\":\"Produces the posterior covariance matrix.\",\"type\":\"standalone\"},{\"name\":\"INTERVAL\",\"description\":\"Produces equal-tail credible intervals and HPD intervals.\",\"type\":\"standalone\"},{\"name\":\"PRIOR\",\"description\":\"Produces a summary table of the prior distributions that are used in the Bayesian analysis.\",\"type\":\"standalone\"},{\"name\":\"SUMMARY\",\"description\":\"Produces the means, standard deviations, and percentile points (25th, 50th, and 75th) of the posterior samples.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"Suppresses printing of all summary statistics.\",\"type\":\"standalone\"}]},{\"name\":\"THIN=\",\"optional\":true,\"aliases\":[\"THINNING=\"],\"description\":\"Controls the thinning of the Markov chain.\",\"type\":\"value\"}]},{\"name\":\"BOUNDS\",\"description\":\"The BOUNDS statement imposes simple boundary constraints on the parameter estimates. BOUNDS statement constraints refer to the parameters estimated by the COUNTREG procedure. You can specify any number of BOUNDS statements.\",\"help\":\"BOUNDS bound1 &lt;, bound2 ...&gt; \"},{\"name\":\"BY\",\"description\":\"A BY statement can be used with PROC COUNTREG to obtain separate analyses on observations in groups defined by the BY variables. When a BY statement appears, the input data set should be sorted in order of the BY variables.\",\"help\":\"BY variables \"},{\"name\":\"CLASS\",\"description\":\"The CLASS statement names the classification variables that are used to group (classify) data in the analysis. Classification variables can be either character or numeric.\",\"help\":\"CLASS &lt;MISSING&gt;&lt;ORDER=&lt;DATA | FORMATTED | FREQ&gt;... &gt;&lt;PARAM=&lt;EFFECT | GLM | REFERENCE&gt;&gt; ...\",\"arguments\":[{\"name\":\"MISSING\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Treats missing values (., ._, .A, …, .Z for numeric variables and blanks for character variables) as valid values for the CLASS variable.\",\"type\":\"standalone\"},{\"name\":\"ORDER=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the sort order for the levels of classification variables.\",\"help\":\"ORDER=DATA | FORMATTED | FREQ | INTERNAL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DATA\",\"followsDelimiter\":\"/\",\"description\":\"Sorts levels by the order of appearance in the input data set.\",\"type\":\"standalone\"},{\"name\":\"FORMATTED\",\"followsDelimiter\":\"/\",\"description\":\"Sorts levels by external formatted values, except for numeric variables that have no explicit format.\",\"type\":\"standalone\"},{\"name\":\"FREQ\",\"followsDelimiter\":\"/\",\"description\":\"Sorts levels by descending frequency count; levels that have more observations come earlier in the order. .\",\"type\":\"standalone\"},{\"name\":\"INTERNAL\",\"followsDelimiter\":\"/\",\"description\":\"Sorts levels by unformatted value. Ths sort order is machine-dependent.\",\"type\":\"standalone\"}]},{\"name\":\"PARAM=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the parameterization method for the classification variable or variables.\",\"help\":\"PARAM=EFFECT | GLM | REFERENCE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"EFFECT\",\"followsDelimiter\":\"/\",\"description\":\"Uses effect coding to create design matrix columns from the CLASS variables.\",\"type\":\"standalone\"},{\"name\":\"GLM\",\"followsDelimiter\":\"/\",\"description\":\"Uses less-than-full-rank reference cell coding to create design matrix columns from the CLASS variables.\",\"type\":\"standalone\"},{\"name\":\"REFERENCE\",\"followsDelimiter\":\"/\",\"description\":\"Uses reference cell coding to create design matrix columns from the CLASS variables.\",\"type\":\"standalone\"}]},{\"name\":\"REF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the reference level for PARAM=EFFECT, or PARAM=REFERENCE, and their orthogonalizations.\",\"help\":\"REF=&lt;’*level*’&gt; | FIRST | LAST\",\"type\":\"choice\",\"arguments\":[{\"name\":\"‘level’\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"For an individual (but not a global) variable REF= option, you can specify the level of the variable to use as the reference level. Replace 'level' with an actual value, enclosed in quotes.\",\"type\":\"value\"},{\"name\":\"FIRST\",\"followsDelimiter\":\"/\",\"description\":\"Designates the first-ordered level as reference.\",\"type\":\"standalone\"},{\"name\":\"LAST\",\"followsDelimiter\":\"/\",\"description\":\"Designates the last-ordered level as reference.\",\"type\":\"standalone\"}]}]},{\"name\":\"DISPMODEL\",\"description\":\"The DISPMODEL statement specifies the dispersion-related-regressors that are used to model dispersion. This statement is ignored unless you specify DIST=COMPOISSON in the MODEL statement.\",\"help\":\"DISPMODEL &lt;SELECT=INFO&lt;(selection-options)&gt; | SELECTVAR=INFO&lt;(selection-options)&gt;&gt;\",\"arguments\":[{\"name\":\"SELECT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"SELECTVAR=\"],\"description\":\"Requests that the variable selection method be based on an information criterion.\",\"help\":\"SELECT=DIRECTION= | CRITER= | LSTOP= | MAXSTEPS= | RETAIN\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DIRECTION=\",\"type\":\"value\"},{\"name\":\"CRITER=\",\"type\":\"value\"},{\"name\":\"LSTOP=\",\"type\":\"value\"},{\"name\":\"MAXSTEPS=\",\"type\":\"value\"},{\"name\":\"RETAIN\",\"type\":\"standalone\"}]}]},{\"name\":\"FREQ\",\"description\":\"The FREQ statement specifies a variable whose values represent the frequency of occurrence of each observation. PROC COUNTREG treats each observation as if it appears n times, where n is the value of the FREQ variable for the observation. If the frequency value is not an integer, it is truncated to an integer; if it is less than 1 or missing, the observation is not used in the model fitting. When the FREQ statement is not specified, each observation is assigned a frequency of 1. If you specify more than one FREQ statement, then the first statement is used.\",\"help\":\"FREQ variable \"},{\"name\":\"INIT\",\"description\":\"The INIT statement sets initial values for parameters in the optimization. Each initvalue is written as a parameter or parameter list, followed by an optional equal sign (=), followed by a number: parameter <=> number For continuous regressors, the names of the parameters are the same as the corresponding variables. For a regressor that is a CLASS variable, the parameter name combines the corresponding CLASS variable name with the variable level. For interaction and nested regressors, the parameter names combine the names of each regressor. The names of the parameters can be seen in the OUTEST= data set. By default, initial values are determined by OLS regression. Initial values can be displayed with the ITPRINT option in the PROC statement.\",\"help\":\"INIT initvalue1 [&lt;, initvalue2 ...&gt;] \"},{\"name\":\"MODEL\",\"description\":\"The MODEL statement specifies the dependent variable and independent regressor variables for the regression model. If you specify no regressors, PROC COUNTREG fits a model that contains only an intercept. The dependent count variable should take on only nonnegative integer values in the input data set. PROC COUNTREG rounds any positive noninteger count values to the nearest integer. PROC COUNTREG ignores any observations with a negative count. Only one MODEL statement can be specified.\",\"help\":\"MODEL &lt;DIST=&lt;COMPOISSON | NEGBIN(P=1) | NEGBIN(P=2)&gt;... &gt;&lt;ERRORCOMP=&lt;FIXED | RANDOM&gt;&gt;&lt;NOINT&gt; ...\",\"arguments\":[{\"name\":\"CORRB\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Prints the correlation matrix of the parameter estimates. It can also be specified in the PROC COUNTREG statement.\",\"type\":\"standalone\"},{\"name\":\"COVB\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Prints the covariance matrix of the parameter estimates. It can also be specified in the PROC COUNTREG statement.\",\"type\":\"standalone\"},{\"name\":\"DIST=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies a type of model to be analyzed. If you specify this option in both the MODEL statement and the PROC COUNTREG statement, then only the value in the MODEL statement is used.\",\"help\":\"DIST=COMPOISSON | NEGBIN(P=1) | NEGBIN(P=2) | POISSON | ZICOMPOISSON | ZINEGBIN | ZIPOISSON\",\"type\":\"choice\",\"arguments\":[{\"name\":\"COMPOISSON\",\"followsDelimiter\":\"/\",\"description\":\"Specifies a Conway-Maxwell-Poisson regression model.\",\"type\":\"standalone\"},{\"name\":\"NEGBIN\",\"followsDelimiter\":\"/\",\"description\":\"Specifies a negative binomial regression model that uses a linear variance function\",\"help\":\"NEGBIN(P=1)\",\"type\":\"value\"},{\"name\":\"NEGBIN\",\"followsDelimiter\":\"/\",\"description\":\"Specifies a negative binomial regression model that users a quadratic variance function\",\"help\":\"NEGBIN(P=2)\",\"type\":\"value\"},{\"name\":\"POISSON\",\"followsDelimiter\":\"/\",\"description\":\"Specifies a Poisson regression model.\",\"type\":\"standalone\"},{\"name\":\"ZICOMPOISSON\",\"followsDelimiter\":\"/\",\"description\":\"Specifies a zero-inflated Conway-Maxwell-Poisson regression.\",\"type\":\"standalone\"},{\"name\":\"ZINEGBIN\",\"followsDelimiter\":\"/\",\"description\":\"Specifies a zero-inflated negative binomial regression.\",\"type\":\"standalone\"},{\"name\":\"ZIPOISSON\",\"followsDelimiter\":\"/\",\"description\":\"Specifies a zero-inflated Poisson regression.\",\"type\":\"standalone\"}]},{\"name\":\"ERRORCOMP=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the type of conditional panel model to be analyzed.\",\"help\":\"ERRORCOMP=FIXED | RANDOM\",\"type\":\"choice\",\"arguments\":[{\"name\":\"FIXED\",\"followsDelimiter\":\"/\",\"description\":\"Specifies a fixed-effect error component regression model.\",\"type\":\"standalone\"},{\"name\":\"RANDOM\",\"followsDelimiter\":\"/\",\"description\":\"Specifies a random-effect error component regression model.\",\"type\":\"standalone\"}]},{\"name\":\"ITPRINT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Prints the objective function and parameter estimates at each iteration. The objective function is the negative log-likelihood function. It can also be specified in the PROC COUNTREG statement.\",\"type\":\"standalone\"},{\"name\":\"NOINT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Suppresses the intercept parameter.\",\"type\":\"standalone\"},{\"name\":\"OFFSET=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies a variable in the input data set to be used as an offset variable. The offset variable appears as a covariate in the model with its parameter restricted to 1.\",\"help\":\"OFFSET=*variable*\",\"type\":\"value\"},{\"name\":\"PARAMETER=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the parameterization for the Conway-Maxwell-Poisson model.\",\"help\":\"PARAMETER=MU | LAMBDA\",\"type\":\"choice\",\"arguments\":[{\"name\":\"MU\",\"followsDelimiter\":\"/\",\"description\":\"Reparameterizes lambda as documented by Guikema and Coffelt (2008).\",\"type\":\"standalone\"},{\"name\":\"LAMBDA\",\"followsDelimiter\":\"/\",\"description\":\"Estimates the original Conway-Maxwell-Poisson model (Shmueli et al. 2005).\",\"type\":\"standalone\"}]},{\"name\":\"PRINTALL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests all printing options. It can also be specified in the PROC COUNTREG statement.\",\"type\":\"standalone\"},{\"name\":\"SELECT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"SELECTVAR=\"],\"description\":\"Requests that the variable selection method be based on an information criterion.\",\"help\":\"SELECT=DIRECTION= | CRITER=LSTOP= | MAXSTEPS= | NOSPLITEFFECTS | RETAIN | RETAINEFFECT | GVC | GVC1 | GVCLENGTH= | LAMBDA= | LLASTEPS=\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DIRECTION=\",\"type\":\"value\"},{\"name\":\"CRITER=\",\"type\":\"value\"},{\"name\":\"MAXSTEPS=\",\"type\":\"value\"},{\"name\":\"NOSPLITEFFECTS\",\"type\":\"standalone\"},{\"name\":\"RETAIN\",\"type\":\"standalone\"},{\"name\":\"RETAINEFFECT\",\"type\":\"standalone\"},{\"name\":\"GVC\",\"type\":\"standalone\"},{\"name\":\"GVC1\",\"type\":\"standalone\"},{\"name\":\"GVCLENGTH=\",\"type\":\"value\"},{\"name\":\"LAMBDA=\",\"type\":\"value\"},{\"name\":\"LLASTEPS=\",\"type\":\"value\"}]}]},{\"name\":\"NLOPTIONS\",\"description\":\"Several SAS/ETS procedures (COUNTREG, ENTROPY, MDC, QLIM, UCM, and VARMAX) use the nonlinear optimization (NLO) subsystem to perform nonlinear optimization.\",\"help\":\"NLOPTIONS &lt;ABSCONV= | ABSTOL=r&gt;&lt;ABSFCONV=r[n] | ABSFTOL=r[n&gt;&lt;ABSGCONV=r[n] | ABSGTOL=r[n&gt; ...\",\"arguments\":[{\"name\":\"ABSCONV=\",\"optional\":true,\"aliases\":[\"ABSTOL=\"],\"description\":\"Specifies an absolute function convergence criterion. The default value of r is the negative square root of the largest double-precision value, which serves only as a protection against overflows.\",\"type\":\"value\"},{\"name\":\"ABSFCONV=\",\"optional\":true,\"aliases\":[\"ABSFTOL=\"],\"description\":\"Specifies an absolute function convergence criterion. The default value is r=0. The optional integer value n specifies the number of successive iterations for which the criterion must be satisfied before the process can be terminated.\",\"type\":\"value\"},{\"name\":\"ABSGCONV=\",\"optional\":true,\"aliases\":[\"ABSGTOL=\"],\"description\":\"Specifies an absolute gradient convergence criterion. The default value is r=1E-5. The optional integer value n specifies the number of successive iterations for which the criterion must be satisfied before the process can be terminated.\",\"type\":\"value\"},{\"name\":\"ABSXCONV=\",\"optional\":true,\"aliases\":[\"ABSXTOL=\"],\"description\":\"Specifies the absolute parameter convergence criterion. The default is r=1E-8 for the NMSIMP technique and r=0 otherwise. The optional integer value n specifies the number of successive iterations for which the criterion must be satisfied before the process can terminate.\",\"type\":\"value\"},{\"name\":\"DAMPSTEP=\",\"optional\":true,\"description\":\"Specifies that the initial step length value a⁰ for each line search (used by the QUANEW, HYQUAN, CONGRA, or NEWRAP technique) cannot be larger than r times the step length value used in the former iteration. If the DAMPSTEP option is specified but r is not specified, the default is r=2. The DAMPSTEP=r option can prevent the line-search algorithm from repeatedly stepping into regions where some objective functions are difficult to compute or where they could lead to floating point overflows during the computation of objective functions and their derivatives. The DAMPSTEP=r option can save time-costly function calls during the line searches of objective functions that result in very small steps.\",\"type\":\"value\"},{\"name\":\"FCONV2=\",\"optional\":true,\"aliases\":[\"FTOL2=\"],\"description\":\"Specifies another function convergence criterion.\",\"type\":\"value\"},{\"name\":\"FCONV=\",\"optional\":true,\"aliases\":[\"FTOL=\"],\"description\":\"Specifies a relative function convergence criterion.\",\"type\":\"value\"},{\"name\":\"FSIZE=\",\"optional\":true,\"description\":\"Specifies the FSIZE parameter of the relative function and relative gradient termination criteria. The default value is r=0.\",\"help\":\"FSIZE=*r*\",\"type\":\"value\"},{\"name\":\"GCONV=\",\"optional\":true,\"aliases\":[\"GTOL=\"],\"description\":\"Specifies a relative gradient convergence criterion. The default value is r=1E-8. The optional integer value n specifies the number of successive iterations for which the criterion must be satisfied before the process can terminate.\",\"type\":\"value\"},{\"name\":\"HESCAL=\",\"optional\":true,\"aliases\":[\"HS=\"],\"description\":\"Specifies the scaling version of the Hessian matrix used in NRRIDG, TRUREG, NEWRAP, or DBLDOG optimization.\",\"help\":\"HESCAL=0 | 1 | 2 | 3\",\"type\":\"choice\",\"arguments\":[{\"name\":\"0\",\"description\":\"Specifies that no scaling is done.\",\"type\":\"standalone\"},{\"name\":\"1\",\"description\":\"Specifies the Moré (1978) scaling update\",\"type\":\"standalone\"},{\"name\":\"2\",\"description\":\"Specifies the Dennis, Gay, and Welsch (1981) scaling update\",\"type\":\"standalone\"},{\"name\":\"3\",\"description\":\"Specifies that di is reset in each iteration\",\"type\":\"standalone\"}]},{\"name\":\"INHESSIAN=\",\"optional\":true,\"aliases\":[\"INHESS=\"],\"description\":\"Specifies how the initial estimate of the approximate Hessian is defined for the quasi-Newton techniques QUANEW and DBLDOG.\",\"type\":\"value\"},{\"name\":\"INSTEP=\",\"optional\":true,\"description\":\"Reduces the length of the first trial step during the line search of the first iterations.\",\"help\":\"INSTEP=*r*\",\"type\":\"value\"},{\"name\":\"LINESEARCH=\",\"optional\":true,\"aliases\":[\"LIS=\"],\"description\":\"Specifies the line-search method for the CONGRA, QUANEW, and NEWRAP optimization techniques.\",\"help\":\"LINESEARCH=1 | 2 | 3 | 4 | 5 | 6 | 7 | 8\",\"type\":\"choice\",\"arguments\":[{\"name\":\"1\",\"description\":\"Specifies a line-search method that needs the same number of function and gradient calls for cubic interpolation and cubic extrapolation; this method is similar to one used by the Harwell subroutine library.\",\"type\":\"standalone\"},{\"name\":\"2\",\"description\":\"Specifies a line-search method that needs more function calls than gradient calls for quadratic and cubic interpolation and cubic extrapolation; this method is implemented as shown in Fletcher (1987) and can be modified to an exact line search by using the LSPRECISION= option.\",\"type\":\"standalone\"},{\"name\":\"3\",\"description\":\"Specifies a line-search method that needs the same number of function and gradient calls for cubic interpolation and cubic extrapolation; this method is implemented as shown in Fletcher (1987) and can be modified to an exact line search by using the LSPRECISION= option.\",\"type\":\"standalone\"},{\"name\":\"4\",\"description\":\"Specifies a line-search method that needs the same number of function and gradient calls for stepwise extrapolation and cubic interpolation\",\"type\":\"standalone\"},{\"name\":\"5\",\"description\":\"Specifies a line-search method that is a modified version of LIS=4.\",\"type\":\"standalone\"},{\"name\":\"6\",\"description\":\"Specifies golden section line search (Polak 1971), which uses only function values for linear approximation.\",\"type\":\"standalone\"},{\"name\":\"7\",\"description\":\"Specifies bisection line search (Polak 1971), which uses only function values for linear approximation.\",\"type\":\"standalone\"},{\"name\":\"8\",\"description\":\"Specifies Armijo line-search technique (Polak 1971), which uses only function values for linear approximation.\",\"type\":\"standalone\"}]},{\"name\":\"LSPRECISION=\",\"optional\":true,\"aliases\":[\"LSP=\"],\"description\":\"Specifies the degree of accuracy that should be obtained by the line-search algorithms LIS=2 and LIS=3. The default LSPRECISION= values are:\",\"type\":\"value\"},{\"name\":\"MAXFUNC=\",\"optional\":true,\"aliases\":[\"MAXFU=\"],\"description\":\"Requires the number of function calls to be no larger than i. The default values are:\",\"type\":\"value\"},{\"name\":\"MAXITER=\",\"optional\":true,\"aliases\":[\"MAXIT=\"],\"description\":\"Requires the number of iterations to be no larger than i. The default values are: o For TECH= TRUREG, NRRIDG, NEWRAP: i=50 o For TECH= QUANEW, DBLDOG: i=200 o For TECH= CONGRA: i=400 o For TECH= NMSIMP: i=1000 These default values are also valid when i is specified as a missing value.\",\"type\":\"value\"},{\"name\":\"MAXSTEP=\",\"optional\":true,\"description\":\"Specifies an upper bound for the step length of the line-search algorithms during the first n iterations.\",\"help\":\"MAXSTEP=*r[n*\",\"type\":\"value\"},{\"name\":\"MAXTIME=\",\"optional\":true,\"description\":\"Requires the CPU time to be no larger than r. The default value of the MAXTIME= option is the largest double floating-point number on your computer. Note that the time specified by the MAXTIME= option is checked only once at the end of each iteration. Therefore, the actual running time can be much longer than that specified by the MAXTIME= option. The actual running time includes the rest of the time needed to finish the iteration and the time needed to generate the output of the results.\",\"help\":\"MAXTIME=*r*\",\"type\":\"value\"},{\"name\":\"MINITER=\",\"optional\":true,\"aliases\":[\"MINIT=\"],\"description\":\"Specifies the minimum number of iterations. The default value is 0. If you request more iterations than are actually needed for convergence to a stationary point, the optimization algorithms can behave strangely. For example, the effect of rounding errors can prevent the algorithm from continuing for the required number of iterations.\",\"type\":\"value\"},{\"name\":\"NOPRINT\",\"optional\":true,\"description\":\"Suppresses the output.\",\"type\":\"standalone\"},{\"name\":\"PALL\",\"optional\":true,\"description\":\"[Displays all optional output for optimization.\",\"type\":\"standalone\"},{\"name\":\"PHISTORY\",\"optional\":true,\"description\":\"Displays the optimization history.\",\"type\":\"standalone\"},{\"name\":\"PHISTPARMS\",\"optional\":true,\"description\":\"Display parameter estimates in each iteration.\",\"type\":\"standalone\"},{\"name\":\"PINIT\",\"optional\":true,\"description\":\"Displays the initial values and derivatives (if available).\",\"type\":\"standalone\"},{\"name\":\"PSHORT\",\"optional\":true,\"description\":\"Restricts the amount of default output.\",\"type\":\"standalone\"},{\"name\":\"PSUMMARY\",\"optional\":true,\"description\":\"Restricts the amount of default displayed output to a short form of iteration history and notes, warnings, and errors.\",\"type\":\"standalone\"},{\"name\":\"RESTART=\",\"optional\":true,\"aliases\":[\"REST=\"],\"description\":\"Specifies that the QUANEW or CONGRA algorithm is restarted with a steepest descent/ascent search direction after, at most, i iterations, i > 0.\",\"type\":\"value\"},{\"name\":\"SOCKET=\",\"optional\":true,\"description\":\"Specifies the fileref that contains the information needed for remote monitoring.\",\"type\":\"value\"},{\"name\":\"TECHNIQUE=\",\"optional\":true,\"aliases\":[\"TECH=\"],\"description\":\"Specifies the optimization technique.\",\"help\":\"TECHNIQUE=CONGRA | DBLDOG | NMSIMP | NEWRAP | NRRIDG | QUANEW | TRUREG | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"CONGRA\",\"description\":\"Chooses one of four different conjugate-gradient optimization algorithms, which can be more precisely defined with the UPDATE= option and modified with the LINESEARCH= option.\",\"type\":\"standalone\"},{\"name\":\"DBLDOG\",\"description\":\"Performs a version of double-dogleg optimization, which uses the gradient to update an approximation of the Cholesky factor of the Hessian.\",\"type\":\"standalone\"},{\"name\":\"NMSIMP\",\"description\":\"Performs a Nelder-Mead simplex optimization.\",\"type\":\"standalone\"},{\"name\":\"NEWRAP\",\"description\":\"Performs a usually stable but, for large problems, memory- and time-consuming Newton-Raphson optimization technique. The algorithm combines a line-search algorithm with ridging, and it can be modified with the LINESEARCH= option.\",\"type\":\"standalone\"},{\"name\":\"NRRIDG\",\"description\":\"Performs a usually stable but, for large problems, memory- and time-consuming Newton-Raphson optimization technique. This algorithm does not perform a line search.\",\"type\":\"standalone\"},{\"name\":\"QUANEW\",\"description\":\"Chooses one of four different quasi-Newton optimization algorithms that can be more precisely defined with the UPDATE= option and modified with the LINESEARCH= option.\",\"type\":\"standalone\"},{\"name\":\"TRUREG\",\"description\":\"Performs a usually very stable but, for large problems, memory- and time-consuming trust-region optimization technique. The algorithm is implemented similar to Gay (1983) and Moré and Sorensen (1983).\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"Does not perform any optimization. This option is similar to METHOD=NONE, but TECH=NONE also computes and displays residuals and goodness of fit statistics.\",\"type\":\"standalone\"}]},{\"name\":\"UPDATE=\",\"optional\":true,\"aliases\":[\"UPD=\"],\"description\":\"Specifies the update method for the quasi-Newton, double-dogleg, or conjugate-gradient optimization technique.\",\"help\":\"UPDATE=BFGS | DBFGS | DDFP | DFP | PB | FR | PR | CD\",\"type\":\"choice\",\"arguments\":[{\"name\":\"BFGS\",\"description\":\"Performs the original Broyden, Fletcher, Goldfarb, and Shanno (BFGS) update of the inverse Hessian matrix.\",\"type\":\"standalone\"},{\"name\":\"DBFGS\",\"description\":\"Performs the dual BFGS update of the Cholesky factor of the Hessian matrix. This is the default update method.\",\"type\":\"standalone\"},{\"name\":\"DDFP\",\"description\":\"Performs the dual Davidon, Fletcher, and Powell (DFP) update of the Cholesky factor of the Hessian matrix.\",\"type\":\"standalone\"},{\"name\":\"DFP\",\"description\":\"Performs the original DFP update of the inverse Hessian matrix.\",\"type\":\"standalone\"},{\"name\":\"PB\",\"description\":\"Performs the automatic restart update method of Powell (1977) and Beale (1972).\",\"type\":\"standalone\"},{\"name\":\"FR\",\"description\":\"Performs the Fletcher-Reeves update (Fletcher 1987).\",\"type\":\"standalone\"},{\"name\":\"PR\",\"description\":\"Performs the Polak-Ribiere update (Fletcher 1987).\",\"type\":\"standalone\"},{\"name\":\"CD\",\"description\":\"Performs a conjugate-descent update of Fletcher (1987).\",\"type\":\"standalone\"}]},{\"name\":\"XCONV=\",\"optional\":true,\"aliases\":[\"XTOL=\"],\"description\":\"Specifies the relative parameter convergence criterion. For all techniques except NMSIMP, termination requires a small relative parameter change in subsequent iterations. The default value is r=1E-8 for the NMSIMP technique and r=0 otherwise. The optional integer value n specifies the number of successive iterations for which the criterion must be satisfied before the process can be terminated.\",\"type\":\"value\"},{\"name\":\"XSIZE=\",\"optional\":true,\"description\":\"Specifies the XSIZE parameter of the relative parameter termination criterion. The default value is r=0.\",\"type\":\"value\"}]},{\"name\":\"OUTPUT\",\"description\":\"The OUTPUT statement creates a new SAS data set containing all the variables in the input data set and, optionally, the estimates of x'β, the expected value of the response variable, and the probability that the response variable will take on the current value.\",\"help\":\"OUTPUT &lt;DISPERSION=name&gt;&lt;GDELTA=name&gt;&lt;LAMBDA=name&gt; ...\",\"arguments\":[{\"name\":\"DISPERSION=\",\"optional\":true,\"description\":\"Names the variable that contains the value of dispersion for the Conway-Maxwell-Poisson distribution.\",\"help\":\"DISPERSION=*name*\",\"type\":\"value\"},{\"name\":\"GDELTA=\",\"optional\":true,\"description\":\"Names the variable that contains estimates of g’δ for the Conway-Maxwell-Poisson distribution.\",\"help\":\"GDELTA=*name*\",\"type\":\"value\"},{\"name\":\"LAMBDA=\",\"optional\":true,\"description\":\"Names the variable that contains the estimate of λ for the Conway-Maxwell-Poisson distribution.\",\"help\":\"LAMBDA=*name*\",\"type\":\"value\"},{\"name\":\"MODE=\",\"optional\":true,\"description\":\"Names the variable that contains the integral part of μ (mode) for the Conway-Maxwell-Poisson distribution.\",\"help\":\"MODE=*name*\",\"type\":\"value\"},{\"name\":\"MU=\",\"optional\":true,\"description\":\"Names the variable that contains the estimate of μ or the Conway-Maxwell-Poisson distribution.\",\"help\":\"MU=*name*\",\"type\":\"value\"},{\"name\":\"NU=\",\"optional\":true,\"description\":\"Names the variable that contains the estimate of ν for the Conway-Maxwell-Poisson distribution.\",\"help\":\"NU=*name*\",\"type\":\"value\"},{\"name\":\"OUT=\",\"optional\":true,\"description\":\"Names the output data set.\",\"help\":\"OUT=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"PRED=\",\"optional\":true,\"aliases\":[\"MEAN=\"],\"description\":\"Names the variable containing the predicted value of the response variable.\",\"type\":\"value\"},{\"name\":\"PROB=\",\"optional\":true,\"description\":\"Names the variable containing the probability of the response variable taking the current value, Pr(Y=y).\",\"help\":\"PROB=*name*\",\"type\":\"value\"},{\"name\":\"PROBCOUNT\",\"optional\":true,\"description\":\"Outputs the probability that the response variable will take particular values.\",\"type\":\"standalone\"},{\"name\":\"PROBZERO=\",\"optional\":true,\"description\":\"Names the variable that contains the value of ϕ, the probability of the response variable taking on the value of zero as a result of the zero-generating process.\",\"help\":\"PROBZERO=*name*\",\"type\":\"value\"},{\"name\":\"VARIANCE=\",\"optional\":true,\"description\":\"Names the variable that contains the estimate of variance.\",\"help\":\"VARIANCE=*name*\",\"type\":\"value\"},{\"name\":\"XBETA=\",\"optional\":true,\"description\":\"Names the variable containing estimates of x'β.\",\"help\":\"XBETA=*name*\",\"type\":\"value\"},{\"name\":\"ZGAMMA=\",\"optional\":true,\"description\":\"Names the variable containing estimates of z'ϒ.\",\"help\":\"ZGAMMA=*name*\",\"type\":\"value\"}]},{\"name\":\"PERFORMANCE\",\"description\":\"The PERFORMANCE statement controls the number of threads that are used in the optimization phase.\",\"help\":\"PERFORMANCE &lt;DETAILS&gt;&lt;NOTHREADS&gt;&lt;NTHREADS=number&gt; ...\",\"arguments\":[{\"name\":\"DETAILS\",\"optional\":true,\"description\":\"Specifies that a timing table be included in the output.\",\"type\":\"standalone\"},{\"name\":\"NOTHREADS\",\"optional\":true,\"description\":\"Specifies that no threads should be used during optimization of the model.\",\"type\":\"standalone\"},{\"name\":\"NTHREADS=\",\"optional\":true,\"description\":\"Specifies the number of threads to be used during optimization of the model.\",\"help\":\"NTHREADS=*number*\",\"type\":\"value\"}]},{\"name\":\"PRIOR\",\"description\":\"The PRIOR statement is used to specify the prior distribution of the model parameters. You must specify a single parameter or a list of parameters, a tilde ~, and then a distribution with its parameters. Multiple PRIOR statements are allowed.\",\"help\":\"PRIOR &lt;BETA(SHAPE1=a, SHAPE2=b, MIN=m, MAX=M)&gt;&lt;GAMMA(SHAPE=a, SCALE=b)&gt;&lt;IGAMMA(SHAPE=a, SCALE=b)&gt; ...\",\"arguments\":[{\"name\":\"BETA\",\"optional\":true,\"description\":\"Specifies a beta distribution that has the parameters SHAPE1 and SHAPE2 and is defined between MIN and MAX.\",\"type\":\"standalone\"},{\"name\":\"GAMMA\",\"optional\":true,\"description\":\"Specifies a gamma distribution that has the parameters SHAPE and SCALE.\",\"type\":\"standalone\"},{\"name\":\"IGAMMA\",\"optional\":true,\"description\":\"Specifies an inverse gamma distribution that has the parameters SHAPE and SCALE.\",\"type\":\"standalone\"},{\"name\":\"NORMAL\",\"optional\":true,\"description\":\"Specifies a normal distribution that has the parameters MEAN and VAR.\",\"type\":\"standalone\"},{\"name\":\"T\",\"optional\":true,\"description\":\"Specifies a noncentral t distribution that has DF degrees of freedom and a location parameter equal to LOCATION.\",\"type\":\"standalone\"},{\"name\":\"UNIFORM\",\"optional\":true,\"description\":\"Specifies a uniform distribution that is defined between MIN and MAX.\",\"type\":\"standalone\"}]},{\"name\":\"RESTRICT\",\"description\":\"The RESTRICT statement imposes linear restrictions on the parameter estimates. You can specify any number of RESTRICT statements. Each restriction is written either as a single linear equation or as a comma-separated list of two or more linear equations. A restriction equation consists of an expression, followed by an equality operator (=) or an inequality operator (<, >, <=, >=), followed by a second expression: expression operator expression The operator can be =, <, >, <=, or >=.\",\"help\":\"RESTRICT restriction1 &lt;, restriction2 …&gt;\"},{\"name\":\"SCORE\",\"description\":\"The SCORE statement enables you to compute predicted values and other statistics for a SAS data set.\",\"help\":\"SCORE &lt;DISPERSION=name&gt;&lt;GDELTA=name&gt;&lt;LAMBDA=name&gt; ...\",\"arguments\":[{\"name\":\"DISPERSION=\",\"optional\":true,\"description\":\"Names the variable that contains the value of dispersion for the Conway-Maxwell-Poisson distribution.\",\"help\":\"DISPERSION=*name*\",\"type\":\"value\"},{\"name\":\"GDELTA=\",\"optional\":true,\"description\":\"Names the variable that contains estimates of g’δ for the Conway-Maxwell-Poisson distribution.\",\"help\":\"GDELTA=*name*\",\"type\":\"value\"},{\"name\":\"LAMBDA=\",\"optional\":true,\"description\":\"Names the variable that contains the estimate of λ for the Conway-Maxwell-Poisson distribution.\",\"help\":\"LAMBDA=*name*\",\"type\":\"value\"},{\"name\":\"MODE=\",\"optional\":true,\"description\":\"Names the variable that contains the integral part of μ (mode) for the Conway-Maxwell-Poisson distribution.\",\"help\":\"MODE=*name*\",\"type\":\"value\"},{\"name\":\"MU=\",\"optional\":true,\"description\":\"Names the variable that contains the estimate of μ or the Conway-Maxwell-Poisson distribution.\",\"help\":\"MU=*name*\",\"type\":\"value\"},{\"name\":\"NU=\",\"optional\":true,\"description\":\"Names the variable that contains the estimate of ν for the Conway-Maxwell-Poisson distribution.\",\"help\":\"NU=*name*\",\"type\":\"value\"},{\"name\":\"OUT=\",\"optional\":true,\"description\":\"Names the output data set.\",\"help\":\"OUT=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"PRED=\",\"optional\":true,\"aliases\":[\"MEAN=\"],\"description\":\"Names the variable containing the predicted value of the response variable.\",\"type\":\"value\"},{\"name\":\"PROB=\",\"optional\":true,\"description\":\"Names the variable containing the probability of the response variable taking the current value, Pr(Y=y).\",\"help\":\"PROB=*name*\",\"type\":\"value\"},{\"name\":\"PROBCOUNT\",\"optional\":true,\"description\":\"Outputs the probability that the response variable will take particular values.\",\"type\":\"standalone\"},{\"name\":\"PROBZERO=\",\"optional\":true,\"description\":\"Names the variable that contains the value of ϕ, the probability of the response variable taking on the value of zero as a result of the zero-generating process.\",\"help\":\"PROBZERO=*name*\",\"type\":\"value\"},{\"name\":\"VARIANCE=\",\"optional\":true,\"description\":\"Names the variable that contains the estimate of variance.\",\"help\":\"VARIANCE=*name*\",\"type\":\"value\"},{\"name\":\"XBETA=\",\"optional\":true,\"description\":\"Names the variable containing estimates of x'β.\",\"help\":\"XBETA=*name*\",\"type\":\"value\"},{\"name\":\"ZGAMMA=\",\"optional\":true,\"description\":\"Names the variable containing estimates of z'ϒ.\",\"help\":\"ZGAMMA=*name*\",\"type\":\"value\"}]},{\"name\":\"SHOW\",\"description\":\"The SHOW statement displays the contents of the item store. You can use the SHOW statement to verify the contents of the item store before proceeding with the analysis.\",\"help\":\"SHOW &lt;ALL&gt;&lt;CLASSLEVELS&gt;&lt;CORRELATION&gt; ...\",\"arguments\":[{\"name\":\"ALL\",\"optional\":true,\"aliases\":[\"_ALL_\"],\"description\":\"Displays all applicable contents\",\"type\":\"standalone\"},{\"name\":\"CLASSLEVELS\",\"optional\":true,\"aliases\":[\"CLASS\"],\"description\":\"Displays the \\\"Class Level Information\\\" table. This table is produced by the COUNTREG procedure by default if the model contains effects that depend on classification variables.\",\"type\":\"standalone\"},{\"name\":\"CORRELATION\",\"optional\":true,\"aliases\":[\"CORR\",\"CORRB\"],\"description\":\"Produces the correlation matrix of the parameter estimates.\",\"type\":\"standalone\"},{\"name\":\"COVARIANCE\",\"optional\":true,\"aliases\":[\"COV\",\"COVB\"],\"description\":\"shows all open SAS data sets.\",\"type\":\"standalone\"},{\"name\":\"EFFECTS\",\"optional\":true,\"description\":\"Displays information about the effects in the model.\",\"type\":\"standalone\"},{\"name\":\"FILES\",\"optional\":true,\"description\":\"Produces the covariance matrix of the parameter estimates.\",\"type\":\"standalone\"},{\"name\":\"FITSTATS\",\"optional\":true,\"aliases\":[\"FIT\",\"FITSUMMARY\"],\"description\":\"Displays the fit statistics from the item store.\",\"type\":\"standalone\"},{\"name\":\"PARAMETERS\",\"optional\":true,\"aliases\":[\"PARMS\"],\"description\":\"Displays the parameter estimates table from the item store.\",\"type\":\"standalone\"},{\"name\":\"PROGRAM\",\"optional\":true,\"aliases\":[\"PROG\"],\"description\":\"Displays the SAS program that generates the item store, provided that this was stored at store generation time. The program does not include comments, titles, or some other global statements.\",\"type\":\"standalone\"}]},{\"name\":\"SPATIALDISPEFFECTS\",\"description\":\"The SPATIALDISPEFFECTS statement adds the spatially weighted dispersion-spatial-effect-regressors to regressors that are specified in the DISPMODEL statement.\",\"help\":\"SPATIALDISPEFFECTS &lt;SELECT=INFO&lt;(selection-options)&gt; | SELECTVAR=INFO&lt;(selection-options)&gt;&gt;\",\"arguments\":[{\"name\":\"SELECT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"SELECTVAR=\"],\"description\":\"Requests that the variable selection method be based on an information criterion.\",\"help\":\"SELECT=DIRECTION= | CRITER=LSTOP= | MAXSTEPS= | RETAIN\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DIRECTION=\",\"type\":\"value\"},{\"name\":\"CRITER=\",\"type\":\"value\"},{\"name\":\"MAXSTEPS=\",\"type\":\"value\"},{\"name\":\"RETAIN\",\"type\":\"standalone\"}]}]},{\"name\":\"SPATIALEFFECTS\",\"description\":\"The SPATIALEFFECTS statement adds the spatially weighted model-spatial-effect-regressors to regressors that are specified in the MODEL statement.\",\"help\":\"SPATIALEFFECTS &lt;SELECT=INFO&lt;(selection-options)&gt; | SELECTVAR=INFO&lt;(selection-options)&gt;&gt;\",\"arguments\":[{\"name\":\"SELECT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"SELECTVAR=\"],\"description\":\"Requests that the variable selection method be based on an information criterion.\",\"help\":\"SELECT=DIRECTION= | CRITER=LSTOP= | MAXSTEPS= | RETAIN\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DIRECTION=\",\"type\":\"value\"},{\"name\":\"CRITER=\",\"type\":\"value\"},{\"name\":\"MAXSTEPS=\",\"type\":\"value\"},{\"name\":\"RETAIN\",\"type\":\"standalone\"}]}]},{\"name\":\"SPATIALID\",\"description\":\"For a spatial lag of X model, the SPATIALID statement specifies a variable that identifies a spatial unit for each observation in the two data sets that are provided by the DATA= and WMAT= options in the PROC COUNTREG statement.\",\"help\":\"SPATIALID variable\"},{\"name\":\"SPATIALZEROEFFECTS\",\"description\":\"The SPATIALZEROEFFECTS statement adds the spatially weighted zero-inflation-spatial-effect-regressors to regressors that are specified in the ZEROMODEL statement.\",\"help\":\"SPATIALZEROEFFECTS &lt;SELECT=INFO&lt;(selection-options)&gt; | SELECTVAR=INFO&lt;(selection-options)&gt;&gt;\",\"arguments\":[{\"name\":\"SELECT=\",\"optional\":true,\"aliases\":[\"SELECTVAR=\"],\"description\":\"Requests that the variable selection method be based on an information criterion.\",\"help\":\"SELECT=DIRECTION= | CRITER=LSTOP= | MAXSTEPS= | RETAIN\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DIRECTION=\",\"type\":\"value\"},{\"name\":\"CRITER=\",\"type\":\"value\"},{\"name\":\"MAXSTEPS=\",\"type\":\"value\"},{\"name\":\"RETAIN\",\"type\":\"standalone\"}]}]},{\"name\":\"STORE\",\"description\":\"The STORE statement saves the contents of the analysis to an item store in a binary format that cannot be modified. You can restore the stored information by specifying the RESTORE= option in the PROC COUNTREG statement and use it in postprocessing analysis.\",\"help\":\"STORE &lt;OUT=item-store-name&gt;\",\"arguments\":[{\"name\":\"OUT=\",\"optional\":true,\"description\":\"Specifies the item store name where the contents of the analysis are saved.\",\"help\":\"OUT=*item-store-name*\",\"type\":\"value\"}]},{\"name\":\"TEST\",\"description\":\"The TEST statement performs Wald, Lagrange multiplier, and likelihood ratio tests of linear hypotheses about the regression parameters that are specified in the preceding MODEL statement.\",\"help\":\"TEST &lt;ALL&gt;&lt;LM&gt;&lt;LR&gt; ...\",\"arguments\":[{\"name\":\"ALL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests Wald, Lagrange multiplier, and likelihood ratio tests.\",\"type\":\"standalone\"},{\"name\":\"LM\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests the Lagrange multiplier test.\",\"type\":\"standalone\"},{\"name\":\"LR\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests the likelihood ratio test.\",\"type\":\"standalone\"},{\"name\":\"WALD\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests the Wald test.\",\"type\":\"standalone\"}]},{\"name\":\"WEIGHT\",\"description\":\"The WEIGHT statement specifies a variable to supply weighting values to use for each observation in estimating parameters. The log likelihood for each observation is multiplied by the corresponding weight variable value. If the weight of an observation is nonpositive, that observation is not used in the estimation.\",\"help\":\"WEIGHT &lt;NONORMALIZE&gt;\",\"arguments\":[{\"name\":\"NONORMALIZE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Does not normalize the weights. By default, the weights are normalized so that they add up to the actual sample size.\",\"type\":\"standalone\"}]},{\"name\":\"ZEROMODEL\",\"description\":\"The ZEROMODEL statement is required if either ZIP or ZINB is specified in the DIST= option in the MODEL statement. If ZIP or ZINB is specified, then the ZEROMODEL statement must follow immediately after the MODEL statement. The dependent variable in the ZEROMODEL statement must be the same as the dependent variable in the MODEL statement. The zero-inflated (ZI) regressors appear in the equation that determines the probability of a zero count.\",\"help\":\"ZEROMODEL &lt;LINK=&lt;LOGISTIC | NORMAL&gt;&gt;&lt;OFFSET=variable&gt;\",\"arguments\":[{\"name\":\"LINK=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the distribution function used to compute probability of zeros.\",\"help\":\"LINK=LOGISTIC | NORMAL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"LOGISTIC\",\"followsDelimiter\":\"/\",\"description\":\"Specifies logistic distribution.\",\"type\":\"standalone\"},{\"name\":\"NORMAL\",\"followsDelimiter\":\"/\",\"description\":\"Specifies standard normal distribution.\",\"type\":\"standalone\"}]},{\"name\":\"OFFSET=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies a variable in the input data set to be used as a zero-inflated (ZI) offset variable.\",\"help\":\"OFFSET=*variable*\",\"type\":\"value\"}]}],\"supportSiteInformation\":{\"docsetId\":\"etsug\",\"docsetVersion\":\"latest\",\"docsetTargetFile\":\"etsug_countreg_toc.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/CPANEL.json",
    "content": "{\"name\":\"CPANEL\",\"statements\":[{\"name\":\"PROC CPANEL\",\"description\":\"The CPANEL procedure analyzes a class of linear econometric models that arise when time series and cross-sectional data are combined. This type of data is called panel data. Typical examples of panel data include observations over time on people, households, countries, or firms. For example, in the case of survey data on household income, the panel is created by repeatedly surveying the same households over many years. The individual entities that are followed over time are called cross sections.\",\"help\":\"PROC CPANEL <DATA=CAS-libref.data-table><NOPART><NOPRINT><PRINTALL>;     \\n\\tBY variables ;\\n\\n\\tCLASS <DESCENDING><MISSING><ORDER=<FORMATTED | FREQ | INTERNAL>> ...;\\n\\n\\tCOMPARE <MSTAT (mstat-list)><OUTPARM=CAS-libref.data-table><OUTSTAT=CAS-libref.data-table> ...;\\n\\n\\tCORRELATED effects;\\n\\n\\tENDOGENOUS <EQ=<BOTH | DIFF | LEVEL>> ;\\n\\n\\tID cross-section-id <time-series-id>;\\n\\n\\tINSTRUMENTS <EQ=<BOTH | DIFF | LEVEL>> ;\\n\\n\\tMODEL <AMACURDY><ARTESTS=integer><BIASCORRECTED> ...;\\n\\n\\tOUTPUT <COPYVAR=variable | COPYVARS=(variables)><OUT=CAS-libref.data-table><PREDICTED=name | P=name> ...;\\n\\n\\tPREDETERMINED <EQ=<BOTH | DIFF | LEVEL>> ;\\n\\n\\tRESTRICT equation <, equation2…> ;\\n\\n\\tTEST <ALL><LM><WALD> ...;\\n\",\"arguments\":[{\"name\":\"DATA=\",\"optional\":true,\"description\":\"Names the input data table for PROC CPANEL to use. The default is the most recently created data table. CAS-libref.data-table is a two-level name, where\",\"help\":\"DATA=*CAS-libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"NOPART\",\"optional\":true,\"description\":\"Prevents repartitioning of the data. Normally, the CPANEL procedure redistributes the data table so that observations for each cross section are not divided among multiple machines.\",\"type\":\"standalone\"},{\"name\":\"NOPRINT\",\"optional\":true,\"description\":\"Suppresses all printed output.\",\"type\":\"standalone\"},{\"name\":\"PRINTALL\",\"optional\":true,\"description\":\"Prints all available output.\",\"type\":\"standalone\"}]},{\"name\":\"BY\",\"description\":\"You can specify a BY statement in PROC CPANEL to obtain separate analyses of observations in groups that are defined by the values of the BY variables. If you specify more than one BY statement, only the last one specified is used.\",\"help\":\"BY variables \"},{\"name\":\"CLASS\",\"description\":\"The CLASS statement names the classification variables to be used as explanatory variables in the analysis.\",\"help\":\"CLASS &lt;DESCENDING&gt;&lt;MISSING&gt;&lt;ORDER=&lt;FORMATTED | FREQ | INTERNAL&gt;&gt; ...\",\"arguments\":[{\"name\":\"DESCENDING\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"DESC\"],\"description\":\"Reverses the sort order of the classification variable. If both the DESCENDING and ORDER= options are specified, PROC BCHOICE orders the categories according to the ORDER= option and then reverses that order.\",\"type\":\"standalone\"},{\"name\":\"MISSING\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Treats missing values (., ._, .A, …, .Z for numeric variables and blanks for character variables) as valid values for the CLASS variable.\",\"type\":\"standalone\"},{\"name\":\"ORDER=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the sort order for the levels of classification variables. This ordering determines which parameters in the model correspond to each level in the data. By default, ORDER=FORMATTED. For ORDER=FORMATTED and ORDER=INTERNAL, the sort order is machine-dependent. When ORDER=FORMATTED is in effect for numeric variables for which you have supplied no explicit format, the levels are ordered by their internal values.\",\"help\":\"ORDER=FORMATTED | FREQ | INTERNAL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"FORMATTED\",\"followsDelimiter\":\"/\",\"description\":\"Levels sorted by the external formatted value, except for numeric variables with no explicit format, which are sorted by their unformatted (internal) value.\",\"type\":\"standalone\"},{\"name\":\"FREQ\",\"followsDelimiter\":\"/\",\"description\":\"Levels sorted by the descending frequency count (levels that have more observations come ealier in the order).\",\"type\":\"standalone\"},{\"name\":\"INTERNAL\",\"followsDelimiter\":\"/\",\"description\":\"Levels sorted by the unformatted value. The sort order is machine-dependent.\",\"type\":\"standalone\"}]},{\"name\":\"PARAM=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the parameterization method for the classification variable or variables.\",\"help\":\"PARAM=EFFECT | GLM | ORDINAL|THERMOMETER | POLYNOMIAL|POLY | REFERENCE|REF | ORTHEFFECT | ORTHORDINAL|ORTHOTHERM | ORTHPOLY | ORTHREF\",\"type\":\"choice\",\"arguments\":[{\"name\":\"EFFECT\",\"followsDelimiter\":\"/\",\"description\":\"Specifies effect coding.\",\"type\":\"standalone\"},{\"name\":\"GLM\",\"followsDelimiter\":\"/\",\"description\":\"Specifies less-than-full-rank, reference-cell coding; this option can be used only as a global option.\",\"type\":\"standalone\"},{\"name\":\"ORDINAL\",\"followsDelimiter\":\"/\",\"description\":\"Specifies the cumulative parameterization for an ordinal CLASS variable.\",\"help\":\"ORDINAL|THERMOMETER\",\"type\":\"choice\"},{\"name\":\"POLYNOMIAL\",\"followsDelimiter\":\"/\",\"description\":\"Specifies polynomial coding.\",\"help\":\"POLYNOMIAL|POLY\",\"type\":\"choice\"},{\"name\":\"REFERENCE\",\"followsDelimiter\":\"/\",\"description\":\"Specifies reference-cell coding.\",\"help\":\"REFERENCE|REF\",\"type\":\"choice\"},{\"name\":\"ORTHEFFECT\",\"followsDelimiter\":\"/\",\"description\":\"Orthogonalizes PARAM=EFFECT.\",\"type\":\"standalone\"},{\"name\":\"ORTHORDINAL\",\"followsDelimiter\":\"/\",\"description\":\"Orthogonalizes PARAM=ORDINAL.\",\"help\":\"ORTHORDINAL|ORTHOTHERM\",\"type\":\"choice\"},{\"name\":\"ORTHPOLY\",\"followsDelimiter\":\"/\",\"description\":\"Orthogonalizes PARAM=POLYNOMIAL.\",\"type\":\"standalone\"},{\"name\":\"ORTHREF\",\"followsDelimiter\":\"/\",\"description\":\"Orthogonalizes PARAM=REFERENCE.\",\"type\":\"standalone\"}]},{\"name\":\"REFERENCE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"REF=\"],\"description\":\"Specifies the reference level that is used when you specify a nonsingular parameterization.\",\"help\":\"REFERENCE='&lt;level&gt;' | FIRST | LAST\",\"type\":\"choice\",\"arguments\":[{\"name\":\"'\",\"followsDelimiter\":\"/\",\"description\":\"Specifies the level of the variable to use as the reference level. Specify the formatted value of the variable if a format is assigned. Replace <level> with an actual value.\",\"help\":\"'&lt;level&gt;'\",\"type\":\"standalone\"},{\"name\":\"FIRST\",\"followsDelimiter\":\"/\",\"description\":\"Designates the first ordered level as reference.\",\"type\":\"standalone\"},{\"name\":\"LAST\",\"followsDelimiter\":\"/\",\"description\":\"Designates the last ordered level as reference.\",\"type\":\"standalone\"}]}]},{\"name\":\"COMPARE\",\"description\":\"The COMPARE statement creates tables of side-by-side comparisons of parameter estimates and other model statistics. You can fit multiple models simultaneously by specifying multiple MODEL statements, and you can specify a COMPARE statement to create tables that compare the models. The COMPARE statement creates two tables: the first table compares model fit statistics such as R-square and mean square error; the second table compares regression coefficients, their standard errors, and (optionally) t tests.\",\"help\":\"COMPARE &lt;MSTAT (mstat-list)&gt;&lt;OUTPARM=CAS-libref.data-table&gt;&lt;OUTSTAT=CAS-libref.data-table&gt; ...\",\"arguments\":[{\"name\":\"MSTAT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies a list of model fit statistics to be displayed. A set of statistics is displayed by default, but you can use this option to specify a custom set of model statistics. The mstat-list can contain one or more of the following keywords:\",\"help\":\"MSTAT=ALL | DFE | F | FNUMDF | FDENDF | M | MDF | MSE | NCS | NOBS | NONE | NTS | PROBF | PROBM | RMSE | RSQUARE | SSE | VARCS | VARERR | VARTS\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ALL\",\"type\":\"standalone\"},{\"name\":\"DFE\",\"type\":\"standalone\"},{\"name\":\"F\",\"type\":\"standalone\"},{\"name\":\"FNUMDF\",\"type\":\"standalone\"},{\"name\":\"FDENDF\",\"type\":\"standalone\"},{\"name\":\"M\",\"type\":\"standalone\"},{\"name\":\"MDF\",\"type\":\"standalone\"},{\"name\":\"MSE\",\"type\":\"standalone\"},{\"name\":\"NCS\",\"type\":\"standalone\"},{\"name\":\"NOBS\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"type\":\"standalone\"},{\"name\":\"NTS\",\"type\":\"standalone\"},{\"name\":\"PROBF\",\"type\":\"standalone\"},{\"name\":\"PROBM\",\"type\":\"standalone\"},{\"name\":\"RMSE\",\"type\":\"standalone\"},{\"name\":\"RSQUARE\",\"type\":\"standalone\"},{\"name\":\"SSE\",\"type\":\"standalone\"},{\"name\":\"VARCS\",\"type\":\"standalone\"},{\"name\":\"VARERR\",\"type\":\"standalone\"},{\"name\":\"VARTS\",\"type\":\"standalone\"}]},{\"name\":\"OUTPARM=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Names an output data set to contain the data from the comparison table for parameter estimates, standard errors, and t tests. CAS-libref.data-table is a two-level name, where CAS-libref refers to the caslib and session identifier, and data-table specifies the name of the output data table.\",\"help\":\"OUTPARM=*CAS-libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"OUTSTAT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Names an output data set to contain the data from the comparison table for model fit statistics, such as R-square and mean square error. CAS-libref.data-table is a two-level name, where CAS-libref refers to the caslib and session identifier, and data-table specifies the name of the output data table.\",\"help\":\"OUTSTAT=*CAS-libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"PSTAT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies a list of parameter statistics to be displayed. By default, estimated regression coefficients and their standard errors are displayed. Use this option to specify a custom set of parameter statistics. pstat-list can contain one or more of the following keywords:\",\"help\":\"PSTAT=ALL | ESTIMATE | NONE | STDERR | PROBT | T\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ALL\",\"type\":\"standalone\"},{\"name\":\"ESTIMATE\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"type\":\"standalone\"},{\"name\":\"STDERR\",\"type\":\"standalone\"},{\"name\":\"PROBT\",\"type\":\"standalone\"},{\"name\":\"T\",\"type\":\"standalone\"}]}]},{\"name\":\"CORRELATED\",\"description\":\"The CORRELATED statement selects the subset of effects from the MODEL statement that are correlated with the individual (or cross-sectional) error term. This statement is valid only when you specify the AMACURDY or HTAYLOR model estimation method in the MODEL statement.\",\"help\":\"CORRELATED effects\"},{\"name\":\"ENDOGENOUS\",\"description\":\"The ENDOGENOUS statement declares a set of effects that are treated as endogenous during estimation, and is valid only when performing either instrumental variables regression or dynamic panel estimation.\",\"help\":\"ENDOGENOUS &lt;EQ=&lt;BOTH | DIFF | LEVEL&gt;&gt;\",\"arguments\":[{\"name\":\"EQ=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies which equations include the endogenous instruments.\",\"help\":\"EQ=BOTH | DIFF | LEVEL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"BOTH\",\"followsDelimiter\":\"/\",\"description\":\"Includes the endogenous instruments in both the difference and level equations.\",\"type\":\"standalone\"},{\"name\":\"DIFF\",\"followsDelimiter\":\"/\",\"description\":\"Includes the endogenous instruments only in the difference equations.\",\"type\":\"standalone\"},{\"name\":\"LEVEL\",\"followsDelimiter\":\"/\",\"description\":\"Includes the endogenous instruments only in the level equations.\",\"type\":\"standalone\"}]}]},{\"name\":\"ID\",\"description\":\"The ID statement specifies variables in the input data set that identify the cross section and time period for each observation. Sometimes estimation does not require a time variable, in which case specifying the time-series-id variable is optional.\",\"help\":\"ID cross-section-id &lt;time-series-id&gt;\"},{\"name\":\"INSTRUMENTS\",\"description\":\"The INSTRUMENTS statement specifies instrumental variables and effects, and is valid only when performing either instrumental variables regression or dynamic panel estimation.\",\"help\":\"INSTRUMENTS &lt;EQ=&lt;BOTH | DIFF | LEVEL&gt;&gt;\",\"arguments\":[{\"name\":\"EQ=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies which equations include the standard instruments.\",\"help\":\"EQ=BOTH | DIFF | LEVEL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"BOTH\",\"followsDelimiter\":\"/\",\"description\":\"Includes the standard instruments in both the difference and level equations.\",\"type\":\"standalone\"},{\"name\":\"DIFF\",\"followsDelimiter\":\"/\",\"description\":\"Includes the standard instruments only in the difference equations.\",\"type\":\"standalone\"},{\"name\":\"LEVEL\",\"followsDelimiter\":\"/\",\"description\":\"Includes the standard instruments only in the level equations.\",\"type\":\"standalone\"}]}]},{\"name\":\"MODEL\",\"description\":\"The MODEL statement specifies the regression model, the error structure that is assumed for the regression residuals, and the estimation technique to be used. The response variable (response) on the left side of the equal sign is regressed on the independent variables (effects), which are listed after the equal sign. You can specify any number of MODEL statements. For each MODEL statement, you can specify only one response.\",\"help\":\"MODEL &lt;AMACURDY&gt;&lt;ARTESTS=integer&gt;&lt;BIASCORRECTED&gt; ...\",\"arguments\":[{\"name\":\"AMACURDY\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests Amemiya-MaCurdy estimation for a model that has correlated individual (cross-sectional) effects. You specify the correlated effects by using the CORRELATED statement.\",\"type\":\"standalone\"},{\"name\":\"ARTESTS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the maximum order of the test for the presence of autoregression (AR) effects. By default, ARTESTS=2.\",\"help\":\"ARTESTS=*integer*\",\"type\":\"value\"},{\"name\":\"BIASCORRECTED\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Computes the bias-corrected covariance matrix of the two-step generalized method of moments (GMM) estimator.\",\"type\":\"standalone\"},{\"name\":\"BTWNG\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Estimates a between-groups model.\",\"type\":\"standalone\"},{\"name\":\"DLAGS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the number of dependent-variable lags to use as regressors. By default, DLAGS=1.\",\"help\":\"DLAGS=*integer*\",\"type\":\"value\"},{\"name\":\"DYNDIFF\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Estimates a dynamic panel by using the generalized method of moments (GMM) on equations that are formed by first differencing.\",\"type\":\"standalone\"},{\"name\":\"DYNSYS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Estimates a dynamic panel by using GMM on the system that combines first-differenced equations and level equations.\",\"type\":\"standalone\"},{\"name\":\"FDONE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Estimates a one-way model by using first-differenced methods.\",\"type\":\"standalone\"},{\"name\":\"FIXONE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Estimates a one-way fixed-effects model that corresponds to cross-sectional effects only.\",\"type\":\"standalone\"},{\"name\":\"FIXTWO\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Estimates a two-way fixed-effects model.\",\"type\":\"standalone\"},{\"name\":\"GINV=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies what type of generalized inverse to use.\",\"help\":\"GINV=G2 | G4\",\"type\":\"choice\",\"arguments\":[{\"name\":\"G2\",\"followsDelimiter\":\"/\",\"description\":\"Uses the G2 generalized inverse.\",\"type\":\"standalone\"},{\"name\":\"G4\",\"followsDelimiter\":\"/\",\"description\":\"Uses the G4 generalized inverse.\",\"type\":\"standalone\"}]},{\"name\":\"GMM=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the number of GMM stages to use in the estimation.\",\"help\":\"GMM=ONESTEP | TWOSTEP\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ONESTEP\",\"followsDelimiter\":\"/\",\"description\":\"Uses one-step GMM, which is computationally simple but dependent on model assumptions.\",\"type\":\"standalone\"},{\"name\":\"TWOSTEP\",\"followsDelimiter\":\"/\",\"description\":\"Uses two-step GMM, which is computationally intensive but more robust to violations of model assumptions.\",\"type\":\"standalone\"}]},{\"name\":\"HTAYLOR\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests Hausman-Taylor estimation for a model that has correlated individual (cross-sectional) effects. You specify the correlated effects by using the CORRELATED statement.\",\"type\":\"standalone\"},{\"name\":\"IBVTWNG\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests instrumental variables between-groups estimation for a model that has endogenous effects. You specify the endogenous effects by using the ENDOGENOUS statement, and you specify external instruments by using the INSTRUMENTS statement.\",\"type\":\"standalone\"},{\"name\":\"IVFIXONE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests instrumental variables one-way fixed-effects estimation for a model that has endogenous effects. You specify the endogenous effects by using the ENDOGENOUS statement, and you specify external instruments by using the INSTRUMENTS statement.\",\"type\":\"standalone\"},{\"name\":\"IVPOOLED\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests instrumental variables pooled regression. You specify the endogenous effects by using the ENDOGENOUS statement, and you specify external instruments by using the INSTRUMENTS statement.\",\"type\":\"standalone\"},{\"name\":\"IVRANONE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests instrumental variables one-way random-effects estimation for a model that has endogenous effects. You specify the endogenous effects by using the ENDOGENOUS statement, and you specify external instruments by using the INSTRUMENTS statement.\",\"type\":\"standalone\"},{\"name\":\"MAXBAND=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"If specified, sets the maximum number of GMM-style instruments per observation, for each variable.\",\"help\":\"MAXBAND=*integer*\",\"type\":\"value\"},{\"name\":\"NOINT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Suppresses the intercept parameter from the model.\",\"type\":\"standalone\"},{\"name\":\"NOLABEL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses variable labels from the printed output.\",\"type\":\"standalone\"},{\"name\":\"POOLED\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies a pooled (OLS) model.\",\"type\":\"standalone\"},{\"name\":\"PRINTFIXED\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Estimates and prints the fixed effects in models where they would normally be absorbed within the estimation.\",\"type\":\"standalone\"},{\"name\":\"RANONE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Estimates a one-way random-effects model.\",\"type\":\"standalone\"},{\"name\":\"RANTWO\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Estimates a two-way random-effects model.\",\"type\":\"standalone\"},{\"name\":\"ROBUST\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Computes the robust covariance matrix of the generalized method of moments (GMM) estimator.\",\"type\":\"standalone\"},{\"name\":\"VCOMP=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the type of variance component estimate to use. By default, VCOMP=SA.\",\"help\":\"VCOMP=FB | NL | SA | WH\",\"type\":\"choice\",\"arguments\":[{\"name\":\"FB\",\"followsDelimiter\":\"/\",\"description\":\"Uses the Fuller-Battese method.\",\"type\":\"standalone\"},{\"name\":\"NL\",\"followsDelimiter\":\"/\",\"description\":\"Uses the Nerlove method.\",\"type\":\"standalone\"},{\"name\":\"SA\",\"followsDelimiter\":\"/\",\"description\":\"Uses the Swamy-Arora method.\",\"type\":\"standalone\"},{\"name\":\"WH\",\"followsDelimiter\":\"/\",\"description\":\"Uses the Wallace-Hussain method.\",\"type\":\"standalone\"}]}]},{\"name\":\"OUTPUT\",\"description\":\"The OUTPUT statement creates a data table that contains observationwise statistics that PROC CPANEL computes after fitting the model. In order to avoid data duplication for large data tables, only the identification and dependent variables are included in the output data table unless you specify additional variables in the COPYVAR= option. To avoid further data duplication, the OUTPUT statement is allowed only with MODEL statements that request a single estimation. If you have multiple MODEL statements, then each OUTPUT statement is associated with the MODEL statement that immediately precedes it.\",\"help\":\"OUTPUT &lt;COPYVAR=variable | COPYVARS=(variables)&gt;&lt;OUT=CAS-libref.data-table&gt;&lt;PREDICTED=name | P=name&gt; ...\",\"arguments\":[{\"name\":\"COPYVAR=\",\"optional\":true,\"aliases\":[\"COPYVARS=\"],\"description\":\"Transfers one or more variables from the input data set to the output data table.\",\"type\":\"value\"},{\"name\":\"OUT=\",\"optional\":true,\"description\":\"Names the output data table for PROC CPANEL to use. You must specify this option before any other options. CAS-libref.data-table is a two-level name, where\",\"help\":\"OUT=*CAS-libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"PREDICTED=\",\"optional\":true,\"aliases\":[\"P=\"],\"description\":\"Writes the predicted values to the output data set.\",\"type\":\"value\"},{\"name\":\"RESIDUAL=\",\"optional\":true,\"aliases\":[\"R=\"],\"description\":\"Writes the residuals to the output data set.\",\"type\":\"value\"}]},{\"name\":\"PREDETERMINED\",\"description\":\"The PREDETERMINED statement specifies a set of variables whose instruments follow a prescribed form that is appropriate for predetermined regressors, and is valid only when you perform dynamic panel estimation by specifying the DYNDIFF or DYNSYS options in the MODEL statement.\",\"help\":\"PREDETERMINED &lt;EQ=&lt;BOTH | DIFF | LEVEL&gt;&gt;\",\"arguments\":[{\"name\":\"EQ=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies which equations include the standard instruments.\",\"help\":\"EQ=BOTH | DIFF | LEVEL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"BOTH\",\"followsDelimiter\":\"/\",\"description\":\"Includes the predetermined instruments in both the difference and level equations.\",\"type\":\"standalone\"},{\"name\":\"DIFF\",\"followsDelimiter\":\"/\",\"description\":\"Includes the predetermined instruments only in the difference equations.\",\"type\":\"standalone\"},{\"name\":\"LEVEL\",\"followsDelimiter\":\"/\",\"description\":\"Includes the predetermined instruments only in the level equations.\",\"type\":\"standalone\"}]}]},{\"name\":\"RESTRICT\",\"description\":\"The RESTRICT statement specifies linear equality restrictions on the parameters in the previous MODEL statement. There can be as many unique restrictions as the number of parameters in the preceding MODEL statement. Multiple RESTRICT statements are understood as joint restrictions on a model’s parameters. Restrictions on the intercept are obtained by the use of the INTERCEPT keyword. RESTRICT statements before the first MODEL statement are automatically associated with the first MODEL statement, in addition to any RESTRICT statements that follow it but precede subsequent MODEL statements.\",\"help\":\"RESTRICT equation &lt;, equation2…&gt; \"},{\"name\":\"TEST\",\"description\":\"The TEST statement performs Wald, Lagrange multiplier, and likelihood ratio tests of linear hypotheses about the regression parameters in the preceding MODEL statement. Like RESTRICT statements, TEST statements before the first MODEL statement are automatically associated with the first MODEL statement, in addition to any TEST statements that follow it but precede subsequent MODEL statements.\",\"help\":\"TEST &lt;ALL&gt;&lt;LM&gt;&lt;WALD&gt; ...\",\"arguments\":[{\"name\":\"ALL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests Wald, Lagrange multiplier, and likelihood ratio tests.\",\"type\":\"standalone\"},{\"name\":\"LM\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests the Lagrange multiplier test.\",\"type\":\"standalone\"},{\"name\":\"LR\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests the likelihood ratio test.\",\"type\":\"standalone\"},{\"name\":\"WALD\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests the Wald test.\",\"type\":\"standalone\"}]}],\"supportSiteInformation\":{\"docsetId\":\"casecon\",\"docsetVersion\":\"latest\",\"docsetTargetFile\":\"casecon_cpanel_toc.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/CPM.json",
    "content": "{\"name\":\"CPM\",\"statements\":[{\"name\":\"PROC CPM\",\"description\":\"The CPM procedure can be used for planning, controlling, and monitoring a project. A typical project consists of several activities that may have precedence and time constraints. Some of these activities may already be in progress; some of them may follow different work schedules. All of the activities may compete for scarce resources. PROC CPM enables you to schedule activities subject to all of these constraints. † PROC CPM enables you to define calendars and specify holidays for the different activities so that you can schedule around holidays and vacation periods. Once a project has started, you can monitor it by specifying current information or progress data that is used by PROC CPM to compute an updated schedule. You can compare the new schedule with a baseline (or target) schedule.\",\"help\":\"PROC CPM <ADDACT><CALEDATA=SAS-data-set><COLLAPSE><DATA=SAS-data-set><DATE=><DAYLENGTH=daylength><DAYSTART=daystart><FBDATE=fbdate><FINISHBEFORE><FIXFINISH><HOLIDATA=SAS-data-set><INTERVAL=DAY | WEEK | WEEKDAY... ><INTPER=period><NACTS=nacts><NADJ=nadj><NNODES=nnodes><NOUTIL><NRESREQ=nres><OUT=SAS-data-set><RESOURCEIN= |RESIN=| RIN= | RESLEVEL= SAS-data-set><RESOURCEOUT=SAS-data-set><RESOURCESCHED=SAS-data-set><SETFINISHMILESTONE><SUPPRESSOBSWARN><WORKDATA=SAS-data-set><XFERVARS>;     \\n\\tACTIVITY variable ; | ACT variable ;\\n\\n\\tACTUAL <AUTOUPDT><A_FINISH= | AF= variable><A_START= | AS= variable> ...;\\n\\n\\tALIGNDATE | DATE | ADATE variable ;\\n\\n\\tALIGNTYPE | ALIGN | ATYPE variable ;\\n\\n\\tBASELINE <B_FINISH= | BF= variable><B_START= | BS= variable><COMPARE=schedule> ...;\\n\\n\\tCALID variable ;\\n\\n\\tDURATION <FINISH=variable><OVERRIDEDUR><START=variable> ...;\\n\\n\\tHEADNODE | HEAD | TO variable ;\\n\\n\\tHOLIDAY <HOLIDUR= | HDURATION= variable><HOLIFIN=variable | HOLIEND=variable> ;\\n\\n\\tID variables ;\\n\\n\\tPROJECT <AGGREGATEPARENTRES><DESCENDING><ESORDER> ...;\\n\\n\\tRESOURCE <ACTDELAY=variable><ACTIVITYPRTY=variable><ADDCAL> ...;\\n\\n\\tSUCCESSOR <ALAGCAL=calname><LAG=variables><NLAGCAL=calnum> ...;\\n\\n\\tTAILNODE | TAIL | FROM variable ;\\n\",\"arguments\":[{\"name\":\"ADDACT\",\"optional\":true,\"aliases\":[\"ADDALLACT\",\"EXPAND\"],\"description\":\"Indicates that an observation is to be added to the Schedule output data set (and the Resource Schedule output data set) for each activity that appears as a value of the variables specified in the SUCCESSOR or PROJECT statements without appearing as a value of the variable specified in the ACTIVITY statement.\",\"type\":\"standalone\"},{\"name\":\"CALEDATA=\",\"optional\":true,\"aliases\":[\"CALENDAR=\"],\"description\":\"Identifies a SAS data set that specifies the work pattern during a standard week for each of the calendars that are to be used in the project.\",\"help\":\"CALEDATA=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"COLLAPSE\",\"optional\":true,\"description\":\"Creates only one observation per activity in the output data set when the input data set for a network in AON format contains multiple observations for the same activity.\",\"type\":\"standalone\"},{\"name\":\"DATA=\",\"optional\":true,\"description\":\"Names the SAS data set that contains the network specification and activity information.\",\"help\":\"DATA=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"DATE=\",\"optional\":true,\"description\":\"Specifies the SAS date, time, or datetime that is to be used as an alignment date for the project.\",\"type\":\"value\"},{\"name\":\"DAYLENGTH=\",\"optional\":true,\"description\":\"Specifies the length of the workday. On each day, work is scheduled starting at the beginning of the day as specified in the DAYSTART= option and ending daylength hours later. The DAYLENGTH= value should be a SAS time value.\",\"help\":\"DAYLENGTH=*daylength*\",\"type\":\"value\"},{\"name\":\"DAYSTART=\",\"optional\":true,\"description\":\"Specifies the start of the workday. The DAYSTART= value should be a SAS time value. This parameter should be specified only when interval is one of the following: DTDAY, WORKDAY, DTWRKDAY, DTHOUR, DTMINUTE, or DTSECOND; in other words, this parameter should be specified only if the schedule produced by the CPM procedure is in SAS datetime values. The default value of daystart is 9 a.m. if INTERVAL is WORKDAY; otherwise, the value of daystart is equal to the time part of the SAS datetime value specified for the DATE= option.\",\"help\":\"DAYSTART=*daystart*\",\"type\":\"value\"},{\"name\":\"FBDATE=\",\"optional\":true,\"description\":\"Specifies a finish-before date that can be specified in addition to the DATE= option.\",\"help\":\"FBDATE=*fbdate*\",\"type\":\"value\"},{\"name\":\"FINISHBEFORE\",\"optional\":true,\"description\":\"Specifies that the project be scheduled to complete before the date given in the DATE= option.\",\"type\":\"standalone\"},{\"name\":\"FIXFINISH\",\"optional\":true,\"description\":\"Specifies that all finish tasks are to be constrained by their respective early finish times. In other words, the late finish times of all finish tasks do not float to the project completion time.\",\"type\":\"standalone\"},{\"name\":\"HOLIDATA=\",\"optional\":true,\"aliases\":[\"HOLIDAY=\"],\"description\":\"Identifies a SAS data set that specifies holidays.\",\"help\":\"HOLIDATA=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"INTERVAL=\",\"optional\":true,\"description\":\"Requests that each unit of duration be measured in interval units.\",\"help\":\"INTERVAL=DAY | WEEK | WEEKDAY | WORKDAY | MONTH | QTR | YEAR | HOUR | MINUTE | SECOND | DTDAY | DTWRKDAY | DTWEEK | DTMONTH | DTQTR | DTYEAR | DTHOUR | DTMINUTE | DTSECOND\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DAY\",\"description\":\"Day\",\"type\":\"standalone\"},{\"name\":\"WEEK\",\"description\":\"Week\",\"type\":\"standalone\"},{\"name\":\"WEEKDAY\",\"description\":\"Day (5-day week)\",\"type\":\"standalone\"},{\"name\":\"WORKDAY\",\"description\":\"Day (5-day week: 9-5 day)\",\"type\":\"standalone\"},{\"name\":\"MONTH\",\"description\":\"Month\",\"type\":\"standalone\"},{\"name\":\"QTR\",\"description\":\"Quarter\",\"type\":\"standalone\"},{\"name\":\"YEAR\",\"description\":\"Year\",\"type\":\"standalone\"},{\"name\":\"HOUR\",\"description\":\"Hour\",\"type\":\"standalone\"},{\"name\":\"MINUTE\",\"description\":\"Minute\",\"type\":\"standalone\"},{\"name\":\"SECOND\",\"description\":\"Second\",\"type\":\"standalone\"},{\"name\":\"DTDAY\",\"description\":\"Day (7-day week)\",\"type\":\"standalone\"},{\"name\":\"DTWRKDAY\",\"description\":\"Day (5-day week)\",\"type\":\"standalone\"},{\"name\":\"DTWEEK\",\"description\":\"Week\",\"type\":\"standalone\"},{\"name\":\"DTMONTH\",\"description\":\"Month\",\"type\":\"standalone\"},{\"name\":\"DTQTR\",\"description\":\"Quarter\",\"type\":\"standalone\"},{\"name\":\"DTYEAR\",\"description\":\"Year\",\"type\":\"standalone\"},{\"name\":\"DTHOUR\",\"description\":\"Hour\",\"type\":\"standalone\"},{\"name\":\"DTMINUTE\",\"description\":\"Minute\",\"type\":\"standalone\"},{\"name\":\"DTSECOND\",\"description\":\"Second\",\"type\":\"standalone\"}]},{\"name\":\"INTPER=\",\"optional\":true,\"description\":\"Requests that each unit of duration be equivalent to period units of duration. The default value is 1.\",\"help\":\"INTPER=*period*\",\"type\":\"value\"},{\"name\":\"NACTS=\",\"optional\":true,\"description\":\"Specifies the number of activities for which memory is allocated in core by the procedure.\",\"help\":\"NACTS=*nacts*\",\"type\":\"value\"},{\"name\":\"NADJ=\",\"optional\":true,\"description\":\"Specifies the number of precedence constraints (adjacencies) in the project network.\",\"help\":\"NADJ=*nadj*\",\"type\":\"value\"},{\"name\":\"NNODES=\",\"optional\":true,\"description\":\"Specifies the size of the symbolic table used to look up the activity names (node names) for the network specification in AON (AOA) format.\",\"help\":\"NNODES=*nnodes*\",\"type\":\"value\"},{\"name\":\"NOUTIL\",\"optional\":true,\"description\":\"Specifies that the procedure should not use utility data sets for memory management.\",\"type\":\"standalone\"},{\"name\":\"NRESREQ=\",\"optional\":true,\"description\":\"Specifies the number of distinct resource requirements corresponding to all activities and resources in the project.\",\"help\":\"NRESREQ=*nres*\",\"type\":\"value\"},{\"name\":\"OUT=\",\"optional\":true,\"description\":\"Specifies a name for the output data set that contains the schedule determined by PROC CPM.\",\"help\":\"OUT=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"RESOURCEIN=\",\"optional\":true,\"aliases\":[\"RESIN=\",\"SIN=\",\"RESLEVEL=\"],\"description\":\"Names the SAS data set that contains the levels available for the different resources used by the activities in the project.\",\"type\":\"value\"},{\"name\":\"RESOURCEOUT=\",\"optional\":true,\"aliases\":[\"RESOUT=\",\"ROUT=\",\"RESUSAGE=\"],\"description\":\"Names the SAS data set in which you can save resource usage profiles for each of the resources specified in the RESOURCE statement. This data set is also referred to as the Usage data set.\",\"help\":\"RESOURCEOUT=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"RESOURCESCHED=\",\"optional\":true,\"aliases\":[\"RESSCHED=\",\"RSCHEDULE=\",\"RSCHED=\"],\"description\":\"Names the SAS data set in which you can save the schedules for each resource used by any activity.\",\"help\":\"RESOURCESCHED=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"SETFINISHMILESTONE\",\"optional\":true,\"description\":\"Specifies that milestones (zero duration activities) should have the same start and finish times as the finish time of their predecessor.\",\"type\":\"standalone\"},{\"name\":\"SUPPRESSOBSWARN\",\"optional\":true,\"description\":\"Turns off the display of warnings and notes for every observation with invalid or missing specifications.\",\"type\":\"standalone\"},{\"name\":\"WORKDATA=\",\"optional\":true,\"description\":\"Identifies a SAS data set that defines the work pattern during a standard working day.\",\"help\":\"WORKDATA=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"XFERVARS\",\"optional\":true,\"description\":\"Indicates that all relevant variables are to be copied from the Activity data set to the Schedule data set. This includes all variables used in the ACTUAL statement, the ALIGNDATE and ALIGNTYPE statements, the SUCCESSOR statement, and the RESOURCE statement.\",\"type\":\"standalone\"}]},{\"name\":\"ACTIVITY\",\"aliases\":[\"ACT\"],\"description\":\"The ACTIVITY statement is required when data are input in an AON format; this statement identifies the variable that contains the names of the nodes in the network.\",\"help\":\"ACTIVITY variable ; | ACT variable \"},{\"name\":\"ACTUAL\",\"description\":\"The ACTUAL statement identifies variables in the Activity data set that contain progress information about the activities in the project. For a project that is already in progress, you can describe the actual status of any activity by specifying the activity's actual start, actual finish, remaining duration, or percent of work completed. At least one of the four variables (A_START, A_FINISH, REMDUR, PCTCOMP) needs to be specified in the ACTUAL statement. These variables are referred to as progress variables. The TIMENOW= option in this statement represents the value of the current time (referred to as TIMENOW), and it is used in conjunction with the values of the progress variables to check for consistency and to determine default values if necessary. You can also specify options in the ACTUAL statement that control the updating of the project schedule. Using the ACTUAL statement causes four new variables (A_START, A_FINISH, A_DUR, and STATUS) to be added to the Schedule data set\",\"help\":\"ACTUAL &lt;AUTOUPDT&gt;&lt;A_FINISH= | AF= variable&gt;&lt;A_START= | AS= variable&gt; ...\",\"arguments\":[{\"name\":\"AUTOUPDT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that PROC CPM should assume automatic completion (or start) of activities that are predecessors to activities already completed (or in progress).\",\"type\":\"standalone\"},{\"name\":\"A_FINISH=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"AF=\"],\"description\":\"Identifies a variable in the Activity data set that specifies the actual finish times of activities that are already completed. The actual finish time of an activity must be less than TIMENOW.\",\"type\":\"value\"},{\"name\":\"A_START=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"AS=\"],\"description\":\"Identifies a variable in the Activity data set that specifies the actual start times of activities that are in progress or that are already completed. The actual start time of an activity must be less than TIMENOW.\",\"type\":\"value\"},{\"name\":\"ESTIMATEPCTC\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"ESTPCTC\",\"ESTPCTCOMP\",\"ESTPROG\"],\"description\":\"Indicates that a variable named PCT_COMP is to be added to the Schedule output data set (and the Resource Schedule output data set) that contains the percent completion time for each activity (for each resource used by each activity) in the project. This value is 0 for activities that have not yet started and 100 for completed activities; for activities in progress, this value is computed using the actual start time, the value of TIMENOW, and the revised duration of the activity.\",\"type\":\"standalone\"},{\"name\":\"FIXASTART\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies that the actual start time of an activity should not be overwritten if it is specified to be on a non-work day.\",\"type\":\"standalone\"},{\"name\":\"NOAUTOUPDT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that PROC CPM should not assume automatic completion of activities. (The NOAUTOUPDT option is the reverse of the AUTOUPDT option.)\",\"type\":\"standalone\"},{\"name\":\"PCTCOMP=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"PCTCOMPLETE=\",\"PCOMP=\"],\"description\":\"Identifies a variable in the Activity data set that specifies the percentage of the work that has been completed for the current activity. The values for this variable must be between 0 and 100. A value of 0 for this variable means that the current activity has not yet started. A value of 100 means that the activity is already complete.\",\"type\":\"value\"},{\"name\":\"REMDUR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"RDURATION=\",\"RDUR=\"],\"description\":\"Identifies a variable in the Activity data set that specifies the remaining duration of activities that are in progress.\",\"type\":\"value\"},{\"name\":\"SHOWFLOAT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"This option in the ACTUAL statement indicates that PROC CPM should allow activities that are completed or in progress to have nonzero float.\",\"type\":\"standalone\"},{\"name\":\"TIMENOW=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"CURRDATE=\"],\"description\":\"Specifies the SAS date, time, or datetime value that is used as a reference point to resolve the values of the remaining duration and percent completion times when the ACTUAL statement is used.\",\"help\":\"TIMENOW=*timenow*\",\"type\":\"value\"},{\"name\":\"TIMENOWSPLT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Indicates that activities that are in progress at TIMENOW can be split at TIMENOW if they cause resource infeasibilities.\",\"type\":\"standalone\"}]},{\"name\":\"ALIGNDATE\",\"aliases\":[\"DATE\",\"ADATE\"],\"description\":\"The ALIGNDATE statement identifies the variable in the Activity data set that specifies the dates to be used to constrain each activity to start or finish on a particular date. The ALIGNDATE statement is used in conjunction with the ALIGNTYPE statement, which specifies the type of alignment. A missing value for the variables specified in the ALIGNDATE statement indicates that the particular activity has no restriction imposed on it. PROC CPM requires that if the ALIGNDATE statement is used, then all start activities (activities with no predecessors) have nonmissing values for the ALIGNDATE variable. If any start activity has a missing ALIGNDATE value, it is assumed to start on the date specified in the PROC CPM statement (if such a date is given) or, if no date is given, on the earliest specified start date of all start activities. If none of the start activities has a start date specified and a project start date is not specified in the PROC CPM statement, the procedure stops execution and returns an error message.\",\"help\":\"ALIGNDATE | DATE | ADATE variable \"},{\"name\":\"ALIGNTYPE\",\"aliases\":[\"ALIGN\",\"ATYPE\"],\"description\":\"The ALIGNTYPE statement is used to specify whether the date value in the ALIGNDATE statement is the earliest start date, the latest finish date, and so forth, for the activity in the observation. The values allowed for the variable specified in the ALIGNTYPE statement are: SEQ Start equal to SGE Start greater than or equal to SLE Start less than or equal to FEQ Finish equal to FGE Finish greater than or equal to FLE Finish less than or equal to MS Mandatory start equal to MF Mandatory finish equal to\",\"help\":\"ALIGNTYPE | ALIGN | ATYPE variable \"},{\"name\":\"BASELINE\",\"description\":\"The BASELINE statement enables you to save a specific schedule as a baseline or target schedule and compare another schedule, such as an updated schedule or resource constrained schedule, against it.\",\"help\":\"BASELINE &lt;B_FINISH= | BF= variable&gt;&lt;B_START= | BS= variable&gt;&lt;COMPARE=schedule&gt; ...\",\"arguments\":[{\"name\":\"B_FINISH=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"BF=\"],\"description\":\"Specifies the numeric-valued variable in the Activity data set that sets B_FINISH.\",\"type\":\"value\"},{\"name\":\"B_START=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"BS=\"],\"description\":\"Specifies the numeric-valued variable in the Activity data set that sets B_START.\",\"type\":\"value\"},{\"name\":\"COMPARE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Compares a specific schedule (EARLY, LATE, RESOURCE or ACTUAL) in the Activity data set with the baseline schedule.\",\"help\":\"COMPARE=*schedule*\",\"type\":\"value\"},{\"name\":\"SET=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies which of the four schedules (EARLY, LATE, RESOURCE, or ACTUAL) to set the baseline schedule equal to. The SET= option causes the addition of two new variables in the Schedule data set; these are the B_START and B_FINISH variables.\",\"help\":\"SET=*schedule*\",\"type\":\"value\"},{\"name\":\"UPDATE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the name of the schedule (EARLY, LATE, ACTUAL, or RESOURCE) that can be used to update the B_START and B_FINISH variables.\",\"help\":\"UPDATE=*schedule*\",\"type\":\"value\"}]},{\"name\":\"CALID\",\"description\":\"The CALID statement specifies the name of a SAS variable that is used in the Activity, Holiday, and Calendar data sets to identify the calendar to which each observation refers. This variable can be either numeric or character depending on whether the different calendars are identified by unique numbers or names. If this variable is not found in any of the three data sets, PROC CPM looks for a default variable named _CAL_ in each data set (a warning message is then printed to the log).\",\"help\":\"CALID variable \"},{\"name\":\"DURATION\",\"aliases\":[\"DUR\"],\"description\":\"The DURATION statement identifies the variable in the Activity data set that contains the length of time necessary to complete the activity. If the network is input in AOA format, then the variable identifies the duration of the activity denoted by the arc joining the TAILNODE and the HEADNODE. If the network is input in AON format, then the variable identifies the duration of the activity specified in the ACTIVITY statement. The variable specified must be numeric. The DURATION statement must be specified. The values of the DURATION variable are assumed to be in interval units, where interval is the value of the INTERVAL= option.\",\"help\":\"DURATION &lt;FINISH=variable&gt;&lt;OVERRIDEDUR&gt;&lt;START=variable&gt; ...\",\"arguments\":[{\"name\":\"FINISH=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies a variable in the Activity data set that is to be used in conjunction with the START variable to determine the activity's duration.\",\"help\":\"FINISH=*variable*\",\"type\":\"value\"},{\"name\":\"OVERRIDEDUR\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies that if the START= and FINISH= values are not missing, the duration computed from these values is to be used in place of the duration specified for the activity. In other words, the computed duration is used in place of the duration specified for the activity.\",\"type\":\"standalone\"},{\"name\":\"START=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies a variable in the Activity data set that is to be used in conjunction with the FINISH variable to determine the activity's duration.\",\"help\":\"START=*variable*\",\"type\":\"value\"}]},{\"name\":\"HEADNODE\",\"aliases\":[\"HEAD\",\"TO\"],\"description\":\"The HEADNODE statement is required when data are input in AOA format. This statement specifies the variable in the Activity data set that contains the name of the node on the head of an arrow in the project network. This node is identified with the event that signals the end of an activity on that arc. The variable specified can be either a numeric or character variable because the procedure treats this variable symbolically. Each node must be uniquely defined.\",\"help\":\"HEADNODE | HEAD | TO variable \"},{\"name\":\"HOLIDAY\",\"aliases\":[\"HOLIDAYS\"],\"description\":\"The HOLIDAY statement specifies the names of variables used to describe non-workdays in the Holiday data set. PROC CPM accounts for holidays only when the INTERVAL= option has one of the following values: DAY, WORKDAY, WEEKDAY, DTDAY, DTWRKDAY, DTHOUR, DTMINUTE, or DTSECOND. The HOLIDAY statement must be used with the HOLIDATA= option in the PROC CPM statement. Recall that the HOLIDATA= option identifies the SAS data set that contains a list of the holidays and non-workdays around which you schedule your project. Holidays are defined by specifying the start of the holiday (the HOLIDAY variable) and either the length of the holiday (the HOLIDUR variable) or the finish time of the holiday (the HOLIFIN variable). The HOLIDAY variable is mandatory with the HOLIDAY statement; the HOLIDUR and HOLIFIN variables are optional.\",\"help\":\"HOLIDAY &lt;HOLIDUR= | HDURATION= variable&gt;&lt;HOLIFIN=variable | HOLIEND=variable&gt;\",\"arguments\":[{\"name\":\"HOLIDUR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"HDURATION=\"],\"description\":\"Identifies a variable in the Holiday data set that specifies the duration of the holiday. The INTERVAL= option specified on the PROC CPM statement is used to interpret the value of the holiday duration variables.\",\"type\":\"value\"},{\"name\":\"HOLIFIN=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"HOLIEND=\"],\"description\":\"Identifies a variable in the Holiday data set that specifies the finish time of the holiday defined in that observation. If a particular observation contains both the duration as well as the finish time of the holiday, only the finish time is used; the duration is ignored.\",\"type\":\"value\"}]},{\"name\":\"ID\",\"description\":\"The ID statement identifies variables not specified in the TAILNODE, HEADNODE, ACTIVITY, SUCCESSOR, or DURATION statements that are to be included in the Schedule data set. This statement is useful for carrying any relevant information about each activity from the Activity data set to the Schedule data set.\",\"help\":\"ID variables \"},{\"name\":\"PROJECT\",\"aliases\":[\"PARENT\"],\"description\":\"The PROJECT statement specifies the variable in the Activity data set that identifies the project to which an activity belongs. This variable must be of the same type and length as the variable defined in the ACTIVITY statement. A project can also be treated as an activity with precedence and time constraints. In other words, any value of the PROJECT variable can appear as a value of the ACTIVITY variable, and it can have specifications for the DURATION, ALIGNDATE, ALIGNTYPE, ACTUAL, RESOURCE, and SUCCESSOR variables. However, some of the interpretations of these variables for a project (or supertask) may be different from the corresponding interpretation for an activity at the lowest level.\",\"help\":\"PROJECT &lt;AGGREGATEPARENTRES&gt;&lt;DESCENDING&gt;&lt;ESORDER&gt; ...\",\"arguments\":[{\"name\":\"AGGREGATEPARENTRES\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"AGGREGATEP_RES\",\"AGGREGPR\"],\"description\":\"Indicates that the resource requirements for all supertasks are to be used only for aggregation purposes and not for resource-constrained scheduling.\",\"type\":\"standalone\"},{\"name\":\"DESCENDING\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"DESC\"],\"description\":\"Indicates that, in addition to the ascending sort variables (ES_ASC, LS_ASC, and SS_ASC) that are requested by the ESORDER, LSORDER, and SSORDER options, the corresponding descending sort variables (ES_DESC, LS_DESC, and SS_DESC, respectively) are also to be added to the Schedule output data set.\",\"type\":\"standalone\"},{\"name\":\"ESORDER\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"ESO\"],\"description\":\"Indicates that a variable named ES_ASC is to be added to the Schedule output data set; this variable can be used to order the activities in such a way that the activities within each subproject are in increasing order of the early start time.\",\"type\":\"standalone\"},{\"name\":\"IGNOREPARENTRES\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"IGNOREP_RES\",\"IGNOREPR\"],\"description\":\"Indicates that the resource requirements for all supertasks are to be ignored.\",\"type\":\"standalone\"},{\"name\":\"LSORDER\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"LSO\"],\"description\":\"Indicates that a variable named LS_ASC is to be added to the Schedule output data set; this variable can be used to order the activities in such a way that the activities within each subproject are in increasing order of the late start time.\",\"type\":\"standalone\"},{\"name\":\"ORDERALL\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"ALL\"],\"description\":\"Is equivalent to specifying the ESORDER and LSORDER options (and the SSORDER option when resource constrained scheduling is performed).\",\"type\":\"standalone\"},{\"name\":\"RSCHEDORDER\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"RSCHDORD\",\"RSORDER\"],\"description\":\"Indicates that the order variables that are included in the Schedule output data set are also to be included in the Resource Schedule output data set.\",\"type\":\"standalone\"},{\"name\":\"RSCHEDWBS\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"RSCHDWBS\",\"RSWBS\"],\"description\":\"Indicates that the WBS code is also to be included in the Resource Schedule data set.\",\"type\":\"standalone\"},{\"name\":\"SEPCRIT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Computes individual critical paths for each project.\",\"type\":\"standalone\"},{\"name\":\"SSORDER\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"SSO\"],\"description\":\"Indicates that a variable named SS_ASC is to be added to the Schedule output data set; this variable can be used to order the activities in such a way that the activities within each subproject are in increasing order of the resource-constrained start time.\",\"type\":\"standalone\"},{\"name\":\"USEPROJDUR\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"USEPROJDURSPEC\",\"USESPECDUR\"],\"description\":\"Uses the specified subproject duration to compute the maximum allowed late finish for each subproject. This is similar to the SEPCRIT option, except that the specified project duration is used to set an upper bound on each subproject's late finish time instead of the project span as computed from the span of all the subtasks of the project.\",\"type\":\"standalone\"},{\"name\":\"WBSCODE\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"WBS\",\"ADDWBS\"],\"description\":\"Indicates that the CPM procedure is to compute a WBS code for the activities in the project using the project hierarchy structure specified.\",\"type\":\"standalone\"}]},{\"name\":\"RESOURCE\",\"aliases\":[\"RES\"],\"description\":\"The RESOURCE statement identifies the variables in the Activity data set that contain the levels of the various resources required by the different activities. This statement is necessary if the procedure is required to summarize resource utilization for various resources.\",\"help\":\"RESOURCE &lt;ACTDELAY=variable&gt;&lt;ACTIVITYPRTY=variable&gt;&lt;ADDCAL&gt; ...\",\"arguments\":[{\"name\":\"ACTDELAY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the name of a variable in the Activity data set that specifies a value for the maximum amount of delay allowed for each activity. The values of this variable should be greater than or equal to 0. If a value is missing, the value of the DELAY= option is used instead.\",\"help\":\"ACTDELAY=*variable*\",\"type\":\"value\"},{\"name\":\"ACTIVITYPRTY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"ACTPRTY=\"],\"description\":\"Identifies the variable in the Activity data set that contains the priority of each activity. This option is required if resource-constrained scheduling is to be performed and the scheduling rule specified is ACTPRTY.\",\"help\":\"ACTIVITYPRTY=*variable*\",\"type\":\"value\"},{\"name\":\"ADDCAL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that a variable, _CAL_, be added to the Resource Schedule data set that identifies the resource calendar for each resource used by each activity. For observations that summarize the activity's schedule, this variable identifies the activity's calendar.\",\"type\":\"standalone\"},{\"name\":\"ALL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Is equivalent to specifying the ESPROFILE and LSPROFILE options when an unconstrained schedule is obtained and is equivalent to specifying all four options, AVPROFILE (AVP), ESPROFILE (ESP), LSPROFILE (LSP), and RCPROFILE (RCP), when a resource-constrained schedule is obtained.\",\"type\":\"standalone\"},{\"name\":\"ALTBEFORESUP\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Indicates that all alternate resources are to be checked first before using supplementary resources.\",\"type\":\"standalone\"},{\"name\":\"APPEND\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"APPENDINTXRATE\",\"APPENDRATEXINT\",\"APPENDUSAGE\"],\"description\":\"Indicates that the Usage data set is to contain two sets of observations: the first set indicates the rate of usage for each resource at the beginning of the current time period, and the second set contains the total usage of each resource for the current time period.\",\"type\":\"standalone\"},{\"name\":\"AROUTCAL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the name of the calendar to be used for incrementing the _TIME_ variable in the Usage data set.\",\"help\":\"AROUTCAL=*calname*\",\"type\":\"value\"},{\"name\":\"AVPROFILE\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"AVP\",\"AVL\"],\"description\":\"Creates one variable in the Usage data set corresponding to each variable in the RESOURCE statement.\",\"type\":\"standalone\"},{\"name\":\"AWAITDELAY\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Forces PROC CPM to wait until L_STARTdelay, where delay is the maximum delay allowed for the activity (which is the value of the ACTDELAY= variable or the DELAY= option), before an activity is scheduled using supplementary levels of resources.\",\"type\":\"standalone\"},{\"name\":\"CUMUSAGE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies that the Usage data set should indicate the cumulative usage of consumable resources.\",\"type\":\"standalone\"},{\"name\":\"DELAYANALYSIS\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"SLIPINF\"],\"description\":\"Causes the addition of three new variables to the Schedule data set. The variables are R_DELAY, DELAY_R and SUPPL_R.\",\"type\":\"standalone\"},{\"name\":\"ESPROFILE\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"ESP\",\"ESS\"],\"description\":\"Creates one variable in the Usage data set corresponding to each variable in the RESOURCE statement. Each new variable denotes the resource usage based on the early start schedule for the corresponding resource variable.\",\"type\":\"standalone\"},{\"name\":\"EXCLUNSCHED\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Excludes the resource consumption corresponding to unscheduled activities from the daily resource usage reported for each time period in the Usage data set.\",\"type\":\"standalone\"},{\"name\":\"E_START\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that the E_START and E_FINISH variables, namely the variables specifying the early start schedule, be included in the Schedule data set in addition to the S_START and S_FINISH variables.\",\"type\":\"standalone\"},{\"name\":\"FILLUNSCHED\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"FILLMISSING\"],\"description\":\"Fills in S_START and S_FINISH values for activities that are still unscheduled when resource constrained scheduling is stopped either by the STOPDATE= option or due to resource infeasibilities.\",\"type\":\"standalone\"},{\"name\":\"F_FLOAT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that the Schedule data set include the F_FLOAT variable computed using the unconstrained early and late start schedules.\",\"type\":\"standalone\"},{\"name\":\"INCLUNSCHED\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Enables the inclusion of activities that are still unscheduled in the computation of daily (or cumulative) resource usage in the Usage data set when resource-constrained scheduling is stopped either by the STOPDATE= option or due to resource infeasibilities.\",\"type\":\"standalone\"},{\"name\":\"INDEPENDENTALLOC\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"INDEPALLOC\"],\"description\":\"Enables each resource to be scheduled independently for each activity during resource-constrained scheduling.\",\"type\":\"standalone\"},{\"name\":\"LSPROFILE\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"LSP\",\"LSS\"],\"description\":\"Creates one variable in the Usage data set corresponding to each variable in the RESOURCE statement.\",\"type\":\"standalone\"},{\"name\":\"L_START\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that the L_START and L_FINISH variables, namely the variables specifying the late start schedule, be included in the Schedule data set in addition to the S_START and S_FINISH variables.\",\"type\":\"standalone\"},{\"name\":\"MAXDATE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the maximum value of the _TIME_ variable in the Usage data set. The default value of maxdate is the maximum finish time for all of the schedules for which a usage profile was requested.\",\"help\":\"MAXDATE=*maxdate*\",\"type\":\"value\"},{\"name\":\"MAXNSEGMT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"MAXNSEG=\"],\"description\":\"Specifies a variable in the Activity data set that indicates the maximum number of segments that the current activity can be split into.\",\"help\":\"MAXNSEGMT=*variable*\",\"type\":\"value\"},{\"name\":\"MILESTONENORESOURCE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies that milestone activities do not consume resources. This implies that all resource requirements are ignored for milestone activities. This is the default behavior.\",\"type\":\"standalone\"},{\"name\":\"MILESTONERESOURCE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies that milestone activities consume resources. If a nonzero requirement is specified for a milestone, the corresponding consumable resources are used at the scheduled time of that milestone.\",\"type\":\"standalone\"},{\"name\":\"MINDATE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the minimum value of the _TIME_ variable in the Usage data set. The default value of mindate is the minimum start time for all of the schedules for which a usage profile is requested.\",\"help\":\"MINDATE=*mindate*\",\"type\":\"value\"},{\"name\":\"MINSEGMTDUR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"MINSEGD=\"],\"description\":\"Specifies a variable in the Activity data set that indicates the minimum duration of any segment of the current activity. A missing value for this variable is set to a value equal to one fifth of the activity's duration.\",\"help\":\"MINSEGMTDUR=*variable*\",\"type\":\"value\"},{\"name\":\"MULTIPLEALTERNATES\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"MULTALT\"],\"description\":\"Indicates that multiple alternate resources can be used to substitute for a single resource.\",\"type\":\"standalone\"},{\"name\":\"NOE_START\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that the E_START and E_FINISH variables, namely the variables specifying the early start schedule, be dropped from the Schedule data set. Note that the default is E_START.\",\"type\":\"standalone\"},{\"name\":\"NOF_FLOAT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that the F_FLOAT variable be dropped from the Schedule data set when resource-constrained scheduling is requested. This is the default behavior.\",\"type\":\"standalone\"},{\"name\":\"NORESOURCEVARS\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"NORESVARSOUT\",\"NORESVARS\"],\"description\":\"Requests that the variables specified in the RESOURCE statement be dropped from the Schedule data set.\",\"type\":\"standalone\"},{\"name\":\"NOT_FLOAT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that the T_FLOAT variable be dropped from the Schedule data set when resource-constrained scheduling is requested. This is the default behavior.\",\"type\":\"standalone\"},{\"name\":\"NROUTCAL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the number of the calendar to be used for incrementing the _TIME_ variable in the Usage data set.\",\"help\":\"NROUTCAL=*calnum*\",\"type\":\"value\"},{\"name\":\"OBSTYPE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies a character variable in the Resource data set that contains the type identifier for each observation.\",\"help\":\"OBSTYPE=RESLEVEL | RESTYPE | RESUSAGE | RESPRTY | SUPLEVEL | ALTRATE | ALTPRTY | RESRCDUR | CALENDAR | MULTALT | MINARATE | AUXRES\",\"type\":\"choice\",\"arguments\":[{\"name\":\"RESLEVEL\",\"followsDelimiter\":\"/\",\"description\":\"RESLEVEL variable\",\"type\":\"standalone\"},{\"name\":\"RESTYPE\",\"followsDelimiter\":\"/\",\"description\":\"RESTYPE variable\",\"type\":\"standalone\"},{\"name\":\"RESUSAGE\",\"followsDelimiter\":\"/\",\"description\":\"RESUSAGE variable\",\"type\":\"standalone\"},{\"name\":\"RESPRTY\",\"followsDelimiter\":\"/\",\"description\":\"RESPRTY variable\",\"type\":\"standalone\"},{\"name\":\"SUPLEVEL\",\"followsDelimiter\":\"/\",\"description\":\"SUPLEVEL variable\",\"type\":\"standalone\"},{\"name\":\"ALTRATE\",\"followsDelimiter\":\"/\",\"description\":\"ALTRATE variable\",\"type\":\"standalone\"},{\"name\":\"ALTPRTY\",\"followsDelimiter\":\"/\",\"description\":\"ALTPRTY variable\",\"type\":\"standalone\"},{\"name\":\"RESRCDUR\",\"followsDelimiter\":\"/\",\"description\":\"RESRCDUR variable\",\"type\":\"standalone\"},{\"name\":\"CALENDAR\",\"followsDelimiter\":\"/\",\"description\":\"CALENDAR variable\",\"type\":\"standalone\"},{\"name\":\"MULTALT\",\"followsDelimiter\":\"/\",\"description\":\"MULTALT variable\",\"type\":\"standalone\"},{\"name\":\"MINARATE\",\"followsDelimiter\":\"/\",\"description\":\"MINARATE variable\",\"type\":\"standalone\"},{\"name\":\"AUXRES\",\"followsDelimiter\":\"/\",\"description\":\"AUXRES variable\",\"type\":\"standalone\"}]},{\"name\":\"PERIOD=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"PER=\"],\"description\":\"Identifies the variable in the RESOURCEIN= data set that specifies the date from which a specified level of the resource is available for each observation with the OBSTYPE variable equal to 'RESLEVEL'.\",\"help\":\"PERIOD=*variable*\",\"type\":\"value\"},{\"name\":\"RCPROFILE\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"RCP\",\"RCS\"],\"description\":\"Creates one variable in the Usage data set corresponding to each variable in the RESOURCE statement.\",\"type\":\"standalone\"},{\"name\":\"RESID=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies a variable in the RESOURCEIN= data set that indicates the name of the resource variable for which alternate resource information or auxiliary resource information is being specified in that observation.\",\"help\":\"RESID=*variable*\",\"type\":\"value\"},{\"name\":\"RESOURCEVARS\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"RESVARSOUT\"],\"description\":\"Requests that the variables specified in the RESOURCE statement be included in the Schedule data set.\",\"type\":\"standalone\"},{\"name\":\"ROUTINTERVAL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"STEPINT=\"],\"description\":\"Specifies the units to be used to determine the time interval between two successive values of the _TIME_ variable in the Usage data set.\",\"help\":\"ROUTINTERVAL=*routinterval*\",\"type\":\"value\"},{\"name\":\"ROUTINTPER=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"STEPSIZE=\",\"STEP=\"],\"description\":\"Specifies the number of routinterval units between successive observations in the Usage data set where routinterval is the value of the ROUTINTERVAL= option.\",\"help\":\"ROUTINTPER=*routintper*\",\"type\":\"value\"},{\"name\":\"ROUTNOBREAK\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"ROUTCONT\"],\"description\":\"Specifies that the _TIME_ variable is to be incremented using a calendar with no breaks or holidays.\",\"type\":\"standalone\"},{\"name\":\"RSCHEDID=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"RSID=\"],\"description\":\"Identifies variables not specified in the TAILNODE, HEADNODE, or ACTIVITY statements that are to be included in the Resource Schedule data set. This option is useful for carrying any relevant information about each activity from the Activity data set to the Resource Schedule data set.\",\"type\":\"value\"},{\"name\":\"SCHEDRULE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"RULE=\"],\"description\":\"Specifies the rule to be used to order the list of activities whose predecessor activities have been completed while scheduling activities subject to resource constraints.\",\"help\":\"SCHEDRULE=LST | LFT | SHORTDUR | ACTPRTY | RESPRTY | DELAYLST\",\"type\":\"choice\",\"arguments\":[{\"name\":\"LST\",\"followsDelimiter\":\"/\",\"description\":\"Specifies that the activities in the waiting list are sorted in the order of increasing L_START time.\",\"type\":\"standalone\"},{\"name\":\"LFT\",\"followsDelimiter\":\"/\",\"description\":\"Specifies that the activities in the waiting list are sorted in the order of increasing L_FINISH time.\",\"type\":\"standalone\"},{\"name\":\"SHORTDUR\",\"followsDelimiter\":\"/\",\"description\":\"Specifies that the activities in the waiting list are sorted in the order of increasing durations.\",\"type\":\"standalone\"},{\"name\":\"ACTPRTY\",\"followsDelimiter\":\"/\",\"description\":\"Specifies that PROC CPM should sort the activities in the waiting list in the order of increasing values of the variable specified in the ACTIVITYPRTY= option in the RESOURCE statement.\",\"type\":\"standalone\"},{\"name\":\"RESPRTY\",\"followsDelimiter\":\"/\",\"description\":\"Specifies that PROC CPM should sort the activities in the waiting list in the order of increasing values of the resource priority for the most important resource used by each activity.\",\"type\":\"standalone\"},{\"name\":\"DELAYLST\",\"followsDelimiter\":\"/\",\"description\":\"Specifies that the activities in the waiting list are sorted in the order of increasing L_START + ACTDELAY, where ACTDELAY is the value of the ACTDELAY variable for that activity.\",\"type\":\"standalone\"}]},{\"name\":\"SPLITFLAG\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Indicates that activities are allowed to be split into segments during resource allocation.\",\"type\":\"standalone\"},{\"name\":\"STOPDATE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the cutoff date for resource-constrained scheduling. When such a date is specified, S_START and S_FINISH are set to missing beyond the cutoff date.\",\"help\":\"STOPDATE=*stdate*\",\"type\":\"value\"},{\"name\":\"TOTUSAGE\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"INTXRATE\",\"INTUSAGE\",\"RATEXINT\"],\"description\":\"Specifies that the Usage data set is to indicate the total usage of the resource for the current time period.\",\"type\":\"standalone\"},{\"name\":\"T_FLOAT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that the Schedule data set include the T_FLOAT variable computed using the unconstrained early and late start schedules.\",\"type\":\"standalone\"},{\"name\":\"UNSCHEDMISS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Sets the S_START and S_FINISH values to missing for activities that are still unscheduled when resource constrained scheduling is stopped either by the STOPDATE= option or due to resource infeasibilities. This is the default and can be turned off by specifying the FILLUNSCHED option.\",\"type\":\"standalone\"},{\"name\":\"UPDTUNSCHED\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Causes the procedure to use the S_START and S_FINISH times of scheduled activities to update the projected start and finish times for the activities that are still unscheduled when resource constrained scheduling is stopped either by the STOPDATE= option or due to resource infeasibilities.\",\"type\":\"standalone\"},{\"name\":\"WORK=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Identifies a variable in the Activity data set that specifies the total amount of work required by one unit of a resource. This work is represented in units of the INTERVAL parameter.\",\"help\":\"WORK=*variable*\",\"type\":\"value\"}]},{\"name\":\"SUCCESSOR\",\"aliases\":[\"SUCC\"],\"description\":\"The SUCCESSOR statement is required when data are input in an AON format. This statement specifies the variables that contain the names of the immediate successor nodes (activities) to the ACTIVITY node. These variables must be of the same type and length as those defined in the ACTIVITY statement.\",\"help\":\"SUCCESSOR &lt;ALAGCAL=calname&gt;&lt;LAG=variables&gt;&lt;NLAGCAL=calnum&gt; ...\",\"arguments\":[{\"name\":\"ALAGCAL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the name of the calendar to be used for all lags. The default value for this option is the DEFAULT calendar.\",\"help\":\"ALAGCAL=*calname*\",\"type\":\"value\"},{\"name\":\"LAG=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the variables in the Activity data set used to identify the lag relationship (lag type, duration, and calendar) between the activity and its successor. The LAG variables must be character variables. You can specify as many LAG variables as there are SUCCESSOR variables; each SUCCESSOR variable is matched with the corresponding LAG variable.\",\"help\":\"LAG=*variables*\",\"type\":\"value\"},{\"name\":\"NLAGCAL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the number of the calendar to be used for all lags. The default value for this option is the DEFAULT calendar.\",\"help\":\"NLAGCAL=*calnum*\",\"type\":\"value\"}]},{\"name\":\"TAILNODE\",\"aliases\":[\"TAIL\",\"FROM\"],\"description\":\"The TAILNODE statement is required when data are input in AOA (arrow notation) format. It specifies the variable that contains the name of each node on the tail of an arc in the project network. This node is identified with the event that signals the start of the activity on that arc. The variable specified can be either a numeric or character variable since the procedure treats this variable symbolically. Each node must be uniquely defined.\",\"help\":\"TAILNODE | TAIL | FROM variable \"}],\"supportSiteInformation\":{\"docsetId\":\"orpmug\",\"docsetVersion\":\"latest\",\"docsetTargetFile\":\"orpmug_cpm_toc.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/CPORT.json",
    "content": "{\"name\":\"CPORT\",\"statements\":[{\"name\":\"PROC CPORT\",\"description\":\"Creates a transport file.\",\"help\":\"PROC CPORT        source-type=libref | \\n     <libref.>member-name<options>; \\n\\tEXCLUDE SAS file(s)          | catalog entry(s)</         MEMTYPE=mtype>\\n\\t\\t</         ENTRYTYPE=entry-type>;\\n\\n\\tSELECT SAS         file(s) |  catalog       entry(s)</         MEMTYPE=mtype>\\n\\t\\t</         ENTRYTYPE=entry-type> ;\\n\\n\\tTRANTAB NAME=translation-table-name\\n\\t\\t<options>;\\n\",\"arguments\":[{\"name\":\"CATALOG=\",\"aliases\":[\"C=\",\"CAT=\"],\"description\":\"specifies that the file type is a SAS catalog.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0g9wm3di2oe6zn1suq0ogbfizgt\"},{\"name\":\"DATA=\",\"aliases\":[\"D=\",\"DS=\"],\"description\":\"specifies that the file type is a is a SAS data set.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1r8vb07u6qfren1mvpvghwfjdpo\"},{\"name\":\"LIBRARY=\",\"aliases\":[\"L=\",\"LIB=\"],\"description\":\"specifies that the file type is a SAS library.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1fsc6x9i8gp24n1bi8o542k3yvh\"},{\"name\":\"libref\",\"placeholder\":true,\"description\":\"specifies the specific catalog, SAS data set, or SAS library to export. If source-type is CATALOG or DATA, you can specify both a libref and a member name. If the libref is omitted, PROC CPORT uses the default library as the libref, which is usually the WORK library. If the source-type argument is LIBRARY, specify only a libref. If you specify a library, PROC CPORT exports only data sets and catalogs from that library. You cannot export other types of files.\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"n13v0aqblxk5mzn1wzf3zkxsty5b\"},{\"name\":\"<libref.>member-name\",\"placeholder\":true,\"description\":\"specifies the specific catalog, SAS data set, or SAS library to export. If source-type is CATALOG or DATA, you can specify both a libref and a member name. If the libref is omitted, PROC CPORT uses the default library as the libref, which is usually the WORK library. If the source-type argument is LIBRARY, specify only a libref. If you specify a library, PROC CPORT exports only data sets and catalogs from that library. You cannot export other types of files.\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"n13v0aqblxk5mzn1wzf3zkxsty5b\"},{\"name\":\"AFTER=\",\"optional\":true,\"description\":\"exports copies of all data sets or catalog entries that have a modification date equal to or later than the date that you specify.\",\"help\":\"AFTER=*date*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0n2d77vnev08ln11vjyslbkh62n\"},{\"name\":\"ASIS\",\"optional\":true,\"description\":\"suppresses the conversion of displayed character data to transport format.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p12blntcfno7dwn1793ngkxk3qwq\"},{\"name\":\"CONSTRAINT=\",\"optional\":true,\"aliases\":[\"CON=\"],\"description\":\"controls the exportation of integrity constraints.\",\"help\":\"CONSTRAINT=YES | NO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YES\",\"type\":\"standalone\"},{\"name\":\"NO\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"p0bf7q0b5jpw1en1xre22s0djnkf\"},{\"name\":\"DATECOPY\",\"optional\":true,\"description\":\"copies the created and modified date and time to the transport file.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0unjr60jozu3tn1mdfknv98w95a\"},{\"name\":\"EET=\",\"optional\":true,\"description\":\"excludes specified entry types from the transport file.\",\"help\":\"EET=(*etype(s)*)\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1u471ykf5ksbqn0z33ioiop9cuf\"},{\"name\":\"ET=\",\"optional\":true,\"description\":\"includes specified entry types in the transport file.\",\"help\":\"ET=(*etype(s)*)\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0jj4v4ks7fo01n149ox6bkxiu3c\"},{\"name\":\"FILE=\",\"optional\":true,\"description\":\"specifies the transport file to write to.\",\"help\":\"FILE=*fileref* | '*filename*'\",\"type\":\"choice\",\"arguments\":[{\"name\":\"fileref\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"'filename'\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p1xor3gok22epyn1xninjz6v3r1l\"},{\"name\":\"GENERATION=\",\"optional\":true,\"aliases\":[\"GEN=\"],\"description\":\"specifies whether to export all generations of a data set.\",\"help\":\"GENERATION=YES | NO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YES\",\"type\":\"standalone\"},{\"name\":\"NO\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"n0l8g4q26iz07vn1ncmy8hmjbyde\"},{\"name\":\"INDEX=\",\"optional\":true,\"description\":\"controls the exportation of indexes with indexed SAS data sets.\",\"help\":\"INDEX=YES | NO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YES\",\"type\":\"standalone\"},{\"name\":\"NO\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"p00w3dp7zhg4d6n136pkedt5u49c\"},{\"name\":\"INTYPE=\",\"optional\":true,\"description\":\"specifies the type of DBCS data stored in the SAS files to be exported.\",\"help\":\"INTYPE=IBM | HITAC | FACOM | DEC | SJIS | PCIBM\",\"type\":\"choice\",\"arguments\":[{\"name\":\"IBM\",\"description\":\"for z/OS or VSE\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1hdx3zq721o1qn1bdmbpjkdnis1\"},{\"name\":\"HITAC\",\"description\":\"for z/OS\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0n5cez9dp7id8n146liv14i5xjs\"},{\"name\":\"FACOM\",\"description\":\"for z/OS\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0026vlu89sn95n1dyi6o1vjlsce\"},{\"name\":\"DEC\",\"description\":\"for OpenVMS\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n07ndk5sq0mloxn15tdw7sy51pzt\"},{\"name\":\"SJIS\",\"description\":\"for OpenVMS or OS/2\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p15txuwg367urln1oxtbhq71rsai\"},{\"name\":\"PCIBM\",\"description\":\"for OS/2\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p09s5ctt91m9orn1xl5jvdmtiftd\"}],\"supportSiteTargetFragment\":\"p13gn010o4cv6kn1d69wa0y0ipf6\"},{\"name\":\"MEMTYPE=\",\"optional\":true,\"aliases\":[\"MT=\"],\"description\":\"specifies that only data sets, only catalogs, or both, be moved when a library is exported.\",\"help\":\"MEMTYPE=ALL | CATALOG | DATA\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ALL\",\"description\":\"both catalogs and data sets\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0bd76laeu503jn17tzdtvynqmxc\"},{\"name\":\"CATALOG\",\"aliases\":[\"CAT\"],\"description\":\"catalogs\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0jg1syqc4n079n1tmr123l0z9oz\"},{\"name\":\"DATA\",\"aliases\":[\"DS\"],\"description\":\"SAS data sets\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1xzl2tf780ryvn1ot1vmkp1owg1\"}],\"supportSiteTargetFragment\":\"p1j40fsu4emhtmn1orp3jaoew399\"},{\"name\":\"NOCOMPRESS\",\"optional\":true,\"aliases\":[\"NOCOMP\"],\"description\":\"suppresses the compression of binary zeros and blanks in the transport file.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n00mq0kq5seebzn16psism9rpfjq\"},{\"name\":\"NOEDIT\",\"optional\":true,\"aliases\":[\"NEDIT\"],\"description\":\"exports SAS/AF PROGRAM and SCL entries without Edit capability when you import them.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p05f2qkpd1dqu3n1wq29jk94undz\"},{\"name\":\"NOSRC\",\"optional\":true,\"aliases\":[\"NSRC\"],\"description\":\"specifies that exported catalog entries contain compiled SCL code, but not the source code.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1pjywaqpw8f6nn1klc6g4v6i1pf\"},{\"name\":\"OUTLIB=\",\"optional\":true,\"aliases\":[\"OUT=\"],\"description\":\"specifies a libref associated with a SAS library.\",\"help\":\"OUTLIB=*libref*\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"p1y16j5bawi1a2n1rufwzhcrpwiq\"},{\"name\":\"OUTTYPE=\",\"optional\":true,\"description\":\"writes all alphabetic characters to the transport file in uppercase.\",\"help\":\"OUTTYPE=UPCASE\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n02aexhf7s92t6n1j2906fic54zp\"},{\"name\":\"TAPE\",\"optional\":true,\"description\":\"directs the output from PROC CPORT to a tape.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0zgmsqqet7lhtn0z3r7swe9qd5v\"},{\"name\":\"TRANSLATE=\",\"optional\":true,\"description\":\"translates specified characters from one ASCII or EBCDIC value to another.\",\"help\":\"TRANSLATE=(*translation-list*)\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p12so0xu4qmtumn1mbp5b2j3ccvc\"}],\"supportSiteTargetFile\":\"n0orwyj6rj0hq9n1bmsbozl1jgcw.htm\"},{\"name\":\"EXCLUDE\",\"description\":\"Excludes specified files or entries from the transport file.\",\"help\":\"EXCLUDE SAS file(s)           | catalog entry(s)</          MEMTYPE=mtype>\\n</          ENTRYTYPE=entry-type>;\",\"arguments\":[{\"name\":\"SAS\",\"placeholder\":true,\"description\":\"specifies one or more SAS files to be excluded from the transport file. Specify SAS filenames when you export a SAS library; specify catalog entry names when you export an individual SAS catalog. Separate multiple filenames or entry names with a space. You can use shortcuts to list many like-named files in the EXCLUDE statement. For more information, see .\",\"help\":\"*SAS          file(s)*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0b8vm4eo0pbimn15wt9q5ej2gog\"},{\"name\":\"catalog\",\"placeholder\":true,\"description\":\"specifies one or more SAS files to be excluded from the transport file. Specify SAS filenames when you export a SAS library; specify catalog entry names when you export an individual SAS catalog. Separate multiple filenames or entry names with a space. You can use shortcuts to list many like-named files in the EXCLUDE statement. For more information, see .\",\"help\":\"*catalog          entry(s)*\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"p0b8vm4eo0pbimn15wt9q5ej2gog\"},{\"name\":\"ENTRYTYPE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"ETYPE=\",\"ET=\"],\"description\":\"specifies a single entry type for the catalog entries listed in the EXCLUDE statement. See .\",\"help\":\"ENTRYTYPE=*entry-type*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1pnby8luv5y9bn1a5mlk9jf593r\"},{\"name\":\"MEMTYPE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"MTYPE=\",\"MT=\"],\"description\":\"specifies a single member type for one or more SAS files listed in the EXCLUDE statement. Valid values are CATALOG, DATA, or ALL. If you do not specify the MEMTYPE= option in the EXCLUDE statement, then processing is restricted to those member types specified in the MEMTYPE= option in the PROC CPORT statement.\",\"help\":\"MEMTYPE=*mtype*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0vo08fknn74xjn1mvn6zj964awq\"}],\"supportSiteTargetFile\":\"p0ke453f4n3mdsn1rmmr5ixo9nct.htm\"},{\"name\":\"SELECT\",\"description\":\"Includes specified files or entries in the transport file.\",\"help\":\"SELECT SAS          file(s) | catalog        entry(s)</          MEMTYPE=mtype>\\n</          ENTRYTYPE=entry-type> ;\",\"arguments\":[{\"name\":\"SAS\",\"placeholder\":true,\"description\":\"specifies one or more SAS files or one or more catalog entries to be included in the transport file. Specify SAS filenames when you export a SAS library; specify catalog entry names when you export an individual SAS catalog. Separate multiple filenames or entry names with a space. You can use shortcuts to list many like-named files in the SELECT statement. For more information, see .\",\"help\":\"*SAS          file(s)*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n01v8ijlt3wle5n1ogi6vl8pgv30\"},{\"name\":\"catalog\",\"placeholder\":true,\"description\":\"specifies one or more SAS files or one or more catalog entries to be included in the transport file. Specify SAS filenames when you export a SAS library; specify catalog entry names when you export an individual SAS catalog. Separate multiple filenames or entry names with a space. You can use shortcuts to list many like-named files in the SELECT statement. For more information, see .\",\"help\":\"*catalog          entry(s)*\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"n01v8ijlt3wle5n1ogi6vl8pgv30\"},{\"name\":\"ENTRYTYPE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"ETYPE=\",\"ET=\"],\"description\":\"specifies a single entry type for the catalog entries listed in the SELECT statement. See See . for a complete list of catalog entry types.\",\"help\":\"ENTRYTYPE=*entry-type*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1rk5rg8h1dngxn197q4e071ksh7\"},{\"name\":\"MEMTYPE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"MTYPE=\",\"MT=\"],\"description\":\"specifies a single member type for one or more SAS files listed in the SELECT statement. Valid values are CATALOG, DATA, or ALL. If you do not specify the MEMTYPE= option in the SELECT statement, then processing is restricted to those member types specified in the MEMTYPE= option in the PROC CPORT statement.\",\"help\":\"MEMTYPE=*mtype*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1h0kvr11yuq1qn1oof9cte363mh\"}],\"supportSiteTargetFile\":\"p0v36fq2v53pv8n1042qyv9gvxkn.htm\"},{\"name\":\"TRANTAB\",\"description\":\"Specifies translation tables for characters in catalog entries that you export.\",\"help\":\"TRANTAB NAME=*translation-table-name*&lt;*options*&gt;;\",\"arguments\":[{\"name\":\"NAME=\",\"description\":\"specifies the name of the translation table to use.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n18xldpv6n8q22n1llpjbxk54zm1\"}],\"supportSiteTargetFile\":\"n0nnq85ebdy78kn1pkv51qhol50w.htm\"}],\"supportSiteInformation\":{\"docsetId\":\"proc\",\"docsetVersion\":\"v_002\",\"docsetTargetFile\":\"n1pihdm18p7g5wn1ezqpet80fvw8.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/CQLIM.json",
    "content": "{\"name\":\"CQLIM\",\"statements\":[{\"name\":\"PROC CQLIM\",\"description\":\"The CQLIM procedure is a version of the QLIM procedure in SAS/ETS software that requires SAS Cloud Analytic Services in order to run. Both procedures analyze univariate limited dependent variable models in which dependent variables take discrete values or are observed within only a limited range of values. Unlike the QLIM procedure, which can be run only on a single workstation, the CQLIM procedure takes advantage of a distributed computing environment that enables it to distribute the optimization task to one or more nodes. In addition, each node can use one or more threads to perform the optimization on its subset of the data. When several nodes are used and each node uses several threads to carry out its part of the work, the result is a highly parallel computation that can provide a dramatic gain in performance.\",\"help\":\"PROC CQLIM <CORRB><COVB><COVEST=OP | HESSIAN | QML><DATA=SAS-data-set><ITPRINT>;     \\n\\tBOUNDS bound1 < , bound2 ...> ;\\n\\n\\tBY variables ;\\n\\n\\tCLASS <DESCENDING><MISSING><ORDER=<FORMATTED | FREQ | INTERNAL>> ...;\\n\\n\\tENDOGENOUS <CENSORED <(censored-options )>><DISCRETE <(discrete-options)>><DISTRIBUTION=<LOGISTIC | NORMAL>> ...;\\n\\n\\tFREQ variable ;\\n\\n\\tHETERO <LINK=<EXP | LINEAR>><NOCONST><SQUARE> ...;\\n\\n\\tINIT initvalue1 < , initvalue2 ...> ;\\n\\n\\tMODEL <DISCRETE <(discrete-options)>><NOINT><ORDER=<FORMATTED | FREQ | INTERNAL>> ...;\\n\\n\\tOUTPUT <CONDITIONAL><COPYVAR=SAS-variable-names | COPYVARS=(SAS-variable-names)><OUT=SAS-data-set> ...;\\n\\n\\tRESTRICT restriction1 <, restriction2 ...> ;\\n\\n\\tTEST <ALL><LM><LR> ...;\\n\\n\\tWEIGHT <NONORMALIZE> ;\\n\",\"arguments\":[{\"name\":\"CORRB\",\"optional\":true,\"description\":\"Prints the correlation matrix of the parameter estimates.\",\"type\":\"standalone\"},{\"name\":\"COVB\",\"optional\":true,\"description\":\"Prints the covariance matrix of the parameter estimates.\",\"type\":\"standalone\"},{\"name\":\"COVEST=\",\"optional\":true,\"description\":\"Specifies the method to calculate the covariance matrix of parameter estimates. By default, COVEST=HESSIAN.\",\"help\":\"COVEST=OP | HESSIAN | QML\",\"type\":\"choice\",\"arguments\":[{\"name\":\"OP\",\"description\":\"Specifies the covariance from the outer product matrix.\",\"type\":\"standalone\"},{\"name\":\"HESSIAN\",\"description\":\"Specifies the covariance from the inverse Hessian matrix.\",\"type\":\"standalone\"},{\"name\":\"QML\",\"description\":\"Specifies the covariance from the outer product and Hessian matrices (the quasi-maximum likelihood estimates).\",\"type\":\"standalone\"}]},{\"name\":\"DATA=\",\"optional\":true,\"description\":\"Specifies the input SAS data set. If you omit this option, PROC CQLIM uses the most recently created SAS data set.\",\"help\":\"DATA=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"ITPRINT\",\"optional\":true,\"description\":\"Prints the initial parameter estimates, convergence criteria, and all constraints of the optimization. At each iteration, objective function value, step size, maximum gradient, and slope of search direction are also printed.\",\"type\":\"standalone\"}]},{\"name\":\"BOUNDS\",\"description\":\"The BOUNDS statement imposes simple boundary constraints on the parameter estimates. BOUNDS statement constraints refer to the parameters estimated by the QLIM procedure. Any number of BOUNDS statements can be specified. Each bound is composed of parameters and constants and inequality operators. Parameters associated with regressor variables are referred to by the names of the corresponding regressor variables: item operator item < operator item < operator item ...> > Each item is a constant, the name of a parameter, or a list of parameter names. Each operator is ’<’, ’>’, ’≤’, or ’≥’.\",\"help\":\"BOUNDS bound1 &lt; , bound2 ...&gt; \"},{\"name\":\"BY\",\"description\":\"A BY statement can be used with PROC CQLIM to obtain separate analyses on observations in groups defined by the BY variables.\",\"help\":\"BY variables \"},{\"name\":\"CLASS\",\"description\":\"The CLASS statement names the classification variables to be used as explanatory variables in the analysis.\",\"help\":\"CLASS &lt;DESCENDING&gt;&lt;MISSING&gt;&lt;ORDER=&lt;FORMATTED | FREQ | INTERNAL&gt;&gt; ...\",\"arguments\":[{\"name\":\"DESCENDING\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"DESC\"],\"description\":\"Reverses the sort order of the classification variable. If both the DESCENDING and ORDER= options are specified, PROC BCHOICE orders the categories according to the ORDER= option and then reverses that order.\",\"type\":\"standalone\"},{\"name\":\"MISSING\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Treats missing values (., ._, .A, …, .Z for numeric variables and blanks for character variables) as valid values for the CLASS variable.\",\"type\":\"standalone\"},{\"name\":\"ORDER=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the sort order for the levels of classification variables. This ordering determines which parameters in the model correspond to each level in the data. By default, ORDER=FORMATTED. For ORDER=FORMATTED and ORDER=INTERNAL, the sort order is machine-dependent. When ORDER=FORMATTED is in effect for numeric variables for which you have supplied no explicit format, the levels are ordered by their internal values.\",\"help\":\"ORDER=FORMATTED | FREQ | INTERNAL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"FORMATTED\",\"followsDelimiter\":\"/\",\"description\":\"Levels sorted by the external formatted value, except for numeric variables with no explicit format, which are sorted by their unformatted (internal) value.\",\"type\":\"standalone\"},{\"name\":\"FREQ\",\"followsDelimiter\":\"/\",\"description\":\"Levels sorted by the descending frequency count (levels that have more observations come ealier in the order).\",\"type\":\"standalone\"},{\"name\":\"INTERNAL\",\"followsDelimiter\":\"/\",\"description\":\"Levels sorted by the unformatted value. The sort order is machine-dependent.\",\"type\":\"standalone\"}]},{\"name\":\"PARAM=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the parameterization method for the classification variable or variables.\",\"help\":\"PARAM=EFFECT | GLM | ORDINAL | POLYNOMIAL | REFERENCE | ORTHEFFECT | ORTHORDINAL | ORTHPOLY | ORTHREF\",\"type\":\"choice\",\"arguments\":[{\"name\":\"EFFECT\",\"followsDelimiter\":\"/\",\"description\":\"Specifies effect coding.\",\"type\":\"standalone\"},{\"name\":\"GLM\",\"followsDelimiter\":\"/\",\"description\":\"Specifies less-than-full-rank, reference-cell coding; this option can be used only as a global option.\",\"type\":\"standalone\"},{\"name\":\"ORDINAL\",\"followsDelimiter\":\"/\",\"aliases\":[\"THERMOMETER\"],\"description\":\"Specifies the cumulative parameterization for an ordinal CLASS variable.\",\"type\":\"standalone\"},{\"name\":\"POLYNOMIAL\",\"followsDelimiter\":\"/\",\"aliases\":[\"POLY\"],\"description\":\"Specifies polynomial coding.\",\"type\":\"standalone\"},{\"name\":\"REFERENCE\",\"followsDelimiter\":\"/\",\"aliases\":[\"REF\"],\"description\":\"Specifies reference-cell coding.\",\"type\":\"standalone\"},{\"name\":\"ORTHEFFECT\",\"followsDelimiter\":\"/\",\"description\":\"Orthogonalizes PARAM=EFFECT.\",\"type\":\"standalone\"},{\"name\":\"ORTHORDINAL\",\"followsDelimiter\":\"/\",\"aliases\":[\"ORTHOTHERM\"],\"description\":\"Orthogonalizes PARAM=ORDINAL.\",\"type\":\"standalone\"},{\"name\":\"ORTHPOLY\",\"followsDelimiter\":\"/\",\"description\":\"Orthogonalizes PARAM=POLYNOMIAL.\",\"type\":\"standalone\"},{\"name\":\"ORTHREF\",\"followsDelimiter\":\"/\",\"description\":\"Orthogonalizes PARAM=REFERENCE.\",\"type\":\"standalone\"}]},{\"name\":\"REFERENCE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"REF=\"],\"description\":\"Specifies the reference level that is used when you specify a nonsingular parameterization.\",\"help\":\"REFERENCE='*level*' | FIRST | LAST\",\"type\":\"choice\",\"arguments\":[{\"name\":\"'level'\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the level of the variable to use as the reference level. Specify the formatted value of the variable if a format is assigned. Replace <level> with an actual value.\",\"type\":\"value\"},{\"name\":\"FIRST\",\"followsDelimiter\":\"/\",\"description\":\"Designates the first ordered level as reference.\",\"type\":\"standalone\"},{\"name\":\"LAST\",\"followsDelimiter\":\"/\",\"description\":\"Designates the last ordered level as reference.\",\"type\":\"standalone\"}]}]},{\"name\":\"ENDOGENOUS\",\"description\":\"The ENDOGENOUS statement specifies the type of dependent variables that appear on the left-hand side of the equation. Endogenous variables listed refer to the dependent variables that appear on the left-hand side of the equation. Currently, no right-hand side endogeneity is handled in PROC QLIM. All variables appearing on the right-hand side of the equation are treated as exogenous\",\"help\":\"ENDOGENOUS &lt;CENSORED &lt;(censored-options )&gt;&gt;&lt;DISCRETE &lt;(discrete-options)&gt;&gt;&lt;DISTRIBUTION=&lt;LOGISTIC | NORMAL&gt;&gt; ...\",\"arguments\":[{\"name\":\"CENSORED\",\"optional\":true,\"description\":\"Censors the endogenous variables in this statement. You can specify the following censored-options: LB=value | variable LOWERBOUND=value | variable specifies the lower bound of the censored variables. If value is missing or the value in variable is missing, no lower bound is set. By default, no lower bound is set.\",\"type\":\"standalone\"},{\"name\":\"COST\",\"optional\":true,\"description\":\"[frontier-option to be enclosed in parenthesis] Specifies that the estimated model be a cost function.\",\"type\":\"standalone\"},{\"name\":\"DISCRETE\",\"optional\":true,\"description\":\"Specifies that the endogenous variables in this statement be discrete. You can specify the following discrete-options: DISTRIBUTION=NORMAL|LOGISTIC DIST=NORMAL|LOGISTIC D=NORMAL|LOGISTIC specifies the cumulative distribution function used to model the response probabilities. Valid values are as follows: NORMAL the normal distribution for the probit model\",\"type\":\"standalone\"},{\"name\":\"DISTRIBUTION=\",\"optional\":true,\"aliases\":[\"DIST=\",\"D=\"],\"description\":\"Specifies the cumulative distribution function to use to model the response probabilities.\",\"help\":\"DISTRIBUTION=LOGISTIC | NORMAL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"LOGISTIC\",\"description\":\"specifies the logistic distribution for the logit model.\",\"type\":\"standalone\"},{\"name\":\"NORMAL\",\"description\":\"specifies the normal distribution for the probit model.\",\"type\":\"standalone\"}]},{\"name\":\"FRONTIER\",\"optional\":true,\"description\":\"Specifies the stochastic frontier model. You can specify the following frontier-options: COST specifies that the estimated model be a cost function. PRODUCTION specifies that the estimated model be a production function. TYPE=HALF | EXPONENTIAL | TRUNCATED HALF specifies a half-normal model. EXPONENTIAL specifies an exponential model. TRUNCATED specifies a truncated normal model.\",\"type\":\"standalone\"},{\"name\":\"LOWERBOUND=\",\"optional\":true,\"aliases\":[\"LB=\"],\"description\":\"Specifies the lower bound of the censored or truncated variables. If value is missing or the value of variable is missing, no lower bound is set. By default, no lower bound is set.\",\"type\":\"value\"},{\"name\":\"PRODUCTION\",\"optional\":true,\"description\":\"[frontier-option to be enclosed in parenthesis] Specifies that the estimated model be a production function.\",\"type\":\"standalone\"},{\"name\":\"TRUNCATED\",\"optional\":true,\"description\":\"Truncates the endogenous variables in the statement. You can specify the following truncated-options: LB=value | variable LOWERBOUND=value | variable specifies the lower bound of the truncated variables. If value is missing or the value in variable is missing, no lower bound is set. By default, no lower bound is set.\",\"type\":\"standalone\"},{\"name\":\"TYPE\",\"optional\":true,\"description\":\"Specifies the model type.\",\"help\":\"TYPEEXPONENTIAL | HALF | TRUNCATED\",\"type\":\"choice\",\"arguments\":[{\"name\":\"EXPONENTIAL\",\"description\":\"Specifies an exponential model.\",\"type\":\"standalone\"},{\"name\":\"HALF\",\"description\":\"Specifies a half-normal model.\",\"type\":\"standalone\"},{\"name\":\"TRUNCATED\",\"description\":\"Specifies a truncated normal model.\",\"type\":\"standalone\"}]},{\"name\":\"UPPERBOUND=\",\"optional\":true,\"aliases\":[\"UB=\"],\"description\":\"Specifies the upper bound of the censored or truncated variables. If value is missing or the value of variable is missing, no upper bound is set. By default, no upper bound is set.\",\"type\":\"value\"}]},{\"name\":\"FREQ\",\"description\":\"The FREQ statement identifies a variable that contains the frequency of occurrence of each observation. PROC CQLIM treats each observation as if it appears n times, where n is the value of the FREQ variable for the observation. If it is not an integer, the frequency value is truncated to an integer. If the frequency value is less than 1 or missing, the observation is not used in the model fitting. When the FREQ statement is not specified, each observation is assigned a frequency of 1. If you specify more than one FREQ statement, then the first FREQ statement is used.\",\"help\":\"FREQ variable \"},{\"name\":\"HETERO\",\"description\":\"The HETERO statement specifies variables that are related to the heteroscedasticity of the residuals and the way these variables are used to model the error variance.\",\"help\":\"HETERO &lt;LINK=&lt;EXP | LINEAR&gt;&gt;&lt;NOCONST&gt;&lt;SQUARE&gt; ...\",\"arguments\":[{\"name\":\"LINK=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"The functional form can be specified using the LINK= option.\",\"help\":\"LINK=EXP | LINEAR\",\"type\":\"choice\",\"arguments\":[{\"name\":\"EXP\",\"followsDelimiter\":\"/\",\"description\":\"Specifies a exponential link function.\",\"type\":\"standalone\"},{\"name\":\"LINEAR\",\"followsDelimiter\":\"/\",\"description\":\"Specifies a linear link function.\",\"type\":\"standalone\"}]},{\"name\":\"NOCONST\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies that there be no constant in the linear or exponential heteroscedasticity model.\",\"type\":\"standalone\"},{\"name\":\"SQUARE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Estimates the model by using the square of linear heteroscedasticity function.\",\"type\":\"standalone\"}]},{\"name\":\"INIT\",\"description\":\"The INIT statement is used to set initial values for parameters in the optimization. You can specify any number of INIT statements. Each initvalue is written as a parameter or parameter list, followed by an optional equality operator (=), followed by a number: parameter <=> number\",\"help\":\"INIT initvalue1 &lt; , initvalue2 ...&gt; \"},{\"name\":\"MODEL\",\"description\":\"The MODEL statement specifies the dependent variable and independent regressor variables for the regression model.\",\"help\":\"MODEL &lt;DISCRETE &lt;(discrete-options)&gt;&gt;&lt;NOINT&gt;&lt;ORDER=&lt;FORMATTED | FREQ | INTERNAL&gt;&gt; ...\",\"arguments\":[{\"name\":\"CENSORED\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Censors the endogenous variables in this statement. You can specify the following censored-options: LB=value | variable LOWERBOUND=value | variable specifies the lower bound of the censored variables. If value is missing or the value in variable is missing, no lower bound is set. By default, no lower bound is set.\",\"type\":\"standalone\"},{\"name\":\"COST\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"[frontier-option to be enclosed in parenthesis] Specifies that the estimated model be a cost function.\",\"type\":\"standalone\"},{\"name\":\"DISCRETE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies that the endogenous variables in this statement be discrete. You can specify the following discrete-options: DISTRIBUTION=NORMAL|LOGISTIC DIST=NORMAL|LOGISTIC D=NORMAL|LOGISTIC specifies the cumulative distribution function used to model the response probabilities. Valid values are as follows: NORMAL the normal distribution for the probit model\",\"type\":\"standalone\"},{\"name\":\"DISTRIBUTION=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"DIST=\",\"D=\"],\"description\":\"Specifies the cumulative distribution function to use to model the response probabilities.\",\"help\":\"DISTRIBUTION=LOGISTIC | NORMAL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"LOGISTIC\",\"followsDelimiter\":\"/\",\"description\":\"specifies the logistic distribution for the logit model.\",\"type\":\"standalone\"},{\"name\":\"NORMAL\",\"followsDelimiter\":\"/\",\"description\":\"specifies the normal distribution for the probit model.\",\"type\":\"standalone\"}]},{\"name\":\"FRONTIER\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the stochastic frontier model. You can specify the following frontier-options: COST specifies that the estimated model be a cost function. PRODUCTION specifies that the estimated model be a production function. TYPE=HALF | EXPONENTIAL | TRUNCATED HALF specifies a half-normal model. EXPONENTIAL specifies an exponential model. TRUNCATED specifies a truncated normal model.\",\"type\":\"standalone\"},{\"name\":\"LOWERBOUND=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"LB=\"],\"description\":\"Specifies the lower bound of the censored or truncated variables. If value is missing or the value of variable is missing, no lower bound is set. By default, no lower bound is set.\",\"type\":\"value\"},{\"name\":\"NOINT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Suppresses the intercept parameter.\",\"type\":\"standalone\"},{\"name\":\"ORDER=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"[order-option to be enclosed in parenthesis] Specifies the sort order for the levels of the discrete variables that you specify in the ENDOGENOUS statement. The sort order determines which parameters in the model correspond to each level in the data.\",\"help\":\"ORDER=FORMATTED | FREQ | INTERNAL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"FORMATTED\",\"followsDelimiter\":\"/\",\"description\":\"Sorts levels by formatted value. The sort order is machine-dependent.\",\"type\":\"standalone\"},{\"name\":\"FREQ\",\"followsDelimiter\":\"/\",\"description\":\"Sorts levels by descending frequency count; levels that have the most observations come first in the order.\",\"type\":\"standalone\"},{\"name\":\"INTERNAL\",\"followsDelimiter\":\"/\",\"description\":\"Sorts levels by unformatted value. The sort order is machine-dependent.\",\"type\":\"standalone\"}]},{\"name\":\"PRODUCTION\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"[frontier-option to be enclosed in parenthesis] Specifies that the estimated model be a production function.\",\"type\":\"standalone\"},{\"name\":\"TRUNCATED\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Truncates the endogenous variables in the statement. You can specify the following truncated-options: LB=value | variable LOWERBOUND=value | variable specifies the lower bound of the truncated variables. If value is missing or the value in variable is missing, no lower bound is set. By default, no lower bound is set.\",\"type\":\"standalone\"},{\"name\":\"TYPE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the model type.\",\"help\":\"TYPEEXPONENTIAL | HALF | TRUNCATED\",\"type\":\"choice\",\"arguments\":[{\"name\":\"EXPONENTIAL\",\"followsDelimiter\":\"/\",\"description\":\"Specifies an exponential model.\",\"type\":\"standalone\"},{\"name\":\"HALF\",\"followsDelimiter\":\"/\",\"description\":\"Specifies a half-normal model.\",\"type\":\"standalone\"},{\"name\":\"TRUNCATED\",\"followsDelimiter\":\"/\",\"description\":\"Specifies a truncated normal model.\",\"type\":\"standalone\"}]},{\"name\":\"UPPERBOUND=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"UB=\"],\"description\":\"Specifies the upper bound of the censored or truncated variables. If value is missing or the value of variable is missing, no upper bound is set. By default, no upper bound is set.\",\"type\":\"value\"}]},{\"name\":\"OUTPUT\",\"description\":\"The OUTPUT statement creates a new SAS data set containing all variables in the input data set and, optionally, the estimates of x'β, predicted value, residual, marginal effects, probability, standard deviation of the error, expected value, conditional expected value, and inverse Mills ratio. When the response values are missing for the observation, all output estimates except residual are still computed as long as none of the explanatory variables is missing. This enables you to compute these statistics for prediction. You can specify only one OUTPUT statement.\",\"help\":\"OUTPUT &lt;CONDITIONAL&gt;&lt;COPYVAR=SAS-variable-names | COPYVARS=(SAS-variable-names)&gt;&lt;OUT=SAS-data-set&gt; ...\",\"arguments\":[{\"name\":\"CONDITIONAL\",\"optional\":true,\"description\":\"Output estimates of conditional expected values of continuous endogenous\",\"type\":\"standalone\"},{\"name\":\"COPYVAR=\",\"optional\":true,\"aliases\":[\"COPYVARS=\"],\"description\":\"Adds any SAS variables that appear in the input data set to the output data set.\",\"type\":\"value\"},{\"name\":\"ERRSTD\",\"optional\":true,\"description\":\"Output estimates of σ-j, the standard deviation of the error term.\",\"type\":\"standalone\"},{\"name\":\"EXPECTED\",\"optional\":true,\"description\":\"Output estimates of expected values of continuous endogenous variables.\",\"type\":\"standalone\"},{\"name\":\"MARGINAL\",\"optional\":true,\"description\":\"Output marginal effects.\",\"type\":\"standalone\"},{\"name\":\"MILLS\",\"optional\":true,\"description\":\"Output estimates of inverse Mills ratios of censored or truncated continuous, binary discrete, and selection endogenous variables.\",\"type\":\"standalone\"},{\"name\":\"OUT=\",\"optional\":true,\"description\":\"Names the output data set.\",\"help\":\"OUT=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"PREDICTED\",\"optional\":true,\"description\":\"Output estimates of predicted endogenous variables.\",\"type\":\"standalone\"},{\"name\":\"PROB\",\"optional\":true,\"description\":\"Output estimates of probability of discrete endogenous variables taking the current observed responses.\",\"type\":\"standalone\"},{\"name\":\"PROBALL\",\"optional\":true,\"description\":\"Output estimates of probability of discrete endogenous variables for all possible responses.\",\"type\":\"standalone\"},{\"name\":\"RESIDUAL\",\"optional\":true,\"description\":\"Output estimates of residuals of continuous endogenous variables.\",\"type\":\"standalone\"},{\"name\":\"TE1\",\"optional\":true,\"description\":\"Outputs estimates of technical efficiency for each producer in the stochastic frontier model suggested by Battese and Coelli (1988).\",\"type\":\"standalone\"},{\"name\":\"TE2\",\"optional\":true,\"description\":\"Outputs estimates of technical efficiency for each producer in the stochastic frontier model suggested by Jondrow et al. (1982).\",\"type\":\"standalone\"},{\"name\":\"XBETA\",\"optional\":true,\"description\":\"Output estimates of x'β.\",\"type\":\"standalone\"}]},{\"name\":\"RESTRICT\",\"description\":\"The RESTRICT statement is used to impose linear restrictions on the parameter estimates. Any number of RESTRICT statements can be specified, but the number of restrictions imposed is limited by the number of regressors. Each restriction is written as an expression, followed by an equality operator (=) or an inequality operator (<, >, ≤, ≥), followed by a second expression: expression operator expression The operator can be =, <, >, ≤ , or ≥. The operator and second expression are optional.\",\"help\":\"RESTRICT restriction1 &lt;, restriction2 ...&gt; \"},{\"name\":\"TEST\",\"description\":\"The TEST statement performs Wald, Lagrange multiplier, and likelihood ratio tests of linear hypotheses about the regression parameters in the preceding MODEL statement. Each equation specifies a linear hypothesis to be tested. All hypotheses in one TEST statement are tested jointly. Variable names in the equations must correspond to regressors in the preceding MODEL statement, and each name represents the coefficient of the corresponding regressor. The keyword INTERCEPT refers to the coefficient of the intercept.\",\"help\":\"TEST &lt;ALL&gt;&lt;LM&gt;&lt;LR&gt; ...\",\"arguments\":[{\"name\":\"ALL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests Wald, Lagrange multiplier, and likelihood ratio tests.\",\"type\":\"standalone\"},{\"name\":\"LM\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests the Lagrange multiplier test.\",\"type\":\"standalone\"},{\"name\":\"LR\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests the likelihood ratio test.\",\"type\":\"standalone\"},{\"name\":\"WALD\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests the Wald test.\",\"type\":\"standalone\"}]},{\"name\":\"WEIGHT\",\"description\":\"The WEIGHT statement specifies a variable to supply weighting values to use for each observation in estimating parameters. The log likelihood for each observation is multiplied by the corresponding weight variable value. If the weight of an observation is nonpositive, that observation is not used in the estimation.\",\"help\":\"WEIGHT &lt;NONORMALIZE&gt;\",\"arguments\":[{\"name\":\"NONORMALIZE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies that the weights must be used as is. When you omit this option, the weights are normalized so that they add up to the actual sample size.\",\"type\":\"standalone\"}]}],\"supportSiteInformation\":{\"docsetId\":\"casecon\",\"docsetVersion\":\"latest\",\"docsetTargetFile\":\"casecon_cqlim_toc.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/CSPADE.json",
    "content": "{\"name\":\"CSPADE\",\"statements\":[{\"name\":\"PROC CSPADE\",\"description\":\"The PROC CSPADE statement performs sequence mining by using the cSpade algorithm.\",\"help\":\"PROC CSPADE DATA=libref.data-tablePCTSUPPORT=doubleSUPPORT=integer<options>;\\n\\tCUSTOMER variable-name;\\n\\n\\tTARGET variable-name;\\n\\n\\tVISIT variable-name;\\n\\n\\t<OUTPUT OUT=libref.data-table>;\\n\",\"arguments\":[{\"name\":\"DATA=\",\"aliases\":[\"TABLE\"],\"description\":\"specifies the name of the two-level input table.\",\"help\":\"DATA=*libref.data-table*\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"p0c4b3hfw9kyewn1un2xbymkyygp\"},{\"name\":\"PCTSUP=\",\"aliases\":[\"PCTSUPPORT\",\"SUPPCT\",\"SUP_PCT\"],\"description\":\"specifies the minimum percentage level of support for a sequence.\",\"help\":\"PCTSUP=*double*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p12c6c3xzvc1ddn1xx5uj95dnb27\"},{\"name\":\"SUPPORT=\",\"description\":\"specifies the minimum number of transactions that must occur in a sequence.\",\"help\":\"SUPPORT=*integer*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0k76d37t7sw2xn1v4epj0uicnlh\"},{\"name\":\"MINGAP=\",\"optional\":true,\"description\":\"specifies the minimum time difference between consecutive elements in a sequence.\",\"help\":\"MINGAP=*integer*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0a7yp08jehychn1sa9o7ra9hdqp\"},{\"name\":\"MAXGAP=\",\"optional\":true,\"description\":\"specifies the maximum time difference between consecutive elements in a sequence.\",\"help\":\"MAXGAP=*integer*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1g214pwts1s47n1q0u22yvb0mxs\"},{\"name\":\"MAXSIZE=\",\"optional\":true,\"description\":\"specifies the maximum number of items in an element in a sequence.\",\"help\":\"MAXSIZE=*integer*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1tssy2skckkfxn1k5ceshfwy2nx\"},{\"name\":\"MAXLENGTH=\",\"optional\":true,\"aliases\":[\"MAXLEN\"],\"description\":\"specifies the maximum number of elements in a sequence.\",\"help\":\"MAXLENGTH=*integer*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1msdhfk2hjadzn17oe44xszpfek\"}],\"supportSiteTargetFile\":\"n17lhcct4fxliwn1g4gy0co4n3nn.htm\"},{\"name\":\"CUSTOMER\",\"description\":\"The CUSTOMER statement specifies the sequence or customer column of the input table.\",\"help\":\"CUSTOMER *variable*;\",\"arguments\":[{\"name\":\"variable\",\"placeholder\":true,\"description\":\"specifies the sequence or customer column of the input table.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0nx8wl5f4uaron18vpbr2ql66rm\"}],\"supportSiteTargetFile\":\"p0dk6h4y6dv4srn173u47msvz1iw.htm\"},{\"name\":\"OUTPUT\",\"description\":\"The OUTPUT statement creates a data table that contains information about frequently occurring sequences and about their support.\",\"help\":\"OUTPUT OUT=*libref.data-table*;\",\"arguments\":[{\"name\":\"OUT=\",\"description\":\"specifies the name of the created data table.\",\"help\":\"OUT=*libref.data-table*\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"n1g1xjh7zx2ml3n13i8b14chjh6x\"}],\"supportSiteTargetFile\":\"n0yb80adkmjaizn1mifg9271i8wg.htm\"},{\"name\":\"TARGET\",\"description\":\"The TARGET statement specifies the target column of the input table.\",\"help\":\"TARGET *variable*;\",\"arguments\":[{\"name\":\"variable\",\"placeholder\":true,\"description\":\"specifies the target column of the input table.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0g379mi918sdrn1h8ivihzfegkr\"}],\"supportSiteTargetFile\":\"n1tb2bymea51xwn1y1dl88l743lo.htm\"},{\"name\":\"VISIT\",\"description\":\"The VISIT statement specifies the event or time column of the input table.\",\"help\":\"VISIT *variable*;\",\"arguments\":[{\"name\":\"variable\",\"placeholder\":true,\"description\":\"specifies the event or time column of the input table.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0v08omm3y04rfn18ffafx3ki8pa\"}],\"supportSiteTargetFile\":\"n0yci9a8kk4nwwn1hh9fpqhcg7l2.htm\"}],\"supportSiteInformation\":{\"docsetId\":\"casmlproc\",\"docsetVersion\":\"v_005\",\"docsetTargetFile\":\"p1184pd112tkpvn12dkbwj2ahsn9.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/CSPATIALREG.json",
    "content": "{\"name\":\"CSPATIALREG\",\"statements\":[{\"name\":\"PROC CSPATIALREG\",\"description\":\"The CSPATIALREG (spatial regression) procedure analyzes a class of spatial linear econometric models for cross-sectional data whose observations are spatially referenced or georeferenced. For example, housing price data that are collected from 48 continental states in the United States fall into the category of spatially referenced data. Compared to nonspatial regression models, spatial econometric models are capable of handling spatial interaction and spatial heterogeneity in a regression setting (Anselin 2001).\",\"help\":\"PROC CSPATIALREG <APPROXIMATION=><CORRB><COVB><COVEST=OP | HESSIAN | QML><DATA=SAS-data-set><MAXFUNC= | MAXFU=i><MAXITER=i | MAXIT=i><MAXTIME=r><METHOD=CONGRA | DBLDOG | NONE... ><NONORMALIZE><NOPRINT><PRINTALL><PRINTINTERNALNAMES><PRINTTIMING><WMAT=SAS-data-set>;     \\n\\tBOUNDS bound1 < , bound2 ...> ;\\n\\n\\tBY variables ;\\n\\n\\tCLASS <DESCENDING><MISSING><ORDER=<FORMATTED | FREQ | INTERNAL>> ...;\\n\\n\\tDISPLAY <CASESENSITIVE><EXCLUDE><EXCLUDEALL> ...;\\n\\n\\tDISPLAYOUT <INCLUDEALL><NOREPLACE><REPEATED> ...;\\n\\n\\tINIT initvalue1 < , initvalue2 ...> ;\\n\\n\\tMODEL <CORRB><NOINT><TYPE=<LINEAR | SAR | SEM>> ...;\\n\\n\\tOUTPUT <COPYVAR=SAS-variable-names | COPYVARS=SAS-variable-names><OUT=SAS-data-set><XBETA=name> ...;\\n\\n\\tRESTRICT restriction1 <, restriction2 ...> ;\\n\\n\\tSPATIALEFFECTS <model-spatial-effect-regressors> </options>;\\n\\n\\tSPATIALID variable;\\n\\n\\tTEST <ALL><LM><LR> ...;\\n\",\"arguments\":[{\"name\":\"APPROXIMATION=\",\"optional\":true,\"description\":\"Specifies options that are related to approximating the Jacobian. You can specify one or more of the following approx-options: Chebyshev | TAYLOR specifies Taylor approximation. By default, Chebyshev approximation is used. NMC=number specifies a positive integer as the number of standard random normal draws for Monte Carlo simulation. By default, NMC=100. ORDER=number specifies a positive integer as the order of series in Taylor approximation or Chebyshev approximation. If Taylor approximation is used, by default ORDER=50. If Chebyshev approximation is used, by default ORDER=5. SEED=number specifies an integer seed.\",\"help\":\"APPROXIMATION=CHEBYSHEV | TAYLOR | NMC= | ORDER= | SEED=\",\"type\":\"choice\",\"arguments\":[{\"name\":\"CHEBYSHEV\",\"type\":\"standalone\"},{\"name\":\"TAYLOR\",\"type\":\"standalone\"},{\"name\":\"NMC=\",\"type\":\"value\"},{\"name\":\"ORDER=\",\"type\":\"value\"},{\"name\":\"SEED=\",\"type\":\"value\"}]},{\"name\":\"CORRB\",\"optional\":true,\"description\":\"Prints the correlation matrix of the parameter estimates.\",\"type\":\"standalone\"},{\"name\":\"COVB\",\"optional\":true,\"description\":\"Prints the covariance matrix of the parameter estimates.\",\"type\":\"standalone\"},{\"name\":\"COVEST=\",\"optional\":true,\"description\":\"Specifies the method to calculate the covariance matrix of parameter estimates. By default, COVEST=HESSIAN.\",\"help\":\"COVEST=OP | HESSIAN | QML\",\"type\":\"choice\",\"arguments\":[{\"name\":\"OP\",\"description\":\"Specifies the covariance from the outer product matrix.\",\"type\":\"standalone\"},{\"name\":\"HESSIAN\",\"description\":\"Specifies the covariance from the inverse Hessian matrix.\",\"type\":\"standalone\"},{\"name\":\"QML\",\"description\":\"Specifies the covariance from the outer product and Hessian matrices (the quasi-maximum likelihood estimates).\",\"type\":\"standalone\"}]},{\"name\":\"DATA=\",\"optional\":true,\"description\":\"Specifies the primary SAS data set that contains dependent variables, and explanatory variables, and so on.\",\"help\":\"DATA=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"MAXFUNC=\",\"optional\":true,\"aliases\":[\"MAXFU=\"],\"description\":\"Specifies the maximum number of function calls in the optimization process. The default is 1,000.\",\"type\":\"value\"},{\"name\":\"MAXITER=\",\"optional\":true,\"aliases\":[\"MAXIT=\"],\"description\":\"Specifies the maximum number of iterations in the optimization process. The default value is 200.\",\"type\":\"value\"},{\"name\":\"MAXTIME=\",\"optional\":true,\"description\":\"Specifies an upper limit of r seconds of CPU time for the optimization process. The default value is the largest floating-point double representation of your computer. The time specified by this option is checked only once at the end of each iteration. Therefore, the actual running time can be much longer than r. The actual running time includes the remaining time needed to finish the iteration and the time needed to generate the output of the results.\",\"help\":\"MAXTIME=*r*\",\"type\":\"value\"},{\"name\":\"METHOD=\",\"optional\":true,\"description\":\"Specifies the iterative minimization method to use. The default is METHOD=NEWRAP.\",\"help\":\"METHOD=CONGRA | DBLDOG | NONE | NEWRAP | NRRIDG | QUANEW | TRUREG\",\"type\":\"choice\",\"arguments\":[{\"name\":\"CONGRA\",\"description\":\"Specifies a conjugate-gradient method\",\"type\":\"standalone\"},{\"name\":\"DBLDOG\",\"description\":\"Specifies the double dogleg method\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"Specifies that no optimization be performed beyond using the ordinary least squares method to compute the parameter estimates.\",\"type\":\"standalone\"},{\"name\":\"NEWRAP\",\"description\":\"Specifies the Newton-Raphson method (this is the default).\",\"type\":\"standalone\"},{\"name\":\"NRRIDG\",\"description\":\"Specifies the Newton-Raphson Ridge method.\",\"type\":\"standalone\"},{\"name\":\"QUANEW\",\"description\":\"Specifies the quasi-Newton method.\",\"type\":\"standalone\"},{\"name\":\"TRUREG\",\"description\":\"Specifies the trust region method.\",\"type\":\"standalone\"}]},{\"name\":\"NONORMALIZE\",\"optional\":true,\"description\":\"Suppresses the row standardization of the spatial weights matrix that is specified in the WMAT= option.\",\"type\":\"standalone\"},{\"name\":\"NOPRINT\",\"optional\":true,\"description\":\"Suppresses all printed output.\",\"type\":\"standalone\"},{\"name\":\"PRINTALL\",\"optional\":true,\"description\":\"Requests all printing options.\",\"type\":\"standalone\"},{\"name\":\"PRINTINTERNALNAMES\",\"optional\":true,\"description\":\"Prints internal names assigned to parameters.\",\"type\":\"standalone\"},{\"name\":\"PRINTTIMING\",\"optional\":true,\"description\":\"Prints a timing report.\",\"type\":\"standalone\"},{\"name\":\"WMAT=\",\"optional\":true,\"description\":\"Specifies the secondary spatial weights data set, which can be used to construct the spatial weights matrix W.\",\"help\":\"WMAT=*SAS-data-set*\",\"type\":\"dataSet\"}]},{\"name\":\"BOUNDS\",\"description\":\"The BOUNDS statement imposes simple boundary constraints on the parameter estimates. BOUNDS statement constraints refer to the parameters estimated by the QLIM procedure. Any number of BOUNDS statements can be specified. Each bound is composed of parameters and constants and inequality operators. Parameters associated with regressor variables are referred to by the names of the corresponding regressor variables: item operator item < operator item < operator item ...> > Each item is a constant, the name of a parameter, or a list of parameter names. Each operator is ’<’, ’>’, ’≤’, or ’≥’.\",\"help\":\"BOUNDS bound1 &lt; , bound2 ...&gt; \"},{\"name\":\"BY\",\"description\":\"A BY statement can be used in PROC CSPATIALREG to obtain separate analyses of observations in groups that are defined by the BY variables. When you use a BY statement, the primary input data set (specified in the DATA= option) should be sorted by the BY variables.\",\"help\":\"BY variables \"},{\"name\":\"CLASS\",\"description\":\"The CLASS statement names the classification variables that are used to group (classify) data in the analysis. Classification variables can be either character or numeric.\",\"help\":\"CLASS &lt;DESCENDING&gt;&lt;MISSING&gt;&lt;ORDER=&lt;FORMATTED | FREQ | INTERNAL&gt;&gt; ...\",\"arguments\":[{\"name\":\"DESCENDING\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"DESC\"],\"description\":\"Reverses the sort order of the classification variable. If both the DESCENDING and ORDER= options are specified, PROC BCHOICE orders the categories according to the ORDER= option and then reverses that order.\",\"type\":\"standalone\"},{\"name\":\"MISSING\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Treats missing values (., ._, .A, …, .Z for numeric variables and blanks for character variables) as valid values for the CLASS variable.\",\"type\":\"standalone\"},{\"name\":\"ORDER=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the sort order for the levels of classification variables. This ordering determines which parameters in the model correspond to each level in the data. By default, ORDER=FORMATTED. For ORDER=FORMATTED and ORDER=INTERNAL, the sort order is machine-dependent. When ORDER=FORMATTED is in effect for numeric variables for which you have supplied no explicit format, the levels are ordered by their internal values.\",\"help\":\"ORDER=FORMATTED | FREQ | INTERNAL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"FORMATTED\",\"followsDelimiter\":\"/\",\"description\":\"Levels sorted by the external formatted value, except for numeric variables with no explicit format, which are sorted by their unformatted (internal) value.\",\"type\":\"standalone\"},{\"name\":\"FREQ\",\"followsDelimiter\":\"/\",\"description\":\"Levels sorted by the descending frequency count (levels that have more observations come ealier in the order).\",\"type\":\"standalone\"},{\"name\":\"INTERNAL\",\"followsDelimiter\":\"/\",\"description\":\"Levels sorted by the unformatted value. The sort order is machine-dependent.\",\"type\":\"standalone\"}]},{\"name\":\"PARAM=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the parameterization method for the classification variable or variables.\",\"help\":\"PARAM=EFFECT | GLM | ORDINAL | POLYNOMIAL | REFERENCE | ORTHEFFECT | ORTHORDINAL | ORTHPOLY | ORTHREF\",\"type\":\"choice\",\"arguments\":[{\"name\":\"EFFECT\",\"followsDelimiter\":\"/\",\"description\":\"Specifies effect coding.\",\"type\":\"standalone\"},{\"name\":\"GLM\",\"followsDelimiter\":\"/\",\"description\":\"Specifies less-than-full-rank, reference-cell coding; this option can be used only as a global option.\",\"type\":\"standalone\"},{\"name\":\"ORDINAL\",\"followsDelimiter\":\"/\",\"aliases\":[\"THERMOMETER\"],\"description\":\"Specifies the cumulative parameterization for an ordinal CLASS variable.\",\"type\":\"standalone\"},{\"name\":\"POLYNOMIAL\",\"followsDelimiter\":\"/\",\"aliases\":[\"POLY\"],\"description\":\"Specifies polynomial coding.\",\"type\":\"standalone\"},{\"name\":\"REFERENCE\",\"followsDelimiter\":\"/\",\"aliases\":[\"REF\"],\"description\":\"Specifies reference-cell coding.\",\"type\":\"standalone\"},{\"name\":\"ORTHEFFECT\",\"followsDelimiter\":\"/\",\"description\":\"Orthogonalizes PARAM=EFFECT.\",\"type\":\"standalone\"},{\"name\":\"ORTHORDINAL\",\"followsDelimiter\":\"/\",\"aliases\":[\"ORTHOTHERM\"],\"description\":\"Orthogonalizes PARAM=ORDINAL.\",\"type\":\"standalone\"},{\"name\":\"ORTHPOLY\",\"followsDelimiter\":\"/\",\"description\":\"Orthogonalizes PARAM=POLYNOMIAL.\",\"type\":\"standalone\"},{\"name\":\"ORTHREF\",\"followsDelimiter\":\"/\",\"description\":\"Orthogonalizes PARAM=REFERENCE.\",\"type\":\"standalone\"}]},{\"name\":\"REFERENCE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"REF=\"],\"description\":\"Specifies the reference level that is used when you specify a nonsingular parameterization.\",\"help\":\"REFERENCE='*level*' | FIRST | LAST\",\"type\":\"choice\",\"arguments\":[{\"name\":\"'level'\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the level of the variable to use as the reference level. Specify the formatted value of the variable if a format is assigned. Replace <level> with an actual value.\",\"type\":\"value\"},{\"name\":\"FIRST\",\"followsDelimiter\":\"/\",\"description\":\"Designates the first ordered level as reference.\",\"type\":\"standalone\"},{\"name\":\"LAST\",\"followsDelimiter\":\"/\",\"description\":\"Designates the last ordered level as reference.\",\"type\":\"standalone\"}]}]},{\"name\":\"DISPLAY\",\"description\":\"The DISPLAY statement enables you to specify a list of display tables to display or exclude. This statement is similar to the ODS SELECT, ODS EXCLUDE, and ODS TRACE statements. However, the DISPLAY statement can improve performance when a large number of tables could be generated (such as in BY-group processing). The procedure processes the DISPLAY statement on a CAS server and thus sends only a subset of ODS tables to the SAS client. Because ODS statements are processed on a SAS client, all the display tables generated are first sent to the client and then the client creates a subset. If both DISPLAY and ODS statements are used together, the DISPLAY statement takes precedence over the ODS statements.\",\"help\":\"DISPLAY &lt;CASESENSITIVE&gt;&lt;EXCLUDE&gt;&lt;EXCLUDEALL&gt; ...\",\"arguments\":[{\"name\":\"CASESENSITIVE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Performs a case-sensitive comparison of table names in the table-list to display table names when tables are subsetted for display. To preserve case, you must enclose table names in the table-list in quotation marks.\",\"type\":\"standalone\"},{\"name\":\"EXCLUDE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays all display tables except those specified in the table-list.\",\"type\":\"standalone\"},{\"name\":\"EXCLUDEALL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Suppresses display of all tables. This option takes precedence over the other options.\",\"type\":\"standalone\"},{\"name\":\"TRACE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays the display table names, labels, and paths.\",\"type\":\"standalone\"}]},{\"name\":\"DISPLAYOUT\",\"description\":\"The DISPLAYOUT statement enables you to create CAS output tables from your displayed output. This statement is similar to the ODS OUTPUT statement. The table-spec-list specifies a list of CAS output tables to create. Each entry in the list has either a key or a key=value format: key=value specifies key as the ODS table name, path, or partial pathname, and specifies value as the CAS output table name. key specifies key as the ODS table name and also as the CAS output table name. Table names and partial pathnames are discussed under the DISPLAY statement. The DISPLAYOUT statement does not support regular expressions.\",\"help\":\"DISPLAYOUT &lt;INCLUDEALL&gt;&lt;NOREPLACE&gt;&lt;REPEATED&gt; ...\",\"arguments\":[{\"name\":\"INCLUDEALL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Creates output CAS tables for all display tables. The name of the created output CAS table is the same as the corresponding display table name. If you specify this option, the table-spec-list specification is ignored.\",\"type\":\"standalone\"},{\"name\":\"NOREPLACE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Does not replace an existing CAS output table of the same name.\",\"type\":\"standalone\"},{\"name\":\"REPEATED\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Replicates the CAS output tables on all nodes.\",\"type\":\"standalone\"}]},{\"name\":\"INIT\",\"description\":\"The INIT statement is used to set initial values for parameters in the optimization. Each initvalue is written as a parameter or parameter list, followed by an optional equality operator (=), followed by a number: parameter <=> number\",\"help\":\"INIT initvalue1 &lt; , initvalue2 ...&gt; \"},{\"name\":\"MODEL\",\"description\":\"The MODEL statement specifies the dependent-variable and independent covariates (regressors) for the regression model. If you specify no regressors, PROC CSPATIALREG fits a model that contains only an intercept. The dependent-variable is treated as a continuous variable in the primary input data set (specified in the DATA= option). Models in PROC CSPATIALREG do not allow missing values. If there are missing values, you get an error message.\",\"help\":\"MODEL &lt;CORRB&gt;&lt;NOINT&gt;&lt;TYPE=&lt;LINEAR | SAR | SEM&gt;&gt; ...\",\"arguments\":[{\"name\":\"CORRB\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Prints the correlation matrix of the parameter estimates.\",\"type\":\"standalone\"},{\"name\":\"COVB\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Prints the covariance matrix of the parameter estimates.\",\"type\":\"standalone\"},{\"name\":\"NOINT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Suppresses the intercept parameter.\",\"type\":\"standalone\"},{\"name\":\"NOPRINT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Suppresses all printed output.\",\"type\":\"standalone\"},{\"name\":\"PRINTALL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests all available output.\",\"type\":\"standalone\"},{\"name\":\"TYPE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the type of model to be fitted. If you specify this option in both the MODEL statement and the PROC CSPATIALREG statement, the MODEL statement overrides the PROC CSPATIALREG statement.\",\"help\":\"TYPE=LINEAR | SAR | SEM\",\"type\":\"choice\",\"arguments\":[{\"name\":\"LINEAR\",\"followsDelimiter\":\"/\",\"description\":\"Specifies the linear model.\",\"type\":\"standalone\"},{\"name\":\"SAR\",\"followsDelimiter\":\"/\",\"description\":\"Specifies the spatial autoregressive model.\",\"type\":\"standalone\"},{\"name\":\"SEM\",\"followsDelimiter\":\"/\",\"description\":\"Specifies the spatial error model.\",\"type\":\"standalone\"}]}]},{\"name\":\"OUTPUT\",\"description\":\"The OUTPUT statement creates a new SAS data set that includes variables created by the output-options. These variables include the estimates of xi'β, the expected value of the response variable, and the residual.\",\"help\":\"OUTPUT &lt;COPYVAR=SAS-variable-names | COPYVARS=SAS-variable-names&gt;&lt;OUT=SAS-data-set&gt;&lt;XBETA=name&gt; ...\",\"arguments\":[{\"name\":\"COPYVAR=\",\"optional\":true,\"aliases\":[\"COPYVARS=\"],\"description\":\"Adds SAS variables to the output data set.\",\"type\":\"value\"},{\"name\":\"OUT=\",\"optional\":true,\"description\":\"Names the output data set.\",\"help\":\"OUT=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"PRED=\",\"optional\":true,\"aliases\":[\"MEAN=\"],\"description\":\"Assigns a name to the variable that contains the predicted value of the response variable.\",\"type\":\"value\"},{\"name\":\"RESIDUAL=\",\"optional\":true,\"aliases\":[\"RESID=\"],\"description\":\"Assigns a name to the variable that contains the residuals (that is, the difference between the observed and predicted values of the response variable).\",\"help\":\"RESIDUAL=*name*\",\"type\":\"value\"},{\"name\":\"XBETA=\",\"optional\":true,\"description\":\"Names the variable that contains estimates xi'β.\",\"help\":\"XBETA=*name*\",\"type\":\"value\"}]},{\"name\":\"RESTRICT\",\"description\":\"The RESTRICT statement imposes linear restrictions on the parameter estimates. You can specify any number of RESTRICT statements. Each restriction is written as an expression, followed by an equality operator (=) or an inequality operator (<, >, ≤, ≥), followed by a second expression: expression operator expression The operator can be =, <, >, ≤ , or ≥.\",\"help\":\"RESTRICT restriction1 &lt;, restriction2 ...&gt; \"},{\"name\":\"SPATIALEFFECTS\",\"description\":\"The SPATIALEFFECTS statement enables you to specify covariates (such as X) whose spatial lag, WX, is to be added to the MODEL statement.\",\"help\":\"SPATIALEFFECTS &lt;model-spatial-effect-regressors&gt; &lt;/options&gt;\"},{\"name\":\"SPATIALID\",\"description\":\"For models that require a spatial weights matrix, the SPATIALID statement specifies a variable that identifies a spatial unit for each observation in the two data sets that are specified in the DATA= option and WMAT= option in the PROC CSPATIALREG statement. The variable that is specified in the SPATIALID statement is also used to match the rows and columns in the spatial weights matrix. Only one SPATIALID statement and one spatial ID variable are allowed. The values of the spatial ID variable in either the DATA= data set or the WMAT= data set cannot be missing.\",\"help\":\"SPATIALID variable\"},{\"name\":\"TEST\",\"description\":\"The TEST statement performs Wald, Lagrange multiplier, and likelihood ratio tests of linear hypotheses about the parameters that are specified in the preceding MODEL statement.\",\"help\":\"TEST &lt;ALL&gt;&lt;LM&gt;&lt;LR&gt; ...\",\"arguments\":[{\"name\":\"ALL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests Wald, Lagrange multiplier, and likelihood ratio tests.\",\"type\":\"standalone\"},{\"name\":\"LM\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests the Lagrange multiplier test.\",\"type\":\"standalone\"},{\"name\":\"LR\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests the likelihood ratio test.\",\"type\":\"standalone\"},{\"name\":\"WALD\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests the Wald test.\",\"type\":\"standalone\"}]}],\"supportSiteInformation\":{\"docsetId\":\"casecon\",\"docsetVersion\":\"latest\",\"docsetTargetFile\":\"casecon_cspatialreg_toc.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/CSSM.json",
    "content": "{\"name\":\"CSSM\",\"statements\":[{\"name\":\"PROC CSSM\",\"description\":\"State space models (SSMs) are used for analyzing continuous response variables that are recorded sequentially according to a numeric indexing variable. In many cases, the indexing variable is time and the observations are collected at regular time intervals—for example, hourly, weekly, or monthly. In such cases, the resulting data are called time series data. In other cases, the indexing variable might not be time or the observations might not be equally spaced according to the indexing variable. These more general types of sequential data are called longitudinal data. Because of their sequential nature, these types of data exhibit some characteristic features. For example, chronologically closer measurements tend to be highly correlated while measurements farther apart are essentially uncorrelated. Data can be trending in a particular direction and can have seasonal or other periodic patterns. SSMs are specially designed to model such sequential data. They apply to both univariate and multivariate response situations and can easily incorporate predictor (independent variable) information when it is available. The CSSM procedure performs state space modeling of univariate and multivariate time series and longitudinal data.\",\"help\":\"PROC CSSM <options>;\\n\\tBY variables;\\n\\n\\tCOMPONENT name = (variables) * state< / options>;\\n\\n\\tDEPLAG name(response-variable)lag-term1<lag-term2 ...>;\\n\\n\\tDISPLAY <table-list>< / options>;\\n\\n\\tDISPLAYOUT table-spec-list< / options>;\\n\\n\\tEVAL name = expression< / options>;\\n\\n\\tID variable<option>;\\n\\n\\tIRREULAR name<options>;\\n\\n\\tMODEL response = variables< / options>;\\n\\n\\tOBSINDEX variable;\\n\\n\\tOUTPUT <options>;\\n\\n\\tPARMS variables< / options>;\\n\\n\\tProgramming Statements ;\\n\\n\\tSCORE options;\\n\\n\\tSIMSMOOTH options;\\n\\n\\tSTATE name(dim)<options>;\\n\\n\\tTREND name(type)<options>;\\n\",\"arguments\":[{\"name\":\"BREAKPEAKS\",\"optional\":true,\"description\":\"prints an alternate form of the break summary tables when the CHECKBREAK option is used in the STATE or TREND statement or when the MAXSHOCK option is used in the OUTPUT statement. In this alternate form, the summary tables report the significant peaks of the shock statistics curves; see Example 14.8: Diagnostic Plots and Structural Break Analysis for examples of these curves.\",\"type\":\"standalone\"},{\"name\":\"DATA=\",\"optional\":true,\"description\":\"names the input data table for PROC CSSM to use.\",\"help\":\"DATA= *libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"LIKE=\",\"optional\":true,\"description\":\"specifies the type of likelihood to use for parameter estimation. You can specify the following values:\",\"help\":\"LIKE= DIFFUSE |  MARGINAL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DIFFUSE\",\"type\":\"standalone\"},{\"name\":\"MARGINAL\",\"type\":\"standalone\"}]},{\"name\":\"NOPRINT\",\"optional\":true,\"description\":\"turns off all the printing and plotting for the procedure. Any subsequent print options are ignored.\",\"type\":\"standalone\"},{\"name\":\"OPTIMIZER\",\"optional\":true,\"description\":\"specifies options that are associated with the optimizer used in the maximum likelihood parameter estimation. The default settings of the optimization process are adequate for most problems. However, in some cases it might be useful to change the optimization technique, the Hessian type, or the maximum number of iterations. You can specify one of the following techniques:\",\"help\":\"OPTIMIZER(&lt;TECHNIQUE=*technique*&gt; &lt;HESSTYPE=*Hessian-type*&gt; &lt;MAXITER=*integer*&gt;)\",\"type\":\"standaloneOrValue\"},{\"name\":\"PLOTS\",\"optional\":true,\"description\":\"\",\"help\":\"PLOTS &lt;(global-plot-options)&gt; = *plot-request* &lt;(options)&gt;\",\"type\":\"value\"},{\"name\":\"PLOTS\",\"optional\":true,\"description\":\"controls the plots produced with ODS Graphics. When you specify only one plot-request, you can omit the parentheses around it. If you do not specify any specific plot-request, then by default PROC CSSM produces the plot of standardized residuals against time. For general information about ODS Graphics, see Chapter 24, Statistical Graphics Using ODS (SAS/STAT User's Guide).\",\"help\":\"PLOTS &lt;(global-plot-options)&gt; = (*plot-request* &lt;(options)&gt;&lt; … *plot-request*&lt;(options)&gt;&gt;\",\"type\":\"value\"},{\"name\":\"PRINTALL\",\"optional\":true,\"description\":\"turns on all the printing options for the procedure. All subsequent NOPRINT options in the procedure are ignored.\",\"type\":\"standalone\"},{\"name\":\"STATEINFO\",\"optional\":true,\"description\":\"prints two tables that provide information about the composition of the state vector in terms of the components specified in the model. One table describes the composition of state alpha alpha Subscript t, and the other table describes the diffuse vector delta delta and the regressors, which are part of the initial condition specification alpha alpha 1. For more information about the state space model notation, see the section State Space Model and Notation.\",\"type\":\"standalone\"},{\"name\":\"ZSPARSE\",\"optional\":true,\"description\":\"enables the exploitation of the sparsity of the bold upper Z Subscript t matrices in the observation equation during the modeling calculations (see the section State Space Model and Notation for further information). The use of this option can improve the computational efficiency of models that have a large state dimension and sparse bold upper Z Subscript t matrices—that is, many of their elements are zero. You should use the ZSPARSE option only when the state dimension is sufficiently large (at least 30) and a good percentage (at least 50%) of bold upper Z Subscript t entries are zero; otherwise, the computational efficiency can in fact degrade.\",\"type\":\"standalone\"}]},{\"name\":\"BY\",\"description\":\"A BY statement can be used in the CSSM procedure to process a data set in groups of observations that are defined by the BY variables. The model specified by using the MODEL and other statements is applied to all the groups defined by the BY variables. The BY variables are one or more variables in the input data set. The BY variables cannot be used in the model specification; in particular, they cannot be used as response variables or regressors in a MODEL statement.\",\"help\":\"BY *variables*;\"},{\"name\":\"COMPONENT\",\"description\":\"The COMPONENT statement specifies a component (a linear combination of state elements), named name. You can use name later as a term in the right-hand side of the MODEL statement, which defines the observation equation. The estimate of name is output to the OUT= data set that is specified in the OUTPUT statement. In addition, you can print the component estimate by using the PRINT= option.\",\"help\":\"COMPONENT name = (var1 var2 … | number1 number2 ...) * state</ options>;\\nCOMPONENT name = state [ integer ]</ options>;\\nCOMPONENT name = (Variable | Number) * state [ integer ]</ options>;\",\"arguments\":[{\"name\":\"name=\",\"description\":\"The COMPONENT statement specifies a component (a linear combination of state elements), named name. You can use name later as a term in the right-hand side of the MODEL statement, which defines the observation equation. The estimate of name is output to the OUT= data set that is specified in the OUTPUT statement. In addition, you can print the component estimate by using the PRINT= option.\",\"help\":\"name=*component*\",\"type\":\"value\"},{\"name\":\"PRINT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"requests printing of the filtered or smoothed estimate of the specified component.\",\"help\":\"PRINT = FILTER | SMOOTH | (FILTER SMOOTH)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"FILTER\",\"type\":\"standalone\"},{\"name\":\"SMOOTH\",\"type\":\"standalone\"},{\"name\":\"(FILTER SMOOTH)\",\"type\":\"standalone\"}]}]},{\"name\":\"DEPLAG\",\"description\":\"The DEPLAG statement defines a term, named name, that consists of a linear combination of lagged response variables. You can use name later as a right-hand-side term in the MODEL statement for the response variable, as specified in name(response-variable). For a multivariate model, a separate DEPLAG statement is needed for each MODEL statement that has a right-hand-side term that involves lagged response variables. The linear combination of lagged response variables is specified by using one or more lag-terms. Each lag-term specifies the lags that are associated with one of the response variables.\",\"help\":\"DEPLAG *name(response-variable)**lag-term1*&lt;lag-term2 ...&gt;\",\"arguments\":[{\"name\":\"name\",\"description\":\"The DEPLAG statement defines a term, named name, that consists of a linear combination of lagged response variables.\",\"help\":\"name(*response-variable*)\",\"type\":\"value\"},{\"name\":\"lag-term1\",\"description\":\"A lag-term is specified in one of the following forms:\",\"type\":\"standalone\"}]},{\"name\":\"DISPLAY\",\"description\":\"The DISPLAY statement enables you to specify a list of display tables to display or exclude. This statement is similar to the ODS SELECT, ODS EXCLUDE, and ODS TRACE statements. However, the DISPLAY statement can improve performance when a large number of tables could be generated (such as in BY-group processing). The procedure processes the DISPLAY statement on a CAS server and thus sends only a subset of ODS tables to the SAS client. Because ODS statements are processed on a SAS client, first all the generated display tables are sent to the client, and then the client creates a subset. If you use both DISPLAY and ODS statements together, the DISPLAY statement takes precedence over the ODS statements. Note that the ODS EXCLUDE statement processes tables that are sent to the client after they have been filtered by the DISPLAY statement. In some cases, it might appear that the ODS EXCLUDE statement is taking precedence because it can further filter the tables. For more information about ODS, see SAS Output Delivery System: Procedures Guide.\",\"help\":\"DISPLAY &lt;table-list&gt;&lt;/ options&gt;;\",\"arguments\":[{\"name\":\"table-list\",\"description\":\"You can specify the table-list as a list of table names, paths, partial pathnames, and regular expressions.\",\"type\":\"standaloneOrValue\"},{\"name\":\"CASESENSITIVE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"performs a case-sensitive comparison of table names in the table-list to display table names when tables are subsetted for display. To preserve case, you must enclose table names in the table-list in quotation marks.\",\"type\":\"standalone\"},{\"name\":\"EXCLUDE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"displays all display tables except those that you specify in the table-list.\",\"type\":\"standalone\"},{\"name\":\"EXCLUDEALL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses display of all tables. This option takes precedence over the other options.\",\"type\":\"standalone\"},{\"name\":\"TRACE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"displays the display table names, labels, and paths.\",\"type\":\"standalone\"}]},{\"name\":\"DISPLAYOUT\",\"description\":\"The DISPLAYOUT statement enables you to create output tables from your displayed output. This statement is similar to the ODS OUTPUT statement. For more information about ODS, see SAS Output Delivery System: Procedures Guide.\",\"help\":\"DISPLAYOUT *table-spec-list*&lt;/ options&gt;\",\"arguments\":[{\"name\":\"table-spec-list\",\"placeholder\":true,\"description\":\"The table-spec-list specifies a list of output tables to create. Each entry in the list has either a key=value format or a key format:\",\"type\":\"dataSet\"},{\"name\":\"INCLUDEALL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"creates output tables for all display tables. The name of the created output table is the same as the name of the corresponding display table. If you specify this option, the table-spec-list specification is ignored.\",\"type\":\"standalone\"},{\"name\":\"NOREPLACE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"does not replace any existing output table of the same name.\",\"type\":\"standalone\"},{\"name\":\"REPEATED\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"replicates all output tables on all nodes.\",\"type\":\"standalone\"}]},{\"name\":\"EVAL\",\"description\":\"The EVAL statement defines a linear combination, named name, of the terms used in the right-hand side of a MODEL statement. You can specify any variables (for example, predictor variables and names of components) in the expression of the EVAL statement; however, you cannot specify in this expression any observation disturbances that are specified by the IRREGULAR statement and any model terms that are specified by the DEPLAG statement.\",\"help\":\"EVAL *name= number1*variable1 + number2*variable2 + ...*&lt;/ options&gt;;\",\"arguments\":[{\"name\":\"name=\",\"description\":\"defines a linear combination, named name, of the terms used in the right-hand side of a MODEL statement.\",\"type\":\"value\"},{\"name\":\"PRINT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"requests printing of the filtered or smoothed estimate of the specified linear combination.\",\"help\":\"PRINT = FILTER | SMOOTH | (FILTER SMOOTH)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"FILTER\",\"type\":\"standalone\"},{\"name\":\"SMOOTH\",\"type\":\"standalone\"},{\"name\":\"(FILTER SMOOTH)\",\"type\":\"standalone\"}]}]},{\"name\":\"ID\",\"description\":\"The ID statement names a numeric variable to associate a sequence value—usually related to a timestamp—with the observations in the input data set. The ID statement is required. Internally, the CSSM procedure sorts the observations in ascending order by the ID variable within a BY group. If you also supply an OBSINDEX variable, the observations are sorted by both the ID variable and the OBSINDEX variable. Often the ID variable’s values are SAS date, time, or datetime values, and each observation within a BY group has a unique ID value. Generally, however, the ID variable can be any numeric variable, and there can be multiple observations with the same ID value. If the ID values are SAS date, time, or datetime values, you can specify the associated unit of time—for example, day, week or month—by using the INTERVAL= option. A variable, _ID_DELTA_, is automatically created that can be used as any input data set variable in the programming statements. _ID_DELTA_ contains the distance between two successive ID values. The first _ID_DELTA_ value is arbitrarily taken as 1. If the INTERVAL= option is specified, the distance between the ID values is measured in terms of the number of intervals; therefore, for regularly spaced data, _ID_DELTA_ is identically equal to 1.\",\"help\":\"ID *variable*&lt;option&gt;;\",\"arguments\":[{\"name\":\"variable\",\"placeholder\":true,\"description\":\"The ID statement names a numeric variable to associate a sequence value—usually related to a timestamp—with the observations in the input data set.\",\"type\":\"value\"},{\"name\":\"INTERVAL=\",\"optional\":true,\"description\":\"specifies the unit of time interval that is used to measure the ID values. INTERVAL=value is used in conjunction with the ID variable to verify that the input data are in the proper order. For a complete discussion of the supported intervals, see Chapter 4, Date Intervals, Formats, and Functions (SAS/ETS User's Guide).\",\"help\":\"INTERVAL= *value*\",\"type\":\"value\"}]},{\"name\":\"IRREGULAR\",\"description\":\"The IRREGULAR statement specifies a one-dimensional white noise component, which can be used to specify the observation error in a MODEL statement.\",\"help\":\"IRREGULAR *name*&lt;options&gt;;\",\"arguments\":[{\"name\":\"PRINT=\",\"optional\":true,\"description\":\"requests printing of the smoothed estimate of the specified irregular component.\",\"help\":\"PRINT=SMOOTH\",\"type\":\"value\"},{\"name\":\"VARIANCE=\",\"optional\":true,\"description\":\"specifies the variance of the white noise. Any nonnegative value, including 0, is permissible. If the variable contains unknown parameters, they are estimated from the data. Similarly, if the VARIANCE= option is not specified, the variance is estimated from the data.\",\"help\":\"VARIANCE= *variable* | *number*\",\"type\":\"choice\",\"arguments\":[{\"name\":\"variable\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"number\",\"placeholder\":true,\"type\":\"value\"}]}]},{\"name\":\"MODEL\",\"description\":\"A MODEL statement specifies an observation equation that describes a response variable as a sum of regression effects and components that are defined in the program. The response variable must be a numeric variable from the input data set. The variables used in the right-hand side of the model expression can be numeric variables from the input data set, numeric variables defined by using programming statements, or names of components that are specified in the COMPONENT, DEPLAG, TREND, or IRREGULAR statements. For a multivariate model, a separate MODEL statement is needed for each of the response variables. In this case, the observation errors, which are specified in an IRREGULAR statement, must be different in each MODEL statement. The components that are specified in a given MODEL statement must correspond to distinct state subsections. This requirement is imposed only to simplify the overall readability of the program and does not limit the type of models that can be specified; if two components on the right-hand side of a MODEL statement share the same state subsection, a new component that combines the effect of these two components can always be defined.\",\"help\":\"MODEL *response = variables*&lt;options&gt;;\",\"arguments\":[{\"name\":\"response = variables\",\"placeholder\":true,\"description\":\"The response variable must be a numeric variable from the input data set. The variables used in the right-hand side of the model expression can be numeric variables from the input data set, numeric variables defined by using programming statements, or names of components that are specified in the COMPONENT, DEPLAG, TREND, or IRREGULAR statements.\",\"help\":\" *response = variables*\",\"type\":\"value\"},{\"name\":\"AGGREGATE\",\"optional\":true,\"description\":\"produces a table of full-sample predictions of the temporally aggregated values of the response variable that is specified in the MODEL statement. The variable that you specify in the START= option, startFlag, must be a zero-one variable that flags the start of an aggregation interval—equal to 1 at the start of an interval and 0 otherwise. For example, you can use this option to obtain the forecasts of weekly (or monthly) totals from a daily series. In this case, the value of startFlag is 1 at the start of the week (or month) and 0 otherwise. For more information, see the section Temporal Aggregation and Temporal Distribution. This option is valid only if the data form a time series (either univariate or multivariate). If you use the AGGREGATE option in a MODEL statement, you cannot use the DISTRIBUTE option in the same statement or in another MODEL statement.\",\"help\":\"AGGREGATE(START=*startFlag*) | SUM(START=*startFlag*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"AGGREGATE\",\"type\":\"value\"},{\"name\":\"SUM\",\"type\":\"value\"}]},{\"name\":\"DISTRIBUTE\",\"optional\":true,\"description\":\"indicates that the response variable that is specified in the MODEL statement is a temporally aggregated version of an unobserved variable. The variable that you specify in the START= option, startFlag, must be a zero-one variable that flags the start of an aggregation interval—equal to 1 at the start of an interval and 0 otherwise. This option can be used only when the data form a time series (either univariate or multivariate) and when the overall model specification does not contain terms that involve lagged response variables (that is, the model specification does not involve the use of DEPLAG statements). If you use the DISTRIBUTE option in a MODEL statement, you cannot use the AGGREGATE option in the same statement or in another MODEL statement. For more information, see the section Temporal Aggregation and Temporal Distribution.\",\"help\":\"DISTRIBUTE(START=*startFlag*)\",\"type\":\"value\"},{\"name\":\"PRINT\",\"optional\":true,\"description\":\"requests printing of the filtered or smoothed estimate of the specified response variable. The filtered estimate is produced during the filtering phase, and the smoothed estimate is produced by the smoothing phase of the Kalman filter and smoother algorithm. The filtered estimate is also called the one-step-ahead forecast of the response variable. The smoothed estimate corresponds to the full-sample prediction of the response variable. Because the full-sample prediction of a nonmissing response value is that value itself, full-sample predictions are printed only for the missing response values.\",\"help\":\"PRINT = FILTER | SMOOTH | (FILTER SMOOTH)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"FILTER\",\"type\":\"standalone\"},{\"name\":\"SMOOTH\",\"type\":\"standalone\"},{\"name\":\"(FILTER SMOOTH)\",\"type\":\"standalone\"}]}]},{\"name\":\"OBSINDEX\",\"description\":\"The OBSINDEX statement specifies a numeric input data variable that, together with the ID variable, uniquely identifies the observations within a BY group. This statement is essential for the reproducibility of the computations in situations where there can be multiple observations in a given BY group that have the same ID value. These types of situations arise when you are analyzing panels of time series or when the data are longitudinal.\",\"help\":\"OBSINDEX *variables*;\"},{\"name\":\"OUTPUT\",\"description\":\"The OUTPUT statement creates an optional output data set and also provides options to control certain aspects of the procedure output. If the OUT= option is specified, then an output data set is created to store estimates of the model components and series forecasts. If the OUT= option is omitted, then no data set is created by the OUTPUT statement. Other options in the OUTPUT statement produce additional information in the printed output generated by the procedure.\",\"help\":\"OUTPUT &lt;options&gt; ;\",\"arguments\":[{\"name\":\"AO\",\"optional\":true,\"description\":\"controls the additive outlier search (see the section Delete-One Cross Validation and the Additive Outlier Detection for more information). The ALPHA= suboption specifies the significance level for reporting the outliers. The default is ALPHA=0.05. The MAXNUM= suboption limits the number of outliers to search. The default is MAXNUM=5. The MAXPCT= suboption is similar to the MAXNUM= suboption. In the MAXPCT= option you can limit the number of outliers to search for according to a percentage of the series length. The default is MAXPCT=1. When you specify both of these options, the lesser of the two search numbers is used.\",\"help\":\"AO(&lt;*number*&gt; &lt;*number*&gt; &lt;*number*&gt;)\",\"type\":\"standaloneOrValue\"},{\"name\":\"ALPHA=\",\"optional\":true,\"description\":\"specifies the significance level of the forecast confidence intervals. For example, ALPHA=0.05, which is the default, results in a 95% confidence interval.\",\"help\":\"ALPHA=*number*\",\"type\":\"value\"},{\"name\":\"BREAK\",\"optional\":true,\"description\":\"controls the structural break search (for more information, see the section Structural Breaks in the State Evolution). In order for this option to have any effect, the CHECKBREAK option in one of the STATE or TREND statements, or the MAXSHOCK option in the OUTPUT statement, must be turned on. The ALPHA= suboption specifies the significance level for reporting the breaks. The default is ALPHA=0.05. The MAXNUM= suboption limits the number of breaks to search. The default is MAXNUM=5. The MAXPCT= suboption is similar to the MAXNUM= suboption. In the MAXPCT= option, you can limit the number of breaks to search for according to a percentage of the number of distinct time points in the data. The default is MAXPCT=1. When you specify both of these options, the lesser of the two search numbers is used.\",\"help\":\"BREAK(&lt;*number*&gt; &lt;*number*&gt; &lt;*number*&gt;)\",\"type\":\"standaloneOrValue\"},{\"name\":\"MAXSHOCK\",\"optional\":true,\"description\":\"causes the computation of the maximal state shock chi-square statistic at each distinct time point in the input data set. These statistics are output to the data set that is specified in the OUT= option. A time series plot of these statistics is produced if the PLOTS=MAXSHOCK option is specified in the PROC CSSM statement. These statistics are useful for detecting structural breaks in the state evolution process. This option can be computationally expensive for a model with large state size.\",\"type\":\"standalone\"},{\"name\":\"OUT=\",\"optional\":true,\"description\":\"specifies an output data set for the forecasts. The output data set contains the ID variable, the OBSINDEX variable (if specified), the response variables, the one-step-ahead and out-of-sample response variable forecasts, the forecast confidence intervals, the smoothed values of the response series, and the one-step-ahead and smoothed estimates of the model components—including expressions that are defined by using the EVAL statement.\",\"help\":\"OUT=*libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"PDV\",\"optional\":true,\"description\":\"causes the inclusion of the variables (variables in the program data vector) that are defined by using the programming statements in the CSSM procedure in the OUT= data set. The parameters defined by the PARMS statement are also included. The output data set contains the values of these variables evaluated for all the rows in the input data set that is specified in the DATA= option. The parameters in the PARMS statement contain their estimated values.\",\"type\":\"standalone\"},{\"name\":\"PRESS\",\"optional\":true,\"description\":\"prints the prediction error sum of squares (PRESS) and the generalized cross validation error sum of squares (GCV). The PRESS table also reports the number of summands that are used in these sums of squares.\",\"type\":\"standalone\"}]},{\"name\":\"PARMS\",\"description\":\"The PARMS statement declares the parameters of a model and optionally sets their initial values. You can also specify the lower and upper limits of their validity range. The parameters declared by using the PARMS statement are called named parameters throughout this chapter. A model can have additional parameters: any unspecified quantity in the model specification becomes part of the parameter vector.\",\"help\":\"PARMS *variable*&lt;=number&gt;*variable*&lt;=number&gt;&lt;/ options&gt;;\",\"arguments\":[{\"name\":\"LOWER=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the lower bounds for the specified parameters. The list can contain exactly one number, which is taken to be the lower bound for all the listed parameters in the statement, or it must contain as many values as the number of parameters specified. A missing value, denoted by ., is a permissible value, which signifies that the parameter has no lower bound.\",\"help\":\"LOWER=(*number*) |  LOWER=(*number1 number2 ...*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"LOWER=\",\"type\":\"value\"},{\"name\":\"LOWER=\",\"type\":\"value\"}]},{\"name\":\"UPPER=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the upper bounds for the specified parameters. The list can contain exactly one number, which is taken to be the upper bound for all the listed parameters in the statement, or it must contain as many values as the number of parameters specified. A missing value, denoted by ., is a permissible value, which signifies that the parameter has no upper bound.\",\"help\":\"UPPER=(*number*) |  UPPER=(*number1 number2 ...*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"UPPER=\",\"type\":\"value\"},{\"name\":\"UPPER=\",\"type\":\"value\"}]}]},{\"name\":\"Programming Statements\",\"description\":\"To define the model, you can use most of the programming statements that are allowed in the SAS DATA step. For more information, see the SAS DATA Step Statements: Reference. For the most part, the syntax of programming statements used in PROC CSSM is identical to that used in the MODEL procedure (see Chapter 24, MODEL Procedure (SAS/ETS User's Guide)) and the NLMIXED procedure (see Chapter 89, The NLMIXED Procedure (SAS/STAT User's Guide)). However, there are some restrictions: the DATA step lagging and differencing functions are not allowed, and the use of character variables in the DATA step expressions is not permitted. These are not serious restrictions; usually you can overcome them by adding the variables that are created by such operations to the input data set before its use in the CSSM procedure.\"},{\"name\":\"SCORE\",\"description\":\"The SCORE statement enables you to use the fitted model for scoring. By using the IN= and OUT= options in the SCORE statement, you can create, reuse, and update a score store. The score store contains sufficient context information so that you can perform many tasks, such as scenario analysis and forecasting for streaming data, without having to fit the model again. The score store is a binary large object (BLOB) table, which uses a binary file format that cannot be edited or viewed like a typical data table.\",\"help\":\"SCORE &lt;IN= *score-table*&gt;&lt;OUT=*score-table* ; &gt;\",\"arguments\":[{\"name\":\"IN=\",\"optional\":true,\"description\":\"specifies a previously created score store to score the rows in the input data table. The rows in the input data table must represent a continuation of the sequential observation process that was used to create the specified score store. In particular, for a given BY group, the smallest value of the ID variable in the current input data table must be the same as or larger than the largest value of the ID variable in the data table that you used to create the score store. When you specify the IN= option in the SCORE statement, the statements that are used for model specification (such as the MODEL, STATE, and TREND statements, and so on) are not needed; in addition to the PROC CSSM statement and the SCORE statement, only the BY and OUTPUT statements are used when needed.\",\"help\":\"IN=*score-table*\",\"type\":\"dataSet\"},{\"name\":\"OUT=\",\"optional\":true,\"description\":\"specifies an output score-store table for storing the context information. The score store contains all the information that is needed for resuming the forecasting process from the last observation of a given BY group. If the OUT(k)= form of the option is used (where k is some positive integer), the score store keeps additional historical information so that the forecasting begins k time instances before the last observation. If k is larger than the total number of time points in a BY group, it is appropriately reduced. You should use the OUT(k)= form only at the time of score-store creation. In subsequent calls, the value of k that you specify at creation time remains in effect and cannot be changed. That is, k in OUT(k) is ignored when you also specify the IN= option.\",\"help\":\"OUT&lt;(*positive-integer*)&gt;= *score-table*\",\"type\":\"dataSet\"}]},{\"name\":\"SIMSMOOTH\",\"description\":\"The SIMSMOOTH statement enables you to use the fitted model for simulation smoothing. (For more information, see the section Simulation Smoothing.) The OUTMODEL= option enables you to store the fitted model in a binary large object (BLOB) table to use later for simulation smoothing. The INMODEL= option enables you to load a previously stored fitted model and use it for simulation smoothing. The other options in this statement enable you to control different parts of the simulation smoothing process.\",\"help\":\"SIMSMOOTH &lt;INMODEL= *blob-table*&gt;&lt;OUTMODEL= *blob-table*&gt;&lt;options&gt;;\",\"arguments\":[{\"name\":\"INMODEL=\",\"optional\":true,\"description\":\"specifies a previously created BLOB table that contains the fitted model for the input data table. When you specify this option in the SIMSMOOTH statement, the statements that are used for model specification (such as the MODEL, STATE, and TREND statements) are not needed. In addition to the PROC CSSM and SIMSMOOTH statements, only the options that control the simulation smoothing steps, such as the NSIM=, SEED=, and OUTPRED= options, are used.\",\"help\":\"INMODEL=*blob-table*\",\"type\":\"dataSet\"},{\"name\":\"NSIM=\",\"optional\":true,\"description\":\"specifies the number of simulations to generate, where number is a positive integer. By default, NSIM=1.\",\"help\":\"NSIM=*number*\",\"type\":\"value\"},{\"name\":\"OUTCOMP=\",\"optional\":true,\"description\":\"specifies an output data table to store the simulated components. This table contains the ID statement variable, the OBSINDEX statement variable (if specified), and the simulated components.\",\"help\":\"OUTCOMP=*libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"OUTMODEL=\",\"optional\":true,\"description\":\"specifies a BLOB table to store the fitted model specification for later use in simulation smoothing. When you specify this option in the SIMSMOOTH statement, other options in this statement (such as the INMODEL= or NSIM= option) are ignored.\",\"help\":\"OUTMODEL=*blob-table*\",\"type\":\"dataSet\"},{\"name\":\"OUTPRED=\",\"optional\":true,\"description\":\"specifies an output data table to store the simulated predictions of the missing response values. This table contains the ID statement variable, the OBSINDEX statement variable (if specified), and the simulated predictions of the missing response values.\",\"help\":\"OUTPRED=*libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"OUTSTATE=\",\"optional\":true,\"description\":\"specifies an output data table to store the simulated latent states. This table contains the ID statement variable, the OBSINDEX statement variable (if specified), and the simulated states.\",\"help\":\"OUTSTATE=*libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"SEED=\",\"optional\":true,\"description\":\"specifies the start of the set of random number seeds to use during the simulation process. As an example, if the number of simulations that you specify in the NSIM= option is 100 and SEED=5, then the seeds between 5 and 104 are sequentially used for random number generation during the 100 simulations. By default, SEED=1.\",\"help\":\"SEED=*seed*\",\"type\":\"value\"}]},{\"name\":\"STATE\",\"description\":\"The STATE statement specifies a subsection of alpha alpha Subscript t, the overall state vector at time t (for more information, see the section State Space Model and Notation). You can specify multiple STATE statements, each specifying a separate subsection. It is assumed that the subsections that are specified by using different STATE statements are mutually independent. This independence assumption implies a block-diagonal structure for the transition matrices Tt and the disturbance covariances Qt for all t greater-than-or-equal-to 1. An appropriate block structure also applies to Wt and A1. The options in the STATE statement provide complete control over the description of the relevant blocks of Tt, Qt, Wt, and At. The argument dim (a positive integer in name (dim)) specifies the nominal dimension of this subsection. In most situations, the nominal dimension and the actual dimension of the state subsection are the same. However, when you specify the TYPE= option, the actual dimension of the state subsection can be different from the nominal dimension. The TYPE= option simplifies the state specification task for some commonly needed models.\",\"help\":\"STATE *name(dim)*&lt;options&gt;;\",\"arguments\":[{\"name\":\"A1\",\"optional\":true,\"description\":\"treats the last nd elements of the state subsection as diffuse. This becomes the dimension of the relevant subsection of the diffuse vector delta. The A1 block is created by using appropriate columns of the identity matrix. The value of nd must lie between 1 and the nominal dimension, dim. The absence of this option signifies that this subsection of alphat is nondiffuse. If both the COV1 and A1 options are specified, the last nd rows and columns of the matrix specified in the COV1 option are taken to be 0. This option cannot be used together with the RANK= option of the COV1 option.\",\"help\":\"A1(*nd*)\",\"type\":\"value\"},{\"name\":\"CHECKBREAK\",\"optional\":true,\"description\":\"turns on the checking of breaks for this state subsection. The ELEMENTWISE suboption requests the elementwise checking of any unexpected change in the state subsection as it evolves from one time point to the next. The OVERALL suboption requests a similar check for the entire state subsection—that is, in this case the change is measured as a multidimensional change. The ELEMENTWISE suboption is the default. Unless the PRINT=BREAKDETAIL option is specified, only a summary of the most significant breaks is produced. If the PRINT=BREAKDETAIL is specified, tables that contain the break significance statistics at every distinct time point are produced—one for the ELEMENTWISE suboption and one for the OVERALL suboption.\",\"help\":\"CHECKBREAK &lt;ELEMENTWISE | OVERALL&gt;\",\"type\":\"standaloneOrValue\"},{\"name\":\"COV\",\"optional\":true,\"description\":\"specifies the relevant block of the disturbance covariance Qt (for t greater-than-or-equal-to 2) in the transition equation. As with the T option, the absence of this option signifies that this Q-block consists of only zeros. The structure of the Q-block is also similarly specified. However, the following differences exist: The list that is specified to form the covariance must result in a symmetric, positive semidefinite matrix; You can specify a rank constraint on the Q-block by specifying COV(RANK=integer), where the specified integer must lie between 1 and dim. A rank constraint is permissible only for the general form and only when its elements are not specified by using a list; The convention of treating unset variables as structural zeros, which is used in specifying sparsity of the T-block, is not used in the Q-block specification. Whenever you explicitly specify the entries of the Q-block by specifying a list of variables in parentheses, all variables in the list must evaluate to nonmissing values.\",\"help\":\"COV(D) &lt;= *(var1 var2 …)* | *(number1 number2 …)*&gt; | COV(G) &lt;= *(var1 var2 …)* | *(number1 number2 …)*&gt; | COV(I) &lt;= *(variable)* | *(number)*&gt; | COV(RANK=*integer*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"COV\",\"type\":\"standaloneOrValue\"},{\"name\":\"COV\",\"type\":\"standaloneOrValue\"},{\"name\":\"COV\",\"type\":\"standaloneOrValue\"},{\"name\":\"COV\",\"type\":\"value\"}]},{\"name\":\"COV1\",\"optional\":true,\"description\":\"specifies the relevant block of the initial state covariance Q1. The different options in this case have the same meaning as the options of the COV option. However, the following differences exist: If the elements of Q1 are specified by a list of variables in parentheses, then these variables must evaluate to constant values. In particular, they can depend on parameters that are specified by the PARMS statements; however, they cannot depend on any of the input data columns; If the initial condition is partially diffuse (that is, the diffuse dimension nd specified in the A1 option is nonzero), the last nd rows and columns of the matrix specified in COV1 are taken to be zero. Moreover, if the elements of Q1 are specified by a list, its number of elements must correspond to a matrix of dimension (dim – nd).\",\"help\":\"COV1(D) &lt;= *(var1 var2 …)* | *(number1 number2 …)*&gt; | COV1(G) &lt;= *(var1 var2 …)* | *(number1 number2 …)*&gt; | COV1(I) &lt;= *(variable)* | *(number)*&gt; | COV1(RANK=*integer*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"COV1\",\"type\":\"standaloneOrValue\"},{\"name\":\"COV1\",\"type\":\"standaloneOrValue\"},{\"name\":\"COV1\",\"type\":\"standaloneOrValue\"},{\"name\":\"COV1\",\"type\":\"value\"}]},{\"name\":\"PRINT=\",\"optional\":true,\"description\":\"requests printing of the respective system matrices and the printing of the break statistics at each distinct time point. You can specify PRINT=AR or PRINT=MA only if you specify the TYPE=VARMA option. If any of these matrices are time-varying, the matrix that corresponds to the first time instance is printed. For the BREAKDETAIL suboption to have any effect, the CHECKBREAK option must be turned on. If TYPE= option is used, the result of PRINT=COV can be different than the matrix supplied in the COV= option.\",\"help\":\"PRINT= AR | BREAKDETAIL | COV | COV1 | MA | T | (&lt;AR&gt; | &lt;BREAKDETAIL&gt; | &lt;COV&gt; | &lt;COV1&gt; | &lt;MA&gt; | &lt;T&gt;\",\"type\":\"choice\",\"arguments\":[{\"name\":\"AR\",\"type\":\"standalone\"},{\"name\":\"BREAKDETAIL\",\"type\":\"standalone\"},{\"name\":\"COV\",\"type\":\"standalone\"},{\"name\":\"COV1\",\"type\":\"standalone\"},{\"name\":\"MA\",\"type\":\"standalone\"},{\"name\":\"T\",\"type\":\"standalone\"},{\"name\":\"(AR | BREAKDETAIL | COV | COV1 | MA | T\",\"type\":\"standaloneOrValue\"}]},{\"name\":\"SINPUT\",\"optional\":true,\"description\":\"specifies the relevant dim-dimensional block of the state input vector ct. The absence of this option signifies that this block of the ct vector consists of only zeros. If the elements of ct are specified by a list of variables in parentheses, then these variables must be independent of unknown parameters. In particular, they cannot be functions of parameters that are defined by the PARMS statements.\",\"help\":\"SINPUT = *(var1 var2 …)* | *(number1 number2 …)*\",\"type\":\"choice\",\"arguments\":[{\"name\":\"(var1 var2 …)\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(number1 number2 …)\",\"placeholder\":true,\"type\":\"value\"}]},{\"name\":\"T\",\"optional\":true,\"description\":\"specifies the relevant block of the transition matrix Tt. The absence of this option signifies that this block consists of only zeros. You can specify the structure of the T-block by specifying T(I) for the identity form, T(D) for the diagonal form, and T(G) for a general unstructured form. In addition, you can explicitly specify the entries of the T-block by specifying a list of numbers in parentheses, or by specifying in parentheses a list of variables that are defined by using the programming statements. The unspecified elements of the T-block are included in the list of parameters to be estimated from the data. If the elements of the T-block are supplied by a list in parentheses, the number of elements in the list depends on its structure. For the diagonal form, the list must contain exactly dim elements. In the case of the identity form—T(I)—the block is already fully specified; however, a specification T(I)=(variable) is understood to mean that the identity block is scaled by the specified variable (or a number). In the general case—T(G)—the list must consist of dimension*dimension elements, specified in a rowwise fashion. An inappropriate number of elements in the list results in a syntax error.\",\"help\":\"T(D) &lt;= *(var1 var2 …)* | *(number1 number2 …)*&gt; | T(G) &lt;= *(var1 var2 …)* | *(number1 number2 …)*&gt; | T(I) &lt;= *(variable)* | *(number)*&gt;\",\"type\":\"choice\",\"arguments\":[{\"name\":\"T\",\"type\":\"standaloneOrValue\"},{\"name\":\"T\",\"type\":\"standaloneOrValue\"},{\"name\":\"T\",\"type\":\"standaloneOrValue\"}]},{\"name\":\"TYPE=\",\"optional\":true,\"description\":\"specifies a state subsection that corresponds to the specified type. You can specify either a number or a variable for the RHO= and PERIOD= suboptions. When TYPE=VARMA, the autoregressive and moving average orders can be at most 1 (0 less-than-or-equal-to p less-than-or-equal-to 1 and 0 less-than-or-equal-to q less-than-or-equal-to 1). Moreover, by using the D and I flags with the order specification, you can impose additional structure on the autoregressive and moving average coefficient matrices—for example, specifying TYPE=VARMA(P=1) implies a VAR(1) model with general autoregressive coefficient matrix, whereas specifying TYPE=VARMA(P(D)=1) implies a VAR(1) model with diagonal autoregressive coefficient matrix. If you specify the TYPE= option, the T, COV1, SINPUT, and A1 options are not needed. In fact they are ignored, since the transition matrix Tt and the matrices in the initial condition (Q1 and A1) are implicitly defined by the choice of the type. However, the COV and W options can be useful. In fact, the specification of the COV option does play a key role in the eventual form of bold upper Q Subscript t—the covariance of the disturbance term in the transition equation. For the types LL, CYCLE, SEASON, and VARMA, the dimension of the resulting state subsection is a certain multiple of dim, the nominal dimension in the STATE statement.\",\"help\":\"TYPE=WN | TYPE=RW | TYPE=LL &lt;(SLOPECOV( I | D | G)&lt;= (var1, var2, …) | (number1, number2, …)&gt;)&gt; | TYPE=LL (SLOPECOV(RANK=*integer*)) | TYPE=SEASON (LENGTH=*integer*&lt;DROPH=*number-list*&gt;&lt;KEEPH=*number-list*&gt;) | TYPE=CYCLE&lt;( &lt;CT&gt;&lt;RHO=*variable* | *number*&gt;&lt;PERIOD= *variable* | *number*&gt;)&gt; | TYPE=VARMA( &lt;p &lt;(I | D)&gt; =*integer*&gt;&lt;q&lt;(D)&gt;=*integer*&gt;)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"TYPE=\",\"type\":\"value\"},{\"name\":\"TYPE=\",\"type\":\"value\"},{\"name\":\"TYPE=\",\"type\":\"standaloneOrValue\"},{\"name\":\"TYPE=\",\"type\":\"value\"},{\"name\":\"TYPE=\",\"type\":\"value\"},{\"name\":\"TYPE=\",\"type\":\"standaloneOrValue\"},{\"name\":\"TYPE=\",\"type\":\"standaloneOrValue\"}]},{\"name\":\"W\",\"optional\":true,\"description\":\"specifies the relevant block of the design matrix Wt in the transition equation. The W-block is of dimension sdim * sg, where sdim denotes the actual dimension of the state subsection (which can be the same as dim, the nominal dimension, or different if the TYPE= option is used) and sg denotes the desired size of the subsection of the overall state regression vector gamma. The absence of this option signifies that the state equation does not contain any regression effects. The number of variables supplied in the W(G)= list option must be a multiple of sdim. For example, if sdim = 4 and the W(G)= list contains 8 variables, then the implied size of gamma subsection is 2. If the W(D)= or W(I)= option is used, then the W-block is assumed to be an sdim-dimensional diagonal matrix and the W(D)= list must contain exactly sdim variables.\",\"help\":\"W(D) &lt;= *(var1 var2 …)* | *(number1 number2 …)*&gt; | W(G) &lt;= *(var1 var2 …)* | *(number1 number2 …)*&gt; | W(I) &lt;= *(variable)* | *(number)*&gt;\",\"type\":\"choice\",\"arguments\":[{\"name\":\"W\",\"type\":\"standaloneOrValue\"},{\"name\":\"W\",\"type\":\"standaloneOrValue\"},{\"name\":\"W\",\"type\":\"standaloneOrValue\"}]}]},{\"name\":\"TREND\",\"description\":\"The TREND statement defines a term in the model that follows a stochastic pattern of a certain predefined type. The options in the TREND statement enable you to specify a wide variety of commonly used stochastic patterns. Each TREND statement in effect stands for a special pair of STATE and COMPONENT statements. You can specify more than one TREND statement. Each separate TREND statement defines a component that is assumed to be independent of all other component specifications in the model. Very often the TREND statement is used to specify a component that captures the time-varying level of the data. However, in many cases it is also used to define components of a more general nature; for example, it can be used to define a noise component that follows a stationary ARMA model.\",\"help\":\"TREND *name**(type)*&lt;options&gt;;\",\"arguments\":[{\"name\":\"name\",\"description\":\"names the trend associated with the TREND statement. You can refer to the state that is associated with a TREND statement by appending the string \\\"_state_\\\" to the end of its name. For example, name_state_ is the state that is associated with a trend named name. You can use name_state_ in a COMPONENT statement to define a linear combination of its elements. The estimate of this linear combination can then be printed or output to a data set. The nominal dimension of name_state_ is taken to be 1, or the number of variables in the list that is specified in the CROSS= option in the TREND statement that is used to define name (see Example 14.4: Smoothing of Repeated Measures for Longitudinal Data for an example of such use of the COMPONENT statement).\",\"type\":\"standalone\"},{\"name\":\"type\",\"description\":\"specifies the type of trend used. The type can be any of the following:\",\"type\":\"standalone\"},{\"name\":\"AR=\",\"optional\":true,\"description\":\"lists the values of the coefficients of the nonseasonal autoregressive polynomial, phi(B) = 1 - phi1B - … - phipBp, where the order p is specified in the ARIMA trend specification. The coefficients phi Subscript i must define a stationary autoregressive polynomial.\",\"help\":\"AR= *phi1 phi2...*\",\"type\":\"value\"},{\"name\":\"CHECKBREAK\",\"optional\":true,\"description\":\"turns on the checking of breaks for this trend component. The ELEMENTWISE suboption requests the elementwise checking of any unexpected change in the state subsection that is associated with the trend component. The OVERALL suboption requests a similar check for the entire state subsection—that is, in this case the change is measured as a multidimensional change. The ELEMENTWISE suboption is the default. Unless the PRINT=BREAKDETAIL option is specified, only a summary of the most significant breaks is produced. If the PRINT=BREAKDETAIL is specified, tables that contain the break significance statistics at every distinct time point are produced—one for the ELEMENTWISE suboption and one for the OVERALL suboption. If the CROSS= option is specified and the CROSS= list contains more than one variable, the OVERALL suboption considers subsections that are associated with each CROSS= variable separately.\",\"help\":\"CHECKBREAK &lt;(ELEMENTWISE | OVERALL)&gt;\",\"type\":\"standaloneOrValue\"},{\"name\":\"CROSS=\",\"optional\":true,\"description\":\"creates a linear combination of one or more independent trend components that is based on the variables in the list. If the parameters of the trend are specified by options such as the LEVELVAR= option or the PHI= option, these parameters are shared by these constituent trends. The variables in the CROSS= list must be free of unknown parameters. The CROSS= option can be computationally expensive; computationally it is equivalent to specifying as many separate trends as the number of variables in the specified list.\",\"help\":\"CROSS=*(var1, var2, …)* | CROSS(MATCHPARM)=*(var1, var2, …)*\",\"type\":\"choice\",\"arguments\":[{\"name\":\"CROSS=\",\"type\":\"value\"},{\"name\":\"CROSS\",\"type\":\"value\"}]},{\"name\":\"LEVELVAR=\",\"optional\":true,\"description\":\"specifies the disturbance variance parameter for all the trend types. For trend types LL and DLL, this option specifies sigma1 squared. Any nonnegative value, including 0, is permissible. If variable contains unknown parameters, they are estimated from the data. Similarly, if the LEVELVAR= option is not specified, sigma squared is estimated from the data.\",\"help\":\"LEVELVAR= *variable* | *number*\",\"type\":\"choice\",\"arguments\":[{\"name\":\"variable\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"number\",\"placeholder\":true,\"type\":\"value\"}]},{\"name\":\"MA=\",\"optional\":true,\"description\":\"lists the values of the coefficients of the nonseasonal moving average polynomial, theta(B) = 1 - theta1B - … - thetaqBq, where the order q is specified in the ARIMA trend specification. The coefficients thetai must define an invertible moving average polynomial.\",\"help\":\"MA= *theta1 theta2 ...*\",\"type\":\"value\"},{\"name\":\"NODIFFUSE\",\"optional\":true,\"description\":\"treats the diffuse elements in the initial state of the state subsection underlying the trend component as nondiffuse. This option is applicable to all trend types except ARIMA. For the ARIMA trend type, this option is ignored even if the nonseasonal or seasonal differencing orders are nonzero. The diffuse elements are assumed to be independent, zero-mean, Gaussian variables. Their variances become part of the parameter vector and are estimated by using the data. This option is useful for creating a trend component that can be interpreted as a deviation from an overall trend component (with diffuse initialization), which is defined separately.\",\"type\":\"standalone\"},{\"name\":\"PHI\",\"optional\":true,\"description\":\"specifies the value of phi for trend types DLL, DECAY, DECAY(OU), GROWTH, and GROWTH(OU). For the type DLL, the specified value must be between 0.0 and 1.0. For types DECAY and DECAY(OU), phi must be strictly negative. For types GROWTH and GROWTH(OU), phi must be strictly positive. If variable contains unknown parameters, they are estimated from the data. Similarly, if the PHI= option is not specified, phi is estimated from the data.\",\"help\":\"PHI = *variable* | *number*\",\"type\":\"choice\",\"arguments\":[{\"name\":\"variable\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"number\",\"placeholder\":true,\"type\":\"value\"}]},{\"name\":\"PRINT=\",\"optional\":true,\"description\":\"requests printing of the respective system matrices of the state equation that underlies the specified trend, the printing of its filtered and smoothed estimates, and the printing of the break statistics at each distinct time point. For the BREAKDETAIL suboption to have any effect, the CHECKBREAK option must be turned on. If any of these matrices are time-varying, the matrix that corresponds to the first time instance is printed.\",\"help\":\"PRINT= BREAKDETAIL | COV | COV1 | FILTER | SMOOTH | T | (&lt;BREAKDETAIL&gt; | &lt;COV&gt; | &lt;COV1&gt; | &lt;FILTER&gt; | &lt;SMOOTH&gt; | &lt;T&gt;\",\"type\":\"choice\",\"arguments\":[{\"name\":\"BREAKDETAIL\",\"type\":\"standalone\"},{\"name\":\"COV\",\"type\":\"standalone\"},{\"name\":\"COV1\",\"type\":\"standalone\"},{\"name\":\"FILTER\",\"type\":\"standalone\"},{\"name\":\"SMOOTH\",\"type\":\"standalone\"},{\"name\":\"T\",\"type\":\"standalone\"},{\"name\":\"(BREAKDETAIL | COV | COV1 | FILTER | SMOOTH | T\",\"type\":\"standaloneOrValue\"}]},{\"name\":\"SAR\",\"optional\":true,\"description\":\"lists the values of the coefficients of the seasonal autoregressive polynomial, Phi(Bs) = 1 - Phi1Bs - … - PhiPBsP, where the order P is specified by using the SP= option in the ARIMA trend specification and the season length s is specified in the S= option. The coefficients Phii must define a stationary autoregressive polynomial.\",\"help\":\"SAR = Phi1 Phi2 ...\",\"type\":\"value\"},{\"name\":\"SMA\",\"optional\":true,\"description\":\"lists the values of the coefficients of the seasonal moving average polynomial, Theta(Bs) = 1 - Theta1Bs - … - ThetaQBsQ, where the order Q is specified by using the SQ= option in the ARIMA trend specification and the season length s is specified in the S= option. The coefficients Thetai must define an invertible moving average polynomial.\",\"help\":\"SMA = Theta1 Theta2 ...\",\"type\":\"value\"},{\"name\":\"SLOPEVAR\",\"optional\":true,\"description\":\"specifies the second disturbance variance parameter, sigma2 squared, for trend types LL and DLL. Any nonnegative value, including 0, is permissible. If variable contains unknown parameters, they are estimated from the data. Similarly, if the SLOPEVAR= option is not specified, sigma2 squared is estimated from the data.\",\"help\":\"SLOPEVAR = *variable* | *number*\",\"type\":\"choice\",\"arguments\":[{\"name\":\"variable\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"number\",\"placeholder\":true,\"type\":\"value\"}]}]}],\"supportSiteInformation\":{\"docsetId\":\"casecon\",\"docsetVersion\":\"latest\",\"docsetTargetFile\":\"casecon_cssm_toc.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/CUSUM.json",
    "content": "{\"name\":\"CUSUM\",\"statements\":[{\"name\":\"PROC CUSUM\",\"description\":\"The CUSUM procedure creates cumulative sum control charts, also known as cusum charts, which display cumulative sums of the deviations of measurements or subgroup means from a target value.\",\"help\":\"PROC CUSUM <ANNOTATE2=SAS-data-set><ANNOTATE=SAS-data-set><DATA=SAS-data-set><FORMCHAR(index)='string'><GOUT=graphics-catalog><HISTORY=SAS-data-set><LIMITS=SAS-data-set><LINEPRINTER>;     \\n\\tINSET <CFILL=color | BLANK><CFILL=BLANK><CFILLH=color> ...;\\n\\n\\tXCHART <ALPHA=value><BETA=value><CINFILL=color> ...;\\n\",\"arguments\":[{\"name\":\"ANNOTATE2=\",\"optional\":true,\"aliases\":[\"ANNO2=\"],\"description\":\"Specifies an input data set that contains appropriate annotate variables that add features to the trend chart (secondary chart) produced with the TRENDVAR= option in the XCHART statement.\",\"help\":\"ANNOTATE2=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"ANNOTATE=\",\"optional\":true,\"aliases\":[\"ANNO=\"],\"description\":\"Specifies an input data set that contains appropriate annotate variables.\",\"help\":\"ANNOTATE=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"DATA=\",\"optional\":true,\"description\":\"Names an input data set that contains raw data (measurements) as observations.\",\"help\":\"DATA=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"FORMCHAR=\",\"optional\":true,\"description\":\"Defines characters used for features on line printer charts. The features associated with values of index are as follows:\",\"type\":\"value\"},{\"name\":\"GOUT=\",\"optional\":true,\"description\":\"Specifies the graphics catalog for traditional graphics output from PROC CUSUM.\",\"help\":\"GOUT=*graphics-catalog*\",\"type\":\"dataSet\"},{\"name\":\"HISTORY=\",\"optional\":true,\"aliases\":[\"HIST=\"],\"description\":\"Names an input data set that contains subgroup summary statistics (means, standard deviations, and sample sizes).\",\"help\":\"HISTORY=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"LIMITS=\",\"optional\":true,\"description\":\"Names an input data set that contains a set of decision interval or V-mask parameters.\",\"help\":\"LIMITS=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"LINEPRINTER\",\"optional\":true,\"description\":\"Requests that line printer charts be produced. By default, the procedure creates traditional graphics.\",\"type\":\"standalone\"}]},{\"name\":\"INSET\",\"description\":\"The INSET statement enables you to enhance a cusum chart by adding a box or table (referred to as an inset) of summary statistics directly to the graph. Each INSET statement produces a separate inset and must follow an XCHART statement.\",\"help\":\"INSET &lt;CFILL=color | BLANK&gt;&lt;CFILL=BLANK&gt;&lt;CFILLH=color&gt; ...\",\"arguments\":[{\"name\":\"ALPHA\",\"description\":\"Probability of Type 1 error\",\"type\":\"standalone\"},{\"name\":\"ARL0\",\"description\":\"Average run length for zero shift\",\"type\":\"standalone\"},{\"name\":\"ARLDELTA\",\"description\":\"Average run length for shift of δ\",\"type\":\"standalone\"},{\"name\":\"BETA\",\"description\":\"Probability of Type 2 error\",\"type\":\"standalone\"},{\"name\":\"DATA=\",\"description\":\"Arbitrary values from SAS-data-set\",\"type\":\"value\"},{\"name\":\"DELTA\",\"description\":\"Shift to be detected as multiple of standard error\",\"type\":\"standalone\"},{\"name\":\"H\",\"description\":\"Vertical distance between V-mask origin and upper (or lower) arm, or decision interval h as a multiple of standard error\",\"type\":\"standalone\"},{\"name\":\"HEADSTART\",\"description\":\"Headstart value So as a multiple of standard error\",\"type\":\"standalone\"},{\"name\":\"K\",\"description\":\"Reference value k, or slope of lower arm of V-mask\",\"type\":\"standalone\"},{\"name\":\"N\",\"description\":\"Nominal subgroup size\",\"type\":\"standalone\"},{\"name\":\"NMAX\",\"description\":\"Maximum subgroup size\",\"type\":\"standalone\"},{\"name\":\"NMIN\",\"description\":\"Minimum subgroup size\",\"type\":\"standalone\"},{\"name\":\"SHIFT\",\"description\":\"Shift to be detected in data units\",\"type\":\"standalone\"},{\"name\":\"SIGMAS\",\"description\":\"Probability of Type 1 error as probability that standard normally distributed variable exceeds a specified value in absolute value\",\"type\":\"standalone\"},{\"name\":\"STDDEV\",\"description\":\"Estimated or specified process standard deviation\",\"type\":\"standalone\"},{\"name\":\"UALPHA\",\"description\":\"Probability of Type 1 error\",\"type\":\"standalone\"},{\"name\":\"UARLDELTA\",\"description\":\"average run length for shift of δ\",\"type\":\"standalone\"},{\"name\":\"UBETA\",\"description\":\"Probability of Type 2 error\",\"type\":\"standalone\"},{\"name\":\"UDELTA\",\"description\":\"Shift to be detected as multiple of standard error\",\"type\":\"standalone\"},{\"name\":\"UMU0\",\"description\":\"Target mean μo\",\"type\":\"standalone\"},{\"name\":\"USIGMA\",\"description\":\"Estimated or specified process standard deviation\",\"type\":\"standalone\"},{\"name\":\"CFILL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the color of the background (including the header background if you do not specify the CFILLH= option). CFILL=BLANK leaves the background uncolored and prevents items from showing through the inset.\",\"help\":\"CFILL=*color*\",\"type\":\"color\"},{\"name\":\"CFILL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Leaves the background uncolored and prevents items from showing through the inset.\",\"help\":\"CFILL=BLANK\",\"type\":\"value\"},{\"name\":\"CFILLH=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the color of the header background. By default, if you do not specify a CFILLH= color, the CFILL= color is used.\",\"help\":\"CFILLH=*color*\",\"type\":\"color\"},{\"name\":\"CFRAME=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the color of the frame. By default, the frame is the same color as the axis of the plot.\",\"help\":\"CFRAME=*color*\",\"type\":\"color\"},{\"name\":\"CHEADER=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the color of the header text. By default, if you do not specify a CHEADER= color, the CTEXT= color is used.\",\"help\":\"CHEADER=*color*\",\"type\":\"color\"},{\"name\":\"CSHADOW=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the color of the drop shadow.\",\"help\":\"CSHADOW=*color*\",\"type\":\"color\"},{\"name\":\"CTEXT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the color of the text. By default, the inset text color is the same as the other text on the plot.\",\"help\":\"CTEXT=*color*\",\"type\":\"color\"},{\"name\":\"DATA\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies that data coordinates are to be used in positioning the inset with the POSITION= option.\",\"type\":\"standalone\"},{\"name\":\"FONT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the font of the text. By default, the font is SIMPLEX if the inset is located in the interior of the plot, and the font is the same as the other text displayed on the plot if the inset is located in the exterior of the plot.\",\"type\":\"value\"},{\"name\":\"FONT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"When you specify FONT=SMALL, the GraphValueText font is used in the header and the GraphDataText font is used in the inset body.\",\"help\":\"FONT=SMALL\",\"type\":\"value\"},{\"name\":\"FORMAT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies a format for all the values displayed in an inset.\",\"help\":\"FORMAT=*format*\",\"type\":\"value\"},{\"name\":\"HEADER=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the header text. The string cannot exceed 40 characters.\",\"type\":\"value\"},{\"name\":\"HEIGHT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the height of the text in screen percent units.\",\"type\":\"value\"},{\"name\":\"HEIGHT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Reduces the size of the text in the inset. When you specify HEIGHT=SMALL, the GraphValueText size is used for the inset header and the GraphDataText size is used in the inset body.\",\"help\":\"HEIGHT=SMALL\",\"type\":\"value\"},{\"name\":\"HOPACITY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the inset header background opacity when transparency is used in ODS Graphics output. The value must be between 0 and 1, where 0 is completely transparent and 1 is completely opaque. The defaultinset header background opacity is 0.35.\",\"help\":\"HOPACITY=*value*\",\"type\":\"value\"},{\"name\":\"NOFRAME\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Suppresses the frame drawn around the text.\",\"type\":\"standalone\"},{\"name\":\"OPACITY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the inset background opacity when transparency is used in ODS Graphics output. The value must be between 0 and 1, where 0 is completely transparent and 1 is completely opaque. The default inset background opacity is 0.95.\",\"help\":\"OPACITY=*value*\",\"type\":\"value\"},{\"name\":\"POSITION=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Determines the position of the inset. The position can be a compass point keyword, a margin keyword, or a pair of coordinates (x,y). You can specify coordinates in axis percent units or axis data units.\",\"help\":\"POSITION=*position*\",\"type\":\"value\"},{\"name\":\"REFPOINT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the reference point for an inset that is positioned by a pair of coordinates with the POSITION= option.\",\"help\":\"REFPOINT=BR | BL | TR | TL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"BR\",\"followsDelimiter\":\"/\",\"description\":\"Bottom right\",\"type\":\"standalone\"},{\"name\":\"BL\",\"followsDelimiter\":\"/\",\"description\":\"Bottom left\",\"type\":\"standalone\"},{\"name\":\"TR\",\"followsDelimiter\":\"/\",\"description\":\"Top right\",\"type\":\"standalone\"},{\"name\":\"TL\",\"followsDelimiter\":\"/\",\"description\":\"Top left\",\"type\":\"standalone\"}]}]},{\"name\":\"XCHART\",\"description\":\"The XCHART statement creates cumulative sum control charts from subgroup means or individual measurements. You can create these charts for one-sided cusum (decision interval) schemes or for two-sided (V-mask) schemes.\",\"help\":\"XCHART &lt;ALPHA=value&gt;&lt;BETA=value&gt;&lt;CINFILL=color&gt; ...\",\"arguments\":[{\"name\":\"ALLLABEL2=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Labels every point on an R, s, or trend chart with the VALUE plotted for that subgroup or with the value of a variable in the input data set.\",\"type\":\"value\"},{\"name\":\"ALLLABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Labels every point on the primary chart with the VALUE plotted for that subgroup or with the value of a variable in the input data set.\",\"type\":\"value\"},{\"name\":\"ALLN\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Plots summary statistics for all subgroups, regardless of whether the subgroup sample size equals the nominal control limit sample size n specified by the LIMITN= option or the variable _LIMITN_ in the LIMITS= data set.\",\"type\":\"standalone\"},{\"name\":\"ALPHA=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the probability, α, of incorrectly deciding that a shift has occurred when the process mean is equal to the target mean.\",\"help\":\"ALPHA=*value*\",\"type\":\"value\"},{\"name\":\"ANNOTATE2=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"ANNO2=\"],\"description\":\"Specifies an ANNOTATE= type data set that enhances a primary chart.\",\"help\":\"ANNOTATE2=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"ANNOTATE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"ANNO=\"],\"description\":\"Specifies an ANNOTATE= type data set.\",\"help\":\"ANNOTATE=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"BETA=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the probability, β, of failing to discover that the specified shift has occurred.\",\"help\":\"BETA=*value*\",\"type\":\"value\"},{\"name\":\"BILEVEL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Arranges the Shewhart chart in two levels (rather than the default of one level) so that twice as much data can be displayed on a page or screen.\",\"type\":\"standalone\"},{\"name\":\"BLOCKLABELPOS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the position of a block-variable label in the block legend.\",\"help\":\"BLOCKLABELPOS=ABOVE | LEFT | RIGHT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ABOVE\",\"followsDelimiter\":\"/\",\"description\":\"Places the label immediately above the legend.\",\"type\":\"standalone\"},{\"name\":\"LEFT\",\"followsDelimiter\":\"/\",\"description\":\"Places the label to the left of the legend.\",\"type\":\"standalone\"},{\"name\":\"RIGHT\",\"followsDelimiter\":\"/\",\"description\":\"Places the label to the right of the legend.\",\"type\":\"standalone\"}]},{\"name\":\"BLOCKLABTYPE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies how lengthy block variable values are treated when there is insufficient space to display them in the block legend.\",\"help\":\"BLOCKLABTYPE=SCALED | TRUNCATED | ROTATE | ROTATEALL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"SCALED\",\"followsDelimiter\":\"/\",\"description\":\"The values are uniformly reduced in height so that they fit.\",\"type\":\"standalone\"},{\"name\":\"TRUNCATED\",\"followsDelimiter\":\"/\",\"description\":\"Lengthy values are truncated on the right until they fit.\",\"type\":\"standalone\"},{\"name\":\"ROTATE\",\"followsDelimiter\":\"/\",\"description\":\"Rotates the values of the block variable displayed closest to the chart by 90 degreest.\",\"type\":\"standalone\"},{\"name\":\"ROTATEALL\",\"followsDelimiter\":\"/\",\"description\":\"RotateS the values of all block variables.\",\"type\":\"standalone\"}]},{\"name\":\"BLOCKPOS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the vertical position of the legend for the values of the block variables.\",\"help\":\"BLOCKPOS=1 | 2 | 3 | 4\",\"type\":\"choice\",\"arguments\":[{\"name\":\"1\",\"followsDelimiter\":\"/\",\"description\":\"Top of chart, offset from axis frame\",\"type\":\"standalone\"},{\"name\":\"2\",\"followsDelimiter\":\"/\",\"description\":\"Top of chart, immediately above axis frame\",\"type\":\"standalone\"},{\"name\":\"3\",\"followsDelimiter\":\"/\",\"description\":\"Bottom of chart, immediately above horizontal axis\",\"type\":\"standalone\"},{\"name\":\"4\",\"followsDelimiter\":\"/\",\"description\":\"Bottom of chart, below horizontal axis label\",\"type\":\"standalone\"}]},{\"name\":\"BLOCKREFOPACITY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"PHASEREFOPACITY=\",\"REFFILLOPACITY=\"],\"description\":\"Specifies the wall fill opacity for blocks and phases when transparency is used in ODS Graphics output. The value must be between 0 and 1, where 0 is completely transparent and 1 is completely opaque. The default wall fill opacity is 0.15.\",\"type\":\"value\"},{\"name\":\"BLOCKREP\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies that block variable values for all groups be displayed. By default, only the first block variable value in any block is displayed, and repeated block variable values are not displayed.\",\"type\":\"standalone\"},{\"name\":\"BLOCKVAR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies variables whose values are used to assign colors for filling the background of the legend associated with block variables.\",\"type\":\"value\"},{\"name\":\"BOXCONNECT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies that the points representing subgroup means, medians, maximum values, minimum values, first quartiles or third quartiles in box-and-whisker plots created with the BOXCHART statement are to be connected.\",\"help\":\"BOXCONNECT=MEAN | MEDIAN | MAX | MIN | Q1 | Q3\",\"type\":\"choice\",\"arguments\":[{\"name\":\"MEAN\",\"followsDelimiter\":\"/\",\"description\":\"Specifies that the points in box-and-whiskers plots created with the BOXCHART statement representing group means be connected with line segments.\",\"type\":\"standalone\"},{\"name\":\"MEDIAN\",\"followsDelimiter\":\"/\",\"description\":\"Specifies that the points in box-and-whiskers plots created with the BOXCHART statement representing group medians be connected with line segments.\",\"type\":\"standalone\"},{\"name\":\"MAX\",\"followsDelimiter\":\"/\",\"description\":\"Specifies that the points in box-and-whiskers plots created with the BOXCHART statement representing group maximum values be connected with line segments.\",\"type\":\"standalone\"},{\"name\":\"MIN\",\"followsDelimiter\":\"/\",\"description\":\"Specifies that the points in box-and-whiskers plots created with the BOXCHART statement representing group minimum values be connected with line segments.\",\"type\":\"standalone\"},{\"name\":\"Q1\",\"followsDelimiter\":\"/\",\"description\":\"Specifies that the points in box-and-whiskers plots created with the BOXCHART statement representing group first quartiles be connected with line segments.\",\"type\":\"standalone\"},{\"name\":\"Q3\",\"followsDelimiter\":\"/\",\"description\":\"Specifies that the points in box-and-whiskers plots created with the BOXCHART statement representing group third quartiles be connected with line segments.\",\"type\":\"standalone\"}]},{\"name\":\"BOXES=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies a variable whose values are used to assign colors for the outlines of box-and-whiskers plots.\",\"type\":\"value\"},{\"name\":\"BOXFILL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies how box-and-whisker plots are filled with colors from the ODS style.\",\"help\":\"BOXFILL=&lt;*variable*&gt; | NONE | EMPTY\",\"type\":\"choice\",\"arguments\":[{\"name\":\"variable\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"You can specify a variable whose values are used to group box-and-whiskers plots for assigning fill colors from the ODS style.\",\"type\":\"value\"},{\"name\":\"NONE\",\"followsDelimiter\":\"/\",\"description\":\"Produces unfilled boxes.\",\"type\":\"standalone\"},{\"name\":\"EMPTY\",\"followsDelimiter\":\"/\",\"description\":\"Produces unfilled boxes.\",\"type\":\"standalone\"}]},{\"name\":\"BOXOPACITY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the box fill opacity for box-and-whisker charts when transparency is used in ODS Graphics output. The value must be between 0 and 1, where 0 is completely transparent and 1 is completely opaque. The default box fill opacity is 0.75.\",\"help\":\"BOXOPACITY=*value*\",\"type\":\"value\"},{\"name\":\"BOXSTYLE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"[Specifies the style of the box-and-whiskers plots displayed.\",\"help\":\"BOXSTYLE=SKELETAL | SCHEMATIC | SCHEMATICID | SCHEMATICIDFAR | POINTS | POINTSJOIN | POINTSBOX | POINTSID | POINTSJOINID | POINTSSCHEMATIC\",\"type\":\"choice\",\"arguments\":[{\"name\":\"SKELETAL\",\"followsDelimiter\":\"/\",\"description\":\"The whiskers are drawn from the edges of the box to the extreme values of the group.\",\"type\":\"standalone\"},{\"name\":\"SCHEMATIC\",\"followsDelimiter\":\"/\",\"description\":\"A whisker is drawn from the upper edge of the box to the largest observed value within the upper fence, and another is drawn from the lower edge of the box to the smallest observed value within the lower fence.\",\"type\":\"standalone\"},{\"name\":\"SCHEMATICID\",\"followsDelimiter\":\"/\",\"description\":\"A schematic box-and-whiskers plot is displayed in which an ID variable value is used to label the symbol marking each observation outside the upper and lower fences.\",\"type\":\"standalone\"},{\"name\":\"SCHEMATICIDFAR\",\"followsDelimiter\":\"/\",\"description\":\"A schematic box-and-whiskers plot is displayed in which the value of the ID variable is used to label the symbol marking each observation outside the lower and upper far fences\",\"type\":\"standalone\"},{\"name\":\"POINTS\",\"followsDelimiter\":\"/\",\"description\":\"All the values in the subgroup sample are plotted as points, and neither a box nor whiskers are drawn.\",\"type\":\"standalone\"},{\"name\":\"POINTSJOIN\",\"followsDelimiter\":\"/\",\"description\":\"All the values in the subgroup sample are plotted as points joined with a vertical line. Neither a box nor whiskers are drawn.\",\"type\":\"standalone\"},{\"name\":\"POINTSBOX\",\"followsDelimiter\":\"/\",\"description\":\"All the values in the subgroup sample are plotted as points enclosed in a box.\",\"type\":\"standalone\"},{\"name\":\"POINTSID\",\"followsDelimiter\":\"/\",\"description\":\"All the values in the subgroup sample are plotted using labels specified as the values of the first variable in the ID statement.\",\"type\":\"standalone\"},{\"name\":\"POINTSJOINID\",\"followsDelimiter\":\"/\",\"description\":\"All the values in the subgroup sample are plotted using labels specified as the values of the first variable in the ID statement, and the values are joined by a vertical line.\",\"type\":\"standalone\"},{\"name\":\"POINTSSCHEMATIC\",\"followsDelimiter\":\"/\",\"description\":\"A schematic box chart is overlaid with points plotting all observations in the subgroups.\",\"type\":\"standalone\"}]},{\"name\":\"BOXWIDTH=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the width (in horizontal percent screen units) of the box-and-whiskers plots.\",\"help\":\"BOXWIDTH=*value*\",\"type\":\"value\"},{\"name\":\"BOXWIDTHSCALE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies that the width of the box-and-whiskers plots created with the BOXCHART statement is to vary proportionately to a particular function of the group size n.\",\"help\":\"BOXWIDTHSCALE=*value*\",\"type\":\"value\"},{\"name\":\"CAXIS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"CAXES=\",\"CA=\"],\"description\":\"Specifies the color for the axes and tick marks. This option overrides any COLOR= specifications in an AXIS statement.\",\"help\":\"CAXIS=*color*\",\"type\":\"color\"},{\"name\":\"CBLOCKLAB=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies fill colors for the frames that enclose the block variable labels in a block legend.\",\"help\":\"CBLOCKLAB=*color*\",\"type\":\"color\"},{\"name\":\"CBLOCKVAR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies variables whose values are colors for filling the background of the legend associated with block variables.\",\"type\":\"value\"},{\"name\":\"CBOXES=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the colors for the outlines of the box-and-whiskers plots created with the BOXCHART statement.\",\"help\":\"CBOXES=*color*\",\"type\":\"color\"},{\"name\":\"CBOXFILL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the interior fill colors for the box-and-whiskers plots created with the BOXCHART statement.\",\"help\":\"CBOXFILL=*color*\",\"type\":\"color\"},{\"name\":\"CCLIP=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies a color for the plotting symbol that is specified with the CLIPSYMBOL= option to mark clipped values.\",\"help\":\"CCLIP=*color*\",\"type\":\"color\"},{\"name\":\"CCONNECT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the color for line segments connecting points on the chart.\",\"help\":\"CCONNECT=*color*\",\"type\":\"color\"},{\"name\":\"CCOVERLAY2=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the colors for line segments connecting points on secondary chart overlays.\",\"help\":\"CCOVERLAY2=*color*\",\"type\":\"color\"},{\"name\":\"CCOVERLAY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the colors for line segments connecting points on primary chart overlays.\",\"help\":\"CCOVERLAY=*color*\",\"type\":\"color\"},{\"name\":\"CFRAME=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the color for filling the rectangle enclosed by the axes and the frame. By default, this area is not filled. The CFRAME= option cannot be used in conjunction with the NOFRAME option.\",\"help\":\"CFRAME=*color*\",\"type\":\"color\"},{\"name\":\"CFRAMELAB=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the color for filling rectangles that frame the point labels displayed with the ALLLABEL=, ALLLABEL2=, OUTLABEL=, and OUTLABEL2= options.\",\"help\":\"CFRAMELAB=*color*\",\"type\":\"color\"},{\"name\":\"CGRID=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the color for the grid requested by the ENDGRID or GRID option. By default, the grid is the same color as the axes.\",\"help\":\"CGRID=*color*\",\"type\":\"color\"},{\"name\":\"CHREF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the color for the lines requested by the HREF= and HREF2= options.\",\"help\":\"CHREF=*color*\",\"type\":\"color\"},{\"name\":\"CIINDICES\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests capability index confidence limits based on subgroup summary data, calculated using \\\"effective degrees of freedom\\\". TYPE=keyword specifies the type of confidence limit. Valid values are LOWER, UPPER and TWOSIDED. The default value is TWOSIDED.\",\"type\":\"standalone\"},{\"name\":\"CINFILL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the color for the area under the decision interval or inside the V-mask arms.\",\"help\":\"CINFILL=*color*\",\"type\":\"color\"},{\"name\":\"CLABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the color for labels produced by the ALLLABEL=, ALLLABEL2=, OUTLABEL=, and OUTLABEL2= options.\",\"help\":\"CLABEL=*color*\",\"type\":\"color\"},{\"name\":\"CLIMITS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the color for the decision interval line.\",\"help\":\"CLIMITS=*color*\",\"type\":\"color\"},{\"name\":\"CLIPCHAR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies a plot character that identifies clipped points, as requested with the CLIPFACTOR= option.\",\"help\":\"CLIPCHAR='*character*'\",\"type\":\"value\"},{\"name\":\"CLIPFACTOR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests clipping of extreme values on the control chart. The factor that you specify determines the extent to which these values are clipped, and it must be greater than 1.\",\"help\":\"CLIPFACTOR=*factor*\",\"type\":\"value\"},{\"name\":\"CLIPLEGEND=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the label for the legend that indicates the number of clipped boxes when the CLIPFACTOR= option is used.\",\"help\":\"CLIPLEGEND='*label*'\",\"type\":\"value\"},{\"name\":\"CLIPLEGPOS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the position for the legend that indicates the number of clipped boxes when the CLIPFACTOR= option is used.\",\"help\":\"CLIPLEGPOS=TOP | BOTTOM\",\"type\":\"choice\",\"arguments\":[{\"name\":\"TOP\",\"followsDelimiter\":\"/\",\"description\":\"Positions the legend at the top of the chart.\",\"type\":\"standalone\"},{\"name\":\"BOTTOM\",\"followsDelimiter\":\"/\",\"description\":\"positions the legend at the bottom of the chart.\",\"type\":\"standalone\"}]},{\"name\":\"CLIPSUBCHAR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies a substitution character (such as '#') for the label provided with the CLIPLEGEND= option.\",\"help\":\"CLIPSUBCHAR='*character*'\",\"type\":\"value\"},{\"name\":\"CLIPSYMBOL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies a plot symbol used to identify clipped points on the chart and in the legend when the CLIPFACTOR= option is used.\",\"help\":\"CLIPSYMBOL=*symbol*\",\"type\":\"value\"},{\"name\":\"CLIPSYMBOLHT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the height for the symbol marker used to identify clipped points on the chart when the CLIPFACTOR= option is used.\",\"help\":\"CLIPSYMBOLHT=*value*\",\"type\":\"value\"},{\"name\":\"CMASK=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the color for the V-mask arms.\",\"help\":\"CMASK=*color*\",\"type\":\"color\"},{\"name\":\"CNEEDLES=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that points are to be connected to the central line with vertical line segments (needles) and specifies the color of the needles.\",\"help\":\"CNEEDLES=*color*\",\"type\":\"color\"},{\"name\":\"CONNECTCHAR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the character used to form line segments that connect points on a chart. The default character is a plus (+) sign.\",\"help\":\"CONNECTCHAR='*character*'\",\"type\":\"value\"},{\"name\":\"CONTROLSTAT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies whether the control limits displayed in a box chart are to be computed for subgroup means or for subgroup medians.\",\"help\":\"CONTROLSTAT=MEAN | MEDIAN\",\"type\":\"choice\",\"arguments\":[{\"name\":\"MEAN\",\"followsDelimiter\":\"/\",\"description\":\"Specifies whether the control limits displayed in a box chart are to be computed for subgroup means.\",\"type\":\"standalone\"},{\"name\":\"MEDIAN\",\"followsDelimiter\":\"/\",\"description\":\"Specifies whether the control limits displayed in a box chart are to be computed for subgroup medians.\",\"type\":\"standalone\"}]},{\"name\":\"COUT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specify COUT with no argument to use an appropriate contrasting color from the ODS style.\",\"type\":\"standalone\"},{\"name\":\"COUT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the color for the plotting symbols and the portions of connecting line segments that lie outside the control limits.\",\"help\":\"COUT=*color*\",\"type\":\"color\"},{\"name\":\"COUTFILL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the fill color for the areas outside the control limits that lie between the connected points and the control limits and are bounded by connecting lines. This option is useful for highlighting out-of-control points. See Figure 59.11 for an example. By default, these areas are not filled. You can use the OUTFILL option to fill this area with an appropriate color from the ODS style. Note that you can use the CINFILL= option to fill the area inside the control limits.\",\"help\":\"COUTFILL=*color*\",\"type\":\"color\"},{\"name\":\"COVERLAY2=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the colors used to plot secondary chart overlay variables. Colors in the COVERLAY2= list are matched with variables in the corresponding positions in the OVERLAY2= list.\",\"type\":\"value\"},{\"name\":\"COVERLAY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the colors used to plot primary chart overlay variables. Colors in the COVERLAY= list are matched with variables in the corresponding positions in the OVERLAY= list.\",\"type\":\"value\"},{\"name\":\"COVERLAYCLIP=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the color used to plot clipped values on overlay plots when the CLIPFACTOR= option is used.\",\"help\":\"COVERLAYCLIP=*color*\",\"type\":\"color\"},{\"name\":\"CPHASEBOX=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the color for a box that encloses all of the plotted points for a phase (group of consecutive observations that have the same value of the variable _PHASE_).\",\"help\":\"CPHASEBOX=*color*\",\"type\":\"color\"},{\"name\":\"CPHASEBOXCONNECT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the color for line segments that connect the vertical edges of adjacent enclosing boxes requested with the CPHASEBOX= option or the CPHASEBOXFILL= option.\",\"help\":\"CPHASEBOXCONNECT=*color*\",\"type\":\"color\"},{\"name\":\"CPHASEBOXFILL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the fill color for a box that encloses all of the plotted points for a phase.\",\"help\":\"CPHASEBOXFILL=*color*\",\"type\":\"color\"},{\"name\":\"CPHASELEG=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies a text color for the phase labels requested with the PHASELEGEND option.\",\"help\":\"CPHASELEG=*color*\",\"type\":\"color\"},{\"name\":\"CPHASEMEANCONNECT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the color for line segments that connect points representing the average of the values plotted within a phase.\",\"help\":\"CPHASEMEANCONNECT=*color*\",\"type\":\"color\"},{\"name\":\"CSTARCIRCLES=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies a color for the circles requested with the STARCIRCLES= option.\",\"help\":\"CSTARCIRCLES=*color*\",\"type\":\"color\"},{\"name\":\"CSTARFILL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies a color or colors for filling the interior of stars requested with the STARVERTICES= option.\",\"help\":\"CSTARFILL=*color*\",\"type\":\"color\"},{\"name\":\"CSTAROUT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies to use an appropriate contrasting color from the ODS style for those portions of the outlines of stars (requested with the STARVERTICES= option) that exceed the inner or outer circles.\",\"type\":\"color\"},{\"name\":\"CSTAROUT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies a color for those portions of the outlines of stars (requested with the STARVERTICES= option) that exceed the inner or outer circles.\",\"help\":\"CSTAROUT=*color*\",\"type\":\"color\"},{\"name\":\"CSTARS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies a color or colors for the outlines of stars requested with the STARVERTICES= option.\",\"help\":\"CSTARS=*color*\",\"type\":\"color\"},{\"name\":\"CSYMBOL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies a label for the central line in a C chart.\",\"help\":\"CSYMBOL=C | CBAR | CPM | CPM2 | C0 | '*label*'\",\"type\":\"choice\",\"arguments\":[{\"name\":\"C\",\"followsDelimiter\":\"/\",\"description\":\"C\",\"type\":\"standalone\"},{\"name\":\"CBAR\",\"followsDelimiter\":\"/\",\"description\":\"CBAR\",\"type\":\"standalone\"},{\"name\":\"CPM\",\"followsDelimiter\":\"/\",\"description\":\"C'\",\"type\":\"standalone\"},{\"name\":\"CPM2\",\"followsDelimiter\":\"/\",\"description\":\"C''\",\"type\":\"standalone\"},{\"name\":\"C0\",\"followsDelimiter\":\"/\",\"description\":\"Co\",\"type\":\"standalone\"},{\"name\":\"'label'\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"You can specify a quoted label of length 16 or less.\",\"type\":\"value\"}]},{\"name\":\"CTESTLABBOX=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the color for boxes enclosing labels for positive tests for special causes requested with the TESTLABBOX option.\",\"help\":\"CTESTLABBOX=*color*\",\"type\":\"color\"},{\"name\":\"CTESTS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"CTEST=\"],\"description\":\"Specifies colors for labels indicating points where a test is positive.\",\"help\":\"CTESTS=*color*\",\"type\":\"color\"},{\"name\":\"CTESTSYMBOL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"CTESTSYM=\"],\"description\":\"Specifies the color of the symbol used to plot subgroups with positive tests for special causes.\",\"help\":\"CTESTSYMBOL=*color*\",\"type\":\"color\"},{\"name\":\"CTEXT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the color for tick mark values and axis labels. The default color is the color specified in the CTEXT= option in the most recent GOPTIONS statement.\",\"help\":\"CTEXT=*color*\",\"type\":\"color\"},{\"name\":\"CVREF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"CV=\"],\"description\":\"Specifies the color for the lines requested by the VREF= and VREF2= options.\",\"help\":\"CVREF=*color*\",\"type\":\"color\"},{\"name\":\"CZONES=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests lines marking zones A, B, and C for the tests for special causes (see the TESTS= option) and specifies the color for these lines.\",\"help\":\"CZONES=*color*\",\"type\":\"color\"},{\"name\":\"DATAUNITS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Computes cumulative sums without standardizing the subgroup means or individual measurements.\",\"type\":\"standalone\"},{\"name\":\"DELTA=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the absolute value of the smallest shift to be detected as a multiple delta of the process standard deviation, σ, or the standard error, σX-bar, depending on whether delta is viewed as a shift in the population mean or a shift in the sampling distribution of the subgroup mean , respectively.\",\"help\":\"DELTA=*value*\",\"type\":\"value\"},{\"name\":\"DESCRIPTION2=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"DES2=\"],\"description\":\"Specifies a description for the secondary chart of length 256 or less that appears in the PROC GREPLAY master menu. The default string is the variable name. The DESCRIPTION2= option is available in the IRCHART, MRCHART, XRCHART, and XSCHART statements, and it is used in conjunction with the SEPARATE option. A related option is NAME2=.\",\"help\":\"DESCRIPTION2='*string*'\",\"type\":\"value\"},{\"name\":\"DESCRIPTION=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"DES=\"],\"description\":\"Specifies a description for the primary chart of length 256 or less that appears in the PROC GREPLAY master menu. The default string is the variable name. A related option is NAME=.\",\"help\":\"DESCRIPTION='*string*'\",\"type\":\"value\"},{\"name\":\"DISCRETE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies that numeric subgroup variable values be treated as discrete values, so that each tick value on the default subgroup axis corresponds to a unique subgroup variable value.\",\"type\":\"standalone\"},{\"name\":\"ENDGRID\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Adds a grid to the rightmost portion of the chart, beginning with the first labeled major tick mark position that follows the last plotted point.\",\"type\":\"standalone\"},{\"name\":\"EXCHART\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Creates a control chart only when exceptions occur, specifically, when the control limits are exceeded or when any of the tests requested with the TESTS= option or the TESTS2= option are positive.\",\"type\":\"standalone\"},{\"name\":\"FONT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies a software font for labels and legends.\",\"help\":\"FONT=*font*\",\"type\":\"value\"},{\"name\":\"FRONTREF\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Draws reference lines specified with the HREF= and VREF= options in front of box-and-whiskers plots. By default, reference lines are drawn behind the box-and-whiskers plots and can be obscured by filled boxes.\",\"type\":\"standalone\"},{\"name\":\"GRID\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Adds a grid to the control chart. Grid lines are horizontal lines positioned at labeled major tick marks, and they cover the length and height of the plotting area.\",\"type\":\"standalone\"},{\"name\":\"H=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the decision interval h for a one-sided cusum scheme.\",\"help\":\"H=*value*\",\"type\":\"value\"},{\"name\":\"HAXIS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies tick mark values for the horizontal (subgroup) axis. If the group variable is numeric, the values must be numeric and equally spaced. If the group variable is character, values must be quoted strings of up to 16 characters. Optionally, you can specify an axis name defined in a previous AXIS statement.\",\"type\":\"value\"},{\"name\":\"HEADSTART=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"HSTART=\"],\"description\":\"Specifies a headstart value S0 for a one-sided cusum scheme.\",\"help\":\"HEADSTART=*value*\",\"type\":\"value\"},{\"name\":\"HEIGHT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the height (in vertical screen percent units) of the text for axis labels and legends. This value takes precedence over the HTEXT= value specified in the GOPTIONS statement.\",\"help\":\"HEIGHT=*value*\",\"type\":\"value\"},{\"name\":\"HMINOR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"HM=\"],\"description\":\"Specifies the number of minor tick marks between major tick marks on the horizontal axis. Minor tick marks are not labeled. The default is HMINOR=0.\",\"help\":\"HMINOR=*n*\",\"type\":\"value\"},{\"name\":\"HOFFSET=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the length (in percent screen units) of the offset at both ends of the horizontal axis. You can eliminate the offset by specifying HOFFSET=0.\",\"help\":\"HOFFSET=*value*\",\"type\":\"value\"},{\"name\":\"HREF2=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Draws reference lines perpendicular to the horizontal (subgroup) axis on the secondary chart.\",\"type\":\"value\"},{\"name\":\"HREF2DATA=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Draws reference lines perpendicular to the horizontal (subgroup) axis on the secondary chart. The HREF2DATA= option must be used in place of the HREF2= option to specify a data set using the quoted filename notation.\",\"help\":\"HREF2DATA=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"HREF2LABELS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"HREF2LABEL=\",\"HREF2LAB=\"],\"description\":\"Specifies labels for the reference lines requested by the HREF2= option. The number of labels must equal the number of lines. Enclose each label in quotes. Labels can be up to 16 characters.\",\"type\":\"value\"},{\"name\":\"HREF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Draws reference lines perpendicular to the horizontal (subgroup) axis on the primary chart.\",\"type\":\"value\"},{\"name\":\"HREFCHAR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the character used for reference lines requested by the HREF= and HREF2= options on line printer charts. The default is the vertical bar (|).\",\"help\":\"HREFCHAR='*character*'\",\"type\":\"value\"},{\"name\":\"HREFDATA=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Draws reference lines perpendicular to the horizontal (subgroup) axis on the primary chart. The HREFDATA= option must be used in place of the HREF= option to specify a data set using the quoted filename notation.\",\"help\":\"HREFDATA=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"HREFLABELS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"HREFLABEL=\",\"HREFLAB=\"],\"description\":\"Specifies labels for the reference lines requested by the HREF= option. The number of labels must equal the number of lines. Enclose each label in quotes. Labels can be up to 16 characters.\",\"type\":\"value\"},{\"name\":\"HREFLABPOS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the vertical position of the HREFLABEL= label.\",\"help\":\"HREFLABPOS=1 | 2 | 3 | 4\",\"type\":\"choice\",\"arguments\":[{\"name\":\"1\",\"followsDelimiter\":\"/\",\"description\":\"Along top of subplot area\",\"type\":\"standalone\"},{\"name\":\"2\",\"followsDelimiter\":\"/\",\"description\":\"Staggered from top to bottom of subplot area\",\"type\":\"standalone\"},{\"name\":\"3\",\"followsDelimiter\":\"/\",\"description\":\"Along bottom of subplot area\",\"type\":\"standalone\"},{\"name\":\"4\",\"followsDelimiter\":\"/\",\"description\":\"Staggered from bottom to top of subplot area\",\"type\":\"standalone\"}]},{\"name\":\"HTML2=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies URLs as values of the specified character variable (or formatted values of a numeric variable). These URLs are associated with points on a secondary chart when traditional graphics output is directed into HTML.\",\"help\":\"HTML2=*variable*\",\"type\":\"value\"},{\"name\":\"HTML=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies URLs as values of the specified character variable (or formatted values of a numeric variable). These URLs are associated with points on a primary control chart when traditional graphics output is directed into HTML.\",\"help\":\"HTML=*variable*\",\"type\":\"value\"},{\"name\":\"HTML_LEGEND=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies URLs as values of the specified character variable (or formatted values of a numeric variable). These URLs are associated with symbols in the legend for the levels of a symbol-variable.\",\"help\":\"HTML_LEGEND=*variable*\",\"type\":\"value\"},{\"name\":\"IDCOLOR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the color of the symbol marker used to identify outliers in schematic box-and-whiskers plots (that is, when you specify the keyword SCHEMATIC, SCHEMATICID, or SCHEMATICIDFAR with the BOXSTYLE= option).\",\"help\":\"IDCOLOR=*color*\",\"type\":\"color\"},{\"name\":\"IDCTEXT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the color for the text used to label outliers when you specify the keyword SCHEMATICID, SCHEMATICIDFAR, POINTSID, or POINTSJOINID with the BOXSTYLE= option.\",\"help\":\"IDCTEXT=*color*\",\"type\":\"color\"},{\"name\":\"IDFONT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the font for the text used to label outliers when you specify the keyword SCHEMATICID, SCHEMATICIDFAR, POINTSID, or POINTSJOINID with the BOXSTYLE= option.\",\"help\":\"IDFONT=*font*\",\"type\":\"value\"},{\"name\":\"IDHEIGHT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the height for the text used to label outliers when you specify the keyword SCHEMATICID, SCHEMATICIDFAR, POINTSID, or POINTSJOINID with the BOXSTYLE= option.\",\"help\":\"IDHEIGHT=*value*\",\"type\":\"value\"},{\"name\":\"IDSYMBOL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the symbol marker used to identify outliers in schematic box-and-whisker plots produced with the BOXCHART statement when you use one of the following options: BOXSTYLE=SCHEMATIC, BOXSTYLE=SCHEMATICID, and BOXSTYLE=SCHEMATICIDFAR.\",\"help\":\"IDSYMBOL=*symbol*\",\"type\":\"value\"},{\"name\":\"INDEPENDENTZONES\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"INDEPZONES\"],\"description\":\"Specifies that the widths of the zones requested with the ZONES option be computed independently above and below the center line of the chart, so that the width of each zone is one-third of the difference between the process mean and the control limit on its side of the chart.\",\"type\":\"standalone\"},{\"name\":\"INFILLOPACITY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the control limit infill opacity when transparency is used in ODS Graphics output. The value be between 0 and 1, where 0 is completely transparent and 1 is completely opaque. The default control limit infill opacity is 0.25.\",\"help\":\"INFILLOPACITY=*value*\",\"type\":\"value\"},{\"name\":\"INTERVAL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the natural time interval between consecutive group positions when a time, date, or datetime format is associated with a numeric group variable.\",\"help\":\"INTERVAL=DAY | DTDAY | HOUR | MINUTE | MONTH | QTR | SECOND\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DAY\",\"followsDelimiter\":\"/\",\"description\":\"For DATE, WEEKDATE, WORDDATE, YYMMDD, or MMDDYY format\",\"type\":\"standalone\"},{\"name\":\"DTDAY\",\"followsDelimiter\":\"/\",\"description\":\"For DATETIME format\",\"type\":\"standalone\"},{\"name\":\"HOUR\",\"followsDelimiter\":\"/\",\"description\":\"For HHMM or HOUR format\",\"type\":\"standalone\"},{\"name\":\"MINUTE\",\"followsDelimiter\":\"/\",\"description\":\"For MMSS format\",\"type\":\"standalone\"},{\"name\":\"MONTH\",\"followsDelimiter\":\"/\",\"description\":\"For MONYY format\",\"type\":\"standalone\"},{\"name\":\"QTR\",\"followsDelimiter\":\"/\",\"description\":\"For YYQ format\",\"type\":\"standalone\"},{\"name\":\"SECOND\",\"followsDelimiter\":\"/\",\"description\":\"For TIME or TOD format\",\"type\":\"standalone\"}]},{\"name\":\"INTSTART=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the starting value for a numeric horizontal axis when a date, time, or datetime format is associated with the group variable.\",\"help\":\"INTSTART=*value*\",\"type\":\"value\"},{\"name\":\"K=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the reference value k for a one-sided (decision interval) cusum scheme.\",\"help\":\"K=*value*\",\"type\":\"value\"},{\"name\":\"LABELANGLE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the angle at which labels requested with the ALLLABEL=, ALLLABEL2=, OUTLABEL=, and OUTLABEL2= options are drawn. A positive angle rotates the labels counterclockwise; a negative angle rotates them clockwise. By default, labels are oriented horizontally.\",\"help\":\"LABELANGLE=*angle*\",\"type\":\"value\"},{\"name\":\"LABELFONT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"TESTFONT=\"],\"description\":\"Specifies a software font for labels requested with the ALLLABEL=, ALLLABEL2=, OUTLABEL=, OUTLABEL2=, STARLABEL=, TESTLABEL=, and TESTLABELn= options.\",\"help\":\"LABELFONT=*font*\",\"type\":\"value\"},{\"name\":\"LABELHEIGHT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"TESTHEIGHT=\"],\"description\":\"Specifies the height (in vertical percent screen units) for labels requested with the ALLLABEL=, ALLLABEL2=, OUTLABEL=, OUTLABEL2=, STARLABEL=, TESTLABEL=, and TESTLABEL= options.\",\"help\":\"LABELHEIGHT=*value*\",\"type\":\"value\"},{\"name\":\"LBOXES=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the line types for the outlines of the box-and-whiskers plots created with the BOXCHART statement.\",\"type\":\"value\"},{\"name\":\"LCLLABEL2=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies a label for the lower control limit in the secondary chart. The label can be of length 16 or less. Enclose the label in quotes.\",\"help\":\"LCLLABEL2='*label*'\",\"type\":\"value\"},{\"name\":\"LCLLABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies a label for the lower control limit in the primary chart. The label can be of length 16 or less. Enclose the label in quotes.\",\"help\":\"LCLLABEL='*label*'\",\"type\":\"value\"},{\"name\":\"LENDGRID=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the line type for the grid requested with the ENDGRID option. The default value is 1, which produces a solid line.\",\"help\":\"LENDGRID=*linetype*\",\"type\":\"value\"},{\"name\":\"LGRID=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the line type for the grid requested with the GRID option. The default value is 1, which produces a solid line.\",\"help\":\"LGRID=*linetype*\",\"type\":\"value\"},{\"name\":\"LHREF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"LH=\"],\"description\":\"Specifies the line type for reference lines requested with the HREF= and HREF2 options. The default value is 2, which produces a dashed line.\",\"help\":\"LHREF=*linetype*\",\"type\":\"value\"},{\"name\":\"LIMITN=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies a fixed nominal sample size for the control limits.\",\"type\":\"value\"},{\"name\":\"LIMITN=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies a varying nominal sample size for the control limits.\",\"help\":\"LIMITN=VARYING\",\"type\":\"value\"},{\"name\":\"LIMLABSUBCHAR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies a substitution character (such as #) for labels provided as quoted strings with the LCLLABEL=, LCLLABEL2=, UCLLABEL=, UCLLABEL2=, CSYMBOL=, NPSYMBOL=, PSYMBOL=, RSYMBOL=, SSYMBOL=, USYMBOL=, and XSYMBOL= options.\",\"help\":\"LIMLABSUBCHAR='*character*'\",\"type\":\"value\"},{\"name\":\"LLIMITS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the line type for the decision interval. The default is 4, which produces a dashed line.\",\"help\":\"LLIMITS=*linetype*\",\"type\":\"value\"},{\"name\":\"LMASK=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the line type for the V-mask arms.\",\"help\":\"LMASK=*linetype*\",\"type\":\"value\"},{\"name\":\"LOVERLAY2=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies line types for the line segments connecting points on secondary chart overlays. Line types in the LOVERLAY2= list are matched with variables in the corresponding positions in the OVERLAY2= list.\",\"type\":\"value\"},{\"name\":\"LOVERLAY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies line types for the line segments connecting points on primary chart overlays. Line types in the LOVERLAY= list are matched with variables in the corresponding positions in the OVERLAY= list.\",\"type\":\"value\"},{\"name\":\"LSL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Provides lower specification limits used to compute capability indices.\",\"help\":\"LSL=*value-list*\",\"type\":\"value\"},{\"name\":\"LSTARCIRCLES=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies one or more line types for the circles requested with the STARCIRCLES= option.\",\"help\":\"LSTARCIRCLES=*linetypes*\",\"type\":\"value\"},{\"name\":\"LSTARS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the line types for the outlines of stars requested with the STARVERTICES= option.\",\"type\":\"value\"},{\"name\":\"LTESTS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"LTEST=\"],\"description\":\"Specifies the line type for the line segments that connect patterns of points for which a test for special causes (requested with the TESTS= option) is positive. The default is 1, which produces a solid line.\",\"help\":\"LTESTS=*linetype*\",\"type\":\"value\"},{\"name\":\"LTMARGIN=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"LTM=\"],\"description\":\"Specifies the width of the left marginal area for the plot requested with the LTMPLOT= option.\",\"help\":\"LTMARGIN=*value*\",\"type\":\"value\"},{\"name\":\"LTMPLOT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests a univariate plot of the control chart statistics that is positioned in the left margin of the control chart.\",\"help\":\"LTMPLOT=HISTOGRAM | DIGIDOT | SKELETAL | SCHEMATIC | SCHEMATICID | SCHEMATICIDFAR\",\"type\":\"choice\",\"arguments\":[{\"name\":\"HISTOGRAM\",\"followsDelimiter\":\"/\",\"description\":\"Histogram\",\"type\":\"standalone\"},{\"name\":\"DIGIDOT\",\"followsDelimiter\":\"/\",\"description\":\"Digidot plot\",\"type\":\"standalone\"},{\"name\":\"SKELETAL\",\"followsDelimiter\":\"/\",\"description\":\"Skeletal box-and-whisker plot\",\"type\":\"standalone\"},{\"name\":\"SCHEMATIC\",\"followsDelimiter\":\"/\",\"description\":\"Schematic box-and-whisker plot\",\"type\":\"standalone\"},{\"name\":\"SCHEMATICID\",\"followsDelimiter\":\"/\",\"description\":\"Schematic box-and-whisker plot with outliers labeled\",\"type\":\"standalone\"},{\"name\":\"SCHEMATICIDFAR\",\"followsDelimiter\":\"/\",\"description\":\"Schematic box-and-whisker plot with far outliers labeled\",\"type\":\"standalone\"}]},{\"name\":\"LVREF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"LV=\"],\"description\":\"Specifies the line type for reference lines requested by the VREF= and VREF2= options. The default value is 2, which produces a dashed line.\",\"help\":\"LVREF=*linetype*\",\"type\":\"value\"},{\"name\":\"LZONES=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the line type for lines that delineate zones A, B, and C for standard tests requested with the TESTS= and/or TESTS2= options. The default is n=2, which produces a dashed line.\",\"help\":\"LZONES=*n*\",\"type\":\"value\"},{\"name\":\"MAXPANELS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the maximum number of pages or screens for a chart. By default, n=20.\",\"help\":\"MAXPANELS=*n*\",\"type\":\"value\"},{\"name\":\"MEDCENTRAL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Identifies a method for estimating the process mean, µ, which is represented by the central line on a median chart.\",\"help\":\"MEDCENTRAL=AVGMEAN | AVGMED | MEDMED\",\"type\":\"choice\",\"arguments\":[{\"name\":\"AVGMEAN\",\"followsDelimiter\":\"/\",\"description\":\"Average of subgroup means\",\"type\":\"standalone\"},{\"name\":\"AVGMED\",\"followsDelimiter\":\"/\",\"description\":\"Average of subgroup medians\",\"type\":\"standalone\"},{\"name\":\"MEDMED\",\"followsDelimiter\":\"/\",\"description\":\"Median of subgroup medians\",\"type\":\"standalone\"}]},{\"name\":\"MISSBREAK\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Determines how subgroups are formed when observations are read from a DATA= data set and a character subgroup-variable is provided.\",\"type\":\"standalone\"},{\"name\":\"MRRESTART\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Causes the moving range computation on the IRCHART to be restarted when any missing value is encountered.\",\"type\":\"standalone\"},{\"name\":\"MRRESTART=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"' Causes the moving range computation on the IRCHART to be restarted only when the specified missing value is encountered.\",\"help\":\"MRRESTART=*value*\",\"type\":\"value\"},{\"name\":\"MU0=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the target mean u0 for the process. The target mean must be scaled in the same units as the data.\",\"help\":\"MU0=*value*\",\"type\":\"value\"},{\"name\":\"NAME2=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies a name for the secondary chart of length 8 or less that appears in the PROC GREPLAY master menu. The default name is 'SHEWHART'.\",\"help\":\"NAME2='*string*'\",\"type\":\"value\"},{\"name\":\"NAME=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies a name for the primary chart of length 8 or less that appears in the PROC GREPLAY master menu. The default name is 'SHEWHART'.\",\"help\":\"NAME='*string*'\",\"type\":\"value\"},{\"name\":\"NDECIMAL2=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the number of decimal digits in the default labels for the control limits and the central line in a secondary chart.\",\"help\":\"NDECIMAL2=*n*\",\"type\":\"value\"},{\"name\":\"NDECIMAL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the number of decimal digits in the default labels for the control limits and the central line in the primary chart.\",\"help\":\"NDECIMAL=*n*\",\"type\":\"value\"},{\"name\":\"NEEDLES\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Connects plotted points to the central line with vertical line segments (needles).\",\"type\":\"standalone\"},{\"name\":\"NMARKERS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Identifies a plotted subgroup summary statistic with a special symbol marker (character) when the corresponding subgroup sample size is not equal to the nominal control limit sample size n.\",\"type\":\"standalone\"},{\"name\":\"NO3SIGMACHECK\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Suppresses the check for 3σ limits when tests for special causes are requested.\",\"type\":\"standalone\"},{\"name\":\"NOARL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Suppresses calculation of average run lengths.\",\"type\":\"standalone\"},{\"name\":\"NOBLOCKREFFILL\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"NOPHASEREFILL\",\"NOREFILL\"],\"description\":\"Suppresses the block and phase wall fills from ODS Graphics output. By default, block and phase walls are filled when ODS Graphics is in effect.\",\"type\":\"standalone\"},{\"name\":\"NOBLOCKREF\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"NOPHASEREF=\",\"NOREF=\"],\"description\":\"Suppresses block and phase reference lines from ODS Graphics output.\",\"type\":\"standalone\"},{\"name\":\"NOBOXFILLLEGEND\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"NOFILLLEGEND\",\"NOSTARFILLLEGEND\"],\"description\":\"Suppresses the legend for the levels of a BOXFILL= or STARFILL= variable in ODS Graphics output.\",\"type\":\"standalone\"},{\"name\":\"NOBYREF\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies that the reference line information in an HREF=, HREF2=, VREF=, or VREF2= data set be applied uniformly to box plots created for all the BY groups in the input data set. If you specify the NOBYREF option, you do not need to provide BY variables in the reference line data set. By default, you must provide BY variables.\",\"type\":\"standalone\"},{\"name\":\"NOCHART\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Suppresses the creation of the chart. You typically specify the NOCHART option when you are using the procedure to compute control limits and save them in an output data set.\",\"type\":\"standalone\"},{\"name\":\"NOCHART2\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Suppresses the creation of a secondary chart. You typically use this option in the IRCHART statement to create a chart for individual measurements and suppress the accompanying chart for moving ranges.\",\"type\":\"standalone\"},{\"name\":\"NOCONNECT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Suppresses line segments that connect points on the chart.\",\"type\":\"standalone\"},{\"name\":\"NOCTL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Suppresses the display of the central line in a primary chart.\",\"type\":\"standalone\"},{\"name\":\"NOCTL2\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Suppresses the display of the central line in a secondary chart.\",\"type\":\"standalone\"},{\"name\":\"NOFRAME\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Suppresses the default frame drawn around the chart.\",\"type\":\"standalone\"},{\"name\":\"NOHLABEL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Suppresses the label for the horizontal (subgroup) axis.\",\"type\":\"standalone\"},{\"name\":\"NOLCL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Suppresses the display of the lower control limit in a primary chart.\",\"type\":\"standalone\"},{\"name\":\"NOLCL2\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Suppresses the display of the lower control limit in a secondary chart.\",\"type\":\"standalone\"},{\"name\":\"NOLEGEND\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Suppresses the default legend for subgroup sample sizes, which appears by default below the chart.\",\"type\":\"standalone\"},{\"name\":\"NOLIMIT0\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Suppresses the display of a fixed lower control limit if and only if the value of the limit is zero.\",\"type\":\"standalone\"},{\"name\":\"NOLIMIT1\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Suppresses the display of a fixed upper control limit on a p chart if and only if the value of the control limit is 1 (or 100%), or on an np chart if and only if the value of the control limit is n.\",\"type\":\"standalone\"},{\"name\":\"NOLIMITLABEL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Suppresses the default labels for the control limits and central lines.\",\"type\":\"standalone\"},{\"name\":\"NOLIMITS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Suppresses the display of control limits.\",\"type\":\"standalone\"},{\"name\":\"NOLIMITSFRAME\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Suppresses the default frame for the control limit information that is displayed across the top of the chart when multiple sets of control limits with distinct multiples of σ and nominal control limit sample sizes are read from a LIMITS= data set.\",\"type\":\"standalone\"},{\"name\":\"NOLIMITSLEGEND\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Suppresses the legend for the control limits, which appears by default in the upper right corner of the chart.\",\"type\":\"standalone\"},{\"name\":\"NOMASK\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Suppresses the display of the V-mask on charts for two-sided schemes.\",\"type\":\"standalone\"},{\"name\":\"NOOVERLAYLEGEND\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Suppresses the legend for overlay variables which is displayed by default when the OVERLAY= or OVERLAY2= option is specified.\",\"type\":\"standalone\"},{\"name\":\"NOPHASEFRAME\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Suppresses the default frame for the legend requested by the PHASELEGEND option.\",\"type\":\"standalone\"},{\"name\":\"NOREADLIMITS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies that the cusum scheme parameters for each process listed in the chart statement are not to be read from the LIMITS= data set specified in the PROC CUSUM statement.\",\"type\":\"standalone\"},{\"name\":\"NOTCHES\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies that box-and-whiskers plots created by the BOXCHART statement are to be notched.\",\"type\":\"standalone\"},{\"name\":\"NOTESTACROSS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies that tests for special causes requested with the TESTS= or TESTS2= options not be applied across the boundaries of phases (blocks of consecutive subgroups) determined by the READPHASES= option and the variable _PHASE_ in the input data set.\",\"type\":\"standalone\"},{\"name\":\"NOTICKREP\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Applies to character-valued subgroup-variables and specifies that only the first occurrence of repeated, adjacent group values be labeled on the horizontal axis.\",\"type\":\"standalone\"},{\"name\":\"NOTRANSPARENCY\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Disables transparency in ODS Graphics output, so that all graph features are opaque.\",\"type\":\"standalone\"},{\"name\":\"NOTRENDCONNECT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Suppresses line segments that connect points on a trend chart.\",\"type\":\"standalone\"},{\"name\":\"NOTRUNC\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Overrides the vertical axis truncation at zero.\",\"type\":\"standalone\"},{\"name\":\"NOUCL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Suppresses the display of the upper control limit in a primary chart.\",\"type\":\"standalone\"},{\"name\":\"NOUCL2\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses the display of the upper control limit in a secondary chart.\",\"type\":\"standalone\"},{\"name\":\"NOVANGLE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that the vertical axis label be strung out vertically.\",\"type\":\"standalone\"},{\"name\":\"NPANELPOS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"NPANEL=\"],\"description\":\"Specifies the number of subgroup positions per panel on each chart.\",\"help\":\"NPANELPOS=*n*\",\"type\":\"value\"},{\"name\":\"NPSYMBOL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies a label for the central line in an np chart.\",\"help\":\"NPSYMBOL='*label*' | NP | NPBAR | NPPM | NPPM2 | NP0\",\"type\":\"choice\",\"arguments\":[{\"name\":\"'label'\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"A quoted label up to 16 characters in length.\",\"type\":\"value\"},{\"name\":\"NP\",\"followsDelimiter\":\"/\",\"description\":\"NP\",\"type\":\"standalone\"},{\"name\":\"NPBAR\",\"followsDelimiter\":\"/\",\"description\":\"NPBAR\",\"type\":\"standalone\"},{\"name\":\"NPPM\",\"followsDelimiter\":\"/\",\"description\":\"NP'\",\"type\":\"standalone\"},{\"name\":\"NPPM2\",\"followsDelimiter\":\"/\",\"description\":\"NP''\",\"type\":\"standalone\"},{\"name\":\"NP0\",\"followsDelimiter\":\"/\",\"description\":\"NP0\",\"type\":\"standalone\"}]},{\"name\":\"ODSFOOTNOTE2=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Adds a secondary footnote to ODS Graphics output.\",\"help\":\"ODSFOOTNOTE2=FOOTNOTE2 | '*string*'\",\"type\":\"choice\",\"arguments\":[{\"name\":\"FOOTNOTE2\",\"followsDelimiter\":\"/\",\"description\":\"The value of SAS FOOTNOTE2 statement is used as the graph footnote.\",\"type\":\"standalone\"},{\"name\":\"'string'\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"A quoted string is used as the secondary footnote.\",\"type\":\"value\"}]},{\"name\":\"ODSFOOTNOTE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Adds a footnote to ODS Graphics output.\",\"help\":\"ODSFOOTNOTE=FOOTNOTE | FOOTNOTE1 | '*string*'\",\"type\":\"choice\",\"arguments\":[{\"name\":\"FOOTNOTE\",\"followsDelimiter\":\"/\",\"description\":\"The value of SAS FOOTNOTE statement is used as the graph footnote.\",\"type\":\"standalone\"},{\"name\":\"FOOTNOTE1\",\"followsDelimiter\":\"/\",\"description\":\"The value of SAS FOOTNOTE statement is used as the graph footnote.\",\"type\":\"standalone\"},{\"name\":\"'string'\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"A quoted string is used as the graph footnote.\",\"type\":\"value\"}]},{\"name\":\"ODSLEGENDEXPAND\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies that legend entries contain all levels observed in the data.\",\"type\":\"standalone\"},{\"name\":\"ODSTITLE2=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies a secondary title for ODS Graphics output.\",\"help\":\"ODSTITLE2=TITLE2 | '*string*'\",\"type\":\"choice\",\"arguments\":[{\"name\":\"TITLE2\",\"followsDelimiter\":\"/\",\"description\":\"Uses the value of SAS TITLE2 statement as the secondary graph title.\",\"type\":\"standalone\"},{\"name\":\"'string'\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"A quoted string is used as the secondary title.\",\"type\":\"value\"}]},{\"name\":\"ODSTITLE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies a title for ODS Graphics output.\",\"help\":\"ODSTITLE=TITLE | TITLE1 | NONE | DEFAULT | LABELFMT | '*string*'\",\"type\":\"choice\",\"arguments\":[{\"name\":\"TITLE\",\"followsDelimiter\":\"/\",\"description\":\"Uses the value of SAS TITLE statement as the graph title.\",\"type\":\"standalone\"},{\"name\":\"TITLE1\",\"followsDelimiter\":\"/\",\"description\":\"Uses the value of SAS TITLE statement as the graph title.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"followsDelimiter\":\"/\",\"description\":\"Suppresses all titles from the graph.\",\"type\":\"standalone\"},{\"name\":\"DEFAULT\",\"followsDelimiter\":\"/\",\"description\":\"Uses the default ODS Graphics title (a descriptive title consisting of the plot type and the process variable name.)\",\"type\":\"standalone\"},{\"name\":\"LABELFMT\",\"followsDelimiter\":\"/\",\"description\":\"Uses the default ODS Graphics title with the variable label instead of the variable name.\",\"type\":\"standalone\"},{\"name\":\"'string'\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"A quoted string is used as the graph title.\",\"type\":\"value\"}]},{\"name\":\"ORIGIN=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the origin of the V-mask, which is defined as the horizontal coordinate of the right edge of the V-mask.\",\"help\":\"ORIGIN=*value*\",\"type\":\"value\"},{\"name\":\"OUTBOX=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Creates an output data set that contains subgroup summary statistics, control limits, and outlier values for a box chart.\",\"help\":\"OUTBOX=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"OUTFILL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Fills the areas outside the control limits that lie between the connected points and the control limits and are bounded by connecting lines.\",\"type\":\"standalone\"},{\"name\":\"OUTFILLOPACITY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the control limit outfill opacity when transparency is used in ODS Graphics output. The value must be between 0 and 1, where 0 is completely transparent and 1 is completely opaque. The default control limit outfill opacity is 0.25.\",\"help\":\"OUTFILLOPACITY=*value*\",\"type\":\"value\"},{\"name\":\"OUTHIGHHTML=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies a variable whose values are URLs to be associated with outlier points above the upper fence on a schematic box plot when graphics output is directed into HTML.\",\"help\":\"OUTHIGHHTML=*variable*\",\"type\":\"value\"},{\"name\":\"OUTHISTORY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Creates an output data set that contains the subgroup summary statistics.\",\"help\":\"OUTHISTORY=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"OUTINDEX=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the value of the _INDEX_ variable in the OUTLIMITS= output data set.\",\"help\":\"OUTINDEX='*label*'\",\"type\":\"value\"},{\"name\":\"OUTLABEL2=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Labels each point that falls outside the control limits on an R or s chart with the VALUE plotted for that subgroup or with the value of a variable in the input data set.\",\"type\":\"value\"},{\"name\":\"OUTLABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Labels each point that falls outside the control limits on the primary chart with the VALUE plotted for that subgroup or with the value of a variable in the input data set.\",\"type\":\"value\"},{\"name\":\"OUTLIMITS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Creates an output data set that saves the control limits.\",\"help\":\"OUTLIMITS=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"OUTLOWHTML=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies a variable whose values are URLs to be associated with outlier points below the lower fence on a schematic box plot when graphics output is directed into HTML.\",\"help\":\"OUTLOWHTML=*variable*\",\"type\":\"value\"},{\"name\":\"OUTPHASE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the value of the _PHASE_ variable in the OUTHISTORY= data set.\",\"help\":\"OUTPHASE='*label*'\",\"type\":\"value\"},{\"name\":\"OUTTABLE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Creates an output SAS data set that saves the information plotted on the chart, including the subgroup variable values and their corresponding summary statistics and control limits.\",\"help\":\"OUTTABLE=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"OVERLAY2=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies variables to be overlaid on a secondary control chart.\",\"type\":\"value\"},{\"name\":\"OVERLAY2HTML=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies variables whose values are URLs to be associated with points on secondary chart overlays.\",\"type\":\"value\"},{\"name\":\"OVERLAY2ID=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies variables whose formatted values are used to label points on secondary chart overlays.\",\"type\":\"value\"},{\"name\":\"OVERLAY2SYM=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies symbols used to plot overlays on a secondary control chart.\",\"type\":\"value\"},{\"name\":\"OVERLAY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies variables to be overlaid on the primary control chart.\",\"type\":\"value\"},{\"name\":\"OVERLAYCLIPSYM=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the symbol used to plot clipped values on overlay plots when the CLIPFACTOR= option is used.\",\"help\":\"OVERLAYCLIPSYM=*symbol*\",\"type\":\"value\"},{\"name\":\"OVERLAYCLIPSYMHT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the height for the symbol used to plot clipped values on overlay plots when the CLIPFACTOR= option is used.\",\"help\":\"OVERLAYCLIPSYMHT=*value*\",\"type\":\"value\"},{\"name\":\"OVERLAYHTML=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies variables whose values are URLs to be associated with points on primary chart overlays.\",\"type\":\"value\"},{\"name\":\"OVERLAYID=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies variables whose formatted values are used to label points on primary chart overlays.\",\"type\":\"value\"},{\"name\":\"OVERLAYLEGLAB=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the label displayed to the left of the overlay legend produced by the OVERLAY= or OVERLAY2= option. The label can be up to 16 characters and must be enclosed in quotes. The default label is \\\"Overlays:\\\".\",\"help\":\"OVERLAYLEGLAB='*label*'\",\"type\":\"value\"},{\"name\":\"OVERLAYSYM=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies symbols used to plot overlays on the primary control chart.\",\"type\":\"value\"},{\"name\":\"OVERLAYSYMHT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the heights of symbols used to plot overlays on the primary control chart.\",\"type\":\"value\"},{\"name\":\"P0=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies a known (standard) value po for the proportion of nonconforming items produced by the process.\",\"help\":\"P0=*value*\",\"type\":\"value\"},{\"name\":\"PAGENUM=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the form of the label used for pagination. The string can be up to 16 characters, and it must include one or two occurrences of the substitution character '#'. The first '#' is replaced with the page number, and the optional second '#' is replaced with the total number of pages.\",\"help\":\"PAGENUM='*string*'\",\"type\":\"value\"},{\"name\":\"PAGENUMPOS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies where to position the page number requested with the PAGENUM= option.\",\"help\":\"PAGENUMPOS=TL | TR | BL | BR | TL100 | TR100 | BL0 | BR0\",\"type\":\"choice\",\"arguments\":[{\"name\":\"TL\",\"followsDelimiter\":\"/\",\"description\":\"Top left\",\"type\":\"standalone\"},{\"name\":\"TR\",\"followsDelimiter\":\"/\",\"description\":\"Top right\",\"type\":\"standalone\"},{\"name\":\"BL\",\"followsDelimiter\":\"/\",\"description\":\"Bottom left\",\"type\":\"standalone\"},{\"name\":\"BR\",\"followsDelimiter\":\"/\",\"description\":\"Bottom right\",\"type\":\"standalone\"},{\"name\":\"TL100\",\"followsDelimiter\":\"/\",\"description\":\"Top left. TL100 ensures that the page number appears at the very top of a page when a title is displayed.\",\"type\":\"standalone\"},{\"name\":\"TR100\",\"followsDelimiter\":\"/\",\"description\":\"Top right. TR100 ensures that the page number appears at the very top of a page when a title is displayed.\",\"type\":\"standalone\"},{\"name\":\"BL0\",\"followsDelimiter\":\"/\",\"description\":\"Bottom left. BL0 ensures that the page number appears at the very bottom of a page when footnotes are displayed.\",\"type\":\"standalone\"},{\"name\":\"BR0\",\"followsDelimiter\":\"/\",\"description\":\"Bottom right. BR0 ensures that the page number appears at the very bottom of a page when footnotes are displayed.\",\"type\":\"standalone\"}]},{\"name\":\"PCTLDEF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies one of five definitions used to calculate percentiles in the construction of box-and-whiskers plots requested with the BOXCHART statement.\",\"help\":\"PCTLDEF=1 | 2 | 3 | 4 | 5\",\"type\":\"choice\",\"arguments\":[{\"name\":\"1\",\"followsDelimiter\":\"/\",\"description\":\"Definition 1 for computing quantile statistics\",\"type\":\"standalone\"},{\"name\":\"2\",\"followsDelimiter\":\"/\",\"description\":\"Definition 2 for computing quantile statistics\",\"type\":\"standalone\"},{\"name\":\"3\",\"followsDelimiter\":\"/\",\"description\":\"Definition 3 for computing quantile statistics\",\"type\":\"standalone\"},{\"name\":\"4\",\"followsDelimiter\":\"/\",\"description\":\"Definition 4 for computing quantile statistics\",\"type\":\"standalone\"},{\"name\":\"5\",\"followsDelimiter\":\"/\",\"description\":\"Definition 5 for computing quantile statistics\",\"type\":\"standalone\"}]},{\"name\":\"PHASEBOXLABELS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Draws phase labels as titles along the top of phase boxes.\",\"type\":\"standalone\"},{\"name\":\"PHASEBREAK\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies that the last point in a phase (defined as a block of consecutive subgroups with the same value of the _PHASE_ variable) is not to be connected to the first point in the next phase.\",\"type\":\"standalone\"},{\"name\":\"PHASELABTYPE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies how lengthy _PHASE_ variable values are to be displayed when there is insufficient space in the legend requested with the PHASELEGEND option.\",\"help\":\"PHASELABTYPE=SCALED | TRUNCATED\",\"type\":\"choice\",\"arguments\":[{\"name\":\"SCALED\",\"followsDelimiter\":\"/\",\"description\":\"The values are uniformly reduced in height so that they fit.\",\"type\":\"standalone\"},{\"name\":\"TRUNCATED\",\"followsDelimiter\":\"/\",\"description\":\"Lengthy values are truncated on the right until they fit.\",\"type\":\"standalone\"}]},{\"name\":\"PHASELEGEND\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"PHASELEG\"],\"description\":\"Identifies the phases requested with the READPHASES= option in a legend across the top of the chart.\",\"type\":\"standalone\"},{\"name\":\"PHASELIMITS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies that the control limits and center line are to be labeled for each phase specified with the READPHASES= option, providing the limits are constant within that phase.\",\"type\":\"standalone\"},{\"name\":\"PHASEMEANSYMBOL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies a symbol marker for the average of the values plotted within a phase.\",\"help\":\"PHASEMEANSYMBOL=*symbol*\",\"type\":\"value\"},{\"name\":\"PHASEPOS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the vertical position of the phase legend.\",\"help\":\"PHASEPOS=1 | 2 | 3 | 4\",\"type\":\"choice\",\"arguments\":[{\"name\":\"1\",\"followsDelimiter\":\"/\",\"description\":\"Top of chart, offset from axis frame\",\"type\":\"standalone\"},{\"name\":\"2\",\"followsDelimiter\":\"/\",\"description\":\"Top of chart, immediately above axis frame\",\"type\":\"standalone\"},{\"name\":\"3\",\"followsDelimiter\":\"/\",\"description\":\"Bottom of chart, immediately above horizontal axis\",\"type\":\"standalone\"},{\"name\":\"4\",\"followsDelimiter\":\"/\",\"description\":\"Bottom of chart, below horizontal axis label\",\"type\":\"standalone\"}]},{\"name\":\"PHASEREF\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Delineates the phases specified with the READPHASES= option with reference lines drawn vertically.\",\"type\":\"standalone\"},{\"name\":\"PHASEREFLEVEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Enables you to associate phase reference lines (block reference lines) with either the innermost or the outermost level.\",\"help\":\"PHASEREFLEVEL=INNER | OUTER | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"INNER\",\"followsDelimiter\":\"/\",\"description\":\"Associates phase reference lines (block reference lines) with the innermost level.\",\"type\":\"standalone\"},{\"name\":\"OUTER\",\"followsDelimiter\":\"/\",\"description\":\"Associates phase reference lines (block reference lines) with the outermost level.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"followsDelimiter\":\"/\",\"description\":\"No association of phase reference lines (block reference lines) with the innermost or outermost level.\",\"type\":\"standalone\"}]},{\"name\":\"PHASEVALSEP\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays vertical lines separating phase values in the phase legend.\",\"type\":\"standalone\"},{\"name\":\"PHASEVARLABEL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays the label associated with the variable _PHASE_ above the phase values in the phase legend.\",\"type\":\"standalone\"},{\"name\":\"POINTSHTML=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies a variable whose values are URLs to be associated with points on a box chart when the BOXSTYLE= value is POINTS, POINTSJOIN, POINTSBOX, POINTSID, or POINTSJOINID.\",\"help\":\"POINTSHTML=*variable*\",\"type\":\"value\"},{\"name\":\"PSYMBOL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies a label for the central line in a P chart.\",\"help\":\"PSYMBOL=P | PBAR | PPM | PPM2 | P0 | '*label*'\",\"type\":\"choice\",\"arguments\":[{\"name\":\"P\",\"followsDelimiter\":\"/\",\"description\":\"P\",\"type\":\"standalone\"},{\"name\":\"PBAR\",\"followsDelimiter\":\"/\",\"description\":\"PBAR\",\"type\":\"standalone\"},{\"name\":\"PPM\",\"followsDelimiter\":\"/\",\"description\":\"P'\",\"type\":\"standalone\"},{\"name\":\"PPM2\",\"followsDelimiter\":\"/\",\"description\":\"P''\",\"type\":\"standalone\"},{\"name\":\"P0\",\"followsDelimiter\":\"/\",\"description\":\"Po\",\"type\":\"standalone\"},{\"name\":\"'label'\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies a quoted label up to 16 characters.\",\"type\":\"value\"}]},{\"name\":\"RANGES\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Estimates the process standard deviation for a boxplot using subgroup ranges.\",\"type\":\"standalone\"},{\"name\":\"READALPHA\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies that the variable _ALPHA_, rather than the variable _SIGMAS_, is to be read from a LIMITS= data set when both variables are available in the data set.\",\"type\":\"standalone\"},{\"name\":\"READINDEX=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Reads cusum scheme parameters from a LIMITS= data set (specified in the PROC CUSUM statement) for each process listed in the chart statement.\",\"help\":\"READINDEX='*value*'\",\"type\":\"value\"},{\"name\":\"READLIMITS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies that cusum scheme parameters are to be read from a LIMITS= data set specified in the PROC CUSUM statement.\",\"type\":\"standalone\"},{\"name\":\"READPHASES=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"READPHASE=\"],\"description\":\"Selects blocks of consecutive observations to be read from the input data set.\",\"type\":\"value\"},{\"name\":\"READSIGMAS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies that the variable _SIGMAS_ (instead of _ALPHA_) is to be read from a LIMITS= data set that contains both variables.\",\"type\":\"standalone\"},{\"name\":\"REPEAT\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"REP\"],\"description\":\"Specifies that the horizontal axis of a chart that spans multiple panels be arranged so that the last subgroup position on a panel is repeated as the first subgroup position on the next panel.\",\"type\":\"standalone\"},{\"name\":\"RSYMBOL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies a label for the central line in an R chart.\",\"help\":\"RSYMBOL=R | RBAR | RPM | R0 | '*label*'\",\"type\":\"choice\",\"arguments\":[{\"name\":\"R\",\"followsDelimiter\":\"/\",\"description\":\"R\",\"type\":\"standalone\"},{\"name\":\"RBAR\",\"followsDelimiter\":\"/\",\"description\":\"RBAR\",\"type\":\"standalone\"},{\"name\":\"RPM\",\"followsDelimiter\":\"/\",\"description\":\"R'\",\"type\":\"standalone\"},{\"name\":\"R0\",\"followsDelimiter\":\"/\",\"description\":\"Ro\",\"type\":\"standalone\"},{\"name\":\"'label'\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies a quoted label up to 16 characters.\",\"type\":\"value\"}]},{\"name\":\"RTMARGIN=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the width of the right marginal area for the plot requested with the RTMPLOT= option.\",\"help\":\"RTMARGIN=*value*\",\"type\":\"value\"},{\"name\":\"RTMPLOT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests a univariate plot of the control chart statistics that is positioned in the right margin of the control chart.\",\"help\":\"RTMPLOT=DIGIDOT | HISTOGRAM | SKELETAL | SCHEMATIC | SCHEMATICID | SCHEMATICIDFAR\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DIGIDOT\",\"followsDelimiter\":\"/\",\"description\":\"Digidot plot\",\"type\":\"standalone\"},{\"name\":\"HISTOGRAM\",\"followsDelimiter\":\"/\",\"description\":\"Histogram\",\"type\":\"standalone\"},{\"name\":\"SKELETAL\",\"followsDelimiter\":\"/\",\"description\":\"Skeletal box-and-whisker plot\",\"type\":\"standalone\"},{\"name\":\"SCHEMATIC\",\"followsDelimiter\":\"/\",\"description\":\"Schematic box-and-whisker plot\",\"type\":\"standalone\"},{\"name\":\"SCHEMATICID\",\"followsDelimiter\":\"/\",\"description\":\"Schematic box-and-whisker plot with outliers labeled\",\"type\":\"standalone\"},{\"name\":\"SCHEMATICIDFAR\",\"followsDelimiter\":\"/\",\"description\":\"Schematic box-and-whisker plot with far outliers labeled\",\"type\":\"standalone\"}]},{\"name\":\"SCHEME=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Indicates whether the cusum scheme is a one-sided (decision interval) scheme or a two-sided scheme with a V-mask.\",\"help\":\"SCHEME=ONESIDED | TWOSIDED\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ONESIDED\",\"followsDelimiter\":\"/\",\"description\":\"Cusum scheme is a one-sided (decision interval) scheme.\",\"type\":\"standalone\"},{\"name\":\"TWOSIDED\",\"followsDelimiter\":\"/\",\"description\":\"Cusum scheme is a two-sided scheme.\",\"type\":\"standalone\"}]},{\"name\":\"SEPARATE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays primary and secondary charts on separate screens or pages.\",\"type\":\"standalone\"},{\"name\":\"SERIFS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Adds serifs to the whiskers of skeletal box-and-whisker charts.\",\"type\":\"standalone\"},{\"name\":\"SHIFT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the shift to be detected in the same units as the data.\",\"help\":\"SHIFT=*value*\",\"type\":\"value\"},{\"name\":\"SIGMA0=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies a known standard deviation, σ0, for the process standard deviation, σ.\",\"help\":\"SIGMA0=*value*\",\"type\":\"value\"},{\"name\":\"SIGMAS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the probability α of false detection for a two-sided cusum scheme with a V-mask as the probability that the absolute value of a standard normally distributed variable is greater than the value.\",\"help\":\"SIGMAS=*value*\",\"type\":\"value\"},{\"name\":\"SIMULATEQCFONT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Draws the central line labels using a simulated software font rather than a hardware font.\",\"type\":\"standalone\"},{\"name\":\"SKIPHLABELS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"SKIPLABEL=\"],\"description\":\"Specifies the number n of consecutive tick mark labels, beginning with the second tick mark label, that are thinned (not displayed) on the horizontal (subgroup) axis.\",\"help\":\"SKIPHLABELS=*n*\",\"type\":\"value\"},{\"name\":\"SMETHOD=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies a method for estimating the process standard deviation, σ.\",\"help\":\"SMETHOD=NOWEIGHT | MVLUE | RMSDF\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NOWEIGHT\",\"followsDelimiter\":\"/\",\"description\":\"Estimates σ as an unweighted average of unbiased subgroup estimates of σ.\",\"type\":\"standalone\"},{\"name\":\"MVLUE\",\"followsDelimiter\":\"/\",\"description\":\"Calculates a minimum variance linear unbiased estimate for σ\",\"type\":\"standalone\"},{\"name\":\"RMSDF\",\"followsDelimiter\":\"/\",\"description\":\"Calculates a root-mean square estimate for σ\",\"type\":\"standalone\"}]},{\"name\":\"SPLIT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies a special character that is inserted into the label of a process variable or summary statistic variable and whose purpose is to split the label into two parts.\",\"help\":\"SPLIT='*character*'\",\"type\":\"value\"},{\"name\":\"SSYMBOL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies a label for the central line in an S chart.\",\"help\":\"SSYMBOL=S | SBAR | SPM | S0 | '*label*'\",\"type\":\"choice\",\"arguments\":[{\"name\":\"S\",\"followsDelimiter\":\"/\",\"description\":\"S\",\"type\":\"standalone\"},{\"name\":\"SBAR\",\"followsDelimiter\":\"/\",\"description\":\"SBAR\",\"type\":\"standalone\"},{\"name\":\"SPM\",\"followsDelimiter\":\"/\",\"description\":\"S'\",\"type\":\"standalone\"},{\"name\":\"S0\",\"followsDelimiter\":\"/\",\"description\":\"So\",\"type\":\"standalone\"},{\"name\":\"'label'\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies a quoted label up to 16 characters.\",\"type\":\"value\"}]},{\"name\":\"STARBDRADIUS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the radius of an imaginary circle that is the outer bound for vertices of stars requested with the STARVERTICES= option.\",\"help\":\"STARBDRADIUS=*value*\",\"type\":\"value\"},{\"name\":\"STARCIRCLES=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies reference circles that are superimposed on the stars requested with the STARVERTICES= option.\",\"help\":\"STARCIRCLES=*values*\",\"type\":\"value\"},{\"name\":\"STARFILL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies colors for filling the interior of stars requested with the STARVERTICES= option.\",\"help\":\"STARFILL=*variable*\",\"type\":\"value\"},{\"name\":\"STARINRADIUS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the inner radius of stars requested with the STARVERTICES= option. For traditional graphics, the radius is specified in horizontal percent screen units. For ODS Graphics output, the radius is specified in pixels.\",\"help\":\"STARINRADIUS=*value*\",\"type\":\"value\"},{\"name\":\"STARLABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies a method for labeling the vertices of stars requested with the STARVERTICES= option.\",\"help\":\"STARLABEL=ALL | FIRST | HIGH | LOW | OUT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ALL\",\"followsDelimiter\":\"/\",\"description\":\"Labels all vertices of all stars.\",\"type\":\"standalone\"},{\"name\":\"FIRST\",\"followsDelimiter\":\"/\",\"description\":\"Labels all vertices of the leftmost star.\",\"type\":\"standalone\"},{\"name\":\"HIGH\",\"followsDelimiter\":\"/\",\"description\":\"Labels only vertices that lie outside the outer circle.\",\"type\":\"standalone\"},{\"name\":\"LOW\",\"followsDelimiter\":\"/\",\"description\":\"Labels only vertices that lie inside the inner circle.\",\"type\":\"standalone\"},{\"name\":\"OUT\",\"followsDelimiter\":\"/\",\"description\":\"Labels only vertices that lie inside the inner circle or outside the outer circle.\",\"type\":\"standalone\"}]},{\"name\":\"STARLEGEND=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the style of the legend used to identify the vertices of stars requested with the STARVERTICES= option.\",\"help\":\"STARLEGEND=CLOCK | CLOCK0 | DEGREES | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"CLOCK\",\"followsDelimiter\":\"/\",\"description\":\"Identifies the vertex variables by their positions on the clock (starting with 12:00)\",\"type\":\"standalone\"},{\"name\":\"CLOCK0\",\"followsDelimiter\":\"/\",\"description\":\"Identifies the vertex variables by their positions on the clock (starting with 0:00)\",\"type\":\"standalone\"},{\"name\":\"DEGREES\",\"followsDelimiter\":\"/\",\"description\":\"Identifies the vertex variables by angles in degrees, with 0 degrees corresponding to 12 o'clock\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"followsDelimiter\":\"/\",\"description\":\"Suppresses the legend.\",\"type\":\"standalone\"}]},{\"name\":\"STARLEGENDLAB=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the label displayed to the left of the legend for stars requested with the STARLEGEND= option. The label can be up to 16 characters and must be enclosed in quotes.\",\"help\":\"STARLEGENDLAB='*label*'\",\"type\":\"value\"},{\"name\":\"STAROPACITY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the star fill opacity when transparency is used in ODS Graphics output. The value must be between 0 and 1, where 0 is completely transparent and 1 is completely opaque. The default star fill opacity is 0.75.\",\"help\":\"STAROPACITY=*value*\",\"type\":\"value\"},{\"name\":\"STAROUTRADIUS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the outer radius of stars requested with the STARVERTICES= option.\",\"help\":\"STAROUTRADIUS=*value*\",\"type\":\"value\"},{\"name\":\"STARS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies colors for the outlines of stars requested with the STARVERTICES= option.\",\"help\":\"STARS=*variable*\",\"type\":\"value\"},{\"name\":\"STARSPECS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"STARSPEC=\"],\"description\":\"Specifies the method used to standardize the star vertex variables listed with the STARVERTICES= option.\",\"type\":\"value\"},{\"name\":\"STARSTART=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the vertex angle for the first variable in the STARVERTICES= list.\",\"help\":\"STARSTART=*value*\",\"type\":\"value\"},{\"name\":\"STARTYPE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the style of the stars requested with the STARVERTICES= option.\",\"help\":\"STARTYPE=CORONA | POLYGON | RADIAL | SPOKE | WEDGE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"CORONA\",\"followsDelimiter\":\"/\",\"description\":\"Polygon with star-vertices emanating from the inner circle\",\"type\":\"standalone\"},{\"name\":\"POLYGON\",\"followsDelimiter\":\"/\",\"description\":\"Closed polygon\",\"type\":\"standalone\"},{\"name\":\"RADIAL\",\"followsDelimiter\":\"/\",\"description\":\"Rays emanating from the center\",\"type\":\"standalone\"},{\"name\":\"SPOKE\",\"followsDelimiter\":\"/\",\"description\":\"Rays emanating from the inner circle\",\"type\":\"standalone\"},{\"name\":\"WEDGE\",\"followsDelimiter\":\"/\",\"description\":\"Closed polygon with rays from the center to each vertex\",\"type\":\"standalone\"}]},{\"name\":\"STARVERTICES=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Superimposes a star (polygon) at each point on the primary chart.\",\"type\":\"value\"},{\"name\":\"STDDEVIATIONS\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"STDDEVS\"],\"description\":\"Specifies that the estimate of the process standard deviation, σ, is to be calculated from subgroup standard deviations.\",\"type\":\"standalone\"},{\"name\":\"SUBGROUPN=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the subgroup sample sizes as a constant value or as the values of a variable in the DATA= data set.\",\"help\":\"SUBGROUPN=*value*\",\"type\":\"value\"},{\"name\":\"SYMBOLCHARS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies a list of characters used to mark the points plotted on line printer charts when a symbol-variable is used.\",\"help\":\"SYMBOLCHARS='*character-list*'\",\"type\":\"value\"},{\"name\":\"SYMBOLLEGEND=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Controls the legend for the levels of a symbol-variable.\",\"help\":\"SYMBOLLEGEND=LEGENDn | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"LEGENDn\",\"followsDelimiter\":\"/\",\"description\":\"You can specify SYMBOLLEGEND=LEGENDn, where n is the number of a LEGEND statement defined previously.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"followsDelimiter\":\"/\",\"description\":\"Suppresses the default legend.\",\"type\":\"standalone\"}]},{\"name\":\"SYMBOLORDER=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"SYMORD=\"],\"description\":\"Specifies the order in which symbols are assigned for levels of the symbol-variable.\",\"help\":\"SYMBOLORDER=DATA | INTERNAL | FORMATTED\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DATA\",\"followsDelimiter\":\"/\",\"description\":\"Assigns symbols to values in the order in which values appear in the input data set.\",\"type\":\"standalone\"},{\"name\":\"INTERNAL\",\"followsDelimiter\":\"/\",\"description\":\"Assigns symbols based on sorted order of internal values of the symbol variable\",\"type\":\"standalone\"},{\"name\":\"FORMATTED\",\"followsDelimiter\":\"/\",\"description\":\"Assigns them based on sorted formatted values.\",\"type\":\"standalone\"}]},{\"name\":\"TABLEALL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests all the tables specified by the options TABLECHART, TABLECOMP, TABLEID, TABLEOUT, and TABLESUMMARY.\",\"type\":\"standalone\"},{\"name\":\"TABLEBOX\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Augments the basic table created by the TABLES option with columns for the minimum, 25th percentile, median, 75th percentile, and maximum of the observations in a subgroup.\",\"type\":\"standalone\"},{\"name\":\"TABLECENTRAL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"TABLEC\"],\"description\":\"Augments the basic table created by the TABLES option with columns for the values of the central lines. The keyword EXCEPTIONS restricts the tabulation to those subgroups for which the control limits are exceeded or a test for special causes is positive.\",\"help\":\"TABLECENTRAL=EXCEPTIONS\",\"type\":\"choice\",\"arguments\":[{\"name\":\"EXCEPTIONS\",\"type\":\"standalone\"}]},{\"name\":\"TABLECHART=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Creates a table of the subgroup variable, the subgroup sample sizes, the subgroup means, the cumulative sums, and the decision interval or V-mask limits.\",\"help\":\"TABLECHART=EXCEPTIONS\",\"type\":\"choice\",\"arguments\":[{\"name\":\"EXCEPTIONS\",\"type\":\"standalone\"}]},{\"name\":\"TABLECOMP\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Tabulates the computational form of the cusum scheme as described by Lucas (1976) and Lucas and Crosier (1982).\",\"type\":\"standalone\"},{\"name\":\"TABLEID\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Augments the tables specified by the TABLECHART and TABLECOMP options with a column for each of the ID variables.\",\"type\":\"standalone\"},{\"name\":\"TABLELEGEND=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"TABLELEG\"],\"description\":\"Adds a legend to the basic table created by the TABLES option. The keyword EXCEPTIONS restricts the tabulation to those subgroups for which the control limits are exceeded or a test for special causes is positive.\",\"help\":\"TABLELEGEND=EXCEPTIONS\",\"type\":\"choice\",\"arguments\":[{\"name\":\"EXCEPTIONS\",\"type\":\"standalone\"}]},{\"name\":\"TABLEOUTLIM=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"TABLEOUT\"],\"description\":\"Augments the basic table created by the TABLES option with columns indicating which control limits (if any) are exceeded. The keyword EXCEPTIONS restricts the tabulation to those subgroups for which the control limits are exceeded or a test for special causes is positive.\",\"help\":\"TABLEOUTLIM=EXCEPTIONS\",\"type\":\"choice\",\"arguments\":[{\"name\":\"EXCEPTIONS\",\"type\":\"standalone\"}]},{\"name\":\"TABLESUMMARY\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Produces a table that summarizes the cusum scheme.\",\"type\":\"standalone\"},{\"name\":\"TABLES=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"TABLE\"],\"description\":\"Creates a basic table of the subgroup values, the subgroup sample sizes, the subgroup summary statistics, and the upper and lower control limits. Rows of the table correspond to subgroups. The keyword EXCEPTIONS restricts the tabulation to those subgroups for which the control limits are exceeded or a test for special causes is positive.\",\"help\":\"TABLES=EXCEPTIONS\",\"type\":\"choice\",\"arguments\":[{\"name\":\"EXCEPTIONS\",\"type\":\"standalone\"}]},{\"name\":\"TABLETESTS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Augments the basic table created by the TABLES option with a column that indicates which of the tests for special causes (requested with the TESTS= option) are positive. The keyword EXCEPTIONS restricts the tabulation to those subgroups for which the control limits are exceeded or a test for special causes is positive.\",\"type\":\"standalone\"},{\"name\":\"TARGET=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Provides target values used to compute the capability index Cpm, which is saved in the OUTLIMITS= data set.\",\"help\":\"TARGET=*value-list*\",\"type\":\"value\"},{\"name\":\"TEST2RESET=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Enables tests for special causes to be reset in a secondary chart. The specified variable must be a character variable of length 8, or length 16 if customized tests are requested.\",\"help\":\"TEST2RESET=*variable*\",\"type\":\"value\"},{\"name\":\"TEST2RUN=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the length of the pattern for Test 2 requested with the TESTS= and TESTS2= options.\",\"help\":\"TEST2RUN=7 | 8 | 9 | 11 | 14 | 20\",\"type\":\"choice\",\"arguments\":[{\"name\":\"7\",\"followsDelimiter\":\"/\",\"description\":\"7 in a row\",\"type\":\"standalone\"},{\"name\":\"8\",\"followsDelimiter\":\"/\",\"description\":\"8 in a row\",\"type\":\"standalone\"},{\"name\":\"9\",\"followsDelimiter\":\"/\",\"description\":\"9 in a row\",\"type\":\"standalone\"},{\"name\":\"11\",\"followsDelimiter\":\"/\",\"description\":\"At least 10 out of 11 in a row\",\"type\":\"standalone\"},{\"name\":\"14\",\"followsDelimiter\":\"/\",\"description\":\"At least 12 out of 14 in a row\",\"type\":\"standalone\"},{\"name\":\"20\",\"followsDelimiter\":\"/\",\"description\":\"At least 16 out of 20 in a row\",\"type\":\"standalone\"}]},{\"name\":\"TEST3RUN=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the length of the pattern for Test 3 requested with the TESTS= and TESTS2= options.\",\"help\":\"TEST3RUN=6 | 7 | 8\",\"type\":\"choice\",\"arguments\":[{\"name\":\"6\",\"followsDelimiter\":\"/\",\"description\":\"Length of the pattern is at least 6.\",\"type\":\"standalone\"},{\"name\":\"7\",\"followsDelimiter\":\"/\",\"description\":\"Length of the pattern is at least 7.\",\"type\":\"standalone\"},{\"name\":\"8\",\"followsDelimiter\":\"/\",\"description\":\"Length of the pattern is at least 8.\",\"type\":\"standalone\"}]},{\"name\":\"TESTACROSS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies that tests for special causes requested with the TESTS= or TESTS2= options be applied without regard to phases (blocks of consecutive subgroups) determined by the READPHASES= option and the variable _PHASE_ in the input data set.\",\"type\":\"standalone\"},{\"name\":\"TESTCHAR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the character for the line segments that connect any sequence of points for which a test for special causes (requested with the TESTS= or TESTS2= option) is positive. The default character is the number of the test (with values 1 to 8).\",\"help\":\"TESTCHAR='*character*'\",\"type\":\"value\"},{\"name\":\"TESTLABBOX\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that labels for subgroups with positive tests for special causes are positioned so they do not overlap. The labels are enclosed in boxes that are connected to the associated subgroup points with line segments.\",\"type\":\"standalone\"},{\"name\":\"TESTLABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Provides labels for points at which one of the tests for special causes (requested with the TESTS= or TESTS2= option) is positive.\",\"help\":\"TESTLABEL=TESTINDEX | SPACE | NONE | '*label*' | (*variable*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"TESTINDEX\",\"followsDelimiter\":\"/\",\"description\":\"Labels points with the single-digit index that requested the test in a TESTS= or TESTS2= list.\",\"type\":\"standalone\"},{\"name\":\"SPACE\",\"followsDelimiter\":\"/\",\"description\":\"Request a label of the form Test k.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"followsDelimiter\":\"/\",\"description\":\"Suppresses labeling.\",\"type\":\"standalone\"},{\"name\":\"'label'\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"A label of up to 16 characters enclosed in quotes.\",\"type\":\"value\"},{\"name\":\"(variable)\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"A variable (enclosed in parentheses) whose values are used as labels. The variable must be provided in the input data set, and it can be numeric or character.\",\"type\":\"value\"}]},{\"name\":\"TESTNMETHOD=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Applies the tests for special causes requested with the TESTS= and TESTS2= options to standardize test statistics when the subgroup sample sizes are not constant.\",\"help\":\"TESTNMETHOD=STANDARDIZE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"STANDARDIZE\",\"followsDelimiter\":\"/\",\"description\":\"Applies the tests for special causes requested with the TESTS= and TESTS2= options to standardize test statistics when the subgroup sample sizes are not constant.\",\"type\":\"standalone\"}]},{\"name\":\"TESTOVERLAP\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Applies tests for special causes (requested with the TESTS= or TESTS2= option) to overlapping patterns of points.\",\"type\":\"standalone\"},{\"name\":\"TESTRESET=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Enables tests for special causes to be reset in a primary chart. The specified variable must be a character variable of length 8, or length 16 if customized tests are requested.\",\"help\":\"TESTRESET=*variable*\",\"type\":\"value\"},{\"name\":\"TESTS2=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests one or more tests for special causes for an R chart or s chart.\",\"help\":\"TESTS2=*index-list*\",\"type\":\"value\"},{\"name\":\"TESTS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests one or more tests for special causes, which are also known as runs tests, pattern tests, and Western Electric rules.\",\"help\":\"TESTS=*index-list*\",\"type\":\"value\"},{\"name\":\"TESTSYMBOL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"TESTSYM=\"],\"description\":\"Specifies the symbol for plotting subgroups with positive tests for special causes.\",\"help\":\"TESTSYMBOL=*symbol*\",\"type\":\"value\"},{\"name\":\"TESTSYMBOLHT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"TESTSYMHT=\"],\"description\":\"Specifies the height of the symbol used to plot subgroups with positive tests for special causes.\",\"help\":\"TESTSYMBOLHT=*value*\",\"type\":\"value\"},{\"name\":\"TOTPANELS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the total number of panels to be used to display the chart. This option overrides the NPANEL= option.\",\"help\":\"TOTPANELS=*n*\",\"type\":\"value\"},{\"name\":\"TRENDVAR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies a list of trend variables, one for each process listed in the chart statement.\",\"type\":\"value\"},{\"name\":\"TURNALL\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"TURNOUT\"],\"description\":\"Turns the labels produced by the ALLLABEL=, ALLLABEL2=, OUTLABEL= and OUTLABEL2= options so that they are strung out vertically.\",\"type\":\"standalone\"},{\"name\":\"TURNHLABELS\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"TURNHLABEL\"],\"description\":\"Turns the major tick mark labels for the horizontal (group) axis so that they are strung out vertically. By default, labels are arranged horizontally.\",\"type\":\"standalone\"},{\"name\":\"TYPE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the value of _TYPE_ in an OUTLIMITS= data set.\",\"help\":\"TYPE=ESTIMATE | STANDARD\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ESTIMATE\",\"followsDelimiter\":\"/\",\"description\":\"The variable _STDDEV_ in the OUTLIMITS= data set represents an estimate Value.\",\"type\":\"standalone\"},{\"name\":\"STANDARD\",\"followsDelimiter\":\"/\",\"description\":\"The variable _STDDEV_ in the OUTLIMITS= data set represents a standard (known) value.\",\"type\":\"standalone\"}]},{\"name\":\"U0=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies a known (standard) value u0 for the average number u of nonconformities per unit produced by the process.\",\"help\":\"U0=*value*\",\"type\":\"value\"},{\"name\":\"UCLLABEL2=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies a label for the upper control limit in the secondary chart. The label can be up to 16 characters. Enclose the label in quotes.\",\"help\":\"UCLLABEL2='*label*'\",\"type\":\"value\"},{\"name\":\"UCLLABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies a label for the upper control limit in the primary chart. The label can be up to 16 characters. Enclose the label in quotes.\",\"help\":\"UCLLABEL='*label*'\",\"type\":\"value\"},{\"name\":\"USL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Provides upper specification limits used to compute capability indices.\",\"help\":\"USL=*value-list*\",\"type\":\"value\"},{\"name\":\"USYMBOL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies a label for the central line in a U chart.\",\"help\":\"USYMBOL=U | UBAR | UPM | UPM2 | U0 | '*label*'\",\"type\":\"choice\",\"arguments\":[{\"name\":\"U\",\"followsDelimiter\":\"/\",\"description\":\"U\",\"type\":\"standalone\"},{\"name\":\"UBAR\",\"followsDelimiter\":\"/\",\"description\":\"UBAR\",\"type\":\"standalone\"},{\"name\":\"UPM\",\"followsDelimiter\":\"/\",\"description\":\"U'\",\"type\":\"standalone\"},{\"name\":\"UPM2\",\"followsDelimiter\":\"/\",\"description\":\"U''\",\"type\":\"standalone\"},{\"name\":\"U0\",\"followsDelimiter\":\"/\",\"description\":\"Uo\",\"type\":\"standalone\"},{\"name\":\"'label'\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies a quoted label up to 16 characters.\",\"type\":\"value\"}]},{\"name\":\"VAXIS2=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies major tick mark values for the vertical axis of a secondary chart. The values must be listed in increasing order, must be evenly spaced, and must span the range of values displayed in the chart.\",\"type\":\"value\"},{\"name\":\"VAXIS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies major tick mark values for the vertical axis of a primary chart. The values must be listed in increasing order, must be evenly spaced, and must span the range of values displayed in the chart.\",\"type\":\"value\"},{\"name\":\"VFORMAT2=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies a format to be used for displaying tick mark labels on the vertical axis of a secondary chart.\",\"help\":\"VFORMAT2=*format*\",\"type\":\"value\"},{\"name\":\"VFORMAT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies a format to be used for displaying tick mark labels on the vertical axis of a primary chart.\",\"help\":\"VFORMAT=*format*\",\"type\":\"value\"},{\"name\":\"VMINOR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the number of minor tick marks between major tick marks on the vertical axis. Minor tick marks are not labeled. By default, VMINOR=0.\",\"help\":\"VMINOR=*n*\",\"type\":\"value\"},{\"name\":\"VOFFSET=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the length in percent screen units of the offset at the ends of the vertical axis.\",\"help\":\"VOFFSET=*value*\",\"type\":\"value\"},{\"name\":\"VREF2=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Draws reference lines perpendicular to the vertical axis on the secondary chart.\",\"type\":\"value\"},{\"name\":\"VREF2LABELS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"VREF2LAB=\"],\"description\":\"Specifies labels for the reference lines requested by the VREF2= option. The number of labels must equal the number of lines. Enclose each label in quotes. Labels can be up to 16 characters.\",\"type\":\"value\"},{\"name\":\"VREF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Draws reference lines perpendicular to the vertical axis on the primary chart.\",\"type\":\"value\"},{\"name\":\"VREFCHAR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the character used for reference lines requested by the VREF= and VREF2= options on line printer charts. The default is the hyphen (-).\",\"help\":\"VREFCHAR='*character*'\",\"type\":\"value\"},{\"name\":\"VREFLABELS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies labels for the reference lines requested by the VREF= option. The number of labels must equal the number of lines. Enclose each label in quotes. Labels can be up to 16 characters.\",\"type\":\"value\"},{\"name\":\"VREFLABPOS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the horizontal position of the VREFLABEL= and VREF2LABEL= labels.\",\"help\":\"VREFLABPOS=1 | 2 | 3\",\"type\":\"choice\",\"arguments\":[{\"name\":\"1\",\"followsDelimiter\":\"/\",\"description\":\"Left-justified in subplot area\",\"type\":\"standalone\"},{\"name\":\"2\",\"followsDelimiter\":\"/\",\"description\":\"Right-justified in subplot area\",\"type\":\"standalone\"},{\"name\":\"3\",\"followsDelimiter\":\"/\",\"description\":\"Left-justified in right margin\",\"type\":\"standalone\"}]},{\"name\":\"VZERO\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Forces the origin to be included in the vertical axis for a primary chart.\",\"type\":\"standalone\"},{\"name\":\"VZERO2\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Forces the origin to be included in the vertical axis for a secondary chart.\",\"type\":\"standalone\"},{\"name\":\"WAXIS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the width in pixels for the axis and frame lines. By default, n=1.\",\"help\":\"WAXIS=*n*\",\"type\":\"value\"},{\"name\":\"WEBOUT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Produces an output data set containing all the data in an OUTTABLE= data set plus graphics coordinates for points (subgroup summary statistics) that are displayed on a control chart.\",\"help\":\"WEBOUT=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"WGRID=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the width in pixels for grid lines requested with the ENDGRID and GRID options. By default, n=1.\",\"help\":\"WGRID=*n*\",\"type\":\"value\"},{\"name\":\"WLIMITS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the width in pixels for the control limits and central line. By default, n=1.\",\"help\":\"WLIMITS=*n*\",\"type\":\"value\"},{\"name\":\"WMASK=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the width (in pixels) of the V-mask arms.\",\"help\":\"WMASK=*linetype*\",\"type\":\"value\"},{\"name\":\"WNEEDLES=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the width in pixels of needles connecting plotted points to the central line, as requested with the NEEDLES option.\",\"help\":\"WNEEDLES=*n*\",\"type\":\"value\"},{\"name\":\"WOVERLAY2=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the widths in pixels for the line segments connecting points on secondary chart overlay plots.\",\"type\":\"value\"},{\"name\":\"WOVERLAY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the widths in pixels for the line segments connecting points on primary chart overlay plots.\",\"type\":\"value\"},{\"name\":\"WSTARCIRCLES=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the width in pixels of the outline of circles requested by the STARCIRCLES= option.\",\"help\":\"WSTARCIRCLES=*n*\",\"type\":\"value\"},{\"name\":\"WSTARS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the width in pixels of the outline of stars requested by the STARVERTICES= option.\",\"help\":\"WSTARS=*n*\",\"type\":\"value\"},{\"name\":\"WTESTS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the width in pixels of the line segments that connect patterns of points for which a test for special causes (requested with the TESTS= or TESTS2= option) is positive. By default, n=1.\",\"help\":\"WTESTS=*n*\",\"type\":\"value\"},{\"name\":\"WTREND=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the width in pixels of the line segments that connect points on trend charts requested with the TRENDVAR= option. By default, n=1.\",\"help\":\"WTREND=*n*\",\"type\":\"value\"},{\"name\":\"XSYMBOL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies a label for the central line in an XBAR chart or a median chart.\",\"help\":\"XSYMBOL='*label*' | MBAR | MTIL | MU | MU0 | XBAR | XBAR2 | XBARPM | XBAR0 | XBAROPM\",\"type\":\"choice\",\"arguments\":[{\"name\":\"'label'\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"a quoted label up to 16 characters\",\"type\":\"value\"},{\"name\":\"MBAR\",\"followsDelimiter\":\"/\",\"description\":\"MBAR\",\"type\":\"standalone\"},{\"name\":\"MTIL\",\"followsDelimiter\":\"/\",\"description\":\"MTIL\",\"type\":\"standalone\"},{\"name\":\"MU\",\"followsDelimiter\":\"/\",\"description\":\"MU\",\"type\":\"standalone\"},{\"name\":\"MU0\",\"followsDelimiter\":\"/\",\"description\":\"MU0\",\"type\":\"standalone\"},{\"name\":\"XBAR\",\"followsDelimiter\":\"/\",\"description\":\"XBAR\",\"type\":\"standalone\"},{\"name\":\"XBAR2\",\"followsDelimiter\":\"/\",\"description\":\"XBAR2\",\"type\":\"standalone\"},{\"name\":\"XBARPM\",\"followsDelimiter\":\"/\",\"description\":\"XBARPM\",\"type\":\"standalone\"},{\"name\":\"XBAR0\",\"followsDelimiter\":\"/\",\"description\":\"XBAR0\",\"type\":\"standalone\"},{\"name\":\"XBAROPM\",\"followsDelimiter\":\"/\",\"description\":\"XBAR0PM\",\"type\":\"standalone\"}]},{\"name\":\"YPCT1=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies a percent (ranging from 0 to 100) that determines the length of the vertical axis for the primary chart in proportion to the sum of the lengths of the vertical axes for the primary and secondary charts.\",\"help\":\"YPCT1=*value*\",\"type\":\"value\"},{\"name\":\"YSCALE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Scales the vertical axis on a P chart in percent units. The YSCALE= option is available only in the PCHART statement.\",\"help\":\"YSCALE=PERCENT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"PERCENT\",\"followsDelimiter\":\"/\",\"description\":\"Scales the vertical axis on a P chart in percent units.\",\"type\":\"standalone\"}]},{\"name\":\"ZEROSTD\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies that a control chart is to be constructed and displayed regardless of whether the estimated process standard deviation is zero.\",\"type\":\"standalone\"},{\"name\":\"ZEROSTD=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Suppresses the display of the degenerate limits.\",\"help\":\"ZEROSTD=NOLIMITS\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NOLIMITS\",\"followsDelimiter\":\"/\",\"description\":\"Suppresses the display of the degenerate limits.\",\"type\":\"standalone\"}]},{\"name\":\"ZONE2LABELS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Adds the labels A, B, and C to zone lines requested with the ZONES2 or ZONE2VALUES options.\",\"type\":\"standalone\"},{\"name\":\"ZONE2VALUES\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Labels R or s chart zones lines with their values. If the ZONE2VALUES option is specified the ZONES2 option is not required.\",\"type\":\"standalone\"},{\"name\":\"ZONECHAR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the character used to form the zone lines requested by the ZONES option.\",\"help\":\"ZONECHAR='*character*'\",\"type\":\"value\"},{\"name\":\"ZONELABELS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Adds the labels A, B, and C to zone lines requested with the ZONES or ZONEVALUES options.\",\"type\":\"standalone\"},{\"name\":\"ZONES\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Adds lines to a primary chart that delineate zones A, B, and C for standard tests requested with the TESTS= option.\",\"type\":\"standalone\"},{\"name\":\"ZONES2\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Adds lines to an R or s chart that delineate zones A, B, and C for tests requested with the TESTS2= option.\",\"type\":\"standalone\"},{\"name\":\"ZONEVALPOS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the horizontal position of the ZONEVALUES= and ZONE2VALUES= labels.\",\"help\":\"ZONEVALPOS=1 | 2 | 3\",\"type\":\"choice\",\"arguments\":[{\"name\":\"1\",\"followsDelimiter\":\"/\",\"description\":\"Left-justified in subplot area\",\"type\":\"standalone\"},{\"name\":\"2\",\"followsDelimiter\":\"/\",\"description\":\"Right-justified in subplot area\",\"type\":\"standalone\"},{\"name\":\"3\",\"followsDelimiter\":\"/\",\"description\":\"Left-justified in right margin\",\"type\":\"standalone\"}]},{\"name\":\"ZONEVALUES\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Labels the primary chart zones lines with their values. If the ZONEVALUES option is specified the ZONES option is not required.\",\"type\":\"standalone\"}]}],\"supportSiteInformation\":{\"docsetId\":\"qcug\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"qcug_cusum_toc.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/DATA.json",
    "content": "{\"name\":\"DATA\",\"statements\":[{\"name\":\"PROC DATA\",\"description\":\"\",\"help\":\"PROC DATA <ALTER=><ALTER=><APPEND=><BUFNO=n | nK | hexX... ><BUFSIZE=n | nK | nM... ><CASLIB=><CNTLLEV=LIB | MEM | REC><COMPRESS=NO | YES | CHAR... ><COMPRESS=><COPIES=><DEBUG><DLDMGACTION=FAIL | ABORT | REPAIR... ><DROP=><DUPLICATE=><ENCODING=><ENCRYPT=YES | NO><ENCRYPTKEY=><EXTENDOBSCOUNTER=><FILECLOSE=DISP | LEAVE | REREAD... ><FIRSTOBS=n | nK | nM... ><GENMAX=><GENNUM=><IDXNAME=><IDXWHERE=YES | NO><IN=><INDEX=><KEEP=><LABEL=><LABEL=><NESTING><NOLIST><NOMISS><OBS=n | nK | nM... ><ONDEMAND=><ORDERBY=(><OUTREP=><PARTITION=><PGM=><POINTOBS=YES | NO><PROMOTE=><PW=><PW=><PWREQ=YES | NO><READ=><READ=><RENAME=><REPEMPTY=YES | NO><REPLACE=YES | NO><REUSE=YES | NO><SCRIPT=><SGIO=YES | NO><SORTEDBY=by-clause < / collate-name> | _NULL_><SOURCE=SAVE | ENCRYPT | NOSAVE><SPILL=YES | NO><STACK=><TAG=><TEMPEXPRESS=><TEMPNAMES=><TOBSNO=><TRANTAB=><TYPE=><UNIQUE><VIEW=><WHERE=><WHERE=><WHEREUP=YES | NO><WRITE=><_DATA_><_LAST_><_NULL_>;     \\n\\t%ELSE <%DO><%IF><%THEN> ...;\\n\\n\\t%IF <%DO><%LET><%THEN> ...;\\n\\n\\tABORT <ABEND><CANCEL><CANCEL FILE> ...;\\n\\n\\tARRAY <_ALL_><_NUMERIC_><_TEMPORARY_> ...;\\n\\n\\tBY <DESCENDING><GROUPFORMAT><NOTSORTED> ...;\\n\\n\\tCALL routine(parameter-1<, ...parameter-n>);\\n\\n\\tCONTINUE;\\n\\n\\tDATALINES4; | CARDS4; | LINES4;\\n\\n\\tDATALINES; | CARDS; | LINES;\\n\\n\\t;\\n\\n\\tDELETE;\\n\\n\\tDESCRIBE;\\n\\n\\tDISPLAY <BELL><BLANK><NOINPUT> ...;\\n\\n\\tDO <OVER><><> ...;\\n\\n\\t;\\n\\n\\t;\\n\\n\\tDROP variable-list;\\n\\n\\tELSE <DO><IF><THEN> ...;\\n\\n\\tEND;\\n\\n\\tENDDATA ;\\n\\n\\tENDPACKAGE;\\n\\n\\tENDRSUBMIT;\\n\\n\\tENDTABLE;\\n\\n\\tENDTHREAD;\\n\\n\\tERROR <message>;\\n\\n\\tEXECUTE;\\n\\n\\tFILE <DISK><DUMMY><LOG> ...;\\n\\n\\tGO TO label | GOTO label;\\n\\n\\tIF <DO><THEN><WHEN> ...;\\n\\n\\tINFILE <DATALINES4><DATALINES><DISK> ...;\\n\\n\\tINPUT <specification(s)><@|@@>;\\n\\n\\tKEEP variable-list;\\n\\n\\tKILLTASK _ALL_ |task1...taskn ;\\n\\n\\tLEAVE;\\n\\n\\tLENGTH <DEFAULT=n> ;\\n\\n\\tLINK label;\\n\\n\\tLIST;\\n\\n\\tLISTTASK <_ALL_|task> ;\\n\\n\\tLOCK <CLEAR><LIST> ;\\n\\n\\tLOSTCARD;\\n\\n\\tMERGE <ALTER=><BUFNO=<n | nK | hexX>... ><END=variable> ...;\\n\\n\\tMETHOD <><RETURNS data-type><> ...;\\n\\n\\tMISSING character(s);\\n\\n\\tMODIFY <END=variable><KEY=index><NOBS=variable> ...;\\n\\n\\tODS DOCUMENT <ALL><CLOSE><EXCLUDE exclusion(s)| ALL | NONE> ...;\\n\\n\\tODS ESCAPECHAR= 'escape-character';\\n\\n\\tODS EXCLUDE <ALL><NONE><NOWARN> ...;\\n\\n\\tODS GRAPHICS <ANTIALIAS=<OFF | ON>> OFF ON ...;\\n\\n\\tODS LISTING <EXCLUDE/SELECT ALL><CLOSE><EXCLUDE exclusion(s)| ALL | NONE> ...;\\n\\n\\tODS MARKUP <ALL><CLOSE><EXCLUDE exclusion(s)| ALL | NONE> ...;\\n\\n\\tODS NOPROCTITLE;\\n\\n\\tODS NOUSEGOPT;\\n\\n\\tODS OUTPUT <CLEAR><CLOSE><SHOW> ...;\\n\\n\\tODS PRINTER <ALL><CLOSE><EXCLUDE exclusion(s)| ALL | NONE> ...;\\n\\n\\tODS PROCLABEL 'string';\\n\\n\\tODS PROCTITLE;\\n\\n\\tODS RESULTS <OFF><ON> ;\\n\\n\\tODS RTF <ALL><CLOSE><EXCLUDE exclusion(s)| ALL | NONE> ...;\\n\\n\\tODS SELECT <ALL><NONE><NOWARN> ...;\\n\\n\\tODS TAGSETS.RTF <ALL><CLOSE><EXCLUDE exclusion(s)| ALL | NONE> ...;\\n\\n\\tODS TEXT= 'text-string';\\n\\n\\tODS TRACE <EXCLUDED> OFF ON ...;\\n\\n\\tODS USEGOPT;\\n\\n\\tODS VERIFY <ERROR><OFF><ON> ...;\\n\\n\\tOTHERWISE <DO> ;\\n\\n\\tOUTPUT<data-set-name(s)>;\\n\\n\\tPACKAGE HASH HITER <SAS_ENCRYPT=<YES | NO>> ...;\\n\\n\\tPAGE;\\n\\n\\tPUT <_ALL_><_INFILE_><_ODS_> ...;\\n\\n\\tPUTLOG 'message';\\n\\n\\tRDISPLAY <<CONNECTREMOTE=>server-ID >;\\n\\n\\tREDIRECT INPUT OUTPUT ;\\n\\n\\tREMOVE <data-set-name(s)>;\\n\\n\\tRENAME old-name-1=new-name-1 ... <old-name-n=new-name-n>;\\n\\n\\tREPLACE <data-set-name-1><...data-set-name-n>;\\n\\n\\tRETAIN <element-list(s) <initial-value(s) |;\\n\\n\\tRETURN;\\n\\n\\tRGET <<CONNECTREMOTE=>server-ID>;\\n\\n\\tRSUBMIT <options>; ENDRSUBMIT <CANCEL>;\\n\\n\\t;\\n\\n\\tSET <END=variable><INDSNAME=variable><KEY=index</UNIQUE>> ...;\\n\\n\\tSIGNOFF <options>;\\n\\n\\tSIGNON <options> ;\\n\\n\\tSKIP <n>;\\n\\n\\tSTOP;\\n\\n\\tSYSTASK COMMAND \\\"operating system command\\\";\\n\\n\\tTABLE <ALTER=alter-password><_NULL_><_ROWSET_> ...;\\n\\n\\tTHREAD <ALTER=alter-password><BUFNO=<n | nK | hexX>... ><SAS_ENCRYPT=<YES | NO>> ...;\\n\\n\\tUPDATE <END=variable><UPDATEMODE=<MISSINGCHECK | NOMISSINGCHECK>> ;\\n\\n\\tWAITFOR<_ANY_ | _ALL_> taskname <taskname...><TIMEOUT=seconds>;\\n\\n\\tWHEN <DO> ;\\n\\n\\tWINDOW <COLOR=<BLACK | GRAY | PINK>... ><COLUMNS=columns><ICOLUMN=column> ...;\\n\",\"arguments\":[{\"name\":\"ALTER=\",\"optional\":true,\"description\":\"[password-option] Assigns an alter password to a SAS data file. The password allows you to protect or replace a stored compiled DATA step program or a DATA step view.\",\"type\":\"value\"},{\"name\":\"ALTER=\",\"optional\":true,\"description\":\"\",\"type\":\"value\"},{\"name\":\"APPEND=\",\"optional\":true,\"description\":\"\",\"type\":\"value\"},{\"name\":\"BUFNO=\",\"optional\":true,\"description\":\"\",\"help\":\"BUFNO=n | nK | hexX | MIN | MAX\",\"type\":\"choice\",\"arguments\":[{\"name\":\"n\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"nK\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"hexX\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"MIN\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"MAX\",\"description\":\"\",\"type\":\"standalone\"}]},{\"name\":\"BUFSIZE=\",\"optional\":true,\"description\":\"\",\"help\":\"BUFSIZE=n | nK | nM | nG | hexX | MIN | MAX\",\"type\":\"choice\",\"arguments\":[{\"name\":\"n\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"nK\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"nM\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"nG\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"hexX\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"MIN\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"MAX\",\"description\":\"\",\"type\":\"standalone\"}]},{\"name\":\"CASLIB=\",\"optional\":true,\"description\":\"\",\"type\":\"value\"},{\"name\":\"CNTLLEV=\",\"optional\":true,\"description\":\"\",\"help\":\"CNTLLEV=LIB | MEM | REC\",\"type\":\"choice\",\"arguments\":[{\"name\":\"LIB\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"MEM\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"REC\",\"description\":\"\",\"type\":\"standalone\"}]},{\"name\":\"COMPRESS=\",\"optional\":true,\"description\":\"\",\"help\":\"COMPRESS=NO | YES | CHAR | BINARY\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NO\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"YES\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"CHAR\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"BINARY\",\"description\":\"\",\"type\":\"standalone\"}]},{\"name\":\"COMPRESS=\",\"optional\":true,\"description\":\"\",\"type\":\"value\"},{\"name\":\"COPIES=\",\"optional\":true,\"description\":\"\",\"type\":\"value\"},{\"name\":\"DEBUG\",\"optional\":true,\"description\":\"Enables you to debug your program interactively by helping to identify logic errors, and sometimes data errors.\",\"type\":\"standalone\"},{\"name\":\"DLDMGACTION=\",\"optional\":true,\"description\":\"\",\"help\":\"DLDMGACTION=FAIL | ABORT | REPAIR | NOINDEX | PROMPT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"FAIL\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"ABORT\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"REPAIR\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"NOINDEX\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"PROMPT\",\"description\":\"\",\"type\":\"standalone\"}]},{\"name\":\"DROP=\",\"optional\":true,\"description\":\"\",\"type\":\"value\"},{\"name\":\"DUPLICATE=\",\"optional\":true,\"description\":\"\",\"type\":\"value\"},{\"name\":\"ENCODING=\",\"optional\":true,\"description\":\"\",\"type\":\"value\"},{\"name\":\"ENCRYPT=\",\"optional\":true,\"description\":\"\",\"help\":\"ENCRYPT=YES | NO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YES\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"NO\",\"description\":\"\",\"type\":\"standalone\"}]},{\"name\":\"ENCRYPTKEY=\",\"optional\":true,\"description\":\"\",\"type\":\"value\"},{\"name\":\"EXTENDOBSCOUNTER=\",\"optional\":true,\"description\":\"\",\"type\":\"value\"},{\"name\":\"FILECLOSE=\",\"optional\":true,\"description\":\"\",\"help\":\"FILECLOSE=DISP | LEAVE | REREAD | REWIND\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DISP\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"LEAVE\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"REREAD\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"REWIND\",\"description\":\"\",\"type\":\"standalone\"}]},{\"name\":\"FIRSTOBS=\",\"optional\":true,\"description\":\"\",\"help\":\"FIRSTOBS=n | nK | nM | nG | hexX | MIN | MAX\",\"type\":\"choice\",\"arguments\":[{\"name\":\"n\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"nK\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"nM\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"nG\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"hexX\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"MIN\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"MAX\",\"description\":\"\",\"type\":\"standalone\"}]},{\"name\":\"GENMAX=\",\"optional\":true,\"description\":\"\",\"type\":\"value\"},{\"name\":\"GENNUM=\",\"optional\":true,\"description\":\"\",\"type\":\"value\"},{\"name\":\"IDXNAME=\",\"optional\":true,\"description\":\"\",\"type\":\"value\"},{\"name\":\"IDXWHERE=\",\"optional\":true,\"description\":\"\",\"help\":\"IDXWHERE=YES | NO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YES\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"NO\",\"description\":\"\",\"type\":\"standalone\"}]},{\"name\":\"IN=\",\"optional\":true,\"description\":\"\",\"type\":\"value\"},{\"name\":\"INDEX=\",\"optional\":true,\"description\":\"\",\"type\":\"value\"},{\"name\":\"KEEP=\",\"optional\":true,\"description\":\"\",\"type\":\"value\"},{\"name\":\"LABEL=\",\"optional\":true,\"description\":\"Specifies a label for a SAS data set.\",\"type\":\"value\"},{\"name\":\"LABEL=\",\"optional\":true,\"description\":\"\",\"type\":\"value\"},{\"name\":\"NESTING\",\"optional\":true,\"description\":\"Specifies that a note will be printed to the SAS log for the beginning and end of each DO-END and SELECT-END nesting level. This option enables you to debug mismatched DO-END and SELECT-END statements and is particularly useful in large programs where the nesting level is not obvious.\",\"type\":\"standalone\"},{\"name\":\"NOLIST\",\"optional\":true,\"description\":\"Suppresses the output of all variables to the SAS log when the value of _ERROR_ is 1.\",\"type\":\"standalone\"},{\"name\":\"NOMISS\",\"optional\":true,\"description\":\"Specifies to exclude all observations with missing values.\",\"type\":\"standalone\"},{\"name\":\"OBS=\",\"optional\":true,\"description\":\"\",\"help\":\"OBS=n | nK | nM | nG | nT | hexX | MIN | MAX\",\"type\":\"choice\",\"arguments\":[{\"name\":\"n\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"nK\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"nM\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"nG\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"nT\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"hexX\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"MIN\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"MAX\",\"description\":\"\",\"type\":\"standalone\"}]},{\"name\":\"ONDEMAND=\",\"optional\":true,\"description\":\"\",\"type\":\"value\"},{\"name\":\"ORDERBY=\",\"optional\":true,\"description\":\"\",\"help\":\"ORDERBY=(\",\"type\":\"value\"},{\"name\":\"OUTREP=\",\"optional\":true,\"description\":\"\",\"type\":\"value\"},{\"name\":\"PARTITION=\",\"optional\":true,\"description\":\"\",\"type\":\"value\"},{\"name\":\"PGM=\",\"optional\":true,\"description\":\"Names the stored compiled program that SAS creates or executes in the DATA step.\",\"type\":\"value\"},{\"name\":\"POINTOBS=\",\"optional\":true,\"description\":\"\",\"help\":\"POINTOBS=YES | NO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YES\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"NO\",\"description\":\"\",\"type\":\"standalone\"}]},{\"name\":\"PROMOTE=\",\"optional\":true,\"description\":\"\",\"type\":\"value\"},{\"name\":\"PW=\",\"optional\":true,\"description\":\"[password-option] Assigns a READ and ALTER password, both having the same value.\",\"type\":\"value\"},{\"name\":\"PW=\",\"optional\":true,\"description\":\"\",\"type\":\"value\"},{\"name\":\"PWREQ=\",\"optional\":true,\"description\":\"\",\"help\":\"PWREQ=YES | NO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YES\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"NO\",\"description\":\"\",\"type\":\"standalone\"}]},{\"name\":\"READ=\",\"optional\":true,\"description\":\"[password-option] Assigns a read password to a SAS data file. The password allows you to read or execute a stored compiled DATA step program or a DATA step view.\",\"type\":\"value\"},{\"name\":\"READ=\",\"optional\":true,\"description\":\"\",\"type\":\"value\"},{\"name\":\"RENAME=\",\"optional\":true,\"description\":\"\",\"type\":\"value\"},{\"name\":\"REPEMPTY=\",\"optional\":true,\"description\":\"\",\"help\":\"REPEMPTY=YES | NO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YES\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"NO\",\"description\":\"\",\"type\":\"standalone\"}]},{\"name\":\"REPLACE=\",\"optional\":true,\"description\":\"\",\"help\":\"REPLACE=YES | NO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YES\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"NO\",\"description\":\"\",\"type\":\"standalone\"}]},{\"name\":\"REUSE=\",\"optional\":true,\"description\":\"\",\"help\":\"REUSE=YES | NO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YES\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"NO\",\"description\":\"\",\"type\":\"standalone\"}]},{\"name\":\"SCRIPT=\",\"optional\":true,\"description\":\"\",\"type\":\"value\"},{\"name\":\"SGIO=\",\"optional\":true,\"description\":\"\",\"help\":\"SGIO=YES | NO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YES\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"NO\",\"description\":\"\",\"type\":\"standalone\"}]},{\"name\":\"SORTEDBY=\",\"optional\":true,\"description\":\"\",\"help\":\"SORTEDBY=by-clause &lt; / collate-name&gt; | _NULL_\",\"type\":\"choice\",\"arguments\":[{\"name\":\"by-clause\",\"description\":\"\",\"help\":\"by-clause &lt; / collate-name&gt;\",\"type\":\"standalone\"},{\"name\":\"_NULL_\",\"description\":\"\",\"type\":\"standalone\"}]},{\"name\":\"SOURCE=\",\"optional\":true,\"description\":\"Specifies one of the following source options: SAVE, ENCRYPT, and NOSAVE.\",\"help\":\"SOURCE=SAVE | ENCRYPT | NOSAVE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"SAVE\",\"description\":\"Saves the source code that created a stored compiled DATA step program or a DATA step view.\",\"type\":\"standalone\"},{\"name\":\"ENCRYPT\",\"description\":\"Encrypts and saves the source code that created a stored compiled DATA step program or a DATA step view.\",\"type\":\"standalone\"},{\"name\":\"NOSAVE\",\"description\":\"Does not save the source code.\",\"type\":\"standalone\"}]},{\"name\":\"SPILL=\",\"optional\":true,\"description\":\"\",\"help\":\"SPILL=YES | NO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YES\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"NO\",\"description\":\"\",\"type\":\"standalone\"}]},{\"name\":\"STACK=\",\"optional\":true,\"description\":\"Specifies the maximum number of nested LINK statements.\",\"type\":\"value\"},{\"name\":\"TAG=\",\"optional\":true,\"description\":\"\",\"type\":\"value\"},{\"name\":\"TEMPEXPRESS=\",\"optional\":true,\"description\":\"\",\"type\":\"value\"},{\"name\":\"TEMPNAMES=\",\"optional\":true,\"description\":\"\",\"type\":\"value\"},{\"name\":\"TOBSNO=\",\"optional\":true,\"description\":\"\",\"type\":\"value\"},{\"name\":\"TRANTAB=\",\"optional\":true,\"description\":\"\",\"type\":\"value\"},{\"name\":\"TYPE=\",\"optional\":true,\"description\":\"\",\"type\":\"value\"},{\"name\":\"UNIQUE\",\"optional\":true,\"description\":\"Specifies that the values of the key variables must be unique.\",\"type\":\"standalone\"},{\"name\":\"VIEW=\",\"optional\":true,\"description\":\"Names a view that the DATA step uses to store the input DATA step view.\",\"type\":\"value\"},{\"name\":\"WHERE=\",\"optional\":true,\"description\":\"Specifies specific conditions to use to select observations from a SAS data set.\",\"type\":\"value\"},{\"name\":\"WHERE=\",\"optional\":true,\"description\":\"\",\"type\":\"value\"},{\"name\":\"WHEREUP=\",\"optional\":true,\"description\":\"\",\"help\":\"WHEREUP=YES | NO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YES\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"NO\",\"description\":\"\",\"type\":\"standalone\"}]},{\"name\":\"WRITE=\",\"optional\":true,\"description\":\"\",\"type\":\"value\"},{\"name\":\"_DATA_\",\"optional\":true,\"description\":\"Special SAS dataset name. Generated SAS dataset name in WORK library.\",\"type\":\"standalone\"},{\"name\":\"_LAST_\",\"optional\":true,\"description\":\"Special SAS dataset name. Most recently created SAS dataset.\",\"type\":\"standalone\"},{\"name\":\"_NULL_\",\"optional\":true,\"description\":\"Specifies that SAS does not create a data set when it executes the DATA step.\",\"type\":\"standalone\"}]},{\"name\":\"%ELSE\",\"description\":\"%IF expression %THEN action; <%ELSE action;>\",\"help\":\"%ELSE &lt;%DO&gt;&lt;%IF&gt;&lt;%THEN&gt; ...\",\"arguments\":[{\"name\":\"%DO\",\"optional\":true,\"description\":\"Action statement in an %ELSE-%DO construct.\",\"type\":\"standalone\"},{\"name\":\"%GOTO\",\"optional\":true,\"description\":\"Jumps to a new statement.\",\"type\":\"standalone\"},{\"name\":\"%IF\",\"optional\":true,\"description\":\"Conditionally processes a portion of a macro.\",\"type\":\"standalone\"},{\"name\":\"%LET\",\"optional\":true,\"description\":\"Creates a macro variable and assigns it a value.\",\"type\":\"standalone\"},{\"name\":\"%PUT\",\"optional\":true,\"description\":\"Action statement in an %IF-%THEN statement. Writes text or macro variable information to the SAS log.\",\"type\":\"standalone\"},{\"name\":\"%RETURN\",\"optional\":true,\"description\":\"Action statement in an %IF-%THEN statement. Execution causes normal termination of the currently executing macro.\",\"type\":\"standalone\"},{\"name\":\"%THEN\",\"optional\":true,\"description\":\"Conditionally processes a portion of a macro.\",\"type\":\"standalone\"},{\"name\":\"AND\",\"optional\":true,\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"NOT\",\"optional\":true,\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"OR\",\"optional\":true,\"description\":\"\",\"type\":\"standalone\"}]},{\"name\":\"%IF\",\"description\":\"Conditionally process a portion of a macro.\",\"help\":\"%IF &lt;%DO&gt;&lt;%LET&gt;&lt;%THEN&gt; ...\",\"arguments\":[{\"name\":\"%DO\",\"optional\":true,\"description\":\"Action statement in a %IF-%THEN-%DO construct.\",\"type\":\"standalone\"},{\"name\":\"%GOTO\",\"optional\":true,\"description\":\"Jumps to a new statement.\",\"type\":\"standalone\"},{\"name\":\"%LET\",\"optional\":true,\"description\":\"Action statement in an %IF-%THEN statement. Creates a macro variable and assigns it a value.\",\"type\":\"standalone\"},{\"name\":\"%PUT\",\"optional\":true,\"description\":\"Action statement in an %IF-%THEN statement. Writes text or macro variable information to the SAS log.\",\"type\":\"standalone\"},{\"name\":\"%RETURN\",\"optional\":true,\"description\":\"Action statement in an %IF-%THEN statement. Execution causes normal termination of the currently executing macro.\",\"type\":\"standalone\"},{\"name\":\"%THEN\",\"optional\":true,\"description\":\"Conditionally process a portion of a macro.\",\"type\":\"standalone\"},{\"name\":\"AND\",\"optional\":true,\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"NOT\",\"optional\":true,\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"OR\",\"optional\":true,\"description\":\"\",\"type\":\"standalone\"}]},{\"name\":\"ABORT\",\"description\":\"Stops executing the current DATA step, SAS job, or SAS session. n is an integer value that enables you to specify a condition code: o when used with the CANCEL argument, the value is placed in the SYSINFO automatic macro variable o when not used with the CANCEL argument, the error code that is returned by SAS is ERROR. The value of ERROR depends on the operating system. The condition code n is returned to the operating system as the final SAS system exit code.\",\"help\":\"ABORT &lt;ABEND&gt;&lt;CANCEL&gt;&lt;CANCEL FILE&gt; ...\",\"arguments\":[{\"name\":\"<n>\",\"optional\":true,\"description\":\"Replace <n> with an actual integer value. n is an integer value that enables you to specify a condition code: o when used with the CANCEL argument, the value is placed in the SYSINFO automatic macro variable o when not used with the CANCEL argument, the error code that is returned by SAS is ERROR. The value of ERROR depends on the operating system. The condition code n is returned to the operating system as the final SAS system exit code.\",\"type\":\"standalone\"},{\"name\":\"ABEND\",\"optional\":true,\"description\":\"Causes abnormal termination of the current SAS job or session. Results depend on the method of operation: o batch mode and noninteractive mode o stops processing immediately o sends an error message to the SAS log that states that execution was terminated by the ABEND option of the ABORT macro statement o does not execute any subsequent statements or check syntax o returns control to the operating environment; further action is based on how your operating environment and your site treat jobs that end abnormally. o windowing environment and interactive line mode\",\"type\":\"standalone\"},{\"name\":\"CANCEL\",\"optional\":true,\"description\":\"Causes the cancellation of the current submitted statements. The results depend on the method of operation: o batch mode and noninteractive mode o The entire SAS program and SAS system are terminated. o The error message is written to the SAS log. o windowing environment and interactive line mode o It only clears the current submitted program. o Other subsequent submitted programs are not affected. o The error message is written to the SAS log. o workspace server and stored process server o It only clears currently submitted program. o Other subsequent submit calls are not affected. o The error message is written to the SAS log. o SAS IntrNet application server\",\"type\":\"standalone\"},{\"name\":\"CANCEL\",\"optional\":true,\"description\":\"Causes only the contents of the autoexec file or %INCLUDE file to be cleared by the %ABORT statement. Other submitted source statements will be executed after the autoexec or %INCLUDE file.\",\"help\":\"CANCEL FILE\",\"type\":\"standalone\"},{\"name\":\"NOLIST\",\"optional\":true,\"description\":\"Suppresses the output of all variables to the SAS log. Requirement: NOLIST must be the last option in the ABORT statement.\",\"type\":\"standalone\"},{\"name\":\"RETURN\",\"optional\":true,\"description\":\"Causes abnormal termination of the current SAS job or session. Results depend on the method of operation: o batch mode and noninteractive mode o stops processing immediately o sends an error message to the SAS log that states that execution was terminated by the RETURN option in the ABORT macro statement o does not execute any subsequent statements or check syntax o returns control to the operating environment with a condition code indicating an error. o windowing environment and interactive line mode\",\"type\":\"standalone\"}]},{\"name\":\"ARRAY\",\"description\":\"Defines the elements of an array.\",\"help\":\"ARRAY &lt;_ALL_&gt;&lt;_NUMERIC_&gt;&lt;_TEMPORARY_&gt; ...\",\"arguments\":[{\"name\":\"_ALL_\",\"optional\":true,\"description\":\"Specifies all variables.\",\"type\":\"standalone\"},{\"name\":\"_CHARACTER_\",\"optional\":true,\"description\":\"Specifies all character variables.\",\"type\":\"standalone\"},{\"name\":\"_NUMERIC_\",\"optional\":true,\"description\":\"Specifies all numeric variables.\",\"type\":\"standalone\"},{\"name\":\"_TEMPORARY_\",\"optional\":true,\"description\":\"Creates a list of temporary data elements.\",\"type\":\"standalone\"}]},{\"name\":\"BY\",\"description\":\"Controls the operation of a SET, MERGE, MODIFY, or UPDATE statement in the DATA step and sets up special grouping variables.\",\"help\":\"BY &lt;DESCENDING&gt;&lt;GROUPFORMAT&gt;&lt;NOTSORTED&gt; ...\",\"arguments\":[{\"name\":\"DESCENDING\",\"optional\":true,\"description\":\"Specifies that the data sets are sorted in descending order by the variable that is specified. DESCENDING means largest to smallest numerically, or reverse alphabetical for character variables.\",\"type\":\"standalone\"},{\"name\":\"GROUPFORMAT\",\"optional\":true,\"description\":\"Uses the formatted values, instead of the internal values, of the BY variables to determine where BY groups begin and end, and therefore how FIRST.variable and LAST.variable are assigned. Although the GROUPFORMAT option can appear anywhere in the BY statement, the option applies to all variables in the BY statement.\",\"type\":\"standalone\"},{\"name\":\"NOTSORTED\",\"optional\":true,\"description\":\"Specifies that observations with the same BY value are grouped together but are not necessarily sorted in alphabetical or numeric order.\",\"type\":\"standalone\"}]},{\"name\":\"CALL\",\"description\":\"Invokes a SAS CALL routine.\",\"help\":\"CALL routine(parameter-1&lt;, ...parameter-n&gt;)\"},{\"name\":\"CONTINUE\",\"description\":\"Stops processing the current DO-loop iteration and resumes processing the next iteration.\",\"help\":\"CONTINUE\"},{\"name\":\"DATALINES4\",\"aliases\":[\"CARDS4\",\"LINES4\"],\"description\":\"Indicates that data lines that contain semicolons follow.\",\"help\":\"DATALINES4; | CARDS4; | LINES4\"},{\"name\":\"DATALINES\",\"aliases\":[\"CARDS\",\"LINES\"],\"description\":\"Specifies that data lines follow.\",\"help\":\"DATALINES; | CARDS; | LINES\"},{\"name\":\"DECLARE\",\"aliases\":[\"DCL\"],\"description\":\"\",\"help\":\"\"},{\"name\":\"DELETE\",\"description\":\"Stops processing the current observation.\",\"help\":\"DELETE\"},{\"name\":\"DESCRIBE\",\"description\":\"Retrieves source code from a stored compiled DATA step program or a DATA step view.\",\"help\":\"DESCRIBE\"},{\"name\":\"DISPLAY\",\"description\":\"Displays a window that is created with the WINDOW statement.\",\"help\":\"DISPLAY &lt;BELL&gt;&lt;BLANK&gt;&lt;NOINPUT&gt; ...\",\"arguments\":[{\"name\":\"BELL\",\"optional\":true,\"description\":\"Produces an audible alarm, beep, or bell sound when the window is displayed if your personal computer is equipped with a speaker device that provides sound.\",\"type\":\"standalone\"},{\"name\":\"BLANK\",\"optional\":true,\"description\":\"Clears the window.\",\"type\":\"standalone\"},{\"name\":\"DELETE\",\"optional\":true,\"description\":\"Deletes the display of the window after processing passes from the DISPLAY statement on which the option appears.\",\"type\":\"standalone\"},{\"name\":\"NOINPUT\",\"optional\":true,\"description\":\"Specifies that you cannot input values into fields that are displayed in the window.\",\"type\":\"standalone\"}]},{\"name\":\"DO\",\"description\":\"\",\"help\":\"DO &lt;OVER&gt;&lt;&gt;&lt;&gt; ...\",\"arguments\":[{\"name\":\"BY\",\"optional\":true,\"description\":\"Precedes an increment integer (other than 0) or an expression that generates an integer to be added to the value of the index variable in each iteration of the DO loop.\",\"type\":\"standalone\"},{\"name\":\"OVER\",\"optional\":true,\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"TO\",\"optional\":true,\"description\":\"Separates the start and stop integers or expressions that control the number of times the portion of the DATA step between the iterative DO and END statements is processed.\",\"type\":\"standalone\"},{\"name\":\"UNTIL\",\"optional\":true,\"description\":\"...more SAS statements... END\",\"type\":\"standalone\"},{\"name\":\"WHILE\",\"optional\":true,\"description\":\"\",\"type\":\"standalone\"}]},{\"name\":\"DO UNTIL\",\"description\":\"\",\"help\":\"\"},{\"name\":\"DO WHILE\",\"description\":\"\",\"help\":\"\"},{\"name\":\"DROP\",\"description\":\"Excludes variables from output SAS data sets.\",\"help\":\"DROP variable-list\"},{\"name\":\"ELSE\",\"description\":\"If the condition in an IF-THEN statement is false and an ELSE statement is present, then the ELSE action is carried out.\",\"help\":\"ELSE &lt;DO&gt;&lt;IF&gt;&lt;THEN&gt; ...\",\"arguments\":[{\"name\":\"AND\",\"optional\":true,\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"DO\",\"optional\":true,\"description\":\"Action statement in an IF-THEN-ELSE construct. Specifies a group of statements to be executed as a unit.\",\"type\":\"standalone\"},{\"name\":\"IF\",\"optional\":true,\"description\":\"Executes a SAS statement for observations that meet specific conditions.\",\"type\":\"standalone\"},{\"name\":\"NOT\",\"optional\":true,\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"OR\",\"optional\":true,\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"OUTPUT\",\"optional\":true,\"description\":\"Action statement in an IF-THEN-ELSE construct. Writes the current observation to a SAS data set.\",\"type\":\"standalone\"},{\"name\":\"PUT\",\"optional\":true,\"description\":\"Action statement in an IF-THEN-ELSE construct. Writes lines to the SAS log, to the SAS output window, or to an external location that is specified in the most recent FILE statement.\",\"type\":\"standalone\"},{\"name\":\"THEN\",\"optional\":true,\"description\":\"If the conditions that are specified in the IF clause are met, the IF-THEN statement executes a SAS statement for observations that are read from a SAS data set, for records in an external file, or for computed values.\",\"type\":\"standalone\"}]},{\"name\":\"END\",\"description\":\"Ends a DO group or SELECT group processing.\",\"help\":\"END\"},{\"name\":\"ENDDATA\",\"description\":\"[This statement is valid only in DS2 and HPDS2 procedures.] The ENDDATA statement terminates the DS2 code block. The statements between the DATA and ENDDATA statement are submitted to the grid for execution. The DS2 run, init, and term methods are specified between the DATA and ENDDATA statements.\",\"help\":\"ENDDATA \"},{\"name\":\"ENDPACKAGE\",\"description\":\"Marks the end of a PACKAGE statement. Although the ENDPACKAGE statement is not required, it can make the code easier to read.\",\"help\":\"ENDPACKAGE\"},{\"name\":\"ENDRSUBMIT\",\"description\":\"Marks the end of a block of statements that a client session submits to a server session for execution.\",\"help\":\"ENDRSUBMIT\"},{\"name\":\"ENDTABLE\",\"description\":\"Marks the end of a TABLE statement.\",\"help\":\"ENDTABLE\"},{\"name\":\"ENDTHREAD\",\"description\":\"Marks the end of a THREAD statement. Although the ENDTHREAD statement is not required, it can make the code easier to read.\",\"help\":\"ENDTHREAD\"},{\"name\":\"ERROR\",\"description\":\"Sets _ERROR_ to 1. A message written to the SAS log is optional.\",\"help\":\"ERROR &lt;message&gt;\"},{\"name\":\"EXECUTE\",\"description\":\"Executes a stored compiled DATA step program.\",\"help\":\"EXECUTE\"},{\"name\":\"FILE\",\"description\":\"where file-specification identifies an external file that the DATA step uses to write output from a PUT statement. File-specification can have these forms: 'external-file' specifies the physical name of an external file, which is enclosed in quotation marks. The physical name is the name by which the operating environment recognizes the file. fileref specifies the fileref of an external file. Requirement: You must have previously associated fileref with an external file in a FILENAME statement or function, or in an appropriate operating environment command. There is only one exception to this rule: when you use the FILEVAR= option, the fileref is simply a placeholder. fileref(file) specifies a fileref that is previously assigned to an external file that is an aggregate grouping of files. Follow the fileref with the name of a file or member, which is enclosed in parentheses. LOG is a reserved fileref that directs the output that is produced by any PUT statements to the SAS log. PRINT is a reserved fileref that directs the output that is produced by any PUT statements to the same file as the output that is produced by SAS procedures. device-type specifies the type of device or the access method that is used if the fileref points to an input or output device or a location that is not a physical file: DISK, DUMMY, GTERM, PIPE, PLOTTER, PRINTER, TAPE, TEMP, TERMINAL, UPRINTER. type specifies the type of file in z/OS: DLI, HFS, MVS, PIPE, VSAM. operating-environment-options or host-options Additional specifications might be required when you specify some devices. See the SAS documentation for your operating environment before specifying a value other than DISK. Values in addition to the ones listed here might be available in some operating environments.\",\"help\":\"FILE &lt;DISK&gt;&lt;DUMMY&gt;&lt;LOG&gt; ...\",\"arguments\":[{\"name\":\"ALQ=\",\"optional\":true,\"description\":\"[OpenVMS Host Option] Specifies the number of blocks initially allocated to an external file when it is created. The value can range from 0 to 2,147,483,647. If the value is 0 (the default), the minimum number of blocks required for the given file format is used.\",\"type\":\"value\"},{\"name\":\"BLKSIZE=\",\"optional\":true,\"aliases\":[\"BLK=\"],\"description\":\"[Windows/UNIX Host Option] Specifies the number of bytes that are physically read or written in an I/O operation. The default is 8K. The maximum is 1M (Windows) or 1G-1(UNIX).\",\"help\":\"BLKSIZE=*block-size*\",\"type\":\"value\"},{\"name\":\"BLOCK\",\"optional\":true,\"description\":\"Is used only in the context of named pipes. This option indicates whether the client is to wait if no data is currently available. BLOCK is the default value.\",\"type\":\"standalone\"},{\"name\":\"BOM\",\"optional\":true,\"aliases\":[\"BOMFILE\"],\"description\":\"[UNIX/z/OS Host Option] Includes a Byte Order Mark when a UNICODE-encoded file is created.\",\"type\":\"standalone\"},{\"name\":\"BUFND=\",\"optional\":true,\"description\":\"Indicates how many data buffers to use for the VSAM data set.\",\"help\":\"BUFND=*value*\",\"type\":\"value\"},{\"name\":\"BUFNI=\",\"optional\":true,\"description\":\"Indicates how many index buffers to use for the VSAM data set.\",\"help\":\"BUFNI=*value*\",\"type\":\"value\"},{\"name\":\"BYTE\",\"optional\":true,\"description\":\"Is used only in the context of named pipes. This option indicates the type of pipe. BYTE is the default value.\",\"type\":\"standalone\"},{\"name\":\"CC=\",\"optional\":true,\"description\":\"[OpenVMS Host Option] Specifies the carriage-control format of the SAS log and the procedure output file.\",\"help\":\"CC=FORTRAN | PRINT | CR\",\"type\":\"choice\",\"arguments\":[{\"name\":\"FORTRAN\",\"description\":\"Indicates FORTRAN carriage-control format. This is the default for print files.\",\"type\":\"standalone\"},{\"name\":\"PRINT\",\"description\":\"Indicates OpenVMS print format.\",\"type\":\"standalone\"},{\"name\":\"CR\",\"description\":\"Indicates OpenVMS carriage-return, carriage-control format. This is the default for nonprinting files.\",\"type\":\"standalone\"}]},{\"name\":\"CLIENT\",\"optional\":true,\"description\":\"[Windows Host Option] Is used only in the context of named pipes. This option specifies the mode of a named pipe. The default value is SERVER.\",\"type\":\"standalone\"},{\"name\":\"CLOSE=\",\"optional\":true,\"description\":\"[z/OS Host Option] Indicates how a tape volume is positioned at the end of the DATA step.\",\"help\":\"CLOSE=REREAD | LEAVE | REWIND | FREE | DISP\",\"type\":\"choice\",\"arguments\":[{\"name\":\"REREAD\",\"description\":\"Positions the tape at the logical beginning of the data set.\",\"type\":\"standalone\"},{\"name\":\"LEAVE\",\"description\":\"Positions the tape at the logical end of the data set.\",\"type\":\"standalone\"},{\"name\":\"REWIND\",\"description\":\"Rewinds the tape to the physical beginning of the volume.\",\"type\":\"standalone\"},{\"name\":\"FREE\",\"description\":\"Dynamically deallocates the tape volume.\",\"type\":\"standalone\"},{\"name\":\"DISP\",\"description\":\"Is implied by the control language.\",\"type\":\"standalone\"}]},{\"name\":\"COLUMN=\",\"optional\":true,\"aliases\":[\"COL=\"],\"description\":\"Specifies a variable that SAS automatically sets to the current column location of the pointer.\",\"type\":\"value\"},{\"name\":\"COMMAND\",\"optional\":true,\"description\":\"[Windows Host Option] Allows remote commands to be issued to DDE server applications that not use the SYSTEM topic name.\",\"type\":\"standalone\"},{\"name\":\"CSRC\",\"optional\":true,\"description\":\"[OpenVMS Host Option] Specifies that you want to use the CSRCESRV services (available with z/OS) to compress data on output. For example: data _null_; file myfile csrc; put ... ; run;\",\"type\":\"standalone\"},{\"name\":\"DCB=\",\"optional\":true,\"description\":\"specifies the fileref of an external file that was referenced in an earlier FILE or INFILE statement in the same DATA step. SAS uses that file's RECFM=, LRECL=, and BLKSIZE= information for the current file.\",\"help\":\"DCB=*fileref*\",\"type\":\"value\"},{\"name\":\"DELIMITER=\",\"optional\":true,\"aliases\":[\"DLM=\"],\"description\":\"Specifies an alternate delimiter (other than a blank) to be used for LIST output.\",\"type\":\"value\"},{\"name\":\"DEQ=\",\"optional\":true,\"description\":\"[OpenVMS Host Option] Specifies the number of blocks added when OpenVMS RMS automatically extends an external file during a write operation. The value can range from 0 to 65,535. The default value is 0, telling OpenVMS RMS to use the process's default value. A large value results in fewer file extensions over the life of the file; a small value results in numerous file extensions over the life of the file. A file with numerous file extensions might be noncontiguous, thereby slowing record access.\",\"type\":\"value\"},{\"name\":\"DEVTYPE=\",\"optional\":true,\"description\":\"Defines a character variable (minimum length 24) that SAS sets to the device type. SAS obtains the device type by using the z/OS operating environment DEVTYPE macro.\",\"help\":\"DEVTYPE=*variable*\",\"type\":\"value\"},{\"name\":\"DISK\",\"optional\":true,\"description\":\"[device-type] Specifies that the device is a disk drive.\",\"type\":\"standalone\"},{\"name\":\"DLI\",\"optional\":true,\"description\":\"[type] For IMS-DL/I databases.\",\"type\":\"standalone\"},{\"name\":\"DLMSOPT=\",\"optional\":true,\"description\":\"Specifies a parsing option for the DLMSTR= T option that removes trailing blanks of the string delimiter.\",\"help\":\"DLMSOPT='T'\",\"type\":\"choice\",\"arguments\":[{\"name\":\"'T'\",\"description\":\"Removes trailing blanks of the string delimiter.\",\"type\":\"standalone\"}]},{\"name\":\"DLMSTR=\",\"optional\":true,\"description\":\"Specifies a character string as an alternate delimiter (other than a blank) to be used for LIST output\",\"type\":\"value\"},{\"name\":\"DROPOVER\",\"optional\":true,\"description\":\"Discards data items that exceed the output line length (as specified by the LINESIZE= or LRECL= options in the FILE statement).\",\"type\":\"standalone\"},{\"name\":\"DSCB=\",\"optional\":true,\"description\":\"Defines a character variable (minimum length 96) that SAS sets to the Data Set Control Block (DSCB) information from a non-VSAM data set.\",\"help\":\"DSCB=*variable*\",\"type\":\"value\"},{\"name\":\"DSD\",\"optional\":true,\"description\":\"Specifies that data values that contain embedded delimiters, such as tabs or commas, be enclosed in quotation marks.\",\"type\":\"standalone\"},{\"name\":\"DUMMY\",\"optional\":true,\"description\":\"[device-type] Specifies that the output to the file is discarded. Tip: Specifying DUMMY can be useful for testing.\",\"type\":\"standalone\"},{\"name\":\"ENCODING=\",\"optional\":true,\"description\":\"Specifies the encoding to use when writing to the output file.\",\"help\":\"ENCODING='warabic' | 'wbaltic' | 'wlatin2' | 'wcyrillic' | 'wgreek' | 'whebrew' | 'wturkish' | 'wvietnamese' | 'wlatin1' | 'utf-8' | 'ms-950' | 'ms-936' | 'ms-932' | 'ms-949'\",\"type\":\"choice\",\"arguments\":[{\"name\":\"'warabic'\",\"description\":\"Arabic\",\"type\":\"standalone\"},{\"name\":\"'wbaltic'\",\"description\":\"Baltic\",\"type\":\"standalone\"},{\"name\":\"'wlatin2'\",\"description\":\"Central Europe\",\"type\":\"standalone\"},{\"name\":\"'wcyrillic'\",\"description\":\"Cyrillic\",\"type\":\"standalone\"},{\"name\":\"'wgreek'\",\"description\":\"Greek\",\"type\":\"standalone\"},{\"name\":\"'whebrew'\",\"description\":\"Hebrew\",\"type\":\"standalone\"},{\"name\":\"'wturkish'\",\"description\":\"Turkish\",\"type\":\"standalone\"},{\"name\":\"'wvietnamese'\",\"description\":\"Vietnamese\",\"type\":\"standalone\"},{\"name\":\"'wlatin1'\",\"description\":\"Western\",\"type\":\"standalone\"},{\"name\":\"'utf-8'\",\"description\":\"Unicode encoding\",\"type\":\"standalone\"},{\"name\":\"'ms-950'\",\"description\":\"Traditional Chinese\",\"type\":\"standalone\"},{\"name\":\"'ms-936'\",\"description\":\"Simplified Chinese\",\"type\":\"standalone\"},{\"name\":\"'ms-932'\",\"description\":\"Japanese\",\"type\":\"standalone\"},{\"name\":\"'ms-949'\",\"description\":\"Korean\",\"type\":\"standalone\"}]},{\"name\":\"EOFCONNECT\",\"optional\":true,\"description\":\"[Windows Host Option] Is used only in the context of named pipes and is valid only when you are defining the server. This option indicates that if an end-of-file (EOF) character is received from a client, the server should try to connect to the next client.\",\"type\":\"standalone\"},{\"name\":\"FAC=\",\"optional\":true,\"description\":\"[OpenVMS Host Option] Overrides the default file access attributes used for external files. Use this option to indicate the level of access you want to allow for an external file. You can allow READ, WRITE, UPDATE, and DELETE access (as well as no access). By default with external files, files opened for input allow read access, files opened for output allow WRITE access, and files opened for update allow READ and WRITE access. The form of the FAC= option is FAC=access-option-list where access-option-list can be one of the following: DEL specifies DELETE access. GET specifies READ access. PUT specifies WRITE access. UPD specifies UPDATE access. You can combine these values in any order. For example, specifying the following indicates that you want DELETE, READ, and WRITE access:\",\"type\":\"value\"},{\"name\":\"FEEDBACK=\",\"optional\":true,\"aliases\":[\"FDBK=\"],\"description\":\"Defines a numeric variable that SAS sets to the VSAM logical error code. This option is similar to the _FDBK_ automatic variable. When SAS sets the FEEDBACK variable, you must reset it to 0 in order to continue.\",\"type\":\"value\"},{\"name\":\"FILEDATA=\",\"optional\":true,\"description\":\"[UNIX/z/OS Host Option] The FILEDATA= option specifies that the file being processed is expected to contain either binary or text data.\",\"help\":\"FILEDATA=BINARY | TEXT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"BINARY\",\"description\":\"The FILEDATA= option specifies that the file being processed is expected to contain binary data.\",\"type\":\"standalone\"},{\"name\":\"TEXT\",\"description\":\"The FILEDATA= option specifies that the file being processed is expected to contain text data.\",\"type\":\"standalone\"}]},{\"name\":\"FILENAME=\",\"optional\":true,\"description\":\"Defines a character variable, whose name you supply, that SAS sets to the value of the physical name of the file currently open for PUT statement output.\",\"type\":\"value\"},{\"name\":\"FILEVAR=\",\"optional\":true,\"description\":\"Defines a variable whose change in value causes the FILE statement to close the current output file and open a new one the next time the FILE statement executes.\",\"type\":\"value\"},{\"name\":\"FLOWOVER\",\"optional\":true,\"description\":\"Causes data that exceeds the current line length to be written on a new line.\",\"type\":\"standalone\"},{\"name\":\"FOOTNOTES\",\"optional\":true,\"aliases\":[\"FOOTNOTE\"],\"description\":\"Specifies that the currently defined footnotes are printed.\",\"type\":\"standalone\"},{\"name\":\"GSFCC=\",\"optional\":true,\"description\":\"[OpenVMS Host Option] Specifies the file format of graphic stream files (GSF files). When specified in the FILENAME statement, it affects only the GSF files that are created using that fileref.\",\"help\":\"GSFCC=PRINT | CR | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"PRINT\",\"description\":\"Creates a GSF file. It is a VFC format file with carriage control set to null. These files can be used with most utilities with the exception of some file transfer protocols, such as Kermit. This is the default value for this option.\",\"type\":\"standalone\"},{\"name\":\"CR\",\"description\":\"Creates a carriage return carriage control file.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"Creates a file with no carriage control. This format is useful if you plan to download the file to a personal computer.\",\"type\":\"standalone\"}]},{\"name\":\"GTERM\",\"optional\":true,\"description\":\"[device-type] Indicates that the output device type is a graphics device that will receive graphics data.\",\"type\":\"standalone\"},{\"name\":\"HEADER=\",\"optional\":true,\"description\":\"Defines a statement label that identifies a group of SAS statements that you want to execute each time SAS begins a new output page\",\"type\":\"value\"},{\"name\":\"HFS\",\"optional\":true,\"description\":\"[type] For UNIX System Services files.\",\"type\":\"standalone\"},{\"name\":\"HOTLINK\",\"optional\":true,\"description\":\"[Windows Host Option] Instructs SAS to use the DDE HOTLINK.\",\"type\":\"standalone\"},{\"name\":\"IGNOREDOSEOF\",\"optional\":true,\"description\":\"[Windows Host Option] Is used in the context of I/O operations on variable record format files. When this option is specified, any occurrence of ^Z is interpreted as character data and not as an end-of-file marker.\",\"type\":\"standalone\"},{\"name\":\"JFCB=\",\"optional\":true,\"description\":\"Defines a character variable (minimum length 176) that SAS sets to the Job File Control Block (JFCB).\",\"help\":\"JFCB=*variable*\",\"type\":\"value\"},{\"name\":\"KEY=\",\"optional\":true,\"description\":\"[OpenVMS Host Option] Specifies which key SAS uses to read the records in an RMS file with indexed organization. The KEY= option is always used with the KEYVALUE= option.\",\"type\":\"value\"},{\"name\":\"KEYLEN=\",\"optional\":true,\"description\":\"Specifies a numeric SAS variable that, when used with GENKEY, specifies the length of the key that is to be compared to the keys in the file.\",\"help\":\"KEYLEN=*variable*\",\"type\":\"value\"},{\"name\":\"KEYPOS=\",\"optional\":true,\"description\":\"Indicates the numeric variable that SAS sets to the position of the VSAM key field. This option enables you to read keys without knowing the key position in advance. This variable is set to the column number (starting from 1).\",\"help\":\"KEYPOS=*variable*\",\"type\":\"value\"},{\"name\":\"KEYVALUE=\",\"optional\":true,\"description\":\"[OpenVMS Host Option] Specifies the key value with which to begin reading an indexed file.\",\"type\":\"value\"},{\"name\":\"LINE=\",\"optional\":true,\"description\":\"Defines a variable whose value is the current relative line number within the group of lines available to the output pointer.\",\"type\":\"value\"},{\"name\":\"LINESIZE=\",\"optional\":true,\"aliases\":[\"LS=\"],\"description\":\"Sets the maximum number of columns per line for reports and the maximum record length for data files.\",\"type\":\"value\"},{\"name\":\"LINESLEFT=\",\"optional\":true,\"aliases\":[\"LL=\"],\"description\":\"Defines a variable whose value is the number of lines left on the current page.\",\"type\":\"value\"},{\"name\":\"LOG\",\"optional\":true,\"description\":\"Is a reserved fileref that directs the output that is produced by any PUT statements to the SAS log.\",\"type\":\"standalone\"},{\"name\":\"LRECL=\",\"optional\":true,\"description\":\"Specifies the logical record length of the output file.\",\"type\":\"value\"},{\"name\":\"MBC=\",\"optional\":true,\"description\":\"[OpenVMS Host Option] Specifies the size of the I/O buffers that OpenVMS RMS allocates for a particular file. The value can range from 0 to 127 and represents the number of blocks used for each buffer. By default, this option is set to 0 and the default values for the process are used. The MBC= option (multiblock count) is used for both input and output to control the allocation for a particular file. If you want to control the allocation size for all the external files used during the current SAS session, you can use the MBC= option in every FILE, FILENAME, or INFILE statement. You can also use the DCL SET RMS_DEFAULT command to specify a process default, and let the SAS values default to the process's default values.\",\"type\":\"value\"},{\"name\":\"MBF=\",\"optional\":true,\"description\":\"[OpenVMS Host Option] Specifies the number of I/O buffers you want OpenVMS RMS to allocate for a particular file. The value can range from 0 to 127 and represents the number of buffers used. By default, this option is set to a value of 2. If a value of 0 is specified, the default value for the process is used. The MBF= option (multibuffer count) is used for both input and output to control the number of buffers allocated for a particular file. If you want to control the number of buffers allocated for all the external files used during the SAS session, you can use the MBF= option in every FILE, FILENAME, or INFILE statement. The DCL SET RMS_DEFAULT command can be used to specify a process default. Then, you can let the SAS values default to the process's default values.\",\"type\":\"value\"},{\"name\":\"MESSAGE\",\"optional\":true,\"description\":\"Is used only in the context of named pipes. This option indicates the type of pipe. BYTE is the default value.\",\"type\":\"standalone\"},{\"name\":\"MOD\",\"optional\":true,\"description\":\"Writes the output lines after any existing lines in the file.\",\"type\":\"standalone\"},{\"name\":\"MVS\",\"optional\":true,\"description\":\"[type] For z/OS data sets.\",\"type\":\"standalone\"},{\"name\":\"N=\",\"optional\":true,\"description\":\"Specifies the number of lines that you want available to the output pointer in the current iteration of the DATA step.\",\"help\":\"N=&lt;n&gt; | PAGESIZE|PS\",\"type\":\"choice\",\"arguments\":[{\"name\":\"<n>\",\"description\":\"Specifies the number of lines that are available to the output pointer. Replace n with an integer.\",\"type\":\"standalone\"},{\"name\":\"PAGESIZE\",\"description\":\"Specifies that the entire page is available to the output pointer.\",\"help\":\"PAGESIZE|PS\",\"type\":\"choice\"}]},{\"name\":\"NOBLOCK\",\"optional\":true,\"description\":\"Is used only in the context of named pipes. This option indicates whether the client is to wait if no data is currently available. BLOCK is the default value.\",\"type\":\"standalone\"},{\"name\":\"NOBOM\",\"optional\":true,\"aliases\":[\"NOBOMFILE\"],\"description\":\"[UNIX/z/OS Host Option] Specifies that a Byte Order Mark is not included when a UNICODE-encoded file is created.\",\"type\":\"standalone\"},{\"name\":\"NOFOOTNOTES\",\"optional\":true,\"aliases\":[\"NOFOOTNOTE\"],\"description\":\"Specifies that the currently defined footnotes are not printed.\",\"type\":\"standalone\"},{\"name\":\"NOPAD\",\"optional\":true,\"description\":\"Specifies that records written to an external file are not padded with blanks to the length that is specified in the LRECL= option.\",\"type\":\"standalone\"},{\"name\":\"NOPRINT\",\"optional\":true,\"description\":\"Specifies that carriage-control characters are placed in the output lines.\",\"type\":\"standalone\"},{\"name\":\"NOTAB\",\"optional\":true,\"description\":\"[Windows Host Option] Instructs SAS to ignore tab characters between variables.\",\"type\":\"standalone\"},{\"name\":\"NOTITLES\",\"optional\":true,\"aliases\":[\"NOTITLE\"],\"description\":\"Specifies that the current title lines are not printed on the pages of files.\",\"type\":\"standalone\"},{\"name\":\"ODS=\",\"optional\":true,\"description\":\"Specifies to use the Output Delivery System to format the output from a DATA step.\",\"type\":\"value\"},{\"name\":\"OLD\",\"optional\":true,\"description\":\"Replaces the previous contents of the file.\",\"type\":\"standalone\"},{\"name\":\"PAD\",\"optional\":true,\"description\":\"Specifies that records written to an external file are padded with blanks to the length that is specified in the LRECL= option.\",\"type\":\"standalone\"},{\"name\":\"PAGESIZE=\",\"optional\":true,\"aliases\":[\"PS=\"],\"description\":\"Sets the number of lines per page for your reports.\",\"help\":\"PAGESIZE=*value*\",\"type\":\"value\"},{\"name\":\"PASSWD=\",\"optional\":true,\"description\":\"Gives the appropriate password for a VSAM data set that has password protection.\",\"help\":\"PASSWD=*value*\",\"type\":\"value\"},{\"name\":\"PIPE\",\"optional\":true,\"description\":\"[device-type] Specifies an unnamed pipe. Note: Some operating environments do not support pipes.\",\"type\":\"standalone\"},{\"name\":\"PLOTTER\",\"optional\":true,\"description\":\"[device-type] Specifies an unbuffered graphics output device.\",\"type\":\"standalone\"},{\"name\":\"PRINT\",\"optional\":true,\"description\":\"Either a reserved fileref that directs the output that is produced by any PUT statements to the same file as the output that is produced by SAS procedures, or an option that specifies that carriage-control characters are placed in the output lines.\",\"type\":\"standalone\"},{\"name\":\"PRINTER\",\"optional\":true,\"description\":\"[device-type] Specifies a printer or printer spool file.\",\"type\":\"standalone\"},{\"name\":\"RC4STOP\",\"optional\":true,\"description\":\"[VSAM Option] Stops the DATA step from executing if a return code greater than 4 is returned by the operating environment when the VSAM data set is opened.\",\"type\":\"standalone\"},{\"name\":\"RECFM=\",\"optional\":true,\"description\":\"[Windows/UNIX/z/OS Host Option] Specifies the record format of the external file. Under z/OS, the following values can be appended to the RECFM values:\",\"help\":\"RECFM=F | P | S | V|D | N | s370V | S370VB | S370VBS | STREAMLF | FB | VB | U\",\"type\":\"choice\",\"arguments\":[{\"name\":\"F\",\"description\":\"Fixed-record format\",\"type\":\"standalone\"},{\"name\":\"P\",\"description\":\"Print format.\",\"type\":\"standalone\"},{\"name\":\"S\",\"description\":\"Stream-record format.\",\"type\":\"standalone\"},{\"name\":\"V\",\"description\":\"Variable-record format (the default)\",\"help\":\"V|D\",\"type\":\"choice\"},{\"name\":\"N\",\"description\":\"Indicates binary format and causes the file to be treated as a byte stream. If LRECL is not specified, by default SAS reads 256 bytes at a time from the file.\",\"type\":\"standalone\"},{\"name\":\"s370V\",\"description\":\"Indicates the variable S370 record format (V).\",\"type\":\"standalone\"},{\"name\":\"S370VB\",\"description\":\"Indicates the variable block S370 record format (VB).\",\"type\":\"standalone\"},{\"name\":\"S370VBS\",\"description\":\"Indicates the variable block with spanned records S370 record format (VBS).\",\"type\":\"standalone\"},{\"name\":\"STREAMLF\",\"description\":\"[For OpenVMS] Specifies StreamLF record format. Records are delimited by LF.\",\"type\":\"standalone\"},{\"name\":\"FB\",\"description\":\"Specifies fixed-length records, blocked.\",\"type\":\"standalone\"},{\"name\":\"VB\",\"description\":\"Specifies variable-length records, blocked.\",\"type\":\"standalone\"},{\"name\":\"U\",\"description\":\"Specifies undefined-length records, unblocked.\",\"type\":\"standalone\"}]},{\"name\":\"RECORDS=\",\"optional\":true,\"description\":\"Defines a numeric variable that SAS sets to the number of logical records in a VSAM data set that has been opened for input.\",\"help\":\"RECORDS=*variable*\",\"type\":\"value\"},{\"name\":\"RECORG=\",\"optional\":true,\"description\":\"[z/OS Host Option] Specifies the organization of records in a new VSAM data set. Use this option only if SMS is active.\",\"help\":\"RECORG=KS | ES | RR | LS\",\"type\":\"choice\",\"arguments\":[{\"name\":\"KS\",\"description\":\"Specifies a VSAM key-sequenced data set.\",\"type\":\"standalone\"},{\"name\":\"ES\",\"description\":\"Specifies a VSAM entry-sequenced data set.\",\"type\":\"standalone\"},{\"name\":\"RR\",\"description\":\"Specifies a VSAM relative-record data set.\",\"type\":\"standalone\"},{\"name\":\"LS\",\"description\":\"Specifies a VSAM linear-space data set.\",\"type\":\"standalone\"}]},{\"name\":\"RESET\",\"optional\":true,\"description\":\"[VSAM Option] Indicates that the VSAM file is reset to empty (no records) when it is opened. This option applies only to loading a VSAM data set that has been marked REUSE. You cannot use this option if the data set contains an alternate index.\",\"type\":\"standalone\"},{\"name\":\"RETRY=\",\"optional\":true,\"description\":\"[Windows Host Option]\",\"help\":\"RETRY=*seconds*\",\"type\":\"value\"},{\"name\":\"RRN=\",\"optional\":true,\"description\":\"Defines a numeric variable that you set to the relative record number (RRN) of the record that you want to read or write. This option indicates that keyed direct access is being used; it is appropriate for RRDS only.\",\"help\":\"RRN=*variable*\",\"type\":\"value\"},{\"name\":\"SERVER\",\"optional\":true,\"description\":\"[Windows Host Option] Is used only in the context of named pipes. This option specifies the mode of a named pipe. The default value is SERVER.\",\"type\":\"standalone\"},{\"name\":\"SHR=\",\"optional\":true,\"description\":\"[OpenVMS Host Option] Overrides the default file-sharing attributes used for external files. With this option, you can indicate the access level you want to give other users. You can allow READ, WRITE, UPDATE, and DELETE access (as well as no access). By default with external files, files opened for input allow shared read access, and files opened for output or UPDATE do not allow shared access. However, you can allow other users to have READ and WRITE access to a file that you are opening for input only. To accomplish this, use the SHR= option. The syntax of the SHR= option is SHR=share-option-list where share-option-list can be one of the following: DEL specifies DELETE access. GET specifies shared READ access. NONE specifies no shared access. PUT specifies shared WRITE access. UPD specifies UPDATE access. You can combine these values in any order. For example, specifying the following indicates that you want shared DELETE, READ, and WRITE access:\",\"type\":\"value\"},{\"name\":\"STOPOVER\",\"optional\":true,\"description\":\"Stops processing the DATA step immediately if a PUT statement attempts to write a data item that exceeds the current line length.\",\"type\":\"standalone\"},{\"name\":\"TAPE\",\"optional\":true,\"description\":\"[device-type] Specifies a tape drive.\",\"type\":\"standalone\"},{\"name\":\"TEMP\",\"optional\":true,\"description\":\"[device-type] Creates a temporary file that exists only as long as the filename is assigned.\",\"type\":\"standalone\"},{\"name\":\"TERMINAL\",\"optional\":true,\"description\":\"[device-type] Specifies the user's terminal.\",\"type\":\"standalone\"},{\"name\":\"TERMSTR=\",\"optional\":true,\"description\":\"[Windows/UNIX Host Option] Specifies the end-of-line character for the file. Use this option to share files between the UNIX and Windows operating environments.\",\"help\":\"TERMSTR=CR | CRLF | LF | NULL | NONE | NL | LFCR | CRNL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"CR\",\"description\":\"Carriage return (CR).\",\"type\":\"standalone\"},{\"name\":\"CRLF\",\"description\":\"Carriage return (CR) followed by line feed (LF).\",\"type\":\"standalone\"},{\"name\":\"LF\",\"description\":\"Line feed only (the default).\",\"type\":\"standalone\"},{\"name\":\"NULL\",\"description\":\"NULL character (0x00).\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"Record terminators are not used. This parameter provides the same function as FILEDATA=BINARY.\",\"type\":\"standalone\"},{\"name\":\"NL\",\"description\":\"The newline character (x'15') is used as the record terminator. This parameter provides the same function as FILEDATA=TEXT.\",\"type\":\"standalone\"},{\"name\":\"LFCR\",\"description\":\"The sequence LF followed by CR is used as the record terminator.\",\"type\":\"standalone\"},{\"name\":\"CRNL\",\"description\":\"The sequence CR followed by NL is used as the record terminator.\",\"type\":\"standalone\"}]},{\"name\":\"TITLES\",\"optional\":true,\"aliases\":[\"TITLE\"],\"description\":\"Specifies that the current title lines are printed on the pages of files.\",\"type\":\"standalone\"},{\"name\":\"UCBNAME=\",\"optional\":true,\"description\":\"Defines a character variable (minimum length 3) that SAS sets to the unit name (device address), which is derived from information in the unit control block (UCB).\",\"help\":\"UCBNAME=*variable*\",\"type\":\"value\"},{\"name\":\"UNBUF\",\"optional\":true,\"description\":\"[UNIX Host Option] Tells SAS not to perform buffered writes to the file on any subsequent FILE statement. This option applies especially when you are reading from or writing to a data collection device. As explained in SAS Language Reference: Dictionary, it also prevents buffered reads on INFILE statements.\",\"type\":\"standalone\"},{\"name\":\"UPRINTER\",\"optional\":true,\"description\":\"[device-type] Specifies a Universal Printing printer definition name.\",\"type\":\"standalone\"},{\"name\":\"VOLUME=\",\"optional\":true,\"aliases\":[\"VOLUMES=\"],\"description\":\"Defines a character variable (with a minimum length of six characters) that SAS sets to the tape VOLSER or the disk volume serial number. In the case of a multivolume file, the VOLUME= variable contains the concatenated volume serial numbers up to the length of the variable or the first 30 volumes, whichever is less. The value in the VOLUME= variable contains the volume serial number of the first data set in the concatenation when the file is opened. This serial number changes if you open a subsequent data set in the concatenation.\",\"type\":\"value\"},{\"name\":\"VSAM\",\"optional\":true,\"description\":\"[type] For VSAM files.\",\"type\":\"standalone\"},{\"name\":\"_FILE_=\",\"optional\":true,\"description\":\"Names a character variable that references the current output buffer of this FILE statement.\",\"help\":\"_FILE_=*variable*\",\"type\":\"value\"}]},{\"name\":\"GO TO\",\"aliases\":[\"GOTO\"],\"description\":\"Jumps to a new statement.\",\"help\":\"GO TO label | GOTO label\"},{\"name\":\"IF\",\"description\":\"\",\"help\":\"IF &lt;DO&gt;&lt;THEN&gt;&lt;WHEN&gt; ...\",\"arguments\":[{\"name\":\"AND\",\"optional\":true,\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"CALL\",\"optional\":true,\"description\":\"Invokes a SAS CALL routine.\",\"type\":\"standalone\"},{\"name\":\"DO\",\"optional\":true,\"description\":\"Action statement in an IF-THEN construct.\",\"type\":\"standalone\"},{\"name\":\"GO\",\"optional\":true,\"aliases\":[\"GOTO\"],\"description\":\"Jumps to a new statement.\",\"help\":\"GO TO\",\"type\":\"standalone\"},{\"name\":\"NOT\",\"optional\":true,\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"OR\",\"optional\":true,\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"OUTPUT\",\"optional\":true,\"description\":\"Action statement in an IF-THEN construct.\",\"type\":\"standalone\"},{\"name\":\"PUT\",\"optional\":true,\"description\":\"Action statement in an IF-THEN construct. Writes lines to the SAS log, to the SAS output window, or to an external location that is specified in the most recent FILE statement.\",\"type\":\"standalone\"},{\"name\":\"RETURN\",\"optional\":true,\"description\":\"Action statement in an IF-THEN construct. Stops executing statements at the current point in the DATA step and returns to a predetermined point in the step.\",\"type\":\"standalone\"},{\"name\":\"SET\",\"optional\":true,\"description\":\"Reads an observation from one or more SAS data sets.\",\"type\":\"standalone\"},{\"name\":\"STOP\",\"optional\":true,\"description\":\"Action statement in an IF-THEN construct. Stops execution of the current DATA step.\",\"type\":\"standalone\"},{\"name\":\"THEN\",\"optional\":true,\"description\":\"If the conditions that are specified in the IF clause are met, the IF-THEN statement executes a SAS statement for observations that are read from a SAS data set, for records in an external file, or for computed values.\",\"type\":\"standalone\"},{\"name\":\"WHEN\",\"optional\":true,\"description\":\"WHEN statement in an IF-THEN-WHEN construct.\",\"type\":\"standalone\"}]},{\"name\":\"INFILE\",\"description\":\"file-specification identifies a file in one of the following forms: fileref specifies the assigned fileref or the allocated ddname of the file. A fileref must conform to the rules for ddnames. That is, it can consist of up to eight letters, numbers, or national characters ($, @, and #) and underscores (_). The first character must be either a letter or a national character. fileref(member) specifies a member of a partitioned data set, where the PDS or PDSE is specified by the assigned fileref or allocated ddname. If you specify a fileref that is not allocated, then SAS attempts to construct a data set name with the following three qualifiers: o the value of the SYSPREF= option (usually the user ID) o the specified fileref o DATA If a file is found that has this constructed data set name, then SAS opens it and reads it. The value of the FILEEXT= system option can affect the way SAS interprets PDS and PDSE member names. 'physical-filename' specifies a physical file, which can be a member of a partitioned data set (PDS), an extended partitioned data set (PDSE), or a UNIX System Services file, using the following syntax: o a fully qualified data set name. For example: 'myid.raw.datax' o a fully qualified data set name with a member in parentheses. For example: 'sas.raw.data(mem1)' o a partially qualified data set name with a period preceding it. For example: '.raw.data' o a partially qualified data set name with a period preceding it and a member name in parentheses. For example: '.raw.data(mem1)' o for PDS members, a fully or partially qualified data set name with a wildcard name in parentheses. For example: '.raw.data(mem*)', '.raw.data(*mem1)', '.raw.data(*)' o a UNIX System Services file. For example: '/u/userid/raw' or 'HFS:raw' or '/u/userid/data/*'\",\"help\":\"INFILE &lt;DATALINES4&gt;&lt;DATALINES&gt;&lt;DISK&gt; ...\",\"arguments\":[{\"name\":\"BACKWARD\",\"optional\":true,\"aliases\":[\"BKWD\"],\"description\":\"[VSAM Option] Causes SAS to read the VSAM data set backwards (INFILE only)\",\"type\":\"standalone\"},{\"name\":\"BLKSIZE=\",\"optional\":true,\"aliases\":[\"BLK=\"],\"description\":\"[Windows/UNIX Host Option] Specifies the number of bytes that are physically read or written in an I/O operation. The default is 8K. The maximum is 1M (Windows) or 1G-1(UNIX).\",\"help\":\"BLKSIZE=*block-size*\",\"type\":\"value\"},{\"name\":\"BLOCK\",\"optional\":true,\"description\":\"Is used only in the context of named pipes. This option indicates whether the client is to wait if no data is currently available. BLOCK is the default value.\",\"type\":\"standalone\"},{\"name\":\"BUFND=\",\"optional\":true,\"description\":\"Indicates how many data buffers to use for the VSAM data set.\",\"help\":\"BUFND=*value*\",\"type\":\"value\"},{\"name\":\"BUFNI=\",\"optional\":true,\"description\":\"Indicates how many index buffers to use for the VSAM data set.\",\"help\":\"BUFNI=*value*\",\"type\":\"value\"},{\"name\":\"BYTE\",\"optional\":true,\"description\":\"Is used only in the context of named pipes. This option indicates the type of pipe. BYTE is the default value.\",\"type\":\"standalone\"},{\"name\":\"CCHHR=\",\"optional\":true,\"description\":\"specifies a character variable to which the physical address (cylinder head record) of a record is returned. This applies to files on CKD disks only.\",\"help\":\"CCHHR=*variable*\",\"type\":\"value\"},{\"name\":\"CLIENT\",\"optional\":true,\"description\":\"[Windows Host Option] Is used only in the context of named pipes. This option specifies the mode of a named pipe. The default value is SERVER.\",\"type\":\"standalone\"},{\"name\":\"CLOSE=\",\"optional\":true,\"description\":\"[z/OS Host Option] Indicates how a tape volume is positioned at the end of the DATA step.\",\"help\":\"CLOSE=REREAD | LEAVE | REWIND | FREE | DISP\",\"type\":\"choice\",\"arguments\":[{\"name\":\"REREAD\",\"description\":\"Positions the tape at the logical beginning of the data set.\",\"type\":\"standalone\"},{\"name\":\"LEAVE\",\"description\":\"Positions the tape at the logical end of the data set.\",\"type\":\"standalone\"},{\"name\":\"REWIND\",\"description\":\"Rewinds the tape to the physical beginning of the volume.\",\"type\":\"standalone\"},{\"name\":\"FREE\",\"description\":\"Dynamically deallocates the tape volume.\",\"type\":\"standalone\"},{\"name\":\"DISP\",\"description\":\"Is implied by the control language.\",\"type\":\"standalone\"}]},{\"name\":\"COLUMN=\",\"optional\":true,\"aliases\":[\"COL=\"],\"description\":\"Names a variable that SAS uses to assign the current column location of the input pointer. Like automatic variables, the COLUMN= variable is not written to the data set.\",\"type\":\"value\"},{\"name\":\"CONTROLINTERVAL\",\"optional\":true,\"aliases\":[\"CTLINTV\",\"CNV\"],\"description\":\"[VSAM Option] Indicates that you want to read physical VSAM control interval records rather than logical records. This option is typically used for diagnostic purposes (INFILE only).\",\"type\":\"standalone\"},{\"name\":\"CSRC\",\"optional\":true,\"description\":\"[OpenVMS Host Option] Specifies that you want to use the CSRCESRV services (available with z/OS) to compress data on output. For example: data _null_; file myfile csrc; put ... ; run;\",\"type\":\"standalone\"},{\"name\":\"CVAF\",\"optional\":true,\"description\":\"[VTOC Option under z/OS] Tells SAS to use the Common VTOC Access Facility (CVAF) of the IBM program product Data Facility/Device Support (DF/DS) for indexed VTOCs. If the VTOC is not indexed, or if your installation does not have CVAF, this option is ignored.\",\"type\":\"standalone\"},{\"name\":\"DATALINES4\",\"optional\":true,\"aliases\":[\"CARDS4\"],\"description\":\"Specifies that the input data immediately follows the DATALINES4|CARDS4 statement in the DATA step. Using DATALINES4|CARDS4 allows you to use the INFILE statement options to control how the INPUT statement reads instream data lines.\",\"type\":\"standalone\"},{\"name\":\"DATALINES\",\"optional\":true,\"aliases\":[\"CARDS\"],\"description\":\"Specifies that the input data immediately follows the DATALINES|CARDS statement in the DATA step. Using DATALINES|CARDS allows you to use the INFILE statement options to control how the INPUT statement reads instream data lines.\",\"type\":\"standalone\"},{\"name\":\"DCB=\",\"optional\":true,\"description\":\"specifies the fileref of an external file that was referenced in an earlier FILE or INFILE statement in the same DATA step. SAS uses that file's RECFM=, LRECL=, and BLKSIZE= information for the current file.\",\"help\":\"DCB=*fileref*\",\"type\":\"value\"},{\"name\":\"DELIMITER=\",\"optional\":true,\"aliases\":[\"DLM=\"],\"description\":\"Specifies an alternate delimiter (other than a blank) to be used for LIST input.\",\"type\":\"value\"},{\"name\":\"DISK\",\"optional\":true,\"description\":\"[device-type] Specifies that the device is a disk drive.\",\"type\":\"standalone\"},{\"name\":\"DLI\",\"optional\":true,\"description\":\"[type] For IMS-DL/I databases.\",\"type\":\"standalone\"},{\"name\":\"DLMSOPT=\",\"optional\":true,\"description\":\"Specifies whether case-insensitive comparisons will be done, or trailing blanks of the string delimiter will be removed.\",\"help\":\"DLMSOPT='I' | 'T'\",\"type\":\"choice\",\"arguments\":[{\"name\":\"'I'\",\"description\":\"Specifies that case-insensitive comparisons will be done.\",\"type\":\"standalone\"},{\"name\":\"'T'\",\"description\":\"Specifies that trailing blanks of the string delimiter will be removed.\",\"type\":\"standalone\"}]},{\"name\":\"DLMSTR=\",\"optional\":true,\"description\":\"Specifies a character string as an alternate delimiter (other than a blank) to be used for LIST input\",\"type\":\"value\"},{\"name\":\"DSD\",\"optional\":true,\"description\":\"Specifies that when data values are enclosed in quotation marks, delimiters within the value are treated as character data. The DSD option changes how SAS treats delimiters when you use LIST input and sets the default delimiter to a comma. When you specify DSD, SAS treats two consecutive delimiters as a missing value and removes quotation marks from character values.\",\"type\":\"standalone\"},{\"name\":\"DUMMY\",\"optional\":true,\"description\":\"[device-type] Specifies that the output to the file is discarded. Tip: Specifying DUMMY can be useful for testing.\",\"type\":\"standalone\"},{\"name\":\"ENCODING=\",\"optional\":true,\"description\":\"Specifies the encoding to use when reading from the external file.\",\"help\":\"ENCODING='warabic' | 'wbaltic' | 'wlatin2' | 'wcyrillic' | 'wgreek' | 'whebrew' | 'wturkish' | 'wvietnamese' | 'wlatin1' | 'utf-8' | 'ms-950' | 'ms-936' | 'ms-932' | 'ms-949'\",\"type\":\"choice\",\"arguments\":[{\"name\":\"'warabic'\",\"description\":\"Arabic\",\"type\":\"standalone\"},{\"name\":\"'wbaltic'\",\"description\":\"Baltic\",\"type\":\"standalone\"},{\"name\":\"'wlatin2'\",\"description\":\"Central Europe\",\"type\":\"standalone\"},{\"name\":\"'wcyrillic'\",\"description\":\"Cyrillic\",\"type\":\"standalone\"},{\"name\":\"'wgreek'\",\"description\":\"Greek\",\"type\":\"standalone\"},{\"name\":\"'whebrew'\",\"description\":\"Hebrew\",\"type\":\"standalone\"},{\"name\":\"'wturkish'\",\"description\":\"Turkish\",\"type\":\"standalone\"},{\"name\":\"'wvietnamese'\",\"description\":\"Vietnamese\",\"type\":\"standalone\"},{\"name\":\"'wlatin1'\",\"description\":\"Western\",\"type\":\"standalone\"},{\"name\":\"'utf-8'\",\"description\":\"Unicode encoding\",\"type\":\"standalone\"},{\"name\":\"'ms-950'\",\"description\":\"Traditional Chinese\",\"type\":\"standalone\"},{\"name\":\"'ms-936'\",\"description\":\"Simplified Chinese\",\"type\":\"standalone\"},{\"name\":\"'ms-932'\",\"description\":\"Japanese\",\"type\":\"standalone\"},{\"name\":\"'ms-949'\",\"description\":\"Korean\",\"type\":\"standalone\"}]},{\"name\":\"END=\",\"optional\":true,\"description\":\"Specifies a variable that SAS sets to 1 when the current input data record is the last in the input file. Until SAS processes the last data record, the END= variable is set to 0. Like automatic variables, this variable is not written to the data set. Restriction: You cannot use the END= option with UNBUFFERED option, DATALINES or DATALINES4 statement, and an INPUT statement that reads multiple input data records.\",\"type\":\"value\"},{\"name\":\"EOF=\",\"optional\":true,\"description\":\"Specifies a statement label that is the object of an implicit GO TO when the INFILE statement reaches end of file.\",\"type\":\"value\"},{\"name\":\"EOFCONNECT\",\"optional\":true,\"description\":\"[Windows Host Option] Is used only in the context of named pipes and is valid only when you are defining the server. This option indicates that if an end-of-file (EOF) character is received from a client, the server should try to connect to the next client.\",\"type\":\"standalone\"},{\"name\":\"EOV=\",\"optional\":true,\"description\":\"Specifies a variable that SAS sets to 1 when the first record in a file in a series of concatenated files is read.\",\"type\":\"value\"},{\"name\":\"ERASE=\",\"optional\":true,\"description\":\"Defines a numeric SAS variable that you must set to 1 when you want to erase a VSAM record (INFILE only).\",\"help\":\"ERASE=*variable*\",\"type\":\"value\"},{\"name\":\"EXPANDTABS\",\"optional\":true,\"description\":\"Specifies to expand tab characters to the standard tab setting, which is set at 8-column intervals that start at column 9.\",\"type\":\"standalone\"},{\"name\":\"FAC=\",\"optional\":true,\"description\":\"[OpenVMS Host Option] Overrides the default file access attributes used for external files. Use this option to indicate the level of access you want to allow for an external file. You can allow READ, WRITE, UPDATE, and DELETE access (as well as no access). By default with external files, files opened for input allow read access, files opened for output allow WRITE access, and files opened for update allow READ and WRITE access. The form of the FAC= option is FAC=access-option-list where access-option-list can be one of the following: DEL specifies DELETE access. GET specifies READ access. PUT specifies WRITE access. UPD specifies UPDATE access. You can combine these values in any order. For example, specifying the following indicates that you want DELETE, READ, and WRITE access:\",\"type\":\"value\"},{\"name\":\"FEEDBACK=\",\"optional\":true,\"aliases\":[\"FDBK=\"],\"description\":\"Defines a numeric variable that SAS sets to the VSAM logical error code. This option is similar to the _FDBK_ automatic variable. When SAS sets the FEEDBACK variable, you must reset it to 0 in order to continue.\",\"type\":\"value\"},{\"name\":\"FILEDATA=\",\"optional\":true,\"description\":\"[UNIX/z/OS Host Option] The FILEDATA= option specifies that the file being processed is expected to contain either binary or text data.\",\"help\":\"FILEDATA=BINARY | TEXT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"BINARY\",\"description\":\"The FILEDATA= option specifies that the file being processed is expected to contain binary data.\",\"type\":\"standalone\"},{\"name\":\"TEXT\",\"description\":\"The FILEDATA= option specifies that the file being processed is expected to contain text data.\",\"type\":\"standalone\"}]},{\"name\":\"FILENAME=\",\"optional\":true,\"description\":\"Specifies a variable that SAS sets to the physical StatementOptionName of the currently opened input file. Like automatic variables, the FILENAME= variable is not written to the data set.\",\"type\":\"value\"},{\"name\":\"FILEVAR=\",\"optional\":true,\"description\":\"Specifies a variable whose change in value causes the INFILE statement to close the current input file and open a new one.\",\"type\":\"value\"},{\"name\":\"FIRSTOBS=\",\"optional\":true,\"description\":\"Specifies a record number that SAS uses to begin reading input data records in the input file.\",\"type\":\"value\"},{\"name\":\"FLOWOVER\",\"optional\":true,\"description\":\"Causes an INPUT statement to continue to read the next input data record if it does not find values in the current input line for all the variables in the statement.\",\"type\":\"standalone\"},{\"name\":\"GENKEY\",\"optional\":true,\"description\":\"[VSAM Option] Causes SAS to use the KEY= variable as the leading portion of a record's key. VSAM retrieves the first record whose key matches the generic key (INFILE only).\",\"type\":\"standalone\"},{\"name\":\"GTERM\",\"optional\":true,\"description\":\"[device-type] Indicates that the output device type is a graphics device that will receive graphics data.\",\"type\":\"standalone\"},{\"name\":\"HFS\",\"optional\":true,\"description\":\"[type] For UNIX System Services files.\",\"type\":\"standalone\"},{\"name\":\"HOTLINK\",\"optional\":true,\"description\":\"[Windows Host Option] Instructs SAS to use the DDE HOTLINK.\",\"type\":\"standalone\"},{\"name\":\"IDMS\",\"optional\":true,\"description\":\"[type] For CA-IDMS files.\",\"type\":\"standalone\"},{\"name\":\"IGNOREDOSEOF\",\"optional\":true,\"description\":\"[Windows Host Option] Is used in the context of I/O operations on variable record format files. When this option is specified, any occurrence of ^Z is interpreted as character data and not as an end-of-file marker.\",\"type\":\"standalone\"},{\"name\":\"ISAM\",\"optional\":true,\"description\":\"[type] For ISAM files.\",\"type\":\"standalone\"},{\"name\":\"KEY=\",\"optional\":true,\"description\":\"[OpenVMS Host Option] Specifies which key SAS uses to read the records in an RMS file with indexed organization. The KEY= option is always used with the KEYVALUE= option.\",\"type\":\"value\"},{\"name\":\"KEYLEN=\",\"optional\":true,\"description\":\"Specifies a numeric SAS variable that, when used with GENKEY, specifies the length of the key that is to be compared to the keys in the file.\",\"help\":\"KEYLEN=*variable*\",\"type\":\"value\"},{\"name\":\"KEYPOS=\",\"optional\":true,\"description\":\"Indicates the numeric variable that SAS sets to the position of the VSAM key field. This option enables you to read keys without knowing the key position in advance. This variable is set to the column number (starting from 1).\",\"help\":\"KEYPOS=*variable*\",\"type\":\"value\"},{\"name\":\"KEYVALUE=\",\"optional\":true,\"description\":\"[OpenVMS Host Option] Specifies the key value with which to begin reading an indexed file.\",\"type\":\"value\"},{\"name\":\"LENGTH=\",\"optional\":true,\"description\":\"Specifies a variable that SAS sets to the length of the current input line.\",\"type\":\"value\"},{\"name\":\"LINE=\",\"optional\":true,\"description\":\"Specifies a variable that SAS sets to the line location of the input pointer in the input buffer. Like automatic variables, the LINE= variable is not written to the data set.\",\"type\":\"value\"},{\"name\":\"LINESIZE=\",\"optional\":true,\"aliases\":[\"LS=\"],\"description\":\"Specifies the record length that is available to the INPUT statement.\",\"type\":\"value\"},{\"name\":\"LRECL=\",\"optional\":true,\"description\":\"Specifies the logical record length.\",\"type\":\"value\"},{\"name\":\"MBC=\",\"optional\":true,\"description\":\"[OpenVMS Host Option] Specifies the size of the I/O buffers that OpenVMS RMS allocates for a particular file. The value can range from 0 to 127 and represents the number of blocks used for each buffer. By default, this option is set to 0 and the default values for the process are used. The MBC= option (multiblock count) is used for both input and output to control the allocation for a particular file. If you want to control the allocation size for all the external files used during the current SAS session, you can use the MBC= option in every FILE, FILENAME, or INFILE statement. You can also use the DCL SET RMS_DEFAULT command to specify a process default, and let the SAS values default to the process's default values.\",\"type\":\"value\"},{\"name\":\"MBF=\",\"optional\":true,\"description\":\"[OpenVMS Host Option] Specifies the number of I/O buffers you want OpenVMS RMS to allocate for a particular file. The value can range from 0 to 127 and represents the number of buffers used. By default, this option is set to a value of 2. If a value of 0 is specified, the default value for the process is used. The MBF= option (multibuffer count) is used for both input and output to control the number of buffers allocated for a particular file. If you want to control the number of buffers allocated for all the external files used during the SAS session, you can use the MBF= option in every FILE, FILENAME, or INFILE statement. The DCL SET RMS_DEFAULT command can be used to specify a process default. Then, you can let the SAS values default to the process's default values.\",\"type\":\"value\"},{\"name\":\"MESSAGE\",\"optional\":true,\"description\":\"Is used only in the context of named pipes. This option indicates the type of pipe. BYTE is the default value.\",\"type\":\"standalone\"},{\"name\":\"MISSOVER\",\"optional\":true,\"description\":\"Prevents an INPUT statement from reading a new input data record if it does not find values in the current input line for all the variables in the statement.\",\"type\":\"standalone\"},{\"name\":\"MOD\",\"optional\":true,\"description\":\"Indicates that data written to the file should be appended to the file\",\"type\":\"standalone\"},{\"name\":\"MVS\",\"optional\":true,\"description\":\"[type] For z/OS data sets.\",\"type\":\"standalone\"},{\"name\":\"N=\",\"optional\":true,\"description\":\"Specifies the number of lines that are available to the input pointer at one time.\",\"type\":\"value\"},{\"name\":\"NBYTE=\",\"optional\":true,\"description\":\"Specifies the StatementOptionName of a variable that contains the number of bytes to read from a file when you are reading data in stream record format (RECFM=S in the FILENAME statement).\",\"type\":\"value\"},{\"name\":\"NEW\",\"optional\":true,\"description\":\"Indicates that a new file is to be opened for output. If the file already exists, then it is deleted and re-created.\",\"type\":\"standalone\"},{\"name\":\"NOBLOCK\",\"optional\":true,\"description\":\"Is used only in the context of named pipes. This option indicates whether the client is to wait if no data is currently available. BLOCK is the default value.\",\"type\":\"standalone\"},{\"name\":\"NOEXPANDTABS\",\"optional\":true,\"description\":\"Specifies not to expand tab characters to the standard tab setting, which is set at 8-column intervals that start at column 9.\",\"type\":\"standalone\"},{\"name\":\"NOPAD\",\"optional\":true,\"description\":\"SAS does not pad the records that are read from an external file with blanks to the length that is specified in the LRECL= option.\",\"type\":\"standalone\"},{\"name\":\"NOPRINT\",\"optional\":true,\"description\":\"Specifies that the input file does not contain carriage-control characters.\",\"type\":\"standalone\"},{\"name\":\"NOTAB\",\"optional\":true,\"description\":\"[Windows Host Option] Instructs SAS to ignore tab characters between variables.\",\"type\":\"standalone\"},{\"name\":\"NRLS\",\"optional\":true,\"description\":\"[VSAM Option] Specifies not to use record-level sharing (RLS) to open an RLS-eligible data set (INFILE only).\",\"type\":\"standalone\"},{\"name\":\"OBS=\",\"optional\":true,\"description\":\"Use OBS= with FIRSTOBS= to read a range of records from the middle of a file.\",\"help\":\"OBS=&lt;record-number&gt; | MAX\",\"type\":\"choice\",\"arguments\":[{\"name\":\"<record-number>\",\"description\":\"Specifies the record number of the last record to read in an input file that is read sequentially.\",\"type\":\"standalone\"},{\"name\":\"MAX\",\"description\":\"Specifies the maximum number of observations to process, which will be at least as large as the largest signed, 32-bit integer.\",\"type\":\"standalone\"}]},{\"name\":\"OLD\",\"optional\":true,\"description\":\"Indicates that a new file is to be opened for output. If the file already exists, then the previous contents of the file are replaced.\",\"type\":\"standalone\"},{\"name\":\"PAD\",\"optional\":true,\"description\":\"SAS pads the records that are read from an external file with blanks to the length that is specified in the LRECL= option.\",\"type\":\"standalone\"},{\"name\":\"PASSWD=\",\"optional\":true,\"description\":\"Gives the appropriate password for a VSAM data set that has password protection.\",\"help\":\"PASSWD=*value*\",\"type\":\"value\"},{\"name\":\"PIPE\",\"optional\":true,\"description\":\"[device-type] Specifies an unnamed pipe. Note: Some operating environments do not support pipes.\",\"type\":\"standalone\"},{\"name\":\"PLOTTER\",\"optional\":true,\"description\":\"[device-type] Specifies an unbuffered graphics output device.\",\"type\":\"standalone\"},{\"name\":\"PRINT\",\"optional\":true,\"description\":\"Specifies that the input file contains carriage-control characters.\",\"type\":\"standalone\"},{\"name\":\"PRINTER\",\"optional\":true,\"description\":\"[device-type] Specifies a printer or printer spool file.\",\"type\":\"standalone\"},{\"name\":\"RBA=\",\"optional\":true,\"description\":\"Specifies a numeric variable that you set to the relative byte address (RBA) of the data record that you want to read. The RBA= option indicates that addressed direct access is being used; it is appropriate for KSDS and ESDS. If you specify the CONTROLINTERVAL option, you can use the RBA= option to access control records in an RRDS (INFILE only).\",\"help\":\"RBA=*variable*\",\"type\":\"value\"},{\"name\":\"RC4STOP\",\"optional\":true,\"description\":\"[VSAM Option] Stops the DATA step from executing if a return code greater than 4 is returned by the operating environment when the VSAM data set is opened.\",\"type\":\"standalone\"},{\"name\":\"RECFM=\",\"optional\":true,\"description\":\"[Windows/UNIX Host Option] Specifies the record format of the external file.\",\"help\":\"RECFM=F | P | S | V|D | N | s370V | S370VB | S370VBS | STREAMLF\",\"type\":\"choice\",\"arguments\":[{\"name\":\"F\",\"description\":\"Fixed-record format\",\"type\":\"standalone\"},{\"name\":\"P\",\"description\":\"Print format.\",\"type\":\"standalone\"},{\"name\":\"S\",\"description\":\"Stream-record format.\",\"type\":\"standalone\"},{\"name\":\"V\",\"description\":\"Variable-record format (the default)\",\"help\":\"V|D\",\"type\":\"choice\"},{\"name\":\"N\",\"description\":\"Indicates binary format and causes the file to be treated as a byte stream. If LRECL is not specified, by default SAS reads 256 bytes at a time from the file.\",\"type\":\"standalone\"},{\"name\":\"s370V\",\"description\":\"Indicates the variable S370 record format (V).\",\"type\":\"standalone\"},{\"name\":\"S370VB\",\"description\":\"Indicates the variable block S370 record format (VB).\",\"type\":\"standalone\"},{\"name\":\"S370VBS\",\"description\":\"Indicates the variable block with spanned records S370 record format (VBS).\",\"type\":\"standalone\"},{\"name\":\"STREAMLF\",\"description\":\"[For OpenVMS] Specifies StreamLF record format. Records are delimited by LF.\",\"type\":\"standalone\"}]},{\"name\":\"RECORDS=\",\"optional\":true,\"description\":\"Defines a numeric variable that SAS sets to the number of logical records in a VSAM data set that has been opened for input.\",\"help\":\"RECORDS=*variable*\",\"type\":\"value\"},{\"name\":\"RECORG=\",\"optional\":true,\"description\":\"[z/OS Host Option] Specifies the organization of records in a new VSAM data set. Use this option only if SMS is active.\",\"help\":\"RECORG=KS | ES | RR | LS\",\"type\":\"choice\",\"arguments\":[{\"name\":\"KS\",\"description\":\"Specifies a VSAM key-sequenced data set.\",\"type\":\"standalone\"},{\"name\":\"ES\",\"description\":\"Specifies a VSAM entry-sequenced data set.\",\"type\":\"standalone\"},{\"name\":\"RR\",\"description\":\"Specifies a VSAM relative-record data set.\",\"type\":\"standalone\"},{\"name\":\"LS\",\"description\":\"Specifies a VSAM linear-space data set.\",\"type\":\"standalone\"}]},{\"name\":\"RESET\",\"optional\":true,\"description\":\"[VSAM Option] Indicates that the VSAM file is reset to empty (no records) when it is opened. This option applies only to loading a VSAM data set that has been marked REUSE. You cannot use this option if the data set contains an alternate index.\",\"type\":\"standalone\"},{\"name\":\"RETRY=\",\"optional\":true,\"description\":\"[Windows Host Option]\",\"help\":\"RETRY=*seconds*\",\"type\":\"value\"},{\"name\":\"RRN=\",\"optional\":true,\"description\":\"Defines a numeric variable that you set to the relative record number (RRN) of the record that you want to read or write. This option indicates that keyed direct access is being used; it is appropriate for RRDS only.\",\"help\":\"RRN=*variable*\",\"type\":\"value\"},{\"name\":\"SCANOVER\",\"optional\":true,\"description\":\"Causes the INPUT statement to scan the input data records until the character string that is specified in the @'character-string' expression is found.\",\"type\":\"standalone\"},{\"name\":\"SEQUENTIAL\",\"optional\":true,\"description\":\"[VSAM Option] Specifies sequential VSAM record retrieval when either the RBA= (for an ESDS) or the RRN= option (for an RRDS) is specified (INFILE only).\",\"type\":\"standalone\"},{\"name\":\"SERVER\",\"optional\":true,\"description\":\"[Windows Host Option] Is used only in the context of named pipes. This option specifies the mode of a named pipe. The default value is SERVER.\",\"type\":\"standalone\"},{\"name\":\"SHAREBUFFERS\",\"optional\":true,\"aliases\":[\"SHAREBUFS\"],\"description\":\"Specifies that the FILE statement and the INFILE statement share the same buffer.\",\"type\":\"standalone\"},{\"name\":\"SHR=\",\"optional\":true,\"description\":\"[OpenVMS Host Option] Overrides the default file-sharing attributes used for external files. With this option, you can indicate the access level you want to give other users. You can allow READ, WRITE, UPDATE, and DELETE access (as well as no access). By default with external files, files opened for input allow shared read access, and files opened for output or UPDATE do not allow shared access. However, you can allow other users to have READ and WRITE access to a file that you are opening for input only. To accomplish this, use the SHR= option. The syntax of the SHR= option is SHR=share-option-list where share-option-list can be one of the following: DEL specifies DELETE access. GET specifies shared READ access. NONE specifies no shared access. PUT specifies shared WRITE access. UPD specifies UPDATE access. You can combine these values in any order. For example, specifying the following indicates that you want shared DELETE, READ, and WRITE access:\",\"type\":\"value\"},{\"name\":\"SKIP\",\"optional\":true,\"description\":\"[VSAM Option] Indicates skip-sequential processing of VSAM files. Skip-sequential processing finds the first record whose value is the same as the value specified by the KEY= option; records are read sequentially thereafter (INFILE only).\",\"type\":\"standalone\"},{\"name\":\"START=\",\"optional\":true,\"description\":\"Specifies a variable whose value SAS uses as the first column number of the record that the PUT _INFILE_ statement writes. Like automatic variables, the START variable is not written to the data set.\",\"type\":\"value\"},{\"name\":\"STOPOVER\",\"optional\":true,\"description\":\"Causes the DATA step to stop processing if an INPUT statement reaches the end of the current record without finding values for all variables in the statement.\",\"type\":\"standalone\"},{\"name\":\"TAPE\",\"optional\":true,\"description\":\"[device-type] Specifies a tape drive.\",\"type\":\"standalone\"},{\"name\":\"TEMP\",\"optional\":true,\"description\":\"[device-type] Creates a temporary file that exists only as long as the filename is assigned.\",\"type\":\"standalone\"},{\"name\":\"TERMINAL\",\"optional\":true,\"description\":\"[device-type] Specifies the user's terminal.\",\"type\":\"standalone\"},{\"name\":\"TERMSTR=\",\"optional\":true,\"description\":\"[Windows/UNIX Host Option] Specifies the end-of-line character for the file. Use this option to share files between the UNIX and Windows operating environments.\",\"help\":\"TERMSTR=CR | CRLF | LF | NULL | NONE | NL | LFCR | CRNL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"CR\",\"description\":\"Carriage return (CR).\",\"type\":\"standalone\"},{\"name\":\"CRLF\",\"description\":\"Carriage return (CR) followed by line feed (LF).\",\"type\":\"standalone\"},{\"name\":\"LF\",\"description\":\"Line feed only (the default).\",\"type\":\"standalone\"},{\"name\":\"NULL\",\"description\":\"NULL character (0x00).\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"Record terminators are not used. This parameter provides the same function as FILEDATA=BINARY.\",\"type\":\"standalone\"},{\"name\":\"NL\",\"description\":\"The newline character (x'15') is used as the record terminator. This parameter provides the same function as FILEDATA=TEXT.\",\"type\":\"standalone\"},{\"name\":\"LFCR\",\"description\":\"The sequence LF followed by CR is used as the record terminator.\",\"type\":\"standalone\"},{\"name\":\"CRNL\",\"description\":\"The sequence CR followed by NL is used as the record terminator.\",\"type\":\"standalone\"}]},{\"name\":\"TRUNCOVER\",\"optional\":true,\"description\":\"Overrides the default behavior of the INPUT statement when an input data record is shorter than the INPUT statement expects. By default, the INPUT statement automatically reads the next input data record. TRUNCOVER enables you to read variable-length records when some records are shorter than the INPUT statement expects. Variables without any values assigned are set to missing.\",\"type\":\"standalone\"},{\"name\":\"UNBUFFERED\",\"optional\":true,\"aliases\":[\"UNBUF\"],\"description\":\"Tells SAS not to perform a buffered (\\\"look ahead\\\") read.\",\"type\":\"standalone\"},{\"name\":\"UPDATE=\",\"optional\":true,\"description\":\"Defines a numeric SAS variable that indicates that not every record that it reads is to be updated. Use this option when you are updating records in a VSAM data set (INFILE only). When an INFILE and a FILE statement reference the same VSAM data set, records are retrieved for update by default.\",\"help\":\"UPDATE=*variable*\",\"type\":\"value\"},{\"name\":\"UPRINTER\",\"optional\":true,\"description\":\"[device-type] Specifies a Universal Printing printer definition StatementOptionName.\",\"type\":\"standalone\"},{\"name\":\"VSAM\",\"optional\":true,\"description\":\"[type] For VSAM files.\",\"type\":\"standalone\"},{\"name\":\"VTOC\",\"optional\":true,\"description\":\"[type] For a Volume Table of Contents (VTOC).\",\"type\":\"standalone\"},{\"name\":\"_INFILE_=\",\"optional\":true,\"description\":\"Specifies a character variable that references the contents of the current input buffer for this INFILE statement.\",\"type\":\"value\"}]},{\"name\":\"INPUT\",\"description\":\"Describes the arrangement of values in the input data record and assigns input values to the corresponding SAS variables.\",\"help\":\"INPUT &lt;specification(s)&gt;&lt;@|@@&gt;\"},{\"name\":\"KEEP\",\"description\":\"Specifies the variables to include in output SAS data sets.\",\"help\":\"KEEP variable-list\"},{\"name\":\"KILLTASK\",\"description\":\"For asynchronous tasks, forces one or more active tasks or server sessions to terminate immediately.\",\"help\":\"KILLTASK _ALL_ |task1...taskn \"},{\"name\":\"LEAVE\",\"description\":\"Stops processing the current loop and resumes with the next statement in the sequence.\",\"help\":\"LEAVE\"},{\"name\":\"LENGTH\",\"description\":\"Specifies the number of bytes for storing variables.\",\"help\":\"LENGTH &lt;DEFAULT=n&gt;\",\"arguments\":[{\"name\":\"DEFAULT=\",\"optional\":true,\"description\":\"Changes the default number of bytes that SAS uses to store the values of any newly created numeric variables.\",\"help\":\"DEFAULT=*n*\",\"type\":\"value\"}]},{\"name\":\"LINK\",\"description\":\"Directs program execution immediately to the statement label that is specified and, if followed by a RETURN statement, returns execution to the statement that follows the LINK statement.\",\"help\":\"LINK label\"},{\"name\":\"LIST\",\"description\":\"Writes to the SAS log the input data record for the observation that is being processed.\",\"help\":\"LIST\"},{\"name\":\"LISTTASK\",\"description\":\"Lists all active connections or tasks and identifies the execution status of each connection or task.\",\"help\":\"LISTTASK &lt;_ALL_|task&gt; \"},{\"name\":\"LOCK\",\"description\":\"Acquires and releases an exclusive lock on an existing SAS file.\",\"help\":\"LOCK &lt;CLEAR&gt;&lt;LIST&gt;\",\"arguments\":[{\"name\":\"CLEAR\",\"optional\":true,\"description\":\"Releases a lock on the specified SAS file that was acquired by using the LOCK statement in your SAS session.\",\"type\":\"standalone\"},{\"name\":\"LIST\",\"optional\":true,\"aliases\":[\"QUERY\",\"SHOW\"],\"description\":\"Writes to the SAS log whether you have an exclusive lock on the specified SAS file.\",\"type\":\"standalone\"}]},{\"name\":\"LOSTCARD\",\"description\":\"Resynchronizes the input data when SAS encounters a missing or invalid record in data that has multiple records per observation.\",\"help\":\"LOSTCARD\"},{\"name\":\"MERGE\",\"description\":\"Joins observations from two or more SAS data sets into a single observation.\",\"help\":\"MERGE &lt;ALTER=&gt;&lt;BUFNO=&lt;n | nK | hexX&gt;... &gt;&lt;END=variable&gt; ...\",\"arguments\":[{\"name\":\"ALTER=\",\"optional\":true,\"description\":\"\",\"type\":\"value\"},{\"name\":\"BUFNO=\",\"optional\":true,\"description\":\"\",\"help\":\"BUFNO=n | nK | hexX | MIN | MAX\",\"type\":\"choice\",\"arguments\":[{\"name\":\"n\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"nK\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"hexX\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"MIN\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"MAX\",\"description\":\"\",\"type\":\"standalone\"}]},{\"name\":\"BUFSIZE=\",\"optional\":true,\"description\":\"\",\"help\":\"BUFSIZE=n | nK | nM | nG | hexX | MIN | MAX\",\"type\":\"choice\",\"arguments\":[{\"name\":\"n\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"nK\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"nM\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"nG\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"hexX\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"MIN\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"MAX\",\"description\":\"\",\"type\":\"standalone\"}]},{\"name\":\"CNTLLEV=\",\"optional\":true,\"description\":\"\",\"help\":\"CNTLLEV=LIB | MEM | REC\",\"type\":\"choice\",\"arguments\":[{\"name\":\"LIB\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"MEM\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"REC\",\"description\":\"\",\"type\":\"standalone\"}]},{\"name\":\"COMPRESS=\",\"optional\":true,\"description\":\"\",\"help\":\"COMPRESS=NO | YES | CHAR | BINARY\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NO\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"YES\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"CHAR\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"BINARY\",\"description\":\"\",\"type\":\"standalone\"}]},{\"name\":\"DLDMGACTION=\",\"optional\":true,\"description\":\"\",\"help\":\"DLDMGACTION=FAIL | ABORT | REPAIR | NOINDEX | PROMPT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"FAIL\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"ABORT\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"REPAIR\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"NOINDEX\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"PROMPT\",\"description\":\"\",\"type\":\"standalone\"}]},{\"name\":\"DROP=\",\"optional\":true,\"description\":\"\",\"type\":\"value\"},{\"name\":\"ENCRYPT=\",\"optional\":true,\"description\":\"\",\"help\":\"ENCRYPT=YES | NO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YES\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"NO\",\"description\":\"\",\"type\":\"standalone\"}]},{\"name\":\"ENCRYPTKEY=\",\"optional\":true,\"description\":\"\",\"type\":\"value\"},{\"name\":\"END=\",\"optional\":true,\"description\":\"Names and creates a temporary variable that contains an end-of-file indicator.\",\"help\":\"END=*variable*\",\"type\":\"value\"},{\"name\":\"EXTENDOBSCOUNTER=\",\"optional\":true,\"description\":\"\",\"type\":\"value\"},{\"name\":\"FILECLOSE=\",\"optional\":true,\"description\":\"\",\"help\":\"FILECLOSE=DISP | LEAVE | REREAD | REWIND\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DISP\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"LEAVE\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"REREAD\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"REWIND\",\"description\":\"\",\"type\":\"standalone\"}]},{\"name\":\"FIRSTOBS=\",\"optional\":true,\"description\":\"\",\"help\":\"FIRSTOBS=n | nK | nM | nG | hexX | MIN | MAX\",\"type\":\"choice\",\"arguments\":[{\"name\":\"n\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"nK\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"nM\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"nG\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"hexX\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"MIN\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"MAX\",\"description\":\"\",\"type\":\"standalone\"}]},{\"name\":\"GENMAX=\",\"optional\":true,\"description\":\"\",\"type\":\"value\"},{\"name\":\"GENNUM=\",\"optional\":true,\"description\":\"\",\"type\":\"value\"},{\"name\":\"IDXNAME=\",\"optional\":true,\"description\":\"\",\"type\":\"value\"},{\"name\":\"IDXWHERE=\",\"optional\":true,\"description\":\"\",\"help\":\"IDXWHERE=YES | NO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YES\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"NO\",\"description\":\"\",\"type\":\"standalone\"}]},{\"name\":\"IN=\",\"optional\":true,\"description\":\"\",\"type\":\"value\"},{\"name\":\"INDEX=\",\"optional\":true,\"description\":\"\",\"type\":\"value\"},{\"name\":\"KEEP=\",\"optional\":true,\"description\":\"\",\"type\":\"value\"},{\"name\":\"LABEL=\",\"optional\":true,\"description\":\"\",\"type\":\"value\"},{\"name\":\"OBS=\",\"optional\":true,\"description\":\"\",\"help\":\"OBS=n | nK | nM | nG | nT | hexX | MIN | MAX\",\"type\":\"choice\",\"arguments\":[{\"name\":\"n\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"nK\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"nM\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"nG\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"nT\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"hexX\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"MIN\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"MAX\",\"description\":\"\",\"type\":\"standalone\"}]},{\"name\":\"OUTREP=\",\"optional\":true,\"description\":\"\",\"type\":\"value\"},{\"name\":\"POINTOBS=\",\"optional\":true,\"description\":\"\",\"help\":\"POINTOBS=YES | NO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YES\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"NO\",\"description\":\"\",\"type\":\"standalone\"}]},{\"name\":\"PW=\",\"optional\":true,\"description\":\"\",\"type\":\"value\"},{\"name\":\"PWREQ=\",\"optional\":true,\"description\":\"\",\"help\":\"PWREQ=YES | NO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YES\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"NO\",\"description\":\"\",\"type\":\"standalone\"}]},{\"name\":\"READ=\",\"optional\":true,\"description\":\"\",\"type\":\"value\"},{\"name\":\"RENAME=\",\"optional\":true,\"description\":\"\",\"type\":\"value\"},{\"name\":\"REPEMPTY=\",\"optional\":true,\"description\":\"\",\"help\":\"REPEMPTY=YES | NO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YES\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"NO\",\"description\":\"\",\"type\":\"standalone\"}]},{\"name\":\"REPLACE=\",\"optional\":true,\"description\":\"\",\"help\":\"REPLACE=YES | NO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YES\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"NO\",\"description\":\"\",\"type\":\"standalone\"}]},{\"name\":\"REUSE=\",\"optional\":true,\"description\":\"\",\"help\":\"REUSE=YES | NO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YES\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"NO\",\"description\":\"\",\"type\":\"standalone\"}]},{\"name\":\"SGIO=\",\"optional\":true,\"description\":\"\",\"help\":\"SGIO=YES | NO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YES\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"NO\",\"description\":\"\",\"type\":\"standalone\"}]},{\"name\":\"SORTEDBY=\",\"optional\":true,\"description\":\"\",\"help\":\"SORTEDBY=by-clause &lt; / collate-name&gt; | _NULL_\",\"type\":\"choice\",\"arguments\":[{\"name\":\"by-clause\",\"description\":\"\",\"help\":\"by-clause &lt; / collate-name&gt;\",\"type\":\"standalone\"},{\"name\":\"_NULL_\",\"description\":\"\",\"type\":\"standalone\"}]},{\"name\":\"SPILL=\",\"optional\":true,\"description\":\"\",\"help\":\"SPILL=YES | NO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YES\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"NO\",\"description\":\"\",\"type\":\"standalone\"}]},{\"name\":\"TOBSNO=\",\"optional\":true,\"description\":\"\",\"type\":\"value\"},{\"name\":\"TRANTAB=\",\"optional\":true,\"description\":\"\",\"type\":\"value\"},{\"name\":\"TYPE=\",\"optional\":true,\"description\":\"\",\"type\":\"value\"},{\"name\":\"WHERE=\",\"optional\":true,\"description\":\"\",\"type\":\"value\"},{\"name\":\"WHEREUP=\",\"optional\":true,\"description\":\"\",\"help\":\"WHEREUP=YES | NO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YES\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"NO\",\"description\":\"\",\"type\":\"standalone\"}]},{\"name\":\"WRITE=\",\"optional\":true,\"description\":\"\",\"type\":\"value\"}]},{\"name\":\"METHOD\",\"description\":\"[This statement is valid only in DS2 and HPDS2 procedures.] Defines a block of code that can be called and executed multiple times.\",\"help\":\"METHOD &lt;&gt;&lt;RETURNS data-type&gt;&lt;&gt; ...\",\"arguments\":[{\"name\":\"BIGINT\",\"optional\":true,\"description\":\"Specifies an integer variable.\",\"type\":\"standalone\"},{\"name\":\"CHAR\",\"optional\":true,\"description\":\"Specifies a character variable.\",\"type\":\"standalone\"},{\"name\":\"DATE\",\"optional\":true,\"description\":\"Specifies a date variable.\",\"type\":\"standalone\"},{\"name\":\"DOUBLE\",\"optional\":true,\"description\":\"Specifies a floating-point variable.\",\"type\":\"standalone\"},{\"name\":\"DOUBLE\",\"optional\":true,\"description\":\"Specifies a floating-point variable.\",\"help\":\"DOUBLE PRECISION\",\"type\":\"standalone\"},{\"name\":\"FLOAT\",\"optional\":true,\"description\":\"Specifies a floating-point variable.\",\"type\":\"standalone\"},{\"name\":\"IDENTITY\",\"optional\":true,\"description\":\"Specifies an integer variable.\",\"type\":\"standalone\"},{\"name\":\"INIT\",\"optional\":true,\"description\":\"Without Arguments The METHOD INIT statement has no arguments. If you try to pass arguments, an error will occur. Details: Typically, the INIT method will contain any initialization code such as variable initialization or opening of tables. Code in the INIT method will run once at the beginning of the TSPL program. Before the INIT method has run, variables in the program data vector which have not been retained '(by using the RETAIN statement) will be set to either SAS missing values or null values depending on whether you are in SAS mode or ANSI mode.\",\"type\":\"standalone\"},{\"name\":\"INT\",\"optional\":true,\"aliases\":[\"INTEGER\"],\"description\":\"Specifies an integer variable.\",\"type\":\"standalone\"},{\"name\":\"NCHAR\",\"optional\":true,\"description\":\"Specifies a character variable.\",\"type\":\"standalone\"},{\"name\":\"NVARCHAR\",\"optional\":true,\"description\":\"Specifies a character variable.\",\"type\":\"standalone\"},{\"name\":\"REAL\",\"optional\":true,\"description\":\"Specifies a floating-point variable.\",\"type\":\"standalone\"},{\"name\":\"RETURNS\",\"optional\":true,\"description\":\"Specifies the data type of the value that the method returns. The type can be any valid character, numeric, or date type.\",\"type\":\"standalone\"},{\"name\":\"RUN\",\"optional\":true,\"description\":\"Without Arguments: The METHOD RUN statement has no arguments. If you try to pass arguments, an error will occur. Details: Typically, the RUN method will contain the main TSPL program code. The RUN method has the same feature of automatic, implicit looping as the Base SAS DATA step. After the RUN method has been executed one time, the RUN method either runs again or control is passed to the TERM method.\",\"type\":\"standalone\"},{\"name\":\"SMALLINT\",\"optional\":true,\"description\":\"Specifies an integer variable.\",\"type\":\"standalone\"},{\"name\":\"TERM\",\"optional\":true,\"description\":\"Without Arguments: The METHOD TERM statement has no arguments. If you try to pass arguments, an error will occur. Details: Typically, the TERM method will contain any finalization code such as writing data to the SAS log. Code in the TERM method will run once at the end of the TSPL program.\",\"type\":\"standalone\"},{\"name\":\"TIME\",\"optional\":true,\"description\":\"Specifies a time variable. precision specifies the precision for a TIME data type.\",\"type\":\"standalone\"},{\"name\":\"TIMESTAMP\",\"optional\":true,\"description\":\"Specifies both a date and time variable. precision specifies the precision for a TIMESTAMP data type.\",\"type\":\"standalone\"},{\"name\":\"TINYINT\",\"optional\":true,\"description\":\"Specifies an integer variable.\",\"type\":\"standalone\"},{\"name\":\"VARBINARY\",\"optional\":true,\"aliases\":[\"BINARY VARYING\"],\"description\":\"Specifies a varying-length binary variable. Alias: BINARY VARYING\",\"type\":\"standalone\"},{\"name\":\"VARCHAR\",\"optional\":true,\"description\":\"Specifies a character variable.\",\"type\":\"standalone\"}]},{\"name\":\"MISSING\",\"description\":\"Assigns characters in your input data to represent special missing values for numeric data.\",\"help\":\"MISSING character(s)\"},{\"name\":\"MODIFY\",\"description\":\"\",\"help\":\"MODIFY &lt;END=variable&gt;&lt;KEY=index&gt;&lt;NOBS=variable&gt; ...\",\"arguments\":[{\"name\":\"CUREOBS=\",\"optional\":true,\"description\":\"Creates and names a variable that contains the observation number that was just read from the data set.\",\"type\":\"value\"},{\"name\":\"END=\",\"optional\":true,\"description\":\"Creates and names a temporary variable that contains an end-of-file indicator.\",\"help\":\"END=*variable*\",\"type\":\"value\"},{\"name\":\"KEY=\",\"optional\":true,\"description\":\"Specifies a simple or composite index of the SAS data file that is being modified. The KEY= argument retrieves observations from that SAS data file based on index values that are supplied by like-named variables in another source of information.\",\"help\":\"KEY=*index*\",\"type\":\"value\"},{\"name\":\"KEYRESET=\",\"optional\":true,\"description\":\"Controls whether a KEY= search should begin at the top of the index for the data set that is being read. When the value of the KEYRESET variable is 1, the index lookup begins at the top of the index. When the value of the KEYRESET variable is 0, the index lookup is not reset and the lookup continues where the prior lookup ended.\",\"help\":\"KEYRESET=*variable*\",\"type\":\"value\"},{\"name\":\"NOBS=\",\"optional\":true,\"description\":\"Creates and names a temporary variable whose value is usually the total number of observations in the input data set. For certain SAS views, SAS cannot determine the number of observations. In these cases, SAS sets the value of the NOBS= variable to the largest positive integer value available in the operating environment.\",\"help\":\"NOBS=*variable*\",\"type\":\"value\"},{\"name\":\"POINT=\",\"optional\":true,\"description\":\"Reads SAS data sets using random (direct) access by observation number. variable names a variable whose value is the number of the observation to read. The POINT= variable is available anywhere in the DATA step, but it is not added to any SAS data set.\",\"help\":\"POINT=*variable*\",\"type\":\"value\"},{\"name\":\"UNIQUE\",\"optional\":true,\"description\":\"Causes a KEY= search always to begin at the top of the index for the data file being modified.\",\"type\":\"standalone\"},{\"name\":\"UPDATEMODE=\",\"optional\":true,\"description\":\"Specifies whether missing variable values in a transaction data set are to be allowed to replace existing variable values in a master data set.\",\"help\":\"UPDATEMODE=MISSINGCHECK | NOMISSINGCHECK\",\"type\":\"choice\",\"arguments\":[{\"name\":\"MISSINGCHECK\",\"description\":\"Prevents missing variable values in a transaction data set from replacing values in a master data set.\",\"type\":\"standalone\"},{\"name\":\"NOMISSINGCHECK\",\"description\":\"Allows missing variable values in a transaction data set to replace values in a master data set by preventing the check from being performed.\",\"type\":\"standalone\"}]}]},{\"name\":\"ODS DOCUMENT\",\"description\":\"\",\"help\":\"ODS DOCUMENT &lt;ALL&gt;&lt;CLOSE&gt;&lt;EXCLUDE exclusion(s)| ALL | NONE&gt; ...\",\"arguments\":[{\"name\":\"ALL\",\"optional\":true,\"description\":\"See the EXCLUDE or SELECT option.\",\"type\":\"standalone\"},{\"name\":\"CATALOG=\",\"optional\":true,\"aliases\":[\"CAT=\"],\"description\":\"By default, no value is assigned to CATALOG=, which means that temporary GRSEGs are not copied to a permanent catalog.\",\"help\":\"CATALOG=&lt;permanent-catalog&gt; | _NULL_\",\"type\":\"choice\",\"arguments\":[{\"name\":\"<permanent-catalog>\",\"description\":\"Copies any temporary GRSEG to the specified permanent catalog and keeps a reference to the permanent GRSEG in the document. This value persists until the ODS DOCUMENT statement is closed, or until you delete it by specifying CATALOG=_NULL_. The permanent catalog has the following form: <libref.><member-name>;\",\"type\":\"standalone\"},{\"name\":\"_NULL_\",\"description\":\"Deletes the catalog name that was previously specified for the CATALOG= option. Thereafter, temporary GRSEGs are not copied into the permanent catalog, and thus are unavailable in subsequent sessions.\",\"type\":\"standalone\"}]},{\"name\":\"CLOSE\",\"optional\":true,\"description\":\"Closes the destination and any files that are associated with it.\",\"type\":\"standalone\"},{\"name\":\"DIR=\",\"optional\":true,\"description\":\"Specifies the directory path and/or label for ODS output. LABEL=label assigns a label to a path. PATH= path <(access-option)> is specified as a sequence of entries that are delimited by backslashes. path can have the form: path<#sequence-number> where path is the name of the path. #sequence-number is a number which, when combined with a pathname, uniquely identifies the entry in the directory that contains it. access-option specifies the access mode for the ODS document. WRITE -- opens a document and provides write access as well as read access.\",\"type\":\"value\"},{\"name\":\"EXCLUDE\",\"optional\":true,\"description\":\"Excludes one or more output objects from the DOCUMENT destination.\",\"type\":\"standalone\"},{\"name\":\"LABEL=\",\"optional\":true,\"description\":\"Assigns a label to a path.\",\"type\":\"value\"},{\"name\":\"NAME=\",\"optional\":true,\"description\":\"Syntax: NAME= <libref.>member-name<(access-option)> where: libref specifies the SAS library where the document is stored. Default: If no library name is specified, the WORK library is used. member-name specifies the document name. access-option specifies the access mode for the ODS document. WRITE opens a document and provides write access as well as read access.\",\"type\":\"value\"},{\"name\":\"NONE\",\"optional\":true,\"description\":\"See the EXCLUDE or SELECT option.\",\"type\":\"standalone\"},{\"name\":\"PATH=\",\"optional\":true,\"description\":\"Is specified as a sequence of entries that are delimited by backslashes.\",\"type\":\"value\"},{\"name\":\"SELECT\",\"optional\":true,\"description\":\"Selects one or more output objects for the DOCUMENT destination.\",\"type\":\"standalone\"},{\"name\":\"SHOW\",\"optional\":true,\"description\":\"Writes the current selection or exclusion list for the destination to the SAS log.\",\"type\":\"standalone\"},{\"name\":\"UPDATE\",\"optional\":true,\"description\":\"[access-option] Opens an ODS document and appends new content to the document. UPDATE provides update access as well as read access.\",\"type\":\"standalone\"},{\"name\":\"WRITE\",\"optional\":true,\"description\":\"[access-option] Opens a document and provides write access as well as read access.\",\"type\":\"standalone\"}]},{\"name\":\"ODS ESCAPECHAR=\",\"description\":\"escape-character specifies the special character that identifies the inline formatting symbol. The escape-character should be one of the following rarely used characters: @, ^, or \\\\.\",\"help\":\"ODS ESCAPECHAR= 'escape-character'\"},{\"name\":\"ODS EXCLUDE\",\"description\":\"Specifies output objects to exclude from ODS destinations. Each exclusion has the following form: output-object <(PERSIST)> output-object specifies one or more output objects to exclude. To specify an output object, you need to know which output objects your SAS program produces. The ODS TRACE statement writes to the SAS log a trace record that includes the path, the label, and other information about each output object that is produced. (PERSIST) keeps the output-object that precedes the PERSIST option in the exclusion list, even until you \\\\ explicitly modify the list with any of the following ODS statements: o any ODS SELECT statement o ODS EXCLUDE NONE o ODS EXCLUDE ALL o an ODS EXCLUDE statement that applies to the same output object but does not specify PERSIST This action is true even if the DATA or procedure step ends. Requirement: You must enclose PERSIST in parentheses.\",\"help\":\"ODS EXCLUDE &lt;ALL&gt;&lt;NONE&gt;&lt;NOWARN&gt; ...\",\"arguments\":[{\"name\":\"ALL\",\"optional\":true,\"description\":\"Specifies that ODS does not send any output objects to the open destination. Alias: ODS EXCLUDE DEFAULT Interaction: If you specify ALL without specifying a destination, ODS sets the overall list to EXCLUDE ALL and sets all other lists to their defaults. Tip: Using ODS EXCLUDE ALL is different from closing a destination. The destination remains open, but no output objects are sent to it.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"optional\":true,\"description\":\"Specifies that ODS send all of the output objects to the open destination. Interaction: If you specify the NONE argument without specifying a destination, ODS sets the overall list to EXCLUDE NONE and sets all other lists to their defaults. Tip: ODS EXCLUDE NONE has the same effect as ODS SELECT ALL.\",\"type\":\"standalone\"},{\"name\":\"NOWARN\",\"optional\":true,\"description\":\"Suppresses the warning that an output object was requested but not created.\",\"type\":\"standalone\"},{\"name\":\"WHERE=\",\"optional\":true,\"description\":\"Excludes output objects that meet a particular condition. For example, the following statement excludes only output objects with the word \\\"Histogram\\\" in their name: ods exclude where=(_name_ ? 'Histogram'); where-expression is an arithmetic or logical expression that consists of a sequence of operators and operands. where-expression has this form: (subsetting-variable <comparison-operator where-expression-n>) subsetting-variable Subsetting variables are a special kind of WHERE expression operand used by SAS to help you find common values in items. For example, this EXCLUDE statement excludes only output objects with the path City_Pop_90.TestsForLocation : ods exclude / where=(_path_ = 'City_Pop_90.TestsForLocation' ); subsetting-variable is one of the following:\",\"help\":\"WHERE=*where-expression*\",\"type\":\"value\"}]},{\"name\":\"ODS GRAPHICS\",\"description\":\"Enables or disables ODS graphics processing and sets graphics environment options. This statement affects ODS template-based graphics only. The ODS GRAPHICS statement does not affect device-based graphics.\",\"help\":\"ODS GRAPHICS &lt;ANTIALIAS=&lt;OFF | ON&gt;&gt; OFF ON ...\",\"arguments\":[{\"name\":\"OFF\",\"description\":\"Disables ODS Graphics processing.\",\"type\":\"standalone\"},{\"name\":\"ON\",\"description\":\"Enables ODS Graphics processing. This is the default if no argument is used.\",\"type\":\"standalone\"},{\"name\":\"ANTIALIAS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Smooths jagged edges of all components in the graph.\",\"type\":\"standalone\"},{\"name\":\"ANTIALIAS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"\",\"help\":\"ANTIALIAS=OFF | ON\",\"type\":\"choice\",\"arguments\":[{\"name\":\"OFF\",\"followsDelimiter\":\"/\",\"description\":\"Does not smooth jagged edges of components other than text in the graph.\",\"type\":\"standalone\"},{\"name\":\"ON\",\"followsDelimiter\":\"/\",\"description\":\"Smooths jagged edges of all components in the graph.\",\"type\":\"standalone\"}]},{\"name\":\"ANTIALIASMAX=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the maximum number of markers or lines to be anti-aliased before anti-aliasing is disabled. Default: 1000\",\"type\":\"value\"},{\"name\":\"BORDER\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies whether to draw a border around the graph.\",\"type\":\"standalone\"},{\"name\":\"BORDER=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies whether to draw a border around the graph.\",\"help\":\"BORDER=OFF | ON\",\"type\":\"choice\",\"arguments\":[{\"name\":\"OFF\",\"followsDelimiter\":\"/\",\"description\":\"Specifies not to draw a border around the graph.\",\"type\":\"standalone\"},{\"name\":\"ON\",\"followsDelimiter\":\"/\",\"description\":\"Specifies to draw a border around the graph.\",\"type\":\"standalone\"}]},{\"name\":\"DISCRETEMAX=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the maximum number of discrete values to be shown in any graph. Default: 1000\",\"type\":\"value\"},{\"name\":\"GROUPMAX=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the maximum number of group values to be shown in any graph. Any graph that supports the GROUP= option is affected. Default: 1000\",\"type\":\"value\"},{\"name\":\"HEIGHT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the height of any graph.\",\"type\":\"value\"},{\"name\":\"IMAGEFMT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the image format to be used. If the image format is not valid for the active output destination, the format is automatically changed to the default image format for that destination.\",\"help\":\"IMAGEFMT=BMP | DIB | EMF | EPSI | GIF | JFIF | JPEG | PBM | PDF | PNG | PS | SASEMF | TIFF | WMF | STATIC\",\"type\":\"choice\",\"arguments\":[{\"name\":\"BMP\",\"followsDelimiter\":\"/\",\"description\":\"Microsoft Windows Device Independent Bitmap\",\"type\":\"standalone\"},{\"name\":\"DIB\",\"followsDelimiter\":\"/\",\"description\":\"Microsoft Windows Device Independent Bitmap\",\"type\":\"standalone\"},{\"name\":\"EMF\",\"followsDelimiter\":\"/\",\"description\":\"Microsoft NT Enhanced Metafile\",\"type\":\"standalone\"},{\"name\":\"EPSI\",\"followsDelimiter\":\"/\",\"description\":\"Microsoft NT Enhanced Metafile\",\"type\":\"standalone\"},{\"name\":\"GIF\",\"followsDelimiter\":\"/\",\"description\":\"Graphics Interchange Format\",\"type\":\"standalone\"},{\"name\":\"JFIF\",\"followsDelimiter\":\"/\",\"description\":\"JPEG File Interchange Format\",\"type\":\"standalone\"},{\"name\":\"JPEG\",\"followsDelimiter\":\"/\",\"description\":\"Joint Photographic Experts Group\",\"type\":\"standalone\"},{\"name\":\"PBM\",\"followsDelimiter\":\"/\",\"description\":\"Portable Bitmap Utilities\",\"type\":\"standalone\"},{\"name\":\"PDF\",\"followsDelimiter\":\"/\",\"description\":\"Portable Document Format\",\"type\":\"standalone\"},{\"name\":\"PNG\",\"followsDelimiter\":\"/\",\"description\":\"Portable Network Graphic\",\"type\":\"standalone\"},{\"name\":\"PS\",\"followsDelimiter\":\"/\",\"description\":\"PostScript Image File Format\",\"type\":\"standalone\"},{\"name\":\"SASEMF\",\"followsDelimiter\":\"/\",\"description\":\"Enhanced Metafile\",\"type\":\"standalone\"},{\"name\":\"TIFF\",\"followsDelimiter\":\"/\",\"description\":\"Tagged Image File Format\",\"type\":\"standalone\"},{\"name\":\"WMF\",\"followsDelimiter\":\"/\",\"description\":\"Microsoft Windows Metafile\",\"type\":\"standalone\"},{\"name\":\"STATIC\",\"followsDelimiter\":\"/\",\"description\":\"Uses the best quality static image format for the active output destination. This is the default.\",\"type\":\"standalone\"}]},{\"name\":\"IMAGEMAP\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies to generate data tips.\",\"type\":\"standalone\"},{\"name\":\"IMAGEMAP=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies to generate data tips.\",\"help\":\"IMAGEMAP=OFF | ON\",\"type\":\"choice\",\"arguments\":[{\"name\":\"OFF\",\"followsDelimiter\":\"/\",\"description\":\"Specifies not to generate data tips.\",\"type\":\"standalone\"},{\"name\":\"ON\",\"followsDelimiter\":\"/\",\"description\":\"Specifies to generate data tips.\",\"type\":\"standalone\"}]},{\"name\":\"IMAGENAME=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the base image filename.\",\"help\":\"IMAGENAME=\\\"*filename*\\\"\",\"type\":\"value\"},{\"name\":\"LABELMAX=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the maximum number of labeled areas before labeling is disabled.\",\"type\":\"value\"},{\"name\":\"MAXLEGENDAREA=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies an integer that is interpreted as the maximum percentage of the overall graphics area that a legend can occupy. Default: 20\",\"type\":\"value\"},{\"name\":\"NOANTIALIAS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Does not smooth jagged edges of components other than text in the graph.\",\"type\":\"standalone\"},{\"name\":\"NOBORDER\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies not to draw a border around any graph.\",\"type\":\"standalone\"},{\"name\":\"NOIMAGEMAP\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies not to generate data tips.\",\"type\":\"standalone\"},{\"name\":\"NOSCALE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Does not scale the components of graph proportionally.\",\"type\":\"standalone\"},{\"name\":\"PANELCELLMAX=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the maximum number of cells in a graph panel where the number of cells is determined dynamically by classification variables. Default: 10000\",\"help\":\"PANELCELLMAX=*n*\",\"type\":\"value\"},{\"name\":\"RESET\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Resets all of the options to their defaults.\",\"type\":\"standalone\"},{\"name\":\"RESET=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Resets the specified option to its default value.\",\"help\":\"RESET=ALL | ANTIALIAS | ANTIALIASMAX | BORDER | INDEX | HEIGHT | IMAGEMAP | LABELMAX | SCALE | TIPMAX | WIDTH\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ALL\",\"followsDelimiter\":\"/\",\"description\":\"Resets all of the reset-options to their defaults.\",\"type\":\"standalone\"},{\"name\":\"ANTIALIAS\",\"followsDelimiter\":\"/\",\"description\":\"Resets the ANTIALIAS option to its default.\",\"type\":\"standalone\"},{\"name\":\"ANTIALIASMAX\",\"followsDelimiter\":\"/\",\"description\":\"Resets the ANTIALIASMAX option to its default.\",\"type\":\"standalone\"},{\"name\":\"BORDER\",\"followsDelimiter\":\"/\",\"description\":\"Resets the BORDER= option to its default.\",\"type\":\"standalone\"},{\"name\":\"INDEX\",\"followsDelimiter\":\"/\",\"description\":\"Resets the index counter that is appended to static image files.\",\"type\":\"standalone\"},{\"name\":\"HEIGHT\",\"followsDelimiter\":\"/\",\"description\":\"Resets the HEIGHT= option to its default.\",\"type\":\"standalone\"},{\"name\":\"IMAGEMAP\",\"followsDelimiter\":\"/\",\"description\":\"Resets the IMAGEMAP= option to its default.\",\"type\":\"standalone\"},{\"name\":\"LABELMAX\",\"followsDelimiter\":\"/\",\"description\":\"Resets the LABELMAX= option to its default.\",\"type\":\"standalone\"},{\"name\":\"SCALE\",\"followsDelimiter\":\"/\",\"description\":\"Resets the SCALE= option to its default.\",\"type\":\"standalone\"},{\"name\":\"TIPMAX\",\"followsDelimiter\":\"/\",\"description\":\"Resets the TIPMAX= option to its default.\",\"type\":\"standalone\"},{\"name\":\"WIDTH\",\"followsDelimiter\":\"/\",\"description\":\"Resets the WIDTH= option to its default.\",\"type\":\"standalone\"}]},{\"name\":\"SCALE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Scales the components of graph proportionally.\",\"type\":\"standalone\"},{\"name\":\"SCALE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the width of any graph. Requires a nonnegative number.\",\"help\":\"SCALE=OFF | ON\",\"type\":\"choice\",\"arguments\":[{\"name\":\"OFF\",\"followsDelimiter\":\"/\",\"description\":\"Does not scale the components of graph proportionally.\",\"type\":\"standalone\"},{\"name\":\"ON\",\"followsDelimiter\":\"/\",\"description\":\"Scales the components of graph proportionally.\",\"type\":\"standalone\"}]},{\"name\":\"TIPMAX=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the maximum number of distinct mouse-over areas allowed before data tips are disabled. Default: 500\",\"help\":\"TIPMAX=*n*\",\"type\":\"value\"},{\"name\":\"WIDTH=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the width of any graph. Requires a nonnegative number.\",\"help\":\"WIDTH=*dimension*\",\"type\":\"value\"}]},{\"name\":\"ODS LISTING\",\"description\":\"\",\"help\":\"ODS LISTING &lt;EXCLUDE/SELECT ALL&gt;&lt;CLOSE&gt;&lt;EXCLUDE exclusion(s)| ALL | NONE&gt; ...\",\"arguments\":[{\"name\":\"ALL\",\"optional\":true,\"description\":\"Excludes/Selects all output objects for the LISTING destination.\",\"type\":\"standalone\"},{\"name\":\"CLOSE\",\"optional\":true,\"description\":\"Closes the LISTING destination and any files that are associated with it.\",\"type\":\"standalone\"},{\"name\":\"DATAPANEL=\",\"optional\":true,\"description\":\"Suggests how to split a table that is too wide to fit on a single page into sections of columns and rows. Each section of columns and rows is a data panel. Each data panel has column headings at the top.\",\"help\":\"DATAPANEL=&lt;number&gt; | DATA | PAGE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"<number>\",\"description\":\"Writes the specified number of observations in a panel, if possible. More than one panel can occur on every page if space permits. Range: 1 to the largest integer that the operating system supports.\",\"type\":\"standalone\"},{\"name\":\"DATA\",\"description\":\"Bases the size of the panel on the way that the table is stored in memory. This value provides the fastest performance. However, if the table contains many columns, the number of rows in each panel might be small.\",\"type\":\"standalone\"},{\"name\":\"PAGE\",\"description\":\"Tries to make panels that match the page size. If the table contains more columns than can fit on a page, the first page is filled with as many observations as possible for as many columns as can fit on a single line. The second page contains the same observations for the next group of columns, and so on, until all rows and columns have been printed.\",\"type\":\"standalone\"}]},{\"name\":\"DEVICE=\",\"optional\":true,\"description\":\"Specifies the name of a device driver. ODS automatically selects an optimal default device for each open output destination.\",\"type\":\"value\"},{\"name\":\"EXCLUDE\",\"optional\":true,\"description\":\"Excludes one or more output objects from the LISTING destination.\",\"type\":\"standalone\"},{\"name\":\"FILE=\",\"optional\":true,\"description\":\"Specifies the file to write to. file-specification is one of the following: 'external-file' is the name of an external file to which to write.\",\"help\":\"FILE=*file-specification*\",\"type\":\"value\"},{\"name\":\"GPATH=\",\"optional\":true,\"description\":\"Specifies the location for all graphics output that is generated while the destination is open. file-specification specifies the file or SAS catalog to which to write. file-specification is one of the following: external-file is the name of an external file to write to. Requirement: You must enclose external-file in quotation marks. fileref is a file reference that has been assigned to an external file. libref.catalog specifies a SAS catalog to which to write. URL= 'Uniform-Resource-Locator' | NONE specifies a URL for file-specification. Uniform-Resource-Locator is the URL you specify. ODS uses this URL instead of the filename in all the links and references that it creates to the file. Requirement: You must enclose Uniform-Resource-Locator in quotation marks.\",\"type\":\"value\"},{\"name\":\"IMAGE_DPI=\",\"optional\":true,\"description\":\"Specifies the image resolution of ODS graphics output. Output from device-based graphics is not affected. Default: 100\",\"type\":\"value\"},{\"name\":\"NONE\",\"optional\":true,\"description\":\"Excludes/Selects no output objects for the LISTING destination.\",\"type\":\"standalone\"},{\"name\":\"PACKAGE\",\"optional\":true,\"description\":\"Specifies that the output from the destination be added to a package.\",\"type\":\"standalone\"},{\"name\":\"SELECT\",\"optional\":true,\"description\":\"Selects output objects for the LISTING destination.\",\"type\":\"standalone\"},{\"name\":\"SGE=\",\"optional\":true,\"description\":\"Determines whether you can edit ODS graphics output with the ODS Graphics Editor.\",\"help\":\"SGE=ON | OFF\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ON\",\"description\":\"Turns on the ability to edit ODS graphics output with the ODS Graphics Editor.\",\"type\":\"standalone\"},{\"name\":\"OFF\",\"description\":\"Turns off the ability to edit ODS graphics output with the ODS Graphics Editor.\",\"type\":\"standalone\"}]},{\"name\":\"SHOW\",\"optional\":true,\"description\":\"Writes the current selection or exclusion list for the destination to the SAS log.\",\"type\":\"standalone\"},{\"name\":\"URL=\",\"optional\":true,\"description\":\"Specifies a URL for file-specification. Uniform-Resource-Locator is the URL you specify. ODS uses this URL instead of the filename in all the links and references that it creates to the file. Requirement: You must enclose Uniform-Resource-Locator in quotation marks.\",\"type\":\"value\"}]},{\"name\":\"ODS MARKUP\",\"aliases\":[\"ODS HTML\",\"ODS CHTML\",\"ODS HTMLCSS\",\"ODS HTML3\",\"ODS IMODE\",\"ODS PHTML\",\"ODS CSVALL\",\"ODS DOCBOOK\",\"ODS WML\",\"ODS SASREPORT\",\"ODS TROFF\",\"ODS HTML4\",\"ODS LATEX\",\"ODS WMLOLIST\"],\"description\":\"\",\"help\":\"ODS MARKUP &lt;ALL&gt;&lt;CLOSE&gt;&lt;EXCLUDE exclusion(s)| ALL | NONE&gt; ...\",\"arguments\":[{\"name\":\"ALL\",\"optional\":true,\"description\":\"See the SELECT or EXCLUDE option.\",\"type\":\"standalone\"},{\"name\":\"ANCHOR=\",\"optional\":true,\"description\":\"Specifies a unique base name for the anchor tag that identifies each output object in the current body file.\",\"help\":\"ANCHOR='*anchor-name*'\",\"type\":\"value\"},{\"name\":\"ARCHIVE=\",\"optional\":true,\"description\":\"The ARCHIVE= option is only valid for the GOPTIONS Java device. The ARCHIVE= option allows you to specify a string to identify which applet to use in order to view the ODS HTML output.\",\"help\":\"ARCHIVE='*string*'\",\"type\":\"value\"},{\"name\":\"ATTRIBUTES=\",\"optional\":true,\"description\":\"Writes the specified attributes between the tags that generate dynamic graphics output.\",\"type\":\"value\"},{\"name\":\"BASE=\",\"optional\":true,\"description\":\"Specifies the text to use as the first part of all links and references that ODS creates in the output files.\",\"type\":\"value\"},{\"name\":\"BODY=\",\"optional\":true,\"aliases\":[\"FILE=\"],\"description\":\"Opens a MARKUP family destination and specifies the file that contains the primary output that is created by the ODS statement.\",\"help\":\"BODY=NO_BOTTOM_MATTER | NO_TOP_MATTER | TITLE= | URL= | DYNAMIC\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NO_BOTTOM_MATTER\",\"type\":\"standalone\"},{\"name\":\"NO_TOP_MATTER\",\"type\":\"standalone\"},{\"name\":\"TITLE=\",\"type\":\"value\"},{\"name\":\"URL=\",\"type\":\"value\"},{\"name\":\"DYNAMIC\",\"type\":\"standalone\"}]},{\"name\":\"CHARSET=\",\"optional\":true,\"description\":\"Specifies the character set to be generated in the META declaration for the HTML output.\",\"help\":\"CHARSET=*character-set*\",\"type\":\"value\"},{\"name\":\"CLOSE\",\"optional\":true,\"description\":\"Closes the destination and any files that are associated with it.\",\"type\":\"standalone\"},{\"name\":\"CODE=\",\"optional\":true,\"description\":\"Opens a MARKUP family destination and specifies the file that contains relevant style information, such as XSL (Extensible Stylesheet Language).\",\"help\":\"CODE=NO_BOTTOM_MATTER | NO_TOP_MATTER | TITLE= | URL= | DYNAMIC\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NO_BOTTOM_MATTER\",\"type\":\"standalone\"},{\"name\":\"NO_TOP_MATTER\",\"type\":\"standalone\"},{\"name\":\"TITLE=\",\"type\":\"value\"},{\"name\":\"URL=\",\"type\":\"value\"},{\"name\":\"DYNAMIC\",\"type\":\"standalone\"}]},{\"name\":\"CODEBASE=\",\"optional\":true,\"description\":\"Creates a file path that is used by the GOPTIONS devices.\",\"help\":\"CODEBASE='*string*'\",\"type\":\"value\"},{\"name\":\"CONTENTS=\",\"optional\":true,\"description\":\"Opens a markup family destination and specifies the file that contains a table of contents for the output. These files remain open until you do one of the following: o close the destination with either an ODS markup-family-destination CLOSE statement or ODS _ALL_ CLOSE statement. o open the same destination with a second markup family statement. This closes the first file and opens the second file. file-specification -- specifies the file, fileref, or SAS catalog to write to. file-specification is one of the following: external-file -- is the name of an external file to write to. Requirement: You must enclose external-file in quotation marks. fileref -- is a file reference that has been assigned to an external file. Use the FILENAME statement to assign a fileref. entry.markup -- specifies an entry in a SAS catalog to write to.\",\"help\":\"CONTENTS=NO_BOTTOM_MATTER | NO_TOP_MATTER | TITLE= | URL= | DYNAMIC\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NO_BOTTOM_MATTER\",\"type\":\"standalone\"},{\"name\":\"NO_TOP_MATTER\",\"type\":\"standalone\"},{\"name\":\"TITLE=\",\"type\":\"value\"},{\"name\":\"URL=\",\"type\":\"value\"},{\"name\":\"DYNAMIC\",\"type\":\"standalone\"}]},{\"name\":\"DEVICE=\",\"optional\":true,\"description\":\"Specifies the name of a device driver. ODS automatically selects an optimal default device for each open output destination.\",\"type\":\"value\"},{\"name\":\"ENCODING=\",\"optional\":true,\"description\":\"Overrides the encoding for input or output processing (transcodes) of external files.\",\"help\":\"ENCODING='warabic' | 'wbaltic' | 'wlatin2' | 'wcyrillic' | 'wgreek' | 'whebrew' | 'wturkish' | 'wvietnamese' | 'wlatin1' | 'utf-8' | 'ms-950' | 'ms-936' | 'ms-932' | 'ms-949'*local-character-set-encoding*\",\"type\":\"value\",\"arguments\":[{\"name\":\"'warabic'\",\"description\":\"Arabic\",\"type\":\"standalone\"},{\"name\":\"'wbaltic'\",\"description\":\"Baltic\",\"type\":\"standalone\"},{\"name\":\"'wlatin2'\",\"description\":\"Central Europe\",\"type\":\"standalone\"},{\"name\":\"'wcyrillic'\",\"description\":\"Cyrillic\",\"type\":\"standalone\"},{\"name\":\"'wgreek'\",\"description\":\"Greek\",\"type\":\"standalone\"},{\"name\":\"'whebrew'\",\"description\":\"Hebrew\",\"type\":\"standalone\"},{\"name\":\"'wturkish'\",\"description\":\"Turkish\",\"type\":\"standalone\"},{\"name\":\"'wvietnamese'\",\"description\":\"Vietnamese\",\"type\":\"standalone\"},{\"name\":\"'wlatin1'\",\"description\":\"Western\",\"type\":\"standalone\"},{\"name\":\"'utf-8'\",\"description\":\"Unicode encoding\",\"type\":\"standalone\"},{\"name\":\"'ms-950'\",\"description\":\"Traditional Chinese\",\"type\":\"standalone\"},{\"name\":\"'ms-936'\",\"description\":\"Simplified Chinese\",\"type\":\"standalone\"},{\"name\":\"'ms-932'\",\"description\":\"Japanese\",\"type\":\"standalone\"},{\"name\":\"'ms-949'\",\"description\":\"Korean\",\"type\":\"standalone\"}]},{\"name\":\"EVENT=\",\"optional\":true,\"description\":\"Specifies an event and the value for event variables that are associated with the event.\",\"help\":\"EVENT=FILE= | FINISH | LABEL= | NAME | START | STYLE= | TARGET= | TEXT= | URL=\",\"type\":\"choice\",\"arguments\":[{\"name\":\"FILE=\",\"type\":\"value\"},{\"name\":\"FINISH\",\"type\":\"standalone\"},{\"name\":\"LABEL=\",\"type\":\"value\"},{\"name\":\"NAME\",\"type\":\"standalone\"},{\"name\":\"START\",\"type\":\"standalone\"},{\"name\":\"STYLE=\",\"type\":\"value\"},{\"name\":\"TARGET=\",\"type\":\"value\"},{\"name\":\"TEXT=\",\"type\":\"value\"},{\"name\":\"URL=\",\"type\":\"value\"}]},{\"name\":\"EXCLUDE\",\"optional\":true,\"description\":\"Excludes one or more output objects from the destination.\",\"type\":\"standalone\"},{\"name\":\"FRAME=\",\"optional\":true,\"description\":\"Opens a MARKUP family destination and, for HTML output, specifies the file that integrates the table of contents, the page contents, and the body file.\",\"help\":\"FRAME=NO_BOTTOM_MATTER | NO_TOP_MATTER | TITLE= | URL= | DYNAMIC\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NO_BOTTOM_MATTER\",\"type\":\"standalone\"},{\"name\":\"NO_TOP_MATTER\",\"type\":\"standalone\"},{\"name\":\"TITLE=\",\"type\":\"value\"},{\"name\":\"URL=\",\"type\":\"value\"},{\"name\":\"DYNAMIC\",\"type\":\"standalone\"}]},{\"name\":\"GFOOTNOTE\",\"optional\":true,\"description\":\"Prints footnotes that are created by SAS/GRAPH, the SGPLOT procedure, the SGPANEL procedure, or the SGSCATTER procedure. The footnotes appear inside the graph borders. If you open the frame file, then you see a table of contents, a table of pages, or both, as well as the body file. For XLM output, FRAME= specifies the file that contains the DTD. These files remain open until you do one of the following: o close the destination with either an ODS markup-family-destination CLOSE statement or ODS _ALL_ CLOSE statement. o open the same destination with a second markup family statement. This closes the first file and opens the second file. file-specification specifies the file, fileref, or SAS catalog to write to. file-specification is one of the following: external-file -- is the name of an external file to write to. Requirement: You must enclose external-file in quotation marks. fileref -- is a file reference that has been assigned to an external file. Use the FILENAME statement to assign a fileref. entry.markup -- specifies an entry in a SAS catalog to write to.\",\"type\":\"standalone\"},{\"name\":\"GPATH=\",\"optional\":true,\"description\":\"Specifies the location for all graphics output that is generated while the destination is open. 'aggregate-file-storage-location' specifies an aggregate storage location such as directory, folder, or partitioned data set. Requirement: You must enclose aggregate-file-storage-location in quotation marks. fileref is a file reference that has been assigned to an aggregate storage location. Use the FILENAME statement to assign a fileref. libref.catalog -- specifies a SAS catalog to write to. URL= 'Uniform-Resource-Locator' | NONE -- specifies a URL for file-specification. Uniform-Resource-Locator -- is the URL you specify. ODS uses this URL instead of the filename in all the links and references that it creates to the file. Requirement: You must enclose Uniform-Resource-Locator in quotation marks.\",\"type\":\"value\"},{\"name\":\"GTITLE\",\"optional\":true,\"description\":\"Prints the title that is created by SAS/GRAPH, the SGPLOT procedure, the SGPANEL procedure, or the SGSCATTER procedure. The title appears inside the graph borders.\",\"type\":\"standalone\"},{\"name\":\"HEADTEXT=\",\"optional\":true,\"description\":\"where: markup-document-head specifies the markup tags to place between the <HEAD> and </HEAD> tags.\",\"type\":\"value\"},{\"name\":\"ID=\",\"optional\":true,\"description\":\"Enables you to run multiple instances of the same destination at the same time. Each instance can have different options.\",\"help\":\"ID=ID=\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ID=\",\"type\":\"value\"}]},{\"name\":\"IMAGE_DPI=\",\"optional\":true,\"description\":\"Specifies the image resolution for graphical output. Default: 100. Restriction: The IMAGE_DPI= option affects template-based graphics only.\",\"type\":\"value\"},{\"name\":\"METATEXT=\",\"optional\":true,\"description\":\"where: 'metatext-for-document-head' specifies the HTML code that provides the browser with information about the document that it is loading. For example, this attribute could specify the content type and the character set to use.\",\"type\":\"value\"},{\"name\":\"NEWFILE=\",\"optional\":true,\"description\":\"Creates a new body file at the specified starting-point.\",\"help\":\"NEWFILE=BYGROUP | NONE | OUTPUT|TABLE | PAGE | PROC*starting-point*\",\"type\":\"value\",\"arguments\":[{\"name\":\"BYGROUP\",\"description\":\"Starts a new file for the results of each BY group.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"Writes all output to the body file that is currently open.\",\"type\":\"standalone\"},{\"name\":\"OUTPUT\",\"description\":\"Starts a new body file for each output object.\",\"help\":\"OUTPUT|TABLE\",\"type\":\"choice\"},{\"name\":\"PAGE\",\"description\":\"Starts a new body file for each page of output.\",\"type\":\"standalone\"},{\"name\":\"PROC\",\"description\":\"Starts a new body file each time that you start a new procedure.\",\"type\":\"standalone\"}]},{\"name\":\"NOGFOOTNOTE\",\"optional\":true,\"description\":\"Prints footnotes that are created by ODS, which appears outside the graph borders.\",\"type\":\"standalone\"},{\"name\":\"NOGTITLE\",\"optional\":true,\"description\":\"Prints the title that is created by ODS, which appears outside the graph borders.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"optional\":true,\"description\":\"See the SELECT or EXCLUDE option.\",\"type\":\"standalone\"},{\"name\":\"OPTIONS\",\"optional\":true,\"description\":\"Specifies tagset-specific suboptions and a named value. (DOC='QUICK' | 'HELP' | 'SETTINGS') provides information about the specified tagset. QUICK describes the options available for this tagset. HELP provides generic help and information with a quick reference. SETTINGS provides the current option settings. suboption(s) specifies one or more suboptions that are valid for the specified tagset. Suboptions have the following format:\",\"type\":\"standalone\"},{\"name\":\"PACKAGE\",\"optional\":true,\"description\":\"Specifies that the output from the destination be added to a package.\",\"type\":\"standalone\"},{\"name\":\"PAGE=\",\"optional\":true,\"description\":\"Opens a markup family destination and specifies the file that contains a description of each page of the body file, and contains links to the body file. ODS produces a new page of output whenever a procedure requests a new page. These files remain open until you do one of the following: o close the destination with either an ODS markup-family-destination CLOSE statement or ODS _ALL_ CLOSE statement. o open the same destination with a second markup family statement. This closes the first file and opens the second file. file-specification specifies the file, fileref, or SAS catalog to write to. file-specification is one of the following: external-file -- is the name of an external file to write to. Requirement: You must enclose external-file in quotation marks. fileref -- is a file reference that has been assigned to an external file. Use the FILENAME statement to assign a fileref. entry.markup -- specifies an entry in a SAS catalog to write to. Interaction: If you specify an entry name, you must also specify a library and catalog.\",\"help\":\"PAGE=NO_BOTTOM_MATTER | NO_TOP_MATTER | TITLE= | URL= | DYNAMIC\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NO_BOTTOM_MATTER\",\"type\":\"standalone\"},{\"name\":\"NO_TOP_MATTER\",\"type\":\"standalone\"},{\"name\":\"TITLE=\",\"type\":\"value\"},{\"name\":\"URL=\",\"type\":\"value\"},{\"name\":\"DYNAMIC\",\"type\":\"standalone\"}]},{\"name\":\"PARAMETERS=\",\"optional\":true,\"description\":\"Writes the specified parameters between the tags that generate dynamic graphics output. parameter-pair specifies the name and value of each parameter. parameter-pair has the following form: 'parameter-name'= 'parameter-value' where: parameter-name -- is the name of the parameter.\",\"type\":\"value\"},{\"name\":\"PATH=\",\"optional\":true,\"description\":\"Specifies the location of an aggregate storage location or a SAS catalog for all markup files. If the GPATH= option is not specified, all graphics output files are written to the \\\"aggregate-file-storage-specification\\\" or libref. 'aggregate-file-storage-location' -- specifies an aggregate storage location such as directory, folder, or partitioned data set. Requirement: You must enclose aggregate-file-storage-location in quotation marks. fileref -- is a file reference that has been assigned to an aggregate storage location. Use the FILENAME statement to assign a fileref. Interaction: If you use a fileref in the PATH= option, then ODS does not use information from PATH= when it constructs links. libref.catalog -- specifies a SAS catalog to write to. URL= 'Uniform-Resource-Locator' | NONE -- specifies a URL for the file-specification. Uniform-Resource-Locator is the URL you specify. ODS uses this URL instead of the filename in all the links and references that it creates to the file.\",\"type\":\"value\"},{\"name\":\"RECORD_SEPARATOR=\",\"optional\":true,\"aliases\":[\"RECSEP=\",\"RS=\"],\"description\":\"Specifies an alternative character or string that separates lines in the output files. Different operating environments use different separator characters. If you do not specify a record separator, then the files are formatted for the environment where you run the SAS job. However, if you are generating files for viewing in a different operating environment that uses a different separator character, then you can specify a record separator that is appropriate for the target environment. alternative-separator -- represents one or more characters in hexadecimal or ASCII format. For example, the following option specifies a record separator for a carriage return character and a linefeed character for use with an ASCII file system: RECORD_SEPARATOR= '0D0A'x Operating Environment Information: In a mainframe environment, the option that specifies a record separator for a carriage return character and a linefeed character for use with an ASCII file system is: RECORD_SEPARATOR= '0D25'x Requirement: You must enclose alternative-separator in quotation marks.\",\"help\":\"RECORD_SEPARATOR=NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NONE\",\"type\":\"standalone\"}]},{\"name\":\"SELECT\",\"optional\":true,\"description\":\"Selects one or more output objects for the specified destination.\",\"type\":\"standalone\"},{\"name\":\"SHOW\",\"optional\":true,\"description\":\"Writes the current selection or exclusion list for the destination to the SAS log.\",\"type\":\"standalone\"},{\"name\":\"STYLE=\",\"optional\":true,\"description\":\"Specifies the style definition to use in writing the output files.\",\"type\":\"value\"},{\"name\":\"STYLESHEET=\",\"optional\":true,\"description\":\"Opens a markup family destination and places the style information for markup output into an external file, or reads style sheet information from an existing file. These files remain open until you do one of the following: o close the destination with either an ODS markup-family-destination CLOSE statement or ODS _ALL_ CLOSE statement. o open the same destination with a second markup family statement. This closes the first file and opens the second file. file-specification -- specifies the file, fileref, or SAS catalog to write to. file-specification is one of the following: external-file is the name of an external file to write to. Requirement: You must enclose external-file in quotation marks. fileref is a file reference that has been assigned to an external file. Use the FILENAME statement to assign a fileref. entry.markup -- specifies an entry in a SAS catalog to write to. Interaction: If you specify an entry name, you must also specify a library and catalog. See the discussion of the PATH= option.\",\"help\":\"STYLESHEET=NO_BOTTOM_MATTER | NO_TOP_MATTER | TITLE= | URL= | DYNAMIC\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NO_BOTTOM_MATTER\",\"type\":\"standalone\"},{\"name\":\"NO_TOP_MATTER\",\"type\":\"standalone\"},{\"name\":\"TITLE=\",\"type\":\"value\"},{\"name\":\"URL=\",\"type\":\"value\"},{\"name\":\"DYNAMIC\",\"type\":\"standalone\"}]},{\"name\":\"TAGSET=\",\"optional\":true,\"aliases\":[\"TYPE=\"],\"description\":\"Specifies a keyword value for a tagset. A tagset is a template that defines how to create an output type from a SAS format.\",\"help\":\"TAGSET=CHTML | CORE | CSV | CSVALL | CSVBYLINE | DEFAULT | DOCBOOK | ExcelXP | HTML4 | HTMLCSS | HTMLPANEL | IMODE | MSOFFICE2K | MVSHTML | PHTML | PYX | RTF | SASREPORT | WML | WMLOLIST | XHTML | EVENT_MAP | NAMEDHTML | SHORT_MAP | STYLE_DISPLAY | STYLE_POPUP | TEXT_MAP | TPL_STYLE_LIST | TPL_STYLE_MAP\",\"type\":\"choice\",\"arguments\":[{\"name\":\"CHTML\",\"description\":\"Produces compact, minimal HTML output that does not use style information.\",\"type\":\"standalone\"},{\"name\":\"CORE\",\"description\":\"Contains a table of Unicode values and mnemonics.\",\"type\":\"standalone\"},{\"name\":\"CSV\",\"description\":\"Produces tabular output that contains columns of data values that are separated by commas.\",\"type\":\"standalone\"},{\"name\":\"CSVALL\",\"description\":\"Produces tabular output with titles that contain columns of data values that are separated by commas.\",\"type\":\"standalone\"},{\"name\":\"CSVBYLINE\",\"description\":\"Produces output with comma-separated values and columns of data that are separated by commas.\",\"type\":\"standalone\"},{\"name\":\"DEFAULT\",\"description\":\"Produces XML output.\",\"type\":\"standalone\"},{\"name\":\"DOCBOOK\",\"description\":\"Produces XML output that conforms to the DocBook DTD by OASIS.\",\"type\":\"standalone\"},{\"name\":\"ExcelXP\",\"description\":\"Produces Microsoft's spreadsheetML XML. This tagset is used to import data into XML.\",\"type\":\"standalone\"},{\"name\":\"HTML4\",\"description\":\"Produces HTML 4.0 embedded style sheets.\",\"type\":\"standalone\"},{\"name\":\"HTMLCSS\",\"description\":\"produces HTML output with cascading style sheets that is similar to ODS HTML output.\",\"type\":\"standalone\"},{\"name\":\"HTMLPANEL\",\"description\":\"Creates panels for By-grouped graphs.\",\"type\":\"standalone\"},{\"name\":\"IMODE\",\"description\":\"produces HTML output as a column of output that is separated by lines.\",\"type\":\"standalone\"},{\"name\":\"MSOFFICE2K\",\"description\":\"Produces HTML code for output generated by ODS for Microsoft Office products.\",\"type\":\"standalone\"},{\"name\":\"MVSHTML\",\"description\":\"Produces URLs within HTML files that are used in the z/OS operating environment.\",\"type\":\"standalone\"},{\"name\":\"PHTML\",\"description\":\"Produces simple HTML output that uses twelve style elements and no class attributes.\",\"type\":\"standalone\"},{\"name\":\"PYX\",\"description\":\"Produces PYX, which is a simple, line-oriented notation used by Pyxie to describe the information communicated by an XML parser to an XML application.\",\"type\":\"standalone\"},{\"name\":\"RTF\",\"description\":\"Produces measured RTF.\",\"type\":\"standalone\"},{\"name\":\"SASREPORT\",\"description\":\"Causes imbedded data to be produced in CSV format.\",\"type\":\"standalone\"},{\"name\":\"WML\",\"description\":\"Uses the Wireless Application Protocol (WAP) to produce a Wireless Markup Language (WML) DTD with a list of URLs as a table of contents.\",\"type\":\"standalone\"},{\"name\":\"WMLOLIST\",\"description\":\"Uses the Wireless Application Protocol (WAP) to produce a Wireless Markup Language (WML) DTD with an option list for the table of contents.\",\"type\":\"standalone\"},{\"name\":\"XHTML\",\"description\":\"Produces output in HTML format.\",\"type\":\"standalone\"},{\"name\":\"EVENT_MAP\",\"description\":\"Creates XML output that shows which events are being triggered and which variables are used by an event to send output from a SAS process to an output file.\",\"type\":\"standalone\"},{\"name\":\"NAMEDHTML\",\"description\":\"Creates HTML output similar to STYLE_POPUP, but with all the objects labeled as they are when using ODS TRACE.\",\"type\":\"standalone\"},{\"name\":\"SHORT_MAP\",\"description\":\"Creates a subset of the XML output that is created by the EVENT_MAP tagset.\",\"type\":\"standalone\"},{\"name\":\"STYLE_DISPLAY\",\"description\":\"Creates a sample page of HTML output that is similar to STYLE_POPUP output.\",\"type\":\"standalone\"},{\"name\":\"STYLE_POPUP\",\"description\":\"Creates HTML like HTMLCSS, but if you're using Internet Explorer, STYLE_POPUP displays a window that shows the resolved ODS style definition for any item that you select.\",\"type\":\"standalone\"},{\"name\":\"TEXT_MAP\",\"description\":\"Creates text output that shows which events are being triggered as ODS handles the output objects.\",\"type\":\"standalone\"},{\"name\":\"TPL_STYLE_LIST\",\"description\":\"Creates HTML output in a bulleted list similar to EVENT_MAP but lists only a subset of the possible attributes.\",\"type\":\"standalone\"},{\"name\":\"TPL_STYLE_MAP\",\"description\":\"Creates XML output similar to EVENT_MAP but lists only a subset of the possible attributes.\",\"type\":\"standalone\"}]},{\"name\":\"TEXT=\",\"optional\":true,\"description\":\"Inserts text into your document by triggering the paragraph event and specifying a text string to be assigned to the VALUE event variable.\",\"help\":\"TEXT='*variable-value*'\",\"type\":\"value\"},{\"name\":\"TRANTAB=\",\"optional\":true,\"description\":\"Specifies the translation table to use when transcoding a file for output.\",\"type\":\"value\"}]},{\"name\":\"ODS NOPROCTITLE\",\"description\":\"Suppresses the writing of the title of the procedure that produces the results.\",\"help\":\"ODS NOPROCTITLE\"},{\"name\":\"ODS NOUSEGOPT\",\"description\":\"Specifies that ODS not use traditional SAS/GRAPH option settings for non-graphical output.\",\"help\":\"ODS NOUSEGOPT\"},{\"name\":\"ODS OUTPUT\",\"description\":\"\",\"help\":\"ODS OUTPUT &lt;CLEAR&gt;&lt;CLOSE&gt;&lt;SHOW&gt; ...\",\"arguments\":[{\"name\":\"CLEAR\",\"optional\":true,\"description\":\"Sets the list for the OUTPUT destination to EXCLUDE ALL.\",\"type\":\"standalone\"},{\"name\":\"CLOSE\",\"optional\":true,\"description\":\"Closes the OUTPUT destination. When an ODS destination is closed, ODS does not send output to that destination. Closing a destination frees some system resources.\",\"type\":\"standalone\"},{\"name\":\"MATCH_ALL=\",\"optional\":true,\"description\":\"Creates a new data set for each output object.\",\"type\":\"value\"},{\"name\":\"NOWARN\",\"optional\":true,\"description\":\"Suppresses the warning that an output object was requested but not created.\",\"type\":\"standalone\"},{\"name\":\"PERSIST=\",\"optional\":true,\"description\":\"Determines when ODS closes any data sets that it is creating, and determines when ODS removes output objects from the selection list for the OUTPUT destination.\",\"help\":\"PERSIST=PROC | RUN\",\"type\":\"choice\",\"arguments\":[{\"name\":\"PROC\",\"description\":\"Maintains the list of definitions even after the procedure ends, until you explicitly modify it.\",\"type\":\"standalone\"},{\"name\":\"RUN\",\"description\":\"Maintains the list of definitions and keeps open the data sets that it is creating even if the procedure or DATA step ends, or until you explicitly modify the list.\",\"type\":\"standalone\"}]},{\"name\":\"SHOW\",\"optional\":true,\"description\":\"Writes to the SAS log the current selection or exclusion list for the OUTPUT destination. If the list is the default list (EXCLUDE ALL), then SHOW also writes the current overall selection or exclusion list.\",\"type\":\"standalone\"}]},{\"name\":\"ODS PRINTER\",\"aliases\":[\"ODS PS\",\"ODS PCL\",\"ODS PDF\"],\"description\":\"\",\"help\":\"ODS PRINTER &lt;ALL&gt;&lt;CLOSE&gt;&lt;EXCLUDE exclusion(s)| ALL | NONE&gt; ...\",\"arguments\":[{\"name\":\"ALL\",\"optional\":true,\"description\":\"See the EXCLUDE or SELECT option.\",\"type\":\"standalone\"},{\"name\":\"ANCHOR=\",\"optional\":true,\"aliases\":[\"NAMED_DEST=\",\"BOOKMARK=\"],\"description\":\"Specifies the root name for the anchor tag that identifies each output object in the current file.\",\"help\":\"ANCHOR='*anchor-name*'\",\"type\":\"value\"},{\"name\":\"AUTHOR=\",\"optional\":true,\"description\":\"Inserts into the metadata of a file, the text string that you specify as the author.\",\"help\":\"AUTHOR='*author-text*'\",\"type\":\"value\"},{\"name\":\"BASE=\",\"optional\":true,\"description\":\"base-text is the text that ODS uses as the first part of all references that ODS creates in the file. Consider this specification:\",\"type\":\"value\"},{\"name\":\"BOOKMARKGEN\",\"optional\":true,\"description\":\"Specifies to generate bookmarks in the PDF file.\",\"type\":\"standalone\"},{\"name\":\"BOOKMARKGEN=\",\"optional\":true,\"description\":\"Controls the generation of bookmarks in a PDF file.\",\"help\":\"BOOKMARKGEN=NO|OFF | YES|ON\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NO\",\"description\":\"Specifies not to generate bookmarks in the PDF file.\",\"help\":\"NO|OFF\",\"type\":\"choice\"},{\"name\":\"YES\",\"description\":\"Specifies to generate bookmarks in the PDF file.\",\"help\":\"YES|ON\",\"type\":\"choice\"}]},{\"name\":\"BOOKMARKLIST=\",\"optional\":true,\"description\":\"Specifies whether to generate and display the list of bookmarks for a PDF file.\",\"help\":\"BOOKMARKLIST=HIDE | NONE|NO|OFF | SHOW|YES|ON\",\"type\":\"choice\",\"arguments\":[{\"name\":\"HIDE\",\"description\":\"Generates a list of bookmarks for your PDF file. The bookmarks are not automatically displayed when you open the PDF file.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"Specifies not to generate a list of bookmarks for your PDF file.\",\"help\":\"NONE|NO|OFF\",\"type\":\"choice\"},{\"name\":\"SHOW\",\"description\":\"Generates a list of bookmarks for your PDF file. The bookmarks are automatically displayed when you open the PDF file.\",\"help\":\"SHOW|YES|ON\",\"type\":\"choice\"}]},{\"name\":\"CLOSE\",\"optional\":true,\"description\":\"Closes the destination and any files that are associated with it.\",\"type\":\"standalone\"},{\"name\":\"COLOR=\",\"optional\":true,\"description\":\"Applies the specified color scheme to your output.\",\"help\":\"COLOR=FULL | GRAY|GREY | MONO|BW | NO | YES\",\"type\":\"choice\",\"arguments\":[{\"name\":\"FULL\",\"description\":\"Creates full color output for both text and graphics.\",\"type\":\"standalone\"},{\"name\":\"GRAY\",\"description\":\"Creates gray scale output for both text and graphics.\",\"help\":\"GRAY|GREY\",\"type\":\"choice\"},{\"name\":\"MONO\",\"description\":\"Creates monochromatic output for both text and graphics.\",\"help\":\"MONO|BW\",\"type\":\"choice\"},{\"name\":\"NO\",\"description\":\"Does not use all the color information that the style definition provides.\",\"type\":\"standalone\"},{\"name\":\"YES\",\"description\":\"Uses all the color information that a style definition provides, including background color.\",\"type\":\"standalone\"}]},{\"name\":\"COLUMNS=\",\"optional\":true,\"description\":\"Specifies the number of columns to place across each page of output. n is the number columns per page.\",\"help\":\"COLUMNS=*n*\",\"type\":\"value\"},{\"name\":\"COMPRESS=\",\"optional\":true,\"description\":\"Controls the compression of a PDF file. Compression reduces the size of the file. n specifies the level of compression. The larger the number, the greater the compression. For example, n=0 is completely uncompressed, and n=9 is the maximum compression level.\",\"help\":\"COMPRESS=*n*\",\"type\":\"value\"},{\"name\":\"CONTENTS\",\"optional\":true,\"description\":\"Generates a printable table of contents page.\",\"type\":\"standalone\"},{\"name\":\"CONTENTS=\",\"optional\":true,\"description\":\"Controls the generation of a printable table of contents.\",\"help\":\"CONTENTS=NO | YES\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NO\",\"description\":\"Does not generate a printable table of contents.\",\"type\":\"standalone\"},{\"name\":\"YES\",\"description\":\"Generates a printable table of contents.\",\"type\":\"standalone\"}]},{\"name\":\"CSSSTYLE=\",\"optional\":true,\"description\":\"Specifies a cascading style sheet to apply to your output. file-specification specifies a file, fileref, or URL that contains CSS code. file-specification is one of the following: \\\"external-file\\\" is the name of the external file. Requirement: You must enclose external-file in quotation marks. fileref is a file reference that has been assigned to an external file. Use the FILENAME statement to assign a fileref. \\\"URL\\\" is a URL to an external file. Requirement: You must enclose external-file in quotation marks.\",\"type\":\"value\"},{\"name\":\"DPI=\",\"optional\":true,\"description\":\"Specifies the image resolution for output files. Default: 150 Restriction: The DPI= option takes effect only if specified at the opening of a file.\",\"type\":\"value\"},{\"name\":\"EXCLUDE\",\"optional\":true,\"description\":\"Excludes output objects from the destination.\",\"type\":\"standalone\"},{\"name\":\"FILE=\",\"optional\":true,\"description\":\"Specifies the file that contains the output. external-file is the name of an external file to write to. Requirement: You must enclose external-file in quotation marks.\",\"type\":\"value\"},{\"name\":\"HOST\",\"optional\":true,\"description\":\"Specifies that ODS use the printer drivers that the host system provides. Interaction: In an ODS printer family statement that refers to an open ODS PRINTER destination, the HOST option forces ODS to close the destination and all files that are associated with it, and to open a new instance of the destination.\",\"type\":\"standalone\"},{\"name\":\"ID=\",\"optional\":true,\"description\":\"Enables you to open multiple instances of the same destination at the same time. Each instance can have different options.\",\"help\":\"ID=ID=\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ID=\",\"type\":\"value\"}]},{\"name\":\"KEYWORDS=\",\"optional\":true,\"description\":\"Inserts into the output file's metadata, a string of keywords. Restriction: Use this option only with the ODS PDF statement, the ODS PS statement with the PDFMARK option specified, and the ODS PRINTER statement with the PDFMARK option specified. Restriction: The KEYWORDS= option takes effect only if specified at the opening of a file.\",\"help\":\"KEYWORDS='*keywords-text*'\",\"type\":\"value\"},{\"name\":\"NEWFILE=\",\"optional\":true,\"description\":\"Creates a new file at the specified starting-point.\",\"help\":\"NEWFILE=BYGROUP | NONE | OUTPUT|TABLE | PAGE | PROC\",\"type\":\"choice\",\"arguments\":[{\"name\":\"BYGROUP\",\"description\":\"Starts a new file for the results of each BY group.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"Writes all output to the file that is currently open.\",\"type\":\"standalone\"},{\"name\":\"OUTPUT\",\"description\":\"Starts a new file for each output object. For SAS/GRAPH this means that ODS creates a new file for each SAS/GRAPH output file that the program generates.\",\"help\":\"OUTPUT|TABLE\",\"type\":\"choice\"},{\"name\":\"PAGE\",\"description\":\"Starts a new file for each page of output. A page break occurs when a procedure explicitly starts a new page (not because the page size was exceeded) or when you start a new procedure.\",\"type\":\"standalone\"},{\"name\":\"PROC\",\"description\":\"Starts a body file each time that you start a new procedure.\",\"type\":\"standalone\"}]},{\"name\":\"NOBOOKMARKGEN\",\"optional\":true,\"description\":\"Specifies not to generate bookmarks in the PDF file.\",\"type\":\"standalone\"},{\"name\":\"NOCONTENTS\",\"optional\":true,\"description\":\"Does not generate a printable table of contents.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"optional\":true,\"description\":\"See the EXCLUDE or SELECT option.\",\"type\":\"standalone\"},{\"name\":\"NOPDFNOTE\",\"optional\":true,\"description\":\"Modifies the behavior of PDFMARK so that notes are not added to the file for items that are associated with the FLYOVER= style attribute.\",\"type\":\"standalone\"},{\"name\":\"NOTOC\",\"optional\":true,\"description\":\"Specifies that ODS omit the table of contents (Bookmark list) that is produced by default when producing PDF or PDFMARK output.\",\"type\":\"standalone\"},{\"name\":\"PACKAGE\",\"optional\":true,\"description\":\"Specifies that the output from the destination be added to a package. package-name specifies the name of a package that was created with the ODS PACKAGE statement. If no name is specified, then the output is added to the unnamed package that was opened last.\",\"type\":\"standalone\"},{\"name\":\"PCL\",\"optional\":true,\"description\":\"Creates PCL output. Restriction: Do not use this option in conjunction with the PDF or PS option.\",\"type\":\"standalone\"},{\"name\":\"PDF\",\"optional\":true,\"description\":\"Creates PDF output. Restriction: Do not use this option in conjunction with the PCL or PS option.\",\"type\":\"standalone\"},{\"name\":\"PDFMARK\",\"optional\":true,\"description\":\"Enables ODS to insert special tags into a PostScript file. When you use software such as Adobe Acrobat (not Adobe Viewer), Acrobat Distiller interprets the tags to create a PDF file that contains the following items: o bookmarks for each section of the output and for each table. o references for items that are associated with the URL= style attribute. o notes for items that are associated with the FLYOVER= style attribute. Notes are optional, and are based on the PDFNOTE option.\",\"type\":\"standalone\"},{\"name\":\"PDFNOTE\",\"optional\":true,\"description\":\"Adds notes to a PDF file for items that are associated with the FLYOVER= style attribute.\",\"type\":\"standalone\"},{\"name\":\"PDFTOC=\",\"optional\":true,\"description\":\"Controls the level of the expansion of the table of contents in PDF documents.\",\"help\":\"PDFTOC=*n*\",\"type\":\"value\"},{\"name\":\"PRINTER=\",\"optional\":true,\"aliases\":[\"PRT=\"],\"description\":\"Creates output that is formatted for the specified printer. Default: If you do not specify a printer, then ODS formats the printer output for the printer that is specified by one of two SAS system options: o SYSPRINT= if you are using the Windows operating environment and do not specify any of the following options: PCL, PDFMARK, POSTSCRIPT, PS, or SAS.\",\"help\":\"PRINTER=*printer-name*\",\"type\":\"value\"},{\"name\":\"PS\",\"optional\":true,\"aliases\":[\"POSTCRIPT=\"],\"description\":\"Creates PostScript output.\",\"type\":\"standalone\"},{\"name\":\"SELECT\",\"optional\":true,\"description\":\"Selects output objects for the specified destination.\",\"type\":\"standalone\"},{\"name\":\"SHOW\",\"optional\":true,\"description\":\"Writes the current selection or exclusion list for the destination to the SAS log.\",\"type\":\"standalone\"},{\"name\":\"STARTPAGE=\",\"optional\":true,\"description\":\"Controls page breaks.\",\"help\":\"STARTPAGE=NEVER | NO|OFF | NOW | YES|ON\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NEVER\",\"description\":\"Specifies not to insert page breaks, even before graphics procedures.\",\"type\":\"standalone\"},{\"name\":\"NO\",\"description\":\"Specifies that no new pages be inserted at the beginning of each procedure, or within certain procedures, even if new pages are requested by the procedure code. A new page will begin only when a page is filled or when you specify STARTPAGE=NOW.\",\"help\":\"NO|OFF\",\"type\":\"choice\"},{\"name\":\"NOW\",\"description\":\"Forces the immediate insertion of a new page.\",\"type\":\"standalone\"},{\"name\":\"YES\",\"description\":\"Inserts a new page at the beginning of each procedure, and within certain procedures, as requested by the procedure code.\",\"help\":\"YES|ON\",\"type\":\"choice\"}]},{\"name\":\"STYLE=\",\"optional\":true,\"description\":\"Specifies the style definition to use in writing the printer output.\",\"help\":\"STYLE=*style-definition*\",\"type\":\"value\"},{\"name\":\"SUBJECT=\",\"optional\":true,\"description\":\"Inserts into the metadata of a file the text string that you specify as the subject. subject-text is the text in the metadata of a file that indicates the subject. Restriction: Use this option only with the ODS PDF statement, the ODS PS statement with the PDFMARK option specified, and the ODS PRINTER statement with the PDFMARK option specified. Restriction: The SUBJECT= option takes effect only if specified at the opening of a file.\",\"help\":\"SUBJECT='*subject-text*'\",\"type\":\"value\"},{\"name\":\"TEXT=\",\"optional\":true,\"description\":\"Inserts a text string into your output. Requirement: You must enclose text-string in quotation marks.\",\"help\":\"TEXT='*text-string*'\",\"type\":\"value\"},{\"name\":\"TITLE=\",\"optional\":true,\"description\":\"Inserts into the metadata of a file, the text string that you specify as the title. Restriction: Use this option only with the ODS PDF statement, the ODS PS statement with the PDFMARK option specified, and the ODS PRINTER statement with the PDFMARK option specified. Restriction: The TITLE= option takes effect only if specified at the opening of a file.\",\"help\":\"TITLE='*title-text*'\",\"type\":\"value\"},{\"name\":\"UNIFORM\",\"optional\":true,\"description\":\"For multiple page tables, ensures uniformity from page to page within a single table. When the UNIFORM option is in effect, ODS reads the entire table before it starts to print it so that it can determine the column widths that are necessary to accommodate all the data. These column widths are applied to all pages of a multiple page table.\",\"type\":\"standalone\"}]},{\"name\":\"ODS PROCLABEL\",\"description\":\"where: 'string' is the procedure label that you specify.\",\"help\":\"ODS PROCLABEL 'string'\"},{\"name\":\"ODS PROCTITLE\",\"description\":\"Writes, in the output, the name of the procedure that produces the results.\",\"help\":\"ODS PROCTITLE\"},{\"name\":\"ODS RESULTS\",\"description\":\"Tracks ODS output in the Results window.\",\"help\":\"ODS RESULTS &lt;OFF&gt;&lt;ON&gt;\",\"arguments\":[{\"name\":\"OFF\",\"optional\":true,\"description\":\"Turns off the tracking of output that ODS generates in the Results window.\",\"type\":\"standalone\"},{\"name\":\"ON\",\"optional\":true,\"description\":\"Tracks output that ODS generates in the Results window.\",\"type\":\"standalone\"}]},{\"name\":\"ODS RTF\",\"description\":\"\",\"help\":\"ODS RTF &lt;ALL&gt;&lt;CLOSE&gt;&lt;EXCLUDE exclusion(s)| ALL | NONE&gt; ...\",\"arguments\":[{\"name\":\"ALL\",\"optional\":true,\"description\":\"See the SELECT or EXCLUDE option.\",\"type\":\"standalone\"},{\"name\":\"ANCHOR=\",\"optional\":true,\"description\":\"Specifies the base name for the RTF anchor tag that identifies each output object in the current file.\",\"help\":\"ANCHOR='*anchor-name*'\",\"type\":\"value\"},{\"name\":\"AUTHOR=\",\"optional\":true,\"aliases\":[\"NAMED_DEST=\",\"BOOKMARK=\"],\"description\":\"Inserts the text string that you specify as the author into the metadata of a file.\",\"help\":\"AUTHOR='*author-text*'\",\"type\":\"value\"},{\"name\":\"BASE=\",\"optional\":true,\"description\":\"base-text is the text that ODS uses as the first part of all references that ODS creates in the file. Consider this specification:\",\"type\":\"value\"},{\"name\":\"BODYTITLE\",\"optional\":true,\"description\":\"Specifies that SAS titles and footnotes are placed into the body of the RTF document instead of into the headers and footers section of the RTF document.\",\"type\":\"standalone\"},{\"name\":\"BODYTITLE_AUX\",\"optional\":true,\"description\":\"Specifies that SAS titles and footnotes be placed into the body of the RTF document instead of into the headers and footers section of the RTF document. These titles and footnotes are put into cells, which allows titles and footnotes to be centered, left-justified, or right-justified.\",\"type\":\"standalone\"},{\"name\":\"CLOSE\",\"optional\":true,\"description\":\"Closes the RTF destination and any files that are associated with it.\",\"type\":\"standalone\"},{\"name\":\"COLUMNS=\",\"optional\":true,\"description\":\"Specifies the number of columns to place across each page of output. Default: the number of one-inch columns that fit on the page.\",\"help\":\"COLUMNS=&lt;n&gt; | MAX\",\"type\":\"choice\",\"arguments\":[{\"name\":\"<n>\",\"description\":\"Is the number of one-inch columns that you want on the page.\",\"type\":\"standalone\"},{\"name\":\"MAX\",\"description\":\"Specifies the maximum number of one-inch-wide columns for the paper size and margin setting. This value is dependent upon the paper size and page orientation.\",\"type\":\"standalone\"}]},{\"name\":\"CONTENTS\",\"optional\":true,\"description\":\"Produces a table of contents page for RTF documents that are opened in Microsoft Word. The table of contents page contains a Table of Contents field, which puts all of the contents information that is embedded in the document into a table of contents. To expand the table of contents, right-click under the title in Microsoft Word and select Update Field from the selection list.\",\"type\":\"standalone\"},{\"name\":\"CSSSTYLE=\",\"optional\":true,\"description\":\"Specifies a cascading style sheet to apply to your output. file-specification specifies a file, fileref, or URL that contains CSS code. file-specification is one of the following: \\\"external-file\\\" is the name of the external file. Requirement: You must enclose external-file in quotation marks. fileref is a file reference that has been assigned to an external file. Use the FILENAME statement to assign a fileref. \\\"URL\\\" is a URL to an external file. Requirement: You must enclose external-file in quotation marks.\",\"type\":\"value\"},{\"name\":\"DEVICE=\",\"optional\":true,\"description\":\"Specifies the name of a device driver. ODS automatically selects an optimal default device for each open output destination.\",\"type\":\"value\"},{\"name\":\"ENCODING=\",\"optional\":true,\"description\":\"Overrides the encoding for input or output processing (transcodes) of external files.\",\"help\":\"ENCODING='warabic' | 'wbaltic' | 'wlatin2' | 'wcyrillic' | 'wgreek' | 'whebrew' | 'wturkish' | 'wvietnamese' | 'wlatin1' | 'utf-8' | 'ms-950' | 'ms-936' | 'ms-932' | 'ms-949'*local-character-set-encoding*\",\"type\":\"value\",\"arguments\":[{\"name\":\"'warabic'\",\"description\":\"Arabic\",\"type\":\"standalone\"},{\"name\":\"'wbaltic'\",\"description\":\"Baltic\",\"type\":\"standalone\"},{\"name\":\"'wlatin2'\",\"description\":\"Central Europe\",\"type\":\"standalone\"},{\"name\":\"'wcyrillic'\",\"description\":\"Cyrillic\",\"type\":\"standalone\"},{\"name\":\"'wgreek'\",\"description\":\"Greek\",\"type\":\"standalone\"},{\"name\":\"'whebrew'\",\"description\":\"Hebrew\",\"type\":\"standalone\"},{\"name\":\"'wturkish'\",\"description\":\"Turkish\",\"type\":\"standalone\"},{\"name\":\"'wvietnamese'\",\"description\":\"Vietnamese\",\"type\":\"standalone\"},{\"name\":\"'wlatin1'\",\"description\":\"Western\",\"type\":\"standalone\"},{\"name\":\"'utf-8'\",\"description\":\"Unicode encoding\",\"type\":\"standalone\"},{\"name\":\"'ms-950'\",\"description\":\"Traditional Chinese\",\"type\":\"standalone\"},{\"name\":\"'ms-936'\",\"description\":\"Simplified Chinese\",\"type\":\"standalone\"},{\"name\":\"'ms-932'\",\"description\":\"Japanese\",\"type\":\"standalone\"},{\"name\":\"'ms-949'\",\"description\":\"Korean\",\"type\":\"standalone\"}]},{\"name\":\"EXCLUDE\",\"optional\":true,\"description\":\"Excludes output objects from the RTF destination.\",\"type\":\"standalone\"},{\"name\":\"FILE=\",\"optional\":true,\"description\":\"'external-file' is the name of an external file to which to write.\",\"type\":\"value\"},{\"name\":\"GFOOTNOTE\",\"optional\":true,\"description\":\"Includes all of the currently defined footnotes within the graphics output.\",\"type\":\"standalone\"},{\"name\":\"GTITLE\",\"optional\":true,\"description\":\"Includes all of the currently defined titles within the graphics output that is called by the body file.\",\"type\":\"standalone\"},{\"name\":\"ID=\",\"optional\":true,\"description\":\"Enables you to run multiple instances of the same destination at the same time. Each instance can have different options.\",\"help\":\"ID=ID=\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ID=\",\"type\":\"value\"}]},{\"name\":\"IMAGE_DPI=\",\"optional\":true,\"description\":\"Specifies the image resolution for graphical output. Default: 200. Restriction: The IMAGE_DPI= option affects template-based graphics only.\",\"type\":\"value\"},{\"name\":\"KEEPN\",\"optional\":true,\"description\":\"ODS allows table splits only if the entire table cannot fit on one page.\",\"type\":\"standalone\"},{\"name\":\"NEWFILE=\",\"optional\":true,\"description\":\"Creates a new file at the specified starting-point.\",\"help\":\"NEWFILE=BYGROUP | NONE | OUTPUT|TABLE | PAGE | PROC*starting-point*\",\"type\":\"value\",\"arguments\":[{\"name\":\"BYGROUP\",\"description\":\"Starts a new file for the results of each BY group.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"Writes all output to the body file that is currently open.\",\"type\":\"standalone\"},{\"name\":\"OUTPUT\",\"description\":\"Starts a new body file for each output object.\",\"help\":\"OUTPUT|TABLE\",\"type\":\"choice\"},{\"name\":\"PAGE\",\"description\":\"Starts a new body file for each page of output.\",\"type\":\"standalone\"},{\"name\":\"PROC\",\"description\":\"Starts a new body file each time that you start a new procedure.\",\"type\":\"standalone\"}]},{\"name\":\"NOGFOOTNOTE\",\"optional\":true,\"description\":\"Prevents all of the currently defined footnotes from appearing in the graphics file. Instead, they become part of the RTF file.\",\"type\":\"standalone\"},{\"name\":\"NOGTITLE\",\"optional\":true,\"description\":\"Prevents all of the currently defined titles from appearing in the graphics output. Instead, the titles become part of the RTF file.\",\"type\":\"standalone\"},{\"name\":\"NOKEEPN\",\"optional\":true,\"description\":\"ODS lets a table split at a page break.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"optional\":true,\"description\":\"See the SELECT or EXCLUDE option.\",\"type\":\"standalone\"},{\"name\":\"NOTOC_DATA\",\"optional\":true,\"description\":\"Instructs ODS not to insert contents data into the RTF file.\",\"type\":\"standalone\"},{\"name\":\"OPERATOR=\",\"optional\":true,\"description\":\"Inserts the text you specify into the metadata of the RTF file.\",\"type\":\"value\"},{\"name\":\"PACKAGE\",\"optional\":true,\"description\":\"Specifies that the output from the destination be added to a package. package-name specifies the name of a package that was created with the ODS PACKAGE statement. If no name is specified, then the output is added to the unnamed package that was opened last.\",\"type\":\"standalone\"},{\"name\":\"PATH=\",\"optional\":true,\"description\":\"Specifies the location of an aggregate storage location or a SAS catalog for all markup files. If the GPATH= option is not specified, all graphics output files are written to the \\\"aggregate-file-storage-specification\\\" or libref. 'aggregate-file-storage-location' -- specifies an aggregate storage location such as directory, folder, or partitioned data set. Requirement: You must enclose aggregate-file-storage-location in quotation marks. fileref -- is a file reference that has been assigned to an aggregate storage location. Use the FILENAME statement to assign a fileref. Interaction: If you use a fileref in the PATH= option, then ODS does not use information from PATH= when it constructs links. libref.catalog -- specifies a SAS catalog to write to. URL= 'Uniform-Resource-Locator' | NONE -- specifies a URL for the file-specification. Uniform-Resource-Locator is the URL you specify. ODS uses this URL instead of the filename in all the links and references that it creates to the file.\",\"type\":\"value\"},{\"name\":\"RECORD_SEPARATOR=\",\"optional\":true,\"aliases\":[\"RECSEP=\",\"RS=\"],\"description\":\"Specifies an alternative character or string that separates lines in the output files. Different operating environments use different separator characters. If you do not specify a record separator, then the files are formatted for the environment where you run the SAS job. However, if you are generating files for viewing in a different operating environment that uses a different separator character, then you can specify a record separator that is appropriate for the target environment. alternative-separator -- represents one or more characters in hexadecimal or ASCII format. For example, the following option specifies a record separator for a carriage return character and a linefeed character for use with an ASCII file system: RECORD_SEPARATOR= '0D0A'x Operating Environment Information: In a mainframe environment, the option that specifies a record separator for a carriage return character and a linefeed character for use with an ASCII file system is: RECORD_SEPARATOR= '0D25'x Requirement: You must enclose alternative-separator in quotation marks.\",\"help\":\"RECORD_SEPARATOR=NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NONE\",\"type\":\"standalone\"}]},{\"name\":\"SASDATE\",\"optional\":true,\"description\":\"Writes to the RTF file the time and the date that you started your SAS session.\",\"type\":\"standalone\"},{\"name\":\"SELECT\",\"optional\":true,\"description\":\"Selects output objects for the RTF destination.\",\"type\":\"standalone\"},{\"name\":\"SHOW\",\"optional\":true,\"description\":\"Writes the current selection or exclusion list for the destination to the SAS log.\",\"type\":\"standalone\"},{\"name\":\"STARTPAGE=\",\"optional\":true,\"description\":\"Controls page breaks.\",\"help\":\"STARTPAGE=NEVER | NO|OFF | NOW | YES|ON\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NEVER\",\"description\":\"Specifies not to insert page breaks, even before graphics procedures.\",\"type\":\"standalone\"},{\"name\":\"NO\",\"description\":\"Specifies that no new pages be inserted at the beginning of each procedure, or within certain procedures, even if new pages are requested by the procedure code. A new page will begin only when a page is filled or when you specify STARTPAGE=NOW.\",\"help\":\"NO|OFF\",\"type\":\"choice\"},{\"name\":\"NOW\",\"description\":\"Forces the immediate insertion of a new page.\",\"type\":\"standalone\"},{\"name\":\"YES\",\"description\":\"Inserts a new page at the beginning of each procedure, and within certain procedures, as requested by the procedure code.\",\"help\":\"YES|ON\",\"type\":\"choice\"}]},{\"name\":\"STYLE=\",\"optional\":true,\"description\":\"Specifies the style definition for ODS to use to write the RTF files.\",\"type\":\"value\"},{\"name\":\"TEXT=\",\"optional\":true,\"description\":\"Inserts text into your RTF output. Restriction: You cannot use both the NEWFILE= and TEXT= options in the same ODS RTF statement. You must use a separate ODS RTF statement for each of these options.\",\"type\":\"value\"},{\"name\":\"TITLE=\",\"optional\":true,\"description\":\"Inserts the text string that you specify as the title into the metadata of a file. title-text is the text in the metadata of a file that indicates the title.\",\"type\":\"value\"},{\"name\":\"TOC_DATA\",\"optional\":true,\"description\":\"Instructs ODS to insert contents data into the RTF file.\",\"type\":\"standalone\"},{\"name\":\"TRANTAB=\",\"optional\":true,\"description\":\"Specifies the translation table to use when transcoding a file for output.\",\"type\":\"value\"}]},{\"name\":\"ODS SELECT\",\"description\":\"Specifies output objects for ODS destinations. Each selection has the following form: output-object <(PERSIST)> output-object specifies the output object to select. To specify an output object, you need to know which output objects your SAS program produces. The ODS TRACE statement writes to the SAS log a trace record that includes the path, the label, and other information about each output object that your SAS program produces. (PERSIST) keeps the output-object that precedes the PERSIST option in the selection list, even if the DATA or procedure step ends, until you explicitly modify the list with one of the following: o any ODS EXCLUDE statement o ODS SELECT NONE o ODS SELECT ALL o an ODS SELECT statement that applies to the same output object but does not specify PERSIST Requirement: You must enclose PERSIST in parentheses.\",\"help\":\"ODS SELECT &lt;ALL&gt;&lt;NONE&gt;&lt;NOWARN&gt; ...\",\"arguments\":[{\"name\":\"ALL\",\"optional\":true,\"description\":\"Specifies that ODS send all of the output objects to the open destination. Alias: ODS SELECT DEFAULT\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"optional\":true,\"description\":\"Specifies that ODS does not send any output objects to the open destination. Interaction: If you specify NONE and you do not specify a destination, ODS sets the overall list to SELECT NONE and sets all other lists to their defaults. Tip: Using the NONE action is different from closing a destination. The output destination is still open, but ODS restricts the output that it sends to the destination.\",\"type\":\"standalone\"},{\"name\":\"NOWARN\",\"optional\":true,\"description\":\"Suppresses the warning that an output object was requested but not created.\",\"type\":\"standalone\"},{\"name\":\"WHERE=\",\"optional\":true,\"description\":\"Selects output objects that meet a particular condition. For example, the following statement selects only output objects with the word \\\"Histogram\\\" in their name: ods select where=(_name_ ? 'Histogram'); where-expression is an arithmetic or logical expression that consists of a sequence of operators and operands. where-expression has this form: (subsetting-variable <comparison-operator where-expression-n>) subsetting-variable Subsetting variables are a special kind of WHERE expression operand used by SAS to help you find common values in items. For example, this ODS SELECT statement selects only output objects with the path City_Pop_90.TestsForLocation : ods select / where=(_path_ = 'City_Pop_90.TestsForLocation' ); subsetting-variable is one of the following:\",\"help\":\"WHERE=*where-expression*\",\"type\":\"value\"}]},{\"name\":\"ODS TAGSETS.RTF\",\"description\":\"\",\"help\":\"ODS TAGSETS.RTF &lt;ALL&gt;&lt;CLOSE&gt;&lt;EXCLUDE exclusion(s)| ALL | NONE&gt; ...\",\"arguments\":[{\"name\":\"ALL\",\"optional\":true,\"description\":\"See the SELECT or EXCLUDE option.\",\"type\":\"standalone\"},{\"name\":\"ANCHOR=\",\"optional\":true,\"description\":\"Specifies the base name for the RTF anchor tag that identifies each output object in the current file.\",\"help\":\"ANCHOR='*anchor-name*'\",\"type\":\"value\"},{\"name\":\"AUTHOR=\",\"optional\":true,\"aliases\":[\"NAMED_DEST=\",\"BOOKMARK=\"],\"description\":\"Inserts the text string that you specify as the author into the metadata of a file.\",\"help\":\"AUTHOR='*author-text*'\",\"type\":\"value\"},{\"name\":\"BASE=\",\"optional\":true,\"description\":\"base-text is the text that ODS uses as the first part of all references that ODS creates in the file. Consider this specification:\",\"type\":\"value\"},{\"name\":\"BODYTITLE\",\"optional\":true,\"description\":\"Specifies that SAS titles and footnotes are placed into the body of the RTF document instead of into the headers and footers section of the RTF document.\",\"type\":\"standalone\"},{\"name\":\"BODYTITLE_AUX\",\"optional\":true,\"description\":\"Specifies that SAS titles and footnotes be placed into the body of the RTF document instead of into the headers and footers section of the RTF document. These titles and footnotes are put into cells, which allows titles and footnotes to be centered, left-justified, or right-justified.\",\"type\":\"standalone\"},{\"name\":\"CLOSE\",\"optional\":true,\"description\":\"Closes the RTF destination and any files that are associated with it.\",\"type\":\"standalone\"},{\"name\":\"COLUMNS=\",\"optional\":true,\"description\":\"Specifies the number of columns to place across each page of output. Default: the number of one-inch columns that fit on the page.\",\"help\":\"COLUMNS=&lt;n&gt; | MAX\",\"type\":\"choice\",\"arguments\":[{\"name\":\"<n>\",\"description\":\"Is the number of one-inch columns that you want on the page.\",\"type\":\"standalone\"},{\"name\":\"MAX\",\"description\":\"Specifies the maximum number of one-inch-wide columns for the paper size and margin setting. This value is dependent upon the paper size and page orientation.\",\"type\":\"standalone\"}]},{\"name\":\"CONTENTS\",\"optional\":true,\"description\":\"Produces a table of contents page for RTF documents that are opened in Microsoft Word. The table of contents page contains a Table of Contents field, which puts all of the contents information that is embedded in the document into a table of contents. To expand the table of contents, right-click under the title in Microsoft Word and select Update Field from the selection list.\",\"type\":\"standalone\"},{\"name\":\"CSSSTYLE=\",\"optional\":true,\"description\":\"Specifies a cascading style sheet to apply to your output. file-specification specifies a file, fileref, or URL that contains CSS code. file-specification is one of the following: \\\"external-file\\\" is the name of the external file. Requirement: You must enclose external-file in quotation marks. fileref is a file reference that has been assigned to an external file. Use the FILENAME statement to assign a fileref. \\\"URL\\\" is a URL to an external file. Requirement: You must enclose external-file in quotation marks.\",\"type\":\"value\"},{\"name\":\"DEVICE=\",\"optional\":true,\"description\":\"Specifies the name of a device driver. ODS automatically selects an optimal default device for each open output destination.\",\"type\":\"value\"},{\"name\":\"ENCODING=\",\"optional\":true,\"description\":\"Overrides the encoding for input or output processing (transcodes) of external files.\",\"help\":\"ENCODING='warabic' | 'wbaltic' | 'wlatin2' | 'wcyrillic' | 'wgreek' | 'whebrew' | 'wturkish' | 'wvietnamese' | 'wlatin1' | 'utf-8' | 'ms-950' | 'ms-936' | 'ms-932' | 'ms-949'*local-character-set-encoding*\",\"type\":\"value\",\"arguments\":[{\"name\":\"'warabic'\",\"description\":\"Arabic\",\"type\":\"standalone\"},{\"name\":\"'wbaltic'\",\"description\":\"Baltic\",\"type\":\"standalone\"},{\"name\":\"'wlatin2'\",\"description\":\"Central Europe\",\"type\":\"standalone\"},{\"name\":\"'wcyrillic'\",\"description\":\"Cyrillic\",\"type\":\"standalone\"},{\"name\":\"'wgreek'\",\"description\":\"Greek\",\"type\":\"standalone\"},{\"name\":\"'whebrew'\",\"description\":\"Hebrew\",\"type\":\"standalone\"},{\"name\":\"'wturkish'\",\"description\":\"Turkish\",\"type\":\"standalone\"},{\"name\":\"'wvietnamese'\",\"description\":\"Vietnamese\",\"type\":\"standalone\"},{\"name\":\"'wlatin1'\",\"description\":\"Western\",\"type\":\"standalone\"},{\"name\":\"'utf-8'\",\"description\":\"Unicode encoding\",\"type\":\"standalone\"},{\"name\":\"'ms-950'\",\"description\":\"Traditional Chinese\",\"type\":\"standalone\"},{\"name\":\"'ms-936'\",\"description\":\"Simplified Chinese\",\"type\":\"standalone\"},{\"name\":\"'ms-932'\",\"description\":\"Japanese\",\"type\":\"standalone\"},{\"name\":\"'ms-949'\",\"description\":\"Korean\",\"type\":\"standalone\"}]},{\"name\":\"EXCLUDE\",\"optional\":true,\"description\":\"Excludes output objects from the RTF destination.\",\"type\":\"standalone\"},{\"name\":\"FILE=\",\"optional\":true,\"description\":\"'external-file' is the name of an external file to which to write.\",\"type\":\"value\"},{\"name\":\"GFOOTNOTE\",\"optional\":true,\"description\":\"Includes all of the currently defined footnotes within the graphics output.\",\"type\":\"standalone\"},{\"name\":\"GTITLE\",\"optional\":true,\"description\":\"Includes all of the currently defined titles within the graphics output that is called by the body file.\",\"type\":\"standalone\"},{\"name\":\"ID=\",\"optional\":true,\"description\":\"Enables you to run multiple instances of the same destination at the same time. Each instance can have different options.\",\"help\":\"ID=ID=\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ID=\",\"type\":\"value\"}]},{\"name\":\"IMAGE_DPI=\",\"optional\":true,\"description\":\"Specifies the image resolution for graphical output. Default: 200. Restriction: The IMAGE_DPI= option affects template-based graphics only.\",\"type\":\"value\"},{\"name\":\"KEEPN\",\"optional\":true,\"description\":\"ODS allows table splits only if the entire table cannot fit on one page.\",\"type\":\"standalone\"},{\"name\":\"NEWFILE=\",\"optional\":true,\"description\":\"Creates a new file at the specified starting-point.\",\"help\":\"NEWFILE=BYGROUP | NONE | OUTPUT|TABLE | PAGE | PROC*starting-point*\",\"type\":\"value\",\"arguments\":[{\"name\":\"BYGROUP\",\"description\":\"Starts a new file for the results of each BY group.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"Writes all output to the body file that is currently open.\",\"type\":\"standalone\"},{\"name\":\"OUTPUT\",\"description\":\"Starts a new body file for each output object.\",\"help\":\"OUTPUT|TABLE\",\"type\":\"choice\"},{\"name\":\"PAGE\",\"description\":\"Starts a new body file for each page of output.\",\"type\":\"standalone\"},{\"name\":\"PROC\",\"description\":\"Starts a new body file each time that you start a new procedure.\",\"type\":\"standalone\"}]},{\"name\":\"NOGFOOTNOTE\",\"optional\":true,\"description\":\"Prevents all of the currently defined footnotes from appearing in the graphics file. Instead, they become part of the RTF file.\",\"type\":\"standalone\"},{\"name\":\"NOGTITLE\",\"optional\":true,\"description\":\"Prevents all of the currently defined titles from appearing in the graphics output. Instead, the titles become part of the RTF file.\",\"type\":\"standalone\"},{\"name\":\"NOKEEPN\",\"optional\":true,\"description\":\"ODS lets a table split at a page break.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"optional\":true,\"description\":\"See the SELECT or EXCLUDE option.\",\"type\":\"standalone\"},{\"name\":\"NOTOC_DATA\",\"optional\":true,\"description\":\"Instructs ODS not to insert contents data into the RTF file.\",\"type\":\"standalone\"},{\"name\":\"OPERATOR=\",\"optional\":true,\"description\":\"Inserts the text you specify into the metadata of the RTF file.\",\"type\":\"value\"},{\"name\":\"OPTIONS\",\"optional\":true,\"description\":\"Specifies ODS TAGSETS.RTF specific suboptions and a named value. (CONTENTS= 'YES') produces a table of contents (TOC) page for RTF documents that are opened in Microsoft Word. (DOC='QUICK' | 'HELP' | 'SETTINGS') provides information about the tagset. (SECT='rtf_control_string' | 'OFF' | 'NONE') inserts RTF control words into the section data specifications. TABLES_OFF='style_elements' | 'STYLE_ELEMENTS' | 'OFF' ) determines whether tables will be used. (TOC_DATA ='ON' | 'OFF') specifies whether to show the contents data in the RTF file. (TROWD='rtf_control_string' | ' OFF') inserts raw RTF specifications directly into header descriptions of the table row. (TRHDR='rtf_control_string' | 'OFF')\",\"type\":\"standalone\"},{\"name\":\"PACKAGE\",\"optional\":true,\"description\":\"Specifies that the output from the destination be added to a package. package-name specifies the name of a package that was created with the ODS PACKAGE statement. If no name is specified, then the output is added to the unnamed package that was opened last.\",\"type\":\"standalone\"},{\"name\":\"PAGEPANELS=\",\"optional\":true,\"description\":\"Specifies the number of panels permitted per page before ODS inserts a page break.\",\"help\":\"PAGEPANELS=&lt;n&gt; | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"<n>\",\"description\":\"Specifies a positive integer. Replace n with an actual value.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"Specifies that paneling will be handled the way that it has always been handled by traditional ODS RTF. That is, all of the first panel is written, then all of the second panel, and so on, until all of the table information is written.\",\"type\":\"standalone\"}]},{\"name\":\"PATH=\",\"optional\":true,\"description\":\"Specifies the location of an aggregate storage location or a SAS catalog for all markup files. If the GPATH= option is not specified, all graphics output files are written to the \\\"aggregate-file-storage-specification\\\" or libref. 'aggregate-file-storage-location' -- specifies an aggregate storage location such as directory, folder, or partitioned data set. Requirement: You must enclose aggregate-file-storage-location in quotation marks. fileref -- is a file reference that has been assigned to an aggregate storage location. Use the FILENAME statement to assign a fileref. Interaction: If you use a fileref in the PATH= option, then ODS does not use information from PATH= when it constructs links. libref.catalog -- specifies a SAS catalog to write to. URL= 'Uniform-Resource-Locator' | NONE -- specifies a URL for the file-specification. Uniform-Resource-Locator is the URL you specify. ODS uses this URL instead of the filename in all the links and references that it creates to the file.\",\"type\":\"value\"},{\"name\":\"RECORD_SEPARATOR=\",\"optional\":true,\"aliases\":[\"RECSEP=\",\"RS=\"],\"description\":\"Specifies an alternative character or string that separates lines in the output files. Different operating environments use different separator characters. If you do not specify a record separator, then the files are formatted for the environment where you run the SAS job. However, if you are generating files for viewing in a different operating environment that uses a different separator character, then you can specify a record separator that is appropriate for the target environment. alternative-separator -- represents one or more characters in hexadecimal or ASCII format. For example, the following option specifies a record separator for a carriage return character and a linefeed character for use with an ASCII file system: RECORD_SEPARATOR= '0D0A'x Operating Environment Information: In a mainframe environment, the option that specifies a record separator for a carriage return character and a linefeed character for use with an ASCII file system is: RECORD_SEPARATOR= '0D25'x Requirement: You must enclose alternative-separator in quotation marks.\",\"help\":\"RECORD_SEPARATOR=NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NONE\",\"type\":\"standalone\"}]},{\"name\":\"SASDATE\",\"optional\":true,\"description\":\"Writes to the RTF file the time and the date that you started your SAS session.\",\"type\":\"standalone\"},{\"name\":\"SELECT\",\"optional\":true,\"description\":\"Selects output objects for the RTF destination.\",\"type\":\"standalone\"},{\"name\":\"SHOW\",\"optional\":true,\"description\":\"Writes the current selection or exclusion list for the destination to the SAS log.\",\"type\":\"standalone\"},{\"name\":\"STARTPAGE=\",\"optional\":true,\"description\":\"Controls page breaks.\",\"help\":\"STARTPAGE=NEVER | NO|OFF | NOW | YES|ON\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NEVER\",\"description\":\"Specifies not to insert page breaks, even before graphics procedures.\",\"type\":\"standalone\"},{\"name\":\"NO\",\"description\":\"Specifies that no new pages be inserted at the beginning of each procedure, or within certain procedures, even if new pages are requested by the procedure code. A new page will begin only when a page is filled or when you specify STARTPAGE=NOW.\",\"help\":\"NO|OFF\",\"type\":\"choice\"},{\"name\":\"NOW\",\"description\":\"Forces the immediate insertion of a new page.\",\"type\":\"standalone\"},{\"name\":\"YES\",\"description\":\"Inserts a new page at the beginning of each procedure, and within certain procedures, as requested by the procedure code.\",\"help\":\"YES|ON\",\"type\":\"choice\"}]},{\"name\":\"STYLE=\",\"optional\":true,\"description\":\"Specifies the style definition for ODS to use to write the RTF files.\",\"type\":\"value\"},{\"name\":\"TABLEROWS=\",\"optional\":true,\"description\":\"Specifies the number of rows in each table before ODS inserts a page break. If the table is narrow enough to fit on a page, n lines will be written to the table before a page break. If the table is too wide for a page, the page is broken into panels. In each panel, n rows will be written. When all the panels for n rows have been written, a page break is inserted before the next group of panels is written.\",\"type\":\"value\"},{\"name\":\"TEXT=\",\"optional\":true,\"description\":\"Inserts text into your RTF output. Restriction: You cannot use both the NEWFILE= and TEXT= options in the same ODS RTF statement. You must use a separate ODS RTF statement for each of these options.\",\"type\":\"value\"},{\"name\":\"TITLE=\",\"optional\":true,\"description\":\"Inserts the text string that you specify as the title into the metadata of a file. title-text is the text in the metadata of a file that indicates the title.\",\"type\":\"value\"},{\"name\":\"TOC_DATA\",\"optional\":true,\"description\":\"Instructs ODS to insert contents data into the RTF file.\",\"type\":\"standalone\"},{\"name\":\"TRANTAB=\",\"optional\":true,\"description\":\"Specifies the translation table to use when transcoding a file for output.\",\"type\":\"value\"},{\"name\":\"UNIFORM\",\"optional\":true,\"description\":\"Ensures uniformity from page to page within a single table that requires multiple pages.\",\"type\":\"standalone\"}]},{\"name\":\"ODS TEXT=\",\"description\":\"where: text-string specifies the text to insert into your output. This text is sent to all open supported output destinations. Restriction: The ODS TEXT= statement does not support the OUTPUT destination or the LISTING destination. All other ODS destinations are supported. Requirement: You must enclose 'text-string' in parentheses. Tip: The UserText style element controls text specified with the TEXT= statement.\",\"help\":\"ODS TEXT= 'text-string'\"},{\"name\":\"ODS TRACE\",\"description\":\"\",\"help\":\"ODS TRACE &lt;EXCLUDED&gt; OFF ON ...\",\"arguments\":[{\"name\":\"OFF\",\"aliases\":[\"NO\"],\"description\":\"Turns off the writing of the trace record.\",\"type\":\"standalone\"},{\"name\":\"ON\",\"aliases\":[\"OUTPUT\",\"YES\"],\"description\":\"Turns on the writing of the trace record.\",\"type\":\"standalone\"},{\"name\":\"EXCLUDED\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Includes, in the trace record, information for excluded output objects.\",\"type\":\"standalone\"},{\"name\":\"LABEL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Includes the label path for the output object in the record. You can use a label path anywhere that you can use a path.\",\"type\":\"standalone\"},{\"name\":\"LISTING\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Writes the trace record to the Listing destination, so that each part of the trace record immediately precedes the output object that it describes.\",\"type\":\"standalone\"}]},{\"name\":\"ODS USEGOPT\",\"description\":\"Specifies that ODS use traditional SAS/GRAPH option settings for non-graphical output.\",\"help\":\"ODS USEGOPT\"},{\"name\":\"ODS VERIFY\",\"description\":\"Prints or suppresses a message indicating that a style definition or a table definition being used is not supplied by SAS.\",\"help\":\"ODS VERIFY &lt;ERROR&gt;&lt;OFF&gt;&lt;ON&gt; ...\",\"arguments\":[{\"name\":\"ERROR\",\"optional\":true,\"description\":\"Prints an error message instead of a warning message and does not send output objects to open destinations.\",\"type\":\"standalone\"},{\"name\":\"OFF\",\"optional\":true,\"aliases\":[\"NO\"],\"description\":\"Suppresses the warning.\",\"type\":\"standalone\"},{\"name\":\"ON\",\"optional\":true,\"aliases\":[\"YES\"],\"description\":\"Prints the warning and sends output objects to open destinations.\",\"type\":\"standalone\"},{\"name\":\"WARN\",\"optional\":true,\"description\":\"Prints a warning message and does not send output objects to open destinations.\",\"type\":\"standalone\"}]},{\"name\":\"OTHERWISE\",\"description\":\">\",\"help\":\"OTHERWISE &lt;DO&gt;\",\"arguments\":[{\"name\":\"DO\",\"optional\":true,\"description\":\"Action statement.\",\"type\":\"standalone\"}]},{\"name\":\"OUTPUT\",\"description\":\"Writes the current observation to a SAS data set.\",\"help\":\"OUTPUT&lt;data-set-name(s)&gt;\"},{\"name\":\"PACKAGE\",\"description\":\"Creates a DS2 package. package specifies the package name. package can be one of these forms. catalog.schema.package schema.package catalog.package package catalog is an implementation of the ANSI SQL standard for an SQL catalog, which is a data container object that groups logically related schemas. schema is an implementation of the ANSI SQL standard for an SQL schema, which is a data container object that groups files such as tables and views and other objects supported by a data source such as stored procedures. package is the name of the package. Requirement: Package naming conventions are based on the data source.\",\"help\":\"PACKAGE HASH HITER &lt;SAS_ENCRYPT=&lt;YES | NO&gt;&gt; ...\",\"arguments\":[{\"name\":\"HASH\",\"description\":\"Specifies the name of the package as HASH to register the hash package for use in a DS2 program.\",\"type\":\"standalone\"},{\"name\":\"HITER\",\"description\":\"Specifies the name of the package as HITER to register the hash iterator package for use in a DS2 program.\",\"type\":\"standalone\"},{\"name\":\"ALTER=\",\"optional\":true,\"description\":\"Syntax Description: alter-password must be a valid SAS name. Details: The ALTER= option applies only to a SAS data set. You can use this option to assign a password or to access a read-protected, write-protected, or alter-protected file. When you replace a data set that is protected with an ALTER password, the new data set inherits the ALTER password. The password is blotted out when the code is written in the SAS log. For example: set a(alter=XXXXXXX);\",\"help\":\"ALTER=*alter-password*\",\"type\":\"value\"},{\"name\":\"AS\",\"optional\":true,\"description\":\"Separates the new-name from the old-name.\",\"type\":\"standalone\"},{\"name\":\"BUFNO=\",\"optional\":true,\"description\":\"Syntax Description: n | nK specifies the number of buffers in multiples of 1 (bytes); 1,024 (kilobytes). For example, a value of 8 specifies 8 buffers, and a value of 1k specifies 1024 buffers. hex specifies the number of buffers as a hexadecimal value. You must specify the value beginning with a number (0-9), followed by an X. For example, the value 2dx sets the number of buffers to 45 buffers. MIN sets the minimum number of buffers to 0, which causes SAS to use the minimum optimal value for the operating environment. This is the default.\",\"help\":\"BUFNO=n | nK | hexX | MIN | MAX\",\"type\":\"choice\",\"arguments\":[{\"name\":\"n\",\"description\":\"Specifies the number of buffers in multiples of 1 (bytes). Replace n with an integer value.\",\"type\":\"standalone\"},{\"name\":\"nK\",\"description\":\"Specifies the number of buffers in multiples of 1,024 (kilobytes). Replace n with an integer value.\",\"type\":\"standalone\"},{\"name\":\"hexX\",\"description\":\"Specifies the number of buffers as a hexadecimal value. Replace hex with an actual hexadecimal value.\",\"type\":\"standalone\"},{\"name\":\"MIN\",\"description\":\"Sets the minimum number of buffers to 0, which causes SAS to use the minimum optimal value for the operating environment. This is the default.\",\"type\":\"standalone\"},{\"name\":\"MAX\",\"description\":\"Sets the number of buffers to the maximum possible number in your operating environment, up to the largest four-byte, signed integer, which is 2³¹-1, or approximately 2 billion.\",\"type\":\"standalone\"}]},{\"name\":\"BUFSIZE=\",\"optional\":true,\"description\":\"Syntax Description: n | nK | nM | nG specifies the page size in multiples of 1 (bytes); 1,024 (kilobytes); 1,048,576 (megabytes); or 1,073,741,824 (gigabytes). For example, a value of 8 specifies a page size of 8 bytes, and a value of 4k specifies a page size of 4096 bytes. hexX specifies the page size as a hexadecimal value. You must specify the value beginning with a number (0-9), followed by an X. For example, the value 2dx sets the page size to 45 bytes.\",\"help\":\"BUFSIZE=n | nK | nM | nG | hexX | MAX\",\"type\":\"choice\",\"arguments\":[{\"name\":\"n\",\"description\":\"Specifies the page size in multiples of 1 (bytes). Replace n with an integer value.\",\"type\":\"standalone\"},{\"name\":\"nK\",\"description\":\"Specifies the page size in multiples of 1,024 (kilobytes). Replace n with an integer value.\",\"type\":\"standalone\"},{\"name\":\"nM\",\"description\":\"Specifies the page size in multiples of 1,048,576 (megabytes). Replace n with an integer value.\",\"type\":\"standalone\"},{\"name\":\"nG\",\"description\":\"Specifies the page size in multiples of 1,073,741,824 (gigabytes). Replace n with an integer value.\",\"type\":\"standalone\"},{\"name\":\"hexX\",\"description\":\"Specifies the page size as a hexadecimal value. Replace hex with an actual hexadecimal value.\",\"type\":\"standalone\"},{\"name\":\"MAX\",\"description\":\"Sets the page size to the maximum possible number in your operating environment, up to the largest four-byte, signed integer, which is 2³¹-1, or approximately 2 billion bytes.\",\"type\":\"standalone\"}]},{\"name\":\"BULKLOAD=\",\"optional\":true,\"description\":\"Syntax Description: YES calls a DBMS-specific bulk load facility in order to insert or append rows to a DBMS table.\",\"help\":\"BULKLOAD=YES | NO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YES\",\"description\":\"Calls a DBMS-specific bulk load facility in order to insert or append rows to a DBMS table.\",\"type\":\"standalone\"},{\"name\":\"NO\",\"description\":\"Uses the dynamic SAS/ACCESS engine to insert or append data to a DBMS table.\",\"type\":\"standalone\"}]},{\"name\":\"COMPRESS=\",\"optional\":true,\"description\":\"Syntax Description: NO specifies that the observations in a newly created SAS data set are uncompressed (fixed-length records). YES | CHAR specifies that the observations in a newly created SAS data set are compressed (variable-length records) by SAS using RLE (Run Length Encoding). RLE compresses observations by reducing repeated consecutive characters (including blanks) to two-byte or three-byte representations. Alias: ON Tip: Use this compression algorithm for character data. Note: COMPRESS=CHAR is accepted by Version 7 and later versions. BINARY specifies that the observations in a newly created SAS data set are compressed (variable-length records) by SAS using RDC (Ross Data Compression). RDC combines run-length encoding and sliding-window compression to compress the file.\",\"help\":\"COMPRESS=NO | YES|ON | CHAR | BINARY\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NO\",\"description\":\"Specifies that the observations in a newly created SAS data set are uncompressed (fixed-length records).\",\"type\":\"standalone\"},{\"name\":\"YES\",\"description\":\"Specifies that the observations in a newly created SAS data set are compressed (variable-length records) by SAS using RLE (Run Length Encoding). RLE compresses observations by reducing repeated consecutive characters (including blanks) to two-byte or three-byte representations.\",\"help\":\"YES|ON\",\"type\":\"choice\"},{\"name\":\"CHAR\",\"description\":\"Specifies that the observations in a newly created SAS data set are compressed (variable-length records) by SAS using RLE (Run Length Encoding). RLE compresses observations by reducing repeated consecutive characters (including blanks) to two-byte or three-byte representations. COMPRESS=CHAR is accepted by Version 7 and later versions.\",\"type\":\"standalone\"},{\"name\":\"BINARY\",\"description\":\"Specifies that the observations in a newly created SAS data set are compressed (variable-length records) by SAS using RDC (Ross Data Compression). RDC combines run-length encoding and sliding-window compression to compress the file.\",\"type\":\"standalone\"}]},{\"name\":\"DBKEY=\",\"optional\":true,\"description\":\"Syntax Description: column used by SAS to build an internal WHERE clause to search for matches in the DBMS table based on the key column. For example:\",\"type\":\"value\"},{\"name\":\"DBNULL=\",\"optional\":true,\"description\":\"Syntax Description: _ALL_ specifies that the YES or NO applies to all columns in the table. (This is valid in the interfaces to Informix, Oracle, Sybase, and Teradata only.) YES specifies that the NULL value is valid for the specified columns in the DBMS table. NO specifies that the NULL value is not valid for the specified columns in the DBMS table. column specifies the name of a column. Details: This option is valid only for creating DBMS tables. If you specify more than one column name, the names must be separated with spaces.\",\"help\":\"DBNULL=_ALL_\",\"type\":\"choice\",\"arguments\":[{\"name\":\"_ALL_\",\"type\":\"standalone\"}]},{\"name\":\"DROP=\",\"optional\":true,\"description\":\"Arguments: column-list specifies the names of the columns to omit from the output table. Restriction: Numbered range lists in the format col1-col5 and name prefix lists in the format col: are not supported. Details: The DROP= table option specifies that all columns in the column-list should not be included in the creation of output rows. Normally, all columns in the program data vector are included in the output rows. If the drop attribute is specified, all columns not included in the drop statement will be used to create columns in the output rows.\",\"type\":\"value\"},{\"name\":\"ENCRYPT=\",\"optional\":true,\"description\":\"Syntax Description: YES encrypts the file. The encryption method uses passwords. At a minimum, you must specify the READ= or the PW= table option at the same time that you specify ENCRYPT=YES. Because the encryption method uses passwords, you cannot change any password on an encrypted data set without re-creating the data set. NO does not encrypt the file.\",\"help\":\"ENCRYPT=YES | NO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YES\",\"description\":\"Encrypts the file. The encryption method uses passwords. At a minimum, you must specify the READ= or the PW= table option at the same time that you specify ENCRYPT=YES. Because the encryption method uses passwords, you cannot change any password on an encrypted data set without re-creating the data set.\",\"type\":\"standalone\"},{\"name\":\"NO\",\"description\":\"Does not encrypt the file.\",\"type\":\"standalone\"}]},{\"name\":\"EXTENSION=\",\"optional\":true,\"aliases\":[\"EXT=\"],\"description\":\"Specifies that the package is of type hash or hash iterator.\",\"help\":\"EXTENSION='HASH' | 'HITER'\",\"type\":\"choice\",\"arguments\":[{\"name\":\"'HASH'\",\"description\":\"Specifies that the package is of type hash.\",\"type\":\"standalone\"},{\"name\":\"'HITER'\",\"description\":\"Specifies that the package is of type hash iterator.\",\"type\":\"standalone\"}]},{\"name\":\"KEEP=\",\"optional\":true,\"description\":\"Arguments: column-list specifies the names of the columns to keep in the output table. Restriction: Numbered range lists in the format col1-col5 and name prefix lists in the format col: are not supported. Details: The KEEP= table option specifies that all columns in the column-list should be included in the creation of output rows. Normally, all columns in the program data vector are included in the output rows. If the keep attribute is specified, all columns not included in the KEEP statement will be dropped from the output rows.\",\"type\":\"value\"},{\"name\":\"LABEL=\",\"optional\":true,\"description\":\"Syntax Description:\",\"help\":\"LABEL='*label*'\",\"type\":\"value\"},{\"name\":\"LOCKTABLE=\",\"optional\":true,\"description\":\"Syntax Description: SHARE locks a table in shared mode, allowing other users or processes to read data from the tables, but preventing users from updating data. EXCLUSIVE locks a table exclusively, preventing other users from accessing any table that you open. Details: You can lock tables only if you are the owner or have been granted the necessary privilege.\",\"help\":\"LOCKTABLE=SHARE | EXCLUSIVE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"SHARE\",\"description\":\"Locks a table in shared mode, allowing other users or processes to read data from the tables, but preventing users from updating data.\",\"type\":\"standalone\"},{\"name\":\"EXCLUSIVE\",\"description\":\"Locks a table exclusively, preventing other users from accessing any table that you open.\",\"type\":\"standalone\"}]},{\"name\":\"OVERWRITE=\",\"optional\":true,\"description\":\"Arguments: YES | NO specifies whether the output table is deleted before a replacement output table is created or whether a package or thread is dropped. Default: NO\",\"help\":\"OVERWRITE=YES | NO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YES\",\"description\":\"Specifies that the output table is deleted before a replacement output table is created or a package or thread is dropped.\",\"type\":\"standalone\"},{\"name\":\"NO\",\"description\":\"Specifies that the output table is not deleted before a replacement output table is created or a package or thread is dropped.\",\"type\":\"standalone\"}]},{\"name\":\"PW=\",\"optional\":true,\"description\":\"Syntax Description: password must be a valid SAS name. Details: The PW= option applies to all types of SAS files. You can use this option to assign a password to a SAS file or to access a password-protected SAS file. When replacing a SAS data set that is protected by an ALTER password, the new data set inherits the ALTER password. When the code is written to the SAS log the password is blotted out, for example: drop thread job2 (pw=xxxxxxx);\",\"help\":\"PW=*password*\",\"type\":\"value\"},{\"name\":\"READ=\",\"optional\":true,\"description\":\"Syntax Description: read-password must be a valid SAS name. Details: The READ= option applies to all types of SAS files except catalogs. You can use this option to assign a password to a SAS file or to access a read-protected SAS file. When the code is written to the SAS log, the password is blotted out, for example: declare package sales (read=XXXXXXX);\",\"help\":\"READ=*read-password*\",\"type\":\"value\"},{\"name\":\"RENAME=\",\"optional\":true,\"description\":\"Arguments: old-name the column you want to rename. new-name the new name of the column. It must be a valid name for the data source. Details: The RENAME= table option allows you to change the names of one or more columns. If you use RENAME= when you create a table, the new column name is included in the output table. If you use RENAME= on an input table, the new name is used in DS2 programming statements. If you use RENAME= in the same DS2 program with either the DROP= or the KEEP= table option, the DROP= and the KEEP= table options are applied before RENAME=. You must use the old name in the DROP= and KEEP= table options. You cannot drop and rename the same column in the same statement.\",\"help\":\"RENAME=AS\",\"type\":\"choice\",\"arguments\":[{\"name\":\"AS\",\"type\":\"standalone\"}]},{\"name\":\"SAS_ENCRYPT=\",\"optional\":true,\"description\":\"Specifies the encryption algorithm.\",\"help\":\"SAS_ENCRYPT=YES | NO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YES\",\"description\":\"Specifies the SAS Proprietary algorithm.\",\"type\":\"standalone\"},{\"name\":\"NO\",\"description\":\"Specifies the Advanced Encryption Standard (AES) algorithm.\",\"type\":\"standalone\"}]},{\"name\":\"TYPE=\",\"optional\":true,\"description\":\"Syntax Description: data-set-type specifies the special type of the data set. Details: Use the TYPE= table option to create a special SAS data set in the proper format, or to identify the special type of the SAS data set in a procedure statement.\",\"help\":\"TYPE=*data-set-type*\",\"type\":\"dataSet\"},{\"name\":\"WRITE=\",\"optional\":true,\"description\":\"Syntax Description: write-password must be a valid SAS name. Details: The WRITE= option applies to all types of SAS files except catalogs. You can use this option to assign a password to a SAS file or to access a write-protected SAS file. When the code is written to the SAS log, the password is blotted out, for example: drop thread job2a (write=XXXXXXX);\",\"help\":\"WRITE=*write-password*\",\"type\":\"value\"}]},{\"name\":\"PAGE\",\"description\":\"Skips to a new page in the SAS log.\",\"help\":\"PAGE\"},{\"name\":\"PUT\",\"description\":\"Writes lines to the SAS log, to the SAS output window, or to an external location that is specified in the most recent FILE statement.\",\"help\":\"PUT &lt;_ALL_&gt;&lt;_INFILE_&gt;&lt;_ODS_&gt; ...\",\"arguments\":[{\"name\":\"OVERPRINT\",\"optional\":true,\"description\":\"Causes the values that follow the keyword OVERPRINT to print on the most recently written output line.\",\"type\":\"standalone\"},{\"name\":\"_ALL_\",\"optional\":true,\"description\":\"Writes the values of all variables, which includes automatic variables, that are defined in the current DATA step by using named output.\",\"type\":\"standalone\"},{\"name\":\"_BLANKPAGE_\",\"optional\":true,\"description\":\"Advances the pointer to the first line of a new page, even when the pointer is positioned on the first line and the first column of a new page.\",\"type\":\"standalone\"},{\"name\":\"_INFILE_\",\"optional\":true,\"description\":\"Writes the last input data record that is read either from the current input file or from the data lines that follow a DATELINES statement.\",\"type\":\"standalone\"},{\"name\":\"_ODS_\",\"optional\":true,\"description\":\"Moves data values for all columns (as defined by the ODS option in the FILE statement) into a special buffer, from which it is eventually written to the data component. The ODS option in the FILE statement defines the structure of the data component that holds the results of the DATA step.\",\"type\":\"standalone\"},{\"name\":\"_PAGE_\",\"optional\":true,\"description\":\"Advances the pointer to the first line of a new page. SAS automatically begins a new page when a line exceeds the current PAGESIZE= value.\",\"type\":\"standalone\"}]},{\"name\":\"PUTLOG\",\"description\":\"Writes a message to the SAS log.\",\"help\":\"PUTLOG 'message'\"},{\"name\":\"RDISPLAY\",\"description\":\"Creates a Log window to display the lines from the log and an Output window to list the output generated from the execution of the statements within an asynchronous RSUBMIT block.\",\"help\":\"RDISPLAY &lt;&lt;CONNECTREMOTE=&gt;server-ID &gt;\"},{\"name\":\"REDIRECT\",\"description\":\"Points to different input or output SAS data sets when you execute a stored program.\",\"help\":\"REDIRECT INPUT OUTPUT \",\"arguments\":[{\"name\":\"INPUT\",\"description\":\"Specifies to redirect input data sets.\",\"type\":\"standalone\"},{\"name\":\"OUTPUT\",\"description\":\"Specifies to redirect output data sets.\",\"type\":\"standalone\"}]},{\"name\":\"REMOVE\",\"description\":\"Deletes an observation from a SAS data set.\",\"help\":\"REMOVE &lt;data-set-name(s)&gt;\"},{\"name\":\"RENAME\",\"description\":\"Specifies new names for variables in output SAS data sets.\",\"help\":\"RENAME old-name-1=new-name-1 ... &lt;old-name-n=new-name-n&gt;\"},{\"name\":\"REPLACE\",\"description\":\"Replaces an observation in the same location.\",\"help\":\"REPLACE &lt;data-set-name-1&gt;&lt;...data-set-name-n&gt;\"},{\"name\":\"RETAIN\",\"description\":\"Causes a variable that is created by an INPUT or assignment statement to retain its value from one iteration of the DATA step to the next.\",\"help\":\"RETAIN &lt;element-list(s) &lt;initial-value(s) |\"},{\"name\":\"RETURN\",\"description\":\"Stops executing statements at the current point in the DATA step and returns to a predetermined point in the step.\",\"help\":\"RETURN\"},{\"name\":\"RGET\",\"description\":\"Retrieves the log and output that are created by an asynchronous RSUBMIT and merges them into the Log and Output windows of the client session.\",\"help\":\"RGET &lt;&lt;CONNECTREMOTE=&gt;server-ID&gt;\"},{\"name\":\"RSUBMIT\",\"description\":\"Marks the beginning of a block of statements that a client session submits to a server session for execution.\",\"help\":\"RSUBMIT &lt;options&gt;; ENDRSUBMIT &lt;CANCEL&gt;\"},{\"name\":\"SELECT\",\"description\":\"\",\"help\":\"\"},{\"name\":\"SET\",\"description\":\"Reads an observation from one or more SAS data sets.\",\"help\":\"SET &lt;END=variable&gt;&lt;INDSNAME=variable&gt;&lt;KEY=index&lt;/UNIQUE&gt;&gt; ...\",\"arguments\":[{\"name\":\"ALTER=\",\"optional\":true,\"description\":\"\",\"type\":\"value\"},{\"name\":\"BUFNO=\",\"optional\":true,\"description\":\"\",\"help\":\"BUFNO=n | nK | hexX | MIN | MAX\",\"type\":\"choice\",\"arguments\":[{\"name\":\"n\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"nK\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"hexX\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"MIN\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"MAX\",\"description\":\"\",\"type\":\"standalone\"}]},{\"name\":\"BUFSIZE=\",\"optional\":true,\"description\":\"\",\"help\":\"BUFSIZE=n | nK | nM | nG | hexX | MIN | MAX\",\"type\":\"choice\",\"arguments\":[{\"name\":\"n\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"nK\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"nM\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"nG\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"hexX\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"MIN\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"MAX\",\"description\":\"\",\"type\":\"standalone\"}]},{\"name\":\"CNTLLEV=\",\"optional\":true,\"description\":\"\",\"help\":\"CNTLLEV=LIB | MEM | REC\",\"type\":\"choice\",\"arguments\":[{\"name\":\"LIB\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"MEM\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"REC\",\"description\":\"\",\"type\":\"standalone\"}]},{\"name\":\"COMPRESS=\",\"optional\":true,\"description\":\"\",\"help\":\"COMPRESS=NO | YES | CHAR | BINARY\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NO\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"YES\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"CHAR\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"BINARY\",\"description\":\"\",\"type\":\"standalone\"}]},{\"name\":\"CUREOBS=\",\"optional\":true,\"description\":\"Creates and names a variable that contains the observation number that was just read from the data set.\",\"type\":\"value\"},{\"name\":\"DLDMGACTION=\",\"optional\":true,\"description\":\"\",\"help\":\"DLDMGACTION=FAIL | ABORT | REPAIR | NOINDEX | PROMPT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"FAIL\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"ABORT\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"REPAIR\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"NOINDEX\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"PROMPT\",\"description\":\"\",\"type\":\"standalone\"}]},{\"name\":\"DROP=\",\"optional\":true,\"description\":\"\",\"type\":\"value\"},{\"name\":\"ENCRYPT=\",\"optional\":true,\"description\":\"\",\"help\":\"ENCRYPT=YES | NO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YES\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"NO\",\"description\":\"\",\"type\":\"standalone\"}]},{\"name\":\"ENCRYPTKEY=\",\"optional\":true,\"description\":\"\",\"type\":\"value\"},{\"name\":\"END=\",\"optional\":true,\"description\":\"Creates and names a temporary variable that contains an end-of-file indicator. The variable, which is initialized to zero, is set to 1 when SET reads the last observation of the last data set listed. This variable is not added to any new data set.\",\"help\":\"END=*variable*\",\"type\":\"value\"},{\"name\":\"EXTENDOBSCOUNTER=\",\"optional\":true,\"description\":\"\",\"type\":\"value\"},{\"name\":\"FILECLOSE=\",\"optional\":true,\"description\":\"\",\"help\":\"FILECLOSE=DISP | LEAVE | REREAD | REWIND\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DISP\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"LEAVE\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"REREAD\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"REWIND\",\"description\":\"\",\"type\":\"standalone\"}]},{\"name\":\"FIRSTOBS=\",\"optional\":true,\"description\":\"\",\"help\":\"FIRSTOBS=n | nK | nM | nG | hexX | MIN | MAX\",\"type\":\"choice\",\"arguments\":[{\"name\":\"n\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"nK\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"nM\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"nG\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"hexX\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"MIN\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"MAX\",\"description\":\"\",\"type\":\"standalone\"}]},{\"name\":\"GENMAX=\",\"optional\":true,\"description\":\"Requests generations for a data set and specifies the maximum number of versions.\",\"type\":\"value\"},{\"name\":\"GENNUM=\",\"optional\":true,\"description\":\"\",\"type\":\"value\"},{\"name\":\"IDXNAME=\",\"optional\":true,\"description\":\"\",\"type\":\"value\"},{\"name\":\"IDXWHERE=\",\"optional\":true,\"description\":\"\",\"help\":\"IDXWHERE=YES | NO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YES\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"NO\",\"description\":\"\",\"type\":\"standalone\"}]},{\"name\":\"IN=\",\"optional\":true,\"description\":\"\",\"type\":\"value\"},{\"name\":\"INDEX=\",\"optional\":true,\"description\":\"\",\"type\":\"value\"},{\"name\":\"INDSNAME=\",\"optional\":true,\"description\":\"Creates and names a variable that stores the name of the SAS data set from which the current observation is read. The stored name can be a data set name or a physical name. The physical name is the name by which the operating environment recognizes the file.\",\"help\":\"INDSNAME=*variable*\",\"type\":\"value\"},{\"name\":\"KEEP=\",\"optional\":true,\"description\":\"\",\"type\":\"value\"},{\"name\":\"KEY=\",\"optional\":true,\"description\":\"Provides nonsequential access to observations in a SAS data set, which are based on the value of an index variable or a key.\",\"type\":\"value\"},{\"name\":\"KEYRESET=\",\"optional\":true,\"description\":\"Controls whether a KEY= search should begin at the top of the index for the data set that is being read. When the value of the KEYRESET variable is 1, the index lookup begins at the top of the index. When the value of the KEYRESET variable is 0, the index lookup is not reset and the lookup continues where the prior lookup ended.\",\"help\":\"KEYRESET=*variable*\",\"type\":\"value\"},{\"name\":\"LABEL=\",\"optional\":true,\"description\":\"\",\"type\":\"value\"},{\"name\":\"NOBS=\",\"optional\":true,\"description\":\"Creates and names a temporary variable whose value is usually the total number of observations in the input data set or data sets. If more than one data set is listed in the SET statement, NOBS= the total number of observations in the data sets that are listed. The number of observations includes those observations that are marked for deletion but are not yet deleted.\",\"help\":\"NOBS=*variable*\",\"type\":\"value\"},{\"name\":\"NOMISS\",\"optional\":true,\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"OBS=\",\"optional\":true,\"description\":\"\",\"help\":\"OBS=n | nK | nM | nG | nT | hexX | MIN | MAX\",\"type\":\"choice\",\"arguments\":[{\"name\":\"n\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"nK\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"nM\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"nG\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"nT\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"hexX\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"MIN\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"MAX\",\"description\":\"\",\"type\":\"standalone\"}]},{\"name\":\"OPEN=\",\"optional\":true,\"description\":\"Allows you to delay the opening of any concatenated SAS data sets until they are ready to be processed.\",\"help\":\"OPEN=IMMEDIATE | DEFER\",\"type\":\"choice\",\"arguments\":[{\"name\":\"IMMEDIATE\",\"description\":\"During the compilation phase, opens all data sets that are listed in the SET statement.\",\"type\":\"standalone\"},{\"name\":\"DEFER\",\"description\":\"Opens the first data set during the compilation phase, and opens subsequent data sets during the execution phase. When the DATA step reads and processes all observations in a data set, it closes the data set and opens the next data set in the list.\",\"type\":\"standalone\"}]},{\"name\":\"OUTREP=\",\"optional\":true,\"description\":\"\",\"type\":\"value\"},{\"name\":\"POINT=\",\"optional\":true,\"description\":\"Specifies a temporary variable whose numeric value determines which observation is read. POINT= causes the SET statement to use random (direct) access to read a SAS data set.\",\"help\":\"POINT=*variable*\",\"type\":\"value\"},{\"name\":\"POINTOBS=\",\"optional\":true,\"description\":\"\",\"help\":\"POINTOBS=YES | NO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YES\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"NO\",\"description\":\"\",\"type\":\"standalone\"}]},{\"name\":\"PW=\",\"optional\":true,\"description\":\"\",\"type\":\"value\"},{\"name\":\"PWREQ=\",\"optional\":true,\"description\":\"\",\"help\":\"PWREQ=YES | NO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YES\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"NO\",\"description\":\"\",\"type\":\"standalone\"}]},{\"name\":\"READ=\",\"optional\":true,\"description\":\"Assigns a read password to a SAS file and enables access to a read-protected SAS file.\",\"type\":\"value\"},{\"name\":\"RENAME=\",\"optional\":true,\"description\":\"\",\"type\":\"value\"},{\"name\":\"REPEMPTY=\",\"optional\":true,\"description\":\"\",\"help\":\"REPEMPTY=YES | NO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YES\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"NO\",\"description\":\"\",\"type\":\"standalone\"}]},{\"name\":\"REPLACE=\",\"optional\":true,\"description\":\"\",\"help\":\"REPLACE=YES | NO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YES\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"NO\",\"description\":\"\",\"type\":\"standalone\"}]},{\"name\":\"REUSE=\",\"optional\":true,\"description\":\"\",\"help\":\"REUSE=YES | NO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YES\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"NO\",\"description\":\"\",\"type\":\"standalone\"}]},{\"name\":\"SGIO=\",\"optional\":true,\"description\":\"\",\"help\":\"SGIO=YES | NO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YES\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"NO\",\"description\":\"\",\"type\":\"standalone\"}]},{\"name\":\"SORTEDBY=\",\"optional\":true,\"description\":\"\",\"help\":\"SORTEDBY=by-clause &lt; / collate-name&gt; | _NULL_\",\"type\":\"choice\",\"arguments\":[{\"name\":\"by-clause\",\"description\":\"\",\"help\":\"by-clause &lt; / collate-name&gt;\",\"type\":\"standalone\"},{\"name\":\"_NULL_\",\"description\":\"\",\"type\":\"standalone\"}]},{\"name\":\"SPILL=\",\"optional\":true,\"description\":\"\",\"help\":\"SPILL=YES | NO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YES\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"NO\",\"description\":\"\",\"type\":\"standalone\"}]},{\"name\":\"TOBSNO=\",\"optional\":true,\"description\":\"\",\"type\":\"value\"},{\"name\":\"TRANTAB=\",\"optional\":true,\"description\":\"\",\"type\":\"value\"},{\"name\":\"TYPE=\",\"optional\":true,\"description\":\"\",\"type\":\"value\"},{\"name\":\"UNIQUE\",\"optional\":true,\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"WHERE=\",\"optional\":true,\"description\":\"\",\"type\":\"value\"},{\"name\":\"WHEREUP=\",\"optional\":true,\"description\":\"\",\"help\":\"WHEREUP=YES | NO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YES\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"NO\",\"description\":\"\",\"type\":\"standalone\"}]},{\"name\":\"WRITE=\",\"optional\":true,\"description\":\"\",\"type\":\"value\"}]},{\"name\":\"SIGNOFF\",\"description\":\"Ends the connection between a client session and a server session.\",\"help\":\"SIGNOFF &lt;options&gt;\"},{\"name\":\"SIGNON\",\"description\":\"Initiates a connection between a client session and a server session.\",\"help\":\"SIGNON &lt;options&gt; \"},{\"name\":\"SKIP\",\"description\":\"Creates a blank line in the SAS log.\",\"help\":\"SKIP &lt;n&gt;\"},{\"name\":\"STOP\",\"description\":\"Stops execution of the current DATA step.\",\"help\":\"STOP\"},{\"name\":\"SYSTASK\",\"description\":\"Executes, lists, or terminates asynchronous tasks.\",\"help\":\"SYSTASK COMMAND \\\"operating system command\\\"\"},{\"name\":\"TABLE\",\"description\":\"] Begins a DS2 program and provides names for any output tables. <table-expression>::=table (table-options) | _ROWSET_ (table-options) | _NULL_ Without Arguments: If you do not specify any table names with the TABLE|DATA statement, then the DS2 program returns table rows to the client application and no tables are created. Arguments: table specifies the name of the table. table can be one of these forms. catalog.schema.table-name schema.table-name catalog.table-name table-name where: catalog is an implementation of the ANSI SQL standard for an SQL catalog, which is a data container object that groups logically related schemas. schema is an implementation of the ANSI SQL standard for an SQL schema, which is a data container object that groups files such as tables and views and other objects supported by a data source such as stored procedures. table-name is the name of the table. Requirements: Table naming conventions are based on the data source. _ROWSET_ specifies that the DATA statement should not create a table, but it should instead return table rows to the client application. _NULL_ specifies that the DATA statement should not create a table or return rows to the client application. table-options specifies optional arguments that the DS2 program applies when it writes rows to the output table.\",\"help\":\"TABLE &lt;ALTER=alter-password&gt;&lt;_NULL_&gt;&lt;_ROWSET_&gt; ...\",\"arguments\":[{\"name\":\"ALTER=\",\"optional\":true,\"description\":\"Syntax Description: alter-password must be a valid SAS name. Details: The ALTER= option applies only to a SAS data set. You can use this option to assign a password or to access a read-protected, write-protected, or alter-protected file. When you replace a data set that is protected with an ALTER password, the new data set inherits the ALTER password. The password is blotted out when the code is written in the SAS log. For example: set a(alter=XXXXXXX);\",\"help\":\"ALTER=*alter-password*\",\"type\":\"value\"},{\"name\":\"AS\",\"optional\":true,\"description\":\"Separates the new-name from the old-name.\",\"type\":\"standalone\"},{\"name\":\"BUFNO=\",\"optional\":true,\"description\":\"Syntax Description: n | nK specifies the number of buffers in multiples of 1 (bytes); 1,024 (kilobytes). For example, a value of 8 specifies 8 buffers, and a value of 1k specifies 1024 buffers. hex specifies the number of buffers as a hexadecimal value. You must specify the value beginning with a number (0-9), followed by an X. For example, the value 2dx sets the number of buffers to 45 buffers. MIN sets the minimum number of buffers to 0, which causes SAS to use the minimum optimal value for the operating environment. This is the default.\",\"help\":\"BUFNO=n | nK | hexX | MIN | MAX\",\"type\":\"choice\",\"arguments\":[{\"name\":\"n\",\"description\":\"Specifies the number of buffers in multiples of 1 (bytes). Replace n with an integer value.\",\"type\":\"standalone\"},{\"name\":\"nK\",\"description\":\"Specifies the number of buffers in multiples of 1,024 (kilobytes). Replace n with an integer value.\",\"type\":\"standalone\"},{\"name\":\"hexX\",\"description\":\"Specifies the number of buffers as a hexadecimal value. Replace hex with an actual hexadecimal value.\",\"type\":\"standalone\"},{\"name\":\"MIN\",\"description\":\"Sets the minimum number of buffers to 0, which causes SAS to use the minimum optimal value for the operating environment. This is the default.\",\"type\":\"standalone\"},{\"name\":\"MAX\",\"description\":\"Sets the number of buffers to the maximum possible number in your operating environment, up to the largest four-byte, signed integer, which is 2³¹-1, or approximately 2 billion.\",\"type\":\"standalone\"}]},{\"name\":\"BUFSIZE=\",\"optional\":true,\"description\":\"Syntax Description: n | nK | nM | nG specifies the page size in multiples of 1 (bytes); 1,024 (kilobytes); 1,048,576 (megabytes); or 1,073,741,824 (gigabytes). For example, a value of 8 specifies a page size of 8 bytes, and a value of 4k specifies a page size of 4096 bytes. hexX specifies the page size as a hexadecimal value. You must specify the value beginning with a number (0-9), followed by an X. For example, the value 2dx sets the page size to 45 bytes.\",\"help\":\"BUFSIZE=n | nK | nM | nG | hexX | MAX\",\"type\":\"choice\",\"arguments\":[{\"name\":\"n\",\"description\":\"Specifies the page size in multiples of 1 (bytes). Replace n with an integer value.\",\"type\":\"standalone\"},{\"name\":\"nK\",\"description\":\"Specifies the page size in multiples of 1,024 (kilobytes). Replace n with an integer value.\",\"type\":\"standalone\"},{\"name\":\"nM\",\"description\":\"Specifies the page size in multiples of 1,048,576 (megabytes). Replace n with an integer value.\",\"type\":\"standalone\"},{\"name\":\"nG\",\"description\":\"Specifies the page size in multiples of 1,073,741,824 (gigabytes). Replace n with an integer value.\",\"type\":\"standalone\"},{\"name\":\"hexX\",\"description\":\"Specifies the page size as a hexadecimal value. Replace hex with an actual hexadecimal value.\",\"type\":\"standalone\"},{\"name\":\"MAX\",\"description\":\"Sets the page size to the maximum possible number in your operating environment, up to the largest four-byte, signed integer, which is 2³¹-1, or approximately 2 billion bytes.\",\"type\":\"standalone\"}]},{\"name\":\"BULKLOAD=\",\"optional\":true,\"description\":\"Syntax Description: YES calls a DBMS-specific bulk load facility in order to insert or append rows to a DBMS table.\",\"help\":\"BULKLOAD=YES | NO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YES\",\"description\":\"Calls a DBMS-specific bulk load facility in order to insert or append rows to a DBMS table.\",\"type\":\"standalone\"},{\"name\":\"NO\",\"description\":\"Uses the dynamic SAS/ACCESS engine to insert or append data to a DBMS table.\",\"type\":\"standalone\"}]},{\"name\":\"COMPRESS=\",\"optional\":true,\"description\":\"Syntax Description: NO specifies that the observations in a newly created SAS data set are uncompressed (fixed-length records). YES | CHAR specifies that the observations in a newly created SAS data set are compressed (variable-length records) by SAS using RLE (Run Length Encoding). RLE compresses observations by reducing repeated consecutive characters (including blanks) to two-byte or three-byte representations. Alias: ON Tip: Use this compression algorithm for character data. Note: COMPRESS=CHAR is accepted by Version 7 and later versions. BINARY specifies that the observations in a newly created SAS data set are compressed (variable-length records) by SAS using RDC (Ross Data Compression). RDC combines run-length encoding and sliding-window compression to compress the file.\",\"help\":\"COMPRESS=NO | YES|ON | CHAR | BINARY\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NO\",\"description\":\"Specifies that the observations in a newly created SAS data set are uncompressed (fixed-length records).\",\"type\":\"standalone\"},{\"name\":\"YES\",\"description\":\"Specifies that the observations in a newly created SAS data set are compressed (variable-length records) by SAS using RLE (Run Length Encoding). RLE compresses observations by reducing repeated consecutive characters (including blanks) to two-byte or three-byte representations.\",\"help\":\"YES|ON\",\"type\":\"choice\"},{\"name\":\"CHAR\",\"description\":\"Specifies that the observations in a newly created SAS data set are compressed (variable-length records) by SAS using RLE (Run Length Encoding). RLE compresses observations by reducing repeated consecutive characters (including blanks) to two-byte or three-byte representations. COMPRESS=CHAR is accepted by Version 7 and later versions.\",\"type\":\"standalone\"},{\"name\":\"BINARY\",\"description\":\"Specifies that the observations in a newly created SAS data set are compressed (variable-length records) by SAS using RDC (Ross Data Compression). RDC combines run-length encoding and sliding-window compression to compress the file.\",\"type\":\"standalone\"}]},{\"name\":\"DBKEY=\",\"optional\":true,\"description\":\"Syntax Description: column used by SAS to build an internal WHERE clause to search for matches in the DBMS table based on the key column. For example:\",\"type\":\"value\"},{\"name\":\"DBNULL=\",\"optional\":true,\"description\":\"Syntax Description: _ALL_ specifies that the YES or NO applies to all columns in the table. (This is valid in the interfaces to Informix, Oracle, Sybase, and Teradata only.) YES specifies that the NULL value is valid for the specified columns in the DBMS table. NO specifies that the NULL value is not valid for the specified columns in the DBMS table. column specifies the name of a column. Details: This option is valid only for creating DBMS tables. If you specify more than one column name, the names must be separated with spaces.\",\"help\":\"DBNULL=_ALL_\",\"type\":\"choice\",\"arguments\":[{\"name\":\"_ALL_\",\"type\":\"standalone\"}]},{\"name\":\"DROP=\",\"optional\":true,\"description\":\"Arguments: column-list specifies the names of the columns to omit from the output table. Restriction: Numbered range lists in the format col1-col5 and name prefix lists in the format col: are not supported. Details: The DROP= table option specifies that all columns in the column-list should not be included in the creation of output rows. Normally, all columns in the program data vector are included in the output rows. If the drop attribute is specified, all columns not included in the drop statement will be used to create columns in the output rows.\",\"type\":\"value\"},{\"name\":\"ENCRYPT=\",\"optional\":true,\"description\":\"Syntax Description: YES encrypts the file. The encryption method uses passwords. At a minimum, you must specify the READ= or the PW= table option at the same time that you specify ENCRYPT=YES. Because the encryption method uses passwords, you cannot change any password on an encrypted data set without re-creating the data set. NO does not encrypt the file.\",\"help\":\"ENCRYPT=YES | NO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YES\",\"description\":\"Encrypts the file. The encryption method uses passwords. At a minimum, you must specify the READ= or the PW= table option at the same time that you specify ENCRYPT=YES. Because the encryption method uses passwords, you cannot change any password on an encrypted data set without re-creating the data set.\",\"type\":\"standalone\"},{\"name\":\"NO\",\"description\":\"Does not encrypt the file.\",\"type\":\"standalone\"}]},{\"name\":\"KEEP=\",\"optional\":true,\"description\":\"Arguments: column-list specifies the names of the columns to keep in the output table. Restriction: Numbered range lists in the format col1-col5 and name prefix lists in the format col: are not supported. Details: The KEEP= table option specifies that all columns in the column-list should be included in the creation of output rows. Normally, all columns in the program data vector are included in the output rows. If the keep attribute is specified, all columns not included in the KEEP statement will be dropped from the output rows.\",\"type\":\"value\"},{\"name\":\"LABEL=\",\"optional\":true,\"description\":\"Syntax Description:\",\"help\":\"LABEL='*label*'\",\"type\":\"value\"},{\"name\":\"LOCKTABLE=\",\"optional\":true,\"description\":\"Syntax Description: SHARE locks a table in shared mode, allowing other users or processes to read data from the tables, but preventing users from updating data. EXCLUSIVE locks a table exclusively, preventing other users from accessing any table that you open. Details: You can lock tables only if you are the owner or have been granted the necessary privilege.\",\"help\":\"LOCKTABLE=SHARE | EXCLUSIVE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"SHARE\",\"description\":\"Locks a table in shared mode, allowing other users or processes to read data from the tables, but preventing users from updating data.\",\"type\":\"standalone\"},{\"name\":\"EXCLUSIVE\",\"description\":\"Locks a table exclusively, preventing other users from accessing any table that you open.\",\"type\":\"standalone\"}]},{\"name\":\"OVERWRITE=\",\"optional\":true,\"description\":\"Arguments: YES | NO specifies whether the output table is deleted before a replacement output table is created or whether a package or thread is dropped. Default: NO\",\"help\":\"OVERWRITE=YES | NO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YES\",\"description\":\"Specifies that the output table is deleted before a replacement output table is created or a package or thread is dropped.\",\"type\":\"standalone\"},{\"name\":\"NO\",\"description\":\"Specifies that the output table is not deleted before a replacement output table is created or a package or thread is dropped.\",\"type\":\"standalone\"}]},{\"name\":\"PW=\",\"optional\":true,\"description\":\"Syntax Description: password must be a valid SAS name. Details: The PW= option applies to all types of SAS files. You can use this option to assign a password to a SAS file or to access a password-protected SAS file. When replacing a SAS data set that is protected by an ALTER password, the new data set inherits the ALTER password. When the code is written to the SAS log the password is blotted out, for example: drop thread job2 (pw=xxxxxxx);\",\"help\":\"PW=*password*\",\"type\":\"value\"},{\"name\":\"READ=\",\"optional\":true,\"description\":\"Syntax Description: read-password must be a valid SAS name. Details: The READ= option applies to all types of SAS files except catalogs. You can use this option to assign a password to a SAS file or to access a read-protected SAS file. When the code is written to the SAS log, the password is blotted out, for example: declare package sales (read=XXXXXXX);\",\"help\":\"READ=*read-password*\",\"type\":\"value\"},{\"name\":\"RENAME=\",\"optional\":true,\"description\":\"Arguments: old-name the column you want to rename. new-name the new name of the column. It must be a valid name for the data source. Details: The RENAME= table option allows you to change the names of one or more columns. If you use RENAME= when you create a table, the new column name is included in the output table. If you use RENAME= on an input table, the new name is used in DS2 programming statements. If you use RENAME= in the same DS2 program with either the DROP= or the KEEP= table option, the DROP= and the KEEP= table options are applied before RENAME=. You must use the old name in the DROP= and KEEP= table options. You cannot drop and rename the same column in the same statement.\",\"help\":\"RENAME=AS\",\"type\":\"choice\",\"arguments\":[{\"name\":\"AS\",\"type\":\"standalone\"}]},{\"name\":\"TYPE=\",\"optional\":true,\"description\":\"Syntax Description: data-set-type specifies the special type of the data set. Details: Use the TYPE= table option to create a special SAS data set in the proper format, or to identify the special type of the SAS data set in a procedure statement.\",\"help\":\"TYPE=*data-set-type*\",\"type\":\"dataSet\"},{\"name\":\"WRITE=\",\"optional\":true,\"description\":\"Syntax Description: write-password must be a valid SAS name. Details: The WRITE= option applies to all types of SAS files except catalogs. You can use this option to assign a password to a SAS file or to access a write-protected SAS file. When the code is written to the SAS log, the password is blotted out, for example: drop thread job2a (write=XXXXXXX);\",\"help\":\"WRITE=*write-password*\",\"type\":\"value\"},{\"name\":\"_NULL_\",\"optional\":true,\"description\":\"Specifies that the TABLE statement should not create a table or return rows to the client application.\",\"type\":\"standalone\"},{\"name\":\"_ROWSET_\",\"optional\":true,\"description\":\"Specifies that the TABLE statement should not create a table, but it should instead return table rows to the client application.\",\"type\":\"standalone\"}]},{\"name\":\"THREAD\",\"description\":\"] Creates a DS2 program thread. thread specifies the thread name. thread can be one of these forms. catalog.schema.thread schema.thread catalog.thread thread catalog is an implementation of the ANSI SQL standard for an SQL catalog, which is a data container object that groups logically related schemas. schema is an implementation of the ANSI SQL standard for an SQL schema, which is a data container object that groups files such as tables and views and other objects supported by a data source such as stored procedures. thread is the name of the thread. Requirement: Thread naming conventions are based on the data source.\",\"help\":\"THREAD &lt;ALTER=alter-password&gt;&lt;BUFNO=&lt;n | nK | hexX&gt;... &gt;&lt;SAS_ENCRYPT=&lt;YES | NO&gt;&gt; ...\",\"arguments\":[{\"name\":\"ALTER=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Syntax Description: alter-password must be a valid SAS name. Details: The ALTER= option applies only to a SAS data set. You can use this option to assign a password or to access a read-protected, write-protected, or alter-protected file. When you replace a data set that is protected with an ALTER password, the new data set inherits the ALTER password. The password is blotted out when the code is written in the SAS log. For example: set a(alter=XXXXXXX);\",\"help\":\"ALTER=*alter-password*\",\"type\":\"value\"},{\"name\":\"AS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Separates the new-name from the old-name.\",\"type\":\"standalone\"},{\"name\":\"BUFNO=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Syntax Description: n | nK specifies the number of buffers in multiples of 1 (bytes); 1,024 (kilobytes). For example, a value of 8 specifies 8 buffers, and a value of 1k specifies 1024 buffers. hex specifies the number of buffers as a hexadecimal value. You must specify the value beginning with a number (0-9), followed by an X. For example, the value 2dx sets the number of buffers to 45 buffers. MIN sets the minimum number of buffers to 0, which causes SAS to use the minimum optimal value for the operating environment. This is the default.\",\"help\":\"BUFNO=n | nK | hexX | MIN | MAX\",\"type\":\"choice\",\"arguments\":[{\"name\":\"n\",\"followsDelimiter\":\"/\",\"description\":\"Specifies the number of buffers in multiples of 1 (bytes). Replace n with an integer value.\",\"type\":\"standalone\"},{\"name\":\"nK\",\"followsDelimiter\":\"/\",\"description\":\"Specifies the number of buffers in multiples of 1,024 (kilobytes). Replace n with an integer value.\",\"type\":\"standalone\"},{\"name\":\"hexX\",\"followsDelimiter\":\"/\",\"description\":\"Specifies the number of buffers as a hexadecimal value. Replace hex with an actual hexadecimal value.\",\"type\":\"standalone\"},{\"name\":\"MIN\",\"followsDelimiter\":\"/\",\"description\":\"Sets the minimum number of buffers to 0, which causes SAS to use the minimum optimal value for the operating environment. This is the default.\",\"type\":\"standalone\"},{\"name\":\"MAX\",\"followsDelimiter\":\"/\",\"description\":\"Sets the number of buffers to the maximum possible number in your operating environment, up to the largest four-byte, signed integer, which is 2³¹-1, or approximately 2 billion.\",\"type\":\"standalone\"}]},{\"name\":\"BUFSIZE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Syntax Description: n | nK | nM | nG specifies the page size in multiples of 1 (bytes); 1,024 (kilobytes); 1,048,576 (megabytes); or 1,073,741,824 (gigabytes). For example, a value of 8 specifies a page size of 8 bytes, and a value of 4k specifies a page size of 4096 bytes. hexX specifies the page size as a hexadecimal value. You must specify the value beginning with a number (0-9), followed by an X. For example, the value 2dx sets the page size to 45 bytes.\",\"help\":\"BUFSIZE=n | nK | nM | nG | hexX | MAX\",\"type\":\"choice\",\"arguments\":[{\"name\":\"n\",\"followsDelimiter\":\"/\",\"description\":\"Specifies the page size in multiples of 1 (bytes). Replace n with an integer value.\",\"type\":\"standalone\"},{\"name\":\"nK\",\"followsDelimiter\":\"/\",\"description\":\"Specifies the page size in multiples of 1,024 (kilobytes). Replace n with an integer value.\",\"type\":\"standalone\"},{\"name\":\"nM\",\"followsDelimiter\":\"/\",\"description\":\"Specifies the page size in multiples of 1,048,576 (megabytes). Replace n with an integer value.\",\"type\":\"standalone\"},{\"name\":\"nG\",\"followsDelimiter\":\"/\",\"description\":\"Specifies the page size in multiples of 1,073,741,824 (gigabytes). Replace n with an integer value.\",\"type\":\"standalone\"},{\"name\":\"hexX\",\"followsDelimiter\":\"/\",\"description\":\"Specifies the page size as a hexadecimal value. Replace hex with an actual hexadecimal value.\",\"type\":\"standalone\"},{\"name\":\"MAX\",\"followsDelimiter\":\"/\",\"description\":\"Sets the page size to the maximum possible number in your operating environment, up to the largest four-byte, signed integer, which is 2³¹-1, or approximately 2 billion bytes.\",\"type\":\"standalone\"}]},{\"name\":\"BULKLOAD=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Syntax Description: YES calls a DBMS-specific bulk load facility in order to insert or append rows to a DBMS table.\",\"help\":\"BULKLOAD=YES | NO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YES\",\"followsDelimiter\":\"/\",\"description\":\"Calls a DBMS-specific bulk load facility in order to insert or append rows to a DBMS table.\",\"type\":\"standalone\"},{\"name\":\"NO\",\"followsDelimiter\":\"/\",\"description\":\"Uses the dynamic SAS/ACCESS engine to insert or append data to a DBMS table.\",\"type\":\"standalone\"}]},{\"name\":\"COMPRESS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Syntax Description: NO specifies that the observations in a newly created SAS data set are uncompressed (fixed-length records). YES | CHAR specifies that the observations in a newly created SAS data set are compressed (variable-length records) by SAS using RLE (Run Length Encoding). RLE compresses observations by reducing repeated consecutive characters (including blanks) to two-byte or three-byte representations. Alias: ON Tip: Use this compression algorithm for character data. Note: COMPRESS=CHAR is accepted by Version 7 and later versions. BINARY specifies that the observations in a newly created SAS data set are compressed (variable-length records) by SAS using RDC (Ross Data Compression). RDC combines run-length encoding and sliding-window compression to compress the file.\",\"help\":\"COMPRESS=NO | YES|ON | CHAR | BINARY\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NO\",\"followsDelimiter\":\"/\",\"description\":\"Specifies that the observations in a newly created SAS data set are uncompressed (fixed-length records).\",\"type\":\"standalone\"},{\"name\":\"YES\",\"followsDelimiter\":\"/\",\"description\":\"Specifies that the observations in a newly created SAS data set are compressed (variable-length records) by SAS using RLE (Run Length Encoding). RLE compresses observations by reducing repeated consecutive characters (including blanks) to two-byte or three-byte representations.\",\"help\":\"YES|ON\",\"type\":\"choice\"},{\"name\":\"CHAR\",\"followsDelimiter\":\"/\",\"description\":\"Specifies that the observations in a newly created SAS data set are compressed (variable-length records) by SAS using RLE (Run Length Encoding). RLE compresses observations by reducing repeated consecutive characters (including blanks) to two-byte or three-byte representations. COMPRESS=CHAR is accepted by Version 7 and later versions.\",\"type\":\"standalone\"},{\"name\":\"BINARY\",\"followsDelimiter\":\"/\",\"description\":\"Specifies that the observations in a newly created SAS data set are compressed (variable-length records) by SAS using RDC (Ross Data Compression). RDC combines run-length encoding and sliding-window compression to compress the file.\",\"type\":\"standalone\"}]},{\"name\":\"DBKEY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Syntax Description: column used by SAS to build an internal WHERE clause to search for matches in the DBMS table based on the key column. For example:\",\"type\":\"value\"},{\"name\":\"DBNULL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Syntax Description: _ALL_ specifies that the YES or NO applies to all columns in the table. (This is valid in the interfaces to Informix, Oracle, Sybase, and Teradata only.) YES specifies that the NULL value is valid for the specified columns in the DBMS table. NO specifies that the NULL value is not valid for the specified columns in the DBMS table. column specifies the name of a column. Details: This option is valid only for creating DBMS tables. If you specify more than one column name, the names must be separated with spaces.\",\"help\":\"DBNULL=_ALL_\",\"type\":\"choice\",\"arguments\":[{\"name\":\"_ALL_\",\"type\":\"standalone\"}]},{\"name\":\"DROP=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Arguments: column-list specifies the names of the columns to omit from the output table. Restriction: Numbered range lists in the format col1-col5 and name prefix lists in the format col: are not supported. Details: The DROP= table option specifies that all columns in the column-list should not be included in the creation of output rows. Normally, all columns in the program data vector are included in the output rows. If the drop attribute is specified, all columns not included in the drop statement will be used to create columns in the output rows.\",\"type\":\"value\"},{\"name\":\"ENCRYPT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Syntax Description: YES encrypts the file. The encryption method uses passwords. At a minimum, you must specify the READ= or the PW= table option at the same time that you specify ENCRYPT=YES. Because the encryption method uses passwords, you cannot change any password on an encrypted data set without re-creating the data set. NO does not encrypt the file.\",\"help\":\"ENCRYPT=YES | NO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YES\",\"followsDelimiter\":\"/\",\"description\":\"Encrypts the file. The encryption method uses passwords. At a minimum, you must specify the READ= or the PW= table option at the same time that you specify ENCRYPT=YES. Because the encryption method uses passwords, you cannot change any password on an encrypted data set without re-creating the data set.\",\"type\":\"standalone\"},{\"name\":\"NO\",\"followsDelimiter\":\"/\",\"description\":\"Does not encrypt the file.\",\"type\":\"standalone\"}]},{\"name\":\"KEEP=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Arguments: column-list specifies the names of the columns to keep in the output table. Restriction: Numbered range lists in the format col1-col5 and name prefix lists in the format col: are not supported. Details: The KEEP= table option specifies that all columns in the column-list should be included in the creation of output rows. Normally, all columns in the program data vector are included in the output rows. If the keep attribute is specified, all columns not included in the KEEP statement will be dropped from the output rows.\",\"type\":\"value\"},{\"name\":\"LABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Syntax Description:\",\"help\":\"LABEL='*label*'\",\"type\":\"value\"},{\"name\":\"LOCKTABLE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Syntax Description: SHARE locks a table in shared mode, allowing other users or processes to read data from the tables, but preventing users from updating data. EXCLUSIVE locks a table exclusively, preventing other users from accessing any table that you open. Details: You can lock tables only if you are the owner or have been granted the necessary privilege.\",\"help\":\"LOCKTABLE=SHARE | EXCLUSIVE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"SHARE\",\"followsDelimiter\":\"/\",\"description\":\"Locks a table in shared mode, allowing other users or processes to read data from the tables, but preventing users from updating data.\",\"type\":\"standalone\"},{\"name\":\"EXCLUSIVE\",\"followsDelimiter\":\"/\",\"description\":\"Locks a table exclusively, preventing other users from accessing any table that you open.\",\"type\":\"standalone\"}]},{\"name\":\"OVERWRITE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Arguments: YES | NO specifies whether the output table is deleted before a replacement output table is created or whether a package or thread is dropped. Default: NO\",\"help\":\"OVERWRITE=YES | NO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YES\",\"followsDelimiter\":\"/\",\"description\":\"Specifies that the output table is deleted before a replacement output table is created or a package or thread is dropped.\",\"type\":\"standalone\"},{\"name\":\"NO\",\"followsDelimiter\":\"/\",\"description\":\"Specifies that the output table is not deleted before a replacement output table is created or a package or thread is dropped.\",\"type\":\"standalone\"}]},{\"name\":\"PW=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Syntax Description: password must be a valid SAS name. Details: The PW= option applies to all types of SAS files. You can use this option to assign a password to a SAS file or to access a password-protected SAS file. When replacing a SAS data set that is protected by an ALTER password, the new data set inherits the ALTER password. When the code is written to the SAS log the password is blotted out, for example: drop thread job2 (pw=xxxxxxx);\",\"help\":\"PW=*password*\",\"type\":\"value\"},{\"name\":\"READ=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Syntax Description: read-password must be a valid SAS name. Details: The READ= option applies to all types of SAS files except catalogs. You can use this option to assign a password to a SAS file or to access a read-protected SAS file. When the code is written to the SAS log, the password is blotted out, for example: declare package sales (read=XXXXXXX);\",\"help\":\"READ=*read-password*\",\"type\":\"value\"},{\"name\":\"RENAME=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Arguments: old-name the column you want to rename. new-name the new name of the column. It must be a valid name for the data source. Details: The RENAME= table option allows you to change the names of one or more columns. If you use RENAME= when you create a table, the new column name is included in the output table. If you use RENAME= on an input table, the new name is used in DS2 programming statements. If you use RENAME= in the same DS2 program with either the DROP= or the KEEP= table option, the DROP= and the KEEP= table options are applied before RENAME=. You must use the old name in the DROP= and KEEP= table options. You cannot drop and rename the same column in the same statement.\",\"help\":\"RENAME=AS\",\"type\":\"choice\",\"arguments\":[{\"name\":\"AS\",\"type\":\"standalone\"}]},{\"name\":\"SAS_ENCRYPT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the encryption algorithm.\",\"help\":\"SAS_ENCRYPT=YES | NO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YES\",\"followsDelimiter\":\"/\",\"description\":\"Specifies the SAS Proprietary algorithm.\",\"type\":\"standalone\"},{\"name\":\"NO\",\"followsDelimiter\":\"/\",\"description\":\"Specifies the Advanced Encryption Standard (AES) algorithm.\",\"type\":\"standalone\"}]},{\"name\":\"TYPE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Syntax Description: data-set-type specifies the special type of the data set. Details: Use the TYPE= table option to create a special SAS data set in the proper format, or to identify the special type of the SAS data set in a procedure statement.\",\"help\":\"TYPE=*data-set-type*\",\"type\":\"dataSet\"},{\"name\":\"WRITE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Syntax Description: write-password must be a valid SAS name. Details: The WRITE= option applies to all types of SAS files except catalogs. You can use this option to assign a password to a SAS file or to access a write-protected SAS file. When the code is written to the SAS log, the password is blotted out, for example: drop thread job2a (write=XXXXXXX);\",\"help\":\"WRITE=*write-password*\",\"type\":\"value\"}]},{\"name\":\"UPDATE\",\"description\":\"\",\"help\":\"UPDATE &lt;END=variable&gt;&lt;UPDATEMODE=&lt;MISSINGCHECK | NOMISSINGCHECK&gt;&gt;\",\"arguments\":[{\"name\":\"END=\",\"optional\":true,\"description\":\"Creates and names a temporary variable that contains an end-of-file indicator. This variable is initialized to 0 and is set to 1 when UPDATE processes the last observation. This variable is not added to any data set.\",\"help\":\"END=*variable*\",\"type\":\"value\"},{\"name\":\"UPDATEMODE=\",\"optional\":true,\"description\":\"Specifies whether missing variable values in a transaction data set are to be allowed to replace existing variable values in a master data set.\",\"help\":\"UPDATEMODE=MISSINGCHECK | NOMISSINGCHECK\",\"type\":\"choice\",\"arguments\":[{\"name\":\"MISSINGCHECK\",\"description\":\"Prevents missing variable values in a transaction data set from replacing values in a master data set.\",\"type\":\"standalone\"},{\"name\":\"NOMISSINGCHECK\",\"description\":\"Allows missing variable values in a transaction data set to replace values in a master data set.\",\"type\":\"standalone\"}]}]},{\"name\":\"WAITFOR\",\"description\":\"Suspends execution of the current SAS session until the specified tasks finish executing.\",\"help\":\"WAITFOR&lt;_ANY_ | _ALL_&gt; taskname &lt;taskname...&gt;&lt;TIMEOUT=seconds&gt;\"},{\"name\":\"WHEN\",\"description\":\"\",\"help\":\"WHEN &lt;DO&gt;\",\"arguments\":[{\"name\":\"DO\",\"optional\":true,\"description\":\"Action statement.\",\"type\":\"standalone\"}]},{\"name\":\"WINDOW\",\"description\":\"\",\"help\":\"WINDOW &lt;COLOR=&lt;BLACK | GRAY | PINK&gt;... &gt;&lt;COLUMNS=columns&gt;&lt;ICOLUMN=column&gt; ...\",\"arguments\":[{\"name\":\"ATTR=\",\"optional\":true,\"aliases\":[\"A=\"],\"description\":\"Controls these highlighting attributes of the field:\",\"help\":\"ATTR=BLINK | HIGHLIGHT | REV_VIDEO | UNDERLINE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"BLINK\",\"description\":\"Causes the field to blink.\",\"type\":\"standalone\"},{\"name\":\"HIGHLIGHT\",\"description\":\"Displays the field at high intensity.\",\"type\":\"standalone\"},{\"name\":\"REV_VIDEO\",\"description\":\"Displays the field in reverse video.\",\"type\":\"standalone\"},{\"name\":\"UNDERLINE\",\"description\":\"Underlines the field.\",\"type\":\"standalone\"}]},{\"name\":\"AUTOSKIP=\",\"optional\":true,\"aliases\":[\"SKIP=\"],\"description\":\"Controls whether the cursor moves to the next unprotected field of the current window or group when you have entered data in all positions of a field.\",\"help\":\"AUTOSKIP=YES | NO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YES\",\"description\":\"Specifies that the cursor moves automatically to the next unprotected field.\",\"type\":\"standalone\"},{\"name\":\"NO\",\"description\":\"Specifies that the cursor does not move automatically.\",\"type\":\"standalone\"}]},{\"name\":\"COLOR=\",\"optional\":true,\"aliases\":[\"C=\"],\"description\":\"Specifies the color of the window background for operating environments that have this capability. In other operating environments, this option affects the color of the window border.\",\"help\":\"COLOR=BLACK | GRAY | PINK | BLUE | GREEN | RED | BROWN | MAGENTA | WHITE | CYAN | ORANGE | YELLOW\",\"type\":\"choice\",\"arguments\":[{\"name\":\"BLACK\",\"description\":\"BLACK\",\"type\":\"standalone\"},{\"name\":\"GRAY\",\"description\":\"GRAY|GREY\",\"type\":\"standalone\"},{\"name\":\"PINK\",\"description\":\"PINK\",\"type\":\"standalone\"},{\"name\":\"BLUE\",\"description\":\"BLUE\",\"type\":\"standalone\"},{\"name\":\"GREEN\",\"description\":\"GREEN\",\"type\":\"standalone\"},{\"name\":\"RED\",\"description\":\"RED\",\"type\":\"standalone\"},{\"name\":\"BROWN\",\"description\":\"BROWN\",\"type\":\"standalone\"},{\"name\":\"MAGENTA\",\"description\":\"MAGENTA\",\"type\":\"standalone\"},{\"name\":\"WHITE\",\"description\":\"WHITE\",\"type\":\"standalone\"},{\"name\":\"CYAN\",\"description\":\"CYAN\",\"type\":\"standalone\"},{\"name\":\"ORANGE\",\"description\":\"ORANGE\",\"type\":\"standalone\"},{\"name\":\"YELLOW\",\"description\":\"YELLOW\",\"type\":\"standalone\"}]},{\"name\":\"COLUMNS=\",\"optional\":true,\"description\":\"Specifies the number of columns in the window.\",\"help\":\"COLUMNS=*columns*\",\"type\":\"value\"},{\"name\":\"DISPLAY=\",\"optional\":true,\"description\":\"Determines whether the macro processor displays the characters you are entering into a macro variable value as you enter them.\",\"help\":\"DISPLAY=YES | NO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YES\",\"description\":\"Specifies that SAS displays characters in a field as you type them in.\",\"type\":\"standalone\"},{\"name\":\"NO\",\"description\":\"Specifies that the entered characters are not displayed.\",\"type\":\"standalone\"}]},{\"name\":\"GROUP=\",\"optional\":true,\"description\":\"Specifies a group of related fields.\",\"help\":\"GROUP=*group*\",\"type\":\"value\"},{\"name\":\"ICOLUMN=\",\"optional\":true,\"description\":\"Specifies the initial column within the monitor at which the window is displayed.\",\"help\":\"ICOLUMN=*column*\",\"type\":\"value\"},{\"name\":\"IROW=\",\"optional\":true,\"description\":\"Specifies the initial row (or line) within the monitor at which the window is displayed.\",\"help\":\"IROW=*row*\",\"type\":\"value\"},{\"name\":\"KEYS=\",\"optional\":true,\"description\":\"Specifies the name of a KEYS entry that contains the function key definitions for the window.\",\"type\":\"value\"},{\"name\":\"MENU=\",\"optional\":true,\"description\":\"Specifies the name of a menu (pmenu) you have built with the PMENU procedure.\",\"type\":\"value\"},{\"name\":\"PERSIST=\",\"optional\":true,\"description\":\"Controls whether a field is displayed by all executions of a DISPLAY statement in the same iteration of the DATA step until the DISPLAY statement contains the BLANK option.\",\"help\":\"PERSIST=YES | NO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YES\",\"description\":\"Specifies that each execution of the DISPLAY statement displays all previously displayed contents of the field as well as the contents that are scheduled for display by the current DISPLAY statement. If the new contents overlap persisting contents, the persisting contents are no longer displayed.\",\"type\":\"standalone\"},{\"name\":\"NO\",\"description\":\"Specifies that each execution of a DISPLAY statement displays only the current contents of the field.\",\"type\":\"standalone\"}]},{\"name\":\"PROTECT=\",\"optional\":true,\"aliases\":[\"P=\"],\"description\":\"Controls whether information can be entered into a field.\",\"help\":\"PROTECT=YES | NO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YES\",\"description\":\"Specifies that you cannot enter information.\",\"type\":\"standalone\"},{\"name\":\"NO\",\"description\":\"Specifies that you can enter information.\",\"type\":\"standalone\"}]},{\"name\":\"REQUIRED=\",\"optional\":true,\"description\":\"Controls whether a field can be left blank.\",\"help\":\"REQUIRED=YES | NO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YES\",\"description\":\"Specifies that you must enter a value in the field.\",\"type\":\"standalone\"},{\"name\":\"NO\",\"description\":\"Specifies that you can leave the field blank.\",\"type\":\"standalone\"}]},{\"name\":\"ROWS=\",\"optional\":true,\"description\":\"Specifies the number of rows (or lines) in the window.\",\"help\":\"ROWS=*rows*\",\"type\":\"value\"}]}]}"
  },
  {
    "path": "server/pubsdata/Procedures/en/DATAMETRICS.json",
    "content": "{\"name\":\"DATAMETRICS\",\"statements\":[{\"name\":\"PROC DATAMETRICS\",\"description\":\"Apply data profiling analysis to a data set.\",\"help\":\"PROC DATAMETRICS DATA=input-data-set-name  OUT=output-data-set\\n\\n\\t<FREQUENCIES =frequencies><MINMAX=minmax><THREADS=threads><MEDIAN>\\n\\t\\t<FORMAT>;\\n\\n\\n\\tIDENTITIES  <QKB=qkb><LOCALE=locale><DEFINITION=definition><MULTIIDENTITY>;\\n\\n\\n\\tVARIABLES profile-variable-1<profile-variable-2 ...;>;\",\"arguments\":[{\"name\":\"DATA=\",\"description\":\"\",\"help\":\"DATA=*input-data-set-name*\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"p0auf4bcpx47fan11rhapw6d3242\"},{\"name\":\"OUT=\",\"description\":\"\",\"help\":\"OUT=*output-data-set*\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"p1ow5rigyumogun1tp06i22ghivp\"},{\"name\":\"FORMAT\",\"optional\":true,\"description\":\"Formatted values are used for profiling if present.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1soqeopqdwsnmn13siji0mnlm9z\"},{\"name\":\"FREQUENCIES=\",\"optional\":true,\"description\":\"the maximum number of frequency values to publish in the output. The range is 0-2,147,483,647.\",\"help\":\"FREQUENCIES=*frequencies*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n04r8rtt9kej9pn1cm02ttuxdark\"},{\"name\":\"MEDIAN\",\"optional\":true,\"description\":\"Calculates the median if present. This is optional because the median calculation requires more resources.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0seqdnwmqluuvn1xqhdgtrbazdc\"},{\"name\":\"MINMAX=\",\"optional\":true,\"description\":\"The maximum number of min/max values to publish in the output. The range is 0-2,147,483,647.\",\"help\":\"MINMAX=*minmax*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0np1hsu2fnc8ln1wsqwue78n7ka\"},{\"name\":\"THREADS=\",\"optional\":true,\"description\":\"The number of threads to be used in computing the results. The range is 0–32,768.\",\"help\":\"THREADS=threads\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1km2g5g0bzzixn135a9i1s7u0b1\"}],\"supportSiteTargetFile\":\"p1qvra1y8id6z6n1npfpwwfzw4k9.htm\"},{\"name\":\"IDENTITIES\",\"aliases\":[\"ID\"],\"description\":\"Performs identification anaylsis on character data if present.\",\"help\":\"IDENTITIES &lt;QKB=*qkb*&gt;&lt;LOCALE=*locale*&gt;&lt;DEFINITION=*definition*&gt;&lt;MULTIIDENTITY&gt;;\",\"arguments\":[{\"name\":\"DEFINITION=\",\"optional\":true,\"aliases\":[\"DEF=\"],\"description\":\"The name of the QKB identification analysis definition to use in the specified QKB locale for identification analysis. See .\",\"help\":\"DEFINITION=*definition*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0zsjvjvaib23qn1u0gcxrnqb0ji\"},{\"name\":\"LOCALE=\",\"optional\":true,\"description\":\"The ISO code name of the QKB locale to use for the specified identification analysis definition to use for identification analysis. See QKB Locale ISO Codes on the SAS support website.\",\"help\":\"LOCALE=*locale*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1lbnjibdofmp6n1gshbnxomwu2e\"},{\"name\":\"MULTIIDENTITY\",\"optional\":true,\"aliases\":[\"MULTI\"],\"description\":\"Calculates more than one identity for identification analysis. The QKB can sometimes return more than one identity for a given value, and each one can have a different score. The returned value is a delimited list of scores for each identity that is supported by the identification-analysis-definition.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1a7j9fdr4psuun1luabipsuxud5\"},{\"name\":\"QKB=\",\"optional\":true,\"description\":\"The fully qualified path of the root directory of the Quality Knowledge Base to use for identification analysis for more information. See .\",\"help\":\"QKB=*qkb*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p168w6pwsg73kgn1x1fxc4q1j15w\"}],\"supportSiteTargetFile\":\"n115a67rfpqkyon13w8yej165rqj.htm\"},{\"name\":\"VARIABLES\",\"description\":\"A space-separated list of variables to profile.\",\"help\":\"VARIABLES *profile-variable-1*&lt;*profile-variable-2* ...;&gt;\",\"arguments\":[{\"name\":\"profile-variable\",\"placeholder\":true,\"description\":\"If the VARIABLES statement is specified, then one or more variables of profile is required.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1leuf0jfve2lvn1pof0xs56tgj7\"}],\"supportSiteTargetFile\":\"n18k5m8420v5vsn12qxohgft0lop.htm\"}],\"supportSiteInformation\":{\"docsetId\":\"dqclref\",\"docsetVersion\":\"v_008\",\"docsetTargetFile\":\"n14ceqpjt8nijsn15xxyhu96tae5.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/DATASETS.json",
    "content": "{\"name\":\"DATASETS\",\"statements\":[{\"name\":\"PROC DATASETS\",\"description\":\"Manages SAS files.\",\"help\":\"PROC DATASETS <options>;  \\n\\tAGE  current-namerelated-SAS-file(s)\\n\\t\\t</ <ALTER=alter-password>  <MEMTYPE=member-type>>;\\n\\n\\tAPPEND BASE=<libref.>SAS-data-set\\n\\t\\t<APPENDVER=V6>\\n\\t\\t<DATA=<libref.>SAS-data-set>\\n\\t\\t<ENCRYPTKEY=key-value>\\n\\t\\t<FORCE>\\n\\t\\t<GETSORT>\\n\\t\\t<NOWARN>;\\n\\n\\tAUDIT SAS-file <(SAS-password <ENCRYPTKEY=key-value> <GENNUM=integer>)>;   \\n\\t\\t\\n\\t\\tINITIATE  <AUDIT_ALL=NO | YES>;\\n\\t\\t\\t\\n\\t\\tLOG <ADMIN_IMAGE=YES | NO>\\n\\t\\t\\t<BEFORE_IMAGE=YES | NO>\\n\\t\\t\\t<DATA_IMAGE=YES | NO>\\n\\t\\t\\t<ERROR_IMAGE=YES | NO>;\\n\\t\\t\\t\\n\\t\\t<SUSPEND  | RESUME  | TERMINATE ; >\\n\\t\\t\\t\\n\\t\\t<USER_VAR >variable-name-1 <$> <length> <LABEL='variable-label' >\\n\\t\\t\\t<variable-name-2 <$><length><LABEL='variable-label' > ...>;\\n\\n\\tCHANGE  old-name-1=new-name-1\\n\\t\\t<old-name-2=new-name-2 ...>\\n\\t\\t</ <ENCRYPTKEY=key-value>\\n\\t\\t<ALTER=alter-password>  <GENNUM=ALL | integer>  <MEMTYPE=member-type>>;\\n\\n\\tCONTENTS  <options>;\\n\\n\\tCOPY <ACCEL | NOACCEL>OUT=libref-1\\n\\t\\t<CLONE | NOCLONE>\\n\\t\\t<CONSTRAINT=YES | NO>\\n\\t\\t<DATECOPY>\\n\\t\\t<ENCRYPTKEY=key-value>\\n\\t\\t<FORCE>\\n\\t\\t<IN=libref-2>\\n\\t\\t<INDEX=YES | NO>\\n\\t\\t<MEMTYPE=(member-type(s))>\\n\\t\\t<MOVE<ALTER=alter-password>>\\n\\t\\t<OVERRIDE=(ds-option-1=value-1 <ds-option-2=value-2 ...> ) >;  \\n\\n\\t\\n\\t\\tSELECT  SAS-file(s)\\n\\t\\t\\t</ <ENCRYPTKEY=key-value> <ALTER=alter-password>  <MEMTYPE=member-type>>; \\n\\n\\tDELETE   SAS-file(s)\\n\\t\\t</ <ALTER=alter-password> \\n \\n\\t\\t<ENCRYPTKEY=key-value>\\n\\t\\t<GENNUM=ALL | HIST | REVERT | integer>  \\n\\t\\t<MEMTYPE=member-type>>;\\n\\n\\tEXCHANGE name-1=other-name-1<name-2=other-name-2 ...>\\n\\t\\t</ <ALTER=alter-password>  <MEMTYPE=member-type>>;\\n\\n\\tMODIFY SAS-file<(options)>\\n\\t\\t</ <CORRECTENCODING=encoding-value>  <DTC=SAS-date-time>\\n\\t\\t  <GENNUM=integer>  <MEMTYPE=member-type>>; \\n\\n\\t\\n\\t\\tATTRIB variable-list(s)attribute-list(s);\\n\\n\\t\\n\\t\\tFORMAT variable-1<format-1>\\n\\t\\t\\t<variable-2<format-2> ...>;\\n\\n\\t\\n\\t\\tIC CREATE <constraint-name=>constraint<MESSAGE='message-string' \\n\\t\\t\\t<MSGTYPE=USER>>;\\n\\n\\t\\n\\t\\tIC DELETE constraint-name(s) | _ALL_;\\n\\n\\t\\n\\t\\tIC REACTIVATE foreign-key-name REFERENCES libref;\\n\\n\\t\\n\\t\\tINDEX                      CENTILES index(s)\\n\\t\\t\\t</ <REFRESH> \\n <UPDATECENTILES=ALWAYS | NEVER | integer>>;\\n\\n\\t\\n\\t\\tINDEX CREATE index-specification(s)\\n\\t\\t\\t</ <NOMISS>  <UNIQUE> \\n <UPDATECENTILES=ALWAYS | NEVER | integer>>;\\n\\n\\t\\n\\t\\tINDEX DELETE index(s) | _ALL_;\\n\\n\\t\\n\\t\\tINFORMAT variable-1<informat-1>\\n\\t\\t\\t<variable-2<informat-2> ...>;\\n\\n\\t\\n\\t\\tLABEL variable-1=<'label-1' | ' '>\\n\\t\\t\\t<variable-2=<'label-2' | ' '> ...>;\\n\\n\\t\\n\\t\\tRENAME old-name-1=new-name-1\\n\\t\\t\\t<old-name-2=new-name-2 ...>; \\n\\t\\tXATTR ADD DS                    attribute-name-1=attribute-value-1 \\n\\t\\t\\t<attribute-name-2=attribute-value-2 ...>;\\n\\t\\tor\\n\\t\\tXATTR ADD VAR  variable-name-1  (attribute-name-1=attribute-value-1\\n\\t\\t\\t< attribute-name-2=attribute-value-2 ...>)\\n\\t\\t\\t<variable-name-2 (attribute-name-1=attribute-value-1 \\n\\t\\t\\t<attribute-name-2=attribute-value-2 ...>) >;\\n\\t\\tXATTR                   DELETE ;\\n\\t\\tXATTR OPTIONS <SEGLEN=number-of-bytes>;\\n\\t\\tXATTR REMOVE DS                    attribute-name(s) ;\\n\\t\\tor\\n\\t\\tXATTR REMOVE VAR                    variable-name-1  (attribute-name(s))\\n\\t\\t\\t<variable-name-2  (attribute-name(s) ...)>;\\n\\t\\tXATTR SET DS                    attribute-name-1=attribute-value-1 \\n\\t\\t\\t<attribute-name-2=\\\"attribute-value-2\\\" ...>;\\n\\t\\tor\\n\\t\\tXATTR SET VAR                    variable-name-1  (attribute-name-1=attribute-value-1 \\n\\t\\t\\t<attribute-name-2=attribute-value-2 ...>)\\n\\t\\t\\t<variable-name-2  (attribute-name-1=attribute-value-1 \\n\\t\\t\\t<attribute-name-2=attribute-value-2>  ...)>;\\n\\t\\tXATTR UPDATE DS                    attribute-name-1=attribute-value-1 \\n\\t\\t\\t<attribute-name-2=attribute-value-2 ...>;\\n\\t\\tor\\n\\t\\tXATTR UPDATE VAR                    variable-name-1  (attribute-name-1=attribute-value-1 \\n\\t\\t\\t<attribute-name-2=attribute-value-2  ...>)\\n\\t\\t\\t<variable-name-2  (attribute-name-1=attribute-value-1 \\n\\t\\t\\t<attribute-name-2=attribute-value-2 ...>)>;\\n\\n\\tREBUILD  SAS-file </ <ENCRYPTKEY=key-value>\\n\\t\\t<ALTER=password> <GENNUM=n> <MEMTYPE=member-type> <NOINDEX>>;\\n\\n\\tREPAIR </ <ENCRYPTKEY=key-value>\\n\\t\\t<ALTER=alter-password> \\n <GENNUM=integer>  <MEMTYPE=member-type>>;\\n\\n\\tSAVE  SAS-file(s)</ MEMTYPE=member-type>;\",\"arguments\":[{\"name\":\"ALTER=\",\"optional\":true,\"description\":\"provides Alter access to any alter-protected SAS file in the SAS library.\",\"help\":\"ALTER=*alter-password*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1o3igrme4mla4n1xr8fo3zwxb4p\"},{\"name\":\"DETAILS\",\"optional\":true,\"description\":\"includes information in the log about the number of observations, number of variables, number of indexes, and data set labels.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1uqmbo7n0q1uun1k6cxymir6w1b\"},{\"name\":\"NODETAILS\",\"optional\":true,\"description\":\"includes information in the log about the number of observations, number of variables, number of indexes, and data set labels.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1uqmbo7n0q1uun1k6cxymir6w1b\"},{\"name\":\"ENCRYPTKEY=\",\"optional\":true,\"description\":\"specifies the key value for AES encryption.\",\"help\":\"ENCRYPTKEY=*key-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0mjjawoggp5z5n1am0wtqc83kaz\"},{\"name\":\"FORCE\",\"optional\":true,\"description\":\"forces either a RUN group to execute even when there are errors or forces an Append operation.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0s59dvb32ndzgn105isznrqghv8\"},{\"name\":\"GENNUM=\",\"optional\":true,\"description\":\"restricts processing for generation data sets.\",\"help\":\"GENNUM=ALL | HIST | REVERT | *integer*\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ALL\",\"type\":\"standalone\"},{\"name\":\"HIST\",\"type\":\"standalone\"},{\"name\":\"REVERT\",\"type\":\"standalone\"},{\"name\":\"integer\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"n1s1qb5kz4a9gun1xymtu9mrhb6z\"},{\"name\":\"KILL\",\"optional\":true,\"description\":\"deletes SAS files.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p00vty8366pwtzn1x66jtpdwsc4b\"},{\"name\":\"LIBRARY=\",\"optional\":true,\"aliases\":[\"DDNAME=\",\"DD=\",\"LIB=\"],\"description\":\"specifies the procedure input/output library.\",\"help\":\"LIBRARY=*libref*\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"n1jtts6w5ofcsmn1f6aasgzjgcee\"},{\"name\":\"MEMTYPE=\",\"optional\":true,\"aliases\":[\"MTYPE=\",\"MT=\"],\"description\":\"restricts processing to a certain type of SAS file.\",\"help\":\"MEMTYPE=(*member-type(s)*)\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p09cx5khmmehs3n1cuvivap41rcz\"},{\"name\":\"NOLIST\",\"optional\":true,\"description\":\"suppresses the printing of the directory.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0h2txx1bcun81n1d0clz7fvq0ov\"},{\"name\":\"NOPRINT\",\"optional\":true,\"description\":\"suppresses the printing of the output to the log and listing.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1cgovg2ib8lw0n1xmljagb94w56\"},{\"name\":\"NOWARN\",\"optional\":true,\"description\":\"suppresses error processing.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0fgx4pqhz6wzdn1aoznpwu4agoe\"},{\"name\":\"PW=\",\"optional\":true,\"description\":\"provides Read, Write, or Alter access.\",\"help\":\"PW= *password*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1uklhgezvte7vn1qfui5tdc1on2\"},{\"name\":\"READ=\",\"optional\":true,\"description\":\"provides Read access.\",\"help\":\"READ=*read-password*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n01eg67e5cy655n1n7c27wuxw579\"}],\"supportSiteTargetFile\":\"p0xdkenol7pi1cn14p0iq38shax4.htm\"},{\"name\":\"AGE\",\"description\":\"Renames a group of related SAS files in a library.\",\"help\":\"AGE  current-namerelated-SAS-file(s)\\n</ <ALTER=alter-password>  <MEMTYPE=member-type>>;\",\"arguments\":[{\"name\":\"current-name\",\"placeholder\":true,\"description\":\"is a SAS file that the procedure renames. current-name receives the name of the first name in related-SAS-file(s).\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1u6qdrrbp7r54n1sdvviotrp86s\"},{\"name\":\"related-SAS-file\",\"placeholder\":true,\"description\":\"is one or more SAS files in the SAS library.\",\"help\":\"*related-SAS-file(s)*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1taw292hy1ivan18ntio8hcollp\"},{\"name\":\"ALTER=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"provides the Alter password for any alter-protected SAS files named in the AGE statement. Because an AGE statement renames and deletes SAS files, you need Alter access to use the AGE statement. You can use the option either in parentheses after the name of each SAS file or after a forward slash.\",\"help\":\"ALTER=*alter-password*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0cor0b4r1144bn10xznchlim5uc\"},{\"name\":\"MEMTYPE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"MTYPE=\",\"MT=\"],\"description\":\"restricts processing to one member type. All of the SAS files that you name in the AGE statement must be the same member type. You can use the option after a forward slash after the name of each SAS file.\",\"help\":\"MEMTYPE=*member-type*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1mv26j97e2c2on1mxmngjdo5ha2\"}],\"supportSiteTargetFile\":\"n1vqddbse4koytn1al186v3frwxv.htm\"},{\"name\":\"APPEND\",\"description\":\"Adds the observations from one SAS data set to the end of another SAS data set.\",\"help\":\"APPEND BASE=<libref.>SAS-data-set\\n<APPENDVER=V6>\\n<DATA=<libref.>SAS-data-set>\\n<ENCRYPTKEY=key-value>\\n<FORCE>\\n<GETSORT>\\n<NOWARN>;\",\"arguments\":[{\"name\":\"BASE=\",\"aliases\":[\"OUT=\"],\"description\":\"names the data set to which you want to add observations.\",\"help\":\"BASE=&lt;*libref.*&gt; *SAS-data-set*\",\"type\":\"dataSet\",\"arguments\":[{\"name\":\"libref\",\"placeholder\":true,\"description\":\"specifies the library that contains the SAS data set. If you omit the libref, the default is the libref for the procedure input library. If you are using PROC APPEND, the default for libref is either Work or User.\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"n139m791vcffmsn1k4jd3ags5k6d\"},{\"name\":\"SAS-data-set\",\"placeholder\":true,\"description\":\"names a SAS data set. If the APPEND statement cannot find an existing data set with this name, it creates a new data set in the library. That is, you can use the APPEND statement to create a data set by specifying a new data set name in the BASE= argument.\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"p0h3rd8xtnlakqn1lghtgr0rnug3\"}],\"supportSiteTargetFragment\":\"n006mhcqbxpogvn1qrm9hjz77cf6\"},{\"name\":\"APPENDVER=\",\"optional\":true,\"description\":\"uses the Version 6 behavior for appending observations to the BASE= data set.\",\"help\":\"APPENDVER=V6\",\"type\":\"choice\",\"arguments\":[{\"name\":\"V6\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"p1anvncskb2hn8n12p3hecybnsiv\"},{\"name\":\"DATA=\",\"optional\":true,\"aliases\":[\"NEW=\"],\"description\":\"names the SAS data set containing observations that you want to append to the end of the SAS data set specified in the BASE= argument.\",\"help\":\"DATA=&lt;*libref.*&gt; *SAS-data-set*\",\"type\":\"dataSet\",\"arguments\":[{\"name\":\"libref\",\"placeholder\":true,\"description\":\"specifies the library that contains the SAS data set. If you omit libref, the default is the libref for the procedure input library. The DATA= data set can be from any SAS library. You must use the two-level name if the data set resides in a library other than the procedure input library.\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"n0bxqelk7293y2n1uwjel122fmng\"},{\"name\":\"SAS-data-set\",\"placeholder\":true,\"description\":\"names a SAS data set. If the APPEND statement cannot find an existing data set with this name, it stops processing.\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"n1kzxzzcol3qcin0z2lz08xhjlqv\"}],\"supportSiteTargetFragment\":\"n12n72dkq943czn1dmfo7u3ehd3p\"},{\"name\":\"ENCRYPTKEY=\",\"optional\":true,\"description\":\"specifies the key value for AES encryption.\",\"help\":\"ENCRYPTKEY=*key-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n17osh4sdoyicon1rj0w4g0cf1ow\"},{\"name\":\"FORCE\",\"optional\":true,\"description\":\"forces the APPEND statement to concatenate data sets.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n04oq5r04dlf78n1t047xjhzfyw8\"},{\"name\":\"GETSORT\",\"optional\":true,\"description\":\"copies the sort indicator from the DATA= data set to the BASE= data set.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0a09gi7z5ec2ln14ck0me59velh\"},{\"name\":\"NOWARN\",\"optional\":true,\"description\":\"suppresses the warning when used with the FORCE option.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0swresqxnfiiin16ri798ynijmx\"}],\"supportSiteTargetFile\":\"n19kwc3onglzh2n1l2k4e39edv3x.htm\"},{\"name\":\"ATTRIB\",\"description\":\"Associates a format, informat, or label with variables in the SAS data set specified in the MODIFY statement.\",\"help\":\"ATTRIB *variable-list(s)**attribute-list(s)*;\",\"arguments\":[{\"name\":\"variable-list\",\"placeholder\":true,\"description\":\"names the variables that you want to associate with the attributes. You can list the variables in any form that SAS allows.\",\"help\":\"*variable-list(s)*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0uc8jdl9mrh1en16zocxejr2te9\"},{\"name\":\"FORMAT=\",\"description\":\"associates a format with variables in variable-list.\",\"help\":\"FORMAT=*format*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0vlbz9ftugchun1iibcc2mi5ngi\"},{\"name\":\"INFORMAT=\",\"description\":\"associates an informat with variables in variable-list.\",\"help\":\"INFORMAT=*informat*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1dovrgo62gdprn1d3amjgvmj7q7\"},{\"name\":\"LABEL=\",\"description\":\"associates a label with variables in the variable-list.\",\"help\":\"LABEL='*label*'\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0nwvbiqral1r8n13vv9uwtn7hs9\"}],\"supportSiteTargetFile\":\"p1laiq1q7ujpiin1a497norfn610.htm\"},{\"name\":\"AUDIT\",\"description\":\"Initiates and controls event logging to an audit file as well as suspends, resumes, or terminates event logging in an audit file.\",\"help\":\"AUDIT SAS-file <(SAS-password <ENCRYPTKEY=key-value> <GENNUM=integer>)>;  INITIATE  <AUDIT_ALL=NO | YES>;\\nLOG <ADMIN_IMAGE=YES | NO>\\n<BEFORE_IMAGE=YES | NO>\\n<DATA_IMAGE=YES | NO>\\n<ERROR_IMAGE=YES | NO>;\\n<SUSPEND  | RESUME  | TERMINATE ; >\\n<USER_VAR  variable(s)>;\",\"arguments\":[{\"name\":\"SAS-file\",\"placeholder\":true,\"description\":\"specifies the SAS data file in the procedure input library that you want to audit.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0899uqzds04bwn15sgmp1o7vp11\"},{\"name\":\"SAS-password\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the password for the SAS data file.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1nvp0aegi6qqdn1vtc1acpxqfh6\"},{\"name\":\"ENCRYPTKEY=\",\"optional\":true,\"description\":\"specifies the key value for AES encryption.\",\"help\":\"ENCRYPTKEY=*key-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1qgt9cqnrbspcn1l84gr8t8q81x\"},{\"name\":\"GENNUM=\",\"optional\":true,\"description\":\"specifies that the SUSPEND, RESUME, or TERMINATE action be performed on the audit trail of a generation file.\",\"help\":\"GENNUM=*integer*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1uu9yap6zu1p6n1jk3rc37ibi6b\"}],\"supportSiteTargetFile\":\"n00ms57pqqsmecn1va63jpmlq83t.htm\"},{\"name\":\"CHANGE\",\"description\":\"Renames one or more SAS files in the same SAS library.\",\"help\":\"CHANGE  old-name-1=new-name-1\\n<old-name-2=new-name-2 ...>\\n</ <ENCRYPTKEY=key-value>\\n<ALTER=alter-password>  <GENNUM=ALL | integer>  <MEMTYPE=member-type>>;\",\"arguments\":[{\"name\":\"old-name=\",\"placeholder\":true,\"description\":\"changes the name of a SAS file in the input data library. old-name must be the name of an existing SAS file in the input data library.\",\"help\":\"*old-name=new-name*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n085fabv2vmth0n110m14za1yk8o\"},{\"name\":\"ENCRYPTKEY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the key value for AES encryption.\",\"help\":\"ENCRYPTKEY=*key-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0ql7b2oyoazyvn1sndsvckollku\"},{\"name\":\"ALTER=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"provides the Alter password.\",\"help\":\"ALTER=*alter-password*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1s109jsfbdkuhn18qot5tc430vb\"},{\"name\":\"GENNUM=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"restricts processing for generation data sets.\",\"help\":\"GENNUM=ALL | *integer*\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ALL\",\"followsDelimiter\":\"/\",\"description\":\"refers to the base version and all historical versions of a generation group.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1aqjihnvh7ntvn1hui6gbgyddvn\"},{\"name\":\"0\",\"followsDelimiter\":\"/\",\"description\":\"refers to the base version and all historical versions of a generation group.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1aqjihnvh7ntvn1hui6gbgyddvn\"},{\"name\":\"integer\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"refers to a specific version from a generation group. Specifying a positive number is an absolute reference to a specific generation number that is appended to a data set's name (that is, gennum=2 specifies MYDATA#002). Specifying a negative number is a relative reference to a historical version in relation to the base version, from the youngest to the oldest (that is, gennum=-1 refers to the youngest historical version).\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0kms0erftrm87n18ndolfjcynie\"}],\"supportSiteTargetFragment\":\"p07of23qlu7tvtn19554zvq87hwb\"},{\"name\":\"MEMTYPE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"MTYPE=\",\"MT=\"],\"description\":\"restricts processing to one member type.\",\"help\":\"MEMTYPE=*member-type*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p17hipvhy4iiotn0z611zidxqqhh\"}],\"supportSiteTargetFile\":\"n0odhacmnpuq7sn1hrvlvkqodmf0.htm\"},{\"name\":\"CONTENTS\",\"description\":\"Describes the contents of one or more SAS data sets and prints the directory of the SAS library.\",\"help\":\"CONTENTS &lt;*options*&gt;;\",\"arguments\":[{\"name\":\"CENTILES\",\"optional\":true,\"description\":\"prints centiles information for indexed variables.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p14n3pu3cul5cin1pcuk3o14dn9aa\"},{\"name\":\"DATA=\",\"optional\":true,\"description\":\"specifies the input data set.\",\"help\":\"DATA=*SAS-file-specification*\",\"type\":\"value\",\"arguments\":[{\"name\":\"<libref.>SAS-data-set\",\"placeholder\":true,\"description\":\"names one SAS data set to process. The default for libref is the libref of the procedure input library. For example, to obtain the contents of the SAS data set HtWt from the procedure input library, use the following CONTENTS statement:\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"n0xstjnvfaqv4hn1c6sw6tzs49jha\"},{\"name\":\"<>_ALL_\",\"description\":\"gives you information about all SAS data sets that have the type or types specified by the MEMTYPE= option. libref refers to the SAS library. The default for libref is the libref of the procedure input library.\\n• If you are using the _ALL_ keyword, you need Read access to all read-protected SAS data sets in the SAS library.\\n• DATA=_ALL_ automatically prints a listing of the SAS files that are contained in the SAS library. Note that for SAS views, all librefs that are associated with the views must be assigned in the current session in order for them to be processed for the listing.\",\"help\":\"&lt;*libref.*&gt;_ALL_\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"n1r744ygvc5d9in1fho2k98fjitua\"}],\"supportSiteTargetFragment\":\"p0jmdgts3radscn1td80xgpg0cdva\"},{\"name\":\"DETAILS\",\"optional\":true,\"description\":\"includes information in the output about the number of observations, number of variables, number of indexes, and data set labels.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n15uqzp5ej1pgnn1xlcmc5il5xz8a\"},{\"name\":\"NODETAILS\",\"optional\":true,\"description\":\"includes information in the output about the number of observations, number of variables, number of indexes, and data set labels.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n15uqzp5ej1pgnn1xlcmc5il5xz8a\"},{\"name\":\"DIRECTORY\",\"optional\":true,\"description\":\"prints a list of the SAS files in the SAS library.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0a9l58obh037jn14yrbo9snvlida\"},{\"name\":\"ENCRYPTKEY=\",\"optional\":true,\"description\":\"specifies the key value for AES encryption.\",\"help\":\"ENCRYPTKEY=*key-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1nty0rr3avrmcn12niw4hijepq7a\"},{\"name\":\"FMTLEN\",\"optional\":true,\"description\":\"prints the length of a variable's informat or format.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0tiigy62kfe4vn1h8bai58ntx35a\"},{\"name\":\"MEMTYPE=\",\"optional\":true,\"aliases\":[\"MTYPE=\",\"MT=\"],\"description\":\"restricts processing to one or more types of SAS files.\",\"help\":\"MEMTYPE=(*member-type(s)*)\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n12ribcn0ts4xqn0zlbdjtrq7gp4a\"},{\"name\":\"NODS\",\"optional\":true,\"description\":\"suppresses the printing of individual files.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0txrfrov11cnfn1tn2kpcwqdczoa\"},{\"name\":\"NOPRINT\",\"optional\":true,\"description\":\"suppresses the printing of the output.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0sdnsr16rmmjkn1awguuejlo6k9a\"},{\"name\":\"ORDER=\",\"optional\":true,\"description\":\"prints a list of variables in a specified order.\",\"help\":\"ORDER=COLLATE | CASECOLLATE | IGNORECASE | VARNUM\",\"type\":\"choice\",\"arguments\":[{\"name\":\"COLLATE\",\"type\":\"standalone\"},{\"name\":\"CASECOLLATE\",\"type\":\"standalone\"},{\"name\":\"IGNORECASE\",\"type\":\"standalone\"},{\"name\":\"VARNUM\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"n065p2nwvd42u7n1eqglc04kb12na\"},{\"name\":\"OUT=\",\"optional\":true,\"description\":\"specifies the name for an output data set.\",\"help\":\"OUT=*SAS-data-set*\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"p07s5zcetike6jn197fk3v68p66wa\"},{\"name\":\"OUT2=\",\"optional\":true,\"description\":\"specifies the name of an output data set to contain information about indexes and integrity constraints.\",\"help\":\"OUT2=*SAS-data-set* \",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"p14jh29e1vz632n1npuec4ksikt9a\"},{\"name\":\"SHORT\",\"optional\":true,\"description\":\"prints abbreviated output.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1tsjmnjeokn0pn1koiw63qxsxksa\"},{\"name\":\"VARNUM\",\"optional\":true,\"description\":\"print a list of the variables by their position in the data set. By default, the CONTENTS statement lists the variables alphabetically.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0vwh5ho9ufb0pn1k2gj0ol938t0a\"}],\"supportSiteTargetFile\":\"p1v2467vdjbp7xn1222c7t3sejz3.htm\"},{\"name\":\"COPY\",\"description\":\"Copies all or some of the SAS files in a SAS library.\",\"help\":\"COPY <ACCEL | NOACCEL>OUT=libref-1\\n<CLONE | NOCLONE>\\n<CONSTRAINT=YES | NO>\\n<DATECOPY>\\n<ENCRYPTKEY=key-value>\\n<FORCE>\\n<IN=libref-2>\\n<INDEX=YES | NO>\\n<MEMTYPE=(member-type(s))>\\n<MOVE  <ALTER=alter-password>>\\n<OVERRIDE=(ds-option-1=value-1 <ds-option-2=value-2 ...> ) >;\",\"arguments\":[{\"name\":\"OUT=\",\"aliases\":[\"OUTLIB=\",\"OUTDD=\"],\"description\":\"names the SAS library to copy SAS files to.\",\"help\":\"OUT=*libref-1*\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"n1un7mfp9na3qkn1lqnr0dov3n5z\"},{\"name\":\"ACCEL\",\"optional\":true,\"description\":\"specifies to perform the copy operation in CAS. Both the IN= and OUT= libraries must be CAS engine libraries and they must use the same CAS session.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1da4aduhk3qzfn1v7cp62zo6hhm\"},{\"name\":\"NOACCEL\",\"optional\":true,\"description\":\"specifies to perform the copy operation in the SAS Compute Server. Both the IN= and OUT= libraries must be CAS engine libraries and they must use the same CAS session.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1pga6ufcsyhbyn1bkj1f9d9zx0f\"},{\"name\":\"CLONE\",\"optional\":true,\"description\":\"specifies whether to copy data set attributes.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1q3fl1qmn4njan1cuvo7v4y4h6p\"},{\"name\":\"CONSTRAINT=\",\"optional\":true,\"description\":\"specifies whether to copy all integrity constraints when copying a data set.\",\"help\":\"CONSTRAINT=YES | NO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YES\",\"type\":\"standalone\"},{\"name\":\"NO\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"n08s5t1qf2i8edn16aid21j606al\"},{\"name\":\"DATECOPY\",\"optional\":true,\"description\":\"copies the SAS internal date and time at which the SAS file was created and the date and time at which it was last modified to the resulting copy of the file.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1v5gudnag06ptn177lwkes4dll4\"},{\"name\":\"ENCRYPTKEY=\",\"optional\":true,\"description\":\"specifies the key value needed to copy data sets in the IN= library that have AES encryption.\",\"help\":\"ENCRYPTKEY= *key-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0u82ykzmxmufxn11fi2ausgoncx\"},{\"name\":\"FORCE\",\"optional\":true,\"description\":\"enables you to use the MOVE option for a SAS data set on which an audit trail exists.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1b81cwzh9ti86n1d0757z8orfwr\"},{\"name\":\"IN=\",\"optional\":true,\"aliases\":[\"INLIB=\",\"INDD=\"],\"description\":\"names the SAS library containing SAS files to copy.\",\"help\":\"IN=*libref-2*\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"p0mf4b98l802lwn1hxsz9a1p8hvy\"},{\"name\":\"INDEX=\",\"optional\":true,\"description\":\"specifies whether to copy all indexes for a data set\",\"help\":\"INDEX=YES | NO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YES\",\"type\":\"standalone\"},{\"name\":\"NO\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"n11v4rig4kz72an1sgy75nthd4k3\"},{\"name\":\"MEMTYPE=\",\"optional\":true,\"aliases\":[\"MTYPE=\",\"MT=\"],\"description\":\"restricts processing to one or more member types.\",\"help\":\"MEMTYPE=(*member-type(s)*)\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1obn7fhbx6k4jn18baaea4w0204\"},{\"name\":\"MOVE\",\"optional\":true,\"description\":\"moves SAS files from the input data library to the output data library.\",\"type\":\"standalone\",\"arguments\":[{\"name\":\"ALTER=\",\"description\":\"provides the Alter password for any alter-protected SAS files that you are moving from one data library to another. Because the MOVE option deletes the SAS file from the original data library, you need Alter access to move the SAS file.\",\"help\":\"ALTER=*alter-password*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p16qghof0322ecn17anvo2cn9cfw\"}],\"supportSiteTargetFragment\":\"p0z3ton3aflrizn1v5t4ivh3dibp\"},{\"name\":\"OVERRIDE=\",\"optional\":true,\"description\":\"overrides specified output data set options copied from the input data set.\",\"help\":\"OVERRIDE=(*ds-option-1=value-1 &lt;ds-option-2=value-2&gt;* ...)\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p02gkkl1ahgn5tn1ww893ztvy4re\"},{\"name\":\"NOCLONE\",\"optional\":true,\"description\":\"See the description of .\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1rgmxphfzgj1gn0zcu2ku3hwdf0\"}],\"supportSiteTargetFile\":\"p1juxu16zautpxn1dikxecc3kn7w.htm\"},{\"name\":\"DELETE\",\"description\":\"Deletes SAS files from a SAS library.\",\"help\":\"DELETE  SAS-file(s)\\n</ <ALTER=alter-password> \\n \\n<ENCRYPTKEY=key-value>\\n<GENNUM=ALL | HIST | REVERT | integer>  \\n<MEMTYPE=member-type>>;\",\"arguments\":[{\"name\":\"SAS-file\",\"placeholder\":true,\"description\":\"specifies one or more SAS files that you want to delete. If the SAS file has an ALTER= password assigned, it must be specified in order to delete the SAS file. You can also use a numbered range list or colon list. For more information, see .\",\"help\":\"*SAS-file(s)*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n18j7d1copx74jn1jihc3kna7zye\"},{\"name\":\"ALTER=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"provides the Alter password.\",\"help\":\"ALTER=*alter-password*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n09e9v92belszbn15o0ynnkh8vff\"},{\"name\":\"ENCRYPTKEY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the key value for AES encryption.\",\"help\":\"ENCRYPTKEY=*key-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p11j4ggoggvkpdn1srcoze32f7au\"},{\"name\":\"GENNUM=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"restricts processing for generation data sets.\",\"help\":\"GENNUM=ALL | HIST | REVERT | *integer*\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ALL\",\"type\":\"standalone\"},{\"name\":\"HIST\",\"type\":\"standalone\"},{\"name\":\"REVERT\",\"type\":\"standalone\"},{\"name\":\"integer\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"n1rcp1ukbtng85n13787duxqj8oa\"},{\"name\":\"MEMTYPE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"MTYPE=\",\"MT=\"],\"description\":\"restricts processing to one member type\",\"help\":\"MEMTYPE=*member-type*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n11yxmt0k4o3h0n1aj9cgmksrtho\"}],\"supportSiteTargetFile\":\"n1dsrfw3zlxkfqn1wct59dubq3mp.htm\"},{\"name\":\"EXCHANGE\",\"description\":\"Exchanges the names of two SAS files in a SAS library.\",\"help\":\"EXCHANGE name-1=other-name-1<name-2=other-name-2 ...>\\n</ <ALTER=alter-password>  <MEMTYPE=member-type>>;\",\"arguments\":[{\"name\":\"name=\",\"placeholder\":true,\"description\":\"exchanges the names of SAS files in the procedure input library. Both name and other-name must already exist in the procedure input library.\",\"help\":\"*name=other-name*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1wwqu9c2r67yon19v31hxh87p81\"},{\"name\":\"ALTER=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"provides the Alter password for any alter-protected SAS files whose names you want to exchange. You can use the option either in parentheses after the name of each SAS file or after a forward slash.\",\"help\":\"ALTER=*alter-password*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p09etz3htri4m9n1jbfxroo69drv\"},{\"name\":\"MEMTYPE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"restricts processing to one member type. You can exchange only the names of SAS files of the same type. You can use the option either in parentheses after the name of each SAS file or after a forward slash.\",\"help\":\"MEMTYPE=*member-type*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p18tmzsvoo6tunn10crbehq7nnmq\"}],\"supportSiteTargetFile\":\"p1qbvqu4g45an4n155p29i6qnqwx.htm\"},{\"name\":\"EXCLUDE\",\"description\":\"Excludes SAS files from copying.\",\"help\":\"EXCLUDE *SAS-file(s)*&lt;/ MEMTYPE=*member-type*&gt;;\",\"arguments\":[{\"name\":\"SAS-file\",\"placeholder\":true,\"description\":\"specifies one or more SAS files to exclude from the copy operation. All SAS files you name in the EXCLUDE statement must be in the library that is specified in the IN= option in the COPY statement. If the SAS files are generation groups, the EXCLUDE statement allows only selection of the base versions.\",\"help\":\"*SAS-file(s)*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0a3x8jllskic7n1bgb7jrh6gpwma\"},{\"name\":\"MEMTYPE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"MTYPE=\",\"MT=\"],\"description\":\"restricts processing to one member type. You can use the option either in parentheses after the name of each SAS file or after a forward slash.\",\"help\":\"MEMTYPE=*member-type*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0v36oxx5wgxg7n1ilxtgh7jrm45a\"}],\"supportSiteTargetFile\":\"p1jj27rd4c52nmn1lds6mzouzfc2a.htm\"},{\"name\":\"FORMAT\",\"description\":\"Assigns, changes, and removes variable formats in the SAS data set specified in the MODIFY statement permanently.\",\"help\":\"FORMAT variable-1<format-1>\\n<variable-2<format-2> ...>;\",\"arguments\":[{\"name\":\"variable\",\"placeholder\":true,\"description\":\"specifies one or more variables whose format you want to assign, change, or remove. If you want to disassociate a format with a variable, list the variable last in the list with no format following:\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1bdzf4l8jlkm5n1lw8gf3xy4kql\"},{\"name\":\"format\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies a format to apply to the variable or variables listed before it. If you do not specify a format, the FORMAT statement removes any format associated with the variables in variable-list.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p03yh79jp6wf5vn108tmuz0m8vr9\"}],\"supportSiteTargetFile\":\"n09nl7f8smat49n1rz1rav5i6a8a.htm\"},{\"name\":\"IC CREATE\",\"description\":\"Creates an integrity constraint.\",\"help\":\"IC CREATE <constraint-name=>constraint<MESSAGE='message-string' \\n<MSGTYPE=USER>>;\",\"arguments\":[{\"name\":\"constraint\",\"placeholder\":true,\"description\":\"is the type of constraint. Here is a list of valid values:\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p100w0zvssqra4n1h9fjhker9wk3\"},{\"name\":\"constraint-name\",\"optional\":true,\"placeholder\":true,\"description\":\"is an optional name for the constraint.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0aeaec20fjux2n1sxfpf6v0og37\"},{\"name\":\"MESSAGE=\",\"optional\":true,\"description\":\"message-string is the text of an error message to be written to the log when the data fails the constraint:\",\"help\":\"MESSAGE='*message-string*' \",\"type\":\"value\",\"arguments\":[{\"name\":\"MSGTYPE=\",\"description\":\"controls the format of the integrity constraint error message. By default when the MESSAGE= option is specified, the message that you define is inserted into the SAS error message for the constraint, separated by a space. MSGTYPE=USER suppresses the SAS portion of the message.\",\"help\":\"MSGTYPE=USER\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1u10ph9hveqlin1icwocebqexiq\"}],\"supportSiteTargetFragment\":\"n0nootikduax4rn19rsy1mtbiaz5\"}],\"supportSiteTargetFile\":\"p16uvvbluwnpwun1n74x9odgg9r9.htm\"},{\"name\":\"IC DELETE\",\"description\":\"Deletes an integrity constraint.\",\"help\":\"IC DELETE *constraint-name(s)* | _ALL_;\",\"arguments\":[{\"name\":\"constraint-name\",\"placeholder\":true,\"description\":\"names one or more constraints to delete. For example, to delete the constraints Unique_D and Unique_E, use the following statement: ic delete Unique_D Unique_E;\",\"help\":\"*constraint-name(s)*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0ao5ikulfbxiyn1omqm9l5pr1uj\"},{\"name\":\"_ALL_\",\"description\":\"deletes all constraints for the SAS data file specified in the preceding MODIFY statement.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0f7he6vkgpvdjn1by8i9i6p2ivm\"}],\"supportSiteTargetFile\":\"p0d07ibb4r7fyfn10xmxu4j8gr15.htm\"},{\"name\":\"IC REACTIVATE\",\"description\":\"Reactivates a foreign key integrity constraint that is inactive.\",\"help\":\"IC REACTIVATE *foreign-key-name* REFERENCES *libref*;\",\"arguments\":[{\"name\":\"foreign-key-name\",\"placeholder\":true,\"description\":\"is the name of the foreign key to reactivate.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1n93ig30deii7n1wu6mgvbqc1qy\"},{\"name\":\"libref\",\"placeholder\":true,\"description\":\"refers to the SAS library containing the data set that contains the primary key that is referenced by the foreign key.\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"p1hk6z6x224hrfn1vipqebc3ilc7\"}],\"supportSiteTargetFile\":\"p03eh3o0davtgon0zcim7yxutolf.htm\"},{\"name\":\"INDEX CENTILES\",\"description\":\"Updates centiles statistics for indexed variables.\",\"help\":\"INDEX CENTILES index(s)\\n</ <REFRESH> \\n <UPDATECENTILES=ALWAYS | NEVER | integer>>;\",\"arguments\":[{\"name\":\"index\",\"placeholder\":true,\"description\":\"names one or more indexes.\",\"help\":\"*index(s)*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p11kax4nhe5v99n1vn4vc8qwd2g8\"},{\"name\":\"REFRESH\",\"optional\":true,\"description\":\"updates centiles immediately, regardless of the value of UPDATECENTILES.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1b1mh5e35csr1n1uum1n825hevz\"},{\"name\":\"UPDATECENTILES=\",\"optional\":true,\"description\":\"specifies when centiles are to be updated. It is not practical to update centiles after every data set update. Therefore, you can specify as the value of UPDATECENTILES the percentage of the data values that can be changed before centiles for the indexed variables are updated.\",\"help\":\"UPDATECENTILES=ALWAYS | NEVER | *integer*\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ALWAYS\",\"type\":\"standalone\"},{\"name\":\"NEVER\",\"type\":\"standalone\"},{\"name\":\"integer\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"n03zr9jh68jp1qn1mkkpg92p8j6f\"}],\"supportSiteTargetFile\":\"p0fom8inbqxmmin1xjaoie72jiee.htm\"},{\"name\":\"INDEX CREATE\",\"description\":\"Creates simple or composite indexes for the SAS data set specified in the MODIFY statement.\",\"help\":\"INDEX CREATE index-specification(s)\\n</ <NOMISS>  <UNIQUE> \\n <UPDATECENTILES=ALWAYS | NEVER | integer>>;\",\"arguments\":[{\"name\":\"variable\",\"placeholder\":true,\"description\":\"creates a simple index on the specified variable.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0sw3ilchso7xxn1efbj8m2en8nz\"},{\"name\":\"index=\",\"placeholder\":true,\"description\":\"creates a composite index. The name that you specify for index is the name of the composite index. It must be a valid SAS name and cannot be the same as any variable name or any other composite index name. You must specify at least two variables.\",\"help\":\"*index=(variables)*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0p288p9p2trcln1klb54lpo6lxz\"},{\"name\":\"NOMISS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"excludes from the index all observations with missing values for all index variables.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1qmkihe7q8wphn196buuliw55cy\"},{\"name\":\"UNIQUE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that the combination of values of the index variables must be unique.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p11fyf9k1p4rf3n1l915a5drrja3\"},{\"name\":\"UPDATECENTILES=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies when centiles are to be updated.\",\"help\":\"UPDATECENTILES=ALWAYS | NEVER | *integer*\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ALWAYS\",\"type\":\"standalone\"},{\"name\":\"NEVER\",\"type\":\"standalone\"},{\"name\":\"integer\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p1wqymu8ojdznkn13arey2a79d46\"}],\"supportSiteTargetFile\":\"p03h320ajtd062n1d05vyoqso4yo.htm\"},{\"name\":\"INDEX DELETE\",\"description\":\"Deletes one or more indexes associated with the SAS data set specified in the MODIFY statement.\",\"help\":\"INDEX DELETE *index(s)* | _ALL_;\",\"arguments\":[{\"name\":\"index\",\"placeholder\":true,\"description\":\"names one or more indexes to delete. The index(es) must be for variables in the SAS data set that is named in the preceding MODIFY statement. You can delete both simple and composite indexes.\",\"help\":\"*index(s)*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0b8j2imu3zialn18hj4go0q9enp\"},{\"name\":\"_ALL_\",\"description\":\"deletes all indexes, except for indexes that are owned by an integrity constraint. When an index is created, it is marked as owned by the user, by an integrity constraint, or by both. If an index is owned by both a user and an integrity constraint, the index is not deleted until both an IC DELETE statement and an INDEX DELETE statement are processed.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0bx3n3sq4sxben14g4jficfoa9h\"}],\"supportSiteTargetFile\":\"p09xytwp0olwknn1uq3le7b04y9i.htm\"},{\"name\":\"INFORMAT\",\"description\":\"Assigns, changes, and removes variable informats in the data set specified in the MODIFY statement permanently.\",\"help\":\"INFORMAT variable-1<informat-1>\\n<variable-2<informat-2> ...>;\",\"arguments\":[{\"name\":\"variable\",\"placeholder\":true,\"description\":\"specifies one or more variables whose informats you want to assign, change, or remove. If you want to disassociate an informat with a variable, list the variable last in the list with no informat following:\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1ek1x2j5g61w4n1hatcwpznc35j\"},{\"name\":\"informat\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies an informat for the variables immediately preceding it in the statement. If you do not specify an informat, the INFORMAT statement removes any existing informats for the variables in variable-list.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0e98apzqlu2r9n1isqywa1d0gsq\"}],\"supportSiteTargetFile\":\"n18g9ro4y99vlmn1ccwbe0zbvtfk.htm\"},{\"name\":\"INITIATE\",\"description\":\"Creates an audit file that has the same name as the SAS data file and a data set type of AUDIT.\",\"help\":\"INITIATE &lt;AUDIT_ALL=NO | YES&gt;;\",\"arguments\":[{\"name\":\"AUDIT_ALL=\",\"optional\":true,\"description\":\"specifies whether logging can be suspended and audit settings can be changed. AUDIT_ALL=YES specifies that all images are logged and cannot be suspended. That is, you cannot use the LOG statement to turn off logging of particular images, and you cannot suspend event logging by using the SUSPEND statement. To turn off logging, you must use the TERMINATE statement, which terminates event logging and deletes the audit file.\",\"help\":\"AUDIT_ALL=NO | YES\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NO\",\"type\":\"standalone\"},{\"name\":\"YES\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"n0fz537e82ni4pn1k0kvrl1o2pm8\"}],\"supportSiteTargetFile\":\"n11kt4ogfa16wun0ztam18cmk0tx.htm\"},{\"name\":\"LABEL\",\"description\":\"Assigns, changes, and removes variable labels for the SAS data set specified in the MODIFY statement.\",\"help\":\"LABEL variable-1='label-1' |  ' '\\n<variable-2=<'label-2' | ' '> ...>;\",\"arguments\":[{\"name\":\"variable=\",\"placeholder\":true,\"description\":\"specifies a text string of up to 256 characters. If the label text contains single quotation marks, use double quotation marks around the label, or use two single quotation marks in the label text and enclose the string in single quotation marks. To remove a label from a data set, assign a label that is equal to a blank that is enclosed in quotation marks.\",\"help\":\"*variable=&lt;'label'&gt;*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1f2y8lrl6ctlzn0zqjg7a1wupz6\"}],\"supportSiteTargetFile\":\"n0x2w68u7v2lqhn1lmrrxmag978p.htm\"},{\"name\":\"LOG\",\"description\":\"specifies the audit file settings.\",\"help\":\"LOG  <ADMIN_IMAGE=YES | NO>\\n<BEFORE_IMAGE=YES | NO>\\n<DATA_IMAGE=YES | NO>\\n<ERROR_IMAGE=YES | NO>;\",\"arguments\":[{\"name\":\"ADMIN_IMAGE=\",\"optional\":true,\"description\":\"specifies whether the administrative events are logged to the audit file (that is, the SUSPEND and RESUME actions).\",\"help\":\"ADMIN_IMAGE=YES | NO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YES\",\"type\":\"standalone\"},{\"name\":\"NO\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"p0pkiy647p4pc3n16edh4jrfgr9r\"},{\"name\":\"BEFORE_IMAGE=\",\"optional\":true,\"description\":\"specifies whether the before-update record images are logged to the audit file.\",\"help\":\"BEFORE_IMAGE=YES | NO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YES\",\"type\":\"standalone\"},{\"name\":\"NO\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"n18tuekjbeknsxn1bk6dku70krvq\"},{\"name\":\"DATA_IMAGE=\",\"optional\":true,\"description\":\"specifies whether the added, deleted, and after-update record images are logged to the audit file.\",\"help\":\"DATA_IMAGE=YES | NO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YES\",\"type\":\"standalone\"},{\"name\":\"NO\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"p1upajj6uz5ivxn1vaie3txftwoz\"},{\"name\":\"ERROR_IMAGE=\",\"optional\":true,\"description\":\"specifies whether the after-update record images are logged to the audit file.\",\"help\":\"ERROR_IMAGE=YES | NO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YES\",\"type\":\"standalone\"},{\"name\":\"NO\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"n0fy939wge7kq5n1ugd6qhq925mr\"}],\"supportSiteTargetFile\":\"p03mjfn8qk5ce5n0zq307boijsa0.htm\"},{\"name\":\"MODIFY\",\"description\":\"Changes the attributes of a SAS file and, through the use of subordinate statements, the attributes of variables in the SAS file.\",\"help\":\"MODIFY SAS-file<(options)>\\n</ <CORRECTENCODING=encoding-value>  <DTC=SAS-date-time>\\n  <GENNUM=integer>  <MEMTYPE=member-type>>;  \",\"arguments\":[{\"name\":\"SAS-file\",\"placeholder\":true,\"description\":\"specifies a SAS file that exists in the procedure input library.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p06zpejv8u0vvkn1dazwwldy6yed\"},{\"name\":\"ALTER=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"modifies an Alter password.\",\"help\":\"ALTER=*password-modification*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1wg3vc4s8ojqsn1lbr09y8fwdol\"},{\"name\":\"CORRECTENCODING=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"changes the character-set encoding.\",\"help\":\"CORRECTENCODING=*encoding-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1xke6trxfca2pn1u2y32hhibazh\"},{\"name\":\"ENCRYPTKEY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a key value for AES encryption.\",\"help\":\"ENCRYPTKEY=*key-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0ug41uv0lnbvhn14ig2qw87yuyd\"},{\"name\":\"DTC=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a creation date and time.\",\"help\":\"DTC=*SAS-date-time*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0fcghw1hrvdxfn13ctzfv8e0fpn\"},{\"name\":\"GENMAX=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"modifies the maximum number of versions for a generation group.\",\"help\":\"GENMAX=*number-of-generations*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n13lz5an5850nvn1vv3ychu1c338\"},{\"name\":\"GENNUM=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"modifies a historical version.\",\"help\":\"GENNUM=*integer*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n08vtjioc2t7eyn17kcj5i1izrvt\"},{\"name\":\"LABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"assigns or change a data set label.\",\"help\":\"LABEL=*'data-set-label'* | ' '\",\"type\":\"choice\",\"arguments\":[{\"name\":\"'data-set-label'\",\"placeholder\":true,\"type\":\"dataSet\"},{\"name\":\"'\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"p0cep8z0xwpolvn15q5lxl6mlqo4\"},{\"name\":\"MEMTYPE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"MTYPE=\",\"MT=\"],\"description\":\"restricts processing to a certain type of SAS file.\",\"help\":\"MEMTYPE=*member-type*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0uiyux6mua19tn1ovsu1rkm7n38\"},{\"name\":\"PW=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"modifies a Read, Write, or Alter password.\",\"help\":\"PW=*password-modification*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0lqwk7enjmgq1n12nr4weo5zpfp\"},{\"name\":\"READ=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"modifies a Read password.\",\"help\":\"READ=*password-modification*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p12ujgyf524qjtn17n7767idlhfl\"},{\"name\":\"SORTEDBY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies how the data are currently sorted.\",\"help\":\"SORTEDBY=*sort-information*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p18m7mhxp68pp7n1tiv6qpz3a7sp\"},{\"name\":\"TYPE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"assigns or changes a special data set type.\",\"help\":\"TYPE=*special-type*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1krke20ha5p9rn1xsa8dk4x6laz\"},{\"name\":\"WRITE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"modifies a Write password.\",\"help\":\"WRITE=*password-modification*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1y1r2jua3glxbn1pejwprwvmpf8\"}],\"supportSiteTargetFile\":\"n0ahh0eqtadmp3n1uwv55i2gyxiz.htm\"},{\"name\":\"QUIT\",\"description\":\"Executes any statements that have not executed and ends the procedure.\",\"help\":\"QUIT ;\",\"supportSiteTargetFile\":\"n0bhts7ccpcc7vn14vt65ofodtyaa.htm\"},{\"name\":\"REBUILD\",\"description\":\"Specifies whether to restore or delete the disabled indexes and integrity constraints.\",\"help\":\"REBUILD  SAS-file </ <ENCRYPTKEY=key-value>\\n<ALTER=password> <GENNUM=n> <MEMTYPE=member-type> <NOINDEX>>;\",\"arguments\":[{\"name\":\"SAS-file\",\"placeholder\":true,\"description\":\"specifies a SAS data file that contains the disabled indexes and integrity constraints. You can also use a numbered range list or colon list.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0cn8sr0ffn6n8n1wgcowq2eldok\"},{\"name\":\"ENCRYPTKEY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a key value for AES encryption.\",\"help\":\"ENCRYPTKEY=*key-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n09avk4m46mg26n1u4im64be269w\"},{\"name\":\"ALTER=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"provides the Alter password.\",\"help\":\"ALTER=*alter-password*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1xu9tfuridblln1i2xlwsc4w77q\"},{\"name\":\"GENNUM=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"restricts processing for generation data sets.\",\"help\":\"GENNUM=*integer*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p09a9w8ks4vr2yn1kmgvpt0qht4w\"},{\"name\":\"MEMTYPE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"MTYPE=\",\"MT=\"],\"description\":\"restricts processing to one member type.\",\"help\":\"MEMTYPE=*member-type*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0zo3362kqp7sbn1eqinjd7cysyl\"},{\"name\":\"NOINDEX\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies to delete the disabled indexes and integrity constraints.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1t3e33gdff399n1esfveng9q7ks\"}],\"supportSiteTargetFile\":\"n0b5kad6a45tpnn1964zh8pgtkpu.htm\"},{\"name\":\"RENAME\",\"description\":\"Renames variables in the SAS data set specified in the MODIFY statement.\",\"help\":\"RENAME old-name-1=new-name-1\\n<old-name-2=new-name-2 ...>; \",\"arguments\":[{\"name\":\"old-name=\",\"placeholder\":true,\"description\":\"changes the name of a variable in the data set specified in the MODIFY statement. old-name must be a variable that already exists in the data set. new-name cannot be the name of a variable that already exists in the data set or the name of an index, and the new name must be a valid SAS name.\",\"help\":\"*old-name=new-name*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1b6zwtoc8wokun1jlmxnr70557u\"}],\"supportSiteTargetFile\":\"p0pqxa66i2549kn13fb50mibdxfs.htm\"},{\"name\":\"REPAIR\",\"description\":\"Attempts to restore damaged SAS data sets or catalogs, in permanent libraries, to a usable condition.\",\"help\":\"REPAIR SAS-file(s)\\n</ <ENCRYPTKEY=key-value>\\n<ALTER=alter-password> \\n <GENNUM=integer>  <MEMTYPE=member-type>>;\",\"arguments\":[{\"name\":\"SAS-file\",\"placeholder\":true,\"description\":\"specifies one or more SAS data sets or catalogs in the procedure input library. You can also use a numbered range list or colon list.\",\"help\":\"*SAS-file(s)*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0v6umpq12mdmhn1jdkvqicdj47y\"},{\"name\":\"ALTER=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"provides the Alter password.\",\"help\":\"ALTER=*alter-password*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0o129ees7zw4yn1kqx441jwe6nq\"},{\"name\":\"ENCRYPTKEY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a key value for AES encryption.\",\"help\":\"ENCRYPTKEY=*key-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p07nv2ggxi16mon1l9pb1o6vcqyb\"},{\"name\":\"GENNUM=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"restricts processing for generation data sets.\",\"help\":\"GENNUM=*integer*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p15x6v2ewckwdyn1nub0o9sf3aq0\"},{\"name\":\"MEMTYPE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"MTYPE=\",\"MT=\"],\"description\":\"restricts processing to one member type.\",\"help\":\"MEMTYPE=*member-type*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1txuw7e5vbsqan1iujwwatt2q5e\"}],\"supportSiteTargetFile\":\"p0ve5g6x5vtjrkn1llarizdwfe6e.htm\"},{\"name\":\"RESUME\",\"description\":\"resumes event logging to the audit file, if it was suspended.\",\"help\":\"RESUME ;\",\"supportSiteTargetFile\":\"p1l7qldzbaztvhn1gj3h4rl3e8ta.htm\"},{\"name\":\"SAVE\",\"description\":\"Deletes all the SAS files in a library except the ones listed in the SAVE statement.\",\"help\":\"SAVE *SAS-file(s)*&lt;/ MEMTYPE=*member-type*&gt;;\",\"arguments\":[{\"name\":\"SAS-file\",\"placeholder\":true,\"description\":\"specifies one or more SAS files that you do not want to delete from the SAS library.\",\"help\":\"*SAS-file(s)*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0u0xsywi15oc2n1447khe2tn3pq\"},{\"name\":\"MEMTYPE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"MTYPE=\",\"MT=\"],\"description\":\"restricts processing to one member type. You can use the option either in parentheses after the name of each SAS file or after a forward slash.\",\"help\":\"MEMTYPE=*member-type*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p04xbhp9c8m3ubn1leg5tbca5bih\"}],\"supportSiteTargetFile\":\"p1l2cpldwjhxshn1gx1w5nnocjzu.htm\"},{\"name\":\"SELECT\",\"description\":\"Selects SAS files for copying.\",\"help\":\"SELECT SAS-file(s)\\n</ <ENCRYPTKEY=key-value> <ALTER=alter-password>  <MEMTYPE=member-type>>; \",\"arguments\":[{\"name\":\"SAS-file\",\"placeholder\":true,\"description\":\"specifies one or more SAS files that you want to copy. All of the SAS files that you name must be in the data library that is referenced by the libref named in the IN= option in the COPY statement. If the SAS files have generation groups, all the generations are copied because the SELECT statement does not allow you to select specific versions.\",\"help\":\"*SAS-file(s)*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0bws26ewpf0rtn1aufdz62fuqtma\"},{\"name\":\"ALTER=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"provides the Alter password for any alter-protected SAS files that you are moving from one data library to another. Because you are moving and thus deleting a SAS file from a SAS library, you need Alter access. You can use the option either in parentheses after the name of each SAS file or after a forward slash.\",\"help\":\"ALTER=*alter-password*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0fqmyta259rjln1dikbfrnqeskda\"},{\"name\":\"ENCRYPTKEY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the key value for AES encryption.\",\"help\":\"ENCRYPTKEY=*key-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1rqbowlupsrfvn1o9zcyxntjapya\"},{\"name\":\"MEMTYPE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"MTYPE=\",\"MT=\"],\"description\":\"restricts processing to one member type. You can use the option either in parentheses after the name of each SAS file or after a forward slash.\",\"help\":\"MEMTYPE=*member-type*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0pvsn4toxrtntn13zp95hwxe5m9a\"}],\"supportSiteTargetFile\":\"n0hr91w8lbf9ugn13k9wj1br4qoaa.htm\"},{\"name\":\"SUSPEND\",\"description\":\"suspends event logging to the audit file, but does not delete the audit file.\",\"help\":\"SUSPEND ;\",\"supportSiteTargetFile\":\"n1h2rg4but283fn1w3jhsqpyt1ph.htm\"},{\"name\":\"TERMINATE\",\"description\":\"terminates event logging and deletes the audit file.\",\"help\":\"TERMINATE ;\",\"supportSiteTargetFile\":\"p1v3d4t5hkbk59n10qwddwvvf4zv.htm\"},{\"name\":\"USER_VAR\",\"description\":\"defines optional variables to be logged in the audit file with each update to an observation. When you use USER_VAR, it must follow an INITIATE statement.\",\"help\":\"USER_VAR  variable-name-1<$><length><LABEL='variable-label' >\\n<variable-name-2 <$><length><LABEL='variable-label' > ...>;\",\"arguments\":[{\"name\":\"variable-name\",\"placeholder\":true,\"description\":\"is a name for the variable.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p02bbemdpob2gon13w7a6wqp1kcw\"},{\"name\":\"$\",\"optional\":true,\"description\":\"indicates that the variable is a character variable.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1ljuw5iiapzden1cl7dzpdt5o1e\"},{\"name\":\"length\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the length of the variable.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1s07jeve2diz5n1jk1i675q5vn6\"},{\"name\":\"LABEL=\",\"optional\":true,\"description\":\"specifies a label for the variable.\",\"help\":\"LABEL='*variable-label*' \",\"type\":\"value\",\"supportSiteTargetFragment\":\"n15c5dfklmg2lnn1e4u86ypmv11j\"}],\"supportSiteTargetFile\":\"n0u62j56o4a4msn1ea5vsd277pzq.htm\"},{\"name\":\"XATTR ADD\",\"description\":\"Adds an extended attribute to a variable or a data set.\",\"help\":\"XATTR ADD DS  attribute-name-1=attribute-value-1 \\n<attribute-name-2=attribute-value-2 ...>;\\nor\\nXATTR ADD VAR  variable-name-1  (attribute-name-1=attribute-value-1\\n< attribute-name-2=attribute-value-2 ...>)\\n<variable-name-2 (attribute-name-1=attribute-value-1 \\n<attribute-name-2=attribute-value-2 ...>) >;\",\"arguments\":[{\"name\":\"DS \",\"description\":\"adds an extended attribute to a data set. If the extended attribute already exists, an error will be returned.\",\"help\":\"XATTR ADD DS *attribute-name-1=attribute-value-1* &lt;*attribute-name-2=attribute-value-2* ...&gt;\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0zblikcqnhfjon1h20pilguwj1x\"},{\"name\":\"VAR\",\"description\":\"adds an extended attribute to a variable. If the extended attribute already exists, an error will be returned.\",\"help\":\"XATTR ADD VAR *variable-name-1*(*attribute-name-1=attribute-value-1* &lt;*attribute-name-2=attribute-value-2 ...*&gt;) &lt;*variable-name-2*(*attribute-name-1=attribute-value-1* &lt;*attribute-name-2=attribute-value-2 ...*&gt;)&gt;\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n021oreyncyuwnn1itrne6ycaofw\"}],\"supportSiteTargetFile\":\"n0cv90wy4n3n86n1ru10jvzx7r9u.htm\"},{\"name\":\"XATTR DELETE\",\"description\":\"Deletes all extended attributes from a SAS file.\",\"help\":\"XATTR DELETE ;\",\"arguments\":[{\"name\":\"DELETE\",\"description\":\"deletes all extended attributes from a data set.\",\"help\":\"XATTR DELETE\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0uapyhyomo369n172cvz0ad1aeh\"}],\"supportSiteTargetFile\":\"n04hzt0cjyr9jrn1az59i16wb0cy.htm\"},{\"name\":\"XATTR OPTIONS\",\"description\":\"Specifies options as needed for extended attributes. Currently, only SEGLEN= is a valid option.\",\"help\":\"XATTR OPTIONS  &lt;SEGLEN=*number-of-bytes*&gt;;\",\"arguments\":[{\"name\":\"SEGLEN=\",\"description\":\"Indicates the length of the storage element that will hold the character extended attribute value. The value can be 1 to 32,760 bytes.\",\"help\":\"SEGLEN=*number-of-bytes*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n13rp8761xmpx6n1snlt2tt5a4e2\"}],\"supportSiteTargetFile\":\"p0wvrrj1q9v3jon100tgwvpjszy5.htm\"},{\"name\":\"XATTR REMOVE\",\"description\":\"Removes an extended attribute from a variable or a data set.\",\"help\":\"XATTR REMOVE DS  attribute-name(s) ;\\nor\\nXATTR REMOVE VAR  variable-name-1  (attribute-name(s))\\n<variable-name-2  (attribute-name(s) ...)>;\",\"arguments\":[{\"name\":\"DS\",\"description\":\"removes an extended attribute from a data set.\",\"help\":\"XATTR REMOVE DS *attribute-name(s)*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1ebxpd83du4tan1tvpq7kef662r\"},{\"name\":\"VAR \",\"description\":\"removes an extended attribute from a variable.\",\"help\":\"XATTR REMOVE VAR *variable-name-1*(*attribute-name(s)*) &lt;*variable-name-2*(*attribute-name(s)*)&gt;\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p18iecknyd18szn1u0sj8jm3nrqn\"}],\"supportSiteTargetFile\":\"n15w5fx89iqja8n1nxzyb3d07zwf.htm\"},{\"name\":\"XATTR SET\",\"description\":\"Updates or adds extended attributes to variables or data sets.\",\"help\":\"XATTR SET DS  attribute-name-1=attribute-value-1 \\n<attribute-name-2=\\\"attribute-value-2\\\" ...>;\\nor\\nXATTR SET VAR  variable-name-1  (attribute-name-1=attribute-value-1 \\n<attribute-name-2=attribute-value-2 ...>)\\n<variable-name-2  (attribute-name-1=attribute-value-1 \\n<attribute-name-2=attribute-value-2>  ...)>;\",\"arguments\":[{\"name\":\"DS \",\"description\":\"updates or adds an extended attribute to a data set. If the data set extended attribute does not exist, it will be added. If it does exist, it will be updated with the value specified.\",\"help\":\"XATTR SET DS *attribute-name-1=attribute-value-1* &lt;*attribute-name-2=attribute-value-2*  ...&gt;\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1jmud6hfpi146n13siz560qxtvx\"},{\"name\":\"VAR \",\"description\":\"updates or adds an extended attribute to a variable. If the variable and extended attribute combination does not exist, the extended attribute will be added. If it does exist, the extended attribute will be updated with the one specified.\",\"help\":\"XATTR SET VAR *variable-name-1*(*attribute-name-1=attribute-value-1* &lt;*attribute-name-2=attribute-value-2  ...*&gt;) &lt;*variable-name-2*(*attribute-name-1=attribute-value-1* &lt;*attribute-name-2=attribute-value-2 ...*&gt;)&gt;\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n158pozqlsli5xn1rvzy7iwpaf21\"}],\"supportSiteTargetFile\":\"p0mpc4e37s3jx8n1n73a8sknul6a.htm\"},{\"name\":\"XATTR UPDATE\",\"description\":\"Updates an extended attribute to a variable or a data set.\",\"help\":\"XATTR UPDATE DS  attribute-name-1=attribute-value-1 \\n<attribute-name-2=attribute-value-2 ...>;\\nor\\nXATTR UPDATE VAR  variable-name-1  (attribute-name-1=attribute-value-1 \\n<attribute-name-2=attribute-value-2  ...>)\\n<variable-name-2  (attribute-name-1=attribute-value-1 \\n<attribute-name-2=attribute-value-2 ...>)>;\",\"arguments\":[{\"name\":\"DS \",\"description\":\"updates an extended attribute in a data set. If the extended attribute does not exist, an error is written to the SAS log.\",\"help\":\"XATTR UPDATE DS *attribute-name-1=attribute-value-1* &lt;*attribute-name-2=attribute-value-2* ...&gt;\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n18v47lf07phi6n1qzazakl29be1\"},{\"name\":\"VAR \",\"description\":\"updates an extended attribute for a variable. If the variable and extended attribute combination is not found, an error message is written to the SAS log.\",\"help\":\"XATTR UPDATE VAR *variable-name-1*(*attribute-name-1=attribute-value-1* &lt;*attribute-name-2=attribute-value-2 ...*&gt;) &lt;*variable-name-2*(*attribute-name-1=attribute-value-1* &lt;*attribute-name-2=attribute-value-2 ...*&gt;)&gt;\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0xvoll989769hn175l1mhmjmpvi\"}],\"supportSiteTargetFile\":\"n0k3exn5gdfrwnn1dw17wia3scfa.htm\"}],\"interactive\":true,\"supportSiteInformation\":{\"docsetId\":\"proc\",\"docsetVersion\":\"v_002\",\"docsetTargetFile\":\"n1hmips60w5w3yn1hj9klna7aplw.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/DATASOURCE.json",
    "content": "{\"name\":\"DATASOURCE\",\"statements\":[{\"name\":\"PROC DATASOURCE\",\"description\":\"The DATASOURCE procedure extracts time series and event data from many different kinds of data files distributed by various data vendors and stores them in a SAS data set. Once stored in a SAS data set, the time series and event variables can be processed by other SAS procedures. † The DATASOURCE procedure has statements and options to extract only a subset of time series data from an input data file. It gives you control over the frequency of data to be extracted, time series variables to be selected, cross sections to be included, and time range of data to be output. † The DATASOURCE procedure can create auxiliary data sets containing descriptive information on the time series variables and cross sections. More specifically, the OUTCONT= option names a data set containing information on time series variables, the OUTBY= option names a data set that reports information on cross- sectional variables, and the OUTALL= option names a data set that combines both time series variables and cross-sectional information. † In addition to the auxiliary data sets, two types of primary output data sets are the OUT= and OUTEVENT= data sets. The OUTEVENT= data set contains event variables but excludes periodic time series data. The OUT= data set contains periodic time series data and any event variables referenced in the KEEP statement.\",\"help\":\"PROC DATASOURCE <ALIGN=BEGINNING | MIDDLE | ENDING><ASCII><DBNAME= ’database name’><EBCDIC><FAMEPRINT><FILETYPE=BEANIPA | BEANIPAD | BLSCPI... ><INDEX><INFILE= fileref | INFILE= (fileref1 fileref2 ...filerefn)><INTERVAL=DAY | WEEK | MONTH... ><LRECL= lrecl | LRECL= (lrecl1 lrecl2 ...lrecln)><OUT= SAS-data-set><OUTALL= SAS-data-set><OUTBY= SAS-data-set><OUTCONT= SAS-data-set><OUTEVENT= SAS-data-set><OUTSELECT=ON | OFF><RECFM=FIXED|F | BIN|N | VAR|D... >;     \\n\\tATTRIBUTE <FORMAT= format><LABEL= \\\"label\\\"><LENGTH= length> ...;\\n\\n\\tDROP variable-list ;\\n\\n\\tDROPEVENT variable-list ;\\n\\n\\tFORMAT variable-list format ... ;\\n\\n\\tKEEP variable-list ;\\n\\n\\tKEEPEVENT variable-list ;\\n\\n\\tLABEL variable = \\\"label\\\" ... ;\\n\\n\\tLENGTH variable-list length ... ;\\n\\n\\tRANGE <FROM><TO> ;\\n\\n\\tRENAME old-name = new-name ... ;\\n\\n\\tWHERE where-expression ;\\n\",\"arguments\":[{\"name\":\"ALIGN=\",\"optional\":true,\"description\":\"Controls the alignment of SAS dates used to identify output observations.\",\"help\":\"ALIGN=BEGINNING | MIDDLE | ENDING*option*\",\"type\":\"value\",\"arguments\":[{\"name\":\"BEGINNING\",\"description\":\"Alignment of SAS dates: beginning\",\"type\":\"standalone\"},{\"name\":\"MIDDLE\",\"description\":\"Alignment of SAS dates: middle\",\"type\":\"standalone\"},{\"name\":\"ENDING\",\"description\":\"Alignment of SAS dates: ending\",\"type\":\"standalone\"}]},{\"name\":\"ASCII\",\"optional\":true,\"description\":\"Specifies the incoming data is ASCII. This option is used when the native character set of your host machine is EBCDIC.\",\"type\":\"standalone\"},{\"name\":\"DBNAME=\",\"optional\":true,\"description\":\"Specifies the FAME database to access. Only use this option with the filetype=FAME option. The character string you specify in the DBNAME= option is passed through to FAME. Specify the value of this option as you would in accessing the database from within FAME software.\",\"type\":\"value\"},{\"name\":\"EBCDIC\",\"optional\":true,\"description\":\"Specifies the incoming data is ebcdic. This option is needed when the native character set of your host machine is ASCII.\",\"type\":\"standalone\"},{\"name\":\"FAMEPRINT\",\"optional\":true,\"description\":\"Prints the FAME command file generated by PROC DATASOURCE and the log file produced by the FAME component of the interface system. Only use this option with the filetype=FAME option.\",\"type\":\"standalone\"},{\"name\":\"FILETYPE=\",\"optional\":true,\"aliases\":[\"DBTYPE=\"],\"description\":\"Specifies the kind of input data file to process. This option is required.\",\"help\":\"FILETYPE=BEANIPA | BEANIPAD | BLSCPI | BLSWPI | BLSEENA | BLSEESA | DRIBASIC | CITIBASE | DRIDDS | CITIDISK | CRY2DBS | CRY2DBI | CRY2DBA | CRY2MBS | CRY2MBI | CRY2MBA | CRY2DCS | CRY2DCI | CRY2DCA | CRY2MCS | CRY2MCI | CRY2MCA | CRY2DIS | CRY2DII | CRY2DIA | CRY2MIS | CRY2MII | CRY2MIA | CRY2MVS | CRY2MVI | CRY2MVA | CRY2DVS | CRY2DVI | CRY2DVA | CRSPDBS | CRSPDBI | CRSPDBA | CRSPMBS | CRSPMBI | CRSPMBA | CRSPDCS | CRSPDCI | CRSPDCA | CRSPMCS | CRSPMCI | CRSPMCA | CRSPDIS | CRSPDII | CRSPDIA | CRSPMIS | CRSPMII | CRSPMIA | CRSPMVS | CRSPMVI | CRSPMVA | CRSPDVS | CRSPDVI | CRSPDVA | CRSPMUS | CRSPMUI | CRSPMUA | CRSPDUS | CRSPDUI | CRSPDUA | CRSPMOS | CRY2MOI | CRSPMOA | CRSPDOS | CRSPDOI | CRSPDOA | CR95MIS | CR95MII | CR95MIA | CR95DIS | CR95DII | CR95DIA | CR95MVS | CR95MVI | CR95MVA | CR95DVS | CR95DVI | CR95DVA | CR95MUS | CR95MUI | CR95MUA | CR95DUS | CR95DUI | CR95DUA | CR95MSS | CR95MSI | CR95MSA | CR95DSS | CR95DSI | CR95DSA | CR95MAS | CR95MAI | CR95MAA | CR95DAS | CR95DAI | CR95DAA | FAME | HAVER | IMFIFSP | IMFDOTSP | IMFBOPSP | IMFGFSP | OECDANA | OECDQNA | OECDMEI | CSAIBM | CS48QIBM | CSAUC | CS48QUC | CSAIY2 | CSQIY2 | CSAUCY2 | CSQUCY2\",\"type\":\"choice\",\"arguments\":[{\"name\":\"BEANIPA\",\"description\":\"National Income and Product Accounts\",\"type\":\"standalone\"},{\"name\":\"BEANIPAD\",\"description\":\"National Income and Product Accounts PC Format\",\"type\":\"standalone\"},{\"name\":\"BLSCPI\",\"description\":\"Consumer Price Index Surveys\",\"type\":\"standalone\"},{\"name\":\"BLSWPI\",\"description\":\"Producer Price Index Survey\",\"type\":\"standalone\"},{\"name\":\"BLSEENA\",\"description\":\"National Employment, Hours, and Earnings Survey\",\"type\":\"standalone\"},{\"name\":\"BLSEESA\",\"description\":\"State and Area Employment,Hours,and Earnings Survey\",\"type\":\"standalone\"},{\"name\":\"DRIBASIC\",\"description\":\"Basic Economic (formerly CITIBASE) Data Files\",\"type\":\"standalone\"},{\"name\":\"CITIBASE\",\"description\":\"CITIBASE Data Files\",\"type\":\"standalone\"},{\"name\":\"DRIDDS\",\"description\":\"DRI Data Delivery Service Time Series\",\"type\":\"standalone\"},{\"name\":\"CITIDISK\",\"description\":\"PC Format CITIBASE Databases\",\"type\":\"standalone\"},{\"name\":\"CRY2DBS\",\"description\":\"Y2K Daily Binary Security File Format\",\"type\":\"standalone\"},{\"name\":\"CRY2DBI\",\"description\":\"Y2K Daily Binary Calendar & Indices File Format\",\"type\":\"standalone\"},{\"name\":\"CRY2DBA\",\"description\":\"Y2K Daily Binary File Annual Data Format\",\"type\":\"standalone\"},{\"name\":\"CRY2MBS\",\"description\":\"Y2K Monthly Binary Security File Format\",\"type\":\"standalone\"},{\"name\":\"CRY2MBI\",\"description\":\"Y2K Monthly Binary Calendar & Indices File Format\",\"type\":\"standalone\"},{\"name\":\"CRY2MBA\",\"description\":\"Y2K Monthly Binary File Annual Data Format\",\"type\":\"standalone\"},{\"name\":\"CRY2DCS\",\"description\":\"Y2K Daily Character Security File Format\",\"type\":\"standalone\"},{\"name\":\"CRY2DCI\",\"description\":\"Y2K Daily Character Calendar & Indices File Format\",\"type\":\"standalone\"},{\"name\":\"CRY2DCA\",\"description\":\"Y2K Daily Character File Annual Data Format\",\"type\":\"standalone\"},{\"name\":\"CRY2MCS\",\"description\":\"Y2K Monthly Character Security File Format\",\"type\":\"standalone\"},{\"name\":\"CRY2MCI\",\"description\":\"Y2K Monthly Character Calendar & Indices File Format\",\"type\":\"standalone\"},{\"name\":\"CRY2MCA\",\"description\":\"Y2K Monthly Character File Annual Data Format\",\"type\":\"standalone\"},{\"name\":\"CRY2DIS\",\"description\":\"Y2K Daily IBM Binary Security File Format\",\"type\":\"standalone\"},{\"name\":\"CRY2DII\",\"description\":\"Y2K Daily IBM Binary Calendar & Indices File Format\",\"type\":\"standalone\"},{\"name\":\"CRY2DIA\",\"description\":\"Y2K Daily IBM Binary File Annual Data Format\",\"type\":\"standalone\"},{\"name\":\"CRY2MIS\",\"description\":\"Y2K Monthly IBM Binary Security File Format\",\"type\":\"standalone\"},{\"name\":\"CRY2MII\",\"description\":\"Y2K Monthly IBM Binary Calendar & Indices File Format\",\"type\":\"standalone\"},{\"name\":\"CRY2MIA\",\"description\":\"Y2K Monthly IBM Binary File Annual Data Format\",\"type\":\"standalone\"},{\"name\":\"CRY2MVS\",\"description\":\"Y2K Monthly VAX Binary Security File Format\",\"type\":\"standalone\"},{\"name\":\"CRY2MVI\",\"description\":\"Y2K Monthly VAX Binary Calendar & Indices File Format\",\"type\":\"standalone\"},{\"name\":\"CRY2MVA\",\"description\":\"Y2K Monthly VAX Binary File Annual Data Format\",\"type\":\"standalone\"},{\"name\":\"CRY2DVS\",\"description\":\"Y2K Daily VAX Binary Security File Format\",\"type\":\"standalone\"},{\"name\":\"CRY2DVI\",\"description\":\"Y2K Daily VAX Binary Calendar & Indices File Format\",\"type\":\"standalone\"},{\"name\":\"CRY2DVA\",\"description\":\"Y2K Daily VAX Binary File Annual Data Format\",\"type\":\"standalone\"},{\"name\":\"CRSPDBS\",\"description\":\"CRSP Daily Binary Security File Format\",\"type\":\"standalone\"},{\"name\":\"CRSPDBI\",\"description\":\"CRSP Daily Binary Calendar & Indices File Format\",\"type\":\"standalone\"},{\"name\":\"CRSPDBA\",\"description\":\"CRSP Daily Binary File Annual Data Format\",\"type\":\"standalone\"},{\"name\":\"CRSPMBS\",\"description\":\"CRSP Monthly Binary Security File Format\",\"type\":\"standalone\"},{\"name\":\"CRSPMBI\",\"description\":\"CRSP Monthly Binary Calendar & Indices File Format\",\"type\":\"standalone\"},{\"name\":\"CRSPMBA\",\"description\":\"CRSP Monthly Binary File Annual Data Format\",\"type\":\"standalone\"},{\"name\":\"CRSPDCS\",\"description\":\"CRSP Daily Character Security File Format\",\"type\":\"standalone\"},{\"name\":\"CRSPDCI\",\"description\":\"CRSP Daily Character Calendar & Indices File Format\",\"type\":\"standalone\"},{\"name\":\"CRSPDCA\",\"description\":\"CRSP Daily Character File Annual Data Format\",\"type\":\"standalone\"},{\"name\":\"CRSPMCS\",\"description\":\"CRSP Monthly Character Security File Format\",\"type\":\"standalone\"},{\"name\":\"CRSPMCI\",\"description\":\"CRSP Monthly Character Calendar & Indices File Format\",\"type\":\"standalone\"},{\"name\":\"CRSPMCA\",\"description\":\"CRSP Monthly Character File Annual Data Format\",\"type\":\"standalone\"},{\"name\":\"CRSPDIS\",\"description\":\"CRSP Daily IBM Binary Security File Format\",\"type\":\"standalone\"},{\"name\":\"CRSPDII\",\"description\":\"CRSP Daily IBM Binary Calendar & Indices File Format\",\"type\":\"standalone\"},{\"name\":\"CRSPDIA\",\"description\":\"CRSP Daily IBM Binary File Annual Data Format\",\"type\":\"standalone\"},{\"name\":\"CRSPMIS\",\"description\":\"CRSP Monthly IBM Binary Security File Format\",\"type\":\"standalone\"},{\"name\":\"CRSPMII\",\"description\":\"CRSP Monthly IBM Binary Calendar & Indices File Format\",\"type\":\"standalone\"},{\"name\":\"CRSPMIA\",\"description\":\"CRSP Monthly IBM Binary File Annual Data Format\",\"type\":\"standalone\"},{\"name\":\"CRSPMVS\",\"description\":\"CRSP Monthly VAX Binary Security File Format\",\"type\":\"standalone\"},{\"name\":\"CRSPMVI\",\"description\":\"CRSP Monthly VAX Binary Calendar & Indices File Format\",\"type\":\"standalone\"},{\"name\":\"CRSPMVA\",\"description\":\"CRSP Monthly VAX Binary File Annual Data Format\",\"type\":\"standalone\"},{\"name\":\"CRSPDVS\",\"description\":\"CRSP Daily VAX Binary Security File Format\",\"type\":\"standalone\"},{\"name\":\"CRSPDVI\",\"description\":\"CRSP Daily VAX Binary Calendar & Indices File Format\",\"type\":\"standalone\"},{\"name\":\"CRSPDVA\",\"description\":\"CRSP Daily VAX Binary File Annual Data Format\",\"type\":\"standalone\"},{\"name\":\"CRSPMUS\",\"description\":\"CRSP Monthly UNIX Binary Security File Format or utility dump of CRSPAccess Monthly Security File Format\",\"type\":\"standalone\"},{\"name\":\"CRSPMUI\",\"description\":\"CRSP Monthly UNIX Binary Calendar & Indices File Format or utility dump of CRSPAccess Monthly Calendar & Indices Format\",\"type\":\"standalone\"},{\"name\":\"CRSPMUA\",\"description\":\"CRSP Monthly UNIX Binary File Annual Data Format or utility dump of CRSPAccess Monthly Annual Data Format\",\"type\":\"standalone\"},{\"name\":\"CRSPDUS\",\"description\":\"CRSP Daily UNIX Binary Security File Format or utility dump of CRSPAccess Daily Security Format\",\"type\":\"standalone\"},{\"name\":\"CRSPDUI\",\"description\":\"CRSP Daily UNIX Binary Calendar & Indices File Format or utility dump of CRSPAccess Daily Calendar & Indices Format\",\"type\":\"standalone\"},{\"name\":\"CRSPDUA\",\"description\":\"CRSP Daily UNIX Binary File Annual Data Format or utility dump of CRSPAccess Daily Annual Data Format\",\"type\":\"standalone\"},{\"name\":\"CRSPMOS\",\"description\":\"CRSP Monthly Old Character Security File Format\",\"type\":\"standalone\"},{\"name\":\"CRY2MOI\",\"description\":\"CRSP Monthly Old Character Calendar & Indices File Format\",\"type\":\"standalone\"},{\"name\":\"CRSPMOA\",\"description\":\"CRSP Monthly Old Character File Annual Data Format\",\"type\":\"standalone\"},{\"name\":\"CRSPDOS\",\"description\":\"CRSP Daily Old Character Security File Format\",\"type\":\"standalone\"},{\"name\":\"CRSPDOI\",\"description\":\"CRSP Daily Old Character Calendar & Indices File Format\",\"type\":\"standalone\"},{\"name\":\"CRSPDOA\",\"description\":\"CRSP Daily Old Character File Annual Data Format\",\"type\":\"standalone\"},{\"name\":\"CR95MIS\",\"description\":\"CRSP 1995 Monthly IBM Binary Security File Format\",\"type\":\"standalone\"},{\"name\":\"CR95MII\",\"description\":\"CRSP 1995 Monthly IBM Binary Calendar & Indices File Format\",\"type\":\"standalone\"},{\"name\":\"CR95MIA\",\"description\":\"CRSP 1995 Monthly IBM Binary File Annual Data Format\",\"type\":\"standalone\"},{\"name\":\"CR95DIS\",\"description\":\"CRSP 1995 Daily IBM Binary Security File Format\",\"type\":\"standalone\"},{\"name\":\"CR95DII\",\"description\":\"CRSP 1995 Daily IBM Binary Calendar & Indices File Format\",\"type\":\"standalone\"},{\"name\":\"CR95DIA\",\"description\":\"CRSP 1995 Daily IBM Binary File Annual Data Format\",\"type\":\"standalone\"},{\"name\":\"CR95MVS\",\"description\":\"CRSP 1995 1995 Monthly VAX Binary Security File Format\",\"type\":\"standalone\"},{\"name\":\"CR95MVI\",\"description\":\"CRSP 1995 Monthly VAX Binary Calendar & Indices File Format\",\"type\":\"standalone\"},{\"name\":\"CR95MVA\",\"description\":\"CRSP 1995 Monthly VAX Binary File Annual Data Format\",\"type\":\"standalone\"},{\"name\":\"CR95DVS\",\"description\":\"CRSP 1995 Daily VAX Binary Security File Format\",\"type\":\"standalone\"},{\"name\":\"CR95DVI\",\"description\":\"CRSP 1995 Daily VAX Binary Calendar & Indices File Format\",\"type\":\"standalone\"},{\"name\":\"CR95DVA\",\"description\":\"CRSP 1995 Daily VAX Binary File Annual Data Format\",\"type\":\"standalone\"},{\"name\":\"CR95MUS\",\"description\":\"CRSP 1995 Monthly UNIX Binary Security File Format\",\"type\":\"standalone\"},{\"name\":\"CR95MUI\",\"description\":\"CRSP 1995 Monthly UNIX Binary Calendar & Indices File Format\",\"type\":\"standalone\"},{\"name\":\"CR95MUA\",\"description\":\"CRSP 1995 Monthly UNIX Binary File Annual Data Format\",\"type\":\"standalone\"},{\"name\":\"CR95DUS\",\"description\":\"CRSP 1995 Daily UNIX Binary Security File Format\",\"type\":\"standalone\"},{\"name\":\"CR95DUI\",\"description\":\"CRSP 1995 Daily UNIX Binary Calendar & Indices File Format\",\"type\":\"standalone\"},{\"name\":\"CR95DUA\",\"description\":\"CRSP 1995 Daily UNIX Binary File Annual Data Format\",\"type\":\"standalone\"},{\"name\":\"CR95MSS\",\"description\":\"CRSP 1995 Monthly VMS Binary Security File Format\",\"type\":\"standalone\"},{\"name\":\"CR95MSI\",\"description\":\"CRSP 1995 Monthly VMS Binary Calendar & Indices File Format\",\"type\":\"standalone\"},{\"name\":\"CR95MSA\",\"description\":\"CRSP 1995 Monthly VMS Binary File Annual Data Format\",\"type\":\"standalone\"},{\"name\":\"CR95DSS\",\"description\":\"CRSP 1995 Daily VMS Binary Security File Format\",\"type\":\"standalone\"},{\"name\":\"CR95DSI\",\"description\":\"CRSP 1995 Daily VMS Binary Calendar & Indices File Format\",\"type\":\"standalone\"},{\"name\":\"CR95DSA\",\"description\":\"CRSP 1995 Daily VMS Binary File Annual Data Format\",\"type\":\"standalone\"},{\"name\":\"CR95MAS\",\"description\":\"CRSP 1995 Monthly ALPHA Binary Security File Format\",\"type\":\"standalone\"},{\"name\":\"CR95MAI\",\"description\":\"CRSP 1995 Monthly ALPHA Binary Calendar & Indices Format\",\"type\":\"standalone\"},{\"name\":\"CR95MAA\",\"description\":\"CRSP 1995 Monthly ALPHA Binary File Annual Data Format\",\"type\":\"standalone\"},{\"name\":\"CR95DAS\",\"description\":\"CRSP 1995 Daily ALPHA Binary Security File Format\",\"type\":\"standalone\"},{\"name\":\"CR95DAI\",\"description\":\"CRSP 1995 Daily ALPHA Binary Calendar & Indices File Format\",\"type\":\"standalone\"},{\"name\":\"CR95DAA\",\"description\":\"CRSP 1995 Daily ALPHA Binary File Annual Data Format\",\"type\":\"standalone\"},{\"name\":\"FAME\",\"description\":\"FAME Information Services Databases\",\"type\":\"standalone\"},{\"name\":\"HAVER\",\"description\":\"Haver Analytics Data Files\",\"type\":\"standalone\"},{\"name\":\"IMFIFSP\",\"description\":\"International Financial Statistics, Packed Format\",\"type\":\"standalone\"},{\"name\":\"IMFDOTSP\",\"description\":\"Direction of Trade Statistics, Packed Format\",\"type\":\"standalone\"},{\"name\":\"IMFBOPSP\",\"description\":\"Balance of Payment Statistics, Packed Format\",\"type\":\"standalone\"},{\"name\":\"IMFGFSP\",\"description\":\"Government Finance Statistics, Packed Format\",\"type\":\"standalone\"},{\"name\":\"OECDANA\",\"description\":\"OECD Annual National Accounts Format\",\"type\":\"standalone\"},{\"name\":\"OECDQNA\",\"description\":\"OECD Quarterly National Accounts Format\",\"type\":\"standalone\"},{\"name\":\"OECDMEI\",\"description\":\"OECD Main Economic Indicators Format\",\"type\":\"standalone\"},{\"name\":\"CSAIBM\",\"description\":\"COMPUSTAT Annual, IBM 360 & 370 Format\",\"type\":\"standalone\"},{\"name\":\"CS48QIBM\",\"description\":\"COMPUSTAT 48 Quarter, IBM 360 & 370 Format\",\"type\":\"standalone\"},{\"name\":\"CSAUC\",\"description\":\"COMPUSTAT Annual, Universal Character Format\",\"type\":\"standalone\"},{\"name\":\"CS48QUC\",\"description\":\"COMPUSTAT 48 Quarter, Universal Character Format\",\"type\":\"standalone\"},{\"name\":\"CSAIY2\",\"description\":\"Y2K COMPUSTAT Annual, IBM 360 & 370 Format\",\"type\":\"standalone\"},{\"name\":\"CSQIY2\",\"description\":\"Y2K COMPUSTAT 48 Quarter, IBM 360 & 370 Format\",\"type\":\"standalone\"},{\"name\":\"CSAUCY2\",\"description\":\"Y2K COMPUSTAT Annual, Universal Character Format\",\"type\":\"standalone\"},{\"name\":\"CSQUCY2\",\"description\":\"Y2K COMPUSTAT 48 Quarter, Universal Character Format\",\"type\":\"standalone\"}]},{\"name\":\"INDEX\",\"optional\":true,\"description\":\"Creates a set of single indexes from BY variables for the OUT= data set.\",\"type\":\"standalone\"},{\"name\":\"INFILE=\",\"optional\":true,\"description\":\"Specifies the fileref assigned to the input data file. The default value is DATAFILE.\",\"type\":\"value\"},{\"name\":\"INTERVAL=\",\"optional\":true,\"aliases\":[\"FREQUENCY=\",\"TYPE=\"],\"description\":\"Specifies the periodicity of series selected for output to the OUT= data set.\",\"help\":\"INTERVAL=DAY | WEEK | MONTH | QUARTER | YEAR\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DAY\",\"description\":\"Interval in days\",\"type\":\"standalone\"},{\"name\":\"WEEK\",\"description\":\"Interval in weeks\",\"type\":\"standalone\"},{\"name\":\"MONTH\",\"description\":\"Interval in months\",\"type\":\"standalone\"},{\"name\":\"QUARTER\",\"description\":\"Interval in quarters\",\"type\":\"standalone\"},{\"name\":\"YEAR\",\"description\":\"Interval in years\",\"type\":\"standalone\"}]},{\"name\":\"LRECL=\",\"optional\":true,\"description\":\"The logical record length in bytes of the infile. Only use this if you need to override the default LRECL of the file.\",\"type\":\"value\"},{\"name\":\"OUT=\",\"optional\":true,\"description\":\"Names the output data set for the time series extracted from the data file. If none of the output data set options are specified, including the OUT= data set itself, an OUT= data set is created and named according to the DATAn convention. However, when you create any of the other output data sets, such as OUTCONT=, OUTBY=, OUTALL=, or OUTEVENT=, you must explicitly specify the OUT= data set; otherwise, it will not be created.\",\"type\":\"value\"},{\"name\":\"OUTALL=\",\"optional\":true,\"description\":\"Writes information on the contents of the input data file to an output data set. The OUTALL= data set includes descriptive information, time ranges, and observation counts for all the time series within each BY group. By default, no OUTALL= data set is created.\",\"type\":\"value\"},{\"name\":\"OUTBY=\",\"optional\":true,\"description\":\"Writes information on the BY variables to an output data set. The OUTBY= data set contains the list of cross sections in the database delimited by the unique set of values that the BY variables assume. Unless the OUTSELECT=OFF option is present, only the selected BY groups are written to the OUTBY= data set. If you omit the OUTBY= option, no OUTBY= data set is created.\",\"type\":\"value\"},{\"name\":\"OUTCONT=\",\"optional\":true,\"description\":\"Writes information on the contents of the input data file to an output data set. By default, the OUTCONT= data set includes descriptive information on all of the unique series of the selected periodicity in the data file. When the OUTSELECT=OFF option is omitted, the OUTCONT= data set includes observations only for the series selected for output to the OUT= data set. By default, no OUTCONT= data set is created.\",\"type\":\"value\"},{\"name\":\"OUTEVENT=\",\"optional\":true,\"description\":\"Names the output data set to output event-oriented time series data. This option can only be used when CRSP stock files are being processed. For all other file types, it will be ignored.\",\"type\":\"value\"},{\"name\":\"OUTSELECT=\",\"optional\":true,\"description\":\"Determines whether to output all observations (OUTSELECT=OFF) or only those corresponding to the selected time series and selected BY groups (OUTSELECT=ON) to OUTCONT=, OUTBY=, and OUTALL= data sets. The default is OUTSELECT=ON.\",\"help\":\"OUTSELECT=ON | OFF\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ON\",\"description\":\"Outputs all observations.\",\"type\":\"standalone\"},{\"name\":\"OFF\",\"description\":\"Outputs only those corresponding to the selected time series and selected BY groups (OUTSELECT=ON) to OUTCONT=, OUTBY=, and OUTALL= data sets.\",\"type\":\"standalone\"}]},{\"name\":\"RECFM=\",\"optional\":true,\"description\":\"The record format of the infile. Only use this if you need to override the default record format of the file.\",\"help\":\"RECFM=FIXED|F | BIN|N | VAR|D | DEF|U | BIN_VAR|DOM_V|DOMAIN_VAR|BIN_V\",\"type\":\"choice\",\"arguments\":[{\"name\":\"FIXED\",\"description\":\"Fixed length records\",\"help\":\"FIXED|F\",\"type\":\"choice\"},{\"name\":\"BIN\",\"description\":\"Binary records\",\"help\":\"BIN|N\",\"type\":\"choice\"},{\"name\":\"VAR\",\"description\":\"Varying length records\",\"help\":\"VAR|D\",\"type\":\"choice\"},{\"name\":\"DEF\",\"description\":\"Host default record format\",\"help\":\"DEF|U\",\"type\":\"choice\"},{\"name\":\"BIN_VAR\",\"description\":\"UNIX binary record format\",\"help\":\"BIN_VAR|DOM_V|DOMAIN_VAR|BIN_V\",\"type\":\"choice\"}]}]},{\"name\":\"ATTRIBUTE\",\"description\":\"The ATTRIBUTE statement assigns formats, labels, and lengths to variables in the output data sets. The variable-list can contain variable names and variable name range specifications.\",\"help\":\"ATTRIBUTE &lt;FORMAT= format&gt;&lt;LABEL= \\\"label\\\"&gt;&lt;LENGTH= length&gt; ...\",\"arguments\":[{\"name\":\"FORMAT=\",\"optional\":true,\"description\":\"Associates a format with variables in variable-list. The format can be either a standard SAS format or a format defined with the FORMAT procedure. The default formats for variables depend on the file type.\",\"type\":\"value\"},{\"name\":\"LABEL=\",\"optional\":true,\"description\":\"Assigns a label to the variables in the variable list. The default labels for variables depend on the file type. Labels can be up to 256 bytes in length.\",\"type\":\"value\"},{\"name\":\"LENGTH=\",\"optional\":true,\"description\":\"Specifies the number of bytes used to store the values of variables in the variable list. The default lengths for numeric variables depend on the file type. Usually default lengths are set to 5 bytes.\",\"type\":\"value\"}]},{\"name\":\"DROP\",\"description\":\"The DROP statement specifies that some variables be excluded from the OUT= data set. Only the time series and event variables can be specified in a DROP statement. None of the BY variables or the time ID variable DATE can be excluded from the OUT= data set. If they are referenced in a DROP statement, a warning message is given and the reference is ignored. Use the WHERE statement for selection based on BY variables, and use the RANGE statement for date selections. The variable list can contain variable names or name range specifications.\",\"help\":\"DROP variable-list \"},{\"name\":\"DROPEVENT\",\"description\":\"The DROPEVENT statement specifies that some event variables be excluded from the OUTEVENT= data set. As a result, the DROPEVENT statement is valid only for data files containing event-oriented time series data. All the BY variables, the time ID variable DATE, and the event-grouping variable EVENT are always included in the OUTEVENT= data set. These variables cannot be referenced in the DROPEVENT statement. If any of these variables are referenced, a warning message is given and the reference is ignored. The variable list can contain variable names or name range specifications.\",\"help\":\"DROPEVENT variable-list \"},{\"name\":\"FORMAT\",\"description\":\"The FORMAT statement assigns formats to variables in output data sets. The variable-list can contain variable names and variable name range specifications.\",\"help\":\"FORMAT variable-list format ... \"},{\"name\":\"KEEP\",\"description\":\"The KEEP statement specifies which variables in the data file are to be included in the OUT= data set. Only the time series and event variables can be specified in a KEEP statement. All the BY variables and the time ID variable DATE are always included in the OUT= data set; they cannot be referenced in a KEEP statement. If they are referenced, a warning message is given and the reference is ignored. The variable list can contain variable names or name range specifications.\",\"help\":\"KEEP variable-list \"},{\"name\":\"KEEPEVENT\",\"description\":\"The KEEPEVENT statement specifies which event variables in the data file are to be included in the OUTEVENT= data set. As a result, the KEEPEVENT statement is valid only for data files containing event-oriented time series data. All the BY variables, the time ID variable DATE, and the event-grouping variable EVENT are always included in the OUTEVENT= data set. These variables cannot be referenced in the KEEPEVENT statement. If any of these variables are referenced, a warning message is given and the reference is ignored. The variable list can contain variable names or name range specifications.\",\"help\":\"KEEPEVENT variable-list \"},{\"name\":\"LABEL\",\"description\":\"The LABEL statement assigns SAS variable labels to variables in the output data sets. You can give labels for any number of variables in a single LABEL statement. The default labels for variables depend on the file type. Extra-long labels ( > 256 bytes ) reside in the OUTCONT data set as the DESCRIPT variable.\",\"help\":\"LABEL variable = \\\"label\\\" ... \"},{\"name\":\"LENGTH\",\"description\":\"The LENGTH statement, like the LENGTH= option in the ATTRIBUTE statement, specifies the number of bytes used to store values of variables in output data sets. The default lengths for numeric variables depend on the file type. Usually default lengths are set to 5 bytes.\",\"help\":\"LENGTH variable-list length ... \"},{\"name\":\"RANGE\",\"description\":\"The RANGE statement selects the time range of observations written to the OUT= and OUTEVENT= data sets. The from and to values can be SAS date, time, or datetime constants, or they can be specified as year or year : period, where year is a two-digit or four-digit year, and period (when specified) is a period within the year corresponding to the INTERVAL= option. (For example, if INTERVAL=QTR, then period refers to quarters.) When period is omitted, the beginning of the year is assumed for the from value, and the end of the year is assumed for the to value. If a two-digit year is specified, PROC DATASOURCE uses the current value of the YEARCUTOFF option to determine the century of your data. Warnings are issued in the SAS log whenever DATASOURCE needs to determine the century from a two-digit year specification. The default YEARCUTOFF value is 1920. To use a different YEARCUTOFF value, specify options yearcutoff=yyyy;\",\"help\":\"RANGE &lt;FROM&gt;&lt;TO&gt;\",\"arguments\":[{\"name\":\"FROM\",\"optional\":true,\"description\":\"Points to the start of the time range of observations written to the OUT= and OUTEVENT= data sets.\",\"type\":\"standalone\"},{\"name\":\"TO\",\"optional\":true,\"description\":\"Points to the end of the time range of observations written to the OUT= and OUTEVENT= data sets.\",\"type\":\"standalone\"}]},{\"name\":\"RENAME\",\"description\":\"The RENAME statement is used to change the names of variables in the output data sets. Any number of variables can be renamed in a single RENAME statement. The most recent RENAME specification overrides any previous ones for a given variable. The new-name is limited to 32 characters. Renaming of variables is done at the output stage. Therefore, you need to use the old variable names in all other PROC DATASOURCE statements. For example, the series variable names DATA1-DATA350 used with annual COMPUSTAT files are not very descriptive, so you may choose to rename them to reflect the financial aspect they represent. You may rename \\\"DATA51\\\" as \\\"INVESTTAX\\\" with the RENAME statement rename data51=investtax; since it contains investment tax credit data. However, in all other DATASOURCE statements, you must use the old name, DATA51.\",\"help\":\"RENAME old-name = new-name ... \"},{\"name\":\"WHERE\",\"description\":\"The WHERE statement specifies conditions that BY variables must satisfy in order for a cross section to be included in the OUT= and OUTEVENT= data sets. By default, all BY groups are selected. The where-expression must refer only to BY variables defined for the file type you are reading.\",\"help\":\"WHERE where-expression \"}],\"interactive\":true,\"supportSiteInformation\":{\"docsetId\":\"etsug\",\"docsetVersion\":\"latest\",\"docsetTargetFile\":\"etsug_datasrc_toc.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/DATEKEYS.json",
    "content": "{\"name\":\"DATEKEYS\",\"statements\":[{\"name\":\"PROC DATEKEYS\",\"description\":\"Creates and manages datekeys that are associated with time computations.\",\"help\":\"PROC DATEKEYS <options>;\\n\\tBY variable(s);\\n\\tDATEKEYCALENDAR  OUT=SAS-data-set<SUMMARY=SAS-variable-name>;\\n\\tDATEKEYDATA  IN=SAS-data-set | OUT=SAS-data-set<options>;\\n\\tDATEKEYDEF SAS-variable-name=timing-value</qualifier-options>;\\n\\tDATEKEYDSOPT  LOCALE=<(ONLY)>'POSIX locale';\\n\\tDATEKEYKEY <SAS-variable-name=>datekey-keyword</qualifier-options>;\\n\\tDATEKEYPERIODS  OUT=SAS-data-set;\\n\\tID SAS-variable-name INTERVAL=interval<options>;\\n\\tVAR variable(s);\",\"arguments\":[{\"name\":\"DATA=\",\"description\":\"names the SAS data set that contains the variables that are used in the VAR, ID, and BY statements.\",\"help\":\"DATA=*SAS-data-set*\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"n1y02zi1g82m67n111rk7enqdi4u\"},{\"name\":\"LEAD=\",\"description\":\"specifies the number of periods to extend the calendar variables beyond the input time ID. The LEAD= value is relative to the last observation in the input data set. If BY variables are specified, the LEAD= value is relative to the last observation in each BY group.\",\"help\":\"LEAD=*number-of-periods*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0utp14gpdid0rn1vytx8jhntk7g\"},{\"name\":\"MAXERROR=\",\"description\":\"specifies the maximum number of warning and error messages that are produced during the execution of the procedure.\",\"help\":\"MAXERROR=*number*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0aedrpc8s3k4un14bl24vtr82m2\"},{\"name\":\"SORTNAMES\",\"description\":\"specifies that the datekeys and variables in the output data sets be written in alphabetical order. Variables are sorted within their groups. Variables that are listed in the VAR statement are sorted with respect to other variables that are listed in the VAR statement. Calendar variables are sorted with respect to other calendar variables.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0jumk0wguj4jxn1drktmqdp2e5k\"}],\"supportSiteTargetFile\":\"p03noq017p726tn16w2q0fvcuqvk.htm\"},{\"name\":\"BY\",\"description\":\"Obtains separate calendar variables for groups of observations that are defined by the BY variables.\",\"help\":\"BY *variable(s)*; \",\"arguments\":[{\"name\":\"variable\",\"placeholder\":true,\"description\":\"specifies a variable that is used to obtain separate calendar variables for groups of observations that are defined by the BY variables.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p03pi2ngtq3ob5n1v3u9m4ftyzb6\"}],\"supportSiteTargetFile\":\"p01m4ovag5pzfvn1hnuemhar8qry.htm\"},{\"name\":\"DATEKEYCALENDAR\",\"description\":\"Writes variables that indicate the active time periods for datekeys. The active periods are indicated with a value of 1, and the inactive periods are indicated with a value of 0.\",\"help\":\"DATEKEYCALENDAR  OUT=*SAS-data-set*&lt;SUMMARY=*SAS-variable-name*&gt;;\",\"arguments\":[{\"name\":\"OUT=\",\"description\":\"names the output data set to contain the calendar variables for the specified datekeys based on the ID information as specified in the ID statement.\",\"help\":\"OUT=*SAS-data-set*\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"p0ykt1i7bpx4ben1vcfvsoyqsgd6\"},{\"name\":\"SUMMARY\",\"optional\":true,\"description\":\"specifies that the datekey calendar variables be summed and that the result be placed in the specified variable in the DATEKEYCALENDAR OUT= data set.\",\"help\":\"SUMMARY SUM=*SAS-variable-name*\",\"type\":\"value\",\"arguments\":[{\"name\":\"SUM\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"n0n2456et7hc7an1s1goyfm6zwxh\"}],\"supportSiteTargetFile\":\"n1qcsyhfbafrksn1g21fc32ec65d.htm\"},{\"name\":\"DATEKEYDATA\",\"description\":\"Inputs datekeys from a datekeys data set or writes datekeys to a datekeys data set. You can specify multiple DATEKEYDATA statements.\",\"help\":\"\\n\\tDATEKEYDATA  IN=SAS-data-set | OUT=SAS-data-set<options>;\",\"arguments\":[{\"name\":\"IN=\",\"description\":\"names an input data set that contains datekey definitions.\",\"help\":\"IN=*SAS-data-set*\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"n0b8qwb2esefebn1734md1w3xwa0\"},{\"name\":\"OUT=\",\"description\":\"names the output data set to contain the datekey definitions that are specified in the DATEKEYDATA IN= data sets and in the DATEKEYDEF and DATEKEYKEY statements.\",\"help\":\"OUT=*SAS-data-set*\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"p1dhgmz1yclae0n1k5bb3acktapi\"},{\"name\":\"CONDENSE\",\"description\":\"specifies that the DATEKEYDATA OUT= data set be condensed. Any variables that contain only default values are omitted from the data set.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n06p47w511mo0bn1i4fmh9954y0p\"},{\"name\":\"LIST\",\"description\":\"specifies that the DATEKEYDATA OUT= data set contain only a list of the available datekeys. When you specify the LIST option, the output data set does not contain the parameters that are required for datekey definition.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0cihwjt7m16rhn15b1lhy2knec0\"},{\"name\":\"NODEFAULTS\",\"description\":\"specifies that the DATEKEYDATA OUT= data set not contain any SAS predefined datekeys.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0inovrbr2t424n1jjoovw8qikle\"}],\"supportSiteTargetFile\":\"p0fkespusncawtn14kvyb9t0ewu5.htm\"},{\"name\":\"DATEKEYDEF\",\"description\":\"Defines a datekey that can be interpreted in other SAS procedures. You can specify multiple DATEKEYDEF statements.\",\"help\":\"\\n\\tDATEKEYDEF SAS-variable-name=timing-value</qualifier-options>;\",\"arguments\":[{\"name\":\"SAS-variable-name\",\"placeholder\":true,\"description\":\"specifies a name in the DATEKEYDEF statement.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1x1hxaux1v2wsn14809nm9kujvl\"},{\"name\":\"integer\",\"placeholder\":true,\"description\":\"For integer variables, integer value-list is either an explicit list of one or more integers or a starting value and an ending value with an interval increment, or a combination of both forms:\\n• <i>n &lt;...n&gt;</i>\\n• <i>n</i> TO <i>n</i> &lt;BY <i>increment&gt;</i>\\n• <i>n &lt;...n&gt;</i> TO <i>n</i> TO <i>n</i> &lt;BY increment&gt; <i>&lt;n&lt;...n&gt; &gt;</i>\",\"help\":\"*integer value-list*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0zt3cb39tf66on1qfljfhvnqjwe\"},{\"name\":\"SAS\",\"placeholder\":true,\"description\":\"For character variables, SAS keyword value-list is a list of one or more unique character values that are separated by blanks:\",\"help\":\"*SAS keyword value-list*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1ecbz058y1ajjn0zxn6loyyocly\"},{\"name\":\"and\",\"description\":\"For date and time values, value-list can have the following forms:\\n• <i>\\\"SAS-value\\\"i&lt;...\\\"SAS-value\\\"i&gt;</i>\\n• <i>\\\"SAS-value\\\"i</i> TO <i>\\\"SAS-value\\\"i&lt;</i> BY <i>interval&gt;</i>\",\"help\":\"*SAS date value-list* and *SAS datetime value-list*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p155cf8402m60tn1e2774i9a8b70\"},{\"name\":\"AFTER=\",\"followsDelimiter\":\"/\",\"description\":\"specifies options that control the datekey definition after the timing value. The DURATION= suboption is used within the parentheses in the AFTER= ( ) option. DURATION specifies the datekey duration after the timing value.\",\"help\":\"AFTER=(&lt;DURATION=*value*&gt;)\",\"type\":\"standaloneOrValue\",\"supportSiteTargetFragment\":\"p1pbhevc6c3dncn1ndyzxxvlow4q\"},{\"name\":\"BEFORE=\",\"followsDelimiter\":\"/\",\"description\":\"specifies options that control the datekey definition before the timing value. The DURATION= suboption is used within the parentheses in the BEFORE= ( ) option. DURATION specifies the datekey duration before the timing value.\",\"help\":\"BEFORE=(&lt;DURATION=*value*&gt;)\",\"type\":\"standaloneOrValue\",\"supportSiteTargetFragment\":\"n0h27yt5luumusn10ffcxypt0wl3\"},{\"name\":\"LABEL=\",\"followsDelimiter\":\"/\",\"description\":\"specifies a label that is associated with the datekey. 'SAS-label' is a text string that is enclosed in quotation marks and can be up to 256 characters.\",\"help\":\"LABEL=*'SAS-label'*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0isagyy3ztq4fn1ausuh3axx0x7\"},{\"name\":\"LOCALE=\",\"followsDelimiter\":\"/\",\"description\":\"specifies a locale that is associated with the datekey. The locale should be a POSIX locale value. There is no default for the locale value.\",\"help\":\"LOCALE='*POSIX locale*'\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p00byrqc6dfg2mn1qt7o5p9rdj8p\"},{\"name\":\"PERIOD=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the interval for the frequency of the datekey. For example, PERIOD=YEAR produces a datekey that is periodic in a yearly pattern.\",\"help\":\"PERIOD=*interval*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0xodfuyeq11ton1byt2tpzicav2\"},{\"name\":\"PULSE=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the interval to be used with the DURATION= option to determine the width of the datekey.\",\"help\":\"PULSE=*interval*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0m5pi5ognjd6vn1296txi8dvpw7\"},{\"name\":\"RULE=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the action to take when the defined datekey has multiple timing values that include at least one datekey.\",\"help\":\"RULE=*value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1ked2pl4w7q2en1som6za7dnnhz\"},{\"name\":\"SHIFT=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the number of pulses to shift the timing value δ. The default is not to shift the timing value (δ= 0). When the SHIFT= option is used, all timing values in the list (including those that are generated by date keywords) are shifted. Therefore, SHIFT= can be used with EASTER to specify ecclesiastical holidays that are based on Easter. For example, the following statement specifies Good Friday, which is defined as two days before Easter (Montes 2001).\",\"help\":\"SHIFT=*number*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p00jiib67ifye9n1hflhhxf819di\"}],\"supportSiteTargetFile\":\"n0jk0g1x1znhp3n1mlz6uv42rk4a.htm\"},{\"name\":\"DATEKEYDSOPT\",\"description\":\"Limits the input and output processing of data sets to a specified locale.\",\"help\":\"\\n\\tDATEKEYDSOPT LOCALE= 'POSIX locale'<(ONLY)>;\",\"arguments\":[{\"name\":\"LOCALE=\",\"description\":\"specifies a locale that is used to filter input and output data sets.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0dqf8kxrz8bo3n17jsuf39c48e6\"},{\"name\":\"'POSIX\",\"placeholder\":true,\"description\":\"specifies a POSIX locale value. There is no default for the locale value.\",\"help\":\"*'POSIX locale'*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1wwc2pfseoz89n11qp9aebfd9m4\"},{\"name\":\"(ONLY)\",\"optional\":true,\"description\":\"specifies to process only the specified locale, both for input and output data sets. If (ONLY) is not specified, the specified locale and defaults (no specified locale) are processed, both for input and output data sets.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0h6i8r516ce8mn1y2lozl27f2gp\"}],\"supportSiteTargetFile\":\"p10tr9yprcr9aen11cagpeg3bqbb.htm\"},{\"name\":\"DATEKEYKEY\",\"description\":\"Alters a user-defined or predefined SAS datekey, or creates a new datekey from another datekey. You can specify multiple DATEKEYKEY statements.\",\"help\":\"\\n\\tDATEKEYKEY <SAS-variable-name=>datekey-keyword</qualifier-options>;\",\"arguments\":[{\"name\":\"datekey-keyword\",\"placeholder\":true,\"description\":\"specifies the default SAS variable name for a user-defined or predefined datekey.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p09v53in9gkdz5n1mck2zvlbmp2t\"},{\"name\":\"SAS-variable-name\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the name of the new datekey keyword.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0wknkx80vi9tbn19nw57gah7ozb\"},{\"name\":\"AFTER=\",\"followsDelimiter\":\"/\",\"description\":\"specifies options that control the datekey definition after the timing value. The DURATION= suboption is used within the parentheses in the AFTER ( ) option.\",\"help\":\"AFTER=(&lt;DURATION=*value*&gt;)\",\"type\":\"standaloneOrValue\",\"supportSiteTargetFragment\":\"p1jtbsgajsi2nyn1hk08fkmrl5a3\"},{\"name\":\"BEFORE=\",\"followsDelimiter\":\"/\",\"description\":\"specifies options that control the datekey definition before the timing value. The DURATION= suboption is used within the parentheses in the BEFORE ( ) option.\",\"help\":\"BEFORE=(&lt;DURATION=*value*&gt;)\",\"type\":\"standaloneOrValue\",\"supportSiteTargetFragment\":\"n05r1lvxgr3qmcn1lu8e5p7ir8c1\"},{\"name\":\"LABEL=\",\"followsDelimiter\":\"/\",\"description\":\"specifies a label that is associated with the datekey. 'SAS-label' is a text string that is enclosed in quotation marks and can be up to 256 characters. The default label is 'SAS-variable-name , where SAS-variable-name is the name that is specified in the DATEKEYKEY statement. If SAS-variable-name is not specified in the DATEKEYKEY statement, then the label is the default label for the SAS predefined datekey. The label is stored in the DATEKEYDATA OUT= data set.\",\"help\":\"LABEL=*'SAS-label'*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0shnnhqv7mmuan1a3gjfspvujvl\"},{\"name\":\"LOCALE=\",\"followsDelimiter\":\"/\",\"description\":\"specifies a locale that is associated with the datekey. The locale should be a POSIX locale value. There is no default for the locale value.\",\"help\":\"LOCALE=*'POSIX locale'*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p03hvuqeyif4yrn1ha9eoi59h9lm\"},{\"name\":\"PERIOD=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the interval for the frequency of the datekey. For example, PERIOD=YEAR produces a datekey that is periodic in a yearly pattern. If the PERIOD= option is omitted, the datekey is not periodic. The PERIOD= option does not apply to observation numbers, which are not periodic, or to date keywords, which have their own periodicity. For intervals that can be specified, see Chapter 4, “Date Intervals, Formats, and Functions” in SAS/ETS User’s Guide.\",\"help\":\"PERIOD=*interval*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1v0yy713ik0iqn1a9ytsj4g6tet\"},{\"name\":\"PULSE=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the interval to be used with the DURATION= option to determine the width of the datekey. If the datekey is evaluated with respect to a time ID variable, then the default pulse is one observation. When no DURATION= values are specified and the PULSE= option is specified, the DURATION= values are set to zero. For intervals that can be specified, see Chapter 4, “Date Intervals, Formats, and Functions” in SAS/ETS User’s Guide.\",\"help\":\"PULSE=*interval*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1bmqpgrw1p4kgn1v53q3b7b3auu\"},{\"name\":\"RULE=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the action to take when the defined datekey has multiple timing values that include at least one datekey. When the datekey timing values consist only of SAS date, SAS datetime, and observation numbers, the RULE= option does not apply. The RULE= option also does not apply when the timing value list consists of a single datekey. The RULE= option accepts the values AND and OR. The default is RULE=OR. The following examples demonstrate the RULE= option:\",\"help\":\"RULE=*value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1dnkn45bnyyb9n1haj7sj63tvb3\"},{\"name\":\"SHIFT=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the number of pulses to shift the timing value δ. The default is not to shift the timing value (δ=0). When the SHIFT= option is used, all timing values in the list (including those generated by date keywords) are shifted.\",\"help\":\"SHIFT=*number*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p16ljm3sobvki3n1padn7blwnjhy\"}],\"supportSiteTargetFile\":\"n08afj3cmpofn3n1prbhgzu30kjc.htm\"},{\"name\":\"DATEKEYPERIODS\",\"description\":\"Writes variables that list the active time periods in the input time ID for datekeys. The active period dates, datetime values, or observation numbers, are listed with the associated datekey.\",\"help\":\"\\n\\tDATEKEYPERIODS  OUT=SAS-data-set;\",\"arguments\":[{\"name\":\"OUT=\",\"description\":\"names the output data set to contain the active dates, datetime values, or observations for the specified datekeys based on the ID information that is specified in the ID statement. The OUT= data set also includes variables that are specified in the BY and ID statements.\",\"help\":\"OUT=*SAS-data-set*\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"n1hrnwchc6ij3fn1m01f0ex5wu2x\"}],\"supportSiteTargetFile\":\"p0iz51qanwmx07n17lwu1t6eni1v.htm\"},{\"name\":\"ID\",\"description\":\"Specifies a numeric variable that identifies observations in the input and output data sets.\",\"help\":\"\\n\\tID SAS-variable-name INTERVAL=interval<options>;\",\"arguments\":[{\"name\":\"SAS-variable-name\",\"placeholder\":true,\"description\":\"specifies a numeric variable that identifies observations in the input and output data sets. SAS-variable-name can be a SAS date, time, datetime value, or an observation number.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n07ts1ndkyi7vsn1idxqstfou0aw\"},{\"name\":\"INTERVAL=\",\"description\":\"specifies the frequency of the input time ID. For example, if the time ID in the input data set consists of quarterly observations, then use INTERVAL=QTR. For intervals that can be specified, see Chapter 4, “Date Intervals, Formats, and Functions” in SAS/ETS User’s Guide.\",\"help\":\"INTERVAL=*interval*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0tjxf08fmfwoen1uwjzfx4hndr9\"},{\"name\":\"ALIGN=\",\"description\":\"controls the alignment of SAS dates that are used to identify output observations. The ALIGN= option accepts the following values: BEGINNING | BEG | B, MIDDLE | MID | M, and ENDING | END | E.\",\"help\":\"ALIGN=*option*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p02w9zgj2rjft2n1p3fyqu6ckn6c\"},{\"name\":\"END=\",\"description\":\"specifies a SAS date, time, or datetime value that represents the end of the data. If the value of the last observation of the time ID variable is less than value the series is extended with missing values. If the value of the last observation of the time ID variable is greater than value, the series is truncated. For example, END=\\\"&sysdate\\\"D uses the automatic macro variable SYSDATE to extend or truncate the series to the current date. You can use this option and the START= option and the last observation of the time ID variable. The default is the value of the last observation of the time ID variable if either of the following is true:\\n• the START= option                                        is not specified\\n• the value of the                                        last observation of the time ID variable is greater than or                                        equal to the START= value.\",\"help\":\"END=*value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1atq0shtk6d1dn16d9x20l5qjdo\"},{\"name\":\"FORMAT=\",\"description\":\"specifies the SAS format for the time ID values. If the FORMAT= option is not specified, the default format is implied from the INTERVAL= option.\",\"help\":\"FORMAT=*format*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0rhp1kdrcmir8n1mozxtjdlxowk\"},{\"name\":\"START=\",\"description\":\"specifies a SAS date, time, or datetime value that represents the beginning of the data. If the value of the first observation of the time ID variable is greatter than value the series is prefixed with missing values. If the value of the first observation of the time ID variable is less than value, the series is truncated. You can specify this option and the END= option and the first observation of the time ID variable. The default is the value of the first observation of the time ID variable if either of the following is true:\\n• the END= option is                                        not specified\\n• the value of the                                        first observation of the time ID variable is less than or                                        equal to the END= value.\",\"help\":\"START=*value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0kzgfl2gr9zuen1fxagy4pqkyzb\"}],\"supportSiteTargetFile\":\"n0mpsp9tghgh97n15hoovigdvijw.htm\"},{\"name\":\"VAR\",\"description\":\"Copies input variables to the output calendar variables data set. If the VAR statement is omitted, all numeric variables are selected except those that appear in a BY or ID statement.\",\"help\":\"\\n\\tVAR variable(s);\",\"arguments\":[{\"name\":\"variable\",\"placeholder\":true,\"description\":\"specifies numeric input variables to be copied to the output calendar variables data set.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0xa39un3x75bcn1kjp9stphcl6r\"}],\"supportSiteTargetFile\":\"p0xyarfhbcjhwxn1c8y028o5w0cb.htm\"}],\"supportSiteInformation\":{\"docsetId\":\"proc\",\"docsetVersion\":\"v_002\",\"docsetTargetFile\":\"p02teyw4mikic6n1kkzovv1wn4n4.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/DBCSTAB.json",
    "content": "{\"name\":\"DBCSTAB\",\"statements\":[{\"name\":\"PROC DBCSTAB\",\"description\":\"Produces conversion tables for double-byte character sets.\",\"help\":\"PROC DBCSTAB TABLE=table-name \\n<BASETYPE=base-type><CATALOG=<libref.>catalog-name>\\n<DATA=<libref.>table-name><DBCSLANG=language>\\n<DESC='description'><FORCE><VERIFY><VERBOSE>;\",\"arguments\":[{\"name\":\"TABLE=\",\"aliases\":[\"NAME=\",\"N=\"],\"description\":\"specifies the name of the double-byte code table to produce. This table name becomes an entry of type DBCSTAB in the catalog that is specified with the CATALOG= option. By default, the catalog name is Sasuser.DBCS.\",\"help\":\"TABLE=*table-name*\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"n011qjdiesf3m8n14v93sywb2n0a\"},{\"name\":\"BASETYPE=\",\"optional\":true,\"placeholder\":true,\"aliases\":[\"BTYPE=\"],\"description\":\"specifies a base type for the double-byte code table conversion. If you use this option, you reduce the number of tables that are produced.\",\"help\":\"*BASETYPE=**base-type*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n03sif3b5vg8mpn1784z9w9w0jon\"},{\"name\":\"CATALOG=\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the name of the catalog in which the table is stored. If the catalog does not exist, it is created.\",\"help\":\"*CATALOG=&lt;**libref.*&gt;*catalog-name*\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"p08z9719yozy78n1xj8a10sd997o\"},{\"name\":\"DATA=\",\"optional\":true,\"description\":\"specifies the data for producing the double-byte code table. Several double-byte character variables are required to produce the table. Use variable names that are equivalent to the value of the DBCSTYPE= system option and recognized by the KCVT function.\",\"help\":\"DATA=&lt;*libref.*&gt;*table-name*\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"n1oqql6k8zktftn1dvopgowo3p5e\"},{\"name\":\"DBCSLANG=\",\"optional\":true,\"placeholder\":true,\"aliases\":[\"DBLANG=\"],\"description\":\"specifies the language that the double-byte code table uses. The value of this option should match the value of the DBCSLANG= system option.\",\"help\":\"*DBCSLANG=language*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0wtbk85b1t42bn162a5sjrmte39\"},{\"name\":\"DESC=\",\"optional\":true,\"description\":\"specifies a text string to put in the DESCRIPTION field for the entry.\",\"help\":\"DESC='*description*'\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p16zdsenipl7bbn1607iei1i01kq\"},{\"name\":\"FORCE\",\"optional\":true,\"description\":\"produces the conversion tables, even if errors are present.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1qf4vsyx2ii7nn14d56ufwg5x5n\"},{\"name\":\"VERIFY\",\"optional\":true,\"description\":\"checks the data range of the input table based on the code. This option checks for invalid double-byte code.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0bsnbv8qp1jn0n0zxijhfvkppgf\"},{\"name\":\"VERBOSE\",\"optional\":true,\"description\":\"prints the statistics detail when building DBCS tables.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0aci7u4ne7nktn1twz5i959cwcy\"}],\"supportSiteTargetFile\":\"p1sz4k1i0cmygkn1pee82qdz09gp.htm\"}],\"supportSiteInformation\":{\"docsetId\":\"nlsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p1cef823ds7xvan11v6abnpy9yv1.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/DEEPPRICE.json",
    "content": "{\"name\":\"DEEPPRICE\",\"statements\":[{\"name\":\"PROC DEEPPRICE\",\"description\":\"The DEEPPRICE procedure estimates the average causal effect and performs policy evaluation and policy comparison by using deep neural networks (DNNs) when the treatment variable is continuous. The DEEPPRICE procedure applies DNNs via a two-step semiparametric framework and provides inferential results for the parameters of interest through the corresponding influence functions.The DEEPPRICE procedure can estimate two types of causal effects (or parameters of interest): the average intercept and the average slope.The procedure can also perform policy evaluation and policy comparison.PROC DEEPPRICE supports the SCORE statement, which enables you to save causal model specifications and estimation results for scoring and policy evaluation and comparison without needing to reestimate the DNNs for these models.\",\"help\":\"PROC DEEPPRICE  options;\\n\\tDNN  options;\\n\\n\\tID  variable;\\n\\n\\tINFER  <options>;\\n\\n\\tINSTRUMENT variable;\\n\\n\\tMODEL  outcome-variable<=covariates></options>;\\n\\n\\tSCORE  options;\\n\\n\\tTMODEL  treatment-variable<=covariates></options>;\\n\",\"arguments\":[{\"name\":\"DATA=\",\"description\":\"names the input data table for PROC DEEPPRICE to use.\",\"help\":\"DATA=*libref.data-table*\",\"type\":\"dataSet\",\"arguments\":[{\"name\":\"libref\",\"description\":\"refers to a collection of information that is defined in the LIBNAME statement and includes the library, which includes a path to the data, and a session identifier, which defaults to the active session but which can be explicitly defined in the LIBNAME statement.\",\"type\":\"standalone\"},{\"name\":\"data-table\",\"description\":\"specifies the name of the input data table.\",\"type\":\"standalone\"}]}]},{\"name\":\"DNN\",\"description\":\"The DNN statement specifies the parameters for the deep neural network (DNN). It includes options that are related to the DNNs for the treatment model and outcome model.\",\"help\":\"DNN   &lt;options&gt;;\",\"arguments\":[{\"name\":\"NODES=\",\"optional\":true,\"description\":\"specifies the number of nodes for each hidden layer in the DNN, where each value in the numeric-list must be a positive number and values are separated by commas or spaces. The length of the list specifies the number of layers, and each value specifies the number of nodes for the corresponding layer. If the length of the list is denoted by n, then the ith (1<=i<=n) value denotes the number of nodes for the ith layer. By default, NODES=(32 32 32 32), which yields four hidden layers, with 32 nodes in each layer.\",\"help\":\"NODES=(*numeric-list*)\",\"type\":\"value\"},{\"name\":\"TRAIN=\",\"optional\":true,\"description\":\"specifies the options that you can use to train the DNN.\",\"help\":\"TRAIN=(*train-options*)\",\"type\":\"value\",\"arguments\":[{\"name\":\"GPU=\",\"description\":\"specifies that the DNN perform calculations by using graphics processing unit (GPU) hardware.\",\"help\":\"GPU=(*gpu-options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DEVICE=\",\"description\":\"specifies a list of GPU devices to use.\",\"help\":\"DEVICE=(*numeric-list*)\",\"type\":\"value\"},{\"name\":\"DEVICES=\",\"description\":\"specifies a list of GPU devices to use.\",\"help\":\"DEVICES=(*numeric-list*)\",\"type\":\"value\"},{\"name\":\"PRECISION=\",\"description\":\"specifies the computational precision in forward-backward computations. By default, PRECISION=FP32.\",\"help\":\"PRECISION=*FP16 | FP32*\",\"type\":\"value\",\"arguments\":[{\"name\":\"FP16\",\"description\":\"uses half-precision (16-bit floating-point) computations to train and score the DNN. The lower computational precision in forward-backward computations can encourage tensor-core engagements.\",\"type\":\"standalone\"},{\"name\":\"FP32\",\"description\":\"uses single-precision (32-bit floating-point) computations to train and score the DNN.\",\"type\":\"standalone\"}]},{\"name\":\"USEEXCLUSIVE\",\"description\":\"specifies that only GPU devices be used.\",\"type\":\"standalone\"},{\"name\":\"USETENSORRT\",\"description\":\"enables the use of the TensorRT software development kit for fast inference.\",\"type\":\"standalone\"}]},{\"name\":\"MISSING=\",\"description\":\"specifies the policy to use for replacing missing input covariate values with imputed values.By default, MISSING=MEAN. The MISSING= option is for DNN training only. In the inference that is performed later, observations that have missing covariates are removed.\",\"help\":\"MISSING=*MAX | MEAN | MIN | NONE*\",\"type\":\"value\",\"arguments\":[{\"name\":\"MAX\",\"description\":\"replaces missing values with the maximum of the corresponding covariate.\",\"type\":\"standalone\"},{\"name\":\"MEAN\",\"description\":\"replaces missing values with the mean of the corresponding covariate.\",\"type\":\"standalone\"},{\"name\":\"MIN\",\"description\":\"replaces missing values with the minimum of the corresponding covariate.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"ignores observations that have missing values.\",\"type\":\"standalone\"}]},{\"name\":\"NTHREADS=\",\"description\":\"specifies the number of threads to use for the DNN.\",\"help\":\"NTHREADS=*number*\",\"type\":\"value\"},{\"name\":\"OPTIMIZATION=\",\"description\":\"specifies the settings for the optimization algorithm and optimization mode, as well as other settings, such as a seed, the maximum number of epochs, and so on.\",\"help\":\"OPTIMIZATION=(*optimizer-options*)\",\"type\":\"value\",\"arguments\":[{\"name\":\"ALGORITHM=\",\"description\":\"specifies the adaptive moment estimation (ADAM) optimization algorithm. For the adam-options, you can specify following options:\",\"help\":\"ALGORITHM=ADAM(*adam-options*) | ADAMSGD(*adam-options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"BETA1=\",\"description\":\"specifies the exponential decay rate for the first moment in an ADAM learning algorithm. The number must be in the range [0, 1).By default, BETA1=0.9.\",\"help\":\"BETA1=*number*\",\"type\":\"value\"},{\"name\":\"BETA2=\",\"description\":\"specifies the exponential decay rate for the second moment in an ADAM learning algorithm. The number must be in the range [0,1).By default, BETA2=0.999.\",\"help\":\"BETA2=*number*\",\"type\":\"value\"},{\"name\":\"CLIPGRADMAX=\",\"description\":\"specifies the maximum gradient value. All gradient values that exceed the specified maximum value are set to the specified maximum value. The number should be greater than or equal to 0.\",\"help\":\"CLIPGRADMAX=*number*\",\"type\":\"value\"},{\"name\":\"CLIPGRADMIN=\",\"description\":\"specifies the minimum gradient value. All gradient values that are less than the specified minimum value are set to the specified minimum value. The number should be less than or equal to 0.\",\"help\":\"CLIPGRADMIN=*number*\",\"type\":\"value\"},{\"name\":\"FCMPEARLYSTOPPING=\",\"description\":\"specifies the function compiler (FCMP) early stopping function.\",\"help\":\"FCMPEARLYSTOPPING=*symbol-name*\",\"type\":\"value\"},{\"name\":\"FCMPES=\",\"description\":\"specifies the function compiler (FCMP) early stopping function.\",\"help\":\"FCMPES=*symbol-name*\",\"type\":\"value\"},{\"name\":\"FCMPLEARNINGRATE=\",\"description\":\"specifies the function compiler (FCMP) learning rate function.\",\"help\":\"FCMPLEARNINGRATE=*symbol-name*\",\"type\":\"value\"},{\"name\":\"FCMPLR=\",\"description\":\"specifies the function compiler (FCMP) learning rate function.\",\"help\":\"FCMPLR=*symbol-name*\",\"type\":\"value\"},{\"name\":\"GAMMA=\",\"description\":\"specifies the gamma value for the learning rate policy. The number must be between 0 and 100, exclusive. By default, GAMMA=0.1.\",\"help\":\"GAMMA=*number*\",\"type\":\"value\"},{\"name\":\"LEARNINGRATE=\",\"description\":\"specifies the learning rate (a positive value) for stochastic gradient descent (SGD). By default, LEARNINGRATE=0.001.\",\"help\":\"LEARNINGRATE=*number*\",\"type\":\"value\"},{\"name\":\"LEARNINGRATEPOLICY=\",\"description\":\"specifies the learning rate policy.By default, LEARNINGRATEPOLICY=FIXED.\",\"type\":\"value\",\"arguments\":[{\"name\":\"FIXED\",\"description\":\"specifies a fixed learning rate.\",\"type\":\"standalone\"},{\"name\":\"INV\",\"description\":\"sets the learning rate option value after each epoch, according to the initial learning rate, the value of the GAMMA= option (γ ), and the value of the POWER= option. The rate is calculated as learningRate *(1 +γ* currentEpoch)^power\",\"type\":\"standalone\"},{\"name\":\"MULTISTEP\",\"description\":\"sets the learning rate after each of the epochs that you specify in the STEPS= option. The updated learning rate is the product of the previous learning rate value and the GAMMA= option value.\",\"type\":\"standalone\"},{\"name\":\"POLY\",\"description\":\"sets the learning rate option value after each epoch, according to the initial learning rate, the maximum number of epochs, and the value of the POWER= option. The rate is calculated as learningRate *(1 +γ* currentEpoch)^power\",\"type\":\"standalone\"},{\"name\":\"STEP\",\"description\":\"sets the learning rate option by multiplying the current learning rate option value by the GAMMA= option value. The number of steps is specified in the STEPSIZE= option. The configured learning rate is recalculated for each group of epochs, according to the step size\",\"type\":\"standalone\"}]},{\"name\":\"LRPOLICY=\",\"description\":\"specifies the learning rate policy.By default, LEARNINGRATEPOLICY=FIXED.\",\"type\":\"value\",\"arguments\":[{\"name\":\"FIXED\",\"description\":\"specifies a fixed learning rate.\",\"type\":\"standalone\"},{\"name\":\"INV\",\"description\":\"sets the learning rate option value after each epoch, according to the initial learning rate, the value of the GAMMA= option (γ ), and the value of the POWER= option. The rate is calculated as learningRate *(1 +γ* currentEpoch)^power\",\"type\":\"standalone\"},{\"name\":\"MULTISTEP\",\"description\":\"sets the learning rate after each of the epochs that you specify in the STEPS= option. The updated learning rate is the product of the previous learning rate value and the GAMMA= option value.\",\"type\":\"standalone\"},{\"name\":\"POLY\",\"description\":\"sets the learning rate option value after each epoch, according to the initial learning rate, the maximum number of epochs, and the value of the POWER= option. The rate is calculated as learningRate *(1 +γ* currentEpoch)^power\",\"type\":\"standalone\"},{\"name\":\"STEP\",\"description\":\"sets the learning rate option by multiplying the current learning rate option value by the GAMMA= option value. The number of steps is specified in the STEPSIZE= option. The configured learning rate is recalculated for each group of epochs, according to the step size\",\"type\":\"standalone\"}]},{\"name\":\"NOUSELOCKING\",\"description\":\"computes gradients asynchronously with multiple threads.\",\"type\":\"standalone\"},{\"name\":\"POWER=\",\"description\":\"specifies the power for the learning rate policy. The number must be nonnegative. By default, POWER=0.75.\",\"help\":\"POWER=*number*\",\"type\":\"value\"},{\"name\":\"STEPS=\",\"description\":\"specifies a list of epoch counts. When the current epoch matches one of the specified steps, the learning rate is multiplied by the value of the GAMMA= option. For example, if you specify STEPS=(5 9 13), then the learning rate is multiplied by the GAMMA= option value after the 5th, 9th, and 13th epochs.\",\"help\":\"STEPS=(*numberic-list*)\",\"type\":\"value\"},{\"name\":\"STEPSIZE=\",\"description\":\"specifies the step size (a value greater than or equal to 1) when the learning rate policy is set to STEP. By default, STEPSIZE=10.\",\"help\":\"STEPSIZE=*number*\",\"type\":\"value\"}]},{\"name\":\"COMPRESSION=\",\"description\":\"makes communication between workers more sparse for faster training by using gradient sparsification, a distributed training technique that makes stochastic gradients more sparse to reduce communication costs.\",\"help\":\"COMPRESSION=(*compression-options*)\",\"type\":\"value\",\"arguments\":[{\"name\":\"LOCALMOMENTUM=\",\"description\":\"etermines the strength of aggregation on the masked gradient elements when compression is used. The number must be in the range [0.1]. By default, LOCALMOMENTUM=0.95.\",\"help\":\"LOCALMOMENTUM=*number*\",\"type\":\"value\"},{\"name\":\"SAMPLERATIO=\",\"description\":\"determines the number of samples for gradients in each layer. The number must be in the range [10^-5,0.2], By default, SAMPLERATIO=0.05.\",\"help\":\"SAMPLERATIO=*number*\",\"type\":\"value\"},{\"name\":\"SPARSITYRATIO=\",\"description\":\"determines the number of samples for gradients in each layer. The number must be in the range [0, 1]. By default, SPARSITYRATIO=0.75.\",\"help\":\"SPARSITYRATIO=*number*\",\"type\":\"value\"}]},{\"name\":\"DROPOUT=\",\"description\":\"specifies the probability that the output of a neuron in a fully connected layer will be set to 0 during training. This probability is recalculated each time an observation is processed. The number must be in the range [0; 1). By default, DROPOUT=0.\",\"help\":\"DROPOUT=*number*\",\"type\":\"value\"},{\"name\":\"DROPOUTINPUT=\",\"description\":\"specifies the probability that an input variable will be set to 0 during training. This probability is recalculated each time an observation is processed. The number must be in the range[0; 1). By default, DROPOUTINPUT=0\",\"help\":\"DROPOUTINPUT=*number*\",\"type\":\"value\"},{\"name\":\"DROPOUTTYPE=\",\"description\":\"specifies what type of dropout to use. By default, DROPOUTTYPE=STANDARD.\",\"type\":\"value\",\"arguments\":[{\"name\":\"INVERTED\",\"description\":\"uses the inverted dropout, in which activations of some neurons are set to 0 and the remaining activations are scaled.\",\"type\":\"standalone\"},{\"name\":\"STANDARD\",\"description\":\"uses the standard dropout, in which activations of some neurons are set to 0 and the remaining activations are not scaled.\",\"type\":\"standalone\"}]},{\"name\":\"FCONV=\",\"description\":\"specifies the relative function convergence criterion. If the relative loss error, abs[(previous_loss-current_loss)/previous_loss], does not result in a change in the objective function, the optimization stops. The number must be greater than or equal to 0. By default, FCONV=0, and the relative function convergence is not checked.\",\"help\":\"FCONV=*number*\",\"type\":\"value\"},{\"name\":\"FREEZEBATCHNORMSTATS\",\"description\":\"freezes statistics of all batch normalization layers.\",\"help\":\"FREEZEBATCHNORMSTATS \",\"type\":\"standalone\"},{\"name\":\"FREEZEBNSTATS\",\"description\":\"freezes statistics of all batch normalization layers.\",\"type\":\"standalone\"},{\"name\":\"IGNORETRAININGERROR\",\"description\":\"continues model training without interruption by ignoring the issue of training data observations containing invalid or missing variable data. If you omit this option, training stops and PROC DEEPPRICE terminates when bad input data are found.\",\"type\":\"standalone\"},{\"name\":\"MAXEPOCHS=\",\"description\":\"specifies the maximum number of epochs. The number must be greater than or equal to 1. By default, MAXEPOCHS=1. For SGD with a single-machine server, or for a session that uses one worker on a distributed server, one epoch is reached when the optimizer passes through the data one time. For a session that uses more than one worker, one epoch is reached when all the workers exchange the weights with the controller one time. The SYNCFREQ= option specifies the number of times that each worker passes through the data before exchanging weights with the controller. For the L-BFGS optimization algorithm with a full batch, each iteration might process more than one epoch, and the final number of epochs might exceed the parameter value for the maximum number of epochs.\",\"help\":\"MAXEPOCHS=*number*\",\"type\":\"value\"},{\"name\":\"MINIBATCHBUFSIZE=\",\"description\":\"specifies the number of observations to buffer in memory (including input data and intermediate calculations) before processing the remaining records in the minibatch. The number must be greater than or equal to 1 and must be smaller than the number that you specify for the MINIBATCHSIZE= option. The MINIBATCHBUFSIZE= option setting is ignored when GPUs are used.\",\"help\":\"MINIBATCHBUFSIZE=*number*\",\"type\":\"value\"},{\"name\":\"MINIBATCHSIZE=\",\"description\":\"specifies the number of observations per thread in a minibatch. The parameter controls the number of observations that are used per worker in each thread to compute the gradient, prior to updating the weights. Larger values use more memory. The number is greater than or equal to 1. By default, MINIBATCHSIZE=1. When you use synchronous SGD (the default), the total minibatch size is calculated as miniBatchSize * number of threads * number of workers. When you use asynchronous SGD by specifying the ELASTICSYNCFREQ= option, each worker trains its own local model. In this case, the total minibatch size for each worker is calculated as miniBatchSize * number of threads. You can specify values s for either the MINIBATCHSIZE= or TOTALMINIBATCHSIZE= option, but not for both.\",\"help\":\"MINIBATCHSIZE=*number*\",\"type\":\"value\"},{\"name\":\"MODE=\",\"description\":\"specifies the optimization mode and the corresponding options.By default, MODE=SYNCHRONOUS.\",\"help\":\"MODE=*optimization-mode*\",\"type\":\"value\",\"arguments\":[{\"name\":\"DOWNPOUR\",\"description\":\"specifies the downpour optimization mode.\",\"type\":\"standalone\"},{\"name\":\"ELASTIC\",\"description\":\"specifies the elastic optimization mode\",\"help\":\"ELASTIC&lt;(*elastic-options*)&gt;\",\"type\":\"value\",\"arguments\":[{\"name\":\"ALPHA=\",\"description\":\"specifies the significance level (a value between 0 and 1, inclusive) that is used for elastic SGD. By default, ALPHA=0.\",\"help\":\"ALPHA=*number*\",\"type\":\"value\"},{\"name\":\"ELASTICALPHA=\",\"description\":\"specifies the significance level (a value between 0 and 1, inclusive) that is used for elastic SGD. By default, ALPHA=0.\",\"help\":\"ELASTICALPHA=*number*\",\"type\":\"value\"},{\"name\":\"ELASTICSYNCFREQ=\",\"description\":\"and controller for exchanging weights. You can exchange the weights more often than once each epoch by specifying a number that is less than the number of batches in an epoch. If the number is greater than the number of batches in an epoch, then the weights are exchanged once each epoch. By default, ELASTICSYNCFREQ=0.\",\"help\":\"ELASTICSYNCFREQ=*number*\",\"type\":\"value\"},{\"name\":\"SYNCFREQ=\",\"description\":\"and controller for exchanging weights. You can exchange the weights more often than once each epoch by specifying a number that is less than the number of batches in an epoch. If the number is greater than the number of batches in an epoch, then the weights are exchanged once each epoch. By default, ELASTICSYNCFREQ=0.\",\"help\":\"SYNCFREQ=*number*\",\"type\":\"value\"},{\"name\":\"SYNCHRONOUS\",\"description\":\"specifies the synchronous optimization mode. The SYNCFREQ= option, which is not required, specifies the synchronization frequency for SGD in terms of epochs. By default, SYNCFREQ=1\",\"help\":\"SYNCHRONOUS&lt;(SYNCFREQ=*number*)&gt;\",\"type\":\"standaloneOrValue\"}]}]},{\"name\":\"NOBNSRCLAYERWARNINGS\",\"description\":\"suppresses the warning if the batch normalization source layer has an atypical type or activation setting.\",\"help\":\"NOBNSRCLAYERWARNINGS \",\"type\":\"standalone\"},{\"name\":\"REGL1=\",\"description\":\"specifies the weight for the L2 regularization term. The number must be greater than or equal to 0. By default, REGL2=0. At the default setting, PROC DEEPPRICE does not perform L2 regularization. Initial L2 weight values should be small (such as 1E–3). You can combine L2 regularization with L1 regularization.\",\"help\":\"REGL1=*number*\",\"type\":\"value\"},{\"name\":\"REGL2=\",\"description\":\"specifies the weight for the L1 regularization term. The number must be greater than or equal to 0. By default, REGL1=0. At the default setting, PROC DEEPPRICE does not perform L1 regularization. Initial L1 weight values should be small (such as 1E–3). You can combine L1 regularization with L2 regularization.\",\"help\":\"REGL2=*number*\",\"type\":\"value\"},{\"name\":\"SEED=\",\"description\":\"specifies the random number seed value for the random number generator in the L-BFGS optimization algorithm. Seed values less than or equal to 0 generate random number streams by using the time of day from the computer’s clock. Seed values greater than 0 generate reproducible random number sequences. By default, SEED=0.\",\"help\":\"SEED=*number*\",\"type\":\"value\"},{\"name\":\"SNAPSHOTFREQ=\",\"description\":\"specifies the frequency for generating snapshots of the neural weights and storing the weights in a weight table during the training process. When you specify asynchronous SGD by specifying the ELASTICSYNCFREQ= option, PROC DEEPPRICE synchronizes all the weights before writing out the weights. The number must be greater than or equal to 0. By default, SNAPSHOTFREQ=0.\",\"help\":\"SNAPSHOTFREQ=*number*\",\"type\":\"value\"},{\"name\":\"STAGNATION=\",\"description\":\"specifies the number of iterations to complete without improvement before stopping the optimization early. The number must be greater than or equal to 0. By default, STAGNATION=0; this turns off the stagnation monitoring.\",\"help\":\"STAGNATION=*number*\",\"type\":\"value\"},{\"name\":\"THRESHOLD=\",\"description\":\"specifies the threshold that is used to determine whether the loss error or validation scores are improving or stagnating across iterations. The iteration does not improve when the magnitude of the score change between successive iterations is less than or equal to the absolute value of current_score * threshold value. When an iteration does not improve, the stagnation counter increments. Otherwise, the stagnation counter is set to 0. The number must be greater than or equal to 0. By default, THRESHOLD=10^-8\",\"help\":\"THRESHOLD=*number*\",\"type\":\"value\"},{\"name\":\"TOTALMINIBATCHSIZE=\",\"description\":\"specifies the number of observations in a minibatch.You can use these options to control the number of observations that the DNN uses to compute the gradient prior to updating the weights. Larger values use more memory. If the specified size cannot be evenly divided by the number of threads (if you are using asynchronous SGD) or by the number of threads * number of workers (if you are using synchronous SGD), then PROC DEEPPRICE terminates with an error unless you specify the ROUND option. In that case, the total minibatch size is rounded up so that it is evenly divided. You can specify values for either the MINIBATCHSIZE= or TOTALMINIBATCHSIZE= option, but not for both.\",\"help\":\"TOTALMINIBATCHSIZE=(*totalminibatchsize-options*)\",\"type\":\"value\",\"arguments\":[{\"name\":\"NONOTIFY\",\"description\":\"suppresses the message that is printed if the total minibatch size is rounded up.\",\"type\":\"standalone\"},{\"name\":\"ROUND\",\"description\":\"rounds up the total minibatch size.\",\"type\":\"standalone\",\"arguments\":[{\"name\":\"SIZE=\",\"description\":\"specifies the number of observations in a minibatch. The computation for the total minibatch size is nWorkers * miniBatchSize * nThreads. For example, a two-worker scenario with a minibatch size of 10 and 32 threads per worker has a total minibatch size of 2*32*10 = 640 records.\",\"help\":\"SIZE=*number*\",\"type\":\"value\"},{\"name\":\"N=\",\"description\":\"specifies the number of observations in a minibatch. The computation for the total minibatch size is nWorkers * miniBatchSize * nThreads. For example, a two-worker scenario with a minibatch size of 10 and 32 threads per worker has a total minibatch size of 2*32*10 = 640 records.\",\"help\":\"N=*number*\",\"type\":\"value\"}]}]}]},{\"name\":\"OPTIMIZE=\",\"description\":\"specifies the settings for the optimization algorithm and optimization mode, as well as other settings, such as a seed, the maximum number of epochs, and so on.\",\"help\":\"OPTIMIZE=(*optimizer-options*)\",\"type\":\"value\",\"arguments\":[{\"name\":\"ALGORITHM=\",\"description\":\"specifies the adaptive moment estimation (ADAM) optimization algorithm. For the adam-options, you can specify following options:\",\"help\":\"ALGORITHM=ADAM(*adam-options*) | ADAMSGD(*adam-options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"BETA1=\",\"description\":\"specifies the exponential decay rate for the first moment in an ADAM learning algorithm. The number must be in the range [0, 1).By default, BETA1=0.9.\",\"help\":\"BETA1=*number*\",\"type\":\"value\"},{\"name\":\"BETA2=\",\"description\":\"specifies the exponential decay rate for the second moment in an ADAM learning algorithm. The number must be in the range [0,1).By default, BETA2=0.999.\",\"help\":\"BETA2=*number*\",\"type\":\"value\"},{\"name\":\"CLIPGRADMAX=\",\"description\":\"specifies the maximum gradient value. All gradient values that exceed the specified maximum value are set to the specified maximum value. The number should be greater than or equal to 0.\",\"help\":\"CLIPGRADMAX=*number*\",\"type\":\"value\"},{\"name\":\"CLIPGRADMIN=\",\"description\":\"specifies the minimum gradient value. All gradient values that are less than the specified minimum value are set to the specified minimum value. The number should be less than or equal to 0.\",\"help\":\"CLIPGRADMIN=*number*\",\"type\":\"value\"},{\"name\":\"FCMPEARLYSTOPPING=\",\"description\":\"specifies the function compiler (FCMP) early stopping function.\",\"help\":\"FCMPEARLYSTOPPING=*symbol-name*\",\"type\":\"value\"},{\"name\":\"FCMPES=\",\"description\":\"specifies the function compiler (FCMP) early stopping function.\",\"help\":\"FCMPES=*symbol-name*\",\"type\":\"value\"},{\"name\":\"FCMPLEARNINGRATE=\",\"description\":\"specifies the function compiler (FCMP) learning rate function.\",\"help\":\"FCMPLEARNINGRATE=*symbol-name*\",\"type\":\"value\"},{\"name\":\"FCMPLR=\",\"description\":\"specifies the function compiler (FCMP) learning rate function.\",\"help\":\"FCMPLR=*symbol-name*\",\"type\":\"value\"},{\"name\":\"GAMMA=\",\"description\":\"specifies the gamma value for the learning rate policy. The number must be between 0 and 100, exclusive. By default, GAMMA=0.1.\",\"help\":\"GAMMA=*number*\",\"type\":\"value\"},{\"name\":\"LEARNINGRATE=\",\"description\":\"specifies the learning rate (a positive value) for stochastic gradient descent (SGD). By default, LEARNINGRATE=0.001.\",\"help\":\"LEARNINGRATE=*number*\",\"type\":\"value\"},{\"name\":\"LEARNINGRATEPOLICY=\",\"description\":\"specifies the learning rate policy.By default, LEARNINGRATEPOLICY=FIXED.\",\"type\":\"value\",\"arguments\":[{\"name\":\"FIXED\",\"description\":\"specifies a fixed learning rate.\",\"type\":\"standalone\"},{\"name\":\"INV\",\"description\":\"sets the learning rate option value after each epoch, according to the initial learning rate, the value of the GAMMA= option (γ ), and the value of the POWER= option. The rate is calculated as learningRate *(1 +γ* currentEpoch)^power\",\"type\":\"standalone\"},{\"name\":\"MULTISTEP\",\"description\":\"sets the learning rate after each of the epochs that you specify in the STEPS= option. The updated learning rate is the product of the previous learning rate value and the GAMMA= option value.\",\"type\":\"standalone\"},{\"name\":\"POLY\",\"description\":\"sets the learning rate option value after each epoch, according to the initial learning rate, the maximum number of epochs, and the value of the POWER= option. The rate is calculated as learningRate *(1 +γ* currentEpoch)^power\",\"type\":\"standalone\"},{\"name\":\"STEP\",\"description\":\"sets the learning rate option by multiplying the current learning rate option value by the GAMMA= option value. The number of steps is specified in the STEPSIZE= option. The configured learning rate is recalculated for each group of epochs, according to the step size\",\"type\":\"standalone\"}]},{\"name\":\"LRPOLICY=\",\"description\":\"specifies the learning rate policy.By default, LEARNINGRATEPOLICY=FIXED.\",\"type\":\"value\",\"arguments\":[{\"name\":\"FIXED\",\"description\":\"specifies a fixed learning rate.\",\"type\":\"standalone\"},{\"name\":\"INV\",\"description\":\"sets the learning rate option value after each epoch, according to the initial learning rate, the value of the GAMMA= option (γ ), and the value of the POWER= option. The rate is calculated as learningRate *(1 +γ* currentEpoch)^power\",\"type\":\"standalone\"},{\"name\":\"MULTISTEP\",\"description\":\"sets the learning rate after each of the epochs that you specify in the STEPS= option. The updated learning rate is the product of the previous learning rate value and the GAMMA= option value.\",\"type\":\"standalone\"},{\"name\":\"POLY\",\"description\":\"sets the learning rate option value after each epoch, according to the initial learning rate, the maximum number of epochs, and the value of the POWER= option. The rate is calculated as learningRate *(1 +γ* currentEpoch)^power\",\"type\":\"standalone\"},{\"name\":\"STEP\",\"description\":\"sets the learning rate option by multiplying the current learning rate option value by the GAMMA= option value. The number of steps is specified in the STEPSIZE= option. The configured learning rate is recalculated for each group of epochs, according to the step size\",\"type\":\"standalone\"}]},{\"name\":\"NOUSELOCKING\",\"description\":\"computes gradients asynchronously with multiple threads.\",\"type\":\"standalone\"},{\"name\":\"POWER=\",\"description\":\"specifies the power for the learning rate policy. The number must be nonnegative. By default, POWER=0.75.\",\"help\":\"POWER=*number*\",\"type\":\"value\"},{\"name\":\"STEPS=\",\"description\":\"specifies a list of epoch counts. When the current epoch matches one of the specified steps, the learning rate is multiplied by the value of the GAMMA= option. For example, if you specify STEPS=(5 9 13), then the learning rate is multiplied by the GAMMA= option value after the 5th, 9th, and 13th epochs.\",\"help\":\"STEPS=(*numberic-list*)\",\"type\":\"value\"},{\"name\":\"STEPSIZE=\",\"description\":\"specifies the step size (a value greater than or equal to 1) when the learning rate policy is set to STEP. By default, STEPSIZE=10.\",\"help\":\"STEPSIZE=*number*\",\"type\":\"value\"}]},{\"name\":\"COMPRESSION=\",\"description\":\"makes communication between workers more sparse for faster training by using gradient sparsification, a distributed training technique that makes stochastic gradients more sparse to reduce communication costs.\",\"help\":\"COMPRESSION=(*compression-options*)\",\"type\":\"value\",\"arguments\":[{\"name\":\"LOCALMOMENTUM=\",\"description\":\"etermines the strength of aggregation on the masked gradient elements when compression is used. The number must be in the range [0.1]. By default, LOCALMOMENTUM=0.95.\",\"help\":\"LOCALMOMENTUM=*number*\",\"type\":\"value\"},{\"name\":\"SAMPLERATIO=\",\"description\":\"determines the number of samples for gradients in each layer. The number must be in the range [10^-5,0.2], By default, SAMPLERATIO=0.05.\",\"help\":\"SAMPLERATIO=*number*\",\"type\":\"value\"},{\"name\":\"SPARSITYRATIO=\",\"description\":\"determines the number of samples for gradients in each layer. The number must be in the range [0, 1]. By default, SPARSITYRATIO=0.75.\",\"help\":\"SPARSITYRATIO=*number*\",\"type\":\"value\"}]},{\"name\":\"DROPOUT=\",\"description\":\"specifies the probability that the output of a neuron in a fully connected layer will be set to 0 during training. This probability is recalculated each time an observation is processed. The number must be in the range [0; 1). By default, DROPOUT=0.\",\"help\":\"DROPOUT=*number*\",\"type\":\"value\"},{\"name\":\"DROPOUTINPUT=\",\"description\":\"specifies the probability that an input variable will be set to 0 during training. This probability is recalculated each time an observation is processed. The number must be in the range[0; 1). By default, DROPOUTINPUT=0\",\"help\":\"DROPOUTINPUT=*number*\",\"type\":\"value\"},{\"name\":\"DROPOUTTYPE=\",\"description\":\"specifies what type of dropout to use. By default, DROPOUTTYPE=STANDARD.\",\"type\":\"value\",\"arguments\":[{\"name\":\"INVERTED\",\"description\":\"uses the inverted dropout, in which activations of some neurons are set to 0 and the remaining activations are scaled.\",\"type\":\"standalone\"},{\"name\":\"STANDARD\",\"description\":\"uses the standard dropout, in which activations of some neurons are set to 0 and the remaining activations are not scaled.\",\"type\":\"standalone\"}]},{\"name\":\"FCONV=\",\"description\":\"specifies the relative function convergence criterion. If the relative loss error, abs[(previous_loss-current_loss)/previous_loss], does not result in a change in the objective function, the optimization stops. The number must be greater than or equal to 0. By default, FCONV=0, and the relative function convergence is not checked.\",\"help\":\"FCONV=*number*\",\"type\":\"value\"},{\"name\":\"FREEZEBATCHNORMSTATS\",\"description\":\"freezes statistics of all batch normalization layers.\",\"help\":\"FREEZEBATCHNORMSTATS \",\"type\":\"standalone\"},{\"name\":\"FREEZEBNSTATS\",\"description\":\"freezes statistics of all batch normalization layers.\",\"type\":\"standalone\"},{\"name\":\"IGNORETRAININGERROR\",\"description\":\"continues model training without interruption by ignoring the issue of training data observations containing invalid or missing variable data. If you omit this option, training stops and PROC DEEPPRICE terminates when bad input data are found.\",\"type\":\"standalone\"},{\"name\":\"MAXEPOCHS=\",\"description\":\"specifies the maximum number of epochs. The number must be greater than or equal to 1. By default, MAXEPOCHS=1. For SGD with a single-machine server, or for a session that uses one worker on a distributed server, one epoch is reached when the optimizer passes through the data one time. For a session that uses more than one worker, one epoch is reached when all the workers exchange the weights with the controller one time. The SYNCFREQ= option specifies the number of times that each worker passes through the data before exchanging weights with the controller. For the L-BFGS optimization algorithm with a full batch, each iteration might process more than one epoch, and the final number of epochs might exceed the parameter value for the maximum number of epochs.\",\"help\":\"MAXEPOCHS=*number*\",\"type\":\"value\"},{\"name\":\"MINIBATCHBUFSIZE=\",\"description\":\"specifies the number of observations to buffer in memory (including input data and intermediate calculations) before processing the remaining records in the minibatch. The number must be greater than or equal to 1 and must be smaller than the number that you specify for the MINIBATCHSIZE= option. The MINIBATCHBUFSIZE= option setting is ignored when GPUs are used.\",\"help\":\"MINIBATCHBUFSIZE=*number*\",\"type\":\"value\"},{\"name\":\"MINIBATCHSIZE=\",\"description\":\"specifies the number of observations per thread in a minibatch. The parameter controls the number of observations that are used per worker in each thread to compute the gradient, prior to updating the weights. Larger values use more memory. The number is greater than or equal to 1. By default, MINIBATCHSIZE=1. When you use synchronous SGD (the default), the total minibatch size is calculated as miniBatchSize * number of threads * number of workers. When you use asynchronous SGD by specifying the ELASTICSYNCFREQ= option, each worker trains its own local model. In this case, the total minibatch size for each worker is calculated as miniBatchSize * number of threads. You can specify values s for either the MINIBATCHSIZE= or TOTALMINIBATCHSIZE= option, but not for both.\",\"help\":\"MINIBATCHSIZE=*number*\",\"type\":\"value\"},{\"name\":\"MODE=\",\"description\":\"specifies the optimization mode and the corresponding options.By default, MODE=SYNCHRONOUS.\",\"help\":\"MODE=*optimization-mode*\",\"type\":\"value\",\"arguments\":[{\"name\":\"DOWNPOUR\",\"description\":\"specifies the downpour optimization mode.\",\"type\":\"standalone\"},{\"name\":\"ELASTIC\",\"description\":\"specifies the elastic optimization mode\",\"help\":\"ELASTIC&lt;(*elastic-options*)&gt;\",\"type\":\"value\",\"arguments\":[{\"name\":\"ALPHA=\",\"description\":\"specifies the significance level (a value between 0 and 1, inclusive) that is used for elastic SGD. By default, ALPHA=0.\",\"help\":\"ALPHA=*number*\",\"type\":\"value\"},{\"name\":\"ELASTICALPHA=\",\"description\":\"specifies the significance level (a value between 0 and 1, inclusive) that is used for elastic SGD. By default, ALPHA=0.\",\"help\":\"ELASTICALPHA=*number*\",\"type\":\"value\"},{\"name\":\"ELASTICSYNCFREQ=\",\"description\":\"and controller for exchanging weights. You can exchange the weights more often than once each epoch by specifying a number that is less than the number of batches in an epoch. If the number is greater than the number of batches in an epoch, then the weights are exchanged once each epoch. By default, ELASTICSYNCFREQ=0.\",\"help\":\"ELASTICSYNCFREQ=*number*\",\"type\":\"value\"},{\"name\":\"SYNCFREQ=\",\"description\":\"and controller for exchanging weights. You can exchange the weights more often than once each epoch by specifying a number that is less than the number of batches in an epoch. If the number is greater than the number of batches in an epoch, then the weights are exchanged once each epoch. By default, ELASTICSYNCFREQ=0.\",\"help\":\"SYNCFREQ=*number*\",\"type\":\"value\"},{\"name\":\"SYNCHRONOUS\",\"description\":\"specifies the synchronous optimization mode. The SYNCFREQ= option, which is not required, specifies the synchronization frequency for SGD in terms of epochs. By default, SYNCFREQ=1\",\"help\":\"SYNCHRONOUS&lt;(SYNCFREQ=*number*)&gt;\",\"type\":\"standaloneOrValue\"}]}]},{\"name\":\"NOBNSRCLAYERWARNINGS\",\"description\":\"suppresses the warning if the batch normalization source layer has an atypical type or activation setting.\",\"help\":\"NOBNSRCLAYERWARNINGS \",\"type\":\"standalone\"},{\"name\":\"REGL1=\",\"description\":\"specifies the weight for the L2 regularization term. The number must be greater than or equal to 0. By default, REGL2=0. At the default setting, PROC DEEPPRICE does not perform L2 regularization. Initial L2 weight values should be small (such as 1E–3). You can combine L2 regularization with L1 regularization.\",\"help\":\"REGL1=*number*\",\"type\":\"value\"},{\"name\":\"REGL2=\",\"description\":\"specifies the weight for the L1 regularization term. The number must be greater than or equal to 0. By default, REGL1=0. At the default setting, PROC DEEPPRICE does not perform L1 regularization. Initial L1 weight values should be small (such as 1E–3). You can combine L1 regularization with L2 regularization.\",\"help\":\"REGL2=*number*\",\"type\":\"value\"},{\"name\":\"SEED=\",\"description\":\"specifies the random number seed value for the random number generator in the L-BFGS optimization algorithm. Seed values less than or equal to 0 generate random number streams by using the time of day from the computer’s clock. Seed values greater than 0 generate reproducible random number sequences. By default, SEED=0.\",\"help\":\"SEED=*number*\",\"type\":\"value\"},{\"name\":\"SNAPSHOTFREQ=\",\"description\":\"specifies the frequency for generating snapshots of the neural weights and storing the weights in a weight table during the training process. When you specify asynchronous SGD by specifying the ELASTICSYNCFREQ= option, PROC DEEPPRICE synchronizes all the weights before writing out the weights. The number must be greater than or equal to 0. By default, SNAPSHOTFREQ=0.\",\"help\":\"SNAPSHOTFREQ=*number*\",\"type\":\"value\"},{\"name\":\"STAGNATION=\",\"description\":\"specifies the number of iterations to complete without improvement before stopping the optimization early. The number must be greater than or equal to 0. By default, STAGNATION=0; this turns off the stagnation monitoring.\",\"help\":\"STAGNATION=*number*\",\"type\":\"value\"},{\"name\":\"THRESHOLD=\",\"description\":\"specifies the threshold that is used to determine whether the loss error or validation scores are improving or stagnating across iterations. The iteration does not improve when the magnitude of the score change between successive iterations is less than or equal to the absolute value of current_score * threshold value. When an iteration does not improve, the stagnation counter increments. Otherwise, the stagnation counter is set to 0. The number must be greater than or equal to 0. By default, THRESHOLD=10^-8\",\"help\":\"THRESHOLD=*number*\",\"type\":\"value\"},{\"name\":\"TOTALMINIBATCHSIZE=\",\"description\":\"specifies the number of observations in a minibatch.You can use these options to control the number of observations that the DNN uses to compute the gradient prior to updating the weights. Larger values use more memory. If the specified size cannot be evenly divided by the number of threads (if you are using asynchronous SGD) or by the number of threads * number of workers (if you are using synchronous SGD), then PROC DEEPPRICE terminates with an error unless you specify the ROUND option. In that case, the total minibatch size is rounded up so that it is evenly divided. You can specify values for either the MINIBATCHSIZE= or TOTALMINIBATCHSIZE= option, but not for both.\",\"help\":\"TOTALMINIBATCHSIZE=(*totalminibatchsize-options*)\",\"type\":\"value\",\"arguments\":[{\"name\":\"NONOTIFY\",\"description\":\"suppresses the message that is printed if the total minibatch size is rounded up.\",\"type\":\"standalone\"},{\"name\":\"ROUND\",\"description\":\"rounds up the total minibatch size.\",\"type\":\"standalone\",\"arguments\":[{\"name\":\"SIZE=\",\"description\":\"specifies the number of observations in a minibatch. The computation for the total minibatch size is nWorkers * miniBatchSize * nThreads. For example, a two-worker scenario with a minibatch size of 10 and 32 threads per worker has a total minibatch size of 2*32*10 = 640 records.\",\"help\":\"SIZE=*number*\",\"type\":\"value\"},{\"name\":\"N=\",\"description\":\"specifies the number of observations in a minibatch. The computation for the total minibatch size is nWorkers * miniBatchSize * nThreads. For example, a two-worker scenario with a minibatch size of 10 and 32 threads per worker has a total minibatch size of 2*32*10 = 640 records.\",\"help\":\"N=*number*\",\"type\":\"value\"}]}]}]},{\"name\":\"OPTIMIZER=\",\"description\":\"specifies the settings for the optimization algorithm and optimization mode, as well as other settings, such as a seed, the maximum number of epochs, and so on.\",\"help\":\"OPTIMIZER=(*optimizer-options*)\",\"type\":\"value\",\"arguments\":[{\"name\":\"ALGORITHM=\",\"description\":\"specifies the adaptive moment estimation (ADAM) optimization algorithm. For the adam-options, you can specify following options:\",\"help\":\"ALGORITHM=ADAM(*adam-options*) | ADAMSGD(*adam-options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"BETA1=\",\"description\":\"specifies the exponential decay rate for the first moment in an ADAM learning algorithm. The number must be in the range [0, 1).By default, BETA1=0.9.\",\"help\":\"BETA1=*number*\",\"type\":\"value\"},{\"name\":\"BETA2=\",\"description\":\"specifies the exponential decay rate for the second moment in an ADAM learning algorithm. The number must be in the range [0,1).By default, BETA2=0.999.\",\"help\":\"BETA2=*number*\",\"type\":\"value\"},{\"name\":\"CLIPGRADMAX=\",\"description\":\"specifies the maximum gradient value. All gradient values that exceed the specified maximum value are set to the specified maximum value. The number should be greater than or equal to 0.\",\"help\":\"CLIPGRADMAX=*number*\",\"type\":\"value\"},{\"name\":\"CLIPGRADMIN=\",\"description\":\"specifies the minimum gradient value. All gradient values that are less than the specified minimum value are set to the specified minimum value. The number should be less than or equal to 0.\",\"help\":\"CLIPGRADMIN=*number*\",\"type\":\"value\"},{\"name\":\"FCMPEARLYSTOPPING=\",\"description\":\"specifies the function compiler (FCMP) early stopping function.\",\"help\":\"FCMPEARLYSTOPPING=*symbol-name*\",\"type\":\"value\"},{\"name\":\"FCMPES=\",\"description\":\"specifies the function compiler (FCMP) early stopping function.\",\"help\":\"FCMPES=*symbol-name*\",\"type\":\"value\"},{\"name\":\"FCMPLEARNINGRATE=\",\"description\":\"specifies the function compiler (FCMP) learning rate function.\",\"help\":\"FCMPLEARNINGRATE=*symbol-name*\",\"type\":\"value\"},{\"name\":\"FCMPLR=\",\"description\":\"specifies the function compiler (FCMP) learning rate function.\",\"help\":\"FCMPLR=*symbol-name*\",\"type\":\"value\"},{\"name\":\"GAMMA=\",\"description\":\"specifies the gamma value for the learning rate policy. The number must be between 0 and 100, exclusive. By default, GAMMA=0.1.\",\"help\":\"GAMMA=*number*\",\"type\":\"value\"},{\"name\":\"LEARNINGRATE=\",\"description\":\"specifies the learning rate (a positive value) for stochastic gradient descent (SGD). By default, LEARNINGRATE=0.001.\",\"help\":\"LEARNINGRATE=*number*\",\"type\":\"value\"},{\"name\":\"LEARNINGRATEPOLICY=\",\"description\":\"specifies the learning rate policy.By default, LEARNINGRATEPOLICY=FIXED.\",\"type\":\"value\",\"arguments\":[{\"name\":\"FIXED\",\"description\":\"specifies a fixed learning rate.\",\"type\":\"standalone\"},{\"name\":\"INV\",\"description\":\"sets the learning rate option value after each epoch, according to the initial learning rate, the value of the GAMMA= option (γ ), and the value of the POWER= option. The rate is calculated as learningRate *(1 +γ* currentEpoch)^power\",\"type\":\"standalone\"},{\"name\":\"MULTISTEP\",\"description\":\"sets the learning rate after each of the epochs that you specify in the STEPS= option. The updated learning rate is the product of the previous learning rate value and the GAMMA= option value.\",\"type\":\"standalone\"},{\"name\":\"POLY\",\"description\":\"sets the learning rate option value after each epoch, according to the initial learning rate, the maximum number of epochs, and the value of the POWER= option. The rate is calculated as learningRate *(1 +γ* currentEpoch)^power\",\"type\":\"standalone\"},{\"name\":\"STEP\",\"description\":\"sets the learning rate option by multiplying the current learning rate option value by the GAMMA= option value. The number of steps is specified in the STEPSIZE= option. The configured learning rate is recalculated for each group of epochs, according to the step size\",\"type\":\"standalone\"}]},{\"name\":\"LRPOLICY=\",\"description\":\"specifies the learning rate policy.By default, LEARNINGRATEPOLICY=FIXED.\",\"type\":\"value\",\"arguments\":[{\"name\":\"FIXED\",\"description\":\"specifies a fixed learning rate.\",\"type\":\"standalone\"},{\"name\":\"INV\",\"description\":\"sets the learning rate option value after each epoch, according to the initial learning rate, the value of the GAMMA= option (γ ), and the value of the POWER= option. The rate is calculated as learningRate *(1 +γ* currentEpoch)^power\",\"type\":\"standalone\"},{\"name\":\"MULTISTEP\",\"description\":\"sets the learning rate after each of the epochs that you specify in the STEPS= option. The updated learning rate is the product of the previous learning rate value and the GAMMA= option value.\",\"type\":\"standalone\"},{\"name\":\"POLY\",\"description\":\"sets the learning rate option value after each epoch, according to the initial learning rate, the maximum number of epochs, and the value of the POWER= option. The rate is calculated as learningRate *(1 +γ* currentEpoch)^power\",\"type\":\"standalone\"},{\"name\":\"STEP\",\"description\":\"sets the learning rate option by multiplying the current learning rate option value by the GAMMA= option value. The number of steps is specified in the STEPSIZE= option. The configured learning rate is recalculated for each group of epochs, according to the step size\",\"type\":\"standalone\"}]},{\"name\":\"NOUSELOCKING\",\"description\":\"computes gradients asynchronously with multiple threads.\",\"type\":\"standalone\"},{\"name\":\"POWER=\",\"description\":\"specifies the power for the learning rate policy. The number must be nonnegative. By default, POWER=0.75.\",\"help\":\"POWER=*number*\",\"type\":\"value\"},{\"name\":\"STEPS=\",\"description\":\"specifies a list of epoch counts. When the current epoch matches one of the specified steps, the learning rate is multiplied by the value of the GAMMA= option. For example, if you specify STEPS=(5 9 13), then the learning rate is multiplied by the GAMMA= option value after the 5th, 9th, and 13th epochs.\",\"help\":\"STEPS=(*numberic-list*)\",\"type\":\"value\"},{\"name\":\"STEPSIZE=\",\"description\":\"specifies the step size (a value greater than or equal to 1) when the learning rate policy is set to STEP. By default, STEPSIZE=10.\",\"help\":\"STEPSIZE=*number*\",\"type\":\"value\"}]},{\"name\":\"COMPRESSION=\",\"description\":\"makes communication between workers more sparse for faster training by using gradient sparsification, a distributed training technique that makes stochastic gradients more sparse to reduce communication costs.\",\"help\":\"COMPRESSION=(*compression-options*)\",\"type\":\"value\",\"arguments\":[{\"name\":\"LOCALMOMENTUM=\",\"description\":\"etermines the strength of aggregation on the masked gradient elements when compression is used. The number must be in the range [0.1]. By default, LOCALMOMENTUM=0.95.\",\"help\":\"LOCALMOMENTUM=*number*\",\"type\":\"value\"},{\"name\":\"SAMPLERATIO=\",\"description\":\"determines the number of samples for gradients in each layer. The number must be in the range [10^-5,0.2], By default, SAMPLERATIO=0.05.\",\"help\":\"SAMPLERATIO=*number*\",\"type\":\"value\"},{\"name\":\"SPARSITYRATIO=\",\"description\":\"determines the number of samples for gradients in each layer. The number must be in the range [0, 1]. By default, SPARSITYRATIO=0.75.\",\"help\":\"SPARSITYRATIO=*number*\",\"type\":\"value\"}]},{\"name\":\"DROPOUT=\",\"description\":\"specifies the probability that the output of a neuron in a fully connected layer will be set to 0 during training. This probability is recalculated each time an observation is processed. The number must be in the range [0; 1). By default, DROPOUT=0.\",\"help\":\"DROPOUT=*number*\",\"type\":\"value\"},{\"name\":\"DROPOUTINPUT=\",\"description\":\"specifies the probability that an input variable will be set to 0 during training. This probability is recalculated each time an observation is processed. The number must be in the range[0; 1). By default, DROPOUTINPUT=0\",\"help\":\"DROPOUTINPUT=*number*\",\"type\":\"value\"},{\"name\":\"DROPOUTTYPE=\",\"description\":\"specifies what type of dropout to use. By default, DROPOUTTYPE=STANDARD.\",\"type\":\"value\",\"arguments\":[{\"name\":\"INVERTED\",\"description\":\"uses the inverted dropout, in which activations of some neurons are set to 0 and the remaining activations are scaled.\",\"type\":\"standalone\"},{\"name\":\"STANDARD\",\"description\":\"uses the standard dropout, in which activations of some neurons are set to 0 and the remaining activations are not scaled.\",\"type\":\"standalone\"}]},{\"name\":\"FCONV=\",\"description\":\"specifies the relative function convergence criterion. If the relative loss error, abs[(previous_loss-current_loss)/previous_loss], does not result in a change in the objective function, the optimization stops. The number must be greater than or equal to 0. By default, FCONV=0, and the relative function convergence is not checked.\",\"help\":\"FCONV=*number*\",\"type\":\"value\"},{\"name\":\"FREEZEBATCHNORMSTATS\",\"description\":\"freezes statistics of all batch normalization layers.\",\"help\":\"FREEZEBATCHNORMSTATS \",\"type\":\"standalone\"},{\"name\":\"FREEZEBNSTATS\",\"description\":\"freezes statistics of all batch normalization layers.\",\"type\":\"standalone\"},{\"name\":\"IGNORETRAININGERROR\",\"description\":\"continues model training without interruption by ignoring the issue of training data observations containing invalid or missing variable data. If you omit this option, training stops and PROC DEEPPRICE terminates when bad input data are found.\",\"type\":\"standalone\"},{\"name\":\"MAXEPOCHS=\",\"description\":\"specifies the maximum number of epochs. The number must be greater than or equal to 1. By default, MAXEPOCHS=1. For SGD with a single-machine server, or for a session that uses one worker on a distributed server, one epoch is reached when the optimizer passes through the data one time. For a session that uses more than one worker, one epoch is reached when all the workers exchange the weights with the controller one time. The SYNCFREQ= option specifies the number of times that each worker passes through the data before exchanging weights with the controller. For the L-BFGS optimization algorithm with a full batch, each iteration might process more than one epoch, and the final number of epochs might exceed the parameter value for the maximum number of epochs.\",\"help\":\"MAXEPOCHS=*number*\",\"type\":\"value\"},{\"name\":\"MINIBATCHBUFSIZE=\",\"description\":\"specifies the number of observations to buffer in memory (including input data and intermediate calculations) before processing the remaining records in the minibatch. The number must be greater than or equal to 1 and must be smaller than the number that you specify for the MINIBATCHSIZE= option. The MINIBATCHBUFSIZE= option setting is ignored when GPUs are used.\",\"help\":\"MINIBATCHBUFSIZE=*number*\",\"type\":\"value\"},{\"name\":\"MINIBATCHSIZE=\",\"description\":\"specifies the number of observations per thread in a minibatch. The parameter controls the number of observations that are used per worker in each thread to compute the gradient, prior to updating the weights. Larger values use more memory. The number is greater than or equal to 1. By default, MINIBATCHSIZE=1. When you use synchronous SGD (the default), the total minibatch size is calculated as miniBatchSize * number of threads * number of workers. When you use asynchronous SGD by specifying the ELASTICSYNCFREQ= option, each worker trains its own local model. In this case, the total minibatch size for each worker is calculated as miniBatchSize * number of threads. You can specify values s for either the MINIBATCHSIZE= or TOTALMINIBATCHSIZE= option, but not for both.\",\"help\":\"MINIBATCHSIZE=*number*\",\"type\":\"value\"},{\"name\":\"MODE=\",\"description\":\"specifies the optimization mode and the corresponding options.By default, MODE=SYNCHRONOUS.\",\"help\":\"MODE=*optimization-mode*\",\"type\":\"value\",\"arguments\":[{\"name\":\"DOWNPOUR\",\"description\":\"specifies the downpour optimization mode.\",\"type\":\"standalone\"},{\"name\":\"ELASTIC\",\"description\":\"specifies the elastic optimization mode\",\"help\":\"ELASTIC&lt;(*elastic-options*)&gt;\",\"type\":\"value\",\"arguments\":[{\"name\":\"ALPHA=\",\"description\":\"specifies the significance level (a value between 0 and 1, inclusive) that is used for elastic SGD. By default, ALPHA=0.\",\"help\":\"ALPHA=*number*\",\"type\":\"value\"},{\"name\":\"ELASTICALPHA=\",\"description\":\"specifies the significance level (a value between 0 and 1, inclusive) that is used for elastic SGD. By default, ALPHA=0.\",\"help\":\"ELASTICALPHA=*number*\",\"type\":\"value\"},{\"name\":\"ELASTICSYNCFREQ=\",\"description\":\"and controller for exchanging weights. You can exchange the weights more often than once each epoch by specifying a number that is less than the number of batches in an epoch. If the number is greater than the number of batches in an epoch, then the weights are exchanged once each epoch. By default, ELASTICSYNCFREQ=0.\",\"help\":\"ELASTICSYNCFREQ=*number*\",\"type\":\"value\"},{\"name\":\"SYNCFREQ=\",\"description\":\"and controller for exchanging weights. You can exchange the weights more often than once each epoch by specifying a number that is less than the number of batches in an epoch. If the number is greater than the number of batches in an epoch, then the weights are exchanged once each epoch. By default, ELASTICSYNCFREQ=0.\",\"help\":\"SYNCFREQ=*number*\",\"type\":\"value\"},{\"name\":\"SYNCHRONOUS\",\"description\":\"specifies the synchronous optimization mode. The SYNCFREQ= option, which is not required, specifies the synchronization frequency for SGD in terms of epochs. By default, SYNCFREQ=1\",\"help\":\"SYNCHRONOUS&lt;(SYNCFREQ=*number*)&gt;\",\"type\":\"standaloneOrValue\"}]}]},{\"name\":\"NOBNSRCLAYERWARNINGS\",\"description\":\"suppresses the warning if the batch normalization source layer has an atypical type or activation setting.\",\"help\":\"NOBNSRCLAYERWARNINGS \",\"type\":\"standalone\"},{\"name\":\"REGL1=\",\"description\":\"specifies the weight for the L2 regularization term. The number must be greater than or equal to 0. By default, REGL2=0. At the default setting, PROC DEEPPRICE does not perform L2 regularization. Initial L2 weight values should be small (such as 1E–3). You can combine L2 regularization with L1 regularization.\",\"help\":\"REGL1=*number*\",\"type\":\"value\"},{\"name\":\"REGL2=\",\"description\":\"specifies the weight for the L1 regularization term. The number must be greater than or equal to 0. By default, REGL1=0. At the default setting, PROC DEEPPRICE does not perform L1 regularization. Initial L1 weight values should be small (such as 1E–3). You can combine L1 regularization with L2 regularization.\",\"help\":\"REGL2=*number*\",\"type\":\"value\"},{\"name\":\"SEED=\",\"description\":\"specifies the random number seed value for the random number generator in the L-BFGS optimization algorithm. Seed values less than or equal to 0 generate random number streams by using the time of day from the computer’s clock. Seed values greater than 0 generate reproducible random number sequences. By default, SEED=0.\",\"help\":\"SEED=*number*\",\"type\":\"value\"},{\"name\":\"SNAPSHOTFREQ=\",\"description\":\"specifies the frequency for generating snapshots of the neural weights and storing the weights in a weight table during the training process. When you specify asynchronous SGD by specifying the ELASTICSYNCFREQ= option, PROC DEEPPRICE synchronizes all the weights before writing out the weights. The number must be greater than or equal to 0. By default, SNAPSHOTFREQ=0.\",\"help\":\"SNAPSHOTFREQ=*number*\",\"type\":\"value\"},{\"name\":\"STAGNATION=\",\"description\":\"specifies the number of iterations to complete without improvement before stopping the optimization early. The number must be greater than or equal to 0. By default, STAGNATION=0; this turns off the stagnation monitoring.\",\"help\":\"STAGNATION=*number*\",\"type\":\"value\"},{\"name\":\"THRESHOLD=\",\"description\":\"specifies the threshold that is used to determine whether the loss error or validation scores are improving or stagnating across iterations. The iteration does not improve when the magnitude of the score change between successive iterations is less than or equal to the absolute value of current_score * threshold value. When an iteration does not improve, the stagnation counter increments. Otherwise, the stagnation counter is set to 0. The number must be greater than or equal to 0. By default, THRESHOLD=10^-8\",\"help\":\"THRESHOLD=*number*\",\"type\":\"value\"},{\"name\":\"TOTALMINIBATCHSIZE=\",\"description\":\"specifies the number of observations in a minibatch.You can use these options to control the number of observations that the DNN uses to compute the gradient prior to updating the weights. Larger values use more memory. If the specified size cannot be evenly divided by the number of threads (if you are using asynchronous SGD) or by the number of threads * number of workers (if you are using synchronous SGD), then PROC DEEPPRICE terminates with an error unless you specify the ROUND option. In that case, the total minibatch size is rounded up so that it is evenly divided. You can specify values for either the MINIBATCHSIZE= or TOTALMINIBATCHSIZE= option, but not for both.\",\"help\":\"TOTALMINIBATCHSIZE=(*totalminibatchsize-options*)\",\"type\":\"value\",\"arguments\":[{\"name\":\"NONOTIFY\",\"description\":\"suppresses the message that is printed if the total minibatch size is rounded up.\",\"type\":\"standalone\"},{\"name\":\"ROUND\",\"description\":\"rounds up the total minibatch size.\",\"type\":\"standalone\",\"arguments\":[{\"name\":\"SIZE=\",\"description\":\"specifies the number of observations in a minibatch. The computation for the total minibatch size is nWorkers * miniBatchSize * nThreads. For example, a two-worker scenario with a minibatch size of 10 and 32 threads per worker has a total minibatch size of 2*32*10 = 640 records.\",\"help\":\"SIZE=*number*\",\"type\":\"value\"},{\"name\":\"N=\",\"description\":\"specifies the number of observations in a minibatch. The computation for the total minibatch size is nWorkers * miniBatchSize * nThreads. For example, a two-worker scenario with a minibatch size of 10 and 32 threads per worker has a total minibatch size of 2*32*10 = 640 records.\",\"help\":\"N=*number*\",\"type\":\"value\"}]}]}]},{\"name\":\"RECORDSEED=\",\"description\":\"specifies the random number seed for random record selection within a worker. Records are read in the order in which they are written in memory. Seed values that are less than or equal to 0 generate random number streams by using the time of day from the computer’s clock. Seed values greater than 0 generate reproducible random number sequences. By default, RECORDSEED=0; this disables random record selection.\",\"help\":\"RECORDSEED=*number*\",\"type\":\"value\"},{\"name\":\"SEED=\",\"description\":\"specifies the random number seed value for the random number generator in SGD. Seed values that are less than or equal to 0 generate random number streams by using the time of day from the computer’s clock. Seed values greater than 0 generate reproducible random number sequences. By default, SEED=0.\",\"help\":\"SEED=*number*\",\"type\":\"value\"},{\"name\":\"TARGETMISSING=\",\"description\":\"specifies the policy to use for replacing missing outcome variables with imputed values. By default, TARGETMISSING=MEAN. The TARGETMISSING= option is for DNN training only. In the inference that is performed later, observations that have missing outcome variables have missing values for residuals and for any estimates that need residuals.\",\"help\":\"TARGETMISSING=*MAX | MEAN | MIN | NONE*\",\"type\":\"value\",\"arguments\":[{\"name\":\"MAX\",\"description\":\"replaces missing values with the maximum.\",\"type\":\"standalone\"},{\"name\":\"MEAN\",\"description\":\"replaces missing values with the mean value.\",\"type\":\"standalone\"},{\"name\":\"MIN\",\"description\":\"replaces missing values with the minimum.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"ignores observations that have missing target variables.\",\"type\":\"standalone\"}]}]}]},{\"name\":\"ID\",\"description\":\"The ID statement specifies the ID variable in the data set. The variable must have a unique value for each row in the input data table. If it does not, PROC DEEPPRICE issues an error.\",\"help\":\"ID  *variable;*\"},{\"name\":\"INFER\",\"description\":\"The INFER statement specifies the parameters for inference.\",\"help\":\"INFER  options;\",\"arguments\":[{\"name\":\"OUT=\",\"optional\":true,\"description\":\"writes the estimation of the parameters of interest and the policy evaluation and policy comparison results to the specified output data table. libref.data-table is a two-level name, where libref refers to the library, and data-table specifies the name of the output data table.\",\"help\":\"OUT=*libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"OUTTEST=\",\"optional\":true,\"description\":\"writes the estimation of the parameters of interest and the policy evaluation and policy comparison results to the specified output data table. libref.data-table is a two-level name, where libref refers to the library, and data-table specifies the name of the output data table.\",\"help\":\"OUTTEST=*libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"OUTDETAILS=\",\"optional\":true,\"description\":\"writes the details of the estimation, includingα(⋅),β(⋅), p(⋅), the residual, and the influence functions for each unit, to the specified output data table. libref.data-table is a two-level name, where libref refers to the library, and data-table specifies the name of the output data table.\",\"help\":\"OUTDETAILS= *libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"POLICY=\",\"optional\":true,\"description\":\"specifies the list of policy variables to be evaluated. All symbol names that the user specifies in the policy-variable-list must correspond to the policy variables; the symbol names are separated by spaces.\",\"help\":\"POLICY=( *policy-variable-list*)\",\"type\":\"value\"},{\"name\":\"POLICYCOMPARISON=\",\"optional\":true,\"description\":\"specifies the options for policy comparison.\",\"help\":\"POLICYCOMPARISON=(*comparison-options*)\",\"type\":\"value\",\"arguments\":[{\"name\":\"BASE=\",\"description\":\"specifies a list of policy variables, each of which is used as a base policy in the policy comparison. All symbol names that the user specifies in the base-list must correspond to the policy variables; the symbol names are separated by spaces.\",\"help\":\"BASE=(*base-list*)\",\"type\":\"value\"},{\"name\":\"COMPARE=\",\"description\":\"specifies a list of policy variables, each of which is compared to each base policy that you specify in the BASE= option. All symbol names that the user specifies in the compare-list must correspond to the policy variables; the symbol names are separated by spaces.\",\"help\":\"COMPARE=(*compare-list*)\",\"type\":\"value\"}]}]},{\"name\":\"INSTRUMENT\",\"description\":\"The INSTRUMENT statement specifies the instrumental variable in the data table. The variable must be numeric in the input data table.The instrumental variable cannot be the same as any of the following: the ID variable that you specify in the ID statement; the treatment variables or covariates that you specify in the TREATMENT statement; or the outcome variable or covariates that you specify in the MODEL statement.When you are scoring by using the INT=, INETA0=, or INETA1= option in the SCORE statement for a treatment model that contains the instrumental variable, you must specify the INSTRUMENT statement in exactly same way (by using the same instrumental variable name) that you specify the INSTRUMENT statement used in the previous call of PROC DEEPPRICE that generates the corresponding OUTT=, OUTETA0=, or OUTETA1= table.\",\"help\":\"INSTRUMENT *variable;*\"},{\"name\":\"MODEL\",\"description\":\"The MODEL statement specifies options that are related to the outcome model and the DNN to fit the outcome model. The outcome-variable specifies the outcome variable of the outcome model. The covariates specify the covariates of the outcome model. If you omit the covariates, no DNN is trained for the outcome model.Covariate names must be separated by spaces. The treatment variable is automatically included in the outcome model as an independent variable.\",\"help\":\"MODEL *outcome-variable &lt; =covariates&gt; &lt; /options &gt; ;*\",\"arguments\":[{\"name\":\"DNN=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the options of the DNN for the outcome model. If you omit the DNN= option and specify the DNN statement, the DNN for the outcome model has the options that you specify in the DNN statement. If you omit both the DNN= option and the DNN statement, the DNN for the outcome model uses the default option values. If you specify both the DNN= option and the DNN statement, the DNN statement is ignored for the outcome model. For the dnn-options, you can specify one or more options that are listed in the section “DNN Statement”. If no covariates are specified in the MODEL statement, the DNN= option is ignored.\",\"help\":\"DNN=(*dnn-options*)\",\"type\":\"value\"}]},{\"name\":\"SCORE\",\"description\":\"The SCORE statement specifies options that are related to scoring data.\",\"help\":\"SCORE  options;\",\"arguments\":[{\"name\":\"INA=\",\"optional\":true,\"description\":\"specifies the input data table that contains information about α(⋅) estimation. The data table must be an output data table that the OUTA= option produces in a previous call of PROC DEEPPRICE. When you specify the INA= option, you must also specify the INB= option, and the MODEL statement and the OUTA=, OUTB=, and OUTO= options in the SCORE statement are ignored. libref.data-table is a two-level name, where libref refers to the library, and data-table specifies the name of the input data table.\",\"help\":\"INA=*libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"INALPHA=\",\"optional\":true,\"description\":\"specifies the input data table that contains information about α(⋅) estimation. The data table must be an output data table that the OUTA= option produces in a previous call of PROC DEEPPRICE. When you specify the INA= option, you must also specify the INB= option, and the MODEL statement and the OUTA=, OUTB=, and OUTO= options in the SCORE statement are ignored. libref.data-table is a two-level name, where libref refers to the library, and data-table specifies the name of the input data table.\",\"help\":\"INALPHA=*libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"INB=\",\"optional\":true,\"description\":\"specifies the input data table that contains information about β(⋅) estimation. The data table must be an output data table that the OUTB= option produces in a previous call of PROC DEEPPRICE. When you specify the INB= option, you must also specify the INA= option, and the MODEL statement and the OUTA=, OUTB=, and OUTO= options in the SCORE statement are ignored.libref.data-table is a two-level name, where libref refers to the library, and data-table specifies the name of the input data table.\",\"help\":\"INB=*libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"INBETA=\",\"optional\":true,\"description\":\"specifies the input data table that contains information about β(⋅) estimation. The data table must be an output data table that the OUTB= option produces in a previous call of PROC DEEPPRICE. When you specify the INB= option, you must also specify the INA= option, and the MODEL statement and the OUTA=, OUTB=, and OUTO= options in the SCORE statement are ignored.libref.data-table is a two-level name, where libref refers to the library, and data-table specifies the name of the input data table.\",\"help\":\"INBETA=*libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"INETA0=\",\"optional\":true,\"description\":\"specifies the input data table that contains information about η₀(⋅) estimation. If you omit the INSTRUMENT statement, this option is ignored. The data table must be an output data table that the OUTETA0= option produces in a previous call of PROC DEEPPRICE. When you specify the INETA0= option, you must also specify the INETA1= option, and the TMODEL statement and the OUTETA0=, OUTETA1=, and OUTT= options in the SCORE statement are ignored.libref.data-table is a two-level name, where libref refers to the library, and data-table specifies the name of the input data table.\",\"help\":\"INETA0=*libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"INETA1=\",\"optional\":true,\"description\":\"specifies the input data table that contains information about η₁(⋅) estimation. If you omit the INSTRUMENT statement, this option is ignored. The data table must be an output data table that the OUTETA1= option produces in a previous call of PROC DEEPPRICE. When you specify the INETA1= option, you must also specify the INETA1= option, and the TMODEL statement and the OUTETA0=, OUTETA1=, and OUTT= options in the SCORE statement are ignored.libref.data-table is a two-level name, where libref refers to the library, and data-table specifies the name of the input data table.\",\"help\":\"INETA1=*libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"INO=\",\"optional\":true,\"description\":\"specifies the input data table that contains information about the outcome model. The data table must be an output data table that the OUTO= option produces in a previous call of PROC DEEPPRICE. When you specify the INO= option, the MODEL statement and the INA=, INB=, OUTA=, OUTB=, and OUTO= options in the SCORE statement are ignored.libref.data-table is a two-level name, where libref refers to the library, and data-table specifies the name of the input data table.\",\"help\":\"INO=*libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"INOUTCOME=\",\"optional\":true,\"description\":\"specifies the input data table that contains information about the outcome model. The data table must be an output data table that the OUTO= option produces in a previous call of PROC DEEPPRICE. When you specify the INO= option, the MODEL statement and the INA=, INB=, OUTA=, OUTB=, and OUTO= options in the SCORE statement are ignored.libref.data-table is a two-level name, where libref refers to the library, and data-table specifies the name of the input data table.\",\"help\":\"INOUTCOME=*libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"INT=\",\"optional\":true,\"description\":\"specifies the input data table that contains information about the treatment model. The data table must be an output data table that the OUTT= option produces in a previous call of PROC DEEPPRICE. When you specify the INT= option, the TMODEL statement and the OUTT= option in the SCORE statement are ignored.libref.data-table is a two-level name, where libref refers to the library, and data-table specifies the name of the input data table.\",\"help\":\"INT=*libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"INPROPENSITYSCORE=\",\"optional\":true,\"description\":\"specifies the input data table that contains information about the treatment model. The data table must be an output data table that the OUTT= option produces in a previous call of PROC DEEPPRICE. When you specify the INT= option, the TMODEL statement and the OUTT= option in the SCORE statement are ignored.libref.data-table is a two-level name, where libref refers to the library, and data-table specifies the name of the input data table.\",\"help\":\"INPROPENSITYSCORE=*libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"OUTA=\",\"optional\":true,\"description\":\"writes the α(⋅) estimation information to the specified output data table. The output data table consists of binary large object (BLOB) columns to store the binary data. Do not edit the content of this output data table. If you run the PRINT procedure on this data table, you get a row of zeros or meaningless characters, because the data type of each column is binary. libref.data-table is a two-level name, where libref refers to the library, and data-table specifies the name of the output data table.\",\"help\":\"OUTA=*libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"OUTALPHA=\",\"optional\":true,\"description\":\"writes the α(⋅) estimation information to the specified output data table. The output data table consists of binary large object (BLOB) columns to store the binary data. Do not edit the content of this output data table. If you run the PRINT procedure on this data table, you get a row of zeros or meaningless characters, because the data type of each column is binary. libref.data-table is a two-level name, where libref refers to the library, and data-table specifies the name of the output data table.\",\"help\":\"OUTALPHA=*libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"OUTB=\",\"optional\":true,\"description\":\"writes the β(⋅) estimation information to the specified output data table. The output data table consists of binary large object (BLOB) columns to store the binary data. Do not edit the content of this output data table. If you run the PRINT procedure on this data table, you get a row of zeros or meaningless characters, because the data type of each column is binary.libref.data-table is a two-level name, where libref refers to the library, and data-table specifies the name of the output data table.\",\"help\":\"OUTB=*libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"OUTBETA=\",\"optional\":true,\"description\":\"writes the β(⋅) estimation information to the specified output data table. The output data table consists of binary large object (BLOB) columns to store the binary data. Do not edit the content of this output data table. If you run the PRINT procedure on this data table, you get a row of zeros or meaningless characters, because the data type of each column is binary.libref.data-table is a two-level name, where libref refers to the library, and data-table specifies the name of the output data table.\",\"help\":\"OUTBETA=*libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"OUTETA0=\",\"optional\":true,\"description\":\"writes the η₀(⋅) estimation information to the specified output data table. The output data table consists of binary large object (BLOB) columns to store the binary data. Do not edit the content of this output data table. If you run the PRINT procedure on this data table, you get a row of zeros or meaningless characters, because the data type of each column is binary.libref.data-table is a two-level name, where libref refers to the library, and data-table specifies the name of the output data table.\",\"help\":\"OUTETA0=*libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"OUTETA1=\",\"optional\":true,\"description\":\"writes the η₁(⋅) estimation information to the specified output data table. The output data table consists of binary large object (BLOB) columns to store the binary data. Do not edit the content of this output data table. If you run the PRINT procedure on this data table, you get a row of zeros or meaningless characters, because the data type of each column is binary.libref.data-table is a two-level name, where libref refers to the library, and data-table specifies the name of the output data table.\",\"help\":\"OUTETA1=*libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"OUTO=\",\"optional\":true,\"description\":\"writes the outcome model information to the specified output data table. The output data table consists of binary large object (BLOB) columns to store the binary data. Do not edit the content of this output data table. If you run the PRINT procedure on this data table, you get a row of zeros or meaningless characters, because the data type of each column is binary.libref.data-table is a two-level name, where libref refers to the library, and data-table specifies the name of the output data table.\",\"help\":\"OUTO=*libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"OUTOUTCOME=\",\"optional\":true,\"description\":\"writes the outcome model information to the specified output data table. The output data table consists of binary large object (BLOB) columns to store the binary data. Do not edit the content of this output data table. If you run the PRINT procedure on this data table, you get a row of zeros or meaningless characters, because the data type of each column is binary.libref.data-table is a two-level name, where libref refers to the library, and data-table specifies the name of the output data table.\",\"help\":\"OUTOUTCOME=*libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"OUTT=\",\"optional\":true,\"description\":\"writes the treatment model information to the specified output data table. The output data table consists of binary large object (BLOB) columns to store the binary data. Do not edit the content of this output data table. If you run the PRINT procedure on this data table, you get a row of zeros or meaningless characters, because the data type of each column is binary.libref.data-table is a two-level name, where libref refers to the library, and data-table specifies the name of the output data table.\",\"help\":\"OUTT=*libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"OUTPROPENSITYSCORE=\",\"optional\":true,\"description\":\"writes the treatment model information to the specified output data table. The output data table consists of binary large object (BLOB) columns to store the binary data. Do not edit the content of this output data table. If you run the PRINT procedure on this data table, you get a row of zeros or meaningless characters, because the data type of each column is binary.libref.data-table is a two-level name, where libref refers to the library, and data-table specifies the name of the output data table.\",\"help\":\"OUTPROPENSITYSCORE=*libref.data-table*\",\"type\":\"dataSet\"}]},{\"name\":\"TMODEL\",\"description\":\"The TMODEL statement specifies options that are related to the treatment model and the DNN that is used to fit the treatment model. The treatment-variable specifies the treatment variable of the treatment model. It corresponds to one numeric variable in the input data table. The covariates specify the covariates of the treatment model. All covariate names are separated by spaces. If you omit the covariates and also omit the INSTRUMENT statement, no DNN is trained for the treatment model.\",\"help\":\"TMODEL *treatment-variable &lt; =covariates &gt; &lt; /options &gt;  ;*\",\"arguments\":[{\"name\":\"DNN=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the options of the DNN that is used to fit the treatment model. If you omit the DNN= option and specify the DNN statement, the DNN for the treatment model has the options that you specify in the DNN statement. If you omit both the DNN= option and the DNN statement, the DNN for the treatment model uses the default option values. If you specify both the DNN= option and the DNN statement, the DNN statement is ignored for the treatment model.For the dnn-options, you can specify one or more options that are listed in the section “DNN Statement\\\".If no covariates are specified in the TMODEL statement, the DNN= option is ignored.\",\"help\":\"DNN=(*dnn-options*)\",\"type\":\"value\"}]}],\"supportSiteInformation\":{\"docsetId\":\"casecon\",\"docsetVersion\":\"latest\",\"docsetTargetFile\":\"casecon_deepprice_toc.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/DELETE.json",
    "content": "{\"name\":\"DELETE\",\"statements\":[{\"name\":\"PROC DELETE\",\"description\":\"Deletes SAS files from SAS libraries.\",\"help\":\"PROC DELETE  DATA=*SAS-file(s)* &lt;*options*&gt;;\",\"arguments\":[{\"name\":\"DATA=\",\"description\":\"specifies one or more SAS files that you want to delete.\",\"help\":\"DATA= *SAS-file(s)*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n07peoefoh5wron164xe3agbphvb\"},{\"name\":\"ALTER=\",\"optional\":true,\"description\":\"provides the Alter password for any alter-protected SAS files.\",\"help\":\"ALTER=*alter-password*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1116lmfnfxuekn1ma6tegx8t419\"},{\"name\":\"ENCRYPTKEY=\",\"optional\":true,\"description\":\"The ENCRYPTKEY= option unlocks the data sets that are protected by an AES-encrypted key value.\",\"help\":\"ENCRYPTKEY=*key-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p185t7hozzxtzhn1stuw0x7nvpd9\"},{\"name\":\"GENNUM=\",\"optional\":true,\"description\":\"restricts processing for generation data sets.\",\"help\":\"GENNUM=ALL | HIST | REVERT | *integer*\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ALL\",\"type\":\"standalone\"},{\"name\":\"HIST\",\"type\":\"standalone\"},{\"name\":\"REVERT\",\"type\":\"standalone\"},{\"name\":\"integer\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p0arlbkywggb1sn13hx257r1vhnj\"},{\"name\":\"LIBRARY=\",\"optional\":true,\"aliases\":[\"LIB=\"],\"description\":\"specifies the SAS library that contains members to be deleted.\",\"help\":\"LIBRARY=*libref*\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"n128ymednqoci4n1oiu7ult8xp9a\"},{\"name\":\"MEMTYPE=\",\"optional\":true,\"aliases\":[\"MTYPE=\",\"MT=\"],\"description\":\"restricts deletion to a certain type of SAS file.\",\"help\":\"MEMTYPE=(*member-type(s)*)\",\"type\":\"value\",\"arguments\":[{\"name\":\"ACCESS\",\"description\":\"access descriptor files (created by SAS/ACCESS software)\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p06gitr4ufq6ybn1ppmpjsfo52u6\"},{\"name\":\"CATALOG\",\"description\":\"SAS catalogs\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1pq72q3x8pwcjn1jmzysm4zwt6h\"},{\"name\":\"DATA\",\"description\":\"SAS data files\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0kninxds6cjr7n15gbtb1sywyyn\"},{\"name\":\"FDB\",\"description\":\"financial database\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p08jr7es634ncgn1mb5ngyvrnr7v\"},{\"name\":\"MDDB\",\"description\":\"multidimensional database\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1d9aaxft824k1n1qs8bdwjwlp55\"},{\"name\":\"PROGRAM\",\"description\":\"stored compiled SAS programs\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n07pfh3suc7n50n1sjlkqtoxn729\"},{\"name\":\"VIEW\",\"description\":\"SAS views\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n08imv48bjzfnrn10jo7e13ixw79\"}],\"supportSiteTargetFragment\":\"p0kmjje19dnlapn1167qrd9a8ddc\"}],\"supportSiteTargetFile\":\"n1469bsvzgd33jn0z4xecxmx2bgo.htm\"}],\"supportSiteInformation\":{\"docsetId\":\"proc\",\"docsetVersion\":\"v_002\",\"docsetTargetFile\":\"n0g4dpgdbjck3hn15hok6h8hk7n4.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/DFIL.json",
    "content": "{\"name\":\"DFIL\",\"statements\":[{\"name\":\"PROC DFIL\",\"description\":\"invokes the procedure\",\"help\":\"PROC DFIL <options>;                 \\n\\tBANDPASS  LOWER=number UPPER=number ORDER=number<options></ ftype>;                 \\n\\n\\tBANDSTOP  LOWER=number UPPER=number ORDER=number<options></ ftype>;                 \\n\\n\\tHIGHPASS  LOWER=number ORDER=number<options></ ftype>;                 \\n\\n\\tLOWPASS  UPPER=number ORDER=number<options></ ftype>;                 \\n\",\"arguments\":[{\"name\":\"NOPRINT\",\"optional\":true,\"description\":\"suppresses the generation of ODS outputs\",\"type\":\"standalone\"}]},{\"name\":\"BANDPASS\",\"description\":\"specifies the parameters for designing a bandpass digital filter\",\"help\":\"BANDPASS  LOWER=*number* UPPER=*number* ORDER=*number*&lt;options&gt;&lt;/ ftype&gt;;                                              BANDPASS  ESTIMATE=(*suboptions*) &lt;options&gt;&lt;/ ftype&gt;\",\"arguments\":[{\"name\":\"ORDER=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the order of the digital filter, where number is a positive integer scalar\",\"help\":\"ORDER=*number*\",\"type\":\"value\"},{\"name\":\"LOWER=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the lower cutoff frequency {c1} of the bandpass filter, where number is between 0 and 1, with 1 corresponding to the normalized Nyquist frequency (π rad/sample)\",\"help\":\"LOWER=*number*\",\"type\":\"value\"},{\"name\":\"UPPER=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the upper cutoff frequency {c2} of the bandpass filter, where number is between 0 and 1, with 1 corresponding to the normalized Nyquist frequency (π rad/sample)\",\"help\":\"UPPER=*number*\",\"type\":\"value\"},{\"name\":\"ESTIMATE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the parameters to use to estimate the minimum required order to meet the filter design specifications and to calculate the lower and upper cutoff frequencies of the filter\",\"help\":\"ESTIMATE=(PASS1=*number* PASS2=*number* STOP1=*number* STOP2=*number* RP=*number* RS=*number*)\",\"type\":\"value\",\"arguments\":[{\"name\":\"PASS1=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the lower passband edge frequency of the bandpass filter {p1}, where number is between 0 and 1, with 1 corresponding to the normalized Nyquist frequency (π rad/sample)\",\"help\":\"PASS1=*number*\",\"type\":\"value\"},{\"name\":\"PASS2=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the upper passband edge frequency of the bandpass filter {p2}, where number is between 0 and 1, with 1 corresponding to the normalized Nyquist frequency (π rad/sample)\",\"help\":\"PASS2=*number*\",\"type\":\"value\"},{\"name\":\"STOP1=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the lower stopband edge frequency of the bandpass filter {s1}, where number is between 0 and 1, with 1 corresponding to the normalized Nyquist frequency (π rad/sample)\",\"help\":\"STOP1=*number*\",\"type\":\"value\"},{\"name\":\"STOP2=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the upper stopband edge frequency of the bandpass filter {s2}, where number is between 0 and 1, with 1 corresponding to the normalized Nyquist frequency (π rad/sample)\",\"help\":\"STOP2=*number*\",\"type\":\"value\"},{\"name\":\"RP=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the passband ripple, which is expressed in decibels (dB), where number is a positive scalar\",\"help\":\"RP=*number*\",\"type\":\"value\"},{\"name\":\"RS=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the stopband attenuation, which is expressed in decibels (dB), where number is a positive scalar\",\"help\":\"RS=*number*\",\"type\":\"value\"}]},{\"name\":\"CODE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"generates SAS DATA step code that mimics the computations that are done by using the designed digital filter to filter any input data\",\"help\":\"CODE=(FILE=*filename* IVAR=*(input-variable-list)* SVAR=*(output-variable-list)*)\",\"type\":\"value\",\"arguments\":[{\"name\":\"FILE=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the filename of the file to write the SAS DATA step code to, where filename can be a quoted string that contains the path of the file in which to store the code or a fileref that refers to an external file in which to save code\",\"help\":\"FILE=*filename*\",\"type\":\"value\"},{\"name\":\"IVAR=\",\"followsDelimiter\":\"/\",\"description\":\"specifies a list of input variables, each of which contains a vector of data to be filtered by the designed digital filter\",\"help\":\"IVAR=*(input-variable-list)*\",\"type\":\"value\"},{\"name\":\"SVAR=\",\"followsDelimiter\":\"/\",\"description\":\"specifies a list of output variables, each of which contains a filtered output data vector\",\"help\":\"SVAR=*(output-variable-list)*\",\"type\":\"value\"}]},{\"name\":\"SAVESTATE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"creates an analytic store for the designed digital filter and saves it as a binary object in a data table\",\"help\":\"SAVESTATE=(RSTORE=*CAS-libref.data-table* IVAR=*input-variable* SVAR=*output-variable*)\",\"type\":\"dataSet\",\"arguments\":[{\"name\":\"RSTORE=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the name of the table in which to save the analytic store of the designed filter\",\"help\":\"RSTORE=*CAS-libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"IVAR=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the input variable, which contains a vector of data to be filtered by the designed digital filter\",\"help\":\"IVAR=*input-variable*\",\"type\":\"value\"},{\"name\":\"SVAR=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the output variable, which contains a filtered output data vector\",\"help\":\"SVAR=*output-variable*\",\"type\":\"value\"}]},{\"name\":\"DBT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the magnitude threshold, which is expressed in decibels (dB), of the frequency response to display in the frequency response plot, where number is a positive scalar\",\"help\":\"DBT=*number*\",\"type\":\"value\"},{\"name\":\"BUTTER\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"designs a Butterworth bandpass filter\",\"type\":\"standalone\"},{\"name\":\"CHEB1\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"designs a Chebyshev type I bandpass filter\",\"help\":\"CHEB1(RP=*number*)\",\"type\":\"value\"},{\"name\":\"CHEB2\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"a Chebyshev type II bandpass filter\",\"help\":\"CHEB2(RS=*number*)\",\"type\":\"value\"}]},{\"name\":\"BANDSTOP\",\"description\":\"specifies the parameters for designing a bandstop digital filter\",\"help\":\"BANDSTOP  LOWER=*number* UPPER=*number* ORDER=*number*&lt;options&gt;&lt;/ ftype&gt;;                                              BANDSTOP  ESTIMATE=(*suboptions*) &lt;options&gt;&lt;/ ftype&gt;\",\"arguments\":[{\"name\":\"ORDER=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the order of the digital filter, where number is a positive integer scalar\",\"help\":\"ORDER=*number*\",\"type\":\"value\"},{\"name\":\"LOWER=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the lower cutoff frequency {c1} of the bandstop filter, where number is between 0 and 1, with 1 corresponding to the normalized Nyquist frequency (π rad/sample)\",\"help\":\"LOWER=*number*\",\"type\":\"value\"},{\"name\":\"UPPER=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the upper cutoff frequency {c2} of the bandstop filter, where number is between 0 and 1, with 1 corresponding to the normalized Nyquist frequency (π rad/sample)\",\"help\":\"UPPER=*number*\",\"type\":\"value\"},{\"name\":\"ESTIMATE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the parameters to use to estimate the minimum required order to meet the filter design specifications and to calculate the lower and upper cutoff frequencies of the filter\",\"help\":\"ESTIMATE=(PASS1=*number* PASS2=*number* STOP1=*number* STOP2=*number* RP=*number* RS=*number*)\",\"type\":\"value\",\"arguments\":[{\"name\":\"PASS1=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the lower passband edge frequency of the bandstop filter {p1}, where number is between 0 and 1, with 1 corresponding to the normalized Nyquist frequency (π rad/sample)\",\"help\":\"PASS1=*number*\",\"type\":\"value\"},{\"name\":\"PASS2=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the upper passband edge frequency of the bandstop filter {p2}, where number is between 0 and 1, with 1 corresponding to the normalized Nyquist frequency (π rad/sample)\",\"help\":\"PASS2=*number*\",\"type\":\"value\"},{\"name\":\"STOP1=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the lower stopband edge frequency of the bandstop filter {s1}, where number is between 0 and 1, with 1 corresponding to the normalized Nyquist frequency (π rad/sample)\",\"help\":\"STOP1=*number*\",\"type\":\"value\"},{\"name\":\"STOP2=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the upper stopband edge frequency of the bandstop filter {s2}, where number is between 0 and 1, with 1 corresponding to the normalized Nyquist frequency (π rad/sample)\",\"help\":\"STOP2=*number*\",\"type\":\"value\"},{\"name\":\"RP=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the passband ripple, which is expressed in decibels (dB), where number is a positive scalar\",\"help\":\"RP=*number*\",\"type\":\"value\"},{\"name\":\"RS=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the stopband attenuation, which is expressed in decibels (dB), where number is a positive scalar\",\"help\":\"RS=*number*\",\"type\":\"value\"}]},{\"name\":\"CODE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"generates SAS DATA step code that mimics the computations that are done by using the designed digital filter to filter any input data\",\"help\":\"CODE=(FILE=*filename* IVAR=*(input-variable-list)* SVAR=*(output-variable-list)*)\",\"type\":\"value\",\"arguments\":[{\"name\":\"FILE=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the filename of the file to write the SAS DATA step code to, where filename can be a quoted string that contains the path of the file in which to store the code or a fileref that refers to an external file in which to save code\",\"help\":\"FILE=*filename*\",\"type\":\"value\"},{\"name\":\"IVAR=\",\"followsDelimiter\":\"/\",\"description\":\"specifies a list of input variables, each of which contains a vector of data to be filtered by the designed digital filter\",\"help\":\"IVAR=*(input-variable-list)*\",\"type\":\"value\"},{\"name\":\"SVAR=\",\"followsDelimiter\":\"/\",\"description\":\"specifies a list of output variables, each of which contains a filtered output data vector\",\"help\":\"SVAR=*(output-variable-list)*\",\"type\":\"value\"}]},{\"name\":\"SAVESTATE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"creates an analytic store for the designed digital filter and saves it as a binary object in a data table\",\"help\":\"SAVESTATE=(RSTORE=*CAS-libref.data-table* IVAR=*input-variable* SVAR=*output-variable*)\",\"type\":\"dataSet\",\"arguments\":[{\"name\":\"RSTORE=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the name of the table in which to save the analytic store of the designed filter\",\"help\":\"RSTORE=*CAS-libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"IVAR=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the input variable, which contains a vector of data to be filtered by the designed digital filter\",\"help\":\"IVAR=*input-variable*\",\"type\":\"value\"},{\"name\":\"SVAR=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the output variable, which contains a filtered output data vector\",\"help\":\"SVAR=*output-variable*\",\"type\":\"value\"}]},{\"name\":\"DBT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the magnitude threshold, which is expressed in decibels (dB), of the frequency response to display in the frequency response plot, where number is a positive scalar\",\"help\":\"DBT=*number*\",\"type\":\"value\"},{\"name\":\"BUTTER\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"designs a Butterworth bandstop filter\",\"type\":\"standalone\"},{\"name\":\"CHEB1\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"designs a Chebyshev type I bandstop filter\",\"help\":\"CHEB1(RP=*number*)\",\"type\":\"value\"},{\"name\":\"CHEB2\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"a Chebyshev type II bandstop filter\",\"help\":\"CHEB2(RS=*number*)\",\"type\":\"value\"}]},{\"name\":\"HIGHPASS\",\"description\":\"specifies the parameters for designing a highpass digital filter\",\"help\":\"HIGHPASS  LOWER=*number* ORDER=*number*&lt;options&gt;&lt;/ ftype&gt;;                                              HIGHPASS  ESTIMATE=(*suboptions*) &lt;options&gt;&lt;/ ftype&gt;\",\"arguments\":[{\"name\":\"ORDER=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the order of the digital filter, where number is a positive integer scalar\",\"help\":\"ORDER=*number*\",\"type\":\"value\"},{\"name\":\"LOWER=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the cutoff frequency {c} of the highpass filter, where number is between 0 and 1, with 1 corresponding to the normalized Nyquist frequency (π rad/sample)\",\"help\":\"LOWER=*number*\",\"type\":\"value\"},{\"name\":\"ESTIMATE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the parameters to use to estimate the minimum required order to meet the filter design specifications and to calculate the cutoff frequency of the filter\",\"help\":\"ESTIMATE=(PASS1=*number* STOP1=*number* RP=*number* RS=*number*)\",\"type\":\"value\",\"arguments\":[{\"name\":\"PASS1=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the passband edge frequency of the highpass filter {p}, where number is between 0 and 1, with 1 corresponding to the normalized Nyquist frequency (π rad/sample)\",\"help\":\"PASS1=*number*\",\"type\":\"value\"},{\"name\":\"STOP1=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the stopband edge frequency of the highpass filter {s}, where number is between 0 and 1, with 1 corresponding to the normalized Nyquist frequency (π rad/sample)\",\"help\":\"STOP1=*number*\",\"type\":\"value\"},{\"name\":\"RP=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the passband ripple, which is expressed in decibels (dB), where number is a positive scalar\",\"help\":\"RP=*number*\",\"type\":\"value\"},{\"name\":\"RS=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the stopband attenuation, which is expressed in decibels (dB), where number is a positive scalar\",\"help\":\"RS=*number*\",\"type\":\"value\"}]},{\"name\":\"CODE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"generates SAS DATA step code that mimics the computations that are done by using the designed digital filter to filter any input data\",\"help\":\"CODE=(FILE=*filename* IVAR=*(input-variable-list)* SVAR=*(output-variable-list)*)\",\"type\":\"value\",\"arguments\":[{\"name\":\"FILE=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the filename of the file to write the SAS DATA step code to, where filename can be a quoted string that contains the path of the file in which to store the code or a fileref that refers to an external file in which to save code\",\"help\":\"FILE=*filename*\",\"type\":\"value\"},{\"name\":\"IVAR=\",\"followsDelimiter\":\"/\",\"description\":\"specifies a list of input variables, each of which contains a vector of data to be filtered by the designed digital filter\",\"help\":\"IVAR=*(input-variable-list)*\",\"type\":\"value\"},{\"name\":\"SVAR=\",\"followsDelimiter\":\"/\",\"description\":\"specifies a list of output variables, each of which contains a filtered output data vector\",\"help\":\"SVAR=*(output-variable-list)*\",\"type\":\"value\"}]},{\"name\":\"SAVESTATE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"creates an analytic store for the designed digital filter and saves it as a binary object in a data table\",\"help\":\"SAVESTATE=(RSTORE=*CAS-libref.data-table* IVAR=*input-variable* SVAR=*output-variable*)\",\"type\":\"dataSet\",\"arguments\":[{\"name\":\"RSTORE=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the name of the table in which to save the analytic store of the designed filter\",\"help\":\"RSTORE=*CAS-libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"IVAR=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the input variable, which contains a vector of data to be filtered by the designed digital filter\",\"help\":\"IVAR=*input-variable*\",\"type\":\"value\"},{\"name\":\"SVAR=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the output variable, which contains a filtered output data vector\",\"help\":\"SVAR=*output-variable*\",\"type\":\"value\"}]},{\"name\":\"DBT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the magnitude threshold, which is expressed in decibels (dB), of the frequency response to display in the frequency response plot, where number is a positive scalar\",\"help\":\"DBT=*number*\",\"type\":\"value\"},{\"name\":\"BUTTER\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"designs a Butterworth highpass filter\",\"type\":\"standalone\"},{\"name\":\"CHEB1\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"designs a Chebyshev type I highpass filter\",\"help\":\"CHEB1(RP=*number*)\",\"type\":\"value\"},{\"name\":\"CHEB2\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"a Chebyshev type II highpass filter\",\"help\":\"CHEB2(RS=*number*)\",\"type\":\"value\"}]},{\"name\":\"LOWPASS\",\"description\":\"specifies the parameters for designing a lowpass digital filter\",\"help\":\"LOWPASS  UPPER=*number* ORDER=*number*&lt;options&gt;&lt;/ ftype&gt;;                                              LOWPASS  ESTIMATE=(*suboptions*) &lt;options&gt;&lt;/ ftype&gt;\",\"arguments\":[{\"name\":\"ORDER=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the order of the digital filter, where number is a positive integer scalar\",\"help\":\"ORDER=*number*\",\"type\":\"value\"},{\"name\":\"UPPER=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the cutoff frequency {c} of the lowpass filter, where number is between 0 and 1, with 1 corresponding to the normalized Nyquist frequency (π rad/sample)\",\"help\":\"UPPER=*number*\",\"type\":\"value\"},{\"name\":\"ESTIMATE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the parameters to use to estimate the minimum required order to meet the filter design specifications and to calculate the cutoff frequency of the filter\",\"help\":\"ESTIMATE=(PASS1=*number* STOP1=*number* RP=*number* RS=*number*)\",\"type\":\"value\",\"arguments\":[{\"name\":\"PASS1=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the passband edge frequency of the lowpass filter {p}, where number is between 0 and 1, with 1 corresponding to the normalized Nyquist frequency (π rad/sample)\",\"help\":\"PASS1=*number*\",\"type\":\"value\"},{\"name\":\"STOP1=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the stopband edge frequency of the lowpass filter {s}, where number is between 0 and 1, with 1 corresponding to the normalized Nyquist frequency (π rad/sample)\",\"help\":\"STOP1=*number*\",\"type\":\"value\"},{\"name\":\"RP=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the passband ripple, which is expressed in decibels (dB), where number is a positive scalar\",\"help\":\"RP=*number*\",\"type\":\"value\"},{\"name\":\"RS=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the stopband attenuation, which is expressed in decibels (dB), where number is a positive scalar\",\"help\":\"RS=*number*\",\"type\":\"value\"}]},{\"name\":\"CODE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"generates SAS DATA step code that mimics the computations that are done by using the designed digital filter to filter any input data\",\"help\":\"CODE=(FILE=*filename* IVAR=*(input-variable-list)* SVAR=*(output-variable-list)*)\",\"type\":\"value\",\"arguments\":[{\"name\":\"FILE=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the filename of the file to write the SAS DATA step code to, where filename can be a quoted string that contains the path of the file in which to store the code or a fileref that refers to an external file in which to save code\",\"help\":\"FILE=*filename*\",\"type\":\"value\"},{\"name\":\"IVAR=\",\"followsDelimiter\":\"/\",\"description\":\"specifies a list of input variables, each of which contains a vector of data to be filtered by the designed digital filter\",\"help\":\"IVAR=*(input-variable-list)*\",\"type\":\"value\"},{\"name\":\"SVAR=\",\"followsDelimiter\":\"/\",\"description\":\"specifies a list of output variables, each of which contains a filtered output data vector\",\"help\":\"SVAR=*(output-variable-list)*\",\"type\":\"value\"}]},{\"name\":\"SAVESTATE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"creates an analytic store for the designed digital filter and saves it as a binary object in a data table\",\"help\":\"SAVESTATE=(RSTORE=*CAS-libref.data-table* IVAR=*input-variable* SVAR=*output-variable*)\",\"type\":\"dataSet\",\"arguments\":[{\"name\":\"RSTORE=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the name of the table in which to save the analytic store of the designed filter\",\"help\":\"RSTORE=*CAS-libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"IVAR=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the input variable, which contains a vector of data to be filtered by the designed digital filter\",\"help\":\"IVAR=*input-variable*\",\"type\":\"value\"},{\"name\":\"SVAR=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the output variable, which contains a filtered output data vector\",\"help\":\"SVAR=*output-variable*\",\"type\":\"value\"}]},{\"name\":\"DBT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the magnitude threshold, which is expressed in decibels (dB), of the frequency response to display in the frequency response plot, where number is a positive scalar\",\"help\":\"DBT=*number*\",\"type\":\"value\"},{\"name\":\"BUTTER\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"designs a Butterworth lowpass filter\",\"type\":\"standalone\"},{\"name\":\"CHEB1\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"designs a Chebyshev type I lowpass filter\",\"help\":\"CHEB1(RP=*number*)\",\"type\":\"value\"},{\"name\":\"CHEB2\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"a Chebyshev type II lowpass filter\",\"help\":\"CHEB2(RS=*number*)\",\"type\":\"value\"}]}],\"supportSiteInformation\":{\"docsetId\":\"casforecast\",\"docsetVersion\":\"latest\",\"docsetTargetFile\":\"casforecast_dfil_toc.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/DISCRIM.json",
    "content": "{\"name\":\"DISCRIM\",\"statements\":[{\"name\":\"PROC DISCRIM\",\"description\":\"For a set of observations containing one or more quantitative variables and a classification variable defining groups of observations, the DISCRIM procedure develops a discriminant criterion to classify each observation into one of the groups. The derived discriminant criterion from this data set can be applied to a second data set during the same execution of PROC DISCRIM. The data set that PROC DISCRIM uses to derive the discriminant criterion is called the training or calibration data set.\",\"help\":\"PROC DISCRIM <ALL><ANOVA><BCORR><BCOV><BSSCP><CANONICAL><CANPREFIX=name><CROSSLIST><CROSSLISTERR><CROSSVALIDATE><DATA=SAS-data-set><DISTANCE><K=k><KERNEL=BIWEIGHT|BIW | EPANECHNIKOV|EPA | NORMAL|NOR... ><KPROP=p><LIST><LISTERR><MANOVA><METHOD=NORMAL | NPAR><METRIC=DIAGONAL | FULL | IDENTITY><NCAN=number><NOCLASSIFY><NOPRINT><OUT=SAS-data-set><OUTCROSS=SAS-data-set><OUTD=SAS-data-set><OUTSTAT=SAS-data-set><PCORR><PCOV><POOL=NO | TEST | YES><POSTERR><PSSCP><R=r><SHORT><SIMPLE><SINGULAR=p><SLPOOL=p><STDMEAN><TCORR><TCOV><TESTDATA=SAS-data-set><TESTLIST><TESTLISTERR><TESTOUT=SAS-data-set><TESTOUTD=SAS-data-set><THRESHOLD=p><TSSCP><WCORR><WCOV><WSSCP>;     \\n\\tBY <DESCENDING><NOTSORTED> ;\\n\\n\\tCLASS variable ;\\n\\n\\tFREQ variable;\\n\\n\\tID variable ;\\n\\n\\tPRIORS <EQUAL><PROPORTIONAL> ;\\n\\n\\tTESTCLASS variable ;\\n\\n\\tTESTFREQ variable ;\\n\\n\\tTESTID variable ;\\n\\n\\tVAR;\\n\\n\\tWEIGHT variable;\\n\",\"arguments\":[{\"name\":\"ALL\",\"optional\":true,\"description\":\"Activates all options that control displayed output.\",\"type\":\"standalone\"},{\"name\":\"ANOVA\",\"optional\":true,\"description\":\"Displays univariate statistics for testing the hypothesis that the class means are equal in the population for each variable.\",\"type\":\"standalone\"},{\"name\":\"BCORR\",\"optional\":true,\"description\":\"Displays between-class correlations.\",\"type\":\"standalone\"},{\"name\":\"BCOV\",\"optional\":true,\"description\":\"Displays between-class covariances.\",\"type\":\"standalone\"},{\"name\":\"BSSCP\",\"optional\":true,\"description\":\"Displays the between-class SSCP matrix\",\"type\":\"standalone\"},{\"name\":\"CANONICAL\",\"optional\":true,\"aliases\":[\"CAN\"],\"description\":\"Performs canonical discriminant analysis\",\"type\":\"standalone\"},{\"name\":\"CANPREFIX=\",\"optional\":true,\"description\":\"Specifies a prefix for naming the canonical variables. By default, the names are Can1, Can2, ..., Can. If you specify CANPREFIX=ABC, the components are named ABC1, ABC2, ABC3, and so on.\",\"help\":\"CANPREFIX=*name*\",\"type\":\"value\"},{\"name\":\"CROSSLIST\",\"optional\":true,\"description\":\"Displays the cross validation classification results for each observation\",\"type\":\"standalone\"},{\"name\":\"CROSSLISTERR\",\"optional\":true,\"description\":\"Displays the cross validation classification results for misclassified observations only.\",\"type\":\"standalone\"},{\"name\":\"CROSSVALIDATE\",\"optional\":true,\"description\":\"Specifies the cross validation classification of the input DATA= data set.\",\"type\":\"standalone\"},{\"name\":\"DATA=\",\"optional\":true,\"description\":\"Specifies the data set to be analyzed. The data set can be an ordinary SAS data set or one of several specially structured data sets created by SAS/STAT procedures.\",\"help\":\"DATA=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"DISTANCE\",\"optional\":true,\"aliases\":[\"MAHALANOBIS\"],\"description\":\"Displays the squared Mahalanobis distances between the group means, F statistics, and the corresponding probabilities of greater Mahalanobis squared distances between the group means.\",\"type\":\"standalone\"},{\"name\":\"K=\",\"optional\":true,\"description\":\"Specifies a k value for the k-nearest-neighbor rule.\",\"help\":\"K=*k*\",\"type\":\"value\"},{\"name\":\"KERNEL=\",\"optional\":true,\"description\":\"Specifies a kernel density to estimate the group-specific densities. You can specify the KERNEL= option only when the R= option is specified. The default is KERNEL=UNIFORM.\",\"help\":\"KERNEL=BIWEIGHT | EPANECHNIKOV | NORMAL | TRIWEIGHT | UNIFORM\",\"type\":\"choice\",\"arguments\":[{\"name\":\"BIWEIGHT\",\"aliases\":[\"BIW\"],\"description\":\"KERNEL=BIWEIGHT\",\"type\":\"standalone\"},{\"name\":\"EPANECHNIKOV\",\"aliases\":[\"EPA\"],\"description\":\"KERNEL=EPANECHNIKOV\",\"type\":\"standalone\"},{\"name\":\"NORMAL\",\"aliases\":[\"NOR\"],\"description\":\"KERNEL=NORMAL\",\"type\":\"standalone\"},{\"name\":\"TRIWEIGHT\",\"aliases\":[\"TRI\"],\"description\":\"KERNEL=TRIWEIGHT\",\"type\":\"standalone\"},{\"name\":\"UNIFORM\",\"aliases\":[\"UNI\"],\"description\":\"KERNEL=UNIFORM\",\"type\":\"standalone\"}]},{\"name\":\"KPROP=\",\"optional\":true,\"description\":\"Specifies a proportion, p, for computing the k value for the k-nearest-neighbor rule.\",\"help\":\"KPROP=*p*\",\"type\":\"value\"},{\"name\":\"LIST\",\"optional\":true,\"description\":\"Displays the resubstitution classification results for each observation. You can specify this option only when the input data set is an ordinary SAS data set.\",\"type\":\"standalone\"},{\"name\":\"LISTERR\",\"optional\":true,\"description\":\"Displays the resubstitution classification results for misclassified observations only. You can specify this option only when the input data set is an ordinary SAS data set\",\"type\":\"standalone\"},{\"name\":\"MANOVA\",\"optional\":true,\"description\":\"Displays multivariate statistics for testing the hypothesis that the class means are equal in the population.\",\"type\":\"standalone\"},{\"name\":\"METHOD=\",\"optional\":true,\"description\":\"Determines the method to use in deriving the classification criterion.\",\"help\":\"METHOD=NORMAL | NPAR\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NORMAL\",\"description\":\"A parametric method based on a multivariate normal distribution within each class is used to derive a linear or quadratic discriminant function.\",\"type\":\"standalone\"},{\"name\":\"NPAR\",\"description\":\"A nonparametric method is used and you must also specify either the K= or R= option.\",\"type\":\"standalone\"}]},{\"name\":\"METRIC=\",\"optional\":true,\"description\":\"Specifies the metric in which the computations of squared distances are performed.\",\"help\":\"METRIC=DIAGONAL | FULL | IDENTITY\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DIAGONAL\",\"description\":\"PROC DISCRIM uses either the diagonal matrix of the pooled covariance matrix (POOL=YES) or diagonal matrices of individual within-group covariance matrices (POOL=NO) to compute the squared distances.\",\"type\":\"standalone\"},{\"name\":\"FULL\",\"description\":\"PROC DISCRIM uses either the pooled covariance matrix (POOL=YES) or individual within-group covariance matrices (POOL=NO) to compute the squared distances.\",\"type\":\"standalone\"},{\"name\":\"IDENTITY\",\"description\":\"PROC DISCRIM uses Euclidean distance.\",\"type\":\"standalone\"}]},{\"name\":\"NCAN=\",\"optional\":true,\"description\":\"Specifies the number of canonical variables to compute.\",\"help\":\"NCAN=*number*\",\"type\":\"value\"},{\"name\":\"NOCLASSIFY\",\"optional\":true,\"description\":\"Suppresses the resubstitution classification of the input DATA= data set.\",\"type\":\"standalone\"},{\"name\":\"NOPRINT\",\"optional\":true,\"description\":\"Suppresses the normal display of results.\",\"type\":\"standalone\"},{\"name\":\"OUT=\",\"optional\":true,\"description\":\"Creates an output SAS data set containing all the data from the DATA= data set, plus the posterior probabilities and the class into which each observation is classified by resubstitution.\",\"help\":\"OUT=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"OUTCROSS=\",\"optional\":true,\"description\":\"Creates an output SAS data set containing all the data from the DATA= data set, plus the posterior probabilities and the class into which each observation is classified by cross validation.\",\"help\":\"OUTCROSS=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"OUTD=\",\"optional\":true,\"description\":\"Creates an output SAS data set containing all the data from the DATA= data set, plus the group-specific density estimates for each observation.\",\"help\":\"OUTD=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"OUTSTAT=\",\"optional\":true,\"description\":\"Creates an output SAS data set containing various statistics such as means, standard deviations, and correlations.\",\"help\":\"OUTSTAT=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"PCORR\",\"optional\":true,\"description\":\"[Displays pooled within-class correlations.\",\"type\":\"standalone\"},{\"name\":\"PCOV\",\"optional\":true,\"description\":\"Displays pooled within-class covariances.\",\"type\":\"standalone\"},{\"name\":\"POOL=\",\"optional\":true,\"description\":\"Determines whether the pooled or within-group covariance matrix is the basis of the measure of the squared distance.\",\"help\":\"POOL=NO | TEST | YES\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NO\",\"description\":\"PROC DISCRIM uses the individual within-group covariance matrices in calculating the distances. Quadratic discriminant functions are computed.\",\"type\":\"standalone\"},{\"name\":\"TEST\",\"description\":\"When you specify METHOD=NORMAL, the option POOL=TEST requests Bartlett’s modification of the likelihood ratio test of the homogeneity of the within-group covariance matrices.\",\"type\":\"standalone\"},{\"name\":\"YES\",\"description\":\"PROC DISCRIM uses the pooled covariance matrix in calculating the (generalized) squared distances. Linear discriminant functions are computed.\",\"type\":\"standalone\"}]},{\"name\":\"POSTERR\",\"optional\":true,\"description\":\"Displays the posterior probability error-rate estimates of the classification criterion based on the classification results.\",\"type\":\"standalone\"},{\"name\":\"PSSCP\",\"optional\":true,\"description\":\"Displays the pooled within-class corrected SSCP matrix.\",\"type\":\"standalone\"},{\"name\":\"R=\",\"optional\":true,\"description\":\"Specifies a radius r value for kernel density estimation.\",\"help\":\"R=*r*\",\"type\":\"value\"},{\"name\":\"SHORT\",\"optional\":true,\"description\":\"Suppresses the display of certain items in the default output.\",\"type\":\"standalone\"},{\"name\":\"SIMPLE\",\"optional\":true,\"description\":\"Displays simple descriptive statistics for the total sample and within each class.\",\"type\":\"standalone\"},{\"name\":\"SINGULAR=\",\"optional\":true,\"description\":\"Specifies the criterion for determining the singularity of a matrix, where 0 < p < 1. The default is SINGULAR=1E–8.\",\"help\":\"SINGULAR=*p*\",\"type\":\"value\"},{\"name\":\"SLPOOL=\",\"optional\":true,\"description\":\"Specifies the significance level for the test of homogeneity.\",\"help\":\"SLPOOL=*p*\",\"type\":\"value\"},{\"name\":\"STDMEAN\",\"optional\":true,\"description\":\"Displays total-sample and pooled within-class standardized class means.\",\"type\":\"standalone\"},{\"name\":\"TCORR\",\"optional\":true,\"description\":\"Displays total-sample correlations.\",\"type\":\"standalone\"},{\"name\":\"TCOV\",\"optional\":true,\"description\":\"Displays total-sample covariances.\",\"type\":\"standalone\"},{\"name\":\"TESTDATA=\",\"optional\":true,\"description\":\"Names an ordinary SAS data set with observations that are to be classified.\",\"help\":\"TESTDATA=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"TESTLIST\",\"optional\":true,\"description\":\"Lists classification results for all observations in the TESTDATA= data set.\",\"type\":\"standalone\"},{\"name\":\"TESTLISTERR\",\"optional\":true,\"description\":\"Lists only misclassified observations in the TESTDATA= data set but only if a TESTCLASS statement is also used.\",\"type\":\"standalone\"},{\"name\":\"TESTOUT=\",\"optional\":true,\"description\":\"Creates an output SAS data set containing all the data from the TESTDATA= data set, plus the posterior probabilities and the class into which each observation is classified.\",\"help\":\"TESTOUT=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"TESTOUTD=\",\"optional\":true,\"description\":\"Creates an output SAS data set containing all the data from the TESTDATA= data set, plus the posterior probabilities and the class into which each observation is classified. When you specify the CANONICAL option, the data set also contains new variables with canonical variable scores.\",\"help\":\"TESTOUTD=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"THRESHOLD=\",\"optional\":true,\"description\":\"Specifies the minimum acceptable posterior probability for classification, where 0 ≤ P<=1.\",\"help\":\"THRESHOLD=*p*\",\"type\":\"value\"},{\"name\":\"TSSCP\",\"optional\":true,\"description\":\"Displays the total-sample corrected SSCP matrix.\",\"type\":\"standalone\"},{\"name\":\"WCORR\",\"optional\":true,\"description\":\"Displays within-class correlations for each class level.\",\"type\":\"standalone\"},{\"name\":\"WCOV\",\"optional\":true,\"description\":\"Displays within-class covariances for each class level.\",\"type\":\"standalone\"},{\"name\":\"WSSCP\",\"optional\":true,\"description\":\"Displays the within-class corrected SSCP matrix for each class level.\",\"type\":\"standalone\"}]},{\"name\":\"BY\",\"description\":\"Obtains separate analyses on observations in groups defined by the BY variables.\",\"help\":\"BY &lt;DESCENDING&gt;&lt;NOTSORTED&gt;\",\"arguments\":[{\"name\":\"DESCENDING\",\"optional\":true,\"description\":\"Specifies that the observations are sorted in descending order by the variable that immediately follows the word DESCENDING in the BY statement.\",\"type\":\"standalone\"},{\"name\":\"NOTSORTED\",\"optional\":true,\"description\":\"Specifies that observations are not necessarily sorted in alphabetic or numeric order.\",\"type\":\"standalone\"}]},{\"name\":\"CLASS\",\"aliases\":[\"CLASSES\"],\"description\":\"The values of the classification variable define the groups for analysis. Class levels are determined by the formatted values of the CLASS variable. The specified variable can be numeric or character. A CLASS statement is required.\",\"help\":\"CLASS variable \"},{\"name\":\"FREQ\",\"description\":\"If one variable in your data set represents the frequency of occurrence for the other values in the observation, specify the variable’s name in a FREQ statement. The procedure then treats the data set as if each observation appears ni times, where ni is the value of the FREQ variable for observation i.\",\"help\":\"FREQ variable\"},{\"name\":\"ID\",\"description\":\"The ID statement is effective only when you specify the LIST or LISTERR option in the PROC DISCRIM statement. When the DISCRIM procedure displays the classification results, the ID variable (rather than the observation number) is displayed for each observation.\",\"help\":\"ID variable \"},{\"name\":\"PRIORS\",\"aliases\":[\"PRIOR\"],\"description\":\"The PRIORS statement specifies the prior probabilities of group membership. For other than equal or proportional priors, specify the prior probability for each level of the classification variable.\",\"help\":\"PRIORS &lt;EQUAL&gt;&lt;PROPORTIONAL&gt;\",\"arguments\":[{\"name\":\"EQUAL\",\"optional\":true,\"description\":\"Sets the prior probabilities equal.\",\"type\":\"standalone\"},{\"name\":\"PROPORTIONAL\",\"optional\":true,\"description\":\"Sets the prior probabilities proportional to the sample sizes.\",\"type\":\"standalone\"}]},{\"name\":\"TESTCLASS\",\"aliases\":[\"TESTCLASSES\"],\"description\":\"The TESTCLASS statement names the variable in the TESTDATA= data set that is used to determine whether an observation in the TESTDATA= data set is misclassified.\",\"help\":\"TESTCLASS variable \"},{\"name\":\"TESTFREQ\",\"description\":\"If a variable in the TESTDATA= data set represents the frequency of occurrence of the other values in the observation, include the variable’s name in a TESTFREQ statement. The procedure then treats the data set as if each observation appears n times, where n is the value of the TESTFREQ variable for the observation.\",\"help\":\"TESTFREQ variable \"},{\"name\":\"TESTID\",\"description\":\"The TESTID statement is effective only when you specify the TESTLIST or TESTLISTERR option in the PROC DISCRIM statement. When the DISCRIM procedure displays the classification results for the TESTDATA= data set, the TESTID variable (rather than the observation number) is displayed for each observation.\",\"help\":\"TESTID variable \"},{\"name\":\"VAR\",\"aliases\":[\"VARIABLES\"],\"description\":\"VAR variable(s); The VAR statement specifies the quantitative variables to be included in the analysis. The default is all numeric variables not listed in other statements.\",\"help\":\"VAR\"},{\"name\":\"WEIGHT\",\"description\":\"To use relative weights for each observation in the input data set, place the weights in a variable in the data set and specify the name in a WEIGHT statement. This is often done when the variance associated with each observation is different and the values of the weight variable are proportional to the reciprocals of the variances. If the value of the WEIGHT variable is missing or is less than zero, then a value of zero for the weight is used.\",\"help\":\"WEIGHT variable\"}],\"supportSiteInformation\":{\"docsetId\":\"statug\",\"docsetVersion\":\"latest\",\"docsetTargetFile\":\"statug_discrim_toc.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/DISPLAYIMAGES.json",
    "content": "{\"name\":\"DISPLAYIMAGES\",\"statements\":[{\"name\":\"PROC DISPLAYIMAGES\",\"description\":\"The DISPLAYIMAGES procedure accepts an input table that contains image binaries in supported formats (such as JPG, BMP, and so on) and displays the images via the SAS Output Delivery system (ODS).\",\"help\":\"PROC DISPLAYIMAGES DATA=libref.data-tableTEMPLATE='template-string' ;\\n\\tID variable;\\n\\n\\tIMAGE variable / DIMENSION=variableIMAGEFORMAT=variableLABEL=variablePATH=variableRESOLUTION=variableSIZE=variableTYPE=variable;\\n\\n\\tORDERBY DESCENDING variable-1 <DESCENDING variable-2 …>;\\n\\n\\tRESIZE HEIGHT=numberWIDTH=number;\\n\\n\\tVAR <variable-list>;\\n\",\"arguments\":[{\"name\":\"DATA=\",\"description\":\"names the input data table for PROC DISPLAYIMAGES to use. The default is the most recently created data table.\",\"help\":\"DATA=*libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"TEMPLATE=\",\"optional\":true,\"description\":\"specifies a custom template to be used for displaying images. The 'template-string' is the name of the template that you created using the TEMPLATE procedure. By default, TEMPLATE='ACAS.DisplayImages.Default'.\",\"help\":\"TEMPLATE=*'template-string'*\",\"type\":\"value\"}]},{\"name\":\"ID\",\"description\":\"The ID statement specifies the name of the variable that contains image identifiers.\",\"help\":\"ID *variable*;\",\"arguments\":[{\"name\":\"variable\",\"placeholder\":true,\"description\":\"names the ID variable.\",\"type\":\"value\"}]},{\"name\":\"IMAGE\",\"description\":\"The IMAGE statement lists the name of the variable that contains image binaries, which is typically named _image_. You can also specify the following options after a slash (/):\",\"help\":\"IMAGE *variable* / *DIMENSION=variable**IMAGEFORMAT=variable**LABEL=variable**PATH=variable**RESOLUTION=variable**SIZE=variable**TYPE=variable*;\",\"arguments\":[{\"name\":\"variable\",\"placeholder\":true,\"description\":\"names the IMAGE variable.\",\"type\":\"value\"},{\"name\":\"DIMENSION=\",\"optional\":true,\"description\":\"specifies the name of the variable that contains dimensions of images. By default, DIMENSION=_dimension_.\",\"help\":\"DIMENSION=*variable* \",\"type\":\"value\"},{\"name\":\"IMAGEFORMAT=\",\"optional\":true,\"description\":\"specifies the name of the variable that contains formats of image binaries. By default, IMAGEFORMAT=_imageFormat_.\",\"help\":\"IMAGEFORMAT=*variable* \",\"type\":\"value\"},{\"name\":\"LABEL=\",\"optional\":true,\"description\":\"specifies the name of the variable that contains labels of images. By default, LABEL=_label_.\",\"help\":\"LABEL=*variable* \",\"type\":\"value\"},{\"name\":\"PATH=\",\"optional\":true,\"description\":\"specifies the name of the variable that contains file paths. By default, PATH=_path_.\",\"help\":\"PATH=*variable* \",\"type\":\"value\"},{\"name\":\"RESOLUTION=\",\"optional\":true,\"description\":\"specifies the name of the variable that contains resolutions of images. By default, RESOLUTION=_resolution_.\",\"help\":\"RESOLUTION=*variable* \",\"type\":\"value\"},{\"name\":\"SIZE=\",\"optional\":true,\"description\":\"specifies the name of the variable that contains the image size. By default, SIZE=_size_.\",\"help\":\"SIZE=*variable* \",\"type\":\"value\"},{\"name\":\"TYPE=\",\"optional\":true,\"description\":\"specifies the name of the variable that contains the image type. By default, TYPE=_type_.\",\"help\":\"TYPE=*variable* \",\"type\":\"value\"}]},{\"name\":\"ORDERBY\",\"description\":\"The ORDERBY statement enables you to specify the order in which the images are displayed. You can specify several variables for ordering data. By default, variables are sorted in ascending order. To specify descending order, include the keyword DESCENDING before the variable name.\",\"help\":\"ORDERBY *DESCENDING variable-1 &lt;DESCENDING variable-2&gt;*;\",\"arguments\":[{\"name\":\"DESCENDING\",\"description\":\"specifies the name(s) of the variable or variables to sort by.\",\"help\":\"DESCENDING *variable-1 &lt;DESCENDING variable-2 …&gt;*\",\"type\":\"value\"}]},{\"name\":\"RESIZE\",\"description\":\"The RESIZE statement enables you to resize images before you display them. The aspect ratio of the images is maintained by using letterbox resizing with black padding. Images are resized using linear interpolation.\",\"help\":\"RESIZE *HEIGHT=number**WIDTH=number*;\",\"arguments\":[{\"name\":\"HEIGHT=\",\"optional\":true,\"description\":\"specifies the height (in pixels) of each image to be displayed. By default, HEIGHT=256.\",\"help\":\"HEIGHT=*number*\",\"type\":\"value\"},{\"name\":\"WIDTH=\",\"optional\":true,\"description\":\"specifies the width (in pixels) of each image to be displayed. By default, WIDTH=256.\",\"help\":\"WIDTH=*number*\",\"type\":\"value\"}]},{\"name\":\"VAR\",\"description\":\"The VAR statement enables you to specify a variable-list that outlines the variables to be transferred from the input data table to the Output Delivery System (ODS) for the purpose of displaying them.\",\"help\":\"VAR *&lt;variable-list&gt;*;\",\"arguments\":[{\"name\":\"<variable-list>\",\"placeholder\":true,\"description\":\"specifies a list of variables.\",\"type\":\"value\"}]}],\"supportSiteInformation\":{\"docsetId\":\"cascv\",\"docsetVersion\":\"latest\",\"docsetTargetFile\":\"cascv_displayimages_toc.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/DISTANCE.json",
    "content": "{\"name\":\"DISTANCE\",\"statements\":[{\"name\":\"PROC DISTANCE\",\"description\":\"The DISTANCE procedure computes various measures of distance, dissimilarity, or similarity between the observations (rows) of a SAS data set. These proximity measures are stored as a lower triangular matrix or a square matrix in an output data set (depending on the SHAPE= option) that can then be used as input to the CLUSTER, MDS, and MODECLUS procedures. The input data set might contain numeric or character variables, or both, depending on which proximity measure is used.\",\"help\":\"PROC DISTANCE <ABSENT=number | qs><ADD=c><DATA=SAS-data-set><FUZZ=c><INITIAL=method><METHOD=GOWER | DGOWER | EUCLID... ><MULT=c><NOMISS><NORM><NOSTD><OUT=SAS-data-set><OUTSDZ=SAS-data-set><PREFIX=name><RANKSCORE=MIDRANK | INDEX><REPLACE><REPONLY><SHAPE=TRIANGLE|TRI | SQUARE|SQU|SQR><SNORM><STDONLY><UNDEF=n><VARDEF=DF | N | WDF... >;     \\n\\tBY <DESCENDING><NOTSORTED> ;\\n\\n\\tCOPY variables ;\\n\\n\\tFREQ variable;\\n\\n\\tID variable ;\\n\\n\\tVAR <ANOMINAL><NOMINAL><ORDINAL> ...;\\n\\n\\tWEIGHT variable;\\n\",\"arguments\":[{\"name\":\"ABSENT=\",\"optional\":true,\"description\":\"Specifies the value to be used as an absence value in an irrelevant absent-absent match for all of the asymmetric nominal variables.\",\"type\":\"value\"},{\"name\":\"ADD=\",\"optional\":true,\"description\":\"Specifies a constant, c, to add to each value after standardizing and multiplying by the value you specify in the MULT= option. The default value is 0.\",\"help\":\"ADD=*c*\",\"type\":\"value\"},{\"name\":\"DATA=\",\"optional\":true,\"description\":\"Specifies the input data set containing observations from which the proximity is computed.\",\"help\":\"DATA=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"FUZZ=\",\"optional\":true,\"description\":\"Specifies the relative fuzz factor for computing the standardized scores. The default value is 1E–14.\",\"help\":\"FUZZ=*c*\",\"type\":\"value\"},{\"name\":\"INITIAL=\",\"optional\":true,\"description\":\"Specifies the method of computing initial estimates for the A-estimates (ABW, AWAVE, and AHUBER). The following methods are not allowed for the INITIAL= option: ABW, AHUBER, AWAVE, and IN.\",\"help\":\"INITIAL=*method*\",\"type\":\"value\"},{\"name\":\"METHOD=\",\"optional\":true,\"description\":\"Specifies the method of computing proximity measures.\",\"help\":\"METHOD=GOWER | DGOWER | EUCLID | SQEUCLID | SIZE | SHAPE | COV | CORR | DCORR | SQCORR | DSQCORR | L(p) | CITYBLOCK | CHEBYCHEV | POWER(p,r) | SIMRATIO | DISRATIO | NONMETRIC | CANBERRA | COSINE | DOT | OVERLAP | DOVERLAP | CHISQ | CHI | PHISQ | PHI | HAMMING | MATCH | dMATCH | DSQMATCH | HAMANN | RT | SS1 | SS3 | DICE | RR | BLWNM | K1 | JACCARD | DJACCARD\",\"type\":\"choice\",\"arguments\":[{\"name\":\"GOWER\",\"description\":\"[Accepts all measurement levels] Gower’s similarity\",\"type\":\"standalone\"},{\"name\":\"DGOWER\",\"description\":\"[Accepts all measurement levels] 1 minus GOWER\",\"type\":\"standalone\"},{\"name\":\"EUCLID\",\"description\":\"[Accepts ratio, interval, and ordinal variables] Euclidean distance\",\"type\":\"standalone\"},{\"name\":\"SQEUCLID\",\"description\":\"[Accepts ratio, interval, and ordinal variables] Squared Euclidean distance\",\"type\":\"standalone\"},{\"name\":\"SIZE\",\"description\":\"[Accepts ratio, interval, and ordinal variables] Size distance\",\"type\":\"standalone\"},{\"name\":\"SHAPE\",\"description\":\"[Accepts ratio, interval, and ordinal variables] Shape distance\",\"type\":\"standalone\"},{\"name\":\"COV\",\"description\":\"[Accepts ratio, interval, and ordinal variables] Covariance\",\"type\":\"standalone\"},{\"name\":\"CORR\",\"description\":\"[Accepts ratio, interval, and ordinal variables] Correlation\",\"type\":\"standalone\"},{\"name\":\"DCORR\",\"description\":\"[Accepts ratio, interval, and ordinal variables] Correlation transformed to Euclidean distance\",\"type\":\"standalone\"},{\"name\":\"SQCORR\",\"description\":\"[Accepts ratio, interval, and ordinal variables] Squared correlation\",\"type\":\"standalone\"},{\"name\":\"DSQCORR\",\"description\":\"[Accepts ratio, interval, and ordinal variables] One minus squared correlation\",\"type\":\"standalone\"},{\"name\":\"L\",\"description\":\"[Accepts ratio, interval, and ordinal variables] Minkowski (Lp) distance, where p is a positive numeric value\",\"help\":\"L(p)\",\"type\":\"standalone\"},{\"name\":\"CITYBLOCK\",\"description\":\"[Accepts ratio, interval, and ordinal variables] L1, city-block, or Manhattan distance\",\"type\":\"standalone\"},{\"name\":\"CHEBYCHEV\",\"description\":\"[Accepts ratio, interval, and ordinal variables] L(infinity)\",\"type\":\"standalone\"},{\"name\":\"POWER\",\"description\":\"[Accepts ratio, interval, and ordinal variables] Generalized Euclidean distance where p is a positive numeric value and r is a nonnegative numeric value.\",\"help\":\"POWER(p,r)\",\"type\":\"standalone\"},{\"name\":\"SIMRATIO\",\"description\":\"[Accepts ratio variables] Similarity ratio (if variables are binary, this is the Jaccard coefficient)\",\"type\":\"standalone\"},{\"name\":\"DISRATIO\",\"description\":\"[Accepts ratio variables] One minus similarity ratio\",\"type\":\"standalone\"},{\"name\":\"NONMETRIC\",\"description\":\"[Accepts ratio variables] Lance and Williams nonmetric coefficient\",\"type\":\"standalone\"},{\"name\":\"CANBERRA\",\"description\":\"[Accepts ratio variables] Canberra metric distance coefficient\",\"type\":\"standalone\"},{\"name\":\"COSINE\",\"description\":\"[Accepts ratio variables] Cosine coefficient\",\"type\":\"standalone\"},{\"name\":\"DOT\",\"description\":\"[Accepts ratio variables] Dot (inner) product coefficient\",\"type\":\"standalone\"},{\"name\":\"OVERLAP\",\"description\":\"[Accepts ratio variables] Overlap similarity\",\"type\":\"standalone\"},{\"name\":\"DOVERLAP\",\"description\":\"[Accepts ratio variables] Overlap dissimilarity\",\"type\":\"standalone\"},{\"name\":\"CHISQ\",\"description\":\"[Accepts ratio variables] Chi-square coefficient\",\"type\":\"standalone\"},{\"name\":\"CHI\",\"description\":\"[Accepts ratio variables] Square root of chi-square coefficient\",\"type\":\"standalone\"},{\"name\":\"PHISQ\",\"description\":\"[Accepts ratio variables] Φ² coefficient\",\"type\":\"standalone\"},{\"name\":\"PHI\",\"description\":\"[Accepts ratio variables] Square root of Φ² coefficient\",\"type\":\"standalone\"},{\"name\":\"HAMMING\",\"description\":\"[Accepts nominal variables] Hamming distance\",\"type\":\"standalone\"},{\"name\":\"MATCH\",\"description\":\"[Accepts nominal variables] Simple matching coefficient\",\"type\":\"standalone\"},{\"name\":\"dMATCH\",\"description\":\"[Accepts nominal variables] Simple matching coefficient transformed to Euclidean distance\",\"type\":\"standalone\"},{\"name\":\"DSQMATCH\",\"description\":\"[Accepts nominal variables] Simple matching coefficient transformed to squared Euclidean distance\",\"type\":\"standalone\"},{\"name\":\"HAMANN\",\"description\":\"[Accepts nominal variables] Hamann coefficient\",\"type\":\"standalone\"},{\"name\":\"RT\",\"description\":\"[Accepts nominal variables] Roger and Tanimoto\",\"type\":\"standalone\"},{\"name\":\"SS1\",\"description\":\"[Accepts nominal variables] Sokal and Sneath 1\",\"type\":\"standalone\"},{\"name\":\"SS3\",\"description\":\"[Accepts nominal variables]Sokal and Sneath 3\",\"type\":\"standalone\"},{\"name\":\"DICE\",\"description\":\"[Accepts asymmetric nominal variables] Dice coefficient or Czekanowski/Sorensen similarity coefficient\",\"type\":\"standalone\"},{\"name\":\"RR\",\"description\":\"[Accepts asymmetric nominal variables] Russell and Rao\",\"type\":\"standalone\"},{\"name\":\"BLWNM\",\"description\":\"[Accepts asymmetric nominal variables] Binary Lance and Williams nonmetric, or Bray-Curtis coefficient\",\"type\":\"standalone\"},{\"name\":\"K1\",\"description\":\"[Accepts asymmetric nominal variables] Kulcynski 1\",\"type\":\"standalone\"},{\"name\":\"JACCARD\",\"description\":\"[Accepts asymmetric nominal and ratio variables] Jaccard similarity coefficient\",\"type\":\"standalone\"},{\"name\":\"DJACCARD\",\"description\":\"[Accepts asymmetric nominal and ratio variables] Jaccard dissimilarity coefficient\",\"type\":\"standalone\"}]},{\"name\":\"MULT=\",\"optional\":true,\"description\":\"Specifies a numeric constant, c, by which to multiply each value after standardizing. The default value is 1.\",\"help\":\"MULT=*c*\",\"type\":\"value\"},{\"name\":\"NOMISS\",\"optional\":true,\"description\":\"Omits observations with missing values from computation of the location and scale measures when standardizing; generates undefined (missing) distances for observations with missing values when computing distances.\",\"type\":\"standalone\"},{\"name\":\"NORM\",\"optional\":true,\"description\":\"Normalizes the scale estimator to be consistent for the standard deviation of a normal distribution when you specify the option STD=AGK, STD=IQR, STD=MAD, or STD=SPACING in the VAR statement.\",\"type\":\"standalone\"},{\"name\":\"NOSTD\",\"optional\":true,\"description\":\"Suppresses standardization of the variables. The NOSTD option should not be specified with the STDONLY option or with the REPLACE option.\",\"type\":\"standalone\"},{\"name\":\"OUT=\",\"optional\":true,\"description\":\"Specifies the name of the SAS data set created by PROC DISTANCE.\",\"help\":\"OUT=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"OUTSDZ=\",\"optional\":true,\"description\":\"Specifies the name of the SAS data set containing the standardized scores.\",\"help\":\"OUTSDZ=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"PREFIX=\",\"optional\":true,\"description\":\"Specifies a prefix for naming the distance variables in the OUT= data set. By default, the names are Dist1, Dist2, ..., Dist. If you specify PREFIX=ABC, the variables are named ABC1, ABC2, ..., ABCn.\",\"help\":\"PREFIX=*name*\",\"type\":\"value\"},{\"name\":\"RANKSCORE=\",\"optional\":true,\"description\":\"Specifies the method of assigning scores to ordinal variables.\",\"help\":\"RANKSCORE=MIDRANK | INDEX\",\"type\":\"choice\",\"arguments\":[{\"name\":\"MIDRANK\",\"description\":\"Assigns consecutive integers to each category with consideration of the frequency value. This is the default method.\",\"type\":\"standalone\"},{\"name\":\"INDEX\",\"description\":\"Assigns consecutive integers to each category regardless of frequencies.\",\"type\":\"standalone\"}]},{\"name\":\"REPLACE\",\"optional\":true,\"description\":\"Replaces missing data with zero in the standardized data (to correspond to the location measure before standardizing).\",\"type\":\"standalone\"},{\"name\":\"REPONLY\",\"optional\":true,\"description\":\"Replaces missing data with the location measure specified by the MISSING= option or the STD= option (if the MISSING= option is not specified), but does not standardize the data.\",\"type\":\"standalone\"},{\"name\":\"SHAPE=\",\"optional\":true,\"description\":\"Specifies the shape of the proximity matrix to be stored in the OUT= data set.\",\"help\":\"SHAPE=TRIANGLE | SQUARE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"TRIANGLE\",\"aliases\":[\"TRI\"],\"description\":\"SHAPE=TRIANGLE requests the matrix to be stored as a lower triangular matrix.\",\"type\":\"standalone\"},{\"name\":\"SQUARE\",\"aliases\":[\"SQU\",\"SQR\"],\"description\":\"SHAPE=SQUARE requests that the matrix be stored as a squared matrix.\",\"type\":\"standalone\"}]},{\"name\":\"SNORM\",\"optional\":true,\"description\":\"Normalizes the scale estimator to have an expectation of approximately 1 for a standard normal distribution when the STD=SPACING option is specified.\",\"type\":\"standalone\"},{\"name\":\"STDONLY\",\"optional\":true,\"description\":\"Standardizes variables only and computes no distance matrix. You must use the OUTSDZ= option to save the standardized scores. You cannot specify both the STDONLY option and the NOSTD option.\",\"type\":\"standalone\"},{\"name\":\"UNDEF=\",\"optional\":true,\"description\":\"Specifies the numeric constant used to replace undefined distances, such as when an observation has all missing values, or if a divisor is zero.\",\"help\":\"UNDEF=*n*\",\"type\":\"value\"},{\"name\":\"VARDEF=\",\"optional\":true,\"description\":\"Specifies the divisor to be used in the calculation of distance, dissimilarity, or similarity measures, and for standardizing variables whenever a variance or covariance is computed.\",\"help\":\"VARDEF=DF | N | WDF | WEIGHT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DF\",\"description\":\"Degrees of freedom\",\"type\":\"standalone\"},{\"name\":\"N\",\"description\":\"Number of observations\",\"type\":\"standalone\"},{\"name\":\"WDF\",\"description\":\"Sum of weights minus\",\"type\":\"standalone\"},{\"name\":\"WEIGHT\",\"aliases\":[\"WGT\"],\"description\":\"Sum of weights\",\"type\":\"standalone\"}]}]},{\"name\":\"BY\",\"description\":\"Obtains separate analyses on observations in groups defined by the BY variables.\",\"help\":\"BY &lt;DESCENDING&gt;&lt;NOTSORTED&gt;\",\"arguments\":[{\"name\":\"DESCENDING\",\"optional\":true,\"description\":\"Specifies that the observations are sorted in descending order by the variable that immediately follows the word DESCENDING in the BY statement.\",\"type\":\"standalone\"},{\"name\":\"NOTSORTED\",\"optional\":true,\"description\":\"Specifies that observations are not necessarily sorted in alphabetic or numeric order.\",\"type\":\"standalone\"}]},{\"name\":\"COPY\",\"description\":\"The COPY statement specifies a list of additional variables to be copied to the OUT= data set.\",\"help\":\"COPY variables \"},{\"name\":\"FREQ\",\"aliases\":[\"FREQUENCY\"],\"description\":\"The frequency variable is used for either standardizing variables or assigning rank scores to the ordinal variables. It has no direct effect on computing the distances.\",\"help\":\"FREQ variable\"},{\"name\":\"ID\",\"description\":\"The ID statement specifies a single variable to be copied to the OUT= data set and used to generate names for the distance variables. The ID variable must be character.\",\"help\":\"ID variable \"},{\"name\":\"VAR\",\"aliases\":[\"VARIABLE\",\"VARIABLES\"],\"description\":\"where the syntax for the opt-list is as follows: ABSENT=value MISSING=miss-method | value ORDER=order-option STD=std-method WEIGHTS=weight-list The VAR statement lists variables from which distances are to be computed. The VAR statement is required. The variables can be numeric or character depending on their measurement levels. A variable cannot appear more than once in either the same list or a different list.\",\"help\":\"VAR &lt;ANOMINAL&gt;&lt;NOMINAL&gt;&lt;ORDINAL&gt; ...\",\"arguments\":[{\"name\":\"ABSENT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the value to be used as an absence value in an irrelevant absent-absent match for asymmetric nominal variables.\",\"type\":\"value\"},{\"name\":\"ANOMINAL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"[level value] Variables are asymmetric nominal and can be either numeric or character.\",\"type\":\"standalone\"},{\"name\":\"INTERVAL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"[level value] Variables are interval and numeric.\",\"type\":\"standalone\"},{\"name\":\"MISSING=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the method (or numeric value) with which to replace missing data.]\",\"type\":\"value\"},{\"name\":\"NOMINAL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"[level value] Variables are symmetric nominal and can be either numeric or character.\",\"type\":\"standalone\"},{\"name\":\"ORDER=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Selects the order for assigning scores to ordinal variables. ]\",\"help\":\"ORDER=ASCENDING | DESCENDING | ASCFORMATTED | DESFORMATTED | DSORDER\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ASCENDING\",\"followsDelimiter\":\"/\",\"description\":\"Scores are assigned in lowest-to-highest order of unformatted values. This is the default.\",\"type\":\"standalone\"},{\"name\":\"DESCENDING\",\"followsDelimiter\":\"/\",\"description\":\"Scores are assigned in highest-to-lowest order of unformatted values.\",\"type\":\"standalone\"},{\"name\":\"ASCFORMATTED\",\"followsDelimiter\":\"/\",\"description\":\"Scores are assigned in ascending order by their formatted values.\",\"type\":\"standalone\"},{\"name\":\"DESFORMATTED\",\"followsDelimiter\":\"/\",\"description\":\"Scores are assigned in descending order by their formatted values.\",\"type\":\"standalone\"},{\"name\":\"DSORDER\",\"followsDelimiter\":\"/\",\"description\":\"Scores are assigned according to the order of their appearance in the input data set.\",\"type\":\"standalone\"}]},{\"name\":\"ORDINAL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"[level value] Variables are ordinal and can be either numeric or character.\",\"type\":\"standalone\"},{\"name\":\"RATIO\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"[level value] Variables are ratio and numeric. Ratio variables should always contain positive measurements.\",\"type\":\"standalone\"},{\"name\":\"STD=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Selects the standardization method.\",\"help\":\"STD=MEAN | MEDIAN | SUM | EUCLEN | USTD | STD | RANGE | MIDRANGE | MAXABS | IQR | MAD | AWB(c) | AHUBER(c) | AWAVE(c) | AGK(p) | SPACING(p) | L(p)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"MEAN\",\"followsDelimiter\":\"/\",\"description\":\"Mean\",\"type\":\"standalone\"},{\"name\":\"MEDIAN\",\"followsDelimiter\":\"/\",\"description\":\"Median\",\"type\":\"standalone\"},{\"name\":\"SUM\",\"followsDelimiter\":\"/\",\"description\":\"Sum\",\"type\":\"standalone\"},{\"name\":\"EUCLEN\",\"followsDelimiter\":\"/\",\"description\":\"Euclidian\",\"type\":\"standalone\"},{\"name\":\"USTD\",\"followsDelimiter\":\"/\",\"description\":\"Standard deviation about origin\",\"type\":\"standalone\"},{\"name\":\"STD\",\"followsDelimiter\":\"/\",\"description\":\"Standard deviation\",\"type\":\"standalone\"},{\"name\":\"RANGE\",\"followsDelimiter\":\"/\",\"description\":\"Range\",\"type\":\"standalone\"},{\"name\":\"MIDRANGE\",\"followsDelimiter\":\"/\",\"description\":\"Range/2\",\"type\":\"standalone\"},{\"name\":\"MAXABS\",\"followsDelimiter\":\"/\",\"description\":\"Maximum absolute value\",\"type\":\"standalone\"},{\"name\":\"IQR\",\"followsDelimiter\":\"/\",\"description\":\"Interval quartile range\",\"type\":\"standalone\"},{\"name\":\"MAD\",\"followsDelimiter\":\"/\",\"description\":\"Median absolute deviation from median\",\"type\":\"standalone\"},{\"name\":\"AWB\",\"followsDelimiter\":\"/\",\"description\":\"Biweight A-estimate\",\"help\":\"AWB(c)\",\"type\":\"standalone\"},{\"name\":\"AHUBER\",\"followsDelimiter\":\"/\",\"description\":\"Huber A-estimate\",\"help\":\"AHUBER(c)\",\"type\":\"standalone\"},{\"name\":\"AWAVE\",\"followsDelimiter\":\"/\",\"description\":\"Wave A-estimate\",\"help\":\"AWAVE(c)\",\"type\":\"standalone\"},{\"name\":\"AGK\",\"followsDelimiter\":\"/\",\"description\":\"AGK estimate (ACECLUS)\",\"help\":\"AGK(p)\",\"type\":\"standalone\"},{\"name\":\"SPACING\",\"followsDelimiter\":\"/\",\"description\":\"minimum spacing\",\"help\":\"SPACING(p)\",\"type\":\"standalone\"},{\"name\":\"L\",\"followsDelimiter\":\"/\",\"description\":\"Lp\",\"help\":\"L(p)\",\"type\":\"standalone\"}]},{\"name\":\"WEIGHTS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Assigns weights to the variables in the list.\",\"help\":\"WEIGHTS=*weight-list*\",\"type\":\"value\"}]},{\"name\":\"WEIGHT\",\"aliases\":[\"WGT\"],\"description\":\"The WEIGHT statement specifies a numeric variable in the input data set with values that are used to weight each observation. This weight variable is used for standardizing variables rather than computing the distances. Only one variable can be specified.\",\"help\":\"WEIGHT variable\"}],\"supportSiteInformation\":{\"docsetId\":\"statug\",\"docsetVersion\":\"latest\",\"docsetTargetFile\":\"statug_distance_toc.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/DLMZEXPORT.json",
    "content": "{\"name\":\"DLMZEXPORT\",\"statements\":[{\"name\":\"PROC DLMZEXPORT\",\"description\":\"The DLMZEXPORT procedure creates an analytic store from a trained deep learning model.\",\"help\":\"PROC DLMZEXPORT <dlmzexport-options>;\\n\\tEXTRAOPTIONS <extra-options>; \\n\\n\\tGPU <gpu-options>;\\n\\n\\tINDEXVARIABLES variable(s); \\n\\n\\tINPUT variable(s); \\n\\n\\tSAVESTATE <savestate-options>\\n\",\"arguments\":[{\"name\":\"BASEPATH=\",\"optional\":true,\"description\":\"specifies the base path that is used for path-based extra options. For example, if you specify a path to pretrained weights in the extra options, the model path is specified relative to this base path.\",\"help\":\"BASEPATH=*path*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0vvq4361xzd4gn1iuy8bmftzxu8\"},{\"name\":\"DATA=\",\"optional\":true,\"description\":\"specifies the table that is used to store the data for training or scoring a deep learning model.\",\"help\":\"DATA=*libref.data-table*\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"n1fja3jd1q5u15n11pld7s7dw8dt\"},{\"name\":\"DETERMINISTIC\",\"optional\":true,\"description\":\"specifies that the tensor CUDNN computations and data sequence in SMP mode must have deterministic behavior. Specifying this option makes algorithms deterministic, but reduces performance.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n18ihf495y3moon1jp3475lw2f93\"},{\"name\":\"INMODEL=\",\"optional\":true,\"description\":\"specifies the in-memory table that contains the model and model weights.\",\"help\":\"INMODEL=*libref.data-table*\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"p1s961ry2l9ousn1mh8rjve44kly\"},{\"name\":\"INPUTINDEXMAP=\",\"optional\":true,\"description\":\"specifies the table that contains the mapping from character labels to numeric labels.\",\"help\":\"INPUTINDEXMAP=*libref.data-table*\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"p1kkbnona561uln1wwexo1ilnu2g\"},{\"name\":\"IOUTYPE=\",\"optional\":true,\"description\":\"specifies the intersection-over-union used for training YOLO models.\",\"help\":\"IOUTYPE=CIOU | DIOU | GIOU | IOU\",\"type\":\"choice\",\"arguments\":[{\"name\":\"CIOU\",\"type\":\"standalone\"},{\"name\":\"DIOU\",\"type\":\"standalone\"},{\"name\":\"GIOU\",\"type\":\"standalone\"},{\"name\":\"IOU\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"p0jjnfit8fpvden17hqkdehllu2i\"},{\"name\":\"LOGLEVEL=\",\"optional\":true,\"description\":\"specifies the level of detail that is printed to the log.\",\"help\":\"LOGLEVEL=ERROR | WARNING | NOTE | INFO | DEBUG | TRACE | TRACEMODEL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ERROR\",\"description\":\"prints only error messages to the log.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n02s2zkafkqis2n1r8slm8ag3olj\"},{\"name\":\"WARNING\",\"description\":\"prints error and warning messages to the log.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n18mlcjaxx4uj2n1qf2k1yjlh6mu\"},{\"name\":\"NOTE\",\"description\":\"prints error, warning, and note messages to the log.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1utcaykxuq0chn1heu0bsbaz3ma\"},{\"name\":\"INFO\",\"description\":\"prints error, warning, note, and informative messages to the log.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n03aa8os8cbo5kn1d5tfvkmflvvo\"},{\"name\":\"DEBUG\",\"description\":\"prints all lower-level messages and useful debugging information.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n09gussd0vg1man197bwzctdw4lj\"},{\"name\":\"TRACE\",\"description\":\"prints all lower-level messages and step-by-step detail of the procedure.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0sjl2d1hc6e74n16zr086dy5suw\"},{\"name\":\"TRACEMODEL\",\"description\":\"prints all lower-level messages and step-by-step detail of the model.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1iq0u3az86uuhn10vfoii00o3ny\"}],\"supportSiteTargetFragment\":\"n07rgb9rhpzbptn1ukh5oizqr4xd\"},{\"name\":\"OBJECTIVE=\",\"optional\":true,\"description\":\"specifies the loss function for the optimization method.\",\"help\":\"OBJECTIVE=MSE | CROSS_ENTROPY | NLL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"MSE\",\"type\":\"standalone\"},{\"name\":\"CROSS_ENTROPY\",\"type\":\"standalone\"},{\"name\":\"NLL\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"n0aij273dp3t1zn1ssdsop5yl535\"},{\"name\":\"SINGLERUN\",\"optional\":true,\"description\":\"specifies that this session runs multiple actions and must keep sastorch initialized.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1odlxxpumi29in1awvn55jkptfi\"}],\"supportSiteTargetFile\":\"n08du0iaoii2sfn1mo1sqjsmq4tz.htm\"},{\"name\":\"EXTRAOPTIONS\",\"description\":\"Applies model-specific options specified in a YAML file.\",\"help\":\"EXTRAOPTIONS YAML_FILE=*path*&lt;*options*&gt;;\",\"arguments\":[{\"name\":\"YAML_FILE=\",\"description\":\"specifies the file that contains YAML-specified options.\",\"help\":\"YAML_FILE=*path*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1fjwyk10r0x5kn102ohcs7u09si\"},{\"name\":\"LABEL=\",\"optional\":true,\"description\":\"identifies the YAML document in the file specified by YAML_FILE in case there are multiple YAML documents of the same analysis type.\",\"help\":\"LABEL=*label*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1k5bempvei9con1386uo3dsv76k\"}],\"supportSiteTargetFile\":\"n123s841zja9i6n1jm4xy1wbxena.htm\"},{\"name\":\"GPU\",\"description\":\"Specifies options for training the model with GPU processing.\",\"help\":\"GPU &lt;*options*&gt;;\",\"arguments\":[{\"name\":\"DEVICES=\",\"optional\":true,\"description\":\"specifies GPU device IDs for the analysis.\",\"help\":\"DEVICES=*integer-list*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1rh8axk3mgvi4n1l6yar6h9nlvd\"}],\"supportSiteTargetFile\":\"p1w9w5pup6ekl8n1mzth4n4wcjbv.htm\"},{\"name\":\"INDEXVARIABLES\",\"description\":\"Converts character-valued labels into integer-valued labels.\",\"help\":\"INDEXVARIABLES *variables*;\",\"arguments\":[{\"name\":\"variables\",\"placeholder\":true,\"description\":\"specifies a list of variables that are used to map character-valued labels to integer-valued labels. When used with the INPUTINDEXMAP option, these variables specify which columns should be read. When used with the OUTPUTINDEXMAP option, these variables specify the names to assign to the written columns.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n08jf547gxftemn1o6wwcrpgzhg4\"}],\"supportSiteTargetFile\":\"p019vlqq3rlfmnn12ke75nh9ml1q.htm\"},{\"name\":\"INPUT\",\"description\":\"Specifies the input variables used in the analysis.\",\"help\":\"INPUT *variables*;\",\"arguments\":[{\"name\":\"variables\",\"placeholder\":true,\"description\":\"specifies a list of variables in the data table that are used to define training input.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1kmzsd7f6mt46n1kx11nfm9ogw8\"}],\"supportSiteTargetFile\":\"p0ua2oa73ezzvhn1uxvqnmatqlas.htm\"},{\"name\":\"SAVESTATE\",\"description\":\"Creates an analytic store for the model and saves it as a binary object in a data table.\",\"help\":\"SAVESTATE RSTORE=*libref.data-table*;\",\"arguments\":[{\"name\":\"RSTORE=\",\"description\":\"specifies the data table into which the analytic store is saved.\",\"help\":\"RSTORE=*libref.data-table*\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"p17l3ozpjhz91cn1psfd0xjapxxb\"}],\"supportSiteTargetFile\":\"n1aymjks20xagqn1onmmnw0gywxw.htm\"}],\"supportSiteInformation\":{\"docsetId\":\"casdlmzproc\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"p1infqzl7222wrn1vjgxzris27g8.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/DLMZSCORE.json",
    "content": "{\"name\":\"DLMZSCORE\",\"statements\":[{\"name\":\"PROC DLMZSCORE\",\"description\":\"The DLMZSCORE procedure scores a deep learning model.\",\"help\":\"PROC DLMZSCORE DATA=libref.data-tableINMODEL=libref.data-table<dlmzscore-options>; \\n\\tADDIMAGETRANSFORMATION <image-transformation-options>;\\n\\n\\tEXTRAOPTIONS <extra-options>;\\n\\n\\tGPU <gpu-options>;\\n\\n\\tINDEXVARIABLES variable(s); \\n\\n\\tINPUT variable(s); \\n\\n\\tMODELOPTIONS <model-options>; \\n\\n\\tOUTPUT <output-options>; \\n\\n\\tTARGET variable(s); \\n\",\"arguments\":[{\"name\":\"DATA=\",\"description\":\"specifies the input data table.\",\"help\":\"DATA=*libref.data-table*\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"p0v2p35qk1s15cn15ngs96596p5c\"},{\"name\":\"INMODEL=\",\"description\":\"specifies the in-memory table that contains the model and model weights.\",\"help\":\"INMODEL=*libref.data-table*\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"p1s961ry2l9ousn1mh8rjve44klya\"},{\"name\":\"BASEPATH=\",\"optional\":true,\"description\":\"specifies the base path that is used for path-based extra options. For example, if you specify a path to pretrained weights in the extra options, the model path is specified relative to this base path.\",\"help\":\"BASEPATH=*path*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0vvq4361xzd4gn1iuy8bmftzxu8a\"},{\"name\":\"BATCHSIZE=\",\"optional\":true,\"description\":\"specifies the number of observations per worker. This option controls the number of observations used per worker to compute the gradient, prior to updating the weights. Larger values use more memory.\",\"help\":\"BATCHSIZE=*integer*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1cbecbto2uztdn1v0a1yg8wzls8\"},{\"name\":\"DETERMINISTIC\",\"optional\":true,\"description\":\"specifies that the tensor CUDNN computations and data sequence in SMP mode must have deterministic behavior. Specifying this option makes algorithms deterministic, but reduces performance.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n18ihf495y3moon1jp3475lw2f93a\"},{\"name\":\"INPUTINDEXMAP=\",\"optional\":true,\"description\":\"specifies the table that contains the mapping from character labels to numeric labels.\",\"help\":\"INPUTINDEXMAP=*libref.data-table*\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"p1kkbnona561uln1wwexo1ilnu2ga\"},{\"name\":\"IOUTYPE=\",\"optional\":true,\"description\":\"specifies the intersection-over-union used for training YOLO models.\",\"help\":\"IOUTYPE=CIOU | DIOU | GIOU | IOU\",\"type\":\"choice\",\"arguments\":[{\"name\":\"CIOU\",\"type\":\"standalone\"},{\"name\":\"DIOU\",\"type\":\"standalone\"},{\"name\":\"GIOU\",\"type\":\"standalone\"},{\"name\":\"IOU\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"p0jjnfit8fpvden17hqkdehllu2ia\"},{\"name\":\"LOGLEVEL=\",\"optional\":true,\"description\":\"specifies the level of detail that is printed to the log.\",\"help\":\"LOGLEVEL=ERROR | WARNING | NOTE | INFO | DEBUG | TRACE | TRACEMODEL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ERROR\",\"description\":\"prints only error messages to the log.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n02s2zkafkqis2n1r8slm8ag3olja\"},{\"name\":\"WARNING\",\"description\":\"prints error and warning messages to the log.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n18mlcjaxx4uj2n1qf2k1yjlh6mua\"},{\"name\":\"NOTE\",\"description\":\"prints error, warning, and note messages to the log.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1utcaykxuq0chn1heu0bsbaz3maa\"},{\"name\":\"INFO\",\"description\":\"prints error, warning, note, and informative messages to the log.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n03aa8os8cbo5kn1d5tfvkmflvvoa\"},{\"name\":\"DEBUG\",\"description\":\"prints all lower-level messages and useful debugging information.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n09gussd0vg1man197bwzctdw4lja\"},{\"name\":\"TRACE\",\"description\":\"prints all lower-level messages and step-by-step detail of the procedure.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0sjl2d1hc6e74n16zr086dy5suwa\"},{\"name\":\"TRACEMODEL\",\"description\":\"prints all lower-level messages and step-by-step detail of the model.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1iq0u3az86uuhn10vfoii00o3nya\"}],\"supportSiteTargetFragment\":\"n07rgb9rhpzbptn1ukh5oizqr4xda\"},{\"name\":\"NTHREADS=\",\"optional\":true,\"description\":\"specifies the number of threads to use per worker.\",\"help\":\"NTHREADS=*integer*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1kgcuk30f5qh6n1ebmzzoqqyza2\"},{\"name\":\"OBJECTIVE=\",\"optional\":true,\"description\":\"specifies the loss function for the optimization method.\",\"help\":\"OBJECTIVE=MSE | CROSS_ENTROPY | NLL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"MSE\",\"type\":\"standalone\"},{\"name\":\"CROSS_ENTROPY\",\"type\":\"standalone\"},{\"name\":\"NLL\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"n0aij273dp3t1zn1ssdsop5yl535a\"},{\"name\":\"SINGLERUN\",\"optional\":true,\"description\":\"specifies that this session runs multiple actions and must keep sastorch initialized.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1odlxxpumi29in1awvn55jkptfia\"},{\"name\":\"TABLEDISTRIBUTION=\",\"optional\":true,\"description\":\"specifies how data is distributed in a Massively Parallel Processing environment.\",\"help\":\"TABLEDISTRIBUTION=DISTRIBUTED | REPEATED\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DISTRIBUTED\",\"type\":\"standalone\"},{\"name\":\"REPEATED\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"p1uarquxwqqh1an1v4cbtkulro8p\"}],\"supportSiteTargetFile\":\"p0b4oa6qrrf5ifn18mjg929rhqf6.htm\"},{\"name\":\"ADDIMAGETRANSFORMATION\",\"description\":\"Applies transformations to images before they are supplied to the model.\",\"help\":\"ADDIMAGETRANSFORMATION &lt;*image-transformation-options*&gt;;\",\"arguments\":[{\"name\":\"IMAGERESIZETYPE=\",\"optional\":true,\"description\":\"specifies how the image is resized.\",\"help\":\"IMAGERESIZETYPE=TO_FIX_DIM | RETAIN_ASPECTRATIO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"TO_FIX_DIM\",\"description\":\"resizes the image according to the values specified in the image size field.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1ltnci8jvyjban1b7gyz1imv3w3\"},{\"name\":\"RETAIN_ASPECTRATIO\",\"description\":\"reads one value from the size field and uses that as the larger side (height or width) of the image. The other value is scaled in order to preserve the aspect ratio of the image.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0ttpydu6iz2mxn1kjav8e3klepu\"}],\"supportSiteTargetFragment\":\"p1sqibnhvwn6c7n16y9jniqmmy0n\"},{\"name\":\"IMAGESIZE=\",\"optional\":true,\"description\":\"specifies the size of the image in pixels.\",\"help\":\"IMAGESIZE=(*width* *height*)\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0181cfa3zntokn1oqak75ec98g3\"}],\"supportSiteTargetFile\":\"p1edzapa2nf026n1hnf2lrwllfln.htm\"},{\"name\":\"EXTRAOPTIONS\",\"description\":\"Applies model-specific options specified in a YAML file.\",\"help\":\"EXTRAOPTIONS YAML_FILE=*path*&lt;*options*&gt;;\",\"arguments\":[{\"name\":\"YAML_FILE=\",\"description\":\"specifies the file that contains YAML-specified options.\",\"help\":\"YAML_FILE=*path*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0g8r2mu0saumdn19wqycbgo53zi\"},{\"name\":\"LABEL=\",\"optional\":true,\"description\":\"identifies the YAML document in the file specified by YAML_FILE in case there are multiple YAML documents of the same analysis type.\",\"help\":\"LABEL=*label*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1ny55agpriks6n1uxsopwpym0zn\"}],\"supportSiteTargetFile\":\"p0iarnq9xwmdjon1rp3l6lgqbhvp.htm\"},{\"name\":\"GPU\",\"description\":\"Specifies options for training the model with GPU processing.\",\"help\":\"GPU &lt;*options*&gt;;\",\"arguments\":[{\"name\":\"DEVICES=\",\"optional\":true,\"description\":\"specifies GPU device IDs for the analysis.\",\"help\":\"DEVICES=*integer-list*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1rh8axk3mgvi4n1l6yar6h9nlvda\"}],\"supportSiteTargetFile\":\"p1w9w5pup6ekl8n1mzth4n4wcjbva.htm\"},{\"name\":\"INDEXVARIABLES\",\"description\":\"Converts character-valued labels into integer-valued labels.\",\"help\":\"INDEXVARIABLES *variables*;\",\"arguments\":[{\"name\":\"variables\",\"placeholder\":true,\"description\":\"specifies a list of variables that are used to map character-valued labels to integer-valued labels. When used with the INPUTINDEXMAP option, these variables specify which columns should be read. When used with the OUTPUTINDEXMAP option, these variables specify the names to assign to the written columns.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n08jf547gxftemn1o6wwcrpgzhg4a\"}],\"supportSiteTargetFile\":\"p019vlqq3rlfmnn12ke75nh9ml1qa.htm\"},{\"name\":\"INPUT\",\"description\":\"Specifies the input variables used in the analysis.\",\"help\":\"INPUT *variables*;\",\"arguments\":[{\"name\":\"variables\",\"placeholder\":true,\"description\":\"specifies a list of variables in the data table that are used to define training input.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1kmzsd7f6mt46n1kx11nfm9ogw8a\"}],\"supportSiteTargetFile\":\"p0ua2oa73ezzvhn1uxvqnmatqlasa.htm\"},{\"name\":\"MODELOPTIONS\",\"description\":\"Applies model-specific options by internally generating a YAML file.\",\"help\":\"MODELOPTIONS &lt;*model-options*&gt;;\",\"arguments\":[{\"name\":\"CASLIB\",\"optional\":true,\"description\":\"specifies the caslib in which the model is stored.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0mfk1j83w2rakn155y2clmibeb2\"},{\"name\":\"DATASETTYPE\",\"optional\":true,\"description\":\"specifies the type of data set.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0n6lb6bxjxps8n1oj08kc442wva\"},{\"name\":\"LABEL\",\"optional\":true,\"description\":\"specifies a label to use when generating a YAML document.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1g6vaazuag7l2n1gmr54qi0jjml\"},{\"name\":\"ENCODING\",\"optional\":true,\"description\":\"specifies the size of the output tensor.\",\"help\":\"ENCODING \",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0cw3u39axcchvn1s5ydqeajm1ua\"},{\"name\":\"MODELNAME\",\"optional\":true,\"description\":\"specifies the name of the model. This field is used only for TorchNative models.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n01j12ce904bxbn17t9bxwpg55js\"},{\"name\":\"MODELTYPE\",\"optional\":true,\"description\":\"specifies the type of model.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p034t4gpnzw9cen1r909zt7eek01\"},{\"name\":\"NUMCLASSES\",\"optional\":true,\"description\":\"specifies the number of classes that are used for the image classification component of the model.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1fl0flrnx6tu2n1e5l2dwgy1k1u\"}],\"supportSiteTargetFile\":\"n09wutlo28nf83n1gz2po4smtgdq.htm\"},{\"name\":\"OUTPUT\",\"description\":\"The OUTPUT statement specifies options for the output table that contains the predicted results.\",\"help\":\"OUTPUT &lt;OUT=*CAS-libref.output-table*&gt;&lt;COPYVARS=*variable*&gt; ; \",\"arguments\":[{\"name\":\"OUT=\",\"optional\":true,\"description\":\"specifies an in-memory table that is used to store the output generated from scoring.\",\"help\":\"OUT=*CAS-libref.output-table*\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"n1hvvgzo39yziun189yuwkbms5lv\"},{\"name\":\"COPYVARS=\",\"optional\":true,\"description\":\"specifies the variables to transfer from the input table to the output table.\",\"help\":\"COPYVARS=*variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0ibyjx60s1i7tn1mhmr9kxe17rw\"}],\"supportSiteTargetFile\":\"p0xharmmcj59qrn1u1ngtun4n40w.htm\"},{\"name\":\"TARGET\",\"description\":\"The TARGET statement specifies options for the target variables.\",\"help\":\"TARGET   ; \",\"arguments\":[{\"name\":\"variables\",\"optional\":true,\"description\":\"specifies the target or response variables for training the model.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0lpbp3f4xhvugn1783r74o5ru4f\"}],\"supportSiteTargetFile\":\"n0mcsb8h2c14p5n1vlxrs7bxlix6.htm\"}],\"supportSiteInformation\":{\"docsetId\":\"casdlmzproc\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"n0gjchybwvsynfn1ri14gqxvd86x.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/DLMZTRAIN.json",
    "content": "{\"name\":\"DLMZTRAIN\",\"statements\":[{\"name\":\"PROC DLMZTRAIN\",\"description\":\"Trains a deep learning model.\",\"help\":\"PROC DLMZTRAIN DATA=libref.data-table <options>;\\n\\tADDIMAGETRANSFORMATION <options>;\\n\\n\\tEXTRAOPTIONS <options>;\\n\\n\\tGPU <options>;\\n\\n\\tINDEXVARIABLES <options>;\\n\\n\\tINPUT variable-list;\\n\\n\\tMODELOPTIONS <options>;\\n\\n\\tOPTIMIZER <options>;\\n\\n\\tTARGET variable-list;\\n\",\"arguments\":[{\"name\":\"DATA=\",\"description\":\"specifies an in-memory table that is used to store the data for training a deep learning model.\",\"help\":\"DATA=*libref.data-table*\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"n0c0a5l810mxumn1qhi1sm8896gn\"},{\"name\":\"BASEPATH=\",\"optional\":true,\"description\":\"specifies the base path that is used for path-based extra options. For example, if you specify a path to pretrained weights in the extra options, the model path is specified relative to this base path.\",\"help\":\"BASEPATH=*path*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0vvq4361xzd4gn1iuy8bmftzxu8b\"},{\"name\":\"CACHEIMAGES=\",\"optional\":true,\"description\":\"specifies how images should be cached during training.\",\"help\":\"CACHEIMAGES=AFTERDECODE | BEFOREDECODE | NEVER\",\"type\":\"choice\",\"arguments\":[{\"name\":\"AFTERDECODE\",\"type\":\"standalone\"},{\"name\":\"BEFOREDECODE\",\"type\":\"standalone\"},{\"name\":\"NEVER\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"p1fifnbuj9ktthn0zxfw9r4y7axq\"},{\"name\":\"DROPLAST\",\"optional\":true,\"description\":\"skips the last batch of an epoch if the last batch is not a full batch.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p00irfqxyplczyn1tmwvzrpzyr5c\"},{\"name\":\"INPUTINDEXMAP=\",\"optional\":true,\"description\":\"specifies the table that contains the mapping from character labels to numeric labels.\",\"help\":\"INPUTINDEXMAP=*libref.data-table*\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"p1kkbnona561uln1wwexo1ilnu2gb\"},{\"name\":\"INMODEL=\",\"optional\":true,\"description\":\"specifies the table that contains the model that you would like to train.\",\"help\":\"INMODEL=*libref.data-table*\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"p1q2vb2cutc2pin18umnet99smmb\"},{\"name\":\"IOUTYPE=\",\"optional\":true,\"description\":\"specifies the intersection-over-union used for training YOLO models.\",\"help\":\"IOUTYPE=CIOU | DIOU | GIOU | IOU\",\"type\":\"choice\",\"arguments\":[{\"name\":\"CIOU\",\"type\":\"standalone\"},{\"name\":\"DIOU\",\"type\":\"standalone\"},{\"name\":\"GIOU\",\"type\":\"standalone\"},{\"name\":\"IOU\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"p0jjnfit8fpvden17hqkdehllu2ib\"},{\"name\":\"LOGLEVEL=\",\"optional\":true,\"description\":\"specifies the level of detail that is printed to the log.\",\"help\":\"LOGLEVEL=ERROR | WARNING | NOTE | INFO | DEBUG | TRACE | TRACEMODEL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ERROR\",\"description\":\"prints only error messages to the log.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n02s2zkafkqis2n1r8slm8ag3oljb\"},{\"name\":\"WARNING\",\"description\":\"prints error and warning messages to the log.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n18mlcjaxx4uj2n1qf2k1yjlh6mub\"},{\"name\":\"NOTE\",\"description\":\"prints error, warning, and note messages to the log.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1utcaykxuq0chn1heu0bsbaz3mab\"},{\"name\":\"INFO\",\"description\":\"prints error, warning, note, and informative messages to the log.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n03aa8os8cbo5kn1d5tfvkmflvvob\"},{\"name\":\"DEBUG\",\"description\":\"prints all lower-level messages and useful debugging information.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n09gussd0vg1man197bwzctdw4ljb\"},{\"name\":\"TRACE\",\"description\":\"prints all lower-level messages and step-by-step detail of the procedure.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0sjl2d1hc6e74n16zr086dy5suwb\"},{\"name\":\"TRACEMODEL\",\"description\":\"prints all lower-level messages and step-by-step detail of the model.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1iq0u3az86uuhn10vfoii00o3nyb\"}],\"supportSiteTargetFragment\":\"n07rgb9rhpzbptn1ukh5oizqr4xdb\"},{\"name\":\"NTHREADS=\",\"optional\":true,\"description\":\"specifies the number of threads to use per worker.\",\"help\":\"NTHREADS=*integer*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1kgcuk30f5qh6n1ebmzzoqqyza2a\"},{\"name\":\"OUTMODEL=\",\"optional\":true,\"description\":\"specifies an in-memory table that is used to store the model and model weights.\",\"help\":\"OUTMODEL=*libref.data-table*\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"p0skno10qe0stgn1i6l3vhkbteuq\"},{\"name\":\"OUTPUTINDEXMAP=\",\"optional\":true,\"description\":\"specifies the table in which to write the mapping from character labels to numeric labels.\",\"help\":\"OUTPUTINDEXMAP=*libref.data-table*\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"p0mifcygru3okin1crzxydj00kiz\"},{\"name\":\"TABLEDISTRIBUTION=\",\"optional\":true,\"description\":\"specifies how data is distributed in a Massively Parallel Processing environment.\",\"help\":\"TABLEDISTRIBUTION=DISTRIBUTED | REPEATED\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DISTRIBUTED\",\"type\":\"standalone\"},{\"name\":\"REPEATED\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"p1uarquxwqqh1an1v4cbtkulro8pa\"},{\"name\":\"VALIDATIONTABLE=\",\"optional\":true,\"description\":\"specifies an in-memory table that is used to store the data for validating a deep learning model.\",\"help\":\"VALIDATIONTABLE=*libref.data-table*\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"p0saqnn57bccv6n1n1v9pukjf8ux\"}],\"supportSiteTargetFile\":\"n0p0xcs4wlaxswn11svi96uekh9w.htm\"},{\"name\":\"ADDIMAGETRANSFORMATION\",\"description\":\"Applies transformations to images before they are supplied to the model.\",\"help\":\"ADDIMAGETRANSFORMATION &lt;*image-transformation-options*&gt;;\",\"arguments\":[{\"name\":\"IMAGERESIZETYPE=\",\"optional\":true,\"description\":\"specifies how the image is resized.\",\"help\":\"IMAGERESIZETYPE=TO_FIX_DIM | RETAIN_ASPECTRATIO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"TO_FIX_DIM\",\"description\":\"resizes the image according to the values specified in the image size field.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1ltnci8jvyjban1b7gyz1imv3w3a\"},{\"name\":\"RETAIN_ASPECTRATIO\",\"description\":\"reads one value from the size field and uses that as the larger side (height or width) of the image. The other value is scaled in order to preserve the aspect ratio of the image.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0ttpydu6iz2mxn1kjav8e3klepua\"}],\"supportSiteTargetFragment\":\"p1sqibnhvwn6c7n16y9jniqmmy0na\"},{\"name\":\"IMAGESIZE=\",\"optional\":true,\"description\":\"specifies the size of the image in pixels.\",\"help\":\"IMAGESIZE=(*width* *height*)\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0181cfa3zntokn1oqak75ec98g3a\"}],\"supportSiteTargetFile\":\"p1edzapa2nf026n1hnf2lrwllflna.htm\"},{\"name\":\"EXTRAOPTIONS\",\"description\":\"Applies model-specific options specified in a YAML file.\",\"help\":\"EXTRAOPTIONS YAML_FILE=*path*&lt;*options*&gt;;\",\"arguments\":[{\"name\":\"YAML_FILE=\",\"description\":\"specifies the file that contains YAML-specified options.\",\"help\":\"YAML_FILE=*path*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0g8r2mu0saumdn19wqycbgo53zia\"},{\"name\":\"LABEL=\",\"optional\":true,\"description\":\"identifies the YAML document in the file specified by YAML_FILE in case there are multiple YAML documents of the same analysis type.\",\"help\":\"LABEL=*label*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1ny55agpriks6n1uxsopwpym0zna\"}],\"supportSiteTargetFile\":\"p0iarnq9xwmdjon1rp3l6lgqbhvpa.htm\"},{\"name\":\"GPU\",\"description\":\"Specifies options for training the model with GPU processing.\",\"help\":\"GPU &lt;*options*&gt;;\",\"arguments\":[{\"name\":\"DEVICES=\",\"optional\":true,\"description\":\"specifies GPU device IDs for the analysis.\",\"help\":\"DEVICES=*integer-list*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1rh8axk3mgvi4n1l6yar6h9nlvdb\"}],\"supportSiteTargetFile\":\"p1w9w5pup6ekl8n1mzth4n4wcjbvb.htm\"},{\"name\":\"INDEXVARIABLES\",\"description\":\"Converts character-valued labels into integer-valued labels.\",\"help\":\"INDEXVARIABLES *variables*;\",\"arguments\":[{\"name\":\"variables\",\"placeholder\":true,\"description\":\"specifies a list of variables that are used to map character-valued labels to integer-valued labels. When used with the INPUTINDEXMAP option, these variables specify which columns should be read. When used with the OUTPUTINDEXMAP option, these variables specify the names to assign to the written columns.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n08jf547gxftemn1o6wwcrpgzhg4b\"}],\"supportSiteTargetFile\":\"p019vlqq3rlfmnn12ke75nh9ml1qb.htm\"},{\"name\":\"INPUT\",\"description\":\"Specifies the input variables used in the analysis.\",\"help\":\"INPUT *variables*;\",\"arguments\":[{\"name\":\"variables\",\"placeholder\":true,\"description\":\"specifies a list of variables in the data table that are used to define training input.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1kmzsd7f6mt46n1kx11nfm9ogw8b\"}],\"supportSiteTargetFile\":\"p0ua2oa73ezzvhn1uxvqnmatqlasb.htm\"},{\"name\":\"MODELOPTIONS\",\"description\":\"Applies model-specific options by internally generating a YAML file.\",\"help\":\"MODELOPTIONS &lt;*model-options*&gt;;\",\"arguments\":[{\"name\":\"CASLIB\",\"optional\":true,\"description\":\"specifies the caslib in which the model is stored.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0mfk1j83w2rakn155y2clmibeb2a\"},{\"name\":\"DATASETTYPE\",\"optional\":true,\"description\":\"specifies the type of data set.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0n6lb6bxjxps8n1oj08kc442wvaa\"},{\"name\":\"LABEL\",\"optional\":true,\"description\":\"specifies a label to use when generating a YAML document.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1g6vaazuag7l2n1gmr54qi0jjmla\"},{\"name\":\"ENCODING\",\"optional\":true,\"description\":\"specifies the size of the output tensor.\",\"help\":\"ENCODING \",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0cw3u39axcchvn1s5ydqeajm1uaa\"},{\"name\":\"MODELNAME\",\"optional\":true,\"description\":\"specifies the name of the model. This field is used only for TorchNative models.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n01j12ce904bxbn17t9bxwpg55jsa\"},{\"name\":\"MODELTYPE\",\"optional\":true,\"description\":\"specifies the type of model.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p034t4gpnzw9cen1r909zt7eek01a\"},{\"name\":\"NUMCLASSES\",\"optional\":true,\"description\":\"specifies the number of classes that are used for the image classification component of the model.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1fl0flrnx6tu2n1e5l2dwgy1k1ua\"}],\"supportSiteTargetFile\":\"n09wutlo28nf83n1gz2po4smtgdqa.htm\"},{\"name\":\"OPTIMIZER\",\"description\":\"Specifies the settings for the optimization algorithm used to train the model.\",\"help\":\"OPTIMIZER &lt;*options*&gt;;\",\"arguments\":[{\"name\":\"ALGORITHM\",\"optional\":true,\"description\":\"specifies the optimization algorithm and algorithm-specific options.\",\"help\":\"ALGORITHM(*algorithm-options*)\",\"type\":\"value\",\"arguments\":[{\"name\":\"ADAGRAD\",\"description\":\"AdaGrad options include the following:\",\"help\":\"ADAGRAD(*adagrad-options*)\",\"type\":\"value\",\"arguments\":[{\"name\":\"EPS=\",\"description\":\"specifies the term added to the denominator to improve numerical stability.\",\"help\":\"EPS=*number*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n01113bxg0lz1mn1hw83ai6tzp53a\"},{\"name\":\"LR\",\"description\":\"specifies learning rate options as a space-separated list of one or more name-value pairs.\",\"help\":\"LR(*learning-rate-options*)\",\"type\":\"value\",\"arguments\":[{\"name\":\"INITVALUE=\",\"description\":\"specifies the initial learning rate to start tuning.\",\"help\":\"INITVALUE=*number*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1jt3n606ta1zdn12tqiqvfjuoq7a\"},{\"name\":\"LOGSCALE=\",\"description\":\"specifies how to scale the learning rate range.\",\"help\":\"LOGSCALE=FACTOR | LINEAR | LN | LOG10 | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"FACTOR\",\"type\":\"standalone\"},{\"name\":\"LINEAR\",\"type\":\"standalone\"},{\"name\":\"LN\",\"type\":\"standalone\"},{\"name\":\"LOG10\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"p1az71kgjsrehbn1i3f5jjfvkxnta\"},{\"name\":\"SCALEFACTOR=\",\"description\":\"specifies the factor by which the learning rate range is scaled.\",\"help\":\"SCALEFACTOR=*number*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0ah4hhhppkkkln1qhhd7kfgv38za\"},{\"name\":\"VALUE=\",\"description\":\"specifies the value to use for the learning rate.\",\"help\":\"VALUE=*number*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0a2225vuu6zson1o4gxwia82abza\"},{\"name\":\"VALUELIST=\",\"description\":\"specifies a list of candidate values to use for the learning rate.\",\"help\":\"VALUELIST=*number-list*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n00ymmi0wgnf7mn1m1hl1jgizn66a\"}],\"supportSiteTargetFragment\":\"p1jmd7l2cbk2z4n15630c0w9246la\"},{\"name\":\"LR_DECAY=\",\"description\":\"specifies the learning rate decay of the optimization method.\",\"help\":\"LR_DECAY=*number*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0z7o8lkand5pxn14xizvayneu7n\"},{\"name\":\"WEIGHT_DECAY\",\"description\":\"specifies the weight decay (L2 penalty) of the optimizer.\",\"help\":\"WEIGHT_DECAY(*weightdecay-options*)\",\"type\":\"value\",\"arguments\":[{\"name\":\"INITVALUE=\",\"description\":\"specifies the initial weight decay value to begin tuning.\",\"help\":\"INITVALUE=*number*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p08bo8vu9h3314n1r3qny0fw3hh4a\"},{\"name\":\"LOGSCALE=\",\"description\":\"specifies how to scale the weight decay range.\",\"help\":\"LOGSCALE=FACTOR | LINEAR | LN | LOG10 | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"FACTOR\",\"type\":\"standalone\"},{\"name\":\"LINEAR\",\"type\":\"standalone\"},{\"name\":\"LN\",\"type\":\"standalone\"},{\"name\":\"LOG10\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"n05g2nojj54hazn0zvvi6jbm9uyka\"},{\"name\":\"SCALEFACTOR=\",\"description\":\"specifies the factor by which the learning rate range is scaled.\",\"help\":\"SCALEFACTOR=*number*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1pbulwgif0fion18plqrska175fa\"},{\"name\":\"VALUE=\",\"description\":\"specifies the value to use for the learning rate.\",\"help\":\"VALUE=*number*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0mmrkmd5dqp6hn17u61h6u220rja\"},{\"name\":\"VALUELIST=\",\"description\":\"specifies a list of candidate values to use for the learning rate.\",\"help\":\"VALUELIST=*number-list*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1htg144rapwv4n1wkcdm8wpcea9a\"}],\"supportSiteTargetFragment\":\"p0gdr4lfd2n5oln15p14ey59odrfa\"}],\"supportSiteTargetFragment\":\"p17cwyjmzyoc0qn1qx1flqfmlx7y\"},{\"name\":\"ADAM\",\"description\":\"Adam options include the following:\",\"help\":\"ADAM(*adam-options*)\",\"type\":\"value\",\"arguments\":[{\"name\":\"AMSGRAD\",\"description\":\"when set to True, the AMSGrad variant of the ADAM algorithm is used.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n03zraohc3fkfen1cq30d1gl1nn5\"},{\"name\":\"BETA1=\",\"description\":\"specifies the exponential decay rate for the first moment in an ADAM-based optimizer.\",\"help\":\"BETA1=(*beta1-options*)\",\"type\":\"value\",\"arguments\":[{\"name\":\"INITVALUE=\",\"description\":\"specifies the initial BETA1 value to begin tuning.\",\"help\":\"INITVALUE=*number*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n04vy110rueg78n17d4i7817762y\"},{\"name\":\"LOGSCALE=\",\"description\":\"specifies how to scale the BETA1 range.\",\"help\":\"LOGSCALE=FACTOR | LINEAR | LN | LOG10 | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"FACTOR\",\"type\":\"standalone\"},{\"name\":\"LINEAR\",\"type\":\"standalone\"},{\"name\":\"LN\",\"type\":\"standalone\"},{\"name\":\"LOG10\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"p0crkewplzshe7n1pbjyzez107vl\"},{\"name\":\"SCALEFACTOR=\",\"description\":\"specifies the factor by which the BETA1 range is scaled.\",\"help\":\"SCALEFACTOR=*number*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p16tecbwuvhzban16rgxhdemey6f\"},{\"name\":\"VALUE=\",\"description\":\"specifies the value to use for the BETA1 parameter.\",\"help\":\"VALUE=*number*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p13wfekv7w6mdvn1iwnunv27iw7d\"},{\"name\":\"VALUELIST=\",\"description\":\"specifies a list of candidate values to use for the BETA1 parameter.\",\"help\":\"VALUELIST=*number-list*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1ihtoqm9iegv2n1masnkldmj147\"}],\"supportSiteTargetFragment\":\"n1hm3nn3w90uqbn1cgqzdod6qcc2\"},{\"name\":\"BETA2=\",\"description\":\"specifies the exponential decay rate for the second moment in an ADAM-based optimizer.\",\"help\":\"BETA2=(*beta2-options*)\",\"type\":\"value\",\"arguments\":[{\"name\":\"INITVALUE=\",\"description\":\"specifies the initial BETA2 value to begin tuning.\",\"help\":\"INITVALUE=*number*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1xotjrn4ifs25n113nah1s3dris\"},{\"name\":\"LOGSCALE=\",\"description\":\"specifies how to scale the BETA2 range.\",\"help\":\"LOGSCALE=FACTOR | LINEAR | LN | LOG10 | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"FACTOR\",\"type\":\"standalone\"},{\"name\":\"LINEAR\",\"type\":\"standalone\"},{\"name\":\"LN\",\"type\":\"standalone\"},{\"name\":\"LOG10\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"n0xd5zozr6zqx9n15z4whbeggmc4\"},{\"name\":\"SCALEFACTOR=\",\"description\":\"specifies the factor by which the BETA2 range is scaled.\",\"help\":\"SCALEFACTOR=*number*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0vdv1ypi4oripn1hjscq1b94j9v\"},{\"name\":\"VALUE=\",\"description\":\"specifies the value to use for the BETA2 parameter.\",\"help\":\"VALUE=*number*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0nepoyyy6h15gn1jena8f0t5gmb\"},{\"name\":\"VALUELIST=\",\"description\":\"specifies a space-separated list of candidate values to use for the BETA2 parameter.\",\"help\":\"VALUELIST=(*number-list*)\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n18ghlz5oqb3r2n1w4p2f6byj2xq\"}],\"supportSiteTargetFragment\":\"n1959k7dv75fg4n1v7nbjuu7eij6\"},{\"name\":\"EPS=\",\"description\":\"specifies the term added to the denominator to improve numerical stability.\",\"help\":\"EPS=*number*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n01113bxg0lz1mn1hw83ai6tzp53b\"},{\"name\":\"LR\",\"description\":\"specifies learning rate options as a space-separated list of one or more name-value pairs.\",\"help\":\"LR(*learning-rate-options*)\",\"type\":\"value\",\"arguments\":[{\"name\":\"INITVALUE=\",\"description\":\"specifies the initial learning rate to start tuning.\",\"help\":\"INITVALUE=*number*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1jt3n606ta1zdn12tqiqvfjuoq7b\"},{\"name\":\"LOGSCALE=\",\"description\":\"specifies how to scale the learning rate range.\",\"help\":\"LOGSCALE=FACTOR | LINEAR | LN | LOG10 | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"FACTOR\",\"type\":\"standalone\"},{\"name\":\"LINEAR\",\"type\":\"standalone\"},{\"name\":\"LN\",\"type\":\"standalone\"},{\"name\":\"LOG10\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"p1az71kgjsrehbn1i3f5jjfvkxntb\"},{\"name\":\"SCALEFACTOR=\",\"description\":\"specifies the factor by which the learning rate range is scaled.\",\"help\":\"SCALEFACTOR=*number*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0ah4hhhppkkkln1qhhd7kfgv38zb\"},{\"name\":\"VALUE=\",\"description\":\"specifies the value to use for the learning rate.\",\"help\":\"VALUE=*number*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0a2225vuu6zson1o4gxwia82abzb\"},{\"name\":\"VALUELIST=\",\"description\":\"specifies a list of candidate values to use for the learning rate.\",\"help\":\"VALUELIST=*number-list*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n00ymmi0wgnf7mn1m1hl1jgizn66b\"}],\"supportSiteTargetFragment\":\"p1jmd7l2cbk2z4n15630c0w9246lb\"},{\"name\":\"WEIGHT_DECAY\",\"description\":\"specifies the weight decay (L2 penalty) of the optimizer.\",\"help\":\"WEIGHT_DECAY(*weightdecay-options*)\",\"type\":\"value\",\"arguments\":[{\"name\":\"INITVALUE=\",\"description\":\"specifies the initial weight decay value to begin tuning.\",\"help\":\"INITVALUE=*number*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p08bo8vu9h3314n1r3qny0fw3hh4b\"},{\"name\":\"LOGSCALE=\",\"description\":\"specifies how to scale the weight decay range.\",\"help\":\"LOGSCALE=FACTOR | LINEAR | LN | LOG10 | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"FACTOR\",\"type\":\"standalone\"},{\"name\":\"LINEAR\",\"type\":\"standalone\"},{\"name\":\"LN\",\"type\":\"standalone\"},{\"name\":\"LOG10\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"n05g2nojj54hazn0zvvi6jbm9uykb\"},{\"name\":\"SCALEFACTOR=\",\"description\":\"specifies the factor by which the learning rate range is scaled.\",\"help\":\"SCALEFACTOR=*number*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1pbulwgif0fion18plqrska175fb\"},{\"name\":\"VALUE=\",\"description\":\"specifies the value to use for the learning rate.\",\"help\":\"VALUE=*number*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0mmrkmd5dqp6hn17u61h6u220rjb\"},{\"name\":\"VALUELIST=\",\"description\":\"specifies a list of candidate values to use for the learning rate.\",\"help\":\"VALUELIST=*number-list*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1htg144rapwv4n1wkcdm8wpcea9b\"}],\"supportSiteTargetFragment\":\"p0gdr4lfd2n5oln15p14ey59odrfb\"}],\"supportSiteTargetFragment\":\"p1s6xf5rovhiykn1r3jjg8z2zmwn\"},{\"name\":\"ADAMW\",\"description\":\"ADAMW includes the following options:\",\"help\":\"ADAMW(*adamw-options*)\",\"type\":\"value\",\"arguments\":[{\"name\":\"AMSGRAD\",\"description\":\"when set to True, the AMSGrad variant of the ADAM algorithm is used.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n03zraohc3fkfen1cq30d1gl1nn5a\"},{\"name\":\"BETA1=\",\"description\":\"specifies the exponential decay rate for the first moment in an ADAM-based optimizer.\",\"help\":\"BETA1=(*beta1-options*)\",\"type\":\"value\",\"arguments\":[{\"name\":\"INITVALUE=\",\"description\":\"specifies the initial BETA1 value to begin tuning.\",\"help\":\"INITVALUE=*number*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n04vy110rueg78n17d4i7817762ya\"},{\"name\":\"LOGSCALE=\",\"description\":\"specifies how to scale the BETA1 range.\",\"help\":\"LOGSCALE=FACTOR | LINEAR | LN | LOG10 | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"FACTOR\",\"type\":\"standalone\"},{\"name\":\"LINEAR\",\"type\":\"standalone\"},{\"name\":\"LN\",\"type\":\"standalone\"},{\"name\":\"LOG10\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"p0crkewplzshe7n1pbjyzez107vla\"},{\"name\":\"SCALEFACTOR=\",\"description\":\"specifies the factor by which the BETA1 range is scaled.\",\"help\":\"SCALEFACTOR=*number*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p16tecbwuvhzban16rgxhdemey6fa\"},{\"name\":\"VALUE=\",\"description\":\"specifies the value to use for the BETA1 parameter.\",\"help\":\"VALUE=*number*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p13wfekv7w6mdvn1iwnunv27iw7da\"},{\"name\":\"VALUELIST=\",\"description\":\"specifies a list of candidate values to use for the BETA1 parameter.\",\"help\":\"VALUELIST=*number-list*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1ihtoqm9iegv2n1masnkldmj147a\"}],\"supportSiteTargetFragment\":\"n1hm3nn3w90uqbn1cgqzdod6qcc2a\"},{\"name\":\"BETA2=\",\"description\":\"specifies the exponential decay rate for the second moment in an ADAM-based optimizer.\",\"help\":\"BETA2=(*beta2-options*)\",\"type\":\"value\",\"arguments\":[{\"name\":\"INITVALUE=\",\"description\":\"specifies the initial BETA2 value to begin tuning.\",\"help\":\"INITVALUE=*number*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1xotjrn4ifs25n113nah1s3drisa\"},{\"name\":\"LOGSCALE=\",\"description\":\"specifies how to scale the BETA2 range.\",\"help\":\"LOGSCALE=FACTOR | LINEAR | LN | LOG10 | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"FACTOR\",\"type\":\"standalone\"},{\"name\":\"LINEAR\",\"type\":\"standalone\"},{\"name\":\"LN\",\"type\":\"standalone\"},{\"name\":\"LOG10\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"n0xd5zozr6zqx9n15z4whbeggmc4a\"},{\"name\":\"SCALEFACTOR=\",\"description\":\"specifies the factor by which the BETA2 range is scaled.\",\"help\":\"SCALEFACTOR=*number*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0vdv1ypi4oripn1hjscq1b94j9va\"},{\"name\":\"VALUE=\",\"description\":\"specifies the value to use for the BETA2 parameter.\",\"help\":\"VALUE=*number*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0nepoyyy6h15gn1jena8f0t5gmba\"},{\"name\":\"VALUELIST=\",\"description\":\"specifies a space-separated list of candidate values to use for the BETA2 parameter.\",\"help\":\"VALUELIST=(*number-list*)\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n18ghlz5oqb3r2n1w4p2f6byj2xqa\"}],\"supportSiteTargetFragment\":\"n1959k7dv75fg4n1v7nbjuu7eij6a\"},{\"name\":\"EPS=\",\"description\":\"specifies the term added to the denominator to improve numerical stability.\",\"help\":\"EPS=*number*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n01113bxg0lz1mn1hw83ai6tzp53c\"},{\"name\":\"LR\",\"description\":\"specifies learning rate options as a space-separated list of one or more name-value pairs.\",\"help\":\"LR(*learning-rate-options*)\",\"type\":\"value\",\"arguments\":[{\"name\":\"INITVALUE=\",\"description\":\"specifies the initial learning rate to start tuning.\",\"help\":\"INITVALUE=*number*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1jt3n606ta1zdn12tqiqvfjuoq7c\"},{\"name\":\"LOGSCALE=\",\"description\":\"specifies how to scale the learning rate range.\",\"help\":\"LOGSCALE=FACTOR | LINEAR | LN | LOG10 | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"FACTOR\",\"type\":\"standalone\"},{\"name\":\"LINEAR\",\"type\":\"standalone\"},{\"name\":\"LN\",\"type\":\"standalone\"},{\"name\":\"LOG10\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"p1az71kgjsrehbn1i3f5jjfvkxntc\"},{\"name\":\"SCALEFACTOR=\",\"description\":\"specifies the factor by which the learning rate range is scaled.\",\"help\":\"SCALEFACTOR=*number*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0ah4hhhppkkkln1qhhd7kfgv38zc\"},{\"name\":\"VALUE=\",\"description\":\"specifies the value to use for the learning rate.\",\"help\":\"VALUE=*number*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0a2225vuu6zson1o4gxwia82abzc\"},{\"name\":\"VALUELIST=\",\"description\":\"specifies a list of candidate values to use for the learning rate.\",\"help\":\"VALUELIST=*number-list*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n00ymmi0wgnf7mn1m1hl1jgizn66c\"}],\"supportSiteTargetFragment\":\"p1jmd7l2cbk2z4n15630c0w9246lc\"},{\"name\":\"WEIGHT_DECAY\",\"description\":\"specifies the weight decay (L2 penalty) of the optimizer.\",\"help\":\"WEIGHT_DECAY(*weightdecay-options*)\",\"type\":\"value\",\"arguments\":[{\"name\":\"INITVALUE=\",\"description\":\"specifies the initial weight decay value to begin tuning.\",\"help\":\"INITVALUE=*number*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p08bo8vu9h3314n1r3qny0fw3hh4c\"},{\"name\":\"LOGSCALE=\",\"description\":\"specifies how to scale the weight decay range.\",\"help\":\"LOGSCALE=FACTOR | LINEAR | LN | LOG10 | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"FACTOR\",\"type\":\"standalone\"},{\"name\":\"LINEAR\",\"type\":\"standalone\"},{\"name\":\"LN\",\"type\":\"standalone\"},{\"name\":\"LOG10\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"n05g2nojj54hazn0zvvi6jbm9uykc\"},{\"name\":\"SCALEFACTOR=\",\"description\":\"specifies the factor by which the learning rate range is scaled.\",\"help\":\"SCALEFACTOR=*number*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1pbulwgif0fion18plqrska175fc\"},{\"name\":\"VALUE=\",\"description\":\"specifies the value to use for the learning rate.\",\"help\":\"VALUE=*number*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0mmrkmd5dqp6hn17u61h6u220rjc\"},{\"name\":\"VALUELIST=\",\"description\":\"specifies a list of candidate values to use for the learning rate.\",\"help\":\"VALUELIST=*number-list*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1htg144rapwv4n1wkcdm8wpcea9c\"}],\"supportSiteTargetFragment\":\"p0gdr4lfd2n5oln15p14ey59odrfc\"}],\"supportSiteTargetFragment\":\"n1n5s9r0gmch1wn14dkzghs1i0wp\"},{\"name\":\"LBFGS\",\"description\":\"LBFGS includes the following options:\",\"help\":\"LBFGS(*lbfgs-options*)\",\"type\":\"value\",\"arguments\":[{\"name\":\"LINESEARCHMETHOD=\",\"description\":\"specifies line-search algorithms used in L-BFGS solver.\",\"help\":\"LINESEARCHMETHOD=NONE | \\nSTRONG_WOLFE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NONE\",\"type\":\"standalone\"},{\"name\":\"STRONG_WOLFE\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"n075tfpkvxgc2in11je8d8yfmv1i\"},{\"name\":\"LR\",\"description\":\"specifies learning rate options as a space-separated list of one or more name-value pairs.\",\"help\":\"LR(*learning-rate-options*)\",\"type\":\"value\",\"arguments\":[{\"name\":\"INITVALUE=\",\"description\":\"specifies the initial learning rate to start tuning.\",\"help\":\"INITVALUE=*number*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1jt3n606ta1zdn12tqiqvfjuoq7d\"},{\"name\":\"LOGSCALE=\",\"description\":\"specifies how to scale the learning rate range.\",\"help\":\"LOGSCALE=FACTOR | LINEAR | LN | LOG10 | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"FACTOR\",\"type\":\"standalone\"},{\"name\":\"LINEAR\",\"type\":\"standalone\"},{\"name\":\"LN\",\"type\":\"standalone\"},{\"name\":\"LOG10\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"p1az71kgjsrehbn1i3f5jjfvkxntd\"},{\"name\":\"SCALEFACTOR=\",\"description\":\"specifies the factor by which the learning rate range is scaled.\",\"help\":\"SCALEFACTOR=*number*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0ah4hhhppkkkln1qhhd7kfgv38zd\"},{\"name\":\"VALUE=\",\"description\":\"specifies the value to use for the learning rate.\",\"help\":\"VALUE=*number*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0a2225vuu6zson1o4gxwia82abzd\"},{\"name\":\"VALUELIST=\",\"description\":\"specifies a list of candidate values to use for the learning rate.\",\"help\":\"VALUELIST=*number-list*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n00ymmi0wgnf7mn1m1hl1jgizn66d\"}],\"supportSiteTargetFragment\":\"p1jmd7l2cbk2z4n15630c0w9246ld\"},{\"name\":\"MAXEVALS=\",\"description\":\"specifies the maximum number of evaluations for the L-BFGS solver.\",\"help\":\"MAXEVALS=*number*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n081vhq0vzy7e3n1q8hupxydg6sh\"},{\"name\":\"MAXITERS\",\"description\":\"specifies the maximum number of iterations for the L-BFGS solver.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1959pdery0nrmn1gbiya8sci0lu\"},{\"name\":\"NUMCORRECTIONS\",\"description\":\"specifies the number of corrections used in the L-BFGS update.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1cn8qawrz9nydn15oi0gp78mka2\"},{\"name\":\"TOLERANCECHANGE\",\"description\":\"specifies the convergence criterion of function change for the L-BFGS solver.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1sc1xmjqxbh65n15o8wgoqs89sl\"},{\"name\":\"TOLERANCEGRAD\",\"description\":\"specifies the first-order stopping tolerance for the L-BFGS solver.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1qu2i1b9827awn1u0jov4k7cj4t\"}],\"supportSiteTargetFragment\":\"n13hoowaqofwm4n1d7t5klglpkq3\"},{\"name\":\"SGD\",\"description\":\"SGD includes the following options:\",\"help\":\"SGD(*sgd-options*)\",\"type\":\"value\",\"arguments\":[{\"name\":\"DAMPENING=\",\"description\":\"specifies the dampening for momentum of the SGD method.\",\"help\":\"DAMPENING=(*dampening-options*)\",\"type\":\"value\",\"arguments\":[{\"name\":\"INITVALUE=\",\"description\":\"specifies the initial dampening value to begin tuning.\",\"help\":\"INITVALUE=*number*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1ml3hpddjmcjvn16g9af13qhcsi\"},{\"name\":\"LOGSCALE=\",\"description\":\"specifies how to scale the dampening range.\",\"help\":\"LOGSCALE=FACTOR | LINEAR | LN | LOG10 | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"FACTOR\",\"type\":\"standalone\"},{\"name\":\"LINEAR\",\"type\":\"standalone\"},{\"name\":\"LN\",\"type\":\"standalone\"},{\"name\":\"LOG10\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"n0r3uxr7bsw5ycn1s7acxd83coii\"},{\"name\":\"SCALEFACTOR=\",\"description\":\"specifies the factor by which the dampening range is scaled.\",\"help\":\"SCALEFACTOR=*number*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n13awij75320hxn1nfb0wriga30b\"},{\"name\":\"VALUE=\",\"description\":\"specifies the value to use for the dampening parameter.\",\"help\":\"VALUE=*number*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0tj9w3jy30x1zn1lbnccjk1rhf0\"},{\"name\":\"VALUELIST=\",\"description\":\"specifies a list of candidate values to use for the dampening parameter.\",\"help\":\"VALUELIST=*number-list*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0ivbg40vnitvin1x5xk5pg3e890\"}],\"supportSiteTargetFragment\":\"n0rahsuf0952k0n1333lcjt75b1w\"},{\"name\":\"LR\",\"description\":\"specifies learning rate options as a space-separated list of one or more name-value pairs.\",\"help\":\"LR(*learning-rate-options*)\",\"type\":\"value\",\"arguments\":[{\"name\":\"INITVALUE=\",\"description\":\"specifies the initial learning rate to start tuning.\",\"help\":\"INITVALUE=*number*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1jt3n606ta1zdn12tqiqvfjuoq7e\"},{\"name\":\"LOGSCALE=\",\"description\":\"specifies how to scale the learning rate range.\",\"help\":\"LOGSCALE=FACTOR | LINEAR | LN | LOG10 | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"FACTOR\",\"type\":\"standalone\"},{\"name\":\"LINEAR\",\"type\":\"standalone\"},{\"name\":\"LN\",\"type\":\"standalone\"},{\"name\":\"LOG10\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"p1az71kgjsrehbn1i3f5jjfvkxnte\"},{\"name\":\"SCALEFACTOR=\",\"description\":\"specifies the factor by which the learning rate range is scaled.\",\"help\":\"SCALEFACTOR=*number*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0ah4hhhppkkkln1qhhd7kfgv38ze\"},{\"name\":\"VALUE=\",\"description\":\"specifies the value to use for the learning rate.\",\"help\":\"VALUE=*number*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0a2225vuu6zson1o4gxwia82abze\"},{\"name\":\"VALUELIST=\",\"description\":\"specifies a list of candidate values to use for the learning rate.\",\"help\":\"VALUELIST=*number-list*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n00ymmi0wgnf7mn1m1hl1jgizn66e\"}],\"supportSiteTargetFragment\":\"p1jmd7l2cbk2z4n15630c0w9246le\"},{\"name\":\"MOMENTUM=\",\"description\":\"specifies the momentum of the SGD method.\",\"help\":\"MOMENTUM=(*momentum-options*)\",\"type\":\"value\",\"arguments\":[{\"name\":\"INITVALUE=\",\"description\":\"specifies the initial momentum value to begin tuning.\",\"help\":\"INITVALUE=*number*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p01wwi90n8tvj0n1guyxjwkdf605\"},{\"name\":\"LOGSCALE=\",\"description\":\"specifies how to scale the momentum range.\",\"help\":\"LOGSCALE=FACTOR | LINEAR | LN | LOG10 | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"FACTOR\",\"type\":\"standalone\"},{\"name\":\"LINEAR\",\"type\":\"standalone\"},{\"name\":\"LN\",\"type\":\"standalone\"},{\"name\":\"LOG10\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"p007ry6mw4yadkn1606lvzkorxmk\"},{\"name\":\"SCALEFACTOR=\",\"description\":\"specifies the factor by which the momentum range is scaled.\",\"help\":\"SCALEFACTOR=*number*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0yh35wpgcr6hkn1tl01n9iz1vz4\"},{\"name\":\"VALUE=\",\"description\":\"specifies the value to use for the momentum parameter.\",\"help\":\"VALUE=*number*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p00bu75hbfkdbdn160j0ry5ot3iy\"},{\"name\":\"VALUELIST=\",\"description\":\"specifies a list of candidate values to use for the momentum parameter.\",\"help\":\"VALUELIST=*number-list*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1snietebo0mzrn17frvx3ckoj4y\"}],\"supportSiteTargetFragment\":\"n10n1jow9ml9vtn19i9d55w4outb\"},{\"name\":\"NESTEROV\",\"description\":\"when True, use Nesterov momentum.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0r152azycdntyn12vpaqz75gsv3\"},{\"name\":\"WEIGHT_DECAY\",\"description\":\"specifies the weight decay (L2 penalty) of the optimizer.\",\"help\":\"WEIGHT_DECAY(*weightdecay-options*)\",\"type\":\"value\",\"arguments\":[{\"name\":\"INITVALUE=\",\"description\":\"specifies the initial weight decay value to begin tuning.\",\"help\":\"INITVALUE=*number*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p08bo8vu9h3314n1r3qny0fw3hh4d\"},{\"name\":\"LOGSCALE=\",\"description\":\"specifies how to scale the weight decay range.\",\"help\":\"LOGSCALE=FACTOR | LINEAR | LN | LOG10 | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"FACTOR\",\"type\":\"standalone\"},{\"name\":\"LINEAR\",\"type\":\"standalone\"},{\"name\":\"LN\",\"type\":\"standalone\"},{\"name\":\"LOG10\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"n05g2nojj54hazn0zvvi6jbm9uykd\"},{\"name\":\"SCALEFACTOR=\",\"description\":\"specifies the factor by which the learning rate range is scaled.\",\"help\":\"SCALEFACTOR=*number*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1pbulwgif0fion18plqrska175fd\"},{\"name\":\"VALUE=\",\"description\":\"specifies the value to use for the learning rate.\",\"help\":\"VALUE=*number*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0mmrkmd5dqp6hn17u61h6u220rjd\"},{\"name\":\"VALUELIST=\",\"description\":\"specifies a list of candidate values to use for the learning rate.\",\"help\":\"VALUELIST=*number-list*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1htg144rapwv4n1wkcdm8wpcea9d\"}],\"supportSiteTargetFragment\":\"p0gdr4lfd2n5oln15p14ey59odrfd\"}],\"supportSiteTargetFragment\":\"p1u8q6fvg8iockn1wt680cgvfmhp\"}],\"supportSiteTargetFragment\":\"n12cdizc9r94rcn14xga1ex384ii\"},{\"name\":\"BATCHSIZE=\",\"optional\":true,\"description\":\"specifies the batch size options of the optimizer.\",\"help\":\"BATCHSIZE=(*batchsize-options*)\",\"type\":\"value\",\"arguments\":[{\"name\":\"INITVALUE=\",\"description\":\"specifies the initial batch size to begin tuning.\",\"help\":\"INITVALUE=*number*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0ijy2kyz6r9hvn18pisxw57nwew\"},{\"name\":\"LOGSCALE=\",\"description\":\"specifies how to scale the batch size range.\",\"help\":\"LOGSCALE=FACTOR | LINEAR | LN | LOG10 | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"FACTOR\",\"type\":\"standalone\"},{\"name\":\"LINEAR\",\"type\":\"standalone\"},{\"name\":\"LN\",\"type\":\"standalone\"},{\"name\":\"LOG10\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"n18gkm6w59zmo0n16rdi6otf4yp1\"},{\"name\":\"SCALEFACTOR=\",\"description\":\"specifies the factor by which the batch size range is scaled.\",\"help\":\"SCALEFACTOR=*number*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0vuk8t9pdsihwn1569tmwcjsuj5\"},{\"name\":\"VALUE=\",\"description\":\"specifies the value to use for the batch size parameter.\",\"help\":\"VALUE=*number*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p09z0u6kohdbvwn11y1j1fqz1h8b\"},{\"name\":\"VALUELIST=\",\"description\":\"specifies a list of candidate values to use for the batch size parameter.\",\"help\":\"VALUELIST=*number-list*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1mo081t7ch57cn1ilkaoq7da17s\"}],\"supportSiteTargetFragment\":\"n03isehxx7chbwn14uy8ozs6ryqu\"},{\"name\":\"MAXEPOCHS=\",\"optional\":true,\"description\":\"specifies the maximum number of epochs.\",\"help\":\"MAXEPOCHS=*number*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n10fdq2sjkggmwn1ll5pzmzvv106\"},{\"name\":\"OBJECTIVE=\",\"optional\":true,\"description\":\"specifies the loss function for the optimization method.\",\"help\":\"OBJECTIVE=CROSS_ENTROPY | MSE | NLL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"CROSS_ENTROPY\",\"description\":\"uses the cross entropy loss function.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p09vzbpgb0l33hn1scgpu6qb9uj5\"},{\"name\":\"MSE\",\"description\":\"uses the mean squared error loss function.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n09v139sii2n37n1vuv0bs3g5ftj\"},{\"name\":\"NLL\",\"description\":\"uses the negative log likelihood loss function.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1syj6azs8pey3n17uwfoij5r8pu\"}],\"supportSiteTargetFragment\":\"p0j6mkq3fp4jqdn1bs5k57o51802\"},{\"name\":\"SEED=\",\"optional\":true,\"description\":\"specifies the random number seed value for the random number generator in SGD.\",\"help\":\"SEED=*number*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0y38qu4se3xcan1minagthl68og\"}],\"supportSiteTargetFile\":\"n0bbw37z068f57n19ogto62hh91z.htm\"},{\"name\":\"TARGET\",\"description\":\"Specifies the target variables used in the analysis.\",\"help\":\"TARGET *variables*;\",\"arguments\":[{\"name\":\"variables\",\"placeholder\":true,\"description\":\"specifies a list of variables in the data table that are used as the training target.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n10r1lvyb7g0hrn102jkx040nwyb\"}],\"supportSiteTargetFile\":\"n1u6qy4tqt70xon1xreb0fsqw7nb.htm\"}],\"supportSiteInformation\":{\"docsetId\":\"casdlmzproc\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"n01cbcelk4yhdon17pgsszo9v1on.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/DMSRVADM.json",
    "content": "{\"name\":\"DMSRVADM\",\"statements\":[{\"name\":\"PROC DMSRVADM\",\"description\":\"The DMSRVADM procedure creates a status information data set.\",\"help\":\"PROC DMSRVADM \\n\\t< HOST=host-name>\\n\\t\\t<OUT=output-data-set>\\n\\t\\t<PASSWORD=password>\\n\\t\\t<PORT= job-port-number>\\n\\t\\t<USERID= userid>;             \\n\",\"arguments\":[{\"name\":\"HOST=\",\"optional\":true,\"description\":\"identifies the host of the DataFlux Data Management Server. The host name can be a variable or a literal string. The string or variable value is the URL of the server.\",\"help\":\"HOST=*host-name*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0xhcnu76z1erdn1tsizntx24sf0\"},{\"name\":\"OUT=\",\"optional\":true,\"description\":\"specifies the storage location of the job status data set.\",\"help\":\"OUT=*output-data-set*\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"p0z4losuqhmgzin13lwd3uxg3j5k\"},{\"name\":\"PASSWORD=\",\"optional\":true,\"description\":\"authenticates the user according to the registry in the DataFlux Data Management Server. The password can be plain text or encoded in SAS.\",\"help\":\"PASSWORD=*password*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0eaathi43g0ifn1fm18n00lzc81\"},{\"name\":\"PORT=\",\"optional\":true,\"description\":\"identifies the port through which the host communicates with the DataFlux Data Management Server.\",\"help\":\"PORT=*port-number*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0p186jmx0hllin1upb8qcnpxrzq\"},{\"name\":\"USERID=\",\"optional\":true,\"description\":\"authenticates the user according to the registry in the DataFlux Data Management Server.\",\"help\":\"USERID=*userid*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p12n1bwy7bt1i5n148h5u9t9u07x\"}],\"supportSiteTargetFile\":\"p0mt69jlik8hirn1hlwn9neyitiw.htm\"}],\"supportSiteInformation\":{\"docsetId\":\"dqclref\",\"docsetVersion\":\"v_008\",\"docsetTargetFile\":\"n15nsfihbjr1h6n1d76y8l1ua7n7.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/DMSRVDATASVC.json",
    "content": "{\"name\":\"DMSRVDATASVC\",\"statements\":[{\"name\":\"PROC DMSRVDATASVC\",\"description\":\"The DMSRVDATASVC procedure runs a real-time service on DataFlux Data Management Server.\",\"help\":\"PROC DMSRVDATASVC \\n\\t<DATA=input-data-set>\\n\\t\\t<BLOCKSIZE=rows-per-message>\\n\\t\\t<HOST='host-name>' \\n\\t\\t<PARMLIST='parameter-list'>\\n\\t\\t<MISSINGVARSOK>\\n\\t\\t<NOPRINT>\\n\\t\\t<OUT=output-data-set>\\n\\t\\t<PASSWORD='password-on-server'>\\n\\t\\t<PORT=port-number>\\n\\t\\t<SERVICE=service-name>\\n\\t\\t<SERVICEINFO>\\n\\t\\t<TIMEOUT=message-processing-limit>\\n\\t\\t<TRIM>\\n\\t\\t<USERID='user-name-on-server'>;\\n\",\"arguments\":[{\"name\":\"BLOCKSIZE=\",\"optional\":true,\"description\":\"specifies the maximum number of rows of source data that are transmitted in the messages that are sent to the DataFlux Data Management Server. If this option is not specified, then the entire data set is transmitted in a single message. Transmitting large data sets in a single message can restrict resources on the DataFlux Data Management Server. The server processes each message separately. Output is delivered in a single message.\",\"help\":\" BLOCKSIZE=*rows-per-message*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1iz7tr9kuwlmsn1mf2foo38fjcv\"},{\"name\":\"DATA=\",\"optional\":true,\"description\":\"identifies name of the input data set.\",\"help\":\"DATA=*data-set-name*\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"n1x2nzahftd6etn1iakfsnfzmkjn\"},{\"name\":\"HOST=\",\"optional\":true,\"description\":\"identifies the host of the DataFlux Data Management Server. The host name can be a variable or a literal string. The literal string or the value of the variable is the URL of the server.\",\"help\":\"HOST=*host-name*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1kj02vcvkvbkgn1sj5vq24bobtj\"},{\"name\":\"PARMLIST=\",\"optional\":true,\"description\":\"specifies one or more input parameters for the real-time service, as a series of name and value pairs. If the real-time service uses a parameter list, and if a name in that list matches a name in the suppliedparameter-list, then the name in the real-time service list is assigned the corresponding value in the parameter-list.\",\"help\":\"PARMLIST=*parameter-list*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1quvt2r0emtr6n1gq4sz4rr7sas\"},{\"name\":\"MISSINGVARSOK\",\"optional\":true,\"description\":\"indicates that the real-time service is to be allowed to continue to run when one or more variables (or table columns) are missing from the input data set. When the MISSINGVARSOK option is set, any data that is missing from the input data set is assumed to be non-critical.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n12v1hr1wh6o8zn1adgd9jdjam42\"},{\"name\":\"NOPRINT\",\"optional\":true,\"description\":\"if the SERVICEINFO option is specified, NOPRINT prevents the SERVICEINFO information from being written into the SAS log.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1dxmizh9q9mw0n1sy9dng7t5bmo\"},{\"name\":\"OUT=\",\"optional\":true,\"description\":\"identifies the name of the output data set. Real-time services always create new data sets or overwrite existing data sets.\",\"help\":\"OUT=*output-data-set*\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"n12qr3zxqvjfffn1fl65b53chq76\"},{\"name\":\"PASSWORD=\",\"optional\":true,\"description\":\"authenticates the user according to the registry in the DataFlux Data Management Server. The password can be plain text or encoded in SAS.\",\"help\":\"PASSWORD=*password*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1nrca5ap0yyisn132fakzduxq7w\"},{\"name\":\"PORT=\",\"optional\":true,\"description\":\"identifies the port number through which the named host communicates with the DataFlux Data Management Server. If this option is not specified, or if the value is zero or a negative number, then the default port number 21036 is used.\",\"help\":\"PORT=*port-number*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1mirdt66stq6sn1sf3w1o5i4pc3\"},{\"name\":\"SERVICE=\",\"optional\":true,\"description\":\"identifies the real-time service on the DataFlux Data Management Server.\",\"help\":\"SERVICE=*service-name*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0qscomq3hcntkn157lr129llesd\"},{\"name\":\"SERVICEINFO\",\"optional\":true,\"description\":\"writes the input and output columns used by the real-time service into the data set that is specified by the OUT option.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1oijicbq58ujpn14qy7dl99urjs\"},{\"name\":\"TIMEOUT=\",\"optional\":true,\"description\":\"specifies a time in seconds after which the procedure terminates if the host that is running the DMSRVDATASVC procedure has not received a response from the DataFlux Data Management Server. If data is delivered to the server in multiple messages using the BLOCKSIZE option, then the TIMEOUT value is applied to each message.\",\"help\":\"TIMEOUT=*message-processing-limit*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n08pxbjhbjb6ecn1np9rvd2afgdp\"},{\"name\":\"TRIM\",\"optional\":true,\"description\":\"removes any blank spaces from the end of the input values.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n19uh9gqynxllkn1qfskevume0g0\"},{\"name\":\"USERID=\",\"optional\":true,\"description\":\"identifies the user according to the registry in the DataFlux Data Management Server.\",\"help\":\"USERID=user-name\\n                     \",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1pkwoj8kdj0can1fwd25i9dcm6n\"}],\"supportSiteTargetFile\":\"n0ka50ikeiox3nn1bfamczmc8ech.htm\"}],\"supportSiteInformation\":{\"docsetId\":\"dqclref\",\"docsetVersion\":\"v_008\",\"docsetTargetFile\":\"n1osmfep1syc3in1w9r7ms8zmo25.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/DMSRVPROCESSSVC.json",
    "content": "{\"name\":\"DMSRVPROCESSSVC\",\"statements\":[{\"name\":\"PROC DMSRVPROCESSSVC\",\"description\":\"The DMSRVPROCESSSVC procedure runs a service on a DataFlux Data Management Server.\",\"help\":\"PROC DMSRVPROCESSSVC \\n\\t<HOST='host-name'>\\n\\t\\t<PARMLIST=parameter-list>\\n\\t\\t<NOPRINT>\\n\\t\\t<OUT=output-data-set>\\n\\t\\t<PASSWORD='password-on-server'>\\n\\t\\t<PORT=port-number>\\n\\t\\t<SERVICE='service-name'>\\n\\t\\t<SERVICEINFO>\\n\\t\\t<TIMEOUT=message-processing-limit>\\n\\t\\t<USERID='user-name-on-server'>;\\n\",\"arguments\":[{\"name\":\"HOST=\",\"optional\":true,\"description\":\"identifies the host of the DataFlux Data Management Server. The host name can be a variable or a literal string. The literal string or the value of the variable is the URL of the server.\",\"help\":\"HOST=*host-name*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n06dj6kk3k1h4mn18m6ue83xtykz\"},{\"name\":\"PARMLIST=\",\"optional\":true,\"description\":\"specifies one or more input parameters for the process service, as a series of name and value pairs. If the process service uses a parameter list, and if a name in that list matches a name in the suppliedparameter-list, then the name in the process service list is assigned the corresponding value in the parameter-list.\",\"help\":\"PARMLIST=*parameter-list*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1kr1anhguglrqn1pin8mh4m1qpu\"},{\"name\":\"NOPRINT\",\"optional\":true,\"description\":\"if the SERVICEINFO option is specified, NOPRINT prevents the SERVICEINFO information from being written into the SAS log.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1d82mj41ofhjsn1et780h96qnr1\"},{\"name\":\"OUT=\",\"optional\":true,\"description\":\"identifies the name of the output data set. Process services always create new data sets or overwrite existing data sets.\",\"help\":\"OUT=*output-data-set*\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"n0iizrgekl6tson1evmaq8bednln\"},{\"name\":\"PASSWORD=\",\"optional\":true,\"description\":\"authenticates the user according to the registry in the DataFlux Data Management Server. The password can be plain text or encoded in SAS.\",\"help\":\"PASSWORD=*password*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1lcvflaidiichn14rqzhero17x1\"},{\"name\":\"PORT=\",\"optional\":true,\"description\":\"identifies the port number through which the named host communicates with the DataFlux Data Management Server. If this option is not specified, or if the value is zero or a negative number, the default port number 21036 is used.\",\"help\":\"PORT=*port-number*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1tadxffl9b7n9n13hpvdeb51fst\"},{\"name\":\"SERVICE=\",\"optional\":true,\"description\":\"identifies the process service on the DataFlux Data Management Server.\",\"help\":\"SERVICE=*service-name*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p028cra791ma9cn1p0nalmmro0es\"},{\"name\":\"SERVICEINFO\",\"optional\":true,\"description\":\"writes the input and output columns used by the process service into the data set that is specified by the OUT option.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p07kh3428kwu1jn133fcad1jtmu2\"},{\"name\":\"TIMEOUT=\",\"optional\":true,\"description\":\"specifies a time in seconds after which the procedure terminates if the host that is running the DMSRVPROCESSSVC procedure has has not received a response from the DataFlux Data Management Server. If data is delivered to the server in multiple messages using the BLOCKSIZE option, then the TIMEOUT value is applied to each message.\",\"help\":\"TIMEOUT=*message-processing-limit*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0g4dgftjzok3dn1pdc32h5qv3mk\"},{\"name\":\"USERID=\",\"optional\":true,\"description\":\"identifies the user according to the registry in the DataFlux Data Management Server.\",\"help\":\"USERID=user-name\\n              \",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1j11aketxg9u9n1kb98iwteqq9u\"}],\"supportSiteTargetFile\":\"p0oiem2r1i5ob1n15ovuwmk8e20h.htm\"}],\"supportSiteInformation\":{\"docsetId\":\"dqclref\",\"docsetVersion\":\"v_008\",\"docsetTargetFile\":\"p0d6fevr1x4sbfn1suakm35p488i.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/DOCUMENT.json",
    "content": "{\"name\":\"DOCUMENT\",\"statements\":[{\"name\":\"PROC DOCUMENT\",\"description\":\"Creates or opens a document to modify.\",\"help\":\"PROC DOCUMENT <options>;  \\n\\tCOPY path<(where-expression)><, path-2 <(where-expression-2)>,  ...>TO path</ options>;\\n\\tDELETE path<(where-expression)><, path-2 <(where-expression-2)>,  ...>< / LEVELS= ALL | value>;\\n\\tDIR <path>;\\n\\tDOC <options>; \\n\\tDOC CLOSE ;\\n\\tHIDE path<, path-2,  ...>;\\n\\tIMPORT DATA= data-set-name<data-set-options> |  GRSEG=grseg | TEXTFILE=filename | filerefTO path</ options>;\\n\\tLINK pathTO path</ options >;\\n\\tLIST path<(where-expression)><, path-2 <(where-expression-2)>,  ...></ options>;\\n\\tMAKE path<, path-2,  ...></ options>;\\n\\tMOVE path<(where-expression)><, path-2 <(where-expression-2)>,  ...>TO path</ options >;\\n\\tNOTE path<'text'></ options>;\\n\\tOBANOTE <n>output-object<'text'></ option>;\\n\\tOBBNOTE <n>output-object<'text'></ option>;\\n\\tOBDYNAM output-object;\\n\\tOBFOOTN <n>output-object<'text'>;\\n\\tOBPAGE output-object</ options>;\\n\\tOBSTITLE <n>output-object<'text'></ options>;\\n\\tOBTEMPL output-object;\\n\\tOBTITLE <n>output-object<'text'>;\\n\\tRENAME path-1TO path-2;\\n\\tREPLAY path<(where-expression)><, path-2 <(where-expression-2)>,  ...></ options>;\\n\\tSETLABEL path 'label';\\n\\tUNHIDE path<, path-2,  ...>;QUIT ;\",\"arguments\":[{\"name\":\"NAME=\",\"optional\":true,\"description\":\"specifies the name of a new or existing document and its access mode.\",\"help\":\"NAME= *&lt;libref.&gt;member-name*&lt;READ | UPDATE | WRITE&gt;\",\"type\":\"dataSet\",\"arguments\":[{\"name\":\"<libref.>member-name\",\"placeholder\":true,\"description\":\"identifies a new or existing ODS document.\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"p14ds3cl6psmwwn15jivasinkpum\"},{\"name\":\"READ\",\"description\":\"opens a document and provides Read-Only access.\",\"help\":\"READ \",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0vuft8vf9v1qen1avp1bv13gb2t\"},{\"name\":\"UPDATE\",\"description\":\"opens an ODS document and appends new content to the document. UPDATE provides Update access as well as Read access. UPDATE is the default access setting.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n144mdouxzug16n1qf9wc1d410j2\"},{\"name\":\"WRITE\",\"description\":\"opens a document and provides Read and Write access.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1wn0cvs5lqenjn189fe7y4bpmlm\"}],\"supportSiteTargetFragment\":\"n0u5rbymial432n1shuaq4r95lw2\"},{\"name\":\"LABEL=\",\"optional\":true,\"description\":\"assigns a label to a document.\",\"help\":\"LABEL= '*label*'\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1u3watnqcdscbn1qetlcg0x8jre\"}],\"supportSiteTargetFile\":\"p12gsvre1it3rsn1ce641m2q7svy.htm\"},{\"name\":\"COPY\",\"description\":\"Copies an entry into the specified path.\",\"help\":\"COPY *path*&lt;(*where-expression*)&gt;&lt;, *path-2* &lt;(*where-expression-2*)&gt;,  ...&gt;TO *path*&lt;/ *options*&gt;;\",\"arguments\":[{\"name\":\"TO\",\"description\":\"specifies the path. You can have multiple TO arguments.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1759mbptknmp8n1jhbbn9eujuv2\"},{\"name\":\"path\",\"placeholder\":true,\"description\":\"is the location where a link, output object, or file is copied.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0laobkjla84xmn1127s91921vn3\"},{\"name\":\"(WHERE=())\",\"optional\":true,\"description\":\"conditionally selects a subset of entries in an ODS document.\",\"help\":\"(WHERE=(*where-expression-1*&lt;*operator*&gt;))\",\"type\":\"value\",\"arguments\":[{\"name\":\"constant\",\"description\":\"is a fixed value such as a date literal, a value, or a BY variable value.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0tj7asu1mk5run1xsjofzarxexha\"},{\"name\":\"SAS\",\"description\":\"returns a value from a computation or system manipulation.\",\"help\":\"SAS function\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1ri4wegbsqu52n1pg9xy524zgnia\"},{\"name\":\"subsetting\",\"description\":\"is a special type of WHERE expression operand used by the DOCUMENT procedure to help you find common values in ODS documents.\",\"help\":\"subsetting variable\",\"type\":\"standalone\",\"arguments\":[{\"name\":\"_CDATE_\",\"description\":\"is the creation date of the current entry.\",\"help\":\"_CDATE_ \",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0lfm4vux0bxe6n1dl7ump6dkkxca\"},{\"name\":\"_CDATETIME_\",\"description\":\"is the creation datetime of the current entry.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0dfd9embayf6bn1hmb76j03866la\"},{\"name\":\"_CTIME_\",\"description\":\"is the creation time of the current entry.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n03hkmi3ntqsmzn179h4uz9zft70a\"},{\"name\":\"_LABEL_\",\"description\":\"is the label of the current entry.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1qr20fsjm5c30n1rx7m3dcxcuy2a\"},{\"name\":\"_LABELPATH_\",\"description\":\"is the path to the label of the current entry. Document label paths are formed by concatenating the labels and sequence numbers, and then separating them with the forward slash (/) symbol.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p09w1vy2alcnwzn1l3n34l085id5a\"},{\"name\":\"_MAX_\",\"description\":\"is the last observation.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0w4r9mznywyq0n1pbsyfckk1i79a\"},{\"name\":\"_MDATE_\",\"description\":\"is the modification date of the current entry.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n032kxo39xpa1jn1a7i502i6efssa\"},{\"name\":\"_MDATETIME_\",\"description\":\"is the modification datetime of the current entry.\",\"help\":\"_MDATETIME_   \",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0ot3ze4iiasnrn1dlcl4pbep9a8a\"},{\"name\":\"_MIN_\",\"description\":\"is the first observation.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0r2er0sudn9gpn1ji264nm1biwda\"},{\"name\":\"_MTIME_\",\"description\":\"is the modification time of the current entry.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1pvger8j2fj4dn1nrxxq5yjo295a\"},{\"name\":\"_NAME_\",\"description\":\"is the name of the current entry.\",\"help\":\"_NAME_ \",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p16i9edmqnkdidn1k3ous7tgvs0ma\"},{\"name\":\"_OBS_\",\"description\":\"is the current observation number in an output object.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n16ou1mc9lu6btn1l853guw9soifa\"},{\"name\":\"observation-number\",\"placeholder\":true,\"description\":\"is the observation number to be replayed.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1ec2n7ryhdr79n1jp433d05pdrqa\"},{\"name\":\"observation-variable\",\"placeholder\":true,\"description\":\"is the name of an observation.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0pdvt4kx3gu8ln1dl6d1hg4kkzda\"},{\"name\":\"_PATH_\",\"description\":\"is the path of the current entry.\",\"help\":\" _PATH_\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1szr737hak5avn1s1hu6ovgv5fma\"},{\"name\":\"_SEQNO_\",\"description\":\"is the sequence number of the current entry.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n048cj2hk4qg4un15i4pprkt7fepa\"},{\"name\":\"_TYPE_\",\"description\":\"is the type of the current entry.\",\"help\":\"_TYPE_  \",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1u3g1svi129udn18pugirbbwy76a\"},{\"name\":\"variable-name\",\"placeholder\":true,\"description\":\"is the name of a BY variable.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1nve1rnchqbv5n135b2pqivl94ia\"}],\"supportSiteTargetFragment\":\"p1574j24bn9vd3n1r5f7hcznie2za\"},{\"name\":\"operator\",\"placeholder\":true,\"description\":\"compares one variable with a value or another variable.\",\"help\":\"*operator*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1jup3jajl2qzcn10d0osa6fa759a\"}],\"supportSiteTargetFragment\":\"n0yr29ps3qhhlgn106u6nbgmh7j1a\"},{\"name\":\"AFTER=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"inserts a copy of an entry after the specified path.\",\"help\":\"AFTER= *path*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1sg2urxib4a6pn1vukabbe5wr8r\"},{\"name\":\"BEFORE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"inserts a copy of an entry before the specified path.\",\"help\":\"BEFORE= *path*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0hn5avrzw382tn1bt8zx8w5um1q\"},{\"name\":\"FIRST\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"inserts a copy of an entry at the beginning of the specified directory.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0dir8y8fxr6hqn1ujiuebfmu9um\"},{\"name\":\"LAST\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"inserts a copy of an entry at the end of the specified directory.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p01rqkv2onj105n167rgm9hyflfh\"},{\"name\":\"LEVELS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the number of levels that you want to copy.\",\"help\":\"LEVELS= ALL | *value*\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ALL\",\"followsDelimiter\":\"/\",\"description\":\"specifies all levels.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0o8wwvbnlejztn11cye8u88i1wv\"},{\"name\":\"value\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the numeric value of the path level.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0r65udtv6c1xmn1vd39oc32ai5e\"}],\"supportSiteTargetFragment\":\"p0lu2n181naei0n1vpcgzse99ago\"}],\"supportSiteTargetFile\":\"p17s2w5uysqdr4n1lwo2mup13obs.htm\"},{\"name\":\"DELETE\",\"description\":\"Deletes entries from the current directory.\",\"help\":\"DELETE *path*&lt;(*where-expression*)&gt;&lt;, *path-2* &lt;(*where-expression-2*)&gt;,  ...&gt;&lt;  / LEVELS=  ALL | value&gt;;\",\"arguments\":[{\"name\":\"path\",\"placeholder\":true,\"description\":\"specifies the location of one or more links, output objects, or directories.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1ivfuvokya6d3n1uxqp8npn2d19\"},{\"name\":\"(WHERE=())\",\"optional\":true,\"description\":\"conditionally selects a subset of entries in an ODS document.\",\"help\":\"(WHERE=(*where-expression-1*&lt;*operator*&gt;))\",\"type\":\"value\",\"arguments\":[{\"name\":\"constant\",\"description\":\"is a fixed value such as a date literal, a value, or a BY variable value.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0tj7asu1mk5run1xsjofzarxexhb\"},{\"name\":\"SAS\",\"description\":\"returns a value from a computation or system manipulation.\",\"help\":\"SAS function\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1ri4wegbsqu52n1pg9xy524zgnib\"},{\"name\":\"subsetting\",\"description\":\"is a special type of WHERE expression operand used by the DOCUMENT procedure to help you find common values in ODS documents.\",\"help\":\"subsetting variable\",\"type\":\"standalone\",\"arguments\":[{\"name\":\"_CDATE_\",\"description\":\"is the creation date of the current entry.\",\"help\":\"_CDATE_ \",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0lfm4vux0bxe6n1dl7ump6dkkxcb\"},{\"name\":\"_CDATETIME_\",\"description\":\"is the creation datetime of the current entry.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0dfd9embayf6bn1hmb76j03866lb\"},{\"name\":\"_CTIME_\",\"description\":\"is the creation time of the current entry.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n03hkmi3ntqsmzn179h4uz9zft70b\"},{\"name\":\"_LABEL_\",\"description\":\"is the label of the current entry.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1qr20fsjm5c30n1rx7m3dcxcuy2b\"},{\"name\":\"_LABELPATH_\",\"description\":\"is the path to the label of the current entry. Document label paths are formed by concatenating the labels and sequence numbers, and then separating them with the forward slash (/) symbol.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p09w1vy2alcnwzn1l3n34l085id5b\"},{\"name\":\"_MAX_\",\"description\":\"is the last observation.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0w4r9mznywyq0n1pbsyfckk1i79b\"},{\"name\":\"_MDATE_\",\"description\":\"is the modification date of the current entry.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n032kxo39xpa1jn1a7i502i6efssb\"},{\"name\":\"_MDATETIME_\",\"description\":\"is the modification datetime of the current entry.\",\"help\":\"_MDATETIME_   \",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0ot3ze4iiasnrn1dlcl4pbep9a8b\"},{\"name\":\"_MIN_\",\"description\":\"is the first observation.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0r2er0sudn9gpn1ji264nm1biwdb\"},{\"name\":\"_MTIME_\",\"description\":\"is the modification time of the current entry.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1pvger8j2fj4dn1nrxxq5yjo295b\"},{\"name\":\"_NAME_\",\"description\":\"is the name of the current entry.\",\"help\":\"_NAME_ \",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p16i9edmqnkdidn1k3ous7tgvs0mb\"},{\"name\":\"_OBS_\",\"description\":\"is the current observation number in an output object.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n16ou1mc9lu6btn1l853guw9soifb\"},{\"name\":\"observation-number\",\"placeholder\":true,\"description\":\"is the observation number to be replayed.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1ec2n7ryhdr79n1jp433d05pdrqb\"},{\"name\":\"observation-variable\",\"placeholder\":true,\"description\":\"is the name of an observation.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0pdvt4kx3gu8ln1dl6d1hg4kkzdb\"},{\"name\":\"_PATH_\",\"description\":\"is the path of the current entry.\",\"help\":\" _PATH_\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1szr737hak5avn1s1hu6ovgv5fmb\"},{\"name\":\"_SEQNO_\",\"description\":\"is the sequence number of the current entry.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n048cj2hk4qg4un15i4pprkt7fepb\"},{\"name\":\"_TYPE_\",\"description\":\"is the type of the current entry.\",\"help\":\"_TYPE_  \",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1u3g1svi129udn18pugirbbwy76b\"},{\"name\":\"variable-name\",\"placeholder\":true,\"description\":\"is the name of a BY variable.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1nve1rnchqbv5n135b2pqivl94ib\"}],\"supportSiteTargetFragment\":\"p1574j24bn9vd3n1r5f7hcznie2zb\"},{\"name\":\"operator\",\"placeholder\":true,\"description\":\"compares one variable with a value or another variable.\",\"help\":\"*operator*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1jup3jajl2qzcn10d0osa6fa759b\"}],\"supportSiteTargetFragment\":\"n0yr29ps3qhhlgn106u6nbgmh7j1b\"},{\"name\":\"LEVELS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the number of levels that you want to delete.\",\"help\":\"LEVELS= ALL | *value*\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ALL\",\"followsDelimiter\":\"/\",\"description\":\"specifies all levels.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1iaywqc60c5nun1q9oc19ddawnm\"},{\"name\":\"value\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the numeric value of the path level.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n09c9iynncrfa1n1t3hvbfwaunxb\"}],\"supportSiteTargetFragment\":\"n0x8f0m18xsiain1lvfzk299d6ii\"}],\"supportSiteTargetFile\":\"n03o8wpfkg6ij7n1j3kmz6zms34a.htm\"},{\"name\":\"DIR\",\"description\":\"Sets or displays the current directory.\",\"help\":\"DIR &lt;*path*&gt;;\",\"arguments\":[{\"name\":\"path\",\"optional\":true,\"placeholder\":true,\"description\":\"sets the current directory.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1iwo0p0krimjrn1fnbuxsqrf25u\"}],\"supportSiteTargetFile\":\"n1ko6i06evxj5pn1xh6dqluzfllf.htm\"},{\"name\":\"DOC\",\"description\":\"Opens a document and its contents to browse or edit.\",\"help\":\"DOC &lt;LABEL= '*label*'&gt;&lt;LIBRARY=*library-name*&gt;&lt;NAME= *libref.member-name* READ | UPDATE | WRITE&gt;;\",\"arguments\":[{\"name\":\"LABEL=\",\"optional\":true,\"description\":\"assigns a label to a document.\",\"help\":\"LABEL= '*label*'\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1by4b610kjw88n1ptk8t3jdabm6\"},{\"name\":\"LIBRARY=\",\"optional\":true,\"aliases\":[\"LIB=\"],\"description\":\"specifies that only the documents in the specified library-name are listed.\",\"help\":\"LIBRARY=*library-name*\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"p13nkc39p9fvn2n1fv4vjdfqy546\"},{\"name\":\"NAME=\",\"optional\":true,\"description\":\"specifies the name that you assign to a document and its access mode.\",\"help\":\"NAME= *libref.member-name* READ | UPDATE | WRITE\",\"type\":\"dataSet\",\"arguments\":[{\"name\":\"<libref.>member-name\",\"placeholder\":true,\"description\":\"identifies a document.\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"n1bj0wv3vsk37dn1bhaew6ex69d3\"},{\"name\":\"READ\",\"description\":\"opens a document and provides Read-Only access.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1ttvkvo0urkaan1x0gtjpxjqjvi\"},{\"name\":\"WRITE\",\"description\":\"opens a document and provides Write access, but only if you have Write permission.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1h480vcm8nyz4n19ducvapgw62b\"},{\"name\":\"UPDATE\",\"description\":\"opens a document and provides Update access, but only if you have Update permission.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0e4dgbmw3ujdzn1226f22zj877f\"}],\"supportSiteTargetFragment\":\"p1k5m97wz6zl4rn12gxiihkwaejh\"}],\"supportSiteTargetFile\":\"n13ul6kyhco4eon1mkjvcyylxa5a.htm\"},{\"name\":\"DOC CLOSE\",\"description\":\"Closes the current document.\",\"help\":\"DOC CLOSE ;\",\"supportSiteTargetFile\":\"n1qsx8vc1l7j8an17e6dwxvy63go.htm\"},{\"name\":\"HIDE\",\"description\":\"Prevents output from being displayed when the document is replayed.\",\"help\":\"HIDE *path*&lt;, *path-2*,  ...&gt;; \",\"arguments\":[{\"name\":\"path\",\"placeholder\":true,\"description\":\"specifies the location of the file or files that you want to hide.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0bh11pudj41lon12uf2zwboz36v\"}],\"supportSiteTargetFile\":\"p0dff52a7hs3h2n185mpu2cveosn.htm\"},{\"name\":\"IMPORT\",\"description\":\"Imports the specified SAS data set or graph segment to the specified path.\",\"help\":\"IMPORT DATA=*data-set-name*&lt;*data-set-options*&gt; |  GRSEG=*grseg* | TEXTFILE=*filename | fileref*TO *path*&lt;/ *options*&gt;;\",\"arguments\":[{\"name\":\"TO\",\"description\":\"specifies the import location. You can specify multiple TO arguments.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1qkp6i9ee0l3xn10b3rvg96v27w\"},{\"name\":\"DATA=\",\"description\":\"specifies an existing SAS data set that you want to import.\",\"help\":\"DATA=                            *data-set-name*\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"p1eb5lpcpoo2ukn1hj4pfozrpcrf\"},{\"name\":\"GRSEG=\",\"description\":\"stores a reference to a graph segment.\",\"help\":\"GRSEG=                            *grseg*\",\"type\":\"value\",\"arguments\":[{\"name\":\"grseg\",\"placeholder\":true,\"description\":\"specifies the 3-level catalog pathname (for example, GRSEG=Sasuser.grseg.mygraph).\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p01c042rumjq9tn1jb69zypqzlnr\"}],\"supportSiteTargetFragment\":\"n1238g6ajfb7ugn1hmg7wnp100a1\"},{\"name\":\"path\",\"placeholder\":true,\"description\":\"specifies the location where you want to import the data set or graph segment.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n09uy7bj5io9o8n1v1omart2tcyb\"},{\"name\":\"TEXTFILE=\",\"description\":\"imports a text file into an ODS document that can be replayed to open ODS destinations.\",\"help\":\"TEXTFILE=                                  &lt;*filename* | *fileref*&gt;\",\"type\":\"standaloneOrValue\",\"arguments\":[{\"name\":\"filename\",\"placeholder\":true,\"description\":\"specifies the filename. filename can be a listing file, a SAS program, or any other text file.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1j8tsvz1bmsgxn1m8zh3yhgtvis\"},{\"name\":\"fileref\",\"placeholder\":true,\"description\":\"is a file reference that has been assigned to an external file. Use the FILENAME statement to assign a fileref.\",\"help\":\"*fileref*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n03hjg7aa52i4qn195lryqg0p9x8\"}],\"supportSiteTargetFragment\":\"n0jcj6vmebj7wrn1rmg8nknhqyal\"},{\"name\":\"data-set-options\",\"optional\":true,\"placeholder\":true,\"description\":\"specify actions that apply only to the SAS data set.\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"p0fvi730frnshnn1080drk9cczdz\"},{\"name\":\"AFTER=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"imports the data set or graph segment into the directory after the specified path.\",\"help\":\"AFTER= *path*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1fbvj5zqpn39xn1s018dnhy79r0\"},{\"name\":\"BEFORE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"imports the data set or graph segment into the directory before the specified path.\",\"help\":\"BEFORE= *path*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0kyqpatn6fac6n1oyqiin3m8qll\"},{\"name\":\"FIRST\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"imports the data set or graph segment at the beginning of the directory.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0usduwzsajimyn1pvbdns71uqvs\"},{\"name\":\"LAST\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"imports the data set or graph segment at the end the directory.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n099z7ta7s9g6pn1xfnm8h8nvwke\"}],\"supportSiteTargetFile\":\"n00rg7c27vgcenn1vbqd21y3iziq.htm\"},{\"name\":\"LINK\",\"description\":\"Creates a symbolic link from one specified entry to another specified entry.\",\"help\":\"LINK *path* TO *path*&lt;/ *options*&gt;;\",\"arguments\":[{\"name\":\"path\",\"placeholder\":true,\"description\":\"specifies the locations of the entries that you want to link to one another.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0njkeiykp4fdjn126l6stkka2zg\"},{\"name\":\"AFTER=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"links to the entry that follows the specified path in the current directory.\",\"help\":\"AFTER= *path*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p15iihxcgtm71fn1nbo7swqyq9ps\"},{\"name\":\"BEFORE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"links to the entry that precedes the specified path in the current directory.\",\"help\":\"BEFORE= *path*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n189zaf2axasj4n1hhl5f2m8ahf7\"},{\"name\":\"FIRST\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"links to the first entry in the current directory.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1vzyg23anui20n1vks2g3b4unys\"},{\"name\":\"HARD\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a type of link that refers to a copy of an output object within the ODS document. All data is shared between the link and the target, except names and labels.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0hggz81t8nyyon1hnp7pryagp0t\"},{\"name\":\"LABEL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"copies the source label to the link.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0p6hzif38zlf7n1ez0wn9xsqcjf\"},{\"name\":\"LAST\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"links to the last entry in the current directory.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p15idf4hq3kkwjn12gg144vztdmi\"}],\"supportSiteTargetFile\":\"n10n1lscv4sxu2n1rlb8kkio6mfc.htm\"},{\"name\":\"LIST\",\"description\":\"Lists the contents of one or more entries.\",\"help\":\"LIST *path*&lt;(*where-expression*)&gt;&lt;, *path-2* &lt;(*where-expression-2*)&gt;,  ...&gt;&lt;/ *options*&gt;;\",\"arguments\":[{\"name\":\"path\",\"placeholder\":true,\"description\":\"specifies the location of an entry. An entry can be one or more directories, links, or output objects.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1nakmqbqjb5swn1nle32xigjyxd\"},{\"name\":\"(WHERE=())\",\"optional\":true,\"description\":\"conditionally selects a subset of entries in an ODS document.\",\"help\":\"(WHERE=(*where-expression-1*&lt;*operator*&gt;))\",\"type\":\"value\",\"arguments\":[{\"name\":\"constant\",\"description\":\"is a fixed value such as a date literal, a value, or a BY variable value.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0tj7asu1mk5run1xsjofzarxexhc\"},{\"name\":\"SAS\",\"description\":\"returns a value from a computation or system manipulation.\",\"help\":\"SAS function\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1ri4wegbsqu52n1pg9xy524zgnic\"},{\"name\":\"subsetting\",\"description\":\"is a special type of WHERE expression operand used by the DOCUMENT procedure to help you find common values in ODS documents.\",\"help\":\"subsetting variable\",\"type\":\"standalone\",\"arguments\":[{\"name\":\"_CDATE_\",\"description\":\"is the creation date of the current entry.\",\"help\":\"_CDATE_ \",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0lfm4vux0bxe6n1dl7ump6dkkxcc\"},{\"name\":\"_CDATETIME_\",\"description\":\"is the creation datetime of the current entry.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0dfd9embayf6bn1hmb76j03866lc\"},{\"name\":\"_CTIME_\",\"description\":\"is the creation time of the current entry.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n03hkmi3ntqsmzn179h4uz9zft70c\"},{\"name\":\"_LABEL_\",\"description\":\"is the label of the current entry.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1qr20fsjm5c30n1rx7m3dcxcuy2c\"},{\"name\":\"_LABELPATH_\",\"description\":\"is the path to the label of the current entry. Document label paths are formed by concatenating the labels and sequence numbers, and then separating them with the forward slash (/) symbol.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p09w1vy2alcnwzn1l3n34l085id5c\"},{\"name\":\"_MAX_\",\"description\":\"is the last observation.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0w4r9mznywyq0n1pbsyfckk1i79c\"},{\"name\":\"_MDATE_\",\"description\":\"is the modification date of the current entry.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n032kxo39xpa1jn1a7i502i6efssc\"},{\"name\":\"_MDATETIME_\",\"description\":\"is the modification datetime of the current entry.\",\"help\":\"_MDATETIME_   \",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0ot3ze4iiasnrn1dlcl4pbep9a8c\"},{\"name\":\"_MIN_\",\"description\":\"is the first observation.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0r2er0sudn9gpn1ji264nm1biwdc\"},{\"name\":\"_MTIME_\",\"description\":\"is the modification time of the current entry.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1pvger8j2fj4dn1nrxxq5yjo295c\"},{\"name\":\"_NAME_\",\"description\":\"is the name of the current entry.\",\"help\":\"_NAME_ \",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p16i9edmqnkdidn1k3ous7tgvs0mc\"},{\"name\":\"_OBS_\",\"description\":\"is the current observation number in an output object.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n16ou1mc9lu6btn1l853guw9soifc\"},{\"name\":\"observation-number\",\"placeholder\":true,\"description\":\"is the observation number to be replayed.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1ec2n7ryhdr79n1jp433d05pdrqc\"},{\"name\":\"observation-variable\",\"placeholder\":true,\"description\":\"is the name of an observation.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0pdvt4kx3gu8ln1dl6d1hg4kkzdc\"},{\"name\":\"_PATH_\",\"description\":\"is the path of the current entry.\",\"help\":\" _PATH_\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1szr737hak5avn1s1hu6ovgv5fmc\"},{\"name\":\"_SEQNO_\",\"description\":\"is the sequence number of the current entry.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n048cj2hk4qg4un15i4pprkt7fepc\"},{\"name\":\"_TYPE_\",\"description\":\"is the type of the current entry.\",\"help\":\"_TYPE_  \",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1u3g1svi129udn18pugirbbwy76c\"},{\"name\":\"variable-name\",\"placeholder\":true,\"description\":\"is the name of a BY variable.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1nve1rnchqbv5n135b2pqivl94ic\"}],\"supportSiteTargetFragment\":\"p1574j24bn9vd3n1r5f7hcznie2zc\"},{\"name\":\"operator\",\"placeholder\":true,\"description\":\"compares one variable with a value or another variable.\",\"help\":\"*operator*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1jup3jajl2qzcn10d0osa6fa759c\"}],\"supportSiteTargetFragment\":\"n0yr29ps3qhhlgn106u6nbgmh7j1c\"},{\"name\":\"BYGROUPS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"creates, in the entry list, columns for BY variables. The name of the BY variable becomes the column name. The values of the BY variables are listed in the columns.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1m862s8axbckzn1tf3n5r9njvbr\"},{\"name\":\"DETAILS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the properties of the entries.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p03czyvvwp7jjsn19vct8juqziu9\"},{\"name\":\"FOLLOW\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"resolves all links and lists the contents of the entries.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p15p79n7nh55krn1hsbvkjnuqbs3\"},{\"name\":\"LEVELS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the number of levels that you want to list.\",\"help\":\"LEVELS=  ALL | *value*\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ALL\",\"followsDelimiter\":\"/\",\"description\":\"specifies all levels.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0xo3xeq61whxnn1v8v61txvttbr\"},{\"name\":\"value\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the numeric value of the path level.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p08xzthcv6q810n1k46s813x81jm\"}],\"supportSiteTargetFragment\":\"p0jmo0t990f10zn17jzw1kfb4y2s\"},{\"name\":\"ORDER=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the order in which the entries are listed.\",\"help\":\"ORDER= ALPHA | DATE | INSERT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ALPHA\",\"followsDelimiter\":\"/\",\"description\":\"lists the entries in alphabetical order.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1jajriafujtuvn1r3dqmes99b1w\"},{\"name\":\"DATE\",\"followsDelimiter\":\"/\",\"description\":\"lists the directories in ascending order based on the date and time the files were created.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1s1vpiz5vuq0gn1l8m107pc90px\"},{\"name\":\"INSERT\",\"followsDelimiter\":\"/\",\"description\":\"lists the directories in the order in which the entries were inserted.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n164q3hwupyfqwn1n9opk0wtjq17\"}],\"supportSiteTargetFragment\":\"n0ys6n84g8v5a7n17jemzpjrudaf\"}],\"supportSiteTargetFile\":\"p0gdaybqzwpt4bn1s5ofhifn0m9u.htm\"},{\"name\":\"MAKE\",\"description\":\"Creates one or more new directories.\",\"help\":\"MAKE *path*&lt;,*path-2*,  ...&gt;&lt;/ *options*&gt;;\",\"arguments\":[{\"name\":\"path\",\"placeholder\":true,\"description\":\"specifies the newly created directory.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0gri95wrrqcifn1gk09fnavkul8\"},{\"name\":\"AFTER=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"adds the newly created directory after the specified path in the current directory.\",\"help\":\"AFTER= *path*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1sqigup4uukfin15qx3txcp8s9n\"},{\"name\":\"BEFORE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"adds the newly created directory before the specified path in the current directory.\",\"help\":\"BEFORE= *path*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n06fiqgdckx8itn14xwq0rqfe9a8\"},{\"name\":\"FIRST\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"adds the newly created directory to the beginning of the current directory.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n073iln031ww9fn11oz96l7bxjep\"},{\"name\":\"LAST\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"adds the newly created directory to the end of the current directory.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1wcxllm7ovo39n1xnrqg06c02u7\"}],\"supportSiteTargetFile\":\"p0zmeibal7z82sn1u6in3wysmx9q.htm\"},{\"name\":\"MOVE\",\"description\":\"Moves entries from the specified location to another location.\",\"help\":\"MOVE *path*&lt;(*where-expression*)&gt;&lt;, *path-2* &lt;(*where-expression-2*)&gt;,  ...&gt;TO *path*&lt;/ *options*&gt;;\",\"arguments\":[{\"name\":\"TO\",\"description\":\"specifies the new path.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n118ek1xt2nb8mn11zoapdasbjwu\"},{\"name\":\"path\",\"placeholder\":true,\"description\":\"specifies the location of links, output objects, or files that you want to move.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0o9dbkgtp7kqqn1l5etrc9z366w\"},{\"name\":\"(WHERE=())\",\"optional\":true,\"description\":\"conditionally selects a subset of entries in an ODS document.\",\"help\":\"(WHERE=(*where-expression-1*&lt;*operator*&gt;))\",\"type\":\"value\",\"arguments\":[{\"name\":\"constant\",\"description\":\"is a fixed value such as a date literal, a value, or a BY variable value.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0tj7asu1mk5run1xsjofzarxexhd\"},{\"name\":\"SAS\",\"description\":\"returns a value from a computation or system manipulation.\",\"help\":\"SAS function\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1ri4wegbsqu52n1pg9xy524zgnid\"},{\"name\":\"subsetting\",\"description\":\"is a special type of WHERE expression operand used by the DOCUMENT procedure to help you find common values in ODS documents.\",\"help\":\"subsetting variable\",\"type\":\"standalone\",\"arguments\":[{\"name\":\"_CDATE_\",\"description\":\"is the creation date of the current entry.\",\"help\":\"_CDATE_ \",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0lfm4vux0bxe6n1dl7ump6dkkxcd\"},{\"name\":\"_CDATETIME_\",\"description\":\"is the creation datetime of the current entry.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0dfd9embayf6bn1hmb76j03866ld\"},{\"name\":\"_CTIME_\",\"description\":\"is the creation time of the current entry.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n03hkmi3ntqsmzn179h4uz9zft70d\"},{\"name\":\"_LABEL_\",\"description\":\"is the label of the current entry.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1qr20fsjm5c30n1rx7m3dcxcuy2d\"},{\"name\":\"_LABELPATH_\",\"description\":\"is the path to the label of the current entry. Document label paths are formed by concatenating the labels and sequence numbers, and then separating them with the forward slash (/) symbol.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p09w1vy2alcnwzn1l3n34l085id5d\"},{\"name\":\"_MAX_\",\"description\":\"is the last observation.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0w4r9mznywyq0n1pbsyfckk1i79d\"},{\"name\":\"_MDATE_\",\"description\":\"is the modification date of the current entry.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n032kxo39xpa1jn1a7i502i6efssd\"},{\"name\":\"_MDATETIME_\",\"description\":\"is the modification datetime of the current entry.\",\"help\":\"_MDATETIME_   \",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0ot3ze4iiasnrn1dlcl4pbep9a8d\"},{\"name\":\"_MIN_\",\"description\":\"is the first observation.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0r2er0sudn9gpn1ji264nm1biwdd\"},{\"name\":\"_MTIME_\",\"description\":\"is the modification time of the current entry.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1pvger8j2fj4dn1nrxxq5yjo295d\"},{\"name\":\"_NAME_\",\"description\":\"is the name of the current entry.\",\"help\":\"_NAME_ \",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p16i9edmqnkdidn1k3ous7tgvs0md\"},{\"name\":\"_OBS_\",\"description\":\"is the current observation number in an output object.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n16ou1mc9lu6btn1l853guw9soifd\"},{\"name\":\"observation-number\",\"placeholder\":true,\"description\":\"is the observation number to be replayed.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1ec2n7ryhdr79n1jp433d05pdrqd\"},{\"name\":\"observation-variable\",\"placeholder\":true,\"description\":\"is the name of an observation.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0pdvt4kx3gu8ln1dl6d1hg4kkzdd\"},{\"name\":\"_PATH_\",\"description\":\"is the path of the current entry.\",\"help\":\" _PATH_\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1szr737hak5avn1s1hu6ovgv5fmd\"},{\"name\":\"_SEQNO_\",\"description\":\"is the sequence number of the current entry.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n048cj2hk4qg4un15i4pprkt7fepd\"},{\"name\":\"_TYPE_\",\"description\":\"is the type of the current entry.\",\"help\":\"_TYPE_  \",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1u3g1svi129udn18pugirbbwy76d\"},{\"name\":\"variable-name\",\"placeholder\":true,\"description\":\"is the name of a BY variable.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1nve1rnchqbv5n135b2pqivl94id\"}],\"supportSiteTargetFragment\":\"p1574j24bn9vd3n1r5f7hcznie2zd\"},{\"name\":\"operator\",\"placeholder\":true,\"description\":\"compares one variable with a value or another variable.\",\"help\":\"*operator*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1jup3jajl2qzcn10d0osa6fa759d\"}],\"supportSiteTargetFragment\":\"n0yr29ps3qhhlgn106u6nbgmh7j1d\"},{\"name\":\"AFTER=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"moves the entry after the specified entry in the path.\",\"help\":\"AFTER= *path*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0a7i7i9d57b4yn1izob8g2vpuh0\"},{\"name\":\"BEFORE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"moves the entry before the specified entry in the path.\",\"help\":\"BEFORE= *path*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1a75t9xk3h95kn14bx3x8g48kcn\"},{\"name\":\"FIRST\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"moves the entry to the beginning of the specified directory.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0zx9ci57zutkvn17w184g579i4r\"},{\"name\":\"LAST\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"moves the entry to the end of the specified directory.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0iynvoyo8dqbvn1nx2yzqv0su02\"},{\"name\":\"LEVELS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the number of levels that you want to move.\",\"help\":\"LEVELS=  ALL | *value*\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ALL\",\"followsDelimiter\":\"/\",\"description\":\"specifies all levels.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0zm9vb2ghn58yn1rk82fv1k9m74\"},{\"name\":\"value\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the numeric value of the path level.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0vn0llcybbaevn1n9g59v7ztkcm\"}],\"supportSiteTargetFragment\":\"n1taffb91wc3wwn18c8ae2bktn3m\"}],\"supportSiteTargetFile\":\"p1x00gl8o9erhfn1tegnn2o1cnjc.htm\"},{\"name\":\"NOTE\",\"description\":\"Creates text strings in the current directory.\",\"help\":\"NOTE *path*&lt;'*text*'&gt;&lt;/ *options*&gt;;\",\"arguments\":[{\"name\":\"path\",\"placeholder\":true,\"description\":\"specifies the location where the note is stored.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1prkm94cblyxbn1noq2kbjl2mrd\"},{\"name\":\"'text'\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the text string. If no text string is specified, then the NOTE statement creates a blank note.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n18yaa46c2k7yvn128jel33n8j9a\"},{\"name\":\"AFTER=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"inserts the text string after the specified path.\",\"help\":\"AFTER= *path*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0ae6geqbx15jpn198sqnbh64brw\"},{\"name\":\"BEFORE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"inserts the text string before the specified path.\",\"help\":\"BEFORE= *path*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0tdc7r10n91nkn1pejaehzz9mnj\"},{\"name\":\"FIRST\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"inserts the text string at the beginning of the directory.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1sxiewd2dagnrn164rsvo03u1fr\"},{\"name\":\"LAST\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"inserts the text string at the end of the directory.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p18g6sp3ih28nvn1csqf57o6do8l\"},{\"name\":\"JUST=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the alignment of the text string.\",\"help\":\"JUST= LEFT | CENTER | RIGHT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"LEFT\",\"followsDelimiter\":\"/\",\"description\":\"aligns the text string with the left margin.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0sf9nymiyw60jn1fyq45rfhcxh2\"},{\"name\":\"CENTER\",\"followsDelimiter\":\"/\",\"description\":\"centers the text string between the left and right margins.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1jp7lekiftgzin1c40855ghks4c\"},{\"name\":\"RIGHT\",\"followsDelimiter\":\"/\",\"description\":\"aligns the text string with the right margin.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0i2q4ks0pp0k0n1jv4u8r6qxqi0\"}],\"supportSiteTargetFragment\":\"p0410bgs0srz3an1m0ykysbchcmk\"}],\"supportSiteTargetFile\":\"p1lflt0o1usg32n13x5pegtv6ttp.htm\"},{\"name\":\"OBANOTE\",\"description\":\"Creates or modifies an object footer (lines of text) after the specified output object.\",\"help\":\"OBANOTE &lt;*n*&gt;*output-object*&lt;'*text* '&gt;&lt;SHOW&gt;&lt;/ JUST= LEFT | CENTER | RIGHT&gt;;\",\"arguments\":[{\"name\":\"output-object\",\"placeholder\":true,\"description\":\"specifies the name of the ODS output object.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0fg8ht9hodxbfn1kv5okq0q9c6h\"},{\"name\":\"n\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the relative line that contains the object footer.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1ma1u3a0f21fdn1u64tznv0n3zz\"},{\"name\":\"SHOW\",\"optional\":true,\"description\":\"specifies that a table containing the output object’s heading is written to active destinations.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1fnkx0bzrqxfan1v20o3dbob85k\"},{\"name\":\"'text'\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the text string that becomes the object footer.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1ecohnbbdhq94n15m9178vzqsp2\"},{\"name\":\"JUST=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the alignment of the object footer.\",\"help\":\"JUST= LEFT | CENTER | RIGHT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"LEFT\",\"followsDelimiter\":\"/\",\"description\":\"aligns the object footer with the left margin.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0vemo1895orwwn1op3ox00rybmp\"},{\"name\":\"CENTER\",\"followsDelimiter\":\"/\",\"description\":\"centers the object footer between the left and right margins.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n10k0koyf6v6xnn1udn4p23zumc2\"},{\"name\":\"RIGHT\",\"followsDelimiter\":\"/\",\"description\":\"aligns the object footer with the right margin.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n03bkggwrjahicn10hq8hvpgs1k7\"}],\"supportSiteTargetFragment\":\"n09bi47xdcuz73n1qjsm6govfdly\"}],\"supportSiteTargetFile\":\"p0v5kqj9xqvj86n1kwoa79svjbbq.htm\"},{\"name\":\"OBBNOTE\",\"description\":\"Creates or modifies an object heading (lines of text) before the output object.\",\"help\":\"OBBNOTE &lt;*n*&gt;*output-object*&lt;'*text*'&gt;&lt;SHOW&gt;&lt;/ JUST= LEFT | CENTER | RIGHT&gt;;\",\"arguments\":[{\"name\":\"output-object\",\"placeholder\":true,\"description\":\"specifies the name of the ODS output object.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1skeghvwr6i6tn1gklhc3v9uxhm\"},{\"name\":\"n\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the relative line that contains the object heading.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n02iekfxrn4eejn15egvimc7muz4\"},{\"name\":\"SHOW\",\"optional\":true,\"description\":\"specifies that a table containing the output object’s footers is written to active destinations.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p01vbllci2ahjjn145hc6wat2i1z\"},{\"name\":\"'text'\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the text string that becomes the object heading.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0co08o5nwph77n12tmggqdjhqg2\"},{\"name\":\"JUST=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the alignment of the object heading.\",\"help\":\"JUST= LEFT | CENTER | RIGHT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"LEFT\",\"followsDelimiter\":\"/\",\"description\":\"aligns the object heading with the left margin.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p14c33tqe55zoyn180772ycep5zg\"},{\"name\":\"CENTER\",\"followsDelimiter\":\"/\",\"description\":\"centers the object heading between the left and right margins.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1xfob3mt2f573n18bb0uus3se02\"},{\"name\":\"RIGHT\",\"followsDelimiter\":\"/\",\"description\":\"aligns the object heading with the right margin.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1kzpt8s06wl2un1h6lonvjob4kb\"}],\"supportSiteTargetFragment\":\"n0mhdqspz33z82n15taohmi58wsx\"}],\"supportSiteTargetFile\":\"n00uyq6gdoawpsn1r7e8ndz1bp65.htm\"},{\"name\":\"OBDYNAM\",\"description\":\"Prints a table of dynamic values for the specified output object.\",\"help\":\"OBDYNAM *output-object*\",\"arguments\":[{\"name\":\"output-object\",\"placeholder\":true,\"description\":\"specifies the ODS output object.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0w5khs0tf9g21n1u4m9amw3u62h\"}],\"supportSiteTargetFile\":\"p1lgl0zauktnysn0zsia3c8iq56z.htm\"},{\"name\":\"OBFOOTN\",\"description\":\"Creates or modifies lines of text at the bottom of the page on which the output object is displayed.\",\"help\":\"OBFOOTN &lt;*n*&gt;*output-object*&lt;SHOW&gt;&lt;'*text*'&gt;;\",\"arguments\":[{\"name\":\"output-object\",\"placeholder\":true,\"description\":\"specifies the ODS output object.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0t4h19al90fs8n14pilm1dp7tkv\"},{\"name\":\"n\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the relative line that contains the footnote.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0y17ztt98ku9mn1prjp9y6xynkp\"},{\"name\":\"SHOW\",\"optional\":true,\"description\":\"specifies that a table containing the output object’s footnotes is written to active destinations.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p04p1zd4ex72ean1jgam55is6cq2\"},{\"name\":\"'text'\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the text string that becomes the footnote.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1g5870rfq73p4n1e01yxp2wv6tl\"}],\"supportSiteTargetFile\":\"n1dop4z26dw2g8n0zkr6c0qmwkfs.htm\"},{\"name\":\"OBPAGE\",\"description\":\"Creates or deletes a page break for an output object.\",\"help\":\"OBPAGE &lt;*output-object*&gt;&lt; / &lt;DELETE &gt; &lt;AFTER&gt;&gt;;\",\"arguments\":[{\"name\":\"output-object\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the name of the output object.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p13dmn9udmp9b0n15p6o13xk0tgv\"},{\"name\":\"AFTER\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"inserts a page break after an output object.\",\"help\":\"AFTER \",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1oflkuri4bauwn1ap78du3zijdz\"},{\"name\":\"DELETE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"removes the page break for an output object.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0iy1absmtzpqtn0zr75abr0cgpb\"}],\"supportSiteTargetFile\":\"n0a8msm8dec1ixn1qolaqze7x892.htm\"},{\"name\":\"OBSTITLE\",\"description\":\"Create or modify subtitles.\",\"help\":\"OBSTITLE &lt;*n*&gt;*output-object*&lt;'*text*'&gt;&lt;SHOW&gt;&lt;/ JUST= LEFT | CENTER | RIGHT&gt;;\",\"arguments\":[{\"name\":\"output-object\",\"placeholder\":true,\"description\":\"specifies the ODS output object.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1prbbu2c8zmm3n1wmb973j0jype\"},{\"name\":\"n\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the relative line that contains the subtitle.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0w7vnv4qn3oo1n1kvuhv8v2n60i\"},{\"name\":\"SHOW\",\"optional\":true,\"description\":\"specifies that a table containing the output object’s subtitles is written to active destinations.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1bbnhfk1s72qvn1krxpybb71ys8\"},{\"name\":\"'text'\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the text string.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1cejc5l82aa2zn134tiir7audqx\"},{\"name\":\"JUST=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the alignment of the text string.\",\"help\":\"JUST= LEFT | CENTER | RIGHT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"LEFT\",\"followsDelimiter\":\"/\",\"description\":\"aligns the text string with the left margin.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1ul11734s6hjan1ro1a73uzq9ty\"},{\"name\":\"CENTER\",\"followsDelimiter\":\"/\",\"description\":\"aligns the text string in the center between the left and right margins.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n17cuxbm7j08kyn1w4yy1mpdelx8\"},{\"name\":\"RIGHT\",\"followsDelimiter\":\"/\",\"description\":\"aligns the text string with the right margin.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0whhqg3p4mhuwn1bsnf888tyxbt\"}],\"supportSiteTargetFragment\":\"n0r0fwrbts9y3yn1o42xg56r7sdu\"}],\"supportSiteTargetFile\":\"n15605hwwt12din0z5awoes36xtn.htm\"},{\"name\":\"OBTEMPL\",\"description\":\"Writes, to any open ODS destination, the source code of the ODS template, if any, that is associated with the specified output object.\",\"help\":\"OBTEMPL *output-object*;\",\"arguments\":[{\"name\":\"output-object\",\"placeholder\":true,\"description\":\"specifies the pathname of the output object.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p00bssm8qv30ppn11lx9cj7f6xdv\"}],\"supportSiteTargetFile\":\"p0eaelkessb0l2n152yct4mp332k.htm\"},{\"name\":\"OBTITLE\",\"description\":\"Creates or modifies title lines for the output.\",\"help\":\"OBTITLE &lt;*n*&gt;*output-object*&lt;SHOW&gt;&lt;'*text*'&gt;;\",\"arguments\":[{\"name\":\"output-object\",\"placeholder\":true,\"description\":\"specifies the name of the output object.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n164z7f4sot2omn1hi0gox0k8rga\"},{\"name\":\"n\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the relative line that contains the title.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0wex7gqsinmsyn180xf5ehv69ho\"},{\"name\":\"SHOW\",\"optional\":true,\"description\":\"specifies that a table containing the output object’s titles is written to active destinations.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0zfqz4yme364xn1laz4208vuhai\"},{\"name\":\"'text'\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the text string.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n117puj5u84tlen1vl3yf7k51n4i\"}],\"supportSiteTargetFile\":\"p0cbbdu344ss33n1brxh7xp5d04q.htm\"},{\"name\":\"RENAME\",\"description\":\"Renames an entry.\",\"help\":\"RENAME *path-1*TO *path-2*;\",\"arguments\":[{\"name\":\"TO\",\"description\":\"specifies the new name of an entry.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n11cpi7qwmz4a4n1dozbzk2hdbrm\"},{\"name\":\"path-1\",\"placeholder\":true,\"description\":\"specifies the current directory or output object.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0jtqa4qmsl1c9n1rv4nt5ky29mn\"},{\"name\":\"path-2\",\"placeholder\":true,\"description\":\"specifies the new name of the directory or output object.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p04mem2b39g613n19akf39j2r5g9\"}],\"supportSiteTargetFile\":\"n0iuvpzqg9vh5on11dzwv3u0v8no.htm\"},{\"name\":\"REPLAY\",\"description\":\"Displays one or more entries to the specified open ODS destination(s).\",\"help\":\"REPLAY *path*&lt;(*where-expression*)&gt;&lt;, *path-2* &lt;(*where-expression-2*)&gt;,  ...&gt;&lt;/ *options*&gt;;\",\"arguments\":[{\"name\":\"path\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the location of an entry. An entry can be one or more directories, links, or output objects.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0vbssin3ujoyun19xn3e2o9un3h\"},{\"name\":\"(WHERE=())\",\"optional\":true,\"description\":\"conditionally selects a subset of entries in an ODS document.\",\"help\":\"(WHERE=(*where-expression-1*&lt;*operator*&gt;))\",\"type\":\"value\",\"arguments\":[{\"name\":\"constant\",\"description\":\"is a fixed value such as a date literal, a value, or a BY variable value.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0tj7asu1mk5run1xsjofzarxexhe\"},{\"name\":\"SAS\",\"description\":\"returns a value from a computation or system manipulation.\",\"help\":\"SAS function\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1ri4wegbsqu52n1pg9xy524zgnie\"},{\"name\":\"subsetting\",\"description\":\"is a special type of WHERE expression operand used by the DOCUMENT procedure to help you find common values in ODS documents.\",\"help\":\"subsetting variable\",\"type\":\"standalone\",\"arguments\":[{\"name\":\"_CDATE_\",\"description\":\"is the creation date of the current entry.\",\"help\":\"_CDATE_ \",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0lfm4vux0bxe6n1dl7ump6dkkxce\"},{\"name\":\"_CDATETIME_\",\"description\":\"is the creation datetime of the current entry.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0dfd9embayf6bn1hmb76j03866le\"},{\"name\":\"_CTIME_\",\"description\":\"is the creation time of the current entry.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n03hkmi3ntqsmzn179h4uz9zft70e\"},{\"name\":\"_LABEL_\",\"description\":\"is the label of the current entry.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1qr20fsjm5c30n1rx7m3dcxcuy2e\"},{\"name\":\"_LABELPATH_\",\"description\":\"is the path to the label of the current entry. Document label paths are formed by concatenating the labels and sequence numbers, and then separating them with the forward slash (/) symbol.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p09w1vy2alcnwzn1l3n34l085id5e\"},{\"name\":\"_MAX_\",\"description\":\"is the last observation.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0w4r9mznywyq0n1pbsyfckk1i79e\"},{\"name\":\"_MDATE_\",\"description\":\"is the modification date of the current entry.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n032kxo39xpa1jn1a7i502i6efsse\"},{\"name\":\"_MDATETIME_\",\"description\":\"is the modification datetime of the current entry.\",\"help\":\"_MDATETIME_   \",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0ot3ze4iiasnrn1dlcl4pbep9a8e\"},{\"name\":\"_MIN_\",\"description\":\"is the first observation.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0r2er0sudn9gpn1ji264nm1biwde\"},{\"name\":\"_MTIME_\",\"description\":\"is the modification time of the current entry.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1pvger8j2fj4dn1nrxxq5yjo295e\"},{\"name\":\"_NAME_\",\"description\":\"is the name of the current entry.\",\"help\":\"_NAME_ \",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p16i9edmqnkdidn1k3ous7tgvs0me\"},{\"name\":\"_OBS_\",\"description\":\"is the current observation number in an output object.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n16ou1mc9lu6btn1l853guw9soife\"},{\"name\":\"observation-number\",\"placeholder\":true,\"description\":\"is the observation number to be replayed.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1ec2n7ryhdr79n1jp433d05pdrqe\"},{\"name\":\"observation-variable\",\"placeholder\":true,\"description\":\"is the name of an observation.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0pdvt4kx3gu8ln1dl6d1hg4kkzde\"},{\"name\":\"_PATH_\",\"description\":\"is the path of the current entry.\",\"help\":\" _PATH_\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1szr737hak5avn1s1hu6ovgv5fme\"},{\"name\":\"_SEQNO_\",\"description\":\"is the sequence number of the current entry.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n048cj2hk4qg4un15i4pprkt7fepe\"},{\"name\":\"_TYPE_\",\"description\":\"is the type of the current entry.\",\"help\":\"_TYPE_  \",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1u3g1svi129udn18pugirbbwy76e\"},{\"name\":\"variable-name\",\"placeholder\":true,\"description\":\"is the name of a BY variable.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1nve1rnchqbv5n135b2pqivl94ie\"}],\"supportSiteTargetFragment\":\"p1574j24bn9vd3n1r5f7hcznie2ze\"},{\"name\":\"operator\",\"placeholder\":true,\"description\":\"compares one variable with a value or another variable.\",\"help\":\"*operator*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1jup3jajl2qzcn10d0osa6fa759e\"}],\"supportSiteTargetFragment\":\"n0yr29ps3qhhlgn106u6nbgmh7j1e\"},{\"name\":\"ACTIVEFOOTN\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"ACFOOTN\"],\"description\":\"specifies that footnotes that are active in a SAS session override the footnotes that are stored in an ODS document.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1apzeyj1hnglpn181vgjenbi704\"},{\"name\":\"ACTIVETITLE\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"ACTITLE\"],\"description\":\"specifies that titles that are active in a SAS session override the titles that are stored in an ODS document.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0ylwy04jijljzn1h4ks61kafg78\"},{\"name\":\"ANCESTORS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the number of parent directories to replay.\",\"help\":\"ANCESTORS=*n* | ALL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"n\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the number of parent directories to replay. n must be a nonnegative integer.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1xw8gp37jwuiyn13ovnslkf6w7i\"},{\"name\":\"ALL\",\"followsDelimiter\":\"/\",\"description\":\"specifies that all directories are replayed.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1km1cp7n7qiq0n1olod7bhzp4bi\"}],\"supportSiteTargetFragment\":\"p1xtkancxqk1zwn1q62o4uh20qnp\"},{\"name\":\"DEST=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies one or more ODS destinations to display the output objects.\",\"help\":\"DEST= (*ODS-destination(s)*)\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0lw34h60kqtjxn1dxf6ibij0cdi\"},{\"name\":\"DYNAMDATA=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the name of the data set that contains the dynamic values.\",\"help\":\"DYNAMDATA=*data-set-name*\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"n1xi97zxoeuiywn1qb5bonan6am7\"},{\"name\":\"LEVELS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the number of levels that you want to replay.\",\"help\":\"LEVELS= ALL | *value*\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ALL\",\"followsDelimiter\":\"/\",\"description\":\"specifies that all levels of the directory are displayed to all open destinations.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0jwvo2jv5wcuvn1t8wv6hy8i3e3\"},{\"name\":\"value\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the numeric value of the path level.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1qcia63f9h9odn12m491o09qe61\"}],\"supportSiteTargetFragment\":\"n1ib35khxou3con0z4aux2k83gvd\"},{\"name\":\"STORE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the template store when replaying output objects from the path. If the replayed path is an output object, the template store applies only to that output object. If the path is a directory, the template store applies to any output objects contained within the directory.\",\"help\":\"STORE=*template-store*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n06rl0dv5mahwxn16suk65c2r8iu\"}],\"supportSiteTargetFile\":\"p1ex64z29qfv2jn1iwa9wizcf7po.htm\"},{\"name\":\"SETLABEL\",\"description\":\"Assigns a label to the specified path.\",\"help\":\"SETLABEL *path* '*label*';\",\"arguments\":[{\"name\":\"'label'\",\"placeholder\":true,\"description\":\"specifies the text of the label. You can customize labels by inserting BY variable values (#BYVAL), BY variable names (#BYVAR), or BY lines (#BYLINE) into labels that are specified in PROC DOCUMENT steps.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p02ugkko9h7gstn1rcw3qvkk5uow\"},{\"name\":\"path\",\"placeholder\":true,\"description\":\"specifies the location of a link, output object, or directory.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p18rf52jpd4rffn1erpohdfjy26b\"}],\"supportSiteTargetFile\":\"p0m36d5efvidd2n10jdjgpwpynul.htm\"},{\"name\":\"UNHIDE\",\"description\":\"Enables the output of a hidden entry to be displayed when it is replayed.\",\"help\":\"UNHIDE *path*&lt;,*path-2*,  ...*path-n*&gt;;\",\"arguments\":[{\"name\":\"path\",\"placeholder\":true,\"description\":\"specifies the location of a link, output object, or file.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1lgidmnxab50pn1jm2q9cw8cpgg\"}],\"supportSiteTargetFile\":\"n0nmha5fuxkf9sn1qy7svmj63w2n.htm\"}],\"interactive\":true,\"supportSiteInformation\":{\"docsetId\":\"odsproc\",\"docsetVersion\":\"v_004\",\"docsetTargetFile\":\"n0lzw11swn9gm8n1g6rof0r360wr.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/DOWNLOAD.json",
    "content": "{\"name\":\"DOWNLOAD\",\"statements\":[{\"name\":\"PROC DOWNLOAD\",\"aliases\":[\"none\"],\"description\":\"Transfers files from the server to the client.\",\"help\":\"PROC DOWNLOAD \\n\\t<data-set-options>\\n\\t\\t<library-options>\\n\\t\\t<external-file-options>\\n\\t\\t<AFTER=date>;WHERE where-expression-1<logical-operator where-expression-n>;EXCLUDE list</MEMTYPE=mtype>;SELECT lib-member-list</MEMTYPE=mtype>;\",\"arguments\":[{\"name\":\"AFTER=\",\"optional\":true,\"description\":\"specifies a modification date in the form of a numeric date value or a SAS date constant.\",\"help\":\"AFTER=*date*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0lkcf53cfm1f4n0z534684swlea\"},{\"name\":\"BINARY\",\"optional\":true,\"description\":\"specifies a download of a binary image (an exact copy) of an external server file. Use this option only for downloading external files.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1qfo83dfz50tzn1acctibpvvtx6\"},{\"name\":\"CONSTRAINT=\",\"optional\":true,\"description\":\"specifies if integrity constraints should be re-created on the client when a SAS data set that has integrity constraints defined is downloaded. You can specify this option with the DATA= option (if you omit the OUT= option) or with the INLIB= and OUTLIB= options.\",\"help\":\"CONSTRAINT=YES | NO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YES\",\"type\":\"standalone\"},{\"name\":\"NO\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"p08cih2twibbzxn1egtefs5vicdu\"},{\"name\":\"DATA=\",\"optional\":true,\"description\":\"specifies a SAS data set that you want to download from the server to the client. If the data set is a permanent SAS data set, you must define a libref before the PROC DOWNLOAD statement and specify the two-level name of the data set.\",\"help\":\"DATA=*server-SAS-data-set*  &lt;(*SAS-data-set-options*)&gt;\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"p198rp6x64fwarn1gjasyz150ugx\"},{\"name\":\"DATECOPY\",\"optional\":true,\"description\":\"retains the date on which a SAS data set was created and the date on which a SAS data set was last modified for each data set that is transferred.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0g59pyrjoozf9n15ysnezlbvckq\"},{\"name\":\"EXTENDSN=\",\"optional\":true,\"description\":\"specifies whether to promote the length of short numerics (length less than 8 bytes) when transferring.\",\"help\":\"EXTENDSN=YES | NO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NO\",\"description\":\"indicates that the length of numeric variables is not promoted.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0qew1adu3m634n16gdb0hameb12\"},{\"name\":\"YES\",\"description\":\"indicates that 1 will be added to the length of any numeric variable that has a length of less than 8 bytes before it is transferred to the client computer.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0hy1jy7iiuvban1orf2ewq2mbft\"}],\"supportSiteTargetFragment\":\"p0l7nq0dufgizhn114huv1mc705u\"},{\"name\":\"GEN=\",\"optional\":true,\"description\":\"specifies that data set generations are to be sent during library transfers.\",\"help\":\"GEN=YES | NO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YES\",\"description\":\"specifies that data set generations are sent during library transfers.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0f1dtdbhqj28hn17wunnz70feqw\"},{\"name\":\"NO\",\"description\":\"specifies that data set generations are not sent during library transfers.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p100qnt6dv3wv6n1sl723ygyj21p\"}],\"supportSiteTargetFragment\":\"n0vjt91vwbcw8vn1juk4iare724f\"},{\"name\":\"INDEX=\",\"optional\":true,\"description\":\"specifies whether to re-create an index at the client when you download a SAS data set. You can specify this option when using the DATA= option (if you omit the OUT= option) or when using the INLIB= and OUTLIB= options.\",\"help\":\"INDEX=YES | NO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YES\",\"type\":\"standalone\"},{\"name\":\"NO\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"p17twbybpow5q8n1sdewwd207kcb\"},{\"name\":\"INFILE=\",\"optional\":true,\"description\":\"specifies the external file that you want to download from the server to the client.\",\"help\":\"INFILE=*server-file-identifier*\",\"type\":\"value\",\"arguments\":[{\"name\":\"fileref\",\"placeholder\":true,\"description\":\"is used if you have defined a fileref on the server that is associated with a single file. You must define the fileref before specifying the PROC DOWNLOAD statement.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0ah5koz0b2yx0n1bey38y33p3me\"},{\"name\":\"member\",\"placeholder\":true,\"description\":\"specifies one or more files in that aggregate storage location. You can use the asterisk character (*) as a wildcard in the member specification to download multiple files via a single PROC DOWNLOAD statement. The * matches zero or more characters.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0d5xk3eju7s54n19l36vjuqegye\"},{\"name\":\"'external-file-name'\",\"placeholder\":true,\"description\":\"is used to explicitly define the file that is to be downloaded.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p14bequd0jcl39n1a9lmidcg71h8\"}],\"supportSiteTargetFragment\":\"p0yhbm7lgyaj5sn1vi3t4d6ymzli\"},{\"name\":\"INLIB=\",\"optional\":true,\"aliases\":[\"INDD=\",\"IN=\"],\"description\":\"specifies a SAS library to download from the server to the client. All three forms of this option are equivalent. This option must be used with the OUTLIB= option (in any of its forms). Before using this option, you must define the libref that is used for server-SAS-library.\",\"help\":\"INLIB=*server-SAS-library*\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"p170nwi95f4x2jn1bxrekw0spp98\"},{\"name\":\"MEMTYPE=\",\"optional\":true,\"aliases\":[\"MTYPE=\",\"MT=\"],\"description\":\"specifies one or more member types to be downloaded.\",\"help\":\"MEMTYPE=ALL | DATA |  MDDB | VIEW\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ALL\",\"type\":\"standalone\"},{\"name\":\"DATA\",\"type\":\"standalone\"},{\"name\":\"MDDB\",\"type\":\"standalone\"},{\"name\":\"VIEW\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"p0kxvnglltldtyn1hba2f6zp1ttv\"},{\"name\":\"OUT=\",\"optional\":true,\"description\":\"names the SAS data set on the client that you want the downloaded data set written to. If you want to create a permanent SAS data set, you must define the libref before specifying the PROC DOWNLOAD statement, and you must specify a two-level SAS data set name.\",\"help\":\"OUT=*client-SAS-data-set* &lt;(*SAS-data-set-options*)&gt;\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"p1haxgjdlhn6j8n1gxqvx5r5j4pq\"},{\"name\":\"OUTFILE=\",\"optional\":true,\"description\":\"identifies an external file on the client that you want a downloaded external file written to.\",\"help\":\"OUTFILE=*client-file-identifier*\",\"type\":\"value\",\"arguments\":[{\"name\":\"fileref\",\"placeholder\":true,\"description\":\"is used if you have defined a fileref on the client that is associated with a single file. You must define the fileref before specifying the PROC DOWNLOAD statement.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1viea183chn79n1vlsv89ey3ak9\"},{\"name\":\"fileref\",\"placeholder\":true,\"description\":\"is used if you have defined a fileref on the client that is associated with an aggregate storage location such as a directory. member specifies which file in that aggregate storage location should be transferred. You must define the fileref before specifying the PROC DOWNLOAD statement. For details about filerefs for your operating environment, see the appropriate operating environment companion documentation.\",\"help\":\"*fileref(member)*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0kbedx86ncu2fn1besilhj0g69o\"},{\"name\":\"'external-file-name'\",\"placeholder\":true,\"description\":\"is used to explicitly define the file that is to be downloaded.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0h1b57qlldoqqn1ieyntay2dz7o\"}],\"supportSiteTargetFragment\":\"p1gct05lmih82un1svtxzu3gvtrf\"},{\"name\":\"OUTLIB=\",\"optional\":true,\"aliases\":[\"OUTDD=\"],\"description\":\"names the destination SAS library on your client where the downloaded data sets from the server are stored. All three forms of this option are equivalent. Before using this option, you must define the libref that is used for client-SAS-library.\",\"help\":\"OUTLIB=*client-SAS-library* \",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"n0l09lbnfi7y5sn17sm3m3ywzgd5\"},{\"name\":\"VIEWTODATA\",\"optional\":true,\"description\":\"for a library transfer only, causes view descriptor files to be transferred as data sets instead of as view files, which is the default. If you want some views to be transferred as view files and other views to be transferred as data sets, you would have to perform two separate transfers. If you attempt to use this option for a single data set transfer (by using the DATA= option), an error results.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n15obinjljafcpn1xcu7xpkvv3kz\"},{\"name\":\"V6TRANSPORT\",\"optional\":true,\"description\":\"specifies that data should be translated by using the SAS 6 File Format Translation Algorithms. Specify this option only when you want to use the SAS 6 translation style explicitly, and both the client and the server run SAS 8 or a later release of SAS.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n19s0nv0sixegpn1nrkp6rhiucb1\"},{\"name\":\"XATTR=\",\"optional\":true,\"description\":\"specifies whether to allow for the upload or download of extended attributes that are defined on a SAS data set or SAS library. This option is turned on by default in PROC UPLOAD and PROC DOWNLOAD. The XATTR=YES option is invalid when the OUT= option is specified.\",\"help\":\"XATTR=YES | NO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YES\",\"type\":\"standalone\"},{\"name\":\"NO\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"n0edahdt914osdn1ox6519746cma\"}],\"supportSiteTargetFile\":\"n0ou4b3fcex4p3n1mvc9nrx91syf.htm\"},{\"name\":\"WHERE\",\"description\":\"Selects observations from SAS data sets.\",\"help\":\"WHERE *where-expression-1*&lt;*logical-operator where-expression-n*&gt;;\",\"arguments\":[{\"name\":\"where-expression-1\",\"placeholder\":true,\"description\":\"is a WHERE expression.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0yr31qmgp44jzn1hmxknqmix0dw\"},{\"name\":\"logical-operator\",\"placeholder\":true,\"description\":\"is one of the following logical operators:\\n• AND\\n• AND NOT\\n• OR\\n• OR NOT\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0m9j2p2b5x9b4n1bf3ln6q2twm5\"},{\"name\":\"where-expression-n\",\"placeholder\":true,\"description\":\"is a WHERE expression.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0qtcku45ihkb0n1074f0hma1fzz\"}],\"supportSiteTargetFile\":\"n067kubb9b9cswn1xbvfroyha4hk.htm\"},{\"name\":\"EXCLUDE\",\"description\":\"Excludes library members from downloading.\",\"help\":\"EXCLUDE *lib-member-list*&lt;/ MEMTYPE=*mtype*&gt;;\",\"arguments\":[{\"name\":\"prefix:\",\"placeholder\":true,\"description\":\"specifies all members whose names begin with the character string prefix. For example, if you specify TEST:, all members with names that begin with the letters TEST are excluded.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p01wjr2qzhb6oxn16s5ex0yg2fwk\"},{\"name\":\"first-last\",\"placeholder\":true,\"description\":\"specifies all members whose names have a value between first and last. For example, if you specify TEST1-TEST3, any files that are named TEST1, TEST2, or TEST3 are excluded.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0jt0irvlf9chjn12i69rg4u4vh0\"},{\"name\":\"MEMTYPE=\",\"optional\":true,\"aliases\":[\"MTYPE=\",\"MT=\"],\"description\":\"specifies a member type to exclude from downloading.\",\"help\":\"MEMTYPE=ALL | DATA | MDDB | VIEW\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ALL\",\"type\":\"standalone\"},{\"name\":\"DATA\",\"type\":\"standalone\"},{\"name\":\"MDDB\",\"type\":\"standalone\"},{\"name\":\"VIEW\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"p04dxa022qpwmqn1lbqzztp5zizo\"}],\"supportSiteTargetFile\":\"n1kmb7nskf9wqbn1kzcihsz1k6cz.htm\"},{\"name\":\"SELECT\",\"description\":\"Selects specific library members to download.\",\"help\":\"SELECT *lib-member-list*&lt;/ MEMTYPE=*mtype*&gt;;\",\"arguments\":[{\"name\":\"prefix:\",\"placeholder\":true,\"description\":\"specifies all members whose names begin with the character string prefix. For example, if you specify TEST:, all members with names that begin with the letters TEST are selected for downloading.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0exj5prlcf78yn1nwr087c9y9o9\"},{\"name\":\"first-last\",\"placeholder\":true,\"description\":\"specifies all members whose names have a value between first and last. For example, if you specify TEST1-TEST3, any files that are named TEST1, TEST2, or TEST3 are selected for downloading.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1ekpsy2u72rcbn1qio47i7pk09p\"},{\"name\":\"MEMTYPE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"MTYPE=\",\"MT=\"],\"description\":\"specifies a member type to download.\",\"help\":\"MEMTYPE=ALL | DATA | MDDB | VIEW\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ALL\",\"type\":\"standalone\"},{\"name\":\"DATA\",\"type\":\"standalone\"},{\"name\":\"MDDB\",\"type\":\"standalone\"},{\"name\":\"VIEW\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"n122qfloizbyfmn1l59z8x1qwgej\"}],\"supportSiteTargetFile\":\"n1bdahs9d0jjxtn1wnazcdyd91uk.htm\"}],\"supportSiteInformation\":{\"docsetId\":\"viyaconnref\",\"docsetVersion\":\"v_007\",\"docsetTargetFile\":\"n0201j3ph2d2xvn1dzy66fb9tnc8.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/DQLOCLST.json",
    "content": "{\"name\":\"DQLOCLST\",\"statements\":[{\"name\":\"PROC DQLOCLST\",\"description\":\"The DQLOCLST procedure creates a data set that includes the list of locales in the Quality Knowledge Base that is named by the system option DQSETUPLOC=.\",\"help\":\"PROC DQLOCLST &lt;OUT=*output-data-set*&gt;;run;\",\"arguments\":[{\"name\":\"OUT=\",\"optional\":true,\"description\":\"identifies the name of the output data set. The procedure follows standard SAS data set naming conventions.\",\"help\":\"OUT=*output-data-set*\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"p1c5wplqzdqgi4n1n2vwqd1t61iv\"}],\"supportSiteTargetFile\":\"p1n4qtlmblekw3n16wia2mvyh7zm.htm\"}],\"supportSiteInformation\":{\"docsetId\":\"dqclref\",\"docsetVersion\":\"v_008\",\"docsetTargetFile\":\"n0n3ecvxq8pkfan1vpadv4kfx6cy.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/DQMATCH.json",
    "content": "{\"name\":\"DQMATCH\",\"statements\":[{\"name\":\"PROC DQMATCH\",\"description\":\"Create match codes as a basis for standardization or transformation.\",\"help\":\"PROC DQMATCH <DATA=input-data-set-name>\\n\\n\\t<CLUSTER=output-numeric-variable-name>\\n\\t\\t<CLUSTER_BLANKS | NO_CLUSTER_BLANKS>\\n\\t\\t<CLUSTERS_ONLY>\\n\\t\\t<DELIMITER | NODELIMITER>\\n\\t\\t<LOCALE=locale-name>\\n\\t\\t<MATCHCODE=output-character-variable-name>\\n\\t\\t<OUT=output-data-set-name>;CRITERIA <options>\",\"arguments\":[{\"name\":\"CLUSTER=\",\"optional\":true,\"description\":\"specifies the name of the numeric variable in the output data set that contains the cluster number.\",\"help\":\"CLUSTER=*output-numeric-variable-name*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0b9952jkqiwbwn1g5n08rxm154z\"},{\"name\":\"CLUSTER_BLANKS\",\"optional\":true,\"description\":\"specifies how to process blank values.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n18ud4ka6m3ffkn14rielyy72wji\"},{\"name\":\"NO_CLUSTER_BLANKS\",\"optional\":true,\"description\":\"specifies how to process blank values.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n18ud4ka6m3ffkn14rielyy72wji\"},{\"name\":\"CLUSTERS_ONLY\",\"optional\":true,\"description\":\"specifies that input character values that are part of a cluster are written to the output data set. Excludes input character values that are not part of a cluster.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0tna6rt40cvwxn1sg73jyl9198r\"},{\"name\":\"DATA=\",\"optional\":true,\"description\":\"specifies the name of the input SAS data set.\",\"help\":\"DATA=*input-data-set-name*\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"p1myw97exqmq6nn19km5nfw5pppx\"},{\"name\":\"DELIMITER\",\"optional\":true,\"description\":\"specifies whether exclamation points (!) are used as delimiters.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0d1aq39wtdkatn18exi4ra15pdu\"},{\"name\":\"NODELIMITER\",\"optional\":true,\"description\":\"specifies whether exclamation points (!) are used as delimiters.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0d1aq39wtdkatn18exi4ra15pdu\"},{\"name\":\"LOCALE=\",\"optional\":true,\"description\":\"specifies the name of the locale that is used to create match codes. The locale-name can be a name in quotation marks, or an expression that evaluates to a locale-name. It can also be the name of a variable whose value is a locale-name.\",\"help\":\"LOCALE=*locale-name*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p19fgw4tqbfb6dn1okmvl23soviq\"},{\"name\":\"MATCHCODE=\",\"optional\":true,\"description\":\"specifies the name of the output character variable that stores the match codes. The DQMATCH procedure defines a sufficient length for this variable, even if a variable with the same name exists in the input data set.\",\"help\":\"MATCHCODE=*output-character-variable-name*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0o7s03omkcdfin0zgny1lnnshj2\"},{\"name\":\"OUT=\",\"optional\":true,\"description\":\"specifies the name of the output data set for match codes created with the DQMATCH procedure. The DQMATCH procedure creates match codes for specified character variables in an input data set.\",\"help\":\"OUT=*output-data-set-name*\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"p1js744ngmdpfan1kf632m4tw5c7\"}],\"supportSiteTargetFile\":\"p13nd49mwino57n18sjolhreyeag.htm\"},{\"name\":\"CRITERIA\",\"description\":\"Creates match codes and optional cluster numbers for an input variable.\",\"help\":\"CRITERIA <CONDITION=integer>\\n\\n\\t<DELIMSTR=input-variable-name | VAR=input-variable-name>\\n\\t\\t<EXACT | MATCHDEF='match-definition'>\\n\\t\\t<MATCHCODE=output-character-variable>\\n\\t\\t<SENSITIVITY=sensitivity-level >;\",\"arguments\":[{\"name\":\"CONDITION=\",\"optional\":true,\"description\":\"groups CRITERIA statements to constrain the assignment of cluster numbers.\\n• Multiple CRITERIA statements with the same CONDITION value are all required to  the values of an existing  to receive the number of that cluster.\\n• The CRITERIA statements are applied as a logical AND.\\n• If more than one CONDITION option is defined in a series of CRITERIA statements, then a logical OR is applied across all CONDITION option values.\\n• In a table of customer information, you can assign  numbers based on matches between the customer name AND the home address.\\n• You can also assign  numbers on the customer name and organization address.\\n• All CRITERIA statements that lack a CONDITION option receive a  number based on a logical AND of all such CRITERIA statements.\",\"help\":\"CONDITION=*integer*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0gq0lusd4szk7n1486tglw4l982\"},{\"name\":\"DELIMSTR=\",\"optional\":true,\"description\":\"specifies the name of a variable.\",\"help\":\"DELIMSTR=*input-variable-name*\",\"type\":\"value\",\"arguments\":[{\"name\":\"DELIMSTR=\",\"description\":\"specifies the name of a variable that has been parsed by the DQPARSE function, or contains tokens added with the DQPARSETOKENPUT function.\",\"help\":\"DELIMSTR=*input-variable-name*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0s23y171l33udn14pftzjvbhcjy\"},{\"name\":\"VAR=\",\"description\":\"specifies the name of the character variable that is used to create match codes. If the variable contains delimited values, use the DELIMSTR option.\",\"help\":\"VAR=*input-variable-name*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1ra7z6q4nsbb4n1ries8rc7pwyo\"}],\"supportSiteTargetFragment\":\"p0y4smfbhktzsjn1stt9xz3hd32t\"},{\"name\":\"VAR=\",\"optional\":true,\"description\":\"specifies the name of a variable.\",\"help\":\"VAR=*input-variable-name*\",\"type\":\"value\",\"arguments\":[{\"name\":\"DELIMSTR=\",\"description\":\"specifies the name of a variable that has been parsed by the DQPARSE function, or contains tokens added with the DQPARSETOKENPUT function.\",\"help\":\"DELIMSTR=*input-variable-name*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0s23y171l33udn14pftzjvbhcjy\"},{\"name\":\"VAR=\",\"description\":\"specifies the name of the character variable that is used to create match codes. If the variable contains delimited values, use the DELIMSTR option.\",\"help\":\"VAR=*input-variable-name*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1ra7z6q4nsbb4n1ries8rc7pwyo\"}],\"supportSiteTargetFragment\":\"p0y4smfbhktzsjn1stt9xz3hd32t\"},{\"name\":\"EXACT\",\"optional\":true,\"description\":\"assigns a cluster number.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1ryf4nbl63p5mn1k9senplmsylp\"},{\"name\":\"MATCHDEF=\",\"optional\":true,\"description\":\"assigns a cluster number.\",\"help\":\" MATCHDEF=*output-character-variable*\",\"type\":\"value\",\"arguments\":[{\"name\":\"EXACT\",\"description\":\"assigns a cluster number based on an exact character match between values.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0gmtiz3i1ihhhn1uly0ymawr3c9\"},{\"name\":\"MATCHDEF=\",\"description\":\"specifies the match definition that is used to create the match codes for the specified source variable.\",\"help\":\"MATCHDEF='*match-definition*'\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0susp2yvxixd4n1nga3sib7by95\"}],\"supportSiteTargetFragment\":\"p1ryf4nbl63p5mn1k9senplmsylp\"},{\"name\":\"MATCHCODE=\",\"optional\":true,\"description\":\"specifies the name of the variable that receives the match codes for the character variable that is specified in the VAR option or the DELIMSTR option.\",\"help\":\"MATCHCODE=*output-character-variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0qxrer0b0ajt0n179nwxhy39xvp\"},{\"name\":\"SENSITIVITY=\",\"optional\":true,\"description\":\"determines the amount of information in the resulting match codes. Higher sensitivity values create match codes that contain more information about the input values. Higher sensitivity levels result in a greater number of clusters, with fewer values in each cluster.\",\"help\":\"SENSITIVITY=*sensitivity-level*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p02w0j19em0w0ln1fp0jqamb1hro\"}],\"supportSiteTargetFile\":\"p1ido24wrdf77fn16chwolsqaojx.htm\"}],\"supportSiteInformation\":{\"docsetId\":\"dqclref\",\"docsetVersion\":\"v_008\",\"docsetTargetFile\":\"n1qx8v350g506kn1j1xlnm0v303h.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/DQSCHEME.json",
    "content": "{\"name\":\"DQSCHEME\",\"statements\":[{\"name\":\"PROC DQSCHEME\",\"description\":\"Creates scheme data sets and analysis data sets and applies schemes to input data sets.\",\"help\":\" PROC DQSCHEME   DATA=input-data-set\\n\\n\\t<QKB  | NOQKB>\\n\\t\\tOUT=output-data-set;\\nAPPLY <options>;\\n CONVERT  <options>;\\nCREATE <options>;\",\"arguments\":[{\"name\":\"QKB\",\"optional\":true,\"description\":\"\",\"help\":\" QKB\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0i33vem6c7mwln1p7de3m1e6de2\"},{\"name\":\"NOQKB\",\"optional\":true,\"description\":\"\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0i33vem6c7mwln1p7de3m1e6de2\"},{\"name\":\"DATA=\",\"optional\":true,\"description\":\"When you use the CREATE statement to create schemes, the DATA option specifies the SAS data set from which one or more schemes are built. When you use the APPLY statement to apply existing schemes, the DATA option specifies the SAS data set that is transformed by the scheme.\",\"help\":\"DATA=*input-data-set*\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"n02iu9duo13nfen143kf9noq752e\"},{\"name\":\"OUT=\",\"optional\":true,\"description\":\"specifies the output data set.\",\"help\":\"OUT=*output-data-set*\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"n0437b560nvrmvn1j5v8whjtauri\"}],\"supportSiteTargetFile\":\"p05zembdzyi4rfn1vy18vwsmlic2.htm\"},{\"name\":\"APPLY\",\"description\":\"Applies a scheme to transform the values of a single variable.\",\"help\":\"APPLY <LOCALE=locale-name>\\n\\n\\t<MATCH-DEFINITION=match-definition>\\n\\t\\t<MODE=ELEMENT | PHRASE>\\n\\t\\t<SCHEME=scheme-name>\\n\\t\\t<SCHEME_LOOKUP =EXACT  | IGNORE_CASE  | USE_MATCHDEF>\\n\\t\\t<SENSITIVITY=sensitivity-level>\\n\\t\\t<VAR=variable-name>;\",\"arguments\":[{\"name\":\"LOCALE=\",\"optional\":true,\"description\":\"specifies the ISO code of the locale that supports the specified match definition. This value replaces the default value that could be present in the scheme.\",\"help\":\"LOCALE=*locale-name*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n06lod3hh02t6xn1dxcrhigi8pgi\"},{\"name\":\"MATCH-DEFINITION=\",\"optional\":true,\"description\":\"specifies the name of the match definition, in the specified locale, that is referenced to generate match codes for the input variable.\",\"help\":\"MATCH-DEFINITION=*match-definition*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0mf8445fihhryn15ia4cj8y0q2c\"},{\"name\":\"MODE=\",\"optional\":true,\"description\":\"specifies a mode of scheme application. This information overrides any default mode that is specified in the CREATE statement for the scheme, or in the DQSCHEMEAPPLY function or CALL routine.\",\"help\":\"MODE=ELEMENT | PHRASE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ELEMENT\",\"description\":\"specifies that each element in each value of the input variable is compared to the data values in the scheme. When SCHEME_LOOKUP=USE_MATCHDEF, the match code for each element is compared to match codes generated for each element, in each DATA variable value in the scheme.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0do4y635qss46n1hkgjj74r3j86\"},{\"name\":\"PHRASE\",\"description\":\"this default value specifies that the entirety of each value of the input variable is compared to the data values in the scheme. When SCHEME_LOOKUP=USE_MATCHDEF, the match code for the entire input value is compared to match codes that are generated for each data value in the scheme.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0cn30qm9wi821n18wki9wh8kh3x\"}],\"supportSiteTargetFragment\":\"p09cz6q9jc0q2vn1xq7t3xk56hiq\"},{\"name\":\"SCHEME=\",\"optional\":true,\"description\":\"identifies the scheme that transforms the input variable. In all the operating environments other than z/OS, schemes using QKB scheme file format are identified by specifying a fileref or a fully qualified name that ends in .sch.qkb. z/OS requires a SAS-format scheme file.\",\"help\":\"SCHEME=*scheme-name*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n161jb64vrh1gvn1xr23zcohm7xf\"},{\"name\":\"SCHEME_LOOKUP\",\"optional\":true,\"description\":\"specifies the method of applying the scheme to the input variable, replacing any default method in the scheme file. Valid values are defined as follows:\",\"help\":\"SCHEME_LOOKUP =EXACT | IGNORE_CASE | USE_MATCHDEF\",\"type\":\"choice\",\"arguments\":[{\"name\":\"EXACT\",\"description\":\"(default value) specifies that the values of the input variable are to be compared to the data values in the scheme without changing the input values in any way. The transformation value in the scheme is written into the output data set only when an input value exactly matches a data value in the scheme. Any adjacent blank spaces in the input values are replaced with single blank spaces before comparison.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0ini044pbq2nin1gton8sw87qii\"},{\"name\":\"IGNORE_CASE\",\"description\":\"specifies that capitalization is to be ignored when input values are compared to the data values in the scheme.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1smd1vhyfpmlen1si8tzy3odxwk\"},{\"name\":\"USE_MATCHDEF\",\"description\":\"specifies that comparisons are to be made between the match codes of the input values and the match codes in the scheme.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0n1sxs5d0qu8nn1e6ny2dqlc3vv\"}],\"supportSiteTargetFragment\":\"n0ojubwv2fcpman1ka3dodfico28\"},{\"name\":\"SENSITIVITY=\",\"optional\":true,\"description\":\"specifies the amount of information in the resulting match codes. This value replaces the sensitivity value that can be specified in the scheme.\",\"help\":\" SENSITIVITY=*sensitivity-level*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1wz66wzcwa7uan13rdr16zn7rd9\"},{\"name\":\"VAR=\",\"optional\":true,\"description\":\"specifies the name of the input variable or source column that is analyzed and transformed. The type of the input variable can be CHAR or VARCHAR. When the variable is part of a table in SAS 9, VARCHAR is converted to CHAR at input. When the input variable is part of a table in CAS, VARCHAR is processed without conversion to CHAR. For more information, see VARCHAR Data Type in String Functions.\",\"help\":\"VAR=*input-variable-name*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p16znixtsf6szjn167ozn696hkj6\"}],\"supportSiteTargetFile\":\"p1v3gvutnhc0pcn160heyymhmjme.htm\"},{\"name\":\"CONVERT\",\"description\":\"Converts schemes between SAS and QKB scheme file formats.\",\"help\":\"\\n\\tCONVERT <QKBTOSAS  | SASTOQKB>\\n\\n\\t<IN=input-data-set>\\n\\t<OUT=output-data-set>; \",\"arguments\":[{\"name\":\"QKBTOSAS\",\"description\":\"specify QKBTOSAS to convert a scheme in QKB scheme file format to SAS format. Specify SASTOQKB to convert a scheme in SAS format to QKB scheme file format. Schemes in SAS format are created with the CREATE statement using the NOQKB option in the DQSCHEME procedure.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1nb6tac0k88oan111eashm2rqou\"},{\"name\":\"SASTOQKB\",\"description\":\"specify QKBTOSAS to convert a scheme in QKB scheme file format to SAS format. Specify SASTOQKB to convert a scheme in SAS format to QKB scheme file format. Schemes in SAS format are created with the CREATE statement using the NOQKB option in the DQSCHEME procedure.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1nb6tac0k88oan111eashm2rqou\"},{\"name\":\"IN=\",\"description\":\"identifies the existing scheme data set that is to be converted.\",\"help\":\"IN=*scheme-data-set*\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"n1qp43urzkerikn1poayr7gdtdk6\"},{\"name\":\"OUT=\",\"description\":\"specifies the name of the data set with the converted scheme.\",\"help\":\"OUT=*converted-scheme-data-set*\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"n0fio957cs6o1bn191eg8scakhdj\"}],\"supportSiteTargetFile\":\"p0h23749nqq6w6n1cv1vok7q22na.htm\"},{\"name\":\"CREATE\",\"description\":\"Creates a scheme or an analysis data set.\",\"help\":\"CREATE = <ANALYSIS=analysis-data-set >\\n\\n\\t<INCLUDE_ALL>\\n\\t\\t<LOCALE=locale-name>\\n\\t\\t<MATCHDEF=match-definition  >\\n\\t\\t<MODE=ELEMENT  | PHRASE>\\n\\t\\t<SCHEME=scheme-name>\\n\\t\\t<SCHEME_LOOKUP=EXACT | IGNORE_CASE | USE_MATCHDEF>\\n\\t\\t<SENSITIVITY=sensitivity-level>\\n\\t\\t<VAR=input-character-variable>; \\n\",\"arguments\":[{\"name\":\"ANALYSIS=\",\"optional\":true,\"description\":\"Names the output data set that stores analytical data.\",\"help\":\" ANALYSIS=*analysis-data-set* \",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"p1rjtxqpkpotlvn1oaxlkjileqpx\"},{\"name\":\"INCLUDE_ALL\",\"optional\":true,\"description\":\"specifies that the scheme is to contain all of the values of the input variable. This includes input variables with these conditions:\\n• with unique  codes                     \\n• that were not transformed\\n• that did not receive a  number\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1fkvh7beyu5nkn15ikosrn08cpx\"},{\"name\":\"LOCALE=\",\"optional\":true,\"description\":\"specifies the ISO code of the locale that supports the input data set and the specified match definition. This default is specified in the scheme. The default can be superseded by a different locale that is specified in the APPLY statement or in the DQSCHEMEAPPLY function or CALL routine. The value can be specified as a quoted string, a variable whose value is the locale name, or an expression that evaluates to the locale name.\",\"help\":\"LOCALE=*locale-name*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0hu6xxulony1yn1h2vfdtj3g856\"},{\"name\":\"MATCHDEF=\",\"optional\":true,\"description\":\"names the match definition in the specified locale that is used to establish cluster numbers. You can specify any valid match definition.\",\"help\":\" MATCHDEF=*match-definition*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n19ejj2vy2pm0xn1rawgfqk2ot68\"},{\"name\":\"MODE=\",\"optional\":true,\"description\":\"specifies a mode of scheme application. This information is stored in the scheme as metadata, which specifies a default mode when the scheme is applied. The default mode is superseded by a mode in the APPLY statement, or in the DQSCHEMEAPPLY function or CALL routine.\",\"help\":\"MODE=ELEMENT | PHRASE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ELEMENT\",\"description\":\"specifies that each element in each value of the input character variable is compared to the data values in the scheme. When SCHEME_LOOKUP=USE_MATCHDEF, the match code for each element is compared to match codes generated for each element in each DATA variable value in the scheme.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1grlcg4rvwm6mn1hiis6wxb64ug\"},{\"name\":\"PHRASE\",\"description\":\"(default value) specifies that the entirety of each value of the input character variable is compared to the data values in the scheme. When SCHEME_LOOKUP=USE_MATCHDEF, the match code for the entire input value is compared to match codes that are generated for each data value in the scheme.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0jy44r5j8u3xvn1qkfgmt2wmjqa\"}],\"supportSiteTargetFragment\":\"n10t4vyeypnnakn1t49rwbz7vbs6\"},{\"name\":\"SCHEME=\",\"optional\":true,\"description\":\"specifies the name or the fileref of the scheme that is created. The fileref must reference a fully qualified path with a file name that ends in .sch.qkb. Lowercase letters are required. To create a scheme data set in QKB scheme file format, specify the QKB option in the DQSCHEME procedure.\",\"help\":\"SCHEME=*scheme-name*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n12n8cjmlouxdln1c1e59fbntl7k\"},{\"name\":\"SCHEME_LOOKUP=\",\"optional\":true,\"description\":\"specifies the default method of applying the scheme to the input variable. Valid values are defined as follows:\",\"help\":\"SCHEME_LOOKUP=EXACT | IGNORE_CASE | USE_MATCHDEF\",\"type\":\"choice\",\"arguments\":[{\"name\":\"EXACT\",\"description\":\"This default value specifies that the input variable will be compared to the data values in the scheme without changing the input values in any way. The transformation value in the scheme is written into the output data set only when an input value exactly matches a data value in the scheme. Any adjacent blank spaces in the input values are replaced with single blank spaces before comparison.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0a5eanqbgo8rkn1rn9cy9ml5j9q\"},{\"name\":\"IGNORE_CASE\",\"description\":\"specifies that capitalization is to be ignored when input values are compared to the data values in the scheme.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0hkqyc92lmtbin1d9ge4wocfcle\"},{\"name\":\"USE_MATCHDEF\",\"description\":\"specifies that comparisons are to be made between the match codes of the input values and the match codes of the data values in the scheme.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n058lofp4s7bj6n185zcjwq4ajiw\"}],\"supportSiteTargetFragment\":\"p0simt0333r2dmn17nw4weql0l6z\"},{\"name\":\"SENSITIVITY=\",\"optional\":true,\"description\":\"determines the amount of information that is included in the match codes that are generated during the creation and perhaps the application of the scheme. The value of the SENSITIVITY option is stored in the scheme as a meta option. This provides a default sensitivity value when the scheme is applied.\",\"help\":\"SENSITIVITY=*sensitivity-level*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0rnpi8ad1h39kn18q3tvl57k5sv\"},{\"name\":\"VAR=\",\"optional\":true,\"description\":\"specifies the name of the input variable or source column that is analyzed to create the scheme. The type of the input variable can be CHAR or VARCHAR. When the variable is part of a table in SAS 9, VARCHAR is converted to CHAR at input. When the input variable is part of a table in CAS, VARCHAR is processed without conversion to CHAR. For more information, see VARCHAR Data Type in String Functions.\",\"help\":\"VAR=*input-character-variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p05ouqmzd036hln1jag3gmj5yf31\"}],\"supportSiteTargetFile\":\"n15kbh14jmtrc2n1gyl2fk5g1vzo.htm\"}],\"supportSiteInformation\":{\"docsetId\":\"dqclref\",\"docsetVersion\":\"v_008\",\"docsetTargetFile\":\"n1ix4dy79b76brn1jca5jxbaexen.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/DS2.json",
    "content": "{\"name\":\"DS2\",\"statements\":[{\"name\":\"PROC DS2\",\"description\":\"Specifies that the subsequent input is DS2 language statements.\",\"help\":\"PROC DS2 [connection-options][processing-options];\\n\\t ...DS2 language statements\\n\\tRUN ;\\n\\tRUN CANCEL ;\\n\\tQUIT ;\",\"arguments\":[{\"name\":\"ANSIMODE\",\"optional\":true,\"description\":\"specifies that nonexistent values in fixed-length character columns and DOUBLE columns are processed as ANSI SQL null values.\",\"type\":\"standalone\"},{\"name\":\"ERRORSTOP\",\"optional\":true,\"description\":\"specifies whether the procedure stops executing if it encounters an error.\",\"type\":\"standalone\"},{\"name\":\"NOERRORSTOP\",\"optional\":true,\"description\":\"specifies whether the procedure stops executing if it encounters an error.\",\"type\":\"standalone\"},{\"name\":\"LABEL\",\"optional\":true,\"description\":\"specifies whether to use the column label or the column name as the column heading.\",\"type\":\"standalone\"},{\"name\":\"NOLABEL\",\"optional\":true,\"description\":\"specifies whether to use the column label or the column name as the column heading.\",\"type\":\"standalone\"},{\"name\":\"LIBS=\",\"optional\":true,\"aliases\":[\"LIBNAMES=\"],\"description\":\"restricts the data source connection to the specified libref or librefs, and the default library.\",\"help\":\"LIBS=*libref* | (*libref1**libref2* ...*librefn*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"libref\",\"placeholder\":true,\"type\":\"dataSet\"},{\"name\":\"(libref1libref2librefn)\",\"placeholder\":true,\"type\":\"dataSet\"}]},{\"name\":\"LOGICALEXPR=\",\"optional\":true,\"description\":\"specifies how logical AND and OR expressions are evaluated.\",\"help\":\"LOGICALEXPR=STANDARD | OPTIMIZED\",\"type\":\"choice\",\"arguments\":[{\"name\":\"STANDARD\",\"type\":\"standalone\"},{\"name\":\"OPTIMIZED\",\"type\":\"standalone\"}]},{\"name\":\"MEMSIZE=\",\"optional\":true,\"description\":\"specifies a limit for the amount of memory that is used for an underlying query (such as a SELECT statement), so that allocated memory is available to support other PROC DS2 operations.\",\"help\":\"MEMSIZE=n | nM | nG                         \",\"type\":\"choice\",\"arguments\":[{\"name\":\"n\",\"type\":\"standalone\"},{\"name\":\"nM\",\"type\":\"standalone\"},{\"name\":\"nG\",\"type\":\"standalone\"}]},{\"name\":\"MSGLIMIT=\",\"optional\":true,\"description\":\"specifies the maximum number of error, warning, and note messages that can be written to the SAS log during the execution of the DS2 program.\",\"help\":\"MSGLIMIT=n |                             MIN | MAX\",\"type\":\"choice\",\"arguments\":[{\"name\":\"n\",\"type\":\"standalone\"},{\"name\":\"MIN\",\"type\":\"standalone\"},{\"name\":\"MAX\",\"type\":\"standalone\"}]},{\"name\":\"MSGORDER=\",\"optional\":true,\"description\":\"specifies whether DS2 writes error, warning, and note messages to the SAS log as they are produced or after the DS2 program completes.\",\"help\":\"MSGORDER=STANDARD | TEMPORAL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"STANDARD\",\"type\":\"standalone\"},{\"name\":\"TEMPORAL\",\"type\":\"standalone\"}]},{\"name\":\"NUMBER\",\"optional\":true,\"description\":\"specifies to include a column named Row, which is the row (observation) number of the data as the rows are retrieved.\",\"type\":\"standalone\"},{\"name\":\"REPORTLINE\",\"optional\":true,\"description\":\"specifies whether log line numbers are reported in DS2 program execution messages.\",\"type\":\"standalone\"},{\"name\":\"NOREPORTLINE\",\"optional\":true,\"description\":\"specifies whether log line numbers are reported in DS2 program execution messages.\",\"type\":\"standalone\"},{\"name\":\"SCOND=\",\"optional\":true,\"description\":\"specifies the level of messages that PROC DS2 displays in the SAS log for the DS2 variable declaration strict mode, which requires that every variable must be declared in the DS2 program.\",\"help\":\"SCOND=WARNING | NONE | NOTE | ERROR\",\"type\":\"choice\",\"arguments\":[{\"name\":\"WARNING\",\"description\":\"writes warning messages to the SAS log.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"no messages are written to the SAS log.\",\"type\":\"standalone\"},{\"name\":\"NOTE\",\"description\":\"writes notes to the SAS log.\",\"type\":\"standalone\"},{\"name\":\"ERROR\",\"description\":\"writes error messages to the SAS log.\",\"type\":\"standalone\"}]},{\"name\":\"SESSREF=\",\"optional\":true,\"description\":\"specifies to run the DS2 statements in a CAS session. The CAS session is identified by its session name.\",\"help\":\"SESSREF=*session-reference*\",\"type\":\"value\"},{\"name\":\"SESSUUID=\",\"optional\":true,\"description\":\"specifies to run the DS2 statements in a CAS session. The CAS session is identified by its universally unique identifier (UUID).\",\"help\":\"SESSUUID=\\\"*session-uuid*\\\"\",\"type\":\"value\"},{\"name\":\"STIMER\",\"optional\":true,\"description\":\"specifies to write a subset of system performance statistics, such as time-elapsed statistics, to the SAS log.\",\"type\":\"standalone\"},{\"name\":\"XCODE=\",\"optional\":true,\"description\":\"controls the behavior of the SAS session when an NLS transcoding failure occurs.\",\"help\":\"XCODE=ERROR | WARNING | IGNORE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ERROR\",\"description\":\"specifies that a run-time error occurs, which causes row processing to halt. An error message is written to the SAS log. This is the default behavior.\",\"type\":\"standalone\"},{\"name\":\"WARNING\",\"description\":\"specifies that the incompatible character is set to a substitution character. A warning message is written to the SAS log.\",\"type\":\"standalone\"},{\"name\":\"IGNORE\",\"description\":\"specifies that the incompatible character is set to a substitution character. No messages are written to the SAS log.\",\"type\":\"standalone\"}]}]},{\"name\":\"BY\",\"description\":\"Controls the operation of a MERGE or SET statement in a DS2 program and sets up special grouping variables.\",\"help\":\"BY [DESCENDING]*column* ...[DESCENDING]*column*;\",\"arguments\":[{\"name\":\"column\",\"placeholder\":true,\"description\":\"names each column by which the table is sorted. These columns are referred to as BY variables.\",\"help\":\"*column(s)*\",\"type\":\"value\"},{\"name\":\"DESCENDING\",\"optional\":true,\"description\":\"specifies that the tables are sorted in descending order by the variable that is specified. DESCENDING means largest to smallest numerically, or reverse alphabetical for character variables.\",\"type\":\"standalone\"}]},{\"name\":\"CONTINUE\",\"description\":\"Stops processing the current DO loop iteration and resumes with the next iteration.\",\"help\":\"CONTINUE ;\"},{\"name\":\"DATA\",\"aliases\":[\"TABLE\"],\"description\":\"Begins a DS2 program and provides names for any output tables.\",\"help\":\"DATA [ <table-expression> ][ ... <table-expression> ] ;  \\n\\t… program-body …\\n\\n[ENDDATA  ; ]\\n<table-expression>::=  \\n\\ttable (table-options) \\n\\n\\t| _ROWSET_  (table-options)\\n\\n\\t| _NULL_ \\n\",\"arguments\":[{\"name\":\"table\",\"placeholder\":true,\"description\":\"specifies the name of the table. table can be one of these forms.\\n• <i>catalog</i>.<i>schema</i>.<i>table-name</i>\\n• <i>schema</i>.<i>table-name</i>\\n• <i>catalog</i>.<i>table-name</i>\\n• <i>table-name</i>\\n• <i>caslib</i>.<i>table-name</i>\",\"type\":\"dataSet\"},{\"name\":\"_ROWSET_\",\"description\":\"specifies that the DATA statement should not create a table, but it should instead return table rows to the client application.\",\"type\":\"standalone\"},{\"name\":\"_NULL_\",\"description\":\"specifies that the DATA statement should not create a table or return rows to the client application.\",\"type\":\"standalone\"},{\"name\":\"table-options\",\"placeholder\":true,\"description\":\"specifies optional arguments that the DS2 program applies when it writes rows to the output table. For more information about table options, see .\",\"type\":\"dataSet\"}]},{\"name\":\"DECLARE\",\"description\":\"Declares one or more DS2 variables or temporary arrays.\",\"help\":\"DECLARE [PRIVATE] { <data-type> <variable-list> [ <having-clause> ] } ;\\n< data-type >::= \\n\\t<exact-numeric-type> |                     <approximate-numeric-type> | <binary-string-type> |                     <string-type> \\n\\t\\t| <date-type>\\n\\n\\t<exact-numeric-type> ::= \\n\\t\\t                             {INT  | BIGINT  |                             SMALLINT  | TINYINT \\n\\t\\t\\t |                             DECIMAL [(precision \\n       [,scale] )] |                             NUMERIC [(precision \\n       [,scale])] }\\n\\n\\t<approximate-numeric-type> ::=\\n\\t\\t{                             DOUBLE  | DOUBLE PRECISION  |                             FLOAT  | REAL  }\\n\\n\\t<binary-string-type>::=\\n\\t\\tBINARY (length)                         |                         VARBINARY (length)\\n\\n\\t<string-type>::= \\n\\t\\tNCHAR [ (          character-length ) ]\\n\\t\\t| NVARCHAR [ (          character-length ) ]\\n\\t\\t| CHAR [ (          character-length ) ][CHARACTER SET character-set-identifier]\\n\\t\\t| VARCHAR [ (          character-length ) ][CHARACTER SET character-set-identifier]\\n\\n\\t<date-type>::= \\n\\t\\t{ TIME  |                             TIMESTAMP  }                         [ (          precision ) ] | DATE \\n\\n<variable-list>::= \\n\\t{ variable[ ...variable] }\\n\\n\\t| { variable                     <array-declaration>                     [variable ...<array-declaration>      ] } \\n\\t\\t<array-declaration>::= \\n\\t\\t\\t\\\\[                             <array-bound>                             [,  ...< array-bound>         ]                             \\\\]                             | \\\\[ *                             \\\\]\\n\\t\\t<array-bound>::= \\n\\t\\t\\t{ [dim-lower:]dim-upper} | {                             [dim-lower:]                             {DIM (a[,n]) }\\n\\n<having-clause>::= \\n\\tHAVING                      <having-option> [ ... <having-option> ]\\n\\t\\t<having-option>::= \\n\\t\\t\\tLABEL                              'string' |                             n'string'\\n\\t\\t\\t| FORMAT format\\n\\t\\t\\t| INFORMAT format\\n\",\"arguments\":[{\"name\":\"INT\",\"aliases\":[\"INTEGER\"],\"description\":\"specifies an integer variable or array.\",\"type\":\"standalone\"},{\"name\":\"BIGINT\",\"description\":\"specifies an integer variable or array.\",\"type\":\"standalone\"},{\"name\":\"SMALLINT\",\"description\":\"specifies an integer variable or array.\",\"type\":\"standalone\"},{\"name\":\"TINYINT\",\"description\":\"specifies an integer variable or array.\",\"type\":\"standalone\"},{\"name\":\"DECIMAL\",\"description\":\"specifies an exact numeric variable or array.\",\"help\":\"DECIMAL        [(*precision* [,        *scale*])]\",\"type\":\"value\",\"arguments\":[{\"name\":\"precision\",\"placeholder\":true,\"description\":\"specifies the maximum total number of decimal digits that can be stored, both to the left and to the right of the decimal point\",\"type\":\"value\"},{\"name\":\"scale\",\"placeholder\":true,\"description\":\"specifies the maximum number of decimal digits that can be stored to the right of the decimal point\",\"type\":\"value\"}]},{\"name\":\"NUMERIC\",\"description\":\"specifies an exact numeric variable or array.\",\"help\":\"NUMERIC         [(*precision* [,         *scale*])]\",\"type\":\"choice\",\"arguments\":[{\"name\":\"precision\",\"placeholder\":true,\"description\":\"specifies the maximum total number of decimal digits that can be stored, both to the left and to the right of the decimal point\",\"type\":\"value\"},{\"name\":\"scale\",\"placeholder\":true,\"description\":\"specifies the maximum number of decimal digits that can be stored to the right of the decimal point\",\"type\":\"value\"}]},{\"name\":\"DOUBLE\",\"description\":\"specifies a floating-point variable or array.\",\"help\":\" <br/> DOUBLE PRECISION\",\"type\":\"standalone\"},{\"name\":\"FLOAT\",\"description\":\"specifies a floating-point variable or array.\",\"type\":\"choice\",\"arguments\":[{\"name\":\"FLOAT\",\"type\":\"standalone\"}]},{\"name\":\"REAL\",\"description\":\"specifies a floating-point variable or array.\",\"type\":\"choice\",\"arguments\":[{\"name\":\"REAL\",\"type\":\"standalone\"}]},{\"name\":\"BINARY\",\"description\":\"specifies a binary variable or array.\",\"help\":\"BINARY        (*length*)\",\"type\":\"value\"},{\"name\":\"VARBINARY\",\"aliases\":[\"BINARY VARYING\"],\"description\":\"specifies a varying-length binary variable or array.\",\"help\":\"VARBINARY        (*length*)\",\"type\":\"value\"},{\"name\":\"NCHAR\",\"aliases\":[\"NATIONAL CHARACTER\",\"NATIONAL CHAR\"],\"description\":\"specifies a character variable or array.\",\"type\":\"standalone\"},{\"name\":\"NVARCHAR\",\"aliases\":[\"NATIONAL CHARACTER VARYING,\",\"NATIONAL CHAR VARYING\"],\"description\":\"specifies a character variable or array.\",\"type\":\"standalone\"},{\"name\":\"CHAR\",\"aliases\":[\"CHARACTER\"],\"description\":\"specifies a character variable or array.\",\"type\":\"standalone\"},{\"name\":\"VARCHAR\",\"aliases\":[\"CHARACTER VARYING\"],\"description\":\"specifies a character variable or array.\",\"type\":\"standalone\"},{\"name\":\"character-length\",\"placeholder\":true,\"description\":\"specifies the maximum number of characters that the string can hold for NCHAR, NVARCHAR, CHAR, and VARCHAR data types.\",\"type\":\"value\"},{\"name\":\"CHARACTER\",\"description\":\"specifies character set encoding information for CHAR and VARCHAR data types.\",\"help\":\"CHARACTER SET        *character-set-identifier*\",\"type\":\"value\"},{\"name\":\"TIME\",\"description\":\"specifies a time variable or array.\",\"type\":\"standalone\"},{\"name\":\"TIMESTAMP\",\"description\":\"specifies both a date and time variable or array.\",\"type\":\"standalone\"},{\"name\":\"precision\",\"placeholder\":true,\"description\":\"specifies the precision for a TIME or TIMESTAMP data type.\",\"type\":\"value\"},{\"name\":\"DATE\",\"description\":\"specifies a date variable or array.\",\"type\":\"standalone\"},{\"name\":\"variable\",\"placeholder\":true,\"description\":\"specifies the scalar variable or array name. You can specify one or more variables or arrays. However, variable can only be of the type specified in data-type. You can mix scalar and array variables of the same type.\",\"type\":\"value\"},{\"name\":\"and\",\"description\":\"specifies a positive or negative integer that defines the number and size of the array boundary for a fixed temporary array.\",\"help\":\"*dim-lower*       and *dim-upper*\",\"type\":\"value\"},{\"name\":\"\\\\[\",\"description\":\"specifies to create a temporary array that has dynamic bounds.\",\"help\":\"\\\\[ *       \\\\]\",\"type\":\"standalone\"},{\"name\":\"DIM\",\"description\":\"specifies that the size of the upper bounds of the array is determined by the number of elements in a dimension of a previously declared array by using a DIM function call.\",\"help\":\"DIM(*a*[,        *n*])\",\"type\":\"value\",\"arguments\":[{\"name\":\"a\",\"placeholder\":true,\"description\":\"specifies the name of a previously declared array.\",\"type\":\"value\"},{\"name\":\"n\",\"placeholder\":true,\"description\":\"specifies the dimension, in a multidimensional array, for which you want to know the number of elements.\",\"type\":\"value\"}]},{\"name\":\"LABEL\",\"description\":\"assigns a descriptive label to the variable or array. The label can be a CHAR literal (string) or NCHAR literal (nstring).\",\"help\":\"LABEL        '*string*'\",\"type\":\"value\"},{\"name\":\"n''\",\"description\":\"assigns a descriptive label to the variable or array. The label can be a CHAR literal (string) or NCHAR literal (nstring).\",\"help\":\"n'*string*'\",\"type\":\"value\"},{\"name\":\"FORMAT\",\"description\":\"Associates any valid DS2 format with the variable or array.\",\"help\":\"FORMAT        *format*\",\"type\":\"value\"},{\"name\":\"INFORMAT\",\"description\":\"Associates any valid SAS informat with the variable or array.\",\"help\":\"INFORMAT        *informat*\",\"type\":\"value\"},{\"name\":\"PRIVATE\",\"optional\":true,\"description\":\"specifies variables that can be accessed only from within the package.\",\"type\":\"standalone\"}]},{\"name\":\"DECLARE PACKAGE\",\"description\":\"Creates a package variable and optionally creates a package instance.\",\"help\":\"DECLARE [PRIVATE]           PACKAGE package[(table-options)]\\n<package-variable>[ ...<package-variable>];\\n<package-variable::= \\n\\t{ scalar-package-variable[(constructor-arguments)]           }\\n\\n\\t| {           array-package-variable\\\\[           array-bounds \\\\] } \\n\\n\\t| {           array-package-variable\\\\[           array-bounds \\\\] := \\\\[           (constructor-arguments-1),            ...(constructor-arguments-N)           \\\\] } \\n<array-bounds>::= \\n\\t{ \\\\[ <array-bound> [,  ...<array-bound> \\\\] ]} | \\n\\t\\t{ \\\\[ * \\\\] }\\n<array-bound>::= \\n\\t{ [dim-lower:]dim-upper } \\n\\n\\t{ dim-lower :=           n }\\n\\n\\t{ dim-upper:           n |  }  { DIM (array-name[, n]) }\\n\",\"arguments\":[{\"name\":\"catalog\",\"placeholder\":true,\"description\":\"is an implementation of the ANSI SQL standard for an SQL catalog, which is a data container object that groups logically related schemas. The catalog is the first-level (top) grouping mechanism in a data organization hierarchy that is used along with a schema to provide a means of qualifying names.\",\"type\":\"dataSet\"},{\"name\":\"schema\",\"placeholder\":true,\"description\":\"is an implementation of the ANSI SQL standard for an SQL schema, which is a data container object that groups files such as tables and views and other objects supported by a data source such as stored procedures. The schema provides a grouping object that is used along with a catalog to provide a means of qualifying names.\",\"type\":\"value\"},{\"name\":\"package\",\"placeholder\":true,\"description\":\"is the name of the package.\",\"type\":\"value\"},{\"name\":\"package-variable\",\"placeholder\":true,\"description\":\"specifies whether to create a scalar package variable or an array package variable. You can specify to create multiple package variables with the DECLARE PACKAGE statement.\",\"type\":\"value\"},{\"name\":\"PRIVATE\",\"optional\":true,\"description\":\"specifies that the package variables can be accessed only from within the package.\",\"type\":\"standalone\"},{\"name\":\"scalar-package-variable\",\"optional\":true,\"description\":\"specifies a name that can reference an instance of the package.\",\"type\":\"standalone\"},{\"name\":\"array-package-variable\\\\[\",\"optional\":true,\"description\":\"specifies a name that can reference multiple instances of the package.\",\"help\":\"array-package-variable\\\\[ *array-bounds* \\\\]\",\"type\":\"value\"},{\"name\":\"and\",\"optional\":true,\"description\":\"specifies a positive or negative integer that defines the number and size of the array boundary for a fixed array package variable.\",\"help\":\"*dim-lower* and *dim-upper*\",\"type\":\"value\"},{\"name\":\"DIM\",\"optional\":true,\"description\":\"specifies that the size of the upper bound of the array package variable is determined by the number of elements in a dimension of a previously declared array package variable by using a DIM function call.\",\"help\":\"DIM(*array-name*[, n])\",\"type\":\"value\"},{\"name\":\"\\\\[\",\"optional\":true,\"description\":\"specifies to create an array package variable that has dynamic bounds.\",\"help\":\"\\\\[ * \\\\]\",\"type\":\"standalone\"},{\"name\":\"table-options\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies optional arguments that the DS2 program applies when it creates a package. For more information about table options, see .\",\"type\":\"dataSet\"},{\"name\":\"constructor-arguments\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies any constructor arguments that are passed to the constructor of the package instance.\",\"type\":\"value\"}]},{\"name\":\"DECLARE THREAD\",\"description\":\"Creates an instance of a thread.\",\"help\":\"DECLARE THREAD *thread*[(*table-options*)]*instance*( *argument* ) [ ...*instance* ( *argument* )];\",\"arguments\":[{\"name\":\"catalog\",\"placeholder\":true,\"description\":\"is an implementation of the ANSI SQL standard for a SQL catalog. A SQL catalog is a data container object that groups logically related schemas. The catalog is the first-level (top) grouping mechanism in a data organization hierarchy that is used along with a schema to provide a means of qualifying names.\",\"type\":\"dataSet\"},{\"name\":\"schema\",\"placeholder\":true,\"description\":\"is an implementation of the ANSI SQL standard for a SQL schema. A SQL schema is a data container object that groups files such as tables and views and other objects supported by a data source such as stored procedures. The schema provides a grouping object that is used along with a catalog to provide a means of qualifying names.\",\"type\":\"value\"},{\"name\":\"thread\",\"placeholder\":true,\"description\":\"is the name of the thread.\",\"type\":\"value\"},{\"name\":\"instance\",\"placeholder\":true,\"description\":\"specifies a name that identifies an instance of the thread.\",\"type\":\"value\"},{\"name\":\"argument\",\"placeholder\":true,\"description\":\"specifies arguments used with instance.\",\"type\":\"value\"},{\"name\":\"table-options\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies optional arguments that the DS2 program applies when it creates a thread. For more information about table options, see .\",\"type\":\"dataSet\"}]},{\"name\":\"DO\",\"description\":\"Specifies a group of statements to be executed as a unit.\",\"help\":\"DO [<numeric-data-type>][index-variable =  <index-variable-clause>][ <conditional-clause> ]\\n[,  ...[<index-variable-clause>] [ <conditional-clause> ]];  \\n\\t ...statement-list ...\\n\\nEND  [end-label] ; \\n< numeric-data-type >::= \\n\\t<exact-numeric-type> | <approximate-numeric-type> \\n\\n\\t<exact-numeric-type> ::=  \\n\\t\\t {INT  | BIGINT  | SMALLINT  | TINYINT \\n\\t\\t\\t | DECIMAL [(precision [,scale] )] | NUMERIC [(precision [,scale])] }\\n\\n\\t<approximate-numeric-type> ::=\\n\\t\\t{ DOUBLE  | DOUBLE PRECISION  | FLOAT  | REAL  }\\n\\n<index-variable-clause>::=  \\n\\tstart[TO stop[BY increment]]\\n\\n<conditional-clause>::=  \\n\\tWHILE    ( expression ) | UNTIL    ( expression )\\n\",\"arguments\":[{\"name\":\"statement-list\",\"placeholder\":true,\"description\":\"specifies any valid DS2 statements.\",\"type\":\"value\"},{\"name\":\"INT\",\"optional\":true,\"aliases\":[\"INTEGER for INT\"],\"description\":\"specifies an integer variable or array.\",\"type\":\"standalone\"},{\"name\":\"BIGINT\",\"optional\":true,\"aliases\":[\"INTEGER for INT\"],\"description\":\"specifies an integer variable or array.\",\"type\":\"standalone\"},{\"name\":\"SMALLINT\",\"optional\":true,\"aliases\":[\"INTEGER for INT\"],\"description\":\"specifies an integer variable or array.\",\"type\":\"standalone\"},{\"name\":\"TINYINT\",\"optional\":true,\"aliases\":[\"INTEGER for INT\"],\"description\":\"specifies an integer variable or array.\",\"help\":\"TINYINT \",\"type\":\"standalone\"},{\"name\":\"DECIMAL[\",\"optional\":true,\"description\":\"specifies an exact numeric variable or array.\",\"help\":\"DECIMAL[(*precision* [, *scale*])]\",\"type\":\"value\",\"arguments\":[{\"name\":\"precision\",\"placeholder\":true,\"description\":\"specifies the maximum total number of decimal digits that can be stored, both to the left and to the right of the decimal point\",\"type\":\"value\"},{\"name\":\"scale\",\"placeholder\":true,\"description\":\"specifies the maximum number of decimal digits that can be stored to the right of the decimal point\",\"type\":\"value\"}]},{\"name\":\"NUMERIC[\",\"optional\":true,\"description\":\"specifies an exact numeric variable or array.\",\"help\":\"NUMERIC[(*precision* [, *scale*])]\",\"type\":\"value\",\"arguments\":[{\"name\":\"precision\",\"placeholder\":true,\"description\":\"specifies the maximum total number of decimal digits that can be stored, both to the left and to the right of the decimal point\",\"type\":\"value\"},{\"name\":\"scale\",\"placeholder\":true,\"description\":\"specifies the maximum number of decimal digits that can be stored to the right of the decimal point\",\"type\":\"value\"}]},{\"name\":\"DOUBLE\",\"optional\":true,\"description\":\"specifies a floating-point variable or array.\",\"help\":\" <br/> DOUBLE PRECISION\",\"type\":\"standalone\"},{\"name\":\"FLOAT\",\"optional\":true,\"description\":\"specifies a floating-point variable or array.\",\"type\":\"standalone\"},{\"name\":\"REAL\",\"optional\":true,\"description\":\"specifies a floating-point variable or array.\",\"type\":\"standalone\"},{\"name\":\"index-variable\",\"optional\":true,\"placeholder\":true,\"description\":\"names a variable that is used as an index counter for the loop.\",\"type\":\"value\"},{\"name\":\"end-label\",\"optional\":true,\"placeholder\":true,\"description\":\"The END statement closes the DO loop. The optional end-label argument specifies an identifier. This label, created by using the Labels statement, must match the label immediately preceding the DO statement, or an error will occur. For more information, see the .\",\"type\":\"value\"},{\"name\":\"< index-variable-clause >\",\"optional\":true,\"description\":\"specifies a numeric scalar expression or series of expressions that determines the number of times that the DO group will be executed.\",\"type\":\"standalone\",\"arguments\":[{\"name\":\"start\",\"placeholder\":true,\"description\":\"specifies the initial value of the index variable. start can be any expression that resolves to a numeric value.\",\"type\":\"value\"},{\"name\":\"TO\",\"description\":\"specifies the ending value of the index variable. stop can be any expression that resolves to a numeric value.\",\"help\":\"TO *stop*\",\"type\":\"value\"},{\"name\":\"BY\",\"description\":\"specifies a positive or negative value that controls the incrementing or decrementing of index-variable. increment can be any expression that resolves to a numeric value.\",\"help\":\"BY *increment*\",\"type\":\"value\"}]},{\"name\":\"<conditional-clause>\",\"optional\":true,\"description\":\"specifies a clause that returns true or false.\",\"type\":\"standalone\",\"arguments\":[{\"name\":\"WHILE\",\"description\":\"causes DO group statements to execute repetitively while a condition is true.\",\"help\":\"WHILE ( *expression* )\",\"type\":\"value\"},{\"name\":\"UNTIL\",\"description\":\"causes DO group statements to execute repetitively until a condition is true.\",\"help\":\"UNTIL ( *expression* )\",\"type\":\"value\"}]}]},{\"name\":\"DROP\",\"description\":\"Excludes columns from output tables.\",\"help\":\"DROP  *column-list* | *vararray*;\",\"arguments\":[{\"name\":\"column-list\",\"placeholder\":true,\"description\":\"specifies the name of one or more columns to omit from the output tables.\",\"type\":\"value\"},{\"name\":\"vararray\",\"placeholder\":true,\"description\":\"specifies the name of a variable array.\",\"type\":\"value\"}]},{\"name\":\"DROP PACKAGE\",\"description\":\"Deletes a DS2 package.\",\"help\":\"DROP PACKAGE package[(table-options)];\\nRUN;\",\"arguments\":[{\"name\":\"package\",\"placeholder\":true,\"description\":\"specifies the name of the package to be deleted.\",\"type\":\"value\"},{\"name\":\"table-options\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies optional arguments that the DS2 program applies when it deletes a package. For more information about table options, see .\",\"type\":\"dataSet\"}]},{\"name\":\"DROP THREAD\",\"description\":\"Deletes a DS2 thread program.\",\"help\":\"DROP THREAD *thread*[(*table-options*)];\",\"arguments\":[{\"name\":\"thread\",\"placeholder\":true,\"description\":\"specifies the name of the thread to be deleted.\",\"type\":\"value\"},{\"name\":\"table-options\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies optional arguments that the DS2 program applies when it deletes a thread. For more information about table options, see .\",\"type\":\"dataSet\"}]},{\"name\":\"DS2_OPTIONS\",\"description\":\"Specifies or changes the default behavior of a DS2 program.\",\"help\":\"DS2_OPTIONS *options*;\",\"arguments\":[{\"name\":\"DIVBYZERO=\",\"description\":\"specifies how DS2 processes a division by zero operation.\",\"help\":\"DIVBYZERO=ERROR | IGNORE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ERROR\",\"type\":\"standalone\"},{\"name\":\"IGNORE\",\"type\":\"standalone\"}]},{\"name\":\"LOGICALEXPR=\",\"description\":\"specifies how logical AND and OR expressions in the next program block are evaluated.\",\"help\":\"LOGICALEXPR=STANDARD | OPTIMIZED\",\"type\":\"choice\",\"arguments\":[{\"name\":\"STANDARD\",\"type\":\"standalone\"},{\"name\":\"OPTIMIZED\",\"type\":\"standalone\"}]},{\"name\":\"MISSING_NOTE\",\"description\":\"writes a note to the SAS log when an invalid function argument generates a missing value.\",\"type\":\"standalone\"},{\"name\":\"MODE=\",\"description\":\"specifies how nonexistent values in fixed character columns and DOUBLE columns are processed.\",\"help\":\"MODE=ANSI | SAS\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ANSI\",\"type\":\"standalone\"},{\"name\":\"SAS\",\"type\":\"standalone\"}]},{\"name\":\"MSGLIMIT=\",\"description\":\"specifies the maximum number of error, warning, and note messages that can be written to the SAS log during the execution of the DS2 program.\",\"help\":\"MSGLIMIT=n |  MIN | MAX\",\"type\":\"choice\",\"arguments\":[{\"name\":\"n\",\"type\":\"standalone\"},{\"name\":\"MIN\",\"type\":\"standalone\"},{\"name\":\"MAX\",\"type\":\"standalone\"}]},{\"name\":\"MSGORDER=\",\"description\":\"specifies whether DS2 writes error, warning, and note messages to the SAS log as they are produced or after the DS2 program completes.\",\"help\":\"MSGORDER=STANDARD | TEMPORAL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"STANDARD\",\"type\":\"standalone\"},{\"name\":\"TEMPORAL\",\"type\":\"standalone\"}]},{\"name\":\"REPORTLINE=\",\"description\":\"specifies whether log line numbers for the next program block are reported in DS2 program execution messages. The log line numbers are included in error, warning, and note messages and indicate the location of the DS2 statement that was being executed when the message was generated. Line numbers that are reported for stored packages and threads are the line numbers that are offset from the start of the package or thread block rather than SAS log line numbers.\",\"help\":\"REPORTLINE=YES | NO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YES\",\"description\":\"generates line numbers for DS2 program execution messages.\",\"type\":\"standalone\"},{\"name\":\"NO\",\"description\":\"suppresses generation of the log line numbers.\",\"type\":\"standalone\"}]},{\"name\":\"SAS\",\"description\":\"specifies that nonexistent values in fixed character columns and DOUBLE columns are processed as SAS missing values.\",\"type\":\"standalone\"},{\"name\":\"SCOND\",\"description\":\"specifies the level of messages that is displayed in the SAS log for the DS2 variable declaration strict mode, which requires that every variable must be declared in the DS2 program. For more information about the DS2 variable declaration strict mode, see .\",\"type\":\"standalone\"},{\"name\":\"TRACEVARIABLES\",\"description\":\"enables tracing of variable value changes during DS2 program execution.\",\"type\":\"standalone\"},{\"name\":\"TREEALGORITHM=\",\"description\":\"changes the default algorithm that the DS2 compiler uses to build the syntax tree. If you are using the RECURSIVE option and you encounter a stack overflow error, changing the algorithm can sometimes resolve stack overflow errors.\",\"help\":\"TREEALGORITHM=ITERATIVE | RECURSIVE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ITERATIVE\",\"type\":\"standalone\"},{\"name\":\"RECURSIVE\",\"type\":\"standalone\"}]},{\"name\":\"TYPEWARN\",\"description\":\"prints a warning to the SAS log when an implicit type conversion occurs.\",\"type\":\"standalone\"}]},{\"name\":\"ENDDATA\",\"aliases\":[\"ENDTABLE\"],\"description\":\"Marks the end of a DATA statement.\",\"help\":\"ENDDATA ;\"},{\"name\":\"ENDPACKAGE\",\"description\":\"Marks the end of a PACKAGE statement.\",\"help\":\"ENDPACKAGE ;\"},{\"name\":\"ENDTHREAD\",\"description\":\"Marks the end of a THREAD statement.\",\"help\":\"ENDTHREAD ;\"},{\"name\":\"FORWARD\",\"description\":\"Indicates that the method definition follows the method expression.\",\"help\":\"FORWARD *method*[ ...*method*];\",\"arguments\":[{\"name\":\"method\",\"placeholder\":true,\"description\":\"specifies the name of the method to be defined.\",\"type\":\"value\"}]},{\"name\":\"GOTO\",\"description\":\"Transfers execution immediately to a labeled statement.\",\"help\":\"GOTO *label*;\",\"arguments\":[{\"name\":\"label\",\"placeholder\":true,\"description\":\"specifies a statement label that identifies the GOTO destination.\",\"type\":\"value\"}]},{\"name\":\"IF\",\"description\":\"Continues processing only those rows that meet the condition.\",\"help\":\"IF *expression*;\",\"arguments\":[{\"name\":\"expression\",\"placeholder\":true,\"description\":\"is any valid expression that evaluates to true or false.\",\"type\":\"value\"}]},{\"name\":\"IF-THEN/ELSE\",\"description\":\"Executes a statement for rows that meet specific conditions.\",\"help\":\"IF expressionTHEN statement; \\n[ELSE statement ;]\",\"arguments\":[{\"name\":\"expression\",\"placeholder\":true,\"description\":\"is any valid expression that evaluates to true or false and is a required argument.\",\"type\":\"value\"},{\"name\":\"statement\",\"placeholder\":true,\"description\":\"can be any executable statement or DO group.\",\"type\":\"value\"}]},{\"name\":\"KEEP\",\"description\":\"Includes columns in output tables.\",\"help\":\"KEEP *column-list* | *vararray*;\",\"arguments\":[{\"name\":\"column-list\",\"placeholder\":true,\"description\":\"specifies the names of one or more columns to write to the output table.\",\"type\":\"value\"},{\"name\":\"vararray\",\"placeholder\":true,\"description\":\"specifies the name of a variable array.\",\"type\":\"value\"}]},{\"name\":\"Labels\",\"description\":\"Identifies a statement that is referred to by another statement.\",\"help\":\"*label*: *statement*; [ ...*statement*];\",\"arguments\":[{\"name\":\"label\",\"placeholder\":true,\"description\":\"specifies any identifier, which is followed by a colon (:). You must specify the label argument.\",\"type\":\"value\"},{\"name\":\"statement\",\"placeholder\":true,\"description\":\"specifies any executable statement, including a null statement (;). You must specify the statement argument.\",\"type\":\"value\"}]},{\"name\":\"LEAVE\",\"description\":\"Stops processing the current DO loop and transfers execution to either the statement following the current DO statement, or a labeled DO statement that encloses the current DO statement.\",\"help\":\"LEAVE [*identifier*] ;\",\"arguments\":[{\"name\":\"identifier\",\"optional\":true,\"placeholder\":true,\"description\":\"label associated with the target DO statement.\",\"type\":\"value\"}]},{\"name\":\"MERGE\",\"description\":\"Joins rows from two or more tables into a single row.\",\"help\":\"MERGE  <table-reference> <table-reference> [ ... <table-reference>][/RETAIN];\\n<table-reference>::=  \\n\\t{ table[ (table-options) ] }\\n\",\"arguments\":[{\"name\":\"table\",\"placeholder\":true,\"description\":\"specifies the name of the table. table can be one of these forms.\\n• <i>catalog</i>.<i>schema</i>.<i>table-name</i>\\n• <i>schema</i>.<i>table-name</i>\\n• <i>catalog</i>.<i>table-name</i>\\n• <i>table-name</i>\\n• <i>caslib</i>.<i>table-name</i>\",\"type\":\"dataSet\"},{\"name\":\"(table-options)\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies optional arguments that the DS2 program applies when it writes rows to the output table.\",\"help\":\" (*table-options*)\",\"type\":\"dataSet\"},{\"name\":\"/RETAIN\",\"optional\":true,\"description\":\"specifies that the final row of a data set in a particular BY group be used repeatedly until there are no more rows in any of the contributing data sets.\",\"type\":\"standalone\"}]},{\"name\":\"METHOD\",\"description\":\"Defines a block of code that can be called and executed multiple times.\",\"help\":\"[PRIVATE]METHOD method         ([[IN_OUT] <parameter> [,  ...\\n              [IN_OUT]<                   parameter>]] ) \\n\\t[RETURNS data-type];\\n\\t\\t ...method-body ...\\nEND ;\\n<parameter>::= \\n\\t<data-type>           variable\\n\\n< data-type >::= \\n\\t<exact-numeric-type> |           <approximate-numeric-type> | <binary-string-type> | <string-type>           \\n\\t\\t| <date-type>\\n\\n\\t<exact-numeric-type> ::= \\n\\t\\t               {INT  | BIGINT  | SMALLINT  |               TINYINT \\n\\t\\t\\t | DECIMAL [(precision\\n                [,scale] )] | NUMERIC [(precision\\n                [,scale])] }\\n\\n\\t<approximate-numeric-type> ::=\\n\\t\\t{ DOUBLE  |               DOUBLE PRECISION  | FLOAT  |               REAL  }\\n\\n\\t<binary-string-type>::=\\n\\t\\tBINARY (length)             |             VARBINARY (length)\\n\\n\\t<string-type>::= \\n\\t\\tNCHAR [ ( character-length )               ]\\n\\t\\t| NVARCHAR [ ( character-length )               ]\\n\\t\\t| CHAR [ ( character-length )               ][CHARACTER SET character-set-identifier]\\n\\t\\t| VARCHAR [ ( character-length )               ][CHARACTER SET character-set-identifier]\\n\\n\\t<date-type>::= \\n\\t\\t{ TIME  |               TIMESTAMP  } [ ( precision ) ] | DATE \\n\",\"arguments\":[{\"name\":\"method\",\"placeholder\":true,\"description\":\"specifies a name for the method. Method names have global scope.\",\"type\":\"value\"},{\"name\":\"method-body\",\"placeholder\":true,\"description\":\"comprises the variable declarations and executable DS2 code that runs when the method is called. All variables that are declared in the method body are local to the method.\",\"type\":\"value\"},{\"name\":\"END\",\"description\":\"marks the end of the method.\",\"type\":\"standalone\"},{\"name\":\"PRIVATE\",\"optional\":true,\"description\":\"specifies a method that can be accessed only from within the package.\",\"type\":\"standalone\"},{\"name\":\"IN_OUT\",\"optional\":true,\"description\":\"specifies that the argument is to be manipulated by reference, not by value. The IN_OUT parameter manipulates the argument rather than a copy of the argument.\",\"type\":\"standalone\"},{\"name\":\"parameter\",\"optional\":true,\"description\":\"specifies a parameter that is passed to the method. The type can be any valid character, numeric, or date type, or package. Parameters have scope that is local to the method and, by default, parameters are passed by value. A parameter is initialized to be a copy of the value of the argument that is specified for the parameter, unless it is specified with the IN_OUT parameter or is a package or an array. Package type variables and arrays are always passed by reference, even if the IN_OUT keyword is not specified.\",\"type\":\"standalone\"},{\"name\":\"INT\",\"optional\":true,\"aliases\":[\"INTEGER for INT\"],\"description\":\"specifies an integer variable or array.\",\"type\":\"standalone\"},{\"name\":\"BIGINT\",\"optional\":true,\"aliases\":[\"INTEGER for INT\"],\"description\":\"specifies an integer variable or array.\",\"type\":\"standalone\"},{\"name\":\"SMALLINT\",\"optional\":true,\"aliases\":[\"INTEGER for INT\"],\"description\":\"specifies an integer variable or array.\",\"type\":\"standalone\"},{\"name\":\"TINYINT\",\"optional\":true,\"aliases\":[\"INTEGER for INT\"],\"description\":\"specifies an integer variable or array.\",\"type\":\"standalone\"},{\"name\":\"DECIMAL[\",\"optional\":true,\"description\":\"specifies an exact numeric variable or array.\",\"help\":\"DECIMAL[(*precision* [,               *scale*])]\",\"type\":\"value\",\"arguments\":[{\"name\":\"precision\",\"placeholder\":true,\"description\":\"specifies the maximum total number of decimal digits that can be stored, both to the left and to the right of the decimal point\",\"type\":\"value\"},{\"name\":\"scale\",\"placeholder\":true,\"description\":\"specifies the maximum number of decimal digits that can be stored to the right of the decimal point\",\"type\":\"value\"}]},{\"name\":\"NUMERIC[\",\"optional\":true,\"description\":\"specifies an exact numeric variable or array.\",\"help\":\"NUMERIC[(*precision* [,               *scale*])]\",\"type\":\"value\",\"arguments\":[{\"name\":\"precision\",\"placeholder\":true,\"description\":\"specifies the maximum total number of decimal digits that can be stored, both to the left and to the right of the decimal point\",\"type\":\"value\"},{\"name\":\"scale\",\"placeholder\":true,\"description\":\"specifies the maximum number of decimal digits that can be stored to the right of the decimal point\",\"type\":\"value\"}]},{\"name\":\"DOUBLE\",\"optional\":true,\"description\":\"specifies a floating-point variable or array.\",\"help\":\" <br/> DOUBLE PRECISION\",\"type\":\"standalone\"},{\"name\":\"FLOAT\",\"optional\":true,\"description\":\"specifies a floating-point variable or array.\",\"type\":\"standalone\"},{\"name\":\"REAL\",\"optional\":true,\"description\":\"specifies a floating-point variable or array.\",\"type\":\"standalone\"},{\"name\":\"BINARY\",\"optional\":true,\"description\":\"specifies a binary variable or array.\",\"help\":\"BINARY               (*length*)\",\"type\":\"value\"},{\"name\":\"VARBINARY\",\"optional\":true,\"aliases\":[\"BINARY VARYING\"],\"description\":\"specifies a varying-length binary variable or array.\",\"help\":\"VARBINARY               (*length*)\",\"type\":\"value\"},{\"name\":\"NCHAR\",\"optional\":true,\"aliases\":[\"NATIONAL CHARACTER, NATIONAL CHAR for NCHAR\",\"NATIONAL CHARACTER VARYING, NATIONAL CHAR VARYING for NVARCHAR\",\"CHARACTER for CHAR\",\"CHARACTER VARYING for VARCHAR\"],\"description\":\"specifies a character variable or array.\",\"type\":\"standalone\"},{\"name\":\"NVARCHAR\",\"optional\":true,\"aliases\":[\"NATIONAL CHARACTER, NATIONAL CHAR for NCHAR\",\"NATIONAL CHARACTER VARYING, NATIONAL CHAR VARYING for NVARCHAR\",\"CHARACTER for CHAR\",\"CHARACTER VARYING for VARCHAR\"],\"description\":\"specifies a character variable or array.\",\"type\":\"standalone\"},{\"name\":\"CHAR\",\"optional\":true,\"aliases\":[\"NATIONAL CHARACTER, NATIONAL CHAR for NCHAR\",\"NATIONAL CHARACTER VARYING, NATIONAL CHAR VARYING for NVARCHAR\",\"CHARACTER for CHAR\",\"CHARACTER VARYING for VARCHAR\"],\"description\":\"specifies a character variable or array.\",\"type\":\"standalone\"},{\"name\":\"VARCHAR\",\"optional\":true,\"aliases\":[\"NATIONAL CHARACTER, NATIONAL CHAR for NCHAR\",\"NATIONAL CHARACTER VARYING, NATIONAL CHAR VARYING for NVARCHAR\",\"CHARACTER for CHAR\",\"CHARACTER VARYING for VARCHAR\"],\"description\":\"specifies a character variable or array.\",\"type\":\"standalone\"},{\"name\":\"character-length\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the maximum number of characters that the string can hold for NCHAR, NVARCHAR, CHAR, and VARCHAR data types.\",\"type\":\"value\"},{\"name\":\"CHARACTER\",\"optional\":true,\"description\":\"specifies character set encoding information for CHAR and VARCHAR data types.\",\"help\":\"CHARACTER SET               *character-set-identifier*\",\"type\":\"value\"},{\"name\":\"TIME\",\"optional\":true,\"description\":\"specifies a time variable or array.\",\"type\":\"standalone\"},{\"name\":\"TIMESTAMP\",\"optional\":true,\"description\":\"specifies both a date and time variable or array.\",\"type\":\"standalone\"},{\"name\":\"precision\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the precision for a TIME or TIMESTAMP data type.\",\"type\":\"value\"},{\"name\":\"DATE\",\"optional\":true,\"description\":\"specifies a date variable or array.\",\"type\":\"standalone\"},{\"name\":\"variable\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the scalar variable or array name. You can specify one or more variables or arrays. However, variable can only be of the type specified in data-type. You can mix scalar and array variables of the same type.\",\"type\":\"value\"},{\"name\":\"RETURNS\",\"optional\":true,\"description\":\"specifies the data type of the value that the method returns. The type can be any valid character, numeric, or date type.\",\"help\":\"RETURNS               *data-type*\",\"type\":\"value\"}]},{\"name\":\"Null\",\"description\":\"Creates an empty statement.\",\"help\":\"; \"},{\"name\":\"OUTPUT\",\"description\":\"Writes the current row to a table.\",\"help\":\"OUTPUT [ { *table*[ ...*table*] } | _ROWSET_  | _NULL_ ];\",\"arguments\":[{\"name\":\"table\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the name of the table to which to write rows. table can be one of these forms.\\n• <i>catalog</i>.<i>schema</i>.<i>table-name</i>\\n• <i>schema</i>.<i>table-name</i>\\n• <i>catalog</i>.<i>table-name</i>\\n• <i>table-name</i>\\n• <i>caslib</i>.<i>table-name</i>\",\"type\":\"dataSet\"},{\"name\":\"_ROWSET_\",\"optional\":true,\"description\":\"specifies that the OUTPUT statement should not write rows to a table, but it should instead return table rows to the client application.\",\"type\":\"standalone\"},{\"name\":\"_NULL_\",\"optional\":true,\"description\":\"specifies that the OUTPUT statement should not write rows to either a table or the client application.\",\"type\":\"standalone\"}]},{\"name\":\"PACKAGE\",\"description\":\"Creates a DS2 package.\",\"help\":\"Form 1: \\nPACKAGE package[/ENCRYPT=SAS | AES][/table-options];  \\n\\t… package-body …\\nENDPACKAGE ;\\nForm 2: \\nPACKAGE fcmp-package-name[/ENCRYPT=SAS | AES][/table-options]\\n\\tLANGUAGE=[']FCMP['] TABLE='library-name'; \\n\\n\\t… package-body …\\nENDPACKAGE ;\",\"arguments\":[{\"name\":\"catalog\",\"placeholder\":true,\"description\":\"is an implementation of the ANSI SQL standard for an SQL catalog, which is a data container object that groups logically related schemas. The catalog is the first-level (top) grouping mechanism in a data organization hierarchy that is used along with a schema to provide a means of qualifying names.\",\"type\":\"dataSet\"},{\"name\":\"schema\",\"placeholder\":true,\"description\":\"is an implementation of the ANSI SQL standard for an SQL schema, which is a data container object that groups files such as tables and views and other objects supported by a data source such as stored procedures. The schema provides a grouping object that is used along with a catalog to provide a means of qualifying names.\",\"type\":\"value\"},{\"name\":\"package\",\"placeholder\":true,\"description\":\"is the name of the package.\",\"type\":\"value\"},{\"name\":\"package-body\",\"placeholder\":true,\"description\":\"contains the declarations and methods in the package.\",\"type\":\"value\"},{\"name\":\"fcmp-package-name\",\"placeholder\":true,\"description\":\"specifies the name of the FCMP package.\",\"type\":\"value\"},{\"name\":\"'library-name'\",\"placeholder\":true,\"description\":\"specifies the name of the library where the FCMP function resides.\",\"type\":\"dataSet\"},{\"name\":\"/ENCRYPT=\",\"optional\":true,\"description\":\"specifies the encryption algorithm. SAS specifies the SAS Proprietary algorithm. AES specifies the Advanced Encryption Standard algorithm.\",\"help\":\"/ENCRYPT=SAS | AES\",\"type\":\"choice\",\"arguments\":[{\"name\":\"SAS\",\"type\":\"standalone\"},{\"name\":\"AES\",\"type\":\"standalone\"}]},{\"name\":\"/table-options\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies optional arguments that the DS2 program applies when it creates a package. For more information about table options, see .\",\"type\":\"dataSet\"}]},{\"name\":\"PUT\",\"description\":\"Prints the values of program variables, arrays, and constants to the SAS log.\",\"help\":\"PUT   < put-list > [ ... <put-list> ] ;  \\n\\t<put-list>::=  \\n\\t\\t_ALL_ \\n\\t\\t| 'character-string'\\n\\t\\t| ['character-string']<eq-expression> [=][[:]format[-L | -C | -R]]\\n\\n\\t<eq-expression>::=  \\n\\t\\tidentifier\\n\\t\\t| array-reference\\n\\t\\t| this-expression\\n\\t\\t| package-attribute\\n\\n\\t<package-attribute>::=\\n\\t\\tpackage-variable. package-attribute\\n\\t\\t| package-variable ...[. package-variableN]. package-attribute\\n\",\"arguments\":[{\"name\":\"_ALL_\",\"optional\":true,\"description\":\"prints the values of all variables, which includes predefined variables, to the SAS log.\",\"type\":\"standalone\"},{\"name\":\"'character-string'\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies a string of text that is written to the SAS log.\",\"type\":\"value\"},{\"name\":\"identifier\",\"optional\":true,\"placeholder\":true,\"description\":\"names a variable whose value is written to the SAS log.\",\"type\":\"value\"},{\"name\":\"array-reference\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies an array element. The subscript can be any SAS expression that resolves to an integer value when the PUT statement executes. Use the array subscript asterisk (*) to print all elements of the array.\",\"type\":\"value\"},{\"name\":\"this-expression\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies a THIS expression.\",\"type\":\"value\"},{\"name\":\"package-attribute\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies an attribute of a package that is referenced by a package-variable using a dot operator. This attribute can be a scalar attribute, an array attribute, or the element of an array attribute of the package.\",\"type\":\"value\"},{\"name\":\"package-variable\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies an instance of a package. The name of the package instance must be followed by a dot operator and a package-attribute.\",\"type\":\"value\"},{\"name\":\".\",\"optional\":true,\"placeholder\":true,\"description\":\"(dot operator) invokes a call to access the right-hand operand from the left-hand operand.\",\"type\":\"value\"},{\"name\":\"=\",\"optional\":true,\"description\":\"If an equal sign is added after a variable or array element, then the output is preceded by the variable or array element name and an equal sign.\",\"type\":\"value\"},{\"name\":\":\",\"optional\":true,\"description\":\"enables you to specify a format that the PUT statement uses to print the variable value. All leading and trailing blanks are deleted, and each value is followed by a single blank.\",\"type\":\"standalone\"},{\"name\":\"format\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies a format to use when the data value is written to the SAS log. If you use a colon modifier (:) with the format name, all leading and trailing blanks are deleted and each value is followed by a single blank. To override the default alignment, you can add an alignment specification to a format:\",\"type\":\"value\"}]},{\"name\":\"RENAME\",\"description\":\"Specifies new names for columns in output tables.\",\"help\":\"RENAME *old-name* {= | AS} *new-name*[ ...*old-name*  {= | AS} *new-name*];\",\"arguments\":[{\"name\":\"old-name\",\"placeholder\":true,\"description\":\"specifies the name of a column as it appears in the input table, or in the current DS2 program for newly created columns.\",\"type\":\"value\"},{\"name\":\"new-name\",\"placeholder\":true,\"description\":\"specifies the name to use in the output table.\",\"type\":\"value\"}]},{\"name\":\"RETAIN\",\"description\":\"Specifies that all columns or all columns in the column list have their values retained between executions of the RUN method.\",\"help\":\"Form 1: \\nRETAIN ;\\nForm 2: \\nRETAIN column-list;\\nForm 3: \\nRETAIN column-list < constant-value >;\\nForm 4: \\nRETAIN column-list ( < constant-value > …  < constant-value > );< constant-value >::=  \\n\\tbit_constant\\n\\n\\t| hex_constant\\n\\n\\t| floating_constant\\n\\n\\t| decimal_constant\\n\\n\\t| sas_missing_value\\n\\n\\t| integer_constant\\n\\n\\t| string_constant\\n\\n\\t| null\\n\\n\\t| DATE character_constant\\n\\n\\t| TIME character_constant\\n\\n\\t| TIMESTAMP character_constant\\n\\nForm 5: \\nRETAIN vararray;\",\"arguments\":[{\"name\":\"column-list\",\"placeholder\":true,\"description\":\"specifies column names whose values you want retained.\",\"type\":\"value\"},{\"name\":\"vararray\",\"placeholder\":true,\"description\":\"specifies the name of a variable array.\",\"type\":\"value\"}]},{\"name\":\"RETURN\",\"description\":\"Returns execution from a method to the method caller.\",\"help\":\"RETURN [*expression*];\",\"arguments\":[{\"name\":\"expression\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies any valid expression that returns a single value. The expression's type is evaluated, and if necessary, converted to the type specified in the METHOD statement's RETURNS clause. The value of expression is then passed back to the caller of the method.\",\"type\":\"value\"}]},{\"name\":\"SELECT\",\"description\":\"Executes one of several statements or groups of statements.\",\"help\":\"SELECT [ ( select-expression ) ];   \\n\\t[ < when-list > [ …< when-list>  ] ] ;\\n\\n\\t[OTHERWISE statement-list] ;\\n\\nEND [end-label];\\n<when-list>::=  \\n\\tWHEN  ( when-expression ) [statement-list]\\n\",\"arguments\":[{\"name\":\"select-expression\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies an expression that evaluates to a single value of any type other than VARBINARY.\",\"type\":\"value\"},{\"name\":\"end-label\",\"optional\":true,\"placeholder\":true,\"description\":\"The END statement closes the SELECT statement. The optional end-label argument specifies an identifier. This label, created by using the Labels statement, must match the label immediately preceding the SELECT statement, or an error will occur.\",\"type\":\"value\"},{\"name\":\"when-expression\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies any expression.\",\"type\":\"value\"},{\"name\":\"statement-list\",\"optional\":true,\"placeholder\":true,\"description\":\"can be any executable statement or statements.\",\"type\":\"value\"}]},{\"name\":\"SET\",\"description\":\"Reads rows from one or more tables.\",\"help\":\"SET  < table-reference > [ ... < table-reference > ][INDSNAME=variable] ;\\n[BY [DESCENDING ]column[ ...[DESCENDING ]column]]  ;\\n< table-reference>::=  \\n\\t{ table[ (table-options) ] }\\n\\n\\t| \\\\{  sql-text \\\\}\\n\",\"arguments\":[{\"name\":\"table\",\"placeholder\":true,\"description\":\"specifies the name of an input table. table can be one of these forms.\\n• <i>catalog</i>.<i>schema</i>.<i>table-name</i>\\n• <i>schema</i>.<i>table-name</i>\\n• <i>catalog</i>.<i>table-name</i>\\n• <i>table-name</i>\\n• <i>caslib</i>.<i>table-name</i>\",\"type\":\"dataSet\"},{\"name\":\"{sql-text}\",\"placeholder\":true,\"description\":\"is any valid FedSQL code that resolves to a set of table rows.\",\"type\":\"value\"},{\"name\":\"INDSNAME=\",\"optional\":true,\"description\":\"creates and names a variable that stores the name of the table from which the current row is read. The stored name can be a table name or a physical name. The physical name is the name by which the operating environment recognizes the file.\",\"help\":\"INDSNAME=*variable*\",\"type\":\"value\"},{\"name\":\"column\",\"optional\":true,\"placeholder\":true,\"description\":\"names each column by which the table is sorted.\",\"type\":\"value\"},{\"name\":\"table-options\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies optional arguments that the DS2 program applies when it writes rows to the output table. For more information about table options, see .\",\"type\":\"dataSet\"},{\"name\":\"DESCENDING\",\"optional\":true,\"description\":\"specifies that the tables are sorted in descending order by the column that is specified. DESCENDING means largest to smallest for numeric columns, or reverse alphabetical for character columns.\",\"type\":\"standalone\"}]},{\"name\":\"SET FROM\",\"description\":\"Runs a DS2 program as one or more threads.\",\"help\":\"SET  FROM *thread*[THREADS =  *threads*];\",\"arguments\":[{\"name\":\"catalog\",\"placeholder\":true,\"description\":\"is an implementation of the ANSI SQL standard for an SQL catalog, which is a data container object that groups logically related schemas. The catalog is the first-level (top) grouping mechanism in a data organization hierarchy that is used along with a schema to provide a means of qualifying names.\",\"type\":\"dataSet\"},{\"name\":\"schema\",\"placeholder\":true,\"description\":\"is an implementation of the ANSI SQL standard for an SQL schema, which is a data container object that groups files such as tables and views and other objects supported by a data source such as stored procedures. The schema provides a grouping object that is used along with a catalog to provide a means of qualifying names.\",\"type\":\"value\"},{\"name\":\"thread\",\"placeholder\":true,\"description\":\"is the name of the thread.\",\"type\":\"value\"},{\"name\":\"THREADS=\",\"optional\":true,\"description\":\"specifies the number of threads that are run for thread.\",\"help\":\"THREADS= *threads*\",\"type\":\"value\"}]},{\"name\":\"STOP\",\"description\":\"Stops execution of the current DS2 program.\",\"help\":\"STOP ;\"},{\"name\":\"Sum\",\"description\":\"Adds or subtracts the result of an expression to an accumulator variable.\",\"help\":\"*variable* + *expression*;*variable* – *expression*;\",\"arguments\":[{\"name\":\"variable\",\"placeholder\":true,\"description\":\"specifies the name of the accumulator variable, which contains a numeric value.\",\"type\":\"value\"},{\"name\":\"expression\",\"placeholder\":true,\"description\":\"is any valid DS2 expression.\",\"type\":\"value\"}]},{\"name\":\"THREAD\",\"description\":\"Creates a DS2 program thread.\",\"help\":\"THREAD thread[ ( data-type variable [ ,  ... data-type variable ] ) ]\\n[/ENCRYPT=SAS | AES][/table-options];  \\n\\t … thread-body …\\n\\nENDTHREAD ;\",\"arguments\":[{\"name\":\"catalog\",\"placeholder\":true,\"description\":\"is an implementation of the ANSI SQL standard for an SQL catalog, which is a data container object that groups logically related schemas. The catalog is the first-level (top) grouping mechanism in a data organization hierarchy that is used along with a schema to provide a means of qualifying names.\",\"type\":\"dataSet\"},{\"name\":\"schema\",\"placeholder\":true,\"description\":\"is an implementation of the ANSI SQL standard for an SQL schema, which is a data container object that groups files such as tables and views and other objects supported by a data source such as stored procedures. The schema provides a grouping object that is used along with a catalog to provide a means of qualifying names.\",\"type\":\"value\"},{\"name\":\"thread\",\"placeholder\":true,\"description\":\"is the name of the thread.\",\"type\":\"value\"},{\"name\":\"thread-body\",\"placeholder\":true,\"description\":\"contains the declarations and methods in the thread.\",\"type\":\"value\"},{\"name\":\"data-type\",\"optional\":true,\"placeholder\":true,\"description\":\"is an optional data type declaration. For more information, see .\",\"type\":\"value\"},{\"name\":\"variable\",\"optional\":true,\"placeholder\":true,\"description\":\"names an optional variable that identifies the parameter.\",\"type\":\"value\"},{\"name\":\"/ENCRYPT=\",\"optional\":true,\"description\":\"specifies the encryption algorithm. SAS specifies the SAS Proprietary algorithm. AES specifies the Advanced Encryption Standard algorithm.\",\"help\":\"/ENCRYPT=SAS | AES\",\"type\":\"choice\",\"arguments\":[{\"name\":\"SAS\",\"type\":\"standalone\"},{\"name\":\"AES\",\"type\":\"standalone\"}]},{\"name\":\"/table-options\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies optional arguments that the DS2 program applies when it creates a thread. For more information about table options, see .\",\"type\":\"dataSet\"}]},{\"name\":\"VARARRAY\",\"description\":\"Declares one or more DS2 variable arrays.\",\"help\":\"VARARRAY  <data-type> array-name <array-declaration> [<variable-list>][<having-clause>];\\n< data-type >::= \\n\\t<exact-numeric-type> | <approximate-numeric-type> | <binary-string-type> | <string-type> \\n\\t\\t| <date-type>\\n\\n\\t<exact-numeric-type> ::=  \\n\\t\\t {INT  | BIGINT  | SMALLINT  | TINYINT \\n\\t\\t\\t | DECIMAL  [(precision [,scale] )] | NUMERIC   [(precision [,scale])] }\\n\\n\\t<approximate-numeric-type> ::=\\n\\t\\t{ DOUBLE  | DOUBLE PRECISION  | FLOAT  | REAL  }\\n\\n\\t<binary-string-type>::=\\n\\t\\tBINARY (length) | VARBINARY (length)\\n\\n\\t<string-type>::=  \\n\\t\\tNCHAR  [ ( character-length ) ]\\n\\t\\t| NVARCHAR  [ ( character-length ) ]\\n\\t\\t| CHAR  [ ( character-length ) ]  [CHARACTER SET character-set-identifier ]\\n\\t\\t| VARCHAR  [ ( character-length ) ]  [CHARACTER SET character-set-identifier ]\\n\\n\\t<date-type>::=  \\n\\t\\t{ TIME  | TIMESTAMP  }  [ ( precision ) ] | DATE \\n\\n<array-declaration::=\\\\[array-bound>[,  ...<array-bound>]\\\\\\n\\n\\t<array-bound>::= {[dim-lower:]dim-upper} | {[dim-lower:] {DIM(a[, n]) | *} }\\n<variable-list>::=  \\n\\tname-varlist | \\n\\t\\t| numbered-range-varlist\\n\\t\\t|  name-range-list\\n\\t\\t| name-prefix-list\\n\\t\\t| type-varlist\\n\\t\\t| special-name-list\\n<having-clause>::=  \\n\\tHAVING  <having-option> [… <having-option> ]  \\n\\t\\t<having-option>::=  \\n\\t\\t\\tLABEL  'string' | n'string'\\n\\t\\t\\t| FORMAT format\\n\\t\\t\\t| INFORMAT format\\n\",\"arguments\":[{\"name\":\"INT\",\"aliases\":[\"INTEGER for INT\"],\"description\":\"specifies an integer array.\",\"type\":\"standalone\"},{\"name\":\"BIGINT\",\"aliases\":[\"INTEGER for INT\"],\"description\":\"specifies an integer array.\",\"type\":\"standalone\"},{\"name\":\"SMALLINT\",\"aliases\":[\"INTEGER for INT\"],\"description\":\"specifies an integer array.\",\"type\":\"standalone\"},{\"name\":\"TINYINT\",\"aliases\":[\"INTEGER for INT\"],\"description\":\"specifies an integer array.\",\"type\":\"standalone\"},{\"name\":\"DECIMAL[\",\"description\":\"specifies an exact numeric variable or array.\",\"help\":\"DECIMAL[(*precision* [, *scale*])]\",\"type\":\"value\",\"arguments\":[{\"name\":\"precision\",\"placeholder\":true,\"description\":\"specifies the maximum total number of decimal digits that can be stored, both to the left and to the right of the decimal point\",\"type\":\"value\"},{\"name\":\"scale\",\"placeholder\":true,\"description\":\"specifies the maximum number of decimal digits that can be stored to the right of the decimal point\",\"type\":\"value\"}]},{\"name\":\"NUMERIC[\",\"description\":\"specifies an exact numeric variable or array.\",\"help\":\"NUMERIC[(*precision* [, *scale*])]\",\"type\":\"value\",\"arguments\":[{\"name\":\"precision\",\"placeholder\":true,\"description\":\"specifies the maximum total number of decimal digits that can be stored, both to the left and to the right of the decimal point\",\"type\":\"value\"},{\"name\":\"scale\",\"placeholder\":true,\"description\":\"specifies the maximum number of decimal digits that can be stored to the right of the decimal point\",\"type\":\"value\"}]},{\"name\":\"DOUBLE\",\"description\":\"specifies a floating-point array.\",\"help\":\" <br/> DOUBLE PRECISION\",\"type\":\"standalone\"},{\"name\":\"FLOAT\",\"description\":\"specifies a floating-point array.\",\"type\":\"standalone\"},{\"name\":\"REAL\",\"description\":\"specifies a floating-point array.\",\"type\":\"standalone\"},{\"name\":\"BINARY\",\"description\":\"specifies a binary variable or array.\",\"help\":\"BINARY (*length*)\",\"type\":\"value\"},{\"name\":\"VARBINARY\",\"aliases\":[\"BINARY VARYING\"],\"description\":\"specifies a fixed-length or varying-length binary array.\",\"help\":\"VARBINARY (*length*)\",\"type\":\"value\"},{\"name\":\"BINARY\",\"aliases\":[\"BINARY VARYING\"],\"description\":\"specifies a fixed-length or varying-length binary array.\",\"help\":\"BINARY  (*length*)\",\"type\":\"value\"},{\"name\":\"NCHAR\",\"aliases\":[\"NATIONAL CHARACTER, NATIONAL CHAR for NCHAR\",\"NATIONAL CHARACTER VARYING, NATIONAL CHAR VARYING for NVARCHAR\",\"CHARACTER for CHAR\",\"CHARACTER VARYING for VARCHAR\"],\"description\":\"specifies a character array.\",\"type\":\"standalone\"},{\"name\":\"NVARCHAR\",\"aliases\":[\"NATIONAL CHARACTER, NATIONAL CHAR for NCHAR\",\"NATIONAL CHARACTER VARYING, NATIONAL CHAR VARYING for NVARCHAR\",\"CHARACTER for CHAR\",\"CHARACTER VARYING for VARCHAR\"],\"description\":\"specifies a character array.\",\"type\":\"standalone\"},{\"name\":\"CHAR\",\"aliases\":[\"NATIONAL CHARACTER, NATIONAL CHAR for NCHAR\",\"NATIONAL CHARACTER VARYING, NATIONAL CHAR VARYING for NVARCHAR\",\"CHARACTER for CHAR\",\"CHARACTER VARYING for VARCHAR\"],\"description\":\"specifies a character array.\",\"type\":\"standalone\"},{\"name\":\"VARCHAR\",\"aliases\":[\"NATIONAL CHARACTER, NATIONAL CHAR for NCHAR\",\"NATIONAL CHARACTER VARYING, NATIONAL CHAR VARYING for NVARCHAR\",\"CHARACTER for CHAR\",\"CHARACTER VARYING for VARCHAR\"],\"description\":\"specifies a character array.\",\"type\":\"standalone\"},{\"name\":\"TIME\",\"description\":\"specifies a time array.\",\"type\":\"standalone\"},{\"name\":\"TIMESTAMP\",\"description\":\"specifies both a date and time array.\",\"type\":\"standalone\"},{\"name\":\"DIM\",\"description\":\"specifies that the size of the upper bounds of the array is determined by the number of elements in a dimension of a previously declared array by using a DIM function call.\",\"help\":\"DIM(*a*[, *n*])\",\"type\":\"value\",\"arguments\":[{\"name\":\"a\",\"placeholder\":true,\"description\":\"specifies the name of a previously declared array.\",\"type\":\"value\"},{\"name\":\"n\",\"placeholder\":true,\"description\":\"specifies the dimension, in a multidimensional array, for which you want to know the number of elements.\",\"type\":\"value\"}]},{\"name\":\"*\",\"description\":\"specifies a one-dimensional array in which the lower bound is 1 and the upper bound is the number of variables in the variable list.\",\"type\":\"standalone\"},{\"name\":\"character-length\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the maximum number of characters that the string can hold for NCHAR, NVARCHAR, CHAR, and VARCHAR data types.\",\"type\":\"value\"},{\"name\":\"CHARACTER\",\"optional\":true,\"description\":\"specifies character set encoding information for CHAR and VARCHAR data types.\",\"help\":\"CHARACTER SET *character-set-identifier*\",\"type\":\"value\"},{\"name\":\"precision\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the precision for a TIME or TIMESTAMP data type.\",\"type\":\"value\"},{\"name\":\"DATE\",\"optional\":true,\"description\":\"specifies a date array.\",\"type\":\"standalone\"},{\"name\":\"and\",\"optional\":true,\"description\":\"specifies a positive or negative integer used to define the number and size of the array boundary.\",\"help\":\"*dim-lower* and *dim-upper*\",\"type\":\"value\"},{\"name\":\"<variable-list>\",\"optional\":true,\"description\":\"specifies the name of the variable(s) that is to be referenced by the elements of the array.\",\"type\":\"standalone\"},{\"name\":\"LABEL\",\"optional\":true,\"description\":\"assigns a descriptive label to the variable array. The label can be a CHAR literal (string) or NCHAR literal (nstring).\",\"help\":\"LABEL \",\"type\":\"standalone\"},{\"name\":\"'string'\",\"optional\":true,\"placeholder\":true,\"description\":\"assigns a descriptive label to the variable array. The label can be a CHAR literal (string) or NCHAR literal (nstring).\",\"type\":\"value\"},{\"name\":\"n''\",\"optional\":true,\"description\":\"assigns a descriptive label to the variable array. The label can be a CHAR literal (string) or NCHAR literal (nstring).\",\"help\":\"n'*string*'\",\"type\":\"value\"},{\"name\":\"FORMAT\",\"optional\":true,\"description\":\"Associates any valid DS2 format with the variable or array.\",\"help\":\"FORMAT *format*\",\"type\":\"value\"},{\"name\":\"INFORMAT\",\"optional\":true,\"description\":\"Associates any valid SAS informat with the variable or array.\",\"help\":\"INFORMAT *informat*\",\"type\":\"value\"}]},{\"name\":\"VARLIST\",\"description\":\"Creates a named variable list.\",\"help\":\"VARLIST *list-name* \\\\[*variable-list*\\\\];\",\"arguments\":[{\"name\":\"list-name\",\"placeholder\":true,\"description\":\"specifies the name of the variable list.\",\"type\":\"value\"},{\"name\":\"[variable-list]\",\"placeholder\":true,\"description\":\"specifies the variables that are to be referenced by the list.\",\"type\":\"value\"}]}],\"interactive\":true,\"supportSiteInformation\":{\"docsetId\":\"proc\",\"docsetVersion\":\"v_002\",\"docsetTargetFile\":\"n0ujllmd28quj5n17r2ibrdya9ld.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/DSTODS2.json",
    "content": "{\"name\":\"DSTODS2\",\"statements\":[{\"name\":\"PROC DSTODS2\",\"description\":\"Translates DATA step code into DS2 code.\",\"help\":\"PROC DSTODS2 IN=*datastep-program-filename*OUT=*ds2-program-filename*&lt;OUTDIR=\\\"*output-directory-name*\\\"&gt;RUN ;&lt;QUIT ;&gt;\",\"arguments\":[{\"name\":\"IN=\",\"description\":\"specifies the name of the DATA step file or a SAS fileref.\",\"help\":\"IN=*datastep-program-filename*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p09wfv9ahgn3i1n1tm2qakw8oqw5\"},{\"name\":\"OUT=\",\"description\":\"specifies the name of the DS2 file that is created.\",\"help\":\"OUT=*ds2-program-filename*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1gv1aj93j0rlhn1hjl4oambdxzo\"},{\"name\":\"OUTDIR=\",\"optional\":true,\"description\":\"specifies the output directory name for the file.\",\"help\":\"OUTDIR=\\\"*output-directory-name*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0ezsgwk9qb54on1g636vbcbihy2\"}],\"supportSiteTargetFile\":\"p0ydariamjl8ken1ahfrvdxldyrx.htm\"}],\"supportSiteInformation\":{\"docsetId\":\"proc\",\"docsetVersion\":\"v_002\",\"docsetTargetFile\":\"p05qb7pgqun5urn18bahx1vt640s.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/DTREE.json",
    "content": "{\"name\":\"DTREE\",\"statements\":[{\"name\":\"PROC DTREE\",\"description\":\"The DTREE procedure in SAS/OR software is an interactive procedure for decision analysis. The procedure interprets a decision problem represented in SAS data sets, finds the optimal decisions, and plots on a line printer or a graphics device the decision tree showing the optimal decisions. † To use PROC DTREE you first construct a decision model to represent your problem. This model, called a generic decision tree model, is made up of stages.* Every stage has a stage name, which identifies the stage, as well as a type, which specifies the type of the stage. There are three types of stages: decision stages, chance stages, and end stages. In addition, every stage has possible outcomes.\",\"help\":\"PROC DTREE <ANNOTATE=SAS-data-set><AUTOSCALE><CBEST=color><CLINK=color><COMPRESS><CRITERION=MAXEV | MINEV | MAXMLV... ><CSYMBOLC=color><CSYMBOLD=color><CSYMBOLE=color><CTEXT=color><DESCRIPTION='string'><DISPLAY=(information-list)><DOANNOTATE><ERRHANDLE=DRAIN | QUIT><FTEXT=name><GOUT=SAS-catalog><GRAPHICS><HSYMBOL=h><HTEXT=h><IMAGEMAP=SAS-data-set><LABEL><LEGEND><LINEPRINTER><LINKA=i><LINKB=j><LINKC=k><LSTYLE=l><LSTYLEB=l2><LSTYLEC=l3><LWIDTH=w><LWIDTHB=w2><MAXPREC=d><MAXWIDTH=mw><NAME='string'><NOANNOTATE><NOCOMPRESS><NOLABEL><NOLEGEND><NOPAGENUM><NORC><NOSCALE><NOSUMMARY><NOWARNING><NWIDTH=nw><PAGENUM><PAYOFFS=SAS-data-set><PROBIN=SAS-data-set><RC><RT=r><STAGEIN=SAS-data-set><SUMMARY><SYMBOLC=m><SYMBOLD=d><SYMBOLE=n><TARGET=stage><TOLERANCE=d><VSYMBOLC=PLUS | STAR | SQUARE... ><VSYMBOLD=PLUS | STAR | SQUARE... ><VSYMBOLE=PLUS | STAR | SQUARE... ><WARNING><YBETWEEN=ybetween <units>>;     \\n\\tEVALUATE <CRITERION=<MAXEV | MINEV | MAXMLV>... ><MAXPREC=d><MAXWIDTH=mw> ...;\\n\\n\\tMODIFY <REWARD><TYPE> ;\\n\\n\\tMOVE <AFTER><BEFORE> ;\\n\\n\\tQUIT ;\\n\\n\\tRECALL ;\\n\\n\\tRESET <AUTOSCALE><CRITERION=<MAXEV | MINEV | MAXMLV>... ><NOSCALE> ...;\\n\\n\\tSAVE ;\\n\\n\\tSUMMARY <MAXPREC=d><MAXWIDTH=mw><NWIDTH=nw> ...;\\n\\n\\tTREEPLOT <DISPLAY=(information-list)><GRAPHICS><LABEL> ...;\\n\\n\\tVARIABLES <COST=(variables)><OUTCOME=(variables)><REWARD=(variables)> ...;\\n\\n\\tVPC chance-stage-name ;\\n\\n\\tVPI chance-stage-name ;\\n\",\"arguments\":[{\"name\":\"ANNOTATE=\",\"optional\":true,\"aliases\":[\"ANNO=\"],\"description\":\"Specifies an input data set that contains appropriate Annotate variables.\",\"help\":\"ANNOTATE=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"AUTOSCALE\",\"optional\":true,\"description\":\"Specifies that the procedure should rescale the probabilities of events for a given chance stage if the total probability of this stage is not equal to 1.\",\"type\":\"standalone\"},{\"name\":\"CBEST=\",\"optional\":true,\"aliases\":[\"CB=\"],\"description\":\"Specifies the color for all links in the decision tree diagram that represent optimal decisions.\",\"help\":\"CBEST=*color*\",\"type\":\"color\"},{\"name\":\"CLINK=\",\"optional\":true,\"aliases\":[\"CL=\"],\"description\":\"Specifies the color for all links in the decision tree diagram except those that represent optimal decisions.\",\"help\":\"CLINK=*color*\",\"type\":\"color\"},{\"name\":\"COMPRESS\",\"optional\":true,\"aliases\":[\"CP\"],\"description\":\"Specifies that the decision tree diagram should be drawn on one physical page.\",\"type\":\"standalone\"},{\"name\":\"CRITERION=\",\"optional\":true,\"description\":\"Indicates the decision criterion to be used for determining the optimal decision and the certain equivalent for replacing uncertainties.\",\"help\":\"CRITERION=MAXEV | MINEV | MAXMLV | MINMLV | MAXCE | MINCE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"MAXEV\",\"description\":\"Decision criterion: maximize; certain equivalent: expected value\",\"type\":\"standalone\"},{\"name\":\"MINEV\",\"description\":\"Decision criterion: minimize; certain equivalent: expected value\",\"type\":\"standalone\"},{\"name\":\"MAXMLV\",\"description\":\"Decision criterion: maximize; certain equivalent: value with largest probability\",\"type\":\"standalone\"},{\"name\":\"MINMLV\",\"description\":\"Decision criterion: minimize; certain equivalent: value with largest probability\",\"type\":\"standalone\"},{\"name\":\"MAXCE\",\"description\":\"Decision criterion: maximize; certain equivalent: certain equivalent value of expected utility\",\"type\":\"standalone\"},{\"name\":\"MINCE\",\"description\":\"Decision criterion: minimize; certain equivalent: certain equivalent value of expected utility\",\"type\":\"standalone\"}]},{\"name\":\"CSYMBOLC=\",\"optional\":true,\"aliases\":[\"CC=\"],\"description\":\"Specifies the color of the symbol used to draw all chance nodes in the decision tree diagram.\",\"help\":\"CSYMBOLC=*color*\",\"type\":\"color\"},{\"name\":\"CSYMBOLD=\",\"optional\":true,\"aliases\":[\"CD=\"],\"description\":\"Specifies the color of the symbol used to draw all decision nodes in the decision tree diagram.\",\"help\":\"CSYMBOLD=*color*\",\"type\":\"color\"},{\"name\":\"CSYMBOLE=\",\"optional\":true,\"aliases\":[\"CE=\"],\"description\":\"Specifies the color of the symbol used to draw all end nodes in the decision tree diagram.\",\"help\":\"CSYMBOLE=*color*\",\"type\":\"color\"},{\"name\":\"CTEXT=\",\"optional\":true,\"aliases\":[\"CT=\"],\"description\":\"Specifies the color to be used for all text that appears on plots except on TITLE and FOOTNOTE lines.\",\"help\":\"CTEXT=*color*\",\"type\":\"color\"},{\"name\":\"DESCRIPTION=\",\"optional\":true,\"aliases\":[\"DES=\"],\"description\":\"Specifies a descriptive string, up to 40 characters long, that appears in the description field of the master menu of PROC GREPLAY.\",\"help\":\"DESCRIPTION='*string*'\",\"type\":\"value\"},{\"name\":\"DISPLAY=\",\"optional\":true,\"description\":\"Specifies information that should be displayed on each link of the decision tree diagram. Valid keywords are: ALL All information listed in this table CR Cumulative rewards of outcomes on the path that leads to the successor of the link EV Evaluating value that can be expected from the successor of the link LINK Outcome name represented by the link P Probability of the outcome represented by the link R Instant reward of the outcome represented by the link STAGE Stage name of the successor of the link\",\"type\":\"value\"},{\"name\":\"DOANNOTATE\",\"optional\":true,\"aliases\":[\"DOANNO\"],\"description\":\"Specifies that the Annotate data set should be processed.\",\"type\":\"standalone\"},{\"name\":\"ERRHANDLE=\",\"optional\":true,\"description\":\"Specifies whether the procedure should stop processing the current statement and wait for next statement or quit PROC DTREE when an error has been detected by the procedure.\",\"help\":\"ERRHANDLE=DRAIN | QUIT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DRAIN\",\"description\":\"Specifies that the procedure should stop processing the current statement and wait for next statement.\",\"type\":\"standalone\"},{\"name\":\"QUIT\",\"description\":\"Specifies to quit PROC DTREE when an error has been detected by the procedure.\",\"type\":\"standalone\"}]},{\"name\":\"FTEXT=\",\"optional\":true,\"aliases\":[\"FONT=\"],\"description\":\"Specifies the font to be used for text on plots.\",\"help\":\"FTEXT=*name*\",\"type\":\"value\"},{\"name\":\"GOUT=\",\"optional\":true,\"description\":\"Specifies the name of the graphics catalog used to save the output produced by PROC DTREE for later replay.\",\"help\":\"GOUT=*SAS-catalog*\",\"type\":\"dataSet\"},{\"name\":\"GRAPHICS\",\"optional\":true,\"description\":\"Creates plots for a graphics device. To specify this option, you need to have SAS/GRAPH software licensed at your site. This is the default.\",\"type\":\"standalone\"},{\"name\":\"HSYMBOL=\",\"optional\":true,\"aliases\":[\"HS=\"],\"description\":\"Specifies that the height of symbols for all nodes in the decision tree diagram is h times the heights of symbols assigned by SAS/GRAPH software.\",\"help\":\"HSYMBOL=*h*\",\"type\":\"value\"},{\"name\":\"HTEXT=\",\"optional\":true,\"aliases\":[\"HT=\"],\"description\":\"Specifies that the height for all text in plots (except that in TITLE and FOOTNOTE statements) be h times the height of the characters assigned by SAS/GRAPH software.\",\"help\":\"HTEXT=*h*\",\"type\":\"value\"},{\"name\":\"IMAGEMAP=\",\"optional\":true,\"description\":\"Names the SAS data set that receives a description of the areas of a graph and a link for each area.\",\"help\":\"IMAGEMAP=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"LABEL\",\"optional\":true,\"description\":\"Specifies that the labels for information displayed on the decision tree diagram should be displayed.\",\"type\":\"standalone\"},{\"name\":\"LEGEND\",\"optional\":true,\"aliases\":[\"LG\"],\"description\":\"Specifies that the default legend should be displayed.\",\"type\":\"standalone\"},{\"name\":\"LINEPRINTER\",\"optional\":true,\"aliases\":[\"LP\"],\"description\":\"Creates plots of line-printer quality. If you do not specify this option, graphics plots are produced.\",\"type\":\"standalone\"},{\"name\":\"LINKA=\",\"optional\":true,\"description\":\"If the LINKA=i option is specified, then PROC DTREE uses the color specified with the CI= option, the type specified with the LINE= option, and the thickness specified with the WIDTH= option in the ith generated SYMBOL definition to draw all links in the decision tree diagram, except those that indicate optimal decisions and those that are continued on subsequent pages.\",\"help\":\"LINKA=*i*\",\"type\":\"value\"},{\"name\":\"LINKB=\",\"optional\":true,\"description\":\"If the LINKB=j option is specified, then PROC DTREE uses the color specified with the CI= option, the type specified with the LINE= option, and the thickness specified with the WIDTH= option in the jth generated SYMBOL definition to draw all links that represent optimal decisions.\",\"help\":\"LINKB=*j*\",\"type\":\"value\"},{\"name\":\"LINKC=\",\"optional\":true,\"description\":\"If the LINKC=k option is specified, then PROC DTREE uses the type specified with the LINE= option in the kth generated SYMBOL definition to draw all links in the decision tree diagram that are continued on subsequent pages.\",\"help\":\"LINKC=*k*\",\"type\":\"value\"},{\"name\":\"LSTYLE=\",\"optional\":true,\"aliases\":[\"L=\"],\"description\":\"Specifies the line type (style) used for drawing all links in the decision tree diagram, except those that represent the optimal decisions and those that are continued on subsequent pages. Valid values for l are 1 though 46.\",\"help\":\"LSTYLE=*l*\",\"type\":\"value\"},{\"name\":\"LSTYLEB=\",\"optional\":true,\"aliases\":[\"LB=\"],\"description\":\"Specifies the line type (style) used for drawing the links in the decision tree diagram that represent optimal decisions. Valid values for l2 are 1 though 46.\",\"help\":\"LSTYLEB=*l2*\",\"type\":\"value\"},{\"name\":\"LSTYLEC=\",\"optional\":true,\"aliases\":[\"LC=\"],\"description\":\"Specifies the line type (style) used for drawing the links in the decision tree diagram that are continued on the next subsequent pages. Valid values for l3 are 1 though 46.\",\"help\":\"LSTYLEC=*l3*\",\"type\":\"value\"},{\"name\":\"LWIDTH=\",\"optional\":true,\"aliases\":[\"LTHICK=\"],\"description\":\"Specifies the line thickness (width) used to draw all links in the decision tree diagram except those that represent the optimal decisions.\",\"help\":\"LWIDTH=*w*\",\"type\":\"value\"},{\"name\":\"LWIDTHB=\",\"optional\":true,\"aliases\":[\"LTHICKB=\"],\"description\":\"Specifies the line thickness (width) used to draw the links in the decision tree diagram that represent optimal decisions.\",\"help\":\"LWIDTHB=*w2*\",\"type\":\"value\"},{\"name\":\"MAXPREC=\",\"optional\":true,\"description\":\"Specifies the maximum decimal width (the precision) in which to format numerical values using w.d format.\",\"help\":\"MAXPREC=*d*\",\"type\":\"value\"},{\"name\":\"MAXWIDTH=\",\"optional\":true,\"description\":\"Specifies the maximum field width in which to format numerical values (probabilities, rewards, cumulative rewards and evaluating values) using w.d format.\",\"help\":\"MAXWIDTH=*mw*\",\"type\":\"value\"},{\"name\":\"NAME=\",\"optional\":true,\"description\":\"Specifies a descriptive string, up to 8 characters long, that appears in the name field of the master menu of PROC GREPLAY. The default is 'DTREE '.\",\"help\":\"NAME='*string*'\",\"type\":\"value\"},{\"name\":\"NOANNOTATE\",\"optional\":true,\"aliases\":[\"NOANNO\"],\"description\":\"Specifies that the Annotate data set should not be processed.\",\"type\":\"standalone\"},{\"name\":\"NOCOMPRESS\",\"optional\":true,\"aliases\":[\"NOCP\"],\"description\":\"Specifies that the decision tree diagram should not be drawn on one physical page.\",\"type\":\"standalone\"},{\"name\":\"NOLABEL\",\"optional\":true,\"description\":\"Specifies that the labels for information displayed on the decision tree diagram should not be displayed.\",\"type\":\"standalone\"},{\"name\":\"NOLEGEND\",\"optional\":true,\"aliases\":[\"NOLG\"],\"description\":\"Specifies that the default legend should not be displayed.\",\"type\":\"standalone\"},{\"name\":\"NOPAGENUM\",\"optional\":true,\"aliases\":[\"NOPAGENUMBER\"],\"description\":\"Specifies that the page numbers should not be displayed in the top right corner of each page of a multipage decision tree diagram.\",\"type\":\"standalone\"},{\"name\":\"NORC\",\"optional\":true,\"description\":\"Specifies that the links in the decision tree diagram should not be drawn with rounded corners or with rectangular corners.\",\"type\":\"standalone\"},{\"name\":\"NOSCALE\",\"optional\":true,\"description\":\"Specifies that the procedure should not rescale the probabilities of events for a given chance stage. This is the default.\",\"type\":\"standalone\"},{\"name\":\"NOSUMMARY\",\"optional\":true,\"description\":\"Specifies that an optimal decision summary should not be displayed each time the decision tree is evaluated.\",\"type\":\"standalone\"},{\"name\":\"NOWARNING\",\"optional\":true,\"description\":\"Specifies that the procedure should not display a warning message when\",\"type\":\"standalone\"},{\"name\":\"NWIDTH=\",\"optional\":true,\"description\":\"Specifies the maximum field width in which to format outcome names when displaying the decision tree diagrams. The value for this option must be no greater than 40; the default value is 32.\",\"help\":\"NWIDTH=*nw*\",\"type\":\"value\"},{\"name\":\"PAGENUM\",\"optional\":true,\"aliases\":[\"PAGENUMBER\"],\"description\":\"Specifies that the page numbers should be displayed in the top right corner of each page of a multipage decision tree diagram.\",\"type\":\"standalone\"},{\"name\":\"PAYOFFS=\",\"optional\":true,\"description\":\"Names the SAS data set that contains the evaluating values (payoffs, losses, utilities, and so on) for each state and action combination.\",\"help\":\"PAYOFFS=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"PROBIN=\",\"optional\":true,\"description\":\"Names the SAS data set that contains the (conditional) probability specifications of outcomes. The PROBIN= SAS data set is required if the evaluation of the decision tree is desired.\",\"help\":\"PROBIN=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"RC\",\"optional\":true,\"description\":\"Specifies that the links in the decision tree diagram should be drawn with rounded corners or with rectangular corners.\",\"type\":\"standalone\"},{\"name\":\"RT=\",\"optional\":true,\"description\":\"Specifies the value of the risk tolerance.\",\"help\":\"RT=*r*\",\"type\":\"value\"},{\"name\":\"STAGEIN=\",\"optional\":true,\"description\":\"Names the SAS data set that contains the stage names, stage types, names of outcomes, and their rewards and successors for each stage.\",\"help\":\"STAGEIN=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"SUMMARY\",\"optional\":true,\"description\":\"Specifies that an optimal decision summary should be displayed each time the decision tree is evaluated.\",\"type\":\"standalone\"},{\"name\":\"SYMBOLC=\",\"optional\":true,\"aliases\":[\"SYMBC=\"],\"description\":\"If the SYMBOLC= option is specified, then PROC DTREE uses the color specified with the CV= option, the character specified with the VALUE= option, the font specified with the FONT= option, and the height specified with the HEIGHT= option in the mth generated SYMBOL definition to draw all chance nodes in the decision tree diagram.\",\"help\":\"SYMBOLC=*m*\",\"type\":\"value\"},{\"name\":\"SYMBOLD=\",\"optional\":true,\"aliases\":[\"SYMBD=\"],\"description\":\"If the SYMBOLD= option is specified, then PROC DTREE uses the color specified with the CV= option, the character specified with the VALUE= option, the font specified with the FONT= option, and the height specified with the HEIGHT= option in the d-th generated SYMBOL definition to draw all decision nodes in the decision tree diagram.\",\"help\":\"SYMBOLD=*d*\",\"type\":\"value\"},{\"name\":\"SYMBOLE=\",\"optional\":true,\"aliases\":[\"SYMBE=\"],\"description\":\"If the SYMBOLE= option is specified, then PROC DTREE uses the color specified with the CV= option, the character specified with the VALUE= option, the font specified with the FONT= option, and the height specified with the HEIGHT= option in the n-th generated SYMBOL definition to draw all end nodes in the decision tree diagram.\",\"help\":\"SYMBOLE=*n*\",\"type\":\"value\"},{\"name\":\"TARGET=\",\"optional\":true,\"description\":\"Specifies the decision stage up to which the optimal decision policy table is displayed.\",\"help\":\"TARGET=*stage*\",\"type\":\"value\"},{\"name\":\"TOLERANCE=\",\"optional\":true,\"description\":\"Specifies either a positive number close to or greater than 1.\",\"help\":\"TOLERANCE=*d*\",\"type\":\"value\"},{\"name\":\"VSYMBOLC=\",\"optional\":true,\"aliases\":[\"VC=\"],\"description\":\"Specifies that the symbol symbolc-name from the special symbol table be used to draw all chance nodes in the decision tree diagram.\",\"help\":\"VSYMBOLC=PLUS | STAR | SQUARE | DIAMOND | HASH | PAW | POINT | DOT | CIRCLE | X | Y | Z\",\"type\":\"choice\",\"arguments\":[{\"name\":\"PLUS\",\"description\":\"+ symbol\",\"type\":\"standalone\"},{\"name\":\"STAR\",\"description\":\"* symbol\",\"type\":\"standalone\"},{\"name\":\"SQUARE\",\"description\":\"Square symbol\",\"type\":\"standalone\"},{\"name\":\"DIAMOND\",\"description\":\"Diamond\",\"type\":\"standalone\"},{\"name\":\"HASH\",\"description\":\"# symbol\",\"type\":\"standalone\"},{\"name\":\"PAW\",\"description\":\". . symbol\",\"type\":\"standalone\"},{\"name\":\"POINT\",\"description\":\". symbol\",\"type\":\"standalone\"},{\"name\":\"DOT\",\"description\":\"Dot symbol\",\"type\":\"standalone\"},{\"name\":\"CIRCLE\",\"description\":\"Circle symbol\",\"type\":\"standalone\"},{\"name\":\"X\",\"description\":\"X symbol\",\"type\":\"standalone\"},{\"name\":\"Y\",\"description\":\"Y symbol\",\"type\":\"standalone\"},{\"name\":\"Z\",\"description\":\"Z symbol\",\"type\":\"standalone\"}]},{\"name\":\"VSYMBOLD=\",\"optional\":true,\"aliases\":[\"VD=\"],\"description\":\"Specifies that the symbol symbold-name from the special symbol table be used to draw all decision nodes in the decision tree diagram.\",\"help\":\"VSYMBOLD=PLUS | STAR | SQUARE | DIAMOND | HASH | PAW | POINT | DOT | CIRCLE | X | Y | Z\",\"type\":\"choice\",\"arguments\":[{\"name\":\"PLUS\",\"description\":\"+ symbol\",\"type\":\"standalone\"},{\"name\":\"STAR\",\"description\":\"* symbol\",\"type\":\"standalone\"},{\"name\":\"SQUARE\",\"description\":\"Square symbol\",\"type\":\"standalone\"},{\"name\":\"DIAMOND\",\"description\":\"Diamond\",\"type\":\"standalone\"},{\"name\":\"HASH\",\"description\":\"# symbol\",\"type\":\"standalone\"},{\"name\":\"PAW\",\"description\":\". . symbol\",\"type\":\"standalone\"},{\"name\":\"POINT\",\"description\":\". symbol\",\"type\":\"standalone\"},{\"name\":\"DOT\",\"description\":\"Dot symbol\",\"type\":\"standalone\"},{\"name\":\"CIRCLE\",\"description\":\"Circle symbol\",\"type\":\"standalone\"},{\"name\":\"X\",\"description\":\"X symbol\",\"type\":\"standalone\"},{\"name\":\"Y\",\"description\":\"Y symbol\",\"type\":\"standalone\"},{\"name\":\"Z\",\"description\":\"Z symbol\",\"type\":\"standalone\"}]},{\"name\":\"VSYMBOLE=\",\"optional\":true,\"aliases\":[\"VE=\"],\"description\":\"Specifies that the symbol symbole-name from the special symbol table be used to draw all end nodes in the decision tree diagram.\",\"help\":\"VSYMBOLE=PLUS | STAR | SQUARE | DIAMOND | HASH | PAW | POINT | DOT | CIRCLE | X | Y | Z\",\"type\":\"choice\",\"arguments\":[{\"name\":\"PLUS\",\"description\":\"+ symbol\",\"type\":\"standalone\"},{\"name\":\"STAR\",\"description\":\"* symbol\",\"type\":\"standalone\"},{\"name\":\"SQUARE\",\"description\":\"Square symbol\",\"type\":\"standalone\"},{\"name\":\"DIAMOND\",\"description\":\"Diamond\",\"type\":\"standalone\"},{\"name\":\"HASH\",\"description\":\"# symbol\",\"type\":\"standalone\"},{\"name\":\"PAW\",\"description\":\". . symbol\",\"type\":\"standalone\"},{\"name\":\"POINT\",\"description\":\". symbol\",\"type\":\"standalone\"},{\"name\":\"DOT\",\"description\":\"Dot symbol\",\"type\":\"standalone\"},{\"name\":\"CIRCLE\",\"description\":\"Circle symbol\",\"type\":\"standalone\"},{\"name\":\"X\",\"description\":\"X symbol\",\"type\":\"standalone\"},{\"name\":\"Y\",\"description\":\"Y symbol\",\"type\":\"standalone\"},{\"name\":\"Z\",\"description\":\"Z symbol\",\"type\":\"standalone\"}]},{\"name\":\"WARNING\",\"optional\":true,\"description\":\"Specifies that the procedure should display a warning message when\",\"type\":\"standalone\"},{\"name\":\"YBETWEEN=\",\"optional\":true,\"description\":\"Specifies the vertical distance between two successive end nodes.\",\"type\":\"value\"}]},{\"name\":\"EVALUATE\",\"description\":\"The EVALUATE statement causes PROC DTREE to evaluate the decision tree and calculate the optimal decisions. If the SUMMARY option is specified a decision summary is displayed. Otherwise, the current optimal value is displayed on the SAS log.\",\"help\":\"EVALUATE &lt;CRITERION=&lt;MAXEV | MINEV | MAXMLV&gt;... &gt;&lt;MAXPREC=d&gt;&lt;MAXWIDTH=mw&gt; ...\",\"arguments\":[{\"name\":\"CRITERION=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Indicates the decision criterion to be used for determining the optimal decision and the certain equivalent for replacing uncertainties.\",\"help\":\"CRITERION=MAXEV | MINEV | MAXMLV | MINMLV | MAXCE | MINCE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"MAXEV\",\"followsDelimiter\":\"/\",\"description\":\"Decision criterion: maximize; certain equivalent: expected value\",\"type\":\"standalone\"},{\"name\":\"MINEV\",\"followsDelimiter\":\"/\",\"description\":\"Decision criterion: minimize; certain equivalent: expected value\",\"type\":\"standalone\"},{\"name\":\"MAXMLV\",\"followsDelimiter\":\"/\",\"description\":\"Decision criterion: maximize; certain equivalent: value with largest probability\",\"type\":\"standalone\"},{\"name\":\"MINMLV\",\"followsDelimiter\":\"/\",\"description\":\"Decision criterion: minimize; certain equivalent: value with largest probability\",\"type\":\"standalone\"},{\"name\":\"MAXCE\",\"followsDelimiter\":\"/\",\"description\":\"Decision criterion: maximize; certain equivalent: certain equivalent value of expected utility\",\"type\":\"standalone\"},{\"name\":\"MINCE\",\"followsDelimiter\":\"/\",\"description\":\"Decision criterion: minimize; certain equivalent: certain equivalent value of expected utility\",\"type\":\"standalone\"}]},{\"name\":\"MAXPREC=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the maximum decimal width (the precision) in which to format numerical values using w.d format.\",\"help\":\"MAXPREC=*d*\",\"type\":\"value\"},{\"name\":\"MAXWIDTH=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the maximum field width in which to format numerical values (probabilities, rewards, cumulative rewards and evaluating values) using w.d format.\",\"help\":\"MAXWIDTH=*mw*\",\"type\":\"value\"},{\"name\":\"NOSUMMARY\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies that an optimal decision summary should not be displayed each time the decision tree is evaluated.\",\"type\":\"standalone\"},{\"name\":\"NWIDTH=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the maximum field width in which to format outcome names when displaying the decision tree diagrams. The value for this option must be no greater than 40; the default value is 32.\",\"help\":\"NWIDTH=*nw*\",\"type\":\"value\"},{\"name\":\"RT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the value of the risk tolerance.\",\"help\":\"RT=*r*\",\"type\":\"value\"},{\"name\":\"SUMMARY\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies that an optimal decision summary should be displayed each time the decision tree is evaluated.\",\"type\":\"standalone\"},{\"name\":\"TARGET=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the decision stage up to which the optimal decision policy table is displayed.\",\"help\":\"TARGET=*stage*\",\"type\":\"value\"}]},{\"name\":\"MODIFY\",\"description\":\"The MODIFY statement is used to change either the type of a stage or the reward from an outcome. If MODIFY outcome-name REWARD new-value is given where the outcome-name is an outcome specified in the STAGEIN= data set, and new-value is a numeric value, then the reward of the outcome named outcome-name is changed to new-value. If MODIFY stage-name TYPE is given where stage-name is a stage name specified in the STAGEIN= data set, then the type of the stage named stage-name is changed to 'DECISION' if its current type is 'CHANCE' and is changed to 'CHANCE' if its current type is 'DECISION'. You cannot change the type of an 'END' stage. The change of the type of a stage from 'CHANCE' to 'DECISION' can help the decision- maker learn how much improvement can be expected if he or she could pick which of the future (or unknown) outcomes would occur. However, if you want to change the type of a stage from 'DECISION' to 'CHANCE', the procedure is not able to determine the probabilities for its outcomes unless you specify them in the PROBIN= data set.\",\"help\":\"MODIFY &lt;REWARD&gt;&lt;TYPE&gt;\",\"arguments\":[{\"name\":\"REWARD\",\"optional\":true,\"description\":\"If MODIFY outcome-name REWARD new-value is given where the outcome-name is an outcome specified in the STAGEIN= data set, and new-value is a numeric value, then the reward of the outcome named outcome- name is changed to new-value.\",\"type\":\"standalone\"},{\"name\":\"TYPE\",\"optional\":true,\"description\":\"If MODIFY stage-name TYPE is given where stage-name is a stage name specified in the STAGEIN= data set, then the type of the stage named stage-name is changed to 'DECISION' if its current type is 'CHANCE' and is changed to 'CHANCE' if its current type is 'DECISION'. You cannot change the type of an 'END' stage. The change of the type of a stage from 'CHANCE' to 'DECISION' can help the decision- maker learn how much improvement can be expected if he or she could pick which of the future (or unknown) outcomes would occur. However, if you want to change the type of a stage from 'DECISION' to 'CHANCE', the procedure is not able to determine the probabilities for its outcomes unless you specify them in the PROBIN= data set.\",\"type\":\"standalone\"}]},{\"name\":\"MOVE\",\"description\":\"The MOVE statement is used to change the order of the stages. After all data in input data sets have been read, PROC DTREE determines the order (from left to right) of all stages specified in the STAGEIN= data set and display the order in the SAS log.\",\"help\":\"MOVE &lt;AFTER&gt;&lt;BEFORE&gt;\",\"arguments\":[{\"name\":\"AFTER\",\"optional\":true,\"description\":\"If the keyword AFTER is used, the old leftmost (in previous order) successor of outcomes for stage2 becomes the new successor for all outcomes of stage1 and the new successor of all outcomes of stage2 is stage1.\",\"type\":\"standalone\"},{\"name\":\"BEFORE\",\"optional\":true,\"description\":\"If the keyword BEFORE is used, stage1 becomes the new successor for all immediate predecessors of stage2, and stage2 becomes the new successor for all outcomes of stage1. An outcome is said to be an immediate predecessor of a stage if the stage is the successor of that outcome.\",\"type\":\"standalone\"}]},{\"name\":\"QUIT\",\"description\":\"The QUIT statement tells the DTREE procedure to terminate processing. This statement has no options.\",\"help\":\"QUIT \"},{\"name\":\"RECALL\",\"description\":\"This statement tells PROC DTREE to recall the decision model that was saved previously with a SAVE statement. The RECALL statement has no options.\",\"help\":\"RECALL \"},{\"name\":\"RESET\",\"description\":\"The RESET statement is used to change options after the procedure has started. All of the options that can be set in the PROC DTREE statement can also be reset with this statement, except for the STAGEIN=, the PROBIN=, and the PAYOFFS= data set options.\",\"help\":\"RESET &lt;AUTOSCALE&gt;&lt;CRITERION=&lt;MAXEV | MINEV | MAXMLV&gt;... &gt;&lt;NOSCALE&gt; ...\",\"arguments\":[{\"name\":\"ANNOTATE=\",\"optional\":true,\"aliases\":[\"ANNO=\"],\"description\":\"Specifies an input data set that contains appropriate Annotate variables.\",\"help\":\"ANNOTATE=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"AUTOSCALE\",\"optional\":true,\"description\":\"Specifies that the procedure should rescale the probabilities of events for a given chance stage if the total probability of this stage is not equal to 1.\",\"type\":\"standalone\"},{\"name\":\"CBEST=\",\"optional\":true,\"aliases\":[\"CB=\"],\"description\":\"Specifies the color for all links in the decision tree diagram that represent optimal decisions.\",\"help\":\"CBEST=*color*\",\"type\":\"color\"},{\"name\":\"CLINK=\",\"optional\":true,\"aliases\":[\"CL=\"],\"description\":\"Specifies the color for all links in the decision tree diagram except those that represent optimal decisions.\",\"help\":\"CLINK=*color*\",\"type\":\"color\"},{\"name\":\"COMPRESS\",\"optional\":true,\"aliases\":[\"CP\"],\"description\":\"Specifies that the decision tree diagram should be drawn on one physical page.\",\"type\":\"standalone\"},{\"name\":\"CRITERION=\",\"optional\":true,\"description\":\"Indicates the decision criterion to be used for determining the optimal decision and the certain equivalent for replacing uncertainties.\",\"help\":\"CRITERION=MAXEV | MINEV | MAXMLV | MINMLV | MAXCE | MINCE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"MAXEV\",\"description\":\"Decision criterion: maximize; certain equivalent: expected value\",\"type\":\"standalone\"},{\"name\":\"MINEV\",\"description\":\"Decision criterion: minimize; certain equivalent: expected value\",\"type\":\"standalone\"},{\"name\":\"MAXMLV\",\"description\":\"Decision criterion: maximize; certain equivalent: value with largest probability\",\"type\":\"standalone\"},{\"name\":\"MINMLV\",\"description\":\"Decision criterion: minimize; certain equivalent: value with largest probability\",\"type\":\"standalone\"},{\"name\":\"MAXCE\",\"description\":\"Decision criterion: maximize; certain equivalent: certain equivalent value of expected utility\",\"type\":\"standalone\"},{\"name\":\"MINCE\",\"description\":\"Decision criterion: minimize; certain equivalent: certain equivalent value of expected utility\",\"type\":\"standalone\"}]},{\"name\":\"CSYMBOLC=\",\"optional\":true,\"aliases\":[\"CC=\"],\"description\":\"Specifies the color of the symbol used to draw all chance nodes in the decision tree diagram.\",\"help\":\"CSYMBOLC=*color*\",\"type\":\"color\"},{\"name\":\"CSYMBOLD=\",\"optional\":true,\"aliases\":[\"CD=\"],\"description\":\"Specifies the color of the symbol used to draw all decision nodes in the decision tree diagram.\",\"help\":\"CSYMBOLD=*color*\",\"type\":\"color\"},{\"name\":\"CSYMBOLE=\",\"optional\":true,\"aliases\":[\"CE=\"],\"description\":\"Specifies the color of the symbol used to draw all end nodes in the decision tree diagram.\",\"help\":\"CSYMBOLE=*color*\",\"type\":\"color\"},{\"name\":\"CTEXT=\",\"optional\":true,\"aliases\":[\"CT=\"],\"description\":\"Specifies the color to be used for all text that appears on plots except on TITLE and FOOTNOTE lines.\",\"help\":\"CTEXT=*color*\",\"type\":\"color\"},{\"name\":\"DESCRIPTION=\",\"optional\":true,\"aliases\":[\"DES=\"],\"description\":\"Specifies a descriptive string, up to 40 characters long, that appears in the description field of the master menu of PROC GREPLAY.\",\"help\":\"DESCRIPTION='*string*'\",\"type\":\"value\"},{\"name\":\"DISPLAY=\",\"optional\":true,\"description\":\"Specifies information that should be displayed on each link of the decision tree diagram. Valid keywords are: ALL All information listed in this table CR Cumulative rewards of outcomes on the path that leads to the successor of the link EV Evaluating value that can be expected from the successor of the link LINK Outcome name represented by the link P Probability of the outcome represented by the link R Instant reward of the outcome represented by the link STAGE Stage name of the successor of the link\",\"type\":\"value\"},{\"name\":\"DOANNOTATE\",\"optional\":true,\"aliases\":[\"DOANNO\"],\"description\":\"Specifies that the Annotate data set should be processed.\",\"type\":\"standalone\"},{\"name\":\"ERRHANDLE=\",\"optional\":true,\"description\":\"Specifies whether the procedure should stop processing the current statement and wait for next statement or quit PROC DTREE when an error has been detected by the procedure.\",\"help\":\"ERRHANDLE=DRAIN | QUIT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DRAIN\",\"description\":\"Specifies that the procedure should stop processing the current statement and wait for next statement.\",\"type\":\"standalone\"},{\"name\":\"QUIT\",\"description\":\"Specifies to quit PROC DTREE when an error has been detected by the procedure.\",\"type\":\"standalone\"}]},{\"name\":\"FORMCHAR=\",\"optional\":true,\"description\":\"Defines characters to be used for features on line-printer plots. The syni-list is a list of numbers ranging from 1 to 13. The features associated with values of syni are:\",\"type\":\"value\"},{\"name\":\"FTEXT=\",\"optional\":true,\"aliases\":[\"FONT=\"],\"description\":\"Specifies the font to be used for text on plots.\",\"help\":\"FTEXT=*name*\",\"type\":\"value\"},{\"name\":\"GOUT=\",\"optional\":true,\"description\":\"Specifies the name of the graphics catalog used to save the output produced by PROC DTREE for later replay.\",\"help\":\"GOUT=*SAS-catalog*\",\"type\":\"dataSet\"},{\"name\":\"GRAPHICS\",\"optional\":true,\"description\":\"Creates plots for a graphics device. To specify this option, you need to have SAS/GRAPH software licensed at your site. This is the default.\",\"type\":\"standalone\"},{\"name\":\"HSYMBOL=\",\"optional\":true,\"aliases\":[\"HS=\"],\"description\":\"Specifies that the height of symbols for all nodes in the decision tree diagram is h times the heights of symbols assigned by SAS/GRAPH software.\",\"help\":\"HSYMBOL=*h*\",\"type\":\"value\"},{\"name\":\"HTEXT=\",\"optional\":true,\"aliases\":[\"HT=\"],\"description\":\"Specifies that the height for all text in plots (except that in TITLE and FOOTNOTE statements) be h times the height of the characters assigned by SAS/GRAPH software.\",\"help\":\"HTEXT=*h*\",\"type\":\"value\"},{\"name\":\"IMAGEMAP=\",\"optional\":true,\"description\":\"Names the SAS data set that receives a description of the areas of a graph and a link for each area.\",\"help\":\"IMAGEMAP=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"LABEL\",\"optional\":true,\"description\":\"Specifies that the labels for information displayed on the decision tree diagram should be displayed.\",\"type\":\"standalone\"},{\"name\":\"LEGEND\",\"optional\":true,\"aliases\":[\"LG\"],\"description\":\"Specifies that the default legend should be displayed.\",\"type\":\"standalone\"},{\"name\":\"LINEPRINTER\",\"optional\":true,\"aliases\":[\"LP\"],\"description\":\"Creates plots of line-printer quality. If you do not specify this option, graphics plots are produced.\",\"type\":\"standalone\"},{\"name\":\"LINKA=\",\"optional\":true,\"description\":\"If the LINKA=i option is specified, then PROC DTREE uses the color specified with the CI= option, the type specified with the LINE= option, and the thickness specified with the WIDTH= option in the ith generated SYMBOL definition to draw all links in the decision tree diagram, except those that indicate optimal decisions and those that are continued on subsequent pages.\",\"help\":\"LINKA=*i*\",\"type\":\"value\"},{\"name\":\"LINKB=\",\"optional\":true,\"description\":\"If the LINKB=j option is specified, then PROC DTREE uses the color specified with the CI= option, the type specified with the LINE= option, and the thickness specified with the WIDTH= option in the jth generated SYMBOL definition to draw all links that represent optimal decisions.\",\"help\":\"LINKB=*j*\",\"type\":\"value\"},{\"name\":\"LINKC=\",\"optional\":true,\"description\":\"If the LINKC=k option is specified, then PROC DTREE uses the type specified with the LINE= option in the kth generated SYMBOL definition to draw all links in the decision tree diagram that are continued on subsequent pages.\",\"help\":\"LINKC=*k*\",\"type\":\"value\"},{\"name\":\"LSTYLE=\",\"optional\":true,\"aliases\":[\"L=\"],\"description\":\"Specifies the line type (style) used for drawing all links in the decision tree diagram, except those that represent the optimal decisions and those that are continued on subsequent pages. Valid values for l are 1 though 46.\",\"help\":\"LSTYLE=*l*\",\"type\":\"value\"},{\"name\":\"LSTYLEB=\",\"optional\":true,\"aliases\":[\"LB=\"],\"description\":\"Specifies the line type (style) used for drawing the links in the decision tree diagram that represent optimal decisions. Valid values for l2 are 1 though 46.\",\"help\":\"LSTYLEB=*l2*\",\"type\":\"value\"},{\"name\":\"LSTYLEC=\",\"optional\":true,\"aliases\":[\"LC=\"],\"description\":\"Specifies the line type (style) used for drawing the links in the decision tree diagram that are continued on the next subsequent pages. Valid values for l3 are 1 though 46.\",\"help\":\"LSTYLEC=*l3*\",\"type\":\"value\"},{\"name\":\"LWIDTH=\",\"optional\":true,\"aliases\":[\"LTHICK=\"],\"description\":\"Specifies the line thickness (width) used to draw all links in the decision tree diagram except those that represent the optimal decisions.\",\"help\":\"LWIDTH=*w*\",\"type\":\"value\"},{\"name\":\"LWIDTHB=\",\"optional\":true,\"aliases\":[\"LTHICKB=\"],\"description\":\"Specifies the line thickness (width) used to draw the links in the decision tree diagram that represent optimal decisions.\",\"help\":\"LWIDTHB=*w2*\",\"type\":\"value\"},{\"name\":\"MAXPREC=\",\"optional\":true,\"description\":\"Specifies the maximum decimal width (the precision) in which to format numerical values using w.d format.\",\"help\":\"MAXPREC=*d*\",\"type\":\"value\"},{\"name\":\"MAXWIDTH=\",\"optional\":true,\"description\":\"Specifies the maximum field width in which to format numerical values (probabilities, rewards, cumulative rewards and evaluating values) using w.d format.\",\"help\":\"MAXWIDTH=*mw*\",\"type\":\"value\"},{\"name\":\"NAME=\",\"optional\":true,\"description\":\"Specifies a descriptive string, up to 8 characters long, that appears in the name field of the master menu of PROC GREPLAY. The default is 'DTREE '.\",\"help\":\"NAME='*string*'\",\"type\":\"value\"},{\"name\":\"NOANNOTATE\",\"optional\":true,\"aliases\":[\"NOANNO\"],\"description\":\"Specifies that the Annotate data set should not be processed.\",\"type\":\"standalone\"},{\"name\":\"NOCOMPRESS\",\"optional\":true,\"aliases\":[\"NOCP\"],\"description\":\"Specifies that the decision tree diagram should not be drawn on one physical page.\",\"type\":\"standalone\"},{\"name\":\"NOLABEL\",\"optional\":true,\"description\":\"Specifies that the labels for information displayed on the decision tree diagram should not be displayed.\",\"type\":\"standalone\"},{\"name\":\"NOLEGEND\",\"optional\":true,\"aliases\":[\"NOLG\"],\"description\":\"Specifies that the default legend should not be displayed.\",\"type\":\"standalone\"},{\"name\":\"NOPAGENUM\",\"optional\":true,\"aliases\":[\"NOPAGENUMBER\"],\"description\":\"Specifies that the page numbers should not be displayed in the top right corner of each page of a multipage decision tree diagram.\",\"type\":\"standalone\"},{\"name\":\"NORC\",\"optional\":true,\"description\":\"Specifies that the links in the decision tree diagram should not be drawn with rounded corners or with rectangular corners.\",\"type\":\"standalone\"},{\"name\":\"NOSCALE\",\"optional\":true,\"description\":\"Specifies that the procedure should not rescale the probabilities of events for a given chance stage. This is the default.\",\"type\":\"standalone\"},{\"name\":\"NOSUMMARY\",\"optional\":true,\"description\":\"Specifies that an optimal decision summary should not be displayed each time the decision tree is evaluated.\",\"type\":\"standalone\"},{\"name\":\"NOWARNING\",\"optional\":true,\"description\":\"Specifies that the procedure should not display a warning message when\",\"type\":\"standalone\"},{\"name\":\"NWIDTH=\",\"optional\":true,\"description\":\"Specifies the maximum field width in which to format outcome names when displaying the decision tree diagrams. The value for this option must be no greater than 40; the default value is 32.\",\"help\":\"NWIDTH=*nw*\",\"type\":\"value\"},{\"name\":\"PAGENUM\",\"optional\":true,\"aliases\":[\"PAGENUMBER\"],\"description\":\"Specifies that the page numbers should be displayed in the top right corner of each page of a multipage decision tree diagram.\",\"type\":\"standalone\"},{\"name\":\"RC\",\"optional\":true,\"description\":\"Specifies that the links in the decision tree diagram should be drawn with rounded corners or with rectangular corners.\",\"type\":\"standalone\"},{\"name\":\"RT=\",\"optional\":true,\"description\":\"Specifies the value of the risk tolerance.\",\"help\":\"RT=*r*\",\"type\":\"value\"},{\"name\":\"SUMMARY\",\"optional\":true,\"description\":\"Specifies that an optimal decision summary should be displayed each time the decision tree is evaluated.\",\"type\":\"standalone\"},{\"name\":\"SYMBOLC=\",\"optional\":true,\"aliases\":[\"SYMBC=\"],\"description\":\"If the SYMBOLC= option is specified, then PROC DTREE uses the color specified with the CV= option, the character specified with the VALUE= option, the font specified with the FONT= option, and the height specified with the HEIGHT= option in the mth generated SYMBOL definition to draw all chance nodes in the decision tree diagram.\",\"help\":\"SYMBOLC=*m*\",\"type\":\"value\"},{\"name\":\"SYMBOLD=\",\"optional\":true,\"aliases\":[\"SYMBD=\"],\"description\":\"If the SYMBOLD= option is specified, then PROC DTREE uses the color specified with the CV= option, the character specified with the VALUE= option, the font specified with the FONT= option, and the height specified with the HEIGHT= option in the d-th generated SYMBOL definition to draw all decision nodes in the decision tree diagram.\",\"help\":\"SYMBOLD=*d*\",\"type\":\"value\"},{\"name\":\"SYMBOLE=\",\"optional\":true,\"aliases\":[\"SYMBE=\"],\"description\":\"If the SYMBOLE= option is specified, then PROC DTREE uses the color specified with the CV= option, the character specified with the VALUE= option, the font specified with the FONT= option, and the height specified with the HEIGHT= option in the n-th generated SYMBOL definition to draw all end nodes in the decision tree diagram.\",\"help\":\"SYMBOLE=*n*\",\"type\":\"value\"},{\"name\":\"TARGET=\",\"optional\":true,\"description\":\"Specifies the decision stage up to which the optimal decision policy table is displayed.\",\"help\":\"TARGET=*stage*\",\"type\":\"value\"},{\"name\":\"TOLERANCE=\",\"optional\":true,\"description\":\"Specifies either a positive number close to or greater than 1.\",\"help\":\"TOLERANCE=*d*\",\"type\":\"value\"},{\"name\":\"VSYMBOLC=\",\"optional\":true,\"aliases\":[\"VC=\"],\"description\":\"Specifies that the symbol symbolc-name from the special symbol table be used to draw all chance nodes in the decision tree diagram.\",\"help\":\"VSYMBOLC=PLUS | STAR | SQUARE | DIAMOND | HASH | PAW | POINT | DOT | CIRCLE | X | Y | Z\",\"type\":\"choice\",\"arguments\":[{\"name\":\"PLUS\",\"description\":\"+ symbol\",\"type\":\"standalone\"},{\"name\":\"STAR\",\"description\":\"* symbol\",\"type\":\"standalone\"},{\"name\":\"SQUARE\",\"description\":\"Square symbol\",\"type\":\"standalone\"},{\"name\":\"DIAMOND\",\"description\":\"Diamond\",\"type\":\"standalone\"},{\"name\":\"HASH\",\"description\":\"# symbol\",\"type\":\"standalone\"},{\"name\":\"PAW\",\"description\":\". . symbol\",\"type\":\"standalone\"},{\"name\":\"POINT\",\"description\":\". symbol\",\"type\":\"standalone\"},{\"name\":\"DOT\",\"description\":\"Dot symbol\",\"type\":\"standalone\"},{\"name\":\"CIRCLE\",\"description\":\"Circle symbol\",\"type\":\"standalone\"},{\"name\":\"X\",\"description\":\"X symbol\",\"type\":\"standalone\"},{\"name\":\"Y\",\"description\":\"Y symbol\",\"type\":\"standalone\"},{\"name\":\"Z\",\"description\":\"Z symbol\",\"type\":\"standalone\"}]},{\"name\":\"VSYMBOLD=\",\"optional\":true,\"aliases\":[\"VD=\"],\"description\":\"Specifies that the symbol symbold-name from the special symbol table be used to draw all decision nodes in the decision tree diagram.\",\"help\":\"VSYMBOLD=PLUS | STAR | SQUARE | DIAMOND | HASH | PAW | POINT | DOT | CIRCLE | X | Y | Z\",\"type\":\"choice\",\"arguments\":[{\"name\":\"PLUS\",\"description\":\"+ symbol\",\"type\":\"standalone\"},{\"name\":\"STAR\",\"description\":\"* symbol\",\"type\":\"standalone\"},{\"name\":\"SQUARE\",\"description\":\"Square symbol\",\"type\":\"standalone\"},{\"name\":\"DIAMOND\",\"description\":\"Diamond\",\"type\":\"standalone\"},{\"name\":\"HASH\",\"description\":\"# symbol\",\"type\":\"standalone\"},{\"name\":\"PAW\",\"description\":\". . symbol\",\"type\":\"standalone\"},{\"name\":\"POINT\",\"description\":\". symbol\",\"type\":\"standalone\"},{\"name\":\"DOT\",\"description\":\"Dot symbol\",\"type\":\"standalone\"},{\"name\":\"CIRCLE\",\"description\":\"Circle symbol\",\"type\":\"standalone\"},{\"name\":\"X\",\"description\":\"X symbol\",\"type\":\"standalone\"},{\"name\":\"Y\",\"description\":\"Y symbol\",\"type\":\"standalone\"},{\"name\":\"Z\",\"description\":\"Z symbol\",\"type\":\"standalone\"}]},{\"name\":\"VSYMBOLE=\",\"optional\":true,\"aliases\":[\"VE=\"],\"description\":\"Specifies that the symbol symbole-name from the special symbol table be used to draw all end nodes in the decision tree diagram.\",\"help\":\"VSYMBOLE=PLUS | STAR | SQUARE | DIAMOND | HASH | PAW | POINT | DOT | CIRCLE | X | Y | Z\",\"type\":\"choice\",\"arguments\":[{\"name\":\"PLUS\",\"description\":\"+ symbol\",\"type\":\"standalone\"},{\"name\":\"STAR\",\"description\":\"* symbol\",\"type\":\"standalone\"},{\"name\":\"SQUARE\",\"description\":\"Square symbol\",\"type\":\"standalone\"},{\"name\":\"DIAMOND\",\"description\":\"Diamond\",\"type\":\"standalone\"},{\"name\":\"HASH\",\"description\":\"# symbol\",\"type\":\"standalone\"},{\"name\":\"PAW\",\"description\":\". . symbol\",\"type\":\"standalone\"},{\"name\":\"POINT\",\"description\":\". symbol\",\"type\":\"standalone\"},{\"name\":\"DOT\",\"description\":\"Dot symbol\",\"type\":\"standalone\"},{\"name\":\"CIRCLE\",\"description\":\"Circle symbol\",\"type\":\"standalone\"},{\"name\":\"X\",\"description\":\"X symbol\",\"type\":\"standalone\"},{\"name\":\"Y\",\"description\":\"Y symbol\",\"type\":\"standalone\"},{\"name\":\"Z\",\"description\":\"Z symbol\",\"type\":\"standalone\"}]},{\"name\":\"WARNING\",\"optional\":true,\"description\":\"Specifies that the procedure should display a warning message when\",\"type\":\"standalone\"},{\"name\":\"YBETWEEN=\",\"optional\":true,\"description\":\"Specifies the vertical distance between two successive end nodes.\",\"type\":\"value\"}]},{\"name\":\"SAVE\",\"description\":\"The SAVE statement saves the current model (attributes of stages and outcomes, the ordering of stages, and so on) to a scratch space from which you can call it back later.\",\"help\":\"SAVE \"},{\"name\":\"SUMMARY\",\"description\":\"Unlike the SUMMARY option on the PROC DTREE statement or the EVALUATE statement, which specifies that PROC DTREE display a decision summary when the decision tree is evaluated, the SUMMARY statement causes the procedure to display the summary immediately.\",\"help\":\"SUMMARY &lt;MAXPREC=d&gt;&lt;MAXWIDTH=mw&gt;&lt;NWIDTH=nw&gt; ...\",\"arguments\":[{\"name\":\"MAXPREC=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the maximum decimal width (the precision) in which to format numerical values using w.d format.\",\"help\":\"MAXPREC=*d*\",\"type\":\"value\"},{\"name\":\"MAXWIDTH=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the maximum field width in which to format numerical values (probabilities, rewards, cumulative rewards and evaluating values) using w.d format.\",\"help\":\"MAXWIDTH=*mw*\",\"type\":\"value\"},{\"name\":\"NWIDTH=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the maximum field width in which to format outcome names when displaying the decision tree diagrams. The value for this option must be no greater than 40; the default value is 32.\",\"help\":\"NWIDTH=*nw*\",\"type\":\"value\"},{\"name\":\"TARGET=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the decision stage up to which the optimal decision policy table is displayed.\",\"help\":\"TARGET=*stage*\",\"type\":\"value\"}]},{\"name\":\"TREEPLOT\",\"description\":\"The TREEPLOT statement plots the current decision tree (a diagram of the decision problem). Each path in the decision tree represents a possible scenario of the problem.\",\"help\":\"TREEPLOT &lt;DISPLAY=(information-list)&gt;&lt;GRAPHICS&gt;&lt;LABEL&gt; ...\",\"arguments\":[{\"name\":\"ANNOTATE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies an input data set that contains appropriate Annotate variables.\",\"help\":\"ANNOTATE=ANNO=\",\"type\":\"value\"},{\"name\":\"CBEST=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"CB=\"],\"description\":\"Specifies the color for all links in the decision tree diagram that represent optimal decisions.\",\"help\":\"CBEST=*color*\",\"type\":\"color\"},{\"name\":\"CLINK=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"CL=\"],\"description\":\"Specifies the color for all links in the decision tree diagram except those that represent optimal decisions.\",\"help\":\"CLINK=*color*\",\"type\":\"color\"},{\"name\":\"COMPRESS\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"CP\"],\"description\":\"Specifies that the decision tree diagram should be drawn on one physical page.\",\"type\":\"standalone\"},{\"name\":\"CSYMBOLC=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"CC=\"],\"description\":\"Specifies the color of the symbol used to draw all chance nodes in the decision tree diagram.\",\"help\":\"CSYMBOLC=*color*\",\"type\":\"color\"},{\"name\":\"CSYMBOLD=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"CD=\"],\"description\":\"Specifies the color of the symbol used to draw all decision nodes in the decision tree diagram.\",\"help\":\"CSYMBOLD=*color*\",\"type\":\"color\"},{\"name\":\"CSYMBOLE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"CE=\"],\"description\":\"Specifies the color of the symbol used to draw all end nodes in the decision tree diagram.\",\"help\":\"CSYMBOLE=*color*\",\"type\":\"color\"},{\"name\":\"CTEXT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"CT=\"],\"description\":\"Specifies the color to be used for all text that appears on plots except on TITLE and FOOTNOTE lines.\",\"help\":\"CTEXT=*color*\",\"type\":\"color\"},{\"name\":\"DESCRIPTION=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"DES=\"],\"description\":\"Specifies a descriptive string, up to 40 characters long, that appears in the description field of the master menu of PROC GREPLAY.\",\"help\":\"DESCRIPTION='*string*'\",\"type\":\"value\"},{\"name\":\"DISPLAY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies information that should be displayed on each link of the decision tree diagram. Valid keywords are: ALL All information listed in this table CR Cumulative rewards of outcomes on the path that leads to the successor of the link EV Evaluating value that can be expected from the successor of the link LINK Outcome name represented by the link P Probability of the outcome represented by the link R Instant reward of the outcome represented by the link STAGE Stage name of the successor of the link\",\"type\":\"value\"},{\"name\":\"DOANNOTATE\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"DOANNO\"],\"description\":\"Specifies that the Annotate data set should be processed.\",\"type\":\"standalone\"},{\"name\":\"FORMCHAR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Defines characters to be used for features on line-printer plots. The syni-list is a list of numbers ranging from 1 to 13. The features associated with values of syni are:\",\"type\":\"value\"},{\"name\":\"FTEXT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"FONT=\"],\"description\":\"Specifies the font to be used for text on plots.\",\"help\":\"FTEXT=*name*\",\"type\":\"value\"},{\"name\":\"GOUT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the name of the graphics catalog used to save the output produced by PROC DTREE for later replay.\",\"help\":\"GOUT=*SAS-catalog*\",\"type\":\"dataSet\"},{\"name\":\"GRAPHICS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Creates plots for a graphics device. To specify this option, you need to have SAS/GRAPH software licensed at your site. This is the default.\",\"type\":\"standalone\"},{\"name\":\"HSYMBOL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"HS=\"],\"description\":\"Specifies that the height of symbols for all nodes in the decision tree diagram is h times the heights of symbols assigned by SAS/GRAPH software.\",\"help\":\"HSYMBOL=*h*\",\"type\":\"value\"},{\"name\":\"HTEXT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"HT=\"],\"description\":\"Specifies that the height for all text in plots (except that in TITLE and FOOTNOTE statements) be h times the height of the characters assigned by SAS/GRAPH software.\",\"help\":\"HTEXT=*h*\",\"type\":\"value\"},{\"name\":\"IMAGEMAP=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Names the SAS data set that receives a description of the areas of a graph and a link for each area.\",\"help\":\"IMAGEMAP=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"LABEL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies that the labels for information displayed on the decision tree diagram should be displayed.\",\"type\":\"standalone\"},{\"name\":\"LEGEND\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies that the default legend should be displayed.\",\"type\":\"standalone\"},{\"name\":\"LINEPRINTER\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"LP\"],\"description\":\"Creates plots of line-printer quality. If you do not specify this option, graphics plots are produced.\",\"type\":\"standalone\"},{\"name\":\"LINKA=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"If the LINKA=i option is specified, then PROC DTREE uses the color specified with the CI= option, the type specified with the LINE= option, and the thickness specified with the WIDTH= option in the ith generated SYMBOL definition to draw all links in the decision tree diagram, except those that indicate optimal decisions and those that are continued on subsequent pages.\",\"help\":\"LINKA=*i*\",\"type\":\"value\"},{\"name\":\"LINKB=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"If the LINKB=j option is specified, then PROC DTREE uses the color specified with the CI= option, the type specified with the LINE= option, and the thickness specified with the WIDTH= option in the j-th generated SYMBOL definition to draw all links that represent optimal decisions.\",\"help\":\"LINKB=*j*\",\"type\":\"value\"},{\"name\":\"LINKC=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"If the LINKC=k option is specified, then PROC DTREE uses the type specified with the LINE= option in the k-th generated SYMBOL definition to draw all links in the decision tree diagram that are continued on subsequent pages.\",\"help\":\"LINKC=*k*\",\"type\":\"value\"},{\"name\":\"LSTYLE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"L=\"],\"description\":\"Specifies the line type (style) used for drawing all links in the decision tree diagram, except those that represent the optimal decisions and those that are continued on subsequent pages. Valid values for l are 1 though 46.\",\"help\":\"LSTYLE=*l*\",\"type\":\"value\"},{\"name\":\"LSTYLEB=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"LB=\"],\"description\":\"Specifies the line type (style) used for drawing the links in the decision tree diagram that represent optimal decisions. Valid values for l2 are 1 though 46.\",\"help\":\"LSTYLEB=*l2*\",\"type\":\"value\"},{\"name\":\"LSTYLEC=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"LC=\"],\"description\":\"Specifies the line type (style) used for drawing the links in the decision tree diagram that are continued on the next subsequent pages. Valid values for l3 are 1 though 46.\",\"help\":\"LSTYLEC=*l3*\",\"type\":\"value\"},{\"name\":\"LWIDTH=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"LTHICK=\"],\"description\":\"Specifies the line thickness (width) used to draw all links in the decision tree diagram except those that represent the optimal decisions.\",\"help\":\"LWIDTH=*w*\",\"type\":\"value\"},{\"name\":\"LWIDTHB=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"LTHICKB=\"],\"description\":\"Specifies the line thickness (width) used to draw the links in the decision tree diagram that represent optimal decisions.\",\"help\":\"LWIDTHB=*w2*\",\"type\":\"value\"},{\"name\":\"MAXPREC=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the maximum decimal width (the precision) in which to format numerical values using w.d format.\",\"help\":\"MAXPREC=*d*\",\"type\":\"value\"},{\"name\":\"MAXWIDTH=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the maximum field width in which to format numerical values (probabilities, rewards, cumulative rewards and evaluating values) using w.d format.\",\"help\":\"MAXWIDTH=*mw*\",\"type\":\"value\"},{\"name\":\"NAME=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies a descriptive string, up to 8 characters long, that appears in the name field of the master menu of PROC GREPLAY. The default is 'DTREE '.\",\"help\":\"NAME='*string*'\",\"type\":\"value\"},{\"name\":\"NOANNOTATE\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"NOANNO\"],\"description\":\"Specifies that the Annotate data set should not be processed.\",\"type\":\"standalone\"},{\"name\":\"NOCOMPRESS\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"NOCP\"],\"description\":\"Specifies that the decision tree diagram should not be drawn on one physical page.\",\"type\":\"standalone\"},{\"name\":\"NOLABEL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies that the labels for information displayed on the decision tree diagram should not be displayed.\",\"type\":\"standalone\"},{\"name\":\"NOLEGEND\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies that the default legend should not be displayed.\",\"type\":\"standalone\"},{\"name\":\"NOPAGENUM\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"NOPAGENUMBER\"],\"description\":\"Specifies that the page numbers should not be displayed in the top right corner of each page of a multipage decision tree diagram.\",\"type\":\"standalone\"},{\"name\":\"NORC\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies that the links in the decision tree diagram should not be drawn with rounded corners or with rectangular corners.\",\"type\":\"standalone\"},{\"name\":\"NWIDTH=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the maximum field width in which to format outcome names when displaying the decision tree diagrams. The value for this option must be no greater than 40; the default value is 32.\",\"help\":\"NWIDTH=*nw*\",\"type\":\"value\"},{\"name\":\"PAGENUM\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"PAGENUMBER\"],\"description\":\"Specifies that the page numbers should be displayed in the top right corner of each page of a multipage decision tree diagram.\",\"type\":\"standalone\"},{\"name\":\"RC\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies that the links in the decision tree diagram should be drawn with rounded corners or with rectangular corners.\",\"type\":\"standalone\"},{\"name\":\"SYMBOLC=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"SYMBC=\"],\"description\":\"If the SYMBOLC= option is specified, then PROC DTREE uses the color specified with the CV= option, the character specified with the VALUE= option, the font specified with the FONT= option, and the height specified with the HEIGHT= option in the m-th generated SYMBOL definition to draw all chance nodes in the decision tree diagram.\",\"help\":\"SYMBOLC=*m*\",\"type\":\"value\"},{\"name\":\"SYMBOLD=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"SYMBD=\"],\"description\":\"If the SYMBOLD= option is specified, then PROC DTREE uses the color specified with the CV= option, the character specified with the VALUE= option, the font specified with the FONT= option, and the height specified with the HEIGHT= option in the d-th generated SYMBOL definition to draw all decision nodes in the decision tree diagram.\",\"help\":\"SYMBOLD=*d*\",\"type\":\"value\"},{\"name\":\"SYMBOLE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"SYMBE=\"],\"description\":\"If the SYMBOLE= option is specified, then PROC DTREE uses the color specified with the CV= option, the character specified with the VALUE= option, the font specified with the FONT= option, and the height specified with the HEIGHT= option in the n-th generated SYMBOL definition to draw all end nodes in the decision tree diagram.\",\"help\":\"SYMBOLE=*n*\",\"type\":\"value\"},{\"name\":\"VSYMBOLC=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"VC=\"],\"description\":\"Specifies that the symbol symbolc-name from the special symbol table be used to draw all chance nodes in the decision tree diagram.\",\"help\":\"VSYMBOLC=PLUS | STAR | SQUARE | DIAMOND | HASH | PAW | POINT | DOT | CIRCLE | X | Y | Z\",\"type\":\"choice\",\"arguments\":[{\"name\":\"PLUS\",\"followsDelimiter\":\"/\",\"description\":\"+ symbol\",\"type\":\"standalone\"},{\"name\":\"STAR\",\"followsDelimiter\":\"/\",\"description\":\"* symbol\",\"type\":\"standalone\"},{\"name\":\"SQUARE\",\"followsDelimiter\":\"/\",\"description\":\"Square symbol\",\"type\":\"standalone\"},{\"name\":\"DIAMOND\",\"followsDelimiter\":\"/\",\"description\":\"Diamond\",\"type\":\"standalone\"},{\"name\":\"HASH\",\"followsDelimiter\":\"/\",\"description\":\"# symbol\",\"type\":\"standalone\"},{\"name\":\"PAW\",\"followsDelimiter\":\"/\",\"description\":\". . symbol\",\"type\":\"standalone\"},{\"name\":\"POINT\",\"followsDelimiter\":\"/\",\"description\":\". symbol\",\"type\":\"standalone\"},{\"name\":\"DOT\",\"followsDelimiter\":\"/\",\"description\":\"Dot symbol\",\"type\":\"standalone\"},{\"name\":\"CIRCLE\",\"followsDelimiter\":\"/\",\"description\":\"Circle symbol\",\"type\":\"standalone\"},{\"name\":\"X\",\"followsDelimiter\":\"/\",\"description\":\"X symbol\",\"type\":\"standalone\"},{\"name\":\"Y\",\"followsDelimiter\":\"/\",\"description\":\"Y symbol\",\"type\":\"standalone\"},{\"name\":\"Z\",\"followsDelimiter\":\"/\",\"description\":\"Z symbol\",\"type\":\"standalone\"}]},{\"name\":\"VSYMBOLD=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"VD=\"],\"description\":\"Specifies that the symbol symbold-name from the special symbol table be used to draw all decision nodes in the decision tree diagram.\",\"help\":\"VSYMBOLD=PLUS | STAR | SQUARE | DIAMOND | HASH | PAW | POINT | DOT | CIRCLE | X | Y | Z\",\"type\":\"choice\",\"arguments\":[{\"name\":\"PLUS\",\"followsDelimiter\":\"/\",\"description\":\"+ symbol\",\"type\":\"standalone\"},{\"name\":\"STAR\",\"followsDelimiter\":\"/\",\"description\":\"* symbol\",\"type\":\"standalone\"},{\"name\":\"SQUARE\",\"followsDelimiter\":\"/\",\"description\":\"Square symbol\",\"type\":\"standalone\"},{\"name\":\"DIAMOND\",\"followsDelimiter\":\"/\",\"description\":\"Diamond\",\"type\":\"standalone\"},{\"name\":\"HASH\",\"followsDelimiter\":\"/\",\"description\":\"# symbol\",\"type\":\"standalone\"},{\"name\":\"PAW\",\"followsDelimiter\":\"/\",\"description\":\". . symbol\",\"type\":\"standalone\"},{\"name\":\"POINT\",\"followsDelimiter\":\"/\",\"description\":\". symbol\",\"type\":\"standalone\"},{\"name\":\"DOT\",\"followsDelimiter\":\"/\",\"description\":\"Dot symbol\",\"type\":\"standalone\"},{\"name\":\"CIRCLE\",\"followsDelimiter\":\"/\",\"description\":\"Circle symbol\",\"type\":\"standalone\"},{\"name\":\"X\",\"followsDelimiter\":\"/\",\"description\":\"X symbol\",\"type\":\"standalone\"},{\"name\":\"Y\",\"followsDelimiter\":\"/\",\"description\":\"Y symbol\",\"type\":\"standalone\"},{\"name\":\"Z\",\"followsDelimiter\":\"/\",\"description\":\"Z symbol\",\"type\":\"standalone\"}]},{\"name\":\"VSYMBOLE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"VE=\"],\"description\":\"Specifies that the symbol symbole-name from the special symbol table be used to draw all end nodes in the decision tree diagram.\",\"help\":\"VSYMBOLE=PLUS | STAR | SQUARE | DIAMOND | HASH | PAW | POINT | DOT | CIRCLE | X | Y | Z\",\"type\":\"choice\",\"arguments\":[{\"name\":\"PLUS\",\"followsDelimiter\":\"/\",\"description\":\"+ symbol\",\"type\":\"standalone\"},{\"name\":\"STAR\",\"followsDelimiter\":\"/\",\"description\":\"* symbol\",\"type\":\"standalone\"},{\"name\":\"SQUARE\",\"followsDelimiter\":\"/\",\"description\":\"Square symbol\",\"type\":\"standalone\"},{\"name\":\"DIAMOND\",\"followsDelimiter\":\"/\",\"description\":\"Diamond\",\"type\":\"standalone\"},{\"name\":\"HASH\",\"followsDelimiter\":\"/\",\"description\":\"# symbol\",\"type\":\"standalone\"},{\"name\":\"PAW\",\"followsDelimiter\":\"/\",\"description\":\". . symbol\",\"type\":\"standalone\"},{\"name\":\"POINT\",\"followsDelimiter\":\"/\",\"description\":\". symbol\",\"type\":\"standalone\"},{\"name\":\"DOT\",\"followsDelimiter\":\"/\",\"description\":\"Dot symbol\",\"type\":\"standalone\"},{\"name\":\"CIRCLE\",\"followsDelimiter\":\"/\",\"description\":\"Circle symbol\",\"type\":\"standalone\"},{\"name\":\"X\",\"followsDelimiter\":\"/\",\"description\":\"X symbol\",\"type\":\"standalone\"},{\"name\":\"Y\",\"followsDelimiter\":\"/\",\"description\":\"Y symbol\",\"type\":\"standalone\"},{\"name\":\"Z\",\"followsDelimiter\":\"/\",\"description\":\"Z symbol\",\"type\":\"standalone\"}]},{\"name\":\"YBETWEEN=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the vertical distance between two successive end nodes.\",\"type\":\"value\"}]},{\"name\":\"VARIABLES\",\"description\":\"The VARIABLES statement specifies the variable lists in the input data sets. This statement is optional but if it is used, it must appear immediately after the PROC DTREE statement.\",\"help\":\"VARIABLES &lt;COST=(variables)&gt;&lt;OUTCOME=(variables)&gt;&lt;REWARD=(variables)&gt; ...\",\"arguments\":[{\"name\":\"ACTION=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Identifies all variables in the PAYOFFS= data set that contain the name of the final outcome for each possible scenario.\",\"type\":\"value\"},{\"name\":\"COST=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Identifies all variables in the STAGEIN= data set that contain the reward for each outcome specified by the OUTCOME= variables.\",\"type\":\"value\"},{\"name\":\"EVENT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Identifies all variables in the PROBIN= data set that contain the names of events (outcomes) that probabilities depend on the outcomes specified by the GIVEN= variables.\",\"type\":\"value\"},{\"name\":\"GIVEN=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Identifies all variables in the PROBIN= data set that contain the given condition (a list of outcome names)of a chance stage on which the probabilities of the outcome depend.\",\"type\":\"value\"},{\"name\":\"OUTCOME=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Identifies all variables in the STAGEIN= data set that contain the outcome names of the stage specified by the STAGE= variable.\",\"type\":\"value\"},{\"name\":\"PROB=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Identifies all variables in the PROBIN= data set that contain the values of the conditional probability of each event specified by the EVENT= variables, given that the outcomes specified by the GIVEN= variables have occurred.\",\"type\":\"value\"},{\"name\":\"REWARD=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"COST=\"],\"description\":\"Identifies all variables in the STAGEIN= data set that contain the reward for each outcome specified by the OUTCOME= variables.\",\"type\":\"value\"},{\"name\":\"STAGE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the variable in the STAGEIN= data set that names the stages in the decision model.\",\"help\":\"STAGE=*variable*\",\"type\":\"value\"},{\"name\":\"STATE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Identifies all variables in the PAYOFFS= data set that contain the names of outcomes that identify a possible scenario (a sequence of outcomes or a path in the decision tree), or the names of outcomes which combine with every outcome specified by the ACTION= variables to identify a possible scenario.\",\"type\":\"value\"},{\"name\":\"SUCCESSOR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"SUCC=\"],\"description\":\"Identifies all variables in the STAGEIN= data set that contain the names of immediate successors (another stage) of each outcome specified by the OUTCOME= variables. These variables must be of the same type and length as those defined in the STAGE= option.\",\"type\":\"value\"},{\"name\":\"TYPE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Identifies the variable in the STAGEIN= data set that contains the type identifier of the stage specified by the STAGE= variable.\",\"help\":\"TYPE=*variable*\",\"type\":\"value\"},{\"name\":\"VALUE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"PAYOFFS=\",\"UTILITY=\",\"LOSS=\"],\"description\":\"Identifies all variables in the PAYOFFS= data set that contain the evaluating values or payoffs for all possible scenarios identified by the outcomes specified by the STATE= variables and the outcomes specified by the associated ACTION= variables.\",\"type\":\"value\"},{\"name\":\"WEB=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"HTML=\"],\"description\":\"Specifies the character variable in the STAGEIN= data set that identifies an HTML page for each stage.\",\"help\":\"WEB=*variable*\",\"type\":\"value\"}]},{\"name\":\"VPC\",\"description\":\"The VPC statement causes PROC TREE to compute the value of perfect control (the value of controlling an uncertainty). The effect of perfect control is that you can pick the outcome of an uncertain stage. This value gives an upper limit on the amount you should be willing to spend on any control procedure.\",\"help\":\"VPC chance-stage-name \"},{\"name\":\"VPI\",\"description\":\"The VPI statement causes PROC DTREE to compute the value of perfect information. The value of perfect information is the benefit of resolving an uncertain stage before making a decision. This value is the upper limit on the improvement that can be expected for any information gathering effort.\",\"help\":\"VPI chance-stage-name \"}],\"interactive\":true,\"supportSiteInformation\":{\"docsetId\":\"orpmug\",\"docsetVersion\":\"latest\",\"docsetTargetFile\":\"orpmug_dtree_toc.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/DYNAMICLINEAR.json",
    "content": "{\"name\":\"DYNAMICLINEAR\",\"statements\":[{\"name\":\"PROC DYNAMICLINEAR\",\"description\":\"Dynamic linear models (DLMs) are a cornerstone in the analysis of time series data. Their versatility has led to their widespread application in diverse fields such as economics, finance, science, and engineering. One of the primary SAS tools for working with DLMs is the DYNAMICLINEAR procedure, which focuses on simultaneous graphical dynamic linear models (SGDLMs) in particular.\",\"help\":\"PROC DYNAMICLINEAR *DATA=libref.data-table**options*;                     DISCOUNTFACTOR *options*;                     FILTER *options*;                     FORECAST *options*;                     ID *variable*;                     INITIALDISTRIBUTION *options*;                     MODEL *variable-list*;                     PARENTALSET *options*;                     \",\"arguments\":[{\"name\":\"DATA=\",\"description\":\"Names the input data table for PROC DYNAMICLINEAR to use. libref.data-table is a two-level name, where libref refers to a collection of information that is defined in the LIBNAME statement and includes the library, which includes a path to the data, and a session identifier, which defaults to the active session but which can be explicitly defined in the LIBNAME statement. data-table specifies the name of the input data table.\",\"help\":\"DATA=*libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"TABLE=\",\"description\":\"Alternative form of the DATA= option. Names the input data table for PROC DYNAMICLINEAR to use. See the DATA= option for details.\",\"help\":\"TABLE=*libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"NSIMULATIONS=\",\"optional\":true,\"description\":\"Specifies the number of simulations during both forecasting and the subsequent posterior update phase. The number must be a positive integer. By default, NSIMULATIONS=10000.\",\"help\":\"NSIMULATIONS=*number*\",\"type\":\"value\"},{\"name\":\"NSIM=\",\"optional\":true,\"description\":\"Alternative form of the NSIMULATIONS= option. Specifies the number of simulations during both forecasting and the subsequent posterior update phase. The number must be a positive integer. By default, NSIM=10000.\",\"help\":\"NSIM=*number*\",\"type\":\"value\"},{\"name\":\"SEED=\",\"optional\":true,\"description\":\"Specifies a nonnegative integer as the seed for generating random number sequences. When the seed value is set to 0, random number streams are generated by using the time of day from the computer’s clock. A seed value greater than 0 ensures a consistent and reproducible random number sequence. By default, SEED=0.\",\"help\":\"SEED=*number*\",\"type\":\"value\"}]},{\"name\":\"DISCOUNTFACTOR\",\"description\":\"The DISCOUNTFACTOR statement specifies parameters of discount factors. You can use a default value, position-value pairs, or an input data table to specify discount factors. When multiple methods are used, they are applied in the following sequence: default, position-value pairs, then input table.\",\"help\":\"DISCOUNTFACTOR *BETA=(suboptions)**DELTAGAMMA=(suboptions)**DELTAPHI=(suboptions)**INDISCOUNTFACTOR=libref.data-table**OUTVERIFICATION=libref.data-table*;             \",\"arguments\":[{\"name\":\"BETA=\",\"optional\":true,\"description\":\"Specifies the volatility discount factor, which is applicable to all variables (series) that you specify in the MODEL statement. The values of discount factors must be between 0 and 1, exclusive.\",\"help\":\"BETA=(suboptions)\",\"type\":\"value\",\"arguments\":[{\"name\":\"DEFAULT=\",\"description\":\"Specifies the default BETA= option value for all variables in the MODEL statement. By default, DEFAULT=0.95.\",\"help\":\"DEFAULT=*number*\",\"type\":\"value\"},{\"name\":\"DEF=\",\"description\":\"Synonym for DEFAULT=.\",\"help\":\"DEF=*number*\",\"type\":\"value\"},{\"name\":\"POSITIONS=\",\"description\":\"Designates the positions of the variables for which values differ from the default. Every number in the number-list must be a positive integer.\",\"help\":\"POSITIONS=(*number-list*)\",\"type\":\"value\"},{\"name\":\"POS=\",\"description\":\"Synonym for POSITIONS=.\",\"help\":\"POS=(*number-list*)\",\"type\":\"value\"},{\"name\":\"VALUES=\",\"description\":\"Specifies values that correspond to the POSITIONS= option list values. Every number in the number-list must be between 0 and 1, exclusive.\",\"help\":\"VALUES=(*number-list*)\",\"type\":\"value\"},{\"name\":\"VAL=\",\"description\":\"Synonym for VALUES=.\",\"help\":\"VAL=(*number-list*)\",\"type\":\"value\"}]},{\"name\":\"DELTAGAMMA=\",\"optional\":true,\"description\":\"Specifies the discount factor for regressors (the independent or exogenous variables) that are in the parental sets.\",\"help\":\"DELTAGAMMA=(suboptions)\",\"type\":\"value\",\"arguments\":[{\"name\":\"DEFAULT=\",\"description\":\"Specifies the default DELTAGAMMA= option value for all variables in the MODEL statement. By default, DEFAULT=0.995.\",\"help\":\"DEFAULT=*number*\",\"type\":\"value\"},{\"name\":\"DEF=\",\"description\":\"Synonym for DEFAULT=.\",\"help\":\"DEF=*number*\",\"type\":\"value\"},{\"name\":\"POSITIONS=\",\"description\":\"Designates the positions of the variables for which values differ from the default. Every number in the number-list must be a positive integer.\",\"help\":\"POSITIONS=(*number-list*)\",\"type\":\"value\"},{\"name\":\"POS=\",\"description\":\"Synonym for POSITIONS=.\",\"help\":\"POS=(*number-list*)\",\"type\":\"value\"},{\"name\":\"VALUES=\",\"description\":\"Specifies values that correspond to the POSITIONS= option list values. Every number in the number-list must be between 0 and 1, exclusive.\",\"help\":\"VALUES=(*number-list*)\",\"type\":\"value\"},{\"name\":\"VAL=\",\"description\":\"Synonym for VALUES=.\",\"help\":\"VAL=(*number-list*)\",\"type\":\"value\"}]},{\"name\":\"DELTAPHI=\",\"optional\":true,\"description\":\"Specifies the model’s discount factors for regressors (the independent or exogenous variables) that are not in the parental sets.\",\"help\":\"DELTAPHI=(suboptions)\",\"type\":\"value\",\"arguments\":[{\"name\":\"DEFAULT=\",\"description\":\"Specifies the default DELTAPHI= option value for all variables in the MODEL statement. By default, DEFAULT=0.995.\",\"help\":\"DEFAULT=*number*\",\"type\":\"value\"},{\"name\":\"DEF=\",\"description\":\"Synonym for DEFAULT=.\",\"help\":\"DEF=*number*\",\"type\":\"value\"},{\"name\":\"POSITIONS=\",\"description\":\"Designates the positions of the variables for which values differ from the default. Every number in the number-list must be a positive integer.\",\"help\":\"POSITIONS=(*number-list*)\",\"type\":\"value\"},{\"name\":\"POS=\",\"description\":\"Synonym for POSITIONS=.\",\"help\":\"POS=(*number-list*)\",\"type\":\"value\"},{\"name\":\"VALUES=\",\"description\":\"Specifies values that correspond to the POSITIONS= option list values. Every number in the number-list must be between 0 and 1, exclusive.\",\"help\":\"VALUES=(*number-list*)\",\"type\":\"value\"},{\"name\":\"VAL=\",\"description\":\"Synonym for VALUES=.\",\"help\":\"VAL=(*number-list*)\",\"type\":\"value\"}]},{\"name\":\"INDISCOUNTFACTOR=\",\"optional\":true,\"description\":\"Specifies the input data table for discount factors. libref.data-table is a two-level name, where libref refers to the library, and data-table specifies the name of the input data table. When you use this option to specify discount factors, the input data table must adhere to specific format requirements.\",\"help\":\"INDISCOUNTFACTOR=*libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"INDF=\",\"optional\":true,\"description\":\"Synonym for INDISCOUNTFACTOR=. Specifies the input data table for discount factors.\",\"help\":\"INDF=*libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"OUTVERIFICATION=\",\"optional\":true,\"description\":\"Specifies the table to use for validating input discount factors. libref.data-table is a two-level name, where libref refers to the library, and data-table specifies the name of the output data table.\",\"help\":\"OUTVERIFICATION=*libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"OUTVERIFY=\",\"optional\":true,\"description\":\"Synonym for OUTVERIFICATION=. Specifies the table to use for validating input discount factors.\",\"help\":\"OUTVERIFY=*libref.data-table*\",\"type\":\"dataSet\"}]},{\"name\":\"FILTER\",\"description\":\"The FILTER statement specifies the outputs and parameters of filtering.\",\"help\":\"FILTER *BACK=number**LEAD=number**OUT&lt;(PERCENT=numeric-list)&gt;=libref.data-table**OUT&lt;(PCT=numeric-list)&gt;=libref.data.table**OUTCOVARIANCE=libref.data.table**OUTCOV=libref.data.table**OUTFILTERINFO=(suboptions)**OUTSIM=libref.data.table*;             \",\"arguments\":[{\"name\":\"BACK=\",\"optional\":true,\"description\":\"Specifies the number of steps from the end of the data set at which to begin generating output for the OUT=, OUTSIM=, and OUTFILTERINFO= options. The number should be less than or equal to the total number of observations minus one and must be greater than zero. When BACK=0, the output starts from the beginning of the data set. By default, BACK=1.\",\"help\":\"BACK=*number*\",\"type\":\"value\"},{\"name\":\"LEAD=\",\"optional\":true,\"description\":\"Specifies the quantity of multistep forecast values to be calculated during the filtering process. The number must be a nonnegative integer. By default, LEAD=1.\",\"help\":\"LEAD=*number*\",\"type\":\"value\"},{\"name\":\"OUT\",\"optional\":true,\"description\":\"Writes the sample means of predictions, the sample variances, and the associated percentiles during the filtering process to a designated output data table. PERCENT=numeric-list is an optional component that denotes the desired percentile points. Every value in the numeric-list should be between 0 and 100, inclusive. By default, PERCENT=2.5 and 97.5. libref.data-table is a two-level name, where libref refers to the library, and data-table specifies the name of the output data table.\",\"help\":\"OUT&lt;(PERCENT=numeric-list)&gt;=*libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"OUT\",\"optional\":true,\"description\":\"Synonym for OUT<(PERCENT=numeric-list)>=. PCT=numeric-list denotes the desired percentile points.\",\"help\":\"OUT&lt;(PCT=numeric-list)&gt;=*libref.data.table*\",\"type\":\"dataSet\"},{\"name\":\"OUTCOVARIANCE=\",\"optional\":true,\"description\":\"Writes the covariances of samples of in-sample forecasting observations to an output table. libref.data.table is a two-level name, where libref refers to the library, and data-table specifies the name of the output data table.\",\"help\":\"OUTCOVARIANCE=*libref.data.table*\",\"type\":\"dataSet\"},{\"name\":\"OUTCOV=\",\"optional\":true,\"description\":\"Synonym for OUTCOVARIANCE=.\",\"help\":\"OUTCOV=*libref.data.table*\",\"type\":\"dataSet\"},{\"name\":\"OUTFILTERINFO=\",\"optional\":true,\"description\":\"Specifies the scope of filtering information to be exported to output tables. Includes the distribution parameters such as the prior, the naive posterior, and the posterior, as well as the Kullback-Leibler divergence, raw samples, and recoupling of importance sampling.\",\"help\":\"OUTFILTERINFO=(suboptions)\",\"type\":\"value\",\"arguments\":[{\"name\":\"KLDIVERGENCE=\",\"description\":\"Specifies the output table for Kullback-Leibler (KL) divergence information in the decoupling step of updating the distribution from naive posterior to posterior. libref.data.table is a two-level name, where libref refers to the library, and data-table specifies the name of the output data table.\",\"help\":\"KLDIVERGENCE=*libref.data.table*\",\"type\":\"dataSet\"},{\"name\":\"KLDIV=\",\"description\":\"Synonym for KLDIVERGENCE=.\",\"help\":\"KLDIV=*libref.data.table*\",\"type\":\"dataSet\"},{\"name\":\"NAIVEPOSTERIOR=\",\"description\":\"\",\"help\":\"NAIVEPOSTERIOR=(naiveposterior-options)\",\"type\":\"value\",\"arguments\":[{\"name\":\"COVARIANCE=\",\"description\":\"Specifies the output table for the covariances of naive posterior normal-gamma distributions.\",\"help\":\"COVARIANCE=*libref.data.table*\",\"type\":\"dataSet\"},{\"name\":\"COV=\",\"description\":\"Synonym for COVARIANCE=.\",\"help\":\"COV=*libref.data.table*\",\"type\":\"dataSet\"},{\"name\":\"GAMMA=\",\"description\":\"Specifies the output table for the shape and rate parameters of naive posterior normal-gamma distributions.\",\"help\":\"GAMMA=*libref.data.table*\",\"type\":\"dataSet\"},{\"name\":\"MEAN=\",\"description\":\"Specifies the output table for the means of naive posterior normal-gamma distributions.\",\"help\":\"MEAN=*libref.data.table*\",\"type\":\"dataSet\"}]},{\"name\":\"NAIVEPOST=\",\"description\":\"Synonym for NAIVEPOSTERIOR=.\",\"help\":\"NAIVEPOST=(naiveposterior-options)\",\"type\":\"value\"},{\"name\":\"POSTERIOR=\",\"description\":\"Specifies which parameters of the posterior distribution to output.\",\"help\":\"POSTERIOR=(posterior-options)\",\"type\":\"value\",\"arguments\":[{\"name\":\"COVARIANCE=\",\"description\":\"Specifies the output table for the covariances of posterior normal-gamma distributions.\",\"help\":\"COVARIANCE=*libref.data.table*\",\"type\":\"dataSet\"},{\"name\":\"COV=\",\"description\":\"Synonym for COVARIANCE=.\",\"help\":\"COV=*libref.data.table*\",\"type\":\"dataSet\"},{\"name\":\"GAMMA=\",\"description\":\"Specifies the output table for the shape and rate parameters of posterior normal-gamma distributions.\",\"help\":\"GAMMA=*libref.data.table*\",\"type\":\"dataSet\"},{\"name\":\"MEAN=\",\"description\":\"Specifies the output table for the means of posterior normal-gamma distributions.\",\"help\":\"MEAN=*libref.data.table*\",\"type\":\"dataSet\"}]},{\"name\":\"POST=\",\"description\":\"Synonym for POSTERIOR=.\",\"help\":\"POST=(posterior-options)\",\"type\":\"value\"},{\"name\":\"PREDICTIONSAMPLE=\",\"description\":\"Specifies which raw random samples to output during forecasting.\",\"help\":\"PREDICTIONSAMPLE=(predictionsample-options)\",\"type\":\"value\",\"arguments\":[{\"name\":\"LAMBDA=\",\"description\":\"Specifies the output table for raw random samples of precisions during forecasting.\",\"help\":\"LAMBDA=*libref.data.table*\",\"type\":\"dataSet\"},{\"name\":\"NU=\",\"description\":\"Specifies the output table for raw random samples of observation errors during forecasting.\",\"help\":\"NU=*libref.data.table*\",\"type\":\"dataSet\"},{\"name\":\"THETA=\",\"description\":\"Specifies the output table for raw random samples of state vectors during forecasting.\",\"help\":\"THETA=*libref.data.table*\",\"type\":\"dataSet\"}]},{\"name\":\"PREDSMPL=\",\"description\":\"Synonym for PREDICTIONSAMPLE=.\",\"help\":\"PREDSMPL=(predictionsample-options)\",\"type\":\"value\"},{\"name\":\"PRIOR=\",\"description\":\"Specifies which parameters of the prior distribution to output.\",\"help\":\"PRIOR=(prior-options)\",\"type\":\"value\",\"arguments\":[{\"name\":\"COVARIANCE=\",\"description\":\"Specifies the output table for the covariances of prior normal-gamma distributions.\",\"help\":\"COVARIANCE=*libref.data.table*\",\"type\":\"dataSet\"},{\"name\":\"COV=\",\"description\":\"Synonym for COVARIANCE=.\",\"help\":\"COV=*libref.data.table*\",\"type\":\"dataSet\"},{\"name\":\"GAMMA=\",\"description\":\"Specifies the output table for the shape and rate parameters of prior normal-gamma distributions.\",\"help\":\"GAMMA=*libref.data.table*\",\"type\":\"dataSet\"},{\"name\":\"MEAN=\",\"description\":\"Specifies the output table for the means of prior normal-gamma distributions.\",\"help\":\"MEAN=*libref.data.table*\",\"type\":\"dataSet\"}]},{\"name\":\"RECOUPLINGSAMPLE=\",\"description\":\"Specifies which raw random samples to output during the recoupling of importance sampling.\",\"help\":\"RECOUPLINGSAMPLE=(recouplingsample-options)\",\"type\":\"value\",\"arguments\":[{\"name\":\"LAMBDA=\",\"description\":\"Specifies the output table for raw random samples of precisions during the recoupling of importance sampling.\",\"help\":\"LAMBDA=*libref.data.table*\",\"type\":\"dataSet\"},{\"name\":\"THETA=\",\"description\":\"Specifies the output table for raw random samples of state vectors during the recoupling of importance sampling.\",\"help\":\"THETA=*libref.data.table*\",\"type\":\"dataSet\"}]},{\"name\":\"RECSMPL=\",\"description\":\"Synonym for RECOUPLINGSAMPLE=.\",\"help\":\"RECSMPL=(recouplingsample-options)\",\"type\":\"value\"}]},{\"name\":\"OUTSIM=\",\"optional\":true,\"description\":\"Writes samples of in-sample forecasting observations to an output table. These samples are generated according to the prior distribution and are used to compute the statistics in the OUT= output data table. libref.data.table is a two-level name, where libref refers to the library, and data-table specifies the name of the output data table.\",\"help\":\"OUTSIM=*libref.data.table*\",\"type\":\"dataSet\"}]},{\"name\":\"FORECAST\",\"description\":\"The FORECAST statement specifies the outputs and parameters of forecasting.\",\"help\":\"FORECAST *LEAD=number**OUT&lt;(PERCENT=numeric-list)&gt;=libref.data-table**OUT&lt;(PCT=numeric-list)&gt;=libref.data-table**OUTCOVARIANCE=libref.data.table**OUTCOV=libref.data.table**OUTSIM=libref.data.table*;             \",\"arguments\":[{\"name\":\"LEAD=\",\"optional\":true,\"description\":\"Specifies the number of the multistep forecast values to compute, where number is a nonnegative integer. By default, LEAD=1, which means that a one-step-ahead forecast is performed at the end of the available data.\",\"help\":\"LEAD=*number*\",\"type\":\"value\"},{\"name\":\"OUT\",\"optional\":true,\"description\":\"Writes the sample means of predictions, the sample variances, and the associated percentiles during the forecasting process to a designated output data table. PERCENT=numeric-list is an optional component that denotes the desired percentile points. Every value in the numeric-list should be between 0 and 100, inclusive. By default, PERCENT=2.5 and 97.5. libref.data-table is a two-level name, where libref refers to the library, and data-table specifies the name of the output data table.\",\"help\":\"OUT&lt;(PERCENT=numeric-list)&gt;=*libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"OUT\",\"optional\":true,\"description\":\"Synonym for OUT<(PERCENT=numeric-list)>=. PCT=numeric-list denotes the desired percentile points.\",\"help\":\"OUT&lt;(PCT=numeric-list)&gt;=*libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"OUTCOVARIANCE=\",\"optional\":true,\"description\":\"Writes the covariances of samples of out-of-sample forecasting observations to an output table. libref.data.table is a two-level name, where libref refers to the library, and data-table specifies the name of the output data table.\",\"help\":\"OUTCOVARIANCE=*libref.data.table*\",\"type\":\"dataSet\"},{\"name\":\"OUTCOV=\",\"optional\":true,\"description\":\"Synonym for OUTCOVARIANCE=.\",\"help\":\"OUTCOV=*libref.data.table*\",\"type\":\"dataSet\"},{\"name\":\"OUTSIM=\",\"optional\":true,\"description\":\"Writes samples of out-of-sample forecasting observations to an output table. These samples are generated according to the prior distribution and are used to compute the statistics in the OUT= output data table. libref.data.table is a two-level name, where libref refers to the library, and data-table specifies the name of the output data table.\",\"help\":\"OUTSIM=*libref.data.table*\",\"type\":\"dataSet\"}]},{\"name\":\"ID\",\"description\":\"The ID statement identifies observations in the input data table by specifying a variable for the time series data. The variable cannot have missing or duplicated values.\",\"help\":\"ID *variable*;             \",\"arguments\":[{\"name\":\"variable\",\"placeholder\":true,\"description\":\"Specifies the variable that identifies observations in the input data table for the time series. The variable cannot have missing or duplicated values.\",\"type\":\"value\"}]},{\"name\":\"INITIALDISTRIBUTION\",\"description\":\"The INITIALDISTRIBUTION statement defines the initial parameters of the posterior normal-gamma distribution, which sets the starting point for the filtering process in the model. This involves specifying the mean vector, variance-covariance matrix, and other hyperparameters that are associated with the normal-gamma distribution to establish the prior beliefs about the state vector before any data are processed.\",\"help\":\"INITIALDISTRIBUTION *INCOVARIANCE=libref.data-table**INCOV=libref.data-table**INCOVARIANCE(DIAGONAL)=libref.data-table**INCOVARIANCE(DIAG)=libref.data-table**INGAMMA=libref.data-table**INMEAN=libref.data-table**MEAN=number**OUTVERIFICATION=(suboptions)**OUTVERIFY=(suboptions)**RATE=(suboptions)**SHAPE=(suboptions)*;             \",\"arguments\":[{\"name\":\"INCOVARIANCE=\",\"optional\":true,\"description\":\"Specifies the covariance matrices for the state variables by inputting full matrices. Only the lower-triangular part of each full matrix needs to be provided. libref.data-table is a two-level name, where libref refers to the library, and data-table specifies the name of the input data table.\",\"help\":\"INCOVARIANCE=*libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"INCOV=\",\"optional\":true,\"description\":\"Synonym for INCOVARIANCE=.\",\"help\":\"INCOV=*libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"INCOVARIANCE\",\"optional\":true,\"description\":\"Specifies the diagonal elements of the covariance matrices. Inputs for the diagonal elements must be nonzero values. libref.data-table is a two-level name, where libref refers to the library, and data-table specifies the name of the input data table.\",\"help\":\"INCOVARIANCE(DIAGONAL)=*libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"INCOVARIANCE\",\"optional\":true,\"description\":\"Synonym for INCOVARIANCE(DIAGONAL)=.\",\"help\":\"INCOVARIANCE(DIAG)=*libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"INGAMMA=\",\"optional\":true,\"description\":\"Specifies initial values for the shape and rate parameters of the normal-gamma distribution. The input data table must adhere to specific format requirements. libref.data-table is a two-level name, where libref refers to the library, and data-table specifies the name of the input data table.\",\"help\":\"INGAMMA=*libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"INMEAN=\",\"optional\":true,\"description\":\"Specifies initial values for means by using a column-oriented table. libref.data-table is a two-level name, where libref refers to the library, and data-table specifies the name of the input data table.\",\"help\":\"INMEAN=*libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"MEAN=\",\"optional\":true,\"description\":\"Specifies the default initial value for all means within the normal-gamma distribution framework. By default, MEAN=0.\",\"help\":\"MEAN=*number*\",\"type\":\"value\"},{\"name\":\"OUTVERIFICATION=\",\"optional\":true,\"description\":\"Outputs the initial distribution to tables for validation.\",\"help\":\"OUTVERIFICATION=(suboptions)\",\"type\":\"value\",\"arguments\":[{\"name\":\"COVARIANCE=\",\"description\":\"Specifies the output table for the covariances of the initial distribution. libref.data-table is a two-level name, where libref refers to the library, and data-table specifies the name of the output data table.\",\"help\":\"COVARIANCE=*libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"COV=\",\"description\":\"Synonym for COVARIANCE=.\",\"help\":\"COV=*libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"GAMMA=\",\"description\":\"Specifies the output table for the shape and rate parameters of the initial distribution. libref.data-table is a two-level name, where libref refers to the library, and data-table specifies the name of the output data table.\",\"help\":\"GAMMA=*libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"MEAN=\",\"description\":\"Specifies the output table for the means of the initial distribution. libref.data-table is a two-level name, where libref refers to the library, and data-table specifies the name of the output data table.\",\"help\":\"MEAN=*libref.data-table*\",\"type\":\"dataSet\"}]},{\"name\":\"OUTVERIFY=\",\"optional\":true,\"description\":\"Synonym for OUTVERIFICATION=.\",\"help\":\"OUTVERIFY=(suboptions)\",\"type\":\"value\"},{\"name\":\"RATE=\",\"optional\":true,\"description\":\"Specifies the initial values for the rate parameters of gamma priors that are associated with all variables (series) in the MODEL statement. For the rate parameters, you must specify positive numbers greater than 0.\",\"help\":\"RATE=(suboptions)\",\"type\":\"value\",\"arguments\":[{\"name\":\"DEFAULT=\",\"description\":\"Specifies the default rate parameter for all variables. By default, DEFAULT=5.\",\"help\":\"DEFAULT=*number*\",\"type\":\"value\"},{\"name\":\"DEF=\",\"description\":\"Synonym for DEFAULT=.\",\"help\":\"DEF=*number*\",\"type\":\"value\"},{\"name\":\"POSITIONS=\",\"description\":\"Designates the positions of the variables for which values differ from the default. Every number in the number-list must be a positive integer.\",\"help\":\"POSITIONS=(*number-list*)\",\"type\":\"value\"},{\"name\":\"POS=\",\"description\":\"Synonym for POSITIONS=.\",\"help\":\"POS=(*number-list*)\",\"type\":\"value\"},{\"name\":\"VALUES=\",\"description\":\"Specifies values that correspond to the POSITIONS= option list values. Every number in the number-list must be greater than 0.\",\"help\":\"VALUES=(*number-list*)\",\"type\":\"value\"},{\"name\":\"VAL=\",\"description\":\"Synonym for VALUES=.\",\"help\":\"VAL=(*number-list*)\",\"type\":\"value\"}]},{\"name\":\"SHAPE=\",\"optional\":true,\"description\":\"Specifies the initial values for the shape parameters of gamma priors that are associated with all variables (series) in the MODEL statement. For the shape parameters, specified values must be positive numbers greater than 1.\",\"help\":\"SHAPE=(suboptions)\",\"type\":\"value\",\"arguments\":[{\"name\":\"DEFAULT=\",\"description\":\"Specifies the default shape parameter for all variables. By default, DEFAULT=10.\",\"help\":\"DEFAULT=*number*\",\"type\":\"value\"},{\"name\":\"DEF=\",\"description\":\"Synonym for DEFAULT=.\",\"help\":\"DEF=*number*\",\"type\":\"value\"},{\"name\":\"POSITIONS=\",\"description\":\"Designates the positions of the variables for which values differ from the default. Every number in the number-list must be a positive integer.\",\"help\":\"POSITIONS=(*number-list*)\",\"type\":\"value\"},{\"name\":\"POS=\",\"description\":\"Synonym for POSITIONS=.\",\"help\":\"POS=(*number-list*)\",\"type\":\"value\"},{\"name\":\"VALUES=\",\"description\":\"Specifies values that correspond to the POSITIONS= option list values. Every number in the number-list must be greater than 1.\",\"help\":\"VALUES=(*number-list*)\",\"type\":\"value\"},{\"name\":\"VAL=\",\"description\":\"Synonym for VALUES=.\",\"help\":\"VAL=(*number-list*)\",\"type\":\"value\"}]}]},{\"name\":\"MODEL\",\"description\":\"The MODEL statement specifies the variables to use in the model. You can specify variables in a space-separated variable-list, and the order does not matter. The variables must be selected from the input data table (see the DATA= option in the PROC DYNAMICLINEAR statement).\",\"help\":\"MODEL *variable-list*;             \",\"arguments\":[{\"name\":\"variable-list\",\"placeholder\":true,\"description\":\"Specifies the list of variables to use in the model. The variables must be present in the input data table. The list is space-separated, and the order does not matter.\",\"type\":\"value\"}]},{\"name\":\"PARENTALSET\",\"description\":\"The PARENTALSET statement specifies the parental set of the model.\",\"help\":\"PARENTALSET *INADJACENCY=libref.data-table**INADJ=libref.data-table**OUTVERIFICATION=libref.data.table**OUTVERIFY=libref.data.table*;             \",\"arguments\":[{\"name\":\"INADJACENCY=\",\"optional\":true,\"description\":\"Specifies the input data table for the adjacency matrix, which delineates the relationships within parental sets. This option supports multiple ways to specify the adjacency matrix. libref.data-table is a two-level name, where libref refers to the library, and data-table specifies the name of the input data table.\",\"help\":\"INADJACENCY=*libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"INADJ=\",\"optional\":true,\"description\":\"Synonym for INADJACENCY=.\",\"help\":\"INADJ=*libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"OUTVERIFICATION=\",\"optional\":true,\"description\":\"Specifies the output table to use for verifying the input adjacency matrices. libref.data-table is a two-level name, where libref refers to the library, and data-table specifies the name of the output data table.\",\"help\":\"OUTVERIFICATION=*libref.data.table*\",\"type\":\"dataSet\"},{\"name\":\"OUTVERIFY=\",\"optional\":true,\"description\":\"Synonym for OUTVERIFICATION=.\",\"help\":\"OUTVERIFY=*libref.data.table*\",\"type\":\"dataSet\"}]}],\"supportSiteInformation\":{\"docsetId\":\"casecon\",\"docsetVersion\":\"latest\",\"docsetTargetFile\":\"casecon_dynamiclinear_toc.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/EEL.json",
    "content": "{\"name\":\"EEL\",\"statements\":[{\"name\":\"PROC EEL\",\"description\":\"Execute a set of rules against a data set, execute a single expression against a data set, and analyze a set of rules to determine the set of variables that are used in the rules.\",\"help\":\"PROC EEL <DATA=input data               set><OUT=OUT=output data               set><RULES=rules data               set><UDFS=udf data               set>\\n<INPUTKEY=variable               name><PUSHSTATUS=variable               name>\\n<RETURNSTATUS=variable               name;\\n><MAPPING var_name =variable               var_name = variable ...>;\\n<STATIC var_name = \\\"value\\\"               var_name = \\\"value\\\" ...>;\\n<GROUPING variable variable ...>;\\n<SUBMIT; eel code ENDSUBMIT;>;\",\"arguments\":[{\"name\":\"DATA=\",\"optional\":true,\"description\":\"specifies the input data set. If an input data set is specified, the expression or rules are executed against each row in this data set. If not, the expression is executed once.\",\"help\":\"DATA=*input data set*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0dsgrxkobahj6n1vljrl0qwaf3n\"},{\"name\":\"OUT=\",\"optional\":true,\"description\":\"specifies the output data set where results are written.\",\"help\":\"OUT=*output data set*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1qqdzrykmqd7un1jmvr1u5xuihz\"},{\"name\":\"RULES=\",\"optional\":true,\"description\":\"specifies a data set containing rules. This data set must contain at a minimum these variables: rule_name - a unique identifier for the rule, and rule - the rule's expression.\",\"help\":\"RULES=*rules data set*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p17gcbvij73zwsn1xnkol1lq91ln\"},{\"name\":\"UDFS=\",\"optional\":true,\"description\":\"specifies a data set that contains user–defined functions. At a minimum, this argument should contain these variables: declaration - contains the name and type of the function; function - contains the expression.\",\"help\":\"UDFS=*UDF data set*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0k4aya1u85hl0n1i1oconk8avgv\"},{\"name\":\"INPUTKEY=\",\"optional\":true,\"description\":\"specifies a variable in the input data set that can act as a primary key for the input data.\",\"help\":\"INPUTKEY=*variable name*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0xm2ro7q2ae46n1j9h1349yio6g\"},{\"name\":\"PUSHSTATUS=\",\"optional\":true,\"description\":\"specifies a variable in the output data set that contains a value that indicates whether the row was created as a result of a pushrow() function call.\",\"help\":\"PUSHSTATUS=*variable name*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p08zdejxakiyvln115ujyh5l98fm\"},{\"name\":\"RETURNSTATUS=\",\"optional\":true,\"description\":\"specifies a variable in the output data set that contains a value that indicates whether the expression returned is true or false.\",\"help\":\"RETURNSTATUS=*variable name*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1nhwb4ea4mcj7n0zkjzlan930no\"},{\"name\":\"MAPPING\",\"optional\":true,\"description\":\"enables mapping variables in the input data set to expression variables.\",\"help\":\"MAPPING var_name =*variable var_name = variable                   ...*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p18sucy37uil3in1kyocpm976i2l\"},{\"name\":\"STATIC\",\"optional\":true,\"description\":\"enables specifying static values for variables in the expression.\",\"help\":\"STATIC var_name = *\\\"value\\\" var_name = \\\"value\\\"                   ...*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1pfg56iouofa1n194or727c2dht\"},{\"name\":\"GROUPING\",\"optional\":true,\"description\":\"enables grouping of the input data set so that pre-group and post-group expressions can run.\",\"help\":\"GROUPING *variable variable ...*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0brx264tf240fn189bw1d0wv50a\"},{\"name\":\"SUBMIT\",\"optional\":true,\"description\":\"enables calling a single expression.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1brlexb8yi25cn1xa5sg185dgjw\"},{\"name\":\"ENDSUBMIT\",\"optional\":true,\"description\":\"enables calling a single expression.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1brlexb8yi25cn1xa5sg185dgjw\"}],\"supportSiteTargetFile\":\"n11g1bmg2dnj7sn1lot39az3b7ou.htm\"}],\"supportSiteInformation\":{\"docsetId\":\"dqclref\",\"docsetVersion\":\"v_008\",\"docsetTargetFile\":\"p0ctappurxjsthn128bab6zwqs5q.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/EFA.json",
    "content": "{\"name\":\"EFA\",\"statements\":[{\"name\":\"PROC EFA\",\"description\":\"invokes the procedure\",\"help\":\"PROC EFA <options>;                 \\n\\tBY  variables;                 \\n\\n\\tDISPLAY <table-list></ options>;                 \\n\\n\\tDISPLAYOUT  table-spec-list </ options>;                 \\n\\n\\tFREQ  variable;                 \\n\\n\\tNFACTORS  TYPE=name<options>;                 \\n\\n\\tPRIORS  communalities;                 \\n\\n\\tVAR  variables;                 \\n\\n\\tWEIGHT  variable;                 \\n\",\"arguments\":[{\"name\":\"CONVERGE=\",\"optional\":true,\"aliases\":[\"CONV=\"],\"description\":\"specifies the convergence criterion for the METHOD=ALPHA, METHOD=ML, METHOD=PRINIT, or METHOD=ULS option\",\"help\":\"CONVERGE=*p*\",\"type\":\"value\"},{\"name\":\"DATA=\",\"optional\":true,\"description\":\"names the input data table for PROC EFA to use\",\"help\":\"DATA=*libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"FUZZ=\",\"optional\":true,\"description\":\"specifies how certain correlation and factor loading values are printed\",\"help\":\"FUZZ=*p*\",\"type\":\"value\"},{\"name\":\"GAMMA=\",\"optional\":true,\"description\":\"specifies the orthomax weight to be used together with the option ROTATE=ORTHOMAX or PREROTATE=ORTHOMAX\",\"help\":\"GAMMA=*p*\",\"type\":\"value\"},{\"name\":\"HEYWOOD\",\"optional\":true,\"aliases\":[\"HEY\"],\"description\":\"sets to 1 any communality greater than 1, allowing iterations to proceed\",\"type\":\"standalone\"},{\"name\":\"MAXITER=\",\"optional\":true,\"description\":\"specifies the maximum number of iterations for factor extraction\",\"help\":\"MAXITER=*n*\",\"type\":\"value\"},{\"name\":\"METHOD=\",\"optional\":true,\"aliases\":[\"M=\"],\"description\":\"specifies the method of extracting factors\",\"help\":\"METHOD=*name*\",\"type\":\"value\"},{\"name\":\"NFACTORS=\",\"optional\":true,\"aliases\":[\"NFACT=\",\"N=\"],\"description\":\"specifies how to determine the number of factors\",\"help\":\"NFACTORS=*n* | *method*\",\"type\":\"value\"},{\"name\":\"NOBS=\",\"optional\":true,\"description\":\"specifies the number of observations to use when computing significance tests\",\"help\":\"NOBS=*n*\",\"type\":\"value\"},{\"name\":\"NOPROMAXNORM\",\"optional\":true,\"aliases\":[\"NOPMAXNORM\"],\"description\":\"turns off the default row normalization of the prerotated factor pattern, which is used to compute the promax target matrix\",\"type\":\"standalone\"},{\"name\":\"NORM=\",\"optional\":true,\"description\":\"specifies the method of normalizing the rows of the factor pattern for rotation\",\"help\":\"NORM=*method*\",\"type\":\"value\"},{\"name\":\"NTHREADS=\",\"optional\":true,\"aliases\":[\"THREADS=\"],\"description\":\"specifies the number of threads to use in the computation, where n is an integer between 1 and 64, inclusive\",\"help\":\"NTHREADS=*n*\",\"type\":\"value\"},{\"name\":\"POWER=\",\"optional\":true,\"description\":\"specifies the power to use in computing the target pattern for the option ROTATE=PROMAX\",\"help\":\"POWER=*n*\",\"type\":\"value\"},{\"name\":\"PREROTATE=\",\"optional\":true,\"aliases\":[\"PRE=\"],\"description\":\"specifies the prerotation method for the option ROTATE=PROMAX\",\"help\":\"PREROTATE=*name*\",\"type\":\"value\"},{\"name\":\"PRIORS=\",\"optional\":true,\"description\":\"specifies a method of computing prior communality estimates\",\"help\":\"PRIORS=*name*\",\"type\":\"value\"},{\"name\":\"RCONVERGE=\",\"optional\":true,\"aliases\":[\"RCONV=\"],\"description\":\"specifies the convergence criterion value p (p > 0) for rotation cycles\",\"help\":\"RCONVERGE=*p*\",\"type\":\"value\"},{\"name\":\"REFSTRUCT\",\"optional\":true,\"aliases\":[\"RS\"],\"description\":\"prints the reference structure and reference axis correlations\",\"type\":\"standalone\"},{\"name\":\"REORDER\",\"optional\":true,\"aliases\":[\"RE\"],\"description\":\"reorders the rows (variables) of various factor matrices in the output\",\"type\":\"standalone\"},{\"name\":\"RITER=\",\"optional\":true,\"description\":\"specifies the maximum number of cycles for factor rotation\",\"help\":\"RITER=*n*\",\"type\":\"value\"},{\"name\":\"ROTATE=\",\"optional\":true,\"aliases\":[\"R=\"],\"description\":\"specifies the rotation method\",\"help\":\"ROTATE=*name*\",\"type\":\"value\"},{\"name\":\"SEED=\",\"optional\":true,\"aliases\":[\"RANDOM=\"],\"description\":\"specifies the initial seed for the pseudorandom number generator for use with the option PRIORS=RANDOM\",\"help\":\"SEED=*n*\",\"type\":\"value\"},{\"name\":\"SINGULAR=\",\"optional\":true,\"aliases\":[\"SING=\"],\"description\":\"specifies the singularity criterion, where 0<p<1\",\"help\":\"SINGULAR=*p*\",\"type\":\"value\"},{\"name\":\"TAU=\",\"optional\":true,\"description\":\"specifies the oblimin weight to use with the option ROTATE=OBLIMIN or PREROTATE=OBLIMIN\",\"help\":\"TAU=*p*\",\"type\":\"value\"},{\"name\":\"ULTRAHEYWOOD\",\"optional\":true,\"aliases\":[\"ULTRA\"],\"description\":\"allows communalities to exceed 1\",\"type\":\"standalone\"},{\"name\":\"VARDEF=\",\"optional\":true,\"description\":\"specifies the divisor to use for calculating variances and covariances\",\"help\":\"VARDEF=DF | N | WDF | WEIGHT | WGT\",\"type\":\"choice\"}]},{\"name\":\"BY\",\"description\":\"produces separate analyses of observations in groups that are defined by the BY variables\",\"help\":\"BY  variables;                                              \"},{\"name\":\"DISPLAY\",\"description\":\"enables you to specify a list of display tables to display or exclude\",\"help\":\"DISPLAY &lt;table-list&gt;&lt;/ options&gt;;                                              \",\"arguments\":[{\"name\":\"CASESENSITIVE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"performs a case-sensitive comparison of table names in the table-list to display table names when tables are subsetted for display\",\"type\":\"standalone\"},{\"name\":\"EXCLUDE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"displays all display tables except those that you specify in the table-list\",\"type\":\"standalone\"},{\"name\":\"EXCLUDEALL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses display of all tables\",\"type\":\"standalone\"},{\"name\":\"TRACE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"displays the display table names, labels, and paths\",\"type\":\"standalone\"}]},{\"name\":\"DISPLAYOUT\",\"description\":\"enables you to create output tables from your displayed output\",\"help\":\"DISPLAYOUT  table-spec-list &lt;/ options&gt;;                                              \",\"arguments\":[{\"name\":\"key=\",\"placeholder\":true,\"description\":\"specifies key as the ODS table name, path, or partial pathname, and specifies value as the output table name.\",\"help\":\"*key=value*\",\"type\":\"value\"},{\"name\":\"key\",\"placeholder\":true,\"description\":\"specifies key as the ODS table name and also as the output table name.\",\"type\":\"value\"},{\"name\":\"INCLUDEALL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"creates output tables for all display tables\",\"type\":\"standalone\"},{\"name\":\"NOREPLACE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"does not replace any existing output table of the same name\",\"type\":\"standalone\"},{\"name\":\"REPEATED\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"replicates all output tables on all nodes\",\"type\":\"standalone\"}]},{\"name\":\"FREQ\",\"description\":\"identifies a numeric variable in the input data table that contains the frequency of occurrence of each observation\",\"help\":\"FREQ  variable;                                              \"},{\"name\":\"NFACTORS\",\"description\":\"specifies a criterion to use for suggesting the number of factors to extract in an analysis\",\"help\":\"NFACTORS  TYPE=*name*&lt;options&gt;;                                              \",\"arguments\":[{\"name\":\"TYPE=\",\"optional\":true,\"description\":\"specifies the criterion to use for suggesting the number of factors to extract\",\"help\":\"TYPE=*name*\",\"type\":\"value\"},{\"name\":\"ALPHA=\",\"optional\":true,\"description\":\"specifies the one-sided alpha level for computing the critical value at the upper end of the simulated distribution of eigenvalues in a parallel analysis\",\"help\":\"ALPHA=*p*\",\"type\":\"value\"},{\"name\":\"NSIMULATIONS=\",\"optional\":true,\"aliases\":[\"NSIMS=\",\"NSIM=\"],\"description\":\"specifies the number of simulations to use in constructing an empirical distribution of eigenvalues for a parallel analysis\",\"help\":\"NSIMULATIONS=*n*\",\"type\":\"value\"},{\"name\":\"SEED=\",\"optional\":true,\"description\":\"specifies the initial seed for the pseudorandom number generator that is used to simulate correlation matrices for a parallel analysis\",\"help\":\"SEED=*n*\",\"type\":\"value\"},{\"name\":\"STATUS=\",\"optional\":true,\"description\":\"specifies the status of the criterion for determining the number of factors to extract\",\"help\":\"STATUS=ACTIVE | INACTIVE\",\"type\":\"choice\"},{\"name\":\"THRESHOLD=\",\"optional\":true,\"description\":\"specifies the threshold value for either a TYPE=EIGENVALUE or TYPE=PROPORTION criterion\",\"help\":\"THRESHOLD=*p*\",\"type\":\"value\"}]},{\"name\":\"PRIORS\",\"description\":\"specifies numeric values between 0.0 and 1.0 for the prior communality estimates for each variable\",\"help\":\"PRIORS  communalities;                                              \"},{\"name\":\"VAR\",\"description\":\"specifies the numeric variables to be analyzed\",\"help\":\"VAR  variables;                                              \"},{\"name\":\"WEIGHT\",\"description\":\"identifies a numeric variable in the input data table that contains the weight of each observation to perform a weighted analysis of the data\",\"help\":\"WEIGHT  variable;                                              \"}],\"supportSiteInformation\":{\"docsetId\":\"casstat\",\"docsetVersion\":\"latest\",\"docsetTargetFile\":\"casstat_efa_toc.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/ENTROPY.json",
    "content": "{\"name\":\"ENTROPY\",\"statements\":[{\"name\":\"PROC ENTROPY\",\"description\":\"The ENTROPY procedure implements a parametric method of linear estimation based on generalized maximum entropy. The ENTROPY procedure is suitable when there are outliers in the data and robustness is required, when the model is ill-posed or under-determined for the observed data, or for regressions that involve small data sets. † The main features of the ENTROPY procedure are as follows: † o estimation of simultaneous systems of linear regression models o estimation of Markov models o estimation of seemingly unrelated regression (SUR) models o estimation of unordered multinomial discrete Choice models o solution of pure inverse problems o allowance of bounds and restrictions on parameters o performance of tests on parameters o allowance of data and moment constrained generalized cross entropy\",\"help\":\"PROC ENTROPY <COLLIN><CONVERGE=value><COVBEST=CROSS | GME | GMENM><DATA=SAS-data-set><DUAL><GMED><GMENM><GME><ITPRINT><MARKOV><MAXITER=n><MAXSUBITER=n><METHOD=TR | NEWRAP | NRR... ><NOPRINT><OUT=SAS-data-set><OUTCOV><OUTEST=SAS-data-set><OUTL=SAS-data-set><OUTP=SAS-data-set><OUTS=SAS-data-set><OUTSUSED=SAS-data-set><PDATA=SAS-data-set><PLOTS=ALL | FITPLOT | COOKSD... ><PURE><SDATA=SAS-data-set><SUR><VARDEF=N | WGT | DF... >;     \\n\\tBOUNDS bound1 <, bound2 ...> ;\\n\\n\\tBY variables ;\\n\\n\\tID variables ;\\n\\n\\tMODEL <ESUPPORTS=( support (prior) ... )><MARGINALS = ( variable = value, ..., variable = value)><NOINT> ...;\\n\\n\\tPRIORS variable <support points < (priors) >> variable <support points < (priors) >> ... ;\\n\\n\\tRESTRICT restriction1 < , restriction2 ...> ;\\n\\n\\tTEST <LM><RAO><WALD> ...;\\n\\n\\tWEIGHT variable ;\\n\",\"arguments\":[{\"name\":\"COLLIN\",\"optional\":true,\"description\":\"Requests that the collinearity diagnostics of the X'X matrix be printed.\",\"type\":\"standalone\"},{\"name\":\"CONVERGE=\",\"optional\":true,\"aliases\":[\"GCONV=\"],\"description\":\"Specifies the convergence criteria for S-iterated methods. The convergence measure computed during model estimation must be less than value before convergence is assumed. The default value is CONVERGE=0.001.\",\"help\":\"CONVERGE=*value*\",\"type\":\"value\"},{\"name\":\"COVBEST=\",\"optional\":true,\"description\":\"Specifies the method for producing the covariance matrix of parameters for output and for standard error calculations.\",\"help\":\"COVBEST=CROSS | GME | GMENM\",\"type\":\"choice\",\"arguments\":[{\"name\":\"CROSS\",\"description\":\"Requests generalized cross entropy.\",\"type\":\"standalone\"},{\"name\":\"GME\",\"description\":\"Requests generalized maximum entropy. This is the default estimation method.\",\"type\":\"standalone\"},{\"name\":\"GMENM\",\"description\":\"Requests normed moment maximum entropy.\",\"type\":\"standalone\"}]},{\"name\":\"DATA=\",\"optional\":true,\"description\":\"Specifies the input data set. Values for the variables in the model are read from this data set.\",\"help\":\"DATA=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"DUAL\",\"optional\":true,\"aliases\":[\"PRIMAL\"],\"description\":\"Specifies whether the optimization problem is solved using the dual or primal form. The dual form is the default.\",\"type\":\"standalone\"},{\"name\":\"GMED\",\"optional\":true,\"description\":\"Requests a variant of GME suitable for multinomial discrete choice models.\",\"type\":\"standalone\"},{\"name\":\"GMENM\",\"optional\":true,\"aliases\":[\"GCENM\"],\"description\":\"Requests normed moment maximum entropy or the normed moment cross entropy.\",\"type\":\"standalone\"},{\"name\":\"GME\",\"optional\":true,\"aliases\":[\"GCE\"],\"description\":\"Requests generalized maximum entropy or generalized cross entropy. This is the default estimation method.\",\"type\":\"standalone\"},{\"name\":\"ITPRINT\",\"optional\":true,\"description\":\"Prints the parameter estimates, objective function value, and convergence criteria at each iteration.\",\"type\":\"standalone\"},{\"name\":\"MARKOV\",\"optional\":true,\"description\":\"Specifies that the model is a first-order Markov model.\",\"type\":\"standalone\"},{\"name\":\"MAXITER=\",\"optional\":true,\"description\":\"Specifies the maximum number of iterations allowed. The default is MAXITER=100.\",\"help\":\"MAXITER=*n*\",\"type\":\"value\"},{\"name\":\"MAXSUBITER=\",\"optional\":true,\"description\":\"Specifies the maximum number of subiterations allowed for an iteration. The MAXSUBITER= option limits the number of step halvings. The default is MAXSUBITER=30.\",\"help\":\"MAXSUBITER=*n*\",\"type\":\"value\"},{\"name\":\"METHOD=\",\"optional\":true,\"aliases\":[\"TECHNIQUE=\",\"TECH=\"],\"description\":\"Specifies the iterative minimization method to use.\",\"help\":\"METHOD=TR | NEWRAP | NRR | QN | CONGR | NSIMP | DBLDOG | LEVMAR\",\"type\":\"choice\",\"arguments\":[{\"name\":\"TR\",\"description\":\"Specifies the trust region method.\",\"type\":\"standalone\"},{\"name\":\"NEWRAP\",\"description\":\"Specifies the Newton-Raphson method.\",\"type\":\"standalone\"},{\"name\":\"NRR\",\"description\":\"Specifies the Newton-Raphson ridge method.\",\"type\":\"standalone\"},{\"name\":\"QN\",\"description\":\"Specifies the quasi-Newton method.\",\"type\":\"standalone\"},{\"name\":\"CONGR\",\"description\":\"Specifies the Conjugate gradient optimization method.\",\"type\":\"standalone\"},{\"name\":\"NSIMP\",\"description\":\"Specifies the Nelder-Mead simplex method.\",\"type\":\"standalone\"},{\"name\":\"DBLDOG\",\"description\":\"Specifies the double-dogleg optimization method.\",\"type\":\"standalone\"},{\"name\":\"LEVMAR\",\"description\":\"Specifies the Levenberg-Marquardt optimization method.\",\"type\":\"standalone\"}]},{\"name\":\"NOPRINT\",\"optional\":true,\"description\":\"Suppresses the normal printed output but does not suppress error listings. Using any other print option turns the NOPRINT option off.\",\"type\":\"standalone\"},{\"name\":\"OUT=\",\"optional\":true,\"description\":\"Names the SAS data set to contain the residuals from each estimation.\",\"help\":\"OUT=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"OUTCOV\",\"optional\":true,\"aliases\":[\"COVOUT\"],\"description\":\"Writes the covariance matrix of the estimates to the OUTEST= data set in addition to the parameter estimates. The OUTCOV option is applicable only if the OUTEST= option is also specified.\",\"type\":\"standalone\"},{\"name\":\"OUTEST=\",\"optional\":true,\"description\":\"Names the SAS data set to contain the parameter estimates and optionally the covariance of the estimates.\",\"help\":\"OUTEST=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"OUTL=\",\"optional\":true,\"description\":\"Names the SAS data set to contain the estimated Lagrange multipliers for the models.\",\"help\":\"OUTL=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"OUTP=\",\"optional\":true,\"description\":\"Names the SAS data set to contain the support points and estimated probabilities.\",\"help\":\"OUTP=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"OUTS=\",\"optional\":true,\"description\":\"Names the SAS data set to contain the estimated covariance matrix of the equation errors. This is the covariance of the residuals computed from the parameter estimates.\",\"help\":\"OUTS=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"OUTSUSED=\",\"optional\":true,\"description\":\"Names the SAS data set to contain the S matrix used in the objective function definition. The OUTSUSED= data set is the same as the OUTS= data set for the methods that iterate the S matrix.\",\"help\":\"OUTSUSED=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"PDATA=\",\"optional\":true,\"description\":\"Names the SAS data set that contains the data about priors and supports.\",\"help\":\"PDATA=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"PLOTS=\",\"optional\":true,\"description\":\"Requests that the ENTROPY procedure produce statistical graphics via the Output Delivery System, provided that the ODS GRAPHICS statement has been specified. The following global-plot-options apply to all relevant plots generated by the ENTROPY procedure. The global-plot-options supported by the ENTROPY procedure are as follows: ONLY suppresses the default plots. Only the plots specifically requested are produced.\",\"help\":\"PLOTS=ALL | FITPLOT | COOKSD | QQ | STUDENTRESIDUAL | RESIDUALHISTOGRAM | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ALL\",\"description\":\"Requests that all plots appropriate for the particular analysis be produced.\",\"type\":\"standalone\"},{\"name\":\"FITPLOT\",\"description\":\"Plots the predicted and actual values.\",\"type\":\"standalone\"},{\"name\":\"COOKSD\",\"description\":\"Produces the Cook’s D plot.\",\"type\":\"standalone\"},{\"name\":\"QQ\",\"description\":\"Q-Q plot of residuals.\",\"type\":\"standalone\"},{\"name\":\"STUDENTRESIDUAL\",\"description\":\"Plots the studentized residuals.\",\"type\":\"standalone\"},{\"name\":\"RESIDUALHISTOGRAM\",\"description\":\"Plots the histogram of residuals.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"Suppresses all plots.\",\"type\":\"standalone\"}]},{\"name\":\"PURE\",\"optional\":true,\"description\":\"Specifies a regression without an error term.\",\"type\":\"standalone\"},{\"name\":\"SDATA=\",\"optional\":true,\"description\":\"Specifies a data set that provides the covariance matrix of the equation errors.\",\"help\":\"SDATA=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"SUR\",\"optional\":true,\"aliases\":[\"ITSUR\"],\"description\":\"Specifies seemingly unrelated regression or iterated seemingly unrelated regression.\",\"type\":\"standalone\"},{\"name\":\"VARDEF=\",\"optional\":true,\"description\":\"Specifies the denominator to be used in computing variances and covariances. The default is VARDEF=DF.\",\"help\":\"VARDEF=N | WGT | DF | WDF\",\"type\":\"choice\",\"arguments\":[{\"name\":\"N\",\"description\":\"Specifies that the number of nonmissing observations be used.\",\"type\":\"standalone\"},{\"name\":\"WGT\",\"description\":\"Specifies that the sum of the weights be used.\",\"type\":\"standalone\"},{\"name\":\"DF\",\"description\":\"Specifies that the number of nonmissing observations minus the model degrees of freedom (number of parameters) be used.\",\"type\":\"standalone\"},{\"name\":\"WDF\",\"description\":\"Specifies that the sum of the weights minus the model degrees of freedom be used.\",\"type\":\"standalone\"}]}]},{\"name\":\"BOUNDS\",\"description\":\"The BOUNDS statement imposes simple boundary constraints on the parameter estimates. BOUNDS statement constraints refer to the parameters estimated by the ENTROPY procedure. You can specify any number of BOUNDS statements. Each boundary constraint is composed of variables, constants, and inequality operators in the following form: item operator item <,operator item <,operator item ...> > Each item is a constant, the name of a regressor variable, or a list of regressor names. Each operator is <, >, ≤, or ≥ .\",\"help\":\"BOUNDS bound1 &lt;, bound2 ...&gt; \"},{\"name\":\"BY\",\"description\":\"A BY statement is used to obtain separate estimates for observations in groups defined by the BY variables. To save parameter estimates for each BY group, use the OUTEST= option.\",\"help\":\"BY variables \"},{\"name\":\"ID\",\"description\":\"The ID statement specifies variables to identify observations in error messages or other listings and in the OUT= data set. The ID variables are normally SAS date or datetime variables. If more than one ID variable is used, the first variable is used to identify the observations and the remaining variables are added to the OUT= data set.\",\"help\":\"ID variables \"},{\"name\":\"MODEL\",\"description\":\"The MODEL statement specifies the dependent variable and independent regressor variables for the regression model. If no independent variables are specified in the MODEL statement, only the mean (intercept) is estimated. To model a system of equations, specify more than one MODEL statement.\",\"help\":\"MODEL &lt;ESUPPORTS=( support (prior) ... )&gt;&lt;MARGINALS = ( variable = value, ..., variable = value)&gt;&lt;NOINT&gt; ...\",\"arguments\":[{\"name\":\"CATEGORY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the variable that keeps track of the categories the dependent variable is in when there is range censoring. When the actual value is observed, this variable should be set to MISSING.\",\"type\":\"value\"},{\"name\":\"CENSORED=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies that the dependent variable be observed with censoring and specifies the censoring thresholds and the supports of the censored observations.\",\"help\":\"CENSORED=UB= | LB= | ESUPPORTS=\",\"type\":\"choice\",\"arguments\":[{\"name\":\"UB=\",\"type\":\"value\"},{\"name\":\"LB=\",\"type\":\"value\"},{\"name\":\"ESUPPORTS=\",\"type\":\"value\"}]},{\"name\":\"ESUPPORTS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the support points and prior weights on the residuals for the specified equation.\",\"type\":\"value\"},{\"name\":\"MARGINALS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that the marginal effects of each variable be calculated for GME-D. Specifying the MARGINALS option with an optional list of values calculates the marginals at that vector of values. For example, if x1–x4 are explanatory variables, then including MARGINALS = ( x1 = 2, x2 = 4, x3 = –1, x4 = 5)\",\"type\":\"value\"},{\"name\":\"NOINT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Suppresses the intercept parameter.\",\"type\":\"standalone\"},{\"name\":\"RANGE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies that the dependent variable be range bound. The RANGE option defines the range and the key ( RANGE ) that is used to identify the observation as being range bound. The RANGE = value should be some value in the CATEGORY= variable. The L and R define, respectively, the left endpoint of the range and the right endpoint of the range. ESUPPORTS sets the error supports on the variable.\",\"help\":\"RANGE=ID= | L= | R= | ESUPPORTS=\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ID=\",\"type\":\"value\"},{\"name\":\"L=\",\"type\":\"value\"},{\"name\":\"R=\",\"type\":\"value\"},{\"name\":\"ESUPPORTS=\",\"type\":\"value\"}]}]},{\"name\":\"PRIORS\",\"description\":\"The PRIORS statement specifies the support points and prior weights for the coefficients on the variables. Support points for coefficients default to five points, determined as follows: -2*value,-value,0,value*value where value is computed as value=(||mean||+3*sderr)*multiplier where the mean and the stderr are obtained from OLS and the multiplier depends on the MULTIPLIER= option. The MULTIPLIER= option defaults to 2 for unrestricted models and to 4 for restricted models. The prior probabilities for each support point default to the uniform distribution.\",\"help\":\"PRIORS variable &lt;support points &lt; (priors) &gt;&gt; variable &lt;support points &lt; (priors) &gt;&gt; ... \"},{\"name\":\"RESTRICT\",\"description\":\"The RESTRICT statement is used to impose linear restrictions on the parameter estimates. You can specify any number of RESTRICT statements. Each restriction is written as an optional name, followed by an expression, followed by an equality operator (=) or an inequality operator (<, >, ≤, ≥), followed by a second expression: <\\\"name\\\" > expression operator expression The optional \\\"name\\\" is a string used to identify the restriction in the printed output and in the OUTEST= data set. The operator can be =, <, >, ≤ , or ≥. The operator and second expression are optional, as in the TEST statement, where they default to 0. Restriction expressions can be composed of variable names, multiplication (*), and addition (+) operators, and constants. Variable names in restriction expressions must be among the variables whose coefficients are estimated by the model. The restriction expressions must be a linear function of the variables.\",\"help\":\"RESTRICT restriction1 &lt; , restriction2 ...&gt; \"},{\"name\":\"TEST\",\"description\":\"The TEST statement performs tests of linear hypotheses on the model parameters. The TEST statement applies only to parameters estimated in the model. You can specify any number of TEST statements. Each test is written as an expression optionally followed by an equal sign (=) and a second expression: expression ≤ expression> Test expressions can be composed of variable names, multiplication (*), addition (+), and subtraction (-) operators, and constants. Variables named in test expressions must be among the variables estimated by the model.\",\"help\":\"TEST &lt;LM&gt;&lt;RAO&gt;&lt;WALD&gt; ...\",\"arguments\":[{\"name\":\"ALL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests all three types of tests.\",\"type\":\"standalone\"},{\"name\":\"LAGRANGE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies that a Lagrange multiplier test be computed.\",\"type\":\"standalone\"},{\"name\":\"LIKE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies that a pseudo-likelihood ratio test be computed.\",\"type\":\"standalone\"},{\"name\":\"LM\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies that a Lagrange multiplier test be computed.\",\"type\":\"standalone\"},{\"name\":\"LR\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies that a pseudo-likelihood ratio test be computed.\",\"type\":\"standalone\"},{\"name\":\"OUT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the name of an output SAS data set that contains the test results. The format of the OUT= data set produced by the TEST statement is similar to that of the OUTEST= data set.\",\"help\":\"OUT=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"RAO\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies that a Lagrange multiplier test be computed.\",\"type\":\"standalone\"},{\"name\":\"WALD\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies that a Wald test be computed. WALD is the default.\",\"type\":\"standalone\"}]},{\"name\":\"WEIGHT\",\"description\":\"The WEIGHT statement specifies a variable to supply weighting values to use for each observation in estimating parameters. If the weight of an observation is nonpositive, that observation is not used for the estimation. Variable must be a numeric variable in the input data set. The regressors and the dependent variables are multiplied by the square root of the weight variable to form the weighted X matrix and the weighted dependent variable. The same weight is used for all MODEL statements.\",\"help\":\"WEIGHT variable \"}],\"supportSiteInformation\":{\"docsetId\":\"etsug\",\"docsetVersion\":\"latest\",\"docsetTargetFile\":\"etsug_entropy_toc.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/ERCOMPSTORE.json",
    "content": "{\"name\":\"ERCOMPSTORE\",\"statements\":[{\"name\":\"PROC ERCOMPSTORE\",\"description\":\"The ERCOMPSTORE procedure initializes the compound store from user-defined element, compound, and entity types. Element types represent the base variables and should correspond to variables from the input document tables. Compound types are defined on the basis of collections of element types, and entity types are defined on the basis of collections of compound types. The definitions that you specify in PROC ERCOMPSTORE persist with the compound store for the life of the compound store. So you need to run this procedure only once.\",\"help\":\"PROC ERCOMPSTORE <options>;\\n\\tCOMPOUNDSTORE <options>;    \\n\\n\\tCOMPOUNDTYPE nameELEMENTTYPES=(variables)<options>;\\n\\n\\tELEMENTTYPE variable</options>; \\n\\n\\tENTITYTYPE nameCOMPOUNDTYPES=(strings)PRIMARYELEMENTTYPE=variable <options>;\\n\",\"arguments\":[{\"name\":\"DOCUMENTIDTYPE=\",\"optional\":true,\"description\":\"specifies the type of document ID to use in the raw import tables when you add documents.\",\"help\":\"DOCUMENTIDTYPE=CHAR | INT32 | INT64\",\"type\":\"choice\",\"arguments\":[{\"name\":\"CHAR\",\"type\":\"standalone\"},{\"name\":\"INT32\",\"type\":\"standalone\"},{\"name\":\"INT64\",\"type\":\"standalone\"}]},{\"name\":\"EXCLUSIONREGRESSLIMIT=\",\"optional\":true,\"description\":\"specifies the maximum number of element values to store for computing compound exclusions. This limit is applied to each compound exclusion rule unless you specify a different limit by using the REGRESSLIMIT= suboption of the MAXELEMENTTYPECOUNTS= option in the COMPOUND statement. By default, all element values are stored for each element type that you specify in a compound exclusion rule.\",\"help\":\"EXCLUSIONREGRESSLIMIT=*integer*\",\"type\":\"value\"},{\"name\":\"PRESERVEDOCCASE\",\"optional\":true,\"description\":\"converts the document type to uppercase when you add documents.\",\"type\":\"standalone\"},{\"name\":\"RECORDIDTYPE=\",\"optional\":true,\"description\":\"specifies the type of record ID to use in the raw import tables when you add documents.\",\"help\":\"RECORDIDTYPE=CHAR | INT32 | INT64\",\"type\":\"choice\",\"arguments\":[{\"name\":\"CHAR\",\"type\":\"standalone\"},{\"name\":\"INT32\",\"type\":\"standalone\"},{\"name\":\"INT64\",\"type\":\"standalone\"}]}]},{\"name\":\"COMPOUNDSTORE\",\"description\":\"The COMPOUNDSTORE statement enables you to specify the tables to use for the compound store.\",\"help\":\"COMPOUNDSTORE &lt;*options*&gt;;    \",\"arguments\":[{\"name\":\"COMPOUNDTABLE=\",\"optional\":true,\"description\":\"specifies the name of the table in which to store compounds.\",\"help\":\"COMPOUNDTABLE=*libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"DOCUMENTTABLE=\",\"optional\":true,\"description\":\"specifies the name of the table in which to store documents.\",\"help\":\"DOCUMENTTABLE=*libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"ENTITYTABLE=\",\"optional\":true,\"description\":\"specifies the name of the table in which to store entities.\",\"help\":\"ENTITYTABLE=*libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"LOCKTABLE=\",\"optional\":true,\"description\":\"specifies the name of the table to use for preventing access to the compound store by other sessions while a procedure is running.\",\"help\":\"LOCKTABLE=*libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"METADATATABLE=\",\"optional\":true,\"description\":\"specifies the name of the table in which to store the metadata, including the element, compound, and entity definitions.\",\"help\":\"METADATATABLE=*libref.data-table*\",\"type\":\"dataSet\"}]},{\"name\":\"COMPOUNDTYPE\",\"description\":\"The COMPOUNDTYPE statement enables you to define a compound type to use for entity resolution. A compound type is a collection of element types.\",\"help\":\"COMPOUNDTYPE *name**ELEMENTTYPES=(variables)*&lt;*options*&gt;;\",\"arguments\":[{\"name\":\"ELEMENTTYPES=\",\"description\":\"specifies the collection of element types that form this compound type.\",\"help\":\"ELEMENTTYPES=*(variables)*\",\"type\":\"value\"},{\"name\":\"name\",\"description\":\"specifies the name of the compound type. A compound type is a collection of element types and is used to define entity types.\",\"type\":\"standalone\"},{\"name\":\"MAXCOUNT=\",\"optional\":true,\"description\":\"specifies the maximum number of times that a compound value of this type can appear in the data before the compound value is excluded.\",\"help\":\"MAXCOUNT=*integer*\",\"type\":\"value\"},{\"name\":\"MAXELEMENTTYPECOUNTS=\",\"optional\":true,\"description\":\"specifies a collection of element types and counts for defining compound exclusions. A compound value is excluded if the total number of distinct element values of the type that you specify in the ELEMENTTYPE= suboption is greater than the value that you specify in the MAXCOUNT= suboption.\",\"help\":\"MAXELEMENTTYPECOUNTS=*((suboptions), …)*\",\"type\":\"value\",\"arguments\":[{\"name\":\"ELEMENTTYPE=\",\"description\":\"specifies the type of the element for which distinct values are counted.\",\"help\":\"ELEMENTTYPE=*variable*\",\"type\":\"value\"},{\"name\":\"MAXCOUNT=\",\"description\":\"specifies the maximum number of distinct values of the element type that can occur across all data rows that are associated with the compound value. If you exceed this limit, the compound value is excluded.\",\"help\":\"MAXCOUNT=*integer*\",\"type\":\"value\"},{\"name\":\"REGRESSLIMIT=\",\"description\":\"specifies the maximum number of element values to store for the specified element type.\",\"help\":\"REGRESSLIMIT=*integer*\",\"type\":\"value\"}]}]},{\"name\":\"ELEMENTTYPE\",\"description\":\"The ELEMENTTYPE statement enables you to define an element type to use for entity resolution. An element type represents a variable in a data table.\",\"help\":\"ELEMENTTYPE *variable*&lt;*/options*&gt;; \",\"arguments\":[{\"name\":\"variable\",\"description\":\"specifies the name of an element to be used to define compounds. This name must match a column name in a raw import table when you add documents.\",\"type\":\"standalone\"},{\"name\":\"FORMAT=\",\"optional\":true,\"description\":\"specifies the SAS format to use when the element’s value is included in the output table.\",\"help\":\"FORMAT=*format*\",\"type\":\"value\"},{\"name\":\"ISATTRIBUTE\",\"optional\":true,\"description\":\"uses the element as an attribute for soft-deletions of documents and entities.\",\"type\":\"standalone\"},{\"name\":\"KEEP\",\"optional\":true,\"description\":\"includes this element’s value in the output table. This option applies only to elements in the primary element table.\",\"type\":\"standalone\"},{\"name\":\"TYPE=\",\"optional\":true,\"description\":\"specifies the type of the element.\",\"help\":\"TYPE=CHAR | DOUBLE | INT32 | INT64\",\"type\":\"choice\",\"arguments\":[{\"name\":\"CHAR\",\"type\":\"standalone\"},{\"name\":\"DOUBLE\",\"type\":\"standalone\"},{\"name\":\"INT32\",\"type\":\"standalone\"},{\"name\":\"INT64\",\"type\":\"standalone\"}]},{\"name\":\"VALIDTIME=\",\"optional\":true,\"description\":\"specifies whether to use this element as a time value and, if so, whether the element’s value represents a starting time or an ending time when an entity is valid.\",\"help\":\"VALIDTIME=NO | VALIDFROM | VALIDTO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NO\",\"type\":\"standalone\"},{\"name\":\"VALIDFROM\",\"type\":\"standalone\"},{\"name\":\"VALIDTO\",\"type\":\"standalone\"}]}]},{\"name\":\"ENTITYTYPE\",\"description\":\"The ENTITYTYPE statement enables you to define an entity type to use for entity resolution. An entity type is a collection of compound types and a primary element type.\",\"help\":\"ENTITYTYPE *name**COMPOUNDTYPES=(strings)**PRIMARYELEMENTTYPE=variable*&lt;*options*&gt;;\",\"arguments\":[{\"name\":\"name\",\"description\":\"specifies the name of the entity definition.\",\"type\":\"standalone\"},{\"name\":\"COMPOUNDTYPES=\",\"description\":\"specifies one or more compound types to be used to define an entity. The strings must be unique to an ENTITYTYPE statement; they cannot be shared among different ENTITYTYPE statements.\",\"help\":\"COMPOUNDTYPES=*(strings)*\",\"type\":\"value\"},{\"name\":\"PRIMARYELEMENTTYPE=\",\"description\":\"specifies the element that defines the primary table when you add documents.\",\"help\":\"PRIMARYELEMENTTYPE=*variable*\",\"type\":\"value\"},{\"name\":\"VALIDFROM=\",\"optional\":true,\"description\":\"specifies the element that defines the starting time when the entity is valid.\",\"help\":\"VALIDFROM=*variable*\",\"type\":\"value\"},{\"name\":\"VALIDTO=\",\"optional\":true,\"description\":\"specifies the element that defines the ending time when the entity is valid.\",\"help\":\"VALIDTO=*variable*\",\"type\":\"value\"}]}]}"
  },
  {
    "path": "server/pubsdata/Procedures/en/ERQUERY.json",
    "content": "{\"name\":\"ERQUERY\",\"statements\":[{\"name\":\"PROC ERQUERY\",\"description\":\"The ERQUERY procedure queries a compound store to find all entities and networks that correspond to one or more specified document IDs. You must specify the document type and the document ID that you want to query.\",\"help\":\"PROC ERQUERY <options>;\\n\\tCOMPOUNDSTORE <options>;    \\n\\n\\tDOCUMENT <options>;    \\n\\n\\tOUTPUT OUT=libref.data-table<options>;\\n\\n\\tSOFTDELETE <METHOD=DOCUMENT | ENTITY | LINK(<method-options>)><options>;\\n\\n\\tSPLITCONFLICTINGENTITY ENTITYTYPE=\\\"string\\\"COMPOUNDTYPES=(strings)<option>;\\n\",\"arguments\":[{\"name\":\"DOCUMENTTABLE=\",\"optional\":true,\"description\":\"specifies the documents to query. These are the seed documents where the network traversal begins.\",\"help\":\"DOCUMENTTABLE=*libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"DOCUMENTTYPES=\",\"optional\":true,\"description\":\"specifies the document types to include in the results. By default, all document types are included.\",\"help\":\"DOCUMENTTYPES=*(strings)*\",\"type\":\"value\"},{\"name\":\"ENTITYTYPES=\",\"optional\":true,\"description\":\"specifies the entity types to include in the results. By default, all entity types are included.\",\"help\":\"ENTITYTYPES=*(strings)*\",\"type\":\"value\"},{\"name\":\"LEVEL=\",\"optional\":true,\"description\":\"specifies the maximum number of documents to be searched in a path before the search is stopped. A value of 0 includes all documents that can be reached from the starting documents or compounds.\",\"help\":\"LEVEL=*integer*\",\"type\":\"value\"}]},{\"name\":\"COMPOUNDSTORE\",\"description\":\"The COMPOUNDSTORE statement enables you to specify the tables to use for the compound store.\",\"help\":\"COMPOUNDSTORE &lt;*options*&gt;;    \",\"arguments\":[{\"name\":\"COMPOUNDTABLE=\",\"optional\":true,\"description\":\"specifies the name of the table in which to store compounds.\",\"help\":\"COMPOUNDTABLE=*libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"DOCUMENTTABLE=\",\"optional\":true,\"description\":\"specifies the name of the table in which to store documents.\",\"help\":\"DOCUMENTTABLE=*libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"ENTITYTABLE=\",\"optional\":true,\"description\":\"specifies the name of the table in which to store entities.\",\"help\":\"ENTITYTABLE=*libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"LOCKTABLE=\",\"optional\":true,\"description\":\"specifies the name of the table to use for preventing access to the compound store by other sessions while a procedure is running.\",\"help\":\"LOCKTABLE=*libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"METADATATABLE=\",\"optional\":true,\"description\":\"specifies the name of the table in which to store the metadata, including the element, compound, and entity definitions.\",\"help\":\"METADATATABLE=*libref.data-table*\",\"type\":\"dataSet\"}]},{\"name\":\"DOCUMENT\",\"description\":\"The DOCUMENT statement enables you to specify a document to query.\",\"help\":\"DOCUMENT &lt;*options*&gt;;    \",\"arguments\":[{\"name\":\"ID=\",\"optional\":true,\"description\":\"specifies the ID of the document.\",\"help\":\"ID=*\\\"string\\\"*\",\"type\":\"value\"},{\"name\":\"TYPE=\",\"optional\":true,\"description\":\"specifies the type of the document.\",\"help\":\"TYPE=*\\\"string\\\"*\",\"type\":\"value\"}]},{\"name\":\"OUTPUT\",\"description\":\"The OUTPUT statement enables you to specify the table to use for output and other output options.\",\"help\":\"OUTPUT *OUT=libref.data-table*&lt;*options*&gt;;\",\"arguments\":[{\"name\":\"OUT=\",\"description\":\"specifies the output table in which to store results of the procedure.\",\"help\":\"OUT=*libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"OUTCOMPOUNDVALUE\",\"optional\":true,\"description\":\"includes in the output table the compound_value column, which contains a concatenation of the element values that make up the compound value.\",\"type\":\"standalone\"},{\"name\":\"OUTSOFTDELETE=\",\"optional\":true,\"description\":\"specifies how to output soft-deleted items. You can specify the following values:\",\"help\":\"OUTSOFTDELETE=ADJACENT | AUTOMATIC | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ADJACENT\",\"description\":\"includes in the output soft-deleted items that are connected to the generated networks.\",\"type\":\"standalone\"},{\"name\":\"AUTOMATIC\",\"description\":\"uses ADJACENT if you specify a SOFTDELETE statement; otherwise, it uses NONE.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"does not include soft-deleted items in the output.\",\"type\":\"standalone\"}]},{\"name\":\"OUTSUBENTITYID\",\"optional\":true,\"description\":\"includes in the output table the _subentity_id_ column, which contains a subentity ID as determined by temporal splitting. By default, temporal splitting is enabled for an entity soft-deletion; otherwise it is disabled.\",\"type\":\"standalone\"}]},{\"name\":\"SOFTDELETE\",\"description\":\"The SOFTDELETE statement enables you to specify rules for soft-deleting documents, entities, and links. The rules that you specify affect the network generation step.\",\"help\":\"SOFTDELETE &lt;METHOD=DOCUMENT | ENTITY | LINK(&lt;*method-options*&gt;)&gt;&lt;*options*&gt;;\",\"arguments\":[{\"name\":\"METHOD=\",\"optional\":true,\"description\":\"specifies the method of soft-deletion.\",\"help\":\"METHOD=DOCUMENT | ENTITY | LINK\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DOCUMENT\",\"type\":\"standalone\"},{\"name\":\"ENTITY\",\"type\":\"standalone\"},{\"name\":\"LINK\",\"type\":\"standalone\"}]},{\"name\":\"DOCUMENTTYPE=\",\"optional\":true,\"aliases\":[\"TYPE\"],\"description\":\"specifies the type of document to which the soft-deletion rule applies when METHOD=DOCUMENT.\",\"help\":\"DOCUMENTTYPE=*\\\"string\\\"*\",\"type\":\"value\"},{\"name\":\"MAXENTITYCOUNT=\",\"optional\":true,\"description\":\"specifies the maximum number of entities to which a document can be connected before being soft-deleted when METHOD=DOCUMENT.\",\"help\":\"MAXENTITYCOUNT=*integer*\",\"type\":\"value\"},{\"name\":\"MAXENTITYCOUNTBYTYPE=\",\"optional\":true,\"aliases\":[\"MAXCOUNTBYTYPE\"],\"description\":\"specifies a collection of entity type and count pairs for defining document soft-deletions when METHOD=DOCUMENT. The document is soft-deleted if the number of connections that it has to entities of the type that you specify in the TYPE= suboption exceeds the value of the COUNT= suboption.\",\"help\":\"MAXENTITYCOUNTBYTYPE=*((COUNT=integer, TYPE=\\\"string\\\"), …)*\",\"type\":\"value\"},{\"name\":\"ENTITYTYPE=\",\"optional\":true,\"aliases\":[\"TYPE\"],\"description\":\"specifies the type of entity to which the soft-deletion rule applies when METHOD=ENTITY.\",\"help\":\"ENTITYTYPE=*\\\"string\\\"*\",\"type\":\"value\"},{\"name\":\"MAXDOCUMENTCOUNT=\",\"optional\":true,\"description\":\"specifies the maximum number of documents to which an entity can be connected before being soft-deleted when METHOD=ENTITY.\",\"help\":\"MAXDOCUMENTCOUNT=*integer*\",\"type\":\"value\"},{\"name\":\"MAXDOCUMENTCOUNTBYTYPE=\",\"optional\":true,\"aliases\":[\"MAXCOUNTBYTYPE\"],\"description\":\"specifies a collection of document type and count pairs for defining entity soft-deletions when METHOD=ENTITY. The entity is soft-deleted if it violates any of the rules.\",\"help\":\"MAXDOCUMENTCOUNTBYTYPE=*((COUNT=integer, TYPE=\\\"string\\\"), …)*\",\"type\":\"value\"},{\"name\":\"TEMPORALSPLITTING\",\"optional\":true,\"description\":\"temporally splits entities of this type into subentities when METHOD=ENTITY.\",\"type\":\"standalone\"},{\"name\":\"DOCUMENTTYPE=\",\"optional\":true,\"description\":\"specifies the type of document to which the soft-deletion rule applies when METHOD=LINK.\",\"help\":\"DOCUMENTTYPE=*\\\"string\\\"*\",\"type\":\"value\"},{\"name\":\"ENTITYTYPE=\",\"optional\":true,\"description\":\"specifies the type of entity to which the soft-deletion rule applies when METHOD=LINK.\",\"help\":\"ENTITYTYPE=*\\\"string\\\"*\",\"type\":\"value\"},{\"name\":\"ATTRIBUTES=\",\"optional\":true,\"description\":\"specifies a collection of attribute names and values for defining document soft-deletions for any METHOD= option value. The object is soft-deleted if it contains any of the listed attribute names and values.\",\"help\":\"ATTRIBUTES=*((ATTRIBUTE=\\\"string\\\", VALUE=\\\"string\\\"), …)*\",\"type\":\"value\"}]},{\"name\":\"SPLITCONFLICTINGENTITY\",\"description\":\"The SPLITCONFLICTINGENTITY statement enables you to specify rules for splitting entities on the basis of conflicting compound values.\",\"help\":\"SPLITCONFLICTINGENTITY *ENTITYTYPE=\\\"string\\\"**COMPOUNDTYPES=(strings)*&lt;*option*&gt;;\",\"arguments\":[{\"name\":\"COMPOUNDTYPES=\",\"description\":\"specifies the types of compounds whose values must be consistent within an entity. If an entity contains different values for a compound type in this list, the entity splits into one or more entities such that each entity contains one value for each compound type in this list.\",\"help\":\"COMPOUNDTYPES=*(strings)*\",\"type\":\"value\"},{\"name\":\"ENTITYTYPE=\",\"description\":\"specifies the type of entity to which the entity splitting rule applies.\",\"help\":\"ENTITYTYPE=*\\\"string\\\"*\",\"type\":\"value\"},{\"name\":\"DONOTSPLIT=\",\"optional\":true,\"description\":\"specifies the pairs that consist of a document type and a compound type that should not be split during entity splitting.\",\"help\":\"DONOTSPLIT=*((COMPOUNDTYPE=\\\"string\\\", DOCUMENTTYPE=\\\"string\\\"), …)*\",\"type\":\"value\"}]}]}"
  },
  {
    "path": "server/pubsdata/Procedures/en/ERUPSERT.json",
    "content": "{\"name\":\"ERUPSERT\",\"statements\":[{\"name\":\"PROC ERUPSERT\",\"description\":\"The ERUPSERT procedure updates existing documents and entities in a compound store or adds them to the compound store if they do not already exist. It also enables you to delete documents from the compound store.\",\"help\":\"PROC ERUPSERT <options>;\\n\\tCOMPOUNDSTORE <options>;    \\n\\n\\tDELETEDOCUMENT <METHOD=DOCUMENT | TABLE(<method-options>)>;\\n\\n\\tDOCUMENT <options>;    \\n\\n\\tOUTPUT OUT=libref.data-table<option>;\\n\",\"arguments\":[{\"name\":\"COMMITMETHOD=\",\"optional\":true,\"description\":\"specifies how to update the compound store tables. You can specify the following values:\",\"help\":\"COMMITMETHOD=APPEND | COPY\",\"type\":\"choice\",\"arguments\":[{\"name\":\"APPEND\",\"description\":\"appends changes to the existing compound store tables. This method is fast, but obsolete data remain in the compound store.\",\"type\":\"standalone\"},{\"name\":\"COPY\",\"description\":\"replaces the compound store tables and discards obsolete data.\",\"type\":\"standalone\"}]},{\"name\":\"DOCUMENTID=\",\"optional\":true,\"description\":\"specifies the variable (in the document tables) that stores the document ID.\",\"help\":\"DOCUMENTID=*variable*\",\"type\":\"value\"},{\"name\":\"OUTEXCLUDEDCOMPOUNDS=\",\"optional\":true,\"description\":\"specifies the output table for the excluded compounds. The table shows the compound values that have been excluded and their reason for being excluded.\",\"help\":\"OUTEXCLUDEDCOMPOUNDS=*libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"PAGECACHELIMIT=\",\"optional\":true,\"description\":\"specifies the maximum size of the page cache.\",\"help\":\"PAGECACHELIMIT=*integer*\",\"type\":\"value\"},{\"name\":\"RECORDID=\",\"optional\":true,\"description\":\"specifies the variable that stores the record ID.\",\"help\":\"RECORDID=*variable*\",\"type\":\"value\"},{\"name\":\"VERSION=\",\"optional\":true,\"description\":\"specifies the variable in the document tables that stores the version number. The version number is used when documents are updated.\",\"help\":\"VERSION=*variable*\",\"type\":\"value\"}]},{\"name\":\"COMPOUNDSTORE\",\"description\":\"The COMPOUNDSTORE statement enables you to specify the tables to use for the compound store.\",\"help\":\"COMPOUNDSTORE &lt;*options*&gt;;    \",\"arguments\":[{\"name\":\"COMPOUNDTABLE=\",\"optional\":true,\"description\":\"specifies the name of the table in which to store compounds.\",\"help\":\"COMPOUNDTABLE=*libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"DOCUMENTTABLE=\",\"optional\":true,\"description\":\"specifies the name of the table in which to store documents.\",\"help\":\"DOCUMENTTABLE=*libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"ENTITYTABLE=\",\"optional\":true,\"description\":\"specifies the name of the table in which to store entities.\",\"help\":\"ENTITYTABLE=*libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"LOCKTABLE=\",\"optional\":true,\"description\":\"specifies the name of the table to use for preventing access to the compound store by other sessions while a procedure is running.\",\"help\":\"LOCKTABLE=*libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"METADATATABLE=\",\"optional\":true,\"description\":\"specifies the name of the table in which to store the metadata, including the element, compound, and entity definitions.\",\"help\":\"METADATATABLE=*libref.data-table*\",\"type\":\"dataSet\"}]},{\"name\":\"DELETEDOCUMENT\",\"description\":\"The DELETEDOCUMENT statement enables you to specify documents whose data you want to delete from the compound store. You can specify the documents to delete individually by using an identifier and a type, or you can specify a table that contains a list of documents to delete.\",\"help\":\"DELETEDOCUMENT &lt;METHOD=DOCUMENT | TABLE(&lt;*method-options*&gt;)&gt;;\",\"arguments\":[{\"name\":\"METHOD=\",\"optional\":true,\"description\":\"specifies whether to delete documents that are listed in a table or via a document type and ID pair.\",\"help\":\"METHOD=DOCUMENT | TABLE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DOCUMENT\",\"type\":\"standalone\"},{\"name\":\"TABLE\",\"type\":\"standalone\"}]},{\"name\":\"ID=\",\"optional\":true,\"description\":\"specifies the ID of the document when METHOD=DOCUMENT.\",\"help\":\"ID=*\\\"string\\\"*\",\"type\":\"value\"},{\"name\":\"TYPE=\",\"optional\":true,\"description\":\"specifies the type of the document when METHOD=DOCUMENT.\",\"help\":\"TYPE=*\\\"string\\\"*\",\"type\":\"value\"},{\"name\":\"VERSION=\",\"optional\":true,\"description\":\"specifies the highest version number of the document to delete when METHOD=DOCUMENT.\",\"help\":\"VERSION=*integer*\",\"type\":\"value\"},{\"name\":\"NAME=\",\"optional\":true,\"description\":\"specifies the name of the table that contains the documents to delete when METHOD=TABLE.\",\"help\":\"NAME=*libref.data-table*\",\"type\":\"dataSet\"}]},{\"name\":\"DOCUMENT\",\"description\":\"The DOCUMENT statement enables you to specify documents to add to the compound store. You must specify a type for the documents and a table that contains the documents to add to the compound store.\",\"help\":\"DOCUMENT &lt;*options*&gt;;    \",\"arguments\":[{\"name\":\"TABLE=\",\"optional\":true,\"description\":\"specifies the name of the input table that contains the documents. This table can include multiple documents, and each document can consist of one or more records.\",\"help\":\"TABLE=*libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"TYPE=\",\"optional\":true,\"description\":\"specifies the type of the documents in the input table. All documents in the same document table must have the same type.\",\"help\":\"TYPE=*\\\"string\\\"*\",\"type\":\"value\"}]},{\"name\":\"OUTPUT\",\"description\":\"The OUTPUT statement enables you to specify the table to use for output and other output options.\",\"help\":\"OUTPUT *OUT=libref.data-table*&lt;*option*&gt;;\",\"arguments\":[{\"name\":\"OUT=\",\"description\":\"specifies the output table in which to store results of the procedure.\",\"help\":\"OUT=*libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"OUTCOMPOUNDVALUE\",\"optional\":true,\"description\":\"includes in the output table the compound_value column, which contains a concatenation of the element values that make up the compound value.\",\"type\":\"standalone\"}]}]}"
  },
  {
    "path": "server/pubsdata/Procedures/en/ESM.json",
    "content": "{\"name\":\"ESM\",\"statements\":[{\"name\":\"PROC ESM\",\"description\":\"The ESM procedure generates forecasts by using exponential smoothing models with optimized smoothing weights for many time series or transactional data. † For typical time series, you can use the following smoothing models: o simple o double o linear o damped trend o seasonal o Winters method (additive and multiplicative) † Additionally, transformed versions of these models are provided: o log o square root o logistic o Box-Cox\",\"help\":\"PROC ESM <BACK=n><DATA=SAS-data-set><LEAD=n><MAXERROR=number><NOOUTALL><OUT=SAS-data-set><OUTEST=SAS-data-set><OUTFOR=SAS-data-set><OUTPROCINFO=SAS-data-set><OUTSTAT=SAS-data-set><OUTSUM=SAS-data-set><PLOT=ERRORS | ACF | PACF... ><PRINT=ESTIMATES | FORECASTS | PERFORMANCE... ><PRINTDETAILS><SEASONALITY=number><SORTNAMES><STARTSUM=n>;     \\n\\tBY variables ;\\n\\n\\tFORECAST <ACCUMULATE=<NONE | TOTAL | AVERAGE>... ><ALPHA=number><MEDIAN> ...;\\n\\n\\tID <ACCUMULATE=<NONE | TOTAL | AVERAGE>... ><ALIGN=<BEGINNING | MIDDLE | ENDING>><END=date | datetime> ...;\\n\",\"arguments\":[{\"name\":\"BACK=\",\"optional\":true,\"description\":\"Specifies the number of observations before the end of the data where the multistep forecasts are to begin. The default is BACK=0.\",\"help\":\"BACK=*n*\",\"type\":\"value\"},{\"name\":\"DATA=\",\"optional\":true,\"description\":\"Names the SAS data set that contains the input data for the procedure to forecast. If the DATA= option is not specified, the most recently created SAS data set is used.\",\"help\":\"DATA=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"LEAD=\",\"optional\":true,\"description\":\"Specifies the number of periods ahead to forecast (forecast lead or horizon).\",\"help\":\"LEAD=*n*\",\"type\":\"value\"},{\"name\":\"MAXERROR=\",\"optional\":true,\"description\":\"Limits the number of warning and error messages produced during the execution of the procedure to the specified value. The default is MAXERRORS=50. This option is particularly useful in BY-group processing where it can be used to suppress the recurring messages.\",\"help\":\"MAXERROR=*number*\",\"type\":\"value\"},{\"name\":\"NOOUTALL\",\"optional\":true,\"description\":\"Specifies that only forecasts are written to the OUT= and OUTFOR= data sets.\",\"type\":\"standalone\"},{\"name\":\"OUT=\",\"optional\":true,\"description\":\"Names the output data set to contain the forecasts of the variables specified in the subsequent FORECAST statements. If an ID variable is specified, it is also included in the OUT= data set. The values are accumulated based on the ACCUMULATE= option, and forecasts are appended to these values based on the FORECAST statement USE= option.\",\"help\":\"OUT=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"OUTEST=\",\"optional\":true,\"description\":\"Names the output data set to contain the model parameter estimates and the associated test statistics and probability values. The OUTEST= data set is useful for evaluating the significance of the model parameters and understanding the model dynamics.\",\"help\":\"OUTEST=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"OUTFOR=\",\"optional\":true,\"description\":\"Names the output data set to contain the forecast time series components (actual, predicted, lower confidence limit, upper confidence limit, prediction error, prediction standard error). The OUTFOR= data set is useful for displaying the forecasts in tabular or graphical form.\",\"help\":\"OUTFOR=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"OUTPROCINFO=\",\"optional\":true,\"description\":\"Names the output data set to contain information in the SAS log, specifically the number of notes, errors, and warnings and the number of series processed, forecasts requested, and forecasts failed.\",\"help\":\"OUTPROCINFO=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"OUTSTAT=\",\"optional\":true,\"description\":\"Names the output data set to contain the statistics of fit (or goodness-of-fit statistics). The OUTSTAT= data set is useful for evaluating how well the model fits the series.\",\"help\":\"OUTSTAT=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"OUTSUM=\",\"optional\":true,\"description\":\"Names the output data set to contain the summary statistics and the forecast summation.\",\"help\":\"OUTSUM=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"PLOT=\",\"optional\":true,\"description\":\"Specifies the graphical output desired. By default, the ESM procedure produces no graphical output.\",\"help\":\"PLOT=ERRORS | ACF | PACF | IACF | WN | MODELS | FORECASTS | MODELFORECASTSONLY | FORECASTSONLY | LEVELS | SEASONS | TRENDS | ALL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ERRORS\",\"description\":\"Plots prediction error time series graphics.\",\"type\":\"standalone\"},{\"name\":\"ACF\",\"description\":\"Plots prediction error autocorrelation function graphics.\",\"type\":\"standalone\"},{\"name\":\"PACF\",\"description\":\"Plots prediction error partial autocorrelation function graphics.\",\"type\":\"standalone\"},{\"name\":\"IACF\",\"description\":\"Plots prediction error inverse autocorrelation function graphics.\",\"type\":\"standalone\"},{\"name\":\"WN\",\"description\":\"Plots white noise graphics.\",\"type\":\"standalone\"},{\"name\":\"MODELS\",\"description\":\"Plots model graphics.\",\"type\":\"standalone\"},{\"name\":\"FORECASTS\",\"description\":\"Plots forecast graphics.\",\"type\":\"standalone\"},{\"name\":\"MODELFORECASTSONLY\",\"description\":\"Plots forecast graphics with confidence limits in the data range.\",\"type\":\"standalone\"},{\"name\":\"FORECASTSONLY\",\"description\":\"Plots the forecast in the forecast horizon only.\",\"type\":\"standalone\"},{\"name\":\"LEVELS\",\"description\":\"Plots smoothed level component graphics.\",\"type\":\"standalone\"},{\"name\":\"SEASONS\",\"description\":\"Plots smoothed seasonal component graphics.\",\"type\":\"standalone\"},{\"name\":\"TRENDS\",\"description\":\"Plots smoothed trend (slope) component graphics.\",\"type\":\"standalone\"},{\"name\":\"ALL\",\"description\":\"Specifies all available PLOT= options\",\"type\":\"standalone\"}]},{\"name\":\"PRINT=\",\"optional\":true,\"description\":\"Specifies the printed output desired. By default, the ESM procedure produces no printed output.\",\"help\":\"PRINT=ESTIMATES | FORECASTS | PERFORMANCE | PERFORMANCESUMMARY | PERFORMANCEOVERALL | STATISTICS | STATES | SUMMARY | ALL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ESTIMATES\",\"description\":\"Prints the results of parameter estimation.\",\"type\":\"standalone\"},{\"name\":\"FORECASTS\",\"description\":\"Prints the forecasts.\",\"type\":\"standalone\"},{\"name\":\"PERFORMANCE\",\"description\":\"Prints the performance statistics for each forecast.\",\"type\":\"standalone\"},{\"name\":\"PERFORMANCESUMMARY\",\"description\":\"Prints the performance summary for each BY group.\",\"type\":\"standalone\"},{\"name\":\"PERFORMANCEOVERALL\",\"description\":\"Prints the performance summary for all of the BY groups.\",\"type\":\"standalone\"},{\"name\":\"STATISTICS\",\"description\":\"Prints the statistics of fit.\",\"type\":\"standalone\"},{\"name\":\"STATES\",\"description\":\"Prints the backcast, initial, and final states.\",\"type\":\"standalone\"},{\"name\":\"SUMMARY\",\"description\":\"Prints the summary statistics for the accumulated time series.\",\"type\":\"standalone\"},{\"name\":\"ALL\",\"description\":\"Same as PRINT=(ESTIMATES FORECASTS STATISTICS SUMMARY)\",\"type\":\"standalone\"}]},{\"name\":\"PRINTDETAILS\",\"optional\":true,\"description\":\"Specifies that output requested with the PRINT= option be printed in greater detail.\",\"type\":\"standalone\"},{\"name\":\"SEASONALITY=\",\"optional\":true,\"description\":\"Specifies the length of the seasonal cycle. For example, SEASONALITY=3 means that every group of three observations forms a seasonal cycle. The SEASONALITY= option is applicable only for seasonal forecasting models. By default, the length of the seasonal cycle is one (no seasonality) or the length implied by the INTERVAL= option specified in the ID statement.\",\"help\":\"SEASONALITY=*number*\",\"type\":\"value\"},{\"name\":\"SORTNAMES\",\"optional\":true,\"description\":\"Specifies that the variables specified in the FORECAST statements are processed in sorted order.\",\"type\":\"standalone\"},{\"name\":\"STARTSUM=\",\"optional\":true,\"description\":\"Specifies the starting forecast lead (or horizon) for which to begin summation of the forecasts specified by the LEAD= option. The STARTSUM= value must be less than the LEAD= value. The default is STARTSUM=1; that is, the sum from the one-step ahead forecast (which is the first forecast in the forecast horizon) to the multistep forecast specified by the LEAD= option.\",\"help\":\"STARTSUM=*n*\",\"type\":\"value\"}]},{\"name\":\"BY\",\"description\":\"A BY statement can be used with PROC ESM to obtain separate dummy variable definitions for groups of observations defined by the BY variables.\",\"help\":\"BY variables \"},{\"name\":\"FORECAST\",\"description\":\"The FORECAST statement lists the numeric variables in the DATA= data set whose accumulated values represent time series to be modeled and forecast. The options specify which forecast model is to be used.\",\"help\":\"FORECAST &lt;ACCUMULATE=&lt;NONE | TOTAL | AVERAGE&gt;... &gt;&lt;ALPHA=number&gt;&lt;MEDIAN&gt; ...\",\"arguments\":[{\"name\":\"ACCUMULATE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies how the data set observations are accumulated within each time period. The frequency (width of each time interval) is specified by the INTERVAL= option.\",\"help\":\"ACCUMULATE=NONE | TOTAL | AVERAGE | MINIMUM | MEDIAN | MAXIMUM | N | NMISS | NOBS | FIRST | LAST | STDDEV | CSS | USS\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NONE\",\"followsDelimiter\":\"/\",\"description\":\"No accumulation occurs; the ID variable values must be equally spaced with respect to the frequency. This is the default option.\",\"type\":\"standalone\"},{\"name\":\"TOTAL\",\"followsDelimiter\":\"/\",\"description\":\"Observations are accumulated based on the total sum of their values.\",\"type\":\"standalone\"},{\"name\":\"AVERAGE\",\"followsDelimiter\":\"/\",\"description\":\"Observations are accumulated based on the average of their values.\",\"type\":\"standalone\"},{\"name\":\"MINIMUM\",\"followsDelimiter\":\"/\",\"description\":\"Observations are accumulated based on the minimum of their values.\",\"type\":\"standalone\"},{\"name\":\"MEDIAN\",\"followsDelimiter\":\"/\",\"description\":\"Observations are accumulated based on the median of their values.\",\"type\":\"standalone\"},{\"name\":\"MAXIMUM\",\"followsDelimiter\":\"/\",\"description\":\"Observations are accumulated based on the maximum of their values.\",\"type\":\"standalone\"},{\"name\":\"N\",\"followsDelimiter\":\"/\",\"description\":\"Observations are accumulated based on the number of nonmissing observations.\",\"type\":\"standalone\"},{\"name\":\"NMISS\",\"followsDelimiter\":\"/\",\"description\":\"Observations are accumulated based on the number of missing observations.\",\"type\":\"standalone\"},{\"name\":\"NOBS\",\"followsDelimiter\":\"/\",\"description\":\"Observations are accumulated based on the number of observations.\",\"type\":\"standalone\"},{\"name\":\"FIRST\",\"followsDelimiter\":\"/\",\"description\":\"Observations are accumulated based on the first of their values.\",\"type\":\"standalone\"},{\"name\":\"LAST\",\"followsDelimiter\":\"/\",\"description\":\"Observations are accumulated based on the last of their values.\",\"type\":\"standalone\"},{\"name\":\"STDDEV\",\"followsDelimiter\":\"/\",\"description\":\"Observations are accumulated based on the standard deviation of their values.\",\"type\":\"standalone\"},{\"name\":\"CSS\",\"followsDelimiter\":\"/\",\"description\":\"Observations are accumulated based on the corrected sum of squares of their values.\",\"type\":\"standalone\"},{\"name\":\"USS\",\"followsDelimiter\":\"/\",\"description\":\"Observations are accumulated based on the uncorrected sum of squares of their values.\",\"type\":\"standalone\"}]},{\"name\":\"ALPHA=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the significance level to use in computing the confidence limits of the forecast. The ALPHA= value must be between 0 and 1. The default is ALPHA=0.05, which produces 95% confidence intervals.\",\"help\":\"ALPHA=*number*\",\"type\":\"value\"},{\"name\":\"MEDIAN\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies that the median forecast values are to be estimated. Forecasts can be based on the mean or median. By default, the mean value is provided. If no transformation is applied to the time series by using the TRANSFORM= option, the mean and median forecast values are identical.\",\"type\":\"standalone\"},{\"name\":\"MODEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the forecasting model to be used to forecast the time series. The default is MODEL=SIMPLE, which performs simple exponential smoothing.\",\"help\":\"MODEL=NONE | SIMPLE | DOUBLE | LINEAR | DAMPTREND | ADDSEASONAL | MULTSEASONAL | WINTERS | ADDWINTERS\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NONE\",\"followsDelimiter\":\"/\",\"description\":\"No forecast\",\"type\":\"standalone\"},{\"name\":\"SIMPLE\",\"followsDelimiter\":\"/\",\"description\":\"Simple (single) exponential smoothing. This is the default.\",\"type\":\"standalone\"},{\"name\":\"DOUBLE\",\"followsDelimiter\":\"/\",\"description\":\"Double (Brown) exponential smoothing\",\"type\":\"standalone\"},{\"name\":\"LINEAR\",\"followsDelimiter\":\"/\",\"description\":\"Linear (Holt) exponential smoothing\",\"type\":\"standalone\"},{\"name\":\"DAMPTREND\",\"followsDelimiter\":\"/\",\"description\":\"Damped trend exponential smoothing\",\"type\":\"standalone\"},{\"name\":\"ADDSEASONAL\",\"followsDelimiter\":\"/\",\"description\":\"Additive seasonal exponential smoothing\",\"type\":\"standalone\"},{\"name\":\"MULTSEASONAL\",\"followsDelimiter\":\"/\",\"description\":\"Multiplicative seasonal exponential smoothing\",\"type\":\"standalone\"},{\"name\":\"WINTERS\",\"followsDelimiter\":\"/\",\"description\":\"Winters multiplicative method\",\"type\":\"standalone\"},{\"name\":\"ADDWINTERS\",\"followsDelimiter\":\"/\",\"description\":\"Winters additive method\",\"type\":\"standalone\"}]},{\"name\":\"NBACKCAST=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the number of observations used to initialize the backcast states. The default is the entire series.\",\"help\":\"NBACKCAST=*n*\",\"type\":\"value\"},{\"name\":\"REPLACEBACK\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies that actual values excluded by the BACK= option are replaced with one-step-ahead forecasts in the OUT= data set.\",\"type\":\"standalone\"},{\"name\":\"REPLACEMISSING\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies that embedded missing values are replaced with one-step-ahead forecasts in the OUT= data set.\",\"type\":\"standalone\"},{\"name\":\"SETMISSING=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies how missing values (either input or accumulated) are assigned in the accumulated time series. If a number n is specified (SETMISSING=n), missing values are set to that number.\",\"help\":\"SETMISSING=MISSING | AVERAGE | MINIMUM | MEDIAN | MAXIMUM | FIRST | LAST | PREVIOUS | NEXT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"MISSING\",\"followsDelimiter\":\"/\",\"description\":\"Missing values are set to missing. This is the default option.\",\"type\":\"standalone\"},{\"name\":\"AVERAGE\",\"followsDelimiter\":\"/\",\"description\":\"Missing values are set to the accumulated average value.\",\"type\":\"standalone\"},{\"name\":\"MINIMUM\",\"followsDelimiter\":\"/\",\"description\":\"Missing values are set to the accumulated minimum value.\",\"type\":\"standalone\"},{\"name\":\"MEDIAN\",\"followsDelimiter\":\"/\",\"description\":\"Missing values are set to the accumulated median value.\",\"type\":\"standalone\"},{\"name\":\"MAXIMUM\",\"followsDelimiter\":\"/\",\"description\":\"Missing values are set to the accumulated maximum value.\",\"type\":\"standalone\"},{\"name\":\"FIRST\",\"followsDelimiter\":\"/\",\"description\":\"Missing values are set to the accumulated first nonmissing value.\",\"type\":\"standalone\"},{\"name\":\"LAST\",\"followsDelimiter\":\"/\",\"description\":\"Missing values are set to the accumulated last nonmissing value.\",\"type\":\"standalone\"},{\"name\":\"PREVIOUS\",\"followsDelimiter\":\"/\",\"description\":\"Missing values are set to the previous accumulated nonmissing value. Missing values at the beginning of the accumulated series remain missing.\",\"type\":\"standalone\"},{\"name\":\"NEXT\",\"followsDelimiter\":\"/\",\"description\":\"Missing values are set to the next accumulated nonmissing value. Missing values at the end of the accumulated series remain missing.\",\"type\":\"standalone\"}]},{\"name\":\"TRANSFORM=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the time series transformation to be applied to the input or accumulated time series.\",\"help\":\"TRANSFORM=NONE | LOG | SQRT | LOGISTIC | BOXCOX(n)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NONE\",\"followsDelimiter\":\"/\",\"description\":\"No transformation. This is the default.\",\"type\":\"standalone\"},{\"name\":\"LOG\",\"followsDelimiter\":\"/\",\"description\":\"Logarithmic transformation\",\"type\":\"standalone\"},{\"name\":\"SQRT\",\"followsDelimiter\":\"/\",\"description\":\"Square-root transformation\",\"type\":\"standalone\"},{\"name\":\"LOGISTIC\",\"followsDelimiter\":\"/\",\"description\":\"Logistic transformation\",\"type\":\"standalone\"},{\"name\":\"BOXCOX\",\"followsDelimiter\":\"/\",\"description\":\"Box-Cox transformation with parameter number where number is between –5 and 5.\",\"help\":\"BOXCOX(n)\",\"type\":\"standalone\"}]},{\"name\":\"USE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies which forecast values are appended to the actual values in the OUT= and OUTSUM= data sets.\",\"help\":\"USE=PREDICT | LOWER | UPPER\",\"type\":\"choice\",\"arguments\":[{\"name\":\"PREDICT\",\"followsDelimiter\":\"/\",\"description\":\"The predicted values are appended to the actual values. This option is the default.\",\"type\":\"standalone\"},{\"name\":\"LOWER\",\"followsDelimiter\":\"/\",\"description\":\"The lower confidence limit values are appended to the actual values.\",\"type\":\"standalone\"},{\"name\":\"UPPER\",\"followsDelimiter\":\"/\",\"description\":\"The upper confidence limit values are appended to the actual values.\",\"type\":\"standalone\"}]},{\"name\":\"ZEROMISS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies how beginning and/or ending zero values (either input or accumulated) are interpreted in the accumulated time series.\",\"help\":\"ZEROMISS=NONE | LEFT | RIGHT | BOTH\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NONE\",\"followsDelimiter\":\"/\",\"description\":\"Beginning and/or ending zeros are unchanged. This is the default.\",\"type\":\"standalone\"},{\"name\":\"LEFT\",\"followsDelimiter\":\"/\",\"description\":\"Beginning zeros are set to missing.\",\"type\":\"standalone\"},{\"name\":\"RIGHT\",\"followsDelimiter\":\"/\",\"description\":\"Ending zeros are set to missing.\",\"type\":\"standalone\"},{\"name\":\"BOTH\",\"followsDelimiter\":\"/\",\"description\":\"Both beginning and ending zeros are set to missing.\",\"type\":\"standalone\"}]}]},{\"name\":\"ID\",\"description\":\"The ID statement names a numeric variable that identifies observations in the input and output data sets. The ID variable’s values are assumed to be SAS date or datetime values. In addition, the ID statement specifies the (desired) frequency associated with the time series. The ID statement options also specify how the observations are accumulated and how the time ID values are aligned to form the time series to be forecast.\",\"help\":\"ID &lt;ACCUMULATE=&lt;NONE | TOTAL | AVERAGE&gt;... &gt;&lt;ALIGN=&lt;BEGINNING | MIDDLE | ENDING&gt;&gt;&lt;END=date | datetime&gt; ...\",\"arguments\":[{\"name\":\"ACCUMULATE=\",\"optional\":true,\"description\":\"Specifies how the data set observations are accumulated within each time period. The frequency (width of each time interval) is specified by the INTERVAL= option.\",\"help\":\"ACCUMULATE=NONE | TOTAL | AVERAGE | MINIMUM | MEDIAN | MAXIMUM | N | NMISS | NOBS | FIRST | LAST | STDDEV | CSS | USS\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NONE\",\"description\":\"No accumulation occurs; the ID variable values must be equally spaced with respect to the frequency. This is the default option.\",\"type\":\"standalone\"},{\"name\":\"TOTAL\",\"description\":\"Observations are accumulated based on the total sum of their values.\",\"type\":\"standalone\"},{\"name\":\"AVERAGE\",\"description\":\"Observations are accumulated based on the average of their values.\",\"type\":\"standalone\"},{\"name\":\"MINIMUM\",\"description\":\"Observations are accumulated based on the minimum of their values.\",\"type\":\"standalone\"},{\"name\":\"MEDIAN\",\"description\":\"Observations are accumulated based on the median of their values.\",\"type\":\"standalone\"},{\"name\":\"MAXIMUM\",\"description\":\"Observations are accumulated based on the maximum of their values.\",\"type\":\"standalone\"},{\"name\":\"N\",\"description\":\"Observations are accumulated based on the number of nonmissing observations.\",\"type\":\"standalone\"},{\"name\":\"NMISS\",\"description\":\"Observations are accumulated based on the number of missing observations.\",\"type\":\"standalone\"},{\"name\":\"NOBS\",\"description\":\"Observations are accumulated based on the number of observations.\",\"type\":\"standalone\"},{\"name\":\"FIRST\",\"description\":\"Observations are accumulated based on the first of their values.\",\"type\":\"standalone\"},{\"name\":\"LAST\",\"description\":\"Observations are accumulated based on the last of their values.\",\"type\":\"standalone\"},{\"name\":\"STDDEV\",\"description\":\"Observations are accumulated based on the standard deviation of their values.\",\"type\":\"standalone\"},{\"name\":\"CSS\",\"description\":\"Observations are accumulated based on the corrected sum of squares of their values.\",\"type\":\"standalone\"},{\"name\":\"USS\",\"description\":\"Observations are accumulated based on the uncorrected sum of squares of their values.\",\"type\":\"standalone\"}]},{\"name\":\"ALIGN=\",\"optional\":true,\"description\":\"Controls the alignment of SAS dates used to identify output observations.\",\"help\":\"ALIGN=BEGINNING | MIDDLE | ENDING\",\"type\":\"choice\",\"arguments\":[{\"name\":\"BEGINNING\",\"description\":\"SAS dates aligned in the BEGINNING.\",\"type\":\"standalone\"},{\"name\":\"MIDDLE\",\"description\":\"SAS dates aligned in the MIDDLE.\",\"type\":\"standalone\"},{\"name\":\"ENDING\",\"description\":\"SAS dates aligned in the ENDING.\",\"type\":\"standalone\"}]},{\"name\":\"END=\",\"optional\":true,\"description\":\"Specifies a SAS date or datetime literal value that represents the end of the data.\",\"type\":\"value\"},{\"name\":\"FORMAT=\",\"optional\":true,\"description\":\"Specifies the SAS format for the time ID values. If the FORMAT= option is not specified, the default format is implied from the INTERVAL= option.\",\"help\":\"FORMAT=*format*\",\"type\":\"value\"},{\"name\":\"INTERVAL=\",\"optional\":true,\"description\":\"Specifies the frequency of the input time series or for the time series to be accumulated from the input data.\",\"help\":\"INTERVAL=DAY | HOUR | MINUTE | SECOND | WEEK | MONTH | YEAR | QTR | TENDAY | SEMIMONTH | SEMIYEAR\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DAY\",\"description\":\"DAY interval\",\"type\":\"standalone\"},{\"name\":\"HOUR\",\"description\":\"HOUR interval\",\"type\":\"standalone\"},{\"name\":\"MINUTE\",\"description\":\"MINUTE interval\",\"type\":\"standalone\"},{\"name\":\"SECOND\",\"description\":\"SECOND interval\",\"type\":\"standalone\"},{\"name\":\"WEEK\",\"description\":\"WEEK interval\",\"type\":\"standalone\"},{\"name\":\"MONTH\",\"description\":\"MONTH interval\",\"type\":\"standalone\"},{\"name\":\"YEAR\",\"description\":\"YEAR interval\",\"type\":\"standalone\"},{\"name\":\"QTR\",\"description\":\"QTR interval\",\"type\":\"standalone\"},{\"name\":\"TENDAY\",\"description\":\"TENDAY interval\",\"type\":\"standalone\"},{\"name\":\"SEMIMONTH\",\"description\":\"SEMIMONTH interval\",\"type\":\"standalone\"},{\"name\":\"SEMIYEAR\",\"description\":\"SEMIYEAR interval\",\"type\":\"standalone\"}]},{\"name\":\"NOTSORTED\",\"optional\":true,\"description\":\"Specifies that the time ID values are not in sorted order. The ESM procedure sorts the data with respect to the time ID prior to analysis.\",\"type\":\"standalone\"},{\"name\":\"SETMISSING=\",\"optional\":true,\"description\":\"Specifies how missing values (either input or accumulated) are assigned in the accumulated time series. If a number n is specified (SETMISSING=n), missing values are set to that number.\",\"help\":\"SETMISSING=MISSING | AVERAGE | MINIMUM | MEDIAN | MAXIMUM | FIRST | LAST | PREVIOUS | NEXT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"MISSING\",\"description\":\"Missing values are set to missing. This is the default option.\",\"type\":\"standalone\"},{\"name\":\"AVERAGE\",\"description\":\"Missing values are set to the accumulated average value.\",\"type\":\"standalone\"},{\"name\":\"MINIMUM\",\"description\":\"Missing values are set to the accumulated minimum value.\",\"type\":\"standalone\"},{\"name\":\"MEDIAN\",\"description\":\"Missing values are set to the accumulated median value.\",\"type\":\"standalone\"},{\"name\":\"MAXIMUM\",\"description\":\"Missing values are set to the accumulated maximum value.\",\"type\":\"standalone\"},{\"name\":\"FIRST\",\"description\":\"Missing values are set to the accumulated first nonmissing value.\",\"type\":\"standalone\"},{\"name\":\"LAST\",\"description\":\"Missing values are set to the accumulated last nonmissing value.\",\"type\":\"standalone\"},{\"name\":\"PREVIOUS\",\"description\":\"Missing values are set to the previous accumulated nonmissing value. Missing values at the beginning of the accumulated series remain missing.\",\"type\":\"standalone\"},{\"name\":\"NEXT\",\"description\":\"Missing values are set to the next accumulated nonmissing value. Missing values at the end of the accumulated series remain missing.\",\"type\":\"standalone\"}]},{\"name\":\"START=\",\"optional\":true,\"description\":\"Specifies a SAS date or datetime literal value that represents the beginning of the data.\",\"type\":\"value\"},{\"name\":\"ZEROMISS=\",\"optional\":true,\"description\":\"Specifies how beginning and/or ending zero values (either input or accumulated) are interpreted in the accumulated time series.\",\"help\":\"ZEROMISS=NONE | LEFT | RIGHT | BOTH\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NONE\",\"description\":\"Beginning and/or ending zeros are unchanged. This is the default.\",\"type\":\"standalone\"},{\"name\":\"LEFT\",\"description\":\"Beginning zeros are set to missing.\",\"type\":\"standalone\"},{\"name\":\"RIGHT\",\"description\":\"Ending zeros are set to missing.\",\"type\":\"standalone\"},{\"name\":\"BOTH\",\"description\":\"Both beginning and ending zeros are set to missing.\",\"type\":\"standalone\"}]}]}],\"supportSiteInformation\":{\"docsetId\":\"etsug\",\"docsetVersion\":\"latest\",\"docsetTargetFile\":\"etsug_esm_toc.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/EXPAND.json",
    "content": "{\"name\":\"EXPAND\",\"statements\":[{\"name\":\"PROC EXPAND\",\"description\":\"The EXPAND procedure converts time series from one sampling interval or frequency to another and interpolates missing values in time series. A wide array of data transformations is also supported. Using PROC EXPAND, you can collapse time series data from higher frequency intervals to lower frequency intervals, or expand data from lower frequency intervals to higher frequency intervals. For example, quarterly values can be aggregated to produce an annual series, or quarterly estimates can be interpolated from an annual series. † Time series frequency conversion is useful when you need to combine series with different sampling intervals into a single data set. For example, if you need as input to a monthly model a series that is only available quarterly, you might use PROC EXPAND to interpolate the needed monthly values. † You can also interpolate missing values in time series, either without changing series frequency or in conjunction with expanding or collapsing the series.\",\"help\":\"PROC EXPAND <ALIGN=BEGINNING|BEG|B | MIDDLE|MID|M | ENDING|END|E><DATA= SAS-data-set><EXTRAPOLATE><FACTOR= n | FACTOR=( n : m )><FROM=DAY | HOUR | MINUTE... ><OBSERVED=TOTAL | AVERAGE | BEGINNING... ><OUT= SAS-data-set><OUTEST= SAS-data-set><PLOTS=INPUT | TRANSFORMIN | CROSSINPUT... ><TO=DAY | HOUR | MINUTE... >;     \\n\\tBY variables ;\\n\\n\\tCONVERT <METHOD=<SPLINE(constraint<, constraint>) | JOIN | STEP>... ><OBSERVED=<TOTAL | AVERAGE | BEGINNING>... ><TRANSFORMIN=(operation ...)> ...;\\n\\n\\tID variable ;\\n\",\"arguments\":[{\"name\":\"ALIGN=\",\"optional\":true,\"description\":\"Controls the alignment of SAS dates used to identify output observations. BEGINNING is the default.\",\"help\":\"ALIGN=BEGINNING | MIDDLE | ENDING\",\"type\":\"choice\",\"arguments\":[{\"name\":\"BEGINNING\",\"aliases\":[\"BEG\",\"B\"],\"description\":\"SAS dates aligned in the BEGINNING.\",\"type\":\"standalone\"},{\"name\":\"MIDDLE\",\"aliases\":[\"MID\",\"M\"],\"description\":\"SAS dates aligned in the MIDDLE.\",\"type\":\"standalone\"},{\"name\":\"ENDING\",\"aliases\":[\"END\",\"E\"],\"description\":\"SAS dates aligned in the ENDING.\",\"type\":\"standalone\"}]},{\"name\":\"DATA=\",\"optional\":true,\"description\":\"Names the input data set. If the DATA= option is omitted, the most recently created SAS data set is used.\",\"type\":\"value\"},{\"name\":\"EXTRAPOLATE\",\"optional\":true,\"description\":\"Specifies that missing values at the beginning or end of input series be replaced with values produced by a linear extrapolation of the interpolating curve fit to the input series.\",\"type\":\"standalone\"},{\"name\":\"FACTOR=\",\"optional\":true,\"description\":\"Specifies the number of output observations to be created from the input observations. FACTOR=n specifies that n output observations are to be produced for each input observation. FACTOR=( n : m ) specifies that n output observations are to be produced for each group of m input observations. FACTOR=n is the same as FACTOR=(n : 1).\",\"type\":\"value\"},{\"name\":\"FROM=\",\"optional\":true,\"description\":\"Specifies the time interval between observations in the input data set.\",\"help\":\"FROM=DAY | HOUR | MINUTE | SECOND | WEEK | MONTH | YEAR | QTR | TENDAY | SEMIMONTH | SEMIYEAR\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DAY\",\"description\":\"DAY interval\",\"type\":\"standalone\"},{\"name\":\"HOUR\",\"description\":\"HOUR interval\",\"type\":\"standalone\"},{\"name\":\"MINUTE\",\"description\":\"MINUTE interval\",\"type\":\"standalone\"},{\"name\":\"SECOND\",\"description\":\"SECOND interval\",\"type\":\"standalone\"},{\"name\":\"WEEK\",\"description\":\"WEEK interval\",\"type\":\"standalone\"},{\"name\":\"MONTH\",\"description\":\"MONTH interval\",\"type\":\"standalone\"},{\"name\":\"YEAR\",\"description\":\"YEAR interval\",\"type\":\"standalone\"},{\"name\":\"QTR\",\"description\":\"QTR interval\",\"type\":\"standalone\"},{\"name\":\"TENDAY\",\"description\":\"TENDAY interval\",\"type\":\"standalone\"},{\"name\":\"SEMIMONTH\",\"description\":\"SEMIMONTH interval\",\"type\":\"standalone\"},{\"name\":\"SEMIYEAR\",\"description\":\"SEMIYEAR interval\",\"type\":\"standalone\"}]},{\"name\":\"OBSERVED=\",\"optional\":true,\"description\":\"Indicates the observation characteristics of the input time series and of the output series.\",\"help\":\"OBSERVED=TOTAL | AVERAGE | BEGINNING | MIDDLE | ENDING\",\"type\":\"choice\",\"arguments\":[{\"name\":\"TOTAL\",\"description\":\"Indicates that the data values represent period totals for the time interval corresponding to the observation.\",\"type\":\"standalone\"},{\"name\":\"AVERAGE\",\"description\":\"Indicates that the data values represent period averages.\",\"type\":\"standalone\"},{\"name\":\"BEGINNING\",\"description\":\"Indicates that the data are beginning-of-period values. OBSERVED=BEGINNING is the default.\",\"type\":\"standalone\"},{\"name\":\"MIDDLE\",\"description\":\"Indicates that the data are period midpoint values.\",\"type\":\"standalone\"},{\"name\":\"ENDING\",\"description\":\"Indicates that the data represent end-of-period values.\",\"type\":\"standalone\"}]},{\"name\":\"OUT=\",\"optional\":true,\"description\":\"Names the output data set containing the resulting time series. If OUT= is not specified, the data set is named using the DATAn convention.\",\"type\":\"value\"},{\"name\":\"OUTEST=\",\"optional\":true,\"description\":\"Names an output data set containing the coefficients of the spline curves fit to the input series. If the OUTEST= option is not specified, the spline coefficients are not output.\",\"type\":\"value\"},{\"name\":\"PLOTS=\",\"optional\":true,\"description\":\"Specifies the graphical output desired. If the PLOTS= option is used, the specified graphical output is produced for each output variable specified by a CONVERT statement. By default, the EXPAND procedure produces no graphical output.\",\"help\":\"PLOTS=INPUT | TRANSFORMIN | CROSSINPUT | JOINTINPUT | CONVERTED | TRANSFORMOUT | CROSSOUTPUT | JOINTOUTPUT | OUTPUT | ALL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"INPUT\",\"description\":\"Plots the input series\",\"type\":\"standalone\"},{\"name\":\"TRANSFORMIN\",\"description\":\"Plots the transformed input series (TRANSFORMIN= option)\",\"type\":\"standalone\"},{\"name\":\"CROSSINPUT\",\"description\":\"Plots both the input series and the transformed input series on one plot with two Y axis. The input and transformed series are shown on separate scales. (TRANSFORMIN= option)\",\"type\":\"standalone\"},{\"name\":\"JOINTINPUT\",\"description\":\"Plots both the input series and the transformed input series on one plot with one Y axis. The input and transformed series are shown on the same scale. (TRANSFORMIN= option)\",\"type\":\"standalone\"},{\"name\":\"CONVERTED\",\"description\":\"Plots the converted series, after input transformations and interpolation but before any TRANSFORMOUT= transformations are applied (METHOD= option)\",\"type\":\"standalone\"},{\"name\":\"TRANSFORMOUT\",\"description\":\"Plots the transformed output series (TRANSFORMOUT= option)\",\"type\":\"standalone\"},{\"name\":\"CROSSOUTPUT\",\"description\":\"Plots both the converted series and the transformed output series on one plot with two Y axis. The converted and transformed output series are shown on separate scales. (TRANSFORMOUT= option)\",\"type\":\"standalone\"},{\"name\":\"JOINTOUTPUT\",\"description\":\"Plots both the converted series and the transformed output series on one plot with one Y axis. The converted and transformed output series are shown on the same scale. (TRANSFORMOUT= option)\",\"type\":\"standalone\"},{\"name\":\"OUTPUT\",\"description\":\"Plots the series stored in the OUT= data set (combination of TRANSFORMIN=, METHOD=, and TRANFORMOUT= options)\",\"type\":\"standalone\"},{\"name\":\"ALL\",\"description\":\"Produces all plots except the Joint and Cross plots.\",\"type\":\"standalone\"}]},{\"name\":\"TO=\",\"optional\":true,\"description\":\"Specifies the time interval between observations in the output data set.\",\"help\":\"TO=DAY | HOUR | MINUTE | SECOND | WEEK | MONTH | YEAR | QTR | TENDAY | SEMIMONTH | SEMIYEAR\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DAY\",\"description\":\"DAY interval\",\"type\":\"standalone\"},{\"name\":\"HOUR\",\"description\":\"HOUR interval\",\"type\":\"standalone\"},{\"name\":\"MINUTE\",\"description\":\"MINUTE interval\",\"type\":\"standalone\"},{\"name\":\"SECOND\",\"description\":\"SECOND interval\",\"type\":\"standalone\"},{\"name\":\"WEEK\",\"description\":\"WEEK interval\",\"type\":\"standalone\"},{\"name\":\"MONTH\",\"description\":\"MONTH interval\",\"type\":\"standalone\"},{\"name\":\"YEAR\",\"description\":\"YEAR interval\",\"type\":\"standalone\"},{\"name\":\"QTR\",\"description\":\"QTR interval\",\"type\":\"standalone\"},{\"name\":\"TENDAY\",\"description\":\"TENDAY interval\",\"type\":\"standalone\"},{\"name\":\"SEMIMONTH\",\"description\":\"SEMIMONTH interval\",\"type\":\"standalone\"},{\"name\":\"SEMIYEAR\",\"description\":\"SEMIYEAR interval\",\"type\":\"standalone\"}]}]},{\"name\":\"BY\",\"description\":\"A BY statement can be used with PROC EXPAND to obtain separate analyses on observations in groups defined by the BY variables. The input data set must be sorted by the BY variables and be sorted by the ID variable within each BY group.\",\"help\":\"BY variables \"},{\"name\":\"CONVERT\",\"description\":\"The CONVERT statement lists the variables to be processed. Only numeric variables can be processed. For each of the variables listed, a new variable name can be specified after an equal sign to name the variable in the output data set that contains the converted values. If a name for the output series is not given, the variable in the output data set has the same name as the input variable. Variable lists may be used only when no name is given for the output series. For example, variable lists can be specified as follows: convert y1-y25 / observed=(beginning,end); convert x--a / observed=average; convert x-numeric-a / observed=average; Any number of CONVERT statements can be used. If no CONVERT statement is used, all the numeric variables in the input data set except those appearing in the BY and ID statements are processed.\",\"help\":\"CONVERT &lt;METHOD=&lt;SPLINE(constraint&lt;, constraint&gt;) | JOIN | STEP&gt;... &gt;&lt;OBSERVED=&lt;TOTAL | AVERAGE | BEGINNING&gt;... &gt;&lt;TRANSFORMIN=(operation ...)&gt; ...\",\"arguments\":[{\"name\":\"METHOD=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the method used to convert the data series. (The method specified by the METHOD= option is applied to the input data series after applying any transformations specified by the TRANSFORMIN= option.)\",\"help\":\"METHOD=SPLINE(constraint&lt;, constraint&gt;) | JOIN | STEP | AGGREGATE | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"SPLINE\",\"followsDelimiter\":\"/\",\"description\":\"Syntax: SPLINE(constraint<, constraint>) Fits a cubic spline curve to the input values. The constraint specifications can have the following values: NOTAKNOT specifies the not-a-knot constraint. This is the default. NATURAL specifies the natural spline constraint. SLOPE= value specifies the first derivative of the spline curve at the endpoint. CURVATURE= value specifies the second derivative of the spline curve at the endpoint.\",\"help\":\"SPLINE(constraint&lt;, constraint&gt;)\",\"type\":\"standalone\"},{\"name\":\"JOIN\",\"followsDelimiter\":\"/\",\"description\":\"Fits a continuous curve to the data by connecting successive straight line segments.\",\"type\":\"standalone\"},{\"name\":\"STEP\",\"followsDelimiter\":\"/\",\"description\":\"Fits a discontinuous piecewise constant curve.\",\"type\":\"standalone\"},{\"name\":\"AGGREGATE\",\"followsDelimiter\":\"/\",\"description\":\"Performs simple aggregation of time series without interpolation of missing values.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"followsDelimiter\":\"/\",\"description\":\"Specifies that no interpolation be performed.\",\"type\":\"standalone\"}]},{\"name\":\"OBSERVED=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Indicates the observation characteristics of the input time series and of the output series.\",\"help\":\"OBSERVED=TOTAL | AVERAGE | BEGINNING | MIDDLE | ENDING\",\"type\":\"choice\",\"arguments\":[{\"name\":\"TOTAL\",\"followsDelimiter\":\"/\",\"description\":\"Indicates that the data values represent period totals for the time interval corresponding to the observation.\",\"type\":\"standalone\"},{\"name\":\"AVERAGE\",\"followsDelimiter\":\"/\",\"description\":\"Indicates that the data values represent period averages.\",\"type\":\"standalone\"},{\"name\":\"BEGINNING\",\"followsDelimiter\":\"/\",\"description\":\"Indicates that the data are beginning-of-period values. OBSERVED=BEGINNING is the default.\",\"type\":\"standalone\"},{\"name\":\"MIDDLE\",\"followsDelimiter\":\"/\",\"description\":\"Indicates that the data are period midpoint values.\",\"type\":\"standalone\"},{\"name\":\"ENDING\",\"followsDelimiter\":\"/\",\"description\":\"Indicates that the data represent end-of-period values.\",\"type\":\"standalone\"}]},{\"name\":\"TRANSFORMIN=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"TRANSIN=\",\"TIN=\",\"TRANSFORM=\"],\"description\":\"Specifies a list of transformations to be applied to the input series before the interpolating function is fit. The operations are applied in the order listed.\",\"type\":\"value\"},{\"name\":\"TRANSFORMOUT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"TRANSOUT=\",\"TOUT=\"],\"description\":\"Specifies a list of transformations to be applied to the output series. The operations are applied in the order listed.\",\"type\":\"value\"}]},{\"name\":\"ID\",\"description\":\"The ID statement names a numeric variable that identifies observations in the input and output data sets. The ID variable’s values are assumed to be SAS date or datetime values. The input data must form time series. This means that the observations in the input data set must be sorted by the ID variable (within the BY variables, if any). Moreover, there should be no duplicate observations, and no two observations should have ID values within the same time interval as defined by the FROM= option. If the ID statement is omitted, SAS date or datetime values are generated to label the input observations. These ID values are generated by assuming that the input data set starts at a SAS date value of 0, that is, 1 January 1960. This default starting date is then incremented for each observation by the FROM= interval (using the same logic as DATA step INTNX function). If the FROM= option is not specified, the ID values are generated as the observation count minus 1. When the ID statement is not used, an ID variable is added to the output data set named either DATE or DATETIME, depending on the value specified in the TO= option. If neither the TO= option nor the FROM= option is given, the ID variable in the output data set is named TIME.\",\"help\":\"ID variable \"}],\"supportSiteInformation\":{\"docsetId\":\"etsug\",\"docsetVersion\":\"latest\",\"docsetTargetFile\":\"etsug_expand_toc.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/EXPORT.json",
    "content": "{\"name\":\"EXPORT\",\"statements\":[{\"name\":\"PROC EXPORT\",\"description\":\"Exports SAS data sets to an external data file.\",\"help\":\"PROC EXPORT  DATA=<libref | caslib.tablename.>SAS data set<(SAS data set options)>\\n\\tOUTFILE=\\\"filename\\\" | OUTTABLE=\\\"tablename\\\"\\n\\n\\t<DBMS=identifier><REPLACE><LABEL>;\\n\\nstatements for exporting to delimited files\\n\\tDELIMITER =char | 'nn’x;\\n\\n\\n\\tPUTNAMES =YES | NO;\\n\\nstatements for exporting to JMP files\\n\\tDBENCODING =12-char SAS encoding-value;\\n\\tFMTLIB =<libref.>format-catalog;\\n\\tMETA =libref.member-data-set;\",\"arguments\":[{\"name\":\"DATA=\",\"description\":\"identifies the input SAS data set with either a one- or two-level SAS name (library and member name). If you specify a one-level name, by default, the EXPORT procedure uses either the USER library (if assigned) or the WORK library.\",\"help\":\"DATA=&lt;*libref*.&gt;*SAS data set* | *caslib.tablename*\",\"type\":\"standaloneOrValue\",\"arguments\":[{\"name\":\"SAS\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"caslib.tablename\",\"placeholder\":true,\"type\":\"dataSet\"}],\"supportSiteTargetFragment\":\"n1e6fk8nxocq88n1x4cv9zosvac9\"},{\"name\":\"OUTFILE=\",\"aliases\":[\"FILE=\"],\"description\":\"specifies the complete path and file name or a fileref for the output PC file, spreadsheet, or delimited external file. A fileref is a SAS name that is associated with the physical location of a file. To assign a fileref, use the FILENAME statement.\",\"help\":\"OUTFILE=\\\"*filename*\\\" | \\\"*fileref*\\\"\",\"type\":\"choice\",\"arguments\":[{\"name\":\"\\\"filename\\\"\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"\\\"fileref\\\"\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"n16ze6lo48sqy0n1qnrrgljq82d1\"},{\"name\":\"OUTTABLE=\",\"aliases\":[\"TABLE=\"],\"description\":\"specifies the table name of the output DBMS table. If the name does not include special characters (such as question marks), lowercase characters, or spaces, you can omit the quotation marks. Note that the DBMS table name might be case sensitive.\",\"help\":\"OUTTABLE=\\\"*tablename*\\\"\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"p0pg9oyzpl4me2n1bjplcilepfno\"},{\"name\":\"DBMS=\",\"optional\":true,\"description\":\"specifies the type of external data source that the EXPORT procedure creates. To export to a DBMS table, you must specify the DBMS option by using a valid database identifier.\",\"help\":\"DBMS=*identifier*\",\"type\":\"value\",\"arguments\":[{\"name\":\"CSV\",\"description\":\"The output data source is a comma-separated delimited file. The file extension is .CSV.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n09w5pi7ec1rgtn18mbohz81de7r\"},{\"name\":\"DBF\",\"description\":\"dBASE 5.0, IV, III+, and III files. The file extension is .dbf.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0u0wwv6ou18o6n1mbxpekgbm64i\"},{\"name\":\"DBFMEMO\",\"description\":\"dBASE 5.0, IV, III+, and III files with memos.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n03oj5nopor6nkn19k6frmphbf3f\"},{\"name\":\"DLM\",\"description\":\"The output data source is a delimited file. You can use DELIMITER='char' to specifiy the type of data to export.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0fjwwhvf7byy6n1ipjh7t25vfzj\"},{\"name\":\"DTA\",\"description\":\"Stata file. The file extension is .dta.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p06kuyre65ufs5n1q23afy75wclm\"},{\"name\":\"JMP\",\"description\":\"The output data source is a JMP file, Version 7 or later format. The file extension is .JMP.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1obk4wm162oijn10a30psvk8a15\"},{\"name\":\"PARADOX\",\"description\":\"Paradox DB files. The file extension is .db.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1quqjds7pe593n0zmt5u4scyiir\"},{\"name\":\"SAV\",\"description\":\"SPSS files, compressed and uncompressed binary files. The file extension is .sav.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1bh2pc5zxqziin1j6bf78hs2jh7\"},{\"name\":\"TAB\",\"description\":\"The output data source is a tab delimited file. The file extension is .txt.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1kp9v2iyeu956n15k4ncopfqxj6\"},{\"name\":\"XLS\",\"description\":\"Microsoft Excel 97, 2000, 2002, or 2003 spreadsheet using file formats. The file extension is .xls.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0gvfna440n2xfn1240hzyey6229\"},{\"name\":\"XLSX\",\"description\":\"Excel 2007, 2010, and later spreadsheet, using .xlsx file format. The file extension is .xlsx.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n026k87sykuqmdn1onl167d9hdy4\"}],\"supportSiteTargetFragment\":\"n0c8p40v4f1756n194p08qq64vbk\"},{\"name\":\"LABEL\",\"optional\":true,\"description\":\"specifies a variable label name.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0m8d5p5g44tu2n1vyral391iawt\"},{\"name\":\"REPLACE\",\"optional\":true,\"description\":\"overwrites an existing file.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1af2jvfdnhavin1ul3t82tasbxl\"},{\"name\":\"(SAS data set options)\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies SAS data set options.\",\"help\":\"(*SAS data set options*)\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n13x1j4i5jzv1cn1pgtjlva3b5no\"}],\"supportSiteTargetFile\":\"n0ku4pxzx3d2len10ozjgyjbrpl9.htm\"},{\"name\":\"DBENCODING\",\"description\":\"Indicates the encoding used to save data in JMP files.\",\"help\":\"DBENCODING =*12-char SAS encoding-value*;\",\"arguments\":[{\"name\":\"12-char\",\"placeholder\":true,\"description\":\"indicates the encoding used to save data in JMP files. Encoding maps each character in a character set to a unique numeric representation, which results in a table of code points. A single character can have different numeric representations in different encodings. This value can be up to 12 characters long.\",\"help\":\"*12-char SAS encoding-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n18f1bvgprz31gn15szkrhajhbec\"}],\"supportSiteTargetFile\":\"n0mo5a4kwvixejn13adrspfo09l3.htm\"},{\"name\":\"DELIMITER\",\"description\":\"Specifies the delimiter to separate columns of data in the output file.\",\"help\":\"DELIMITER =*char* | '''*nn*x;\",\"arguments\":[{\"name\":\"char\",\"placeholder\":true,\"description\":\"specifies the delimiter to use to separate values in the output file. You can specify the delimiter as a single BYTE character or as a hexadecimal value. For example, if you want columns of data to be separated by an ampersand, specify DELIMITER='&'. A single character that requires two bytes to be represented in a DBCS environment is not valid.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n13n8m2gfpgo15n10kq4nm5n178m\"},{\"name\":\"''x\",\"description\":\"specifies the delimiter to use to separate values in the output file. You can specify the delimiter as a single BYTE character or as a hexadecimal value. For example, if you want columns of data to be separated by an ampersand, specify DELIMITER='&'. A single character that requires two bytes to be represented in a DBCS environment is not valid.\",\"help\":\"'*nn*'x\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n13n8m2gfpgo15n10kq4nm5n178m\"}],\"supportSiteTargetFile\":\"p00e1u5k4v11agn1ffmgvkfoufmg.htm\"},{\"name\":\"FMTLIB\",\"description\":\"Write SAS format values defined in the format catalog to the JMP file for the value labels.\",\"help\":\"FMTLIB =&lt;*libref*&gt; *format-catalog*;\",\"arguments\":[{\"name\":\"libref.format-catalog\",\"placeholder\":true,\"description\":\"specifies the format catalog to be written to the JMP file.\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"n0nrvm3kt6ej1wn1tdvannbgd4hl\"}],\"supportSiteTargetFile\":\"p06q1qcxvfcjlhn1u2ziy60inadl.htm\"},{\"name\":\"META\",\"description\":\"Writes SAS metadata information to the JMP file. (Deprecated)\",\"help\":\"META =*libref.member-data-set*;\",\"arguments\":[{\"name\":\"libref.member-data-set\",\"placeholder\":true,\"description\":\"specifies the SAS data set that contains the metadata information to be written to the JMP file.\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"p1w6j7mvi85zobn1qvmzhlh64hdb\"}],\"supportSiteTargetFile\":\"p12srz3b3q51m4n1s9uzzhs1ktpy.htm\"},{\"name\":\"PUTNAMES\",\"description\":\"Writes SAS variable names as column headings to the first row of the exported data file.\",\"help\":\"PUTNAMES =YES | NO;\",\"arguments\":[{\"name\":\"YES\",\"description\":\"specifies that the EXPORT procedure is to do the following tasks:\\n• Write the SAS variable names as column names (or headings) to the first row of the exported data file.\\n• Write the first row of the SAS data set to the second row of the exported data file.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0879w02cb5lbvn1pix7uw7stfz5\"},{\"name\":\"NO\",\"description\":\"specifies that the EXPORT procedure is to write the first row of SAS data set values to the first row of the exported data file.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0cyjhn4i0vzmfn1jqn9rdbc98yv\"}],\"supportSiteTargetFile\":\"p1oghgzuefh7oin1tpw0hodyegko.htm\"}],\"supportSiteInformation\":{\"docsetId\":\"proc\",\"docsetVersion\":\"v_002\",\"docsetTargetFile\":\"n045uxf7ll2p5on1ly4at3vpd47e.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/FACTEX.json",
    "content": "{\"name\":\"FACTEX\",\"statements\":[{\"name\":\"PROC FACTEX\",\"description\":\"The FACTEX procedure constructs orthogonal factorial experimental designs. These designs can be either full or fractional factorial designs, and they can be with or without blocks.\",\"help\":\"PROC FACTEX <NAMELEN><NOCHECK><TIME=t | SECONDS=t>;     \\n\\tBLOCKS <NBLKFACS=s | MAXIMUM><NBLKFACS=MAXIMUM><NBLOCKS=b | MAXIMUM> ...;\\n\\n\\tEXAMINE <ALIASING<(d)>><CONFOUNDING><DESIGN> ...;\\n\\n\\tFACTORS <NLEV=q> ;\\n\\n\\tMODEL <ESTIMATE=(effects) <option>><RESOLUTION=r | MAXIMUM><RESOLUTION=r | MAXIMUM> ...;\\n\\n\\tOUTPUT <CVALS=><NVALS=><OUT=SAS-data-set> ...;\\n\\n\\tSIZE <FRACTION=h | MAXIMUM><FRACTION=MAXIMUM><NRUNFACS=m | MINIMUM> ...;\\n\\n\\tUNITEFFECTS <SUB=(subuniteffects)><WHOLE=(wholeuniteffects)> ;\\n\",\"arguments\":[{\"name\":\"NAMELEN\",\"optional\":true,\"description\":\"Specifies the length of effect names in tables and output data sets to be n characters long, where n is a value between 20 and 200 characters. The default length is 20 characters.\",\"type\":\"standalone\"},{\"name\":\"NOCHECK\",\"optional\":true,\"description\":\"Suppresses a technique for limiting the amount of search required to find a design.\",\"type\":\"standalone\"},{\"name\":\"TIME=\",\"optional\":true,\"aliases\":[\"SECONDS=\"],\"description\":\"Specifies the maximum number of seconds to spend on the search. The default is 60 seconds.\",\"type\":\"value\"}]},{\"name\":\"BLOCKS\",\"description\":\"You use the BLOCKS statement to specify the blocks or split-plot units in the design. By default, the FACTEX procedure constructs designs that do not contain blocks.\",\"help\":\"BLOCKS &lt;NBLKFACS=s | MAXIMUM&gt;&lt;NBLKFACS=MAXIMUM&gt;&lt;NBLOCKS=b | MAXIMUM&gt; ...\",\"arguments\":[{\"name\":\"NBLKFACS=\",\"optional\":true,\"description\":\"Specifies the number of block pseudo-factors for the design. The design contains a different block for each possible combination of the levels of the block pseudo-factors.\",\"help\":\"NBLKFACS=*2* | MAXIMUM\",\"type\":\"choice\",\"arguments\":[{\"name\":\"s\",\"placeholder\":true,\"description\":\"Values of s are the integers 1, 2, and so on.\",\"type\":\"value\"},{\"name\":\"MAXIMUM\",\"description\":\"Constructs a blocked design with the minimum number of runs per block, given all the other characteristics of the design. In other words, the block size is optimized.\",\"type\":\"standalone\"}]},{\"name\":\"NBLOCKS=\",\"optional\":true,\"description\":\"Specifies the number of blocks in the design.\",\"help\":\"NBLOCKS=*b* | MAXIMUM\",\"type\":\"choice\",\"arguments\":[{\"name\":\"b\",\"placeholder\":true,\"description\":\"The values of b must be a power of q, the number of levels of each factor in the design.\",\"type\":\"value\"},{\"name\":\"MAXIMUM\",\"description\":\"Constructs a blocked design with the minimum number of runs per block, given all the other characteristics of the design. In other words, the block size is optimized.\",\"type\":\"standalone\"}]},{\"name\":\"SIZE=\",\"optional\":true,\"description\":\"Specifies the number of runs per block in the design. The value k must be a power of q, the number of levels for each factor in the design.\",\"help\":\"SIZE=*k* | MINIMUM\",\"type\":\"choice\",\"arguments\":[{\"name\":\"k\",\"placeholder\":true,\"description\":\"The value k must be a power of q, the number of levels for each factor in the design.\",\"type\":\"value\"},{\"name\":\"MINIMUM\",\"description\":\"Constructs a blocked design with the minimum number of runs per block, given all the other characteristics of the design. In other words, the block size is optimized.\",\"type\":\"standalone\"}]},{\"name\":\"UNITS=\",\"optional\":true,\"description\":\"Specifies unit factors that index the runs of the experiment. Each unit-specification has the form unitfactor = number-of-levels\",\"type\":\"value\"}]},{\"name\":\"EXAMINE\",\"description\":\"You use the EXAMINE statement to specify the characteristics of the design that are to be listed in the output.\",\"help\":\"EXAMINE &lt;ALIASING&lt;(d)&gt;&gt;&lt;CONFOUNDING&gt;&lt;DESIGN&gt; ...\",\"arguments\":[{\"name\":\"ALIASING\",\"optional\":true,\"description\":\"Lists the alias structure of the design, which identifies effects that are confounded with one another and are thus, indistinguishable. You can specify (d) immediately after the ALIASING option for a listing of the alias structure with effects up to and including order d.\",\"type\":\"standalone\"},{\"name\":\"CONFOUNDING\",\"optional\":true,\"description\":\"Lists the confounding rules used to construct the design.\",\"type\":\"standalone\"},{\"name\":\"DESIGN\",\"optional\":true,\"description\":\"Lists the points in the design in standard order with the factor levels coded.\",\"type\":\"standalone\"}]},{\"name\":\"FACTORS\",\"description\":\"You use the FACTORS statement to start the construction of a new design by naming the factors in the design.\",\"help\":\"FACTORS &lt;NLEV=q&gt;\",\"arguments\":[{\"name\":\"NLEV=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the number of levels for each factor in the design. The value of q must be an integer greater than or equal to 2. The default value for q is 2\",\"help\":\"NLEV=*q*\",\"type\":\"value\"}]},{\"name\":\"MODEL\",\"description\":\"\",\"help\":\"MODEL &lt;ESTIMATE=(effects) &lt;option&gt;&gt;&lt;RESOLUTION=r | MAXIMUM&gt;&lt;RESOLUTION=r | MAXIMUM&gt; ...\",\"arguments\":[{\"name\":\"ESTIMATE=\",\"optional\":true,\"description\":\"Identifies the effects that you want to estimate with the design. To specify effects, simply list the names of main effects, and join terms in interactions with asterisks. The effects listed must be enclosed within parentheses. you can specify the following option:\",\"type\":\"value\"},{\"name\":\"MINABS\",\"optional\":true,\"description\":\"Requests a search for a design that has minimum aberration. Specifying (d) immediately after the MINABS option requests a search for a minimum aberration design involving interactions up to order d.\",\"type\":\"standalone\"},{\"name\":\"RESOLUTION=\",\"optional\":true,\"aliases\":[\"RES=\"],\"description\":\"FACTEX procedure searches for a design with the highest resolution that satisfies the SIZE statement requirements.\",\"help\":\"RESOLUTION=*r* | MAXIMUM\",\"type\":\"choice\",\"arguments\":[{\"name\":\"r\",\"placeholder\":true,\"description\":\"Specifies the resolution of the design. The resolution number r must be a positive integer greater than or equal to 3.\",\"type\":\"value\"},{\"name\":\"MAXIMUM\",\"description\":\"With RESOLUTION=MAXIMUM, FACTEX procedure searches for a design with the highest resolution that satisfies the SIZE statement requirements.\",\"type\":\"standalone\"}]}]},{\"name\":\"OUTPUT\",\"description\":\"\",\"help\":\"OUTPUT &lt;CVALS=&gt;&lt;NVALS=&gt;&lt;OUT=SAS-data-set&gt; ...\",\"arguments\":[{\"name\":\"BLOCKNAME=\",\"optional\":true,\"description\":\"Changes the block variable name or the block levels.\",\"type\":\"value\"},{\"name\":\"CVALS=\",\"optional\":true,\"description\":\"Lists new character levels for design factors. Each string can be up to 40 characters long.\",\"type\":\"value\"},{\"name\":\"DESIGNREP=\",\"optional\":true,\"description\":\"Replicates the entire design. Specify DESIGNREP= to replicate the design c times, where c is an integer. Alternatively, you can specify a SAS data set with the DESIGNREP option. In this case, the design is replicated once for each point in the DESIGNREP= data set, and the OUT= data set contains the variables in the DESIGNREP= data set as well as the design variables.\",\"type\":\"value\"},{\"name\":\"NVALS=\",\"optional\":true,\"description\":\"Lists new numeric levels for design factors.\",\"type\":\"value\"},{\"name\":\"OUT=\",\"optional\":true,\"description\":\"Gives the name of the output data set in which the design is saved. Note that OUT= is required.\",\"help\":\"OUT=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"POINTREP=\",\"optional\":true,\"description\":\"Replicates each point of the design. Specify POINTREP= to replicate each design point p times, where p is an integer. Alternatively, you can specify a SAS data set with the POINTREP= option. In this case, the POINTREP= data set is replicated once for each point in the design and the OUT= data set contains the variables in the POINTREP= data set as well as the design variables.\",\"type\":\"value\"},{\"name\":\"RANDOMIZE=\",\"optional\":true,\"description\":\"Randomizes the design. The following options are available:\",\"help\":\"RANDOMIZE=NOVALRAN\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NOVALRAN\",\"type\":\"standalone\"}]}]},{\"name\":\"SIZE\",\"description\":\"You use the SIZE statement to specify the size of the design, which is the number of runs in the design.\",\"help\":\"SIZE &lt;FRACTION=h | MAXIMUM&gt;&lt;FRACTION=MAXIMUM&gt;&lt;NRUNFACS=m | MINIMUM&gt; ...\",\"arguments\":[{\"name\":\"DESIGN=\",\"optional\":true,\"description\":\"Specifies the actual number of runs in the design.\",\"help\":\"DESIGN=*n* | MINIMUM\",\"type\":\"choice\",\"arguments\":[{\"name\":\"n\",\"placeholder\":true,\"description\":\"The number of runs must be a power of the number of levels q for the factors in the design.\",\"type\":\"value\"},{\"name\":\"MINIMUM\",\"description\":\"Constructs a design with the minimum number of runs (no larger than one full replicate) given all of the other characteristics of the design. In other words, the design size is optimized.\",\"type\":\"standalone\"}]},{\"name\":\"FRACTION=\",\"optional\":true,\"description\":\"Specifies the fraction of one full replication of all possible combinations of the factors. For instance, FRACTION=2 specifies a half-fraction, FRACTION=4 specifies a quarter-fraction, and so on.\",\"help\":\"FRACTION=*h* | MAXIMUM\",\"type\":\"choice\",\"arguments\":[{\"name\":\"h\",\"placeholder\":true,\"description\":\"Specifies the fraction of one full replication of all possible combinations of the factors. For instance, FRACTION=2 specifies a half-fraction, FRACTION=4 specifies a quarter-fraction, and so on.\",\"type\":\"value\"},{\"name\":\"MAXIMUM\",\"description\":\"Constructs a design with the minimum number of runs (no larger than one full replicate) given all of the other characteristics of the design. In other words, the design size is optimized.\",\"type\":\"standalone\"}]},{\"name\":\"NRUNFACS=\",\"optional\":true,\"description\":\"Specifies the number of run-indexing factors in the design. The design contains one run for each possible combination of the levels of the run-indexing factors.\",\"help\":\"NRUNFACS=*m* | MINIMUM\",\"type\":\"choice\",\"arguments\":[{\"name\":\"m\",\"placeholder\":true,\"description\":\"Specifies the number of run-indexing factors in the design. The design contains one run for each possible combination of the levels of the run-indexing factors.\",\"type\":\"value\"},{\"name\":\"MINIMUM\",\"description\":\"Constructs a design with the minimum number of runs (no larger than one full replicate) given all of the other characteristics of the design. In other words, the design size is optimized.\",\"type\":\"standalone\"}]}]},{\"name\":\"UNITEFFECTS\",\"description\":\"You use the UNITEFFECTS statement to specify constraints on how the factor levels can change across the runs of the experiment. Such constraints are known as randomization restrictions.\",\"help\":\"UNITEFFECTS &lt;SUB=(subuniteffects)&gt;&lt;WHOLE=(wholeuniteffects)&gt;\",\"arguments\":[{\"name\":\"SUB=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"The SUB=() option says what unit mean contrasts will be used to compute the subuniteffects and what random error terms will be used to test them, and are thus known as \\\"model constraints\\\".\",\"type\":\"value\"},{\"name\":\"WHOLE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"The wholeuniteffects specified by the WHOLE=() option typically define a necessary feature of how the experiment must be designed, and are thus known as \\\"design constraints\\\".\",\"type\":\"value\"}]}],\"interactive\":true,\"supportSiteInformation\":{\"docsetId\":\"qcug\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"qcug_factex_toc.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/FACTMAC.json",
    "content": "{\"name\":\"FACTMAC\",\"statements\":[{\"name\":\"PROC FACTMAC\",\"description\":\"The FACTMAC procedure implements the factorization machine model in SAS Viya. The flexible factorization machine model has applications in predictive modeling and recommendation (Rendle 2012). Factorization machines generalize matrix factorization, among other techniques. You can use the FACTMAC procedure to read and write data in distributed form, and to perform factorization in parallel by making full use of multicore computers or distributed computing environments. The FACTMAC procedure estimates factors for each of the nominal input variables you specify, in addition to estimating a global bias and a bias for each level of those nominal input variables. You also specify an interval target variable. The procedure computes the biases and factors by using the stochastic gradient descent (SGD) algorithm, which minimizes the root mean square error (RMSE) criterion on the input data table that you provide. In this method, each iteration attempts to reduce the RMSE. The SGD algorithm proceeds until the maximum number of iterations is reached. PROC FACTMAC stores the results of the factorization an output data table, which is produced by the OUTMODEL= option. This data table contains the factors in addition to the global bias and the biases for all the levels of the input variables, in addition to the factors. The corresponding level names are listed for ease of reference. The biases and factors are used for scoring.\",\"help\":\"PROC FACTMAC <options>;                 \\n\\tAUTOTUNE <options>;                 \\n\\n\\tCODE  FILE=filename;                 \\n\\n\\tCROSSVALIDATION <options>;                 \\n\\n\\tDISPLAY <table-list></ options>;                 \\n\\n\\tDISPLAYOUT  table-spec-list </ options>;                 \\n\\n\\tFREQ variable;                 \\n\\n\\tID variables;                 \\n\\n\\tINPUT  variables < LEVEL={INTERVAL | NOMINAL}>;                 \\n\\n\\tOUTPUT  OUT=libref.data-table<options>;                 \\n\\n\\tPARTITION  partition-option;                 \\n\\n\\t SAVESTATE RSTORE=libref.data-table;                 \\n\\n\\tTARGET  variable <LEVEL=INTERVAL>;                 \\n\\n\\tWEIGHT variable;                 \\n\",\"arguments\":[{\"name\":\"APPLYROWORDER\",\"optional\":true,\"description\":\"uses a data distribution and row order as determined by a previous partition action call\",\"type\":\"standalone\"},{\"name\":\"DATA=\",\"optional\":true,\"description\":\"names the input data table for PROC FACTMAC to use. The default is the most recently created data table.\",\"help\":\"DATA=*libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"LEARNSTEP=\",\"optional\":true,\"description\":\"specifies the learning step size for the stochastic gradient descent (SGD) algorithm, where number is a positive real number. The learning step size controls the amount by which the factors are updated at each iteration. By default, LEARNSTEP=0.001. This value can be tuned with the AUTOTUNE statement.\",\"help\":\"LEARNSTEP=*number*\",\"type\":\"value\"},{\"name\":\"MAXITER=\",\"optional\":true,\"description\":\"specifies the maximum number of iterations for the algorithm to perform, where number is an integer greater than or equal to 1. In each iteration of the SGD method, the factors are recomputed. By default, MAXITER=1. This value can be tuned with the AUTOTUNE statement.\",\"help\":\"MAXITER=*number*\",\"type\":\"value\"},{\"name\":\"NFACTORS=\",\"optional\":true,\"description\":\"specifies the number of factors to estimate for the model, where number is an integer greater than or equal to 1. By default, NFACTORS=1. This value can be tuned with the AUTOTUNE statement.\",\"help\":\"NFACTORS=*number*\",\"type\":\"value\"},{\"name\":\"NONNEGATIVE\",\"optional\":true,\"description\":\"performs nonnegative factorization, in which the estimated factors are greater than or equal to 0 and the estimated biases are 0. By default, nonnegative factorization is not performed.\",\"type\":\"standalone\"},{\"name\":\"NOPRINT\",\"optional\":true,\"description\":\"suppresses ODS output\",\"type\":\"standalone\"},{\"name\":\"NTHREADS=\",\"optional\":true,\"description\":\"specifies the number of threads to use for the computation, where number-of-threads is an integer from 1 to 64, inclusive. The default value is the maximum number of available threads per computer.\",\"help\":\"NTHREADS=*number-of-threads*\",\"type\":\"value\"},{\"name\":\"OUTMODEL=\",\"optional\":true,\"description\":\"specifies the output model data table to contain the computed factor parameters. libref.data-table is a two-level name, where libref refers to the library, and data-table specifies the name of the output data table.\",\"help\":\"OUTMODEL=*libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"SEED=\",\"optional\":true,\"description\":\"specifies an integer that is used to start the pseudorandom number generator. This option enables you to reproduce the same sample output, but only when NTHREADS=1. If you do not specify a seed or you specify a value less than or equal to 0, the seed is generated from reading the time of day from the computer’s clock. By default, SEED=0.\",\"help\":\"SEED=*random-seed*\",\"type\":\"value\"}]},{\"name\":\"AUTOTUNE\",\"description\":\"searches for the best combination of values of the NFACTORS=, LEARNSTEP=, and MAXITER= options in the PROC FACTMAC statement. You cannot specify both the OUTPUT and AUTOTUNE statements in the same run of PROC FACTMAC. You cannot specify both the AUTOTUNE statement and the CROSSVALIDATION statement in the same run of PROC FACTMAC.\",\"help\":\"AUTOTUNE &lt;options&gt;;                                              \",\"arguments\":[{\"name\":\"TUNINGPARAMETERS=\",\"optional\":true,\"aliases\":[\"TUNEPARMS=\"],\"description\":\"specifies which parameters to tune and which ranges to tune over. If USEPARAMETERS=STANDARD, this option is ignored.\",\"help\":\"TUNINGPARAMETERS=(*suboption* |...| &lt;*suboption*&gt;)\",\"type\":\"value\",\"arguments\":[{\"name\":\"NFACTORS\",\"description\":\"specifies information about the number of factors to use for tuning the factorization machine model.\",\"help\":\"NFACTORS (LB=*number* UB=*number* VALUES=*value-list* INIT=*number* EXCLUDE)\",\"type\":\"value\",\"arguments\":[{\"name\":\"LB=\",\"description\":\"specifies the minimum number of factors to consider during tuning. If you specify this suboption, you cannot specify the VALUES= suboption. By default, LB=5.\",\"help\":\"LB=*number*\",\"type\":\"value\"},{\"name\":\"UB=\",\"description\":\"specifies the maximum number of factors to consider during tuning. If you specify this suboption, you cannot specify the VALUES= suboption. By default, UB=30.\",\"help\":\"UB=*number*\",\"type\":\"value\"},{\"name\":\"VALUES=\",\"description\":\"specifies a list of values to consider for the number of factors during tuning, where value-list is a space-separated list of integer numbers greater than or equal to 1. If you specify this suboption, you cannot specify either the LB= or UB= suboption.\",\"help\":\"VALUES=*value-list*\",\"type\":\"value\"},{\"name\":\"INIT=\",\"description\":\"specifies the initial number of factors for the tuner to use. By default, INIT=5.\",\"help\":\"INIT=*number*\",\"type\":\"value\"},{\"name\":\"EXCLUDE\",\"description\":\"excludes the number of factors from the tuning process. If you specify this suboption, any specified LB=, UB=, VALUES=, and INIT= suboptions are ignored.\",\"type\":\"standalone\"}]},{\"name\":\"LEARNSTEP\",\"description\":\"specifies information about the learning step to use for tuning the factorization machine model.\",\"help\":\"LEARNSTEP (LB=*number* UB=*number* VALUES=*value-list* INIT=*number* EXCLUDE)\",\"type\":\"value\",\"arguments\":[{\"name\":\"LB=\",\"description\":\"specifies the minimum learning step to consider during tuning. If you specify this suboption, you cannot specify the VALUES= suboption. By default, LB=0.001.\",\"help\":\"LB=*number*\",\"type\":\"value\"},{\"name\":\"UB=\",\"description\":\"specifies the maximum learning step to consider during tuning. If you specify this suboption, you cannot specify the VALUES= suboption. By default, UB=1.\",\"help\":\"UB=*number*\",\"type\":\"value\"},{\"name\":\"VALUES=\",\"description\":\"specifies a list of learning steps to consider during tuning, where value-list is a space-separated list of numbers greater than 0. If you specify this suboption, you cannot specify either the LB= or UB= suboption.\",\"help\":\"VALUES=*value-list*\",\"type\":\"value\"},{\"name\":\"INIT=\",\"description\":\"specifies the initial learning step for the tuner to use. By default, INIT=0.001.\",\"help\":\"INIT=*number*\",\"type\":\"value\"},{\"name\":\"EXCLUDE\",\"description\":\"excludes the learning step from the tuning process. If you specify this suboption, any specified LB=, UB=, VALUES=, and INIT= suboptions are ignored.\",\"type\":\"standalone\"}]},{\"name\":\"MAXITER\",\"description\":\"specifies information about the maximum number of iterations to use for tuning the factorization machine model.\",\"help\":\"MAXITER (LB=*number* UB=*number* VALUES=*value-list* INIT=*number* EXCLUDE)\",\"type\":\"value\",\"arguments\":[{\"name\":\"LB=\",\"description\":\"specifies the minimum number of iterations to consider during tuning. If you specify this suboption, you cannot specify the VALUES= suboption. By default, LB=10.\",\"help\":\"LB=*number*\",\"type\":\"value\"},{\"name\":\"UB=\",\"description\":\"specifies the maximum number of iterations to consider during tuning. If you specify this suboption, you cannot specify the VALUES= suboption. By default, UB=200.\",\"help\":\"UB=*number*\",\"type\":\"value\"},{\"name\":\"VALUES=\",\"description\":\"specifies a list of numbers of trees to consider during tuning, where value-list is a space-separated list of positive integers. If you specify this suboption, you cannot specify either the LB= or UB= suboption.\",\"help\":\"VALUES=*value-list*\",\"type\":\"value\"},{\"name\":\"INIT=\",\"description\":\"specifies the initial number of iterations for the tuner to use. By default, INIT=30.\",\"help\":\"INIT=*number*\",\"type\":\"value\"},{\"name\":\"EXCLUDE\",\"description\":\"excludes the number of iterations from the tuning process. If you specify this suboption, any specified LB=, UB=, VALUES=, and INIT= suboptions are ignored.\",\"type\":\"standalone\"}]}]}]},{\"name\":\"CODE\",\"description\":\"generates SAS DATA step code that mimics the computations that are performed. The generated SAS DATA step code can be used for scoring new observations. Only one CODE statement is processed. If you specify multiple CODE statements, only the first one is used. The CODE statement is optional. If you do not include a CODE statement, no score code is generated.\",\"help\":\"CODE  FILE=filename;                                              \",\"arguments\":[{\"name\":\"FILE=\",\"optional\":true,\"description\":\"specifies the name of the file to write the SAS score code to.\",\"help\":\"FILE=*filename*\",\"type\":\"value\"}]},{\"name\":\"CROSSVALIDATION\",\"description\":\"performs k-fold cross validation to find the average estimated validation error. You cannot specify this statement if you specify either the AUTOTUNE statement or the PARTITION statement.\",\"help\":\"CROSSVALIDATION &lt;options&gt;;                                              \",\"arguments\":[{\"name\":\"KFOLD=\",\"optional\":true,\"description\":\"specifies the number of partition folds in the cross validation process, where number is between 2 and 20, inclusive. By default, KFOLD=5.\",\"help\":\"KFOLD=*number*\",\"type\":\"value\"},{\"name\":\"NOPARALLEL\",\"optional\":true,\"description\":\"specifies that k-fold cross validation not be run in parallel. By default, the process runs in parallel.\",\"type\":\"standalone\"},{\"name\":\"NSUBSESSIONWORKERS=\",\"optional\":true,\"description\":\"specifies the number of worker nodes to use in parallel subsessions. If you omit this option or if the number is 0, the number of worker nodes is determined automatically.\",\"help\":\"NSUBSESSIONWORKERS=*number*\",\"type\":\"value\"}]},{\"name\":\"DISPLAY\",\"description\":\"enables you to specify a list of display tables to display or exclude. This statement is similar to the ODS SELECT, ODS EXCLUDE, and ODS TRACE statements. However, the DISPLAY statement can improve performance when a large number of tables could be generated (such as in BY-group processing). The procedure processes the DISPLAY statement on a CAS server and thus sends only a subset of ODS tables to the SAS client. Because ODS statements are processed on a SAS client, first all the generated display tables are sent to the client, and then the client creates a subset. If you use both DISPLAY and ODS statements together, the DISPLAY statement takes precedence over the ODS statements. Note that the ODS EXCLUDE statement processes tables that are sent to the client after they have been filtered by the DISPLAY statement. In some cases, it might appear that the ODS EXCLUDE statement is taking precedence because it can further filter the tables.\",\"help\":\"DISPLAY &lt;table-list&gt;&lt;/ options&gt;;                                              \",\"arguments\":[{\"name\":\"CASESENSITIVE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"performs a case-sensitive comparison of table names in the table-list to display table names when tables are subsetted for display. To preserve case, you must enclose table names in the table-list in quotation marks.\",\"type\":\"standalone\"},{\"name\":\"EXCLUDE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"displays all display tables except those that you specify in the table-list.\",\"type\":\"standalone\"},{\"name\":\"EXCLUDEALL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses display of all tables. This option takes precedence over the other options.\",\"type\":\"standalone\"},{\"name\":\"TRACE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"displays the display table names, labels, and paths.\",\"type\":\"standalone\"}]},{\"name\":\"DISPLAYOUT\",\"description\":\"enables you to create output tables from your displayed output. This statement is similar to the ODS OUTPUT statement. The table-spec-list specifies a list of output tables in key=value or key format. key=value specifies key as the ODS table name, path, or partial pathname, and value as the output table name. key is the ODS table name and the output table name. You cannot specify the ODS table named OutputCasTables in the table-spec-list. You also cannot specify the ODS tables that are created by the AUTOTUNE and CROSSVALIDATION statements. The DISPLAYOUT statement does not support regular expressions.\",\"help\":\"DISPLAYOUT  table-spec-list &lt;/ options&gt;;                                            \",\"arguments\":[{\"name\":\"INCLUDEALL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"creates output tables for all display tables. The name of the created output table is the same as the name of the corresponding display table. If you specify this option, the table-spec-list specification is ignored.\",\"type\":\"standalone\"},{\"name\":\"NOREPLACE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"does not replace any existing output table of the same name.\",\"type\":\"standalone\"},{\"name\":\"REPEATED\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"replicates all output tables on all nodes.\",\"type\":\"standalone\"}]},{\"name\":\"FREQ\",\"description\":\"The variable in the FREQ statement identifies a numeric variable in the input data table that contains the frequency of occurrence of each observation. If the value of the variable for an observation is not an integer, it is truncated to an integer; if the value is less than 1 or missing, the observation is not used in the analysis. When the FREQ statement is omitted, each observation is assigned a frequency of 1.\",\"help\":\"FREQ *variable*;                                              \"},{\"name\":\"ID\",\"description\":\"lists one or more variables that are to be copied from the input data table to the output data tables that are specified in the OUT= option in the OUTPUT statement and the RSTORE= option in the SAVESTATE statement.\",\"help\":\"ID *variables*;                                              \"},{\"name\":\"INPUT\",\"description\":\"specifies the names of the variables to be used in the factorization. It names one or more input variables that use common options. If you want to use different options for different variables, you can specify multiple INPUT statements. By default, LEVEL=INTERVAL for numeric variables and LEVEL=NOMINAL for categorical variables. You must specify at least two nominal input variables. You can also specify any number of interval input variables.\",\"help\":\"INPUT  variables &lt; LEVEL={INTERVAL | NOMINAL}&gt;;                                              \",\"arguments\":[{\"name\":\"LEVEL=\",\"optional\":true,\"description\":\"specifies the level of measurement of the variables.\",\"help\":\"LEVEL=INTERVAL | NOMINAL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"INTERVAL\",\"description\":\"specifies that the level of measurement of the variables is interval.\",\"type\":\"standalone\"},{\"name\":\"NOMINAL\",\"description\":\"specifies that the level of measurement of the variables is nominal.\",\"type\":\"standalone\"}]}]},{\"name\":\"OUTPUT\",\"description\":\"creates an output data table to contain the results of the procedure run. You cannot specify both the OUTPUT and AUTOTUNE statements in the same run of PROC FACTMAC.\",\"help\":\"OUTPUT  OUT=*libref.data-table*&lt;options&gt;;                                              \",\"arguments\":[{\"name\":\"OUT=\",\"optional\":true,\"description\":\"names the output data table for PROC FACTMAC to use. You must specify this option before any other options. libref.data-table is a two-level name, where libref refers to a collection of information that is defined in the LIBNAME statement and includes the library, which includes a path to where the data table is to be stored, and a session identifier, which defaults to the active session but which can be explicitly defined in the LIBNAME statement. data-table specifies the name of the output data table.\",\"help\":\"OUT=*libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"COPYVAR=\",\"optional\":true,\"aliases\":[\"COPYVARS=(variables)\"],\"description\":\"lists one or more variables from the input data table to be transferred to the output data table.\",\"help\":\"COPYVAR={*variable*}\",\"type\":\"value\"},{\"name\":\"ROLE\",\"optional\":true,\"description\":\"specifies a numeric variable that indicates the role that each observation plays in fitting the model. The default name is _ROLE_. If you do not partition the input data by specifying a PARTITION statement, then the role variable value is 1 for all observations.\",\"help\":\"ROLE&lt;=*variable*&gt;\",\"type\":\"standaloneOrValue\"}]},{\"name\":\"PARTITION\",\"description\":\"specifies how observations in the input data set are logically partitioned into disjoint subsets for model training, validation, and testing. Either you can designate a variable in the input data table and a set of formatted values of that variable to determine the role of each observation, or you can specify proportions to use for randomly assigning observations to each role.\",\"help\":\"PARTITION  partition-option;                                              \",\"arguments\":[{\"name\":\"FRACTION\",\"optional\":true,\"description\":\"randomly assigns specified proportions of the observations in the input data table to the roles. You specify the proportions for testing and validation by using the TEST= and VALIDATE= suboptions. If you specify both the TEST= and VALIDATE= suboptions, then the sum of the specified fractions must be less than 1 and the remaining fraction is the proportion of the observations assigned to the training role. The SEED= option specifies an integer that is used to start the pseudorandom number generator for random partitioning of data for training, testing, and validation. If you do not specify SEED=number or if number is less than or equal to 0, the seed is generated by reading the time of day from the computer’s clock. NOTE: You cannot specify the FRACTION option and the AUTOTUNE statement at the same time.\",\"help\":\"FRACTION(&lt;TEST=*fraction*&gt; &lt;VALIDATE=*fraction*&gt; &lt;SEED=*number*&gt;)\",\"type\":\"standaloneOrValue\"},{\"name\":\"ROLE=\",\"optional\":true,\"aliases\":[\"ROLEVAR=\"],\"description\":\"names the variable in the input data table whose values are used to assign roles to each observation. This variable cannot also appear as an analysis variable in other statements or options. The TEST=, TRAIN=, and VALIDATE= suboptions specify the formatted values of this variable that are used to assign observation roles. If you do not specify the TRAIN= suboption, then all observations whose role is not determined by the TEST= or VALIDATE= suboption are assigned to the training role.\",\"help\":\"ROLE=*variable* (&lt;TEST=*'value'*&gt; &lt;TRAIN=*'value'*&gt; &lt;VALIDATE=*'value'*&gt;) \",\"type\":\"value\"}]},{\"name\":\"SAVESTATE\",\"description\":\"creates an analytic store for the model and saves it as a binary object in a data table. You can use the analytic store in the ASTORE procedure to score new data.\",\"help\":\"SAVESTATE RSTORE= *libref.data-table*;                                              \",\"arguments\":[{\"name\":\"RSTORE=\",\"optional\":true,\"description\":\"specifies a data table in which to save the analytic store for the model. libref.data-table is a two-level name, where libref refers to the library, and data-table specifies the name of the output data table.\",\"help\":\"RSTORE=*libref.data-table*\",\"type\":\"dataSet\"}]},{\"name\":\"TARGET\",\"description\":\"names the target variable whose values PROC FACTMAC predicts. The target must be interval and must be different from the variables in the INPUT statement.\",\"help\":\"TARGET  variable &lt;LEVEL=INTERVAL&gt;;                                              \",\"arguments\":[{\"name\":\"LEVEL=\",\"optional\":true,\"description\":\"specifies the level of measurement of the variables. PROC FACTMAC currently accepts only interval target variables.\",\"help\":\"LEVEL=INTERVAL\",\"type\":\"value\"}]},{\"name\":\"WEIGHT\",\"description\":\"The variable in the WEIGHT statement is used as a weight to perform a weighted analysis of the data. Observations that have nonpositive or missing weights are not included in the analysis. When the WEIGHT statement is omitted, all observations that are used in the analysis are assigned a weight of 1.\",\"help\":\"WEIGHT *variable*;                                              \"}],\"supportSiteInformation\":{\"docsetId\":\"casml\",\"docsetVersion\":\"latest\",\"docsetTargetFile\":\"casml_factmac_toc.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/FACTOR.json",
    "content": "{\"name\":\"FACTOR\",\"statements\":[{\"name\":\"PROC FACTOR\",\"description\":\"The FACTOR procedure performs a variety of common factor and component analyses and rotations. Input can be multivariate data, a correlation matrix, a covariance matrix, a factor pattern, or a matrix of scoring coefficients. The procedure can factor either the correlation or covariance matrix, and you can save most results in an output data set.\",\"help\":\"PROC FACTOR <ALL><ALPHA=α><CONVERGE=p><CORR><COVARIANCE><COVER <=p>><DATA=SAS-data-set><EIGENVECTORS><FLAG=p><FUZZ=p><GAMMA=p><HEYWOOD><HKPOWER=p><MAXITER=n><METHOD=ALPHA|A | HARRIS|H | IMAGE|I... ><MINEIGEN=p><MSA><NFACTORS=n><NOBS=n><NOCORR><NOINT><NOPRINT><NOPROMAXNORM><NORM=COV | KAISER | NONE... ><NPLOTS= | NPLOT=n><OUT=SAS-data-set><OUTSTAT=SAS-data-set><PARPREFIX=name><PLOT><PLOTREF><PLOTS=ALL | INITLOADINGS | LOADINGS... ><POWER=n><PREFIX=name><PREPLOT><PREROTATE=name><PRINT><PRIORS=ASMC|A | INPUT|I | MAX|M... ><PROPORTION=p><RANDOM=n><RCONVERGE=p><REORDER><RESIDUALS><RITER=n><ROTATE=BIQUARTIMAX|BIQMAX | EQUAMAX|E | FACTORPARSIMAX|FPA... ><ROUND><SCORE><SCREE><SIMPLE><SINGULAR=p><STDERR><TARGET=SAS-data-set><TAU=p><ULTRAHEYWOOD><VARDEF=DF | N | WDF... ><WEIGHT>;     \\n\\tBY <DESCENDING><NOTSORTED> ;\\n\\n\\tFREQ variable;\\n\\n\\tPARTIAL variables ;\\n\\n\\tPRIORS communalities ;\\n\\n\\tVAR;\\n\\n\\tWEIGHT variable;\\n\",\"arguments\":[{\"name\":\"ALL\",\"optional\":true,\"description\":\"Displays all optional output except plots. When the input data set is TYPE=CORR, TYPE=UCORR, TYPE=COV, TYPE=UCOV, or TYPE=FACTOR, simple statistics, correlations, and MSA are not displayed.\",\"type\":\"standalone\"},{\"name\":\"ALPHA=\",\"optional\":true,\"description\":\"Specifies the level of confidence 1 - α for interval construction. By default, α= 0.05, corresponding to 1 - α= 95% confidence intervals.\",\"type\":\"value\"},{\"name\":\"CONVERGE=\",\"optional\":true,\"aliases\":[\"CONV=\"],\"description\":\"Specifies the convergence criterion for the METHOD=PRINIT, METHOD=ULS, METHOD=ALPHA, or METHOD=ML option.\",\"help\":\"CONVERGE=*p*\",\"type\":\"value\"},{\"name\":\"CORR\",\"optional\":true,\"description\":\"Displays the correlation matrix or partial correlation matrix.\",\"type\":\"standalone\"},{\"name\":\"COVARIANCE\",\"optional\":true,\"aliases\":[\"COV\"],\"description\":\"Requests factoring of the covariance matrix instead of the correlation matrix. The COV option is effective only with the METHOD=PRINCIPAL, METHOD=PRINIT, METHOD=ULS, or METHOD=IMAGE option.\",\"type\":\"standalone\"},{\"name\":\"COVER\",\"optional\":true,\"aliases\":[\"CI\"],\"description\":\"Computes the confidence intervals and optionally specifies the value of factor loading for coverage detection. By default, p = 0.\",\"type\":\"standalone\"},{\"name\":\"DATA=\",\"optional\":true,\"description\":\"Specifies the input data set, which can be an ordinary SAS data set or a specially structured SAS data set. If the DATA= option is omitted, the most recently created SAS data set is used.\",\"help\":\"DATA=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"EIGENVECTORS\",\"optional\":true,\"aliases\":[\"EV\"],\"description\":\"Displays the eigenvectors of the reduced correlation matrix, of which the diagonal elements are replaced with the communality estimates.\",\"type\":\"standalone\"},{\"name\":\"FLAG=\",\"optional\":true,\"description\":\"Flags absolute values larger than p with an asterisk in the correlation and loading matrices.\",\"help\":\"FLAG=*p*\",\"type\":\"value\"},{\"name\":\"FUZZ=\",\"optional\":true,\"description\":\"Prints correlations and factor loadings with absolute values less than p printed as missing.\",\"help\":\"FUZZ=*p*\",\"type\":\"value\"},{\"name\":\"GAMMA=\",\"optional\":true,\"description\":\"Specifies the orthomax weight used with the option ROTATE=ORTHOMAX or PREROTATE=ORTHOMAX.\",\"help\":\"GAMMA=*p*\",\"type\":\"value\"},{\"name\":\"HEYWOOD\",\"optional\":true,\"aliases\":[\"HEY\"],\"description\":\"Sets to 1 any communality greater than 1, allowing iterations to proceed.\",\"type\":\"standalone\"},{\"name\":\"HKPOWER=\",\"optional\":true,\"aliases\":[\"HKP=\"],\"description\":\"Specifies the power of the square roots of the eigenvalues used to rescale the eigenvectors for Harris-Kaiser (ROTATE=HK) rotation, assuming that the factors are extracted by the principal factor method.\",\"help\":\"HKPOWER=*p*\",\"type\":\"value\"},{\"name\":\"MAXITER=\",\"optional\":true,\"description\":\"Specifies the maximum number of iterations for factor extraction.\",\"help\":\"MAXITER=*n*\",\"type\":\"value\"},{\"name\":\"METHOD=\",\"optional\":true,\"aliases\":[\"M=\"],\"description\":\"Specifies the method for extracting factors. The default is METHOD=PRINCIPAL unless the DATA= data set is TYPE=FACTOR, in which case the default is METHOD=PATTERN.\",\"help\":\"METHOD=ALPHA|A | HARRIS|H | IMAGE|I | ML|M | PATTERN | PRINCIPAL|PRIN|P | PRINIT | SCORE | ULS|U\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ALPHA\",\"description\":\"Produces α factor analysis.\",\"help\":\"ALPHA|A\",\"type\":\"choice\"},{\"name\":\"HARRIS\",\"description\":\"Yields Harris component analysis, a noniterative approximation to canonical component analysis.\",\"help\":\"HARRIS|H\",\"type\":\"choice\"},{\"name\":\"IMAGE\",\"description\":\"Yields principal component analysis of the image covariance matrix, not Kaiser’s or Kaiser and Rice’s image analysis.\",\"help\":\"IMAGE|I\",\"type\":\"choice\"},{\"name\":\"ML\",\"description\":\"Performs maximum likelihood factor analysis.\",\"help\":\"ML|M\",\"type\":\"choice\"},{\"name\":\"PATTERN\",\"description\":\"Reads a factor pattern from a TYPE=FACTOR, TYPE=CORR, TYPE=UCORR, TYPE=COV, or TYPE=UCOV data set.\",\"type\":\"standalone\"},{\"name\":\"PRINCIPAL\",\"description\":\"Yields principal component analysis if no PRIORS option or statement is used or if you specify PRIORS=ONE\",\"help\":\"PRINCIPAL|PRIN|P\",\"type\":\"choice\"},{\"name\":\"PRINIT\",\"description\":\"Yields iterated principal factor analysis.\",\"type\":\"standalone\"},{\"name\":\"SCORE\",\"description\":\"Reads scoring coefficients (_TYPE_=’SCORE’) from a TYPE=FACTOR, TYPE=CORR, TYPE=UCORR, TYPE=COV, or TYPE=UCOV data set.\",\"type\":\"standalone\"},{\"name\":\"ULS\",\"description\":\"Produces unweighted least squares factor analysis.\",\"help\":\"ULS|U\",\"type\":\"choice\"}]},{\"name\":\"MINEIGEN=\",\"optional\":true,\"aliases\":[\"MIN=\"],\"description\":\"Specifies the smallest eigenvalue for which a factor is retained.\",\"help\":\"MINEIGEN=*p*\",\"type\":\"value\"},{\"name\":\"MSA\",\"optional\":true,\"description\":\"Produces the partial correlations between each pair of variables controlling for all other variables (the negative anti-image correlations) and Kaiser’s measure of sampling adequacy.\",\"type\":\"standalone\"},{\"name\":\"NFACTORS=\",\"optional\":true,\"aliases\":[\"NFACT=\",\"N=\"],\"description\":\"Specifies the maximum number of factors to be extracted and determines the amount of memory to be allocated for factor matrices.\",\"help\":\"NFACTORS=*n*\",\"type\":\"value\"},{\"name\":\"NOBS=\",\"optional\":true,\"description\":\"Specifies the number of observations. If the DATA= input data set is a raw data set, nobs is defined by default to be the number of observations in the raw data set.\",\"help\":\"NOBS=*n*\",\"type\":\"value\"},{\"name\":\"NOCORR\",\"optional\":true,\"description\":\"Prevents the correlation matrix from being transferred to the OUTSTAT= data set when you specify the METHOD=PATTERN option.\",\"type\":\"standalone\"},{\"name\":\"NOINT\",\"optional\":true,\"description\":\"Omits the intercept from the analysis; covariances or correlations are not corrected for the mean.\",\"type\":\"standalone\"},{\"name\":\"NOPRINT\",\"optional\":true,\"description\":\"Suppresses the display of all output. Note that this option temporarily disables the Output Delivery System (ODS).\",\"type\":\"standalone\"},{\"name\":\"NOPROMAXNORM\",\"optional\":true,\"description\":\"Turns off the default row normalization of the prerotated factor pattern, which is used in computing the promax target matrix.\",\"type\":\"standalone\"},{\"name\":\"NORM=\",\"optional\":true,\"description\":\"Specifies the method for normalizing the rows of the factor pattern for rotation.\",\"help\":\"NORM=COV | KAISER | NONE | RAW | WEIGHT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"COV\",\"description\":\"The rows of the pattern matrix are rescaled to represent covariances instead of correlations.\",\"type\":\"standalone\"},{\"name\":\"KAISER\",\"description\":\"Uses Kaiser’s normalization. This is the default.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"Normalization is not performed.\",\"type\":\"standalone\"},{\"name\":\"RAW\",\"description\":\"Normalization is not performed.\",\"type\":\"standalone\"},{\"name\":\"WEIGHT\",\"description\":\"The rows are weighted by the Cureton-Mulaik technique.\",\"type\":\"standalone\"}]},{\"name\":\"NPLOTS=\",\"optional\":true,\"aliases\":[\"NPLOT=\"],\"description\":\"Specifies the number of factors to be plotted. The default is to plot all factors. The smallest allowable value is 2.\",\"type\":\"value\"},{\"name\":\"OUT=\",\"optional\":true,\"description\":\"Creates a data set containing all the data from the DATA= data set plus variables called Factor1, Factor2, and so on, containing estimated factor scores.\",\"help\":\"OUT=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"OUTSTAT=\",\"optional\":true,\"description\":\"Specifies an output data set containing most of the results of the analysis.\",\"help\":\"OUTSTAT=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"PARPREFIX=\",\"optional\":true,\"description\":\"Specifies the prefix for the residual variables in the OUT= and the OUTSTAT= data sets when partial variables are specified in the PARTIAL statement.\",\"help\":\"PARPREFIX=*name*\",\"type\":\"value\"},{\"name\":\"PLOT\",\"optional\":true,\"description\":\"Plots the factor pattern after rotation. This option produces printer plots. High-quality ODS graphical plots for factor patterns can be requested with the PLOTS=LOADINGS or PLOTS=INITLOADINGS option.\",\"type\":\"standalone\"},{\"name\":\"PLOTREF\",\"optional\":true,\"description\":\"Plots the reference structure instead of the default factor pattern after oblique rotation.\",\"type\":\"standalone\"},{\"name\":\"PLOTS=\",\"optional\":true,\"description\":\"Specifies one or more ODS graphical plots in PROC FACTOR. Syntax: (1) PLOTS <(global-plot-options)> = plot-request <(options)> | (2) PLOTS <(global-plot-options)> = (plot-request <(options)> <...plot-request <(options)> > ) The following are the available global-plot-options or options for plots: CIRCLE | CIRCLES < = numbers > specifies circles with prescribed areas to be drawn in scatter plots or vector plots, where the optional numbers represent proportions or percentages of areas enclosed by the circles in the plots. These numbers must lie between 0 and 100, inclusively. FLIP switches the X and Y axes. It applies to the INITLOADINGS, LOADINGS, and PRELOADINGS plot-requests. PLOTREF plots the reference structures rather than the factor pattern loadings. It applies to the INITLOADINGS, LOADINGS, and PRELOADINGS plot-requests when the factor solution is oblique. UNPACK plots component graphs separately. It applies to the SCREE plot-request only.\",\"help\":\"PLOTS=ALL | INITLOADINGS | LOADINGS | NONE | PRELOADINGS | SCREE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ALL\",\"description\":\"All available plots\",\"type\":\"standalone\"},{\"name\":\"INITLOADINGS\",\"description\":\"Unrotated factor loadings\",\"type\":\"standalone\"},{\"name\":\"LOADINGS\",\"description\":\"Rotated factor loadings\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"No ODS graphical plots\",\"type\":\"standalone\"},{\"name\":\"PRELOADINGS\",\"description\":\"Prerotated factor loadings\",\"type\":\"standalone\"},{\"name\":\"SCREE\",\"description\":\"Scree and variance explained\",\"type\":\"standalone\"}]},{\"name\":\"POWER=\",\"optional\":true,\"description\":\"Specifies the power to be used in computing the target pattern for the option ROTATE=PROMAX. Valid values must be integers . The default value is 3.\",\"help\":\"POWER=*n*\",\"type\":\"value\"},{\"name\":\"PREFIX=\",\"optional\":true,\"description\":\"Specifies a prefix for naming the factors. By default, the names are Factor1, Factor2, ..., Factorn.\",\"help\":\"PREFIX=*name*\",\"type\":\"value\"},{\"name\":\"PREPLOT\",\"optional\":true,\"description\":\"Plots the factor pattern before rotation. This option produces printer plots. High-quality ODS graphical plots for factor patterns can be requested with the PLOTS=PRELOADINGS option.\",\"type\":\"standalone\"},{\"name\":\"PREROTATE=\",\"optional\":true,\"aliases\":[\"PRE=\"],\"description\":\"Specifies the prerotation method for the option ROTATE=PROMAX.\",\"help\":\"PREROTATE=*name*\",\"type\":\"value\"},{\"name\":\"PRINT\",\"optional\":true,\"description\":\"Displays the input factor pattern or scoring coefficients and related statistics. In oblique cases, the reference and factor structures are computed and displayed. The PRINT option is effective only with the option METHOD=PATTERN or METHOD=SCORE.\",\"type\":\"standalone\"},{\"name\":\"PRIORS=\",\"optional\":true,\"description\":\"Specifies a method for computing prior communality estimates.\",\"help\":\"PRIORS=ASMC|A | INPUT|I | MAX|M | ONE|O | RANDOM|R | SMC|S\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ASMC\",\"description\":\"Sets the prior communality estimates proportional to the squared multiple correlations but adjusted so that their sum is equal to that of the maximum absolute correlations.\",\"help\":\"ASMC|A\",\"type\":\"choice\"},{\"name\":\"INPUT\",\"description\":\"Reads the prior communality estimates from the first observation with either _TYPE_=’PRIORS’ or _TYPE_=’COMMUNAL’ in the DATA= data set (which cannot be TYPE=DATA).\",\"help\":\"INPUT|I\",\"type\":\"choice\"},{\"name\":\"MAX\",\"description\":\"Sets the prior communality estimate for each variable to its maximum absolute correlation with any other variable.\",\"help\":\"MAX|M\",\"type\":\"choice\"},{\"name\":\"ONE\",\"description\":\"Sets all prior communalities to 1.0.\",\"help\":\"ONE|O\",\"type\":\"choice\"},{\"name\":\"RANDOM\",\"description\":\"Sets the prior communality estimates to pseudo-random numbers uniformly distributed between 0 and 1.\",\"help\":\"RANDOM|R\",\"type\":\"choice\"},{\"name\":\"SMC\",\"description\":\"Sets the prior communality estimate for each variable to its squared multiple correlation with all other variables.\",\"help\":\"SMC|S\",\"type\":\"choice\"}]},{\"name\":\"PROPORTION=\",\"optional\":true,\"aliases\":[\"PERCENT=\",\"P=\"],\"description\":\"Specifies the proportion of common variance to be accounted for by the retained factors.\",\"help\":\"PROPORTION=*p*\",\"type\":\"value\"},{\"name\":\"RANDOM=\",\"optional\":true,\"description\":\"Specifies a positive integer as a starting value for the pseudo-random number generator for use with the option PRIORS=RANDOM.\",\"help\":\"RANDOM=*n*\",\"type\":\"value\"},{\"name\":\"RCONVERGE=\",\"optional\":true,\"aliases\":[\"RCONV=\"],\"description\":\"Specifies the convergence criterion for rotation cycles.\",\"help\":\"RCONVERGE=*p*\",\"type\":\"value\"},{\"name\":\"REORDER\",\"optional\":true,\"aliases\":[\"RE\"],\"description\":\"Causes the rows (variables) of various factor matrices to be reordered on the output.\",\"type\":\"standalone\"},{\"name\":\"RESIDUALS\",\"optional\":true,\"aliases\":[\"RES\"],\"description\":\"Displays the residual correlation matrix and the associated partial correlation matrix.\",\"type\":\"standalone\"},{\"name\":\"RITER=\",\"optional\":true,\"description\":\"Specifies the maximum number of cycles n for factor rotation.\",\"help\":\"RITER=*n*\",\"type\":\"value\"},{\"name\":\"ROTATE=\",\"optional\":true,\"aliases\":[\"R=\"],\"description\":\"Specifies the rotation method. The default is ROTATE=NONE.\",\"help\":\"ROTATE=BIQUARTIMAX|BIQMAX | EQUAMAX|E | FACTORPARSIMAX|FPA | NONE|N | ORTHCF(p1,p2)|ORCF(p1,p2) | ORTHGENCF(p1,p2,p3,p4)|ORGENCF(p1,p2,p3,p4) | ORTHOMAX&lt;(p)&gt;|ORMAX&lt;(p)&gt; | PARSIMAX|PA | QUARTIMAX|QMAX|Q | VARIMAX|V | BIQUARTIMIN|BIQMIN | COVARIMIN|CVMIN | HK&lt;(p)&gt;|H&lt;(p)&gt; | OBBIQUARTIMAX | OBEQUAMAX|OE | OBFACTORPARSIMAX|OFPA | OBLICF(p1,p2) | OBLIGENCF(p1,p2,p3,p4)|OBGENCF(p1,p2,p3,p4) | OBLIMIN&lt;(p)&gt;|OBMIN&lt;(p)&gt; | OBPARSIMAX|OPA | OBQUARTIMAX|QQMAX | OBVARIMAX|OV | PROCRUSTES | PROMAX&lt;p)&gt;|P&lt;p)&gt; | QUARTIMIN|QMIN\",\"type\":\"choice\",\"arguments\":[{\"name\":\"BIQUARTIMAX\",\"description\":\"Specifies orthogonal biquartimax rotation. This corresponds to the specification ROTATE=ORTHOMAX(.5).\",\"help\":\"BIQUARTIMAX|BIQMAX\",\"type\":\"choice\"},{\"name\":\"EQUAMAX\",\"description\":\"Specifies orthogonal equamax rotation. This corresponds to the specification ROTATE=ORTHOMAX with GAMMA=number of factors/2.\",\"help\":\"EQUAMAX|E\",\"type\":\"choice\"},{\"name\":\"FACTORPARSIMAX\",\"description\":\"Specifies orthogonal factor parsimax rotation. This corresponds to the specification ROTATE=ORTHOMAX with GAMMA=number of variables.\",\"help\":\"FACTORPARSIMAX|FPA\",\"type\":\"choice\"},{\"name\":\"NONE\",\"description\":\"Specifies that no rotation be performed, leaving the original orthogonal solution.\",\"help\":\"NONE|N\",\"type\":\"choice\"},{\"name\":\"ORTHCF\",\"description\":\"Specifies the orthogonal Crawford-Ferguson rotation with the weights p1 and p2 for variable parsimony and factor parsimony, respectively.\",\"help\":\"ORTHCF(p1,p2)|ORCF(p1,p2)\",\"type\":\"choice\"},{\"name\":\"ORTHGENCF\",\"description\":\"Specifies the orthogonal generalized Crawford-Ferguson rotation with the four weights p1, p2, p3, and p4.\",\"help\":\"ORTHGENCF(p1,p2,p3,p4)|ORGENCF(p1,p2,p3,p4)\",\"type\":\"choice\"},{\"name\":\"ORTHOMAX\",\"description\":\"Specifies the orthomax rotation with orthomax weight p. If ROTATE=ORTHOMAX is used, the default p value is 1 unless specified otherwise in the GAMMA= option.\",\"help\":\"ORTHOMAX&lt;(p)&gt;|ORMAX&lt;(p)&gt;\",\"type\":\"choice\"},{\"name\":\"PARSIMAX\",\"description\":\"Specifies orthogonal parsimax rotation. This corresponds to the specification ROTATE=ORTHOMAX.\",\"help\":\"PARSIMAX|PA\",\"type\":\"choice\"},{\"name\":\"QUARTIMAX\",\"description\":\"Specifies orthogonal quartimax rotation. This corresponds to the specification ROTATE=ORTHOMAX(0).\",\"help\":\"QUARTIMAX|QMAX|Q\",\"type\":\"choice\"},{\"name\":\"VARIMAX\",\"description\":\"Specifies orthogonal varimax rotation. This corresponds to the specification ROTATE=ORTHOMAX with GAMMA=1.\",\"help\":\"VARIMAX|V\",\"type\":\"choice\"},{\"name\":\"BIQUARTIMIN\",\"description\":\"Specifies biquartimin rotation. It corresponds to the specification ROTATE=OBLIMIN(.5) or ROTATE=OBLIMIN with TAU=0.5.\",\"help\":\"BIQUARTIMIN|BIQMIN\",\"type\":\"choice\"},{\"name\":\"COVARIMIN\",\"description\":\"Specifies covarimin rotation. It corresponds to the specification ROTATE=OBLIMIN(1) or ROTATE=OBLIMIN with TAU=1.\",\"help\":\"COVARIMIN|CVMIN\",\"type\":\"choice\"},{\"name\":\"HK\",\"description\":\"Specifies Harris-Kaiser case II orthoblique rotation.\",\"help\":\"HK&lt;(p)&gt;|H&lt;(p)&gt;\",\"type\":\"choice\"},{\"name\":\"OBBIQUARTIMAX\",\"description\":\"Specifies oblique biquartimax rotation.\",\"type\":\"standalone\"},{\"name\":\"OBEQUAMAX\",\"description\":\"Specifies oblique equamax rotation.\",\"help\":\"OBEQUAMAX|OE\",\"type\":\"choice\"},{\"name\":\"OBFACTORPARSIMAX\",\"description\":\"Specifies oblique factor parsimax rotation.\",\"help\":\"OBFACTORPARSIMAX|OFPA\",\"type\":\"choice\"},{\"name\":\"OBLICF\",\"description\":\"Specifies the oblique Crawford-Ferguson rotation with the weights p1 and p2 for variable parsimony and factor parsimony, respectively.\",\"help\":\"OBLICF(p1,p2)\",\"type\":\"standalone\"},{\"name\":\"OBLIGENCF\",\"description\":\"Specifies the oblique generalized Crawford-Ferguson rotation with the four weights p1, p2, p3, and p4.\",\"help\":\"OBLIGENCF(p1,p2,p3,p4)|OBGENCF(p1,p2,p3,p4)\",\"type\":\"choice\"},{\"name\":\"OBLIMIN\",\"description\":\"Specifies the oblimin rotation with oblimin weight p.\",\"help\":\"OBLIMIN&lt;(p)&gt;|OBMIN&lt;(p)&gt;\",\"type\":\"choice\"},{\"name\":\"OBPARSIMAX\",\"description\":\"Specifies oblique parsimax rotation.\",\"help\":\"OBPARSIMAX|OPA\",\"type\":\"choice\"},{\"name\":\"OBQUARTIMAX\",\"description\":\"Specifies oblique quartimax rotation. This is the same as the QUARTIMIN method.\",\"help\":\"OBQUARTIMAX|QQMAX\",\"type\":\"choice\"},{\"name\":\"OBVARIMAX\",\"description\":\"Specifies oblique varimax rotation.\",\"help\":\"OBVARIMAX|OV\",\"type\":\"choice\"},{\"name\":\"PROCRUSTES\",\"description\":\"Specifies oblique Procrustes rotation with the target pattern provided by the TARGET= data set.\",\"type\":\"standalone\"},{\"name\":\"PROMAX\",\"description\":\"Specifies oblique promax rotation. You can use the PREROTATE= option to set the desirable prerotation method, orthogonal or oblique.\",\"help\":\"PROMAX&lt;p)&gt;|P&lt;p)&gt;\",\"type\":\"choice\"},{\"name\":\"QUARTIMIN\",\"description\":\"Specifies quartimin rotation. It is the same as the oblique quartimax method.\",\"help\":\"QUARTIMIN|QMIN\",\"type\":\"choice\"}]},{\"name\":\"ROUND\",\"optional\":true,\"description\":\"Prints correlation and loading matrices with entries multiplied by 100 and rounded to the nearest integer.\",\"type\":\"standalone\"},{\"name\":\"SCORE\",\"optional\":true,\"description\":\"Displays the factor scoring coefficients.\",\"type\":\"standalone\"},{\"name\":\"SCREE\",\"optional\":true,\"description\":\"Displays a scree plot of the eigenvalues.\",\"type\":\"standalone\"},{\"name\":\"SIMPLE\",\"optional\":true,\"description\":\"Displays means, standard deviations, and the number of observations.\",\"type\":\"standalone\"},{\"name\":\"SINGULAR=\",\"optional\":true,\"aliases\":[\"SING=\"],\"description\":\"Specifies the singularity criterion, where 0 < p < 1. The default value is 1E-8.\",\"help\":\"SINGULAR=*p*\",\"type\":\"value\"},{\"name\":\"STDERR\",\"optional\":true,\"aliases\":[\"SE\"],\"description\":\"Computes standard errors for various classes of unrotated and rotated solutions under the maximum likelihood estimation.\",\"type\":\"standalone\"},{\"name\":\"TARGET=\",\"optional\":true,\"description\":\"Specifies an input data set containing the target pattern for Procrustes rotation.\",\"help\":\"TARGET=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"TAU=\",\"optional\":true,\"description\":\"Specifies the oblimin weight used with the option ROTATE=OBLIMIN or PREROTATE=OBLIMIN.\",\"help\":\"TAU=*p*\",\"type\":\"value\"},{\"name\":\"ULTRAHEYWOOD\",\"optional\":true,\"aliases\":[\"ULTRA\"],\"description\":\"Allows communalities to exceed 1.\",\"type\":\"standalone\"},{\"name\":\"VARDEF=\",\"optional\":true,\"description\":\"Specifies the divisor to use in the calculation of variances and covariances. The default value is VARDEF=DF.\",\"help\":\"VARDEF=DF | N | WDF | WEIGHT|WGT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DF\",\"description\":\"Degrees of freedom\",\"type\":\"standalone\"},{\"name\":\"N\",\"description\":\"Number of observations\",\"type\":\"standalone\"},{\"name\":\"WDF\",\"description\":\"Sum of weights minus one\",\"type\":\"standalone\"},{\"name\":\"WEIGHT\",\"description\":\"Sum of weights\",\"help\":\"WEIGHT|WGT\",\"type\":\"choice\"}]},{\"name\":\"WEIGHT\",\"optional\":true,\"description\":\"Factors a weighted correlation or covariance matrix. The WEIGHT option can be used only with the METHOD=PRINCIPAL, METHOD=PRINIT, METHOD=ULS, or METHOD=IMAGE option.\",\"type\":\"standalone\"}]},{\"name\":\"BY\",\"description\":\"You can specify a BY statement with PROC FACTOR to obtain separate analyses on observations in groups that are defined by the BY variables. When a BY statement appears, the procedure expects the input data set to be sorted in order of the BY variables. If you specify more than one BY statement, only the last one specified is used.\",\"help\":\"BY &lt;DESCENDING&gt;&lt;NOTSORTED&gt;\",\"arguments\":[{\"name\":\"DESCENDING\",\"optional\":true,\"description\":\"Specifies that the observations are sorted in descending order by the variable that immediately follows the word DESCENDING in the BY statement.\",\"type\":\"standalone\"},{\"name\":\"NOTSORTED\",\"optional\":true,\"description\":\"Specifies that observations are not necessarily sorted in alphabetic or numeric order.\",\"type\":\"standalone\"}]},{\"name\":\"FREQ\",\"aliases\":[\"FREQUENCY\"],\"description\":\"If a variable in the data set represents the frequency of occurrence for the other values in the observation, include the variable’s name in a FREQ statement. The procedure then treats the data set as if each observation appears n times, where n is the value of the FREQ variable for the observation. The total number of observations is considered to be equal to the sum of the FREQ variable when the procedure determines degrees of freedom for significance probabilities. If the value of the FREQ variable is missing or is less than one, the observation is not used in the analysis. If the value is not an integer, the value is truncated to an integer. The WEIGHT and FREQ statements have a similar effect, except in determining the number of observations for significance tests.\",\"help\":\"FREQ variable\"},{\"name\":\"PARTIAL\",\"description\":\"If you want the analysis to be based on a partial correlation or covariance matrix, use the PARTIAL statement to list the variables used to partial out the variables in the analysis.\",\"help\":\"PARTIAL variables \"},{\"name\":\"PRIORS\",\"aliases\":[\"PRIOR\"],\"description\":\"The PRIORS statement specifies numeric values between 0.0 and 1.0 for the prior communality estimates for each variable. The first numeric value corresponds to the first variable in the VAR statement, the second value to the second variable, and so on. The number of numeric values must equal the number of variables.\",\"help\":\"PRIORS communalities \"},{\"name\":\"VAR\",\"aliases\":[\"VARIABLES\"],\"description\":\"VAR variable(s); The VAR statement specifies the numeric variables to be analyzed. If the VAR statement is omitted, all numeric variables not specified in other statements are analyzed.\",\"help\":\"VAR\"},{\"name\":\"WEIGHT\",\"aliases\":[\"WEIGHTS\"],\"description\":\"If you want to use relative weights for each observation in the input data set, specify a variable containing weights in a WEIGHT statement. This is often done when the variance associated with each observation is different and the values of the weight variable are proportional to the reciprocals of the variances. If a variable value is negative or is missing, it is excluded from the analysis.\",\"help\":\"WEIGHT variable\"}],\"supportSiteInformation\":{\"docsetId\":\"statug\",\"docsetVersion\":\"latest\",\"docsetTargetFile\":\"statug_factor_toc.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/FASTCLUS.json",
    "content": "{\"name\":\"FASTCLUS\",\"statements\":[{\"name\":\"PROC FASTCLUS\",\"description\":\"The FASTCLUS procedure performs a disjoint cluster analysis on the basis of distances computed from one or more quantitative variables. The observations are divided into clusters such that every observation belongs to one and only one cluster; the clusters do not form a tree structure as they do in the CLUSTER procedure. If you want separate analysis for different numbers of clusters, you can run PROC FASTCLUS once for each analysis. Alternatively, to do hierarchical clustering on a large data set, use PROC FASTCLUS to find initial clusters, and then use those initial clusters as input to PROC CLUSTER.\",\"help\":\"PROC FASTCLUS <BINS=n><CLUSTER=name><CLUSTERLABEL=name><CONVERGE=c><DATA=SAS-data-set><DELETE=n><DISTANCE><DRIFT><HC=c><HP=p1 <p2>><IMPUTE><INSTAT=SAS-data-set><IRLS><LEAST=1 | 2 | MAX... ><LIST> MAXCLUSTERS=n <MAXITER=n><MEAN=SAS-data-set><NOMISS><NOPRINT><OUT=SAS-data-set><OUTITER><OUTSEED=SAS-data-set><OUTSTAT=SAS-data-set> RADIUS=t <RANDOM=n><REPLACE=FULL | PART | NONE... ><SEED=SAS-data-set><SHORT><STRICT=s><SUMMARY><VARDEF=DF | N | WDF... >;     \\n\\tBY <DESCENDING><NOTSORTED> ;\\n\\n\\tFREQ variable;\\n\\n\\tID variable ;\\n\\n\\tVAR variable(s);\\n\\n\\tWEIGHT variable;\\n\",\"arguments\":[{\"name\":\"MAXCLUSTERS=\",\"aliases\":[\"MAXC=\"],\"description\":\"Specifies the maximum number of clusters permitted. If you omit the MAXCLUSTERS= option, a value of 100 is assumed.\",\"help\":\"MAXCLUSTERS=*n*\",\"type\":\"value\"},{\"name\":\"RADIUS=\",\"aliases\":[\"R=\"],\"description\":\"Establishes the minimum distance criterion for selecting new seeds.\",\"help\":\"RADIUS=*t*\",\"type\":\"value\"},{\"name\":\"BINS=\",\"optional\":true,\"description\":\"Specifies the number of bins used in the bin-sort algorithm for computing medians for LEAST=1.\",\"help\":\"BINS=*n*\",\"type\":\"value\"},{\"name\":\"CLUSTER=\",\"optional\":true,\"description\":\"Specifies a name for the variable in the OUTSEED= and OUT= data sets that indicates cluster membership.\",\"help\":\"CLUSTER=*name*\",\"type\":\"value\"},{\"name\":\"CLUSTERLABEL=\",\"optional\":true,\"description\":\"Specifies a label for the variable CLUSTER in the OUTSEED= and OUT= data sets. By default this variable has no label.\",\"help\":\"CLUSTERLABEL=*name*\",\"type\":\"value\"},{\"name\":\"CONVERGE=\",\"optional\":true,\"aliases\":[\"CONV=\"],\"description\":\"Specifies the convergence criterion. Any nonnegative value is permitted. The default value is 0.0001 for all values of P if LEAST=P is explicitly specified; otherwise, the default value is 0.02.\",\"help\":\"CONVERGE=*c*\",\"type\":\"value\"},{\"name\":\"DATA=\",\"optional\":true,\"description\":\"Specifies the input data set containing observations to be clustered. If you omit the DATA= option, the most recently created SAS data set is used.\",\"help\":\"DATA=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"DELETE=\",\"optional\":true,\"description\":\"Deletes cluster seeds to which n or fewer observations are assigned.\",\"help\":\"DELETE=*n*\",\"type\":\"value\"},{\"name\":\"DISTANCE\",\"optional\":true,\"aliases\":[\"DIST\"],\"description\":\"Computes distances between the cluster means.\",\"type\":\"standalone\"},{\"name\":\"DRIFT\",\"optional\":true,\"description\":\"Executes the second of the four steps in which the FASTCLUS procedure operates. After initial seed selection, each observation is assigned to the cluster with the nearest seed.\",\"type\":\"standalone\"},{\"name\":\"HC=\",\"optional\":true,\"description\":\"Pertains to the homotopy parameter for LEAST=P, where 1<p<2. You should specify these options only if you encounter convergence problems when you use the default values.\",\"help\":\"HC=*c*\",\"type\":\"value\"},{\"name\":\"HP=\",\"optional\":true,\"description\":\"Pertains to the homotopy parameter for LEAST=P, where 1<p<2. You should specify these options only if you encounter convergence problems when you use the default values.\",\"type\":\"value\"},{\"name\":\"IMPUTE\",\"optional\":true,\"description\":\"Requests imputation of missing values after the final assignment of observations to clusters.\",\"type\":\"standalone\"},{\"name\":\"INSTAT=\",\"optional\":true,\"description\":\"Reads a SAS data set previously created with the FASTCLUS procedure by using the OUTSTAT= option.\",\"help\":\"INSTAT=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"IRLS\",\"optional\":true,\"description\":\"Causes PROC FASTCLUS to use an iteratively reweighted least squares method instead of the modified Ekblom-Newton method.\",\"type\":\"standalone\"},{\"name\":\"LEAST=\",\"optional\":true,\"aliases\":[\"L=\"],\"description\":\"Causes PROC FASTCLUS to optimize an Lp criterion, where 1<=P<=infinity.\",\"help\":\"LEAST=1 | 2 | MAX | *p*\",\"type\":\"choice\",\"arguments\":[{\"name\":\"1\",\"description\":\"PROC FASTCLUS tries to minimize the mean absolute difference between the data and the corresponding cluster medians.\",\"type\":\"standalone\"},{\"name\":\"2\",\"description\":\"PROC FASTCLUS tries to minimize the root mean squared difference between the data and the corresponding cluster means.\",\"type\":\"standalone\"},{\"name\":\"MAX\",\"description\":\"PROC FASTCLUS tries to minimize the maximum absolute difference between the data and the corresponding cluster midranges.\",\"type\":\"standalone\"},{\"name\":\"<p>\",\"placeholder\":true,\"description\":\"PROC FASTCLUS tries to minimize the pth root of the mean of the pth powers of the absolute differences between the data and the corresponding cluster seeds.\",\"type\":\"value\"}]},{\"name\":\"LIST\",\"optional\":true,\"description\":\"Lists all observations, giving the value of the ID variable (if any), the number of the cluster to which the observation is assigned, and the distance between the observation and the final cluster seed.\",\"type\":\"standalone\"},{\"name\":\"MAXITER=\",\"optional\":true,\"description\":\"Specifies the maximum number of iterations for recomputing cluster seeds.\",\"help\":\"MAXITER=*n*\",\"type\":\"value\"},{\"name\":\"MEAN=\",\"optional\":true,\"description\":\"Creates an output data set to contain the cluster means and other statistics for each cluster.\",\"help\":\"MEAN=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"NOMISS\",\"optional\":true,\"description\":\"Excludes observations with missing values from the analysis. However, if you also specify the IMPUTE option, observations with missing values are included in the final cluster assignments.\",\"type\":\"standalone\"},{\"name\":\"NOPRINT\",\"optional\":true,\"description\":\"Suppresses the display of all output. Note that this option temporarily disables the Output Delivery System (ODS).\",\"type\":\"standalone\"},{\"name\":\"OUT=\",\"optional\":true,\"description\":\"Creates an output data set to contain all the original data, plus the new variables CLUSTER and DISTANCE.\",\"help\":\"OUT=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"OUTITER\",\"optional\":true,\"description\":\"Outputs information from the iteration history to the OUTSEED= data set, including the cluster seeds at each iteration.\",\"type\":\"standalone\"},{\"name\":\"OUTSEED=\",\"optional\":true,\"aliases\":[\"OUTS=\"],\"description\":\"Is another name for the MEAN= data set, provided because the data set can contain location estimates other than means. The MEAN= option is still accepted.\",\"help\":\"OUTSEED=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"OUTSTAT=\",\"optional\":true,\"description\":\"Creates an output data set to contain various statistics, especially those not included in the OUTSEED= data set.\",\"help\":\"OUTSTAT=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"RANDOM=\",\"optional\":true,\"description\":\"Specifies a positive integer as a starting value for the pseudo-random number generator for use with REPLACE=RANDOM.\",\"help\":\"RANDOM=*n*\",\"type\":\"value\"},{\"name\":\"REPLACE=\",\"optional\":true,\"description\":\"Specifies how seed replacement is performed.\",\"help\":\"REPLACE=FULL | PART | NONE | RANDOM\",\"type\":\"choice\",\"arguments\":[{\"name\":\"FULL\",\"description\":\"Requests default seed replacement\",\"type\":\"standalone\"},{\"name\":\"PART\",\"description\":\"Requests seed replacement only when the distance between the observation and the closest seed is greater than the minimum distance between seeds.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"Suppresses seed replacement.\",\"type\":\"standalone\"},{\"name\":\"RANDOM\",\"description\":\"Selects a simple pseudo-random sample of complete observations as initial cluster seeds.\",\"type\":\"standalone\"}]},{\"name\":\"SEED=\",\"optional\":true,\"description\":\"Specifies an input data set from which initial cluster seeds are to be selected.\",\"help\":\"SEED=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"SHORT\",\"optional\":true,\"description\":\"Suppresses the display of the initial cluster seeds, cluster means, and standard deviations.\",\"type\":\"standalone\"},{\"name\":\"STRICT=\",\"optional\":true,\"description\":\"Prevents an observation from being assigned to a cluster if its distance to the nearest cluster seed exceeds the value of the STRICT= option. If you specify the STRICT option without a numeric value, you must also specify the RADIUS= option, and its value is used instead.\",\"help\":\"STRICT=*s*\",\"type\":\"value\"},{\"name\":\"SUMMARY\",\"optional\":true,\"description\":\"Suppresses the display of the initial cluster seeds, statistics for variables, cluster means, and standard deviations.\",\"type\":\"standalone\"},{\"name\":\"VARDEF=\",\"optional\":true,\"description\":\"Specifies the divisor to use in the calculation of variances and covariances. The default value is VARDEF=DF.\",\"help\":\"VARDEF=DF | N | WDF | WEIGHT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DF\",\"description\":\"Degrees of freedom\",\"type\":\"standalone\"},{\"name\":\"N\",\"description\":\"Number of observations\",\"type\":\"standalone\"},{\"name\":\"WDF\",\"description\":\"Sum of weights minus one\",\"type\":\"standalone\"},{\"name\":\"WEIGHT\",\"aliases\":[\"WGT\"],\"description\":\"Sum of weights\",\"type\":\"standalone\"}]}]},{\"name\":\"BY\",\"description\":\"You can specify a BY statement with PROC FASTCLUS to obtain separate analysis on observations in groups defined by the BY variables. When a BY statement appears, the procedure expects the input data set to be sorted in order of the BY variables.\",\"help\":\"BY &lt;DESCENDING&gt;&lt;NOTSORTED&gt;\",\"arguments\":[{\"name\":\"DESCENDING\",\"optional\":true,\"description\":\"Specifies that the observations are sorted in descending order by the variable that immediately follows the word DESCENDING in the BY statement.\",\"type\":\"standalone\"},{\"name\":\"NOTSORTED\",\"optional\":true,\"description\":\"Specifies that observations are not necessarily sorted in alphabetic or numeric order.\",\"type\":\"standalone\"}]},{\"name\":\"FREQ\",\"aliases\":[\"FREQUENCY\"],\"description\":\"If one variable in your data set represents the frequency of occurrence for the other values in the observation, specify the variable’s name in a FREQ statement. The procedure then treats the data set as if each observation appears ni times, where ni is the value of the FREQ variable for observation i.\",\"help\":\"FREQ variable\"},{\"name\":\"ID\",\"description\":\"The ID variable, which can be character or numeric, identifies observations on the output when you specify the LIST option.\",\"help\":\"ID variable \"},{\"name\":\"VAR\",\"aliases\":[\"VARIABLES\"],\"description\":\"The VAR statement lists the numeric variables to be used in the cluster analysis. If you omit the VAR statement, all numeric variables not listed in other statements are used.\",\"help\":\"VAR variable(s)\"},{\"name\":\"WEIGHT\",\"aliases\":[\"WEIGHTS\"],\"description\":\"The values of the WEIGHT variable are used to compute weighted cluster means. The WEIGHT and FREQ statements have a similar effect, except the WEIGHT statement does not alter the degrees of freedom or the number of observations.\",\"help\":\"WEIGHT variable\"}],\"supportSiteInformation\":{\"docsetId\":\"statug\",\"docsetVersion\":\"latest\",\"docsetTargetFile\":\"statug_fastclus_toc.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/FASTKNN.json",
    "content": "{\"name\":\"FASTKNN\",\"statements\":[{\"name\":\"PROC FASTKNN\",\"description\":\"The FASTKNN procedure implements the k-nearest neighbor (k-NN) search algorithm in SAS Viya. The k-NN algorithm has numerous applications, including recommendation systems, image search, fingerprint recognition, and clustering. You can use the FASTKNN procedure to read and write data in distributed form, and to perform search in parallel by making full use of multicore computers or distributed computing environments.\",\"help\":\"PROC FASTKNN <DATA=CAS-libref.data-table><K=number><NOPRINT><NTHREADS=number-of-threads><OUTDIST=CAS-libref.data-table><PARALLELIZATION=INPUT | QUERY><QUERY=CAS-libref.data-table><THRESHDIST=number>;     \\n\\tDISPLAY <CASESENSITIVE><EXCLUDE><EXCLUDEALL> ...;\\n\\n\\tDISPLAYOUT <INCLUDEALL><NOREPLACE><REPEATED> ...;\\n\\n\\tID variable;\\n\\n\\tINPUT variables;\\n\\n\\tOUTPUT <COPYVAR=variable | COPYVARS=(variables)><OUT=CAS-libref.data-table> ;\\n\",\"arguments\":[{\"name\":\"DATA=\",\"optional\":true,\"description\":\"Names the input data table for PROC FASTKNN to use. The default is the most recently created data table. CAS-libref.data-table is a two-level name, where\",\"help\":\"DATA=*CAS-libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"K=\",\"optional\":true,\"description\":\"Specifies the number of neighbors to return, where number is a positive real number.\",\"help\":\"K=*number*\",\"type\":\"value\"},{\"name\":\"NOPRINT\",\"optional\":true,\"description\":\"Suppresses ODS output.\",\"type\":\"standalone\"},{\"name\":\"NTHREADS=\",\"optional\":true,\"description\":\"Specifies the number of threads to use for the computation, where number-of-threads is an integer from 1 to 64, inclusive. The default value is the maximum number of available threads per computer.\",\"help\":\"NTHREADS=*number-of-threads*\",\"type\":\"value\"},{\"name\":\"OUTDIST=\",\"optional\":true,\"description\":\"Specifies the output model data table to contain the computed pairwise distances between query and input observations. CAS-libref.data-table is a two-level name, where CAS-libref refers to the caslib and session identifier, and data-table specifies the name of the output data table.\",\"help\":\"OUTDIST=*CAS-libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"PARALLELIZATION=\",\"optional\":true,\"description\":\"Specifies which data table to distribute among worker nodes.\",\"help\":\"PARALLELIZATION=INPUT | QUERY\",\"type\":\"choice\",\"arguments\":[{\"name\":\"INPUT\",\"description\":\"Distributes the input data table among worker nodes. Specify this value only when the input data table is much larger than the query data table.\",\"type\":\"standalone\"},{\"name\":\"QUERY\",\"description\":\"Distributes the query data table among worker nodes.\",\"type\":\"standalone\"}]},{\"name\":\"QUERY=\",\"optional\":true,\"description\":\"Specifies the input data table that contains the query observations. CAS-libref.data-table is a two-level name, where CAS-libref refers to the caslib and session identifier, and data-table specifies the name of the input data table.\",\"help\":\"QUERY=*CAS-libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"THRESHDIST=\",\"optional\":true,\"description\":\"Specifies the distance threshold for the model, where number is an integer greater than 0. PROC FASTKNN excludes from the computation distances greater than number.\",\"help\":\"THRESHDIST=*number*\",\"type\":\"value\"}]},{\"name\":\"DISPLAY\",\"description\":\"The DISPLAY statement enables you to specify a list of display tables to display or exclude. This statement is similar to the ODS SELECT, ODS EXCLUDE, and ODS TRACE statements. However, the DISPLAY statement can improve performance when a large number of tables could be generated (such as in BY-group processing). The procedure processes the DISPLAY statement on a CAS server and thus sends only a subset of ODS tables to the SAS client. Because ODS statements are processed on a SAS client, all the display tables generated are first sent to the client and then the client creates a subset. If both DISPLAY and ODS statements are used together, the DISPLAY statement takes precedence over the ODS statements.\",\"help\":\"DISPLAY &lt;CASESENSITIVE&gt;&lt;EXCLUDE&gt;&lt;EXCLUDEALL&gt; ...\",\"arguments\":[{\"name\":\"CASESENSITIVE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Performs a case-sensitive comparison of table names in the table-list to display table names when tables are subsetted for display. To preserve case, you must enclose table names in the table-list in quotation marks.\",\"type\":\"standalone\"},{\"name\":\"EXCLUDE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays all display tables except those specified in the table-list.\",\"type\":\"standalone\"},{\"name\":\"EXCLUDEALL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Suppresses display of all tables. This option takes precedence over the other options.\",\"type\":\"standalone\"},{\"name\":\"TRACE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays the display table names, labels, and paths.\",\"type\":\"standalone\"}]},{\"name\":\"DISPLAYOUT\",\"description\":\"The DISPLAYOUT statement enables you to create CAS output tables from your displayed output. This statement is similar to the ODS OUTPUT statement. The table-spec-list specifies a list of CAS output tables to create. Each entry in the list has either a key or a key=value format: key=value specifies key as the ODS table name, path, or partial pathname, and specifies value as the CAS output table name. key specifies key as the ODS table name and also as the CAS output table name. Table names and partial pathnames are discussed under the DISPLAY statement. The DISPLAYOUT statement does not support regular expressions.\",\"help\":\"DISPLAYOUT &lt;INCLUDEALL&gt;&lt;NOREPLACE&gt;&lt;REPEATED&gt; ...\",\"arguments\":[{\"name\":\"INCLUDEALL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Creates output CAS tables for all display tables. The name of the created output CAS table is the same as the corresponding display table name. If you specify this option, the table-spec-list specification is ignored.\",\"type\":\"standalone\"},{\"name\":\"NOREPLACE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Does not replace an existing CAS output table of the same name.\",\"type\":\"standalone\"},{\"name\":\"REPEATED\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Replicates all CAS output tables on all nodes.\",\"type\":\"standalone\"}]},{\"name\":\"ID\",\"description\":\"The ID statement lists one variable to be copied from the input data table to the output data tables that are specified in the OUT= option in the OUTPUT statement and in the OUTDIST= option in the PROC FASTKNN statement. You must specify one variable, which must be numeric.\",\"help\":\"ID variable\"},{\"name\":\"INPUT\",\"description\":\"The INPUT statement specifies the variables to be used in the nearest neighbor search. The variables must be of interval type. You must specify at least one input variable.\",\"help\":\"INPUT variables\"},{\"name\":\"OUTPUT\",\"description\":\"The OUTPUT statement creates an output data table to contain the results of the procedure run.\",\"help\":\"OUTPUT &lt;COPYVAR=variable | COPYVARS=(variables)&gt;&lt;OUT=CAS-libref.data-table&gt;\",\"arguments\":[{\"name\":\"COPYVAR=\",\"optional\":true,\"description\":\"Lists one or more variables from the input data table to be transferred to the output data table.\",\"type\":\"value\"},{\"name\":\"OUT=\",\"optional\":true,\"description\":\"Names the output data table for PROC FASTKNN to use. You must specify this option before any other options. CAS-libref.data-table is a two-level name, where CAS-libref refers to a collection of information that is defined in the LIBNAME statement and includes the caslib, which includes a path to where the data table is to be stored, and a session identifier, which defaults to the active session but which can be explicitly defined in the LIBNAME statement.\",\"help\":\"OUT=*CAS-libref.data-table*\",\"type\":\"dataSet\"}]}],\"supportSiteInformation\":{\"docsetId\":\"casml\",\"docsetVersion\":\"latest\",\"docsetTargetFile\":\"casml_fastknn_toc.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/FCMP.json",
    "content": "{\"name\":\"FCMP\",\"statements\":[{\"name\":\"PROC FCMP\",\"description\":\"Creates, tests, and stores SAS functions, CALL routines, and subroutines.\",\"help\":\"PROC FCMP options;\\n\\tABORT  ;\\n\\n\\tARRAY array-name                [dimensions                ] </NOSYMBOLS> |                <variable(s)>                |                <constant(s)>                |                <initial-values)>                ;\\n\\n\\tATTRIB variable(s)<FORMAT=format-name\\n                  ><LABEL='label’><                         LENGTH=length\\n                  > ;\\n\\n\\tDELETEFUNC function-name                ;\\n\\n\\tDELETESUBR subroutine-name                ;\\n\\n\\tFUNCTION function-name(argument(s))<VARARGS><$><length>\\n\\t\\t<KIND | GROUP='string' <LABEL='string-2'>> ;\\n\\n\\tLABEL variable                ='label'                ;\\n\\n\\tLISTFUNC function-name                ;\\n\\n\\tLISTSUBR subroutine-name                ;\\n\\n\\tSTRUCT structure-namevariable                ;\\n\\n\\tSUBROUTINE subroutine-name                   (argument(s))<VARARGS>\\n\\t\\t<LABEL ='label'><KIND | GROUP='string'>                ;\\n\\n\\tOUTARGS out-argument(s)                ;\\n\",\"arguments\":[{\"name\":\"DATA=\",\"optional\":true,\"description\":\"reads an input data set into the PROC FCMP step.\",\"help\":\"DATA=*filename*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0l67o843kc0xrn1l1f22b7hbegi\"},{\"name\":\"ENCRYPT\",\"optional\":true,\"aliases\":[\"HIDE\"],\"description\":\"encodes the source code in a data set.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n15e8hz2zyxq81n185f8a0acx6se\"},{\"name\":\"FLOW\",\"optional\":true,\"description\":\"specifies printing a message for each statement in a program as it is executed.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p198gxd6bvsahkn1xwbeyv54sn41\"},{\"name\":\"GETCASCMPLIB\",\"optional\":true,\"aliases\":[\"GETCMPLIB\"],\"description\":\"specifies to display the cmplib setting for CAS and certain environments. The result is output to the SAS log. This option is supported as of 2024.02.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n00exy72ug97vkn1luyfsqvupdnj\"},{\"name\":\"GETCASCMPOPT\",\"optional\":true,\"aliases\":[\"GETCMPOPT\"],\"description\":\"specifies to display the cmpopt setting for CAS and certain environments. The result is output to the SAS log. This option is supported as of 2024.02.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0vbdx4ktq8jpyn1a6wr2mjzgcge\"},{\"name\":\"LIBRARY=\",\"optional\":true,\"aliases\":[\"INLIB\"],\"description\":\"links previously compiled libraries.\",\"help\":\"LIBRARY=*library.dataset* <br/> LIBRARY=(*library-1.dataset library-2.dataset ...                            library-n.dataset)* <br/> LIBRARY=*library.datasetM -                            library.datasetN*\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"p05erkpl5la85en1noqw653v02ie\"},{\"name\":\"LIST\",\"optional\":true,\"description\":\"specifies that both the LISTSOURCE and LISTPROG options are in effect.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0di44zi84mq8qn1c5bpf8ph6lzr\"},{\"name\":\"LISTALL\",\"optional\":true,\"description\":\"specifies that the LISTCODE, LISTPROG, and LISTSOURCE options are in effect.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1tzz75l6etmjwn1o4i99ikhv40k\"},{\"name\":\"LISTCODE\",\"optional\":true,\"description\":\"specifies the printing of compiled program code.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0p2vmsajjqn49n10qk40qr56yrc\"},{\"name\":\"LISTFUNCS\",\"optional\":true,\"description\":\"lists the prototypes and subroutines for all visible FCMP functions in the SAS listing.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0zftdhje9q6vjn1uzwupk9bitim\"},{\"name\":\"LISTPROG\",\"optional\":true,\"description\":\"specifies the printing of compiled programs.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n02nxxkofcfivgn19hq8azbeymap\"},{\"name\":\"LISTSOURCE\",\"optional\":true,\"description\":\"specifies the printing of source code statements.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n15ey4by2p15xen162r28t1op9d2\"},{\"name\":\"OUT=\",\"optional\":true,\"description\":\"creates an output data set.\",\"help\":\"OUT=*filename*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1ut6my04xwy3in1g8fo8dn48qb0\"},{\"name\":\"OUTFILE=\",\"optional\":true,\"description\":\"writes referenced functions and the main program to a text file. Programs that have been parsed by PROC FCMP, including macro variables, can be exported.\",\"help\":\"OUTFILE=*filename*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n19qdox6ptp3ncn1ixzakbk11mws\"},{\"name\":\"OUTITEMSTORE=\",\"optional\":true,\"description\":\"exports symbols, referenced functions, and the main program to the specified item store. OUTITEMSTORE does not support a fileref. You must use a quoted path.\",\"help\":\"OUTITEMSTORE=*path name*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n01evz0gvvhd41n1ranknrumzwc5\"},{\"name\":\"OUTLIB=\",\"optional\":true,\"description\":\"specifies the name of an output data set to which compiled subroutines and functions are written.\",\"help\":\"OUTLIB=*libname.dataset.package*\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"p000vi3qkrqvz6n1qeb0bqfgl7gg\"},{\"name\":\"PRINT\",\"optional\":true,\"description\":\"specifies printing the result of each statement in a program as it is executed.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1e8jzmsdrjwgvn18e2pmhvpgxsa\"},{\"name\":\"SETCASCMPLIB=\",\"optional\":true,\"aliases\":[\"SETCMPLIB\"],\"description\":\"specifies one or more SAS data sets that contain compiler subroutines to include during compilation for CAS and certain enviornments. This option is supported as of 2024.02.\",\"help\":\"SETCASCMPLIB=\\\"*library-1.dataset library-2.dataset library-n.dataset*\\\"\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"p1fmtremx6yefxn176go7zoorihf\"},{\"name\":\"SETCASCMPOPT=\",\"optional\":true,\"aliases\":[\"SETCMPOPT\"],\"description\":\"specifies one or more code generation optimizations for CAS and certain environments. This option is supported as of 2024.02. For a list of code generation optimizations, see CMPOPT\",\"help\":\"SETCASCMPOPT=\\\"*option-1 option-2 option-n\\\"*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p12l0i7n9gtv80n1je4bcrzsep1c\"},{\"name\":\"TRACE\",\"optional\":true,\"description\":\"specifies printing the results of each operation in each statement in a program as it is executed.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0y5ra8ykst5xpn1qjvwfw5rf4dp\"}],\"supportSiteTargetFile\":\"p0urpv7yyzylqsn1g2fycva2bs3n.htm\"},{\"name\":\"ABORT\",\"description\":\"Terminates the current DATA step, job, or SAS session.\",\"help\":\"ABORT ;\",\"supportSiteTargetFile\":\"p14xa7fq3r9uren1j3mntg8k9qmx.htm\"},{\"name\":\"ARRAY\",\"description\":\"Associates a name with a list of variables and constants.\",\"help\":\"ARRAY *array-name*[*dimensions*] &lt;*$**length* | *VARCHAR (length)* | *VARCHAR(*)*&gt;&lt;/NOSYMBOLS&gt; |                   &lt;*variable(s)*&gt; |                   &lt;*constant(s)*&gt; |                   &lt;*initial-values*&gt;;\",\"arguments\":[{\"name\":\"array-name\",\"placeholder\":true,\"description\":\"specifies the name of the array.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p18y6adkwis22cn1ru7jdrq7t4q6\"},{\"name\":\"dimensions\",\"placeholder\":true,\"description\":\"is a numeric representation of the number of elements in a one-dimensional array or the number of elements in each dimension of a multidimensional array.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0kp4ks5hlfvdfn1k2jylz52n96j\"},{\"name\":\"$\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies that the preceding variables are character variables of type CHAR.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1t5fh9vdycckln129r4tb01w13q\"},{\"name\":\"length\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies a numeric constant for storing variable values. For numeric and character variables, this constant is the maximum number of bytes stored in the variable.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0rxn33ee8v1d4n1g90ohgtd95db\"},{\"name\":\"length\",\"placeholder\":true,\"description\":\"specifies the maximum number of characters stored for VARCHAR variables.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1m5bz96o5v2wun1cqnn5zzvux8y\"},{\"name\":\"*\",\"placeholder\":true,\"description\":\"specifies to support the maximum length allowed: 536,870,911 UTF-8 characters.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1eos72x0b4k2en19nhltozjoipi\"},{\"name\":\"variable\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the variables of the array.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1ececonya13msn1nh298s9mk1if\"},{\"name\":\"constant\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies a number or a character string that indicates a fixed value. Enclose character constants in quotation marks.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0qywcuply4rodn11xupseeub76z\"},{\"name\":\"initial-values\",\"optional\":true,\"placeholder\":true,\"description\":\"gives initial values for the corresponding elements in the array. You can specify internal values inside parentheses.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1jom573smhnp5n1kyaqe0dzmxhe\"},{\"name\":\"/NOSYMBOLS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that an array of numeric or character values be created without the associated element variables. In this case, the only way that you can access elements in the array is by array subscripting.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p170b1kv28e4non1t438sr5xq1n3\"}],\"supportSiteTargetFile\":\"p048tu5gixqaxin1ej7b7yuyhn86.htm\"},{\"name\":\"ATTRIB\",\"description\":\"Specifies format, label, and length information for variables.\",\"help\":\"ATTRIB *variable(s)*&lt;FORMAT=*format-name*                            LABEL='*label*' LENGTH=*length*&gt;;\",\"arguments\":[{\"name\":\"variable\",\"placeholder\":true,\"description\":\"specifies the variables that you want to associate with attributes.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1ji61daca5fgun101oiua9coqjv\"},{\"name\":\"FORMAT=\",\"optional\":true,\"description\":\"associates a format with variables in the variable argument.\",\"help\":\"FORMAT=*format-name*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0ff0i02eeyvofn14uctvnbqorl0\"},{\"name\":\"LABEL=\",\"optional\":true,\"description\":\"associates a label with variables in the variable argument.\",\"help\":\"LABEL='*label*'\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1xjirhzfsgaujn16erdl78h386a\"},{\"name\":\"LENGTH=\",\"optional\":true,\"description\":\"specifies the length of the variable in the variable argument.\",\"help\":\"LENGTH=*length*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1tkzpzmyhkmt5n1b52rn8x2svq5\"}],\"supportSiteTargetFile\":\"n0seq1ln0q7zfrn1w44ym5h3se2k.htm\"},{\"name\":\"DECLARE\",\"aliases\":[\"DCL\"],\"description\":\"Declares an object.\",\"help\":\"Form 1: \\nDECLARE object-type\\n                  object-reference\\n                  ;\\nForm 2: \\nDECLARE OBJECT object-reference\\n                  (object-type\\n                  )\",\"arguments\":[{\"name\":\"object-reference\",\"placeholder\":true,\"description\":\"specifies the reference name for the object.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0ofrwvu5a08sdn1ax97rkz4y99q\"},{\"name\":\"object-type\",\"placeholder\":true,\"description\":\"specifies the type of object to declare.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n06hp9ipyfix4yn1eqdazccxv4bi\"}],\"supportSiteTargetFile\":\"p1nlkc95ssfqdan19oawnmxszp5h.htm\"},{\"name\":\"DELETEFUNC\",\"description\":\"Causes a function to be deleted from the function library that is specified in the OUTLIB option.\",\"help\":\"DELETEFUNC *function-name*;\",\"arguments\":[{\"name\":\"function-name\",\"placeholder\":true,\"description\":\"specifies the name of a function to be deleted from the function library that is specified in the OUTLIB option.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1ebaqx7b1bq2gn1565vymqdca8a\"}],\"supportSiteTargetFile\":\"p00f64b2bq2ukqn1t5t6doh9oehz.htm\"},{\"name\":\"DELETESUBR\",\"description\":\"Causes a subroutine to be deleted from the function library that is specified in the OUTLIB option.\",\"help\":\"DELETESUBR *subroutine-name*;\",\"arguments\":[{\"name\":\"subroutine-name\",\"placeholder\":true,\"description\":\"specifies the name of a subroutine to be deleted from the function library that is specified in the OUTLIB option.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0389jj8zkib92n1eclieq0ghzik\"}],\"supportSiteTargetFile\":\"p03emtky0iumrxn1sj668g5ojgmb.htm\"},{\"name\":\"FUNCTION\",\"description\":\"Specifies a subroutine declaration for a routine that returns a value.\",\"help\":\"FUNCTION function-name(argument-1<, argument-2,                         ...>) <VARARGS><$ | VARCHAR><length>\\n<KIND  |  GROUP                       ='string                       ' ><LABEL='string-2'>;\\n\\t... more-program-statements                         ...\\n\\n\\tRETURN                       (expression                      );\\nENDSUB ;\",\"arguments\":[{\"name\":\"function-name\",\"placeholder\":true,\"description\":\"specifies the name of the function.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p15kt7l7pokdm3n1eoxiym8aq25f\"},{\"name\":\"argument\",\"placeholder\":true,\"description\":\"specifies one or more arguments for the function. You specify character arguments by placing a dollar sign ($) after the argument name.VARCHAR arguments are specified by placing VARCHAR after the argument name. In the following example, function myfunct(arg1, arg2 $, arg3, arg4 $); arg1 and arg3 are numeric arguments, and arg2 and arg4 are character arguments.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n01y7uldrx7ukrn1m6403kq78dno\"},{\"name\":\"expression\",\"placeholder\":true,\"description\":\"specifies the value that is returned from the function.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0fo0hmwfo6cf1n1p90ct173vosk\"},{\"name\":\"VARARGS\",\"optional\":true,\"description\":\"specifies that the function supports a variable number of arguments. If you specify VARARGS, then the last argument in the function must be an array.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1ru8ksyfhgovan162zf0kj06b0k\"},{\"name\":\"$\",\"optional\":true,\"description\":\"specifies that the function returns a character value. If neither $ or VARCHAR are specified, then the function returns a numeric value.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0ek2su52h4wznn1r5wbmansn40o\"},{\"name\":\"VARCHAR\",\"optional\":true,\"description\":\"specifies that the function returns a VARCHAR value. If neither VARCHAR or $ are specified, then the function returns a numeric value.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1vidth4ao0ec8n171zkaujhpt1v\"},{\"name\":\"length\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the length of a character or VARCHAR value. If no length is specified for a VARCHAR value, the maximum VARCHAR length allowed is used.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n09cp464w9xf9vn1crry8mfpk9f2\"},{\"name\":\"KIND=\",\"optional\":true,\"description\":\"specifies a collection of items that have specific attributes and is limited to 32 characters.\",\"help\":\"KIND='*string*'\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p175ufgbyq7patn1hpfk24vx6pjj\"},{\"name\":\"GROUP=\",\"optional\":true,\"description\":\"specifies a collection of items that have specific attributes and is limited to 32 characters.\",\"help\":\"GROUP='*string*'\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p175ufgbyq7patn1hpfk24vx6pjj\"},{\"name\":\"LABEL=\",\"optional\":true,\"description\":\"specifies a label of up to 256 characters, including blanks.\",\"help\":\"LABEL='*string-2*'\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0ks3e8lgb9jlrn1ubuoku3auc22\"}],\"supportSiteTargetFile\":\"n10vesidziklh1n1l7kidq4dqd0r.htm\"},{\"name\":\"LABEL\",\"description\":\"Specifies a label of up to 256 characters.\",\"help\":\"LABEL *variable*='*label*';\",\"arguments\":[{\"name\":\"variable\",\"placeholder\":true,\"description\":\"names the variable that you want to label.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1wo3ht3nx2jubn1duhzyo1xcahj\"},{\"name\":\"'label'\",\"placeholder\":true,\"description\":\"specifies a label of up to 256 characters, including blanks.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0h8sqzxedxcoun1mksju44vgvxv\"}],\"supportSiteTargetFile\":\"n0bd44jat56ic1n1y0crl2w8fbdv.htm\"},{\"name\":\"LENGTH\",\"description\":\"Specifies the number of bytes for storing character and numeric variables, or the number of characters for storing VARCHAR variables.\",\"help\":\"LENGTH  *variable-specification(s)*&lt;DEFAULT= *n*&gt;;\",\"arguments\":[{\"name\":\"variable-specification\",\"description\":\"is a required argument and has this form:\",\"type\":\"standalone\",\"arguments\":[{\"name\":\"variable\",\"description\":\"specifies one or more variables that are to be assigned a length\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p19mbb7j6wpu0zn1ls7ynjs9s5ua\"},{\"name\":\"$\",\"description\":\"specifies that the preceding variables are character variables of type CHAR.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1vjcffo50zhbrn1lf0z2kptplxp\"},{\"name\":\"length\",\"description\":\"specifies a numeric constant for storing variable values. For numeric and character variables, this constant is the maximum number of bytes stored in the variable.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0hyxm6iiejbqhn1sa48u2o6tpgj\"},{\"name\":\"VARCHAR\",\"description\":\"specifies that the preceding variables are of type VARCHAR.\",\"type\":\"standalone\",\"arguments\":[{\"name\":\"length\",\"description\":\"specifies the maximum number of characters stored for VARCHAR variables.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0mxltq9bg7sj8n1p5ybjix8xvrw\"},{\"name\":\"*\",\"description\":\"specifies to support the maximum length allowed: 536,870,911 UTF-8 characters. For example, length foo varchar(*); means set the maximum length for the foo VARCHAR variable.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0iklff7td0hc3n1j51jdylpdkuj\"}],\"supportSiteTargetFragment\":\"n0vhf38hoqp7j0n0zuwohpdx9tz0\"}],\"supportSiteTargetFragment\":\"n13rbcgpu9ppi6n12xv2l5pub76d\"},{\"name\":\"DEFAULT\",\"optional\":true,\"description\":\"changes the default number of bytes that SAS uses to store the values of any newly created numeric variables.\",\"help\":\"DEFAULT = n\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n021g65p29me45n1pnywzvajjju3\"}],\"supportSiteTargetFile\":\"n0r03g9q9xfxs2n1aruhfkhk8dvc.htm\"},{\"name\":\"LISTFUNC\",\"description\":\"Causes the source code for a function to be written to the SAS listing.\",\"help\":\"LISTFUNC *function-name*&lt;/NODEPENDENTS &gt;;\",\"arguments\":[{\"name\":\"function-name\",\"placeholder\":true,\"description\":\"specifies the name of the function for which source code is written to the SAS listing.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0tvqvrh0wprsan17mhgumzss9d3\"},{\"name\":\"/NODEPENDENTS\",\"optional\":true,\"aliases\":[\"/NODEPS\"],\"description\":\"specifies that only the functions specified by function-name be returned and not any dependent functions.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n14d73918tfjn3n1ny3tsmh9rp1i\"}],\"supportSiteTargetFile\":\"p1cfsdsjdscvg2n15lh3zs2yu0ht.htm\"},{\"name\":\"LISTSUBR\",\"description\":\"Causes the source code for a subroutine to be written to the SAS listing.\",\"help\":\"LISTSUBR *subroutine-name*;\",\"arguments\":[{\"name\":\"subroutine-name\",\"placeholder\":true,\"description\":\"specifies the name of the subroutine for which source code is written to the SAS listing.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0mj7o1wqrdur8n1ubj566o0pwwt\"}],\"supportSiteTargetFile\":\"p16yeja88uk22gn15nzvjmt1ui5h.htm\"},{\"name\":\"OUTARGS\",\"description\":\"Specifies arguments in an argument list that you want a subroutine to update.\",\"help\":\"OUTARGS *out-argument-1*&lt;, *out-argument-2*,                         ...&gt;;\",\"arguments\":[{\"name\":\"out-argument\",\"placeholder\":true,\"description\":\"specifies arguments from the argument list that you want the subroutine to update.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0pzwwztpvlzf4n1eda2hfdq8jql\"}],\"supportSiteTargetFile\":\"n1ia7fy9b1jncdn1w8kol0rqwp5s.htm\"},{\"name\":\"STATIC\",\"description\":\"Retains a variable’s value from a previous call until the variable is reassigned.\",\"help\":\"STATIC *variables*                       , &lt;*initial-value(s)*&gt;;\",\"arguments\":[{\"name\":\"variables\",\"placeholder\":true,\"description\":\"specifies variable names, variable lists, or array names whose values you want to retain.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0e5i17t6q46x3n1v196xy7wf8ii\"},{\"name\":\"initial-values\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies an initial value, numeric or character, for one or more of the preceding elements.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1911st0mmxw8dn1876drv9gv1qr\"}],\"supportSiteTargetFile\":\"n1hibagzq56n1ln18uuirjot40in.htm\"},{\"name\":\"STRUCT\",\"description\":\"Declares (creates) structure types that are defined in C-Language packages.\",\"help\":\"STRUCT *structure-name**variable*;\",\"arguments\":[{\"name\":\"structure-name\",\"placeholder\":true,\"description\":\"specifies the name of a structure that is defined in a C-language package and declared in PROC FCMP.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1s8oc4tffeod0n13tmeih1fcj30\"},{\"name\":\"variable\",\"placeholder\":true,\"description\":\"specifies the variable that you want to declare as this structure type.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p06d5hkvflrgnin160tpx3hrqig9\"}],\"supportSiteTargetFile\":\"n0bzrncq8xpks3n19ess44st1y7i.htm\"},{\"name\":\"SUBROUTINE\",\"description\":\"Declares (creates) an independent computational block of code that you can call using a CALL statement.\",\"help\":\"SUBROUTINE subroutine-name                    (argument-1<, argument-2,                         ...>) <VARARGS>\\n<KIND  |  GROUP                       ='string                       '>;\\n\\tOUTARGS out-argument-1<, out-argument-2                             , ...> ;\\n\\n\\t... more-program-statements                         ...\\n\\n\\tENDSUB  ;\\n\",\"arguments\":[{\"name\":\"subroutine-name\",\"placeholder\":true,\"description\":\"specifies the name of a subroutine.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0b30us5gi8y33n1deg65dcdobik\"},{\"name\":\"argument\",\"placeholder\":true,\"description\":\"specifies one or more arguments for the subroutine. Character arguments are specified by placing a dollar sign ($) after the argument name. VARCHAR arguments are specified by placing VARCHAR after the argument name. In the following example, subroutine mysub(arg1, arg2 $, arg3, arg4 $); arg1 and arg3 are numeric arguments, and arg2 and arg4 are character arguments.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1b0ng2vlparg8n1kzn9q4gsobby\"},{\"name\":\"OUTARGS\",\"description\":\"specifies arguments from the argument list that the subroutine should update.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0202i4wd3e3ixn1d4gbf0n6dyhe\"},{\"name\":\"out-argument\",\"placeholder\":true,\"description\":\"specifies arguments from the argument list that you want the subroutine to update.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p105af0ja3rshxn1o2hbqk0vex0f\"},{\"name\":\"VARARGS\",\"optional\":true,\"description\":\"specifies that the subroutine supports a variable number of arguments. If you specify VARARGS, then the last argument in the subroutine must be an array.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0nsoms39qbujfn15qc9bbrtd42t\"},{\"name\":\"GROUP=\",\"optional\":true,\"description\":\"specifies a collection of items that have specific attributes and is limited to 32 characters.\",\"help\":\"GROUP='*string*'\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0oxboot06ufzln1czfjcf41s4rg\"},{\"name\":\"KIND=\",\"optional\":true,\"description\":\"specifies a collection of items that have specific attributes and is limited to 32 characters.\",\"help\":\"KIND='*string*'\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0oxboot06ufzln1czfjcf41s4rg\"}],\"supportSiteTargetFile\":\"p1svxr89fblanen1q9l4vqfrr1rz.htm\"}],\"supportSiteInformation\":{\"docsetId\":\"proc\",\"docsetVersion\":\"v_002\",\"docsetTargetFile\":\"p10b4qouzgi6sqn154ipglazix2q.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/FEDSQL.json",
    "content": "{\"name\":\"FEDSQL\",\"statements\":[{\"name\":\"PROC FEDSQL\",\"description\":\"Specifies that the subsequent input is FedSQL language statements.\",\"help\":\"PROC FEDSQL <connection-options><processing-options>;\\n\\t ...FedSQL statements\\n\\n\\tQUIT ;\\n\",\"arguments\":[{\"name\":\"_METHOD\",\"optional\":true,\"description\":\"prints a brief text description of the FedSQL query plan.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0e5ospndsc4rtn1dvo12vkifaqj\"},{\"name\":\"_POSTOPTPLAN\",\"optional\":true,\"description\":\"prints an XML tree illustrating the FedSQL query plan.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n18ckydbybcr44n1cpzo3uvywjtt\"},{\"name\":\"ANSIMODE\",\"optional\":true,\"description\":\"specifies that nonexistent values in CHAR and DOUBLE columns are processed as ANSI SQL null values.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n166gv9r4nysgvn0ziqav22zqqra\"},{\"name\":\"AUTOCOMMIT\",\"optional\":true,\"description\":\"for use with DBMS that support transactions only, specifies whether updates are automatically saved to a table after a default number of rows are updated, or whether rollback is available.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0hk5z93e55w7nn1r24t65arnvh4\"},{\"name\":\"NOAUTOCOMMIT\",\"optional\":true,\"description\":\"for use with DBMS that support transactions only, specifies whether updates are automatically saved to a table after a default number of rows are updated, or whether rollback is available.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0hk5z93e55w7nn1r24t65arnvh4\"},{\"name\":\"CNTL=\",\"optional\":true,\"description\":\"specifies optional control instructions for FedSQL query planning and query execution in CAS.\",\"help\":\"CNTL=(*instruction(s)*)\",\"type\":\"value\",\"arguments\":[{\"name\":\"DISABLEPASSTHROUGH\",\"description\":\"disables implicit FedSQL pass-through in CAS.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p009zr6hd4uon2n1w2yzgug1n4me\"},{\"name\":\"DYNAMICCARDINALITY\",\"description\":\"instructs the FedSQL query planner to perform cardinality estimations before selecting a query plan.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1fnid58ype20qn17sbujy9rsm7r\"},{\"name\":\"OPTIMIZEVARBINARYPRECISION\",\"description\":\"optimizes VARBINARY precision by using a precision that is appropriate to the actual data, instead of the precision declared for the VARBINARY columns.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0apct3gy3bos8n1h3264pumgvp9\"},{\"name\":\"OPTIMIZEVARCHARPRECISION\",\"description\":\"optimizes VARCHAR precision by using a precision that is appropriate to the actual data, instead of the precision declared for the VARCHAR columns.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1p6obvqygs5r1n121yzknes1tdt\"},{\"name\":\"PRESERVEJOINORDER\",\"description\":\"joins tables in the specified order instead of an order chosen by the FedSQL query optimizer.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1v8cj8f6smcfln1h1lr8z4nxq8d\"},{\"name\":\"REQUIREFULLPASSTHROUGH\",\"description\":\"stops processing the FedSQL request when implicit pass-through of the full query cannot be achieved.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p03ytlgl7mc61zn19vg925owzgzu\"},{\"name\":\"SHOWSTAGES\",\"description\":\"writes query execution details to the SAS log.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0l48l8ud1zqnpn1kuakoivnmvq0\"}],\"supportSiteTargetFragment\":\"n18wm0ae0rfylcn1itwyzhwlgsqy\"},{\"name\":\"ERRORSTOP\",\"optional\":true,\"description\":\"specifies whether the procedure stops executing if it encounters an error.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1uymuhe8hyt19n1xn07x2pefo6l\"},{\"name\":\"NOERRORSTOP\",\"optional\":true,\"description\":\"specifies whether the procedure stops executing if it encounters an error.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1uymuhe8hyt19n1xn07x2pefo6l\"},{\"name\":\"EXEC\",\"optional\":true,\"description\":\"specifies whether a statement should be executed after its syntax is checked for accuracy.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1uvqjdlh12c9vn1xjet6ihu20tz\"},{\"name\":\"NOEXEC\",\"optional\":true,\"description\":\"specifies whether a statement should be executed after its syntax is checked for accuracy.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1uvqjdlh12c9vn1xjet6ihu20tz\"},{\"name\":\"LABEL\",\"optional\":true,\"description\":\"specifies whether to use the column label or the column name as the column heading.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1rzjzd7txwnlrn1jn72ng8t6fdu\"},{\"name\":\"NOLABEL\",\"optional\":true,\"description\":\"specifies whether to use the column label or the column name as the column heading.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1rzjzd7txwnlrn1jn72ng8t6fdu\"},{\"name\":\"LIBS=\",\"optional\":true,\"aliases\":[\"LIBNAMES=\"],\"description\":\"restricts the data source connection to the specified libref or librefs, and the default library.\",\"help\":\"LIBS=*libref* | (*libref1**libref2* ...*librefn*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"libref\",\"placeholder\":true,\"type\":\"dataSet\"},{\"name\":\"(libref1libref2librefn)\",\"placeholder\":true,\"type\":\"dataSet\"}],\"supportSiteTargetFragment\":\"p090x6xcxw9ukbn1umv9j5agbi74\"},{\"name\":\"MEMSIZE=\",\"optional\":true,\"description\":\"specifies a limit for the amount of memory that is used for an underlying query (such as a SELECT statement), so that allocated memory is available to support other PROC FEDSQL operations.\",\"help\":\"MEMSIZE=*n* | *n*M | *n*G\",\"type\":\"choice\",\"arguments\":[{\"name\":\"n\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"M\",\"type\":\"value\"},{\"name\":\"G\",\"type\":\"value\"}],\"supportSiteTargetFragment\":\"n0mhph86rgqnxan1g1ockzpm5686\"},{\"name\":\"NOPRINT\",\"optional\":true,\"description\":\"suppresses the normal display of results.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n05ne7ijbvzryan1ozverfot5ruy\"},{\"name\":\"NUMBER\",\"optional\":true,\"description\":\"specifies to include a column named Row, which is the row (observation) number of the data as the rows are retrieved.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0px3m749i5wr5n1w8e3e7b9hu0p\"},{\"name\":\"SESSREF=\",\"optional\":true,\"description\":\"specifies to run the FedSQL statements in a CAS session. The CAS session is identified by its session name.\",\"help\":\"SESSREF=*session-reference*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p16fk4muwh579un1b6b5hhf3tdi1\"},{\"name\":\"SESSUUID=\",\"optional\":true,\"description\":\"specifies to run the FedSQL statements in a CAS session. The CAS session is identified by its universally unique identifier (UUID).\",\"help\":\"SESSUUID=\\\"*session-uuid*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0g4f0m16elsrpn1lsjc4cvcbn76\"},{\"name\":\"STIMER\",\"optional\":true,\"description\":\"specifies to write a subset of system performance statistics, such as time-elapsed statistics, to the SAS log.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n13zp43hd8yh60n1jfmjf7vncg6u\"},{\"name\":\"XCODE=\",\"optional\":true,\"description\":\"controls the behavior of the SAS session when an NLS transcoding failure occurs.\",\"help\":\"XCODE=ERROR | WARNING | IGNORE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ERROR\",\"description\":\"specifies that a run-time error occurs, which causes row processing to halt. An error message is written to the SAS log. This is the default behavior.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1jtuw01ofya3fn1guidhaucsnxz\"},{\"name\":\"WARNING\",\"description\":\"specifies that the incompatible character is set to a substitution character. A warning message is written to the SAS log.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0rrynmyvqn24ln1elucetutgaoz\"},{\"name\":\"IGNORE\",\"description\":\"specifies that the incompatible character is set to a substitution character. No messages are written to the SAS log.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1k5t0a5qib3wrn1m6u6eeueo590\"}],\"supportSiteTargetFragment\":\"p0xqe6ddqz7s5mn16sdfdykjgp93\"}],\"supportSiteTargetFile\":\"n06w5kqwkurgk2n1irjo6h94fkcq.htm\"},{\"name\":\"QUIT\",\"description\":\"Stops the execution of the FEDSQL procedure.\",\"help\":\"QUIT;\",\"supportSiteTargetFile\":\"p1722fe1hnwtq9n12fesjhwy63xd.htm\"}],\"interactive\":true,\"supportSiteInformation\":{\"docsetId\":\"proc\",\"docsetVersion\":\"v_002\",\"docsetTargetFile\":\"p0ahxz9t4dkcucn1uiqa42nbazbh.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/FISM.json",
    "content": "{\"name\":\"FISM\",\"statements\":[{\"name\":\"PROC FISM\",\"description\":\"The FISM procedure performs frequent item set mining, which looks for frequent patterns in a large database. The FISM procedure finds frequent patterns by using the FP-growth (frequent-pattern growth) algorithm of Han, Pei, and Yin (2000). The FP-growth algorithm uses a special data structure called the frequent-pattern tree (FP-tree), which retains the item set association information. † The FISM procedure is used by other procedures such as the MBANALYSIS procedure for association rule mining.\",\"help\":\"PROC FISM <DATA=CAS-libref.data-table><ITEMS=number><NFIS_RANGE=(number, number)><PCTSUP=number | SUPPCT=number | SUP_PCT=number | PCTSUPPORT=number><SUPPORT=number>;     \\n\\tCUSTOMER variable;\\n\\n\\tOUTPUT <OUT=CAS-libref.data-table><OUTFREQ=CAS-libref.data-table> ;\\n\\n\\tTARGET variable;\\n\",\"arguments\":[{\"name\":\"DATA=\",\"optional\":true,\"description\":\"Names the input data table for PROC FISM to use. CAS-libref.data-table is a two-level name, where\",\"help\":\"DATA=*CAS-libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"ITEMS=\",\"optional\":true,\"description\":\"Specifies the number of items in a frequent item set, where number must be an integer between 1 and 1,000. By default, ITEMS=2 when you specify the OUT= option in the OUTPUT statement; otherwise, ITEMS=1 by default. This option is ignored if you specify the NFIS_RANGE= option.\",\"help\":\"ITEMS=*number*\",\"type\":\"value\"},{\"name\":\"NFIS_RANGE=\",\"optional\":true,\"description\":\"Specifies the range of number of items in the frequent item sets, where number must be an integer between 1 and 1,000.\",\"type\":\"value\"},{\"name\":\"PCTSUP=\",\"optional\":true,\"aliases\":[\"SUPPCT=\",\"SUP_PCT=\",\"PCTSUPPORT=\"],\"description\":\"Specifies the minimum level of support for a rule as a percentage of the number of baskets in the input data table, where number must be a real number between 0 and 100, inclusive. This option is ignored if the SUPPORT= option is specified.\",\"type\":\"value\"},{\"name\":\"SUPPORT=\",\"optional\":true,\"description\":\"Specifies the minimum level of support (minimum frequency of an item) for a rule, where number must be an integer greater than or equal to 0. This option overrides the specification of the PCTSUP= option.\",\"help\":\"SUPPORT=*number*\",\"type\":\"value\"}]},{\"name\":\"CUSTOMER\",\"description\":\"The CUSTOMER statement groups one or more specified target variables into a basket. You can also specify this statement as ID variables.\",\"help\":\"CUSTOMER variable\"},{\"name\":\"OUTPUT\",\"description\":\"The OUTPUT statement specifies output tables that contain result of FISM procedure.\",\"help\":\"OUTPUT &lt;OUT=CAS-libref.data-table&gt;&lt;OUTFREQ=CAS-libref.data-table&gt;\",\"arguments\":[{\"name\":\"OUT=\",\"optional\":true,\"description\":\"The OUTPUT statement creates a data table to contain the predicted target values of the input table CAS-libref.data-table is a two-level name, where\",\"help\":\"OUT=*CAS-libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"OUTFREQ=\",\"optional\":true,\"description\":\"Creates a data table that contains information about the unique frequent items with their transaction counts and support. CAS-libref.data-table is a two-level name, where CAS-libref refers to the caslib and session identifier, and data-table specifies the name of the output data table.\",\"help\":\"OUTFREQ=*CAS-libref.data-table*\",\"type\":\"dataSet\"}]},{\"name\":\"TARGET\",\"description\":\"The TARGET statement specifies a single nominal variable to use as the target variable. If this variable is not present in the input data table, then PROC FISM exits with an error.\",\"help\":\"TARGET variable\"}],\"supportSiteInformation\":{\"docsetId\":\"casml\",\"docsetVersion\":\"latest\",\"docsetTargetFile\":\"casml_fism_toc.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/FITTEDQNET.json",
    "content": "{\"name\":\"FITTEDQNET\",\"statements\":[{\"name\":\"PROC FITTEDQNET\",\"description\":\"Trains a model by using the fitted Q-network (FQN) algorithm.\",\"help\":\"PROC FITTEDQNET DATA=libref.data-table <options>;\\n\\t<ACTION ><variable>;\\n\\n\\t<DONE ><variable>;\\n\\n\\t<OPTIMIZATION ><ADAM(<sub-options>) | SGD(<sub-options>)><common-options>;\\n\\n\\tOUTPUT <OUT=libref.data-table><options>;\\n\\n\\tQMODEL LAYERDIM=number <option>;\\n\\n\\t<REWARD ><variable>;\\n\\n\\tSAVESTATE RSTORE=libref.data-table;\\n\\n\\tSTATES CURRENTSTATE=variable NEXTSTATE=variable <option>;\\n\\n\\tTRAIN OUTMODEL=libref.data-table <options>;\\n\",\"arguments\":[{\"name\":\"DATA=\",\"description\":\"specifies the data table for the FQN training algorithm to be applied to.\",\"help\":\"DATA=*libref.data-table*\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"p0w1rcz0941r4qn1dd3e3p2k28pd\"},{\"name\":\"DETERMINISTIC\",\"optional\":true,\"description\":\"tells the NVIDIA CUDA Deep Neural Network library (CuDNN) that you want only the deterministic implementations.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0cv2pjdzauy2an1horqa1k9ygo7\"},{\"name\":\"INMODEL=\",\"optional\":true,\"description\":\"specifies the table that contains the model structure and trained weights.\",\"help\":\"INMODEL=*libref.data-table*\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"p10ql3aamqxciun1g8r7byhchvn0\"},{\"name\":\"LOGFREQ=\",\"optional\":true,\"description\":\"specifies how frequently to display messages in the log. The frequency is based on the number of iterations.\",\"help\":\"LOGFREQ=*number*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1pxaw2kvebp4jn1rsjw96wqh19k\"},{\"name\":\"SEED=\",\"optional\":true,\"description\":\"specifies the seed to use for the random number generator for training.\",\"help\":\"SEED=*number*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p05o50es0ldsinn1lqwoal7jl6hm\"},{\"name\":\"USEGPU\",\"optional\":true,\"description\":\"specifies that a GPU device is to be used. You can specify the following suboption:\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0zjfa9njxj784n1gx8kbq4zq3fl\"},{\"name\":\"USEGPU\",\"optional\":true,\"description\":\"specifies the ID number of the GPU device to be used.\",\"help\":\"USEGPU(DEVICE=*id-number*)\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0rdddy0jujvi3n1m4da51x3zuef\"}],\"supportSiteTargetFile\":\"n08pcqqw8ioztsn10latn0d5m1qc.htm\"},{\"name\":\"ACTION\",\"description\":\"The ACTION statement specifies the action variable in the data table to use for training and scoring an FQN model.\",\"help\":\"ACTION &lt;*variable*&gt;;\",\"arguments\":[{\"name\":\"ACTION\",\"optional\":true,\"description\":\"specifies the action variable in the data table.\",\"help\":\"ACTION *variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0i2r3dahoma10n14vsfx08q9b5o\"}],\"supportSiteTargetFile\":\"p0dpbrdzp3z2htn1pk7t0v4cklbh.htm\"},{\"name\":\"DONE\",\"description\":\"The DONE statement specifies the done variable in the data table to use for training and scoring an FQN model.\",\"help\":\"DONE &lt;*variable*&gt;;\",\"arguments\":[{\"name\":\"DONE\",\"optional\":true,\"description\":\"specifies the done variable in the data table.\",\"help\":\"DONE *variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1q3w2wmq4c9h5n10srfoiu95zzm\"}],\"supportSiteTargetFile\":\"n1x7g3ik2zq716n117hy5zlhnt4o.htm\"},{\"name\":\"OPTIMIZATION\",\"description\":\"The OPTIMIZATION statement specifies the optimizer parameters to use in training an FQN model.\",\"help\":\"OPTIMIZATION &lt;ADAM(&lt;*sub-options*&gt;) | SGD(&lt;*sub-options*&gt;)&gt;&lt;*common-options*&gt;;\",\"arguments\":[{\"name\":\"ADAM\",\"optional\":true,\"description\":\"specifies the optimization method to use in training the FQN model.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1edjm7e5qsvq1n1dla5ar7e2e62\"},{\"name\":\"ADAM\",\"optional\":true,\"description\":\"specifies the exponential decay rate for the first-moment estimates for the Adam optimizer.\",\"help\":\"ADAM(BETA1=*number*)\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p09jc346s0tgr4n12ty70bhu4jcw\"},{\"name\":\"ADAM\",\"optional\":true,\"description\":\"specifies the exponential decay rate for the second-moment estimates for the Adam optimizer.\",\"help\":\"ADAM(BETA2=*number*)\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0wr1jmaejh7ezn1s4kaatatglux\"},{\"name\":\"ADAM\",\"optional\":true,\"description\":\"specifies the value to add to the second moment of the gradient in the denominator to improve numerical stability.\",\"help\":\"ADAM(EPSILON=*number*)\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1l3hzdfa44fs5n1trkgatb04f9u\"},{\"name\":\"ADAM\",\"optional\":true,\"description\":\"uses the AMSGrad variant of the Adam optimizer.\",\"help\":\"ADAM(USEAMSGRAD)\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1x6o986a9ft14n0z26oxpsl9fm4\"},{\"name\":\"SGD\",\"optional\":true,\"description\":\"specifies the optimization method to use in training the FQN model.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1jkk5fvf4n4h0n12ydxkjr68pyl\"},{\"name\":\"SGD\",\"optional\":true,\"description\":\"specifies the momentum value for the SGD optimizer.\",\"help\":\"SGD(MOMENTUM=*number*)\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0anqdfw4x8re5n1ctqx2sgvbhw3\"},{\"name\":\"SGD\",\"optional\":true,\"description\":\"enables Nesterov momentum.\",\"help\":\"SGD(USENESTEROV)\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0f8effw1akibdn1vcsafnfimwdu\"},{\"name\":\"SGD\",\"optional\":true,\"description\":\"specifies the damping value for momentum.\",\"help\":\"SGD(DAMPING=*number*)\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1b32zycg6tgxpn1t0exojo2qexs\"},{\"name\":\"LEARNINGRATE=\",\"optional\":true,\"description\":\"specifies the learning rate for the optimizer.\",\"help\":\"LEARNINGRATE=*number*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1kecn8yum0sopn11rh5elkoxg6r\"},{\"name\":\"MINIBATCHSIZE=\",\"optional\":true,\"description\":\"specifies the number of observations in one minibatch. The number should be smaller than the total number of observations in the input data set.\",\"help\":\"MINIBATCHSIZE=*number*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0q04edpaxausyn1s1azricf4hg7\"},{\"name\":\"REGL2=\",\"optional\":true,\"description\":\"specifies the L2 regularization parameter.\",\"help\":\"REGL2=*number*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0o61xytjwwhitn1s63r9klgbtyg\"}],\"supportSiteTargetFile\":\"n0t92s19t60s52n1sqvpczh4gtel.htm\"},{\"name\":\"OUTPUT\",\"description\":\"The OUTPUT statement creates an output data table that contains the results of PROC FITTEDQNET.\",\"help\":\"OUTPUT *options*;\",\"arguments\":[{\"name\":\"COPYVARS=\",\"optional\":true,\"aliases\":[\"copyvar\"],\"description\":\"lists one or more variables from the input data table to be transferred to the output data table.\",\"help\":\"COPYVARS=*varlist*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0vizoelig2mjpn1lo99auxrxkxr\"},{\"name\":\"OUT=\",\"optional\":true,\"description\":\"creates an output data table that contains the results of PROC FITTEDQNET.\",\"help\":\"OUT=*libref.data-table*\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"p1izo9fvfn96pvn1pods8rhk4sjl\"}],\"supportSiteTargetFile\":\"n1rjdqy4g77hfpn1tb12mw89zk7v.htm\"},{\"name\":\"QMODEL\",\"description\":\"The QMODEL statement specifies the neural network parameters to use for estimating the Q-function.\",\"help\":\"QMODEL LAYERDIM=*number* &lt;*option*&gt;;\",\"arguments\":[{\"name\":\"LAYERDIM=\",\"description\":\"specifies the number of neurons in the neural network layer.\",\"help\":\"LAYERDIM=*number*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0upodlqr9hgddn13xdc2hv6jfw7\"},{\"name\":\"ACTIVATION=\",\"optional\":true,\"description\":\"specifies the activation function type for the neural network layer.\",\"help\":\"ACTIVATION=IDENTITY | RELU | SIGMOID | TANH\",\"type\":\"choice\",\"arguments\":[{\"name\":\"IDENTITY\",\"type\":\"standalone\"},{\"name\":\"RELU\",\"type\":\"standalone\"},{\"name\":\"SIGMOID\",\"type\":\"standalone\"},{\"name\":\"TANH\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"p1tw2a027wj17rn11ppbsp1t0p3n\"}],\"supportSiteTargetFile\":\"n1u50dhtievblnn0zmf27kw4k79q.htm\"},{\"name\":\"REWARD\",\"description\":\"The REWARD statement specifies the reward variable in the data table to use for training and scoring an FQN model.\",\"help\":\"REWARD &lt;*variable*&gt;;\",\"arguments\":[{\"name\":\"REWARD\",\"optional\":true,\"description\":\"specifies the reward variable in the data table.\",\"help\":\"REWARD *variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1h2oah91s0b10n16vq73qt6ivgo\"}],\"supportSiteTargetFile\":\"n14e2d4qnhro2dn1006mii9xqgb3.htm\"},{\"name\":\"SAVESTATE\",\"description\":\"The SAVESTATE statement creates an analytic store for the model and saves it as a binary object in a data table. You can use the analytic store in the ASTORE procedure to score new data.\",\"help\":\"SAVESTATE RSTORE=*libref.data-table*;\",\"arguments\":[{\"name\":\"RSTORE=\",\"description\":\"creates an analytic store for the model and saves it as a binary object in a data table. You can use the analytic store in the ASTORE procedure to score new data.\",\"help\":\"RSTORE=*libref.data-table*\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"n1i5skqco8qsf0n1hki58ah6dju5\"}],\"supportSiteTargetFile\":\"p00mkvo92mq4gan1sby3ed47799p.htm\"},{\"name\":\"STATES\",\"description\":\"The STATES statement specifies the current and future state variables in the data table to use for training and scoring an FQN model.\",\"help\":\"STATES CURRENTSTATE=*variable* NEXTSTATE=*variable* &lt;*option*&gt;;\",\"arguments\":[{\"name\":\"CURRENTSTATE=\",\"description\":\"specifies the variable that indicates the current state for training and scoring.\",\"help\":\"CURRENTSTATE=*variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0e0xvqy7851q0n1e0nv9q6dh1i9\"},{\"name\":\"NEXTSTATE=\",\"description\":\"specifies the variable that indicates the next state for training and scoring.\",\"help\":\"NEXTSTATE=*variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0dfh4gzj44tp7n1ojoa8el90t36\"},{\"name\":\"NOMNOMINAL\",\"optional\":true,\"description\":\"specifies whether the state is nominal.\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NOM\",\"type\":\"standalone\"},{\"name\":\"NOMINAL\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"n1ag4xcau0goy9n16887na1aa5ab\"}],\"supportSiteTargetFile\":\"p0fhzodx4rg16gn1ek3v5fu8fo5i.htm\"},{\"name\":\"TRAIN\",\"description\":\"The TRAIN statement specifies the training parameters to use for training an FQN model.\",\"help\":\"TRAIN OUTMODEL=*libref.data-table* &lt;*options*&gt;;\",\"arguments\":[{\"name\":\"OUTMODEL=\",\"description\":\"specifies a table to be used to save the model structure and weights.\",\"help\":\"OUTMODEL=*libref.data-table*\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"p0hsniq355va03n1cuwvecxa5t7c\"},{\"name\":\"CHECKPOINTFREQ=\",\"optional\":true,\"description\":\"specifies how often to save training parameters.\",\"help\":\"CHECKPOINTFREQ=*number*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n192wqhndg0w3yn102ulcp2ex79r\"},{\"name\":\"GAMMA=\",\"optional\":true,\"description\":\"specifies the discount factor to be used to compute long-term value.\",\"help\":\"GAMMA=*number*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0s41x1ge2nmn6n1l1jxo071f2oe\"},{\"name\":\"INCHECKPOINT=\",\"optional\":true,\"aliases\":[\"CHECKPOINTIN\"],\"description\":\"specifies the checkpoint table to be loaded to restore your model.\",\"help\":\"INCHECKPOINT=*libref.data-table*\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"p1vs1qqpsqxndfn16gx9x0id45f8\"},{\"name\":\"MAXGRADIENTNORM=\",\"optional\":true,\"description\":\"specifies the maximum allowed value for the gradient magnitude.\",\"help\":\"MAXGRADIENTNORM=*number*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1byulpq4bw639n15x68ahnb6t3b\"},{\"name\":\"NUMEPOCHS=\",\"optional\":true,\"description\":\"specifies the number of epochs to use in training the model.\",\"help\":\"NUMEPOCHS=*number*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1jvplzfafvx4rn1rvqy3e9bgifn\"},{\"name\":\"OUTCHECKPOINT=\",\"optional\":true,\"aliases\":[\"CHECKPOINTOUT\"],\"description\":\"specifies the table in which to save the current model as a checkpoint.\",\"help\":\"OUTCHECKPOINT=*libref.data-table*\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"p0642hc9idpc3ln18gv4kl8dh2xq\"},{\"name\":\"TARGETUPDATEINTERVAL=\",\"optional\":true,\"description\":\"specifies how often to reset the target Q model parameters to the current Q model parameters.\",\"help\":\"TARGETUPDATEINTERVAL=*number*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0qe9n294i833bn17o7goqcja5fb\"}],\"supportSiteTargetFile\":\"p04o9j8zh4vv80n1na4hu6o8hmds.htm\"}],\"supportSiteInformation\":{\"docsetId\":\"casmlproc\",\"docsetVersion\":\"v_005\",\"docsetTargetFile\":\"p1jhqba7g7q9ckn1cb6pn1s4joux.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/FMM.json",
    "content": "{\"name\":\"FMM\",\"statements\":[{\"name\":\"PROC FMM\",\"description\":\"The FMM procedure estimates the parameters in univariate finite mixture models and produces various statistics to evaluate parameters and model fit. The following list summarizes some basic features of the FMM procedure: † o maximum likelihood estimation for all models o Markov chain Monte Carlo estimation for many models, including zero-inflated Poisson models o many built-in link and distribution functions for modeling, including the beta, shifted t, Weibull, beta-binomial, and generalized Poisson distributions, in addition to many standard members of the exponential family of distributions o specialized built-in mixture models such as the binomial cluster model (Morel and Nagaraj 1993, Morel and Neerchal 1997, Neerchal and Morel 1998) o acceptance of multiple MODEL statements to build mixture models in which the model effects, distributions, or link functions vary across mixture components o model-building syntax using CLASS and effect-based MODEL statements familiar from many other SAS/STAT procedures (for example, the GLM, GLIMMIX, and MIXED procedures) o evaluation of sequences of mixture models when you specify ranges for the number of components o simple syntax to impose linear equality and inequality constraints among parameters o ability to model regression and classification effects in the mixing probabilities through the PROBMODEL statement o ability to incorporate full or partially known component membership into the analysis through the PARTIAL= option in the PROC FMM statement o OUTPUT statement that produces a SAS data set with important statistics for interpreting mixture models, such as component log likelihoods and prior and posterior probabilities o ability to add zero-inflation to any model o output data set with posterior parameter values for the Markov chain o high degree of multithreading for high-performance optimization and Monte Carlo sampling † The FMM procedure uses ODS Graphics to create graphs as part of its output.\",\"help\":\"PROC FMM <ABSCONV=r | ABSTOL=r><ABSFCONV=r<n> | ABSFTOL=r<n>><ABSFCONV=r<n> | ABSFTOL=r<n>><COMPONENTINFO><CORR><COV><COVI><CRITERION=LOG|ILL | AIC | AICC... ><DATA=SAS-data-set><EXCLUSION=NONE | ANY | ALL><FCONV=r<n> | FTOL=r<n>><FITDETAILS><FCONV=r<n> | FTOL=r<n>><HESSIAN><INVALIDLOGL=r><ITDETAILS><MAXFUNC=n | MAXFU=n><MAXITER=n | MAXIT=n><MAXTIME=r><MINITER=n | MINIT=n><NAMELEN=number><NOCENTER><NOCLPRINT<=number>><NOITPRINT><NOPRINT><ORDER=DATA | FORMATTED | FREQ... ><PARMSTYLE=EFFECT | LABEL><PARTIAL=variable | MEMBERSHIP=variable><PLOTS=ALL | NONE | DENSITY... ><SEED=n><SINGCHOL=number><SINGRES=number><SINGULAR=number><TECHNIQUE=keyword | TECH=keyword>;     \\n\\tBAYES <BETAPRIORPARMS=pair-specification><DIAGNOSTICS=<ALL | NONE | <(keyword-list)>>><MIXPRIORPARMS=K | MIXPRIORPARMS(value-list)> ...;\\n\\n\\tBY <DESCENDING><NOTSORTED> ;\\n\\n\\tCLASS <TRUNCATE> ;\\n\\n\\tFREQ variable ;\\n\\n\\tID variables ;\\n\\n\\tMODEL <ALPHA=number><CL><DISTRIBUTION=<BETA | BETABINOMIAL | BINARY>... > ...;\\n\\n\\tOUTPUT OUT=SAS-data-set | DATA=SAS-data-set PREDICTED<(COMPONENT|OVERALL)> RESIDUAL<(COMPONENT|OVERALL)> ...;\\n\\n\\tPERFORMANCE <CPUCOUNT=<<n> | ACTUAL>><DETAILS><NOTHREADS> ...;\\n\\n\\tPROBMODEL <ALPHA=number><CL><LINK=<CLOGLOG|CLL | LOGIT | LOGLOG>... > ...;\\n\\n\\tRESTRICT <DIVISOR=value> ;\\n\\n\\tWEIGHT variable;\\n\",\"arguments\":[{\"name\":\"ABSCONV=\",\"optional\":true,\"aliases\":[\"ABSTOL=\"],\"description\":\"Specifies an absolute function convergence criterion. For minimization, termination requires f(Ψᵏ) ≤ r, where Ψ is the vector of parameters in the optimization and f(.) is the objective function. The default value of is the negative square root of the largest double-precision value, which serves only as a protection against overflows.\",\"type\":\"value\"},{\"name\":\"ABSFCONV=\",\"optional\":true,\"aliases\":[\"ABSFTOL=\"],\"description\":\"Specifies an absolute function difference convergence criterion. For all techniques except NMSIMP, termination requires a small change of the function value in successive iterations:\",\"type\":\"value\"},{\"name\":\"ABSGCONV=\",\"optional\":true,\"aliases\":[\"ABSGTOL=\"],\"description\":\"Specifies an absolute gradient convergence criterion. Termination requires the maximum absolute gradient element to be small: max|gᵢf(Ψᵏ)| ≤ r\",\"type\":\"value\"},{\"name\":\"COMPONENTINFO\",\"optional\":true,\"aliases\":[\"COMPINFO\",\"CINFO\"],\"description\":\"Produces a table with additional details about the fitted model components.\",\"type\":\"standalone\"},{\"name\":\"CORR\",\"optional\":true,\"description\":\"Produces the correlation matrix of the parameter estimates. For maximum likelihood estimation this matrix is based on the inverse (projected) Hessian matrix. For Bayesian estimation, it is based on the empirical covariance matrix of the posterior estimates.\",\"type\":\"standalone\"},{\"name\":\"COV\",\"optional\":true,\"description\":\"Produces the covariance matrix of the parameter estimates. For maximum likelihood estimation, this matrix is based on the inverse (projected) Hessian matrix. For Bayesian estimation, it is the empirical covariance matrix of the posterior estimates. The covariance matrix is shown for all parameters, even if they did not participate in the optimization or sampling.\",\"type\":\"standalone\"},{\"name\":\"COVI\",\"optional\":true,\"description\":\"Produces the inverse of the covariance matrix of the parameter estimates. For maximum likelihood estimation, the covariance matrix is based on the inverse (projected) Hessian matrix. For Bayesian estimation, it is the empirical covariance matrix of the posterior estimates. This matrix is then inverted by sweeping, and rows and columns that correspond to linear dependencies or singularities are zeroed.\",\"type\":\"standalone\"},{\"name\":\"CRITERION=\",\"optional\":true,\"description\":\"Specifies the criterion by which the FMM procedure ranks models when multiple models are evaluated during maximum likelihood estimation. The default is CRITERION=LOGL.\",\"help\":\"CRITERION=LOG|ILL | AIC | AICC | BIC | PEARSON | GRADIENT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"LOG\",\"aliases\":[\"ILL\"],\"description\":\"Based on the mixture log likelihood\",\"type\":\"standalone\"},{\"name\":\"AIC\",\"description\":\"Based on Akaike’s information criterion\",\"type\":\"standalone\"},{\"name\":\"AICC\",\"description\":\"Based on the bias-corrected AIC criterion\",\"type\":\"standalone\"},{\"name\":\"BIC\",\"description\":\"Based on the Bayesian information criterion\",\"type\":\"standalone\"},{\"name\":\"PEARSON\",\"description\":\"Based on the Pearson statistic\",\"type\":\"standalone\"},{\"name\":\"GRADIENT\",\"description\":\"Based on the largest element of the gradient (in absolute value)\",\"type\":\"standalone\"}]},{\"name\":\"DATA=\",\"optional\":true,\"description\":\"Names the SAS data set to be used by PROC FMM. The default is the most recently created data set.\",\"help\":\"DATA=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"EXCLUSION=\",\"optional\":true,\"aliases\":[\"EXCLUDE=\"],\"description\":\"Specifies how the FMM procedure handles support violations of observations. For example, in a mixture of two Poisson variables, negative response values are not possible. However, in a mixture of a Poisson and a normal variable, negative values are possible, and their likelihood contribution to the Poisson component is zero. An observation that violates the support of one component distribution of the model might be a valid response with respect to one or more other component distributions. This requires some nuanced handling of support violations in mixture models. The default exclusion technique is EXCLUSION=ALL.\",\"help\":\"EXCLUSION=NONE | ANY | ALL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NONE\",\"description\":\"Permits an observation into the analysis regardless of support violations.\",\"type\":\"standalone\"},{\"name\":\"ANY\",\"description\":\"Observations from the analysis if the response violates the support of any component distributions.\",\"type\":\"standalone\"},{\"name\":\"ALL\",\"description\":\"Removes an observation from the analysis only if it violates the support of all component distributions.\",\"type\":\"standalone\"}]},{\"name\":\"FCONV=\",\"optional\":true,\"aliases\":[\"FTOL=\"],\"description\":\"Specifies a relative function convergence criterion. For all techniques except NMSIMP, termination requires a small relative change of the function value in successive iterations, | f(Ψᵏ) - f(Ψᵏ ¯¹) | / |f(Ψᵏ ¯¹)| ≤ r\",\"type\":\"value\"},{\"name\":\"FITDETAILS\",\"optional\":true,\"description\":\"Requests that the \\\"Optimization Information,\\\" \\\"Iteration History,\\\" and \\\"Fit Statistics\\\" tables be produced for all optimizations when models with different number of components are evaluated. For example, the following statements fit a binomial regression model with up to three components and produces fit and optimization information for all three: proc fmm fitdetails; model y/n = x / kmax=3; run;\",\"type\":\"standalone\"},{\"name\":\"GCONV=\",\"optional\":true,\"aliases\":[\"GTOL=\"],\"description\":\"Specifies a relative gradient convergence criterion. The default value is r=1E-8. The optional integer value n specifies the number of successive iterations for which the criterion must be satisfied before the process can terminate.\",\"type\":\"value\"},{\"name\":\"HESSIAN\",\"optional\":true,\"description\":\"Displays the Hessian matrix of the model. This option is not available for Bayesian estimation.\",\"type\":\"standalone\"},{\"name\":\"INVALIDLOGL=\",\"optional\":true,\"description\":\"Specifies the value assumed by the FMM procedure if a log likelihood cannot be computed (for example, because the value of the response variable falls outside of the response distribution’s support). The default value is -1E20.\",\"help\":\"INVALIDLOGL=*r*\",\"type\":\"value\"},{\"name\":\"ITDETAILS\",\"optional\":true,\"description\":\"Adds parameter estimates and gradients to the \\\"Iteration History\\\" table. If the FMM procedure centers or scales the model variables (or both), the parameter estimates and gradients reported during the iteration refer to that scale. You can suppress centering and scaling with the NOCENTER option.\",\"type\":\"standalone\"},{\"name\":\"MAXFUNC=\",\"optional\":true,\"aliases\":[\"MAXFU=\"],\"description\":\"Specifies the maximum number of function calls in the optimization process. The default values are as follows, depending on the optimization technique: TRUREG, NRRIDG, and NEWRAP: 125 QUANEW and DBLDOG: 500 CONGRA: 1000 NMSIMP: 3000\",\"type\":\"value\"},{\"name\":\"MAXITER=\",\"optional\":true,\"aliases\":[\"MAXIT=\"],\"description\":\"Specifies the maximum number of iterations in the optimization process. The default values are as follows, depending on the optimization technique: TRUREG, NRRIDG, and NEWRAP: 50 QUANEW and DBLDOG: 200 CONGRA: 400 NMSIMP: 1000\",\"type\":\"value\"},{\"name\":\"MAXTIME=\",\"optional\":true,\"description\":\"Specifies an upper limit of r seconds of CPU time for the optimization process. The default value is the largest floating-point double representation of your computer. The time specified by the MAXTIME= option is checked only once at the end of each iteration. Therefore, the actual running time can be longer than that specified by the MAXTIME= option.\",\"help\":\"MAXTIME=*r*\",\"type\":\"value\"},{\"name\":\"MINITER=\",\"optional\":true,\"aliases\":[\"MINIT=\"],\"description\":\"Specifies the minimum number of iterations. The default value is 0. If you request more iterations than are actually needed for convergence to a stationary point, the optimization algorithms can behave strangely. For example, the effect of rounding errors can prevent the algorithm from continuing for the required number of iterations.\",\"type\":\"value\"},{\"name\":\"NAMELEN=\",\"optional\":true,\"description\":\"Specifies the length to which long effect names are shortened. The default and minimum value is 20.\",\"help\":\"NAMELEN=*number*\",\"type\":\"value\"},{\"name\":\"NOCENTER\",\"optional\":true,\"description\":\"Requests that regressor variables not be centered or scaled. By default the FMM procedure centers and scales columns of the X matrix if the models contain intercepts. If NOINT options in MODEL statements are in effect, the columns of X are scaled but not centered. Centering and scaling can help with the stability of estimation and sampling algorithms. The FMM procedure does not produce a table of the centered and scaled coefficients and provides no user control over the type of centering and scaling that is applied. The NOCENTER option turns any centering and scaling off and processes the raw values of the continuous variables.\",\"type\":\"standalone\"},{\"name\":\"NOCLPRINT=\",\"optional\":true,\"description\":\"Suppresses the display of the \\\"Class Level Information\\\" table, if you do not specify number. If you specify number, the values of the classification variables are displayed for only those variables whose number of levels is less than number. Specifying a number helps to reduce the size of the \\\"Class Level Information\\\" table if some classification variables have a large number of levels.\",\"type\":\"value\"},{\"name\":\"NOITPRINT\",\"optional\":true,\"description\":\"Suppresses the display of the \\\"Iteration History Information\\\" table.\",\"type\":\"standalone\"},{\"name\":\"NOPRINT\",\"optional\":true,\"description\":\"Suppresses the normal display of tabular and graphical results. The NOPRINT option is useful when you want to create only one or more output data sets with the procedure. This option temporarily disables the Output Delivery System (ODS);\",\"type\":\"standalone\"},{\"name\":\"ORDER=\",\"optional\":true,\"description\":\"Specifies the sorting order for the levels of CLASS variables. This ordering determines which parameters in the model correspond to each level in the data. When the default ORDER=FORMATTED is in effect for numeric variables for which you have supplied no explicit format, the levels are ordered by their internal values. To order numeric class levels with no explicit format by their BEST12. formatted values, you can specify this format explicitly for the CLASS variables. When FORMATTED and INTERNAL values are involved, the sort order is machine-dependent. The ORDER= option in the PROC FMM statement has no effect on the sort order of the wheeze variable because it does not appear in the CLASS statement.\",\"help\":\"ORDER=DATA | FORMATTED | FREQ | INTERNAL | FREQDATA | FREQFORMATTED | FREQINTERNAL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DATA\",\"description\":\"Sorts the levels by order of appearance in the input data set.\",\"type\":\"standalone\"},{\"name\":\"FORMATTED\",\"description\":\"Sorts the levels by external formatted value, except for numeric variables with no explicit format, which are sorted by their unformatted (internal) value.\",\"type\":\"standalone\"},{\"name\":\"FREQ\",\"description\":\"Sorts the levels by descending frequency count; levels with the most observations come first in the order.\",\"type\":\"standalone\"},{\"name\":\"INTERNAL\",\"description\":\"Sorts the levels by unformatted value.\",\"type\":\"standalone\"},{\"name\":\"FREQDATA\",\"description\":\"Sorts the levels by order of descending frequency count, and within counts by order of appearance in the input data set when counts are tied.\",\"type\":\"standalone\"},{\"name\":\"FREQFORMATTED\",\"description\":\"Sorts the levels by order of descending frequency count, and within counts by formatted value (as above) when counts are tied.\",\"type\":\"standalone\"},{\"name\":\"FREQINTERNAL\",\"description\":\"Sorts the levels by order of descending frequency count, and within counts by unformatted value when counts are tied.\",\"type\":\"standalone\"}]},{\"name\":\"PARMSTYLE=\",\"optional\":true,\"description\":\"Specifies the display style for parameters and effects.\",\"help\":\"PARMSTYLE=EFFECT | LABEL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"EFFECT\",\"description\":\"Identifies a parameter with an \\\"Effect\\\" column and adds separate columns for the CLASS variables in the model.\",\"type\":\"standalone\"},{\"name\":\"LABEL\",\"description\":\"Creates one column, named Parameter, that combines the relevant information about a parameter into a single column. If your model contains multiple CLASS variables, the LABEL style might use space more economically.\",\"type\":\"standalone\"}]},{\"name\":\"PARTIAL=\",\"optional\":true,\"aliases\":[\"MEMBERSHIP=\"],\"description\":\"Specifies a variable in the input data set that identifies component membership. You can specify missing values for observations whose component membership is undetermined; this is known as a partial classification (McLachlan and Peel 2000, p. 75). For observations with known membership, the likelihood contribution is no longer a mixture.\",\"type\":\"value\"},{\"name\":\"PLOTS=\",\"optional\":true,\"description\":\"Controls the plots produced through ODS Graphics. Specify the PLOTS=NONE option in order to prevent these plots from being produced when ODS Graphics is enabled. Syntax: (1) PLOTS <(global-plot-options)> <= plot-request <(options)>> (2) PLOTS <(global-plot-options)> <= (plot-request <(options)> <... plot-request <(options)>>)> The global-plot-options apply to all relevant plots generated by the FMM procedure. The global-plot-options supported by the FMM procedure are as follows:\",\"help\":\"PLOTS=ALL | NONE | DENSITY | TRACE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ALL\",\"description\":\"Requests that all plots appropriate for the analysis be produced.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"Requests that no ODS graphics be produced.\",\"type\":\"standalone\"},{\"name\":\"DENSITY\",\"description\":\"[Syntax: DENSITY<(density-options)>] Requests a plot of the data histogram and mixture density function. This graphic is a default graphic in models without effects in the MODEL statements and is available only in these models. Furthermore, all distributions involved in the mixture must be continuous. You can specify the following density-options to modify the plot: CUMULATIVE | CDF -- displays the histogram and densities in cumulative form. NBINS=n | BINS=n specifies the number of bins in the histogram; n is greater than or equal to 0. By default, the FMM procedure computes a suitable bin width and number of bins, based on the range of the response and the number of usable observations. The option has no effect for binary data. NOCOMPONENTS | NOCOMP suppresses the component densities from the plot. If the component densities are displayed, they are scaled so that their sum equals the mixture density at any point on the graph. In single-component models, this option has no effect. NODENSITY | NODENS suppresses the computation of the mixture density (and the component densities if the COMPONENTS suboption is specified). If you specify the NOHISTOGRAM and the NODENSITY option, no graphic is produced. NOLABEL suppresses the component identification with labels. By default, the FMM procedure labels component densities in the legend of the plot. If you do not specify a model label with the LABEL= option in the MODEL statement, an identifying label is constructed from the parameter estimates that are associated with the component. NOHISTOGRAM | NOHIST suppresses the computation of the histogram of the raw values. If you specify the NOHISTOGRAM and the NODENSITY option, no graphic is produced. NPOINTS=n | N=n specifies the number of values used to compute the density functions; n is greater than or equal to 0. The default is N=200. WIDTH=value| BINWIDTH=value specifies the bin width for the histogram. The value is specified in units of the response variable and must be positive. The option has no effect for binary data.\",\"type\":\"standalone\"},{\"name\":\"TRACE\",\"description\":\"[Syntax: TRACE<(tadpanel-options)>] Requests a trace panel with posterior diagnostics for a Bayesian analysis. If a BAYES statement is present, the trace panel plots are generated by default, one for each sampled parameter. You can specify the following tadpanel-options to modify the graphic: BOX | BOXPLOT -- replaces the autocorrelation plot with a box plot of the posterior sample. SMOOTH=NONE|MEAN|SPLINE adds a reference estimate to the trace plot. By default, SMOOTH=NONE. SMOOTH=MEAN uses the arithmetic mean of the trace as the reference. SMOOTH=SPLINE adds a penalized B-spline. REFERENCE= reference-style adds vertical reference lines to the density plot, trace plot, and box plot. The available options for the reference-style are: NONE -- suppresses the reference lines EQT -- requests equal-tail intervals HPD -- requests intervals of highest posterior density. The level for the credible or HPD intervals is chosen based on the \\\"Posterior Interval Statistics\\\" table. PERCENTILES -- (or PERC) for percentiles. Up to three percentiles can be displayed, as based on the \\\"Posterior Summary Statistics\\\" table. The default is REFERENCE=CREDIBLE. UNPACK -- unpacks the panel graphic and displays its elements as separate plots.\",\"type\":\"standalone\"}]},{\"name\":\"SEED=\",\"optional\":true,\"description\":\"Determines the random number seed for analyses that depend on a random number stream. If you do not specify a seed or if you specify a value less than or equal to zero, the seed is generated from reading the time of day from the computer clock. The largest possible value for the seed is 2³¹-1. The seed value is reported in the \\\"Model Information\\\" table. You can use the SYSRANDOM and SYSRANEND macro variables after a PROC FMM run to query the initial and final seed values. However, using the final seed value as the starting seed for a subsequent analysis does not continue the random number stream where the previous analysis left off. The SYSRANEND macro variable provides a mechanism to pass on seed values to ensure that the sequence of random numbers is the same every time you run an entire program.\",\"help\":\"SEED=*n*\",\"type\":\"value\"},{\"name\":\"SINGCHOL=\",\"optional\":true,\"description\":\"Tunes the singularity criterion in Cholesky decompositions. The default is 1E4 times the machine epsilon; this product is approximately 1E-12 on most computers.\",\"help\":\"SINGCHOL=*number*\",\"type\":\"value\"},{\"name\":\"SINGRES=\",\"optional\":true,\"description\":\"Sets the tolerance for which the residual variance is considered to be zero. The default is 1E4 times the machine epsilon; this product is approximately 1E-12 on most computers.\",\"help\":\"SINGRES=*number*\",\"type\":\"value\"},{\"name\":\"SINGULAR=\",\"optional\":true,\"description\":\"Tunes the general singularity criterion applied by the FMM procedure in sweeps and inversions. The default is 1E4 times the machine epsilon; this product is approximately 1E-12 on most computers.\",\"help\":\"SINGULAR=*number*\",\"type\":\"value\"},{\"name\":\"TECHNIQUE=\",\"optional\":true,\"aliases\":[\"TECH=\"],\"description\":\"Specifies the optimization technique to obtain maximum likelihood estimates.\",\"type\":\"value\"}]},{\"name\":\"BAYES\",\"description\":\"The BAYES statement requests that the parameters of the model be estimated by Markov chain Monte Carlo sampling techniques. The FMM procedure can estimate by maximum likelihood the parameters of all models supported by the procedure. Bayes estimation, on the other hand, is available for only a subset of these models. In Bayesian analysis, it is essential to examine the convergence of the Markov chains before you proceed with posterior inference. With ODS Graphics turned on, the FMM procedure produces graphs at the end of the procedure output; these graphs enable you to visually examine the convergence of the chain. Inferences cannot be made if the Markov chain has not converged. The output produced for a Bayesian analysis is markedly different from that for a frequentist (maximum likelihood) analysis for the following reasons: o Parameter estimates do not have the same interpretation in the two analyses. Parameters are fixed unknown constants in the frequentist context and random variables in a Bayesian analysis. o The results of a Bayesian analysis are summarized through chain diagnostics and posterior summary statistics and intervals. o The FMM procedure samples the mixing probabilities in Bayesian models directly, rather than mapping them onto a logistic (or other) scale. The FMM procedure applies highly specialized sampling algorithms in Bayesian models. For single-component models without effects, a conjugate sampling algorithm is used where possible. For models in the exponential family that contain effects, the sampling algorithm is based on Gamerman (1997). For the normal and t distributions, a conjugate sampler is the default sampling algorithm for models with and without effects. In multi-component models, the sampling algorithm is based on latent variable sampling through data augmentation (Frühwirth-Schnatter 2006) and the Gamerman or conjugate sampler. Because of this specialization, the options for controlling the prior distributions of the parameters are limited.\",\"help\":\"BAYES &lt;BETAPRIORPARMS=pair-specification&gt;&lt;DIAGNOSTICS=&lt;ALL | NONE | &lt;(keyword-list)&gt;&gt;&gt;&lt;MIXPRIORPARMS=K | MIXPRIORPARMS(value-list)&gt; ...\",\"arguments\":[{\"name\":\"BETAPRIORPARMS=\",\"optional\":true,\"description\":\"Syntax: BETAPRIORPARMS=pair-specification BETAPRIORPARMS(pair-specification ...pair-specification) Specifies the parameters for the normal prior distribution of the parameters that are associated with model effects (βs). The pair-specification is of the form (a,b), and the values a and b are the mean and variance of the normal distribution, respectively.\",\"help\":\"BETAPRIORPARMS=*pair-specification*\",\"type\":\"value\"},{\"name\":\"DIAGNOSTICS=\",\"optional\":true,\"description\":\"Controls the number of diagnostics produced.\",\"help\":\"DIAGNOSTICS=ALL | NONE | &lt;(*keyword-list*)&gt;\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ALL\",\"description\":\"Requests all posterior diagnostics.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"Suppresses the computation of posterior diagnostics.\",\"type\":\"standalone\"},{\"name\":\"<(keyword-list)>\",\"placeholder\":true,\"description\":\"The following keywords enable you to select subsets of posterior diagnostics; the default is DIAGNOSTICS=(AUTOCORR): AUTOCORR<(LAGS= numeric-list)> Computes for each sampled parameter the autocorrelations of lags specified in the LAGS= list. ESS -- Computes Carlin’s estimate of the effective sample size, the correlation time, and the efficiency of the chain for each parameter. GEWEKE<(geweke-options)>-- Computes the Geweke spectral density diagnostics, which are essentially a two-sample t test between the first f1 portion and the last f2 portion of the chain. The default is f1=0.1 and f2=0.5. The geweke-options are: FRAC1=value -- Specifies the fraction f1 for the first window. FRAC2=value -- Specifies the fraction f2 for the second window. HEIDELBERGER<(heidel-options)> -- Computes the Heidelberger and Welch diagnostic (which consists of a stationarity test and a half-width test) for each variable. The heidel-options are: SALPHA=value -- Specifies the α level for the stationarity test. By default, SALPHA=0.05. HALPHA=value -- Specifies the α level for the halfwidth test. By default, HALPHA=0.05. EPS=value -- Specifies a positive number ε such that if the halfwidth is less than ε times the sample mean of the retained iterates, the halfwidth test is passed. MCERROR | MCSE --Computes an estimate of the Monte Carlo standard error for each parameter. MAXLAG=n -- specifies the largest lag used in computing the effective sample size and the Monte Carlo standard error. Specifying this option implies the ESS and MCERROR options. The default is MAXLAG=250. RAFTERY<(raftery-options)> -- Computes Raftery and Lewis diagnostics that evaluate accuracy of the estimated quantile of a chain. raftery-options are: QUANTILE= | Q=value -- Specifies the order (a value between 0 and 1) of the quantile of interest. The default is 0.025. ACCURACY= | R=value -- Specifies a small positive number as the margin of error for measuring the accuracy of estimation of the quantile. The default is 0.005. PROBABILITY= | S=value -- Specifies the probability of attaining the accuracy of the estimation of the quantile. The default is 0.95. EPSILON= | EPS=value -- Specifies the tolerance level (a small positive number) for the stationary test. The default is 0.001.\",\"type\":\"value\"}]},{\"name\":\"ESTIMATE=\",\"optional\":true,\"description\":\"Determines which overall estimate is used, based on the posterior sample, in the computation of OUTPUT statistics and certain ODS graphics.\",\"help\":\"ESTIMATE=MEAN | MAP\",\"type\":\"choice\",\"arguments\":[{\"name\":\"MEAN\",\"description\":\"By default, the arithmetic average of the (thinned) posterior sample is used.\",\"type\":\"standalone\"},{\"name\":\"MAP\",\"description\":\"The parameter vector is used that corresponds to the maximum log posterior density in the posterior sample.\",\"type\":\"standalone\"}]},{\"name\":\"INITIAL=\",\"optional\":true,\"description\":\"Determines how initial values for the Markov chain are obtained.\",\"help\":\"INITIAL=DATA | MLE | MODE | RANDOM\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DATA\",\"description\":\"The default when a conjugate sampler is used is INITIAL=DATA, in which case the FMM procedure uses the same algorithm to obtain data-dependent starting values as it uses for maximum likelihood estimation.\",\"type\":\"standalone\"},{\"name\":\"MLE\",\"description\":\"If no conjugate sampler is available or if you use the METROPOLIS option to explicitly request that it not be used, then the default is INITIAL=MLE, in which case the maximum likelihood estimates are used as the initial values. If the maximum likelihood optimization fails, the FMM procedure switches to the default INITIAL=DATA.\",\"type\":\"standalone\"},{\"name\":\"MODE\",\"description\":\"Specifies to use the mode draw from the prior distribution to obtain initial values. If the mode does not exist or if it falls on the boundary of the parameter space, the prior mean is used instead.\",\"type\":\"standalone\"},{\"name\":\"RANDOM\",\"description\":\"Specifies to use the random draw from the prior distribution to obtain initial values. If the mode does not exist or if it falls on the boundary of the parameter space, the prior mean is used instead.\",\"type\":\"standalone\"}]},{\"name\":\"METROPOLIS\",\"optional\":true,\"description\":\"Requests that the FMM procedure use the Metropolis-Hastings sampling algorithm based on Gamerman (1997), even in situations where a conjugate sampler is available.\",\"type\":\"standalone\"},{\"name\":\"MIXPRIORPARMS=\",\"optional\":true,\"description\":\"Specifies the parameters used in constructing the Dirichlet prior distribution for the mixing parameters. If you specify MIXPRIORPARMS=K, the parameters of the k-dimensional Dirichlet distribution are a vector that contains the number of components in the model (k), whatever that might be. You can specify an explicit list of parameters in value-list. If the MIXPRIORPARMS option is not specified, the default Dirichlet parameter vector is a vector of length k of ones. This results in a uniform prior over the unit simplex; for k=2, this is the uniform distribution.\",\"type\":\"value\"},{\"name\":\"MUPRIORPARMS=\",\"optional\":true,\"description\":\"Syntax: MUPRIORPARMS=pair-specification MUPRIORPARMS( pair-specification ...pair-specification)\",\"help\":\"MUPRIORPARMS=*pair-specification*\",\"type\":\"value\"},{\"name\":\"NBI=\",\"optional\":true,\"description\":\"Specifies the number of burn-in samples. During the burn-in phase, chains are not saved.\",\"help\":\"NBI=*n*\",\"type\":\"value\"},{\"name\":\"NMC=\",\"optional\":true,\"aliases\":[\"SAMPLE=\"],\"description\":\"Specifies the number of Monte Carlo samples after the burn-in. Samples after the burn-in phase are saved unless they are thinned with the THIN= option. The default is NMC=10000.\",\"type\":\"value\"},{\"name\":\"OUTPOST=\",\"optional\":true,\"description\":\"Requests that the posterior sample be saved to a SAS data set. In addition to variables that contain log likelihood and log posterior values, the OUTPOST data set contains variables for the parameters. The variable names for the parameters are generic (Parm_1, Parm_2, , Parm_p). The labels of the parameters are descriptive and correspond to the \\\"Parameter Mapping\\\" table that is produced when the OUTPOST= option is in effect. You can specify the following outpost-options in parentheses: LOGPRIOR adds the value of the log prior distribution to the data set. NONSINGULAR|NONSING|COMPRESS eliminates parameters that correspond to singular columns in the design matrix (and were not sampled) from the posterior data set. This is the default.\",\"help\":\"OUTPOST=LOGPRIOR | NONSINGULAR | NONSING | COMPRESS | SINGULAR | SING\",\"type\":\"choice\",\"arguments\":[{\"name\":\"LOGPRIOR\",\"type\":\"standalone\"},{\"name\":\"NONSINGULAR\",\"type\":\"standalone\"},{\"name\":\"NONSING\",\"type\":\"standalone\"},{\"name\":\"COMPRESS\",\"type\":\"standalone\"},{\"name\":\"SINGULAR\",\"type\":\"standalone\"},{\"name\":\"SING\",\"type\":\"standalone\"}]},{\"name\":\"PHIPRIORPARMS=\",\"optional\":true,\"description\":\"\",\"type\":\"value\"},{\"name\":\"PRIOROPTIONS\",\"optional\":true,\"aliases\":[\"PRIOROPTS\"],\"description\":\"Specifies options related to the construction of the prior distribution and the choice of their parameters. Some prior-options apply only in particular models. You can specify the following prior-options: CONDITIONAL|COND chooses a conditional prior specification for the homogeneous normal and t distribution response components.\",\"type\":\"standalone\"},{\"name\":\"STATISTICS=\",\"optional\":true,\"aliases\":[\"SUMMARIES=\"],\"description\":\"The global-options include the following: ALPHA=numeric-list controls the probabilities of the credible intervals. The ALPHA= values must be between 0 and 1.\",\"help\":\"STATISTICS=ALL | NONE | SUMMARY | INTERVAL | (SUMMARY INTERVAL)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ALL\",\"description\":\"Is equivalent to specifying STATISTICS=(SUMMARY INTERVAL).\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"Suppresses the computation of posterior statistics\",\"type\":\"standalone\"},{\"name\":\"SUMMARY\",\"description\":\"Produces the means, standard deviations, and percentile points for the posterior samples. The default is to produce the 25th, 50th, and 75th percentiles; you can modify this list with the global PERCENT= option.\",\"type\":\"standalone\"},{\"name\":\"INTERVAL\",\"description\":\"Produces equal-tail and HPD credible intervals. The default is to produce the 95% equal-tail credible intervals and 95% HPD credible intervals, but you can use the ALPHA= global-option to request credible intervals for any probabilities.\",\"type\":\"standalone\"},{\"name\":\"(SUMMARY INTERVAL)\",\"description\":\"Produces the means, standard deviations, and percentile points for the posterior samples, and produces equal-tail and HPD credible intervals.\",\"type\":\"standalone\"}]},{\"name\":\"THINNING=\",\"optional\":true,\"aliases\":[\"THIN=\"],\"description\":\"Controls the thinning of the Markov chain after the burn-in.\",\"type\":\"value\"},{\"name\":\"TIMEINC=\",\"optional\":true,\"description\":\"Specifies a time interval in seconds to report progress during the burn-in and sampling phase. The time interval is approximate, since the minimum time interval in which the FMM procedure can respond depends on the multithreading configuration.\",\"help\":\"TIMEINC=*n*\",\"type\":\"value\"}]},{\"name\":\"BY\",\"description\":\"You can specify a BY statement with PROC FMM to obtain separate analyses on observations in groups that are defined by the BY variables. When a BY statement appears, the procedure expects the input data set to be sorted in order of the BY variables. If you specify more than one BY statement, only the last one specified is used.\",\"help\":\"BY &lt;DESCENDING&gt;&lt;NOTSORTED&gt;\",\"arguments\":[{\"name\":\"DESCENDING\",\"optional\":true,\"description\":\"Specifies that the observations are sorted in descending order by the variable that immediately follows the word DESCENDING in the BY statement.\",\"type\":\"standalone\"},{\"name\":\"NOTSORTED\",\"optional\":true,\"description\":\"The NOTSORTED option does not mean that the data are unsorted but rather that the data are arranged in groups (according to values of the BY variables) and that these groups are not necessarily in alphabetical or increasing numeric order.\",\"type\":\"standalone\"}]},{\"name\":\"CLASS\",\"description\":\"The CLASS statement names the classification variables to be used in the model. Typical classification variables are Treatment, Sex, Race, Group, and Replication. If you use the CLASS statement, it must appear before the MODEL statement. Classification variables can be either character or numeric. By default, class levels are determined from the entire set of formatted values of the CLASS variables. Note: Prior to SAS 9, class levels were determined by using no more than the first 16 characters of the formatted values. To revert to this previous behavior, you can use the TRUNCATE option in the CLASS statement.\",\"help\":\"CLASS &lt;TRUNCATE&gt;\",\"arguments\":[{\"name\":\"TRUNCATE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies that class levels should be determined by using only up to the first 16 characters of the formatted values of CLASS variables. When formatted values are longer than 16 characters, you can use this option to revert to the levels as determined in releases prior to SAS 9.\",\"type\":\"standalone\"}]},{\"name\":\"FREQ\",\"description\":\"The variable in the FREQ statement identifies a numeric variable in the data set that contains the frequency of occurrence for each observation. PROC FMM treats each observation as if it appears f times, where f is the value of the FREQ variable for the observation. If it is not an integer, the frequency value is truncated to an integer. If the frequency value is less than 1 or missing, the observation is not used in the analysis. When the FREQ statement is not specified, each observation is assigned a frequency of 1.\",\"help\":\"FREQ variable \"},{\"name\":\"ID\",\"description\":\"The ID statement specifies a list of variables that are included in the OUT= data set of the OUTPUT statement. If no ID statement is specified, all variables from the input data set are copied into the output data set.\",\"help\":\"ID variables \"},{\"name\":\"MODEL\",\"description\":\"\",\"help\":\"MODEL &lt;ALPHA=number&gt;&lt;CL&gt;&lt;DISTRIBUTION=&lt;BETA | BETABINOMIAL | BINARY&gt;... &gt; ...\",\"arguments\":[{\"name\":\"ALPHA=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that confidence intervals be constructed for each of the parameters with confidence level 1 - number. The value of number must be between 0 and 1; the default is 0.05.\",\"help\":\"ALPHA=*number*\",\"type\":\"value\"},{\"name\":\"CL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that confidence limits be constructed for each of the parameter estimates. The confidence level is 0.95 by default; this can be changed with the ALPHA= option.\",\"type\":\"standalone\"},{\"name\":\"DISTRIBUTION=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"DIST=\"],\"description\":\"Specifies the probability distribution for a mixture component. If you do not specify a distribution, the FMM procedure defaults to the normal distribution for continuous response variables and to the binary distribution for classification or character variables, unless the events/trial syntax is used in the MODEL statement. If you choose the events/trial syntax, the FMM procedure defaults to the binomial distribution. For several distributional specifications you can provide additional parameters to further define the distribution. These optional parameters are listed in the following: DIST=CONSTANT<(c)> The number c specifies the value where the mass is concentrated. The default is DIST=CONSTANT(0), so that adding a MODEL statement with DIST=CONSTANT can be used to add zero-inflation to any model. DIST=T<(ν)> The number ν specifies the degrees of freedom for the (shifted) t distribution. The default is DIST=T(3), and this leads to a heavy-tailed distribution for which the variance is defined.\",\"help\":\"DISTRIBUTION=BETA | BETABINOMIAL | BINARY | BINOMIAL | BINOMCLUSTER | CONSTANT | EXPONENTIAL | FOLDEDNORMAL | GAMMA | GAUSSIAN | GENPOISSON | GEOMETRIC | INVGAUSS | LOGNORMAL | NEGBINOMIAL | POISSON | T | TRUNCPOISSON | UNIFORM | WEIBULL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"BETA\",\"followsDelimiter\":\"/\",\"description\":\"Beta distribution\",\"type\":\"standalone\"},{\"name\":\"BETABINOMIAL\",\"followsDelimiter\":\"/\",\"description\":\"Beta-binomial distribution\",\"type\":\"standalone\"},{\"name\":\"BINARY\",\"followsDelimiter\":\"/\",\"description\":\"Binary distribution\",\"type\":\"standalone\"},{\"name\":\"BINOMIAL\",\"followsDelimiter\":\"/\",\"description\":\"Binomial distribution If DIST=BINOMIAL is specified without the events/trials syntax, then n=1 is used for the default number of trials.\",\"type\":\"standalone\"},{\"name\":\"BINOMCLUSTER\",\"followsDelimiter\":\"/\",\"description\":\"Binomial cluster distribution The binomial cluster model is a two-component model described in Morel and Nagaraj (1993), Morel and Neerchal (1997), and Neerchal and Morel (1998).\",\"type\":\"standalone\"},{\"name\":\"CONSTANT\",\"followsDelimiter\":\"/\",\"description\":\"Degenerate distribution\",\"type\":\"standalone\"},{\"name\":\"EXPONENTIAL\",\"followsDelimiter\":\"/\",\"description\":\"Exponential distribution\",\"type\":\"standalone\"},{\"name\":\"FOLDEDNORMAL\",\"followsDelimiter\":\"/\",\"description\":\"Folded normal distribution\",\"type\":\"standalone\"},{\"name\":\"GAMMA\",\"followsDelimiter\":\"/\",\"description\":\"Gamma distribution\",\"type\":\"standalone\"},{\"name\":\"GAUSSIAN\",\"followsDelimiter\":\"/\",\"description\":\"Normal distribution\",\"type\":\"standalone\"},{\"name\":\"GENPOISSON\",\"followsDelimiter\":\"/\",\"description\":\"Generalized Poisson distribution\",\"type\":\"standalone\"},{\"name\":\"GEOMETRIC\",\"followsDelimiter\":\"/\",\"description\":\"Geometric distribution\",\"type\":\"standalone\"},{\"name\":\"INVGAUSS\",\"followsDelimiter\":\"/\",\"description\":\"Inverse Gaussian distribution\",\"type\":\"standalone\"},{\"name\":\"LOGNORMAL\",\"followsDelimiter\":\"/\",\"description\":\"Lognormal distribution\",\"type\":\"standalone\"},{\"name\":\"NEGBINOMIAL\",\"followsDelimiter\":\"/\",\"description\":\"Negative binomial distribution\",\"type\":\"standalone\"},{\"name\":\"POISSON\",\"followsDelimiter\":\"/\",\"description\":\"Poisson distribution\",\"type\":\"standalone\"},{\"name\":\"T\",\"followsDelimiter\":\"/\",\"description\":\"Student t distribution\",\"type\":\"standalone\"},{\"name\":\"TRUNCPOISSON\",\"followsDelimiter\":\"/\",\"description\":\"Truncated Poisson distribution\",\"type\":\"standalone\"},{\"name\":\"UNIFORM\",\"followsDelimiter\":\"/\",\"description\":\"Uniform distribution\",\"type\":\"standalone\"},{\"name\":\"WEIBULL\",\"followsDelimiter\":\"/\",\"description\":\"Weibull distribution\",\"type\":\"standalone\"}]},{\"name\":\"EQUATE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"the default is EQUATE=NONE. This option is available only for maximum likelihood estimation.\",\"help\":\"EQUATE=MEAN | SCALE | NONE | EFFECTS(effect-list)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"MEAN\",\"followsDelimiter\":\"/\",\"description\":\"The parameters that determine the mean are reduced to a single set that is applicable to all components in the MODEL statement.\",\"type\":\"standalone\"},{\"name\":\"SCALE\",\"followsDelimiter\":\"/\",\"description\":\"A single parameter represents the common scale for all components in the MODEL statement.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"followsDelimiter\":\"/\",\"description\":\"Specifies no set of parameter constraints across the components in a MODEL statement; the default is EQUATE=NONE\",\"type\":\"standalone\"},{\"name\":\"EFFECTS\",\"followsDelimiter\":\"/\",\"description\":\"Enables you to force the parameters for the chosen model effects to be equal across components; however, the number of parameters is unaffected.\",\"help\":\"EFFECTS(effect-list)\",\"type\":\"standalone\"}]},{\"name\":\"K=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"NUMBER=\"],\"description\":\"Specifies the number of components the MODEL statement contributes to the overall mixture. For the binomial cluster model, this option is not available, since this model is a two-component model by definition.\",\"type\":\"value\"},{\"name\":\"KMAX=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the maximum number of components the MODEL statement contributes to the overall mixture. If the maximum number of components in the mixture, as determined by all KMAX= options, is larger than the minimum number of components, the FMM procedure fits all possible models and displays summary fit information for the sequence of evaluated models. The \\\"best\\\" model according to the CRITERION= option in the PROC FMM statement is then chosen, and the remaining output and analyses performed by PROC FMM pertain to this \\\"best\\\" model.\",\"help\":\"KMAX=*n*\",\"type\":\"value\"},{\"name\":\"KMIN=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the minimum number of components the MODEL statement contributes to the overall mixture. This option is available only for maximum likelihood estimation. When you estimate the parameters of a mixture by MCMC methods, you need to ensure that the chain for a given value of k has converged; otherwise comparisons among models with varying number of components might not be meaningful.\",\"help\":\"KMIN=*n*\",\"type\":\"value\"},{\"name\":\"LABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies an optional label for the model that is used to identify the model in printed output, on graphics, and in data sets created from ODS tables.\",\"type\":\"value\"},{\"name\":\"LINK=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the link function in the model.\",\"help\":\"LINK=CLOGLOG | IDENTITY | LOG | LOGIT | LOGLOG | PROBIT | POWER(λ) | POWERMINUS2 | RECIPROCAL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"CLOGLOG\",\"followsDelimiter\":\"/\",\"aliases\":[\"LOG\",\"ILL\"],\"description\":\"Complementary log-log function\",\"type\":\"standalone\"},{\"name\":\"IDENTITY\",\"followsDelimiter\":\"/\",\"description\":\"Identity function\",\"type\":\"standalone\"},{\"name\":\"LOG\",\"followsDelimiter\":\"/\",\"description\":\"Log function\",\"type\":\"standalone\"},{\"name\":\"LOGIT\",\"followsDelimiter\":\"/\",\"description\":\"Logit function\",\"type\":\"standalone\"},{\"name\":\"LOGLOG\",\"followsDelimiter\":\"/\",\"description\":\"Log-log function\",\"type\":\"standalone\"},{\"name\":\"PROBIT\",\"followsDelimiter\":\"/\",\"aliases\":[\"NORMIT\"],\"description\":\"Probit function\",\"type\":\"standalone\"},{\"name\":\"POWER\",\"followsDelimiter\":\"/\",\"description\":\"Power with λ=number function\",\"help\":\"POWER(λ)\",\"type\":\"standalone\"},{\"name\":\"POWERMINUS2\",\"followsDelimiter\":\"/\",\"description\":\"Power with exponent -2 function\",\"type\":\"standalone\"},{\"name\":\"RECIPROCAL\",\"followsDelimiter\":\"/\",\"description\":\"Reciprocal function\",\"type\":\"standalone\"}]},{\"name\":\"NOINT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that no intercept be included in the model. An intercept is included by default, unless the distribution is DIST=CONSTANT or DIST=UNIFORM.\",\"type\":\"standalone\"},{\"name\":\"OFFSET=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the offset variable function for the linear predictor in the model. An offset variable can be thought of as a regressor variable whose regression coefficient is known to be 1. For example, you can use an offset in a Poisson model when counts have been obtained in time intervals of different lengths. With a log link function, you can model the counts as Poisson variables with the logarithm of the time interval as the offset variable.\",\"help\":\"OFFSET=*variable*\",\"type\":\"value\"},{\"name\":\"PARAMETERS\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"PARMS\"],\"description\":\"You can specify missing values for parameters whose starting values are to be determined by the default method. Only values for parameters that participate in the optimization are specified. The values for model effects are specified on the linear (linked) scale.\",\"type\":\"standalone\"}]},{\"name\":\"OUTPUT\",\"description\":\"The OUTPUT statement creates a data set that contains observationwise statistics that are computed after fitting the model. By default, all variables in the original data set are included in the output data set. You can use the ID statement to limit the variables copied from the input data set to the output data set. The output statistics are computed based on the parameter estimates of the converged model if the parameters are estimated by maximum likelihood. If a Bayesian analysis is performed, the output statistics are computed based on the arithmetic mean in the posterior sample. You can change to the maximum posterior estimate with the ESTIMATE=MAP option in the BAYES statement.\",\"help\":\"OUTPUT OUT=SAS-data-set | DATA=SAS-data-set PREDICTED&lt;(COMPONENT|OVERALL)&gt; RESIDUAL&lt;(COMPONENT|OVERALL)&gt; ...\",\"arguments\":[{\"name\":\"CLASS\",\"aliases\":[\"CATEGORY\",\"GROUP\"],\"description\":\"Adds the estimated component membership to the OUTPUT data set. An observation is associated with the component that has the highest posterior probability.\",\"type\":\"standalone\"},{\"name\":\"LINP\",\"aliases\":[\"XBETA\"],\"description\":\"Requests that the linear predictors for the models be added to the OUTPUT data set.\",\"type\":\"standalone\"},{\"name\":\"LOGLIKE\",\"aliases\":[\"LOGL\"],\"description\":\"if a FREQ statement is present, the frequency is accounted for in the computed value. In other words, if all observations in the input data set have been used in the analysis, adding the value of the log-likelihood contributions in the OUTPUT data set produces the negative of the final objective function value in the \\\"Iteration History\\\" table. By default, the log-likelihood contribution to the mixture is computed. You can request the individual mixture component contributions with the COMPONENT suboption.\",\"type\":\"standalone\"},{\"name\":\"MAXPOST\",\"aliases\":[\"MAXPROB\"],\"description\":\"Adds the highest posterior probability to the OUTPUT data set.\",\"type\":\"standalone\"},{\"name\":\"MIXPROBS\",\"aliases\":[\"MIXPROB\",\"PRIOR\",\"MIXWEIGHTS\"],\"description\":\"Syntax: MIXPROBS<(COMPONENT|MAX)> MIXPROB<(COMPONENT|MAX)> PRIOR<(COMPONENT|MAX)> MIXWEIGHTS<(COMPONENT|MAX)> Requests that the prior weights πᵢ(Z,αᵢ) be added to the OUTPUT data set. By default, the probabilities are output for all components. You can limit the output to a single statistic, the largest mixing probability, with the MAX suboption.\",\"type\":\"standalone\"},{\"name\":\"OUT=\",\"aliases\":[\"DATA=\"],\"description\":\"Specifies the name of the output data set. If the OUT= (or DATA=) option is omitted, the procedure uses the DATAn convention to name the output data set.\",\"type\":\"value\"},{\"name\":\"POSTERIOR\",\"aliases\":[\"POST\",\"PROB\"],\"description\":\"Syntax: POSTERIOR<(COMPONENT|MAX)> POST<(COMPONENT|MAX)> PROB<(COMPONENT|MAX)> Requests that the posterior weights be added to the OUTPUT data set. By default, the probabilities are output for all components. You can limit the output to a single statistic, the largest posterior probability, with the MAX suboption.\",\"type\":\"standalone\"},{\"name\":\"PREDICTED\",\"aliases\":[\"PRED\",\"MEAN\"],\"description\":\"Syntax: PREDICTED<(COMPONENT|OVERALL)> PRED<(COMPONENT|OVERALL)> MEAN<(COMPONENT|OVERALL)> Requests predicted values (predicted means) for the response variable. The predictions in the output data set are mapped onto the data scale. For example, if the response is binomial or binary, the predictions are probabilities. The default is to compute the predicted value for the mixture (OVERALL). You can request predictions for the means of the component distributions by adding the COMPONENT suboption in parentheses.\",\"type\":\"standalone\"},{\"name\":\"RESIDUAL\",\"aliases\":[\"RESID\"],\"description\":\"Syntax: RESIDUAL<(COMPONENT|OVERALL)> RESID<(COMPONENT|OVERALL)> Requests residuals for the response or residuals in the component distributions. Only \\\"raw\\\" residuals on the data scale are computed (observed minus predicted).\",\"type\":\"standalone\"},{\"name\":\"VARIANCE\",\"aliases\":[\"VAR\"],\"description\":\"Syntax: VARIANCE<(COMPONENT|OVERALL)> VAR<(COMPONENT|OVERALL)> Requests variances for the mixture or the component distributions.\",\"type\":\"standalone\"},{\"name\":\"ALLSTATS\",\"optional\":true,\"description\":\"Requests that all statistics are computed. If you do not use a keyword to assign a name, the FMM procedure uses the default name.\",\"type\":\"standalone\"},{\"name\":\"NOVAR\",\"optional\":true,\"description\":\"Requests that variables from the input data set not be added to the output data set. This option does not apply to variables listed in the BY statement or to variables listed in the ID statement.\",\"type\":\"standalone\"}]},{\"name\":\"PERFORMANCE\",\"description\":\"The PERFORMANCE statement enables you to control the performance characteristics of the FMM procedure (for example, the number of CPUs, the number of threads for multithreading, and so on). By default, the FMM procedure performs many analyses in multiple threads, and the number of threads equals the number of CPUs. Certain system and configuration options also can control the number of CPUs available to a SAS session or whether multithreaded computations are permissible. For example, you can set the number of available processors to two with options cpucount=2; The FMM procedure then acts as though two processors were available, regardless of the number of physically available processors.\",\"help\":\"PERFORMANCE &lt;CPUCOUNT=&lt;&lt;n&gt; | ACTUAL&gt;&gt;&lt;DETAILS&gt;&lt;NOTHREADS&gt; ...\",\"arguments\":[{\"name\":\"CPUCOUNT=\",\"optional\":true,\"description\":\"Specifies the number of processors available to the FMM procedure.\",\"help\":\"CPUCOUNT=&lt;*n*&gt; | ACTUAL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"<n>\",\"placeholder\":true,\"description\":\"Replace n with a number between 1 and 1024.\",\"type\":\"value\"},{\"name\":\"ACTUAL\",\"description\":\"Sets the number of available processors equal to the number of physical processors.\",\"type\":\"standalone\"}]},{\"name\":\"DETAILS\",\"optional\":true,\"description\":\"Requests a table with timing detail for the tasks performed by the FMM procedure.\",\"type\":\"standalone\"},{\"name\":\"NOTHREADS\",\"optional\":true,\"description\":\"Disables multithreaded computations.\",\"type\":\"standalone\"},{\"name\":\"THREADS=\",\"optional\":true,\"description\":\"Enables or disables multithreaded processing. The number of threads used by the FMM procedure is displayed in the \\\"Bayes Information\\\" or \\\"Optimization Information\\\" table. It typically equals the number of available CPUs, which can be different from the number of physical CPUs, and can be modified with the global CPUCOUNT SAS option or with the CPUCOUNT= option in the PERFORMANCE statement.\",\"help\":\"THREADS=YES | NO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YES\",\"description\":\"Enables multithreaded processing.\",\"type\":\"standalone\"},{\"name\":\"NO\",\"description\":\"Disables multithreaded processing.\",\"type\":\"standalone\"}]}]},{\"name\":\"PROBMODEL\",\"description\":\"The PROBMODEL statement defines the model effects for the mixing probabilities and their link function. By default, the FMM procedure models mixing probabilities on the logit scale for two-component models and as generalized logit models in situations with more than two components. The PROBMODEL statement is not required, and it is not supported with Bayesian estimation.\",\"help\":\"PROBMODEL &lt;ALPHA=number&gt;&lt;CL&gt;&lt;LINK=&lt;CLOGLOG|CLL | LOGIT | LOGLOG&gt;... &gt; ...\",\"arguments\":[{\"name\":\"ALPHA=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that confidence intervals be constructed for the parameters in the probability model with confidence level 1 - number. The value of number must be between 0 and 1; the default is 0.05. If the probability model is simple—that is, it does not contain any effects, the confidence intervals are produced for the estimated parameters (on the logit scale) as well as for the mixing probabilities.\",\"type\":\"value\"},{\"name\":\"CL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that confidence limits be constructed for each of the parameter estimates. The confidence level is 0.95 by default; this can be changed with the ALPHA= option.\",\"type\":\"standalone\"},{\"name\":\"LINK=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the link function in the model for the mixing probabilities. The default is a logit link for models with two components. For models with more than two components, only the generalized logit link is available.\",\"help\":\"LINK=CLOGLOG | LOGIT | LOGLOG | PROBIT*keyword*\",\"type\":\"value\",\"arguments\":[{\"name\":\"CLOGLOG\",\"followsDelimiter\":\"/\",\"aliases\":[\"CLL\"],\"description\":\"Complementary log-log link function\",\"type\":\"standalone\"},{\"name\":\"LOGIT\",\"followsDelimiter\":\"/\",\"description\":\"Logit link function\",\"type\":\"standalone\"},{\"name\":\"LOGLOG\",\"followsDelimiter\":\"/\",\"description\":\"Log-log link function\",\"type\":\"standalone\"},{\"name\":\"PROBIT\",\"followsDelimiter\":\"/\",\"aliases\":[\"NORMIT\"],\"description\":\"Probit link function\",\"type\":\"standalone\"}]},{\"name\":\"NOINT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that no intercept be included in the model for the mixing probabilities. An intercept is included by default. If you suppress the intercept with the NOINT option, you must specify at least one other effect for the mixing probabilities-- since an empty probability model is not meaningful.\",\"type\":\"standalone\"},{\"name\":\"PARAMETERS\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"PARMS\"],\"description\":\"Specifies starting values for the parameters. The specification of the parameters takes the following form: parameters in the mean function appear in a list, and parameters for different components are separated by commas. Starting values are given on the linked scale, not in terms of probabilities. Also, you need to specify starting values for only up to the first k-1 components in a k-component model. The linear predictor for the last component is always assumed to be zero.\",\"type\":\"standalone\"}]},{\"name\":\"RESTRICT\",\"description\":\"The RESTRICT statement enables you to specify linear equality or inequality constraints among the parameters of a mixture model. These restrictions are incorporated into the maximum likelihood analysis. The RESTRICT statement is not available for a Bayesian analysis with the FMM procedure. Following are reasons why you might want to place constraints and restrictions on the model parameters: o to fix a parameter at a particular value o to equate parameters in different components in a mixture o to impose order conditions on the parameters in a model o to specify contrasts among the parameters that the fitted model should honor A restriction is composed of a left-hand side and a right-hand side, separated by an operator. If the operator and right-hand side are not specified, the restriction is assumed to be an equality constraint against zero. If the right-hand side is not specified, the value is assumed to be zero. An individual constraint-specification is written in (nearly) the same form as estimable linear functions are specified in the ESTIMATE statement of the GLM, MIXED, or GLIMMIX procedure. The constraint-specification takes the form model-effect value-list < ...model-effect value-list > < (SCALE = value)> At least one model-effect must be specified followed by one or more values in the value-list. The values in the list correspond to the multipliers of the corresponding parameter that is associated with the position in the model effect. If you specify more values in the value-list than the model-effect occupies in the model design matrix, the extra coefficients are ignored.\",\"help\":\"RESTRICT &lt;DIVISOR=value&gt;\",\"arguments\":[{\"name\":\"DIVISOR=\",\"optional\":true,\"description\":\"Specifies a value by which all coefficients on the right-hand side and left-hand side of the restriction are divided.\",\"help\":\"DIVISOR=*value*\",\"type\":\"value\"}]},{\"name\":\"WEIGHT\",\"description\":\"The WEIGHT statement is used to perform a weighted analysis. Consult the section Log-Likelihood Functions for Response Distributions for expressions on how weight variables are included in the log-likelihood functions. Because the probability structure of a mixture model is different from that of a classical statistical model, the presence of a weight variable in a mixture model cannot be interpreted as altering the variance of an observation. Observations with nonpositive or missing weights are not included in the PROC FMM analysis. If a WEIGHT statement is not included, all observations used in the analysis are assigned a weight of 1.\",\"help\":\"WEIGHT variable\"}],\"supportSiteInformation\":{\"docsetId\":\"statug\",\"docsetVersion\":\"latest\",\"docsetTargetFile\":\"statug_fmm_toc.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/FMTC2ITM.json",
    "content": "{\"name\":\"FMTC2ITM\",\"statements\":[{\"name\":\"FMTC2ITM\",\"description\":\"Converts one or more format catalogs into a single item store.\",\"help\":\"FMTC2ITM &lt;*options*&gt;;\",\"arguments\":[{\"name\":\"CATALOG=\",\"description\":\"specifies a catalog that is to be converted to an item store. If you do not specify the CATALOG option, the default catalog is WORK.FORMATS.\",\"help\":\"CATALOG=*memname* | *libname.memname* | (*list*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"memname\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"libname.memname\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"list\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"n1outgfd0m8wftn1wkmp752opmxn\"},{\"name\":\"ITEMSTORE=\",\"description\":\"specifies the name of the item store. You can specify a fileref, or you can specify a pathname in quotation marks.\",\"help\":\"ITEMSTORE=*fileref* | *'filename'*\",\"type\":\"choice\",\"arguments\":[{\"name\":\"fileref\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"'filename'\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p196dbokoz3pxwn1ikmsbnyd2z5o\"},{\"name\":\"ENCODING=\",\"description\":\"specifies an encoding for a catalog or for all of the catalogs in a list.\",\"help\":\"ENCODING=*encoding-name*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1l71b7lfn5t3fn15fasb0wx4fq0\"},{\"name\":\"PRINT\",\"optional\":true,\"description\":\"displays information about each catalog member that is written.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0lpqxh4zfd5agn0z9kjvm8v7xqk\"},{\"name\":\"LOCALE\",\"optional\":true,\"description\":\"adds locale-sensitive prefixes to the names of members of an item store.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1oek97t4bwmbzn1t04xw5jlawvp\"}],\"supportSiteTargetFile\":\"n1hhcqqe42akprn13r3zf5jn7sen.htm\"},{\"name\":\"SELECT\",\"description\":\"Lists the formats to place in the item store.\",\"help\":\"SELECT &lt;*member-list*&gt;;\",\"arguments\":[{\"name\":\"member-list\",\"optional\":true,\"placeholder\":true,\"description\":\"Contains the names of the formats to place in the item store.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p143943dq426f5n1h2t2wvav8fdd\"}],\"supportSiteTargetFile\":\"n1dmhprebduqhgn1j61c5nl5htdt.htm\"}],\"supportSiteInformation\":{\"docsetId\":\"proc\",\"docsetVersion\":\"v_002\",\"docsetTargetFile\":\"p1nbzavwbtbkx7n1eqio0qw78ppg.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/FONTREG.json",
    "content": "{\"name\":\"FONTREG\",\"statements\":[{\"name\":\"PROC FONTREG\",\"description\":\"Enables you to update the SAS registry to include system fonts, which can then be used in SAS output.\",\"help\":\"PROC FONTREG <options>;  \\n\\tFONTFILE  'file' <…'file'> |  'file-1, pfm-file-1, afm-file-1' <...'file-n'> ||;\\n\\n\\tFONTPATH <fileref> 'directory' <…'directory'>;\\n\\n\\tOPENTYPE <fileref>  'directory' <…'directory'>\\n\\n\\tREMOVE  'family-name' | 'alias' | family-type | _ALL_;\\n\\n\\tTRUETYPE <fileref> 'directory' <…'directory'>;\\n\\n\\tTYPE1 <fileref> 'directory' <…'directory'>;\",\"arguments\":[{\"name\":\"MODE=\",\"optional\":true,\"description\":\"specifies how to handle new and existing fonts.\",\"help\":\"MODE=ADD | REPLACE | ALL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ADD\",\"description\":\"specifies to add fonts that do not already exist in the SAS registry. Do not modify existing fonts.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1j05ra6gzigctn1tjv541rvawwr\"},{\"name\":\"REPLACE\",\"description\":\"specifies to replace fonts that already exist in the SAS registry. Do not add new fonts.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p05e4b3soycp5an19mfy4q1hzdje\"},{\"name\":\"ALL\",\"description\":\"specifies to add new fonts that do not already exist in the SAS registry and replace fonts that already exist in the SAS registry.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1mb0b8r4wyzhqn1jd6u8aczjutm\"}],\"supportSiteTargetFragment\":\"n1b2nu8kszssh8n11tsubqu22c7k\"},{\"name\":\"MSGLEVEL=\",\"optional\":true,\"description\":\"specifies the level of detail to include in the SAS log.\",\"help\":\"MSGLEVEL=VERBOSE | NORMAL | TERSE | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"VERBOSE\",\"description\":\"SAS log messages include which fonts were added, which fonts were not added, and which fonts were not understood. The log also contains a summary that indicates the number of fonts that were added, not added, and not understood.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0mu107nn01xohn1wvdhq24a01ej\"},{\"name\":\"NORMAL\",\"description\":\"SAS log messages include which fonts were added, and a summary that indicates the number of fonts that were added, not added, and not understood.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0yokleeclg2j9n15jptahoz19a6\"},{\"name\":\"TERSE\",\"description\":\"SAS log messages include only the summary that indicates the number of fonts that were added, not added, and not understood.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p14wfdtpxc2i4xn1xylvbd53gt05\"},{\"name\":\"NONE\",\"description\":\"No messages are written to the SAS log, except for errors (if encountered).\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n10mvefl0bniyxn1x9406wav5u3t\"}],\"supportSiteTargetFragment\":\"n165icchqnj17qn1hm3wzt4xhodm\"},{\"name\":\"NOUPDATE\",\"optional\":true,\"description\":\"specifies that the procedure should run without updating the SAS registry.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p18z7wg5y501aqn15k9kya3p4f39\"},{\"name\":\"USESASHELP\",\"optional\":true,\"description\":\"specifies that the SAS registry in the Sashelp library be updated.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1dmsuicgbk38bn1mncbrwv2l5z0\"}],\"supportSiteTargetFile\":\"p199jutvq45hmun1tg4h11umqnsw.htm\"},{\"name\":\"FONTFILE\",\"description\":\"Specifies one or more font files to be processed.\",\"help\":\"FONTFILE  '*file*' &lt;…'*file*'&gt; |   '*file-1*, *pfm-file-1*, *afm-file-1*' &lt;...'*file-n*'&gt;;\",\"arguments\":[{\"name\":\"file\",\"placeholder\":true,\"description\":\"is the complete pathname to a font file. If the file is recognized as a valid font file, then the file is processed. Each pathname must be enclosed in quotation marks. If you specify more than one pathname, then you must separate the pathnames with a space.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0czcwl1htdse2n1qvr7z7jz2tdh\"},{\"name\":\"pfm-file\",\"placeholder\":true,\"description\":\"specifies a file specific to Windows that contains font metrics as well as the value of the Windows font name.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1uy72tss4fu25n15mtrifhnsamh\"},{\"name\":\"afm-file\",\"placeholder\":true,\"description\":\"specifies a file that contains font metrics.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1gsubmyd3zqxnn1hhrh23sz86y1\"}],\"supportSiteTargetFile\":\"n00rr4orsy3sbdn1u2i1m4zzy155.htm\"},{\"name\":\"FONTPATH\",\"description\":\"Specifies one or more directories to be searched for valid font files to process.\",\"help\":\"FONTPATH &lt;*fileref*&gt; '*directory*' &lt;…'*directory*'&gt;;\",\"arguments\":[{\"name\":\"directory\",\"placeholder\":true,\"description\":\"specifies a directory to search. All files that are recognized as valid font files are processed. Each directory must be enclosed in quotation marks. If you specify more than one directory, then you must separate the directories with a space.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p09fhznl8guy2en1nm1acu2dxweh\"},{\"name\":\"fileref\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies a fileref to use with the FONTPATH statement.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n15n2pfqueiqc8n118lfcvs0akka\"}],\"supportSiteTargetFile\":\"n1ou6vf87l14t1n165z15qbzp4za.htm\"},{\"name\":\"REMOVE\",\"description\":\"Removes a font family, all fonts of a particular type (such as TrueType or Type1), or all fonts from the Core\\\\Printing\\\\Freetype\\\\Fonts location of the SAS registry.\",\"help\":\"REMOVE ‘*family-name*’ | ‘*alias*’ | *family-type* | _ALL_;\",\"arguments\":[{\"name\":\"family-name\",\"placeholder\":true,\"description\":\"specifies the family name of the font that you want to remove from the Core\\\\Printing\\\\Freetype\\\\Fonts key in the SAS registry. Enclose family-name in quotation marks if the value contains one or more spaces.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0pal8lk5u79qwn1c5z7ccw61vga\"},{\"name\":\"alias\",\"placeholder\":true,\"description\":\"specifies an alternative name, usually in a shortened form, for family-name. Enclose the alias name in quotation marks if the value contains one or more spaces.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0dncgztmy7zs1n1xahho7ckj22c\"},{\"name\":\"family-type\",\"placeholder\":true,\"description\":\"specifies the name of a font type (such as TrueType or Type1) that SAS supports and that you want removed from the SAS registry.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1xnng6y3puy0fn14cg0hmj6wcrb\"},{\"name\":\"_ALL_\",\"description\":\"specifies that all font families in the Core\\\\Printing\\\\Freetype\\\\Fonts key in the SAS registry will be deleted.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0gey8v8mdvy4an1881uzfrvvm1e\"}],\"supportSiteTargetFile\":\"p0umx8w7sw3vgwn1kvvl09d5xkkv.htm\"},{\"name\":\"TRUETYPE\",\"description\":\"Specifies one or more directories to be searched for TrueType font files.\",\"help\":\"TRUETYPE &lt;*fileref*&gt; '*directory*' &lt;…'*directory*'&gt;;\",\"arguments\":[{\"name\":\"directory\",\"placeholder\":true,\"description\":\"specifies a directory to search. Only files that are recognized as valid TrueType font files are processed. Each directory must be enclosed in quotation marks. If you specify more than one directory, then you must separate the directories with a space.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0an2vn1unjziin15aad80cv8oep\"},{\"name\":\"fileref\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies a fileref to use with the TRUETYPE statement.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n16eecfihm8k5zn1dv2t6jm795l1\"}],\"supportSiteTargetFile\":\"p10wdpqvb8ghi6n1rf1ibx11lzt2.htm\"},{\"name\":\"TYPE1\",\"description\":\"Specifies one or more directories to be searched for valid Type1 font files.\",\"help\":\"TYPE1 &lt;*fileref*&gt; '*directory*' &lt;…'*directory*'&gt;;\",\"arguments\":[{\"name\":\"directory\",\"placeholder\":true,\"description\":\"specifies a directory to search. Only files that are recognized as valid Type1 font files are processed. Each directory must be enclosed in quotation marks. If you specify more than one directory, then you must separate the directories with a space.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0vjhlobv6i8ryn1fvqzm3nh34bv\"},{\"name\":\"fileref\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies a fileref to use with the TYPE1 statement.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0oe15ewn3a10en1mpc3zp4m0f4w\"}],\"supportSiteTargetFile\":\"n1iiy72s0xaszun1houpxhesfdr5.htm\"},{\"name\":\"OPENTYPE\",\"description\":\"Specifies one or more directories to be searched for valid OpenType font files.\",\"help\":\"OPENTYPE &lt;*fileref*&gt; '*directory*' &lt;…'*directory*'&gt;;\",\"arguments\":[{\"name\":\"directory\",\"placeholder\":true,\"description\":\"specifies a directory to search. Only files that are recognized as valid OpenType font files are processed. Each directory must be enclosed in quotation marks. If you specify more than one directory, then you must separate the directories with a space.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n10f47mjdt9266n1i1x5772yx0hk\"},{\"name\":\"fileref\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies a fileref to use with the OPENTYPE statement.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0opaiqistxm54n1q02jga8uxbk1\"}],\"supportSiteTargetFile\":\"n0aehqz3ng45cxn1g3i6rmd1f3t4.htm\"}],\"supportSiteInformation\":{\"docsetId\":\"proc\",\"docsetVersion\":\"v_002\",\"docsetTargetFile\":\"n1exv1ipezugn6n1i2xajdhp7h73.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/FOREST.json",
    "content": "{\"name\":\"FOREST\",\"statements\":[{\"name\":\"PROC FOREST\",\"description\":\"The FOREST procedure creates a predictive model called a forest (which consists of several decision trees) in SAS Viya. A predictive model defines a relationship between input variables and a target variable. The purpose of a predictive model is to predict a target value from inputs. The FOREST procedure trains the model; that is, it creates the model by using training data in which the target values are known. The model can then be applied to observations in which the target is unknown. If the predictions fit the new data well, the model is said to generalize well. Good generalization is the primary goal for predictive tasks. A predictive model might fit the training data well but generalize poorly.\",\"help\":\"PROC FOREST <options>;                 \\n\\tAUTOTUNE <options>;                 \\n\\n\\tCODE <options>;                 \\n\\n\\tCROSSVALIDATION <options>;                 \\n\\n\\tFREQ  variable;                 \\n\\n\\tGROW criterion;                 \\n\\n\\tID variables;                 \\n\\n\\tINPUT  variables </ LEVEL={INTERVAL | NOMINAL}>;                 \\n\\n\\tMITIGATEBIAS  SENSITIVEVAR=variable PREDICTEDVARS=(variable-names) PREDICTEDEVENTS=\\\"event-list\\\" <options>;                 \\n\\n\\tOUTPUT  OUT=libref.data-table<option>;                 \\n\\n\\tPARTITION  partition-option;                 \\n\\n\\tSAVESTATE  RSTORE=libref.data-table;                 \\n\\n\\tTARGET  variable </ LEVEL={NOMINAL | INTERVAL}>;                 \\n\\n\\tVIICODE <options>;                 \\n\\n\\tWEIGHT  variable;                 \\n\",\"arguments\":[{\"name\":\"APPLYROWORDER\",\"optional\":true,\"description\":\"uses a data distribution and row order as determined by a previous partition action call\",\"type\":\"standalone\"},{\"name\":\"ASSIGNMISSING=\",\"optional\":true,\"description\":\"specifies how PROC FOREST creates a default splitting rule that is used to handle missing values and unknown levels\",\"help\":\"ASSIGNMISSING=NONE | MACSMALL | USEINSEARCH\",\"type\":\"choice\"},{\"name\":\"BINMETHOD=\",\"optional\":true,\"description\":\"specifies how to bin interval input variables prior to growing the forest model\",\"help\":\"BINMETHOD=BUCKET | QUANTILE\",\"type\":\"choice\"},{\"name\":\"DATA=\",\"optional\":true,\"description\":\"names the input data table for PROC FOREST to use\",\"help\":\"DATA=*libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"INBAGFRACTION=\",\"optional\":true,\"aliases\":[\"BOOTSTRAP=\"],\"description\":\"specifies the fraction of the random bootstrap sample of the training data to be used for growing each tree in the forest, where number is a value between 0 and 1\",\"help\":\"INBAGFRACTION=*number*\",\"type\":\"value\"},{\"name\":\"INMODEL=\",\"optional\":true,\"description\":\"specifies the data table that you have previously saved as a forest model by using the OUTMODEL= option in a previous run of PROC FOREST\",\"help\":\"INMODEL=&lt;*libref.*&gt;*data-table*\",\"type\":\"dataSet\"},{\"name\":\"ISOLATION\",\"optional\":true,\"description\":\"creates an isolation forest for anomaly detection instead of creating a forest for target prediction\",\"help\":\"ISOLATION &lt;(SAMPLEN=*number*)&gt;\",\"type\":\"standaloneOrValue\",\"arguments\":[{\"name\":\"SAMPLEN=\",\"description\":\"specifies the number of observations, sampled without replacement, to use in each tree of the isolation forest\",\"help\":\"SAMPLEN=*number*\",\"type\":\"value\"}]},{\"name\":\"LOH=\",\"optional\":true,\"description\":\"specifies a number of variables (L) that are preselected to consider for candidate splits for each node\",\"help\":\"LOH=*L*\",\"type\":\"value\"},{\"name\":\"MAXBRANCH=\",\"optional\":true,\"description\":\"specifies the maximum number of children per node in the tree\",\"help\":\"MAXBRANCH=*b*\",\"type\":\"value\"},{\"name\":\"MAXDEPTH=\",\"optional\":true,\"description\":\"specifies the maximum depth of the tree to be grown\",\"help\":\"MAXDEPTH=*number*\",\"type\":\"value\"},{\"name\":\"MINLEAFSIZE=\",\"optional\":true,\"aliases\":[\"LEAFSIZE=\"],\"description\":\"specifies the minimum number of observations that each child of a split must contain in the training data table in order for the split to be considered\",\"help\":\"MINLEAFSIZE=*number*\",\"type\":\"value\"},{\"name\":\"MINUSEINSEARCH=\",\"optional\":true,\"description\":\"specifies a threshold for using missing values in the split search when ASSIGNMISSING=USEINSEARCH\",\"help\":\"MINUSEINSEARCH=*number*\",\"type\":\"value\"},{\"name\":\"NOMSEARCH\",\"optional\":true,\"description\":\"specifies search methods for splitting on a nominal variable\",\"help\":\"NOMSEARCH(*suboption*...)\",\"type\":\"value\",\"arguments\":[{\"name\":\"MAXCATEGORIES=\",\"description\":\"specifies the maximum number of categories to use in a splitting rule\",\"help\":\"MAXCATEGORIES=*number*\",\"type\":\"value\"},{\"name\":\"SHRINKAGE=\",\"description\":\"specifies how much weight to give the average gradient when you combine it with the average gradient within a category\",\"help\":\"SHRINKAGE=*number*\",\"type\":\"value\"},{\"name\":\"SORT=\",\"description\":\"specifies the minimum cardinality in the node of the nominal variable for using the sort method\",\"help\":\"SORT=*number*\",\"type\":\"value\"}]},{\"name\":\"NOPRINT\",\"optional\":true,\"description\":\"suppresses ODS output\",\"type\":\"standalone\"},{\"name\":\"NTHREADS=\",\"optional\":true,\"description\":\"specifies the number of threads to use in the computation\",\"help\":\"NTHREADS=*number-of-threads*\",\"type\":\"value\"},{\"name\":\"NTREES=\",\"optional\":true,\"description\":\"specifies the number of trees to grow in the forest model\",\"help\":\"NTREES=*number*\",\"type\":\"value\"},{\"name\":\"NUMBIN=\",\"optional\":true,\"aliases\":[\"NBINS=\"],\"description\":\"specifies the number of bins to use for binning the interval input variables\",\"help\":\"NUMBIN=*number*\",\"type\":\"value\"},{\"name\":\"OUTMODEL=\",\"optional\":true,\"description\":\"specifies the data table to which to save the forest model\",\"help\":\"OUTMODEL=&lt;*libref.*&gt;*data-table*\",\"type\":\"dataSet\"},{\"name\":\"PRINTTARGET\",\"optional\":true,\"description\":\"outputs tables that indicate generated columns in the OUT= table from the OUTPUT statement\",\"type\":\"standalone\"},{\"name\":\"RBAIMP\",\"optional\":true,\"description\":\"creates a variable importance table by using random branch assignment (RBA)\",\"type\":\"standalone\"},{\"name\":\"SEED=\",\"optional\":true,\"description\":\"specifies the initial seed for random number generation that is used in both selecting out-of-bag observations for the trees and selecting the subset of variables to determine splits\",\"help\":\"SEED=*number*\",\"type\":\"value\"},{\"name\":\"VARS_TO_TRY=\",\"optional\":true,\"aliases\":[\"M=\"],\"description\":\"specifies the number of input variables to consider splitting on in a node, where m ranges from 1 to the number of input variables\",\"help\":\"VARS_TO_TRY=*m*\",\"type\":\"value\"},{\"name\":\"VII=\",\"optional\":true,\"aliases\":[\"INTERACTIONIMP=\"],\"description\":\"calculates the variable interaction importance, which is described in the section {forest.details_intimp}\",\"help\":\"VII=2 | 3\",\"type\":\"choice\"},{\"name\":\"VOTE=\",\"optional\":true,\"description\":\"specifies how to calculate the predicted probability of the target levels for a nominal target\",\"help\":\"VOTE=MAJORITY | PROBABILITY\",\"type\":\"choice\"}]},{\"name\":\"AUTOTUNE\",\"description\":\"searches for the best combination of values of the INBAGFRACTION=, MAXDEPTH=, MINLEAFSIZE=, NUMBIN=, NTREES=, and VARS_TO_TRY= options in the PROC FOREST statement\",\"help\":\"AUTOTUNE &lt;options&gt;;                                              \",\"arguments\":[{\"name\":\"TUNINGPARAMETERS=\",\"optional\":true,\"aliases\":[\"TUNEPARMS=\"],\"description\":\"specifies which parameters to tune and which ranges to tune over\",\"help\":\"TUNINGPARAMETERS=(*suboption* |...| &lt;*suboption*&gt;)\",\"type\":\"value\",\"arguments\":[{\"name\":\"INBAGFRACTION\",\"description\":\"specifies information about the fraction of the training data to use for each bagged tree while tuning the forest model\",\"help\":\"INBAGFRACTION (LB=*number* UB=*number* VALUES=*value-list* INIT=*number* EXCLUDE)\",\"type\":\"value\",\"arguments\":[{\"name\":\"LB=\",\"description\":\"specifies the minimum fraction of training data to consider during tuning\",\"help\":\"LB=*number*\",\"type\":\"value\"},{\"name\":\"UB=\",\"description\":\"specifies the maximum fraction of training data to consider during tuning\",\"help\":\"UB=*number*\",\"type\":\"value\"},{\"name\":\"VALUES=\",\"description\":\"specifies a list of fractions of training data to consider during tuning, where value-list is a space-separated list of numbers greater than 0 and less than or equal to 1\",\"help\":\"VALUES=*value-list*\",\"type\":\"value\"},{\"name\":\"INIT=\",\"description\":\"specifies the initial fraction of training data for the tuner to use\",\"help\":\"INIT=*number*\",\"type\":\"value\"},{\"name\":\"EXCLUDE\",\"description\":\"excludes the fraction of the training data to use for each bagged tree from the tuning process\",\"type\":\"standalone\"}]},{\"name\":\"MAXDEPTH\",\"description\":\"specifies information about the maximum depth to which to grow the trees in the forest\",\"help\":\"MAXDEPTH (LB=*number* UB=*number* VALUES=*value-list* INIT=*number* EXCLUDE)\",\"type\":\"value\",\"arguments\":[{\"name\":\"LB=\",\"description\":\"specifies a lower bound on the maximum depth to consider during tuning\",\"help\":\"LB=*number*\",\"type\":\"value\"},{\"name\":\"UB=\",\"description\":\"specifies an upper bound on the maximum depth to consider during tuning\",\"help\":\"UB=*number*\",\"type\":\"value\"},{\"name\":\"VALUES=\",\"description\":\"specifies a list of values to consider for the maximum depth of the trees in the forest, where value-list is a space-separated list of numbers\",\"help\":\"VALUES=*value-list*\",\"type\":\"value\"},{\"name\":\"INIT=\",\"description\":\"specifies the initial maximum depth of trees in the forest\",\"help\":\"INIT=*number*\",\"type\":\"value\"},{\"name\":\"EXCLUDE\",\"description\":\"excludes maximum depth from the tuning process\",\"type\":\"standalone\"}]},{\"name\":\"MINLEAFSIZE\",\"description\":\"specifies information about tuning the leaf size option for training the decision tree\",\"help\":\"MINLEAFSIZE (LB=*number* UB= *number* VALUES=*value-list* INIT=*number* EXCLUDE)\",\"type\":\"value\",\"arguments\":[{\"name\":\"LB=\",\"description\":\"specifies the minimum leaf size value to consider during tuning\",\"help\":\"LB=*number*\",\"type\":\"value\"},{\"name\":\"UB=\",\"description\":\"specifies the maximum leaf size value to consider during tuning\",\"help\":\"UB=*number*\",\"type\":\"value\"},{\"name\":\"VALUES=\",\"description\":\"specifies a list of leaf size values to consider during tuning, where value-list is a space-separated list of positive integers\",\"help\":\"VALUES=*value-list*\",\"type\":\"value\"},{\"name\":\"INIT=\",\"description\":\"specifies the initial leaf size for the tuner to use\",\"help\":\"INIT=*number*\",\"type\":\"value\"},{\"name\":\"EXCLUDE\",\"description\":\"excludes the leaf size from the tuning process\",\"type\":\"standalone\"}]},{\"name\":\"NUMBIN\",\"description\":\"specifies information about the number of bins in which to bin the interval inputs while tuning the decision tree\",\"help\":\"NUMBIN (LB=*number* UB=*number* VALUES=*value-list* INIT=*number* EXCLUDE)\",\"type\":\"value\",\"arguments\":[{\"name\":\"LB=\",\"description\":\"specifies the minimum number of bins to consider during tuning\",\"help\":\"LB=*number*\",\"type\":\"value\"},{\"name\":\"UB=\",\"description\":\"specifies the maximum number of bins to consider during tuning\",\"help\":\"UB=*number*\",\"type\":\"value\"},{\"name\":\"VALUES=\",\"description\":\"specifies a list of numbers of bins to consider during tuning, where value-list is a space-separated list of positive integers\",\"help\":\"VALUES=*value-list*\",\"type\":\"value\"},{\"name\":\"INIT=\",\"description\":\"specifies the initial number of bins for the tuner to use\",\"help\":\"INIT=*number*\",\"type\":\"value\"},{\"name\":\"EXCLUDE\",\"description\":\"excludes the number of bins from the tuning process\",\"type\":\"standalone\"}]},{\"name\":\"NTREES\",\"description\":\"specifies information about the number of trees in the forest to use for tuning the forest model\",\"help\":\"NTREES (LB=*number* UB=*number* VALUES=*value-list* INIT=*number* EXCLUDE)\",\"type\":\"value\",\"arguments\":[{\"name\":\"LB=\",\"description\":\"specifies the minimum number of trees to consider during tuning\",\"help\":\"LB=*number*\",\"type\":\"value\"},{\"name\":\"UB=\",\"description\":\"specifies the maximum number of trees to consider during tuning\",\"help\":\"UB=*number*\",\"type\":\"value\"},{\"name\":\"VALUES=\",\"description\":\"specifies a list of numbers of trees to consider during tuning, where value-list is a space-separated list of positive integers\",\"help\":\"VALUES=*value-list*\",\"type\":\"value\"},{\"name\":\"INIT=\",\"description\":\"specifies the initial number of trees for the tuner to use\",\"help\":\"INIT=*number*\",\"type\":\"value\"},{\"name\":\"EXCLUDE\",\"description\":\"excludes the number of trees from the tuning process\",\"type\":\"standalone\"}]},{\"name\":\"VARS_TO_TRY\",\"description\":\"specifies information about the number of variables to consider at each split during tree growth while tuning the forest model\",\"help\":\"VARS_TO_TRY (LB=*number* UB=*number* VALUES=*value-list* INIT=*number* EXCLUDE)\",\"type\":\"value\",\"arguments\":[{\"name\":\"LB=\",\"description\":\"specifies the minimum number of variables to consider during tuning\",\"help\":\"LB=*number*\",\"type\":\"value\"},{\"name\":\"UB=\",\"description\":\"specifies the maximum number of variables to consider during tuning\",\"help\":\"UB=*number*\",\"type\":\"value\"},{\"name\":\"VALUES=\",\"description\":\"specifies a list of numbers of variables to consider during tuning, where value-list is a space-separated list of positive integers\",\"help\":\"VALUES=*value-list*\",\"type\":\"value\"},{\"name\":\"INIT=\",\"description\":\"specifies the initial number of variables for the tuner to use\",\"help\":\"INIT=*number*\",\"type\":\"value\"},{\"name\":\"EXCLUDE\",\"description\":\"excludes the number of variables from the tuning process\",\"type\":\"standalone\"}]}]}]},{\"name\":\"CODE\",\"description\":\"writes SAS DATA step code for computing predicted values of the fitted model to a file or to a table\",\"help\":\"CODE &lt;options&gt;;                                              \",\"arguments\":[{\"name\":\"COMMENT\",\"optional\":true,\"description\":\"Adds comments to the generated code\",\"type\":\"standalone\"},{\"name\":\"FILE=\",\"optional\":true,\"description\":\"Names the file in which to save the generated code\",\"type\":\"value\"},{\"name\":\"FORMATWIDTH=\",\"optional\":true,\"description\":\"Specifies the numeric format width for the regression coefficients\",\"type\":\"value\"},{\"name\":\"INDENTSIZE=\",\"optional\":true,\"description\":\"Specifies the number of spaces to indent the generated code\",\"type\":\"value\"},{\"name\":\"LABELID=\",\"optional\":true,\"description\":\"Specifies a number used to construct names and labels\",\"type\":\"value\"},{\"name\":\"LINESIZE=\",\"optional\":true,\"description\":\"Specifies the line size for the generated code\",\"type\":\"value\"},{\"name\":\"NOTRIM\",\"optional\":true,\"description\":\"Compares formatted values, including blank padding\",\"type\":\"standalone\"},{\"name\":\"OUT=\",\"optional\":true,\"description\":\"Names an output table in which to save the generated code\",\"type\":\"value\"}]},{\"name\":\"CROSSVALIDATION\",\"description\":\"performs k-fold cross validation to find the average estimated validation error\",\"help\":\"CROSSVALIDATION &lt;options&gt;;                                              \",\"arguments\":[{\"name\":\"KFOLD=\",\"optional\":true,\"description\":\"specifies the number of partition folds in the cross validation process, where number is between 2 and 20, inclusive\",\"help\":\"KFOLD=*number*\",\"type\":\"value\"},{\"name\":\"NOPARALLEL\",\"optional\":true,\"description\":\"specifies that k-fold cross validation not be run in parallel\",\"type\":\"standalone\"},{\"name\":\"NSUBSESSIONWORKERS=\",\"optional\":true,\"description\":\"specifies the number of worker nodes to use in parallel subsessions\",\"help\":\"NSUBSESSIONWORKERS=*number*\",\"type\":\"value\"}]},{\"name\":\"FREQ\",\"description\":\"identifies a numeric variable in the input data table that contains the frequency of occurrence of each observation\",\"help\":\"FREQ  variable;                                              \"},{\"name\":\"GROW\",\"description\":\"specifies the criterion by which to split a parent node into child nodes\",\"help\":\"GROW *criterion*;                                              \",\"arguments\":[{\"name\":\"CHAID\",\"optional\":true,\"description\":\"for categorical predictor variables, CHAID uses the value (as specified in the ALPHA= option) of a chi-square statistic (for a classification tree) or an F statistic (for a regression tree) to merge similar levels of the predictor variable until the number of children in the proposed split reaches the number that you specify in the MAXBRANCH= option in the PROC FOREST statement\",\"type\":\"standalone\"},{\"name\":\"CHISQUARE\",\"optional\":true,\"description\":\"uses a chi-square statistic to split each variable and then uses the p-values that correspond to the resulting splits to determine the splitting variable\",\"type\":\"standalone\"},{\"name\":\"ENTROPY\",\"optional\":true,\"aliases\":[\"GAIN\"],\"description\":\"uses the gain in information (decrease in entropy) to split each variable and then to determine the split\",\"type\":\"standalone\"},{\"name\":\"GINI\",\"optional\":true,\"description\":\"uses the decrease in the Gini index to split each variable and then to determine the split\",\"type\":\"standalone\"},{\"name\":\"IGR\",\"optional\":true,\"description\":\"uses the entropy metric to split each variable and then uses the information gain ratio to determine the split\",\"type\":\"standalone\"},{\"name\":\"FTEST\",\"optional\":true,\"description\":\"uses an F statistic to split each variable and then uses the resulting p-value to determine the split variable\",\"type\":\"standalone\"},{\"name\":\"RSS\",\"optional\":true,\"aliases\":[\"VARIANCE\"],\"description\":\"uses the change in response variance to split each variable and then to determine the split\",\"type\":\"standalone\"}]},{\"name\":\"ID\",\"description\":\"lists one or more variables that are to be copied from the input data table to the output data tables that are specified in the OUT= option in the OUTPUT statement and the RSTORE= option in the SAVESTATE statement\",\"help\":\"ID *variables*;                                              \"},{\"name\":\"INPUT\",\"description\":\"names input variables that share a common option\",\"help\":\"INPUT  variables &lt;/ LEVEL={INTERVAL | NOMINAL}&gt;;                                              \",\"arguments\":[{\"name\":\"LEVEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the level of measurement of the variables\",\"help\":\"LEVEL={INTERVAL | NOMINAL}\",\"type\":\"choice\"}]},{\"name\":\"MITIGATEBIAS\",\"description\":\"enables PROC FOREST to iteratively train a model while minimizing the bias metric that you specify\",\"help\":\"MITIGATEBIAS  SENSITIVEVAR=*variable* PREDICTEDVARS=(*variable-names*) PREDICTEDEVENTS=\\\"*event-list*\\\" &lt;options&gt;;                                              \",\"arguments\":[{\"name\":\"PREDICTEDEVENTS=\",\"optional\":true,\"aliases\":[\"PEVENTS=\"],\"description\":\"specifies the events that correspond to each variable in the PREDICTEDVARS= option\",\"help\":\"PREDICTEDEVENTS=\\\"*event-list*\\\"\",\"type\":\"value\"},{\"name\":\"PREDICTEDVARS=\",\"optional\":true,\"aliases\":[\"PVARS=\"],\"description\":\"specifies the names of the variables that contain the posterior probability for each level in model prediction that corresponds to the response (target) variable\",\"help\":\"PREDICTEDVARS=(*variable-names*)\",\"type\":\"value\"},{\"name\":\"SENSITIVEVAR=\",\"optional\":true,\"description\":\"specifies the sensitive variable to use in order to reduce the value of the bias measurement that you specify in the BIASMETRIC= option\",\"help\":\"SENSITIVEVAR=*variable*\",\"type\":\"value\"},{\"name\":\"BIASMETRIC=\",\"optional\":true,\"description\":\"specifies the type of bias measurement\",\"help\":\"BIASMETRIC=*bias-metric*\",\"type\":\"value\"},{\"name\":\"BOUND=\",\"optional\":true,\"description\":\"specifies the bound value for the exponentiated gradient reduction algorithm\",\"help\":\"BOUND=*number*\",\"type\":\"value\"},{\"name\":\"DELIMITER=\",\"optional\":true,\"aliases\":[\"DLM=\"],\"description\":\"specifies the delimiter to be used to separate events that you specify in the PREDICTEDEVENTS= option\",\"help\":\"DELIMITER=\\\"*character*\\\"\",\"type\":\"value\"},{\"name\":\"LEARNINGRATE=\",\"optional\":true,\"description\":\"specifies the step size to use in updating the exponentiated gradient reduction algorithm\",\"help\":\"LEARNINGRATE=*number*\",\"type\":\"value\"},{\"name\":\"LOGLEVEL=\",\"optional\":true,\"description\":\"specifies the level of log information to print\",\"help\":\"LOGLEVEL=0 | 1 | 2\",\"type\":\"choice\"},{\"name\":\"MAXITER=\",\"optional\":true,\"description\":\"specifies the maximum number of iterations to run the exponentiated gradient reduction algorithm\",\"help\":\"MAXITER=*number*\",\"type\":\"value\"},{\"name\":\"SEED=\",\"optional\":true,\"description\":\"specifies the seed for the pseudorandom number generator\",\"help\":\"SEED=*number*\",\"type\":\"value\"},{\"name\":\"TARGETEVENT=\",\"optional\":true,\"description\":\"specifies the formatted value of the response (target) variable that represents the event of interest\",\"help\":\"TARGETEVENT=\\\"*event*\\\"\",\"type\":\"value\"},{\"name\":\"TOLERANCE=\",\"optional\":true,\"description\":\"specifies the parity constraint violation tolerance\",\"help\":\"TOLERANCE=*number*\",\"type\":\"value\"},{\"name\":\"TUNEBOUND\",\"optional\":true,\"description\":\"specifies that the bound value must be tuned\",\"type\":\"standalone\"}]},{\"name\":\"OUTPUT\",\"description\":\"creates an output data table that contains the results of PROC FOREST\",\"help\":\"OUTPUT  OUT=*libref.data-table*&lt;option&gt;;                                              \",\"arguments\":[{\"name\":\"OUT=\",\"optional\":true,\"description\":\"names the output data table for PROC FOREST to use\",\"help\":\"OUT=*libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"COPYVAR=\",\"optional\":true,\"aliases\":[\"COPYVARS=\"],\"description\":\"lists one or more variables from the input data table to be transferred to the output data table\",\"help\":\"COPYVAR={*variable*}\",\"type\":\"value\"},{\"name\":\"ROLE\",\"optional\":true,\"description\":\"generates a numeric variable that indicates the role played by each observation in fitting the model\",\"help\":\"ROLE&lt;={*name*}&gt;\",\"type\":\"standaloneOrValue\"}]},{\"name\":\"PARTITION\",\"description\":\"specifies how observations in the input data set are logically partitioned into disjoint subsets for model training, validation, and testing\",\"help\":\"PARTITION  partition-option;                                              \",\"arguments\":[{\"name\":\"FRACTION\",\"optional\":true,\"description\":\"randomly assigns specified proportions of the observations in the input data table to the roles\",\"help\":\"FRACTION(&lt;TEST=*fraction*&gt; &lt;VALIDATE=*fraction*&gt; &lt;SEED=*number*&gt;)\",\"type\":\"standaloneOrValue\"},{\"name\":\"ROLE=\",\"optional\":true,\"aliases\":[\"ROLEVAR=\"],\"description\":\"names the variable in the input data table whose values are used to assign roles to each observation\",\"help\":\"ROLE={*variable* (&lt;TEST=*'value'*&gt; &lt;TRAIN=*'value'*&gt; &lt;VALIDATE=*'value'*&gt;) }\",\"type\":\"value\"}]},{\"name\":\"SAVESTATE\",\"description\":\"creates an analytic store for the model and saves it as a binary object in a data table\",\"help\":\"SAVESTATE  RSTORE=*libref.data-table*;                                              \",\"arguments\":[{\"name\":\"RSTORE=\",\"optional\":true,\"description\":\"specifies a data table in which to save the analytic store for the model\",\"help\":\"RSTORE=*libref.data-table*\",\"type\":\"dataSet\"}]},{\"name\":\"TARGET\",\"description\":\"names the variable whose values PROC FOREST tries to predict\",\"help\":\"TARGET  variable &lt;/ LEVEL={NOMINAL | INTERVAL}&gt;;                                              \",\"arguments\":[{\"name\":\"LEVEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the level of measurement\",\"help\":\"LEVEL={NOMINAL | INTERVAL}\",\"type\":\"choice\"}]},{\"name\":\"VIICODE\",\"description\":\"writes SAS DATA step code to a file or to a catalog entry\",\"help\":\"VIICODE &lt;options&gt;;                                              \",\"arguments\":[{\"name\":\"ADD\",\"optional\":true,\"description\":\"requests that the newly created variables be of the form V + W\",\"type\":\"standalone\"},{\"name\":\"LIMIT=\",\"optional\":true,\"description\":\"specifies the maximum number of new variables to create\",\"help\":\"LIMIT=*number*\",\"type\":\"value\"},{\"name\":\"MISS\",\"optional\":true,\"description\":\"requests that the generated code handle missing values\",\"type\":\"standalone\"},{\"name\":\"MULTIPLY\",\"optional\":true,\"description\":\"requests that the newly created variables be of the form V W\",\"type\":\"standalone\"},{\"name\":\"SUBTRACT\",\"optional\":true,\"description\":\"requests that the newly created variables be of the form V - W\",\"type\":\"standalone\"},{\"name\":\"THRESHOLD=\",\"optional\":true,\"description\":\"requests that interactions with an importance less than number times the maximum interaction importance be ignored, where number must be between 0 and 1\",\"help\":\"THRESHOLD=*number*\",\"type\":\"value\"}]},{\"name\":\"WEIGHT\",\"description\":\"variable is used to weight each observation to perform a weighted analysis of the data\",\"help\":\"WEIGHT  variable;                                              \"}],\"supportSiteInformation\":{\"docsetId\":\"casml\",\"docsetVersion\":\"latest\",\"docsetTargetFile\":\"casml_forest_toc.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/FORMAT.json",
    "content": "{\"name\":\"FORMAT\",\"statements\":[{\"name\":\"PROC FORMAT\",\"description\":\"Creates user-specified formats and informats for variables.\",\"help\":\"PROC FORMAT <options>;\\n\\tEXCLUDE entry(s);\\n\\n\\tINVALUE <$>name <(informat-options)><value-range-set(s)>;\\n\\n\\tPICTURE name<(format-options)>\\n\\t\\t<value-range-set-1<(picture-1-options)>\\n\\t\\t<value-range-set-2<(picture-2-options)>> ...>;\\n\\n\\tSELECT entry(s);\\n\\n\\tVALUE <$>name<(format-options)><value-range-set(s)>;\",\"arguments\":[{\"name\":\"CASFMTLIB=\",\"optional\":true,\"description\":\"adds a format library to a CAS session.\",\"help\":\"CASFMTLIB='*name*'\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p01lvjxu1gka0mn1rgkw8qe8jlsw\"},{\"name\":\"CNTLIN=\",\"optional\":true,\"description\":\"specifies a SAS data set from which PROC FORMAT builds informats or formats.\",\"help\":\"CNTLIN=*input-control-SAS-data-set*\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"n1l9h98t2b6lomn1ur1653iklmi9\"},{\"name\":\"CNTLOUT=\",\"optional\":true,\"description\":\"creates a SAS data set that stores information about informats or formats that are contained in the catalog specified in the LIBRARY= option.\",\"help\":\"CNTLOUT=*output-control-SAS-data-set*\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"n0pmlklndoq3w8n1sf7ni1ofe1p0\"},{\"name\":\"FMTLIB\",\"optional\":true,\"description\":\"prints information about informats or formats in the catalog that is specified in the LIBRARY= option.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1ao4kkkhyjzbjn1swdcwm1qhkx4\"},{\"name\":\"LIBRARY=\",\"optional\":true,\"aliases\":[\"LIB=\"],\"description\":\"specifies a SAS library or catalog that contains the informats or formats that you are creating in the PROC FORMAT step.\",\"help\":\"LIBRARY=*libref&lt;.catalog&gt;*\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"p14pdxb0wxpmr3n1a3d1sdgx4o9d\"},{\"name\":\"LOCALE\",\"optional\":true,\"description\":\"specifies to create a format catalog that corresponds to the current SAS locale.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1r0v8wesmo02yn1hv5arwac0061\"},{\"name\":\"MAXLABLEN=\",\"optional\":true,\"description\":\"specifies the number of characters of the informatted or formatted value that appear in PROC FORMAT output.\",\"help\":\"MAXLABLEN=*number-of-characters*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0tru6l7ox9p8gn11wmmfleuwrc8\"},{\"name\":\"MAXSELEN=\",\"optional\":true,\"description\":\"specifies the number of characters of the start and end values that appear in the PROC FORMAT output.\",\"help\":\"MAXSELEN=*number-of-characters*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0hqojvrquhxz0n1fsr19ubdlg32\"},{\"name\":\"NOREPLACE\",\"optional\":true,\"description\":\"prevents a new informat or format from replacing an existing one of the same name.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p09a60jribvf87n1wapvrm2t8c68\"},{\"name\":\"PAGE\",\"optional\":true,\"description\":\"prints information about each format and informat in the catalog.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0wn94kyf7luken1h0v1451w57pt\"}],\"supportSiteTargetFile\":\"n1c16dxnndwfzyn14o1kb8a4312m.htm\"},{\"name\":\"EXCLUDE\",\"description\":\"Excludes entries from processing by the FMTLIB and CNTLOUT= options.\",\"help\":\"EXCLUDE *entry(s)*;\",\"arguments\":[{\"name\":\"entry\",\"placeholder\":true,\"description\":\"specifies one or more catalog entries to exclude from processing. Catalog entry names are the same as the name of the informat or format that they store. Because informats and formats can have the same name, and because character and numeric informats or formats can have the same name, you must use certain prefixes when specifying informats and formats in the EXCLUDE statement. Follow these rules when specifying entries in the EXCLUDE statement:\\n• Precede names of entries that contain character formats with a dollar sign ($).\\n• Precede names of entries that contain character informats with an at sign and a dollar sign (for example, @$<i>entry-name</i>).\\n• Precede names of entries that contain numeric informats with an at sign (@).\\n• Specify names of entries that contain numeric formats without a prefix.\",\"help\":\"*entry(s)*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1lh29xbxgwil2n1bbsfodboub2l\"}],\"supportSiteTargetFile\":\"n0l77xvqsdh56hn17qvkfm3557pg.htm\"},{\"name\":\"INVALUE\",\"description\":\"Creates an informat for reading and converting raw data values.\",\"help\":\"INVALUE &lt;$&gt;*name*&lt;(*informat-options*)&gt;&lt;*value-range-set(s)*&gt;;\",\"arguments\":[{\"name\":\"name\",\"placeholder\":true,\"description\":\"names the informat that you are creating.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0fai08k0fq5kin1uxatflsx2ym6\"},{\"name\":\"DEFAULT=\",\"optional\":true,\"description\":\"specifies the default length of the informat.\",\"help\":\"DEFAULT=*length*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0714zf3khbloqn11oizvas7cgpn\"},{\"name\":\"FUZZ=\",\"optional\":true,\"description\":\"specifies a fuzz factor for matching values to a range.\",\"help\":\"FUZZ=*fuzz-factor*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p150i41sv441hvn17wc27vqoq3v3\"},{\"name\":\"JUST\",\"optional\":true,\"description\":\"left-justifies all input strings before they are compared to ranges.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n03zreddopet21n1vtl2ex42lazd\"},{\"name\":\"MAX=\",\"optional\":true,\"description\":\"specifies a maximum length for the informat.\",\"help\":\"MAX=*length*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1xy4jukjgefwnn11szqlhoc8nby\"},{\"name\":\"MIN=\",\"optional\":true,\"description\":\"specifies a minimum length for the informat.\",\"help\":\"MIN=*length*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1c73ylghdp7unn1j1xjz8naamhx\"},{\"name\":\"NOTSORTED\",\"optional\":true,\"description\":\"stores values or ranges in the order in which you define them.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1nzynv88knkv3n12j9kw3higl98\"},{\"name\":\"REGEXP\",\"optional\":true,\"description\":\"specifies that the preceding range is to be treated as a Perl regular expression.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0lkbqldpdpaeun1ljxhy63v8voe\"},{\"name\":\"REGEXPE\",\"optional\":true,\"description\":\"specifies that the preceding range is to be treated as a Perl regular expression.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0lkbqldpdpaeun1ljxhy63v8voe\"},{\"name\":\"UPCASE\",\"optional\":true,\"description\":\"upper cases all input strings before they are compared to ranges.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1wsl2csj98mg1n1diudwaxnr24p\"},{\"name\":\"value-or-range\",\"placeholder\":true,\"description\":\"See .\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1qhpxgf7nen40n1l1znec1k2ie6\"},{\"name\":\"'character-string'\",\"placeholder\":true,\"description\":\"is a character string up to 32,767 characters long. Typically, character-string becomes the value of a character variable when you use the informat to convert raw data. Use character-string for informatted-value only when you are creating a character informat. If you omit the single or double quotation marks around character-string, then the INVALUE statement assumes that the quotation marks are there.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0d9gi10smc6h2n1cbykpjiifpeb\"},{\"name\":\"number\",\"placeholder\":true,\"description\":\"is a number that becomes the informatted value. Typically, number becomes the value of a numeric variable when you use the informat to convert raw data. Use number for informatted-value when you are creating a numeric informat. The maximum for number depends on the host operating environment.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1308rwkxnb228n1fmvgk5prd4ai\"},{\"name\":\"_ERROR_\",\"description\":\"treats data values in the designated range as invalid data. SAS assigns a missing value to the variable, prints the data line in the SAS log, and issues a warning message.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1oiwqxng36uj9n15noy64r1u65b\"},{\"name\":\"_SAME_\",\"description\":\"prevents the informat from converting the raw data as any other value. For example, the following GROUP. informat converts values 01 through 20 and assigns the numbers 1 through 20 as the result. All other values are assigned a missing value.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0f9699nhpguf4n1qzd0nq38c384\"},{\"name\":\"existing-informat\",\"placeholder\":true,\"description\":\"is an informat that is supplied by SAS or an existing user-defined informat. The informat that you are creating uses the existing informat to convert the raw data that match value-or-range on the left side of the equal sign. If you use an existing informat, then enclose the informat name in square brackets (for example, [date9.]) or with parentheses and vertical bars (for example, (|date9.|)). Do not enclose the name of the existing informat in single quotation marks.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0lkmstloaydmkn1m33bxdt8sjae\"}],\"supportSiteTargetFile\":\"p1pmw90bl3jzgdn1w4202kclxtho.htm\"},{\"name\":\"PICTURE\",\"description\":\"Creates a template for printing numbers.\",\"help\":\"PICTURE name<(format-options)>\\n<value-range-set-1<(picture-1-options)>\\n<value-range-set-2<(picture-2-options)>> ...>; \",\"arguments\":[{\"name\":\"name\",\"placeholder\":true,\"description\":\"names the format that you are creating.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1g5kelvjsfw90n1ph50o0rjbn3e\"},{\"name\":\"DATATYPE=\",\"optional\":true,\"description\":\"enables the use of directives in the picture as a template to format date, time, or datetime values.\",\"help\":\"DATATYPE=DATE | TIME | DATETIME | DATETIME_UTIL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DATE\",\"type\":\"standalone\"},{\"name\":\"TIME\",\"type\":\"standalone\"},{\"name\":\"DATETIME\",\"type\":\"standalone\"},{\"name\":\"DATETIME_UTIL\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"p0n1r81ipjuupin12z0o1z8rmhco\"},{\"name\":\"DEFAULT=\",\"optional\":true,\"description\":\"specifies the default length of the picture.\",\"help\":\"DEFAULT=*length*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0l574ukk316dpn1q9ibqvfz3cwg\"},{\"name\":\"DECSEP=\",\"optional\":true,\"description\":\"specifies the separator character for the fractional part of a number.\",\"help\":\"DECSEP='*character*'\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0idevusy0f1ion1joc29968xpp2\"},{\"name\":\"DIG3SEP=\",\"optional\":true,\"description\":\"specifies the three-digit separator character for a number.\",\"help\":\"DIG3SEP='*character*'\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0eiew9n2mojwnn1tio9rlhnpstd\"},{\"name\":\"FILL=\",\"optional\":true,\"description\":\"specifies a character that completes the formatted value.\",\"help\":\"FILL='*character*'\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p054cbzhzwxmivn12dflijsmm7q1\"},{\"name\":\"FUZZ=\",\"optional\":true,\"description\":\"specifies a fuzz factor for matching values to a range.\",\"help\":\"FUZZ=*fuzz-factor*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0kgiviv1wyghvn1b5fuu9ufufls\"},{\"name\":\"LANGUAGE=\",\"optional\":true,\"description\":\"specifies the language that is used for weekdays and months that you can substitute in a date, time, or datetime picture.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p18y8pz0yyab58n18aidznl7st5g\"},{\"name\":\"MAX=\",\"optional\":true,\"description\":\"specifies a maximum length for the format.\",\"help\":\"MAX=*length*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n15dcnpyao87qfn1prja6h74ylku\"},{\"name\":\"MIN=\",\"optional\":true,\"description\":\"specifies a minimum length for the format.\",\"help\":\"MIN=*length*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1m4tsobeuikmgn1r593sit031po\"},{\"name\":\"MULTILABEL\",\"optional\":true,\"description\":\"enables the assignment of labels to multiple values-or-range values that might have the same or overlapping values.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0t5zy8hlgctdcn18agg8a9z0ltb\"},{\"name\":\"MULTIPLIER=\",\"optional\":true,\"aliases\":[\"MULT=\"],\"description\":\"specifies a number to multiply the variable's value by before it is formatted.\",\"help\":\"MULTIPLIER=*n*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1ep10gz106w93n11vfayrnyif5h\"},{\"name\":\"NOEDIT\",\"optional\":true,\"description\":\"specifies that numbers are message characters rather than digit selectors.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p178ak2xepxr20n1302iaaxmkjgi\"},{\"name\":\"NOTSORTED\",\"optional\":true,\"description\":\"stores values or ranges in the order in which you define them.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p06qzxe0tydt6zn1po4r63cpugfq\"},{\"name\":\"PREFIX=\",\"optional\":true,\"description\":\"specifies a character prefix to place in front of the formatted value.\",\"help\":\"PREFIX='*prefix*'\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0yqwgxe1fbxrzn188ypksz96gvj\"},{\"name\":\"ROUND\",\"optional\":true,\"description\":\"rounds the value to the nearest integer before formatting.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1fh7u9t4ya6fgn15mc3niroo9a0\"},{\"name\":\"value-or-range\",\"placeholder\":true,\"description\":\"See .\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1b2h01qbe273tn1i6us8gu6uiqx\"},{\"name\":\"digit\",\"placeholder\":true,\"description\":\"are numeric characters (0 through 9) that define positions for numeric values. A picture format with nonzero-digit selectors prints any leading zeros in variable values; picture digit selectors of 0 do not print leading zeros in variable values. If the picture format contains digit selectors, then a digit selector must be the first character in the picture.\",\"help\":\"*digit selectors*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p10rwlo24rlw3pn1dtz7vy4p4c1g\"},{\"name\":\"message\",\"placeholder\":true,\"description\":\"are nonnumeric characters that are printed as specified in the picture. The following PICTURE statement contains both digit selectors (99) and message characters (illegal day value). Because the DAYS. format has nonzero-digit selectors, values are printed with leading zeros. The special range OTHER prints the message characters for any values that do not fall into the specified range (1 through 31).\",\"help\":\"*message characters*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n192083x1zjz8en164v8j7c59gpe\"},{\"name\":\"%a\",\"description\":\"abbreviated weekday name (for example, Wed).\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1fnt4u41yxniun1ad5tir2wpbx5\"},{\"name\":\"%A\",\"description\":\"full weekday name (for example, Wednesday).\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1fsbjhqw1f1gmn0zf6ii70rloxy\"},{\"name\":\"%b\",\"description\":\"abbreviated month name (for example, JAN or Jan).\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p18fj198t255aen1xh29z1tkb5cj\"},{\"name\":\"%\",\"description\":\"the full month name (for example, January) if n is not included in the directive. n specifies the number of characters that appear for the month name. In comparison, the %b directive writes a three-character month abbreviation in uppercase letters for some locales.\",\"help\":\"%&lt;*n*&gt;B\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0p7scluqlh8bzn1qx4y67sr55hx\"},{\"name\":\"%C\",\"description\":\"long month name with blank padding (January through December) (for example, December).\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1amruqypvv49jn10nfur7drrjrm\"},{\"name\":\"%d\",\"description\":\"day of the month.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p17rtng36n85usn1axz67r6p6ntg\"},{\"name\":\"%e\",\"description\":\"day of the month as a two-character decimal number with leading spaces (\\\" 1\\\"- \\\"31\\\") (for example, “ 2”).\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n10b4bo8bb36mnn15p53xswvlt7v\"},{\"name\":\"%F\",\"description\":\"full weekday name with blank padding.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0dwsuwxrnsrxon11ot9s1eid1bs\"},{\"name\":\"%G\",\"description\":\"year as a four-digit decimal number (for example, 2008). If the week that contains January 1 has four or more days in the new year, then it is considered week 1 in the new year. Otherwise, it is the last week of the previous year and the year is considered the previous year.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p12ns3lkhvbtpwn1fmx39qtukp4h\"},{\"name\":\"%H\",\"description\":\"hour (24-hour clock).\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0osrepejeiisyn1996zkugp381p\"},{\"name\":\"%I\",\"aliases\":[\"%i\"],\"description\":\"hour (12-hour clock).\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p18uc8337w6nn9n1w12r2rehcunc\"},{\"name\":\"%j\",\"description\":\"day of the year as a decimal number (1–366), with leading zero.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0inmfa8m9g6kdn1csid38rmer8h\"},{\"name\":\"%m\",\"description\":\"month (1–12).\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0h52r5oaj5vo7n1tamly2wyntv5\"},{\"name\":\"%M\",\"description\":\"minute (0–59).\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n17of18adlvn6in1t8n3l8wm7ffg\"},{\"name\":\"%n\",\"description\":\"number of days in a duration as a decimal number (maximum of 10 digits) (for example, 25).\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p10k31a1if3uy4n15u43quiidl6m\"},{\"name\":\"%o\",\"description\":\"month (1-12) with blank padding (for example, \\\" 2\\\").\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1e3qxk7ylno5fn1u9cjdoqkyllo\"},{\"name\":\"%p\",\"description\":\"equivalent to either a.m. or p.m.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1h9c0rvbjho43n1gdf2ixhy0bvl\"},{\"name\":\"%q\",\"description\":\"abbreviated quarter of the year string such as 1, 2, 3, or 4.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1hj33on7kt6acn10vs2luv1xcbt\"},{\"name\":\"%Q\",\"description\":\"quarter of the year string, such as Quarter1, Quarter2, Quarter3, or Quarter4.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n03czzfcnpdqakn115dbr3tb2qqt\"},{\"name\":\"%s\",\"description\":\"fractional seconds as decimal digits (for example, .39555). The number of digits formatted is the number of digits to the right of the decimal point that is specified when you use the format. SAS rounds fractional seconds to accommodate the number of digits specified for fractional seconds.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n16tdpjsa790i0n1lapvexlwhqxc\"},{\"name\":\"%S\",\"description\":\"seconds (0–59), allowing for possible leap seconds.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n19bl7ovw67qscn13cbzcxz1phyx\"},{\"name\":\"%u\",\"description\":\"weekday as a one-digit decimal number (1–7 (Monday - Sunday)) (for example, Sunday=7).\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1x2u6ace9no5bn188dy5uc4d94d\"},{\"name\":\"%U\",\"description\":\"week number of the year as a decimal number (0–53). Sunday is considered the first day of the week.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0b8yx5l0hpz1nn1uyvdw3524b99\"},{\"name\":\"%V\",\"description\":\"week number (01–53) with the first Monday as the start day of the first week. Minimum days of the first week is 4.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1qkuqmezucp5hn0zn5u48ty2wii\"},{\"name\":\"%w\",\"description\":\"weekday as a one-digit decimal number (0–6 (Sunday through Saturday)) (for example, Sunday=0).\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0gakymympjezpn1paynj0521sko\"},{\"name\":\"%W\",\"description\":\"week number (0–53) with the first Monday as the start day of the first week.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0oe0wh3m52whdn1ht2zn0e6pyml\"},{\"name\":\"%y\",\"description\":\"year without century (0–99) (for example, 93).\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1gq7mg9uav6fvn1bereeg7l6ekn\"},{\"name\":\"%Y\",\"description\":\"year with century as a four-digit decimal number (1970–2069) (for example, 1994).\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1kde0sd9p9u7pn1qhwtz9ros2vi\"},{\"name\":\"%z\",\"description\":\"UTC time-zone offset.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1n4xgdh1i7lzmn1ntd1a1wfbjso\"},{\"name\":\"%Z\",\"description\":\"time-zone name.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0gpinode7ajhpn1bjylq1hj4maf\"},{\"name\":\"%%\",\"description\":\"the % character.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0aixrn2vy8n4wn1ip4szd6hvvbt\"}],\"supportSiteTargetFile\":\"p0n990vq8gxca6n1vnsracr6jp2c.htm\"},{\"name\":\"SELECT\",\"description\":\"Selects entries for processing by the FMTLIB and CNTLOUT= options.\",\"help\":\"SELECT *entry(s)*;\",\"arguments\":[{\"name\":\"entry\",\"placeholder\":true,\"description\":\"specifies one or more catalog entries for processing. Catalog entry names are the same as the name of the informat or format that they store. Because informats and formats can have the same name, and because character and numeric informats or formats can have the same name, you must use certain prefixes when specifying informats and formats in the SELECT statement. Follow these rules when specifying entries in the SELECT statement:\\n• Precede names of entries that contain character formats with a dollar sign ($).\\n• Precede names of entries that contain character informats with an at sign and a dollar sign (for example, @$<i>entry-name</i>).\\n• Precede names of entries that contain numeric informats with an at sign (@).\\n• Specify names of entries that contain numeric formats without a prefix.\",\"help\":\"*entry(s)*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0pth3fva48kk0n156h8okunomgm\"}],\"supportSiteTargetFile\":\"p13qw1bnotx0gon14dvyt7n6zop8.htm\"},{\"name\":\"VALUE\",\"description\":\"Creates a format that specifies character strings to use to print variable values.\",\"help\":\"VALUE &lt;$&gt;*name*&lt;(*format-options*)&gt;&lt;*value-range-set(s)*&gt;; \",\"arguments\":[{\"name\":\"name\",\"placeholder\":true,\"description\":\"names the format that you are creating. If you created a function using the FCMP procedure to use as a format, name is the function name without parenthesis.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n10mz0rmjxgcltn1xd4n91mc2kpq\"},{\"name\":\"DEFAULT=\",\"optional\":true,\"description\":\"specifies the default length of the format.\",\"help\":\"DEFAULT=*length*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0okqjurxwjgocn1muw3cfbip2g0\"},{\"name\":\"FUZZ=\",\"optional\":true,\"description\":\"specifies a fuzz factor for matching values to a range.\",\"help\":\"FUZZ=*fuzz-factor*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0qhedcd1ls7ren1hn86ntotxrai\"},{\"name\":\"MAX=\",\"optional\":true,\"description\":\"specifies a maximum length for the format.\",\"help\":\"MAX=*length*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0cl9xxthct7y4n1ruhf65wgvpdo\"},{\"name\":\"MIN=\",\"optional\":true,\"description\":\"specifies a minimum length for the format.\",\"help\":\"MIN=*length*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0177od28sylp5n106zem4hdkyrw\"},{\"name\":\"MULTILABEL\",\"optional\":true,\"description\":\"enables the assignment of multiple labels or external values to internal values.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0tcklc8ysnmltn14k6l4el98wbc\"},{\"name\":\"NOTSORTED\",\"optional\":true,\"description\":\"stores values or ranges in the order in which you define them.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0ko20s1z2nt1wn1lk1eimk8o7hl\"},{\"name\":\"value-or-range\",\"placeholder\":true,\"description\":\"For details about how to specify value-or-range, see .\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p06tf9222dwkbpn1ggwb2vhsscg8\"},{\"name\":\"formatted-value\",\"placeholder\":true,\"description\":\"specifies a character string that becomes the printed value of the variable value that appears on the left side of the equal sign. Formatted values are always character strings, regardless of whether you are creating a character or numeric format.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0xhmapxa097s3n19dzeclcvzkii\"},{\"name\":\"existing-format\",\"placeholder\":true,\"description\":\"specifies a format that is supplied by SAS or an existing user-defined format. The format that you are creating uses the existing format to convert the raw data that is a match for value-or-range on the left side of the equal sign.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1hoonpkyz0laun13xmi244szpda\"},{\"name\":\"functionname\",\"placeholder\":true,\"description\":\"specifies a function that is supplied by SAS or an existing user-defined function.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1uegb5ooxgo43n1no3ngpucsokk\"}],\"supportSiteTargetFile\":\"p1upn25lbfo6mkn1wncu4dyh9q91.htm\"}],\"supportSiteInformation\":{\"docsetId\":\"proc\",\"docsetVersion\":\"v_002\",\"docsetTargetFile\":\"p1xidhqypi0fnwn1if8opjpqpbmn.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/FREQ.json",
    "content": "{\"name\":\"FREQ\",\"statements\":[{\"name\":\"PROC FREQ\",\"description\":\"The FREQ procedure produces one-way to n-way frequency and contingency (crosstabulation) tables. For two-way tables, PROC FREQ computes tests and measures of association. For n-way tables, PROC FREQ provides stratified analysis by computing statistics across, as well as within, strata. † For one-way frequency tables, PROC FREQ computes goodness-of-fit tests for equal proportions or specified null proportions. For one-way tables, PROC FREQ also provides confidence limits and tests for binomial proportions, including tests for noninferiority and equivalence. † For contingency tables, PROC FREQ can compute various statistics to examine the relationships between two classification variables. For some pairs of variables, you might want to examine the existence or strength of any association between the variables. To determine if an association exists, chi-square tests are computed. To estimate the strength of an association, PROC FREQ computes measures of association that tend to be close to zero when there is no association and close to the maximum (or minimum) value when there is perfect association. The statistics for contingency tables include the following: † o chi-square tests and measures o measures of association o risks (binomial proportions) and risk differences for 2 x 2 tables o odds ratios and relative risks for 2 x 2 tables o tests for trend o tests and measures of agreement o Cochran-Mantel-Haenszel statistics\",\"help\":\"PROC FREQ <COMPRESS><DATA=SAS-data-set><FORMCHAR(1,2,7)='formchar-string'><FORMCHAR(1,2,7)='formchar-string'><NLEVELS><NOPRINT><ORDER=DATA | FORMATTED | FREQ... ><PAGE>;     \\n\\tBY variables;\\n\\n\\tEXACT AGREE BARNARD BINOMIAL ...;\\n\\n\\tOUTPUT <AGREE <(WT=FC)>><ALL> OUT=SAS-data-set ...;\\n\\n\\tTABLES <AGREE < (agree-options)>><ALL><ALPHA=α> ...;\\n\\n\\tTEST AGREE GAMMA KAPPA ...;\\n\\n\\tWEIGHT <ZEROS> ;\\n\",\"arguments\":[{\"name\":\"COMPRESS\",\"optional\":true,\"description\":\"Begins display of the next one-way frequency table on the same page as the preceding one-way table if there is enough space to begin the table.\",\"type\":\"standalone\"},{\"name\":\"DATA=\",\"optional\":true,\"description\":\"Names the SAS data set to be analyzed by PROC FREQ.\",\"help\":\"DATA=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"FORMCHAR\",\"optional\":true,\"description\":\"Defines the characters to be used for constructing the outlines and dividers for the cells of crosstabulation table displays.\",\"help\":\"FORMCHAR(1,2,7)='*formchar-string*'\",\"type\":\"value\"},{\"name\":\"FORMCHAR=\",\"optional\":true,\"description\":\"Defines the characters to be used for constructing the outlines and dividers for the cells of crosstabulation table displays.\",\"type\":\"value\"},{\"name\":\"NLEVELS\",\"optional\":true,\"description\":\"Displays the \\\"Number of Variable Levels\\\" table, which provides the number of levels for each variable named in the TABLES statements.\",\"type\":\"standalone\"},{\"name\":\"NOPRINT\",\"optional\":true,\"description\":\"Suppresses the display of all output.\",\"type\":\"standalone\"},{\"name\":\"ORDER=\",\"optional\":true,\"description\":\"Specifies the order of the variable levels in the frequency and crosstabulation tables, which you request in the TABLES statement.\",\"help\":\"ORDER=DATA | FORMATTED | FREQ | INTERNAL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DATA\",\"description\":\"Levels are sorted by the order of appearance in the input data set.\",\"type\":\"standalone\"},{\"name\":\"FORMATTED\",\"description\":\"Levels are sorted by the external formatted value, except for numeric variables with no explicit format, which are sorted by their unformatted (internal) value.\",\"type\":\"standalone\"},{\"name\":\"FREQ\",\"description\":\"Levels are sorted by the descending frequency count; levels with the most observations come first in the order.\",\"type\":\"standalone\"},{\"name\":\"INTERNAL\",\"description\":\"Levels are sorted by the unformatted value.\",\"type\":\"standalone\"}]},{\"name\":\"PAGE\",\"optional\":true,\"description\":\"Displays only one table per page. Otherwise, PROC FREQ displays multiple tables per page as space permits. The PAGE option is not valid with the COMPRESS option.\",\"type\":\"standalone\"}]},{\"name\":\"BY\",\"description\":\"You can specify a BY statement with PROC FREQ to obtain separate analyses of observations in groups that are defined by the BY variables. When a BY statement appears, the procedure expects the input data set to be sorted in order of the BY variables. If you specify more than one BY statement, only the last one specified is used. If your input data set is not sorted in ascending order, use one of the following alternatives: • Sort the data by using the SORT procedure with a similar BY statement. • Specify the NOTSORTED or DESCENDING option in the BY statement for the BCHOICE procedure. The NOTSORTED option does not mean that the data are unsorted but rather that the data are arranged in groups (according to values of the BY variables) and that these groups are not necessarily in alphabetical or increasing numeric order. • Create an index on the BY variables by using the DATASETS procedure (in Base SAS software).\",\"help\":\"BY variables\"},{\"name\":\"EXACT\",\"description\":\"The EXACT statement requests exact tests or confidence limits for the specified statistics. Optionally, PROC FREQ computes Monte Carlo estimates of the exact p-values. The statistic-options specify the statistics to provide exact tests or confidence limits for. The computation-options specify options for the computation of exact statistics.\",\"help\":\"EXACT AGREE BARNARD BINOMIAL ...\",\"arguments\":[{\"name\":\"AGREE\",\"description\":\"Requests McNemar's exact test, an exact test for the simple kappa coefficient, and an exact test for the weighted kappa coefficient. New in SAS 9.3: The FREQ procedure now produces agreement plots when the AGREE option is specified and ODS Graphics is enabled. It also offers a number of alternative confidence limits for the proportion difference, and it provides exact unconditional confidence limits for the proportion difference that are based on the Farrington-Manning score statistic.\",\"type\":\"standalone\"},{\"name\":\"BARNARD\",\"description\":\"Requests Barnard's exact unconditional test for the risk (proportion) difference for 2x2 tables.\",\"type\":\"standalone\"},{\"name\":\"BINOMIAL\",\"aliases\":[\"BIN\"],\"description\":\"Requests an exact test for the binomial proportion (for one-way tables).\",\"type\":\"standalone\"},{\"name\":\"CHISQ\",\"description\":\"Requests the following exact chi-square tests for two-way tables: Pearson chi-square, likelihood ratio chi-square, and Mantel-Haenszel chi-square.\",\"type\":\"standalone\"},{\"name\":\"COMOR\",\"description\":\"Requests an exact test and exact confidence limits for the common odds ratio for multiway 2x2 tables.\",\"type\":\"standalone\"},{\"name\":\"EQOR\",\"aliases\":[\"ZELEN\"],\"description\":\"Requests Zelen's exact test for equal odds ratios for multiway 2x2 tables.\",\"type\":\"standalone\"},{\"name\":\"FISHER\",\"description\":\"Requests Fisher's exact test.\",\"type\":\"standalone\"},{\"name\":\"JT\",\"description\":\"Requests an exact Jonckheere-Terpstra test.\",\"type\":\"standalone\"},{\"name\":\"KAPPA\",\"description\":\"Requests an exact test for the simple kappa coefficient.\",\"type\":\"standalone\"},{\"name\":\"KENTB\",\"aliases\":[\"TAUB\"],\"description\":\"Requests an exact test for Kendall's tau-b\",\"type\":\"standalone\"},{\"name\":\"LRCHI\",\"description\":\"Requests an exact test for the likelihood ratio chi-square for two-way tables.\",\"type\":\"standalone\"},{\"name\":\"MCNEM\",\"description\":\"Requests an exact McNemar's test.\",\"type\":\"standalone\"},{\"name\":\"MEASURES\",\"description\":\"Requests exact tests for the Pearson and Spearman correlations.\",\"type\":\"standalone\"},{\"name\":\"MHCHI\",\"description\":\"Requests an exact test for the Mantel-Haenszel chi-square.\",\"type\":\"standalone\"},{\"name\":\"OR\",\"aliases\":[\"ODDSRATIO\"],\"description\":\"Requests exact confidence limits for the odds ratio for 2x2 tables. You can request exact mid-p confidence limits for the odds ratio by specifying the OR(CL=MIDP) option in the TABLES statement. The OR(CL=) option in the TABLES statement also provides other types of confidence limits for the odds ratio.\",\"type\":\"standalone\"},{\"name\":\"PCHI\",\"description\":\"Requests an exact test for the Pearson chi-square for two-way tables.\",\"type\":\"standalone\"},{\"name\":\"PCORR\",\"description\":\"Requests an exact test for the Pearson correlation coefficient.\",\"type\":\"standalone\"},{\"name\":\"RELRISK=\",\"description\":\"Requests exact unconditional confidence limits for the relative risk for 2x2 tables. You can specify the following options:\",\"help\":\"RELRISK=COLUMN= | METHOD=\",\"type\":\"choice\",\"arguments\":[{\"name\":\"COLUMN=\",\"type\":\"value\"},{\"name\":\"METHOD=\",\"type\":\"value\"}]},{\"name\":\"RISKDIFF=\",\"description\":\"Requests exact unconditional confidence limits for the risk difference for 2x2 tables. You can specify the following options:\",\"help\":\"RISKDIFF=COLUMN= | METHOD=\",\"type\":\"choice\",\"arguments\":[{\"name\":\"COLUMN=\",\"type\":\"value\"},{\"name\":\"METHOD=\",\"type\":\"value\"}]},{\"name\":\"SCORR\",\"description\":\"Requests an exact test for the Spearman correlation coefficient.\",\"type\":\"standalone\"},{\"name\":\"SMDCR\",\"description\":\"Requests an exact test for Sommers' D(C|R)\",\"type\":\"standalone\"},{\"name\":\"SMDRC\",\"description\":\"Test for Somers' D(R|C)\",\"type\":\"standalone\"},{\"name\":\"STUTC\",\"aliases\":[\"TAUC\"],\"description\":\"Requests an exact test for Stuart's tau-c.\",\"type\":\"standalone\"},{\"name\":\"TREND\",\"description\":\"Requests the exact Cochran-Armitage test for trend.\",\"type\":\"standalone\"},{\"name\":\"WTKAP\",\"aliases\":[\"WTKAPPA\"],\"description\":\"Requests an exact test for the weighted kappa coefficient.\",\"type\":\"standalone\"},{\"name\":\"ALPHA=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the level of the confidence limits for Monte Carlo p-value estimates.\",\"type\":\"value\"},{\"name\":\"MAXTIME=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the maximum clock time (in seconds) that PROC FREQ can use to compute an exact p-value.\",\"help\":\"MAXTIME=*value*\",\"type\":\"value\"},{\"name\":\"MC\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"[Requests Monte Carlo estimation of exact p-values instead of direct exact p-value computation.\",\"type\":\"standalone\"},{\"name\":\"MIDP\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests exact mid p-values for the exact tests. The exact mid p-value is defined as the exact p-value minus half the exact point probability.\",\"type\":\"standalone\"},{\"name\":\"N=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the number of samples for Monte Carlo estimation.\",\"help\":\"N=*n*\",\"type\":\"value\"},{\"name\":\"PFORMAT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the display format for exact p-values. PROC FREQ applies this format to one- and two-sided exact p-values, exact point probabilities, and exact mid p-values. By default, PROC FREQ displays exact p-values in the PVALUE6.4 format. You can provide a format-name or you can specify PFORMAT=EXACT to control the format of exact p-values. The value of format-name can be any standard SAS numeric format or a user-defined format. The format length must not exceed 24.\",\"type\":\"value\"},{\"name\":\"POINT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests exact point probabilities for the exact tests. The exact point probability is the exact probability that the test statistic equals the observed value.\",\"type\":\"standalone\"},{\"name\":\"SEED=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the initial seed for random number generation for Monte Carlo estimation. The value of the SEED= option must be an integer. If you do not specify the SEED= option or if the SEED= value is negative or zero, PROC FREQ uses the time of day from the computer's clock to obtain the initial seed.\",\"help\":\"SEED=*number*\",\"type\":\"value\"}]},{\"name\":\"OUTPUT\",\"description\":\"The OUTPUT statement creates a SAS data set that contains statistics computed by PROC FREQ. You specify which statistics to store in the output data set with the OUTPUT statement options. The output data set contains one observation for each two-way table or stratum, and one observation for summary statistics across all strata.\",\"help\":\"OUTPUT &lt;AGREE &lt;(WT=FC)&gt;&gt;&lt;ALL&gt; OUT=SAS-data-set ...\",\"arguments\":[{\"name\":\"OUT=\",\"description\":\"Names the output data set.\",\"help\":\"OUT=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"AGREE=\",\"optional\":true,\"description\":\"Requests tests and measures of classification agreement for square tables.\",\"help\":\"AGREE=WT=\",\"type\":\"choice\",\"arguments\":[{\"name\":\"WT=\",\"type\":\"value\"}]},{\"name\":\"AJCHI\",\"optional\":true,\"description\":\"Includes the continuity-adjusted chi-square in the output data set. The continuity-adjusted chi-square is available for 2X2 tables and is provided by the CHISQ option in the TABLES statement.\",\"type\":\"standalone\"},{\"name\":\"ALL\",\"optional\":true,\"description\":\"Includes all statistics that are requested by the CHISQ , MEASURES , and CMH output-options in the output data set. ALL also includes the number of nonmissing observations, which you can request individually by specifying the N output-option.\",\"type\":\"standalone\"},{\"name\":\"BDCHI\",\"optional\":true,\"description\":\"Includes the Breslow-Day test in the output data set. The Breslow-Day test for homogeneity of odds ratios is computed for multiway 2x2 tables and is provided by the CMH , CMH1 , and CMH2 options in the TABLES statement.\",\"type\":\"standalone\"},{\"name\":\"BINOMIAL\",\"optional\":true,\"aliases\":[\"BIN\"],\"description\":\"Includes the binomial proportion estimate, confidence limits, and tests in the output data set. The BINOMIAL option in the TABLES statement requests computation of binomial statistics, which are available for one-way tables.\",\"type\":\"standalone\"},{\"name\":\"CHISQ\",\"optional\":true,\"description\":\"Includes the following chi-square tests and measures in the output data set for two-way tables: Pearson chi-square, likelihood ratio chi-square, Mantel-Haenszel chi-square, phi coefficient, contingency coefficient, and Cramér's V. For 2x2 tables, CHISQ also includes Fisher's exact test and the continuity-adjusted chi-square in the output data set.\",\"type\":\"standalone\"},{\"name\":\"CMH\",\"optional\":true,\"description\":\"Includes the following Cochran-Mantel-Haenszel statistics in the output data set: correlation, row mean scores (ANOVA), and general association. For 2X2 tables, the CMH option also includes the Mantel-Haenszel and logit estimates of the common odds ratio and relative risks. For multiway (stratified) 2x2 tables, the CMH option includes the Breslow-Day test for homogeneity of odds ratios. The CMH option in the TABLES statement requests computation of these statistics.\",\"type\":\"standalone\"},{\"name\":\"CMH1\",\"optional\":true,\"description\":\"Includes the CMH statistics in the output data set, with the exception of the row mean scores (ANOVA) statistic and the general association statistic. The CMH1 option in the TABLES statement requests computation of these statistics.\",\"type\":\"standalone\"},{\"name\":\"CMH2\",\"optional\":true,\"description\":\"Includes the CMH statistics in the output data set, with the exception of the general association statistic. The CMH2 option in the TABLES statement requests computation of these statistics.\",\"type\":\"standalone\"},{\"name\":\"CMHCOR\",\"optional\":true,\"description\":\"Includes the Cochran-Mantel-Haenszel correlation statistic in the output data set. The CMH option in the TABLES statement requests computation of this statistic.\",\"type\":\"standalone\"},{\"name\":\"CMHGA\",\"optional\":true,\"description\":\"Includes the Cochran-Mantel-Haenszel general association statistic in the output data set. The CMH option in the TABLES statement requests computation of this statistic.\",\"type\":\"standalone\"},{\"name\":\"CMHRMS\",\"optional\":true,\"description\":\"Includes the Cochran-Mantel-Haenszel row mean scores (ANOVA) statistic in the output data set. The CMH option in the TABLES statement requests computation of this statistic.\",\"type\":\"standalone\"},{\"name\":\"COCHQ\",\"optional\":true,\"description\":\"Includes Cochran's Q test in the output data set. The AGREE option in the TABLES statement requests computation of this test, which is available for multiway 2x2 tables.\",\"type\":\"standalone\"},{\"name\":\"CONTGY\",\"optional\":true,\"description\":\"Includes the contingency coefficient in the output data set. The CHISQ option in the TABLES statement requests computation of the contingency coefficient.\",\"type\":\"standalone\"},{\"name\":\"CRAMV\",\"optional\":true,\"description\":\"Includes Cramér's V in the output data set. The CHISQ option in the TABLES statement requests computation of Cramér's V.\",\"type\":\"standalone\"},{\"name\":\"EQKAP\",\"optional\":true,\"description\":\"Includes the test for equal simple kappa coefficients in the output data set. The AGREE option in the TABLES statement requests computation of this test, which is available for multiway, square (h x r x r) tables.\",\"type\":\"standalone\"},{\"name\":\"EQOR\",\"optional\":true,\"aliases\":[\"ZELEN\"],\"description\":\"Includes Zelen's exact test for equal odds ratios in the output data set. The EQOR option in the EXACT statement requests computation of this test, which is available for multiway 2x2 tables.\",\"type\":\"standalone\"},{\"name\":\"EQWKP\",\"optional\":true,\"description\":\"Includes the test for equal weighted kappa coefficients in the output data set. The AGREE option in the TABLES statement requests computation of this test. The test for equal weighted kappas is available for multiway, square (h x r x r) tables where r > 2.\",\"type\":\"standalone\"},{\"name\":\"FISHER\",\"optional\":true,\"description\":\"Includes Fisher's exact test in the output data set. For 2x2 tables, the CHISQ option in the TABLES statement provides Fisher's exact test. For tables larger than 2x2, the FISHER option in the EXACT statement provides Fisher's exact test.\",\"type\":\"standalone\"},{\"name\":\"GAILSIMON\",\"optional\":true,\"aliases\":[\"GS\"],\"description\":\"Includes the Gail-Simon test for qualitative interaction in the output data set. The CMH(GAILSIMON) option in the TABLES statement requests computation of this test.\",\"type\":\"standalone\"},{\"name\":\"GAMMA\",\"optional\":true,\"description\":\"Includes the gamma statistic in the output data set. The MEASURES option in the TABLES statement requests computation of the gamma statistic.\",\"type\":\"standalone\"},{\"name\":\"JT\",\"optional\":true,\"description\":\"Includes the Jonckheere-Terpstra test in the output data set. The JT option in the TABLES statement requests the Jonckheere-Terpstra test.\",\"type\":\"standalone\"},{\"name\":\"KAPPA\",\"optional\":true,\"description\":\"Includes the simple kappa coefficient in the output data set. The AGREE option in the TABLES statement requests computation of kappa, which is available for square tables (where the number of rows equals the number of columns). For multiway square tables, the KAPPA option also includes the overall kappa coefficient in the output data set.\",\"type\":\"standalone\"},{\"name\":\"KENTB\",\"optional\":true,\"aliases\":[\"TAUB\"],\"description\":\"Includes Kendall's tau-b in the output data set. The MEASURES option in the TABLES statement requests computation of Kendall's tau-b.\",\"type\":\"standalone\"},{\"name\":\"LAMCR\",\"optional\":true,\"description\":\"Includes the asymmetric lambda in the output data set. The MEASURES option in the TABLES statement requests computation of lambda.\",\"type\":\"standalone\"},{\"name\":\"LAMDAS\",\"optional\":true,\"description\":\"Includes the symmetric lambda in the output data set. The MEASURES option in the TABLES statement requests computation of lambda.\",\"type\":\"standalone\"},{\"name\":\"LAMRC\",\"optional\":true,\"description\":\"Includes the asymmetric lambda in the output data set. The MEASURES option in the TABLES statement requests computation of lambda.\",\"type\":\"standalone\"},{\"name\":\"LGOR\",\"optional\":true,\"description\":\"Includes the logit estimate of the common odds ratio in the output data set. The CMH option in the TABLES statement requests computation of this statistic, which is available for 2x2 tables.\",\"type\":\"standalone\"},{\"name\":\"LGRRC1\",\"optional\":true,\"description\":\"Includes the logit estimate of the common relative risk (column 1) in the output data set. The CMH option in the TABLES statement requests computation of this statistic, which is available for 2x2 tables.\",\"type\":\"standalone\"},{\"name\":\"LGRRC2\",\"optional\":true,\"description\":\"Includes the logit estimate of the common relative risk (column 2) in the output data set. The CMH option in the TABLES statement requests computation of this statistic, which is available for 2x2 tables.\",\"type\":\"standalone\"},{\"name\":\"LRCHI\",\"optional\":true,\"description\":\"Includes the likelihood ratio chi-square in the output data set. The CHISQ option in the TABLES statement requests computation of the likelihood ratio chi-square.\",\"type\":\"standalone\"},{\"name\":\"MCNEM\",\"optional\":true,\"description\":\"Includes McNemar's test (for 2x2 tables) in the output data set. The AGREE option in the TABLES statement requests computation of McNemar's test.\",\"type\":\"standalone\"},{\"name\":\"MEASURES\",\"optional\":true,\"description\":\"Includes the following measures of association in the output data set: gamma, Kendall's tau-b, Stuart's tau-c, Somers' D(C|R), Somers' D(R|C)), Pearson and Spearman correlation coefficients, lambda (symmetric and asymmetric), and uncertainty coefficients (symmetric and asymmetric). For 2x2 tables, the MEASURES option also includes the odds ratio, column 1 relative risk, and column 2 relative risk. The MEASURES option in the TABLES statement requests computation of these statistics.\",\"type\":\"standalone\"},{\"name\":\"MHCHI\",\"optional\":true,\"description\":\"Includes the Mantel-Haenszel chi-square in the output data set. The CHISQ option in the TABLES statement requests computation of the Mantel-Haenszel chi-square.\",\"type\":\"standalone\"},{\"name\":\"MHOR\",\"optional\":true,\"aliases\":[\"COMOR\"],\"description\":\"Includes the Mantel-Haenszel estimate of the common odds ratio in the output data set. The CMH option in the TABLES statement requests computation of this statistic, which is available for 2x2 tables.\",\"type\":\"standalone\"},{\"name\":\"MHRRC1\",\"optional\":true,\"description\":\"Includes the Mantel-Haenszel estimate of the common relative risk (column 1) in the output data set. The CMH option in the TABLES statement requests computation of this statistic, which is available for 2x2 tables.\",\"type\":\"standalone\"},{\"name\":\"MHRRC2\",\"optional\":true,\"description\":\"Includes the Mantel-Haenszel estimate of the common relative risk (column 2) in the output data set. The CMH option in the TABLES statement requests computation of this statistic, which is available for 2x2 tables.\",\"type\":\"standalone\"},{\"name\":\"N\",\"optional\":true,\"description\":\"Includes the number of nonmissing observations in the output data set.\",\"type\":\"standalone\"},{\"name\":\"NMISS\",\"optional\":true,\"description\":\"Includes the number of missing observations in the output data set.\",\"type\":\"standalone\"},{\"name\":\"OR\",\"optional\":true,\"aliases\":[\"ODDSRATIO\",\"RROR\"],\"description\":\"Includes the odds ratio (for 2x2 tables) in the output data set. The MEASURES, OR, and RELRISK options in the TABLES statement request this statistic.\",\"type\":\"standalone\"},{\"name\":\"PCHI\",\"optional\":true,\"description\":\"Includes the Pearson chi-square in the output data set for two-way tables.\",\"type\":\"standalone\"},{\"name\":\"PCORR\",\"optional\":true,\"description\":\"Includes the Pearson correlation coefficient in the output data set. The MEASURES option in the TABLES statement requests computation of the Pearson correlation.\",\"type\":\"standalone\"},{\"name\":\"PHI\",\"optional\":true,\"description\":\"Includes the phi coefficient in the output data set. The CHISQ option in the TABLES statement requests computation of the phi coefficient.\",\"type\":\"standalone\"},{\"name\":\"PLCORR\",\"optional\":true,\"description\":\"Includes the polychoric correlation coefficient in the output data set. For 2x2 tables, this statistic is known as the tetrachoric correlation coefficient. The PLCORR option in the TABLES statement requests computation of the polychoric correlation.\",\"type\":\"standalone\"},{\"name\":\"RDIF1\",\"optional\":true,\"description\":\"Includes the column 1 risk difference (row 1 – row 2) in the output data set. The RISKDIFF option in the TABLES statement requests computation of risks and risk differences, which are available for 2x2 tables.\",\"type\":\"standalone\"},{\"name\":\"RDIF2\",\"optional\":true,\"description\":\"Includes the column 2 risk difference (row 1 – row 2) in the output data set. The RISKDIFF option in the TABLES statement requests computation of risks and risk differences, which are available for 2x2 tables.\",\"type\":\"standalone\"},{\"name\":\"RELRISK\",\"optional\":true,\"description\":\"Includes the column 1 and column 2 relative risks (for 2x2 tables) in the output data set. The MEASURES and RELRISK options in the TABLES statement request these statistics.\",\"type\":\"standalone\"},{\"name\":\"RISKDIFF\",\"optional\":true,\"description\":\"Includes risks (binomial proportions) and risk differences for 2x2 tables in the output data set. These statistics include the row 1 risk, row 2 risk, total (overall) risk, and risk difference (row 1 – row 2) for column 1 and column 2. The RISKDIFF option in the TABLES statement requests computation of these statistics\",\"type\":\"standalone\"},{\"name\":\"RISKDIFF1\",\"optional\":true,\"description\":\"Includes column 1 risks (binomial proportions) and risk differences for 2x2 tables in the output data set. These statistics include the row 1 risk, row 2 risk, total (overall) risk, and risk difference (row 1 – row 2). The RISKDIFF option in the TABLES statement requests computation of these statistics.\",\"type\":\"standalone\"},{\"name\":\"RISKDIFF2\",\"optional\":true,\"description\":\"Includes column 2 risks (binomial proportions) and risk differences for 2x2 tables in the output data set. These statistics include the row 1 risk, row 2 risk, total (overall) risk, and risk difference (row 1 – row 2). The RISKDIFF option in the TABLES statement requests computation of these statistics.\",\"type\":\"standalone\"},{\"name\":\"RRC1\",\"optional\":true,\"aliases\":[\"RELRISK1\"],\"description\":\"Includes the column 1 relative risk in the output data set. The MEASURES and RELRISK options in the TABLES statement request relative risks, which are available for 2x2 tables.\",\"type\":\"standalone\"},{\"name\":\"RRC2\",\"optional\":true,\"aliases\":[\"RELRISK2\"],\"description\":\"Includes the column 2 relative risk in the output data set. The MEASURES and RELRISK options in the TABLES statement request relative risks, which are available for 2x2 tables.\",\"type\":\"standalone\"},{\"name\":\"RSK11\",\"optional\":true,\"aliases\":[\"RISK11\"],\"description\":\"Includes the column 1 risk for row 1 in the output data set. The RISKDIFF option in the TABLES statement requests computation of risks and risk differences, which are available for 2x2 tables.\",\"type\":\"standalone\"},{\"name\":\"RSK12\",\"optional\":true,\"aliases\":[\"RISK12\"],\"description\":\"Includes the column 2 risk for row 1 in the output data set. The RISKDIFF option in the TABLES statement requests computation of risks and risk differences, which are available for 2x2 tables.\",\"type\":\"standalone\"},{\"name\":\"RSK1\",\"optional\":true,\"aliases\":[\"RISK1\"],\"description\":\"Includes the overall column 1 risk in the output data set. The RISKDIFF option in the TABLES statement requests computation of risks and risk differences, which are available for 2x2 tables.\",\"type\":\"standalone\"},{\"name\":\"RSK21\",\"optional\":true,\"aliases\":[\"RISK21\"],\"description\":\"Includes the column 1 risk for row 2 in the output data set. The RISKDIFF option in the TABLES statement requests computation of risks and risk differences, which are available for 2x2 tables.\",\"type\":\"standalone\"},{\"name\":\"RSK22\",\"optional\":true,\"description\":\"Includes the column 2 risk for row 2 in the output data set. The RISKDIFF option in the TABLES statement requests computation of risks and risk differences, which are available for 2x2 tables.\",\"type\":\"standalone\"},{\"name\":\"RSK2\",\"optional\":true,\"aliases\":[\"RISK2\"],\"description\":\"Includes the overall column 2 risk in the output data set. The RISKDIFF option in the TABLES statement requests computation of risks and risk differences.\",\"type\":\"standalone\"},{\"name\":\"SCORR\",\"optional\":true,\"description\":\"Includes the Spearman correlation coefficient in the output data set. The MEASURES option in the TABLES statement requests computation of the Spearman correlation.\",\"type\":\"standalone\"},{\"name\":\"SMDCR\",\"optional\":true,\"description\":\"includes Somers' D(C|R) in the output data set. The MEASURES option in the TABLES statement requests computation of Somers' D.\",\"type\":\"standalone\"},{\"name\":\"SMDRC\",\"optional\":true,\"description\":\"includes Somers' D(R|C) in the output data set. The MEASURES option in the TABLES statement requests computation of Somers' D\",\"type\":\"standalone\"},{\"name\":\"STUTC\",\"optional\":true,\"aliases\":[\"TAUC\"],\"description\":\"Includes Stuart's tau-c in the output data set. The MEASURES option in the TABLES statement requests computation of tau-c.\",\"type\":\"standalone\"},{\"name\":\"TREND\",\"optional\":true,\"description\":\"Includes the Cochran-Armitage test for trend in the output data set. The TREND option in the TABLES statement requests computation of the trend test. This test is available for tables of dimension 2 x C or R x 2.\",\"type\":\"standalone\"},{\"name\":\"TSYMM\",\"optional\":true,\"aliases\":[\"BOWKER\"],\"description\":\"Includes Bowker's test of symmetry in the output data set. The AGREE option in the TABLES statement requests computation of Bowker's test.\",\"type\":\"standalone\"},{\"name\":\"U\",\"optional\":true,\"description\":\"Includes the uncertainty coefficient (symmetric) in the output data set. The MEASURES option in the TABLES statement requests computation of the uncertainty coefficient.\",\"type\":\"standalone\"},{\"name\":\"UCR\",\"optional\":true,\"description\":\"Includes the asymmetric uncertainty coefficient U(C|R) in the output data set. The MEASURES option in the TABLES statement requests computation of the uncertainty coefficient.\",\"type\":\"standalone\"},{\"name\":\"URC\",\"optional\":true,\"description\":\"Includes the asymmetric uncertainty coefficient U(R|C) in the output data set. The MEASURES option in the TABLES statement requests computation of the uncertainty coefficient.\",\"type\":\"standalone\"},{\"name\":\"WTKAP\",\"optional\":true,\"aliases\":[\"WTKAPPA\"],\"description\":\"Includes the weighted kappa coefficient in the output data set. The AGREE option in the TABLES statement requests computation of weighted kappa, which is available for square tables larger than 2 x 2. For multiway tables, the WTKAP option also includes the overall weighted kappa coefficient in the output data set.\",\"type\":\"standalone\"}]},{\"name\":\"TABLES\",\"aliases\":[\"TABLE\"],\"description\":\"The TABLES statement requests one-way to n-way frequency and crosstabulation tables and statistics for those tables. If you omit the TABLES statement, PROC FREQ generates one-way frequency tables for all data set variables that are not listed in the other statements.\",\"help\":\"TABLES &lt;AGREE &lt; (agree-options)&gt;&gt;&lt;ALL&gt;&lt;ALPHA=α&gt; ...\",\"arguments\":[{\"name\":\"AGREE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests tests and measures of classification agreement for square tables. You can specify the following agree-options:\",\"help\":\"AGREE=WT | MNULLRATIO= | PRINTKWTS\",\"type\":\"choice\",\"arguments\":[{\"name\":\"WT\",\"type\":\"standalone\"},{\"name\":\"MNULLRATIO=\",\"type\":\"value\"},{\"name\":\"PRINTKWTS\",\"type\":\"standalone\"}]},{\"name\":\"ALL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests all of the tests and measures that are computed by the CHISQ, MEASURES, and CMH options.\",\"type\":\"standalone\"},{\"name\":\"ALPHA=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the level of confidence limits. The value of α must be between 0 and 1, and the default is 0.05.\",\"type\":\"value\"},{\"name\":\"BINOMIAL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"BIN\"],\"description\":\"Requests the binomial proportion for one-way tables. BINOMIAL Options:\",\"help\":\"BINOMIAL=CORRECT | EQUIV | EQUIVALENCE | LEVEL= | MARGIN= | NONINF | NONINFERIORITY | OUTLEVEL | P= | SUP | SUPERIORITY | CL= | VAR=\",\"type\":\"choice\",\"arguments\":[{\"name\":\"CORRECT\",\"type\":\"standalone\"},{\"name\":\"EQUIV\",\"type\":\"standalone\"},{\"name\":\"EQUIVALENCE\",\"type\":\"standalone\"},{\"name\":\"LEVEL=\",\"type\":\"value\"},{\"name\":\"MARGIN=\",\"type\":\"value\"},{\"name\":\"NONINF\",\"type\":\"standalone\"},{\"name\":\"NONINFERIORITY\",\"type\":\"standalone\"},{\"name\":\"OUTLEVEL\",\"type\":\"standalone\"},{\"name\":\"P=\",\"type\":\"value\"},{\"name\":\"SUP\",\"type\":\"standalone\"},{\"name\":\"SUPERIORITY\",\"type\":\"standalone\"},{\"name\":\"CL=\",\"type\":\"value\"},{\"name\":\"VAR=\",\"type\":\"value\"}]},{\"name\":\"CELLCHI2\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays each crosstabulation table cell's contribution to the total Pearson chi-square statistic in the crosstabulation table.\",\"type\":\"standalone\"},{\"name\":\"CHISQ=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests chi-square tests of homogeneity or independence and measures of association that are based on the chi-square statistic. For two-way tables, the chi-square tests include the Pearson chi-square, likelihood ratio chi-square, and Mantel-Haenszel chi-square tests. The chi-square measures include the phi coefficient, contingency coefficient, and Cramér's V. For tables, the CHISQ option also provides Fisher's exact test and the continuity-adjusted chi-square test. For one-way tables, the CHISQ option provides the Pearson chi-square goodness-of-fit test. You can also request the likelihood ratio goodness-of-fit test for one-way tables by specifying the LRCHISQ chisq-option in parentheses after the CHISQ option. By default, the one-way chi-square tests are based on the null hypothesis of equal proportions. Alternatively, you can provide null hypothesis proportions or frequencies by specifying the TESTP= or TESTF= chisq-option, respectively. You can specify the following chisq-options in parentheses after the CHISQ option:\",\"help\":\"CHISQ=DF= | LRCHI | TESTF= | TESTP= | WARN=\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DF=\",\"type\":\"value\"},{\"name\":\"LRCHI\",\"type\":\"standalone\"},{\"name\":\"TESTF=\",\"type\":\"value\"},{\"name\":\"TESTP=\",\"type\":\"value\"},{\"name\":\"WARN=\",\"type\":\"value\"}]},{\"name\":\"CL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests confidence limits for the measures of association, which you can request by specifying the MEASURES option.\",\"type\":\"standalone\"},{\"name\":\"CMH=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests Cochran-Mantel-Haenszel statistics, which test for association between the row and column variables after adjusting for the remaining variables in a multiway table. The Cochran-Mantel-Haenszel statistics include the nonzero correlation statistic, the row mean scores (ANOVA) statistic, and the general association statistic. In addition, for $2 \\\\times 2$ tables, the CMH option provides the adjusted Mantel-Haenszel and logit estimates of the odds ratio and relative risks, together with their confidence limits. For stratified 2x2 tables, the CMH option provides the Breslow-Day test for homogeneity of odds ratios. (To request Tarone's adjustment for the Breslow-Day test, specify the BDT cmh-option.) You can specify the following cmh-options in parentheses after the CMH option.\",\"help\":\"CMH=BDT | GAILSIMON | GS | MANTELFLEISS | MF\",\"type\":\"choice\",\"arguments\":[{\"name\":\"BDT\",\"type\":\"standalone\"},{\"name\":\"GAILSIMON\",\"type\":\"standalone\"},{\"name\":\"GS\",\"type\":\"standalone\"},{\"name\":\"MANTELFLEISS\",\"type\":\"standalone\"},{\"name\":\"MF\",\"type\":\"standalone\"}]},{\"name\":\"CMH1=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests the Cochran-Mantel-Haenszel correlation statistic. This option does not provide the CMH row mean scores (ANOVA) statistic or the general association statistic, which are provided by the CMH option. You can specify the following cmh-options in parentheses after the CMH option.\",\"help\":\"CMH1=BDT | GAILSIMON | GS | MANTELFLEISS | MF\",\"type\":\"choice\",\"arguments\":[{\"name\":\"BDT\",\"type\":\"standalone\"},{\"name\":\"GAILSIMON\",\"type\":\"standalone\"},{\"name\":\"GS\",\"type\":\"standalone\"},{\"name\":\"MANTELFLEISS\",\"type\":\"standalone\"},{\"name\":\"MF\",\"type\":\"standalone\"}]},{\"name\":\"CMH2=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests the Cochran-Mantel-Haenszel correlation statistic and the row mean scores (ANOVA) statistic. This option does not provide the CMH general association statistic, which is provided by the CMH option. You can specify the following cmh-options in parentheses after the CMH option.\",\"help\":\"CMH2=BDT | GAILSIMON | GS | MANTELFLEISS | MF\",\"type\":\"choice\",\"arguments\":[{\"name\":\"BDT\",\"type\":\"standalone\"},{\"name\":\"GAILSIMON\",\"type\":\"standalone\"},{\"name\":\"GS\",\"type\":\"standalone\"},{\"name\":\"MANTELFLEISS\",\"type\":\"standalone\"},{\"name\":\"MF\",\"type\":\"standalone\"}]},{\"name\":\"CONTENTS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the label to use for crosstabulation tables in the contents file, the Results window, and the trace record.\",\"help\":\"CONTENTS='*string*'\",\"type\":\"value\"},{\"name\":\"CROSSLIST=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays crosstabulation tables in ODS column format instead of the default crosstabulation cell format. You can specify the following options:\",\"help\":\"CROSSLIST=STDRES | PEARSONRES\",\"type\":\"choice\",\"arguments\":[{\"name\":\"STDRES\",\"type\":\"standalone\"},{\"name\":\"PEARSONRES\",\"type\":\"standalone\"}]},{\"name\":\"CUMCOL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays the cumulative column percentages in the cells of the crosstabulation table.\",\"type\":\"standalone\"},{\"name\":\"DEVIATION\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays the deviations of the frequencies from the expected frequencies (frequency – expected) in the crosstabulation table.\",\"type\":\"standalone\"},{\"name\":\"EXPECTED\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays the expected cell frequencies in the crosstabulation table. The expected frequencies are computed under the null hypothesis that the row and column variables are independent.\",\"type\":\"standalone\"},{\"name\":\"FISHER\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests Fisher's exact test for tables that are larger than 2x2.\",\"type\":\"standalone\"},{\"name\":\"FORMAT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies a format for the following crosstabulation table cell values: frequency, expected frequency, and deviation.\",\"help\":\"FORMAT=*format-name*\",\"type\":\"value\"},{\"name\":\"GAILSIMON\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"GS\"],\"description\":\"Syntax: GAILSIMON < (COLUMN=1 | 2)> GS < (COLUMN=1 | 2)> Requests the Gail-Simon test for qualitative interaction, which applies to stratified 2x2 tables.\",\"type\":\"standalone\"},{\"name\":\"JT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests the Jonckheere-Terpstra test.\",\"type\":\"standalone\"},{\"name\":\"LIST\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays two-way and multiway tables by using a list format instead of the default crosstabulation cell format. This option displays an entire multiway table in one table, instead of displaying a separate two-way table for each stratum.\",\"type\":\"standalone\"},{\"name\":\"MAXITER=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the maximum number of iterations for computing the polychoric correlation, which you request with the PLCORR option.\",\"type\":\"value\"},{\"name\":\"MAXLEVELS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the maximum number of variable levels to display in one-way frequency tables. The value of n must be a positive integer. PROC FREQ displays the first n variable levels, matching the order in which the levels appear in the one-way frequency table.\",\"type\":\"value\"},{\"name\":\"MEASURES\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests measures of association and their asymptotic standard errors. This option provides the following measures: gamma, Kendall's tau-b, Stuart's tau-c, Somers' D(C|R), Somers' D(R|C), Pearson and Spearman correlation coefficients, lambda (symmetric and asymmetric), and uncertainty coefficients (symmetric and asymmetric). If you specify the CL option in parentheses after the MEASURES option, PROC FREQ provides confidence limits for the measures of association.\",\"type\":\"standalone\"},{\"name\":\"MISSING\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Treats missing values as a valid nonmissing level for all TABLES variables.\",\"type\":\"standalone\"},{\"name\":\"MISSPRINT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays missing value frequencies in frequency and crosstabulation tables but does not include the missing value frequencies in any computations of percentages, tests, or measures\",\"type\":\"standalone\"},{\"name\":\"NOCOL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Suppresses the display of column percentages in crosstabulation table.\",\"type\":\"standalone\"},{\"name\":\"NOCUM\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Suppresses the display of cumulative frequencies and percentages in one-way frequency tables.\",\"type\":\"standalone\"},{\"name\":\"NOFREQ\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Suppresses the display of cell frequencies in crosstabulation tables.\",\"type\":\"standalone\"},{\"name\":\"NOPERCENT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Suppresses the display of overall percentages in crosstabulation tables.\",\"type\":\"standalone\"},{\"name\":\"NOPRINT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Suppresses the display of frequency and crosstabulation tables but displays all requested tests and statistics.\",\"type\":\"standalone\"},{\"name\":\"NOROW\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses the display of row percentages in crosstabulation table cells.\",\"type\":\"standalone\"},{\"name\":\"NOSPARSE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Suppresses zero-frequency cells in the LIST table, CROSSLIST table, and OUT= data set.\",\"type\":\"standalone\"},{\"name\":\"NOWARN\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Suppresses the log warning message for the validity of the asymptotic Pearson chi-square test. By default, PROC FREQ provides a validity warning for the asymptotic Pearson chi-square test when more than 20cells have expected frequencies that are less than 5. This warning message appears in the log if you specify the NOPRINT option in the PROC FREQ statement.\",\"type\":\"standalone\"},{\"name\":\"ODDSRATIO=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"OR\"],\"description\":\"Requests the odds ratio and confidence limits for 2x2 tables. Specifying the OR option without the CL= option is equivalent to specifying the RELRISK option, which produces the \\\"Odds Ratio and Relative Risks\\\" table. When you specify the OR(CL=) option, PROC FREQ does not produce the \\\"Odds Ratio and Relative Risks\\\" table unless you also specify the RELRISK or MEASURES option. You can specify the following types:\",\"help\":\"ODDSRATIO=CL= | EXACT | LR | MIDP | SCORE | CORRECT= | WALD | WALDMODIFIED\",\"type\":\"choice\",\"arguments\":[{\"name\":\"CL=\",\"type\":\"value\"},{\"name\":\"EXACT\",\"type\":\"standalone\"},{\"name\":\"LR\",\"type\":\"standalone\"},{\"name\":\"MIDP\",\"type\":\"standalone\"},{\"name\":\"SCORE\",\"type\":\"standalone\"},{\"name\":\"CORRECT=\",\"type\":\"value\"},{\"name\":\"WALD\",\"type\":\"standalone\"},{\"name\":\"WALDMODIFIED\",\"type\":\"standalone\"}]},{\"name\":\"OUT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Names an output data set that contains frequency or crosstabulation table counts and percentages.\",\"help\":\"OUT=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"OUTCUM\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Includes cumulative frequencies and cumulative percentages in the OUT= data set for one-way tables.\",\"type\":\"standalone\"},{\"name\":\"OUTEXPECT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Includes expected cell frequencies in the OUT= data set for crosstabulation tables.\",\"type\":\"standalone\"},{\"name\":\"OUTPCT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Includes the following additional variables in the OUT= data set for crosstabulation tables: PCT_COL percentage of column frequency PCT_ROW percentage of row frequency\",\"type\":\"standalone\"},{\"name\":\"PLCORR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests the polychoric correlation coefficient and its asymptotic standard error. For 2x2 tables, this statistic is more commonly known as the tetrachoric correlation coefficient, and it is labeled as such in the displayed output. You can specify the following options:\",\"help\":\"PLCORR=CONVERGE= | MAXITER=\",\"type\":\"choice\",\"arguments\":[{\"name\":\"CONVERGE=\",\"type\":\"value\"},{\"name\":\"MAXITER=\",\"type\":\"value\"}]},{\"name\":\"PLOTS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests plots for PROC FREQ to produce by using ODS Graphics. Syntax: PLOTS < ( global-plot-options ) > < = plot-request < ( plot-options ) > PLOTS < ( global-plot-options ) > < = ( plot-request < (plot-options) > <...plot-request < (plot-options ) >> )> You can specify the following global-plot-option:\",\"help\":\"PLOTS=ALL | AGREEPLOT | CUMFREQPLOT | DEVIATIONPLOT | FREQPLOT | KAPPAPLOT | MOSAICPLOT | NONE | ODDSRATIOPLOT | RELRISKPLOT | RISKDIFFPLOT | WTKAPPAPLOT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ALL\",\"followsDelimiter\":\"/\",\"description\":\"Requests all plots associated with the specified analyses. If you specify the PLOTS=ALL option, PROC FREQ produces the frequency, cumulative frequency, and mosaic plots that are associated with the tables that you request. (These plots are not produced by default when ODS Graphics is enabled.)\",\"type\":\"standalone\"},{\"name\":\"AGREEPLOT\",\"followsDelimiter\":\"/\",\"description\":\"Syntax: AGREEPLOT < (plot-options)> Requests an agreement plot (Bangdiwala and Bryan 1987), An agreement plot displays the strength of agreement in a two-way table, where the row and column variables represent two independent ratings of n subjects. The following plot-options that are available for agreement plots: LEGEND= NO | YES legend PARTIAL= NO | YES partial agreement SHOWSCALE= NO | YES Frequency scale STATS Statistics\",\"type\":\"standalone\"},{\"name\":\"CUMFREQPLOT\",\"followsDelimiter\":\"/\",\"description\":\"Syntax: CUMFREQPLOT <(plot-options)> Requests a plot of cumulative frequencies. Cumulative frequency plots are available for one-way frequency tables. The following plot-options are available for CUMFREQPLOT: ORIENT=, SCALE=, and TYPE=.\",\"type\":\"standalone\"},{\"name\":\"DEVIATIONPLOT\",\"followsDelimiter\":\"/\",\"description\":\"Syntax: DEVIATIONPLOT <(plot-options)> Requests a plot of relative deviations from expected frequencies. Deviation plots are available for chi-square analysis of one-way frequency tables. The following plot-options are available for DEVIATIONPLOT: NOSTAT, ORIENT=, and TYPE=.\",\"type\":\"standalone\"},{\"name\":\"FREQPLOT\",\"followsDelimiter\":\"/\",\"description\":\"Syntax: FREQPLOT <(plot-options)> Requests a frequency plot. Frequency plots are available for frequency and crosstabulation tables. For multiway tables, PROC FREQ provides a two-way frequency plot for each stratum. You can specify the following plot-options for all frequency plots: ORIENT= HORIZONTAL | VERTICAL SCALE= FREQ | GROUPPERCENT | LOG | PERCENT | SQRT TYPE= BARCHART | DOTPLOT You can specify the following plot-options for frequency plots of two-way (and multiway) tables: GROUPBY= COLUMN | ROW NPANELPOS= number TWOWAY= CLUSTER | GROUPHORIZONTAL | GROUPVERTICAL\",\"type\":\"standalone\"},{\"name\":\"KAPPAPLOT\",\"followsDelimiter\":\"/\",\"description\":\"Syntax: KAPPAPLOT <(plot-options)> Requests a plot of kappa statistics along with confidence limits. Kappa plots are available for multiway square tables and display the kappa statistic (with confidence limits) for each two-way table (stratum). The following plot-options are available for KAPPAPLOT: CLDISPLAY= BAR | LINE | LINEARROW | SERIF | SERIFARROW Error bar type COMMON= NO | YES Overall kappa NPANELPOS= number Statistics per graphic ORDER= ASCENDING | DESCENDING Order of two-way levels RANGE= values | CLIP Range to display STATS Statistic values\",\"type\":\"standalone\"},{\"name\":\"MOSAICPLOT\",\"followsDelimiter\":\"/\",\"description\":\"Syntax: MOSAICPLOT <(plot-option)> Requests a mosaic plot. Mosaic plots are available for two-way and multiway crosstabulation tables; for multiway tables, PROC FREQ provides a mosaic plot for each two-way table (stratum). You can specify the following plot-options: COLORSTAT < =PEARSONRES | STDRES> colors the mosaic plot tiles according to the values of residuals. If you specify COLORSTAT=PEARSONRES, the tiles are colored according to the Pearson residuals of the corresponding table cells. If you specify COLORSTAT=STDRES, the tiles are colored according to the standardized residuals of the corresponding table cells. SQUARE produces a square mosaic plot, where the height of the Y axis equals the width of the X axis.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"followsDelimiter\":\"/\",\"description\":\"Suppresses all plots.\",\"type\":\"standalone\"},{\"name\":\"ODDSRATIOPLOT\",\"followsDelimiter\":\"/\",\"description\":\"Syntax: ODDSRATIOPLOT <(plot-options)> Requests a plot of odds ratios and confidence limits for a multiway table. Odds ratio plots are available for multiway 2x2 tables and display the odds ratio (with confidence limits) for each 2x2 table (stratum). To produce an odds ratio plot, you must also specify the MEASURES , OR , or RELRISK option in the TABLES statement to compute the odds ratios. The following plot-options are available: CL=EXACT | LR | MIDP | SCORE | WALD | WALDMODIFIED Confidence limit CLDISPLAY= BAR | LINE | LINEARROW | SERIF | SERIFARROW Error bar type COLUMN= 1 | 2 Risk column COMMON= NO | YES Common value LOGBASE= 2 | E | 10 Axis scale NPANELPOS= number Statistics per graphic ORDER= ASCENDING | DESCENDING Order of two-way levels RANGE=values | CLIP Range to display STATS Statistic values\",\"type\":\"standalone\"},{\"name\":\"RELRISKPLOT\",\"followsDelimiter\":\"/\",\"description\":\"Syntax: RELRISKPLOT < (plot-options)> Requests a plot of relative risks along with confidence limits. Relative risk plots are available for multiway 2x2 tables and display the relative risk (with confidence limits) for each 2x2 table (stratum). The following plot-options are available: CL=EXACT | LR | MIDP | SCORE | WALD | WALDMODIFIED Confidence limit CLDISPLAY= BAR | LINE | LINEARROW | SERIF | SERIFARROW Error bar type COLUMN= 1 | 2 Risk column COMMON= NO | YES Common value LOGBASE= 2 | E | 10 Axis scale NPANELPOS= number Statistics per graphic ORDER= ASCENDING | DESCENDING Order of two-way levels RANGE=values | CLIP Range to display STATS Statistic values\",\"type\":\"standalone\"},{\"name\":\"RISKDIFFPLOT\",\"followsDelimiter\":\"/\",\"description\":\"Syntax: RISKDIFFPLOT < (plot-options)> Requests a plot of risk (proportion) differences along with confidence limits. Risk difference plots are available for multiway 2x2tables and display the risk difference (with confidence limits) for each 2x2 table (stratum). To produce a risk difference plot, you must also specify the RISKDIFF option in the TABLES statement to compute risk differences. The following plot-options are available: CL=EXACT | LR | MIDP | SCORE | WALD | WALDMODIFIED Confidence limit CLDISPLAY= BAR | LINE | LINEARROW | SERIF | SERIFARROW Error bar type COLUMN= 1 | 2 Risk column COMMON= NO | YES Common value LOGBASE= 2 | E | 10 Axis scale NPANELPOS= number Statistics per graphic ORDER= ASCENDING | DESCENDING Order of two-way levels RANGE=values | CLIP Range to display STATS Statistic values\",\"type\":\"standalone\"},{\"name\":\"WTKAPPAPLOT\",\"followsDelimiter\":\"/\",\"description\":\"Syntax: WTKAPPAPLOT <(plot-options)> Requests a plot of weighted kappa coefficients along with confidence limits. Weighted kappa plots are available for multiway square tables and display the weighted kappa coefficient (with confidence limits) for each two-way table (stratum). Weighted kappa plots also display the overall weighted kappa coefficient unless you specify the COMMON=NO plot-option. The following plot-options are available: CLDISPLAY= BAR | LINE | LINEARROW | SERIF | SERIFARROW Error bar type COMMON= NO | YES Overall kappa NPANELPOS= number Statistics per graphic ORDER= ASCENDING | DESCENDING Order of two-way levels RANGE= values | CLIP Range to display STATS Statistic values\",\"type\":\"standalone\"}]},{\"name\":\"PRINTKWTS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays the agreement weights that PROC FREQ uses to compute the weighted kappa coefficient. Agreement weights reflect the relative agreement between pairs of variable levels.\",\"type\":\"standalone\"},{\"name\":\"RELRISK=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests relative risk measures and their confidence limits for 2x2 tables. These measures include the odds ratio, the column 1 relative risk, and the column 2 relative risk.\",\"help\":\"RELRISK=COLUMN= | PRINTALL | CL= | EQUAL | EQUIV | EQUIVALENCE | MARGIN= | METHOD= | NONINF | NONINFERIORITY | SUP | SUPERIORITY\",\"type\":\"choice\",\"arguments\":[{\"name\":\"COLUMN=\",\"type\":\"value\"},{\"name\":\"PRINTALL\",\"type\":\"standalone\"},{\"name\":\"CL=\",\"type\":\"value\"},{\"name\":\"EQUAL\",\"type\":\"standalone\"},{\"name\":\"EQUIV\",\"type\":\"standalone\"},{\"name\":\"EQUIVALENCE\",\"type\":\"standalone\"},{\"name\":\"MARGIN=\",\"type\":\"value\"},{\"name\":\"METHOD=\",\"type\":\"value\"},{\"name\":\"NONINF\",\"type\":\"standalone\"},{\"name\":\"NONINFERIORITY\",\"type\":\"standalone\"},{\"name\":\"SUP\",\"type\":\"standalone\"},{\"name\":\"SUPERIORITY\",\"type\":\"standalone\"}]},{\"name\":\"RISKDIFF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests risks (binomial proportions) and risk differences for 2x2 tables. By default, this option provides the row 1 risk, row 2 risk, total (overall) risk, and risk difference (row 1 – row 2), together with their asymptotic standard errors and Wald confidence limits; by default, this option also provides exact (Clopper-Pearson) confidence limits for the row 1, row 2, and total risks.\",\"help\":\"RISKDIFF=COLUMN= | COMMON | CORRECT | NORISKS | CL= | EQUAL | EQUIV | EQUIVALENCE | MARGIN= | METHOD= | NONINF | NONINFERIORITY | SUP | SUPERIORITY | VAR=\",\"type\":\"choice\",\"arguments\":[{\"name\":\"COLUMN=\",\"type\":\"value\"},{\"name\":\"COMMON\",\"type\":\"standalone\"},{\"name\":\"CORRECT\",\"type\":\"standalone\"},{\"name\":\"NORISKS\",\"type\":\"standalone\"},{\"name\":\"CL=\",\"type\":\"value\"},{\"name\":\"EQUAL\",\"type\":\"standalone\"},{\"name\":\"EQUIV\",\"type\":\"standalone\"},{\"name\":\"EQUIVALENCE\",\"type\":\"standalone\"},{\"name\":\"MARGIN=\",\"type\":\"value\"},{\"name\":\"METHOD=\",\"type\":\"value\"},{\"name\":\"NONINF\",\"type\":\"standalone\"},{\"name\":\"NONINFERIORITY\",\"type\":\"standalone\"},{\"name\":\"SUP\",\"type\":\"standalone\"},{\"name\":\"SUPERIORITY\",\"type\":\"standalone\"},{\"name\":\"VAR=\",\"type\":\"value\"}]},{\"name\":\"SCORES=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the type of row and column scores that PROC FREQ uses to compute the following statistics: Mantel-Haenszel chi-square, Pearson correlation, Cochran-Armitage test for trend, weighted kappa coefficient, and Cochran-Mantel-Haenszel statistics\",\"help\":\"SCORES=MODRIDIT | RANK | RIDIT | TABLE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"MODRIDIT\",\"followsDelimiter\":\"/\",\"description\":\"Modified ridit scores represent the expected values of the order statistics of the uniform distribution on (0,1).\",\"type\":\"standalone\"},{\"name\":\"RANK\",\"followsDelimiter\":\"/\",\"description\":\"Rank scores yield midranks for tied values.\",\"type\":\"standalone\"},{\"name\":\"RIDIT\",\"followsDelimiter\":\"/\",\"description\":\"Rank scores standardized by the sample size.\",\"type\":\"standalone\"},{\"name\":\"TABLE\",\"followsDelimiter\":\"/\",\"description\":\"Table scores are the values of the row and column levels.\",\"type\":\"standalone\"}]},{\"name\":\"SCOROUT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays the row and column scores that PROC FREQ uses to compute score-based tests and statistics.\",\"type\":\"standalone\"},{\"name\":\"SPARSE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Reports all possible combinations of the variable values for an n-way table when n > 1, even if a combination does not occur in the data.\",\"type\":\"standalone\"},{\"name\":\"TOTPCT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays the percentage of the total multiway table frequency in crosstabulation tables for n-way tables, where n > 2. By default, PROC FREQ displays the percentage of the individual two-way table frequency but does not display the percentage of the total frequency for multiway crosstabulation tables.\",\"type\":\"standalone\"},{\"name\":\"TREND\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests the Cochran-Armitage test for trend. The table must be 2 x C or R x 2 to compute the trend test.\",\"type\":\"standalone\"}]},{\"name\":\"TEST\",\"description\":\"The TEST statement requests asymptotic tests for measures of association and measures of agreement. You must use a TABLES statement with the TEST.\",\"help\":\"TEST AGREE GAMMA KAPPA ...\",\"arguments\":[{\"name\":\"AGREE\",\"description\":\"Requests an asymptotic test for the simple kappa coefficient and weighted kappa coefficient.\",\"type\":\"standalone\"},{\"name\":\"GAMMA\",\"description\":\"Requests an asymptotic test for the gamma statistic.\",\"type\":\"standalone\"},{\"name\":\"KAPPA\",\"description\":\"Requests an asymptotic test for the simple kappa coefficient.\",\"type\":\"standalone\"},{\"name\":\"KENTB\",\"aliases\":[\"TAUB\"],\"description\":\"Requests an asymptotic test for Kendall's τ-b\",\"type\":\"standalone\"},{\"name\":\"MEASURES\",\"description\":\"Requests asymptotic tests for the following measures of association: gamma, Kendall's tau-b, Pearson correlation coefficient, Somers' D(C|R), Somers' D(R|C), Spearman correlation coefficient, and Stuart's tau-c.\",\"type\":\"standalone\"},{\"name\":\"PCORR\",\"description\":\"Requests an asymptotic test for the Pearson correlation coefficient.\",\"type\":\"standalone\"},{\"name\":\"PLCORR\",\"description\":\"Requests Wald and likelihood ratio tests for the polychoric correlation coefficient.\",\"type\":\"standalone\"},{\"name\":\"SCORR\",\"description\":\"Requests an asymptotic test for the Spearman correlation coefficient\",\"type\":\"standalone\"},{\"name\":\"SMDCR\",\"description\":\"Requests an asymptotic test for Somer's D(C|R)\",\"type\":\"standalone\"},{\"name\":\"SMDRC\",\"description\":\"Requests an asymptotic test for Somer's D(R|C)\",\"type\":\"standalone\"},{\"name\":\"WTKAP\",\"aliases\":[\"WTKAPPA\"],\"description\":\"Requests an asymptotic test for the weighted kappa coefficient.\",\"type\":\"standalone\"},{\"name\":\"STUTC\",\"optional\":true,\"aliases\":[\"TAUC\"],\"description\":\"Requests an asymptotic test for Stuart's τ-c\",\"type\":\"standalone\"}]},{\"name\":\"WEIGHT\",\"description\":\"The WEIGHT statement names a numeric variable that provides a weight for each observation in the input data set. The WEIGHT statement is most commonly used to input cell count data. If you use a WEIGHT statement, PROC FREQ assumes that an observation represents n observations, where n is the value of variable. The value of the WEIGHT variable is not required to be an integer.\",\"help\":\"WEIGHT &lt;ZEROS&gt;\",\"arguments\":[{\"name\":\"ZEROS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Includes observations with weights of 0. By default, PROC FREQ ignores observations that have weights of 0.\",\"type\":\"standalone\"}]}],\"supportSiteInformation\":{\"docsetId\":\"statug\",\"docsetVersion\":\"latest\",\"docsetTargetFile\":\"statug_freq_toc.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/FREQTAB.json",
    "content": "{\"name\":\"FREQTAB\",\"statements\":[{\"name\":\"PROC FREQTAB\",\"description\":\"The FREQTAB procedure produces one-way to n-way frequency and crosstabulation (contingency) tables in SAS Viya. PROC FREQTAB also provides a variety of tests and measures to analyze frequency and crosstabulation tables. † For one-way frequency tables, PROC FREQTAB provides chi-square goodness-of-fit tests for equal proportions and for specified null proportions. It also provides several types of confidence limits for binomial proportions and binomial proportion tests (which include noninferiority and equivalence tests). † For two-way crosstabulation tables, PROC FREQTAB computes a variety of statistics to examine the relationships between the two classification variables.\",\"help\":\"PROC FREQTAB <COMPRESS><DATA=CAS-libref.data-table><FORMCHAR(1,2,7)='formchar-string'><FORMCHAR(1,2,7)='formchar-string'><MISSING><MISSPRINT><NLEVELS><NOPRINT><ORDER=FORMATTED | FREQ | INTERNAL><PAGE>;     \\n\\tBY variables;\\n\\n\\tEXACT AGREE BARNARD BINOMIAL ...;\\n\\n\\tOUTPUT <AGREE><AJCHI> OUT=SAS-data-set ...;\\n\\n\\tTABLES <AGREE < (agree-options)>><ALL><ALPHA=α> ...;\\n\\n\\tTEST AGREE GAMMA KAPPA ...;\\n\\n\\tWEIGHT <ZEROS> ;\\n\",\"arguments\":[{\"name\":\"COMPRESS\",\"optional\":true,\"description\":\"Begins display of the next one-way frequency table on the same page as the preceding one-way table if there is enough space to begin the table.\",\"type\":\"standalone\"},{\"name\":\"DATA=\",\"optional\":true,\"description\":\"Names the input data table for PROC FREQTAB to use. The default is the most recently created data table. CAS-libref.data-table is a two-level name, where\",\"help\":\"DATA=*CAS-libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"FORMCHAR\",\"optional\":true,\"description\":\"Defines the characters to be used for constructing the outlines and dividers for the cells of crosstabulation table displays.\",\"help\":\"FORMCHAR(1,2,7)='*formchar-string*'\",\"type\":\"value\"},{\"name\":\"FORMCHAR=\",\"optional\":true,\"description\":\"Defines the characters to be used for constructing the outlines and dividers for the cells of crosstabulation table displays.\",\"type\":\"value\"},{\"name\":\"MISSING\",\"optional\":true,\"description\":\"Treats missing values as a valid nonmissing level for all classification variables that you specify in the TABLES statements. This option displays missing levels in frequency and crosstabulation tables and includes the frequencies (of missing levels) in the computation of the frequency total, percentages, and statistics.\",\"type\":\"standalone\"},{\"name\":\"MISSPRINT\",\"optional\":true,\"description\":\"Displays missing levels in frequency and crosstabulation tables but does not include the corresponding frequencies in the computation of the frequency total, percentages, or statistics.\",\"type\":\"standalone\"},{\"name\":\"NLEVELS\",\"optional\":true,\"description\":\"Displays the \\\"Number of Variable Levels\\\" table, which provides the number of levels for each variable named in the TABLES statements.\",\"type\":\"standalone\"},{\"name\":\"NOPRINT\",\"optional\":true,\"description\":\"Suppresses the display of all output.\",\"type\":\"standalone\"},{\"name\":\"ORDER=\",\"optional\":true,\"description\":\"Specifies the order of the variable levels in the frequency and crosstabulation tables, which you request in the TABLES statement.\",\"help\":\"ORDER=FORMATTED | FREQ | INTERNAL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"FORMATTED\",\"description\":\"Levels are sorted by their external formatted value (in ascending order).\",\"type\":\"standalone\"},{\"name\":\"FREQ\",\"description\":\"Levels are sorted by their descending frequency count.\",\"type\":\"standalone\"},{\"name\":\"INTERNAL\",\"description\":\"Levels are sorted by their unformatted value.\",\"type\":\"standalone\"}]},{\"name\":\"PAGE\",\"optional\":true,\"description\":\"Displays only one table per page. Otherwise, PROC FREQTAB displays multiple tables per page as space permits. The PAGE option is not valid with the COMPRESS option.\",\"type\":\"standalone\"}]},{\"name\":\"BY\",\"description\":\"You can specify a BY statement in PROC FREQTAB to obtain separate analyses of observations in groups that are defined by the values of the BY variables. If you specify more than one BY statement, only the last one specified is used.\",\"help\":\"BY variables\"},{\"name\":\"EXACT\",\"description\":\"The EXACT statement requests exact tests and confidence limits for selected statistics. The statistic-options identify which statistics to compute, and the computation-options specify options for computing exact statistics.\",\"help\":\"EXACT AGREE BARNARD BINOMIAL ...\",\"arguments\":[{\"name\":\"AGREE\",\"description\":\"Requests McNemar's exact test, an exact test for the simple kappa coefficient, and an exact test for the weighted kappa coefficient. New in SAS 9.3: The FREQ procedure now produces agreement plots when the AGREE option is specified and ODS Graphics is enabled. It also offers a number of alternative confidence limits for the proportion difference, and it provides exact unconditional confidence limits for the proportion difference that are based on the Farrington-Manning score statistic.\",\"type\":\"standalone\"},{\"name\":\"BARNARD\",\"description\":\"Requests Barnard's exact unconditional test for the risk (proportion) difference for 2 x 2 tables.\",\"type\":\"standalone\"},{\"name\":\"BINOMIAL\",\"aliases\":[\"BIN\"],\"description\":\"Requests an exact test for the binomial proportion (for one-way tables).\",\"type\":\"standalone\"},{\"name\":\"CHISQ\",\"description\":\"Requests the following exact chi-square tests for two-way tables: Pearson chi-square, likelihood ratio chi-square, and Mantel-Haenszel chi-square.\",\"type\":\"standalone\"},{\"name\":\"COMOR\",\"description\":\"Requests an exact test and exact confidence limits for the common odds ratio for multiway 2 x 2 tables.\",\"type\":\"standalone\"},{\"name\":\"EQOR\",\"aliases\":[\"ZELEN\"],\"description\":\"Requests Zelen's exact test for equal odds ratios for multiway 2 x 2 tables.\",\"type\":\"standalone\"},{\"name\":\"FISHER\",\"description\":\"Requests Fisher's exact test.\",\"type\":\"standalone\"},{\"name\":\"JT\",\"description\":\"Requests an exact Jonckheere-Terpstra test.\",\"type\":\"standalone\"},{\"name\":\"KAPPA\",\"description\":\"Requests an exact test for the simple kappa coefficient.\",\"type\":\"standalone\"},{\"name\":\"KENTB\",\"aliases\":[\"TAUB\"],\"description\":\"Requests an exact test for Kendall's tau-b\",\"type\":\"standalone\"},{\"name\":\"LRCHI\",\"description\":\"Requests an exact test for the likelihood ratio chi-square for two-way tables.\",\"type\":\"standalone\"},{\"name\":\"MCNEM\",\"description\":\"Requests an exact McNemar's test.\",\"type\":\"standalone\"},{\"name\":\"MEASURES\",\"description\":\"Requests exact tests for the Pearson and Spearman correlations.\",\"type\":\"standalone\"},{\"name\":\"MHCHI\",\"description\":\"Requests an exact test for the Mantel-Haenszel chi-square.\",\"type\":\"standalone\"},{\"name\":\"OR\",\"aliases\":[\"ODDSRATIO\"],\"description\":\"Requests exact confidence limits for the odds ratio for 2 x 2 tables. You can request exact mid-p confidence limits for the odds ratio by specifying the OR(CL=MIDP) option in the TABLES statement. The OR(CL=) option in the TABLES statement also provides other types of confidence limits for the odds ratio.\",\"type\":\"standalone\"},{\"name\":\"PCHI\",\"description\":\"Requests an exact test for the Pearson chi-square for two-way tables.\",\"type\":\"standalone\"},{\"name\":\"PCORR\",\"description\":\"Requests an exact test for the Pearson correlation coefficient.\",\"type\":\"standalone\"},{\"name\":\"RELRISK=\",\"description\":\"Requests exact unconditional confidence limits for the relative risk for 2 x 2 tables. You can specify the following options:\",\"help\":\"RELRISK=COLUMN= | METHOD=\",\"type\":\"choice\",\"arguments\":[{\"name\":\"COLUMN=\",\"type\":\"value\"},{\"name\":\"METHOD=\",\"type\":\"value\"}]},{\"name\":\"RISKDIFF=\",\"description\":\"Requests exact unconditional confidence limits for the risk difference for 2 x 2 tables. You can specify the following options:\",\"help\":\"RISKDIFF=COLUMN= | METHOD=\",\"type\":\"choice\",\"arguments\":[{\"name\":\"COLUMN=\",\"type\":\"value\"},{\"name\":\"METHOD=\",\"type\":\"value\"}]},{\"name\":\"SCORR\",\"description\":\"Requests an exact test for the Spearman correlation coefficient.\",\"type\":\"standalone\"},{\"name\":\"SMDCR\",\"description\":\"Requests an exact test for Sommers' D(C|R)\",\"type\":\"standalone\"},{\"name\":\"SMDRC\",\"description\":\"Test for Somers' D(R|C)\",\"type\":\"standalone\"},{\"name\":\"STUTC\",\"aliases\":[\"TAUC\"],\"description\":\"Requests an exact test for Stuart's tau-c.\",\"type\":\"standalone\"},{\"name\":\"SYMMETRY\",\"aliases\":[\"BOWKER\"],\"description\":\"Requests an exact symmetry test. This test is available for square R x R two-way tables where the table dimension R is greater than 2.\",\"type\":\"standalone\"},{\"name\":\"TREND\",\"description\":\"Requests the exact Cochran-Armitage test for trend.\",\"type\":\"standalone\"},{\"name\":\"WTKAP\",\"aliases\":[\"WTKAPPA\"],\"description\":\"Requests an exact test for the weighted kappa coefficient.\",\"type\":\"standalone\"},{\"name\":\"ALPHA=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the level of the confidence limits for Monte Carlo p-value estimates.\",\"type\":\"value\"},{\"name\":\"MAXTIME=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the maximum clock time (in seconds) that PROC FREQTAB can use to compute an exact p-value.\",\"help\":\"MAXTIME=*value*\",\"type\":\"value\"},{\"name\":\"MC\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"[Requests Monte Carlo estimation of exact p-values instead of direct exact p-value computation.\",\"type\":\"standalone\"},{\"name\":\"MIDP\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests exact mid p-values for the exact tests. The exact mid p-value is defined as the exact p-value minus half the exact point probability.\",\"type\":\"standalone\"},{\"name\":\"N=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the number of samples for Monte Carlo estimation.\",\"help\":\"N=*n*\",\"type\":\"value\"},{\"name\":\"PFORMAT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the display format for exact p-values. PROC FREQTAB applies this format to one- and two-sided exact p-values, exact point probabilities, and exact mid p-values. By default, PROC FREQTAB displays exact p-values in the PVALUE6.4 format. You can provide a format-name or you can specify PFORMAT=EXACT to control the format of exact p-values. The value of format-name can be any standard SAS numeric format or a user-defined format. The format length must not exceed 24.\",\"type\":\"value\"},{\"name\":\"POINT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests exact point probabilities for the exact tests. The exact point probability is the exact probability that the test statistic equals the observed value.\",\"type\":\"standalone\"},{\"name\":\"SEED=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the initial seed for random number generation for Monte Carlo estimation. The value of the SEED= option must be an integer. If you do not specify the SEED= option or if the SEED= value is negative or zero, PROC FREQTAB uses the time of day from the computer's clock to obtain the initial seed.\",\"help\":\"SEED=*number*\",\"type\":\"value\"}]},{\"name\":\"OUTPUT\",\"description\":\"The OUTPUT statement creates a SAS data set that contains statistics computed by PROC FREQTAB. You identify which statistics to include by specifying output-options.\",\"help\":\"OUTPUT &lt;AGREE&gt;&lt;AJCHI&gt; OUT=SAS-data-set ...\",\"arguments\":[{\"name\":\"OUT=\",\"description\":\"Specifies the name of the output data set. When you use an OUTPUT statement but do not use the OUT= option, PROC FREQTAB creates a data set and names it by using the DATAn convention.\",\"help\":\"OUT=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"AGREE\",\"optional\":true,\"description\":\"Includes the following tests and measures of agreement in the output data set: McNemar’s test (for 2 x 2 tables), Bowker’s symmetry test, the simple kappa coefficient, and the weighted kappa coefficient. For multiway tables, the AGREE option also includes the following statistics in the output data set: overall simple and weighted kappa coefficients, tests for equal simple and weighted kappa coefficients, and Cochran’s Q test.\",\"type\":\"standalone\"},{\"name\":\"AJCHI\",\"optional\":true,\"description\":\"Includes the continuity-adjusted chi-square in the output data set. The continuity-adjusted chi-square is available for 2 x 2 tables and is provided by the CHISQ option in the TABLES statement.\",\"type\":\"standalone\"},{\"name\":\"ALL\",\"optional\":true,\"description\":\"Includes all statistics that are requested by the CHISQ, MEASURES, and CMH output-options in the output data set. ALL also includes the number of nonmissing observations, which you can request individually by specifying the N output-option.\",\"type\":\"standalone\"},{\"name\":\"BDCHI\",\"optional\":true,\"description\":\"Includes the Breslow-Day test in the output data set. The Breslow-Day test for homogeneity of odds ratios is computed for multiway 2 x 2 tables and is provided by the CMH , CMH1 , and CMH2 options in the TABLES statement.\",\"type\":\"standalone\"},{\"name\":\"BINOMIAL\",\"optional\":true,\"aliases\":[\"BIN\"],\"description\":\"Includes the binomial proportion estimate, confidence limits, and tests in the output data set. The BINOMIAL option in the TABLES statement requests computation of binomial statistics, which are available for one-way tables.\",\"type\":\"standalone\"},{\"name\":\"CHISQ\",\"optional\":true,\"description\":\"Includes the following chi-square tests and measures in the output data set for two-way tables: Pearson chi-square, likelihood ratio chi-square, Mantel-Haenszel chi-square, phi coefficient, contingency coefficient, and Cramér's V. For 2 x 2 tables, CHISQ also includes Fisher's exact test and the continuity-adjusted chi-square in the output data set.\",\"type\":\"standalone\"},{\"name\":\"CMH\",\"optional\":true,\"description\":\"Includes the following Cochran-Mantel-Haenszel statistics in the output data set: correlation, row mean scores (ANOVA), and general association. For 2 x 2 tables, the CMH option also includes the Mantel-Haenszel and logit estimates of the common odds ratio and relative risks. For multiway (stratified) 2 x 2 tables, the CMH option includes the Breslow-Day test for homogeneity of odds ratios. The CMH option in the TABLES statement requests computation of these statistics.\",\"type\":\"standalone\"},{\"name\":\"CMH1\",\"optional\":true,\"description\":\"Includes the CMH statistics in the output data set, with the exception of the row mean scores (ANOVA) statistic and the general association statistic. The CMH1 option in the TABLES statement requests computation of these statistics.\",\"type\":\"standalone\"},{\"name\":\"CMH2\",\"optional\":true,\"description\":\"Includes the CMH statistics in the output data set, with the exception of the general association statistic. The CMH2 option in the TABLES statement requests computation of these statistics.\",\"type\":\"standalone\"},{\"name\":\"CMHCOR\",\"optional\":true,\"description\":\"Includes the Cochran-Mantel-Haenszel correlation statistic in the output data set. The CMH option in the TABLES statement requests computation of this statistic.\",\"type\":\"standalone\"},{\"name\":\"CMHGA\",\"optional\":true,\"description\":\"Includes the Cochran-Mantel-Haenszel general association statistic in the output data set. The CMH option in the TABLES statement requests computation of this statistic.\",\"type\":\"standalone\"},{\"name\":\"CMHRMS\",\"optional\":true,\"description\":\"Includes the Cochran-Mantel-Haenszel row mean scores (ANOVA) statistic in the output data set. The CMH option in the TABLES statement requests computation of this statistic.\",\"type\":\"standalone\"},{\"name\":\"COCHQ\",\"optional\":true,\"description\":\"Includes Cochran's Q test in the output data set. The AGREE option in the TABLES statement requests computation of this test, which is available for multiway 2 x 2 tables.\",\"type\":\"standalone\"},{\"name\":\"CONTGY\",\"optional\":true,\"description\":\"Includes the contingency coefficient in the output data set. The CHISQ option in the TABLES statement requests computation of the contingency coefficient.\",\"type\":\"standalone\"},{\"name\":\"CRAMV\",\"optional\":true,\"description\":\"Includes Cramér's V in the output data set. The CHISQ option in the TABLES statement requests computation of Cramér's V.\",\"type\":\"standalone\"},{\"name\":\"EQKAP\",\"optional\":true,\"description\":\"Includes the test for equal simple kappa coefficients in the output data set. The AGREE option in the TABLES statement requests computation of this test, which is available for multiway, square (h x r x r) tables.\",\"type\":\"standalone\"},{\"name\":\"EQOR\",\"optional\":true,\"aliases\":[\"ZELEN\"],\"description\":\"Includes Zelen's exact test for equal odds ratios in the output data set. The EQOR option in the EXACT statement requests computation of this test, which is available for multiway 2 x 2 tables.\",\"type\":\"standalone\"},{\"name\":\"EQWKP\",\"optional\":true,\"description\":\"Includes the test for equal weighted kappa coefficients in the output data set. The AGREE option in the TABLES statement requests computation of this test. The test for equal weighted kappas is available for multiway, square (h x r x r) tables where r > 2.\",\"type\":\"standalone\"},{\"name\":\"FISHER\",\"optional\":true,\"description\":\"Includes Fisher's exact test in the output data set. For 2 x 2 tables, the CHISQ option in the TABLES statement provides Fisher's exact test. For tables larger than 2 x 2, the FISHER option in the EXACT statement provides Fisher's exact test.\",\"type\":\"standalone\"},{\"name\":\"GAILSIMON\",\"optional\":true,\"aliases\":[\"GS\"],\"description\":\"Includes the Gail-Simon test for qualitative interaction in the output data set. The CMH(GAILSIMON) option in the TABLES statement requests computation of this test.\",\"type\":\"standalone\"},{\"name\":\"GAMMA\",\"optional\":true,\"description\":\"Includes the gamma statistic in the output data set. The MEASURES option in the TABLES statement requests computation of the gamma statistic.\",\"type\":\"standalone\"},{\"name\":\"JT\",\"optional\":true,\"description\":\"Includes the Jonckheere-Terpstra test in the output data set. The JT option in the TABLES statement requests the Jonckheere-Terpstra test.\",\"type\":\"standalone\"},{\"name\":\"KAPPA\",\"optional\":true,\"description\":\"Includes the simple kappa coefficient in the output data set. The AGREE option in the TABLES statement requests computation of kappa, which is available for square tables (where the number of rows equals the number of columns). For multiway square tables, the KAPPA option also includes the overall kappa coefficient in the output data set.\",\"type\":\"standalone\"},{\"name\":\"KENTB\",\"optional\":true,\"aliases\":[\"TAUB\"],\"description\":\"Includes Kendall's tau-b in the output data set. The MEASURES option in the TABLES statement requests computation of Kendall's tau-b.\",\"type\":\"standalone\"},{\"name\":\"LAMCR\",\"optional\":true,\"description\":\"Includes the asymmetric lambda in the output data set. The MEASURES option in the TABLES statement requests computation of lambda.\",\"type\":\"standalone\"},{\"name\":\"LAMDAS\",\"optional\":true,\"description\":\"Includes the symmetric lambda in the output data set. The MEASURES option in the TABLES statement requests computation of lambda.\",\"type\":\"standalone\"},{\"name\":\"LAMRC\",\"optional\":true,\"description\":\"Includes the asymmetric lambda in the output data set. The MEASURES option in the TABLES statement requests computation of lambda.\",\"type\":\"standalone\"},{\"name\":\"LGOR\",\"optional\":true,\"description\":\"Includes the logit estimate of the common odds ratio in the output data set. The CMH option in the TABLES statement requests computation of this statistic, which is available for 2 x 2 tables.\",\"type\":\"standalone\"},{\"name\":\"LGRRC1\",\"optional\":true,\"description\":\"Includes the logit estimate of the common relative risk (column 1) in the output data set. The CMH option in the TABLES statement requests computation of this statistic, which is available for 2 x 2 tables.\",\"type\":\"standalone\"},{\"name\":\"LGRRC2\",\"optional\":true,\"description\":\"Includes the logit estimate of the common relative risk (column 2) in the output data set. The CMH option in the TABLES statement requests computation of this statistic, which is available for 2 x 2 tables.\",\"type\":\"standalone\"},{\"name\":\"LRCHI\",\"optional\":true,\"description\":\"Includes the likelihood ratio chi-square in the output data set. The CHISQ option in the TABLES statement requests computation of the likelihood ratio chi-square.\",\"type\":\"standalone\"},{\"name\":\"MCNEM\",\"optional\":true,\"description\":\"Includes McNemar's test (for 2 x 2 tables) in the output data set. The AGREE option in the TABLES statement requests computation of McNemar's test.\",\"type\":\"standalone\"},{\"name\":\"MEASURES\",\"optional\":true,\"description\":\"Includes the following measures of association in the output data set: gamma, Kendall's tau-b, Stuart's tau-c, Somers' D(C|R), Somers' D(R|C)), Pearson and Spearman correlation coefficients, lambda (symmetric and asymmetric), and uncertainty coefficients (symmetric and asymmetric). For 2 x 2 tables, the MEASURES option also includes the odds ratio, column 1 relative risk, and column 2 relative risk. The MEASURES option in the TABLES statement requests computation of these statistics.\",\"type\":\"standalone\"},{\"name\":\"MHCHI\",\"optional\":true,\"description\":\"Includes the Mantel-Haenszel chi-square in the output data set. The CHISQ option in the TABLES statement requests computation of the Mantel-Haenszel chi-square.\",\"type\":\"standalone\"},{\"name\":\"MHOR\",\"optional\":true,\"aliases\":[\"COMOR\"],\"description\":\"Includes the Mantel-Haenszel estimate of the common odds ratio in the output data set. The CMH option in the TABLES statement requests computation of this statistic, which is available for 2 x 2 tables.\",\"type\":\"standalone\"},{\"name\":\"MHRRC1\",\"optional\":true,\"description\":\"Includes the Mantel-Haenszel estimate of the common relative risk (column 1) in the output data set. The CMH option in the TABLES statement requests computation of this statistic, which is available for 2 x 2 tables.\",\"type\":\"standalone\"},{\"name\":\"MHRRC2\",\"optional\":true,\"description\":\"Includes the Mantel-Haenszel estimate of the common relative risk (column 2) in the output data set. The CMH option in the TABLES statement requests computation of this statistic, which is available for 2 x 2 tables.\",\"type\":\"standalone\"},{\"name\":\"N\",\"optional\":true,\"description\":\"Includes the number of nonmissing observations in the output data set.\",\"type\":\"standalone\"},{\"name\":\"NMISS\",\"optional\":true,\"description\":\"Includes the number of missing observations in the output data set.\",\"type\":\"standalone\"},{\"name\":\"OR\",\"optional\":true,\"aliases\":[\"ODDSRATIO\",\"RROR\"],\"description\":\"Includes the odds ratio (for 2 x 2 tables) in the output data set. The MEASURES, OR, and RELRISK options in the TABLES statement request this statistic.\",\"type\":\"standalone\"},{\"name\":\"PCHI\",\"optional\":true,\"description\":\"Includes the Pearson chi-square in the output data set for two-way tables.\",\"type\":\"standalone\"},{\"name\":\"PCORR\",\"optional\":true,\"description\":\"Includes the Pearson correlation coefficient in the output data set. The MEASURES option in the TABLES statement requests computation of the Pearson correlation.\",\"type\":\"standalone\"},{\"name\":\"PHI\",\"optional\":true,\"description\":\"Includes the phi coefficient in the output data set. The CHISQ option in the TABLES statement requests computation of the phi coefficient.\",\"type\":\"standalone\"},{\"name\":\"PLCORR\",\"optional\":true,\"description\":\"Includes the polychoric correlation coefficient in the output data set. For 2 x 2 tables, this statistic is known as the tetrachoric correlation coefficient. The PLCORR option in the TABLES statement requests computation of the polychoric correlation.\",\"type\":\"standalone\"},{\"name\":\"RDIF1\",\"optional\":true,\"description\":\"Includes the column 1 risk difference (row 1 – row 2) in the output data set. The RISKDIFF option in the TABLES statement requests computation of risks and risk differences, which are available for 2 x 2 tables.\",\"type\":\"standalone\"},{\"name\":\"RDIF2\",\"optional\":true,\"description\":\"Includes the column 2 risk difference (row 1 – row 2) in the output data set. The RISKDIFF option in the TABLES statement requests computation of risks and risk differences, which are available for 2 x 2 tables.\",\"type\":\"standalone\"},{\"name\":\"RELRISK\",\"optional\":true,\"description\":\"Includes the column 1 and column 2 relative risks (for 2 x 2 tables) in the output data set. The MEASURES and RELRISK options in the TABLES statement request these statistics.\",\"type\":\"standalone\"},{\"name\":\"RISKDIFF\",\"optional\":true,\"description\":\"Includes risks (binomial proportions) and risk differences for 2 x 2 tables in the output data set. These statistics include the row 1 risk, row 2 risk, total (overall) risk, and risk difference (row 1 – row 2) for column 1 and column 2. The RISKDIFF option in the TABLES statement requests computation of these statistics\",\"type\":\"standalone\"},{\"name\":\"RISKDIFF1\",\"optional\":true,\"description\":\"Includes column 1 risks (binomial proportions) and risk differences for 2 x 2 tables in the output data set. These statistics include the row 1 risk, row 2 risk, total (overall) risk, and risk difference (row 1 – row 2). The RISKDIFF option in the TABLES statement requests computation of these statistics.\",\"type\":\"standalone\"},{\"name\":\"RISKDIFF2\",\"optional\":true,\"description\":\"Includes column 2 risks (binomial proportions) and risk differences for 2 x 2 tables in the output data set. These statistics include the row 1 risk, row 2 risk, total (overall) risk, and risk difference (row 1 – row 2). The RISKDIFF option in the TABLES statement requests computation of these statistics.\",\"type\":\"standalone\"},{\"name\":\"RRC1\",\"optional\":true,\"aliases\":[\"RELRISK1\"],\"description\":\"Includes the column 1 relative risk in the output data set. The MEASURES and RELRISK options in the TABLES statement request relative risks, which are available for 2 x 2 tables.\",\"type\":\"standalone\"},{\"name\":\"RRC2\",\"optional\":true,\"aliases\":[\"RELRISK2\"],\"description\":\"Includes the column 2 relative risk in the output data set. The MEASURES and RELRISK options in the TABLES statement request relative risks, which are available for 2 x 2 tables.\",\"type\":\"standalone\"},{\"name\":\"RSK11\",\"optional\":true,\"aliases\":[\"RISK11\"],\"description\":\"Includes the column 1 risk for row 1 in the output data set. The RISKDIFF option in the TABLES statement requests computation of risks and risk differences, which are available for 2 x 2 tables.\",\"type\":\"standalone\"},{\"name\":\"RSK12\",\"optional\":true,\"aliases\":[\"RISK12\"],\"description\":\"Includes the column 2 risk for row 1 in the output data set. The RISKDIFF option in the TABLES statement requests computation of risks and risk differences, which are available for 2 x 2 tables.\",\"type\":\"standalone\"},{\"name\":\"RSK1\",\"optional\":true,\"aliases\":[\"RISK1\"],\"description\":\"Includes the overall column 1 risk in the output data set. The RISKDIFF option in the TABLES statement requests computation of risks and risk differences, which are available for 2 x 2 tables.\",\"type\":\"standalone\"},{\"name\":\"RSK21\",\"optional\":true,\"aliases\":[\"RISK21\"],\"description\":\"Includes the column 1 risk for row 2 in the output data set. The RISKDIFF option in the TABLES statement requests computation of risks and risk differences, which are available for 2 x 2 tables.\",\"type\":\"standalone\"},{\"name\":\"RSK22\",\"optional\":true,\"description\":\"Includes the column 2 risk for row 2 in the output data set. The RISKDIFF option in the TABLES statement requests computation of risks and risk differences, which are available for 2 x 2 tables.\",\"type\":\"standalone\"},{\"name\":\"RSK2\",\"optional\":true,\"aliases\":[\"RISK2\"],\"description\":\"Includes the overall column 2 risk in the output data set. The RISKDIFF option in the TABLES statement requests computation of risks and risk differences.\",\"type\":\"standalone\"},{\"name\":\"SCORR\",\"optional\":true,\"description\":\"Includes the Spearman correlation coefficient in the output data set. The MEASURES option in the TABLES statement requests computation of the Spearman correlation.\",\"type\":\"standalone\"},{\"name\":\"SMDCR\",\"optional\":true,\"description\":\"includes Somers' D(C|R) in the output data set. The MEASURES option in the TABLES statement requests computation of Somers' D.\",\"type\":\"standalone\"},{\"name\":\"SMDRC\",\"optional\":true,\"description\":\"includes Somers' D(R|C) in the output data set. The MEASURES option in the TABLES statement requests computation of Somers' D\",\"type\":\"standalone\"},{\"name\":\"STUTC\",\"optional\":true,\"aliases\":[\"TAUC\"],\"description\":\"Includes Stuart's tau-c in the output data set. The MEASURES option in the TABLES statement requests computation of tau-c.\",\"type\":\"standalone\"},{\"name\":\"TREND\",\"optional\":true,\"description\":\"Includes the Cochran-Armitage test for trend in the output data set. The TREND option in the TABLES statement requests computation of the trend test. This test is available for tables of dimension 2 x C or R x 2.\",\"type\":\"standalone\"},{\"name\":\"TSYMM\",\"optional\":true,\"aliases\":[\"BOWKER\"],\"description\":\"Includes Bowker's test of symmetry in the output data set. The AGREE option in the TABLES statement requests computation of Bowker's test.\",\"type\":\"standalone\"},{\"name\":\"U\",\"optional\":true,\"description\":\"Includes the uncertainty coefficient (symmetric) in the output data set. The MEASURES option in the TABLES statement requests computation of the uncertainty coefficient.\",\"type\":\"standalone\"},{\"name\":\"UCR\",\"optional\":true,\"description\":\"Includes the asymmetric uncertainty coefficient U(C|R) in the output data set. The MEASURES option in the TABLES statement requests computation of the uncertainty coefficient.\",\"type\":\"standalone\"},{\"name\":\"URC\",\"optional\":true,\"description\":\"Includes the asymmetric uncertainty coefficient U(R|C) in the output data set. The MEASURES option in the TABLES statement requests computation of the uncertainty coefficient.\",\"type\":\"standalone\"},{\"name\":\"WTKAP\",\"optional\":true,\"aliases\":[\"WTKAPPA\"],\"description\":\"Includes the weighted kappa coefficient in the output data set. The AGREE option in the TABLES statement requests computation of weighted kappa, which is available for square tables larger than 2 x 2. For multiway tables, the WTKAP option also includes the overall weighted kappa coefficient in the output data set.\",\"type\":\"standalone\"}]},{\"name\":\"TABLES\",\"aliases\":[\"TABLE\"],\"description\":\"The TABLES statement requests one-way to n-way frequency and crosstabulation tables and statistics for those tables. If you omit the TABLES statement, PROC FREQTAB generates one-way frequency tables for all data set variables that are not listed in the other statements.\",\"help\":\"TABLES &lt;AGREE &lt; (agree-options)&gt;&gt;&lt;ALL&gt;&lt;ALPHA=α&gt; ...\",\"arguments\":[{\"name\":\"AGREE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests tests and measures of classification agreement for square tables.\",\"help\":\"AGREE=AC1 | DFSYM= | KAPPADETAILS | DETAILS | MNULLRATIO= | NULLKAPPA= | NULLWTKAPPA= | PABAK | PRINTKWTS | TABLES= | WT= | WTKAPPADETAILS\",\"type\":\"choice\",\"arguments\":[{\"name\":\"AC1\",\"type\":\"standalone\"},{\"name\":\"DFSYM=\",\"type\":\"value\"},{\"name\":\"KAPPADETAILS\",\"type\":\"standalone\"},{\"name\":\"DETAILS\",\"type\":\"standalone\"},{\"name\":\"MNULLRATIO=\",\"type\":\"value\"},{\"name\":\"NULLKAPPA=\",\"type\":\"value\"},{\"name\":\"NULLWTKAPPA=\",\"type\":\"value\"},{\"name\":\"PABAK\",\"type\":\"standalone\"},{\"name\":\"PRINTKWTS\",\"type\":\"standalone\"},{\"name\":\"TABLES=\",\"type\":\"value\"},{\"name\":\"WT=\",\"type\":\"value\"},{\"name\":\"WTKAPPADETAILS\",\"type\":\"standalone\"}]},{\"name\":\"ALL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests all of the tests and measures that are computed by the CHISQ, MEASURES, and CMH options.\",\"type\":\"standalone\"},{\"name\":\"ALPHA=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the level of confidence limits. The value of α must be between 0 and 1; a confidence level of α produces 100(1 - α)% confidence limits. By default ALPHA=0.05, which produces 95% confidence limits.\",\"type\":\"value\"},{\"name\":\"BINOMIAL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"BIN\"],\"description\":\"Requests the binomial proportion for one-way tables. BINOMIAL Options:\",\"help\":\"BINOMIAL=CORRECT | EQUIV | EQUIVALENCE | LEVEL= | MARGIN= | NONINF | NONINFERIORITY | OUTLEVEL | P= | SUP | SUPERIORITY | CL= | VAR=\",\"type\":\"choice\",\"arguments\":[{\"name\":\"CORRECT\",\"type\":\"standalone\"},{\"name\":\"EQUIV\",\"type\":\"standalone\"},{\"name\":\"EQUIVALENCE\",\"type\":\"standalone\"},{\"name\":\"LEVEL=\",\"type\":\"value\"},{\"name\":\"MARGIN=\",\"type\":\"value\"},{\"name\":\"NONINF\",\"type\":\"standalone\"},{\"name\":\"NONINFERIORITY\",\"type\":\"standalone\"},{\"name\":\"OUTLEVEL\",\"type\":\"standalone\"},{\"name\":\"P=\",\"type\":\"value\"},{\"name\":\"SUP\",\"type\":\"standalone\"},{\"name\":\"SUPERIORITY\",\"type\":\"standalone\"},{\"name\":\"CL=\",\"type\":\"value\"},{\"name\":\"VAR=\",\"type\":\"value\"}]},{\"name\":\"CELLCHI2\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays each crosstabulation table cell's contribution to the total Pearson chi-square statistic in the crosstabulation table.\",\"type\":\"standalone\"},{\"name\":\"CHISQ=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests chi-square tests of homogeneity or independence and measures of association that are based on the chi-square statistic. For two-way tables, the chi-square tests include the Pearson chi-square, likelihood ratio chi-square, and Mantel-Haenszel chi-square tests. The chi-square measures include the phi coefficient, contingency coefficient, and Cramér's V. For tables, the CHISQ option also provides Fisher's exact test and the continuity-adjusted chi-square test. For one-way tables, the CHISQ option provides the Pearson chi-square goodness-of-fit test. You can also request the likelihood ratio goodness-of-fit test for one-way tables by specifying the LRCHISQ chisq-option in parentheses after the CHISQ option. By default, the one-way chi-square tests are based on the null hypothesis of equal proportions. Alternatively, you can provide null hypothesis proportions or frequencies by specifying the TESTP= or TESTF= chisq-option, respectively. You can specify the following chisq-options in parentheses after the CHISQ option:\",\"help\":\"CHISQ=DF= | LRCHI | TESTF= | TESTP= | WARN=\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DF=\",\"type\":\"value\"},{\"name\":\"LRCHI\",\"type\":\"standalone\"},{\"name\":\"TESTF=\",\"type\":\"value\"},{\"name\":\"TESTP=\",\"type\":\"value\"},{\"name\":\"WARN=\",\"type\":\"value\"}]},{\"name\":\"CL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests confidence limits for the measures of association, which you can request by specifying the MEASURES option.\",\"type\":\"standalone\"},{\"name\":\"CMH=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests Cochran-Mantel-Haenszel statistics, which test for association between the row and column variables after adjusting for the remaining variables in a multiway table. The Cochran-Mantel-Haenszel statistics include the nonzero correlation statistic, the row mean scores (ANOVA) statistic, and the general association statistic. In addition, for $2 \\\\times 2$ tables, the CMH option provides the adjusted Mantel-Haenszel and logit estimates of the odds ratio and relative risks, together with their confidence limits. For stratified 2 x 2 tables, the CMH option provides the Breslow-Day test for homogeneity of odds ratios. (To request Tarone's adjustment for the Breslow-Day test, specify the BDT cmh-option.) You can specify the following cmh-options in parentheses after the CMH option.\",\"help\":\"CMH=BDT | GAILSIMON | GS | MANTELFLEISS | MF\",\"type\":\"choice\",\"arguments\":[{\"name\":\"BDT\",\"type\":\"standalone\"},{\"name\":\"GAILSIMON\",\"type\":\"standalone\"},{\"name\":\"GS\",\"type\":\"standalone\"},{\"name\":\"MANTELFLEISS\",\"type\":\"standalone\"},{\"name\":\"MF\",\"type\":\"standalone\"}]},{\"name\":\"CMH1=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests the Cochran-Mantel-Haenszel correlation statistic. This option does not provide the CMH row mean scores (ANOVA) statistic or the general association statistic, which are provided by the CMH option. You can specify the following cmh-options in parentheses after the CMH option.\",\"help\":\"CMH1=BDT | GAILSIMON | GS | MANTELFLEISS | MF\",\"type\":\"choice\",\"arguments\":[{\"name\":\"BDT\",\"type\":\"standalone\"},{\"name\":\"GAILSIMON\",\"type\":\"standalone\"},{\"name\":\"GS\",\"type\":\"standalone\"},{\"name\":\"MANTELFLEISS\",\"type\":\"standalone\"},{\"name\":\"MF\",\"type\":\"standalone\"}]},{\"name\":\"CMH2=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests the Cochran-Mantel-Haenszel correlation statistic and the row mean scores (ANOVA) statistic. This option does not provide the CMH general association statistic, which is provided by the CMH option. You can specify the following cmh-options in parentheses after the CMH option.\",\"help\":\"CMH2=BDT | GAILSIMON | GS | MANTELFLEISS | MF\",\"type\":\"choice\",\"arguments\":[{\"name\":\"BDT\",\"type\":\"standalone\"},{\"name\":\"GAILSIMON\",\"type\":\"standalone\"},{\"name\":\"GS\",\"type\":\"standalone\"},{\"name\":\"MANTELFLEISS\",\"type\":\"standalone\"},{\"name\":\"MF\",\"type\":\"standalone\"}]},{\"name\":\"CONTENTS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the label to use for crosstabulation tables in the contents file, the Results window, and the trace record.\",\"help\":\"CONTENTS='*string*'\",\"type\":\"value\"},{\"name\":\"CROSSLIST=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays crosstabulation tables in ODS column format instead of the default crosstabulation cell format. You can specify the following options:\",\"help\":\"CROSSLIST=STDRES | PEARSONRES\",\"type\":\"choice\",\"arguments\":[{\"name\":\"STDRES\",\"type\":\"standalone\"},{\"name\":\"PEARSONRES\",\"type\":\"standalone\"}]},{\"name\":\"CUMCOL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays the cumulative column percentages in the cells of the crosstabulation table.\",\"type\":\"standalone\"},{\"name\":\"DEVIATION\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays the deviations of the frequencies from the expected frequencies (frequency – expected) in the crosstabulation table.\",\"type\":\"standalone\"},{\"name\":\"EXPECTED\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays the expected cell frequencies in the crosstabulation table. The expected frequencies are computed under the null hypothesis that the row and column variables are independent.\",\"type\":\"standalone\"},{\"name\":\"FISHER\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests Fisher's exact test for tables that are larger than 2 x 2.\",\"type\":\"standalone\"},{\"name\":\"FORMAT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies a format for the following crosstabulation table cell values: frequency, expected frequency, and deviation.\",\"help\":\"FORMAT=*format-name*\",\"type\":\"value\"},{\"name\":\"GAILSIMON\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"GS\"],\"description\":\"Syntax: GAILSIMON < (COLUMN=1 | 2)> GS < (COLUMN=1 | 2)> Requests the Gail-Simon test for qualitative interaction, which applies to stratified 2 x 2 tables.\",\"type\":\"standalone\"},{\"name\":\"JT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests the Jonckheere-Terpstra test.\",\"type\":\"standalone\"},{\"name\":\"LIST\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays two-way and multiway tables by using a list format instead of the default crosstabulation cell format. This option displays an entire multiway table in one table, instead of displaying a separate two-way table for each stratum.\",\"type\":\"standalone\"},{\"name\":\"MAXLEVELS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the maximum number of variable levels to display in one-way frequency tables. The value of n must be a positive integer. PROC FREQTAB displays the first n variable levels, matching the order in which the levels appear in the one-way frequency table.\",\"type\":\"value\"},{\"name\":\"MEASURES\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests measures of association and their asymptotic standard errors. This option provides the following measures: gamma, Kendall's tau-b, Stuart's tau-c, Somers' D(C|R), Somers' D(R|C), Pearson and Spearman correlation coefficients, lambda (symmetric and asymmetric), and uncertainty coefficients (symmetric and asymmetric). If you specify the CL option in parentheses after the MEASURES option, PROC FREQTAB provides confidence limits for the measures of association.\",\"type\":\"standalone\"},{\"name\":\"NOCOL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Suppresses the display of column percentages in crosstabulation table.\",\"type\":\"standalone\"},{\"name\":\"NOCUM\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Suppresses the display of cumulative frequencies and percentages in one-way frequency tables.\",\"type\":\"standalone\"},{\"name\":\"NOFREQ\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Suppresses the display of cell frequencies in crosstabulation tables.\",\"type\":\"standalone\"},{\"name\":\"NOPERCENT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Suppresses the display of overall percentages in crosstabulation tables.\",\"type\":\"standalone\"},{\"name\":\"NOPRINT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Suppresses the display of frequency and crosstabulation tables but displays all requested tests and statistics.\",\"type\":\"standalone\"},{\"name\":\"NOROW\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses the display of row percentages in crosstabulation table cells.\",\"type\":\"standalone\"},{\"name\":\"NOSPARSE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Suppresses zero-frequency cells in the LIST table, CROSSLIST table, and OUT= data set.\",\"type\":\"standalone\"},{\"name\":\"NOWARN\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Suppresses the log warning message for the validity of the asymptotic Pearson chi-square test. By default, PROC FREQTAB provides a validity warning for the asymptotic Pearson chi-square test when more than 20cells have expected frequencies that are less than 5. This warning message appears in the log if you specify the NOPRINT option in the PROC FREQTAB statement.\",\"type\":\"standalone\"},{\"name\":\"ODDSRATIO=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"OR\"],\"description\":\"Requests the odds ratio and confidence limits for 2 x 2 tables. Specifying the OR option without the CL= option is equivalent to specifying the RELRISK option, which produces the \\\"Odds Ratio and Relative Risks\\\" table. When you specify the OR(CL=) option, PROC FREQTAB does not produce the \\\"Odds Ratio and Relative Risks\\\" table unless you also specify the RELRISK or MEASURES option. You can specify the following types:\",\"help\":\"ODDSRATIO=CL= | EXACT | LR | MIDP | SCORE | CORRECT= | WALD | WALDMODIFIED\",\"type\":\"choice\",\"arguments\":[{\"name\":\"CL=\",\"type\":\"value\"},{\"name\":\"EXACT\",\"type\":\"standalone\"},{\"name\":\"LR\",\"type\":\"standalone\"},{\"name\":\"MIDP\",\"type\":\"standalone\"},{\"name\":\"SCORE\",\"type\":\"standalone\"},{\"name\":\"CORRECT=\",\"type\":\"value\"},{\"name\":\"WALD\",\"type\":\"standalone\"},{\"name\":\"WALDMODIFIED\",\"type\":\"standalone\"}]},{\"name\":\"OUT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Names an output data set that contains frequency or crosstabulation table counts and percentages.\",\"help\":\"OUT=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"OUTCUM\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Includes cumulative frequencies and cumulative percentages in the OUT= data set for one-way tables.\",\"type\":\"standalone\"},{\"name\":\"OUTEXPECT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Includes expected cell frequencies in the OUT= data set for crosstabulation tables.\",\"type\":\"standalone\"},{\"name\":\"OUTPCT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Includes the following additional variables in the OUT= data set for crosstabulation tables: PCT_COL percentage of column frequency PCT_ROW percentage of row frequency\",\"type\":\"standalone\"},{\"name\":\"PLCORR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"POLYCHORIC\"],\"description\":\"Requests the polychoric correlation coefficient and its asymptotic standard error. For 2 x 2 tables, this statistic is more commonly known as the tetrachoric correlation coefficient, and it is labeled as such in the displayed output.\",\"help\":\"PLCORR=ADJUST | CONVERGE= | MAXITER=\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ADJUST\",\"type\":\"standalone\"},{\"name\":\"CONVERGE=\",\"type\":\"value\"},{\"name\":\"MAXITER=\",\"type\":\"value\"}]},{\"name\":\"PLOTS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests plots for PROC FREQTAB to produce by using ODS Graphics. Syntax: PLOTS < ( global-plot-options ) > < = plot-request < ( plot-options ) > PLOTS < ( global-plot-options ) > < = ( plot-request < (plot-options) > <...plot-request < (plot-options ) >> )> You can specify the following global-plot-option:\",\"help\":\"PLOTS=ALL | AGREEPLOT | CUMFREQPLOT | DEVIATIONPLOT | FREQPLOT | KAPPAPLOT | MOSAICPLOT | NONE | ODDSRATIOPLOT | RELRISKPLOT | RISKDIFFPLOT | WTKAPPAPLOT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ALL\",\"followsDelimiter\":\"/\",\"description\":\"Requests all plots associated with the specified analyses. If you specify the PLOTS=ALL option, PROC FREQTAB produces the frequency, cumulative frequency, and mosaic plots that are associated with the tables that you request. (These plots are not produced by default when ODS Graphics is enabled.)\",\"type\":\"standalone\"},{\"name\":\"AGREEPLOT\",\"followsDelimiter\":\"/\",\"description\":\"Syntax: AGREEPLOT < (plot-options)> Requests an agreement plot (Bangdiwala and Bryan 1987), An agreement plot displays the strength of agreement in a two-way table, where the row and column variables represent two independent ratings of n subjects. The following plot-options that are available for agreement plots: LEGEND= NO | YES legend PARTIAL= NO | YES partial agreement SHOWSCALE= NO | YES Frequency scale STATS Statistics\",\"type\":\"standalone\"},{\"name\":\"CUMFREQPLOT\",\"followsDelimiter\":\"/\",\"description\":\"Syntax: CUMFREQPLOT <(plot-options)> Requests a plot of cumulative frequencies. Cumulative frequency plots are available for one-way frequency tables. The following plot-options are available for CUMFREQPLOT: ORIENT=, SCALE=, and TYPE=.\",\"type\":\"standalone\"},{\"name\":\"DEVIATIONPLOT\",\"followsDelimiter\":\"/\",\"description\":\"Syntax: DEVIATIONPLOT <(plot-options)> Requests a plot of relative deviations from expected frequencies. Deviation plots are available for chi-square analysis of one-way frequency tables. The following plot-options are available for DEVIATIONPLOT: NOSTAT, ORIENT=, and TYPE=.\",\"type\":\"standalone\"},{\"name\":\"FREQPLOT\",\"followsDelimiter\":\"/\",\"description\":\"Syntax: FREQPLOT <(plot-options)> Requests a frequency plot. Frequency plots are available for frequency and crosstabulation tables. For multiway tables, PROC FREQTAB provides a two-way frequency plot for each stratum. You can specify the following plot-options for all frequency plots: ORIENT= HORIZONTAL | VERTICAL SCALE= FREQ | GROUPPERCENT | LOG | PERCENT | SQRT TYPE= BARCHART | DOTPLOT You can specify the following plot-options for frequency plots of two-way (and multiway) tables: GROUPBY= COLUMN | ROW NPANELPOS= number TWOWAY= CLUSTER | GROUPHORIZONTAL | GROUPVERTICAL\",\"type\":\"standalone\"},{\"name\":\"KAPPAPLOT\",\"followsDelimiter\":\"/\",\"description\":\"Syntax: KAPPAPLOT <(plot-options)> Requests a plot of kappa statistics along with confidence limits. Kappa plots are available for multiway square tables and display the kappa statistic (with confidence limits) for each two-way table (stratum). The following plot-options are available for KAPPAPLOT: CLDISPLAY= BAR | LINE | LINEARROW | SERIF | SERIFARROW Error bar type COMMON= NO | YES Overall kappa NPANELPOS= number Statistics per graphic ORDER= ASCENDING | DESCENDING Order of two-way levels RANGE= values | CLIP Range to display STATS Statistic values\",\"type\":\"standalone\"},{\"name\":\"MOSAICPLOT\",\"followsDelimiter\":\"/\",\"description\":\"Syntax: MOSAICPLOT <(plot-option)> Requests a mosaic plot. Mosaic plots are available for two-way and multiway crosstabulation tables; for multiway tables, PROC FREQTAB provides a mosaic plot for each two-way table (stratum). You can specify the following plot-options: COLORSTAT < =PEARSONRES | STDRES> colors the mosaic plot tiles according to the values of residuals. If you specify COLORSTAT=PEARSONRES, the tiles are colored according to the Pearson residuals of the corresponding table cells. If you specify COLORSTAT=STDRES, the tiles are colored according to the standardized residuals of the corresponding table cells. SQUARE produces a square mosaic plot, where the height of the Y axis equals the width of the X axis.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"followsDelimiter\":\"/\",\"description\":\"Suppresses all plots.\",\"type\":\"standalone\"},{\"name\":\"ODDSRATIOPLOT\",\"followsDelimiter\":\"/\",\"description\":\"Syntax: ODDSRATIOPLOT <(plot-options)> Requests a plot of odds ratios and confidence limits for a multiway table. Odds ratio plots are available for multiway 2 x 2 tables and display the odds ratio (with confidence limits) for each 2 x 2 table (stratum). To produce an odds ratio plot, you must also specify the MEASURES , OR , or RELRISK option in the TABLES statement to compute the odds ratios. The following plot-options are available: CL=EXACT | LR | MIDP | SCORE | WALD | WALDMODIFIED CLDISPLAY= BAR | LINE | LINEARROW | SERIF | SERIFARROW COLUMN= 1 | 2 COMMON= NO | YES LOGBASE= 2 | E | 10 NPANELPOS= number ORDER= ASCENDING | DESCENDING RANGE=values | CLIP STATS\",\"type\":\"standalone\"},{\"name\":\"RELRISKPLOT\",\"followsDelimiter\":\"/\",\"description\":\"Syntax: RELRISKPLOT < (plot-options)> Requests a plot of relative risks along with confidence limits. Relative risk plots are available for multiway 2 x 2 tables and display the relative risk (with confidence limits) for each 2 x 2 table (stratum). The following plot-options are available: CL=EXACT | LR | MIDP | SCORE | WALD | WALDMODIFIED CLDISPLAY= BAR | LINE | LINEARROW | SERIF | SERIFARROW COLUMN= 1 | 2 COMMON= NO | YES LOGBASE= 2 | E | 10 NPANELPOS= number ORDER= ASCENDING | DESCENDING RANGE=values | CLIP STATS\",\"type\":\"standalone\"},{\"name\":\"RISKDIFFPLOT\",\"followsDelimiter\":\"/\",\"description\":\"Syntax: RISKDIFFPLOT < (plot-options)> Requests a plot of risk (proportion) differences along with confidence limits. Risk difference plots are available for multiway 2 x 2tables and display the risk difference (with confidence limits) for each 2 x 2 table (stratum). To produce a risk difference plot, you must also specify the RISKDIFF option in the TABLES statement to compute risk differences. The following plot-options are available: CL=EXACT | LR | MIDP | SCORE | WALD | WALDMODIFIED CLDISPLAY= BAR | LINE | LINEARROW | SERIF | SERIFARROW COLUMN= 1 | 2 COMMON= NO | YES LOGBASE= 2 | E | 10 NPANELPOS= number ORDER= ASCENDING | DESCENDING RANGE=values | CLIP STATS\",\"type\":\"standalone\"},{\"name\":\"WTKAPPAPLOT\",\"followsDelimiter\":\"/\",\"description\":\"Syntax: WTKAPPAPLOT <(plot-options)> Requests a plot of weighted kappa coefficients along with confidence limits. Weighted kappa plots are available for multiway square tables and display the weighted kappa coefficient (with confidence limits) for each two-way table (stratum). Weighted kappa plots also display the overall weighted kappa coefficient unless you specify the COMMON=NO plot-option. The following plot-options are available: CLDISPLAY= BAR | LINE | LINEARROW | SERIF | SERIFARROW COMMON= NO | YES NPANELPOS= number ORDER= ASCENDING | DESCENDING RANGE=values | CLIP STATS\",\"type\":\"standalone\"}]},{\"name\":\"PRINTKWTS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays the agreement weights that PROC FREQTAB uses to compute the weighted kappa coefficient. Agreement weights reflect the relative agreement between pairs of variable levels.\",\"type\":\"standalone\"},{\"name\":\"RELRISK=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests relative risk measures and their confidence limits for 2 x 2 tables. These measures include the odds ratio, the column 1 relative risk, and the column 2 relative risk.\",\"help\":\"RELRISK=COLUMN= | PRINTALL | CL= | EQUAL | EQUIV | EQUIVALENCE | MARGIN= | METHOD= | NONINF | NONINFERIORITY | SUP | SUPERIORITY\",\"type\":\"choice\",\"arguments\":[{\"name\":\"COLUMN=\",\"type\":\"value\"},{\"name\":\"PRINTALL\",\"type\":\"standalone\"},{\"name\":\"CL=\",\"type\":\"value\"},{\"name\":\"EQUAL\",\"type\":\"standalone\"},{\"name\":\"EQUIV\",\"type\":\"standalone\"},{\"name\":\"EQUIVALENCE\",\"type\":\"standalone\"},{\"name\":\"MARGIN=\",\"type\":\"value\"},{\"name\":\"METHOD=\",\"type\":\"value\"},{\"name\":\"NONINF\",\"type\":\"standalone\"},{\"name\":\"NONINFERIORITY\",\"type\":\"standalone\"},{\"name\":\"SUP\",\"type\":\"standalone\"},{\"name\":\"SUPERIORITY\",\"type\":\"standalone\"}]},{\"name\":\"RISKDIFF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests risks (binomial proportions) and risk differences for 2 x 2 tables. By default, this option provides the row 1 risk, row 2 risk, total (overall) risk, and risk difference (row 1 – row 2), together with their asymptotic standard errors and Wald confidence limits; by default, this option also provides exact (Clopper-Pearson) confidence limits for the row 1, row 2, and total risks.\",\"help\":\"RISKDIFF=COLUMN= | COMMON | CORRECT | NORISKS | CL= | EQUAL | EQUIV | EQUIVALENCE | MARGIN= | METHOD= | NONINF | NONINFERIORITY | SUP | SUPERIORITY | VAR=\",\"type\":\"choice\",\"arguments\":[{\"name\":\"COLUMN=\",\"type\":\"value\"},{\"name\":\"COMMON\",\"type\":\"standalone\"},{\"name\":\"CORRECT\",\"type\":\"standalone\"},{\"name\":\"NORISKS\",\"type\":\"standalone\"},{\"name\":\"CL=\",\"type\":\"value\"},{\"name\":\"EQUAL\",\"type\":\"standalone\"},{\"name\":\"EQUIV\",\"type\":\"standalone\"},{\"name\":\"EQUIVALENCE\",\"type\":\"standalone\"},{\"name\":\"MARGIN=\",\"type\":\"value\"},{\"name\":\"METHOD=\",\"type\":\"value\"},{\"name\":\"NONINF\",\"type\":\"standalone\"},{\"name\":\"NONINFERIORITY\",\"type\":\"standalone\"},{\"name\":\"SUP\",\"type\":\"standalone\"},{\"name\":\"SUPERIORITY\",\"type\":\"standalone\"},{\"name\":\"VAR=\",\"type\":\"value\"}]},{\"name\":\"SCORES=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the type of row and column scores that PROC FREQTAB uses to compute the following statistics: Mantel-Haenszel chi-square, Pearson correlation, Cochran-Armitage test for trend, weighted kappa coefficient, and Cochran-Mantel-Haenszel statistics\",\"help\":\"SCORES=MODRIDIT | RANK | RIDIT | TABLE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"MODRIDIT\",\"followsDelimiter\":\"/\",\"description\":\"Modified ridit scores represent the expected values of the order statistics of the uniform distribution on (0,1).\",\"type\":\"standalone\"},{\"name\":\"RANK\",\"followsDelimiter\":\"/\",\"description\":\"Rank scores yield midranks for tied values.\",\"type\":\"standalone\"},{\"name\":\"RIDIT\",\"followsDelimiter\":\"/\",\"description\":\"Rank scores standardized by the sample size.\",\"type\":\"standalone\"},{\"name\":\"TABLE\",\"followsDelimiter\":\"/\",\"description\":\"Table scores are the values of the row and column levels.\",\"type\":\"standalone\"}]},{\"name\":\"SCOROUT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays the row and column scores that PROC FREQTAB uses to compute score-based tests and statistics.\",\"type\":\"standalone\"},{\"name\":\"TOTPCT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays the percentage of the total multiway table frequency in crosstabulation tables for n-way tables, where n > 2. By default, PROC FREQTAB displays the percentage of the individual two-way table frequency but does not display the percentage of the total frequency for multiway crosstabulation tables.\",\"type\":\"standalone\"},{\"name\":\"TREND\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests the Cochran-Armitage test for trend. The table must be 2 x C or R x 2 to compute the trend test.\",\"type\":\"standalone\"}]},{\"name\":\"TEST\",\"description\":\"The TEST statement requests asymptotic tests for measures of association and measures of agreement. The test-options identify which tests to compute.\",\"help\":\"TEST AGREE GAMMA KAPPA ...\",\"arguments\":[{\"name\":\"AGREE\",\"description\":\"Requests an asymptotic test for the simple kappa coefficient and weighted kappa coefficient.\",\"type\":\"standalone\"},{\"name\":\"GAMMA\",\"description\":\"Requests an asymptotic test for the gamma statistic.\",\"type\":\"standalone\"},{\"name\":\"KAPPA\",\"description\":\"Requests an asymptotic test for the simple kappa coefficient.\",\"type\":\"standalone\"},{\"name\":\"KENTB\",\"aliases\":[\"TAUB\"],\"description\":\"Requests an asymptotic test for Kendall's τ-b\",\"type\":\"standalone\"},{\"name\":\"MEASURES\",\"description\":\"Requests asymptotic tests for the following measures of association: gamma, Kendall's tau-b, Pearson correlation coefficient, Somers' D(C|R), Somers' D(R|C), Spearman correlation coefficient, and Stuart's tau-c.\",\"type\":\"standalone\"},{\"name\":\"PCORR\",\"description\":\"Requests an asymptotic test for the Pearson correlation coefficient.\",\"type\":\"standalone\"},{\"name\":\"PLCORR\",\"description\":\"Requests Wald and likelihood ratio tests for the polychoric correlation coefficient.\",\"type\":\"standalone\"},{\"name\":\"SCORR\",\"description\":\"Requests an asymptotic test for the Spearman correlation coefficient\",\"type\":\"standalone\"},{\"name\":\"SMDCR\",\"description\":\"Requests an asymptotic test for Somer's D(C|R)\",\"type\":\"standalone\"},{\"name\":\"SMDRC\",\"description\":\"Requests an asymptotic test for Somer's D(R|C)\",\"type\":\"standalone\"},{\"name\":\"WTKAP\",\"aliases\":[\"WTKAPPA\"],\"description\":\"Requests an asymptotic test for the weighted kappa coefficient.\",\"type\":\"standalone\"},{\"name\":\"STUTC\",\"optional\":true,\"aliases\":[\"TAUC\"],\"description\":\"Requests an asymptotic test for Stuart's τ-c\",\"type\":\"standalone\"}]},{\"name\":\"WEIGHT\",\"description\":\"The WEIGHT statement names a numeric variable that provides a weight for each observation in the input data set. The WEIGHT statement is most commonly used to input cell count data. If you use a WEIGHT statement, PROC FREQTAB assumes that an observation represents n observations, where n is the value of variable. The value of the WEIGHT variable is not required to be an integer.\",\"help\":\"WEIGHT &lt;ZEROS&gt;\",\"arguments\":[{\"name\":\"ZEROS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Includes observations with weights of 0. By default, PROC FREQTAB ignores observations that have weights of 0.\",\"type\":\"standalone\"}]}],\"supportSiteInformation\":{\"docsetId\":\"casstat\",\"docsetVersion\":\"latest\",\"docsetTargetFile\":\"casstat_freqtab_toc.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/G3D.json",
    "content": "{\"name\":\"G3D\",\"statements\":[{\"name\":\"PROC G3D\",\"description\":\"Can identify the data set that contains the plot variables. Can also specify an annotate data set and an output catalog.\",\"help\":\"PROC G3D <DATA=input-data-set><ANNOTATE=annotate-data-set><GOUT=<libref.>output-catalog>;\\n\\tPLOT plot-request</options >;\\n\\n\\tSCATTER plot-request</options >;\\n\\n\\tATTRIB  variable-list(s) attribute-list(s);\\n\\n\\tBY <DESCENDING>variable-1\\n\\t\\t< ... <DESCENDING> variable-n>\\n\\t\\t<NOTSORTED>;\\n\\n\\tFORMAT variable-1< ...variable-n><format-1><variable-1< ...variable-n><format-2>> ...<DEFAULT=default-format>;\\n\\n\\tLABEL variable-1=label-1 | ' '<variable-n=label-n | ' '> ...;\\n\\n\\tNOTE <text-arguments(s)>;\\n\\n\\tWHERE where-expression;\\n\",\"arguments\":[{\"name\":\"ANNOTATE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"ANNO=\"],\"description\":\"specifies an annotate data set to annotate all of the graphs that are produced by the G3D procedure.\",\"help\":\"ANNOTATE=*annotate-data-set*\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"n1q2ude17ioedsn1bneb7wajbfjr\"},{\"name\":\"DATA=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the SAS data set that contains the variables to plot.\",\"help\":\"DATA=*input-data-set*\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"n1s3y5e8aacpbgn1sgty20f5z9jc\"},{\"name\":\"GOUT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the SAS catalog in which to save the graphics output that is produced by the G3D procedure.\",\"help\":\"GOUT=&lt;*libref*.&gt;*output-catalog*\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"n1n3r7ioaq8dmzn1t7833sup3tg7\"}],\"supportSiteTargetFile\":\"p08z2bo1q18b2bn1exmky9q1t1h7.htm\"},{\"name\":\"PLOT\",\"description\":\"Creates three-dimensional surface plots using values of three numeric variables from the input data set.\",\"help\":\"PLOT *y*x=z*&lt;/*options*&gt;;\",\"arguments\":[{\"name\":\"Y\",\"description\":\"is the horizontal variable whose values are plotted on the Y axis\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0o7umzukaet2vn135l0wgfdy420\"},{\"name\":\"X\",\"description\":\"is the horizontal variable whose values are plotted on the X axis\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0pakxipckmdttn10ggq9c9sc3du\"},{\"name\":\"Z\",\"description\":\"is the vertical variable whose values are plotted on the Z axis\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n09ip5znpao66bn1qgmm2sjq0mk4\"},{\"name\":\"ANNOTATE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"ANNO=\"],\"description\":\"specifies an annotate data set to annotate plots that are produced by the PLOT statement.\",\"help\":\"ANNOTATE=*annotate-data-set*\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"n1cqhba4xtzz6hn1uz9pojls2b4p\"},{\"name\":\"CAXIS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"CAXES=\",\"CA=\"],\"description\":\"specifies a color for all the axes lines and tick marks.\",\"help\":\"CAXIS=*axis-color*\",\"type\":\"color\",\"supportSiteTargetFragment\":\"n1fwwo3dk54i2nn1otpcc4cljy2n\"},{\"name\":\"CBOTTOM=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a color for the bottom of the plot surface.\",\"help\":\"CBOTTOM=*bottom-surface-color*\",\"type\":\"color\",\"supportSiteTargetFragment\":\"n1xofesd1az1ymn1eascxh8v59av\"},{\"name\":\"CTEXT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"CT=\"],\"description\":\"specifies a color for the axis labels and axis tick mark values.\",\"help\":\"CTEXT=*text-color*\",\"type\":\"color\",\"supportSiteTargetFragment\":\"n03wfypxjbk4arn1waorwx07nhas\"},{\"name\":\"CTOP=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a color for the top of the plot surface.\",\"help\":\"CTOP=*top-surface-color*\",\"type\":\"color\",\"supportSiteTargetFragment\":\"n02x96p7gp5pa8n11zwromm9f686\"},{\"name\":\"DESCRIPTION=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"DES=\"],\"description\":\"specifies a description of the output.\",\"help\":\"DESCRIPTION=\\\"*description*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p104sskkfhm3l4n1kf1yvx3h8973\"},{\"name\":\"GRID\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"draws reference lines at the major tick marks on all axes.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1fb2zqzpkahkdn1a72a388nff4v\"},{\"name\":\"NAME=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the name of the GRSEG catalog entry and the name of the graphics output file, if one is created.\",\"help\":\"NAME=\\\"*name*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1eprr5ceuvk3rn1hdpgnp7k7067\"},{\"name\":\"NOAXIS\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"NOAXES\"],\"description\":\"specifies that the plot has no axes, axes labels, or tick mark values.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n09elz03ucaxhmn1pxwdbidv5d7l\"},{\"name\":\"NOLABEL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that the plot has no axis labels or tick mark values.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0facoawxi39qrn11bekofxh8k51\"},{\"name\":\"ROTATE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies one or more angles at which to rotate the X-Y plane around the perpendicular Z axis.\",\"help\":\"ROTATE=*angle-list*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0crozqvxfilyxn149qke4by864i\"},{\"name\":\"SIDE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"produces a surface graph with a side wall.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0cfuyn9q3dt92n1t58p72rmxcie\"},{\"name\":\"TILT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies one or more angles to tilt the graph toward you.\",\"help\":\"TILT=*angle-list*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0re5mla50ldaen1mesrbnje4cvn\"},{\"name\":\"XAXIS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"assigns an axis definition, where n is the axis-statement number, 1 to 99.\",\"help\":\"XAXIS=AXIS*n*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1pt38j09n61szn1nsqmi5pi0oo2\"},{\"name\":\"XTICKNUM=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the number of major tick marks that are located on a plot's x axis.\",\"help\":\"XTICKNUM=*number-of-major-tick-marks*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n151i1shvs4htsn1t7uelvoypbg4\"},{\"name\":\"XYTYPE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the direction of lines that are used to represent the plot's surface.\",\"help\":\"XYTYPE=0 | 1 | 2 | 3\",\"type\":\"choice\",\"arguments\":[{\"name\":\"0\",\"followsDelimiter\":\"/\",\"description\":\"specifies no lines are displayed for the JAVAIMG device only. The plot is displayed as a solid surface.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1op81nx1az29nn1ioudvjwsguhf\"},{\"name\":\"1\",\"followsDelimiter\":\"/\",\"description\":\"draws lines that are parallel to the X axis. The surface is displayed by using lines that represent Y-axis values.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n153u0hsp6mct5n1385e202ff37q\"},{\"name\":\"2\",\"followsDelimiter\":\"/\",\"description\":\"draws lines that are parallel to the Y axis. The surface is displayed by using lines that represent X-axis values.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1hknrod3gutden1pd3dapk21zjw\"},{\"name\":\"3\",\"followsDelimiter\":\"/\",\"description\":\"draws lines that are parallel to both the X and Y axes. Displays the surface by using lines that represent values for both X and Y.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0phi17pbmfkicn1s9a406kpuvtj\"}],\"supportSiteTargetFragment\":\"n0imf238l2giw4n1b5f73pofq1ys\"},{\"name\":\"YAXIS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"assigns an axis definition, where n is the axis-statement number, 1 to 99.\",\"help\":\"YAXIS=AXIS*n*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n071fb4eo60yzkn1jkbfr0e8hoj6\"},{\"name\":\"YTICKNUM=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the number of major tick marks that are located on a plot's Y axis.\",\"help\":\"YTICKNUM=*number-of-major-tick-marks*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1u82ji33qvdxfn1kj2m4w3d75ha\"},{\"name\":\"ZAXIS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"assigns an axis definition, where n is the axis-statement number, 1 to 99.\",\"help\":\"ZAXIS=AXIS*n*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1jhbu3iorwy8en13fv5cnvzi1dv\"},{\"name\":\"ZMAX=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the maximum value that is displayed on a plot's Z axis.\",\"help\":\"ZMAX=*maximum-axis-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1ja4392n9ckhxn14ycelqnrcn8j\"},{\"name\":\"ZMIN=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the minimum value that is displayed on a plot's Z axis.\",\"help\":\"ZMIN=*minimum-axis-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p12f5df9ym64xsn1ol0ua1yopcrx\"},{\"name\":\"ZTICKNUM=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the number of major tick marks that are located on a plot's Z axis.\",\"help\":\"ZTICKNUM=*number-of-major-tick-marks*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0pt0vmet2u71gn1xv4w5zztop9m\"}],\"supportSiteTargetFile\":\"n132vgqo721byrn1mw0ulyjx44jd.htm\"},{\"name\":\"SCATTER\",\"aliases\":[\"SCAT\"],\"description\":\"Creates three-dimensional scatter plots using values of three numeric variables from the input data set.\",\"help\":\"SCATTER *y*x=z*&lt;/*options*&gt;;\",\"arguments\":[{\"name\":\"Y\",\"description\":\"specifies a horizontal variable whose values are plotted on the Y axis\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1ejbb0y9rofzsn1k4vjwgbe0101\"},{\"name\":\"X\",\"description\":\"specifies a horizontal variable whose values are plotted on the X axis\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0sr44fjis2cjfn13yt10scloqto\"},{\"name\":\"Z\",\"description\":\"specifies a vertical variable whose values are plotted on the Z axis\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1niytrvv9xsfgn1cp0ge4q875hh\"},{\"name\":\"ANNOTATE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"ANNO=\"],\"description\":\"specifies an annotate data set to annotate plots that are produced by the SCATTER statement.\",\"help\":\"ANNOTATE=*annotate-data-set*\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"n0u287a7h2eypgn1kmuipnzhfw0b\"},{\"name\":\"CAXIS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a color for axis lines, tick marks, and horizontal grid lines.\",\"help\":\"CAXIS=*axis-color*\",\"type\":\"color\",\"supportSiteTargetFragment\":\"p1ikw3r1fakhn2n1pbwe767rdwlw\"},{\"name\":\"COLOR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a color name or a character variable in the input data set whose values are color names.\",\"help\":\"COLOR=\\\"*data-point-color*\\\" | *data-point-color-variable*\",\"type\":\"choice\",\"arguments\":[{\"name\":\"\\\"data-point-color\\\"\",\"placeholder\":true,\"type\":\"color\"},{\"name\":\"data-point-color-variable\",\"placeholder\":true,\"type\":\"color\"}],\"supportSiteTargetFragment\":\"p1284lhzowwrwsn1m1qvu1hizxw5\"},{\"name\":\"CTEXT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a color for all text on the axes, including tick mark values and axis labels.\",\"help\":\"CTEXT=*text-color*\",\"type\":\"color\",\"supportSiteTargetFragment\":\"p16zl46olxwewbn1103nav6k0e3w\"},{\"name\":\"DESCRIPTION=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"DES=\"],\"description\":\"specifies the description of the plot.\",\"help\":\"DESCRIPTION=\\\"*description*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0bq4ttngrhy2jn1giidg4qqd09g\"},{\"name\":\"GRID\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"draws reference lines at the major tick marks on all axes.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1a3y0cqc58sfin1mciw7m4rfl75\"},{\"name\":\"NAME=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the name of the GRSEG catalog entry and the name of the graphics output file, if one is created.\",\"help\":\"NAME=\\\"*name*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n07steu2qzn3tdn1cy0u9hkavoeq\"},{\"name\":\"NOAXIS\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"NOAXES\"],\"description\":\"specifies that a plot has no axes, including labels, tick marks, and values.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0mz60dstqnk2tn12t4wuiynmocw\"},{\"name\":\"NOLABEL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that a plot has no axes labels or tick mark values.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n11ipxits6f26on13o2lfpoh9lt1\"},{\"name\":\"NONEEDLE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that a plot has no lines that connect the shapes representing data points to the X-Y plane.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1usdiwwl7oh49n1x0vht1fdpi2s\"},{\"name\":\"ROTATE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies one or more angles at which to rotate the X-Y plane around the perpendicular Z axis.\",\"help\":\"ROTATE=*angle-list*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0aib5t59vry82n1aa3rok0t170s\"},{\"name\":\"SHAPE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a symbol name or a character variable whose values are symbol names.\",\"help\":\"SHAPE=*shape-variable* | BALLOON | CLUB |  CROSS |  CUBE |  CYLINDER |  DIAMOND |  FLAG |  HEART |  PILLAR |  POINT |  PRISM |  PYRAMID |  SPADE |  SQUARE |  STAR\",\"type\":\"choice\",\"arguments\":[{\"name\":\"shape-variable\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"BALLOON\",\"type\":\"standalone\"},{\"name\":\"CLUB\",\"type\":\"standalone\"},{\"name\":\"CROSS\",\"type\":\"standalone\"},{\"name\":\"CUBE\",\"type\":\"standalone\"},{\"name\":\"CYLINDER\",\"type\":\"standalone\"},{\"name\":\"DIAMOND\",\"type\":\"standalone\"},{\"name\":\"FLAG\",\"type\":\"standalone\"},{\"name\":\"HEART\",\"type\":\"standalone\"},{\"name\":\"PILLAR\",\"type\":\"standalone\"},{\"name\":\"POINT\",\"type\":\"standalone\"},{\"name\":\"PRISM\",\"type\":\"standalone\"},{\"name\":\"PYRAMID\",\"type\":\"standalone\"},{\"name\":\"SPADE\",\"type\":\"standalone\"},{\"name\":\"SQUARE\",\"type\":\"standalone\"},{\"name\":\"STAR\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"n0vd2lsvxqlh5on1f923dbcfhje4\"},{\"name\":\"SIZE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies either a constant or a numeric variable, the values of which determine the size of symbol shapes on the scatter plot.\",\"help\":\"SIZE=*symbol-size* | *size-variable*\",\"type\":\"choice\",\"arguments\":[{\"name\":\"symbol-size\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"size-variable\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p1n8mh9otunzi8n1rm47pex0war3\"},{\"name\":\"TILT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies one or more angles at which to tilt the graph toward you.\",\"help\":\"TILT=*angle-list*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0hyp4tugp5vx4n12z0olfbpguuq\"},{\"name\":\"XAXIS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"assigns an axis definition, where n is the axis-statement number, 1 to 99.\",\"help\":\"XAXIS=AXIS*n*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0ar7kqpcklle1n1cpoatgnl0ji8\"},{\"name\":\"XTICKNUM=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specify the number of major tick marks that are located on a plot's X axis.\",\"help\":\"XTICKNUM=*number-of-tick-marks*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0ip32yph6kf6mn154g5glealfyb\"},{\"name\":\"YAXIS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"assigns an axis definition, where n is the axis-statement number, 1 to 99.\",\"help\":\"YAXIS=AXIS*n*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1l8awa8jcho6wn19suodnzq5tzn\"},{\"name\":\"YTICKNUM=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specify the number of major tick marks that are located on a plot's Y axis.\",\"help\":\"YTICKNUM=*number-of-tick-marks*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0t9nyxwslw588n1kz4z91q03518\"},{\"name\":\"ZAXIS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"assigns an axis definition, where n is the axis-statement number, 1 to 99.\",\"help\":\"ZAXIS=AXIS*n*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1brxz52pth0r4n1m0o9cugo22dy\"},{\"name\":\"ZMAX=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specify the maximum data value that is displayed on a plot's Z axis.\",\"help\":\"ZMAX=*maximum-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1sa4tdzjviiltn11ryr10ed75i1\"},{\"name\":\"ZMIN=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the minimum value that is displayed on a plot's Z axis.\",\"help\":\"ZMIN=*minimum-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1justckgq92ntn1ppgmmk0vj7t0\"},{\"name\":\"ZTICKNUM=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specify the number of major tick marks that are located on a plot's Z axis.\",\"help\":\"ZTICKNUM=*number-of-tick-marks*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p08h8233i53qhzn1tle6ytj8285c\"}],\"supportSiteTargetFile\":\"n098f0gcvrv3bun1o7gtf3s3ebwu.htm\"},{\"name\":\"ATTRIB\",\"description\":\"Associates a format, informat, label, and length with one or more variables.\",\"help\":\"ATTRIB  *variable-list(s)**attribute-list(s)*;\",\"arguments\":[{\"name\":\"variable-list\",\"optional\":true,\"placeholder\":true,\"description\":\"names the variables that you want to associate with the attributes.\",\"help\":\"*variable-list(s)*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1nd0mq22iu6ovn14mz1ot1hwcjif\"},{\"name\":\"FORMAT=\",\"description\":\"associates a format with variables in variable-list.\",\"help\":\"FORMAT=*format*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p08pt9ce6bhq86n18a3zcc97bldzf\"},{\"name\":\"INFORMAT=\",\"description\":\"associates an informat with variables in variable-list.\",\"help\":\"INFORMAT=*informat*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n136glco6ritqdn160792yhk9mv1f\"},{\"name\":\"LABEL=\",\"description\":\"associates a label with variables in variable-list.\",\"help\":\"LABEL='*label*' \",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0a9x9io5pi05mn1i4p2cphc7t0nf\"}],\"supportSiteTargetFile\":\"n09bxytcjmyp75n1mc29q45qhpmsf.htm\"},{\"name\":\"BY\",\"description\":\"Orders the output according to the BY groups.\",\"help\":\"BY <DESCENDING>variable-1\\n\\t<-<DESCENDING> variable-n>\\n\\t<NOTSORTED>;\",\"arguments\":[{\"name\":\"variable\",\"placeholder\":true,\"description\":\"specifies the variable that the procedure uses to form BY groups. You can specify more than one variable. If you do not use the NOTSORTED option in the BY statement, then either the observations in the data set must be sorted by all the variables that you specify, or they must be indexed appropriately. Variables in a BY statement are called BY variables.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0e9kbav2i9chhn1xectebpz4s14f\"},{\"name\":\"DESCENDING\",\"optional\":true,\"description\":\"specifies that the observations are sorted in descending order by the variable that immediately follows the word DESCENDING in the BY statement.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1au0lhf4hi1h2n1le3cx2tp74l5f\"},{\"name\":\"NOTSORTED\",\"optional\":true,\"description\":\"specifies that observations are not necessarily sorted in alphabetic or numeric order. The observations are grouped in another way (for example, chronological order).\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p068zvjhrpn2awn1bygis4m6hppaf\"}],\"supportSiteTargetFile\":\"p1tkzb6q5jl1omn1payndkh1g3nwf.htm\"},{\"name\":\"FORMAT\",\"description\":\"Associates formats with variables.\",\"help\":\"FORMAT *variable-1*&lt;-*variable-n*&gt;&lt;*format-1*&gt;&lt;*variable-1*&lt;-*variable-n*&gt;&lt;*format-2*&gt;&gt; - &lt;DEFAULT=*default-format*&gt;;\",\"arguments\":[{\"name\":\"variable\",\"placeholder\":true,\"description\":\"names one or more variables for SAS to associate with a format. You must specify at least one variable.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1d0cionbspk2tn1ma0m6kjd1ntxf\"},{\"name\":\"format\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the format that is listed for writing the values of the variables.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0oulvct798v2wn1lll17t854rg8f\"},{\"name\":\"DEFAULT=\",\"optional\":true,\"description\":\"specifies a temporary default format for displaying the values of variables that are not listed in the FORMAT statement. These default formats apply only to the current DATA step; they are not permanently associated with variables in the output data set.\",\"help\":\"DEFAULT=*default-format*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0k0jb3arokdz9n1g3q3zizh81g4f\"}],\"supportSiteTargetFile\":\"n1x0d6bnw9wtyun1rhq5p7tis5gsf.htm\"},{\"name\":\"LABEL\",\"description\":\"Assigns descriptive labels to variables.\",\"help\":\"Form 1: Creates a descriptive label for one or more variables.\\nLABEL variable-1=’text-string’ < ...variable-n=’text-string>; \\nForm 2: Removes the label from one or more variables.\\nLABEL variable-1 = ' ' < ...variable-n=’ ‘>; | variable-1 = < ...variable-n= >\",\"arguments\":[{\"name\":\"text-string\",\"placeholder\":true,\"description\":\"specifies a label of up to 256 bytes.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n09u0k5ydxzgr3n1dfznhvex7uuof\"},{\"name\":\"'\",\"placeholder\":true,\"description\":\"removes a label from a variable. Enclose a single blank space in quotation marks to remove an existing label. You can remove labels from multiple variables in a single LABEL statement:\",\"help\":\"*' '*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1dl99omzes92cn1typpf6yl1ng0f\"}],\"supportSiteTargetFile\":\"n0b8jun5pu2j52n1duycwzzhrtmwf.htm\"},{\"name\":\"NOTE\",\"description\":\"Control the content, appearance, and placement of text.\",\"help\":\"NOTE &lt;*text-options*&gt;&lt;‘*text-string*’&gt;;\",\"arguments\":[{\"name\":\"ALT=\",\"description\":\"specifies descriptive text for a URL to which a note links, or the note itself.\",\"help\":\"ALT=\\\"*text-string*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1ss7qwa0a8ym6n10yt0pvlswkhlh\"},{\"name\":\"ANGLE=\",\"aliases\":[\"A=\"],\"description\":\"specifies the angle of the baseline of the entire text string with respect to the horizontal.\",\"help\":\"ANGLE=*degrees*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0agfl3v4cz076n1vq0sm0kpc7u9h\"},{\"name\":\"BCOLOR=\",\"aliases\":[\"BC=\"],\"description\":\"specifies the background color of a box produced by the BOX= option.\",\"help\":\"BCOLOR=*background-color*\",\"type\":\"color\",\"supportSiteTargetFragment\":\"n0p6kae6bogf6ln1qfi5lumfuqslh\"},{\"name\":\"BLANK=\",\"aliases\":[\"BL=\"],\"description\":\"protects the box and its contents from being overwritten by any subsequent graphics elements.\",\"help\":\"BLANK=YES\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1k1qe16mrandmn1p5d6zmfzbpp3h\"},{\"name\":\"BOX=\",\"aliases\":[\"BO=\"],\"description\":\"draws a box around one line of text.\",\"help\":\"BOX=*1* - *4*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1gsgi19gb631mn1u3ohvku3h9frh\"},{\"name\":\"BSPACE=\",\"aliases\":[\"BS=\"],\"description\":\"specifies the amount of space between the boxed text and the box.\",\"help\":\"BSPACE=*box-space*&lt;*units*&gt;\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1bsvoi1ejzgldn13u0ctqhoumr7h\"},{\"name\":\"COLOR=\",\"aliases\":[\"C=\"],\"description\":\"specifies the color for the following text, box, or line.\",\"help\":\"COLOR=*color*\",\"type\":\"color\",\"supportSiteTargetFragment\":\"p0sbrdi8whe59cn1trrly9i486a2h\"},{\"name\":\"DRAW=\",\"aliases\":[\"D=\"],\"description\":\"draws lines anywhere on the graphics output area.\",\"help\":\"DRAW=(*x,y* - ,*x-n,y-n*)&lt;*units*&gt;\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1ek60b1m99g1en1p2vat39gnk0uh\"},{\"name\":\"FONT=\",\"aliases\":[\"F=\"],\"description\":\"specifies the font for the subsequent text.\",\"help\":\"FONT=*font*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n14ghk49hvnj9bn1dggqdp9185h0h\"},{\"name\":\"HEIGHT=\",\"aliases\":[\"H=\"],\"description\":\"specifies the height of text characters in number of units.\",\"help\":\"HEIGHT=*text-height*&lt;*units*&gt;\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1nstxzbtib4yon17b1z48u1xc43h\"},{\"name\":\"JUSTIFY=\",\"description\":\"specifies the alignment of the text string.\",\"help\":\"JUSTIFY=LEFT | CENTER | RIGHT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"LEFT\",\"aliases\":[\"L\"],\"description\":\"aligns the text to the left.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1bd3ccior85vpn1j8yydbva53ohh\"},{\"name\":\"CENTER\",\"aliases\":[\"C\"],\"description\":\"aligns the text in the center.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1xzocqktoshbhn0zj41vgrrpcf0h\"},{\"name\":\"RIGHT\",\"aliases\":[\"R\"],\"description\":\"aligns the text to the right.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0d72p8dhm0aken19ezwvnuh89hjh\"}],\"supportSiteTargetFragment\":\"p0ic105d0qi1len198gj233aunvxh\"},{\"name\":\"LANGLE=\",\"aliases\":[\"LA=\"],\"description\":\"specifies the angle of the entire text-string(s).\",\"help\":\"LANGLE=*degrees*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p17asd7cxorhh0n13ock77km9umwh\"},{\"name\":\"LINK=\",\"description\":\"specifies a uniform resource locator (URL) to which a note links.\",\"help\":\"LINK=\\\"*URL*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1g7nbregrkazwn13yab35dwunkfh\"},{\"name\":\"LSPACE=\",\"aliases\":[\"LS=\"],\"description\":\"specifies the amount of spacing above and below lines of text.\",\"help\":\"LSPACE=*line-space* &lt;*units*&gt;\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1rvmh79wukiwin10y0uxgndzm0kh\"},{\"name\":\"MOVE=\",\"aliases\":[\"M=\"],\"description\":\"positions a text string.\",\"help\":\"MOVE=(*x*,*y*) &lt;*units*&gt;\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1b4ii0h0nvyl9n1n3f3rq4bcmd7h\"},{\"name\":\"ROTATE=\",\"aliases\":[\"R=\"],\"description\":\"specifies the angle at which each character of text is rotated.\",\"help\":\"ROTATE=*degrees*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0eixp1t2i8jh7n18f5h9abmkbd9h\"},{\"name\":\"UNDERLIN=\",\"aliases\":[\"U=\",\"UNDERLINE=\"],\"description\":\"underlines subsequent text.\",\"help\":\"UNDERLIN=*0* - *3*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0odrift6g8tevn1wlkt3yirab29h\"},{\"name\":\"WRAP\",\"description\":\"wraps the text to a second line if the text does not fit on one line.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0f424vsafu2k4n1uvv5px2ea0vnh\"},{\"name\":\"#BYLINE\",\"description\":\"substitutes the entire BY line without leading or trailing blanks for #BYLINE in the text string. It also displays the BY line in the note produced by the statement.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n17mfc3jo9ghz4n1g0w1pyzjaba6h\"},{\"name\":\"#BYVAL\",\"description\":\"substitutes the current value of the specified BY variable for #BYVAL in the text string and displays the value produced by the statement. Specify the variable with one of these values:\",\"help\":\"  #BYVAL*n* <br/> #BYVAL(*variable-name*)\",\"type\":\"value\",\"arguments\":[{\"name\":\"n\",\"placeholder\":true,\"description\":\"specifies which variable in the BY statement #BYVAL should use. The value of n indicates the position of the variable in the BY statement.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p152link16gmrxn17tbgrpvy6snbk\"},{\"name\":\"variable-name\",\"placeholder\":true,\"description\":\"names the BY variable.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0aywj8k42frwsn1d1075rkks2zjk\"}],\"supportSiteTargetFragment\":\"p0g93myce7dkd2n1oub0dnqw6de0k\"},{\"name\":\"#BYVAR\",\"description\":\"substitutes the name of the BY variable or label associated with the variable (whatever the BY line would normally display) for #BYVAR in the text string and displays the name or label produced by the statement. Specify the variable with one of these:\",\"help\":\"  #BYVAR*n* <br/> #BYVAR(*BY-variable-name*)\",\"type\":\"value\",\"arguments\":[{\"name\":\"n\",\"placeholder\":true,\"description\":\"specifies which variable in the BY statement #BYVAR should use. The value of n indicates the position of the variable in the BY statement. For example, #BYVAR2 specifies the second variable in the BY statement.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0edwk5zij4p1dn1dx8j7ljlp2g0k\"},{\"name\":\"BY-variable-name\",\"placeholder\":true,\"description\":\"names the BY variable. For example, #BYVAR(SITES) specifies the BY variable, SITES. Variable-name is not case sensitive.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0h7djvvxju8lqn1oopd9m2939nuk\"}],\"supportSiteTargetFragment\":\"n0lq1vfuz9uxsen12rp88i6fk1pjk\"}],\"supportSiteTargetFile\":\"n06de0d5lj12inn14glgif2c8ovah.htm\"},{\"name\":\"WHERE\",\"description\":\"Subsets the input data set by specifying certain conditions that each observation must meet before it is available for processing.\",\"help\":\"WHERE *where-expression*;\",\"arguments\":[{\"name\":\"where-expression\",\"placeholder\":true,\"description\":\"is an arithmetic or logical expression that generally consists of a sequence of operands and operators. For more information about where processing, see .\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0834dlfg85co3n18aqbvenv4b35f\"}],\"supportSiteTargetFile\":\"n1rx5guqu5cxr1n1flpiox5ks7srf.htm\"}],\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"n17v6b90qsbjz1n16wqtuol0pic5.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/G3GRID.json",
    "content": "{\"name\":\"G3GRID\",\"statements\":[{\"name\":\"PROC G3GRID\",\"description\":\"Identifies the input data set. Can also specify one, or two output data sets.\",\"help\":\"PROC G3GRID <DATA=input-data-set><OUT=output-data-set><OUTTRI=output-data-set>;\\n\\tGRID grid-request</options>;\\n\\n\\tATTRIB  variable-list(s) attribute-list(s);\\n\\n\\tBY <DESCENDING>variable-1\\n\\t\\t< ... <DESCENDING> variable-n>\\n\\t\\t<NOTSORTED>;\\n\\n\\tFORMAT variable-1< ...variable-n><format-1><variable-1< ...variable-n><format-2>> ...<DEFAULT=default-format>;\\n\\n\\tLABEL variable-1=label-1 | ' '<variable-n=label-n | ' '> ...;\\n\\n\\tWHERE where-expression;\\n\",\"arguments\":[{\"name\":\"DATA=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the SAS data set that contains the variables to process.\",\"help\":\"DATA=*input-data-set*\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"n0po3bvekuogn3n1535t1jmtr9wt\"},{\"name\":\"OUT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the output data set.\",\"help\":\"OUT=*output-data-set*\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"n1ut9iefm7f6mbn1asut1hgxh4lf\"},{\"name\":\"OUTTRI=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies an additional output data set that contains triangular coordinates.\",\"help\":\"OUTTRI=*output-data-set*\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"n06zqld0djo55bn1c6flboeh7pgd\"}],\"supportSiteTargetFile\":\"n1spr0z93tjza0n1xx94gfaxklfb.htm\"},{\"name\":\"GRID\",\"description\":\"Specifies the three numeric variables for interpolation or for smoothing. Can also specify the number of observations (x and y values), in the output data set; output values for the two horizontal variables x-y; and the interpolation method for the vertical variables.\",\"help\":\"GRID *grid-request*&lt;/*options*&gt;;\",\"arguments\":[{\"name\":\"y\",\"placeholder\":true,\"description\":\"is one of the variables that form the horizontal (x-y) plane\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n028zlrk56nk0rn1h7fgdnd3yqxg\"},{\"name\":\"x\",\"placeholder\":true,\"description\":\"is another of the variables that form the horizontal (x-y) plane\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n02ca3weqy842cn1xr0so8q7x611\"},{\"name\":\"z\",\"placeholder\":true,\"description\":\"is one or more of the vertical variables for the interpolation\",\"help\":\"*z(s)*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0lh2hgy1ghi0kn11c9q08qkmgkb\"},{\"name\":\"AXIS1=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a list of numeric values to assign to the first (y) variable in the grid request for the output data set.\",\"help\":\"AXIS1=*ascending-value-list*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1si7pedmpe861n1a8ec9ynro8vp\"},{\"name\":\"AXIS2=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a list of numeric values to assign to the second (x) variable in the grid request for the output data set.\",\"help\":\"AXIS2=*ascending-value-list*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0s5n46jrezt6vn1gqakfow2ioz7\"},{\"name\":\"JOIN\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"uses a linear interpolation within a set of triangular regions that are formed from the input data set.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0p4g983nugs9cn1xmjm5r71setn\"},{\"name\":\"NAXIS1=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the number of values for the first (y) variable in the grid request for the output data set.\",\"help\":\"NAXIS1=*n*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0dpxv2878bifan1rppk1hyxvlk4\"},{\"name\":\"NAXIS2=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the number of values for the second (x) variable in the grid request for the output data set.\",\"help\":\"NAXIS2=*n*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1tmgss5w9601ln1povhgevorhbc\"},{\"name\":\"NEAR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the number of the nearest data points to use for computing the estimates of the first derivative, and the second derivative.\",\"help\":\"NEAR=*n*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0upz81vtc3da0n1idjobjbrnjj1\"},{\"name\":\"NOSCALE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that the x and y variables not be scaled to the same range before interpolation.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0bjsst7ofebd9n1bwa92j32kn90\"},{\"name\":\"PARTIAL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that a spline be used to estimate the derivatives for the biquintic polynomial interpolation.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0t25auryq1c5sn13lkeqb9x3dkq\"},{\"name\":\"SCALE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that the x and y variables be scaled to the same range before interpolation.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1ry85rwfw2jj2n1cc4tpf5fngj3\"},{\"name\":\"SMOOTH=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a list of numbers for smoothing parameters.\",\"help\":\"SMOOTH=*ascending-value-list*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n17faixtx1goiln1bblhn9bokrvd\"},{\"name\":\"SPLINE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the use of a bivariate spline to interpolate, or to form a smoothed estimate, if you also use the SMOOTH= option.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0z32e49n7q49wn116hvhpijvopr\"}],\"supportSiteTargetFile\":\"p0cj9dz2576r3cn1skrfa7p4qsrs.htm\"},{\"name\":\"ATTRIB\",\"description\":\"Associates a format, informat, label, and length with one or more variables.\",\"help\":\"ATTRIB  *variable-list(s)**attribute-list(s)*;\",\"arguments\":[{\"name\":\"variable-list\",\"optional\":true,\"placeholder\":true,\"description\":\"names the variables that you want to associate with the attributes.\",\"help\":\"*variable-list(s)*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1nd0mq22iu6ovn14mz1ot1hwcjig\"},{\"name\":\"FORMAT=\",\"description\":\"associates a format with variables in variable-list.\",\"help\":\"FORMAT=*format*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p08pt9ce6bhq86n18a3zcc97bldzg\"},{\"name\":\"INFORMAT=\",\"description\":\"associates an informat with variables in variable-list.\",\"help\":\"INFORMAT=*informat*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n136glco6ritqdn160792yhk9mv1g\"},{\"name\":\"LABEL=\",\"description\":\"associates a label with variables in variable-list.\",\"help\":\"LABEL='*label*' \",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0a9x9io5pi05mn1i4p2cphc7t0ng\"}],\"supportSiteTargetFile\":\"n09bxytcjmyp75n1mc29q45qhpmsg.htm\"},{\"name\":\"BY\",\"description\":\"Orders the output according to the BY groups.\",\"help\":\"BY <DESCENDING>variable-1\\n\\t<-<DESCENDING> variable-n>\\n\\t<NOTSORTED>;\",\"arguments\":[{\"name\":\"variable\",\"placeholder\":true,\"description\":\"specifies the variable that the procedure uses to form BY groups. You can specify more than one variable. If you do not use the NOTSORTED option in the BY statement, then either the observations in the data set must be sorted by all the variables that you specify, or they must be indexed appropriately. Variables in a BY statement are called BY variables.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0e9kbav2i9chhn1xectebpz4s14g\"},{\"name\":\"DESCENDING\",\"optional\":true,\"description\":\"specifies that the observations are sorted in descending order by the variable that immediately follows the word DESCENDING in the BY statement.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1au0lhf4hi1h2n1le3cx2tp74l5g\"},{\"name\":\"NOTSORTED\",\"optional\":true,\"description\":\"specifies that observations are not necessarily sorted in alphabetic or numeric order. The observations are grouped in another way (for example, chronological order).\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p068zvjhrpn2awn1bygis4m6hppag\"}],\"supportSiteTargetFile\":\"p1tkzb6q5jl1omn1payndkh1g3nwg.htm\"},{\"name\":\"FORMAT\",\"description\":\"Associates formats with variables.\",\"help\":\"FORMAT *variable-1*&lt;-*variable-n*&gt;&lt;*format-1*&gt;&lt;*variable-1*&lt;-*variable-n*&gt;&lt;*format-2*&gt;&gt; - &lt;DEFAULT=*default-format*&gt;;\",\"arguments\":[{\"name\":\"variable\",\"placeholder\":true,\"description\":\"names one or more variables for SAS to associate with a format. You must specify at least one variable.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1d0cionbspk2tn1ma0m6kjd1ntxg\"},{\"name\":\"format\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the format that is listed for writing the values of the variables.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0oulvct798v2wn1lll17t854rg8g\"},{\"name\":\"DEFAULT=\",\"optional\":true,\"description\":\"specifies a temporary default format for displaying the values of variables that are not listed in the FORMAT statement. These default formats apply only to the current DATA step; they are not permanently associated with variables in the output data set.\",\"help\":\"DEFAULT=*default-format*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0k0jb3arokdz9n1g3q3zizh81g4g\"}],\"supportSiteTargetFile\":\"n1x0d6bnw9wtyun1rhq5p7tis5gsg.htm\"},{\"name\":\"LABEL\",\"description\":\"Assigns descriptive labels to variables.\",\"help\":\"Form 1: Creates a descriptive label for one or more variables.\\nLABEL variable-1=’text-string’ < ...variable-n=’text-string>; \\nForm 2: Removes the label from one or more variables.\\nLABEL variable-1 = ' ' < ...variable-n=’ ‘>; | variable-1 = < ...variable-n= >\",\"arguments\":[{\"name\":\"text-string\",\"placeholder\":true,\"description\":\"specifies a label of up to 256 bytes.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n09u0k5ydxzgr3n1dfznhvex7uuog\"},{\"name\":\"'\",\"placeholder\":true,\"description\":\"removes a label from a variable. Enclose a single blank space in quotation marks to remove an existing label. You can remove labels from multiple variables in a single LABEL statement:\",\"help\":\"*' '*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1dl99omzes92cn1typpf6yl1ng0g\"}],\"supportSiteTargetFile\":\"n0b8jun5pu2j52n1duycwzzhrtmwg.htm\"},{\"name\":\"WHERE\",\"description\":\"Subsets the input data set by specifying certain conditions that each observation must meet before it is available for processing.\",\"help\":\"WHERE *where-expression*;\",\"arguments\":[{\"name\":\"where-expression\",\"placeholder\":true,\"description\":\"is an arithmetic or logical expression that generally consists of a sequence of operands and operators. For more information about where processing, see .\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0834dlfg85co3n18aqbvenv4b35g\"}],\"supportSiteTargetFile\":\"n1rx5guqu5cxr1n1flpiox5ks7srg.htm\"}],\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"n0log4lxbjybbqn11b04klqj2orr.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/GA.json",
    "content": "{\"name\":\"GA\",\"statements\":[{\"name\":\"PROC GA\",\"description\":\"Genetic algorithms are a family of local search algorithms that seek optimal solutions to problems by applying the principles of natural selection and evolution. Genetic algorithms can be applied to almost any optimization problem and are especially useful for problems where other calculus-based techniques do not work, such as when the objective function has many local optima, when it is not differentiable or continuous, or when solution elements are constrained to be integers or sequences. In most cases genetic algorithms require more computation than specialized techniques that take advantage of specific problem structures or characteristics. However, for optimization problems with no such techniques available, genetic algorithms provide a robust general method of solution.\",\"help\":\"PROC GA <DATAn=SAS-data-set><FIRSTGEN=SAS-data-set><LASTGEN=SAS-data-set><LIBRARY=library-list><MATRIXn=SAS-data-set><MAXITER=n><NOVALIDATEWARNING=n><SEED=n>;     \\n\\tABORT;\\n\\n\\tARRAY <NOSYMBOLS> ;\\n\\n\\tCALL routine(parameter-1<, ...parameter-n>);\\n\\n\\tcall ContinueFor( niter );\\n\\n\\tcall Cross( selected, seg, type<, parameter1, parameter2, ...> );\\n\\n\\tcall Dynamic_array( arrayname, dim1<, dim2, ..., dim6> );\\n\\n\\tcall EvaluateLC( lc, results, sum, selected, seg<, child> );\\n\\n\\tcall GetDimensions( source, dest );\\n\\n\\tcall GetObjValues( dest, n );\\n\\n\\tcall GetSolutions( sol, n, seg );\\n\\n\\tcall Initialize( option, size <,option, size> ... );\\n\\n\\tcall MarkPareto( result, n, objectives, minmax );\\n\\n\\tcall Mutate( selected, seg, type<, parameter1, parameter2, ...> );\\n\\n\\tcall PackBits( array, start, width, value );\\n\\n\\tcall ReEvaluate( <index>);\\n\\n\\tcall ReadChild( selected, seg, n, values );\\n\\n\\tcall ReadCompare( selected, seg, n, values );\\n\\n\\tcall ReadMember( selected, seg, destination );\\n\\n\\tcall ReadParent( selected, seg, n, destination );\\n\\n\\tcall SetBounds( lower, upper <, seg> );\\n\\n\\tcall SetCross( type<, seg><, pname, pvalue><, pname, pvalue>... );\\n\\n\\tcall SetCrossProb( p );\\n\\n\\tcall SetCrossRoutine( 'routine'<, nparents, nchildren>);\\n\\n\\tcall SetElite( elite );\\n\\n\\tcall SetEncoding( encoding );\\n\\n\\tcall SetFinalize( 'routine' );\\n\\n\\tcall SetMut( type<, seg><, pname, pvalue><, pname, pvalue>... );\\n\\n\\tcall SetMutProb( p );\\n\\n\\tcall SetMutRoutine( 'routine' );\\n\\n\\tcall SetObj( type, minmax, <, seg><, pname, pvalue><, pname, pvalue>... );\\n\\n\\tcall SetObjFunc( 'fname', minmax );\\n\\n\\tcall SetProperty( optype <, seg>, pname, pvalue <, pname, pvalue>... );\\n\\n\\tcall SetSel( selector <, pname, pvalue><, pname, pvalue>... );\\n\\n\\tcall SetUpdateRoutine( 'routine' );\\n\\n\\tcall ShellSort( x, <, by<, descend> > );\\n\\n\\tcall Shuffle( x );\\n\\n\\tcall UpdateSolutions( sol, n, seg );\\n\\n\\tcall WriteChild( selected, seg, n, source );\\n\\n\\tcall WriteMember( selected, seg, source );\\n\\n\\tDELETE;\\n\\n\\tDO <OVER><><> ...;\\n\\n\\tELSE <DO><IF><THEN> ...;\\n\\n\\tEND;\\n\\n\\tENDSUB;\\n\\n\\tFUNCTION <KIND= | GROUP='string'><VARARGS> ;\\n\\n\\tGOTO label;\\n\\n\\tIF <DO><NOT><THEN> ...;\\n\\n\\t;\\n\\n\\tOUTARGS out-argument-1, ..., out-argument-n;\\n\\n\\tPUT <_ALL_><_INFILE_><_ODS_> ...;\\n\\n\\t;\\n\\n\\t;\\n\\n\\tSTOP;\\n\\n\\tSUBROUTINE <KIND= | GROUP='string'><OUTARGS><VARARGS> ...;\\n\\n\\tWHEN <DO> ;\\n\\n\\tWHERE where-expression-1;\\n\",\"arguments\":[{\"name\":\"DATA=\",\"optional\":true,\"description\":\"Specifies a data set containing data required to specify the problem, where n is an integer from 1 to 5.\",\"type\":\"value\"},{\"name\":\"FIRSTGEN=\",\"optional\":true,\"description\":\"Specifies a SAS data set containing the initial solution generation.\",\"help\":\"FIRSTGEN=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"LASTGEN=\",\"optional\":true,\"description\":\"Specifies a SAS data set into which the final solution generation is written.\",\"help\":\"LASTGEN=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"LIBRARY=\",\"optional\":true,\"description\":\"Specifies a library or group of libraries for the procedure to search to resolve subroutine or function calls.\",\"help\":\"LIBRARY=*library-list*\",\"type\":\"dataSet\"},{\"name\":\"MATRIX=\",\"optional\":true,\"description\":\"Specifies a data set containing two-dimensional matrix data, where n is an integer from 1 to 5. A two-dimensional numeric array with the same name as the option is created and initialized from the data set.\",\"type\":\"value\"},{\"name\":\"MAXITER=\",\"optional\":true,\"description\":\"Specifies the maximum number of iterations to permit for the optimization process. A ContinueFor call overrides a limit set by this option.\",\"help\":\"MAXITER=*n*\",\"type\":\"value\"},{\"name\":\"NOVALIDATEWARNING=\",\"optional\":true,\"description\":\"Controls the output of warning messages related to solution validation checking.\",\"help\":\"NOVALIDATEWARNING=*n*\",\"type\":\"value\"},{\"name\":\"SEED=\",\"optional\":true,\"description\":\"Specifies an initial seed to begin random number generation. This option is provided for reproducibility of results. If it is not specified, or if it is set to 0, a seed is chosen based on the system clock.\",\"help\":\"SEED=*n*\",\"type\":\"value\"}]},{\"name\":\"ABORT\",\"description\":\"Terminates the current DATA step, job, or SAS session.\",\"help\":\"ABORT\"},{\"name\":\"ARRAY\",\"description\":\"Associates a name with a list of variables and constants.\",\"help\":\"ARRAY &lt;NOSYMBOLS&gt;\",\"arguments\":[{\"name\":\"NOSYMBOLS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies that an array of numeric or character values be created without the associated element variables. In this case, the only way you can access elements in the array is by array subscripting.\",\"type\":\"standalone\"}]},{\"name\":\"CALL\",\"description\":\"Invokes a SAS CALL routine.\",\"help\":\"CALL routine(parameter-1&lt;, ...parameter-n&gt;)\"},{\"name\":\"CALL ContinueFor\",\"description\":\"Sets the number of additional iterations for the genetic algorithm optimization. niter specifies that the optimization continue for niter more iterations. To stop at the current iteration, set niter to 0.\",\"help\":\"call ContinueFor( niter )\"},{\"name\":\"CALL Cross\",\"description\":\"Executes a genetic crossover operator from within a user subroutine. The inputs to the subroutine are as follows: selected is an array that specifies the solutions to be crossed. seg is the desired segment of the solution to which the crossover operator should be applied. type is the type of crossover operator to apply, which also determines the number and type of parameters expected. The accepted values for type and the corresponding parameters are: 'arithmetic' real, integer 'cycle'--sequence 'heuristic'--real 'null'--all encodings 'order'--sequence 'pmatch'--sequence 'simple'--real, integer, Boolean 'twopoint'--real, integer, Boolean 'uniform'--real, integer, Boolean parameter1-n are optional parameters applicable to some operators.\",\"help\":\"call Cross( selected, seg, type&lt;, parameter1, parameter2, ...&gt; )\"},{\"name\":\"CALL Dynamic_array\",\"description\":\"Allocates a numeric array. The inputs to the Dynamic_array call are as follows: arrayname--is a previously declared array, whose dimensions are to be re-allocated. dim--is the size of the first dimension. dim2,...,dim6--are optional. Up to six dimensions can be specified. The Dynamic_array call is normally used to allocate working arrays when the required size of the array is data-dependent. It is often useful in user routines for genetic operators or objective functions to avoid hard-coding array dimensions that might depend on segment length or population size. The array to be allocated must first be declared in an ARRAY statement with the expected number of dimensions, as in the following example: subroutine sub(nx, ny); array x[1] /nosym; call dynamic_array(x, nx); array xy[1,1] /nosym; call dynamic_array(xy, nx, ny); ...\",\"help\":\"call Dynamic_array( arrayname, dim1&lt;, dim2, ..., dim6&gt; )\"},{\"name\":\"CALL EvaluateLC\",\"description\":\"Evaluates linear constraints. The inputs to the EvaluateLC subroutine are as follows: lc--is a two-dimensional array representing the linear constraints. results--is a numeric array to receive the magnitude of the constraint violation for each linear constraint. sum--is a variable to receive the sum of the constraint violations over all the constraints. selected--is an array identifying the selected solution. seg--is the segment of the solution to which the linear constraints apply. child--is an optional parameter, and should be specified only when EvaluateLC is called from a user crossover operator.\",\"help\":\"call EvaluateLC( lc, results, sum, selected, seg&lt;, child&gt; )\"},{\"name\":\"CALL GetDimensions\",\"description\":\"The inputs to the GetDimensions subroutine are as follows: source--is the array variable whose dimensions are desired. dest--is an array to receive the dimensions of source. The GetDimensions subroutine is used to get the dimensions of an array passed into a user subroutine. The input dest should be an array of one dimension, with at least as many elements as there are dimensions in source (a maximum of 6). Any extra elements in dest are filled with zeros.\",\"help\":\"call GetDimensions( source, dest )\"},{\"name\":\"CALL GetObjValues\",\"description\":\"The inputs to the GetObjValues subroutine are as follows: dest--is an array to receive the objective values. n--is the number of objective values to get. The GetObjValues subroutine is used to retrieve the objective values for the current solution generation. It can be called from a user update routine or finalize routine. If it is called from a finalize routine, and if the elite parameter from a SetElite call is 1 or greater, then the first elite members of the population are the fittest of the population, and they are sorted in order, starting with the most fit. The input dest should be a dimensioned variable, with dimension greater than or equal to n.\",\"help\":\"call GetObjValues( dest, n )\"},{\"name\":\"CALL GetSolutions\",\"description\":\"The inputs to the GetSolutions subroutine are as follows: sol--is an array to receive the solution elements. n--is the number of solutions to get. seg--is the segment of the solution to retrieve. The GetSolutions subroutine is used to retrieve solutions from the current generation. You would normally call it from an update or finalize subroutine for post processing or analysis. If the elite parameter has been set with a SetElite call, then the first elite members of the population are the fittest, and they are sorted in order, starting with the most fit. The sol variable should have two dimensions, with the first dimension representing the solution number, and the second representing the element within the solution.\",\"help\":\"call GetSolutions( sol, n, seg )\"},{\"name\":\"CALL Initialize\",\"description\":\"The inputs to the Initialize subroutine are as follows: option--is a string that specifies an initialization option. size--is the number of solutions to create by using a given option. The Initialize subroutine must be called to create the first solution generation, and can be used to reinitialize a solution population during the optimization process. The available options and their effect are as follows: '_uniform_'--generate uniformly distributed solutions '_dataset_'--read solutions from the data set specified in a FIRSTGEN= option. 'default'--read solutions from the data set specified in a FIRSTGEN= option, if one was specified. If none was specified or the data set has fewer observations than requested, fill in the remaining solution population by using the '_uniform_' option. '_retain_'--bring forward the best solutions from the current generation. This option cannot be used for the first initialization. 'user-routine'--Any string not matching the preceding options is interpreted to be a user-defined initialization routine. See the section \\\"Defining a User Initialization Routine\\\" for information about defining an initialization subroutine.\",\"help\":\"call Initialize( option, size &lt;,option, size&gt; ... )\"},{\"name\":\"CALL MarkPareto\",\"description\":\"The MarkPareto call is used to identify the Pareto-optimal subset from a population of solutions. The inputs to the MarkPareto call are as follows: result--is a one-dimensional array to accept the results of the evaluation. Its size should be the same as the size of the population being evaluated; result if solution i is Pareto optimal, and 0 otherwise. n--is a variable to receive the number of Pareto-optimal solutions. objectives--is a two-dimensional array that contains the multiple objective values for each solution. It should be dimensioned [p,q], where p is the size of the population, and q is greater than or equal to the number of objectives to be considered. minmax--is a one-dimensional array to specify how the objective values are to be used. It should be of size q, where q is greater than or equal to the number of objectives to be considered.\",\"help\":\"call MarkPareto( result, n, objectives, minmax )\"},{\"name\":\"CALL Mutate\",\"description\":\"Executes a genetic mutation operator from within a user subroutine. The inputs to the subroutine are as follows: selected--is an array that specifies the solution to be mutated. seg--is the desired segment of the solution to which the mutation should be applied. type--is the type of mutation operator to apply, which also determines the number and type of parameters expected. parameter1-n--are optional parameters applicable to some operators. The accepted values for type and the corresponding parameters are summarized in Table 1.2. [Type] [Encodings] [Parameters] 'delta' real, integer delta, n 'invert' sequence 'swap' sequence n 'uniform' real, integer, Boolean np The parameters are as follows: delta--is a vector of delta values for each component of the solution, used only for the Delta mutation operator. n--specifies the number of solution elements that should be mutated for the Delta operator, and the number of swaps that should be made for the Swap operator. np--specifies the number of solution elements that should be mutated, if np is integer; specifies the mutation probability for each solution element if 0 < np < 1.\",\"help\":\"call Mutate( selected, seg, type&lt;, parameter1, parameter2, ...&gt; )\"},{\"name\":\"CALL PackBits\",\"description\":\"The inputs to the PackBits subroutine are as follows: array--is an array to which the value is to be assigned. start--is the starting position for the bit assignments. width--is the number of bits to assign. value--is the value to be assigned to the bits. For a single bit, this should be 0 or 1. The PackBits subroutine facilitates the assignment of bit values into an integer array, effectively using the integer array as an array of bits. One common use for this routine is within a user genetic operator subroutine to pack bit values into an integer vector solution segment. The bit values assigned with the PackBits call can be retrieved with the UnpackBits function. The start parameter is the lowest desired bit position in the bit vector, where the least significant bit of value is to be stored. The start parameter can range in value from 1 to maxbits, where maxbits is the product of 32 times the number of elements in the integer array.\",\"help\":\"call PackBits( array, start, width, value )\"},{\"name\":\"CALL ReEvaluate\",\"description\":\"The inputs to the ReEvaluate subroutine are as follows: index is a numeric scalar or array that specifies the indices of the solutions to be updated. The indices correspond to the order of the solutions obtained from a GetSolutions call. The ReEvaluate call recomputes the objective values for the current generation. You do not normally need to use this call, because the GA procedure evaluates the objective function during the optimization process in the evaluation phase. This subroutine should be called from a user update or finalize routine if a parameter that affects the objective value or solution is changed. The optional index parameter enables you to restrict the recomputation to the solution or subset of solutions specified. If the index parameter is not supplied, then the objective values of all the solutions will be recomputed.\",\"help\":\"call ReEvaluate( &lt;index&gt;)\"},{\"name\":\"CALL ReadChild\",\"description\":\"The inputs to the ReadChild subroutine are as follows: selected--specifies the family (parents and children) obtained from the selection process. seg--specifies the solution segment to be read. n--specifies the child in the family from which to read the solution segment. values--specifies an array to receive the solution elements. The ReadChild call is used to obtain the solution values for manipulation within a user crossover operator subroutine.\",\"help\":\"call ReadChild( selected, seg, n, values )\"},{\"name\":\"CALL ReadCompare\",\"description\":\"The inputs to the ReadCompare subroutine are as follows: selected--specifies the pair of solutions to be compared, obtained from the selection process. seg--specifies the solution segment to be read. n--specifies the solution (1 or 2) from which to read the segment. values--specifies an array to receive the solution elements. The ReadCompare call is used to obtain the solution values for manipulation within a user fitness comparison subroutine, which can be designated in a SetCompareRoutine call.\",\"help\":\"call ReadCompare( selected, seg, n, values )\"},{\"name\":\"CALL ReadMember\",\"description\":\"The inputs to the ReadMember subroutine are as follows: selected--is a parameter passed to the user subroutine by the GA procedure, which points to the selected solution. seg--specifies which segment of the solution to retrieve. destination--specifies an array in which to store the solution elements. The ReadMember call is used within a user objective function or mutation operator to obtain the elements of a selected solution and write them into a specified vector. They can then be used to compute an objective value, or in the case of a mutation operator, manipulated and written back out with a WriteMember call.\",\"help\":\"call ReadMember( selected, seg, destination )\"},{\"name\":\"CALL ReadParent\",\"description\":\"The inputs to the ReadParent subroutine are as follows: selected--is a parameter passed to the user subroutine by the GA procedure, which points to the selected solution family. seg--is the segment of the desired parent solution to be obtained. n--is the number of the parent, starting at 1. destination--is an array in which to store the solution elements. The ReadParent subroutine is called inside a user crossover operator subroutine to obtain the elements of selected parent solutions. Normally you would then manipulate and combine the elements of the two parents and use a WriteChild call to create the child offspring and complete the action of the crossover operator.\",\"help\":\"call ReadParent( selected, seg, n, destination )\"},{\"name\":\"CALL SetBounds\",\"description\":\"The inputs to the SetBounds subroutine are as follows: lower--is a lower bound for the solution components. upper--is an upper bound for the solution components. seg--is optional, and specifies a segment of the solution to which the bounds apply. If seg is not specified, then it defaults to a value of 1. The SetBounds subroutine is used to establish upper and lower bounds on the solution space. It applies only to integer and real encoding.\",\"help\":\"call SetBounds( lower, upper &lt;, seg&gt; )\"},{\"name\":\"CALL SetCross\",\"description\":\"The inputs to the SetCross subroutine are as follows: type--is the name of the crossover operator to be applied. seg--is optional, and specifies a segment of the solution to which the operator should be applied. If seg is not specified, then it defaults to a value of 1. seg needs to be specified only if multisegment encoding is used. pname--is optional, and specifies the name of a particular property to be set for the crossover operator. pvalue--specifies the value to be assigned to the corresponding property name. The accepted values for type and the corresponding properties are: [type] [encodings] [properties] 'arithmetic' real, integer 'cycle' sequence 'heuristic' real 'order' sequence 'pmatch' sequence 'simple' real, integer, Boolean 'alpha' 'twopoint' real, integer, Boolean 'alpha' 'uniform' real, integer, Boolean 'alpha', 'p' The SetCross routine is used to assign a standard crossover operator. For multisegment encoding, the operator can be assigned to a particular solution segment with the seg parameter; otherwise a default segment of 1 is assumed.\",\"help\":\"call SetCross( type&lt;, seg&gt;&lt;, pname, pvalue&gt;&lt;, pname, pvalue&gt;... )\"},{\"name\":\"CALL SetCrossProb\",\"description\":\"The input to the SetCrossProb subroutine is as follows: p--is the crossover probability. The SetCrossProb subroutine is used to set the crossover probability for the genetic algorithm optimization process. The crossover probability p should be between 0 and 1. Typical values for this parameter range from 0.6 to 1.0. The crossover probability will be overridden if required by a SetElite call. The elite solutions are passed on to the next generation without undergoing crossover, regardless of the crossover probability.\",\"help\":\"call SetCrossProb( p )\"},{\"name\":\"CALL SetCrossRoutine\",\"description\":\"The inputs to the SetCrossRoutine subroutine are as follows: routine--is the name of a subroutine you have defined, which is called when the mutation operator is applied. This parameter must be a string literal; a variable is not accepted. nparents--is optional, and specifies the number of parent solutions the operator requires. If not specified, 2 is assumed. nchildren--is optional, and specifies the number of children solutions the operator will generate. If not specified, 2 is assumed. Installs a user subroutine for the crossover operator.\",\"help\":\"call SetCrossRoutine( 'routine'&lt;, nparents, nchildren&gt;)\"},{\"name\":\"CALL SetElite\",\"description\":\"The input to the SetElite subroutine is as follows: elite--is the number of best solutions to be passed unmodified from the current solution generation to the next. The SetElite subroutine is used to ensure that the best solutions encountered in the optimization are not lost by the random selection process. In pure tournament selection, although better solutions are more likely to be selected, it is also possible that any given solution will not be chosen to participate in a tournament, and even if it is selected, it might be modified by crossover or mutation. The SetElite call modifies the optimization process such that the best elite solutions in the current population are exactly preserved and passed on to the next generation. This behavior is observed regardless of the crossover or mutation settings. When a SetElite call is made, the first elite solutions in the population retrieved by a GetSolutions call or output to a data set are the fittest, and these elite solutions are sorted so that the most fit is first. In general, using the SetElite call speeds the convergence of the optimization process. However, it can also lead to premature convergence before a true global optimum is reached. If no SetElite call is made, a default elite value of 1 is used by the GA procedure to make sure that the best solution encountered in the optimization process is never lost.\",\"help\":\"call SetElite( elite )\"},{\"name\":\"CALL SetEncoding\",\"description\":\"The input to the SetEncoding subroutine is as follows: encoding--is a string used to specify the form of the solution. The SetEncoding subroutine is used to establish the type of problem solution encoding. The encoding parameter should be a string of letter-number pairs, where the letter determines the type of encoding: I for integer, R for real-valued, S for sequences, and B for Boolean values. Each letter is followed by a number to indicate the number of components for that encoding. Multiple letter-number pairs can be used to specify a multisegment encoding. For example, the following call specifies that solutions be in the form of a 10-member integer vector: call SetEncoding('I10'); The following call specifies that solutions have a 5-component integer segment and a 10-component real-valued segment: call SetEncoding('I5R10');\",\"help\":\"call SetEncoding( encoding )\"},{\"name\":\"CALL SetFinalize\",\"description\":\"The input to the SetFinalize subroutine is as follows: routine--is the name of a subroutine you have defined, which is called when the optimization process ends. This parameter must be a string literal; a variable is not accepted. The SetFinalize subroutine enables you to define a subroutine to be called at the end of the optimization process. You might use this subroutine to perform additional refinements of the best solution, or you could generate and write out additional data for plots or reports.\",\"help\":\"call SetFinalize( 'routine' )\"},{\"name\":\"CALL SetMut\",\"description\":\"The inputs to the SetMut subroutine are as follows: type--is the name of the mutation operator to be applied. seg--is optional, and specifies a segment of the solution to which the operator should be applied. If seg is not specified, then it defaults to a value of 1. seg needs to be specified only if multisegment encoding is used. pname--is optional, and specifies the name of a particular property to be set for the mutation operator. pvalue--specifies the value to be assigned to the corresponding property name. The SetMut routine is used to assign a standard mutation operator. For multisegment encoding, the operator can be assigned to a particular solution segment with the seg parameter; otherwise a default segment of 1 is assumed. You can set different mutation operators for different segments with multiple SetMut calls. When a mutation event occurs, all the operators will applied to the same solution. If more than one SetMut call is made for the same segment, then the last call nullifies any previous call for that segment. Also, a SetMutRoutine call nullifies all previous SetMut calls, and a SetMut call nullifies a previous SetMutRoutine call. Properties for the chosen mutation operator can be set with optional pname-pvalue pairs. It is also possible to set or reset operator properties with a SetProperty call. The accepted values for type and the corresponding properties are: [type] [encodings] [properties] 'delta' real, integer 'delta', 'nchange' 'invert' sequence 'null' all encodings 'swap' sequence 'nswap' 'uniform' real, integer, Boolean 'nchange','pchange'\",\"help\":\"call SetMut( type&lt;, seg&gt;&lt;, pname, pvalue&gt;&lt;, pname, pvalue&gt;... )\"},{\"name\":\"CALL SetMutProb\",\"description\":\"The input to the SetMutProb subroutine is as follows: p--is the mutation probability. The SetMutProb subroutine is used to set the mutation probability for the genetic algorithm optimization. The probability p should be a number between 0 and 1, and is interpreted as the probability that a solution in the next generation should have the mutation operator applied to it. If a SetElite call has been made, then the elite solutions do not undergo mutation. Generally, a high mutation probability degrades the convergence of the genetic algorithm optimization, but some level of mutation is required to assure a thorough search and avoid premature convergence before the global optimum is found. Typical values for p are near 0.05 or less.\",\"help\":\"call SetMutProb( p )\"},{\"name\":\"CALL SetMutRoutine\",\"description\":\"The input to the SetMutRoutine subroutine is as follows: routine--is the name of a subroutine you have defined, which is called when the mutation operator is applied. This parameter must be a string literal; a variable is not accepted. The SetMutRoutine call enables you to designate a subroutine you have defined to be used for the mutation operator. Your subroutine will be called whenever the mutation operation is performed.\",\"help\":\"call SetMutRoutine( 'routine' )\"},{\"name\":\"CALL SetObj\",\"description\":\"The inputs to the SetObj subroutine are as follows: type--is the name of the objective function to be used. minmax--is an indicator to maximize or minimize the objective. A value of 0 is used to specify a minimization, and a value of 1 to specify maximizing the objective. seg--is optional, and specifies a segment of the solution to which the objective function should be applied. If seg is not specified, then it defaults to a value of 1. seg needs to be specified only if multisegment encoding is used. pname--is optional, and specifies the name of a particular property to be set for the objective function. pvalue--specifies the value to be assigned to the corresponding property name. The SetObj routine is used to assign a procedure-supplied objective function. For multisegment encoding, the objective can be assigned to a particular solution segment with the seg parameter; otherwise a default segment of 1 is assumed. If more than one SetObj call is made, then the last call nullifies any previous call. Also, a SetObjFunc call nullifies all previous SetObj calls, and a SetObj call nullifies a previous SetObjFunc call. Properties for the chosen objective can be set with optional pname-pvalue pairs. It is also possible to set or reset objective properties with a SetProperty call.\",\"help\":\"call SetObj( type, minmax, &lt;, seg&gt;&lt;, pname, pvalue&gt;&lt;, pname, pvalue&gt;... )\"},{\"name\":\"CALL SetObjFunc\",\"description\":\"The inputs to the SetObjFunc subroutine are as follows: fname--is the name of a user objective function. This parameter must be a literal string. minmax--is set to 0 to minimize the objective, 1 to maximize. The SetObjFunc subroutine is used to designate a user function to be the objective for the optimization process. The SetObjFunc call accepts a literal string only for the function name; you cannot use a variable or expression.\",\"help\":\"call SetObjFunc( 'fname', minmax )\"},{\"name\":\"CALL SetProperty\",\"description\":\"The inputs to the SetProperty subroutine are as follows: optype--is the type of operator. It should have a value of 'cross' for a crossover operator, 'mut' for a mutation operator, 'obj' for an objective function, or 'sel' for a selector. seg--is optional, used only for mutation and crossover operators, and specifies the segment in which the operator resides. It is necessary only for multisegment encoding. The default value if seg is not specified is 1. pname--specifies the name of a particular property to be set. pvalue--specifies the value to be assigned to the corresponding property name. Multiple property name-value pairs can be supplied in a SetProperty call. The SetProperty call is used to set or modify properties of a genetic operator, objective function, or a selector. It can be called anytime during the optimization process to dynamically adapt optimization parameters. For example, you might call SetProperty from a user update routine to reduce the magnitude of the delta vector of a delta mutation operator as the optimization progresses to an optimum.\",\"help\":\"call SetProperty( optype &lt;, seg&gt;, pname, pvalue &lt;, pname, pvalue&gt;... )\"},{\"name\":\"CALL SetSel\",\"description\":\"The inputs to the SetSel subroutine are as follows: selector--is the type of selection strategy to be used. pname--is optional, and specifies the name of a particular property to be set for the selector operator. pvalue--specifies the value to be assigned to the corresponding property name. The supported values for selector and the corresponding selector properties and their default values are: [Selector] [Properties] [Default values] 'tournament' 'size' 2 'duel' 'pbest' 0.8 The SetSel call is used to specify a selector for the regeneration process, which selects members of the current generation to be propagated to the next.\",\"help\":\"call SetSel( selector &lt;, pname, pvalue&gt;&lt;, pname, pvalue&gt;... )\"},{\"name\":\"CALL SetUpdateRoutine\",\"description\":\"The input to the SetUpdateRoutine subroutine is as follows: routine--is the name of a subroutine you have defined that is called once during each iteration of the optimization process. This parameter must be a string literal; a variable is not accepted. The SetUpdate subroutine enables you to define a subroutine to be called at each iteration of the optimization process, in order to monitor the progress of the genetic algorithm, adjust optimization parameters, or perform calculations that depend on the population as a whole.\",\"help\":\"call SetUpdateRoutine( 'routine' )\"},{\"name\":\"CALL ShellSort\",\"description\":\"The inputs to the ShellSort subroutine are as follows: x--is a one or two dimensional array to be sorted. by--is an optional numeric scalar or array that specifies the columns by which the array is to be sorted. If not specified, column 1 is the default. descend--is an optional numeric scalar or array used to specify which columns in the by parameter are to be in descending order. Any columns not specified in a descend parameter will be in ascending order. The ShellSort subroutine sorts the x array by the columns specified in the by parameter, with the first column having highest precedence, and subsequent columns applied within the preceding by groups. Sorting will be done in ascending order for each column unless that column is also specified in the descend parameter. In general the ShellSort routine does not preserve the original order in case of ties.\",\"help\":\"call ShellSort( x, &lt;, by&lt;, descend&gt; &gt; )\"},{\"name\":\"CALL Shuffle\",\"description\":\"The input to the Shuffle subroutine is as follows: x--is a numeric array to be randomly shuffled. The Shuffle subroutine randomly rearranges the elements of the x array. One example of where it might be used is in a user-supplied initialization routine, to generate a random sequence-encoded solution segment.\",\"help\":\"call Shuffle( x )\"},{\"name\":\"CALL UpdateSolutions\",\"description\":\"The inputs to the UpdateSolutions subroutine are as follows: sol--is an array containing the replacement solution elements. n--is the number of solutions to update. seg--is the segment of the solution to replace. The UpdateSolutions subroutine is used to replace the values of the selected solution segment with new values computed in an update routine. The update routine can be designated in a SetUpdateRoutine call. The UpdateSolutions call is often used to implement advanced strategies such as marking Pareto-optimal sets or employing local optimizations. The sol parameter should have 2 dimensions. The first dimension represents the solution number, and should have a value of n or greater. The second dimension represents the element within the solution seg, and should be equal to the segment size.\",\"help\":\"call UpdateSolutions( sol, n, seg )\"},{\"name\":\"CALL WriteChild\",\"description\":\"The inputs to the WriteChild subroutine are as follows: selected--is an array specifying the selected family of solutions. The selected array is normally passed into the user subroutine that calls WriteChild, and should be passed unaltered to WriteChild. seg--is the segment to which the elements are to be written. n--is the child within the family to which the elements are to be written. A value of 1 is for the first child, 2 for the second, and so on. source--is an array containing the values to be written. The WriteChild subroutine is called inside a user crossover operator subroutine to assign to the elements of a selected child solution. It is normally used to complete the action of the crossover operator.\",\"help\":\"call WriteChild( selected, seg, n, source )\"},{\"name\":\"CALL WriteMember\",\"description\":\"The inputs to the WriteMember subroutine are as follows: selected--is an array specifying the selected family of solutions. The selected array is normally passed into the user subroutine that calls WriteMember, and should be passed unaltered to WriteMember. seg--is the segment to which the elements are to be written. source--is an array containing the values to be written. Assigns values to a selected solution from within a user objective function or mutation operator. It is normally used to complete the action of the objective function or mutation operator.\",\"help\":\"call WriteMember( selected, seg, source )\"},{\"name\":\"DELETE\",\"description\":\"Stops processing the current observation.\",\"help\":\"DELETE\"},{\"name\":\"DO\",\"description\":\"\",\"help\":\"DO &lt;OVER&gt;&lt;&gt;&lt;&gt; ...\",\"arguments\":[{\"name\":\"BY\",\"optional\":true,\"description\":\"Precedes an increment integer (other than 0) or an expression that generates an integer to be added to the value of the index variable in each iteration of the DO loop.\",\"type\":\"standalone\"},{\"name\":\"OVER\",\"optional\":true,\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"TO\",\"optional\":true,\"description\":\"Separates the start and stop integers or expressions that control the number of times the portion of the DATA step between the iterative DO and END statements is processed.\",\"type\":\"standalone\"},{\"name\":\"UNTIL\",\"optional\":true,\"description\":\"...more SAS statements... END\",\"type\":\"standalone\"},{\"name\":\"WHILE\",\"optional\":true,\"description\":\"\",\"type\":\"standalone\"}]},{\"name\":\"ELSE\",\"description\":\"If the condition in an IF-THEN statement is false and an ELSE statement is present, then the ELSE action is carried out.\",\"help\":\"ELSE &lt;DO&gt;&lt;IF&gt;&lt;THEN&gt; ...\",\"arguments\":[{\"name\":\"AND\",\"optional\":true,\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"DO\",\"optional\":true,\"description\":\"DO statement in an IF-THEN/ELSE construct.\",\"type\":\"standalone\"},{\"name\":\"IF\",\"optional\":true,\"description\":\"Executes a SAS statement for observations that meet specific conditions.\",\"type\":\"standalone\"},{\"name\":\"NOT\",\"optional\":true,\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"OR\",\"optional\":true,\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"THEN\",\"optional\":true,\"description\":\"If the conditions that are specified in the IF clause are met, the IF-THEN statement executes a SAS statement for observations that are read from a SAS data set, for records in an external file, or for computed values.\",\"type\":\"standalone\"}]},{\"name\":\"END\",\"description\":\"Ends a DO group or SELECT group processing.\",\"help\":\"END\"},{\"name\":\"ENDSUB\",\"description\":\"Ends a FUNCTION or SUBROUTINE statement block.\",\"help\":\"ENDSUB\"},{\"name\":\"FUNCTION\",\"description\":\"Specifies a subroutine declaration for a routine that returns a value.\",\"help\":\"FUNCTION &lt;KIND= | GROUP='string'&gt;&lt;VARARGS&gt;\",\"arguments\":[{\"name\":\"KIND=\",\"optional\":true,\"aliases\":[\"GROUP=\"],\"description\":\"Specifies a collection of items that have specific attributes.\",\"type\":\"value\"},{\"name\":\"VARARGS\",\"optional\":true,\"description\":\"Specifies that the function supports a variable number of arguments. If you specify VARARGS, then the last argument in the function must be an array.\",\"type\":\"standalone\"}]},{\"name\":\"GOTO\",\"aliases\":[\"GO TO\"],\"description\":\"Jumps to a new statement.\",\"help\":\"GOTO label\"},{\"name\":\"IF\",\"description\":\"\",\"help\":\"IF &lt;DO&gt;&lt;NOT&gt;&lt;THEN&gt; ...\",\"arguments\":[{\"name\":\"AND\",\"optional\":true,\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"DO\",\"optional\":true,\"description\":\"DO statement in an IF-THEN construct.\",\"type\":\"standalone\"},{\"name\":\"NOT\",\"optional\":true,\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"OR\",\"optional\":true,\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"THEN\",\"optional\":true,\"description\":\"If the conditions that are specified in the IF clause are met, the IF-THEN statement executes a SAS statement for observations that are read from a SAS data set, for records in an external file, or for computed values.\",\"type\":\"standalone\"}]},{\"name\":\"OTHERWISE\",\"description\":\">\",\"help\":\"\"},{\"name\":\"OUTARGS\",\"description\":\"Specifies arguments from the argument list that the subroutine should update.\",\"help\":\"OUTARGS out-argument-1, ..., out-argument-n\"},{\"name\":\"PUT\",\"description\":\"Writes lines to the SAS log, to the SAS output window, or to an external location that is specified in the most recent FILE statement.\",\"help\":\"PUT &lt;_ALL_&gt;&lt;_INFILE_&gt;&lt;_ODS_&gt; ...\",\"arguments\":[{\"name\":\"OVERPRINT\",\"optional\":true,\"description\":\"Causes the values that follow the keyword OVERPRINT to print on the most recently written output line.\",\"type\":\"standalone\"},{\"name\":\"_ALL_\",\"optional\":true,\"description\":\"Writes the values of all variables, which includes automatic variables, that are defined in the current DATA step by using named output.\",\"type\":\"standalone\"},{\"name\":\"_BLANKPAGE_\",\"optional\":true,\"description\":\"Advances the pointer to the first line of a new page, even when the pointer is positioned on the first line and the first column of a new page.\",\"type\":\"standalone\"},{\"name\":\"_INFILE_\",\"optional\":true,\"description\":\"Writes the last input data record that is read either from the current input file or from the data lines that follow a DATELINES statement.\",\"type\":\"standalone\"},{\"name\":\"_ODS_\",\"optional\":true,\"description\":\"Moves data values for all columns (as defined by the ODS option in the FILE statement) into a special buffer, from which it is eventually written to the data component. The ODS option in the FILE statement defines the structure of the data component that holds the results of the DATA step.\",\"type\":\"standalone\"},{\"name\":\"_PAGE_\",\"optional\":true,\"description\":\"Advances the pointer to the first line of a new page. SAS automatically begins a new page when a line exceeds the current PAGESIZE= value.\",\"type\":\"standalone\"}]},{\"name\":\"RETURN\",\"description\":\"(1) RETURN; Stops executing statements at the current point in the DATA step and returns to a predetermined point in the step. (2) RETURN (expression); Statement within a FUNCTION-ENDSUB block.\",\"help\":\"\"},{\"name\":\"SELECT\",\"description\":\"\",\"help\":\"\"},{\"name\":\"STOP\",\"description\":\"Stops execution of the current DATA step.\",\"help\":\"STOP\"},{\"name\":\"SUBROUTINE\",\"description\":\"Declares (creates) an independent computational block of code that you can call using a CALL statement.\",\"help\":\"SUBROUTINE &lt;KIND= | GROUP='string'&gt;&lt;OUTARGS&gt;&lt;VARARGS&gt; ...\",\"arguments\":[{\"name\":\"KIND=\",\"optional\":true,\"aliases\":[\"GROUP=\"],\"description\":\"Specifies a collection of items that have specific attributes.\",\"type\":\"value\"},{\"name\":\"OUTARGS\",\"optional\":true,\"description\":\"Specifies arguments from the argument list that the subroutine should update.\",\"type\":\"standalone\"},{\"name\":\"VARARGS\",\"optional\":true,\"description\":\"Specifies that the subroutine has a variable argument length. In this case, the last argument must be an array. The array accepts the variable arguments.\",\"type\":\"standalone\"}]},{\"name\":\"WHEN\",\"description\":\"\",\"help\":\"WHEN &lt;DO&gt;\",\"arguments\":[{\"name\":\"DO\",\"optional\":true,\"description\":\"\",\"type\":\"standalone\"}]},{\"name\":\"WHERE\",\"description\":\"Selects observations from SAS data sets that meet a particular condition.\",\"help\":\"WHERE where-expression-1\"}],\"supportSiteInformation\":{\"docsetId\":\"orlsoug\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"orlsoug_ga_toc.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/GAM.json",
    "content": "{\"name\":\"GAM\",\"statements\":[{\"name\":\"PROC GAM\",\"description\":\"The GAM procedure fits generalized additive models as those models are defined by Hastie and Tibshirani (1990). This procedure provides an array of powerful tools for data analysis, based on nonparametric regression and smoothing techniques.\",\"help\":\"PROC GAM <DATA=SAS-data-set><DESCENDING><ORDER=DATA | FORMATTED | FREQ... ><PLOTS=ALL | NONE | COMPONENTS|COMPONENT>;     \\n\\tBY <DESCENDING><NOTSORTED> ;\\n\\n\\tCLASS <DESCENDING><ORDER=<DATA | FORMATTED | FREQ>... ><TRUNCATE<=n>> ...;\\n\\n\\tFREQ variable;\\n\\n\\tID;\\n\\n\\tMODEL <ALPHA=number><DESCENDING><EVENT=<<'category'> | FIRST | LAST>> ...;\\n\\n\\tOUTPUT <LINP=> OUT=SAS-data-set <PREDICTED=> ...;\\n\\n\\tSCORE <DATA=SAS-data-set><OUT=SAS-data-set> ;\\n\",\"arguments\":[{\"name\":\"DATA=\",\"optional\":true,\"description\":\"Specifies the SAS data set containing the data to be analyzed. If you omit the DATA= option, the procedure uses the most recently created SAS data set.\",\"help\":\"DATA=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"DESCENDING\",\"optional\":true,\"aliases\":[\"DESC\"],\"description\":\"Reverses the sorting order of the classification variable (specified in the CLASS statement). If both the DESCENDING and ORDER= options are specified, PROC GAM orders the categories according to the ORDER= option and then reverses that order.\",\"type\":\"standalone\"},{\"name\":\"ORDER=\",\"optional\":true,\"description\":\"Specifies the sorting order for the levels of all classification variables (specified in the CLASS statement). This ordering determines which parameters in the model correspond to each level in the data.\",\"help\":\"ORDER=DATA | FORMATTED | FREQ | INTERNAL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DATA\",\"description\":\"Levels sorted by the order of appearance in the input data set.\",\"type\":\"standalone\"},{\"name\":\"FORMATTED\",\"description\":\"Levels sorted by the external formatted value, except for numeric variables with no explicit format, which are sorted by their unformatted (internal) value.\",\"type\":\"standalone\"},{\"name\":\"FREQ\",\"description\":\"Levels sorted by the descending frequency count; levels with the most observations come first in the order.\",\"type\":\"standalone\"},{\"name\":\"INTERNAL\",\"description\":\"Levels sorted by the unformatted value.\",\"type\":\"standalone\"}]},{\"name\":\"PLOTS=\",\"optional\":true,\"description\":\"Controls the plots produced through ODS Graphics. Syntax: (1) PLOTS <(global-plot-options)> = plot-request <(options)> (2) PLOTS <(global-plot-options)> = (plot-request <(options)> <...plot-request <(options)> > ) The global-plot-options apply to all plots generated by the GAM procedure, unless altered by a specific-plot-option. UNPACK specifies that multiple smoothing component plots that are collected into graphics panels be displayed separately. Use this option if you want to access individual smoothing component plots within the panel. The following listing describes the specific plots and their options. ALL requests that all plots are produced. NONE suppresses all plots. COMPONENTS | COMPONENT <(components-options)> requests the SmoothingComponentPlot that displays a panel of smoothing component plots. The following components-options are available: ADDITIVE requests that the additive component plots are produced for spline effects. The additive component plots combine the linear trend and the nonparametric prediction for each spline effect if its linear part is not specified explicitly in the MODEL statement. CLM includes confidence limits in the smoothing component plots. By default, 95% confidence limits are produced, but you can change the significance level by specifying the ALPHA= option in the MODEL statement. Note that producing these limits can be computationally intensive for large data sets. COMMONAXES specifies that smoothing component plots use a common vertical axis. This enables you to visually judge relative effect size.\",\"help\":\"PLOTS=ALL | NONE | COMPONENTS\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ALL\",\"description\":\"Produces all available plots.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"Suppresses all plots.\",\"type\":\"standalone\"},{\"name\":\"COMPONENTS\",\"aliases\":[\"COMPONENT\"],\"description\":\"Requests the SmoothingComponentPlot that displays a panel of smoothing component plots. Syntax: COMPONENTS<(components-options)> The following components-options are available: ADDITIVE requests that the additive component plots are produced for spline effects. CLM includes confidence limits in the smoothing component plots. COMMONAXES specifies that smoothing component plots use a common vertical axis. UNPACK specifies that the smoothing components be displayed individually.\",\"type\":\"standalone\"}]}]},{\"name\":\"BY\",\"description\":\"You can specify a BY statement with PROC GAM to obtain separate analyses on observations in groups that are defined by the BY variables. When a BY statement appears, the procedure expects the input data set to be sorted in order of the BY variables. If you specify more than one BY statement, only the last one specified is used.\",\"help\":\"BY &lt;DESCENDING&gt;&lt;NOTSORTED&gt;\",\"arguments\":[{\"name\":\"DESCENDING\",\"optional\":true,\"description\":\"Specifies that the observations are sorted in descending order by the variable that immediately follows the word DESCENDING in the BY statement.\",\"type\":\"standalone\"},{\"name\":\"NOTSORTED\",\"optional\":true,\"description\":\"Specifies that observations are not necessarily sorted in alphabetic or numeric order.\",\"type\":\"standalone\"}]},{\"name\":\"CLASS\",\"aliases\":[\"CLASSES\"],\"description\":\"The CLASS statement names the classification variables to be used in the analysis. The CLASS statement must precede the MODEL statement.\",\"help\":\"CLASS &lt;DESCENDING&gt;&lt;ORDER=&lt;DATA | FORMATTED | FREQ&gt;... &gt;&lt;TRUNCATE&lt;=n&gt;&gt; ...\",\"arguments\":[{\"name\":\"DESCENDING\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"DESC\"],\"description\":\"Reverses the sorting order of the classification variable.\",\"type\":\"standalone\"},{\"name\":\"ORDER=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the sorting order for the categories of categorical variables.\",\"help\":\"ORDER=DATA | FORMATTED | FREQ | INTERNAL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DATA\",\"followsDelimiter\":\"/\",\"description\":\"Levels sorted by the order of appearance in the input data set.\",\"type\":\"standalone\"},{\"name\":\"FORMATTED\",\"followsDelimiter\":\"/\",\"description\":\"Levels sorted by the external formatted value, except for numeric variables with no explicit format, which are sorted by their unformatted (internal) value.\",\"type\":\"standalone\"},{\"name\":\"FREQ\",\"followsDelimiter\":\"/\",\"description\":\"Levels sorted by the descending frequency count; levels with the most observations come first in the order.\",\"type\":\"standalone\"},{\"name\":\"INTERNAL\",\"followsDelimiter\":\"/\",\"description\":\"Levels sorted by the unformatted value.\",\"type\":\"standalone\"}]},{\"name\":\"TRUNCATE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the length n of CLASS variable values to use in determining CLASS variable levels. If you specify TRUNCATE without the length n, the first 16 characters of the formatted values are used.\",\"type\":\"value\"}]},{\"name\":\"FREQ\",\"aliases\":[\"FREQUENCY\"],\"description\":\"The FREQ statement names a variable that provides frequencies for each observation in the DATA= data set. Specifically, if n is the value of the FREQ variable for a given observation, then that observation is used n times.\",\"help\":\"FREQ variable\"},{\"name\":\"ID\",\"description\":\"\",\"help\":\"ID\"},{\"name\":\"MODEL\",\"description\":\"MODEL event/trials=<PARAM(effects)> <smoothing effects> </options> ; The MODEL statement specifies the dependent variable and the independent effects you want to use in the model.\",\"help\":\"MODEL &lt;ALPHA=number&gt;&lt;DESCENDING&gt;&lt;EVENT=&lt;&lt;'category'&gt; | FIRST | LAST&gt;&gt; ...\",\"arguments\":[{\"name\":\"ALPHA=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the significance level, α, of the confidence limits on the final nonparametric component estimates when you request confidence limits to be included in the output data set. Specify number as a value between 0 and 1. The default value is 0.05.\",\"help\":\"ALPHA=*number*\",\"type\":\"value\"},{\"name\":\"ANODEV=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the type of method to be used to produce the \\\"Analysis of Deviance\\\" table for smoothing effects.\",\"help\":\"ANODEV=REFIT | NOREFIT | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"REFIT\",\"followsDelimiter\":\"/\",\"description\":\"Specifies that PROC GAM perform χ² tests by fitting nested GAM models. This is the default choice if you do not specify the ANODEV= option.\",\"type\":\"standalone\"},{\"name\":\"NOREFIT\",\"followsDelimiter\":\"/\",\"description\":\"Specifies that PROC GAM perform approximate tests of smoothing effects.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"followsDelimiter\":\"/\",\"description\":\"Requests that the procedure not produce the 'Analysis of Deviance' table for smoothing effects.\",\"type\":\"standalone\"}]},{\"name\":\"DESCENDING\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"DESC\"],\"description\":\"Reverses the order of the response categories. If both the DESCENDING and ORDER= options are specified, PROC GAM orders the response categories according to the ORDER= option and then reverses that order.\",\"type\":\"standalone\"},{\"name\":\"DIST=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"LINK=\"],\"description\":\"Specifies the distribution family used in the model.\",\"help\":\"DIST=GAUSSIAN | BINOMIAL | POISSON | GAMMA | IGAUSSIAN\",\"type\":\"choice\",\"arguments\":[{\"name\":\"GAUSSIAN\",\"followsDelimiter\":\"/\",\"description\":\"Normal (Gaussian) distribution\",\"type\":\"standalone\"},{\"name\":\"BINOMIAL\",\"followsDelimiter\":\"/\",\"description\":\"Binomial distribution\",\"type\":\"standalone\"},{\"name\":\"POISSON\",\"followsDelimiter\":\"/\",\"description\":\"Poisson distribution\",\"type\":\"standalone\"},{\"name\":\"GAMMA\",\"followsDelimiter\":\"/\",\"description\":\"Gamma distribution\",\"type\":\"standalone\"},{\"name\":\"IGAUSSIAN\",\"followsDelimiter\":\"/\",\"description\":\"Inverse Gaussian distribution\",\"type\":\"standalone\"}]},{\"name\":\"EPSILON=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the convergence criterion for the backfitting algorithm. The default value is 1E-8.\",\"help\":\"EPSILON=*number*\",\"type\":\"value\"},{\"name\":\"EPSSCORE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the convergence criterion for the local scoring algorithm. The default value is 1E-8.\",\"help\":\"EPSSCORE=*number*\",\"type\":\"value\"},{\"name\":\"EVENT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the event category for the binary response model. PROC GAM models the probability of the event category.\",\"help\":\"EVENT=&lt;'*category*'&gt; | FIRST | LAST\",\"type\":\"choice\",\"arguments\":[{\"name\":\"'category'\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"Event category for the binary response model\",\"type\":\"value\"},{\"name\":\"FIRST\",\"followsDelimiter\":\"/\",\"description\":\"Designates the first ordered category as the event.\",\"type\":\"standalone\"},{\"name\":\"LAST\",\"followsDelimiter\":\"/\",\"description\":\"Designates the last ordered category as the event.\",\"type\":\"standalone\"}]},{\"name\":\"ITPRINT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Produces an iteration summary table for the smoothing effects when doing backfitting and local scoring.\",\"type\":\"standalone\"},{\"name\":\"MAXITER=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the maximum number of iterations for the backfitting algorithm. The default value is 50.\",\"help\":\"MAXITER=*number*\",\"type\":\"value\"},{\"name\":\"MAXITSCORE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the maximum number of iterations for the local scoring algorithm. The default value is 100.\",\"help\":\"MAXITSCORE=*number*\",\"type\":\"value\"},{\"name\":\"METHOD=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies that the value of the smoothing parameter should be selected by generalized cross validation. If you specify both METHOD=GCV and the DF= option for the smoothing effects, the user-specified DF is used, and the METHOD=GCV option is ignored.\",\"help\":\"METHOD=GCV\",\"type\":\"choice\",\"arguments\":[{\"name\":\"GCV\",\"followsDelimiter\":\"/\",\"description\":\"Specifies that the value of the smoothing parameter should be selected by generalized cross validation.\",\"type\":\"standalone\"}]},{\"name\":\"ORDER=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the sorting order for the categories of categorical variables.\",\"help\":\"ORDER=DATA | FORMATTED | FREQ | INTERNAL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DATA\",\"followsDelimiter\":\"/\",\"description\":\"Levels sorted by the order of appearance in the input data set.\",\"type\":\"standalone\"},{\"name\":\"FORMATTED\",\"followsDelimiter\":\"/\",\"description\":\"Levels sorted by the external formatted value, except for numeric variables with no explicit format, which are sorted by their unformatted (internal) value.\",\"type\":\"standalone\"},{\"name\":\"FREQ\",\"followsDelimiter\":\"/\",\"description\":\"Levels sorted by the descending frequency count; levels with the most observations come first in the order.\",\"type\":\"standalone\"},{\"name\":\"INTERNAL\",\"followsDelimiter\":\"/\",\"description\":\"Levels sorted by the unformatted value.\",\"type\":\"standalone\"}]}]},{\"name\":\"OUTPUT\",\"description\":\"The OUTPUT statement creates a new SAS data set containing diagnostic measures calculated after fitting the model. All the variables in the original data set are included in the new data set, along with the variables created by specifying keywords in the OUTPUT statement.\",\"help\":\"OUTPUT &lt;LINP=&gt; OUT=SAS-data-set &lt;PREDICTED=&gt; ...\",\"arguments\":[{\"name\":\"OUT=\",\"description\":\"Specifies the name of the new data set to contain the diagnostic measures. This specification is required.\",\"help\":\"OUT=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"ADIAG=\",\"optional\":true,\"description\":\"Diagonal element of the hat matrix associated with the observation for each smoothing spline component.\",\"type\":\"value\"},{\"name\":\"ALL=\",\"optional\":true,\"description\":\"All statistics in this list.\",\"type\":\"value\"},{\"name\":\"LCLM=\",\"optional\":true,\"description\":\"Lower confidence limits for each predicted smoothing component.\",\"type\":\"value\"},{\"name\":\"LINP=\",\"optional\":true,\"description\":\"Linear prediction values on the link scale at design points.\",\"type\":\"value\"},{\"name\":\"PREDICTED=\",\"optional\":true,\"aliases\":[\"PRED=\"],\"description\":\"Predicted values for each smoothing component and overall predicted values on the response scale at design points.\",\"type\":\"value\"},{\"name\":\"REDIDUAL=\",\"optional\":true,\"description\":\"Residual standardized by its weights.\",\"type\":\"value\"},{\"name\":\"STD=\",\"optional\":true,\"description\":\"Standard deviation of the prediction for each smoothing component.\",\"type\":\"value\"},{\"name\":\"UCLM=\",\"optional\":true,\"description\":\"Upper confidence limits for each predicted smoothing component.\",\"type\":\"value\"}]},{\"name\":\"SCORE\",\"description\":\"The SCORE statement calculates predicted values for a new data set. All the variables in the named data set are included in the OUT= data set, along with the predicted values.\",\"help\":\"SCORE &lt;DATA=SAS-data-set&gt;&lt;OUT=SAS-data-set&gt;\",\"arguments\":[{\"name\":\"DATA=\",\"optional\":true,\"description\":\"Specifies an input SAS data set containing all the variables included in independent effects in the MODEL statement.\",\"help\":\"DATA=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"OUT=\",\"optional\":true,\"description\":\"Specifies the name of the SAS data set to contain the predictions.\",\"help\":\"OUT=*SAS-data-set*\",\"type\":\"dataSet\"}]}],\"supportSiteInformation\":{\"docsetId\":\"statug\",\"docsetVersion\":\"latest\",\"docsetTargetFile\":\"statug_gam_toc.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/GAMMOD.json",
    "content": "{\"name\":\"GAMMOD\",\"statements\":[{\"name\":\"PROC GAMMOD\",\"description\":\"The GAMMOD procedure fits generalized additive models that are based on low-rank regression splines (Wood 2006) in SAS Viya. † Generalized additive models are extensions of generalized linear models. They relax the generalized linear models’ assumption of linearity by allowing spline terms that characterize nonlinear dependency structures. Each spline term is constructed by the thin-plate regression spline technique (Wood 2003). A roughness penalty is applied to each spline term by a smoothing parameter that controls the balance between goodness of fit and the roughness of the spline curve. PROC GAMMOD fits models for standard distributions in the exponential family, such as the normal, Poisson, gamma and Tweedie distributions.\",\"help\":\"PROC GAMMOD <ALPHA=number><DATA=CAS-libref.data-table><ITDETAILS><NOCLPRINT<=number>><NOPRINT><PLIKEOPTIONS(optimization-parameters)><PLOTS=ALL | NONE | COMPONENTS><SEED=number><SINGCHOL=number><SINGULAR=number><SMOOTHOPTIONS(optimization-parameters)>;     \\n\\tBY <DESCENDING><NOTSORTED> ;\\n\\n\\tCLASS <DESCENDING><MISSING><ORDER=<FORMATTED | FREQ | INTERNAL>> ...;\\n\\n\\tDISPLAY <CASESENSITIVE><EXCLUDE><EXCLUDEALL> ...;\\n\\n\\tDISPLAYOUT <INCLUDEALL><NOREPLACE><REPEATED> ...;\\n\\n\\tFREQ variable;\\n\\n\\tMODEL DESCENDING EVENT='<category>'|FIRST|LAST  ORDER=FORMATTED|FREQ|INTERNAL  ...;\\n\\n\\tOUTPUT LINP LOWER OUT=CAS-libref.data-table ...;\\n\\n\\tWEIGHT variable;\\n\",\"arguments\":[{\"name\":\"ALPHA=\",\"optional\":true,\"description\":\"Specifies a global significance level for the hypothesis testing of smoothing components and the construction of Bayesian confidence bands of predictions. The confidence level is 1 – number. The value of number must be between 0 and 1; the default is 0.05. You can override this global significance level for Bayesian confidence bands of predictions by specifying the ALPHA= option in the OUTPUT statement.\",\"help\":\"ALPHA=*number*\",\"type\":\"value\"},{\"name\":\"DATA=\",\"optional\":true,\"description\":\"Names the input data table for PROC GAMMOD to use. The default is the most recently created data table. CAS-libref.data-table is a two-level name, where\",\"help\":\"DATA=*CAS-libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"ITDETAILS\",\"optional\":true,\"description\":\"Adds to the \\\"Iteration History\\\" table the current values of the parameter estimates and their gradients. If the optimization algorithm is used to determine at least one smoothing parameter, the table lists values for smoothing parameters. If all smoothing parameters are fixed or a parametric generalized linear model is specified, the table lists values for regression parameters. These quantities are reported only for parameters that participate in the optimization.\",\"type\":\"standalone\"},{\"name\":\"NOCLPRINT\",\"optional\":true,\"description\":\"Suppresses the display of the \\\"Class Level Information\\\" table if you do not specify number. If you specify number, the values of the classification variables are displayed for only those variables whose number of levels is less than number. Specifying a number helps reduce the size of the \\\"Class Level Information\\\" table if some classification variables have a large number of levels.\",\"type\":\"standalone\"},{\"name\":\"NOPRINT\",\"optional\":true,\"description\":\"Suppresses the generation of ODS output.\",\"type\":\"standalone\"},{\"name\":\"PLIKEOPTIONS=\",\"optional\":true,\"description\":\"Specifies optimization parameters for either maximum or penalized likelihood estimation. You can specify the following optimization-parameters:\",\"help\":\"PLIKEOPTIONS=ABSCONV= | ABSFCONV= | ABSGCONV= | FCONV= | GCONV= | MAXFUNC= | MAXITER= | MAXTIME= | MINITER= | TECHNIQUE=\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ABSCONV=\",\"type\":\"value\"},{\"name\":\"ABSFCONV=\",\"type\":\"value\"},{\"name\":\"ABSGCONV=\",\"type\":\"value\"},{\"name\":\"FCONV=\",\"type\":\"value\"},{\"name\":\"GCONV=\",\"type\":\"value\"},{\"name\":\"MAXFUNC=\",\"type\":\"value\"},{\"name\":\"MAXITER=\",\"type\":\"value\"},{\"name\":\"MAXTIME=\",\"type\":\"value\"},{\"name\":\"MINITER=\",\"type\":\"value\"},{\"name\":\"TECHNIQUE=\",\"type\":\"value\"}]},{\"name\":\"PLOTS=\",\"optional\":true,\"description\":\"Controls the plots that are produced through ODS Graphics. You can specify the following global-plot-option, which applies to the smoothing component plots that the GAMMOD procedure generates: UNPACK | UNPACKPANEL suppresses paneling. By default, multiple smoothing component plots can appear in some output panels. Specify UNPACK to get each plot individually. The following listing describes the specific plots and their options. ALL requests that all default plots be produced.\",\"help\":\"PLOTS=ALL | NONE | COMPONENTS\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ALL\",\"description\":\"Requests that all default plots be produced.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"Suppresses all plots.\",\"type\":\"standalone\"},{\"name\":\"COMPONENTS\",\"description\":\"Plots a panel of smoothing components of the fitted model. Syntax: COMPONENTS<(component-option)> You can specify the following component-option: COMMONAXES requests that the smoothing component plots use a common vertical axis except for bivariate contour plots. This option enables you to visually judge the relative effect size.\",\"type\":\"standalone\"}]},{\"name\":\"SEED=\",\"optional\":true,\"description\":\"Specifies an integer that is used to start the pseudorandom number generator for subset sampling from observations to form knots if necessary and for truncated eigendecomposition. If you do not specify this option, or if number ≤ 0, the seed is generated from the time of day, which is read from the computer's clock.\",\"help\":\"SEED=*number*\",\"type\":\"value\"},{\"name\":\"SINGCHOL=\",\"optional\":true,\"description\":\"Tunes the singularity criterion in Cholesky decompositions. The default is 1E4 times the machine epsilon; this product is approximately 1E–12 on most computers.\",\"help\":\"SINGCHOL=*number*\",\"type\":\"value\"},{\"name\":\"SINGULAR=\",\"optional\":true,\"description\":\"Tunes the singularity criterion in truncated eigendecomposition to determine its convergence. The default is 1E4 times the machine epsilon; this product is approximately 1E–12 on most computers.\",\"help\":\"SINGULAR=*number*\",\"type\":\"value\"},{\"name\":\"SMOOTHOPTIONS=\",\"optional\":true,\"description\":\"Specifies optimization parameters for smoothing parameter estimation. You can specify the following optimization-parameters:\",\"help\":\"SMOOTHOPTIONS=ABSCONV= | ABSFCONV= | ABSGCONV= | FCONV= | GCONV= | MAXFUNC= | MAXITER= | MAXTIME= | MINITER= | TECHNIQUE=\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ABSCONV=\",\"type\":\"value\"},{\"name\":\"ABSFCONV=\",\"type\":\"value\"},{\"name\":\"ABSGCONV=\",\"type\":\"value\"},{\"name\":\"FCONV=\",\"type\":\"value\"},{\"name\":\"GCONV=\",\"type\":\"value\"},{\"name\":\"MAXFUNC=\",\"type\":\"value\"},{\"name\":\"MAXITER=\",\"type\":\"value\"},{\"name\":\"MAXTIME=\",\"type\":\"value\"},{\"name\":\"MINITER=\",\"type\":\"value\"},{\"name\":\"TECHNIQUE=\",\"type\":\"value\"}]}]},{\"name\":\"BY\",\"description\":\"You can specify a BY statement in PROC GAMMOD to obtain separate analyses of observations in groups that are defined by the values of the BY variables. If you specify more than one BY statement, only the last one specified is used.\",\"help\":\"BY &lt;DESCENDING&gt;&lt;NOTSORTED&gt;\",\"arguments\":[{\"name\":\"DESCENDING\",\"optional\":true,\"description\":\"Specifies that the observations are sorted in descending order by the variable that immediately follows the word DESCENDING in the BY statement.\",\"type\":\"standalone\"},{\"name\":\"NOTSORTED\",\"optional\":true,\"description\":\"Specifies that observations are not necessarily sorted in alphabetic or numeric order.\",\"type\":\"standalone\"}]},{\"name\":\"CLASS\",\"description\":\"The CLASS statement names the classification variables to be used as explanatory variables in the analysis. The CLASS statement must precede the MODEL statement. You can list the response variable for binary models in the CLASS statement, but this is not necessary.\",\"help\":\"CLASS &lt;DESCENDING&gt;&lt;MISSING&gt;&lt;ORDER=&lt;FORMATTED | FREQ | INTERNAL&gt;&gt; ...\",\"arguments\":[{\"name\":\"DESCENDING\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"DESC\"],\"description\":\"Reverses the sorting order of the classification variable. If both the DESCENDING and ORDER= options are specified, high-performance statistical procedures order the categories according to the ORDER= option and then reverse that order.\",\"type\":\"standalone\"},{\"name\":\"MISSING\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Treats missing values (\\\".\\\", \\\".A\\\", …, \\\".Z\\\" for numeric variables and blanks for character variables) as valid values for the CLASS variable.\",\"type\":\"standalone\"},{\"name\":\"ORDER=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the sort order for the levels of classification variables. This ordering determines which parameters in the model correspond to each level in the data.\",\"help\":\"ORDER=FORMATTED | FREQ | INTERNAL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"FORMATTED\",\"followsDelimiter\":\"/\",\"description\":\"Levels sorted by their external formatted values, except for numeric variables that have no explicit format, which are sorted by their unformatted (internal) value.\",\"type\":\"standalone\"},{\"name\":\"FREQ\",\"followsDelimiter\":\"/\",\"description\":\"Levels sorted by their descending frequency count (levels that have more observations come earlier in the order).\",\"type\":\"standalone\"},{\"name\":\"INTERNAL\",\"followsDelimiter\":\"/\",\"description\":\"Levels sorted by theeir unformatted value. The sort order is machine-dependent.\",\"type\":\"standalone\"}]},{\"name\":\"PARAM=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the parameterization method for the classification variable or variables.\",\"help\":\"PARAM=EFFECT | GLM | ORDINAL|THERMOMETER | POLYNOMIAL|POLY | REFERENCE|REF | ORTHEFFECT | ORTHORDINAL|ORTHOTHERM | ORTHPOLY | ORTHREF\",\"type\":\"choice\",\"arguments\":[{\"name\":\"EFFECT\",\"followsDelimiter\":\"/\",\"description\":\"Specifies effect coding.\",\"type\":\"standalone\"},{\"name\":\"GLM\",\"followsDelimiter\":\"/\",\"description\":\"Specifies less-than-full-rank, reference-cell coding; this option can be used only as a global option.\",\"type\":\"standalone\"},{\"name\":\"ORDINAL\",\"followsDelimiter\":\"/\",\"description\":\"Specifies the cumulative parameterization for an ordinal CLASS variable.\",\"help\":\"ORDINAL|THERMOMETER\",\"type\":\"choice\"},{\"name\":\"POLYNOMIAL\",\"followsDelimiter\":\"/\",\"description\":\"Specifies polynomial coding.\",\"help\":\"POLYNOMIAL|POLY\",\"type\":\"choice\"},{\"name\":\"REFERENCE\",\"followsDelimiter\":\"/\",\"description\":\"Specifies reference-cell coding.\",\"help\":\"REFERENCE|REF\",\"type\":\"choice\"},{\"name\":\"ORTHEFFECT\",\"followsDelimiter\":\"/\",\"description\":\"Orthogonalizes PARAM=EFFECT coding.\",\"type\":\"standalone\"},{\"name\":\"ORTHORDINAL\",\"followsDelimiter\":\"/\",\"description\":\"Orthogonalizes PARAM=ORDINAL coding.\",\"help\":\"ORTHORDINAL|ORTHOTHERM\",\"type\":\"choice\"},{\"name\":\"ORTHPOLY\",\"followsDelimiter\":\"/\",\"description\":\"Orthogonalizes PARAM=POLYNOMIAL coding.\",\"type\":\"standalone\"},{\"name\":\"ORTHREF\",\"followsDelimiter\":\"/\",\"description\":\"Orthogonalizes PARAM=REFERENCE coding.\",\"type\":\"standalone\"}]},{\"name\":\"REFERENCE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"REF=\"],\"description\":\"Syntax: REF='level' | keyword REFERENCE='level' | keyword\",\"help\":\"REFERENCE='&lt;level&gt;' | FIRST | LAST\",\"type\":\"choice\",\"arguments\":[{\"name\":\"'\",\"followsDelimiter\":\"/\",\"description\":\"The level of the variable to use as the reference level. Specify the formatted value of the variable if a format is assigned. Replace <level> with an actual value.\",\"help\":\"'&lt;level&gt;'\",\"type\":\"standalone\"},{\"name\":\"FIRST\",\"followsDelimiter\":\"/\",\"description\":\"Designates the first ordered level as reference.\",\"type\":\"standalone\"},{\"name\":\"LAST\",\"followsDelimiter\":\"/\",\"description\":\"Designates the last ordered level as reference.\",\"type\":\"standalone\"}]}]},{\"name\":\"DISPLAY\",\"description\":\"The DISPLAY statement enables you to specify a list of display tables to display or exclude. This statement is similar to the ODS SELECT, ODS EXCLUDE, and ODS TRACE statements. However, the DISPLAY statement can improve performance when a large number of tables could be generated (such as in BY-group processing). The procedure processes the DISPLAY statement on a CAS server and thus sends only a subset of ODS tables to the SAS client. Because ODS statements are processed on a SAS client, all the display tables generated are first sent to the client and then the client creates a subset. If both DISPLAY and ODS statements are used together, the DISPLAY statement takes precedence over the ODS statements.\",\"help\":\"DISPLAY &lt;CASESENSITIVE&gt;&lt;EXCLUDE&gt;&lt;EXCLUDEALL&gt; ...\",\"arguments\":[{\"name\":\"CASESENSITIVE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Performs a case-sensitive comparison of table names in the table-list to display table names when tables are subsetted for display. To preserve case, you must enclose table names in the table-list in quotation marks.\",\"type\":\"standalone\"},{\"name\":\"EXCLUDE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays all display tables except those specified in the table-list.\",\"type\":\"standalone\"},{\"name\":\"EXCLUDEALL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Suppresses display of all tables. This option takes precedence over the other options.\",\"type\":\"standalone\"},{\"name\":\"TRACE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays the display table names, labels, and paths.\",\"type\":\"standalone\"}]},{\"name\":\"DISPLAYOUT\",\"description\":\"The DISPLAYOUT statement enables you to create CAS output tables from your displayed output. This statement is similar to the ODS OUTPUT statement. The table-spec-list specifies a list of CAS output tables to create. Each entry in the list has either a key or a key=value format: key=value specifies key as the ODS table name, path, or partial pathname, and specifies value as the CAS output table name. key specifies key as the ODS table name and also as the CAS output table name. Table names and partial pathnames are discussed under the DISPLAY statement. The DISPLAYOUT statement does not support regular expressions.\",\"help\":\"DISPLAYOUT &lt;INCLUDEALL&gt;&lt;NOREPLACE&gt;&lt;REPEATED&gt; ...\",\"arguments\":[{\"name\":\"INCLUDEALL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Creates output CAS tables for all display tables. The name of the created output CAS table is the same as the corresponding display table name. If you specify this option, the table-spec-list specification is ignored.\",\"type\":\"standalone\"},{\"name\":\"NOREPLACE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Does not replace an existing CAS output table of the same name.\",\"type\":\"standalone\"},{\"name\":\"REPEATED\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Replicates the CAS output tables on all nodes.\",\"type\":\"standalone\"}]},{\"name\":\"FREQ\",\"description\":\"The variable in the FREQ statement identifies a numeric variable in the data set that contains the frequency of occurrence of each observation. PROC GAMMOD treats each observation as if it appeared f times, where the frequency value f is the value of the FREQ variable for the observation. If f is not an integer, then f is truncated to an integer. If f is less than 1 or missing, the observation is not used in the analysis. When you do not specify the FREQ statement, each observation is assigned a frequency of 1.\",\"help\":\"FREQ variable\"},{\"name\":\"MODEL\",\"description\":\"\",\"help\":\"MODEL DESCENDING EVENT='&lt;category&gt;'|FIRST|LAST  ORDER=FORMATTED|FREQ|INTERNAL  ...\",\"arguments\":[{\"name\":\"DESCENDING\",\"aliases\":[\"DESC\"],\"description\":\"Reverses the order of the response categories. If you specify both the DESCENDING and ORDER= options, PROC GAMPL orders the response categories according to the ORDER= option and then reverses that order.\",\"type\":\"standalone\"},{\"name\":\"DETAILS\",\"description\":\"Requests a detailed spline specification information table.\",\"type\":\"standalone\"},{\"name\":\"DF=\",\"description\":\"Specifies a fixed degrees of freedom. When you specify this option, no smoothing parameter selection is performed on the spline term. If number is not an integer, then number is truncated to an integer.\",\"help\":\"DF=*number*\",\"type\":\"value\"},{\"name\":\"EVENT=\",\"description\":\"Specifies the event category for the binary response model. PROC GAMPL models the probability of the event category. The EVENT= option has no effect when there are more than two response categories.\",\"help\":\"EVENT='&lt;category&gt;' | FIRST | LAST\",\"type\":\"choice\",\"arguments\":[{\"name\":\"'\",\"description\":\"Event category for the binary response model\",\"help\":\"'&lt;category&gt;'\",\"type\":\"standalone\"},{\"name\":\"FIRST\",\"description\":\"Designates the first ordered category as the event.\",\"type\":\"standalone\"},{\"name\":\"LAST\",\"description\":\"Designates the last ordered category as the event.\",\"type\":\"standalone\"}]},{\"name\":\"INITSMOOTH=\",\"description\":\"specifies the starting value for a smoothing parameter. The number must be nonnegative.\",\"help\":\"INITSMOOTH=*number*\",\"type\":\"value\"},{\"name\":\"KNOTS=\",\"description\":\"Specifies the method for supplying user-defined knot values instead of using data values for constructing basis expansions.\",\"help\":\"KNOTS=LIST | EQUAL*method*\",\"type\":\"value\",\"arguments\":[{\"name\":\"LIST\",\"description\":\"Syntax: LIST(list-of-values) Specifies a list of values as knots for the spline construction. For a multivariate spline term, the listed values are taken as multiple row vectors, where each vector has values that are ordered by specified variables. If the last row vector of knots contains fewer values than the number of variables, then the last row vector is ignored.\",\"type\":\"standalone\"},{\"name\":\"EQUAL\",\"description\":\"Syntax: EQUAL(n) Specifies the number of equally spaced interior knots for every variable in a spline term. Two boundary knots are automatically added to the knot list for each variable such that the total number of knots is (n+2)^d, where d is the number of variables in the spline term. For a multivariate spline term, knot values for each variable are determined independently from the corresponding boundary values.\",\"type\":\"standalone\"}]},{\"name\":\"M=\",\"description\":\"Specifies the order of the derivative in the penalty term. The number must be a positive integer. The default is max(2, int(d/2)+1), where d is the number of variables in the spline term.\",\"help\":\"M=*number*\",\"type\":\"value\"},{\"name\":\"MAXDF=\",\"description\":\"Specifies the maximum number of degrees of freedom. When a thin-plate regression spline is formed, the specified number is used for constructing a low-rank penalty matrix to approximate the penalty matrix via the truncated eigendecomposition.\",\"help\":\"MAXDF=*number*\",\"type\":\"value\"},{\"name\":\"MAXKNOTS=\",\"description\":\"Specifies the maximum number of knots if data points are used to form knots. If KNOTS=LIST(list-of-values) is not specified, PROC GAMPL forms knots from unique data points. If the number of unique data points is greater than number, a subset of size number is formed by random sampling from all unique data points. The number cannot exceed the largest integer that can be stored on the given machine.\",\"help\":\"MAXKNOTS=*number*\",\"type\":\"value\"},{\"name\":\"MAXSMOOTH=\",\"description\":\"Specifies the upper bound for the smoothing parameter. The default is the largest double-precision value.\",\"help\":\"MAXSMOOTH=*number*\",\"type\":\"value\"},{\"name\":\"MINSMOOTH=\",\"description\":\"Specifies the lower bound for the smoothing parameter. By default, MINSMOOTH=0.\",\"help\":\"MINSMOOTH=*number*\",\"type\":\"value\"},{\"name\":\"ORDER=\",\"description\":\"Specifies the sort order for the levels of the response variable.\",\"help\":\"ORDER=FORMATTED | FREQ | INTERNAL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"FORMATTED\",\"description\":\"Sorts the levels by external formatted value.\",\"type\":\"standalone\"},{\"name\":\"FREQ\",\"description\":\"Sorts the levels by descending frequency count (levels that have the most observations come first in the order).\",\"type\":\"standalone\"},{\"name\":\"INTERNAL\",\"description\":\"Sorts the levels by unformatted value. The sort order is machine-dependent.\",\"type\":\"standalone\"}]},{\"name\":\"REF=\",\"description\":\"Specifies the reference category for the binary response model. Specifying one response category as the reference is the same as specifying the other response category as the event category.\",\"help\":\"REF='&lt;category&gt;' | FIRST | LAST\",\"type\":\"choice\",\"arguments\":[{\"name\":\"'\",\"description\":\"Specifies that observations whose value matches category (formatted, if a format is applied) are designated as the reference. Replace <category> with an actual value.\",\"help\":\"'&lt;category&gt;'\",\"type\":\"standalone\"},{\"name\":\"FIRST\",\"description\":\"Designates the first ordered category as reference.\",\"type\":\"standalone\"},{\"name\":\"LAST\",\"description\":\"Designates the last ordered category as reference.\",\"type\":\"standalone\"}]},{\"name\":\"SMOOTH=\",\"description\":\"Specifies a fixed smoothing parameter. When you specify this option, no smoothing parameter selection is performed on the spline term.\",\"help\":\"SMOOTH=*number*\",\"type\":\"value\"},{\"name\":\"ALLOBS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that all nonmissing values of the variables be specified in a spline term for constructing the spline basis functions, regardless of whether other model variables are missing.\",\"type\":\"standalone\"},{\"name\":\"CRITERION=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the model evaluation criterion for selecting smoothing parameters for spline-effects.\",\"help\":\"CRITERION=GACV | GCV | UBRE*criterion*\",\"type\":\"value\",\"arguments\":[{\"name\":\"GACV\",\"followsDelimiter\":\"/\",\"description\":\"Syntax: GACV<(FACTOR=number | GAMMA=number)> Uses the generalized approximate cross validation (GACV) criterion to evaluate models.\",\"type\":\"standalone\"},{\"name\":\"GCV\",\"followsDelimiter\":\"/\",\"description\":\"Syntax: GCV<(FACTOR=number | GAMMA=number)> Uses the generalized cross validation (GCV) criterion to evaluate models.\",\"type\":\"standalone\"},{\"name\":\"UBRE\",\"followsDelimiter\":\"/\",\"description\":\"Syntax: UBRE<(FACTOR=number | GAMMA=number)> Uses the unbiased risk estimator (UBRE) criterion to evaluate models.\",\"type\":\"standalone\"}]},{\"name\":\"DISPERSION=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"PHI=\"],\"description\":\"Specifies a fixed dispersion parameter for distributions that have a dispersion parameter. The dispersion parameter that is used in all computations is fixed at number; it is not estimated.\",\"type\":\"value\"},{\"name\":\"DISTRIBUTION=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the response distribution for the model.\",\"help\":\"DISTRIBUTION=BINARY | BINOMIAL | GAMMA | INVERSEGAUSSIAN|IG | NEGATIVEBINOMIAL|NB | NORMAL|GAUSSIAN | POISSON | TWEEDIE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"BINARY\",\"followsDelimiter\":\"/\",\"description\":\"Binary distribution\",\"type\":\"standalone\"},{\"name\":\"BINOMIAL\",\"followsDelimiter\":\"/\",\"description\":\"Binomial distribution\",\"type\":\"standalone\"},{\"name\":\"GAMMA\",\"followsDelimiter\":\"/\",\"description\":\"Gamma distribution\",\"type\":\"standalone\"},{\"name\":\"INVERSEGAUSSIAN\",\"followsDelimiter\":\"/\",\"description\":\"Inverse Gaussian distribution\",\"help\":\"INVERSEGAUSSIAN|IG\",\"type\":\"choice\"},{\"name\":\"NEGATIVEBINOMIAL\",\"followsDelimiter\":\"/\",\"description\":\"Negative binomial distribution\",\"help\":\"NEGATIVEBINOMIAL|NB\",\"type\":\"choice\"},{\"name\":\"NORMAL\",\"followsDelimiter\":\"/\",\"description\":\"Normal distribution\",\"help\":\"NORMAL|GAUSSIAN\",\"type\":\"choice\"},{\"name\":\"POISSON\",\"followsDelimiter\":\"/\",\"description\":\"Poisson distribution\",\"type\":\"standalone\"},{\"name\":\"TWEEDIE\",\"followsDelimiter\":\"/\",\"description\":\"Tweedie distribution\",\"type\":\"standalone\"}]},{\"name\":\"FDHESSIAN\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that the second-order derivatives (Hessian) be computed using finite-difference approximations based on evaluation of the first-order derivatives (gradient). This option might be useful if the analytical Hessian takes a long time to compute.\",\"type\":\"standalone\"},{\"name\":\"INITIALPHI=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies a starting value for iterative maximum likelihood estimation of the dispersion parameter for distributions that have a dispersion parameter.\",\"help\":\"INITIALPHI=*number*\",\"type\":\"value\"},{\"name\":\"LINK=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the link function for the model.\",\"help\":\"LINK=CLOGLOG|CLL | IDENTITY|ID | INV|RECIP | INV2 | LOG | LOGIT | LOGLOG | PROBIT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"CLOGLOG\",\"followsDelimiter\":\"/\",\"description\":\"Complementary log-log function\",\"help\":\"CLOGLOG|CLL\",\"type\":\"choice\"},{\"name\":\"IDENTITY\",\"followsDelimiter\":\"/\",\"description\":\"Identity function\",\"help\":\"IDENTITY|ID\",\"type\":\"choice\"},{\"name\":\"INV\",\"followsDelimiter\":\"/\",\"description\":\"Reciprocal function\",\"help\":\"INV|RECIP\",\"type\":\"choice\"},{\"name\":\"INV2\",\"followsDelimiter\":\"/\",\"description\":\"Reciprocal square function\",\"type\":\"standalone\"},{\"name\":\"LOG\",\"followsDelimiter\":\"/\",\"description\":\"Log function\",\"type\":\"standalone\"},{\"name\":\"LOGIT\",\"followsDelimiter\":\"/\",\"description\":\"Logit function\",\"type\":\"standalone\"},{\"name\":\"LOGLOG\",\"followsDelimiter\":\"/\",\"description\":\"Log-log function\",\"type\":\"standalone\"},{\"name\":\"PROBIT\",\"followsDelimiter\":\"/\",\"description\":\"Probit function\",\"type\":\"standalone\"}]},{\"name\":\"MAXPHI=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies an upper bound for maximum likelihood estimation of the dispersion parameter for distributions that have a dispersion parameter.\",\"help\":\"MAXPHI=*number*\",\"type\":\"value\"},{\"name\":\"METHOD=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the algorithm for selecting smoothing parameters for spline-effects.\",\"help\":\"METHOD=OUTER | PERFORMANCE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"OUTER\",\"followsDelimiter\":\"/\",\"description\":\"Specifies the outer iteration method for selecting smoothing parameters. Note: The outer iteration method is experimental in this release.\",\"type\":\"standalone\"},{\"name\":\"PERFORMANCE\",\"followsDelimiter\":\"/\",\"description\":\"Specifies the performance iteration method for selecting smoothing parameters.\",\"type\":\"standalone\"}]},{\"name\":\"MINPHI=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies a lower bound for maximum likelihood estimation of the dispersion parameter for distributions that have a dispersion parameter.\",\"help\":\"MINPHI=*number*\",\"type\":\"value\"},{\"name\":\"NORMALIZE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests normalized spline basis functions for model fitting. After the regression spline basis functions are computed, each column is standardized to have a unit standard error. The corresponding penalty matrix is also scaled accordingly. This option might be helpful when you have badly scaled data.\",\"type\":\"standalone\"},{\"name\":\"OFFSET=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies a variable to be used as an offset to the linear predictor. An offset plays the role of an effect whose coefficient is known to be 1. The offset variable cannot appear in the CLASS statement or elsewhere in the MODEL statement. Observations that have missing values for the offset variable are excluded from the analysis.\",\"help\":\"OFFSET=*variable*\",\"type\":\"value\"},{\"name\":\"RIDGE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Allows a ridge parameter such that a diagonal matrix H : Hij number is added to the optimization problem with respect to regression parameters.\",\"help\":\"RIDGE=*number*\",\"type\":\"value\"},{\"name\":\"SCALE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the method for estimating the scale and dispersion parameters.\",\"help\":\"SCALE=DEVIANCE | MLE | PEARSON\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DEVIANCE\",\"followsDelimiter\":\"/\",\"description\":\"Estimates the dispersion parameter by using the deviance statistic.\",\"type\":\"standalone\"},{\"name\":\"MLE\",\"followsDelimiter\":\"/\",\"description\":\"Computes the dispersion parameter by maximizing the likelihood or penalized likelihood.\",\"type\":\"standalone\"},{\"name\":\"PEARSON\",\"followsDelimiter\":\"/\",\"description\":\"Estimates the dispersion parameter by using Pearson's statistic.\",\"type\":\"standalone\"}]}]},{\"name\":\"OUTPUT\",\"description\":\"The OUTPUT statement creates a data table that contains observationwise statistics that PROC GAMMOD computes after fitting the model. In order to avoid data duplication for large data tables, the variables in the input data table are not included in the output data table unless you specify them in the COPYVARS= option.\",\"help\":\"OUTPUT LINP LOWER OUT=CAS-libref.data-table ...\",\"arguments\":[{\"name\":\"LINP\",\"aliases\":[\"XBETA\"],\"description\":\"Linear prediction values on the link scale at design points.\",\"type\":\"standalone\"},{\"name\":\"LOWER\",\"description\":\"Requests a lower Bayesian confidence band value for the predicted value. The default name is Lower.\",\"type\":\"standalone\"},{\"name\":\"OUT=\",\"description\":\"[Syntax: OUT=CAS-libref.data-table names the output data table for PROC GAMMOD to use. You must specify this option before any other options. CAS-libref.data-table is a two-level name, where\",\"help\":\"OUT=*CAS-libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"PEARSON\",\"aliases\":[\"PEARS\",\"RESCHI\"],\"description\":\"Requests the Pearson residual. The default name is Pearson.\",\"type\":\"standalone\"},{\"name\":\"PREDICTED\",\"aliases\":[\"PRED\"],\"description\":\"Requests predicted values for the response variable. For observations in which only the response variable is missing, the predicted values are computed even though these observations do not affect the model fit. The default name is Pred.\",\"type\":\"standalone\"},{\"name\":\"RESIDUAL\",\"aliases\":[\"RESID\"],\"description\":\"Requests the raw residual. The default name is Residual.\",\"type\":\"standalone\"},{\"name\":\"STD\",\"description\":\"Requests a standard error for the linear predictor. The default name is Std.\",\"type\":\"standalone\"},{\"name\":\"UPPER\",\"description\":\"Requests an upper Bayesian confidence band value for the predicted value. The default name is Upper.\",\"type\":\"standalone\"},{\"name\":\"ALPHA=\",\"optional\":true,\"description\":\"Specifies the significance level for the construction of Bayesian confidence bands in the OUTPUT data set. The confidence level is 1- number.\",\"help\":\"ALPHA=*number*\",\"type\":\"value\"},{\"name\":\"COMPONENT\",\"optional\":true,\"description\":\"Requests componentwise statistics for all spline terms if LINP, LOWER, STD, or UPPER is specified as a keyword.\",\"type\":\"standalone\"},{\"name\":\"COPYVAR=\",\"optional\":true,\"aliases\":[\"COPYVARS=\"],\"description\":\"Transfers one or more variables from the input data table to the output data table.\",\"type\":\"value\"}]},{\"name\":\"WEIGHT\",\"description\":\"The variable in the WEIGHT statement is used as a weight to perform a weighted analysis of the data. Observations that have nonpositive or missing weights are not included in the analysis. If a WEIGHT statement is not included, then all observations that are used in the analysis are assigned a weight of 1.\",\"help\":\"WEIGHT variable\"}],\"supportSiteInformation\":{\"docsetId\":\"casstat\",\"docsetVersion\":\"latest\",\"docsetTargetFile\":\"casstat_gammod_toc.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/GAMPL.json",
    "content": "{\"name\":\"GAMPL\",\"statements\":[{\"name\":\"PROC GAMPL\",\"description\":\"The GAMPL procedure is a high-performance procedure that fits generalized additive models that are based on low-rank regression splines (Wood 2006). This procedure provides powerful tools for nonparametric regression and smoothing. † Generalized additive models are extensions of generalized linear models. They relax the linearity assumption in generalized linear models by allowing spline terms in order to characterize nonlinear dependency structures. Each spline term is constructed by the thin-plate regression spline technique (Wood 2003). A roughness penalty is applied to each spline term by a smoothing parameter that controls the balance between goodness of fit and the roughness of the spline curve. PROC GAMPL fits models for standard distributions in the exponential family, such as normal, Poisson, and gamma distributions. † PROC GAMPL runs in either single-machine mode or distributed mode. † Note: Distributed mode requires SAS High-Performance Statistics.\",\"help\":\"PROC GAMPL <ABSCONV= | ABSTOL=r><ABSFCONV=r <n> | ABSFTOL=r<n>><ABSGCONV= | ABSGTOL=r <n>><ALPHA=number><DATA=SAS-data-set><FCONV=r<n> | FTOL=r<n>><FMTLIBXML=file-ref><GCONV=r<n> | GTOL=r<n>><ITDETAILS><MAXFUNC=n | MAXFU=n><MAXITER=n | MAXIT=n><MAXTIME=r><MINITER=n | MINIT=n><NAMELEN=number><NOCLPRINT<=number>><NOPRINT><PLIKEOPTIONS(optimization-parameters)><PLOTS=ALL | NONE | COMPONENTS><SEED=number><SINGCHOL=number><SINGSWEEP=number><SINGULAR=number><SMOOTHOPTIONS(optimization-parameters)><TECHNIQUE=CONGRA | DBLDOG | NEWRAP... >;     \\n\\tCLASS <DESCENDING><ORDER=<DATA | FORMATTED | FREQ>... ><REFERENCE=<'<level>' | FIRST | LAST>> ...;\\n\\n\\tFREQ variable;\\n\\n\\tID variables;\\n\\n\\tMODEL DESCENDING EVENT='<category>'|FIRST|LAST  ORDER=DATA|FORMATTED|FREQ...  ...;\\n\\n\\tOUTPUT LINP LOWER OUT=SAS-data-set | DATA=SAS-data-set ...;\\n\\n\\tPERFORMANCE <COMMIT=n><DETAILS><GRIDHOST=\\\"name\\\"> ...;\\n\\n\\tWEIGHT variable;\\n\",\"arguments\":[{\"name\":\"ABSCONV=\",\"optional\":true,\"aliases\":[\"ABSTOL=\"],\"description\":\"Specifies an absolute function convergence criterion.\",\"type\":\"value\"},{\"name\":\"ABSFCONV=\",\"optional\":true,\"aliases\":[\"ABSFTOL=\"],\"description\":\"Specifies an absolute function difference convergence criterion.\",\"type\":\"value\"},{\"name\":\"ABSGCONV=\",\"optional\":true,\"aliases\":[\"ABSGTOL=\"],\"description\":\"Specifies an absolute gradient convergence criterion. Termination requires the maximum absolute gradient element to be small.\",\"type\":\"value\"},{\"name\":\"ALPHA=\",\"optional\":true,\"description\":\"Specifies a global significance level for the hypothesis testing of smoothing components and the construction of Bayesian confidence bands of predictions. The confidence level is 1 – number. The value of number must be between 0 and 1; the default is 0.05. You can override this global significance level for Bayesian confidence bands of predictions by specifying the ALPHA= option in the OUTPUT statement.\",\"help\":\"ALPHA=*number*\",\"type\":\"value\"},{\"name\":\"DATA=\",\"optional\":true,\"description\":\"Names the input SAS data set for PROC GAMPL to use. The default is the most recently created data set.\",\"help\":\"DATA=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"FCONV=\",\"optional\":true,\"aliases\":[\"FTOL=\"],\"description\":\"Specifies a relative function difference convergence criterion. For all techniques except NMSIMP, termination requires a small relative change of the function value in successive iterations, | f(Ψᵏ) - f(Ψᵏ ¯¹) | / |f(Ψᵏ ¯¹)| ≤ r Here, Ψ denotes the vector of parameters that participate in the optimization, and f(.) is the objective function. The same formula is used for the NMSIMP technique, but Ψᵏ is defined as the vertex with the lowest function value, and Ψᵏ ¯¹ is defined as the vertex with the highest function value in the simplex.\",\"type\":\"value\"},{\"name\":\"FMTLIBXML=\",\"optional\":true,\"description\":\"Specifies the file reference for the XML stream that contains user-defined format definitions. User-defined formats are handled differently in a distributed computing environment than they are in other SAS products.\",\"help\":\"FMTLIBXML=*file-ref*\",\"type\":\"value\"},{\"name\":\"GCONV=\",\"optional\":true,\"aliases\":[\"GTOL=\"],\"description\":\"Specifies a relative gradient convergence criterion. The default value is r=1E-8. The optional integer value n specifies the number of successive iterations for which the criterion must be satisfied before the process terminates.\",\"type\":\"value\"},{\"name\":\"ITDETAILS\",\"optional\":true,\"description\":\"Adds to the \\\"Iteration History\\\" table the current values of the parameter estimates and their gradients. If the optimization algorithm is used to determine at least one smoothing parameter, the table lists values for smoothing parameters. If all smoothing parameters are fixed or a parametric generalized linear model is specified, the table lists values for regression parameters. These quantities are reported only for parameters that participate in the optimization.\",\"type\":\"standalone\"},{\"name\":\"MAXFUNC=\",\"optional\":true,\"aliases\":[\"MAXFU=\"],\"description\":\"Specifies the maximum number of function calls in the optimization process. The default values are as follows, depending on the optimization technique that you specify in the TECHNIQUE= option::\",\"type\":\"value\"},{\"name\":\"MAXITER=\",\"optional\":true,\"aliases\":[\"MAXIT=\"],\"description\":\"Specifies the maximum number of iterations in the optimization process. The default values are as follows, depending on the optimization technique hat you specify in the TECHNIQUE option::\",\"type\":\"value\"},{\"name\":\"MAXTIME=\",\"optional\":true,\"description\":\"Specifies an upper limit of r seconds of CPU time for the optimization process. The default value is the largest floating-point double representation of your computer. Note that the time specified by the MAXTIME= option is checked only once at the end of each iteration. Therefore, the actual running time can be longer than r.\",\"help\":\"MAXTIME=*r*\",\"type\":\"value\"},{\"name\":\"MINITER=\",\"optional\":true,\"aliases\":[\"MINIT=\"],\"description\":\"Specifies the minimum number of iterations. If you request more iterations than are actually needed for convergence to a stationary point, the optimization algorithms might behave strangely. For example, the effect of rounding errors can prevent the algorithm from continuing for the required number of iterations. By default, MINITER=0.\",\"type\":\"value\"},{\"name\":\"NAMELEN=\",\"optional\":true,\"description\":\"Specifies the length to which long effect names are shortened. The value of number must be an integer greater than or equal to 20. By default, NAMELEN=20.\",\"help\":\"NAMELEN=*number*\",\"type\":\"value\"},{\"name\":\"NOCLPRINT\",\"optional\":true,\"description\":\"Suppresses the display of the \\\"Class Level Information\\\" table if you do not specify number. If you specify number, the values of the classification variables are displayed for only those variables whose number of levels is less than number. Specifying a number helps reduce the size of the \\\"Class Level Information\\\" table if some classification variables have a large number of levels.\",\"type\":\"standalone\"},{\"name\":\"NOPRINT\",\"optional\":true,\"description\":\"Suppresses the generation of ODS output.\",\"type\":\"standalone\"},{\"name\":\"PLIKEOPTIONS\",\"optional\":true,\"description\":\"Sets optimization parameters for either maximum or penalized likelihood estimation.\",\"type\":\"standalone\"},{\"name\":\"PLOTS=\",\"optional\":true,\"description\":\"Controls the plots produced through ODS Graphics. Syntax: (1) PLOTS <(global-plot-options)> = plot-request <(options)> (2) PLOTS <(global-plot-options)> = (plot-request <(options)> <...plot-request <(options)> > ) The global-plot-options apply to all plots generated by the GAM procedure, unless altered by a specific-plot-option. UNPACK specifies that multiple smoothing component plots that are collected into graphics panels be displayed separately. Use this option if you want to access individual smoothing component plots within the panel. The following listing describes the specific plots and their options. ALL requests that all plots are produced. NONE suppresses all plots. COMPONENTS | COMPONENT <(components-options)> requests the SmoothingComponentPlot that displays a panel of smoothing component plots. The following components-options are available: ADDITIVE requests that the additive component plots are produced for spline effects. The additive component plots combine the linear trend and the nonparametric prediction for each spline effect if its linear part is not specified explicitly in the MODEL statement. CLM includes confidence limits in the smoothing component plots. By default, 95% confidence limits are produced, but you can change the significance level by specifying the ALPHA= option in the MODEL statement. Note that producing these limits can be computationally intensive for large data sets. COMMONAXES specifies that smoothing component plots use a common vertical axis. This enables you to visually judge relative effect size.\",\"help\":\"PLOTS=ALL | NONE | COMPONENTS\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ALL\",\"description\":\"Requests that all default plots be produced.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"Suppresses all plots.\",\"type\":\"standalone\"},{\"name\":\"COMPONENTS\",\"description\":\"Plots a panel of smoothing components of the fitted model. Syntax: COMPONENTS<(component-option)> You can specify the following component-option: COMMONAXES requests that the smoothing component plots use a common vertical axis except for bivariate contour plots. This option enables you to visually judge the relative effect size.\",\"type\":\"standalone\"}]},{\"name\":\"SEED=\",\"optional\":true,\"description\":\"Specifies an integer that is used to start the pseudorandom number generator for subset sampling from observations to form knots if necessary and for truncated eigendecomposition. If you do not specify this option, or if number ≤ 0, the seed is generated from the time of day, which is read from the computer's clock.\",\"help\":\"SEED=*number*\",\"type\":\"value\"},{\"name\":\"SINGCHOL=\",\"optional\":true,\"description\":\"Tunes the singularity criterion in Cholesky decompositions. The default is 1E4 times the machine epsilon; this product is approximately 1E–12 on most computers.\",\"help\":\"SINGCHOL=*number*\",\"type\":\"value\"},{\"name\":\"SINGSWEEP=\",\"optional\":true,\"description\":\"Tunes the singularity criterion in sweep operations that determine collinearity between spline basis expansions. The default is 1E–8.\",\"help\":\"SINGSWEEP=*number*\",\"type\":\"value\"},{\"name\":\"SINGULAR=\",\"optional\":true,\"description\":\"Tunes the general singularity criterion that is applied in sweep and inversion operations. The default is 1E4 times the machine epsilon; this product is approximately 1E–12 on most computers.\",\"help\":\"SINGULAR=*number*\",\"type\":\"value\"},{\"name\":\"SMOOTHOPTIONS\",\"optional\":true,\"description\":\"Specifies optimization parameters for smoothing parameter estimation.\",\"type\":\"standalone\"},{\"name\":\"TECHNIQUE=\",\"optional\":true,\"aliases\":[\"TECH=\"],\"description\":\"Specifies the optimization technique for obtaining smoothing parameter estimates and regression parameter estimates.\",\"help\":\"TECHNIQUE=CONGRA | DBLDOG | NEWRAP | NMSIMP | NRRIDG | QUANEW | TRUREG | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"CONGRA\",\"description\":\"Chooses one of four different conjugate-gradient optimization algorithms, which can be more precisely defined with the UPDATE= option and modified with the LINESEARCH= option.\",\"type\":\"standalone\"},{\"name\":\"DBLDOG\",\"description\":\"Performs a version of double-dogleg optimization, which uses the gradient to update an approximation of the Cholesky factor of the Hessian.\",\"type\":\"standalone\"},{\"name\":\"NEWRAP\",\"description\":\"Performs a usually stable but, for large problems, memory- and time-consuming Newton-Raphson optimization technique. The algorithm combines a line-search algorithm with ridging, and it can be modified with the LINESEARCH= option.\",\"type\":\"standalone\"},{\"name\":\"NMSIMP\",\"description\":\"Performs a Nelder-Mead simplex optimization.\",\"type\":\"standalone\"},{\"name\":\"NRRIDG\",\"description\":\"Performs a usually stable but, for large problems, memory- and time-consuming Newton-Raphson optimization technique. This algorithm does not perform a line search.\",\"type\":\"standalone\"},{\"name\":\"QUANEW\",\"description\":\"Chooses one of four different quasi-Newton optimization algorithms that can be more precisely defined with the UPDATE= option and modified with the LINESEARCH= option.\",\"type\":\"standalone\"},{\"name\":\"TRUREG\",\"description\":\"Performs a usually very stable but, for large problems, memory- and time-consuming trust-region optimization technique. The algorithm is implemented similar to Gay (1983) and Moré and Sorensen (1983).\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"Does not perform any optimization. This option is similar to METHOD=NONE, but TECH=NONE also computes and displays residuals and goodness of fit statistics.\",\"type\":\"standalone\"}]}]},{\"name\":\"CLASS\",\"description\":\"The CLASS statement names the classification variables to be used as explanatory variables in the analysis. The CLASS statement must precede the MODEL statement. You can list the response variable for binary models in the CLASS statement, but this is not necessary.\",\"help\":\"CLASS &lt;DESCENDING&gt;&lt;ORDER=&lt;DATA | FORMATTED | FREQ&gt;... &gt;&lt;REFERENCE=&lt;'&lt;level&gt;' | FIRST | LAST&gt;&gt; ...\",\"arguments\":[{\"name\":\"DESCENDING\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"DESC\"],\"description\":\"Reverses the sorting order of the classification variable. If both the DESCENDING and ORDER= options are specified, high-performance statistical procedures order the categories according to the ORDER= option and then reverse that order.\",\"type\":\"standalone\"},{\"name\":\"MISSING\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Treats missing values (\\\".\\\", \\\".A\\\", …, \\\".Z\\\" for numeric variables and blanks for character variables) as valid values for the CLASS variable.\",\"type\":\"standalone\"},{\"name\":\"ORDER=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the sort order for the levels of classification variables. This ordering determines which parameters in the model correspond to each level in the data. By default, ORDER=FORMATTED. For ORDER=FORMATTED and ORDER=INTERNAL, the sort order is machine-dependent. When ORDER=FORMATTED is in effect for numeric variables for which you have supplied no explicit format, the levels are ordered by their internal values.\",\"help\":\"ORDER=DATA | FORMATTED | FREQ | FREQDATA | FREQFORMATTED | FREQINTERNAL | INTERNAL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DATA\",\"followsDelimiter\":\"/\",\"description\":\"Levels sorted by the order of appearance in the input data set.\",\"type\":\"standalone\"},{\"name\":\"FORMATTED\",\"followsDelimiter\":\"/\",\"description\":\"Levels sorted by the external formatted value, except for numeric variables with no explicit format, which are sorted by their unformatted (internal) value.\",\"type\":\"standalone\"},{\"name\":\"FREQ\",\"followsDelimiter\":\"/\",\"description\":\"Levels sorted by the descending frequency count; levels with the most observations come first in the order.\",\"type\":\"standalone\"},{\"name\":\"FREQDATA\",\"followsDelimiter\":\"/\",\"description\":\"Levels sorted by Order of descending frequency count, and within counts by order of appearance in the input data set when counts are tied.\",\"type\":\"standalone\"},{\"name\":\"FREQFORMATTED\",\"followsDelimiter\":\"/\",\"description\":\"Levels sorted by Order of descending frequency count, and within counts by formatted value when counts are tied.\",\"type\":\"standalone\"},{\"name\":\"FREQINTERNAL\",\"followsDelimiter\":\"/\",\"description\":\"Levels sorted by Order of descending frequency count, and within counts by unformatted (internal) value when counts are tied\",\"type\":\"standalone\"},{\"name\":\"INTERNAL\",\"followsDelimiter\":\"/\",\"description\":\"Levels sorted by the unformatted value.\",\"type\":\"standalone\"}]},{\"name\":\"PARAM=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the parameterization method for the classification variable or variables.\",\"help\":\"PARAM=GLM | REFERENCE*keyword*\",\"type\":\"value\",\"arguments\":[{\"name\":\"GLM\",\"followsDelimiter\":\"/\",\"description\":\"Specifies a less-than-full-rank reference cell coding. This parameterization is used in, for example, the GLM, MIXED, and GLIMMIX procedures in SAS/STAT.\",\"type\":\"standalone\"},{\"name\":\"REFERENCE\",\"followsDelimiter\":\"/\",\"description\":\"Specifies a reference cell encoding. You can choose the reference value by specifying an option for a specific variable or set of variables in the CLASS statement, or designate the first or last ordered value by specifying a global-option. The default is REF=LAST.\",\"type\":\"standalone\"}]},{\"name\":\"REFERENCE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"REF=\"],\"description\":\"Syntax: REF='level' | keyword REFERENCE='level' | keyword\",\"help\":\"REFERENCE='&lt;level&gt;' | FIRST | LAST\",\"type\":\"choice\",\"arguments\":[{\"name\":\"'\",\"followsDelimiter\":\"/\",\"description\":\"The level of the variable to use as the reference level. Specify the formatted value of the variable if a format is assigned. Replace <level> with an actual value.\",\"help\":\"'&lt;level&gt;'\",\"type\":\"standalone\"},{\"name\":\"FIRST\",\"followsDelimiter\":\"/\",\"description\":\"Designates the first ordered level as reference.\",\"type\":\"standalone\"},{\"name\":\"LAST\",\"followsDelimiter\":\"/\",\"description\":\"Designates the last ordered level as reference.\",\"type\":\"standalone\"}]},{\"name\":\"SPLIT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that the columns of the design matrix that correspond to any effect that contains a split classification variable can be selected to enter or leave a model independently of the other design columns of that effect. This option is specific to the HPREG procedure.\",\"type\":\"standalone\"},{\"name\":\"TRUNCATE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the truncation width of formatted values of CLASS variables when the optional n is specified. If n is not specified, the TRUNCATE option requests that classification levels be determined by using no more than the first 16 characters of the formatted values of CLASS variables.\",\"type\":\"standalone\"}]},{\"name\":\"FREQ\",\"description\":\"The variable in the FREQ statement identifies a numeric variable in the data set that contains the frequency of occurrence of each observation. PROC GAMPL treats each observation as if it appeared f times, where the frequency value f is the value of the FREQ variable for the observation. If f is not an integer, then f is truncated to an integer. If f is less than 1 or missing, the observation is not used in the analysis. When you do not specify the FREQ statement, each observation is assigned a frequency of 1.\",\"help\":\"FREQ variable\"},{\"name\":\"ID\",\"description\":\"The ID statement lists one or more variables from the input data set that are to be transferred to the output data set that you specify in the OUTPUT statement.\",\"help\":\"ID variables\"},{\"name\":\"MODEL\",\"description\":\"\",\"help\":\"MODEL DESCENDING EVENT='&lt;category&gt;'|FIRST|LAST  ORDER=DATA|FORMATTED|FREQ...  ...\",\"arguments\":[{\"name\":\"DESCENDING\",\"aliases\":[\"DESC\"],\"description\":\"Reverses the order of the response categories. If you specify both the DESCENDING and ORDER= options, PROC GAMPL orders the response categories according to the ORDER= option and then reverses that order.\",\"type\":\"standalone\"},{\"name\":\"DETAILS\",\"description\":\"Requests a detailed spline specification information table.\",\"type\":\"standalone\"},{\"name\":\"DF=\",\"description\":\"Specifies a fixed degrees of freedom. When you specify this option, no smoothing parameter selection is performed on the spline term. If number is not an integer, then number is truncated to an integer.\",\"help\":\"DF=*number*\",\"type\":\"value\"},{\"name\":\"EVENT=\",\"description\":\"Specifies the event category for the binary response model. PROC GAMPL models the probability of the event category. The EVENT= option has no effect when there are more than two response categories.\",\"help\":\"EVENT='&lt;category&gt;' | FIRST | LAST\",\"type\":\"choice\",\"arguments\":[{\"name\":\"'\",\"description\":\"Event category for the binary response model\",\"help\":\"'&lt;category&gt;'\",\"type\":\"standalone\"},{\"name\":\"FIRST\",\"description\":\"Designates the first ordered category as the event.\",\"type\":\"standalone\"},{\"name\":\"LAST\",\"description\":\"Designates the last ordered category as the event.\",\"type\":\"standalone\"}]},{\"name\":\"INITSMOOTH=\",\"description\":\"specifies the starting value for a smoothing parameter. The number must be nonnegative.\",\"help\":\"INITSMOOTH=*number*\",\"type\":\"value\"},{\"name\":\"KNOTS=\",\"description\":\"Specifies the method for supplying user-defined knot values instead of using data values for constructing basis expansions.\",\"help\":\"KNOTS=LIST | EQUAL*method*\",\"type\":\"value\",\"arguments\":[{\"name\":\"LIST\",\"description\":\"Syntax: LIST(list-of-values) Specifies a list of values as knots for the spline construction. For a multivariate spline term, the listed values are taken as multiple row vectors, where each vector has values that are ordered by specified variables. If the last row vector of knots contains fewer values than the number of variables, then the last row vector is ignored.\",\"type\":\"standalone\"},{\"name\":\"EQUAL\",\"description\":\"Syntax: EQUAL(n) Specifies the number of equally spaced interior knots for every variable in a spline term. Two boundary knots are automatically added to the knot list for each variable such that the total number of knots is (n+2)^d, where d is the number of variables in the spline term. For a multivariate spline term, knot values for each variable are determined independently from the corresponding boundary values.\",\"type\":\"standalone\"}]},{\"name\":\"M=\",\"description\":\"Specifies the order of the derivative in the penalty term. The number must be a positive integer. The default is max(2, int(d/2)+1), where d is the number of variables in the spline term.\",\"help\":\"M=*number*\",\"type\":\"value\"},{\"name\":\"MAXDF=\",\"description\":\"Specifies the maximum number of degrees of freedom. When a thin-plate regression spline is formed, the specified number is used for constructing a low-rank penalty matrix to approximate the penalty matrix via the truncated eigendecomposition.\",\"help\":\"MAXDF=*number*\",\"type\":\"value\"},{\"name\":\"MAXKNOTS=\",\"description\":\"Specifies the maximum number of knots if data points are used to form knots. If KNOTS=LIST(list-of-values) is not specified, PROC GAMPL forms knots from unique data points. If the number of unique data points is greater than number, a subset of size number is formed by random sampling from all unique data points. The number cannot exceed the largest integer that can be stored on the given machine.\",\"help\":\"MAXKNOTS=*number*\",\"type\":\"value\"},{\"name\":\"MAXSMOOTH=\",\"description\":\"Specifies the upper bound for the smoothing parameter. The default is the largest double-precision value.\",\"help\":\"MAXSMOOTH=*number*\",\"type\":\"value\"},{\"name\":\"MINSMOOTH=\",\"description\":\"Specifies the lower bound for the smoothing parameter. By default, MINSMOOTH=0.\",\"help\":\"MINSMOOTH=*number*\",\"type\":\"value\"},{\"name\":\"ORDER=\",\"description\":\"Specifies the sort order for the levels of the response variable. When ORDER=FORMATTED (the default) for numeric variables for which you have supplied no explicit format (that is, for which there is no corresponding FORMAT statement in the current PROC GAMPL run or in the DATA step that created the data set), the levels are ordered by their internal (numeric) value.\",\"help\":\"ORDER=DATA | FORMATTED | FREQ | FREQDATA | FREQFORMATTED | FREQINTERNAL | INTERNAL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DATA\",\"description\":\"Levels sorted by the order of appearance in the input data set.\",\"type\":\"standalone\"},{\"name\":\"FORMATTED\",\"description\":\"Levels sorted by the external formatted value, except for numeric variables with no explicit format, which are sorted by their unformatted (internal) value.\",\"type\":\"standalone\"},{\"name\":\"FREQ\",\"description\":\"Levels sorted by the descending frequency count; levels with the most observations come first in the order.\",\"type\":\"standalone\"},{\"name\":\"FREQDATA\",\"description\":\"Levels sorted by Order of descending frequency count, and within counts by order of appearance in the input data set when counts are tied.\",\"type\":\"standalone\"},{\"name\":\"FREQFORMATTED\",\"description\":\"Levels sorted by Order of descending frequency count, and within counts by formatted value when counts are tied.\",\"type\":\"standalone\"},{\"name\":\"FREQINTERNAL\",\"description\":\"Levels sorted by Order of descending frequency count, and within counts by unformatted (internal) value when counts are tied\",\"type\":\"standalone\"},{\"name\":\"INTERNAL\",\"description\":\"Levels sorted by the unformatted value.\",\"type\":\"standalone\"}]},{\"name\":\"REF=\",\"description\":\"Specifies the reference category for the binary response model. Specifying one response category as the reference is the same as specifying the other response category as the event category.\",\"help\":\"REF='&lt;category&gt;' | FIRST | LAST\",\"type\":\"choice\",\"arguments\":[{\"name\":\"'\",\"description\":\"Specifies that observations whose value matches category (formatted, if a format is applied) are designated as the reference. Replace <category> with an actual value.\",\"help\":\"'&lt;category&gt;'\",\"type\":\"standalone\"},{\"name\":\"FIRST\",\"description\":\"Designates the first ordered category as reference.\",\"type\":\"standalone\"},{\"name\":\"LAST\",\"description\":\"Designates the last ordered category as reference.\",\"type\":\"standalone\"}]},{\"name\":\"SMOOTH=\",\"description\":\"Specifies a fixed smoothing parameter. When you specify this option, no smoothing parameter selection is performed on the spline term.\",\"help\":\"SMOOTH=*number*\",\"type\":\"value\"},{\"name\":\"ALLOBS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that all nonmissing values of the variables be specified in a spline term for constructing the spline basis functions, regardless of whether other model variables are missing.\",\"type\":\"standalone\"},{\"name\":\"CRITERION=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the model evaluation criterion for selecting smoothing parameters for spline-effects.\",\"help\":\"CRITERION=GACV | GCV | UBRE*criterion*\",\"type\":\"value\",\"arguments\":[{\"name\":\"GACV\",\"followsDelimiter\":\"/\",\"description\":\"Syntax: GACV<(FACTOR=number | GAMMA=number)> Uses the generalized approximate cross validation (GACV) criterion to evaluate models.\",\"type\":\"standalone\"},{\"name\":\"GCV\",\"followsDelimiter\":\"/\",\"description\":\"Syntax: GCV<(FACTOR=number | GAMMA=number)> Uses the generalized cross validation (GCV) criterion to evaluate models.\",\"type\":\"standalone\"},{\"name\":\"UBRE\",\"followsDelimiter\":\"/\",\"description\":\"Syntax: UBRE<(FACTOR=number | GAMMA=number)> Uses the unbiased risk estimator (UBRE) criterion to evaluate models.\",\"type\":\"standalone\"}]},{\"name\":\"DISPERSION=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies a fixed dispersion parameter for distributions that have a dispersion parameter. The dispersion parameter that is used in all computations is fixed at number; it is not estimated.\",\"help\":\"DISPERSION=*number*\",\"type\":\"value\"},{\"name\":\"DISTRIBUTION=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the response distribution for the model.\",\"help\":\"DISTRIBUTION=BINARY | BINOMIAL | GAMMA | INVERSEGAUSSIAN|IG | NEGATIVEBINOMIAL|NB | NORMAL|GAUSSIAN | POISSON\",\"type\":\"choice\",\"arguments\":[{\"name\":\"BINARY\",\"followsDelimiter\":\"/\",\"description\":\"Binary distribution\",\"type\":\"standalone\"},{\"name\":\"BINOMIAL\",\"followsDelimiter\":\"/\",\"description\":\"Binomial distribution\",\"type\":\"standalone\"},{\"name\":\"GAMMA\",\"followsDelimiter\":\"/\",\"description\":\"Gamma distribution\",\"type\":\"standalone\"},{\"name\":\"INVERSEGAUSSIAN\",\"followsDelimiter\":\"/\",\"description\":\"Inverse Gaussian distribution\",\"help\":\"INVERSEGAUSSIAN|IG\",\"type\":\"choice\"},{\"name\":\"NEGATIVEBINOMIAL\",\"followsDelimiter\":\"/\",\"description\":\"Negative binomial distribution\",\"help\":\"NEGATIVEBINOMIAL|NB\",\"type\":\"choice\"},{\"name\":\"NORMAL\",\"followsDelimiter\":\"/\",\"description\":\"Normal distribution\",\"help\":\"NORMAL|GAUSSIAN\",\"type\":\"choice\"},{\"name\":\"POISSON\",\"followsDelimiter\":\"/\",\"description\":\"Poisson distribution\",\"type\":\"standalone\"}]},{\"name\":\"FDHESSIAN\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that the second-order derivatives (Hessian) be computed using finite-difference approximations based on evaluation of the first-order derivatives (gradient). This option might be useful if the analytical Hessian takes a long time to compute.\",\"type\":\"standalone\"},{\"name\":\"INITIALPHI=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies a starting value for iterative maximum likelihood estimation of the dispersion parameter for distributions that have a dispersion parameter.\",\"help\":\"INITIALPHI=*number*\",\"type\":\"value\"},{\"name\":\"LINK=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the link function for the model.\",\"help\":\"LINK=CLOGLOG | IDENTITY | INV | INV2 | LOG | LOGIT | LOGLOG | PROBIT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"CLOGLOG\",\"followsDelimiter\":\"/\",\"description\":\"Complementary log-log function\",\"type\":\"standalone\"},{\"name\":\"IDENTITY\",\"followsDelimiter\":\"/\",\"description\":\"Identity function\",\"type\":\"standalone\"},{\"name\":\"INV\",\"followsDelimiter\":\"/\",\"description\":\"Reciprocal function\",\"type\":\"standalone\"},{\"name\":\"INV2\",\"followsDelimiter\":\"/\",\"description\":\"Reciprocal square function\",\"type\":\"standalone\"},{\"name\":\"LOG\",\"followsDelimiter\":\"/\",\"description\":\"Log function\",\"type\":\"standalone\"},{\"name\":\"LOGIT\",\"followsDelimiter\":\"/\",\"description\":\"Logit function\",\"type\":\"standalone\"},{\"name\":\"LOGLOG\",\"followsDelimiter\":\"/\",\"description\":\"Log-log function\",\"type\":\"standalone\"},{\"name\":\"PROBIT\",\"followsDelimiter\":\"/\",\"description\":\"Probit function\",\"type\":\"standalone\"}]},{\"name\":\"MAXPHI=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies an upper bound for maximum likelihood estimation of the dispersion parameter for distributions that have a dispersion parameter.\",\"help\":\"MAXPHI=*number*\",\"type\":\"value\"},{\"name\":\"METHOD=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the algorithm for selecting smoothing parameters for spline-effects.\",\"help\":\"METHOD=OUTER | PERFORMANCE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"OUTER\",\"followsDelimiter\":\"/\",\"description\":\"Specifies the outer iteration method for selecting smoothing parameters. Note: The outer iteration method is experimental in this release.\",\"type\":\"standalone\"},{\"name\":\"PERFORMANCE\",\"followsDelimiter\":\"/\",\"description\":\"Specifies the performance iteration method for selecting smoothing parameters.\",\"type\":\"standalone\"}]},{\"name\":\"MINPHI=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies a lower bound for maximum likelihood estimation of the dispersion parameter for distributions that have a dispersion parameter.\",\"help\":\"MINPHI=*number*\",\"type\":\"value\"},{\"name\":\"NORMALIZE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests normalized spline basis functions for model fitting. After the regression spline basis functions are computed, each column is standardized to have a unit standard error. The corresponding penalty matrix is also scaled accordingly. This option might be helpful when you have badly scaled data.\",\"type\":\"standalone\"},{\"name\":\"OFFSET=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies a variable to be used as an offset to the linear predictor. An offset plays the role of an effect whose coefficient is known to be 1. The offset variable cannot appear in the CLASS statement or elsewhere in the MODEL statement. Observations that have missing values for the offset variable are excluded from the analysis.\",\"help\":\"OFFSET=*variable*\",\"type\":\"value\"},{\"name\":\"RIDGE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Allows a ridge parameter such that a diagonal matrix H : Hij number is added to the optimization problem with respect to regression parameters.\",\"help\":\"RIDGE=*number*\",\"type\":\"value\"},{\"name\":\"SCALE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the method for estimating the scale and dispersion parameters.\",\"help\":\"SCALE=DEVIANCE | MLE | PEARSON\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DEVIANCE\",\"followsDelimiter\":\"/\",\"description\":\"Estimates the dispersion parameter by using the deviance statistic.\",\"type\":\"standalone\"},{\"name\":\"MLE\",\"followsDelimiter\":\"/\",\"description\":\"Computes the dispersion parameter by maximizing the likelihood or penalized likelihood.\",\"type\":\"standalone\"},{\"name\":\"PEARSON\",\"followsDelimiter\":\"/\",\"description\":\"Estimates the dispersion parameter by using Pearson's statistic.\",\"type\":\"standalone\"}]}]},{\"name\":\"OUTPUT\",\"description\":\"The OUTPUT statement creates a data set that contains observationwise statistics that are computed after the model is fitted. The variables in the input data set are not included in the output data set in order to avoid data duplication for large data sets; however, variables that are specified in the ID statement are included. If the input data set is distributed (so that accessing data in a particular order cannot be guaranteed), the GAMPL procedure copies the distribution or partition key to the output data set so that its contents can be joined with the input data.\",\"help\":\"OUTPUT LINP LOWER OUT=SAS-data-set | DATA=SAS-data-set ...\",\"arguments\":[{\"name\":\"LINP\",\"aliases\":[\"XBETA\"],\"description\":\"Linear prediction values on the link scale at design points.\",\"type\":\"standalone\"},{\"name\":\"LOWER\",\"description\":\"Requests a lower Bayesian confidence band value for the predicted value. The default name is Lower.\",\"type\":\"standalone\"},{\"name\":\"OUT=\",\"aliases\":[\"DATA=\"],\"description\":\"Specifies the name of the output data set. If you omit this option, PROC GAMPL uses the DATAn convention to name the output data set.\",\"type\":\"value\"},{\"name\":\"PEARSON\",\"aliases\":[\"PEARS\",\"RESCHI\"],\"description\":\"Requests the Pearson residual. The default name is Pearson.\",\"type\":\"standalone\"},{\"name\":\"PREDICTED\",\"aliases\":[\"PRED\"],\"description\":\"Requests predicted values for the response variable. For observations in which only the response variable is missing, the predicted values are computed even though these observations do not affect the model fit. The default name is Pred.\",\"type\":\"standalone\"},{\"name\":\"REDIDUAL\",\"aliases\":[\"RESID\"],\"description\":\"Requests the raw residual. The default name is Residual.\",\"type\":\"standalone\"},{\"name\":\"STD\",\"description\":\"Requests a standard error for the linear predictor. The default name is Std.\",\"type\":\"standalone\"},{\"name\":\"UPPER\",\"description\":\"Requests an upper Bayesian confidence band value for the predicted value. The default name is Upper.\",\"type\":\"standalone\"},{\"name\":\"ALPHA=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the significance level for the construction of Bayesian confidence bands in the OUTPUT data set. The confidence level is 1- number.\",\"help\":\"ALPHA=*number*\",\"type\":\"value\"},{\"name\":\"COMPONENT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests componentwise statistics for all spline terms if LINP, LOWER, STD, or UPPER is specified as a keyword.\",\"type\":\"standalone\"}]},{\"name\":\"PERFORMANCE\",\"description\":\"The PERFORMANCE statement defines performance parameters for multithreaded and distributed computing, passes variables about the distributed computing environment, and requests detailed results about the performance characteristics of a High-Performance Analytics procedure. You can also use the PERFORMANCE statement to control whether a high-performance analytical procedure executes in single-machine or distributed mode.\",\"help\":\"PERFORMANCE &lt;COMMIT=n&gt;&lt;DETAILS&gt;&lt;GRIDHOST=\\\"name\\\"&gt; ...\",\"arguments\":[{\"name\":\"COMMIT=\",\"optional\":true,\"description\":\"Requests that the High-Performance Analytics procedure write periodic updates to the SAS Log when observations are sent from the client to the appliance for distributed processing.\",\"help\":\"COMMIT=*n*\",\"type\":\"value\"},{\"name\":\"DETAILS\",\"optional\":true,\"description\":\"Requests a table that shows a timing breakdown of the procedure steps.\",\"type\":\"standalone\"},{\"name\":\"GRIDHOST=\",\"optional\":true,\"aliases\":[\"HOST=\"],\"description\":\"Syntax: GRIDHOST=\\\"name\\\" HOST=\\\"name\\\"\",\"help\":\"GRIDHOST=\\\"*name*\\\"\",\"type\":\"value\"},{\"name\":\"GRIDMODE=\",\"optional\":true,\"aliases\":[\"MODE=\"],\"description\":\"Is a deprecated option that specifies whether to run the high-performance analytical procedure in symmetric (SYM) mode or asymmetric (ASYM) mode. This option overrides the GRIDMODE environment variable.\",\"help\":\"GRIDMODE=SYM | ASYM\",\"type\":\"choice\",\"arguments\":[{\"name\":\"SYM\",\"description\":\"Specifies to run the high-performance analytical procedure in symmetric (SYM) mode\",\"type\":\"standalone\"},{\"name\":\"ASYM\",\"description\":\"Specifies to run the high-performance analytical procedure in asymmetric (ASYM) mode.\",\"type\":\"standalone\"}]},{\"name\":\"GRIDTIMEOUT=\",\"optional\":true,\"aliases\":[\"TIMEOUT=\"],\"description\":\"Specifies the time-out in seconds for a high-performance analytical procedure to wait for a connection to the appliance and establish a connection back to the client. The default is 120 seconds. If jobs are submitted to the appliance through workload management tools that might suspend access to the appliance for a longer period, you might want to increase the time-out value.\",\"type\":\"value\"},{\"name\":\"INSTALL=\",\"optional\":true,\"aliases\":[\"INSTALLLOC=\"],\"description\":\"Specifies the directory in which the shared libraries for the high-performance analytical procedure are installed on the appliance. Specifying the INSTALL= option overrides the GRIDINSTALLLOC environment variable.\",\"type\":\"value\"},{\"name\":\"LASRSERVER=\",\"optional\":true,\"aliases\":[\"LASR=\"],\"description\":\"Specifies the fully qualified path to the description file of a SAS LASR Analytic Server instance. If the input data set is held in memory by this LASR Analytic Server instance, then the procedure runs alongside LASR. This option is not needed to run alongside LASR if the DATA= specification of the input data uses a libref that is associated with a LASR Analytic Server instance.\",\"type\":\"value\"},{\"name\":\"NODES=\",\"optional\":true,\"aliases\":[\"NNODES=\"],\"description\":\"Specifies the number of nodes in the distributed computing environment, provided that the data are not processed alongside the database.\",\"type\":\"value\"},{\"name\":\"NTHREADS=\",\"optional\":true,\"aliases\":[\"THREADS=\"],\"description\":\"Specifies the number of threads for analytic computations and overrides the SAS system option THREADS | NOTHREADS. If you do not specify the NTHREADS= option, the number of threads is determined based on the number of CPUs on the host on which the analytic computations execute. The algorithm by which a CPU count is converted to a thread count is specific to the high-performance analytical procedure. Most procedures create one thread per CPU for the analytic computations. By default, high-performance analytical procedures run in multiple concurrent threads unless multithreading has been turned off by the NOTHREADS system option or you force single-threaded execution by specifying NTHREADS=1. The largest number that can be specified for n is 256. Individual high-performance analytical procedures can impose more stringent limits if called for by algorithmic considerations.\",\"type\":\"value\"}]},{\"name\":\"WEIGHT\",\"description\":\"The variable in the WEIGHT statement is used as a weight to perform a weighted analysis of the data. Observations that have nonpositive or missing weights are not included in the analysis. If a WEIGHT statement is not included, then all observations that are used in the analysis are assigned a weight of 1.\",\"help\":\"WEIGHT variable\"}],\"supportSiteInformation\":{\"docsetId\":\"statug\",\"docsetVersion\":\"latest\",\"docsetTargetFile\":\"statug_hpgam_toc.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/GAMSELECT.json",
    "content": "{\"name\":\"GAMSELECT\",\"statements\":[{\"name\":\"PROC GAMSELECT\",\"description\":\"fits and performs model selection for generalized additive models\",\"help\":\"PROC GAMSELECT <options>;                 \\n\\tBY  variables;                 \\n\\n\\tCLASS  variable <(options)>...<variable <(options)>></ global-options>;                 \\n\\n\\tDISPLAY <table-list></ options>;                 \\n\\n\\tDISPLAYOUT  table-spec-list </ options>;                 \\n\\n\\tFREQ  variable;                 \\n\\n\\tMODEL  response <(response-options)> = <PARAM(effects)><SPLINE(variable </ spline-options>)><SPLINE(variable1 variable2 </ spline-options>)></ model-options>;                 \\n\\n\\tOUTPUT  OUT=libref.data-table <COMPONENT><COMPVARS=(variables)><COPYVARS=(variables)><keyword <=name>>...<keyword <=name>>;                 \\n\\n\\tPARTITION  partition-option;                 \\n\\n\\tSELECTION <METHOD=method<(method-options)>>;                 \\n\\n\\tSTORE <OUT=>libref.data-table;                 \\n\",\"arguments\":[{\"name\":\"DATA=\",\"optional\":true,\"description\":\"names the input data table for PROC GAMSELECT to use\",\"help\":\"DATA=*libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"ITDETAILS\",\"optional\":true,\"description\":\"generates the \\\"Iteration Details\\\" table\",\"type\":\"standalone\"},{\"name\":\"NOCLPRINT\",\"optional\":true,\"description\":\"suppresses the display of the \\\"Class Level Information\\\" table if you do not specify number. If you specify number, the values of the classification variables are displayed for only those variables whose number of levels is less than number.\",\"help\":\"NOCLPRINT&lt;=*number*&gt;\",\"type\":\"standaloneOrValue\"},{\"name\":\"PLOTS\",\"optional\":true,\"description\":\"{OtherOptions}[global-plot-option] [label=plot_unpack]{UNPACK} suppresses paneling\",\"help\":\"PLOTS &lt;(*global-plot-option*)&gt; &lt;= *plot-requests*&lt;(option)&gt;&gt;\",\"type\":\"standaloneOrValue\",\"arguments\":[{\"name\":\"UNPACK\",\"aliases\":[\"UNPACKPANEL\"],\"description\":\"\",\"type\":\"standalone\",\"arguments\":[{\"name\":\"ALL\",\"description\":\"produces all default plots\",\"type\":\"standalone\"},{\"name\":\"COMPONENTS\",\"description\":\"option to request that the smoothing component plots, except for bivariate contour plots, use a common vertical axis\",\"help\":\"COMPONENTS &lt;(*COMMONAXES*)&gt;\",\"type\":\"standaloneOrValue\"},{\"name\":\"NONE\",\"description\":\"suppresses all plots\",\"type\":\"standalone\"}]},{\"name\":\"SEED=\",\"description\":\"specifies an integer to use to start the pseudorandom number generator for subset sampling from observations to form knots if necessary, for random cross validation if the boosting method is used for model selection, and for random data partitioning if a separate random number seed is not supplied\",\"help\":\"SEED=*number*\",\"type\":\"value\"},{\"name\":\"SINGCHOL=\",\"description\":\"tunes the singularity criterion in Cholesky decomposition and matrix inversion operations\",\"help\":\"SINGCHOL=*number*\",\"type\":\"value\"},{\"name\":\"SINGULAR=\",\"description\":\"tunes the singularity criterion that is used to solve ridge regressions in searching upper bounds of the sparsity parameter and the smoothness parameter, if you specify the shrinkage method of model selection\",\"help\":\"SINGULAR=*number*\",\"type\":\"value\"}]}]},{\"name\":\"BY\",\"description\":\"produces separate analyses of observations in groups that are defined by the BY variables\",\"help\":\"BY  variables;                                              \"},{\"name\":\"CLASS\",\"description\":\"names the classification variables to be used as explanatory variables in the analysis\",\"help\":\"CLASS  variable &lt;(options)&gt;...&lt;variable &lt;(options)&gt;&gt;&lt;/ global-options&gt;;                                              \",\"arguments\":[{\"name\":\"DESCENDING\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Reverses the sort order\",\"type\":\"standalone\"},{\"name\":\"MISSING\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Treats missing values as valid levels\",\"type\":\"standalone\"},{\"name\":\"ORDER=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the sort order for the levels\",\"type\":\"value\"},{\"name\":\"PARAM=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the parameterization of the variable\",\"type\":\"value\"},{\"name\":\"REF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the reference level of the variable\",\"type\":\"value\"}]},{\"name\":\"DISPLAY\",\"description\":\"enables you to specify a list of display tables to display or exclude\",\"help\":\"DISPLAY &lt;table-list&gt;&lt;/ options&gt;;                                              \",\"arguments\":[{\"name\":\"CASESENSITIVE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"performs a case-sensitive comparison of table names in the table-list to display table names when tables are subsetted for display\",\"type\":\"standalone\"},{\"name\":\"EXCLUDE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"displays all display tables except those that you specify in the table-list\",\"type\":\"standalone\"},{\"name\":\"EXCLUDEALL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses display of all tables\",\"type\":\"standalone\"},{\"name\":\"TRACE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"displays the display table names, labels, and paths\",\"type\":\"standalone\"}]},{\"name\":\"DISPLAYOUT\",\"description\":\"enables you to create output tables from your displayed output\",\"help\":\"DISPLAYOUT  table-spec-list &lt;/ options&gt;;                                              *table-spec-list* specifies a list of output tables in key=value or key format                     *key=value* specifies *key* as the ODS table name, path, or partial pathname, and *value* as the output table name                     *key* is the ODS table name and the output table name                     \",\"arguments\":[{\"name\":\"INCLUDEALL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"creates output tables for all display tables\",\"type\":\"standalone\"},{\"name\":\"NOREPLACE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"does not replace any existing output table of the same name\",\"type\":\"standalone\"},{\"name\":\"REPEATED\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"replicates all output tables on all nodes\",\"type\":\"standalone\"}]},{\"name\":\"FREQ\",\"description\":\"identifies a numeric variable in the input data table that contains the frequency of occurrence of each observation\",\"help\":\"FREQ  variable;                                              \"},{\"name\":\"MODEL\",\"description\":\"specifies the response (dependent or target) variable and the predictor (independent or explanatory) effects of the model\",\"help\":\"MODEL  response &lt;(response-options)&gt; = &lt;PARAM(effects)&gt;&lt;SPLINE(variable &lt;/ spline-options&gt;)&gt;&lt;SPLINE(variable1 variable2 &lt;/ spline-options&gt;)&gt;&lt;/ model-options&gt;;                                              \",\"arguments\":[{\"name\":\"ALLOBS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"uses values of spline variables from all data roles for constructing the spline basis functions. By default, only observations that have the training data role are used to construct the spline basis functions.\",\"type\":\"standalone\"},{\"name\":\"DISPERSION=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"PHI=\"],\"description\":\"specifies a fixed dispersion parameter for distributions that have a dispersion parameter\",\"help\":\"DISPERSION=*number*\",\"type\":\"value\"},{\"name\":\"DISTRIBUTION=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the response distribution for the model\",\"help\":\"DISTRIBUTION=*keyword*\",\"type\":\"value\",\"arguments\":[{\"name\":\"BINARY\",\"followsDelimiter\":\"/\",\"description\":\"specifies a binary response distribution\",\"type\":\"standalone\"},{\"name\":\"BINOMIAL\",\"followsDelimiter\":\"/\",\"description\":\"specifies a binomial response distribution\",\"type\":\"standalone\"},{\"name\":\"GAMMA\",\"followsDelimiter\":\"/\",\"description\":\"specifies a gamma response distribution\",\"type\":\"standalone\"},{\"name\":\"INVGAUSS\",\"followsDelimiter\":\"/\",\"description\":\"specifies an inverse Gaussian response distribution\",\"type\":\"standalone\"},{\"name\":\"NORMAL\",\"followsDelimiter\":\"/\",\"description\":\"specifies a normal response distribution\",\"type\":\"standalone\"},{\"name\":\"POISSON\",\"followsDelimiter\":\"/\",\"description\":\"specifies a Poisson response distribution\",\"type\":\"standalone\"}]},{\"name\":\"INITIALPHI=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a starting value for iterative maximum likelihood estimation of the dispersion parameter for distributions that have a dispersion parameter\",\"help\":\"INITIALPHI=*number*\",\"type\":\"value\"},{\"name\":\"LINK=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the link function for the model\",\"help\":\"LINK=*keyword*\",\"type\":\"value\",\"arguments\":[{\"name\":\"IDENTITY\",\"followsDelimiter\":\"/\",\"description\":\"specifies an identity link function\",\"type\":\"standalone\"},{\"name\":\"LOGIT\",\"followsDelimiter\":\"/\",\"description\":\"specifies a logit link function\",\"type\":\"standalone\"},{\"name\":\"PROBIT\",\"followsDelimiter\":\"/\",\"description\":\"specifies a probit link function\",\"type\":\"standalone\"},{\"name\":\"CLOGCLOG\",\"followsDelimiter\":\"/\",\"description\":\"specifies a complementary log-log link function\",\"type\":\"standalone\"},{\"name\":\"LOGLOG\",\"followsDelimiter\":\"/\",\"description\":\"specifies a log-log link function\",\"type\":\"standalone\"},{\"name\":\"INV\",\"followsDelimiter\":\"/\",\"description\":\"specifies a reciprocal link function\",\"type\":\"standalone\"},{\"name\":\"INV2\",\"followsDelimiter\":\"/\",\"description\":\"specifies a reciprocal square link function\",\"type\":\"standalone\"}]},{\"name\":\"MAXPHI=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies an upper bound for maximum likelihood estimation of the dispersion parameter for distributions that have a dispersion parameter\",\"help\":\"MAXPHI=*number*\",\"type\":\"value\"},{\"name\":\"MINPHI=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a lower bound for maximum likelihood estimation of the dispersion parameter for distributions that have a dispersion parameter\",\"help\":\"MINPHI=*number*\",\"type\":\"value\"},{\"name\":\"OFFSET=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a variable to use as an offset to the linear predictor\",\"help\":\"OFFSET=*variable*\",\"type\":\"value\"},{\"name\":\"DESCENDING\",\"optional\":true,\"aliases\":[\"DESC\"],\"description\":\"reverses the order of the response categories\",\"type\":\"standalone\"},{\"name\":\"EVENT=\",\"optional\":true,\"description\":\"specifies the event category for the binary response model\",\"help\":\"EVENT='*category*' | FIRST | LAST\",\"type\":\"value\"},{\"name\":\"ORDER=\",\"optional\":true,\"description\":\"specifies the sort order for the levels of the response variable\",\"help\":\"ORDER=FORMATTED | FREQ | INTERNAL\",\"type\":\"choice\"},{\"name\":\"REF=\",\"optional\":true,\"description\":\"specifies the reference category for the binary response model\",\"help\":\"REF='*category*' | FIRST | LAST\",\"type\":\"value\"},{\"name\":\"PARAM\",\"optional\":true,\"description\":\"specifies parametric effects that are constructed from variables in the input data; this option can appear multiple times\",\"help\":\" PARAM(*effects*) \",\"type\":\"value\"},{\"name\":\"SPLINE\",\"optional\":true,\"description\":\"defines one univariate spline effect\",\"help\":\" SPLINE( *variable* / &lt;*spline-options*&gt; ) \",\"type\":\"value\",\"arguments\":[{\"name\":\"DEGREE=\",\"description\":\"specifies the degree of the spline transformation, where number must be a nonnegative integer. This option is not applicable when the shrinkage method is requested.\",\"help\":\"DEGREE=*number*\",\"type\":\"value\"},{\"name\":\"DETAILS\",\"description\":\"produces a detailed spline specification information table\",\"type\":\"standalone\"},{\"name\":\"DF=\",\"description\":\"specifies the fixed degrees of freedom for the spline at each boosting iteration. This option is applicable only when the boosting selection method is requested.\",\"help\":\"DF=*number*\",\"type\":\"value\"},{\"name\":\"DIFFORDER=\",\"description\":\"specifies the order of the difference penalty for a B-spline. This option is applicable only when the boosting selection method is requested.\",\"help\":\"DIFFORDER=*number*\",\"type\":\"value\"},{\"name\":\"KNOTS=\",\"description\":\"specifies the method to use for supplying user-defined knot values for constructing basis expansions\",\"help\":\"KNOTS=*method*\",\"type\":\"value\",\"arguments\":[{\"name\":\"EQUAL\",\"description\":\"specifies the number of equally spaced interior knots to use for every variable in a spline term\",\"help\":\"EQUAL(*n*)\",\"type\":\"value\"},{\"name\":\"LIST\",\"description\":\"specifies a list of values as knots for the spline construction\",\"help\":\"LIST(*list-of-values*)\",\"type\":\"value\"}]},{\"name\":\"LOWEREXKNOTS=\",\"description\":\"specifies the lower exterior knots\",\"help\":\"LOWEREXKNOTS=*number*\",\"type\":\"value\"},{\"name\":\"MAXKNOTS=\",\"description\":\"specifies the maximum number of knots if data points are used to form knots. The boosting method does not support knot construction from unique data points.\",\"help\":\"MAXKNOTS=*number*\",\"type\":\"value\"},{\"name\":\"SMOOTH=\",\"description\":\"specifies a fixed smoothing parameter. This option is applicable only when the boosting selection method is requested.\",\"help\":\"SMOOTH=*number*\",\"type\":\"value\"},{\"name\":\"UPPEREXKNOTS=\",\"description\":\"specifies the upper exterior knots\",\"help\":\"UPPEREXKNOTS=*number*\",\"type\":\"value\"},{\"name\":\"WEIGHT1=\",\"description\":\"specifies a sparsity penalty strength parameter. When you specify this option, a spline term might receive more or less sparsity penalty than other terms. This option is applicable only when the shrinkage selection method is requested.\",\"help\":\"WEIGHT1=*number*\",\"type\":\"value\"},{\"name\":\"WEIGHT2=\",\"description\":\"specifies a smoothness penalty strength parameter. When you specify this option, a spline term might receive more or less smoothness penalty than other terms. This option is applicable only when the shrinkage selection method is requested.\",\"help\":\"WEIGHT2=*number*\",\"type\":\"value\"}]},{\"name\":\"SPLINE\",\"optional\":true,\"description\":\"defines one bivariate spline effect. This option is applicable only when the shrinkage selection method is requested.\",\"help\":\" SPLINE( *variable1* *variable2* / &lt;*spline-options*&gt; ) \",\"type\":\"value\",\"arguments\":[{\"name\":\"DEGREE=\",\"description\":\"specifies the degree of the spline transformation, where number must be a nonnegative integer. This option is not applicable when the shrinkage method is requested.\",\"help\":\"DEGREE=*number*\",\"type\":\"value\"},{\"name\":\"DETAILS\",\"description\":\"produces a detailed spline specification information table\",\"type\":\"standalone\"},{\"name\":\"DF=\",\"description\":\"specifies the fixed degrees of freedom for the spline at each boosting iteration. This option is applicable only when the boosting selection method is requested.\",\"help\":\"DF=*number*\",\"type\":\"value\"},{\"name\":\"DIFFORDER=\",\"description\":\"specifies the order of the difference penalty for a B-spline. This option is applicable only when the boosting selection method is requested.\",\"help\":\"DIFFORDER=*number*\",\"type\":\"value\"},{\"name\":\"KNOTS=\",\"description\":\"specifies the method to use for supplying user-defined knot values for constructing basis expansions\",\"help\":\"KNOTS=*method*\",\"type\":\"value\",\"arguments\":[{\"name\":\"EQUAL\",\"description\":\"specifies the number of equally spaced interior knots to use for every variable in a spline term\",\"help\":\"EQUAL(*n*)\",\"type\":\"value\"},{\"name\":\"LIST\",\"description\":\"specifies a list of values as knots for the spline construction. For a multivariate spline term, the listed values are taken as multiple row vectors, where each vector has values that are ordered by specified variables.\",\"help\":\"LIST(*list-of-values*)\",\"type\":\"value\"}]},{\"name\":\"LOWEREXKNOTS=\",\"description\":\"specifies the lower exterior knots\",\"help\":\"LOWEREXKNOTS=*number*\",\"type\":\"value\"},{\"name\":\"SMOOTH=\",\"description\":\"specifies a fixed smoothing parameter. This option is applicable only when the boosting selection method is requested.\",\"help\":\"SMOOTH=*number*\",\"type\":\"value\"},{\"name\":\"UPPEREXKNOTS=\",\"description\":\"specifies the upper exterior knots\",\"help\":\"UPPEREXKNOTS=*number*\",\"type\":\"value\"}]}]},{\"name\":\"OUTPUT\",\"description\":\"creates a data table that contains observationwise statistics that PROC GAMSELECT computes after fitting the model\",\"help\":\"OUTPUT  OUT=libref.data-table &lt;COMPONENT&gt;&lt;COMPVARS=(variables)&gt;&lt;COPYVARS=(variables)&gt;&lt;keyword &lt;=name&gt;&gt;...&lt;keyword &lt;=name&gt;&gt;;                                              \",\"arguments\":[{\"name\":\"OUT=\",\"description\":\"names the output data table for PROC GAMSELECT to use\",\"help\":\"OUT=*libref.data-table*\",\"type\":\"dataSet\",\"arguments\":[{\"name\":\"COMPONENT\",\"description\":\"produces componentwise statistics for all spline terms if LINP is specified as a keyword\",\"type\":\"standalone\"},{\"name\":\"COMPVAR\",\"aliases\":[\"COMPVARS\"],\"description\":\"transfers one or more variables that are computed from programming statements to the output data table\",\"help\":\"COMPVAR | COMPUTEDVAR=*variable*\",\"type\":\"value\"},{\"name\":\"COPYVAR=\",\"aliases\":[\"COPYVARS=\"],\"description\":\"transfers one or more variables from the input data table to the output data table\",\"help\":\"COPYVAR=*variable*\",\"type\":\"value\"},{\"name\":\"XBETA\",\"aliases\":[\"LINP\"],\"description\":\"requests the linear predictor\",\"help\":\"XBETA&lt;=*name*&gt;\",\"type\":\"standaloneOrValue\"},{\"name\":\"PEARSON\",\"aliases\":[\"PEARS\"],\"description\":\"computes the Pearson residual\",\"help\":\"PEARSON&lt;=*name*&gt;\",\"type\":\"standaloneOrValue\"},{\"name\":\"PRED\",\"aliases\":[\"PREDICTED\"],\"description\":\"computes predicted values for the response variable\",\"help\":\"PRED&lt;=*name*&gt;\",\"type\":\"standaloneOrValue\"},{\"name\":\"RESIDUAL\",\"aliases\":[\"RESID\"],\"description\":\"computes the raw residual\",\"help\":\"RESIDUAL&lt;=*name*&gt;\",\"type\":\"standaloneOrValue\"},{\"name\":\"ROLE\",\"description\":\"specifies the numeric variable that indicates the role played by each observation in fitting the model\",\"help\":\"ROLE&lt;=*name*&gt;\",\"type\":\"standaloneOrValue\"}]}]},{\"name\":\"PARTITION\",\"description\":\"specifies how observations in the input data set are logically partitioned into disjoint subsets for model training, validation, and testing\",\"help\":\"PARTITION  partition-option;                                              \",\"arguments\":[{\"name\":\"FRACTION\",\"optional\":true,\"description\":\"randomly assigns specified proportions of the observations in the input data table to the roles\",\"help\":\"FRACTION(&lt;TEST=*fraction*&gt; &lt;VALIDATE=*fraction*&gt; &lt;SEED=*number*&gt;)\",\"type\":\"standaloneOrValue\"},{\"name\":\"ROLE=\",\"optional\":true,\"aliases\":[\"ROLEVAR=\"],\"description\":\"names the variable in the input data table whose values are used to assign roles to each observation\",\"help\":\"ROLE=*variable* (&lt;TEST=*'value'*&gt; &lt;TRAIN=*'value'*&gt; &lt;VALIDATE=*'value'*&gt;) \",\"type\":\"value\"}]},{\"name\":\"SELECTION\",\"description\":\"performs model selection by examining whether spline effects should be kept in the model\",\"help\":\"SELECTION &lt;METHOD=*method*&lt;(*method-options*)&gt;&gt;;                                              \",\"arguments\":[{\"name\":\"METHOD=\",\"optional\":true,\"description\":\"specifies the method to use to select the model\",\"help\":\"METHOD=*method* &lt;(*method-options*)&gt;\",\"type\":\"value\",\"arguments\":[{\"name\":\"BOOSTING\",\"description\":\"specifies the boosting method\",\"help\":\"BOOSTING&lt;(*boosting-options*)&gt;\",\"type\":\"standaloneOrValue\",\"arguments\":[{\"name\":\"CHOOSE=\",\"description\":\"specifies the criterion to use to select the final model\",\"help\":\"CHOOSE=CV | VALIDATE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"CV\",\"description\":\"specifies k-fold cross validation of the average square error\",\"help\":\"CV | CROSSVALIDATION\",\"type\":\"choice\"},{\"name\":\"VALIDATE\",\"description\":\"specifies the average square error for the validation data\",\"type\":\"standalone\"}]},{\"name\":\"INDEX=\",\"description\":\"names the variable in the input data table whose values are used to assign observations to partition folds for cross validation. This option is applicable only if you specify the CHOOSE=CV option.\",\"help\":\"INDEX=*variable*\",\"type\":\"value\"},{\"name\":\"KFOLD=\",\"description\":\"specifies the number of partition folds in the random cross validation process. This option is applicable only if you specify the CHOOSE=CV option.\",\"help\":\"KFOLD=*number*\",\"type\":\"value\"},{\"name\":\"LINPINMEM=\",\"description\":\"specifies the maximum number of observations for which the linear predictor values are stored in memory when you are training the model\",\"help\":\"LINPINMEM=*number*\",\"type\":\"value\"},{\"name\":\"MAXITER=\",\"description\":\"specifies the maximum number of iterations for the boosting method\",\"help\":\"MAXITER=*number*\",\"type\":\"value\"},{\"name\":\"STEPSIZE=\",\"aliases\":[\"LEARNINGRATE=\"],\"description\":\"specifies the step size to use for the boosting algorithm, where number must be between 0 and 1\",\"help\":\"STEPSIZE=*number*\",\"type\":\"value\"},{\"name\":\"STOPHORIZON=\",\"description\":\"specifies the number of consecutive iterations in which the performance measured by the criterion that you specify in the CHOOSE= option must deteriorate in order to terminate the selection process.\",\"help\":\"STOPHORIZON=*number*\",\"type\":\"value\"},{\"name\":\"STOPTOL=\",\"aliases\":[\"STOPTOLERANCE=\"],\"description\":\"specifies the number to use as the tolerance for evaluating the relative change in the CHOOSE= option\",\"help\":\"STOPTOL=*number*\",\"type\":\"value\"}]},{\"name\":\"SHRINKAGE\",\"description\":\"specifies the shrinkage method\",\"help\":\"SHRINKAGE&lt;(*shrinkage-options*)&gt;\",\"type\":\"standaloneOrValue\",\"arguments\":[{\"name\":\"ADMMABSEPS=\",\"description\":\"specifies the absolute convergence criterion for the alternating direction method of multipliers (ADMM) algorithm that is used to compute the solution\",\"help\":\"ADMMABSEPS=*number*\",\"type\":\"value\"},{\"name\":\"ADMMMAXITER=\",\"description\":\"specifies the maximum number of iterations that the ADMM algorithm can take at each step of solving a reweighted additive model\",\"help\":\"ADMMMAXITER=*number*\",\"type\":\"value\"},{\"name\":\"ADMMRELEPS=\",\"description\":\"specifies the relative convergence criterion for the ADMM algorithm that is used to compute the solution\",\"help\":\"ADMMRELEPS=*number*\",\"type\":\"value\"},{\"name\":\"ADMMRHO=\",\"description\":\"specifies the tuning parameter to use in the ADMM algorithm to control the balance between the primal residual and the dual residual\",\"help\":\"ADMMRHO=*number*\",\"type\":\"value\"},{\"name\":\"ADMMRHOADAPTIVE\",\"description\":\"specifies whether to use an adaptive mechanism to update the ADMM tuning parameter in the first several steps\",\"help\":\"ADMMRHOADAPTIVE &lt;=NO | YES&gt;\",\"type\":\"standaloneOrValue\"},{\"name\":\"DISTRIBUTEDSEARCH\",\"description\":\"specifies whether to use distributed mode to evaluate different regularization parameter candidates in a grid environment\",\"help\":\"DISTRIBUTEDSEARCH &lt;=NO | YES&gt;\",\"type\":\"standaloneOrValue\"},{\"name\":\"LAMBDA1=\",\"aliases\":[\"L1=\"],\"description\":\"sets a fixed nonnegative value to control the sparsity penalty\",\"help\":\"LAMBDA1=*number*\",\"type\":\"value\"},{\"name\":\"LAMBDA2=\",\"aliases\":[\"L2=\"],\"description\":\"sets a fixed nonnegative value to control the smoothness penalty\",\"help\":\"LAMBDA2=*number*\",\"type\":\"value\"},{\"name\":\"LAMBDA3=\",\"aliases\":[\"L3=\"],\"description\":\"sets a fixed nonnegative value to control the generalized ridge penalty\",\"help\":\"LAMBDA3=*number*\",\"type\":\"value\"},{\"name\":\"MAXITER=\",\"description\":\"specifies the maximum number of iterations that generalized additive model fitting can take by solving reweighted additive models at each iteration\",\"help\":\"MAXITER=*number*\",\"type\":\"value\"},{\"name\":\"MAXLAMBDA1=\",\"aliases\":[\"MAXL1=\"],\"description\":\"sets the maximum value to start with to search the optimal sparsity penalty parameter\",\"help\":\"MAXLAMBDA1=*number*\",\"type\":\"value\"},{\"name\":\"MAXLAMBDA2=\",\"aliases\":[\"MAXL2=\"],\"description\":\"sets the maximum value to start with to search the optimal smoothness penalty parameter\",\"help\":\"MAXLAMBDA2=*number*\",\"type\":\"value\"},{\"name\":\"MAXLAMBDA3=\",\"aliases\":[\"MAXL3=\"],\"description\":\"sets the maximum value to start with to search the optimal generalized ridge penalty parameter\",\"help\":\"MAXLAMBDA3=*number*\",\"type\":\"value\"},{\"name\":\"NUMLAMBDA1=\",\"aliases\":[\"NUML1=\"],\"description\":\"sets the total number of candidates to try in searching the optimal sparsity penalty parameter\",\"help\":\"NUMLAMBDA1=*number*\",\"type\":\"value\"},{\"name\":\"NUMLAMBDA2=\",\"aliases\":[\"NUML2=\"],\"description\":\"sets the total number of candidates to try in searching the optimal smoothness penalty parameter\",\"help\":\"NUMLAMBDA2=*number*\",\"type\":\"value\"},{\"name\":\"NUMLAMBDA3=\",\"aliases\":[\"NUML3=\"],\"description\":\"sets the total number of candidates to try in searching the optimal generalized ridge parameter\",\"help\":\"NUMLAMBDA3=*number*\",\"type\":\"value\"},{\"name\":\"RHOLAMBDA1=\",\"aliases\":[\"RHOL1=\"],\"description\":\"sets the scaling factor for the sparsity penalty parameter when computing a new candidate from its previous candidate attempt\",\"help\":\"RHOLAMBDA1=*number*\",\"type\":\"value\"},{\"name\":\"RHOLAMBDA2=\",\"aliases\":[\"RHOL2=\"],\"description\":\"sets the scaling factor for the smoothness penalty parameter when computing a new candidate from its previous candidate attempt\",\"help\":\"RHOLAMBDA2=*number*\",\"type\":\"value\"},{\"name\":\"RHOLAMBDA3=\",\"aliases\":[\"RHOL3=\"],\"description\":\"sets the scaling factor for the generalized ridge penalty parameter when computing a new candidate from its previous candidate attempt\",\"help\":\"RHOLAMBDA3=*number*\",\"type\":\"value\"}]}]}]},{\"name\":\"STORE\",\"description\":\"saves the context and results of the statistical analysis.\",\"help\":\"STORE &lt;OUT=&gt;libref.data-table;                                              \"}],\"supportSiteInformation\":{\"docsetId\":\"casstat\",\"docsetVersion\":\"latest\",\"docsetTargetFile\":\"casstat_gamselect_toc.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/GANNO.json",
    "content": "{\"name\":\"GANNO\",\"statements\":[{\"name\":\"PROC GANNO\",\"description\":\"Identifies the Annotate data set and draws the graphics output defined by that data set. It can also scale the output to accommodate data-dependent coordinate values and specify an output catalog.\",\"help\":\"PROC GANNO ANNOTATE=Annotate-data-set\\n\\t<DATASYS>\\n\\n\\t<DESCRIPTION=\\\"description\\\">\\n\\n\\t<GOUT=<libref.>output-catalog>\\n\\n\\t<IMAGEMAP=output-data-set>\\n\\t<NAME=\\\"name\\\">;\",\"arguments\":[{\"name\":\"ANNOTATE=\",\"aliases\":[\"ANNO=\"],\"description\":\"specifies a data set that includes Annotate variables that identify graphics commands and parameters.\",\"help\":\"ANNOTATE=*Annotate-data-set*\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"p1vhwfhjv0z3n4n1nogt7co7ge8j\"},{\"name\":\"DATASYS\",\"optional\":true,\"description\":\"indicates that absolute or relative data-dependent coordinates occur in the Annotate data set and scales the coordinates to fit the graphics output area.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p15n3t5mn4d6cln1oxgmiu8l7wkb\"},{\"name\":\"DESCRIPTION=\",\"optional\":true,\"aliases\":[\"DES=\"],\"description\":\"specifies a description of the output.\",\"help\":\"DESCRIPTION=\\\"*description*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0bx9ubzjlvi8pn1eyv20hyl1ujn\"},{\"name\":\"GOUT=\",\"optional\":true,\"description\":\"specifies the SAS catalog in which to save the graphics output produced by the GANNO procedure.\",\"help\":\"GOUT=&lt;*libref*.&gt;*output-catalog*\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"n1ov6h60jqypc7n0zkvvrbqvbhk4\"},{\"name\":\"IMAGEMAP=\",\"optional\":true,\"description\":\"creates a temporary SAS data set that is used to generate an image map.\",\"help\":\"IMAGEMAP=*output-data-set*\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"p17i9u82yf5krqn1boosbjankjbu\"},{\"name\":\"NAME=\",\"optional\":true,\"description\":\"specifies the name of the GRSEG catalog entry and the name of the graphics output file, if one is created.\",\"help\":\"NAME=\\\"*name*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1f8f4tpxusr8on1hccgty54dwas\"}],\"supportSiteTargetFile\":\"n1kb2h68jv8ix4n1gwf8x7rvfl1o.htm\"}],\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"p198vvex23amofn14tfpdoxr2ldp.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/GANTT.json",
    "content": "{\"name\":\"GANTT\",\"statements\":[{\"name\":\"PROC GANTT\",\"description\":\"The GANTT procedure produces a Gantt chart that is a graphical scheduling tool for the planning and control of a project. In its most basic form, a Gantt chart is a bar chart that plots the tasks of a project versus time. PROC GANTT displays a Gantt chart corresponding to a project schedule such as that produced by the CPM procedure or one that is input directly to the procedure, and it offers several options and statements for tailoring the chart to your needs. † Using PROC GANTT, you can plot the predicted early and late schedules and identify critical, supercritical, and slack activities. In addition, you can visually monitor a project in progress with the actual schedule and compare the actual schedule against a target baseline schedule. You can also graphically view the effects of scheduling a project subject to resource limitations. Any combination of these schedules can be viewed simultaneously (provided the relevant data exist) together with any user-specified variables of interest, such as project deadlines and other important dates. PROC GANTT enables you to display the early, late, and actual schedules in a single bar to produce a more meaningful schedule for tracking an activity in progress.\",\"help\":\"PROC GANTT <ANNOTATE=SAS-data-set><CALEDATA=SAS-data-set><DATA=SAS-data-set><FULLSCREEN><GOUT=graphics catalog><GRAPHICS><HOLIDATA=SAS-data-set><IMAGEMAP=SAS-data-set><LABDATA= | LABELDATA= | LABEL= SAS-data-set><LABMAXINT=n><LINEPRINTER><MAXDEC=n><PRECDATA=SAS-data-set><SPLIT='character'><WORKDATA= | WORKDAY= SAS-data-set>;     \\n\\tBY variables ;\\n\\n\\tCHART <A_FINISH=variable><A_START=variable><B_FINISH=variable> ...;\\n\\n\\tID variables ;\\n\",\"arguments\":[{\"name\":\"ANNOTATE=\",\"optional\":true,\"aliases\":[\"ANNO=\"],\"description\":\"Specifies the input data set that contains the appropriate Annotate variables for the purpose of adding text and graphics to the Gantt chart.\",\"help\":\"ANNOTATE=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"CALEDATA=\",\"optional\":true,\"aliases\":[\"CALENDAR=\"],\"description\":\"Identifies a SAS data set that specifies the work pattern during a standard week for each of the calendars that is to be used in the project.\",\"help\":\"CALEDATA=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"DATA=\",\"optional\":true,\"description\":\"Names the SAS data set that carries the schedule information to be used by PROC GANTT.\",\"help\":\"DATA=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"FULLSCREEN\",\"optional\":true,\"aliases\":[\"FS\"],\"description\":\"Indicates that the Gantt chart be drawn in full-screen mode. This mode enables you to scroll horizontally and vertically through the output using commands, pull-down menus, or function keys.\",\"type\":\"standalone\"},{\"name\":\"GOUT=\",\"optional\":true,\"description\":\"Specifies the name of the graphics catalog used to save the output produced by PROC GANTT for later replay.\",\"type\":\"value\"},{\"name\":\"GRAPHICS\",\"optional\":true,\"description\":\"Indicates that the Gantt chart produced be of high-resolution quality. This is the default mode of display.\",\"type\":\"standalone\"},{\"name\":\"HOLIDATA=\",\"optional\":true,\"description\":\"Names the SAS data set that specifies holidays.\",\"help\":\"HOLIDATA=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"IMAGEMAP=\",\"optional\":true,\"description\":\"Names the SAS data set that receives a description of the areas of a graph and a link for each area.\",\"help\":\"IMAGEMAP=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"LABDATA=\",\"optional\":true,\"aliases\":[\"LABELDATA=\",\"LABEL=\"],\"description\":\"Specifies the input data set that contains the label specific information. This option is required to initiate the automatic text annotation of the Gantt chart.\",\"type\":\"value\"},{\"name\":\"LABMAXINT=\",\"optional\":true,\"aliases\":[\"LMI=\"],\"description\":\"Specifies the maximum number of digits in the integer part when displaying an unformatted numeric as a string. The default value is 16.\",\"help\":\"LABMAXINT=*n*\",\"type\":\"value\"},{\"name\":\"LINEPRINTER\",\"optional\":true,\"aliases\":[\"LP\"],\"description\":\"Indicates that the Gantt chart be drawn in line-printer mode.\",\"type\":\"standalone\"},{\"name\":\"MAXDEC=\",\"optional\":true,\"aliases\":[\"M=\"],\"description\":\"Indicates the maximum number of decimal positions displayed for a number. A decimal specification in a format overrides a MAXDEC= specification. The default value of MAXDEC= is 2.\",\"help\":\"MAXDEC=*n*\",\"type\":\"value\"},{\"name\":\"PRECDATA=\",\"optional\":true,\"description\":\"Names the SAS data set that contains the variables that define the precedence constraints in AON format.\",\"help\":\"PRECDATA=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"SPLIT=\",\"optional\":true,\"aliases\":[\"S=\"],\"description\":\"Splits labels used as column headings where the split character appears.\",\"help\":\"SPLIT='*character*'\",\"type\":\"value\"},{\"name\":\"WORKDATA=\",\"optional\":true,\"aliases\":[\"WORKDAY=\"],\"description\":\"Identifies a SAS data set that defines the work pattern during a standard working day. Each numeric variable in this data set (also referred to as the Workday data set) is assumed to denote a unique shift pattern during one working day.\",\"type\":\"value\"}]},{\"name\":\"BY\",\"description\":\"A BY statement can be used with PROC GANTT to obtain separate Gantt charts for observations in groups defined by the BY variables.\",\"help\":\"BY variables \"},{\"name\":\"CHART\",\"description\":\"A CHART specification can be one of the following types: variable1 ...variablen indicates that each variable is to be plotted using the default symbol, the first character of the variable name. variable1='symbol1' ...variablen='symboln' indicates that each variable is to be plotted using the symbol specified. The symbol must be a single character enclosed in quotes. (variables)='symbol1' ...(variables)='symboln' indicates that each variable within the parentheses is to be plotted using the symbol associated with that group. The symbol must be a single character enclosed in single quotes.\",\"help\":\"CHART &lt;A_FINISH=variable&gt;&lt;A_START=variable&gt;&lt;B_FINISH=variable&gt; ...\",\"arguments\":[{\"name\":\"ABARHT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies that the height of the actual schedule bar be h cellheights. The value of h is restricted to be a positive real number. The default bar height is one cellheight.\",\"help\":\"ABARHT=*h*\",\"type\":\"value\"},{\"name\":\"ABAROFF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies that the actual schedule bar be offset d cellheights from its default position. A value of zero corresponds to the default position. The direction of increase is from top to bottom.\",\"help\":\"ABAROFF=*d*\",\"type\":\"value\"},{\"name\":\"ACTIVITY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"ACT=\"],\"description\":\"Specifies the variable identifying the names of the nodes representing activities in the Schedule data set.\",\"help\":\"ACTIVITY=*variable*\",\"type\":\"value\"},{\"name\":\"ANNOTATE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"ANNO=\"],\"description\":\"Specifies the input data set that contains the appropriate Annotate variables for the purpose of adding text and graphics to the Gantt chart.\",\"help\":\"ANNOTATE=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"AOA\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Causes PROC GANTT to use the specification for the AOA format for producing a Logic Gantt chart when the precedence information has been specified in both AOA format (TAIL= and HEAD= options) and AON format (ACTIVITY=, SUCCESSOR=, and, optionally, LAG= options).\",\"type\":\"standalone\"},{\"name\":\"A_FINISH=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"AF=\"],\"description\":\"Specifies the variable containing the actual finish time of each activity in the Schedule data set.\",\"help\":\"A_FINISH=*variable*\",\"type\":\"value\"},{\"name\":\"A_START=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"AS=\"],\"description\":\"Specifies the variable containing the actual start time of each activity in the Schedule data set.\",\"help\":\"A_START=*variable*\",\"type\":\"value\"},{\"name\":\"BARHT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies that the height of all the schedule bars be h cellheights. The value of h is restricted to be a positive real number. The default value is one cellheight.\",\"help\":\"BARHT=*h*\",\"type\":\"value\"},{\"name\":\"BAROFF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies that all the schedule bars be offset d cellheights from their default positions. A value of zero corresponds to the default positions. The direction of increase is from top to bottom.\",\"help\":\"BAROFF=*d*\",\"type\":\"value\"},{\"name\":\"BBARHT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies that the height of the baseline schedule bar be h cellheights. The value of h is restricted to be a positive real number. The default bar height is one cellheight.\",\"help\":\"BBARHT=*h*\",\"type\":\"value\"},{\"name\":\"BBAROFF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies that the baseline schedule bar be offset d cellheights from its default position. A value of zero corresponds to the default position. The direction of increase is from top to bottom.\",\"help\":\"BBAROFF=*d*\",\"type\":\"value\"},{\"name\":\"BETWEEN=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the number of columns between two consecutive ID variable columns. This option gives you greater flexibility in spacing the ID columns. The default value of the BETWEEN= option is 3.\",\"help\":\"BETWEEN=*number*\",\"type\":\"value\"},{\"name\":\"BOTTOM\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"BJUST\"],\"description\":\"Positions the bottom of the Gantt chart at the bottom of the page, just above the footnotes.\",\"type\":\"standalone\"},{\"name\":\"B_FINISH=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"BF=\"],\"description\":\"Specifies the variable containing the baseline finish time of each activity in the Schedule data set.\",\"help\":\"B_FINISH=*variable*\",\"type\":\"value\"},{\"name\":\"B_START=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"BS=\"],\"description\":\"Specifies the variable containing the baseline start time of each activity in the Schedule data set.\",\"help\":\"B_START=*variable*\",\"type\":\"value\"},{\"name\":\"CALID=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the variable in the Schedule, Holiday, and Calendar data sets that is used to identify the name or number of the calendar to which each observation refers. This variable can be either numeric or character depending on whether the different calendars are identified by unique numbers or names, respectively.\",\"help\":\"CALID=*variable*\",\"type\":\"value\"},{\"name\":\"CAXIS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"CAXES=\",\"CA=\"],\"description\":\"Specifies the color to use for displaying axes for the Gantt chart.\",\"help\":\"CAXIS=*color*\",\"type\":\"color\"},{\"name\":\"CFRAME=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"CFR=\"],\"description\":\"Specifies the color to use for filling the axis area. If the CFRAME= option is not specified and the GSTYLE system option is not in effect, then the axis area is not filled.\",\"help\":\"CFRAME=*color*\",\"type\":\"color\"},{\"name\":\"CHARTWIDTH=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"CHARTPCT=\"],\"description\":\"Specifies the width of the axis area as a percentage of the total Gantt chart width in the chart that would be produced if you had a page large enough to contain the entire chart without compression.\",\"help\":\"CHARTWIDTH=*p*\",\"type\":\"value\"},{\"name\":\"CHCON=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the color to use for drawing the horizontal connecting lines. The default color depends on the GOPTIONS statement and the GSTYLE system option\",\"help\":\"CHCON=*color*\",\"type\":\"color\"},{\"name\":\"CMILE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the color to use for drawing the milestone symbol on the chart. If the CMILE= option is not specified, the default color of the milestones follows the rules for coloring the bars of the relevant schedule.\",\"help\":\"CMILE=*color*\",\"type\":\"color\"},{\"name\":\"COMBINE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Concatenates the early/late and actual schedule bars of an activity into a single bar and draws a timenow line on the Gantt chart.\",\"type\":\"standalone\"},{\"name\":\"COMPRESS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies that the Gantt chart be drawn on the number of output pages determined by the HPAGES= and VPAGES= options.\",\"type\":\"standalone\"},{\"name\":\"CPREC=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the color to use for drawing the precedence connections.\",\"help\":\"CPREC=*color*\",\"type\":\"color\"},{\"name\":\"CREF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the color to use for drawing the precedence connections.\",\"help\":\"CREF=*color*\",\"type\":\"color\"},{\"name\":\"CRITFLAG\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"FLAG\"],\"description\":\"Indicates that critical jobs be flagged as being critical or super-critical. An activity is critical if its total float is zero. If the total float is negative, the activity is super-critical. Critical activities are marked 'CR,' and super-critical activities are marked 'SC' on the left side of the chart.\",\"type\":\"standalone\"},{\"name\":\"CTEXT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"CT=\"],\"description\":\"Specifies the color to use for displaying text that appears on the chart, including variable names or labels, tickmark values, values of ID variables, and so on.\",\"help\":\"CTEXT=*color*\",\"type\":\"color\"},{\"name\":\"CTEXTCOLS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"CPATTEXT=\",\"CACTTEXT=\"],\"description\":\"Names the columns of activity text to be displayed using the color of the PATTERN variable when one exists or from the fill pattern from a particular schedule bar.\",\"help\":\"CTEXTCOLS=ZONE | JOBNUM | ID | FLAG | ALL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ZONE\",\"followsDelimiter\":\"/\",\"description\":\"ZONE variable column\",\"type\":\"standalone\"},{\"name\":\"JOBNUM\",\"followsDelimiter\":\"/\",\"description\":\"Job number column\",\"type\":\"standalone\"},{\"name\":\"ID\",\"followsDelimiter\":\"/\",\"description\":\"ID variable columns\",\"type\":\"standalone\"},{\"name\":\"FLAG\",\"followsDelimiter\":\"/\",\"description\":\"Status flag column\",\"type\":\"standalone\"},{\"name\":\"ALL\",\"followsDelimiter\":\"/\",\"description\":\"All of the above (default)\",\"type\":\"standalone\"}]},{\"name\":\"CTNOW=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the color to use for drawing the timenow line on the chart.\",\"help\":\"CTNOW=*color*\",\"type\":\"color\"},{\"name\":\"CZONE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"CZLINE=\"],\"description\":\"Specifies the color to use for drawing the horizontal zone lines that demarcate the different zones on the chart.\",\"help\":\"CZONE=*color*\",\"type\":\"color\"},{\"name\":\"DAYLENGTH=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the length of the workday.\",\"help\":\"DAYLENGTH=*daylength*\",\"type\":\"value\"},{\"name\":\"DAYSTART=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the start of the workday. The default value of daystart is 9:00 a.m. if INTERVAL=WORKDAY or INTERVAL=DTWRKDAY, and midnight otherwise.\",\"help\":\"DAYSTART=*daystart*\",\"type\":\"value\"},{\"name\":\"DESCRIPTION=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"DES=\"],\"description\":\"Specifies a descriptive string, up to 40 characters in length, that appears in the description field of the master menu of PROC GREPLAY.\",\"help\":\"DESCRIPTION='*string*'\",\"type\":\"value\"},{\"name\":\"DUPOK\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Causes duplicate values of ID variables not to be skipped.\",\"type\":\"standalone\"},{\"name\":\"DURATION=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"DUR=\"],\"description\":\"Identifies a variable in the Schedule data set that determines whether or not an activity is to be regarded as a milestone with respect to a specific schedule.\",\"help\":\"DURATION=*variable*\",\"type\":\"value\"},{\"name\":\"EBARHT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"LBARHT=\"],\"description\":\"Specifies that the height of the early/late schedule bar be h cellheights. The value of h is restricted to be a positive real number. The default bar height is one cellheight.\",\"help\":\"EBARHT=*h*\",\"type\":\"value\"},{\"name\":\"EBAROFF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"LBAROFF=\"],\"description\":\"Specifies that the early/late schedule bar be offset d cellheights from its default position. A value of zero corresponds to the default position. The direction of increase is from top to bottom.\",\"help\":\"EBAROFF=*d*\",\"type\":\"value\"},{\"name\":\"E_FINISH=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"EF=\"],\"description\":\"Specifies the variable containing the early finish time of each activity in the Schedule data set.\",\"help\":\"E_FINISH=*variable*\",\"type\":\"value\"},{\"name\":\"E_START=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"ES=\"],\"description\":\"Specifies the variable containing the early start time of each activity in the Schedule data set.\",\"help\":\"E_START=*variable*\",\"type\":\"value\"},{\"name\":\"FILL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Causes each page of the Gantt chart to be filled as completely as possible before a new page is started (when the size of the project requires the Gantt chart to be split across several pages).\",\"type\":\"standalone\"},{\"name\":\"FMILE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the font to use for drawing the milestone symbol on the chart.\",\"help\":\"FMILE=*font*\",\"type\":\"value\"},{\"name\":\"FONT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the font to use for displaying job numbers, ID variables, legend, labels on the time axis, and so forth.\",\"help\":\"FONT=*font*\",\"type\":\"value\"},{\"name\":\"FORMCHAR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Defines the characters to be used for constructing the chart outlines and dividers.\",\"type\":\"value\"},{\"name\":\"HBARHT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies that all non-working days be displayed with a bar which is h cellheights high. The default behavior is to use the same height as that of the schedule bar.\",\"help\":\"HBARHT=*h*\",\"type\":\"value\"},{\"name\":\"HBAROFF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies that the bars which represent non-working days be offset d cellheights from their default positions. The default behavior is to use the same offset as that of the schedule bar.\",\"help\":\"HBAROFF=*d*\",\"type\":\"value\"},{\"name\":\"HCONCHAR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the symbol to be used for drawing the connecting line described in the HCONNECT option. The default character is -.\",\"help\":\"HCONCHAR='*character*'\",\"type\":\"value\"},{\"name\":\"HCONNECT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Causes a line to be drawn for each activity from the left boundary of the chart to the beginning of the bar for the activity.\",\"type\":\"standalone\"},{\"name\":\"HEAD=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"HEADNODE=\"],\"description\":\"Specifies the variable (either character or numeric) in the Schedule data set that contains the name of the node that represents the finish of the activity. This option is required when the precedence information is specified using the AOA format.\",\"type\":\"value\"},{\"name\":\"HEIGHT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies that the height for all text in PROC GANTT, excluding TITLE and FOOTNOTE statements, be h times the value of HTEXT=, the default text height specified in the GOPTIONS statement of SAS/GRAPH. The value of h is a positive real number; the default value is 1.0.\",\"help\":\"HEIGHT=*h*\",\"type\":\"value\"},{\"name\":\"HMILE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the height in cells of the milestone symbol. The height is a positive real number; the default value is 1.0.\",\"help\":\"HMILE=*height*\",\"type\":\"value\"},{\"name\":\"HOLICHAR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Indicates the character to display for holidays. Note that PROC GANTT displays only those holidays that fall within the duration or the slack time of an activity. The default character used for representing holidays is !.\",\"help\":\"HOLICHAR='*character*'\",\"type\":\"value\"},{\"name\":\"HOLIDAY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"HOLIDAYS=\"],\"description\":\"Specifies the date or datetime variable in the Holiday data set that identifies holidays to be marked on the schedule.\",\"type\":\"value\"},{\"name\":\"HOLIDUR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"HDURATION=\"],\"description\":\"Specifies the variable in the Holiday data set that identifies the durations of the holidays that are to be marked on the schedule.\",\"type\":\"value\"},{\"name\":\"HOLIFIN=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"HOLIEND=\"],\"description\":\"Specifies the date or datetime variable in the Holiday data set that identifies the finish times of the holidays that are to be marked on the schedule.\",\"type\":\"value\"},{\"name\":\"HPAGES=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies that the Gantt chart is to be produced using h horizontal pages.\",\"help\":\"HPAGES=*h*\",\"type\":\"value\"},{\"name\":\"HTOFF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies that the line upon which all activity text rests, also referred to as the font baseline, is positioned at a depth of d cells below the top of the first bar. The default value of d is 1.0.\",\"help\":\"HTOFF=*d*\",\"type\":\"value\"},{\"name\":\"IDPAGES\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays ID variables on every page. By default, the ID variables are displayed only on the first page.\",\"type\":\"standalone\"},{\"name\":\"INCREMENT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the number of minintervals between time axis labels on the Gantt chart.\",\"help\":\"INCREMENT=*increment*\",\"type\":\"value\"},{\"name\":\"INTERVAL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"HOLINTERVAL=\"],\"description\":\"Specifies the units for the values of the HOLIDUR variables.\",\"help\":\"INTERVAL=DAY | DTDAY | DTHOUR | DTMINUTE | DTSECOND | WEEKDAY | WORKDAY | DTWRKDAY\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DAY\",\"followsDelimiter\":\"/\",\"description\":\"DAY\",\"type\":\"standalone\"},{\"name\":\"DTDAY\",\"followsDelimiter\":\"/\",\"description\":\"DATETIME DAY\",\"type\":\"standalone\"},{\"name\":\"DTHOUR\",\"followsDelimiter\":\"/\",\"description\":\"DATETIME HOUR\",\"type\":\"standalone\"},{\"name\":\"DTMINUTE\",\"followsDelimiter\":\"/\",\"description\":\"DATETIME MINUTE\",\"type\":\"standalone\"},{\"name\":\"DTSECOND\",\"followsDelimiter\":\"/\",\"description\":\"DATETIME SECOND\",\"type\":\"standalone\"},{\"name\":\"WEEKDAY\",\"followsDelimiter\":\"/\",\"description\":\"WEEKDAY\",\"type\":\"standalone\"},{\"name\":\"WORKDAY\",\"followsDelimiter\":\"/\",\"description\":\"WORKDAY\",\"type\":\"standalone\"},{\"name\":\"DTWRKDAY\",\"followsDelimiter\":\"/\",\"description\":\"DATETIME WORKDAY\",\"type\":\"standalone\"}]},{\"name\":\"JOINCHAR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Defines a string eight characters long that identifies nonblank characters to be used for drawing the schedule.\",\"help\":\"JOINCHAR='*string*'\",\"type\":\"value\"},{\"name\":\"LABRULE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"LABFMT=\"],\"description\":\"Specifies the rule to use for laying out labels that are defined in the Label data set.\",\"help\":\"LABRULE=PAGECLIP | FRAMCLIP\",\"type\":\"choice\",\"arguments\":[{\"name\":\"PAGECLIP\",\"followsDelimiter\":\"/\",\"description\":\"Displays a label at the specified location and clips any part of the label that runs off the page.\",\"type\":\"standalone\"},{\"name\":\"FRAMCLIP\",\"followsDelimiter\":\"/\",\"description\":\"Clips all labels with data value coordinates that run off the frame of the Gantt chart.\",\"type\":\"standalone\"}]},{\"name\":\"LABSPLIT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"LABELSPLIT=\"],\"description\":\"Splits labels that are defined in the Label data set wherever the split character appears.\",\"type\":\"value\"},{\"name\":\"LABVAR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the variable that links observations in the Label data set (label definitions) to observations in the Schedule data set (activities). This variable must exist in both the Schedule data set and the Label data set and be identical in type and length. The variable can be either numeric or character in type.\",\"help\":\"LABVAR=*variable*\",\"type\":\"value\"},{\"name\":\"LAG=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the variables identifying the lag types of the precedence relationships between an activity and its successors.\",\"help\":\"LAG=*variable*\",\"type\":\"value\"},{\"name\":\"LEFT\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"LJUST\"],\"description\":\"Displays the Gantt chart left-justified with the left edge of the page. This option has priority over the RIGHT or RJUST option.\",\"type\":\"standalone\"},{\"name\":\"LEVEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the schedule bar to use for drawing the precedence connections. The default value of LEVEL= is 1, which corresponds to the topmost bar.\",\"help\":\"LEVEL=*number*\",\"type\":\"value\"},{\"name\":\"LHCON=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the line style (1 - 46) to be used for drawing the horizontal connecting line produced by the HCONNECT option.\",\"help\":\"LHCON=*linetype*\",\"type\":\"value\"},{\"name\":\"LPREC=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the line style (1 - 46) to use for drawing the precedence connections. The default line style is 1, a solid line.\",\"help\":\"LPREC=*linetype*\",\"type\":\"value\"},{\"name\":\"LREF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the line style (1 - 46) to use for drawing the reference lines. The default line style is 1, a solid line.\",\"help\":\"LREF=*linetype*\",\"type\":\"value\"},{\"name\":\"LTNOW=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the line style (1 - 46) to use for drawing the timenow line. The default line style is 1, a solid line.\",\"help\":\"LTNOW=*linetype*\",\"type\":\"value\"},{\"name\":\"LWIDTH=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the line width to be used for drawing lines, other than the timenow line and precedence connection lines, used in the Gantt chart. The default width is 1.\",\"help\":\"LWIDTH=*linewidth*\",\"type\":\"value\"},{\"name\":\"LZONE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"LZLINE=\"],\"description\":\"Specifies the line style (1 - 46) to use for drawing the horizontal zone lines which demarcate the different zones on the chart. The default line style is 1, a solid line.\",\"type\":\"value\"},{\"name\":\"L_FINISH=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"LF=\"],\"description\":\"Specifies the variable containing the late finish time of each activity in the Schedule data set.\",\"help\":\"L_FINISH=*variable*\",\"type\":\"value\"},{\"name\":\"L_START=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"LS=\"],\"description\":\"Specifies the variable containing the late start time of each activity in the Schedule data set.\",\"help\":\"L_START=*variable*\",\"type\":\"value\"},{\"name\":\"MARKBREAK\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Causes all breaks (non-worked periods) during a day to be marked on the Gantt chart. The symbol used for marking the breaks is the same as the HOLICHAR= symbol.\",\"type\":\"standalone\"},{\"name\":\"MARKWKND\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Causes all weekends (or non-worked days during a week) to be marked on the Gantt chart. The symbol used for marking weekends is the same as the HOLICHAR= symbol.\",\"type\":\"standalone\"},{\"name\":\"MAXDATE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the end time for the time axis of the chart. The default value is the largest value of the times being plotted unless the logic options are invoked without the NOEXTRANGE option in the CHART statement.\",\"help\":\"MAXDATE=*maxdate*\",\"type\":\"value\"},{\"name\":\"MAXDISLV=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the maximum allowable distance, in number of columns, that a local vertical can be positioned from its minimum offset to avoid overlap with a global vertical.\",\"help\":\"MAXDISLV=*columns*\",\"type\":\"value\"},{\"name\":\"MAXIDS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays as many consecutive ID variables as possible in the presence of an ID statement.\",\"type\":\"standalone\"},{\"name\":\"MILECHAR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Indicates the character to display for the milestone symbol.\",\"help\":\"MILECHAR='*character*'\",\"type\":\"value\"},{\"name\":\"MINDATE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the starting time for the time axis of the chart. The default value is the smallest value of the times being plotted unless the logic options are invoked without the NOEXTRANGE option in the CHART statement.\",\"help\":\"MINDATE=*mindate*\",\"type\":\"value\"},{\"name\":\"MININTERVAL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the smallest interval to be identified on the chart. For example, if MININTERVAL=DAY, then one day is represented on the chart by scale (see the SCALE= option) number of columns.\",\"help\":\"MININTERVAL=DAY | DTDAY | HOUR | DTHOUR | MONTH | DTMONTH | SECOND | DTSECOND | MINUTE | DTMINUTE | QTR | DTQTR | YEAR | DTYEAR | WEEK | DTWEEK\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DAY\",\"followsDelimiter\":\"/\",\"description\":\"DAY\",\"type\":\"standalone\"},{\"name\":\"DTDAY\",\"followsDelimiter\":\"/\",\"description\":\"DATETIME DAY\",\"type\":\"standalone\"},{\"name\":\"HOUR\",\"followsDelimiter\":\"/\",\"description\":\"HOUR\",\"type\":\"standalone\"},{\"name\":\"DTHOUR\",\"followsDelimiter\":\"/\",\"description\":\"DATETIME HOUR\",\"type\":\"standalone\"},{\"name\":\"MONTH\",\"followsDelimiter\":\"/\",\"description\":\"MONTH\",\"type\":\"standalone\"},{\"name\":\"DTMONTH\",\"followsDelimiter\":\"/\",\"description\":\"DATETIME MONTH\",\"type\":\"standalone\"},{\"name\":\"SECOND\",\"followsDelimiter\":\"/\",\"description\":\"SECOND\",\"type\":\"standalone\"},{\"name\":\"DTSECOND\",\"followsDelimiter\":\"/\",\"description\":\"DATETIME SECOND\",\"type\":\"standalone\"},{\"name\":\"MINUTE\",\"followsDelimiter\":\"/\",\"description\":\"MINUTE\",\"type\":\"standalone\"},{\"name\":\"DTMINUTE\",\"followsDelimiter\":\"/\",\"description\":\"DATETIME MINUTE\",\"type\":\"standalone\"},{\"name\":\"QTR\",\"followsDelimiter\":\"/\",\"description\":\"QUARTER\",\"type\":\"standalone\"},{\"name\":\"DTQTR\",\"followsDelimiter\":\"/\",\"description\":\"DATETIME QUARTER\",\"type\":\"standalone\"},{\"name\":\"YEAR\",\"followsDelimiter\":\"/\",\"description\":\"YEAR\",\"type\":\"standalone\"},{\"name\":\"DTYEAR\",\"followsDelimiter\":\"/\",\"description\":\"DATETIME YEAR\",\"type\":\"standalone\"},{\"name\":\"WEEK\",\"followsDelimiter\":\"/\",\"description\":\"WEEK\",\"type\":\"standalone\"},{\"name\":\"DTWEEK\",\"followsDelimiter\":\"/\",\"description\":\"DATETIME WEEK\",\"type\":\"standalone\"}]},{\"name\":\"MININTGV=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the minimum inter-distance, in number of columns, of any two global verticals to prevent overlap. The value of the MININTGV= option must be greater than or equal to 0.1; the default value is 0.75.\",\"help\":\"MININTGV=*columns*\",\"type\":\"value\"},{\"name\":\"MINOFFGV=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the minimum offset, in number of columns, of a global vertical from the end of the bar with which it is associated. The value of the MINOFFGV= option must be greater than or equal to 0.1; the default value is 1.\",\"help\":\"MINOFFGV=*columns*\",\"type\":\"value\"},{\"name\":\"MINOFFLV=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the minimum offset, in number of columns, of a local vertical from the end of the bar with which it is associated. The value of the MINOFFLV= option must be greater than or equal to 0.1; the default value is 1.\",\"help\":\"MINOFFLV=*columns*\",\"type\":\"value\"},{\"name\":\"NAME=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Where 'string' specifies a descriptive string, up to eight characters long, that appears in the name field of the master menu of the GREPLAY procedure.\",\"help\":\"NAME='*string*'\",\"type\":\"value\"},{\"name\":\"NJOBS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"NACTS=\"],\"description\":\"Specifies the number of jobs that should be displayed on a single page. This option overrides the VPAGES= option.\",\"type\":\"value\"},{\"name\":\"NOARROWHEAD\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"NOARRHD\"],\"description\":\"Suppresses the arrowhead when drawing the precedence connections.\",\"type\":\"standalone\"},{\"name\":\"NOEXTRANGE\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"NOXTRNG\"],\"description\":\"Suppresses the automatic extension of the chart axis range when drawing a Logic Gantt chart and neither the MINDATE= nor MAXDATE= option is specified.\",\"type\":\"standalone\"},{\"name\":\"NOFRAME\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"NOFR\"],\"description\":\"Suppresses drawing the vertical boundaries to the left and right of the Gantt chart; only the top axis and a parallel line at the bottom are drawn. If this option is not specified, the entire chart area is framed.\",\"type\":\"standalone\"},{\"name\":\"NOJOBNUM\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Suppresses displaying an identifying job number for each activity.\",\"type\":\"standalone\"},{\"name\":\"NOLEGEND\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Suppresses displaying the concise default legend at the bottom of each page of the Gantt chart.\",\"type\":\"standalone\"},{\"name\":\"NOPAGENUM\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Suppresses numbering the pages of a multipage Gantt chart. This is the default behavior.\",\"type\":\"standalone\"},{\"name\":\"NOPATBAR\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Suppresses the use of the PATTERN variable for filling the schedule bars.\",\"type\":\"standalone\"},{\"name\":\"NOTMTIME\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Suppresses the display of the time portion of the axis tickmark label when the value of MININTERVAL is DTDAY.\",\"type\":\"standalone\"},{\"name\":\"NOTNLABEL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Suppresses displaying the timenow label. By default, the label is displayed on the bottom border of the chart.\",\"type\":\"standalone\"},{\"name\":\"NOZONECOL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Suppresses displaying the ZONE variable column that is automatically done in the presence of a zone variable.\",\"type\":\"standalone\"},{\"name\":\"NTICKS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"NINCRS=\"],\"description\":\"Specifies the number of tickmarks that should be displayed on the first horizontal page of the Gantt chart.\",\"type\":\"value\"},{\"name\":\"ONEZONEVAL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays the value of the ZONE variable in the ZONE variable column only for activities that begin a new zone. A blank string is displayed for all other activities.\",\"type\":\"standalone\"},{\"name\":\"OVERLAPCH=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"OVLPCHAR=\"],\"description\":\"Indicates the overprint character to be displayed when more than one of the symbols in SYMCHAR='string' or MILECHAR='character' are to be plotted in the same column. The default character is *.\",\"help\":\"OVERLAPCH='*character*'\",\"type\":\"value\"},{\"name\":\"OVPCHAR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Indicates the character to be displayed if one of the variables specified in the CHART statement is to be plotted in the same column as one of the start or finish times.\",\"help\":\"OVPCHAR='*character*'\",\"type\":\"value\"},{\"name\":\"PADDING=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"FINPAD=\"],\"description\":\"Requests that finish times on the chart be increased by one padding unit.\",\"help\":\"PADDING=*padding*\",\"type\":\"value\"},{\"name\":\"PAGELIMIT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"PAGES=\"],\"description\":\"Specifies an upper limit on the number of pages allowed for the Gantt chart. The default value of pages is 100.\",\"help\":\"PAGELIMIT=*pages*\",\"type\":\"value\"},{\"name\":\"PAGENUM\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Numbers the pages of the Gantt chart on the top right-hand corner of the page if the chart exceeds one page. The numbering scheme is from left to right, top to bottom.\",\"type\":\"standalone\"},{\"name\":\"PATLEVEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the different schedule bar levels to fill using the pattern variable. By default, all of the schedule bar levels for an activity are filled using the pattern defined by the PATTERN variable. Note that holiday and non-working days are not filled with this pattern.\",\"help\":\"PATLEVEL=EARLY | LATE | ACTUAL | RESOURCE | BASELINE | ALL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"EARLY\",\"followsDelimiter\":\"/\",\"description\":\"Early/Late schedule durations\",\"type\":\"standalone\"},{\"name\":\"LATE\",\"followsDelimiter\":\"/\",\"description\":\"Early/Late schedule durations\",\"type\":\"standalone\"},{\"name\":\"ACTUAL\",\"followsDelimiter\":\"/\",\"description\":\"Actual schedule durations\",\"type\":\"standalone\"},{\"name\":\"RESOURCE\",\"followsDelimiter\":\"/\",\"description\":\"Resource schedule duration\",\"type\":\"standalone\"},{\"name\":\"BASELINE\",\"followsDelimiter\":\"/\",\"description\":\"Baseline schedule duration\",\"type\":\"standalone\"},{\"name\":\"ALL\",\"followsDelimiter\":\"/\",\"description\":\"All of the above (default)\",\"type\":\"standalone\"}]},{\"name\":\"PATTERN=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"PATVAR=\"],\"description\":\"Specifies an integer variable in the Schedule data set that identifies the pattern for filling the schedule bars and coloring the milestones. The default PATTERN variable name is _PATTERN.\",\"type\":\"value\"},{\"name\":\"PCOMPRESS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies that every output page of the Gantt chart is to be produced maintaining the original aspect ratio of the Gantt chart.\",\"type\":\"standalone\"},{\"name\":\"RBARHT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"SBARHT=\"],\"description\":\"Specifies that the height of the resource-constrained schedule bar be h cellheights. The value of h is restricted to be a positive real number. The default bar height is one cellheight.\",\"type\":\"value\"},{\"name\":\"RBAROFF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"SBAROFF=\"],\"description\":\"Specifies that the resource-constrained schedule bar be offset d cellheights from its default position. A value of zero corresponds to the default position. The direction of increase is from top to bottom.\",\"type\":\"value\"},{\"name\":\"REF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Indicates the position of one or more vertical reference lines on the Gantt chart. The values allowed are constant values.\",\"help\":\"REF=*values*\",\"type\":\"value\"},{\"name\":\"REFCHAR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Indicates the character to display for reference lines.\",\"help\":\"REFCHAR='*character*'\",\"type\":\"value\"},{\"name\":\"REFLABEL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies that the reference lines are to be labeled. The labels are formatted in the same way as the time axis labels and are placed along the bottom border of the Gantt chart at the appropriate points.\",\"type\":\"standalone\"},{\"name\":\"RIGHT\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"RJUST\"],\"description\":\"Displays the Gantt chart right-justified with the right edge of the page. This option is ignored in the presence of the LEFT or LJUST option.\",\"type\":\"standalone\"},{\"name\":\"SCALE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that scale number of columns on the chart represent one unit of mininterval where mininterval is the value of the MININTERVAL= option.\",\"help\":\"SCALE=*scale*\",\"type\":\"value\"},{\"name\":\"SHOWPREC\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Causes PROC GANTT to terminate in the event that a valid AOA or AON specification exists, and an error occurs either in the logic system (memory allocation, data structure creation, and so on) or simply due to bad data (missing values for the ACTIVITY, TAIL, HEAD variables, and so on).\",\"type\":\"standalone\"},{\"name\":\"SKIP=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"S=\"],\"description\":\"Requests that skip number of lines be skipped between the plots of the schedules of two activities. The SKIP= option can take integer values between 0 and 4, inclusive.\",\"help\":\"SKIP=*skip*\",\"type\":\"value\"},{\"name\":\"STRIPIDBLANKS\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"STRIPID\"],\"description\":\"Strips all leading blanks from character ID variables. The default behavior is to preserve any leading blanks.\",\"type\":\"standalone\"},{\"name\":\"SUCCESSOR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"SUCC=\"],\"description\":\"Specifies the variables identifying the names of the immediate successors of the node specified by the ACTIVITY variable.\",\"type\":\"value\"},{\"name\":\"SUMMARY\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that a detailed description of all symbols and patterns used in the Gantt chart be displayed before the first page of the chart.\",\"type\":\"standalone\"},{\"name\":\"SYMCHAR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Defines the symbols to be used for plotting the early start, late start, early finish, late finish, actual start and finish, resource-constrained start and finish, and baseline start and finish times, in that order.\",\"help\":\"SYMCHAR='*string*'\",\"type\":\"value\"},{\"name\":\"S_FINISH=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"SF=\"],\"description\":\"Specifies the variable containing the resource-constrained finish time of each activity in the Schedule data set.\",\"help\":\"S_FINISH=*variable*\",\"type\":\"value\"},{\"name\":\"S_START=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"SS=\"],\"description\":\"Specifies the variable containing the resource-constrained start time of each activity in the Schedule data set.\",\"help\":\"S_START=*variable*\",\"type\":\"value\"},{\"name\":\"TAIL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"TAILNODE=\"],\"description\":\"Specifies the variable in the Schedule data set that contains the name of the node that represents the start of the activity. This option is required when the precedence information is specified using the AOA format. The variable can be either numeric or character in type.\",\"help\":\"TAIL=*variable*\",\"type\":\"value\"},{\"name\":\"TIMEAXISFORMAT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"TAFORMAT=\"],\"description\":\"Specifies formats for up to three rows of time-axis labeling. One time-axis row is displayed for each format specified. The formats control the rows of the time-axis from top to bottom. Missing formats yield a blank row.\",\"type\":\"value\"},{\"name\":\"TIMENOW=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the position for the timenow line on the chart.\",\"help\":\"TIMENOW=*value*\",\"type\":\"value\"},{\"name\":\"TNCHAR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Indicates the character to display for the timenow line. If this option is not used, the letter T is used.\",\"help\":\"TNCHAR='*character*'\",\"type\":\"value\"},{\"name\":\"TOP\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"TJUST\"],\"description\":\"Positions the top of the Gantt chart at the top of the page, just below the titles. This option has priority over the BOTTOM or BJUST option.\",\"type\":\"standalone\"},{\"name\":\"USEFORMAT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies that the tickmark labels of the Gantt chart axis are to be displayed using the format associated with the first plot variable appearing in the order E_START=, E_FINISH=, L_START=, L_FINISH=, A_START=, A_FINISH=, S_START=, S_FINISH=, B_START=, B_FINISH=.\",\"type\":\"standalone\"},{\"name\":\"VMILE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies a plot symbol from the font specified in the FMILE= option to be used as the milestone symbol on the chart.\",\"help\":\"VMILE=*value*\",\"type\":\"value\"},{\"name\":\"VPAGES=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies that the Gantt chart is to be produced using v vertical pages.\",\"help\":\"VPAGES=*v*\",\"type\":\"value\"},{\"name\":\"WEB=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"HTML=\"],\"description\":\"Specifies the character variable in the schedule data set that identifies an HTML page for each activity.\",\"help\":\"WEB=*variable*\",\"type\":\"value\"},{\"name\":\"WPREC=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the line width to use for drawing the precedence connections. The default width is 1.\",\"help\":\"WPREC=*linewidth*\",\"type\":\"value\"},{\"name\":\"WTNOW=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the line width to use for drawing the timenow line. The default width is 4.\",\"help\":\"WTNOW=*linewidth*\",\"type\":\"value\"},{\"name\":\"WZONE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"WZLINE=\"],\"description\":\"Specifies the line width to use for drawing the horizontal zone lines which demarcate the different zones on the chart. The default linewidth is 1.\",\"type\":\"value\"},{\"name\":\"ZONE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"ZONEVAR=\"],\"description\":\"Names the variable in the Schedule data set that is used to separate the Gantt chart into zones.\",\"type\":\"value\"},{\"name\":\"ZONEOFF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"ZONEOFFSET=\"],\"description\":\"Specifies the offset in cellheights of the zone line from its default position of 0.5 cell height above the top of the first schedule bar for the first activity in the zone. The default value of d is 0. The direction of increase is from top to bottom.\",\"type\":\"value\"},{\"name\":\"ZONESPAN=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"ZONELINE=\"],\"description\":\"Specifies the span of the horizontal zone line that is drawn at the beginning of each new zone.\",\"help\":\"ZONESPAN=LEFT | RIGHT | ALL | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"LEFT\",\"followsDelimiter\":\"/\",\"description\":\"Draws a line that spans the width of the columns of text that appear on the left hand side of the Gantt chart.\",\"type\":\"standalone\"},{\"name\":\"RIGHT\",\"followsDelimiter\":\"/\",\"description\":\"Draws a line that spans the width of the axis area which appears on the right-hand side of the chart.\",\"type\":\"standalone\"},{\"name\":\"ALL\",\"followsDelimiter\":\"/\",\"description\":\"Draws a line spanning both the preceding regions.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"followsDelimiter\":\"/\",\"description\":\"Suppresses the line altogether.\",\"type\":\"standalone\"}]}]},{\"name\":\"ID\",\"description\":\"The ID statement specifies the variables to be displayed that further identify each activity. If two or more consecutive observations have the same combination of values for all the ID variables, only the first of these observations is plotted unless the DUPOK option is specified in the CHART statement.\",\"help\":\"ID variables \"}],\"supportSiteInformation\":{\"docsetId\":\"orpmug\",\"docsetVersion\":\"latest\",\"docsetTargetFile\":\"orpmug_gantt_toc.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/GATEWAY.json",
    "content": "{\"name\":\"GATEWAY\",\"statements\":[{\"name\":\"PROC GATEWAY\",\"description\":\"The GATEWAY procedure runs code that was written in another language such as Python or R\",\"help\":\"PROC GATEWAY &lt;*proc-options*&gt;;ARGS &lt;*options*&gt;;OPTS &lt;*options*&gt;;SUBMIT ;ENDSUBMIT ;\",\"arguments\":[{\"name\":\"CODE_FILE=\",\"optional\":true,\"description\":\"specifies the path to a file to be parsed and sent to the Python or R client. This argument is ignored if you use the SUBMIT and ENDSUBMIT statements.\",\"help\":\" CODE_FILE=*\\\"string\\\"*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n198az7ynlnpw8n1vc5wc3rpeojv\"},{\"name\":\"LANG=\",\"optional\":true,\"description\":\"specifies the language engine to be called.\",\"help\":\"LANG=PYTHON | PY | R\",\"type\":\"choice\",\"arguments\":[{\"name\":\"PYTHON\",\"type\":\"standalone\"},{\"name\":\"PY\",\"type\":\"standalone\"},{\"name\":\"R\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"p1vzq2pjzdk12mn1p5ld1qiq0c7d\"},{\"name\":\"SINGLE\",\"optional\":true,\"description\":\"specifies to restrict the code execution to a single session in a single thread.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0loqg9h1x3lzvn1bfxglvcf8qds\"},{\"name\":\"NTHREADS=\",\"optional\":true,\"description\":\"specifies the number of threads that are used to run the program. For distributed servers, this value specifies the number of threads on each worker to use for running the program. Leave this value unspecified or set to -1 to use all available threads.\",\"help\":\"NTHREADS=*integer*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1gxllrw3zhoqbn14r43plb4weoh\"}],\"supportSiteTargetFile\":\"p1d4q73ovkly1on1uvg0qfzndd6s.htm\"},{\"name\":\"ARGS\",\"description\":\"Specifies a key pair list of arguments that is passed to the Open Source language.\",\"help\":\"ARGS &lt;*options*&gt;\",\"arguments\":[{\"name\":\"KEY=\",\"optional\":true,\"aliases\":[\"K\"],\"description\":\"specifies the key name of the argument list.\",\"help\":\"KEY=*\\\"string\\\"*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0rea4sg4cv4ljn13jims54czwwh\"},{\"name\":\"NUMVAL=\",\"optional\":true,\"aliases\":[\"NVAL\",\"NUM\",\"N\"],\"description\":\"specifies numeric argument value.\",\"help\":\"NUMVAL=*number*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0e9qrxqmtvn1rn15vnfbp6bvrc9\"},{\"name\":\"STRVAL=\",\"optional\":true,\"aliases\":[\"SVAL\",\"STR\",\"S\"],\"description\":\"specifies the string argument value.\",\"help\":\"STRVAL=*\\\"string\\\"*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1ritpn3epgd5un1gmjtlu6bcggo\"}],\"supportSiteTargetFile\":\"n0a3b2pt0h1bafn1763msxufo8lv.htm\"},{\"name\":\"OPTS\",\"description\":\"Runs code that was written in another language such as Python or R.\",\"help\":\" OPTS &lt;options&gt; ; \",\"arguments\":[{\"name\":\"JITTER_TIMEOUT_MILLIS=\",\"optional\":true,\"description\":\"specifies the maximum variance between thread synchronization. Higher values are recommended when one thread or session has more work than another. Set to -1 for no synchronization time out.\",\"help\":\"JITTER_TIMEOUT_MILLIS=*integer*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1jsehth3ncnqln1gvu2vgvifrlh\"},{\"name\":\"TIMEOUT_MILLIS=\",\"optional\":true,\"description\":\"specifies the maximum idle time out to time out when waiting for the external lang code written in the other language to be executed.\",\"help\":\"TIMEOUT_MILLIS=*integer*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1rl795mb4wh9nn1xw7n6qmldh0a\"},{\"name\":\"LOG_LEVEL=\",\"optional\":true,\"description\":\"specifies the log level.\",\"help\":\"LOG_LEVEL=DEBUG | FATAL | WARN | INFO | NOTSET | ERROR\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DEBUG\",\"type\":\"standalone\"},{\"name\":\"FATAL\",\"type\":\"standalone\"},{\"name\":\"WARN\",\"type\":\"standalone\"},{\"name\":\"INFO\",\"type\":\"standalone\"},{\"name\":\"NOTSET\",\"type\":\"standalone\"},{\"name\":\"ERROR\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"p0nu1joeyj7xukn1lwkk9sqq93d4\"}],\"supportSiteTargetFile\":\"n0p95ky6kodxsqn10o8qtbesyk2g.htm\"},{\"name\":\"SUBMIT\",\"description\":\"Identifies the beginning of a block of Python or R code. Enter Python or R statements between the SUBMIT and ENDSUBMIT statements.\",\"help\":\"SUBMIT; \",\"supportSiteTargetFile\":\"p0480vosec1eqen1jryrwl092czf.htm\"},{\"name\":\"ENDSUBMIT\",\"description\":\"Identifies the end of a block of Python or R statements.\",\"help\":\"ENDSUBMIT ;\",\"supportSiteTargetFile\":\"n1u2ibfsjkd98yn1at7emhfarbxh.htm\"}],\"supportSiteInformation\":{\"docsetId\":\"proc\",\"docsetVersion\":\"v_002\",\"docsetTargetFile\":\"n19qocxj5lfcann12h7w3fvneguc.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/GBARLINE.json",
    "content": "{\"name\":\"GBARLINE\",\"statements\":[{\"name\":\"PROC GBARLINE\",\"description\":\"Identifies the data set containing the chart and response variables. Can specify an annotate data set.\",\"help\":\"PROC GBARLINE DATA=input-data-set\\n<ANNOTATE=Annotate-data-set>\\n<IMAGEMAP=output-data-set>\\n<UNIFORMAXES>;\\n\\tBAR bar-variable</                         options>;\\n\\n\\t<PLOT  –1</                            options>><;PLOT –2</                            options> ...>;\\n\\n\\tATTRIB  variable-list(s) attribute-list(s);\\n\\n\\tBY <DESCENDING>variable-1\\n\\t\\t< ...\\n                        <DESCENDING>\\n                        variable-n>\\n\\t\\t<NOTSORTED>;\\n\\n\\tFORMAT variable-1< ...variable-n><format-1><variable-1< ...variable-n><format-2>> ...<DEFAULT=default-format>;\\n\\n\\tLABEL variable-1=label-1 | ' '<variable-n=label-n | ' '> ...;\\n\\n\\tNOTE <text-arguments(s)>;\\n\\n\\tQUIT ;\\n\\n\\tWHERE where-expression;\\n\",\"arguments\":[{\"name\":\"DATA=\",\"description\":\"specifies the SAS data set that contains the variable or variables to chart. If not specified, an input data set must have been created before issuing the PROC GBARLINE statement.\",\"help\":\"DATA=*input-data-set*\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"n1hpllqjwugdrun10ievivcqq4sg\"},{\"name\":\"ANNOTATE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"ANNO=\"],\"description\":\"specifies a data set to annotate all graphs that are produced by the GBARLINE procedure.\",\"help\":\"ANNOTATE=*Annotate-data-set*\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"n141327msgopzbn1hnlm38g1m11f\"},{\"name\":\"IMAGEMAP=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"creates a temporary SAS data set that is used to generate an image map.\",\"help\":\"IMAGEMAP=*output-data-set*\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"p0hh203ht4wts3n1n3mp9g8fkm04\"},{\"name\":\"UNIFORMAXES\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"generates identical scales automatically on both the bar and plot axes.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1jatkcs9eznv0n1fxyhiaqxils5\"}],\"supportSiteTargetFile\":\"n13mccyofsajm6n144xrbb8r7jak.htm\"},{\"name\":\"BAR\",\"description\":\"Creates vertical bar charts in which the height of the bars represents the value of the bar statistic for each category of data.\",\"help\":\"BAR *chart-variable*&lt;/                            *options*&gt;;\",\"arguments\":[{\"name\":\"chart-variable\",\"placeholder\":true,\"description\":\"specifies the variable that defines the categories of data to chart. The variable must be in the input data set.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1w03jwcr51jlqn14cld2jtvr1uw\"},{\"name\":\"ANNOTATE=\",\"optional\":true,\"aliases\":[\"ANNO=\"],\"description\":\"specifies a data set to annotate all graphs that are produced by the GBARLINE procedure.\",\"help\":\"ANNOTATE=*Annotate-data-set*\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"n141327msgopzbn1hnlm38g1m11fa\"},{\"name\":\"ASCENDING\",\"optional\":true,\"description\":\"arranges the bars in ascending order of the value of the bar statistic.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0wki1t5h5asjen1pe39qhso6lp4\"},{\"name\":\"AUTOREF\",\"optional\":true,\"description\":\"draws a reference line at each major tick mark on the bar (left) response axis.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0lkjng0qh7jlln136zgd4ac00lr\"},{\"name\":\"AXIS=\",\"optional\":true,\"description\":\"specifies values for the major tick marks or assigns specified global AXIS definitions to the axis.\",\"help\":\"AXIS=AXIS&lt;*1* ...*99*&gt;\",\"type\":\"standaloneOrValue\",\"supportSiteTargetFragment\":\"p0z1oyititfr32n173gyx36totss\"},{\"name\":\"CAUTOREF=\",\"optional\":true,\"description\":\"specifies the color of reference lines drawn at major tick marks, as determined by the AUTOREF option.\",\"help\":\"CAUTOREF=*reference-line-color*\",\"type\":\"color\",\"supportSiteTargetFragment\":\"n1gfhmdaqs296fn1fr8jqdjcnchq\"},{\"name\":\"CAXIS=\",\"optional\":true,\"description\":\"specifies a color for the response and midpoint axis lines and for the default axis area frame.\",\"help\":\"CAXIS=*axis-color*\",\"type\":\"color\",\"supportSiteTargetFragment\":\"p081xitoxajtpyn18k0xx0g2pp9p\"},{\"name\":\"CERROR=\",\"optional\":true,\"description\":\"specifies the color of error bars.\",\"help\":\"CERROR=*error-bar-color*\",\"type\":\"color\",\"supportSiteTargetFragment\":\"n110xz3yezp2v6n14g5zolukwzld\"},{\"name\":\"CFRAME=\",\"optional\":true,\"aliases\":[\"CFR=\"],\"description\":\"specifies the color with which to fill the axis area.\",\"help\":\"CFRAME=*background-color*\",\"type\":\"color\",\"supportSiteTargetFragment\":\"n0rlsc224uue4xn16d3wkt7bpere\"},{\"name\":\"CFREQ\",\"optional\":true,\"description\":\"displays the cumulative frequency statistic above the bars.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1ovb53txzl2r5n16g45zd8ce0gv\"},{\"name\":\"CLIPREF\",\"optional\":true,\"description\":\"clips the reference lines at the bars.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1g5g3mbi6jeoan1xg6kn6eguk4o\"},{\"name\":\"CLM=\",\"optional\":true,\"description\":\"specifies the confidence intervals to use when drawing error bars.\",\"help\":\"CLM=*confidence-level*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0gh1c8mq7cdu4n1tdk5p1m749c1\"},{\"name\":\"COUTLINE=\",\"optional\":true,\"aliases\":[\"CO=\"],\"description\":\"outlines all bars or bar segments and legend values in the subgroup legend (if it appears) using the specified color.\",\"help\":\"COUTLINE=*bar-outline-color* | SAME\",\"type\":\"choice\",\"arguments\":[{\"name\":\"bar-outline-color\",\"placeholder\":true,\"type\":\"color\"},{\"name\":\"SAME\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"n0n1deja5yujjkn19r2abuz051c5\"},{\"name\":\"CPERCENT\",\"optional\":true,\"aliases\":[\"CPCT\"],\"description\":\"displays the cumulative percentage statistic above the bars.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0eax789xgqnz7n1powuvxzrtgp0\"},{\"name\":\"CREF=\",\"optional\":true,\"aliases\":[\"CR=\"],\"description\":\"specifies colors for reference lines.\",\"help\":\"CREF=*reference-line-color* | (*reference-line-color*) | (*reference-line-color-list*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"reference-line-color\",\"placeholder\":true,\"type\":\"color\"},{\"name\":\"(reference-line-color)\",\"placeholder\":true,\"type\":\"color\"},{\"name\":\"(reference-line-color-list)\",\"placeholder\":true,\"type\":\"color\"}],\"supportSiteTargetFragment\":\"p1t968bzzk8wi9n1qsiy0oe8u553\"},{\"name\":\"CTEXT=\",\"optional\":true,\"aliases\":[\"CT=\"],\"description\":\"specifies a color for all text on the axes and legend.\",\"help\":\"CTEXT=*text-color*\",\"type\":\"color\",\"supportSiteTargetFragment\":\"n05t0b5yo6h3ben1x1d2xzgr5q0m\"},{\"name\":\"DESCENDING\",\"optional\":true,\"description\":\"arranges the bars in descending order of the value of the chart statistic.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0msdj517seihen1l3bjkb066k8y\"},{\"name\":\"DESCRIPTION=\",\"optional\":true,\"aliases\":[\"DES=\"],\"description\":\"specifies a description of the output.\",\"help\":\"DESCRIPTION=\\\"*description*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0u0iyptb1g7iln1m7lr999ki9qf\"},{\"name\":\"DISCRETE\",\"optional\":true,\"description\":\"treats a numeric chart variable as a discrete variable rather than as a continuous variable.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1dtwr38kq1sgxn118u4xf7dbkdg\"},{\"name\":\"ERRORBAR=\",\"optional\":true,\"description\":\"draws confidence intervals dependent on the statistic type.\",\"help\":\"ERRORBAR=BARS | BOTH | TOP\",\"type\":\"choice\",\"arguments\":[{\"name\":\"BARS\",\"description\":\"draws error bars as bars half the width of the main bars.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0b3x3ji1tgs4wn1cfrss68636qi\"},{\"name\":\"BOTH\",\"description\":\"draws error bars as two ticks joined by a line (default).\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1xbg6fya64irwn1vdz9ikl7el6w\"},{\"name\":\"TOP\",\"description\":\"draws the error bar as a tick for the upper confidence limit that is joined to the top of the bar by a line.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n06wl15xcub1hsn1e57qjq8c9nuz\"}],\"supportSiteTargetFragment\":\"n1a0ivhbolh5hmn1c8ypkq8pca8s\"},{\"name\":\"FRAME\",\"optional\":true,\"aliases\":[\"FR | NOFR\"],\"description\":\"specifies whether the axis area frame is drawn.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p13g6a337u003en1vl4vvhuyoueg\"},{\"name\":\"NOFRAME\",\"optional\":true,\"aliases\":[\"FR | NOFR\"],\"description\":\"specifies whether the axis area frame is drawn.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p13g6a337u003en1vl4vvhuyoueg\"},{\"name\":\"FREQ\",\"optional\":true,\"description\":\"displays the frequency statistic above the bars.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0fjl06o484e0qn1xv4aaxj7ox5h\"},{\"name\":\"FREQ=\",\"optional\":true,\"description\":\"specifies a variable whose values weight the contribution of each observation in the computation of the chart statistic.\",\"help\":\"FREQ=*numeric-variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n17v74tei8fixwn1nulhhupjood8\"},{\"name\":\"HTML=\",\"optional\":true,\"description\":\"identifies the variable in the input data set whose values create links or data tips or both.\",\"help\":\"HTML=*variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1oqdftiy2y4lun1cle8fa4wgyxm\"},{\"name\":\"HTML_LEGEND=\",\"optional\":true,\"description\":\"identifies the variable in the input data set whose values create links or data tips or both.\",\"help\":\"HTML_LEGEND=*variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0n5w70myba3q9n18mtkawl3x7jk\"},{\"name\":\"INSIDE=\",\"optional\":true,\"description\":\"displays the values of the specified statistic inside the bars.\",\"help\":\"INSIDE=*statistic*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0nlwv265pusren1mxvu0be6ebod\"},{\"name\":\"LAUTOREF=\",\"optional\":true,\"description\":\"specifies the line type for reference lines at major tick marks, as determined by the AUTOREF option.\",\"help\":\"LAUTOREF=*reference-line-type*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n04xkg2kkbo84sn1lx2lb2lmrtgp\"},{\"name\":\"LEGEND=\",\"optional\":true,\"description\":\"assigns the specified global LEGEND definition to the plot part of the graph.\",\"help\":\"LEGEND=LEGEND&lt;*1* ...*99*&gt;\",\"type\":\"standaloneOrValue\",\"supportSiteTargetFragment\":\"n0dwah2kc4hyf6n11tfhmbl92hz5\"},{\"name\":\"LEVELS=\",\"optional\":true,\"description\":\"specifies the number of midpoints to be graphed for the chart variable.\",\"help\":\"LEVELS=*number-of-midpoints* | ALL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"number-of-midpoints\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"ALL\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"p0y9bxoi82m5xzn12buhku2ziin9\"},{\"name\":\"LREF=\",\"optional\":true,\"description\":\"specifies line types for reference lines.\",\"help\":\"LREF=*reference-line-type* | (*reference-line-type*) | (*reference-line-type-list*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"reference-line-type\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(reference-line-type)\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(reference-line-type-list)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"n0262oqjoj6l0kn11mbqxi8tm25a\"},{\"name\":\"MAXIS=\",\"optional\":true,\"description\":\"assigns the specified global AXIS definition to the midpoint axis.\",\"help\":\"MAXIS=AXIS&lt;*1* ...*99*&gt;\",\"type\":\"standaloneOrValue\",\"supportSiteTargetFragment\":\"p0f5gkmmoxk27fn1hy7x88bgqsvr\"},{\"name\":\"MEAN\",\"optional\":true,\"description\":\"displays the mean statistic above the bars.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0b87lyxecj5spn1f8sq90t0ttm0\"},{\"name\":\"MIDPOINTS=\",\"optional\":true,\"description\":\"specifies the midpoint values for the bars\",\"help\":\"MIDPOINTS=*value-list*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0ocuji9t85nrzn18tloaodziel8\"},{\"name\":\"MIDPOINTS=\",\"optional\":true,\"description\":\"generates default midpoints\",\"help\":\"MIDPOINTS=OLD\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p04bb53qa5iqbrn17895wq8fbrrv\"},{\"name\":\"MINOR=\",\"optional\":true,\"description\":\"specifies the number of minor tick marks between each major tick mark on the bar response axis.\",\"help\":\"MINOR=*number-of-minor-ticks*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0sts6wu4oaxazn1kh3crpz4xm41\"},{\"name\":\"MISSING\",\"optional\":true,\"description\":\"accepts a missing value as a valid midpoint for the chart variable.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1llw8uaz4vsq8n1c8x7yj335d8b\"},{\"name\":\"NAME=\",\"optional\":true,\"description\":\"specifies the name of the GRSEG catalog entry and the name of the graphics output file, if one is created.\",\"help\":\"NAME=\\\"*name*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n04xyngbch9cgin1j57p625no8mg\"},{\"name\":\"NOAXIS\",\"optional\":true,\"description\":\"suppresses the left BAR response axis and displays the midpoint and right PLOT axes.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p072x2fy79ftakn1p02adox1ggde\"},{\"name\":\"NOBASEREF\",\"optional\":true,\"description\":\"suppresses the zero reference line when the SUM or MEAN bar statistic has negative values.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n01lixyz01u189n16x7luvonzhd3\"},{\"name\":\"NOLEGEND\",\"optional\":true,\"description\":\"suppresses the legend generated by the LEGEND= option.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p08den1u0j343pn1ujzj9qdgff16\"},{\"name\":\"NOZERO\",\"optional\":true,\"description\":\"suppresses any midpoints for which there are no corresponding values of the chart variable and, hence, no bar.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0csl37gnmhepqn10k41dhn2prqy\"},{\"name\":\"OUTSIDE=\",\"optional\":true,\"description\":\"displays the values of the specified statistic above the bars.\",\"help\":\"OUTSIDE=*statistic*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1jmg81hwz8ac0n1bopgmf6ho88f\"},{\"name\":\"PATTERNID=\",\"optional\":true,\"description\":\"specifies how fill patterns are assigned.\",\"help\":\"PATTERNID=BY | MIDPOINT | SUBGROUP\",\"type\":\"choice\",\"arguments\":[{\"name\":\"BY\",\"description\":\"changes patterns each time the value of the BY variable changes. All bars use the same pattern if the GBARLINE procedure does not include a BY statement.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1uhe5fby2nkk0n1oe725vqtecwh\"},{\"name\":\"MIDPOINT\",\"description\":\"changes patterns every time the midpoint value changes.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n18ikxhzxhrbdxn1kj6pkgl2y80v\"},{\"name\":\"SUBGROUP\",\"description\":\"changes patterns every time the value of the subgroup variable changes. The bars must be subdivided by the SUBGROUP= option for the SUBGROUP value to have an effect. Without the SUBGROUP= option, all bars have the same pattern.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p18jp2p7b2r22in18ablhz2wh7pc\"}],\"supportSiteTargetFragment\":\"n1xezuv3dm6h4cn130iql6rqiplw\"},{\"name\":\"PERCENT\",\"optional\":true,\"aliases\":[\"PCT\"],\"description\":\"displays the percentages of observations having a given value for the bar variable above the bars.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0dxmphd9q8lf3n1sperwpfznjv5\"},{\"name\":\"RANGE\",\"optional\":true,\"description\":\"displays on the axis of the chart the range of numeric values represented by each bar.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0ymbz39kum21un1vtt9a8n4h4i8\"},{\"name\":\"RAXIS=\",\"optional\":true,\"description\":\"specifies values for the major tick mark divisions on the response axis or assigns the specified global AXIS definition to the axis.\",\"help\":\"RAXIS=*value-list* | AXIS&lt;*1* ...*99*&gt;\",\"type\":\"choice\",\"arguments\":[{\"name\":\"value-list\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"AXIS\",\"type\":\"standaloneOrValue\"}],\"supportSiteTargetFragment\":\"p0t79rrcjyjy8bn1b0abz9yewzyf\"},{\"name\":\"REF=\",\"optional\":true,\"description\":\"draws reference lines at the specified points on the chart response axis.\",\"help\":\"REF=*value* | (*value*) | (*value-list*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"value\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(value)\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(value-list)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"n0yfnbyrhk5ovkn1xdkorkdmcz2l\"},{\"name\":\"SPACE=\",\"optional\":true,\"description\":\"specifies the amount of space between individual bars along the midpoint axis.\",\"help\":\"SPACE=*bar-spacing*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1dgei0dcahjctn1rcao54xuooc0\"},{\"name\":\"STATFMT=\",\"optional\":true,\"aliases\":[\"SFMT=, SFORMAT=, STATFORMAT=\"],\"description\":\"overrides the GBARLINE default format of the displayed statistical value.\",\"help\":\"STATFMT=*format-specification*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0x3yqy085ck8hn1l8xcqxi20ubg\"},{\"name\":\"SUBGROUP=\",\"optional\":true,\"description\":\"divides the bars into segments according to the values of subgroup-variable.\",\"help\":\"SUBGROUP=*subgroup-variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0qq8l7jquwovrn118a6ruhzb2nf\"},{\"name\":\"SUM\",\"optional\":true,\"description\":\"displays the sum statistic above the bars.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0ozicfults0jxn15tzwad8vy1bv\"},{\"name\":\"SUMVAR=\",\"optional\":true,\"description\":\"specifies a numeric variable for sum or mean calculations.\",\"help\":\"SUMVAR=*numeric-variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0uk580k8acr7an16j4d4kaglqkk\"},{\"name\":\"TYPE=\",\"optional\":true,\"description\":\"specifies the chart statistic.\",\"help\":\"TYPE=*statistic*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1m1k5erymp6e6n1699snshlq360\"},{\"name\":\"URL=\",\"optional\":true,\"description\":\"specifies a character variable whose values are URLs.\",\"help\":\"URL=*character-variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0emvev9azpa2rn1h8f5ek3w3p2m\"},{\"name\":\"WAUTOREF=\",\"optional\":true,\"description\":\"specifies the line width for reference lines at major tick marks, as determined by the AUTOREF option.\",\"help\":\"WAUTOREF=*reference-line-width*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1u50u6819cn9an1v9s0qdvx7nyg\"},{\"name\":\"WIDTH=\",\"optional\":true,\"description\":\"specifies the width of the bars.\",\"help\":\"WIDTH=*bar-width*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0ngo1wfhlezmxn19f43kvuuqo2n\"},{\"name\":\"WOUTLINE=\",\"optional\":true,\"description\":\"specifies the width of the bar outline in pixels.\",\"help\":\"WOUTLINE=*bar-outline-width*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1txt1o8gyzx4nn1fw7pywz63e6u\"},{\"name\":\"WREF=\",\"optional\":true,\"description\":\"specifies line widths for reference lines.\",\"help\":\"WREF=*reference-line-width* | (*reference-line-width*) | (*reference-line-width-list*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"reference-line-width\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(reference-line-width)\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(reference-line-width-list)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p0cu6fa6bfw68sn1f36s894yssn1\"}],\"supportSiteTargetFile\":\"p12jvfw42yelpun1hzx17lv0qx54.htm\"},{\"name\":\"PLOT\",\"description\":\"Creates one or more plot overlays on top of the bar-line chart.\",\"help\":\"PLOT </                            options(s)>;\\n\\t<PLOT  –1</                                  options>><;PLOT –2</                                  options> ...>;\\n\",\"arguments\":[{\"name\":\"ASCENDING\",\"optional\":true,\"description\":\"joins the plot points in ascending order of the value of the plot statistic.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0tonpm50r4xc4n17pvsldnizcwd\"},{\"name\":\"AUTOREF\",\"optional\":true,\"description\":\"draws a reference line at each major tick mark on the plot (right) response axis.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p13c52a7oev4knn1hr5dxdhc8r85\"},{\"name\":\"AXIS=\",\"optional\":true,\"description\":\"specifies values for the major tick marks or assigns specified global AXIS definitions to the axis.\",\"help\":\"AXIS=*value-list* | AXIS&lt;*1* ...*99*&gt;\",\"type\":\"choice\",\"arguments\":[{\"name\":\"value-list\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"AXIS\",\"type\":\"standaloneOrValue\"}],\"supportSiteTargetFragment\":\"n05d6z3b6ttsxrn1ocp7hd1josmh\"},{\"name\":\"CAUTOREF=\",\"optional\":true,\"description\":\"specifies the color of reference lines drawn at major tick marks, as determined by the AUTOREF option.\",\"help\":\"CAUTOREF=*reference-line-color*\",\"type\":\"color\",\"supportSiteTargetFragment\":\"p0u6r1hh2e6ttpn1esdfmhahcvnk\"},{\"name\":\"CAXIS=\",\"optional\":true,\"description\":\"specifies a color for the tick marks and for the axis area frame on the plot (right) response axis.\",\"help\":\"CAXIS=*axis-color*\",\"type\":\"color\",\"supportSiteTargetFragment\":\"p1bxt5p3iq1culn1u8igpoezcfyx\"},{\"name\":\"CFREQ\",\"optional\":true,\"description\":\"displays the cumulative frequency statistic above each plot data point.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0k06ovk4nsf0xn1sze2qhzh8702\"},{\"name\":\"CLIPREF\",\"optional\":true,\"description\":\"clips the reference lines at the bars.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p14243fart1xinn1sn9mzmkpvfit\"},{\"name\":\"CPERCENT\",\"optional\":true,\"aliases\":[\"CPCT\"],\"description\":\"displays the cumulative percentage statistic above each plot data point.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0x32goiigjoc7n1v5qcfaru3m28\"},{\"name\":\"CREF=\",\"optional\":true,\"aliases\":[\"CRF=\"],\"description\":\"specifies colors for reference lines.\",\"help\":\"CREF=*reference-line-color* | (*reference-line-color*) | (*reference-line-color-list*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"reference-line-color\",\"placeholder\":true,\"type\":\"color\"},{\"name\":\"(reference-line-color)\",\"placeholder\":true,\"type\":\"color\"},{\"name\":\"(reference-line-color-list)\",\"placeholder\":true,\"type\":\"color\"}],\"supportSiteTargetFragment\":\"n1hwr2z7k5j3y1n18vd3o4n45jhl\"},{\"name\":\"CTEXT=\",\"optional\":true,\"aliases\":[\"CT=\"],\"description\":\"specifies a color for all text on the plot response axis and legend.\",\"help\":\"CTEXT=*text-color*\",\"type\":\"color\",\"supportSiteTargetFragment\":\"n1j4z0vu9a5nwtn184q4fwk5o4gp\"},{\"name\":\"DESCENDING\",\"optional\":true,\"description\":\"joins the plot points in descending order of the value of the plot statistic.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0lt3l623nm21on1xf2adk6udkw0\"},{\"name\":\"FREQ\",\"optional\":true,\"description\":\"displays the frequency statistic above each plot data point.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p15fvoro93znoqn1ea3t9lt2v34i\"},{\"name\":\"FREQ=\",\"optional\":true,\"description\":\"specifies a variable whose values weight the contribution of each observation in the computation of the plot statistic.\",\"help\":\"FREQ=*numeric-variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n125rk6hf1kz2jn1hxs85aunq76h\"},{\"name\":\"HTML=\",\"optional\":true,\"description\":\"identifies the variable in the input data set whose values create links or data tips or both.\",\"help\":\"HTML=*variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n048fpwbsa5cptn1c35vet6s15tj\"},{\"name\":\"HTML_LEGEND=\",\"optional\":true,\"description\":\"identifies the variable in the input data set whose values create links or data tips or both.\",\"help\":\"HTML_LEGEND=*variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0j2geaytw1d2nn1paqi2lmh5x1e\"},{\"name\":\"LAUTOREF=\",\"optional\":true,\"description\":\"specifies the line type for reference lines at major tick marks, as determined by the AUTOREF option.\",\"help\":\"LAUTOREF=*reference-line-type*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0qbbke8ckbuzdn1esls5am58s66\"},{\"name\":\"LEGEND=\",\"optional\":true,\"description\":\"generates a legend and assigns the specified global LEGEND definition to the legend.\",\"help\":\"LEGEND=LEGEND&lt;*1* ...*99*&gt;\",\"type\":\"standaloneOrValue\",\"supportSiteTargetFragment\":\"n0wuyue13n6o66n18um87kfeh5ux\"},{\"name\":\"LREF=\",\"optional\":true,\"aliases\":[\"LR=\"],\"description\":\"specifies line types for reference lines.\",\"help\":\"LREF=*reference-line-type* | (*reference-line-type*) | (*reference-line-type-list*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"reference-line-type\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(reference-line-type)\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(reference-line-type-list)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p0w5wja9s29v8tn1jmr2qe7wdf39\"},{\"name\":\"MEAN\",\"optional\":true,\"description\":\"displays the mean statistic above each plot data point.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0vy0o0a5si03kn12yr4kiyil0yp\"},{\"name\":\"MINOR=\",\"optional\":true,\"description\":\"specifies the number of minor tick marks that are drawn between each major tick mark on the PLOT response axis.\",\"help\":\"MINOR=*number-of-minor-ticks*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1jpdss7j7mtg0n1drljuty13i25\"},{\"name\":\"NOAXIS\",\"optional\":true,\"aliases\":[\"NOAXES\"],\"description\":\"suppresses the right PLOT response axis and displays the midpoint and left BAR axes.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1hyeen3rcmf4ln19sgms933sxzi\"},{\"name\":\"NOLINE\",\"optional\":true,\"description\":\"suppresses the line connecting the PLOT symbols\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0vik17yozpancn1n6m3xapbfra2\"},{\"name\":\"NOMARKER\",\"optional\":true,\"description\":\"suppresses drawing the marker symbol.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0cq28oy5eh3lgn1xnf7m2clpm64\"},{\"name\":\"PERCENT\",\"optional\":true,\"aliases\":[\"PCT\"],\"description\":\"displays the percentages of observations that have a given value for the plot variable above each plot data point.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p00akegkamqev1n1w36nd6ksw81j\"},{\"name\":\"RAXIS=\",\"optional\":true,\"description\":\"specifies the major tick mark values for the PLOT (right) response axis or assigns a global AXIS definition.\",\"help\":\"RAXIS=value-list | \\n                        AXIS<1 ...99>\",\"type\":\"choice\",\"arguments\":[{\"name\":\"value-list\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"AXIS\",\"type\":\"standaloneOrValue\"}],\"supportSiteTargetFragment\":\"p1s82wyykx8ixrn1pij21c1u1d20\"},{\"name\":\"REF=\",\"optional\":true,\"description\":\"draws reference lines at the specified points using the chart response axis.\",\"help\":\"REF=*value* | (*value*) | (*value-list*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"value\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(value)\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(value-list)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"n1u6agg1v39qs4n1h65z0shjtvqs\"},{\"name\":\"STATFMT=\",\"optional\":true,\"aliases\":[\"SFMT=, SFORMAT=, STATFORMAT=\"],\"description\":\"overrides the GBARLINE default format of the displayed statistical value.\",\"help\":\"STATFMT=*format-specification*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0b08nmi96ctlgn1718iezviykjp\"},{\"name\":\"SUM\",\"optional\":true,\"description\":\"displays the sum statistic above each plot data point.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1sd2npkm59tl1n1ahw38udvel4m\"},{\"name\":\"SUMVAR=\",\"optional\":true,\"description\":\"specifies the variable to plot.\",\"help\":\"SUMVAR=*plot-variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0bvflwyolq28zn1w7goroa5qc0e\"},{\"name\":\"TYPE=\",\"optional\":true,\"description\":\"specifies the plot statistic.\",\"help\":\"TYPE=*statistic*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0mdd8t2s139tcn1abtr4ekaj2ic\"},{\"name\":\"URL=\",\"optional\":true,\"description\":\"specifies a character variable whose values are URLs.\",\"help\":\"URL=*character-variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0n59gaxb6mcjhn11w8yjwfpkvln\"},{\"name\":\"WAUTOREF=\",\"optional\":true,\"description\":\"specifies the line width for reference lines at major tick marks, as determined by the AUTOREF option.\",\"help\":\"WAUTOREF=*reference-line-width*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0eywfmusqweasn1596wzluct7mu\"},{\"name\":\"WREF=\",\"optional\":true,\"description\":\"specifies line widths for reference lines.\",\"help\":\"WREF=*reference-line-width* | (*reference-line-width*) | (*reference-line-width-list*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"reference-line-width\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(reference-line-width)\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(reference-line-width-list)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p1j79l6yb23bxmn177wykgd5d105\"}],\"supportSiteTargetFile\":\"p0nkmc36l7fvg1n1ar565q0w2xho.htm\"},{\"name\":\"ATTRIB\",\"description\":\"Associates a format, informat, label, and length with one or more variables.\",\"help\":\"ATTRIB  *variable-list(s)**attribute-list(s)*;\",\"arguments\":[{\"name\":\"variable-list\",\"optional\":true,\"placeholder\":true,\"description\":\"names the variables that you want to associate with the attributes.\",\"help\":\"*variable-list(s)*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1nd0mq22iu6ovn14mz1ot1hwcji\"},{\"name\":\"FORMAT=\",\"description\":\"associates a format with variables in variable-list.\",\"help\":\"FORMAT=*format*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p08pt9ce6bhq86n18a3zcc97bldz\"},{\"name\":\"INFORMAT=\",\"description\":\"associates an informat with variables in variable-list.\",\"help\":\"INFORMAT=*informat*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n136glco6ritqdn160792yhk9mv1\"},{\"name\":\"LABEL=\",\"description\":\"associates a label with variables in variable-list.\",\"help\":\"LABEL='*label*' \",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0a9x9io5pi05mn1i4p2cphc7t0n\"}],\"supportSiteTargetFile\":\"n09bxytcjmyp75n1mc29q45qhpms.htm\"},{\"name\":\"BY\",\"description\":\"Orders the output according to the BY groups.\",\"help\":\"BY <DESCENDING>variable-1\\n\\t<-<DESCENDING> variable-n>\\n\\t<NOTSORTED>;\",\"arguments\":[{\"name\":\"variable\",\"placeholder\":true,\"description\":\"specifies the variable that the procedure uses to form BY groups. You can specify more than one variable. If you do not use the NOTSORTED option in the BY statement, then either the observations in the data set must be sorted by all the variables that you specify, or they must be indexed appropriately. Variables in a BY statement are called BY variables.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0e9kbav2i9chhn1xectebpz4s14\"},{\"name\":\"DESCENDING\",\"optional\":true,\"description\":\"specifies that the observations are sorted in descending order by the variable that immediately follows the word DESCENDING in the BY statement.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1au0lhf4hi1h2n1le3cx2tp74l5\"},{\"name\":\"NOTSORTED\",\"optional\":true,\"description\":\"specifies that observations are not necessarily sorted in alphabetic or numeric order. The observations are grouped in another way (for example, chronological order).\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p068zvjhrpn2awn1bygis4m6hppa\"}],\"supportSiteTargetFile\":\"p1tkzb6q5jl1omn1payndkh1g3nw.htm\"},{\"name\":\"FORMAT\",\"description\":\"Associates formats with variables.\",\"help\":\"FORMAT *variable-1*&lt;-*variable-n*&gt;&lt;*format-1*&gt;&lt;*variable-1*&lt;-*variable-n*&gt;&lt;*format-2*&gt;&gt; - &lt;DEFAULT=*default-format*&gt;;\",\"arguments\":[{\"name\":\"variable\",\"placeholder\":true,\"description\":\"names one or more variables for SAS to associate with a format. You must specify at least one variable.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1d0cionbspk2tn1ma0m6kjd1ntx\"},{\"name\":\"format\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the format that is listed for writing the values of the variables.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0oulvct798v2wn1lll17t854rg8\"},{\"name\":\"DEFAULT=\",\"optional\":true,\"description\":\"specifies a temporary default format for displaying the values of variables that are not listed in the FORMAT statement. These default formats apply only to the current DATA step; they are not permanently associated with variables in the output data set.\",\"help\":\"DEFAULT=*default-format*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0k0jb3arokdz9n1g3q3zizh81g4\"}],\"supportSiteTargetFile\":\"n1x0d6bnw9wtyun1rhq5p7tis5gs.htm\"},{\"name\":\"LABEL\",\"description\":\"Assigns descriptive labels to variables.\",\"help\":\"Form 1: Creates a descriptive label for one or more variables.\\nLABEL variable-1=’text-string’ < ...variable-n=’text-string>; \\nForm 2: Removes the label from one or more variables.\\nLABEL variable-1 = ' ' < ...variable-n=’ ‘>; | variable-1 = < ...variable-n= >\",\"arguments\":[{\"name\":\"text-string\",\"placeholder\":true,\"description\":\"specifies a label of up to 256 bytes.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n09u0k5ydxzgr3n1dfznhvex7uuo\"},{\"name\":\"'\",\"placeholder\":true,\"description\":\"removes a label from a variable. Enclose a single blank space in quotation marks to remove an existing label. You can remove labels from multiple variables in a single LABEL statement:\",\"help\":\"*' '*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1dl99omzes92cn1typpf6yl1ng0\"}],\"supportSiteTargetFile\":\"n0b8jun5pu2j52n1duycwzzhrtmw.htm\"},{\"name\":\"NOTE\",\"description\":\"Control the content, appearance, and placement of text.\",\"help\":\"NOTE &lt;*text-options*&gt;&lt;‘*text-string*’&gt;;\",\"arguments\":[{\"name\":\"ALT=\",\"description\":\"specifies descriptive text for a URL to which a note links, or the note itself.\",\"help\":\"ALT=\\\"*text-string*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1ss7qwa0a8ym6n10yt0pvlswkhl\"},{\"name\":\"ANGLE=\",\"aliases\":[\"A=\"],\"description\":\"specifies the angle of the baseline of the entire text string with respect to the horizontal.\",\"help\":\"ANGLE=*degrees*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0agfl3v4cz076n1vq0sm0kpc7u9\"},{\"name\":\"BCOLOR=\",\"aliases\":[\"BC=\"],\"description\":\"specifies the background color of a box produced by the BOX= option.\",\"help\":\"BCOLOR=*background-color*\",\"type\":\"color\",\"supportSiteTargetFragment\":\"n0p6kae6bogf6ln1qfi5lumfuqsl\"},{\"name\":\"BLANK=\",\"aliases\":[\"BL=\"],\"description\":\"protects the box and its contents from being overwritten by any subsequent graphics elements.\",\"help\":\"BLANK=YES\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1k1qe16mrandmn1p5d6zmfzbpp3\"},{\"name\":\"BOX=\",\"aliases\":[\"BO=\"],\"description\":\"draws a box around one line of text.\",\"help\":\"BOX=*1* - *4*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1gsgi19gb631mn1u3ohvku3h9fr\"},{\"name\":\"BSPACE=\",\"aliases\":[\"BS=\"],\"description\":\"specifies the amount of space between the boxed text and the box.\",\"help\":\"BSPACE=*box-space*&lt;*units*&gt;\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1bsvoi1ejzgldn13u0ctqhoumr7\"},{\"name\":\"COLOR=\",\"aliases\":[\"C=\"],\"description\":\"specifies the color for the following text, box, or line.\",\"help\":\"COLOR=*color*\",\"type\":\"color\",\"supportSiteTargetFragment\":\"p0sbrdi8whe59cn1trrly9i486a2\"},{\"name\":\"DRAW=\",\"aliases\":[\"D=\"],\"description\":\"draws lines anywhere on the graphics output area.\",\"help\":\"DRAW=(*x,y* - ,*x-n,y-n*)&lt;*units*&gt;\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1ek60b1m99g1en1p2vat39gnk0u\"},{\"name\":\"FONT=\",\"aliases\":[\"F=\"],\"description\":\"specifies the font for the subsequent text.\",\"help\":\"FONT=*font*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n14ghk49hvnj9bn1dggqdp9185h0\"},{\"name\":\"HEIGHT=\",\"aliases\":[\"H=\"],\"description\":\"specifies the height of text characters in number of units.\",\"help\":\"HEIGHT=*text-height*&lt;*units*&gt;\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1nstxzbtib4yon17b1z48u1xc43\"},{\"name\":\"JUSTIFY=\",\"description\":\"specifies the alignment of the text string.\",\"help\":\"JUSTIFY=LEFT | CENTER | RIGHT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"LEFT\",\"aliases\":[\"L\"],\"description\":\"aligns the text to the left.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1bd3ccior85vpn1j8yydbva53oh\"},{\"name\":\"CENTER\",\"aliases\":[\"C\"],\"description\":\"aligns the text in the center.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1xzocqktoshbhn0zj41vgrrpcf0\"},{\"name\":\"RIGHT\",\"aliases\":[\"R\"],\"description\":\"aligns the text to the right.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0d72p8dhm0aken19ezwvnuh89hj\"}],\"supportSiteTargetFragment\":\"p0ic105d0qi1len198gj233aunvx\"},{\"name\":\"LANGLE=\",\"aliases\":[\"LA=\"],\"description\":\"specifies the angle of the entire text-string(s).\",\"help\":\"LANGLE=*degrees*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p17asd7cxorhh0n13ock77km9umw\"},{\"name\":\"LINK=\",\"description\":\"specifies a uniform resource locator (URL) to which a note links.\",\"help\":\"LINK=\\\"*URL*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1g7nbregrkazwn13yab35dwunkf\"},{\"name\":\"LSPACE=\",\"aliases\":[\"LS=\"],\"description\":\"specifies the amount of spacing above and below lines of text.\",\"help\":\"LSPACE=*line-space* &lt;*units*&gt;\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1rvmh79wukiwin10y0uxgndzm0k\"},{\"name\":\"MOVE=\",\"aliases\":[\"M=\"],\"description\":\"positions a text string.\",\"help\":\"MOVE=(*x*,*y*) &lt;*units*&gt;\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1b4ii0h0nvyl9n1n3f3rq4bcmd7\"},{\"name\":\"ROTATE=\",\"aliases\":[\"R=\"],\"description\":\"specifies the angle at which each character of text is rotated.\",\"help\":\"ROTATE=*degrees*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0eixp1t2i8jh7n18f5h9abmkbd9\"},{\"name\":\"UNDERLIN=\",\"aliases\":[\"U=\",\"UNDERLINE=\"],\"description\":\"underlines subsequent text.\",\"help\":\"UNDERLIN=*0* - *3*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0odrift6g8tevn1wlkt3yirab29\"},{\"name\":\"WRAP\",\"description\":\"wraps the text to a second line if the text does not fit on one line.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0f424vsafu2k4n1uvv5px2ea0vn\"},{\"name\":\"#BYLINE\",\"description\":\"substitutes the entire BY line without leading or trailing blanks for #BYLINE in the text string. It also displays the BY line in the note produced by the statement.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n17mfc3jo9ghz4n1g0w1pyzjaba6\"},{\"name\":\"#BYVAL\",\"description\":\"substitutes the current value of the specified BY variable for #BYVAL in the text string and displays the value produced by the statement. Specify the variable with one of these values:\",\"help\":\"  #BYVAL*n* <br/> #BYVAL(*variable-name*)\",\"type\":\"value\",\"arguments\":[{\"name\":\"n\",\"placeholder\":true,\"description\":\"specifies which variable in the BY statement #BYVAL should use. The value of n indicates the position of the variable in the BY statement.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p152link16gmrxn17tbgrpvy6snbb\"},{\"name\":\"variable-name\",\"placeholder\":true,\"description\":\"names the BY variable.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0aywj8k42frwsn1d1075rkks2zjb\"}],\"supportSiteTargetFragment\":\"p0g93myce7dkd2n1oub0dnqw6de0b\"},{\"name\":\"#BYVAR\",\"description\":\"substitutes the name of the BY variable or label associated with the variable (whatever the BY line would normally display) for #BYVAR in the text string and displays the name or label produced by the statement. Specify the variable with one of these:\",\"help\":\"  #BYVAR*n* <br/> #BYVAR(*BY-variable-name*)\",\"type\":\"value\",\"arguments\":[{\"name\":\"n\",\"placeholder\":true,\"description\":\"specifies which variable in the BY statement #BYVAR should use. The value of n indicates the position of the variable in the BY statement. For example, #BYVAR2 specifies the second variable in the BY statement.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0edwk5zij4p1dn1dx8j7ljlp2g0b\"},{\"name\":\"BY-variable-name\",\"placeholder\":true,\"description\":\"names the BY variable. For example, #BYVAR(SITES) specifies the BY variable, SITES. Variable-name is not case sensitive.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0h7djvvxju8lqn1oopd9m2939nub\"}],\"supportSiteTargetFragment\":\"n0lq1vfuz9uxsen12rp88i6fk1pjb\"}],\"supportSiteTargetFile\":\"n06de0d5lj12inn14glgif2c8ova.htm\"},{\"name\":\"QUIT\",\"description\":\"Executes any statements that have not executed and ends the procedure step.\",\"help\":\"QUIT ;\",\"supportSiteTargetFile\":\"p0rv4g0o6aq6oxn1t95eicz4xfrt.htm\"},{\"name\":\"WHERE\",\"description\":\"Subsets the input data set by specifying certain conditions that each observation must meet before it is available for processing.\",\"help\":\"WHERE *where-expression*;\",\"arguments\":[{\"name\":\"where-expression\",\"placeholder\":true,\"description\":\"is an arithmetic or logical expression that generally consists of a sequence of operands and operators. For more information about where processing, see .\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0834dlfg85co3n18aqbvenv4b35\"}],\"supportSiteTargetFile\":\"n1rx5guqu5cxr1n1flpiox5ks7sr.htm\"}],\"interactive\":true,\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"p0gjzffw4b5o69n1qvhxlhv93jcq.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/GCHART.json",
    "content": "{\"name\":\"GCHART\",\"statements\":[{\"name\":\"PROC GCHART\",\"description\":\"Identifies the data set containing the chart variables. Can specify annotation and an output catalog.\",\"help\":\"PROC GCHART DATA=input-data-set\\n<ANNOTATE=Annotate-data-set>\\n<GOUT=<libref.>output-catalog>\\n<IMAGEMAP=output-data-set>;\\n\\t BLOCK chart-variable(s)</ options>;\\n\\n\\tHBAR | HBAR3D | VBAR |       VBAR3D chart-variable(s)</ options>;\\n\\n\\tPIE | PIE3D | DONUT chart-variable(s)</ options>;\\n\\n\\tSTAR chart-variable(s)</ options>;\\n\\n\\tATTRIB  variable-list(s) attribute-list(s);\\n\\n\\tBY <DESCENDING>variable-1\\n\\t\\t< ... <DESCENDING> variable-n>\\n\\t\\t<NOTSORTED>;\\n\\n\\tFORMAT variable-1< ...variable-n><format-1><variable-1< ...variable-n><format-2>> ...<DEFAULT=default-format>;\\n\\n\\tLABEL variable-1=label-1 | ' '<variable-n=label-n | ' '> ...;\\n\\n\\tNOTE <text-arguments(s)>;\\n\\n\\tQUIT ;\\n\\n\\tWHERE where-expression;\\n\",\"arguments\":[{\"name\":\"DATA=\",\"description\":\"specifies the SAS data set that contains the variable or variables to chart. If not specified, an input data set must have been created before issuing the PROC GCHART statement.\",\"help\":\"DATA=*input-data-set*\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"p12hmxdtf6ru9mn1kw5f907pa72o\"},{\"name\":\"ANNOTATE=\",\"optional\":true,\"aliases\":[\"ANNO=\"],\"description\":\"specifies a data set to annotate all graphs that are produced by the GCHART procedure.\",\"help\":\"ANNOTATE=*Annotate-data-set*\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"p0tjlghqdbscatn1efhhnauz4j27\"},{\"name\":\"GOUT=\",\"optional\":true,\"description\":\"specifies the SAS catalog in which to save the graphics output that is produced by the GCHART procedure. If you omit the libref, SAS/GRAPH looks for the catalog in the temporary library called WORK and creates the catalog if it does not exist.\",\"help\":\"GOUT=&lt;*libref*.&gt;*output-catalog*\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"p0obxwf27utkqfn10dtqork5td5a\"},{\"name\":\"IMAGEMAP=\",\"optional\":true,\"description\":\"creates a temporary SAS data set that is used to generate an image map.\",\"help\":\"IMAGEMAP=*output-data-set*\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"n0lnovgcv8uzx5n1ixf9mun3peiy\"}],\"supportSiteTargetFile\":\"p1k1dd2e0mwdpyn1i2tsnauvyggy.htm\"},{\"name\":\"BLOCK\",\"description\":\"Creates block charts in which the height of the blocks represents the value of the chart statistic for each category of data.\",\"help\":\"BLOCK *chart-variable(s)*&lt;/ *options*&gt;;\",\"arguments\":[{\"name\":\"chart-variable\",\"placeholder\":true,\"description\":\"specifies one or more variables that define the categories of data to chart. Each chart variable draws a separate chart. All variables must be in the input data set. Separate multiple chart variables with blanks. The values of a chart variable used with the BLOCK statement have a maximum length of 13.\",\"help\":\"*chart-variable(s)*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1uv37gzg8d06mn11y6uhyxqampm\"},{\"name\":\"ANNOTATE=\",\"optional\":true,\"aliases\":[\"ANNO=\"],\"description\":\"specifies a data set to annotate all graphs that are produced by the GCHART procedure.\",\"help\":\"ANNOTATE=*Annotate-data-set*\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"p0tjlghqdbscatn1efhhnauz4j27a\"},{\"name\":\"BLOCKMAX=\",\"optional\":true,\"description\":\"specifies the chart statistic value of the tallest block on the chart.\",\"help\":\"BLOCKMAX=*max-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0gsfatz59xp9mn1lez6cie6fg9r\"},{\"name\":\"CAXIS=\",\"optional\":true,\"description\":\"specifies the color for the midpoint grid.\",\"help\":\"CAXIS=*grid-color*\",\"type\":\"color\",\"supportSiteTargetFragment\":\"n17w9zsmgezit5n1wcuc034eqayy\"},{\"name\":\"COUTLINE=\",\"optional\":true,\"aliases\":[\"CO=\"],\"description\":\"outlines all blocks or all block segments and legend values in the subgroup legend (if it appears) using the specified color.\",\"help\":\"COUTLINE=*block-outline-color* | SAME\",\"type\":\"choice\",\"arguments\":[{\"name\":\"block-outline-color\",\"placeholder\":true,\"type\":\"color\"},{\"name\":\"SAME\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"p0jk6r3kf4sbrqn1m3cc7iejlx9e\"},{\"name\":\"CTEXT=\",\"optional\":true,\"aliases\":[\"CT=\"],\"description\":\"specifies a color for all text on the grid and legend.\",\"help\":\"CTEXT=*text-color*\",\"type\":\"color\",\"supportSiteTargetFragment\":\"n10x1y9snbv08ln12q7j5md46f69\"},{\"name\":\"DESCRIPTION=\",\"optional\":true,\"aliases\":[\"DES=\"],\"description\":\"specifies a description of the output.\",\"help\":\"DESCRIPTION=\\\"*description*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p15g2ky1htx6brn1le0b0hc81bpv\"},{\"name\":\"DISCRETE\",\"optional\":true,\"description\":\"treats a numeric chart variable as a discrete variable rather than as a continuous variable.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1oyv6herlezhxn1wr2yzgkyrgm0\"},{\"name\":\"FREQ=\",\"optional\":true,\"description\":\"specifies a variable whose values weight the contribution of each observation in the computation of the chart statistic.\",\"help\":\"FREQ=*numeric-variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0fwqsoqubcjmhn124tlf5axr96c\"},{\"name\":\"G100\",\"optional\":true,\"description\":\"calculates the percentage and cumulative percentage statistics separately for each group.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n07sh8ij0jic9in1rdaxnzcrej56\"},{\"name\":\"GROUP=\",\"optional\":true,\"description\":\"organizes the data according to the values of group-variable.\",\"help\":\"GROUP=*group-variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1rd3y6higqu6dn15riywk4tdrrk\"},{\"name\":\"HTML=\",\"optional\":true,\"description\":\"identifies the variable in the input data set whose values create links or data tips or both.\",\"help\":\"HTML=*variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0ejx3pzf3bozrn1u5sfcz47w4pg\"},{\"name\":\"HTML_LEGEND=\",\"optional\":true,\"description\":\"identifies the variable in the input data set whose values create links or data tips or both.\",\"help\":\"HTML_LEGEND=*variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0915hdaq4jzm8n1wja70qblheaa\"},{\"name\":\"LEGEND=\",\"optional\":true,\"description\":\"assigns the specified global LEGEND definition to the legend generated by the SUBGROUP= option.\",\"help\":\"LEGEND=LEGEND&lt;*1* ...*99*&gt;\",\"type\":\"standaloneOrValue\",\"supportSiteTargetFragment\":\"p1alotpi0y0rzkn1kffusz10elig\"},{\"name\":\"LEVELS=\",\"optional\":true,\"description\":\"specifies the number of midpoints to be graphed for the chart variable.\",\"help\":\"LEVELS=*number-of-midpoints* | ALL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"number-of-midpoints\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"ALL\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"p1afvdlgi99n35n1ts5k799mk8m9\"},{\"name\":\"MIDPOINTS=\",\"optional\":true,\"description\":\"specifies the midpoint values for the blocks.\",\"help\":\"MIDPOINTS=*value-list*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n19oarg4rqglznn12n9gd66504cp\"},{\"name\":\"MIDPOINTS=\",\"optional\":true,\"description\":\"generates default midpoints using the Nelder algorithm (Applied Statistics 25:94–7, 1976).\",\"help\":\"MIDPOINTS=OLD\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0bk64zy90vsa0n1pd9iii5szbgi\"},{\"name\":\"MISSING\",\"optional\":true,\"description\":\"accepts a missing value as a valid midpoint for the chart variable.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0vex85th56ifnn1ghx0u2u72bny\"},{\"name\":\"NAME=\",\"optional\":true,\"description\":\"specifies the name of the GRSEG catalog entry and the name of the graphics output file, if one is created.\",\"help\":\"NAME=\\\"*name*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0c70y2mbv0egwn0z4j0ocp2zs6v\"},{\"name\":\"NOHEADING\",\"optional\":true,\"description\":\"suppresses the heading describing the type of statistic.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0tzp83dgb25w3n1brdjqy9ebtqh\"},{\"name\":\"NOLEGEND\",\"optional\":true,\"description\":\"suppresses the legend automatically generated by the SUBGROUP= option.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p09coabxj9j467n0zdth0zqp3gib\"},{\"name\":\"PATTERNID=\",\"optional\":true,\"description\":\"specifies how fill patterns are assigned.\",\"help\":\"PATTERNID=BY | GROUP | MIDPOINT | SUBGROUP\",\"type\":\"choice\",\"arguments\":[{\"name\":\"BY\",\"description\":\"changes patterns each time the value of the BY variable changes. All blocks use the same pattern if the GCHART procedure does not include a BY statement.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1us1pw5hhwt5vn1g6pswp08b5ak\"},{\"name\":\"GROUP\",\"description\":\"changes patterns every time the value of the group variable changes. All blocks in each group (row) use the same pattern, but a different pattern is used for each group.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1sdy53rbmn2jdn1eb5v2f9uca3y\"},{\"name\":\"MIDPOINT\",\"description\":\"changes patterns every time the midpoint value changes. If you use the GROUP= option, the respective midpoint patterns are repeated for each group.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0mv5i9xk0o36wn1kk0a6jhthq23\"},{\"name\":\"SUBGROUP\",\"description\":\"changes patterns every time the value of the subgroup variable changes. The blocks must be subdivided by the SUBGROUP= option for the SUBGROUP value to have an effect. Without the SUBGROUP= option, all block faces have the same pattern.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0mf4zu5wcrwqrn1qc5jbirw1463\"}],\"supportSiteTargetFragment\":\"n1an4y2aauir2xn1h42ygwzxvxi8\"},{\"name\":\"STATFMT=\",\"optional\":true,\"aliases\":[\"SFMT=, SFORMAT=, STATFORMAT=\"],\"description\":\"overrides the GCHART default format of the displayed statistical value.\",\"help\":\"STATFMT=*format-specification*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0iy3iaxw2jks6n10z9p5f95a53f\"},{\"name\":\"SUBGROUP=\",\"optional\":true,\"description\":\"divides the blocks into segments according to the values of subgroup-variable.\",\"help\":\"SUBGROUP=*subgroup-variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0u343p18ae1xpn1e9d2idasrnm0\"},{\"name\":\"SUMVAR=\",\"optional\":true,\"description\":\"specifies a numeric variable for sum or mean calculations.\",\"help\":\"SUMVAR=*numeric-variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0llvkht1n3k30n1d50ukjzixycc\"},{\"name\":\"TYPE=\",\"optional\":true,\"description\":\"specifies the chart statistic.\",\"help\":\"TYPE=*statistic*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1el4koe74w3man1i9g5z7nk8qoq\"},{\"name\":\"URL=\",\"optional\":true,\"description\":\"specifies a character variable whose values are URLs.\",\"help\":\"URL=*character-variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n05q6njas5vacnn1fm70rdhqt216\"},{\"name\":\"WOUTLINE=\",\"optional\":true,\"description\":\"specifies the width of the block outline in pixels.\",\"help\":\"WOUTLINE=*block-outline-width*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p14sb9b7ohfhdcn1nk1f15kqhshh\"}],\"supportSiteTargetFile\":\"n0zfa8vr6ediann1156glgvs2c0r.htm\"},{\"name\":\"HBAR\",\"description\":\"Create horizontal bar charts in which the length or height of the bars represents the value of the chart statistic for each category of data.\",\"help\":\"HBAR *chart-variable(s)*&lt;/         *options*&gt;;\",\"arguments\":[{\"name\":\"chart-variable\",\"placeholder\":true,\"description\":\"specifies one or more variables that define the categories of data to chart. Each chart variable draws a separate chart. All variables must be in the input data set. Multiple chart variables must be separated with blanks.\",\"help\":\"*chart-variable(s)*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n13fljnorphggnn1wm61jlj6t7vu\"},{\"name\":\"ANNOTATE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"ANNO=\"],\"description\":\"specifies a data set to annotate all graphs that are produced by the GCHART procedure.\",\"help\":\"ANNOTATE=*Annotate-data-set*\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"p0tjlghqdbscatn1efhhnauz4j27b\"},{\"name\":\"ASCENDING\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"arranges the bars in ascending order of the value of the chart statistic.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n000w61h6ryk5in1s5nrtfpp5pqm\"},{\"name\":\"AUTOREF\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"draws a reference line at each major tick mark on the response axis.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0kg9fqjf4tcwtn1up13zsrq5eyq\"},{\"name\":\"AXIS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies values for the major tick marks or assigns specified global AXIS statement definitions to the axis.\",\"help\":\"AXIS=*value-list* | AXIS&lt;*1* ...*99*&gt;\",\"type\":\"choice\",\"arguments\":[{\"name\":\"value-list\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"AXIS\",\"type\":\"standaloneOrValue\"}],\"supportSiteTargetFragment\":\"n012erxovaf7x9n12neyz54bgxgb\"},{\"name\":\"CAUTOREF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the color of reference lines drawn at major tick marks, as determined by the AUTOREF option.\",\"help\":\"CAUTOREF=*reference-line-color*\",\"type\":\"color\",\"supportSiteTargetFragment\":\"n0cdzin5u58uf8n17lzo2vxvnshp\"},{\"name\":\"CAXIS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a color for the response and midpoint axis lines and for the default axis area frame.\",\"help\":\"CAXIS=*axis-color*\",\"type\":\"color\",\"supportSiteTargetFragment\":\"n0pbd3g9aqsnhnn1114hyp57pj1n\"},{\"name\":\"CERROR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the color of error bars in bar charts.\",\"help\":\"CERROR=*error-bar-color*\",\"type\":\"color\",\"supportSiteTargetFragment\":\"p1rytpqxl6daogn1h5llh7915jqq\"},{\"name\":\"CFRAME=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"CFR=\"],\"description\":\"specifies the color with which to fill the axis area in two-dimensional bar charts or the floor, back wall, and side wall of three-dimensional bar charts.\",\"help\":\"CFRAME=*background-color*\",\"type\":\"color\",\"supportSiteTargetFragment\":\"n0okxysgg87maon1nx85y8en17vy\"},{\"name\":\"CFREQ\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"displays the cumulative frequency statistic in the table of statistics and above vertical bars.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0ft3y5j6f8erfn1colwr6043xod\"},{\"name\":\"CFREQLABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the text of the column label for the CFREQ statistic in the table of statistics.\",\"help\":\"CFREQLABEL='*column-label*' | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"'column-label'\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"NONE\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"n0qpibzyfqnqu8n1qvkksfiel65x\"},{\"name\":\"CGROUPREF\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the color of the reference line dividing each group of bars produced with the HBAR and VBAR statements.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1bccy1hv238vxn1nsk80hpm3c6c\"},{\"name\":\"CLIPREF\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"clips the reference lines at the bars.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0nyi6z8ubfaban1p4qsta5oh3jo\"},{\"name\":\"CLM=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the confidence intervals to use when drawing error bars.\",\"help\":\"CLM=*confidence-level*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0flquqnc9g1x1n1qopuo0ind6y2\"},{\"name\":\"CMIDPOINTREF\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the color of the midpoint reference lines between bars produced with the HBAR and VBAR statements.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1tchibajnk2ekn1bv06yvsvbcrf\"},{\"name\":\"COUTLINE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"CO=\"],\"description\":\"outlines all bars or bar segments and legend values in the subgroup legend (if it appears) using the specified color.\",\"help\":\"COUTLINE=*bar-outline-color* | SAME\",\"type\":\"choice\",\"arguments\":[{\"name\":\"bar-outline-color\",\"placeholder\":true,\"type\":\"color\"},{\"name\":\"SAME\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"n0l56zx7lzdgpzn1gvpmi1p9abvt\"},{\"name\":\"CPERCENT\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"CPCT=\"],\"description\":\"displays the cumulative percentage statistic in the table of statistics and above vertical bars.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0x8t8l1uubop7n1n2qf738dcpfj\"},{\"name\":\"CPERCENTLABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the text of the column label for the CPERCENT statistic in the table of statistics.\",\"help\":\"CPERCENTLABEL='*column-label*' | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"'column-label'\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"NONE\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"p19vh70e3a31lhn19cq3gyyvclmi\"},{\"name\":\"CREF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"CR=\"],\"description\":\"specifies colors for reference lines.\",\"help\":\"CREF=*reference-line-color* | (*reference-line-color*) | (*reference-line-color-list*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"reference-line-color\",\"placeholder\":true,\"type\":\"color\"},{\"name\":\"(reference-line-color)\",\"placeholder\":true,\"type\":\"color\"},{\"name\":\"(reference-line-color-list)\",\"placeholder\":true,\"type\":\"color\"}],\"supportSiteTargetFragment\":\"n0m5g7rh1uhen8n19y2vi1kz7n29\"},{\"name\":\"CTEXT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"CT=\"],\"description\":\"specifies a color for all text on the axes and legend, including axis labels, tick mark values, legend labels, and legend value descriptions.\",\"help\":\"CTEXT=*text-color*\",\"type\":\"color\",\"supportSiteTargetFragment\":\"p0plj7qdrss6rqn1cyasb63djbqi\"},{\"name\":\"DESCENDING\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"arranges the bars in descending order of the value of the chart statistic.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1ci1aduf53c1un1siohs2ou8vjs\"},{\"name\":\"DESCRIPTION=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"DES=\"],\"description\":\"specifies a description of the output.\",\"help\":\"DESCRIPTION=\\\"*description*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1iz9r25temltbn1ko9x7in5hdaq\"},{\"name\":\"DISCRETE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"treats a numeric chart variable as a discrete variable rather than as a continuous variable.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1ktabi6eylrbhn1ahhbp2kq6sio\"},{\"name\":\"ERRORBAR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"draws confidence levels.\",\"help\":\"ERRORBAR=BARS | BOTH | TOP\",\"type\":\"choice\",\"arguments\":[{\"name\":\"BARS\",\"followsDelimiter\":\"/\",\"description\":\"draws error bars as bars half the width of the main bars.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1olyoi35zvfccn1fbtn8afdd6q7\"},{\"name\":\"BOTH\",\"followsDelimiter\":\"/\",\"description\":\"draws error bars as two ticks joined by a line (default).\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0028gm9o9pkuwn1mbyfl5byb4l5\"},{\"name\":\"TOP\",\"followsDelimiter\":\"/\",\"description\":\"draws the error bar as a tick for the upper confidence limit that is joined to the top of the bar by a line.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n16b4vuwddhw5gn17ed5yodz7ljo\"}],\"supportSiteTargetFragment\":\"n1ks2kxlrxnzfzn18qjspozvbird\"},{\"name\":\"FRAME\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"FR\"],\"description\":\"specifies that a line is drawn around the axis area of a two-dimensional bar chart.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1x0s37chnhg15n10qyea3ijbyst\"},{\"name\":\"FREQ\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"displays the frequency statistic in the table of statistics and above vertical bars.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0otsg9izye7lqn1a9gu1zxrotav\"},{\"name\":\"FREQLABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the text of the column label for the FREQ statistic in the table of statistics.\",\"help\":\"FREQLABEL='*column-label*' | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"'column-label'\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"NONE\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"p0idjjxlznyvwln1qni6x27stzll\"},{\"name\":\"FREQ=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a variable whose values weight the contribution of each observation in the computation of the chart statistic.\",\"help\":\"FREQ=*numeric-variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1dmwiws9cmthqn1k5kgkgxjelbj\"},{\"name\":\"FRONTREF\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that reference lines drawn by the AUTOREF or REF= options should be drawn in front of the bars.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p03yi23gtn249kn1dc65x60wthdf\"},{\"name\":\"G100\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"calculates the percentage and cumulative percentage statistics separately for each group.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n09zt8ofpxpbpjn1nlr2k8mtxqun\"},{\"name\":\"GAXIS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"assigns the specified global AXIS definition to the group axis.\",\"help\":\"GAXIS=AXIS&lt;*1* ...*99*&gt;\",\"type\":\"standaloneOrValue\",\"supportSiteTargetFragment\":\"n11xst4zff0pzwn1ha0320gogfvi\"},{\"name\":\"GROUP=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"organizes the data according to values of group-variable.\",\"help\":\"GROUP=*group-variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p00xabqzc7stmjn1k08miz9xphjt\"},{\"name\":\"GROUPREF\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"draws a reference line dividing each group of bars produced by the HBAR and VBAR statements.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0y5lgsf5ajh9nn154xid0phzj0h\"},{\"name\":\"GSPACE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the amount of extra space between groups of bars.\",\"help\":\"GSPACE=*group-spacing*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1l3b0cm3wup1vn1w3wa84immw4g\"},{\"name\":\"HTML=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"identifies the variable in the input data set whose values create links or data tips or both.\",\"help\":\"HTML=*variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0goxa5mmcs5hpn13o8p3t8mpldx\"},{\"name\":\"HTML_LEGEND=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"identifies the variable in the input data set whose values create links or data tips or both.\",\"help\":\"HTML_LEGEND=*variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0qnogdz4murrjn1xkgfkq42mxz9\"},{\"name\":\"IFRAME=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"identifies the image file that you want to apply to a two-dimensional chart's axis area or a three-dimensional chart's back wall.\",\"help\":\"IFRAME=*fileref* | '*external-file*'\",\"type\":\"choice\",\"arguments\":[{\"name\":\"fileref\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"'external-file'\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p1n7vtlw077wb4n16qhsbfypfio8\"},{\"name\":\"IMAGESTYLE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies whether to use multiple instances of an image, or stretch a single image.\",\"help\":\"IMAGESTYLE=TILE | FIT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"TILE\",\"type\":\"standalone\"},{\"name\":\"FIT\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"p0rfo1ckgp8jtbn1lzxzyp0868nn\"},{\"name\":\"INSIDE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"displays the values of the specified statistic inside the bars.\",\"help\":\"INSIDE=*statistic*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1xodcce1x68h4n1jacxr8ptnmhe\"},{\"name\":\"LAUTOREF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the line type for reference lines at major tick marks, as determined by the AUTOREF option.\",\"help\":\"LAUTOREF=*reference-line-type*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0g0ouho97eju4n1lozro4tfdjxq\"},{\"name\":\"LEGEND=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"assigns the specified global LEGEND definition to the legend generated by the SUBGROUP= option.\",\"help\":\"LEGEND=LEGEND&lt;*1* ...*99*&gt;\",\"type\":\"standaloneOrValue\",\"supportSiteTargetFragment\":\"n0xng4vdiet7pin1lw9gw5ovhlkb\"},{\"name\":\"LEVELS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the number of midpoints to be graphed for a chart variable.\",\"help\":\"LEVELS=*number-of-midpoints* | ALL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"number-of-midpoints\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"ALL\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"n16w48pdlvhtdkn17bpvta4u2rnm\"},{\"name\":\"LGROUPREF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies line types for reference lines dividing each group of bars produced by the HBAR and VBAR statements.\",\"help\":\"LGROUPREF=*reference-line-type*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1tceh4smycp7nn153urnl7ra8vj\"},{\"name\":\"LMIDPOINTREF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies line types for midpoint reference lines between bars produced by HBAR and VBAR statements.\",\"help\":\"LMIDPOINTREF=*reference-line-type*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0ckdbx6344jxan1rkfiigi4pflz\"},{\"name\":\"LREF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"LR=\"],\"description\":\"specifies line types for reference lines.\",\"help\":\"LREF=*reference-line-type* | (*reference-line-type*) | (*reference-line-type-list*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"reference-line-type\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(reference-line-type)\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(reference-line-type-list)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"n01aekuzchkkmhn1hy83s4f4p8qb\"},{\"name\":\"MAXIS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"assigns the specified global AXIS definition to the midpoint axis.\",\"help\":\"MAXIS=AXIS&lt;*1* ...*99*&gt;\",\"type\":\"standaloneOrValue\",\"supportSiteTargetFragment\":\"p1mkon3kw7lmebn187ggmnxoztls\"},{\"name\":\"MEAN\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"displays the mean statistic in the table of statistics and above vertical bars.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0zmdot2eq27tdn1qrnob4csw6zt\"},{\"name\":\"MEANLABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the text of the column label for the MEAN statistic in the table of statistics.\",\"help\":\"MEANLABEL='*column-label*' | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"'column-label'\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"NONE\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"n1x7ekn6vgj6bin1almricwa27at\"},{\"name\":\"MIDPOINTREF\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"draws a reference line at the midpoint between each bar produced by the HBAR and VBAR statements.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0qjncw4c8rpyon1qi75ds7ny0fa\"},{\"name\":\"MIDPOINTS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the midpoint values for the bars.\",\"help\":\"MIDPOINTS=*value-list*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n00c0ain6m1i9xn1libal30u2yhq\"},{\"name\":\"MIDPOINTS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"generates default midpoints using the Nelder algorithm (Applied Statistics 25:94–7, 1976).\",\"help\":\"MIDPOINTS=OLD\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0mrzbxy7api9bn13fzxfg750ynp\"},{\"name\":\"MINOR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the number of minor tick marks between each major tick mark on the response axis.\",\"help\":\"MINOR=*number-of-minor-ticks*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0lfqh71pqg667n1e0hctgtoey68\"},{\"name\":\"MISSING\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"accepts a missing value as a valid midpoint for the chart variable.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1rh0udoetmxy7n1c5v6yyuwaa3x\"},{\"name\":\"NAME=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the name of the GRSEG catalog entry and the name of the graphics output file, if one is created.\",\"help\":\"NAME=\\\"*name*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1320d1ygsiak9n1vsem0rzb5bp5\"},{\"name\":\"NOAXIS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses all axes, including axis lines, axis labels, axis values, and all major and minor tick marks.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p14ygcdnmmnd9ln1m59aazgwnp3z\"},{\"name\":\"NOBASEREF\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses the zero reference line when the SUM or MEAN chart statistic has negative values.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p094q430pjalj4n1x0x31nk8w1he\"},{\"name\":\"NOFRAME\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"NOFR\"],\"description\":\"specifies that no line is drawn around the axis area of a two-dimensional bar chart.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n06a6w7odsre34n1q0ket6ijv5u2\"},{\"name\":\"NOLEGEND\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"NOSYMBOL\"],\"description\":\"suppresses the legend that is automatically generated by the SUBGROUP= option.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0um89b5gvw6uxn1g4etkea1lc1f\"},{\"name\":\"NOSTATS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses the table of statistics.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n16v2dp7rp1etrn1q2yqdxcfg5nj\"},{\"name\":\"NOSYMBOL\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"NOLEGEND\"],\"description\":\"suppresses the legend that is automatically generated by the SUBGROUP= option.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0oiu8u2wn76gen1v0f4kwqk7s28\"},{\"name\":\"NOZERO\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses any midpoints for which there are no corresponding values of the chart variable and, hence, no bar.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0i6m7hnezgxsvn1fqgse3vy3vfh\"},{\"name\":\"OUTSIDE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"displays the values of the specified statistic above the bars.\",\"help\":\"OUTSIDE=*statistic*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p10gskrfem3wrxn1gog21k579vf4\"},{\"name\":\"PATTERNID=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies how fill patterns are assigned.\",\"help\":\"PATTERNID=BY | GROUP | MIDPOINT | SUBGROUP\",\"type\":\"choice\",\"arguments\":[{\"name\":\"BY\",\"followsDelimiter\":\"/\",\"description\":\"changes patterns each time the value of the BY variable changes. All bars use the same pattern if the GCHART procedure does not include a BY statement.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0v9594vu778hhn11amrz34xt2zt\"},{\"name\":\"GROUP\",\"followsDelimiter\":\"/\",\"description\":\"changes patterns every time the value of the group variable changes. All bars in each group use the same pattern, but a different pattern is used for each group.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0uy4sk18wpw3vn1llr4fcv8njx5\"},{\"name\":\"MIDPOINT\",\"followsDelimiter\":\"/\",\"description\":\"changes patterns every time the midpoint value changes. If you use the GROUP= option, the respective midpoint patterns are repeated for each group.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p07wnx9vyymcc9n19zs6zcniu2hw\"},{\"name\":\"SUBGROUP\",\"followsDelimiter\":\"/\",\"description\":\"changes patterns every time the value of the subgroup variable changes. The bars must be subdivided by the SUBGROUP= option for the SUBGROUP value to have an effect. Without the SUBGROUP= option, all bars have the same pattern.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n02r94pgi0tegkn1s8ex7pnw9ixj\"}],\"supportSiteTargetFragment\":\"p1wmpt22tti0vkn1a5i2gyjpgxec\"},{\"name\":\"PERCENT\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"PCT\"],\"description\":\"prints the percentages of observations having a given value for the chart variable in the table of statistics and above vertical bars.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0nsulqdwae9acn1u2izcfm1viwf\"},{\"name\":\"PERCENTLABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the text of the column label for the PERCENT statistic in the table of statistics.\",\"help\":\"PERCENTLABEL='*column-label*' | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"'column-label'\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"NONE\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"n18cepyygvirlln13jpo614kkaud\"},{\"name\":\"PERCENTSUM\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"PCTSUM\"],\"description\":\"calculates a percent of the sum variable for horizontal or vertical bar charts.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0jcpmqhp3jek1n1vv2uh3aoa9yn\"},{\"name\":\"RANGE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"displays on the axis of the chart the range of numeric values represented by each bar.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n02x4kjmoeyb4pn1da0n2xelw07d\"},{\"name\":\"RAXIS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies values for the major tick mark divisions on the response axis or assigns specified global AXIS statement definitions to the axis.\",\"help\":\"RAXIS=*value-list* | AXIS&lt;*1* ...*99*&gt;\",\"type\":\"choice\",\"arguments\":[{\"name\":\"value-list\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"AXIS\",\"type\":\"standaloneOrValue\"}],\"supportSiteTargetFragment\":\"p1prf9fpr1covgn1ud6tl8afbkot\"},{\"name\":\"REF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"draws reference lines at the specified points on the response axis.\",\"help\":\"REF=*value* | (*value*) | (*value-list*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"value\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(value)\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(value-list)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p1e2skguyr3q1an1j1afv5d3wsle\"},{\"name\":\"SPACE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the amount of space between individual bars or between the bars within each group if you also use the GROUP= option.\",\"help\":\"SPACE=*bar-spacing*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0n6sikfgr2zf4n1j9pqnazix52b\"},{\"name\":\"STATFMT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"SFMT=, SFORMAT=, STATFORMAT=\"],\"description\":\"overrides the GCHART default format of the displayed statistical value.\",\"help\":\"STATFMT=*format-specification*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0678tipebdotin0zl4xemmw5uni\"},{\"name\":\"SUBGROUP=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"divides the bars into segments according to the values of subgroup-variable.\",\"help\":\"SUBGROUP=*subgroup-variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0d7lbr4euiv3gn1lpa0ebo27ea7\"},{\"name\":\"SUMLABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the text of the column label for the SUM statistic in the table of statistics.\",\"help\":\"SUMLABEL='*column-label*' | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"'column-label'\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"NONE\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"p10a7f12tpoqg4n19oolxlxx1cx3\"},{\"name\":\"SUMVAR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a numeric variable for sum or mean calculations.\",\"help\":\"SUMVAR=*numeric-variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1pa5azobglm55n16n02gh2vk3nt\"},{\"name\":\"TYPE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the chart statistic.\",\"help\":\"TYPE=*statistic*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1h5u0ql9pd9bqn1urxo79yyfa6q\"},{\"name\":\"URL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a character variable whose values are URLs.\",\"help\":\"URL=*character-variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1bm3eu20vq49wn1ef3z79qw78cx\"},{\"name\":\"WAUTOREF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the line width for reference lines at major tick marks, as determined by the AUTOREF option.\",\"help\":\"WAUTOREF=*reference-line-width*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n128gatatw4eznn1omjlu2aww9ez\"},{\"name\":\"WGROUPREF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the line width for reference lines between groups of bars produced by the HBAR and VBAR statements.\",\"help\":\"WGROUPREF=*reference-line-width*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0ihpzaodre0xpn1pbz1affu11hg\"},{\"name\":\"WMIDPOINTREF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the line width for midpoint reference lines between bars produced by the HBAR and VBAR statements.\",\"help\":\"WMIDPOINTREF=*reference-line-width*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n022p42zjqddxtn11c07vp4pte2m\"},{\"name\":\"WIDTH=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the width of the bars.\",\"help\":\"WIDTH=*bar-width*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1nu5lklcwyjrmn1f8n91nei1of1\"},{\"name\":\"WOUTLINE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the width of the outline in pixels.\",\"help\":\"WOUTLINE=*bar-outline-width*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1898961wate64n14fww8xx2q3vq\"},{\"name\":\"WREF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies line widths for reference lines.\",\"help\":\"WREF=*reference-line-width* | (*reference-line-width*) | (*reference-line-width-list*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"reference-line-width\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(reference-line-width)\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(reference-line-width-list)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"n0hiqe2m00i27en1vcpxmitovzsm\"}],\"supportSiteTargetFile\":\"p0nse2mlct7rs3n1vam18wd3u1na.htm\"},{\"name\":\"HBAR3D\",\"description\":\"Create horizontal charts in which the length of the bars represents the value of the chart statistic for each category of data.\",\"help\":\"HBAR3D *chart-variable(s)*&lt;/ *options*&gt;;\",\"arguments\":[{\"name\":\"chart-variable\",\"placeholder\":true,\"description\":\"specifies one or more variables that define the categories of data to chart. Each chart variable draws a separate chart. All variables must be in the input data set. Multiple chart variables must be separated with blanks.\",\"help\":\"*chart-variable(s)*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1ai97odmrwv8jn1gais2bvogn8b\"},{\"name\":\"ANNOTATE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"ANNO=\"],\"description\":\"specifies a data set to annotate all graphs that are produced by the GCHART procedure.\",\"help\":\"ANNOTATE=*Annotate-data-set*\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"p0tjlghqdbscatn1efhhnauz4j27c\"},{\"name\":\"ASCENDING\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"arranges the bars in ascending order of the value of the chart statistic.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n000w61h6ryk5in1s5nrtfpp5pqma\"},{\"name\":\"AUTOREF\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"draws a reference line at each major tick mark on the response axis.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0kg9fqjf4tcwtn1up13zsrq5eyqa\"},{\"name\":\"AXIS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies values for the major tick marks or assigns specified global AXIS statement definitions to the axis.\",\"help\":\"AXIS=*value-list* | AXIS&lt;*1* ...*99*&gt;\",\"type\":\"choice\",\"arguments\":[{\"name\":\"value-list\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"AXIS\",\"type\":\"standaloneOrValue\"}],\"supportSiteTargetFragment\":\"n012erxovaf7x9n12neyz54bgxgba\"},{\"name\":\"CAUTOREF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the color of reference lines drawn at major tick marks, as determined by the AUTOREF option.\",\"help\":\"CAUTOREF=*reference-line-color*\",\"type\":\"color\",\"supportSiteTargetFragment\":\"n0cdzin5u58uf8n17lzo2vxvnshpa\"},{\"name\":\"CAXIS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a color for the response and midpoint axis lines and for the default axis area frame.\",\"help\":\"CAXIS=*axis-color*\",\"type\":\"color\",\"supportSiteTargetFragment\":\"n0pbd3g9aqsnhnn1114hyp57pj1na\"},{\"name\":\"CERROR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the color of error bars in bar charts.\",\"help\":\"CERROR=*error-bar-color*\",\"type\":\"color\",\"supportSiteTargetFragment\":\"p1rytpqxl6daogn1h5llh7915jqqa\"},{\"name\":\"CFRAME=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"CFR=\"],\"description\":\"specifies the color with which to fill the axis area in two-dimensional bar charts or the floor, back wall, and side wall of three-dimensional bar charts.\",\"help\":\"CFRAME=*background-color*\",\"type\":\"color\",\"supportSiteTargetFragment\":\"n0okxysgg87maon1nx85y8en17vya\"},{\"name\":\"CFREQ\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"displays the cumulative frequency statistic in the table of statistics and above vertical bars.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0ft3y5j6f8erfn1colwr6043xoda\"},{\"name\":\"CFREQLABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the text of the column label for the CFREQ statistic in the table of statistics.\",\"help\":\"CFREQLABEL='*column-label*' | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"'column-label'\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"NONE\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"n0qpibzyfqnqu8n1qvkksfiel65xa\"},{\"name\":\"CLIPREF\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"clips the reference lines at the bars.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0nyi6z8ubfaban1p4qsta5oh3joa\"},{\"name\":\"CLM=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the confidence intervals to use when drawing error bars.\",\"help\":\"CLM=*confidence-level*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0flquqnc9g1x1n1qopuo0ind6y2a\"},{\"name\":\"COUTLINE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"CO=\"],\"description\":\"outlines all bars or bar segments and legend values in the subgroup legend (if it appears) using the specified color.\",\"help\":\"COUTLINE=*bar-outline-color* | SAME\",\"type\":\"choice\",\"arguments\":[{\"name\":\"bar-outline-color\",\"placeholder\":true,\"type\":\"color\"},{\"name\":\"SAME\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"n0l56zx7lzdgpzn1gvpmi1p9abvta\"},{\"name\":\"CPERCENT\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"CPCT=\"],\"description\":\"displays the cumulative percentage statistic in the table of statistics and above vertical bars.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0x8t8l1uubop7n1n2qf738dcpfja\"},{\"name\":\"CPERCENTLABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the text of the column label for the CPERCENT statistic in the table of statistics.\",\"help\":\"CPERCENTLABEL='*column-label*' | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"'column-label'\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"NONE\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"p19vh70e3a31lhn19cq3gyyvclmia\"},{\"name\":\"CREF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"CR=\"],\"description\":\"specifies colors for reference lines.\",\"help\":\"CREF=*reference-line-color* | (*reference-line-color*) | (*reference-line-color-list*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"reference-line-color\",\"placeholder\":true,\"type\":\"color\"},{\"name\":\"(reference-line-color)\",\"placeholder\":true,\"type\":\"color\"},{\"name\":\"(reference-line-color-list)\",\"placeholder\":true,\"type\":\"color\"}],\"supportSiteTargetFragment\":\"n0m5g7rh1uhen8n19y2vi1kz7n29a\"},{\"name\":\"CTEXT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"CT=\"],\"description\":\"specifies a color for all text on the axes and legend, including axis labels, tick mark values, legend labels, and legend value descriptions.\",\"help\":\"CTEXT=*text-color*\",\"type\":\"color\",\"supportSiteTargetFragment\":\"p0plj7qdrss6rqn1cyasb63djbqia\"},{\"name\":\"DESCENDING\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"arranges the bars in descending order of the value of the chart statistic.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1ci1aduf53c1un1siohs2ou8vjsa\"},{\"name\":\"DESCRIPTION=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"DES=\"],\"description\":\"specifies a description of the output.\",\"help\":\"DESCRIPTION=\\\"*description*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1iz9r25temltbn1ko9x7in5hdaqa\"},{\"name\":\"DISCRETE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"treats a numeric chart variable as a discrete variable rather than as a continuous variable.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1ktabi6eylrbhn1ahhbp2kq6sioa\"},{\"name\":\"ERRORBAR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"draws confidence levels.\",\"help\":\"ERRORBAR=BARS | BOTH | TOP\",\"type\":\"choice\",\"arguments\":[{\"name\":\"BARS\",\"followsDelimiter\":\"/\",\"description\":\"draws error bars as bars half the width of the main bars.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1olyoi35zvfccn1fbtn8afdd6q7a\"},{\"name\":\"BOTH\",\"followsDelimiter\":\"/\",\"description\":\"draws error bars as two ticks joined by a line (default).\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0028gm9o9pkuwn1mbyfl5byb4l5a\"},{\"name\":\"TOP\",\"followsDelimiter\":\"/\",\"description\":\"draws the error bar as a tick for the upper confidence limit that is joined to the top of the bar by a line.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n16b4vuwddhw5gn17ed5yodz7ljoa\"}],\"supportSiteTargetFragment\":\"n1ks2kxlrxnzfzn18qjspozvbirda\"},{\"name\":\"FRAME\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"FR\"],\"description\":\"specifies that a back wall is drawn in a three-dimensional bar chart.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0uu0r4segfchvn1f4rngpthur8n\"},{\"name\":\"FREQ\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"displays the frequency statistic in the table of statistics and above vertical bars.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0otsg9izye7lqn1a9gu1zxrotava\"},{\"name\":\"FREQLABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the text of the column label for the FREQ statistic in the table of statistics.\",\"help\":\"FREQLABEL='*column-label*' | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"'column-label'\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"NONE\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"p0idjjxlznyvwln1qni6x27stzlla\"},{\"name\":\"FREQ=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a variable whose values weight the contribution of each observation in the computation of the chart statistic.\",\"help\":\"FREQ=*numeric-variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1dmwiws9cmthqn1k5kgkgxjelbja\"},{\"name\":\"FRONTREF\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that reference lines drawn by the AUTOREF or REF= options should be drawn in front of the bars.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p03yi23gtn249kn1dc65x60wthdfa\"},{\"name\":\"G100\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"calculates the percentage and cumulative percentage statistics separately for each group.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n09zt8ofpxpbpjn1nlr2k8mtxquna\"},{\"name\":\"GAXIS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"assigns the specified global AXIS definition to the group axis.\",\"help\":\"GAXIS=AXIS&lt;*1* ...*99*&gt;\",\"type\":\"standaloneOrValue\",\"supportSiteTargetFragment\":\"n11xst4zff0pzwn1ha0320gogfvia\"},{\"name\":\"GROUP=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"organizes the data according to values of group-variable.\",\"help\":\"GROUP=*group-variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p00xabqzc7stmjn1k08miz9xphjta\"},{\"name\":\"GSPACE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the amount of extra space between groups of bars.\",\"help\":\"GSPACE=*group-spacing*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1l3b0cm3wup1vn1w3wa84immw4ga\"},{\"name\":\"HTML=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"identifies the variable in the input data set whose values create links or data tips or both.\",\"help\":\"HTML=*variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0goxa5mmcs5hpn13o8p3t8mpldxa\"},{\"name\":\"HTML_LEGEND=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"identifies the variable in the input data set whose values create links or data tips or both.\",\"help\":\"HTML_LEGEND=*variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0qnogdz4murrjn1xkgfkq42mxz9a\"},{\"name\":\"IFRAME=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"identifies the image file that you want to apply to a two-dimensional chart's axis area or a three-dimensional chart's back wall.\",\"help\":\"IFRAME=*fileref* | '*external-file*'\",\"type\":\"choice\",\"arguments\":[{\"name\":\"fileref\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"'external-file'\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p1n7vtlw077wb4n16qhsbfypfio8a\"},{\"name\":\"IMAGESTYLE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies whether to use multiple instances of an image, or stretch a single image.\",\"help\":\"IMAGESTYLE=TILE | FIT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"TILE\",\"type\":\"standalone\"},{\"name\":\"FIT\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"p0rfo1ckgp8jtbn1lzxzyp0868nna\"},{\"name\":\"INSIDE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"displays the values of the specified statistic inside the bars.\",\"help\":\"INSIDE=*statistic*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1xodcce1x68h4n1jacxr8ptnmhea\"},{\"name\":\"LAUTOREF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the line type for reference lines at major tick marks, as determined by the AUTOREF option.\",\"help\":\"LAUTOREF=*reference-line-type*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0g0ouho97eju4n1lozro4tfdjxqa\"},{\"name\":\"LEGEND=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"assigns the specified global LEGEND definition to the legend generated by the SUBGROUP= option.\",\"help\":\"LEGEND=LEGEND&lt;*1* ...*99*&gt;\",\"type\":\"standaloneOrValue\",\"supportSiteTargetFragment\":\"n0xng4vdiet7pin1lw9gw5ovhlkba\"},{\"name\":\"LEVELS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the number of midpoints to be graphed for a chart variable.\",\"help\":\"LEVELS=*number-of-midpoints* | ALL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"number-of-midpoints\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"ALL\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"n16w48pdlvhtdkn17bpvta4u2rnma\"},{\"name\":\"LGROUPREF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies line types for reference lines dividing each group of bars produced by the HBAR and VBAR statements.\",\"help\":\"LGROUPREF=*reference-line-type*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1tceh4smycp7nn153urnl7ra8vja\"},{\"name\":\"LMIDPOINTREF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies line types for midpoint reference lines between bars produced by HBAR and VBAR statements.\",\"help\":\"LMIDPOINTREF=*reference-line-type*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0ckdbx6344jxan1rkfiigi4pflza\"},{\"name\":\"LREF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"LR=\"],\"description\":\"specifies line types for reference lines.\",\"help\":\"LREF=*reference-line-type* | (*reference-line-type*) | (*reference-line-type-list*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"reference-line-type\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(reference-line-type)\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(reference-line-type-list)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"n01aekuzchkkmhn1hy83s4f4p8qba\"},{\"name\":\"MAXIS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"assigns the specified global AXIS definition to the midpoint axis.\",\"help\":\"MAXIS=AXIS&lt;*1* ...*99*&gt;\",\"type\":\"standaloneOrValue\",\"supportSiteTargetFragment\":\"p1mkon3kw7lmebn187ggmnxoztlsa\"},{\"name\":\"MEAN\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"displays the mean statistic in the table of statistics and above vertical bars.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0zmdot2eq27tdn1qrnob4csw6zta\"},{\"name\":\"MEANLABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the text of the column label for the MEAN statistic in the table of statistics.\",\"help\":\"MEANLABEL='*column-label*' | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"'column-label'\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"NONE\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"n1x7ekn6vgj6bin1almricwa27ata\"},{\"name\":\"MIDPOINTS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the midpoint values for the bars.\",\"help\":\"MIDPOINTS=*value-list*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n00c0ain6m1i9xn1libal30u2yhqa\"},{\"name\":\"MIDPOINTS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"generates default midpoints using the Nelder algorithm (Applied Statistics 25:94–7, 1976).\",\"help\":\"MIDPOINTS=OLD\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0mrzbxy7api9bn13fzxfg750ynpa\"},{\"name\":\"MINOR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the number of minor tick marks between each major tick mark on the response axis.\",\"help\":\"MINOR=*number-of-minor-ticks*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0lfqh71pqg667n1e0hctgtoey68a\"},{\"name\":\"MISSING\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"accepts a missing value as a valid midpoint for the chart variable.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1rh0udoetmxy7n1c5v6yyuwaa3xa\"},{\"name\":\"NAME=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the name of the GRSEG catalog entry and the name of the graphics output file, if one is created.\",\"help\":\"NAME=\\\"*name*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1320d1ygsiak9n1vsem0rzb5bp5a\"},{\"name\":\"NOAXIS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses all axes, including axis lines, axis labels, axis values, and all major and minor tick marks.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p14ygcdnmmnd9ln1m59aazgwnp3za\"},{\"name\":\"NOBASEREF\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses the zero reference line when the SUM or MEAN chart statistic has negative values.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p094q430pjalj4n1x0x31nk8w1hea\"},{\"name\":\"NOFRAME\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"NOFR\"],\"description\":\"specifies that no back wall is drawn in a three-dimensional bar chart.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0hisvhti45ujmn1o7umspnd0x79\"},{\"name\":\"NOLEGEND\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"NOSYMBOL\"],\"description\":\"suppresses the legend that is automatically generated by the SUBGROUP= option.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0um89b5gvw6uxn1g4etkea1lc1fa\"},{\"name\":\"NOSTATS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses the table of statistics.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n16v2dp7rp1etrn1q2yqdxcfg5nja\"},{\"name\":\"NOSYMBOL\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"NOLEGEND\"],\"description\":\"suppresses the legend that is automatically generated by the SUBGROUP= option.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0oiu8u2wn76gen1v0f4kwqk7s28a\"},{\"name\":\"NOZERO\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses any midpoints for which there are no corresponding values of the chart variable and, hence, no bar.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0i6m7hnezgxsvn1fqgse3vy3vfha\"},{\"name\":\"OUTSIDE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"displays the values of the specified statistic above the bars.\",\"help\":\"OUTSIDE=*statistic*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p10gskrfem3wrxn1gog21k579vf4a\"},{\"name\":\"PATTERNID=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies how fill patterns are assigned.\",\"help\":\"PATTERNID=BY | GROUP | MIDPOINT | SUBGROUP\",\"type\":\"choice\",\"arguments\":[{\"name\":\"BY\",\"followsDelimiter\":\"/\",\"description\":\"changes patterns each time the value of the BY variable changes. All bars use the same pattern if the GCHART procedure does not include a BY statement.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0v9594vu778hhn11amrz34xt2zta\"},{\"name\":\"GROUP\",\"followsDelimiter\":\"/\",\"description\":\"changes patterns every time the value of the group variable changes. All bars in each group use the same pattern, but a different pattern is used for each group.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0uy4sk18wpw3vn1llr4fcv8njx5a\"},{\"name\":\"MIDPOINT\",\"followsDelimiter\":\"/\",\"description\":\"changes patterns every time the midpoint value changes. If you use the GROUP= option, the respective midpoint patterns are repeated for each group.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p07wnx9vyymcc9n19zs6zcniu2hwa\"},{\"name\":\"SUBGROUP\",\"followsDelimiter\":\"/\",\"description\":\"changes patterns every time the value of the subgroup variable changes. The bars must be subdivided by the SUBGROUP= option for the SUBGROUP value to have an effect. Without the SUBGROUP= option, all bars have the same pattern.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n02r94pgi0tegkn1s8ex7pnw9ixja\"}],\"supportSiteTargetFragment\":\"p1wmpt22tti0vkn1a5i2gyjpgxeca\"},{\"name\":\"PERCENT\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"PCT\"],\"description\":\"prints the percentages of observations having a given value for the chart variable in the table of statistics and above vertical bars.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0nsulqdwae9acn1u2izcfm1viwfa\"},{\"name\":\"PERCENTLABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the text of the column label for the PERCENT statistic in the table of statistics.\",\"help\":\"PERCENTLABEL='*column-label*' | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"'column-label'\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"NONE\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"n18cepyygvirlln13jpo614kkauda\"},{\"name\":\"PERCENTSUM\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"PCTSUM\"],\"description\":\"calculates a percent of the sum variable for horizontal or vertical bar charts.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0jcpmqhp3jek1n1vv2uh3aoa9yna\"},{\"name\":\"RANGE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"displays on the axis of the chart the range of numeric values represented by each bar.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n02x4kjmoeyb4pn1da0n2xelw07da\"},{\"name\":\"RAXIS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies values for the major tick mark divisions on the response axis or assigns specified global AXIS statement definitions to the axis.\",\"help\":\"RAXIS=*value-list* | AXIS&lt;*1* ...*99*&gt;\",\"type\":\"choice\",\"arguments\":[{\"name\":\"value-list\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"AXIS\",\"type\":\"standaloneOrValue\"}],\"supportSiteTargetFragment\":\"p1prf9fpr1covgn1ud6tl8afbkota\"},{\"name\":\"REF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"draws reference lines at the specified points on the response axis.\",\"help\":\"REF=*value* | (*value*) | (*value-list*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"value\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(value)\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(value-list)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p1e2skguyr3q1an1j1afv5d3wslea\"},{\"name\":\"SHAPE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the shape of the bars in charts that are produced with the HBAR3D and VBAR3D statements.\",\"help\":\"SHAPE=three-dimensional-bar-shape\\n        \",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0soyodguf1615n133thqc4udf76\"},{\"name\":\"SPACE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the amount of space between individual bars or between the bars within each group if you also use the GROUP= option.\",\"help\":\"SPACE=*bar-spacing*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0n6sikfgr2zf4n1j9pqnazix52ba\"},{\"name\":\"STATFMT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"SFMT=, SFORMAT=, STATFORMAT=\"],\"description\":\"overrides the GCHART default format of the displayed statistical value.\",\"help\":\"STATFMT=*format-specification*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0678tipebdotin0zl4xemmw5unia\"},{\"name\":\"SUBGROUP=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"divides the bars into segments according to the values of subgroup-variable.\",\"help\":\"SUBGROUP=*subgroup-variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0d7lbr4euiv3gn1lpa0ebo27ea7a\"},{\"name\":\"SUBOUTSIDE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"displays a list of the subgroup values of the specified statistic above the bars.\",\"help\":\"SUBOUTSIDE=*statistic* \",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0qgr02m4wf3eqn1r4jee10wmlhq\"},{\"name\":\"SUMLABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the text of the column label for the SUM statistic in the table of statistics.\",\"help\":\"SUMLABEL='*column-label*' | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"'column-label'\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"NONE\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"p10a7f12tpoqg4n19oolxlxx1cx3a\"},{\"name\":\"SUMVAR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a numeric variable for sum or mean calculations.\",\"help\":\"SUMVAR=*numeric-variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1pa5azobglm55n16n02gh2vk3nta\"},{\"name\":\"TYPE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the chart statistic.\",\"help\":\"TYPE=*statistic*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1h5u0ql9pd9bqn1urxo79yyfa6qa\"},{\"name\":\"URL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a character variable whose values are URLs.\",\"help\":\"URL=*character-variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1bm3eu20vq49wn1ef3z79qw78cxa\"},{\"name\":\"WAUTOREF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the line width for reference lines at major tick marks, as determined by the AUTOREF option.\",\"help\":\"WAUTOREF=*reference-line-width*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n128gatatw4eznn1omjlu2aww9eza\"},{\"name\":\"WGROUPREF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the line width for reference lines between groups of bars produced by the HBAR and VBAR statements.\",\"help\":\"WGROUPREF=*reference-line-width*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0ihpzaodre0xpn1pbz1affu11hga\"},{\"name\":\"WMIDPOINTREF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the line width for midpoint reference lines between bars produced by the HBAR and VBAR statements.\",\"help\":\"WMIDPOINTREF=*reference-line-width*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n022p42zjqddxtn11c07vp4pte2ma\"},{\"name\":\"WIDTH=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the width of the bars.\",\"help\":\"WIDTH=*bar-width*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1nu5lklcwyjrmn1f8n91nei1of1a\"},{\"name\":\"WOUTLINE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the width of the outline in pixels.\",\"help\":\"WOUTLINE=*bar-outline-width*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1898961wate64n14fww8xx2q3vqa\"},{\"name\":\"WREF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies line widths for reference lines.\",\"help\":\"WREF=*reference-line-width* | (*reference-line-width*) | (*reference-line-width-list*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"reference-line-width\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(reference-line-width)\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(reference-line-width-list)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"n0hiqe2m00i27en1vcpxmitovzsma\"}],\"supportSiteTargetFile\":\"p12bfixmzc9e84n1o24ihq41xm37.htm\"},{\"name\":\"VBAR\",\"description\":\"Create vertical charts in which the length of the bars represents the value of the chart statistic for each category of data.\",\"help\":\"VBAR *chart-variable(s)*&lt;/ *options*&gt;;\",\"arguments\":[{\"name\":\"chart-variable\",\"placeholder\":true,\"description\":\"specifies one or more variables that define the categories of data to chart. Each chart variable draws a separate chart. All variables must be in the input data set. Multiple chart variables must be separated with blanks.\",\"help\":\"*chart-variable(s)*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0g1dyp5qs89fxn1ps5sbdz4lttl\"},{\"name\":\"ANNOTATE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"ANNO=\"],\"description\":\"specifies a data set to annotate all graphs that are produced by the GCHART procedure.\",\"help\":\"ANNOTATE=*Annotate-data-set*\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"p0tjlghqdbscatn1efhhnauz4j27d\"},{\"name\":\"ASCENDING\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"arranges the bars in ascending order of the value of the chart statistic.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n000w61h6ryk5in1s5nrtfpp5pqmb\"},{\"name\":\"AUTOREF\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"draws a reference line at each major tick mark on the response axis.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0kg9fqjf4tcwtn1up13zsrq5eyqb\"},{\"name\":\"AXIS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies values for the major tick marks or assigns specified global AXIS statement definitions to the axis.\",\"help\":\"AXIS=*value-list* | AXIS&lt;*1* ...*99*&gt;\",\"type\":\"choice\",\"arguments\":[{\"name\":\"value-list\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"AXIS\",\"type\":\"standaloneOrValue\"}],\"supportSiteTargetFragment\":\"n012erxovaf7x9n12neyz54bgxgbb\"},{\"name\":\"CAUTOREF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the color of reference lines drawn at major tick marks, as determined by the AUTOREF option.\",\"help\":\"CAUTOREF=*reference-line-color*\",\"type\":\"color\",\"supportSiteTargetFragment\":\"n0cdzin5u58uf8n17lzo2vxvnshpb\"},{\"name\":\"CAXIS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a color for the response and midpoint axis lines and for the default axis area frame.\",\"help\":\"CAXIS=*axis-color*\",\"type\":\"color\",\"supportSiteTargetFragment\":\"n0pbd3g9aqsnhnn1114hyp57pj1nb\"},{\"name\":\"CERROR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the color of error bars in bar charts.\",\"help\":\"CERROR=*error-bar-color*\",\"type\":\"color\",\"supportSiteTargetFragment\":\"p1rytpqxl6daogn1h5llh7915jqqb\"},{\"name\":\"CFRAME=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"CFR=\"],\"description\":\"specifies the color with which to fill the axis area in two-dimensional bar charts or the floor, back wall, and side wall of three-dimensional bar charts.\",\"help\":\"CFRAME=*background-color*\",\"type\":\"color\",\"supportSiteTargetFragment\":\"n0okxysgg87maon1nx85y8en17vyb\"},{\"name\":\"CFREQ\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"displays the cumulative frequency statistic in the table of statistics and above vertical bars.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0ft3y5j6f8erfn1colwr6043xodb\"},{\"name\":\"CGROUPREF\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the color of the reference line dividing each group of bars produced with the HBAR and VBAR statements.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1bccy1hv238vxn1nsk80hpm3c6ca\"},{\"name\":\"CLIPREF\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"clips the reference lines at the bars.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0nyi6z8ubfaban1p4qsta5oh3job\"},{\"name\":\"CLM=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the confidence intervals to use when drawing error bars.\",\"help\":\"CLM=*confidence-level*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0flquqnc9g1x1n1qopuo0ind6y2b\"},{\"name\":\"CMIDPOINTREF\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the color of the midpoint reference lines between bars produced with the HBAR and VBAR statements.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1tchibajnk2ekn1bv06yvsvbcrfa\"},{\"name\":\"COUTLINE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"CO=\"],\"description\":\"outlines all bars or bar segments and legend values in the subgroup legend (if it appears) using the specified color.\",\"help\":\"COUTLINE=*bar-outline-color* | SAME\",\"type\":\"choice\",\"arguments\":[{\"name\":\"bar-outline-color\",\"placeholder\":true,\"type\":\"color\"},{\"name\":\"SAME\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"n0l56zx7lzdgpzn1gvpmi1p9abvtb\"},{\"name\":\"CPERCENT\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"CPCT=\"],\"description\":\"displays the cumulative percentage statistic in the table of statistics and above vertical bars.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0x8t8l1uubop7n1n2qf738dcpfjb\"},{\"name\":\"CREF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"CR=\"],\"description\":\"specifies colors for reference lines.\",\"help\":\"CREF=*reference-line-color* | (*reference-line-color*) | (*reference-line-color-list*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"reference-line-color\",\"placeholder\":true,\"type\":\"color\"},{\"name\":\"(reference-line-color)\",\"placeholder\":true,\"type\":\"color\"},{\"name\":\"(reference-line-color-list)\",\"placeholder\":true,\"type\":\"color\"}],\"supportSiteTargetFragment\":\"n0m5g7rh1uhen8n19y2vi1kz7n29b\"},{\"name\":\"CTEXT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"CT=\"],\"description\":\"specifies a color for all text on the axes and legend, including axis labels, tick mark values, legend labels, and legend value descriptions.\",\"help\":\"CTEXT=*text-color*\",\"type\":\"color\",\"supportSiteTargetFragment\":\"p0plj7qdrss6rqn1cyasb63djbqib\"},{\"name\":\"DESCENDING\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"arranges the bars in descending order of the value of the chart statistic.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1ci1aduf53c1un1siohs2ou8vjsb\"},{\"name\":\"DESCRIPTION=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"DES=\"],\"description\":\"specifies a description of the output.\",\"help\":\"DESCRIPTION=\\\"*description*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1iz9r25temltbn1ko9x7in5hdaqb\"},{\"name\":\"DISCRETE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"treats a numeric chart variable as a discrete variable rather than as a continuous variable.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1ktabi6eylrbhn1ahhbp2kq6siob\"},{\"name\":\"ERRORBAR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"draws confidence levels.\",\"help\":\"ERRORBAR=BARS | BOTH | TOP\",\"type\":\"choice\",\"arguments\":[{\"name\":\"BARS\",\"followsDelimiter\":\"/\",\"description\":\"draws error bars as bars half the width of the main bars.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1olyoi35zvfccn1fbtn8afdd6q7b\"},{\"name\":\"BOTH\",\"followsDelimiter\":\"/\",\"description\":\"draws error bars as two ticks joined by a line (default).\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0028gm9o9pkuwn1mbyfl5byb4l5b\"},{\"name\":\"TOP\",\"followsDelimiter\":\"/\",\"description\":\"draws the error bar as a tick for the upper confidence limit that is joined to the top of the bar by a line.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n16b4vuwddhw5gn17ed5yodz7ljob\"}],\"supportSiteTargetFragment\":\"n1ks2kxlrxnzfzn18qjspozvbirdb\"},{\"name\":\"FRAME\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"FR\"],\"description\":\"specifies that a line is drawn around the axis area of a two-dimensional bar chart.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0jfpaid5iqjl2n17wrvhzi1it6u\"},{\"name\":\"FREQ\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"displays the frequency statistic in the table of statistics and above vertical bars.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0otsg9izye7lqn1a9gu1zxrotavb\"},{\"name\":\"FREQ=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a variable whose values weight the contribution of each observation in the computation of the chart statistic.\",\"help\":\"FREQ=*numeric-variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1dmwiws9cmthqn1k5kgkgxjelbjb\"},{\"name\":\"FRONTREF\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that reference lines drawn by the AUTOREF or REF= options should be drawn in front of the bars.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p03yi23gtn249kn1dc65x60wthdfb\"},{\"name\":\"G100\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"calculates the percentage and cumulative percentage statistics separately for each group.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n09zt8ofpxpbpjn1nlr2k8mtxqunb\"},{\"name\":\"GAXIS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"assigns the specified global AXIS definition to the group axis.\",\"help\":\"GAXIS=AXIS&lt;*1* ...*99*&gt;\",\"type\":\"standaloneOrValue\",\"supportSiteTargetFragment\":\"n11xst4zff0pzwn1ha0320gogfvib\"},{\"name\":\"GROUP=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"organizes the data according to values of group-variable.\",\"help\":\"GROUP=*group-variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p00xabqzc7stmjn1k08miz9xphjtb\"},{\"name\":\"GROUPREF\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"draws a reference line dividing each group of bars produced by the HBAR and VBAR statements.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0y5lgsf5ajh9nn154xid0phzj0ha\"},{\"name\":\"GSPACE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the amount of extra space between groups of bars.\",\"help\":\"GSPACE=*group-spacing*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1l3b0cm3wup1vn1w3wa84immw4gb\"},{\"name\":\"HTML=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"identifies the variable in the input data set whose values create links or data tips or both.\",\"help\":\"HTML=*variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0goxa5mmcs5hpn13o8p3t8mpldxb\"},{\"name\":\"HTML_LEGEND=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"identifies the variable in the input data set whose values create links or data tips or both.\",\"help\":\"HTML_LEGEND=*variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0qnogdz4murrjn1xkgfkq42mxz9b\"},{\"name\":\"IFRAME=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"identifies the image file that you want to apply to a two-dimensional chart's axis area or a three-dimensional chart's back wall.\",\"help\":\"IFRAME=*fileref* | '*external-file*'\",\"type\":\"choice\",\"arguments\":[{\"name\":\"fileref\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"'external-file'\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p1n7vtlw077wb4n16qhsbfypfio8b\"},{\"name\":\"IMAGESTYLE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies whether to use multiple instances of an image, or stretch a single image.\",\"help\":\"IMAGESTYLE=TILE | FIT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"TILE\",\"type\":\"standalone\"},{\"name\":\"FIT\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"p0rfo1ckgp8jtbn1lzxzyp0868nnb\"},{\"name\":\"INSIDE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"displays the values of the specified statistic inside the bars.\",\"help\":\"INSIDE=*statistic*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1xodcce1x68h4n1jacxr8ptnmheb\"},{\"name\":\"LAUTOREF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the line type for reference lines at major tick marks, as determined by the AUTOREF option.\",\"help\":\"LAUTOREF=*reference-line-type*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0g0ouho97eju4n1lozro4tfdjxqb\"},{\"name\":\"LEGEND=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"assigns the specified global LEGEND definition to the legend generated by the SUBGROUP= option.\",\"help\":\"LEGEND=LEGEND&lt;*1* ...*99*&gt;\",\"type\":\"standaloneOrValue\",\"supportSiteTargetFragment\":\"n0xng4vdiet7pin1lw9gw5ovhlkbb\"},{\"name\":\"LEVELS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the number of midpoints to be graphed for a chart variable.\",\"help\":\"LEVELS=*number-of-midpoints* | ALL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"number-of-midpoints\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"ALL\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"n16w48pdlvhtdkn17bpvta4u2rnmb\"},{\"name\":\"LGROUPREF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies line types for reference lines dividing each group of bars produced by the HBAR and VBAR statements.\",\"help\":\"LGROUPREF=*reference-line-type*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1tceh4smycp7nn153urnl7ra8vjb\"},{\"name\":\"LMIDPOINTREF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies line types for midpoint reference lines between bars produced by HBAR and VBAR statements.\",\"help\":\"LMIDPOINTREF=*reference-line-type*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0ckdbx6344jxan1rkfiigi4pflzb\"},{\"name\":\"LREF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"LR=\"],\"description\":\"specifies line types for reference lines.\",\"help\":\"LREF=*reference-line-type* | (*reference-line-type*) | (*reference-line-type-list*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"reference-line-type\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(reference-line-type)\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(reference-line-type-list)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"n01aekuzchkkmhn1hy83s4f4p8qbb\"},{\"name\":\"MAXIS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"assigns the specified global AXIS definition to the midpoint axis.\",\"help\":\"MAXIS=AXIS&lt;*1* ...*99*&gt;\",\"type\":\"standaloneOrValue\",\"supportSiteTargetFragment\":\"p1mkon3kw7lmebn187ggmnxoztlsb\"},{\"name\":\"MEAN\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"displays the mean statistic in the table of statistics and above vertical bars.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0zmdot2eq27tdn1qrnob4csw6ztb\"},{\"name\":\"MIDPOINTREF\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"draws a reference line at the midpoint between each bar produced by the HBAR and VBAR statements.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0qjncw4c8rpyon1qi75ds7ny0faa\"},{\"name\":\"MIDPOINTS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the midpoint values for the bars.\",\"help\":\"MIDPOINTS=*value-list*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n00c0ain6m1i9xn1libal30u2yhqb\"},{\"name\":\"MIDPOINTS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"generates default midpoints using the Nelder algorithm (Applied Statistics 25:94–7, 1976).\",\"help\":\"MIDPOINTS=OLD\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0mrzbxy7api9bn13fzxfg750ynpb\"},{\"name\":\"MINOR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the number of minor tick marks between each major tick mark on the response axis.\",\"help\":\"MINOR=*number-of-minor-ticks*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0lfqh71pqg667n1e0hctgtoey68b\"},{\"name\":\"MISSING\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"accepts a missing value as a valid midpoint for the chart variable.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1rh0udoetmxy7n1c5v6yyuwaa3xb\"},{\"name\":\"NAME=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the name of the GRSEG catalog entry and the name of the graphics output file, if one is created.\",\"help\":\"NAME=\\\"*name*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1320d1ygsiak9n1vsem0rzb5bp5b\"},{\"name\":\"NOAXIS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses all axes, including axis lines, axis labels, axis values, and all major and minor tick marks.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p14ygcdnmmnd9ln1m59aazgwnp3zb\"},{\"name\":\"NOBASEREF\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses the zero reference line when the SUM or MEAN chart statistic has negative values.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p094q430pjalj4n1x0x31nk8w1heb\"},{\"name\":\"NOFRAME\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"NOFR\"],\"description\":\"specifies that no line is drawn around the axis area of a two-dimensional bar chart.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1tikby43ovlzen14cw6yple9t5d\"},{\"name\":\"NOLEGEND\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"NOSYMBOL\"],\"description\":\"suppresses the legend that is automatically generated by the SUBGROUP= option.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0um89b5gvw6uxn1g4etkea1lc1fb\"},{\"name\":\"NOSYMBOL\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"NOLEGEND\"],\"description\":\"suppresses the legend that is automatically generated by the SUBGROUP= option.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0oiu8u2wn76gen1v0f4kwqk7s28b\"},{\"name\":\"NOZERO\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses any midpoints for which there are no corresponding values of the chart variable and, hence, no bar.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0i6m7hnezgxsvn1fqgse3vy3vfhb\"},{\"name\":\"OUTSIDE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"displays the values of the specified statistic above the bars.\",\"help\":\"OUTSIDE=*statistic*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p10gskrfem3wrxn1gog21k579vf4b\"},{\"name\":\"PATTERNID=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies how fill patterns are assigned.\",\"help\":\"PATTERNID=BY | GROUP | MIDPOINT | SUBGROUP\",\"type\":\"choice\",\"arguments\":[{\"name\":\"BY\",\"followsDelimiter\":\"/\",\"description\":\"changes patterns each time the value of the BY variable changes. All bars use the same pattern if the GCHART procedure does not include a BY statement.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0v9594vu778hhn11amrz34xt2ztb\"},{\"name\":\"GROUP\",\"followsDelimiter\":\"/\",\"description\":\"changes patterns every time the value of the group variable changes. All bars in each group use the same pattern, but a different pattern is used for each group.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0uy4sk18wpw3vn1llr4fcv8njx5b\"},{\"name\":\"MIDPOINT\",\"followsDelimiter\":\"/\",\"description\":\"changes patterns every time the midpoint value changes. If you use the GROUP= option, the respective midpoint patterns are repeated for each group.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p07wnx9vyymcc9n19zs6zcniu2hwb\"},{\"name\":\"SUBGROUP\",\"followsDelimiter\":\"/\",\"description\":\"changes patterns every time the value of the subgroup variable changes. The bars must be subdivided by the SUBGROUP= option for the SUBGROUP value to have an effect. Without the SUBGROUP= option, all bars have the same pattern.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n02r94pgi0tegkn1s8ex7pnw9ixjb\"}],\"supportSiteTargetFragment\":\"p1wmpt22tti0vkn1a5i2gyjpgxecb\"},{\"name\":\"PERCENT\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"PCT\"],\"description\":\"prints the percentages of observations having a given value for the chart variable in the table of statistics and above vertical bars.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0nsulqdwae9acn1u2izcfm1viwfb\"},{\"name\":\"PERCENTSUM\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"PCTSUM\"],\"description\":\"calculates a percent of the sum variable for horizontal or vertical bar charts.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0jcpmqhp3jek1n1vv2uh3aoa9ynb\"},{\"name\":\"RANGE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"displays on the axis of the chart the range of numeric values represented by each bar.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n02x4kjmoeyb4pn1da0n2xelw07db\"},{\"name\":\"RAXIS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies values for the major tick mark divisions on the response axis or assigns specified global AXIS statement definitions to the axis.\",\"help\":\"RAXIS=*value-list* | AXIS&lt;*1* ...*99*&gt;\",\"type\":\"choice\",\"arguments\":[{\"name\":\"value-list\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"AXIS\",\"type\":\"standaloneOrValue\"}],\"supportSiteTargetFragment\":\"p1prf9fpr1covgn1ud6tl8afbkotb\"},{\"name\":\"REF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"draws reference lines at the specified points on the response axis.\",\"help\":\"REF=*value* | (*value*) | (*value-list*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"value\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(value)\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(value-list)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p1e2skguyr3q1an1j1afv5d3wsleb\"},{\"name\":\"SHAPE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the shape of the bars in charts that are produced with the HBAR3D and VBAR3D statements.\",\"help\":\"SHAPE=*three-dimensional-bar-shape* \",\"type\":\"value\",\"supportSiteTargetFragment\":\"p06uyk3suy32fmn1syq0606hb4q7\"},{\"name\":\"SPACE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the amount of space between individual bars or between the bars within each group if you also use the GROUP= option.\",\"help\":\"SPACE=*bar-spacing*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0n6sikfgr2zf4n1j9pqnazix52bb\"},{\"name\":\"STATFMT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"SFMT=, SFORMAT=, STATFORMAT=\"],\"description\":\"overrides the GCHART default format of the displayed statistical value.\",\"help\":\"STATFMT=*format-specification*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0678tipebdotin0zl4xemmw5unib\"},{\"name\":\"SUBGROUP=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"divides the bars into segments according to the values of subgroup-variable.\",\"help\":\"SUBGROUP=*subgroup-variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0d7lbr4euiv3gn1lpa0ebo27ea7b\"},{\"name\":\"SUBOUTSIDE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"displays a list of the subgroup values of the specified statistic above the bars.\",\"help\":\"SUBOUTSIDE=statistic\\n        \",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0d8bg5roklkwvn1r0amrstd7qgx\"},{\"name\":\"SUM\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"displays the sum statistic in the table of statistics and above vertical bars.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0pvze7qlycrsyn14th4ijar5go2\"},{\"name\":\"SUMVAR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a numeric variable for sum or mean calculations.\",\"help\":\"SUMVAR=*numeric-variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1pa5azobglm55n16n02gh2vk3ntb\"},{\"name\":\"TYPE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the chart statistic.\",\"help\":\"TYPE=*statistic*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1h5u0ql9pd9bqn1urxo79yyfa6qb\"},{\"name\":\"URL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a character variable whose values are URLs.\",\"help\":\"URL=*character-variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1bm3eu20vq49wn1ef3z79qw78cxb\"},{\"name\":\"WAUTOREF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the line width for reference lines at major tick marks, as determined by the AUTOREF option.\",\"help\":\"WAUTOREF=*reference-line-width*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n128gatatw4eznn1omjlu2aww9ezb\"},{\"name\":\"WGROUPREF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the line width for reference lines between groups of bars produced by the HBAR and VBAR statements.\",\"help\":\"WGROUPREF=*reference-line-width*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0ihpzaodre0xpn1pbz1affu11hgb\"},{\"name\":\"WMIDPOINTREF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the line width for midpoint reference lines between bars produced by the HBAR and VBAR statements.\",\"help\":\"WMIDPOINTREF=*reference-line-width*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n022p42zjqddxtn11c07vp4pte2mb\"},{\"name\":\"WIDTH=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the width of the bars.\",\"help\":\"WIDTH=*bar-width*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1nu5lklcwyjrmn1f8n91nei1of1b\"},{\"name\":\"WOUTLINE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the width of the outline in pixels.\",\"help\":\"WOUTLINE=*bar-outline-width*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1898961wate64n14fww8xx2q3vqb\"},{\"name\":\"WREF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies line widths for reference lines.\",\"help\":\"WREF=*reference-line-width* | (*reference-line-width*) | (*reference-line-width-list*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"reference-line-width\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(reference-line-width)\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(reference-line-width-list)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"n0hiqe2m00i27en1vcpxmitovzsmb\"}],\"supportSiteTargetFile\":\"n185ti5a2ftou3n1ksc6laekum8x.htm\"},{\"name\":\"VBAR3D\",\"description\":\"Create vertical charts in which the length of the bars represents the value of the chart statistic for each category of data.\",\"help\":\"VBAR3D *chart-variable(s)*&lt;/ *options*&gt;;\",\"arguments\":[{\"name\":\"chart-variable\",\"placeholder\":true,\"description\":\"specifies one or more variables that define the categories of data to chart. Each chart variable draws a separate chart. All variables must be in the input data set. Multiple chart variables must be separated with blanks.\",\"help\":\"*chart-variable(s)*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1i6ayvztsa2v5n15lvh8gqynds2\"},{\"name\":\"ANNOTATE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"ANNO=\"],\"description\":\"specifies a data set to annotate all graphs that are produced by the GCHART procedure.\",\"help\":\"ANNOTATE=*Annotate-data-set*\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"p0tjlghqdbscatn1efhhnauz4j27e\"},{\"name\":\"ASCENDING\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"arranges the bars in ascending order of the value of the chart statistic.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n000w61h6ryk5in1s5nrtfpp5pqmc\"},{\"name\":\"AUTOREF\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"draws a reference line at each major tick mark on the response axis.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0kg9fqjf4tcwtn1up13zsrq5eyqc\"},{\"name\":\"AXIS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies values for the major tick marks or assigns specified global AXIS statement definitions to the axis.\",\"help\":\"AXIS=*value-list* | AXIS&lt;*1* ...*99*&gt;\",\"type\":\"choice\",\"arguments\":[{\"name\":\"value-list\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"AXIS\",\"type\":\"standaloneOrValue\"}],\"supportSiteTargetFragment\":\"n012erxovaf7x9n12neyz54bgxgbc\"},{\"name\":\"CAUTOREF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the color of reference lines drawn at major tick marks, as determined by the AUTOREF option.\",\"help\":\"CAUTOREF=*reference-line-color*\",\"type\":\"color\",\"supportSiteTargetFragment\":\"n0cdzin5u58uf8n17lzo2vxvnshpc\"},{\"name\":\"CAXIS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a color for the response and midpoint axis lines and for the default axis area frame.\",\"help\":\"CAXIS=*axis-color*\",\"type\":\"color\",\"supportSiteTargetFragment\":\"n0pbd3g9aqsnhnn1114hyp57pj1nc\"},{\"name\":\"CERROR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the color of error bars in bar charts.\",\"help\":\"CERROR=*error-bar-color*\",\"type\":\"color\",\"supportSiteTargetFragment\":\"p1rytpqxl6daogn1h5llh7915jqqc\"},{\"name\":\"CFRAME=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"CFR=\"],\"description\":\"specifies the color with which to fill the axis area in two-dimensional bar charts or the floor, back wall, and side wall of three-dimensional bar charts.\",\"help\":\"CFRAME=*background-color*\",\"type\":\"color\",\"supportSiteTargetFragment\":\"n0okxysgg87maon1nx85y8en17vyc\"},{\"name\":\"CFREQ\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"displays the cumulative frequency statistic in the table of statistics and above vertical bars.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0ft3y5j6f8erfn1colwr6043xodc\"},{\"name\":\"CLIPREF\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"clips the reference lines at the bars.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0nyi6z8ubfaban1p4qsta5oh3joc\"},{\"name\":\"CLM=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the confidence intervals to use when drawing error bars.\",\"help\":\"CLM=*confidence-level*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0flquqnc9g1x1n1qopuo0ind6y2c\"},{\"name\":\"COUTLINE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"CO=\"],\"description\":\"outlines all bars or bar segments and legend values in the subgroup legend (if it appears) using the specified color.\",\"help\":\"COUTLINE=*bar-outline-color* | SAME\",\"type\":\"choice\",\"arguments\":[{\"name\":\"bar-outline-color\",\"placeholder\":true,\"type\":\"color\"},{\"name\":\"SAME\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"n0l56zx7lzdgpzn1gvpmi1p9abvtc\"},{\"name\":\"CPERCENT\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"CPCT=\"],\"description\":\"displays the cumulative percentage statistic in the table of statistics and above vertical bars.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0x8t8l1uubop7n1n2qf738dcpfjc\"},{\"name\":\"CREF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"CR=\"],\"description\":\"specifies colors for reference lines.\",\"help\":\"CREF=*reference-line-color* | (*reference-line-color*) | (*reference-line-color-list*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"reference-line-color\",\"placeholder\":true,\"type\":\"color\"},{\"name\":\"(reference-line-color)\",\"placeholder\":true,\"type\":\"color\"},{\"name\":\"(reference-line-color-list)\",\"placeholder\":true,\"type\":\"color\"}],\"supportSiteTargetFragment\":\"n0m5g7rh1uhen8n19y2vi1kz7n29c\"},{\"name\":\"CTEXT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"CT=\"],\"description\":\"specifies a color for all text on the axes and legend, including axis labels, tick mark values, legend labels, and legend value descriptions.\",\"help\":\"CTEXT=*text-color*\",\"type\":\"color\",\"supportSiteTargetFragment\":\"p0plj7qdrss6rqn1cyasb63djbqic\"},{\"name\":\"DESCENDING\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"arranges the bars in descending order of the value of the chart statistic.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1ci1aduf53c1un1siohs2ou8vjsc\"},{\"name\":\"DESCRIPTION=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"DES=\"],\"description\":\"specifies a description of the output.\",\"help\":\"DESCRIPTION=\\\"*description*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1iz9r25temltbn1ko9x7in5hdaqc\"},{\"name\":\"DISCRETE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"treats a numeric chart variable as a discrete variable rather than as a continuous variable.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1ktabi6eylrbhn1ahhbp2kq6sioc\"},{\"name\":\"ERRORBAR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"draws confidence levels.\",\"help\":\"ERRORBAR=BARS | BOTH | TOP\",\"type\":\"choice\",\"arguments\":[{\"name\":\"BARS\",\"followsDelimiter\":\"/\",\"description\":\"draws error bars as bars half the width of the main bars.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1olyoi35zvfccn1fbtn8afdd6q7c\"},{\"name\":\"BOTH\",\"followsDelimiter\":\"/\",\"description\":\"draws error bars as two ticks joined by a line (default).\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0028gm9o9pkuwn1mbyfl5byb4l5c\"},{\"name\":\"TOP\",\"followsDelimiter\":\"/\",\"description\":\"draws the error bar as a tick for the upper confidence limit that is joined to the top of the bar by a line.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n16b4vuwddhw5gn17ed5yodz7ljoc\"}],\"supportSiteTargetFragment\":\"n1ks2kxlrxnzfzn18qjspozvbirdc\"},{\"name\":\"FRAME\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"FR\"],\"description\":\"specifies that a back wall is drawn in a three-dimensional bar chart.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1qmfxk2uqlxmhn1qryk14ulnq4v\"},{\"name\":\"FREQ\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"displays the frequency statistic in the table of statistics and above vertical bars.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0otsg9izye7lqn1a9gu1zxrotavc\"},{\"name\":\"FREQ=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a variable whose values weight the contribution of each observation in the computation of the chart statistic.\",\"help\":\"FREQ=*numeric-variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1dmwiws9cmthqn1k5kgkgxjelbjc\"},{\"name\":\"FRONTREF\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that reference lines drawn by the AUTOREF or REF= options should be drawn in front of the bars.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p03yi23gtn249kn1dc65x60wthdfc\"},{\"name\":\"G100\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"calculates the percentage and cumulative percentage statistics separately for each group.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n09zt8ofpxpbpjn1nlr2k8mtxqunc\"},{\"name\":\"GAXIS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"assigns the specified global AXIS definition to the group axis.\",\"help\":\"GAXIS=AXIS&lt;*1* ...*99*&gt;\",\"type\":\"standaloneOrValue\",\"supportSiteTargetFragment\":\"n11xst4zff0pzwn1ha0320gogfvic\"},{\"name\":\"GROUP=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"organizes the data according to values of group-variable.\",\"help\":\"GROUP=*group-variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p00xabqzc7stmjn1k08miz9xphjtc\"},{\"name\":\"GSPACE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the amount of extra space between groups of bars.\",\"help\":\"GSPACE=*group-spacing*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1l3b0cm3wup1vn1w3wa84immw4gc\"},{\"name\":\"HTML=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"identifies the variable in the input data set whose values create links or data tips or both.\",\"help\":\"HTML=*variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0goxa5mmcs5hpn13o8p3t8mpldxc\"},{\"name\":\"HTML_LEGEND=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"identifies the variable in the input data set whose values create links or data tips or both.\",\"help\":\"HTML_LEGEND=*variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0qnogdz4murrjn1xkgfkq42mxz9c\"},{\"name\":\"IFRAME=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"identifies the image file that you want to apply to a two-dimensional chart's axis area or a three-dimensional chart's back wall.\",\"help\":\"IFRAME=*fileref* | '*external-file*'\",\"type\":\"choice\",\"arguments\":[{\"name\":\"fileref\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"'external-file'\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p1n7vtlw077wb4n16qhsbfypfio8c\"},{\"name\":\"IMAGESTYLE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies whether to use multiple instances of an image, or stretch a single image.\",\"help\":\"IMAGESTYLE=TILE | FIT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"TILE\",\"type\":\"standalone\"},{\"name\":\"FIT\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"p0rfo1ckgp8jtbn1lzxzyp0868nnc\"},{\"name\":\"INSIDE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"displays the values of the specified statistic inside the bars.\",\"help\":\"INSIDE=*statistic*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1xodcce1x68h4n1jacxr8ptnmhec\"},{\"name\":\"LAUTOREF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the line type for reference lines at major tick marks, as determined by the AUTOREF option.\",\"help\":\"LAUTOREF=*reference-line-type*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0g0ouho97eju4n1lozro4tfdjxqc\"},{\"name\":\"LEGEND=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"assigns the specified global LEGEND definition to the legend generated by the SUBGROUP= option.\",\"help\":\"LEGEND=LEGEND&lt;*1* ...*99*&gt;\",\"type\":\"standaloneOrValue\",\"supportSiteTargetFragment\":\"n0xng4vdiet7pin1lw9gw5ovhlkbc\"},{\"name\":\"LEVELS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the number of midpoints to be graphed for a chart variable.\",\"help\":\"LEVELS=*number-of-midpoints* | ALL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"number-of-midpoints\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"ALL\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"n16w48pdlvhtdkn17bpvta4u2rnmc\"},{\"name\":\"LGROUPREF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies line types for reference lines dividing each group of bars produced by the HBAR and VBAR statements.\",\"help\":\"LGROUPREF=*reference-line-type*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1tceh4smycp7nn153urnl7ra8vjc\"},{\"name\":\"LMIDPOINTREF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies line types for midpoint reference lines between bars produced by HBAR and VBAR statements.\",\"help\":\"LMIDPOINTREF=*reference-line-type*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0ckdbx6344jxan1rkfiigi4pflzc\"},{\"name\":\"LREF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"LR=\"],\"description\":\"specifies line types for reference lines.\",\"help\":\"LREF=*reference-line-type* | (*reference-line-type*) | (*reference-line-type-list*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"reference-line-type\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(reference-line-type)\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(reference-line-type-list)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"n01aekuzchkkmhn1hy83s4f4p8qbc\"},{\"name\":\"MAXIS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"assigns the specified global AXIS definition to the midpoint axis.\",\"help\":\"MAXIS=AXIS&lt;*1* ...*99*&gt;\",\"type\":\"standaloneOrValue\",\"supportSiteTargetFragment\":\"p1mkon3kw7lmebn187ggmnxoztlsc\"},{\"name\":\"MEAN\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"displays the mean statistic in the table of statistics and above vertical bars.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0zmdot2eq27tdn1qrnob4csw6ztc\"},{\"name\":\"MIDPOINTS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the midpoint values for the bars.\",\"help\":\"MIDPOINTS=*value-list*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n00c0ain6m1i9xn1libal30u2yhqc\"},{\"name\":\"MIDPOINTS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"generates default midpoints using the Nelder algorithm (Applied Statistics 25:94–7, 1976).\",\"help\":\"MIDPOINTS=OLD\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0mrzbxy7api9bn13fzxfg750ynpc\"},{\"name\":\"MINOR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the number of minor tick marks between each major tick mark on the response axis.\",\"help\":\"MINOR=*number-of-minor-ticks*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0lfqh71pqg667n1e0hctgtoey68c\"},{\"name\":\"MISSING\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"accepts a missing value as a valid midpoint for the chart variable.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1rh0udoetmxy7n1c5v6yyuwaa3xc\"},{\"name\":\"NAME=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the name of the GRSEG catalog entry and the name of the graphics output file, if one is created.\",\"help\":\"NAME=\\\"*name*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1320d1ygsiak9n1vsem0rzb5bp5c\"},{\"name\":\"NOAXIS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses all axes, including axis lines, axis labels, axis values, and all major and minor tick marks.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p14ygcdnmmnd9ln1m59aazgwnp3zc\"},{\"name\":\"NOBASEREF\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses the zero reference line when the SUM or MEAN chart statistic has negative values.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p094q430pjalj4n1x0x31nk8w1hec\"},{\"name\":\"NOFRAME\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"NOFR\"],\"description\":\"specifies that no back wall is drawn in a three-dimensional bar chart.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0oloy37vz1qe5n16gzjsla6e6j7\"},{\"name\":\"NOLEGEND\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"NOSYMBOL\"],\"description\":\"suppresses the legend that is automatically generated by the SUBGROUP= option.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0um89b5gvw6uxn1g4etkea1lc1fc\"},{\"name\":\"NOSYMBOL\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"NOLEGEND\"],\"description\":\"suppresses the legend that is automatically generated by the SUBGROUP= option.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0oiu8u2wn76gen1v0f4kwqk7s28c\"},{\"name\":\"NOZERO\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses any midpoints for which there are no corresponding values of the chart variable and, hence, no bar.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0i6m7hnezgxsvn1fqgse3vy3vfhc\"},{\"name\":\"OUTSIDE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"displays the values of the specified statistic above the bars.\",\"help\":\"OUTSIDE=*statistic*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p10gskrfem3wrxn1gog21k579vf4c\"},{\"name\":\"PATTERNID=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies how fill patterns are assigned.\",\"help\":\"PATTERNID=BY | GROUP | MIDPOINT | SUBGROUP\",\"type\":\"choice\",\"arguments\":[{\"name\":\"BY\",\"followsDelimiter\":\"/\",\"description\":\"changes patterns each time the value of the BY variable changes. All bars use the same pattern if the GCHART procedure does not include a BY statement.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0v9594vu778hhn11amrz34xt2ztc\"},{\"name\":\"GROUP\",\"followsDelimiter\":\"/\",\"description\":\"changes patterns every time the value of the group variable changes. All bars in each group use the same pattern, but a different pattern is used for each group.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0uy4sk18wpw3vn1llr4fcv8njx5c\"},{\"name\":\"MIDPOINT\",\"followsDelimiter\":\"/\",\"description\":\"changes patterns every time the midpoint value changes. If you use the GROUP= option, the respective midpoint patterns are repeated for each group.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p07wnx9vyymcc9n19zs6zcniu2hwc\"},{\"name\":\"SUBGROUP\",\"followsDelimiter\":\"/\",\"description\":\"changes patterns every time the value of the subgroup variable changes. The bars must be subdivided by the SUBGROUP= option for the SUBGROUP value to have an effect. Without the SUBGROUP= option, all bars have the same pattern.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n02r94pgi0tegkn1s8ex7pnw9ixjc\"}],\"supportSiteTargetFragment\":\"p1wmpt22tti0vkn1a5i2gyjpgxecc\"},{\"name\":\"PERCENT\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"PCT\"],\"description\":\"prints the percentages of observations having a given value for the chart variable in the table of statistics and above vertical bars.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0nsulqdwae9acn1u2izcfm1viwfc\"},{\"name\":\"PERCENTSUM\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"PCTSUM\"],\"description\":\"calculates a percent of the sum variable for horizontal or vertical bar charts.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0jcpmqhp3jek1n1vv2uh3aoa9ync\"},{\"name\":\"RANGE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"displays on the axis of the chart the range of numeric values represented by each bar.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n02x4kjmoeyb4pn1da0n2xelw07dc\"},{\"name\":\"RAXIS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies values for the major tick mark divisions on the response axis or assigns specified global AXIS statement definitions to the axis.\",\"help\":\"RAXIS=*value-list* | AXIS&lt;*1* ...*99*&gt;\",\"type\":\"choice\",\"arguments\":[{\"name\":\"value-list\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"AXIS\",\"type\":\"standaloneOrValue\"}],\"supportSiteTargetFragment\":\"p1prf9fpr1covgn1ud6tl8afbkotc\"},{\"name\":\"REF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"draws reference lines at the specified points on the response axis.\",\"help\":\"REF=*value* | (*value*) | (*value-list*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"value\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(value)\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(value-list)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p1e2skguyr3q1an1j1afv5d3wslec\"},{\"name\":\"SHAPE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the shape of the bars in charts that are produced with the HBAR3D and VBAR3D statements.\",\"help\":\"SHAPE=three-dimensional-bar-shape\\n        \",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0soyodguf1615n133thqc4udf76a\"},{\"name\":\"SPACE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the amount of space between individual bars or between the bars within each group if you also use the GROUP= option.\",\"help\":\"SPACE=*bar-spacing*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0n6sikfgr2zf4n1j9pqnazix52bc\"},{\"name\":\"STATFMT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"SFMT=, SFORMAT=, STATFORMAT=\"],\"description\":\"overrides the GCHART default format of the displayed statistical value.\",\"help\":\"STATFMT=*format-specification*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0678tipebdotin0zl4xemmw5unic\"},{\"name\":\"SUBGROUP=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"divides the bars into segments according to the values of subgroup-variable.\",\"help\":\"SUBGROUP=*subgroup-variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0d7lbr4euiv3gn1lpa0ebo27ea7c\"},{\"name\":\"SUBOUTSIDE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"displays a list of the subgroup values of the specified statistic above the bars.\",\"help\":\"SUBOUTSIDE=statistic\\n        \",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0d8bg5roklkwvn1r0amrstd7qgxa\"},{\"name\":\"SUM\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"displays the sum statistic in the table of statistics and above vertical bars.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0pvze7qlycrsyn14th4ijar5go2a\"},{\"name\":\"SUMVAR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a numeric variable for sum or mean calculations.\",\"help\":\"SUMVAR=*numeric-variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1pa5azobglm55n16n02gh2vk3ntc\"},{\"name\":\"TYPE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the chart statistic.\",\"help\":\"TYPE=*statistic*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1h5u0ql9pd9bqn1urxo79yyfa6qc\"},{\"name\":\"URL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a character variable whose values are URLs.\",\"help\":\"URL=*character-variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1bm3eu20vq49wn1ef3z79qw78cxc\"},{\"name\":\"WAUTOREF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the line width for reference lines at major tick marks, as determined by the AUTOREF option.\",\"help\":\"WAUTOREF=*reference-line-width*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n128gatatw4eznn1omjlu2aww9ezc\"},{\"name\":\"WGROUPREF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the line width for reference lines between groups of bars produced by the HBAR and VBAR statements.\",\"help\":\"WGROUPREF=*reference-line-width*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0ihpzaodre0xpn1pbz1affu11hgc\"},{\"name\":\"WMIDPOINTREF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the line width for midpoint reference lines between bars produced by the HBAR and VBAR statements.\",\"help\":\"WMIDPOINTREF=*reference-line-width*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n022p42zjqddxtn11c07vp4pte2mc\"},{\"name\":\"WIDTH=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the width of the bars.\",\"help\":\"WIDTH=*bar-width*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1nu5lklcwyjrmn1f8n91nei1of1c\"},{\"name\":\"WOUTLINE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the width of the outline in pixels.\",\"help\":\"WOUTLINE=*bar-outline-width*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1898961wate64n14fww8xx2q3vqc\"},{\"name\":\"WREF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies line widths for reference lines.\",\"help\":\"WREF=*reference-line-width* | (*reference-line-width*) | (*reference-line-width-list*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"reference-line-width\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(reference-line-width)\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(reference-line-width-list)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"n0hiqe2m00i27en1vcpxmitovzsmc\"}],\"supportSiteTargetFile\":\"n0d8pzsmobz6rjn176zjnl9nrt16.htm\"},{\"name\":\"PIE\",\"description\":\"create pie charts. The size of a pie slice represents the value of the chart statistic for that category of data in relation to the total chart statistic for all categories.\",\"help\":\"PIE *chart-variable(s)*&lt;/ *options*&gt;;\",\"arguments\":[{\"name\":\"chart-variable\",\"placeholder\":true,\"description\":\"specifies one or more variables that define the categories of data to chart. Each chart variable draws a separate chart. All variables must be in the input data set. Separate multiple chart variables with blanks.\",\"help\":\"*chart-variable(s)*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0wxuldh6qnj3vn1emo6ax6hav38\"},{\"name\":\"ACROSS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"draws number-of-columns pies across the procedure output area.\",\"help\":\"ACROSS=*number-of-columns*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p192mptltab1xrn1mbait6l68le7\"},{\"name\":\"ANGLE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"starts the first slice at the specified angle.\",\"help\":\"ANGLE=*degrees*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n10xppp12arv34n15wiz3g80jptg\"},{\"name\":\"ANNOTATE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"ANNO=\"],\"description\":\"specifies a data set to annotate all graphs that are produced by the GCHART procedure.\",\"help\":\"ANNOTATE=*Annotate-data-set*\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"p0tjlghqdbscatn1efhhnauz4j27f\"},{\"name\":\"ASCENDING\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"arranges the slices in ascending order of the value of the chart statistic.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0dajkgd2ybln4n1oxl4i04qq6dx\"},{\"name\":\"CFILL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies one color for all patterns in the chart, regardless of whether the fill is solid or hatch.\",\"help\":\"CFILL=*fill-color*\",\"type\":\"color\",\"supportSiteTargetFragment\":\"p156zaw2c9w04tn1muikpat2gulu\"},{\"name\":\"CLOCKWISE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"draws the slices clockwise starting at the twelve o'clock position.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0bkgyi4spoan0n11kvp456zzkxl\"},{\"name\":\"COUTLINE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"CO=\"],\"description\":\"outlines all slices, rings (subgroups), and legend values (if a legend appears) in the specified color.\",\"help\":\"COUTLINE=*slice-outline-color* | SAME\",\"type\":\"choice\",\"arguments\":[{\"name\":\"slice-outline-color\",\"placeholder\":true,\"type\":\"color\"},{\"name\":\"SAME\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"n0eype9m9a01dun1v22hd2ujcezs\"},{\"name\":\"CTEXT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"CT=\"],\"description\":\"specifies a color for all text on the axes and legend.\",\"help\":\"CTEXT=*text-color*\",\"type\":\"color\",\"supportSiteTargetFragment\":\"p0ghuese5ijj8qn1oos3z0x4sfi2\"},{\"name\":\"DESCENDING\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"arranges the slices in descending order of the value of the chart statistic.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1xnw5q9kz2k8en1wpodp405ivlv\"},{\"name\":\"DESCRIPTION=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"DES=\"],\"description\":\"specifies a description of the output.\",\"help\":\"DESCRIPTION=\\\"*description*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p02lhm5xycx81vn1d2mcritotvp7\"},{\"name\":\"DETAIL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"produces an inner pie overlay whose slices show the major components that comprise the outer pie's slice.\",\"help\":\"DETAIL=*variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p156xzekb07ot4n12wjhufl6h8zb\"},{\"name\":\"DETAIL_PERCENT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the algorithm to use for displaying the percentage values for the detail pie slices.\",\"help\":\"DETAIL_PERCENT=BEST | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"BEST\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"n10d7st8mq7q70n122v8o0i9bo7x\"},{\"name\":\"DETAIL_RADIUS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"determines the size of the detail pie.\",\"help\":\"DETAIL_RADIUS=percent\\n        \",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1hee8jjvbe34pn12ld2hlyhgw1y\"},{\"name\":\"DETAIL_SLICE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the algorithm to use for displaying the detail variable labels for the inner pie slices.\",\"help\":\"DETAIL_SLICE=BEST | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"BEST\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"p0of0vc2vlbdm1n1p2asbi04irgm\"},{\"name\":\"DETAIL_THRESHOLD=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"determines whether a detail slice is included in the inner pie.\",\"help\":\"DETAIL_THRESHOLD=*percent*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1w31inrndi794n1wgk528lcwvp1\"},{\"name\":\"DETAIL_VALUE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the algorithm to use for displaying the data values for the detail pie slices.\",\"help\":\"DETAIL_VALUE=BEST | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"BEST\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"p1kva2fq6q57eyn0z26801j4yerh\"},{\"name\":\"DISCRETE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"treats a numeric chart variable as a discrete variable rather than as a continuous variable.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0uyfpx8g75go6n1okffn8rqjr2a\"},{\"name\":\"DOWN=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"draws number-of-rows pies vertically in the procedure output area.\",\"help\":\"DOWN=*number-of-rows*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0u54pdo7ywen9n1fef2s1juuvj9\"},{\"name\":\"EXPLODE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"pulls the specified slices slightly out from the rest of the pie for added emphasis.\",\"help\":\"EXPLODE=*value-list* | ALL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"value-list\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"ALL\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"p1onyvk1ks84tkn1rqwyp2jags26\"},{\"name\":\"FILL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the fill pattern for all slices in the chart.\",\"help\":\"FILL=SOLID | X\",\"type\":\"choice\",\"arguments\":[{\"name\":\"SOLID\",\"type\":\"standalone\"},{\"name\":\"X\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"p044wc5hfcgjxbn166li14z2u30f\"},{\"name\":\"FREQ=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a variable whose values weight the contribution of each observation in the computation of the chart statistic.\",\"help\":\"FREQ=*numeric-variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0o8fciixnzs96n1d0qi60dhymi2\"},{\"name\":\"GROUP=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"organizes the data according to values of group-variable and produces a separate pie (or donut) chart for each unique value of group-variable.\",\"help\":\"GROUP=*group-variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p076jjsksgmj1gn1tevlt1jsz6d7\"},{\"name\":\"HTML=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"identifies the variable in the input data set whose values create links or data tips or both.\",\"help\":\"HTML=*variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p087cwse56lne2n1lu2jipz1wk9h\"},{\"name\":\"HTML_LEGEND=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"identifies the variable in the input data set whose values create links or data tips or both.\",\"help\":\"HTML_LEGEND=*variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n001rokdmvvb1nn180mswpex1nyr\"},{\"name\":\"INVISIBLE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"makes the specified slices invisible, as if they had been removed from the pie.\",\"help\":\"INVISIBLE=*value-list*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p108242vvf7tm1n1o6ykcjujrb2d\"},{\"name\":\"JSTYLE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"arranges the midpoints in descending order of the statistic value and draws the slices clockwise starting at the twelve o'clock position.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1tt8q7atjsl5an0zti7hw6bwvor\"},{\"name\":\"LEGEND\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"generates a legend for the slice names (midpoint values) instead of printing them beside the slices.\",\"help\":\"LEGEND |                     LEGEND=LEGEND&lt;*1* ...*99*&gt;\",\"type\":\"standaloneOrValue\",\"supportSiteTargetFragment\":\"n1k3w1yqq3joyin15cpxblfmqpw1\"},{\"name\":\"LEVELS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the number of midpoints to be graphed for a chart variable.\",\"help\":\"LEVELS=*number-of-midpoints* | ALL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"number-of-midpoints\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"ALL\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"n1hpuwwha7upzan1628301lxkzwk\"},{\"name\":\"MATCHCOLOR\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"uses the slice pattern color for all slice labels.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1naaf59xs117zn133m6f7na2t0y\"},{\"name\":\"MIDPOINTS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the midpoint values for the slices.\",\"help\":\"MIDPOINTS=*value-list*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0jxtf3zejf9o5n1q59zlfsyjn69\"},{\"name\":\"MIDPOINTS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"generates default midpoints using the Nelder algorithm (Applied Statistics 25:94–7, 1976).\",\"help\":\"MIDPOINTS=OLD\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0zeybv0qlous1n1w6rwy6a2t9zb\"},{\"name\":\"MISSING\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"accepts a missing value as a valid midpoint for the chart variable.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1csjf6t4f8ejwn1ikutcgoe4jry\"},{\"name\":\"NAME=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the name of the GRSEG catalog entry and the name of the graphics output file, if one is created.\",\"help\":\"NAME=\\\"*name*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1eiqs7mx8vh1wn1j5dkvg8u2zbn\"},{\"name\":\"NOGROUPHEADING\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses the headings that are normally printed above each pie when you use the GROUP= option.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1e2kvivsdc8c9n16j43luxmrxtk\"},{\"name\":\"NOHEADING\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses the heading that is normally printed at the top of each page or display of output for all devices except JAVAIMG.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1q72eg2uqi9p1n1r4iyjjwv3nqu\"},{\"name\":\"NOLEGEND\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses the legend that is automatically generated by the SUBGROUP= option.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p11wxcuqgkmxi3n11sw1wme60r7y\"},{\"name\":\"OTHER=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"collects all midpoints with chart statistic values less than or equal to percent-of-total into a generic midpoint named OTHER.\",\"help\":\"OTHER=*percent-of-total*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0vhuwlrrvstwhn1b2gind3it0ha\"},{\"name\":\"OTHERCOLOR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the color to use for the OTHER slice.\",\"help\":\"OTHERCOLOR=*color*\",\"type\":\"color\",\"supportSiteTargetFragment\":\"p1317eamwzjk20n13k5s1vp95u8p\"},{\"name\":\"OTHERLABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a text string up to 16 characters for the label for the OTHER slice.\",\"help\":\"OTHERLABEL='*text-string*'\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1mli5pz24zrsin1akxjj9ytqpoy\"},{\"name\":\"PERCENT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"prints the percentage represented by each slice using the specified labeling method.\",\"help\":\"PERCENT=ARROW | INSIDE | NONE | OUTSIDE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ARROW\",\"type\":\"standalone\"},{\"name\":\"INSIDE\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"type\":\"standalone\"},{\"name\":\"OUTSIDE\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"p0n9zmeeqtfftan1wfph4nvl5itl\"},{\"name\":\"PLABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"modifies the font, height, and color of the pie slice labels.\",\"help\":\"PLABEL=(*text-options*)\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0fu1wvbx99vpsn1lcq54wxezelh\"},{\"name\":\"PPERCENT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"modifies the font, height, and color of the displayed percentages associated with the pie slice labels.\",\"help\":\"PPERCENT=(*text-options*)\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n12yzk6c7bo014n1necpk8j25otn\"},{\"name\":\"RADIUS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the radius of the pie and donut in their respective charts.\",\"help\":\"RADIUS=*value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0l6gu84fcoavpn1gpy46u87yhig\"},{\"name\":\"SLICE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"controls the position and style of the slice name (midpoint value) for each slice.\",\"help\":\"SLICE=ARROW | INSIDE | NONE | OUTSIDE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ARROW\",\"type\":\"standalone\"},{\"name\":\"INSIDE\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"type\":\"standalone\"},{\"name\":\"OUTSIDE\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"p1iyrlynyc47axn1i5mxse1e9ydm\"},{\"name\":\"STATFMT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"SFMT=, SFORMAT=, STATFORMAT=\"],\"description\":\"overrides the GCHART default format of the displayed statistical value.\",\"help\":\"STATFMT=*format-specification*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n04140kb1eyjybn0z4ijhaielqc2\"},{\"name\":\"SUBGROUP=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"divides the chart into concentric rings according to the values of subgroup-variable.\",\"help\":\"SUBGROUP=*subgroup-variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n09s1tlslxpzr4n1tes1g2eg1cfa\"},{\"name\":\"SUMVAR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a numeric variable for sum or mean calculations.\",\"help\":\"SUMVAR=*numeric-variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0oulvc3siy4sbn1b1w6mfveqd9g\"},{\"name\":\"TYPE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the chart statistic.\",\"help\":\"TYPE=*statistic*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1jdfxteth8xbcn1fvwwp2bot0ie\"},{\"name\":\"URL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a character variable whose values are URLs.\",\"help\":\"URL=*character-variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1ei4hbt96vshrn1cub4f8328b1f\"},{\"name\":\"VALUE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"controls the position and style of the slice value (chart statistic) for each slice.\",\"help\":\"VALUE=ARROW | INSIDE | NONE | OUTSIDE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ARROW\",\"type\":\"standalone\"},{\"name\":\"INSIDE\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"type\":\"standalone\"},{\"name\":\"OUTSIDE\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"n11gxp0g23q1atn1j7o21w92fe6q\"},{\"name\":\"WOUTLINE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the width of the outline in pixels.\",\"help\":\"WOUTLINE=*slice-outline-width*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1hgcd7df5u2gen1hzr0ean4mydp\"}],\"supportSiteTargetFile\":\"p13h0w5vhbfvern1a23b0f3lvfyh.htm\"},{\"name\":\"PIE3D\",\"description\":\"create three-dimensional pie charts. The size of a pie slice represents the value of the chart statistic for that category of data in relation to the total chart statistic for all categories.\",\"help\":\"PIE3D *chart-variable(s)*&lt;/ *options*&gt;;\",\"arguments\":[{\"name\":\"chart-variable\",\"placeholder\":true,\"description\":\"specifies one or more variables that define the categories of data to chart. Each chart variable draws a separate chart. All variables must be in the input data set. Separate multiple chart variables with blanks.\",\"help\":\"*chart-variable(s)*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1c016g80wly7qn13qvckxo3jydb\"},{\"name\":\"ACROSS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"draws number-of-columns pies across the procedure output area.\",\"help\":\"ACROSS=*number-of-columns*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p192mptltab1xrn1mbait6l68le7a\"},{\"name\":\"ANGLE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"starts the first slice at the specified angle.\",\"help\":\"ANGLE=*degrees*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n10xppp12arv34n15wiz3g80jptga\"},{\"name\":\"ANNOTATE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"ANNO=\"],\"description\":\"specifies a data set to annotate all graphs that are produced by the GCHART procedure.\",\"help\":\"ANNOTATE=*Annotate-data-set*\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"p0tjlghqdbscatn1efhhnauz4j27g\"},{\"name\":\"ASCENDING\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"arranges the slices in ascending order of the value of the chart statistic.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0dajkgd2ybln4n1oxl4i04qq6dxa\"},{\"name\":\"CFILL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies one color for all patterns in the chart, regardless of whether the fill is solid or hatch.\",\"help\":\"CFILL=*fill-color*\",\"type\":\"color\",\"supportSiteTargetFragment\":\"n1i6jdeuw59dy0n136bt1dhqyskh\"},{\"name\":\"CLOCKWISE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"draws the slices clockwise starting at the twelve o'clock position.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0bkgyi4spoan0n11kvp456zzkxla\"},{\"name\":\"COUTLINE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"CO=\"],\"description\":\"outlines all slices, rings (subgroups), and legend values (if a legend appears) in the specified color.\",\"help\":\"COUTLINE=*slice-outline-color* | SAME\",\"type\":\"choice\",\"arguments\":[{\"name\":\"slice-outline-color\",\"placeholder\":true,\"type\":\"color\"},{\"name\":\"SAME\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"n0eype9m9a01dun1v22hd2ujcezsa\"},{\"name\":\"CTEXT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"CT=\"],\"description\":\"specifies a color for all text on the axes and legend.\",\"help\":\"CTEXT=*text-color*\",\"type\":\"color\",\"supportSiteTargetFragment\":\"p0ghuese5ijj8qn1oos3z0x4sfi2a\"},{\"name\":\"DESCENDING\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"arranges the slices in descending order of the value of the chart statistic.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1xnw5q9kz2k8en1wpodp405ivlva\"},{\"name\":\"DESCRIPTION=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"DES=\"],\"description\":\"specifies a description of the output.\",\"help\":\"DESCRIPTION=\\\"*description*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p02lhm5xycx81vn1d2mcritotvp7a\"},{\"name\":\"DISCRETE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"treats a numeric chart variable as a discrete variable rather than as a continuous variable.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0uyfpx8g75go6n1okffn8rqjr2aa\"},{\"name\":\"DOWN=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"draws number-of-rows pies vertically in the procedure output area.\",\"help\":\"DOWN=*number-of-rows*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0u54pdo7ywen9n1fef2s1juuvj9a\"},{\"name\":\"EXPLODE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"pulls the specified slices slightly out from the rest of the pie for added emphasis.\",\"help\":\"EXPLODE=*value-list* | ALL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"value-list\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"ALL\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"p1onyvk1ks84tkn1rqwyp2jags26a\"},{\"name\":\"FILL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the fill pattern for all slices in the chart.\",\"help\":\"FILL=SOLID | X\",\"type\":\"choice\",\"arguments\":[{\"name\":\"SOLID\",\"type\":\"standalone\"},{\"name\":\"X\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"p044wc5hfcgjxbn166li14z2u30fa\"},{\"name\":\"FREQ=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a variable whose values weight the contribution of each observation in the computation of the chart statistic.\",\"help\":\"FREQ=*numeric-variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0o8fciixnzs96n1d0qi60dhymi2a\"},{\"name\":\"GROUP=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"organizes the data according to values of group-variable and produces a separate pie (or donut) chart for each unique value of group-variable.\",\"help\":\"GROUP=*group-variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p076jjsksgmj1gn1tevlt1jsz6d7a\"},{\"name\":\"HTML=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"identifies the variable in the input data set whose values create links or data tips or both.\",\"help\":\"HTML=*variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p087cwse56lne2n1lu2jipz1wk9ha\"},{\"name\":\"HTML_LEGEND=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"identifies the variable in the input data set whose values create links or data tips or both.\",\"help\":\"HTML_LEGEND=*variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n001rokdmvvb1nn180mswpex1nyra\"},{\"name\":\"INVISIBLE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"makes the specified slices invisible, as if they had been removed from the pie.\",\"help\":\"INVISIBLE=*value-list*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p108242vvf7tm1n1o6ykcjujrb2da\"},{\"name\":\"JSTYLE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"arranges the midpoints in descending order of the statistic value and draws the slices clockwise starting at the twelve o'clock position.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1tt8q7atjsl5an0zti7hw6bwvora\"},{\"name\":\"LEGEND\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"generates a legend for the slice names (midpoint values) instead of printing them beside the slices.\",\"help\":\"LEGEND |                     LEGEND=LEGEND&lt;*1* ...*99*&gt;\",\"type\":\"standaloneOrValue\",\"supportSiteTargetFragment\":\"n1k3w1yqq3joyin15cpxblfmqpw1a\"},{\"name\":\"LEVELS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the number of midpoints to be graphed for a chart variable.\",\"help\":\"LEVELS=*number-of-midpoints* | ALL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"number-of-midpoints\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"ALL\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"n1hpuwwha7upzan1628301lxkzwka\"},{\"name\":\"MATCHCOLOR\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"uses the slice pattern color for all slice labels.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1naaf59xs117zn133m6f7na2t0ya\"},{\"name\":\"MIDPOINTS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the midpoint values for the slices.\",\"help\":\"MIDPOINTS=*value-list*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0jxtf3zejf9o5n1q59zlfsyjn69a\"},{\"name\":\"MIDPOINTS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"generates default midpoints using the Nelder algorithm (Applied Statistics 25:94–7, 1976).\",\"help\":\"MIDPOINTS=OLD\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0zeybv0qlous1n1w6rwy6a2t9zba\"},{\"name\":\"MISSING\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"accepts a missing value as a valid midpoint for the chart variable.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1csjf6t4f8ejwn1ikutcgoe4jrya\"},{\"name\":\"NAME=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the name of the GRSEG catalog entry and the name of the graphics output file, if one is created.\",\"help\":\"NAME=\\\"*name*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1eiqs7mx8vh1wn1j5dkvg8u2zbna\"},{\"name\":\"NOGROUPHEADING\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses the headings that are normally printed above each pie when you use the GROUP= option.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1e2kvivsdc8c9n16j43luxmrxtka\"},{\"name\":\"NOHEADING\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses the heading that is normally printed at the top of each page or display of output for all devices except JAVAIMG.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1q72eg2uqi9p1n1r4iyjjwv3nqua\"},{\"name\":\"NOLEGEND\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses the legend that is automatically generated by the SUBGROUP= option.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p11wxcuqgkmxi3n11sw1wme60r7ya\"},{\"name\":\"OTHER=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"collects all midpoints with chart statistic values less than or equal to percent-of-total into a generic midpoint named OTHER.\",\"help\":\"OTHER=*percent-of-total*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0vhuwlrrvstwhn1b2gind3it0haa\"},{\"name\":\"OTHERCOLOR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the color to use for the OTHER slice.\",\"help\":\"OTHERCOLOR=*color*\",\"type\":\"color\",\"supportSiteTargetFragment\":\"p1317eamwzjk20n13k5s1vp95u8pa\"},{\"name\":\"OTHERLABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a text string up to 16 characters for the label for the OTHER slice.\",\"help\":\"OTHERLABEL='*text-string*'\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1mli5pz24zrsin1akxjj9ytqpoya\"},{\"name\":\"PERCENT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"prints the percentage represented by each slice using the specified labeling method.\",\"help\":\"PERCENT=ARROW | INSIDE | NONE | OUTSIDE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ARROW\",\"type\":\"standalone\"},{\"name\":\"INSIDE\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"type\":\"standalone\"},{\"name\":\"OUTSIDE\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"p0n9zmeeqtfftan1wfph4nvl5itla\"},{\"name\":\"PLABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"modifies the font, height, and color of the pie slice labels.\",\"help\":\"PLABEL=(*text-options*)\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0fu1wvbx99vpsn1lcq54wxezelha\"},{\"name\":\"PPERCENT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"modifies the font, height, and color of the displayed percentages associated with the pie slice labels.\",\"help\":\"PPERCENT=(*text-options*)\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n12yzk6c7bo014n1necpk8j25otna\"},{\"name\":\"RADIUS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the radius of the pie and donut in their respective charts.\",\"help\":\"RADIUS=*value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0l6gu84fcoavpn1gpy46u87yhiga\"},{\"name\":\"SLICE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"controls the position and style of the slice name (midpoint value) for each slice.\",\"help\":\"SLICE=ARROW | INSIDE | NONE | OUTSIDE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ARROW\",\"type\":\"standalone\"},{\"name\":\"INSIDE\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"type\":\"standalone\"},{\"name\":\"OUTSIDE\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"p1iyrlynyc47axn1i5mxse1e9ydma\"},{\"name\":\"STATFMT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"SFMT=, SFORMAT=, STATFORMAT=\"],\"description\":\"overrides the GCHART default format of the displayed statistical value.\",\"help\":\"STATFMT=*format-specification*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n04140kb1eyjybn0z4ijhaielqc2a\"},{\"name\":\"SUBGROUP=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"divides the chart into concentric rings according to the values of subgroup-variable.\",\"help\":\"SUBGROUP=*subgroup-variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n09s1tlslxpzr4n1tes1g2eg1cfaa\"},{\"name\":\"SUMVAR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a numeric variable for sum or mean calculations.\",\"help\":\"SUMVAR=*numeric-variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0oulvc3siy4sbn1b1w6mfveqd9ga\"},{\"name\":\"TYPE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the chart statistic.\",\"help\":\"TYPE=*statistic*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1jdfxteth8xbcn1fvwwp2bot0iea\"},{\"name\":\"URL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a character variable whose values are URLs.\",\"help\":\"URL=*character-variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1ei4hbt96vshrn1cub4f8328b1fa\"},{\"name\":\"VALUE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"controls the position and style of the slice value (chart statistic) for each slice.\",\"help\":\"VALUE=ARROW | INSIDE | NONE | OUTSIDE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ARROW\",\"type\":\"standalone\"},{\"name\":\"INSIDE\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"type\":\"standalone\"},{\"name\":\"OUTSIDE\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"n11gxp0g23q1atn1j7o21w92fe6qa\"},{\"name\":\"WOUTLINE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the width of the outline in pixels.\",\"help\":\"WOUTLINE=*slice-outline-width*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1hgcd7df5u2gen1hzr0ean4mydpa\"}],\"supportSiteTargetFile\":\"p11naa2eb90aqvn1d90ncq3g0bm2.htm\"},{\"name\":\"DONUT\",\"description\":\"create donut charts. The size of a pie slice represents the value of the chart statistic for that category of data in relation to the total chart statistic for all categories.\",\"help\":\"DONUT *chart-variable(s)*&lt;/ *options*&gt;;\",\"arguments\":[{\"name\":\"chart-variable\",\"placeholder\":true,\"description\":\"specifies one or more variables that define the categories of data to chart. Each chart variable draws a separate chart. All variables must be in the input data set. Separate multiple chart variables with blanks.\",\"help\":\"*chart-variable(s)*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1pkcsoxiscq8fn1lj2z9oznhb20\"},{\"name\":\"ACROSS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"draws number-of-columns pies across the procedure output area.\",\"help\":\"ACROSS=*number-of-columns*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p192mptltab1xrn1mbait6l68le7b\"},{\"name\":\"ANGLE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"starts the first slice at the specified angle.\",\"help\":\"ANGLE=*degrees*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n10xppp12arv34n15wiz3g80jptgb\"},{\"name\":\"ANNOTATE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"ANNO=\"],\"description\":\"specifies a data set to annotate all graphs that are produced by the GCHART procedure.\",\"help\":\"ANNOTATE=*Annotate-data-set*\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"p0tjlghqdbscatn1efhhnauz4j27h\"},{\"name\":\"ASCENDING\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"arranges the slices in ascending order of the value of the chart statistic.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0dajkgd2ybln4n1oxl4i04qq6dxb\"},{\"name\":\"CFILL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies one color for all patterns in the chart, regardless of whether the fill is solid or hatch.\",\"help\":\"CFILL=*fill-color*\",\"type\":\"color\",\"supportSiteTargetFragment\":\"n0x1cek617mvffn1wj5w9gbmag35\"},{\"name\":\"CLOCKWISE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"draws the slices clockwise starting at the twelve o'clock position.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0bkgyi4spoan0n11kvp456zzkxlb\"},{\"name\":\"COUTLINE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"CO=\"],\"description\":\"outlines all slices, rings (subgroups), and legend values (if a legend appears) in the specified color.\",\"help\":\"COUTLINE=*slice-outline-color* | SAME\",\"type\":\"choice\",\"arguments\":[{\"name\":\"slice-outline-color\",\"placeholder\":true,\"type\":\"color\"},{\"name\":\"SAME\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"n0eype9m9a01dun1v22hd2ujcezsb\"},{\"name\":\"CTEXT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"CT=\"],\"description\":\"specifies a color for all text on the axes and legend.\",\"help\":\"CTEXT=*text-color*\",\"type\":\"color\",\"supportSiteTargetFragment\":\"p0x4mfwvozcjfmn108tn2qyh8iho\"},{\"name\":\"DESCENDING\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"arranges the slices in descending order of the value of the chart statistic.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0crc8q4os5ldkn180a19ozpkgbe\"},{\"name\":\"DESCRIPTION=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"DES=\"],\"description\":\"specifies a description of the output.\",\"help\":\"DESCRIPTION=\\\"*description*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1m4yq4k9dygvfn17skbiug6ec67\"},{\"name\":\"DETAIL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"produces an inner pie overlay whose slices show the major components that comprise the outer pie's slice.\",\"help\":\"DETAIL=*variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p156xzekb07ot4n12wjhufl6h8zba\"},{\"name\":\"DETAIL_PERCENT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the algorithm to use for displaying the percentage values for the detail pie slices.\",\"help\":\"DETAIL_PERCENT=BEST | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"BEST\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"n10d7st8mq7q70n122v8o0i9bo7xa\"},{\"name\":\"DETAIL_RADIUS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"determines the size of the detail pie.\",\"help\":\"DETAIL_RADIUS=percent\\n        \",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1hee8jjvbe34pn12ld2hlyhgw1ya\"},{\"name\":\"DETAIL_SLICE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the algorithm to use for displaying the detail variable labels for the inner pie slices.\",\"help\":\"DETAIL_SLICE=BEST | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"BEST\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"p0of0vc2vlbdm1n1p2asbi04irgma\"},{\"name\":\"DETAIL_THRESHOLD=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"determines whether a detail slice is included in the inner pie.\",\"help\":\"DETAIL_THRESHOLD=*percent*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1w31inrndi794n1wgk528lcwvp1a\"},{\"name\":\"DETAIL_VALUE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the algorithm to use for displaying the data values for the detail pie slices.\",\"help\":\"DETAIL_VALUE=BEST | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"BEST\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"p1kva2fq6q57eyn0z26801j4yerha\"},{\"name\":\"DISCRETE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"treats a numeric chart variable as a discrete variable rather than as a continuous variable.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0uyfpx8g75go6n1okffn8rqjr2ab\"},{\"name\":\"DONUTPCT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the size of the donut hole in percent of the radius of the whole chart.\",\"help\":\"DONUTPCT=*0* ...*99*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p00hy2utowdc3pn1u7ponin0ailz\"},{\"name\":\"DOWN=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"draws number-of-rows pies vertically in the procedure output area.\",\"help\":\"DOWN=*number-of-rows*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0u54pdo7ywen9n1fef2s1juuvj9b\"},{\"name\":\"EXPLODE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"pulls the specified slices slightly out from the rest of the pie for added emphasis.\",\"help\":\"EXPLODE=*value-list* | ALL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"value-list\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"ALL\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"p1onyvk1ks84tkn1rqwyp2jags26b\"},{\"name\":\"FILL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the fill pattern for all slices in the chart.\",\"help\":\"FILL=SOLID | X\",\"type\":\"choice\",\"arguments\":[{\"name\":\"SOLID\",\"type\":\"standalone\"},{\"name\":\"X\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"p044wc5hfcgjxbn166li14z2u30fb\"},{\"name\":\"FREQ=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a variable whose values weight the contribution of each observation in the computation of the chart statistic.\",\"help\":\"FREQ=*numeric-variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0o8fciixnzs96n1d0qi60dhymi2b\"},{\"name\":\"GROUP=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"organizes the data according to values of group-variable and produces a separate pie (or donut) chart for each unique value of group-variable.\",\"help\":\"GROUP=*group-variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p076jjsksgmj1gn1tevlt1jsz6d7b\"},{\"name\":\"HTML=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"identifies the variable in the input data set whose values create links or data tips or both.\",\"help\":\"HTML=*variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p087cwse56lne2n1lu2jipz1wk9hb\"},{\"name\":\"HTML_LEGEND=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"identifies the variable in the input data set whose values create links or data tips or both.\",\"help\":\"HTML_LEGEND=*variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n001rokdmvvb1nn180mswpex1nyrb\"},{\"name\":\"INVISIBLE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"makes the specified slices invisible, as if they had been removed from the pie.\",\"help\":\"INVISIBLE=*value-list*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p108242vvf7tm1n1o6ykcjujrb2db\"},{\"name\":\"JSTYLE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"arranges the midpoints in descending order of the statistic value and draws the slices clockwise starting at the twelve o'clock position.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1tt8q7atjsl5an0zti7hw6bwvorb\"},{\"name\":\"LABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"defines the text that is displayed in the donut hole.\",\"help\":\"LABEL=(*text argument(s)*)\",\"type\":\"value\",\"arguments\":[{\"name\":\"#BYVAL\",\"followsDelimiter\":\"/\",\"description\":\"substitutes the current value of the specified BY variable for #BYVAL in the text string and displays the value produced by the statement. Specify the variable with one of these values:\",\"help\":\"  #BYVAL*n* <br/> #BYVAL(*variable-name*)\",\"type\":\"value\",\"arguments\":[{\"name\":\"n\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies which variable in the BY statement #BYVAL should use. The value of n indicates the position of the variable in the BY statement.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p152link16gmrxn17tbgrpvy6snbc\"},{\"name\":\"variable-name\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"names the BY variable.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0aywj8k42frwsn1d1075rkks2zjc\"}],\"supportSiteTargetFragment\":\"p0g93myce7dkd2n1oub0dnqw6de0c\"},{\"name\":\"#BYVAR\",\"followsDelimiter\":\"/\",\"description\":\"substitutes the name of the BY variable or label associated with the variable (whatever the BY line would normally display) for #BYVAR in the text string and displays the name or label produced by the statement. Specify the variable with one of these:\",\"help\":\"  #BYVAR*n* <br/> #BYVAR(*BY-variable-name*)\",\"type\":\"value\",\"arguments\":[{\"name\":\"n\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies which variable in the BY statement #BYVAR should use. The value of n indicates the position of the variable in the BY statement. For example, #BYVAR2 specifies the second variable in the BY statement.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0edwk5zij4p1dn1dx8j7ljlp2g0c\"},{\"name\":\"BY-variable-name\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"names the BY variable. For example, #BYVAR(SITES) specifies the BY variable, SITES. Variable-name is not case sensitive.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0h7djvvxju8lqn1oopd9m2939nuc\"}],\"supportSiteTargetFragment\":\"n0lq1vfuz9uxsen12rp88i6fk1pjc\"},{\"name\":\"text-description-suboption\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"modifies a characteristic such as the font, color, or size of the text string(s) that follows it. Text-description-suboption can be\\n• ANGLE=<i>degrees</i>\\n• COLOR=<i>color</i>\\n• FONT=<i>font</i>\\n• HEIGHT=<i>text-height</i>              &lt;<i>units</i>&gt;\\n• JUSTIFY=LEFT | CENTER | RIGHT\\n• ROTATE=<i>degrees</i>\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1q2krf9wijut2n1og93uwqrs251\"}],\"supportSiteTargetFragment\":\"p1lidyslh5uu6pn1m1ig428pgop3\"},{\"name\":\"LEGEND\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"generates a legend for the slice names (midpoint values) instead of printing them beside the slices.\",\"help\":\"LEGEND |                     LEGEND=LEGEND&lt;*1* ...*99*&gt;\",\"type\":\"standaloneOrValue\",\"supportSiteTargetFragment\":\"n1k3w1yqq3joyin15cpxblfmqpw1b\"},{\"name\":\"LEVELS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the number of midpoints to be graphed for a chart variable.\",\"help\":\"LEVELS=*number-of-midpoints* | ALL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"number-of-midpoints\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"ALL\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"n1hpuwwha7upzan1628301lxkzwkb\"},{\"name\":\"MATCHCOLOR\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"uses the slice pattern color for all slice labels.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1naaf59xs117zn133m6f7na2t0yb\"},{\"name\":\"MIDPOINTS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the midpoint values for the slices.\",\"help\":\"MIDPOINTS=*value-list*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0jxtf3zejf9o5n1q59zlfsyjn69b\"},{\"name\":\"MIDPOINTS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"generates default midpoints using the Nelder algorithm (Applied Statistics 25:94–7, 1976).\",\"help\":\"MIDPOINTS=OLD\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0zeybv0qlous1n1w6rwy6a2t9zbb\"},{\"name\":\"MISSING\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"accepts a missing value as a valid midpoint for the chart variable.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1csjf6t4f8ejwn1ikutcgoe4jryb\"},{\"name\":\"NAME=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the name of the GRSEG catalog entry and the name of the graphics output file, if one is created.\",\"help\":\"NAME=\\\"*name*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1eiqs7mx8vh1wn1j5dkvg8u2zbnb\"},{\"name\":\"NOGROUPHEADING\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses the headings that are normally printed above each pie when you use the GROUP= option.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1e2kvivsdc8c9n16j43luxmrxtkb\"},{\"name\":\"NOHEADING\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses the heading that is normally printed at the top of each page or display of output for all devices except JAVAIMG.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1q72eg2uqi9p1n1r4iyjjwv3nqub\"},{\"name\":\"NOLEGEND\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses the legend that is automatically generated by the SUBGROUP= option.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p11wxcuqgkmxi3n11sw1wme60r7yb\"},{\"name\":\"OTHER=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"collects all midpoints with chart statistic values less than or equal to percent-of-total into a generic midpoint named OTHER.\",\"help\":\"OTHER=*percent-of-total*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0vhuwlrrvstwhn1b2gind3it0hab\"},{\"name\":\"OTHERCOLOR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the color to use for the OTHER slice.\",\"help\":\"OTHERCOLOR=*color*\",\"type\":\"color\",\"supportSiteTargetFragment\":\"p1317eamwzjk20n13k5s1vp95u8pb\"},{\"name\":\"OTHERLABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a text string up to 16 characters for the label for the OTHER slice.\",\"help\":\"OTHERLABEL='*text-string*'\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1mli5pz24zrsin1akxjj9ytqpoyb\"},{\"name\":\"PERCENT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"prints the percentage represented by each slice using the specified labeling method.\",\"help\":\"PERCENT=ARROW | INSIDE | NONE | OUTSIDE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ARROW\",\"type\":\"standalone\"},{\"name\":\"INSIDE\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"type\":\"standalone\"},{\"name\":\"OUTSIDE\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"p0n9zmeeqtfftan1wfph4nvl5itlb\"},{\"name\":\"PLABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"modifies the font, height, and color of the pie slice labels.\",\"help\":\"PLABEL=(*text-options*)\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0fu1wvbx99vpsn1lcq54wxezelhb\"},{\"name\":\"PPERCENT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"modifies the font, height, and color of the displayed percentages associated with the pie slice labels.\",\"help\":\"PPERCENT=(*text-options*)\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n12yzk6c7bo014n1necpk8j25otnb\"},{\"name\":\"RADIUS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the radius of the pie and donut in their respective charts.\",\"help\":\"RADIUS=*value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0l6gu84fcoavpn1gpy46u87yhigb\"},{\"name\":\"SLICE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"controls the position and style of the slice name (midpoint value) for each slice.\",\"help\":\"SLICE=ARROW | INSIDE | NONE | OUTSIDE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ARROW\",\"type\":\"standalone\"},{\"name\":\"INSIDE\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"type\":\"standalone\"},{\"name\":\"OUTSIDE\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"p1iyrlynyc47axn1i5mxse1e9ydmb\"},{\"name\":\"STATFMT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"SFMT=, SFORMAT=, STATFORMAT=\"],\"description\":\"overrides the GCHART default format of the displayed statistical value.\",\"help\":\"STATFMT=*format-specification*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n04140kb1eyjybn0z4ijhaielqc2b\"},{\"name\":\"SUBGROUP=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"divides the chart into concentric rings according to the values of subgroup-variable.\",\"help\":\"SUBGROUP=*subgroup-variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n09s1tlslxpzr4n1tes1g2eg1cfab\"},{\"name\":\"SUMVAR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a numeric variable for sum or mean calculations.\",\"help\":\"SUMVAR=*numeric-variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0oulvc3siy4sbn1b1w6mfveqd9gb\"},{\"name\":\"TYPE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the chart statistic.\",\"help\":\"TYPE=*statistic*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1jdfxteth8xbcn1fvwwp2bot0ieb\"},{\"name\":\"URL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a character variable whose values are URLs.\",\"help\":\"URL=*character-variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1ei4hbt96vshrn1cub4f8328b1fb\"},{\"name\":\"VALUE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"controls the position and style of the slice value (chart statistic) for each slice.\",\"help\":\"VALUE=ARROW | INSIDE | NONE | OUTSIDE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ARROW\",\"type\":\"standalone\"},{\"name\":\"INSIDE\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"type\":\"standalone\"},{\"name\":\"OUTSIDE\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"n11gxp0g23q1atn1j7o21w92fe6qb\"},{\"name\":\"WOUTLINE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the width of the outline in pixels.\",\"help\":\"WOUTLINE=*slice-outline-width*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1hgcd7df5u2gen1hzr0ean4mydpb\"},{\"name\":\"ANGLE=\",\"optional\":true,\"aliases\":[\"A=\"],\"description\":\"specifies the angle at which the baseline of the text string or strings is rotated with respect to the horizontal. A positive value for degrees moves the baseline counterclockwise; a negative value moves it clockwise. By default, ANGLE=0 (horizontal).\",\"help\":\"ANGLE=*degrees*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p04d2cbm4wbwe0n1fw62l61j2m9m\"},{\"name\":\"COLOR=\",\"optional\":true,\"aliases\":[\"C=\"],\"description\":\"specifies the color for the text string or strings. The COLOR= suboption stays in effect until another COLOR= specification is encountered. If you omit the COLOR= option, the LABEL= option uses the color defined by the current style.\",\"help\":\"COLOR=*color*\",\"type\":\"color\",\"supportSiteTargetFragment\":\"n0bf302k1tl6xzn1nw0ddtqy57uv\"},{\"name\":\"FONT=\",\"optional\":true,\"aliases\":[\"F=\"],\"description\":\"specifies the font for the text string or strings. If you omit the FONT= option, the LABEL= option uses the font that is specified by the FTEXT= graphics option. If no font is specified, it uses the default hardware font, NONE.\",\"help\":\"FONT=*font*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n188gqh7k46me2n1ai0j1zvj8m9o\"},{\"name\":\"HEIGHT=\",\"optional\":true,\"aliases\":[\"H=\"],\"description\":\"specifies the height of the text string or strings. Text-height is the number of units. If you omit the HEIGHT= option, the LABEL= option uses the height that is specified by the HTEXT= graphics option. If no text height is specified and if the default text height is too large for the donut hole, the size of the label is reduced to fit. Units can be CELLS | CM | IN | PCT | PT. If you omit units, then the HEIGHT= option uses the unit that is specified by the GUNIT= graphics option, or the default unit, CELLS.\",\"help\":\"HEIGHT=*text-height* &lt;*units*&gt;  \",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0crao8ie4iesln16rii3z0m9ses\"},{\"name\":\"JUSTIFY=\",\"optional\":true,\"aliases\":[\"J=\"],\"description\":\"specifies the alignment of the text string or strings. By default, JUSTIFY=CENTER.\",\"help\":\"JUSTIFY=LEFT | CENTER | RIGHT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"LEFT\",\"type\":\"standalone\"},{\"name\":\"CENTER\",\"type\":\"standalone\"},{\"name\":\"RIGHT\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"p1nyqxk6az7nydn1ll2y9j1b8wov\"},{\"name\":\"ROTATE=\",\"optional\":true,\"description\":\"specifies the angle at which each character is rotated with respect to the baseline of the text string. The angle is measured from the current text baseline angle specified by the ANGLE= suboption. A positive value for degrees rotates the character counterclockwise; a negative value rotates it clockwise. By default, ROTATE=0 (parallel to the baseline).\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p19fmbmzo43roon16n6r9gpczki2\"}],\"supportSiteTargetFile\":\"n0z2axz8jftanxn1k4oebc48wvxp.htm\"},{\"name\":\"STAR\",\"description\":\"Creates star charts in which the length of the spines represents the value of the chart statistic for each category of data or midpoint.\",\"help\":\"STAR *chart-variable(s)*&lt;/ *options*&gt;;\",\"arguments\":[{\"name\":\"chart-variable\",\"placeholder\":true,\"description\":\"specifies one or more variables that define the categories of data to chart. Each chart variable draws a separate chart. All variables must be in the input data set. Separate multiple chart variables with blanks.\",\"help\":\"*chart-variable(s)*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1tc7dpwyhpalpn1b95sw8jo5lh6\"},{\"name\":\"ACROSS=\",\"optional\":true,\"description\":\"draws number-of-columns stars across the procedure output area.\",\"help\":\"ACROSS=*number-of-columns*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n06w48rhc0pmrxn123zhjbmlzce3\"},{\"name\":\"ANGLE=\",\"optional\":true,\"description\":\"starts the first slice at the specified angle.\",\"help\":\"ANGLE=*degrees*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0970cd7kw5rr8n1ibson3bu69b6\"},{\"name\":\"ANNOTATE=\",\"optional\":true,\"aliases\":[\"ANNO=\"],\"description\":\"specifies a data set to annotate all graphs that are produced by the GCHART procedure.\",\"help\":\"ANNOTATE=*Annotate-data-set*\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"p0tjlghqdbscatn1efhhnauz4j27i\"},{\"name\":\"ASCENDING\",\"optional\":true,\"description\":\"arranges the bars in ascending order of the value of the chart statistic.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n10kabit38oh34n1oj52apcfwkr4\"},{\"name\":\"CFILL=\",\"optional\":true,\"description\":\"specifies one color for all slices in the chart, regardless of whether the fill is solid or hatch.\",\"help\":\"CFILL=*fill-color*\",\"type\":\"color\",\"supportSiteTargetFragment\":\"p1hs6yztpilmeun1ucsxqqri2tof\"},{\"name\":\"COUTLINE=\",\"optional\":true,\"aliases\":[\"CO=\"],\"description\":\"specifies the color for the circle that surrounds the star chart and for the slice outlines or spines.\",\"help\":\"COUTLINE=*star-outline-color* | SAME\",\"type\":\"choice\",\"arguments\":[{\"name\":\"star-outline-color\",\"placeholder\":true,\"type\":\"color\"},{\"name\":\"SAME\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"p07kmtymcwnbk2n1wkz5uwlvhd6x\"},{\"name\":\"CTEXT=\",\"optional\":true,\"aliases\":[\"CT=\"],\"description\":\"specifies a color for all text on the axes and legend.\",\"help\":\"CTEXT=*text-color*\",\"type\":\"color\",\"supportSiteTargetFragment\":\"n0qnhe8792r2ean1g04xds4hxa56\"},{\"name\":\"DESCENDING\",\"optional\":true,\"description\":\"arranges the bars in descending order of the value of the chart statistic.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p18r4uqqsbtwjen15b18i6ct251e\"},{\"name\":\"DESCRIPTION=\",\"optional\":true,\"aliases\":[\"DES=\"],\"description\":\"specifies a description of the output.\",\"help\":\"DESCRIPTION=\\\"*description*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0k9ed9xdzcr7pn1rm7antv7n3kk\"},{\"name\":\"DISCRETE\",\"optional\":true,\"description\":\"treats a numeric chart variable as a discrete variable rather than as a continuous variable.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1o95f5x8f9mi9n1tjc8873jvs9w\"},{\"name\":\"DOWN=\",\"optional\":true,\"description\":\"draws number-of-rows stars vertically in the procedure output area.\",\"help\":\"DOWN=*number-of-rows*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1dsgfq7te1z7cn1cqb942tpb0i8\"},{\"name\":\"FILL=\",\"optional\":true,\"description\":\"specifies the fill pattern for all slices in the star chart.\",\"help\":\"FILL=SOLID | X\",\"type\":\"choice\",\"arguments\":[{\"name\":\"SOLID\",\"aliases\":[\"S\"],\"description\":\"rotates a solid fill through the list of colors available in the default style as many times as necessary. SOLID is the default.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p13wq20506o4zfn1xco88my6vjbj\"},{\"name\":\"X\",\"description\":\"rotates a single hatch pattern through the list of colors defined in the current style. If you do not specify the COLORS= option on the GOPTIONS system option, the fill skips the first color in the color list.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0dt5vragdkdi8n1li12evtaq0ij\"}],\"supportSiteTargetFragment\":\"p1o0jhirm7lwqyn1h0q7mwpcpnr2\"},{\"name\":\"FREQ=\",\"optional\":true,\"description\":\"specifies a variable whose values weight the contribution of each observation in the computation of the chart statistic.\",\"help\":\"FREQ=*numeric-variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0t0hm96pf0xfsn1cgaxes9wo0o0\"},{\"name\":\"GROUP=\",\"optional\":true,\"description\":\"organizes the data according to values of group-variable and produces a separate star chart for each unique value of group-variable.\",\"help\":\"GROUP=*variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n161ajwumbt8usn1j4oo11y27xs9\"},{\"name\":\"HTML=\",\"optional\":true,\"description\":\"identifies the variable in the input data set whose values create links or data tips or both.\",\"help\":\"HTML=*variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n05e5jeko8u9m6n1hldejckee85w\"},{\"name\":\"HTML_LEGEND=\",\"optional\":true,\"description\":\"identifies the variable in the input data set whose values create links or data tips or both.\",\"help\":\"HTML_LEGEND=*variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1sucln79crsltn1sx0qwpye1bbn\"},{\"name\":\"LEGEND=\",\"optional\":true,\"description\":\"assigns the specified LEGEND definition to the legend generated by the SUBGROUP= option.\",\"help\":\"LEGEND=LEGEND&lt;1  ...99&gt;\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0bfraxt76emdgn169rxzchxwllq\"},{\"name\":\"LEVELS=\",\"optional\":true,\"description\":\"specifies number of midpoints to be graphed for a chart variable.\",\"help\":\"LEVELS=*number-of-midpoints* | ALL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"number-of-midpoints\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"ALL\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"n1v49w3812j3a1n1wkgowyew9xdm\"},{\"name\":\"MATCHCOLOR\",\"optional\":true,\"description\":\"uses the slice pattern color for all slice labels.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0jpeb9er1a6uln15t3s4omufiv6\"},{\"name\":\"MIDPOINTS=\",\"optional\":true,\"description\":\"specifies the midpoint values for the slices.\",\"help\":\"MIDPOINTS=*value-list*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1h360v2ce1wpin17e4lizzcjs6z\"},{\"name\":\"MIDPOINTS=\",\"optional\":true,\"description\":\"generates default midpoints using the Nelder algorithm (Applied Statistics 25:94–7, 1976).\",\"help\":\"MIDPOINTS=OLD\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n002zq3n4o9oqzn1mglbcq6uixqa\"},{\"name\":\"MISSING\",\"optional\":true,\"description\":\"accepts a missing value as a valid midpoint for the chart variable.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0a9fujnzbsdb0n1l9gmmlqkgc4f\"},{\"name\":\"NAME=\",\"optional\":true,\"description\":\"specifies the name of the GRSEG catalog entry and the name of the graphics output file, if one is created.\",\"help\":\"NAME=\\\"*name*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0dkhgu5ldcdjrn1kzobub7o2nax\"},{\"name\":\"NOCONNECT\",\"optional\":true,\"description\":\"draws only star spines without connecting lines.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0qxir245foccon1xak4aoa3924b\"},{\"name\":\"NOGROUPHEADING\",\"optional\":true,\"description\":\"suppresses the headings normally printed above each star when you use the GROUP= option.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0x1fpfe13luqzn14y3akdno6zj9\"},{\"name\":\"NOHEADING\",\"optional\":true,\"description\":\"suppresses the heading normally printed at the top of each page or display of star chart output.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0pj6p7yq6qmljn13a25fip4h9bt\"},{\"name\":\"NOLEGEND\",\"optional\":true,\"description\":\"suppresses the legend automatically generated by the SUBGROUP= option.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1hcn7dn37vw5fn1ckdfej8cif7b\"},{\"name\":\"PERCENT=\",\"optional\":true,\"description\":\"prints the percentage represented by each slice using the specified labeling method.\",\"help\":\"PERCENT=ARROW | INSIDE | NONE | OUTSIDE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ARROW\",\"type\":\"standalone\"},{\"name\":\"INSIDE\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"type\":\"standalone\"},{\"name\":\"OUTSIDE\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"p0eqounrql47lnn1sqmnz83v80q6\"},{\"name\":\"SLICE=\",\"optional\":true,\"description\":\"controls the position and style of the slice name (midpoint value) for each slice.\",\"help\":\"SLICE=ARROW | INSIDE | NONE | OUTSIDE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ARROW\",\"type\":\"standalone\"},{\"name\":\"INSIDE\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"type\":\"standalone\"},{\"name\":\"OUTSIDE\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"p1jecqe2y26gd2n1baemmc3kskid\"},{\"name\":\"STARMAX=\",\"optional\":true,\"description\":\"scales the chart so that the outside (or edge) of the circle represents the value that is specified by max-value.\",\"help\":\"STARMAX=*max-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p18okv1wvceyhgn155dxjcul78gw\"},{\"name\":\"STARMIN=\",\"optional\":true,\"description\":\"scales the chart so that the center of the circle represents the value that is specified by min-value.\",\"help\":\"STARMIN=*min-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0v6pztbzwilown1tadgdh8mz75g\"},{\"name\":\"STATFMT=\",\"optional\":true,\"aliases\":[\"SFMT=, SFORMAT=, STATFORMAT=\"],\"description\":\"overrides the GCHART default format of the displayed statistical value.\",\"help\":\"STATFMT=*format-specification*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1or4gx246qqa0n19jo61c67bze8\"},{\"name\":\"SUMVAR=\",\"optional\":true,\"description\":\"specifies a numeric variable for sum or mean calculations.\",\"help\":\"SUMVAR=*numeric-variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1meuc165xihuun1iae0s1nufo6n\"},{\"name\":\"TYPE=\",\"optional\":true,\"description\":\"specifies the chart statistic.\",\"help\":\"TYPE=*statistic*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p096ibchqs44mcn1quhc9rvr2pzn\"},{\"name\":\"URL=\",\"optional\":true,\"description\":\"specifies a character variable whose values are URLs.\",\"help\":\"URL=*character-variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1cvxhpl959iuqn16hkabjtsn3b2\"},{\"name\":\"VALUE=\",\"optional\":true,\"description\":\"controls the position and style of the slice value (chart statistic) for each slice.\",\"help\":\"VALUE=ARROW | INSIDE | NONE | OUTSIDE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ARROW\",\"type\":\"standalone\"},{\"name\":\"INSIDE\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"type\":\"standalone\"},{\"name\":\"OUTSIDE\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"p0amybiq1pqebsn1rdivy9c1n5ug\"},{\"name\":\"WOUTLINE=\",\"optional\":true,\"description\":\"specifies the width of the outline in pixels.\",\"help\":\"WOUTLINE=*slice-outline-width*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p03eofichhiv02n1f06ja9y6zeb9\"}],\"supportSiteTargetFile\":\"n1moypspy158cqn18wsbi5suuwod.htm\"},{\"name\":\"ATTRIB\",\"description\":\"Associates a format, informat, label, and length with one or more variables.\",\"help\":\"ATTRIB  *variable-list(s)**attribute-list(s)*;\",\"arguments\":[{\"name\":\"variable-list\",\"optional\":true,\"placeholder\":true,\"description\":\"names the variables that you want to associate with the attributes.\",\"help\":\"*variable-list(s)*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1nd0mq22iu6ovn14mz1ot1hwcjia\"},{\"name\":\"FORMAT=\",\"description\":\"associates a format with variables in variable-list.\",\"help\":\"FORMAT=*format*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p08pt9ce6bhq86n18a3zcc97bldza\"},{\"name\":\"INFORMAT=\",\"description\":\"associates an informat with variables in variable-list.\",\"help\":\"INFORMAT=*informat*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n136glco6ritqdn160792yhk9mv1a\"},{\"name\":\"LABEL=\",\"description\":\"associates a label with variables in variable-list.\",\"help\":\"LABEL='*label*' \",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0a9x9io5pi05mn1i4p2cphc7t0na\"}],\"supportSiteTargetFile\":\"n09bxytcjmyp75n1mc29q45qhpmsa.htm\"},{\"name\":\"BY\",\"description\":\"Orders the output according to the BY groups.\",\"help\":\"BY <DESCENDING>variable-1\\n\\t<-<DESCENDING> variable-n>\\n\\t<NOTSORTED>;\",\"arguments\":[{\"name\":\"variable\",\"placeholder\":true,\"description\":\"specifies the variable that the procedure uses to form BY groups. You can specify more than one variable. If you do not use the NOTSORTED option in the BY statement, then either the observations in the data set must be sorted by all the variables that you specify, or they must be indexed appropriately. Variables in a BY statement are called BY variables.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0e9kbav2i9chhn1xectebpz4s14a\"},{\"name\":\"DESCENDING\",\"optional\":true,\"description\":\"specifies that the observations are sorted in descending order by the variable that immediately follows the word DESCENDING in the BY statement.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1au0lhf4hi1h2n1le3cx2tp74l5a\"},{\"name\":\"NOTSORTED\",\"optional\":true,\"description\":\"specifies that observations are not necessarily sorted in alphabetic or numeric order. The observations are grouped in another way (for example, chronological order).\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p068zvjhrpn2awn1bygis4m6hppaa\"}],\"supportSiteTargetFile\":\"p1tkzb6q5jl1omn1payndkh1g3nwa.htm\"},{\"name\":\"FORMAT\",\"description\":\"Associates formats with variables.\",\"help\":\"FORMAT *variable-1*&lt;-*variable-n*&gt;&lt;*format-1*&gt;&lt;*variable-1*&lt;-*variable-n*&gt;&lt;*format-2*&gt;&gt; - &lt;DEFAULT=*default-format*&gt;;\",\"arguments\":[{\"name\":\"variable\",\"placeholder\":true,\"description\":\"names one or more variables for SAS to associate with a format. You must specify at least one variable.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1d0cionbspk2tn1ma0m6kjd1ntxa\"},{\"name\":\"format\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the format that is listed for writing the values of the variables.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0oulvct798v2wn1lll17t854rg8a\"},{\"name\":\"DEFAULT=\",\"optional\":true,\"description\":\"specifies a temporary default format for displaying the values of variables that are not listed in the FORMAT statement. These default formats apply only to the current DATA step; they are not permanently associated with variables in the output data set.\",\"help\":\"DEFAULT=*default-format*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0k0jb3arokdz9n1g3q3zizh81g4a\"}],\"supportSiteTargetFile\":\"n1x0d6bnw9wtyun1rhq5p7tis5gsa.htm\"},{\"name\":\"LABEL\",\"description\":\"Assigns descriptive labels to variables.\",\"help\":\"Form 1: Creates a descriptive label for one or more variables.\\nLABEL variable-1=’text-string’ < ...variable-n=’text-string>; \\nForm 2: Removes the label from one or more variables.\\nLABEL variable-1 = ' ' < ...variable-n=’ ‘>; | variable-1 = < ...variable-n= >\",\"arguments\":[{\"name\":\"text-string\",\"placeholder\":true,\"description\":\"specifies a label of up to 256 bytes.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n09u0k5ydxzgr3n1dfznhvex7uuoa\"},{\"name\":\"'\",\"placeholder\":true,\"description\":\"removes a label from a variable. Enclose a single blank space in quotation marks to remove an existing label. You can remove labels from multiple variables in a single LABEL statement:\",\"help\":\"*' '*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1dl99omzes92cn1typpf6yl1ng0a\"}],\"supportSiteTargetFile\":\"n0b8jun5pu2j52n1duycwzzhrtmwa.htm\"},{\"name\":\"NOTE\",\"description\":\"Control the content, appearance, and placement of text.\",\"help\":\"NOTE &lt;*text-options*&gt;&lt;‘*text-string*’&gt;;\",\"arguments\":[{\"name\":\"ALT=\",\"description\":\"specifies descriptive text for a URL to which a note links, or the note itself.\",\"help\":\"ALT=\\\"*text-string*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1ss7qwa0a8ym6n10yt0pvlswkhla\"},{\"name\":\"ANGLE=\",\"aliases\":[\"A=\"],\"description\":\"specifies the angle of the baseline of the entire text string with respect to the horizontal.\",\"help\":\"ANGLE=*degrees*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0agfl3v4cz076n1vq0sm0kpc7u9a\"},{\"name\":\"BCOLOR=\",\"aliases\":[\"BC=\"],\"description\":\"specifies the background color of a box produced by the BOX= option.\",\"help\":\"BCOLOR=*background-color*\",\"type\":\"color\",\"supportSiteTargetFragment\":\"n0p6kae6bogf6ln1qfi5lumfuqsla\"},{\"name\":\"BLANK=\",\"aliases\":[\"BL=\"],\"description\":\"protects the box and its contents from being overwritten by any subsequent graphics elements.\",\"help\":\"BLANK=YES\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1k1qe16mrandmn1p5d6zmfzbpp3a\"},{\"name\":\"BOX=\",\"aliases\":[\"BO=\"],\"description\":\"draws a box around one line of text.\",\"help\":\"BOX=*1* - *4*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1gsgi19gb631mn1u3ohvku3h9fra\"},{\"name\":\"BSPACE=\",\"aliases\":[\"BS=\"],\"description\":\"specifies the amount of space between the boxed text and the box.\",\"help\":\"BSPACE=*box-space*&lt;*units*&gt;\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1bsvoi1ejzgldn13u0ctqhoumr7a\"},{\"name\":\"COLOR=\",\"aliases\":[\"C=\"],\"description\":\"specifies the color for the following text, box, or line.\",\"help\":\"COLOR=*color*\",\"type\":\"color\",\"supportSiteTargetFragment\":\"p0sbrdi8whe59cn1trrly9i486a2a\"},{\"name\":\"DRAW=\",\"aliases\":[\"D=\"],\"description\":\"draws lines anywhere on the graphics output area.\",\"help\":\"DRAW=(*x,y* - ,*x-n,y-n*)&lt;*units*&gt;\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1ek60b1m99g1en1p2vat39gnk0ua\"},{\"name\":\"FONT=\",\"aliases\":[\"F=\"],\"description\":\"specifies the font for the subsequent text.\",\"help\":\"FONT=*font*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n14ghk49hvnj9bn1dggqdp9185h0a\"},{\"name\":\"HEIGHT=\",\"aliases\":[\"H=\"],\"description\":\"specifies the height of text characters in number of units.\",\"help\":\"HEIGHT=*text-height*&lt;*units*&gt;\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1nstxzbtib4yon17b1z48u1xc43a\"},{\"name\":\"JUSTIFY=\",\"description\":\"specifies the alignment of the text string.\",\"help\":\"JUSTIFY=LEFT | CENTER | RIGHT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"LEFT\",\"aliases\":[\"L\"],\"description\":\"aligns the text to the left.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1bd3ccior85vpn1j8yydbva53oha\"},{\"name\":\"CENTER\",\"aliases\":[\"C\"],\"description\":\"aligns the text in the center.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1xzocqktoshbhn0zj41vgrrpcf0a\"},{\"name\":\"RIGHT\",\"aliases\":[\"R\"],\"description\":\"aligns the text to the right.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0d72p8dhm0aken19ezwvnuh89hja\"}],\"supportSiteTargetFragment\":\"p0ic105d0qi1len198gj233aunvxa\"},{\"name\":\"LANGLE=\",\"aliases\":[\"LA=\"],\"description\":\"specifies the angle of the entire text-string(s).\",\"help\":\"LANGLE=*degrees*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p17asd7cxorhh0n13ock77km9umwa\"},{\"name\":\"LINK=\",\"description\":\"specifies a uniform resource locator (URL) to which a note links.\",\"help\":\"LINK=\\\"*URL*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1g7nbregrkazwn13yab35dwunkfa\"},{\"name\":\"LSPACE=\",\"aliases\":[\"LS=\"],\"description\":\"specifies the amount of spacing above and below lines of text.\",\"help\":\"LSPACE=*line-space* &lt;*units*&gt;\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1rvmh79wukiwin10y0uxgndzm0ka\"},{\"name\":\"MOVE=\",\"aliases\":[\"M=\"],\"description\":\"positions a text string.\",\"help\":\"MOVE=(*x*,*y*) &lt;*units*&gt;\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1b4ii0h0nvyl9n1n3f3rq4bcmd7a\"},{\"name\":\"ROTATE=\",\"aliases\":[\"R=\"],\"description\":\"specifies the angle at which each character of text is rotated.\",\"help\":\"ROTATE=*degrees*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0eixp1t2i8jh7n18f5h9abmkbd9a\"},{\"name\":\"UNDERLIN=\",\"aliases\":[\"U=\",\"UNDERLINE=\"],\"description\":\"underlines subsequent text.\",\"help\":\"UNDERLIN=*0* - *3*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0odrift6g8tevn1wlkt3yirab29a\"},{\"name\":\"WRAP\",\"description\":\"wraps the text to a second line if the text does not fit on one line.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0f424vsafu2k4n1uvv5px2ea0vna\"},{\"name\":\"#BYLINE\",\"description\":\"substitutes the entire BY line without leading or trailing blanks for #BYLINE in the text string. It also displays the BY line in the note produced by the statement.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n17mfc3jo9ghz4n1g0w1pyzjaba6a\"},{\"name\":\"#BYVAL\",\"description\":\"substitutes the current value of the specified BY variable for #BYVAL in the text string and displays the value produced by the statement. Specify the variable with one of these values:\",\"help\":\"  #BYVAL*n* <br/> #BYVAL(*variable-name*)\",\"type\":\"value\",\"arguments\":[{\"name\":\"n\",\"placeholder\":true,\"description\":\"specifies which variable in the BY statement #BYVAL should use. The value of n indicates the position of the variable in the BY statement.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p152link16gmrxn17tbgrpvy6snbd\"},{\"name\":\"variable-name\",\"placeholder\":true,\"description\":\"names the BY variable.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0aywj8k42frwsn1d1075rkks2zjd\"}],\"supportSiteTargetFragment\":\"p0g93myce7dkd2n1oub0dnqw6de0d\"},{\"name\":\"#BYVAR\",\"description\":\"substitutes the name of the BY variable or label associated with the variable (whatever the BY line would normally display) for #BYVAR in the text string and displays the name or label produced by the statement. Specify the variable with one of these:\",\"help\":\"  #BYVAR*n* <br/> #BYVAR(*BY-variable-name*)\",\"type\":\"value\",\"arguments\":[{\"name\":\"n\",\"placeholder\":true,\"description\":\"specifies which variable in the BY statement #BYVAR should use. The value of n indicates the position of the variable in the BY statement. For example, #BYVAR2 specifies the second variable in the BY statement.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0edwk5zij4p1dn1dx8j7ljlp2g0d\"},{\"name\":\"BY-variable-name\",\"placeholder\":true,\"description\":\"names the BY variable. For example, #BYVAR(SITES) specifies the BY variable, SITES. Variable-name is not case sensitive.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0h7djvvxju8lqn1oopd9m2939nud\"}],\"supportSiteTargetFragment\":\"n0lq1vfuz9uxsen12rp88i6fk1pjd\"}],\"supportSiteTargetFile\":\"n06de0d5lj12inn14glgif2c8ovaa.htm\"},{\"name\":\"QUIT\",\"description\":\"Executes any statements that have not executed and ends the procedure step.\",\"help\":\"QUIT ;\",\"supportSiteTargetFile\":\"p0rv4g0o6aq6oxn1t95eicz4xfrta.htm\"},{\"name\":\"WHERE\",\"description\":\"Subsets the input data set by specifying certain conditions that each observation must meet before it is available for processing.\",\"help\":\"WHERE *where-expression*;\",\"arguments\":[{\"name\":\"where-expression\",\"placeholder\":true,\"description\":\"is an arithmetic or logical expression that generally consists of a sequence of operands and operators. For more information about where processing, see .\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0834dlfg85co3n18aqbvenv4b35a\"}],\"supportSiteTargetFile\":\"n1rx5guqu5cxr1n1flpiox5ks7sra.htm\"}],\"interactive\":true,\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"n1dvg3qp3e9pann10us1wxo0qe0q.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/GCONTOUR.json",
    "content": "{\"name\":\"GCONTOUR\",\"statements\":[{\"name\":\"PROC GCONTOUR\",\"description\":\"Identifies the data set that contains the plot variables. Can also specify an annotate data set, an output catalog, and the incomplete option.\",\"help\":\"PROC GCONTOUR <DATA=input-data-set>\\n<ANNOTATE=Annotate-data-set>\\n<GOUT=<libref.>output-catalog>\\n<INCOMPLETE>;   \\n\\tPLOT y*x=z</options>;\\n\\n\\tATTRIB  variable-list(s) attribute-list(s);\\n\\n\\tBY <DESCENDING>variable-1\\n\\t\\t< ... <DESCENDING> variable-n>\\n\\t\\t<NOTSORTED>;\\n\\n\\tFORMAT variable-1< ...variable-n><format-1><variable-1< ...variable-n><format-2>> ...<DEFAULT=default-format>;\\n\\n\\tLABEL variable-1=label-1 | ' '<variable-n=label-n | ' '> ...;\\n\\n\\tNOTE <text-arguments(s)>;\\n\\n\\tWHERE where-expression;\",\"arguments\":[{\"name\":\"ANNOTATE=\",\"optional\":true,\"aliases\":[\"ANNO=\"],\"description\":\"specifies a data set to annotate all graphs produced by the GCONTOUR procedure. To annotate individual graphs, use the ANNOTATE= option in the action statement.\",\"help\":\"   ANNOTATE=*Annotate-data-set* \",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"n0t21wnw8q6b7un1lqxqf90ojx1v\"},{\"name\":\"DATA=\",\"optional\":true,\"description\":\"specifies the SAS data set that contains the variables to plot. The procedure uses the most recently created SAS data set if none is specified.\",\"help\":\"DATA=*input-data-set*\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"n101t7ukmtx5qpn1nq3s83zmk4wf\"},{\"name\":\"GOUT=\",\"optional\":true,\"description\":\"specifies the SAS catalog in which to save the graphics output that is produced by the GCONTOUR procedure. If you omit the libref, SAS/GRAPH looks for the catalog in the temporary library called WORK and creates the output catalog if it does not exist.\",\"help\":\"GOUT=&lt;*libref*.&gt;*output-catalog*\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"n1exmb9ky20af4n1llqjrvvwxlxj\"},{\"name\":\"INCOMPLETE\",\"optional\":true,\"description\":\"allows the plotting of data when values are missing for more than half of the z variable in the input data set.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1xpm4xhqn0f6fn14u3qvsso1a1s\"}],\"supportSiteTargetFile\":\"n1udclz8rj33fhn12rtvnuk3w0ja.htm\"},{\"name\":\"PLOT\",\"description\":\"Creates contour plots using the values of three numeric variables from the input data set as the source of the contour coordinates.\",\"help\":\"PLOT *y*x=z*&lt;/*options*&gt;; \",\"arguments\":[{\"name\":\"y\",\"placeholder\":true,\"description\":\"is the variable that is plotted on the vertical axis.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0888fjnheiug1n15blisk4w1fic\"},{\"name\":\"x\",\"placeholder\":true,\"description\":\"is the variable that is plotted on the horizontal axis.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p11az1b6qej8f8n1u70si93z7aro\"},{\"name\":\"z\",\"placeholder\":true,\"description\":\"is the variable that is plotted as contour lines.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0nnotasi5hxe1n1ngk88xnvccyz\"},{\"name\":\"ANNOTATE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"ANNO=\"],\"description\":\"specifies an Annotate data set to enhance the charts produced by the PLOT statement.\",\"help\":\"ANNOTATE= *Annotate-data-set*\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"n1w6plooer36ehn1ip75kymn65db\"},{\"name\":\"AUTOHREF\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"displays reference lines originating at the major tick marks on the horizontal axis.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0yg6t8o0k6jwxn1wi449os98hk2\"},{\"name\":\"AUTOLABEL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"labels the contour lines.\",\"help\":\"AUTOLABEL |   AUTOLABEL=*(autolabel_suboptions)*\",\"type\":\"choice\",\"arguments\":[{\"name\":\"AUTOLABEL\",\"type\":\"standalone\"},{\"name\":\"AUTOLABEL=\",\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p0zlk7fewkhoegn1l4m6aw4bdtbc\"},{\"name\":\"AUTOVREF\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"displays reference lines originating at the major tick marks on the vertical axis.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p08ygu8mlf2u44n1t0q39kx3ayne\"},{\"name\":\"CAUTOHREF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a color for all the reference lines displayed by the AUTOHREF option.\",\"help\":\"CAUTOHREF=*reference-line-color*\",\"type\":\"color\",\"supportSiteTargetFragment\":\"p0dja8hc7ksdqbn0zw04hbrau5jf\"},{\"name\":\"CAUTOVREF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a color for all the reference lines displayed by the AUTOVREF option.\",\"help\":\"CAUTOVREF=*reference-line-color*\",\"type\":\"color\",\"supportSiteTargetFragment\":\"n1lncb1oj14gemn11ohggzysgwax\"},{\"name\":\"CAXIS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a color for axis lines, axis tick marks, and the frame around the plot.\",\"help\":\"CAXIS=*axis-color*\",\"type\":\"color\",\"supportSiteTargetFragment\":\"p12wcikeq71v19n1d0rk5um2gd5e\"},{\"name\":\"CFRAME=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"CFR=\"],\"description\":\"fills the axis area with the specified color.\",\"help\":\"CFRAME=*background-color*\",\"type\":\"color\",\"supportSiteTargetFragment\":\"n1sg0wuoz12dskn10h1mfaipe9sv\"},{\"name\":\"CHREF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"CH=\"],\"description\":\"specifies a color or colors for reference lines drawn with the HREF= option and the AUTOHREF option.\",\"help\":\"CHREF=*reference-line-color* | (*reference-line-color*) | (*reference-line-color list*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"reference-line-color\",\"placeholder\":true,\"type\":\"color\"},{\"name\":\"(reference-line-color)\",\"placeholder\":true,\"type\":\"color\"},{\"name\":\"(reference-line-color list)\",\"placeholder\":true,\"type\":\"color\"}],\"supportSiteTargetFragment\":\"p1kubw4xbjij7vn1x2m2h7kw1rwu\"},{\"name\":\"CLEVELS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a color or list of colors for the contour levels.\",\"help\":\"CLEVELS=*colors*\",\"type\":\"color\",\"supportSiteTargetFragment\":\"n06b9qhcmjatohn1qi9upryfqdar\"},{\"name\":\"COUTLINE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a color for outlining filled areas.\",\"help\":\"COUTLINE=*outline-color*\",\"type\":\"color\",\"supportSiteTargetFragment\":\"p0bx4v8dp41bn8n1e8z2t6xsurzw\"},{\"name\":\"CTEXT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a color for the axis labels, axis tick mark values, legend labels, and legend value descriptions.\",\"help\":\"CTEXT=*text-color*\",\"type\":\"color\",\"supportSiteTargetFragment\":\"p0dlsr3rdxozq7n0z52zj1kw8np7\"},{\"name\":\"CVREF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"CV=\"],\"description\":\"specifies a color or colors for reference lines drawn with the VREF= option and the AUTOVREF option.\",\"help\":\"CVREF=*reference-line-color* | (*reference-line-color*) | (*reference-line-color list*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"reference-line-color\",\"placeholder\":true,\"type\":\"color\"},{\"name\":\"(reference-line-color)\",\"placeholder\":true,\"type\":\"color\"},{\"name\":\"(reference-line-color list)\",\"placeholder\":true,\"type\":\"color\"}],\"supportSiteTargetFragment\":\"n0czv289wq371on19af0wy2cjh2a\"},{\"name\":\"DESCRIPTION=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"DES=\"],\"description\":\"specifies a description of the output.\",\"help\":\"DESCRIPTION=\\\"*description*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1kfk4cqe7qc9mn1jrnjkrf3j698\"},{\"name\":\"GRID\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"draws reference lines at all major tick marks on both axes.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n10t5sqpnhpm0qn1bjx2imak4hti\"},{\"name\":\"HAXIS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"assigns axis characteristics from the corresponding global axis definition to the horizontal x axis.\",\"help\":\"HAXIS=AXIS&lt;*1* ...*99*&gt;\",\"type\":\"standaloneOrValue\",\"supportSiteTargetFragment\":\"n07eq97sa18o6wn1k4aielltcvow\"},{\"name\":\"HMINOR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"HM=\"],\"description\":\"specifies the number of minor tick marks to draw between each major tick mark on the horizontal x axis.\",\"help\":\"HMINOR=*number-of-minor-tick marks*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1wak19xv35wq7n1iinjo8j2vjfa\"},{\"name\":\"HREF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"displays up to 100 reference lines originating on the horizontal x axis at specified values within the x axis range.\",\"help\":\"HREF=*value* | (*value*) | (*value-list*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"value\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(value)\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(value-list)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p0n91vyznmwb9tn124mc3i4d3yj0\"},{\"name\":\"HREVERSE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that the order of the values on the horizontal x axis be reversed.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p187lf8s9hxtiun1kezutmtpyoip\"},{\"name\":\"JOIN\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"combines adjacent grid cells with the same pattern to form a single pattern area.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1fdqywdqgvx91n1i719x0fopf85\"},{\"name\":\"LAUTOHREF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a line type for reference lines specified by the AUTOHREF option.\",\"help\":\"LAUTOHREF=*reference-line-type*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0c744tvtsb4lan1nk5sm6iugiq5\"},{\"name\":\"LAUTOVREF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a line type for reference lines specified by the AUTOVREF option.\",\"help\":\"LAUTOVREF=*reference-line-type*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1mnjv8r0kviftn11scvseofy7gj\"},{\"name\":\"LEGEND=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"assigns legend characteristics from the corresponding global legend definition to the plot's legend.\",\"help\":\"LEGEND=LEGEND&lt;*1* ...*99*&gt;\",\"type\":\"standaloneOrValue\",\"supportSiteTargetFragment\":\"n1meefhoxvwsa1n1mnpazg7p7fuk\"},{\"name\":\"LEVELS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies up to 100 values for the z variable.\",\"help\":\"LEVELS=*value-list*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n17cwdzmsid43hn129r7veouob98\"},{\"name\":\"LHREF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"LH=\"],\"description\":\"specifies line types for reference lines originating on the horizontal axis.\",\"help\":\"LHREF=*reference-line-type* | (*reference-line-type*) | (*reference-line-type list*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"reference-line-type\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(reference-line-type)\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(reference-line-type list)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p0v0y666wbjng7n1tpy6lunmj9e7\"},{\"name\":\"LJOIN\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"displays filled contour areas with contour lines.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0z1ftakyle0r7n1elgd6x2uk1ky\"},{\"name\":\"LLEVELS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"lists line types for plot contour lines.\",\"help\":\"LLEVELS=*line-type-list*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0ix8twornjnfqn1raa47gy2osgm\"},{\"name\":\"LVREF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"LV=\"],\"description\":\"specifies line types for reference lines originating on the vertical axis.\",\"help\":\"LVREF=*reference-line-type* | (*reference-line-type*) | (*reference-line-type-list*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"reference-line-type\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(reference-line-type)\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(reference-line-type-list)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"n0euc3l7enaod4n10s6acd4gwfd8\"},{\"name\":\"NAME=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the name of the GRSEG catalog entry and the name of the graphics output file, if one is created.\",\"help\":\"NAME=\\\"*name*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p10b8u176a4upln14dbe26yt1b7h\"},{\"name\":\"NLEVELS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the number of contour levels to plot.\",\"help\":\"NLEVELS=*number-of-levels*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1uvcimgmy9hnqn1rv6nn8gqwk1c\"},{\"name\":\"NOAXIS\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"NOAXES\"],\"description\":\"specifies that a plot have no axis values, axis labels, or axis tick marks.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1kzf03zkzhkmdn1culpk6taum00\"},{\"name\":\"NOFRAME\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses the frame that is drawn around the plot area.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0dgpia2ofduxfn19x75egnuyukh\"},{\"name\":\"NOLEGEND\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses the legend that describes the plot by displaying the z variable name or label, the legend values, and legend value descriptions.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1sy1f47fhx3x6n1s91g7w4lt68m\"},{\"name\":\"PATTERN\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that the plot contour levels are represented by rectangles filled with patterns.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n052zk1qmv60cyn19xdjjqq5wj6y\"},{\"name\":\"SMOOTH\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"produces smooth gradient areas between levels.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1qbzpt3ly9t5tn14mog6km4cjby\"},{\"name\":\"VAXIS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"assigns axis characteristics from the corresponding global axis definition to the vertical y axis.\",\"help\":\"VAXIS=AXIS&lt;*1* ...*99*&gt;\",\"type\":\"standaloneOrValue\",\"supportSiteTargetFragment\":\"n11yblxkff1n9fn1e1l6mp1m5zvv\"},{\"name\":\"VMINOR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"VM=\"],\"description\":\"specifies the number of minor tick marks located between each major tick mark on the vertical y axis.\",\"help\":\"VMINOR=*number-of-minor-tick marks*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n11m8mswrtpjiln1dm9179jdlwi8\"},{\"name\":\"VREF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"displays up to 100 reference lines originating on the vertical y axis at specified values within the y axis range.\",\"help\":\"VREF=*value* | (*value*) | (*value-list*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"value\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(value)\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(value-list)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p10abh2110tna4n17comi5c5k1zo\"},{\"name\":\"VREVERSE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that the order of the values on the vertical axis be reversed.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0t9hr9cklftz7n1hjfjkkout8nx\"},{\"name\":\"WAUTOHREF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a line width for reference lines specified by the AUTOHREF option.\",\"help\":\"WAUTOHREF=*reference-line-width*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1m8lo3e1o4pksn1k62zwhgpgrvw\"},{\"name\":\"WAUTOVREF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a line width for reference lines specified by the AUTOVREF option.\",\"help\":\"WAUTOVREF=*reference-line-width*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1tos3uvd84uu4n1l98y042a54we\"},{\"name\":\"WHREF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a line width for reference lines specified by the HREF= option.\",\"help\":\"WHREF=*reference-line-width* | (*reference-line-width*) | (*reference-line-width-list*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"reference-line-width\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(reference-line-width)\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(reference-line-width-list)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p1oekhvsszglb4n13ycku8soh5c7\"},{\"name\":\"WVREF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a line width for reference lines specified by the VREF= option.\",\"help\":\"WVREF=*reference-line-width* | (*reference-line-width*) | (*reference-line-width-list*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"reference-line-width\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(reference-line-width)\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(reference-line-width-list)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"n17s4lzyagfy6nn1azxt6e67m5f5\"},{\"name\":\"XTICKNUM=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the number of major tick marks on the horizontal x axis.\",\"help\":\"XTICKNUM=*number-of-major-tick-marks*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0d6ced4j8kh94n1w8szga05tql3\"},{\"name\":\"YTICKNUM=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the number of major tick marks on the vertical y axis.\",\"help\":\"YTICKNUM= *number-of-major-tick-marks*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0zxxcglnh3lhen1s8fdh6441fnh\"},{\"name\":\"CHECK=\",\"optional\":true,\"description\":\"specifies a collision checking factor that controls collisions between contour label text and other contour lines or other labels. Values can be integers from 0 to 100, inclusive, where 0 provides minimal collision checking and 100 provides maximal collision checking. Fractional values are permitted.\",\"help\":\"CHECK=*checking-factor* | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"checking-factor\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"NONE\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"p13yohq60u9888n1fa41434zc0p3\"},{\"name\":\"MAXHIDE=\",\"optional\":true,\"description\":\"specifies the maximum amount of the contour line that can be hidden by contour labels. The value of amount must be greater than zero.\",\"help\":\"MAXHIDE=*amount* &lt;*units*&gt;\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0qm6e80l366tkn1x2jspz6x968l\"},{\"name\":\"REVEAL\",\"optional\":true,\"description\":\"specifies that the contour lines are visible through the label text as dashed lines. Line style 33 is used. This option provides a simple way to see all portions of labeled contours, and can be used to inspect the label positions with respect to the contour lines. The REVEAL option is primarily used for debugging. Occasionally, single-character contour labels can be placed off center from the clipped portion of the contour line when the contour line is irregular or jagged.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0iiv79x9vrosbn1d8gxrw3a0nei\"},{\"name\":\"TOLANGLE=\",\"optional\":true,\"description\":\"specifies the maximum angle (the tolerance angle) between any two adjacent characters of a contour label. The value of angle must be between 1 and 85 degrees. To force contour labels to fall on very smooth sections, specify a small tolerance angle.\",\"help\":\"TOLANGLE=*angle*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0s68ua50oaynbn1f334xt9ribdo\"}],\"supportSiteTargetFile\":\"p1piaio4lhrw3cn16abt9kt9bxh1.htm\"},{\"name\":\"ATTRIB\",\"description\":\"Associates a format, informat, label, and length with one or more variables.\",\"help\":\"ATTRIB  *variable-list(s)**attribute-list(s)*;\",\"arguments\":[{\"name\":\"variable-list\",\"optional\":true,\"placeholder\":true,\"description\":\"names the variables that you want to associate with the attributes.\",\"help\":\"*variable-list(s)*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1nd0mq22iu6ovn14mz1ot1hwcjib\"},{\"name\":\"FORMAT=\",\"description\":\"associates a format with variables in variable-list.\",\"help\":\"FORMAT=*format*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p08pt9ce6bhq86n18a3zcc97bldzb\"},{\"name\":\"INFORMAT=\",\"description\":\"associates an informat with variables in variable-list.\",\"help\":\"INFORMAT=*informat*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n136glco6ritqdn160792yhk9mv1b\"},{\"name\":\"LABEL=\",\"description\":\"associates a label with variables in variable-list.\",\"help\":\"LABEL='*label*' \",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0a9x9io5pi05mn1i4p2cphc7t0nb\"}],\"supportSiteTargetFile\":\"n09bxytcjmyp75n1mc29q45qhpmsb.htm\"},{\"name\":\"BY\",\"description\":\"Orders the output according to the BY groups.\",\"help\":\"BY <DESCENDING>variable-1\\n\\t<-<DESCENDING> variable-n>\\n\\t<NOTSORTED>;\",\"arguments\":[{\"name\":\"variable\",\"placeholder\":true,\"description\":\"specifies the variable that the procedure uses to form BY groups. You can specify more than one variable. If you do not use the NOTSORTED option in the BY statement, then either the observations in the data set must be sorted by all the variables that you specify, or they must be indexed appropriately. Variables in a BY statement are called BY variables.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0e9kbav2i9chhn1xectebpz4s14b\"},{\"name\":\"DESCENDING\",\"optional\":true,\"description\":\"specifies that the observations are sorted in descending order by the variable that immediately follows the word DESCENDING in the BY statement.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1au0lhf4hi1h2n1le3cx2tp74l5b\"},{\"name\":\"NOTSORTED\",\"optional\":true,\"description\":\"specifies that observations are not necessarily sorted in alphabetic or numeric order. The observations are grouped in another way (for example, chronological order).\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p068zvjhrpn2awn1bygis4m6hppab\"}],\"supportSiteTargetFile\":\"p1tkzb6q5jl1omn1payndkh1g3nwb.htm\"},{\"name\":\"FORMAT\",\"description\":\"Associates formats with variables.\",\"help\":\"FORMAT *variable-1*&lt;-*variable-n*&gt;&lt;*format-1*&gt;&lt;*variable-1*&lt;-*variable-n*&gt;&lt;*format-2*&gt;&gt; - &lt;DEFAULT=*default-format*&gt;;\",\"arguments\":[{\"name\":\"variable\",\"placeholder\":true,\"description\":\"names one or more variables for SAS to associate with a format. You must specify at least one variable.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1d0cionbspk2tn1ma0m6kjd1ntxb\"},{\"name\":\"format\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the format that is listed for writing the values of the variables.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0oulvct798v2wn1lll17t854rg8b\"},{\"name\":\"DEFAULT=\",\"optional\":true,\"description\":\"specifies a temporary default format for displaying the values of variables that are not listed in the FORMAT statement. These default formats apply only to the current DATA step; they are not permanently associated with variables in the output data set.\",\"help\":\"DEFAULT=*default-format*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0k0jb3arokdz9n1g3q3zizh81g4b\"}],\"supportSiteTargetFile\":\"n1x0d6bnw9wtyun1rhq5p7tis5gsb.htm\"},{\"name\":\"LABEL\",\"description\":\"Assigns descriptive labels to variables.\",\"help\":\"Form 1: Creates a descriptive label for one or more variables.\\nLABEL variable-1=’text-string’ < ...variable-n=’text-string>; \\nForm 2: Removes the label from one or more variables.\\nLABEL variable-1 = ' ' < ...variable-n=’ ‘>; | variable-1 = < ...variable-n= >\",\"arguments\":[{\"name\":\"text-string\",\"placeholder\":true,\"description\":\"specifies a label of up to 256 bytes.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n09u0k5ydxzgr3n1dfznhvex7uuob\"},{\"name\":\"'\",\"placeholder\":true,\"description\":\"removes a label from a variable. Enclose a single blank space in quotation marks to remove an existing label. You can remove labels from multiple variables in a single LABEL statement:\",\"help\":\"*' '*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1dl99omzes92cn1typpf6yl1ng0b\"}],\"supportSiteTargetFile\":\"n0b8jun5pu2j52n1duycwzzhrtmwb.htm\"},{\"name\":\"NOTE\",\"description\":\"Control the content, appearance, and placement of text.\",\"help\":\"NOTE &lt;*text-options*&gt;&lt;‘*text-string*’&gt;;\",\"arguments\":[{\"name\":\"ALT=\",\"description\":\"specifies descriptive text for a URL to which a note links, or the note itself.\",\"help\":\"ALT=\\\"*text-string*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1ss7qwa0a8ym6n10yt0pvlswkhlb\"},{\"name\":\"ANGLE=\",\"aliases\":[\"A=\"],\"description\":\"specifies the angle of the baseline of the entire text string with respect to the horizontal.\",\"help\":\"ANGLE=*degrees*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0agfl3v4cz076n1vq0sm0kpc7u9b\"},{\"name\":\"BCOLOR=\",\"aliases\":[\"BC=\"],\"description\":\"specifies the background color of a box produced by the BOX= option.\",\"help\":\"BCOLOR=*background-color*\",\"type\":\"color\",\"supportSiteTargetFragment\":\"n0p6kae6bogf6ln1qfi5lumfuqslb\"},{\"name\":\"BLANK=\",\"aliases\":[\"BL=\"],\"description\":\"protects the box and its contents from being overwritten by any subsequent graphics elements.\",\"help\":\"BLANK=YES\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1k1qe16mrandmn1p5d6zmfzbpp3b\"},{\"name\":\"BOX=\",\"aliases\":[\"BO=\"],\"description\":\"draws a box around one line of text.\",\"help\":\"BOX=*1* - *4*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1gsgi19gb631mn1u3ohvku3h9frb\"},{\"name\":\"BSPACE=\",\"aliases\":[\"BS=\"],\"description\":\"specifies the amount of space between the boxed text and the box.\",\"help\":\"BSPACE=*box-space*&lt;*units*&gt;\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1bsvoi1ejzgldn13u0ctqhoumr7b\"},{\"name\":\"COLOR=\",\"aliases\":[\"C=\"],\"description\":\"specifies the color for the following text, box, or line.\",\"help\":\"COLOR=*color*\",\"type\":\"color\",\"supportSiteTargetFragment\":\"p0sbrdi8whe59cn1trrly9i486a2b\"},{\"name\":\"DRAW=\",\"aliases\":[\"D=\"],\"description\":\"draws lines anywhere on the graphics output area.\",\"help\":\"DRAW=(*x,y* - ,*x-n,y-n*)&lt;*units*&gt;\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1ek60b1m99g1en1p2vat39gnk0ub\"},{\"name\":\"FONT=\",\"aliases\":[\"F=\"],\"description\":\"specifies the font for the subsequent text.\",\"help\":\"FONT=*font*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n14ghk49hvnj9bn1dggqdp9185h0b\"},{\"name\":\"HEIGHT=\",\"aliases\":[\"H=\"],\"description\":\"specifies the height of text characters in number of units.\",\"help\":\"HEIGHT=*text-height*&lt;*units*&gt;\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1nstxzbtib4yon17b1z48u1xc43b\"},{\"name\":\"JUSTIFY=\",\"description\":\"specifies the alignment of the text string.\",\"help\":\"JUSTIFY=LEFT | CENTER | RIGHT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"LEFT\",\"aliases\":[\"L\"],\"description\":\"aligns the text to the left.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1bd3ccior85vpn1j8yydbva53ohb\"},{\"name\":\"CENTER\",\"aliases\":[\"C\"],\"description\":\"aligns the text in the center.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1xzocqktoshbhn0zj41vgrrpcf0b\"},{\"name\":\"RIGHT\",\"aliases\":[\"R\"],\"description\":\"aligns the text to the right.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0d72p8dhm0aken19ezwvnuh89hjb\"}],\"supportSiteTargetFragment\":\"p0ic105d0qi1len198gj233aunvxb\"},{\"name\":\"LANGLE=\",\"aliases\":[\"LA=\"],\"description\":\"specifies the angle of the entire text-string(s).\",\"help\":\"LANGLE=*degrees*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p17asd7cxorhh0n13ock77km9umwb\"},{\"name\":\"LINK=\",\"description\":\"specifies a uniform resource locator (URL) to which a note links.\",\"help\":\"LINK=\\\"*URL*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1g7nbregrkazwn13yab35dwunkfb\"},{\"name\":\"LSPACE=\",\"aliases\":[\"LS=\"],\"description\":\"specifies the amount of spacing above and below lines of text.\",\"help\":\"LSPACE=*line-space* &lt;*units*&gt;\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1rvmh79wukiwin10y0uxgndzm0kb\"},{\"name\":\"MOVE=\",\"aliases\":[\"M=\"],\"description\":\"positions a text string.\",\"help\":\"MOVE=(*x*,*y*) &lt;*units*&gt;\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1b4ii0h0nvyl9n1n3f3rq4bcmd7b\"},{\"name\":\"ROTATE=\",\"aliases\":[\"R=\"],\"description\":\"specifies the angle at which each character of text is rotated.\",\"help\":\"ROTATE=*degrees*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0eixp1t2i8jh7n18f5h9abmkbd9b\"},{\"name\":\"UNDERLIN=\",\"aliases\":[\"U=\",\"UNDERLINE=\"],\"description\":\"underlines subsequent text.\",\"help\":\"UNDERLIN=*0* - *3*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0odrift6g8tevn1wlkt3yirab29b\"},{\"name\":\"WRAP\",\"description\":\"wraps the text to a second line if the text does not fit on one line.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0f424vsafu2k4n1uvv5px2ea0vnb\"},{\"name\":\"#BYLINE\",\"description\":\"substitutes the entire BY line without leading or trailing blanks for #BYLINE in the text string. It also displays the BY line in the note produced by the statement.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n17mfc3jo9ghz4n1g0w1pyzjaba6b\"},{\"name\":\"#BYVAL\",\"description\":\"substitutes the current value of the specified BY variable for #BYVAL in the text string and displays the value produced by the statement. Specify the variable with one of these values:\",\"help\":\"  #BYVAL*n* <br/> #BYVAL(*variable-name*)\",\"type\":\"value\",\"arguments\":[{\"name\":\"n\",\"placeholder\":true,\"description\":\"specifies which variable in the BY statement #BYVAL should use. The value of n indicates the position of the variable in the BY statement.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p152link16gmrxn17tbgrpvy6snbe\"},{\"name\":\"variable-name\",\"placeholder\":true,\"description\":\"names the BY variable.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0aywj8k42frwsn1d1075rkks2zje\"}],\"supportSiteTargetFragment\":\"p0g93myce7dkd2n1oub0dnqw6de0e\"},{\"name\":\"#BYVAR\",\"description\":\"substitutes the name of the BY variable or label associated with the variable (whatever the BY line would normally display) for #BYVAR in the text string and displays the name or label produced by the statement. Specify the variable with one of these:\",\"help\":\"  #BYVAR*n* <br/> #BYVAR(*BY-variable-name*)\",\"type\":\"value\",\"arguments\":[{\"name\":\"n\",\"placeholder\":true,\"description\":\"specifies which variable in the BY statement #BYVAR should use. The value of n indicates the position of the variable in the BY statement. For example, #BYVAR2 specifies the second variable in the BY statement.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0edwk5zij4p1dn1dx8j7ljlp2g0e\"},{\"name\":\"BY-variable-name\",\"placeholder\":true,\"description\":\"names the BY variable. For example, #BYVAR(SITES) specifies the BY variable, SITES. Variable-name is not case sensitive.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0h7djvvxju8lqn1oopd9m2939nue\"}],\"supportSiteTargetFragment\":\"n0lq1vfuz9uxsen12rp88i6fk1pje\"}],\"supportSiteTargetFile\":\"n06de0d5lj12inn14glgif2c8ovab.htm\"},{\"name\":\"WHERE\",\"description\":\"Subsets the input data set by specifying certain conditions that each observation must meet before it is available for processing.\",\"help\":\"WHERE *where-expression*;\",\"arguments\":[{\"name\":\"where-expression\",\"placeholder\":true,\"description\":\"is an arithmetic or logical expression that generally consists of a sequence of operands and operators. For more information about where processing, see .\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0834dlfg85co3n18aqbvenv4b35b\"}],\"supportSiteTargetFile\":\"n1rx5guqu5cxr1n1flpiox5ks7srb.htm\"}],\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"p1p773d7i495lnn1rbh99a57a629.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/GDEVICE.json",
    "content": "{\"name\":\"GDEVICE\",\"statements\":[{\"name\":\"PROC GDEVICE\",\"description\":\"Starts the procedure. Can identify a device catalog and specify how that catalog is opened.\",\"help\":\"PROC GDEVICE <CATALOG=<libref.>SAS-catalog><BROWSE><NOFS>;\\n\\tADD new-device-entrydevice-parameters<device-row-column-parameters>;\\n\\n\\tCOPY device-entrycopy-options;\\n\\n\\tDELETE device-entry;\\n\\n\\tLIST device-entry | _ALL_ | _NEXT_ | _PREV_ | DUMP;\\n\\n\\tMODIFY device-entrydevice-parameters;\\n\\n\\tQUIT  ;\\n\\n\\tRENAME device-entry-nameNEWNAME=new-device-entry-name;\\n\",\"arguments\":[{\"name\":\"BROWSE\",\"optional\":true,\"description\":\"opens a catalog in Browse mode.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1ihvh3gg222fan1aoa9uu2p1r29\"},{\"name\":\"CATALOG=\",\"optional\":true,\"aliases\":[\"CAT=\",\"C=\"],\"description\":\"specifies the catalog containing device information.\",\"help\":\"CATALOG=&lt;*libref*.&gt;*SAS-catalog*\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"p1o31si0osm5vcn1hszkpijkg2n4\"},{\"name\":\"NOFS\",\"optional\":true,\"description\":\"specifies that you are using program mode.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0z6jd6vvfnuokn1k9nx5sikx3mf\"}],\"supportSiteTargetFile\":\"p16lpnocinbyd6n1k25978duqibj.htm\"},{\"name\":\"ADD\",\"aliases\":[\"A\"],\"description\":\"Adds a new device entry to the catalog selected by the CATALOG= option in the PROC GDEVICE statement. The device entry is initialized with NULL values for most parameters.\",\"help\":\"ADD new-device-name \\n\\tCOLORS=(device-color-list)\\n\\n\\tMODULE=driver-module\\n\\n\\tXMAX=width <IN | CM>\\n\\n\\tYMAX=width <IN | CM>\\n\\n\\tXPIXELS=width-in-pixels\\n\\n\\tYPIXELS=width-in-pixels\\n\\n\\tdevice-rows-columns\\n\\t<optional-device-parameters>;\",\"arguments\":[{\"name\":\"new-device-name\",\"placeholder\":true,\"description\":\"specifies the one-level name of the new device entry.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0t826wjinnzu6n1ah8xfimxv626\"},{\"name\":\"COLORS=\",\"description\":\"specifies one or more colors for the device.\",\"help\":\"COLORS=(*device-color-list*)\",\"type\":\"color\",\"supportSiteTargetFragment\":\"p0np2puxuzkc9pn1aw4zv1aivnrw\"},{\"name\":\"MODULE=\",\"description\":\"specifies the name of the driver module.\",\"help\":\"MODULE=*driver-module*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p16msdm2479d2vn1pta1ptungzlt\"},{\"name\":\"XMAX=\",\"description\":\"specifies the maximum width of the device output.\",\"help\":\"XMAX=*width*&lt;IN | CM&gt;\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0ez8c6j6c3pe9n1fbi3mmx6ri0v\"},{\"name\":\"YMAX=\",\"description\":\"specifies the maximum height of the device output.\",\"help\":\"YMAX=*height*&lt;IN | CM&gt;\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1abh8vag38q7zn1l7ud8dbn8ndt\"},{\"name\":\"XPIXELS=\",\"description\":\"specifies the device output width in pixels.\",\"help\":\"XPIXELS=*width-in-pixels*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1lr3ydyzawlusn17fk4gcqjcljj\"},{\"name\":\"YPIXELS=\",\"description\":\"specifies the device output height in pixels.\",\"help\":\"YPIXELS=*height-in-pixels*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p110mbv85v1vfkn1raa8q1941qgl\"},{\"name\":\"LCOLS=\",\"description\":\"specifies the number of landscape columns.\",\"help\":\"LCOLS=*landscape-columns*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1g0ng8yptw6lbn192865enhanjy\"},{\"name\":\"LROWS=\",\"description\":\"specifies the number of landscape rows.\",\"help\":\"LROWS=*landscape-rows*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0q4dqpsb8fqgnn1qpx3hs2l17ke\"},{\"name\":\"PCOLS=\",\"description\":\"specifies the number of portrait columns.\",\"help\":\"PCOLS=*portrait-columns*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0yyny7n0f74exn1avffey71p0lu\"},{\"name\":\"PROWS=\",\"description\":\"specifies the number of portrait rows.\",\"help\":\"PROWS=*portrait-rows*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n00yx71if6utcln14iv8o6bx7lfp\"},{\"name\":\"optional-device-parameters\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies one or more optional device parameters and their values.\",\"type\":\"standaloneOrValue\",\"supportSiteTargetFragment\":\"p0lorfn5p29pwvn1f9qisbzvi4zt\"},{\"name\":\"ASPECT=\",\"description\":\"Sets the aspect ratio for graphics elements.\",\"help\":\"ASPECT= *scaling-factor*\",\"type\":\"value\",\"arguments\":[{\"name\":\"scaling-factor\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies a nonnegative integer or real number that determines the ratio of width to height for graphics elements.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0z8qoz69uuvz1n10eu2u7jd6d8k\"}],\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"p0pmqzxmhyvfbyn153h3s72wkfc9.htm\"}},{\"name\":\"AUTOCOPY=\",\"description\":\"Specifies whether to generate hard copy automatically.\",\"help\":\"AUTOCOPY= Y | N\",\"type\":\"choice\",\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"p022m91hz3szsjn1lrk25f7tcp15.htm\"}},{\"name\":\"AUTOFEED=\",\"description\":\"Specifies whether devices with continuous paper or automatic paper feed should roll or feed the paper automatically for the next graph.\",\"help\":\"AUTOFEED= Y | N\",\"type\":\"choice\",\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"n1bx2nm5yp65c7n1dz9czzpd02ww.htm\"}},{\"name\":\"CELL=\",\"description\":\"Controls whether to use cell alignment.\",\"help\":\"CELL= Y | N\",\"type\":\"choice\",\"arguments\":[{\"name\":\"Y\",\"optional\":true,\"description\":\"causes the device to use cell alignment.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0sbxlnq0uxqw7n1etg0bmtr77g3\"},{\"name\":\"N\",\"optional\":true,\"description\":\"suppresses cell alignment, causing the procedure to use the entire procedure output area and place axis and tick mark labels without regard to cell alignment.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0z39iltfa2i7wn1f3uopga9otd6\"}],\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"p1rb3knm5tf0ogn175mgyngzn5lg.htm\"}},{\"name\":\"CHARACTERS=\",\"description\":\"Specifies whether the device-resident font is used when no font or FONT=NONE is specified in a SAS statement.\",\"help\":\"CHARACTERS= Y | N\",\"type\":\"choice\",\"arguments\":[{\"name\":\"Y\",\"optional\":true,\"description\":\"causes SAS/GRAPH to use the device-resident font when you do not specify a font in a SAS program.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0k59c7wr00bpan1afjbnmhzjl9c\"},{\"name\":\"N\",\"optional\":true,\"description\":\"causes SAS/GRAPH to draw the characters using the SIMULATE font and suppresses the use of all device—resident fonts, regardless of values that you specify in other SAS statements.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1rbju90tfuxjzn16zhyn2bxjw6b\"}],\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"n1ikdskm9dd7z4n1o7kjdnpdiivt.htm\"}},{\"name\":\"CHARREC=\",\"description\":\"Specifies a device-resident font by associating a CHARTYPE number with a device-resident font. Also defines a default size to use with that font.\",\"help\":\"CHARREC= (\\n\\ttype, rows, cols, 'font', 'Y' | 'N'\\n\\t\\t<type, rows, cols, 'font', 'Y' | 'N'>\\n\\t\\t< ...>\\n)\",\"type\":\"standalone\",\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"p1uquvuiazftlsn1iebxbtw0zwyl.htm\"}},{\"name\":\"CHARTYPE=\",\"description\":\"Selects the number of the default hardware character set.\",\"help\":\"CHARTYPE= *hardware-font-chartype*\",\"type\":\"value\",\"arguments\":[{\"name\":\"hardware-font-chartype\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the hardware font character type as an integer in the range 0–999.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0ca2tej0bo1hvn1w918udv10nfh\"}],\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"n06xn4ngx95v7cn13yj853r4crw5.htm\"}},{\"name\":\"CIRCLEARC=\",\"description\":\"Specifies whether SAS/GRAPH should use the device's hardware circle-drawing capability, if available.\",\"help\":\"CIRCLEARC= Y | N\",\"type\":\"choice\",\"arguments\":[{\"name\":\"Y\",\"optional\":true,\"description\":\"causes SAS/GRAPH to use the built-in hardware circle- and arc-drawing capability of the device.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n18ucifk0wyjypn1rimyv1aajas5\"},{\"name\":\"N\",\"optional\":true,\"description\":\"causes SAS/GRAPH to use software move and draw commands to draw circles and arcs.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0t5qqqduqsm1cn1urh9tm1lkmxo\"}],\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"n0r02riinqxrkpn1w1hc2gv3vqhd.htm\"}},{\"name\":\"CMAP=\",\"description\":\"Specifies a color map for the device.\",\"help\":\"CMAP= ('*from-color*:*to-color*' &lt;,'*from-color-n*:*to-color-n*'&gt; &lt; ...&gt;)\",\"type\":\"color\",\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"p0slxlx64i3v62n1jzt2ta09p5k8.htm\"}},{\"name\":\"COLORS=\",\"description\":\"Specifies the colors used to produce your graphics output if you do not specify colors explicitly in program statements.\",\"help\":\"COLORS= (&lt;*colors-list*&gt;) | ()\",\"type\":\"choice\",\"arguments\":[{\"name\":\"(colors-list)\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies one or more SAS color names.\",\"type\":\"color\",\"supportSiteTargetFragment\":\"p0jfbufrc9him9n1i3sjnjqjvu2n\"},{\"name\":\"()\",\"optional\":true,\"description\":\"tells SAS/GRAPH to use only the colors that you explicitly specify in program statements and to ignore the ODS style colors.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1ownfed1275qbn15doora7jrqnm\"}],\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"n1wkbxcifhr3ann1pokbmeter6zp.htm\"}},{\"name\":\"COLORTYPE=\",\"description\":\"Specifies the color space used by the user-written part of the Metagraphics device driver.\",\"help\":\"COLORTYPE= NAME | RGB | RGBA | HLS | GRAY | CMY | CMYK | HSV | HSB\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NAME\",\"optional\":true,\"description\":\"specifies SAS predefined color names.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0nmkpn4wn37k8n1549unmwtme0t\"},{\"name\":\"RGB\",\"optional\":true,\"description\":\"specifies red-green-blue (RGB) colors.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0w2zt64jk3y5bn10jec9h4wi5ft\"},{\"name\":\"RGBA\",\"optional\":true,\"description\":\"specifies RGB colors with an alpha channel to control color opacity.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1ez94xbfe1cb8n1ngovu6l08w46\"},{\"name\":\"HLS\",\"optional\":true,\"description\":\"specifies hue-lightness-saturation(HLS) colors.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p10bbgzfiueab3n1f4xn2chspfho\"},{\"name\":\"GRAY\",\"optional\":true,\"description\":\"specifies gray-scale level colors.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p095qemallahxpn1mscrjitigx7w\"},{\"name\":\"CMY\",\"optional\":true,\"description\":\"specifies cyan-magenta-yellow colors.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0p0044lqn6u97n14v2142nge9gv\"},{\"name\":\"CMYK\",\"optional\":true,\"description\":\"specifies cyan-magenta-yellow-black colors..\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p016p642dm2t26n1sa4314dt15pb\"},{\"name\":\"HSV\",\"optional\":true,\"description\":\"specifies hue-saturation-value (HSV) colors.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0301ex016vsrkn16ugnjghknyuk\"},{\"name\":\"HSB\",\"optional\":true,\"description\":\"specifies hue-saturation-brightness (HSB) colors.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1q9z8kk4gazx6n1d6kwhsei98kg\"}],\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"n01sl0yzwfmmfin16n51yw8cddus.htm\"}},{\"name\":\"DASH=\",\"description\":\"Specifies whether to use the device's hardware dashed-line capability, if available.\",\"help\":\"DASH= Y | N\",\"type\":\"choice\",\"arguments\":[{\"name\":\"Y\",\"optional\":true,\"description\":\"causes SAS/GRAPH to use the built-in hardware dashed-line drawing capability of the device when generating graphics output.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0cs0q7nvzc6fgn14f8bdp51lxnx\"},{\"name\":\"N\",\"optional\":true,\"description\":\"causes SAS/GRAPH to draw the dashed lines.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0qj7yi8c6rssdn1jg19yhyjvqp3\"}],\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"p1skr6xyeue6oln18j156fd52kxh.htm\"}},{\"name\":\"DASHLINE=\",\"description\":\"Specifies which dashed lines should be generated by hardware means if possible.\",\"help\":\"DASHLINE= '*dashed-line-hex-string*'X\",\"type\":\"value\",\"arguments\":[{\"name\":\"dashed-line-hex-string\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies a 16-character hexadecimal string where each bit in the string corresponds to a line type. All 64 bits must be specified. Setting a bit to 1 selects the correspond line type.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1e2ylrmjvyzean17v58zz5uzt89\"}],\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"n0plb49m1tzep9n1rlwzqfz4w765.htm\"}},{\"name\":\"DESCRIPTION=\",\"aliases\":[\"DES\"],\"description\":\"Provides a description of the device entry.\",\"help\":\"DESCRIPTION= '*text-string*'\",\"type\":\"value\",\"arguments\":[{\"name\":\"text-string\",\"optional\":true,\"placeholder\":true,\"description\":\"is a string up to 256 characters long.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0gz27ggr55df9n130fcudcp0xv1\"}],\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"n1ehv5o6u4gc0xn1s7w1c29diexq.htm\"}},{\"name\":\"DEVMAP=\",\"description\":\"Specifies the device map to be used when device-resident fonts are used.\",\"help\":\"DEVMAP= *device-map-name* | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"device-map-name\",\"optional\":true,\"placeholder\":true,\"description\":\"is a string up to eight characters long that is the name of the device map entry.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1eyd3rvqfol1un1us1vo9jeib1q\"},{\"name\":\"NONE\",\"optional\":true,\"description\":\"specifies that you do not want to use a device map.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0oyxakjjsppjhn1d1elegpbsa3w\"}],\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"n124zr3dy01x3pn14zq3dxzkin6l.htm\"}},{\"name\":\"DEVOPTS=\",\"description\":\"Specifies the hardware capabilities of the device.\",\"help\":\"DEVOPTS= '*hardware-capabilities-hex-string*'X\",\"type\":\"value\",\"arguments\":[{\"name\":\"hardware-capabilities-hex-string\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies a 16-character hexadecimal string where each bit in the string corresponds to a device capability. All 64 bits must be specified. Setting a bit to 1 specifies the corresponding capability.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n068ujaa3l69xkn12uybivvjbe37\"}],\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"n18aijrbx8bejln1tmll85geec1n.htm\"}},{\"name\":\"DEVTYPE=\",\"description\":\"Specifies the information required by SAS/GRAPH routines to determine the nature of the output device.\",\"help\":\"DEVTYPE= *device-type*\",\"type\":\"value\",\"arguments\":[{\"name\":\"GTERM\",\"description\":\"indicates that the output device is a graphics device that will be receiving graphics data. Most device drivers use this value.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n071h547inwqxmn1glg76cvuzz47\"},{\"name\":\"G3270\",\"description\":\"indicates that the output device is an IBM 3270 graphics data stream.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0tzdtl7fm5v0xn1mfe96777qvdz\"}],\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"p0u40cnfrmwzcln1ms1pz46odlh0.htm\"}},{\"name\":\"DRVINIT1=\",\"description\":\"Specifies host commands to be executed before driver initialization.\",\"help\":\"DRVINIT1= '*system-command(s)*'\",\"type\":\"value\",\"arguments\":[{\"name\":\"system-command\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies a character string of up to 72 characters that contains one or more valid system commands and can be in upper- or lowercase letters.\",\"help\":\"*system-command(s)*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1sewv44qrrv63n1ojy24s4i2b64\"}],\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"n0xd6ihhi22ae7n1lcp2m3s30eu9.htm\"}},{\"name\":\"DRVINIT2=\",\"description\":\"Specifies host commands to be executed before driver initialization.\",\"help\":\"DRVINIT2= '*system-command(s)*'\",\"type\":\"value\",\"arguments\":[{\"name\":\"system-command\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies a character string of up to 72 characters that contains one or more valid system commands and can be in upper- or lowercase letters.\",\"help\":\"*system-command(s)*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1sewv44qrrv63n1ojy24s4i2b64\"}],\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"n0xd6ihhi22ae7n1lcp2m3s30eu9.htm\"}},{\"name\":\"DRVQRY\",\"description\":\"specifies that the device can be queried for information about the current device configuration.\",\"type\":\"standalone\",\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"p11jjid5dgljj0n18c96ml4ieh2e.htm\"}},{\"name\":\"DRVTERM1=\",\"description\":\"Specifies host commands to be executed after the driver terminates.\",\"help\":\"DRVTERM1= '*system-command(s)*'\",\"type\":\"value\",\"arguments\":[{\"name\":\"system-command\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies a character string of up to 72 characters that contains one or more valid system commands and can be in upper- or lowercase letters.\",\"help\":\"*system-command(s)*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0wq53wp2fwcsvn1q5khxrpat8xj\"}],\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"n0wgmwdf019qhxn1j54lpg36tbo9.htm\"}},{\"name\":\"DRVTERM2=\",\"description\":\"Specifies host commands to be executed after the driver terminates.\",\"help\":\"DRVTERM2= '*system-command(s)*'\",\"type\":\"value\",\"arguments\":[{\"name\":\"system-command\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies a character string of up to 72 characters that contains one or more valid system commands and can be in upper- or lowercase letters.\",\"help\":\"*system-command(s)*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0wq53wp2fwcsvn1q5khxrpat8xj\"}],\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"n0wgmwdf019qhxn1j54lpg36tbo9.htm\"}},{\"name\":\"ERASE=\",\"description\":\"Specifies whether to erase graph after display.\",\"help\":\"ERASE= Y | N\",\"type\":\"choice\",\"arguments\":[{\"name\":\"Y\",\"optional\":true,\"description\":\"causes the graph to be erased when you press Enter after the graph has been displayed.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n16kpvixxmcxdln1kghqliqczna8\"},{\"name\":\"N\",\"optional\":true,\"description\":\"causes the graph to remain on the display when you press Enter after the graph has been displayed.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0z1svmmm4p1i8n1h9dxc74wah6d\"}],\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"n0lpt7h6tzajgcn14dafb5klwopn.htm\"}},{\"name\":\"FILECLOSE=\",\"description\":\"Controls when the graphics stream file (GSF) is closed when you are using the device driver to send graphics output to a hard copy device.\",\"help\":\"FILECLOSE= DRIVERTERM | GRAPHEND\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DRIVERTERM\",\"optional\":true,\"aliases\":[\"DRIVER\"],\"description\":\"closes the GSF and makes it available to the device after all graphs have been produced and the procedure or driver terminates.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n17wr4r6rt4bspn1a6rwxz2n1rem\"},{\"name\":\"GRAPHEND\",\"optional\":true,\"aliases\":[\"GRAPH\"],\"description\":\"closes the GSF after each separate graph is produced and releases it to the device before sending another.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0rd3ipyipnff7n1bnl25zcyjqt7\"}],\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"p0wn0an1utqp05n1h25wbldh9k50.htm\"}},{\"name\":\"FILL=\",\"description\":\"Specifies whether to use the device's hardware rectangle-fill capability.\",\"help\":\"FILL= Y | N\",\"type\":\"choice\",\"arguments\":[{\"name\":\"Y\",\"optional\":true,\"description\":\"causes SAS/GRAPH to use the built-in hardware rectangle-filling capability of the device.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1eiuss41azuy6n12qf2mvc8ti3n\"},{\"name\":\"N\",\"optional\":true,\"description\":\"causes SAS/GRAPH to use software fills to fill rectangles.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0xml4dr3z1ys7n1ruk1ach2kjj5\"}],\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"n0zbapmjqiuxsfn1llltl2thxiuz.htm\"}},{\"name\":\"FILLINC=\",\"description\":\"Specifies the number of pixels to move before drawing the next line in a software fill of a solid area.\",\"help\":\"FILLINC= 0 – 9999\",\"type\":\"standalone\",\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"n1k2xk3sbjil8nn1o424kiigjosc.htm\"}},{\"name\":\"FORMAT=\",\"description\":\"Sets the file format of the metacode file produced by the part of the Metagraphics device driver that is supplied by SAS.\",\"help\":\"FORMAT= CHARACTER | BINARY\",\"type\":\"choice\",\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"n0w1p1mq5nfb9yn1mwek039m689j.htm\"}},{\"name\":\"GACCESS=\",\"description\":\"Specifies the format or the destination or both of graphics data written to a traditional SAS/GRAPH device driver or to a graphics stream file (GSF).\",\"help\":\"GACCESS= *output-format* | '*output-format**destination*'\",\"type\":\"choice\",\"arguments\":[{\"name\":\"SASGASTD\",\"description\":\"specifies that a continuous stream of data is written.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0n9r86top62k9n1bh2nl8a1t4cw\"},{\"name\":\"SASGAEDT\",\"description\":\"specifies that the file be host-specific edit format.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1fno558uxlvfhn12kux1i6g3eot\"},{\"name\":\"SASGAFIX\",\"description\":\"specifies that fixed-length records be written.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0z9v40zroo3hrn1srksbc9483wt\"},{\"name\":\"SASGALOG\",\"description\":\"specifies that records are to be written to the SAS log.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0gifm2gwhj4nin1xeel50dvctjm\"},{\"name\":\"GSASFILE\",\"description\":\"specifies that the records are to be written to the destination whose fileref is GSASFILE.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0j3e7ll7p5jtcn1qpn2gl4j34tn\"},{\"name\":\"'output-format\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the destination in addition to one of these output format values: SASGASTD, SASGAEDT, or SASGAFIX.\",\"help\":\"'*output-format*  *destination*'\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0r77fmqo37hpjn15escxf4txu30\"}],\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"p1t8r2pke5t1yhn1da8jtl20jlce.htm\"}},{\"name\":\"GCOPIES=\",\"description\":\"Sets the current and maximum number of copies to be printed.\",\"help\":\"GCOPIES= *current-copies*\",\"type\":\"value\",\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"n1cvdised37xz2n1fh91wexb23vy.htm\"}},{\"name\":\"GEND=\",\"description\":\"Appends an ASCII string to every graphics data record that is sent to a device or file.\",\"help\":\"GEND= '*string*'&lt;'*string-n*'&gt;\",\"type\":\"value\",\"arguments\":[{\"name\":\"'string'\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the ASCII string to append to every graphics data record that is sent to a device or file.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1guqjuqch7cc0n0zuwijuyhroz3\"}],\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"n0zm70hmg8f695n15ks1w45zu2gs.htm\"}},{\"name\":\"GEPILOG=\",\"description\":\"Sends a string to a device or file after all graphics commands are sent.\",\"help\":\"GEPILOG= '*string*'&lt;'*string-n*'&gt;\",\"type\":\"value\",\"arguments\":[{\"name\":\"'string'\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the string to a device or file after all graphics commands are sent.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0yr61iwwnv9nyn18juwge6uk9re\"}],\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"n0lqntbzrbc2o0n11j1g6lnncl4c.htm\"}},{\"name\":\"GPROLOG=\",\"description\":\"Sends a string to device or file before graphics commands are sent.\",\"help\":\"GPROLOG= '*string*'&lt;'*string-n*'&gt;\",\"type\":\"value\",\"arguments\":[{\"name\":\"'string'\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the string to a device or file before all graphics commands are sent.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0cvs1lp7yjr7hn1iln9evlarj34\"}],\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"p0jzpdwnfncaein1fbwikjj0n9nc.htm\"}},{\"name\":\"GPROTOCOL=\",\"description\":\"Specifies the protocol module to use when routing output directly to a printer or creating a graphics stream file (GSF) to send to a device attached to your host by a protocol converter.\",\"help\":\"GPROTOCOL= *module-name*\",\"type\":\"value\",\"arguments\":[{\"name\":\"module-name\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the protocol module name.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0ni7ghpxdcw8an169upnwblyuzh\"}],\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"p1n0dug9u3vqezn1qdpfumb4ihx5.htm\"}},{\"name\":\"GSFLEN=\",\"description\":\"Controls the length of records written to the graphics stream file (GSF).\",\"help\":\"GSFLEN= *record-length*\",\"type\":\"value\",\"arguments\":[{\"name\":\"record-length\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the length of the records written by the driver to a GSF or to the device as an integer in the range 0–99999.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n07htad92mxge6n19kg23lt3vpgt\"}],\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"p0vq582na6e9isn1vs3h04rb98ja.htm\"}},{\"name\":\"GSFMODE=\",\"description\":\"Specifies the disposition of records written to a graphics stream file (GSF) or to a device or communications port by the device driver.\",\"help\":\"GSFMODE= APPEND | PORT | REPLACE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"APPEND\",\"optional\":true,\"description\":\"adds the records to the end of a GSF designated by the GACCESS= or GSFNAME= graphics option or device parameter.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1dk8nroncjxb8n12yxfi3kis1us\"},{\"name\":\"PORT\",\"optional\":true,\"description\":\"sends the records to a device or communications port.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0a3d1ed2krfdon1kej36rgjlbhl\"},{\"name\":\"REPLACE\",\"optional\":true,\"description\":\"replaces the existing contents of a GSF designated by the GACCESS= or GSFNAME= graphics option or device parameter.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n07wgea8yodus5n16a24uy8csbam\"}],\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"p1rfrb3zhjyef0n196gbpp66ysx8.htm\"}},{\"name\":\"GSFNAME=\",\"description\":\"Specifies the fileref of the file or aggregate file location to which graphics stream file records are written.\",\"help\":\"GSFNAME= *fileref*\",\"type\":\"value\",\"arguments\":[{\"name\":\"fileref\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies a fileref that points to the destination for the graphics stream file (GSF) output.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0d9rxcuhpwngrn15boq1ve5zeq5\"}],\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"p0c81ic3b3h35kn1hu0zkf9hc36l.htm\"}},{\"name\":\"GSIZE=\",\"description\":\"Sets the number of lines of display used for graphics for devices whose displays can be divided into graphics and text areas.\",\"help\":\"GSIZE= *lines*\",\"type\":\"value\",\"arguments\":[{\"name\":\"lines\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the number of lines to be used for graphics.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0uuht3c6ofvs3n1he04rvuz3kea\"}],\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"n185ku32izhb0jn17ogh6hodvalp.htm\"}},{\"name\":\"GSTART=\",\"description\":\"Prefixes every record of graphics data sent to a device or file with a string of characters.\",\"help\":\"GSTART= '*string*'&lt;'*string-n*'&gt;\",\"type\":\"value\",\"arguments\":[{\"name\":\"'string'\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the string that prefixes every record of graphics data sent to a device or file.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1o4m2d8gqfbfxn1enbbpcwt5w5o\"}],\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"p16vwrl4qvew43n1utsq5xg97my5.htm\"}},{\"name\":\"HANDSHAKE=\",\"description\":\"Specifies the type of flow control used to regulate the flow of data to a hard copy device.\",\"help\":\"HANDSHAKE= HARDWARE | NONE | SOFTWARE | XONXOFF\",\"type\":\"choice\",\"arguments\":[{\"name\":\"HARDWARE\",\"optional\":true,\"aliases\":[\"HARD\"],\"description\":\"specifies that SAS/GRAPH instruct the device to use the hardware CTS and RTS signals for flow control.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1m0xwm3yibxzcn1x9cnhk6m5fy0\"},{\"name\":\"NONE\",\"optional\":true,\"description\":\"specifies that SAS/GRAPH send data without providing flow control.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0zybz1qq3r5aqn15oc0bzo7i5zm\"},{\"name\":\"SOFTWARE\",\"optional\":true,\"aliases\":[\"SOFT\"],\"description\":\"specifies that SAS/GRAPH use programmed flow control with plotters in eavesdrop mode.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0uja52b5cvyyun1k3roaf5jgiqe\"},{\"name\":\"XONXOFF\",\"optional\":true,\"aliases\":[\"X\"],\"description\":\"specifies that SAS/GRAPH instruct the device to use ASCII characters DC1 and DC3 for flow control.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1dewwi52xqjj1n1crcz4os7sd6w\"}],\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"p0utrluapfxbsan188b8wum4jg1s.htm\"}},{\"name\":\"HEADER=\",\"description\":\"Specifies the command that executes a user-supplied program to create HEADER records for the driver.\",\"help\":\"HEADER= '*command*'\",\"type\":\"value\",\"arguments\":[{\"name\":\"command\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies a command that runs a user-written program that creates the file of HEADER records.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p16pbugcksfmxwn1ejtl6obs3xk8\"}],\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"n1jojwa4uvh704n1tgg6fzy5r708.htm\"}},{\"name\":\"HEADERFILE=\",\"description\":\"Specifies the fileref for the file from which the Metagraphics driver reads HEADER records.\",\"help\":\"HEADERFILE= *fileref*\",\"type\":\"value\",\"arguments\":[{\"name\":\"fileref\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies a valid SAS fileref up to eight characters long.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1chqw74kthrk0n12v637yq1rqpe\"}],\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"p0gapm9y388efqn1hcpezjby7hpm.htm\"}},{\"name\":\"HORIGIN=\",\"description\":\"Sets the horizontal offset from the lower left corner of the display area to the lower left corner of the graph.\",\"help\":\"HORIGIN= *horizontal-offset*&lt;IN | CM | PT&gt;\",\"type\":\"value\",\"arguments\":[{\"name\":\"horizontal-offset\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the horizontal offset as a nonnegative integer optionally followed by a units specification of IN for inches (default), CM for centimeters, or PT for points.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n19dvl8phesqz0n15ifqvgwhdf3u\"},{\"name\":\"INCMPT\",\"optional\":true,\"description\":\"specifies the units as inches (IN), centimeters (CM), or points (PT).\",\"type\":\"choice\",\"arguments\":[{\"name\":\"IN\",\"type\":\"standalone\"},{\"name\":\"CM\",\"type\":\"standalone\"},{\"name\":\"PT\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"p0ikyvfpq718ren1ug5kgsl7314k\"}],\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"p1vhfm37fj96xwn1x011fwnxkh3i.htm\"}},{\"name\":\"HOSTSPEC=\",\"description\":\"Stores FILENAME statement options in the device entry.\",\"help\":\"HOSTSPEC= '*text-string*'\",\"type\":\"value\",\"arguments\":[{\"name\":\"text-string\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies FILENAME statement options that are valid for the operating environment. Text-string accepts characters in upper or lower case.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1d7ixmit12mfrn1k9vvn67p1eaq\"}],\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"p1s9nlwti9lf8mn13hcedevl1xgq.htm\"}},{\"name\":\"HSIZE=\",\"description\":\"Sets the horizontal size of the graphics output area.\",\"help\":\"HSIZE= *horizontal-size*&lt;IN | CM | PT&gt;\",\"type\":\"value\",\"arguments\":[{\"name\":\"horizontal-size\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the width of the graphics output area as a positive number optionally followed by a units specification of IN for inches (default), CM for centimeters, or PT for points.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1mkctk6fhuyign1fi3b8fbsetuc\"},{\"name\":\"INCMPT\",\"optional\":true,\"description\":\"specifies the units as inches (IN), centimeters (CM), or points (PT).\",\"type\":\"choice\",\"arguments\":[{\"name\":\"IN\",\"type\":\"standalone\"},{\"name\":\"CM\",\"type\":\"standalone\"},{\"name\":\"PT\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"p1uv3zy1i13lb5n1g0i4jwfgcjmh\"}],\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"n15k2j1cq9zpnan1vhaltxbkyry7.htm\"}},{\"name\":\"ID=\",\"description\":\"Specifies the description string used by the Metagraphics driver.\",\"help\":\"ID= '*description*'\",\"type\":\"value\",\"arguments\":[{\"name\":\"description\",\"optional\":true,\"placeholder\":true,\"description\":\"is a character string up to 70 characters long.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0e8hpptlde4fcn1ucvcy4qz3lvj\"}],\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"p0qla5qsvza2xwn1a4j6f8y36zew.htm\"}},{\"name\":\"INTERACTIVE=\",\"description\":\"Sets level of interactivity for Metagraphics driver.\",\"help\":\"INTERACTIVE= USER | GRAPH | PROC\",\"type\":\"choice\",\"arguments\":[{\"name\":\"USER\",\"optional\":true,\"description\":\"specifies that the user-written part of the driver be executed outside of SAS/GRAPH.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n15tej1atb7igmn12gbh0ebq081i\"},{\"name\":\"GRAPH\",\"optional\":true,\"description\":\"specifies that the user-written part be invoked for each graph.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1iq1x5gzzevxen1sm88peaglv54\"},{\"name\":\"PROC\",\"optional\":true,\"description\":\"specifies that the user-written part of the Metagraphics driver be invoked after the procedure is complete.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p12lr1nna8gchin18umogjm0ysws\"}],\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"n0uhj6rwj2lsudn1eti30a00lmaj.htm\"}},{\"name\":\"LCOLS=\",\"description\":\"Sets the number of columns in the graphics output area for landscape orientation.\",\"help\":\"LCOLS= *landscape-columns*\",\"type\":\"value\",\"arguments\":[{\"name\":\"landscape-columns\",\"optional\":true,\"placeholder\":true,\"description\":\"must be a nonnegative integer in the range 0–999.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0jzo645irag69n1b4hrlfkkdlng\"}],\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"p1qr84b7mq6k80n1hbvdaejqj8k0.htm\"}},{\"name\":\"LFACTOR=\",\"description\":\"Selects the default hardware line thickness.\",\"help\":\"LFACTOR= *line-thickness-factor*\",\"type\":\"value\",\"arguments\":[{\"name\":\"line-thickness-factor\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the default hardware line thickness as an integer in the range 0–9999.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p09td68gwfeht8n1axgk7buty9da\"}],\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"p0rpaie5qg84cen1c537eit9fd21.htm\"}},{\"name\":\"LROWS=\",\"description\":\"Sets the number of rows in the graphics output area for landscape orientation.\",\"help\":\"LROWS= *landscape-rows*\",\"type\":\"value\",\"arguments\":[{\"name\":\"landscape-rows\",\"optional\":true,\"placeholder\":true,\"description\":\"is a nonnegative integer in the range 0–999.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0xdp62p1fwjcjn1fyl6d503qogw\"}],\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"p1xp79ytj1h4aln0zkm7eiseskg6.htm\"}},{\"name\":\"MAXCOLORS=\",\"description\":\"Sets the total number of colors that can be displayed at once.\",\"help\":\"MAXCOLORS= *number-of-colors*\",\"type\":\"color\",\"arguments\":[{\"name\":\"number-of-colors\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the number of colors that can be displayed at once as an integer in the range 2–256.\",\"type\":\"color\",\"supportSiteTargetFragment\":\"n16oaibdatkdmin1ps9dokwcx5hm\"}],\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"p17vlp2mc5u9hwn119zy5bptunh9.htm\"}},{\"name\":\"MAXPOLY=\",\"description\":\"Sets the maximum number of vertices for hardware-drawn polygons.\",\"help\":\"MAXPOLY= *number-of-vertices*\",\"type\":\"value\",\"arguments\":[{\"name\":\"number-of-vertices\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the maximum number of vertices for hardware-drawn polygons as an integer in the range 0–9999.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0p0hjnro85fuun1pgf6mdxwkxup\"}],\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"n12uocj1mme1msn1e5k5hgjbm2e1.htm\"}},{\"name\":\"MODEL=\",\"description\":\"Specifies the model number of the output device.\",\"help\":\"MODEL= *model-number*\",\"type\":\"value\",\"arguments\":[{\"name\":\"model-number\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the model number designated by SAS for the corresponding device as an integer in the range 0–99999.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0t69y4jmop4lln1qu606pewk3dh\"}],\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"n052ywa7f81kbhn14eyiwna3gscd.htm\"}},{\"name\":\"MODULE=\",\"description\":\"Specifies the name of the corresponding executable driver module for the device.\",\"help\":\"MODULE= *driver-module*\",\"type\":\"value\",\"arguments\":[{\"name\":\"driver-module\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the executable driver module name as a literal string up to eight characters long.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0uc2fb9nkq8f1n1h8czo0cmkwt3\"}],\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"p00ziz8wu18zxin1mehghzzjygcr.htm\"}},{\"name\":\"NAK=\",\"description\":\"Specifies the negative response for software handshaking for Metagraphics drivers.\",\"help\":\"NAK= '*negative-handshake-response*'X\",\"type\":\"value\",\"arguments\":[{\"name\":\"negative-handshake-response\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the negative response for software handshaking for Metagraphics drivers as a hexadecimal string up to 16 characters long.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1w6y5csnjh7yyn1d70ov7in8mrn\"}],\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"p1alxxpwlhxl3qn12wmbo4dlhns9.htm\"}},{\"name\":\"NODRVQRY\",\"description\":\"specifies that the device cannot be queried for information about the current device configuration.\",\"type\":\"standalone\",\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"p11jjid5dgljj0n18c96ml4ieh2e.htm\"}},{\"name\":\"PAPERFEED=\",\"description\":\"Specifies the increment of paper that is ejected when a graph is completed.\",\"help\":\"PAPERFEED= *feed-increment*&lt;IN | CM&gt;\",\"type\":\"value\",\"arguments\":[{\"name\":\"feed-increment\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the feed increment as a nonnegative number.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0josmalwgeinon17izqp5op74up\"},{\"name\":\"INCM\",\"optional\":true,\"description\":\"specifies the units as inches (IN) or centimeters (CM).\",\"type\":\"standaloneOrValue\",\"supportSiteTargetFragment\":\"n1rtomzh1hq3n7n1q4s97x3hxrtg\"}],\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"n0xl6unc4k4a39n1ocwhbr3auxkm.htm\"}},{\"name\":\"PATH=\",\"description\":\"Sets the increment of the angle for device-resident text rotation.\",\"help\":\"PATH= *angle-increment*\",\"type\":\"value\",\"arguments\":[{\"name\":\"angle-increment\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the angle at which to rotate the text baseline as an integer in the range 0–360.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1cxoilirprxugn16d8y8thtpixi\"}],\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"p0xkuzwfev19j1n1n4m3cw9t194z.htm\"}},{\"name\":\"PCOLS=\",\"description\":\"Sets the number of columns in the graphics output area for portrait orientation.\",\"help\":\"PCOLS= *portrait-columns*\",\"type\":\"value\",\"arguments\":[{\"name\":\"portrait-columns\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the number of columns in the graphics output area for portrait orientation as an integer in the range 0–999.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0egxhorahx1axn13wcrmdj4s763\"}],\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"n1gqjj4k5ulo03n1xpva002pll5v.htm\"}},{\"name\":\"PENSORT=\",\"description\":\"Specifies whether plotters draw graphics elements in order of color.\",\"help\":\"PENSORT= Y | N\",\"type\":\"choice\",\"arguments\":[{\"name\":\"Y\",\"optional\":true,\"description\":\"causes the plotter to draw all graphics elements of one color at one time.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0ssv6285czumen1vltxxhzncfa6\"},{\"name\":\"N\",\"optional\":true,\"description\":\"causes the plotter to draw each element as it is encountered, regardless of its color.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1csesuj3ejgkkn1fmspbv4pzlo7\"}],\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"p1btp8p9kptexbn1bvfpppfjk8sx.htm\"}},{\"name\":\"PIEFILL=\",\"description\":\"Specifies whether to use the device's hardware pie-fill capability.\",\"help\":\"PIEFILL= Y | N\",\"type\":\"choice\",\"arguments\":[{\"name\":\"Y\",\"optional\":true,\"description\":\"causes SAS/GRAPH to use the built-in hardware capability of the device, if available, to fill pies and pie sections.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p16sqloqlxwyurn18d15aovo01a0\"},{\"name\":\"N\",\"optional\":true,\"description\":\"causes SAS/GRAPH to fill pies and pie sections using software pie fills.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0lou369ctyplxn19adetcuvfmnz\"}],\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"n1dlq674edkhqen13omwfi2jbn18.htm\"}},{\"name\":\"POLYFILL=\",\"description\":\"Specifies whether to use the hardware polygon-fill capability.\",\"help\":\"POLYFILL= Y | N\",\"type\":\"choice\",\"arguments\":[{\"name\":\"Y\",\"optional\":true,\"description\":\"causes SAS/GRAPH to use the built-in hardware capability of the device to fill polygons.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n19drx59trhcr8n1dsf9jin3x1kb\"},{\"name\":\"N\",\"optional\":true,\"description\":\"causes SAS/GRAPH to use software fills to fill polygons.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p179vxe8spaob7n1gmej23hefakh\"}],\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"p19rly6lpfz4whn1590w0u7spqhn.htm\"}},{\"name\":\"POSTGRAPH1=\",\"description\":\"Specifies host commands to be executed after the graph is produced.\",\"help\":\"POSTGRAPH1= '*system-command(s)*'\",\"type\":\"value\",\"arguments\":[{\"name\":\"system-command\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies one or more valid system commands.\",\"help\":\"*system-command(s)*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1mcgflsy7c031n10sw79xgcjqla\"}],\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"p0glhn21x0yiepn1otlq74xutjcu.htm\"}},{\"name\":\"POSTGRAPH2=\",\"description\":\"Specifies host commands to be executed after the graph is produced.\",\"help\":\"POSTGRAPH2= '*system-command(s)*'\",\"type\":\"value\",\"arguments\":[{\"name\":\"system-command\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies one or more valid system commands.\",\"help\":\"*system-command(s)*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1mcgflsy7c031n10sw79xgcjqla\"}],\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"p0glhn21x0yiepn1otlq74xutjcu.htm\"}},{\"name\":\"PREGRAPH1=\",\"description\":\"Specifies host commands to be executed before the graph is produced.\",\"help\":\"PREGRAPH1= '*system-command(s)*'\",\"type\":\"value\",\"arguments\":[{\"name\":\"system-command\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies one or more valid system commands.\",\"help\":\"*system-command(s)*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0jts814jh5j6hn1tupopt6n5bze\"}],\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"n01gw81jg6mugnn1ezit0i02j93g.htm\"}},{\"name\":\"PREGRAPH2=\",\"description\":\"Specifies host commands to be executed before the graph is produced.\",\"help\":\"PREGRAPH2= '*system-command(s)*'\",\"type\":\"value\",\"arguments\":[{\"name\":\"system-command\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies one or more valid system commands.\",\"help\":\"*system-command(s)*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0jts814jh5j6hn1tupopt6n5bze\"}],\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"n01gw81jg6mugnn1ezit0i02j93g.htm\"}},{\"name\":\"PROCESS=\",\"description\":\"Specifies the command that translates the metafile into commands for the device.\",\"help\":\"PROCESS= '*command*'\",\"type\":\"value\",\"arguments\":[{\"name\":\"command\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies a character string of up to 40 characters that contains the command that translates the metafile produced by the Metagraphics driver into commands for the device.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1m75wjdy36bwgn1506wdwf3k6of\"}],\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"p1ewks31etblpxn1jrhe4y8pg43l.htm\"}},{\"name\":\"PROCESSINPUT=\",\"description\":\"Specifies the fileref for the file that contains input for the user-written part of the Metagraphics driver.\",\"help\":\"PROCESSINPUT= *fileref*\",\"type\":\"value\",\"arguments\":[{\"name\":\"fileref\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies a valid SAS fileref up to eight characters long.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n061lkqz21jv15n1lxz90c8i3tvr\"}],\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"n19czh8xvdoqorn14brazk4b30a3.htm\"}},{\"name\":\"PROCESSOUTPUT=\",\"description\":\"Specifies the fileref for the file that receives output from the user-written part of the Metagraphics driver.\",\"help\":\"PROCESSOUTPUT= *fileref*\",\"type\":\"value\",\"arguments\":[{\"name\":\"fileref\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies a valid SAS fileref up to eight characters long.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0f2ymltkb2qhsn1xogylts0dluf\"}],\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"p1mrjax8m7b9g5n1gd9yl28mj8xx.htm\"}},{\"name\":\"PROMPT=\",\"description\":\"Specifies whether prompts are issued.\",\"help\":\"PROMPT= 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7\",\"type\":\"choice\",\"arguments\":[{\"name\":\"0\",\"optional\":true,\"description\":\"provides no prompting.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1ht91g7h8of65n1az5p1zksux7n\"},{\"name\":\"1\",\"optional\":true,\"description\":\"issues start-up messages only. Start-up messages are messages such as PLEASE PRESS RETURN TO CONTINUE.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0iat84m466zy4n1sxiis27uwpo8\"},{\"name\":\"2\",\"optional\":true,\"description\":\"signals end of graph if device is a video display or sends message to change paper if device is a plotter.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0orgo9m9m0oqmn1lovqha9pzkci\"},{\"name\":\"3\",\"optional\":true,\"description\":\"combines the effects of 1 and 2.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0uz9n0ttfybsvn1v3we9wqmoo1p\"},{\"name\":\"4\",\"optional\":true,\"description\":\"sends a message to mount pens if the device is a plotter.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0xgczv5rf22xun1mna21090bm3z\"},{\"name\":\"5\",\"optional\":true,\"description\":\"combines the effects of 4 and 1.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p033623c9op77sn18yj21s1git3a\"},{\"name\":\"6\",\"optional\":true,\"description\":\"combines the effects of 4 and 2.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0x28dju8p6rwsn1p3cc8ts5ok9p\"},{\"name\":\"7\",\"optional\":true,\"description\":\"sends all prompts.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0gq48iwzi6azun1bokfjzytk3yw\"}],\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"n1ku8rh4atoq6un10txudk785gbd.htm\"}},{\"name\":\"PROMPTCHARS=\",\"description\":\"Selects the prompt characters to be used by SAS/GRAPH device drivers.\",\"help\":\"PROMPTCHARS= '*prompt-chars-hex-string*'X\",\"type\":\"value\",\"arguments\":[{\"name\":\"prompt-chars-hex-string\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the prompt characters to be used by SAS/GRAPH device drivers as an 8-byte hexadecimal string that is specified as 16 hexadecimal characters.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1lr97ed7xlcdun1lebt4q0bp6w5\"}],\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"n0kwo2tr2dk41hn1wywlwg3al9yd.htm\"}},{\"name\":\"PROWS=\",\"description\":\"Sets the number of rows in the graphics output area for portrait orientation.\",\"help\":\"PROWS= *portrait-rows*\",\"type\":\"value\",\"arguments\":[{\"name\":\"portrait-rows\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the number of rows in the graphics output area for portrait orientation as an integer in the range 0–999.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0t6wemjfzjmm7n1hxux7368sugh\"}],\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"p1lxkgsvj0o2rwn12owp7l05dzyp.htm\"}},{\"name\":\"QMSG=\",\"description\":\"Specifies whether log messages are held until after the graphics output is displayed.\",\"help\":\"QMSG= Y | N\",\"type\":\"choice\",\"arguments\":[{\"name\":\"Y\",\"optional\":true,\"description\":\"queues driver messages while the device is in graphics mode (default for video devices).\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0229fuchwcmc3n1bmdkf6ule02g\"},{\"name\":\"N\",\"optional\":true,\"description\":\"prevents the queuing of messages (default for plotters, cameras, and printers).\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0wvcwbskal943n15hix1e2jovyg\"}],\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"n11dloqwtapr8bn135a3v3btba2p.htm\"}},{\"name\":\"RECTFILL=\",\"description\":\"Specifies which rectangle fills should be performed by hardware.\",\"help\":\"RECTFILL= '*rectangle-fill-hex-string*'X\",\"type\":\"value\",\"arguments\":[{\"name\":\"rectangle-fill-hex-string\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies which rectangle fills should be performed by hardware as a hexadecimal string that is 16 characters long.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n010tcjyj8x61yn1jd3j82oug233\"}],\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"p1gad6g4vsu911n19a50v52gxoeq.htm\"}},{\"name\":\"REPAINT=\",\"description\":\"Specifies how many times to redraw the graph.\",\"help\":\"REPAINT= *redraw-factor*\",\"type\":\"value\",\"arguments\":[{\"name\":\"redraw-factor\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies how many times to redraw the graph as a integer in the range 0–999.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1agq5la4s54x8n1c0fl05rciq2r\"}],\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"p1k84ld2aly4x0n19rghjhioo8pp.htm\"}},{\"name\":\"ROTATE=\",\"description\":\"Specifies whether and how to rotate the graph.\",\"help\":\"ROTATE= LANDSCAPE | PORTRAIT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"LANDSCAPE\",\"optional\":true,\"description\":\"specifies landscape orientation (the graph is wider than it is high).\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n04z515v5prkrun1owyg0ztjd6nd\"},{\"name\":\"PORTRAIT\",\"optional\":true,\"description\":\"specifies portrait orientation (the graph is higher than it is wide).\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0jyu5dj56r4xkn1ay6nqhcpy2ik\"}],\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"p1a6jafawe7vonn18wkaaz8fzp18.htm\"}},{\"name\":\"ROTATION=\",\"description\":\"Sets the increment of the angle by which the device can rotate any given letter in a string of text in a Metagraphics driver.\",\"help\":\"ROTATION= *angle-increment*\",\"type\":\"value\",\"arguments\":[{\"name\":\"angle-increment\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the increment of the angle at which to rotate individual characters (for example, every 5 degrees, every 45 degrees, and so on).\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1xgfykd3ksnzpn1n7ugyyrgr9x4\"}],\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"n0osg4ftmtrva5n0zbtwu1bb53ku.htm\"}},{\"name\":\"SPEED=\",\"description\":\"Selects pen speed for plotters with variable speed selection.\",\"help\":\"SPEED= *pen-speed*\",\"type\":\"value\",\"arguments\":[{\"name\":\"pen-speed\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies a percentage (1 through 100) of the maximum pen speed for the device.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1u1kt0deabj2kn1ha8t57f4ayvc\"}],\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"n0oa91bbc4jsxln1erl7c3027s4u.htm\"}},{\"name\":\"SWAP=\",\"description\":\"Specifies whether to reverse BLACK and WHITE in the graphics output.\",\"help\":\"SWAP= Y | N\",\"type\":\"choice\",\"arguments\":[{\"name\":\"Y\",\"optional\":true,\"description\":\"swaps BLACK for WHITE and vice versa.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0eg91107ml9nzn14ipzic8pejsf\"},{\"name\":\"N\",\"optional\":true,\"description\":\"does not swap the colors.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n15seagw92f00on1a9byh30c044n\"}],\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"p0kjddg6pu5ou8n1nfwokz2s9yi4.htm\"}},{\"name\":\"SYMBOL=\",\"description\":\"Specifies whether to use the device's symbol-drawing capability.\",\"help\":\"SYMBOL= Y | N\",\"type\":\"choice\",\"arguments\":[{\"name\":\"Y\",\"optional\":true,\"description\":\"causes SAS/GRAPH to use the built-in symbol-drawing capability of the device, if available.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1fap9rnyshtu8n1ikjqggc2lfbf\"},{\"name\":\"N\",\"optional\":true,\"description\":\"causes SAS/GRAPH to draw the symbols using SAS/GRAPH fonts.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0ki3pqh0a17vhn1vptgkqdcq8xo\"}],\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"p16iw6lfuv4rg3n1ekbrkm7jfr89.htm\"}},{\"name\":\"SYMBOLS=\",\"description\":\"Specifies which symbols can be generated by hardware.\",\"help\":\"SYMBOLS= '*hardware-symbols-hex-string*'X\",\"type\":\"value\",\"arguments\":[{\"name\":\"hardware-symbols-hex-string\",\"optional\":true,\"placeholder\":true,\"description\":\"is a hexadecimal string that is 16 characters long and must be completely filled.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1lpala9zrrt7en0zzu26fzwull6\"}],\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"p0az2q6lsmvwyhn162ewf54is0xa.htm\"}},{\"name\":\"TRAILER=\",\"description\":\"Specifies the command that creates TRAILER records for the Metagraphics driver.\",\"help\":\"TRAILER= '*command*'\",\"type\":\"value\",\"arguments\":[{\"name\":\"command\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies a command that runs a user-written program that creates the TRAILER file.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1oobtb32ajz8qn12xy4klicagqs\"}],\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"n0oeg6tkh7z1ugn15gi2n6muu32h.htm\"}},{\"name\":\"TRAILERFILE=\",\"description\":\"Specifies the fileref of the file from which the Metagraphics driver reads TRAILER records.\",\"help\":\"TRAILERFILE= *fileref*\",\"type\":\"value\",\"arguments\":[{\"name\":\"fileref\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies a valid SAS fileref up to eight characters long.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n08l67qimmbgt1n1wc83sjrcahhc\"}],\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"p1fgrkdz7sqc6kn1n45mnbjb9qcy.htm\"}},{\"name\":\"TRANTAB=\",\"description\":\"Selects a translate table for your system that performs ASCII-to-EBCDIC translation.\",\"help\":\"TRANTAB= *table* | *user-defined-table*\",\"type\":\"choice\",\"arguments\":[{\"name\":\"table\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies a translate table stored as a SAS/GRAPH catalog entry.\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"p13427717n4x6an1vmw192bkh4z4\"},{\"name\":\"user-defined-table\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the name of a user-created translate table.\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"n0osy7pfwmtrl3n1hf3r9jjjkxf5\"}],\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"p1uls4ncc88i6in18addwj8aufvq.htm\"}},{\"name\":\"TYPE=\",\"description\":\"Specifies the type of output device to which graphics commands are sent.\",\"help\":\"TYPE= CAMERA | CRT | EXPORT | PLOTTER | PRINTER\",\"type\":\"choice\",\"arguments\":[{\"name\":\"CAMERA\",\"optional\":true,\"description\":\"specifies a film-recording device.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0d60fkwyf75chn145rqyfksenom\"},{\"name\":\"CRT\",\"optional\":true,\"description\":\"specifies a monitor or terminal.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n055baqtxkj8qcn1s5qo6zyqqmep\"},{\"name\":\"EXPORT\",\"optional\":true,\"description\":\"identifies the list in which the device appears under SAS/ASSIST software.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0y5ydlxyrv7pin1bsd4imsdk4rj\"},{\"name\":\"PLOTTER\",\"optional\":true,\"description\":\"specifies a pen plotter.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0x2xuj1x60qtjn1pp01zaanjc4z\"},{\"name\":\"PRINTER\",\"optional\":true,\"description\":\"specifies a printer\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n12ybb7kkyj0mnn11oynaxb4vbfe\"}],\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"p0y342bgv430sln1nokpiuaiumfh.htm\"}},{\"name\":\"UCC=\",\"description\":\"Sets the user-defined control characters for the device.\",\"help\":\"UCC= '*control-characters-hex-string*'X\",\"type\":\"value\",\"arguments\":[{\"name\":\"control-characters-hex-string\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the user-defined control characters for the device as a hexadecimal string that can be up 32 bytes (64 characters) long.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0gpshrxu7jfoen1lenzbsts71zk\"}],\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"n0wgfppzuxzjxan1qdlt7aj7d0q8.htm\"}},{\"name\":\"VORIGIN=\",\"description\":\"Sets the vertical offset from the lower left corner of the display area to the lower left corner of the graph.\",\"help\":\"VORIGIN= *vertical-offset*&lt;IN | CM | PT&gt;\",\"type\":\"value\",\"arguments\":[{\"name\":\"vertical-offset\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the vertical offset as a nonnegative number.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0sd8ecrevzwnqn1n3549cqb8aes\"},{\"name\":\"INCMPT\",\"optional\":true,\"description\":\"specifies the units as inches (IN), centimeters (CM), or points (PT).\",\"type\":\"choice\",\"arguments\":[{\"name\":\"IN\",\"type\":\"standalone\"},{\"name\":\"CM\",\"type\":\"standalone\"},{\"name\":\"PT\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"n033rfq1esc0t3n1jwx19dml262u\"}],\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"n0ly0dlpz9dsoin10xldiezx3iqr.htm\"}},{\"name\":\"VSIZE=\",\"description\":\"Sets the vertical size of the graphics output area.\",\"help\":\"VSIZE= *vertical-size*&lt;IN | CM | PT&gt;\",\"type\":\"value\",\"arguments\":[{\"name\":\"vertical-size\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the height of the graphics output area as a positive number.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0vbehg6uxfc4xn1wnqxb4hfez9e\"},{\"name\":\"INCMPT\",\"optional\":true,\"description\":\"specifies the units as inches (IN), centimeters (CM), or points (PT).\",\"type\":\"choice\",\"arguments\":[{\"name\":\"IN\",\"type\":\"standalone\"},{\"name\":\"CM\",\"type\":\"standalone\"},{\"name\":\"PT\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"n0ep4h0xjgsok1n1aqqggbs2fgui\"}],\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"p1abr61fgnk6pan1j5qmtqwv6z2a.htm\"}},{\"name\":\"XMAX=\",\"description\":\"Specifies the width of the addressable graphics display area; affects the horizontal resolution of the device and the horizontal dimension of the graphics output area.\",\"help\":\"XMAX= *width*&lt;IN | CM | PT&gt;\",\"type\":\"value\",\"arguments\":[{\"name\":\"width\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the width of the addressable graphics display area as a positive number.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1sakqhb3jdycen0zhxiur4l8drj\"},{\"name\":\"INCMPT\",\"optional\":true,\"description\":\"specifies the units as inches (IN), centimeters (CM), or points (PT).\",\"type\":\"choice\",\"arguments\":[{\"name\":\"IN\",\"type\":\"standalone\"},{\"name\":\"CM\",\"type\":\"standalone\"},{\"name\":\"PT\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"p0fkx97tk2ymxbn1sl8agdfz46es\"}],\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"p1t6dnp9jmn39qn1iw6abzq4m38u.htm\"}},{\"name\":\"XPIXELS=\",\"description\":\"Specifies the width of the addressable display area in pixels and in conjunction with XMAX determines the horizontal resolution for the device.\",\"help\":\"XPIXELS= *width-in-pixels*\",\"type\":\"value\",\"arguments\":[{\"name\":\"width-in-pixels\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the width of the addressable display area in pixels as an integer in the range 0–99999999.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1o199dwbpx9ebn1lsu8g3vxbd9v\"}],\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"n0mwck1ige61ksn1u0ino33kq7t5.htm\"}},{\"name\":\"YMAX=\",\"description\":\"Specifies the height of the addressable graphics display area; affects the vertical resolution of the device and the vertical dimension of the graphics output area.\",\"help\":\"YMAX= *height*&lt;IN | CM | PT&gt;\",\"type\":\"value\",\"arguments\":[{\"name\":\"height\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the height of the addressable graphics display area as a positive number optionally followed by a units specification of IN for inches (default), CM for centimeters, or PT for points.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0n1ep7rfik50nn162l5si7bbrn8\"},{\"name\":\"INCMPT\",\"optional\":true,\"description\":\"specifies the units as inches (IN), centimeters (CM), or points (PT).\",\"type\":\"choice\",\"arguments\":[{\"name\":\"IN\",\"type\":\"standalone\"},{\"name\":\"CM\",\"type\":\"standalone\"},{\"name\":\"PT\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"n1fgf7kfk8w80an1kpjbiy5mcfly\"}],\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"n1iuwvb5nw14m0n1jcqspsocly94.htm\"}},{\"name\":\"YPIXELS=\",\"description\":\"Specifies the height of the addressable display area in pixels and in conjunction with YMAX determines the horizontal resolution for the device.\",\"help\":\"YPIXELS= *height-in-pixels*\",\"type\":\"value\",\"arguments\":[{\"name\":\"height-in-pixels\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the height of the addressable display area in pixels as an integer in the range 0–99999999.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p08fm7lzwzegybn0zj2al5iujota\"}],\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"p0ksp3megb2h2qn15fci892vi0t2.htm\"}}],\"supportSiteTargetFile\":\"n1eftg1y8qtc6wn1fdca6r30ezcw.htm\"},{\"name\":\"COPY\",\"description\":\"Copies a device entry and places the copy in the current catalog. The original device entry can be either in the current catalog or in a different catalog.\",\"help\":\"COPY *device-entry**copy-options*;\",\"arguments\":[{\"name\":\"device-entry\",\"placeholder\":true,\"description\":\"specifies the one-level name of the device entry to copy.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p15of1yzt6h72gn0z9gnx274r8mb\"},{\"name\":\"FROM=\",\"description\":\"names the catalog from which to copy device-entry.\",\"help\":\"FROM=&lt;*libref*&gt;.*SAS catalog*\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"p0ycrc923js680n1uefgikrbuaww\"},{\"name\":\"NEWNAME=\",\"description\":\"specifies a name for the copy of the device entry that is placed in the current catalog.\",\"help\":\"NEWNAME=*new-device-entry*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0xvlno7zg3a89n1gwd2m04m9zr0\"}],\"supportSiteTargetFile\":\"n1hgfsyridun0on1djkwo7qtzwbw.htm\"},{\"name\":\"DELETE\",\"aliases\":[\"DEL\"],\"description\":\"Deletes the device entry from the current catalog.\",\"help\":\"DELETE *device-entry*;\",\"arguments\":[{\"name\":\"device-entry\",\"placeholder\":true,\"description\":\"specifies the one-level name of device entry to delete.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p14lcxcil9023cn1x1np2sru8gpr\"}],\"supportSiteTargetFile\":\"n1a3adzv0cpzodn11hpj3cub5cwr.htm\"},{\"name\":\"LIST\",\"description\":\"Writes a list of all of the parameters of the specified device entry to the SAS log.\",\"help\":\"LIST *device-entry* | _ALL_ | _NEXT_ | _PREV_ | DUMP;\",\"arguments\":[{\"name\":\"device-entry\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the one-level name of the device entry whose contents you want to list.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p150loogiz3v28n1o6nhzzt5znrg\"},{\"name\":\"_ALL_\",\"optional\":true,\"description\":\"lists only the name, description, and creation date of all device entries in the current catalog.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1fuagjzb53lrln1sghlevd6pdv9\"},{\"name\":\"_NEXT_\",\"optional\":true,\"description\":\"lists the contents of the next device entry.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0wk1q40hhdlmen1u4a5jmt68o7x\"},{\"name\":\"_PREV_\",\"optional\":true,\"description\":\"lists the contents of the previous device entry.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1f1trq2hzmpokn1ksldtim1u2d9\"},{\"name\":\"DUMP\",\"optional\":true,\"description\":\"lists detailed information about all device entries in the current catalog.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n05nv392g14tt0n1c46c0xs6gojv\"}],\"supportSiteTargetFile\":\"p0ntdj37i7xwt1n1fjlg4ug8fb12.htm\"},{\"name\":\"MODIFY\",\"aliases\":[\"MOD\"],\"description\":\"Changes the values in a device entry.\",\"help\":\"MODIFY *device-entry**device-parameters*;\",\"arguments\":[{\"name\":\"device-entry\",\"placeholder\":true,\"description\":\"specifies the one-level name of the device entry that you want to modify.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1hq4ztnwalen9n1uot2rpfmueps\"},{\"name\":\"device-parameters\",\"placeholder\":true,\"description\":\"specifies the parameters that you want to modify.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0oi767zl252uen14kgvt8h7e9vi\"},{\"name\":\"ASPECT=\",\"description\":\"Sets the aspect ratio for graphics elements.\",\"help\":\"ASPECT= *scaling-factor*\",\"type\":\"value\",\"arguments\":[{\"name\":\"scaling-factor\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies a nonnegative integer or real number that determines the ratio of width to height for graphics elements.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0z8qoz69uuvz1n10eu2u7jd6d8k\"}],\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"p0pmqzxmhyvfbyn153h3s72wkfc9.htm\"}},{\"name\":\"AUTOCOPY=\",\"description\":\"Specifies whether to generate hard copy automatically.\",\"help\":\"AUTOCOPY= Y | N\",\"type\":\"choice\",\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"p022m91hz3szsjn1lrk25f7tcp15.htm\"}},{\"name\":\"AUTOFEED=\",\"description\":\"Specifies whether devices with continuous paper or automatic paper feed should roll or feed the paper automatically for the next graph.\",\"help\":\"AUTOFEED= Y | N\",\"type\":\"choice\",\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"n1bx2nm5yp65c7n1dz9czzpd02ww.htm\"}},{\"name\":\"CELL=\",\"description\":\"Controls whether to use cell alignment.\",\"help\":\"CELL= Y | N\",\"type\":\"choice\",\"arguments\":[{\"name\":\"Y\",\"optional\":true,\"description\":\"causes the device to use cell alignment.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0sbxlnq0uxqw7n1etg0bmtr77g3\"},{\"name\":\"N\",\"optional\":true,\"description\":\"suppresses cell alignment, causing the procedure to use the entire procedure output area and place axis and tick mark labels without regard to cell alignment.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0z39iltfa2i7wn1f3uopga9otd6\"}],\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"p1rb3knm5tf0ogn175mgyngzn5lg.htm\"}},{\"name\":\"CHARACTERS=\",\"description\":\"Specifies whether the device-resident font is used when no font or FONT=NONE is specified in a SAS statement.\",\"help\":\"CHARACTERS= Y | N\",\"type\":\"choice\",\"arguments\":[{\"name\":\"Y\",\"optional\":true,\"description\":\"causes SAS/GRAPH to use the device-resident font when you do not specify a font in a SAS program.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0k59c7wr00bpan1afjbnmhzjl9c\"},{\"name\":\"N\",\"optional\":true,\"description\":\"causes SAS/GRAPH to draw the characters using the SIMULATE font and suppresses the use of all device—resident fonts, regardless of values that you specify in other SAS statements.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1rbju90tfuxjzn16zhyn2bxjw6b\"}],\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"n1ikdskm9dd7z4n1o7kjdnpdiivt.htm\"}},{\"name\":\"CHARREC=\",\"description\":\"Specifies a device-resident font by associating a CHARTYPE number with a device-resident font. Also defines a default size to use with that font.\",\"help\":\"CHARREC= (\\n\\ttype, rows, cols, 'font', 'Y' | 'N'\\n\\t\\t<type, rows, cols, 'font', 'Y' | 'N'>\\n\\t\\t< ...>\\n)\",\"type\":\"standalone\",\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"p1uquvuiazftlsn1iebxbtw0zwyl.htm\"}},{\"name\":\"CHARTYPE=\",\"description\":\"Selects the number of the default hardware character set.\",\"help\":\"CHARTYPE= *hardware-font-chartype*\",\"type\":\"value\",\"arguments\":[{\"name\":\"hardware-font-chartype\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the hardware font character type as an integer in the range 0–999.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0ca2tej0bo1hvn1w918udv10nfh\"}],\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"n06xn4ngx95v7cn13yj853r4crw5.htm\"}},{\"name\":\"CIRCLEARC=\",\"description\":\"Specifies whether SAS/GRAPH should use the device's hardware circle-drawing capability, if available.\",\"help\":\"CIRCLEARC= Y | N\",\"type\":\"choice\",\"arguments\":[{\"name\":\"Y\",\"optional\":true,\"description\":\"causes SAS/GRAPH to use the built-in hardware circle- and arc-drawing capability of the device.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n18ucifk0wyjypn1rimyv1aajas5\"},{\"name\":\"N\",\"optional\":true,\"description\":\"causes SAS/GRAPH to use software move and draw commands to draw circles and arcs.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0t5qqqduqsm1cn1urh9tm1lkmxo\"}],\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"n0r02riinqxrkpn1w1hc2gv3vqhd.htm\"}},{\"name\":\"CMAP=\",\"description\":\"Specifies a color map for the device.\",\"help\":\"CMAP= ('*from-color*:*to-color*' &lt;,'*from-color-n*:*to-color-n*'&gt; &lt; ...&gt;)\",\"type\":\"color\",\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"p0slxlx64i3v62n1jzt2ta09p5k8.htm\"}},{\"name\":\"COLORS=\",\"description\":\"Specifies the colors used to produce your graphics output if you do not specify colors explicitly in program statements.\",\"help\":\"COLORS= (&lt;*colors-list*&gt;) | ()\",\"type\":\"choice\",\"arguments\":[{\"name\":\"(colors-list)\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies one or more SAS color names.\",\"type\":\"color\",\"supportSiteTargetFragment\":\"p0jfbufrc9him9n1i3sjnjqjvu2n\"},{\"name\":\"()\",\"optional\":true,\"description\":\"tells SAS/GRAPH to use only the colors that you explicitly specify in program statements and to ignore the ODS style colors.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1ownfed1275qbn15doora7jrqnm\"}],\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"n1wkbxcifhr3ann1pokbmeter6zp.htm\"}},{\"name\":\"COLORTYPE=\",\"description\":\"Specifies the color space used by the user-written part of the Metagraphics device driver.\",\"help\":\"COLORTYPE= NAME | RGB | RGBA | HLS | GRAY | CMY | CMYK | HSV | HSB\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NAME\",\"optional\":true,\"description\":\"specifies SAS predefined color names.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0nmkpn4wn37k8n1549unmwtme0t\"},{\"name\":\"RGB\",\"optional\":true,\"description\":\"specifies red-green-blue (RGB) colors.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0w2zt64jk3y5bn10jec9h4wi5ft\"},{\"name\":\"RGBA\",\"optional\":true,\"description\":\"specifies RGB colors with an alpha channel to control color opacity.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1ez94xbfe1cb8n1ngovu6l08w46\"},{\"name\":\"HLS\",\"optional\":true,\"description\":\"specifies hue-lightness-saturation(HLS) colors.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p10bbgzfiueab3n1f4xn2chspfho\"},{\"name\":\"GRAY\",\"optional\":true,\"description\":\"specifies gray-scale level colors.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p095qemallahxpn1mscrjitigx7w\"},{\"name\":\"CMY\",\"optional\":true,\"description\":\"specifies cyan-magenta-yellow colors.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0p0044lqn6u97n14v2142nge9gv\"},{\"name\":\"CMYK\",\"optional\":true,\"description\":\"specifies cyan-magenta-yellow-black colors..\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p016p642dm2t26n1sa4314dt15pb\"},{\"name\":\"HSV\",\"optional\":true,\"description\":\"specifies hue-saturation-value (HSV) colors.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0301ex016vsrkn16ugnjghknyuk\"},{\"name\":\"HSB\",\"optional\":true,\"description\":\"specifies hue-saturation-brightness (HSB) colors.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1q9z8kk4gazx6n1d6kwhsei98kg\"}],\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"n01sl0yzwfmmfin16n51yw8cddus.htm\"}},{\"name\":\"DASH=\",\"description\":\"Specifies whether to use the device's hardware dashed-line capability, if available.\",\"help\":\"DASH= Y | N\",\"type\":\"choice\",\"arguments\":[{\"name\":\"Y\",\"optional\":true,\"description\":\"causes SAS/GRAPH to use the built-in hardware dashed-line drawing capability of the device when generating graphics output.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0cs0q7nvzc6fgn14f8bdp51lxnx\"},{\"name\":\"N\",\"optional\":true,\"description\":\"causes SAS/GRAPH to draw the dashed lines.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0qj7yi8c6rssdn1jg19yhyjvqp3\"}],\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"p1skr6xyeue6oln18j156fd52kxh.htm\"}},{\"name\":\"DASHLINE=\",\"description\":\"Specifies which dashed lines should be generated by hardware means if possible.\",\"help\":\"DASHLINE= '*dashed-line-hex-string*'X\",\"type\":\"value\",\"arguments\":[{\"name\":\"dashed-line-hex-string\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies a 16-character hexadecimal string where each bit in the string corresponds to a line type. All 64 bits must be specified. Setting a bit to 1 selects the correspond line type.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1e2ylrmjvyzean17v58zz5uzt89\"}],\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"n0plb49m1tzep9n1rlwzqfz4w765.htm\"}},{\"name\":\"DESCRIPTION=\",\"aliases\":[\"DES\"],\"description\":\"Provides a description of the device entry.\",\"help\":\"DESCRIPTION= '*text-string*'\",\"type\":\"value\",\"arguments\":[{\"name\":\"text-string\",\"optional\":true,\"placeholder\":true,\"description\":\"is a string up to 256 characters long.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0gz27ggr55df9n130fcudcp0xv1\"}],\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"n1ehv5o6u4gc0xn1s7w1c29diexq.htm\"}},{\"name\":\"DEVMAP=\",\"description\":\"Specifies the device map to be used when device-resident fonts are used.\",\"help\":\"DEVMAP= *device-map-name* | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"device-map-name\",\"optional\":true,\"placeholder\":true,\"description\":\"is a string up to eight characters long that is the name of the device map entry.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1eyd3rvqfol1un1us1vo9jeib1q\"},{\"name\":\"NONE\",\"optional\":true,\"description\":\"specifies that you do not want to use a device map.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0oyxakjjsppjhn1d1elegpbsa3w\"}],\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"n124zr3dy01x3pn14zq3dxzkin6l.htm\"}},{\"name\":\"DEVOPTS=\",\"description\":\"Specifies the hardware capabilities of the device.\",\"help\":\"DEVOPTS= '*hardware-capabilities-hex-string*'X\",\"type\":\"value\",\"arguments\":[{\"name\":\"hardware-capabilities-hex-string\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies a 16-character hexadecimal string where each bit in the string corresponds to a device capability. All 64 bits must be specified. Setting a bit to 1 specifies the corresponding capability.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n068ujaa3l69xkn12uybivvjbe37\"}],\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"n18aijrbx8bejln1tmll85geec1n.htm\"}},{\"name\":\"DEVTYPE=\",\"description\":\"Specifies the information required by SAS/GRAPH routines to determine the nature of the output device.\",\"help\":\"DEVTYPE= *device-type*\",\"type\":\"value\",\"arguments\":[{\"name\":\"GTERM\",\"description\":\"indicates that the output device is a graphics device that will be receiving graphics data. Most device drivers use this value.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n071h547inwqxmn1glg76cvuzz47\"},{\"name\":\"G3270\",\"description\":\"indicates that the output device is an IBM 3270 graphics data stream.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0tzdtl7fm5v0xn1mfe96777qvdz\"}],\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"p0u40cnfrmwzcln1ms1pz46odlh0.htm\"}},{\"name\":\"DRVINIT1=\",\"description\":\"Specifies host commands to be executed before driver initialization.\",\"help\":\"DRVINIT1= '*system-command(s)*'\",\"type\":\"value\",\"arguments\":[{\"name\":\"system-command\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies a character string of up to 72 characters that contains one or more valid system commands and can be in upper- or lowercase letters.\",\"help\":\"*system-command(s)*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1sewv44qrrv63n1ojy24s4i2b64\"}],\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"n0xd6ihhi22ae7n1lcp2m3s30eu9.htm\"}},{\"name\":\"DRVINIT2=\",\"description\":\"Specifies host commands to be executed before driver initialization.\",\"help\":\"DRVINIT2= '*system-command(s)*'\",\"type\":\"value\",\"arguments\":[{\"name\":\"system-command\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies a character string of up to 72 characters that contains one or more valid system commands and can be in upper- or lowercase letters.\",\"help\":\"*system-command(s)*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1sewv44qrrv63n1ojy24s4i2b64\"}],\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"n0xd6ihhi22ae7n1lcp2m3s30eu9.htm\"}},{\"name\":\"DRVQRY\",\"description\":\"specifies that the device can be queried for information about the current device configuration.\",\"type\":\"standalone\",\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"p11jjid5dgljj0n18c96ml4ieh2e.htm\"}},{\"name\":\"DRVTERM1=\",\"description\":\"Specifies host commands to be executed after the driver terminates.\",\"help\":\"DRVTERM1= '*system-command(s)*'\",\"type\":\"value\",\"arguments\":[{\"name\":\"system-command\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies a character string of up to 72 characters that contains one or more valid system commands and can be in upper- or lowercase letters.\",\"help\":\"*system-command(s)*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0wq53wp2fwcsvn1q5khxrpat8xj\"}],\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"n0wgmwdf019qhxn1j54lpg36tbo9.htm\"}},{\"name\":\"DRVTERM2=\",\"description\":\"Specifies host commands to be executed after the driver terminates.\",\"help\":\"DRVTERM2= '*system-command(s)*'\",\"type\":\"value\",\"arguments\":[{\"name\":\"system-command\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies a character string of up to 72 characters that contains one or more valid system commands and can be in upper- or lowercase letters.\",\"help\":\"*system-command(s)*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0wq53wp2fwcsvn1q5khxrpat8xj\"}],\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"n0wgmwdf019qhxn1j54lpg36tbo9.htm\"}},{\"name\":\"ERASE=\",\"description\":\"Specifies whether to erase graph after display.\",\"help\":\"ERASE= Y | N\",\"type\":\"choice\",\"arguments\":[{\"name\":\"Y\",\"optional\":true,\"description\":\"causes the graph to be erased when you press Enter after the graph has been displayed.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n16kpvixxmcxdln1kghqliqczna8\"},{\"name\":\"N\",\"optional\":true,\"description\":\"causes the graph to remain on the display when you press Enter after the graph has been displayed.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0z1svmmm4p1i8n1h9dxc74wah6d\"}],\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"n0lpt7h6tzajgcn14dafb5klwopn.htm\"}},{\"name\":\"FILECLOSE=\",\"description\":\"Controls when the graphics stream file (GSF) is closed when you are using the device driver to send graphics output to a hard copy device.\",\"help\":\"FILECLOSE= DRIVERTERM | GRAPHEND\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DRIVERTERM\",\"optional\":true,\"aliases\":[\"DRIVER\"],\"description\":\"closes the GSF and makes it available to the device after all graphs have been produced and the procedure or driver terminates.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n17wr4r6rt4bspn1a6rwxz2n1rem\"},{\"name\":\"GRAPHEND\",\"optional\":true,\"aliases\":[\"GRAPH\"],\"description\":\"closes the GSF after each separate graph is produced and releases it to the device before sending another.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0rd3ipyipnff7n1bnl25zcyjqt7\"}],\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"p0wn0an1utqp05n1h25wbldh9k50.htm\"}},{\"name\":\"FILL=\",\"description\":\"Specifies whether to use the device's hardware rectangle-fill capability.\",\"help\":\"FILL= Y | N\",\"type\":\"choice\",\"arguments\":[{\"name\":\"Y\",\"optional\":true,\"description\":\"causes SAS/GRAPH to use the built-in hardware rectangle-filling capability of the device.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1eiuss41azuy6n12qf2mvc8ti3n\"},{\"name\":\"N\",\"optional\":true,\"description\":\"causes SAS/GRAPH to use software fills to fill rectangles.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0xml4dr3z1ys7n1ruk1ach2kjj5\"}],\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"n0zbapmjqiuxsfn1llltl2thxiuz.htm\"}},{\"name\":\"FILLINC=\",\"description\":\"Specifies the number of pixels to move before drawing the next line in a software fill of a solid area.\",\"help\":\"FILLINC= 0 – 9999\",\"type\":\"standalone\",\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"n1k2xk3sbjil8nn1o424kiigjosc.htm\"}},{\"name\":\"FORMAT=\",\"description\":\"Sets the file format of the metacode file produced by the part of the Metagraphics device driver that is supplied by SAS.\",\"help\":\"FORMAT= CHARACTER | BINARY\",\"type\":\"choice\",\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"n0w1p1mq5nfb9yn1mwek039m689j.htm\"}},{\"name\":\"GACCESS=\",\"description\":\"Specifies the format or the destination or both of graphics data written to a traditional SAS/GRAPH device driver or to a graphics stream file (GSF).\",\"help\":\"GACCESS= *output-format* | '*output-format**destination*'\",\"type\":\"choice\",\"arguments\":[{\"name\":\"SASGASTD\",\"description\":\"specifies that a continuous stream of data is written.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0n9r86top62k9n1bh2nl8a1t4cw\"},{\"name\":\"SASGAEDT\",\"description\":\"specifies that the file be host-specific edit format.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1fno558uxlvfhn12kux1i6g3eot\"},{\"name\":\"SASGAFIX\",\"description\":\"specifies that fixed-length records be written.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0z9v40zroo3hrn1srksbc9483wt\"},{\"name\":\"SASGALOG\",\"description\":\"specifies that records are to be written to the SAS log.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0gifm2gwhj4nin1xeel50dvctjm\"},{\"name\":\"GSASFILE\",\"description\":\"specifies that the records are to be written to the destination whose fileref is GSASFILE.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0j3e7ll7p5jtcn1qpn2gl4j34tn\"},{\"name\":\"'output-format\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the destination in addition to one of these output format values: SASGASTD, SASGAEDT, or SASGAFIX.\",\"help\":\"'*output-format*  *destination*'\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0r77fmqo37hpjn15escxf4txu30\"}],\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"p1t8r2pke5t1yhn1da8jtl20jlce.htm\"}},{\"name\":\"GCOPIES=\",\"description\":\"Sets the current and maximum number of copies to be printed.\",\"help\":\"GCOPIES= *current-copies*\",\"type\":\"value\",\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"n1cvdised37xz2n1fh91wexb23vy.htm\"}},{\"name\":\"GEND=\",\"description\":\"Appends an ASCII string to every graphics data record that is sent to a device or file.\",\"help\":\"GEND= '*string*'&lt;'*string-n*'&gt;\",\"type\":\"value\",\"arguments\":[{\"name\":\"'string'\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the ASCII string to append to every graphics data record that is sent to a device or file.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1guqjuqch7cc0n0zuwijuyhroz3\"}],\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"n0zm70hmg8f695n15ks1w45zu2gs.htm\"}},{\"name\":\"GEPILOG=\",\"description\":\"Sends a string to a device or file after all graphics commands are sent.\",\"help\":\"GEPILOG= '*string*'&lt;'*string-n*'&gt;\",\"type\":\"value\",\"arguments\":[{\"name\":\"'string'\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the string to a device or file after all graphics commands are sent.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0yr61iwwnv9nyn18juwge6uk9re\"}],\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"n0lqntbzrbc2o0n11j1g6lnncl4c.htm\"}},{\"name\":\"GPROLOG=\",\"description\":\"Sends a string to device or file before graphics commands are sent.\",\"help\":\"GPROLOG= '*string*'&lt;'*string-n*'&gt;\",\"type\":\"value\",\"arguments\":[{\"name\":\"'string'\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the string to a device or file before all graphics commands are sent.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0cvs1lp7yjr7hn1iln9evlarj34\"}],\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"p0jzpdwnfncaein1fbwikjj0n9nc.htm\"}},{\"name\":\"GPROTOCOL=\",\"description\":\"Specifies the protocol module to use when routing output directly to a printer or creating a graphics stream file (GSF) to send to a device attached to your host by a protocol converter.\",\"help\":\"GPROTOCOL= *module-name*\",\"type\":\"value\",\"arguments\":[{\"name\":\"module-name\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the protocol module name.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0ni7ghpxdcw8an169upnwblyuzh\"}],\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"p1n0dug9u3vqezn1qdpfumb4ihx5.htm\"}},{\"name\":\"GSFLEN=\",\"description\":\"Controls the length of records written to the graphics stream file (GSF).\",\"help\":\"GSFLEN= *record-length*\",\"type\":\"value\",\"arguments\":[{\"name\":\"record-length\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the length of the records written by the driver to a GSF or to the device as an integer in the range 0–99999.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n07htad92mxge6n19kg23lt3vpgt\"}],\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"p0vq582na6e9isn1vs3h04rb98ja.htm\"}},{\"name\":\"GSFMODE=\",\"description\":\"Specifies the disposition of records written to a graphics stream file (GSF) or to a device or communications port by the device driver.\",\"help\":\"GSFMODE= APPEND | PORT | REPLACE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"APPEND\",\"optional\":true,\"description\":\"adds the records to the end of a GSF designated by the GACCESS= or GSFNAME= graphics option or device parameter.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1dk8nroncjxb8n12yxfi3kis1us\"},{\"name\":\"PORT\",\"optional\":true,\"description\":\"sends the records to a device or communications port.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0a3d1ed2krfdon1kej36rgjlbhl\"},{\"name\":\"REPLACE\",\"optional\":true,\"description\":\"replaces the existing contents of a GSF designated by the GACCESS= or GSFNAME= graphics option or device parameter.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n07wgea8yodus5n16a24uy8csbam\"}],\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"p1rfrb3zhjyef0n196gbpp66ysx8.htm\"}},{\"name\":\"GSFNAME=\",\"description\":\"Specifies the fileref of the file or aggregate file location to which graphics stream file records are written.\",\"help\":\"GSFNAME= *fileref*\",\"type\":\"value\",\"arguments\":[{\"name\":\"fileref\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies a fileref that points to the destination for the graphics stream file (GSF) output.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0d9rxcuhpwngrn15boq1ve5zeq5\"}],\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"p0c81ic3b3h35kn1hu0zkf9hc36l.htm\"}},{\"name\":\"GSIZE=\",\"description\":\"Sets the number of lines of display used for graphics for devices whose displays can be divided into graphics and text areas.\",\"help\":\"GSIZE= *lines*\",\"type\":\"value\",\"arguments\":[{\"name\":\"lines\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the number of lines to be used for graphics.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0uuht3c6ofvs3n1he04rvuz3kea\"}],\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"n185ku32izhb0jn17ogh6hodvalp.htm\"}},{\"name\":\"GSTART=\",\"description\":\"Prefixes every record of graphics data sent to a device or file with a string of characters.\",\"help\":\"GSTART= '*string*'&lt;'*string-n*'&gt;\",\"type\":\"value\",\"arguments\":[{\"name\":\"'string'\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the string that prefixes every record of graphics data sent to a device or file.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1o4m2d8gqfbfxn1enbbpcwt5w5o\"}],\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"p16vwrl4qvew43n1utsq5xg97my5.htm\"}},{\"name\":\"HANDSHAKE=\",\"description\":\"Specifies the type of flow control used to regulate the flow of data to a hard copy device.\",\"help\":\"HANDSHAKE= HARDWARE | NONE | SOFTWARE | XONXOFF\",\"type\":\"choice\",\"arguments\":[{\"name\":\"HARDWARE\",\"optional\":true,\"aliases\":[\"HARD\"],\"description\":\"specifies that SAS/GRAPH instruct the device to use the hardware CTS and RTS signals for flow control.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1m0xwm3yibxzcn1x9cnhk6m5fy0\"},{\"name\":\"NONE\",\"optional\":true,\"description\":\"specifies that SAS/GRAPH send data without providing flow control.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0zybz1qq3r5aqn15oc0bzo7i5zm\"},{\"name\":\"SOFTWARE\",\"optional\":true,\"aliases\":[\"SOFT\"],\"description\":\"specifies that SAS/GRAPH use programmed flow control with plotters in eavesdrop mode.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0uja52b5cvyyun1k3roaf5jgiqe\"},{\"name\":\"XONXOFF\",\"optional\":true,\"aliases\":[\"X\"],\"description\":\"specifies that SAS/GRAPH instruct the device to use ASCII characters DC1 and DC3 for flow control.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1dewwi52xqjj1n1crcz4os7sd6w\"}],\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"p0utrluapfxbsan188b8wum4jg1s.htm\"}},{\"name\":\"HEADER=\",\"description\":\"Specifies the command that executes a user-supplied program to create HEADER records for the driver.\",\"help\":\"HEADER= '*command*'\",\"type\":\"value\",\"arguments\":[{\"name\":\"command\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies a command that runs a user-written program that creates the file of HEADER records.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p16pbugcksfmxwn1ejtl6obs3xk8\"}],\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"n1jojwa4uvh704n1tgg6fzy5r708.htm\"}},{\"name\":\"HEADERFILE=\",\"description\":\"Specifies the fileref for the file from which the Metagraphics driver reads HEADER records.\",\"help\":\"HEADERFILE= *fileref*\",\"type\":\"value\",\"arguments\":[{\"name\":\"fileref\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies a valid SAS fileref up to eight characters long.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1chqw74kthrk0n12v637yq1rqpe\"}],\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"p0gapm9y388efqn1hcpezjby7hpm.htm\"}},{\"name\":\"HORIGIN=\",\"description\":\"Sets the horizontal offset from the lower left corner of the display area to the lower left corner of the graph.\",\"help\":\"HORIGIN= *horizontal-offset*&lt;IN | CM | PT&gt;\",\"type\":\"value\",\"arguments\":[{\"name\":\"horizontal-offset\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the horizontal offset as a nonnegative integer optionally followed by a units specification of IN for inches (default), CM for centimeters, or PT for points.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n19dvl8phesqz0n15ifqvgwhdf3u\"},{\"name\":\"INCMPT\",\"optional\":true,\"description\":\"specifies the units as inches (IN), centimeters (CM), or points (PT).\",\"type\":\"choice\",\"arguments\":[{\"name\":\"IN\",\"type\":\"standalone\"},{\"name\":\"CM\",\"type\":\"standalone\"},{\"name\":\"PT\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"p0ikyvfpq718ren1ug5kgsl7314k\"}],\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"p1vhfm37fj96xwn1x011fwnxkh3i.htm\"}},{\"name\":\"HOSTSPEC=\",\"description\":\"Stores FILENAME statement options in the device entry.\",\"help\":\"HOSTSPEC= '*text-string*'\",\"type\":\"value\",\"arguments\":[{\"name\":\"text-string\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies FILENAME statement options that are valid for the operating environment. Text-string accepts characters in upper or lower case.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1d7ixmit12mfrn1k9vvn67p1eaq\"}],\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"p1s9nlwti9lf8mn13hcedevl1xgq.htm\"}},{\"name\":\"HSIZE=\",\"description\":\"Sets the horizontal size of the graphics output area.\",\"help\":\"HSIZE= *horizontal-size*&lt;IN | CM | PT&gt;\",\"type\":\"value\",\"arguments\":[{\"name\":\"horizontal-size\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the width of the graphics output area as a positive number optionally followed by a units specification of IN for inches (default), CM for centimeters, or PT for points.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1mkctk6fhuyign1fi3b8fbsetuc\"},{\"name\":\"INCMPT\",\"optional\":true,\"description\":\"specifies the units as inches (IN), centimeters (CM), or points (PT).\",\"type\":\"choice\",\"arguments\":[{\"name\":\"IN\",\"type\":\"standalone\"},{\"name\":\"CM\",\"type\":\"standalone\"},{\"name\":\"PT\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"p1uv3zy1i13lb5n1g0i4jwfgcjmh\"}],\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"n15k2j1cq9zpnan1vhaltxbkyry7.htm\"}},{\"name\":\"ID=\",\"description\":\"Specifies the description string used by the Metagraphics driver.\",\"help\":\"ID= '*description*'\",\"type\":\"value\",\"arguments\":[{\"name\":\"description\",\"optional\":true,\"placeholder\":true,\"description\":\"is a character string up to 70 characters long.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0e8hpptlde4fcn1ucvcy4qz3lvj\"}],\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"p0qla5qsvza2xwn1a4j6f8y36zew.htm\"}},{\"name\":\"INTERACTIVE=\",\"description\":\"Sets level of interactivity for Metagraphics driver.\",\"help\":\"INTERACTIVE= USER | GRAPH | PROC\",\"type\":\"choice\",\"arguments\":[{\"name\":\"USER\",\"optional\":true,\"description\":\"specifies that the user-written part of the driver be executed outside of SAS/GRAPH.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n15tej1atb7igmn12gbh0ebq081i\"},{\"name\":\"GRAPH\",\"optional\":true,\"description\":\"specifies that the user-written part be invoked for each graph.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1iq1x5gzzevxen1sm88peaglv54\"},{\"name\":\"PROC\",\"optional\":true,\"description\":\"specifies that the user-written part of the Metagraphics driver be invoked after the procedure is complete.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p12lr1nna8gchin18umogjm0ysws\"}],\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"n0uhj6rwj2lsudn1eti30a00lmaj.htm\"}},{\"name\":\"LCOLS=\",\"description\":\"Sets the number of columns in the graphics output area for landscape orientation.\",\"help\":\"LCOLS= *landscape-columns*\",\"type\":\"value\",\"arguments\":[{\"name\":\"landscape-columns\",\"optional\":true,\"placeholder\":true,\"description\":\"must be a nonnegative integer in the range 0–999.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0jzo645irag69n1b4hrlfkkdlng\"}],\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"p1qr84b7mq6k80n1hbvdaejqj8k0.htm\"}},{\"name\":\"LFACTOR=\",\"description\":\"Selects the default hardware line thickness.\",\"help\":\"LFACTOR= *line-thickness-factor*\",\"type\":\"value\",\"arguments\":[{\"name\":\"line-thickness-factor\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the default hardware line thickness as an integer in the range 0–9999.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p09td68gwfeht8n1axgk7buty9da\"}],\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"p0rpaie5qg84cen1c537eit9fd21.htm\"}},{\"name\":\"LROWS=\",\"description\":\"Sets the number of rows in the graphics output area for landscape orientation.\",\"help\":\"LROWS= *landscape-rows*\",\"type\":\"value\",\"arguments\":[{\"name\":\"landscape-rows\",\"optional\":true,\"placeholder\":true,\"description\":\"is a nonnegative integer in the range 0–999.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0xdp62p1fwjcjn1fyl6d503qogw\"}],\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"p1xp79ytj1h4aln0zkm7eiseskg6.htm\"}},{\"name\":\"MAXCOLORS=\",\"description\":\"Sets the total number of colors that can be displayed at once.\",\"help\":\"MAXCOLORS= *number-of-colors*\",\"type\":\"color\",\"arguments\":[{\"name\":\"number-of-colors\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the number of colors that can be displayed at once as an integer in the range 2–256.\",\"type\":\"color\",\"supportSiteTargetFragment\":\"n16oaibdatkdmin1ps9dokwcx5hm\"}],\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"p17vlp2mc5u9hwn119zy5bptunh9.htm\"}},{\"name\":\"MAXPOLY=\",\"description\":\"Sets the maximum number of vertices for hardware-drawn polygons.\",\"help\":\"MAXPOLY= *number-of-vertices*\",\"type\":\"value\",\"arguments\":[{\"name\":\"number-of-vertices\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the maximum number of vertices for hardware-drawn polygons as an integer in the range 0–9999.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0p0hjnro85fuun1pgf6mdxwkxup\"}],\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"n12uocj1mme1msn1e5k5hgjbm2e1.htm\"}},{\"name\":\"MODEL=\",\"description\":\"Specifies the model number of the output device.\",\"help\":\"MODEL= *model-number*\",\"type\":\"value\",\"arguments\":[{\"name\":\"model-number\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the model number designated by SAS for the corresponding device as an integer in the range 0–99999.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0t69y4jmop4lln1qu606pewk3dh\"}],\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"n052ywa7f81kbhn14eyiwna3gscd.htm\"}},{\"name\":\"MODULE=\",\"description\":\"Specifies the name of the corresponding executable driver module for the device.\",\"help\":\"MODULE= *driver-module*\",\"type\":\"value\",\"arguments\":[{\"name\":\"driver-module\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the executable driver module name as a literal string up to eight characters long.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0uc2fb9nkq8f1n1h8czo0cmkwt3\"}],\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"p00ziz8wu18zxin1mehghzzjygcr.htm\"}},{\"name\":\"NAK=\",\"description\":\"Specifies the negative response for software handshaking for Metagraphics drivers.\",\"help\":\"NAK= '*negative-handshake-response*'X\",\"type\":\"value\",\"arguments\":[{\"name\":\"negative-handshake-response\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the negative response for software handshaking for Metagraphics drivers as a hexadecimal string up to 16 characters long.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1w6y5csnjh7yyn1d70ov7in8mrn\"}],\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"p1alxxpwlhxl3qn12wmbo4dlhns9.htm\"}},{\"name\":\"NODRVQRY\",\"description\":\"specifies that the device cannot be queried for information about the current device configuration.\",\"type\":\"standalone\",\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"p11jjid5dgljj0n18c96ml4ieh2e.htm\"}},{\"name\":\"PAPERFEED=\",\"description\":\"Specifies the increment of paper that is ejected when a graph is completed.\",\"help\":\"PAPERFEED= *feed-increment*&lt;IN | CM&gt;\",\"type\":\"value\",\"arguments\":[{\"name\":\"feed-increment\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the feed increment as a nonnegative number.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0josmalwgeinon17izqp5op74up\"},{\"name\":\"INCM\",\"optional\":true,\"description\":\"specifies the units as inches (IN) or centimeters (CM).\",\"type\":\"standaloneOrValue\",\"supportSiteTargetFragment\":\"n1rtomzh1hq3n7n1q4s97x3hxrtg\"}],\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"n0xl6unc4k4a39n1ocwhbr3auxkm.htm\"}},{\"name\":\"PATH=\",\"description\":\"Sets the increment of the angle for device-resident text rotation.\",\"help\":\"PATH= *angle-increment*\",\"type\":\"value\",\"arguments\":[{\"name\":\"angle-increment\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the angle at which to rotate the text baseline as an integer in the range 0–360.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1cxoilirprxugn16d8y8thtpixi\"}],\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"p0xkuzwfev19j1n1n4m3cw9t194z.htm\"}},{\"name\":\"PCOLS=\",\"description\":\"Sets the number of columns in the graphics output area for portrait orientation.\",\"help\":\"PCOLS= *portrait-columns*\",\"type\":\"value\",\"arguments\":[{\"name\":\"portrait-columns\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the number of columns in the graphics output area for portrait orientation as an integer in the range 0–999.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0egxhorahx1axn13wcrmdj4s763\"}],\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"n1gqjj4k5ulo03n1xpva002pll5v.htm\"}},{\"name\":\"PENSORT=\",\"description\":\"Specifies whether plotters draw graphics elements in order of color.\",\"help\":\"PENSORT= Y | N\",\"type\":\"choice\",\"arguments\":[{\"name\":\"Y\",\"optional\":true,\"description\":\"causes the plotter to draw all graphics elements of one color at one time.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0ssv6285czumen1vltxxhzncfa6\"},{\"name\":\"N\",\"optional\":true,\"description\":\"causes the plotter to draw each element as it is encountered, regardless of its color.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1csesuj3ejgkkn1fmspbv4pzlo7\"}],\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"p1btp8p9kptexbn1bvfpppfjk8sx.htm\"}},{\"name\":\"PIEFILL=\",\"description\":\"Specifies whether to use the device's hardware pie-fill capability.\",\"help\":\"PIEFILL= Y | N\",\"type\":\"choice\",\"arguments\":[{\"name\":\"Y\",\"optional\":true,\"description\":\"causes SAS/GRAPH to use the built-in hardware capability of the device, if available, to fill pies and pie sections.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p16sqloqlxwyurn18d15aovo01a0\"},{\"name\":\"N\",\"optional\":true,\"description\":\"causes SAS/GRAPH to fill pies and pie sections using software pie fills.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0lou369ctyplxn19adetcuvfmnz\"}],\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"n1dlq674edkhqen13omwfi2jbn18.htm\"}},{\"name\":\"POLYFILL=\",\"description\":\"Specifies whether to use the hardware polygon-fill capability.\",\"help\":\"POLYFILL= Y | N\",\"type\":\"choice\",\"arguments\":[{\"name\":\"Y\",\"optional\":true,\"description\":\"causes SAS/GRAPH to use the built-in hardware capability of the device to fill polygons.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n19drx59trhcr8n1dsf9jin3x1kb\"},{\"name\":\"N\",\"optional\":true,\"description\":\"causes SAS/GRAPH to use software fills to fill polygons.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p179vxe8spaob7n1gmej23hefakh\"}],\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"p19rly6lpfz4whn1590w0u7spqhn.htm\"}},{\"name\":\"POSTGRAPH1=\",\"description\":\"Specifies host commands to be executed after the graph is produced.\",\"help\":\"POSTGRAPH1= '*system-command(s)*'\",\"type\":\"value\",\"arguments\":[{\"name\":\"system-command\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies one or more valid system commands.\",\"help\":\"*system-command(s)*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1mcgflsy7c031n10sw79xgcjqla\"}],\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"p0glhn21x0yiepn1otlq74xutjcu.htm\"}},{\"name\":\"POSTGRAPH2=\",\"description\":\"Specifies host commands to be executed after the graph is produced.\",\"help\":\"POSTGRAPH2= '*system-command(s)*'\",\"type\":\"value\",\"arguments\":[{\"name\":\"system-command\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies one or more valid system commands.\",\"help\":\"*system-command(s)*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1mcgflsy7c031n10sw79xgcjqla\"}],\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"p0glhn21x0yiepn1otlq74xutjcu.htm\"}},{\"name\":\"PREGRAPH1=\",\"description\":\"Specifies host commands to be executed before the graph is produced.\",\"help\":\"PREGRAPH1= '*system-command(s)*'\",\"type\":\"value\",\"arguments\":[{\"name\":\"system-command\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies one or more valid system commands.\",\"help\":\"*system-command(s)*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0jts814jh5j6hn1tupopt6n5bze\"}],\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"n01gw81jg6mugnn1ezit0i02j93g.htm\"}},{\"name\":\"PREGRAPH2=\",\"description\":\"Specifies host commands to be executed before the graph is produced.\",\"help\":\"PREGRAPH2= '*system-command(s)*'\",\"type\":\"value\",\"arguments\":[{\"name\":\"system-command\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies one or more valid system commands.\",\"help\":\"*system-command(s)*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0jts814jh5j6hn1tupopt6n5bze\"}],\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"n01gw81jg6mugnn1ezit0i02j93g.htm\"}},{\"name\":\"PROCESS=\",\"description\":\"Specifies the command that translates the metafile into commands for the device.\",\"help\":\"PROCESS= '*command*'\",\"type\":\"value\",\"arguments\":[{\"name\":\"command\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies a character string of up to 40 characters that contains the command that translates the metafile produced by the Metagraphics driver into commands for the device.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1m75wjdy36bwgn1506wdwf3k6of\"}],\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"p1ewks31etblpxn1jrhe4y8pg43l.htm\"}},{\"name\":\"PROCESSINPUT=\",\"description\":\"Specifies the fileref for the file that contains input for the user-written part of the Metagraphics driver.\",\"help\":\"PROCESSINPUT= *fileref*\",\"type\":\"value\",\"arguments\":[{\"name\":\"fileref\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies a valid SAS fileref up to eight characters long.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n061lkqz21jv15n1lxz90c8i3tvr\"}],\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"n19czh8xvdoqorn14brazk4b30a3.htm\"}},{\"name\":\"PROCESSOUTPUT=\",\"description\":\"Specifies the fileref for the file that receives output from the user-written part of the Metagraphics driver.\",\"help\":\"PROCESSOUTPUT= *fileref*\",\"type\":\"value\",\"arguments\":[{\"name\":\"fileref\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies a valid SAS fileref up to eight characters long.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0f2ymltkb2qhsn1xogylts0dluf\"}],\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"p1mrjax8m7b9g5n1gd9yl28mj8xx.htm\"}},{\"name\":\"PROMPT=\",\"description\":\"Specifies whether prompts are issued.\",\"help\":\"PROMPT= 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7\",\"type\":\"choice\",\"arguments\":[{\"name\":\"0\",\"optional\":true,\"description\":\"provides no prompting.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1ht91g7h8of65n1az5p1zksux7n\"},{\"name\":\"1\",\"optional\":true,\"description\":\"issues start-up messages only. Start-up messages are messages such as PLEASE PRESS RETURN TO CONTINUE.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0iat84m466zy4n1sxiis27uwpo8\"},{\"name\":\"2\",\"optional\":true,\"description\":\"signals end of graph if device is a video display or sends message to change paper if device is a plotter.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0orgo9m9m0oqmn1lovqha9pzkci\"},{\"name\":\"3\",\"optional\":true,\"description\":\"combines the effects of 1 and 2.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0uz9n0ttfybsvn1v3we9wqmoo1p\"},{\"name\":\"4\",\"optional\":true,\"description\":\"sends a message to mount pens if the device is a plotter.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0xgczv5rf22xun1mna21090bm3z\"},{\"name\":\"5\",\"optional\":true,\"description\":\"combines the effects of 4 and 1.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p033623c9op77sn18yj21s1git3a\"},{\"name\":\"6\",\"optional\":true,\"description\":\"combines the effects of 4 and 2.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0x28dju8p6rwsn1p3cc8ts5ok9p\"},{\"name\":\"7\",\"optional\":true,\"description\":\"sends all prompts.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0gq48iwzi6azun1bokfjzytk3yw\"}],\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"n1ku8rh4atoq6un10txudk785gbd.htm\"}},{\"name\":\"PROMPTCHARS=\",\"description\":\"Selects the prompt characters to be used by SAS/GRAPH device drivers.\",\"help\":\"PROMPTCHARS= '*prompt-chars-hex-string*'X\",\"type\":\"value\",\"arguments\":[{\"name\":\"prompt-chars-hex-string\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the prompt characters to be used by SAS/GRAPH device drivers as an 8-byte hexadecimal string that is specified as 16 hexadecimal characters.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1lr97ed7xlcdun1lebt4q0bp6w5\"}],\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"n0kwo2tr2dk41hn1wywlwg3al9yd.htm\"}},{\"name\":\"PROWS=\",\"description\":\"Sets the number of rows in the graphics output area for portrait orientation.\",\"help\":\"PROWS= *portrait-rows*\",\"type\":\"value\",\"arguments\":[{\"name\":\"portrait-rows\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the number of rows in the graphics output area for portrait orientation as an integer in the range 0–999.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0t6wemjfzjmm7n1hxux7368sugh\"}],\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"p1lxkgsvj0o2rwn12owp7l05dzyp.htm\"}},{\"name\":\"QMSG=\",\"description\":\"Specifies whether log messages are held until after the graphics output is displayed.\",\"help\":\"QMSG= Y | N\",\"type\":\"choice\",\"arguments\":[{\"name\":\"Y\",\"optional\":true,\"description\":\"queues driver messages while the device is in graphics mode (default for video devices).\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0229fuchwcmc3n1bmdkf6ule02g\"},{\"name\":\"N\",\"optional\":true,\"description\":\"prevents the queuing of messages (default for plotters, cameras, and printers).\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0wvcwbskal943n15hix1e2jovyg\"}],\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"n11dloqwtapr8bn135a3v3btba2p.htm\"}},{\"name\":\"RECTFILL=\",\"description\":\"Specifies which rectangle fills should be performed by hardware.\",\"help\":\"RECTFILL= '*rectangle-fill-hex-string*'X\",\"type\":\"value\",\"arguments\":[{\"name\":\"rectangle-fill-hex-string\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies which rectangle fills should be performed by hardware as a hexadecimal string that is 16 characters long.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n010tcjyj8x61yn1jd3j82oug233\"}],\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"p1gad6g4vsu911n19a50v52gxoeq.htm\"}},{\"name\":\"REPAINT=\",\"description\":\"Specifies how many times to redraw the graph.\",\"help\":\"REPAINT= *redraw-factor*\",\"type\":\"value\",\"arguments\":[{\"name\":\"redraw-factor\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies how many times to redraw the graph as a integer in the range 0–999.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1agq5la4s54x8n1c0fl05rciq2r\"}],\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"p1k84ld2aly4x0n19rghjhioo8pp.htm\"}},{\"name\":\"ROTATE=\",\"description\":\"Specifies whether and how to rotate the graph.\",\"help\":\"ROTATE= LANDSCAPE | PORTRAIT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"LANDSCAPE\",\"optional\":true,\"description\":\"specifies landscape orientation (the graph is wider than it is high).\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n04z515v5prkrun1owyg0ztjd6nd\"},{\"name\":\"PORTRAIT\",\"optional\":true,\"description\":\"specifies portrait orientation (the graph is higher than it is wide).\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0jyu5dj56r4xkn1ay6nqhcpy2ik\"}],\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"p1a6jafawe7vonn18wkaaz8fzp18.htm\"}},{\"name\":\"ROTATION=\",\"description\":\"Sets the increment of the angle by which the device can rotate any given letter in a string of text in a Metagraphics driver.\",\"help\":\"ROTATION= *angle-increment*\",\"type\":\"value\",\"arguments\":[{\"name\":\"angle-increment\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the increment of the angle at which to rotate individual characters (for example, every 5 degrees, every 45 degrees, and so on).\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1xgfykd3ksnzpn1n7ugyyrgr9x4\"}],\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"n0osg4ftmtrva5n0zbtwu1bb53ku.htm\"}},{\"name\":\"SPEED=\",\"description\":\"Selects pen speed for plotters with variable speed selection.\",\"help\":\"SPEED= *pen-speed*\",\"type\":\"value\",\"arguments\":[{\"name\":\"pen-speed\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies a percentage (1 through 100) of the maximum pen speed for the device.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1u1kt0deabj2kn1ha8t57f4ayvc\"}],\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"n0oa91bbc4jsxln1erl7c3027s4u.htm\"}},{\"name\":\"SWAP=\",\"description\":\"Specifies whether to reverse BLACK and WHITE in the graphics output.\",\"help\":\"SWAP= Y | N\",\"type\":\"choice\",\"arguments\":[{\"name\":\"Y\",\"optional\":true,\"description\":\"swaps BLACK for WHITE and vice versa.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0eg91107ml9nzn14ipzic8pejsf\"},{\"name\":\"N\",\"optional\":true,\"description\":\"does not swap the colors.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n15seagw92f00on1a9byh30c044n\"}],\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"p0kjddg6pu5ou8n1nfwokz2s9yi4.htm\"}},{\"name\":\"SYMBOL=\",\"description\":\"Specifies whether to use the device's symbol-drawing capability.\",\"help\":\"SYMBOL= Y | N\",\"type\":\"choice\",\"arguments\":[{\"name\":\"Y\",\"optional\":true,\"description\":\"causes SAS/GRAPH to use the built-in symbol-drawing capability of the device, if available.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1fap9rnyshtu8n1ikjqggc2lfbf\"},{\"name\":\"N\",\"optional\":true,\"description\":\"causes SAS/GRAPH to draw the symbols using SAS/GRAPH fonts.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0ki3pqh0a17vhn1vptgkqdcq8xo\"}],\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"p16iw6lfuv4rg3n1ekbrkm7jfr89.htm\"}},{\"name\":\"SYMBOLS=\",\"description\":\"Specifies which symbols can be generated by hardware.\",\"help\":\"SYMBOLS= '*hardware-symbols-hex-string*'X\",\"type\":\"value\",\"arguments\":[{\"name\":\"hardware-symbols-hex-string\",\"optional\":true,\"placeholder\":true,\"description\":\"is a hexadecimal string that is 16 characters long and must be completely filled.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1lpala9zrrt7en0zzu26fzwull6\"}],\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"p0az2q6lsmvwyhn162ewf54is0xa.htm\"}},{\"name\":\"TRAILER=\",\"description\":\"Specifies the command that creates TRAILER records for the Metagraphics driver.\",\"help\":\"TRAILER= '*command*'\",\"type\":\"value\",\"arguments\":[{\"name\":\"command\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies a command that runs a user-written program that creates the TRAILER file.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1oobtb32ajz8qn12xy4klicagqs\"}],\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"n0oeg6tkh7z1ugn15gi2n6muu32h.htm\"}},{\"name\":\"TRAILERFILE=\",\"description\":\"Specifies the fileref of the file from which the Metagraphics driver reads TRAILER records.\",\"help\":\"TRAILERFILE= *fileref*\",\"type\":\"value\",\"arguments\":[{\"name\":\"fileref\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies a valid SAS fileref up to eight characters long.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n08l67qimmbgt1n1wc83sjrcahhc\"}],\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"p1fgrkdz7sqc6kn1n45mnbjb9qcy.htm\"}},{\"name\":\"TRANTAB=\",\"description\":\"Selects a translate table for your system that performs ASCII-to-EBCDIC translation.\",\"help\":\"TRANTAB= *table* | *user-defined-table*\",\"type\":\"choice\",\"arguments\":[{\"name\":\"table\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies a translate table stored as a SAS/GRAPH catalog entry.\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"p13427717n4x6an1vmw192bkh4z4\"},{\"name\":\"user-defined-table\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the name of a user-created translate table.\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"n0osy7pfwmtrl3n1hf3r9jjjkxf5\"}],\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"p1uls4ncc88i6in18addwj8aufvq.htm\"}},{\"name\":\"TYPE=\",\"description\":\"Specifies the type of output device to which graphics commands are sent.\",\"help\":\"TYPE= CAMERA | CRT | EXPORT | PLOTTER | PRINTER\",\"type\":\"choice\",\"arguments\":[{\"name\":\"CAMERA\",\"optional\":true,\"description\":\"specifies a film-recording device.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0d60fkwyf75chn145rqyfksenom\"},{\"name\":\"CRT\",\"optional\":true,\"description\":\"specifies a monitor or terminal.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n055baqtxkj8qcn1s5qo6zyqqmep\"},{\"name\":\"EXPORT\",\"optional\":true,\"description\":\"identifies the list in which the device appears under SAS/ASSIST software.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0y5ydlxyrv7pin1bsd4imsdk4rj\"},{\"name\":\"PLOTTER\",\"optional\":true,\"description\":\"specifies a pen plotter.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0x2xuj1x60qtjn1pp01zaanjc4z\"},{\"name\":\"PRINTER\",\"optional\":true,\"description\":\"specifies a printer\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n12ybb7kkyj0mnn11oynaxb4vbfe\"}],\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"p0y342bgv430sln1nokpiuaiumfh.htm\"}},{\"name\":\"UCC=\",\"description\":\"Sets the user-defined control characters for the device.\",\"help\":\"UCC= '*control-characters-hex-string*'X\",\"type\":\"value\",\"arguments\":[{\"name\":\"control-characters-hex-string\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the user-defined control characters for the device as a hexadecimal string that can be up 32 bytes (64 characters) long.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0gpshrxu7jfoen1lenzbsts71zk\"}],\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"n0wgfppzuxzjxan1qdlt7aj7d0q8.htm\"}},{\"name\":\"VORIGIN=\",\"description\":\"Sets the vertical offset from the lower left corner of the display area to the lower left corner of the graph.\",\"help\":\"VORIGIN= *vertical-offset*&lt;IN | CM | PT&gt;\",\"type\":\"value\",\"arguments\":[{\"name\":\"vertical-offset\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the vertical offset as a nonnegative number.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0sd8ecrevzwnqn1n3549cqb8aes\"},{\"name\":\"INCMPT\",\"optional\":true,\"description\":\"specifies the units as inches (IN), centimeters (CM), or points (PT).\",\"type\":\"choice\",\"arguments\":[{\"name\":\"IN\",\"type\":\"standalone\"},{\"name\":\"CM\",\"type\":\"standalone\"},{\"name\":\"PT\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"n033rfq1esc0t3n1jwx19dml262u\"}],\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"n0ly0dlpz9dsoin10xldiezx3iqr.htm\"}},{\"name\":\"VSIZE=\",\"description\":\"Sets the vertical size of the graphics output area.\",\"help\":\"VSIZE= *vertical-size*&lt;IN | CM | PT&gt;\",\"type\":\"value\",\"arguments\":[{\"name\":\"vertical-size\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the height of the graphics output area as a positive number.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0vbehg6uxfc4xn1wnqxb4hfez9e\"},{\"name\":\"INCMPT\",\"optional\":true,\"description\":\"specifies the units as inches (IN), centimeters (CM), or points (PT).\",\"type\":\"choice\",\"arguments\":[{\"name\":\"IN\",\"type\":\"standalone\"},{\"name\":\"CM\",\"type\":\"standalone\"},{\"name\":\"PT\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"n0ep4h0xjgsok1n1aqqggbs2fgui\"}],\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"p1abr61fgnk6pan1j5qmtqwv6z2a.htm\"}},{\"name\":\"XMAX=\",\"description\":\"Specifies the width of the addressable graphics display area; affects the horizontal resolution of the device and the horizontal dimension of the graphics output area.\",\"help\":\"XMAX= *width*&lt;IN | CM | PT&gt;\",\"type\":\"value\",\"arguments\":[{\"name\":\"width\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the width of the addressable graphics display area as a positive number.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1sakqhb3jdycen0zhxiur4l8drj\"},{\"name\":\"INCMPT\",\"optional\":true,\"description\":\"specifies the units as inches (IN), centimeters (CM), or points (PT).\",\"type\":\"choice\",\"arguments\":[{\"name\":\"IN\",\"type\":\"standalone\"},{\"name\":\"CM\",\"type\":\"standalone\"},{\"name\":\"PT\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"p0fkx97tk2ymxbn1sl8agdfz46es\"}],\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"p1t6dnp9jmn39qn1iw6abzq4m38u.htm\"}},{\"name\":\"XPIXELS=\",\"description\":\"Specifies the width of the addressable display area in pixels and in conjunction with XMAX determines the horizontal resolution for the device.\",\"help\":\"XPIXELS= *width-in-pixels*\",\"type\":\"value\",\"arguments\":[{\"name\":\"width-in-pixels\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the width of the addressable display area in pixels as an integer in the range 0–99999999.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1o199dwbpx9ebn1lsu8g3vxbd9v\"}],\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"n0mwck1ige61ksn1u0ino33kq7t5.htm\"}},{\"name\":\"YMAX=\",\"description\":\"Specifies the height of the addressable graphics display area; affects the vertical resolution of the device and the vertical dimension of the graphics output area.\",\"help\":\"YMAX= *height*&lt;IN | CM | PT&gt;\",\"type\":\"value\",\"arguments\":[{\"name\":\"height\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the height of the addressable graphics display area as a positive number optionally followed by a units specification of IN for inches (default), CM for centimeters, or PT for points.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0n1ep7rfik50nn162l5si7bbrn8\"},{\"name\":\"INCMPT\",\"optional\":true,\"description\":\"specifies the units as inches (IN), centimeters (CM), or points (PT).\",\"type\":\"choice\",\"arguments\":[{\"name\":\"IN\",\"type\":\"standalone\"},{\"name\":\"CM\",\"type\":\"standalone\"},{\"name\":\"PT\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"n1fgf7kfk8w80an1kpjbiy5mcfly\"}],\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"n1iuwvb5nw14m0n1jcqspsocly94.htm\"}},{\"name\":\"YPIXELS=\",\"description\":\"Specifies the height of the addressable display area in pixels and in conjunction with YMAX determines the horizontal resolution for the device.\",\"help\":\"YPIXELS= *height-in-pixels*\",\"type\":\"value\",\"arguments\":[{\"name\":\"height-in-pixels\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the height of the addressable display area in pixels as an integer in the range 0–99999999.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p08fm7lzwzegybn0zj2al5iujota\"}],\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"p0ksp3megb2h2qn15fci892vi0t2.htm\"}}],\"supportSiteTargetFile\":\"n0xmkrjdf8vmz3n19nrao9gp4q15.htm\"},{\"name\":\"QUIT\",\"aliases\":[\"END\",\"STOP\"],\"description\":\"Saves all modifications made to device entries during the procedure and ends the procedure step.\",\"help\":\"QUIT ;\",\"supportSiteTargetFile\":\"p1oz7s9e1j97zan1szgmll2fks87.htm\"},{\"name\":\"RENAME\",\"aliases\":[\"REN\"],\"description\":\"Changes the name of the device entry to the name specified in the statement.\",\"help\":\"RENAME *device-entry-name*NEWNAME=*new-device-entry-name*;\",\"arguments\":[{\"name\":\"device-entry-name\",\"placeholder\":true,\"description\":\"specifies the one-level name of the device entry that you want to rename.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0fi7cda38i4p9n1jq0vfrpk3ehw\"},{\"name\":\"NEWNAME=\",\"description\":\"specifies the new entry name.\",\"help\":\"NEWNAME=*new-device-entry-name*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p010muwjbmzf8qn1ljwdyahtqef0\"}],\"supportSiteTargetFile\":\"n061aognzcei49n18mhys0s7yeda.htm\"}],\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"n0w7rxglw3wc8wn13681sqrko4y7.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/GEE.json",
    "content": "{\"name\":\"GEE\",\"statements\":[{\"name\":\"PROC GEE\",\"description\":\"The GEE procedure implements the generalized estimating equations (GEE) approach (Liang and Zeger 1986), which extends the generalized linear model to handle longitudinal data (Stokes, Davis, and Koch 2012; Fitzmaurice, Laird, and Ware 2011; Diggle et al. 2002). For longitudinal studies, missing data are common, and they can be caused by dropouts or skipped visits. If missing responses depend on previous responses, the usual GEE approach can lead to biased estimates. So the GEE procedure also implements the weighted GEE method to handle missing responses that are caused by dropouts in longitudinal studies (Robins and Rotnitzky 1995; Preisser, Lohman, and Rathouz 2002). The GEE procedure in SAS/STAT 14.1 does not support the weighted GEE method for the multinomial distribution for polytomous responses.\",\"help\":\"PROC GEE <DATA=SAS-data-set><DESCENDING><NAMELEN=number><PLOTS=ALL | HISTOGRAM | NONE>;     \\n\\tBY <DESCENDING><NOTSORTED> ;\\n\\n\\tCLASS <DESCENDING><ORDER=<DATA | FORMATTED | FREQ>... > ;\\n\\n\\tESTIMATE <ADJDFE=<SOURCE | ROW>><ADJUST=<BON | SCHEFFE | SIDAK>... ><ALPHA=number> ...;\\n\\n\\tFREQ | FREQUENCY variable;\\n\\n\\tLSMEANS <ADJDFE=<SOURCE | ROW>><ADJUST=<BON | DUNNETT | NELSON>... ><ALPHA=number> ...;\\n\\n\\tMISSMODEL <MAXWEIGHT=number><TYPE=<OBSLEVEL | SUBLEVEL>> ;\\n\\n\\tMODEL <ALPHA=number><DIST=<BINOMIAL | GAMMA | IGAUSSIAN>... ><LINK=<CLOGLOG | CUMCLL | CUMLOGIT>... > ...;\\n\\n\\tOUTPUT <LOWER=> OUT=SAS-data-set <PREDICTED=> ...;\\n\\n\\tREPEATED <ALPHAINIT=numbers><CONVERGE=number> SUBJECT=subject-effect ...;\\n\\n\\tWEIGHT variable;\\n\",\"arguments\":[{\"name\":\"DATA=\",\"optional\":true,\"description\":\"Specifies the SAS data set containing the data to be analyzed. If you omit the DATA= option, the procedure uses the most recently created SAS data set.\",\"help\":\"DATA=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"DESCENDING\",\"optional\":true,\"aliases\":[\"DESCEND\",\"DESC\"],\"description\":\"Requests that the levels of the response variable for the binomial model that uses a single-variable response syntax be sorted in the reverse of the default order.\",\"type\":\"standalone\"},{\"name\":\"NAMELEN=\",\"optional\":true,\"description\":\"Specifies the length to which long effect names are shortened. The default and minimum value is 20.\",\"help\":\"NAMELEN=*number*\",\"type\":\"value\"},{\"name\":\"PLOTS=\",\"optional\":true,\"description\":\"You can specify the following plot-requests:\",\"help\":\"PLOTS=ALL | HISTOGRAM | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ALL\",\"description\":\"Requests that all default plots be produced.\",\"type\":\"standalone\"},{\"name\":\"HISTOGRAM\",\"description\":\"Creates a histogram for the predicted weights from the missingness model.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"Suppresses all plots.\",\"type\":\"standalone\"}]}]},{\"name\":\"BY\",\"description\":\"You can specify a BY statement with PROC GEE to obtain separate analyses of observations in groups that are defined by the BY variables. When a BY statement appears, the procedure expects the input data set to be sorted in order of the BY variables. If you specify more than one BY statement, only the last one specified is used. If your input data set is not sorted in ascending order, use one of the following alternatives: • Sort the data by using the SORT procedure with a similar BY statement. • Specify the NOTSORTED or DESCENDING option in the BY statement for the BCHOICE procedure. The NOTSORTED option does not mean that the data are unsorted but rather that the data are arranged in groups (according to values of the BY variables) and that these groups are not necessarily in alphabetical or increasing numeric order. • Create an index on the BY variables by using the DATASETS procedure (in Base SAS software).\",\"help\":\"BY &lt;DESCENDING&gt;&lt;NOTSORTED&gt;\",\"arguments\":[{\"name\":\"DESCENDING\",\"optional\":true,\"description\":\"Specifies that the observations are sorted in descending order by the variable that immediately follows the word DESCENDING in the BY statement.\",\"type\":\"standalone\"},{\"name\":\"NOTSORTED\",\"optional\":true,\"description\":\"Specifies that observations are not necessarily sorted in alphabetic or numeric order.\",\"type\":\"standalone\"}]},{\"name\":\"CLASS\",\"description\":\"The CLASS statement names the classification variables to be used in the analysis. If the CLASS statement is used, it must appear before the MODEL statement. Classification variables can be either character or numeric. CLASS levels are determined from the formatted values of the variables. Thus, you can use formats to group values into levels.\",\"help\":\"CLASS &lt;DESCENDING&gt;&lt;ORDER=&lt;DATA | FORMATTED | FREQ&gt;... &gt;\",\"arguments\":[{\"name\":\"DESCENDING\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"DESC\"],\"description\":\"Reverses the sort order of the classification variable. If you specify both the DESCENDING and ORDER= options, PROC GEE orders the categories according to the ORDER= option and then reverses that order.\",\"type\":\"standalone\"},{\"name\":\"ORDER=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the sort order for the categories of categorical variables. This ordering determines which parameters in the model correspond to each level in the data. When the default ORDER=FORMATTED is in effect for numeric variables for which you have supplied no explicit format, the levels are ordered by their internal values.\",\"help\":\"ORDER=DATA | FORMATTED | FREQ | FREQDATA | FREQFORMATTED | FREQINTERNAL | INTERNAL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DATA\",\"followsDelimiter\":\"/\",\"description\":\"Levels sorted by order of appearance in the input data set\",\"type\":\"standalone\"},{\"name\":\"FORMATTED\",\"followsDelimiter\":\"/\",\"description\":\"Levels sorted by external formatted value, except for numeric variables with no explicit format, which are sorted by their unformatted (internal) value\",\"type\":\"standalone\"},{\"name\":\"FREQ\",\"followsDelimiter\":\"/\",\"description\":\"Levels sorted by descending frequency count; levels with the most observations come first in the order\",\"type\":\"standalone\"},{\"name\":\"FREQDATA\",\"followsDelimiter\":\"/\",\"description\":\"Levels sorted by order of descending frequency count, and within counts by order of appearance in the input data set when counts are tied\",\"type\":\"standalone\"},{\"name\":\"FREQFORMATTED\",\"followsDelimiter\":\"/\",\"description\":\"Levels sorted by order of descending frequency count, and within counts by formatted value (as above) when counts are tied\",\"type\":\"standalone\"},{\"name\":\"FREQINTERNAL\",\"followsDelimiter\":\"/\",\"description\":\"Levels sorted by order of descending frequency count, and within counts by unformatted value when counts are tied\",\"type\":\"standalone\"},{\"name\":\"INTERNAL\",\"followsDelimiter\":\"/\",\"description\":\"Levels sorted by Unformatted value\",\"type\":\"standalone\"}]}]},{\"name\":\"ESTIMATE\",\"description\":\"The ESTIMATE statement provides a mechanism for obtaining custom hypothesis tests. Estimates are formed as linear estimable functions of the form Lβ. You can perform hypothesis tests for the estimable functions, construct confidence limits, and obtain specific nonlinear transformations. The basic element of the ESTIMATE statement is the estimate-specification, which consists of model effects and their coefficients. A estimate-specification takes the general form effect name <effect values ...> The following variables can appear in the ESTIMATE statement: label is an optional label that identifies the particular row of the estimate in the output. effect identifies an effect that appears in the MODEL statement. The keyword INTERCEPT can be used as an effect when an intercept is fitted in the model. You do not need to include all effects that are in the MODEL statement. values are constants that are elements of the L matrix and are associated with the fixed and random effects.\",\"help\":\"ESTIMATE &lt;ADJDFE=&lt;SOURCE | ROW&gt;&gt;&lt;ADJUST=&lt;BON | SCHEFFE | SIDAK&gt;... &gt;&lt;ALPHA=number&gt; ...\",\"arguments\":[{\"name\":\"ADJDFE=\",\"optional\":true,\"description\":\"Specifies how denominator degrees of freedom are determined when p-values and confidence limits are adjusted for multiple comparisons with the ADJUST= option.\",\"help\":\"ADJDFE=SOURCE | ROW\",\"type\":\"choice\",\"arguments\":[{\"name\":\"SOURCE\",\"description\":\"The denominator degrees of freedom for multiplicity-adjusted results are the denominator degrees of freedom for the final effect listed in the ESTIMATE statement from the 'Type III' table.\",\"type\":\"standalone\"},{\"name\":\"ROW\",\"description\":\"Useful if you want multiplicity adjustments to take into account that denominator degrees of freedom are not constant across estimates.\",\"type\":\"standalone\"}]},{\"name\":\"ADJUST=\",\"optional\":true,\"description\":\"Requests a multiple comparison adjustment for the p-values and confidence limits for the estimates.\",\"help\":\"ADJUST=BON | SCHEFFE | SIDAK | SIMULATE&lt;(*simoptions*)&gt; | T\",\"type\":\"choice\",\"arguments\":[{\"name\":\"BON\",\"description\":\"Bonferroni adjustment\",\"type\":\"standalone\"},{\"name\":\"SCHEFFE\",\"description\":\"Scheffe's adjustment\",\"type\":\"standalone\"},{\"name\":\"SIDAK\",\"description\":\"Sidak adjustment\",\"type\":\"standalone\"},{\"name\":\"SIMULATE\",\"description\":\"Computes adjusted p-values and confidence limits from the simulated distribution of the maximum or maximum absolute value of a multivariate t random vector.\",\"help\":\"SIMULATE&lt;(*simoptions*)&gt;\",\"type\":\"standaloneOrValue\"},{\"name\":\"T\",\"description\":\"The default, which really signifies no adjustment for multiple comparisons.\",\"type\":\"standalone\"}]},{\"name\":\"ALPHA=\",\"optional\":true,\"description\":\"Requests that a t-type confidence interval be constructed with confidence level 1-number. The value of number must be between 0 and 1; the default is 0.05.\",\"help\":\"ALPHA=*number*\",\"type\":\"value\"},{\"name\":\"CATEGORY=\",\"optional\":true,\"description\":\"Specifies how to construct estimates and multiplicity corrections for models with multinomial data (ordinal or nominal). This option is also important for constructing sets of estimable functions for F or chi-square tests with the JOINT option.\",\"help\":\"CATEGORY=JOINT | SEPARATE | &lt;*quoted-value-list*&gt;\",\"type\":\"choice\",\"arguments\":[{\"name\":\"JOINT\",\"description\":\"Computes the estimable functions for every nonredundant category and treats them as a set. For example, a three-row ESTIMATE statement in a model with three response categories leads to six estimable functions.\",\"type\":\"standalone\"},{\"name\":\"SEPARATE\",\"description\":\"Computes the estimable functions for every nonredundant category in turn. For example, a three-row ESTIMATE statement in a model with three response categories leads to two sets of three estimable functions.\",\"type\":\"standalone\"},{\"name\":\"quoted-value-list\",\"placeholder\":true,\"description\":\"Computes the estimable functions only for the list of values given. The list must consist of formatted values of the response categories.\",\"type\":\"value\"}]},{\"name\":\"CHISQ\",\"optional\":true,\"description\":\"Requests that chi-square tests be performed in addition to F tests, when you request an F test with the JOINT option. This option has no effect in procedures that produce chi-square statistics by default.\",\"type\":\"standalone\"},{\"name\":\"CL\",\"optional\":true,\"description\":\"Requests that t-type confidence limits be constructed. If the procedure shows the degrees of freedom in the \\\"Estimates\\\" table as infinite, then the confidence limits are z intervals. The confidence level is 0.95 by default, and you can change the confidence level with the ALPHA= option. The confidence intervals are adjusted for multiplicity when you specify the ADJUST= option. However, if a step-down p-value adjustment is requested with the STEPDOWN option, only the p-values are adjusted for multiplicity.\",\"type\":\"standalone\"},{\"name\":\"CORR\",\"optional\":true,\"description\":\"Displays the estimated correlation matrix of the linear combination of the parameter estimates.\",\"type\":\"standalone\"},{\"name\":\"COV\",\"optional\":true,\"description\":\"Displays the estimated covariance matrix of the linear combination of the parameter estimates.\",\"type\":\"standalone\"},{\"name\":\"DF=\",\"optional\":true,\"description\":\"Specifies the degrees of freedom for the t test and confidence limits. This option is not supported by the procedures that perform chi-square-based inference (LOGISTIC, PHREG, and SUVEYLOGISTIC).\",\"help\":\"DF=*number*\",\"type\":\"value\"},{\"name\":\"DIVISOR=\",\"optional\":true,\"description\":\"Specifies a list of values by which to divide the coefficients so that fractional coefficients can be entered as integer numerators. If you do not specify value-list, a default value of 1.0 is assumed. Missing values in the value-list are converted to 1.0. If the number of elements in value-list exceeds the number of rows of the estimate, the extra values are ignored. If the number of elements in value-list is less than the number of rows of the estimate, the last value in value-list is copied forward. If you specify a row-specific divisor as part of the specification of the estimate row, this value multiplies the corresponding divisor that is implied by the value-list. For example, the following statement divides the coefficients in the first row by 8, and the coefficients in the third and fourth row by 3: estimate 'One vs. two' A 2 -2 (divisor=2), 'One vs. three' A 1 0 -1 , 'One vs. four' A 3 0 0 -3 , 'One vs. five' A 1 0 0 0 -1 / divisor=4,.,3;\",\"help\":\"DIVISOR=*value-list*\",\"type\":\"value\"},{\"name\":\"E\",\"optional\":true,\"description\":\"Requests that the L matrix coefficients be displayed.\",\"type\":\"standalone\"},{\"name\":\"EXP\",\"optional\":true,\"description\":\"Requests exponentiation of the estimate. When you model data with the logit, cumulative logit, or generalized logit link functions, and the estimate represents a log odds ratio or log cumulative odds ratio, the EXP option produces an odds ratio. In proportional hazards model, this option produces estimates of hazard ratios. If you specify the CL or ALPHA= option, the (adjusted) confidence bounds are also exponentiated.\",\"type\":\"standalone\"},{\"name\":\"ILINK\",\"optional\":true,\"description\":\"Requests that the estimate and its standard error are also reported on the scale of the mean (the inverse linked scale).\",\"type\":\"standalone\"},{\"name\":\"JOINT=\",\"optional\":true,\"description\":\"Requests that a joint F or chi-square test be produced for the rows of the estimate. The JOINT option in the ESTIMATE statement essentially replaces the CONTRAST statement. When the LOWERTAILED or the UPPERTAILED options are in effect, or if the BOUNDS option described below is in effect, the JOINT option produces the chi-bar-square statistic according to Silvapulle and Sen (2004). This statistic uses a simulation-based approach to compute p-values in situations where the alternative hypotheses of the estimable functions are not simple two-sided hypotheses. You can specify the following joint-test-options in parentheses: ACC=γ specifies the accuracy radius for determining the necessary sample size in the simulation-based approach of Silvapulle and Sen (2004) for tests with order restrictions. The value of γ must be strictly between 0 and 1; the default value is 0.005. EPS=є specifies the accuracy confidence level for determining the necessary sample size in the simulation-based approach of Silvapulle and Sen (2004) for tests with order restrictions. The value of є must be strictly between 0 and 1; the default value is 0.01. LABEL='label' assigns an identifying label to the joint test. If you do not specify a label, the first non-default label for the ESTIMATE rows is used to label the joint test. NOEST | ONLY performs only the F or chi-square test and suppresses other results from the ESTIMATE statement. This option is useful for emulating the CONTRAST statement that is available in other procedures. NSAMP=n specifies the number of samples for the simulation-based method of Silvapulle and Sen (2004). CHISQ -- adds a chi-square test if the procedure produces an F test by default.\",\"help\":\"JOINT=ACC= | EPS= | LABEL= | NOEST | ONLY | NSAMP= | CHISQ | BOUNDS=\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ACC=\",\"type\":\"value\"},{\"name\":\"EPS=\",\"type\":\"value\"},{\"name\":\"LABEL=\",\"type\":\"value\"},{\"name\":\"NOEST\",\"type\":\"standalone\"},{\"name\":\"ONLY\",\"type\":\"standalone\"},{\"name\":\"NSAMP=\",\"type\":\"value\"},{\"name\":\"CHISQ\",\"type\":\"standalone\"},{\"name\":\"BOUNDS=\",\"type\":\"value\"}]},{\"name\":\"LOWER\",\"optional\":true,\"aliases\":[\"LOWERTAILED\"],\"description\":\"Requests that the p-value for the t test be based only on values less than the test statistic. A two-tailed test is the default. A lower-tailed confidence limit is also produced if you specify the CL or ALPHA= option.\",\"type\":\"standalone\"},{\"name\":\"NOFILL\",\"optional\":true,\"description\":\"Suppresses the automatic fill-in of coefficients of higher-order effects.\",\"type\":\"standalone\"},{\"name\":\"PLOTS=\",\"optional\":true,\"description\":\"Produces ODS statistical graphics of the distribution of estimable functions if the procedure performs the analysis in a sampling-based mode.\",\"help\":\"PLOTS=ALL | BOXPLOT | DISTPLOT | NONE*plot-options*\",\"type\":\"value\",\"arguments\":[{\"name\":\"ALL\",\"description\":\"Produces all possible plots with their default settings.\",\"type\":\"standalone\"},{\"name\":\"BOXPLOT\",\"description\":\"Syntax: BOXPLOT<(boxplot-options)> Produces box plots of the distribution of the estimable function across the posterior sample. A separate box is generated for each estimable function, and all boxes appear on a single graph by default. You can affect the appearance of the box plot graph with the following options: ORIENTATION=VERTICAL|HORIZONTAL ORIENT=VERT|HORIZ specifies the orientation of the boxes. The default is vertical orientation of the box plots. NPANELPOS=number specifies how to break the series of box plots across multiple panels. If the NPANELPOS option is not specified, or if number equals zero, then all box plots are displayed in a single graph; this is the default.\",\"type\":\"standalone\"},{\"name\":\"DISTPLOT\",\"aliases\":[\"DIST\"],\"description\":\"Syntax: DISTPLOT<(distplot-options)> Generates panels of histograms with a kernel density overlaid. A separate plot in each panel contains the results for each estimable function. You can specify the following distplot-options in parentheses: BOX|NOBOX controls the display of a horizontal box plot of the estimable function's distribution across the posterior sample below the graph. The BOX option is enabled by default. HIST|NOHIST controls the display of the histogram of the estimable function's distribution across the posterior sample. The HIST option is enabled by default. NORMAL|NONORMAL controls the display of a normal density estimate on the graph. The NONORMAL option is enabled by default. KERNEL|NOKERNEL controls the display of a kernel density estimate on the graph. The KERNEL option is enabled by default. NROWS=number specifies the highest number of rows in a panel. The default is 3. NCOLS=number specifies the highest number of columns in a panel. The default is 3. UNPACK unpacks the panel into separate graphics.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"Does not produce any plots.\",\"type\":\"standalone\"}]},{\"name\":\"SEED=\",\"optional\":true,\"description\":\"Specifies the seed for the sampling-based components of the computations for the ESTIMATE statement (for example, chi-bar-square statistics and simulated p-values). number specifies an integer that is used to start the pseudo-random number generator for the simulation. If you do not specify a seed, or if you specify a value less than or equal to zero, the seed is generated from reading the time of day from the computer clock. There could be multiple ESTIMATE statements with SEED= specifications and there could be other statements that can supply a random number seed. Since the procedure has only one random number stream, the initial seed is shown in the SAS log.\",\"help\":\"SEED=*number*\",\"type\":\"value\"},{\"name\":\"SINGULAR=\",\"optional\":true,\"description\":\"Tunes the estimability checking. The value for number must be between 0 and 1; the default is 1E-4.\",\"help\":\"SINGULAR=*number*\",\"type\":\"value\"},{\"name\":\"STEPDOWN=\",\"optional\":true,\"description\":\"Requests that multiplicity adjustments for the p-values of estimates be further adjusted in a step-down fashion. Step-down methods increase the power of multiple testing procedures by taking advantage of the fact that a p-value is never declared significant unless all smaller p-values are also declared significant. You can specify the following step-down-options in parentheses after the STEPDOWN option: MAXTIME=n specifies the time (in seconds) to be spent computing the maximal logically consistent sequential subsets of equality hypotheses for TYPE=LOGICAL. The default is MAXTIME=60. ORDER=PVALUE | ORDER=ROWS specifies the order in which the step-down tests to be performed. ORDER=PVALUE is the default, with estimates being declared significant only if all estimates with smaller (unadjusted) p-values are significant. If you specify ORDER=ROWS, then significances are evaluated in the order in which they are specified in the syntax. REPORT specifies that a report on the step-down adjustment be displayed, including a listing of the sequential subsets (Westfall 1997) and, for ADJUST=SIMULATE, the step-down simulation results.\",\"help\":\"STEPDOWN=TYPE= | REPORT | ORDER= | MAXTIME=\",\"type\":\"choice\",\"arguments\":[{\"name\":\"TYPE=\",\"type\":\"value\"},{\"name\":\"REPORT\",\"type\":\"standalone\"},{\"name\":\"ORDER=\",\"type\":\"value\"},{\"name\":\"MAXTIME=\",\"type\":\"value\"}]},{\"name\":\"TESTVALUE=\",\"optional\":true,\"aliases\":[\"TESTMEAN=\"],\"description\":\"Specifies the value under the null hypothesis for testing the estimable functions in the ESTIMATE statement. The rules for specifying the value-list are very similar to those for specifying the divisor list in the DIVISOR= option. If no TESTVALUE= is specified, all tests are performed as H: Lβ=0. Missing values in the value-list also are translated to zeros. If you specify fewer values than rows in the ESTIMATE statement, the last value in value-list is carried forward. The TESTVALUE= option affects only p-values from individual, joint, and multiplicity-adjusted tests. It does not affect confidence intervals.\",\"help\":\"TESTVALUE=*value-list*\",\"type\":\"value\"},{\"name\":\"UPPER\",\"optional\":true,\"aliases\":[\"UPPERTAILED\"],\"description\":\"Requests that the p-value for the t test be based only on values greater than the test statistic. A two-tailed test is the default. An upper-tailed confidence limit is also produced if you specify the CL or ALPHA= option.\",\"type\":\"standalone\"}]},{\"name\":\"FREQ\",\"aliases\":[\"FREQUENCY\"],\"description\":\"The variable in the FREQ statement identifies a variable in the input data set containing the frequency of occurrence of each observation. PROC GENMOD treats each observation as if it appears n times, where n is the value of the FREQ variable for the observation. If it is not an integer, the frequency value is truncated to an integer. If it is less than 1 or missing, the observation is not used. In the case of models fit with generalized estimating equations (GEEs), the frequencies apply to the subject/cluster and therefore must be the same for all observations within each subject.\",\"help\":\"FREQ | FREQUENCY variable\"},{\"name\":\"LSMEANS\",\"description\":\"The LSMEANS statement computes and compares least squares means (LS-means) of fixed effects. LS-means are predicted population margins—that is, they estimate the marginal means over a balanced population. In a sense, LS-means are to unbalanced designs as class and subclass arithmetic means are to balanced designs.\",\"help\":\"LSMEANS &lt;ADJDFE=&lt;SOURCE | ROW&gt;&gt;&lt;ADJUST=&lt;BON | DUNNETT | NELSON&gt;... &gt;&lt;ALPHA=number&gt; ...\",\"arguments\":[{\"name\":\"ADJDFE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies how denominator degrees of freedom are determined when p-values and confidence limits are adjusted for multiple comparisons with the ADJUST= option.\",\"help\":\"ADJDFE=SOURCE | ROW\",\"type\":\"choice\",\"arguments\":[{\"name\":\"SOURCE\",\"followsDelimiter\":\"/\",\"description\":\"The denominator degrees of freedom for multiplicity-adjusted results are the denominator degrees of freedom for the LS-mean effect in the \\\"Type III Tests of Fixed Effects\\\" table.\",\"type\":\"standalone\"},{\"name\":\"ROW\",\"followsDelimiter\":\"/\",\"description\":\"Useful if you want multiplicity adjustments to take into account that denominator degrees of freedom are not constant across LS-mean differences.\",\"type\":\"standalone\"}]},{\"name\":\"ADJUST=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests a multiple comparison adjustment for the p-values and confidence limits for the differences of LS-means.\",\"help\":\"ADJUST=BON | DUNNETT | NELSON | SCHEFFE | SIDAK | SIMULATE | SMM | TUKEY\",\"type\":\"choice\",\"arguments\":[{\"name\":\"BON\",\"followsDelimiter\":\"/\",\"description\":\"Bonferroni adjustment\",\"type\":\"standalone\"},{\"name\":\"DUNNETT\",\"followsDelimiter\":\"/\",\"description\":\"Dunnett adjustment (in which the procedure analyzes all differences with a control level)\",\"type\":\"standalone\"},{\"name\":\"NELSON\",\"followsDelimiter\":\"/\",\"description\":\"Nelson adjustment (in which ANOM differences are taken)\",\"type\":\"standalone\"},{\"name\":\"SCHEFFE\",\"followsDelimiter\":\"/\",\"description\":\"Scheffe's adjustment\",\"type\":\"standalone\"},{\"name\":\"SIDAK\",\"followsDelimiter\":\"/\",\"description\":\"Sidak adjustment\",\"type\":\"standalone\"},{\"name\":\"SIMULATE\",\"followsDelimiter\":\"/\",\"description\":\"Computes adjusted p-values and confidence limits from the simulated distribution of the maximum or maximum absolute value of a multivariate t random vector. Syntax: SIMULATE<(simoptions)> You can specify the following simoptions in parentheses after the ADJUST=SIMULATE option. ACC=value specifies the target accuracy radius γ of a 100(1-ε)% confidence interval for the true probability content of the estimated (1-α)th quantile. The default value is ACC=0.005. EPS=value specifies the value ε for a 100(1-ε)% confidence interval for the true probability content of the estimated (1-α)th quantile. The default value is ACC=0.005. NSAMP=n specifies the sample size for the simulation. SEED=number specifies an integer that is used to start the pseudo-random number generator for the simulation. THREADS specifies that the computational work for the simulation be divided into parallel threads, where the number of threads is the value of the SAS system option CPUCOUNT=. NOTHREADS specifies that the computational work for the simulation be performed in sequence rather than in parallel. NOTHREADS is the default. This option overrides the SAS system option THREADS|NOTHREADS.\",\"type\":\"standalone\"},{\"name\":\"SMM\",\"followsDelimiter\":\"/\",\"aliases\":[\"GT2\"],\"description\":\"SMM adjustment\",\"type\":\"standalone\"},{\"name\":\"TUKEY\",\"followsDelimiter\":\"/\",\"description\":\"If your data are unbalanced, PROC GLIMMIX uses the approximation described in Kramer (1956) and identifies the adjustment as \\\"Tukey-Kramer\\\" in the results.\",\"type\":\"standalone\"}]},{\"name\":\"ALPHA=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that a t-type confidence interval be constructed for each of the LS-means with confidence level (1-number)x100%. The value of number must be between 0 and 1; the default is 0.05.\",\"help\":\"ALPHA=*number*\",\"type\":\"value\"},{\"name\":\"AT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Modifies the values of the covariates that are used in computing LS-means. By default, all covariate effects are set equal to their mean values for computation of standard LS-means. The AT option enables you to assign arbitrary values to the covariates. Additional columns in the output table indicate the values of the covariates.\",\"help\":\"AT=MEANS\",\"type\":\"choice\",\"arguments\":[{\"name\":\"MEANS\",\"type\":\"standalone\"}]},{\"name\":\"BYLEVEL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that separate margins be computed for each level of the LSMEANS effect.\",\"type\":\"standalone\"},{\"name\":\"CL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that t-type confidence limits be constructed for each of the LS-means. The confidence level is 0.95 by default; this can be changed with the ALPHA= option.\",\"type\":\"standalone\"},{\"name\":\"CORR\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays the estimated correlation matrix of the least squares means as part of the \\\"Least Squares Means\\\" table.\",\"type\":\"standalone\"},{\"name\":\"COV\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays the estimated covariance matrix of the least squares means as part of the \\\"Least Squares Means\\\" table.\",\"type\":\"standalone\"},{\"name\":\"DF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the degrees of freedom for the t test and confidence limits. The default is the denominator degrees of freedom taken from the \\\"Type III Tests\\\" table that corresponds to the LS-means effect.\",\"help\":\"DF=*number*\",\"type\":\"value\"},{\"name\":\"DIFF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"PDIFF=\"],\"description\":\"Requests that differences of the LS-means be displayed.\",\"help\":\"DIFF=ALL | ANOM | CONTROL | CONTROLL | CONTROLU\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ALL\",\"followsDelimiter\":\"/\",\"description\":\"Requests all pairwise differences; this is the default.\",\"type\":\"standalone\"},{\"name\":\"ANOM\",\"followsDelimiter\":\"/\",\"description\":\"Requests differences between each LS-mean and the average LS-mean, as in the analysis of means (Ott 1967).\",\"type\":\"standalone\"},{\"name\":\"CONTROL\",\"followsDelimiter\":\"/\",\"description\":\"Requests the differences with a control, which, by default, is the first level of each of the specified LSMEANS effects.\",\"type\":\"standalone\"},{\"name\":\"CONTROLL\",\"followsDelimiter\":\"/\",\"description\":\"Tests whether the noncontrol levels are significantly smaller than the control; the upper confidence limits for the control minus the noncontrol levels are considered to be infinity and are displayed as missing.\",\"type\":\"standalone\"},{\"name\":\"CONTROLU\",\"followsDelimiter\":\"/\",\"description\":\"Tests whether the noncontrol levels are significantly larger than the control; the upper confidence limits for the noncontrol levels minus the control are considered to be infinity and are displayed as missing.\",\"type\":\"standalone\"}]},{\"name\":\"E\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that the L matrix coefficients for the LSMEANS effects be displayed.\",\"type\":\"standalone\"},{\"name\":\"EXP\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests exponentiation of the LS-means or LS-mean differences. When you model data with the logit, cumulative logit, or generalized logit link functions, and the estimate represents a log odds ratio or log cumulative odds ratio, the EXP option produces an odds ratio. In proportional hazards model, the exponentiation of the LS-mean differences produces estimates of hazard ratios. If you specify the CL or ALPHA= option, the (adjusted) confidence bounds are also exponentiated.\",\"type\":\"standalone\"},{\"name\":\"ILINK\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that estimates and their standard errors in the \\\"Least Squares Means\\\" table also be reported on the scale of the mean (the inverse linked scale).\",\"type\":\"standalone\"},{\"name\":\"LINES\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Presents results of comparisons between all pairs of least squares means by listing the means in descending order and indicating nonsignificant subsets by line segments beside the corresponding LS-means.\",\"type\":\"standalone\"},{\"name\":\"MEANS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies to produce the table of least squares means. This is the default.\",\"type\":\"standalone\"},{\"name\":\"NOMEANS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies not to produce the table of least squares means.\",\"type\":\"standalone\"},{\"name\":\"OBSMARGINS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"OM=\"],\"description\":\"Specifies a potentially different weighting scheme for the computation of LS-means coefficients. The standard LS-means have equal coefficients across classification effects; however, the OM option changes these coefficients to be proportional to those found in the OM-data-set. This adjustment is reasonable when you want your inferences to apply to a population that is not necessarily balanced but has the margins that are observed in OM-data-set.\",\"type\":\"value\"},{\"name\":\"ODDSRATIO\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"OR\"],\"description\":\"Requests that LS-mean differences (DIFF, ADJUST= options) are also reported in terms of odds ratios. The ODDSRATIO option is ignored unless you use either the logit, cumulative logit, or generalized logit link function. If you specify the CL or ALPHA= option, confidence intervals for the odds ratios are also computed. These intervals are adjusted for multiplicity when you specify the ADJUST= option.\",\"type\":\"standalone\"},{\"name\":\"PDIFF\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Is the same as the DIFF option.\",\"type\":\"standalone\"},{\"name\":\"PLOT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"PLOTS=\"],\"description\":\"Requests that least squares means related graphics are produced via ODS Graphics, provided that the ODS GRAPHICS statement has been specified and the plot request does not conflict with other options in the LSMEANS statement.\",\"help\":\"PLOT=ALL | ANOMPLOT | BOXPLOT | CONTROLPLOT | DIFFPLOT | DISTPLOT | MEANPLOT | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ALL\",\"followsDelimiter\":\"/\",\"description\":\"Requests that the default plots corresponding to this LSMEANS statement be produced.\",\"type\":\"standalone\"},{\"name\":\"ANOMPLOT\",\"followsDelimiter\":\"/\",\"aliases\":[\"ANOM\"],\"description\":\"Requests an analysis of means display in which least squares means are compared to an average least squares mean.\",\"type\":\"standalone\"},{\"name\":\"BOXPLOT\",\"followsDelimiter\":\"/\",\"description\":\"Syntax: BOXPLOT<boxplot-options>> Produces box plots of the distribution of the least squares mean or least squares mean differences across a posterior sample. For example, this plot is available in procedures that support a Bayesian analysis through the BAYES statement. A separate box is generated for each estimable function, and all boxes appear on a single graph by default. You can affect the appearance of the box plot graph with the following options: ORIENTATION=VERTICAL|HORIZONTAL ORIENT=VERT|HORIZ specifies the orientation of the boxes. The default is vertical orientation of the box plots. NPANELPOS=number specifies how to break the series of box plots across multiple panels. If the NPANELPOS option is not specified, or if number equals zero, then all box plots are displayed in a single graph; this is the default.\",\"type\":\"standalone\"},{\"name\":\"CONTROLPLOT\",\"followsDelimiter\":\"/\",\"aliases\":[\"CONTROL\"],\"description\":\"Requests a display in which least squares means are visually compared against a reference level.\",\"type\":\"standalone\"},{\"name\":\"DIFFPLOT\",\"followsDelimiter\":\"/\",\"aliases\":[\"DIFFOGRAM\",\"DIFF\"],\"description\":\"Requests a display of all pairwise least squares mean differences and their significance. Syntax: DIFFPLOT<(diffplot-options)> You can specify the following diffplot-options: ABS all line segments are shown on the same side of the reference line. NOABS separates comparisons according to the sign of the difference. CENTER marks the center point for each comparison. NOLINES suppresses the display of the line segments that represent the confidence bounds for the differences of the least squares means. The NOLINES option implies the CENTER option.\",\"type\":\"standalone\"},{\"name\":\"DISTPLOT\",\"followsDelimiter\":\"/\",\"aliases\":[\"DIST\"],\"description\":\"Syntax: DISTPLOT<distplot-options> Generates panels of histograms with a kernel density overlaid if the analysis has access to a set of posterior parameter estimates. You can sepcify the following distplot-options in parentheses: BOX|NOBOX controls the display of a horizontal box plot of the estimable function's distribution across the posterior sample below the graph. The BOX option is enabled by default. HIST|NOHIST controls the display of the histogram of the estimable function's distribution across the posterior sample. The HIST option is enabled by default. NORMAL|NONORMAL controls the display of a normal density estimate on the graph. The NONORMAL option is enabled by default. KERNEL|NOKERNEL controls the display of a kernel density estimate on the graph. The KERNEL option is enabled by default. NROWS=number specifies the highest number of rows in a panel. The default is 3. NCOLS=number specifies the highest number of columns in a panel. The default is 3. UNPACK unpacks the panel into separate graphics.\",\"type\":\"standalone\"},{\"name\":\"MEANPLOT\",\"followsDelimiter\":\"/\",\"description\":\"Syntax: MEANPLOT<(meanplot-options)> Requests displays of the least squares means. The following meanplot-options control the display of the least squares means: ASCENDING displays the least squares means in ascending order. This option has no effect if means are sliced or displayed in separate plots. CL displays upper and lower confidence limits for the least squares means. By default, 95% limits are drawn. CLBAND displays confidence limits as bands. This option implies the JOIN option. DESCENDING displays the least squares means in descending order. This option has no effect if means are sliced or displayed in separate plots. ILINK requests that means (and confidence limits) are displayed on the inverse linked scale. JOIN | CONNECT connects the least squares means with lines. This option is implied by the CLBAND option. SLICEBY=fixed-effect specifies an effect by which to group the means in a single plot. PLOTBY=fixed-effect specifies an effect by which to break interaction plots into separate displays.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"followsDelimiter\":\"/\",\"description\":\"Requests that no plots be produced.\",\"type\":\"standalone\"}]},{\"name\":\"SEED=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the seed for the sampling-based components of the computations for the LSMEANS statement (for example, chi-bar-square statistics and simulated p-values). number specifies an integer that is used to start the pseudo-random-number generator for the simulation. If you do not specify a seed, or if you specify a value less than or equal to zero, the seed is generated from reading the time of day from the computer clock.\",\"help\":\"SEED=*number*\",\"type\":\"value\"},{\"name\":\"SINGULAR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Tunes the estimability checking. The value for number must be between 0 and 1; the default is 1E-4.\",\"help\":\"SINGULAR=*number*\",\"type\":\"value\"},{\"name\":\"STEPDOWN=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that multiple comparison adjustments for the p-values of LS-mean differences be further adjusted in a step-down fashion. Step-down methods increase the power of multiple comparisons by taking advantage of the fact that a p-value is never declared significant unless all smaller p-values are also declared significant. You can specify the following step-down options in parentheses: MAXTIME=n specifies the time (in seconds) to spend computing the maximal logically consistent sequential subsets of equality hypotheses for TYPE=LOGICAL. REPORT specifies that a report on the step-down adjustment should be displayed, including a listing of the sequential subsets (Westfall 1997) and, for ADJUST=SIMULATE, the step-down simulation results.\",\"help\":\"STEPDOWN=MAXTIME= | REPORT | TYPE=\",\"type\":\"choice\",\"arguments\":[{\"name\":\"MAXTIME=\",\"type\":\"value\"},{\"name\":\"REPORT\",\"type\":\"standalone\"},{\"name\":\"TYPE=\",\"type\":\"value\"}]}]},{\"name\":\"MISSMODEL\",\"description\":\"The MISSMODEL statement requests a weighted GEE analysis. It specifies a logistic regression that is used to estimate the weights under the MAR assumption. If the pattern of missing data is intermittent (not dropout), the GEE procedure terminates and does not perform an analysis.\",\"help\":\"MISSMODEL &lt;MAXWEIGHT=number&gt;&lt;TYPE=&lt;OBSLEVEL | SUBLEVEL&gt;&gt;\",\"arguments\":[{\"name\":\"MAXWEIGHT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Truncates the predicted weights from the missingness model if they are larger than number, where number >= 1.\",\"help\":\"MAXWEIGHT=*number*\",\"type\":\"value\"},{\"name\":\"TYPE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the type of weighted GEE method. You can specify the following values: OBSLEVEL specifies the observation-level weighted GEE method. SUBLEVEL specifies the subject-level weighted GEE method.\",\"help\":\"TYPE=OBSLEVEL | SUBLEVEL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"OBSLEVEL\",\"followsDelimiter\":\"/\",\"description\":\"Specifies the observation-level weighted GEE method.\",\"type\":\"standalone\"},{\"name\":\"SUBLEVEL\",\"followsDelimiter\":\"/\",\"description\":\"Specifies the subject-level weighted GEE method.\",\"type\":\"standalone\"}]}]},{\"name\":\"MODEL\",\"description\":\"The MODEL statement specifies the response (dependent variable) and the effects (explanatory variables). If you omit the explanatory variables, PROC GEE fits an intercept-only model. An intercept term is included in the model by default. You can remove the intercept by specifying the NOINT option. You can specify the response in the form of a single variable (response) or in the form of a ratio of two variables ( events/trials). The first form is applicable to all responses. The second form is applicable only to summarized binomial response data. When each observation in the input data set contains the number of events (for example, successes) and the number of trials from a set of binomial trials, use the events/trials syntax.\",\"help\":\"MODEL &lt;ALPHA=number&gt;&lt;DIST=&lt;BINOMIAL | GAMMA | IGAUSSIAN&gt;... &gt;&lt;LINK=&lt;CLOGLOG | CUMCLL | CUMLOGIT&gt;... &gt; ...\",\"arguments\":[{\"name\":\"ALPHA=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Sets the confidence coefficient for parameter confidence intervals to 1-number. The value of number must be between 0 and 1. The default value of number is 0.05.\",\"help\":\"ALPHA=*number*\",\"type\":\"value\"},{\"name\":\"DIST=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"D=\",\"ERROR=\",\"ERR=\"],\"description\":\"Specifies the built-in probability distribution to use in the model.\",\"help\":\"DIST=BINOMIAL | GAMMA | IGAUSSIAN | MULTINOMIAL | NEGBIN | NORMAL | POISSON\",\"type\":\"choice\",\"arguments\":[{\"name\":\"BINOMIAL\",\"followsDelimiter\":\"/\",\"description\":\"Binomial distribution\",\"type\":\"standalone\"},{\"name\":\"GAMMA\",\"followsDelimiter\":\"/\",\"description\":\"Gamma distribution\",\"type\":\"standalone\"},{\"name\":\"IGAUSSIAN\",\"followsDelimiter\":\"/\",\"description\":\"Inverse Gaussian distribution\",\"type\":\"standalone\"},{\"name\":\"MULTINOMIAL\",\"followsDelimiter\":\"/\",\"description\":\"Multinomial distribution\",\"type\":\"standalone\"},{\"name\":\"NEGBIN\",\"followsDelimiter\":\"/\",\"description\":\"Negative binomial distribution\",\"type\":\"standalone\"},{\"name\":\"NORMAL\",\"followsDelimiter\":\"/\",\"description\":\"Normal distribution\",\"type\":\"standalone\"},{\"name\":\"POISSON\",\"followsDelimiter\":\"/\",\"description\":\"Poisson distribution\",\"type\":\"standalone\"}]},{\"name\":\"DSCALE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Same as specifying SCALE=DEVIANCE or SCALE=D. This fixes the scale parameter at a value of 1 in the estimation procedure.\",\"type\":\"standalone\"},{\"name\":\"LINK=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the link function in the model.\",\"help\":\"LINK=CLOGLOG | CUMCLL | CUMLOGIT | CUMPROBIT | GLOGIT | IDENTITY | LOG | LOGIT | PROBIT | INVERSE | POWERMINUS2\",\"type\":\"choice\",\"arguments\":[{\"name\":\"CLOGLOG\",\"followsDelimiter\":\"/\",\"description\":\"Complementary log-log function\",\"type\":\"standalone\"},{\"name\":\"CUMCLL\",\"followsDelimiter\":\"/\",\"description\":\"Cumulative complementary log-log function\",\"type\":\"standalone\"},{\"name\":\"CUMLOGIT\",\"followsDelimiter\":\"/\",\"description\":\"Cumulative logit function\",\"type\":\"standalone\"},{\"name\":\"CUMPROBIT\",\"followsDelimiter\":\"/\",\"description\":\"Cumulative probit function\",\"type\":\"standalone\"},{\"name\":\"GLOGIT\",\"followsDelimiter\":\"/\",\"description\":\"Generalized logit\",\"type\":\"standalone\"},{\"name\":\"IDENTITY\",\"followsDelimiter\":\"/\",\"description\":\"Identity function\",\"type\":\"standalone\"},{\"name\":\"LOG\",\"followsDelimiter\":\"/\",\"description\":\"Log function\",\"type\":\"standalone\"},{\"name\":\"LOGIT\",\"followsDelimiter\":\"/\",\"description\":\"Logit function\",\"type\":\"standalone\"},{\"name\":\"PROBIT\",\"followsDelimiter\":\"/\",\"description\":\"Probit function\",\"type\":\"standalone\"},{\"name\":\"INVERSE\",\"followsDelimiter\":\"/\",\"description\":\"Reciprocal function\",\"type\":\"standalone\"},{\"name\":\"POWERMINUS2\",\"followsDelimiter\":\"/\",\"description\":\"Power with exponent–2 function\",\"type\":\"standalone\"}]},{\"name\":\"NOINT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that no intercept term be included in the model. An intercept is included unless this option is specified.\",\"type\":\"standalone\"},{\"name\":\"NOSCALE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Holds the scale parameter fixed. Otherwise, for the normal, inverse Gaussian, and gamma distributions, the scale parameter is estimated by maximum likelihood. If you omit the SCALE= option, the scale parameter is fixed at the value 1.\",\"type\":\"standalone\"},{\"name\":\"OFFSET=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies a variable in the input data set to be used as an offset variable. This variable cannot be a CLASS variable, the response variable, or any of the explanatory variables.\",\"help\":\"OFFSET=*variable*\",\"type\":\"value\"},{\"name\":\"PSCALE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Same as specifying SCALE=PEARSON or SCALE=P. This fixes the scale parameter at a value of 1 in the estimation procedure.\",\"type\":\"standalone\"},{\"name\":\"SCALE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Sets the value used for the scale parameter where the NOSCALE option is used.\",\"help\":\"SCALE=&lt;*number*&gt; | PEARSON | DEVIANCE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"number\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"Replace number with an actual scale parameter value.\",\"type\":\"value\"},{\"name\":\"PEARSON\",\"followsDelimiter\":\"/\",\"aliases\":[\"P\"],\"description\":\"Fixes the scale parameter at the value 1 in the estimation procedure. After the parameter estimates are determined, the exponential family dispersion parameter is assumed to be given by Pearson's chi-square statistic divided by the degrees of freedom.\",\"type\":\"standalone\"},{\"name\":\"DEVIANCE\",\"followsDelimiter\":\"/\",\"aliases\":[\"D\"],\"description\":\"Fixes the scale parameter at a value of 1 in the estimation procedure. After the parameter estimates are determined, the exponential family dispersion parameter is assumed to be given by the deviance divided by the degrees of freedom.\",\"type\":\"standalone\"}]}]},{\"name\":\"OUTPUT\",\"description\":\"The OUTPUT statement creates a new SAS data set that contains all the variables in the input data set and, optionally, the estimated linear predictors (XBETA) and their standard error estimates, the weights for the Hessian matrix, predicted values of the mean, confidence limits for predicted values, residuals, and case deletion diagnostics. Residuals and diagnostic statistics are not computed for multinomial models.\",\"help\":\"OUTPUT &lt;LOWER=&gt; OUT=SAS-data-set &lt;PREDICTED=&gt; ...\",\"arguments\":[{\"name\":\"OUT=\",\"description\":\"Specifies the output data set. If you omit the OUT=option, the output data set is created and given a default name that uses the DATA convention.\",\"help\":\"OUT=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"LOWER=\",\"optional\":true,\"aliases\":[\"L=\"],\"description\":\"Represents the lower confidence limit for the predicted value of the mean, or the lower confidence limit for the probability that the response is less than or equal to the value of Level or Value.\",\"type\":\"value\"},{\"name\":\"PREDICTED=\",\"optional\":true,\"aliases\":[\"PRED=\",\"PROB=\",\"P=\"],\"description\":\"Represents the predicted value of the mean of the response or the predicted probability that the response variable is less than or equal to the value of Level or Value if the multinomial model for ordinal data is used.\",\"type\":\"value\"},{\"name\":\"RESCHI=\",\"optional\":true,\"description\":\"Represents the Pearson (chi) residual for identifying observations that are poorly accounted for by the model.\",\"type\":\"value\"},{\"name\":\"RESRAW=\",\"optional\":true,\"description\":\"Represents the raw residual for identifying poorly fitted observations.\",\"type\":\"value\"},{\"name\":\"STDXBETA=\",\"optional\":true,\"description\":\"Represents the standard error estimate of XBETA (see the XBETA keyword).\",\"type\":\"value\"},{\"name\":\"UPPER=\",\"optional\":true,\"aliases\":[\"U=\"],\"description\":\"Represents the upper confidence limit for the predicted value of the mean, or the upper confidence limit for the probability that the response is less than or equal to the value of Level or Value.\",\"type\":\"value\"},{\"name\":\"XBETA=\",\"optional\":true,\"description\":\"Represents the estimate of the linear predictor x_i'B for observation i, or aj + x_i'B, where j is the corresponding ordered value of the response variable for the multinomial model with ordinal data.\",\"type\":\"value\"}]},{\"name\":\"REPEATED\",\"description\":\"The REPEATED statement specifies the correlation structure of the responses for GEE model fitting. In addition, the REPEATED statement controls the iterative fitting algorithm and specifies optional output.\",\"help\":\"REPEATED &lt;ALPHAINIT=numbers&gt;&lt;CONVERGE=number&gt; SUBJECT=subject-effect ...\",\"arguments\":[{\"name\":\"SUBJECT=\",\"description\":\"Identifies subjects in the input data set.\",\"help\":\"SUBJECT=*subject-effect*\",\"type\":\"value\"},{\"name\":\"ALPHAINIT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies initial values for log odds ratio regression parameters if the LOGOR= option is specified for binary data.\",\"help\":\"ALPHAINIT=*numbers*\",\"type\":\"value\"},{\"name\":\"CONVERGE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the convergence criterion for GEE parameter estimation.\",\"help\":\"CONVERGE=*number*\",\"type\":\"value\"},{\"name\":\"CORRB\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays the estimated regression parameter correlation matrix. Both model-based and empirical correlations are displayed.\",\"type\":\"standalone\"},{\"name\":\"CORRW\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays the estimated regression parameter correlation matrix. Both model-based and empirical correlations are displayed.\",\"type\":\"standalone\"},{\"name\":\"COVB\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays the estimated regression parameter covariance matrix. Both model-based and empirical covariances are displayed.\",\"type\":\"standalone\"},{\"name\":\"ECORRB\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays the estimated regression parameter empirical correlation matrix.\",\"type\":\"standalone\"},{\"name\":\"ECOVB\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays the estimated regression parameter empirical covariance matrix.\",\"type\":\"standalone\"},{\"name\":\"INITIAL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies initial values of the regression parameters estimation, other than the intercept parameter, for GEE estimation.\",\"help\":\"INITIAL=*numbers*\",\"type\":\"value\"},{\"name\":\"INTERCEPT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies an initial value of the intercept regression parameter in the GEE model.\",\"help\":\"INTERCEPT=*number*\",\"type\":\"value\"},{\"name\":\"LOGOR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the use of the alternating logistic regression (ALR) method and the regression model structure for the log odds ratio. For data that have either a binary or ordinal multinomial response distribution, the ALR method uses the log odds ratio to model the association of the responses from subjects.\",\"help\":\"LOGOR=EXCH | FULLCLUST | LOGORVAR(variable) | NESTK | NEST1 | ZFULL | ZREP&lt;(*matrix*)&gt;\",\"type\":\"choice\",\"arguments\":[{\"name\":\"EXCH\",\"followsDelimiter\":\"/\",\"description\":\"Exchangeable\",\"type\":\"standalone\"},{\"name\":\"FULLCLUST\",\"followsDelimiter\":\"/\",\"description\":\"Fully parameterized clusters\",\"type\":\"standalone\"},{\"name\":\"LOGORVAR\",\"followsDelimiter\":\"/\",\"description\":\"Indicator variable for specifying block effects\",\"help\":\"LOGORVAR(*variable*)\",\"type\":\"value\"},{\"name\":\"NESTK\",\"followsDelimiter\":\"/\",\"description\":\"k-nested\",\"type\":\"standalone\"},{\"name\":\"NEST1\",\"followsDelimiter\":\"/\",\"description\":\"1-nested\",\"type\":\"standalone\"},{\"name\":\"ZFULL\",\"followsDelimiter\":\"/\",\"description\":\"Fully specified z-matrix specified in ZDATA= data set\",\"type\":\"standalone\"},{\"name\":\"ZREP\",\"followsDelimiter\":\"/\",\"description\":\"Single cluster specification for replicated z-matrix specified in ZDATA= data set.\",\"help\":\"ZREP&lt;(*matrix*)&gt;\",\"type\":\"standaloneOrValue\"}]},{\"name\":\"MAXITER=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"MAXIT=\"],\"description\":\"Specifies the maximum number of iterations allowed in the iterative GEE estimation process. The default number is 50.\",\"help\":\"MAXITER=*number*\",\"type\":\"value\"},{\"name\":\"MCORRB\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays the estimated regression parameter model-based correlation matrix.\",\"type\":\"standalone\"},{\"name\":\"MCOVB\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays the estimated regression parameter model-based covariance matrix.\",\"type\":\"standalone\"},{\"name\":\"MODELSE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays an analysis of parameter estimates table that uses model-based standard errors for inference.\",\"type\":\"standalone\"},{\"name\":\"SUBCLUSTER=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"SUBCLUST=\"],\"description\":\"Specifies a variable defining subclusters for the 1-nested or k-nested log odds ratio association modeling structures.\",\"help\":\"SUBCLUSTER=*variable*\",\"type\":\"value\"},{\"name\":\"TYPE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"CORR=\"],\"description\":\"Specifies the structure of the working correlation matrix used to model the correlation of the responses from subjects for ordinary GEEs.\",\"help\":\"TYPE=AR | EXCH | IND | MDEP(number) | UNSTR | USER(matrix)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"AR\",\"followsDelimiter\":\"/\",\"description\":\"Autoregressive(1)\",\"type\":\"standalone\"},{\"name\":\"EXCH\",\"followsDelimiter\":\"/\",\"description\":\"Exchangeable\",\"type\":\"standalone\"},{\"name\":\"IND\",\"followsDelimiter\":\"/\",\"description\":\"Independent\",\"type\":\"standalone\"},{\"name\":\"MDEP\",\"followsDelimiter\":\"/\",\"description\":\"m-dependent, where m=number\",\"help\":\"MDEP(number)\",\"type\":\"standalone\"},{\"name\":\"UNSTR\",\"followsDelimiter\":\"/\",\"description\":\"Unstructured\",\"type\":\"standalone\"},{\"name\":\"USER\",\"followsDelimiter\":\"/\",\"description\":\"Syntax: USER(matrix) | FIXED(matrix) Fixed, user-specified correlation matrix\",\"help\":\"USER(matrix)\",\"type\":\"standalone\"}]},{\"name\":\"WITHINSUBJECT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"WITHIN=\"],\"description\":\"Defines an effect specifying the order of measurements within subjects.\",\"type\":\"value\"},{\"name\":\"ZDATA=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies a SAS data set containing either the full z-matrix for log odds ratio association modeling or the z-matrix for a single complete cluster to be replicated for all clusters.\",\"help\":\"ZDATA=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"ZROW=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the variables in the ZDATA= data set corresponding to rows of the z-matrix for log odds ratio association modeling.\",\"help\":\"ZROW=*variable-list*\",\"type\":\"value\"}]},{\"name\":\"WEIGHT\",\"description\":\"The WEIGHT statement identifies a variable in the input data set to be used as the exponential family dispersion parameter weight for each observation. The exponential family dispersion parameter is divided by the WEIGHT variable value for each observation. The WEIGHT variable does not have to be an integer; if the value is less than or equal to 0 or if it is missing, the corresponding observation is not used.\",\"help\":\"WEIGHT variable\"}],\"supportSiteInformation\":{\"docsetId\":\"statug\",\"docsetVersion\":\"latest\",\"docsetTargetFile\":\"statug_gee_toc.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/GENMOD.json",
    "content": "{\"name\":\"GENMOD\",\"statements\":[{\"name\":\"PROC GENMOD\",\"description\":\"The GENMOD procedure fits generalized linear models, as defined by Nelder and Wedderburn (1972). The class of generalized linear models is an extension of traditional linear models that allows the mean of a population to depend on a linear predictor through a nonlinear link function and allows the response probability distribution to be any member of an exponential family of distributions. Many widely used statistical models are generalized linear models. These include classical linear models with normal errors, logistic and probit models for binary data, and log-linear models for multinomial data. Many other useful statistical models can be formulated as generalized linear models by the selection of an appropriate link function and response probability distribution.\",\"help\":\"PROC GENMOD <DATA=SAS-data-set><DESCENDING><NAMELEN=n><ORDER=DATA | FORMATTED | FREQ... ><PLOTS=ALL | COOKSD | DFBETA... ><RORDER=DATA | FORMATTED | FREQ... >;     \\n\\tASSESS <CRPANEL> LINK VAR=(effect) ...;\\n\\n\\tBAYES <COEFFPRIOR=<JEFFREYS | NORMAL | UNIFORM>><DIAGNOSTICS=<ALL | NONE | <(keyword-list)>>><DISPERSIONPRIOR=<GAMMA | IGAMMA | IMPROPER>> ...;\\n\\n\\tBY <DESCENDING><NOTSORTED> ;\\n\\n\\tCLASS <DESCENDING><ORDER=<DATA | FORMATTED | FREQ>... ><TRUNCATE<=n>> ...;\\n\\n\\tCONTRAST <E><SINGULAR=number><WALD> ...;\\n\\n\\tDEVIANCE variable = expression ;\\n\\n\\tEFFECTPLOT BOX CONTOUR FIT ...;\\n\\n\\tELSE <DO><IF><THEN> ...;\\n\\n\\tESTIMATE <ALPHA=number><E><SINGULAR=number> ...;\\n\\n\\tEXACT <ALPHA=number><CLTYPE=<EXACT | MIDP>><ESTIMATE=<PARM | ODDS | BOTH>> ...;\\n\\n\\tEXACTOPTIONS <ABSFCONV=value><ADDTOBS><BUILDSUBSETS> ...;\\n\\n\\tFREQ | FREQUENCY variable;\\n\\n\\tFWDLINK variable = expression ;\\n\\n\\tIF <DO><THEN><WHEN> ...;\\n\\n\\tINVLINK variable = expression ;\\n\\n\\tLSMEANS <ADJDFE=<SOURCE | ROW>><ADJUST=<BON | DUNNETT | NELSON>... ><ALPHA=number> ...;\\n\\n\\tLSMESTIMATE <ADJDFE=<SOURCE | ROW>><ADJUST=<BON | SCHEFFE | SIDAK>... ><ALPHA=number> ...;\\n\\n\\tMODEL <AGGREGATE= (variable-list) | AGGREGATE= variable | AGGREGATE><ALPHA=number><CICONV=number> ...;\\n\\n\\tOUTPUT <DFBETA=><DFBETAS=> OUT=SAS-data-set ...;\\n\\n\\tREPEATED <ALPHAINIT=numbers><CONVERGE=number> SUBJECT=subject-effect ...;\\n\\n\\tSLICE <ADJDFE=<SOURCE | ROW>><ADJUST=<BON | DUNNETT | NELSON>... ><ALPHA=number> ...;\\n\\n\\tSTORE <LABEL='label'> ;\\n\\n\\tSTRATA <MISSING> ;\\n\\n\\tVARIANCE variable = expression ;\\n\\n\\tWEIGHT | SCWGT variable;\\n\\n\\tZEROMODEL <LINK=<CLOGLOG | LOGIT | PROBIT>> ;\\n\",\"arguments\":[{\"name\":\"DATA=\",\"optional\":true,\"description\":\"Specifies the SAS data set containing the data to be analyzed. If you omit the DATA= option, the procedure uses the most recently created SAS data set.\",\"help\":\"DATA=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"DESCENDING\",\"optional\":true,\"aliases\":[\"DESCEND\",\"DESC\"],\"description\":\"Specifies that the levels of the response variable for the ordinal multinomial model and the binomial model with single variable response syntax be sorted in the reverse of the default order.\",\"type\":\"standalone\"},{\"name\":\"NAMELEN=\",\"optional\":true,\"description\":\"Specifies the length of effect names in tables and output data sets to be n characters long, where n is a value between 20 and 200 characters. The default length is 20 characters.\",\"help\":\"NAMELEN=*n*\",\"type\":\"value\"},{\"name\":\"ORDER=\",\"optional\":true,\"description\":\"Specifies the sorting order for the levels of all classification variables (specified in the CLASS statement). This ordering determines which parameters in the model correspond to each level in the data.\",\"help\":\"ORDER=DATA | FORMATTED | FREQ | INTERNAL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DATA\",\"description\":\"Orders values according to their order in the input data set.\",\"type\":\"standalone\"},{\"name\":\"FORMATTED\",\"description\":\"Orders values by their ascending formatted values. This order depends on your operating environment.\",\"type\":\"standalone\"},{\"name\":\"FREQ\",\"description\":\"Orders values by descending frequency count so that levels with the most observations are listed first.\",\"type\":\"standalone\"},{\"name\":\"INTERNAL\",\"description\":\"Orders values by their unformatted values, which yields the same order as PROC SORT. This order depends on your operating environment.\",\"type\":\"standalone\"}]},{\"name\":\"PLOTS=\",\"optional\":true,\"description\":\"Specifies plots to be created using ODS Graphics. Syntax: (1) PLOTS <(global-plot-options)> = plot-request <(options)> (2) PLOTS <(global-plot-options)> = (plot-request <(options)> <...plot-request <(options)> > ) The following global plot options are available: CLUSTERLABEL displays formatted levels of the SUBJECT= effect instead of plot symbols.\",\"help\":\"PLOTS=ALL | COOKSD | DFBETA | DFBETAS | LEVERAGE | PREDICTED&lt;(CLM)&gt; | RESCHI&lt;(options)&gt; | RESDEV&lt;(options)&gt; | RESLIK&lt;(options)&gt; | RESRAW&lt;(options)&gt; | STDRESCHI&lt;(options)&gt; | STDRESDEV&lt;(options)&gt; | CLEVERAGE | CLUSTERCOOKSD | CLUSTERDFIT | DFBETAC | DFBETACS\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ALL\",\"description\":\"Produces all available plots.\",\"type\":\"standalone\"},{\"name\":\"COOKSD\",\"description\":\"Plots the Cook’s distance statistic as a function of observation number.\",\"type\":\"standalone\"},{\"name\":\"DFBETA\",\"description\":\"Plots the β deletion statistic as a function of observation number for each regression parameter in the model.\",\"type\":\"standalone\"},{\"name\":\"DFBETAS\",\"description\":\"Plots the standardized β deletion statistic as a function of observation number for each regression parameter in the model.\",\"type\":\"standalone\"},{\"name\":\"LEVERAGE\",\"description\":\"Plots the leverage as a function of observation number.\",\"type\":\"standalone\"},{\"name\":\"PREDICTED\",\"description\":\"Plots predicted values with confidence limits as a function of observation number. The CLM option includes confidence limits in the predicted value plot.\",\"help\":\"PREDICTED&lt;(CLM)&gt;\",\"type\":\"standalone\"},{\"name\":\"RESCHI\",\"description\":\"Plots Pearson residuals.The RESCHI plot request has the following options: INDEX plots as a function of observation number. XBETA plots as a function of linear predictor.\",\"help\":\"RESCHI&lt;(options)&gt;\",\"type\":\"standalone\"},{\"name\":\"RESDEV\",\"description\":\"Plots deviance residuals. The RESDEV plot request has the following options: INDEX plots as a function of observation number. XBETA plots as a function of linear predictor.\",\"help\":\"RESDEV&lt;(options)&gt;\",\"type\":\"standalone\"},{\"name\":\"RESLIK\",\"description\":\"Plots likelihood residuals. The RESLIK plot request has the following options: INDEX plots as a function of observation number. XBETA plots as a function of linear predictor.\",\"help\":\"RESLIK&lt;(options)&gt;\",\"type\":\"standalone\"},{\"name\":\"RESRAW\",\"description\":\"Plots raw residuals. The RESRAW plot request has the following options: INDEX plots as a function of observation number. XBETA plots as a function of linear predictor.\",\"help\":\"RESRAW&lt;(options)&gt;\",\"type\":\"standalone\"},{\"name\":\"STDRESCHI\",\"description\":\"Plots standardized Pearson residuals. The STDRESCHI plot request has the following options: INDEX plots as a function of observation number. XBETA plots as a function of linear predictor.\",\"help\":\"STDRESCHI&lt;(options)&gt;\",\"type\":\"standalone\"},{\"name\":\"STDRESDEV\",\"description\":\"Plots standardized deviance residuals. The STDRESDEV plot request has the following options: INDEX plots as a function of observation number. XBETA plots as a function of linear predictor.\",\"help\":\"STDRESDEV&lt;(options)&gt;\",\"type\":\"standalone\"},{\"name\":\"CLEVERAGE\",\"description\":\"Plots the cluster leverage as a function of ordered cluster.\",\"type\":\"standalone\"},{\"name\":\"CLUSTERCOOKSD\",\"description\":\"Plots the cluster Cook’s distance statistic as a function of ordered cluster.\",\"type\":\"standalone\"},{\"name\":\"CLUSTERDFIT\",\"description\":\"Plots the studentized cluster Cook’s distance statistic as a function of ordered cluster.\",\"type\":\"standalone\"},{\"name\":\"DFBETAC\",\"description\":\"Plots the cluster deletion statistic as a function of ordered cluster for each regression parameter in the model.\",\"type\":\"standalone\"},{\"name\":\"DFBETACS\",\"description\":\"Plots the standardized cluster deletion statistic as a function of ordered cluster for each regression parameter in the model.\",\"type\":\"standalone\"}]},{\"name\":\"RORDER=\",\"optional\":true,\"description\":\"Specifies the sorting order for the levels of the response variable.\",\"help\":\"RORDER=DATA | FORMATTED | FREQ | INTERNAL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DATA\",\"description\":\"Orders values according to their order in the input data set.\",\"type\":\"standalone\"},{\"name\":\"FORMATTED\",\"description\":\"Orders values by their ascending formatted values. This order depends on your operating environment.\",\"type\":\"standalone\"},{\"name\":\"FREQ\",\"description\":\"Orders values by descending frequency count so that levels with the most observations are listed first.\",\"type\":\"standalone\"},{\"name\":\"INTERNAL\",\"description\":\"Orders values by their unformatted values, which yields the same order as PROC SORT. This order depends on your operating environment.\",\"type\":\"standalone\"}]}]},{\"name\":\"ASSESS\",\"aliases\":[\"ASSESSMENT\"],\"description\":\"The ASSESS statement computes and plots, using ODS Graphics, model-checking statistics based on aggregates of residuals. The types of aggregates available are cumulative residuals, moving sums of residuals, and loess smoothed residuals. If you do not specify which aggregate to use, the assessments are based on cumulative sums. PROC GENMOD uses ODS Graphics for graphical displays. You must specify either LINK or VAR= in order to create an analysis.\",\"help\":\"ASSESS &lt;CRPANEL&gt; LINK VAR=(effect) ...\",\"arguments\":[{\"name\":\"LINK\",\"description\":\"Requests the assessment of the link function by performing the analysis with respect to the linear predictor.\",\"type\":\"standalone\"},{\"name\":\"VAR=\",\"description\":\"Specifies that the functional form of a covariate be checked by performing the analysis with respect to the variable identified by the effect. The effect must be specified in the MODEL statement and must contain only continuous variables variables not listed in a CLASS statement).\",\"type\":\"value\"},{\"name\":\"CRPANEL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that a plot with four panels showing just a few of the paths from the default aggregate plot to make it easier to compare simulated and observed paths.\",\"type\":\"standalone\"},{\"name\":\"LOESS\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"LOWESS\"],\"description\":\"Requests model assessment based on loess smoothed residuals with optional number the fraction of data used; number must be between zero and one.\",\"type\":\"standalone\"},{\"name\":\"NPATHS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"NPATH=\",\"PATHS=\",\"PATH=\"],\"description\":\"Specifies the number of simulated paths to plot in the default aggregate residuals plot. The default value of number is 20.\",\"help\":\"NPATHS=*number*\",\"type\":\"value\"},{\"name\":\"RESAMPLE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"RESAMPLES=\"],\"description\":\"Specifies that a p-value be computed based on 1,000 simulated paths, or number paths, if number is specified.\",\"type\":\"value\"},{\"name\":\"SEED=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies a seed (number) for the normal random number generator used in creating simulated realizations of aggregates of residuals for plots and estimating p-values. Specifying a seed enables you to produce identical graphs and p-values from one run of the procedure to the next run. If a seed is not specified, or if number is negative or zero, a random number seed is derived from the time of day.\",\"type\":\"value\"},{\"name\":\"WINDOW\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests assessment based on a moving sum window of width number. If number is not specified, a value of one-half of the range of the x-coordinate is used.\",\"type\":\"standalone\"}]},{\"name\":\"BAYES\",\"description\":\"The BAYES statement requests a Bayesian analysis of the regression model by using Gibbs sampling. The Bayesian posterior samples (also known as the chain) for the regression parameters are not tabulated. The Bayesian posterior samples (also known as the chain) for the regression parameters can be output to a SAS data set.\",\"help\":\"BAYES &lt;COEFFPRIOR=&lt;JEFFREYS | NORMAL | UNIFORM&gt;&gt;&lt;DIAGNOSTICS=&lt;ALL | NONE | &lt;(keyword-list)&gt;&gt;&gt;&lt;DISPERSIONPRIOR=&lt;GAMMA | IGAMMA | IMPROPER&gt;&gt; ...\",\"arguments\":[{\"name\":\"COEFFPRIOR=\",\"optional\":true,\"aliases\":[\"COEFF=\",\"CPRIOR=\"],\"description\":\"Specifies the prior distribution for the regression coefficients.\",\"help\":\"COEFFPRIOR=JEFFREYS | NORMAL | UNIFORM\",\"type\":\"choice\",\"arguments\":[{\"name\":\"JEFFREYS\",\"description\":\"Syntax: JEFFREYS<(option)> Jeffreys’ prior is specified by COEFFPRIOR=JEFFREYS, which can be followed by the following option in parentheses: CONDITIONAL specifies that the Jeffreys’ prior, conditional on the current Markov chain value of the generalized linear model precision parameter τ, is proportional to |tauI(β)|^(1/2).\",\"type\":\"standalone\"},{\"name\":\"NORMAL\",\"description\":\"Syntax: NORMAL<(options)> The normal prior is specified by COEFFPRIOR=NORMAL, which can be followed by one of the following options enclosed in parentheses: CONDITIONAL specifies that the normal prior, conditional on the current Markov chain value of the generalized linear model precision parameter τ, is N(µ,τ⁻¹Z), where µ and Z are the mean and covariance of the normal prior specified by other normal options. INPUT=SAS-data-set specifies a SAS data set containing the mean and covariance information of the normal prior. The data set must have a _TYPE_ variable to represent the type of each observation and a variable for each regression coefficient. RELVAR<=c> Specifies the normal prior N(0, cJ), where J is a diagonal matrix with diagonal elements equal to the variances of the corresponding ML estimator. By default, C=10⁶. VAR<=c> Specifies the normal prior N(0,cI), where I is the identity matrix.\",\"type\":\"standalone\"},{\"name\":\"UNIFORM\",\"description\":\"Specifies the noninformative and improper prior of a constant.\",\"type\":\"standalone\"}]},{\"name\":\"DIAGNOSTICS=\",\"optional\":true,\"description\":\"Controls the number of diagnostics produced.\",\"help\":\"DIAGNOSTICS=ALL | NONE | &lt;(keyword-list)&gt;\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ALL\",\"description\":\"Requests all diagnostics\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"Requests no diagnostics\",\"type\":\"standalone\"},{\"name\":\"<(keyword-list)>\",\"description\":\"If you want some but not all of the diagnostics, or if you want to change certain settings of these diagnostics, specify a subset of the following keywords: AUTOCORR<(LAGS= numeric-list)> -- Computes the autocorrelations of lags given by LAGS= list for each parameter. ESS -- Computes Carlin’s estimate of the effective sample size, the correlation time, and the efficiency of the chain for each parameter. GELMAN<(gelman-options)> -- Computes the Gelman and Rubin convergence diagnostics, with the following gelman-options: NCHAIN | N=number -- Specifies the number of parallel chains used to compute the diagnostic, and must be ≥ 2. Default: NCHAIN=3. ALPHA=value -- Specifies the significance level for the upper bound. The default is ALPHA=0.05, resulting in a 97.5% bound. GEWEKE<(geweke-options)>-- Computes the Geweke spectral density diagnostics, which are essentially a two-sample t test between the first f1 portion and the last f2 portion of the chain. The default is f1=0.1 and f2=0.5. The geweke-options are: FRAC1=value -- Specifies the fraction f1 for the first window. FRAC2=value -- Specifies the fraction f2 for the second window. HEIDELBERGER<(heidel-options)> -- Computes the Heidelberger and Welch diagnostic for each variable. The heidel-options are: SALPHA=value -- Specifies the α level for the stationarity test. HALPHA=value -- Specifies the α level for the halfwidth test. EPS=value -- Specifies a positive number ε such that if the halfwidth is less than ε times the sample mean of the retained iterates, the halfwidth test is passed. MCERROR | MCSE --Computes an estimate of the Monte Carlo standard error for each parameter. RAFTERY<(raftery-options)> -- Computes Raftery and Lewis diagnostics that evaluate accuracy of the estimated quantile of a chain. raftery-options are: QUANTILE= | Q=value -- Specifies the order (a value between 0 and 1) of the quantile of interest. The default is 0.025. ACCURACY= | R=value -- Specifies a small positive number as the margin of error for measuring the accuracy of estimation of the quantile. The default is 0.005. PROBABILITY= | S=value -- Specifies the probability of attaining the accuracy of the estimation of the quantile. The default is 0.95. EPSILON= | EPS=value -- Specifies the tolerance level (a small positive number) for the stationary test. The default is 0.001.\",\"type\":\"standalone\"}]},{\"name\":\"DISPERSIONPRIOR=\",\"optional\":true,\"aliases\":[\"DPRIOR=\"],\"description\":\"Specifies that Gibbs sampling be performed on the generalized linear model dispersion parameter and the prior distribution for the dispersion parameter, if there is a dispersion parameter in the model.\",\"help\":\"DISPERSIONPRIOR=GAMMA | IGAMMA | IMPROPER\",\"type\":\"choice\",\"arguments\":[{\"name\":\"GAMMA\",\"description\":\"Syntax: GAMMA<(options)> Specifies that Gibbs sampling be performed on the generalized linear model dispersion parameter and the gamma prior distribution for the dispersion parameter, if one exists in the model. A gamma prior G(a,b) is specified by DISPERSIONPRIOR=GAMMA, which can be followed by one of the following gamma-options enclosed in parentheses: RELSHAPE<=c> specifies independent G(c Φ-hat,c) distribution, where Φ-hat is the MLE of the dispersion parameter. With this choice of hyperparameters, the mean of the prior distribution is Φ-hat and the variance is Φ-hat/c. By default, c=10⁻⁴. SHAPE=α and ISCALE=b specify the G(a,b) prior. SHAPE=c specifies the G(c,c) prior. ISCALE=c specifies the G(c,c) prior.\",\"type\":\"standalone\"},{\"name\":\"IGAMMA\",\"description\":\"Syntax: IGAMMA<(options)> Specifies that Gibbs sampling be performed on the generalized linear model dispersion parameter and the inverse gamma prior distribution for the dispersion parameter, if one exists in the model. An inverse gamma prior IG(a,b) is specified by DISPERSIONPRIOR=IGAMMA, which can be followed by one of the following inverse gamma-options enclosed in parentheses. The hyperparameters a and b are the shape and scale parameters of the inverse gamma distribution, respectively. The default is IG(2.001,0.001). RELSHAPE<=c> specifies independent IG((c+Φ-hat)/Φ-hat,c) distribution, where p-hat is the MLE of the dispersion parameter. With this choice of hyperparameters, the mean of the prior distribution is Φ-hat. By default, c=10⁻⁴. SHAPE=α and SCALE=b specify the IG(a,b) prior. SHAPE=c specifies the IG(c,c) prior. SCALE=c specifies the IG(c,c) prior.\",\"type\":\"standalone\"},{\"name\":\"IMPROPER\",\"description\":\"Specifies that Gibbs sampling be performed on the generalized linear model dispersion parameter and the improper prior distribution for the dispersion parameter, if one exists in the model.\",\"type\":\"standalone\"}]},{\"name\":\"INITIAL=\",\"optional\":true,\"description\":\"Specifies the SAS data set that contains the initial values of the Markov chains. The INITIAL= data set must contain all the variables of the model. You can specify multiple rows as the initial values of the parallel chains for the Gelman-Rubin statistics, but posterior summaries, diagnostics, and plots are computed only for the first chain. If the data set also contains the variable _SEED_, the value of the _SEED_ variable is used as the seed of the random number generator for the corresponding chain.\",\"help\":\"INITIAL=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"INITIALMLE\",\"optional\":true,\"description\":\"Specifies that maximum likelihood estimates of the model parameters be used as initial values of the Markov chain. If this option is not specified, estimates of the mode of the posterior distribution obtained by optimization are used as initial values.\",\"type\":\"standalone\"},{\"name\":\"METROPOLIS=\",\"optional\":true,\"description\":\"Specifies whether to use a Metropolis step to generate Gibbs samples for posterior distributions that are not log concave. The default value is METROPOLIS=YES.\",\"help\":\"METROPOLIS=YES | NO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YES\",\"description\":\"Specifies to use a Metropolis step to generate Gibbs samples for posterior distributions that are not log concave.\",\"type\":\"standalone\"},{\"name\":\"NO\",\"description\":\"Specifies not to use a Metropolis step to generate Gibbs samples for posterior distributions that are not log concave.\",\"type\":\"standalone\"}]},{\"name\":\"NBI=\",\"optional\":true,\"description\":\"Specifies the number of burn-in iterations before the chains are saved. The default is 2000.\",\"help\":\"NBI=*number*\",\"type\":\"value\"},{\"name\":\"NMC=\",\"optional\":true,\"description\":\"Specifies the number of iterations after the burn-in. The default is 10000.\",\"help\":\"NMC=*number*\",\"type\":\"value\"},{\"name\":\"OUTPOST=\",\"optional\":true,\"aliases\":[\"OUT=\"],\"description\":\"Names the SAS data set that contains the posterior samples.\",\"help\":\"OUTPOST=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"PLOTS=\",\"optional\":true,\"description\":\"Controls the display of diagnostic plots. Syntax: (1) PLOTS<(global-plot-options)>= plot-request (2) PLOTS<(global-plot-options)>= (plot-request < ...plot-request>) The global plot options are as follows: FRINGE creates a fringe plot on the X axis of the density plot. GROUPBY=TYPE | PARAMETER specifies that the plots be grouped by type or parameter. LAGS=n specifies that autocorrelations be plotted up to lag n. If this option is not specified, autocorrelations are plotted up to lag 50. SMOOTH displays a fitted penalized β-spline curve for each trace plot. UNPACKPANEL | UNPACK specifies that all paneled plots be unpacked, meaning that each plot in a panel is displayed separately. The plot requests include the following: ALL specifies all types of plots. PLOTS=ALL is equivalent to specifying PLOTS=(TRACE AUTOCORR DENSITY). AUTOCORR displays the autocorrelation function plots for the parameters. DENSITY displays the kernel density plots for the parameters. NONE suppresses all diagnostic plots.\",\"help\":\"PLOTS=ALL | AUTOCORR | DENSITY | NONE | TRACE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ALL\",\"description\":\"Specifies all types of plots.\",\"type\":\"standalone\"},{\"name\":\"AUTOCORR\",\"description\":\"Displays the autocorrelation function plots for the parameters.\",\"type\":\"standalone\"},{\"name\":\"DENSITY\",\"description\":\"Displays the kernel density plots for the parameters.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"Suppresses all diagnostic plots.\",\"type\":\"standalone\"},{\"name\":\"TRACE\",\"description\":\"Displays the trace plots for the parameters.\",\"type\":\"standalone\"}]},{\"name\":\"PRECISIONPRIOR=\",\"optional\":true,\"aliases\":[\"PPRIOR=\"],\"description\":\"Specifies that Gibbs sampling be performed on the generalized linear model precision parameter and the prior distribution for the precision parameter, if there is a precision parameter in the model.\",\"help\":\"PRECISIONPRIOR=GAMMA | IMPROPER\",\"type\":\"choice\",\"arguments\":[{\"name\":\"GAMMA\",\"description\":\"Syntax: GAMMA<(options)> Specifies that Gibbs sampling be performed on the generalized linear model precision parameter and the gamma prior distribution for the precision parameter, if one exists in the model. A gamma prior G(a,b) is specified by DISPERSIONPRIOR=GAMMA, which can be followed by one of the following gamma-options enclosed in parentheses: RELSHAPE<=c> specifies independent G(c τ-hat,c) distribution, where τ-hat is the MLE of the dispersion parameter. With this choice of hyperparameters, the mean of the prior distribution is τ-hat and the variance is τ-hat/c. By default, c=10⁻⁴. SHAPE=α and ISCALE=b specify the G(a,b) prior. SHAPE=c specifies the G(c,c) prior. ISCALE=c specifies the G(c,c) prior.\",\"type\":\"standalone\"},{\"name\":\"IMPROPER\",\"description\":\"Specifies that Gibbs sampling be performed on the generalized linear model precision parameter and the improper prior distribution for the precision parameter, if one exists in the model.\",\"type\":\"standalone\"}]},{\"name\":\"SCALEPRIOR=\",\"optional\":true,\"description\":\"Specifies that Gibbs sampling be performed on the generalized linear model scale parameter and the prior distribution for the scale parameter, if there is a precision parameter in the model.\",\"help\":\"SCALEPRIOR=GAMMA | IMPROPER\",\"type\":\"choice\",\"arguments\":[{\"name\":\"GAMMA\",\"description\":\"Syntax: GAMMA<(options)> Specifies that Gibbs sampling be performed on the generalized linear model scale parameter and the gamma prior distribution for the scale parameter, if one exists in the model. A gamma prior G(a,b) is specified by DISPERSIONPRIOR=GAMMA, which can be followed by one of the following gamma-options enclosed in parentheses: RELSHAPE<=c> specifies independent G(c σ-hat,c) distribution, where σ-hat is the MLE of the dispersion parameter. With this choice of hyperparameters, the mean of the prior distribution is σ-hat and the variance is σ-hat/c. By default, c=10⁻⁴. SHAPE=α and ISCALE=b specify the G(a,b) prior. SHAPE=c specifies the G(c,c) prior. ISCALE=c specifies the G(c,c) prior.\",\"type\":\"standalone\"},{\"name\":\"IMPROPER\",\"description\":\"Specifies that Gibbs sampling be performed on the generalized linear model scale parameter and the improper prior distribution for the scale parameter, if one exists in the model.\",\"type\":\"standalone\"}]},{\"name\":\"SEED=\",\"optional\":true,\"description\":\"Specifies an integer seed in the range 1 to 2³¹-1 for the random number generator in the simulation.\",\"help\":\"SEED=*number*\",\"type\":\"value\"},{\"name\":\"STATISTICS=\",\"optional\":true,\"aliases\":[\"STATS=\"],\"description\":\"The global-options include the following: ALPHA=numeric-list controls the probabilities of the credible intervals. The ALPHA= values must be between 0 and 1.\",\"help\":\"STATISTICS=ALL | NONE | CORR | COV | SUMMARY | INTERVAL | (CORR COV SUMMARY INTERVAL)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ALL\",\"description\":\"Requests all posterior statistics. Equivalent to specifying STATISTICS=(CORR COV SUMMARY INTERVAL).\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"Requests no posterior statistics\",\"type\":\"standalone\"},{\"name\":\"CORR\",\"description\":\"Requests the posterior correlation matrix.\",\"type\":\"standalone\"},{\"name\":\"COV\",\"description\":\"Requests the posterior covariance matrix.\",\"type\":\"standalone\"},{\"name\":\"SUMMARY\",\"description\":\"Requests the means, standard deviations, and percentile points for the posterior samples. The default is to produce the 25th, 50th, and 75th percentile points, but you can use the global PERCENT= option to request specific percentile points.\",\"type\":\"standalone\"},{\"name\":\"INTERVAL\",\"description\":\"Requests equal-tail credible intervals and HPD intervals. The defult is to produce the 95% equal-tail credible intervals and 95% HPD intervals, but you can use the global ALPHA= option to request intervals of any probabilities.\",\"type\":\"standalone\"},{\"name\":\"(CORR COV SUMMARY INTERVAL)\",\"description\":\"If you want some but not all of the posterior statistics, specify a subset of the following keywords: CORR COV SUMMARY INTERVAL\",\"type\":\"standalone\"}]},{\"name\":\"THINNING=\",\"optional\":true,\"aliases\":[\"THIN=\"],\"description\":\"Controls the thinning of the Markov chain.\",\"help\":\"THINNING=*number*\",\"type\":\"value\"}]},{\"name\":\"BY\",\"description\":\"You can specify a BY statement with PROC GENMOD to obtain separate analyses on observations in groups defined by the BY variables. When a BY statement appears, the procedure expects the input data set to be sorted in order of the BY variables.\",\"help\":\"BY &lt;DESCENDING&gt;&lt;NOTSORTED&gt;\",\"arguments\":[{\"name\":\"DESCENDING\",\"optional\":true,\"description\":\"Specifies that the observations are sorted in descending order by the variable that immediately follows the word DESCENDING in the BY statement.\",\"type\":\"standalone\"},{\"name\":\"NOTSORTED\",\"optional\":true,\"description\":\"Specifies that observations are not necessarily sorted in alphabetic or numeric order.\",\"type\":\"standalone\"}]},{\"name\":\"CLASS\",\"description\":\"The CLASS statement names the classification variables to be used in the analysis. The CLASS statement must precede the MODEL statement. You can specify various v-options for each variable by enclosing them in parentheses after the variable name. You can also specify global v-options for the CLASS statement by placing them after a slash (/). Global v-options are applied to all the variables specified in the CLASS statement. If you specify more than one CLASS statement, the global v-options specified in any one CLASS statement apply to all CLASS statements. However, individual CLASS variable v-options override the global v-options.\",\"help\":\"CLASS &lt;DESCENDING&gt;&lt;ORDER=&lt;DATA | FORMATTED | FREQ&gt;... &gt;&lt;TRUNCATE&lt;=n&gt;&gt; ...\",\"arguments\":[{\"name\":\"DESCENDING\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"DESC\"],\"description\":\"Reverses the sorting order of the classification variable.\",\"type\":\"standalone\"},{\"name\":\"MISSING\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Allows missing value (’.’ for a numeric variable and blank for a character variable) as a valid value for the CLASS variable.\",\"type\":\"standalone\"},{\"name\":\"ORDER=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the sorting order for the levels of classification variables.\",\"help\":\"ORDER=DATA | FORMATTED | FREQ | INTERNAL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DATA\",\"followsDelimiter\":\"/\",\"description\":\"Orders values according to their order in the input data set.\",\"type\":\"standalone\"},{\"name\":\"FORMATTED\",\"followsDelimiter\":\"/\",\"description\":\"Orders values by their ascending formatted values. This order depends on your operating environment.\",\"type\":\"standalone\"},{\"name\":\"FREQ\",\"followsDelimiter\":\"/\",\"description\":\"Orders values by descending frequency count so that levels with the most observations are listed first.\",\"type\":\"standalone\"},{\"name\":\"INTERNAL\",\"followsDelimiter\":\"/\",\"description\":\"Orders values by their unformatted values, which yields the same order as PROC SORT. This order depends on your operating environment.\",\"type\":\"standalone\"}]},{\"name\":\"PARAM=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the parameterization method for the classification variable or variables.\",\"help\":\"PARAM=EFFECT | GLM | ORDINAL | POLYNOMIAL | REFERENCE | ORTHEFFECT | ORTHORDINAL | ORTHPOLY | ORTHREF\",\"type\":\"choice\",\"arguments\":[{\"name\":\"EFFECT\",\"followsDelimiter\":\"/\",\"description\":\"Specifies effect coding.\",\"type\":\"standalone\"},{\"name\":\"GLM\",\"followsDelimiter\":\"/\",\"description\":\"Specifies less-than-full-rank, reference-cell coding; this option can be used only as a global option.\",\"type\":\"standalone\"},{\"name\":\"ORDINAL\",\"followsDelimiter\":\"/\",\"aliases\":[\"THERMOMETER\"],\"description\":\"Specifies the cumulative parameterization for an ordinal CLASS variable.\",\"type\":\"standalone\"},{\"name\":\"POLYNOMIAL\",\"followsDelimiter\":\"/\",\"aliases\":[\"POLY\"],\"description\":\"Specifies polynomial coding.\",\"type\":\"standalone\"},{\"name\":\"REFERENCE\",\"followsDelimiter\":\"/\",\"aliases\":[\"REF\"],\"description\":\"Specifies reference-cell coding.\",\"type\":\"standalone\"},{\"name\":\"ORTHEFFECT\",\"followsDelimiter\":\"/\",\"description\":\"Orthogonalizes PARAM=EFFECT.\",\"type\":\"standalone\"},{\"name\":\"ORTHORDINAL\",\"followsDelimiter\":\"/\",\"aliases\":[\"ORTHOTHERM\"],\"description\":\"Orthogonalizes PARAM=ORDINAL.\",\"type\":\"standalone\"},{\"name\":\"ORTHPOLY\",\"followsDelimiter\":\"/\",\"description\":\"Orthogonalizes PARAM=POLYNOMIAL.\",\"type\":\"standalone\"},{\"name\":\"ORTHREF\",\"followsDelimiter\":\"/\",\"description\":\"Orthogonalizes PARAM=REFERENCE.\",\"type\":\"standalone\"}]},{\"name\":\"REF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the reference level for PARAM=EFFECT, PARAM=REFERENCE, and their orthogonalizations.\",\"help\":\"REF=&lt;*level*&gt; | FIRST | LAST\",\"type\":\"choice\",\"arguments\":[{\"name\":\"level\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the level of the variable to use as the reference level. Replace <level> with an actual value.\",\"type\":\"value\"},{\"name\":\"FIRST\",\"followsDelimiter\":\"/\",\"description\":\"Designates the first ordered level as reference.\",\"type\":\"standalone\"},{\"name\":\"LAST\",\"followsDelimiter\":\"/\",\"description\":\"Designates the last ordered level as reference.\",\"type\":\"standalone\"}]},{\"name\":\"TRUNCATE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the length n of CLASS variable values to use in determining CLASS variable levels. If you specify TRUNCATE without the length n, the first 16 characters of the formatted values are used.\",\"type\":\"value\"}]},{\"name\":\"CONTRAST\",\"description\":\"The CONTRAST statement provides a means of obtaining a test of a specified hypothesis concerning the model parameters. This is accomplished by specifying a matrix L for testing the hypothesis L'β=0. You must be familiar with the details of the model parameterization that PROC GENMOD uses. There is no limit to the number of CONTRAST statements that you can specify, but they must appear after the MODEL statement and after the ZEROMODEL statement for zero-inflated Poisson models. Statistics for multiple CONTRAST statements are displayed in a single table. The elements of the CONTRAST statement are as follows: label identifies the contrast on the output. A label is required for every contrast specified. Labels can be up to 20 characters and must be enclosed in single quotes. contrast-specification identifies the effects and their coefficients from which the L matrix is formed. The contrast-specification can be specified in two different ways. The first method applies to all models except the zero-inflated Poisson (ZIP) distribution, and the syntax is: effect values <,...effect values> The second method of specifying a contrast applies only to ZIP models, and the syntax is: effect values <,...effect values> @zero effect values <,...effect values>\",\"help\":\"CONTRAST &lt;E&gt;&lt;SINGULAR=number&gt;&lt;WALD&gt; ...\",\"arguments\":[{\"name\":\"E\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that the L matrix be displayed.\",\"type\":\"standalone\"},{\"name\":\"SINGULAR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"EPSILON=\"],\"description\":\"Tunes the estimability checking.\",\"help\":\"SINGULAR=*number*\",\"type\":\"value\"},{\"name\":\"WALD\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that a Wald chi-square statistic be computed for the contrast rather than the default likelihood ratio or score statistic.\",\"type\":\"standalone\"}]},{\"name\":\"DEVIANCE\",\"description\":\"You can specify a probability distribution other than those available in PROC GENMOD by using the DEVIANCE and VARIANCE statements. You do not need to specify the DEVIANCE or VARIANCE statement if you use the DIST= MODEL statement option to specify a probability distribution. The variable identifies the deviance contribution from a single observation to the procedure, and it must be a valid SAS variable name that does not appear in the input data set. The expression can be any arithmetic expression supported by the DATA step language, and it is used to define the functional dependence of the deviance on the mean and the response. You use the automatic variables _MEAN_ and _RESP_ to represent the mean and response in the expression. Alternatively, the deviance function can be defined using programming statements and assigned to a variable, which is then listed as the expression. This form is convenient for using complex statements such as IF-THEN/ELSE clauses. The DEVIANCE statement is ignored unless the VARIANCE statement is also specified.\",\"help\":\"DEVIANCE variable = expression \"},{\"name\":\"EFFECTPLOT\",\"description\":\"The EFFECTPLOT statement produces a display of the fitted model and provides options for changing and enhancing the displays.\",\"help\":\"EFFECTPLOT BOX CONTOUR FIT ...\",\"arguments\":[{\"name\":\"BOX=\",\"description\":\"Displays a box plot of continuous response data at each level of a CLASS effect, with predicted values superimposed and connected by a line. This is an alternative to the INTERACTION plot-type.\",\"help\":\"BOX=PLOTBY= | X=\",\"type\":\"choice\",\"arguments\":[{\"name\":\"PLOTBY=\",\"type\":\"value\"},{\"name\":\"X=\",\"type\":\"value\"}]},{\"name\":\"CONTOUR=\",\"description\":\"Displays a contour plot of predicted values against two continuous covariates.\",\"help\":\"CONTOUR=PLOTBY= | X= | Y=\",\"type\":\"choice\",\"arguments\":[{\"name\":\"PLOTBY=\",\"type\":\"value\"},{\"name\":\"X=\",\"type\":\"value\"},{\"name\":\"Y=\",\"type\":\"value\"}]},{\"name\":\"FIT=\",\"description\":\"Displays a curve of predicted values versus a continuous variable.\",\"help\":\"FIT=PLOTBY= | X=\",\"type\":\"choice\",\"arguments\":[{\"name\":\"PLOTBY=\",\"type\":\"value\"},{\"name\":\"X=\",\"type\":\"value\"}]},{\"name\":\"INTERACTION=\",\"description\":\"Displays a curve of predicted values versus a continuous variable grouped by the levels of a CLASS effect.\",\"help\":\"INTERACTION=PLOTBY= | SLICEBY= | X=\",\"type\":\"choice\",\"arguments\":[{\"name\":\"PLOTBY=\",\"type\":\"value\"},{\"name\":\"SLICEBY=\",\"type\":\"value\"},{\"name\":\"X=\",\"type\":\"value\"}]},{\"name\":\"SLICEFIT=\",\"description\":\"\",\"help\":\"SLICEFIT=PLOTBY= | SLICEBY= | X=\",\"type\":\"choice\",\"arguments\":[{\"name\":\"PLOTBY=\",\"type\":\"value\"},{\"name\":\"SLICEBY=\",\"type\":\"value\"},{\"name\":\"X=\",\"type\":\"value\"}]},{\"name\":\"ALPHA=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the significance level, 0 ≥ value ≥ 1, for producing 100(1-value/2)% prediction and confidence limits. By default, value=0.05.\",\"help\":\"ALPHA=*value*\",\"type\":\"value\"},{\"name\":\"AT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"where contopt= MEAN | MIN | MAX | MIDRANGE classopt= ALL | REF varopt= contopts | number-list | classopts | ’class-level’...’class-level’]\",\"type\":\"standalone\"},{\"name\":\"ATLEN=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the maximum length (1 < n < 256) of the levels of the AT variables that are displayed in footnotes and headers. By default, up to 256 characters of the CLASS levels are displayed, and the continuous AT levels are displayed with a BEST format that has a width greater than or equal to 5, which distinguishes each level. Caution:If the levels of your AT variables are not unique when the first n characters are displayed, then the levels are combined in the plots but not in the underlying computations. Also, at most n characters for continuous AT variables are displayed.\",\"help\":\"ATLEN=*n*\",\"type\":\"value\"},{\"name\":\"ATORDER=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Uses the AT values for continuous variables in ascending or descending order as specified. By default, values are used in the order of their first appearance in the AT option.\",\"help\":\"ATORDER=ASCENDING | DESCENDING\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ASCENDING\",\"followsDelimiter\":\"/\",\"description\":\"Uses the AT values for continuous variables in ascending order\",\"type\":\"standalone\"},{\"name\":\"DESCENDING\",\"followsDelimiter\":\"/\",\"description\":\"Uses the AT values for continuous variables in descending order\",\"type\":\"standalone\"}]},{\"name\":\"CLI\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays normal (Wald) prediction limits. This option is available only for normal distributions with identity links. If your model is from a Bayesian analysis, then sampling-based intervals are computed.\",\"type\":\"standalone\"},{\"name\":\"CLM\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays confidence limits. These are computed as the normal (Wald) confidence limits for the linear predictor, and if the ILINK option is specified, the limits are also back-transformed by the inverse link function. If your model is from a Bayesian analysis, then sampling-based intervals are computed.\",\"type\":\"standalone\"},{\"name\":\"CLUSTER\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Modifies the BOX and INTERACTION plot-types by displaying the levels of the SLICEBY= effect in a side-by-side fashion. You can specify percent as a percentage of half the distance between X levels. The percent value must be between 0.1 and 1; the default percent depends on the number of X levels, the number of SLICEBY levels, and the number of PLOTBY levels for INTERACTION plot-types. Default clustering can be removed by specifying the NOCLUSTER option.\",\"type\":\"standalone\"},{\"name\":\"CONNECT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Modifies the BOX and INTERACTION plot-types by connecting the predicted values with a line. Default connecting lines can be removed by specifying the NOCONNECT option.\",\"type\":\"standalone\"},{\"name\":\"EXTEND=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Extends continuous covariate axes by value x ½range in both directions, where range is the range of the X axis.\",\"help\":\"EXTEND=DATA | &lt;*value*&gt;\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DATA\",\"followsDelimiter\":\"/\",\"description\":\"Displays curves to the range of the data within the appropriate SLICEBY=, PLOTBY=, and AT level.\",\"type\":\"standalone\"},{\"name\":\"value\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"Replace <value> with an actual value.\",\"type\":\"value\"}]},{\"name\":\"GRIDSIZE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the resolution of curves by computing the predicted values at n equally spaced x-values and specifies the resolution of surfaces by computing the predicted values on an nxn grid of points. Default values are n=200 for curves and bands, n=50 for surfaces, and n=2 for lines. If results of a Bayesian or bootstrap analysis are being displayed, then the defaults are n=500000/B, where B is the number of samples, the upper limit is equal to the usual defaults, and the lower limit equal to 20.\",\"help\":\"GRIDSIZE=*n*\",\"type\":\"value\"},{\"name\":\"ILINK\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays the fit on the scale of the inverse link function. In particular, the results are displayed on the probability scale for logistic regression. By default, a procedure displays the fit on either the link or inverse link scale.\",\"type\":\"standalone\"},{\"name\":\"INDIVIDUAL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays individual probabilities for polytomous response models with cumulative links on the scale of the inverse link function. This option is not available when the LINK option is specified, and confidence limits are not available with this option.\",\"type\":\"standalone\"},{\"name\":\"LIMITS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Invokes the CLI and CLM options.\",\"type\":\"standalone\"},{\"name\":\"LINK\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays the fit on the scale of the link function; that is, the linear predictor. Note that probabilities or observed proportions near 0 and 1 are transformed to . By default, a procedure displays the fit on either the link or inverse link scale.\",\"type\":\"standalone\"},{\"name\":\"MOFF\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Moves the offset for a Poisson regression model to the response side of the equation. If the ILINK option is also in effect, then the rate is displayed on the Y axis, while the LINK option displays the log of the rate on the Y axis. Without this option, the predicted values are computed and displayed only for the observations.\",\"type\":\"standalone\"},{\"name\":\"NCOLS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the maximum number of columns in a paneled plot. This option is not available with the BOX plot-type. The default choice of NROWS= and NCOLS= is based on the number of PLOTBY= and AT levels. If there is only one plot being displayed in a panel, then NROWS=1 and NCOLS=1 and the plots are produced as if you specified only the UNPACK option. If only two plots are displayed in a panel, then NROWS=1 and NCOLS=2. For all other cases, a 2x2, 2x3, or 3x3 panel is chosen based on how much of the last panel is used, with ties going to the larger panels. For example, if 14 plots are being created, then this requires either four 2x2 panels with 50% of the last panel filled, three 2x3 panels with 33% of the last panel filled, or two 3x3 panels with 55% of the last panel filled; in this case, the 3x3 panels are chosen.\",\"help\":\"NCOLS=*n*\",\"type\":\"value\"},{\"name\":\"NOCLI\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Suppresses the prediction limits.\",\"type\":\"standalone\"},{\"name\":\"NOCLM\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Suppresses the confidence limits.\",\"type\":\"standalone\"},{\"name\":\"NOLIMITS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Invokes the NOCLI and NOCLM options.\",\"type\":\"standalone\"},{\"name\":\"NOOBS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Suppresses the display of observations and overrides the specification of the OBS= option.\",\"type\":\"standalone\"},{\"name\":\"NROWS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the maximum number of rows in a paneled plot. This option is not available with the BOX plot-type. See the NCOLS= option for more details.\",\"help\":\"NROWS=*n*\",\"type\":\"value\"},{\"name\":\"OBS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays observations on the effect plots. An input data set is required; hence the OBS option is not available with PROC PLM. The OBS option is overridden by the NOOBS option. When the ILINK option is specified with binary response variables, then either the observed proportions or a coded value of the response is displayed. For polytomous response variables, the observed values are overlaid onto the fitted curves unless the LOCATION= option is specified. Whether observations are displayed by default or not depends upon the procedure. If the PLOTBY= option is specified, then the observations displayed on each plot are from the corresponding PLOTBY= level for classification effects; for continuous effects, all observations are displayed on every plot. The following options are available: BYAT -- subsets the observations by AT level and by the PLOTBY= level. CDISPLAY=NONE | OUTLINE | GRADIENT | OUTLINEGRADIENT controls the display of observations on contour plots. CGRADIENT=RESIDUAL | DEPENDENT specifies what the gradient-shading of the observed values on the CONTOUR plot-type represents. DEPTH=depth (you can specify 1 ≤ depth ≤ 100. By default, DEPTH=1) specifies the number of overlapping observations that can be distinguished by adjusting their transparency. DISTANCE displays observations on FIT plot-types with a color-gradient that indicates how far the observation is from the AT and PLOTBY= level. FITATCLASS -- computes fitted values only for class levels that are observed in the data set. FRINGE -- displays observations in a fringe (rug) plot at the bottom of the plot. JITTER<(FACTOR=factor SEED=seed X=x-jitter Y=y-jitter)> -- shifts (jitters) the observations. LABEL<=OBS> -- labels markers with their observation number.\",\"help\":\"OBS=BYAT | CDISPLAY= | CGRADIENT= | DEPTH= | DISTANCE | FITATCLASS | FRINGE | JITTER | FACTOR= | SEED= | X= | Y= | LABEL | LABEL= | LOCATION=\",\"type\":\"choice\",\"arguments\":[{\"name\":\"BYAT\",\"type\":\"standalone\"},{\"name\":\"CDISPLAY=\",\"type\":\"value\"},{\"name\":\"CGRADIENT=\",\"type\":\"value\"},{\"name\":\"DEPTH=\",\"type\":\"value\"},{\"name\":\"DISTANCE\",\"type\":\"standalone\"},{\"name\":\"FITATCLASS\",\"type\":\"standalone\"},{\"name\":\"FRINGE\",\"type\":\"standalone\"},{\"name\":\"JITTER\",\"type\":\"standalone\"},{\"name\":\"FACTOR=\",\"type\":\"value\"},{\"name\":\"SEED=\",\"type\":\"value\"},{\"name\":\"X=\",\"type\":\"value\"},{\"name\":\"Y=\",\"type\":\"value\"},{\"name\":\"LABEL\",\"type\":\"standalone\"},{\"name\":\"LABEL=\",\"type\":\"value\"},{\"name\":\"LOCATION=\",\"type\":\"value\"}]},{\"name\":\"PLOTBY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies a variable or CLASS effect at whose levels the predicted values are computed and the plots are displayed. You can specify the response variable as the effect for polytomous response models. The panel-type argument specifies the method in which the plots are grouped for the display. The following panel-types are available. COLUMNS specifies that the columns within each panel correspond to different levels of the PLOTBY= effect and hence the rows correspond to different AT levels. PACK specifies that plots be displayed in the panels as they are produced with no control over the placement of the PLOTBY= and AT levels. PANELS | LEVELS specifies that each level of the PLOTBY= effect begin a new panel of plots and the AT levels define the plots within the panels. ROWS specifies that the rows within each panel correspond to different levels of the PLOTBY= effect and hence the columns correspond to different AT levels.\",\"help\":\"PLOTBY=COLUMNS | PACK | PANELS | LEVELS | ROWS\",\"type\":\"choice\",\"arguments\":[{\"name\":\"COLUMNS\",\"type\":\"standalone\"},{\"name\":\"PACK\",\"type\":\"standalone\"},{\"name\":\"PANELS\",\"type\":\"standalone\"},{\"name\":\"LEVELS\",\"type\":\"standalone\"},{\"name\":\"ROWS\",\"type\":\"standalone\"}]},{\"name\":\"PLOTBYLEN=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the maximum length (1 ≤ n ≤ 256) of the levels of the PLOTBY= variables, which are displayed in footnotes and headers. By default, up to 256 characters of the CLASS levels are displayed.\",\"help\":\"PLOTBYLEN=*n*\",\"type\":\"value\"},{\"name\":\"POLYBAR\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays polytomous response data as a stacked histogram with bar heights defined by the individual predicted value. Your response variable must be the SLICEBY= variable, and the INDIVIDUAL and ILINK options must be in effect; otherwise, the option is ignored. Confidence limits are ignored.\",\"type\":\"standalone\"},{\"name\":\"PREDLABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies a label to be displayed on the Y axis. The default Y axis label is determined by your model. For the CONTOUR plot-type, this option changes the title to \\\"label for Y.\\\"\",\"help\":\"PREDLABEL=*label*\",\"type\":\"value\"},{\"name\":\"SHOWCLEGEND\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays the gradient-legend for the CONTOUR plot-type. This option has no effect when the OBS(CGRADIENT=RESIDUAL) option is also specified.\",\"type\":\"standalone\"},{\"name\":\"SLICEBY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays the fitted values at the different levels of the specified variable or CLASS effect.\",\"help\":\"SLICEBY=NONE | effect&lt;=numeric-list&gt;\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NONE\",\"followsDelimiter\":\"/\",\"description\":\"Preventing the INTERACTION plot-type from slicing by a second class covariate. Note that the SLICEBY=NONE option is not available for the SLICEFIT plot-type, since that is the same as the FIT plot-type.\",\"type\":\"standalone\"},{\"name\":\"effect\",\"followsDelimiter\":\"/\",\"description\":\"You can specify the response variable as the effect for polytomous response models. Use this option to modify SLICEFIT and INTERACTION plot-types. If you specify a continuous variable as the effect, then you can either specify a numeric-list of values at which to display that variable or, by default, five equally spaced values from the minimum variable value to its maximum are displayed.\",\"help\":\"effect&lt;=numeric-list&gt;\",\"type\":\"value\"}]},{\"name\":\"SMOOTH\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Overlays a loess smooth on the FIT plot-type for models that have only one continuous predictor. This option is not available for binary or polytomous response models.\",\"type\":\"standalone\"},{\"name\":\"UNPACK\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Suppresses paneling. By default, multiple plots can appear in some output panels. Specify UNPACK to display each plot separately.]\",\"type\":\"standalone\"},{\"name\":\"X=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies values to display on the X axis. For BOX and INTERACTION plot-types, effect can be a CLASS effect in the MODEL statement. For FIT, SLICEFIT, and CONTOUR plot-types, effect can be any continuous variable in the model.\",\"help\":\"X=*effect*\",\"type\":\"value\"},{\"name\":\"Y=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies values to display on the Y axis for the CONTOUR plot-type. The Y= argument can be any continuous variable in the model.\",\"help\":\"Y=*args*\",\"type\":\"value\"},{\"name\":\"YRANGE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays the predicted values on the Y axis in the range [min,max]. By default, when the Y axis displays predicted probabilities, the entire Y axis, [0,1], is displayed. This option is useful if your predicted probabilities are all contained in some subset of this range. This option is not available with the CONTOUR plot-type.\",\"help\":\"YRANGE=CLIP | &lt;(&lt;*min*&gt;,&lt;*max*&gt;)&gt;\",\"type\":\"choice\",\"arguments\":[{\"name\":\"CLIP\",\"followsDelimiter\":\"/\",\"description\":\"Has the same effect as specifying the minimum predicted value as min and the maximum predicted value as max.\",\"type\":\"standalone\"},{\"name\":\"(min,max)\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"Replace min and max with actual values.\",\"type\":\"standaloneOrValue\"}]}]},{\"name\":\"ELSE\",\"description\":\"If the condition in an IF-THEN statement is false and an ELSE statement is present, then the ELSE action is carried out.\",\"help\":\"ELSE &lt;DO&gt;&lt;IF&gt;&lt;THEN&gt; ...\",\"arguments\":[{\"name\":\"AND\",\"optional\":true,\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"DO\",\"optional\":true,\"description\":\"Action statement in an IF-THEN-ELSE construct.\",\"type\":\"standalone\"},{\"name\":\"IF\",\"optional\":true,\"description\":\"Executes a SAS statement for observations that meet specific conditions.\",\"type\":\"standalone\"},{\"name\":\"NOT\",\"optional\":true,\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"OR\",\"optional\":true,\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"OUTPUT\",\"optional\":true,\"description\":\"Action statement in an IF-THEN-ELSE construct.\",\"type\":\"standalone\"},{\"name\":\"THEN\",\"optional\":true,\"description\":\"If the conditions that are specified in the IF clause are met, the IF-THEN statement executes a SAS statement for observations that are read from a SAS data set, for records in an external file, or for computed values.\",\"type\":\"standalone\"}]},{\"name\":\"ESTIMATE\",\"description\":\"The ESTIMATE statement is similar to a CONTRAST statement, except only one-row L' matrices are permitted.\",\"help\":\"ESTIMATE &lt;ALPHA=number&gt;&lt;E&gt;&lt;SINGULAR=number&gt; ...\",\"arguments\":[{\"name\":\"ALPHA=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that a confidence interval be constructed with confidence level 1-number. The value of number must be between 0 and 1; the default value is 0.05.\",\"help\":\"ALPHA=*number*\",\"type\":\"value\"},{\"name\":\"E\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that the L matrix be displayed.\",\"type\":\"standalone\"},{\"name\":\"EXP\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that exp(L'β), its standard error, and its confidence limits be computed. If you specify the EXP option, standard errors and confidence intervals are computed using the delta method.\",\"type\":\"standalone\"},{\"name\":\"SINGULAR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"EPSILON=\"],\"description\":\"Tunes the estimability checking.\",\"help\":\"SINGULAR=*number*\",\"type\":\"value\"}]},{\"name\":\"EXACT\",\"description\":\"The EXACT statement performs exact tests of the parameters for the specified effects and optionally estimates the parameters and outputs the exact conditional distributions. You can specify the keyword INTERCEPT and any effects in the MODEL statement. Inference on the parameters of the specified effects is performed by conditioning on the sufficient statistics of all the other model parameters (possibly including the intercept). You can specify several EXACT statements, but they must follow the MODEL statement. Each statement can optionally include an identifying label. If several EXACT statements are specified, any statement without a label is assigned a label of the form \\\"Exact,\\\" where n indicates the nth EXACT statement. The label is included in the headers of the displayed exact analysis tables.\",\"help\":\"EXACT &lt;ALPHA=number&gt;&lt;CLTYPE=&lt;EXACT | MIDP&gt;&gt;&lt;ESTIMATE=&lt;PARM | ODDS | BOTH&gt;&gt; ...\",\"arguments\":[{\"name\":\"ALPHA=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the level of significance α for 100(1-α)% confidence limits for the parameters or odds ratios. The value of number must be between 0 and 1. By default, number is equal to the value of the ALPHA= option in the MODEL statement, or 0.05 if that option is not specified.\",\"help\":\"ALPHA=*number*\",\"type\":\"value\"},{\"name\":\"CLTYPE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests either the exact or mid-p confidence intervals for the parameter estimates. By default, the exact intervals are produced.\",\"help\":\"CLTYPE=EXACT | MIDP\",\"type\":\"choice\",\"arguments\":[{\"name\":\"EXACT\",\"followsDelimiter\":\"/\",\"description\":\"Requests the exact confidence intervals for the parameter estimates.\",\"type\":\"standalone\"},{\"name\":\"MIDP\",\"followsDelimiter\":\"/\",\"description\":\"Requests either the mid-p confidence intervals for the parameter estimates.\",\"type\":\"standalone\"}]},{\"name\":\"ESTIMATE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Estimates the individual parameters (conditioned on all other parameters) for the effects specified in the EXACT statement. For each parameter, a point estimate, a standard error, a confidence interval, and a p-value for a two-sided test that the parameter is zero are displayed. Note that the two-sided p-value is twice the one-sided p-value.\",\"help\":\"ESTIMATE=PARM | ODDS | BOTH\",\"type\":\"choice\",\"arguments\":[{\"name\":\"PARM\",\"followsDelimiter\":\"/\",\"description\":\"Specifies that the parameters be estimated. This is the default.\",\"type\":\"standalone\"},{\"name\":\"ODDS\",\"followsDelimiter\":\"/\",\"description\":\"Specifies that the odds ratios be estimated. If you have classification variables, then you must also specify the PARAM=REF option in the CLASS statement.\",\"type\":\"standalone\"},{\"name\":\"BOTH\",\"followsDelimiter\":\"/\",\"description\":\"Specifies that both the parameters and odds ratios be estimated.\",\"type\":\"standalone\"}]},{\"name\":\"JOINT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Performs the joint test that all of the parameters are simultaneously equal to zero, performs individual hypothesis tests for the parameter of each continuous variable, and performs joint tests for the parameters of each classification variable. The joint test is indicated in the \\\"Conditional Exact Tests\\\" table by the label \\\"Joint.\\\"\",\"type\":\"standalone\"},{\"name\":\"JOINTONLY\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Performs only the joint test of the parameters. The test is indicated in the \\\"Conditional Exact Tests\\\" table by the label \\\"Joint.\\\" When this option is specified, individual tests for the parameters of each continuous variable and joint tests for the parameters of the classification variables are not performed.\",\"type\":\"standalone\"},{\"name\":\"MIDPFACTOR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Sets the tie factors used to produce the mid-p hypothesis statistics and the mid-p confidence intervals. δ1 modifies both the hypothesis tests and confidence intervals, while δ2 affects only the hypothesis tests. By default, δ1=0.5 and δ2=1.0.\",\"type\":\"value\"},{\"name\":\"ONESIDED\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests one-sided confidence intervals and p-values for the individual parameter estimates and odds ratios. The one-sided p-value is the smaller of the left- and right-tail probabilities for the observed sufficient statistic of the parameter under the null hypothesis that the parameter is zero. The two-sided p-values (default) are twice the one-sided p-values.\",\"type\":\"standalone\"},{\"name\":\"OUTDIST=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Names the SAS data set that contains the exact conditional distributions. This data set contains all of the exact conditional distributions that are required to process the corresponding EXACT statement. This data set contains the possible sufficient statistics for the parameters of the effects specified in the EXACT statement, the counts, and, when hypothesis tests are performed on the parameters, the probability of occurrence and the score value for each sufficient statistic. When you request an OUTDIST= data set, the observed sufficient statistics are displayed in the \\\"Sufficient Statistics\\\" table.\",\"help\":\"OUTDIST=*SAS-data-set*\",\"type\":\"dataSet\"}]},{\"name\":\"EXACTOPTIONS\",\"description\":\"The EXACTOPTIONS statement specifies options that apply to every EXACT statement in the program.\",\"help\":\"EXACTOPTIONS &lt;ABSFCONV=value&gt;&lt;ADDTOBS&gt;&lt;BUILDSUBSETS&gt; ...\",\"arguments\":[{\"name\":\"ABSFCONV=\",\"optional\":true,\"description\":\"Specifies the absolute function convergence criterion.\",\"help\":\"ABSFCONV=*value*\",\"type\":\"value\"},{\"name\":\"ADDTOBS\",\"optional\":true,\"description\":\"Adds the observed sufficient statistic to the sampled exact distribution if the statistic was not sampled. This option has no effect unless the METHOD=NETWORKMC option is specified and the ESTIMATE option is specified in the EXACT statement. If the observed statistic has not been sampled, then the parameter estimate does not exist; by specifying this option, you can produce (biased) estimates.\",\"type\":\"standalone\"},{\"name\":\"BUILDSUBSETS\",\"optional\":true,\"description\":\"Builds every distribution for sampling. By default, some exact distributions are created by taking a subset of a previously generated exact distribution. When the METHOD=NETWORKMC option is invoked, this subsetting behavior has the effect of using fewer than the desired n samples; see the N= option for more details. Use the BUILDSUBSETS option to suppress this subsetting.\",\"type\":\"standalone\"},{\"name\":\"EPSILON=\",\"optional\":true,\"description\":\"Controls how the partial sums ∑ yixi (where i=1 to j) are compared. value must be between 0 and 1; by default, value=1E–8.\",\"help\":\"EPSILON=*value*\",\"type\":\"value\"},{\"name\":\"FCONV=\",\"optional\":true,\"description\":\"Specifies the relative function convergence criterion.\",\"help\":\"FCONV=*value*\",\"type\":\"value\"},{\"name\":\"MAXTIME=\",\"optional\":true,\"description\":\"Specifies the maximum clock time (in seconds) that PROC GENMOD can use to calculate the exact distributions. If the limit is exceeded, the procedure halts all computations and prints a note to the LOG. The default maximum clock time is seven days.\",\"help\":\"MAXTIME=*seconds*\",\"type\":\"value\"},{\"name\":\"METHOD=\",\"optional\":true,\"description\":\"Specifies which exact conditional algorithm to use for every EXACT statement specified.\",\"help\":\"METHOD=DIRECT | NETWORK | NETWORKMC\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DIRECT\",\"description\":\"Invokes the multivariate shift algorithm of Hirji, Mehta, and Patel (1987). This method directly builds the exact distribution, but it can require an excessive amount of memory in its intermediate stages. METHOD=DIRECT is invoked by default when you are conditioning out at most the intercept.\",\"type\":\"standalone\"},{\"name\":\"NETWORK\",\"description\":\"Invokes an algorithm described in Mehta, Patel, and Senchaudhuri (1992). This method builds a network for each parameter that you are conditioning out, combines the networks, then uses the multivariate shift algorithm to create the exact distribution. The NETWORK method can be faster and require less memory than the DIRECT method. The NETWORK method is invoked by default for most analyses.\",\"type\":\"standalone\"},{\"name\":\"NETWORKMC\",\"description\":\"Invokes the hybrid network and Monte Carlo algorithm of Mehta, Patel, and Senchaudhuri (1992). This method creates a network, then samples from that network; this method does not reject any of the samples at the cost of using a large amount of memory to create the network. METHOD=NETWORKMC is most useful for producing parameter estimates for problems that are too large for the DIRECT and NETWORK methods to handle and for which asymptotic methods are invalid—for example, for sparse data on a large grid.\",\"type\":\"standalone\"}]},{\"name\":\"N=\",\"optional\":true,\"description\":\"Specifies the number of Monte Carlo samples to take when the METHOD=NETWORKMC option is specified. By default, n=100,000.\",\"help\":\"N=*n*\",\"type\":\"value\"},{\"name\":\"NOLOGSCALE\",\"optional\":true,\"description\":\"Specifies that computations for the exact conditional models be computed by using normal scaling. Log scaling can handle numerically larger problems than normal scaling; however, computations in the log scale are slower than computations in normal scale.\",\"type\":\"standalone\"},{\"name\":\"ONDISK\",\"optional\":true,\"description\":\"Uses disk space instead of random access memory to build the exact conditional distribution. Use this option to handle larger problems at the cost of slower processing.\",\"type\":\"standalone\"},{\"name\":\"SEED=\",\"optional\":true,\"description\":\"Specifies the initial seed for the random number generator used to take the Monte Carlo samples when the METHOD=NETWORKMC option is specified. The value of the SEED= option must be an integer. If you do not specify a seed, or if you specify a value less than or equal to zero, then PROC GENMOD uses the time of day from the computer’s clock to generate an initial seed.\",\"help\":\"SEED=*seed*\",\"type\":\"value\"},{\"name\":\"STATUSN=\",\"optional\":true,\"description\":\"Prints a status line in the SAS log after every number of Monte Carlo samples when the METHOD=NETWORKMC option is specified. The number of samples taken and the current exact p-value for testing the significance of the model are displayed. You can use this status line to track the progress of the computation of the exact conditional distributions.\",\"help\":\"STATUSN=*number*\",\"type\":\"value\"},{\"name\":\"STATUSTIME=\",\"optional\":true,\"description\":\"Specifies the time interval (in seconds) for printing a status line in the LOG. You can use this status line to track the progress of the computation of the exact conditional distributions. The time interval you specify is approximate; the actual time interval varies. By default, no status reports are produced.\",\"help\":\"STATUSTIME=*seconds*\",\"type\":\"value\"},{\"name\":\"XCONV=\",\"optional\":true,\"description\":\"Specifies the relative parameter convergence criterion.\",\"help\":\"XCONV=*value*\",\"type\":\"value\"}]},{\"name\":\"FREQ\",\"aliases\":[\"FREQUENCY\"],\"description\":\"The variable in the FREQ statement identifies a variable in the input data set containing the frequency of occurrence of each observation. PROC GENMOD treats each observation as if it appears n times, where n is the value of the FREQ variable for the observation. If it is not an integer, the frequency value is truncated to an integer. If it is less than 1 or missing, the observation is not used. In the case of models fit with generalized estimating equations (GEEs), the frequencies apply to the subject/cluster and therefore must be the same for all observations within each subject.\",\"help\":\"FREQ | FREQUENCY variable\"},{\"name\":\"FWDLINK\",\"description\":\"You can define a link function other than a built-in link function by using the FWDLINK statement. If you use the MODEL statement option LINK= to specify a link function, you do not need to use the FWDLINK statement. The variable identifies the link function to the procedure. The expression can be any arithmetic expression supported by the DATA step language, and it is used to define the functional dependence on the mean.\",\"help\":\"FWDLINK variable = expression \"},{\"name\":\"IF\",\"description\":\"\",\"help\":\"IF &lt;DO&gt;&lt;THEN&gt;&lt;WHEN&gt; ...\",\"arguments\":[{\"name\":\"AND\",\"optional\":true,\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"DO\",\"optional\":true,\"description\":\"Action statement in an IF-THEN construct.\",\"type\":\"standalone\"},{\"name\":\"GO\",\"optional\":true,\"aliases\":[\"GOTO\"],\"description\":\"Jumps to a new statement.\",\"help\":\"GO TO\",\"type\":\"standalone\"},{\"name\":\"NOT\",\"optional\":true,\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"OR\",\"optional\":true,\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"OUTPUT\",\"optional\":true,\"description\":\"Action statement in an IF-THEN construct.\",\"type\":\"standalone\"},{\"name\":\"PUT\",\"optional\":true,\"description\":\"Action statement in an IF-THEN construct.\",\"type\":\"standalone\"},{\"name\":\"SET\",\"optional\":true,\"description\":\"Reads an observation from one or more SAS data sets.\",\"type\":\"standalone\"},{\"name\":\"STOP\",\"optional\":true,\"description\":\"Action statement in an IF-THEN construct. Stops execution of the current DATA step.\",\"type\":\"standalone\"},{\"name\":\"THEN\",\"optional\":true,\"description\":\"If the conditions that are specified in the IF clause are met, the IF-THEN statement executes a SAS statement for observations that are read from a SAS data set, for records in an external file, or for computed values.\",\"type\":\"standalone\"},{\"name\":\"WHEN\",\"optional\":true,\"description\":\"WHEN statement in an IF-THEN-WHEN construct.\",\"type\":\"standalone\"}]},{\"name\":\"INVLINK\",\"description\":\"If you define a link function in the FWDLINK statement, then you must define the inverse link function by using the INVLINK statement. If you use the MODEL statement option LINK= to specify a link function, you do not need to use the INVLINK statement. The variable identifies the inverse link function to the procedure. The expression can be any arithmetic expression supported by the DATA step language, and it is used to define the functional dependence on the linear predictor.\",\"help\":\"INVLINK variable = expression \"},{\"name\":\"LSMEANS\",\"description\":\"The LSMEANS statement computes and compares least squares means (LS-means) of fixed effects. LS-means are predicted population margins—that is, they estimate the marginal means over a balanced population. In a sense, LS-means are to unbalanced designs as class and subclass arithmetic means are to balanced designs.\",\"help\":\"LSMEANS &lt;ADJDFE=&lt;SOURCE | ROW&gt;&gt;&lt;ADJUST=&lt;BON | DUNNETT | NELSON&gt;... &gt;&lt;ALPHA=number&gt; ...\",\"arguments\":[{\"name\":\"ADJDFE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies how denominator degrees of freedom are determined when p-values and confidence limits are adjusted for multiple comparisons with the ADJUST= option.\",\"help\":\"ADJDFE=SOURCE | ROW\",\"type\":\"choice\",\"arguments\":[{\"name\":\"SOURCE\",\"followsDelimiter\":\"/\",\"description\":\"The denominator degrees of freedom for multiplicity-adjusted results are the denominator degrees of freedom for the LS-mean effect in the \\\"Type III Tests of Fixed Effects\\\" table.\",\"type\":\"standalone\"},{\"name\":\"ROW\",\"followsDelimiter\":\"/\",\"description\":\"Useful if you want multiplicity adjustments to take into account that denominator degrees of freedom are not constant across LS-mean differences.\",\"type\":\"standalone\"}]},{\"name\":\"ADJUST=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests a multiple comparison adjustment for the p-values and confidence limits for the differences of LS-means.\",\"help\":\"ADJUST=BON | DUNNETT | NELSON | SCHEFFE | SIDAK | SIMULATE | SMM | TUKEY\",\"type\":\"choice\",\"arguments\":[{\"name\":\"BON\",\"followsDelimiter\":\"/\",\"description\":\"Bonferroni adjustment\",\"type\":\"standalone\"},{\"name\":\"DUNNETT\",\"followsDelimiter\":\"/\",\"description\":\"Dunnett adjustment (in which the procedure analyzes all differences with a control level)\",\"type\":\"standalone\"},{\"name\":\"NELSON\",\"followsDelimiter\":\"/\",\"description\":\"Nelson adjustment (in which ANOM differences are taken)\",\"type\":\"standalone\"},{\"name\":\"SCHEFFE\",\"followsDelimiter\":\"/\",\"description\":\"Scheffe's adjustment\",\"type\":\"standalone\"},{\"name\":\"SIDAK\",\"followsDelimiter\":\"/\",\"description\":\"Sidak adjustment\",\"type\":\"standalone\"},{\"name\":\"SIMULATE\",\"followsDelimiter\":\"/\",\"description\":\"Computes adjusted p-values and confidence limits from the simulated distribution of the maximum or maximum absolute value of a multivariate t random vector. Syntax: SIMULATE<(simoptions)> You can specify the following simoptions in parentheses after the ADJUST=SIMULATE option. ACC=value specifies the target accuracy radius γ of a 100(1-ε)% confidence interval for the true probability content of the estimated (1-α)th quantile. The default value is ACC=0.005. EPS=value specifies the value ε for a 100(1-ε)% confidence interval for the true probability content of the estimated (1-α)th quantile. The default value is ACC=0.005. NSAMP=n specifies the sample size for the simulation. SEED=number specifies an integer that is used to start the pseudo-random number generator for the simulation. THREADS specifies that the computational work for the simulation be divided into parallel threads, where the number of threads is the value of the SAS system option CPUCOUNT=. NOTHREADS specifies that the computational work for the simulation be performed in sequence rather than in parallel. NOTHREADS is the default. This option overrides the SAS system option THREADS|NOTHREADS.\",\"type\":\"standalone\"},{\"name\":\"SMM\",\"followsDelimiter\":\"/\",\"aliases\":[\"GT2\"],\"description\":\"SMM adjustment\",\"type\":\"standalone\"},{\"name\":\"TUKEY\",\"followsDelimiter\":\"/\",\"description\":\"If your data are unbalanced, PROC GLIMMIX uses the approximation described in Kramer (1956) and identifies the adjustment as \\\"Tukey-Kramer\\\" in the results.\",\"type\":\"standalone\"}]},{\"name\":\"ALPHA=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that a t-type confidence interval be constructed for each of the LS-means with confidence level (1-number)x100%. The value of number must be between 0 and 1; the default is 0.05.\",\"help\":\"ALPHA=*number*\",\"type\":\"value\"},{\"name\":\"AT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Modifies the values of the covariates that are used in computing LS-means. By default, all covariate effects are set equal to their mean values for computation of standard LS-means. The AT option enables you to assign arbitrary values to the covariates. Additional columns in the output table indicate the values of the covariates.\",\"help\":\"AT=MEANS\",\"type\":\"choice\",\"arguments\":[{\"name\":\"MEANS\",\"type\":\"standalone\"}]},{\"name\":\"BYLEVEL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that separate margins be computed for each level of the LSMEANS effect.\",\"type\":\"standalone\"},{\"name\":\"CL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that t-type confidence limits be constructed for each of the LS-means. The confidence level is 0.95 by default; this can be changed with the ALPHA= option.\",\"type\":\"standalone\"},{\"name\":\"CORR\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays the estimated correlation matrix of the least squares means as part of the \\\"Least Squares Means\\\" table.\",\"type\":\"standalone\"},{\"name\":\"COV\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays the estimated covariance matrix of the least squares means as part of the \\\"Least Squares Means\\\" table.\",\"type\":\"standalone\"},{\"name\":\"DF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the degrees of freedom for the t test and confidence limits. The default is the denominator degrees of freedom taken from the \\\"Type III Tests\\\" table that corresponds to the LS-means effect.\",\"help\":\"DF=*number*\",\"type\":\"value\"},{\"name\":\"DIFF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"PDIFF=\"],\"description\":\"Requests that differences of the LS-means be displayed.\",\"help\":\"DIFF=ALL | ANOM | CONTROL | CONTROLL | CONTROLU\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ALL\",\"followsDelimiter\":\"/\",\"description\":\"Requests all pairwise differences; this is the default.\",\"type\":\"standalone\"},{\"name\":\"ANOM\",\"followsDelimiter\":\"/\",\"description\":\"Requests differences between each LS-mean and the average LS-mean, as in the analysis of means (Ott 1967).\",\"type\":\"standalone\"},{\"name\":\"CONTROL\",\"followsDelimiter\":\"/\",\"description\":\"Requests the differences with a control, which, by default, is the first level of each of the specified LSMEANS effects.\",\"type\":\"standalone\"},{\"name\":\"CONTROLL\",\"followsDelimiter\":\"/\",\"description\":\"Tests whether the noncontrol levels are significantly smaller than the control; the upper confidence limits for the control minus the noncontrol levels are considered to be infinity and are displayed as missing.\",\"type\":\"standalone\"},{\"name\":\"CONTROLU\",\"followsDelimiter\":\"/\",\"description\":\"Tests whether the noncontrol levels are significantly larger than the control; the upper confidence limits for the noncontrol levels minus the control are considered to be infinity and are displayed as missing.\",\"type\":\"standalone\"}]},{\"name\":\"E\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that the L matrix coefficients for the LSMEANS effects be displayed.\",\"type\":\"standalone\"},{\"name\":\"EXP\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests exponentiation of the LS-means or LS-mean differences. When you model data with the logit, cumulative logit, or generalized logit link functions, and the estimate represents a log odds ratio or log cumulative odds ratio, the EXP option produces an odds ratio. In proportional hazards model, the exponentiation of the LS-mean differences produces estimates of hazard ratios. If you specify the CL or ALPHA= option, the (adjusted) confidence bounds are also exponentiated.\",\"type\":\"standalone\"},{\"name\":\"ILINK\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that estimates and their standard errors in the \\\"Least Squares Means\\\" table also be reported on the scale of the mean (the inverse linked scale).\",\"type\":\"standalone\"},{\"name\":\"LINES\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Presents results of comparisons between all pairs of least squares means by listing the means in descending order and indicating nonsignificant subsets by line segments beside the corresponding LS-means.\",\"type\":\"standalone\"},{\"name\":\"MEANS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies to produce the table of least squares means. This is the default.\",\"type\":\"standalone\"},{\"name\":\"NOMEANS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies not to produce the table of least squares means.\",\"type\":\"standalone\"},{\"name\":\"OBSMARGINS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"OM=\"],\"description\":\"Specifies a potentially different weighting scheme for the computation of LS-means coefficients. The standard LS-means have equal coefficients across classification effects; however, the OM option changes these coefficients to be proportional to those found in the OM-data-set. This adjustment is reasonable when you want your inferences to apply to a population that is not necessarily balanced but has the margins that are observed in OM-data-set.\",\"type\":\"value\"},{\"name\":\"ODDSRATIO\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"OR\"],\"description\":\"Requests that LS-mean differences (DIFF, ADJUST= options) are also reported in terms of odds ratios. The ODDSRATIO option is ignored unless you use either the logit, cumulative logit, or generalized logit link function. If you specify the CL or ALPHA= option, confidence intervals for the odds ratios are also computed. These intervals are adjusted for multiplicity when you specify the ADJUST= option.\",\"type\":\"standalone\"},{\"name\":\"PDIFF\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Is the same as the DIFF option.\",\"type\":\"standalone\"},{\"name\":\"PLOT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"PLOTS=\"],\"description\":\"Requests that least squares means related graphics are produced via ODS Graphics, provided that the ODS GRAPHICS statement has been specified and the plot request does not conflict with other options in the LSMEANS statement.\",\"help\":\"PLOT=ALL | ANOMPLOT | BOXPLOT | CONTROLPLOT | DIFFPLOT | DISTPLOT | MEANPLOT | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ALL\",\"followsDelimiter\":\"/\",\"description\":\"Requests that the default plots corresponding to this LSMEANS statement be produced.\",\"type\":\"standalone\"},{\"name\":\"ANOMPLOT\",\"followsDelimiter\":\"/\",\"aliases\":[\"ANOM\"],\"description\":\"Requests an analysis of means display in which least squares means are compared to an average least squares mean.\",\"type\":\"standalone\"},{\"name\":\"BOXPLOT\",\"followsDelimiter\":\"/\",\"description\":\"Produces box plots of the distribution of the least squares mean or least squares mean differences across a posterior sample. For example, this plot is available in procedures that support a Bayesian analysis through the BAYES statement. A separate box is generated for each estimable function, and all boxes appear on a single graph by default. You can affect the appearance of the box plot graph with the following options: ORIENTATION=VERTICAL|HORIZONTAL ORIENT=VERT|HORIZ specifies the orientation of the boxes. The default is vertical orientation of the box plots. NPANELPOS=number specifies how to break the series of box plots across multiple panels. If the NPANELPOS option is not specified, or if number equals zero, then all box plots are displayed in a single graph; this is the default.\",\"type\":\"standalone\"},{\"name\":\"CONTROLPLOT\",\"followsDelimiter\":\"/\",\"aliases\":[\"CONTROL\"],\"description\":\"Requests a display in which least squares means are visually compared against a reference level.\",\"type\":\"standalone\"},{\"name\":\"DIFFPLOT\",\"followsDelimiter\":\"/\",\"aliases\":[\"DIFFOGRAM\",\"DIFF\"],\"description\":\"Requests a display of all pairwise least squares mean differences and their significance. Syntax: DIFFPLOT<(diffplot-options)> You can specify the following diffplot-options: ABS all line segments are shown on the same side of the reference line. NOABS separates comparisons according to the sign of the difference. CENTER marks the center point for each comparison. NOLINES suppresses the display of the line segments that represent the confidence bounds for the differences of the least squares means. The NOLINES option implies the CENTER option.\",\"type\":\"standalone\"},{\"name\":\"DISTPLOT\",\"followsDelimiter\":\"/\",\"aliases\":[\"DIST\"],\"description\":\"Generates panels of histograms with a kernel density overlaid if the analysis has access to a set of posterior parameter estimates. You can sepcify the following distplot-options in parentheses: BOX|NOBOX controls the display of a horizontal box plot of the estimable function’s distribution across the posterior sample below the graph. The BOX option is enabled by default. HIST|NOHIST controls the display of the histogram of the estimable function’s distribution across the posterior sample. The HIST option is enabled by default. NORMAL|NONORMAL controls the display of a normal density estimate on the graph. The NONORMAL option is enabled by default. KERNEL|NOKERNEL controls the display of a kernel density estimate on the graph. The KERNEL option is enabled by default. NROWS=number specifies the highest number of rows in a panel. The default is 3. NCOLS=number specifies the highest number of columns in a panel. The default is 3. UNPACK unpacks the panel into separate graphics.\",\"type\":\"standalone\"},{\"name\":\"MEANPLOT\",\"followsDelimiter\":\"/\",\"description\":\"Syntax: MEANPLOT<(meanplot-options)> Requests displays of the least squares means. The following meanplot-options control the display of the least squares means: ASCENDING displays the least squares means in ascending order. This option has no effect if means are sliced or displayed in separate plots. CL displays upper and lower confidence limits for the least squares means. By default, 95% limits are drawn. CLBAND displays confidence limits as bands. This option implies the JOIN option. DESCENDING displays the least squares means in descending order. This option has no effect if means are sliced or displayed in separate plots. ILINK requests that means (and confidence limits) are displayed on the inverse linked scale. JOIN | CONNECT connects the least squares means with lines. This option is implied by the CLBAND option. SLICEBY=fixed-effect specifies an effect by which to group the means in a single plot. PLOTBY=fixed-effect specifies an effect by which to break interaction plots into separate displays.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"followsDelimiter\":\"/\",\"description\":\"Requests that no plots be produced.\",\"type\":\"standalone\"}]},{\"name\":\"SEED=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the seed for the sampling-based components of the computations for the LSMEANS statement (for example, chi-bar-square statistics and simulated p-values). number specifies an integer that is used to start the pseudo-random-number generator for the simulation. If you do not specify a seed, or if you specify a value less than or equal to zero, the seed is generated from reading the time of day from the computer clock.\",\"help\":\"SEED=*number*\",\"type\":\"value\"},{\"name\":\"SINGULAR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Tunes the estimability checking. The value for number must be between 0 and 1; the default is 1E-4.\",\"help\":\"SINGULAR=*number*\",\"type\":\"value\"},{\"name\":\"STEPDOWN=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that multiple comparison adjustments for the p-values of LS-mean differences be further adjusted in a step-down fashion. Step-down methods increase the power of multiple comparisons by taking advantage of the fact that a p-value is never declared significant unless all smaller p-values are also declared significant. You can specify the following step-down options in parentheses: MAXTIME=n specifies the time (in seconds) to spend computing the maximal logically consistent sequential subsets of equality hypotheses for TYPE=LOGICAL. REPORT specifies that a report on the step-down adjustment should be displayed, including a listing of the sequential subsets (Westfall 1997) and, for ADJUST=SIMULATE, the step-down simulation results.\",\"help\":\"STEPDOWN=MAXTIME= | REPORT | TYPE=\",\"type\":\"choice\",\"arguments\":[{\"name\":\"MAXTIME=\",\"type\":\"value\"},{\"name\":\"REPORT\",\"type\":\"standalone\"},{\"name\":\"TYPE=\",\"type\":\"value\"}]}]},{\"name\":\"LSMESTIMATE\",\"description\":\"The LSMESTIMATE statement provides a mechanism for obtaining custom hypothesis tests among least squares means.\",\"help\":\"LSMESTIMATE &lt;ADJDFE=&lt;SOURCE | ROW&gt;&gt;&lt;ADJUST=&lt;BON | SCHEFFE | SIDAK&gt;... &gt;&lt;ALPHA=number&gt; ...\",\"arguments\":[{\"name\":\"ADJDFE=\",\"optional\":true,\"description\":\"Specifies how denominator degrees of freedom are determined when p-values and confidence limits are adjusted for multiple comparisons with the ADJUST= option.\",\"help\":\"ADJDFE=SOURCE | ROW\",\"type\":\"choice\",\"arguments\":[{\"name\":\"SOURCE\",\"description\":\"The denominator degrees of freedom for multiplicity-adjusted results are the denominator degrees of freedom for the LS-mean effect in the \\\"Type III Tests of Fixed Effects\\\" table.\",\"type\":\"standalone\"},{\"name\":\"ROW\",\"description\":\"Useful if you want multiplicity adjustments to take into account that denominator degrees of freedom are not constant across estimates.\",\"type\":\"standalone\"}]},{\"name\":\"ADJUST=\",\"optional\":true,\"description\":\"Requests a multiple comparison adjustment for the p-values and confidence limits for the LS-mean estimates. The adjusted quantities are produced in addition to the unadjusted p-values and confidence limits. Adjusted confidence limits are produced if the CL or ALPHA= option is in effect.\",\"help\":\"ADJUST=BON | SCHEFFE | SIDAK | SIMULATE | T\",\"type\":\"choice\",\"arguments\":[{\"name\":\"BON\",\"description\":\"Bonferroni adjustment\",\"type\":\"standalone\"},{\"name\":\"SCHEFFE\",\"description\":\"Scheffe's adjustment\",\"type\":\"standalone\"},{\"name\":\"SIDAK\",\"description\":\"Sidak adjustment\",\"type\":\"standalone\"},{\"name\":\"SIMULATE\",\"description\":\"Computes adjusted p-values and confidence limits from the simulated distribution of the maximum or maximum absolute value of a multivariate t random vector. Syntax: SIMULATE<(simoptions)> You can specify the following simoptions in parentheses after the ADJUST=SIMULATE option. ACC=value specifies the target accuracy radius γ of a 100(1-ε)% confidence interval for the true probability content of the estimated (1-α)th quantile. The default value is ACC=0.005. EPS=value specifies the value ε for a 100(1-ε)% confidence interval for the true probability content of the estimated (1-α)th quantile. The default value is ACC=0.005. NSAMP=n specifies the sample size for the simulation. SEED=number specifies an integer that is used to start the pseudo-random number generator for the simulation. THREADS specifies that the computational work for the simulation be divided into parallel threads, where the number of threads is the value of the SAS system option CPUCOUNT=. NOTHREADS specifies that the computational work for the simulation be performed in sequence rather than in parallel. NOTHREADS is the default. This option overrides the SAS system option THREADS|NOTHREADS.\",\"type\":\"standalone\"},{\"name\":\"T\",\"description\":\"The default, which really signifies no adjustment for multiple comparisons.\",\"type\":\"standalone\"}]},{\"name\":\"ALPHA=\",\"optional\":true,\"description\":\"Requests that a t-type confidence interval be constructed for each of the LS-means with confidence level 1-number. The value of number must be between 0 and 1; the default is 0.05.\",\"help\":\"ALPHA=*number*\",\"type\":\"value\"},{\"name\":\"AT=\",\"optional\":true,\"description\":\"Modifies the values of the covariates used in computing LS-means. By default, all covariate effects are set equal to their mean values for computation of standard LS-means. The AT option enables you to assign arbitrary values to the covariates. Additional columns in the output table indicate the values of the covariates.\",\"help\":\"AT=MEANS\",\"type\":\"choice\",\"arguments\":[{\"name\":\"MEANS\",\"type\":\"standalone\"}]},{\"name\":\"BYLEVEL\",\"optional\":true,\"description\":\"Requests that the procedure compute separate margins for each level of the LSMEANS effect.\",\"type\":\"standalone\"},{\"name\":\"CATEGORY=\",\"optional\":true,\"description\":\"Specifies how to construct estimates and multiplicity corrections for models with multinomial data (ordinal or nominal). This option is also important for constructing sets of estimable functions for F tests with the JOINT option.\",\"help\":\"CATEGORY=JOINT | SEPARATE | &lt;*quoted-value-list*&gt;\",\"type\":\"choice\",\"arguments\":[{\"name\":\"JOINT\",\"description\":\"Computes the estimable functions for every nonredundant category and treats them as a set. For example, a three-row LSESTIMATE statement in a model with three response categories leads to six estimable functions.\",\"type\":\"standalone\"},{\"name\":\"SEPARATE\",\"description\":\"Computes the estimable functions for every nonredundant category in turn. For example, a three-row LSESTIMATE statement in a model with three response categories leads to two sets of three estimable functions.\",\"type\":\"standalone\"},{\"name\":\"quoted-value-list\",\"placeholder\":true,\"description\":\"Computes the estimable functions only for the list of values given. The list must consist of formatted values of the response categories.\",\"type\":\"value\"}]},{\"name\":\"CHISQ\",\"optional\":true,\"description\":\"Requests that chi-square tests be performed in addition to F tests, when you request an F test with the JOINT option. This option has no effect in procedures that produce chi-square statistics by default.\",\"type\":\"standalone\"},{\"name\":\"CL\",\"optional\":true,\"description\":\"Requests that t-type confidence limits be constructed for each of the LS-means. The confidence level is 0.95 by default; this can be changed with the ALPHA= option.\",\"type\":\"standalone\"},{\"name\":\"CORR\",\"optional\":true,\"description\":\"Displays the estimated correlation matrix of the linear combination of the least squares means.\",\"type\":\"standalone\"},{\"name\":\"COV\",\"optional\":true,\"description\":\"Displays the estimated covariance matrix of the linear combination of the least squares means.\",\"type\":\"standalone\"},{\"name\":\"DF=\",\"optional\":true,\"description\":\"Specifies the degrees of freedom for the t test and confidence limits.\",\"help\":\"DF=*number*\",\"type\":\"value\"},{\"name\":\"DIVISOR=\",\"optional\":true,\"description\":\"Specifies a list of values by which to divide the coefficients so that fractional coefficients can be entered as integer numerators. If you do not specify value-list, a default value of 1.0 is assumed. Missing values in the value-list are converted to 1.0.\",\"help\":\"DIVISOR=*value-list*\",\"type\":\"value\"},{\"name\":\"E\",\"optional\":true,\"description\":\"Requests that the L coefficients of the estimable function be displayed.\",\"type\":\"standalone\"},{\"name\":\"ELSM\",\"optional\":true,\"description\":\"Requests that the K matrix coefficients be displayed. These are the coefficients that apply to the LS-means. This option is useful to ensure that you assigned the coefficients correctly to the LS-means.\",\"type\":\"standalone\"},{\"name\":\"EXP\",\"optional\":true,\"description\":\"Requests exponentiation of the least squares means estimate. When you model data with the logit link function and the estimate represents a log odds ratio, the EXP option produces an odds ratio. If you specify the CL or ALPHA= option, the (adjusted) confidence limits for the estimate are also exponentiated.\",\"type\":\"standalone\"},{\"name\":\"ILINK\",\"optional\":true,\"description\":\"Requests that the estimate and its standard error are also reported on the scale of the mean (the inverse linked scale).\",\"type\":\"standalone\"},{\"name\":\"JOINT=\",\"optional\":true,\"description\":\"Requests that a joint F or chi-square test be produced for the rows of the estimate. You can specify the following joint-test-options in parentheses: ACC=γ specifies the accuracy radius for determining the necessary sample size in the simulation-based approach of Silvapulle and Sen (2004) for tests with order restrictions. The value of γ must be strictly between 0 and 1; the default value is 0.005. EPS=є specifies the accuracy confidence level for determining the necessary sample size in the simulation-based approach of Silvapulle and Sen (2004) for tests with order restrictions. The value of є must be strictly between 0 and 1; the default value is 0.01. LABEL='label' assigns an identifying label to the joint test. If you do not specify a label, the first non-default label for the ESTIMATE rows is used to label the joint test. NOEST | ONLY performs only the F or chi-square test and suppresses other results from the ESTIMATE statement. This option is useful for emulating the CONTRAST statement that is available in other procedures. NSAMP=n specifies the number of samples for the simulation-based method of Silvapulle and Sen (2004). CHISQ -- adds a chi-square test if the procedure produces an F test by default.\",\"help\":\"JOINT=ACC= | EPS= | LABEL= | NOEST | ONLY | NSAMP= | CHISQ | BOUNDS=\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ACC=\",\"type\":\"value\"},{\"name\":\"EPS=\",\"type\":\"value\"},{\"name\":\"LABEL=\",\"type\":\"value\"},{\"name\":\"NOEST\",\"type\":\"standalone\"},{\"name\":\"ONLY\",\"type\":\"standalone\"},{\"name\":\"NSAMP=\",\"type\":\"value\"},{\"name\":\"CHISQ\",\"type\":\"standalone\"},{\"name\":\"BOUNDS=\",\"type\":\"value\"}]},{\"name\":\"LOWER\",\"optional\":true,\"aliases\":[\"LOWERTAILED\"],\"description\":\"Requests that the p-value for the t test be based only on values less than the test statistic. A two-tailed test is the default. A lower-tailed confidence limit is also produced if you specify the CL or ALPHA= option.\",\"type\":\"standalone\"},{\"name\":\"OBSMARGINS=\",\"optional\":true,\"aliases\":[\"OM=\"],\"description\":\"Specifies a potentially different weighting scheme for the computation of LS-means coefficients. The standard LS-means have equal coefficients across classification effects; however, the OM option changes these coefficients to be proportional to those found in the OM-data-set. This adjustment is reasonable when you want your inferences to apply to a population that is not necessarily balanced but has the margins observed in OM-data-set.\",\"type\":\"value\"},{\"name\":\"PLOTS=\",\"optional\":true,\"description\":\"Produces ODS statistical graphics of the distribution of estimable functions if the procedure performs the analysis in a sampling-based mode.\",\"help\":\"PLOTS=ALL | BOXPLOT | DISTPLOT | NONE*plot-options*\",\"type\":\"value\",\"arguments\":[{\"name\":\"ALL\",\"description\":\"Requests that the default plots corresponding to this LSMEANS statement be produced.\",\"type\":\"standalone\"},{\"name\":\"BOXPLOT\",\"description\":\"Syntax: BOXPLOT<boxplot-options>> Produces box plots of the distribution of the least squares mean or least squares mean differences across a posterior sample. For example, this plot is available in procedures that support a Bayesian analysis through the BAYES statement. A separate box is generated for each estimable function, and all boxes appear on a single graph by default. You can affect the appearance of the box plot graph with the following options: ORIENTATION=VERTICAL|HORIZONTAL ORIENT=VERT|HORIZ specifies the orientation of the boxes. The default is vertical orientation of the box plots. NPANELPOS=number specifies how to break the series of box plots across multiple panels. If the NPANELPOS option is not specified, or if number equals zero, then all box plots are displayed in a single graph; this is the default.\",\"type\":\"standalone\"},{\"name\":\"DISTPLOT\",\"aliases\":[\"DIST\"],\"description\":\"Syntax: DISTPLOT<distplot-options> Generates panels of histograms with a kernel density overlaid if the analysis has access to a set of posterior parameter estimates. You can sepcify the following distplot-options in parentheses: BOX|NOBOX controls the display of a horizontal box plot of the estimable function’s distribution across the posterior sample below the graph. The BOX option is enabled by default. HIST|NOHIST controls the display of the histogram of the estimable function’s distribution across the posterior sample. The HIST option is enabled by default. NORMAL|NONORMAL controls the display of a normal density estimate on the graph. The NONORMAL option is enabled by default. KERNEL|NOKERNEL controls the display of a kernel density estimate on the graph. The KERNEL option is enabled by default. NROWS=number specifies the highest number of rows in a panel. The default is 3. NCOLS=number specifies the highest number of columns in a panel. The default is 3. UNPACK unpacks the panel into separate graphics.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"Requests that no plots be produced.\",\"type\":\"standalone\"}]},{\"name\":\"SINGULAR=\",\"optional\":true,\"description\":\"Tunes the estimability checking as documented for the ESTIMATE statement.\",\"help\":\"SINGULAR=*number*\",\"type\":\"value\"},{\"name\":\"STEPDOWN\",\"optional\":true,\"description\":\"Requests that multiplicity adjustments for the p-values of estimates be further adjusted in a step-down fashion. Step-down methods increase the power of multiple testing procedures by taking advantage of the fact that a p-value is never declared significant unless all smaller p-values are also declared significant. You can specify the following step-down-options in parentheses: MAXTIME=n specifies the time (in seconds) to spend computing the maximal logically consistent sequential subsets of equality hypotheses for TYPE=LOGICAL. The default is MAXTIME=60. ORDER=PVALUE ORDER=ROWS specifies the order in which the step-down tests are performed. ORDER=PVALUE is the default, with LS-mean estimates being declared significant only if all LS-mean estimates with smaller (unadjusted) p-values are significant. If you specify ORDER=ROWS, then significances are evaluated in the order in which they are specified. REPORT specifies that a report on the step-down adjustment be displayed, including a listing of the sequential subsets (Westfall 1997) and, for ADJUST=SIMULATE, the step-down simulation results.\",\"type\":\"standalone\"},{\"name\":\"TESTVALUE=\",\"optional\":true,\"aliases\":[\"TESTMEAN=\"],\"description\":\"Specifies the value under the null hypothesis for testing the estimable functions in the LSMESTIMATE statement. The rules for specifying the value-list are very similar to those for specifying the divisor list in the DIVISOR= option. If no TESTVALUE= is specified, all tests are performed as H: Lβ=0. Missing values in the value-list also are translated to zeros. If you specify fewer values than rows in the ESTIMATE statement, the last value in value-list is carried forward. The TESTVALUE= option affects only p-values from individual, joint, and multiplicity-adjusted tests. It does not affect confidence intervals.\",\"help\":\"TESTVALUE=*value-list*\",\"type\":\"value\"},{\"name\":\"UPPER\",\"optional\":true,\"aliases\":[\"UPPERTAILED\"],\"description\":\"Requests that the p-value for the t test be based only on values greater than the test statistic. A two-tailed test is the default. An upper-tailed confidence limit is also produced if you specify the CL or ALPHA= option.\",\"type\":\"standalone\"}]},{\"name\":\"MODEL\",\"description\":\"The MODEL statement specifies the response, or dependent variable, and the effects, or explanatory variables. If you omit the explanatory variables, the procedure fits an intercept-only model. An intercept term is included in the model by default. The intercept can be removed with the NOINT option. You can specify the response in the form of a single variable or in the form of a ratio of two variables denoted events/trials. The first form is applicable to all responses. The second form is applicable only to summarized binomial response data. When each observation in the input data set contains the number of events (for example, successes) and the number of trials from a set of binomial trials, use the events/trials syntax. In the events/trials model syntax, you specify two variables that contain the event and trial counts. These two variables are separated by a slash (/). The values of both events and (trialsevents) must be nonnegative, and the value of the trials variable must be greater than 0 for an observation to be valid. The variable events or trials can take noninteger values.\",\"help\":\"MODEL &lt;AGGREGATE= (variable-list) | AGGREGATE= variable | AGGREGATE&gt;&lt;ALPHA=number&gt;&lt;CICONV=number&gt; ...\",\"arguments\":[{\"name\":\"AGGREGATE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the subpopulations on which the Pearson chi-square and the deviance are calculated. Specifying the AGGREGATE option is equivalent to specifying the AGGREGATE= option with a variable list that includes all explanatory variables in the MODEL statement.\",\"type\":\"value\"},{\"name\":\"ALPHA=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"ALPH=\",\"A=\"],\"description\":\"Sets the confidence coefficient for parameter confidence intervals to 1-number. The value of number must be between 0 and 1. The default value of number is 0.05.\",\"help\":\"ALPHA=*number*\",\"type\":\"value\"},{\"name\":\"CICONV=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Sets the convergence criterion for profile likelihood confidence intervals.\",\"help\":\"CICONV=*number*\",\"type\":\"value\"},{\"name\":\"CL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that confidence limits for predicted values be displayed (see the OBSTATS option).\",\"type\":\"standalone\"},{\"name\":\"CODING=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies that effect coding be used for all classification variables in the model. This is the same as specifying PARAM=EFFECT as a CLASS statement option.\",\"help\":\"CODING=EFFECT | FULLRANK\",\"type\":\"choice\",\"arguments\":[{\"name\":\"EFFECT\",\"followsDelimiter\":\"/\",\"description\":\"CODING=EFFECT\",\"type\":\"standalone\"},{\"name\":\"FULLRANK\",\"followsDelimiter\":\"/\",\"description\":\"CODING=FULLRANK\",\"type\":\"standalone\"}]},{\"name\":\"CONVERGE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Sets the convergence criterion. The value of number must be between 0 and 1.\",\"help\":\"CONVERGE=*number*\",\"type\":\"value\"},{\"name\":\"CONVH=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Sets the relative Hessian convergence criterion. The value of number must be between 0 and 1.\",\"help\":\"CONVH=*number*\",\"type\":\"value\"},{\"name\":\"CORRB\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that the parameter estimate correlation matrix be displayed.\",\"type\":\"standalone\"},{\"name\":\"COVB\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that the parameter estimate covariance matrix be displayed.\",\"type\":\"standalone\"},{\"name\":\"DIAGNOSTICS\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"INFLUENCE\"],\"description\":\"Requests that case deletion diagnostic statistics be displayed (see the OBSTATS option).\",\"type\":\"standalone\"},{\"name\":\"DIST=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"D=\",\"ERROR=\",\"ERR=\"],\"description\":\"Specifies the built-in probability distribution to use in the model.\",\"help\":\"DIST=BINOMIAL | GAMMA | GEOMETRIC | IGAUSSIAN | MULTINOMIAL | NEGBIN | NORMAL | POISSON | ZIP\",\"type\":\"choice\",\"arguments\":[{\"name\":\"BINOMIAL\",\"followsDelimiter\":\"/\",\"description\":\"Binomial distribution\",\"type\":\"standalone\"},{\"name\":\"GAMMA\",\"followsDelimiter\":\"/\",\"description\":\"Gamma distribution\",\"type\":\"standalone\"},{\"name\":\"GEOMETRIC\",\"followsDelimiter\":\"/\",\"description\":\"Geometric distribution\",\"type\":\"standalone\"},{\"name\":\"IGAUSSIAN\",\"followsDelimiter\":\"/\",\"description\":\"Inverse Gaussian distribution\",\"type\":\"standalone\"},{\"name\":\"MULTINOMIAL\",\"followsDelimiter\":\"/\",\"description\":\"Multinomial distribution\",\"type\":\"standalone\"},{\"name\":\"NEGBIN\",\"followsDelimiter\":\"/\",\"description\":\"Negative binomial distribution\",\"type\":\"standalone\"},{\"name\":\"NORMAL\",\"followsDelimiter\":\"/\",\"description\":\"Normal distribution\",\"type\":\"standalone\"},{\"name\":\"POISSON\",\"followsDelimiter\":\"/\",\"description\":\"Poisson distribution\",\"type\":\"standalone\"},{\"name\":\"ZIP\",\"followsDelimiter\":\"/\",\"description\":\"\",\"type\":\"standalone\"}]},{\"name\":\"DSCALE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Same as specifying SCALE=DEVIANCE or SCALE=D. This fixes the scale parameter at a value of 1 in the estimation procedure.\",\"type\":\"standalone\"},{\"name\":\"EXACTMAX\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Names a variable used for performing an exact Poisson regression. For each observation, the integer part of the EXACTMAX value should be nonnegative and at least as large as the response value. If the EXACTMAX option is specified without a variable, then default values are computed.\",\"type\":\"standalone\"},{\"name\":\"EXPECTED\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that the expected Fisher information matrix be used to compute parameter estimate covariances and the associated statistics.\",\"type\":\"standalone\"},{\"name\":\"INITIAL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Sets initial values for parameter estimates in the model.\",\"help\":\"INITIAL=*numbers*\",\"type\":\"value\"},{\"name\":\"INTERCEPT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Initializes the intercept term to number for parameter estimation.\",\"help\":\"INTERCEPT=*number*\",\"type\":\"value\"},{\"name\":\"ITPRINT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays the iteration history for all iterative processes: parameter estimation, fitting constrained models for contrasts and Type 3 analyses, and profile likelihood confidence intervals.\",\"type\":\"standalone\"},{\"name\":\"LINK=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the link function to use in the model.\",\"help\":\"LINK=CUMCLL | CUMLOGIT | CUMPROBIT | CLOGLOG | IDENTITY | LOG | LOGIT | PROBIT | POWER(number)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"CUMCLL\",\"followsDelimiter\":\"/\",\"description\":\"Cumulative complementary log-log function\",\"type\":\"standalone\"},{\"name\":\"CUMLOGIT\",\"followsDelimiter\":\"/\",\"description\":\"Cumulative logit function\",\"type\":\"standalone\"},{\"name\":\"CUMPROBIT\",\"followsDelimiter\":\"/\",\"description\":\"Cumulative probit function\",\"type\":\"standalone\"},{\"name\":\"CLOGLOG\",\"followsDelimiter\":\"/\",\"description\":\"Complementary log-log function\",\"type\":\"standalone\"},{\"name\":\"IDENTITY\",\"followsDelimiter\":\"/\",\"description\":\"Identity function\",\"type\":\"standalone\"},{\"name\":\"LOG\",\"followsDelimiter\":\"/\",\"description\":\"Log function\",\"type\":\"standalone\"},{\"name\":\"LOGIT\",\"followsDelimiter\":\"/\",\"description\":\"Logit function\",\"type\":\"standalone\"},{\"name\":\"PROBIT\",\"followsDelimiter\":\"/\",\"description\":\"Probit function\",\"type\":\"standalone\"},{\"name\":\"POWER\",\"followsDelimiter\":\"/\",\"description\":\"Power with λ=number function\",\"help\":\"POWER(number)\",\"type\":\"standalone\"}]},{\"name\":\"LRCI\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that two-sided confidence intervals for all model parameters be computed based on the profile likelihood function.\",\"type\":\"standalone\"},{\"name\":\"MAXITER=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"MAXIT=\"],\"description\":\"Sets the maximum allowable number of iterations for all iterative computation processes in PROC GENMOD. By default, MAXITER=50.\",\"help\":\"MAXITER=*number*\",\"type\":\"value\"},{\"name\":\"NOINT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that no intercept term be included in the model. An intercept is included unless this option is specified.\",\"type\":\"standalone\"},{\"name\":\"NOSCALE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Holds the scale parameter fixed. Otherwise, for the normal, inverse Gaussian, and gamma distributions, the scale parameter is estimated by maximum likelihood. If you omit the SCALE= option, the scale parameter is fixed at the value 1.\",\"type\":\"standalone\"},{\"name\":\"OBSTATS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies that an additional table of statistics be displayed.\",\"type\":\"standalone\"},{\"name\":\"OFFSET=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies a variable in the input data set to be used as an offset variable.\",\"help\":\"OFFSET=*variable*\",\"type\":\"value\"},{\"name\":\"PREDICTED\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"PRED\"],\"description\":\"Requests that predicted values, the linear predictor, its standard error, and the Hessian weight be displayed (see the OBSTATS option).\",\"type\":\"standalone\"},{\"name\":\"RESIDUALS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that residuals and standardized residuals be displayed.\",\"type\":\"standalone\"},{\"name\":\"SCALE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Sets the value used for the scale parameter where the NOSCALE option is used.\",\"help\":\"SCALE=&lt;*number*&gt; | PEARSON | DEVIANCE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"number\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"Replace number with an actual scale parameter value.\",\"type\":\"value\"},{\"name\":\"PEARSON\",\"followsDelimiter\":\"/\",\"aliases\":[\"P\"],\"description\":\"Fixes the scale parameter at the value 1 in the estimation procedure. After the parameter estimates are determined, the exponential family dispersion parameter is assumed to be given by Pearson’s chi-square statistic divided by the degrees of freedom.\",\"type\":\"standalone\"},{\"name\":\"DEVIANCE\",\"followsDelimiter\":\"/\",\"aliases\":[\"D\"],\"description\":\"Fixes the scale parameter at a value of 1 in the estimation procedure. After the parameter estimates are determined, the exponential family dispersion parameter is assumed to be given by the deviance divided by the degrees of freedom.\",\"type\":\"standalone\"}]},{\"name\":\"SCORING=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that on iterations up to number, the Hessian matrix be computed using the Fisher scoring method.\",\"help\":\"SCORING=*number*\",\"type\":\"value\"},{\"name\":\"SINGULAR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Sets the tolerance for testing singularity of the information matrix and the crossproducts matrix.\",\"help\":\"SINGULAR=*number*\",\"type\":\"value\"},{\"name\":\"TYPE1\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that a Type 1, or sequential, analysis be performed.\",\"type\":\"standalone\"},{\"name\":\"TYPE3\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that statistics for Type 3 contrasts be computed for each effect specified in the MODEL statement.\",\"type\":\"standalone\"},{\"name\":\"WALD\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests Wald statistics for Type 3 contrasts. You must also specify the TYPE3 option in order to compute Type 3 Wald statistics.\",\"type\":\"standalone\"},{\"name\":\"WALDCI\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that two-sided Wald confidence intervals for all model parameters be computed based on the asymptotic normality of the parameter estimators.\",\"type\":\"standalone\"},{\"name\":\"XVARS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that the regression variables be included in the OBSTATS table.\",\"type\":\"standalone\"}]},{\"name\":\"OUTPUT\",\"description\":\"The OUTPUT statement creates a new SAS data set that contains all the variables in the input data set and, optionally, the estimated linear predictors (XBETA) and their standard error estimates, the weights for the Hessian matrix, predicted values of the mean, confidence limits for predicted values, residuals, and case deletion diagnostics. Residuals and diagnostic statistics are not computed for multinomial models.\",\"help\":\"OUTPUT &lt;DFBETA=&gt;&lt;DFBETAS=&gt; OUT=SAS-data-set ...\",\"arguments\":[{\"name\":\"OUT=\",\"description\":\"Specifies the output data set. If you omit the OUT=option, the output data set is created and given a default name that uses the DATA convention.\",\"help\":\"OUT=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"CH=\",\"optional\":true,\"aliases\":[\"CLUSTERH=\",\"CLEVERAGE=\"],\"description\":\"[Requires REPEATED statement] Represents the leverage of a cluster.\",\"type\":\"value\"},{\"name\":\"CLUSTER\",\"optional\":true,\"description\":\"[Requires REPEATED statement] Represents the numerical cluster index, in order of sorted clusters.\",\"type\":\"standalone\"},{\"name\":\"DCLS=\",\"optional\":true,\"aliases\":[\"CLUSTERCOOKD=\",\"CLUSTERCOOKSD=\"],\"description\":\"[Requires REPEATED statement] Represents the Cook distance type statistic to measure the influence of deleting an entire cluster on the overall model fit.\",\"type\":\"value\"},{\"name\":\"DFBETA=\",\"optional\":true,\"aliases\":[\"DBETA=\"],\"description\":\"Represents the effect of deleting an observation on parameter estimates.\",\"type\":\"value\"},{\"name\":\"DFBETAC=\",\"optional\":true,\"aliases\":[\"DBETAC=\"],\"description\":\"[Requires REPEATED statement] Represents the effect of deleting an entire cluster on parameter estimates.\",\"type\":\"value\"},{\"name\":\"DFBETACS=\",\"optional\":true,\"aliases\":[\"DBETACS=\"],\"description\":\"[Requires REPEATED statement] Represents the effect of deleting an entire cluster on normalized parameter estimates.\",\"type\":\"value\"},{\"name\":\"DFBETAS=\",\"optional\":true,\"aliases\":[\"DBETAS=\"],\"description\":\"Represents the effect of deleting an observation on standardized parameter estimates.\",\"type\":\"value\"},{\"name\":\"DOBS=\",\"optional\":true,\"aliases\":[\"COOKD=\",\"COOKSD=\"],\"description\":\"Represents the Cook distance type statistic to measure the influence of deleting a single observation on the overall model fit.\",\"type\":\"value\"},{\"name\":\"HESSWGT=\",\"optional\":true,\"description\":\"Represents the diagonal element of the weight matrix used in computing the Hessian matrix.\",\"type\":\"value\"},{\"name\":\"LEVERAGE=\",\"optional\":true,\"aliases\":[\"H=\"],\"description\":\"Represents the leverage of a single observation.\",\"type\":\"value\"},{\"name\":\"LOWER=\",\"optional\":true,\"aliases\":[\"L=\"],\"description\":\"Represents the lower confidence limit for the predicted value of the mean, or the lower confidence limit for the probability that the response is less than or equal to the value of Level or Value.\",\"type\":\"value\"},{\"name\":\"MCLS=\",\"optional\":true,\"aliases\":[\"CLUSTERDFIT=\"],\"description\":\"[Requires REPEATED statement] Represents the studentized Cook distance type statistic to measure the influence of deleting an entire cluster on the overall model fit.\",\"type\":\"value\"},{\"name\":\"PREDICTED=\",\"optional\":true,\"aliases\":[\"PRED=\",\"PROB=\",\"P=\"],\"description\":\"Represents the predicted value of the mean of the response or the predicted probability that the response variable is less than or equal to the value of Level or Value if the multinomial model for ordinal data is used.\",\"type\":\"value\"},{\"name\":\"PZERO=\",\"optional\":true,\"description\":\"Represents the zero-inflation probability for zero-inflated models.\",\"type\":\"value\"},{\"name\":\"RESCHI=\",\"optional\":true,\"description\":\"Represents the Pearson (chi) residual for identifying observations that are poorly accounted for by the model.\",\"type\":\"value\"},{\"name\":\"RESDEV=\",\"optional\":true,\"description\":\"Represents the deviance residual for identifying poorly fitted observations.\",\"type\":\"value\"},{\"name\":\"RESLIK=\",\"optional\":true,\"description\":\"Represents the likelihood residual for identifying poorly fitted observations.\",\"type\":\"value\"},{\"name\":\"RESRAW=\",\"optional\":true,\"description\":\"Represents the raw residual for identifying poorly fitted observations.\",\"type\":\"value\"},{\"name\":\"STDRESCHI=\",\"optional\":true,\"description\":\"Represents the standardized Pearson (chi) residual for identifying observations that are poorly accounted for by the model.\",\"type\":\"value\"},{\"name\":\"STDRESDEV=\",\"optional\":true,\"description\":\"Represents the standardized deviance residual for identifying poorly fitted observations.\",\"type\":\"value\"},{\"name\":\"STDXBETA=\",\"optional\":true,\"description\":\"Represents the standard error estimate of XBETA (see the XBETA keyword).\",\"type\":\"value\"},{\"name\":\"UPPER=\",\"optional\":true,\"aliases\":[\"U=\"],\"description\":\"Represents the upper confidence limit for the predicted value of the mean, or the upper confidence limit for the probability that the response is less than or equal to the value of Level or Value.\",\"type\":\"value\"},{\"name\":\"XBETA=\",\"optional\":true,\"description\":\"Represents the estimate of the linear predictor x'iB for observation i, or aj + x'iB, where j is the corresponding ordered value of the response variable for the multinomial model with ordinal data.\",\"type\":\"value\"}]},{\"name\":\"REPEATED\",\"description\":\"The REPEATED statement specifies the covariance structure of multivariate responses for GEE model fitting in the GENMOD procedure.\",\"help\":\"REPEATED &lt;ALPHAINIT=numbers&gt;&lt;CONVERGE=number&gt; SUBJECT=subject-effect ...\",\"arguments\":[{\"name\":\"SUBJECT=\",\"description\":\"Identifies subjects in the input data set.\",\"help\":\"SUBJECT=*subject-effect*\",\"type\":\"value\"},{\"name\":\"ALPHAINIT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies initial values for log odds ratio regression parameters if the LOGOR= option is specified for binary data.\",\"help\":\"ALPHAINIT=*numbers*\",\"type\":\"value\"},{\"name\":\"CONVERGE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the convergence criterion for GEE parameter estimation.\",\"help\":\"CONVERGE=*number*\",\"type\":\"value\"},{\"name\":\"CORRW\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays the estimated regression parameter correlation matrix. Both model-based and empirical correlations are displayed.\",\"type\":\"standalone\"},{\"name\":\"COVB\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays the estimated regression parameter covariance matrix. Both model-based and empirical covariances are displayed.\",\"type\":\"standalone\"},{\"name\":\"ECORRB\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays the estimated regression parameter empirical correlation matrix.\",\"type\":\"standalone\"},{\"name\":\"ECOVB\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays the estimated regression parameter empirical covariance matrix.\",\"type\":\"standalone\"},{\"name\":\"INITIAL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies initial values of the regression parameters estimation, other than the intercept parameter, for GEE estimation.\",\"help\":\"INITIAL=*numbers*\",\"type\":\"value\"},{\"name\":\"INTERCEPT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies either an initial or a fixed value of the intercept regression parameter in the GEE model.\",\"help\":\"INTERCEPT=*number*\",\"type\":\"value\"},{\"name\":\"LOGOR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the regression structure of the log odds ratio used to model the association of the responses from subjects for binary data.\",\"help\":\"LOGOR=EXCH | FULLCLUST | LOGORVAR(variable) | NESTK | NEST1 | ZFULL | ZREP&lt;(*matrix*)&gt;\",\"type\":\"choice\",\"arguments\":[{\"name\":\"EXCH\",\"followsDelimiter\":\"/\",\"description\":\"Exchangeable\",\"type\":\"standalone\"},{\"name\":\"FULLCLUST\",\"followsDelimiter\":\"/\",\"description\":\"Fully parameterized clusters\",\"type\":\"standalone\"},{\"name\":\"LOGORVAR\",\"followsDelimiter\":\"/\",\"description\":\"Indicator variable for specifying block effects\",\"help\":\"LOGORVAR(variable)\",\"type\":\"standalone\"},{\"name\":\"NESTK\",\"followsDelimiter\":\"/\",\"description\":\"k-nested\",\"type\":\"standalone\"},{\"name\":\"NEST1\",\"followsDelimiter\":\"/\",\"description\":\"1-nested\",\"type\":\"standalone\"},{\"name\":\"ZFULL\",\"followsDelimiter\":\"/\",\"description\":\"Fully specified z-matrix specified in ZDATA= data set\",\"type\":\"standalone\"},{\"name\":\"ZREP\",\"followsDelimiter\":\"/\",\"description\":\"Single cluster specification for replicated z-matrix specified in ZDATA= data set.\",\"help\":\"ZREP&lt;(*matrix*)&gt;\",\"type\":\"standaloneOrValue\"}]},{\"name\":\"MAXITER=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"MAXIT=\"],\"description\":\"Specifies the maximum number of iterations allowed in the iterative GEE estimation process. The default number is 50.\",\"help\":\"MAXITER=*number*\",\"type\":\"value\"},{\"name\":\"MCORRB\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays the estimated regression parameter model-based correlation matrix.\",\"type\":\"standalone\"},{\"name\":\"MCOVB\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays the estimated regression parameter model-based covariance matrix.\",\"type\":\"standalone\"},{\"name\":\"MODELSE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays an analysis of parameter estimates table that uses model-based standard errors for inference.\",\"type\":\"standalone\"},{\"name\":\"PRINTMLE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays an analysis of maximum likelihood parameter estimates table. The maximum likelihood estimates are not displayed unless this option is specified.\",\"type\":\"standalone\"},{\"name\":\"RUPDATE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the number of iterations between updates of the working correlation matrix.\",\"help\":\"RUPDATE=*number*\",\"type\":\"value\"},{\"name\":\"SORTED\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies that the input data are grouped by subject and sorted within subject.\",\"type\":\"standalone\"},{\"name\":\"SUBCLUSTER=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"SUBCLUST=\"],\"description\":\"Specifies a variable defining subclusters for the 1-nested or k-nested log odds ratio association modeling structures.\",\"help\":\"SUBCLUSTER=*variable*\",\"type\":\"value\"},{\"name\":\"TYPE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"CORR=\"],\"description\":\"Specifies the structure of the working correlation matrix used to model the correlation of the responses from subjects.\",\"help\":\"TYPE=AR | EXCH | IND | MDEP(number) | UNSTR | USER | FIXED (matrix)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"AR\",\"followsDelimiter\":\"/\",\"description\":\"Autoregressive(1)\",\"type\":\"standalone\"},{\"name\":\"EXCH\",\"followsDelimiter\":\"/\",\"description\":\"Exchangeable\",\"type\":\"standalone\"},{\"name\":\"IND\",\"followsDelimiter\":\"/\",\"description\":\"Independent\",\"type\":\"standalone\"},{\"name\":\"MDEP\",\"followsDelimiter\":\"/\",\"description\":\"m-dependent with m=number\",\"help\":\"MDEP(number)\",\"type\":\"standalone\"},{\"name\":\"UNSTR\",\"followsDelimiter\":\"/\",\"description\":\"Unstructured\",\"type\":\"standalone\"},{\"name\":\"USER\",\"followsDelimiter\":\"/\",\"description\":\"Fixed, user-specified correlation matrix\",\"type\":\"standalone\"},{\"name\":\"FIXED\",\"followsDelimiter\":\"/\",\"description\":\"Fixed, user-specified correlation matrix\",\"help\":\"FIXED (matrix)\",\"type\":\"standalone\"}]},{\"name\":\"V6CORR\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies that the SAS ‘Version 6’ method of computing the normalized Pearson chi-square be used for working correlation estimation and for model-based covariance matrix scale factor.\",\"type\":\"standalone\"},{\"name\":\"WITHINSUBJECT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"WITHIN=\"],\"description\":\"Defines an effect specifying the order of measurements within subjects.\",\"type\":\"value\"},{\"name\":\"YPAIR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the variables in the ZDATA= data set corresponding to pairs of responses for log odds ratio association modeling.\",\"help\":\"YPAIR=*variable-list*\",\"type\":\"value\"},{\"name\":\"ZDATA=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies a SAS data set containing either the full z-matrix for log odds ratio association modeling or the z-matrix for a single complete cluster to be replicated for all clusters.\",\"help\":\"ZDATA=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"ZROW=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the variables in the ZDATA= data set corresponding to rows of the z-matrix for log odds ratio association modeling.\",\"help\":\"ZROW=*variable-list*\",\"type\":\"value\"}]},{\"name\":\"SLICE\",\"description\":\"The SLICE statement provides a general mechanism for performing a partitioned analysis of the LS-means for an interaction. This analysis is also known as an analysis of simple effects. The SLICE statement uses the same options as the LSMEANS statement.\",\"help\":\"SLICE &lt;ADJDFE=&lt;SOURCE | ROW&gt;&gt;&lt;ADJUST=&lt;BON | DUNNETT | NELSON&gt;... &gt;&lt;ALPHA=number&gt; ...\",\"arguments\":[{\"name\":\"ADJDFE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies how denominator degrees of freedom are determined when p-values and confidence limits are adjusted for multiple comparisons with the ADJUST= option.\",\"help\":\"ADJDFE=SOURCE | ROW\",\"type\":\"choice\",\"arguments\":[{\"name\":\"SOURCE\",\"followsDelimiter\":\"/\",\"description\":\"The denominator degrees of freedom for multiplicity-adjusted results are the denominator degrees of freedom for the LS-mean effect in the \\\"Type III Tests of Fixed Effects\\\" table.\",\"type\":\"standalone\"},{\"name\":\"ROW\",\"followsDelimiter\":\"/\",\"description\":\"Useful if you want multiplicity adjustments to take into account that denominator degrees of freedom are not constant across LS-mean differences.\",\"type\":\"standalone\"}]},{\"name\":\"ADJUST=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests a multiple comparison adjustment for the p-values and confidence limits for the differences of LS-means.\",\"help\":\"ADJUST=BON | DUNNETT | NELSON | SCHEFFE | SIDAK | SIMULATE | SMM | TUKEY\",\"type\":\"choice\",\"arguments\":[{\"name\":\"BON\",\"followsDelimiter\":\"/\",\"description\":\"Bonferroni adjustment\",\"type\":\"standalone\"},{\"name\":\"DUNNETT\",\"followsDelimiter\":\"/\",\"description\":\"Dunnett adjustment (in which the procedure analyzes all differences with a control level)\",\"type\":\"standalone\"},{\"name\":\"NELSON\",\"followsDelimiter\":\"/\",\"description\":\"Nelson adjustment (in which ANOM differences are taken)\",\"type\":\"standalone\"},{\"name\":\"SCHEFFE\",\"followsDelimiter\":\"/\",\"description\":\"Scheffe's adjustment\",\"type\":\"standalone\"},{\"name\":\"SIDAK\",\"followsDelimiter\":\"/\",\"description\":\"Sidak adjustment\",\"type\":\"standalone\"},{\"name\":\"SIMULATE\",\"followsDelimiter\":\"/\",\"description\":\"Computes adjusted p-values and confidence limits from the simulated distribution of the maximum or maximum absolute value of a multivariate t random vector. Syntax: SIMULATE<(simoptions)> You can specify the following simoptions in parentheses after the ADJUST=SIMULATE option. ACC=value specifies the target accuracy radius γ of a 100(1-ε)% confidence interval for the true probability content of the estimated (1-α)th quantile. The default value is ACC=0.005. EPS=value specifies the value ε for a 100(1-ε)% confidence interval for the true probability content of the estimated (1-α)th quantile. The default value is ACC=0.005. NSAMP=n specifies the sample size for the simulation. SEED=number specifies an integer that is used to start the pseudo-random number generator for the simulation. THREADS specifies that the computational work for the simulation be divided into parallel threads, where the number of threads is the value of the SAS system option CPUCOUNT=. NOTHREADS specifies that the computational work for the simulation be performed in sequence rather than in parallel. NOTHREADS is the default. This option overrides the SAS system option THREADS|NOTHREADS.\",\"type\":\"standalone\"},{\"name\":\"SMM\",\"followsDelimiter\":\"/\",\"aliases\":[\"GT2\"],\"description\":\"SMM adjustment\",\"type\":\"standalone\"},{\"name\":\"TUKEY\",\"followsDelimiter\":\"/\",\"description\":\"If your data are unbalanced, PROC GLIMMIX uses the approximation described in Kramer (1956) and identifies the adjustment as \\\"Tukey-Kramer\\\" in the results.\",\"type\":\"standalone\"}]},{\"name\":\"ALPHA=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that a t-type confidence interval be constructed for each of the LS-means with confidence level (1-number)x100%. The value of number must be between 0 and 1; the default is 0.05.\",\"help\":\"ALPHA=*number*\",\"type\":\"value\"},{\"name\":\"AT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Modifies the values of the covariates that are used in computing LS-means. By default, all covariate effects are set equal to their mean values for computation of standard LS-means. The AT option enables you to assign arbitrary values to the covariates. Additional columns in the output table indicate the values of the covariates.\",\"help\":\"AT=MEANS\",\"type\":\"choice\",\"arguments\":[{\"name\":\"MEANS\",\"type\":\"standalone\"}]},{\"name\":\"BYLEVEL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that separate margins be computed for each level of the SLICE model-effect.\",\"type\":\"standalone\"},{\"name\":\"CL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that t-type confidence limits be constructed for each of the LS-means. The confidence level is 0.95 by default; this can be changed with the ALPHA= option.\",\"type\":\"standalone\"},{\"name\":\"CORR\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays the estimated correlation matrix of the least squares means as part of the \\\"Least Squares Means\\\" table.\",\"type\":\"standalone\"},{\"name\":\"COV\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays the estimated covariance matrix of the least squares means as part of the \\\"Least Squares Means\\\" table.\",\"type\":\"standalone\"},{\"name\":\"DF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the degrees of freedom for the t test and confidence limits. The default is the denominator degrees of freedom taken from the \\\"Type III Tests\\\" table that corresponds to the LS-means effect.\",\"help\":\"DF=*number*\",\"type\":\"value\"},{\"name\":\"DIFF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"PDIFF=\"],\"description\":\"Requests that differences of the LS-means be displayed.\",\"help\":\"DIFF=ALL | ANOM | CONTROL | CONTROLL | CONTROLU\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ALL\",\"followsDelimiter\":\"/\",\"description\":\"Requests all pairwise differences; this is the default.\",\"type\":\"standalone\"},{\"name\":\"ANOM\",\"followsDelimiter\":\"/\",\"description\":\"Requests differences between each LS-mean and the average LS-mean, as in the analysis of means (Ott 1967).\",\"type\":\"standalone\"},{\"name\":\"CONTROL\",\"followsDelimiter\":\"/\",\"description\":\"Requests the differences with a control, which, by default, is the first level of each of the specified SLICE effects.\",\"type\":\"standalone\"},{\"name\":\"CONTROLL\",\"followsDelimiter\":\"/\",\"description\":\"Tests whether the noncontrol levels are significantly smaller than the control; the upper confidence limits for the control minus the noncontrol levels are considered to be infinity and are displayed as missing.\",\"type\":\"standalone\"},{\"name\":\"CONTROLU\",\"followsDelimiter\":\"/\",\"description\":\"Tests whether the noncontrol levels are significantly larger than the control; the upper confidence limits for the noncontrol levels minus the control are considered to be infinity and are displayed as missing.\",\"type\":\"standalone\"}]},{\"name\":\"E\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that the L matrix coefficients for the SLICE effects be displayed.\",\"type\":\"standalone\"},{\"name\":\"EXP\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests exponentiation of the LS-means or LS-mean differences. When you model data with the logit, cumulative logit, or generalized logit link functions, and the estimate represents a log odds ratio or log cumulative odds ratio, the EXP option produces an odds ratio. In proportional hazards model, the exponentiation of the LS-mean differences produces estimates of hazard ratios. If you specify the CL or ALPHA= option, the (adjusted) confidence bounds are also exponentiated.\",\"type\":\"standalone\"},{\"name\":\"ILINK\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that estimates and their standard errors in the \\\"Least Squares Means\\\" table also be reported on the scale of the mean (the inverse linked scale).\",\"type\":\"standalone\"},{\"name\":\"LINES\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Presents results of comparisons between all pairs of least squares means by listing the means in descending order and indicating nonsignificant subsets by line segments beside the corresponding LS-means.\",\"type\":\"standalone\"},{\"name\":\"MEANS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies to produce the table of least squares means.\",\"type\":\"standalone\"},{\"name\":\"NOF\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Suppresses the F test for testing the mutual equality of the estimable functions in the partition.\",\"type\":\"standalone\"},{\"name\":\"NOMEANS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies not to produce the table of least squares means. This is the default.\",\"type\":\"standalone\"},{\"name\":\"OBSMARGINS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"OM=\"],\"description\":\"Specifies a potentially different weighting scheme for the computation of LS-means coefficients. The standard LS-means have equal coefficients across classification effects; however, the OM option changes these coefficients to be proportional to those found in the OM-data-set. This adjustment is reasonable when you want your inferences to apply to a population that is not necessarily balanced but has the margins that are observed in OM-data-set.\",\"type\":\"value\"},{\"name\":\"ODDSRATIO\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"OR\"],\"description\":\"Requests that LS-mean differences (DIFF, ADJUST= options) are also reported in terms of odds ratios. The ODDSRATIO option is ignored unless you use either the logit, cumulative logit, or generalized logit link function. If you specify the CL or ALPHA= option, confidence intervals for the odds ratios are also computed. These intervals are adjusted for multiplicity when you specify the ADJUST= option.\",\"type\":\"standalone\"},{\"name\":\"PDIFF\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Is the same as the DIFF option.\",\"type\":\"standalone\"},{\"name\":\"PLOT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"PLOTS=\"],\"description\":\"Requests that least squares means related graphics are produced via ODS Graphics, provided that the ODS GRAPHICS statement has been specified and the plot request does not conflict with other options in the SLICE statement.\",\"help\":\"PLOT=ALL | ANOMPLOT | BOXPLOT | CONTROLPLOT | DIFFPLOT | DISTPLOT | MEANPLOT | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ALL\",\"followsDelimiter\":\"/\",\"description\":\"Requests that the default plots corresponding to this SLICE statement be produced.\",\"type\":\"standalone\"},{\"name\":\"ANOMPLOT\",\"followsDelimiter\":\"/\",\"aliases\":[\"ANOM\"],\"description\":\"Requests an analysis of means display in which least squares means are compared to an average least squares mean.\",\"type\":\"standalone\"},{\"name\":\"BOXPLOT\",\"followsDelimiter\":\"/\",\"description\":\"Syntax: BOXPLOT<boxplot-options>> Produces box plots of the distribution of the least squares mean or least squares mean differences across a posterior sample. For example, this plot is available in procedures that support a Bayesian analysis through the BAYES statement. A separate box is generated for each estimable function, and all boxes appear on a single graph by default. You can affect the appearance of the box plot graph with the following options: ORIENTATION=VERTICAL|HORIZONTAL ORIENT=VERT|HORIZ specifies the orientation of the boxes. The default is vertical orientation of the box plots. NPANELPOS=number specifies how to break the series of box plots across multiple panels. If the NPANELPOS option is not specified, or if number equals zero, then all box plots are displayed in a single graph; this is the default.\",\"type\":\"standalone\"},{\"name\":\"CONTROLPLOT\",\"followsDelimiter\":\"/\",\"aliases\":[\"CONTROL\"],\"description\":\"Requests a display in which least squares means are visually compared against a reference level.\",\"type\":\"standalone\"},{\"name\":\"DIFFPLOT\",\"followsDelimiter\":\"/\",\"aliases\":[\"DIFFOGRAM\",\"DIFF\"],\"description\":\"Requests a display of all pairwise least squares mean differences and their significance. Syntax: DIFFPLOT<(diffplot-options)> You can specify the following diffplot-options: ABS all line segments are shown on the same side of the reference line. NOABS separates comparisons according to the sign of the difference. CENTER marks the center point for each comparison. NOLINES suppresses the display of the line segments that represent the confidence bounds for the differences of the least squares means. The NOLINES option implies the CENTER option.\",\"type\":\"standalone\"},{\"name\":\"DISTPLOT\",\"followsDelimiter\":\"/\",\"aliases\":[\"DIST\"],\"description\":\"Syntax: DISTPLOT<distplot-options> Generates panels of histograms with a kernel density overlaid if the analysis has access to a set of posterior parameter estimates. You can sepcify the following distplot-options in parentheses: BOX|NOBOX controls the display of a horizontal box plot of the estimable function’s distribution across the posterior sample below the graph. The BOX option is enabled by default. HIST|NOHIST controls the display of the histogram of the estimable function’s distribution across the posterior sample. The HIST option is enabled by default. NORMAL|NONORMAL controls the display of a normal density estimate on the graph. The NONORMAL option is enabled by default. KERNEL|NOKERNEL controls the display of a kernel density estimate on the graph. The KERNEL option is enabled by default. NROWS=number specifies the highest number of rows in a panel. The default is 3. NCOLS=number specifies the highest number of columns in a panel. The default is 3. UNPACK unpacks the panel into separate graphics.\",\"type\":\"standalone\"},{\"name\":\"MEANPLOT\",\"followsDelimiter\":\"/\",\"description\":\"Syntax: MEANPLOT<(meanplot-options)> Requests displays of the least squares means. The following meanplot-options control the display of the least squares means: ASCENDING displays the least squares means in ascending order. This option has no effect if means are sliced or displayed in separate plots. CL displays upper and lower confidence limits for the least squares means. By default, 95% limits are drawn. CLBAND displays confidence limits as bands. This option implies the JOIN option. DESCENDING displays the least squares means in descending order. This option has no effect if means are sliced or displayed in separate plots. ILINK requests that means (and confidence limits) are displayed on the inverse linked scale. JOIN | CONNECT connects the least squares means with lines. This option is implied by the CLBAND option. SLICEBY=fixed-effect specifies an effect by which to group the means in a single plot. PLOTBY=fixed-effect specifies an effect by which to break interaction plots into separate displays.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"followsDelimiter\":\"/\",\"description\":\"Requests that no plots be produced.\",\"type\":\"standalone\"}]},{\"name\":\"SEED=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the seed for the sampling-based components of the computations for the SLICE statement (for example, chi-bar-square statistics and simulated p-values). number specifies an integer that is used to start the pseudo-random-number generator for the simulation. If you do not specify a seed, or if you specify a value less than or equal to zero, the seed is generated from reading the time of day from the computer clock.\",\"help\":\"SEED=*number*\",\"type\":\"value\"},{\"name\":\"SINGULAR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Tunes the estimability checking. The value for number must be between 0 and 1; the default is 1E-4.\",\"help\":\"SINGULAR=*number*\",\"type\":\"value\"},{\"name\":\"SLICEBY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"\",\"type\":\"value\"},{\"name\":\"STEPDOWN=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that multiple comparison adjustments for the p-values of LS-mean differences be further adjusted in a step-down fashion. Step-down methods increase the power of multiple comparisons by taking advantage of the fact that a p-value is never declared significant unless all smaller p-values are also declared significant. You can specify the following step-down options in parentheses: MAXTIME=n specifies the time (in seconds) to spend computing the maximal logically consistent sequential subsets of equality hypotheses for TYPE=LOGICAL. REPORT specifies that a report on the step-down adjustment should be displayed, including a listing of the sequential subsets (Westfall 1997) and, for ADJUST=SIMULATE, the step-down simulation results.\",\"help\":\"STEPDOWN=MAXTIME= | REPORT | TYPE=\",\"type\":\"choice\",\"arguments\":[{\"name\":\"MAXTIME=\",\"type\":\"value\"},{\"name\":\"REPORT\",\"type\":\"standalone\"},{\"name\":\"TYPE=\",\"type\":\"value\"}]}]},{\"name\":\"STORE\",\"aliases\":[\"ITEMSTORE\"],\"description\":\"The STORE statement requests that the procedure save the context and results of the statistical analysis. The resulting item store is a binary file format that cannot be modified. The contents of the item store can be processed with the PLM procedure. The item-store-name is a usual one- or two-level SAS name, like the names that are used for SAS data sets. If you specify a one-level name, then the item store resides in the WORK library and is deleted at the end of the SAS session. Since item stores usually are used to perform postprocessing tasks, typical usage specifies a two-level name of the form libname.membername. If an item store by the same name as specified in the STORE statement already exists, the existing store is replaced.\",\"help\":\"STORE &lt;LABEL='label'&gt;\",\"arguments\":[{\"name\":\"LABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Adds a custom label. When the PLM procedure processes an item store, the label appears in the PROC PLM output along with other identifying information.\",\"help\":\"LABEL='*label*'\",\"type\":\"value\"}]},{\"name\":\"STRATA\",\"aliases\":[\"STRATUM\"],\"description\":\"The proportional hazards assumption might not be realistic for all data. If so, it might still be reasonable to perform a stratified analysis. The STRATA statement names the variables that determine the stratification. Strata are formed according to the nonmissing values of the STRATA variables unless the MISSING option is specified. In the STRATA statement, variable is a variable with values that are used to determine the strata levels, and list is an optional list of values for a numeric variable. Multiple variables can appear in the STRATA statement.\",\"help\":\"STRATA &lt;MISSING&gt;\",\"arguments\":[{\"name\":\"MISSING\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Treats missing values (‘.’,‘.A’,...,‘.Z’ for numeric variables and blanks for character variables) as valid STRATA variable values.\",\"type\":\"standalone\"}]},{\"name\":\"VARIANCE\",\"description\":\"You can specify a probability distribution other than the built-in distributions by using the VARIANCE and DEVIANCE statements. The variable name variable identifies the variance function to the procedure. The expression is used to define the functional dependence on the mean, and it can be any arithmetic expression supported by the DATA step language. You use the automatic variable _MEAN_ to represent the mean in the expression.\",\"help\":\"VARIANCE variable = expression \"},{\"name\":\"WEIGHT\",\"aliases\":[\"SCWGT\"],\"description\":\"The WEIGHT statement identifies a variable in the input data set to be used as the exponential family dispersion parameter weight for each observation. The exponential family dispersion parameter is divided by the WEIGHT variable value for each observation. This is true regardless of whether the parameter is estimated by the procedure or specified in the MODEL statement with the SCALE= option. It is also true for distributions such as the Poisson and binomial that are not usually defined to have a dispersion parameter. For these distributions, a WEIGHT variable weights the overdispersion parameter, which has the default value of 1. The WEIGHT variable does not have to be an integer; if it is less than or equal to 0 or if it is missing, the corresponding observation is not used.\",\"help\":\"WEIGHT | SCWGT variable\"},{\"name\":\"ZEROMODEL\",\"description\":\"The ZEROMODEL statement enables you to perform zero-inflated Poisson regression or zero-inflated negative binomial regression when those respective distributions are specified by the DIST= option in the MODEL statement. The effects in the ZEROMODEL statement consist of explanatory variables or combinations of variables for the zero-inflation probability regression model in a zero-inflated model.\",\"help\":\"ZEROMODEL &lt;LINK=&lt;CLOGLOG | LOGIT | PROBIT&gt;&gt;\",\"arguments\":[{\"name\":\"LINK=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the link function to use in the model.\",\"help\":\"LINK=CLOGLOG | LOGIT | PROBIT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"CLOGLOG\",\"followsDelimiter\":\"/\",\"description\":\"Specifies to use the complementary log-log link function in the model.\",\"type\":\"standalone\"},{\"name\":\"LOGIT\",\"followsDelimiter\":\"/\",\"description\":\"Specifies to use the logit link function in the model.\",\"type\":\"standalone\"},{\"name\":\"PROBIT\",\"followsDelimiter\":\"/\",\"description\":\"Specifies to use the probit link function in the model.\",\"type\":\"standalone\"}]}]}],\"supportSiteInformation\":{\"docsetId\":\"statug\",\"docsetVersion\":\"latest\",\"docsetTargetFile\":\"statug_genmod_toc.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/GENSELECT.json",
    "content": "{\"name\":\"GENSELECT\",\"statements\":[{\"name\":\"PROC GENSELECT\",\"description\":\"The GENSELECT procedure provides model fitting and model building for generalized linear models in SAS Viya. It fits models for standard distributions in the exponential family, such as the normal, Poisson, and binomial distributions. In addition, PROC GENSELECT fits models for responses such as those modeled as the beta, generalized Poisson, and negative binomial distributions. For all these models, the GENSELECT procedure provides forward and backward variable selection. It also provides model selection by the LASSO method.\",\"help\":\"PROC GENSELECT <ABSCONV=r | ABSTOL=r><ABSFCONV= r <n> | ABSFTOL=r <n>><ABSGCONV=r <n> | ABSGTOL=r <n>><ABSXCONV=r <n> | ABSXTOL=r <n>><ALPHA=number><CORRB><COVB><DATA=CAS-libref.data-table><FCONV2=r <n> | FTOL2=r <n>><FCONV=r <n> | FTOL=r <n>><GCONV2=r <n> | GTOL2=r <n>><GCONV=r <n> | GTOL=r <n>><ITHIST><LASSORHO=r><LASSOSTEPS=n><LASSOTOL=r><MAXFUNC=n | MAXFU=n><MAXITER=n | MAXIT=n><MAXTIME=r><MINITER=n | MINIT=n><NOCHECK><NOCLPRINT< =number >><NORMALIZE=YES | NO><NOSTDERR><PAGESIZE=number|AUTO | MAXOPTBATCH=number|AUTO><PARTFIT><STB><TECHNIQUE=CONGRA | DBLDOG | LEVMAR... ><XCONV=r | XTOL=r>;     \\n\\tBY variables ;\\n\\n\\tCLASS <DESCENDING><MISSING><ORDER=<FORMATTED | FREQ | INTERNAL>> ...;\\n\\n\\tCODE <COMMENT><FILE=filename><FORMATWIDTH=width> ...;\\n\\n\\tDISPLAY <CASESENSITIVE><EXCLUDE><EXCLUDEALL> ...;\\n\\n\\tDISPLAYOUT <NOREPLACE><REPEATED> ;\\n\\n\\tEFFECT NAME=COLLECTION|MULTIMEMBER|MM|POLYNOMIAL|POLY...  <PERIOD=variable><WITHIN=(variables) | WITHIN=variable> ...;\\n\\n\\tFREQ variable ;\\n\\n\\tMODEL DESCENDING EVENT=<'category'>|FIRST|LAST  ORDER=FORMATTED|FREQ|INTERNAL  ...;\\n\\n\\tOUTPUT <ALL><ALPHA=number><OUT=CAS-libref.data-table> ...;\\n\\n\\tPARTITION <FRACTION(< TEST=fraction > < VALIDATE=fraction > < SEED=number >)><ROLE=|ROLEVAR=variable (< TEST='value' > < TRAIN='value' > < VALIDATE='value' >)> ;\\n\\n\\tSELECTION <DETAILS=<NONE | SUMMARY | ALL>... ><HIERARCHY=<NONE | SINGLE | SINGLECLASS>><METHOD=<BACKWARD | BACKWARD(FAST) | FORWARD>... > ...;\\n\\n\\tWEIGHT variable;\\n\",\"arguments\":[{\"name\":\"ABSCONV=\",\"optional\":true,\"aliases\":[\"ABSTOL=\"],\"description\":\"Specifies an absolute function convergence criterion. The default value of r is the negative square root of the largest double-precision value, which serves only as a protection against overflows.\",\"type\":\"value\"},{\"name\":\"ABSFCONV=\",\"optional\":true,\"aliases\":[\"ABSFTOL=\"],\"description\":\"Specifies an absolute function difference convergence criterion. For all techniques except NMSIMP, termination requires a small change of the function value in successive iterations.\",\"type\":\"value\"},{\"name\":\"ABSGCONV=\",\"optional\":true,\"aliases\":[\"ABSGTOL=\"],\"description\":\"Specifies an absolute gradient convergence criterion. This criterion is not used by the NMSIMP technique. The optional integer value n specifies the number of successive iterations for which the criterion must be satisfied before the process can be terminated. By default, ABSGCONV=1E–5.\",\"type\":\"value\"},{\"name\":\"ABSXCONV=\",\"optional\":true,\"aliases\":[\"ABSXTOL=\"],\"description\":\"Specifies the absolute parameter convergence criterion.\",\"type\":\"value\"},{\"name\":\"ALPHA=\",\"optional\":true,\"description\":\"Specifies a global significance level for the construction of confidence intervals. The confidence level is 1 – number. The value of number must be between 0 and 1. You can override this global significance level by specifying this option in the OUTPUT Procedure. By default, ALPHA=0.05.\",\"help\":\"ALPHA=*number*\",\"type\":\"value\"},{\"name\":\"CORRB\",\"optional\":true,\"description\":\"Creates the \\\"Parameter Estimates Correlation Matrix\\\" table.\",\"type\":\"standalone\"},{\"name\":\"COVB\",\"optional\":true,\"description\":\"Creates the \\\"Parameter Estimates Covariance Matrix\\\" table.\",\"type\":\"standalone\"},{\"name\":\"DATA=\",\"optional\":true,\"description\":\"Names the input data table for PROC GENSELECT to use. The default is the most recently created data table. CAS-libref specifies the CAS library where the input data table resides, and data-table specifies the name of the input data table.\",\"help\":\"DATA=*CAS-libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"FCONV2=\",\"optional\":true,\"aliases\":[\"FTOL2=\"],\"description\":\"Specifies a second function convergence criterion.\",\"type\":\"value\"},{\"name\":\"FCONV=\",\"optional\":true,\"aliases\":[\"FTOL=\"],\"description\":\"Specifies a relative function convergence criterion.\",\"type\":\"value\"},{\"name\":\"GCONV2=\",\"optional\":true,\"aliases\":[\"GTOL2=\"],\"description\":\"Specifies another relative gradient convergence criterion.\",\"type\":\"value\"},{\"name\":\"GCONV=\",\"optional\":true,\"aliases\":[\"GTOL=\"],\"description\":\"Specifies a relative gradient convergence criterion.\",\"type\":\"value\"},{\"name\":\"ITHIST\",\"optional\":true,\"description\":\"Generates the “Iteration History” table.\",\"type\":\"standalone\"},{\"name\":\"LASSORHO=\",\"optional\":true,\"description\":\"Specifies the base regularization parameter for the LASSO model selection method. By default, LASSORHO=0.8.\",\"help\":\"LASSORHO=*r*\",\"type\":\"value\"},{\"name\":\"LASSOSTEPS=\",\"optional\":true,\"description\":\"Specifies the maximum number of steps for LASSO model selection. By default, LASSOSTEPS=20.\",\"help\":\"LASSOSTEPS=*n*\",\"type\":\"value\"},{\"name\":\"LASSOTOL=\",\"optional\":true,\"description\":\"Specifies the convergence tolerance for the optimization algorithm that solves for the LASSO parameter estimates at each step of LASSO model selection. By default, LASSOTOL=1E–6.\",\"help\":\"LASSOTOL=*r*\",\"type\":\"value\"},{\"name\":\"MAXFUNC=\",\"optional\":true,\"aliases\":[\"MAXFU=\"],\"description\":\"Specifies the maximum number n of function calls in the optimization process. The default values are as follows, depending on the optimization technique: o TRUREG, NRRIDG, and NEWRAP: 125 o QUANEW and DBLDOG: 500 o CONGRA: 1,000 o NMSIMP: 3,000\",\"type\":\"value\"},{\"name\":\"MAXITER=\",\"optional\":true,\"aliases\":[\"MAXIT=\"],\"description\":\"Specifies the maximum number n of iterations in the optimization process. The default values are as follows, depending on the optimization technique: o TRUREG, NRRIDG, and NEWRAP: 50 o QUANEW and DBLDOG: 200 o CONGRA: 400 o NMSIMP: 1,000\",\"type\":\"value\"},{\"name\":\"MAXTIME=\",\"optional\":true,\"description\":\"Specifies an upper limit of r seconds of CPU time for the optimization process. The time specified by r is checked only once at the end of each iteration. Therefore, the actual running time can be longer than r . The default value is the largest floating-point double representation of your computer.\",\"help\":\"MAXTIME=*r*\",\"type\":\"value\"},{\"name\":\"MINITER=\",\"optional\":true,\"aliases\":[\"MINIT=\"],\"description\":\"Specifies the minimum number of iterations. If you request more iterations than are actually needed for convergence to a stationary point, the optimization algorithms can behave strangely. For example, the effect of rounding errors can prevent the algorithm from continuing for the required number of iterations. By default, MINITER=0.\",\"type\":\"value\"},{\"name\":\"NOCHECK\",\"optional\":true,\"description\":\"Disables the checking process that determines whether maximum likelihood estimates of the regression parameters exist.\",\"type\":\"standalone\"},{\"name\":\"NOCLPRINT\",\"optional\":true,\"description\":\"Suppresses the display of the “Class Level Information” table if you do not specify number. If you specify number, the values of the classification variables are displayed for only those variables whose number of levels is less than number. Specifying number helps to reduce the size of the “Class Level Information” table if some classification variables have a large number of levels.\",\"type\":\"standalone\"},{\"name\":\"NORMALIZE=\",\"optional\":true,\"description\":\"Specifies whether the objective function should be normalized during the optimization by the reciprocal of the used frequency count. This option affects the values reported in the “Iteration History” table. The results reported in the “Fit Statistics” are always displayed for the nonnormalized log-likelihood function. The default is to normalize the objective function.\",\"help\":\"NORMALIZE=YES | NO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YES\",\"description\":\"Specifies that the objective function should be normalized during the optimization by the reciprocal of the used frequency count. This is the default.\",\"type\":\"standalone\"},{\"name\":\"NO\",\"description\":\"Specifies that the objective function should not be normalized during the optimization by the reciprocal of the used frequency count.\",\"type\":\"standalone\"}]},{\"name\":\"NOSTDERR\",\"optional\":true,\"description\":\"Suppresses computation of the covariance matrix and the standard errors of the regression coefficients.\",\"type\":\"standalone\"},{\"name\":\"PAGESIZE=\",\"optional\":true,\"aliases\":[\"MAXOPTBATCH=\"],\"description\":\"Specifies the maximum number of observations to be included in a batch.\",\"type\":\"value\"},{\"name\":\"PARTFIT\",\"optional\":true,\"description\":\"Displays fit statistics in the “Fit Statistics” table that are usually produced when your data are partitioned. This option is not required when you specify a PARTITION Procedure. The statistic that is added to the table is the average square error (or Brier score).\",\"type\":\"standalone\"},{\"name\":\"STB\",\"optional\":true,\"description\":\"Displays the standardized estimates of the parameters in the \\\"Parameter Estimates\\\" table.\",\"type\":\"standalone\"},{\"name\":\"TECHNIQUE=\",\"optional\":true,\"aliases\":[\"TECH=\"],\"description\":\"Specifies the optimization technique for obtaining maximum likelihood estimates.\",\"help\":\"TECHNIQUE=CONGRA | DBLDOG | LEVMAR | NEWRAP | NMSIMP | NRRIDG | QUANEW | TRUREG | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"CONGRA\",\"description\":\"Performs a conjugate-gradient optimization..\",\"type\":\"standalone\"},{\"name\":\"DBLDOG\",\"description\":\"Performs a version of double-dogleg optimization.\",\"type\":\"standalone\"},{\"name\":\"LEVMAR\",\"description\":\"Performs a Levenberg-Marquardt nonlinear least-squares minimization. This technique is available only with PROC NLMOD.\",\"type\":\"standalone\"},{\"name\":\"NEWRAP\",\"description\":\"Performs a Newton-Raphson optimization with line search.\",\"type\":\"standalone\"},{\"name\":\"NMSIMP\",\"description\":\"Performs a Nelder-Mead simplex optimization.\",\"type\":\"standalone\"},{\"name\":\"NRRIDG\",\"description\":\"Performs a Newton-Raphson optimization with ridging.\",\"type\":\"standalone\"},{\"name\":\"QUANEW\",\"description\":\"Performs a dual quasi-Newton optimization.\",\"type\":\"standalone\"},{\"name\":\"TRUREG\",\"description\":\"Performs a trust-region optimization\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"Performs no optimization.\",\"type\":\"standalone\"}]},{\"name\":\"XCONV=\",\"optional\":true,\"aliases\":[\"XTOL=\"],\"description\":\"Specifies the relative parameter convergence criterion. Convergence requires a small relative parameter change in subsequent iterations.\",\"type\":\"value\"}]},{\"name\":\"BY\",\"description\":\"You can specify a BY statement in PROC GENSELECT to obtain separate analyses of observations in groups that are defined by the BY variables. If you specify more than one BY statement, only the last one specified is used.\",\"help\":\"BY variables \"},{\"name\":\"CLASS\",\"description\":\"The CLASS statement names the classification variables to be used as explanatory variables in the analysis. You can list the response variable for binary models in the CLASS statement, but this is not required.\",\"help\":\"CLASS &lt;DESCENDING&gt;&lt;MISSING&gt;&lt;ORDER=&lt;FORMATTED | FREQ | INTERNAL&gt;&gt; ...\",\"arguments\":[{\"name\":\"DESCENDING\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"DESC\"],\"description\":\"Reverses the sort order of the classification variable. If both the DESCENDING and ORDER= options are specified, the procedure orders the categories according to the ORDER= option and then reverse that order.\",\"type\":\"standalone\"},{\"name\":\"MISSING\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Treats missing values (“.”, “.A”, . . . , “.Z” for numeric variables and blanks for character variables) as valid values for the CLASS variable.\",\"type\":\"standalone\"},{\"name\":\"ORDER=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the sort order for the levels of classification variables. This ordering determines which parameters in the model correspond to each level in the data.\",\"help\":\"ORDER=FORMATTED | FREQ | INTERNAL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"FORMATTED\",\"followsDelimiter\":\"/\",\"description\":\"External formatted values, except for numeric variables that have no explicit format, which are sorted by their unformatted (internal) values. The sort order is machine-dependent. For numeric variables for which you have supplied no explicit format, the levels are ordered by their internal values.\",\"type\":\"standalone\"},{\"name\":\"FREQ\",\"followsDelimiter\":\"/\",\"description\":\"Descending frequency count (levels that have more observations come earlier in the order)\",\"type\":\"standalone\"},{\"name\":\"INTERNAL\",\"followsDelimiter\":\"/\",\"description\":\"Unformatted value. The sort order is machine-dependent.\",\"type\":\"standalone\"}]},{\"name\":\"PARAM=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the parameterization method for the classification variable or variables.\",\"help\":\"PARAM=EFFECT | GLM | ORDINAL|THERMOMETER | POLYNOMIAL|POLY | REFERENCE|REF | ORTHEFFECT | ORTHORDINAL|ORTHOTHERM | ORTHPOLY | ORTHREF\",\"type\":\"choice\",\"arguments\":[{\"name\":\"EFFECT\",\"followsDelimiter\":\"/\",\"description\":\"Specifies effect coding.\",\"type\":\"standalone\"},{\"name\":\"GLM\",\"followsDelimiter\":\"/\",\"description\":\"Specifies less-than-full-rank, reference-cell coding; this option can be used only as a global option.\",\"type\":\"standalone\"},{\"name\":\"ORDINAL\",\"followsDelimiter\":\"/\",\"description\":\"Specifies the cumulative parameterization for an ordinal CLASS variable.\",\"help\":\"ORDINAL|THERMOMETER\",\"type\":\"choice\"},{\"name\":\"POLYNOMIAL\",\"followsDelimiter\":\"/\",\"description\":\"Specifies polynomial coding.\",\"help\":\"POLYNOMIAL|POLY\",\"type\":\"choice\"},{\"name\":\"REFERENCE\",\"followsDelimiter\":\"/\",\"description\":\"Specifies reference-cell coding.\",\"help\":\"REFERENCE|REF\",\"type\":\"choice\"},{\"name\":\"ORTHEFFECT\",\"followsDelimiter\":\"/\",\"description\":\"Orthogonalizes PARAM=EFFECT.\",\"type\":\"standalone\"},{\"name\":\"ORTHORDINAL\",\"followsDelimiter\":\"/\",\"description\":\"Orthogonalizes PARAM=ORDINAL.\",\"help\":\"ORTHORDINAL|ORTHOTHERM\",\"type\":\"choice\"},{\"name\":\"ORTHPOLY\",\"followsDelimiter\":\"/\",\"description\":\"Orthogonalizes PARAM=POLYNOMIAL.\",\"type\":\"standalone\"},{\"name\":\"ORTHREF\",\"followsDelimiter\":\"/\",\"description\":\"Orthogonalizes PARAM=REFERENCE.\",\"type\":\"standalone\"}]},{\"name\":\"REFERENCE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"REF=\"],\"description\":\"Specifies the reference level that is used when you specify a nonsingular parameterization.\",\"help\":\"REFERENCE=&lt;'level'&gt; | FIRST | LAST\",\"type\":\"choice\",\"arguments\":[{\"name\":\"<'level'>\",\"followsDelimiter\":\"/\",\"description\":\"Specifies the level of the variable to use as the reference level. Replace <'level'> with an actual value.\",\"type\":\"standalone\"},{\"name\":\"FIRST\",\"followsDelimiter\":\"/\",\"description\":\"Designates the first ordered level as reference. You can specify this value either for an individual variable option or for a global-option.\",\"type\":\"standalone\"},{\"name\":\"LAST\",\"followsDelimiter\":\"/\",\"description\":\"Designates the last ordered level as reference. You can specify this value either for an individual variable option or for a global-option.\",\"type\":\"standalone\"}]},{\"name\":\"SPLIT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies that design matrix columns that correspond to any effect that contains a split classification variable can be selected to enter or leave a model independently of the other design columns of that effect.\",\"type\":\"standalone\"}]},{\"name\":\"CODE\",\"description\":\"The CODE statement writes SAS DATA step code for computing predicted values of the fitted model either to a file or to a catalog entry. This code can then be included in a DATA step to score new data.\",\"help\":\"CODE &lt;COMMENT&gt;&lt;FILE=filename&gt;&lt;FORMATWIDTH=width&gt; ...\",\"arguments\":[{\"name\":\"COMMENT\",\"optional\":true,\"description\":\"Adds comments to the generated code.\",\"type\":\"standalone\"},{\"name\":\"FILE=\",\"optional\":true,\"description\":\"Names the external file that saves the generated code. When enclosed in a quoted string (for example, FILE=\\\"c:nmydirnscorecode.sas\\\"), this option specifies the path and filename for writing the code to an external file. If you do not specify a path but your SAS client has a default path, then the code is written to an external file named filename at that location. You can also specify an unquoted filename of no more than eight characters. If the filename is assigned as a fileref in a Base SAS FILENAME statement, the file specified in the FILENAME statement is opened; otherwise, if your SAS client has a default path, an external file named filename is created.\",\"help\":\"FILE=*filename*\",\"type\":\"value\"},{\"name\":\"FORMATWIDTH=\",\"optional\":true,\"description\":\"Specifies the width to use in formatting derived numbers such as parameter estimates. You can specify a value in the range 4 to 32; the default is 20.\",\"help\":\"FORMATWIDTH=*width*\",\"type\":\"value\"},{\"name\":\"INDENTSIZE=\",\"optional\":true,\"description\":\"Specifies the number of spaces to indent the generated code. You can specify a value in the range 0 to 10; the default is 3.\",\"help\":\"INDENTSIZE=*n*\",\"type\":\"value\"},{\"name\":\"LABELID=\",\"optional\":true,\"description\":\"Specifies a number used to construct array names and statement labels in the generated code. You can specify a value in the range 0 to 1024; the default is randomly chosen.\",\"help\":\"LABELID=*value*\",\"type\":\"value\"},{\"name\":\"LINESIZE=\",\"optional\":true,\"aliases\":[\"LS=\"],\"description\":\"Specifies the line size for the generated code. You can specify a value in the range 64 to 254; the default is 120.\",\"type\":\"value\"},{\"name\":\"NOTRIM\",\"optional\":true,\"description\":\"Bases comparisons of formatted values on the full format width, including blank padding. By default, blanks at the beginning and end of strings are ignored.\",\"type\":\"standalone\"},{\"name\":\"PCATALL\",\"optional\":true,\"description\":\"Generates probabilities for all levels of categorical response variables.\",\"type\":\"standalone\"}]},{\"name\":\"DISPLAY\",\"description\":\"The DISPLAY statement enables you to specify a list of ODS tables to display or exclude. This statement is similar to the ODS SELECT, ODS EXCLUDE, and ODS TRACE statements. However, the DISPLAY statement can improve performance when a large number of tables could be generated (such as in BY-group processing). The statement processes the DISPLAY statement on a CAS server and thus sends only a subset of ODS tables to the SAS client. Because ODS statements are processed on a SAS client, all ODS tables are sent to the client and then the client creates a subset. If both DISPLAY and ODS statements are used together, the DISPLAY statement takes precedence over the ODS statements.\",\"help\":\"DISPLAY &lt;CASESENSITIVE&gt;&lt;EXCLUDE&gt;&lt;EXCLUDEALL&gt; ...\",\"arguments\":[{\"name\":\"CASESENSITIVE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Performs a case-sensitive comparison of table names in the table-list to ODS table names when tables are subsetted for display. To preserve case, you must enclose table names in the table-list in quotation marks.\",\"type\":\"standalone\"},{\"name\":\"EXCLUDE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays all ODS tables except those specified in the table-list.\",\"type\":\"standalone\"},{\"name\":\"EXCLUDEALL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Suppresses display of all tables. This option takes precedence over the other options.\",\"type\":\"standalone\"},{\"name\":\"TRACE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays the ODS table names, labels, and paths.\",\"type\":\"standalone\"}]},{\"name\":\"DISPLAYOUT\",\"description\":\"The DISPLAYOUT statement enables you to create CAS output tables from your displayed output. This statement is similar to the ODS OUTPUTsStatement. The table-spec-list specifies a list of CAS output tables to create. Each entry in the list has either a key or a key=value format: key=value specifies key as the ODS table name, path, or partial pathname, and specifies value as the CAS output table name. key specifies key as the ODS table name and also as the CAS output table name. Table names and partial pathnames are discussed under the DISPLAY statement. The DISPLAYOUT statement does not support regular expressions.\",\"help\":\"DISPLAYOUT &lt;NOREPLACE&gt;&lt;REPEATED&gt;\",\"arguments\":[{\"name\":\"NOREPLACE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Does not replace an existing CAS output table of the same name.\",\"type\":\"standalone\"},{\"name\":\"REPEATED\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Replicates the CAS output tables on all nodes.\",\"type\":\"standalone\"}]},{\"name\":\"EFFECT\",\"description\":\"The EFFECT statement enables you to construct special collections of columns for design matrices. These collections are referred to as constructed effects to distinguish them from the usual model effects that are formed from continuous or classification variables.\",\"help\":\"EFFECT NAME=COLLECTION|MULTIMEMBER|MM|POLYNOMIAL|POLY...  &lt;PERIOD=variable&gt;&lt;WITHIN=(variables) | WITHIN=variable&gt; ...\",\"arguments\":[{\"name\":\"NAME=\",\"description\":\"Replace 'NAME' with the name of the effect, specified after the EFFECT keyword. This name can appear in only one EFFECT statement and cannot be the name of a variable in the input data set.\",\"help\":\"*NAME*=COLLECTION | MULTIMEMBER|MM | POLYNOMIAL|POLY | SPLINE\",\"type\":\"value\",\"arguments\":[{\"name\":\"COLLECTION\",\"description\":\"Is a collection effect that defines one or more variables as a single effect with multiple degrees of freedom. The variables in a collection are considered as a unit for estimation and inference. Option(s) available (specified after a slash (/) following the variable list): DETAILS Displays the constituents of the collection effect\",\"type\":\"standalone\"},{\"name\":\"MULTIMEMBER\",\"description\":\"Is a multimember classification effect whose levels are determined by one or more variables that appear in a CLASS statement. Options available (specified after a slash (/) following the variable list): DETAILS displays the levels of the multimember effect NOEFFECT specifies that observations with all missing levels for the multimember variables should have zero values in the corresponding design matrix columns STDIZE Standardizes the design matrix entries so that each observation has a sum of 1 WEIGHT= specifies the weight variable for the contributions of each of the classification effects\",\"help\":\"MULTIMEMBER|MM\",\"type\":\"choice\"},{\"name\":\"POLYNOMIAL\",\"description\":\"Is a multivariate polynomial effect in the specified numeric variables. Options available (specified after a slash (/) following the variable list): DEGREE= specifies the degree of the polynomial DETAILS displays details of the specified polynomial MDEGREE= specifies the maximum degree of any variable in a term of the polynomial NOSEPARATE treats the polynomial as a single effect with multiple degrees of freedom STANDARDIZE= specifies centering and scaling suboptions for the variables that define the polynomial\",\"help\":\"POLYNOMIAL|POLY\",\"type\":\"choice\"},{\"name\":\"SPLINE\",\"description\":\"Is a regression spline effect whose columns are univariate spline expansions of one or more variables. A spline expansion replaces the original variable with an expanded or larger set of new variables. Options available (specified after a slash (/) following the variable list): BASIS= specifies the type of basis (B-spline basis or truncated power function basis) for the spline expansion DATABOUNDARY uses the extremes of the data as boundary knots for a B-spline basis DEGREE= specifies the degree of the spline transformation DETAILS displays the knots and locations for each spline basis function KNOTMAX= requests equally spaced right-side boundary knots starting at the variables’ maximum and ending at the KNOTMAX= value KNOTMETHOD= specifies how to construct the knots for spline effects KNOTMIN= requests equally spaced left-side boundary knots starting at the KNOTMAX= value and ending at the variables’ minimum value\",\"type\":\"standalone\"}]},{\"name\":\"BASIS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"[For the SPLINE effect-type only] Specifies a basis for the spline expansion.\",\"help\":\"BASIS=BSPLINE | TPF\",\"type\":\"choice\",\"arguments\":[{\"name\":\"BSPLINE\",\"followsDelimiter\":\"/\",\"description\":\"Specifies a B-spline basis for the spline expansion.\",\"type\":\"standalone\"},{\"name\":\"TPF\",\"followsDelimiter\":\"/\",\"description\":\"Syntax: TPF(options) Specifies a truncated power function basis for the spline expansion. You can modify the number of columns when you request BASIS=TPF with the following options: NOINT excludes the intercept column. NOPOWERS excludes the intercept and polynomial columns.\",\"type\":\"standalone\"}]},{\"name\":\"DATABOUNDARY\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"[For the SPLINE effect-type only] Specifies that the extremes of the data be used as boundary knots when building a B-spline basis.\",\"type\":\"standalone\"},{\"name\":\"DEGREE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"\",\"help\":\"DEGREE=*n*\",\"type\":\"value\"},{\"name\":\"DESIGNROLE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"\",\"help\":\"DESIGNROLE=*variable*\",\"type\":\"value\"},{\"name\":\"DETAILS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"[For the LAG | COLLECTION | MULTIMEMBER | POLYNOMIAL |SPLINE effect-type] Requests a table that shows the (1) lag design matrix of the lag effect, or (2) constituents of the collection effect, or (3) levels of the multimember effect, or (4) details of the specified polynomial, or (5) knot locations and the knots associated with each spline basis function.\",\"type\":\"standalone\"},{\"name\":\"KNOTMAX=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"\",\"help\":\"KNOTMAX=*value*\",\"type\":\"value\"},{\"name\":\"KNOTMETHOD=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"[For the SPLINE effect-type only] Specifies how to construct the knots for spline effects.\",\"help\":\"KNOTMETHOD=EQUAL | LIST | LISTWITHBOUNDARY | MULTISCALE | PERCENTILES | RANGEFRACTIONS\",\"type\":\"choice\",\"arguments\":[{\"name\":\"EQUAL\",\"followsDelimiter\":\"/\",\"description\":\"Syntax: EQUAL<(n)> Specifies that n equally spaced knots be positioned between the extremes of the data. The default is n=3. For a B-spline basis, any needed boundary knots continue to be equally spaced unless the DATABOUNDARY option has also been specified. KNOTMETHOD=EQUAL is the default if no knot-method is specified.\",\"type\":\"standalone\"},{\"name\":\"LIST\",\"followsDelimiter\":\"/\",\"description\":\"Syntax: LIST(number-list) Specifies the list of internal knots to be used in forming the spline basis columns. For a B-spline basis, the data extremes are used as boundary knots.\",\"type\":\"standalone\"},{\"name\":\"LISTWITHBOUNDARY\",\"followsDelimiter\":\"/\",\"description\":\"Syntax: LISTWITHBOUNDARY(number-list) Specifies the list of all knots that are used in forming the spline basis columns.\",\"type\":\"standalone\"},{\"name\":\"MULTISCALE\",\"followsDelimiter\":\"/\",\"description\":\"Syntax: MULTISCALE<(multiscale-options)> Specifies that multiple B-spline bases be generated, corresponding to sets with an increasing number of internal knots. You can control which scales are included with the following multiscale-options: STARTSCALE=n specifies the start scale, where n is a positive integer. The default is STARTSCALE=0. ENDSCALE=n specifies the end scale, where n is a positive integer. The default is ENDSCALE=7.\",\"type\":\"standalone\"},{\"name\":\"PERCENTILES\",\"followsDelimiter\":\"/\",\"description\":\"Syntax: PERCENTILES(n) Requests that internal knots be placed at n equally spaced percentiles of the variable or variables named in the EFFECT statement.\",\"type\":\"standalone\"},{\"name\":\"RANGEFRACTIONS\",\"followsDelimiter\":\"/\",\"description\":\"Syntax: RANGEFRACTIONS(fraction-list) Requests that internal knots be placed at each fraction of the ranges of the variables in the EFFECT statement.\",\"type\":\"standalone\"}]},{\"name\":\"KNOTMIN=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"\",\"help\":\"KNOTMIN=*value*\",\"type\":\"value\"},{\"name\":\"LABELSTYLE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"\",\"help\":\"LABELSTYLE=EXPAND | EXPONENT | INCLUDENAME | PRODUCTSYMBOL=\",\"type\":\"choice\",\"arguments\":[{\"name\":\"EXPAND\",\"followsDelimiter\":\"/\",\"description\":\"Specifies that each variable with an exponent greater than 1 be written as products of that variable.\",\"type\":\"standalone\"},{\"name\":\"EXPONENT\",\"followsDelimiter\":\"/\",\"description\":\"Syntax: EXPONENT <=quoted string> Specifies that each variable with an exponent greater than 1 be written using exponential notation. By default, the symbol ^ is used as the exponentiation operator. If you supply the optional quoted string after an equal sign, then that string is used as the exponentiation operator.\",\"type\":\"standalone\"},{\"name\":\"INCLUDENAME\",\"followsDelimiter\":\"/\",\"description\":\"Specifies that the name of the effect followed by an underscore be used as a prefix for term labels.\",\"type\":\"standalone\"},{\"name\":\"PRODUCTSYMBOL=\",\"followsDelimiter\":\"/\",\"description\":\"Syntax: PRODUCTSYMBOL=NONE | quoted string Specifies that the supplied string be used as the product symbol.\",\"type\":\"value\"}]},{\"name\":\"MDEGREE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"\",\"help\":\"MDEGREE=*n*\",\"type\":\"value\"},{\"name\":\"NLAG=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"\",\"type\":\"value\"},{\"name\":\"NOEFFECT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"[For the MULTIMEMBER effect-type only] Specifies that, for observations with all missing levels of the multimember variables, the values in the corresponding design matrix columns be set to zero.\",\"type\":\"standalone\"},{\"name\":\"NOSEPARATE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"[For the POLYNOMIAL effect-type only] Specifies that the polynomial be treated as a single effect with multiple degrees of freedom. The effect name that you specify is used as the constructed effect name, and the labels of the terms are used as labels of the corresponding parameters.\",\"type\":\"standalone\"},{\"name\":\"PERIOD=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the period variable of the LAG design. The number of periods is the number of unique formatted values of the PERIOD= variable, and the ordering of the period is formed by sorting these formatted values in ascending order. You must specify a PERIOD= variable.\",\"help\":\"PERIOD=*variable*\",\"type\":\"value\"},{\"name\":\"SEPARATE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"[For the SPLINE effect-type only] Specifies that when multiple variables are specified in the EFFECT statement, the spline basis for each variable be treated as a separate effect. The names of these separated effects are formed by appending an underscore followed by the name of the variable to the name that you specify in the EFFECT statement.\",\"type\":\"standalone\"},{\"name\":\"SPLIT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"[For the SPLINE effect-type only] Specifies that each individual column in the design matrix that corresponds to the spline effect be treated as a separate effect that can enter or leave the model independently. Names for these split effects are generated by appending the variable name and an index for each column to the name that you specify in the EFFECT statement.\",\"type\":\"standalone\"},{\"name\":\"STANDARDIZE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies that the variables that define the polynomial be standardized. By default, the standardized variables receive prefix \\\"s_\\\" in the variable names. You can use the following centerscale-opts to specify how the center and scale are estimated: METHOD=MOMENTS specifies that the center be estimated by the variable mean and the scale be estimated by the standard deviation. METHOD=RANGE specifies that the center be estimated by the midpoint of the variable range and the scale be estimated as half the variable range. METHOD=WMOMENTS is the same as METHOD=MOMENTS except that weighted means and weighted standard deviations are used.\",\"help\":\"STANDARDIZECENTER | CENTERSCALE | NONE | SCALE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"CENTER\",\"followsDelimiter\":\"/\",\"description\":\"Specifies that variables be centered but not scaled.\",\"type\":\"standalone\"},{\"name\":\"CENTERSCALE\",\"followsDelimiter\":\"/\",\"description\":\"Specifies that variables be centered and scaled. This is the default if you do not specify a standardization-opt.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"followsDelimiter\":\"/\",\"description\":\"Specifies that no standardization be performed.\",\"type\":\"standalone\"},{\"name\":\"SCALE\",\"followsDelimiter\":\"/\",\"description\":\"Specifies that variables be scaled but not centered.\",\"type\":\"standalone\"}]},{\"name\":\"STDIZE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"[For the MULTIMEMBER effect-type only] Specifies that for each observation, the entries in the design matrix that corresponds to the multimember effect be scaled to have a sum of one.\",\"type\":\"standalone\"},{\"name\":\"WEIGHT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"\",\"help\":\"WEIGHT=*wght-list*\",\"type\":\"value\"},{\"name\":\"WITHIN=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"\",\"type\":\"value\"}]},{\"name\":\"FREQ\",\"description\":\"The variable in the FREQ statement identifies a numeric variable in the data set that contains the frequency of occurrence of each observation. PROC GENSELECT treats each observation as if it appears f times, where f is the value of the FREQ variable for the observation. If f is not an integer, it is truncated to an integer. If f is less than 1 or missing, the observation is not used in the analysis. When the FREQ statement is not specified, each observation is assigned a frequency of 1.\",\"help\":\"FREQ variable \"},{\"name\":\"MODEL\",\"description\":\"The MODEL statement defines the statistical model in terms of a response variable (the target) or an events/trials specification, model effects that are constructed from variables in the input data table, and model-options. An intercept is included in the model by default. You can remove the intercept by specifying the NOINT option. You can specify a single response variable that contains your response values. When you have binomial data, you can specify the events/trials form of the response, where one variable contains the number of positive responses (or events) and another variable contains the number of trials. Note that the values of both events and (trials – events) must be nonnegative and the value of trials must be positive.\",\"help\":\"MODEL DESCENDING EVENT=&lt;'category'&gt;|FIRST|LAST  ORDER=FORMATTED|FREQ|INTERNAL  ...\",\"arguments\":[{\"name\":\"DESCENDING\",\"aliases\":[\"DESC\"],\"description\":\"Reverses the order of the response categories. If you specify both the DESCENDING and ORDER= options, PROC GENSELECT orders the response categories according to the ORDER= option and then reverses that order.\",\"type\":\"standalone\"},{\"name\":\"EVENT=\",\"description\":\"specifies the event category for the binary response model. PROC GENSELECT models the probability of the event category. The EVENT= option has no effect when there are more than two response categories.\",\"help\":\"EVENT=&lt;'category'&gt; | FIRST | LAST\",\"type\":\"choice\",\"arguments\":[{\"name\":\"<'category'>\",\"description\":\"Specifies the value (formatted, if a format is applied) of the event category in quotation marks. Replace <'category'> with an actual value.\",\"type\":\"standalone\"},{\"name\":\"FIRST\",\"description\":\"Designates the first ordered category as the event.\",\"type\":\"standalone\"},{\"name\":\"LAST\",\"description\":\"Designates the last ordered category as the event.\",\"type\":\"standalone\"}]},{\"name\":\"ORDER=\",\"description\":\"Specifies the sort order for the levels of the response variable. When ORDER=FORMATTED (the default) for numeric variables for which you have supplied no explicit format (that is, for which there is no corresponding FORMAT statement in the current PROC GENSELECT run or in the DATA step that created the data table), the levels are ordered by their internal (numeric) value.\",\"help\":\"ORDER=FORMATTED | FREQ | INTERNAL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"FORMATTED\",\"description\":\"External formatted values, except for numeric variables that have no explicit format, which are sorted by their unformatted (internal) values. The sort order is machine-dependent. For numeric variables for which you have supplied no explicit format, the levels are ordered by their internal values.\",\"type\":\"standalone\"},{\"name\":\"FREQ\",\"description\":\"Descending frequency count (levels that have more observations come earlier in the order)\",\"type\":\"standalone\"},{\"name\":\"INTERNAL\",\"description\":\"Unformatted value. The sort order is machine-dependent.\",\"type\":\"standalone\"}]},{\"name\":\"REF=\",\"description\":\"Specifies the reference category for the binary response model. Specifying one response category as the reference is the same as specifying the other response category as the event.\",\"help\":\"REF=&lt;'category'&gt; | FIRST | LAST\",\"type\":\"choice\",\"arguments\":[{\"name\":\"<'category'>\",\"description\":\"Specifies the value (formatted, if a format is applied) of the reference category in quotation marks.\",\"type\":\"standalone\"},{\"name\":\"FIRST\",\"description\":\"Designates the first ordered category as the reference.\",\"type\":\"standalone\"},{\"name\":\"LAST\",\"description\":\"Designates the last ordered category as the reference.\",\"type\":\"standalone\"}]},{\"name\":\"CLB\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that confidence limits be constructed for each of the parameter estimates. The confidence level is 0.95 by default; you can change it by specifying the ALPHA= option.\",\"type\":\"standalone\"},{\"name\":\"DISTRIBUTION=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"DIST=\"],\"description\":\"Specifies the response distribution for the model.\",\"help\":\"DISTRIBUTION=BETA | BINARY | BINOMIAL | EXPONENTIAL | GAMMA | GENPOISSON | GEOMETRIC | INVERSEGAUSSIAN | NEGATIVEBINOMIAL | NORMAL | POISSON | T | WEIBULL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"BETA\",\"followsDelimiter\":\"/\",\"description\":\"Beta distribution\",\"type\":\"standalone\"},{\"name\":\"BINARY\",\"followsDelimiter\":\"/\",\"description\":\"Binary distribution\",\"type\":\"standalone\"},{\"name\":\"BINOMIAL\",\"followsDelimiter\":\"/\",\"description\":\"Binomial distribution\",\"type\":\"standalone\"},{\"name\":\"EXPONENTIAL\",\"followsDelimiter\":\"/\",\"description\":\"Exponential distribution\",\"type\":\"standalone\"},{\"name\":\"GAMMA\",\"followsDelimiter\":\"/\",\"description\":\"Gamma distribution\",\"type\":\"standalone\"},{\"name\":\"GENPOISSON\",\"followsDelimiter\":\"/\",\"description\":\"Generalized Poisson distribution\",\"type\":\"standalone\"},{\"name\":\"GEOMETRIC\",\"followsDelimiter\":\"/\",\"description\":\"Geometric distribution\",\"type\":\"standalone\"},{\"name\":\"INVERSEGAUSSIAN\",\"followsDelimiter\":\"/\",\"description\":\"Inverse Gaussian distribution\",\"type\":\"standalone\"},{\"name\":\"NEGATIVEBINOMIAL\",\"followsDelimiter\":\"/\",\"description\":\"Negative binomial distribution\",\"type\":\"standalone\"},{\"name\":\"NORMAL\",\"followsDelimiter\":\"/\",\"description\":\"Normal distribution\",\"type\":\"standalone\"},{\"name\":\"POISSON\",\"followsDelimiter\":\"/\",\"description\":\"Poisson distribution\",\"type\":\"standalone\"},{\"name\":\"T\",\"followsDelimiter\":\"/\",\"description\":\"Student t distribution\",\"type\":\"standalone\"},{\"name\":\"WEIBULL\",\"followsDelimiter\":\"/\",\"description\":\"Weibull distribution\",\"type\":\"standalone\"}]},{\"name\":\"INCLUDE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Forces effects to be included in all models. If you specify INCLUDE=n, then the first n effects that are listed in the MODEL statement are included in all models. If you specify INCLUDE=single-effect or if you specify a list of effects within parentheses, then the specified effects are forced into all models. The effects that you specify in the INCLUDE= option must be explanatory effects that are specified in the MODEL statement before the slash (/).\",\"type\":\"value\"},{\"name\":\"INFORMATIVE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Models missing values by using extra model effects. These effects consist of dummy variables that take the value 1 when the value of a continuous model variable involved in the effect is missing, and take the value 0 otherwise. The missing value in the original model effect is replaced by the average value of the effect for the nonmissing values. For continuous-by-class effects, such as A*x, where A is a classification variable and x is a continuous variable, informative missingness creates multiple dummy columns and substitutes the effect mean of x that corresponds to the respective level of A. Missing values for classification variables are treated as valid levels.\",\"type\":\"standalone\"},{\"name\":\"LINK=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the link function for the model.\",\"help\":\"LINK=CLOGLOG | IDENTITY | INVERSE | POWERMINUS2 | POWER(p) | LOG | LOGIT | LOGLOG | PROBIT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"CLOGLOG\",\"followsDelimiter\":\"/\",\"description\":\"Complementary log-log link function\",\"type\":\"standalone\"},{\"name\":\"IDENTITY\",\"followsDelimiter\":\"/\",\"description\":\"Identity link function\",\"type\":\"standalone\"},{\"name\":\"INVERSE\",\"followsDelimiter\":\"/\",\"description\":\"Inverse or Reciprocal link function\",\"type\":\"standalone\"},{\"name\":\"POWERMINUS2\",\"followsDelimiter\":\"/\",\"description\":\"Reciprocal square link function\",\"type\":\"standalone\"},{\"name\":\"POWER\",\"followsDelimiter\":\"/\",\"description\":\"Power link functionn\",\"help\":\"POWER(p)\",\"type\":\"standalone\"},{\"name\":\"LOG\",\"followsDelimiter\":\"/\",\"description\":\"Logarithmic link function\",\"type\":\"standalone\"},{\"name\":\"LOGIT\",\"followsDelimiter\":\"/\",\"description\":\"Logit link function\",\"type\":\"standalone\"},{\"name\":\"LOGLOG\",\"followsDelimiter\":\"/\",\"description\":\"Log-log link function\",\"type\":\"standalone\"},{\"name\":\"PROBIT\",\"followsDelimiter\":\"/\",\"description\":\"Probit link function\",\"type\":\"standalone\"}]},{\"name\":\"NOINT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that no intercept be included in the model. An intercept is included by default. The NOINT option is not available in multinomial models.\",\"type\":\"standalone\"},{\"name\":\"OFFSET=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies a variable to be used as an offset to the linear predictor. An offset plays the role of an effect whose coefficient is known to be 1. The offset variable cannot appear in the CLASS statement or elsewhere in the MODEL statement. Observations that have missing values for the offset variable are excluded from the analysis.\",\"help\":\"OFFSET=*variable*\",\"type\":\"value\"},{\"name\":\"PHI=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies a fixed dispersion parameter for those distributions that have a dispersion parameter. The dispersion parameter that is used in all computations is fixed at number and not estimated.\",\"help\":\"PHI=*number*\",\"type\":\"value\"},{\"name\":\"START=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Begins the selection process from the designated initial model for the forward selection method. If you specify START=n, then the starting model includes the first n effects that are listed in the MODEL statement. If you specify START=single-effect or START=(effects), then the starting model includes those specified effects. The effects that you specify in the START= option must be explanatory effects that are specified in the MODEL statement before the slash (/). This option is not available when you specify METHOD=BACKWARD in the SELECTION statement.\",\"type\":\"value\"},{\"name\":\"TYPE3\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that Wald statistics for Type 3 contrasts be computed for each effect that is specified in the MODEL statement.\",\"type\":\"standalone\"}]},{\"name\":\"OUTPUT\",\"description\":\"however, variables that you specify in the COPYVAR= option are included.\",\"help\":\"OUTPUT &lt;ALL&gt;&lt;ALPHA=number&gt;&lt;OUT=CAS-libref.data-table&gt; ...\",\"arguments\":[{\"name\":\"ALL\",\"optional\":true,\"aliases\":[\"ALLSTAT\"],\"description\":\"Adds all available statistics to the output data table.\",\"type\":\"standalone\"},{\"name\":\"ALPHA=\",\"optional\":true,\"description\":\"Specifies the significance level for the construction of confidence intervals in the output data table. The confidence level is 1 - number. The value of number must be between 0 and 1. By default, number is equal to the value of the ALPHA= option in the PROC GENSELECT statement, or 0.05 if that option is not specified.\",\"help\":\"ALPHA=*number*\",\"type\":\"value\"},{\"name\":\"CBAR\",\"optional\":true,\"description\":\"Specifies the confidence interval displacement diagnostic that measures the overall change in the global regression estimates that results from deleting an individual observation. The default name is _CBAR_.\",\"type\":\"standalone\"},{\"name\":\"COPYVAR=\",\"optional\":true,\"aliases\":[\"COPYVARS=\"],\"description\":\"Lists one or more variables from the input data table that are transferred to the scored output data table, provided that the output data table produces one or more records per input observation. By default, the KCLUS statement does not transfer any variables from the input data table to the output data table. The COPYVARS= option accepts numeric and character variables.\",\"type\":\"value\"},{\"name\":\"DIFCHISQ\",\"optional\":true,\"description\":\"Specifies the change in the chi-square goodness-of-fit statistic that results from deleting the individual observation. The default name is _DIFCHISQUARE_.\",\"type\":\"standalone\"},{\"name\":\"DIFDEV\",\"optional\":true,\"description\":\"Specifies the change in the deviance that results from deleting the individual observation. The default name is _DIFDEVIANCE_.\",\"type\":\"standalone\"},{\"name\":\"H\",\"optional\":true,\"description\":\"Specifies the diagonal element of the hat matrix (leverage) for detecting extreme points in the design space. The default name is _HATDIAG_.\",\"type\":\"standalone\"},{\"name\":\"LCLM\",\"optional\":true,\"aliases\":[\"LOWERMEAN\",\"LOWER\"],\"description\":\"Specifies the lower confidence limits for the mean. The default name is _LCLM_. You can set the confidence level by specifying the ALPHA= option.\",\"type\":\"standalone\"},{\"name\":\"LCL\",\"optional\":true,\"aliases\":[\"LOWERXBETA\"],\"description\":\"Names the variable that contains the lower confidence limits for the linear predictor. The default name is _LCL_. You can set the confidence level by specifying the ALPHA= option.\",\"type\":\"standalone\"},{\"name\":\"OUT=\",\"optional\":true,\"description\":\"names the output data table for PROC GENSELECT to use. CAS-libref.data-table is a two-level name, where CAS-libref refers to a collection of information that is defined in the LIBNAME statement and includes the caslib, which includes a path to where the data table is to be stored, and a session identifier, which defaults to the active session but which can be explicitly defined in the LIBNAME statement.\",\"help\":\"OUT=*CAS-libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"PREDICTED\",\"optional\":true,\"aliases\":[\"PRED\",\"PROB\"],\"description\":\"Specifies the predicted values (predicted probabilities of events) for the response variable. The default name is _PRED_.\",\"type\":\"standalone\"},{\"name\":\"RESCHI\",\"optional\":true,\"aliases\":[\"PEARSON\"],\"description\":\"Specifies the Pearson residual for identifying poorly fitted observations. The default name is _RESCHI_.\",\"type\":\"standalone\"},{\"name\":\"RESDEV\",\"optional\":true,\"description\":\"Specifies the deviance residual for identifying poorly fitted observations. The default name is _RESDEV_.\",\"type\":\"standalone\"},{\"name\":\"RESLIK\",\"optional\":true,\"description\":\"Specifies the likelihood residual for identifying poorly fitted observations. The default name is _RESLIK_.\",\"type\":\"standalone\"},{\"name\":\"RESRAW\",\"optional\":true,\"aliases\":[\"RESIDUAL\"],\"description\":\"Specifies the raw residual for identifying poorly fitted observations. The default name is _RESRAW_.\",\"type\":\"standalone\"},{\"name\":\"RESWORK\",\"optional\":true,\"description\":\"Specifies the working residual for identifying poorly fitted observations. The default name is _RESWORK_.\",\"type\":\"standalone\"},{\"name\":\"ROLE\",\"optional\":true,\"description\":\"Specifies the numeric variable that indicates the role played by each observation in fitting the model. The default name is _ROLE_. Table 9.10 shows how this variable is interpreted for each observation.\",\"type\":\"standalone\"},{\"name\":\"STDRESCHI\",\"optional\":true,\"description\":\"Specifies the standardized Pearson (chi-square) residual for identifying observations that are poorly accounted for by the model. The default name is _STDRESCHI_.\",\"type\":\"standalone\"},{\"name\":\"STDRESDEV\",\"optional\":true,\"description\":\"Specifies the standardized deviance residual for identifying poorly fitted observations. The default name is _STDRESDEV_.\",\"type\":\"standalone\"},{\"name\":\"STDXBETA\",\"optional\":true,\"description\":\"Specifies the standard error estimates of XBETA. The default name is _STDXBETA_.\",\"type\":\"standalone\"},{\"name\":\"UCLM\",\"optional\":true,\"aliases\":[\"UPPERMEAN\",\"UPPER\"],\"description\":\"Specifies the variable that contains the upper confidence limits for the mean. The default name is _LCLM_. You can set the confidence level by specifying the ALPHA= option.\",\"type\":\"standalone\"},{\"name\":\"UCL\",\"optional\":true,\"aliases\":[\"UPPERXBETA\"],\"description\":\"Specifies the variable that contains the upper confidence limits for the linear predictor. The default name is _LCL_. You can set the confidence level by specifying the ALPHA= option.\",\"type\":\"standalone\"},{\"name\":\"XBETA\",\"optional\":true,\"aliases\":[\"LINP\"],\"description\":\"Specifies the linear predictor. The default name is _XBETA_.\",\"type\":\"standalone\"}]},{\"name\":\"PARTITION\",\"description\":\"The PARTITION statement specifies how observations in the input data set are logically partitioned into disjoint subsets for model training, validation, and testing.\",\"help\":\"PARTITION &lt;FRACTION(&lt; TEST=fraction &gt; &lt; VALIDATE=fraction &gt; &lt; SEED=number &gt;)&gt;&lt;ROLE=|ROLEVAR=variable (&lt; TEST='value' &gt; &lt; TRAIN='value' &gt; &lt; VALIDATE='value' &gt;)&gt;\",\"arguments\":[{\"name\":\"FRACTION=\",\"optional\":true,\"description\":\"Randomly assigns specified proportions of the observations in the input data table to the roles. You specify the proportions for testing and validation by using the TEST= and VALIDATE= suboptions. If you specify both the TEST= and VALIDATE= suboptions, then the sum of the specified fractions must be less than 1 and the remaining fraction of the observations are assigned to the training role. The SEED= option specifies an integer that is used to start the pseudorandom number generator for random partitioning of data for training, testing, and validation. If you do not specify SEED=number or if number is less than or equal to 0, the seed is generated by reading the time of day from the computer’s clock.\",\"help\":\"FRACTION=VALIDATE= | TEST= | SEED=\",\"type\":\"choice\",\"arguments\":[{\"name\":\"VALIDATE=\",\"type\":\"value\"},{\"name\":\"TEST=\",\"type\":\"value\"},{\"name\":\"SEED=\",\"type\":\"value\"}]},{\"name\":\"ROLE=\",\"optional\":true,\"aliases\":[\"ROLEVAR=\"],\"description\":\"Names the variable in the input data table whose values are used to assign roles to each observation. This variable cannot also appear as an analysis variable in other statements or options. The TEST=, TRAIN=, and VALIDATE= suboptions specify the formatted values of this variable that are used to assign observation roles. If you do not specify the TRAIN= suboption, then all observations whose role is not determined by the TEST= or VALIDATE= suboption are assigned to the training role.\",\"help\":\"ROLE=TRAIN= | VALIDATE= | TEST=\",\"type\":\"choice\",\"arguments\":[{\"name\":\"TRAIN=\",\"type\":\"value\"},{\"name\":\"VALIDATE=\",\"type\":\"value\"},{\"name\":\"TEST=\",\"type\":\"value\"}]}]},{\"name\":\"SELECTION\",\"description\":\"The SELECTION statement performs model selection by examining whether effects should be added to or removed from the model according to rules that are defined by model selection methods.\",\"help\":\"SELECTION &lt;DETAILS=&lt;NONE | SUMMARY | ALL&gt;... &gt;&lt;HIERARCHY=&lt;NONE | SINGLE | SINGLECLASS&gt;&gt;&lt;METHOD=&lt;BACKWARD | BACKWARD(FAST) | FORWARD&gt;... &gt; ...\",\"arguments\":[{\"name\":\"DETAILS=\",\"optional\":true,\"description\":\"Specifies the level of detail to be produced about the selection process. The default is DETAILS= SUMMARY.\",\"help\":\"DETAILS=NONE | SUMMARY | ALL | STEPS\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NONE\",\"description\":\"Specifies that no detail is produced about the selection process.\",\"type\":\"standalone\"},{\"name\":\"SUMMARY\",\"description\":\"Produces only the selection summary, stop reason, selection reason, and selected effects tables.\",\"type\":\"standalone\"},{\"name\":\"ALL\",\"description\":\"Produces the following output: o tables that provide information about the model that is selected at each step of the selection process. o entry and removal statistics for inclusion or exclusion candidates at each step. By default, only the top 10 candidates at each step are shown. If you specify STEPS(CANDIDATES(n)), then the best n candidates are shown. If you specify STEPS(CANDIDATES(ALL)), then all candidates are shown. o a selection summary table that shows by step the effect that is added to or removed from the model in addition to the values of the SELECT, STOP, and CHOOSE criteria for the resulting model. o a stop reason table that describes why the selection process stopped. o a selection reason table that describes why the selected model was chosen. o a selected effects table that lists the effects that are in the selected model.\",\"type\":\"standalone\"},{\"name\":\"STEPS\",\"description\":\"Produces the following output: o tables that provide information about the model that is selected at each step of the selection process. o entry and removal statistics for inclusion or exclusion candidates at each step. By default, only the top 10 candidates at each step are shown. If you specify STEPS(CANDIDATES(n)), then the best n candidates are shown. If you specify STEPS(CANDIDATES(ALL)), then all candidates are shown. o a selection summary table that shows by step the effect that is added to or removed from the model in addition to the values of the SELECT, STOP, and CHOOSE criteria for the resulting model. o a stop reason table that describes why the selection process stopped. o a selection reason table that describes why the selected model was chosen. O a selected effects table that lists the effects that are in the selected model.\",\"type\":\"standalone\"}]},{\"name\":\"HIERARCHY=\",\"optional\":true,\"description\":\"Specifies whether and how the model hierarchy requirement is applied. You can specify that only classification effects, or both classification and continuous effects, be subject to the hierarchy requirement. This option is ignored unless you also specify one of the following options: METHOD=FORWARD, METHOD=BACKWARD, or METHOD=STEPWISE.\",\"help\":\"HIERARCHY=NONE | SINGLE | SINGLECLASS\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NONE\",\"description\":\"Specifies that model hierarchy not be maintained. Any single effect can enter or leave the model at any step of the selection process.\",\"type\":\"standalone\"},{\"name\":\"SINGLE\",\"description\":\"Specifies that only one effect enter or leave the model at one time, subject to the model hierarchy requirement.\",\"type\":\"standalone\"},{\"name\":\"SINGLECLASS\",\"description\":\"Is the same as HIERARCHY=SINGLE except that only CLASS effects are subject to the hierarchy requirement.\",\"type\":\"standalone\"}]},{\"name\":\"METHOD=\",\"optional\":true,\"aliases\":[\"SELECTION=\"],\"description\":\"Specifies the method used to select the model.\",\"help\":\"METHOD=BACKWARD | BACKWARD(FAST) | FORWARD | LASSO | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"BACKWARD\",\"description\":\"Performs backward elimination. This method starts with all effects in the model and deletes effects.\",\"type\":\"standalone\"},{\"name\":\"BACKWARD\",\"description\":\"Performs fast backward elimination when SELECT=SL. This method starts with all effects in the model and deletes effects without refitting the model.\",\"help\":\"BACKWARD(FAST)\",\"type\":\"standalone\"},{\"name\":\"FORWARD\",\"description\":\"Performs forward selection. This method starts with no effects in the model and adds effects.\",\"type\":\"standalone\"},{\"name\":\"LASSO\",\"description\":\"Performs model selection by the group LASSO method. This method adds and removes effects by using a sequence of LASSO steps.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"Results in no model selection. This method fits the full model.\",\"type\":\"standalone\"}]},{\"name\":\"ORDERSELECT\",\"optional\":true,\"description\":\"Specifies that effects in the selected model are displayed in the order in which they first entered the model. If you do not specify the ORDERSELECT option, then effects in the selected model are displayed in the order in which they appear in the MODEL statement.\",\"type\":\"standalone\"},{\"name\":\"PLOT=\",\"optional\":true,\"aliases\":[\"PLOTS=\"],\"description\":\"Controls the selection process plots that are produced through ODS Graphics. When you specify only one plot request, you can omit the parentheses around it.\",\"help\":\"PLOT=ALL | COEFFICIENTS | CRITERIA | FITBYROLE | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ALL\",\"description\":\"Produces all relevant plots.\",\"type\":\"standalone\"},{\"name\":\"COEFFICIENTS\",\"description\":\"Syntax: COEFFICIENTS | COEFFICIENTPANEL <(UNPACK | UNPACKPANEL)> Creates a panel of two plots. The upper plot shows the progression of the parameter values as the selection process proceeds. The lower plot shows the progression of the CHOOSE= criterion.\",\"type\":\"standalone\"},{\"name\":\"CRITERIA\",\"description\":\"Syntax: CRITERIA | CRITERIONPANEL <(UNPACK | UNPACKPANEL)> Creates a panel of model fit criteria. If you specify the UNPACK option, then each criterion progression is shown in a separate plot.\",\"type\":\"standalone\"},{\"name\":\"FITBYROLE\",\"description\":\"Plots the progression of a fit statistic on the training, test, and validation data. The fit statistic that is displayed depends on the type of model that is being fit. The fit by role plot is not produced if you do not specify a PARTITION statement.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"Suppress all selection process plots, even if you specify other plot options.\",\"type\":\"standalone\"}]},{\"name\":\"STOPHORIZON=\",\"optional\":true,\"description\":\"Specifies the number of consecutive steps at which the STOP= criterion must worsen in order for a local extremum to be detected. The stop horizon value is ignored if you also specify STOP=NONE or STOP=SL. For example, suppose that STOP=AIC and the sequence of AIC values at steps 1 to 6 of a selection are 10, 7, 4, 6, 5, 2. If STOPHORIZON=2, then the AIC criterion is deemed to have a local minimum at step 3 because the AIC value at the next two steps are greater than the value 4 that occurs at step 3. However, if STOPHORIZON=3, then the value at step 3 is not deemed to be a local minimum because the AIC value at step 6 is lower than the AIC value at step 3. When METHOD=LAR or METHOD=LASSO, n is ignored and STOPHORIZON=1 is used. By default, STOPHORIZON=3.\",\"help\":\"STOPHORIZON=*n*\",\"type\":\"value\"}]},{\"name\":\"WEIGHT\",\"description\":\"The variable in the WEIGHT statement is used as a weight to perform a weighted analysis of the data. Observations that have nonpositive or missing weights are not included in the analysis. If a WEIGHT statement is not included, all observations that are used in the analysis are assigned a weight of 1.\",\"help\":\"WEIGHT variable\"}],\"supportSiteInformation\":{\"docsetId\":\"casstat\",\"docsetVersion\":\"latest\",\"docsetTargetFile\":\"casstat_genselect_toc.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/GEOCODE.json",
    "content": "{\"name\":\"GEOCODE\",\"statements\":[{\"name\":\"PROC GEOCODE\",\"description\":\"Identifies the data set that contains the address data that you want to geocode and can identify a lookup data set. You can also specify an output data set, the geocoding method, alternate names for geocoding variables, and additional attribute variables to associate with the matched addresses.\",\"help\":\"PROC GEOCODE DATA=*address-data-set* &lt;*options*&gt;;\",\"arguments\":[{\"name\":\"DATA=\",\"description\":\"specifies the SAS data set that contains address observations that you want to geocode.\",\"help\":\"DATA=*address-data-set*\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"n1aoy46me4r6y1n1t6ktf3jyooo6\"},{\"name\":\"ADDRESSCITYVAR=\",\"optional\":true,\"description\":\"specifies the character variable in the input address data set that contains the city names.\",\"help\":\"ADDRESSCITYVAR=*character-variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0iag14y9hc8hyn15rog4ib3uxm5\"},{\"name\":\"ADDRESSCOUNTRYVAR=\",\"optional\":true,\"description\":\"specifies the character variable in the input address data set that contains the country name or identifier for international CITY geocoding.\",\"help\":\"ADDRESSCOUNTRYVAR=*character-variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1t8y29h0drrixn1dijjvllby81u\"},{\"name\":\"ADDRESSPLUS4VAR=\",\"optional\":true,\"description\":\"specifies the variable in the input address data set that contains ZIP+4 extensions.\",\"help\":\"ADDRESSPLUS4VAR=*variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1x5s5m2zpvldqn139dseafbhmol\"},{\"name\":\"ADDRESSSTATEVAR=\",\"optional\":true,\"description\":\"specifies the character variable in the input address data set that contains the two-character postal abbreviation for each state or province.\",\"help\":\"ADDRESSSTATEVAR=*character-variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1jxg5hap907j0n114vovf74mns1\"},{\"name\":\"ADDRESSVAR=\",\"optional\":true,\"description\":\"specifies the address variable for STREET, CUSTOM, or RANGE geocoding.\",\"help\":\"ADDRESSVAR=*variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0z9nhdlxpk272n1n7kigeba9zsx\"},{\"name\":\"ADDRESSZIPVAR=\",\"optional\":true,\"description\":\"specifies the variable in the input address data set that contains the five-digit ZIP code values or non-U.S. postcode values.\",\"help\":\"ADDRESSZIPVAR=*variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1dmhdas6rsd3zn1pfwlcp3ye7vg\"},{\"name\":\"ATTRIBUTEVAR=\",\"optional\":true,\"description\":\"lists non-geocoding variables in the lookup data set that are to be added to the output data set.\",\"help\":\"ATTRIBUTEVAR=(*variable-1*, *variable-2*,  ...)\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0ofl5vhafymx5n12sko4uqjgko0\"},{\"name\":\"BEGINRANGEVAR=\",\"optional\":true,\"description\":\"specifies the numeric variable in your range data set that contains the beginning IP address for each range of addresses.\",\"help\":\"BEGINRANGEVAR=*variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0aly6bx09un6qn1sp1mme9but28\"},{\"name\":\"DIRECTION=\",\"optional\":true,\"aliases\":[\"DIR=\",\"DIRECT=\"],\"description\":\"specifies an alternate data set of street direction names.\",\"help\":\"DIRECTION=*data-set*\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"p0h38hp36xmv1pn1ro1jr5139jwa\"},{\"name\":\"ENDRANGEVAR=\",\"optional\":true,\"description\":\"specifies the numeric variable in your range data set that contains the ending IP address for each range of addresses.\",\"help\":\"ENDRANGEVAR=*variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n07l7a7oocyhe8n1hfhtwy05fhfk\"},{\"name\":\"LOOKUP=\",\"optional\":true,\"description\":\"specifies a SAS data set that associates coordinates with addresses for specific geocoding methods.\",\"help\":\"LOOKUP=*lookup-data-set*\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"n0o85ivdwtr8t6n1qn78gwjyjemf\"},{\"name\":\"LOOKUPCITY=\",\"optional\":true,\"description\":\"specifies the city matching data set for associating coordinates with addresses when performing CITY geocoding.\",\"help\":\"LOOKUPCITY=*city-matching-data-set*\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"p1c3ncfselap92n109y0tzrbonte\"},{\"name\":\"LOOKUPCITYVAR=\",\"optional\":true,\"description\":\"specifies the character variable in the lookup data set that contains the city names.\",\"help\":\"LOOKUPCITYVAR=*character-variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p04753vdtpitqan1px1zycq5mlcy\"},{\"name\":\"LOOKUPCOUNTRYVAR=\",\"optional\":true,\"description\":\"specifies the character variable in the lookup data set that contains the country name or identifier.\",\"help\":\"LOOKUPCOUNTRYVAR=*character-variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n034wn7lq377mpn1xnjkbkq9t32q\"},{\"name\":\"LOOKUPKEYVAR=\",\"optional\":true,\"description\":\"specifies the key variable for the lookup data set that links into the RANGE data set.\",\"help\":\"LOOKUPKEYVAR=*variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n158b142aek6z8n1juche1sv2irp\"},{\"name\":\"LOOKUPLATVAR=\",\"optional\":true,\"description\":\"specifies the numeric variable in the lookup data set that contains the latitude of the geocoded location.\",\"help\":\"LOOKUPLATVAR=*numeric-variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1ca5sofke8obhn10o854lqo4eku\"},{\"name\":\"LOOKUPLONGVAR=\",\"optional\":true,\"description\":\"specifies the numeric variable in the lookup data set that contains the longitude of the geocoded location.\",\"help\":\"LOOKUPLONGVAR=*numeric-variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1hn4d1ksuhf0tn1rtc5cabcdosj\"},{\"name\":\"LOOKUPPLUS4VAR=\",\"optional\":true,\"description\":\"specifies the variable in the lookup address data set that contains ZIP+4 extensions.\",\"help\":\"LOOKUPPLUS4VAR=*variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1vggti4t0nsuhn1gs6vpalfvaq5\"},{\"name\":\"LOOKUPSTATEVAR=\",\"optional\":true,\"description\":\"specifies the character variable in the lookup data set that contains the two-character postal abbreviation for the states or provinces.\",\"help\":\"LOOKUPSTATEVAR=*character-variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0bsi1ylyz778cn10so4nay4q2ja\"},{\"name\":\"LOOKUPSTREET=\",\"optional\":true,\"description\":\"specifies the street matching data set for associating coordinates with addresses when performing STREET geocoding.\",\"help\":\"LOOKUPSTREET=*street-matching-data-set*\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"n0t3s1hr203i7un1q53o1kjbrgsq\"},{\"name\":\"LOOKUPVAR=\",\"optional\":true,\"description\":\"specifies the variable in the lookup data set that contains non-address values used for geocoding with CUSTOM regions.\",\"help\":\"LOOKUPVAR=*variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1jag0g0soatfdn1p787iwarm6c8\"},{\"name\":\"LOOKUPXVAR=\",\"optional\":true,\"description\":\"specifies the numeric variable in the lookup data set that contains the longitude of the geocoded location.\",\"help\":\"LOOKUPXVAR=*numeric-variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n185tkqei3i6hyn1xem0366od387\"},{\"name\":\"LOOKUPYVAR=\",\"optional\":true,\"description\":\"specifies the numeric variable in the lookup data set that contains the latitude of the geocoded location.\",\"help\":\"LOOKUPYVAR=*numeric-variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0xxud01y9nlqmn1q8q9huqna9a3\"},{\"name\":\"LOOKUPZIPVAR=\",\"optional\":true,\"description\":\"specifies the variable in the lookup data set that contains the five-digit ZIP code values or the non-U.S. postcode values.\",\"help\":\"LOOKUPZIPVAR=*variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1flmwk5t6gxkyn1skij8pu7a0sc\"},{\"name\":\"METHOD=\",\"optional\":true,\"description\":\"specifies the primary geocoding method.\",\"help\":\"METHOD=*geocoding-method*\",\"type\":\"value\",\"arguments\":[{\"name\":\"CITY\",\"description\":\"specifies the CITY geocoding method. The GEOCODE procedure attempts to match certain variables from your address data set with the lookup data set. The procedure uses city and state variables for U.S. city matching, and city and country variables for world city matching. When using a world city lookup data set, you have the option of specifying a state or province variable to help the procedure match cities. A _MATCHED_ value of State mismatch indicates that the geocoder found a city and country match but the state or province name was not matched. Separate city, country, and state variables are required in the address and lookup data sets.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0ola2iwivh4win1ltr82fmqz4qv\"},{\"name\":\"CUSTOM\",\"description\":\"specifies the CUSTOM geocoding method. The GEOCODE procedure attempts to match custom variables that you specify by using the LOOKUPVAR= and ADDRESSVAR= options. Examples of custom variables include internal sales territories and Metropolitan Statistical Areas (MSA).\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1vu5mbpxbpt3xn1wlcfgwf5v8gh\"},{\"name\":\"PLUS4\",\"description\":\"specifies the PLUS4 geocoding method. The GEOCODE procedure attempts to match the five-digit ZIP code and ZIP+4 extension from your address data set with the lookup data set.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n008t3yz6hdct9n1opr3b9w5g05j\"},{\"name\":\"RANGE\",\"description\":\"specifies the RANGE geocoding method. The GEOCODE procedure attempts to match an IP address from your address data set to a range of IP addresses from the range data set. If a match is found, then a key variable is used to match the IP address to a set of coordinates in the lookup data set.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n027jaf9w4ogogn10f28olt92txg\"},{\"name\":\"STREET\",\"description\":\"specifies the STREET geocoding method. The GEOCODE procedure first attempts to match the street name and ZIP or postal code. If no match is found, then the GEOCODE procedure attempts to match the street name, city name, and two-character state abbreviation or full state name. If the second match fails, then the ZIP method and the CITY method are used instead.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1agjey4dyum0zn1b5pmdskbv5q2\"},{\"name\":\"ZIP\",\"description\":\"specifies the ZIP code geocoding method. The GEOCODE procedure attempts to match the five-digit ZIP code or non-U.S. postal code from your address data set with the lookup data set. If no match is found, then the CITY method is used instead.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1ro65hmlpbvixn1g1vvdvacj2kg\"}],\"supportSiteTargetFragment\":\"p07rfyfneksv11n0zashk82ruxa2\"},{\"name\":\"NOCITY\",\"optional\":true,\"description\":\"disables the secondary matching attempt using the CITY geocoding method when STREET or ZIP code geocoding does not find a match.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1c8eqik1kwqm4n1st1ymnlhg7yq\"},{\"name\":\"NOSTIMER\",\"optional\":true,\"description\":\"disables the informational messages sent to the SAS log that tracks the progress of the geocoding operation.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n10tuzrzocm9tcn1hy91ftqyuflo\"},{\"name\":\"NOZIP\",\"optional\":true,\"description\":\"disables the secondary matching attempt using the ZIP geocoding method when PLUS4 or STREET geocoding does not find a match.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p022jij0f6whe4n11sh2gnphgz7u\"},{\"name\":\"OUT=\",\"optional\":true,\"description\":\"specifies a data set for the geocoded addresses.\",\"help\":\"OUT=*output-data-set*\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"p0awbdt8bld0dfn1moic6pbxzlqk\"},{\"name\":\"RANGEDATA=\",\"optional\":true,\"description\":\"specifies a data set that associates ranges of IPv4 addresses with locations.\",\"help\":\"RANGEDATA=*data-set*\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"p10g3q3qufh86vn119ejt4lnaeon\"},{\"name\":\"RANGEDECIMAL\",\"optional\":true,\"description\":\"specifies that the values of the ADDRESSVAR= variable are in decimal or hexadecimal format.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1fgtt5fr8oypnn1ulbqmvvly1t0\"},{\"name\":\"RANGEKEYVAR=\",\"optional\":true,\"description\":\"specifies the key variable for the IPv4 range data set.\",\"help\":\"RANGEKEYVAR=*variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n14m73ghp4xuenn18ucvcpbhc4uu\"},{\"name\":\"STATE=\",\"optional\":true,\"description\":\"specifies a SAS data set that is used by the STREET geocoding method to equate state or province postal abbreviations with complete names.\",\"help\":\"STATE=*data-set*\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"p05b73jgic7okdn1k2fw2waj4jzv\"},{\"name\":\"TYPE=\",\"optional\":true,\"description\":\"specifies a SAS data set that is used by the STREET geocoding method to standardize common street address elements.\",\"help\":\"TYPE=*data-set*\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"n0zaf4kyyw7yifn1ny1yajx5jn9v\"}],\"supportSiteTargetFile\":\"p1rlyxczwqwolvn1ki3voitkyxuc.htm\"}],\"supportSiteInformation\":{\"docsetId\":\"grmapref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"p087i29802bnfgn1qn9isdqzde0h.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/GFONT.json",
    "content": "{\"name\":\"GFONT\",\"statements\":[{\"name\":\"PROC GFONT\",\"description\":\"The PROC GFONT statement can either create SAS/GRAPH fonts or display existing SAS/GRAPH fonts. The GFONT procedure names the font to be created or displayed. If the GFONT procedure creates a font, then an input data set name is required. You can modify the design and appearance of the fonts that you create or display, and specify a destination catalog for graphics output.\",\"help\":\"Display a font:PROC GFONT NAME=SAS/GRAPH-font | system-font\\n\\tNOBUILD<options-for-displaying-fonts>;\\n\\n\\tNOTE <text-arguments(s)>;Create a font:PROC GFONT NAME=SAS/GRAPH-font\\n\\tDATA=font-data-set<options-for-creating-fonts>;\",\"arguments\":[{\"name\":\"DATA=\",\"description\":\"specifies the SAS data set that the GFONT procedure uses to build the font.\",\"help\":\"DATA=*font-data-set*\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"p0eg8f50dx1cpvn1ab85k67ut3ze\"},{\"name\":\"NAME=\",\"aliases\":[\"N=\"],\"description\":\"when displaying a font, specifies the name of the font to be displayed.\",\"help\":\"NAME=*SAS/GRAPH-font-name* | *system-font-name*\",\"type\":\"choice\",\"arguments\":[{\"name\":\"SAS/GRAPH-font-name\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"system-font-name\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p1k4ku2kd9byiln1244oyxdrx3a5\"},{\"name\":\"NAME=\",\"aliases\":[\"N=\"],\"description\":\"when creating a font, specifies a name for the font that you are creating.\",\"help\":\"NAME=*SAS/GRAPH-font-name*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0c84nnkdej3zln1s14qdsc43l71\"},{\"name\":\"NOBUILD\",\"aliases\":[\"NB\"],\"description\":\"specifies that the GFONT procedure is to display an existing font.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n12xx0uldeytr1n1u0jtecr7u3p1\"},{\"name\":\"CTEXT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"CT=\"],\"description\":\"specifies a color for the body of the characters.\",\"help\":\"CTEXT=*text-color*\",\"type\":\"color\",\"supportSiteTargetFragment\":\"p1v3myntgpvyxun1oy520jgeopdd\"},{\"name\":\"GOUT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the SAS catalog in which to save the graphics output generated by the display of the font.\",\"help\":\"GOUT=&lt;*libref*.&gt;*output-catalog*\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"p1c9vgdwd9jq87n19l0j6p2aut60\"},{\"name\":\"HEIGHT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"H=\"],\"description\":\"specifies the height of the font characters in number of units, n.\",\"help\":\"HEIGHT=*character-height* &lt;*units*&gt;\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0i3dyotjtixqdn1tkf7zy2xs30c\"},{\"name\":\"NOKEYMAP\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that the current key map is ignored when displaying the font and its character codes or hexadecimal values.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0lz90aps4xdqrn1k5dun6be24kq\"},{\"name\":\"NOROMAN\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"NR\"],\"description\":\"turns off the automatic display of character codes that are created when you use the SHOWROMAN option during font creation.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0433cb8c6n9acn1mx3cc2g9vx6s\"},{\"name\":\"NOROMHEX\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"NOHEX\"],\"description\":\"turns off the automatic display of hexadecimal values for single-byte characters.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1g2w9ythhy7oqn10i588o1qy8iw\"},{\"name\":\"REFCOL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a color for reference lines.\",\"help\":\"REFCOL=*reference-line-color*\",\"type\":\"color\",\"supportSiteTargetFragment\":\"n068lzfakld319n1kfsc8cln7d5s\"},{\"name\":\"REFLINES\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"draws reference lines around each displayed character.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1uxuodk4wpev0n15kuy48ete6bf\"},{\"name\":\"ROMCOL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"RC=\"],\"description\":\"specifies the color of the character codes or hexadecimal values that are displayed with the SHOWROMAN and ROMHEX options.\",\"help\":\"ROMCOL=*code-color*\",\"type\":\"color\",\"supportSiteTargetFragment\":\"p0suutnp3kzqf2n1j79a6731cth6\"},{\"name\":\"ROMFONT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"RF=\"],\"description\":\"specifies the font for character codes and hexadecimal values that are displayed by the SHOWROMAN and ROMHEX options.\",\"help\":\"ROMFONT=*font*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0yxlrxexxvwi4n1urk7s3difq1w\"},{\"name\":\"ROMHEX\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"HEX\"],\"description\":\"displays hexadecimal values below the font characters.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0ihk92n4w4da1n10n9nnavjjzng\"},{\"name\":\"ROMHT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"RH=\"],\"description\":\"specifies the height of the character codes and the hexadecimal values that are displayed with the SHOWROMAN and ROMHEX options in number of units, n.\",\"help\":\"ROMHT=*height* &lt;*units*&gt;\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0dahh3fthawpun1pc3sac87la8e\"},{\"name\":\"SHOWALL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"displays the font with a space for every possible character position whether a font character exists for that position.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1l9rja14dybvvn1eljn1qiymsrj\"},{\"name\":\"SHOWROMAN\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"SR\"],\"description\":\"displays character codes below the font characters even if they are not displayed automatically with the font.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1bqv2gneme4iwn13rpdxfjq8cjx\"},{\"name\":\"BASELINE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"B=\"],\"description\":\"specifies the vertical coordinate in the font data set that is the baseline of the characters.\",\"help\":\"BASELINE=*y*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p19d294zbe4kw1n14vf3i9jhwhbe\"},{\"name\":\"CAPLINE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"C=\"],\"description\":\"specifies the vertical coordinate in the font data set that is the capline of the characters.\",\"help\":\"CAPLINE=*y*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0jdsooeom7wnan1elg0epso1sn2\"},{\"name\":\"CHARSPACETYPE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"CSP\"],\"description\":\"specifies the type of intercharacter spacing.\",\"help\":\"CHARSPACETYPE=DATA | FIXED | NONE | UNIFORM\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DATA\",\"followsDelimiter\":\"/\",\"description\":\"specifies that the first observation for each character sets the width of that character.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0vsf9asap63xan1kfuqjzhv78xd\"},{\"name\":\"FIXED\",\"followsDelimiter\":\"/\",\"description\":\"adds a fixed amount of space between characters based on the font size.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0qtwkvk1ryni5n1jbixm5cm83z8\"},{\"name\":\"NONE\",\"followsDelimiter\":\"/\",\"description\":\"specifies that no space is added between characters.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1kycvtkd5fwaan1jmisqyyefln2\"},{\"name\":\"UNIFORM\",\"followsDelimiter\":\"/\",\"description\":\"specifies that the amount of space that is used for each character is uniform, not proportional.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n064go5shr3ywvn1sza6fpp41wlg\"}],\"supportSiteTargetFragment\":\"n0tsljvpztc9eun11q6yyrqqzduq\"},{\"name\":\"CODELEN=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the length in bytes of the CHAR variable.\",\"help\":\"CODELEN=1 | 2\",\"type\":\"choice\",\"arguments\":[{\"name\":\"1\",\"type\":\"standalone\"},{\"name\":\"2\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"n10fvq5ql4maben1m6ocpv3s8pga\"},{\"name\":\"FILLED\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"F\"],\"description\":\"specifies that the characters in a polygon font are filled.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0gbdhwticy87in12dj59ibb2crr\"},{\"name\":\"KERNDATA=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"KERN=\"],\"description\":\"specifies the data set that contains kerning information.\",\"help\":\"KERNDATA=*kern-data-set*\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"p0hlz41x3kahqrn1o6cids10xgd2\"},{\"name\":\"MWIDTH=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the width of a character in a uniform font, where character-width is the number of font units.\",\"help\":\"MWIDTH=*character-width*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p12pcd146fzt3an17ndrc633fkf3\"},{\"name\":\"NODISPLAY\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"ND\"],\"description\":\"specifies that the GFONT procedure is not to display the font that it is creating.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n05r62ein5y065n1otveau3x30l0\"},{\"name\":\"NOKEYMAP\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that the current key map is ignored when you create and then use the font that is created.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1dlsw1ds29v0sn1f9e1lv4dp7nr\"},{\"name\":\"RESOL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"R=\"],\"description\":\"controls the resolution of the fonts by specifying the number of bytes (1 through 4) for storing coordinates in the font.\",\"help\":\"RESOL=1 | 2 | 3 | 4\",\"type\":\"choice\",\"arguments\":[{\"name\":\"1\",\"type\":\"standalone\"},{\"name\":\"2\",\"type\":\"standalone\"},{\"name\":\"3\",\"type\":\"standalone\"},{\"name\":\"4\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"p0v739ilea0aajn1w241bcgvddpu\"},{\"name\":\"ROMHEX\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"HEX\"],\"description\":\"specifies that hexadecimal values are displayed automatically below the font characters when the GFONT procedure displays the font.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0ysb5oxf6fvfhn1a9tahasygpw0\"},{\"name\":\"SHOWROMAN\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"SR\"],\"description\":\"specifies that character codes are displayed automatically below the font characters when the GFONT procedure displays the font.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1w75j76roldbkn17p7l9rnigk85\"},{\"name\":\"SPACEDATA=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"SPACE=\"],\"description\":\"specifies the SAS data set that contains font spacing information.\",\"help\":\"SPACEDATA=*space-data-set*\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"n0oph6f3j1w8sln15hbg0laqtdbg\"},{\"name\":\"UNIFORM\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"U\",\"CSP=UNIFORM\"],\"description\":\"specifies that characters are spaced uniformly rather than proportionately.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1972xwk9cpjpcn1ga31hy978yy1\"}],\"supportSiteTargetFile\":\"n02mmdv4o3kayen1h2oiuh3z8a70.htm\"},{\"name\":\"NOTE\",\"description\":\"Control the content, appearance, and placement of text.\",\"help\":\"NOTE &lt;*text-options*&gt;&lt;‘*text-string*’&gt;;\",\"arguments\":[{\"name\":\"ALT=\",\"description\":\"specifies descriptive text for a URL to which a note links, or the note itself.\",\"help\":\"ALT=\\\"*text-string*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1ss7qwa0a8ym6n10yt0pvlswkhlc\"},{\"name\":\"ANGLE=\",\"aliases\":[\"A=\"],\"description\":\"specifies the angle of the baseline of the entire text string with respect to the horizontal.\",\"help\":\"ANGLE=*degrees*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0agfl3v4cz076n1vq0sm0kpc7u9c\"},{\"name\":\"BCOLOR=\",\"aliases\":[\"BC=\"],\"description\":\"specifies the background color of a box produced by the BOX= option.\",\"help\":\"BCOLOR=*background-color*\",\"type\":\"color\",\"supportSiteTargetFragment\":\"n0p6kae6bogf6ln1qfi5lumfuqslc\"},{\"name\":\"BLANK=\",\"aliases\":[\"BL=\"],\"description\":\"protects the box and its contents from being overwritten by any subsequent graphics elements.\",\"help\":\"BLANK=YES\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1k1qe16mrandmn1p5d6zmfzbpp3c\"},{\"name\":\"BOX=\",\"aliases\":[\"BO=\"],\"description\":\"draws a box around one line of text.\",\"help\":\"BOX=*1* - *4*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1gsgi19gb631mn1u3ohvku3h9frc\"},{\"name\":\"BSPACE=\",\"aliases\":[\"BS=\"],\"description\":\"specifies the amount of space between the boxed text and the box.\",\"help\":\"BSPACE=*box-space*&lt;*units*&gt;\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1bsvoi1ejzgldn13u0ctqhoumr7c\"},{\"name\":\"COLOR=\",\"aliases\":[\"C=\"],\"description\":\"specifies the color for the following text, box, or line.\",\"help\":\"COLOR=*color*\",\"type\":\"color\",\"supportSiteTargetFragment\":\"p0sbrdi8whe59cn1trrly9i486a2c\"},{\"name\":\"DRAW=\",\"aliases\":[\"D=\"],\"description\":\"draws lines anywhere on the graphics output area.\",\"help\":\"DRAW=(*x,y* - ,*x-n,y-n*)&lt;*units*&gt;\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1ek60b1m99g1en1p2vat39gnk0uc\"},{\"name\":\"FONT=\",\"aliases\":[\"F=\"],\"description\":\"specifies the font for the subsequent text.\",\"help\":\"FONT=*font*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n14ghk49hvnj9bn1dggqdp9185h0c\"},{\"name\":\"HEIGHT=\",\"aliases\":[\"H=\"],\"description\":\"specifies the height of text characters in number of units.\",\"help\":\"HEIGHT=*text-height*&lt;*units*&gt;\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1nstxzbtib4yon17b1z48u1xc43c\"},{\"name\":\"JUSTIFY=\",\"description\":\"specifies the alignment of the text string.\",\"help\":\"JUSTIFY=LEFT | CENTER | RIGHT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"LEFT\",\"aliases\":[\"L\"],\"description\":\"aligns the text to the left.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1bd3ccior85vpn1j8yydbva53ohc\"},{\"name\":\"CENTER\",\"aliases\":[\"C\"],\"description\":\"aligns the text in the center.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1xzocqktoshbhn0zj41vgrrpcf0c\"},{\"name\":\"RIGHT\",\"aliases\":[\"R\"],\"description\":\"aligns the text to the right.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0d72p8dhm0aken19ezwvnuh89hjc\"}],\"supportSiteTargetFragment\":\"p0ic105d0qi1len198gj233aunvxc\"},{\"name\":\"LANGLE=\",\"aliases\":[\"LA=\"],\"description\":\"specifies the angle of the entire text-string(s).\",\"help\":\"LANGLE=*degrees*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p17asd7cxorhh0n13ock77km9umwc\"},{\"name\":\"LINK=\",\"description\":\"specifies a uniform resource locator (URL) to which a note links.\",\"help\":\"LINK=\\\"*URL*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1g7nbregrkazwn13yab35dwunkfc\"},{\"name\":\"LSPACE=\",\"aliases\":[\"LS=\"],\"description\":\"specifies the amount of spacing above and below lines of text.\",\"help\":\"LSPACE=*line-space* &lt;*units*&gt;\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1rvmh79wukiwin10y0uxgndzm0kc\"},{\"name\":\"MOVE=\",\"aliases\":[\"M=\"],\"description\":\"positions a text string.\",\"help\":\"MOVE=(*x*,*y*) &lt;*units*&gt;\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1b4ii0h0nvyl9n1n3f3rq4bcmd7c\"},{\"name\":\"ROTATE=\",\"aliases\":[\"R=\"],\"description\":\"specifies the angle at which each character of text is rotated.\",\"help\":\"ROTATE=*degrees*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0eixp1t2i8jh7n18f5h9abmkbd9c\"},{\"name\":\"UNDERLIN=\",\"aliases\":[\"U=\",\"UNDERLINE=\"],\"description\":\"underlines subsequent text.\",\"help\":\"UNDERLIN=*0* - *3*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0odrift6g8tevn1wlkt3yirab29c\"},{\"name\":\"WRAP\",\"description\":\"wraps the text to a second line if the text does not fit on one line.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0f424vsafu2k4n1uvv5px2ea0vnc\"},{\"name\":\"#BYLINE\",\"description\":\"substitutes the entire BY line without leading or trailing blanks for #BYLINE in the text string. It also displays the BY line in the note produced by the statement.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n17mfc3jo9ghz4n1g0w1pyzjaba6c\"},{\"name\":\"#BYVAL\",\"description\":\"substitutes the current value of the specified BY variable for #BYVAL in the text string and displays the value produced by the statement. Specify the variable with one of these values:\",\"help\":\"  #BYVAL*n* <br/> #BYVAL(*variable-name*)\",\"type\":\"value\",\"arguments\":[{\"name\":\"n\",\"placeholder\":true,\"description\":\"specifies which variable in the BY statement #BYVAL should use. The value of n indicates the position of the variable in the BY statement.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p152link16gmrxn17tbgrpvy6snbf\"},{\"name\":\"variable-name\",\"placeholder\":true,\"description\":\"names the BY variable.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0aywj8k42frwsn1d1075rkks2zjf\"}],\"supportSiteTargetFragment\":\"p0g93myce7dkd2n1oub0dnqw6de0f\"},{\"name\":\"#BYVAR\",\"description\":\"substitutes the name of the BY variable or label associated with the variable (whatever the BY line would normally display) for #BYVAR in the text string and displays the name or label produced by the statement. Specify the variable with one of these:\",\"help\":\"  #BYVAR*n* <br/> #BYVAR(*BY-variable-name*)\",\"type\":\"value\",\"arguments\":[{\"name\":\"n\",\"placeholder\":true,\"description\":\"specifies which variable in the BY statement #BYVAR should use. The value of n indicates the position of the variable in the BY statement. For example, #BYVAR2 specifies the second variable in the BY statement.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0edwk5zij4p1dn1dx8j7ljlp2g0f\"},{\"name\":\"BY-variable-name\",\"placeholder\":true,\"description\":\"names the BY variable. For example, #BYVAR(SITES) specifies the BY variable, SITES. Variable-name is not case sensitive.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0h7djvvxju8lqn1oopd9m2939nuf\"}],\"supportSiteTargetFragment\":\"n0lq1vfuz9uxsen12rp88i6fk1pjf\"}],\"supportSiteTargetFile\":\"n06de0d5lj12inn14glgif2c8ovac.htm\"}],\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"n0gpx54kwyontkn1kxu6iebpg5v2.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/GINSIDE.json",
    "content": "{\"name\":\"GINSIDE\",\"statements\":[{\"name\":\"PROC GINSIDE\",\"description\":\"The GINSIDE procedure compares a data set of X and Y coordinates to a map data set containing map polygons. The procedure determines whether the X and Y points fall inside or outside of the map polygons.\",\"help\":\"PROC GINSIDE  \\nDATA=points-data-set\\nMAP=map-data-set \\n<option(s)>;   \\n\\tID  id-variable(s);\",\"arguments\":[{\"name\":\"DATA=\",\"description\":\"specifies an input data set that contains the X and Y coordinates of the individual points that are being compared to the map polygons.\",\"help\":\"DATA=*points-data-set*\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"p1r5a9rnmy0vh2n1wmllg2mshpvf\"},{\"name\":\"MAP=\",\"description\":\"specifies the map data set that contains the polygons that you want to compare the points in the input data set to. This data must conform to the rules for a map data set and contain variables X and Y and one or more ID variables. The ID statement should name that variable or variables.\",\"help\":\"MAP=*map-data-set*\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"p02dmbgu20l9r5n14ewaouqpt432\"},{\"name\":\"DROPMAPVARS\",\"optional\":true,\"aliases\":[\"DMV\"],\"description\":\"specifies that the GINSIDE procedure should keep the ID variable but drop all of the other map data set variables when writing to the output data set.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0brs5ko1k9ue1n1pkdhpub5l0f9\"},{\"name\":\"INCLUDEBORDER\",\"optional\":true,\"description\":\"includes points that are on the border of a polygon in the output data set.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0ep7wate3fkkon10sci2kho4bcw\"},{\"name\":\"INSIDEONLY\",\"optional\":true,\"description\":\"causes the output data set to contain only points that are inside the map polygons.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1raiawhv8c9q7n1bsytjwn0ocvd\"},{\"name\":\"KEEPMAPVARS\",\"optional\":true,\"aliases\":[\"KMV\"],\"description\":\"specifies that the GINSIDE procedure should include all of the map data set variable names in the output data set.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1g5h3obl568t9n1p16zz2q2c6a1\"},{\"name\":\"OUT=\",\"optional\":true,\"description\":\"specifies the output data set for the GINSIDE procedure.\",\"help\":\"OUT=*output-data-set*\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"p1dubi5oq8f7vtn1mkfupfy97fye\"}],\"supportSiteTargetFile\":\"p0ian43grdtjosn1midf5xidk1ho.htm\"},{\"name\":\"ID\",\"description\":\"Specifies the identification variables in the map data set whose polygons are checked against the points from the input data set.\",\"help\":\"ID *id-variable(s)*;\",\"arguments\":[{\"name\":\"id-variable\",\"placeholder\":true,\"description\":\"specifies one or more identification variables from the map data set. For each X and Y point in the input data set and each ID variable that you specify, the procedure determines whether the point lies within a polygon in the map data set. If it does, then the ID value of that polygon is written to the output data set. If the point lies outside of all of the polygons, then a missing value is written to the output data set.\",\"help\":\"*id-variable(s)*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1b6iasu9swcrsn1fwzcaxhrqvkz\"}],\"supportSiteTargetFile\":\"p02ouo6mryyqqen13wt2q4xypbcm.htm\"}],\"supportSiteInformation\":{\"docsetId\":\"grmapref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"p1frskc294tbapn1wwumr6m4d3ka.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/GKPI.json",
    "content": "{\"name\":\"GKPI\",\"statements\":[{\"name\":\"PROC GKPI\",\"description\":\"Identifies the display mode.\",\"help\":\"PROC GKPI <MODE= BASIC | MODERN | RAISED>;                   \\n\\tDIAL                 ACTUAL=value BOUNDS=bounds-list</ options>;\\n\\n\\tHBULLET | BULLET                 ACTUAL=value BOUNDS=bounds-list</ options>;\\n\\n\\tVBULLET                 ACTUAL=value BOUNDS=bounds-list</ options>;\\n\\n\\tHSLIDER | SLIDER                 ACTUAL=value BOUNDS=bounds-list</ options>;\\n\\n\\tVSLIDER                 ACTUAL=value BOUNDS=bounds-list</ options>;\\n\\n\\tHTRAFFICLIGHT                 ACTUAL=value BOUNDS=bounds-list</ options>;\\n\\n\\tVTRAFFICLIGHT |                   TRAFFICLIGHT  ACTUAL=value\\n\\t\\tBOUNDS=bounds-list</ options>;\\n\\n\\tSPEEDOMETER                 ACTUAL=value BOUNDS=bounds-list</ options>;\\n\\n\\tQUIT ;\\n\",\"arguments\":[{\"name\":\"MODE=\",\"optional\":true,\"description\":\"specifies the display mode of KPI chart images.\",\"help\":\"MODE=BASIC | MODERN | RAISED\",\"type\":\"choice\",\"arguments\":[{\"name\":\"BASIC\",\"description\":\"creates a two-dimensional image.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0cgmqtek858ynn1g7ohjha3jdi9\"},{\"name\":\"MODERN\",\"description\":\"creates an image with a streamlined appearance.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0oo6oreyabaa8n1vttsmiwlc80c\"},{\"name\":\"RAISED\",\"description\":\"creates a three-dimensional version of the basic KPI.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1eqb9szk38yvhn1vsmhfdx8tot5\"}],\"supportSiteTargetFragment\":\"p09fpng06ru5jon1gpxe5gfy59p6\"}],\"supportSiteTargetFile\":\"n005fikj2gjwy9n141qyujciovio.htm\"},{\"name\":\"DIAL\",\"description\":\"Creates a chart in the dial display type.\",\"help\":\"\\n\\t<DIAL  ACTUAL=value BOUNDS=bounds-list</ options>>;\\n\",\"arguments\":[{\"name\":\"ACTUAL=\",\"description\":\"specifies the actual value of the key performance indicator (KPI). The actual data value can fall outside the bounds specified with the BOUNDS= option, but the GKPI procedure displays that actual value indicator at the outermost edge of the KPI chart.\",\"help\":\"ACTUAL=                            data-value\\n                     \",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1504nwilj3tu0n1ld0uw88xo4ow\"},{\"name\":\"BOUNDS=\",\"description\":\"specifies a list of defined boundary values. The values can be negative or positive, but you must specify the list in either ascending or descending order. Separate each boundary value with a blank space.\",\"help\":\"BOUNDS=(bound–1 \\n                        bound–2                            ...bound–n)\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0ysdsio2209bin1pa4m7hfuaq1y\"},{\"name\":\"ACTIVECOLORS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the list of active colors for each qualitative range.\",\"help\":\"ACTIVECOLORS=(color–1\\n            color–2\\n             ...color–n)\",\"type\":\"color\",\"supportSiteTargetFragment\":\"n02mohplxnc1wun16thiehk7cyrp\"},{\"name\":\"AFONT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the name, color, and text height for the font used for the actual KPI value label.\",\"help\":\"AFONT=(&lt;F=\\\"*fontname*\\\"&lt;/BOLD&gt;&lt;/ITALIC&gt;&gt;&lt;C=*color*&gt;&lt;H=*text-height*&lt;*units*&gt;&gt;\",\"type\":\"standaloneOrValue\",\"supportSiteTargetFragment\":\"p0jznarla09laon1w7h2xsrwjw3a\"},{\"name\":\"AVALUE\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"AVAL\"],\"description\":\"specifies to display the actual KPI value label.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1493nrlhzfwj6n1akpltgiimysy\"},{\"name\":\"BFONT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the name, color, and text height of the font used for the boundary and tick mark values.\",\"help\":\"BFONT=(&lt;F=\\\"*fontname*\\\"&lt;/BOLD&gt;&lt;/ITALIC&gt;&gt;&lt;C=*color*&gt;&lt;H=*text-height*&lt;*units*&gt;&gt;\",\"type\":\"standaloneOrValue\",\"supportSiteTargetFragment\":\"p16ru1feyjnsfjn11t0lrsalzv7c\"},{\"name\":\"BVALUE\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"BVAL\"],\"description\":\"specifies to display the boundary values.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1rourqqf52lv9n0zepx6y1fcclm\"},{\"name\":\"COLORS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the list of inactive colors for each qualitative range.\",\"help\":\"COLORS=(color–1\\n            color–2                 ...color–n)\",\"type\":\"color\",\"supportSiteTargetFragment\":\"n0xqmkdxpte82xn1ka88u3y5rs6w\"},{\"name\":\"DESCRIPTION=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"DES=\"],\"description\":\"specifies the description of the output.\",\"help\":\"DESCRIPTION=                 “*description*”\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1uwyw2f76xpdwn1hasz4egpwp2h\"},{\"name\":\"FORMAT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a SAS format for the boundary and actual values.\",\"help\":\"FORMAT=\\\"*SAS-format*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1pje5wb1g7ik8n190742esc42it\"},{\"name\":\"LABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a label for the graphic.\",\"help\":\"LABEL=                 \\\"*string*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1j0ep8r9upuv1n1otmz0pp0tjom\"},{\"name\":\"LFONT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the name, color, text height and justification of the font to use for the label that is specified by the LABEL= option.\",\"help\":\"LFONT=(                     &lt;F=\\\"*fontname*\\\"&lt;/BOLD&gt;&lt;/ITALIC&gt;&gt;&lt;C=*color*&gt;&lt;H=*text-height*&lt;*units*&gt;&gt;&lt;J=LEFT | RIGHT | CENTER&gt;)\",\"type\":\"standaloneOrValue\",\"supportSiteTargetFragment\":\"n1lbup0v8spdp8n1vmf7k9zwo5nr\"},{\"name\":\"LINK=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"adds a drill-down link to the KPI chart.\",\"help\":\"LINK=\\\"*url*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p00ijhzve3kntbn1vru641v1lqgq\"},{\"name\":\"LOWBOUNDARY\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"LOWBOUND\"],\"description\":\"specifies that the KPI chart displays as if the KPI value falls in the lower range when the actual KPI value falls directly on a range boundary.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n17oeo7plqzx40n1iemqu4u8o10u\"},{\"name\":\"NAME=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the name of the graphics output file.\",\"help\":\"NAME=\\\"*name*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1lqdtguzegauln1s5ar7nbh683w\"},{\"name\":\"NOAVALUE\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"NOAVAL\"],\"description\":\"specifies not to display the actual KPI value label.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n15b59r9v0uazbn1pgzz9cjj906o\"},{\"name\":\"NOBVALUE\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"NOBVAL\"],\"description\":\"specifies not to display the boundary values.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1he7l7a9l2p7an1pu62ixywxmmm\"},{\"name\":\"NOLOWBOUNDARY\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"NOLOWBOUND\"],\"description\":\"specifies that the KPI chart displays as if the KPI value falls in the upper range when the actual KPI value falls directly on a range boundary.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p15aqrspoxzx1xn0zqf9m1dqmoy3\"},{\"name\":\"TARGET=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the numeric value of the target key performance indicator.\",\"help\":\"TARGET=                 *data-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n01feqoek3o4cln1b66i3fgrtm7n\"},{\"name\":\"FONT=\",\"optional\":true,\"aliases\":[\"F=\"],\"description\":\"specifies the font name. You can specify only system fonts (such as TrueType and UNIX system fonts), not SAS/GRAPH fonts. For more information, see .\",\"help\":\"FONT=\\\"*fontname*&lt;/BOLD&gt;&lt;/ITALIC&gt;\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0r474gttcvd37n107g175634kj7\"},{\"name\":\"COLOR=\",\"optional\":true,\"aliases\":[\"C=\"],\"description\":\"specifies the text color. You can specify the color in any of the color-naming schemes recognized by SAS/GRAPH.\",\"help\":\"COLOR=*color*\",\"type\":\"color\",\"supportSiteTargetFragment\":\"n1or51ao63xogpn0zanc0ugbkdkz\"},{\"name\":\"HEIGHT=\",\"optional\":true,\"aliases\":[\"H=\"],\"description\":\"specifies the font height in units. You can specify the text height in units of points (PT), centimeters (CM), inches (IN), or percentage of the graphics output area (PCT).\",\"help\":\"HEIGHT=*text-height*&lt;*units*&gt;\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1nyu2exqoy9wjn1i3dfny0qyw16\"},{\"name\":\"JUSTIFICATION=\",\"optional\":true,\"aliases\":[\"J=\"],\"description\":\"specifies whether the text is left-justified, centered, or right-justified within the graphics output area. You can specify LEFT, RIGHT, or CENTER.\",\"help\":\"JUSTIFICATION=                            LEFT | RIGHT | CENTER\",\"type\":\"choice\",\"arguments\":[{\"name\":\"LEFT\",\"type\":\"standalone\"},{\"name\":\"RIGHT\",\"type\":\"standalone\"},{\"name\":\"CENTER\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"n077kbzc61j9vbn14f2wgqtei0tc\"}],\"supportSiteTargetFile\":\"n002em2j8o13vin1la8z49qcxi5a.htm\"},{\"name\":\"HBULLET\",\"description\":\"Creates a chart in the horizontal bullet display type.\",\"help\":\"\\n\\t<HBULLET  ACTUAL=value BOUNDS=bounds-list</ options;>>\\n\",\"arguments\":[{\"name\":\"ACTUAL=\",\"description\":\"specifies the actual value of the key performance indicator (KPI). The actual data value can fall outside the bounds specified with the BOUNDS= option, but the GKPI procedure displays that actual value indicator at the outermost edge of the KPI chart.\",\"help\":\"ACTUAL= *data-value* \",\"type\":\"value\",\"supportSiteTargetFragment\":\"p10uenx31mskxcn1dgcg079dp3yq\"},{\"name\":\"BOUNDS=\",\"description\":\"specifies a list of defined boundary values. The values can be negative or positive, but you must specify the list in either ascending or descending order. Separate each boundary value with a blank space.\",\"help\":\"BOUNDS=(*bound–1* *bound–2* ...*bound–n*)\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1br8lyy8s3awen1a0ixgxdszzas\"},{\"name\":\"ACTIVECOLORS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the list of active colors for each qualitative range.\",\"help\":\"ACTIVECOLORS=(color–1\\n            color–2\\n             ...color–n)\",\"type\":\"color\",\"supportSiteTargetFragment\":\"n02mohplxnc1wun16thiehk7cyrpa\"},{\"name\":\"AFONT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the name, color, and text height for the font used for the actual KPI value label.\",\"help\":\"AFONT=(&lt;F=\\\"*fontname*\\\"&lt;/BOLD&gt;&lt;/ITALIC&gt;&gt;&lt;C=*color*&gt;&lt;H=*text-height*&lt;*units*&gt;&gt;\",\"type\":\"standaloneOrValue\",\"supportSiteTargetFragment\":\"p0jznarla09laon1w7h2xsrwjw3aa\"},{\"name\":\"AVALUE\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"AVAL\"],\"description\":\"specifies to display the actual KPI value label.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1493nrlhzfwj6n1akpltgiimysya\"},{\"name\":\"BFONT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the name, color, and text height of the font used for the boundary and tick mark values.\",\"help\":\"BFONT=(&lt;F=\\\"*fontname*\\\"&lt;/BOLD&gt;&lt;/ITALIC&gt;&gt;&lt;C=*color*&gt;&lt;H=*text-height*&lt;*units*&gt;&gt;\",\"type\":\"standaloneOrValue\",\"supportSiteTargetFragment\":\"p16ru1feyjnsfjn11t0lrsalzv7ca\"},{\"name\":\"BVALUE\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"BVAL\"],\"description\":\"specifies to display the boundary values.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1rourqqf52lv9n0zepx6y1fcclma\"},{\"name\":\"COLORS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the list of inactive colors for each qualitative range.\",\"help\":\"COLORS=(color–1\\n            color–2                 ...color–n)\",\"type\":\"color\",\"supportSiteTargetFragment\":\"n0xqmkdxpte82xn1ka88u3y5rs6wa\"},{\"name\":\"DESCRIPTION=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"DES=\"],\"description\":\"specifies the description of the output.\",\"help\":\"DESCRIPTION=                 “*description*”\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1uwyw2f76xpdwn1hasz4egpwp2ha\"},{\"name\":\"FORMAT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a SAS format for the boundary and actual values.\",\"help\":\"FORMAT=\\\"*SAS-format*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1pje5wb1g7ik8n190742esc42ita\"},{\"name\":\"LABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a label for the graphic.\",\"help\":\"LABEL=                 \\\"*string*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1j0ep8r9upuv1n1otmz0pp0tjoma\"},{\"name\":\"LFONT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the name, color, text height and justification of the font to use for the label that is specified by the LABEL= option.\",\"help\":\"LFONT=(                     &lt;F=\\\"*fontname*\\\"&lt;/BOLD&gt;&lt;/ITALIC&gt;&gt;&lt;C=*color*&gt;&lt;H=*text-height*&lt;*units*&gt;&gt;&lt;J=LEFT | RIGHT | CENTER&gt;)\",\"type\":\"standaloneOrValue\",\"supportSiteTargetFragment\":\"n1lbup0v8spdp8n1vmf7k9zwo5nra\"},{\"name\":\"LINK=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"adds a drill-down link to the KPI chart.\",\"help\":\"LINK=\\\"*url*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p00ijhzve3kntbn1vru641v1lqgqa\"},{\"name\":\"LOWBOUNDARY\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"LOWBOUND\"],\"description\":\"specifies that the KPI chart displays as if the KPI value falls in the lower range when the actual KPI value falls directly on a range boundary.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n17oeo7plqzx40n1iemqu4u8o10ua\"},{\"name\":\"NAME=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the name of the graphics output file.\",\"help\":\"NAME=\\\"*name*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1lqdtguzegauln1s5ar7nbh683wa\"},{\"name\":\"NOAVALUE\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"NOAVAL\"],\"description\":\"specifies not to display the actual KPI value label.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n15b59r9v0uazbn1pgzz9cjj906oa\"},{\"name\":\"NOBVALUE\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"NOBVAL\"],\"description\":\"specifies not to display the boundary values.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1he7l7a9l2p7an1pu62ixywxmmma\"},{\"name\":\"NOLOWBOUNDARY\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"NOLOWBOUND\"],\"description\":\"specifies that the KPI chart displays as if the KPI value falls in the upper range when the actual KPI value falls directly on a range boundary.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p15aqrspoxzx1xn0zqf9m1dqmoy3a\"},{\"name\":\"TARGET=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the numeric value of the target key performance indicator.\",\"help\":\"TARGET=                 *data-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n01feqoek3o4cln1b66i3fgrtm7na\"},{\"name\":\"FONT=\",\"optional\":true,\"aliases\":[\"F=\"],\"description\":\"specifies the font name. You can specify only system fonts (such as TrueType and UNIX system fonts), not SAS/GRAPH fonts. For more information, see .\",\"help\":\"FONT=\\\"*fontname*&lt;/BOLD&gt;&lt;/ITALIC&gt;\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n15pmppttouv8dn15uf3p3at87r4\"},{\"name\":\"COLOR=\",\"optional\":true,\"aliases\":[\"C=\"],\"description\":\"specifies the text color. You can specify the color in any of the color-naming schemes recognized by SAS/GRAPH.\",\"help\":\"COLOR=*color*\",\"type\":\"color\",\"supportSiteTargetFragment\":\"n10k05pw5mg0wwn1fz49rf99wmom\"},{\"name\":\"HEIGHT=\",\"optional\":true,\"aliases\":[\"H=\"],\"description\":\"specifies the font height in units. You can specify the text height in units of points (PT), centimeters (CM), inches (IN), or percentage of the graphics output area (PCT).\",\"help\":\"HEIGHT=*text-height*&lt;*units*&gt;\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p18bm67m3r7ddln10mffg1rux9dw\"},{\"name\":\"JUSTIFICATION=\",\"optional\":true,\"aliases\":[\"J=\"],\"description\":\"specifies whether the text is left-justified, centered, or right-justified within the graphics output area. You can specify LEFT, RIGHT, or CENTER.\",\"help\":\"JUSTIFICATION= LEFT | RIGHT | CENTER\",\"type\":\"choice\",\"arguments\":[{\"name\":\"LEFT\",\"type\":\"standalone\"},{\"name\":\"RIGHT\",\"type\":\"standalone\"},{\"name\":\"CENTER\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"n14qrb4iwddym9n18pfgknvk0ebq\"}],\"supportSiteTargetFile\":\"n0p0ol1ijqrut9n1q88yrhbe25xp.htm\"},{\"name\":\"HSLIDER\",\"description\":\"Creates a chart in the horizontal slider display type.\",\"help\":\"\\n\\t<HSLIDER  ACTUAL=value BOUNDS=bounds-list</ options;>>\\n\",\"arguments\":[{\"name\":\"ACTUAL=\",\"description\":\"specifies the actual value of the key performance indicator (KPI). The actual data value can fall outside the bounds specified with the BOUNDS= option, but the GKPI procedure displays that actual value indicator at the outermost edge of the KPI chart.\",\"help\":\"ACTUAL= *data-value* \",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0a1gk460m1i8mn1ufjvb7wmgbys\"},{\"name\":\"BOUNDS=\",\"description\":\"specifies a list of defined boundary values. The values can be negative or positive, but you must specify the list in either ascending or descending order. Separate each boundary value with a blank space.\",\"help\":\"BOUNDS=(*bound–1* *bound–2* ...*bound–n*)\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1vzh9tzhg19tvn1jeuwxtm25oda\"},{\"name\":\"ACTIVECOLORS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the list of active colors for each qualitative range.\",\"help\":\"ACTIVECOLORS=(color–1\\n            color–2\\n             ...color–n)\",\"type\":\"color\",\"supportSiteTargetFragment\":\"n02mohplxnc1wun16thiehk7cyrpb\"},{\"name\":\"AFONT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the name, color, and text height for the font used for the actual KPI value label.\",\"help\":\"AFONT=(&lt;F=\\\"*fontname*\\\"&lt;/BOLD&gt;&lt;/ITALIC&gt;&gt;&lt;C=*color*&gt;&lt;H=*text-height*&lt;*units*&gt;&gt;\",\"type\":\"standaloneOrValue\",\"supportSiteTargetFragment\":\"p0jznarla09laon1w7h2xsrwjw3ab\"},{\"name\":\"AVALUE\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"AVAL\"],\"description\":\"specifies to display the actual KPI value label.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1493nrlhzfwj6n1akpltgiimysyb\"},{\"name\":\"BFONT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the name, color, and text height of the font used for the boundary and tick mark values.\",\"help\":\"BFONT=(&lt;F=\\\"*fontname*\\\"&lt;/BOLD&gt;&lt;/ITALIC&gt;&gt;&lt;C=*color*&gt;&lt;H=*text-height*&lt;*units*&gt;&gt;\",\"type\":\"standaloneOrValue\",\"supportSiteTargetFragment\":\"p16ru1feyjnsfjn11t0lrsalzv7cb\"},{\"name\":\"BVALUE\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"BVAL\"],\"description\":\"specifies to display the boundary values.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1rourqqf52lv9n0zepx6y1fcclmb\"},{\"name\":\"COLORS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the list of inactive colors for each qualitative range.\",\"help\":\"COLORS=(color–1\\n            color–2                 ...color–n)\",\"type\":\"color\",\"supportSiteTargetFragment\":\"n0xqmkdxpte82xn1ka88u3y5rs6wb\"},{\"name\":\"DESCRIPTION=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"DES=\"],\"description\":\"specifies the description of the output.\",\"help\":\"DESCRIPTION=                 “*description*”\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1uwyw2f76xpdwn1hasz4egpwp2hb\"},{\"name\":\"FORMAT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a SAS format for the boundary and actual values.\",\"help\":\"FORMAT=\\\"*SAS-format*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1pje5wb1g7ik8n190742esc42itb\"},{\"name\":\"LABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a label for the graphic.\",\"help\":\"LABEL=                 \\\"*string*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1j0ep8r9upuv1n1otmz0pp0tjomb\"},{\"name\":\"LFONT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the name, color, text height and justification of the font to use for the label that is specified by the LABEL= option.\",\"help\":\"LFONT=(                     &lt;F=\\\"*fontname*\\\"&lt;/BOLD&gt;&lt;/ITALIC&gt;&gt;&lt;C=*color*&gt;&lt;H=*text-height*&lt;*units*&gt;&gt;&lt;J=LEFT | RIGHT | CENTER&gt;)\",\"type\":\"standaloneOrValue\",\"supportSiteTargetFragment\":\"n1lbup0v8spdp8n1vmf7k9zwo5nrb\"},{\"name\":\"LINK=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"adds a drill-down link to the KPI chart.\",\"help\":\"LINK=\\\"*url*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p00ijhzve3kntbn1vru641v1lqgqb\"},{\"name\":\"LOWBOUNDARY\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"LOWBOUND\"],\"description\":\"specifies that the KPI chart displays as if the KPI value falls in the lower range when the actual KPI value falls directly on a range boundary.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n17oeo7plqzx40n1iemqu4u8o10ub\"},{\"name\":\"NAME=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the name of the graphics output file.\",\"help\":\"NAME=\\\"*name*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1lqdtguzegauln1s5ar7nbh683wb\"},{\"name\":\"NOAVALUE\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"NOAVAL\"],\"description\":\"specifies not to display the actual KPI value label.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n15b59r9v0uazbn1pgzz9cjj906ob\"},{\"name\":\"NOBVALUE\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"NOBVAL\"],\"description\":\"specifies not to display the boundary values.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1he7l7a9l2p7an1pu62ixywxmmmb\"},{\"name\":\"NOLOWBOUNDARY\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"NOLOWBOUND\"],\"description\":\"specifies that the KPI chart displays as if the KPI value falls in the upper range when the actual KPI value falls directly on a range boundary.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p15aqrspoxzx1xn0zqf9m1dqmoy3b\"},{\"name\":\"TARGET=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the numeric value of the target key performance indicator.\",\"help\":\"TARGET=                 *data-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n01feqoek3o4cln1b66i3fgrtm7nb\"},{\"name\":\"FONT=\",\"optional\":true,\"aliases\":[\"F=\"],\"description\":\"specifies the font name. You can specify only system fonts (such as TrueType and UNIX system fonts), not SAS/GRAPH fonts. For more information, see .\",\"help\":\"FONT=\\\"*fontname*&lt;/BOLD&gt;&lt;/ITALIC&gt;\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0ps8dwswxsiian1g6spdbl75not\"},{\"name\":\"COLOR=\",\"optional\":true,\"aliases\":[\"C=\"],\"description\":\"specifies the text color. You can specify the color in any of the color-naming schemes recognized by SAS/GRAPH.\",\"help\":\"COLOR=*color*\",\"type\":\"color\",\"supportSiteTargetFragment\":\"n104ylcs9nc8nnn1h8vsuk0hctz6\"},{\"name\":\"HEIGHT=\",\"optional\":true,\"aliases\":[\"H=\"],\"description\":\"specifies the font height in units. You can specify the text height in units of points (PT), centimeters (CM), inches (IN), or percentage of the graphics output area (PCT).\",\"help\":\"HEIGHT=*text-height*&lt;*units*&gt;\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p06nspi6truoi6n1efu4xvs42u2z\"},{\"name\":\"JUSTIFICATION=\",\"optional\":true,\"aliases\":[\"J=\"],\"description\":\"specifies whether the text is left-justified, centered, or right-justified within the graphics output area. You can specify LEFT, RIGHT, or CENTER.\",\"help\":\"JUSTIFICATION= LEFT | RIGHT | CENTER\",\"type\":\"choice\",\"arguments\":[{\"name\":\"LEFT\",\"type\":\"standalone\"},{\"name\":\"RIGHT\",\"type\":\"standalone\"},{\"name\":\"CENTER\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"p0s1a5w4351bb5n12hb9oo2c65op\"}],\"supportSiteTargetFile\":\"p1eaa1cbabk0uln19nz4zedhhmy5.htm\"},{\"name\":\"HTRAFFICLIGHT\",\"description\":\"Creates a chart in the horizontal traffic light display type.\",\"help\":\"\\n\\t<HTRAFFICLIGHT  ACTUAL=value BOUNDS=bounds-list</ options;>>\\n\",\"arguments\":[{\"name\":\"ACTUAL=\",\"description\":\"specifies the actual value of the key performance indicator (KPI). The actual data value can fall outside the bounds specified with the BOUNDS= option, but the GKPI procedure displays that actual value indicator at the outermost edge of the KPI chart.\",\"help\":\"ACTUAL= *data-value* \",\"type\":\"value\",\"supportSiteTargetFragment\":\"n07tdt7i1anr0bn15nbhzct1hklf\"},{\"name\":\"BOUNDS=\",\"description\":\"specifies a list of defined boundary values. The values can be negative or positive, but you must specify the list in either ascending or descending order. Separate each boundary value with a blank space.\",\"help\":\"BOUNDS=(*bound–1* *bound–2* ...*bound–n*)\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n13mf0qrk1weajn1u3m0jinku2wa\"},{\"name\":\"ACTIVECOLORS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the list of active colors for each qualitative range.\",\"help\":\"ACTIVECOLORS=(color–1\\n            color–2\\n             ...color–n)\",\"type\":\"color\",\"supportSiteTargetFragment\":\"n02mohplxnc1wun16thiehk7cyrpc\"},{\"name\":\"AFONT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the name, color, and text height for the font used for the actual KPI value label.\",\"help\":\"AFONT=(&lt;F=\\\"*fontname*\\\"&lt;/BOLD&gt;&lt;/ITALIC&gt;&gt;&lt;C=*color*&gt;&lt;H=*text-height*&lt;*units*&gt;&gt;\",\"type\":\"standaloneOrValue\",\"supportSiteTargetFragment\":\"p0jznarla09laon1w7h2xsrwjw3ac\"},{\"name\":\"AVALUE\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"AVAL\"],\"description\":\"specifies to display the actual KPI value label.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1493nrlhzfwj6n1akpltgiimysyc\"},{\"name\":\"BFONT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the name, color, and text height of the font used for the boundary and tick mark values.\",\"help\":\"BFONT=(&lt;F=\\\"*fontname*\\\"&lt;/BOLD&gt;&lt;/ITALIC&gt;&gt;&lt;C=*color*&gt;&lt;H=*text-height*&lt;*units*&gt;&gt;\",\"type\":\"standaloneOrValue\",\"supportSiteTargetFragment\":\"p16ru1feyjnsfjn11t0lrsalzv7cc\"},{\"name\":\"BVALUE\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"BVAL\"],\"description\":\"specifies to display the boundary values.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1rourqqf52lv9n0zepx6y1fcclmc\"},{\"name\":\"COLORS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the list of inactive colors for each qualitative range.\",\"help\":\"COLORS=(color–1\\n            color–2                 ...color–n)\",\"type\":\"color\",\"supportSiteTargetFragment\":\"n0xqmkdxpte82xn1ka88u3y5rs6wc\"},{\"name\":\"DESCRIPTION=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"DES=\"],\"description\":\"specifies the description of the output.\",\"help\":\"DESCRIPTION=                 “*description*”\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1uwyw2f76xpdwn1hasz4egpwp2hc\"},{\"name\":\"FORMAT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a SAS format for the boundary and actual values.\",\"help\":\"FORMAT=\\\"*SAS-format*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1pje5wb1g7ik8n190742esc42itc\"},{\"name\":\"LABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a label for the graphic.\",\"help\":\"LABEL=                 \\\"*string*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1j0ep8r9upuv1n1otmz0pp0tjomc\"},{\"name\":\"LFONT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the name, color, text height and justification of the font to use for the label that is specified by the LABEL= option.\",\"help\":\"LFONT=(                     &lt;F=\\\"*fontname*\\\"&lt;/BOLD&gt;&lt;/ITALIC&gt;&gt;&lt;C=*color*&gt;&lt;H=*text-height*&lt;*units*&gt;&gt;&lt;J=LEFT | RIGHT | CENTER&gt;)\",\"type\":\"standaloneOrValue\",\"supportSiteTargetFragment\":\"n1lbup0v8spdp8n1vmf7k9zwo5nrc\"},{\"name\":\"LINK=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"adds a drill-down link to the KPI chart.\",\"help\":\"LINK=\\\"*url*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p00ijhzve3kntbn1vru641v1lqgqc\"},{\"name\":\"LOWBOUNDARY\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"LOWBOUND\"],\"description\":\"specifies that the KPI chart displays as if the KPI value falls in the lower range when the actual KPI value falls directly on a range boundary.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n17oeo7plqzx40n1iemqu4u8o10uc\"},{\"name\":\"NAME=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the name of the graphics output file.\",\"help\":\"NAME=\\\"*name*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1lqdtguzegauln1s5ar7nbh683wc\"},{\"name\":\"NOAVALUE\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"NOAVAL\"],\"description\":\"specifies not to display the actual KPI value label.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n15b59r9v0uazbn1pgzz9cjj906oc\"},{\"name\":\"NOBVALUE\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"NOBVAL\"],\"description\":\"specifies not to display the boundary values.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1he7l7a9l2p7an1pu62ixywxmmmc\"},{\"name\":\"NOLOWBOUNDARY\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"NOLOWBOUND\"],\"description\":\"specifies that the KPI chart displays as if the KPI value falls in the upper range when the actual KPI value falls directly on a range boundary.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p15aqrspoxzx1xn0zqf9m1dqmoy3c\"},{\"name\":\"FONT=\",\"optional\":true,\"aliases\":[\"F=\"],\"description\":\"specifies the font name. You can specify only system fonts (such as TrueType and UNIX system fonts), not SAS/GRAPH fonts. For more information, see .\",\"help\":\"FONT=\\\"*fontname*&lt;/BOLD&gt;&lt;/ITALIC&gt;\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0y1eqfiz8sn7rn1il011nf564jf\"},{\"name\":\"COLOR=\",\"optional\":true,\"aliases\":[\"C=\"],\"description\":\"specifies the text color. You can specify the color in any of the color-naming schemes recognized by SAS/GRAPH.\",\"help\":\"COLOR=*color*\",\"type\":\"color\",\"supportSiteTargetFragment\":\"p13iyb5lfy824vn13x41a4ninmio\"},{\"name\":\"HEIGHT=\",\"optional\":true,\"aliases\":[\"H=\"],\"description\":\"specifies the font height in units. You can specify the text height in units of points (PT), centimeters (CM), inches (IN), or percentage of the graphics output area (PCT).\",\"help\":\"HEIGHT=*text-height*&lt;*units*&gt;\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0pn8ao905oq19n1uus6cj570qea\"},{\"name\":\"JUSTIFICATION=\",\"optional\":true,\"aliases\":[\"J=\"],\"description\":\"specifies whether the text is left-justified, centered, or right-justified within the graphics output area. You can specify LEFT, RIGHT, or CENTER.\",\"help\":\"JUSTIFICATION= LEFT | RIGHT | CENTER\",\"type\":\"choice\",\"arguments\":[{\"name\":\"LEFT\",\"type\":\"standalone\"},{\"name\":\"RIGHT\",\"type\":\"standalone\"},{\"name\":\"CENTER\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"p08b7lryz8nsp7n13cvtoiy1125t\"}],\"supportSiteTargetFile\":\"n1o8hmb3bo2bymn1970si43co2yy.htm\"},{\"name\":\"SPEEDOMETER\",\"description\":\"Creates a chart in the speedometer display type.\",\"help\":\"\\n\\t<SPEEDOMETER  ACTUAL=value BOUNDS=bounds-list</ options;>>\\n\",\"arguments\":[{\"name\":\"ACTUAL=\",\"description\":\"specifies the actual value of the key performance indicator (KPI). The actual data value can fall outside the bounds specified with the BOUNDS= option, but the GKPI procedure displays that actual value indicator at the outermost edge of the KPI chart.\",\"help\":\"ACTUAL= *data-value* \",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0oubmisyk2cqnn19jbo754ufzhb\"},{\"name\":\"BOUNDS=\",\"description\":\"specifies a list of defined boundary values. The values can be negative or positive, but you must specify the list in either ascending or descending order. Separate each boundary value with a blank space.\",\"help\":\"BOUNDS=(*bound–1* *bound–2* ...*bound–n*)\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0jnukv8e6zh9pn1d6vaysfi1fhw\"},{\"name\":\"ACTIVECOLORS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the list of active colors for each qualitative range.\",\"help\":\"ACTIVECOLORS=(color–1\\n            color–2\\n             ...color–n)\",\"type\":\"color\",\"supportSiteTargetFragment\":\"n02mohplxnc1wun16thiehk7cyrpd\"},{\"name\":\"AFONT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the name, color, and text height for the font used for the actual KPI value label.\",\"help\":\"AFONT=(&lt;F=\\\"*fontname*\\\"&lt;/BOLD&gt;&lt;/ITALIC&gt;&gt;&lt;C=*color*&gt;&lt;H=*text-height*&lt;*units*&gt;&gt;\",\"type\":\"standaloneOrValue\",\"supportSiteTargetFragment\":\"p0jznarla09laon1w7h2xsrwjw3ad\"},{\"name\":\"AVALUE\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"AVAL\"],\"description\":\"specifies to display the actual KPI value label.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1493nrlhzfwj6n1akpltgiimysyd\"},{\"name\":\"BFONT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the name, color, and text height of the font used for the boundary and tick mark values.\",\"help\":\"BFONT=(&lt;F=\\\"*fontname*\\\"&lt;/BOLD&gt;&lt;/ITALIC&gt;&gt;&lt;C=*color*&gt;&lt;H=*text-height*&lt;*units*&gt;&gt;\",\"type\":\"standaloneOrValue\",\"supportSiteTargetFragment\":\"p16ru1feyjnsfjn11t0lrsalzv7cd\"},{\"name\":\"BVALUE\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"BVAL\"],\"description\":\"specifies to display the boundary values.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1rourqqf52lv9n0zepx6y1fcclmd\"},{\"name\":\"COLORS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the list of inactive colors for each qualitative range.\",\"help\":\"COLORS=(color–1\\n            color–2                 ...color–n)\",\"type\":\"color\",\"supportSiteTargetFragment\":\"n0xqmkdxpte82xn1ka88u3y5rs6wd\"},{\"name\":\"DESCRIPTION=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"DES=\"],\"description\":\"specifies the description of the output.\",\"help\":\"DESCRIPTION=                 “*description*”\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1uwyw2f76xpdwn1hasz4egpwp2hd\"},{\"name\":\"FORMAT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a SAS format for the boundary and actual values.\",\"help\":\"FORMAT=\\\"*SAS-format*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1pje5wb1g7ik8n190742esc42itd\"},{\"name\":\"LABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a label for the graphic.\",\"help\":\"LABEL=                 \\\"*string*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1j0ep8r9upuv1n1otmz0pp0tjomd\"},{\"name\":\"LFONT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the name, color, text height and justification of the font to use for the label that is specified by the LABEL= option.\",\"help\":\"LFONT=(                     &lt;F=\\\"*fontname*\\\"&lt;/BOLD&gt;&lt;/ITALIC&gt;&gt;&lt;C=*color*&gt;&lt;H=*text-height*&lt;*units*&gt;&gt;&lt;J=LEFT | RIGHT | CENTER&gt;)\",\"type\":\"standaloneOrValue\",\"supportSiteTargetFragment\":\"n1lbup0v8spdp8n1vmf7k9zwo5nrd\"},{\"name\":\"LINK=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"adds a drill-down link to the KPI chart.\",\"help\":\"LINK=\\\"*url*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p00ijhzve3kntbn1vru641v1lqgqd\"},{\"name\":\"LOWBOUNDARY\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"LOWBOUND\"],\"description\":\"specifies that the KPI chart displays as if the KPI value falls in the lower range when the actual KPI value falls directly on a range boundary.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n17oeo7plqzx40n1iemqu4u8o10ud\"},{\"name\":\"NAME=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the name of the graphics output file.\",\"help\":\"NAME=\\\"*name*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1lqdtguzegauln1s5ar7nbh683wd\"},{\"name\":\"NOAVALUE\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"NOAVAL\"],\"description\":\"specifies not to display the actual KPI value label.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n15b59r9v0uazbn1pgzz9cjj906od\"},{\"name\":\"NOBVALUE\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"NOBVAL\"],\"description\":\"specifies not to display the boundary values.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1he7l7a9l2p7an1pu62ixywxmmmd\"},{\"name\":\"NOLOWBOUNDARY\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"NOLOWBOUND\"],\"description\":\"specifies that the KPI chart displays as if the KPI value falls in the upper range when the actual KPI value falls directly on a range boundary.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p15aqrspoxzx1xn0zqf9m1dqmoy3d\"},{\"name\":\"TARGET=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the numeric value of the target key performance indicator.\",\"help\":\"TARGET=                 *data-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n01feqoek3o4cln1b66i3fgrtm7nc\"},{\"name\":\"TYPE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the size of the display for speedometers.\",\"help\":\"TYPE=FULL | HALF | QUARTER\",\"type\":\"choice\",\"arguments\":[{\"name\":\"FULL\",\"type\":\"standalone\"},{\"name\":\"HALF\",\"type\":\"standalone\"},{\"name\":\"QUARTER\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"p0eopciczkuz5sn1azbomus5azq0\"},{\"name\":\"FONT=\",\"optional\":true,\"aliases\":[\"F=\"],\"description\":\"specifies the font name. You can specify only system fonts (such as TrueType and UNIX system fonts), not SAS/GRAPH fonts. For more information, see .\",\"help\":\"FONT=\\\"*fontname*&lt;/BOLD&gt;&lt;/ITALIC&gt;\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0nq5s8y3eivj6n1n7dsekjgv71k\"},{\"name\":\"COLOR=\",\"optional\":true,\"aliases\":[\"C=\"],\"description\":\"specifies the text color. You can specify the color in any of the color-naming schemes recognized by SAS/GRAPH.\",\"help\":\"COLOR=*color*\",\"type\":\"color\",\"supportSiteTargetFragment\":\"n1efyl1cw08qien15r78eagufmss\"},{\"name\":\"HEIGHT=\",\"optional\":true,\"aliases\":[\"H=\"],\"description\":\"specifies the font height in units. You can specify the text height in units of points (PT), centimeters (CM), inches (IN), or percentage of the graphics output area (PCT).\",\"help\":\"HEIGHT=*text-height*&lt;*units*&gt;\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1mujo6j4wjjh9n1e883dg7x713z\"},{\"name\":\"JUSTIFICATION=\",\"optional\":true,\"aliases\":[\"J=\"],\"description\":\"specifies whether the text is left-justified, centered, or right-justified within the graphics output area. You can specify LEFT, RIGHT, or CENTER.\",\"help\":\"JUSTIFICATION= LEFT | RIGHT | CENTER\",\"type\":\"choice\",\"arguments\":[{\"name\":\"LEFT\",\"type\":\"standalone\"},{\"name\":\"RIGHT\",\"type\":\"standalone\"},{\"name\":\"CENTER\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"n07l243a5tz0s4n0zo8mmro7eq3o\"}],\"supportSiteTargetFile\":\"p0pk3ejnjbco32n12nwls4tag6zr.htm\"},{\"name\":\"VTRAFFICLIGHT\",\"description\":\"Creates a chart in the vertical traffic light display type.\",\"help\":\"\\n\\t<VTRAFFICLIGHT  ACTUAL=value BOUNDS=bounds-list</ options;>>\\n\",\"arguments\":[{\"name\":\"ACTUAL=\",\"description\":\"specifies the actual value of the key performance indicator (KPI). The actual data value can fall outside the bounds specified with the BOUNDS= option, but the GKPI procedure displays that actual value indicator at the outermost edge of the KPI chart.\",\"help\":\"ACTUAL= *data-value* \",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1bgzjc5tav1v4n1ijs07i6ptueg\"},{\"name\":\"BOUNDS=\",\"description\":\"specifies a list of defined boundary values. The values can be negative or positive, but you must specify the list in either ascending or descending order. Separate each boundary value with a blank space.\",\"help\":\"BOUNDS=(*bound–1* *bound–2* ...*bound–n*)\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1kpn2ns4syiwon15ayo0h9l5a2h\"},{\"name\":\"ACTIVECOLORS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the list of active colors for each qualitative range.\",\"help\":\"ACTIVECOLORS=(color–1\\n            color–2\\n             ...color–n)\",\"type\":\"color\",\"supportSiteTargetFragment\":\"n02mohplxnc1wun16thiehk7cyrpe\"},{\"name\":\"AFONT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the name, color, and text height for the font used for the actual KPI value label.\",\"help\":\"AFONT=(&lt;F=\\\"*fontname*\\\"&lt;/BOLD&gt;&lt;/ITALIC&gt;&gt;&lt;C=*color*&gt;&lt;H=*text-height*&lt;*units*&gt;&gt;\",\"type\":\"standaloneOrValue\",\"supportSiteTargetFragment\":\"p0jznarla09laon1w7h2xsrwjw3ae\"},{\"name\":\"AVALUE\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"AVAL\"],\"description\":\"specifies to display the actual KPI value label.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1493nrlhzfwj6n1akpltgiimysye\"},{\"name\":\"BFONT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the name, color, and text height of the font used for the boundary and tick mark values.\",\"help\":\"BFONT=(&lt;F=\\\"*fontname*\\\"&lt;/BOLD&gt;&lt;/ITALIC&gt;&gt;&lt;C=*color*&gt;&lt;H=*text-height*&lt;*units*&gt;&gt;\",\"type\":\"standaloneOrValue\",\"supportSiteTargetFragment\":\"p16ru1feyjnsfjn11t0lrsalzv7ce\"},{\"name\":\"BVALUE\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"BVAL\"],\"description\":\"specifies to display the boundary values.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1rourqqf52lv9n0zepx6y1fcclme\"},{\"name\":\"COLORS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the list of inactive colors for each qualitative range.\",\"help\":\"COLORS=(color–1\\n            color–2                 ...color–n)\",\"type\":\"color\",\"supportSiteTargetFragment\":\"n0xqmkdxpte82xn1ka88u3y5rs6we\"},{\"name\":\"DESCRIPTION=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"DES=\"],\"description\":\"specifies the description of the output.\",\"help\":\"DESCRIPTION=                 “*description*”\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1uwyw2f76xpdwn1hasz4egpwp2he\"},{\"name\":\"FORMAT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a SAS format for the boundary and actual values.\",\"help\":\"FORMAT=\\\"*SAS-format*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1pje5wb1g7ik8n190742esc42ite\"},{\"name\":\"LABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a label for the graphic.\",\"help\":\"LABEL=                 \\\"*string*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1j0ep8r9upuv1n1otmz0pp0tjome\"},{\"name\":\"LFONT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the name, color, text height and justification of the font to use for the label that is specified by the LABEL= option.\",\"help\":\"LFONT=(                     &lt;F=\\\"*fontname*\\\"&lt;/BOLD&gt;&lt;/ITALIC&gt;&gt;&lt;C=*color*&gt;&lt;H=*text-height*&lt;*units*&gt;&gt;&lt;J=LEFT | RIGHT | CENTER&gt;)\",\"type\":\"standaloneOrValue\",\"supportSiteTargetFragment\":\"n1lbup0v8spdp8n1vmf7k9zwo5nre\"},{\"name\":\"LINK=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"adds a drill-down link to the KPI chart.\",\"help\":\"LINK=\\\"*url*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p00ijhzve3kntbn1vru641v1lqgqe\"},{\"name\":\"LOWBOUNDARY\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"LOWBOUND\"],\"description\":\"specifies that the KPI chart displays as if the KPI value falls in the lower range when the actual KPI value falls directly on a range boundary.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n17oeo7plqzx40n1iemqu4u8o10ue\"},{\"name\":\"NAME=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the name of the graphics output file.\",\"help\":\"NAME=\\\"*name*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1lqdtguzegauln1s5ar7nbh683we\"},{\"name\":\"NOAVALUE\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"NOAVAL\"],\"description\":\"specifies not to display the actual KPI value label.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n15b59r9v0uazbn1pgzz9cjj906oe\"},{\"name\":\"NOBVALUE\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"NOBVAL\"],\"description\":\"specifies not to display the boundary values.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1he7l7a9l2p7an1pu62ixywxmmme\"},{\"name\":\"NOLOWBOUNDARY\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"NOLOWBOUND\"],\"description\":\"specifies that the KPI chart displays as if the KPI value falls in the upper range when the actual KPI value falls directly on a range boundary.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p15aqrspoxzx1xn0zqf9m1dqmoy3e\"},{\"name\":\"FONT=\",\"optional\":true,\"aliases\":[\"F=\"],\"description\":\"specifies the font name. You can specify only system fonts (such as TrueType and UNIX system fonts), not SAS/GRAPH fonts. For more information, see .\",\"help\":\"FONT=\\\"*fontname*&lt;/BOLD&gt;&lt;/ITALIC&gt;\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p14lfsnmyehogzn1rq76y0in8qne\"},{\"name\":\"COLOR=\",\"optional\":true,\"aliases\":[\"C=\"],\"description\":\"specifies the text color. You can specify the color in any of the color-naming schemes recognized by SAS/GRAPH.\",\"help\":\"COLOR=*color*\",\"type\":\"color\",\"supportSiteTargetFragment\":\"n0i0jb9in6jennn1axaxd51grl1l\"},{\"name\":\"HEIGHT=\",\"optional\":true,\"aliases\":[\"H=\"],\"description\":\"specifies the font height in units. You can specify the text height in units of points (PT), centimeters (CM), inches (IN), or percentage of the graphics output area (PCT).\",\"help\":\"HEIGHT=*text-height*&lt;*units*&gt;\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1r5mvflhrei7xn1rwqbov8k0qvk\"},{\"name\":\"JUSTIFICATION=\",\"optional\":true,\"aliases\":[\"J=\"],\"description\":\"specifies whether the text is left-justified, centered, or right-justified within the graphics output area. You can specify LEFT, RIGHT, or CENTER.\",\"help\":\"JUSTIFICATION= LEFT | RIGHT | CENTER\",\"type\":\"choice\",\"arguments\":[{\"name\":\"LEFT\",\"type\":\"standalone\"},{\"name\":\"RIGHT\",\"type\":\"standalone\"},{\"name\":\"CENTER\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"n1fwvb0dk5w7mdn1taj3he6andwm\"}],\"supportSiteTargetFile\":\"n088rt2kkjpj7bn13uqsppe4epmu.htm\"},{\"name\":\"VBULLET\",\"description\":\"Creates a chart in the vertical bullet display type.\",\"help\":\"\\n\\t<VBULLET  ACTUAL=value BOUNDS=bounds-list</ options;>>\\n\",\"arguments\":[{\"name\":\"ACTUAL=\",\"description\":\"specifies the actual value of the key performance indicator (KPI). The actual data value can fall outside the bounds specified with the BOUNDS= option, but the GKPI procedure displays that actual value indicator at the outermost edge of the KPI chart.\",\"help\":\"ACTUAL= *data-value* \",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0ubwkuoc0lx9wn1nd5esdhpd8tz\"},{\"name\":\"BOUNDS=\",\"description\":\"specifies a list of defined boundary values. The values can be negative or positive, but you must specify the list in either ascending or descending order. Separate each boundary value with a blank space.\",\"help\":\"BOUNDS=(*bound–1* *bound–2* ...*bound–n*)\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0dmwm2ey34jk4n1i7no6eumohr0\"},{\"name\":\"ACTIVECOLORS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the list of active colors for each qualitative range.\",\"help\":\"ACTIVECOLORS=(color–1\\n            color–2\\n             ...color–n)\",\"type\":\"color\",\"supportSiteTargetFragment\":\"n02mohplxnc1wun16thiehk7cyrpf\"},{\"name\":\"AFONT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the name, color, and text height for the font used for the actual KPI value label.\",\"help\":\"AFONT=(&lt;F=\\\"*fontname*\\\"&lt;/BOLD&gt;&lt;/ITALIC&gt;&gt;&lt;C=*color*&gt;&lt;H=*text-height*&lt;*units*&gt;&gt;\",\"type\":\"standaloneOrValue\",\"supportSiteTargetFragment\":\"p0jznarla09laon1w7h2xsrwjw3af\"},{\"name\":\"AVALUE\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"AVAL\"],\"description\":\"specifies to display the actual KPI value label.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1493nrlhzfwj6n1akpltgiimysyf\"},{\"name\":\"BFONT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the name, color, and text height of the font used for the boundary and tick mark values.\",\"help\":\"BFONT=(&lt;F=\\\"*fontname*\\\"&lt;/BOLD&gt;&lt;/ITALIC&gt;&gt;&lt;C=*color*&gt;&lt;H=*text-height*&lt;*units*&gt;&gt;\",\"type\":\"standaloneOrValue\",\"supportSiteTargetFragment\":\"p16ru1feyjnsfjn11t0lrsalzv7cf\"},{\"name\":\"BVALUE\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"BVAL\"],\"description\":\"specifies to display the boundary values.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1rourqqf52lv9n0zepx6y1fcclmf\"},{\"name\":\"COLORS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the list of inactive colors for each qualitative range.\",\"help\":\"COLORS=(color–1\\n            color–2                 ...color–n)\",\"type\":\"color\",\"supportSiteTargetFragment\":\"n0xqmkdxpte82xn1ka88u3y5rs6wf\"},{\"name\":\"DESCRIPTION=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"DES=\"],\"description\":\"specifies the description of the output.\",\"help\":\"DESCRIPTION=                 “*description*”\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1uwyw2f76xpdwn1hasz4egpwp2hf\"},{\"name\":\"FORMAT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a SAS format for the boundary and actual values.\",\"help\":\"FORMAT=\\\"*SAS-format*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1pje5wb1g7ik8n190742esc42itf\"},{\"name\":\"LABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a label for the graphic.\",\"help\":\"LABEL=                 \\\"*string*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1j0ep8r9upuv1n1otmz0pp0tjomf\"},{\"name\":\"LFONT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the name, color, text height and justification of the font to use for the label that is specified by the LABEL= option.\",\"help\":\"LFONT=(                     &lt;F=\\\"*fontname*\\\"&lt;/BOLD&gt;&lt;/ITALIC&gt;&gt;&lt;C=*color*&gt;&lt;H=*text-height*&lt;*units*&gt;&gt;&lt;J=LEFT | RIGHT | CENTER&gt;)\",\"type\":\"standaloneOrValue\",\"supportSiteTargetFragment\":\"n1lbup0v8spdp8n1vmf7k9zwo5nrf\"},{\"name\":\"LINK=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"adds a drill-down link to the KPI chart.\",\"help\":\"LINK=\\\"*url*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p00ijhzve3kntbn1vru641v1lqgqf\"},{\"name\":\"LOWBOUNDARY\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"LOWBOUND\"],\"description\":\"specifies that the KPI chart displays as if the KPI value falls in the lower range when the actual KPI value falls directly on a range boundary.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n17oeo7plqzx40n1iemqu4u8o10uf\"},{\"name\":\"NAME=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the name of the graphics output file.\",\"help\":\"NAME=\\\"*name*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1lqdtguzegauln1s5ar7nbh683wf\"},{\"name\":\"NOAVALUE\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"NOAVAL\"],\"description\":\"specifies not to display the actual KPI value label.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n15b59r9v0uazbn1pgzz9cjj906of\"},{\"name\":\"NOBVALUE\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"NOBVAL\"],\"description\":\"specifies not to display the boundary values.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1he7l7a9l2p7an1pu62ixywxmmmf\"},{\"name\":\"NOLOWBOUNDARY\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"NOLOWBOUND\"],\"description\":\"specifies that the KPI chart displays as if the KPI value falls in the upper range when the actual KPI value falls directly on a range boundary.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p15aqrspoxzx1xn0zqf9m1dqmoy3f\"},{\"name\":\"TARGET=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the numeric value of the target key performance indicator.\",\"help\":\"TARGET=                 *data-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n01feqoek3o4cln1b66i3fgrtm7nd\"},{\"name\":\"FONT=\",\"optional\":true,\"aliases\":[\"F=\"],\"description\":\"specifies the font name. You can specify only system fonts (such as TrueType and UNIX system fonts), not SAS/GRAPH fonts. For more information, see .\",\"help\":\"FONT=\\\"*fontname*&lt;/BOLD&gt;&lt;/ITALIC&gt;\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0vk9tvsxsent0n1f378aoak5bhf\"},{\"name\":\"COLOR=\",\"optional\":true,\"aliases\":[\"C=\"],\"description\":\"specifies the text color. You can specify the color in any of the color-naming schemes recognized by SAS/GRAPH.\",\"help\":\"COLOR=*color*\",\"type\":\"color\",\"supportSiteTargetFragment\":\"p0pgv3bvgi9ubhn1bwp9sjq72x8h\"},{\"name\":\"HEIGHT=\",\"optional\":true,\"aliases\":[\"H=\"],\"description\":\"specifies the font height in units. You can specify the text height in units of points (PT), centimeters (CM), inches (IN), or percentage of the graphics output area (PCT).\",\"help\":\"HEIGHT=*text-height*&lt;*units*&gt;\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1xuqut2475kt0n1mk9fi846ojus\"},{\"name\":\"JUSTIFICATION=\",\"optional\":true,\"aliases\":[\"J=\"],\"description\":\"specifies whether the text is left-justified, centered, or right-justified within the graphics output area. You can specify LEFT, RIGHT, or CENTER.\",\"help\":\"JUSTIFICATION= LEFT | RIGHT | CENTER\",\"type\":\"choice\",\"arguments\":[{\"name\":\"LEFT\",\"type\":\"standalone\"},{\"name\":\"RIGHT\",\"type\":\"standalone\"},{\"name\":\"CENTER\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"n1y1cb2q5wsfwbn1mvdfimn1pr10\"}],\"supportSiteTargetFile\":\"n0y58an1fiwa2qn19mbeod6j0q28.htm\"},{\"name\":\"VSLIDER\",\"description\":\"Creates a chart in the vertical slider display type.\",\"help\":\"\\n\\t<VSLIDER  ACTUAL=value BOUNDS=bounds-list</ options;>>\\n\",\"arguments\":[{\"name\":\"ACTUAL=\",\"description\":\"specifies the actual value of the key performance indicator (KPI). The actual data value can fall outside the bounds specified with the BOUNDS= option, but the GKPI procedure displays that actual value indicator at the outermost edge of the KPI chart.\",\"help\":\"ACTUAL= *data-value* \",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1i8gmqbizamq9n1s07l3ycdx07n\"},{\"name\":\"BOUNDS=\",\"description\":\"specifies a list of defined boundary values. The values can be negative or positive, but you must specify the list in either ascending or descending order. Separate each boundary value with a blank space.\",\"help\":\"BOUNDS=(*bound–1* *bound–2* ...*bound–n*)\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0dffbo5um63k4n1ihfpwot611oq\"},{\"name\":\"ACTIVECOLORS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the list of active colors for each qualitative range.\",\"help\":\"ACTIVECOLORS=(color–1\\n            color–2\\n             ...color–n)\",\"type\":\"color\",\"supportSiteTargetFragment\":\"n02mohplxnc1wun16thiehk7cyrpg\"},{\"name\":\"AFONT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the name, color, and text height for the font used for the actual KPI value label.\",\"help\":\"AFONT=(&lt;F=\\\"*fontname*\\\"&lt;/BOLD&gt;&lt;/ITALIC&gt;&gt;&lt;C=*color*&gt;&lt;H=*text-height*&lt;*units*&gt;&gt;\",\"type\":\"standaloneOrValue\",\"supportSiteTargetFragment\":\"p0jznarla09laon1w7h2xsrwjw3ag\"},{\"name\":\"AVALUE\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"AVAL\"],\"description\":\"specifies to display the actual KPI value label.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1493nrlhzfwj6n1akpltgiimysyg\"},{\"name\":\"BFONT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the name, color, and text height of the font used for the boundary and tick mark values.\",\"help\":\"BFONT=(&lt;F=\\\"*fontname*\\\"&lt;/BOLD&gt;&lt;/ITALIC&gt;&gt;&lt;C=*color*&gt;&lt;H=*text-height*&lt;*units*&gt;&gt;\",\"type\":\"standaloneOrValue\",\"supportSiteTargetFragment\":\"p16ru1feyjnsfjn11t0lrsalzv7cg\"},{\"name\":\"BVALUE\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"BVAL\"],\"description\":\"specifies to display the boundary values.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1rourqqf52lv9n0zepx6y1fcclmg\"},{\"name\":\"COLORS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the list of inactive colors for each qualitative range.\",\"help\":\"COLORS=(color–1\\n            color–2                 ...color–n)\",\"type\":\"color\",\"supportSiteTargetFragment\":\"n0xqmkdxpte82xn1ka88u3y5rs6wg\"},{\"name\":\"DESCRIPTION=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"DES=\"],\"description\":\"specifies the description of the output.\",\"help\":\"DESCRIPTION=                 “*description*”\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1uwyw2f76xpdwn1hasz4egpwp2hg\"},{\"name\":\"FORMAT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a SAS format for the boundary and actual values.\",\"help\":\"FORMAT=\\\"*SAS-format*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1pje5wb1g7ik8n190742esc42itg\"},{\"name\":\"LABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a label for the graphic.\",\"help\":\"LABEL=                 \\\"*string*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1j0ep8r9upuv1n1otmz0pp0tjomg\"},{\"name\":\"LFONT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the name, color, text height and justification of the font to use for the label that is specified by the LABEL= option.\",\"help\":\"LFONT=(                     &lt;F=\\\"*fontname*\\\"&lt;/BOLD&gt;&lt;/ITALIC&gt;&gt;&lt;C=*color*&gt;&lt;H=*text-height*&lt;*units*&gt;&gt;&lt;J=LEFT | RIGHT | CENTER&gt;)\",\"type\":\"standaloneOrValue\",\"supportSiteTargetFragment\":\"n1lbup0v8spdp8n1vmf7k9zwo5nrg\"},{\"name\":\"LINK=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"adds a drill-down link to the KPI chart.\",\"help\":\"LINK=\\\"*url*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p00ijhzve3kntbn1vru641v1lqgqg\"},{\"name\":\"LOWBOUNDARY\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"LOWBOUND\"],\"description\":\"specifies that the KPI chart displays as if the KPI value falls in the lower range when the actual KPI value falls directly on a range boundary.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n17oeo7plqzx40n1iemqu4u8o10ug\"},{\"name\":\"NAME=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the name of the graphics output file.\",\"help\":\"NAME=\\\"*name*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1lqdtguzegauln1s5ar7nbh683wg\"},{\"name\":\"NOAVALUE\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"NOAVAL\"],\"description\":\"specifies not to display the actual KPI value label.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n15b59r9v0uazbn1pgzz9cjj906og\"},{\"name\":\"NOBVALUE\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"NOBVAL\"],\"description\":\"specifies not to display the boundary values.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1he7l7a9l2p7an1pu62ixywxmmmg\"},{\"name\":\"NOLOWBOUNDARY\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"NOLOWBOUND\"],\"description\":\"specifies that the KPI chart displays as if the KPI value falls in the upper range when the actual KPI value falls directly on a range boundary.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p15aqrspoxzx1xn0zqf9m1dqmoy3g\"},{\"name\":\"TARGET=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the numeric value of the target key performance indicator.\",\"help\":\"TARGET=                 *data-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n01feqoek3o4cln1b66i3fgrtm7ne\"},{\"name\":\"FONT=\",\"optional\":true,\"aliases\":[\"F=\"],\"description\":\"specifies the font name. You can specify only system fonts (such as TrueType and UNIX system fonts), not SAS/GRAPH fonts. For more information, see .\",\"help\":\"FONT=\\\"*fontname*&lt;/BOLD&gt;&lt;/ITALIC&gt;\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1c0g6806a31vcn1oihegy6ebhdu\"},{\"name\":\"COLOR=\",\"optional\":true,\"aliases\":[\"C=\"],\"description\":\"specifies the text color. You can specify the color in any of the color-naming schemes recognized by SAS/GRAPH.\",\"help\":\"COLOR=*color*\",\"type\":\"color\",\"supportSiteTargetFragment\":\"n0djl77vz3yqgen1gzoqfi4cyc91\"},{\"name\":\"HEIGHT=\",\"optional\":true,\"aliases\":[\"H=\"],\"description\":\"specifies the font height in units. You can specify the text height in units of points (PT), centimeters (CM), inches (IN), or percentage of the graphics output area (PCT).\",\"help\":\"HEIGHT=*text-height*&lt;*units*&gt;\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0btj3w1gooce1n1qs16oozgi8ug\"},{\"name\":\"JUSTIFICATION=\",\"optional\":true,\"aliases\":[\"J=\"],\"description\":\"specifies whether the text is left-justified, centered, or right-justified within the graphics output area. You can specify LEFT, RIGHT, or CENTER.\",\"help\":\"JUSTIFICATION= LEFT | RIGHT | CENTER\",\"type\":\"choice\",\"arguments\":[{\"name\":\"LEFT\",\"type\":\"standalone\"},{\"name\":\"RIGHT\",\"type\":\"standalone\"},{\"name\":\"CENTER\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"n06j22x0387sa0n1dc31fclfhy67\"}],\"supportSiteTargetFile\":\"n17zebgcrrhushn15ylja0pkdu3r.htm\"},{\"name\":\"QUIT\",\"description\":\"Executes any statements that have not executed and ends the procedure step.\",\"help\":\"QUIT ;\",\"supportSiteTargetFile\":\"p0rv4g0o6aq6oxn1t95eicz4xfrtb.htm\"}],\"interactive\":true,\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"p1u9s4qiheb63in1bk969uzu46q7.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/GLIMMIX.json",
    "content": "{\"name\":\"GLIMMIX\",\"statements\":[{\"name\":\"PROC GLIMMIX\",\"description\":\"The GLIMMIX procedure fits statistical models to data with correlations or nonconstant variability and where the response is not necessarily normally distributed. These models are known as generalized linear mixed models (GLMM). † GLMMs, like linear mixed models, assume normal (Gaussian) random effects. Conditional on these random effects, data can have any distribution in the exponential family. The exponential family comprises many of the elementary discrete and continuous distributions. The binary, binomial, Poisson, and negative binomial distributions, for example, are discrete members of this family. The normal, beta, gamma, and chi-square distributions are representatives of the continuous distributions in this family. In the absence of random effects, the GLIMMIX procedure fits generalized linear models (fit by the GENMOD procedure).\",\"help\":\"PROC GLIMMIX <ABSPCONV=r><ASYCORR><ASYCOV><CHOLESKY><DATA=SAS-data-set><EMPIRICAL=CLASSICAL|HCO | DF|HC1 | MBN... ><EXPHESSIAN><FDIGITS=r><GRADIENT><HESSIAN><INFOCRIT=NONE | PQ | Q><INITGLM><INITITER=number><ITDETAILS><LIST><MAXLMMUPDATE=number><METHOD=RSPL | MSPL | RMPL... ><NAMELEN=number><NOBOUND><NOBSDETAIL><NOCLPRINT<=number>><NOFIT><NOINITGLM><NOITPRINT><NOPROFILE><NOREML><ODDSRATIO><ORDER=DATA | FORMATTED | FREQ... ><OUTDESIGN<(options)><=SAS-data-set>><PCONV=r><PLOTS=ALL | ANOMPLOT|ANOM | BOXPLOT... ><PROFILE><SCOREMOD><SCORING=number><SINGCHOL=number><SINGRES=number><SINGULAR=number><SUBGRADIENT<=SAS-data-set>>;     \\n\\tABORT <ABEND><CANCEL><CANCEL FILE> ...;\\n\\n\\tARRAY arrayname [ dimensions ] <$> <variables-and-constants> ;\\n\\n\\tBY <DESCENDING><NOTSORTED> ;\\n\\n\\tCALL routine(parameter-1<, ...parameter-n>);\\n\\n\\tCLASS <REF=<'<level>' | FIRST | LAST>><TRUNCATE> ;\\n\\n\\tCODE <CATALOG=library.catalog.entry.typeCAT=library.catalog.entry.type><DUMMIES><NODUMMIES> ...;\\n\\n\\tCONTRAST <BYCATEGORY><CHISQ><DF=number> ...;\\n\\n\\tCOVTEST DIAGG DIAGR GLM ...;\\n\\n\\tDELETE;\\n\\n\\tDO <OVER><><> ...;\\n\\n\\tEFFECT EFFECT-NAME=COLLECTION|LAG|MULTIMEMBER|MM...  <PERIOD=variable><WITHIN=(variables) | WITHIN=variable> ...;\\n\\n\\tELSE <DO><IF><THEN> ...;\\n\\n\\tEND;\\n\\n\\tESTIMATE <ADJDFE=<SOURCE | ROW>><ADJUST=<BON | SCHEFFE | SIDAK>... ><ALPHA=number> ...;\\n\\n\\tFREQ variable;\\n\\n\\tGOTO label;\\n\\n\\tID variables ;\\n\\n\\tIF <DO><THEN><WHEN> ...;\\n\\n\\tLINK statement-label;\\n\\n\\tLSMEANS <ADJDFE=<SOURCE | ROW>><ADJUST=<BON | DUNNETT | NELSON>... ><ALPHA=number> ...;\\n\\n\\tLSMESTIMATE <ADJDFE=<SOURCE | ROW>><ADJUST=<BON | SCHEFFE | SIDAK>... ><ALPHA=number> ...;\\n\\n\\tMODEL <DESCENDING><EVENT=><ORDER=> ...;\\n\\n\\tNLOPTIONS <ABSCONV= | ABSTOL=r><ABSFCONV=r <n> | ABSFTOL=r<n>><ABSGCONV= | ABSGTOL=r <n>> ...;\\n\\n\\t;\\n\\n\\tOUTPUT OUT=SAS-data-set PREDICTED STDERR ...;\\n\\n\\tPARMS <HOLD=value-list><LOWERB=value-list><NOBOUND> ...;\\n\\n\\tPUT <_PAGE_> ;\\n\\n\\tRANDOM <ALPHA=number><CL><G> ...;\\n\\n\\tRETURN;\\n\\n\\t;\\n\\n\\tSLICE <ADJDFE=<SOURCE | ROW>><NOF><> ...;\\n\\n\\tSTOP ;\\n\\n\\tSTORE <LABEL='label'> <OUT=>item-store-name' ;\\n\\n\\tWEIGHT variable;\\n\\n\\tWHEN <DO> ;\\n\",\"arguments\":[{\"name\":\"ABSPCONV=\",\"optional\":true,\"description\":\"Specifies an absolute parameter estimate convergence criterion for doubly iterative estimation methods.\",\"help\":\"ABSPCONV=*r*\",\"type\":\"value\"},{\"name\":\"ASYCORR\",\"optional\":true,\"description\":\"Produces the asymptotic correlation matrix of the covariance parameter estimates.\",\"type\":\"standalone\"},{\"name\":\"ASYCOV\",\"optional\":true,\"description\":\"Requests that the asymptotic covariance matrix of the covariance parameter estimates be displayed.\",\"type\":\"standalone\"},{\"name\":\"CHOLESKY\",\"optional\":true,\"aliases\":[\"CHOL\"],\"description\":\"Requests that the mixed model equations be constructed and solved by using the Cholesky root of the G matrix. This option applies only to estimation methods that involve mixed model equations.\",\"type\":\"standalone\"},{\"name\":\"DATA=\",\"optional\":true,\"description\":\"Names the SAS data set to be used by PROC GLIMMIX. The default is the most recently created data set.\",\"help\":\"DATA=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"EMPIRICAL=\",\"optional\":true,\"description\":\"Requests that the covariance matrix of the parameter estimates be computed as one of the asymptotically consistent estimators, known as sandwich or empirical estimators.\",\"help\":\"EMPIRICAL=CLASSICAL|HCO | DF|HC1 | MBN | ROOT|HC2 | FIRORES|HC3 | FIROEEQ\",\"type\":\"choice\",\"arguments\":[{\"name\":\"CLASSICAL\",\"description\":\"Computes the classical sandwich estimator.\",\"help\":\"CLASSICAL|HCO\",\"type\":\"choice\"},{\"name\":\"DF\",\"description\":\"Applies a simple, multiplicative correction factor to the classical estimator.\",\"help\":\"DF|HC1\",\"type\":\"choice\"},{\"name\":\"MBN\",\"description\":\"Adjusts the likelihood-based sandwich estimator further if you fit a mixed model by maximum likelihood with Laplace or quadrature approximation (METHOD=LAPLACE, METHOD=QUAD). Syntax: MBN<(mbn-options)> The valid mbn-options are as follows: DF a sample size adjustment is applied when the DF suboption is in effect. NODF The NODF suboption suppresses this component of the adjustment. R= The lower bound of the design effect parameter 0 ≤r ≤ 1 can be specified with the R= option. D= The magnitude of Morel's δ parameter is partly determined with the D= option (d ≥ 1)\",\"type\":\"standalone\"},{\"name\":\"ROOT\",\"description\":\"Based on the residual approximation in Kauermann and Carroll (2001)\",\"help\":\"ROOT|HC2\",\"type\":\"choice\"},{\"name\":\"FIRORES\",\"description\":\"Based on Taylor series approximations applied to residuals and estimating equations. For uncorrelated data, the EMPIRICAL=FIRORES estimator can be motivated as a jackknife estimator.\",\"help\":\"FIRORES|HC3\",\"type\":\"choice\"},{\"name\":\"FIROEEQ\",\"description\":\"Syntax: FIROEEQ<(r)> Based on approximating an unbiased estimating equation (Fay and Graubard 2001). The optional number 0 ≤ r ≤ 1 is chosen to provide an upper bound on the correction factor. The default value for r is 0.75.\",\"type\":\"standalone\"}]},{\"name\":\"EXPHESSIAN\",\"optional\":true,\"description\":\"Requests that the expected Hessian matrix be used in computing the covariance matrix of the nonprofiled parameters.\",\"type\":\"standalone\"},{\"name\":\"FDIGITS=\",\"optional\":true,\"description\":\"Specifies the number of accurate digits in evaluations of the objective function. Fractional values are allowed.\",\"help\":\"FDIGITS=*r*\",\"type\":\"value\"},{\"name\":\"GRADIENT\",\"optional\":true,\"description\":\"Displays the gradient of the objective function with respect to the parameter estimates in the \\\"Covariance Parameter Estimates\\\" table and/or the \\\"Parameter Estimates\\\" table.\",\"type\":\"standalone\"},{\"name\":\"HESSIAN\",\"optional\":true,\"aliases\":[\"HESS\"],\"description\":\"Displays the Hessian matrix of the optimization.\",\"type\":\"standalone\"},{\"name\":\"INFOCRIT=\",\"optional\":true,\"aliases\":[\"IC=\"],\"description\":\"Determines the computation of information criteria in the \\\"Fit Statistics\\\" table.\",\"help\":\"INFOCRIT=NONE | PQ | Q\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NONE\",\"description\":\"Criteria are suppressed in the 'Fit Statistics' table. This is the default for models based on pseudo-likelihoods.\",\"type\":\"standalone\"},{\"name\":\"PQ\",\"description\":\"Requests that the penalties include the number of fixed-effects parameters, when estimation in models with random effects is based on a residual (restricted) likelihood.\",\"type\":\"standalone\"},{\"name\":\"Q\",\"description\":\"The default for linear mixed models with normal errors, and the resulting information criteria are identical to the IC option in the MIXED procedure.\",\"type\":\"standalone\"}]},{\"name\":\"INITGLM\",\"optional\":true,\"aliases\":[\"STARTGLM\"],\"description\":\"Requests that the estimates from a generalized linear model fit (a model without random effects) be used as the starting values for the generalized linear mixed model.\",\"type\":\"standalone\"},{\"name\":\"INITITER=\",\"optional\":true,\"description\":\"Specifies the maximum number of iterations used when a generalized linear model is fit initially to derive starting values for the fixed effects; see the INITGLM option.\",\"help\":\"INITITER=*number*\",\"type\":\"value\"},{\"name\":\"ITDETAILS\",\"optional\":true,\"description\":\"Adds parameter estimates and gradients to the \\\"Iteration History\\\" table.\",\"type\":\"standalone\"},{\"name\":\"LIST\",\"optional\":true,\"description\":\"Requests that the model program and variable lists be displayed. This is a debugging feature and is not normally needed.\",\"type\":\"standalone\"},{\"name\":\"MAXLMMUPDATE=\",\"optional\":true,\"aliases\":[\"MAXOPT=\"],\"description\":\"Specifies the maximum number of optimizations for doubly iterative estimation methods based on linearizations.\",\"help\":\"MAXLMMUPDATE=*number*\",\"type\":\"value\"},{\"name\":\"METHOD=\",\"optional\":true,\"description\":\"Specifies the estimation method in a generalized linear mixed model (GLMM). The default is METHOD=RSPL. Estimation methods ending in \\\"PL\\\" are pseudo-likelihood techniques. The first letter of the METHOD= identifier determines whether estimation is based on a residual likelihood (\\\"R\\\") or a maximum likelihood (\\\"M\\\"). The second letter identifies the expansion locus for the underlying approximation (\\\"S\\\" for vector of random effects solutions and \\\"M\\\" for mean of random effects.\",\"help\":\"METHOD=RSPL | MSPL | RMPL | MMPL | LAPLACE | QUAD&lt;(quad-options)&gt;\",\"type\":\"choice\",\"arguments\":[{\"name\":\"RSPL\",\"description\":\"A pseudo-likelihood estimation method based on a residual likelihood, with vector of random effects solutions as the expansion locus for the underlying approximation.\",\"type\":\"standalone\"},{\"name\":\"MSPL\",\"description\":\"A pseudo-likelihood estimation method based on a maximum likelihood, with vector of random effects solutions as the expansion locus for the underlying approximation.\",\"type\":\"standalone\"},{\"name\":\"RMPL\",\"description\":\"A pseudo-likelihood estimation method based on a residual likelihood, with mean of random effects as the expansion locus for the underlying approximation.\",\"type\":\"standalone\"},{\"name\":\"MMPL\",\"description\":\"A pseudo-likelihood estimation method based on a maximum likelihood, with mean of random effects as the expansion locus for the underlying approximation.\",\"type\":\"standalone\"},{\"name\":\"LAPLACE\",\"description\":\"Approximates the marginal likelihood by using Laplace's method.\",\"type\":\"standalone\"},{\"name\":\"QUAD\",\"description\":\"Approximates the marginal log likelihood with an adaptive Gauss-Hermite quadrature. You can specify the following quad-options for METHOD=QUAD in parentheses: EBDETAILS reports details about the empirical Bayes suboptimization process should this suboptimization fail. EBSSFRAC=r specifies the step-shortening fraction to be used while computing empirical Bayes estimates of the random effects. EBSSTOL=r specifies the objective function tolerance for determining the cessation of step shortening while computing empirical Bayes estimates of the random effects, r > 0. EBSTEPS=n specifies the maximum number of Newton steps for computing empirical Bayes estimates of random effects, n > 0. EBSUBSTEPS=n specifies the maximum number of step shortenings for computing empirical Bayes estimates of random effects. EBTOL=r specifies the convergence tolerance for empirical Bayes estimation, n >= 0. FASTQUAD | FQ requests the multilevel adaptive quadrature algorithm proposed by Pinheiro and Chao (2006). INITPL=number requests that adaptive quadrature commence after performing up to number pseudo-likelihood updates. QCHECK performs an adaptive recalculation of the objective function (–2 log likelihood) at the solution. QFAC=r determines the step size for the quadrature point sequence. QMAX=n specifies an upper bound for the number of quadrature points. The default is n=31. QMIN=n specifies a lower bound for the number of quadrature points. QPOINTS=n determines the number of quadrature points in each dimension of the integral. QTOL=r specifies a relative tolerance criterion for the successive evaluation of log likelihoods for different numbers of quadrature points.\",\"help\":\"QUAD&lt;(quad-options)&gt;\",\"type\":\"standalone\"}]},{\"name\":\"NAMELEN=\",\"optional\":true,\"description\":\"Specifies the length to which long effect names are shortened. The default and minimum value is 20.\",\"help\":\"NAMELEN=*number*\",\"type\":\"value\"},{\"name\":\"NOBOUND\",\"optional\":true,\"description\":\"Requests the removal of boundary constraints on covariance and scale parameters in mixed models.\",\"type\":\"standalone\"},{\"name\":\"NOBSDETAIL\",\"optional\":true,\"description\":\"Adds detailed information to the \\\"Number of Observations\\\" table to reflect how many observations were excluded from the analysis and for which reason.\",\"type\":\"standalone\"},{\"name\":\"NOCLPRINT=\",\"optional\":true,\"description\":\"Suppresses the display of the \\\"Class Level Information\\\" table, if you do not specify number. If you specify number, only levels with totals that are less than number are listed in the table.\",\"type\":\"value\"},{\"name\":\"NOFIT\",\"optional\":true,\"description\":\"Suppresses fitting of the model. When the NOFIT option is in effect, PROC GLIMMIX produces the \\\"Model Information,\\\" \\\"Class Level Information,\\\" \\\"Number of Observations,\\\" and \\\"Dimensions\\\" tables.\",\"type\":\"standalone\"},{\"name\":\"NOINITGLM\",\"optional\":true,\"description\":\"Requests that the starting values for the fixed effects not be obtained by first fitting a generalized linear model.\",\"type\":\"standalone\"},{\"name\":\"NOITPRINT\",\"optional\":true,\"description\":\"Suppresses the display of the \\\"Iteration History\\\" table.\",\"type\":\"standalone\"},{\"name\":\"NOPROFILE\",\"optional\":true,\"description\":\"Includes the scale parameter (Φ) into the optimization for models that have such a parameter.\",\"type\":\"standalone\"},{\"name\":\"NOREML\",\"optional\":true,\"description\":\"Determines the denominator for the computation of the scale parameter in a GLM for normal data and for overdispersion parameters.\",\"type\":\"standalone\"},{\"name\":\"ODDSRATIO\",\"optional\":true,\"aliases\":[\"OR\"],\"description\":\"Requests that odds ratios be added to the output when applicable.\",\"type\":\"standalone\"},{\"name\":\"ORDER=\",\"optional\":true,\"description\":\"Specifies the order in which to sort the levels of the classification variables (which are specified in the CLASS statement). This ordering determines which parameters in the model correspond to each level in the data, so the ORDER= option can be useful when you use CONTRAST or ESTIMATE statements.\",\"help\":\"ORDER=DATA | FORMATTED | FREQ | INTERNAL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DATA\",\"description\":\"Levels sorted by the order of appearance in the input data set.\",\"type\":\"standalone\"},{\"name\":\"FORMATTED\",\"description\":\"Levels sorted by the external formatted value, except for numeric variables with no explicit format, which are sorted by their unformatted (internal) value.\",\"type\":\"standalone\"},{\"name\":\"FREQ\",\"description\":\"Levels sorted by the descending frequency count; levels with the most observations come first in the order.\",\"type\":\"standalone\"},{\"name\":\"INTERNAL\",\"description\":\"Levels sorted by the unformatted value.\",\"type\":\"standalone\"}]},{\"name\":\"OUTDESIGN=\",\"optional\":true,\"description\":\"Creates a data set that contains the contents of the X and Z matrix. You can specify the following options in parentheses to control the contents of the OUTDESIGN data set:\",\"help\":\"OUTDESIGN=NAMES | NOMISS | NOVAR | X | X= | Z | Z=\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NAMES\",\"type\":\"standalone\"},{\"name\":\"NOMISS\",\"type\":\"standalone\"},{\"name\":\"NOVAR\",\"type\":\"standalone\"},{\"name\":\"X\",\"type\":\"standalone\"},{\"name\":\"X=\",\"type\":\"value\"},{\"name\":\"Z\",\"type\":\"standalone\"},{\"name\":\"Z=\",\"type\":\"value\"}]},{\"name\":\"PCONV=\",\"optional\":true,\"description\":\"Specifies the parameter estimate convergence criterion for doubly iterative estimation methods.\",\"help\":\"PCONV=*r*\",\"type\":\"value\"},{\"name\":\"PLOTS=\",\"optional\":true,\"description\":\"Controls the plots produced through ODS Graphics. Specify the PLOTS=NONE option in order to prevent these plots from being produced when ODS Graphics is enabled. Syntax: (1) PLOTS <(global-plot-options)> <= plot-request <(options)>> (2) PLOTS <(global-plot-options)> <= (plot-request <(options)> <... plot-request <(options)>>)> The global-plot-options supported by the GLIMMIX procedure are as follows: OBSNO uses the data set observation number to identify observations in tooltips, provided that the observation number can be determined. Otherwise, the number displayed in tooltips is the index of the observation as it is used in the analysis within the BY group.\",\"help\":\"PLOTS=ALL | ANOMPLOT|ANOM | BOXPLOT | CONTROLPLOT|CONTROL | DIFFPLOT|DIFFOGRAM|DIFF | MEANPLOT | NONE | ODDSRATIO | RESIDUALPANEL | STUDENTPANEL | PEARSONPANEL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ALL\",\"description\":\"Produces all appropriate plots.\",\"type\":\"standalone\"},{\"name\":\"ANOMPLOT\",\"description\":\"Requests an analysis of means display in which least squares means are compared against an average least squares mean.\",\"help\":\"ANOMPLOT|ANOM\",\"type\":\"choice\"},{\"name\":\"BOXPLOT\",\"description\":\"[Syntax: BOXPLOT<(boxplot-options)>] Requests box plots for the effects in your model that consist of classification effects only. The available boxplot-options are as follows: BLOCK | BLOCKLEGEND -- displays levels of up to four classification variables of the box plot effect by using block legends instead of axis tick values. BLUP | CONDITIONAL -- constructs box plots from conditional residuals—that is, residuals that use the estimated BLUPs of random effects. FIXED -- produces box plots for all fixed effects (MODEL statement) consisting entirely of classification variables. GROUP -- produces box plots for all GROUP= effects in RANDOM statements consisting entirely of classification variables. ILINK | NONLINEAR -- computes the residual on the scale of the data (the inverse linked scale). NOBLUP | MARGINAL -- constructs box plots from marginal residuals. NOILINK | LINEAR -- computes the residual on the linked scale. NPANELPOS=number -- specifies the number of box positions on the graphic and provides the capability to break a box plot into multiple graphics. OBSERVED -- adds box plots of the observed data for the selected effects. PEARSON -- constructs box plots from Pearson residuals rather than from the default residuals. PSEUDO -- adds box plots of the pseudo-data for the selected effects. RANDOM -- produces box plots for all effects in RANDOM statements that consist entirely of classification variables. RAW -- constructs box plots from raw residuals (observed minus predicted). STUDENT -- constructs box plots from studentized residuals rather than from the default residuals. SUBJECT -- produces box plots for all SUBJECT= effects in RANDOM statements consisting entirely of classification variables. USEINDEX -- uses as the horizontal axis label the index of the effect level, rather than the formatted value(s).\",\"type\":\"standalone\"},{\"name\":\"CONTROLPLOT\",\"description\":\"Requests a display in which least squares means are visually compared against a reference level.\",\"help\":\"CONTROLPLOT|CONTROL\",\"type\":\"choice\"},{\"name\":\"DIFFPLOT\",\"description\":\"[Syntax: DIFFPLOT<(diffplot-options)>] Requests a display of all pairwise least squares mean differences and their significance. You can specify the following diffplot-options. ABS all line segments are shown on the same side of the reference line. NOABS separates comparisons according to the sign of the difference. CENTER marks the center point for each comparison. NOLINES suppresses the display of the line segments that represent the confidence bounds for the differences of the least squares means. The NOLINES option implies the CENTER option.\",\"help\":\"DIFFPLOT|DIFFOGRAM|DIFF\",\"type\":\"choice\"},{\"name\":\"MEANPLOT\",\"description\":\"[Syntax: MEANPLOT<(meanplot-options)>] Requests a display of the least squares means of effects specified in LSMEANS statements. The following meanplot-options control the display of the least squares means. ASCENDING displays the least squares means in ascending order. This option has no effect if means are sliced or displayed in separate plots. CL displays upper and lower confidence limits for the least squares means. By default, 95% limits are drawn. CLBAND displays confidence limits as bands. This option implies the JOIN option. DESCENDING displays the least squares means in descending order. This option has no effect if means are sliced or displayed in separate plots. ILINK requests that means (and confidence limits) are displayed on the inverse linked scale. JOIN | CONNECT connects the least squares means with lines. This option is implied by the CLBAND option. SLICEBY=fixed-effect specifies an effect by which to group the means in a single plot. PLOTBY=fixed-effect specifies an effect by which to break interaction plots into separate displays.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"Requests that no plots be produced\",\"type\":\"standalone\"},{\"name\":\"ODDSRATIO\",\"description\":\"[Syntax: ODDSRATIO<(oddsratioplot-options)>] Requests a display of odds ratios and their confidence limits when the link function permits the computation of odds ratios. The available oddsratioplot-options are as follows: LOGBASE=2|E|10 log-scales the odds ratio axis. NPANELPOS=n provides the capability to break an odds ratio plot into multiple graphics having at most n odds ratios per graphic. ORDER=ASCENDING|DESCENDING displays the odds ratios in sorted order. By default the odds ratios are displayed in the order in which they appear in the \\\"Odds Ratio Estimates\\\" table. RANGE=(<min> <,max>) | CLIP specifies the range of odds ratios to display. STATS adds the numeric values of the odds ratio and its confidence limits to the graphic.\",\"type\":\"standalone\"},{\"name\":\"RESIDUALPANEL\",\"description\":\"[Syntax: RESIDUALPANEL<(residualplot-options)>] Requests a paneled display constructed from raw residuals. The residualplot-options take on the following values: BLUP | CONDITIONAL uses the predictors of the random effects in computing the residual. ILINK | NONLINEAR computes the residual on the inverse linked scale (the data scale). NOBLUP | MARGINAL does not use the predictors of the random effects in computing the residual. NOILINK | LINEAR computes the residual on the linked scale. UNPACK produces separate plots from the elements of the panel.\",\"type\":\"standalone\"},{\"name\":\"STUDENTPANEL\",\"description\":\"[Syntax: STUDENTPANEL<(residualplot-options)>] Requests a paneled display constructed from studentized residuals. The residualplot-options take on the following values: BLUP | CONDITIONAL uses the predictors of the random effects in computing the residual. ILINK | NONLINEAR computes the residual on the inverse linked scale (the data scale). NOBLUP | MARGINAL does not use the predictors of the random effects in computing the residual. NOILINK | LINEAR computes the residual on the linked scale. UNPACK produces separate plots from the elements of the panel.\",\"type\":\"standalone\"},{\"name\":\"PEARSONPANEL\",\"description\":\"[Syntax: PEARSONPANEL<(residualplot-options)>] Requests a paneled display constructed from Pearson residuals. The residualplot-options take on the following values: BLUP | CONDITIONAL uses the predictors of the random effects in computing the residual. ILINK | NONLINEAR computes the residual on the inverse linked scale (the data scale). NOBLUP | MARGINAL does not use the predictors of the random effects in computing the residual. NOILINK | LINEAR computes the residual on the linked scale. UNPACK produces separate plots from the elements of the panel.\",\"type\":\"standalone\"}]},{\"name\":\"PROFILE\",\"optional\":true,\"description\":\"Requests that scale parameters be profiled from the optimization, if possible. This is the default for generalized linear mixed models. In generalized linear models with normally distributed data, you can use the PROFILE option to request profiling of the residual variance.\",\"type\":\"standalone\"},{\"name\":\"SCOREMOD\",\"optional\":true,\"description\":\"requests that the Hessian matrix in GLMMs be based on a modified scoring algorithm, provided that PROC GLIMMIX is in scoring mode when the Hessian is evaluated.\",\"type\":\"standalone\"},{\"name\":\"SCORING=\",\"optional\":true,\"description\":\"Requests that Fisher scoring be used in association with the estimation method up to iteration number.\",\"help\":\"SCORING=*number*\",\"type\":\"value\"},{\"name\":\"SINGCHOL=\",\"optional\":true,\"description\":\"Tunes the singularity criterion in Cholesky decompositions. The default is 1E4 times the machine epsilon; this product is approximately 1E-12 on most computers.\",\"help\":\"SINGCHOL=*number*\",\"type\":\"value\"},{\"name\":\"SINGRES=\",\"optional\":true,\"description\":\"Sets the tolerance for which the residual variance is considered to be zero. The default is 1E4 times the machine epsilon; this product is approximately 1E-12 on most computers.\",\"help\":\"SINGRES=*number*\",\"type\":\"value\"},{\"name\":\"SINGULAR=\",\"optional\":true,\"description\":\"Tunes the general singularity criterion applied by the GLIMMIX procedure in divisions and inversions. The default is 1E4 times the machine epsilon; this product is approximately 1E-12 on most computers.\",\"help\":\"SINGULAR=*number*\",\"type\":\"value\"},{\"name\":\"SUBGRADIENT\",\"optional\":true,\"aliases\":[\"SUBGRAD\"],\"description\":\"Creates a data set with information about the gradient of the objective function. The contents and organization of the SUBGRADIENT= data set depend on the type of model.\",\"type\":\"standalone\"}]},{\"name\":\"ABORT\",\"description\":\"Stops executing the current DATA step, SAS job, or SAS session.\",\"help\":\"ABORT &lt;ABEND&gt;&lt;CANCEL&gt;&lt;CANCEL FILE&gt; ...\",\"arguments\":[{\"name\":\"ABEND\",\"optional\":true,\"description\":\"Causes abnormal termination of the current SAS job or session. Results depend on the method of operation: o batch mode and noninteractive mode o stops processing immediately o sends an error message to the SAS log that states that execution was terminated by the ABEND option of the ABORT macro statement o does not execute any subsequent statements or check syntax o returns control to the operating environment; further action is based on how your operating environment and your site treat jobs that end abnormally. o windowing environment and interactive line mode\",\"type\":\"standalone\"},{\"name\":\"CANCEL\",\"optional\":true,\"description\":\"Causes the cancellation of the current submitted statements. The results depend on the method of operation: o batch mode and noninteractive mode o The entire SAS program and SAS system are terminated. o The error message is written to the SAS log. o windowing environment and interactive line mode o It only clears the current submitted program. o Other subsequent submitted programs are not affected. o The error message is written to the SAS log. o workspace server and stored process server o It only clears currently submitted program. o Other subsequent submit calls are not affected. o The error message is written to the SAS log. o SAS IntrNet application server\",\"type\":\"standalone\"},{\"name\":\"CANCEL\",\"optional\":true,\"description\":\"Causes only the contents of the autoexec file or %INCLUDE file to be cleared by the %ABORT statement. Other submitted source statements will be executed after the autoexec or %INCLUDE file.\",\"help\":\"CANCEL FILE\",\"type\":\"standalone\"},{\"name\":\"NOLIST\",\"optional\":true,\"description\":\"suppresses the output of all variables to the SAS log.\",\"type\":\"standalone\"},{\"name\":\"RETURN\",\"optional\":true,\"description\":\"Causes abnormal termination of the current SAS job or session. Results depend on the method of operation: o batch mode and noninteractive mode o stops processing immediately o sends an error message to the SAS log that states that execution was terminated by the RETURN option in the ABORT macro statement o does not execute any subsequent statements or check syntax o returns control to the operating environment with a condition code indicating an error. o windowing environment and interactive line mode\",\"type\":\"standalone\"}]},{\"name\":\"ARRAY\",\"description\":\"The ARRAY statement associates a name (of no more than eight characters) with a list of variables and constants. The ARRAY statement is similar to, but not the same as, the ARRAY statement in the DATA step, and it is the same as the ARRAY statements in the NLIN, NLP, NLMIXED, and MODEL procedures. The array name is used with subscripts in the program to refer to the array elements, as illustrated in the following statements: array r[8] r1-r8; do i = 1 to 8; r[i] = 0; end; The ARRAY statement does not support all the features of the ARRAY statement in the DATA step. Implicit indexing of variables cannot be used; all array references must have explicit subscript expressions. Only exact array dimensions are allowed; lower- bound specifications are not supported. A maximum of six dimensions is allowed.\",\"help\":\"ARRAY arrayname [ dimensions ] &lt;$&gt; &lt;variables-and-constants&gt; \"},{\"name\":\"BY\",\"description\":\"You can specify a BY statement with PROC GLIMMIX to obtain separate analyses of observations in groups that are defined by the BY variables. When a BY statement appears, the procedure expects the input data set to be sorted in order of the BY variables. If you specify more than one BY statement, only the last one specified is used. If your input data set is not sorted in ascending order, use one of the following alternatives: • Sort the data by using the SORT procedure with a similar BY statement. • Specify the NOTSORTED or DESCENDING option in the BY statement for the BCHOICE procedure. The NOTSORTED option does not mean that the data are unsorted but rather that the data are arranged in groups (according to values of the BY variables) and that these groups are not necessarily in alphabetical or increasing numeric order. • Create an index on the BY variables by using the DATASETS procedure (in Base SAS software).\",\"help\":\"BY &lt;DESCENDING&gt;&lt;NOTSORTED&gt;\",\"arguments\":[{\"name\":\"DESCENDING\",\"optional\":true,\"description\":\"Specifies that the observations are sorted in descending order by the variable that immediately follows the word DESCENDING in the BY statement.\",\"type\":\"standalone\"},{\"name\":\"NOTSORTED\",\"optional\":true,\"description\":\"Specifies that observations are not necessarily sorted in alphabetic or numeric order.\",\"type\":\"standalone\"}]},{\"name\":\"CALL\",\"description\":\"Invokes a SAS CALL routine.\",\"help\":\"CALL routine(parameter-1&lt;, ...parameter-n&gt;)\"},{\"name\":\"CLASS\",\"description\":\"The CLASS statement names the classification variables to be used in the model. Typical classification variables are Treatment, Sex, Race, Group, and Replication. If you use the CLASS statement, it must appear before the MODEL statement. Classification variables can be either character or numeric. By default, class levels are determined from the entire set of formatted values of the CLASS variables.\",\"help\":\"CLASS &lt;REF=&lt;'&lt;level&gt;' | FIRST | LAST&gt;&gt;&lt;TRUNCATE&gt;\",\"arguments\":[{\"name\":\"REF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies a level of the classification variable to be put at the end of the list of levels. This level thus corresponds to the reference level in the usual interpretation of the estimates with PROC GLIMMIX's singular parameterization. You can specify the following REF= option to indicate how the levels of an individual classification variable are to be ordered by enclosing it in parentheses after the variable name:\",\"help\":\"REF='&lt;level&gt;' | FIRST | LAST\",\"type\":\"choice\",\"arguments\":[{\"name\":\"'\",\"followsDelimiter\":\"/\",\"description\":\"The level of the variable to use as the reference level. Specify the formatted value of the variable if a format is assigned. Replace <level> with an actual value.\",\"help\":\"'&lt;level&gt;'\",\"type\":\"standalone\"},{\"name\":\"FIRST\",\"followsDelimiter\":\"/\",\"description\":\"Designates the first ordered level as reference.\",\"type\":\"standalone\"},{\"name\":\"LAST\",\"followsDelimiter\":\"/\",\"description\":\"Designates the last ordered level as reference.\",\"type\":\"standalone\"}]},{\"name\":\"TRUNCATE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies that class levels be determined by using only up to the first 16 characters of the formatted values of CLASS variables. When formatted values are longer than 16 characters, you can use this option to revert to the levels as determined in releases prior to SAS 9.\",\"type\":\"standalone\"}]},{\"name\":\"CODE\",\"description\":\"The CODE statement writes SAS DATA step code for computing predicted values of the fitted model either to a file or to a catalog entry. This code can then be included in a DATA step to score new data.\",\"help\":\"CODE &lt;CATALOG=library.catalog.entry.typeCAT=library.catalog.entry.type&gt;&lt;DUMMIES&gt;&lt;NODUMMIES&gt; ...\",\"arguments\":[{\"name\":\"CATALOG=\",\"optional\":true,\"aliases\":[\"CAT=\"],\"description\":\"Specifies where to write the generated code in the form of library.catalog.entry.type. The compound name can have from one to four levels. The default library is determined by the USER= SAS system option, which by default is WORK. The default entry is SASCODE, and the default type is SOURCE.\",\"type\":\"value\"},{\"name\":\"DUMMIES\",\"optional\":true,\"description\":\"Specifies to keep dummy variables that represent the CLASS levels in the data set. The default is NODUMMIES, which specifies that dummy variables not be retained.\",\"type\":\"standalone\"},{\"name\":\"ERROR\",\"optional\":true,\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"FILE=\",\"optional\":true,\"description\":\"Names the external file that saves the generated code. When enclosed in a quoted string (for example, FILE=\\\"c:nmydirnscorecode.sas\\\"), this option specifies the path for writing the code to an external file. You can also specify unquoted SAS filenames of no more than eight characters for filename. If the filename is assigned as a fileref in a Base SAS FILENAME statement, the file specified in the FILENAME statement is opened. The special filerefs LOG and PRINT are always assigned. If the specified filename is not an assigned fileref, the specified value for filename is concatenated with a .txt extension before the file is opened. For example, if FOO is not an assigned fileref, FILE=FOO causes FOO.txt to be opened. If filename has more than eight characters, an error message is printed.\",\"type\":\"value\"},{\"name\":\"FORMAT=\",\"optional\":true,\"description\":\"Specifies the format for the regression coefficients and other numerical values that do not have a format from the input data set. The default format is BEST20.\",\"help\":\"FORMAT=*format*\",\"type\":\"value\"},{\"name\":\"GROUP=\",\"optional\":true,\"description\":\"Specifies the group identifier for group processing. The group-name should be a valid SAS name of no more than 16 characters. It is used to construct array names and statement labels in the generated code.\",\"help\":\"GROUP=*group-name*\",\"type\":\"value\"},{\"name\":\"IMPUTE\",\"optional\":true,\"description\":\"Imputes the predicted values according to an intercept-only model for observations with missing or invalid covariate values. For a continuous response, the predicted value is the mean of the response variable; for a categorical response, the predicted values are the proportions of the response categories. When the IMPUTE option is specified, the scoring code also creates a variable named _WARN_ that contains one or more single-character codes that indicate problems in computing predicted values. The character codes used in _WARN_ go in the following positions:\",\"type\":\"standalone\"},{\"name\":\"LINESIZE=\",\"optional\":true,\"aliases\":[\"LS=\"],\"description\":\"Specifies the line size for the generated code. The default is 72. The permissible range is 64 to 254.\",\"type\":\"value\"},{\"name\":\"LOOKUP=\",\"optional\":true,\"description\":\"Specifies the algorithm for looking up CLASS levels. The default is LOOKUP=AUTO.\",\"help\":\"LOOKUP=AUTO | BINARY | LINEAR | SELECT*lookup-method*\",\"type\":\"value\",\"arguments\":[{\"name\":\"AUTO\",\"description\":\"Selects the LINEAR algorithm if a CLASS variable has fewer than five categories; otherwise, the BINARY algorithm is used. This is the default.\",\"type\":\"standalone\"},{\"name\":\"BINARY\",\"description\":\"Uses a binary search. This method is fast, but might produce incorrect results and the normalized category values might contain characters that collate in different orders in ASCII and EBCDIC, if you generate the code on an ASCII machine and execute the code on an EBCDIC machine or vice versa.\",\"type\":\"standalone\"},{\"name\":\"LINEAR\",\"description\":\"Uses a linear search with IF statements that have categories in the order of the class levels. This method is slow if there are many categories.\",\"type\":\"standalone\"},{\"name\":\"SELECT\",\"description\":\"Uses a SELECT statement.\",\"type\":\"standalone\"}]},{\"name\":\"NODUMMIES\",\"optional\":true,\"description\":\"Specifies that dummy variables not be retained.\",\"type\":\"standalone\"},{\"name\":\"NOERROR\",\"optional\":true,\"description\":\"The default is NOERROR, which specifies that the error function not be generated.\",\"type\":\"standalone\"},{\"name\":\"NORESIDUAL\",\"optional\":true,\"description\":\"The default is NORESIDUAL, which specifies that the code for residuals not be generated.\",\"type\":\"standalone\"},{\"name\":\"RESIDUAL\",\"optional\":true,\"description\":\"Specifies to generate code to compute residual values. If you request code for residuals and then score a data set that does not contain target values, the residuals will have missing values. The default is NORESIDUAL, which specifies that the code for residuals not be generated.\",\"type\":\"standalone\"}]},{\"name\":\"CONTRAST\",\"description\":\"The CONTRAST statement provides a mechanism for obtaining custom hypothesis tests. It is patterned after the CONTRAST statement in PROC MIXED and enables you to select an appropriate inference space (McLean, Sanders, and Stroup 1991). The GLIMMIX procedure gives you greater flexibility in entering contrast coefficients for random effects, however, because it permits the usual value-oriented positional syntax for entering contrast coefficients, as well as a level-oriented syntax that simplifies entering coefficients for interaction terms and is designed to work with constructed effects that are defined through the experimental EFFECT statement.\",\"help\":\"CONTRAST &lt;BYCATEGORY&gt;&lt;CHISQ&gt;&lt;DF=number&gt; ...\",\"arguments\":[{\"name\":\"BYCATEGORY\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"BYCAT\"],\"description\":\"Requests that in models for nominal data (generalized logit models) the contrasts not be combined across response categories but reported separately for each category.\",\"type\":\"standalone\"},{\"name\":\"CHISQ\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that chi-square tests be performed for all contrasts in addition to any F tests.\",\"type\":\"standalone\"},{\"name\":\"DF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the denominator degrees of freedom for the F test.\",\"help\":\"DF=*number*\",\"type\":\"value\"},{\"name\":\"E\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that the L matrix coefficients for the contrast be displayed.\",\"type\":\"standalone\"},{\"name\":\"GROUP\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Sets up random-effect contrasts between different groups when a GROUP= variable appears in the RANDOM statement.\",\"type\":\"standalone\"},{\"name\":\"SINGULAR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Tunes the estimability checking.\",\"help\":\"SINGULAR=*number*\",\"type\":\"value\"},{\"name\":\"SUBJECT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Sets up random-effect contrasts between different subjects when a SUBJECT= variable appears in the RANDOM statement.\",\"type\":\"standalone\"}]},{\"name\":\"COVTEST\",\"description\":\"The COVTEST statement provides a mechanism to obtain statistical inferences for the covariance parameters.\",\"help\":\"COVTEST DIAGG DIAGR GLM ...\",\"arguments\":[{\"name\":\"DIAGG\",\"description\":\"[test-specification keyword] Tests for a diagonal G matrix by constraining off-diagonal elements in G to zero. The R-side structure is not modified.\",\"type\":\"standalone\"},{\"name\":\"DIAGR\",\"aliases\":[\"CINDEP\"],\"description\":\"[test-specification keyword] Tests for conditional independence by reducing the R-side covariance structure to diagonal form. The G-side structure is not modified.\",\"type\":\"standalone\"},{\"name\":\"GENERAL\",\"aliases\":[\"CONTRAST\"],\"description\":\"Provides a general facility to test linear combinations of covariance parameters.\",\"type\":\"standalone\"},{\"name\":\"GLM\",\"aliases\":[\"INDEP\"],\"description\":\"[test-specification keyword] Tests the model against a null model of complete independence.\",\"type\":\"standalone\"},{\"name\":\"HOMOGENEITY\",\"description\":\"[test-specification keyword] Tests homogeneity of covariance parameters across groups by imposing equality constraints.\",\"type\":\"standalone\"},{\"name\":\"START\",\"aliases\":[\"INITIAL\"],\"description\":\"[test-specification keyword] Compares the final estimates to the starting values of the covariance parameter estimates.\",\"type\":\"standalone\"},{\"name\":\"TESTDATA=\",\"aliases\":[\"TDATA=\"],\"description\":\"[test-specification keyword] Reads in covariance parameter values from a SAS data set.\",\"type\":\"value\"},{\"name\":\"ZEROG\",\"description\":\"[test-specification keyword] Tests whether the G matrix can be reduced to a zero matrix. This eliminates all G-side random effects from the model.\",\"type\":\"standalone\"},{\"name\":\"CL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests confidence limits or bounds for the covariance parameter estimates. These limits are displayed as extra columns in the \\\"Covariance Parameter Estimates\\\" table. The following suboptions determine the computation of confidence bounds and intervals. ALPHA=number determines the confidence level for constructing confidence limits for the covariance parameters. LOWERBOUND | LOWER requests lower confidence bounds. TYPE=method determines how the GLIMMIX procedure constructs confidence limits for covariance parameters. UPPERBOUND | UPPER requests upper confidence bounds.\",\"help\":\"CL=ALPHA= | LOWERBOUND | LOWER | TYPE= | UPPERBOUND | UPPER\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ALPHA=\",\"type\":\"value\"},{\"name\":\"LOWERBOUND\",\"type\":\"standalone\"},{\"name\":\"LOWER\",\"type\":\"standalone\"},{\"name\":\"TYPE=\",\"type\":\"value\"},{\"name\":\"UPPERBOUND\",\"type\":\"standalone\"},{\"name\":\"UPPER\",\"type\":\"standalone\"}]},{\"name\":\"CLASSICAL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that the p-value of the likelihood ratio test be computed by the classical method.\",\"type\":\"standalone\"},{\"name\":\"DF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Enables you to supply degrees of freedom for the computation of p-values from chi-square mixtures.\",\"help\":\"DF=*value-list*\",\"type\":\"value\"},{\"name\":\"ESTIMATES\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"EST\"],\"description\":\"Displays the estimates of the covariance parameters under the null hypothesis.\",\"type\":\"standalone\"},{\"name\":\"MAXITER=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Limits the number of iterations when you are refitting the model under the null hypothesis to number iterations.\",\"help\":\"MAXITER=*number*\",\"type\":\"value\"},{\"name\":\"PARMS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays the values of the covariance parameters under the null hypothesis.\",\"type\":\"standalone\"},{\"name\":\"RESTART\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies that starting values for the covariance parameters for the null model are obtained by the same mechanism as starting values for the full models.\",\"type\":\"standalone\"},{\"name\":\"TOLERANCE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Values within tolerance r >=0 of the boundary of the parameter space are considered on the boundary when PROC GLIMMIX examines estimates of nuisance parameters under Ho and determines whether mixture weights and degrees of freedom can be obtained.\",\"help\":\"TOLERANCE=*r*\",\"type\":\"value\"},{\"name\":\"WALD\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Produces Wald Z tests for the covariance parameters based on the estimates and asymptotic standard errors in the \\\"Covariance Parameter Estimates\\\" table.\",\"type\":\"standalone\"},{\"name\":\"WGHT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Enables you to supply weights for the computation of p-values from chi-square mixtures.\",\"help\":\"WGHT=*value-list*\",\"type\":\"value\"}]},{\"name\":\"DELETE\",\"description\":\"Stops processing the current observation.\",\"help\":\"DELETE\"},{\"name\":\"DO\",\"description\":\"\",\"help\":\"DO &lt;OVER&gt;&lt;&gt;&lt;&gt; ...\",\"arguments\":[{\"name\":\"BY\",\"optional\":true,\"description\":\"Precedes an increment integer (other than 0) or an expression that generates an integer to be added to the value of the index variable in each iteration of the DO loop.\",\"type\":\"standalone\"},{\"name\":\"OVER\",\"optional\":true,\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"TO\",\"optional\":true,\"description\":\"Separates the start and stop integers or expressions that control the number of times the portion of the DATA step between the iterative DO and END statements is processed.\",\"type\":\"standalone\"},{\"name\":\"UNTIL\",\"optional\":true,\"description\":\"...more SAS statements... END\",\"type\":\"standalone\"},{\"name\":\"WHILE\",\"optional\":true,\"description\":\"\",\"type\":\"standalone\"}]},{\"name\":\"EFFECT\",\"description\":\"The name of the effect is specified after the EFFECT keyword. This name can appear in only one EFFECT statement and cannot be the name of a variable in the input data set. The effect-type is specified after an equal sign, followed by a list of variables within parentheses which are used in constructing the effect. Effect-options that are specific to an effect-type can be specified after a slash (/) following the variable list. The EFFECT statement enables you to construct special collections of columns for design matrices. These collections are referred to as constructed effects to distinguish them from the usual model effects formed from continuous or classification variables.\",\"help\":\"EFFECT EFFECT-NAME=COLLECTION|LAG|MULTIMEMBER|MM...  &lt;PERIOD=variable&gt;&lt;WITHIN=(variables) | WITHIN=variable&gt; ...\",\"arguments\":[{\"name\":\"EFFECT-NAME=\",\"placeholder\":true,\"description\":\"Replace 'EFFECT-NAME' with the name of the effect, specified after the EFFECT keyword. This name can appear in only one EFFECT statement and cannot be the name of a variable in the input data set. These values can be used: COLLECTION, LAG, MULTIMEMBER, POLYNOMIAL, or SPLINE.\",\"type\":\"value\"},{\"name\":\"BASIS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"[For the SPLINE effect-type only] Specifies a basis for the spline expansion.\",\"help\":\"BASIS=BSPLINE | TPF\",\"type\":\"choice\",\"arguments\":[{\"name\":\"BSPLINE\",\"followsDelimiter\":\"/\",\"description\":\"Specifies a B-spline basis for the spline expansion.\",\"type\":\"standalone\"},{\"name\":\"TPF\",\"followsDelimiter\":\"/\",\"description\":\"Syntax: TPF(options) Specifies a truncated power function basis for the spline expansion. You can modify the number of columns when you request BASIS=TPF with the following options: NOINT excludes the intercept column. NOPOWERS excludes the intercept and polynomial columns.\",\"type\":\"standalone\"}]},{\"name\":\"DATABOUNDARY\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"[For the SPLINE effect-type only] Specifies that the extremes of the data be used as boundary knots when building a B-spline basis.\",\"type\":\"standalone\"},{\"name\":\"DEGREE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"\",\"help\":\"DEGREE=*n*\",\"type\":\"value\"},{\"name\":\"DESIGNROLE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"\",\"help\":\"DESIGNROLE=*variable*\",\"type\":\"value\"},{\"name\":\"DETAILS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"[For the LAG | COLLECTION | MULTIMEMBER | POLYNOMIAL |SPLINE effect-type] Requests a table that shows the (1) lag design matrix of the lag effect, or (2) constituents of the collection effect, or (3) levels of the multimember effect, or (4) details of the specified polynomial, or (5) knot locations and the knots associated with each spline basis function.\",\"type\":\"standalone\"},{\"name\":\"KNOTMAX=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"\",\"help\":\"KNOTMAX=*value*\",\"type\":\"value\"},{\"name\":\"KNOTMETHOD=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"[For the SPLINE effect-type only] Specifies how to construct the knots for spline effects.\",\"help\":\"KNOTMETHOD=EQUAL | LIST | LISTWITHBOUNDARY | MULTISCALE | PERCENTILES | RANGEFRACTIONS\",\"type\":\"choice\",\"arguments\":[{\"name\":\"EQUAL\",\"followsDelimiter\":\"/\",\"description\":\"Syntax: EQUAL<(n)> Specifies that n equally spaced knots be positioned between the extremes of the data. The default is n=3. For a B-spline basis, any needed boundary knots continue to be equally spaced unless the DATABOUNDARY option has also been specified. KNOTMETHOD=EQUAL is the default if no knot-method is specified.\",\"type\":\"standalone\"},{\"name\":\"LIST\",\"followsDelimiter\":\"/\",\"description\":\"Syntax: LIST(number-list) Specifies the list of internal knots to be used in forming the spline basis columns. For a B-spline basis, the data extremes are used as boundary knots.\",\"type\":\"standalone\"},{\"name\":\"LISTWITHBOUNDARY\",\"followsDelimiter\":\"/\",\"description\":\"Syntax: LISTWITHBOUNDARY(number-list) Specifies the list of all knots that are used in forming the spline basis columns.\",\"type\":\"standalone\"},{\"name\":\"MULTISCALE\",\"followsDelimiter\":\"/\",\"description\":\"Syntax: MULTISCALE<(multiscale-options)> Specifies that multiple B-spline bases be generated, corresponding to sets with an increasing number of internal knots. You can control which scales are included with the following multiscale-options: STARTSCALE=n specifies the start scale, where n is a positive integer. The default is STARTSCALE=0. ENDSCALE=n specifies the end scale, where n is a positive integer. The default is ENDSCALE=7.\",\"type\":\"standalone\"},{\"name\":\"PERCENTILES\",\"followsDelimiter\":\"/\",\"description\":\"Syntax: PERCENTILES(n) Requests that internal knots be placed at n equally spaced percentiles of the variable or variables named in the EFFECT statement.\",\"type\":\"standalone\"},{\"name\":\"RANGEFRACTIONS\",\"followsDelimiter\":\"/\",\"description\":\"Syntax: RANGEFRACTIONS(fraction-list) Requests that internal knots be placed at each fraction of the ranges of the variables in the EFFECT statement.\",\"type\":\"standalone\"}]},{\"name\":\"KNOTMIN=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"\",\"help\":\"KNOTMIN=*value*\",\"type\":\"value\"},{\"name\":\"LABELSTYLE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"\",\"help\":\"LABELSTYLE=EXPAND | EXPONENT | INCLUDENAME | PRODUCTSYMBOL=\",\"type\":\"choice\",\"arguments\":[{\"name\":\"EXPAND\",\"followsDelimiter\":\"/\",\"description\":\"Specifies that each variable with an exponent greater than 1 be written as products of that variable.\",\"type\":\"standalone\"},{\"name\":\"EXPONENT\",\"followsDelimiter\":\"/\",\"description\":\"Syntax: EXPONENT <=quoted string> Specifies that each variable with an exponent greater than 1 be written using exponential notation. By default, the symbol ^ is used as the exponentiation operator. If you supply the optional quoted string after an equal sign, then that string is used as the exponentiation operator.\",\"type\":\"standalone\"},{\"name\":\"INCLUDENAME\",\"followsDelimiter\":\"/\",\"description\":\"Specifies that the name of the effect followed by an underscore be used as a prefix for term labels.\",\"type\":\"standalone\"},{\"name\":\"PRODUCTSYMBOL=\",\"followsDelimiter\":\"/\",\"description\":\"Syntax: PRODUCTSYMBOL=NONE | quoted string Specifies that the supplied string be used as the product symbol.\",\"type\":\"value\"}]},{\"name\":\"MDEGREE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"\",\"help\":\"MDEGREE=*n*\",\"type\":\"value\"},{\"name\":\"NLAG=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"\",\"type\":\"value\"},{\"name\":\"NOEFFECT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"[For the MULTIMEMBER effect-type only] Specifies that, for observations with all missing levels of the multimember variables, the values in the corresponding design matrix columns be set to zero.\",\"type\":\"standalone\"},{\"name\":\"NOSEPARATE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"[For the POLYNOMIAL effect-type only] Specifies that the polynomial be treated as a single effect with multiple degrees of freedom. The effect name that you specify is used as the constructed effect name, and the labels of the terms are used as labels of the corresponding parameters.\",\"type\":\"standalone\"},{\"name\":\"PERIOD=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the period variable of the LAG design. The number of periods is the number of unique formatted values of the PERIOD= variable, and the ordering of the period is formed by sorting these formatted values in ascending order. You must specify a PERIOD= variable.\",\"help\":\"PERIOD=*variable*\",\"type\":\"value\"},{\"name\":\"SEPARATE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"[For the SPLINE effect-type only] Specifies that when multiple variables are specified in the EFFECT statement, the spline basis for each variable be treated as a separate effect. The names of these separated effects are formed by appending an underscore followed by the name of the variable to the name that you specify in the EFFECT statement.\",\"type\":\"standalone\"},{\"name\":\"SPLIT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"[For the SPLINE effect-type only] Specifies that each individual column in the design matrix that corresponds to the spline effect be treated as a separate effect that can enter or leave the model independently. Names for these split effects are generated by appending the variable name and an index for each column to the name that you specify in the EFFECT statement.\",\"type\":\"standalone\"},{\"name\":\"STANDARDIZE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies that the variables that define the polynomial be standardized. By default, the standardized variables receive prefix \\\"s_\\\" in the variable names. You can use the following centerscale-opts to specify how the center and scale are estimated: METHOD=MOMENTS specifies that the center be estimated by the variable mean and the scale be estimated by the standard deviation. METHOD=RANGE specifies that the center be estimated by the midpoint of the variable range and the scale be estimated as half the variable range. METHOD=WMOMENTS is the same as METHOD=MOMENTS except that weighted means and weighted standard deviations are used.\",\"help\":\"STANDARDIZECENTER | CENTERSCALE | NONE | SCALE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"CENTER\",\"followsDelimiter\":\"/\",\"description\":\"Specifies that variables be centered but not scaled.\",\"type\":\"standalone\"},{\"name\":\"CENTERSCALE\",\"followsDelimiter\":\"/\",\"description\":\"Specifies that variables be centered and scaled. This is the default if you do not specify a standardization-opt.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"followsDelimiter\":\"/\",\"description\":\"Specifies that no standardization be performed.\",\"type\":\"standalone\"},{\"name\":\"SCALE\",\"followsDelimiter\":\"/\",\"description\":\"Specifies that variables be scaled but not centered.\",\"type\":\"standalone\"}]},{\"name\":\"STDIZE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"[For the MULTIMEMBER effect-type only] Specifies that for each observation, the entries in the design matrix that corresponds to the multimember effect be scaled to have a sum of one.\",\"type\":\"standalone\"},{\"name\":\"WEIGHT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"\",\"help\":\"WEIGHT=*wght-list*\",\"type\":\"value\"},{\"name\":\"WITHIN=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"\",\"type\":\"value\"}]},{\"name\":\"ELSE\",\"description\":\"If the condition in an IF-THEN statement is false and an ELSE statement is present, then the ELSE action is carried out.\",\"help\":\"ELSE &lt;DO&gt;&lt;IF&gt;&lt;THEN&gt; ...\",\"arguments\":[{\"name\":\"AND\",\"optional\":true,\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"DO\",\"optional\":true,\"description\":\"Action statement in an IF-THEN-ELSE construct.\",\"type\":\"standalone\"},{\"name\":\"IF\",\"optional\":true,\"description\":\"Executes a SAS statement for observations that meet specific conditions.\",\"type\":\"standalone\"},{\"name\":\"NOT\",\"optional\":true,\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"OR\",\"optional\":true,\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"OUTPUT\",\"optional\":true,\"description\":\"Action statement in an IF-THEN-ELSE construct.\",\"type\":\"standalone\"},{\"name\":\"THEN\",\"optional\":true,\"description\":\"If the conditions that are specified in the IF clause are met, the IF-THEN statement executes a SAS statement for observations that are read from a SAS data set, for records in an external file, or for computed values.\",\"type\":\"standalone\"}]},{\"name\":\"END\",\"description\":\"Ends a DO group or SELECT group processing.\",\"help\":\"END\"},{\"name\":\"ESTIMATE\",\"description\":\"The ESTIMATE statement provides a mechanism for obtaining custom hypothesis tests.\",\"help\":\"ESTIMATE &lt;ADJDFE=&lt;SOURCE | ROW&gt;&gt;&lt;ADJUST=&lt;BON | SCHEFFE | SIDAK&gt;... &gt;&lt;ALPHA=number&gt; ...\",\"arguments\":[{\"name\":\"ADJDFE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies how denominator degrees of freedom are determined when p-values and confidence limits are adjusted for multiple comparisons with the ADJUST= option.\",\"help\":\"ADJDFE=SOURCE | ROW\",\"type\":\"choice\",\"arguments\":[{\"name\":\"SOURCE\",\"followsDelimiter\":\"/\",\"description\":\"The denominator degrees of freedom for multiplicity-adjusted results are the denominator degrees of freedom for the final effect listed in the ESTIMATE statement from the 'Type III Tests of Fixed Effects' table.\",\"type\":\"standalone\"},{\"name\":\"ROW\",\"followsDelimiter\":\"/\",\"description\":\"Useful if you want multiplicity adjustments to take into account that denominator degrees of freedom are not constant across estimates.\",\"type\":\"standalone\"}]},{\"name\":\"ADJUST=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests a multiple comparison adjustment for the p-values and confidence limits for the estimates.\",\"help\":\"ADJUST=BON | SCHEFFE | SIDAK | SIMULATE&lt;(simoptions)&gt; | T\",\"type\":\"choice\",\"arguments\":[{\"name\":\"BON\",\"followsDelimiter\":\"/\",\"description\":\"Bonferroni adjustment\",\"type\":\"standalone\"},{\"name\":\"SCHEFFE\",\"followsDelimiter\":\"/\",\"description\":\"Scheffe's adjustment\",\"type\":\"standalone\"},{\"name\":\"SIDAK\",\"followsDelimiter\":\"/\",\"description\":\"Sidak adjustment\",\"type\":\"standalone\"},{\"name\":\"SIMULATE\",\"followsDelimiter\":\"/\",\"description\":\"Computes adjusted p-values and confidence limits from the simulated distribution of the maximum or maximum absolute value of a multivariate t random vector.\",\"help\":\"SIMULATE&lt;(simoptions)&gt;\",\"type\":\"standalone\"},{\"name\":\"T\",\"followsDelimiter\":\"/\",\"description\":\"The default, which really signifies no adjustment for multiple comparisons.\",\"type\":\"standalone\"}]},{\"name\":\"ALPHA=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that a t-type confidence interval be constructed with confidence level 1-number. The value of number must be between 0 and 1; the default is 0.05.\",\"help\":\"ALPHA=*number*\",\"type\":\"value\"},{\"name\":\"BYCATEGORY\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"BYCAT\"],\"description\":\"Requests that in models for nominal data (generalized logit models) estimates be reported separately for each category.\",\"type\":\"standalone\"},{\"name\":\"CL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that t-type confidence limits be constructed.\",\"type\":\"standalone\"},{\"name\":\"DF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the degrees of freedom for the t test and confidence limits.\",\"help\":\"DF=*number*\",\"type\":\"value\"},{\"name\":\"DIVISOR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies a list of values by which to divide the coefficients so that fractional coefficients can be entered as integer numerators.\",\"help\":\"DIVISOR=*value-list*\",\"type\":\"value\"},{\"name\":\"E\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that the L matrix coefficients be displayed.\",\"type\":\"standalone\"},{\"name\":\"EXP\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests exponentiation of the estimate.\",\"type\":\"standalone\"},{\"name\":\"GROUP\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Sets up random-effect contrasts between different groups when a GROUP= variable appears in the RANDOM statement.\",\"type\":\"standalone\"},{\"name\":\"ILINK\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that the estimate and its standard error are also reported on the scale of the mean (the inverse linked scale).\",\"type\":\"standalone\"},{\"name\":\"LOWER\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"LOWERTAILED\"],\"description\":\"Requests that the p-value for the t test be based only on values less than the test statistic.\",\"type\":\"standalone\"},{\"name\":\"SINGULAR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Tunes the estimability checking as documented for the CONTRAST statement.\",\"help\":\"SINGULAR=*number*\",\"type\":\"value\"},{\"name\":\"STEPDOWN=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that multiplicity adjustments for the p-values of estimates be further adjusted in a step-down fashion. You can specify the following step-down-options in parentheses after the STEPDOWN option.\",\"help\":\"STEPDOWN=MAXTIME= | ORDER= | REPORT | TYPE=\",\"type\":\"choice\",\"arguments\":[{\"name\":\"MAXTIME=\",\"type\":\"value\"},{\"name\":\"ORDER=\",\"type\":\"value\"},{\"name\":\"REPORT\",\"type\":\"standalone\"},{\"name\":\"TYPE=\",\"type\":\"value\"}]},{\"name\":\"SUBJECT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Sets up random-effect contrasts between different subjects when a SUBJECT= variable appears in the RANDOM statement.\",\"type\":\"standalone\"},{\"name\":\"UPPER\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"UPPERTAILED\"],\"description\":\"Requests that the p-value for the t test be based only on values greater than the test statistic.\",\"type\":\"standalone\"}]},{\"name\":\"FREQ\",\"description\":\"The variable in the FREQ statement identifies a numeric variable in the data set or one computed through PROC GLIMMIX programming statements that contains the frequency of occurrence for each observation. PROC GLIMMIX treats each observation as if it appears f times, where f is the value of the FREQ variable for the observation. If it is not an integer, the frequency value is truncated to an integer. If the frequency value is less than 1 or missing, the observation is not used in the analysis. When the FREQ statement is not specified, each observation is assigned a frequency of 1.\",\"help\":\"FREQ variable\"},{\"name\":\"GOTO\",\"description\":\"Jumps to a new statement.\",\"help\":\"GOTO label\"},{\"name\":\"ID\",\"description\":\"The ID statement specifies which quantities to include in the OUT= data set from the OUTPUT statement in addition to any statistics requested in the OUTPUT statement.\",\"help\":\"ID variables \"},{\"name\":\"IF\",\"description\":\"\",\"help\":\"IF &lt;DO&gt;&lt;THEN&gt;&lt;WHEN&gt; ...\",\"arguments\":[{\"name\":\"AND\",\"optional\":true,\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"DO\",\"optional\":true,\"description\":\"Action statement in an IF-THEN construct.\",\"type\":\"standalone\"},{\"name\":\"GO\",\"optional\":true,\"aliases\":[\"GOTO\"],\"description\":\"Jumps to a new statement.\",\"help\":\"GO TO\",\"type\":\"standalone\"},{\"name\":\"NOT\",\"optional\":true,\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"OR\",\"optional\":true,\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"OUTPUT\",\"optional\":true,\"description\":\"Action statement in an IF-THEN construct.\",\"type\":\"standalone\"},{\"name\":\"PUT\",\"optional\":true,\"description\":\"Action statement in an IF-THEN construct.\",\"type\":\"standalone\"},{\"name\":\"SET\",\"optional\":true,\"description\":\"Reads an observation from one or more SAS data sets.\",\"type\":\"standalone\"},{\"name\":\"STOP\",\"optional\":true,\"description\":\"Action statement in an IF-THEN construct. Stops execution of the current DATA step.\",\"type\":\"standalone\"},{\"name\":\"THEN\",\"optional\":true,\"description\":\"If the conditions that are specified in the IF clause are met, the IF-THEN statement executes a SAS statement for observations that are read from a SAS data set, for records in an external file, or for computed values.\",\"type\":\"standalone\"},{\"name\":\"WHEN\",\"optional\":true,\"description\":\"WHEN statement in an IF-THEN-WHEN construct.\",\"type\":\"standalone\"}]},{\"name\":\"LINK\",\"description\":\"Directs program execution immediately to the statement label that is specified and, if followed by a RETURN statement, returns execution to the statement that follows the LINK statement.\",\"help\":\"LINK statement-label\"},{\"name\":\"LSMEANS\",\"description\":\"The LSMEANS statement computes least squares means (LS-means) of fixed effects. As in the GLM and the MIXED procedures, LS-means are predicted population margins—that is, they estimate the marginal means over a balanced population. In a sense, LS-means are to unbalanced designs as class and subclass arithmetic means are to balanced designs.\",\"help\":\"LSMEANS &lt;ADJDFE=&lt;SOURCE | ROW&gt;&gt;&lt;ADJUST=&lt;BON | DUNNETT | NELSON&gt;... &gt;&lt;ALPHA=number&gt; ...\",\"arguments\":[{\"name\":\"ADJDFE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies how denominator degrees of freedom are determined when p-values and confidence limits are adjusted for multiple comparisons with the ADJUST= option.\",\"help\":\"ADJDFE=SOURCE | ROW\",\"type\":\"choice\",\"arguments\":[{\"name\":\"SOURCE\",\"followsDelimiter\":\"/\",\"description\":\"The denominator degrees of freedom for multiplicity-adjusted results are the denominator degrees of freedom for the LS-mean effect in the \\\"Type III Tests of Fixed Effects\\\" table.\",\"type\":\"standalone\"},{\"name\":\"ROW\",\"followsDelimiter\":\"/\",\"description\":\"Useful if you want multiplicity adjustments to take into account that denominator degrees of freedom are not constant across LS-mean differences.\",\"type\":\"standalone\"}]},{\"name\":\"ADJUST=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests a multiple comparison adjustment for the p-values and confidence limits for the differences of LS-means.\",\"help\":\"ADJUST=BON | DUNNETT | NELSON | SCHEFFE | SIDAK | SIMULATE | SMM|GT2 | TUKEY\",\"type\":\"choice\",\"arguments\":[{\"name\":\"BON\",\"followsDelimiter\":\"/\",\"description\":\"Bonferroni adjustment\",\"type\":\"standalone\"},{\"name\":\"DUNNETT\",\"followsDelimiter\":\"/\",\"description\":\"Dunnett adjustment (in which the procedure analyzes all differences with a control level)\",\"type\":\"standalone\"},{\"name\":\"NELSON\",\"followsDelimiter\":\"/\",\"description\":\"Nelson adjustment (in which ANOM differences are taken)\",\"type\":\"standalone\"},{\"name\":\"SCHEFFE\",\"followsDelimiter\":\"/\",\"description\":\"Scheffe's adjustment\",\"type\":\"standalone\"},{\"name\":\"SIDAK\",\"followsDelimiter\":\"/\",\"description\":\"Sidak adjustment\",\"type\":\"standalone\"},{\"name\":\"SIMULATE\",\"followsDelimiter\":\"/\",\"description\":\"Computes adjusted p-values and confidence limits from the simulated distribution of the maximum or maximum absolute value of a multivariate t random vector. Syntax: SIMULATE<(simoptions)> You can specify the following simoptions in parentheses after the ADJUST=SIMULATE option. ACC=value specifies the target accuracy radius γ of a 100(1-ε)% confidence interval for the true probability content of the estimated (1-α)th quantile. The default value is ACC=0.005. CVADJUST specifies that the quantile should be estimated by the control variate adjustment method of Hsu and Nelson (1998) instead of simply as the quantile of the simulated sample. EPS=value specifies the value ε for a 100(1-ε)% confidence interval for the true probability content of the estimated (1-α)th quantile. NSAMP=n specifies the sample size for the simulation. REPORT specifies that a report on the simulation should be displayed, including a listing of the parameters, such as γ, ε, and α, as well as an analysis of various methods for estimating or approximating the quantile. SEED=number specifies an integer used to start the pseudo-random number generator for the simulation.\",\"type\":\"standalone\"},{\"name\":\"SMM\",\"followsDelimiter\":\"/\",\"description\":\"SMM adjustment\",\"help\":\"SMM|GT2\",\"type\":\"choice\"},{\"name\":\"TUKEY\",\"followsDelimiter\":\"/\",\"description\":\"If your data are unbalanced, PROC GLIMMIX uses the approximation described in Kramer (1956) and identifies the adjustment as \\\"Tukey-Kramer\\\" in the results.\",\"type\":\"standalone\"}]},{\"name\":\"ALPHA=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that a t-type confidence interval be constructed for each of the LS-means with confidence level (1-number)x100%. The value of number must be between 0 and 1; the default value is 0.05, corresponding to a 95% confidence interval.\",\"help\":\"ALPHA=*number*\",\"type\":\"value\"},{\"name\":\"AT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Enables you to modify the values of the covariates used in computing LS-means.\",\"help\":\"AT=MEANS\",\"type\":\"choice\",\"arguments\":[{\"name\":\"MEANS\",\"type\":\"standalone\"}]},{\"name\":\"BYLEVEL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that separate margins be computed for each level of the LSMEANS effect.\",\"type\":\"standalone\"},{\"name\":\"CL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that t-type confidence limits be constructed for each of the LS-means. The confidence level is 0.95 by default; this can be changed with the ALPHA= option.\",\"type\":\"standalone\"},{\"name\":\"CORR\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays the estimated correlation matrix of the least squares means as part of the \\\"Least Squares Means\\\" table.\",\"type\":\"standalone\"},{\"name\":\"COV\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays the estimated covariance matrix of the least squares means as part of the \\\"Least Squares Means\\\" table.\",\"type\":\"standalone\"},{\"name\":\"DF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the degrees of freedom for the t test and confidence limits.\",\"help\":\"DF=*number*\",\"type\":\"value\"},{\"name\":\"DIFF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"PDIFF=\"],\"description\":\"Requests that differences of the LS-means be displayed.\",\"help\":\"DIFF=ALL | ANOM | CONTROL | CONTROLL | CONTROLU\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ALL\",\"followsDelimiter\":\"/\",\"description\":\"Requests all pairwise differences, and it is the default.\",\"type\":\"standalone\"},{\"name\":\"ANOM\",\"followsDelimiter\":\"/\",\"description\":\"Requests differences between each LS-mean and the average LS-mean, as in the analysis of means (Ott 1967).\",\"type\":\"standalone\"},{\"name\":\"CONTROL\",\"followsDelimiter\":\"/\",\"description\":\"Requests the differences with a control, which, by default, is the first level of each of the specified LSMEANS effects.\",\"type\":\"standalone\"},{\"name\":\"CONTROLL\",\"followsDelimiter\":\"/\",\"description\":\"Tests whether the noncontrol levels are significantly smaller than the control; the upper confidence limits for the control minus the noncontrol levels are considered to be infinity and are displayed as missing.\",\"type\":\"standalone\"},{\"name\":\"CONTROLU\",\"followsDelimiter\":\"/\",\"description\":\"Tests whether the noncontrol levels are significantly larger than the control; the upper confidence limits for the noncontrol levels minus the control are considered to be infinity and are displayed as missing.\",\"type\":\"standalone\"}]},{\"name\":\"E\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that the L matrix coefficients for all LSMEANS effects be displayed.\",\"type\":\"standalone\"},{\"name\":\"ILINK\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that estimates and their standard errors in the \\\"Least Squares Means\\\" table also be reported on the scale of the mean (the inverse linked scale).\",\"type\":\"standalone\"},{\"name\":\"LINES\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Presents results of comparisons between all pairs of least squares means by listing the means in descending order and indicating nonsignificant subsets by line segments beside the corresponding LS-means.\",\"type\":\"standalone\"},{\"name\":\"OBSMARGINS\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"OM\"],\"description\":\"Specifies a potentially different weighting scheme for the computation of LS-means coefficients.\",\"type\":\"standalone\"},{\"name\":\"ODDS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that in models with logit, cumulative logit, and generalized logit link function the odds of the levels of the fixed effects are reported.\",\"type\":\"standalone\"},{\"name\":\"ODDSRATIO\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"OR\"],\"description\":\"Requests that LS-mean differences (DIFF, ADJUST= options) and simple effect comparisons (SLICEDIFF option) are also reported in terms of odds ratios.\",\"type\":\"standalone\"},{\"name\":\"PLOT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"PLOTS=\"],\"description\":\"Requests that least squares means related graphics are produced via ODS Graphics, provided that the ODS GRAPHICS statement has been specified and the plot request does not conflict with other options in the LSMEANS statement.\",\"help\":\"PLOT=ALL | ANOMPLOT|ANOM | CONTROLPLOT|CONTROL | DIFFPLOT|DIFFOGRAM|DIFF | MEANPLOT | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ALL\",\"followsDelimiter\":\"/\",\"description\":\"Requests that the default plots corresponding to this LSMEANS statement be produced.\",\"type\":\"standalone\"},{\"name\":\"ANOMPLOT\",\"followsDelimiter\":\"/\",\"description\":\"Requests an analysis of means display in which least squares means are compared to an average least squares mean.\",\"help\":\"ANOMPLOT|ANOM\",\"type\":\"choice\"},{\"name\":\"CONTROLPLOT\",\"followsDelimiter\":\"/\",\"description\":\"Requests a display in which least squares means are visually compared against a reference level.\",\"help\":\"CONTROLPLOT|CONTROL\",\"type\":\"choice\"},{\"name\":\"DIFFPLOT\",\"followsDelimiter\":\"/\",\"description\":\"Requests a display of all pairwise least squares mean differences and their significance. Syntax: DIFFPLOT<(diffplot-options)> You can specify the following diffplot-options: ABS all line segments are shown on the same side of the reference line. NOABS separates comparisons according to the sign of the difference. CENTER marks the center point for each comparison. NOLINES suppresses the display of the line segments that represent the confidence bounds for the differences of the least squares means. The NOLINES option implies the CENTER option.\",\"help\":\"DIFFPLOT|DIFFOGRAM|DIFF\",\"type\":\"choice\"},{\"name\":\"MEANPLOT\",\"followsDelimiter\":\"/\",\"description\":\"Requests displays of the least squares means. Syntax: MEANPLOT<(meanplot-options)> The following meanplot-options control the display of the least squares means: ASCENDING displays the least squares means in ascending order. This option has no effect if means are sliced or displayed in separate plots. CL displays upper and lower confidence limits for the least squares means. By default, 95% limits are drawn. CLBAND displays confidence limits as bands. This option implies the JOIN option. DESCENDING displays the least squares means in descending order. This option has no effect if means are sliced or displayed in separate plots. ILINK requests that means (and confidence limits) are displayed on the inverse linked scale. JOIN | CONNECT connects the least squares means with lines. This option is implied by the CLBAND option. SLICEBY=fixed-effect specifies an effect by which to group the means in a single plot. PLOTBY=fixed-effect specifies an effect by which to break interaction plots into separate displays.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"followsDelimiter\":\"/\",\"description\":\"Requests that no plots be produced.\",\"type\":\"standalone\"}]},{\"name\":\"SINGULAR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Tunes the estimability checking as documented for the CONTRAST statement.\",\"help\":\"SINGULAR=*number*\",\"type\":\"value\"},{\"name\":\"SLICE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies effects by which to partition interaction LSMEANS effects.\",\"type\":\"value\"},{\"name\":\"SLICEDIFF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"SIMPLEDIFF=\"],\"description\":\"Requests that differences of simple effects be constructed and tested against zero.\",\"type\":\"value\"},{\"name\":\"SLICEDIFFTYPE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"SIMPLEDIFFTYPE=\"],\"description\":\"Determines the type of simple effect differences produced with the SLICEDIFF= option.\",\"help\":\"SLICEDIFFTYPE=ALL | CONTROL | CONTROLL | CONTROLU\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ALL\",\"followsDelimiter\":\"/\",\"description\":\"Requests all simple effects differences, and it is the default.\",\"type\":\"standalone\"},{\"name\":\"CONTROL\",\"followsDelimiter\":\"/\",\"description\":\"Requests the differences with a control, which, by default, is the first level of each of the specified LSMEANS effects.\",\"type\":\"standalone\"},{\"name\":\"CONTROLL\",\"followsDelimiter\":\"/\",\"description\":\"Tests whether the noncontrol levels are significantly smaller than the control; the upper confidence limits for the control minus the noncontrol levels are considered to be infinity and are displayed as missing.\",\"type\":\"standalone\"},{\"name\":\"CONTROLU\",\"followsDelimiter\":\"/\",\"description\":\"Tests whether the noncontrol levels are significantly larger than the control; the upper confidence limits for the noncontrol levels minus the control are considered to be infinity and are displayed as missing.\",\"type\":\"standalone\"}]},{\"name\":\"STEPDOWN=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that multiple comparison adjustments for the p-values of LS-mean differences be further adjusted in a step-down fashion. You can specify the following step-down options in parentheses: MAXTIME=n specifies the time (in seconds) to spend computing the maximal logically consistent sequential subsets of equality hypotheses for TYPE=LOGICAL. REPORT specifies that a report on the step-down adjustment should be displayed, including a listing of the sequential subsets (Westfall 1997) and, for ADJUST=SIMULATE, the step-down simulation results.\",\"help\":\"STEPDOWN=MAXTIME= | REPORT | TYPE=\",\"type\":\"choice\",\"arguments\":[{\"name\":\"MAXTIME=\",\"type\":\"value\"},{\"name\":\"REPORT\",\"type\":\"standalone\"},{\"name\":\"TYPE=\",\"type\":\"value\"}]}]},{\"name\":\"LSMESTIMATE\",\"description\":\"The LSMESTIMATE statement provides a mechanism for obtaining custom hypothesis tests among the least squares means.\",\"help\":\"LSMESTIMATE &lt;ADJDFE=&lt;SOURCE | ROW&gt;&gt;&lt;ADJUST=&lt;BON | SCHEFFE | SIDAK&gt;... &gt;&lt;ALPHA=number&gt; ...\",\"arguments\":[{\"name\":\"ADJDFE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies how denominator degrees of freedom are determined when p-values and confidence limits are adjusted for multiple comparisons with the ADJUST= option.\",\"help\":\"ADJDFE=SOURCE | ROW\",\"type\":\"choice\",\"arguments\":[{\"name\":\"SOURCE\",\"followsDelimiter\":\"/\",\"description\":\"The denominator degrees of freedom for multiplicity-adjusted results are the denominator degrees of freedom for the LS-mean effect in the \\\"Type III Tests of Fixed Effects\\\" table.\",\"type\":\"standalone\"},{\"name\":\"ROW\",\"followsDelimiter\":\"/\",\"description\":\"Useful if you want multiplicity adjustments to take into account that denominator degrees of freedom are not constant across estimates.\",\"type\":\"standalone\"}]},{\"name\":\"ADJUST=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests a multiple comparison adjustment for the p-values and confidence limits for the estimates.\",\"help\":\"ADJUST=BON | SCHEFFE | SIDAK | SIMULATE | T\",\"type\":\"choice\",\"arguments\":[{\"name\":\"BON\",\"followsDelimiter\":\"/\",\"description\":\"Bonferroni adjustment\",\"type\":\"standalone\"},{\"name\":\"SCHEFFE\",\"followsDelimiter\":\"/\",\"description\":\"Scheffe's adjustment\",\"type\":\"standalone\"},{\"name\":\"SIDAK\",\"followsDelimiter\":\"/\",\"description\":\"Sidak adjustment\",\"type\":\"standalone\"},{\"name\":\"SIMULATE\",\"followsDelimiter\":\"/\",\"description\":\"Computes adjusted p-values and confidence limits from the simulated distribution of the maximum or maximum absolute value of a multivariate t random vector. Syntax: SIMULATE<(simoptions)> You can specify the following simoptions in parentheses after the ADJUST=SIMULATE option. ACC=value specifies the target accuracy radius γ of a 100(1-ε)% confidence interval for the true probability content of the estimated (1-α)th quantile. The default value is ACC=0.005. CVADJUST specifies that the quantile should be estimated by the control variate adjustment method of Hsu and Nelson (1998) instead of simply as the quantile of the simulated sample. EPS=value specifies the value ε for a 100(1-ε)% confidence interval for the true probability content of the estimated (1-α)th quantile. NSAMP=n specifies the sample size for the simulation. REPORT specifies that a report on the simulation should be displayed, including a listing of the parameters, such as γ, ε, and α, as well as an analysis of various methods for estimating or approximating the quantile. SEED=number specifies an integer used to start the pseudo-random number generator for the simulation.\",\"type\":\"standalone\"},{\"name\":\"T\",\"followsDelimiter\":\"/\",\"description\":\"The default, which really signifies no adjustment for multiple comparisons.\",\"type\":\"standalone\"}]},{\"name\":\"ALPHA=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that a t-type confidence interval be constructed with confidence level 1-number. The value of number must be between 0 and 1; the default is 0.05.\",\"help\":\"ALPHA=*number*\",\"type\":\"value\"},{\"name\":\"AT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Enables you to modify the values of the covariates used in computing LS-means.\",\"help\":\"AT=MEANS\",\"type\":\"choice\",\"arguments\":[{\"name\":\"MEANS\",\"type\":\"standalone\"}]},{\"name\":\"BYLEVEL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that PROC GLIMMIX compute separate margins for each level of the LSMEANS effect.\",\"type\":\"standalone\"},{\"name\":\"CHISQ\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that chi-square tests be performed in addition to F tests, when you request an F test with the FTEST option.\",\"type\":\"standalone\"},{\"name\":\"CL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that t-type confidence limits be constructed.\",\"type\":\"standalone\"},{\"name\":\"CORR\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays the estimated correlation matrix of the linear combination of the least squares means.\",\"type\":\"standalone\"},{\"name\":\"COV\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays the estimated covariance matrix of the linear combination of the least squares means.\",\"type\":\"standalone\"},{\"name\":\"DF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the degrees of freedom for the t test and confidence limits.\",\"help\":\"DF=*number*\",\"type\":\"value\"},{\"name\":\"DIVISOR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies a list of values by which to divide the coefficients so that fractional coefficients can be entered as integer numerators.\",\"help\":\"DIVISOR=*value-list*\",\"type\":\"value\"},{\"name\":\"E\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that the L matrix coefficients be displayed.\",\"type\":\"standalone\"},{\"name\":\"ELSM\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that the K matrix coefficients be displayed.\",\"type\":\"standalone\"},{\"name\":\"EXP\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests exponentiation of the estimate.\",\"type\":\"standalone\"},{\"name\":\"FTEST=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"JOINT\"],\"description\":\"Produces an F test that jointly tests the rows of the LSMESTIMATE against zero. You can specify the following joint-test-options in parentheses:\",\"help\":\"FTEST=ACC= | BOUNDS= | EPS= | LABEL= | NSAMP=\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ACC=\",\"type\":\"value\"},{\"name\":\"BOUNDS=\",\"type\":\"value\"},{\"name\":\"EPS=\",\"type\":\"value\"},{\"name\":\"LABEL=\",\"type\":\"value\"},{\"name\":\"NSAMP=\",\"type\":\"value\"}]},{\"name\":\"ILINK\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that the estimate and its standard error are also reported on the scale of the mean (the inverse linked scale).\",\"type\":\"standalone\"},{\"name\":\"LOWER\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"LOWERTAILED\"],\"description\":\"Requests that the p-value for the t test be based only on values less than the test statistic.\",\"type\":\"standalone\"},{\"name\":\"OBSMARGINS\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"OM\"],\"description\":\"Specifies a potentially different weighting scheme for the computation of LS-means coefficients.\",\"type\":\"standalone\"},{\"name\":\"SINGULAR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Tunes the estimability checking as documented for the CONTRAST statement.\",\"help\":\"SINGULAR=*number*\",\"type\":\"value\"},{\"name\":\"STEPDOWN=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that multiplicity adjustments for the p-values of estimates be further adjusted in a step-down fashion. You can specify the following step-down-options in parentheses: MAXTIME=n specifies the time (in seconds) to spend computing the maximal logically consistent sequential subsets of equality hypotheses for TYPE=LOGICAL. The default is MAXTIME=60. ORDER=PVALUE | ORDER=ROWS specifies the order in which the step-down tests are performed. ORDER=PVALUE is the default, with LS-mean estimates being declared significant only if all LS-mean estimates with smaller (unadjusted) p-values are significant. If you specify ORDER=ROWS, then significances are evaluated in the order in which they are specified. REPORT specifies that a report on the step-down adjustment be displayed, including a listing of the sequential subsets (Westfall 1997) and, for ADJUST=SIMULATE, the step-down simulation results.\",\"help\":\"STEPDOWN=MAXTIME= | ORDER= | REPORT | TYPE=\",\"type\":\"choice\",\"arguments\":[{\"name\":\"MAXTIME=\",\"type\":\"value\"},{\"name\":\"ORDER=\",\"type\":\"value\"},{\"name\":\"REPORT\",\"type\":\"standalone\"},{\"name\":\"TYPE=\",\"type\":\"value\"}]},{\"name\":\"UPPER\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"UPPERTAILED\"],\"description\":\"Requests that the p-value for the t test be based only on values greater than the test statistic.\",\"type\":\"standalone\"}]},{\"name\":\"MODEL\",\"description\":\"The MODEL statement is required and names the dependent variable and the fixed effects. The fixed-effects determine the X matrix of the model. The specification of effects is the same as in the GLM or MIXED procedure. In contrast to PROC GLM, you do not specify random effects in the MODEL statement. However, in contrast to PROC GLM and PROC MIXED, continuous variables on the left and right side of the MODEL statement can be computed through PROC GLIMMIX programming statements. Response Variable Options: DESCENDING reverses the order of response categories EVENT='category'|FIRST|LAST specifies the event category in binary models ORDER=DATA|FORMATTED|FREQ|INTERNAL specifies the sort order for the response variable REFERENCE= specifies the reference category in generalized logit models\",\"help\":\"MODEL &lt;DESCENDING&gt;&lt;EVENT=&gt;&lt;ORDER=&gt; ...\",\"arguments\":[{\"name\":\"ALPHA=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that a t-type confidence interval be constructed for each of the fixed-effects parameters with confidence level 1-number. The value of number must be between 0 and 1; the default is 0.05.\",\"help\":\"ALPHA=*number*\",\"type\":\"value\"},{\"name\":\"CHISQ\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that chi-square tests be performed for all specified effects in addition to the F tests.\",\"type\":\"standalone\"},{\"name\":\"CL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that t-type confidence limits be constructed for each of the fixed-effects parameter estimates. The confidence level is 0.95 by default; this can be changed with the ALPHA= option.\",\"type\":\"standalone\"},{\"name\":\"CORRB\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Produces the correlation matrix from the approximate covariance matrix of the fixed-effects parameter estimates.\",\"type\":\"standalone\"},{\"name\":\"COVB\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Produces the approximate variance-covariance matrix of the fixed-effects parameter estimates. The DETAILS suboption of the COVB option enables you to obtain a table of statistics about the covariance matrix of the fixed effects.\",\"help\":\"COVB&lt;(DETAILS)&gt;\",\"type\":\"standaloneOrValue\"},{\"name\":\"COVBI\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Produces the inverse of the approximate covariance matrix of the fixed-effects parameter estimates.\",\"type\":\"standalone\"},{\"name\":\"DDF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"DF=\"],\"description\":\"Enables you to specify your own denominator degrees of freedom for the fixed effects.\",\"type\":\"value\"},{\"name\":\"DDFM=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the method for computing the denominator degrees of freedom for the tests of fixed effects resulting from the MODEL, CONTRAST, ESTIMATE, LSMEANS, and LSMESTIMATE statements.\",\"help\":\"DDFM=BETWITHIN | CONTAIN | KENWARDROGER | KENWARDROGER2 | NONE | RESIDUAL | SATTERTHWAITE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"BETWITHIN\",\"followsDelimiter\":\"/\",\"description\":\"Divides the residual degrees of freedom into between-subject and within-subject portions.\",\"type\":\"standalone\"},{\"name\":\"CONTAIN\",\"followsDelimiter\":\"/\",\"description\":\"Invokes the containment method to compute denominator degrees of freedom, and this method is the default when the model contains G-side random effects.\",\"type\":\"standalone\"},{\"name\":\"KENWARDROGER\",\"followsDelimiter\":\"/\",\"aliases\":[\"KR\",\"KENROGER\"],\"description\":\"Applies the (prediction) standard error and degrees-of-freedom correction detailed by Kenward and Roger (1997). The FIRSTORDER suboption eliminates the second derivatives from the calculation of the covariance matrix adjustment.\",\"type\":\"standalone\"},{\"name\":\"KENWARDROGER2\",\"followsDelimiter\":\"/\",\"description\":\"Applies the (prediction) standard error and degrees-of-freedom correction that are detailed by Kenward and Roger (2009). This correction further reduces the precision estimator bias for the fixed and random effects under nonlinear covariance structures.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"followsDelimiter\":\"/\",\"description\":\"Specifies that no denominator degrees of freedom be applied.\",\"type\":\"standalone\"},{\"name\":\"RESIDUAL\",\"followsDelimiter\":\"/\",\"description\":\"Performs all tests by using the residual degrees of freedom, n-rank(X), where n is the sum of the frequencies used.\",\"type\":\"standalone\"},{\"name\":\"SATTERTHWAITE\",\"followsDelimiter\":\"/\",\"description\":\"Performs a general Satterthwaite approximation for the denominator degrees of freedom in a generalized linear mixed model.\",\"type\":\"standalone\"}]},{\"name\":\"DESCENDING\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"DISTRIBUTION=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"DIST=\",\"D=\",\"ERROR=\",\"E=\"],\"description\":\"Specifies the built-in (conditional) probability distribution of the data.\",\"help\":\"DISTRIBUTION=BETA | BINARY | BINOMIAL | EXPONENTIAL | GAMMA | GAUSSIAN | GEOMETRIC | INVGAUSS | LOGNORMAL | MULTINOMIAL | NEGBINOMIAL | POISSON | TCENTRAL | BYOBS\",\"type\":\"choice\",\"arguments\":[{\"name\":\"BETA\",\"followsDelimiter\":\"/\",\"description\":\"Beta distribution\",\"type\":\"standalone\"},{\"name\":\"BINARY\",\"followsDelimiter\":\"/\",\"description\":\"Binary distribution\",\"type\":\"standalone\"},{\"name\":\"BINOMIAL\",\"followsDelimiter\":\"/\",\"description\":\"Binomial distribution\",\"type\":\"standalone\"},{\"name\":\"EXPONENTIAL\",\"followsDelimiter\":\"/\",\"description\":\"Exponential distribution\",\"type\":\"standalone\"},{\"name\":\"GAMMA\",\"followsDelimiter\":\"/\",\"description\":\"Gamma distribution\",\"type\":\"standalone\"},{\"name\":\"GAUSSIAN\",\"followsDelimiter\":\"/\",\"description\":\"Gaussian/Normal distribution\",\"type\":\"standalone\"},{\"name\":\"GEOMETRIC\",\"followsDelimiter\":\"/\",\"description\":\"Geometric distribution\",\"type\":\"standalone\"},{\"name\":\"INVGAUSS\",\"followsDelimiter\":\"/\",\"description\":\"Inverse Gaussian distribution\",\"type\":\"standalone\"},{\"name\":\"LOGNORMAL\",\"followsDelimiter\":\"/\",\"description\":\"Lognormal distribution\",\"type\":\"standalone\"},{\"name\":\"MULTINOMIAL\",\"followsDelimiter\":\"/\",\"description\":\"Multinomial distribution\",\"type\":\"standalone\"},{\"name\":\"NEGBINOMIAL\",\"followsDelimiter\":\"/\",\"description\":\"Negative binomial distribution\",\"type\":\"standalone\"},{\"name\":\"POISSON\",\"followsDelimiter\":\"/\",\"description\":\"Poisson distribution\",\"type\":\"standalone\"},{\"name\":\"TCENTRAL\",\"followsDelimiter\":\"/\",\"description\":\"t distribution\",\"type\":\"standalone\"},{\"name\":\"BYOBS\",\"followsDelimiter\":\"/\",\"description\":\"The BYOBS(variable) syntax designates a variable whose value identifies the distribution to which an observation belongs.\",\"type\":\"standalone\"}]},{\"name\":\"E\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that Type I, Type II, and Type III L matrix coefficients be displayed for all specified effects.\",\"type\":\"standalone\"},{\"name\":\"E1\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"EI\"],\"description\":\"Requests that Type I L matrix coefficients be displayed for all specified effects.\",\"type\":\"standalone\"},{\"name\":\"E2\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"EII\"],\"description\":\"Requests that Type II L matrix coefficients be displayed for all specified effects.\",\"type\":\"standalone\"},{\"name\":\"E3\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"EIII\"],\"description\":\"Requests that Type III L matrix coefficients be displayed for all specified effects.\",\"type\":\"standalone\"},{\"name\":\"EVENT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"\",\"type\":\"value\"},{\"name\":\"HTYPE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Indicates the type of hypothesis test to perform on the fixed effects.\",\"help\":\"HTYPE=*value-list*\",\"type\":\"value\"},{\"name\":\"INTERCEPT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Adds a row to the tables for Type I, II, and III tests corresponding to the overall intercept.\",\"type\":\"standalone\"},{\"name\":\"LINK=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the link function in the generalized linear mixed model.\",\"help\":\"LINK=CUMCLL | CUMLOGIT | CUMLOGLOG | CUMPROBIT | CLOGLOG | GLOGIT | IDENTITY | LOG | LOGIT | LOGLOG | PROBIT | POWER(number) | POWERMINUS2 | RECIPROCAL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"CUMCLL\",\"followsDelimiter\":\"/\",\"description\":\"Cumulative complementary log-log function\",\"type\":\"standalone\"},{\"name\":\"CUMLOGIT\",\"followsDelimiter\":\"/\",\"description\":\"Cumulative logit function\",\"type\":\"standalone\"},{\"name\":\"CUMLOGLOG\",\"followsDelimiter\":\"/\",\"description\":\"Cumulative log-log function\",\"type\":\"standalone\"},{\"name\":\"CUMPROBIT\",\"followsDelimiter\":\"/\",\"description\":\"Cumulative probit function\",\"type\":\"standalone\"},{\"name\":\"CLOGLOG\",\"followsDelimiter\":\"/\",\"description\":\"Complementary log-log function\",\"type\":\"standalone\"},{\"name\":\"GLOGIT\",\"followsDelimiter\":\"/\",\"description\":\"Generalized logit\",\"type\":\"standalone\"},{\"name\":\"IDENTITY\",\"followsDelimiter\":\"/\",\"description\":\"Identity function\",\"type\":\"standalone\"},{\"name\":\"LOG\",\"followsDelimiter\":\"/\",\"description\":\"Log function\",\"type\":\"standalone\"},{\"name\":\"LOGIT\",\"followsDelimiter\":\"/\",\"description\":\"Logit function\",\"type\":\"standalone\"},{\"name\":\"LOGLOG\",\"followsDelimiter\":\"/\",\"description\":\"Log-log function\",\"type\":\"standalone\"},{\"name\":\"PROBIT\",\"followsDelimiter\":\"/\",\"description\":\"Probit function\",\"type\":\"standalone\"},{\"name\":\"POWER\",\"followsDelimiter\":\"/\",\"description\":\"Power with λ=number function\",\"help\":\"POWER(number)\",\"type\":\"standalone\"},{\"name\":\"POWERMINUS2\",\"followsDelimiter\":\"/\",\"description\":\"Power with exponent -2\",\"type\":\"standalone\"},{\"name\":\"RECIPROCAL\",\"followsDelimiter\":\"/\",\"description\":\"Reciprocal\",\"type\":\"standalone\"}]},{\"name\":\"LWEIGHT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Determines how weights are used in constructing the coefficients for Type I through Type III L matrices.\",\"help\":\"LWEIGHT=FIRSTORDER | NONE | VAR\",\"type\":\"choice\",\"arguments\":[{\"name\":\"FIRSTORDER\",\"followsDelimiter\":\"/\",\"aliases\":[\"FIRO\"],\"description\":\"The weights incorporate the WEIGHT variable as well as the first-order weights of the linearized model.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"followsDelimiter\":\"/\",\"description\":\"The L matrix coefficients are based on the raw crossproduct matrix, whether a WEIGHT variable is specified or not.\",\"type\":\"standalone\"},{\"name\":\"VAR\",\"followsDelimiter\":\"/\",\"description\":\"Values of the WEIGHT variable are used in forming crossproduct matrices. This is the default.\",\"type\":\"standalone\"}]},{\"name\":\"NOCENTER\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that the columns of the X matrix are not centered and scaled.\",\"type\":\"standalone\"},{\"name\":\"NOINT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that no intercept be included in the fixed-effects model. An intercept is included by default.\",\"type\":\"standalone\"},{\"name\":\"OBSWEIGHT\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"OBSWT\"],\"description\":\"Specifies a variable to be used as the weight for the observation-level unit in a weighted multilevel model. If a weight variable is not specified in the OBSWEIGHT option, a weight of 1 is used.\",\"type\":\"standalone\"},{\"name\":\"ODDSRATIO=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"OR\"],\"description\":\"You can specify the following odds-ratio-options to create customized odds ratio results. AT var-list=value-list specifies the reference values for continuous variables in the model. DIFF<=difftype> controls the type of differences for classification main effects. LABEL displays a label in the \\\"Odds Ratio Estimates\\\" table. The table describes the comparison associated with the table row.\",\"help\":\"ODDSRATIO=AT | DIFF | LABEL | UNIT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"AT\",\"type\":\"standalone\"},{\"name\":\"DIFF\",\"type\":\"standalone\"},{\"name\":\"LABEL\",\"type\":\"standalone\"},{\"name\":\"UNIT\",\"type\":\"standalone\"}]},{\"name\":\"OFFSET=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies a variable to be used as an offset for the linear predictor.\",\"help\":\"OFFSET=*variable*\",\"type\":\"value\"},{\"name\":\"ORDER=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"\",\"type\":\"value\"},{\"name\":\"REFERENCE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"\",\"type\":\"value\"},{\"name\":\"REFLINP=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies a value for the linear predictor of the reference level in the generalized logit model for nominal data. By default r=0.\",\"help\":\"REFLINP=*r*\",\"type\":\"value\"},{\"name\":\"SOLUTION\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"S\"],\"description\":\"Requests that a solution for the fixed-effects parameters be produced.\",\"type\":\"standalone\"},{\"name\":\"STDCOEF\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Reports solutions for fixed effects in terms of the standardized (scaled and/or centered) coefficients.\",\"type\":\"standalone\"},{\"name\":\"ZETA=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Tunes the sensitivity in forming Type III functions. Any element in the estimable function basis with an absolute value less than number is set to 0. The default is 1E-8.\",\"help\":\"ZETA=*number*\",\"type\":\"value\"}]},{\"name\":\"NLOPTIONS\",\"description\":\"Most models fit with the GLIMMIX procedure typically have one or more nonlinear parameters. Estimation requires nonlinear optimization methods. You can control the optimization through options in the NLOPTIONS statement.\",\"help\":\"NLOPTIONS &lt;ABSCONV= | ABSTOL=r&gt;&lt;ABSFCONV=r &lt;n&gt; | ABSFTOL=r&lt;n&gt;&gt;&lt;ABSGCONV= | ABSGTOL=r &lt;n&gt;&gt; ...\",\"arguments\":[{\"name\":\"ABSCONV=\",\"optional\":true,\"aliases\":[\"ABSTOL=\"],\"description\":\"Specifies an absolute function convergence criterion.\",\"type\":\"value\"},{\"name\":\"ABSFCONV=\",\"optional\":true,\"aliases\":[\"ABSFTOL=\"],\"description\":\"Specifies an absolute function difference convergence criterion.\",\"type\":\"value\"},{\"name\":\"ABSGCONV=\",\"optional\":true,\"aliases\":[\"ABSGTOL=\"],\"description\":\"Specifies an absolute gradient convergence criterion.\",\"type\":\"value\"},{\"name\":\"ABSXCONV=\",\"optional\":true,\"aliases\":[\"ABSXTOL=\"],\"description\":\"Specifies the absolute parameter convergence criterion.\",\"type\":\"value\"},{\"name\":\"ASINGULAR=\",\"optional\":true,\"aliases\":[\"ASING=\"],\"description\":\"Specifies an absolute singularity criterion r, r > 0, for the inversion of the information matrix, which is needed to compute the covariance matrix.\",\"type\":\"value\"},{\"name\":\"DAMPSTEP\",\"optional\":true,\"aliases\":[\"DS\"],\"description\":\"Specifies that the initial step-size value aⁿ (where n=0) for each line search (used by the QUANEW, CONGRA, or NEWRAP technique) cannot be larger than r times the step-size value used in the former iteration.\",\"type\":\"standalone\"},{\"name\":\"FCONV2=\",\"optional\":true,\"aliases\":[\"FTOL2=\"],\"description\":\"Specifies a second function convergence criterion.\",\"type\":\"value\"},{\"name\":\"FCONV=\",\"optional\":true,\"aliases\":[\"FTOL=\"],\"description\":\"Specifies the relative function convergence criterion.\",\"type\":\"value\"},{\"name\":\"FSIZE=\",\"optional\":true,\"description\":\"Specifies the FSIZE parameter of the relative function and relative gradient termination criteria. The default value is r=0.\",\"help\":\"FSIZE=*r*\",\"type\":\"value\"},{\"name\":\"GCONV2=\",\"optional\":true,\"aliases\":[\"GTOL2=\"],\"description\":\"Specifies another relative gradient convergence criterion.\",\"type\":\"value\"},{\"name\":\"GCONV=\",\"optional\":true,\"aliases\":[\"GTOL=\"],\"description\":\"Specifies the relative gradient convergence criterion.\",\"type\":\"value\"},{\"name\":\"HESCAL=\",\"optional\":true,\"aliases\":[\"HS=\"],\"description\":\"Specifies the scaling version of the Hessian or crossproduct Jacobian matrix used in NRRIDG, TRUREG, LEVMAR, NEWRAP, or DBLDOG optimization.\",\"help\":\"HESCAL=0 | 1 | 2 | 3\",\"type\":\"choice\",\"arguments\":[{\"name\":\"0\",\"description\":\"Specifies that no scaling is done.\",\"type\":\"standalone\"},{\"name\":\"1\",\"description\":\"Specifies the Moré (1978) scaling update\",\"type\":\"standalone\"},{\"name\":\"2\",\"description\":\"Specifies the Dennis, Gay, and Welsch (1981) scaling update\",\"type\":\"standalone\"},{\"name\":\"3\",\"description\":\"Specifies that di is reset in each iteration\",\"type\":\"standalone\"}]},{\"name\":\"INHESSIAN\",\"optional\":true,\"aliases\":[\"INHESS\"],\"description\":\"Specifies how the initial estimate of the approximate Hessian is defined for the quasi-Newton techniques QUANEW and DBLDOG.\",\"type\":\"standalone\"},{\"name\":\"INSTEP=\",\"optional\":true,\"aliases\":[\"SALPHA=\",\"RADIUS=\"],\"description\":\"Reduces the length of the first trial step during the line search of the first iterations.\",\"help\":\"INSTEP=*r*\",\"type\":\"value\"},{\"name\":\"LCDEACT=\",\"optional\":true,\"aliases\":[\"LCD=\"],\"description\":\"Specifies a threshold r for the Lagrange multiplier that decides whether an active inequality constraint remains active or can be deactivated.\",\"type\":\"value\"},{\"name\":\"LCEPSILON=\",\"optional\":true,\"aliases\":[\"LCEPS=\",\"LCE=\"],\"description\":\"Specifies the range r, r ≥ 0, for active and violated boundary and linear constraints.\",\"type\":\"value\"},{\"name\":\"LCSINGULAR=\",\"optional\":true,\"aliases\":[\"LCSING=\",\"LCS=\"],\"description\":\"Specifies a criterion r, r ≥ 0, used in the update of the QR decomposition that decides whether an active constraint is linearly dependent on a set of other active constraints.\",\"type\":\"value\"},{\"name\":\"LINESEARCH=\",\"optional\":true,\"aliases\":[\"LIS=\",\"SMETHOD=\",\"SM=\"],\"description\":\"Specifies the line-search method for the CONGRA, QUANEW, and NEWRAP optimization techniques.\",\"help\":\"LINESEARCH=1 | 2 | 3 | 4 | 5 | 6 | 7 | 8\",\"type\":\"choice\",\"arguments\":[{\"name\":\"1\",\"description\":\"Specifies a line-search method that needs the same number of function and gradient calls for cubic interpolation and cubic extrapolation; this method is similar to one used by the Harwell subroutine library.\",\"type\":\"standalone\"},{\"name\":\"2\",\"description\":\"Specifies a line-search method that needs more function calls than gradient calls for quadratic and cubic interpolation and cubic extrapolation; this method is implemented as shown in Fletcher (1987) and can be modified to an exact line search by using the LSPRECISION= option.\",\"type\":\"standalone\"},{\"name\":\"3\",\"description\":\"Specifies a line-search method that needs the same number of function and gradient calls for cubic interpolation and cubic extrapolation; this method is implemented as shown in Fletcher (1987) and can be modified to an exact line search by using the LSPRECISION= option.\",\"type\":\"standalone\"},{\"name\":\"4\",\"description\":\"Specifies a line-search method that needs the same number of function and gradient calls for stepwise extrapolation and cubic interpolation\",\"type\":\"standalone\"},{\"name\":\"5\",\"description\":\"Specifies a line-search method that is a modified version of LIS=4.\",\"type\":\"standalone\"},{\"name\":\"6\",\"description\":\"Specifies golden section line search (Polak 1971), which uses only function values for linear approximation.\",\"type\":\"standalone\"},{\"name\":\"7\",\"description\":\"Specifies bisection line search (Polak 1971), which uses only function values for linear approximation.\",\"type\":\"standalone\"},{\"name\":\"8\",\"description\":\"Specifies Armijo line-search technique (Polak 1971), which uses only function values for linear approximation.\",\"type\":\"standalone\"}]},{\"name\":\"LSPRECISION=\",\"optional\":true,\"aliases\":[\"LSP=\"],\"description\":\"Specifies the degree of accuracy that should be obtained by the line-search algorithms LIS=2 and LIS=3. The default LSPRECISION= values are:\",\"type\":\"value\"},{\"name\":\"MAXFUNC=\",\"optional\":true,\"aliases\":[\"MAXFU=\"],\"description\":\"Requires the number of function calls to be no larger than i. The default values are:\",\"type\":\"value\"},{\"name\":\"MAXITER=\",\"optional\":true,\"aliases\":[\"MAXIT=\"],\"description\":\"Requires the number of iterations to be no larger than i. The default values are: o For TECH= LEVMAR, NEWRAP, NRRIDG, TRUREG: i=50 o For TECH= DBLDOG, QUANEW: i=200 o For TECH= CONGRA: i=400\",\"type\":\"value\"},{\"name\":\"MAXSTEP=\",\"optional\":true,\"description\":\"Specifies an upper bound for the step length of the line-search algorithms during the first n iterations.\",\"type\":\"value\"},{\"name\":\"MAXTIME=\",\"optional\":true,\"description\":\"Requires the CPU time to be no larger than r. The default value of the MAXTIME= option is the largest double floating-point number on your computer.\",\"help\":\"MAXTIME=*r*\",\"type\":\"value\"},{\"name\":\"MINITER=\",\"optional\":true,\"aliases\":[\"MINIT=\"],\"description\":\"Specifies the minimum number of iterations. The default value is 0.\",\"type\":\"value\"},{\"name\":\"MSINGULAR=\",\"optional\":true,\"aliases\":[\"MSING=\"],\"description\":\"Specifies a relative singularity criterion r, r > 0, for the inversion of the information matrix, which is needed to compute the covariance matrix.\",\"type\":\"value\"},{\"name\":\"NOPRINT\",\"optional\":true,\"description\":\"Suppresses output related to optimization such as the iteration history.\",\"type\":\"standalone\"},{\"name\":\"PALL\",\"optional\":true,\"description\":\"[Displays information about the starting values and final values of the optimization process.\",\"type\":\"standalone\"},{\"name\":\"PHISTORY\",\"optional\":true,\"aliases\":[\"PHIST\"],\"description\":\"Displays the optimization history. The PHISTORY option is set automatically if the PALL or PRINT option is set.\",\"type\":\"standalone\"},{\"name\":\"RESTART=\",\"optional\":true,\"aliases\":[\"REST=\"],\"description\":\"Specifies that the QUANEW or CONGRA algorithm is restarted with a steepest descent/ascent search direction after at most i iterations, i > 0.\",\"type\":\"value\"},{\"name\":\"SINGULAR=\",\"optional\":true,\"aliases\":[\"SING=\"],\"description\":\"Specifies the singularity criterion r, 0 < r < 1, used, for example, for matrix inversion.\",\"type\":\"value\"},{\"name\":\"SOCKET=\",\"optional\":true,\"description\":\"Specifies the fileref that contains the information needed for remote monitoring.\",\"help\":\"SOCKET=*fileref*\",\"type\":\"value\"},{\"name\":\"TECHNIQUE=\",\"optional\":true,\"aliases\":[\"TECH=\",\"OMETHOD=\",\"OM=\"],\"description\":\"Specifies the optimization technique.\",\"help\":\"TECHNIQUE=CONGRA | DBLDOG | LEVMAR | NEWRAP | NRRIDG | QUANEW | TRUREG | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"CONGRA\",\"description\":\"Chooses one of four different conjugate-gradient optimization algorithms, which can be more precisely defined with the UPDATE= option and modified with the LINESEARCH= option.\",\"type\":\"standalone\"},{\"name\":\"DBLDOG\",\"description\":\"Performs a version of double-dogleg optimization, which uses the gradient to update an approximation of the Cholesky factor of the Hessian.\",\"type\":\"standalone\"},{\"name\":\"LEVMAR\",\"description\":\"Performs a highly stable but, for large problems, memory- and time-consuming Levenberg-Marquardt optimization technique, a slightly improved variant of the Moré (1978) implementation. This is the default optimization technique if there are fewer than 40 parameters to estimate.\",\"type\":\"standalone\"},{\"name\":\"NEWRAP\",\"description\":\"Performs a usually stable but, for large problems, memory- and time-consuming Newton-Raphson optimization technique. The algorithm combines a line-search algorithm with ridging, and it can be modified with the LINESEARCH= option.\",\"type\":\"standalone\"},{\"name\":\"NRRIDG\",\"description\":\"Performs a usually stable but, for large problems, memory- and time-consuming Newton-Raphson optimization technique. This algorithm does not perform a line search.\",\"type\":\"standalone\"},{\"name\":\"QUANEW\",\"description\":\"Chooses one of four different quasi-Newton optimization algorithms that can be more precisely defined with the UPDATE= option and modified with the LINESEARCH= option.\",\"type\":\"standalone\"},{\"name\":\"TRUREG\",\"description\":\"Performs a usually very stable but, for large problems, memory- and time-consuming trust-region optimization technique. The algorithm is implemented similar to Gay (1983) and Moré and Sorensen (1983).\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"Does not perform any optimization. This option is similar to METHOD=NONE, but TECH=NONE also computes and displays residuals and goodness of fit statistics.\",\"type\":\"standalone\"}]},{\"name\":\"UPDATE=\",\"optional\":true,\"aliases\":[\"UPD=\"],\"description\":\"Specifies the update method for the quasi-Newton, double-dogleg, or conjugate-gradient optimization technique.\",\"help\":\"UPDATE=BFGS | DBFGS | DDFP | DFP | PB | FR | PR | CD\",\"type\":\"choice\",\"arguments\":[{\"name\":\"BFGS\",\"description\":\"Performs the original Broyden, Fletcher, Goldfarb, and Shanno (BFGS) update of the inverse Hessian matrix.\",\"type\":\"standalone\"},{\"name\":\"DBFGS\",\"description\":\"Performs the dual BFGS update of the Cholesky factor of the Hessian matrix. This is the default update method.\",\"type\":\"standalone\"},{\"name\":\"DDFP\",\"description\":\"Performs the dual Davidon, Fletcher, and Powell (DFP) update of the Cholesky factor of the Hessian matrix.\",\"type\":\"standalone\"},{\"name\":\"DFP\",\"description\":\"Performs the original DFP update of the inverse Hessian matrix.\",\"type\":\"standalone\"},{\"name\":\"PB\",\"description\":\"Performs the automatic restart update method of Powell (1977) and Beale (1972).\",\"type\":\"standalone\"},{\"name\":\"FR\",\"description\":\"Performs the Fletcher-Reeves update (Fletcher 1987).\",\"type\":\"standalone\"},{\"name\":\"PR\",\"description\":\"Performs the Polak-Ribiere update (Fletcher 1987).\",\"type\":\"standalone\"},{\"name\":\"CD\",\"description\":\"Performs a conjugate-descent update of Fletcher (1987).\",\"type\":\"standalone\"}]},{\"name\":\"VERSION=\",\"optional\":true,\"aliases\":[\"VS=\"],\"description\":\"Specifies the version of the quasi-Newton optimization technique with nonlinear constraints.\",\"help\":\"VERSION=1 | 2\",\"type\":\"choice\",\"arguments\":[{\"name\":\"1\",\"description\":\"Specifies the update of the U vector as in Powell (1978a, 1978b) (update like VF02AD).\",\"type\":\"standalone\"},{\"name\":\"2\",\"description\":\"Specifies the update of the U vector as in Powell (1982a, 1982b) (update like VMCWD).\",\"type\":\"standalone\"}]},{\"name\":\"VSINGULAR=\",\"optional\":true,\"aliases\":[\"VSING=\"],\"description\":\"Specifies a relative singularity criterion r, r > 0, for the inversion of the information matrix, which is needed to compute the covariance matrix.\",\"type\":\"value\"},{\"name\":\"XCONV=\",\"optional\":true,\"aliases\":[\"XTOL=\"],\"description\":\"Specifies the relative parameter convergence criterion. Termination requires a small relative parameter change in subsequent iterations.\",\"type\":\"value\"},{\"name\":\"XSIZE=\",\"optional\":true,\"description\":\"Specifies the XSIZE parameter of the relative function and relative gradient termination criteria. The default value is r=0.\",\"help\":\"XSIZE=*r*\",\"type\":\"value\"}]},{\"name\":\"OTHERWISE\",\"description\":\">\",\"help\":\"\"},{\"name\":\"OUTPUT\",\"description\":\"where: keyword<(keyword-options)> <=name> specifies a statistic to include in the output data set and optionally assigns the variable the name, name. You can use the keyword-options to control which type of a particular statistic to compute. The keyword-options can take on the following values: BLUP uses the predictors of the random effects in computing the statistic. ILINK computes the statistic on the scale of the data. NOBLUP does not use the predictors of the random effects in computing the statistic. NOILINK computes the statistic on the scale of the link function. The default is to compute statistics by using BLUPs on the scale of the link function (the linearized scale).\",\"help\":\"OUTPUT OUT=SAS-data-set PREDICTED STDERR ...\",\"arguments\":[{\"name\":\"LCL=\",\"description\":\"Outputs the following statistic: LCL<=name> Lower prediction limit for linear predictor; default variable name: \\\"LCL\\\" LCL(NOBLUP)<=name> Lower confidence limit for marginal linear predictor; default variable name: \\\"LCLPA\\\" LCL(ILINK)<=name> Lower prediction limit for mean; default variable name: \\\"LCLMu\\\"\",\"help\":\"LCL=BLUP | NOBLUP | ILINK | NOILINK\",\"type\":\"choice\",\"arguments\":[{\"name\":\"BLUP\",\"type\":\"standalone\"},{\"name\":\"NOBLUP\",\"type\":\"standalone\"},{\"name\":\"ILINK\",\"type\":\"standalone\"},{\"name\":\"NOILINK\",\"type\":\"standalone\"}]},{\"name\":\"OUT=\",\"description\":\"Specifies the name of the output data set.\",\"help\":\"OUT=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"PEARSON=\",\"description\":\"Outputs the following statistic: PEARSON<=name> Pearson-type residual; default variable name: \\\"Pearson\\\" PEARSON(NOBLUP)<=name> Marginal Pearson-type residual; default variable name: \\\"PearsonPA\\\"\",\"help\":\"PEARSON=NOBLUP | ILINK\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NOBLUP\",\"type\":\"standalone\"},{\"name\":\"ILINK\",\"type\":\"standalone\"}]},{\"name\":\"PREDICTED=\",\"aliases\":[\"PRED\"],\"description\":\"Outputs the following statistic: PREDICTED<=name> Linear predictor; default variable name: \\\"Pred\\\" PREDICTED(NOBLUP)<=name> Marginal linear predictor; default variable name: \\\"PredPA\\\" PREDICTED(ILINK)<=name> Predicted mean; default variable name: \\\"PredMu\\\"\",\"help\":\"PREDICTED=BLUP | NOBLUP | ILINK | NOILINK\",\"type\":\"choice\",\"arguments\":[{\"name\":\"BLUP\",\"type\":\"standalone\"},{\"name\":\"NOBLUP\",\"type\":\"standalone\"},{\"name\":\"ILINK\",\"type\":\"standalone\"},{\"name\":\"NOILINK\",\"type\":\"standalone\"}]},{\"name\":\"RESIDUAL=\",\"aliases\":[\"RESID\"],\"description\":\"Outputs the following statistic: RESIDUAL<=name> Residual; default variable name: \\\"Resid\\\" RESIDUAL(NOBLUP)<=name> Marginal residual; default variable name: \\\"ResidPA\\\" RESIDUAL(ILINK)<=name> Residual on mean scale; default variable name: \\\"ResidMu\\\"\",\"help\":\"RESIDUAL=BLUP | NOBLUP | ILINK | NOILINK\",\"type\":\"choice\",\"arguments\":[{\"name\":\"BLUP\",\"type\":\"standalone\"},{\"name\":\"NOBLUP\",\"type\":\"standalone\"},{\"name\":\"ILINK\",\"type\":\"standalone\"},{\"name\":\"NOILINK\",\"type\":\"standalone\"}]},{\"name\":\"STDERR=\",\"aliases\":[\"STD\"],\"description\":\"Outputs the following statistic: STDERR<=name> Standard deviation of linear predictor; default variable name: \\\"StdErr\\\" STDERR(NOBLUP)<=name> Standard deviation of marginal linear predictor; default variable name: \\\"StdErrPA\\\" STDERR(ILINK)<=name> Standard deviation of mean; default variable name: \\\"StdErr\\\"\",\"help\":\"STDERR=BLUP | NOBLUP | ILINK | NOILINK\",\"type\":\"choice\",\"arguments\":[{\"name\":\"BLUP\",\"type\":\"standalone\"},{\"name\":\"NOBLUP\",\"type\":\"standalone\"},{\"name\":\"ILINK\",\"type\":\"standalone\"},{\"name\":\"NOILINK\",\"type\":\"standalone\"}]},{\"name\":\"STUDENT=\",\"description\":\"Outputs the following statistic: STUDENT<=name> Studentized residual; default variable name: \\\"Student\\\"\",\"help\":\"STUDENT=NOBLUP\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NOBLUP\",\"type\":\"standalone\"}]},{\"name\":\"UCL=\",\"description\":\"Outputs the following statistic: UCL<=name> Upper prediction limit for linear predictor; default variable name: \\\"UCL\\\" UCL(NOBLUP)<=name> Upper confidence limit for marginal linear predictor; default variable name: \\\"UCLPA\\\" UCL(ILINK)<=name> Upper prediction limit for mean; default variable name: \\\"UCLMu\\\"\",\"help\":\"UCL=BLUP | NOBLUP | ILINK | NOILINK\",\"type\":\"choice\",\"arguments\":[{\"name\":\"BLUP\",\"type\":\"standalone\"},{\"name\":\"NOBLUP\",\"type\":\"standalone\"},{\"name\":\"ILINK\",\"type\":\"standalone\"},{\"name\":\"NOILINK\",\"type\":\"standalone\"}]},{\"name\":\"VARIANCE=\",\"aliases\":[\"VAR\"],\"description\":\"Outputs the following statistic: VARIANCE<=name> Conditional variance of pseudo-data; default variable name: \\\"Variance\\\" VARIANCE(NOBLUP)<=name> Marginal variance of pseudo-data; default variable name: \\\"VariancePA\\\" VARIANCE(ILINK)<=name> Conditional variance of response; default variable name: \\\"Variance_Dep\\\"\",\"help\":\"VARIANCE=BLUP | NOBLUP | ILINK | NOILINK\",\"type\":\"choice\",\"arguments\":[{\"name\":\"BLUP\",\"type\":\"standalone\"},{\"name\":\"NOBLUP\",\"type\":\"standalone\"},{\"name\":\"ILINK\",\"type\":\"standalone\"},{\"name\":\"NOILINK\",\"type\":\"standalone\"}]},{\"name\":\"ALLSTATS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that all statistics are computed.\",\"type\":\"standalone\"},{\"name\":\"ALPHA=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Determines the coverage probability for two-sided confidence and prediction intervals. The coverage probability is computed as 1-number. The value of number must be between 0 and 1; the default is 0.05.\",\"help\":\"ALPHA=*number*\",\"type\":\"value\"},{\"name\":\"CPSEUDO\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Changes the way in which marginal residuals are computed when model parameters are estimated by pseudo-likelihood methods.\",\"type\":\"standalone\"},{\"name\":\"DERIVATIVES\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"DER\"],\"description\":\"Adds derivatives of model quantities to the output data set.\",\"type\":\"standalone\"},{\"name\":\"NOMISS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that records be written to the output data only for those observations that were used in the analysis.\",\"type\":\"standalone\"},{\"name\":\"NOUNIQUE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that names not be made unique in the case of naming conflicts.\",\"type\":\"standalone\"},{\"name\":\"NOVAR\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that variables from the input data set not be added to the output data set.\",\"type\":\"standalone\"},{\"name\":\"OBSCAT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that in models for multinomial data statistics be written to the output data set only for the response level that corresponds to the observed level of the observation.\",\"type\":\"standalone\"},{\"name\":\"SYMBOLS\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"SYM\"],\"description\":\"Adds to the output data set computed variables that are defined or referenced in the program.\",\"type\":\"standalone\"}]},{\"name\":\"PARMS\",\"description\":\"The PARMS statement specifies initial values for the covariance or scale parameters, or it requests a grid search over several values of these parameters in generalized linear mixed models.\",\"help\":\"PARMS &lt;HOLD=value-list&gt;&lt;LOWERB=value-list&gt;&lt;NOBOUND&gt; ...\",\"arguments\":[{\"name\":\"HOLD=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies which parameter values PROC GLIMMIX should hold equal to the specified values.\",\"help\":\"HOLD=*value-list*\",\"type\":\"value\"},{\"name\":\"LOWERB=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Enables you to specify lower boundary constraints for the covariance or scale parameters.\",\"help\":\"LOWERB=*value-list*\",\"type\":\"value\"},{\"name\":\"NOBOUND\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests the removal of boundary constraints on covariance and scale parameters in mixed models.\",\"type\":\"standalone\"},{\"name\":\"NOITER\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that no optimization of the covariance parameters be performed.\",\"type\":\"standalone\"},{\"name\":\"PARMSDATA=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"PDATA=\"],\"description\":\"Reads in covariance parameter values from a SAS data set.\",\"help\":\"PARMSDATA=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"UPPERB=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Enables you to specify upper boundary constraints on the covariance parameters. The value-list specification is a list of numbers or missing values (.) separated by commas.\",\"help\":\"UPPERB=*value-list*\",\"type\":\"value\"}]},{\"name\":\"PUT\",\"description\":\"The PUT statement writes text data to the current output file.\",\"help\":\"PUT &lt;_PAGE_&gt;\",\"arguments\":[{\"name\":\"_PAGE_\",\"optional\":true,\"description\":\"Outputs any pending line data and moves to the top of the next page.\",\"type\":\"standalone\"}]},{\"name\":\"RANDOM\",\"description\":\"the RANDOM statement defines the Z matrix of the mixed model, the random effects in the Gamma vector, the structure of G, and the structure of R.\",\"help\":\"RANDOM &lt;ALPHA=number&gt;&lt;CL&gt;&lt;G&gt; ...\",\"arguments\":[{\"name\":\"ALPHA=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that a t-type confidence interval with confidence level 1-number be constructed for the predictors of G-side random effects in this statement. The value of number must be between 0 and 1; the default is 0.05\",\"help\":\"ALPHA=*number*\",\"type\":\"value\"},{\"name\":\"CL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that t-type confidence limits be constructed for each of the predictors of random effects in this statement.\",\"type\":\"standalone\"},{\"name\":\"G\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that the estimated G matrix be displayed for G-side random effects associated with this RANDOM statement. PROC GLIMMIX displays blanks for values that are 0.\",\"type\":\"standalone\"},{\"name\":\"GC\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays the lower-triangular Cholesky root of the estimated G matrix for G-side random effects.\",\"type\":\"standalone\"},{\"name\":\"GCI\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays the inverse Cholesky root of the estimated G matrix for G-side random effects.\",\"type\":\"standalone\"},{\"name\":\"GCOORD=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Determines how the GLIMMIX procedure associates coordinates for TYPE=SP() covariance structures with effect levels for G-side random effects.\",\"help\":\"GCOORD=LAST | FIRST | MEAN\",\"type\":\"choice\",\"arguments\":[{\"name\":\"LAST\",\"followsDelimiter\":\"/\",\"description\":\"Determines the coordinates for a level of the random effect from the last observation associated with the level.\",\"type\":\"standalone\"},{\"name\":\"FIRST\",\"followsDelimiter\":\"/\",\"description\":\"Determines the coordinate from the first observation.\",\"type\":\"standalone\"},{\"name\":\"MEAN\",\"followsDelimiter\":\"/\",\"description\":\"Determines the coordinate from the average of the observations.\",\"type\":\"standalone\"}]},{\"name\":\"GCORR\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays the correlation matrix that corresponds to the estimated G matrix for G-side random effects.\",\"type\":\"standalone\"},{\"name\":\"GI\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays the inverse of the estimated G matrix for G-side random effects.\",\"type\":\"standalone\"},{\"name\":\"GROUP=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"GRP=\"],\"description\":\"Identifies groups by which to vary the covariance parameters.\",\"help\":\"GROUP=*effect*\",\"type\":\"value\"},{\"name\":\"KNOTINFO\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays the number and coordinates of the knots as determined by the KNOTMETHOD= option.\",\"type\":\"standalone\"},{\"name\":\"KNOTMAX=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Provides upper limits for the values of random effects used in the construction of knots for TYPE=RSMOOTH.\",\"help\":\"KNOTMAX=*number-list*\",\"type\":\"value\"},{\"name\":\"KNOTMETHOD=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Determines the method for constructing knots for the radial smoother fit with the TYPE=RSMOOTH covariance structure and the TYPE=PSPLINE covariance structure.\",\"help\":\"KNOTMETHOD=KDTREE | EQUAL | DATA\",\"type\":\"choice\",\"arguments\":[{\"name\":\"KDTREE\",\"followsDelimiter\":\"/\",\"description\":\"Syntax: KNOTMETHOD=KDTREE<(tree-options)> where tree-options can take the following values: BUCKET=number determines the bucket size b. A larger bucket size will result in fewer knots. KNOTTYPE=type specifies whether the knots are based on vertices of the tree cells or the centroid. NEAREST specifies that knot coordinates are the coordinates of the nearest neighbor of either the centroid or vertex of the cell, as determined by the KNOTTYPE= suboption. TREEINFO displays details about the construction of the k-d tree, such as the cell splits and the split values.\",\"type\":\"standalone\"},{\"name\":\"EQUAL\",\"followsDelimiter\":\"/\",\"description\":\"Syntax: KNOTMETHOD=EQUAL<(number-list)> This option enables you to define a regular grid of knots. By default, PROC GLIMMIX constructs 10 knots for one-dimensional smooths and 5 knots in each dimension for smoothing in higher dimensions.\",\"type\":\"standalone\"},{\"name\":\"DATA\",\"followsDelimiter\":\"/\",\"description\":\"Syntax: KNOTMETHOD=DATA(SAS-data-set) You can specify a data set that contains variables whose values give the knot coordinates with the KNOTMETHOD=DATA option. The data set must contain numeric variables with the same name as the radial smoothing random-effects. PROC GLIMMIX uses only the unique knot coordinates in the knot data set. This option is useful to provide knot coordinates different from those that can be produced from a k-d tree.\",\"type\":\"standalone\"}]},{\"name\":\"KNOTMIN=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Provides lower limits for the values of random effects used in the construction of knots for TYPE=RSMOOTH.\",\"help\":\"KNOTMIN=*number-list*\",\"type\":\"value\"},{\"name\":\"LDATA=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Reads the coefficient matrices A1, ..., Aq for the TYPE=LIN(q) option.\",\"help\":\"LDATA=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"NOFULLZ\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Eliminates the columns in Z corresponding to missing levels of random effects involving CLASS variables. By default, these columns are included in Z. It is sufficient to specify the NOFULLZ option in any RANDOM statement.\",\"type\":\"standalone\"},{\"name\":\"RESIDUAL\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"RSIDE\"],\"description\":\"Specifies that the random effects listed in this statement be R-side effects.\",\"type\":\"standalone\"},{\"name\":\"SOLUTION\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that the solution for the random-effects parameters be produced.\",\"type\":\"standalone\"},{\"name\":\"SUBJECT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"SUB=\"],\"description\":\"Identifies the subjects in your mixed model. Complete independence is assumed across subjects; thus, for the RANDOM statement, the SUBJECT= option produces a block-diagonal structure in G with identical blocks.\",\"type\":\"value\"},{\"name\":\"TYPE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the covariance structure of G for G-side effects and the covariance structure of R for R-side effects.\",\"help\":\"TYPE=ANTE(1) | AR(1) | ARH(1) | ARMA(1,1) | CHOL&lt;(q)&gt; | CS | CSH | FA(q) | FA0(q) | HF | LIN(q) | PSPLINE | RSMOOTH | SIMPLE | SP(EXP)(c-list) | SP(GAU)(c-list) | SP(MAT)(c-list) | SP(POW)(c-list) | SP(POWA)(c-list) | SP(SPH)(c-list) | TOEP | TOEP(q) | TOEPH&lt;(q)&gt; | UN&lt;(q)&gt; | UNR&lt;(q)&gt; | VC*covariance-structure*\",\"type\":\"value\",\"arguments\":[{\"name\":\"ANTE(1)\",\"followsDelimiter\":\"/\",\"description\":\"Specifies a first-order ante-dependence structure (Kenward 1987; Patel 1991) parameterized in terms of variances and correlation parameters.\",\"type\":\"standalone\"},{\"name\":\"AR(1)\",\"followsDelimiter\":\"/\",\"description\":\"Specifies a first-order autoregressive structure.\",\"type\":\"standalone\"},{\"name\":\"ARH(1)\",\"followsDelimiter\":\"/\",\"description\":\"Specifies a heterogeneous first-order autoregressive structure.\",\"type\":\"standalone\"},{\"name\":\"ARMA(1,1)\",\"followsDelimiter\":\"/\",\"description\":\"Specifies the first-order autoregressive moving-average structure\",\"type\":\"standalone\"},{\"name\":\"CHOL&lt;(q)&gt;\",\"followsDelimiter\":\"/\",\"description\":\"Specifies an unstructured variance-covariance matrix parameterized through its Cholesky root.\",\"help\":\"CHOL&lt;(q)&gt;\",\"type\":\"standalone\"},{\"name\":\"CS\",\"followsDelimiter\":\"/\",\"description\":\"Specifies the compound-symmetry structure, which has constant variance and constant covariance.\",\"type\":\"standalone\"},{\"name\":\"CSH\",\"followsDelimiter\":\"/\",\"description\":\"Specifies the heterogeneous compound-symmetry structure, which is an equi-correlation structure but allows for different variances.\",\"type\":\"standalone\"},{\"name\":\"FA(q)\",\"followsDelimiter\":\"/\",\"description\":\"Specifies the factor-analytic structure with q factors (Jennrich and Schluchter 1986).\",\"type\":\"standalone\"},{\"name\":\"FA0(q)\",\"followsDelimiter\":\"/\",\"description\":\"Specifies a factor-analytic structure with q factors.\",\"type\":\"standalone\"},{\"name\":\"HF\",\"followsDelimiter\":\"/\",\"description\":\"Specifies a covariance structure that satisfies the general Huynh-Feldt condition (Huynh and Feldt 1970).\",\"type\":\"standalone\"},{\"name\":\"LIN(q)\",\"followsDelimiter\":\"/\",\"description\":\"Specifies a general linear covariance structure with q parameters.\",\"type\":\"standalone\"},{\"name\":\"PSPLINE\",\"followsDelimiter\":\"/\",\"description\":\"Requests that PROC GLIMMIX form a β-spline basis and fits a penalized β-spline (P-spline, Eilers and Marx 1996) with random spline coefficients. Syntax: TYPE=PSPLINE<(options)> You can specify the following options for TYPE=PSPLINE: DEGREE= specifies the degree of the β-spline. The default is d=3. DIFFORDER= specifies the order of the differencing matrix Dr. The default and maximum is r=3.\",\"type\":\"standalone\"},{\"name\":\"RSMOOTH\",\"followsDelimiter\":\"/\",\"description\":\"Specifies a radial smoother covariance structure for G-side random effects. Syntax: TYPE=RSMOOTH<(m|NOLOG> The NOLOG option removes the log{h-ik} and log{d-kp} terms from the computation of the Z and Ω matrices when nr is even; this yields invariance under rescaling of the coordinates.\",\"type\":\"standalone\"},{\"name\":\"SIMPLE\",\"followsDelimiter\":\"/\",\"description\":\"Is an alias for TYPE=VC.\",\"type\":\"standalone\"},{\"name\":\"SP(EXP)(c-list)\",\"followsDelimiter\":\"/\",\"description\":\"Models an exponential spatial or temporal covariance structure, where the covariance between two observations depends on a distance metric dij.\",\"type\":\"standalone\"},{\"name\":\"SP(GAU)(c-list)\",\"followsDelimiter\":\"/\",\"description\":\"Models a gaussian covariance structure.\",\"type\":\"standalone\"},{\"name\":\"SP(MAT)(c-list)\",\"followsDelimiter\":\"/\",\"description\":\"Models a covariance structure in the Matérn class of covariance functions (Matérn 1986).\",\"type\":\"standalone\"},{\"name\":\"SP(POW)(c-list)\",\"followsDelimiter\":\"/\",\"description\":\"Models a power covariance structure.\",\"type\":\"standalone\"},{\"name\":\"SP(POWA)(c-list)\",\"followsDelimiter\":\"/\",\"description\":\"Models an anisotropic power covariance structure in k dimensions, provided that the coordinate list c-list has k elements.\",\"type\":\"standalone\"},{\"name\":\"SP(SPH)(c-list)\",\"followsDelimiter\":\"/\",\"description\":\"Models a spherical covariance structure.\",\"type\":\"standalone\"},{\"name\":\"TOEP\",\"followsDelimiter\":\"/\",\"description\":\"Models a Toeplitz covariance structure.\",\"type\":\"standalone\"},{\"name\":\"TOEP(q)\",\"followsDelimiter\":\"/\",\"description\":\"Specifies a banded Toeplitz structure.\",\"type\":\"standalone\"},{\"name\":\"TOEPH&lt;(q)&gt;\",\"followsDelimiter\":\"/\",\"description\":\"Models a Toeplitz covariance structure. Syntax: TYPE=TOEPH<(q)>\",\"help\":\"TOEPH&lt;(q)&gt;\",\"type\":\"standalone\"},{\"name\":\"UN&lt;(q)&gt;\",\"followsDelimiter\":\"/\",\"description\":\"Specifies a completely general (unstructured) covariance matrix parameterized directly in terms of variances and covariances.\",\"help\":\"UN&lt;(q)&gt;\",\"type\":\"standalone\"},{\"name\":\"UNR&lt;(q)&gt;\",\"followsDelimiter\":\"/\",\"description\":\"Specifies a completely general (unstructured) covariance matrix parameterized in terms of variances and correlations.\",\"help\":\"UNR&lt;(q)&gt;\",\"type\":\"standalone\"},{\"name\":\"VC\",\"followsDelimiter\":\"/\",\"description\":\"Specifies standard variance components and is the default structure for both G-side and R-side covariance structures.\",\"type\":\"standalone\"}]},{\"name\":\"V\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that blocks of the estimated V matrix be displayed. You can optionally use the value-list specification, which indicates the subjects for which blocks of V are to be displayed.\",\"type\":\"standalone\"},{\"name\":\"VC\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays the Cholesky root of the blocks of the estimated V matrix. The value-list specification is the same as in the V= option.\",\"type\":\"standalone\"},{\"name\":\"VCI\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays the inverse of the Cholesky root of the blocks of the estimated V matrix. The value-list specification is the same as in the V= option.\",\"type\":\"standalone\"},{\"name\":\"VCORR\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays the correlation matrix corresponding to the blocks of the estimated V matrix. The value-list specification is the same as in the V= option.\",\"type\":\"standalone\"},{\"name\":\"VI\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays the inverse of the blocks of the estimated V matrix. The value-list specification is the same as in the V= option.\",\"type\":\"standalone\"},{\"name\":\"WEIGHT\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"WT\"],\"description\":\"Specifies a variable to be used as the weight for the units at the current level in a weighted multilevel model. If a weight variable is not specified in the WEIGHT option, a weight of 1 is used.\",\"type\":\"standalone\"}]},{\"name\":\"RETURN\",\"description\":\"Stops executing statements at the current point in the DATA step and returns to a predetermined point in the step.\",\"help\":\"RETURN\"},{\"name\":\"SELECT\",\"description\":\"\",\"help\":\"\"},{\"name\":\"SLICE\",\"description\":\"The SLICE statement provides a general mechanism for performing a partitioned analysis of the LS-means for an interaction. This analysis is also known as an analysis of simple effects. The SLICE statement uses the same options as the LSMEANS statement.\",\"help\":\"SLICE &lt;ADJDFE=&lt;SOURCE | ROW&gt;&gt;&lt;NOF&gt;&lt;&gt; ...\",\"arguments\":[{\"name\":\"ADJDFE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies how denominator degrees of freedom are determined when p-values and confidence limits are adjusted for multiple comparisons with the ADJUST= option.\",\"help\":\"ADJDFE=SOURCE | ROW\",\"type\":\"choice\",\"arguments\":[{\"name\":\"SOURCE\",\"followsDelimiter\":\"/\",\"description\":\"The denominator degrees of freedom for multiplicity-adjusted results are the denominator degrees of freedom for the LS-mean effect in the \\\"Type III Tests of Fixed Effects\\\" table.\",\"type\":\"standalone\"},{\"name\":\"ROW\",\"followsDelimiter\":\"/\",\"description\":\"Useful if you want multiplicity adjustments to take into account that denominator degrees of freedom are not constant across LS-mean differences.\",\"type\":\"standalone\"}]},{\"name\":\"ADJUST=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests a multiple comparison adjustment for the p-values and confidence limits for the differences of LS-means.\",\"help\":\"ADJUST=BON | DUNNETT | NELSON | SCHEFFE | SIDAK | SIMULATE | SMM | TUKEY\",\"type\":\"choice\",\"arguments\":[{\"name\":\"BON\",\"followsDelimiter\":\"/\",\"description\":\"Bonferroni adjustment\",\"type\":\"standalone\"},{\"name\":\"DUNNETT\",\"followsDelimiter\":\"/\",\"description\":\"Dunnett adjustment (in which the procedure analyzes all differences with a control level)\",\"type\":\"standalone\"},{\"name\":\"NELSON\",\"followsDelimiter\":\"/\",\"description\":\"Nelson adjustment (in which ANOM differences are taken)\",\"type\":\"standalone\"},{\"name\":\"SCHEFFE\",\"followsDelimiter\":\"/\",\"description\":\"Scheffe's adjustment\",\"type\":\"standalone\"},{\"name\":\"SIDAK\",\"followsDelimiter\":\"/\",\"description\":\"Sidak adjustment\",\"type\":\"standalone\"},{\"name\":\"SIMULATE\",\"followsDelimiter\":\"/\",\"description\":\"Computes adjusted p-values and confidence limits from the simulated distribution of the maximum or maximum absolute value of a multivariate t random vector. Syntax: SIMULATE<(simoptions)> You can specify the following simoptions in parentheses after the ADJUST=SIMULATE option. ACC=value specifies the target accuracy radius γ of a 100(1-ε)% confidence interval for the true probability content of the estimated (1-α)th quantile. The default value is ACC=0.005. CVADJUST specifies that the quantile should be estimated by the control variate adjustment method of Hsu and Nelson (1998) instead of simply as the quantile of the simulated sample. EPS=value specifies the value ε for a 100(1-ε)% confidence interval for the true probability content of the estimated (1-α)th quantile. NSAMP=n specifies the sample size for the simulation. REPORT specifies that a report on the simulation should be displayed, including a listing of the parameters, such as γ, ε, and α, as well as an analysis of various methods for estimating or approximating the quantile. SEED=number specifies an integer used to start the pseudo-random number generator for the simulation.\",\"type\":\"standalone\"},{\"name\":\"SMM\",\"followsDelimiter\":\"/\",\"aliases\":[\"GT2\"],\"description\":\"SMM adjustment\",\"type\":\"standalone\"},{\"name\":\"TUKEY\",\"followsDelimiter\":\"/\",\"description\":\"If your data are unbalanced, PROC GLIMMIX uses the approximation described in Kramer (1956) and identifies the adjustment as \\\"Tukey-Kramer\\\" in the results.\",\"type\":\"standalone\"}]},{\"name\":\"ALPHA=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that a t-type confidence interval be constructed for each of the LS-means with confidence level (1-number)x100%. The value of number must be between 0 and 1; the default value is 0.05, corresponding to a 95% confidence interval.\",\"help\":\"ALPHA=*number*\",\"type\":\"value\"},{\"name\":\"AT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Enables you to modify the values of the covariates used in computing LS-means.\",\"help\":\"AT=MEANS\",\"type\":\"choice\",\"arguments\":[{\"name\":\"MEANS\",\"type\":\"standalone\"}]},{\"name\":\"BYLEVEL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that separate margins be computed for each level of the LSMEANS effect.\",\"type\":\"standalone\"},{\"name\":\"CL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that t-type confidence limits be constructed for each of the LS-means. The confidence level is 0.95 by default; this can be changed with the ALPHA= option.\",\"type\":\"standalone\"},{\"name\":\"CORR\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays the estimated correlation matrix of the least squares means as part of the \\\"Least Squares Means\\\" table.\",\"type\":\"standalone\"},{\"name\":\"COV\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays the estimated covariance matrix of the least squares means as part of the \\\"Least Squares Means\\\" table.\",\"type\":\"standalone\"},{\"name\":\"DF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the degrees of freedom for the t test and confidence limits.\",\"help\":\"DF=*number*\",\"type\":\"value\"},{\"name\":\"DIFF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"PDIFF=\"],\"description\":\"Requests that differences of the LS-means be displayed.\",\"help\":\"DIFF=ALL | ANOM | CONTROL | CONTROLL | CONTROLU\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ALL\",\"followsDelimiter\":\"/\",\"description\":\"Requests all pairwise differences, and it is the default.\",\"type\":\"standalone\"},{\"name\":\"ANOM\",\"followsDelimiter\":\"/\",\"description\":\"Requests differences between each LS-mean and the average LS-mean, as in the analysis of means (Ott 1967).\",\"type\":\"standalone\"},{\"name\":\"CONTROL\",\"followsDelimiter\":\"/\",\"description\":\"Requests the differences with a control, which, by default, is the first level of each of the specified LSMEANS effects.\",\"type\":\"standalone\"},{\"name\":\"CONTROLL\",\"followsDelimiter\":\"/\",\"description\":\"Tests whether the noncontrol levels are significantly smaller than the control; the upper confidence limits for the control minus the noncontrol levels are considered to be infinity and are displayed as missing.\",\"type\":\"standalone\"},{\"name\":\"CONTROLU\",\"followsDelimiter\":\"/\",\"description\":\"Tests whether the noncontrol levels are significantly larger than the control; the upper confidence limits for the noncontrol levels minus the control are considered to be infinity and are displayed as missing.\",\"type\":\"standalone\"}]},{\"name\":\"E\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that the L matrix coefficients for all LSMEANS effects be displayed.\",\"type\":\"standalone\"},{\"name\":\"ILINK\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that estimates and their standard errors in the \\\"Least Squares Means\\\" table also be reported on the scale of the mean (the inverse linked scale).\",\"type\":\"standalone\"},{\"name\":\"LINES\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Presents results of comparisons between all pairs of least squares means by listing the means in descending order and indicating nonsignificant subsets by line segments beside the corresponding LS-means.\",\"type\":\"standalone\"},{\"name\":\"NOF\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Suppresses the F test for testing the mutual equality of the estimable functions in the partition.\",\"type\":\"standalone\"},{\"name\":\"OBSMARGINS\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"OM\"],\"description\":\"Specifies a potentially different weighting scheme for the computation of LS-means coefficients.\",\"type\":\"standalone\"},{\"name\":\"ODDS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that in models with logit, cumulative logit, and generalized logit link function the odds of the levels of the fixed effects are reported.\",\"type\":\"standalone\"},{\"name\":\"ODDSRATIO\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"OR\"],\"description\":\"Requests that LS-mean differences (DIFF, ADJUST= options) and simple effect comparisons (SLICEDIFF option) are also reported in terms of odds ratios.\",\"type\":\"standalone\"},{\"name\":\"PLOT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"PLOTS=\"],\"description\":\"Requests that least squares means related graphics are produced via ODS Graphics, provided that the ODS GRAPHICS statement has been specified and the plot request does not conflict with other options in the LSMEANS statement.\",\"help\":\"PLOT=ALL | ANOMPLOT | CONTROLPLOT | DIFFPLOT | MEANPLOT | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ALL\",\"followsDelimiter\":\"/\",\"description\":\"Requests that the default plots corresponding to this LSMEANS statement be produced.\",\"type\":\"standalone\"},{\"name\":\"ANOMPLOT\",\"followsDelimiter\":\"/\",\"aliases\":[\"ANOM\"],\"description\":\"Requests an analysis of means display in which least squares means are compared to an average least squares mean.\",\"type\":\"standalone\"},{\"name\":\"CONTROLPLOT\",\"followsDelimiter\":\"/\",\"aliases\":[\"CONTROL\"],\"description\":\"Requests a display in which least squares means are visually compared against a reference level.\",\"type\":\"standalone\"},{\"name\":\"DIFFPLOT\",\"followsDelimiter\":\"/\",\"aliases\":[\"DIFF\",\"DIFFOGRAM\"],\"description\":\"Requests a display of all pairwise least squares mean differences and their significance. Syntax: DIFFPLOT<(diffplot-options)> You can specify the following diffplot-options: ABS all line segments are shown on the same side of the reference line. NOABS separates comparisons according to the sign of the difference. CENTER marks the center point for each comparison. NOLINES suppresses the display of the line segments that represent the confidence bounds for the differences of the least squares means. The NOLINES option implies the CENTER option.\",\"type\":\"standalone\"},{\"name\":\"MEANPLOT\",\"followsDelimiter\":\"/\",\"description\":\"Requests displays of the least squares means. Syntax: MEANPLOT<(meanplot-options)> The following meanplot-options control the display of the least squares means: ASCENDING displays the least squares means in ascending order. This option has no effect if means are sliced or displayed in separate plots. CL displays upper and lower confidence limits for the least squares means. By default, 95% limits are drawn. CLBAND displays confidence limits as bands. This option implies the JOIN option. DESCENDING displays the least squares means in descending order. This option has no effect if means are sliced or displayed in separate plots. ILINK requests that means (and confidence limits) are displayed on the inverse linked scale. JOIN | CONNECT connects the least squares means with lines. This option is implied by the CLBAND option. SLICEBY=fixed-effect specifies an effect by which to group the means in a single plot. PLOTBY=fixed-effect specifies an effect by which to break interaction plots into separate displays.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"followsDelimiter\":\"/\",\"description\":\"Requests that no plots be produced.\",\"type\":\"standalone\"}]},{\"name\":\"SINGULAR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Tunes the estimability checking as documented for the CONTRAST statement.\",\"help\":\"SINGULAR=*number*\",\"type\":\"value\"},{\"name\":\"SLICE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies effects by which to partition interaction LSMEANS effects.\",\"type\":\"value\"},{\"name\":\"SLICEBY\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"SIMPLE\"],\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"SLICEDIFF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"SIMPLEDIFF=\"],\"description\":\"Requests that differences of simple effects be constructed and tested against zero.\",\"type\":\"value\"},{\"name\":\"SLICEDIFFTYPE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"SIMPLEDIFFTYPE=\"],\"description\":\"Determines the type of simple effect differences produced with the SLICEDIFF= option.\",\"help\":\"SLICEDIFFTYPE=ALL | CONTROL | CONTROLL | CONTROLU\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ALL\",\"followsDelimiter\":\"/\",\"description\":\"Requests all simple effects differences, and it is the default.\",\"type\":\"standalone\"},{\"name\":\"CONTROL\",\"followsDelimiter\":\"/\",\"description\":\"Requests the differences with a control, which, by default, is the first level of each of the specified LSMEANS effects.\",\"type\":\"standalone\"},{\"name\":\"CONTROLL\",\"followsDelimiter\":\"/\",\"description\":\"Tests whether the noncontrol levels are significantly smaller than the control; the upper confidence limits for the control minus the noncontrol levels are considered to be infinity and are displayed as missing.\",\"type\":\"standalone\"},{\"name\":\"CONTROLU\",\"followsDelimiter\":\"/\",\"description\":\"Tests whether the noncontrol levels are significantly larger than the control; the upper confidence limits for the noncontrol levels minus the control are considered to be infinity and are displayed as missing.\",\"type\":\"standalone\"}]},{\"name\":\"STEPDOWN=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that multiple comparison adjustments for the p-values of LS-mean differences be further adjusted in a step-down fashion. You can specify the following step-down options in parentheses: MAXTIME=n specifies the time (in seconds) to spend computing the maximal logically consistent sequential subsets of equality hypotheses for TYPE=LOGICAL. REPORT specifies that a report on the step-down adjustment should be displayed, including a listing of the sequential subsets (Westfall 1997) and, for ADJUST=SIMULATE, the step-down simulation results.\",\"help\":\"STEPDOWN=MAXTIME= | REPORT | TYPE=\",\"type\":\"choice\",\"arguments\":[{\"name\":\"MAXTIME=\",\"type\":\"value\"},{\"name\":\"REPORT\",\"type\":\"standalone\"},{\"name\":\"TYPE=\",\"type\":\"value\"}]}]},{\"name\":\"STOP\",\"description\":\"The STOP statement halts the execution of all statements that contain it, including DO statements and other control or looping statements. Execution continues with the next top-level source statement.\",\"help\":\"STOP \"},{\"name\":\"STORE\",\"description\":\"The STORE statement requests that the procedure save the context and results of the statistical analysis. The resulting item store is a binary file format that cannot be modified. The contents of the item store can be processed with the PLM procedure. The item-store-name is a usual one- or two-level SAS name, like the names that are used for SAS data sets. If you specify a one-level name, then the item store resides in the WORK library and is deleted at the end of the SAS session. Since item stores usually are used to perform postprocessing tasks, typical usage specifies a two-level name of the form libname.membername. If an item store by the same name as specified in the STORE statement already exists, the existing store is replaced.\",\"help\":\"STORE &lt;LABEL='label'&gt; &lt;OUT=&gt;item-store-name' \",\"arguments\":[{\"name\":\"OUT=\",\"description\":\"The item-store-name is a usual one- or two-level SAS name, like the names that are used for SAS data sets. If you specify a one-level name, then the item store resides in the WORK library and is deleted at the end of the SAS session.\",\"type\":\"value\"},{\"name\":\"LABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Adds a custom label. When the PLM procedure processes an item store, the label appears in the PROC PLM output along with other identifying information.\",\"help\":\"LABEL='*label*'\",\"type\":\"value\"}]},{\"name\":\"WEIGHT\",\"description\":\"The WEIGHT statement replaces R with (W^-1/2)(RW^-1/2), where W is a diagonal matrix containing the weights. Observations with nonpositive or missing weights are not included in the resulting PROC GLIMMIX analysis. If a WEIGHT statement is not included, all observations used in the analysis are assigned a weight of 1.\",\"help\":\"WEIGHT variable\"},{\"name\":\"WHEN\",\"description\":\"\",\"help\":\"WHEN &lt;DO&gt;\",\"arguments\":[{\"name\":\"DO\",\"optional\":true,\"description\":\"\",\"type\":\"standalone\"}]}],\"supportSiteInformation\":{\"docsetId\":\"statug\",\"docsetVersion\":\"latest\",\"docsetTargetFile\":\"statug_glimmix_toc.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/GLM.json",
    "content": "{\"name\":\"GLM\",\"statements\":[{\"name\":\"PROC GLM\",\"description\":\"The GLM procedure uses the method of least squares to fit general linear models. Among the statistical methods available in PROC GLM are regression, analysis of variance, analysis of covariance, multivariate analysis of variance, and partial correlation. † PROC GLM analyzes data within the framework of general linear models. PROC GLM handles models relating one or several continuous dependent variables to one or several independent variables. The independent variables can be either classification variables, which divide the observations into discrete groups, or continuous variables. Thus, the GLM procedure can be used for many different analyses, including the following: † simple regression, multiple regression, analysis of variance (ANOVA), especially for unbalanced data, analysis of covariance, response surface models, weighted regression, polynomial regression, partial correlation, multivariate analysis of variance (MANOVA), repeated measures analysis of variance\",\"help\":\"PROC GLM <ALPHA=α><DATA=SAS-data-set><MANOVA><MULTIPASS><NAMELEN=n><NOPRINT><ORDER=DATA | FORMATTED | FREQ... ><OUTSTAT=SAS-data-set><PLOTS=ALL | ANCOVAPLOT | ANOMPLOT... >;     \\n\\tABSORB variables ;\\n\\n\\tBY <DESCENDING><NOTSORTED> ;\\n\\n\\tCLASS <TRUNCATE> ;\\n\\n\\tCONTRAST <E><E=effect><ETYPE=<1 | 2 | 3>... > ...;\\n\\n\\tESTIMATE <DIVISOR=number><E><SINGULAR=number> ...;\\n\\n\\tFREQ variable;\\n\\n\\tID variables ;\\n\\n\\tLSMEANS <ADJUST=<BON | DUNNETT | NELSON>... ><ALPHA=α><AT variable=value> ...;\\n\\n\\tMANOVA <E=effect><H=<<effects> | INTERCEPT | _ALL_>><M=equation,...,equation | (row-of-matrix,...,row-of-matrix)> ...;\\n\\n\\tMEANS <ALPHA=α><BON><CLM> ...;\\n\\n\\tMODEL <ALIASING><ALPHA=α><CLI> ...;\\n\\n\\tOUTPUT COOKD= COVRATIO= DFFITS= ...;\\n\\n\\tRANDOM <Q><TEST> ;\\n\\n\\tREPEATED CONTRAST<(ordinal-reference-level)> HELMERT IDENTITY ...;\\n\\n\\tSTORE <LABEL='label'> ;\\n\\n\\tTEST E=effect <ETYPE=<1 | 2 | 3>... > H=effects ...;\\n\\n\\tWEIGHT variable;\\n\",\"arguments\":[{\"name\":\"ALPHA=\",\"optional\":true,\"description\":\"Specifies the level of significance \\\\U+0391 α for 100(1 - α)% confidence intervals.\",\"type\":\"value\"},{\"name\":\"DATA=\",\"optional\":true,\"description\":\"Names the SAS data set used by the GLM procedure.\",\"help\":\"DATA=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"MANOVA\",\"optional\":true,\"description\":\"Requests the multivariate mode of eliminating observations with missing values.\",\"type\":\"standalone\"},{\"name\":\"MULTIPASS\",\"optional\":true,\"description\":\"Requests that PROC GLM reread the input data set, when necessary, instead of writing the values of dependent variables to a utility file.\",\"type\":\"standalone\"},{\"name\":\"NAMELEN=\",\"optional\":true,\"description\":\"Specifies the length of effect names to be n characters long, where n is a value between 20 and 200 characters. The default length is 20 characters.\",\"help\":\"NAMELEN=*n*\",\"type\":\"value\"},{\"name\":\"NOPRINT\",\"optional\":true,\"description\":\"Suppresses the normal display of results.\",\"type\":\"standalone\"},{\"name\":\"ORDER=\",\"optional\":true,\"description\":\"Specifies the sorting order for the levels of the classification variables (specified in the CLASS statement).\",\"help\":\"ORDER=DATA | FORMATTED | FREQ | INTERNAL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DATA\",\"description\":\"Orders values according to their order in the input data set.\",\"type\":\"standalone\"},{\"name\":\"FORMATTED\",\"description\":\"Orders values by their ascending formatted values. This order depends on your operating environment.\",\"type\":\"standalone\"},{\"name\":\"FREQ\",\"description\":\"Orders values by descending frequency count so that levels with the most observations are listed first.\",\"type\":\"standalone\"},{\"name\":\"INTERNAL\",\"description\":\"Orders values by their unformatted values, which yields the same order as PROC SORT. This order depends on your operating environment.\",\"type\":\"standalone\"}]},{\"name\":\"OUTSTAT=\",\"optional\":true,\"description\":\"Names an output data set that contains sums of squares, degrees of freedom, F statistics, and probability levels for each effect in the model.\",\"help\":\"OUTSTAT=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"PLOTS=\",\"optional\":true,\"description\":\"Controls the plots produced through ODS Graphics. Syntax: (1) PLOTS <(global-plot-options)> <= plot-request <(options)>> (2) PLOTS <(global-plot-options)> <= (plot-request <(options)> <... plot-request <(options)>>)> The global plot options include the following: MAXPOINTS=NONE | number specifies that plots with elements that require processing of more than number points be suppressed. The default is MAXPOINTS=5000. This limit is ignored if you specify MAXPOINTS=NONE. ONLY suppresses the default plots. Only plots specifically requested are displayed.\",\"help\":\"PLOTS=ALL | ANCOVAPLOT | ANOMPLOT | BOXPLOT | CONTOURFIT | CONTROLPLOT | DIAGNOSTICS | DIFFPLOT | FITPLOT | INTPLOT | MEANPLOT | NONE | RESIDUALS\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ALL\",\"description\":\"Produces all appropriate plots.\",\"type\":\"standalone\"},{\"name\":\"ANCOVAPLOT\",\"description\":\"Modifies the analysis of covariance plot produced by default when you have an analysis of covariance model, with one or two CLASS variables and one continuous variable. Syntax: ANCOVAPLOT<(CLM CLI LIMITS)> PLOTS=ANCOVAPLOT(CLM) option adds limits for the expected predicted values. PLOTS=ANCOVAPLOT(CLI) adds limits for new predictions. Use PLOTS=ANCOVAPLOT(LIMITS) to add both kinds of limits.\",\"type\":\"standalone\"},{\"name\":\"ANOMPLOT\",\"description\":\"Requests an analysis of means display, in which least squares means are compared against an average least squares mean.\",\"type\":\"standalone\"},{\"name\":\"BOXPLOT\",\"description\":\"Modifies the plot produced by default for the model effect in a one-way analysis of variance model, or for an effect specified in the MEANS statement. Syntax: BOXPLOT<(NPANELPOS=n)> Suppose the effect has m levels. By default, or if you specify PLOTS=BOXPLOT(NPANELPOS=0), all m levels of the effect are displayed in a single plot. Specifying a nonzero value of n will result in P panels, where P is the integer part of m/n + 1. If n > 0, then the levels will be approximately balanced across the P panels; whereas if n < 0, precisely |n| levels will be displayed on each panel except possibly the last.\",\"type\":\"standalone\"},{\"name\":\"CONTOURFIT\",\"description\":\"Modifies the contour fit plot produced by default when you have a model involving only two continuous predictors. The plot displays a contour plot of the predicted surface overlaid with a scatter plot of the observed data. Syntax: CONTOURFIT<(OBS=obs-options)> You can use the following obs-options to control how the observations are displayed: OBS=GRADIENT specifies that observations are displayed as circles colored by the observed response. OBS=NONE suppresses the observations. OBS=OUTLINE specifies that observations are displayed as circles with a border but with a completely transparent fill. OBS=OUTLINEGRADIENT is the same as OBS=GRADIENT except that a border is shown around each observation. This option is useful to identify the location of observations where the residuals are small, since at these points the color of the observations and the color of the surface are indistinguishable. OBS=OUTLINEGRADIENT is the default if you do not specify any obs-options.\",\"type\":\"standalone\"},{\"name\":\"CONTROLPLOT\",\"description\":\"Requests a display in which least squares means are compared against a reference level. LS-mean control plots are produced only when you specify PDIFF=CONTROL or ADJUST=DUNNETT in the LSMEANS statement, and in this case they are produced by default.\",\"type\":\"standalone\"},{\"name\":\"DIAGNOSTICS\",\"description\":\"Requests that a panel of summary diagnostics for the fit be displayed. Syntax: DIAGNOSTICS<(LABEL UNPACK)> The LABEL option displays labels on observations satisfying RSTUDENT > 2, LEVERAGE > 2p/n, and on the Cook’s D plot, COOKSD > 4/n, where n is the number of observations used in fitting the model, and p is the number of parameters in the model. The label is the first ID variable if the ID statement is specified; otherwise, it is the observation number.\",\"type\":\"standalone\"},{\"name\":\"DIFFPLOT\",\"description\":\"Modifies the plot produced by an LSMEANS statement with the PDIFF=ALL option (or just PDIFF, since ALL is the default argument). Syntax: DIFFPLOT<(ABS NOABS CENTER NOLINES)> The ABS and NOABS options determine the positioning of the line segments in the plot. When the ABS option is in effect, and this is the default, all line segments are shown on the same side of the reference line. The NOABS option separates comparisons according to the sign of the difference. The CENTER option marks the center point for each comparison. This point corresponds to the intersection of two least squares means. The NOLINES option suppresses the display of the line segments that represent the confidence bounds for the differences of the least squares means. The NOLINES option implies the CENTER option.\",\"type\":\"standalone\"},{\"name\":\"FITPLOT\",\"description\":\"Modifies the fit plot produced by default when you have a model with a single continuous predictor. Syntax: FITPLOT<(NOCLM NOCLI NOLIMITS)> PLOTS=FITPLOT(NOCLM) option removes the limits on the expected values. PLOTS=FITPLOT(NOCLI) option removes the limits on new predictions. PLOTS=FITPLOT(NOLIMITS) option removes both kinds of confidence limits\",\"type\":\"standalone\"},{\"name\":\"INTPLOT\",\"description\":\"Modifies the interaction plot produced by default when you have a two-way analysis of variance model, with just two CLASS variables. Syntax: INTPLOT<(CLM CLI LIMITS)> PLOTS=INTPLOT(CLM) option adds limits for the expected predicted values. PLOTS=INTPLOT(CLI) adds limits for new predictions. Use PLOTS=ANCOVAPLOT(LIMITS) to add both kinds of limits.\",\"type\":\"standalone\"},{\"name\":\"MEANPLOT\",\"description\":\"Modifies the grouped box plot produced by an MEANS statement. Upper and lower confidence limits are plotted when the CL option is used. Syntax: MEANPLOT<(CL CLBAND CONNECT ASCENDING DESCENDING)> Upper and lower confidence limits are plotted when the CL option is used. When the CLBAND option is in effect, confidence limits are shown as bands and the means are connected. By default, means are not joined by lines. You can achieve that effect with the CONNECT option. Means are displayed in the same order as they appear in the \\\"Means\\\" table. You can change that order for plotting with the ASCENDING and DESCENDING options.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"Specifies that no graphics be displayed.\",\"type\":\"standalone\"},{\"name\":\"RESIDUALS\",\"description\":\"Requests that scatter plots of the residuals against each continuous covariate be displayed. Syntax: RESIDUALS<(SMOOTH UNPACK)> The SMOOTH option overlays a Loess smooth on each residual plot. Note that if a WEIGHT variable is specified, then it is not used to weight the smoother. See Chapter 50, The LOESS Procedure, for more information. The UNPACK option unpanels the residual display and produces a series of individual plots that form the paneled display.\",\"type\":\"standalone\"}]}]},{\"name\":\"ABSORB\",\"description\":\"Absorption is a computational technique that provides a large reduction in time and memory requirements for certain types of models. The variables are one or more variables in the input data set.\",\"help\":\"ABSORB variables \"},{\"name\":\"BY\",\"description\":\"You can specify a BY statement with PROC GLM to obtain separate analyses on observations in groups that are defined by the BY variables. When a BY statement appears, the procedure expects the input data set to be sorted in order of the BY variables. If you specify more than one BY statement, only the last one specified is used.\",\"help\":\"BY &lt;DESCENDING&gt;&lt;NOTSORTED&gt;\",\"arguments\":[{\"name\":\"DESCENDING\",\"optional\":true,\"description\":\"Specifies that the observations are sorted in descending order by the variable that immediately follows the word DESCENDING in the BY statement.\",\"type\":\"standalone\"},{\"name\":\"NOTSORTED\",\"optional\":true,\"description\":\"Specifies that observations are not necessarily sorted in alphabetic or numeric order.\",\"type\":\"standalone\"}]},{\"name\":\"CLASS\",\"description\":\"The CLASS statement names the classification variables to be used in the model. Typical classification variables are Treatment, Sex, Race, Group, and Replication. If you use the CLASS statement, it must appear before the MODEL statement.\",\"help\":\"CLASS &lt;TRUNCATE&gt;\",\"arguments\":[{\"name\":\"TRUNCATE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies that class levels should be determined by using no more than the first 16 characters of the formatted values of CLASS variables.\",\"type\":\"standalone\"}]},{\"name\":\"CONTRAST\",\"description\":\"The CONTRAST statement enables you to perform custom hypothesis tests by specifying an L vector or matrix for testing the univariate hypothesis Lβ=0 or the multivariate hypothesis LBM=0. There is no limit to the number of CONTRAST statements you can specify, but they must appear after the MODEL statement. In addition, if you use a CONTRAST statement and a MANOVA, REPEATED, or TEST statement, appropriate tests for contrasts are carried out as part of the MANOVA, REPEATED, or TEST analysis. If you use a CONTRAST statement and a RANDOM statement, the expected mean square of the contrast is displayed. As a result of these additional analyses, the CONTRAST statement must appear before the MANOVA, REPEATED, RANDOM, or TEST statement. In the CONTRAST statement, label identifies the contrast on the output. A label is required for every contrast specified. Labels must be enclosed in quotes. effect identifies an effect that appears in the MODEL statement, or the INTERCEPT effect. The INTERCEPT effect can be used when an intercept is fitted in the model. You do not need to include all effects that are in the MODEL statement. values are constants that are elements of the L vector associated with the effect.\",\"help\":\"CONTRAST &lt;E&gt;&lt;E=effect&gt;&lt;ETYPE=&lt;1 | 2 | 3&gt;... &gt; ...\",\"arguments\":[{\"name\":\"E\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays the entire L vector. This option is useful in confirming the ordering of parameters for specifying L.\",\"type\":\"standalone\"},{\"name\":\"E=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies an error term, which must be one of the effects in the model.\",\"help\":\"E=*effect*\",\"type\":\"value\"},{\"name\":\"ETYPE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the type (1, 2, 3, or 4, corresponding to a Type I, II, III, or IV test, respectively) of the E= effect.\",\"help\":\"ETYPE=1 | 2 | 3 | 4*n*\",\"type\":\"value\",\"arguments\":[{\"name\":\"1\",\"followsDelimiter\":\"/\",\"description\":\"Corresponds to a Type I test.\",\"type\":\"standalone\"},{\"name\":\"2\",\"followsDelimiter\":\"/\",\"description\":\"Corresponds to a Type II test.\",\"type\":\"standalone\"},{\"name\":\"3\",\"followsDelimiter\":\"/\",\"description\":\"Corresponds to a Type III test.\",\"type\":\"standalone\"},{\"name\":\"4\",\"followsDelimiter\":\"/\",\"description\":\"Corresponds to a Type IV test.\",\"type\":\"standalone\"}]},{\"name\":\"SINGULAR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Tunes the estimability checking.\",\"help\":\"SINGULAR=*number*\",\"type\":\"value\"}]},{\"name\":\"ESTIMATE\",\"description\":\"The ESTIMATE statement enables you to estimate linear functions of the parameters by multiplying the vector L by the parameter estimate vector b, resulting in Lb. All of the elements of the L vector might be given, or, if only certain portions of the L vector are given, the remaining elements are constructed by PROC GLM from the context. There is no limit to the number of ESTIMATE statements that you can specify, but they must appear after the MODEL statement. In the ESTIMATE statement, label identifies the estimate on the output. A label is required for every contrast specified. Labels must be enclosed in quotes. effect identifies an effect that appears in the MODEL statement, or the INTERCEPT effect. The INTERCEPT effect can be used as an effect when an intercept is fitted in the model. You do not need to include all effects that are in the MODEL statement. values are constants that are the elements of the L vector associated with the preceding effect. For example, estimate 'A1 VS A2' A 1 -1; forms an estimate that is the difference between the parameters estimated for the first and second levels of the CLASS variable A.\",\"help\":\"ESTIMATE &lt;DIVISOR=number&gt;&lt;E&gt;&lt;SINGULAR=number&gt; ...\",\"arguments\":[{\"name\":\"DIVISOR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies a value by which to divide all coefficients so that fractional coefficients can be entered as integer numerators.\",\"help\":\"DIVISOR=*number*\",\"type\":\"value\"},{\"name\":\"E\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays the entire L vector. This option is useful in confirming the ordering of parameters for specifying L.\",\"type\":\"standalone\"},{\"name\":\"SINGULAR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Tunes the estimability checking.\",\"help\":\"SINGULAR=*number*\",\"type\":\"value\"}]},{\"name\":\"FREQ\",\"aliases\":[\"FREQUENCY\"],\"description\":\"The FREQ statement names a variable that provides frequencies for each observation in the DATA= data set. Specifically, if n is the value of the FREQ variable for a given observation, then that observation is used n times.\",\"help\":\"FREQ variable\"},{\"name\":\"ID\",\"description\":\"When predicted values are requested as a MODEL statement option, values of the variables given in the ID statement are displayed beside each observed, predicted, and residual value for identification. If you specify the ID statement, it must appear before the first RUN statement or it is ignored.\",\"help\":\"ID variables \"},{\"name\":\"LSMEANS\",\"description\":\"Least squares means (LS-means) are computed for each effect listed in the LSMEANS statement. You can specify only classification effects in the LSMEANS statement—that is, effects that contain only classification variables. You can also specify options to perform multiple comparisons. In contrast to the MEANS statement, the LSMEANS statement performs multiple comparisons on interactions as well as main effects. LS-means are predicted population margins; that is, they estimate the marginal means over a balanced population. In a sense, LS-means are to unbalanced designs as class and subclass arithmetic means are to balanced designs. Each LS-mean is computed as L'b for a certain column vector L, where b is the vector of parameter estimates--that is, the solution of the normal equations. Multiple effects can be specified in one LSMEANS statement, or multiple LSMEANS statements can be used, but they must all appear after the MODEL statement.\",\"help\":\"LSMEANS &lt;ADJUST=&lt;BON | DUNNETT | NELSON&gt;... &gt;&lt;ALPHA=α&gt;&lt;AT variable=value&gt; ...\",\"arguments\":[{\"name\":\"ADJUST=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests a multiple comparison adjustment for the p-values and confidence limits for the differences of LS-means.\",\"help\":\"ADJUST=BON | DUNNETT | NELSON | SCHEFFE | SIDAK | SIMULATE | SMM | TUKEY | T\",\"type\":\"choice\",\"arguments\":[{\"name\":\"BON\",\"followsDelimiter\":\"/\",\"description\":\"Bonferroni adjustment\",\"type\":\"standalone\"},{\"name\":\"DUNNETT\",\"followsDelimiter\":\"/\",\"description\":\"Dunnett adjustment (in which the procedure analyzes all differences with a control level)\",\"type\":\"standalone\"},{\"name\":\"NELSON\",\"followsDelimiter\":\"/\",\"description\":\"Nelson adjustment (in which ANOM differences are taken)\",\"type\":\"standalone\"},{\"name\":\"SCHEFFE\",\"followsDelimiter\":\"/\",\"description\":\"Scheffe's adjustment\",\"type\":\"standalone\"},{\"name\":\"SIDAK\",\"followsDelimiter\":\"/\",\"description\":\"Sidak adjustment\",\"type\":\"standalone\"},{\"name\":\"SIMULATE\",\"followsDelimiter\":\"/\",\"description\":\"Computes adjusted p-values and confidence limits from the simulated distribution of the maximum or maximum absolute value of a multivariate t random vector. Syntax: SIMULATE<(simoptions)> You can specify the following simoptions in parentheses after the ADJUST=SIMULATE option. ACC=value specifies the target accuracy radius γ of a 100(1-ε)% confidence interval for the true probability content of the estimated (1-α)th quantile. The default value is ACC=0.005. CVADJUST specifies that the quantile should be estimated by the control variate adjustment method of Hsu and Nelson (1998) instead of simply as the quantile of the simulated sample. EPS=value specifies the value ε for a 100(1-ε)% confidence interval for the true probability content of the estimated (1-α)th quantile. NSAMP=n specifies the sample size for the simulation. REPORT specifies that a report on the simulation should be displayed, including a listing of the parameters, such as γ, ε, and α, as well as an analysis of various methods for estimating or approximating the quantile. SEED=number specifies an integer used to start the pseudo-random number generator for the simulation.\",\"type\":\"standalone\"},{\"name\":\"SMM\",\"followsDelimiter\":\"/\",\"description\":\"SMM adjustment\",\"type\":\"standalone\"},{\"name\":\"TUKEY\",\"followsDelimiter\":\"/\",\"description\":\"If your data are unbalanced, PROC GLIMMIX uses the approximation described in Kramer (1956) and identifies the adjustment as \\\"Tukey-Kramer\\\" in the results.\",\"type\":\"standalone\"},{\"name\":\"T\",\"followsDelimiter\":\"/\",\"description\":\"The default, which really signifies no adjustment for multiple comparisons.\",\"type\":\"standalone\"}]},{\"name\":\"ALPHA=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the level of significance α for 100(1 - α)% confidence intervals.\",\"type\":\"value\"},{\"name\":\"AT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Enables you to modify the values of the covariates used in computing LS-means.\",\"help\":\"AT=MEANS\",\"type\":\"choice\",\"arguments\":[{\"name\":\"MEANS\",\"type\":\"standalone\"}]},{\"name\":\"BYLEVEL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that PROC GLM process the OM data set by each level of the LS-mean effect in question.\",\"type\":\"standalone\"},{\"name\":\"CL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests confidence limits for the individual LS-means.\",\"type\":\"standalone\"},{\"name\":\"COV\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Includes variances and covariances of the LS-means in the output data set specified in the OUT= option in the LSMEANS statement.\",\"type\":\"standalone\"},{\"name\":\"E\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that the L coefficients for all LSMEANS effects be displayed.\",\"type\":\"standalone\"},{\"name\":\"E=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies an effect in the model to use as an error term.\",\"help\":\"E=*effect*\",\"type\":\"value\"},{\"name\":\"ETYPE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the type (1, 2, 3, or 4, corresponding to a Type I, II, III, or IV test, respectively) of the E= effect.\",\"help\":\"ETYPE=1 | 2 | 3 | 4*n*\",\"type\":\"value\",\"arguments\":[{\"name\":\"1\",\"followsDelimiter\":\"/\",\"description\":\"Corresponds to a Type I test.\",\"type\":\"standalone\"},{\"name\":\"2\",\"followsDelimiter\":\"/\",\"description\":\"Corresponds to a Type II test.\",\"type\":\"standalone\"},{\"name\":\"3\",\"followsDelimiter\":\"/\",\"description\":\"Corresponds to a Type III test.\",\"type\":\"standalone\"},{\"name\":\"4\",\"followsDelimiter\":\"/\",\"description\":\"Corresponds to a Type IV test.\",\"type\":\"standalone\"}]},{\"name\":\"LINES\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Presents results of comparisons between all pairs of means (specified by the PDIFF=ALL option) by listing the means in descending order and indicating nonsignificant subsets by line segments beside the corresponding means.\",\"type\":\"standalone\"},{\"name\":\"NOPRINT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Suppresses the normal display of results from the LSMEANS statement.\",\"type\":\"standalone\"},{\"name\":\"OBSMARGINS\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"OM\"],\"description\":\"Specifies a potentially different weighting scheme for the computation of LS-means coefficients.\",\"type\":\"standalone\"},{\"name\":\"OUT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Creates an output data set that contains the values, standard errors, and, optionally, the covariances (see the COV option) of the LS-means.\",\"help\":\"OUT=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"PDIFF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"DIFF=\"],\"description\":\"Requests that p-values for differences of the LS-means be produced. The optional difftype specifies which differences to display. Possible values for difftype are ALL, CONTROL, CONTROLL, CONTROLU, and ANOM. If no difftype is specified, the default for the ADJUST= option is T (that is, no adjustment).\",\"help\":\"PDIFF=ALL | ANOM | CONTROL | CONTROLL | CONTROLU\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ALL\",\"followsDelimiter\":\"/\",\"description\":\"Requests all pairwise differences, and it is the default.\",\"type\":\"standalone\"},{\"name\":\"ANOM\",\"followsDelimiter\":\"/\",\"description\":\"Requests differences between each LS-mean and the average LS-mean, as in the analysis of means (Ott 1967).\",\"type\":\"standalone\"},{\"name\":\"CONTROL\",\"followsDelimiter\":\"/\",\"description\":\"Requests the differences with a control, which, by default, is the first level of each of the specified LSMEANS effects.\",\"type\":\"standalone\"},{\"name\":\"CONTROLL\",\"followsDelimiter\":\"/\",\"description\":\"Tests whether the noncontrol levels are significantly smaller than the control; the upper confidence limits for the control minus the noncontrol levels are considered to be infinity and are displayed as missing.\",\"type\":\"standalone\"},{\"name\":\"CONTROLU\",\"followsDelimiter\":\"/\",\"description\":\"Tests whether the noncontrol levels are significantly larger than the control; the upper confidence limits for the noncontrol levels minus the control are considered to be infinity and are displayed as missing.\",\"type\":\"standalone\"}]},{\"name\":\"SINGULAR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Tunes the estimability checking.\",\"help\":\"SINGULAR=*number*\",\"type\":\"value\"},{\"name\":\"SLICE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies effects by which to partition interaction LSMEANS effects.\",\"help\":\"SLICE=*fixed-effect*\",\"type\":\"value\"},{\"name\":\"STDERR\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Produces the standard error of the LS-means and the probability level for the hypothesis Ho: LS-mean = 0.\",\"type\":\"standalone\"},{\"name\":\"TDIFF\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Produces the t values for all hypotheses Ho: LS-mean(i) = LS-mean(j) and the corresponding probabilities.\",\"type\":\"standalone\"}]},{\"name\":\"MANOVA\",\"description\":\"If the MODEL statement includes more than one dependent variable, you can perform multivariate analysis of variance with the MANOVA statement. The test-options define which effects to test, while the detail-options specify how to execute the tests and what results to display.\",\"help\":\"MANOVA &lt;E=effect&gt;&lt;H=&lt;&lt;effects&gt; | INTERCEPT | _ALL_&gt;&gt;&lt;M=equation,...,equation | (row-of-matrix,...,row-of-matrix)&gt; ...\",\"arguments\":[{\"name\":\"CANONICAL\",\"optional\":true,\"description\":\"Displays a canonical analysis of the H and E matrices (transformed by the M matrix, if specified) instead of the default display of characteristic roots and vectors.\",\"type\":\"standalone\"},{\"name\":\"E=\",\"optional\":true,\"description\":\"Specifies the error effect.\",\"help\":\"E=*effect*\",\"type\":\"value\"},{\"name\":\"ETYPE=\",\"optional\":true,\"description\":\"Specifies the type (1, 2, 3, or 4, corresponding to a Type I, II, III, or IV test, respectively) of the E matrix, the SSCP matrix associated with the E= effect.\",\"help\":\"ETYPE=1 | 2 | 3 | 4*n*\",\"type\":\"value\",\"arguments\":[{\"name\":\"1\",\"description\":\"Corresponds to a Type I test.\",\"type\":\"standalone\"},{\"name\":\"2\",\"description\":\"Corresponds to a Type II test.\",\"type\":\"standalone\"},{\"name\":\"3\",\"description\":\"Corresponds to a Type III test.\",\"type\":\"standalone\"},{\"name\":\"4\",\"description\":\"Corresponds to a Type IV test.\",\"type\":\"standalone\"}]},{\"name\":\"H=\",\"optional\":true,\"description\":\"Specifies effects in the preceding model to use as hypothesis matrices.\",\"help\":\"H=&lt;*effects*&gt; | INTERCEPT | _ALL_\",\"type\":\"choice\",\"arguments\":[{\"name\":\"effects\",\"placeholder\":true,\"description\":\"Replace <effects> with a list of effects listed in the MODEL statement.\",\"type\":\"standaloneOrValue\"},{\"name\":\"INTERCEPT\",\"description\":\"Produces tests for the intercept.\",\"type\":\"standalone\"},{\"name\":\"_ALL_\",\"description\":\"Produces tests for all effects listed in the MODEL statement.\",\"type\":\"standalone\"}]},{\"name\":\"HTYPE=\",\"optional\":true,\"description\":\"Specifies the type (1, 2, 3, or 4, corresponding to a Type I, II, III, or IV test, respectively) of the H matrix. See the ETYPE= option for more details.\",\"help\":\"HTYPE=1 | 2 | 3 | 4*n*\",\"type\":\"value\",\"arguments\":[{\"name\":\"1\",\"description\":\"Corresponds to a Type I test.\",\"type\":\"standalone\"},{\"name\":\"2\",\"description\":\"Corresponds to a Type II test.\",\"type\":\"standalone\"},{\"name\":\"3\",\"description\":\"Corresponds to a Type III test.\",\"type\":\"standalone\"},{\"name\":\"4\",\"description\":\"Corresponds to a Type IV test.\",\"type\":\"standalone\"}]},{\"name\":\"M=\",\"optional\":true,\"description\":\"Specifies a transformation matrix for the dependent variables listed in the MODEL statement.\",\"type\":\"value\"},{\"name\":\"MNAMES=\",\"optional\":true,\"description\":\"Provides names for the variables defined by the equations in the M= specification.\",\"help\":\"MNAMES=*names*\",\"type\":\"value\"},{\"name\":\"MSTAT=\",\"optional\":true,\"description\":\"Specifies the method of evaluating the multivariate test statistics.\",\"help\":\"MSTAT=FAPPROX | EXACT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"FAPPROX\",\"description\":\"Specifies that the multivariate tests are evaluated using the usual approximations based on the F distribution.\",\"type\":\"standalone\"},{\"name\":\"EXACT\",\"description\":\"ComputeS exact p-values for three of the four tests (Wilks’ lambda, the Hotelling-Lawley trace, and Roy’s greatest root) and an improved F approximation for the fourth (Pillai’s trace).\",\"type\":\"standalone\"}]},{\"name\":\"ORTH\",\"optional\":true,\"description\":\"Requests that the transformation matrix in the M= specification of the MANOVA statement be orthonormalized by rows before the analysis.\",\"type\":\"standalone\"},{\"name\":\"PREFIX=\",\"optional\":true,\"description\":\"Is an alternative means of identifying the transformed variables defined by the M= specification.\",\"help\":\"PREFIX=*name*\",\"type\":\"value\"},{\"name\":\"PRINTE\",\"optional\":true,\"description\":\"Displays the error SSCP matrix E.\",\"type\":\"standalone\"},{\"name\":\"PRINTH\",\"optional\":true,\"description\":\"Displays the hypothesis SSCP matrix H associated with each effect specified by the H= specification.\",\"type\":\"standalone\"},{\"name\":\"SUMMARY\",\"optional\":true,\"description\":\"Produces analysis-of-variance tables for each dependent variable.\",\"type\":\"standalone\"}]},{\"name\":\"MEANS\",\"description\":\"Within each group corresponding to each effect specified in the MEANS statement, PROC GLM computes the arithmetic means and standard deviations of all continuous variables in the model (both dependent and independent).\",\"help\":\"MEANS &lt;ALPHA=α&gt;&lt;BON&gt;&lt;CLM&gt; ...\",\"arguments\":[{\"name\":\"ALPHA=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the level of significance α for comparisons among the means. By default, α=0.05. You can specify any value greater than 0 and less than 1.\",\"type\":\"value\"},{\"name\":\"BON\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Performs Bonferroni t tests of differences between means for all main effect means in the MEANS statement.\",\"type\":\"standalone\"},{\"name\":\"CLDIFF\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Presents results of the BON, GABRIEL, SCHEFFE, SIDAK,SMM, GT2, T, LSD, and TUKEY options as confidence intervals for all pairwise differences between means, and the results of the DUNNETT, DUNNETTU, and DUNNETTL options as confidence intervals for differences with the control.\",\"type\":\"standalone\"},{\"name\":\"CLM\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Presents results of the BON, GABRIEL, SCHEFFE, SIDAK,SMM, T, and LSD options as intervals for the mean of each level of the variables specified in the MEANS statement.\",\"type\":\"standalone\"},{\"name\":\"DEPONLY\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays only means for the dependent variables.\",\"type\":\"standalone\"},{\"name\":\"DUNCAN\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Performs Duncan’s multiple range test on all main effect means given in the MEANS statement.\",\"type\":\"standalone\"},{\"name\":\"DUNNETT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Performs Dunnett’s two-tailed t test, testing if any treatments are significantly different from a single control for all main effects means in the MEANS statement.\",\"type\":\"standalone\"},{\"name\":\"DUNNETTL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Performs Dunnett’s one-tailed t test, testing if any treatment is significantly less than the control.\",\"type\":\"standalone\"},{\"name\":\"DUNNETTU\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Performs Dunnett’s one-tailed t test, testing if any treatment is significantly greater than the control.\",\"type\":\"standalone\"},{\"name\":\"E=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the error mean square used in the multiple comparisons.\",\"help\":\"E=*effect*\",\"type\":\"value\"},{\"name\":\"ETYPE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the type of mean square for the error effect.\",\"help\":\"ETYPE=1 | 2 | 3 | 4*n*\",\"type\":\"value\",\"arguments\":[{\"name\":\"1\",\"followsDelimiter\":\"/\",\"description\":\"Corresponds to a Type I test.\",\"type\":\"standalone\"},{\"name\":\"2\",\"followsDelimiter\":\"/\",\"description\":\"Corresponds to a Type II test.\",\"type\":\"standalone\"},{\"name\":\"3\",\"followsDelimiter\":\"/\",\"description\":\"Corresponds to a Type III test.\",\"type\":\"standalone\"},{\"name\":\"4\",\"followsDelimiter\":\"/\",\"description\":\"Corresponds to a Type IV test.\",\"type\":\"standalone\"}]},{\"name\":\"GABRIEL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Performs Gabriel’s multiple-comparison procedure on all main effect means in the MEANS statement.\",\"type\":\"standalone\"},{\"name\":\"HOVTEST=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests a homogeneity of variance test for the groups defined by the MEANS effect.\",\"help\":\"HOVTEST=BARTLETT | BF | LEVENE | OBRIEN\",\"type\":\"choice\",\"arguments\":[{\"name\":\"BARTLETT\",\"followsDelimiter\":\"/\",\"description\":\"Specifies Bartlett’s test, a modification of the normal-theory likelihood ratio test.\",\"type\":\"standalone\"},{\"name\":\"BF\",\"followsDelimiter\":\"/\",\"description\":\"Specifies Brown and Forsythe’s variation of Levene’s test\",\"type\":\"standalone\"},{\"name\":\"LEVENE\",\"followsDelimiter\":\"/\",\"description\":\"Specifies Levene’s test, which is widely considered to be the standard homogeneity of variance test. Syntax: LEVENE <( TYPE= ABS | SQUARE )>\",\"type\":\"standalone\"},{\"name\":\"OBRIEN\",\"followsDelimiter\":\"/\",\"description\":\"Specifies O’Brien’s test, which is basically a modification of HOVTEST=LEVENE(TYPE=SQUARE). Syntax: OBRIEN <( W=number )> You can use the W= option in parentheses to tune the variable to match the suspected kurtosis of the underlying distribution. By default, W=0.5, as suggested by O’Brien (1979, 1981).\",\"type\":\"standalone\"}]},{\"name\":\"HTYPE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the MS type for the hypothesis MS.\",\"type\":\"value\"},{\"name\":\"KRATIO=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the Type 1/Type 2 error seriousness ratio for the Waller-Duncan test. Reasonable values for KRATIO are 50, 100, and 500, which roughly correspond for the two-level case to ALPHA levels of 0.1, 0.05, and 0.01.\",\"help\":\"KRATIO=*value*\",\"type\":\"value\"},{\"name\":\"LINES\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Presents results of the BON, DUNCAN, GABRIEL, REGWQ, SCHEFFE, SIDAK,SMM, GT2, SNK, T, LSD TUKEY, and WALLER options by listing the means in descending order and indicating nonsignificant subsets by line segments beside the corresponding means.\",\"type\":\"standalone\"},{\"name\":\"NOSORT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Prevents the means from being sorted into descending order when the CLDIFF or CLM option is specified.\",\"type\":\"standalone\"},{\"name\":\"REGWQ\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Performs the Ryan-Einot-Gabriel-Welsch multiple range test on all main effect means in the MEANS statement.\",\"type\":\"standalone\"},{\"name\":\"SCHEFFE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Performs Scheffé’s multiple-comparison procedure on all main effect means in the MEANS statement.\",\"type\":\"standalone\"},{\"name\":\"SIDAK\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Performs pairwise t tests on differences between means with levels adjusted according to Sidak’s inequality for all main-effect means in the MEANS statement.\",\"type\":\"standalone\"},{\"name\":\"SMM\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"GT2\"],\"description\":\"Performs pairwise comparisons based on the studentized maximum modulus and Sidak’s uncorrelated-t inequality, yielding Hochberg’s GT2 method when sample sizes are unequal, for all main effect means in the MEANS statement\",\"type\":\"standalone\"},{\"name\":\"SNK\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Performs the Student-Newman-Keuls multiple range test on all main effect means in the MEANS statement.\",\"type\":\"standalone\"},{\"name\":\"TUKEY\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Performs Tukey’s studentized range test (HSD) on all main effect means in the MEANS statement.\",\"type\":\"standalone\"},{\"name\":\"T\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"LSD\"],\"description\":\"Performs pairwise t tests, equivalent to Fisher’s least-significant-difference test in the case of equal cell sizes, for all main effect means in the MEANS statement.\",\"type\":\"standalone\"},{\"name\":\"WALLER\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Performs the Waller-Duncan k-ratio t test on all main effect means in the MEANS statement.\",\"type\":\"standalone\"},{\"name\":\"WELCH\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests Welch’s variance-weighted one-way ANOVA.\",\"type\":\"standalone\"}]},{\"name\":\"MODEL\",\"description\":\"The MODEL statement names the dependent variables and independent effects.\",\"help\":\"MODEL &lt;ALIASING&gt;&lt;ALPHA=α&gt;&lt;CLI&gt; ...\",\"arguments\":[{\"name\":\"ALIASING\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies that the estimable functions should be displayed as an aliasing structure, for which each row says which linear combination of the parameters is estimated by each estimable function.\",\"type\":\"standalone\"},{\"name\":\"ALPHA=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the level of significance α for (100(1 - α)% confidence intervals.\",\"type\":\"value\"},{\"name\":\"CLI\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Produces confidence limits for individual predicted values for each observation.\",\"type\":\"standalone\"},{\"name\":\"CLM\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Produces confidence limits for a mean predicted value for each observation.\",\"type\":\"standalone\"},{\"name\":\"CLPARM\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Produces confidence limits for the parameter estimates (if the SOLUTION option is also specified) and for the results of all ESTIMATE statements.\",\"type\":\"standalone\"},{\"name\":\"E\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays the general form of all estimable functions. This is useful for determining the order of parameters when you are writing CONTRAST and ESTIMATE statements.\",\"type\":\"standalone\"},{\"name\":\"E1\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays the Type I estimable functions for each effect in the model and computes the corresponding sums of squares.\",\"type\":\"standalone\"},{\"name\":\"E2\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays the Type II estimable functions for each effect in the model and computes the corresponding sums of squares.\",\"type\":\"standalone\"},{\"name\":\"E3\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays the Type III estimable functions for each effect in the model and computes the corresponding sums of squares.\",\"type\":\"standalone\"},{\"name\":\"E4\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays the Type IV estimable functions for each effect in the model and computes the corresponding sums of squares.\",\"type\":\"standalone\"},{\"name\":\"EFFECTSIZE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"[Experimental] Adds measures of effect size to each analysis of variance table displayed by the procedure, except for those displayed by the TEST option in the RANDOM statement and by CONTRAST statements with the E= option.\",\"type\":\"standalone\"},{\"name\":\"INTERCEPT\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"INT\"],\"description\":\"Produces the hypothesis tests associated with the intercept as an effect in the model.\",\"type\":\"standalone\"},{\"name\":\"INVERSE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays the augmented inverse (or generalized inverse) X'X matrix\",\"type\":\"standalone\"},{\"name\":\"NOINT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Omits the intercept parameter from the model. The NOINT option is ignored when you use an ABSORB statement.\",\"type\":\"standalone\"},{\"name\":\"NOUNI\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Suppresses the display of univariate statistics.\",\"type\":\"standalone\"},{\"name\":\"P\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays observed, predicted, and residual values for each observation that does not contain missing values for independent variables.\",\"type\":\"standalone\"},{\"name\":\"SINGULAR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Tunes the sensitivity of the regression routine to linear dependencies in the design.\",\"help\":\"SINGULAR=*number*\",\"type\":\"value\"},{\"name\":\"SOLUTION\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Produces a solution to the normal equations (parameter estimates).\",\"type\":\"standalone\"},{\"name\":\"SS1\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays the sum of squares associated with Type I estimable functions for each effect. These are also displayed by default.\",\"type\":\"standalone\"},{\"name\":\"SS2\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays the sum of squares associated with Type II estimable functions for each effect.\",\"type\":\"standalone\"},{\"name\":\"SS3\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays the sum of squares associated with Type III estimable functions for each effect. These are also displayed by default.\",\"type\":\"standalone\"},{\"name\":\"SS4\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays the sum of squares associated with Type IV estimable functions for each effect.\",\"type\":\"standalone\"},{\"name\":\"TOLERANCE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays the tolerances used in the SWEEP routine.\",\"type\":\"standalone\"},{\"name\":\"XPX\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays the augmented X'X crossproducts matrix.\",\"type\":\"standalone\"},{\"name\":\"ZETA=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Tunes the sensitivity of the check for estimability for Type III and Type IV functions.\",\"help\":\"ZETA=*value*\",\"type\":\"value\"}]},{\"name\":\"OUTPUT\",\"description\":\"The OUTPUT statement creates a new SAS data set that saves diagnostic measures calculated after fitting the model. At least one specification of the form keyword=names is required.\",\"help\":\"OUTPUT COOKD= COVRATIO= DFFITS= ...\",\"arguments\":[{\"name\":\"COOKD=\",\"description\":\"Cook’s D influence statistic\",\"type\":\"value\"},{\"name\":\"COVRATIO=\",\"description\":\"Standard influence of observation on covariance of parameter estimates\",\"type\":\"value\"},{\"name\":\"DFFITS=\",\"description\":\"Standard influence of observation on predicted value\",\"type\":\"value\"},{\"name\":\"H=\",\"description\":\"Leverage, hi = xi(X'X)⁻¹x'i\",\"type\":\"value\"},{\"name\":\"LCL=\",\"description\":\"Lower bound of a 100(1 - p)% confidence interval for an individual prediction.\",\"type\":\"value\"},{\"name\":\"LCLM=\",\"description\":\"Lower bound of a 100(1 - p)% confidence interval for the expected value (mean) of the predicted value.\",\"type\":\"value\"},{\"name\":\"OUT=\",\"description\":\"Gives the name of the new data set. By default, the procedure uses the DATAn convention to name the new data set.\",\"help\":\"OUT=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"PREDICTED=\",\"aliases\":[\"P=\"],\"description\":\"Predicted values\",\"type\":\"value\"},{\"name\":\"PRESS=\",\"description\":\"Residual for the th observation that results from dropping it and predicting it on the basis of all other observations.\",\"type\":\"value\"},{\"name\":\"RESIDUAL=\",\"aliases\":[\"R=\"],\"description\":\"Residuals, calculated as ACTUAL - PREDICTED\",\"type\":\"value\"},{\"name\":\"RSTUDENT=\",\"description\":\"A studentized residual with the current observation deleted\",\"type\":\"value\"},{\"name\":\"STDI=\",\"description\":\"Standard error of the individual predicted value\",\"type\":\"value\"},{\"name\":\"STDP=\",\"description\":\"Standard error of the mean predicted value\",\"type\":\"value\"},{\"name\":\"STDR=\",\"description\":\"Standard error of the residual\",\"type\":\"value\"},{\"name\":\"STUDENT=\",\"description\":\"Studentized residuals, the residual divided by its standard error\",\"type\":\"value\"},{\"name\":\"UCL=\",\"description\":\"Upper bound of a 100(1 - p)% confidence interval for an individual prediction. The p-level is equal to the value of the ALPHA= option in the OUTPUT statement or, if this option is not specified, to the ALPHA= option in the PROC GLM statement. If neither of these options is set, then p=0.05 by default, resulting in the upper bound for a 95% confidence interval.\",\"type\":\"value\"},{\"name\":\"UCLM=\",\"description\":\"Upper bound of a 100(1 - p)% confidence interval for the expected value (mean) of the predicted value. The p-level is equal to the value of the ALPHA= option in the OUTPUT statement or, if this option is not specified, to the ALPHA= option in the PROC GLM statement.\",\"type\":\"value\"},{\"name\":\"ALPHA=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the level of significance α for 100(1 - α)% confidence intervals.\",\"type\":\"value\"}]},{\"name\":\"RANDOM\",\"description\":\"When some model effects are random (that is, assumed to be sampled from a normal population of effects), you can specify these effects in the RANDOM statement in order to compute the expected values of mean squares for various model effects and contrasts and, optionally, to perform random effects analysis of variance tests.\",\"help\":\"RANDOM &lt;Q&gt;&lt;TEST&gt;\",\"arguments\":[{\"name\":\"Q\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays all quadratic forms in the fixed effects that appear in the expected mean squares. For some designs, such as large mixed-level factorials, the Q option might generate a substantial amount of output.\",\"type\":\"standalone\"},{\"name\":\"TEST\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Performs hypothesis tests for each effect specified in the model, using appropriate error terms as determined by the expected mean squares. Caution: PROC GLM does not automatically declare interactions to be random when the effects in the interaction are declared random. For example, random a b / test; does not produce the same expected mean squares or tests as random a b a*b / test;\",\"type\":\"standalone\"}]},{\"name\":\"REPEATED\",\"description\":\"When values of the dependent variables in the MODEL statement represent repeated measurements on the same experimental unit, the REPEATED statement enables you to test hypotheses about the measurement factors (often called within-subject factors), as well as the interactions of within-subject factors with independent variables in the MODEL statement (often called between-subject factors). The factor-specification for the REPEATED statement can include any number of individual factor specifications, separated by commas, of the following form: factor-name levels < (level-values) > < transformation > where: factor-name names a factor to be associated with the dependent variables. The name should not be the same as any variable name that already exists in the data set being analyzed and should conform to the usual conventions of SAS variable names. When specifying more than one factor, list the dependent variables in the MODEL statement so that the within-subject factors defined in the REPEATED statement are nested; that is, the first factor defined in the REPEATED statement should be the one with values that change least frequently. levels gives the number of levels associated with the factor being defined. When there is only one within-subject factor, the number of levels is equal to the number of dependent variables. In this case, levels is optional. When more than one within-subject factor is defined, however, levels is required, and the product of the number of levels of all the factors must equal the number of dependent variables in the MODEL statement. (level-values) gives values that correspond to levels of a repeated-measures factor. These values are used to label output and as spacings for constructing orthogonal polynomial contrasts if you specify a POLYNOMIAL transformation. The number of values specified must correspond to the number of levels for that factor in the REPEATED statement. Enclose the level-values in parentheses.\",\"help\":\"REPEATED CONTRAST&lt;(ordinal-reference-level)&gt; HELMERT IDENTITY ...\",\"arguments\":[{\"name\":\"CONTRAST\",\"description\":\"Generates contrasts between levels of the factor and a reference level. By default, the procedure uses the last level as the reference level; you can optionally specify a reference level in parentheses after the keyword CONTRAST. The reference level corresponds to the ordinal value of the level rather than the level value specified. For example, to generate contrasts between the first level of a factor and the other levels, use\",\"type\":\"standalone\"},{\"name\":\"HELMERT\",\"description\":\"[transformation keyword] Generates contrasts between each level of the factor and the mean of subsequent levels.\",\"type\":\"standalone\"},{\"name\":\"IDENTITY\",\"description\":\"[transformation keyword] Generates an identity transformation corresponding to the associated factor.\",\"type\":\"standalone\"},{\"name\":\"MEAN\",\"description\":\"Generates contrasts between levels of the factor and the mean of all other levels of the factor. Specifying a reference level eliminates the contrast between that level and the mean. Without a reference level, the contrast involving the last level is omitted. See the CONTRAST transformation for an example.\",\"type\":\"standalone\"},{\"name\":\"POLYNOMIAL\",\"description\":\"[transformation keyword] Generates orthogonal polynomial contrasts. Level values, if provided, are used as spacings in the construction of the polynomials; otherwise, equal spacing is assumed.\",\"type\":\"standalone\"},{\"name\":\"PROFILE\",\"description\":\"[transformation keyword]Generates contrasts between adjacent levels of the factor.\",\"type\":\"standalone\"},{\"name\":\"CANONICAL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Performs a canonical analysis of the H and E matrices corresponding to the transformed variables specified in the REPEATED statement.\",\"type\":\"standalone\"},{\"name\":\"HTYPE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the type of the H matrix used in the multivariate tests and the type of sums of squares used in the univariate tests.\",\"help\":\"HTYPE=*n*\",\"type\":\"value\"},{\"name\":\"MEAN\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Generates the overall arithmetic means of the within-subject variables.\",\"type\":\"standalone\"},{\"name\":\"MSTAT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the method of evaluating the multivariate test statistics.\",\"help\":\"MSTAT=FAPPROX | EXACT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"FAPPROX\",\"followsDelimiter\":\"/\",\"description\":\"Specifies that the multivariate tests are evaluated by using the usual approximations based on the F distribution.\",\"type\":\"standalone\"},{\"name\":\"EXACT\",\"followsDelimiter\":\"/\",\"description\":\"Computes exact p-values for three of the four tests (Wilks’ lambda, the Hotelling-Lawley trace, and Roy’s greatest root) and an improved F-approximation for the fourth (Pillai’s trace).\",\"type\":\"standalone\"}]},{\"name\":\"NOM\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays only the results of the univariate analyses.\",\"type\":\"standalone\"},{\"name\":\"NOU\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays only the results of the multivariate analyses.\",\"type\":\"standalone\"},{\"name\":\"PRINTE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays the E matrix for each combination of within-subject factors, as well as partial correlation matrices for both the original dependent variables and the variables defined by the transformations specified in the REPEATED statement.\",\"type\":\"standalone\"},{\"name\":\"PRINTH\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays the H (SSCP) matrix associated with each multivariate test.\",\"type\":\"standalone\"},{\"name\":\"PRINTM\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays the transformation matrices that define the contrasts in the analysis.\",\"type\":\"standalone\"},{\"name\":\"PRINTRV\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Produces the characteristic roots and vectors for each multivariate test.\",\"type\":\"standalone\"},{\"name\":\"SUMMARY\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Produces analysis-of-variance tables for each contrast defined by the within-subjects factors.\",\"type\":\"standalone\"}]},{\"name\":\"STORE\",\"aliases\":[\"ITEMSTORE\"],\"description\":\"The STORE statement requests that the procedure save the context and results of the statistical analysis. The resulting item store is a binary file format that cannot be modified. The contents of the item store can be processed with the PLM procedure. The item-store-name is a usual one- or two-level SAS name, like the names that are used for SAS data sets. If you specify a one-level name, then the item store resides in the WORK library and is deleted at the end of the SAS session. Since item stores usually are used to perform postprocessing tasks, typical usage specifies a two-level name of the form libname.membername. If an item store by the same name as specified in the STORE statement already exists, the existing store is replaced.\",\"help\":\"STORE &lt;LABEL='label'&gt;\",\"arguments\":[{\"name\":\"LABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Adds a custom label. When the PLM procedure processes an item store, the label appears in the PROC PLM output along with other identifying information.\",\"help\":\"LABEL='*label*'\",\"type\":\"value\"}]},{\"name\":\"TEST\",\"description\":\"By default, for each sum of squares in the analysis an F value is computed that uses the residual MS as an error term. Use a TEST statement to request additional F tests that use other effects as error terms.\",\"help\":\"TEST E=effect &lt;ETYPE=&lt;1 | 2 | 3&gt;... &gt; H=effects ...\",\"arguments\":[{\"name\":\"E=\",\"description\":\"Specifies one, and only one, effect to use as the error (denominator) term. The E= specification is required.\",\"help\":\"E=*effect*\",\"type\":\"value\"},{\"name\":\"H=\",\"description\":\"Specifies which effects in the preceding model are to be used as hypothesis (numerator) effects.\",\"help\":\"H=*effects*\",\"type\":\"value\"},{\"name\":\"ETYPE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the type of sum of squares to use for the error term. The type must be a type computed in the model (n=1, 2, 3, or 4).\",\"help\":\"ETYPE=1 | 2 | 3 | 4*n*\",\"type\":\"value\",\"arguments\":[{\"name\":\"1\",\"followsDelimiter\":\"/\",\"description\":\"Corresponds to a Type I test.\",\"type\":\"standalone\"},{\"name\":\"2\",\"followsDelimiter\":\"/\",\"description\":\"Corresponds to a Type II test.\",\"type\":\"standalone\"},{\"name\":\"3\",\"followsDelimiter\":\"/\",\"description\":\"Corresponds to a Type III test.\",\"type\":\"standalone\"},{\"name\":\"4\",\"followsDelimiter\":\"/\",\"description\":\"Corresponds to a Type IV test.\",\"type\":\"standalone\"}]},{\"name\":\"HTYPE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the type of sum of squares to use for the hypothesis. The type must be a type computed in the model (n=1, 2, 3, or 4).\",\"help\":\"HTYPE=1 | 2 | 3 | 4*n*\",\"type\":\"value\",\"arguments\":[{\"name\":\"1\",\"followsDelimiter\":\"/\",\"description\":\"Corresponds to a Type I test.\",\"type\":\"standalone\"},{\"name\":\"2\",\"followsDelimiter\":\"/\",\"description\":\"Corresponds to a Type II test.\",\"type\":\"standalone\"},{\"name\":\"3\",\"followsDelimiter\":\"/\",\"description\":\"Corresponds to a Type III test.\",\"type\":\"standalone\"},{\"name\":\"4\",\"followsDelimiter\":\"/\",\"description\":\"Corresponds to a Type IV test.\",\"type\":\"standalone\"}]}]},{\"name\":\"WEIGHT\",\"aliases\":[\"WGT\"],\"description\":\"When a WEIGHT statement is used, a weighted residual sum of squares is minimized. The WEIGHT statement has no effect on degrees of freedom or number of observations, but it is used by the MEANS statement when calculating means and performing multiple comparison tests.\",\"help\":\"WEIGHT variable\"}],\"interactive\":true,\"supportSiteInformation\":{\"docsetId\":\"statug\",\"docsetVersion\":\"latest\",\"docsetTargetFile\":\"statug_glm_toc.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/GLMMOD.json",
    "content": "{\"name\":\"GLMMOD\",\"statements\":[{\"name\":\"PROC GLMMOD\",\"description\":\"The GLMMOD procedure constructs the design matrix for a general linear model; it essentially constitutes the model-building front end for the GLM procedure. You can use the GLMMOD procedure in conjunction with other SAS/STAT software regression procedures or with SAS/IML software to obtain specialized analyses for general linear models that you cannot obtain with the GLM procedure. † While some of the regression procedures in SAS/STAT software provide for general linear effects modeling with classification variables and interaction or polynomial effects, many others do not. For such procedures, you must specify the model directly in terms of distinct variables. For example, if you want to use the REG procedure to fit a polynomial model, you must first create the crossproduct and power terms as new variables, usually in a DATA step. Alternatively, you can use the GLMMOD procedure to create a data set that contains the design matrix for a model as specified using the effects modeling facilities of the GLM procedure.\",\"help\":\"PROC GLMMOD <DATA=SAS-data-set><NAMELEN=n><NOPRINT><ORDER=DATA | FORMATTED | FREQ... ><OUTDESIGN=SAS-data-set><OUTPARM=SAS-data-set><PREFIX=name><ZEROBASED>;     \\n\\tBY <DESCENDING><NOTSORTED> ;\\n\\n\\tCLASS <TRUNCATE> ;\\n\\n\\tFREQ variable;\\n\\n\\tMODEL <NOINT> ;\\n\\n\\tWEIGHT variable;\\n\",\"arguments\":[{\"name\":\"DATA=\",\"optional\":true,\"description\":\"Specifies the SAS data set to be used by the GLMMOD procedure.\",\"help\":\"DATA=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"NAMELEN=\",\"optional\":true,\"description\":\"Specifies the maximum length for an effect name.\",\"help\":\"NAMELEN=*n*\",\"type\":\"value\"},{\"name\":\"NOPRINT\",\"optional\":true,\"description\":\"Suppresses the normal display of results.\",\"type\":\"standalone\"},{\"name\":\"ORDER=\",\"optional\":true,\"description\":\"Specifies the order in which you want the levels of the classification variables (specified in the CLASS statement) to be sorted.\",\"help\":\"ORDER=DATA | FORMATTED | FREQ | INTERNAL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DATA\",\"description\":\"Orders values according to their order in the input data set.\",\"type\":\"standalone\"},{\"name\":\"FORMATTED\",\"description\":\"Orders values by their ascending formatted values. This order depends on your operating environment.\",\"type\":\"standalone\"},{\"name\":\"FREQ\",\"description\":\"Orders values by descending frequency count so that levels with the most observations are listed first.\",\"type\":\"standalone\"},{\"name\":\"INTERNAL\",\"description\":\"Orders values by their unformatted values, which yields the same order as PROC SORT. This order depends on your operating environment.\",\"type\":\"standalone\"}]},{\"name\":\"OUTDESIGN=\",\"optional\":true,\"description\":\"Names an output data set to contain the columns of the design matrix.\",\"help\":\"OUTDESIGN=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"OUTPARM=\",\"optional\":true,\"description\":\"Names an output data set to contain the information regarding the association between model effects and design matrix columns.\",\"help\":\"OUTPARM=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"PREFIX=\",\"optional\":true,\"description\":\"Specifies a prefix to use in naming the columns of the design matrix in the OUTDESIGN= data set.\",\"help\":\"PREFIX=*name*\",\"type\":\"value\"},{\"name\":\"ZEROBASED\",\"optional\":true,\"description\":\"Specifies that the numbering for the columns of the design matrix in the OUTDESIGN= data set begin at 0.\",\"type\":\"standalone\"}]},{\"name\":\"BY\",\"description\":\"Obtains separate analyses on observations in groups defined by the BY variables.\",\"help\":\"BY &lt;DESCENDING&gt;&lt;NOTSORTED&gt;\",\"arguments\":[{\"name\":\"DESCENDING\",\"optional\":true,\"description\":\"Specifies that the observations are sorted in descending order by the variable that immediately follows the word DESCENDING in the BY statement.\",\"type\":\"standalone\"},{\"name\":\"NOTSORTED\",\"optional\":true,\"description\":\"Specifies that observations are not necessarily sorted in alphabetic or numeric order.\",\"type\":\"standalone\"}]},{\"name\":\"CLASS\",\"description\":\"The CLASS statement names the classification variables to be used in the analysis. The CLASS statement must precede the MODEL statement.\",\"help\":\"CLASS &lt;TRUNCATE&gt;\",\"arguments\":[{\"name\":\"TRUNCATE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies that class levels should be determined by using no more than the first 16 characters of the formatted values of CLASS variables.\",\"type\":\"standalone\"}]},{\"name\":\"FREQ\",\"description\":\"FREQ and WEIGHT variables are transferred to the output data sets without change.\",\"help\":\"FREQ variable\"},{\"name\":\"MODEL\",\"description\":\"The MODEL statement names the dependent variables and independent effects.\",\"help\":\"MODEL &lt;NOINT&gt;\",\"arguments\":[{\"name\":\"NOINT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that the intercept parameter not be included in the model.\",\"type\":\"standalone\"}]},{\"name\":\"WEIGHT\",\"description\":\"FREQ and WEIGHT variables are transferred to the output data sets without change.\",\"help\":\"WEIGHT variable\"}],\"supportSiteInformation\":{\"docsetId\":\"statug\",\"docsetVersion\":\"latest\",\"docsetTargetFile\":\"statug_glmmod_toc.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/GLMPOWER.json",
    "content": "{\"name\":\"GLMPOWER\",\"statements\":[{\"name\":\"PROC GLMPOWER\",\"description\":\"Power and sample size analysis optimizes the resource usage and design of a study, improving chances of conclusive results with maximum efficiency. The GLMPOWER procedure performs prospective power and sample size analysis for linear models, with a variety of goals: † o determining the sample size required to get a significant result with adequate probability (power) † o characterizing the power of a study to detect a meaningful effect † o conducting what-if analyses to assess sensitivity of the power or required sample size to other factors † Here prospective indicates that the analysis pertains to planning for a future study. This is in contrast to retrospective analysis for a past study, which is not supported by this procedure. † The statistical analyses that are covered include Type III tests and contrasts of fixed effects in univariate linear models, optionally with covariates. The covariates can be continuous or categorical. Tests and contrasts involving random effects are not supported.\",\"help\":\"PROC GLMPOWER <DATA=SAS-data-set><ORDER=DATA | FORMATTED | FREQ... ><PLOTONLY>;     \\n\\tBY <DESCENDING><NOTSORTED> ;\\n\\n\\tCLASS variables ;\\n\\n\\tCONTRAST <SINGULAR=number> ;\\n\\n\\tMANOVA M=equation,...,equation | (row-of-matrix,...,row-of-matrix) <ORTH> ;\\n\\n\\tMODEL dependents = independents ;\\n\\n\\tPLOT INTERPOL=JOIN|NONE  KEY=BYCURVE|BYFEATURE|ONCURVES  MARKERS=ANALYSIS|COMPUTED|NICE...  ...;\\n\\n\\tPOWER <ALPHA=number-list><CORRMAT=name-list><CORRS=name-list> ...;\\n\\n\\tREPEATED factor-specification;\\n\\n\\tWEIGHT variable;\\n\",\"arguments\":[{\"name\":\"DATA=\",\"optional\":true,\"description\":\"Names a SAS data set to be used as the exemplary data set, which is an artificial data set constructed to represent the intended sampling design and the conjectured response means for the underlying population.\",\"help\":\"DATA=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"ORDER=\",\"optional\":true,\"description\":\"Specifies the sorting order for the levels of all classification variables (specified in the CLASS statement).\",\"help\":\"ORDER=DATA | FORMATTED | FREQ | INTERNAL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DATA\",\"description\":\"Levels are sorted by the order of appearance in the input data set.\",\"type\":\"standalone\"},{\"name\":\"FORMATTED\",\"description\":\"Levels are sorted by the external formatted value, except for numeric variables with no explicit format, which are sorted by their unformatted (internal) value.\",\"type\":\"standalone\"},{\"name\":\"FREQ\",\"description\":\"Levels are sorted by the descending frequency count; levels with the most observations come first in the order.\",\"type\":\"standalone\"},{\"name\":\"INTERNAL\",\"description\":\"Levels are sorted by the unformatted value.\",\"type\":\"standalone\"}]},{\"name\":\"PLOTONLY\",\"optional\":true,\"description\":\"Specifies that only graphical results from the PLOT statement be produced.\",\"type\":\"standalone\"}]},{\"name\":\"BY\",\"description\":\"You can specify a BY statement with PROC GLMPOWER to obtain separate analyses for observations in groups defined by the BY variables. When a BY statement appears, the procedure expects the exemplary data set to be sorted in order of the BY variables.\",\"help\":\"BY &lt;DESCENDING&gt;&lt;NOTSORTED&gt;\",\"arguments\":[{\"name\":\"DESCENDING\",\"optional\":true,\"description\":\"Specifies that the observations are sorted in descending order by the variable that immediately follows the word DESCENDING in the BY statement.\",\"type\":\"standalone\"},{\"name\":\"NOTSORTED\",\"optional\":true,\"description\":\"Specifies that observations are not necessarily sorted in alphabetic or numeric order.\",\"type\":\"standalone\"}]},{\"name\":\"CLASS\",\"description\":\"The CLASS statement names the classification variables to be used in the analysis. Classification variables can be either character or numeric.\",\"help\":\"CLASS variables \"},{\"name\":\"CONTRAST\",\"description\":\"The CONTRAST statement enables you to define custom hypothesis tests by specifying an L vector or matrix for testing the hypothesis LB=0.\",\"help\":\"CONTRAST &lt;SINGULAR=number&gt;\",\"arguments\":[{\"name\":\"SINGULAR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Tunes the estimability checking.\",\"help\":\"SINGULAR=*number*\",\"type\":\"value\"}]},{\"name\":\"MANOVA\",\"description\":\"If the MODEL statement includes more than one dependent variable, you can indicate a multivariate model and define transformations of dependent variables by using the MANOVA statement.\",\"help\":\"MANOVA M=equation,...,equation | (row-of-matrix,...,row-of-matrix) &lt;ORTH&gt;\",\"arguments\":[{\"name\":\"M=\",\"description\":\"Specifies a transformation matrix for the dependent variables listed in the MODEL statement.\",\"type\":\"value\"},{\"name\":\"ORTH\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that the transformation matrix in the M= specification of the MANOVA statement be orthonormalized by rows before the analysis.\",\"type\":\"standalone\"}]},{\"name\":\"MODEL\",\"description\":\"The MODEL statement serves two basic purposes: o The dependents specify scenarios for the cell means. o The independents specify the independent effects.\",\"help\":\"MODEL dependents = independents \"},{\"name\":\"PLOT\",\"description\":\"The PLOT statement produces a graph or set of graphs for the sample size analysis defined by the previous POWER statement. The plot-options define the plot characteristics, and the graph-options are like those in SAS/GRAPH software.\",\"help\":\"PLOT INTERPOL=JOIN|NONE  KEY=BYCURVE|BYFEATURE|ONCURVES  MARKERS=ANALYSIS|COMPUTED|NICE...  ...\",\"arguments\":[{\"name\":\"INTERPOL=\",\"description\":\"Specifies the type of curve to draw through the computed points.\",\"help\":\"INTERPOL=JOIN | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"JOIN\",\"description\":\"Connects computed points with straight lines.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"Leaves computed points unconnected.\",\"type\":\"standalone\"}]},{\"name\":\"KEY=\",\"description\":\"Specifies the style of key (or \\\"legend\\\") for the plot. The default is KEY=BYFEATURE.\",\"help\":\"KEY=BYCURVE | BYFEATURE | ONCURVES\",\"type\":\"choice\",\"arguments\":[{\"name\":\"BYCURVE\",\"description\":\"Specifies a key with each row identifying a distinct curve in the plot. Syntax: BYCURVE <(bycurve-options)> You can specify the following bycurve-options in parentheses after the KEY=BYCURVE option. NUMBERS=OFF | ON specifies how the key should identify curves. If NUMBERS=OFF, then the key includes symbol, color, and line style samples to identify the curves. If NUMBERS=ON, then the key includes numbers matching numeric labels placed adjacent to the curves. The default is NUMBERS=ON. POS=BOTTOM | INSET specifies the position of the key. The POS=BOTTOM option places the key below the X axis. The POS=INSET option places the key inside the plotting region and attempts to choose the least crowded corner. The default is POS=BOTTOM.\",\"type\":\"standalone\"},{\"name\":\"BYFEATURE\",\"description\":\"Specifies a key with a column of entries for each plot feature (line style, color, and/or symbol). Syntax: BYFEATURE <(byfeature-options)> You can specify the following byfeature-options in parentheses after KEY=BYFEATURE option. POS=BOTTOM | INSET specifies the position of the key. The POS=BOTTOM option places the key below the X axis. The POS=INSET option places the key inside the plotting region and attempts to choose the least crowded corner. The default is POS=BOTTOM.\",\"type\":\"standalone\"},{\"name\":\"ONCURVES\",\"description\":\"Places a curve-specific label adjacent to each curve.\",\"type\":\"standalone\"}]},{\"name\":\"MARKERS=\",\"description\":\"Specifies the locations for plotting symbols.\",\"help\":\"MARKERS=ANALYSIS | COMPUTED | NICE | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ANALYSIS\",\"description\":\"Places plotting symbols at locations corresponding to the values of the relevant input parameter from the POWER statement preceding the PLOT statement.\",\"type\":\"standalone\"},{\"name\":\"COMPUTED\",\"description\":\"Places plotting symbols at the locations of actual computed points from the sample size analysis. This is the default.\",\"type\":\"standalone\"},{\"name\":\"NICE\",\"description\":\"Places plotting symbols at tick mark locations (corresponding to the argument axis).\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"Disables plotting symbols.\",\"type\":\"standalone\"}]},{\"name\":\"MAX=\",\"description\":\"Specifies the maximum of the range of values for the parameter associated with the \\\"argument\\\" axis (the axis that is not representing the parameter being solved for).\",\"help\":\"MAX=&lt;*number*&gt; | DATAMAX\",\"type\":\"choice\",\"arguments\":[{\"name\":\"number\",\"placeholder\":true,\"description\":\"Replace <number> with an actual value.\",\"type\":\"value\"},{\"name\":\"DATAMAX\",\"description\":\"Specifies the maximum value that occurs for this parameter in the POWER statement that precedes the PLOT statement. This is the default.\",\"type\":\"standalone\"}]},{\"name\":\"MIN=\",\"description\":\"Specifies the minimum of the range of values for the parameter associated with the \\\"argument\\\" axis (the axis that is not representing the parameter being solved for).\",\"help\":\"MIN=&lt;*number*&gt; | DATAMIN\",\"type\":\"choice\",\"arguments\":[{\"name\":\"number\",\"placeholder\":true,\"description\":\"Replace <number> with an actual value.\",\"type\":\"value\"},{\"name\":\"DATAMIN\",\"description\":\"Specifies the minimum value that occurs for this parameter in the POWER statement that precedes the PLOT statement. This is the default.\",\"type\":\"standalone\"}]},{\"name\":\"NPOINTS=\",\"aliases\":[\"NPTS=\"],\"description\":\"Specifies the number of values for the parameter associated with the \\\"argument\\\" axis (the axis that is not representing the parameter being solved for).\",\"help\":\"NPOINTS=*number*\",\"type\":\"value\"},{\"name\":\"STEP=\",\"description\":\"Specifies the increment between values of the parameter associated with the \\\"argument\\\" axis (the axis that is not representing the parameter being solved for).\",\"help\":\"STEP=*number*\",\"type\":\"value\"},{\"name\":\"VARY=\",\"description\":\"Specifies how plot features should be linked to varying analysis parameters.\",\"help\":\"VARY=BY\",\"type\":\"choice\",\"arguments\":[{\"name\":\"BY\",\"type\":\"standalone\"}]},{\"name\":\"X=\",\"description\":\"Specifies a plot with the requested type of parameter on the X axis and the parameter being solved for on the Y axis. You cannot use the X= and Y= options simultaneously. The default is X=POWER.\",\"help\":\"X=N | POWER\",\"type\":\"choice\",\"arguments\":[{\"name\":\"N\",\"description\":\"Sample size is assigned to the X axis.\",\"type\":\"standalone\"},{\"name\":\"POWER\",\"description\":\"Power is assigned to the X axis.\",\"type\":\"standalone\"}]},{\"name\":\"XOPTS=\",\"description\":\"Specifies plot characteristics pertaining to the X axis. You can specify the following x-options in parentheses. CROSSREF=NO | YES specifies whether the reference lines defined by the REF= y-option should be crossed with a reference line on the Y axis that indicates the solution point on the curve.\",\"help\":\"XOPTS=CROSSREF= | REF=\",\"type\":\"choice\",\"arguments\":[{\"name\":\"CROSSREF=\",\"type\":\"value\"},{\"name\":\"REF=\",\"type\":\"value\"}]},{\"name\":\"Y=\",\"description\":\"Specifies a plot with the requested type of parameter on the Y axis and the parameter being solved for on the X axis. You cannot use the X= and Y= options simultaneously. The default is Y=POWER.\",\"help\":\"Y=N | POWER\",\"type\":\"choice\",\"arguments\":[{\"name\":\"N\",\"description\":\"Sample size is assigned to the Y axis.\",\"type\":\"standalone\"},{\"name\":\"POWER\",\"description\":\"Power is assigned to the Y axis.\",\"type\":\"standalone\"}]},{\"name\":\"YOPTS=\",\"description\":\"Specifies plot characteristics pertaining to the Y axis. You can specify the following y-options in parentheses. CROSSREF=NO | YES specifies whether the reference lines defined by the REF= y-option should be crossed with a reference line on the X axis that indicates the solution point on the curve.\",\"help\":\"YOPTS=CROSSREF= | REF=\",\"type\":\"choice\",\"arguments\":[{\"name\":\"CROSSREF=\",\"type\":\"value\"},{\"name\":\"REF=\",\"type\":\"value\"}]},{\"name\":\"DESCRIPTION=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies a descriptive string of up to 40 characters that appears in the \\\"Description\\\" field of the graphics catalog.\",\"help\":\"DESCRIPTION='*string*'\",\"type\":\"value\"},{\"name\":\"NAME=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies a name of up to eight characters for the catalog entry for the plot. The default name is PLOTn, where n is the number of the plot statement within the current invocation of PROC GLMPOWER. If the name duplicates the name of an existing entry, SAS/GRAPH software adds a number to the duplicate name to create a unique entry—for example, PLOT11 and PLOT12 for the second and third panels of a multipanel plot generated in the first PLOT statement in an invocation of PROC GLMPOWER.\",\"help\":\"NAME='*string*'\",\"type\":\"value\"}]},{\"name\":\"POWER\",\"description\":\"The POWER statement performs power and sample size analyses for the Type III test of each effect in the model defined by the MODEL statements and for the contrasts defined by all CONTRAST statements.\",\"help\":\"POWER &lt;ALPHA=number-list&gt;&lt;CORRMAT=name-list&gt;&lt;CORRS=name-list&gt; ...\",\"arguments\":[{\"name\":\"ALPHA=\",\"optional\":true,\"description\":\"Specifies the level of significance of each test. The default is 0.05, corresponding to the usual 0.05 x 100% = 5% level of significance.\",\"help\":\"ALPHA=*number-list*\",\"type\":\"value\"},{\"name\":\"CORRMAT=\",\"optional\":true,\"description\":\"Specifies the correlation matrix of the dependent variables in a multivariate model, by using labels that are specified in the MATRIX= option.\",\"help\":\"CORRMAT=*name-list*\",\"type\":\"value\"},{\"name\":\"CORRS=\",\"optional\":true,\"description\":\"Specifies the correlations among the dependent variables in a multivariate model, by using labels that are specified in the MATRIX= option.\",\"help\":\"CORRS=*name-list*\",\"type\":\"value\"},{\"name\":\"CORRXY=\",\"optional\":true,\"description\":\"Specifies the multiple correlation between all covariates and the response.\",\"help\":\"CORRXY=*number-list*\",\"type\":\"value\"},{\"name\":\"COVMAT=\",\"optional\":true,\"description\":\"Specifies the covariance matrix of the dependent variables in a multivariate model, by using labels that are specified in the MATRIX= option.\",\"help\":\"COVMAT=*name-list*\",\"type\":\"value\"},{\"name\":\"DEPENDENT\",\"optional\":true,\"description\":\"Specifies the location of the Dependent column in the output when the OUTPUTORDER=REVERSE option or OUTPUTORDER=SYNTAX option is used, according to its relative position in the POWER statement.\",\"type\":\"standalone\"},{\"name\":\"EFFECTS=\",\"optional\":true,\"description\":\"Specifies the model effects to include in the power analysis. By default, or if the EFFECTS keyword is specified without the equal sign (=), all model effects are included.\",\"type\":\"value\"},{\"name\":\"MATRIX\",\"optional\":true,\"description\":\"Defines a matrix or vector that you can use along with the CORRMAT=, CORRS=, COVMAT=, and SQRTVAR= options when you have a multivariate model.\",\"type\":\"standalone\"},{\"name\":\"METHOD=\",\"optional\":true,\"description\":\"\",\"help\":\"METHOD=MULLERPETERSON | OBRIENSHIEH\",\"type\":\"choice\",\"arguments\":[{\"name\":\"MULLERPETERSON\",\"aliases\":[\"MP\"],\"description\":\"METHOD=MULLERPETERSON is based on Muller and Peterson (1984).\",\"type\":\"standalone\"},{\"name\":\"OBRIENSHIEH\",\"aliases\":[\"OS\"],\"description\":\"METHOD=OBRIENSHIEH (the default) is based on O’Brien and Shieh (1992).\",\"type\":\"standalone\"}]},{\"name\":\"MTEST=\",\"optional\":true,\"description\":\"Specifies the form of the F test for a multivariate model.\",\"help\":\"MTEST=*test-list*\",\"type\":\"value\"},{\"name\":\"NCOVARIATES=\",\"optional\":true,\"aliases\":[\"NCOVARIATE=\",\"NVCOVS=\",\"NCOV=\"],\"description\":\"Specifies the number of additional degrees of freedom to accommodate covariate effects—both class and continuous—not listed in the MODEL statement.\",\"help\":\"NCOVARIATES=*number-list*\",\"type\":\"value\"},{\"name\":\"NFRACTIONAL\",\"optional\":true,\"aliases\":[\"NFRAC\"],\"description\":\"Enables fractional input and output for sample sizes.\",\"type\":\"standalone\"},{\"name\":\"NTOTAL=\",\"optional\":true,\"description\":\"Specifies the sample size or requests a solution for the sample size with a missing value (NTOTAL=.).\",\"help\":\"NTOTAL=*number-list*\",\"type\":\"value\"},{\"name\":\"OUTPUTORDER=\",\"optional\":true,\"description\":\"Specifies the sample size or requests a solution for the sample size with a missing value (NTOTAL=.).\",\"help\":\"OUTPUTORDER=INTERNAL | REVERSE | SYNTAX\",\"type\":\"choice\",\"arguments\":[{\"name\":\"INTERNAL\",\"description\":\"(The default) Arranges the parameters in the output according to the following order of their corresponding options: DEPENDENT EFFECTS= weight variable (from the WEIGHT statement) ALPHA= NCOVARIATES= CORRXY= PROPVARREDUCTION= STDDEV= NTOTAL= POWER=\",\"type\":\"standalone\"},{\"name\":\"REVERSE\",\"description\":\"Arranges the parameters in the output in the reverse of the order in which their corresponding options are specified in the POWER statement.\",\"type\":\"standalone\"},{\"name\":\"SYNTAX\",\"description\":\"Arranges the parameters in the output in the same order in which their corresponding options are specified in the POWER statement.\",\"type\":\"standalone\"}]},{\"name\":\"POWER=\",\"optional\":true,\"description\":\"Specifies the desired power of each test or requests a solution for the power with a missing value (POWER=.).\",\"help\":\"POWER=*number-list*\",\"type\":\"value\"},{\"name\":\"PROPVARREDUCTION=\",\"optional\":true,\"aliases\":[\"PVRED=\"],\"description\":\"Specifies the proportional reduction (r) in total R² incurred by the covariates—-in other words, the amount of additional variation explained by the covariates.\",\"help\":\"PROPVARREDUCTION=*number-list*\",\"type\":\"value\"},{\"name\":\"SQRTVAR=\",\"optional\":true,\"description\":\"Specifies the vector of standard deviations—that is, the square roots of the variances—of the dependent variables in a multivariate model, by using labels that are specified using the MATRIX= option. The standard deviation values must be positive.\",\"help\":\"SQRTVAR=*name-list*\",\"type\":\"value\"},{\"name\":\"STDDEV=\",\"optional\":true,\"description\":\"Specifies the error standard deviation, or root MSE.\",\"help\":\"STDDEV=*number-list*\",\"type\":\"value\"},{\"name\":\"UEPSDEF=\",\"optional\":true,\"description\":\"Specifies the type of adjustment for MTEST=HF. The default is UEPSDEF=HFL, which corresponds to the corrected form of the Huynh-Feldt adjustment (Huynh and Feldt; 1976; Lecoutre; 1991).\",\"help\":\"UEPSDEF=*unbiased-epsilon-definition*\",\"type\":\"value\"}]},{\"name\":\"REPEATED\",\"description\":\"If the MODEL statement includes more than one dependent variable, you can indicate a multivariate model and define transformations of dependent variables by using the REPEATED statement.\",\"help\":\"REPEATED factor-specification\"},{\"name\":\"WEIGHT\",\"description\":\"The WEIGHT statement names a variable that provides a profile weight (\\\"cell weight\\\") for each observation in the exemplary data set specified by the DATA= option in the PROC GLMPOWER statement.\",\"help\":\"WEIGHT variable\"}],\"supportSiteInformation\":{\"docsetId\":\"statug\",\"docsetVersion\":\"latest\",\"docsetTargetFile\":\"statug_glmpower_toc.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/GLMSELECT.json",
    "content": "{\"name\":\"GLMSELECT\",\"statements\":[{\"name\":\"PROC GLMSELECT\",\"description\":\"A variety of model selection methods are available, including the LASSO method of Tibshirani (1996) and the related LAR method of Efron et al. (2004). The procedure offers extensive capabilities for customizing the selection with a wide variety of selection and stopping criteria, from traditional and computationally efficient significance-level-based criteria to more computationally intensive validation-based criteria. The procedure also provides graphical summaries of the selection search. † The GLMSELECT procedure compares most closely to REG and GLM. The REG procedure supports a variety of model-selection methods but does not support a CLASS statement. The GLM procedure supports a CLASS statement but does not include effect selection methods. The GLMSELECT procedure fills this gap. GLMSELECT focuses on the standard independently and identically distributed general linear model for univariate responses and offers great flexibility for and insight into the model selection algorithm. GLMSELECT provides results (displayed tables, output data sets, and macro variables) that make it easy to take the selected model and explore it in more detail in a subsequent procedure such as REG or GLM.\",\"help\":\"PROC GLMSELECT <DATA=SAS-data-set><MAXMACRO=n><NAMELEN=n><NOPRINT><OUTDESIGN <(options)><=SAS-data-set>><PARMLABELSTYLE=INTERLACED | SEPARATE | SEPARATECOMPACT><PLOTS=ALL | ASEPLOT | CANDIDATESPLOT... ><SEED=number><TESTDATA=SAS-data-set><VALDATA=SAS-data-set>;     \\n\\tBY <DESCENDING><NOTSORTED> ;\\n\\n\\tCLASS <CPREFIX=n><DELIMITER=quoted character><SHOW> ...;\\n\\n\\tCODE <CATALOG=library.catalog.entry.typeCAT=library.catalog.entry.type><DUMMIES><NODUMMIES> ...;\\n\\n\\tEFFECT EFFECT-NAME=COLLECTION|LAG|MULTIMEMBER|MM...  <PERIOD=variable><WITHIN=(variables) | WITHIN=variable> ...;\\n\\n\\tFREQ variable ;\\n\\n\\tMODEL <CVDETAILS=<ALL | COEFFS | CVPRESS>><CVMETHOD=<BLOCK | RANDOM | SPLIT>... ><DETAILS=<ALL | STEPS | SUMMARY>> ...;\\n\\n\\tMODELAVERAGE <ALPHA=α><DETAILS><NSAMPLES=n> ...;\\n\\n\\tOUTPUT OUT=SAS data set <PREDICTED><RESIDUAL> ...;\\n\\n\\tPARTITION <FRACTION(<TEST=fraction> <VALIDATE=fraction>)><ROLEVAR= | ROLE=variable(<TEST='value'> <TRAIN='value'> <VALIDATE='value'>)> ;\\n\\n\\tPERFORMANCE <BUILDSSCP=<FULL | INCREMENTAL>><DETAILS> ;\\n\\n\\tSCORE <DATA=SAS data set><PREDICTED><RESIDUAL> ...;\\n\\n\\tSTORE <LABEL=> OUT=item-store-name ;\\n\\n\\tWEIGHT variable ;\\n\",\"arguments\":[{\"name\":\"DATA=\",\"optional\":true,\"description\":\"Names the SAS data set to be used by PROC GLMSELECT. If the DATA= option is not specified, PROC GLMSELECT uses the most recently created SAS data set.\",\"help\":\"DATA=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"MAXMACRO=\",\"optional\":true,\"description\":\"Specifies the maximum number of macro variables with selected effects to create. By default, MAXMACRO=100.\",\"help\":\"MAXMACRO=*n*\",\"type\":\"value\"},{\"name\":\"NAMELEN=\",\"optional\":true,\"description\":\"Specifies the length of effect names in tables and output data sets to be n characters long, where n is a value between 20 and 200 characters. The default length is 20 characters.\",\"help\":\"NAMELEN=*n*\",\"type\":\"value\"},{\"name\":\"NOPRINT\",\"optional\":true,\"description\":\"Suppresses all displayed output including plots.\",\"type\":\"standalone\"},{\"name\":\"OUTDESIGN=\",\"optional\":true,\"description\":\"Creates a data set that contains the design matrix. You can specify the following options in parentheses to control the contents of the OUTDESIGN data set: ADDINPUTVARS requests that all variables in the input data set be included in the OUTDESIGN= data set. FULLMODEL specifies that parameters corresponding to all the effects specified in the MODEL statement be included in the OUTDESIGN= data set. NAMES produces a table associating columns in the OUTDESIGN data set with the labels of the parameters they represent.\",\"help\":\"OUTDESIGN=ADDINPUTVARS | FULLMODEL | NAMES | PREFIX | PREFIX=\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ADDINPUTVARS\",\"type\":\"standalone\"},{\"name\":\"FULLMODEL\",\"type\":\"standalone\"},{\"name\":\"NAMES\",\"type\":\"standalone\"},{\"name\":\"PREFIX\",\"type\":\"standalone\"},{\"name\":\"PREFIX=\",\"type\":\"value\"}]},{\"name\":\"PARMLABELSTYLE=\",\"optional\":true,\"description\":\"Specifies how parameter names and labels are constructed for nested and crossed effects.\",\"help\":\"PARMLABELSTYLE=INTERLACED | SEPARATE | SEPARATECOMPACT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"INTERLACED\",\"description\":\"Syntax: INTERLACED <(SEPARATOR=quoted string)> Forms parameter names and labels by positioning levels of classification variables and constructed effects adjacent to the associated variable or constructed effect name and using '*' as the delimiter for both crossed and nested effects.\",\"type\":\"standalone\"},{\"name\":\"SEPARATE\",\"description\":\"Specifies that in forming parameter names and labels, the effect name appears before the levels associated with the classification variables and constructed effects in the effect.\",\"type\":\"standalone\"},{\"name\":\"SEPARATECOMPACT\",\"description\":\"Requests the same parameter naming and labeling scheme as PARMLABELSTYLE=SEPARATE except that the first level in the parameter label is separated from the effect name by a single blank.\",\"type\":\"standalone\"}]},{\"name\":\"PLOTS=\",\"optional\":true,\"description\":\"Controls the plots produced through ODS Graphics. The following global-options apply to all plots generated by the GLMSELECT procedure: ENDSTEP=n specifies that the step ranges shown on the horizontal axes of plots terminates at specified step. LOGP | LOGPVALUE requests that the natural logarithm of the entry and removal significance levels be displayed. MAXSTEPLABEL=n specifies the maximum number of characters beyond which labels of effects on plots are truncated. MAXPARMLABEL= n specifies the maximum number of characters beyond which parameter labels on plots are truncated. STARTSTEP=n specifies that the step ranges shown on the horizontal axes of plots start at the specified step. STEPAXIS=EFFECT | NORMB | NUMBER specifies the horizontal axis to be used on the plots, where this axis represents the sequence of entering or departing effects.\",\"help\":\"PLOTS=ALL | ASEPLOT | CANDIDATESPLOT | COEFFICIENTPANEL | CRITERIONPANEL | EFFECTSELECTPCT | PARMDIST | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ALL\",\"description\":\"Requests that all default plots be produced.\",\"type\":\"standalone\"},{\"name\":\"ASEPLOT\",\"description\":\"Syntax: ASEPLOT<(aseplot-option)> Plots the progression of the average square error on the training data, and the test and validation data whenever these data are provided with the TESTDATA= and VALDATA= options or are produced by using a PARTITION statement. The following aseplot-option option is available: STEPAXIS=EFFECT | NORMB | NUMBER specifies the horizontal axis to be used.\",\"type\":\"standalone\"},{\"name\":\"CANDIDATESPLOT\",\"description\":\"Syntax: CANDIDATESPLOT<(candidatesplot-options)> Produces a needle plot of the select criterion values for the candidates for entry or removal at each step of the selection process, ordered from best to worst. The following candidatesplot-options are available: LOGP | LOGPVALUE requests that the natural logarithm of the entry and removal significance levels be displayed. ificance level. SHOW=number specifies the maximum number of candidates displayed at each step. The default is SHOW=10.\",\"type\":\"standalone\"},{\"name\":\"COEFFICIENTPANEL\",\"description\":\"Syntax: COEFFICIENTPANEL<(coefficientPanel-options)> Plots a panel of two plots. The upper plot shows the progression of the parameter values as the selection process proceeds. The lower plot shows the progression of the CHOOSE= criterion. The following coefficientPanel-options are available: LABELGAP=percentage specifies the percentage of the vertical axis range that forms the minimum gap between successive parameter labels at the final step of the coefficient progression plot. LOGPVALUE requests that the natural logarithm of the entry and removal significance levels be displayed if the choose criterion is significance level. STEPAXIS=EFFECT | NORMB | NUMBER specifies the horizontal axis to be used. UNPACK | UNPACKPANEL displays the coefficient progression and the choose criterion progression in separate plots.\",\"type\":\"standalone\"},{\"name\":\"CRITERIONPANEL\",\"description\":\"Syntax: CRITERIONPANEL<(criterionPanel-options)> Plots a panel of model fit criteria. The criteria that are displayed are ADJRSQ, AIC, AICC, and SBC, as well as any other criteria that are named in the CHOOSE=, SELECT=, STOP=, or STATS= option in the MODEL statement. The following criterionPanel-options are available: STEPAXIS=EFFECT | NORMB | NUMBER specifies the horizontal axis to be used. UNPACK | UNPACKPANEL displays each criterion progression on a separate plot.\",\"type\":\"standalone\"},{\"name\":\"EFFECTSELECTPCT\",\"description\":\"Syntax: EFFECTSELECTPCT <(effectSelectPct-options)> Requests a bar chart whose bars correspond to effects that are selected in at least one sample when you use the MODELAVERAGE statement. The following effectSelectPct-options are available: MINPCT=percent specifies that effects that appear in fewer than the specified percentage of the sample selected models not be included in the plot. ORDER=ASCENDING | DESCENDING | MODEL specifies the ordering of the effects in the bar chart.\",\"type\":\"standalone\"},{\"name\":\"PARMDIST\",\"description\":\"Syntax: PARMDIST <(parmDist-options)> Produces a panel that shows histograms and box plots of the parameter estimate values across samples when you use a MODELAVERAGE statement. The following parmDist-options are available: MINPCT=percent specifies that distributions be shown only for parameters whose estimates are nonzero in at least the specified percentage of the selected models. ORDER=ASCENDING | DESCENDING | MODEL specifies the ordering of the parameters in the panels. NOBOXPLOTS suppress the box plots. PLOTSPERPANEL=number specifies the maximum number of parameter distributions that appear in a panel. UNPACK specifies that the distribution for each relevant parameter be shown in a separate plot.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"Suppresses all plots.\",\"type\":\"standalone\"}]},{\"name\":\"SEED=\",\"optional\":true,\"description\":\"Specifies an integer used to start the pseudo-random number generator for random cross validation and random partitioning of data for training, testing, and validation.\",\"help\":\"SEED=*number*\",\"type\":\"value\"},{\"name\":\"TESTDATA=\",\"optional\":true,\"description\":\"Names a SAS data set containing test data. This data set must contain all the variables specified in the MODEL statement.\",\"help\":\"TESTDATA=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"VALDATA=\",\"optional\":true,\"description\":\"Names a SAS data set containing validation data. This data set must contain all the variables specified in the MODEL statement.\",\"help\":\"VALDATA=*SAS-data-set*\",\"type\":\"dataSet\"}]},{\"name\":\"BY\",\"description\":\"You can specify a BY statement with PROC GLMSELECT to obtain separate analyses of observations in groups that are defined by the BY variables. When a BY statement appears, the procedure expects the input data set to be sorted in order of the BY variables. If you specify more than one BY statement, only the last one specified is used. If your input data set is not sorted in ascending order, use one of the following alternatives: • Sort the data by using the SORT procedure with a similar BY statement. • Specify the NOTSORTED or DESCENDING option in the BY statement for the BCHOICE procedure. The NOTSORTED option does not mean that the data are unsorted but rather that the data are arranged in groups (according to values of the BY variables) and that these groups are not necessarily in alphabetical or increasing numeric order. • Create an index on the BY variables by using the DATASETS procedure (in Base SAS software).\",\"help\":\"BY &lt;DESCENDING&gt;&lt;NOTSORTED&gt;\",\"arguments\":[{\"name\":\"DESCENDING\",\"optional\":true,\"description\":\"Specifies that the observations are sorted in descending order by the variable that immediately follows the word DESCENDING in the BY statement.\",\"type\":\"standalone\"},{\"name\":\"NOTSORTED\",\"optional\":true,\"description\":\"Specifies that observations are not necessarily sorted in alphabetic or numeric order.\",\"type\":\"standalone\"}]},{\"name\":\"CLASS\",\"description\":\"The CLASS statement names the classification variables to be used in the analysis. The CLASS statement must precede the MODEL statement.\",\"help\":\"CLASS &lt;CPREFIX=n&gt;&lt;DELIMITER=quoted character&gt;&lt;SHOW&gt; ...\",\"arguments\":[{\"name\":\"CPREFIX=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies that, at most, the first n characters of a CLASS variable name be used in creating names for the corresponding design variables.\",\"help\":\"CPREFIX=*n*\",\"type\":\"value\"},{\"name\":\"DELIMITER=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the delimiter that is used between levels of classification variables in building parameter names and lists of class level values.\",\"type\":\"value\"},{\"name\":\"DESCENDING\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"DESC\"],\"description\":\"Reverses the sorting order of the classification variable.\",\"type\":\"standalone\"},{\"name\":\"LPREFIX=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies that, at most, the first n characters of a CLASS variable label be used in creating labels for the corresponding design variables.\",\"help\":\"LPREFIX=*n*\",\"type\":\"value\"},{\"name\":\"MISSING\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Allows missing value ('.' for a numeric variable and blanks for a character variables) as a valid value for the CLASS variable.\",\"type\":\"standalone\"},{\"name\":\"ORDER=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the sorting order for the levels of classification variables.\",\"help\":\"ORDER=DATA | FORMATTED | FREQ | INTERNAL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DATA\",\"followsDelimiter\":\"/\",\"description\":\"Orders values according to their order in the input data set.\",\"type\":\"standalone\"},{\"name\":\"FORMATTED\",\"followsDelimiter\":\"/\",\"description\":\"Orders values by their ascending formatted values. This order depends on your operating environment.\",\"type\":\"standalone\"},{\"name\":\"FREQ\",\"followsDelimiter\":\"/\",\"description\":\"Orders values by descending frequency count so that levels with the most observations are listed first.\",\"type\":\"standalone\"},{\"name\":\"INTERNAL\",\"followsDelimiter\":\"/\",\"description\":\"Orders values by their unformatted values, which yields the same order as PROC SORT. This order depends on your operating environment.\",\"type\":\"standalone\"}]},{\"name\":\"PARAM=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the parameterization method for the classification variable or variables.\",\"help\":\"PARAM=EFFECT | GLM | ORDINAL | POLYNOMIAL | REFERENCE | ORTHEFFECT | ORTHORDINAL | ORTHPOLY | ORTHREF\",\"type\":\"choice\",\"arguments\":[{\"name\":\"EFFECT\",\"followsDelimiter\":\"/\",\"description\":\"Specifies effect coding\",\"type\":\"standalone\"},{\"name\":\"GLM\",\"followsDelimiter\":\"/\",\"description\":\"Specifies less-than-full-rank, reference-cell coding; this option can be used only as a global option.\",\"type\":\"standalone\"},{\"name\":\"ORDINAL\",\"followsDelimiter\":\"/\",\"aliases\":[\"THERMOMETER\"],\"description\":\"Specifies the cumulative parameterization for an ordinal CLASS variable.\",\"type\":\"standalone\"},{\"name\":\"POLYNOMIAL\",\"followsDelimiter\":\"/\",\"aliases\":[\"POLY\"],\"description\":\"Specifies polynomial coding.\",\"type\":\"standalone\"},{\"name\":\"REFERENCE\",\"followsDelimiter\":\"/\",\"aliases\":[\"REF\"],\"description\":\"Specifies reference-cell coding.\",\"type\":\"standalone\"},{\"name\":\"ORTHEFFECT\",\"followsDelimiter\":\"/\",\"description\":\"Orthogonalizes PARAM=EFFECT coding.\",\"type\":\"standalone\"},{\"name\":\"ORTHORDINAL\",\"followsDelimiter\":\"/\",\"aliases\":[\"ORTHOTHERM\"],\"description\":\"Orthogonalizes PARAM=ORDINAL coding.\",\"type\":\"standalone\"},{\"name\":\"ORTHPOLY\",\"followsDelimiter\":\"/\",\"description\":\"Orthogonalizes PARAM=POLYNOMIAL coding.\",\"type\":\"standalone\"},{\"name\":\"ORTHREF\",\"followsDelimiter\":\"/\",\"description\":\"Orthogonalizes PARAM=REFERENCE coding.\",\"type\":\"standalone\"}]},{\"name\":\"REF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the reference level for PARAM=EFFECT, PARAM=REFERENCE, and their orthogonalizations.\",\"help\":\"REF=&lt;'*level*'&gt; | FIRST | LAST\",\"type\":\"choice\",\"arguments\":[{\"name\":\"<'level'>\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"For an individual (but not a global) variable REF= option, you can specify the level of the variable to use as the reference level.\",\"type\":\"value\"},{\"name\":\"FIRST\",\"followsDelimiter\":\"/\",\"description\":\"Designates the first-ordered level as reference.\",\"type\":\"standalone\"},{\"name\":\"LAST\",\"followsDelimiter\":\"/\",\"description\":\"Designates the last-ordered level as reference.\",\"type\":\"standalone\"}]},{\"name\":\"SHOW\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"SHOWCODING\"],\"description\":\"Requests a table for each classification variable that shows the coding used for that variable.\",\"type\":\"standalone\"},{\"name\":\"SPLIT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Splits the columns of the design matrix that correspond to any effect that contains a split classification variable so that they can enter or leave a model independently of the other design columns for that effect. For example, suppose a variable named temp has three levels with values hot, warm, and cold, and a variable named sex has two levels.\",\"type\":\"standalone\"}]},{\"name\":\"CODE\",\"description\":\"The CODE statement writes SAS DATA step code for computing predicted values of the fitted model either to a file or to a catalog entry. This code can then be included in a DATA step to score new data.\",\"help\":\"CODE &lt;CATALOG=library.catalog.entry.typeCAT=library.catalog.entry.type&gt;&lt;DUMMIES&gt;&lt;NODUMMIES&gt; ...\",\"arguments\":[{\"name\":\"CATALOG=\",\"optional\":true,\"aliases\":[\"CAT=\"],\"description\":\"Specifies where to write the generated code in the form of library.catalog.entry.type. The compound name can have from one to four levels. The default library is determined by the USER= SAS system option, which by default is WORK. The default entry is SASCODE, and the default type is SOURCE.\",\"type\":\"value\"},{\"name\":\"DUMMIES\",\"optional\":true,\"description\":\"Specifies to keep dummy variables that represent the CLASS levels in the data set. The default is NODUMMIES, which specifies that dummy variables not be retained.\",\"type\":\"standalone\"},{\"name\":\"ERROR\",\"optional\":true,\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"FILE=\",\"optional\":true,\"description\":\"Names the external file that saves the generated code. When enclosed in a quoted string (for example, FILE=\\\"c:nmydirnscorecode.sas\\\"), this option specifies the path for writing the code to an external file. You can also specify unquoted SAS filenames of no more than eight characters for filename. If the filename is assigned as a fileref in a Base SAS FILENAME statement, the file specified in the FILENAME statement is opened. The special filerefs LOG and PRINT are always assigned. If the specified filename is not an assigned fileref, the specified value for filename is concatenated with a .txt extension before the file is opened. For example, if FOO is not an assigned fileref, FILE=FOO causes FOO.txt to be opened. If filename has more than eight characters, an error message is printed.\",\"type\":\"value\"},{\"name\":\"FORMAT=\",\"optional\":true,\"description\":\"Specifies the format for the regression coefficients and other numerical values that do not have a format from the input data set. The default format is BEST20.\",\"help\":\"FORMAT=*format*\",\"type\":\"value\"},{\"name\":\"GROUP=\",\"optional\":true,\"description\":\"Specifies the group identifier for group processing. The group-name should be a valid SAS name of no more than 16 characters. It is used to construct array names and statement labels in the generated code.\",\"help\":\"GROUP=*group-name*\",\"type\":\"value\"},{\"name\":\"IMPUTE\",\"optional\":true,\"description\":\"Imputes the predicted values according to an intercept-only model for observations with missing or invalid covariate values. For a continuous response, the predicted value is the mean of the response variable; for a categorical response, the predicted values are the proportions of the response categories. When the IMPUTE option is specified, the scoring code also creates a variable named _WARN_ that contains one or more single-character codes that indicate problems in computing predicted values. The character codes used in _WARN_ go in the following positions:\",\"type\":\"standalone\"},{\"name\":\"LINESIZE=\",\"optional\":true,\"aliases\":[\"LS=\"],\"description\":\"Specifies the line size for the generated code. The default is 72. The permissible range is 64 to 254.\",\"type\":\"value\"},{\"name\":\"LOOKUP=\",\"optional\":true,\"description\":\"Specifies the algorithm for looking up CLASS levels. The default is LOOKUP=AUTO.\",\"help\":\"LOOKUP=AUTO | BINARY | LINEAR | SELECT*lookup-method*\",\"type\":\"value\",\"arguments\":[{\"name\":\"AUTO\",\"description\":\"Selects the LINEAR algorithm if a CLASS variable has fewer than five categories; otherwise, the BINARY algorithm is used. This is the default.\",\"type\":\"standalone\"},{\"name\":\"BINARY\",\"description\":\"Uses a binary search. This method is fast, but might produce incorrect results and the normalized category values might contain characters that collate in different orders in ASCII and EBCDIC, if you generate the code on an ASCII machine and execute the code on an EBCDIC machine or vice versa.\",\"type\":\"standalone\"},{\"name\":\"LINEAR\",\"description\":\"Uses a linear search with IF statements that have categories in the order of the class levels. This method is slow if there are many categories.\",\"type\":\"standalone\"},{\"name\":\"SELECT\",\"description\":\"Uses a SELECT statement.\",\"type\":\"standalone\"}]},{\"name\":\"NODUMMIES\",\"optional\":true,\"description\":\"Specifies that dummy variables not be retained.\",\"type\":\"standalone\"},{\"name\":\"NOERROR\",\"optional\":true,\"description\":\"The default is NOERROR, which specifies that the error function not be generated.\",\"type\":\"standalone\"},{\"name\":\"NORESIDUAL\",\"optional\":true,\"description\":\"The default is NORESIDUAL, which specifies that the code for residuals not be generated.\",\"type\":\"standalone\"},{\"name\":\"RESIDUAL\",\"optional\":true,\"description\":\"Specifies to generate code to compute residual values. If you request code for residuals and then score a data set that does not contain target values, the residuals will have missing values. The default is NORESIDUAL, which specifies that the code for residuals not be generated.\",\"type\":\"standalone\"}]},{\"name\":\"EFFECT\",\"description\":\"The EFFECT statement enables you to construct special collections of columns for design matrices. These collections are referred to as constructed effects to distinguish them from the usual model effects that are formed from continuous or classification variables.\",\"help\":\"EFFECT EFFECT-NAME=COLLECTION|LAG|MULTIMEMBER|MM...  &lt;PERIOD=variable&gt;&lt;WITHIN=(variables) | WITHIN=variable&gt; ...\",\"arguments\":[{\"name\":\"EFFECT-NAME=\",\"placeholder\":true,\"description\":\"Replace 'EFFECT-NAME' with the name of the effect, specified after the EFFECT keyword. This name can appear in only one EFFECT statement and cannot be the name of a variable in the input data set. These values can be used: COLLECTION, LAG, MULTIMEMBER, POLYNOMIAL, or SPLINE.\",\"type\":\"value\"},{\"name\":\"BASIS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"[For the SPLINE effect-type only] Specifies a basis for the spline expansion.\",\"help\":\"BASIS=BSPLINE | TPF\",\"type\":\"choice\",\"arguments\":[{\"name\":\"BSPLINE\",\"followsDelimiter\":\"/\",\"description\":\"Specifies a B-spline basis for the spline expansion.\",\"type\":\"standalone\"},{\"name\":\"TPF\",\"followsDelimiter\":\"/\",\"description\":\"Syntax: TPF(options) Specifies a truncated power function basis for the spline expansion. You can modify the number of columns when you request BASIS=TPF with the following options: NOINT excludes the intercept column. NOPOWERS excludes the intercept and polynomial columns.\",\"type\":\"standalone\"}]},{\"name\":\"DATABOUNDARY\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"[For the SPLINE effect-type only] Specifies that the extremes of the data be used as boundary knots when building a B-spline basis.\",\"type\":\"standalone\"},{\"name\":\"DEGREE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"\",\"help\":\"DEGREE=*n*\",\"type\":\"value\"},{\"name\":\"DESIGNROLE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"\",\"help\":\"DESIGNROLE=*variable*\",\"type\":\"value\"},{\"name\":\"DETAILS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"[For the LAG | COLLECTION | MULTIMEMBER | POLYNOMIAL |SPLINE effect-type] Requests a table that shows the (1) lag design matrix of the lag effect, or (2) constituents of the collection effect, or (3) levels of the multimember effect, or (4) details of the specified polynomial, or (5) knot locations and the knots associated with each spline basis function.\",\"type\":\"standalone\"},{\"name\":\"KNOTMAX=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"\",\"help\":\"KNOTMAX=*value*\",\"type\":\"value\"},{\"name\":\"KNOTMETHOD=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"[For the SPLINE effect-type only] Specifies how to construct the knots for spline effects.\",\"help\":\"KNOTMETHOD=EQUAL | LIST | LISTWITHBOUNDARY | MULTISCALE | PERCENTILES | RANGEFRACTIONS\",\"type\":\"choice\",\"arguments\":[{\"name\":\"EQUAL\",\"followsDelimiter\":\"/\",\"description\":\"Syntax: EQUAL<(n)> Specifies that n equally spaced knots be positioned between the extremes of the data. The default is n=3. For a B-spline basis, any needed boundary knots continue to be equally spaced unless the DATABOUNDARY option has also been specified. KNOTMETHOD=EQUAL is the default if no knot-method is specified.\",\"type\":\"standalone\"},{\"name\":\"LIST\",\"followsDelimiter\":\"/\",\"description\":\"Syntax: LIST(number-list) Specifies the list of internal knots to be used in forming the spline basis columns. For a B-spline basis, the data extremes are used as boundary knots.\",\"type\":\"standalone\"},{\"name\":\"LISTWITHBOUNDARY\",\"followsDelimiter\":\"/\",\"description\":\"Syntax: LISTWITHBOUNDARY(number-list) Specifies the list of all knots that are used in forming the spline basis columns.\",\"type\":\"standalone\"},{\"name\":\"MULTISCALE\",\"followsDelimiter\":\"/\",\"description\":\"Syntax: MULTISCALE<(multiscale-options)> Specifies that multiple B-spline bases be generated, corresponding to sets with an increasing number of internal knots. You can control which scales are included with the following multiscale-options: STARTSCALE=n specifies the start scale, where n is a positive integer. The default is STARTSCALE=0. ENDSCALE=n specifies the end scale, where n is a positive integer. The default is ENDSCALE=7.\",\"type\":\"standalone\"},{\"name\":\"PERCENTILES\",\"followsDelimiter\":\"/\",\"description\":\"Syntax: PERCENTILES(n) Requests that internal knots be placed at n equally spaced percentiles of the variable or variables named in the EFFECT statement.\",\"type\":\"standalone\"},{\"name\":\"RANGEFRACTIONS\",\"followsDelimiter\":\"/\",\"description\":\"Syntax: RANGEFRACTIONS(fraction-list) Requests that internal knots be placed at each fraction of the ranges of the variables in the EFFECT statement.\",\"type\":\"standalone\"}]},{\"name\":\"KNOTMIN=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"\",\"help\":\"KNOTMIN=*value*\",\"type\":\"value\"},{\"name\":\"LABELSTYLE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"\",\"help\":\"LABELSTYLE=EXPAND | EXPONENT | INCLUDENAME | PRODUCTSYMBOL=\",\"type\":\"choice\",\"arguments\":[{\"name\":\"EXPAND\",\"followsDelimiter\":\"/\",\"description\":\"Specifies that each variable with an exponent greater than 1 be written as products of that variable.\",\"type\":\"standalone\"},{\"name\":\"EXPONENT\",\"followsDelimiter\":\"/\",\"description\":\"Syntax: EXPONENT <=quoted string> Specifies that each variable with an exponent greater than 1 be written using exponential notation. By default, the symbol ^ is used as the exponentiation operator. If you supply the optional quoted string after an equal sign, then that string is used as the exponentiation operator.\",\"type\":\"standalone\"},{\"name\":\"INCLUDENAME\",\"followsDelimiter\":\"/\",\"description\":\"Specifies that the name of the effect followed by an underscore be used as a prefix for term labels.\",\"type\":\"standalone\"},{\"name\":\"PRODUCTSYMBOL=\",\"followsDelimiter\":\"/\",\"description\":\"Syntax: PRODUCTSYMBOL=NONE | quoted string Specifies that the supplied string be used as the product symbol.\",\"type\":\"value\"}]},{\"name\":\"MDEGREE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"\",\"help\":\"MDEGREE=*n*\",\"type\":\"value\"},{\"name\":\"NLAG=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"\",\"type\":\"value\"},{\"name\":\"NOEFFECT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"[For the MULTIMEMBER effect-type only] Specifies that, for observations with all missing levels of the multimember variables, the values in the corresponding design matrix columns be set to zero.\",\"type\":\"standalone\"},{\"name\":\"NOSEPARATE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"[For the POLYNOMIAL effect-type only] Specifies that the polynomial be treated as a single effect with multiple degrees of freedom. The effect name that you specify is used as the constructed effect name, and the labels of the terms are used as labels of the corresponding parameters.\",\"type\":\"standalone\"},{\"name\":\"PERIOD=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the period variable of the LAG design. The number of periods is the number of unique formatted values of the PERIOD= variable, and the ordering of the period is formed by sorting these formatted values in ascending order. You must specify a PERIOD= variable.\",\"help\":\"PERIOD=*variable*\",\"type\":\"value\"},{\"name\":\"SEPARATE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"[For the SPLINE effect-type only] Specifies that when multiple variables are specified in the EFFECT statement, the spline basis for each variable be treated as a separate effect. The names of these separated effects are formed by appending an underscore followed by the name of the variable to the name that you specify in the EFFECT statement.\",\"type\":\"standalone\"},{\"name\":\"SPLIT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"[For the SPLINE effect-type only] Specifies that each individual column in the design matrix that corresponds to the spline effect be treated as a separate effect that can enter or leave the model independently. Names for these split effects are generated by appending the variable name and an index for each column to the name that you specify in the EFFECT statement.\",\"type\":\"standalone\"},{\"name\":\"STANDARDIZE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies that the variables that define the polynomial be standardized. By default, the standardized variables receive prefix \\\"s_\\\" in the variable names. You can use the following centerscale-opts to specify how the center and scale are estimated: METHOD=MOMENTS specifies that the center be estimated by the variable mean and the scale be estimated by the standard deviation. METHOD=RANGE specifies that the center be estimated by the midpoint of the variable range and the scale be estimated as half the variable range. METHOD=WMOMENTS is the same as METHOD=MOMENTS except that weighted means and weighted standard deviations are used.\",\"help\":\"STANDARDIZECENTER | CENTERSCALE | NONE | SCALE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"CENTER\",\"followsDelimiter\":\"/\",\"description\":\"Specifies that variables be centered but not scaled.\",\"type\":\"standalone\"},{\"name\":\"CENTERSCALE\",\"followsDelimiter\":\"/\",\"description\":\"Specifies that variables be centered and scaled. This is the default if you do not specify a standardization-opt.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"followsDelimiter\":\"/\",\"description\":\"Specifies that no standardization be performed.\",\"type\":\"standalone\"},{\"name\":\"SCALE\",\"followsDelimiter\":\"/\",\"description\":\"Specifies that variables be scaled but not centered.\",\"type\":\"standalone\"}]},{\"name\":\"STDIZE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"[For the MULTIMEMBER effect-type only] Specifies that for each observation, the entries in the design matrix that corresponds to the multimember effect be scaled to have a sum of one.\",\"type\":\"standalone\"},{\"name\":\"WEIGHT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"\",\"help\":\"WEIGHT=*wght-list*\",\"type\":\"value\"},{\"name\":\"WITHIN=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"\",\"type\":\"value\"}]},{\"name\":\"FREQ\",\"description\":\"The variable that is specified in the FREQ statement identifies a variable in the input data set that contains the frequency of occurrence of each observation. PROC GLMSELECT treats each observation as if it appears n times, where n is the value of the FREQ variable for the observation. If it is not an integer, the frequency value is truncated to an integer. If it is less than 1 or missing, the observation is not used.\",\"help\":\"FREQ variable \"},{\"name\":\"MODEL\",\"description\":\"The MODEL statement names the dependent variable and the explanatory effects, including covariates, main effects, constructed effects, interactions, and nested effects\",\"help\":\"MODEL &lt;CVDETAILS=&lt;ALL | COEFFS | CVPRESS&gt;&gt;&lt;CVMETHOD=&lt;BLOCK | RANDOM | SPLIT&gt;... &gt;&lt;DETAILS=&lt;ALL | STEPS | SUMMARY&gt;&gt; ...\",\"arguments\":[{\"name\":\"CVDETAILS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the details produced when cross validation is requested as the CHOOSE=, SELECT=, or STOP= criterion in the MODEL statement.\",\"help\":\"CVDETAILS=ALL | COEFFS | CVPRESS\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ALL\",\"followsDelimiter\":\"/\",\"description\":\"Requests both CVDETAILS=COEFFS and CVDETAILS=CVPRESS.\",\"type\":\"standalone\"},{\"name\":\"COEFFS\",\"followsDelimiter\":\"/\",\"description\":\"Requests that the parameter estimates obtained for each of these n subsets be included in the parameter estimates table.\",\"type\":\"standalone\"},{\"name\":\"CVPRESS\",\"followsDelimiter\":\"/\",\"description\":\"Requests a table containing the predicted residual sum of squares of each of these models scored on the omitted subset.\",\"type\":\"standalone\"}]},{\"name\":\"CVMETHOD=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies how the training data are subdivided into n parts when you request n-fold cross validation by using any of the CHOOSE=CV, SELECT=CV, and STOP=CV suboptions of the SELECTION= option in the MODEL statement.\",\"help\":\"CVMETHOD=BLOCK | RANDOM | SPLIT | INDEX\",\"type\":\"choice\",\"arguments\":[{\"name\":\"BLOCK\",\"followsDelimiter\":\"/\",\"description\":\"Syntax: BLOCK <(n)> Requests that parts be formed of n blocks of consecutive training observations.\",\"type\":\"standalone\"},{\"name\":\"RANDOM\",\"followsDelimiter\":\"/\",\"description\":\"Syntax: RANDOM <(n)> Assigns each training observation randomly to one of the n parts.\",\"type\":\"standalone\"},{\"name\":\"SPLIT\",\"followsDelimiter\":\"/\",\"description\":\"Syntax: SPLIT <(n)> Requests that the ith part consist of training observations i, i+n, i+2n,...\",\"type\":\"standalone\"},{\"name\":\"INDEX\",\"followsDelimiter\":\"/\",\"description\":\"Syntax: INDEX (variable) Assigns observations to parts based on the formatted value of the named variable.\",\"type\":\"standalone\"}]},{\"name\":\"DETAILS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the level of detail produced, where level can be ALL, STEPS, or SUMMARY.\",\"help\":\"DETAILS=ALL | STEPS | SUMMARY\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ALL\",\"followsDelimiter\":\"/\",\"description\":\"Produces the following: (1) entry and removal statistics for each variable selected in the model building process, (2) ANOVA, fit statistics, and parameter estimates, (3)entry and removal statistics for the top 10 candidates for inclusion or exclusion at each step, and (4) a selection summary table.\",\"type\":\"standalone\"},{\"name\":\"STEPS\",\"followsDelimiter\":\"/\",\"description\":\"Syntax: STEPS <(step options)> Provides the step information and the selection summary table. The following options can be specified within parentheses after the DETAILS=STEPS option: ALL requests ANOVA, fit statistics, parameter estimates, and entry or removal statistics for the top 10 candidates for inclusion or exclusion at each selection step. ANOVA requests ANOVA at each selection step. FITSTATISTICS | FITSTATS | FIT requests fit statistics at each selection step. PARAMETERESTIMATES | PARMEST requests parameter estimates at each selection step. CANDIDATES <(SHOW= ALL | n)> requests entry or removal statistics for the best n candidate effects for inclusion or exclusion at each step.\",\"type\":\"standalone\"},{\"name\":\"SUMMARY\",\"followsDelimiter\":\"/\",\"description\":\"Produces only the selection summary table.\",\"type\":\"standalone\"}]},{\"name\":\"FUZZ=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the tolerance range for criterion comparisons. Criterion values that differ by less than the tolerance are regarded as equal. If you specify FUZZ=0, then the comparisons are based on simple equality. The default is 10^-12.\",\"help\":\"FUZZ=*value*\",\"type\":\"value\"},{\"name\":\"HIERARCHY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"HIER=\"],\"description\":\"Specifies whether and how the model hierarchy requirement is applied. This option also controls whether a single effect or multiple effects are allowed to enter or leave the model in one step. You can specify that only classification effects, or both classification and continuous effects, be subject to the hierarchy requirement.\",\"help\":\"HIERARCHY=NONE | SINGLE | SINGLECLASS\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NONE\",\"followsDelimiter\":\"/\",\"description\":\"Specifies that model hierarchy not be maintained. This is the default.\",\"type\":\"standalone\"},{\"name\":\"SINGLE\",\"followsDelimiter\":\"/\",\"description\":\"Specifies that only one effect enter or leave the model at one time, subject to the model hierarchy requirement.\",\"type\":\"standalone\"},{\"name\":\"SINGLECLASS\",\"followsDelimiter\":\"/\",\"description\":\"Is the same as HIERARCHY=SINGLE except that only CLASS effects are subject to the hierarchy requirement.\",\"type\":\"standalone\"}]},{\"name\":\"NOINT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies that for the selected model, effects be displayed in the order in which they first entered the model.\",\"type\":\"standalone\"},{\"name\":\"ORDERSELECT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies that for the selected model, effects be displayed in the order in which they first entered the model.\",\"type\":\"standalone\"},{\"name\":\"SELECTION=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the method used to select the model, optionally followed by parentheses enclosing options applicable to the specified method. The default if the SELECTION= option is omitted is SELECTION=STEPWISE.\",\"help\":\"SELECTION=NONE | FORWARD | BACKWARD | STEPWISE | LAR | LASSO | ELASTICNET | GROUPLASSO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NONE\",\"followsDelimiter\":\"/\",\"description\":\"No model selection\",\"type\":\"standalone\"},{\"name\":\"FORWARD\",\"followsDelimiter\":\"/\",\"description\":\"Forward selection. This method starts with no effects in the model and adds effects.\",\"type\":\"standalone\"},{\"name\":\"BACKWARD\",\"followsDelimiter\":\"/\",\"description\":\"Backward elimination. This method starts with all effects in the model and deletes effects.\",\"type\":\"standalone\"},{\"name\":\"STEPWISE\",\"followsDelimiter\":\"/\",\"description\":\"Stepwise regression. This is similar to the FORWARD method except that effects already in the model do not necessarily stay there.\",\"type\":\"standalone\"},{\"name\":\"LAR\",\"followsDelimiter\":\"/\",\"description\":\"Least angle regression. This method, like forward selection, starts with no effects in the model and adds effects.\",\"type\":\"standalone\"},{\"name\":\"LASSO\",\"followsDelimiter\":\"/\",\"description\":\"This method adds and deletes parameters based on a version of ordinary least squares where the sum of the absolute regression coefficients is constrained.\",\"type\":\"standalone\"},{\"name\":\"ELASTICNET\",\"followsDelimiter\":\"/\",\"description\":\"Specifies the elastic net method, an extension of LASSO that estimates parameters based on a version of ordinary least squares in which both the sum of the absolute regression coefficients and the sum of the squared regression coefficients are constrained.\",\"type\":\"standalone\"},{\"name\":\"GROUPLASSO\",\"followsDelimiter\":\"/\",\"description\":\"Specifies the group LASSO method, a variant of LASSO that estimates parameters based on a version of ordinary least squares in which the sum of the Euclidean norms of a group of regression coefficients is constrained.\",\"type\":\"standalone\"}]},{\"name\":\"SHOWPVALUES\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays p-values in the \\\"ANOVA\\\" and \\\"Parameter Estimates\\\" tables.\",\"type\":\"standalone\"},{\"name\":\"STAT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"STATS=\"],\"description\":\"Specifies which model fit statistics are displayed in the fit summary table and fit statistics tables.\",\"help\":\"STAT=ADJRSQ | AIC | AICC | ASE | BIC | CP | FVALUE | PRESS | RSQUARE | SBC | SL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ADJRSQ\",\"followsDelimiter\":\"/\",\"description\":\"The adjusted R-square statistic\",\"type\":\"standalone\"},{\"name\":\"AIC\",\"followsDelimiter\":\"/\",\"description\":\"The Akaike information criterion\",\"type\":\"standalone\"},{\"name\":\"AICC\",\"followsDelimiter\":\"/\",\"description\":\"The corrected Akaike information criterion\",\"type\":\"standalone\"},{\"name\":\"ASE\",\"followsDelimiter\":\"/\",\"description\":\"The average square errors for the training, test, and validation data.\",\"type\":\"standalone\"},{\"name\":\"BIC\",\"followsDelimiter\":\"/\",\"description\":\"The Sawa Bayesian information criterion\",\"type\":\"standalone\"},{\"name\":\"CP\",\"followsDelimiter\":\"/\",\"description\":\"The Mallows C(p) statistic\",\"type\":\"standalone\"},{\"name\":\"FVALUE\",\"followsDelimiter\":\"/\",\"description\":\"The F statistic for entering or departing effects\",\"type\":\"standalone\"},{\"name\":\"PRESS\",\"followsDelimiter\":\"/\",\"description\":\"The predicted residual sum of squares statistic\",\"type\":\"standalone\"},{\"name\":\"RSQUARE\",\"followsDelimiter\":\"/\",\"description\":\"The R-square statistic\",\"type\":\"standalone\"},{\"name\":\"SBC\",\"followsDelimiter\":\"/\",\"description\":\"The Schwarz Bayesian information criterion\",\"type\":\"standalone\"},{\"name\":\"SL\",\"followsDelimiter\":\"/\",\"description\":\"The significance level of the F statistic for entering or departing effects\",\"type\":\"standalone\"}]},{\"name\":\"STB\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Produces standardized regression coefficients.\",\"type\":\"standalone\"},{\"name\":\"TOL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the tolerance value that determines the optimization precision in SELECTION=GROUPLASSO. The default value is 10^-6.\",\"help\":\"TOL=*value*\",\"type\":\"value\"}]},{\"name\":\"MODELAVERAGE\",\"description\":\"The MODELAVERAGE statement requests that model selection be repeated on resampled subsets of the input data. An average model is produced by averaging the parameter estimates of the selected models that are obtained for each resampled subset of the input data.\",\"help\":\"MODELAVERAGE &lt;ALPHA=α&gt;&lt;DETAILS&gt;&lt;NSAMPLES=n&gt; ...\",\"arguments\":[{\"name\":\"ALPHA=\",\"optional\":true,\"description\":\"Controls which lower and upper quantiles of the sample parameter estimates are displayed. The ALPHA= option also controls which quantiles of the predicted values are added to the output data set when the LOWER= and UPPER= options are specified in the OUTPUT statement. The lower and upper quantiles used are α/2 and 1-α/2, respectively. The value specified must lie in the interval [0,1]. The default value is ALPHA=0.5.\",\"type\":\"value\"},{\"name\":\"DETAILS\",\"optional\":true,\"description\":\"Requests that model selection details be displayed for each sample of the data. The level of detail shown is controlled by the DETAILS= option in the MODEL statement.\",\"type\":\"standalone\"},{\"name\":\"NSAMPLES=\",\"optional\":true,\"description\":\"Specifies the number of samples to be used. The default value is NSAMPLES=100.\",\"help\":\"NSAMPLES=*n*\",\"type\":\"value\"},{\"name\":\"REFIT=\",\"optional\":true,\"description\":\"Requests that a second round of model averaging, referred to as the refit averaging, be performed. Usually, the initial round of model averaging produces a model that contains a large number of effects. You can use the refit option to obtain a more parsimonious model. For each data sample in the refit, a least squares model is fit with no effect selection. The effects that are used in the refit depend on the results of the initial round of model averaging. If you do not specify any refit-options, then effects that are selected in at least twenty percent of the samples in the initial round of model averaging are used in the refit model average. The following refit-options are available: BEST=n specifies that the n most frequently selected effects in the initial round of model averaging be used in the refit averaging. MINPCT=percent specifies that the effects that are selected at least the specified percentage of times in the initial round of model averaging be used in the refit averaging.\",\"help\":\"REFIT=BEST= | MINPCT= | NSAMPLES=\",\"type\":\"choice\",\"arguments\":[{\"name\":\"BEST=\",\"type\":\"value\"},{\"name\":\"MINPCT=\",\"type\":\"value\"},{\"name\":\"NSAMPLES=\",\"type\":\"value\"}]},{\"name\":\"SAMPLING=\",\"optional\":true,\"description\":\"Specifies how the samples of the usable observations in the training data are generated. Model averaging with samples drawn without replacement corresponds to the bootstrap methodology. The default is SAMPLING=URS. If you specify a frequency variable by using a FREQ statement, then the ith observation is sampled fi times, where fi is the frequency of the ith observation. You can specify one of the following sampling-options: PERCENT=percent specifies the percentage of the training data that is used in each sample. The default value is 75% for SAMPLING=SRS and 100% for SAMPLING=URS.\",\"help\":\"SAMPLING=SRS | URS\",\"type\":\"choice\",\"arguments\":[{\"name\":\"SRS\",\"description\":\"Specifies simple random sampling in which samples are generated by randomly drawing without replacement.\",\"type\":\"standalone\"},{\"name\":\"URS\",\"description\":\"Specifies unrestricted random sampling in which samples are generated by randomly drawing with replacement.\",\"type\":\"standalone\"}]},{\"name\":\"SUBSET=\",\"optional\":true,\"description\":\"Specifies that only a subset of the selected models be used in forming the average model and producing predicted values. The following subset-options are available: BEST=n specifies that only the best n models be used, where the model ranking criterion used is the frequency score. See the section Model Selection Frequencies and Frequency Scores for the definition of the frequency score. If multiple models with the same frequency score correspond to the th best model, then all these tied models are used in forming the average model and producing predicted values.\",\"help\":\"SUBSET=BEST= | MINMODELFREQ=\",\"type\":\"choice\",\"arguments\":[{\"name\":\"BEST=\",\"type\":\"value\"},{\"name\":\"MINMODELFREQ=\",\"type\":\"value\"}]},{\"name\":\"TABLES=\",\"optional\":true,\"description\":\"Controls the displayed output that is produced in the initial round of model averaging. Syntax: TABLES <(ONLY)> <=table-request <(options)>> TABLES <(ONLY)> <= (table-request <(options)> <... table-request <(options)>>)>\",\"help\":\"TABLES=ALL | EFFECTSELECTPCT | MODELSELECTFREQ | AVGPARMEST\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ALL\",\"description\":\"Specifies that parameters that are nonzero in the selected model for any sample be displayed.\",\"type\":\"standalone\"},{\"name\":\"EFFECTSELECTPCT\",\"description\":\"Syntax: EFFECTSELECTPCT <(effectSelectPct-options)> Specifies how the effects in the \\\"EffectSelectPct\\\" table are displayed. The following effectSelectPct-options are available: ALL specifies that effects that appear in the selected model for any sample be displayed. MINPCT=percent specifies that the effects displayed must appear in the selected model for at least the specified percentage of the samples. By default, this table includes effects that appear in at least twenty percent of the selected models. The MINPCT= option is ignored if you also specify the ALL option as a effectSelectPct option. ORDER=ASCENDING | DESCENDING | MODEL specifies the order in which the effects are displayed. ORDER=MODEL specifies that effects be displayed in the order in which they appear in the MODEL statement. ORDER= ASCENDING | DESCENDING specifies that the effects be displayed in ascending or descending order of their selection frequency.\",\"type\":\"standalone\"},{\"name\":\"MODELSELECTFREQ\",\"description\":\"Syntax: MODELSELECTFREQ <(modelSelectFreq-options)> Specifies how the models in the \\\"ModelSelectFreq\\\" table are displayed. The following modelSelectFreq-options are available: ALL specifies that all selected models be displayed in the \\\"ModelSelectFreq\\\" table. BEST=n specifies that only the best n models be displayed, where the model ranking criterion used is the frequency score.\",\"type\":\"standalone\"},{\"name\":\"AVGPARMEST\",\"description\":\"Syntax: AVGPARMEST <(parmEst-options)> Specifies how the parameters in the <AvgParmEst> table are displayed. The following parmEst-options are available: ALL specifies that parameters that are nonzero in the selected model for any sample be displayed. MINPCT=percent specifies that the parameters displayed must have nonzero estimates in the selected model for at least the specified percentage of the samples. By default, this table includes parameters that appear in at least twenty percent of the selected models. The MINPCT= option is ignored if you also specify the ALL option as a parmEst option. NONZEROPARMS specifies that for each parameter, the sample that is used to compute the estimate mean, standard deviation, and quantiles consist of just the nonzero values of that parameter in the selected models. If you do not specify the NONZEROPARMS option, then parameters that do not appear in a selected model are assigned the value zero in that model and these zero values are retained when computing the estimate means, standard deviations, and quantiles. ORDER=ASCENDING | DESCENDING | MODEL specifies the order in which the effects are displayed. ORDER=MODEL specifies that effects are displayed in the order in which they appear in the MODEL statement. ORDER=ASCENDING | DESCENDING specifies that the effects are displayed in ascending or descending order of their selection frequency.\",\"type\":\"standalone\"}]}]},{\"name\":\"OUTPUT\",\"description\":\"The OUTPUT statement creates a new SAS data set that saves diagnostic measures calculated for the selected model. If you do not specify a keyword, then the only diagnostic included is the predicted response.\",\"help\":\"OUTPUT OUT=SAS data set &lt;PREDICTED&gt;&lt;RESIDUAL&gt; ...\",\"arguments\":[{\"name\":\"OUT=\",\"description\":\"Specifies the name of the new data set. By default, the procedure uses the DATAn convention to name the new data set.\",\"type\":\"value\"},{\"name\":\"LOWER\",\"optional\":true,\"description\":\"α/2 percentile of the sample predicted values. By default, α=0.05, which yields the 25th percentile. You can change the value of α by using the ALPHA= option in the MODELAVERAGE statement. The default name is LOWER.\",\"type\":\"standalone\"},{\"name\":\"MEDIAN\",\"optional\":true,\"description\":\"Median of the sample predicted values. The default name is median.\",\"type\":\"standalone\"},{\"name\":\"PREDICTED\",\"optional\":true,\"aliases\":[\"PRED\",\"P\"],\"description\":\"Predicted values. The prefix for the default name is p.\",\"type\":\"standalone\"},{\"name\":\"RESIDUAL\",\"optional\":true,\"aliases\":[\"RESID\"],\"description\":\"Residual, calculated as ACTUAL - PREDICTED. The prefix for the default name is r.\",\"type\":\"standalone\"},{\"name\":\"SAMPLEFREQ\",\"optional\":true,\"aliases\":[\"SF\"],\"description\":\"Sample frequencies. For the i-th sample, a column that contains the frequencies used for that sample is added. The name of this column is formed by appending an index i to the name that you specify. If you do not specify a name, then the default prefix is sf.\",\"type\":\"standalone\"},{\"name\":\"SAMPLEPRED\",\"optional\":true,\"aliases\":[\"SP\"],\"description\":\"Sample frequencies. For the i-th sample, a column that contains the frequencies used for that sample is added. The name of this column is formed by appending an index i to the name that you specify. If you do not specify a name, then the default prefix is sf.\",\"type\":\"standalone\"},{\"name\":\"STANDARDDEVIATION\",\"optional\":true,\"aliases\":[\"STDDEV\"],\"description\":\"Standard deviation of the sample predicted values. The default name is stdDev.\",\"type\":\"standalone\"},{\"name\":\"UPPER\",\"optional\":true,\"description\":\"1-α/2 percentile of the sample predicted values. By default, α=0.05, which yields the 75th percentile. You can change the value of α by using the ALPHA= option in the MODELAVERAGE statement. The default name is UPPER\",\"type\":\"standalone\"}]},{\"name\":\"PARTITION\",\"description\":\"The PARTITION statement specifies how observations in the input data set are logically partitioned into disjoint subsets for model training, validation, and testing. Either you can designate a variable in the input data set and a set of formatted values of that variable to determine the role of each observation, or you can specify proportions to use for random assignment of observations for each role.\",\"help\":\"PARTITION &lt;FRACTION(&lt;TEST=fraction&gt; &lt;VALIDATE=fraction&gt;)&gt;&lt;ROLEVAR= | ROLE=variable(&lt;TEST='value'&gt; &lt;TRAIN='value'&gt; &lt;VALIDATE='value'&gt;)&gt;\",\"arguments\":[{\"name\":\"FRACTION=\",\"optional\":true,\"description\":\"FRACTION(<TEST=fraction> <VALIDATE=fraction>)\",\"help\":\"FRACTION=TEST= | VALIDATE=\",\"type\":\"choice\",\"arguments\":[{\"name\":\"TEST=\",\"type\":\"value\"},{\"name\":\"VALIDATE=\",\"type\":\"value\"}]},{\"name\":\"ROLEVAR=\",\"optional\":true,\"aliases\":[\"ROLE=\"],\"description\":\"Names the variable in the input data set whose values are used to assign roles to each observation.\",\"help\":\"ROLEVAR=TEST= | TRAIN= | VALIDATE=\",\"type\":\"choice\",\"arguments\":[{\"name\":\"TEST=\",\"type\":\"value\"},{\"name\":\"TRAIN=\",\"type\":\"value\"},{\"name\":\"VALIDATE=\",\"type\":\"value\"}]}]},{\"name\":\"PERFORMANCE\",\"description\":\"The PERFORMANCE statement is used to change default options that affect the performance of PROC GLMSELECT and to request tables that show the performance options in effect and timing details.\",\"help\":\"PERFORMANCE &lt;BUILDSSCP=&lt;FULL | INCREMENTAL&gt;&gt;&lt;DETAILS&gt;\",\"arguments\":[{\"name\":\"BUILDSSCP=\",\"optional\":true,\"description\":\"Specifies whether the SSCP matrix is built incrementally as the selection process progresses or whether the SCCP matrix for the full model is built at the outset.\",\"help\":\"BUILDSSCP=FULL | INCREMENTAL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"FULL\",\"description\":\"Specifies that the SSCP matrix for the full model is built at the outset.\",\"type\":\"standalone\"},{\"name\":\"INCREMENTAL\",\"description\":\"Specifies that the SSCP matrix is built incrementally as the selection process progresses.\",\"type\":\"standalone\"}]},{\"name\":\"DETAILS\",\"optional\":true,\"description\":\"Requests the \\\"PerfSettings\\\" table that shows the performance settings in effect and the \\\"Timing\\\" table that provides a broad timing breakdown of the PROC GLMSELECT step.\",\"type\":\"standalone\"}]},{\"name\":\"SCORE\",\"description\":\"The SCORE statement creates a new SAS data set containing predicted values and optionally residuals for data in a new data set that you name.\",\"help\":\"SCORE &lt;DATA=SAS data set&gt;&lt;PREDICTED&gt;&lt;RESIDUAL&gt; ...\",\"arguments\":[{\"name\":\"DATA=\",\"optional\":true,\"description\":\"Names the data set to be scored.\",\"type\":\"value\"},{\"name\":\"OUT=\",\"optional\":true,\"description\":\"Gives the name of the new data set. By default, the procedure uses the DATAn convention to name the new data set.\",\"type\":\"value\"},{\"name\":\"PREDICTED\",\"optional\":true,\"description\":\"Predicted values. The prefix for the default name is p.\",\"type\":\"standalone\"},{\"name\":\"RESIDUAL\",\"optional\":true,\"description\":\"Residual, calculated as ACTUAL - PREDICTED. The prefix for the default name is r.\",\"type\":\"standalone\"}]},{\"name\":\"STORE\",\"description\":\"The STORE statement requests that the procedure save the context and results of the statistical analysis. The resulting item store is a binary file format that cannot be modified. The contents of the item store can be processed with the PLM procedure.\",\"help\":\"STORE &lt;LABEL=&gt; OUT=item-store-name \",\"arguments\":[{\"name\":\"OUT=\",\"description\":\"The item-store-name is a usual one- or two-level SAS name, like the names that are used for SAS data sets. If you specify a one-level name, then the item store resides in the WORK library and is deleted at the end of the SAS session. Since item stores usually are used to perform postprocessing tasks, typical usage specifies a two-level name of the form libname.membername.\",\"help\":\"OUT=*item-store-name*\",\"type\":\"value\"},{\"name\":\"LABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"You can add a custom label with the LABEL= option in the STORE statement after the slash (/). When the PLM procedure processes an item store, the label appears in the PROC PLM output along with other identifying information.\",\"type\":\"value\"}]},{\"name\":\"WEIGHT\",\"description\":\"A WEIGHT statement names a variable in the input data set with values that are relative weights for a weighted least squares fit. If the weight value is proportional to the reciprocal of the variance for each observation, then the weighted estimates are the best linear unbiased estimates (BLUE). Values of the weight variable must be nonnegative. If an observation's weight is zero, the observation is deleted from the analysis. If a weight is negative or missing, it is set to zero, and the observation is excluded from the analysis.\",\"help\":\"WEIGHT variable \"}],\"supportSiteInformation\":{\"docsetId\":\"statug\",\"docsetVersion\":\"latest\",\"docsetTargetFile\":\"statug_glmselect_toc.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/GMAP.json",
    "content": "{\"name\":\"GMAP\",\"statements\":[{\"name\":\"PROC GMAP\",\"description\":\"Identifies the map data set and the response data set that contain the variables associated with the map. The statement also provides the option to display all map areas and to specify annotation and an output catalog.\",\"help\":\"PROC GMAP MAP=map-data-set\\nDATA=response-data-set\\n<ALL>\\n<ANNOTATE=Annotate-data-set>\\n<DENSITY=0-6 |  LOW | MEDIUM | HIGH>\\n<GOUT=<libref.>output-catalog>\\n<IMAGEMAP=output-data-set>\\n<LATLON>\\n<RESOLUTION=1-10 | AUTO | NONE>\\n<STRETCH>\\n<UNIFORM>;                   \\n\\tID  id-variable(s); \\n\\n\\tAREA response-variable</ options>;\\n\\n\\tBLOCK response-variable(s)</ options>;\\n\\n\\tCHORO response-variable(s)</ options>;\\n\\n\\tPRISM response-variable(s)</ options>;\\n\\n\\tSURFACE response-variable(s)</ options>;\\n\\n\\tATTRIB  variable-list(s) attribute-list(s);\\n\\n\\tBY <DESCENDING>variable-1\\n\\t\\t< ... <DESCENDING> variable-n>\\n\\t\\t<NOTSORTED>;\\n\\n\\tFORMAT variable-1< ...variable-n><format-1><variable-1< ...variable-n><format-2>> ...<DEFAULT=default-format>;\\n\\n\\tLABEL variable-1=label-1 | ' '<variable-n=label-n | ' '> ...;\\n\\n\\tNOTE <text-arguments(s)>;\\n\\n\\tQUIT ;\\n\\n\\tWHERE where-expression;\\n\",\"arguments\":[{\"name\":\"DATA=\",\"description\":\"identifies the SAS data set that contains the response values or the response values and the spatial information that are evaluated and represented on the map. If not specified, a response data set must have been created before issuing the PROC GMAP statement.\",\"help\":\"DATA=*response-data-set*\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"n18ra92kpp7cb7n15r49qhna4gbk\"},{\"name\":\"MAP=\",\"description\":\"names a map data set that contains either the X and Y or LAT and LONG coordinates, or all, for the boundary points of each map area.\",\"help\":\"MAP=*map-data-set*\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"p13j0h9cjim5rxn1t0wxzajqkjgw\"},{\"name\":\"ALL\",\"optional\":true,\"description\":\"specifies that the maps generated by the procedure should include all of the map areas from the map data set. This occurs even if the response data set does not include an observation for the map area.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0yv67cev2yqy8n11dtklxa0t37e\"},{\"name\":\"ANNOTATE=\",\"optional\":true,\"aliases\":[\"ANNO=\"],\"description\":\"specifies a data set to annotate all of the maps that are produced by the GMAP procedure.\",\"help\":\"ANNOTATE=*Annotate-data-set*\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"n0fdplt2odoyfnn155beqymfddyp\"},{\"name\":\"DENSITY=\",\"optional\":true,\"aliases\":[\"L\",\"MED\",\"M\",\"HI\",\"H\"],\"description\":\"for maps that have a DENSITY variable, specifies the density of map observations that are used.\",\"help\":\"DENSITY=0 ...6 | LOW | MEDIUM | HIGH\",\"type\":\"choice\",\"arguments\":[{\"name\":\"0\",\"description\":\"The value that you specify indicates the maximum value that the DENSITY variable can have for the observation to be displayed. For example, if you specify DENSITY=5, then only observations in the map data set whose DENSITY value is less than or equal to 5 are displayed.\",\"help\":\"0 ... 6\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1wigvy1yvafzxn1wevd4kj23pim\"},{\"name\":\"LOW\",\"description\":\"LOW is equivalent to DENSITY= 1.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n160bzu6mninhqn1wtlebo6n8pmz\"},{\"name\":\"MEDIUM\",\"description\":\"MEDIUM is equivalent to DENSITY= 3.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1jpfpv416sik7n1xuul8erj0et6\"},{\"name\":\"HIGH\",\"description\":\"HIGH is equivalent to DENSITY= 6.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0jmtfrdoruntjn107282nv5zyqm\"}],\"supportSiteTargetFragment\":\"n0o66iaeyqmsuen1szr5s3oj3424\"},{\"name\":\"GOUT=\",\"optional\":true,\"description\":\"specifies the SAS catalog in which to save the graphics output that is produced by the GMAP procedure for later replay.\",\"help\":\"GOUT=&lt;*libref*.&gt;*output-catalog*\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"n0ztcnr1phbiv1n1238wyitkhpuc\"},{\"name\":\"IMAGEMAP=\",\"optional\":true,\"description\":\"creates a temporary SAS data set that is used to generate an image map.\",\"help\":\"IMAGEMAP=*output-data-set*\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"p163k6r45ltcxxn12pt5b8qordjb\"},{\"name\":\"LATLON\",\"optional\":true,\"aliases\":[\"LATLONG\"],\"description\":\"specifies that the LAT and LONG variables from the map data set are used for coordinate data instead of the Y and X variables.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1dmfb73xlb8jfn188vfgnn41dqo\"},{\"name\":\"RESOLUTION=\",\"optional\":true,\"aliases\":[\"RES=\"],\"description\":\"for maps that have a RESOLUTION variable, specifies the resolution level of map observations that are used.\",\"help\":\"RESOLUTION=1 ...10 | AUTO | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"110\",\"description\":\"The integer correlates to the number of pixels displayed on the map. A low resolution value indicates that a smaller number of pixels is displayed. For example, a RESOLUTION value of 4 equates to 800 x 600 pixels displayed.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0urvs76qrygswn158l8wexi7b57\"},{\"name\":\"AUTO\",\"description\":\"Specifying AUTO defaults to the resolution setting of the device being used in the GMAP procedure.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1rgj0awb6gs5yn12x5zp1hzxnl6\"},{\"name\":\"NONE\",\"description\":\"A RESOLUTION set to NONE indicates that the DENSITY option, if specified, is used instead.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1nfqdl8dt2049n11d6ktf2lr3lv\"}],\"supportSiteTargetFragment\":\"n1anupufwtzuadn1gilmyrohik4o\"},{\"name\":\"STRETCH\",\"optional\":true,\"description\":\"stretches map extents to cover all available space in the device. This might cause the map to be distorted.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0pomvaxcceplnn1myac1u9638un\"},{\"name\":\"UNIFORM\",\"optional\":true,\"description\":\"causes the same legend and coloring to be used for all maps produced by the procedure instead of being calculated within each BY group for each map.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n11nlzz0wjn70vn122vd56huznlp\"}],\"supportSiteTargetFile\":\"p02hy5couiy0lun10hc3mk9izm9k.htm\"},{\"name\":\"ID\",\"description\":\"Identifies the variable or variables in the input data set(s) that define map areas.\",\"help\":\"ID *id-variable(s)*;\",\"arguments\":[{\"name\":\"id-variable\",\"placeholder\":true,\"description\":\"identifies one or more variables in the map and response data sets that define a map area. This argument is used only when map and response data sets are specified.\",\"help\":\"*id-variable(s)*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1lpr5qeclcp2un11p4xlij0v2op\"}],\"supportSiteTargetFile\":\"p0nps9ccpq06q2n0zdn6ht710uw8.htm\"},{\"name\":\"AREA\",\"description\":\"applies color to the regions in BLOCK and PRISM maps based on values of a specified response variable.\",\"help\":\"AREA  *response-variable*&lt;/ *options*&gt;;\",\"arguments\":[{\"name\":\"response-variable\",\"placeholder\":true,\"description\":\"specifies the variable in the response data set. Areas that correspond to response variables with missing values are not colored unless you use the MISSING option in the AREA statement. This variable is represented in all BLOCK and PRISM maps in the same RUN group.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0sakm59sy7ujnn1cpbbuvcsbygk\"},{\"name\":\"DISCRETE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"generates a separate response level (color and surface pattern) for each different value of the formatted response variable.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n00rko7gt8vev5n16j34e5fwf5u9\"},{\"name\":\"LEGEND=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the global LEGEND statement to associate with the map.\",\"help\":\"LEGEND=LEGEND&lt;*1* ...*99*&gt;\",\"type\":\"standaloneOrValue\",\"supportSiteTargetFragment\":\"p1ijiv5p9q1v3fn1h4tre1di4en3\"},{\"name\":\"LEVELS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the number of response levels to be graphed for the response variable.\",\"help\":\"LEVELS=*number-of-response-levels* | ALL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"number-of-response-levels\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"ALL\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"n0ksll3skvuqjin15y9qlixwyiet\"},{\"name\":\"MIDPOINTS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the response levels for the range of response values that are represented by each level (pattern and color combination).\",\"help\":\"MIDPOINTS=*value-list* | OLD\",\"type\":\"choice\",\"arguments\":[{\"name\":\"value-list\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"OLD\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"n0f1sa4rg1saman0zu40bwgiu2j7\"},{\"name\":\"MISSING\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"accepts a missing value as a valid level for the response variable.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p08ac8rb3ewgd4n1oyjten8gvuyh\"},{\"name\":\"NOLEGEND\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses the legend.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0n16e58rqqiq6n1umc4aoqtoc2q\"},{\"name\":\"PERCENT\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"PERCENTAGE\"],\"description\":\"specifies that the GMAP procedure collect all response values (or their statistic) and chart each region as a percentage of the whole.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0nys9z2rv1flrn1a7vjh7da2yau\"},{\"name\":\"RANGE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"causes GMAP to display, in the legend, the starting value and ending value of the range around each midpoint specified with the MIDPOINTS= option (instead of displaying just the midpoints).\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n04y5mhfsaefwsn1f8tvdf9l5lkq\"},{\"name\":\"STATFMT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"SFMT=\",\"SFORMAT=\",\"STATFORMAT=\"],\"description\":\"overrides the GMAP default format for percent of PERCENT8.2.\",\"help\":\"STATFMT=*format-specification*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p12qvdxgegxogqn1rf8z6syam6ci\"},{\"name\":\"STATISTIC=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"STAT=\"],\"description\":\"specifies the statistic for the GMAP procedure to chart.\",\"help\":\"STATISTIC=FIRST | SUM | FREQUENCY | MEAN\",\"type\":\"choice\",\"arguments\":[{\"name\":\"FIRST\",\"type\":\"standalone\"},{\"name\":\"SUM\",\"type\":\"standalone\"},{\"name\":\"FREQUENCY\",\"type\":\"standalone\"},{\"name\":\"MEAN\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"n0814vt4xvhnvsn12lhrl0gnr7pf\"},{\"name\":\"UNIFORM\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"causes the same legend and coloring to be used for all maps produced by the procedure instead of being calculated within each BY group for each map.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0e8cy99owaem3n13rbmc3gdzzi2\"}],\"supportSiteTargetFile\":\"n0yf1cmjvn56pvn1p8w5irvp5v8l.htm\"},{\"name\":\"BLOCK\",\"description\":\"Creates three-dimensional block maps on which levels of magnitude of the specified response variables are represented by blocks (bars) of varying height, pattern, and color.\",\"help\":\"BLOCK  *response-variable(s)*&lt;/ *options*&gt;;\",\"arguments\":[{\"name\":\"response-variable\",\"placeholder\":true,\"description\":\"specifies one or more variables in the response data set. Each response variable produces a separate map. All variables must be in the input data set. Multiple response variables are separated with blanks. Blocks are not drawn for the response variable with missing values unless you use the MISSING option in the BLOCK statement.\",\"help\":\"*response-variable(s)*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p066oi7lqybgtsn13a9dwmmc6q1v\"},{\"name\":\"ANNOTATE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"ANNO=\"],\"description\":\"specifies a data set to annotate onto maps that are produced by the BLOCK statement.\",\"help\":\"ANNOTATE=*Annotate-data-set*\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"n166n5m1lny2s5n1pt737i83qnis\"},{\"name\":\"AREA=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that a different map pattern be used for the surface of each map area or group of map areas on the map.\",\"help\":\"AREA=*n* | *column-name*\",\"type\":\"choice\",\"arguments\":[{\"name\":\"n\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"column-name\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"n11h24f9qdrhkkn1shzxdcc2axw0\"},{\"name\":\"BLOCKSIZE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"BS=\"],\"description\":\"specifies the width of the blocks.\",\"help\":\"BLOCKSIZE=*size*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1uxypjtb5sudqn1xmxpay7yw6wr\"},{\"name\":\"CBLKOUT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"CBLOCK=\"],\"description\":\"outlines all blocks in the specified color.\",\"help\":\"CBLKOUT=*block-outline-color* | SAME\",\"type\":\"choice\",\"arguments\":[{\"name\":\"block-outline-color\",\"placeholder\":true,\"type\":\"color\"},{\"name\":\"SAME\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"p0p91kxkxce7ocn1vr3xn0u9wzja\"},{\"name\":\"CDEFAULT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"CDEF=\",\"DEFCLR=\"],\"description\":\"fills empty map areas in the specified color.\",\"help\":\"CDEFAULT=*empty-area-fill-color*\",\"type\":\"color\",\"supportSiteTargetFragment\":\"n1eb25j0nngi6pn14v0ts22siypd\"},{\"name\":\"CEMPTY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"CE=\"],\"description\":\"outlines empty map areas in the specified color.\",\"help\":\"CEMPTY=*empty-area-outline-color*\",\"type\":\"color\",\"supportSiteTargetFragment\":\"n1i89ih5fxunlen1mash9iy0ff72\"},{\"name\":\"COUTLINE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"CO=\"],\"description\":\"outlines non-empty map areas in the specified color.\",\"help\":\"COUTLINE=*area-outline-color* | SAME\",\"type\":\"choice\",\"arguments\":[{\"name\":\"area-outline-color\",\"placeholder\":true,\"type\":\"color\"},{\"name\":\"SAME\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"p11aovignbe8hin1fvcb5uhng7cy\"},{\"name\":\"CTEXT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"CT=\"],\"description\":\"specifies a color for the text in the legend.\",\"help\":\"CTEXT=*text-color*\",\"type\":\"color\",\"supportSiteTargetFragment\":\"p07inbapatkgv2n1dcvozfvmu4pe\"},{\"name\":\"DESCRIPTION=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"DES=\"],\"description\":\"specifies a description of the output.\",\"help\":\"DESCRIPTION=\\\"*description*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0k5jbi4z7xxmxn1vsqwux8f5cif\"},{\"name\":\"DISCRETE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"generates a separate response level (color and surface pattern) for each different value of the formatted response variable.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1f0hixxj553bxn1as6mev9cthb5\"},{\"name\":\"HTML=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"identifies the variable in the input data set whose values create links or data tips or both.\",\"help\":\"HTML=*variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0sc0wugv41zn2n1rn2nawkv7ram\"},{\"name\":\"HTML_LEGEND=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"identifies the variable in the input data set whose values create links or data tips or both.\",\"help\":\"HTML_LEGEND=*variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1wtz1yz3ljjstn1rbrftbp7m1gn\"},{\"name\":\"LEGEND=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the global LEGEND statement to associate with the map.\",\"help\":\"LEGEND=LEGEND&lt;*1*-*99*&gt;\",\"type\":\"standaloneOrValue\",\"supportSiteTargetFragment\":\"n0ims4u7n7net6n1gs49dofxcwd1\"},{\"name\":\"LEVELS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the number of response levels to be graphed for the response variable.\",\"help\":\"LEVELS=*number-of-response-levels* | ALL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"number-of-response-levels\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"ALL\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"n192lwbva8274en1ch7wmoc12wzo\"},{\"name\":\"MIDPOINTS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the response levels for the range of response values that are represented by each level (pattern and color combination).\",\"help\":\"MIDPOINTS=*value-list* | OLD\",\"type\":\"choice\",\"arguments\":[{\"name\":\"value-list\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"OLD\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"p09ycwu3qfyelvn1mseqfv7tu91q\"},{\"name\":\"MISSING\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"accepts a missing value as a valid level for the response variable.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p111loqn6ia2yjn119n85lfm0rx7\"},{\"name\":\"NAME=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the name of the GRSEG catalog entry and the name of the graphics output file, if one is created.\",\"help\":\"NAME=\\\"*name*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n05ni0kb1h6mqln1sjw5wj873oe7\"},{\"name\":\"NOLEGEND\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses the legend.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0ddtjloyfmvp5n122ss3gh3tm4l\"},{\"name\":\"PERCENT\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"PERCENTAGE\"],\"description\":\"specifies that the GMAP procedure collect all response values (or their statistic) and chart each region as a percentage of the whole.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0b22g4w13zeqin1jazyxkdn0xxg\"},{\"name\":\"RANGE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"displays value ranges in the legend.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1fycet88ee23yn1p7s4tnbipm7b\"},{\"name\":\"RELZERO\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"REL0\",\"RELATIVETOZERO\"],\"description\":\"creates bars and regions that are relative to a zero value.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n07w5l9gp0hggfn147h767rlucxd\"},{\"name\":\"SHAPE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the shape of the blocks.\",\"help\":\"SHAPE=*3D-block-shape*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1fhplnnsb3royn1xdkmk1w8wjne\"},{\"name\":\"STATFMT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"SFMT=\",\"SFORMAT=\",\"STATFORMAT=\"],\"description\":\"overrides the GMAP default format for percent of PERCENT8.2.\",\"help\":\"STATFMT=*format-specification*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0h0f4a6wl06xln162wbjqwr47j8\"},{\"name\":\"STATISTIC=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"STAT=\"],\"description\":\"specifies the statistic for the GMAP procedure to chart.\",\"help\":\"STATISTIC=FIRST | SUM | FREQUENCY | MEAN\",\"type\":\"choice\",\"arguments\":[{\"name\":\"FIRST\",\"type\":\"standalone\"},{\"name\":\"SUM\",\"type\":\"standalone\"},{\"name\":\"FREQUENCY\",\"type\":\"standalone\"},{\"name\":\"MEAN\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"n05a42rhx6p90mn0zfdo1f2okfo0\"},{\"name\":\"STRETCH\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"STRETCHTOFIT\",\"STR2FIT\"],\"description\":\"stretches map extents to cover all available space in the device.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1s0ies22k8ufln13djg1jj203oa\"},{\"name\":\"UNIFORM\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"causes the same legend and coloring to be used for all maps produced by the procedure instead of being calculated within each BY group for each map.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0kfti2mqe8db2n1w0q3qcjje38l\"},{\"name\":\"URL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a character variable whose values are URLs.\",\"help\":\"URL=*character-variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1hum5yt7v66u7n1dlkt0l6a4z82\"},{\"name\":\"WOUTLINE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the width, in pixels, of the outline for all outlined blocks and for the outline of the map areas.\",\"help\":\"WOUTLINE=*block-outline-width*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0mq1ztjwzzlzzn1ip5xl5yxy6bw\"},{\"name\":\"XSIZE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specify the physical width dimension of the map to be drawn.\",\"help\":\"XSIZE=*map-width* &lt;*units*&gt;\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1xjlvhu9ta15dn1449vc7l9coaw\"},{\"name\":\"YSIZE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specify the physical height dimension of the map to be drawn.\",\"help\":\"YSIZE=*map-height* &lt;*units*&gt;\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1okmvtj43rulon1qvxqwwyu9mow\"},{\"name\":\"XVIEW=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"XV=\",\"YV=\",\"ZV=\"],\"description\":\"specify coordinates of the viewing position in the reference coordinate system.\",\"help\":\"XVIEW=*x*&lt;YVIEW=*y*&gt;&lt;ZVIEW=*z*&gt;\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1bebjzp6hsqpzn1sbnjf0487rw9\"}],\"supportSiteTargetFile\":\"p0np4kgfxvm2e4n1sh91c34l7yo2.htm\"},{\"name\":\"CHORO\",\"description\":\"Creates two-dimensional maps in which values of the specified response variables are represented by varying patterns and colors.\",\"help\":\"CHORO *response-variable(s)*&lt;/ *options*&gt;;\",\"arguments\":[{\"name\":\"response-variable\",\"placeholder\":true,\"description\":\"specifies one or more variables in the response data set. Each response variable produces a separate map. All variables must be in the input data set. Multiple response variables are separated with blanks.\",\"help\":\"*response-variable(s)*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1phhfz34fvzjrn1fq7evv47usg4\"},{\"name\":\"ANNOTATE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"ANNO=\"],\"description\":\"specifies a data set to annotate onto maps that are produced by the CHORO statement.\",\"help\":\"ANNOTATE=*Annotate-data-set*\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"n0j5g6aqshffk1n1df6dqsvbjqyu\"},{\"name\":\"CDEFAULT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"CDEF=\",\"DEFCLR=\"],\"description\":\"fills empty map areas in the specified color.\",\"help\":\"CDEFAULT=*empty-area-fill-color*\",\"type\":\"color\",\"supportSiteTargetFragment\":\"p192f0vggdwgjsn1odper09nqr3k\"},{\"name\":\"CEMPTY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"CE=\"],\"description\":\"outlines empty map areas in the specified color.\",\"help\":\"CEMPTY=*empty-area-outline-color*\",\"type\":\"color\",\"supportSiteTargetFragment\":\"n139l0t7wsgqj5n1k0ygk9rj9b9d\"},{\"name\":\"COUTLINE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"CO=\"],\"description\":\"outlines non-empty map areas in the specified color.\",\"help\":\"COUTLINE=*area-outline-color* | SAME\",\"type\":\"choice\",\"arguments\":[{\"name\":\"area-outline-color\",\"placeholder\":true,\"type\":\"color\"},{\"name\":\"SAME\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"p0uz9b9w2j3ylmn1r29mon92wubs\"},{\"name\":\"CTEXT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"CT=\"],\"description\":\"specifies a color for the text in the legend.\",\"help\":\"CTEXT=*text-color*\",\"type\":\"color\",\"supportSiteTargetFragment\":\"p1j6lhh30dm0ypn15uj1una877bj\"},{\"name\":\"DESCRIPTION=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"DES=\"],\"description\":\"specifies a description of the output.\",\"help\":\"DESCRIPTION=\\\"*description*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1t7ul9i3qxtzdn17hssbluf6vxb\"},{\"name\":\"DISCRETE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"generates a separate response level (color and surface pattern) for each different value of the formatted response variable.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1xtwvxgedp51rn1i9f618c6kuce\"},{\"name\":\"HTML=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"identifies the variable in the input data set whose values create links or data tips or both.\",\"help\":\"HTML=*variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n113ejznai3y7ln1n8os90i8uth1\"},{\"name\":\"HTML_LEGEND=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"identifies the variable in the input data set whose values create links or data tips or both.\",\"help\":\"HTML_LEGEND=*variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1nh88i2d99d68n14do2bi813rjd\"},{\"name\":\"LEGEND=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"assigns the specified global LEGEND statement that is to be applied to the map.\",\"help\":\"LEGEND=LEGEND&lt;*1*-*99*&gt;\",\"type\":\"standaloneOrValue\",\"supportSiteTargetFragment\":\"n0q8z5snlhfocen193janijwg53s\"},{\"name\":\"LEVELS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the number of response levels to be graphed for the response variable.\",\"help\":\"LEVELS=*number-of-response-levels* | ALL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"number-of-response-levels\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"ALL\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"p058ka6c1hotm8n19oubpf4wludy\"},{\"name\":\"MIDPOINTS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the response levels for the range of response values that are represented by each level (pattern and color combination).\",\"help\":\"MIDPOINTS=*value-list* | OLD\",\"type\":\"choice\",\"arguments\":[{\"name\":\"value-list\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"OLD\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"p1alzk4esjn5wen11aif8kv2i7kd\"},{\"name\":\"MISSING\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"accepts a missing value as a valid level for the response variable.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1cife6ajswt7vn1hn5uf3f0a57y\"},{\"name\":\"NAME=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the name of the GRSEG catalog entry and the name of the graphics output file, if one is created.\",\"help\":\"NAME=\\\"*name*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p15gs8uos1qa0jn1l44o7j72fs6p\"},{\"name\":\"NOLEGEND\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses the legend.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p00spd7ktrqbh6n1xypfsxndx12p\"},{\"name\":\"OSM\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"SHOWOSM\"],\"description\":\"specifies an OpenStreetMap (OSM) style and can project the unprojected map areas from latitude and longitude degrees onto the OSM map.\",\"help\":\"OSM&lt;=(STYLE=osmstyle&lt;AUTOPROJECT&gt;)&gt; \",\"type\":\"standaloneOrValue\",\"supportSiteTargetFragment\":\"n02ts4fg1pylgkn1r1s08f49iwwo\"},{\"name\":\"PERCENT\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"PERCENTAGE\"],\"description\":\"specifies that the GMAP procedure collect all response values (or their statistic) and chart each region as a percentage of the whole.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1g3gq20ttutjhn1nvt0i1kclca7\"},{\"name\":\"RANGE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"displays value ranges in the legend.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0s3661q3vp8jdn144rz3aha4ku1\"},{\"name\":\"STATFMT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"SFMT=\",\"SFORMAT=\",\"STATFORMAT=\"],\"description\":\"overrides the GMAP default format for percent of PERCENT8.2.\",\"help\":\"STATFMT=*format-specification*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0dpz8j91ocyoyn19gyv03057w3f\"},{\"name\":\"STATISTIC=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"STAT=\"],\"description\":\"specifies the statistic for the GMAP procedure to chart.\",\"help\":\"STATISTIC=FIRST | SUM | FREQUENCY | MEAN\",\"type\":\"choice\",\"arguments\":[{\"name\":\"FIRST\",\"type\":\"standalone\"},{\"name\":\"SUM\",\"type\":\"standalone\"},{\"name\":\"FREQUENCY\",\"type\":\"standalone\"},{\"name\":\"MEAN\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"n1dkw4w05ok8w1n1bpk6fymh4c6n\"},{\"name\":\"STRETCH\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"STRETCHTOFIT\",\"STR2FIT\"],\"description\":\"stretches map extents to cover all available space in the device.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0okg0pmm707tmn1oktsah4u93g2\"},{\"name\":\"UNIFORM\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"causes the same legend and coloring to be used for all maps produced by the procedure instead of being calculated within each BY group for each map.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n01ec8yxmvhow1n1k6md783gm1u3\"},{\"name\":\"URL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a character variable whose values are URLs.\",\"help\":\"URL=*character-variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1j1rnjvnfzofan1kocg3nm13o66\"},{\"name\":\"WOUTLINE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the width of all map area outlines, in pixels.\",\"help\":\"WOUTLINE=*area-outline-width*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1lndzptyns2tgn1f9c0c73ycoxp\"},{\"name\":\"XSIZE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specify the physical width or height dimension of the map.\",\"help\":\"XSIZE=*map-width* &lt;*units*&gt; | YSIZE=*map-height* &lt;*units*&gt;\",\"type\":\"choice\",\"arguments\":[{\"name\":\"XSIZE=\",\"type\":\"value\"},{\"name\":\"YSIZE=\",\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p1fmuj9ajtl1vwn178pz5sodqwp4\"}],\"supportSiteTargetFile\":\"n0b7n2mnw4t6lhn0zoy86orv95z2.htm\"},{\"name\":\"PRISM\",\"description\":\"Creates three-dimensional prism maps in which levels of magnitude of the specified response variables are represented by polyhedrons (raised polygons) of varying height, pattern, and color.\",\"help\":\"PRISM *response-variable(s)*&lt;/ *options*&gt;;                \",\"arguments\":[{\"name\":\"response-variable\",\"placeholder\":true,\"description\":\"specifies one or more variables in the response data set. Each response variable produces a separate map. All variables must be in the input data set. Multiple response variables are separated with blanks.\",\"help\":\"*response-variable(s)*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1nmacei1xq9ubn14hci4nx5is6v\"},{\"name\":\"ANNOTATE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"ANNO=\"],\"description\":\"specifies a data set to annotate onto the maps that are produced by the PRISM statement.\",\"help\":\"ANNOTATE=*Annotate-data-set*\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"n1hxb1zqjluvp4n1g1e5jt8bazlw\"},{\"name\":\"AREA=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that a different map pattern be used for the surface of each map area or group of map areas on the map.\",\"help\":\"AREA=*n* | *column-name*\",\"type\":\"choice\",\"arguments\":[{\"name\":\"n\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"column-name\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"n0nt23a4rir60qn0zeeyhf6ueoer\"},{\"name\":\"CDEFAULT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"CDEF\",\"DEFCLR\"],\"description\":\"fills empty map areas in the specified color.\",\"help\":\"CDEFAULT=*empty-area-fill-color*\",\"type\":\"color\",\"supportSiteTargetFragment\":\"n0p4h0cblroqdkn1ajvr9hcylhum\"},{\"name\":\"CEMPTY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"CE\"],\"description\":\"outlines empty map areas in the specified color.\",\"help\":\"CEMPTY=*empty-area-outline-color*\",\"type\":\"color\",\"supportSiteTargetFragment\":\"p0cw5j4srmu21nn1gnuv8lqig6aa\"},{\"name\":\"COUTLINE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"CO\"],\"description\":\"outlines nonempty map areas in the specified color.\",\"help\":\"COUTLINE=*area-outline-color* | SAME\",\"type\":\"choice\",\"arguments\":[{\"name\":\"area-outline-color\",\"placeholder\":true,\"type\":\"color\"},{\"name\":\"SAME\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"n0ysk568ko6shln15gp3g3uvy21s\"},{\"name\":\"CTEXT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"CT\"],\"description\":\"specifies a color for the text in the legend. If you omit the CTEXT= option, a color specification is searched for in this order:\\n• the CTEXT= option in a                                  GOPTIONS statement.\\n• the default, the text                                  color that is specified in the current style.\",\"help\":\"CTEXT=*text-color*\",\"type\":\"color\",\"supportSiteTargetFragment\":\"n1wy3dt6fve2mun107gkqn7abnjt\"},{\"name\":\"DESCRIPTION=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"DES\"],\"description\":\"specifies a description of the output.\",\"help\":\"DESCRIPTION=\\\"*description*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n04kyy6if9azj7n171m0x283kwvb\"},{\"name\":\"DISCRETE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"generates a separate response level (color and surface pattern) for each different value of the formatted response variable.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n11qssyhl7k3x7n16uhbatvc0nxl\"},{\"name\":\"HTML=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"identifies the variable in the input data set whose values create links or data tips or both.\",\"help\":\"HTML=*variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1uzjken2v8gian10johsadvshh7\"},{\"name\":\"HTML_LEGEND=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"identifies the variable in the input data set whose values create links or data tips or both.\",\"help\":\"HTML_LEGEND=*variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p189emrqlbddsln1fhjeav9epnqa\"},{\"name\":\"LEGEND=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the global LEGEND definition to associate with the map.\",\"help\":\"LEGEND=LEGEND&lt;*1*-*99*&gt;\",\"type\":\"standaloneOrValue\",\"supportSiteTargetFragment\":\"n1o7bey11jlw28n186udea01c3h1\"},{\"name\":\"LEVELS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the number of response levels to be graphed for the response variable.\",\"help\":\"LEVELS=*number-of-response-levels* | ALL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"number-of-response-levels\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"ALL\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"n0a4iuuj9rpp1vn0z2sblz8hy7r5\"},{\"name\":\"MIDPOINTS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the response levels for the range of response values that are represented by each level (prism height, pattern, and color combination).\",\"help\":\"MIDPOINTS=*value-list* | OLD\",\"type\":\"choice\",\"arguments\":[{\"name\":\"value-list\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"OLD\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"n1xg08pizhy23kn1mr4k4ojrue56\"},{\"name\":\"MISSING\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"accepts a missing value as a valid level for the response variable.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1jvij6ecl5lmhn1vkzbtdn8fup8\"},{\"name\":\"NAME=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the name of the GRSEG catalog entry and the name of the graphics output file, if one is created.\",\"help\":\"NAME=\\\"*name*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0b4k3dt8tk37an1uab14zvwbnrg\"},{\"name\":\"NOLEGEND\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses the legend.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1196v4g4wpab3n1vyi0v94q2zxf\"},{\"name\":\"PERCENT\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"PERCENTAGE\"],\"description\":\"specifies that the GMAP procedure collect all response values (or their statistic) and chart each region as a percentage of the whole.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0mfbyeuyqgjhan13v1uct8l2nzr\"},{\"name\":\"RANGE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"causes GMAP to display, in the legend, the starting value and ending value of the range around each midpoint specified with the MIDPOINTS= option (instead of displaying just the midpoints). For example, if MIDPOINTS=15 25 35, then the legend could show 10-20, 20-30, 30-40.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0p93xl99s2y6on1rodbmdyw2pm2\"},{\"name\":\"RELZERO\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"REL0\",\"RELATIVETOZERO\"],\"description\":\"creates area heights that are relative to a zero value.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p02zx92qp3le08n1uutja9ax8c73\"},{\"name\":\"STATFMT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"SFMT\",\"SFORMAT\",\"STATFORMAT\"],\"description\":\"overrides the GMAP default format for percent of PERCENT8.2.\",\"help\":\"STATFMT=*format-specification*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1jq92f209qz2wn1kcqd5shqmfve\"},{\"name\":\"STATISTIC=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"STAT=\"],\"description\":\"specifies the statistic for the GMAP procedure to chart.\",\"help\":\"STATISTIC=FIRST | SUM | FREQUENCY | MEAN\",\"type\":\"choice\",\"arguments\":[{\"name\":\"FIRST\",\"type\":\"standalone\"},{\"name\":\"SUM\",\"type\":\"standalone\"},{\"name\":\"FREQUENCY\",\"type\":\"standalone\"},{\"name\":\"MEAN\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"p0p58vb8wstd3kn1xl2om3hplg7t\"},{\"name\":\"STRETCH\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"STRETCHTOFIT\",\"STR2FIT\"],\"description\":\"stretches map extents to cover all available space in the device.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n01i3wx8dpcjp8n12irwklr793ya\"},{\"name\":\"UNIFORM\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"causes the same legend and coloring to be used for all maps produced by the procedure instead of being calculated within each BY group for each map.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0ldbicfhx78o4n1uomlq3evofye\"},{\"name\":\"URL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a character variable whose values are URLs.\",\"help\":\"URL=*character-variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n12vbvnnvifyvfn1vp39ei0wx4wm\"},{\"name\":\"WOUTLINE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the width, in pixels, of all map area outlines.\",\"help\":\"WOUTLINE=*area-outline-width*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1r903ykz1mcvyn1hmef4ju8ebtq\"},{\"name\":\"XLIGHT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specify the coordinates of the imaginary light source in the map coordinate system.\",\"help\":\"XLIGHT=*x* YLIGHT=*y*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p177w755cg1bt4n19na46ys8qmj5\"},{\"name\":\"XSIZE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specify the physical width dimension of the map to be drawn.\",\"help\":\"XSIZE=*map-width* &lt;*units*&gt;\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p14pne26yjszzin1pxbqbrv2lxut\"},{\"name\":\"YSIZE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specify the physical height dimension of the map to be drawn.\",\"help\":\"YSIZE=*map-height* &lt;*units*&gt;\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1gga1ebqdkomun1u4c7yz9g5z3n\"},{\"name\":\"XVIEW=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"XV\",\"YV\",\"ZV\"],\"description\":\"specify coordinates of the viewing position in the reference coordinate system.\",\"help\":\"XVIEW=*x*&lt;YVIEW=*y*&gt;&lt;ZVIEW=*z*&gt;\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0569fve761xgln1whn2hecprh9w\"}],\"supportSiteTargetFile\":\"n1i8z1x4qcgw20n1qjt02cre8czc.htm\"},{\"name\":\"SURFACE\",\"description\":\"Creates three-dimensional surface maps in which levels of magnitude of the specified response variables are represented by spikes of varying height.\",\"help\":\"SURFACE *response-variable(s)*&lt;/ *options*&gt;;\",\"arguments\":[{\"name\":\"response-variable\",\"placeholder\":true,\"description\":\"specifies one or more variables in the response data set. The response-variable must be numeric and must contain only positive values. Each response variable produces a separate map. All variables must be in the input data set. Multiple response variables are separated with blanks.\",\"help\":\"*response-variable(s)*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0iik6ho61ssunn19nmlarpu6vp3\"},{\"name\":\"ANNOTATE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"ANNO=\"],\"description\":\"specifies a data set to annotate onto maps that are produced by the SURFACE statement.\",\"help\":\"ANNOTATE=*Annotate-data-set*\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"p0ugl7ovxrjz5tn1fl7p7vpz8ltv\"},{\"name\":\"CBODY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"CB=\"],\"description\":\"specifies the color that is used to draw the surface map.\",\"help\":\"CBODY=*surface-map-color*\",\"type\":\"color\",\"supportSiteTargetFragment\":\"n1mtymmwmr1mfln1u70ekwi7lw7y\"},{\"name\":\"CONSTANT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"CON=\"],\"description\":\"specifies a denominator to use in the distance decay function.\",\"help\":\"CONSTANT=*n*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1sh1h3y5og8enn1ue1oiovjg9y0\"},{\"name\":\"DESCRIPTION=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"DES=\"],\"description\":\"specifies a description of the output.\",\"help\":\"DESCRIPTION=\\\"*description*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p09k2pkbxwocqvn1rij52601c71k\"},{\"name\":\"NAME=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the name of the GRSEG catalog entry and the name of the graphics output file, if one is created.\",\"help\":\"NAME=\\\"*name*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0n7tn33afyedhn1847vyb3gpyxo\"},{\"name\":\"NLINES=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"N=\"],\"description\":\"specifies the number of lines used to draw the surface map.\",\"help\":\"NLINES=*number-of-lines*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0d05163k5tmawn13c41k8cxtwc6\"},{\"name\":\"PERCENT\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"PERCENTAGE\"],\"description\":\"specifies that the GMAP procedure collect all response values (or their statistic) and chart each region as a percentage of the whole.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1o1oo86vat73ln1d6sdqd61zxzm\"},{\"name\":\"ROTATE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the degrees of the angle at which to rotate the map about the Z axis in the map coordinate system.\",\"help\":\"ROTATE=*degrees*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0btby2raphfz7n130thgtsqlviu\"},{\"name\":\"STATFMT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"SFMT=\",\"SFORMAT=\",\"STATFORMAT=\"],\"description\":\"overrides the default format for percent of PERCENT8.2 that is used by the GMAP procedure.\",\"help\":\"STATFMT=*format-specification*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0dsxtx9oixerln1ell5a7l1i1ut\"},{\"name\":\"STATISTIC=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"STAT=\"],\"description\":\"specifies the statistic for the GMAP procedure to chart.\",\"help\":\"STATISTIC=FIRST | SUM | FREQUENCY | MEAN\",\"type\":\"choice\",\"arguments\":[{\"name\":\"FIRST\",\"type\":\"standalone\"},{\"name\":\"SUM\",\"type\":\"standalone\"},{\"name\":\"FREQUENCY\",\"type\":\"standalone\"},{\"name\":\"MEAN\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"n1dad3tgyqvdwcn1cnxhy6soapae\"},{\"name\":\"TILT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the degrees of the angle at which to tilt the map about the X axis in the map coordinate system.\",\"help\":\"TILT=*degrees*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p06ms4jn5jl10nn1o1ezcxyrrkvq\"},{\"name\":\"XSIZE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specify the physical width dimension of the map to be drawn.\",\"help\":\"XSIZE=*map-width* &lt;*units*&gt;\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1mcmv2gu001jcn10bsr1dddadt4\"},{\"name\":\"YSIZE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specify the physical height dimension of the map to be drawn.\",\"help\":\"YSIZE=*map-height* &lt;*units*&gt;\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p16shwfiqkmouvn13hpmeczbvr37\"}],\"supportSiteTargetFile\":\"n1nfkm6gwwuamcn1uxxugb28h9pl.htm\"},{\"name\":\"ATTRIB\",\"description\":\"Associates a format, informat, label, and length with one or more variables.\",\"help\":\"ATTRIB  *variable-list(s)**attribute-list(s)*;\",\"arguments\":[{\"name\":\"variable-list\",\"optional\":true,\"placeholder\":true,\"description\":\"names the variables that you want to associate with the attributes.\",\"help\":\"*variable-list(s)*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1nd0mq22iu6ovn14mz1ot1hwcji\"},{\"name\":\"FORMAT=\",\"description\":\"associates a format with variables in variable-list.\",\"help\":\"FORMAT=*format*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p08pt9ce6bhq86n18a3zcc97bldz\"},{\"name\":\"INFORMAT=\",\"description\":\"associates an informat with variables in variable-list.\",\"help\":\"INFORMAT=*informat*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n136glco6ritqdn160792yhk9mv1\"},{\"name\":\"LABEL=\",\"description\":\"associates a label with variables in variable-list.\",\"help\":\"LABEL='*label*' \",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0a9x9io5pi05mn1i4p2cphc7t0n\"}],\"supportSiteTargetFile\":\"n09bxytcjmyp75n1mc29q45qhpms.htm\"},{\"name\":\"BY\",\"description\":\"Orders the output according to the BY groups.\",\"help\":\"BY <DESCENDING>variable-1\\n\\t<-<DESCENDING> variable-n>\\n\\t<NOTSORTED>;\",\"arguments\":[{\"name\":\"variable\",\"placeholder\":true,\"description\":\"specifies the variable that the procedure uses to form BY groups. You can specify more than one variable. If you do not use the NOTSORTED option in the BY statement, then either the observations in the data set must be sorted by all the variables that you specify, or they must be indexed appropriately. Variables in a BY statement are called BY variables.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0e9kbav2i9chhn1xectebpz4s14a\"},{\"name\":\"DESCENDING\",\"optional\":true,\"description\":\"specifies that the observations are sorted in descending order by the variable that immediately follows the word DESCENDING in the BY statement.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1au0lhf4hi1h2n1le3cx2tp74l5a\"},{\"name\":\"NOTSORTED\",\"optional\":true,\"description\":\"specifies that observations are not necessarily sorted in alphabetic or numeric order. The observations are grouped in another way (for example, chronological order).\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p068zvjhrpn2awn1bygis4m6hppaa\"}],\"supportSiteTargetFile\":\"p1tkzb6q5jl1omn1payndkh1g3nwa.htm\"},{\"name\":\"FORMAT\",\"description\":\"Associates formats with variables.\",\"help\":\"FORMAT *variable-1*&lt;-*variable-n*&gt;&lt;*format-1*&gt;&lt;*variable-1*&lt;-*variable-n*&gt;&lt;*format-2*&gt;&gt; - &lt;DEFAULT=*default-format*&gt;;\",\"arguments\":[{\"name\":\"variable\",\"placeholder\":true,\"description\":\"names one or more variables for SAS to associate with a format. You must specify at least one variable.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1d0cionbspk2tn1ma0m6kjd1ntx\"},{\"name\":\"format\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the format that is listed for writing the values of the variables.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0oulvct798v2wn1lll17t854rg8\"},{\"name\":\"DEFAULT=\",\"optional\":true,\"description\":\"specifies a temporary default format for displaying the values of variables that are not listed in the FORMAT statement. These default formats apply only to the current DATA step; they are not permanently associated with variables in the output data set.\",\"help\":\"DEFAULT=*default-format*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0k0jb3arokdz9n1g3q3zizh81g4\"}],\"supportSiteTargetFile\":\"n1x0d6bnw9wtyun1rhq5p7tis5gs.htm\"},{\"name\":\"LABEL\",\"description\":\"Assigns descriptive labels to variables.\",\"help\":\"Form 1: Creates a descriptive label for one or more variables.\\nLABEL variable-1=’text-string’ < ...variable-n=’text-string>; \\nForm 2: Removes the label from one or more variables.\\nLABEL variable-1 = ' ' < ...variable-n=’ ‘>; | variable-1 = < ...variable-n= >\",\"arguments\":[{\"name\":\"text-string\",\"placeholder\":true,\"description\":\"specifies a label of up to 256 bytes.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n09u0k5ydxzgr3n1dfznhvex7uuo\"},{\"name\":\"'\",\"placeholder\":true,\"description\":\"removes a label from a variable. Enclose a single blank space in quotation marks to remove an existing label. You can remove labels from multiple variables in a single LABEL statement:\",\"help\":\"*' '*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1dl99omzes92cn1typpf6yl1ng0\"}],\"supportSiteTargetFile\":\"n0b8jun5pu2j52n1duycwzzhrtmw.htm\"},{\"name\":\"NOTE\",\"description\":\"Control the content, appearance, and placement of text.\",\"help\":\"NOTE &lt;*text-options*&gt;&lt;‘*text-string*’&gt;;\",\"arguments\":[{\"name\":\"ALT=\",\"description\":\"specifies descriptive text for a URL to which a note links, or the note itself.\",\"help\":\"ALT=\\\"*text-string*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1ss7qwa0a8ym6n10yt0pvlswkhla\"},{\"name\":\"ANGLE=\",\"aliases\":[\"A=\"],\"description\":\"specifies the angle of the baseline of the entire text string with respect to the horizontal.\",\"help\":\"ANGLE=*degrees*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0agfl3v4cz076n1vq0sm0kpc7u9a\"},{\"name\":\"BCOLOR=\",\"aliases\":[\"BC=\"],\"description\":\"specifies the background color of a box produced by the BOX= option.\",\"help\":\"BCOLOR=*background-color*\",\"type\":\"color\",\"supportSiteTargetFragment\":\"n0p6kae6bogf6ln1qfi5lumfuqsla\"},{\"name\":\"BLANK=\",\"aliases\":[\"BL=\"],\"description\":\"protects the box and its contents from being overwritten by any subsequent graphics elements.\",\"help\":\"BLANK=YES\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1k1qe16mrandmn1p5d6zmfzbpp3a\"},{\"name\":\"BOX=\",\"aliases\":[\"BO=\"],\"description\":\"draws a box around one line of text.\",\"help\":\"BOX=*1* - *4*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1gsgi19gb631mn1u3ohvku3h9fra\"},{\"name\":\"BSPACE=\",\"aliases\":[\"BS=\"],\"description\":\"specifies the amount of space between the boxed text and the box.\",\"help\":\"BSPACE=*box-space*&lt;*units*&gt;\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1bsvoi1ejzgldn13u0ctqhoumr7a\"},{\"name\":\"COLOR=\",\"aliases\":[\"C=\"],\"description\":\"specifies the color for the following text, box, or line.\",\"help\":\"COLOR=*color*\",\"type\":\"color\",\"supportSiteTargetFragment\":\"p0sbrdi8whe59cn1trrly9i486a2a\"},{\"name\":\"DRAW=\",\"aliases\":[\"D=\"],\"description\":\"draws lines anywhere on the graphics output area.\",\"help\":\"DRAW=(*x,y* - ,*x-n,y-n*)&lt;*units*&gt;\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1ek60b1m99g1en1p2vat39gnk0ua\"},{\"name\":\"FONT=\",\"aliases\":[\"F=\"],\"description\":\"specifies the font for the subsequent text.\",\"help\":\"FONT=*font*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n14ghk49hvnj9bn1dggqdp9185h0a\"},{\"name\":\"HEIGHT=\",\"aliases\":[\"H=\"],\"description\":\"specifies the height of text characters in number of units.\",\"help\":\"HEIGHT=*text-height*&lt;*units*&gt;\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1nstxzbtib4yon17b1z48u1xc43a\"},{\"name\":\"JUSTIFY=\",\"description\":\"specifies the alignment of the text string.\",\"help\":\"JUSTIFY=LEFT | CENTER | RIGHT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"LEFT\",\"aliases\":[\"L\"],\"description\":\"aligns the text to the left.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1bd3ccior85vpn1j8yydbva53oha\"},{\"name\":\"CENTER\",\"aliases\":[\"C\"],\"description\":\"aligns the text in the center.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1xzocqktoshbhn0zj41vgrrpcf0a\"},{\"name\":\"RIGHT\",\"aliases\":[\"R\"],\"description\":\"aligns the text to the right.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0d72p8dhm0aken19ezwvnuh89hja\"}],\"supportSiteTargetFragment\":\"p0ic105d0qi1len198gj233aunvxa\"},{\"name\":\"LANGLE=\",\"aliases\":[\"LA=\"],\"description\":\"specifies the angle of the entire text-string(s).\",\"help\":\"LANGLE=*degrees*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p17asd7cxorhh0n13ock77km9umwa\"},{\"name\":\"LINK=\",\"description\":\"specifies a uniform resource locator (URL) to which a note links.\",\"help\":\"LINK=\\\"*URL*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1g7nbregrkazwn13yab35dwunkfa\"},{\"name\":\"LSPACE=\",\"aliases\":[\"LS=\"],\"description\":\"specifies the amount of spacing above and below lines of text.\",\"help\":\"LSPACE=*line-space* &lt;*units*&gt;\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1rvmh79wukiwin10y0uxgndzm0ka\"},{\"name\":\"MOVE=\",\"aliases\":[\"M=\"],\"description\":\"positions a text string.\",\"help\":\"MOVE=(*x*,*y*) &lt;*units*&gt;\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1b4ii0h0nvyl9n1n3f3rq4bcmd7a\"},{\"name\":\"ROTATE=\",\"aliases\":[\"R=\"],\"description\":\"specifies the angle at which each character of text is rotated.\",\"help\":\"ROTATE=*degrees*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0eixp1t2i8jh7n18f5h9abmkbd9a\"},{\"name\":\"UNDERLIN=\",\"aliases\":[\"U=\",\"UNDERLINE=\"],\"description\":\"underlines subsequent text.\",\"help\":\"UNDERLIN=*0* - *3*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0odrift6g8tevn1wlkt3yirab29a\"},{\"name\":\"WRAP\",\"description\":\"wraps the text to a second line if the text does not fit on one line.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0f424vsafu2k4n1uvv5px2ea0vna\"},{\"name\":\"#BYLINE\",\"description\":\"substitutes the entire BY line without leading or trailing blanks for #BYLINE in the text string. It also displays the BY line in the note produced by the statement.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n17mfc3jo9ghz4n1g0w1pyzjaba6a\"},{\"name\":\"#BYVAL\",\"description\":\"substitutes the current value of the specified BY variable for #BYVAL in the text string and displays the value produced by the statement. Specify the variable with one of these values:\",\"help\":\"  #BYVAL*n* <br/> #BYVAL(*variable-name*)\",\"type\":\"value\",\"arguments\":[{\"name\":\"n\",\"placeholder\":true,\"description\":\"specifies which variable in the BY statement #BYVAL should use. The value of n indicates the position of the variable in the BY statement.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p152link16gmrxn17tbgrpvy6snbb\"},{\"name\":\"variable-name\",\"placeholder\":true,\"description\":\"names the BY variable.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0aywj8k42frwsn1d1075rkks2zjb\"}],\"supportSiteTargetFragment\":\"p0g93myce7dkd2n1oub0dnqw6de0b\"},{\"name\":\"#BYVAR\",\"description\":\"substitutes the name of the BY variable or label associated with the variable (whatever the BY line would normally display) for #BYVAR in the text string and displays the name or label produced by the statement. Specify the variable with one of these:\",\"help\":\"  #BYVAR*n* <br/> #BYVAR(*BY-variable-name*)\",\"type\":\"value\",\"arguments\":[{\"name\":\"n\",\"placeholder\":true,\"description\":\"specifies which variable in the BY statement #BYVAR should use. The value of n indicates the position of the variable in the BY statement. For example, #BYVAR2 specifies the second variable in the BY statement.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0edwk5zij4p1dn1dx8j7ljlp2g0b\"},{\"name\":\"BY-variable-name\",\"placeholder\":true,\"description\":\"names the BY variable. For example, #BYVAR(SITES) specifies the BY variable, SITES. Variable-name is not case sensitive.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0h7djvvxju8lqn1oopd9m2939nub\"}],\"supportSiteTargetFragment\":\"n0lq1vfuz9uxsen12rp88i6fk1pjb\"}],\"supportSiteTargetFile\":\"n06de0d5lj12inn14glgif2c8ovaa.htm\"},{\"name\":\"QUIT\",\"description\":\"Executes any statements that have not executed and ends the procedure step.\",\"help\":\"QUIT ;\",\"supportSiteTargetFile\":\"p0rv4g0o6aq6oxn1t95eicz4xfrt.htm\"},{\"name\":\"WHERE\",\"description\":\"Subsets the input data set by specifying certain conditions that each observation must meet before it is available for processing.\",\"help\":\"WHERE *where-expression*;\",\"arguments\":[{\"name\":\"where-expression\",\"placeholder\":true,\"description\":\"is an arithmetic or logical expression that generally consists of a sequence of operands and operators. For more information about where processing, see .\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0834dlfg85co3n18aqbvenv4b35\"}],\"supportSiteTargetFile\":\"n1rx5guqu5cxr1n1flpiox5ks7sr.htm\"}],\"supportSiteInformation\":{\"docsetId\":\"grmapref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"n01e0bon6tv6ncn1a7dlrr5fh5tr.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/GMM.json",
    "content": "{\"name\":\"GMM\",\"statements\":[{\"name\":\"PROC GMM\",\"description\":\"The GMM procedure performs clustering—a common step in data exploration—on quantitative data in SAS Viya . You can use this procedure to read and write data in distributed form, as well as to perform clustering and scoring in parallel by making full use of multicore computers or a distributed computing environment. PROC GMM performs cluster analysis by using the Gaussian mixture model (GMM), which is a probabilistic model that assumes that all the data points are generated from a mixture of Gaussian distributions. This model can be regarded as generalizing k-means clustering to incorporate information about the covariance structure of the data as well as the centers of the latent Gaussians.\",\"help\":\"PROC GMM <options>;                 \\n\\tDISPLAY <table-list></ options>;                 \\n\\n\\tDISPLAYOUT  table-spec-list </ options>;                 \\n\\n\\tINPUT  variables <INTERVAL>;                 \\n\\n\\tSAVESTATE  RSTORE=libref.data-table<option>;                 \\n\\n\\tSCORE  OUT=libref.data-table<options>;                 \\n\",\"arguments\":[{\"name\":\"ALPHA=\",\"optional\":true,\"description\":\"specifies the mass parameter of the Dirichlet process. The value of number must be a positive real number. When you specify a larger number, the Dirichlet process tends to discover more clusters in the input data. By default, ALPHA=1.\",\"help\":\"ALPHA=*number*\",\"type\":\"value\"},{\"name\":\"CLUSTERCOVOUT=\",\"optional\":true,\"description\":\"creates the output data table that contains the summary of the clustering results. libref.data-table is a two-level name, where libref refers to the library, and data-table specifies the name of the output data table. This data table includes the covariance matrices of the Gaussian distributions for the clusters that PROC GMM discovers. The table contains the cluster ID (_CLUSTER_ID_) and the covariance matrices of the Gaussian distributions of the discovered clusters, which consist of the nonconstant variables specified in the INPUT statement.\",\"help\":\"CLUSTERCOVOUT=*libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"CLUSTERSUMOUT=\",\"optional\":true,\"description\":\"creates the output data table that contains the summary of the clustering results. libref.data-table is a two-level name, where libref refers to the library, and data-table specifies the name of the output data table. The summary consists of the following items: the cluster ID (_CLUSTER_ID_), the numbers of observations in the clusters (_SIZE_), the clusters closest to the clusters (_NEIGHBOR_), and the cluster centroids (the means of the Gaussian distributions, which consist of the nonconstant variables specified in the INPUT statement).\",\"help\":\"CLUSTERSUMOUT=*libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"DATA=\",\"optional\":true,\"description\":\"names the input data table for PROC GMM to use. The default is the most recently created data table. libref.data-table is a two-level name, where libref refers to a collection of information that is defined in the LIBNAME statement and includes the library, which includes a path to the data, and a session identifier, which defaults to the active session but which can be explicitly defined in the LIBNAME statement. data-table specifies the name of the input data table.\",\"help\":\"DATA=*libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"INFERENCE=\",\"optional\":true,\"description\":\"performs the inference by using the variational Bayesian (VB) algorithm.\",\"help\":\"INFERENCE=VB &lt;*suboptions*&gt;\",\"type\":\"standaloneOrValue\",\"arguments\":[{\"name\":\"COVARIANCE=\",\"description\":\"specifies the type of covariance matrices in the Gaussian mixture model. You can specify the following keywords:\",\"help\":\"COVARIANCE=*keyword*\",\"type\":\"value\",\"arguments\":[{\"name\":\"DIAGONAL\",\"description\":\"specifies the covariance matrices of the Gaussian distributions as diagonal matrices.\",\"type\":\"standalone\"},{\"name\":\"FULL\",\"description\":\"specifies the covariance matrices of the Gaussian distributions as full matrices.\",\"type\":\"standalone\"}]},{\"name\":\"MAXVBITER=\",\"description\":\"specifies the maximum number of VB iterations. The VB iterations stop either when the number of iterations reaches the number or when the change in the Kullback-Leibler distance between the approximated distribution q and the true posterior distribution p between two consecutive VB iterations is lower than the threshold specified by THRESHOLD=number. When the VB iterations stop with the threshold criterion satisfied, the VB reaches its convergence. By default, MAXVBITER=100.\",\"help\":\"MAXVBITER=*number*\",\"type\":\"value\"},{\"name\":\"THRESHOLD=\",\"description\":\"specifies the threshold to define the convergence of the VB algorithm. By default, THRESHOLD=0.01.\",\"help\":\"THRESHOLD=*number*\",\"type\":\"value\"}]},{\"name\":\"MAXCLUSTERS=\",\"optional\":true,\"description\":\"specifies the maximum number of clusters that PROC GMM searches to find the best number of clusters by using the Dirichlet process. By default, MAXCLUSTERS=100.\",\"help\":\"MAXCLUSTERS=*number*\",\"type\":\"value\"},{\"name\":\"NTHREADS=\",\"optional\":true,\"description\":\"specifies the number of threads to use for the computation. The default value is the number of CPUs available in the machine.\",\"help\":\"NTHREADS=*number-of-threads*\",\"type\":\"value\"},{\"name\":\"SEED=\",\"optional\":true,\"description\":\"specifies an integer to use to start the pseudorandom number generator. If you do not specify a seed or if you specify a value less than or equal to zero, the seed is generated by reading the time of day from the computer’s clock.\",\"help\":\"SEED=*number*\",\"type\":\"value\"}]},{\"name\":\"DISPLAY\",\"description\":\"enables you to specify a list of display tables to display or exclude. This statement is similar to the ODS SELECT, ODS EXCLUDE, and ODS TRACE statements. However, the DISPLAY statement can improve performance when a large number of tables could be generated (such as in BY-group processing). The procedure processes the DISPLAY statement on a CAS server and thus sends only a subset of ODS tables to the SAS client. Because ODS statements are processed on a SAS client, first all the generated display tables are sent to the client, and then the client creates a subset. If you use both DISPLAY and ODS statements together, the DISPLAY statement takes precedence over the ODS statements. Note that the ODS EXCLUDE statement processes tables that are sent to the client after they have been filtered by the DISPLAY statement. In some cases, it might appear that the ODS EXCLUDE statement is taking precedence because it can further filter the tables. You can specify the table-list as a list of table names, paths, partial pathnames, and regular expressions.\",\"help\":\"DISPLAY &lt;table-list&gt;&lt;/ options&gt;;                                              \",\"arguments\":[{\"name\":\"CASESENSITIVE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"performs a case-sensitive comparison of table names in the table-list to display table names when tables are subsetted for display. To preserve case, you must enclose table names in the table-list in quotation marks.\",\"type\":\"standalone\"},{\"name\":\"EXCLUDE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"displays all display tables except those that you specify in the table-list.\",\"type\":\"standalone\"},{\"name\":\"EXCLUDEALL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses display of all tables. This option takes precedence over the other options.\",\"type\":\"standalone\"},{\"name\":\"TRACE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"displays the display table names, labels, and paths.\",\"type\":\"standalone\"}]},{\"name\":\"DISPLAYOUT\",\"description\":\"enables you to create output tables from your displayed output. This statement is similar to the ODS OUTPUT statement. The table-spec-list specifies a list of output tables to create. Each entry in the list has either a key=value format or a key format. key=value specifies key as the ODS table name, path, or partial pathname, and specifies value as the output table name. key specifies key as the ODS table name and also as the output table name. You cannot specify the ODS table named OutputCasTables in the table-spec-list. The DISPLAYOUT statement does not support regular expressions.\",\"help\":\"DISPLAYOUT  table-spec-list &lt;/ options&gt;;                         \",\"arguments\":[{\"name\":\"INCLUDEALL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"creates output tables for all display tables. The name of the created output table is the same as the name of the corresponding display table. If you specify this option, the table-spec-list specification is ignored.\",\"type\":\"standalone\"},{\"name\":\"NOREPLACE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"does not replace any existing output table of the same name.\",\"type\":\"standalone\"},{\"name\":\"REPEATED\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"replicates all output tables on all nodes.\",\"type\":\"standalone\"}]},{\"name\":\"INPUT\",\"description\":\"specifies the names of the variables to use in clustering. The GMM procedure uses only interval input variables for its clustering. Any input interval variable that has a standard deviation of zero indicates a constant variable (column) in the input data table. Such constant variables do not contribute to the clustering and are ignored.\",\"help\":\"INPUT  variables &lt;INTERVAL&gt;;                                              \"},{\"name\":\"SAVESTATE\",\"description\":\"creates an analytic store for the model and saves it as a binary object in a data table. You can then use the analytic store in the ASTORE procedure to score new data.\",\"help\":\"SAVESTATE  RSTORE=*libref.data-table*&lt;option&gt;;                                              \",\"arguments\":[{\"name\":\"RSTORE=\",\"optional\":true,\"description\":\"specifies a data table in which to save the analytic store for the model. libref.data-table is a two-level name, where libref refers to the library, and data-table specifies the name of the output data table.\",\"help\":\"RSTORE=*libref.data-table*\",\"type\":\"dataSet\"}]},{\"name\":\"SCORE\",\"description\":\"writes the cluster membership information of each observation to the output data table that is specified in the OUT= option. This information includes the variables that are specified in the COPYVARS= option, the predicted cluster scores, and the probability distributions over the discovered clusters. The probability value can be interpreted as the probability of that observation being a member of that cluster. This information enables you to use the GMM procedure as a soft-clustering technique.\",\"help\":\"SCORE  OUT=libref.data-table<option>;                                              \\nOUTPUT  OUT=libref.data-table<option>\",\"arguments\":[{\"name\":\"OUT=\",\"optional\":true,\"description\":\"names the output data table for PROC GMM to use. You must specify this option before any other options. libref.data-table is a two-level name, where libref refers to a collection of information that is defined in the LIBNAME statement and includes the library, which includes a path to where the data table is to be stored, and a session identifier, which defaults to the active session but which can be explicitly defined in the LIBNAME statement. data-table specifies the name of the output data table. The output data table contains the scored data. When you specify this option, the table contains all variables that are specified in the COPYVARS= option, followed by the probability distribution over the discovered clusters, and then the predicted cluster score.\",\"help\":\"OUT=*libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"COPYVAR=\",\"optional\":true,\"aliases\":[\"COPYVARS=\"],\"description\":\"lists one or more variables to transfer from the input data table to the scored output data table, provided that the output data table produces one or more records per input observation. By default, the GMM procedure does not transfer any variables from the input data table to the output data table. The COPYVARS= option accepts numeric and character variables. You can also use COPYVARS=(_ALL_) to include all the input variables.\",\"help\":\"COPYVAR={*variable*}\",\"type\":\"value\"}]}],\"supportSiteInformation\":{\"docsetId\":\"casml\",\"docsetVersion\":\"latest\",\"docsetTargetFile\":\"casml_gmm_toc.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/GOPTIONS.json",
    "content": "{\"name\":\"GOPTIONS\",\"statements\":[{\"name\":\"PROC GOPTIONS\",\"description\":\"Lists the graphics options, and their values and descriptions in the Log tab. Can also list the currently defined global statements. By default, each listed item is displayed on a separate line.\",\"help\":\"PROC GOPTIONS &lt;*options*&gt;;\",\"arguments\":[{\"name\":\"AXIS\",\"optional\":true,\"aliases\":[\"A\"],\"description\":\"requests a list of all current AXIS definitions.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0qynubjv5oeezn1ky8cc2o94c71\"},{\"name\":\"CENTIMETERS\",\"optional\":true,\"aliases\":[\"CM\"],\"description\":\"displays the values of the HORIGIN=, HSIZE=, PAPERFEED=, PAPERLIMIT=, VORIGIN=, and VSIZE= graphics options in units of centimeters (CM).\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0sloqtd35vq7cn1ab87szoqcsq9\"},{\"name\":\"FOOTNOTE\",\"optional\":true,\"aliases\":[\"F\"],\"description\":\"requests a list of all of the current FOOTNOTE and TITLE definitions.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p00gg8zmgldnb7n1umt9pswmth9q\"},{\"name\":\"LEGEND\",\"optional\":true,\"aliases\":[\"L\"],\"description\":\"requests a list of all of the current LEGEND definitions.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1xbytlqpq0o25n151uxmnuvww6u\"},{\"name\":\"NOLIST\",\"optional\":true,\"aliases\":[\"N\"],\"description\":\"suppresses the display of graphics options.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1k2r74nh0vewun1gawxzuzkhiiu\"},{\"name\":\"NOLOG\",\"optional\":true,\"description\":\"displays the output in the Results tab instead of the Log tab.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n07fzo6fjoi99pn1sh12g8j4p00m\"},{\"name\":\"OPTION=\",\"optional\":true,\"description\":\"requests information about the specified graphics option.\",\"help\":\"OPTION=*graphics-option*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0e7863s7gv9cln1vim2twpcm8kr\"},{\"name\":\"PATTERN\",\"optional\":true,\"aliases\":[\"P\"],\"description\":\"requests a list of all of the current PATTERN definitions.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1t8y0q0454wg9n12zqxn69ncrvn\"},{\"name\":\"SHORT\",\"optional\":true,\"description\":\"suppresses the descriptions of the graphics options and displays the graphics options values in an alphabetical list in paragraph form.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0jz0n5qp7warzn1o446ozu70e1l\"},{\"name\":\"SYMBOL\",\"optional\":true,\"aliases\":[\"S\"],\"description\":\"requests a list of all of the current SYMBOL definitions.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n18guyz89zhuvvn1j6582lgm08lm\"},{\"name\":\"TITLE\",\"optional\":true,\"aliases\":[\"T\"],\"description\":\"requests a list of all of the current TITLE and FOOTNOTE definitions.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p12g8h5uw4s9c1n1bwh0fx48zees\"}],\"supportSiteTargetFile\":\"n0ldbseideb55sn1pyba3to2931s.htm\"}],\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"p03fmw4pbyvbsmn1ue3klps09rze.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/GPCLASS.json",
    "content": "{\"name\":\"GPCLASS\",\"statements\":[{\"name\":\"PROC GPCLASS\",\"description\":\"The GPCLASS procedure performs classification—a common step in data exploration—on quantitative data in SAS Viya. This procedure performs binary classification by using Gaussian process classification (GPC), which is a method of probabilistic modeling that assumes that an underlying function is generated by a Gaussian process (GP) that determines the class labels of the data. As a nonparametric method, GPC allows the model parameters to adapt to the input data. To be specific, the Gaussian process adaptively learns the parameters of the latent function that lies in its corresponding reproducing kernel Hilbert space (RKHS), which is defined by the kernel of the Gaussian process, thus enabling good prediction performance.\",\"help\":\"PROC GPCLASS <options>;                 \\n\\tAUTOTUNE <options>;                 \\n\\n\\tDISPLAY <table-list></ options>;                 \\n\\n\\tDISPLAYOUT  table-spec-list </ options>;                 \\n\\n\\tINFERENCE  inference-algorithm <options>;                 \\n\\n\\tINPUT  variables <LEVEL=INTERVAL>;                 \\n\\n\\tKERNEL  kernel-type <options>;                 \\n\\n\\tOUTPUT  OUT=libref.data-table<options>;                 \\n\\n\\tSAVESTATE  RSTORE=libref.data-table<option>;                 \\n\\n\\tTARGET  variables <LEVEL=NOMINAL>;                 \\n\",\"arguments\":[{\"name\":\"DATA=\",\"optional\":true,\"description\":\"names the input data table for PROC GPCLASS to use. The default is the most recently created data table.\",\"help\":\"DATA=*libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"ID=\",\"optional\":true,\"description\":\"specifies the variable that contains IDs of the observations in the input data table. This option specifies a column in the input data table to contain the input observations IDs.\",\"help\":\"ID=*variable*\",\"type\":\"value\"},{\"name\":\"LINK=\",\"optional\":true,\"description\":\"specifies the link function to be used in the Gaussian process classification. In this method of classification, the link function is a sigmoid type of function that maps from the latent Gaussian process to a real number between 0 and 1 (that is, the predicted class probability). PROC GPCLASS currently supports only the logit function.\",\"help\":\"LINK=*keyword*\",\"type\":\"value\"},{\"name\":\"NTHREADS=\",\"optional\":true,\"description\":\"specifies the number of threads to use in the computation. The default value is the number of CPUs available in the machine.\",\"help\":\"NTHREADS=*number-of-threads*\",\"type\":\"value\"},{\"name\":\"SEED=\",\"optional\":true,\"description\":\"specifies an integer to be used to start the pseudorandom number generator. If you do not specify a seed or if you specify a value less than or equal to 0, the seed is generated by reading the time of day from the computer’s clock.\",\"help\":\"SEED=*number*\",\"type\":\"value\"},{\"name\":\"TESTDATA=\",\"optional\":true,\"description\":\"names the input data table for PROC GPCLASS to use for testing. As a supervised machine learning procedure, PROC GPCLASS takes its input data in two parts: the training data table as specified by the DATA= option and the test testing data table as specified by the TESTDATA= option. The procedure first performs the training task of the Gaussian process classification, and then it performs the testing process in which the predicted class labels and probabilities are generated from the data in the testing data table.\",\"help\":\"TESTDATA=*libref.data-table*\",\"type\":\"dataSet\"}]},{\"name\":\"AUTOTUNE\",\"description\":\"searches for the best combination of some option values in the PROC GPCLASS, KERNEL, and INFERENCE statement\",\"help\":\"AUTOTUNE &lt;options&gt;;                                              \",\"arguments\":[{\"name\":\"TUNINGPARAMETERS=\",\"optional\":true,\"aliases\":[\"TUNEPARMS=\"],\"description\":\"specifies which parameters to tune and which ranges to tune over. If USEPARAMETERS=STANDARD, this option is ignored.\",\"help\":\"TUNINGPARAMETERS=(*suboption* |...| &lt;*suboption*&gt;)\",\"type\":\"value\",\"arguments\":[{\"name\":\"CONSTANT\",\"description\":\"specifies the constant to be used in the linear kernel\",\"help\":\"CONSTANT (LB=*number* UB=*number* VALUES=*value-list* INIT=*number* EXCLUDE)\",\"type\":\"value\",\"arguments\":[{\"name\":\"LB=\",\"description\":\"specifies the minimum kernel constant to use in the tuning process, where number is a nonnegative double. If you specify this suboption, you cannot specify the VALUES= suboption. By default, LB=0.\",\"help\":\"LB=*number*\",\"type\":\"value\"},{\"name\":\"UB=\",\"description\":\"specifies the maximum kernel constant to use in the tuning process, where number is a nonnegative double. If you specify this suboption, you cannot specify the VALUES= suboption. By default, UB=100.\",\"help\":\"UB=*number*\",\"type\":\"value\"},{\"name\":\"VALUES=\",\"description\":\"specifies a list of kernel constants to use in the tuning process, where value-list is a space-separated list of nonnegative doubles. If you specify this suboption, you cannot specify either the LB= or UB= suboption.\",\"help\":\"VALUES=*value-list*\",\"type\":\"value\"},{\"name\":\"INIT=\",\"description\":\"specifies the initial kernel constant in the tuning process. By default, INIT=0.\",\"help\":\"INIT=*number*\",\"type\":\"value\"},{\"name\":\"EXCLUDE\",\"description\":\"excludes the kernel constant from the tuning process. If you specify this suboption, any specified LB=, UB=, VALUES=, and INIT= suboptions are ignored.\",\"type\":\"standalone\"}]},{\"name\":\"KERNEL\",\"description\":\"specifies the kernel type to be used in the Gaussian process\",\"help\":\"KERNEL (VALUES=*value-list* INIT=*value* EXCLUDE)\",\"type\":\"value\",\"arguments\":[{\"name\":\"VALUES=\",\"description\":\"specifies a list of kernel types to use in the tuning process, where value-list is a space-separated list of GAUSSIAN and LINEAR\",\"help\":\"VALUES=*value-list*\",\"type\":\"value\"},{\"name\":\"INIT=\",\"description\":\"specifies the initial kernel type in the tuning process. By default, INIT=GAUSSIAN.\",\"help\":\"INIT={GAUSSIAN | LINEAR}\",\"type\":\"choice\"},{\"name\":\"EXCLUDE\",\"description\":\"excludes the kernel type from the tuning process. If you specify this suboption, the VALUES= and INIT= suboptions are ignored.\",\"type\":\"standalone\"}]},{\"name\":\"MAXLAITER\",\"description\":\"specifies the maximum number of the iterations for the Laplacian approximation\",\"help\":\"MAXLAITER (LB=*number* UB=*number* VALUES=*value-list* INIT=*number* EXCLUDE)\",\"type\":\"value\",\"arguments\":[{\"name\":\"LB=\",\"description\":\"specifies the minimum number of the iterations to use in the tuning process, where number is a nonnegative integer. If you specify this suboption, you cannot also specify the VALUES= suboption. By default, LB=10.\",\"help\":\"LB=*number*\",\"type\":\"value\"},{\"name\":\"UB=\",\"description\":\"specifies the maximum number of the iterations to use in the tuning process, where number is a nonnegative integer. If you specify this suboption, you cannot specify the VALUES= suboption. By default, UB=200.\",\"help\":\"UB=*number*\",\"type\":\"value\"},{\"name\":\"VALUES=\",\"description\":\"specifies a list of numbers of the iterations to use in the tuning process, where value-list is a space-separated list of nonnegative integers. If you specify this suboption, you cannot specify either the LB= or UB= suboption.\",\"help\":\"VALUES=*value-list*\",\"type\":\"value\"},{\"name\":\"INIT=\",\"description\":\"specifies the initial number of the iterations in the tuning process. By default, INIT=100.\",\"help\":\"INIT=*number*\",\"type\":\"value\"},{\"name\":\"EXCLUDE\",\"description\":\"excludes the number of the iterations from the tuning process. If you specify this suboption, any specified LB=, UB=, VALUES=, and INIT= suboptions are ignored.\",\"type\":\"standalone\"}]},{\"name\":\"SIGMA\",\"description\":\"specifies the bandwidth to be used in the Gaussian kernel\",\"help\":\"SIGMA (LB=*number* UB=*number* VALUES=*value-list* INIT=*number* EXCLUDE)\",\"type\":\"value\",\"arguments\":[{\"name\":\"LB=\",\"description\":\"specifies the minimum bandwidth to use in the tuning process, where number is a nonnegative integer. If you specify this suboption, you cannot specify the VALUES= suboption. By default, LB=0.01.\",\"help\":\"LB=*number*\",\"type\":\"value\"},{\"name\":\"UB=\",\"description\":\"specifies the maximum bandwidth to use in the tuning process, where number is a nonnegative double. If you specify this suboption, you cannot specify the VALUES= suboption. By default, UB=100.\",\"help\":\"UB=*number*\",\"type\":\"value\"},{\"name\":\"VALUES=\",\"description\":\"specifies a list of bandwidths to use in the tuning process, where value-list is a space-separated list of nonnegative doubles. If you specify this suboption, you cannot specify either the LB= or UB= suboption.\",\"help\":\"VALUES=*value-list*\",\"type\":\"value\"},{\"name\":\"INIT=\",\"description\":\"specifies the initial bandwidth in the tuning process. By default, INIT=1.\",\"help\":\"INIT=*number*\",\"type\":\"value\"},{\"name\":\"EXCLUDE\",\"description\":\"excludes the bandwidth from the tuning process. If you specify this suboption, any specified LB=, UB=, VALUES=, and INIT= suboptions are ignored.\",\"type\":\"standalone\"}]},{\"name\":\"THRESHOLD\",\"description\":\"specifies the minimum change of the loss function between consecutive Newton iterations\",\"help\":\"THRESHOLD (LB=*number* UB=*number* VALUES=*value-list* INIT=*number* EXCLUDE)\",\"type\":\"value\",\"arguments\":[{\"name\":\"LB=\",\"description\":\"specifies the minimum threshold to use in the tuning process, where number is a nonnegative double. If you specify this suboption, you cannot specify the VALUES= suboption. By default, LB=1E–11.\",\"help\":\"LB=*number*\",\"type\":\"value\"},{\"name\":\"UB=\",\"description\":\"specifies the maximum threshold to use in the tuning process, where number is a nonnegative double. If you specify this suboption, you cannot specify the VALUES= suboption. By default, UB=1.\",\"help\":\"UB=*number*\",\"type\":\"value\"},{\"name\":\"VALUES=\",\"description\":\"specifies a list of thresholds to use in the tuning process, where value-list is a space-separated list of nonnegative doubles. If you specify this suboption, you cannot specify either the LB= or UB= suboption.\",\"help\":\"VALUES=*value-list*\",\"type\":\"value\"},{\"name\":\"INIT=\",\"description\":\"specifies the initial threshold in the tuning process. By default, INIT=1E–10.\",\"help\":\"INIT=*number*\",\"type\":\"value\"},{\"name\":\"EXCLUDE\",\"description\":\"excludes the threshold from the tuning process. If you specify this suboption, any specified LB=, UB=, VALUES=, and INIT= suboptions are ignored.\",\"type\":\"standalone\"}]}]}]},{\"name\":\"DISPLAY\",\"description\":\"enables you to specify a list of display tables to display or exclude. This statement is similar to the ODS SELECT, ODS EXCLUDE, and ODS TRACE statements. However, the DISPLAY statement can improve performance when a large number of tables could be generated (such as in BY-group processing). The procedure processes the DISPLAY statement on a CAS server and thus sends only a subset of ODS tables to the SAS client. Because ODS statements are processed on a SAS client, first all the generated display tables are sent to the client, and then the client creates a subset. If you use both DISPLAY and ODS statements together, the DISPLAY statement takes precedence over the ODS statements. Note that the ODS EXCLUDE statement processes tables that are sent to the client after they have been filtered by the DISPLAY statement. In some cases, it might appear that the ODS EXCLUDE statement is taking precedence because it can further filter the tables.\",\"help\":\"DISPLAY &lt;table-list&gt;&lt;/ options&gt;;                                              \",\"arguments\":[{\"name\":\"CASESENSITIVE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"performs a case-sensitive comparison of table names in the table-list to display table names when tables are subsetted for display. To preserve case, you must enclose table names in the table-list in quotation marks.\",\"type\":\"standalone\"},{\"name\":\"EXCLUDE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"displays all display tables except those that you specify in the table-list\",\"type\":\"standalone\"},{\"name\":\"EXCLUDEALL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses display of all tables. This option takes precedence over the other options.\",\"type\":\"standalone\"},{\"name\":\"TRACE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"displays the display table names, labels, and paths\",\"type\":\"standalone\"}]},{\"name\":\"DISPLAYOUT\",\"description\":\"enables you to create output tables from your displayed output. This statement is similar to the ODS OUTPUT statement. The table-spec-list specifies a list of output tables in key=value or key format. key=value specifies key as the ODS table name, path, or partial pathname, and value as the output table name. key is the ODS table name and the output table name. You cannot specify the ODS table named OutputCasTables in the table-spec-list. You also cannot specify the ODS tables that are created by the AUTOTUNE statement. The DISPLAYOUT statement does not support regular expressions.\",\"help\":\"DISPLAYOUT  table-spec-list &lt;/ options&gt;;                                                                            \",\"arguments\":[{\"name\":\"INCLUDEALL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"creates output tables for all display tables. The name of the created output table is the same as the name of the corresponding display table. If you specify this option, the table-spec-list specification is ignored.\",\"type\":\"standalone\"},{\"name\":\"NOREPLACE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"does not replace any existing output table of the same name\",\"type\":\"standalone\"},{\"name\":\"REPEATED\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"replicates all output tables on all nodes\",\"type\":\"standalone\"}]},{\"name\":\"INFERENCE\",\"description\":\"specifies the inference-related parameters to use in the Gaussian process classification\",\"help\":\"INFERENCE  LA&lt;option&gt;;                                               LA uses Laplacian approximation.\",\"arguments\":[{\"name\":\"MAXITER=\",\"optional\":true,\"description\":\"specifies the maximum number of Newton iterations\",\"help\":\"MAXITER=*number*\",\"type\":\"value\"},{\"name\":\"THRESHOLD=\",\"optional\":true,\"description\":\"specifies the minimum change of the loss function between consecutive Newton iterations\",\"help\":\"THRESHOLD=*number*\",\"type\":\"value\"}]},{\"name\":\"INPUT\",\"description\":\"specifies the names of the variables to use in the classification. You can specify multiple INPUT statements, and one INPUT statement can include the LEVEL=INTERVAL option for interval input variables. For classification, only interval variables are accepted.\",\"help\":\"INPUT  variables &lt;LEVEL=INTERVAL&gt;;                                              \"},{\"name\":\"KERNEL\",\"description\":\"specifies the kernel-related parameters to use in the Gaussian process\",\"help\":\"KERNEL  GAUSSIAN | LINEAR &lt;option&gt;;                                              \",\"arguments\":[{\"name\":\"CONSTANT=\",\"optional\":true,\"description\":\"specifies the constant in the linear kernel function\",\"help\":\"CONSTANT=*number*\",\"type\":\"value\"},{\"name\":\"SIGMA=\",\"optional\":true,\"description\":\"specifies the bandwidth in the Gaussian kernel function\",\"help\":\"SIGMA=*number*\",\"type\":\"value\"}]},{\"name\":\"OUTPUT\",\"description\":\"writes the classification score of each observation to the output data table that you specify in the OUT= option. This information includes the variables that you specify in the COPYVARS= option and four new variables: _I_TARGET_ (the predicted class label of the target variable), _P_TARGETCLASS0_(the predicted class probability for class 0), _P_TARGETCLASS1_(the predicted class probability for class 1), and _P_VAR_ (the variance value of the prediction).\",\"help\":\"OUTPUT  OUT=*libref.data-table*&lt;option&gt;;                                              \",\"arguments\":[{\"name\":\"OUT=\",\"optional\":true,\"description\":\"names the output data table for PROC GPCLASS to use. You must specify this option before any other options. libref.data-table is a two-level name, where libref refers to a collection of information that is defined in the LIBNAME statement and includes the library, which includes a path to where the data table is to be stored, and a session identifier, which defaults to the active session but which can be explicitly defined in the LIBNAME statement. data-table specifies the name of the output data table. The output data table contains the scored data. When you specify this option, all variables that are specified in the COPYVARS= option are added to the output data table that is specified in this option.\",\"help\":\"OUT=*libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"COPYVAR=\",\"optional\":true,\"aliases\":[\"COPYVARS=\"],\"description\":\"lists one or more variables from the input data table that are transferred to the scored output data table, provided that the output data table produces one or more records per input observation. By default, PROC GPCLASS does not transfer any variables from the input data table to the output data table. The COPYVARS= option accepts numeric and character variables. You can also use the COPYVARS=(_ALL_) option to include all the input variables.\",\"help\":\"COPYVAR={*variable*}\",\"type\":\"value\"}]},{\"name\":\"SAVESTATE\",\"description\":\"creates an analytic store for the model and saves it as a binary object in a data table. You can then use the analytic store in the ASTORE procedure to score new data. The analytic store inherits the same parameters that the SAVESTATE statement uses.\",\"help\":\"SAVESTATE  RSTORE=*libref.data-table*;                                              \",\"arguments\":[{\"name\":\"RSTORE=\",\"optional\":true,\"description\":\"specifies a data table in which to save the analytic store for the model. libref.data-table is a two-level name, where libref refers to the library, and data-table specifies the name of the output data table.\",\"help\":\"RSTORE=*libref.data-table*\",\"type\":\"dataSet\"}]},{\"name\":\"TARGET\",\"description\":\"specifies the name of the variable to be used as the classification target. You can use one TARGET statement that includes the LEVEL=NOMINAL option for the nominal target variable. Only one nominal variable is accepted as the target.\",\"help\":\"TARGET  variable &lt;LEVEL=NOMINAL&gt;;                                              \"}],\"supportSiteInformation\":{\"docsetId\":\"casml\",\"docsetVersion\":\"latest\",\"docsetTargetFile\":\"casml_gpclass_toc.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/GPLOT.json",
    "content": "{\"name\":\"GPLOT\",\"statements\":[{\"name\":\"PROC GPLOT\",\"description\":\"Identifies the data set that contains the plot variables. Can specify uniform axis scaling for all graphs as well as an annotate data set and an output catalog.\",\"help\":\" PROC GPLOT DATA=input-data-set\\n<ANNOTATE=Annotate-data-set>\\n<GOUT=<libref.>output-catalog>\\n<IMAGEMAP=                      output-data-set>\\n<UNIFORM>; \\n\\t                   BUBBLE plot-request(s)</                         options>; \\n\\t\\tBUBBLE2 plot-request(s)</                            options>;\\n\\n\\tPLOT plot-request(s)</                         options>; \\n\\t\\tPLOT2 plot-request(s)</                            options>;\\n\\n\\tATTRIB  variable-list(s) attribute-list(s);\\n\\n\\tBY <DESCENDING>variable-1\\n\\t\\t< ...\\n                        <DESCENDING>\\n                        variable-n>\\n\\t\\t<NOTSORTED>;\\n\\n\\tFORMAT variable-1< ...variable-n><format-1><variable-1< ...variable-n><format-2>> ...<DEFAULT=default-format>;\\n\\n\\tLABEL variable-1=label-1 | ' '<variable-n=label-n | ' '> ...;\\n\\n\\tNOTE <text-arguments(s)>;\\n\\n\\tQUIT ;\\n\\n\\tWHERE where-expression;\\n\",\"arguments\":[{\"name\":\"DATA=\",\"description\":\"specifies the SAS data set that contains the variables to plot. By default, the procedure uses the most recently created SAS data set.\",\"help\":\"DATA=*input-data-set*\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"n16tq39vx2789nn1ut5d9sskjifh\"},{\"name\":\"ANNOTATE=\",\"optional\":true,\"aliases\":[\"ANNO=\"],\"description\":\"specifies a data set to annotate all graphs that are produced by the GPLOT procedure.\",\"help\":\"ANNOTATE=*Annotate-data-set*\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"p01pywyprkboszn0zt994jj6xaik\"},{\"name\":\"GOUT=\",\"optional\":true,\"description\":\"specifies the SAS catalog in which to save the graphics output that is produced by the GPLOT procedure. If you omit the libref, SAS/GRAPH looks for the catalog in the temporary library called WORK and creates the catalog if it does not exist.\",\"help\":\"GOUT=&lt;*libref*.                            &gt;*output-catalog*\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"n0t1mkz15fwoywn1dg62myyqax71\"},{\"name\":\"IMAGEMAP=\",\"optional\":true,\"description\":\"creates a temporary SAS data set that is used to generate an image map.\",\"help\":\"IMAGEMAP=*output-data-set*\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"p1l3ar2nneyuyin17w2jenqymoun\"},{\"name\":\"UNIFORM\",\"optional\":true,\"description\":\"specifies that the same axis scaling is used for all graphs that are produced by the procedure. The same axis scaling would apply across Run-groups as well. By default, the range of axis values for each axis is based on the minimum and maximum values in the data. Therefore, they can vary from graph to graph and among BY groups. Using the UNIFORM option forces the value range for each axis to be the same for all graphs. Take for example, a procedure that produces multiple graphs with both left and right vertical axes. The UNIFORM option scales all of the left axes the same and all of the right axes the same. The scaling is based on the minimum and maximum data values.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1d5lu3oi4bvfjn1bf53k15pwx1h\"}],\"supportSiteTargetFile\":\"n1ca4rvgoodca6n19cn5npeiwccb.htm\"},{\"name\":\"BUBBLE\",\"description\":\"Creates bubble plots in which a third variable is plotted against two variables represented by the horizontal and vertical axes; the value of the third variable controls the size of the bubble.\",\"help\":\"BUBBLE *plot-request(s)*&lt;/                            *options*&gt;;\",\"arguments\":[{\"name\":\"y-variable\",\"placeholder\":true,\"description\":\"variable plotted on the left vertical axis.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1rezt4fxpn4rgn18wc2lgtquqpp\"},{\"name\":\"x-variable\",\"placeholder\":true,\"description\":\"variable plotted on the horizontal axis.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0jlv3hkkjs422n0zo9vhceuljl4\"},{\"name\":\"bubble-size\",\"placeholder\":true,\"description\":\"variable that specifies the size of the bubbles. Bubble-size must be numeric. If the value of bubble-size is positive, bubbles are drawn with a solid line. If it is negative, bubbles are drawn with a dashed line.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1g9dcy6iom5ntn1m08kel4c74le\"},{\"name\":\"ANNOTATE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"ANNO=\"],\"description\":\"specifies a data set to annotate all graphs that are produced by the GPLOT procedure.\",\"help\":\"ANNOTATE=*Annotate-data-set*\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"p01pywyprkboszn0zt994jj6xaika\"},{\"name\":\"AUTOHREF\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"draws reference lines at all major tick marks on the horizontal axis.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0cp1raazt94zbn1vvpym12dd1na\"},{\"name\":\"AUTOVREF\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"draws reference lines at all major tick marks on the vertical axis.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0r0xqwt6cgxzln1ipl9kwj2oz09\"},{\"name\":\"BCOLOR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the color for the bubbles.\",\"help\":\"BCOLOR=*bubble-color*\",\"type\":\"color\",\"supportSiteTargetFragment\":\"p00dmthsrwrwqun19vksul6ptdlo\"},{\"name\":\"BFILL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"enables you to generate solid or gradient-filled bubbles.\",\"help\":\"BFILL=SOLID | GRADIENT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"SOLID\",\"type\":\"standalone\"},{\"name\":\"GRADIENT\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"p1rjl2gtartm38n1pp2g34dg3kk1\"},{\"name\":\"BFONT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the font to use for bubble labels.\",\"help\":\"BFONT=*font*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0ky19flf9s1j1n11qfzr5cgntmp\"},{\"name\":\"BLABEL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"labels the bubbles with the values of the third variable.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1jgo2qh6rpqfin1ww643bg3l21q\"},{\"name\":\"BSCALE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies whether the bubble-scaling proportion is based on the area of the circles or the radius measure.\",\"help\":\"BSCALE=AREA | RADIUS\",\"type\":\"choice\",\"arguments\":[{\"name\":\"AREA\",\"type\":\"standalone\"},{\"name\":\"RADIUS\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"p1b2gbrq54a2f5n19y3lg3iw2q6o\"},{\"name\":\"BSIZE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies an overall scaling factor for the bubbles so that you can increase or decrease the size of all bubbles by this factor.\",\"help\":\"BSIZE=*multiplier*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1sy5fydlsfxcan1b5m1ssyc8nez\"},{\"name\":\"CAUTOHREF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies colors for reference lines drawn at major tick marks on the horizontal axis, as specified by the AUTOHREF option.\",\"help\":\"CAUTOHREF=*reference-line-color*\",\"type\":\"color\",\"supportSiteTargetFragment\":\"n0851516l8q3thn1eba8a0z8h1bo\"},{\"name\":\"CAUTOVREF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the color of reference lines drawn at major tick marks on the vertical axis, as determined by the AUTOVREF option.\",\"help\":\"CAUTOVREF=*reference-line-color*\",\"type\":\"color\",\"supportSiteTargetFragment\":\"p1likzl5l4dpd6n197k8zey1n9rx\"},{\"name\":\"CAXIS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"CA=\"],\"description\":\"specifies the color for the axis line and all major and minor tick marks.\",\"help\":\"CAXIS=*axis-color*\",\"type\":\"color\",\"supportSiteTargetFragment\":\"p05fpphr3dpm9kn1rficl6oifkxk\"},{\"name\":\"CFRAME=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"fills the axis area with the specified color.\",\"help\":\"CFRAME=*background-color*\",\"type\":\"color\",\"supportSiteTargetFragment\":\"p1656vn8mwdtqdn1b2cm0chrhqws\"},{\"name\":\"CHREF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"CH=\"],\"description\":\"specifies the color of reference lines drawn perpendicular to the horizontal axis.\",\"help\":\"CHREF=*reference-line-color* | (*reference-line-color*) | (*reference-line-color-list*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"reference-line-color\",\"placeholder\":true,\"type\":\"color\"},{\"name\":\"(reference-line-color)\",\"placeholder\":true,\"type\":\"color\"},{\"name\":\"(reference-line-color-list)\",\"placeholder\":true,\"type\":\"color\"}],\"supportSiteTargetFragment\":\"p1ncnunsvfhj0zn1jfh8i3o41w5z\"},{\"name\":\"CTEXT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"C=\",\"CT=\"],\"description\":\"specifies the color for all text on the axes, including tick mark values, axis labels, and bubble labels.\",\"help\":\"CTEXT=*text-color*\",\"type\":\"color\",\"supportSiteTargetFragment\":\"p0nqx9g0kbg8q1n145r2g1p8k714\"},{\"name\":\"CVREF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"CV=\"],\"description\":\"specifies the color of reference lines drawn perpendicular to the vertical axis.\",\"help\":\"CVREF=*reference-line-color* | (*reference-line-color*) | (*reference-line-color-list*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"reference-line-color\",\"placeholder\":true,\"type\":\"color\"},{\"name\":\"(reference-line-color)\",\"placeholder\":true,\"type\":\"color\"},{\"name\":\"(reference-line-color-list)\",\"placeholder\":true,\"type\":\"color\"}],\"supportSiteTargetFragment\":\"p0c5t2qbzox3rrn1jgnkgnzk4k5h\"},{\"name\":\"DATAORDER=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"plots character of midpoint-type data in data order instead of the default alphabetical order.\",\"help\":\"DATAORDER='*entry-description*'\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1rzc5itfjsodun1izpa8ijdz8bk\"},{\"name\":\"DESCRIPTION=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"DES=\"],\"description\":\"specifies a description of the output.\",\"help\":\"DESCRIPTION=\\\"*description*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0xrp7gxdot8fbn1ogqnkyv8huoj\"},{\"name\":\"FRAME\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"FR\"],\"description\":\"specifies that a line is drawn around the axis area.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0f81hce5svpmjn1738l9cd320ge\"},{\"name\":\"FRONTREF\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that reference lines drawn by the AUTOREF or REF= options should be drawn in front of the bars.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0tx5a2511pjm3n1jv92o1ktm05b\"},{\"name\":\"GRID\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"draws reference lines at all major tick marks on both axes.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n047lgyshwvjzfn1nuiw77z6l0xs\"},{\"name\":\"HAXIS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies major tick mark values for the horizontal axis or assigns a global axis definition.\",\"help\":\"HAXIS=*value-list* | AXIS&lt;*1* ...*99*&gt;\",\"type\":\"choice\",\"arguments\":[{\"name\":\"value-list\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"AXIS\",\"type\":\"standaloneOrValue\"}],\"supportSiteTargetFragment\":\"p12ynsnknboqv9n1am0zucv8hg6y\"},{\"name\":\"HMINOR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"HM=\"],\"description\":\"specifies the number of minor tick marks that are drawn between each major tick mark on the horizontal axis.\",\"help\":\"HMINOR=*number-of-minor-ticks*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1181yr26ingcun1lfcvsn2a80fl\"},{\"name\":\"HREF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"draws one or more reference lines perpendicular to the horizontal axis at points that are specified by value-list.\",\"help\":\"HREF=*value* | (*value*) | (*value-list*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"value\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(value)\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(value-list)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"n0ylz3f2b9l9dun1lbh3uorinjcd\"},{\"name\":\"HREVERSE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that the order of the values on the horizontal axis be reversed.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p002sed9xj8ytzn13a83cfw0pz8n\"},{\"name\":\"HTML=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"identifies the variable in the input data set whose values create links or data tips or both.\",\"help\":\"HTML=*variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0blnozvj3svlfn18xv8hvwkt5jy\"},{\"name\":\"HZERO\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that tick marks on the horizontal axis begin in the first position or end in the last position with a value of zero, depending on the horizontal variable values.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0v9v52o6ae8apn1n8vnl4txkieu\"},{\"name\":\"IFRAME=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"identifies the image file you that want to apply to the axis area of the plot.\",\"help\":\"IFRAME=*fileref* | '*external-file*'\",\"type\":\"choice\",\"arguments\":[{\"name\":\"fileref\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"'external-file'\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"n01wuseyh5e4vbn16pz2n5e40pyt\"},{\"name\":\"IMAGESTYLE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies whether to use multiple instances of an image to fill the axis area (TILE) or to stretch a single instance of an image to fill the axis area (FIT).\",\"help\":\"IMAGESTYLE=TILE | FIT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"TILE\",\"type\":\"standalone\"},{\"name\":\"FIT\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"n0yee5kql2slibn1gctc8z5fcysp\"},{\"name\":\"LAUTOHREF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the line type for reference lines at major tick marks on the horizontal axis, as specified by the AUTOHREF option.\",\"help\":\"LAUTOHREF=*reference-line-type*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p09ucs55cl85rjn1ein2hggxmsfb\"},{\"name\":\"LAUTOVREF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a line type for reference lines drawn at major tick marks on the vertical axis, as specified by the AUTOVREF option.\",\"help\":\"LAUTOVREF=*reference-line-type*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0m61dcuupydbcn11bchede9ysfy\"},{\"name\":\"LHREF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"LH=\"],\"description\":\"specifies line types for reference lines drawn perpendicular to the horizontal axis.\",\"help\":\"LHREF=*reference-line-type* | (*reference-line-type*) | (*reference-line-type-list*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"reference-line-type\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(reference-line-type)\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(reference-line-type-list)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"n0baudj2hc8yrkn13pei5kcob0fu\"},{\"name\":\"LVREF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"LV=\"],\"description\":\"specifies line types for reference lines drawn perpendicular to the vertical axis.\",\"help\":\"LVREF=*reference-line-type* | (*reference-line-type*) | (*reference-line-type-list*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"reference-line-type\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(reference-line-type)\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(reference-line-type-list)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p057a2gqp45t3an183mzztgdidd3\"},{\"name\":\"NAME=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the name of the GRSEG catalog entry and the name of the graphics output file, if one is created.\",\"help\":\"NAME=\\\"*name*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1bth6g11a60rln1g4vac9z39wsp\"},{\"name\":\"NOAXIS\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"NOAXES\"],\"description\":\"suppresses the axes, including axis lines, axis labels, all major and minor tick marks, and tick mark values.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1kzw9lzo2cxwln11h8lobe6nnby\"},{\"name\":\"NOFRAME\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"NOFR\"],\"description\":\"specifies that a line is not drawn around the axis area.\",\"help\":\"NOFRAME \",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0jblna8x1qm61n14q9xyndw6lrt\"},{\"name\":\"URL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a character variable whose values are URLs.\",\"help\":\"URL=*character-variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1gwpnan8iaanwn18i6wg42q9gzb\"},{\"name\":\"VAXIS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the major tick mark values for the vertical axis or assigns specified global AXIS statement definitions to the axis.\",\"help\":\"VAXIS=*value-list* | AXIS&lt;*1* ...*99*&gt;\",\"type\":\"choice\",\"arguments\":[{\"name\":\"value-list\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"AXIS\",\"type\":\"standaloneOrValue\"}],\"supportSiteTargetFragment\":\"p0qdl47rgvqtimn13ehwbg2x1fdv\"},{\"name\":\"VMINOR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"VM=\"],\"description\":\"specifies the number of minor tick marks that are drawn between each major tick mark on the vertical axis.\",\"help\":\"VMINOR=*number-of-minor-ticks*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0bf85cuvvxrajn1ac5bzbp9bm7s\"},{\"name\":\"VREF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"draws one or more reference lines perpendicular to the vertical axis at specified points.\",\"help\":\"VREF=*value* | (*value*) | (*value-list*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"value\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(value)\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(value-list)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p0xdaye9g52jo8n111av6i7ph6i5\"},{\"name\":\"VREVERSE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that the order of the values on the vertical axis should be reversed.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0kzwggvkw40gbn1t815q6h8fol3\"},{\"name\":\"VZERO\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that tick marks on the vertical axis begin in the first position or end in the last position with a value of zero, depending on the vertical variable values.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1tjlzbq7ggl16n11s1j2p8xpc7c\"},{\"name\":\"WAUTOHREF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the line width for all reference lines at major tick marks on the horizontal axis as determined by the AUTOHREF option.\",\"help\":\"WAUTOHREF=*reference-line-width*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1ppz5ruxq6gctn15yy9bwc50kbl\"},{\"name\":\"WAUTOVREF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the line width for all reference lines at major tick marks on the vertical axis as determined by the AUTOVREF option.\",\"help\":\"WAUTOVREF=*reference-line-width*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1illicrgi4u8dn1w0iluuwrtehg\"},{\"name\":\"WHREF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies line widths for reference lines as determined by the horizontal axis.\",\"help\":\"WHREF=*reference-line-width* | (*reference-line-width*) | (*reference-line-width-list*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"reference-line-width\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(reference-line-width)\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(reference-line-width-list)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p12anjkzzipsvvn1bmnaxu02g9h2\"},{\"name\":\"WVREF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies line widths for reference lines as determined by the vertical axis.\",\"help\":\"WVREF=*reference-line-width* | (*reference-line-width*) | (*reference-line-width-list*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"reference-line-width\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(reference-line-width)\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(reference-line-width-list)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p019xvbbdjoplln1qtoll2usv9ez\"}],\"supportSiteTargetFile\":\"p0gr2p06f1vtwdn1oifqw5ntr0j1.htm\"},{\"name\":\"BUBBLE2\",\"description\":\"Creates a second vertical axis on the right side of a graph produced by an accompanying BUBBLE or PLOT statement. A second variable can be plotted against this axis.\",\"help\":\"BUBBLE2 *plot-request(s)*&lt;/                            *options*&gt;;\",\"arguments\":[{\"name\":\"y-variable\",\"placeholder\":true,\"description\":\"variable plotted on the right vertical axis; typically it is different from y-variable in the accompanying BUBBLE or PLOT statement.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p077tk896jqlt0n18i91di4hnb0o\"},{\"name\":\"x-variable\",\"placeholder\":true,\"description\":\"variable plotted on the horizontal axis; it is the same as x-variable in the accompanying BUBBLE or PLOT statement.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0uktlwruw6ks6n1u9tlhcgqs3zn\"},{\"name\":\"bubble-size\",\"placeholder\":true,\"description\":\"specifies the size of the bubbles. Bubble-size must be numeric. If the value of bubble-size is positive, bubbles are drawn with a solid line. If it is negative, bubbles are drawn with a dashed line.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0yzerjwxwfteyn12u5kqq6l84fa\"},{\"name\":\"ANNOTATE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"ANNO=\"],\"description\":\"specifies a data set to annotate all graphs that are produced by the GPLOT procedure.\",\"help\":\"ANNOTATE=*Annotate-data-set*\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"p01pywyprkboszn0zt994jj6xaikb\"},{\"name\":\"AUTOVREF\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"draws reference lines at all major tick marks on the vertical axis.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0r0xqwt6cgxzln1ipl9kwj2oz09a\"},{\"name\":\"BCOLOR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the color for the bubbles.\",\"help\":\"BCOLOR=*bubble-color*\",\"type\":\"color\",\"supportSiteTargetFragment\":\"p00dmthsrwrwqun19vksul6ptdloa\"},{\"name\":\"BFILL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"enables you to generate solid or gradient-filled bubbles.\",\"help\":\"BFILL=SOLID | GRADIENT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"SOLID\",\"type\":\"standalone\"},{\"name\":\"GRADIENT\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"p1rjl2gtartm38n1pp2g34dg3kk1a\"},{\"name\":\"BFONT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the font to use for bubble labels.\",\"help\":\"BFONT=*font*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0ky19flf9s1j1n11qfzr5cgntmpa\"},{\"name\":\"BLABEL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"labels the bubbles with the values of the third variable.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1jgo2qh6rpqfin1ww643bg3l21qa\"},{\"name\":\"BSCALE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies whether the bubble-scaling proportion is based on the area of the circles or the radius measure.\",\"help\":\"BSCALE=AREA | RADIUS\",\"type\":\"choice\",\"arguments\":[{\"name\":\"AREA\",\"type\":\"standalone\"},{\"name\":\"RADIUS\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"p1b2gbrq54a2f5n19y3lg3iw2q6oa\"},{\"name\":\"BSIZE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies an overall scaling factor for the bubbles so that you can increase or decrease the size of all bubbles by this factor.\",\"help\":\"BSIZE=*multiplier*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1sy5fydlsfxcan1b5m1ssyc8neza\"},{\"name\":\"CAUTOVREF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the color of reference lines drawn at major tick marks on the vertical axis, as determined by the AUTOVREF option.\",\"help\":\"CAUTOVREF=*reference-line-color*\",\"type\":\"color\",\"supportSiteTargetFragment\":\"p1likzl5l4dpd6n197k8zey1n9rxa\"},{\"name\":\"CAXIS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"CA=\"],\"description\":\"specifies the color for the axis line and all major and minor tick marks.\",\"help\":\"CAXIS=*axis-color*\",\"type\":\"color\",\"supportSiteTargetFragment\":\"p05fpphr3dpm9kn1rficl6oifkxka\"},{\"name\":\"CFRAME=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"fills the axis area with the specified color.\",\"help\":\"CFRAME=*background-color*\",\"type\":\"color\",\"supportSiteTargetFragment\":\"n0f224pcppjmvpn1b1zd6y5a3s3u\"},{\"name\":\"CTEXT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"C=\",\"CT=\"],\"description\":\"specifies the color for all text on the axes, including tick mark values, axis labels, and bubble labels.\",\"help\":\"CTEXT=*text-color*\",\"type\":\"color\",\"supportSiteTargetFragment\":\"p0nqx9g0kbg8q1n145r2g1p8k714a\"},{\"name\":\"CVREF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"CV=\"],\"description\":\"specifies the color of reference lines drawn perpendicular to the vertical axis.\",\"help\":\"CVREF=*reference-line-color* | (*reference-line-color*) | (*reference-line-color-list*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"reference-line-color\",\"placeholder\":true,\"type\":\"color\"},{\"name\":\"(reference-line-color)\",\"placeholder\":true,\"type\":\"color\"},{\"name\":\"(reference-line-color-list)\",\"placeholder\":true,\"type\":\"color\"}],\"supportSiteTargetFragment\":\"p0c5t2qbzox3rrn1jgnkgnzk4k5ha\"},{\"name\":\"DATAORDER=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"plots character of midpoint-type data in data order instead of the default alphabetical order.\",\"help\":\"DATAORDER='*entry-description*'\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1rzc5itfjsodun1izpa8ijdz8bka\"},{\"name\":\"FRAME\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"FR\"],\"description\":\"specifies that a line is drawn around the axis area.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0j969s84um5ptn18lz03pgri687\"},{\"name\":\"FRONTREF\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that reference lines drawn by the AUTOREF or REF= options should be drawn in front of the bars.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0tx5a2511pjm3n1jv92o1ktm05ba\"},{\"name\":\"GRID\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"draws reference lines at all major tick marks on both axes.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n047lgyshwvjzfn1nuiw77z6l0xsa\"},{\"name\":\"HTML=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"identifies the variable in the input data set whose values create links or data tips or both.\",\"help\":\"HTML=*variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0blnozvj3svlfn18xv8hvwkt5jya\"},{\"name\":\"LAUTOVREF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a line type for reference lines drawn at major tick marks on the vertical axis, as specified by the AUTOVREF option.\",\"help\":\"LAUTOVREF=*reference-line-type*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0m61dcuupydbcn11bchede9ysfya\"},{\"name\":\"LVREF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"LV=\"],\"description\":\"specifies line types for reference lines drawn perpendicular to the vertical axis.\",\"help\":\"LVREF=*reference-line-type* | (*reference-line-type*) | (*reference-line-type-list*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"reference-line-type\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(reference-line-type)\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(reference-line-type-list)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p057a2gqp45t3an183mzztgdidd3a\"},{\"name\":\"NOAXIS\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"NOAXES\"],\"description\":\"suppresses the axes, including axis lines, axis labels, all major and minor tick marks, and tick mark values.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1kzw9lzo2cxwln11h8lobe6nnbya\"},{\"name\":\"NOFRAME\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"NOFR\"],\"description\":\"specifies that a line is not drawn around the axis area.\",\"help\":\"NOFRAME \",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0zr3gnfeyy2j5n1ofvnyhquhmch\"},{\"name\":\"URL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a character variable whose values are URLs.\",\"help\":\"URL=*character-variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1gwpnan8iaanwn18i6wg42q9gzba\"},{\"name\":\"VAXIS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the major tick mark values for the vertical axis or assigns specified global AXIS statement definitions to the axis.\",\"help\":\"VAXIS=*value-list* | AXIS&lt;*1* ...*99*&gt;\",\"type\":\"choice\",\"arguments\":[{\"name\":\"value-list\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"AXIS\",\"type\":\"standaloneOrValue\"}],\"supportSiteTargetFragment\":\"p0qdl47rgvqtimn13ehwbg2x1fdva\"},{\"name\":\"VMINOR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"VM=\"],\"description\":\"specifies the number of minor tick marks that are drawn between each major tick mark on the vertical axis.\",\"help\":\"VMINOR=*number-of-minor-ticks*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0bf85cuvvxrajn1ac5bzbp9bm7sa\"},{\"name\":\"VREF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"draws one or more reference lines perpendicular to the vertical axis at specified points.\",\"help\":\"VREF=*value* | (*value*) | (*value-list*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"value\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(value)\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(value-list)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p0xdaye9g52jo8n111av6i7ph6i5a\"},{\"name\":\"VREVERSE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that the order of the values on the vertical axis should be reversed.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0kzwggvkw40gbn1t815q6h8fol3a\"},{\"name\":\"VZERO\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that tick marks on the vertical axis begin in the first position or end in the last position with a value of zero, depending on the vertical variable values.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1tjlzbq7ggl16n11s1j2p8xpc7ca\"},{\"name\":\"WAUTOVREF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the line width for all reference lines at major tick marks on the vertical axis as determined by the AUTOVREF option.\",\"help\":\"WAUTOVREF=*reference-line-width*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1illicrgi4u8dn1w0iluuwrtehga\"},{\"name\":\"WVREF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies line widths for reference lines as determined by the vertical axis.\",\"help\":\"WVREF=*reference-line-width* | (*reference-line-width*) | (*reference-line-width-list*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"reference-line-width\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(reference-line-width)\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(reference-line-width-list)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p019xvbbdjoplln1qtoll2usv9eza\"}],\"supportSiteTargetFile\":\"n01j9roaf2bkffn13yfuclt1utyh.htm\"},{\"name\":\"PLOT\",\"description\":\"Creates plots in which one variable is plotted on the horizontal axis and a second variable is plotted on the left vertical axis.\",\"help\":\"PLOT *plot-request(s)*&lt;/                            *options*&gt;;\",\"arguments\":[{\"name\":\"y-variable\",\"placeholder\":true,\"description\":\"variable plotted on the left vertical axis.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0idsscfl413zmn1a7vqxa9o3qab\"},{\"name\":\"x-variable\",\"placeholder\":true,\"description\":\"variable plotted on the horizontal axis.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p060l4qn0hezi3n15lmrwobrm42h\"},{\"name\":\"n\",\"placeholder\":true,\"description\":\"number of the nth generated SYMBOL definition.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0jrqf601am9jin1g11hb8vnmzbr\"},{\"name\":\"y-variable\",\"placeholder\":true,\"description\":\"variables plotted on the left vertical axes.\",\"help\":\"*y-variable(s)*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1kehyhwpn97qqn18o7munmw0aw1\"},{\"name\":\"x-variable\",\"placeholder\":true,\"description\":\"variables plotted on the horizontal axes.\",\"help\":\"*x-variable(s)*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0hsm134e5lbppn1m022utdc7q39\"},{\"name\":\"y-variable\",\"placeholder\":true,\"description\":\"variable plotted on the left vertical axis.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0z2zi5xnmf6e4n18bm7qls0sakn\"},{\"name\":\"x-variable\",\"placeholder\":true,\"description\":\"variable plotted on the horizontal axis.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1aca4z39gcjt1n1oyvykytz6z1k\"},{\"name\":\"third-variable\",\"placeholder\":true,\"description\":\"classification variable against which y-variable and x-variable are plotted. Third-variable can be character or numeric, but numeric variables should contain discrete rather than continuous values, or should be formatted to provide discrete values.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0vjv33ozgxnq8n17l0jfp6qs3ly\"},{\"name\":\"ANNOTATE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"ANNO=\"],\"description\":\"specifies a data set to annotate all graphs that are produced by the GPLOT procedure.\",\"help\":\"ANNOTATE=*Annotate-data-set*\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"p01pywyprkboszn0zt994jj6xaikc\"},{\"name\":\"AREAS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"fills all the areas below plot line n with a pattern.\",\"help\":\"AREAS=*n*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1rxg0z79otu3en12dler83ninfr\"},{\"name\":\"AUTOHREF\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"draws reference lines at all major tick marks on the horizontal axis.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n02y36snevkshgn16sjh6ira8mlv\"},{\"name\":\"AUTOVREF\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"draws reference lines at all of the major tick marks on the vertical axis.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n11usjlqfx7oj3n0z69omnug5lh4\"},{\"name\":\"CAUTOHREF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies colors for reference lines drawn at major tick marks on the horizontal axis, as specified by the AUTOHREF option.\",\"help\":\"CAUTOHREF=*reference-line-color*\",\"type\":\"color\",\"supportSiteTargetFragment\":\"n19ys9wpn25vxcn18y8tazsxhm7n\"},{\"name\":\"CAUTOVREF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the color of reference lines drawn at major tick marks on the vertical axis, as determined by the AUTOVREF option.\",\"help\":\"CAUTOVREF=*reference-line-color*\",\"type\":\"color\",\"supportSiteTargetFragment\":\"n0dkzzrsbxhhfyn14rd6ayhd4h3i\"},{\"name\":\"CAXIS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"CA=\"],\"description\":\"specifies the color for the axis line and all major and minor tick marks.\",\"help\":\"CAXIS=*axis-color*\",\"type\":\"color\",\"supportSiteTargetFragment\":\"n0uyrf9t7klw2gn1v4zfdgriysb1\"},{\"name\":\"CBASELINE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"CB=\"],\"description\":\"specifies the color of the horizontal baseline for reference lines of a plot.\",\"help\":\"CBASELINE=*baseline-color*\",\"type\":\"color\",\"supportSiteTargetFragment\":\"p17u4kx1f00jlqn1df3d3qfrcylq\"},{\"name\":\"CFRAME=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"fills the axis area with the specified color.\",\"help\":\"CFRAME=*background-color*\",\"type\":\"color\",\"supportSiteTargetFragment\":\"n05zdnnqc0otrzn12ktw2ef1dno9\"},{\"name\":\"CHREF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"CH=\"],\"description\":\"specifies the color of reference lines drawn perpendicular to the horizontal axis.\",\"help\":\"CHREF=*reference-line-color* | (*reference-line-color*) | (*reference-line-color-list*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"reference-line-color\",\"placeholder\":true,\"type\":\"color\"},{\"name\":\"(reference-line-color)\",\"placeholder\":true,\"type\":\"color\"},{\"name\":\"(reference-line-color-list)\",\"placeholder\":true,\"type\":\"color\"}],\"supportSiteTargetFragment\":\"n0bjj3yyzcjto5n1iuv3544rzblm\"},{\"name\":\"COUTLINE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"CO=\"],\"description\":\"specifies the color of the outline that is drawn around filled areas.\",\"help\":\"COUTLINE=*outline-color*\",\"type\":\"color\",\"supportSiteTargetFragment\":\"n0gsfhubqegy7rn12qzoxid1w169\"},{\"name\":\"CTEXT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"C=\"],\"description\":\"specifies a color for all text on the axes and legend, including axis labels, tick mark values, legend labels, and legend value descriptions.\",\"help\":\"CTEXT=*text-color*\",\"type\":\"color\",\"supportSiteTargetFragment\":\"n132rjrx2dn2v2n138mhgxefemg0\"},{\"name\":\"CVREF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"CV=\"],\"description\":\"specifies the color of reference lines drawn perpendicular to the vertical axis.\",\"help\":\"CVREF=*reference-line-color* | (*reference-line-color*) | (*reference-line-color-list*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"reference-line-color\",\"placeholder\":true,\"type\":\"color\"},{\"name\":\"(reference-line-color)\",\"placeholder\":true,\"type\":\"color\"},{\"name\":\"(reference-line-color-list)\",\"placeholder\":true,\"type\":\"color\"}],\"supportSiteTargetFragment\":\"n1kjtuzmprnbkpn1eo8g033zhcxt\"},{\"name\":\"DESCRIPTION=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"DES=\"],\"description\":\"specifies a description of the output.\",\"help\":\"DESCRIPTION=\\\"*description*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p06mtsps4l0oimn1ig5a4btvpjem\"},{\"name\":\"FRAME\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"FR\"],\"description\":\"specifies that a line is drawn around the axis area.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0t8mffxhwafeon1sgmk44apmcom\"},{\"name\":\"FRONTREF\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that reference lines drawn by the AUTOREF or REF= options should be drawn in front of the bars.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1gek4rrj6aa8en1hkotirtc96km\"},{\"name\":\"GRID\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"draws reference lines at all major tick marks on both axes.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p11drvdirqeeikn1iaur724hxcdf\"},{\"name\":\"HAXIS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies major tick mark values for the horizontal axis or assigns a global axis definition.\",\"help\":\"HAXIS=*value-list* | AXIS&lt;*1* ...*99*&gt;\",\"type\":\"choice\",\"arguments\":[{\"name\":\"value-list\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"AXIS\",\"type\":\"standaloneOrValue\"}],\"supportSiteTargetFragment\":\"p107jss24obwltn0zamblzw7s1oo\"},{\"name\":\"HMINOR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"HM=\"],\"description\":\"specifies the number of minor tick marks drawn between each major tick mark on the horizontal axis.\",\"help\":\"HMINOR=*number-of-minor-ticks*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0iyfapotklki7n1rvzde3mam8gk\"},{\"name\":\"HREF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"draws one or more reference lines perpendicular to the horizontal axis at points that are specified by value-list.\",\"help\":\"HREF=*value* | (*value*) | (*value-list*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"value\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(value)\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(value-list)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"n1vyta69exdz00n1l1lnw69d0qzb\"},{\"name\":\"HREVERSE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that the order of the values on the horizontal axis be reversed.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0qxv05p1zktkrn1k492b0zk720l\"},{\"name\":\"HTML=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"identifies the variable in the input data set whose values create links or data tips or both.\",\"help\":\"HTML=*variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0ysgfohw9kbjyn1jmyzppmarwf7\"},{\"name\":\"HTML_LEGEND=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"identifies the variable in the input data set whose values create links or data tips or both.\",\"help\":\"HTML_LEGEND=*variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n06t07bdmagiemn16zmqpb0g5mt0\"},{\"name\":\"HZERO\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that tick marks on the horizontal axis begin in the first position or end in the last position with a value of zero, depending on the horizontal variable values.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0pj753p6wn4n2n1qxo6tf9xew38\"},{\"name\":\"IFRAME=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"identifies the image file that you want to apply to the axis area of the plot.\",\"help\":\"IFRAME=*fileref* | '*external-file*'\",\"type\":\"choice\",\"arguments\":[{\"name\":\"fileref\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"'external-file'\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"n0qdq0hxswoduin1o5au9pao320b\"},{\"name\":\"IMAGESTYLE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies whether to use multiple instances of the image to fill the axis area (TILE) or to stretch a single instance of the image to fill the (FIT). The TILE value is the default.\",\"help\":\"IMAGESTYLE=TILE | FIT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"TILE\",\"type\":\"standalone\"},{\"name\":\"FIT\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"n0nhcou7lafh8kn1cy58ii1njvuo\"},{\"name\":\"LAUTOHREF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a line type for reference lines drawn at major tick marks on the horizontal axis, as specified by the AUTOHREF option.\",\"help\":\"LAUTOHREF=*reference-line-type*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n01hix8eoglntjn1n2ritdign34z\"},{\"name\":\"LAUTOVREF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a line type for reference lines drawn at major tick marks on the vertical axis, as specified by the AUTOVREF option.\",\"help\":\"LAUTOVREF=*reference-line-type*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1xzrzo3dwo0spn13mejxkn7uemn\"},{\"name\":\"LEGEND\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"generates a legend or specifies the defined global legend to use for the plot.\",\"help\":\"LEGEND&lt;*n*&gt;\",\"type\":\"standaloneOrValue\",\"arguments\":[{\"name\":\"n\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the legend statement number.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0sy2hdyvq56obn1kklayrf69wz8\"}],\"supportSiteTargetFragment\":\"p04w2futxhs95zn10ci8shewpzsj\"},{\"name\":\"LEGEND=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"generates a legend or specifies the defined global legend to use for the plot.\",\"help\":\"LEGEND=LEGEND&lt;*n*&gt;\",\"type\":\"standaloneOrValue\",\"arguments\":[{\"name\":\"n\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the legend statement number.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0sy2hdyvq56obn1kklayrf69wz8\"}],\"supportSiteTargetFragment\":\"p04w2futxhs95zn10ci8shewpzsj\"},{\"name\":\"LHREF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"LH=\"],\"description\":\"specifies line types for reference lines drawn perpendicular to the horizontal axis.\",\"help\":\"LHREF=*reference-line-type* | (*reference-line-type*) | (*reference-line-type-list*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"reference-line-type\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(reference-line-type)\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(reference-line-type-list)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"n1w4sewdo1mcyun1irzk5kidwd9l\"},{\"name\":\"LVREF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"LV=\"],\"description\":\"specifies the type of reference lines drawn with the AUTOVREF, VREF, and GRID options.\",\"help\":\"LVREF=*reference-line-type* | (*reference-line-type*) | (*reference-line-type-list*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"reference-line-type\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(reference-line-type)\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(reference-line-type-list)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p1bmf4at0je1i9n12ngk52i5hsbs\"},{\"name\":\"NAME=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the name of the GRSEG catalog entry and the name of the graphics output file, if one is created.\",\"help\":\"NAME=\\\"*name*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1agk9s4cepa3kn13pojyek2kywj\"},{\"name\":\"NOAXIS\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"NOAXES\"],\"description\":\"suppresses the axes, including axis lines, axis labels, all major and minor tick marks, and tick mark values.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1ozjaum30fctgn1l2v0awfgi0t6\"},{\"name\":\"NOFRAME\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"NOFR\"],\"description\":\"specifies that a line is not drawn around the axis area.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1vwfgl7hv09zon101yjuh2anft5\"},{\"name\":\"NOLASTAREA\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"NOLASTFILL\"],\"description\":\"removes the last area of a plot when the value specified by the AREAS= option exceeds the number of bounded areas in the plot.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0of60lke0b090n141bquk5m8cs5\"},{\"name\":\"NOLEGEND\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses the legend that is generated by a plot request of the type y-variable*x-variable=third-variable.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n03fmmyhmt2kkhn1f9zz96xxdez6\"},{\"name\":\"OVERLAY\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"places all the plots that are generated by the PLOT statement on one set of axes.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0uzgs7u7a8v09n1k4mu4s9wgzk4\"},{\"name\":\"REGEQN\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"displays the regression equation that is specified in the INTERPOL= option of the SYMBOL statement in the lower left corner of the plot.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1h2lrwsyg4dwzn1mdvhw333b8es\"},{\"name\":\"SKIPMISS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"breaks a plot line or an area fill at occurrences of missing values of the Y variable.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1c9zh3vkwpe6in18e2ldfpgmvii\"},{\"name\":\"URL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a character variable whose values are URLs.\",\"help\":\"URL=*character-variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0lazrwlsy2b11n1uvgkgbe7b4o4\"},{\"name\":\"VAXIS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the major tick mark values for the vertical axis or assigns a global axis definition.\",\"help\":\"VAXIS=*value-list* | AXIS&lt;*1* ...*99*&gt;\",\"type\":\"choice\",\"arguments\":[{\"name\":\"value-list\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"AXIS\",\"type\":\"standaloneOrValue\"}],\"supportSiteTargetFragment\":\"n1v41q923evrnen1ogw1y6z83f5p\"},{\"name\":\"VMINOR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"VM=\"],\"description\":\"specifies the number of minor tick marks that are drawn between each major tick mark on the vertical axis.\",\"help\":\"VMINOR=*number-of-minor-ticks*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0h2fbyopyur5un1bqutcbt702jw\"},{\"name\":\"VREF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"draws one or more reference lines perpendicular to the vertical axis at specified points.\",\"help\":\"VREF=*value* | (*value*) | (*value-list*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"value\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(value)\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(value-list)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p1thhjuhl7cffvn1txy1lt6u9g8x\"},{\"name\":\"VREVERSE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that the order of the values on the vertical axis be reversed.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0pmfev6l3shrkn1ozqf4fbz1apj\"},{\"name\":\"VZERO\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that tick marks on the vertical axis begin in the first position or end in the last position with a value of zero, depending on the vertical variable values.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n12a2ot0336iizn11ziei2p9ddb7\"},{\"name\":\"WAUTOHREF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the line width for all reference lines at major tick marks on the horizontal axis as determined by the AUTOHREF option.\",\"help\":\"WAUTOHREF=*reference-line-width*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n17f1zp0yiiqs0n1afbcp822f26i\"},{\"name\":\"WAUTOVREF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the line width for all reference lines at major tick marks on the vertical axis as determined by the AUTOVREF option.\",\"help\":\"WAUTOVREF=*reference-line-width*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1axs7drd3773mn0z9lo98xfwbch\"},{\"name\":\"WHREF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies line widths for reference lines as determined by the horizontal axis.\",\"help\":\"WHREF=*reference-line-width* | (*reference-line-width*) | (*reference-line-width-list*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"reference-line-width\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(reference-line-width)\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(reference-line-width-list)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p1hzchnwiagfyun1fsewoasmev9w\"},{\"name\":\"WVREF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies line widths for reference lines as determined by the vertical axis.\",\"help\":\"WVREF=*reference-line-width* | (*reference-line-width*) | (*reference-line-width-list*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"reference-line-width\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(reference-line-width)\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(reference-line-width-list)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"n0kzyoi70i3fogn1fs0fj8zhv775\"}],\"supportSiteTargetFile\":\"n0l4536v5ljgrvn1875la9n7gjjp.htm\"},{\"name\":\"PLOT2\",\"description\":\"Produces one or more plots with the vertical axis on the right side of the graph against which a second variable can be plotted.\",\"help\":\"PLOT2 *plot-request(s)*&lt;/                            *options*&gt;;\",\"arguments\":[{\"name\":\"y-variable\",\"placeholder\":true,\"description\":\"variable plotted on the right vertical axis.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0rgzau4jom2rmn1dyn4vtu7j0cd\"},{\"name\":\"x-variable\",\"placeholder\":true,\"description\":\"variable plotted on the horizontal axis.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0mn3wt273z3rgn1kwzzvxy6zsuf\"},{\"name\":\"n\",\"placeholder\":true,\"description\":\"number of the nth generated SYMBOL definition.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n07m9ot1a0i9e9n1llli2b62qioc\"},{\"name\":\"y-variable\",\"placeholder\":true,\"description\":\"variables plotted on the right vertical axes.\",\"help\":\"*y-variable(s)*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0bs48gbqvbtu5n1gzsweihqiezh\"},{\"name\":\"x-variable\",\"placeholder\":true,\"description\":\"variables plotted on the horizontal axes.\",\"help\":\"*x-variable(s)*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0jv5v4dhrnbf1n1x9du8yjbi4ah\"},{\"name\":\"y-variable\",\"placeholder\":true,\"description\":\"variable plotted on the right vertical axis.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1uiorqwy5hag2n1hrxewm3u5eak\"},{\"name\":\"x-variable\",\"placeholder\":true,\"description\":\"variable plotted on the horizontal axis.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0iuy7zoaqasrmn1szvht4kmzdp4\"},{\"name\":\"third-variable\",\"placeholder\":true,\"description\":\"classification variable against which y-variable and x-variable are plotted. Third-variable can be character or numeric, but numeric variables should contain discrete rather than continuous values, or should be formatted to provide discrete values.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p009hercjgn823n19x3fana6bubt\"},{\"name\":\"ANNOTATE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"ANNO=\"],\"description\":\"specifies a data set to annotate all graphs that are produced by the GPLOT procedure.\",\"help\":\"ANNOTATE=*Annotate-data-set*\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"p01pywyprkboszn0zt994jj6xaikd\"},{\"name\":\"AREAS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"fills all the areas below plot line n with a pattern.\",\"help\":\"AREAS=*n*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1rxg0z79otu3en12dler83ninfra\"},{\"name\":\"AUTOVREF\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"draws reference lines at all of the major tick marks on the vertical axis.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n11usjlqfx7oj3n0z69omnug5lh4a\"},{\"name\":\"CAUTOVREF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the color of reference lines drawn at major tick marks on the vertical axis, as determined by the AUTOVREF option.\",\"help\":\"CAUTOVREF=*reference-line-color*\",\"type\":\"color\",\"supportSiteTargetFragment\":\"n0dkzzrsbxhhfyn14rd6ayhd4h3ia\"},{\"name\":\"CAXIS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"CA=\"],\"description\":\"specifies the color for the axis line and all major and minor tick marks.\",\"help\":\"CAXIS=*axis-color*\",\"type\":\"color\",\"supportSiteTargetFragment\":\"n0uyrf9t7klw2gn1v4zfdgriysb1a\"},{\"name\":\"CBASELINE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"CB=\"],\"description\":\"specifies the color of the horizontal baseline for reference lines of a plot.\",\"help\":\"CBASELINE=*baseline-color*\",\"type\":\"color\",\"supportSiteTargetFragment\":\"p17u4kx1f00jlqn1df3d3qfrcylqa\"},{\"name\":\"CFRAME=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"fills the axis area with the specified color.\",\"help\":\"CFRAME=*background-color*\",\"type\":\"color\",\"supportSiteTargetFragment\":\"p0v8rtx1bdhwabn1ock5ebb8y1fu\"},{\"name\":\"COUTLINE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"CO=\"],\"description\":\"specifies the color of the outline that is drawn around filled areas.\",\"help\":\"COUTLINE=*outline-color*\",\"type\":\"color\",\"supportSiteTargetFragment\":\"n0gsfhubqegy7rn12qzoxid1w169a\"},{\"name\":\"CTEXT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"C=\"],\"description\":\"specifies a color for all text on the axes and legend, including axis labels, tick mark values, legend labels, and legend value descriptions.\",\"help\":\"CTEXT=*text-color*\",\"type\":\"color\",\"supportSiteTargetFragment\":\"n132rjrx2dn2v2n138mhgxefemg0a\"},{\"name\":\"CVREF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"CV=\"],\"description\":\"specifies the color of reference lines drawn perpendicular to the vertical axis.\",\"help\":\"CVREF=*reference-line-color* | (*reference-line-color*) | (*reference-line-color-list*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"reference-line-color\",\"placeholder\":true,\"type\":\"color\"},{\"name\":\"(reference-line-color)\",\"placeholder\":true,\"type\":\"color\"},{\"name\":\"(reference-line-color-list)\",\"placeholder\":true,\"type\":\"color\"}],\"supportSiteTargetFragment\":\"n1kjtuzmprnbkpn1eo8g033zhcxta\"},{\"name\":\"FRAME\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"FR\"],\"description\":\"specifies that a line is drawn around the axis area.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1c7cr0kz2hxa2n11t5uwgsnvwi3\"},{\"name\":\"FRONTREF\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that reference lines drawn by the AUTOREF or REF= options should be drawn in front of the bars.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1gek4rrj6aa8en1hkotirtc96kma\"},{\"name\":\"GRID\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"draws reference lines at all major tick marks on both axes.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p11drvdirqeeikn1iaur724hxcdfa\"},{\"name\":\"HTML=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"identifies the variable in the input data set whose values create links or data tips or both.\",\"help\":\"HTML=*variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0ysgfohw9kbjyn1jmyzppmarwf7a\"},{\"name\":\"HTML_LEGEND=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"identifies the variable in the input data set whose values create links or data tips or both.\",\"help\":\"HTML_LEGEND=*variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n06t07bdmagiemn16zmqpb0g5mt0a\"},{\"name\":\"LAUTOVREF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a line type for reference lines drawn at major tick marks on the vertical axis, as specified by the AUTOVREF option.\",\"help\":\"LAUTOVREF=*reference-line-type*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1xzrzo3dwo0spn13mejxkn7uemna\"},{\"name\":\"LEGEND\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"generates a legend or specifies the defined global legend to use for the plot.\",\"help\":\"LEGEND&lt;*n*&gt;\",\"type\":\"standaloneOrValue\",\"arguments\":[{\"name\":\"n\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the legend statement number.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0sy2hdyvq56obn1kklayrf69wz8a\"}],\"supportSiteTargetFragment\":\"p04w2futxhs95zn10ci8shewpzsja\"},{\"name\":\"LEGEND=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"generates a legend or specifies the defined global legend to use for the plot.\",\"help\":\"LEGEND=LEGEND&lt;*n*&gt;\",\"type\":\"standaloneOrValue\",\"arguments\":[{\"name\":\"n\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the legend statement number.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0sy2hdyvq56obn1kklayrf69wz8a\"}],\"supportSiteTargetFragment\":\"p04w2futxhs95zn10ci8shewpzsja\"},{\"name\":\"LVREF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"LV=\"],\"description\":\"specifies the type of reference lines drawn with the AUTOVREF, VREF, and GRID options.\",\"help\":\"LVREF=*reference-line-type* | (*reference-line-type*) | (*reference-line-type-list*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"reference-line-type\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(reference-line-type)\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(reference-line-type-list)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p1bmf4at0je1i9n12ngk52i5hsbsa\"},{\"name\":\"NOAXIS\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"NOAXES\"],\"description\":\"suppresses the axes, including axis lines, axis labels, all major and minor tick marks, and tick mark values.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1ozjaum30fctgn1l2v0awfgi0t6a\"},{\"name\":\"NOFRAME\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"NOFR\"],\"description\":\"specifies that a line is not drawn around the axis area.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p14t6sip399arjn1wfok8ezhsnx2\"},{\"name\":\"NOLASTAREA\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"NOLASTFILL\"],\"description\":\"removes the last area of a plot when the value specified by the AREAS= option exceeds the number of bounded areas in the plot.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0of60lke0b090n141bquk5m8cs5a\"},{\"name\":\"NOLEGEND\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses the legend that is generated by a plot request of the type y-variable*x-variable=third-variable.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n03fmmyhmt2kkhn1f9zz96xxdez6a\"},{\"name\":\"OVERLAY\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"places all the plots that are generated by the PLOT statement on one set of axes.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0uzgs7u7a8v09n1k4mu4s9wgzk4a\"},{\"name\":\"REGEQN\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"displays the regression equation that is specified in the INTERPOL= option of the SYMBOL statement in the lower left corner of the plot.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1h2lrwsyg4dwzn1mdvhw333b8esa\"},{\"name\":\"SKIPMISS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"breaks a plot line or an area fill at occurrences of missing values of the Y variable.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1c9zh3vkwpe6in18e2ldfpgmviia\"},{\"name\":\"URL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a character variable whose values are URLs.\",\"help\":\"URL=*character-variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0lazrwlsy2b11n1uvgkgbe7b4o4a\"},{\"name\":\"VAXIS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the major tick mark values for the vertical axis or assigns a global axis definition.\",\"help\":\"VAXIS=*value-list* | AXIS&lt;*1* ...*99*&gt;\",\"type\":\"choice\",\"arguments\":[{\"name\":\"value-list\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"AXIS\",\"type\":\"standaloneOrValue\"}],\"supportSiteTargetFragment\":\"n1v41q923evrnen1ogw1y6z83f5pa\"},{\"name\":\"VMINOR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"VM=\"],\"description\":\"specifies the number of minor tick marks that are drawn between each major tick mark on the vertical axis.\",\"help\":\"VMINOR=*number-of-minor-ticks*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0h2fbyopyur5un1bqutcbt702jwa\"},{\"name\":\"VREF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"draws one or more reference lines perpendicular to the vertical axis at specified points.\",\"help\":\"VREF=*value* | (*value*) | (*value-list*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"value\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(value)\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(value-list)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p1thhjuhl7cffvn1txy1lt6u9g8xa\"},{\"name\":\"VREVERSE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that the order of the values on the vertical axis be reversed.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0pmfev6l3shrkn1ozqf4fbz1apja\"},{\"name\":\"VZERO\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that tick marks on the vertical axis begin in the first position or end in the last position with a value of zero, depending on the vertical variable values.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n12a2ot0336iizn11ziei2p9ddb7a\"},{\"name\":\"WAUTOVREF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the line width for all reference lines at major tick marks on the vertical axis as determined by the AUTOVREF option.\",\"help\":\"WAUTOVREF=*reference-line-width*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1axs7drd3773mn0z9lo98xfwbcha\"},{\"name\":\"WVREF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies line widths for reference lines as determined by the vertical axis.\",\"help\":\"WVREF=*reference-line-width* | (*reference-line-width*) | (*reference-line-width-list*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"reference-line-width\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(reference-line-width)\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(reference-line-width-list)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"n0kzyoi70i3fogn1fs0fj8zhv775a\"}],\"supportSiteTargetFile\":\"n06uezznxrwujin1x9wgxne5dnjd.htm\"},{\"name\":\"ATTRIB\",\"description\":\"Associates a format, informat, label, and length with one or more variables.\",\"help\":\"ATTRIB  *variable-list(s)**attribute-list(s)*;\",\"arguments\":[{\"name\":\"variable-list\",\"optional\":true,\"placeholder\":true,\"description\":\"names the variables that you want to associate with the attributes.\",\"help\":\"*variable-list(s)*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1nd0mq22iu6ovn14mz1ot1hwcjic\"},{\"name\":\"FORMAT=\",\"description\":\"associates a format with variables in variable-list.\",\"help\":\"FORMAT=*format*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p08pt9ce6bhq86n18a3zcc97bldzc\"},{\"name\":\"INFORMAT=\",\"description\":\"associates an informat with variables in variable-list.\",\"help\":\"INFORMAT=*informat*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n136glco6ritqdn160792yhk9mv1c\"},{\"name\":\"LABEL=\",\"description\":\"associates a label with variables in variable-list.\",\"help\":\"LABEL='*label*' \",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0a9x9io5pi05mn1i4p2cphc7t0nc\"}],\"supportSiteTargetFile\":\"n09bxytcjmyp75n1mc29q45qhpmsc.htm\"},{\"name\":\"BY\",\"description\":\"Orders the output according to the BY groups.\",\"help\":\"BY <DESCENDING>variable-1\\n\\t<-<DESCENDING> variable-n>\\n\\t<NOTSORTED>;\",\"arguments\":[{\"name\":\"variable\",\"placeholder\":true,\"description\":\"specifies the variable that the procedure uses to form BY groups. You can specify more than one variable. If you do not use the NOTSORTED option in the BY statement, then either the observations in the data set must be sorted by all the variables that you specify, or they must be indexed appropriately. Variables in a BY statement are called BY variables.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0e9kbav2i9chhn1xectebpz4s14c\"},{\"name\":\"DESCENDING\",\"optional\":true,\"description\":\"specifies that the observations are sorted in descending order by the variable that immediately follows the word DESCENDING in the BY statement.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1au0lhf4hi1h2n1le3cx2tp74l5c\"},{\"name\":\"NOTSORTED\",\"optional\":true,\"description\":\"specifies that observations are not necessarily sorted in alphabetic or numeric order. The observations are grouped in another way (for example, chronological order).\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p068zvjhrpn2awn1bygis4m6hppac\"}],\"supportSiteTargetFile\":\"p1tkzb6q5jl1omn1payndkh1g3nwc.htm\"},{\"name\":\"FORMAT\",\"description\":\"Associates formats with variables.\",\"help\":\"FORMAT *variable-1*&lt;-*variable-n*&gt;&lt;*format-1*&gt;&lt;*variable-1*&lt;-*variable-n*&gt;&lt;*format-2*&gt;&gt; - &lt;DEFAULT=*default-format*&gt;;\",\"arguments\":[{\"name\":\"variable\",\"placeholder\":true,\"description\":\"names one or more variables for SAS to associate with a format. You must specify at least one variable.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1d0cionbspk2tn1ma0m6kjd1ntxc\"},{\"name\":\"format\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the format that is listed for writing the values of the variables.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0oulvct798v2wn1lll17t854rg8c\"},{\"name\":\"DEFAULT=\",\"optional\":true,\"description\":\"specifies a temporary default format for displaying the values of variables that are not listed in the FORMAT statement. These default formats apply only to the current DATA step; they are not permanently associated with variables in the output data set.\",\"help\":\"DEFAULT=*default-format*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0k0jb3arokdz9n1g3q3zizh81g4c\"}],\"supportSiteTargetFile\":\"n1x0d6bnw9wtyun1rhq5p7tis5gsc.htm\"},{\"name\":\"LABEL\",\"description\":\"Assigns descriptive labels to variables.\",\"help\":\"Form 1: Creates a descriptive label for one or more variables.\\nLABEL variable-1=’text-string’ < ...variable-n=’text-string>; \\nForm 2: Removes the label from one or more variables.\\nLABEL variable-1 = ' ' < ...variable-n=’ ‘>; | variable-1 = < ...variable-n= >\",\"arguments\":[{\"name\":\"text-string\",\"placeholder\":true,\"description\":\"specifies a label of up to 256 bytes.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n09u0k5ydxzgr3n1dfznhvex7uuoc\"},{\"name\":\"'\",\"placeholder\":true,\"description\":\"removes a label from a variable. Enclose a single blank space in quotation marks to remove an existing label. You can remove labels from multiple variables in a single LABEL statement:\",\"help\":\"*' '*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1dl99omzes92cn1typpf6yl1ng0c\"}],\"supportSiteTargetFile\":\"n0b8jun5pu2j52n1duycwzzhrtmwc.htm\"},{\"name\":\"NOTE\",\"description\":\"Control the content, appearance, and placement of text.\",\"help\":\"NOTE &lt;*text-options*&gt;&lt;‘*text-string*’&gt;;\",\"arguments\":[{\"name\":\"ALT=\",\"description\":\"specifies descriptive text for a URL to which a note links, or the note itself.\",\"help\":\"ALT=\\\"*text-string*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1ss7qwa0a8ym6n10yt0pvlswkhld\"},{\"name\":\"ANGLE=\",\"aliases\":[\"A=\"],\"description\":\"specifies the angle of the baseline of the entire text string with respect to the horizontal.\",\"help\":\"ANGLE=*degrees*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0agfl3v4cz076n1vq0sm0kpc7u9d\"},{\"name\":\"BCOLOR=\",\"aliases\":[\"BC=\"],\"description\":\"specifies the background color of a box produced by the BOX= option.\",\"help\":\"BCOLOR=*background-color*\",\"type\":\"color\",\"supportSiteTargetFragment\":\"n0p6kae6bogf6ln1qfi5lumfuqsld\"},{\"name\":\"BLANK=\",\"aliases\":[\"BL=\"],\"description\":\"protects the box and its contents from being overwritten by any subsequent graphics elements.\",\"help\":\"BLANK=YES\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1k1qe16mrandmn1p5d6zmfzbpp3d\"},{\"name\":\"BOX=\",\"aliases\":[\"BO=\"],\"description\":\"draws a box around one line of text.\",\"help\":\"BOX=*1* - *4*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1gsgi19gb631mn1u3ohvku3h9frd\"},{\"name\":\"BSPACE=\",\"aliases\":[\"BS=\"],\"description\":\"specifies the amount of space between the boxed text and the box.\",\"help\":\"BSPACE=*box-space*&lt;*units*&gt;\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1bsvoi1ejzgldn13u0ctqhoumr7d\"},{\"name\":\"COLOR=\",\"aliases\":[\"C=\"],\"description\":\"specifies the color for the following text, box, or line.\",\"help\":\"COLOR=*color*\",\"type\":\"color\",\"supportSiteTargetFragment\":\"p0sbrdi8whe59cn1trrly9i486a2d\"},{\"name\":\"DRAW=\",\"aliases\":[\"D=\"],\"description\":\"draws lines anywhere on the graphics output area.\",\"help\":\"DRAW=(*x,y* - ,*x-n,y-n*)&lt;*units*&gt;\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1ek60b1m99g1en1p2vat39gnk0ud\"},{\"name\":\"FONT=\",\"aliases\":[\"F=\"],\"description\":\"specifies the font for the subsequent text.\",\"help\":\"FONT=*font*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n14ghk49hvnj9bn1dggqdp9185h0d\"},{\"name\":\"HEIGHT=\",\"aliases\":[\"H=\"],\"description\":\"specifies the height of text characters in number of units.\",\"help\":\"HEIGHT=*text-height*&lt;*units*&gt;\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1nstxzbtib4yon17b1z48u1xc43d\"},{\"name\":\"JUSTIFY=\",\"description\":\"specifies the alignment of the text string.\",\"help\":\"JUSTIFY=LEFT | CENTER | RIGHT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"LEFT\",\"aliases\":[\"L\"],\"description\":\"aligns the text to the left.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1bd3ccior85vpn1j8yydbva53ohd\"},{\"name\":\"CENTER\",\"aliases\":[\"C\"],\"description\":\"aligns the text in the center.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1xzocqktoshbhn0zj41vgrrpcf0d\"},{\"name\":\"RIGHT\",\"aliases\":[\"R\"],\"description\":\"aligns the text to the right.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0d72p8dhm0aken19ezwvnuh89hjd\"}],\"supportSiteTargetFragment\":\"p0ic105d0qi1len198gj233aunvxd\"},{\"name\":\"LANGLE=\",\"aliases\":[\"LA=\"],\"description\":\"specifies the angle of the entire text-string(s).\",\"help\":\"LANGLE=*degrees*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p17asd7cxorhh0n13ock77km9umwd\"},{\"name\":\"LINK=\",\"description\":\"specifies a uniform resource locator (URL) to which a note links.\",\"help\":\"LINK=\\\"*URL*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1g7nbregrkazwn13yab35dwunkfd\"},{\"name\":\"LSPACE=\",\"aliases\":[\"LS=\"],\"description\":\"specifies the amount of spacing above and below lines of text.\",\"help\":\"LSPACE=*line-space* &lt;*units*&gt;\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1rvmh79wukiwin10y0uxgndzm0kd\"},{\"name\":\"MOVE=\",\"aliases\":[\"M=\"],\"description\":\"positions a text string.\",\"help\":\"MOVE=(*x*,*y*) &lt;*units*&gt;\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1b4ii0h0nvyl9n1n3f3rq4bcmd7d\"},{\"name\":\"ROTATE=\",\"aliases\":[\"R=\"],\"description\":\"specifies the angle at which each character of text is rotated.\",\"help\":\"ROTATE=*degrees*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0eixp1t2i8jh7n18f5h9abmkbd9d\"},{\"name\":\"UNDERLIN=\",\"aliases\":[\"U=\",\"UNDERLINE=\"],\"description\":\"underlines subsequent text.\",\"help\":\"UNDERLIN=*0* - *3*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0odrift6g8tevn1wlkt3yirab29d\"},{\"name\":\"WRAP\",\"description\":\"wraps the text to a second line if the text does not fit on one line.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0f424vsafu2k4n1uvv5px2ea0vnd\"},{\"name\":\"#BYLINE\",\"description\":\"substitutes the entire BY line without leading or trailing blanks for #BYLINE in the text string. It also displays the BY line in the note produced by the statement.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n17mfc3jo9ghz4n1g0w1pyzjaba6d\"},{\"name\":\"#BYVAL\",\"description\":\"substitutes the current value of the specified BY variable for #BYVAL in the text string and displays the value produced by the statement. Specify the variable with one of these values:\",\"help\":\"  #BYVAL*n* <br/> #BYVAL(*variable-name*)\",\"type\":\"value\",\"arguments\":[{\"name\":\"n\",\"placeholder\":true,\"description\":\"specifies which variable in the BY statement #BYVAL should use. The value of n indicates the position of the variable in the BY statement.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p152link16gmrxn17tbgrpvy6snbg\"},{\"name\":\"variable-name\",\"placeholder\":true,\"description\":\"names the BY variable.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0aywj8k42frwsn1d1075rkks2zjg\"}],\"supportSiteTargetFragment\":\"p0g93myce7dkd2n1oub0dnqw6de0g\"},{\"name\":\"#BYVAR\",\"description\":\"substitutes the name of the BY variable or label associated with the variable (whatever the BY line would normally display) for #BYVAR in the text string and displays the name or label produced by the statement. Specify the variable with one of these:\",\"help\":\"  #BYVAR*n* <br/> #BYVAR(*BY-variable-name*)\",\"type\":\"value\",\"arguments\":[{\"name\":\"n\",\"placeholder\":true,\"description\":\"specifies which variable in the BY statement #BYVAR should use. The value of n indicates the position of the variable in the BY statement. For example, #BYVAR2 specifies the second variable in the BY statement.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0edwk5zij4p1dn1dx8j7ljlp2g0g\"},{\"name\":\"BY-variable-name\",\"placeholder\":true,\"description\":\"names the BY variable. For example, #BYVAR(SITES) specifies the BY variable, SITES. Variable-name is not case sensitive.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0h7djvvxju8lqn1oopd9m2939nug\"}],\"supportSiteTargetFragment\":\"n0lq1vfuz9uxsen12rp88i6fk1pjg\"}],\"supportSiteTargetFile\":\"n06de0d5lj12inn14glgif2c8ovad.htm\"},{\"name\":\"QUIT\",\"description\":\"Executes any statements that have not executed and ends the procedure step.\",\"help\":\"QUIT ;\",\"supportSiteTargetFile\":\"p0rv4g0o6aq6oxn1t95eicz4xfrtc.htm\"},{\"name\":\"WHERE\",\"description\":\"Subsets the input data set by specifying certain conditions that each observation must meet before it is available for processing.\",\"help\":\"WHERE *where-expression*;\",\"arguments\":[{\"name\":\"where-expression\",\"placeholder\":true,\"description\":\"is an arithmetic or logical expression that generally consists of a sequence of operands and operators. For more information about where processing, see .\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0834dlfg85co3n18aqbvenv4b35c\"}],\"supportSiteTargetFile\":\"n1rx5guqu5cxr1n1flpiox5ks7src.htm\"}],\"interactive\":true,\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"n1e0onjgevom4kn1hbiibc6w34oe.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/GPREG.json",
    "content": "{\"name\":\"GPREG\",\"statements\":[{\"name\":\"PROC GPREG\",\"description\":\"The GPREG procedure performs Gaussian process regression (GPR) for very large data sets in SAS Viya. GPR assumes that the predictions are based on a latent function that is a posterior distribution of a Gaussian process prior and a Gaussian noise likelihood. This latent function is adaptively learned on the basis of the observed data input in the reproducing kernel Hilbert space (RKHS), which is defined by the kernel of the Gaussian process. Thus it provides good regression performance. This procedure uses stochastic variational inference for Gaussian process models, which can process large data sets fast (Hensman, Fusi, and Lawrence 2013), and where the Gaussian processes can be variationally decomposed to depend on a set of globally relevant inducing variables that factorize the model in the manner necessary to perform variational inference in parallel. This enables you to apply Gaussian process models to data sets that contain millions of data points.\",\"help\":\"PROC GPREG <options>;                 \\n\\tAUTOTUNE <options>;                 \\n\\n\\tDISPLAY <table-list></ options>;                 \\n\\n\\tDISPLAYOUT table-spec-list </ options>;                 \\n\\n\\tINPUT variables<LEVEL= INTERVAL>;                 \\n\\n\\tKERNEL kernel-type <options>;                 \\n\\n\\tOPTIMIZATION <optimization-algorithm><options>;                 \\n\\n\\tOUTPUT  OUT=libref.data-table<options>;                 \\n\\n\\tPARTITION <partition-options>;                 \\n\\n\\tSAVESTATE  RSTORE=libref.data-table;                 \\n\\n\\tTARGET variables<LEVEL= INTERVAL>;                 \\n\",\"arguments\":[{\"name\":\"APPLYROWORDER\",\"optional\":true,\"description\":\"uses a data distribution and row order as determined by a previous partition action call.\",\"type\":\"standalone\"},{\"name\":\"DATA=\",\"optional\":true,\"description\":\"names the input data table for PROC GPREG to use. The default is the most recently created data table. libref.data-table is a two-level name, where libref refers to a collection of information that is defined in the LIBNAME statement and includes the library, which includes a path to the data, and a session identifier, which defaults to the active session but which can be explicitly defined in the LIBNAME statement. data-table specifies the name of the input data table.\",\"help\":\"DATA=*libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"FIXINDUCINGPOINTS\",\"optional\":true,\"description\":\"specifies that the inducing points in the sparse Gaussian process are to be fixed or adjusted during the optimization. If you omit this option, PROC GPREG adjusts the locations of the inducing points during the iterations of the model inference.\",\"type\":\"standalone\"},{\"name\":\"NINDUCINGPOINTS=\",\"optional\":true,\"description\":\"specifies the number of inducing points to use in the sparse Gaussian process. The number must be a positive integer. When you specify a larger number, the PROC GPREG provides a more precise prediction results for the regression, but at a slower processing speed. When you specify a smaller number, the result are less accurate but the processing is faster. By default, NINDUCINGPOINTS=100.\",\"help\":\"NINDUCINGPOINTS=*number*\",\"type\":\"value\"},{\"name\":\"NTHREADS=\",\"optional\":true,\"description\":\"specifies the number of threads to use in the computation. The default value is the number of CPUs available in the machine.\",\"help\":\"NTHREADS=*number-of-threads*\",\"type\":\"value\"},{\"name\":\"OUTINDUCINGPOINTS=\",\"optional\":true,\"description\":\"creates the data table that contains the inducing points to use in the sparse Gaussian process. If you also specify the FIXINDUCINGPOINTS option, this table contains the cluster centroids of the k-means used as the initial inducing points. Otherwise, the table contains the locations of the inducing points of the last iteration of the model inference. libref.data-table is a two-level name, where libref refers to the library, and data-table specifies the name of the output data table.\",\"help\":\"OUTINDUCINGPOINTS=*libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"OUTVARIATIONALCOV=\",\"optional\":true,\"description\":\"creates the data table that contains the covariance to use in the sparse Gaussian process. The table contains the covariance of the Gaussian process used in the last iteration of the model inference. libref.data-table is a two-level name, where libref refers to the library, and data-table specifies the name of the output data table.\",\"help\":\"OUTVARIATIONALCOV=*libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"SEED=\",\"optional\":true,\"description\":\"specifies an integer to be used to start the pseudorandom number generator. If you do not specify a seed or if you specify a value less than or equal to 0, the seed is generated by reading the time of day from the computer’s clock.\",\"help\":\"SEED=*number*\",\"type\":\"value\"}]},{\"name\":\"AUTOTUNE\",\"description\":\"searches for the best combination of some option values in the PROC GPREG, KERNEL, and OPTIMIZATION statement.\",\"help\":\"AUTOTUNE &lt;options&gt;;                                              \",\"arguments\":[{\"name\":\"TUNINGPARAMETERS=\",\"optional\":true,\"aliases\":[\"TUNEPARMS=\"],\"description\":\"specifies which parameters to tune and which ranges to tune over. If USEPARAMETERS=STANDARD, this option is ignored.\",\"help\":\"TUNINGPARAMETERS=(*suboption* |...| &lt;*suboption*&gt;)\",\"type\":\"value\",\"arguments\":[{\"name\":\"ALGORITHM\",\"description\":\"specifies the optimization algorithm.\",\"help\":\"ALGORITHM (VALUES=*value-list* INIT=*value* EXCLUDE)\",\"type\":\"value\",\"arguments\":[{\"name\":\"VALUES=\",\"description\":\"specifies a list of algorithm types to use in the tuning process, where value-list is a space-separated list of ADAM and SGD\",\"help\":\"VALUES=*value-list*\",\"type\":\"value\"},{\"name\":\"INIT=\",\"description\":\"specifies the initial algorithm type in the tuning process. By default, INIT=SGD.\",\"help\":\"INIT=ADAM|SGD\",\"type\":\"choice\"},{\"name\":\"EXCLUDE\",\"description\":\"excludes the algorithm type from the tuning process. If you specify this suboption, the VALUES= and INIT= suboptions are ignored.\",\"type\":\"standalone\"}]},{\"name\":\"ARD\",\"description\":\"uses automatic relevance determination in the kernel function.\",\"help\":\"ARD (VALUES=*value-list* INIT=*value* EXCLUDE)\",\"type\":\"value\",\"arguments\":[{\"name\":\"VALUES=\",\"description\":\"specifies a list of values to use in the tuning process, where value-list is a space-separated list of FALSE and TRUE.\",\"help\":\"VALUES=*value-list*\",\"type\":\"value\"},{\"name\":\"INIT=\",\"description\":\"specifies the initial automatic relevance determination value in the tuning process. By default, INIT=FALSE.\",\"help\":\"INIT=FALSE|TRUE\",\"type\":\"choice\"},{\"name\":\"EXCLUDE\",\"description\":\"excludes the automatic relevance determination from the tuning process. If you specify this suboption, the VALUES= and INIT= suboptions are ignored.\",\"type\":\"standalone\"}]},{\"name\":\"JITTERMAXITERS\",\"description\":\"specifies the maximum number of iterations for jitter Cholesky decomposition.\",\"help\":\"JITTERMAXITERS (LB=*number* UB=*number* VALUES=*value-list* INIT=*number* EXCLUDE)\",\"type\":\"value\",\"arguments\":[{\"name\":\"LB=\",\"description\":\"specifies the minimum jitter iterations to use in the tuning process, where number is a nonnegative integer. If you specify this suboption, you cannot specify the VALUES= suboption. By default, LB=5.\",\"help\":\"LB=*number*\",\"type\":\"value\"},{\"name\":\"UB=\",\"description\":\"specifies the maximum jitter iterations to use in the tuning process, where number is a nonnegative integer. If you specify this suboption, you cannot specify the VALUES= suboption. By default, UB=15.\",\"help\":\"UB=*number*\",\"type\":\"value\"},{\"name\":\"VALUES=\",\"description\":\"specifies a list of jitter iterations to use in the tuning process, where value-list is a space-separated list of nonnegative integers. If you specify this suboption, you cannot specify either the LB= or UB= suboption.\",\"help\":\"VALUES=*value-list*\",\"type\":\"value\"},{\"name\":\"INIT=\",\"description\":\"specifies the initial jitter iterations in the tuning process. By default, INIT=10.\",\"help\":\"INIT=*number*\",\"type\":\"value\"},{\"name\":\"EXCLUDE\",\"description\":\"excludes the jitter iterations from the tuning process. If you specify this suboption, any specified LB=, UB=, VALUES=, and INIT= suboptions are ignored.\",\"type\":\"standalone\"}]},{\"name\":\"KERNEL\",\"description\":\"specifies the kernel type to be used in the Gaussian process.\",\"help\":\"KERNEL (VALUES=*value-list* INIT=*value* EXCLUDE)\",\"type\":\"value\",\"arguments\":[{\"name\":\"VALUES=\",\"description\":\"specifies a list of kernel types to use in the tuning process, where value-list is a space-separated list of LINEAR, MATERN32, MATERN52, PERIODIC, and RBF.\",\"help\":\"VALUES=*value-list*\",\"type\":\"value\"},{\"name\":\"INIT=\",\"description\":\"specifies the initial kernel type in the tuning process. By default, INIT=RBF.\",\"help\":\"INIT={LINEAR|MATERN32|MATERN52|PERIODIC|RBF}\",\"type\":\"choice\"},{\"name\":\"EXCLUDE\",\"description\":\"excludes the kernel from the tuning process. If you specify this suboption, the VALUES= and INIT= suboptions are ignored.\",\"type\":\"standalone\"}]},{\"name\":\"LEARNINGRATE\",\"description\":\"specifies the learning rate parameter that the optimizaton algorithm uses.\",\"help\":\"LEARNINGRATE (LB=*number* UB=*number* VALUES=*value-list* INIT=*number* EXCLUDE)\",\"type\":\"value\",\"arguments\":[{\"name\":\"LB=\",\"description\":\"specifies the minimum learning rate to use in the tuning process, where number is a nonnegative double. If you specify this suboption, you cannot specify the VALUES= suboption. By default, LB=1E-7.\",\"help\":\"LB=*number*\",\"type\":\"value\"},{\"name\":\"UB=\",\"description\":\"specifies the maximum learning rate to use in the tuning process, where number is a nonnegative double. If you specify this suboption, you cannot specify the VALUES= suboption. By default, UB=2.\",\"help\":\"UB=*number*\",\"type\":\"value\"},{\"name\":\"VALUES=\",\"description\":\"specifies a list of learning rate to use in the tuning process, where value-list is a space-separated list of nonnegative doubles. If you specify this suboption, you cannot specify either the LB= or UB= suboption.\",\"help\":\"VALUES=*value-list*\",\"type\":\"value\"},{\"name\":\"INIT=\",\"description\":\"specifies the initial learning rate in the tuning process. By default, INIT=1E-3.\",\"help\":\"INIT=*number*\",\"type\":\"value\"},{\"name\":\"EXCLUDE\",\"description\":\"excludes the learning rate from the tuning process. If you specify this suboption, any specified LB=, UB=, VALUES=, and INIT= suboptions are ignored.\",\"type\":\"standalone\"}]},{\"name\":\"MINIBATCHSIZE\",\"description\":\"specifies the value for size of the minibatch in the gradient descent.\",\"help\":\"MINIBATCHSIZE (LB=*number* UB=*number* VALUES=*value-list* INIT=*number* EXCLUDE)\",\"type\":\"value\",\"arguments\":[{\"name\":\"LB=\",\"description\":\"specifies the minimum minibatch size to use in the tuning process, where number is a nonnegative integer. If you specify this suboption, you cannot specify the VALUES= suboption. By default, LB=1.\",\"help\":\"LB=*number*\",\"type\":\"value\"},{\"name\":\"UB=\",\"description\":\"specifies the maximum minibatch size to use in the tuning process, where number is a nonnegative integer. If you specify this suboption, you cannot specify the VALUES= suboption. By default, UB=64.\",\"help\":\"UB=*number*\",\"type\":\"value\"},{\"name\":\"VALUES=\",\"description\":\"specifies a list of minibatch sizes to use in the tuning process, where value-list is a space-separated list of nonnegative integers. If you specify this suboption, you cannot specify either the LB= or UB= suboption.\",\"help\":\"VALUES=*value-list*\",\"type\":\"value\"},{\"name\":\"INIT=\",\"description\":\"specifies the initial minibatch size in the tuning process. By default, INIT=1.\",\"help\":\"INIT=*number*\",\"type\":\"value\"},{\"name\":\"EXCLUDE\",\"description\":\"excludes the minibatch size from the tuning process. If you specify this suboption, any specified LB=, UB=, VALUES=, and INIT= suboptions are ignored.\",\"type\":\"standalone\"}]},{\"name\":\"MOMENTUM\",\"description\":\"specifies the value for momentum in the optimization.\",\"help\":\"MOMENTUM (LB=*number* UB=*number* VALUES=*value-list* INIT=*number* EXCLUDE)\",\"type\":\"value\",\"arguments\":[{\"name\":\"LB=\",\"description\":\"specifies the minimum momentum to use in the tuning process, where number is a nonnegative double. If you specify this suboption, you cannot specify the VALUES= suboption. By default, LB=0.\",\"help\":\"LB=*number*\",\"type\":\"value\"},{\"name\":\"UB=\",\"description\":\"specifies the maximum momentum to use in the tuning process, where number is a nonnegative double. If you specify this suboption, you cannot specify the VALUES= suboption. By default, UB=0.99.\",\"help\":\"UB=*number*\",\"type\":\"value\"},{\"name\":\"VALUES=\",\"description\":\"specifies a list of momentum to use in the tuning process, where value-list is a space-separated list of nonnegative doubles. If you specify this suboption, you cannot specify either the LB= or UB= suboption.\",\"help\":\"VALUES=*value-list*\",\"type\":\"value\"},{\"name\":\"INIT=\",\"description\":\"specifies the momentum rate in the tuning process. By default, INIT=0.1.\",\"help\":\"INIT=*number*\",\"type\":\"value\"},{\"name\":\"EXCLUDE\",\"description\":\"excludes the momentum from the tuning process. If you specify this suboption, any specified LB=, UB=, VALUES=, and INIT= suboptions are ignored.\",\"type\":\"standalone\"}]},{\"name\":\"NINDUCINGPOINTS\",\"description\":\"specifies the number of inducing points in the Gaussian process\",\"help\":\"NINDUCINGPOINTS (LB=*number* UB=*number* VALUES=*value-list* INIT=*number* EXCLUDE)\",\"type\":\"value\",\"arguments\":[{\"name\":\"LB=\",\"description\":\"specifies the minimum number of inducing points to use in the tuning process, where number is a nonnegative integer. If you specify this suboption, you cannot specify the VALUES= suboption. By default, LB=25.\",\"help\":\"LB=*number*\",\"type\":\"value\"},{\"name\":\"UB=\",\"description\":\"specifies the maximum number of inducing points to use in the tuning process, where number is a nonnegative integer. If you specify this suboption, you cannot specify the VALUES= suboption. By default, UB=150.\",\"help\":\"UB=*number*\",\"type\":\"value\"},{\"name\":\"VALUES=\",\"description\":\"specifies a list of number of inducing points to use in the tuning process, where value-list is a space-separated list of nonnegative integers. If you specify this suboption, you cannot specify either the LB= or UB= suboption.\",\"help\":\"VALUES=*value-list*\",\"type\":\"value\"},{\"name\":\"INIT=\",\"description\":\"specifies the initial number of inducing points in the tuning process. By default, INIT=100.\",\"help\":\"INIT=*number*\",\"type\":\"value\"},{\"name\":\"EXCLUDE\",\"description\":\"excludes the number of inducing points from the tuning process. If you specify this suboption, any specified LB=, UB=, VALUES=, and INIT= suboptions are ignored.\",\"type\":\"standalone\"}]},{\"name\":\"TUNEADAPTIVEDECAY\",\"description\":\"specifies the rate at which the second moment of the gradient is decayed.\",\"help\":\"TUNEADAPTIVEDECAY (LB=*number* UB=*number* VALUES=*value-list* INIT=*number* EXCLUDE)\",\"type\":\"value\",\"arguments\":[{\"name\":\"LB=\",\"description\":\"specifies the minimum adaptive decay to use in the tuning process, where number is a nonnegative double. If you specify this suboption, you cannot specify the VALUES= suboption. By default, LB=0.\",\"help\":\"LB=*number*\",\"type\":\"value\"},{\"name\":\"UB=\",\"description\":\"specifies the maximum adaptive decay to use in the tuning process, where number is a nonnegative double. If you specify this suboption, you cannot specify the VALUES= suboption. By default, UB=0.99.\",\"help\":\"UB=*number*\",\"type\":\"value\"},{\"name\":\"VALUES=\",\"description\":\"specifies a list of adaptive decays to use in the tuning process, where value-list is a space-separated list of nonnegative doubles. If you specify this suboption, you cannot specify either the LB= or UB= suboption.\",\"help\":\"VALUES=*value-list*\",\"type\":\"value\"},{\"name\":\"INIT=\",\"description\":\"specifies the initial adaptive decay in the tuning process. By default, INIT=0.95.\",\"help\":\"INIT=*number*\",\"type\":\"value\"},{\"name\":\"EXCLUDE\",\"description\":\"excludes the adaptive decay from the tuning process. If you specify this suboption, any specified LB=, UB=, VALUES=, and INIT= suboptions are ignored.\",\"type\":\"standalone\"}]},{\"name\":\"TUNEADAPTIVERATE\",\"description\":\"uses an adaptive learning rate in the gradient descent.\",\"help\":\"TUNEADAPTIVERATE (VALUES=*value-list* INIT=*value* EXCLUDE)\",\"type\":\"value\",\"arguments\":[{\"name\":\"VALUES=\",\"description\":\"specifies a list of values to use in the tuning process, where value-list is a space-separated list of the values FALSE and TRUE.\",\"help\":\"VALUES=*value-list*\",\"type\":\"value\"},{\"name\":\"INIT=\",\"description\":\"specifies the initial adaptive rate value in the tuning process. By default, INIT=FALSE.\",\"help\":\"INIT={FALSE|TRUE}\",\"type\":\"choice\"},{\"name\":\"EXCLUDE\",\"description\":\"excludes the adaptive rate from the tuning process. If you specify this suboption, the VALUES= and INIT= suboptions are ignored.\",\"type\":\"standalone\"}]}]}]},{\"name\":\"DISPLAY\",\"description\":\"enables you to specify a list of display tables to display or exclude. This statement is similar to the ODS SELECT, ODS EXCLUDE, and ODS TRACE statements. However, the DISPLAY statement can improve performance when a large number of tables could be generated (such as in BY-group processing). The procedure processes the DISPLAY statement on a CAS server and thus sends only a subset of ODS tables to the SAS client. Because ODS statements are processed on a SAS client, first all the generated display tables are sent to the client, and then the client creates a subset. If you use both DISPLAY and ODS statements together, the DISPLAY statement takes precedence over the ODS statements. Note that the ODS EXCLUDE statement processes tables that are sent to the client after they have been filtered by the DISPLAY statement. In some cases, it might appear that the ODS EXCLUDE statement is taking precedence because it can further filter the tables. You can specify the table-list as a list of table names, paths, partial pathnames, and regular expressions.\",\"help\":\"DISPLAY &lt;table-list&gt;&lt;/ options&gt;;                                              \",\"arguments\":[{\"name\":\"CASESENSITIVE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"performs a case-sensitive comparison of table names in the table-list to display table names when tables are subsetted for display. To preserve case, you must enclose table names in the table-list in quotation marks.\",\"type\":\"standalone\"},{\"name\":\"EXCLUDE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"displays all display tables except those that you specify in the table-list.\",\"type\":\"standalone\"},{\"name\":\"EXCLUDEALL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses display of all tables. This option takes precedence over the other options.\",\"type\":\"standalone\"},{\"name\":\"TRACE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"displays the display table names, labels, and paths.\",\"type\":\"standalone\"}]},{\"name\":\"DISPLAYOUT\",\"description\":\"enables you to create output tables from your displayed output. This statement is similar to the ODS OUTPUT statement. The table-spec-list specifies a list of output tables to create. Each entry in the list has either a key=value format or a key format: key=value specifies key as the ODS table name, path, or partial pathname, and specifies value as the output table name. key specifies key as the ODS table name and also as the output table name. You cannot specify the ODS table named OutputCasTables in the table-spec-list. You also cannot specify the ODS tables that are created by the AUTOTUNE statement. Table names and partial pathnames are discussed under the DISPLAY statement. The DISPLAYOUT statement does not support regular expressions.\",\"help\":\"DISPLAYOUT  table-spec-list &lt;/ options&gt;;                                                                   \",\"arguments\":[{\"name\":\"INCLUDEALL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"creates output tables for all display tables. The name of the created output table is the same as the name of the corresponding display table. If you specify this option, the table-spec-list specification is ignored.\",\"type\":\"standalone\"},{\"name\":\"NOREPLACE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"does not replace any existing output table of the same name.\",\"type\":\"standalone\"},{\"name\":\"REPEATED\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"replicates all output tables on all nodes.\",\"type\":\"standalone\"}]},{\"name\":\"INPUT\",\"description\":\"specifies the names of the variables to be used in clustering. You can specify multiple INPUT statements, and you can use the LEVEL=INTERVAL option for interval input variables. For regression, only interval variables are accepted.\",\"help\":\"INPUT  variables &lt;LEVEL= INTERVAL&gt;;                                              \"},{\"name\":\"KERNEL\",\"description\":\"specifies the kernel-related parameters to be used in the Gaussian process.\",\"help\":\"KERNEL *kernel-type*&lt;option&gt;;                                              \",\"arguments\":[{\"name\":\"LINEAR\",\"optional\":true,\"description\":\"specifies a linear kernel.\",\"type\":\"standalone\",\"arguments\":[{\"name\":\"AUTORELEVANCEDETERMINATION\",\"description\":\"uses automatic relevance determination in the kernel function.\",\"type\":\"standalone\"},{\"name\":\"FIXKERNELPARMFIRSTITER\",\"description\":\"sets kernel parameters as fixed values in the first iteration.\",\"type\":\"standalone\"},{\"name\":\"JITTERMAXITERS=\",\"description\":\"specifies the maximum number of iterations for jitter Cholesky decomposition.\",\"help\":\"JITTERMAXITERS=*number*\",\"type\":\"value\"}]},{\"name\":\"MATERN32\",\"optional\":true,\"description\":\"specifies a Matern 3/2 kernel.\",\"type\":\"standalone\",\"arguments\":[{\"name\":\"AUTORELEVANCEDETERMINATION\",\"description\":\"uses automatic relevance determination in the kernel function.\",\"type\":\"standalone\"},{\"name\":\"FIXKERNELPARMFIRSTITER\",\"description\":\"sets kernel parameters as fixed values in the first iteration.\",\"type\":\"standalone\"},{\"name\":\"JITTERMAXITERS=\",\"description\":\"specifies the maximum number of iterations for jitter Cholesky decomposition.\",\"help\":\"JITTERMAXITERS=*number*\",\"type\":\"value\"}]},{\"name\":\"MATERN52\",\"optional\":true,\"description\":\"specifies a Matern 5/2 kernel.\",\"type\":\"standalone\",\"arguments\":[{\"name\":\"AUTORELEVANCEDETERMINATION\",\"description\":\"uses automatic relevance determination in the kernel function.\",\"type\":\"standalone\"},{\"name\":\"FIXKERNELPARMFIRSTITER\",\"description\":\"sets kernel parameters as fixed values in the first iteration.\",\"type\":\"standalone\"},{\"name\":\"JITTERMAXITERS=\",\"description\":\"specifies the maximum number of iterations for jitter Cholesky decomposition.\",\"help\":\"JITTERMAXITERS=*number*\",\"type\":\"value\"}]},{\"name\":\"PERIODIC\",\"optional\":true,\"description\":\"specifies a periodic kernel.\",\"type\":\"standalone\",\"arguments\":[{\"name\":\"AUTORELEVANCEDETERMINATION\",\"description\":\"uses automatic relevance determination in the kernel function.\",\"type\":\"standalone\"},{\"name\":\"FIXKERNELPARMFIRSTITER\",\"description\":\"sets kernel parameters as fixed values in the first iteration.\",\"type\":\"standalone\"},{\"name\":\"JITTERMAXITERS=\",\"description\":\"specifies the maximum number of iterations for jitter Cholesky decomposition.\",\"help\":\"JITTERMAXITERS=*number*\",\"type\":\"value\"}]},{\"name\":\"RBF\",\"optional\":true,\"description\":\"specifies a radial-basis function kernel.\",\"type\":\"standalone\",\"arguments\":[{\"name\":\"AUTORELEVANCEDETERMINATION\",\"description\":\"uses automatic relevance determination in the kernel function.\",\"type\":\"standalone\"},{\"name\":\"FIXKERNELPARMFIRSTITER\",\"description\":\"sets kernel parameters as fixed values in the first iteration.\",\"type\":\"standalone\"},{\"name\":\"JITTERMAXITERS=\",\"description\":\"specifies the maximum number of iterations for jitter Cholesky decomposition.\",\"help\":\"JITTERMAXITERS=*number*\",\"type\":\"value\"}]}]},{\"name\":\"OPTIMIZATION\",\"description\":\"The optimization statement specifies options for the optimization method that you use to train your model.\",\"help\":\"OPTIMIZATION &lt;*optimization-algorithm*&gt;&lt;options&gt;;                                              \",\"arguments\":[{\"name\":\"ALGORITHM=\",\"optional\":true,\"aliases\":[\"ALG=\"],\"description\":\"specifies the optimization-algorithm to use during training. By default, ALGORITHM=ADAM.\",\"help\":\"ALGORITHM=ADAM &lt;*sgd-options*&gt; | SGD &lt;*sgd-options*&gt;\",\"type\":\"standaloneOrValue\",\"arguments\":[{\"name\":\"ADAM\",\"description\":\"specifies the adaptive moments (Adam) algorithm, which is one of the variations of the stochastic gradient descent algorithm. It keeps track of the decaying averages of the past gradients and past squared gradients.\",\"help\":\"ADAM &lt;sgd-options&gt;\",\"type\":\"standaloneOrValue\",\"arguments\":[{\"name\":\"ANNEALINGRATE=\",\"description\":\"specifies the annealing parameter, β. Annealing is a way to automatically reduce the learning rate as the algorithm progresses, producing smaller steps as the algorithm approaches a solution. By default, ANNEALINGRATE=1.0E–6. The number must be a nonnegative double.\",\"help\":\"ANNEALINGRATE=*number*\",\"type\":\"value\"},{\"name\":\"COMMFREQ=\",\"description\":\"specifies the number of minibatches that each computational thread processes before weights are synchronized across all threads and nodes.\",\"help\":\"COMMFREQ=*number*\",\"type\":\"value\"},{\"name\":\"LEARNINGRATE=\",\"description\":\"specifies the learning rate parameter, η, for the algorithm. If you see a huge objective value from the algorithm, especially for a small data set, it is likely that the learning rate is set too high. By default, LEARNINGRATE=0.001. The number must be a nonnegative double.\",\"help\":\"LEARNINGRATE=*number*\",\"type\":\"value\"},{\"name\":\"MINIBATCHSIZE=\",\"description\":\"specifies the size of the minibatches to use in the algorithm. By default, MINIBATCHSIZE=10.\",\"help\":\"MINIBATCHSIZE=*number*\",\"type\":\"value\"},{\"name\":\"MOMENTUM=\",\"description\":\"specifies the value for momentum. The number must be greater than or equal to 0 and less than or equal to 1. By default, MOMENTUM=0.\",\"help\":\"MOMENTUM=*number*\",\"type\":\"value\"},{\"name\":\"SEED=\",\"description\":\"specifies the seed for random access of observations on each thread for the algorithm. If number is less than or equal to 0, a random seed is generated by reading the time of day from the computer’s clock.\",\"help\":\"SEED=*number*\",\"type\":\"value\"},{\"name\":\"USELOCKING\",\"description\":\"specifies that computational threads share a common weight vector and update weight vector without race conditions. If you omit this option, computational threads update a single weight vector simultaneously. This causes intentional race conditions and nondeterministic behavior but increases performance significantly.\",\"type\":\"standalone\"}]},{\"name\":\"SGD\",\"description\":\"specifies the plain stochastic gradient descent (SGD) algorithm.\",\"help\":\"SGD &lt;sgd-options&gt;\",\"type\":\"standaloneOrValue\",\"arguments\":[{\"name\":\"ANNEALINGRATE=\",\"description\":\"specifies the annealing parameter, β. Annealing is a way to automatically reduce the learning rate as the algorithm progresses, producing smaller steps as the algorithm approaches a solution. By default, ANNEALINGRATE=1.0E–6. The number must be a nonnegative double.\",\"help\":\"ANNEALINGRATE=*number*\",\"type\":\"value\"},{\"name\":\"COMMFREQ=\",\"description\":\"specifies the number of minibatches that each computational thread processes before weights are synchronized across all threads and nodes.\",\"help\":\"COMMFREQ=*number*\",\"type\":\"value\"},{\"name\":\"LEARNINGRATE=\",\"description\":\"specifies the learning rate parameter, η, for the algorithm. If you see a huge objective value from the algorithm, especially for a small data set, it is likely that the learning rate is set too high. By default, LEARNINGRATE=0.001. The number must be a nonnegative double.\",\"help\":\"LEARNINGRATE=*number*\",\"type\":\"value\"},{\"name\":\"MINIBATCHSIZE=\",\"description\":\"specifies the size of the minibatches to use in the algorithm. The number must be greater than or equal to 0 and less than or equal to 1. By default, MOMENTUM=0.\",\"help\":\"MINIBATCHSIZE=*number*\",\"type\":\"value\"},{\"name\":\"MOMENTUM=\",\"description\":\"specifies the value for momentum\",\"help\":\"MOMENTUM=*number*\",\"type\":\"value\"},{\"name\":\"SEED=\",\"description\":\"specifies the seed for random access of observations on each thread for the algorithm. If number is less than or equal to 0 or not specified, a random seed is generated by reading the time of day from the computer’s clock.\",\"help\":\"SEED=*number*\",\"type\":\"value\"},{\"name\":\"USELOCKING\",\"description\":\"specifies that computational threads share a common weight vector and update the weight vector without race conditions. If you omit this option, computational threads update a single weight vector simultaneously. This causes intentional race conditions and nondeterministic behavior but increases performance significantly.\",\"type\":\"standalone\"}]}]},{\"name\":\"MAXITER=\",\"optional\":true,\"description\":\"specifies the iteration budget for training. When ALGORITHM=SGD or ADAM, number specifies the desired number of training epochs. By default, MAXITER=250.\",\"help\":\"MAXITER=*number*\",\"type\":\"value\"},{\"name\":\"MAXTIME=\",\"optional\":true,\"description\":\"specifies the maximum time (in seconds) allowed for optimization, where number is greater than or equal to 1. When this value is reached, the optimization terminates the search and returns results. When MAXTIME=0, no maximum time is set. By default, MAXTIME=0.\",\"help\":\"MAXTIME=*number*\",\"type\":\"value\"},{\"name\":\"REGL1=\",\"optional\":true,\"description\":\"specifies the L1 regularization parameter λ1 for the model loss function. The number must be nonnegative. Note that this value is autotuned when you specify the AUTOTUNE statement. By default, REGL1=0.\",\"help\":\"REGL1=*number*\",\"type\":\"value\"},{\"name\":\"REGL2=\",\"optional\":true,\"description\":\"specifies the L2 regularization parameter λ2. The number must be nonnegative. Note that this value is autotuned when you specify the AUTOTUNE statement. By default, REGL2=0.\",\"help\":\"REGL2=*number*\",\"type\":\"value\"}]},{\"name\":\"OUTPUT\",\"description\":\"writes the regression score of each observation to the output data table that you specify in the OUT= option.\",\"help\":\"OUTPUT  OUT=*libref.data-table*&lt;option&gt;;                                              \",\"arguments\":[{\"name\":\"OUT=\",\"optional\":true,\"description\":\"names the output data table for PROC GPREG to use. You must specify this option before any other options. libref.data-table is a two-level name, where libref refers to a collection of information that is defined in the LIBNAME statement and includes the library, which includes a path to where the data table is to be stored, and a session identifier, which defaults to the active session but which can be explicitly defined in the LIBNAME statement. data-table specifies the name of the output data table. The output data table contains the scored data. When you specify this option, all variables that are specified in the COPYVARS= option are added to the output data table that is specified in this option.\",\"help\":\"OUT=*libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"COPYVAR=\",\"optional\":true,\"aliases\":[\"COPYVARS=\"],\"description\":\"lists one or more variables from the input data table that are transferred to the scored output data table, provided that the output data table produces one or more records per input observation. By default, PROC GPREG does not transfer any variables from the input data table to the output data table. The COPYVARS= option accepts numeric and character variables. You can also use the COPYVARS=(_ALL_) option to include all the input variables.\",\"help\":\"COPYVAR=*variable*\",\"type\":\"value\"}]},{\"name\":\"PARTITION\",\"description\":\"specifies how observations in the input data set are logically partitioned into disjoint subsets for model training, validation, and testing. Either you can designate a variable in the input data table and a set of formatted values of that variable to determine the role of each observation, or you can specify proportions to use for randomly assigning observations to each role.\",\"help\":\"PARTITION  partition-option;                                              \",\"arguments\":[{\"name\":\"FRACTION\",\"optional\":true,\"description\":\"randomly assigns specified proportions of the observations in the input data table to the roles. You specify the proportions for testing and validation by using the TEST= and VALIDATE= suboptions. If you specify both the TEST= and VALIDATE= suboptions, then the sum of the specified fractions must be less than 1 and the remaining fraction is the proportion of the observations assigned to the training role. The SEED= option specifies an integer that is used to start the pseudorandom number generator for random partitioning of data for training, testing, and validation. If you do not specify SEED=number or if number is less than or equal to 0, the seed is generated by reading the time of day from the computer’s clock. Note: You cannot specify the FRACTION option and the AUTOTUNE statement at the same time.\",\"help\":\"FRACTION(&lt;TEST=*fraction*&gt; &lt;VALIDATE=*fraction*&gt; &lt;SEED=*number*&gt;)\",\"type\":\"standaloneOrValue\"},{\"name\":\"ROLE=\",\"optional\":true,\"aliases\":[\"ROLEVAR=\"],\"description\":\"names the variable in the input data table whose values are used to assign roles to each observation. This variable cannot also appear as an analysis variable in other statements or options. The TEST=, TRAIN=, and VALIDATE= suboptions specify the formatted values of this variable that are used to assign observation roles. If you do not specify the TRAIN= suboption, then all observations whose role is not determined by the TEST= or VALIDATE= suboption are assigned to the training role.\",\"help\":\"ROLE=*variable* (&lt;TEST=*'value'*&gt; &lt;TRAIN=*'value'*&gt; &lt;VALIDATE=*'value'*&gt;) \",\"type\":\"value\"}]},{\"name\":\"SAVESTATE\",\"description\":\"creates an analytic store for the model and saves it as a binary object in a data table. You can then use the analytic store in the ASTORE procedure to score new data. The analytic store inherits the same parameters that PROC GPREG uses.\",\"help\":\"SAVESTATE  RSTORE=*libref.data-table*;                                              \",\"arguments\":[{\"name\":\"RSTORE=\",\"optional\":true,\"description\":\"specifies a data table in which to save the analytic store for the model. libref.data-table is a two-level name, where libref refers to the library, and data-table specifies the name of the output data table.\",\"help\":\"RSTORE=*libref.data-table*\",\"type\":\"dataSet\"}]},{\"name\":\"TARGET\",\"description\":\"specifies the name of the variable to be used as the regression target. You can use one TARGET statement that includes the LEVEL=INTERVAL option for the interval target variable. Only one interval variable is accepted as the target.\",\"help\":\"TARGET  variable &lt;LEVEL= INTERVAL&gt;;                                              \"}],\"supportSiteInformation\":{\"docsetId\":\"casml\",\"docsetVersion\":\"latest\",\"docsetTargetFile\":\"casml_gpreg_toc.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/GPROJECT.json",
    "content": "{\"name\":\"GPROJECT\",\"statements\":[{\"name\":\"PROC GPROJECT\",\"description\":\"Identifies the input and output map data sets. Can specify the type of projection, and the criteria for clipping and projection.\",\"help\":\"PROC GPROJECT DATA=input-map-data-set<options>;   \\n\\tID  id-variable(s);\",\"arguments\":[{\"name\":\"DATA=\",\"description\":\"identifies the map data set that you want to process.\",\"help\":\"DATA=*input-map-data-set*\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"n1k4b53mg00iuln1225zhdo2143q\"},{\"name\":\"DATELINE\",\"optional\":true,\"description\":\"specifies that projections wrap from right to left at the international dateline.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p02yadasbg5hxbn13zf9cl59tdgn\"},{\"name\":\"DEGREES\",\"optional\":true,\"aliases\":[\"DEG\"],\"description\":\"specifies that the units for the longitude (X variable) and latitude (Y variable) coordinates are degrees.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1va6ps3p9pwnen13ttey2oayjwc\"},{\"name\":\"DUPOK\",\"optional\":true,\"aliases\":[\"ASIS\"],\"description\":\"specifies that observations are retained when their projected X and Y values are identical to those in the previous observation.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0zx2y96rm46ghn12py11bszd4sr\"},{\"name\":\"EASTLONG\",\"optional\":true,\"aliases\":[\"EAST\"],\"description\":\"specifies that the longitude (X variable) values in the input map data set increase to the east.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0fdm1l9kl68fun10s3oryxiejm9\"},{\"name\":\"FROM=\",\"optional\":true,\"description\":\"invokes a proj.4 projection and specifies a coordinate system from which to start the projection.\",\"help\":\"FROM=\\\"*coordinate-system*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0a0f3vah14sp1n1ghpno84joxsx\"},{\"name\":\"LATLON\",\"optional\":true,\"aliases\":[\"LATLONG\"],\"description\":\"specifies that the LAT and LONG variables from the map data set are used for coordinate data instead of the Y and X variables.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1q06xy56tgkq0n1dzc46er18qq1\"},{\"name\":\"LATMAX=\",\"optional\":true,\"description\":\"specifies the maximum latitude that is included in the projection.\",\"help\":\"LATMAX=*max-latitude*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1ld5vhjuuqcf5n16sn9ja487jgo\"},{\"name\":\"LATMIN=\",\"optional\":true,\"description\":\"specifies the minimum latitude that is included in the projection.\",\"help\":\"LATMIN=*min-latitude*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1fyt02ko85rc5n1fb7ojn5a0rdt\"},{\"name\":\"LONGMAX=\",\"optional\":true,\"description\":\"specifies the maximum longitude to be included in the projection.\",\"help\":\"LONGMAX=*max-longitude*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1nfeustsvspp9n1x7m6ee4tghw9\"},{\"name\":\"LONGMIN=\",\"optional\":true,\"description\":\"specifies the minimum longitude to be included in the projection.\",\"help\":\"LONGMIN=*min-longitude*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n030jw3qskp14rn1dipc2e7mie0p\"},{\"name\":\"MERIDIAN=\",\"optional\":true,\"description\":\"specifies the longitude value in degrees for the center of the projection.\",\"help\":\"MERIDIAN=*longitude-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1puagy0t37fsqn1p29vpokkgonu\"},{\"name\":\"NODATELINE\",\"optional\":true,\"description\":\"enables contiguous projections for maps that cross the line between 180 degrees and -180 degrees longitude.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1u4u9xbohd1n8n1giz1gwlep5jf\"},{\"name\":\"NODUP\",\"optional\":true,\"aliases\":[\"NOASIS\"],\"description\":\"specifies that observations are deleted when their projected X and Y values are identical to those in the previous observation.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1n0d6rx63t3gpn1lnh4cqgg63b2\"},{\"name\":\"NOPARMIN\",\"optional\":true,\"description\":\"specifies that parameters should not be used from the PROJPARM data set.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1x1hcncnsywcln19ao1nw0jracf\"},{\"name\":\"OUT=\",\"optional\":true,\"description\":\"names the output map data set.\",\"help\":\"OUT=*output-map-data-set*\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"p1tcx479kbikuan1q421wcyskerh\"},{\"name\":\"PARADIV=\",\"optional\":true,\"description\":\"specifies the divisor that computes the values used for standard parallels for the Albers' or Lambert's projections when explicit values are not provided.\",\"help\":\"PARADIV=*n*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0x7swaxq9ptqin1xt7sge21113a\"},{\"name\":\"PARALLEL1=\",\"optional\":true,\"aliases\":[\"PARALEL1\"],\"description\":\"specifies the value for the standard latitude parallel that is used in the Albers' or Lambert's projection.\",\"help\":\"PARALLEL1=*latitude*\",\"type\":\"value\",\"arguments\":[{\"name\":\"R\",\"description\":\"is the range of latitude values in the input map data set.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p11fkjdj35oyl7n1t13fjk5deark\"},{\"name\":\"P\",\"description\":\"is the PARADIV= value. (See the discussion of the option.)\",\"help\":\"P<sub>D</sub>\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0523a380m7byen1bltfdapgvw7v\"},{\"name\":\"minlat\",\"description\":\"is the minimum latitude value in the input map data set.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1wiwzoifnn8bxn1qim2qhfd68ft\"}],\"supportSiteTargetFragment\":\"p1sm867vpk1dvcn1nyyevg63xfgt\"},{\"name\":\"PARALLEL2=\",\"optional\":true,\"aliases\":[\"PARALEL2\"],\"description\":\"specifies the value for the standard latitude parallel that is used in the Albers' or Lambert's projection.\",\"help\":\"PARALLEL2=*latitude*\",\"type\":\"value\",\"arguments\":[{\"name\":\"R\",\"description\":\"is the range of latitude values in the input map data set.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1a0rkqvp2506ln1pzr2u2js47yk\"},{\"name\":\"P\",\"description\":\"is the PARADIV= value. (See the discussion of the option.)\",\"help\":\"P<sub>D</sub>\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1wrtavsexsts2n1hr1nsnx6ymmz\"},{\"name\":\"maxlat\",\"description\":\"is the maximum latitude value in the input map data set.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0f170skyiw8ncn14w6edunk57ag\"}],\"supportSiteTargetFragment\":\"n1bc0v7wbkmya6n1dv7id9gdvrw7\"},{\"name\":\"PARMIN=\",\"optional\":true,\"aliases\":[\"PIN\"],\"description\":\"specifies a data set that contains input projection parameters.\",\"help\":\"PARMIN=*data-set*\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"n07nvt3wp9bnvln1aft8t971xxvc\"},{\"name\":\"PARMOUT=\",\"optional\":true,\"aliases\":[\"POUT\"],\"description\":\"creates a data set that contains the projection parameters for the current PROC GPROJECT statement.\",\"help\":\"PARMOUT=*data-set*\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"p1foxfdg1boki3n19q1g94bwisdc\"},{\"name\":\"PARMOUT\",\"optional\":true,\"aliases\":[\"POUT\"],\"description\":\"creates a data set that contains the projection parameters for the current PROC GPROJECT statement.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1foxfdg1boki3n19q1g94bwisdc\"},{\"name\":\"PARMENTRY=\",\"optional\":true,\"aliases\":[\"PENTRY\"],\"description\":\"specifies the entry in the projection parameters data set that is used for input parameters.\",\"help\":\"PARMENTRY=*entry-name*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0r823yr54k631n16zerzse8yzju\"},{\"name\":\"POLELAT=\",\"optional\":true,\"description\":\"each specifies a projection pole to use for the gnomonic projection.\",\"help\":\"POLELAT=*latitude*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p12q98ntorekgzn10n3puznzs2z6\"},{\"name\":\"POLELONG=\",\"optional\":true,\"description\":\"each specifies a projection pole to use for the gnomonic projection.\",\"help\":\"POLELONG=*longitude*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p12q98ntorekgzn10n3puznzs2z6\"},{\"name\":\"PROJECT=\",\"optional\":true,\"description\":\"specifies the projection method to apply to the map data set.\",\"help\":\"PROJECT=ALBERS | LAMBERT | GNOMON | PROJ4 | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ALBERS\",\"description\":\"specifies Albers' equal-area projection with two standard parallels.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1sahwnt1fhs1en1pbryxph0k2pb\"},{\"name\":\"LAMBERT\",\"description\":\"specifies Lambert's conformal projection with two standard parallels.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0xhpts9wdst0bn12guktknuvpyh\"},{\"name\":\"GNOMON\",\"description\":\"specifies the gnomonic projection, which is an azimuthal projection.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0kq25kx6au913n1ra0s6h2j1417\"},{\"name\":\"PROJ4\",\"description\":\"specifies a transformation projection, the default being from EPSG:4386 (LAT and LONG) to 900913 (Mercator) coordinate system. These defaults can be overridden with the FROM= and TO= options.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p195o88khfato9n1qrbh7fcaaatx\"},{\"name\":\"NONE\",\"description\":\"specifies that no projection should be performed. Use this option in conjunction with the LATMIN=, LATMAX=, LONGMIN=, and LONGMAX= options to perform clipping without projection.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1vyjl6iydrn06n1fwmyag59gjpi\"}],\"supportSiteTargetFragment\":\"p0oahsxgbaoveun1988ribcw1hcw\"},{\"name\":\"RADIANS\",\"optional\":true,\"aliases\":[\"NODEG\"],\"description\":\"specifies that the units for the longitude (X variable) and latitude (Y variable) coordinates are radians.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1qcsti3wn6iynn1nf8161rxq4bd\"},{\"name\":\"TO=\",\"optional\":true,\"description\":\"invokes the proj.4 projection and specifies a coordinate system for the result of the transforming projection.\",\"help\":\"TO=\\\"*coordinate-system*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0kx35clo2gk2rn1li2001fldtyk\"},{\"name\":\"WESTLONG\",\"optional\":true,\"aliases\":[\"WEST\"],\"description\":\"specifies that the longitude (X variable) values in the input map data set increase to the west.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0r3k0qbwu806nn1q70iuketavny\"}],\"supportSiteTargetFile\":\"n186avb0e0mhu3n1po9c4yr4xpys.htm\"},{\"name\":\"ID\",\"description\":\"Identifies the variable or variables that define the hierarchy of the current unit areas in the input map data set.\",\"help\":\"ID  &lt;*id-variable(s)*&gt;;\",\"arguments\":[{\"name\":\"id-variable\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies one or more variables in the input map data set that identify unit areas. Id-variable can be either numeric or character.\",\"help\":\"*id-variable(s)*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1jj4fydbfi5qln1llbqw9pn5y0g\"}],\"supportSiteTargetFile\":\"n0rmq948o0qfenn1s4p5aomkeds7.htm\"}],\"supportSiteInformation\":{\"docsetId\":\"grmapref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"n0h81palrr0ucqn11g9r0y3incml.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/GRADAR.json",
    "content": "{\"name\":\"GRADAR\",\"statements\":[{\"name\":\"PROC GRADAR\",\"description\":\"Identifies the data set that contains the plot variables. Specifies an output catalog (optional).\",\"help\":\"PROC GRADAR <DATA=input-data-set>\\n<GOUT=<libref.>output-catalog>\\n<ANNOTATE=Annotate-data-set>;\\n\\tCHART chart-variable</ options>;\\n\\n\\tATTRIB  variable-list(s) attribute-list(s);\\n\\n\\tBY <DESCENDING>variable-1\\n\\t\\t< ... <DESCENDING> variable-n>\\n\\t\\t<NOTSORTED>;\\n\\n\\tFORMAT variable-1< ...variable-n><format-1><variable-1< ...variable-n><format-2>> ...<DEFAULT=default-format>;\\n\\n\\tLABEL variable-1=label-1 | ' '<variable-n=label-n | ' '> ...;\\n\\n\\tNOTE <text-arguments(s)>;\\n\\n\\tQUIT ;\\n\\n\\tWHERE where-expression;\\n\",\"arguments\":[{\"name\":\"ANNOTATE=\",\"optional\":true,\"aliases\":[\"ANNO=\"],\"description\":\"specifies a data set to add annotate elements to all graphs that are produced by the GRADAR procedure.\",\"help\":\"ANNOTATE=*Annotate-data-set*\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"p1d2l3bfnhlckyn1t2pc8nsoyf5d\"},{\"name\":\"DATA=\",\"optional\":true,\"description\":\"specifies the SAS data set that contains the variable or variables to chart. By default, the procedure uses the most recently created SAS data set.\",\"help\":\"DATA=*input-data-set*\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"p18s5ae7nsz5nbn1c7gf7r4aotyu\"},{\"name\":\"GOUT=\",\"optional\":true,\"description\":\"specifies the SAS catalog in which to save the graphics output produced by the GRADAR procedure.\",\"help\":\"GOUT=&lt;*libref.*&gt;*output-catalog*\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"p0v0bvs7fnqdwgn1wlwcwyxs69nm\"}],\"supportSiteTargetFile\":\"n1lljsk5rcc25en1lwfgx80ro567.htm\"},{\"name\":\"CHART\",\"description\":\"Creates the radar charts in which the length of the vertices along the spines represent the values of the chart statistic for the data categories.\",\"help\":\"CHART *chart-variable*&lt;/ *options*&gt;;\",\"arguments\":[{\"name\":\"chart-variable\",\"placeholder\":true,\"description\":\"specifies one or more variables that define the categories of data to be charted. The values of the chart variable determine the spokes in the corresponding radar chart. These values are the observations in the input data set for the chart variable. You must have at least three observations in the data set as it takes three points to define a plane. Technically, you can create a GRADAR chart with only one or two observations, but a true radar chart is not displayed.\",\"help\":\"*chart-variable(s)*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1k7chohy1jeppn1kdvf0reb9qk6\"},{\"name\":\"ACROSSVAR=\",\"optional\":true,\"aliases\":[\"ACROSS=\"],\"description\":\"generates a radar chart for each value (including missing values) of the specified variable and displays the charts from left-to-right across the output area.\",\"help\":\"ACROSSVAR=*variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n08aooxg0nfgmbn13wohm3cr8392\"},{\"name\":\"ANNOTATE=\",\"optional\":true,\"aliases\":[\"ANNO=\"],\"description\":\"specifies a data set to add annotate elements to charts produced by the CHART statement.\",\"help\":\"ANNOTATE=*Annotate-data-set*\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"n18k55wygxyktcn1n7syr9bm0o8w\"},{\"name\":\"CALENDAR\",\"optional\":true,\"description\":\"produces a chart displaying 12 equal-sized segments, one for each month of the year January through December.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p08lffbs9jxu6dn17363zij8migb\"},{\"name\":\"CAXIS=\",\"optional\":true,\"aliases\":[\"CAXES=, CA=\"],\"description\":\"specifies a color for the chart frame and the spokes or grid lines of the chart.\",\"help\":\"CAXIS=*color*\",\"type\":\"color\",\"supportSiteTargetFragment\":\"p0kczd1s1z6i8vn191ezcw3957yh\"},{\"name\":\"CFRAME=\",\"optional\":true,\"aliases\":[\"CFR=\"],\"description\":\"fills the area inside the frame or the individual tiles with the specified color.\",\"help\":\"CFRAME=*color* | (*variable*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"color\",\"placeholder\":true,\"type\":\"color\"},{\"name\":\"(variable)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p0n6pobl0d9wr0n1cih811z7i3qa\"},{\"name\":\"CFRAMESIDE=\",\"optional\":true,\"description\":\"specifies the color for filling the area for the row labels displayed along the left side of a chart.\",\"help\":\"CFRAMESIDE=*color* | (*variable*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"color\",\"placeholder\":true,\"type\":\"color\"},{\"name\":\"(variable)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p016fgjx4kzkd9n1so43czldhmij\"},{\"name\":\"CFRAMETOP=\",\"optional\":true,\"description\":\"specifies the color for filling the area for the column labels that are displayed across the top of a chart.\",\"help\":\"CFRAMETOP=*color* | (*variable*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"color\",\"placeholder\":true,\"type\":\"color\"},{\"name\":\"(variable)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"n1pr97nrbii6gun1rlqbu63a6ik6\"},{\"name\":\"CSPOKES=\",\"optional\":true,\"aliases\":[\"CSPOKE=\"],\"description\":\"specifies a color to use for the spokes in a chart.\",\"help\":\"CSPOKES=*spoke-color* | (*variable*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"spoke-color\",\"placeholder\":true,\"type\":\"color\"},{\"name\":\"(variable)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p02jc7e0lhrla1n1eqtfh65sjwal\"},{\"name\":\"CSTARCIRCLES=\",\"optional\":true,\"aliases\":[\"CSTARCIRCLE=\"],\"description\":\"specifies a color or list of colors for the circles that are requested with the STARCIRCLES= option.\",\"help\":\"CSTARCIRCLES=*color* | (*colors-list*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"color\",\"placeholder\":true,\"type\":\"color\"},{\"name\":\"(colors-list)\",\"placeholder\":true,\"type\":\"color\"}],\"supportSiteTargetFragment\":\"n0x92v6txbvelmn1mj27pkrukvg7\"},{\"name\":\"CSTARFILL=\",\"optional\":true,\"description\":\"specifies a color or colors for filling the interior of stars when STARFILL= is set to SOLID.\",\"help\":\"CSTARFILL=*color* | (*color-list*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"color\",\"placeholder\":true,\"type\":\"color\"},{\"name\":\"(color-list)\",\"placeholder\":true,\"type\":\"color\"}],\"supportSiteTargetFragment\":\"n032w2n3n65yvbn1pb353nnwsxsr\"},{\"name\":\"CSTARS=\",\"optional\":true,\"aliases\":[\"CSTAR=\"],\"description\":\"specifies a color or list of colors for the outlines of stars.\",\"help\":\"CSTARS=*color* | (*color-list*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"color\",\"placeholder\":true,\"type\":\"color\"},{\"name\":\"(color-list)\",\"placeholder\":true,\"type\":\"color\"}],\"supportSiteTargetFragment\":\"n1ulzeig16um97n182dki54rxnwz\"},{\"name\":\"CTEXT=\",\"optional\":true,\"description\":\"specifies a color for all text on the chart.\",\"help\":\"CTEXT=*color*\",\"type\":\"color\",\"supportSiteTargetFragment\":\"p071tdm6w7omasn1x01lz33g6ahq\"},{\"name\":\"CTILES=\",\"optional\":true,\"aliases\":[\"CTILE=\"],\"description\":\"specifies one or more colors for the tiles.\",\"help\":\"CTILES=(*variable*) | color\",\"type\":\"choice\",\"arguments\":[{\"name\":\"(variable)\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"color\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"p11hrqdm5et09un1b4av3wy3lvzg\"},{\"name\":\"DESCRIPTION=\",\"optional\":true,\"aliases\":[\"DES=\"],\"description\":\"specifies a description of the output.\",\"help\":\"DESCRIPTION=\\\"*description*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1jhei7wahpvc4n15v6zurelv13o\"},{\"name\":\"DOWNVAR=\",\"optional\":true,\"aliases\":[\"DOWN=\"],\"description\":\"generates a radar chart for each value of the specified variable, and displays the charts from top-to-bottom.\",\"help\":\"DOWNVAR=*variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0vckzdxyboadfn18hfda1zb1ray\"},{\"name\":\"FONT=\",\"optional\":true,\"description\":\"specifies the font for all text strings in the radar chart.\",\"help\":\"FONT=*font*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n07i475vuql166n1iqx8tnw788y2\"},{\"name\":\"FRAME\",\"optional\":true,\"description\":\"specifies whether a frame is drawn around the chart.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0i5rckylu2kv2n1qgav64gqpxn2\"},{\"name\":\"NOFRAME\",\"optional\":true,\"description\":\"specifies whether a frame is drawn around the chart.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0i5rckylu2kv2n1qgav64gqpxn2\"},{\"name\":\"FREQ=\",\"optional\":true,\"description\":\"specifies a variable whose values weight the contribution of each observation in the computation of the chart statistic.\",\"help\":\"FREQ=*numeric-variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1jgxt469fh0nyn1o13eovsqfeoa\"},{\"name\":\"HEIGHT=\",\"optional\":true,\"aliases\":[\"HLABEL=\"],\"description\":\"specifies the height in cells for labels and legends.\",\"help\":\"HEIGHT=*height*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n021ry29ry9sgln1unjuhprh1vft\"},{\"name\":\"HTML_LEGEND=\",\"optional\":true,\"description\":\"identifies the variable in the input data set whose values create links or data tips or both.\",\"help\":\"HTML_LEGEND=*variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1jfvs10mvkbtin0z526aguasv3i\"},{\"name\":\"IFRAME=\",\"optional\":true,\"description\":\"specifies an image file to display inside the chart's frame.\",\"help\":\"IFRAME=*fileref* | \\\"*external-image-file*\\\"\",\"type\":\"choice\",\"arguments\":[{\"name\":\"fileref\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"\\\"external-image-file\\\"\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"n15k0hpwar5q9qn17j0gde0s09f1\"},{\"name\":\"IMAGESTYLE=\",\"optional\":true,\"description\":\"specifies how to display the image file that is specified on the IFRAME= option.\",\"help\":\"IMAGESTYLE=TILE | FIT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"TILE\",\"type\":\"standalone\"},{\"name\":\"FIT\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"p1ga4xhyo71l0mn15ayyljk2buve\"},{\"name\":\"INBORDER\",\"optional\":true,\"description\":\"generates an inside border around the chart.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1i2m38jayk2l7n19t652ide8cw4\"},{\"name\":\"INHEIGHT=\",\"optional\":true,\"description\":\"specifies the height for spoke labels.\",\"help\":\"INHEIGHT=*value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n01zy0dxmda00yn1tgbspklypi66\"},{\"name\":\"INTERTILE=\",\"optional\":true,\"aliases\":[\"INTERCHART=\"],\"description\":\"specifies the distance (in cells) between tiles in a chart.\",\"help\":\"INTERTILE=*value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1teo96175lu10n1kwh8xbsthfgm\"},{\"name\":\"LSPOKES=\",\"optional\":true,\"description\":\"specifies a line type for the spokes in a radar chart.\",\"help\":\"LSPOKES=*linetype*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p11em5csk69s0an10hhjd6byu5aa\"},{\"name\":\"LSTARCIRCLES=\",\"optional\":true,\"aliases\":[\"LSTARCIRCLE=\"],\"description\":\"specifies one or more line types for the circles requested with the STARCIRCLES= option.\",\"help\":\"LSTARCIRCLES=*linetypes* | (*linetypes*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"linetypes\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(linetypes)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"n17jqtcp3y6tfsn1m0njvbunqu7t\"},{\"name\":\"LSTARS=\",\"optional\":true,\"aliases\":[\"LSTAR=\"],\"description\":\"specifies the line types for the outlines of stars that are produced for a radar chart.\",\"help\":\"LSTARS=(*linetypes*)\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1i4emkahvuiiwn1cwochmn760ol\"},{\"name\":\"MAXNVERT=\",\"optional\":true,\"aliases\":[\"MAXVERT=\"],\"description\":\"specifies the maximum number of vertices, from 1 to 360, in the radar chart.\",\"help\":\"MAXNVERT=*n*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0cuij7lseqj1sn1wb82il0a1dg0\"},{\"name\":\"MISSING\",\"optional\":true,\"description\":\"accepts a missing value as a valid midpoint for the chart variable.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0a8o7t5615511n18tvbc53ky7no\"},{\"name\":\"MODE=\",\"optional\":true,\"description\":\"specifies the display mode for a radar chart.\",\"help\":\"MODE=SHARE | PROTECT | RESERVE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"SHARE\",\"description\":\"shares the drawing space between the text and the graph.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p01qcmpwgfvdxsn15t9gek3wt9o3\"},{\"name\":\"PROTECT\",\"description\":\"shares the drawing space but maintains a solid rectangle (using the background color) behind the text. This is useful when the text is illegible because of the image specified with the IFRAME= option or the color specified with the CFRAME= option.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p051jkrw161jnnn10qxqbnh42wup\"},{\"name\":\"RESERVE\",\"description\":\"reduces the size of the text and graph in order to accommodate both.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0lfbxou8m3gcsn1849rxxy9m8cn\"}],\"supportSiteTargetFragment\":\"p1r5rjjsfyuljin17fo7uvfquzet\"},{\"name\":\"NAME=\",\"optional\":true,\"description\":\"specifies the name of the GRSEG catalog entry and the name of the graphics output file, if one is created.\",\"help\":\"NAME=\\\"*name*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1x50s33zz5h0sn136khu2x6ixnb\"},{\"name\":\"NCOLS=\",\"optional\":true,\"aliases\":[\"NCOL=\"],\"description\":\"specifies the number of columns in a chart.\",\"help\":\"NCOLS=*n*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n10n68rs5mbil5n1dyrmz9aa7r37\"},{\"name\":\"NLEVELS=\",\"optional\":true,\"description\":\"specifies the number of colors used in the calendar chart to represent the magnitude of the frequency variable.\",\"help\":\"NLEVELS=*n*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p173nc7n77lcw8n1kp7wmnp88v0f\"},{\"name\":\"NOLEGEND\",\"optional\":true,\"description\":\"suppresses the legend that is otherwise automatically displayed.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n05u96h3onoj54n161ddyk19emb7\"},{\"name\":\"NOZEROREF\",\"optional\":true,\"description\":\"turns off the zero reference circle when negative values are plotted.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1t1wmmr48gsfgn1nn6qhbw7spix\"},{\"name\":\"NROWS=\",\"optional\":true,\"aliases\":[\"NROW=\"],\"description\":\"specifies the number of rows in a chart.\",\"help\":\"NROWS=*n*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n02opnndsa1bunn19m0ilx5unwyh\"},{\"name\":\"OTHER=\",\"optional\":true,\"description\":\"specifies a new category that merges all categories not selected because of the MAXNVERT= option.\",\"help\":\"OTHER=\\\"*category*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1vgv5ul4aey9pn119t7f0f1sydl\"},{\"name\":\"OVERLAYVAR=\",\"optional\":true,\"aliases\":[\"OVERLAY=\"],\"description\":\"creates a comparative radar chart using the levels of the overlay variable.\",\"help\":\"OVERLAYVAR=*overlay-variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0wze2j0qtmkk0n170mtdmveeptx\"},{\"name\":\"SPEED=\",\"optional\":true,\"description\":\"specifies the wind speed in wind rose charts.\",\"help\":\"SPEED=*speed-variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n14ev5iwt9e0j5n172675rn3ad4a\"},{\"name\":\"SPIDERWEB\",\"optional\":true,\"aliases\":[\"SPIDER\"],\"description\":\"displays lines connecting the points where tick marks would be instead of displaying the tick marks.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0xwb44f89e0dxn1nc5yl30gpfjd\"},{\"name\":\"SPKLABEL=\",\"optional\":true,\"description\":\"labels the chart spokes with the category of the variable that is being charted.\",\"help\":\"SPKLABEL=CATEGORY | ALL | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"CATEGORY\",\"type\":\"standalone\"},{\"name\":\"ALL\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"n1en6uq26z0bd4n0zbaa6ef6uhbt\"},{\"name\":\"SPOKESCALE=\",\"optional\":true,\"description\":\"specifies whether every spoke is drawn to the same scale, or whether each spoke is drawn to a different scale.\",\"help\":\"SPOKESCALE=CATEGORY | VERTEX\",\"type\":\"choice\",\"arguments\":[{\"name\":\"CATEGORY\",\"type\":\"standalone\"},{\"name\":\"VERTEX\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"p0v512yramno9tn18fglhh7vdr8i\"},{\"name\":\"STARAXIS=\",\"optional\":true,\"aliases\":[\"STARAXES=\"],\"description\":\"assigns one or more axis definitions to the axis spokes in the radar chart.\",\"help\":\"STARAXIS= (AXIS&lt;1...99&gt;&lt;, . . . ,AXIS&lt;1...99&gt;&gt;)\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p03lnatfq0n2kan1ptay7pecrfrn\"},{\"name\":\"STARCIRCLES=\",\"optional\":true,\"aliases\":[\"STARCIRCLE=\"],\"description\":\"specifies reference circles that are superimposed on the stars that are produced for a radar chart.\",\"help\":\"STARCIRCLES=(*values*)\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1qguhwoobpz4cn153i8pl7bfh6u\"},{\"name\":\"STARFILL=\",\"optional\":true,\"description\":\"determines whether the stars in the radar chart are empty or filled with a solid color.\",\"help\":\"STARFILL= lists of SOLID | EMPTY, one for each star\",\"type\":\"choice\",\"arguments\":[{\"name\":\"SOLID\",\"type\":\"standalone\"},{\"name\":\"EMPTY\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"p1cyb2lupfxbtxn1qk2oqvv7bys3\"},{\"name\":\"STARINRADIUS=\",\"optional\":true,\"description\":\"specifies the inner radius of stars as a percent from 0 to 100.\",\"help\":\"STARINRADIUS=*percent*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0egtsvez4c8d4n1gtp1rb8ntotj\"},{\"name\":\"STARLEGEND=\",\"optional\":true,\"description\":\"specifies the style of the legend used to identify the vertices of stars that are produced for a radar chart.\",\"help\":\"STARLEGEND=CLOCK | CLOCK0 | NUMBER | DEGREES | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"CLOCK\",\"description\":\"identifies the vertex variables by their positions on the clock (starting with 12:00).\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n00dmsfsohcvnan1wbgqlx44z65p\"},{\"name\":\"CLOCK0\",\"description\":\"identifies the vertex variables by their positions on the clock (starting with 0:00 corresponding to 12:00).\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p05urwnw63p0iyn1c4tagxnbtnte\"},{\"name\":\"NUMBER\",\"description\":\"identifies the vertex variables by numbers. The number 1 corresponds to 12 o'clock. Legend entries are assigned in clockwise order.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0q7am4xf0uzh9n1ezzhfb6roaic\"},{\"name\":\"DEGREES\",\"description\":\"identifies the vertex variables by angles in degrees. Zero degrees corresponds to 12 o'clock.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0vdmknh55pfgin1qi5b3i4ik3y5\"},{\"name\":\"NONE\",\"description\":\"suppresses the legend. This is the default.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1rrcc8082sj1zn10nhxtg7tmoq1\"}],\"supportSiteTargetFragment\":\"p07ct5c6oreuz8n15l5gxu3js33n\"},{\"name\":\"STARLEGENDLAB=\",\"optional\":true,\"description\":\"specifies the label displayed to the left of the legend for stars requested with the STARLEGEND= option.\",\"help\":\"STARLEGENDLAB=\\\"*legend-label*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1avco0uvs5jz0n1s30fq1trkyje\"},{\"name\":\"STAROUTRADIUS=\",\"optional\":true,\"description\":\"specifies the outer radius of stars as a percent up to 100.\",\"help\":\"STAROUTRADIUS=*value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0mwxg88osik11n169gfwhg6flba\"},{\"name\":\"STARSTART=\",\"optional\":true,\"description\":\"specifies the vertex angle for the first variable that is specified in the CHART statement.\",\"help\":\"STARSTART=*value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0mif5dh77z76bn1c431urkkg339\"},{\"name\":\"STARTYPE=\",\"optional\":true,\"description\":\"specifies the style of the stars that are produced for a radar chart.\",\"help\":\"STARTYPE=CORONA | POLYGON | RADIAL | SPOKE | WEDGE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"CORONA\",\"description\":\"polygon with star-vertices emanating from the inner circle\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1cma0em517vcyn1ptupahmettiw\"},{\"name\":\"POLYGON\",\"description\":\"closed polygon\",\"help\":\"POLYGON \",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n08ar3bea407yfn1pt9gmdi111tx\"},{\"name\":\"RADIAL\",\"description\":\"rays emanating from the center\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1rbvrf9acu43kn1e6m3f0dcsjfc\"},{\"name\":\"SPOKE\",\"description\":\"rays emanating from the inner circle\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n00txuahqcp8vyn1xnrcv5vpda1h\"},{\"name\":\"WEDGE\",\"description\":\"closed polygon with rays from the center to the full spoke length.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0hh4gaq5gfwown1cqctbqcq0v74\"}],\"supportSiteTargetFragment\":\"p14fz4oe7exwgnn1fdx3ruit7cbm\"},{\"name\":\"SUMVAR=\",\"optional\":true,\"description\":\"specifies a numeric variable to be used to construct weighted radar charts.\",\"help\":\"SUMVAR=*summary-variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1v5wmb9xf6t3en16ujsdft8york\"},{\"name\":\"TILELEGEND=\",\"optional\":true,\"description\":\"specifies a variable used to add a legend for CTILES= colors.\",\"help\":\"TILELEGEND=(*variable*)\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0q8otvexb73cvn1pg7rhf3mais0\"},{\"name\":\"TILELEGLABEL=\",\"optional\":true,\"description\":\"specifies a label displayed to the left of the legend that is created when you specify a TILELEGEND= variable.\",\"help\":\"TILELEGLABEL=\\\"*label*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0zgmq5gyobgren1qzlysstdn1gq\"},{\"name\":\"URL=\",\"optional\":true,\"description\":\"specifies a character variable whose values are URLs.\",\"help\":\"URL=*character-variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p16atj950lom8an14kw5krehvfi6\"},{\"name\":\"WAXIS=\",\"optional\":true,\"description\":\"See WFRAME=.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n04h9ndgu248uan1rch2s3evljmr\"},{\"name\":\"WFRAME=\",\"optional\":true,\"aliases\":[\"WAXIS=\"],\"description\":\"specifies the width in pixels for the frame lines.\",\"help\":\"WFRAME=*n*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1spbx88to1jqkn1iycdvosvlg9p\"},{\"name\":\"WINDROSE\",\"optional\":true,\"description\":\"specifies a wind rose chart.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0tngf5zcjjwx4n1ol7fy4fej4wk\"},{\"name\":\"WINDROSECIRCLES=\",\"optional\":true,\"description\":\"specifies the number of reference circles.\",\"help\":\"WINDROSECIRCLES=*n*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1srkx9lih95b8n12qdh3lwwpd9a\"},{\"name\":\"WSPOKES=\",\"optional\":true,\"aliases\":[\"WSPOKE=\"],\"description\":\"specifies the width in pixels of the spokes in a radar chart.\",\"help\":\"WSPOKES=*line-width*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n032cxyexcnfuln1xa8l4nfo32xl\"},{\"name\":\"WSTARCIRCLES=\",\"optional\":true,\"aliases\":[\"WSTARCIRCLE=\"],\"description\":\"specifies the width in pixels of the outline of circles requested by the STARCIRCLES= and WINDROSECIRCLES= options.\",\"help\":\"WSTARCIRCLES=(*line-widths*)\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0gbelqu7uia51n1wkcejxjr8zj0\"},{\"name\":\"WSTARS=\",\"optional\":true,\"aliases\":[\"WSTAR=\"],\"description\":\"specifies the width in pixels of the outline of stars that are produced for a radar chart.\",\"help\":\"WSTARS=*line-width* | (*line-widths*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"line-width\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(line-widths)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p1013vxrlhbicwn1x0ixefl61pxk\"}],\"supportSiteTargetFile\":\"p16s3bvpmzqiron19ucimqqoze1b.htm\"},{\"name\":\"ATTRIB\",\"description\":\"Associates a format, informat, label, and length with one or more variables.\",\"help\":\"ATTRIB  *variable-list(s)**attribute-list(s)*;\",\"arguments\":[{\"name\":\"variable-list\",\"optional\":true,\"placeholder\":true,\"description\":\"names the variables that you want to associate with the attributes.\",\"help\":\"*variable-list(s)*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1nd0mq22iu6ovn14mz1ot1hwcjid\"},{\"name\":\"FORMAT=\",\"description\":\"associates a format with variables in variable-list.\",\"help\":\"FORMAT=*format*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p08pt9ce6bhq86n18a3zcc97bldzd\"},{\"name\":\"INFORMAT=\",\"description\":\"associates an informat with variables in variable-list.\",\"help\":\"INFORMAT=*informat*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n136glco6ritqdn160792yhk9mv1d\"},{\"name\":\"LABEL=\",\"description\":\"associates a label with variables in variable-list.\",\"help\":\"LABEL='*label*' \",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0a9x9io5pi05mn1i4p2cphc7t0nd\"}],\"supportSiteTargetFile\":\"n09bxytcjmyp75n1mc29q45qhpmsd.htm\"},{\"name\":\"BY\",\"description\":\"Orders the output according to the BY groups.\",\"help\":\"BY <DESCENDING>variable-1\\n\\t<-<DESCENDING> variable-n>\\n\\t<NOTSORTED>;\",\"arguments\":[{\"name\":\"variable\",\"placeholder\":true,\"description\":\"specifies the variable that the procedure uses to form BY groups. You can specify more than one variable. If you do not use the NOTSORTED option in the BY statement, then either the observations in the data set must be sorted by all the variables that you specify, or they must be indexed appropriately. Variables in a BY statement are called BY variables.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0e9kbav2i9chhn1xectebpz4s14d\"},{\"name\":\"DESCENDING\",\"optional\":true,\"description\":\"specifies that the observations are sorted in descending order by the variable that immediately follows the word DESCENDING in the BY statement.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1au0lhf4hi1h2n1le3cx2tp74l5d\"},{\"name\":\"NOTSORTED\",\"optional\":true,\"description\":\"specifies that observations are not necessarily sorted in alphabetic or numeric order. The observations are grouped in another way (for example, chronological order).\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p068zvjhrpn2awn1bygis4m6hppad\"}],\"supportSiteTargetFile\":\"p1tkzb6q5jl1omn1payndkh1g3nwd.htm\"},{\"name\":\"FORMAT\",\"description\":\"Associates formats with variables.\",\"help\":\"FORMAT *variable-1*&lt;-*variable-n*&gt;&lt;*format-1*&gt;&lt;*variable-1*&lt;-*variable-n*&gt;&lt;*format-2*&gt;&gt; - &lt;DEFAULT=*default-format*&gt;;\",\"arguments\":[{\"name\":\"variable\",\"placeholder\":true,\"description\":\"names one or more variables for SAS to associate with a format. You must specify at least one variable.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1d0cionbspk2tn1ma0m6kjd1ntxd\"},{\"name\":\"format\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the format that is listed for writing the values of the variables.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0oulvct798v2wn1lll17t854rg8d\"},{\"name\":\"DEFAULT=\",\"optional\":true,\"description\":\"specifies a temporary default format for displaying the values of variables that are not listed in the FORMAT statement. These default formats apply only to the current DATA step; they are not permanently associated with variables in the output data set.\",\"help\":\"DEFAULT=*default-format*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0k0jb3arokdz9n1g3q3zizh81g4d\"}],\"supportSiteTargetFile\":\"n1x0d6bnw9wtyun1rhq5p7tis5gsd.htm\"},{\"name\":\"LABEL\",\"description\":\"Assigns descriptive labels to variables.\",\"help\":\"Form 1: Creates a descriptive label for one or more variables.\\nLABEL variable-1=’text-string’ < ...variable-n=’text-string>; \\nForm 2: Removes the label from one or more variables.\\nLABEL variable-1 = ' ' < ...variable-n=’ ‘>; | variable-1 = < ...variable-n= >\",\"arguments\":[{\"name\":\"text-string\",\"placeholder\":true,\"description\":\"specifies a label of up to 256 bytes.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n09u0k5ydxzgr3n1dfznhvex7uuod\"},{\"name\":\"'\",\"placeholder\":true,\"description\":\"removes a label from a variable. Enclose a single blank space in quotation marks to remove an existing label. You can remove labels from multiple variables in a single LABEL statement:\",\"help\":\"*' '*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1dl99omzes92cn1typpf6yl1ng0d\"}],\"supportSiteTargetFile\":\"n0b8jun5pu2j52n1duycwzzhrtmwd.htm\"},{\"name\":\"NOTE\",\"description\":\"Control the content, appearance, and placement of text.\",\"help\":\"NOTE &lt;*text-options*&gt;&lt;‘*text-string*’&gt;;\",\"arguments\":[{\"name\":\"ALT=\",\"description\":\"specifies descriptive text for a URL to which a note links, or the note itself.\",\"help\":\"ALT=\\\"*text-string*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1ss7qwa0a8ym6n10yt0pvlswkhle\"},{\"name\":\"ANGLE=\",\"aliases\":[\"A=\"],\"description\":\"specifies the angle of the baseline of the entire text string with respect to the horizontal.\",\"help\":\"ANGLE=*degrees*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0agfl3v4cz076n1vq0sm0kpc7u9e\"},{\"name\":\"BCOLOR=\",\"aliases\":[\"BC=\"],\"description\":\"specifies the background color of a box produced by the BOX= option.\",\"help\":\"BCOLOR=*background-color*\",\"type\":\"color\",\"supportSiteTargetFragment\":\"n0p6kae6bogf6ln1qfi5lumfuqsle\"},{\"name\":\"BLANK=\",\"aliases\":[\"BL=\"],\"description\":\"protects the box and its contents from being overwritten by any subsequent graphics elements.\",\"help\":\"BLANK=YES\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1k1qe16mrandmn1p5d6zmfzbpp3e\"},{\"name\":\"BOX=\",\"aliases\":[\"BO=\"],\"description\":\"draws a box around one line of text.\",\"help\":\"BOX=*1* - *4*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1gsgi19gb631mn1u3ohvku3h9fre\"},{\"name\":\"BSPACE=\",\"aliases\":[\"BS=\"],\"description\":\"specifies the amount of space between the boxed text and the box.\",\"help\":\"BSPACE=*box-space*&lt;*units*&gt;\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1bsvoi1ejzgldn13u0ctqhoumr7e\"},{\"name\":\"COLOR=\",\"aliases\":[\"C=\"],\"description\":\"specifies the color for the following text, box, or line.\",\"help\":\"COLOR=*color*\",\"type\":\"color\",\"supportSiteTargetFragment\":\"p0sbrdi8whe59cn1trrly9i486a2e\"},{\"name\":\"DRAW=\",\"aliases\":[\"D=\"],\"description\":\"draws lines anywhere on the graphics output area.\",\"help\":\"DRAW=(*x,y* - ,*x-n,y-n*)&lt;*units*&gt;\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1ek60b1m99g1en1p2vat39gnk0ue\"},{\"name\":\"FONT=\",\"aliases\":[\"F=\"],\"description\":\"specifies the font for the subsequent text.\",\"help\":\"FONT=*font*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n14ghk49hvnj9bn1dggqdp9185h0e\"},{\"name\":\"HEIGHT=\",\"aliases\":[\"H=\"],\"description\":\"specifies the height of text characters in number of units.\",\"help\":\"HEIGHT=*text-height*&lt;*units*&gt;\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1nstxzbtib4yon17b1z48u1xc43e\"},{\"name\":\"JUSTIFY=\",\"description\":\"specifies the alignment of the text string.\",\"help\":\"JUSTIFY=LEFT | CENTER | RIGHT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"LEFT\",\"aliases\":[\"L\"],\"description\":\"aligns the text to the left.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1bd3ccior85vpn1j8yydbva53ohe\"},{\"name\":\"CENTER\",\"aliases\":[\"C\"],\"description\":\"aligns the text in the center.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1xzocqktoshbhn0zj41vgrrpcf0e\"},{\"name\":\"RIGHT\",\"aliases\":[\"R\"],\"description\":\"aligns the text to the right.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0d72p8dhm0aken19ezwvnuh89hje\"}],\"supportSiteTargetFragment\":\"p0ic105d0qi1len198gj233aunvxe\"},{\"name\":\"LANGLE=\",\"aliases\":[\"LA=\"],\"description\":\"specifies the angle of the entire text-string(s).\",\"help\":\"LANGLE=*degrees*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p17asd7cxorhh0n13ock77km9umwe\"},{\"name\":\"LINK=\",\"description\":\"specifies a uniform resource locator (URL) to which a note links.\",\"help\":\"LINK=\\\"*URL*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1g7nbregrkazwn13yab35dwunkfe\"},{\"name\":\"LSPACE=\",\"aliases\":[\"LS=\"],\"description\":\"specifies the amount of spacing above and below lines of text.\",\"help\":\"LSPACE=*line-space* &lt;*units*&gt;\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1rvmh79wukiwin10y0uxgndzm0ke\"},{\"name\":\"MOVE=\",\"aliases\":[\"M=\"],\"description\":\"positions a text string.\",\"help\":\"MOVE=(*x*,*y*) &lt;*units*&gt;\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1b4ii0h0nvyl9n1n3f3rq4bcmd7e\"},{\"name\":\"ROTATE=\",\"aliases\":[\"R=\"],\"description\":\"specifies the angle at which each character of text is rotated.\",\"help\":\"ROTATE=*degrees*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0eixp1t2i8jh7n18f5h9abmkbd9e\"},{\"name\":\"UNDERLIN=\",\"aliases\":[\"U=\",\"UNDERLINE=\"],\"description\":\"underlines subsequent text.\",\"help\":\"UNDERLIN=*0* - *3*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0odrift6g8tevn1wlkt3yirab29e\"},{\"name\":\"WRAP\",\"description\":\"wraps the text to a second line if the text does not fit on one line.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0f424vsafu2k4n1uvv5px2ea0vne\"},{\"name\":\"#BYLINE\",\"description\":\"substitutes the entire BY line without leading or trailing blanks for #BYLINE in the text string. It also displays the BY line in the note produced by the statement.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n17mfc3jo9ghz4n1g0w1pyzjaba6e\"},{\"name\":\"#BYVAL\",\"description\":\"substitutes the current value of the specified BY variable for #BYVAL in the text string and displays the value produced by the statement. Specify the variable with one of these values:\",\"help\":\"  #BYVAL*n* <br/> #BYVAL(*variable-name*)\",\"type\":\"value\",\"arguments\":[{\"name\":\"n\",\"placeholder\":true,\"description\":\"specifies which variable in the BY statement #BYVAL should use. The value of n indicates the position of the variable in the BY statement.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p152link16gmrxn17tbgrpvy6snbh\"},{\"name\":\"variable-name\",\"placeholder\":true,\"description\":\"names the BY variable.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0aywj8k42frwsn1d1075rkks2zjh\"}],\"supportSiteTargetFragment\":\"p0g93myce7dkd2n1oub0dnqw6de0h\"},{\"name\":\"#BYVAR\",\"description\":\"substitutes the name of the BY variable or label associated with the variable (whatever the BY line would normally display) for #BYVAR in the text string and displays the name or label produced by the statement. Specify the variable with one of these:\",\"help\":\"  #BYVAR*n* <br/> #BYVAR(*BY-variable-name*)\",\"type\":\"value\",\"arguments\":[{\"name\":\"n\",\"placeholder\":true,\"description\":\"specifies which variable in the BY statement #BYVAR should use. The value of n indicates the position of the variable in the BY statement. For example, #BYVAR2 specifies the second variable in the BY statement.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0edwk5zij4p1dn1dx8j7ljlp2g0h\"},{\"name\":\"BY-variable-name\",\"placeholder\":true,\"description\":\"names the BY variable. For example, #BYVAR(SITES) specifies the BY variable, SITES. Variable-name is not case sensitive.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0h7djvvxju8lqn1oopd9m2939nuh\"}],\"supportSiteTargetFragment\":\"n0lq1vfuz9uxsen12rp88i6fk1pjh\"}],\"supportSiteTargetFile\":\"n06de0d5lj12inn14glgif2c8ovae.htm\"},{\"name\":\"WHERE\",\"description\":\"Subsets the input data set by specifying certain conditions that each observation must meet before it is available for processing.\",\"help\":\"WHERE *where-expression*;\",\"arguments\":[{\"name\":\"where-expression\",\"placeholder\":true,\"description\":\"is an arithmetic or logical expression that generally consists of a sequence of operands and operators. For more information about where processing, see .\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0834dlfg85co3n18aqbvenv4b35d\"}],\"supportSiteTargetFile\":\"n1rx5guqu5cxr1n1flpiox5ks7srd.htm\"},{\"name\":\"QUIT\",\"description\":\"Executes any statements that have not executed and ends the procedure step.\",\"help\":\"QUIT ;\",\"supportSiteTargetFile\":\"p0rv4g0o6aq6oxn1t95eicz4xfrtd.htm\"}],\"interactive\":true,\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"n0hhznjklmhf66n14ry392qrxs68.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/GRADBOOST.json",
    "content": "{\"name\":\"GRADBOOST\",\"statements\":[{\"name\":\"PROC GRADBOOST\",\"description\":\"The GRADBOOST procedure creates a predictive model called a gradient boosting model in SAS Viya. A gradient boosting model consists of multiple decision trees. A predictive model defines a relationship between input variables and a target variable. The purpose of a predictive model is to predict a target value from inputs. The GRADBOOST procedure creates the model by using training data in which the target values are known. The model can then be applied to observations in which the target is unknown. If the predictions fit the new data well, the model is said to generalize well. Good generalization is the primary goal of predictive tasks. A predictive model might fit the training data well but generalize poorly.\",\"help\":\"PROC GRADBOOST <options>;                 \\n\\tAUTOTUNE <options>;                 \\n\\n\\tCODE <options>;                 \\n\\n\\tCROSSVALIDATION <options>;                 \\n\\n\\tFREQ  variable;                 \\n\\n\\tID variables;                 \\n\\n\\tINPUT  variables </ options>;                 \\n\\n\\tOUTPUT  OUT=libref.data-table<option>;                 \\n\\n\\tPARTITION  partition-option;                 \\n\\n\\tSAVESTATE  RSTORE=libref.data-table;                 \\n\\n\\tTARGET  variable </ LEVEL={NOMINAL | INTERVAL}>;                 \\n\\n\\tMITIGATEBIAS  SENSITIVEVAR=variable PREDICTEDVARS=(variable-names) PREDICTEDEVENTS=\\\"event-list\\\" <options>;                 \\n\\n\\tTRANSFERLEARN  variable </ options>;                 \\n\\n\\tVIICODE <options>;                 \\n\\n\\tWEIGHT  variable;                 \\n\",\"arguments\":[{\"name\":\"ADDTREES\",\"optional\":true,\"description\":\"adds trees to an already generated gradient boosting model, which is specified in the INMODEL= option\",\"type\":\"standalone\"},{\"name\":\"APPLYROWORDER\",\"optional\":true,\"description\":\"uses a data distribution and row order as determined by a previous partition action call\",\"type\":\"standalone\"},{\"name\":\"ASSIGNMISSING=\",\"optional\":true,\"description\":\"specifies how to handle missing values during training and creates a splitting rule to handle missing values and unknown levels during scoring\",\"help\":\"ASSIGNMISSING=NONE | MACSMALL | USEINSEARCH\",\"type\":\"choice\"},{\"name\":\"BINMETHOD=\",\"optional\":true,\"description\":\"specifies how to bin interval input variables prior to growing the gradient boosting model\",\"help\":\"BINMETHOD=BUCKET | QUANTILE\",\"type\":\"choice\"},{\"name\":\"DATA=\",\"optional\":true,\"description\":\"names the input data table for PROC GRADBOOST to use\",\"help\":\"DATA=*libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"DISTRIBUTION=\",\"optional\":true,\"description\":\"specifies the distribution of the objective function\",\"help\":\"DISTRIBUTION=BINARY | GAUSSIAN | MULTINOMIAL | POISSON | TWEEDIE(POWER=*p*)\",\"type\":\"value\"},{\"name\":\"EARLYSTOP\",\"optional\":true,\"description\":\"specifies options for stopping the gradient boosting model training early\",\"help\":\"EARLYSTOP(*suboption*...)\",\"type\":\"value\",\"arguments\":[{\"name\":\"METRIC=\",\"description\":\"specifies whether to use the misclassification rate or the log-loss prediction error in early stopping for a binary or nominal target\",\"help\":\"METRIC=MCR | LOGLOSS\",\"type\":\"choice\"},{\"name\":\"MINIMUM=\",\"description\":\"specifies whether the stagnation approach should count iterations starting from the iteration that has the smallest error\",\"help\":\"MINIMUM=NO | YES\",\"type\":\"choice\"},{\"name\":\"STAGNATION=\",\"description\":\"specifies the number of iterations in the gradient boosting model to consider for early stopping, where number must be a nonnegative integer\",\"help\":\"STAGNATION=*number*\",\"type\":\"value\"},{\"name\":\"THRESHOLD=\",\"description\":\"specifies the threshold value that stops training when the error equals or exceeds it\",\"type\":\"value\"},{\"name\":\"THRESHOLDITER=\",\"description\":\"specifies the minimum number of training iterations to run before the threshold approach is invoked\",\"help\":\"THRESHOLDITER=*T*\",\"type\":\"value\"},{\"name\":\"TOLERANCE=\",\"description\":\"specifies the number to be used as the tolerance for the stagnation approach to early stopping, where number must be nonnegative\",\"help\":\"TOLERANCE=*number*\",\"type\":\"value\"}]},{\"name\":\"INMODEL=\",\"optional\":true,\"description\":\"specifies the data table that you previously saved as a gradient boosting model by using the OUTMODEL= option in a previous run of PROC GRADBOOST\",\"help\":\"INMODEL=*libref.**data-table*\",\"type\":\"dataSet\"},{\"name\":\"LASSO=\",\"optional\":true,\"aliases\":[\"L1=\"],\"description\":\"specifies the L1 norm regularization parameter, where number must be nonnegative\",\"help\":\"LASSO=*number*\",\"type\":\"value\"},{\"name\":\"LEARNINGRATE=\",\"optional\":true,\"description\":\"specifies the learning rate for the gradient boosting algorithm, where number must be between 0 and 1, inclusive\",\"help\":\"LEARNINGRATE=*number*\",\"type\":\"value\"},{\"name\":\"MAXBRANCH=\",\"optional\":true,\"description\":\"specifies the maximum number of children per node in the tree\",\"help\":\"MAXBRANCH=*b*\",\"type\":\"value\"},{\"name\":\"MAXDEPTH=\",\"optional\":true,\"description\":\"specifies the maximum depth of the tree to be grown\",\"help\":\"MAXDEPTH=*number*\",\"type\":\"value\"},{\"name\":\"MINLEAFSIZE=\",\"optional\":true,\"aliases\":[\"LEAFSIZE=\"],\"description\":\"specifies the minimum number of observations that each child of a split must contain in the training data table in order for the split to be considered\",\"help\":\"MINLEAFSIZE=*number*\",\"type\":\"value\"},{\"name\":\"MINUSEINSEARCH=\",\"optional\":true,\"description\":\"specifies a threshold for using missing values in the split search when ASSIGNMISSING=USEINSEARCH\",\"help\":\"MINUSEINSEARCH=*number*\",\"type\":\"value\"},{\"name\":\"NOMSEARCH\",\"optional\":true,\"description\":\"specifies search methods for splitting on a nominal variable\",\"help\":\"NOMSEARCH(*suboption*...)\",\"type\":\"value\",\"arguments\":[{\"name\":\"MAXCATEGORIES=\",\"description\":\"specifies the maximum number of categories to use in a splitting rule\",\"help\":\"MAXCATEGORIES=*number*\",\"type\":\"value\"},{\"name\":\"SHRINKAGE=\",\"description\":\"specifies how much weight to give the average gradient when you combine it with the average gradient within a category\",\"help\":\"SHRINKAGE=*number*\",\"type\":\"value\"},{\"name\":\"SORT=\",\"description\":\"specifies the minimum cardinality in the node of the nominal variable for using the sort method\",\"help\":\"SORT=*number*\",\"type\":\"value\"}]},{\"name\":\"NOPRINT\",\"optional\":true,\"description\":\"suppresses ODS output\",\"type\":\"standalone\"},{\"name\":\"NTHREADS=\",\"optional\":true,\"description\":\"The gradient boosting algorithm automatically determines the default value on the basis of the properties of the training data, model, and hardware that you use\",\"help\":\"NTHREADS=*number*\",\"type\":\"value\"},{\"name\":\"NTREES=\",\"optional\":true,\"description\":\"specifies the number of trees to grow in the gradient boosting model\",\"help\":\"NTREES=*number*\",\"type\":\"value\"},{\"name\":\"NUMBIN=\",\"optional\":true,\"aliases\":[\"NBINS=\"],\"description\":\"specifies the number of bins to use for binning the interval input variables\",\"help\":\"NUMBIN=*number*\",\"type\":\"value\"},{\"name\":\"OFFSET=\",\"optional\":true,\"description\":\"specifies an offset variable to be used with DISTRIBUTION=POISSON or TWEEDIE\",\"help\":\"OFFSET=*variable*\",\"type\":\"value\"},{\"name\":\"OUTMODEL=\",\"optional\":true,\"description\":\"specifies the data table to which to save the gradient boosting model\",\"help\":\"OUTMODEL=&lt;*libref.*&gt;*data-table*\",\"type\":\"dataSet\"},{\"name\":\"PRINTTARGET\",\"optional\":true,\"description\":\"outputs tables that indicate generated columns in the OUT= table from the OUTPUT statement\",\"type\":\"standalone\"},{\"name\":\"RBAIMP\",\"optional\":true,\"description\":\"creates a variable importance table by using random branch assignment (RBA)\",\"type\":\"standalone\"},{\"name\":\"RIDGE=\",\"optional\":true,\"aliases\":[\"L2=\"],\"description\":\"specifies the L2 norm regularization parameter on prediction\",\"help\":\"RIDGE=*number*\",\"type\":\"value\"},{\"name\":\"SAMPLINGRATE=\",\"optional\":true,\"description\":\"specifies the fraction of the training data to be used for growing each tree in the boosting model\",\"help\":\"SAMPLINGRATE=*number*\",\"type\":\"value\"},{\"name\":\"SEED=\",\"optional\":true,\"description\":\"specifies the initial seed for random number generation for model building\",\"help\":\"SEED=*number*\",\"type\":\"value\"},{\"name\":\"VARS_TO_TRY=\",\"optional\":true,\"aliases\":[\"M=\"],\"description\":\"specifies the number of input variables to consider splitting on in a node, where m ranges from 1 to the number of input variables\",\"help\":\"VARS_TO_TRY=*m*\",\"type\":\"value\"},{\"name\":\"VII=\",\"optional\":true,\"aliases\":[\"INTERACTIONIMP=\"],\"description\":\"calculates the variable interaction importance, which is described in the section {gradboost.details_intimp}\",\"help\":\"VII=2 | 3\",\"type\":\"choice\"}]},{\"name\":\"AUTOTUNE\",\"description\":\"searches for the best combination of values of the LASSO=, LEARNINGRATE=, MAXDEPTH=, MINLEAFSIZE=, NTREES=, NUMBIN=, RIDGE=, SAMPLINGRATE=, and VARS_TO_TRY= options in the PROC GRADBOOST statement\",\"help\":\"AUTOTUNE &lt;options&gt;;                                              \",\"arguments\":[{\"name\":\"TUNINGPARAMETERS=\",\"optional\":true,\"aliases\":[\"TUNEPARMS=\"],\"description\":\"specifies which parameters to tune and which ranges to tune over\",\"help\":\"TUNINGPARAMETERS=(*suboption* | ... | &lt;*suboption*&gt;)\",\"type\":\"value\",\"arguments\":[{\"name\":\"LASSO\",\"description\":\"specifies information about the L1 regularization to use for tuning the gradient boosting model\",\"help\":\"LASSO (LB=*number* UB=*number* VALUES=*value-list* INIT=*number* EXCLUDE)\",\"type\":\"value\",\"arguments\":[{\"name\":\"LB=\",\"description\":\"specifies the minimum L1 regularization value to consider during tuning\",\"help\":\"LB=*number*\",\"type\":\"value\"},{\"name\":\"UB=\",\"description\":\"specifies the maximum L1 regularization value to consider during tuning\",\"help\":\"UB=*number*\",\"type\":\"value\"},{\"name\":\"VALUES=\",\"description\":\"specifies a list of L1 regularization values to consider during tuning, where value-list is a space-separated list of numbers greater than or equal to 0\",\"help\":\"VALUES=*value-list*\",\"type\":\"value\"},{\"name\":\"INIT=\",\"description\":\"specifies the initial L1 regularization value for the tuner to use\",\"help\":\"INIT=*number*\",\"type\":\"value\"},{\"name\":\"EXCLUDE\",\"description\":\"excludes L1 regularization from the tuning process\",\"type\":\"standalone\"}]},{\"name\":\"LEARNINGRATE\",\"description\":\"specifies information about the learning rate to use for tuning the gradient boosting model\",\"help\":\"LEARNINGRATE (LB=*number* UB=*number* VALUES=*value-list* INIT=*number* EXCLUDE)\",\"type\":\"value\",\"arguments\":[{\"name\":\"LB=\",\"description\":\"specifies the minimum learning rate to consider during tuning\",\"help\":\"LB=*number*\",\"type\":\"value\"},{\"name\":\"UB=\",\"description\":\"specifies the maximum learning rate to consider during tuning\",\"help\":\"UB=*number*\",\"type\":\"value\"},{\"name\":\"VALUES=\",\"description\":\"specifies a list of learning rates to consider during tuning, where value-list is a space-separated list of numbers greater than 0 and less than or equal to 1\",\"help\":\"VALUES=*value-list*\",\"type\":\"value\"},{\"name\":\"INIT=\",\"description\":\"specifies the initial learning rate for the tuner to use\",\"help\":\"INIT=*number*\",\"type\":\"value\"},{\"name\":\"EXCLUDE\",\"description\":\"excludes the learning rate from the tuning process\",\"type\":\"standalone\"}]},{\"name\":\"MAXDEPTH\",\"description\":\"specifies information about the maximum depth of trees to use for tuning the gradient boosting model\",\"help\":\"MAXDEPTH (LB=*number* UB=*number* VALUES=*value-list* INIT=*number* EXCLUDE)\",\"type\":\"value\",\"arguments\":[{\"name\":\"LB=\",\"description\":\"specifies the minimum value of the MAXDEPTH= option in the PROC GRADBOOST statement to consider during tuning\",\"help\":\"LB=*number*\",\"type\":\"value\"},{\"name\":\"UB=\",\"description\":\"specifies the maximum value of the MAXDEPTH= option in the PROC GRADBOOST statement to consider during tuning\",\"help\":\"UB=*number*\",\"type\":\"value\"},{\"name\":\"VALUES=\",\"description\":\"specifies a list of values of the MAXDEPTH= option in the PROC GRADBOOST statement to consider during tuning, where value-list is a space-separated list of positive integers\",\"help\":\"VALUES=*value-list*\",\"type\":\"value\"},{\"name\":\"INIT=\",\"description\":\"specifies the initial value of the MAXDEPTH= option in the PROC GRADBOOST statement for the tuner to use\",\"help\":\"INIT=*number*\",\"type\":\"value\"},{\"name\":\"MINLEAFSIZE\",\"description\":\"specifies information about tuning the leaf size option for training the decision tree\",\"help\":\"MINLEAFSIZE (LB=*number* UB=*number* VALUES=*value-list* INIT=*number* EXCLUDE)\",\"type\":\"value\",\"arguments\":[{\"name\":\"LB=\",\"description\":\"specifies the minimum leaf size value to consider during tuning\",\"help\":\"LB=*number*\",\"type\":\"value\"},{\"name\":\"UB=\",\"description\":\"specifies the maximum leaf size value to consider during tuning\",\"help\":\"UB=*number*\",\"type\":\"value\"},{\"name\":\"VALUES=\",\"description\":\"specifies a list of leaf size values to consider during tuning, where value-list is a space-separated list of positive integers\",\"help\":\"VALUES=*value-list*\",\"type\":\"value\"},{\"name\":\"INIT=\",\"description\":\"specifies the initial leaf size for the tuner to use\",\"help\":\"INIT=*number*\",\"type\":\"value\"},{\"name\":\"EXCLUDE\",\"description\":\"excludes the leaf size from the tuning process\",\"type\":\"standalone\"}]},{\"name\":\"EXCLUDE\",\"description\":\"excludes the MAXDEPTH= option from the tuning process\",\"type\":\"standalone\"}]},{\"name\":\"NTREES\",\"description\":\"specifies information about the number of trees to use for tuning the gradient boosting model\",\"help\":\"NTREES (LB=*number* UB=*number* VALUES=*value-list* INIT=*number* EXCLUDE)\",\"type\":\"value\",\"arguments\":[{\"name\":\"LB=\",\"description\":\"specifies the minimum number of trees to consider during tuning\",\"help\":\"LB=*number*\",\"type\":\"value\"},{\"name\":\"UB=\",\"description\":\"specifies the maximum number of trees to consider during tuning\",\"help\":\"UB=*number*\",\"type\":\"value\"},{\"name\":\"VALUES=\",\"description\":\"specifies a list of numbers of trees to consider during tuning, where value-list is a space-separated list of positive integers\",\"help\":\"VALUES=*value-list*\",\"type\":\"value\"},{\"name\":\"INIT=\",\"description\":\"specifies the initial number of trees for the tuner to use\",\"help\":\"INIT=*number*\",\"type\":\"value\"},{\"name\":\"EXCLUDE\",\"description\":\"excludes the number of trees from the tuning process\",\"type\":\"standalone\"}]},{\"name\":\"NUMBIN\",\"description\":\"specifies information about the number of bins to consider during the tuning of the options for PROC GRADBOOST\",\"help\":\"NUMBIN (LB=*number* UB=*number* VALUES=*value-list* INIT=*number* EXCLUDE)\",\"type\":\"value\",\"arguments\":[{\"name\":\"LB=\",\"description\":\"specifies the minimum number of bins to consider during tuning\",\"help\":\"LB=*number*\",\"type\":\"value\"},{\"name\":\"UB=\",\"description\":\"specifies the maximum number of bins to consider during tuning\",\"help\":\"UB=*number*\",\"type\":\"value\"},{\"name\":\"VALUES=\",\"description\":\"specifies a list of the numbers of bins to consider during tuning, where value-list is a space-separated list of positive integers\",\"help\":\"VALUES=*value-list*\",\"type\":\"value\"},{\"name\":\"INIT=\",\"description\":\"specifies the initial number of bins for the tuner to use\",\"help\":\"INIT=*number*\",\"type\":\"value\"},{\"name\":\"EXCLUDE\",\"description\":\"excludes the number of bins from the tuning process\",\"type\":\"standalone\"}]},{\"name\":\"RIDGE\",\"description\":\"specifies information about the L2 regularization to use for tuning the gradient boosting model\",\"help\":\"RIDGE (LB=*number* UB=*number* VALUES=*value-list* INIT=*number* EXCLUDE)\",\"type\":\"value\",\"arguments\":[{\"name\":\"LB=\",\"description\":\"specifies the minimum L2 regularization value to consider during tuning\",\"help\":\"LB=*number*\",\"type\":\"value\"},{\"name\":\"UB=\",\"description\":\"specifies the maximum L2 regularization value to consider during tuning\",\"help\":\"UB=*number*\",\"type\":\"value\"},{\"name\":\"VALUES=\",\"description\":\"specifies a list of L2 regularization values to consider during tuning, where value-list is a space-separated list of numbers greater than or equal to 0\",\"help\":\"VALUES=*value-list*\",\"type\":\"value\"},{\"name\":\"INIT=\",\"description\":\"specifies the initial L2 regularization value for the tuner to use\",\"help\":\"INIT=*number*\",\"type\":\"value\"},{\"name\":\"EXCLUDE\",\"description\":\"excludes L2 regularization from the tuning process\",\"type\":\"standalone\"}]},{\"name\":\"SAMPLINGRATE\",\"description\":\"specifies information about the portion of the training data for each boosted tree to use for tuning the gradient boosting model\",\"help\":\"SAMPLINGRATE (LB=*number* UB=*number* VALUES=*value-list* INIT=*number* EXCLUDE)\",\"type\":\"value\",\"arguments\":[{\"name\":\"LB=\",\"description\":\"specifies the minimum sampling rate to consider during tuning\",\"help\":\"LB=*number*\",\"type\":\"value\"},{\"name\":\"UB=\",\"description\":\"specifies the maximum sampling rate to consider during tuning\",\"help\":\"UB=*number*\",\"type\":\"value\"},{\"name\":\"VALUES=\",\"description\":\"specifies a list of sampling rates to consider during tuning, where value-list is a space-separated list of numbers greater than 0 and less than or equal to 1\",\"help\":\"VALUES=*value-list*\",\"type\":\"value\"},{\"name\":\"INIT=\",\"description\":\"specifies the initial sampling rate for the tuner to use\",\"help\":\"INIT=*number*\",\"type\":\"value\"},{\"name\":\"EXCLUDE\",\"description\":\"excludes the sampling rate from the tuning process\",\"type\":\"standalone\"}]},{\"name\":\"VARS_TO_TRY\",\"description\":\"specifies information about the number of variables to consider at each split during tree growth\",\"help\":\"VARS_TO_TRY (LB=*number* UB=*number* VALUES=*value-list* INIT=*number* EXCLUDE)\",\"type\":\"value\",\"arguments\":[{\"name\":\"LB=\",\"description\":\"specifies the minimum number of variables to consider during tuning\",\"help\":\"LB=*number*\",\"type\":\"value\"},{\"name\":\"UB=\",\"description\":\"specifies the maximum number of variables to consider during tuning\",\"help\":\"UB=*number*\",\"type\":\"value\"},{\"name\":\"VALUES=\",\"description\":\"specifies a list of numbers of variables to consider during tuning, where value-list is a space-separated list of positive integers\",\"help\":\"VALUES=*value-list*\",\"type\":\"value\"},{\"name\":\"INIT=\",\"description\":\"specifies the initial number of variables for the tuner to use\",\"help\":\"INIT=*number*\",\"type\":\"value\"},{\"name\":\"EXCLUDE\",\"description\":\"excludes the number of variables from the tuning process\",\"type\":\"standalone\"}]}]}]},{\"name\":\"CODE\",\"description\":\"writes SAS DATA step code for computing predicted values of the fitted model to a file or to a table\",\"help\":\"CODE &lt;options&gt;;                                              \",\"arguments\":[{\"name\":\"COMMENT\",\"optional\":true,\"description\":\"Adds comments to the generated code\",\"type\":\"standalone\"},{\"name\":\"FILE=\",\"optional\":true,\"description\":\"Names the file in which to save the generated code\",\"type\":\"value\"},{\"name\":\"FORMATWIDTH=\",\"optional\":true,\"description\":\"Specifies the numeric format width for the regression coefficients\",\"type\":\"value\"},{\"name\":\"INDENTSIZE=\",\"optional\":true,\"description\":\"Specifies the number of spaces to indent the generated code\",\"type\":\"value\"},{\"name\":\"LABELID=\",\"optional\":true,\"description\":\"Specifies a number used to construct names and labels\",\"type\":\"value\"},{\"name\":\"LINESIZE=\",\"optional\":true,\"description\":\"Specifies the line size for the generated code\",\"type\":\"value\"},{\"name\":\"NOTRIM\",\"optional\":true,\"description\":\"Compares formatted values, including blank padding\",\"type\":\"standalone\"},{\"name\":\"OUT=\",\"optional\":true,\"description\":\"Names an output table in which to save the generated code\",\"type\":\"value\"}]},{\"name\":\"CROSSVALIDATION\",\"description\":\"performs k-fold cross validation to find the average estimated validation error\",\"help\":\"CROSSVALIDATION &lt;options&gt;;                                              \",\"arguments\":[{\"name\":\"KFOLD=\",\"optional\":true,\"description\":\"specifies the number of partition folds in the cross validation process, where number is between 2 and 20, inclusive\",\"help\":\"KFOLD=*number*\",\"type\":\"value\"},{\"name\":\"NOPARALLEL\",\"optional\":true,\"description\":\"specifies that k-fold cross validation not be run in parallel\",\"type\":\"standalone\"},{\"name\":\"NSUBSESSIONWORKERS=\",\"optional\":true,\"description\":\"specifies the number of worker nodes to use in parallel subsessions\",\"help\":\"NSUBSESSIONWORKERS=*number*\",\"type\":\"value\"}]},{\"name\":\"FREQ\",\"description\":\"identifies a numeric variable in the input data table that contains the frequency of occurrence of each observation\",\"help\":\"FREQ  variable;                                              \"},{\"name\":\"ID\",\"description\":\"lists one or more variables that are to be copied from the input data table to the output data tables that are specified in the OUT= option in the OUTPUT statement and the RSTORE= option in the SAVESTATE statement\",\"help\":\"ID *variables*;                                              \"},{\"name\":\"INPUT\",\"description\":\"names input variables that share common options\",\"help\":\"INPUT  variables &lt;/ options&gt;;                                              \",\"arguments\":[{\"name\":\"LEVEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the level of measurement of the variables\",\"help\":\"LEVEL={INTERVAL | NOMINAL}\",\"type\":\"choice\"},{\"name\":\"MONOTONIC=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"requests that the gradient boosting model be built by requiring monotonic constraints on the model with respect to the variables\",\"help\":\"MONOTONIC={DECREASING | INCREASING}\",\"type\":\"choice\"}]},{\"name\":\"OUTPUT\",\"description\":\"creates an output data table that contains the results of running PROC GRADBOOST\",\"help\":\"OUTPUT  OUT=*libref.data-table*&lt;option&gt;;                                              \",\"arguments\":[{\"name\":\"OUT=\",\"optional\":true,\"description\":\"names the output data table for PROC GRADBOOST to use\",\"help\":\"OUT=*libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"COPYVAR=\",\"optional\":true,\"aliases\":[\"COPYVARS=\"],\"description\":\"lists one or more variables from the input data table to be transferred to the output data table\",\"help\":\"COPYVAR={*variable*}\",\"type\":\"value\"},{\"name\":\"ROLE\",\"optional\":true,\"description\":\"generates a numeric variable that indicates the role played by each observation in fitting the model\",\"help\":\"ROLE&lt;={*name*}&gt;\",\"type\":\"standaloneOrValue\"}]},{\"name\":\"PARTITION\",\"description\":\"specifies how observations in the input data set are logically partitioned into disjoint subsets for model training, validation, and testing\",\"help\":\"PARTITION  partition-option;                                              \",\"arguments\":[{\"name\":\"FRACTION\",\"optional\":true,\"description\":\"randomly assigns specified proportions of the observations in the input data table to the roles\",\"help\":\"FRACTION(&lt;TEST=*fraction*&gt; &lt;VALIDATE=*fraction*&gt; &lt;SEED=*number*&gt;)\",\"type\":\"standaloneOrValue\"},{\"name\":\"ROLE=\",\"optional\":true,\"aliases\":[\"ROLEVAR=\"],\"description\":\"names the variable in the input data table whose values are used to assign roles to each observation\",\"help\":\"ROLE={*variable* (&lt;TEST=*'value'*&gt; &lt;TRAIN=*'value'*&gt; &lt;VALIDATE=*'value'*&gt;) }\",\"type\":\"value\"}]},{\"name\":\"SAVESTATE\",\"description\":\"creates an analytic store for the model and saves it as a binary object in a data table\",\"help\":\"SAVESTATE  RSTORE=*libref.data-table*;                                              \",\"arguments\":[{\"name\":\"RSTORE=\",\"optional\":true,\"description\":\"specifies a data table in which to save the analytic store for the model\",\"help\":\"RSTORE=*libref.data-table*\",\"type\":\"dataSet\"}]},{\"name\":\"TARGET\",\"description\":\"names the variable whose values PROC GRADBOOST predicts\",\"help\":\"TARGET  variable &lt;/ LEVEL={NOMINAL | INTERVAL}&gt;;                                              \",\"arguments\":[{\"name\":\"LEVEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the level of measurement\",\"help\":\"LEVEL={NOMINAL | INTERVAL}\",\"type\":\"choice\"}]},{\"name\":\"MITIGATEBIAS\",\"description\":\"enables PROC GRADBOOST to iteratively train a model while minimizing the bias metric that you specify\",\"help\":\"MITIGATEBIAS  SENSITIVEVAR=*variable* PREDICTEDVARS=(*variable-names*) PREDICTEDEVENTS=\\\"*event-list*\\\" &lt;options&gt;;                                              \",\"arguments\":[{\"name\":\"PREDICTEDEVENTS=\",\"optional\":true,\"aliases\":[\"PEVENTS=\"],\"description\":\"specifies the events that correspond to each variable in the PREDICTEDVARS= option\",\"help\":\"PREDICTEDEVENTS=\\\"*event-list*\\\"\",\"type\":\"value\"},{\"name\":\"PREDICTEDVARS=\",\"optional\":true,\"aliases\":[\"PVARS=\"],\"description\":\"specifies the names of the variables that contain the posterior probability for each level in model prediction that corresponds to the response (target) variable\",\"help\":\"PREDICTEDVARS=(*variable-names*)\",\"type\":\"value\"},{\"name\":\"SENSITIVEVAR=\",\"optional\":true,\"description\":\"specifies the sensitive variable to use in order to reduce the value of the bias measurement that you specify in the BIASMETRIC= option\",\"help\":\"SENSITIVEVAR=*variable*\",\"type\":\"value\"},{\"name\":\"BIASMETRIC=\",\"optional\":true,\"description\":\"specifies the type of bias measurement\",\"help\":\"BIASMETRIC=*bias-metric*\",\"type\":\"value\"},{\"name\":\"BOUND=\",\"optional\":true,\"description\":\"specifies the bound value for the exponentiated gradient reduction algorithm\",\"help\":\"BOUND=*number*\",\"type\":\"value\"},{\"name\":\"DELIMITER=\",\"optional\":true,\"aliases\":[\"DLM=\"],\"description\":\"specifies the delimiter to be used to separate events that you specify in the PREDICTEDEVENTS= option\",\"help\":\"DELIMITER=\\\"*character*\\\"\",\"type\":\"value\"},{\"name\":\"LEARNINGRATE=\",\"optional\":true,\"description\":\"specifies the step size to use in updating the exponentiated gradient reduction algorithm\",\"help\":\"LEARNINGRATE=*number*\",\"type\":\"value\"},{\"name\":\"LOGLEVEL=\",\"optional\":true,\"description\":\"specifies the level of log information to print\",\"help\":\"LOGLEVEL=0 | 1 | 2\",\"type\":\"choice\"},{\"name\":\"MAXITER=\",\"optional\":true,\"description\":\"specifies the maximum number of iterations to run the exponentiated gradient reduction algorithm\",\"help\":\"MAXITER=*number*\",\"type\":\"value\"},{\"name\":\"SEED=\",\"optional\":true,\"description\":\"specifies the seed for the pseudorandom number generator\",\"help\":\"SEED=*number*\",\"type\":\"value\"},{\"name\":\"TARGETEVENT=\",\"optional\":true,\"description\":\"specifies the formatted value of the response (target) variable that represents the event of interest\",\"help\":\"TARGETEVENT=\\\"*event*\\\"\",\"type\":\"value\"},{\"name\":\"TOLERANCE=\",\"optional\":true,\"description\":\"specifies the parity constraint violation tolerance\",\"help\":\"TOLERANCE=*number*\",\"type\":\"value\"},{\"name\":\"TUNEBOUND\",\"optional\":true,\"description\":\"specifies that the bound value must be tuned\",\"type\":\"standalone\"}]},{\"name\":\"TRANSFERLEARN\",\"description\":\"enables you to train the gradient boosting model by using auxiliary data that are added to your training data\",\"help\":\"TRANSFERLEARN  variable &lt;/ options&gt;;                                              \",\"arguments\":[{\"name\":\"BURN=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the number of trees to create before down-weighting any observation in the auxiliary data\",\"help\":\"BURN=*number*\",\"type\":\"value\"},{\"name\":\"SHRINKAGE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the number to apply as the weighting factor for down-weighting auxiliary data, where number must be between 0 and 1, exclusive\",\"help\":\"SHRINKAGE=*number*\",\"type\":\"value\"},{\"name\":\"TRIMMING=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the number to use as a fraction of the distribution of gradients on the training data beyond which auxiliary observations are down-weighted, where number must be greater than 0 and less than or equal to 1/2\",\"help\":\"TRIMMING=*number*\",\"type\":\"value\"}]},{\"name\":\"VIICODE\",\"description\":\"writes SAS DATA step code to a file or to a catalog entry\",\"help\":\"VIICODE &lt;options&gt;;                                              \",\"arguments\":[{\"name\":\"ADD\",\"optional\":true,\"description\":\"requests that the newly created variables be of the form V + W\",\"type\":\"standalone\"},{\"name\":\"LIMIT=\",\"optional\":true,\"description\":\"specifies the maximum number of new variables to create\",\"help\":\"LIMIT=*number*\",\"type\":\"value\"},{\"name\":\"MISS\",\"optional\":true,\"description\":\"requests that the generated code handle missing values\",\"type\":\"standalone\"},{\"name\":\"MULTIPLY\",\"optional\":true,\"description\":\"requests that the newly created variables be of the form V W\",\"type\":\"standalone\"},{\"name\":\"SUBTRACT\",\"optional\":true,\"description\":\"requests that the newly created variables be of the form V - W\",\"type\":\"standalone\"},{\"name\":\"THRESHOLD=\",\"optional\":true,\"description\":\"requests that interactions with an importance less than number times the maximum interaction importance be ignored, where number must be between 0 and 1\",\"help\":\"THRESHOLD=*number*\",\"type\":\"value\"}]},{\"name\":\"WEIGHT\",\"description\":\"variable is used to weight each observation to perform a weighted analysis of the data\",\"help\":\"WEIGHT  variable;                                              \"}],\"supportSiteInformation\":{\"docsetId\":\"casml\",\"docsetVersion\":\"latest\",\"docsetTargetFile\":\"casml_gradboost_toc.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/GREDUCE.json",
    "content": "{\"name\":\"GREDUCE\",\"statements\":[{\"name\":\"PROC GREDUCE\",\"description\":\"Identifies the input and output map data sets. Can specify the reduction criteria.\",\"help\":\"PROC GREDUCE DATA=input-map-data-set<options>;   \\n\\tID id-variable(s);\\n\\tBY variable(s)\\n\\t\\t<DESCENDING>variable-1<<DESCENDING>variable-2 ...>\\n\\t\\t<NOTSORTED>;\",\"arguments\":[{\"name\":\"DATA=\",\"description\":\"identifies the map data set that you want to process.\",\"help\":\"DATA=*input-map-data-set*\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"p1s49puczr6jign1wolb1mou9j5s\"},{\"name\":\"E1=\",\"optional\":true,\"description\":\"specify the minimum distance that a point must lie from a straight line segment to be included at density level 1, 2, 3, 4, or 5, respectively.\",\"help\":\"E1=*min-distance*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0d3dzfy9z8juqn1u7aqsiyhwt15\"},{\"name\":\"E2=\",\"optional\":true,\"description\":\"specify the minimum distance that a point must lie from a straight line segment to be included at density level 1, 2, 3, 4, or 5, respectively.\",\"help\":\"E2=*min-distance*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0d3dzfy9z8juqn1u7aqsiyhwt15\"},{\"name\":\"E3=\",\"optional\":true,\"description\":\"specify the minimum distance that a point must lie from a straight line segment to be included at density level 1, 2, 3, 4, or 5, respectively.\",\"help\":\"E3=*min-distance*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0d3dzfy9z8juqn1u7aqsiyhwt15\"},{\"name\":\"E4=\",\"optional\":true,\"description\":\"specify the minimum distance that a point must lie from a straight line segment to be included at density level 1, 2, 3, 4, or 5, respectively.\",\"help\":\"E4=*min-distance*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0d3dzfy9z8juqn1u7aqsiyhwt15\"},{\"name\":\"E5=\",\"optional\":true,\"description\":\"specify the minimum distance that a point must lie from a straight line segment to be included at density level 1, 2, 3, 4, or 5, respectively.\",\"help\":\"E5=*min-distance*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0d3dzfy9z8juqn1u7aqsiyhwt15\"},{\"name\":\"LATLON\",\"optional\":true,\"aliases\":[\"LATLONG\"],\"description\":\"specifies that the LAT and LONG variables from the map data set are used for coordinate data instead of the Y and X variables.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p08my7qvrfpespn1eih4voff8qwl\"},{\"name\":\"N1=\",\"optional\":true,\"description\":\"specifies that for density level 1, 2, 3, 4, or 5, the boundary of a unit area should contain no more than max-points points.\",\"help\":\"N1=*max-points*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1d9nwj49vjorvn123h570oklqe9\"},{\"name\":\"N2=\",\"optional\":true,\"description\":\"specifies that for density level 1, 2, 3, 4, or 5, the boundary of a unit area should contain no more than max-points points.\",\"help\":\"N2=*max-points*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1d9nwj49vjorvn123h570oklqe9\"},{\"name\":\"N3=\",\"optional\":true,\"description\":\"specifies that for density level 1, 2, 3, 4, or 5, the boundary of a unit area should contain no more than max-points points.\",\"help\":\"N3=*max-points*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1d9nwj49vjorvn123h570oklqe9\"},{\"name\":\"N4=\",\"optional\":true,\"description\":\"specifies that for density level 1, 2, 3, 4, or 5, the boundary of a unit area should contain no more than max-points points.\",\"help\":\"N4=*max-points*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1d9nwj49vjorvn123h570oklqe9\"},{\"name\":\"N5=\",\"optional\":true,\"description\":\"specifies that for density level 1, 2, 3, 4, or 5, the boundary of a unit area should contain no more than max-points points.\",\"help\":\"N5=*max-points*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1d9nwj49vjorvn123h570oklqe9\"},{\"name\":\"NOCLEAN\",\"optional\":true,\"description\":\"disables post-processing cleanup of the output data set.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1469b0b6zt5ksn125la4zd1a2ab\"},{\"name\":\"NORETRY\",\"optional\":true,\"description\":\"prevents additional reduction of polygons in the output map data set.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p019h8mreueez0n1unxrjgwboera\"},{\"name\":\"OUT=\",\"optional\":true,\"description\":\"names the new map data set, which contains all of the observations and variables in the original map data set plus the new DENSITY variable.\",\"help\":\"OUT=*output-data-set*\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"n1aqi606ofbz7un1d7vur2yl5gk6\"}],\"supportSiteTargetFile\":\"n1hhxy4sve4o36n1g1tcatc5nnk5.htm\"},{\"name\":\"ID\",\"description\":\"Identifies the variable or variables that define the hierarchy of the current unit areas in the input map data set.\",\"help\":\"ID *id-variable(s)*;\",\"arguments\":[{\"name\":\"id-variable\",\"placeholder\":true,\"description\":\"specifies one or more variables in the input map data set that identify unit areas. Id-variable(s) can be either numeric or character.\",\"help\":\"*id-variable(s)*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n13gkdpx6nie0mn1smz4aqiu1tzf\"}],\"supportSiteTargetFile\":\"n1scp6l2dves0in1qodlc296b0ks.htm\"},{\"name\":\"BY\",\"description\":\"Lists the variable or variables that identify the new unit areas.\",\"help\":\"BY variable(s)\\n<DESCENDING>variable-1<<DESCENDING>variable-2 ...>\\n<NOTSORTED>;\",\"arguments\":[{\"name\":\"variable\",\"placeholder\":true,\"description\":\"specifies one or more variables in the input map data set that define the new unit areas. Variable(s) can be either numeric or character.\",\"help\":\"*variable(s)*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1xzehw5kidsfwn1sdllawnigggs\"},{\"name\":\"DESCENDING\",\"optional\":true,\"description\":\"indicates that the input map data set is sorted in descending order.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0hdu103vn350jn1cn5vdjydfj4i\"},{\"name\":\"NOTSORTED\",\"optional\":true,\"description\":\"specifies that observations with the same BY-variable values are to be grouped as they are encountered without regard for whether the values are in alphabetical or numerical order.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n12kud0pz83tnkn1463y3mx80egn\"}],\"supportSiteTargetFile\":\"p01irm60fqm6w8n1pukj5xv4h1zr.htm\"}],\"supportSiteInformation\":{\"docsetId\":\"grmapref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"n0grevqu4asrarn1lmo5eblj0sxz.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/GREMOVE.json",
    "content": "{\"name\":\"GREMOVE\",\"statements\":[{\"name\":\"PROC GREMOVE\",\"description\":\"Identifies the input and output map data sets.\",\"help\":\"PROC GREMOVE DATA=input-map-data-set\\n<DROPVARS>\\n<FUZZ=fuzz-factor>\\n<OUT=output-map-data-set>\\n<NODECYCLE>;   \\n\\tBY variable(s)\\n\\t\\t<DESCENDING>variable-1<<DESCENDING>variable-2 ...>\\n\\t\\t<NOTSORTED>;\\n\\n\\tID variable(s);\",\"arguments\":[{\"name\":\"DATA=\",\"description\":\"specifies the map data set that is to be processed.\",\"help\":\"DATA=*input-map-data-set*\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"p02mxm2i1q0wsin18yx0y3l78tw8\"},{\"name\":\"DROPVARS\",\"optional\":true,\"aliases\":[\"DROPV\"],\"description\":\"requests the removal of most of the variables from the input map data set.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1352sl5stallcn1waabq8jwjk5p\"},{\"name\":\"FUZZ=\",\"optional\":true,\"description\":\"specifies a tolerance for possible error in the data.\",\"help\":\"FUZZ=*fuzz-factor*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p16th1jtigqudkn1ll17vd8ifnl4\"},{\"name\":\"NODECYCLE\",\"optional\":true,\"aliases\":[\"NC\"],\"description\":\"specifies that the GREMOVE procedure use a topological algorithm for closing the resulting polygons.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p16liyktce5mffn1tvgvi2mq1yvo\"},{\"name\":\"OUT=\",\"optional\":true,\"description\":\"names the new map data set, which contains the coordinates of the new unit areas created by the GREMOVE procedure.\",\"help\":\"OUT=*output-data-set*\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"n0a07sr1zuj3jin1mv4t7jhvqsht\"}],\"supportSiteTargetFile\":\"p049uwenq18jh0n12gx10uuii1ge.htm\"},{\"name\":\"BY\",\"description\":\"Lists the variable or variables that identify the new unit areas.\",\"help\":\"BY variable(s)\\n<DESCENDING>variable-1<<DESCENDING>variable-2 ...>\\n<NOTSORTED>;\",\"arguments\":[{\"name\":\"variable\",\"placeholder\":true,\"description\":\"specifies one or more variables in the input map data set that define the new unit areas. Variable(s) can be either numeric or character.\",\"help\":\"*variable(s)*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n140yt5z8x1zt1n1j9b3xj68csnm\"},{\"name\":\"DESCENDING\",\"optional\":true,\"description\":\"indicates that the input map data set is sorted in descending order.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0wq8b1acduw36n1nfv5abs0n3cw\"},{\"name\":\"NOTSORTED\",\"optional\":true,\"description\":\"specifies that observations with the same BY-variable values are to be grouped as they are encountered without regard for whether the values are in alphabetical or numerical order.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0oa4mqhl87znhn1kltfz6vxe3hi\"}],\"supportSiteTargetFile\":\"n1t4cg3lsroya5n1tuz3sdnkjv8m.htm\"},{\"name\":\"ID\",\"description\":\"Identifies the variable or variables that define the hierarchy of the current unit areas in the input map data set.\",\"help\":\"ID *id-variable(s)*;\",\"arguments\":[{\"name\":\"id-variable\",\"placeholder\":true,\"description\":\"specifies one or more variables in the input map data set that identify the unit areas to be combined. These variables are not included in the output map data set. Id-variable(s) can be either numeric or character.\",\"help\":\"*id-variable(s)*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1a35cptgfhme8n1r84bmb2s43h7\"}],\"supportSiteTargetFile\":\"p173hnvespi9tin1fl2vbe1roire.htm\"}],\"supportSiteInformation\":{\"docsetId\":\"grmapref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"p18fpxx3tn5br4n1ql9aghlvht2p.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/GREPLAY.json",
    "content": "{\"name\":\"GREPLAY\",\"statements\":[{\"name\":\"PROC GREPLAY\",\"description\":\"Defines whether the session is used for catalog management or output presentation.\",\"help\":\"PROC                GREPLAY \\n\\t<BYLINE>\\n\\n\\t<CC=color-map-catalog>\\n\\n\\t<CMAP=color-map-entry-type>\\n\\n\\t<GOUT=<libref.>output-catalog>\\n\\n\\t<IGOUT=<libref.>input-catalog>\\n\\n\\t<IMAGEMAP=output-data-set>\\n\\n\\t<NOBYLINE>\\n\\n\\t<NOFS>\\n\\n\\t<TC=template-catalog>\\n\\n\\t<TEMPLATE=template-entry>;\\n\\n\\t\\n\\t\\t? CC | CMAP | DEVICE | GOUT | IGOUT | TC | TEMPLATE;\\n\\t\\tBYLINE ;\\n\\t\\tCC color-map-catalog;\\n\\t\\tCCOPY <color-map-catalog.>color-map-entry<.CMAP>;\\n\\t\\tCDEF color-map-entry\\n\\t\\t\\tcolor-number / from-color : to-color\\n\\t\\t\\t<color-number / from-color : to-color>\\n\\t\\t\\t< ...>\\n\\t\\t\\t<DES=\\\"description\\\">                   ;\\n\\t\\tCDELETE color-map-entry(s) | _ALL_;\\n\\t\\tCMAP color-map-entry;\\n\\t\\tCOPY entry-id(s) | _ALL_;\\n\\t\\tDELETE entry-id(s) | _ALL_                   ;\\n\\t\\tDEVICE device-name;\\n\\t\\tGOUT <libref.>output-catalog;\\n\\t\\tGROUP entry-id(s);\\n\\t\\tIGOUT <libref.>input-catalog;\\n\\t\\tLIST CC | CMAP | IGOUT | TC | TEMPLATE;\\n\\t\\tMODIFY entry-id / <BYLINE=\\\"character-string\\\"> <NAME=\\\"new-entry-name\\\"> <DES=\\\"description\\\">;\\n\\t\\tMOVE entry-id-1 AFTER | BEFORE entry-id-2;\\n\\t\\tNOBYLINE ;\\n\\t\\tPREVIEW template-entry(s) | _ALL_                   ;\\n\\t\\tQUIT ;\\n\\t\\tREPLAY entry-id(s) | _FIRST_ | _LAST_ | _ALL_                   ;\\n\\t\\tTC template-catalog;\\n\\t\\tTCOPY <template-catalog.>template-entry<.TEMPLATE>;\\n\\t\\tTDEF template-entry\\n\\t\\t\\tpanel-number / <panel-options>\\n\\t\\t\\t<panel-number / <panel-options>>\\n\\t\\t\\t< ...>\\n\\t\\t\\t<DES=\\\"description\\\">                   ;\\n\\t\\tTDELETE template-entry(s) | _ALL_;\\n\\t\\tTEMPLATE template-entry;\\n\\t\\tTREPLAY select-pair(s);\\n\",\"arguments\":[{\"name\":\"BYLINE\",\"optional\":true,\"description\":\"specifies that the BY statement information for the SAS catalog entries should be displayed.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0prqu29vvocfwn1af7ocooafbzv\"},{\"name\":\"CC=\",\"optional\":true,\"description\":\"specifies the color map catalog where the color map entries are stored.\",\"help\":\"CC=*color-map-catalog*\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"p1mfw5nh2tqmugn1cmuszmylpjd6\"},{\"name\":\"CMAP=\",\"optional\":true,\"description\":\"specifies the type of catalog entry to use with the GREPLAY procedure.\",\"help\":\"CMAP=*color-map-entry-type*\",\"type\":\"color\",\"supportSiteTargetFragment\":\"n0scni08xvvpejn1nphszukn6auk\"},{\"name\":\"FS\",\"optional\":true,\"description\":\"this option is not supported.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1ru6ff77ifu59n1fy5x5o59znku\"},{\"name\":\"GOUT=\",\"optional\":true,\"description\":\"specifies the graphics output catalog.\",\"help\":\"GOUT=&lt;*libref*.&gt;*output-catalog*\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"p017crea2gktjzn1k49832ypsa52\"},{\"name\":\"IGOUT=\",\"optional\":true,\"description\":\"specifies the input catalog that stores the graphics output that you want to use with the GREPLAY procedure.\",\"help\":\"IGOUT=&lt;*libref*.&gt;*input-catalog*\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"p0u3p4ojx10fypn1wn1nkeb2drpn\"},{\"name\":\"IMAGEMAP=\",\"optional\":true,\"description\":\"used with the REPLAY statement to create a temporary SAS data set that is used to generate an image map in an SVG file when replaying output to the LISTING destination.\",\"help\":\"IMAGEMAP= *output-data-set*\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"p0pz69rd0qejc8n1kwfh6koezajs\"},{\"name\":\"NOBYLINE\",\"optional\":true,\"description\":\"specifies that the BY statement information for the SAS catalog entries should be suppressed.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0dgnu7hc714gyn1sbw8ledw6giu\"},{\"name\":\"NOFS\",\"optional\":true,\"description\":\"specifies that the GREPLAY procedure should use line mode.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1jd3gbcl34t34n12betdit3eur3\"},{\"name\":\"PRESENTATATION\",\"optional\":true,\"description\":\"this option is not supported.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0ot9xnzjvez7wn1dgijjdrps1l3\"},{\"name\":\"TC=\",\"optional\":true,\"description\":\"specifies the template catalog to use with the GREPLAY procedure, and identifies the template catalog where the template entry is stored to replay your graphics.\",\"help\":\"TC=*template-catalog*\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"p0tkghdthwze60n19tfne4jlra58\"},{\"name\":\"TEMPLATE=\",\"optional\":true,\"description\":\"identifies the template entry to use with the GREPLAY procedure.\",\"help\":\"TEMPLATE=*template-entry*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n08qdq6tf6s492n1918ddk0e52pk\"}],\"supportSiteTargetFile\":\"n1xeeaqfpcqb2sn1oelt59x2z8pt.htm\"},{\"name\":\"?\",\"description\":\"Writes the current value of certain PROC GREPLAY options, or of the current device driver to the SAS log. If the value is not assigned, the GREPLAY procedure issues a message to the SAS log.\",\"help\":\"? CC | CMAP | DEVICE | GOUT | IGOUT | TC | TEMPLATE\",\"arguments\":[{\"name\":\"CC\",\"optional\":true,\"description\":\"writes the name of the current color map catalog.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0nptjxo9y5dthn16vdusalt22ha\"},{\"name\":\"CMAP\",\"optional\":true,\"description\":\"writes the name of the current color map.\",\"type\":\"color\",\"supportSiteTargetFragment\":\"p0jazo030ikpyhn14h4vj6ol8thk\"},{\"name\":\"DEVICE\",\"optional\":true,\"aliases\":[\"DEV\"],\"description\":\"writes the name of the current device driver.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1plv2gyephho8n18g9ul9kut0fu\"},{\"name\":\"GOUT\",\"optional\":true,\"description\":\"writes the name of the output catalog.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n053lgnjz4dsc3n194v0rzv6stcv\"},{\"name\":\"IGOUT\",\"optional\":true,\"description\":\"writes the name of the input catalog.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n040d9q3ev0ry3n0z3stswo8pt6e\"},{\"name\":\"TC\",\"optional\":true,\"description\":\"writes the name of the current template catalog.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0ydpl1p39pr6pn1gmq5kowoqfnz\"},{\"name\":\"TEMPLATE\",\"optional\":true,\"description\":\"writes the name of the current template.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p10ci9r9puv0edn1mk4k0l8zf2uj\"}],\"supportSiteTargetFile\":\"n0t3h15ktn4f7un1txn5xn1tbzfw.htm\"},{\"name\":\"BYLINE\",\"description\":\"Displays BY statement information directly beneath the primary description of the catalog entries when you list the input catalog contents.\",\"help\":\"BYLINE ;\",\"supportSiteTargetFile\":\"n0h3vrsc7xhv4in1wfkyb2e92v8e.htm\"},{\"name\":\"CC\",\"description\":\"Specifies a color map catalog, and enables you to change the color map catalog without exiting the procedure.\",\"help\":\"CC *libref.**color-map-catalog*;\",\"arguments\":[{\"name\":\"color-map\",\"placeholder\":true,\"description\":\"identifies the SAS catalog where color map entries are stored.\",\"help\":\"*color-map catalog*\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"n08uxgcv1mbmtqn13wb53xip2nrh\"}],\"supportSiteTargetFile\":\"n08344edrl1alrn1rt7l5tdnej5h.htm\"},{\"name\":\"CCOPY\",\"description\":\"Copies a color map from one color map catalog to another color map catalog. Creates a duplicate color map within the color map catalog.\",\"help\":\"CCOPY &lt;*libref.*&gt;&lt;*colormap-catalog.*&gt;*color-map-entry*&lt;.CMAP&gt;;\",\"arguments\":[{\"name\":\"libref.color-map-catalog.color-map-entry.CMAP\",\"description\":\"identifies the color map entry to be copied.\",\"type\":\"color\",\"arguments\":[{\"name\":\"color-map-catalog\",\"description\":\"is the color map catalog that contains the color map to be copied.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0a46hil0cy7rqn0zu91frpc10wv\"},{\"name\":\"color-map-entry\",\"description\":\"is the name of the color map entry.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0kyhdbf172u1an1aauuzft7hq19\"},{\"name\":\".CMAP\",\"description\":\"is the color map entry type.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0lib19l9b2wg8n1cs761dukmpie\"}],\"supportSiteTargetFragment\":\"p1s5w7auvlm9ofn17khhc1tcw76k\"}],\"supportSiteTargetFile\":\"p1mjwta0pbt8q7n1590443gvu48p.htm\"},{\"name\":\"CDEF\",\"description\":\"Defines or modifies one or more color maps in the color-map catalog.\",\"help\":\"CDEF color-map-entry\\n\\tcolor-number / from-color : to-color\\n\\n\\t<color-number / from-color : to-color>\\n\\n\\t< ...>\\n\\t<DES=\\\"description\\\">;\",\"arguments\":[{\"name\":\"color-map-entry\",\"placeholder\":true,\"description\":\"identifies a color map entry.\",\"type\":\"color\",\"supportSiteTargetFragment\":\"p1v69lvga79hisn12hszqmk07bk4\"},{\"name\":\"color-number\",\"placeholder\":true,\"description\":\"specifies the number of a color-mapping pair.\",\"type\":\"color\",\"supportSiteTargetFragment\":\"p1cbwdrbg5soljn1smdwor91antx\"},{\"name\":\"from-color\",\"placeholder\":true,\"description\":\"specifies the color to be mapped.\",\"type\":\"color\",\"supportSiteTargetFragment\":\"n0lstuko2pjxm2n1vhs6wpuerx8s\"},{\"name\":\"to-color\",\"placeholder\":true,\"description\":\"specifies the new color that replaces from-color in the replayed graphics output.\",\"type\":\"color\",\"supportSiteTargetFragment\":\"p0wln50twmo1d6n149gyvn741d88\"},{\"name\":\"DES=\",\"optional\":true,\"description\":\"specifies a catalog entry description for the color map entry. Maximum length for the description is 256 characters.\",\"help\":\"DES=\\\"*description*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p08zpm0ci9tybsn1daajxt9h4wv6\"}],\"supportSiteTargetFile\":\"n0v6h1i4fxgb45n156a6nv7tpq9o.htm\"},{\"name\":\"CDELETE\",\"aliases\":[\"CDEL\"],\"description\":\"Deletes one or more color map entries from the current color map catalog.\",\"help\":\"CDELETE *color-map-entry(s)* | _ALL_;\",\"arguments\":[{\"name\":\"color-map-entry\",\"placeholder\":true,\"description\":\"identifies one or more color map entries to delete from the color map catalog.\",\"help\":\"*color-map-entry(s)*\",\"type\":\"color\",\"supportSiteTargetFragment\":\"n1kbnm9qfayzwgn11bqpwxc7l8lz\"},{\"name\":\"_ALL_\",\"aliases\":[\"CDEL\"],\"description\":\"deletes all of the color map entries from the color map catalog.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1te9pq06045wrn1mygawkt94xzg\"}],\"supportSiteTargetFile\":\"n1nugl93tnlffun177tw80fm5xhh.htm\"},{\"name\":\"CMAP\",\"description\":\"Assigns a color map entry to be used when replaying graphics output.\",\"help\":\"CMAP *color-map-entry*;\",\"arguments\":[{\"name\":\"color-map-entry\",\"placeholder\":true,\"description\":\"identifies the color map entry, contained in the current color map catalog, to use when replaying your graphics output.\",\"type\":\"color\",\"supportSiteTargetFragment\":\"p0yh91vy7lm2sgn1d2f0jfpyrmga\"}],\"supportSiteTargetFile\":\"p1crx68s2karpxn1jjgmdyn0ssrq.htm\"},{\"name\":\"COPY\",\"description\":\"Copies one or more GRSEG catalog entries from the input catalog to the output catalog.\",\"help\":\"COPY *entry-id(s)* | _ALL_;\",\"arguments\":[{\"name\":\"entry-id\",\"placeholder\":true,\"description\":\"is the number (in the order in which they were created) or name of a catalog entry or group of entries to be copied from the input catalog to the output catalog.\",\"help\":\"*entry-id(s)*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0eep50hu12k9qn1c7nisasut94y\"},{\"name\":\"_ALL_\",\"description\":\"copies all graphics output entries in the input catalog to the output catalog.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p19zyjv4owrsbkn14uhi20qyg3l2\"}],\"supportSiteTargetFile\":\"p1lnizgjz4jw7gn19iufw2uin0e9.htm\"},{\"name\":\"DELETE\",\"aliases\":[\"DEL\"],\"description\":\"Deletes SAS catalog entries containing graphics output from the current input catalog.\",\"help\":\"DELETE *entry-id(s)* | _ALL_;\",\"arguments\":[{\"name\":\"entry-id\",\"placeholder\":true,\"description\":\"is the number (in the order in which they were created) or name of a catalog entry or a group of entries to be deleted from the input catalog.\",\"help\":\"*entry-id(s)*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1dbaff2sprppcn1ktfuymvbg2jh\"},{\"name\":\"_ALL_\",\"aliases\":[\"DEL\"],\"description\":\"deletes all graphics output entries in the input catalog.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1qh1136ej0z9mn1u1gtni0rpdvw\"}],\"supportSiteTargetFile\":\"p097s4dv0if5mkn1kl2y5l457ey5.htm\"},{\"name\":\"DEVICE\",\"aliases\":[\"DEV\"],\"description\":\"Specifies the device driver.\",\"help\":\"DEVICE *device-name*;\",\"arguments\":[{\"name\":\"device-name\",\"placeholder\":true,\"aliases\":[\"DEV\"],\"description\":\"specifies the device driver to use when you replay graphics output.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0pp1sn0rg7vw2n1x9mnfupme0ot\"}],\"supportSiteTargetFile\":\"n0h1e9k2ork1kqn1i0ed2mpl0dhh.htm\"},{\"name\":\"GOUT\",\"description\":\"Assigns the SAS output catalog used by the GREPLAY procedure.\",\"help\":\"GOUT &lt;*libref.*&gt;*output-catalog*;\",\"arguments\":[{\"name\":\"libref.output-catalog\",\"placeholder\":true,\"description\":\"identifies the SAS catalog to use as an output catalog.\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"n1c5s5uyz5hm48n1ceov5z7f29k2\"}],\"supportSiteTargetFile\":\"n0l6god469f113n1uwjn8ciqe4q4.htm\"},{\"name\":\"GROUP\",\"description\":\"Creates groups of entries in the current input catalog.\",\"help\":\"GROUP *entry-id(s)*;\",\"arguments\":[{\"name\":\"entry-id\",\"placeholder\":true,\"description\":\"is the number (in the order in which they were created) or name of a catalog entry.\",\"help\":\"*entry-id(s)*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0zvj5rpgjxzztn1xl6ty7b7hhrz\"}],\"supportSiteTargetFile\":\"n04j2ooiid41j8n1fwl6v48ndk7k.htm\"},{\"name\":\"IGOUT\",\"description\":\"Assigns the SAS input catalog used by the GREPLAY procedure.\",\"help\":\"IGOUT &lt;*libref.*&gt;*input-catalog*;\",\"arguments\":[{\"name\":\"libref.input-catalog\",\"placeholder\":true,\"description\":\"identifies the SAS catalog with entries that contain graphics output that you want to replay.\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"p1bggacygng39dn1pdzfc9zz3qpj\"}],\"supportSiteTargetFile\":\"p141gd0jl9gti4n1k8bltlubvfcu.htm\"},{\"name\":\"LIST\",\"description\":\"Lists entries in the input, template, and color map catalogs, as well as the contents of templates and color maps in the SAS log.\",\"help\":\"LIST CC | CMAP | IGOUT | TC | TEMPLATE\",\"arguments\":[{\"name\":\"CC\",\"optional\":true,\"description\":\"lists the color maps that are in the current color map catalog.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0dq0le22jhhs7n13dfjvnwtuuuv\"},{\"name\":\"CMAP\",\"optional\":true,\"description\":\"lists the From and To values in the current color map.\",\"type\":\"color\",\"supportSiteTargetFragment\":\"p0k3tmm54vzoi9n12qcc9bpbqzaj\"},{\"name\":\"IGOUT\",\"optional\":true,\"description\":\"lists the number, name, and description of the entries in the input catalog that contain graphics output.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0yhwq7rukl3e6n1e527q0lfr714\"},{\"name\":\"TC\",\"optional\":true,\"description\":\"lists the templates in the current template catalog.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p174x36evinhc9n1nwj09ieb6s8w\"},{\"name\":\"TEMPLATE\",\"optional\":true,\"description\":\"lists the panel definition values of the current template.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0188w2knqk966n1q85qj3apox3c\"}],\"supportSiteTargetFile\":\"p0a52zjg27nnwtn12d7rtao6u4j9.htm\"},{\"name\":\"MODIFY\",\"description\":\"Changes the name, description, and BY statement information of entries or group headers in the input catalog. You must specify at least one change.\",\"help\":\"MODIFY entry-id / <BYLINE=\\\"character-string\\\"> <NAME=\\\"new-entry-name\\\"> <DES=\\\"description\\\">\\n\\t<entry-id / <BYLINE=\\\"character-string\\\"> <NAME=\\\"new-entry-name\\\"> <DES=\\\"description\\\">>\\n\\n\\t< ...>\\n;\",\"arguments\":[{\"name\":\"entry-id\",\"placeholder\":true,\"description\":\"specifies the number (in the order in which they were created) or name of a catalog entry or a group of entries in the input catalog.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0mkzandpx8ba9n1j9blr5crwjy1\"},{\"name\":\"BYLINE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a character string that can be used for additional information or for BY statement information.\",\"help\":\"BYLINE=\\\"*character-string*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0ndi8hiormg3xn1hn3n1bs9vj0l\"},{\"name\":\"NAME=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a new name for the GRSEG catalog entry.\",\"help\":\"NAME=\\\"*new-entry-name*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1emugxe12hstgn1oxhxxsdn98ta\"},{\"name\":\"DES=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a description of the output.\",\"help\":\"DES=\\\"*description*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1sf1a3jm4igr2n17ziwddxjbju0\"}],\"supportSiteTargetFile\":\"p1w7ex090ibsr4n1gml2zy9vahm1.htm\"},{\"name\":\"MOVE\",\"description\":\"Rearranges entries in the input catalog by moving entries before or after other entries.\",\"help\":\"MOVE *entry-id-1* AFTER | BEFORE *entry-id-2*;\",\"arguments\":[{\"name\":\"entry-id-1\",\"placeholder\":true,\"description\":\"specifies the number (in the order in which they were created) or name of a catalog entry or a group header that is to be moved.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0a1qhg73do3fcn1nnssvrskh1p1\"},{\"name\":\"entry-id-2\",\"placeholder\":true,\"description\":\"is the number (in the order in which they were created) or name of a catalog entry or a group header.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0eble5car3abon122mnd5zf7syn\"},{\"name\":\"AFTER\",\"description\":\"specifies whether entry-id-1 should be moved after or before entry-id-2.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1j45pqje9ww5mn12i2kdz8hnrhg\"},{\"name\":\"BEFORE\",\"description\":\"specifies whether entry-id-1 should be moved after or before entry-id-2.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1j45pqje9ww5mn12i2kdz8hnrhg\"}],\"supportSiteTargetFile\":\"p0mlhbaol0b06zn1aifzjky7m8sw.htm\"},{\"name\":\"NOBYLINE\",\"description\":\"Suppresses BY statement information.\",\"help\":\"NOBYLINE ;\",\"supportSiteTargetFile\":\"n0cucgs8qqfq5vn1mcgn7bzm4u0t.htm\"},{\"name\":\"PREVIEW\",\"description\":\"Displays the panel outlines for one or more templates using the current device. Use the TC statement to specify the template catalog before using the PREVIEW statement.\",\"help\":\"PREVIEW *template-entry(s)* | _ALL_;\",\"arguments\":[{\"name\":\"template-entry\",\"placeholder\":true,\"description\":\"identifies one or more template entries contained in the template catalog.\",\"help\":\"*template-entry(s)*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p067h1bjfn5zqzn0z3a09n1g0ocr\"},{\"name\":\"_ALL_\",\"description\":\"previews all templates in the current template catalog.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p07u75evxnfrs9n0zftioyhpdzcw\"}],\"supportSiteTargetFile\":\"p1ulhuu1xmjbetn1x37ap0mm9sic.htm\"},{\"name\":\"QUIT\",\"aliases\":[\"END\",\"STOP\"],\"description\":\"Executes any statements that have not executed and ends the procedure step.\",\"help\":\"QUIT ;\",\"supportSiteTargetFile\":\"p12r74sdylhi51n1pylzk6utuwa4.htm\"},{\"name\":\"REPLAY\",\"aliases\":[\"PLAY\"],\"description\":\"Identifies one or more entries for replay from the input catalog.\",\"help\":\"REPLAY *entry-id(s)* | _FIRST_ | _LAST_ | _ALL_;\",\"arguments\":[{\"name\":\"entry-id\",\"placeholder\":true,\"description\":\"is the number (in the order in which they were created) or name of a catalog entry or a group of entries in the input catalog.\",\"help\":\"*entry-id(s)*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0b2zt3aoono2pn110gs3rreef2b\"},{\"name\":\"_ALL_\",\"description\":\"replays all entries in the input catalog.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p12bcvnbjmcfy9n19sahec2sgeh9\"},{\"name\":\"_FIRST_\",\"description\":\"replays the first entry in the input catalog.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n039amp1g7hy0rn11u029t0v3ln1\"},{\"name\":\"_LAST_\",\"description\":\"replays the last entry in the input catalog.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1i8o14iqz22w2n1uziolodz4fs4\"}],\"supportSiteTargetFile\":\"p0zb0fr6d7elusn1y0gvpes81xkb.htm\"},{\"name\":\"TC\",\"description\":\"Specifies the template catalog for the GREPLAY procedure.\",\"help\":\"TC *template-catalog*;\",\"arguments\":[{\"name\":\"template-catalog\",\"placeholder\":true,\"description\":\"identifies the SAS catalog where templates are to be stored or identifies the name of a SAS catalog that contains templates.\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"n1vsy4ez7bhpbon1nds5lbt3kz4w\"}],\"supportSiteTargetFile\":\"n0u3xtk1h4va2bn0zsvbex383kjm.htm\"},{\"name\":\"TCOPY\",\"description\":\"Copies templates from a catalog to the template catalog, or creates a duplicate of a template within the template catalog.\",\"help\":\"TCOPY &lt;*template-catalog.*&gt;*template-entry*&lt;.TEMPLATE&gt;;\",\"arguments\":[{\"name\":\"template-catalog.template-entry.TEMPLATE\",\"description\":\"identifies the template entry to be copied.\",\"type\":\"value\",\"arguments\":[{\"name\":\"template-catalog\",\"placeholder\":true,\"description\":\"specifies the SAS catalog that contains the template to be copied.\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"n1bhejcti9f2zmn14js8qjx7ay97\"},{\"name\":\"template-entry\",\"placeholder\":true,\"description\":\"specifies the template entry name.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0vhtexvbycr00n1rxuptpw4lqq9\"},{\"name\":\"TEMPLATE\",\"description\":\"specifies the catalog entry type.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1ad8cx6ejlc57n1bmqn8g4hrntg\"}],\"supportSiteTargetFragment\":\"n0qcojv6dj0h82n1f5aglaao6kd3\"}],\"supportSiteTargetFile\":\"p0csf9wk3nge76n1xqjj1er75agz.htm\"},{\"name\":\"TDEF\",\"description\":\"Defines or modifies templates in the template catalog.\",\"help\":\"TDEF template-entry\\n\\tpanel-number< / panel-options>\\n\\n\\t<panel-number< / panel-options>>\\n\\n\\t< ...>\\n\\n\\t<DES=\\\"description\\\">\\n;\",\"arguments\":[{\"name\":\"template-entry\",\"placeholder\":true,\"description\":\"identifies an existing or new template.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1dde86yggdr5zn12c9kntepn9ul\"},{\"name\":\"DES=\",\"optional\":true,\"description\":\"specifies the template entry description.\",\"help\":\"DES=\\\"*description*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n10fqdivhukdwvn10qd9rxyl2emc\"},{\"name\":\"CLIP\",\"optional\":true,\"description\":\"specifies that any panel behind this panel should be clipped.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p153fvzlqu3qu2n1i7bw7j88wbnq\"},{\"name\":\"COLOR=\",\"optional\":true,\"description\":\"specifies the panel border color.\",\"help\":\"COLOR=*border-color*\",\"type\":\"color\",\"supportSiteTargetFragment\":\"n0pvwfrmrebyodn1slpvh23a6xap\"},{\"name\":\"COPY=\",\"optional\":true,\"description\":\"specifies the panel number definition to be copied to this panel.\",\"help\":\"COPY=*panel-number*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0gbuka3293qb9n13dsibs5x39dk\"},{\"name\":\"DEF\",\"optional\":true,\"description\":\"specifies a default panel with specific coordinates.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0h2stcheczbvan1euef1pwbzjmd\"},{\"name\":\"DELETE\",\"optional\":true,\"aliases\":[\"DEL\"],\"description\":\"deletes a panel.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0buncuf7mbzngn1t7lqtenfgv4w\"},{\"name\":\"LLX=\",\"optional\":true,\"description\":\"specifies the X coordinate of the lower left corner of the panel.\",\"help\":\"LLX=*x*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1ku11rk4tn5aqn1g5ma9thzhes1\"},{\"name\":\"LLY=\",\"optional\":true,\"description\":\"specifies the Y coordinate of the lower left corner of the panel.\",\"help\":\"LLY=*y*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p05p5ljxrr1n6cn1sjatilo7uj3n\"},{\"name\":\"LRX=\",\"optional\":true,\"description\":\"specifies the X coordinate of the lower right corner of the panel.\",\"help\":\"LRX=*x*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0wel1h0a6nmtfn1fvz84dskfnr3\"},{\"name\":\"LRY=\",\"optional\":true,\"description\":\"specifies the Y coordinate of the lower right corner of the panel.\",\"help\":\"LRY=*y*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0jclesfmur6pun111javk5vqow5\"},{\"name\":\"PANEL-NUMBER=\",\"optional\":true,\"description\":\"identifies the panel number being defined or modified.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0pprfr6gct6u0n1e42j0q8zd080\"},{\"name\":\"ROTATE=\",\"optional\":true,\"description\":\"specifies the rotation angle for the panel.\",\"help\":\"ROTATE=*degrees*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1jvbzxo8g7ijwn1gkbf15y1t0mr\"},{\"name\":\"SCALEX=\",\"optional\":true,\"description\":\"specifies the scale factor for the X coordinates in the panel.\",\"help\":\"SCALEX=*factor*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1cmnz1ia7s7adn1j0rc32kw8tc2\"},{\"name\":\"SCALEY=\",\"optional\":true,\"description\":\"specifies the scale factor for the Y coordinates in the panel.\",\"help\":\"SCALEY=*factor*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0gyrf2bc0xgebn1c42h4hjr49fz\"},{\"name\":\"ULX=\",\"optional\":true,\"description\":\"specifies the X coordinate upper left corner of the panel.\",\"help\":\"ULX=*x*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1vr8ptq9fmspwn1q7swx60rnjrr\"},{\"name\":\"ULY=\",\"optional\":true,\"description\":\"specifies the Y coordinate upper left corner of the panel.\",\"help\":\"ULY=*y*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1hyo8atpy8eadn11bkqpaxtua1f\"},{\"name\":\"URX=\",\"optional\":true,\"description\":\"specifies the X coordinate upper right corner of the panel.\",\"help\":\"URX=*x*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n06cswa9pt1xwrn1b3p7q10dfyez\"},{\"name\":\"URY=\",\"optional\":true,\"description\":\"specifies the Y coordinate upper right corner of the panel.\",\"help\":\"URY=*y*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1hvf367v0244in1i6w4lezzs263\"},{\"name\":\"XLATEX=\",\"optional\":true,\"description\":\"specifies the distance to move the X coordinates of the panel.\",\"help\":\"XLATEX=*distance*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0awfnzdwdepjwn1wo2c6dmhbp9g\"},{\"name\":\"XLATEY=\",\"optional\":true,\"description\":\"specifies the distance to move the Y coordinates of the panel.\",\"help\":\"XLATEY=*distance*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1lv1vrizpsha7n1ju9hl6t0wfsn\"}],\"supportSiteTargetFile\":\"n0bc3uogjftn4un1klp8cop4ayck.htm\"},{\"name\":\"TDELETE\",\"aliases\":[\"TDEL\"],\"description\":\"Deletes templates from the template catalog.\",\"help\":\"TDELETE *template-entry(s)* | _ALL_;\",\"arguments\":[{\"name\":\"template-entry\",\"placeholder\":true,\"description\":\"identifies a template entry to be deleted from the template entry catalog.\",\"help\":\"*template-entry(s)*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0zbqtb1yycb54n18zzpcq6j7m7g\"},{\"name\":\"_ALL_\",\"description\":\"deletes all template entries in the template entry catalog.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p02x1egnpjp5jpn1acs5gl0fprgg\"}],\"supportSiteTargetFile\":\"n0vzeclyq7lgr8n1r9flcd0x9ezw.htm\"},{\"name\":\"TEMPLATE\",\"description\":\"Assigns a template to use when replaying graphics output.\",\"help\":\"TEMPLATE *template-entry*;\",\"arguments\":[{\"name\":\"template-entry\",\"placeholder\":true,\"description\":\"identifies an existing template to use when replaying graphics output.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0akkflkozog23n1d6dnxl7hjyw4\"}],\"supportSiteTargetFile\":\"p17f1axg3uwlrtn1up9i2pvr3wy7.htm\"},{\"name\":\"TREPLAY\",\"aliases\":[\"TPLAY\"],\"description\":\"Replays graphics entries into template panels. TREPLAY copies one or more entries from the graphics input catalog into a template-entry in the graphics output catalog, using positioning information provided by the template.\",\"help\":\"TREPLAY <DES=\\\"description\\\" ><NAME=\\\"entry-name\\\">\\n\\ttemplate-panel-number : entry-id\\n\\n\\t<template-panel-number : entry-id>\\n\\t< ...>;\",\"arguments\":[{\"name\":\"template-panel-number\",\"placeholder\":true,\"description\":\"specifies the number of the panel in the template into which you want to replay the entry.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1wsi2xcpudu3kn1ex7ibv3cik3h\"},{\"name\":\"entry-id\",\"placeholder\":true,\"description\":\"specifies the name or number of the entry in the graphics input catalog that is to be added to the new entry in the graphics output catalog.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1alp2vpu4kkffn1xikqzpohh4xr\"},{\"name\":\"DES=\",\"optional\":true,\"description\":\"specifies a description of the output.\",\"help\":\"DES=\\\"*description*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0ch6e2irttolln15mcd2zihic65\"},{\"name\":\"NAME=\",\"optional\":true,\"description\":\"specifies the entry name for the template.\",\"help\":\"NAME=\\\"*entry-name*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n14287r4xp883xn1crtt0wfsz7y0\"}],\"supportSiteTargetFile\":\"n0kqjp69nqhmvrn1gnypcwp3f30g.htm\"}],\"interactive\":true,\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"p1rldvq0c4q3c8n14y5otguby0km.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/GROOVY.json",
    "content": "{\"name\":\"GROOVY\",\"statements\":[{\"name\":\"PROC GROOVY\",\"description\":\"Enables SAS code to run Groovy code on the JVM.\",\"help\":\"PROC GROOVY <CLASSPATH=string-or-fileref><SASJAR= | version= | range=>;\\n\\tADD CLASSPATH=string-or-fileref<SASJAR=<version=>range=>;\\n\\n\\tEVALUATE <(LOAD)>\\n\\t\\t\\\"Groovy statement string\\\"<argument(s)>; \\n\\n\\tEXECUTE <(LOAD)>\\n\\t\\tGroovy filename |  fileref<argument(s)>;\\n\\n\\tSUBMIT <(LOAD)><argument(s)>;\\n\\t\\tGroovy statement(s)\\n\\n\\tENDSUBMIT; \\n\\n\\tCLEAR; QUIT; \",\"arguments\":[{\"name\":\"CLASSPATH=\",\"optional\":true,\"aliases\":[\"PATH=\"],\"description\":\"specifies a quoted CLASSPATH string or a fileref to a specific JAR file that is to be added to the current classpath. This path is searched after the paths that are in the user’s CLASSPATH environment variable.\",\"help\":\"CLASSPATH=*string-or-fileref*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p07ba620ge3us8n1e1yyz12j1mh8\"},{\"name\":\"SASJAR=\",\"optional\":true,\"description\":\"specifies a quoted string that identifies a JAR in the Versioned JAR Repository (VJR) that should be added to the current classpath. The VERSION and RANGE values are optional. RANGE takes precedence over VERSION, as in the following example:\",\"help\":\"SASJAR=&lt;*version=*&gt; | &lt;*range=*&gt;\",\"type\":\"choice\",\"arguments\":[{\"name\":\"version=\",\"placeholder\":true,\"type\":\"standaloneOrValue\"},{\"name\":\"range=\",\"placeholder\":true,\"type\":\"standaloneOrValue\"}],\"supportSiteTargetFragment\":\"n1kp6ec6kgdc8fn1d8ruruv8gpgf\"}],\"supportSiteTargetFile\":\"p0pq7kp0misx44n14vvub91rzihh.htm\"},{\"name\":\"ADD\",\"description\":\"Appends the given classpath to the current CLASSPATH environment variable.\",\"help\":\"ADD CLASSPATH=*string-or-fileref*&lt;SASJAR=&lt;*version*=&gt;*range*=&gt;;\",\"arguments\":[{\"name\":\"CLASSPATH=\",\"aliases\":[\"PATH=\"],\"description\":\"specifies a quoted CLASSPATH string or a fileref to a specific JAR file that is to be added to the current classpath. This path is searched after the paths that are in the user’s CLASSPATH environment variable.\",\"help\":\"CLASSPATH=*string-or-fileref*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1qhqmqsqrfz6wn1pel7i5r42rye\"},{\"name\":\"SASJAR=\",\"description\":\"specifies a quoted string that identifies a JAR in the Versioned JAR Repository (VJR) that should be added to the current classpath. The VERSION and RANGE values are optional. RANGE takes precedence over VERSION, as in the following example:\",\"help\":\"SASJAR=&lt;*version*=&gt; | &lt;*range*=&gt;\",\"type\":\"choice\",\"arguments\":[{\"name\":\"version=\",\"placeholder\":true,\"type\":\"standaloneOrValue\"},{\"name\":\"range=\",\"placeholder\":true,\"type\":\"standaloneOrValue\"}],\"supportSiteTargetFragment\":\"p19nw3iucc6k2gn1igdi01slvpdq\"}],\"supportSiteTargetFile\":\"p1q2lznl1jx7sjn1r2jcepkgxbfo.htm\"},{\"name\":\"EVALUATE\",\"aliases\":[\"EVAL\"],\"description\":\"Parses the Groovy statement that is provided in the quoted string into a groovy.lang.Script object and calls the Run method on the Script.\",\"help\":\"EVALUATE <(LOAD)> \\n\\\"Groovy statement string\\\" <argument(s)>;\",\"arguments\":[{\"name\":\"Groovy\",\"placeholder\":true,\"description\":\"specifies a Groovy statement string that is to be parsed by the EVALUATE statement.\",\"help\":\"*Groovy statement string*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1xa3sp837vub1n1o3599xobhx2h\"},{\"name\":\"(LOAD)\",\"optional\":true,\"aliases\":[\"(PARSEONLY)\",\"(NORUN)\"],\"description\":\"parses the Groovy statement into a groovy.lang.Script object, but does not run it. The arguments are aliases for each other.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0k3nmfpj34omvn1elgqs5rlkrul\"},{\"name\":\"argument\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies arguments that are passed to the code that is being evaluated.\",\"help\":\"*argument(s)*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1j7aevzg4yhopn1okyytogs77j4\"}],\"supportSiteTargetFile\":\"p0j1h5lfdjxgj2n13mpq15ks2hjn.htm\"},{\"name\":\"EXECUTE\",\"aliases\":[\"EXEC\"],\"description\":\"Reads the contents of the file that is specified as either a quoted string path or as a fileref.\",\"help\":\"EXECUTE <(LOAD)>\\nGroovy filename |  fileref<argument(s)>;\",\"arguments\":[{\"name\":\"Groovy\",\"placeholder\":true,\"description\":\"specifies the name of the Groovy file that is to be parsed by the EXECUTE statement.\",\"help\":\"*Groovy filename*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n11fk7ah47zeean1jxtn8viv4o3v\"},{\"name\":\"fileref\",\"placeholder\":true,\"description\":\"specifies the name of a fileref that is to be parsed by the EXECUTE statement.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n102v8zznv7tt4n1xwhj9i3074q0\"},{\"name\":\"(LOAD)\",\"optional\":true,\"aliases\":[\"(PARSEONLY)\",\"(NORUN)\"],\"description\":\"parses the Groovy statement in the specified Groovy file or fileref into a groovy.lang.Script object, but does not run it. The arguments are aliases for each other.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1jrz2unj87stkn1t3dfwt9takih\"},{\"name\":\"argument\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies arguments that are passed to the code that is being executed.\",\"help\":\"*argument(s)*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p07s9c8ponupynn1kwogols1c2lt\"}],\"supportSiteTargetFile\":\"p1muaddjrudlbmn1g900k59niafi.htm\"},{\"name\":\"SUBMIT\",\"description\":\"Parses the Groovy statements that are between the SUBMIT and ENDSUBMIT commands into a groovy.lang.Script object and calls the Run method on the Script.\",\"help\":\"SUBMIT <(LOAD)><argument(s)>;\\nGroovy statement(s)ENDSUBMIT ;\",\"arguments\":[{\"name\":\"Groovy\",\"placeholder\":true,\"description\":\"specifies Groovy statements that are to be parsed by the SUBMIT statement into a groovy.lang.Script object.\",\"help\":\"*Groovy statement(s)*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p14zy17h4nzru4n16nlvfgyjnutu\"},{\"name\":\"(LOAD)\",\"optional\":true,\"aliases\":[\"(PARSEONLY)\",\"(NORUN)\"],\"description\":\"parses the Groovy statements into a groovy.lang.Script object, but does not run it. The arguments are aliases for each other.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0rvshc0lpdfcqn1hsqkyjw8cyaz\"},{\"name\":\"argument\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies arguments that are passed to the code that is being submitted.\",\"help\":\"*argument(s)*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1mo3y3vit15vtn1g426gisjswgn\"}],\"supportSiteTargetFile\":\"p0vuhso8u12phcn0z65re76ubc21.htm\"},{\"name\":\"ENDSUBMIT\",\"description\":\"Ends the Groovy statements that begin with the SUBMIT command.\",\"help\":\"ENDSUBMIT ;\",\"supportSiteTargetFile\":\"n0la0rl1adjghvn1ans0aqwdiozj.htm\"},{\"name\":\"CLEAR\",\"aliases\":[\"RESET\"],\"description\":\"Empties the binding and unloads the Groovy classloader.\",\"help\":\"CLEAR ;\",\"supportSiteTargetFile\":\"p09bj7qhv5kmy6n17kta3sdcn8bb.htm\"}],\"supportSiteInformation\":{\"docsetId\":\"proc\",\"docsetVersion\":\"v_002\",\"docsetTargetFile\":\"n12njw2j3tuptnn1bmmr0cl857d2.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/GSLIDE.json",
    "content": "{\"name\":\"GSLIDE\",\"statements\":[{\"name\":\"PROC GSLIDE\",\"description\":\"Creates a text slide. Can also provide a border, specify annotation, and assign an output catalog. This is the only statement in the procedure.\",\"help\":\"PROC GSLIDE <options>;\\n\\tNOTE <text-arguments(s)>;\\n\\n\\tQUIT ;\\n\",\"arguments\":[{\"name\":\"ANNOTATE=\",\"optional\":true,\"aliases\":[\"ANNO=<i>Annotate-data-set</i>\"],\"description\":\"specifies a data set that includes Annotate variables that identify graphics commands and parameters.\",\"help\":\"ANNOTATE=*Annotate-data-set*\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"p0ncmmd2me9vcdn17rv4l1c44zfw\"},{\"name\":\"BORDER\",\"optional\":true,\"description\":\"draws a border around the graphics output area, which includes the title area, the footnote area, and the procedure output area.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1pwlq3kuxf2m0n1tznoccj9re2o\"},{\"name\":\"CFRAME=\",\"optional\":true,\"aliases\":[\"CF=\"],\"description\":\"draws a frame around the procedure output area in the specified color.\",\"help\":\"CFRAME=*frame-color*\",\"type\":\"color\",\"supportSiteTargetFragment\":\"p0k3hsu6nlsqzan1grtx86um5sbj\"},{\"name\":\"DESCRIPTION=\",\"optional\":true,\"aliases\":[\"DES=\"],\"description\":\"specifies a description of the output.\",\"help\":\"DESCRIPTION='*description*' \",\"type\":\"value\",\"supportSiteTargetFragment\":\"n01iyvgjmi76ghn1wws7mnfw0e68\"},{\"name\":\"FRAME\",\"optional\":true,\"description\":\"draws a frame around the procedure output area.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0i2lrtt8e1tr8n12topbij0ob0h\"},{\"name\":\"GOUT=\",\"optional\":true,\"description\":\"specifies the SAS catalog in which to save the graphics output produced by the GSLIDE procedure.\",\"help\":\"GOUT=&lt;*libref*.&gt;*output-catalog*\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"p00v0h4uqb40q1n1ky9mhw0ifbd3\"},{\"name\":\"IFRAME=\",\"optional\":true,\"aliases\":[\"IF=\"],\"description\":\"specifies the image file that you want to apply to the procedure output area.\",\"help\":\"IFRAME=*fileref* | '*external-file*'\",\"type\":\"choice\",\"arguments\":[{\"name\":\"fileref\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"'external-file'\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"n07m3yjjcwcl6on1lsvrnn7xpgvx\"},{\"name\":\"IMAGEMAP=\",\"optional\":true,\"description\":\"creates a temporary SAS data set that is used to generate an image map.\",\"help\":\"IMAGEMAP= *output-data-set*\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"n1v0yye221a3ebn1j6h3gi7bk8j9\"},{\"name\":\"IMAGESTYLE=\",\"optional\":true,\"description\":\"specifies whether to tile the image specified with the IFRAME= option to fill the backplane or to stretch the image to fit the backplane.\",\"help\":\"IMAGESTYLE=TILE | FIT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"TILE\",\"type\":\"standalone\"},{\"name\":\"FIT\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"n0v1476qj24grln1pdhq4jqak1qf\"},{\"name\":\"LFRAME=\",\"optional\":true,\"aliases\":[\"LF=\"],\"description\":\"specifies the line type for a frame and draws a frame around the procedure output area.\",\"help\":\"LFRAME=*line-type*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p127z2j7kpj1u0n12q0p7wcax01c\"},{\"name\":\"NAME=\",\"optional\":true,\"description\":\"specifies the name of the GRSEG catalog entry and the name of the graphics output file, if one is created.\",\"help\":\"NAME=\\\"*name*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1t2bff0t910htn1ho4s0q1jnh45\"},{\"name\":\"WFRAME=\",\"optional\":true,\"aliases\":[\"WF=\"],\"description\":\"specifies the width of the frame where n is a number.\",\"help\":\"WFRAME=*n*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0ua248hzcyp0in1rjqg9lilusb8\"}],\"supportSiteTargetFile\":\"p0kr9k2lndrguyn1m3hiyvzu9q5k.htm\"},{\"name\":\"NOTE\",\"description\":\"Control the content, appearance, and placement of text.\",\"help\":\"NOTE &lt;*text-options*&gt;&lt;‘*text-string*’&gt;;\",\"arguments\":[{\"name\":\"ALT=\",\"description\":\"specifies descriptive text for a URL to which a note links, or the note itself.\",\"help\":\"ALT=\\\"*text-string*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1ss7qwa0a8ym6n10yt0pvlswkhlf\"},{\"name\":\"ANGLE=\",\"aliases\":[\"A=\"],\"description\":\"specifies the angle of the baseline of the entire text string with respect to the horizontal.\",\"help\":\"ANGLE=*degrees*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0agfl3v4cz076n1vq0sm0kpc7u9f\"},{\"name\":\"BCOLOR=\",\"aliases\":[\"BC=\"],\"description\":\"specifies the background color of a box produced by the BOX= option.\",\"help\":\"BCOLOR=*background-color*\",\"type\":\"color\",\"supportSiteTargetFragment\":\"n0p6kae6bogf6ln1qfi5lumfuqslf\"},{\"name\":\"BLANK=\",\"aliases\":[\"BL=\"],\"description\":\"protects the box and its contents from being overwritten by any subsequent graphics elements.\",\"help\":\"BLANK=YES\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1k1qe16mrandmn1p5d6zmfzbpp3f\"},{\"name\":\"BOX=\",\"aliases\":[\"BO=\"],\"description\":\"draws a box around one line of text.\",\"help\":\"BOX=*1* - *4*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1gsgi19gb631mn1u3ohvku3h9frf\"},{\"name\":\"BSPACE=\",\"aliases\":[\"BS=\"],\"description\":\"specifies the amount of space between the boxed text and the box.\",\"help\":\"BSPACE=*box-space*&lt;*units*&gt;\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1bsvoi1ejzgldn13u0ctqhoumr7f\"},{\"name\":\"COLOR=\",\"aliases\":[\"C=\"],\"description\":\"specifies the color for the following text, box, or line.\",\"help\":\"COLOR=*color*\",\"type\":\"color\",\"supportSiteTargetFragment\":\"p0sbrdi8whe59cn1trrly9i486a2f\"},{\"name\":\"DRAW=\",\"aliases\":[\"D=\"],\"description\":\"draws lines anywhere on the graphics output area.\",\"help\":\"DRAW=(*x,y* - ,*x-n,y-n*)&lt;*units*&gt;\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1ek60b1m99g1en1p2vat39gnk0uf\"},{\"name\":\"FONT=\",\"aliases\":[\"F=\"],\"description\":\"specifies the font for the subsequent text.\",\"help\":\"FONT=*font*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n14ghk49hvnj9bn1dggqdp9185h0f\"},{\"name\":\"HEIGHT=\",\"aliases\":[\"H=\"],\"description\":\"specifies the height of text characters in number of units.\",\"help\":\"HEIGHT=*text-height*&lt;*units*&gt;\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1nstxzbtib4yon17b1z48u1xc43f\"},{\"name\":\"JUSTIFY=\",\"description\":\"specifies the alignment of the text string.\",\"help\":\"JUSTIFY=LEFT | CENTER | RIGHT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"LEFT\",\"aliases\":[\"L\"],\"description\":\"aligns the text to the left.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1bd3ccior85vpn1j8yydbva53ohf\"},{\"name\":\"CENTER\",\"aliases\":[\"C\"],\"description\":\"aligns the text in the center.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1xzocqktoshbhn0zj41vgrrpcf0f\"},{\"name\":\"RIGHT\",\"aliases\":[\"R\"],\"description\":\"aligns the text to the right.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0d72p8dhm0aken19ezwvnuh89hjf\"}],\"supportSiteTargetFragment\":\"p0ic105d0qi1len198gj233aunvxf\"},{\"name\":\"LANGLE=\",\"aliases\":[\"LA=\"],\"description\":\"specifies the angle of the entire text-string(s).\",\"help\":\"LANGLE=*degrees*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p17asd7cxorhh0n13ock77km9umwf\"},{\"name\":\"LINK=\",\"description\":\"specifies a uniform resource locator (URL) to which a note links.\",\"help\":\"LINK=\\\"*URL*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1g7nbregrkazwn13yab35dwunkff\"},{\"name\":\"LSPACE=\",\"aliases\":[\"LS=\"],\"description\":\"specifies the amount of spacing above and below lines of text.\",\"help\":\"LSPACE=*line-space* &lt;*units*&gt;\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1rvmh79wukiwin10y0uxgndzm0kf\"},{\"name\":\"MOVE=\",\"aliases\":[\"M=\"],\"description\":\"positions a text string.\",\"help\":\"MOVE=(*x*,*y*) &lt;*units*&gt;\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1b4ii0h0nvyl9n1n3f3rq4bcmd7f\"},{\"name\":\"ROTATE=\",\"aliases\":[\"R=\"],\"description\":\"specifies the angle at which each character of text is rotated.\",\"help\":\"ROTATE=*degrees*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0eixp1t2i8jh7n18f5h9abmkbd9f\"},{\"name\":\"UNDERLIN=\",\"aliases\":[\"U=\",\"UNDERLINE=\"],\"description\":\"underlines subsequent text.\",\"help\":\"UNDERLIN=*0* - *3*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0odrift6g8tevn1wlkt3yirab29f\"},{\"name\":\"WRAP\",\"description\":\"wraps the text to a second line if the text does not fit on one line.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0f424vsafu2k4n1uvv5px2ea0vnf\"},{\"name\":\"#BYLINE\",\"description\":\"substitutes the entire BY line without leading or trailing blanks for #BYLINE in the text string. It also displays the BY line in the note produced by the statement.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n17mfc3jo9ghz4n1g0w1pyzjaba6f\"},{\"name\":\"#BYVAL\",\"description\":\"substitutes the current value of the specified BY variable for #BYVAL in the text string and displays the value produced by the statement. Specify the variable with one of these values:\",\"help\":\"  #BYVAL*n* <br/> #BYVAL(*variable-name*)\",\"type\":\"value\",\"arguments\":[{\"name\":\"n\",\"placeholder\":true,\"description\":\"specifies which variable in the BY statement #BYVAL should use. The value of n indicates the position of the variable in the BY statement.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p152link16gmrxn17tbgrpvy6snbi\"},{\"name\":\"variable-name\",\"placeholder\":true,\"description\":\"names the BY variable.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0aywj8k42frwsn1d1075rkks2zji\"}],\"supportSiteTargetFragment\":\"p0g93myce7dkd2n1oub0dnqw6de0i\"},{\"name\":\"#BYVAR\",\"description\":\"substitutes the name of the BY variable or label associated with the variable (whatever the BY line would normally display) for #BYVAR in the text string and displays the name or label produced by the statement. Specify the variable with one of these:\",\"help\":\"  #BYVAR*n* <br/> #BYVAR(*BY-variable-name*)\",\"type\":\"value\",\"arguments\":[{\"name\":\"n\",\"placeholder\":true,\"description\":\"specifies which variable in the BY statement #BYVAR should use. The value of n indicates the position of the variable in the BY statement. For example, #BYVAR2 specifies the second variable in the BY statement.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0edwk5zij4p1dn1dx8j7ljlp2g0i\"},{\"name\":\"BY-variable-name\",\"placeholder\":true,\"description\":\"names the BY variable. For example, #BYVAR(SITES) specifies the BY variable, SITES. Variable-name is not case sensitive.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0h7djvvxju8lqn1oopd9m2939nui\"}],\"supportSiteTargetFragment\":\"n0lq1vfuz9uxsen12rp88i6fk1pji\"}],\"supportSiteTargetFile\":\"n06de0d5lj12inn14glgif2c8ovaf.htm\"},{\"name\":\"QUIT\",\"description\":\"Executes any statements that have not executed and ends the procedure step.\",\"help\":\"QUIT ;\",\"supportSiteTargetFile\":\"p0rv4g0o6aq6oxn1t95eicz4xfrtf.htm\"}],\"interactive\":true,\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"p1jfb7iqnto3fun1a5evbjbj61qy.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/GTILE.json",
    "content": "{\"name\":\"GTILE\",\"statements\":[{\"name\":\"PROC GTILE\",\"description\":\"Identifies the data set containing the chart variables.\",\"help\":\"PROC GTILE < DATA=input-data-set>;\\n\\tFLOW  size-variable TILEBY=(levels-variable | levels-variable-list)</options >;\\n\\n\\tTILE  size-variable TILEBY=(levels-variable | levels-variable-list)</options >;\\n\\n\\tTOGGLE  size-variable TILEBY=(levels-variable | levels-variable-list)</options >;\\n\\n\\tATTRIB  variable-list(s) attribute-list(s);\\n\\n\\tBY <DESCENDING>variable-1\\n\\t\\t< ... <DESCENDING> variable-n>\\n\\t\\t<NOTSORTED>;\\n\\n\\tFORMAT variable-1< ...variable-n><format-1><variable-1< ...variable-n><format-2>> ...<DEFAULT=default-format>;\\n\\n\\tLABEL variable-1=label-1 | ' '<variable-n=label-n | ' '> ...;\\n\\n\\tNOTE <text-arguments(s)>;\\n\\n\\tQUIT ;\\n\\n\\tWHERE where-expression;\\n\",\"arguments\":[{\"name\":\"DATA=\",\"optional\":true,\"description\":\"specifies the SAS data set that contains the variables to chart.\",\"help\":\"DATA=*input-data-set*\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"p0fpg4srm1gncbn1st8yaxxz4ktx\"}],\"supportSiteTargetFile\":\"p03yt7egmjxdu6n1mqitkfva5zf5.htm\"},{\"name\":\"FLOW\",\"description\":\"Create a tile chart that honors data order and can be read from left to right.\",\"help\":\"FLOW *size-variable*TILEBY=(*levels-variable* | *levels-variable-list*)&lt;/*options*&gt;;\",\"arguments\":[{\"name\":\"size-variable\",\"placeholder\":true,\"description\":\"specifies a numeric variable from the input data set.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p15t4esl53w3ekn1t2lvyit2q3w0\"},{\"name\":\"TILEBY=\",\"description\":\"specifies the variable, or a list of variables, that define the tile-segments and the chart levels.\",\"help\":\"TILEBY=(*levels-variable* | *levels-variable-list*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"levels-variable\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"levels-variable-list\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p04msoivvewkftn1kyhmh8s0lib2\"},{\"name\":\"BASELINE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the midpoint value for the tiles.\",\"help\":\"BASELINE=*midpoint*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0ow3t4ynnemydn14k5xmez6pcsz\"},{\"name\":\"CDEFAULT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"CDEF=\"],\"description\":\"specifies the color to be assigned to tiles when the COLORVAR= value is missing.\",\"help\":\"CDEFAULT=*missing-value-color*\",\"type\":\"color\",\"supportSiteTargetFragment\":\"n1rcoo90lmqyfun1qdsgnyxuqth9\"},{\"name\":\"COLORPOINTS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies where the colors need to transition on the color ramp with respect to the normalized values of the color variable.\",\"help\":\"COLORPOINTS=(point-1\\n            point-2\\n             ...\\n            point-n)\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1x4i701eouannn1mjkxydn3hv6j\"},{\"name\":\"COLORRAMP=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"RAMP=\"],\"description\":\"specifies the colors to be distributed continuously across the range of data values.\",\"help\":\"COLORRAMP=(*color-ramp                 color-list*)\",\"type\":\"color\",\"supportSiteTargetFragment\":\"n0v6jqsl1xs2ren1v28x42vzn15n\"},{\"name\":\"COLORTYPE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies whether a color ramp or discrete colors are used to color the tiles.\",\"help\":\"COLORTYPE=CONTINUOUS | DISCRETE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"CONTINUOUS\",\"type\":\"standalone\"},{\"name\":\"DISCRETE\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"n1rymyu4jz12n2n1djt8mxuaai9q\"},{\"name\":\"COLORVAR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a variable whose values determine the color of the tiles.\",\"help\":\"COLORVAR=*color-variable*\",\"type\":\"color\",\"supportSiteTargetFragment\":\"n1c5vafos916w5n17lb4w7nhksl6\"},{\"name\":\"DESCRIPTION=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"DES=\"],\"description\":\"specifies a description of the output.\",\"help\":\"DESCRIPTION=\\\"*description*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0lqvbwkgxahs4n1qvx72v5yfn94\"},{\"name\":\"DETAILLEVEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"DLEVEL=\"],\"description\":\"specifies the number of levels to display.\",\"help\":\"DETAILLEVEL=*1-to-the-number-of-variables-specified-by-TILEBY=*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1bo67iubtrkgsn14af59j64eya2\"},{\"name\":\"LABELLEVEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"LLEVEL=\"],\"description\":\"specifies the number that corresponds to the level of labels to display.\",\"help\":\"LABELLEVEL=*1-to-the-number-of-levels-variables-specified-by-TILEBY=*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n08ltnuivvhwtvn18bwygeiqo2rh\"},{\"name\":\"MAXLEGENDVALUE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the maximum endpoint value of a continuous legend range.\",\"help\":\"MAXLEGENDVALUE=*max-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n14nt61yfyad98n152qygj3a7x3h\"},{\"name\":\"MINLEGENDVALUE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the minimum endpoint value of a continuous legend range.\",\"help\":\"MINLEGENDVALUE=*min-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0si7m8c2a7jlan1uwbf8o6dp4b7\"},{\"name\":\"NAME=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the name of any graphics output file created.\",\"help\":\"NAME=\\\"*name*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1sh4q4fta6vbzn1mhvzkuq5o17v\"},{\"name\":\"NOLEGEND\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses the legend that is automatically generated.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1f6rn4sl79zapn143hwkk82ybwg\"}],\"supportSiteTargetFile\":\"p0r1kmhh3wus9vn1r5ncui62xiyg.htm\"},{\"name\":\"TILE\",\"description\":\"Create a tile chart that orders data by value, descending from bottom left to top right.\",\"help\":\"TILE  *size-variable*TILEBY=(*levels-variable* | *levels-variable-list*)&lt;/*options*&gt;;\",\"arguments\":[{\"name\":\"size-variable\",\"placeholder\":true,\"description\":\"specifies a numeric variable from the input data set.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1nws1zoscx2g9n1ihpt9hktf77z\"},{\"name\":\"TILEBY=\",\"description\":\"specifies the variable, or a list of variables, that define the tile-segments and the chart levels.\",\"help\":\"TILEBY=(*levels-variable* | *levels-variable-list*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"levels-variable\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"levels-variable-list\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"n0iqx1cidj8uvxn12l23yi9zn91g\"},{\"name\":\"BASELINE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the midpoint value for the tiles.\",\"help\":\"BASELINE=*midpoint*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0ow3t4ynnemydn14k5xmez6pcsza\"},{\"name\":\"CDEFAULT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"CDEF=\"],\"description\":\"specifies the color to be assigned to tiles when the COLORVAR= value is missing.\",\"help\":\"CDEFAULT=*missing-value-color*\",\"type\":\"color\",\"supportSiteTargetFragment\":\"n1rcoo90lmqyfun1qdsgnyxuqth9a\"},{\"name\":\"COLORPOINTS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies where the colors need to transition on the color ramp with respect to the normalized values of the color variable.\",\"help\":\"COLORPOINTS=(point-1\\n            point-2\\n             ...\\n            point-n)\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1x4i701eouannn1mjkxydn3hv6ja\"},{\"name\":\"COLORRAMP=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"RAMP=\"],\"description\":\"specifies the colors to be distributed continuously across the range of data values.\",\"help\":\"COLORRAMP=(*color-ramp                 color-list*)\",\"type\":\"color\",\"supportSiteTargetFragment\":\"n0v6jqsl1xs2ren1v28x42vzn15na\"},{\"name\":\"COLORTYPE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies whether a color ramp or discrete colors are used to color the tiles.\",\"help\":\"COLORTYPE=CONTINUOUS | DISCRETE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"CONTINUOUS\",\"type\":\"standalone\"},{\"name\":\"DISCRETE\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"n1rymyu4jz12n2n1djt8mxuaai9qa\"},{\"name\":\"COLORVAR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a variable whose values determine the color of the tiles.\",\"help\":\"COLORVAR=*color-variable*\",\"type\":\"color\",\"supportSiteTargetFragment\":\"n1c5vafos916w5n17lb4w7nhksl6a\"},{\"name\":\"DESCRIPTION=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"DES=\"],\"description\":\"specifies a description of the output.\",\"help\":\"DESCRIPTION=\\\"*description*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0lqvbwkgxahs4n1qvx72v5yfn94a\"},{\"name\":\"DETAILLEVEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"DLEVEL=\"],\"description\":\"specifies the number of levels to display.\",\"help\":\"DETAILLEVEL=*1-to-the-number-of-variables-specified-by-TILEBY=*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1bo67iubtrkgsn14af59j64eya2a\"},{\"name\":\"LABELLEVEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"LLEVEL=\"],\"description\":\"specifies the number that corresponds to the level of labels to display.\",\"help\":\"LABELLEVEL=*1-to-the-number-of-levels-variables-specified-by-TILEBY=*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n08ltnuivvhwtvn18bwygeiqo2rha\"},{\"name\":\"MAXLEGENDVALUE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the maximum endpoint value of a continuous legend range.\",\"help\":\"MAXLEGENDVALUE=*max-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n14nt61yfyad98n152qygj3a7x3ha\"},{\"name\":\"MINLEGENDVALUE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the minimum endpoint value of a continuous legend range.\",\"help\":\"MINLEGENDVALUE=*min-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0si7m8c2a7jlan1uwbf8o6dp4b7a\"},{\"name\":\"NAME=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the name of any graphics output file created.\",\"help\":\"NAME=\\\"*name*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1sh4q4fta6vbzn1mhvzkuq5o17va\"},{\"name\":\"NOLEGEND\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses the legend that is automatically generated.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1f6rn4sl79zapn143hwkk82ybwga\"}],\"supportSiteTargetFile\":\"p0wzp0fkapo1w2n1q488pk4b1p9s.htm\"},{\"name\":\"TOGGLE\",\"description\":\"Create a tile chart that honors data order, can be read from left to right, and toggles from one row to one column when changing levels.\",\"help\":\"TOGGLE *size-variable*TILEBY=(*levels-variable* | *levels-variable-list*)&lt;/*options*&gt;;\",\"arguments\":[{\"name\":\"size-variable\",\"placeholder\":true,\"description\":\"specifies a numeric variable from the input data set.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0azmo381yb9v6n12wze3wea5k1u\"},{\"name\":\"TILEBY=\",\"description\":\"specifies the variable, or a list of variables, that define the tile-segments and the chart levels.\",\"help\":\"TILEBY=(*levels-variable* | *levels-variable-list*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"levels-variable\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"levels-variable-list\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p06ba5g07q3ei6n1n47bivdu76py\"},{\"name\":\"BASELINE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the midpoint value for the tiles.\",\"help\":\"BASELINE=*midpoint*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0ow3t4ynnemydn14k5xmez6pcszb\"},{\"name\":\"CDEFAULT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"CDEF=\"],\"description\":\"specifies the color to be assigned to tiles when the COLORVAR= value is missing.\",\"help\":\"CDEFAULT=*missing-value-color*\",\"type\":\"color\",\"supportSiteTargetFragment\":\"n1rcoo90lmqyfun1qdsgnyxuqth9b\"},{\"name\":\"COLORPOINTS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies where the colors need to transition on the color ramp with respect to the normalized values of the color variable.\",\"help\":\"COLORPOINTS=(point-1\\n            point-2\\n             ...\\n            point-n)\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1x4i701eouannn1mjkxydn3hv6jb\"},{\"name\":\"COLORRAMP=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"RAMP=\"],\"description\":\"specifies the colors to be distributed continuously across the range of data values.\",\"help\":\"COLORRAMP=(*color-ramp                 color-list*)\",\"type\":\"color\",\"supportSiteTargetFragment\":\"n0v6jqsl1xs2ren1v28x42vzn15nb\"},{\"name\":\"COLORTYPE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies whether a color ramp or discrete colors are used to color the tiles.\",\"help\":\"COLORTYPE=CONTINUOUS | DISCRETE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"CONTINUOUS\",\"type\":\"standalone\"},{\"name\":\"DISCRETE\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"n1rymyu4jz12n2n1djt8mxuaai9qb\"},{\"name\":\"COLORVAR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a variable whose values determine the color of the tiles.\",\"help\":\"COLORVAR=*color-variable*\",\"type\":\"color\",\"supportSiteTargetFragment\":\"n1c5vafos916w5n17lb4w7nhksl6b\"},{\"name\":\"DESCRIPTION=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"DES=\"],\"description\":\"specifies a description of the output.\",\"help\":\"DESCRIPTION=\\\"*description*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0lqvbwkgxahs4n1qvx72v5yfn94b\"},{\"name\":\"DETAILLEVEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"DLEVEL=\"],\"description\":\"specifies the number of levels to display.\",\"help\":\"DETAILLEVEL=*1-to-the-number-of-variables-specified-by-TILEBY=*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1bo67iubtrkgsn14af59j64eya2b\"},{\"name\":\"LABELLEVEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"LLEVEL=\"],\"description\":\"specifies the number that corresponds to the level of labels to display.\",\"help\":\"LABELLEVEL=*1-to-the-number-of-levels-variables-specified-by-TILEBY=*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n08ltnuivvhwtvn18bwygeiqo2rhb\"},{\"name\":\"MAXLEGENDVALUE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the maximum endpoint value of a continuous legend range.\",\"help\":\"MAXLEGENDVALUE=*max-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n14nt61yfyad98n152qygj3a7x3hb\"},{\"name\":\"MINLEGENDVALUE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the minimum endpoint value of a continuous legend range.\",\"help\":\"MINLEGENDVALUE=*min-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0si7m8c2a7jlan1uwbf8o6dp4b7b\"},{\"name\":\"NAME=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the name of any graphics output file created.\",\"help\":\"NAME=\\\"*name*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1sh4q4fta6vbzn1mhvzkuq5o17vb\"},{\"name\":\"NOLEGEND\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses the legend that is automatically generated.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1f6rn4sl79zapn143hwkk82ybwgb\"}],\"supportSiteTargetFile\":\"p0er0qw5dlhge7n1vmg2amf77quc.htm\"},{\"name\":\"ATTRIB\",\"description\":\"Associates a format, informat, label, and length with one or more variables.\",\"help\":\"ATTRIB  *variable-list(s)**attribute-list(s)*;\",\"arguments\":[{\"name\":\"variable-list\",\"optional\":true,\"placeholder\":true,\"description\":\"names the variables that you want to associate with the attributes.\",\"help\":\"*variable-list(s)*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1nd0mq22iu6ovn14mz1ot1hwcjie\"},{\"name\":\"FORMAT=\",\"description\":\"associates a format with variables in variable-list.\",\"help\":\"FORMAT=*format*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p08pt9ce6bhq86n18a3zcc97bldze\"},{\"name\":\"INFORMAT=\",\"description\":\"associates an informat with variables in variable-list.\",\"help\":\"INFORMAT=*informat*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n136glco6ritqdn160792yhk9mv1e\"},{\"name\":\"LABEL=\",\"description\":\"associates a label with variables in variable-list.\",\"help\":\"LABEL='*label*' \",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0a9x9io5pi05mn1i4p2cphc7t0ne\"}],\"supportSiteTargetFile\":\"n09bxytcjmyp75n1mc29q45qhpmse.htm\"},{\"name\":\"BY\",\"description\":\"Orders the output according to the BY groups.\",\"help\":\"BY <DESCENDING>variable-1\\n\\t<-<DESCENDING> variable-n>\\n\\t<NOTSORTED>;\",\"arguments\":[{\"name\":\"variable\",\"placeholder\":true,\"description\":\"specifies the variable that the procedure uses to form BY groups. You can specify more than one variable. If you do not use the NOTSORTED option in the BY statement, then either the observations in the data set must be sorted by all the variables that you specify, or they must be indexed appropriately. Variables in a BY statement are called BY variables.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0e9kbav2i9chhn1xectebpz4s14e\"},{\"name\":\"DESCENDING\",\"optional\":true,\"description\":\"specifies that the observations are sorted in descending order by the variable that immediately follows the word DESCENDING in the BY statement.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1au0lhf4hi1h2n1le3cx2tp74l5e\"},{\"name\":\"NOTSORTED\",\"optional\":true,\"description\":\"specifies that observations are not necessarily sorted in alphabetic or numeric order. The observations are grouped in another way (for example, chronological order).\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p068zvjhrpn2awn1bygis4m6hppae\"}],\"supportSiteTargetFile\":\"p1tkzb6q5jl1omn1payndkh1g3nwe.htm\"},{\"name\":\"FORMAT\",\"description\":\"Associates formats with variables.\",\"help\":\"FORMAT *variable-1*&lt;-*variable-n*&gt;&lt;*format-1*&gt;&lt;*variable-1*&lt;-*variable-n*&gt;&lt;*format-2*&gt;&gt; - &lt;DEFAULT=*default-format*&gt;;\",\"arguments\":[{\"name\":\"variable\",\"placeholder\":true,\"description\":\"names one or more variables for SAS to associate with a format. You must specify at least one variable.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1d0cionbspk2tn1ma0m6kjd1ntxe\"},{\"name\":\"format\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the format that is listed for writing the values of the variables.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0oulvct798v2wn1lll17t854rg8e\"},{\"name\":\"DEFAULT=\",\"optional\":true,\"description\":\"specifies a temporary default format for displaying the values of variables that are not listed in the FORMAT statement. These default formats apply only to the current DATA step; they are not permanently associated with variables in the output data set.\",\"help\":\"DEFAULT=*default-format*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0k0jb3arokdz9n1g3q3zizh81g4e\"}],\"supportSiteTargetFile\":\"n1x0d6bnw9wtyun1rhq5p7tis5gse.htm\"},{\"name\":\"LABEL\",\"description\":\"Assigns descriptive labels to variables.\",\"help\":\"Form 1: Creates a descriptive label for one or more variables.\\nLABEL variable-1=’text-string’ < ...variable-n=’text-string>; \\nForm 2: Removes the label from one or more variables.\\nLABEL variable-1 = ' ' < ...variable-n=’ ‘>; | variable-1 = < ...variable-n= >\",\"arguments\":[{\"name\":\"text-string\",\"placeholder\":true,\"description\":\"specifies a label of up to 256 bytes.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n09u0k5ydxzgr3n1dfznhvex7uuoe\"},{\"name\":\"'\",\"placeholder\":true,\"description\":\"removes a label from a variable. Enclose a single blank space in quotation marks to remove an existing label. You can remove labels from multiple variables in a single LABEL statement:\",\"help\":\"*' '*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1dl99omzes92cn1typpf6yl1ng0e\"}],\"supportSiteTargetFile\":\"n0b8jun5pu2j52n1duycwzzhrtmwe.htm\"},{\"name\":\"NOTE\",\"description\":\"Control the content, appearance, and placement of text.\",\"help\":\"NOTE &lt;*text-options*&gt;&lt;‘*text-string*’&gt;;\",\"arguments\":[{\"name\":\"ALT=\",\"description\":\"specifies descriptive text for a URL to which a note links, or the note itself.\",\"help\":\"ALT=\\\"*text-string*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1ss7qwa0a8ym6n10yt0pvlswkhlg\"},{\"name\":\"ANGLE=\",\"aliases\":[\"A=\"],\"description\":\"specifies the angle of the baseline of the entire text string with respect to the horizontal.\",\"help\":\"ANGLE=*degrees*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0agfl3v4cz076n1vq0sm0kpc7u9g\"},{\"name\":\"BCOLOR=\",\"aliases\":[\"BC=\"],\"description\":\"specifies the background color of a box produced by the BOX= option.\",\"help\":\"BCOLOR=*background-color*\",\"type\":\"color\",\"supportSiteTargetFragment\":\"n0p6kae6bogf6ln1qfi5lumfuqslg\"},{\"name\":\"BLANK=\",\"aliases\":[\"BL=\"],\"description\":\"protects the box and its contents from being overwritten by any subsequent graphics elements.\",\"help\":\"BLANK=YES\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1k1qe16mrandmn1p5d6zmfzbpp3g\"},{\"name\":\"BOX=\",\"aliases\":[\"BO=\"],\"description\":\"draws a box around one line of text.\",\"help\":\"BOX=*1* - *4*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1gsgi19gb631mn1u3ohvku3h9frg\"},{\"name\":\"BSPACE=\",\"aliases\":[\"BS=\"],\"description\":\"specifies the amount of space between the boxed text and the box.\",\"help\":\"BSPACE=*box-space*&lt;*units*&gt;\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1bsvoi1ejzgldn13u0ctqhoumr7g\"},{\"name\":\"COLOR=\",\"aliases\":[\"C=\"],\"description\":\"specifies the color for the following text, box, or line.\",\"help\":\"COLOR=*color*\",\"type\":\"color\",\"supportSiteTargetFragment\":\"p0sbrdi8whe59cn1trrly9i486a2g\"},{\"name\":\"DRAW=\",\"aliases\":[\"D=\"],\"description\":\"draws lines anywhere on the graphics output area.\",\"help\":\"DRAW=(*x,y* - ,*x-n,y-n*)&lt;*units*&gt;\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1ek60b1m99g1en1p2vat39gnk0ug\"},{\"name\":\"FONT=\",\"aliases\":[\"F=\"],\"description\":\"specifies the font for the subsequent text.\",\"help\":\"FONT=*font*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n14ghk49hvnj9bn1dggqdp9185h0g\"},{\"name\":\"HEIGHT=\",\"aliases\":[\"H=\"],\"description\":\"specifies the height of text characters in number of units.\",\"help\":\"HEIGHT=*text-height*&lt;*units*&gt;\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1nstxzbtib4yon17b1z48u1xc43g\"},{\"name\":\"JUSTIFY=\",\"description\":\"specifies the alignment of the text string.\",\"help\":\"JUSTIFY=LEFT | CENTER | RIGHT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"LEFT\",\"aliases\":[\"L\"],\"description\":\"aligns the text to the left.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1bd3ccior85vpn1j8yydbva53ohg\"},{\"name\":\"CENTER\",\"aliases\":[\"C\"],\"description\":\"aligns the text in the center.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1xzocqktoshbhn0zj41vgrrpcf0g\"},{\"name\":\"RIGHT\",\"aliases\":[\"R\"],\"description\":\"aligns the text to the right.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0d72p8dhm0aken19ezwvnuh89hjg\"}],\"supportSiteTargetFragment\":\"p0ic105d0qi1len198gj233aunvxg\"},{\"name\":\"LANGLE=\",\"aliases\":[\"LA=\"],\"description\":\"specifies the angle of the entire text-string(s).\",\"help\":\"LANGLE=*degrees*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p17asd7cxorhh0n13ock77km9umwg\"},{\"name\":\"LINK=\",\"description\":\"specifies a uniform resource locator (URL) to which a note links.\",\"help\":\"LINK=\\\"*URL*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1g7nbregrkazwn13yab35dwunkfg\"},{\"name\":\"LSPACE=\",\"aliases\":[\"LS=\"],\"description\":\"specifies the amount of spacing above and below lines of text.\",\"help\":\"LSPACE=*line-space* &lt;*units*&gt;\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1rvmh79wukiwin10y0uxgndzm0kg\"},{\"name\":\"MOVE=\",\"aliases\":[\"M=\"],\"description\":\"positions a text string.\",\"help\":\"MOVE=(*x*,*y*) &lt;*units*&gt;\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1b4ii0h0nvyl9n1n3f3rq4bcmd7g\"},{\"name\":\"ROTATE=\",\"aliases\":[\"R=\"],\"description\":\"specifies the angle at which each character of text is rotated.\",\"help\":\"ROTATE=*degrees*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0eixp1t2i8jh7n18f5h9abmkbd9g\"},{\"name\":\"UNDERLIN=\",\"aliases\":[\"U=\",\"UNDERLINE=\"],\"description\":\"underlines subsequent text.\",\"help\":\"UNDERLIN=*0* - *3*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0odrift6g8tevn1wlkt3yirab29g\"},{\"name\":\"WRAP\",\"description\":\"wraps the text to a second line if the text does not fit on one line.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0f424vsafu2k4n1uvv5px2ea0vng\"},{\"name\":\"#BYLINE\",\"description\":\"substitutes the entire BY line without leading or trailing blanks for #BYLINE in the text string. It also displays the BY line in the note produced by the statement.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n17mfc3jo9ghz4n1g0w1pyzjaba6g\"},{\"name\":\"#BYVAL\",\"description\":\"substitutes the current value of the specified BY variable for #BYVAL in the text string and displays the value produced by the statement. Specify the variable with one of these values:\",\"help\":\"  #BYVAL*n* <br/> #BYVAL(*variable-name*)\",\"type\":\"value\",\"arguments\":[{\"name\":\"n\",\"placeholder\":true,\"description\":\"specifies which variable in the BY statement #BYVAL should use. The value of n indicates the position of the variable in the BY statement.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p152link16gmrxn17tbgrpvy6snbj\"},{\"name\":\"variable-name\",\"placeholder\":true,\"description\":\"names the BY variable.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0aywj8k42frwsn1d1075rkks2zjj\"}],\"supportSiteTargetFragment\":\"p0g93myce7dkd2n1oub0dnqw6de0j\"},{\"name\":\"#BYVAR\",\"description\":\"substitutes the name of the BY variable or label associated with the variable (whatever the BY line would normally display) for #BYVAR in the text string and displays the name or label produced by the statement. Specify the variable with one of these:\",\"help\":\"  #BYVAR*n* <br/> #BYVAR(*BY-variable-name*)\",\"type\":\"value\",\"arguments\":[{\"name\":\"n\",\"placeholder\":true,\"description\":\"specifies which variable in the BY statement #BYVAR should use. The value of n indicates the position of the variable in the BY statement. For example, #BYVAR2 specifies the second variable in the BY statement.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0edwk5zij4p1dn1dx8j7ljlp2g0j\"},{\"name\":\"BY-variable-name\",\"placeholder\":true,\"description\":\"names the BY variable. For example, #BYVAR(SITES) specifies the BY variable, SITES. Variable-name is not case sensitive.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0h7djvvxju8lqn1oopd9m2939nuj\"}],\"supportSiteTargetFragment\":\"n0lq1vfuz9uxsen12rp88i6fk1pjj\"}],\"supportSiteTargetFile\":\"n06de0d5lj12inn14glgif2c8ovag.htm\"},{\"name\":\"QUIT\",\"description\":\"Executes any statements that have not executed and ends the procedure step.\",\"help\":\"QUIT ;\",\"supportSiteTargetFile\":\"p0rv4g0o6aq6oxn1t95eicz4xfrtg.htm\"},{\"name\":\"WHERE\",\"description\":\"Subsets the input data set by specifying certain conditions that each observation must meet before it is available for processing.\",\"help\":\"WHERE *where-expression*;\",\"arguments\":[{\"name\":\"where-expression\",\"placeholder\":true,\"description\":\"is an arithmetic or logical expression that generally consists of a sequence of operands and operators. For more information about where processing, see .\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0834dlfg85co3n18aqbvenv4b35e\"}],\"supportSiteTargetFile\":\"n1rx5guqu5cxr1n1flpiox5ks7sre.htm\"}],\"interactive\":true,\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"p05jxidl2cw5svn1ngcpzvuirlcz.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/GVARCLUS.json",
    "content": "{\"name\":\"GVARCLUS\",\"statements\":[{\"name\":\"PROC GVARCLUS\",\"description\":\"The GVARCLUS procedure performs variable clustering and graphical modeling in SAS Viya. The procedure divides a set of variables into disjoint clusters and creates tables that contain the edge and vertex information for defining an undirected graph. Variables in different clusters are conditionally independent given their own clusters. The procedure also provides the edge and vertex information for an undirected graphical model; this information expresses the relationships among all the variables. A regularization parameter is used to control the sparsity of connections among variables. Tuning the regularization parameter from low to high increases the number of disconnected components and splits larger clusters into smaller ones. Those divided clusters naturally form a hierarchical structure during this process.\",\"help\":\"PROC GVARCLUS <DATA=CAS-libref.data-table><EXACT><MAXITER=n | MAXITERS=n><MAXMEMBER=n | MAXMEMBERS=n><MAXSTEP=n | MAXSTEPS=n><MINCLUSTER=n | MINCLUSTERS=n><OUTCP=CAS-libref.data-table < / LIST <EPS=number>>><OUTEDGE=CAS-libref.data-table><OUTTREE=CAS-libref.data-table><OUTVERT=CAS-libref.data-table><RHO=fraction><SELECT=NONE | PENALIZED><STOP=n><TOLERANCE=fraction | TOL=fraction>;     \\n\\tDISPLAY <CASESENSITIVE><EXCLUDE><EXCLUDEALL> ...;\\n\\n\\tDISPLAYOUT <INCLUDEALL><NOREPLACE><REPEATED> ...;\\n\\n\\tFREQ variable;\\n\\n\\tINPUT <LEVEL=<INTERVAL | NOMINAL>> ;\\n\",\"arguments\":[{\"name\":\"DATA=\",\"optional\":true,\"description\":\"Names the input data table for PROC GVARCLUS to use. The default is the most recently created data table. CAS-libref.data-table is a two-level name, where\",\"help\":\"DATA=*CAS-libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"EXACT\",\"optional\":true,\"description\":\"Performs graphical variable clustering without preprocessing by thresholding the sample covariance into connected components. By default, the preprocessing step is performed.\",\"type\":\"standalone\"},{\"name\":\"MAXITER=\",\"optional\":true,\"aliases\":[\"MAXITERS=\"],\"description\":\"Specifies the maximum number of iterations for estimating the sparse precision matrix by using coordinate descent. By default, MAXITER=50.\",\"type\":\"value\"},{\"name\":\"MAXMEMBER=\",\"optional\":true,\"aliases\":[\"MAXMEMBERS=\"],\"description\":\"Stops PROC GVARCLUS when the number of members within any cluster is greater than or equal to n.\",\"type\":\"value\"},{\"name\":\"MAXSTEP=\",\"optional\":true,\"aliases\":[\"MAXSTEPS=\"],\"description\":\"Stops PROC GVARCLUS after it runs n steps. By default, MAXSTEP=3.\",\"type\":\"value\"},{\"name\":\"MINCLUSTER=\",\"optional\":true,\"aliases\":[\"MINCLUSTERS=\"],\"description\":\"Stops PROC GVARCLUS when the number of clusters is less than or equal to n.\",\"type\":\"value\"},{\"name\":\"OUTCP=\",\"optional\":true,\"description\":\"Creates a data table that contains a covariance matrix that depicts the relationships among variables and also creates a set of statistics about the input data table and variables. CAS-libref.data-table is a two-level name, where CAS-libref refers to the caslib and session identifier, and data-table specifies the name of the output data table. When you specify the LIST option, the symmetric matrix is output in the list-of-list (LIL) format. In this format, the matrix is represented as a set of tuples (i, j, x), where x is an entry in the matrix and i and j denote its row and column indices, respectively.\",\"help\":\"OUTCP=LIST | EPS=\",\"type\":\"choice\",\"arguments\":[{\"name\":\"LIST\",\"type\":\"standalone\"},{\"name\":\"EPS=\",\"type\":\"value\"}]},{\"name\":\"OUTEDGE=\",\"optional\":true,\"description\":\"Creates a data set for use with the hypergroup action. This table contains the information that defines the edges in the network, _FROM_, _TO_, and _WEIGHT_. CAS-libref.data-table is a two-level name, where CAS-libref refers to the caslib and session identifier, and data-table specifies the name of the output data table.\",\"help\":\"OUTEDGE=*CAS-libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"OUTTREE=\",\"optional\":true,\"description\":\"Creates a data table that depicts a tree diagram to display the hierarchical clustering results. The tree diagram can be plotted using the DENDROGRAM statement in the Graph Template Language. CAS-libref.data-table is a two-level name, where CAS-libref refers to the caslib and session identifier, and data-table specifies the name of the output data table.\",\"help\":\"OUTTREE=*CAS-libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"OUTVERT=\",\"optional\":true,\"description\":\"Creates a data set for use with the hypergroup action. This table contains the vertices in the network and their size. CAS-libref.data-table is a two-level name, where CAS-libref refers to the caslib and session identifier, and data-table specifies the name of the output data table.\",\"help\":\"OUTVERT=*CAS-libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"RHO=\",\"optional\":true,\"description\":\"Specifies the value of ρ that determines the sequence of regularization parameters, {ρ1, ρ2, ρ3, ...} that are used on sequential clustering steps. The higher the ρ value, the more regularization and the sparser the inverse covariance. By default, RHO=0.8.\",\"help\":\"RHO=*fraction*\",\"type\":\"value\"},{\"name\":\"SELECT=\",\"optional\":true,\"description\":\"Selects the optimal clustering on the basis of the specified criterion.\",\"help\":\"SELECT=NONE | PENALIZED\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NONE\",\"description\":\"Performs no selection, and the output tables of the edges and vertices of the network reflect the clustering from the last step.\",\"type\":\"standalone\"},{\"name\":\"PENALIZED\",\"description\":\"Performs selection through minimizing the penalized log likelihood.\",\"type\":\"standalone\"}]},{\"name\":\"STOP=\",\"optional\":true,\"description\":\"Requests that the action stop if the clustering results do not change in the previous n consecutive steps. By default, STOP=3.\",\"help\":\"STOP=*n*\",\"type\":\"value\"},{\"name\":\"TOLERANCE=\",\"optional\":true,\"aliases\":[\"TOL=\"],\"description\":\"Specifies the minimal absolute tolerance at which an iteration stops. The tolerance number must be equal to or greater than 1.0E–12. By default, TOLERANCE=1.0E–3.\",\"type\":\"value\"}]},{\"name\":\"DISPLAY\",\"description\":\"The DISPLAY statement enables you to specify a list of display tables to display or exclude. This statement is similar to the ODS SELECT, ODS EXCLUDE, and ODS TRACE statements. However, the DISPLAY statement can improve performance when a large number of tables could be generated (such as in BY-group processing). The procedure processes the DISPLAY statement on a CAS server and thus sends only a subset of ODS tables to the SAS client. Because ODS statements are processed on a SAS client, all the display tables generated are first sent to the client and then the client creates a subset. If both DISPLAY and ODS statements are used together, the DISPLAY statement takes precedence over the ODS statements.\",\"help\":\"DISPLAY &lt;CASESENSITIVE&gt;&lt;EXCLUDE&gt;&lt;EXCLUDEALL&gt; ...\",\"arguments\":[{\"name\":\"CASESENSITIVE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Performs a case-sensitive comparison of table names in the table-list to display table names when tables are subsetted for display. To preserve case, you must enclose table names in the table-list in quotation marks.\",\"type\":\"standalone\"},{\"name\":\"EXCLUDE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays all display tables except those specified in the table-list.\",\"type\":\"standalone\"},{\"name\":\"EXCLUDEALL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Suppresses display of all tables. This option takes precedence over the other options.\",\"type\":\"standalone\"},{\"name\":\"TRACE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays the display table names, labels, and paths.\",\"type\":\"standalone\"}]},{\"name\":\"DISPLAYOUT\",\"description\":\"The DISPLAYOUT statement enables you to create CAS output tables from your displayed output. This statement is similar to the ODS OUTPUT statement. The table-spec-list specifies a list of CAS output tables to create. Each entry in the list has either a key or a key=value format: key=value specifies key as the ODS table name, path, or partial pathname, and specifies value as the CAS output table name. key specifies key as the ODS table name and also as the CAS output table name. Table names and partial pathnames are discussed under the DISPLAY statement. The DISPLAYOUT statement does not support regular expressions.\",\"help\":\"DISPLAYOUT &lt;INCLUDEALL&gt;&lt;NOREPLACE&gt;&lt;REPEATED&gt; ...\",\"arguments\":[{\"name\":\"INCLUDEALL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Creates output CAS tables for all display tables. The name of the created output CAS table is the same as the corresponding display table name. If you specify this option, the table-spec-list specification is ignored.\",\"type\":\"standalone\"},{\"name\":\"NOREPLACE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Does not replace an existing CAS output table of the same name.\",\"type\":\"standalone\"},{\"name\":\"REPEATED\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Replicates all CAS output tables on all nodes.\",\"type\":\"standalone\"}]},{\"name\":\"FREQ\",\"description\":\"The variable in the FREQ statement identifies a numeric variable in the data set that contains the frequency of occurrence of each observation. PROC GVARCLUS treats each observation as if it appears f times, where f is the value of the FREQ variable for the observation. If f is not an integer, it is truncated to an integer. If f is less than 1 or missing, the observation is not used in the analysis. When the FREQ statement is not specified, each observation is assigned a frequency of 1.\",\"help\":\"FREQ variable\"},{\"name\":\"INPUT\",\"description\":\"The INPUT statement specifies the names of variables to be used in training. Only interval, binary, and nominal variables are accepted. If you want to use different options for different variables, you can specify multiple INPUT statements.\",\"help\":\"INPUT &lt;LEVEL=&lt;INTERVAL | NOMINAL&gt;&gt;\",\"arguments\":[{\"name\":\"LEVEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies whether the specified input variables are continuous or categorical.\",\"help\":\"LEVEL=INTERVAL | NOMINAL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"INTERVAL\",\"followsDelimiter\":\"/\",\"description\":\"Specifies that the input variables are continuous.\",\"type\":\"standalone\"},{\"name\":\"NOMINAL\",\"followsDelimiter\":\"/\",\"description\":\"Specifies that the input variables are categorical.\",\"type\":\"standalone\"}]}]}],\"supportSiteInformation\":{\"docsetId\":\"casml\",\"docsetVersion\":\"latest\",\"docsetTargetFile\":\"casml_gvarclus_toc.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/HADOOP.json",
    "content": "{\"name\":\"HADOOP\",\"statements\":[{\"name\":\"PROC HADOOP\",\"description\":\"Controls access to the Hadoop server.\",\"help\":\"PROC HADOOP <hadoop-server-options>;\\n\\tHDFS <hadoop-server-options><hdfs-command-options>;\\n\\n\\tMAPREDUCE <hadoop-server-options><mapreduce-options>;\\n\\n\\tPIG <hadoop-server-options><pig-code-options>;\\n\\n\\tPROPERTIES <configuration-properties>;\\n\",\"arguments\":[{\"name\":\"MAXWAIT=\",\"optional\":true,\"description\":\"specifies the HTTP status response time when using WebHDFS.\",\"help\":\"MAXWAIT=*wait-interval*\",\"type\":\"value\"},{\"name\":\"PASSWORD=\",\"optional\":true,\"description\":\"is the password for the user ID on the Hadoop server.\",\"help\":\"PASSWORD='*password*'\",\"type\":\"value\"},{\"name\":\"USERNAME=\",\"optional\":true,\"description\":\"is an authorized user ID on the Hadoop server.\",\"help\":\"USERNAME='*ID*'\",\"type\":\"value\"},{\"name\":\"VERBOSE\",\"optional\":true,\"description\":\"enables additional messages that are displayed on the SAS log.\",\"type\":\"standalone\"},{\"name\":\"WEBHDFSURL=\",\"optional\":true,\"description\":\"specifies the URL to access the Hadoop distributed file system (HDFS) through a REST API.\",\"help\":\"WEBHDFSURL=*web-HDFS-URL*\",\"type\":\"value\"}]},{\"name\":\"HDFS\",\"description\":\"Submits Hadoop Distributed File System (HDFS) commands.\",\"help\":\"HDFS &lt;*hadoop-server-options*&gt;&lt;*hdfs-command-options*&gt;;\",\"arguments\":[{\"name\":\"CAT=\",\"optional\":true,\"description\":\"displays the contents of the specified file or files.\",\"help\":\"CAT='HDFS-file' <ONLY=n>\\n                                <RECURSE>\\n                                <SHOW_FILENAME>\",\"type\":\"value\",\"arguments\":[{\"name\":\"'HDFS-file'\",\"placeholder\":true,\"description\":\"specifies a pathname or a pathname and a filename. You can use wildcard characters to substitute for any other character or characters in the pathname or the filename. Use * to match one or more characters, or ? to match a single character.\",\"type\":\"value\"},{\"name\":\"ONLY=\",\"description\":\"displays only the specified number of lines from the beginning of the file. For example, only=10 displays the first ten lines of a file. This option is helpful to determine the contents of a file.\",\"help\":\"ONLY=*n*\",\"type\":\"value\"},{\"name\":\"RECURSE\",\"description\":\"specifies to display the contents for all files in the specified pathname and all files that are in subdirectories. RECURSE has no effect if the specified HDFS file is not a directory.\",\"type\":\"standalone\"},{\"name\":\"SHOW_FILENAME\",\"description\":\"includes the name of the file in the output. For example, hdfs cat='/tmp/*.txt' show_filename only=10 recurse; displays in the SAS log the name of the file and the first ten lines of all .txt files that are found in the /tmp directory and all of its subdirectories.\",\"type\":\"standalone\"}]},{\"name\":\"CHMOD=\",\"optional\":true,\"description\":\"changes file access permissions for one or more HDFS files.\",\"help\":\"CHMOD='HDFS-file' PERMISSION=<'>value<'>\\n                                <RECURSE>\",\"type\":\"value\",\"arguments\":[{\"name\":\"'HDFS-file'\",\"placeholder\":true,\"description\":\"specifies a pathname or a pathname and a filename. You can use a wildcard character to substitute for any character or characters in the pathname or filename. Use * to match any number of characters, or ? to match a single character.\",\"type\":\"value\"},{\"name\":\"PERMISSION=\",\"description\":\"specifies a value that represents three levels of permissions, which are owner, group, and user. All three permission levels are required. You can specify the permissions in read, write, and execute (rwx) symbolic notation or octal notation.\\n• For                                                   the rwx symbolic notation, use nine characters.                                                   The first set of three characters represents what                                                   the owner can do, the second set represents what a                                                   group can do, and the third set represents what a                                                   user can do. For each set of three characters, the                                                   first position must be r or - (for read), the                                                   second position must be w or - (for write), and                                                   the third position must be x or - (for execute).                                                   For example,                                                                                                      specifies that the owner has Read, Write, and                                                   Execute permission, group members have Read and                                                   Execute permission, and users have Read and                                                   Execute permission. \\n• For                                                   octal notation, use three digits. Each digit                                                   represents the permissions for owner, group, and                                                   user. Each digit must be from 0 to 7. The octal                                                   notation represents the same numeric value as the                                                   rwx symbolic notation. That is, 4 is r, 2 is w, 1                                                   is x, and 0 is -. For example,                                                    specifies                                                   that the owner has Read, Write, and Execute                                                   permission, group members have Read and Execute                                                   permission, and users have Read and Execute                                                   permission.\",\"help\":\"PERMISSION=*value*\",\"type\":\"value\"},{\"name\":\"RECURSE\",\"description\":\"specifies to change the access permissions to all files and directories in the specified pathname and all files and directories that are in subdirectories. RECURSE has no effect if the specified HDFS file is not a directory. For example, hdfs chmod='/tmp' permission=755 recurse; changes the permissions to the specified directory and all files and subdirectories within the directory.\",\"type\":\"standalone\"}]},{\"name\":\"COPYFROMLOCAL=\",\"optional\":true,\"description\":\"copies the specified local file to an HDFS output location.\",\"help\":\"COPYFROMLOCAL='local-file' <DELETESOURCE>\\n                                <OVERWRITE>\\n                                <RECURSE>\\n                            \",\"type\":\"value\",\"arguments\":[{\"name\":\"'local-file'\",\"placeholder\":true,\"description\":\"specifies the complete pathname and the filename. You can use a wildcard character to substitute for any other character or characters in the pathname or the filename. Use * to match any number of characters, or ? to match a single character.\",\"type\":\"value\"},{\"name\":\"DELETESOURCE\",\"description\":\"deletes the input source file after a copy command.\",\"type\":\"standalone\"},{\"name\":\"OVERWRITE\",\"description\":\"specifies to overwrite an existing output location.\",\"type\":\"standalone\"},{\"name\":\"RECURSE\",\"description\":\"specifies to copy all the files in the specified pathname and all files that are in subdirectories. RECURSE has no effect if the specified file is not a directory.\",\"type\":\"standalone\"}]},{\"name\":\"COPYTOLOCAL=\",\"optional\":true,\"description\":\"copies the specified HDFS file to a local output location.\",\"help\":\"COPYTOLOCAL='HDFS-file<DELETESOURCE>\\n                                <KEEPCRC>\\n                                <OVERWRITE>\\n                                <RECURSE>\\n                            \",\"type\":\"value\",\"arguments\":[{\"name\":\"'HDFS-file'\",\"placeholder\":true,\"description\":\"specifies the complete pathname and the filename. You can use a wildcard character to substitute for any other character or characters in the pathname or the filename. Use * to match any number of characters, or ? to match a single character.\",\"type\":\"value\"},{\"name\":\"DELETESOURCE\",\"description\":\"deletes the input source file after a copy command.\",\"type\":\"standalone\"},{\"name\":\"KEEPCRC\",\"description\":\"saves the Cyclic Redundancy Check (CRC) file after the copy command to a local output location. The CRC file is saved to the same location that is specified in the OUT= option. The CRC file is used to ensure the correctness of the file being copied. By default, the CRC file is deleted.\",\"type\":\"standalone\"},{\"name\":\"OVERWRITE\",\"description\":\"specifies to overwrite an existing output location.\",\"type\":\"standalone\"},{\"name\":\"RECURSE\",\"description\":\"specifies to copy all the files in the specified pathname and all files that are in subdirectories. RECURSE has no effect if the specified HDFS file is not a directory.\",\"type\":\"standalone\"}]},{\"name\":\"DELETE=\",\"optional\":true,\"description\":\"deletes the specified HDFS file.\",\"help\":\"DELETE='HDFS-file' <NOWARN>\\n                            \",\"type\":\"value\",\"arguments\":[{\"name\":\"HDFS-file\",\"placeholder\":true,\"description\":\"specifies a pathname or a pathname and a filename. If you include the filename, then only that file is deleted. If you do not include a filename, then all the files in the specified pathname and all the files that are in subdirectories are deleted. You can use a wildcard character to substitute for any other character or characters in the pathname or the filename. Use * to match any number of characters, or ? to match a single character.\",\"type\":\"value\"},{\"name\":\"NOWARN\",\"description\":\"suppresses the warning message when there is an attempt to delete a file that does not exist.\",\"type\":\"standalone\"}]},{\"name\":\"LS=\",\"optional\":true,\"description\":\"lists the files in the specified HDFS pathname.\",\"help\":\"LS='*HDFS-pathname*' &lt;RECURSE&gt;\",\"type\":\"value\",\"arguments\":[{\"name\":\"HDFS-pathname\",\"placeholder\":true,\"description\":\"specifies a pathname. You can use a wildcard character to substitute for any character or characters in the pathname. Use * to match any number of characters, or ? to match a single character.\",\"type\":\"value\"},{\"name\":\"RECURSE\",\"description\":\"specifies to list the files in the specified pathname and all files that are in subdirectories. RECURSE has no effect if the specified file is not a directory.\",\"type\":\"standalone\"}]},{\"name\":\"MKDIR=\",\"optional\":true,\"description\":\"creates the specified HDFS pathname. Specify the complete HDFS pathname.\",\"help\":\"MKDIR='*HDFS-pathname*'\",\"type\":\"value\"},{\"name\":\"OUT=\",\"optional\":true,\"description\":\"specifies the output location for the contents, which can be an external file for your machine or a fileref that is assigned with the FILENAME statement.\",\"help\":\"OUT='*output-location*'\",\"type\":\"value\"},{\"name\":\"RENAME=\",\"optional\":true,\"description\":\"renames the specified HDFS file.\",\"help\":\"RENAME='*HDFS-file*\",\"type\":\"value\",\"arguments\":[{\"name\":\"'HDFS-file'\",\"placeholder\":true,\"description\":\"specifies the pathname and the filename to rename.\",\"type\":\"value\"}]}]},{\"name\":\"MAPREDUCE\",\"description\":\"Submits MapReduce programs into a Hadoop cluster.\",\"help\":\"\\n\\tMAPREDUCE <hadoop-server-options><mapreduce-options>;\\n\",\"arguments\":[{\"name\":\"COMBINE=\",\"optional\":true,\"description\":\"specifies the name of the combiner class in dot notation.\",\"help\":\"COMBINE='*class-name*'\",\"type\":\"value\"},{\"name\":\"DELETERESULTS\",\"optional\":true,\"description\":\"specifies to delete the output directory, if it exists, before starting the MapReduce job.\",\"type\":\"standalone\"},{\"name\":\"GROUPCOMPARE=\",\"optional\":true,\"description\":\"specifies the name of the grouping comparator (GroupComparator) class in dot notation.\",\"help\":\"GROUPCOMPARE='*class-name*'\",\"type\":\"value\"},{\"name\":\"INPUT=\",\"optional\":true,\"description\":\"specifies the HDFS pathname to the MapReduce input file.\",\"help\":\"INPUT='*HDFS-pathname*'\",\"type\":\"value\"},{\"name\":\"INPUTFORMAT=\",\"optional\":true,\"description\":\"specifies the name of the input format class in dot notation.\",\"help\":\"INPUTFORMAT='*class-name*'\",\"type\":\"value\"},{\"name\":\"JAR=\",\"optional\":true,\"description\":\"specifies the locations of the JAR files that contain the MapReduce program and named classes.\",\"help\":\"JAR='*external-file(s)*'\",\"type\":\"value\"},{\"name\":\"MAP=\",\"optional\":true,\"description\":\"specifies the name of the map class in dot notation.\",\"help\":\"MAP='*class-name*'\",\"type\":\"value\"},{\"name\":\"OUTPUT=\",\"optional\":true,\"description\":\"when connecting to the Hadoop server, specifies a new HDFS pathname for the MapReduce output.\",\"help\":\"OUTPUT='*HDFS-pathname*'\",\"type\":\"value\"},{\"name\":\"OUTPUTFORMAT=\",\"optional\":true,\"description\":\"specifies the name of the output format class in dot notation.\",\"help\":\"OUTPUTFORMAT='*class-name*'\",\"type\":\"value\"},{\"name\":\"OUTPUTKEY=\",\"optional\":true,\"description\":\"specifies the name of the output key class in dot notation.\",\"help\":\"OUTPUTKEY='*class-name*'\",\"type\":\"value\"},{\"name\":\"OUTPUTVALUE=\",\"optional\":true,\"description\":\"is the name of the output value class in dot notation.\",\"help\":\"OUTPUTVALUE='*class-name*'\",\"type\":\"value\"},{\"name\":\"PARTITIONER=\",\"optional\":true,\"description\":\"specifies the name of the partitioner class in dot notation.\",\"help\":\"PARTITIONER='*class-name*'\",\"type\":\"value\"},{\"name\":\"REDUCE=\",\"optional\":true,\"description\":\"specifies the name of the reducer class in dot notation.\",\"help\":\"REDUCE='*class-name*'\",\"type\":\"value\"},{\"name\":\"REDUCETASKS=\",\"optional\":true,\"description\":\"specifies the number of reduce tasks.\",\"help\":\"REDUCETASKS=*integer*\",\"type\":\"value\"},{\"name\":\"REPLACE\",\"optional\":true,\"description\":\"when connecting to Hadoop through the Oozie RESTful API, specifies to delete any existing workflow and JAR file(s) in the Oozie application before copying new files to the working directory.\",\"type\":\"standalone\"},{\"name\":\"SORTCOMPARE=\",\"optional\":true,\"description\":\"specifies the name of the sort comparator class in dot notation.\",\"help\":\"SORTCOMPARE='*class-name*'\",\"type\":\"value\"},{\"name\":\"WORKINGDIR=\",\"optional\":true,\"description\":\"specifies the name of the HDFS working directory pathname.\",\"help\":\"WORKINGDIR='*HDFS-pathname*'\",\"type\":\"value\"}]},{\"name\":\"PIG\",\"description\":\"Submits Pig language code into a Hadoop cluster.\",\"help\":\"\\n\\tPIG <hadoop-server-options><pig-code-options>;\\n\",\"arguments\":[{\"name\":\"CODE=\",\"optional\":true,\"description\":\"specifies the source that contains the Pig language code to execute.\",\"help\":\"CODE=*fileref* | '*external-file*'\",\"type\":\"choice\",\"arguments\":[{\"name\":\"fileref\",\"placeholder\":true,\"description\":\"is a SAS fileref that is assigned to the source file. To assign a fileref, use the FILENAME statement.\",\"type\":\"value\"},{\"name\":\"'external-file'\",\"placeholder\":true,\"description\":\"is the physical location of the source file. Specify the complete pathname and the filename.\",\"type\":\"value\"}]},{\"name\":\"DELETERESULTS\",\"optional\":true,\"description\":\"when connecting to the Hadoop server through the Oozie RESTful API, specifies to delete the existing output location before starting the Oozie job.\",\"type\":\"standalone\"},{\"name\":\"OUTPUT=\",\"optional\":true,\"description\":\"when connecting to the Hadoop server through the Oozie RESTful API, specifies the existing output location to delete before starting the Oozie job.\",\"help\":\"OUTPUT='*HDFS-pathname*'\",\"type\":\"value\"},{\"name\":\"PARAMETERS=\",\"optional\":true,\"description\":\"specifies the source that contains parameters to be passed as arguments when the Pig code executes.\",\"help\":\"PARAMETERS=*fileref* | '*external-file*'\",\"type\":\"choice\",\"arguments\":[{\"name\":\"fileref\",\"placeholder\":true,\"description\":\"is a SAS fileref that is assigned to the source file. To assign a fileref, use the FILENAME statement.\",\"type\":\"value\"},{\"name\":\"'external-file'\",\"placeholder\":true,\"description\":\"is the physical location of the source file. Specify the complete pathname and the filename.\",\"type\":\"value\"}]},{\"name\":\"REGISTERJAR=\",\"optional\":true,\"description\":\"specifies the locations of the JAR files that contain the Pig scripts to execute.\",\"help\":\"REGISTERJAR='*external-file(s)*'\",\"type\":\"value\"},{\"name\":\"REPLACE\",\"optional\":true,\"description\":\"when connecting to Hadoop through the Oozie RESTful API, specifies to delete any existing workflow and JAR file(s) in the Oozie application before copying new files to the working directory.\",\"type\":\"standalone\"},{\"name\":\"WORKINGDIR=\",\"optional\":true,\"description\":\"when connecting to Hadoop through the Oozie RESTful API, specifies the HDFS pathname for the Oozie workflow application directory.\",\"help\":\"WORKINGDIR='*HDFS-pathname*'\",\"type\":\"value\"}]},{\"name\":\"PROPERTIES\",\"description\":\"Submits configuration properties to the Hadoop server.\",\"help\":\"PROPERTIES  '*configuration-property-1*' &lt;'*configuration-property-2*'&gt; ...;\",\"arguments\":[{\"name\":\"configuration-property\",\"placeholder\":true,\"description\":\"specifies any property that can be specified in a Hadoop configuration file.\",\"type\":\"value\"}]}],\"supportSiteInformation\":{\"docsetId\":\"proc\",\"docsetVersion\":\"v_002\",\"docsetTargetFile\":\"p0esxx8qmpi2p8n1mdmwn1al94a7.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/HMM.json",
    "content": "{\"name\":\"HMM\",\"statements\":[{\"name\":\"PROC HMM\",\"description\":\"The HMM procedure supports hidden Markov models (HMMs), which have been widely applied in economics, finance, science, and engineering. The HMM has many well-known aliases, such as the general state space model (GSSM), regime-switching model (RSM), Markov-switching model (MSM), and Markov regime- switching model (MRSM). This procedure supports the Gaussian hidden Markov model (Gaussian HMM).\",\"help\":\"PROC HMM <DATA=libref.data-table><options>;     \\n\\tDECODE <options> ;\\n\\n\\tDISPLAY <table-list></ options> ;\\n\\n\\tDISPLAYOUT table-spec-list </ options> ;\\n\\n\\tESTIMATE <options> ;\\n\\n\\tEVALUATE <options> ;\\n\\n\\tFILTER <options> ;\\n\\n\\tFORECAST <options>;\\n\\n\\tID TIME=variable <SECTION=variable> ;\\n\\n\\tINITIAL equation<, …, equation>\\n\\n\\tMODEL dependents <= regressors >< / options  >;\\n\\n\\tOPTIMIZE <options >;\\n\\n\\tPRIOR distribution <, …, distribution>;\\n\\n\\tSCORE <options>  ;\\n\\n\\tSMOOTH <options> ;\\n\\n\\tSTORE <out=>libref.data-table;\\n\",\"arguments\":[{\"name\":\"DATA=\",\"description\":\"names the input data table for PROC HMM to use.\",\"help\":\"DATA=*libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"OUTSTAT=\",\"description\":\"writes the log likelihood and information criteria to the specified output data table.The information criteria include Akaike’s information criterion (AIC), the corrected Akaike’s information criterion (AICC), the Bayesian information criterion (BIC, also referred to as the Schwarz Bayesian criterion, SBC), and the Hannan-Quinn criterion (HQC). libref.data-table is a two-level name, where libref refers to the caslib and session identifier, and data-table specifies the name of the output data table.\",\"help\":\"OUTSTAT=*libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"SEED=\",\"description\":\"specifies a nonnegative integer to be used as the seed for generating random number sequences. You can use this option to replicate results from different runs. By default, SEED=1.\",\"help\":\"SEED=*number*\",\"type\":\"value\"},{\"name\":\"LABELSWITCH=\",\"optional\":true,\"description\":\"specifies the order in which to label the states (and components). The label switching problem is a common issue for HMMs because any two HMMs are mathematically equivalent if the only difference between two models is that the states are labeled in different ways.\",\"help\":\"LABELSWITCH=&lt;OUT=*libref.data-table*&gt;&lt;REORDER=*(number-list)*&gt;&lt;REORDERCOMPONENT=*(number-list)*&gt;&lt;SORT=ASC&lt;*(name-list)*&gt; | DESC&lt;*(name-list)*&gt; | NONE&gt;\",\"type\":\"standaloneOrValue\"}]},{\"name\":\"DECODE\",\"description\":\"The DECODE statement solves the decoding problem by finding the best possible state path for the observations.\",\"help\":\"DECODE &lt;option&gt;\",\"arguments\":[{\"name\":\"OUT=\",\"optional\":true,\"description\":\"writes the decoding results to the specified output data table.\",\"help\":\"OUT=*libref.data-table*\",\"type\":\"dataSet\"}]},{\"name\":\"DISPLAY\",\"description\":\"The DISPLAY statement enables you to specify a list of display tables to display or exclude.\",\"help\":\"DISPLAY &lt;table-list&gt;&lt;/options&gt;\",\"arguments\":[{\"name\":\"CASESENSITIVE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"performs a case-sensitive comparison of table names in the table-list to display table names when tables are subsetted for display. To preserve case, you must enclose table names in the table-list in quotation marks.\",\"type\":\"standalone\"},{\"name\":\"EXCLUDE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"displays all display tables except those that you specify in the table-list.\",\"type\":\"standalone\"},{\"name\":\"EXCLUDEALL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses display of all tables. This option takes precedence over the other options.\",\"type\":\"standalone\"},{\"name\":\"TRACE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"displays the display table names, labels, and paths.\",\"type\":\"standalone\"}]},{\"name\":\"DISPLAYOUT\",\"description\":\"The DISPLAYOUT statement enables you to create CAS output tables from your displayed output. This statement is similar to the ODS OUTPUT statement.\",\"help\":\"DISPLAYOUT &lt;table-spec-list&gt;&lt;/options&gt;\",\"arguments\":[{\"name\":\"INCLUDEALL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"creates output CAS tables for all display tables. The name of the created output CAS table is the same as the corresponding display table name. If you specify this option, the table-spec-list specification is ignored.\",\"type\":\"standalone\"},{\"name\":\"NOREPLACE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"does not replace any existing CAS output table of the same name.\",\"type\":\"standalone\"},{\"name\":\"REPEATED\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"replicates all CAS output tables on all nodes.\",\"type\":\"standalone\"}]},{\"name\":\"ESTIMATE\",\"aliases\":[\"LEARN\"],\"description\":\"The ESTIMATE statement estimates the parameters.\",\"help\":\"ESTIMATE &lt;options&gt;\",\"arguments\":[{\"name\":\"IN=\",\"optional\":true,\"description\":\"specifies the input data table for parameter estimation.\",\"help\":\"IN=*libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"OUT=\",\"optional\":true,\"description\":\"writes the parameter estimates to the specified output data table.\",\"help\":\"OUT=*libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"OUTALL=\",\"optional\":true,\"description\":\"writes the parameter estimates and their standard errors and covariance matrix to the specified output data table.\",\"help\":\"OUTALL=*libref.data-table*\",\"type\":\"dataSet\"}]},{\"name\":\"EVALUATE\",\"description\":\"The EVALUATE statement evaluates the model by calculating the log likelihood.\",\"help\":\"EVALUATE &lt;options&gt;\",\"arguments\":[{\"name\":\"OUT=\",\"optional\":true,\"description\":\"writes the evaluation results to the specified output data table.\",\"help\":\"OUT=*libref.data-table*\",\"type\":\"dataSet\"}]},{\"name\":\"FILTER\",\"description\":\"The FILTER statement solves the filtering problem, which is to find the probability distribution of the current state, conditional on the observations that precede and include the current observation.\",\"help\":\"FILTER &lt;options&gt;\",\"arguments\":[{\"name\":\"OUT=\",\"optional\":true,\"description\":\"writes the filtering results to the specified output data table.\",\"help\":\"OUT=*libref.data-table*\",\"type\":\"dataSet\"}]},{\"name\":\"FORECAST\",\"description\":\"The FORECAST statement finds the probability distribution of the future states and the dependent variables.\",\"help\":\"FORECAST &lt;options&gt;\",\"arguments\":[{\"name\":\"ALPHA=\",\"optional\":true,\"description\":\"specifies the forecast confidence limit size, where number is between 0 and 1. When you specify this option, the upper and lower confidence limits define the 100α% confidence interval. By default, ALPHA=0.95, which produces 95% confidence intervals.\",\"help\":\"ALPHA=*number*\",\"type\":\"value\"},{\"name\":\"BACK=\",\"optional\":true,\"description\":\"specifies the number of observations before the end of the data at which the multistep forecasts begin, where number must be less than or equal to the number of observations minus the number of lagged regressors in the model. By default, BACK=0, which means that the forecasts start at the end of the available data.\",\"help\":\"BACK=*number*\",\"type\":\"value\"},{\"name\":\"LEAD=\",\"optional\":true,\"description\":\"specifies the number of multistep forecast values to compute, where number must be a nonnegative integer. By default, LEAD=1, which means that a one-step-ahead forecast is performed.\",\"help\":\"LEAD=*number*\",\"type\":\"value\"},{\"name\":\"NSIM=\",\"optional\":true,\"description\":\"specifies the number of paths to be simulated in the forecasting of a regime-switching autoregression model, where number must be a positive integer. By default, NSIM=100.\",\"help\":\"NSIM=*number*\",\"type\":\"value\"},{\"name\":\"ONLINE\",\"optional\":true,\"description\":\"requests that the (multistep) forecasts be done after each observation. When you specify this option, the BACK= option is ignored.\",\"type\":\"standalone\"},{\"name\":\"OUT=\",\"optional\":true,\"description\":\"writes the forecasting results to the specified output data table.\",\"help\":\"OUT=*libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"OUTALL=\",\"optional\":true,\"description\":\"writes the state distributions, means, standard errors, confidence intervals, medians, and covariance matrices of forecasts for dependent variables to the specified output data table.\",\"help\":\"OUTALL=*libref.data-table*\",\"type\":\"dataSet\"}]},{\"name\":\"ID\",\"description\":\"The ID statement identifies observations in the input data table by specifying a variable for the time series data or two variables for the cross-sectional time series data.\",\"help\":\"ID TIME=variable &lt;SECTION=variable&gt;\",\"arguments\":[{\"name\":\"TIME=\",\"description\":\"specifies the temporal or sequential order of the observations. The variable cannot have missing values.\",\"help\":\"TIME=*variable*\",\"type\":\"value\"},{\"name\":\"SECTION=\",\"optional\":true,\"description\":\"identifies the section of each observation for modeling cross-sectional time series data. The variable cannot have missing values.\",\"help\":\"SECTION=*variable*\",\"type\":\"value\"}]},{\"name\":\"INITIAL\",\"description\":\"The INITIAL statement specifies the initial parameter values for nonlinear optimization when the maximum likelihood method or the maximum a posteriori method is applied to the estimation of the HMMs (that is, METHOD=ML or METHOD=MAP, respectively, in the MODEL statement). Only one INITIAL statement is allowed. If you specify more than one equation, separate them with commas.\",\"help\":\"INITIAL equation &lt;, …, equation&gt;\"},{\"name\":\"MODEL\",\"description\":\"The MODEL statement specifies dependent (endogenous) variables and regressors (the independent or exogenous variables) for the HMM model. Only one MODEL statement is allowed.\",\"help\":\"MODEL *dependents*&lt;=regressors&gt;&lt;/options&gt;\",\"arguments\":[{\"name\":\"ARMEAN=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the mean form in a regime-switching autoregression model. The ARMEAN= option applies only when you specify the TYPE=AR option in the MODEL statement.By default, ARMEAN=STANDARD.\",\"help\":\"ARMEAN=ADJUST | STANDARD\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ADJUST\",\"followsDelimiter\":\"/\",\"description\":\"specifies the mean-adjusted form of regime-switching autoregression model.\",\"type\":\"standalone\"},{\"name\":\"STANDARD\",\"followsDelimiter\":\"/\",\"description\":\"specifies the standard regime-switching autoregression model.\",\"type\":\"standalone\"}]},{\"name\":\"ESTISPV\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"estimates the initial state probability vector (ISPV).\",\"type\":\"standalone\"},{\"name\":\"METHOD=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the maximum a posteriori method.By default, METHOD=ML.\",\"help\":\"METHOD=MAP | ML\",\"type\":\"choice\",\"arguments\":[{\"name\":\"MAP\",\"followsDelimiter\":\"/\",\"description\":\"specifies the mean-adjusted form of regime-switching autoregression model.\",\"type\":\"standalone\"},{\"name\":\"ML\",\"followsDelimiter\":\"/\",\"description\":\"specifies the maximum likelihood method.\",\"type\":\"standalone\"}]},{\"name\":\"NCATEGORY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the number of categories in a state for a finite HMM, where number must be a positive integer. This option applies only when you specify TYPE=FINITE. By default, NCATEGORY=2.\",\"help\":\"NCATEGORY=*number*\",\"type\":\"value\"},{\"name\":\"NCOMPONENT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the number of components in a state for a Gaussian mixture HMM (GM HMM), where number must be a positive integer. This option applies only when you specify TYPE=GAUSSIANMIXTURE. By default, NCOMPONENT=1.\",\"help\":\"NCOMPONENT=*number*\",\"type\":\"value\"},{\"name\":\"NOCURRENTX\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses the present values of the exogenous variables. This option applies only when you specify TYPE=AR or TYPE=REG.\",\"type\":\"standalone\"},{\"name\":\"NOINT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses the constant (intercept) parameters. This option applies only when you specify TYPE=AR or TYPE=REG.\",\"type\":\"standalone\"},{\"name\":\"NSEASON=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the number of seasonal periods (where s must be a positive integer) and adds (snegative 1) seasonal dummies to the regressors. This option applies only when you specify TYPE=AR or TYPE=REG and do not specify the NOINT option.\",\"help\":\"NSEASON=*s*\",\"type\":\"value\"},{\"name\":\"NSTATE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the number or the range of numbers of hidden states, where number1 and number2 must be positive integers. If you specify NSTATE=number1, the number of hidden states is number1; if you specify NSTATE=number1:number2, multiple models whose number of hidden states is inclusively between number1 and number2 are estimated and inferred. If you specify the same number for both number1 and number2, number2 is ignored. By default, NSTATE=2.\",\"help\":\"NSTATE=*number1*&lt;*:number2*&gt;\",\"type\":\"value\"},{\"name\":\"SCENTER\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"centers seasonal dummies that are implied by the NSEASON= option.This option applies only when you specify the NSEASON= option and TYPE=AR or TYPE=REG.\",\"type\":\"standalone\"},{\"name\":\"STATEINDEPENDENT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the parameters to be estimated independent of state.\",\"help\":\"STATEINDEPENDENT=*(name-list)*\",\"type\":\"value\"},{\"name\":\"TREND=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the degree of deterministic time trend that the model includes. This option applies only when you specify TYPE=AR or TYPE=REG. You can specify the following values:\",\"help\":\"TREND=LINEAR | QUAD\",\"type\":\"choice\",\"arguments\":[{\"name\":\"LINEAR\",\"followsDelimiter\":\"/\",\"description\":\"includes a linear time trend as a regressor.\",\"type\":\"standalone\"},{\"name\":\"QUAD\",\"followsDelimiter\":\"/\",\"description\":\"includes linear and quadratic time trends as regressors.\",\"type\":\"standalone\"}]},{\"name\":\"TYPE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the type of the model of interest to use. By default, TYPE=GAUSSIAN.\",\"help\":\"TYPE=AR | FINITE | GAUSSIAN | GAUSSIANMIXTURE | POISSON | REG\",\"type\":\"choice\",\"arguments\":[{\"name\":\"AR\",\"followsDelimiter\":\"/\",\"description\":\"uses the regime-switching autoregression model (RS-AR, also known as the autoregressive hidden Markov model, AR HMM).\",\"type\":\"standalone\"},{\"name\":\"FINITE\",\"followsDelimiter\":\"/\",\"description\":\"uses the finite hidden Markov model (finite HMM).\",\"type\":\"standalone\"},{\"name\":\"GAUSSIAN\",\"followsDelimiter\":\"/\",\"description\":\"uses the Gaussian hidden Markov model (Gaussian HMM).\",\"type\":\"standalone\"},{\"name\":\"GAUSSIANMIXTURE\",\"followsDelimiter\":\"/\",\"description\":\"uses the Gaussian mixture hidden Markov model (GM HMM).\",\"type\":\"standalone\"},{\"name\":\"POISSON\",\"followsDelimiter\":\"/\",\"description\":\"uses the Poisson hidden Markov model (Poisson HMM).\",\"type\":\"standalone\"},{\"name\":\"REG\",\"followsDelimiter\":\"/\",\"description\":\"uses the regime-switching regression model (RS-REG, also known as the regression hidden Markov model, REG HMM).\",\"type\":\"standalone\"}]},{\"name\":\"XLAG=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the lags of exogenous (independent) variables. To exclude the present values of exogenous variables from the model, you must specify the NOCURRENTX option. This option applies only when you specify TYPE=AR or TYPE=REG. By default, XLAG=0.\",\"help\":\"XLAG=*number*\",\"type\":\"value\"},{\"name\":\"YLAG=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the order or the range of orders of the autoregressive process, where number1 and number2 must be nonnegative integers. If you specify YLAG=number1, the order of the autoregressive process is number1; if you specify YLAG=number1:number2, multiple models whose order of the autoregressive process is inclusively between number1 and number2 are estimated and inferred. If you specify the same number for both number1 and number2, number2 is ignored. This option applies only when you specify TYPE=AR. By default, YLAG=0.\",\"help\":\"YLAG=*number1*&lt;*:number2*&gt;\",\"type\":\"value\"}]},{\"name\":\"OPTIMIZE\",\"description\":\"The OPTIMIZE statement optimizes the parameter estimation.\",\"help\":\"OPTIMIZE &lt;options&gt;\",\"arguments\":[{\"name\":\"ALGORITHM=\",\"optional\":true,\"description\":\"specifies the optimization algorithm to use. You can specify the following types:\",\"help\":\"ALGORITHM=ACTIVESET | EM&lt;(suboptions)&gt; | INTERIORPOINT&lt;(suboptions)&gt; | IPDIRECT&lt;(suboptions)&gt; | SGD&lt;(suboptions)&gt;&lt;(suboptions)&gt;\",\"type\":\"standaloneOrValue\",\"arguments\":[{\"name\":\"ACTIVESET\",\"description\":\"uses the active set algorithm. You can specify one or more of the following suboptions in parentheses:\",\"help\":\"ACTIVESET&lt;(suboptions)&gt;\",\"type\":\"standaloneOrValue\",\"arguments\":[{\"name\":\"FEASTOL=\",\"description\":\"defines the feasible tolerance.\",\"help\":\"FEASTOL=*number*\",\"type\":\"value\"},{\"name\":\"MSRANGE=\",\"description\":\"defines the range from which each variable can take values during the sampling process in multistart mode, where number is a positive number. This option is ignored if MULTISTART=0. This option affects only the sampling process that determines starting points for the local solver. It does not affect the bounds of the original nonlinear optimization problem. By default, MSRANGE=2.\",\"help\":\"MSRANGE=*number*\",\"type\":\"value\"},{\"name\":\"MULTISTART=\",\"description\":\"specifies whether to enable multistart mode or specifies suboptions to enable the distributed multistart mode. By default, MULTISTART=0.\",\"help\":\"MULTISTART=0 | 1&lt;(suboptions)&gt;\",\"type\":\"standaloneOrValue\",\"arguments\":[{\"name\":\"0\",\"description\":\"disables multistart mode.\",\"type\":\"standalone\"},{\"name\":\"1\",\"description\":\"solves the problem from multiple starting points, possibly finding a better local optimum as a result. The computing cost in multistart mode might be huge.\",\"type\":\"standalone\"},{\"name\":\"FESESSIONS=\",\"description\":\"specifies the number of CAS subsessions that are dedicated to the function evaluations, where number is a positive integer. The default value is based on the setting of the CAS session.\",\"help\":\"FESESSIONS=*number*\",\"type\":\"value\"},{\"name\":\"FESESSNODES=\",\"description\":\"specifies the number of computing nodes in each CAS subsession that are dedicated to the function evaluations, where number is a positive integer. The default value is based on the setting of the CAS session.\",\"help\":\"FESESSNODES=*number*\",\"type\":\"value\"},{\"name\":\"MAXSTARTS=\",\"description\":\"specifies the maximum number of starting points to be used by the multistart algorithm, where number is a positive integer. By default, MAXSTARTS=100.\",\"help\":\"MAXSTARTS=*number*\",\"type\":\"value\"},{\"name\":\"SAMPSELRATIO=\",\"description\":\"specifies the ratio of the total number of sample points to be generated to the value of the MAXSTARTS= option, where number is a positive integer. By default, SAMPSELRATIO=20.\",\"help\":\"SAMPSELRATIO=*number*\",\"type\":\"value\"},{\"name\":\"SESSNODES=\",\"description\":\"specifies the number of computing nodes in the CAS session that are dedicated to the multistart algorithm, where number is a positive integer. The default value is based on the setting of the CAS session.\",\"help\":\"SESSNODES=*number*\",\"type\":\"value\"}]},{\"name\":\"OBJLIMIT=\",\"description\":\"specifies an upper limit on the magnitude of the objective value.\",\"help\":\"OBJLIMIT=*number*\",\"type\":\"value\"},{\"name\":\"OPTTOL=\",\"description\":\"specifies the measure by which the current iterate is determined to be an acceptable approximation of a local optimum, where ε is a positive real number.\",\"help\":\"OPTTOL=*ε*\",\"type\":\"value\"},{\"name\":\"SOLTYPE=\",\"description\":\"specifies the type of solution that the optimizer should return. You can specify the following values:\",\"help\":\"SOLTYPE=0 | 1\",\"type\":\"choice\",\"arguments\":[{\"name\":\"0\",\"description\":\"requests that the optimizer return a locally optimal solution, provided that it locates one.\",\"type\":\"standalone\"},{\"name\":\"1\",\"description\":\"requests that the optimizer return the best feasible solution that was found, provided that its objective value is better than that of the locally optimal solution that was found.\",\"type\":\"standalone\"}]}]},{\"name\":\"EM\",\"description\":\"uses the expectation-maximization (EM) algorithm. This algorithm is supported only for the Gaussian HMM and the maximum likelihood method. You can specify the following suboption in parentheses:\",\"help\":\"EM&lt;(suboptions)&gt;\",\"type\":\"standaloneOrValue\",\"arguments\":[{\"name\":\"MINITER=\",\"description\":\"specifies the minimum number of iterations in the optimization process, where number must be a nonnegative integer. By default, MINITER=0.\",\"help\":\"MINITER=*number*\",\"type\":\"value\"},{\"name\":\"SINGLE\",\"description\":\"executes the EM algorithm in a single thread on a single node. By default, the EM algorithm runs in parallel on multiple threads and nodes if you divide the data into sections and specify the SECTION= option in the ID statement.\",\"type\":\"standalone\"}]},{\"name\":\"INTERIORPOINT\",\"description\":\"uses the interior point algorithm. You can specify the same suboptions in parentheses that you can specify for ALGORITHM=ACTIVESET.\",\"help\":\"INTERIORPOINT &lt;(suboptions)&gt;\",\"type\":\"standaloneOrValue\"},{\"name\":\"IPDIRECT\",\"description\":\"uses the interior point direct algorithm, in which the use of direct factorizations and other enhancements can reduce both the number of iterations and the CPU time for many problem types. You can specify the same suboptions in parentheses that you can specify for ALGORITHM=INTERIORPOINT.\",\"help\":\"IPDIRECT  &lt;(suboptions)&gt;\",\"type\":\"standaloneOrValue\"},{\"name\":\"SGD\",\"description\":\"uses the stochastic gradient descent algorithm. You can specify one or more of the following suboptions in parentheses:\",\"help\":\"SGD&lt;(suboptions)&gt;\",\"type\":\"standaloneOrValue\",\"arguments\":[{\"name\":\"ADAPTIVEDECAY=\",\"description\":\"specifies the adaptive rate for the gradient descent algorithm when it is used, where the algorithm becomes ADAGRAD if ADAPTIVEDECAY=0 and becomes ADADELTA otherwise. By default, ADAPTIVEDECAY=0.95.\",\"help\":\"ADAPTIVEDECAY=*number*\",\"type\":\"value\"},{\"name\":\"ANNEALINGRATE=\",\"description\":\"specifies the annealing parameter, where number must be a nonnegative double. Annealing is a way to automatically reduce the learning rate as SGD progresses, causing smaller steps as SGD approaches a solution.\",\"help\":\"ANNEALINGRATE=*number*\",\"type\":\"value\"},{\"name\":\"CHAIN=\",\"description\":\"specifies the options for the sequence data (which constitute a chain). You can specify the following options within parentheses:\",\"help\":\"CHAIN=&lt;(options)&gt;\",\"type\":\"standaloneOrValue\",\"arguments\":[{\"name\":\"LENGTH=\",\"description\":\"specifies the length of a chain in a minibatch in optimization process, where number must be a positive integer. By default, LENGTH=1000.\",\"help\":\"LENGTH=*number*\",\"type\":\"value\"},{\"name\":\"BUFFER=\",\"description\":\"specifies the buffer length on the left side of a chain in a minibatch in optimization process, where number must be a nonnegative integer. By default, BUFFER=20.\",\"help\":\"BUFFER=*number*\",\"type\":\"value\"}]},{\"name\":\"LEARNINGRATE=\",\"description\":\"specifies the learning rate parameter, for SGD, where number must be a positive double.\",\"help\":\"LEARNINGRATE=*number*\",\"type\":\"value\"},{\"name\":\"MINIBATCHSIZE=\",\"description\":\"specifies the size of the minibatches used in SGD, where number must be a positive integer. By default, MINIBATCHSIZE=1.\",\"help\":\"MINIBATCHSIZE=*number*\",\"type\":\"value\"},{\"name\":\"MOMENTUM=\",\"description\":\"specifies the value for momentum parameter, where number must be greater than or equal to 0 and less than 1.\",\"help\":\"MOMENTUM=*number*\",\"type\":\"value\"},{\"name\":\"NONADUPDATE\",\"description\":\"suppresses the adaptive gradient descent algorithm.\",\"type\":\"standalone\"},{\"name\":\"USELOCKING\",\"description\":\"requests that computational threads share a common weight vector and that they update the weight vector without race conditions. By default, computational threads update a single weight vector simultaneously. This causes intentional race conditions and nondeterministic behavior, but it increases performance significantly.\",\"type\":\"standalone\"}]}]},{\"name\":\"COVOFPARM=\",\"optional\":true,\"description\":\"specifies whether to calculate the covariance of parameters. You can specify the following values:\",\"help\":\"COVOFPARM=YES | NO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YES\",\"description\":\"calculates the covariance of parameters.\",\"type\":\"standalone\"},{\"name\":\"NO\",\"description\":\"suppresses the calculation of the covariance of parameters.\",\"type\":\"standalone\"}]},{\"name\":\"MAXITER=\",\"optional\":true,\"description\":\"specifies the maximum number of iterations in the optimization process, where number must be a nonnegative integer. By default, MAXITER=128.\",\"help\":\"MAXITER=*number*\",\"type\":\"value\"},{\"name\":\"MAXTIME=\",\"optional\":true,\"description\":\"specifies an upper limit of t seconds for the optimization process, including problem generation time and solution time, where t can be any positive number. The default value of t is the positive number that has the largest absolute value that your operating environment can represent. If you omit this option, the optimizer does not stop on the basis of the amount of time elapsed. This option is not supported for the EM algorithm.\",\"help\":\"MAXTIME=*t*\",\"type\":\"value\"},{\"name\":\"PRINTITERFREQ=\",\"optional\":true,\"description\":\"specifies how frequently to output the optimization process history, where number must be a nonnegative integer. If PRINTITERFREQ=0, no iterations are output. If number=n and n is positive, the optimization process history is output every n iterations. By default, PRINTITERFREQ=0.\",\"help\":\"PRINTITERFREQ=*number*\",\"type\":\"value\"},{\"name\":\"PRINTLEVEL=\",\"optional\":true,\"description\":\"specifies the print level. You can specify the following values:\",\"help\":\"PRINTLEVEL=0 | 1 | 2 | 3\",\"type\":\"choice\",\"arguments\":[{\"name\":\"0\",\"description\":\"suppresses output of the initial parameter values, the initial objective value, the algorithm information, the final parameter values, and the final objective value.\",\"type\":\"standalone\"},{\"name\":\"1\",\"description\":\"outputs the initial parameter values and the initial objective value.\",\"type\":\"standalone\"},{\"name\":\"2\",\"description\":\"outputs the initial parameter values, the initial objective value, and the algorithm information.\",\"type\":\"standalone\"},{\"name\":\"3\",\"description\":\"outputs the initial parameter values, the initial objective value, the algorithm information, the final parameter values, and the final objective value.\",\"type\":\"standalone\"}]}]},{\"name\":\"PRIOR\",\"description\":\"The PRIOR statement specifies the initial hyperparameter values in the prior distributions of the parameters when the maximum a posteriori method is applied to the estimation of the HMM (that is, when METHOD=MAP in the MODEL statement). If you specify the maximum likelihood (ML) method (METHOD=ML), the PRIOR statement is ignored. You can specify only one PRIOR statement. If you specify more than one distribution, separate them with commas.The distribution is in the following format: parameter-name ~ distribution-function(arguments);\",\"help\":\"PRIOR distributions &lt;, …, distribution&gt;\",\"arguments\":[{\"name\":\"CPM\",\"optional\":true,\"description\":\"indicates the category probability matrix in the finite HMM. The prior distribution must be the Dirichlet distribution.\",\"type\":\"standalone\"},{\"name\":\"ISPV\",\"optional\":true,\"description\":\"indicates the initial state probability vector. The prior distribution must be the Dirichlet distribution.\",\"type\":\"standalone\"},{\"name\":\"LAMBDA\",\"optional\":true,\"description\":\"indicates the mean vector in the Poisson HMM. The prior distribution must be the gamma distribution.\",\"type\":\"standalone\"},{\"name\":\"MCP\",\"optional\":true,\"description\":\"indicates the mixture component probabilities in the Gaussian mixture HMM (GM HMM). The prior distribution must be the Dirichlet distribution.\",\"type\":\"standalone\"},{\"name\":\"MUSIGMA\",\"optional\":true,\"description\":\"indicates the mean and covariance parameters for the observation distributions. For the Gaussian HMM, regime-switching regression model, or regime-switching autoregression model, the prior distribution of the mean and covariance parameters for each state must be the normal-inverse-Wishart (NIW) distribution. For the GM HMM, the prior distribution of the mean and covariance parameters for each component at each state must be the normal-inverse-Wishart (NIW) distribution.\",\"type\":\"standalone\"},{\"name\":\"TPM\",\"optional\":true,\"description\":\"indicates the transition probability matrix. The prior distribution must be the Dirichlet distribution.\",\"type\":\"standalone\"},{\"name\":\"DIR\",\"optional\":true,\"description\":\"specifies the Dirichlet distribution.\",\"type\":\"standalone\"},{\"name\":\"GAMMA\",\"optional\":true,\"description\":\"specifies the gamma distribution.\",\"type\":\"standalone\"},{\"name\":\"NIW\",\"optional\":true,\"description\":\"specifies the normal-inverse-Wishart (NIW) distribution. There are four arguments for the NIW distribution (mu overTilde comma normal upper Sigma overTilde comma kappa overTilde, and nu overTilde), and they must be valid matrix expressions of the proper size.\",\"type\":\"standalone\"},{\"name\":\"LAMBDA\",\"optional\":true,\"description\":\"indicates the mean vector in the Poisson HMM. The prior distribution must be the gamma distribution.\",\"type\":\"standalone\"}]},{\"name\":\"SCORE\",\"description\":\"The SCORE statement specifies options that are related to scoring data.\",\"help\":\"SCORE \",\"arguments\":[{\"name\":\"INMODEL=\",\"description\":\"specifies the input data table for model information. The data table must be an output data table that is produced by the OUTMODEL= option in a previous call of the HMM procedure. When you specify this option, the IN= option in the ESTIMATE statement and the ID, INITIAL, MODEL, OPTIMIZE, and PRIOR statements are ignored.\",\"help\":\"INMODEL=*libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"OUTMODEL=\",\"description\":\"writes the model information to the specified output data table. The output data table consists of binary large object columns to store the binary data. Do not edit the content of this output data table. If you run the PRINT procedure on this data table, you get a row of zeros or meaningless characters because the data type of each column is binary.\",\"help\":\"OUTMODEL=*libref.data-table*\",\"type\":\"dataSet\"}]},{\"name\":\"SMOOTH\",\"description\":\"The SMOOTH statement specifies options that are related to the smoothing problem, which is to find the probability distribution of the state, conditional on all available observations.\",\"help\":\"SMOOTH \",\"arguments\":[{\"name\":\"OUT=\",\"description\":\"writes the smoothing results to the specified output data table.\",\"help\":\"OUT=*libref.data-table*\",\"type\":\"dataSet\"}]},{\"name\":\"STORE\",\"description\":\"The STORE statement saves the model information to the specified output data table that can be processed by the ASTORE procedure.\",\"help\":\"STORE &lt;OUT=&gt;*libref.data-table*\"}],\"supportSiteInformation\":{\"docsetId\":\"casecon\",\"docsetVersion\":\"latest\",\"docsetTargetFile\":\"casecon_hmm_toc.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/HP4SCORE.json",
    "content": "{\"name\":\"HP4SCORE\",\"statements\":[{\"name\":\"PROC HP4SCORE\",\"description\":\"The HP4SCORE procedure is a high-performance procedure that scores a data set with a forest predictive model that was previously trained by the HPFOREST procedure. † The forest predictive model is an ensemble of hundreds of decision trees that are used to predict a target. The target can have either an interval or a nominal measurement level. Each decision tree consists of a sequence of rules that are applied to the observation to arrive at the prediction. The final prediction is either an average of the individual predictions for a target that has an interval measurement level or is derived from the average of the individual posterior probabilities for a target that has a nominal measurement level. † The HP4SCORE procedure can score the data in distributed form in parallel when executed in the symmetric multiprocessing (SMP) or massively parallel processing (MPP) mode\",\"help\":\"PROC HP4SCORE <DATA=<libref.>SAS-data-set>;     \\n\\tCODE <FILE= filename> ;\\n\\n\\tID variables ;\\n\\n\\tPERFORMANCE <COMMIT=n><CPUCOUNT=<ACTUAL | <num>>><DATASERVER=“name”> ...;\\n\\n\\tSCORE <FILE=<>model-file-name><OUT=<libref.>SAS-data-set> ;\\n\",\"arguments\":[{\"name\":\"DATA=\",\"optional\":true,\"description\":\"Names the SAS data set to be used for scoring by PROC HP4SCORE.\",\"type\":\"value\"}]},{\"name\":\"CODE\",\"description\":\"The CODE statement is optional for proc hpbin. If CODE statement is provided, the score code will be generated and saved into the specified the file which can be used for scoring purpose. Only one CODE statement is processed. If multiple code statements exist, the first one will be used.\",\"help\":\"CODE &lt;FILE= filename&gt;\",\"arguments\":[{\"name\":\"FILE=\",\"optional\":true,\"description\":\"If CODE statement is provided, the score code will be generated and saved into the specified the file which can be used for scoring purpose.\",\"type\":\"value\"}]},{\"name\":\"ID\",\"description\":\"The ID statement lists one or more variables from the input data set that are transferred to the output data set. The ID statement accepts numeric and character variables. The ID statement is optional.\",\"help\":\"ID variables \"},{\"name\":\"PERFORMANCE\",\"description\":\"The PERFORMANCE statement defines performance parameters for multithreaded and distributed computing, passes variables about the distributed computing environment, and requests detailed results about the performance characteristics of a High-Performance Analytics procedure. You can also use the PERFORMANCE statement to control whether the HP4SCORE procedure executes in symmetric multiprocessing or massively parallel mode.\",\"help\":\"PERFORMANCE &lt;COMMIT=n&gt;&lt;CPUCOUNT=&lt;ACTUAL | &lt;num&gt;&gt;&gt;&lt;DATASERVER=“name”&gt; ...\",\"arguments\":[{\"name\":\"COMMIT=\",\"optional\":true,\"description\":\"Requests that the High-Performance Analytics procedure write periodic updates to the SAS Log when observations are sent from the client to the appliance for distributed processing.\",\"help\":\"COMMIT=*n*\",\"type\":\"value\"},{\"name\":\"CPUCOUNT=\",\"optional\":true,\"description\":\"Specifies how many processors the procedure assumes are available on each host in the computing environment. num can be any integer from 1 to 256. CPUCOUNT=ACTUAL sets CPUCOUNT to the number of physical processors available. This number can be less than the physical number of CPUs if the SAS process has been restricted by system administration tools. Setting CPUCOUNT= to a number greater than the actual number of available CPUs might result in reduced performance. This option overrides the CPUCOUNT= SAS system option.\",\"help\":\"CPUCOUNT=ACTUAL | &lt;*num*&gt;\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ACTUAL\",\"description\":\"Sets CPUCOUNT to the number of physical processors available. This number can be less than the physical number of CPUs if the SAS process has been restricted by system administration tools.\",\"type\":\"standalone\"},{\"name\":\"num\",\"placeholder\":true,\"description\":\"Replace <num> with an actual number. Setting CPUCOUNT= to a number greater than the actual number of available CPUs might result in reduced performance. This option overrides the CPUCOUNT= SAS system option.\",\"type\":\"standaloneOrValue\"}]},{\"name\":\"DATASERVER=\",\"optional\":true,\"description\":\"Specifies the name of the server on Teradata systems as defined through the hosts file and as used in the LIBNAME statement for Teradata. For example, if the hosts file defines myservercop1 33.44.55.66 as the server for Teradata, then a LIBNAME specification would be as follows: libname TDLib teradata server=myserver user= password= database= ; A PERFORMANCE statement to induce running alongside the Teradata server would specify the following:\",\"type\":\"value\"},{\"name\":\"DETAILS\",\"optional\":true,\"description\":\"Requests a table that shows a timing breakdown of the procedure steps.\",\"type\":\"standalone\"},{\"name\":\"HOST=\",\"optional\":true,\"aliases\":[\"GRIDHOST=\"],\"description\":\"Specifies the name of the appliance host in single or double quotes. If the HOST= option is specified, it overrides the value of the GRIDHOST environment variable.\",\"type\":\"value\"},{\"name\":\"INSTALL=\",\"optional\":true,\"aliases\":[\"INSTALLLOC=\"],\"description\":\"Specifies the directory in which the High-Performance Analytics shared libraries are installed on the appliance. Specifying the INSTALL= option overrides the GRIDINSTALLLOC environment variable.\",\"type\":\"value\"},{\"name\":\"NODES=\",\"optional\":true,\"aliases\":[\"NNODES=\"],\"description\":\"Specifies the number of nodes in the distributed computing environment, provided that the data are not processed alongside the database.\",\"type\":\"value\"},{\"name\":\"NTHREADS=\",\"optional\":true,\"description\":\"Specifies the number of threads for analytic computations and overrides the SAS system option THREADS | NOTHREADS. If you do not specify the NTHREADS= option, the number of threads are determined based on the number of CPUs on the host on which the analytic computations execute. The algorithm by which a CPU count is converted to a thread count is specific to the High- Performance Analytics procedure. Most procedures create one thread per CPU for the analytic computations. By default, High-Performance Analytics procedures execute in multiple concurrent threads unless turned off by the NOTHREADS system option or you force single-threaded execution with NTHREADS=1. The largest number that can be specified for n is 256. Individual High-Performance Analytics procedures can impose more stringent limits if called for by algorithmic considerations. You can affect the determination of the CPU count with the CPUCOUNT= option in the PERFORMANCE statement.\",\"help\":\"NTHREADS=*n*\",\"type\":\"value\"},{\"name\":\"TIMEOUT=\",\"optional\":true,\"description\":\"Specifies the timeout in seconds for a High-Performance Analytics procedure to wait for a connection to the appliance and establish a connection back to the client. The default is s=120 seconds. If jobs are submitted to the appliance through workload management tools that might suspend access to the appliance for a longer period, you might want to increase the timeout value.\",\"help\":\"TIMEOUT=*s*\",\"type\":\"value\"}]},{\"name\":\"SCORE\",\"description\":\"The SCORE statement specifies the name of the model file and the output data set name.\",\"help\":\"SCORE &lt;FILE=&lt;&gt;model-file-name&gt;&lt;OUT=&lt;libref.&gt;SAS-data-set&gt;\",\"arguments\":[{\"name\":\"FILE=\",\"optional\":true,\"description\":\"Specifies either the file reference or the full path and member name of the valid model file created by PROC HPFOREST.\",\"type\":\"value\"},{\"name\":\"OUT=\",\"optional\":true,\"description\":\"Names the SAS data set output by PROC HP4SCORE which contains the scored results.\",\"type\":\"value\"}]}],\"supportSiteInformation\":{\"docsetId\":\"emhpprcref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"emhpprcref_hp4score_toc.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/HPBIN.json",
    "content": "{\"name\":\"HPBIN\",\"statements\":[{\"name\":\"PROC HPBIN\",\"description\":\"Binning is a common step in the data preparation stage of the model building process. One can use binning to classify missing variables, reduce the impact of outliers, or generate multiple effects. The generated effects are useful and contain certain nonlinear information of the original interval variables. † The HPBIN procedure conducts high-performance binning using either bucket binning, winsorized binning or pseudo-quantile binning. Like other high-performance procedures, the HPBIN procedure can read and write data in distributed form. And it can perform computation in parallel in either symmetric multiprocessing (SMP) or massively parallel processing (MPP) mode. † The HPBIN procedure has following features. † o performs analysis on a massively parallel SAS high-performance appliance o reads input data in parallel and writes output data in parallel when the data source is on the appliance database o is highly multithreaded during all phases of analytic execution o provides a bucket, or equal length, binning method o provides a winsorized binning method and winsorized statistics o provides a pseudo-quantile binning method, which is similar to quantile binning o provides a mapping table for the selected binning method o provides a basic statistic table which contains minimum, maximum, mean, pseudo-median, etc. o provides a histogram table showing the output mapping statistics o provides an estimation of pseudo-quantile table\",\"help\":\"PROC HPBIN <BINS_META=SAS-data-set><BUCKET><COMPUTEHIST><COMPUTEQUANTILE><COMPUTESTATS><DATA=SAS-data-set><NOPRINT><NUMBIN=integer><OUTPUT=SAS-data-set><PSEUDO_QUANTILE><WINSOR><WINSOR WINSORRATE=number><WOE><WOEADJUST=number>;     \\n\\tCODE <FILE= filename> ;\\n\\n\\tFREQ variable ;\\n\\n\\tID id-1 id-2 ... id-n ;\\n\\n\\tINPUT <NUMBIN=integer> ;\\n\\n\\tPERFORMANCE <COMMIT=n><CPUCOUNT=<ACTUAL | <num>>><DATASERVER=“name”> ...;\\n\\n\\tTARGET <LEVEL=level><ORDER=order> ;\\n\\n\\tVAR var-1 var-2 ... var-n;\\n\",\"arguments\":[{\"name\":\"BINS_META=\",\"optional\":true,\"description\":\"Specifies the BINS_META input data set, which contains the binning results. The BINS_META data set contains six variables: variable name, bin variable name, lower bound, upper bound, bin, and SAS Enterprise Miner bin label. The mapping table that is generated by PROC HPBIN can be used as the BINS_META data set.\",\"help\":\"BINS_META=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"BUCKET\",\"optional\":true,\"description\":\"If you specify BUCKET, then PROC HPBIN uses equal-length binning.\",\"type\":\"standalone\"},{\"name\":\"COMPUTEHIST\",\"optional\":true,\"description\":\"Specifies the histogram table to be printed. If you specify COMPUTEHIST, PROC HPBIN prints the histogram table, which contains frequencies of the mapping result for each mapping range. The histogram table contains five variables: variable name, bin variable name, bin, frequency, and range.\",\"type\":\"standalone\"},{\"name\":\"COMPUTEQUANTILE\",\"optional\":true,\"description\":\"If option COMPUTEQUANTILE is specified, the estimated quantile table is provided. The table contains the following percentages 0%, 1%, 5%, 10%, 25%, 50%, 75%, 90%, 95%, 99% and 100%.\",\"type\":\"standalone\"},{\"name\":\"COMPUTESTATS\",\"optional\":true,\"description\":\"If option COMPUTESTATS is specified, the basic statistic information is computed and the ODS output can be provided. The output table contains minimum, maximum, mean, std, pseudo-median, ect.\",\"type\":\"standalone\"},{\"name\":\"DATA=\",\"optional\":true,\"description\":\"Specifies the input SAS data set or database table to be used by PROC HPBIN.\",\"help\":\"DATA=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"NOPRINT\",\"optional\":true,\"description\":\"Specify this option to suppress the generation of ODS outputs. The output table is generated if output option presents.\",\"type\":\"standalone\"},{\"name\":\"NUMBIN=\",\"optional\":true,\"description\":\"Specifies the global number of binning levels for all binning variables. The value of integer can be any integer between 2 and 1,000, inclusive. The default number of binning levels is 16, which is used in SAS Enterprise Miner. The resulting number of binning levels might be less than integer if the sample size is small or if the data are not normalized. In this case, PROC HPBIN provides a warning message.\",\"help\":\"NUMBIN=*integer*\",\"type\":\"value\"},{\"name\":\"OUTPUT=\",\"optional\":true,\"description\":\"Creates an output SAS data set in SMP mode or database table that is saved alongside the distributed database in MPP mode. The output data set or table contains binning variables. The variables in the input data set are not included in the output data set to avoid data duplication for large data sets.\",\"help\":\"OUTPUT=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"PSEUDO_QUANTILE\",\"optional\":true,\"description\":\"If you specify PSEUDO_QUANTILE, then PROC HPBIN generates a result that approximates the quantile binning.\",\"type\":\"standalone\"},{\"name\":\"WINSOR\",\"optional\":true,\"description\":\"If you specify WINSOR, PROC HPBIN uses Winsorized binning, and you must specify the WINSORRATE option with a value from 0.0 to 0.5 exclusive for number.\",\"type\":\"standalone\"},{\"name\":\"WINSORRATE=\",\"optional\":true,\"description\":\"If you specify WINSOR, PROC HPBIN uses Winsorized binning, and you must specify the WINSORRATE option with a value from 0.0 to 0.5 exclusive for number.\",\"help\":\"WINSORRATE=*number*\",\"type\":\"value\"},{\"name\":\"WOE\",\"optional\":true,\"description\":\"Specifies that the weight of evidence (WOE) and information value (IV) be computed.\",\"type\":\"standalone\"},{\"name\":\"WOEADJUST=\",\"optional\":true,\"description\":\"Specifies the adjustment factor for the weight-of-evidence calculation. You can specify any value from 0.0 to 1.0, inclusive, for number. The default is 0.5.\",\"help\":\"WOEADJUST=*number*\",\"type\":\"value\"}]},{\"name\":\"CODE\",\"description\":\"The CODE statement is optional in PROC HPBIN. If you use a CODE statement, score code is generated and stored in a file that can be used for scoring purposes. Only one CODE statement is processed. If you specify multiple CODE statements, only the first one is used.\",\"help\":\"CODE &lt;FILE= filename&gt;\",\"arguments\":[{\"name\":\"FILE=\",\"optional\":true,\"description\":\"If you use a CODE statement, score code is generated and stored in a file that can be used for scoring purposes.\",\"type\":\"value\"}]},{\"name\":\"FREQ\",\"description\":\"The variable in the FREQ statement identifies a numeric variable in the data set that contains the frequency of occurrence for each observation. The HPBIN procedure treats each observation as if it appeared f times, where f is the value of the FREQ variable for the observation. If the frequency value is not an integer, it is truncated to an integer. If the frequency value is less than 1 or missing, the observation is not used in the analysis. When the FREQ statement is not specified, each observation is assigned a frequency of 1. NOTE: For bucket binning, the frequency option has no effect.\",\"help\":\"FREQ variable \"},{\"name\":\"ID\",\"description\":\"The optional ID statement lists one or more variables from the input data set to be transferred to the output data set. If you specify an ID statement, the output data set contains the ID variables: id1 id2 . . . idn. The ID statement accepts both numeric and character variables. By default, the HPBIN procedure does not include any variables from the input data set in the output data set to avoid data duplication for large data sets. The variables in an ID statement can also appear in an INPUT statement. Therefore, the ID statement can be used to copy variables from the input data set to the output data set.\",\"help\":\"ID id-1 id-2 ... id-n \"},{\"name\":\"INPUT\",\"description\":\"The INPUT statement names one or more variables as input variables for binning. The specified variables must be interval variables. If classification variables are provided, PROC HPBIN stops with an error message. PROC HPBIN does not support duplicate variables. If the INPUT statement contains a duplicate variable, PROC HPBIN takes only the first variable and provides a warning message.\",\"help\":\"INPUT &lt;NUMBIN=integer&gt;\",\"arguments\":[{\"name\":\"NUMBIN=\",\"optional\":true,\"description\":\"Specifies the number of binning levels for all the binning variables in the current INPUT statement. The value of integer can be any integer between 2 and 1,000, inclusive. The resulting number of binning levels might be less than integer if the sample size is small or if the data are not normalized. In these cases, PROC HPBIN provides a warning message.\",\"help\":\"NUMBIN=*integer*\",\"type\":\"value\"}]},{\"name\":\"PERFORMANCE\",\"description\":\"The PERFORMANCE statement defines performance parameters for multi-threaded and distributed computing, communicates variable information regarding the distributed computing environment, and requests detailed results about the performance characteristics of the HPBIN procedure. With the PERFORMANCE statement, you can control whether the HPBIN procedure executes in symmetric multiprocessing or massively parallel mode.\",\"help\":\"PERFORMANCE &lt;COMMIT=n&gt;&lt;CPUCOUNT=&lt;ACTUAL | &lt;num&gt;&gt;&gt;&lt;DATASERVER=“name”&gt; ...\",\"arguments\":[{\"name\":\"COMMIT=\",\"optional\":true,\"description\":\"This option specifies the minimum number of observations transferred from the client to the appliance necessary to update the SAS Log. For instance, if you specify COMMIT=5000, then every time the number of observations sent exceeds an integer multiple of 5000 a log message is produced. This message indicates the actual number of observations distributed, not the COMMIT= value that triggered the message.\",\"help\":\"COMMIT=*n*\",\"type\":\"value\"},{\"name\":\"CPUCOUNT=\",\"optional\":true,\"description\":\"This argument specifies how many processors PROC HPBIN assumes are available on each host in the computing environment. Valid values for number are integers between 1 and 256, inclusive. Setting CPUCOUNT= to a value greater than the actual number of available CPUs might results in reduced performance. Specify CPUCOUNT=ACTUAL to set CPUCOUNT= to the number of processors physically available. This number can be less than the physical number of CPUs if the SAS process has been restricted by system administration tools. This option overrides the CPUCOUNT= SAS system option. If PROC HPBIN executes in SMP mode, then this option referes to the client machine of the SAS session. If PROC HPBIN executes in MPP mode, then this option applies the nodes on the appliance.\",\"help\":\"CPUCOUNT=ACTUAL | &lt;*num*&gt;\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ACTUAL\",\"description\":\"Sets CPUCOUNT to the number of processors physically available. This number can be less than the physical number of CPUs if the SAS process has been restricted by system administration tools.\",\"type\":\"standalone\"},{\"name\":\"num\",\"placeholder\":true,\"description\":\"Replace <num> with an actual number. Setting CPUCOUNT= to a number greater than the actual number of available CPUs might result in reduced performance. This option overrides the CPUCOUNT= SAS system option.\",\"type\":\"standaloneOrValue\"}]},{\"name\":\"DATASERVER=\",\"optional\":true,\"description\":\"Specifies the name of the server on Teradata systems as defined through the hosts file and as used in the LIBNAME statement for Teradata. For example, if the hosts file defines myservercop1 33.44.55.66 as the server for Teradata, then a LIBNAME specification would be as follows: libname TDLib teradata server=myserver user= password= database= ; A PERFORMANCE statement to induce running alongside the Teradata server would specify the following:\",\"type\":\"value\"},{\"name\":\"DETAILS\",\"optional\":true,\"description\":\"Specify this option to request a table that shows a timing breakdown of the procedure steps.\",\"type\":\"standalone\"},{\"name\":\"HOST=\",\"optional\":true,\"aliases\":[\"GRIDHOST=\"],\"description\":\"This option specifies the name of the appliance host. The HOST= option overrides the value of the GRIDHOST environment variable.\",\"type\":\"value\"},{\"name\":\"INSTALL=\",\"optional\":true,\"aliases\":[\"INSTALLLOC=\"],\"description\":\"This option specifies the directory where the High-Performance Analytics shared libraries are installed on the appliance. Specifying the INSTALL= option overrides the GRIDINSTALLLOC environment variable.\",\"type\":\"value\"},{\"name\":\"NODES=\",\"optional\":true,\"aliases\":[\"NNODES=\"],\"description\":\"This option specifies the number of nodes in the distributed computing environment, provided that the data are not processed alongside the database. Specify NODES=0 to indicate that you want to process the data in SMP mode on the client machine. If the input data are not alongside the database, this is the default setting. The HPBIN procedure then performs multithreaded analysis on the client. If the data are not read alongside the database, the NODES= option specifies the number of nodes on the appliance that are involved in the analysis. If the number of nodes can be modified by the application, you can specify a NODES= option where n exceeds the number of physical nodes on the appliance. The High-Performance Analytics software then oversubscribes the nodes and associates nodes with multiple units of work. For example, on a system with 16 appliance nodes, the following statement would oversubscribe the system by a factor of 3:\",\"type\":\"value\"},{\"name\":\"NTHREADS=\",\"optional\":true,\"description\":\"This option specifies the number of threads used for analytic computations and overrides the SAS system option THREADS | NOTHREADS. If you do not specify the NTHREADS= option, then the number of threads is determined based on the number of CPUs on the host machine where the analytic computations execute. By default, High-Performance Analytics procedures execute in multiple concurrent threads, unless you disable this behavior with the NOTHREADS system option or you specify NTHREADS=1 to force single-threaded execution. The value specified here must not exceed 256.\",\"help\":\"NTHREADS=*n*\",\"type\":\"value\"},{\"name\":\"TIMEOUT=\",\"optional\":true,\"description\":\"This options specifies the length of time, in seconds, PROC HPBIN should wait for a connection to the appliance and to establish a connection back to the client. The default value for s is 120 seconds. If jobs are submitted to the appliance through workload management tools that might suspend access to the appliance for a longer period, you might want to increase the timeout value.\",\"help\":\"TIMEOUT=*s*\",\"type\":\"value\"}]},{\"name\":\"TARGET\",\"description\":\"The TARGET statement names the variable that PROC HPBIN uses to calculate the weight of evidence and information value. You can specify the following arguments: LEVEL=level specifies the level of the target variable. The values of level can be BINARY or NOMINAL. ORDER=order specifies the order of the target variable. The values of order can be ASCENDING or DESCENDING.\",\"help\":\"TARGET &lt;LEVEL=level&gt;&lt;ORDER=order&gt;\",\"arguments\":[{\"name\":\"LEVEL=\",\"optional\":true,\"description\":\"Specifies the level of the target variable. The values of level can be BINARY or NOMINAL.\",\"help\":\"LEVEL=*level*\",\"type\":\"value\"},{\"name\":\"ORDER=\",\"optional\":true,\"description\":\"Specifies the order of the target variable. The values of order can be ASCENDING or DESCENDING.\",\"help\":\"ORDER=*order*\",\"type\":\"value\"}]},{\"name\":\"VAR\",\"description\":\"[New in SAS HPA Server 12.2: You can use the new INPUT statement as an alias for the VAR statement.] The list of interval variables which will be the input as the binning variables. Unlike other PROCs, the VAR statement is required for PROC HPBIN. If the statement does not exist, the process stops. The selected variables must be intervals, if class variables are provided, the process stops with error message. Duplicated variables are not supported in proc hpbin. If a duplicated variable exists in the VAR statement, process stops with error message. Input variables are not allowed in ID statement nor as a frequency variable.\",\"help\":\"VAR var-1 var-2 ... var-n\"}],\"supportSiteInformation\":{\"docsetId\":\"prochp\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"prochp_hpbin_toc.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/HPCANDISC.json",
    "content": "{\"name\":\"HPCANDISC\",\"statements\":[{\"name\":\"PROC HPCANDISC\",\"description\":\"The HPCANDISC procedure is a high-performance procedure that performs canonical discriminant analysis. It is a high-performance version of the CANDISC procedure in SAS/STAT software. PROC HPCANDISC runs in either single-machine mode or distributed mode. † Note: Distributed mode requires SAS High-Performance Statistics.\",\"help\":\"PROC HPCANDISC <ALL><ANOVA><BCORR><BCOV><BSSCP><DATA=SAS-data-set><DISTANCE><NCAN=n><NOPRINT><OUT=SAS-data-set><OUTSTAT=SAS-data-set><PCORR><PCOV><PREFIX=name><PSSCP><SHORT><SIMPLE><SINGULAR=p><STDMEAN><TCORR><TCOV><TSSCP><WCORR><WCOV><WSSCP>;     \\n\\tBY <DESCENDING><NOTSORTED> ;\\n\\n\\tCLASS variable ;\\n\\n\\tFREQ variable;\\n\\n\\tID variables;\\n\\n\\tPERFORMANCE <COMMIT=n><DETAILS><GRIDHOST=\\\"name\\\"> ...;\\n\\n\\tVAR variables;\\n\\n\\tWEIGHT variable;\\n\",\"arguments\":[{\"name\":\"ALL\",\"optional\":true,\"description\":\"Activates all of the display options.\",\"type\":\"standalone\"},{\"name\":\"ANOVA\",\"optional\":true,\"description\":\"Displays univariate statistics for testing the hypothesis that the class means are equal in the population for each variable.\",\"type\":\"standalone\"},{\"name\":\"BCORR\",\"optional\":true,\"description\":\"Displays between-class correlations.\",\"type\":\"standalone\"},{\"name\":\"BCOV\",\"optional\":true,\"description\":\"Displays between-class covariances.\",\"type\":\"standalone\"},{\"name\":\"BSSCP\",\"optional\":true,\"description\":\"Displays the between-class SSCP matrix.\",\"type\":\"standalone\"},{\"name\":\"DATA=\",\"optional\":true,\"description\":\"Specifies the data set to be analyzed. The data set can be an ordinary SAS data set or one of several specially structured data sets created by SAS statistical procedures.\",\"help\":\"DATA=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"DISTANCE\",\"optional\":true,\"aliases\":[\"MAHALANOBIS\"],\"description\":\"Displays squared Mahalanobis distances between the group means, F statistics, and the corresponding probabilities of greater squared Mahalanobis distances between the group means.\",\"type\":\"standalone\"},{\"name\":\"NCAN=\",\"optional\":true,\"description\":\"Specifies the number of canonical variables to be computed. The value of n must be less than or equal to the number of variables. If you specify NCAN=0, PROC HPCANDISC displays the canonical correlations but not the canonical coefficients, structures, or means. A negative value suppresses the canonical analysis entirely.\",\"help\":\"NCAN=*n*\",\"type\":\"value\"},{\"name\":\"NOPRINT\",\"optional\":true,\"description\":\"Suppresses the normal display of results. This option temporarily disables the Output Delivery System (ODS).\",\"type\":\"standalone\"},{\"name\":\"OUT=\",\"optional\":true,\"description\":\"Creates an output SAS data set to contain observationwise canonical variable scores. The variables in the input data set are not included in the output data set to avoid data duplication for large data sets; however, variables that are specified in the ID statement are included.\",\"help\":\"OUT=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"OUTSTAT=\",\"optional\":true,\"description\":\"Creates a TYPE=CORR output SAS data set that contains various statistics, including class means, standard deviations, correlations, canonical correlations, canonical structures, canonical coefficients, and means of canonical variables for each class level.\",\"help\":\"OUTSTAT=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"PCORR\",\"optional\":true,\"description\":\"Displays pooled within-class correlations (partial correlations based on the pooled within-class covariances).\",\"type\":\"standalone\"},{\"name\":\"PCOV\",\"optional\":true,\"description\":\"Displays pooled within-class covariances.\",\"type\":\"standalone\"},{\"name\":\"PREFIX=\",\"optional\":true,\"description\":\"Specifies a prefix for naming the canonical variables. By default, the names are Can1, Can2, Can3, and so on. If you specify PREFIX=Abc, the components are named Abc1, Abc2, and so on. The number of characters in the prefix plus the number of digits required to designate the canonical variables should not exceed 32. The prefix is truncated if the combined length exceeds 32.\",\"help\":\"PREFIX=*name*\",\"type\":\"value\"},{\"name\":\"PSSCP\",\"optional\":true,\"description\":\"Displays the pooled within-class corrected SSCP matrix.\",\"type\":\"standalone\"},{\"name\":\"SHORT\",\"optional\":true,\"description\":\"Suppresses the display of canonical structures, canonical coefficients, and class means on canonical variables; only tables of canonical correlations and multivariate test statistics are displayed.\",\"type\":\"standalone\"},{\"name\":\"SIMPLE\",\"optional\":true,\"description\":\"Displays simple descriptive statistics for the total sample and within each class.\",\"type\":\"standalone\"},{\"name\":\"SINGULAR=\",\"optional\":true,\"description\":\"Specifies the criterion for determining the singularity of the total-sample correlation matrix and the pooled within-class covariance matrix, where 0 < p < 1. The default is SINGULAR=1E–8.\",\"help\":\"SINGULAR=*p*\",\"type\":\"value\"},{\"name\":\"STDMEAN\",\"optional\":true,\"description\":\"Displays total-sample and pooled within-class standardized class means.\",\"type\":\"standalone\"},{\"name\":\"TCORR\",\"optional\":true,\"description\":\"Displays total-sample correlations.\",\"type\":\"standalone\"},{\"name\":\"TCOV\",\"optional\":true,\"description\":\"Displays total-sample covariances.\",\"type\":\"standalone\"},{\"name\":\"TSSCP\",\"optional\":true,\"description\":\"Displays the total-sample corrected SSCP matrix.\",\"type\":\"standalone\"},{\"name\":\"WCORR\",\"optional\":true,\"description\":\"Displays within-class correlations for each class level.\",\"type\":\"standalone\"},{\"name\":\"WCOV\",\"optional\":true,\"description\":\"Displays within-class covariances for each class level.\",\"type\":\"standalone\"},{\"name\":\"WSSCP\",\"optional\":true,\"description\":\"Displays the within-class corrected SSCP matrix for each class level.\",\"type\":\"standalone\"}]},{\"name\":\"BY\",\"description\":\"You can specify a BY statement with PROC HPCANDISC to obtain separate analyses of observations in groups that are defined by the BY variables. When a BY statement appears, the procedure expects the input data set to be sorted in order of the BY variables. If you specify more than one BY statement, only the last one specified is used. If your input data set is not sorted in ascending order, use one of the following alternatives: • Sort the data by using the SORT procedure with a similar BY statement. • Specify the NOTSORTED or DESCENDING option in the BY statement for the BCHOICE procedure. The NOTSORTED option does not mean that the data are unsorted but rather that the data are arranged in groups (according to values of the BY variables) and that these groups are not necessarily in alphabetical or increasing numeric order. • Create an index on the BY variables by using the DATASETS procedure (in Base SAS software).\",\"help\":\"BY &lt;DESCENDING&gt;&lt;NOTSORTED&gt;\",\"arguments\":[{\"name\":\"DESCENDING\",\"optional\":true,\"description\":\"Specifies that the observations are sorted in descending order by the variable that immediately follows the word DESCENDING in the BY statement.\",\"type\":\"standalone\"},{\"name\":\"NOTSORTED\",\"optional\":true,\"description\":\"Specifies that observations are not necessarily sorted in alphabetic or numeric order.\",\"type\":\"standalone\"}]},{\"name\":\"CLASS\",\"description\":\"The values of the CLASS variable define the groups for analysis. Class levels are determined by the formatted values of the CLASS variable. The CLASS variable can be numeric or character. A CLASS statement is required.\",\"help\":\"CLASS variable \"},{\"name\":\"FREQ\",\"description\":\"The variable in the FREQ statement identifies a numeric variable in the data set that contains the frequency of occurrence of each observation. SAS high-performance analytics procedures that support the FREQ statement treat each observation as if it appeared f times, where f is the value of the FREQ variable for the observation. If the frequency value is not an integer, it is truncated to an integer. If the frequency value is less than 1 or missing, the observation is not used in the analysis. When the FREQ statement is not specified, each observation is assigned a frequency of 1.\",\"help\":\"FREQ variable\"},{\"name\":\"ID\",\"description\":\"The ID statement lists one or more variables from the input data set that are transferred to output data sets created by SAS high-performance analytics procedures, provided that the output data set produces one (or more) records per input observation.\",\"help\":\"ID variables\"},{\"name\":\"PERFORMANCE\",\"description\":\"The PERFORMANCE statement defines performance parameters for multithreaded and distributed computing, passes variables about the distributed computing environment, and requests detailed results about the performance characteristics of a High-Performance Analytics procedure. You can also use the PERFORMANCE statement to control whether a high-performance analytical procedure executes in single-machine or distributed mode.\",\"help\":\"PERFORMANCE &lt;COMMIT=n&gt;&lt;DETAILS&gt;&lt;GRIDHOST=\\\"name\\\"&gt; ...\",\"arguments\":[{\"name\":\"COMMIT=\",\"optional\":true,\"description\":\"Requests that the High-Performance Analytics procedure write periodic updates to the SAS Log when observations are sent from the client to the appliance for distributed processing.\",\"help\":\"COMMIT=*n*\",\"type\":\"value\"},{\"name\":\"DETAILS\",\"optional\":true,\"description\":\"Requests a table that shows a timing breakdown of the procedure steps.\",\"type\":\"standalone\"},{\"name\":\"GRIDHOST=\",\"optional\":true,\"aliases\":[\"HOST=\"],\"description\":\"Syntax: GRIDHOST=\\\"name\\\" HOST=\\\"name\\\"\",\"help\":\"GRIDHOST=\\\"*name*\\\"\",\"type\":\"value\"},{\"name\":\"GRIDMODE=\",\"optional\":true,\"aliases\":[\"MODE=\"],\"description\":\"Is a deprecated option that specifies whether to run the high-performance analytical procedure in symmetric (SYM) mode or asymmetric (ASYM) mode. This option overrides the GRIDMODE environment variable.\",\"help\":\"GRIDMODE=SYM | ASYM\",\"type\":\"choice\",\"arguments\":[{\"name\":\"SYM\",\"description\":\"Specifies to run the high-performance analytical procedure in symmetric (SYM) mode\",\"type\":\"standalone\"},{\"name\":\"ASYM\",\"description\":\"Specifies to run the high-performance analytical procedure in asymmetric (ASYM) mode.\",\"type\":\"standalone\"}]},{\"name\":\"GRIDTIMEOUT=\",\"optional\":true,\"aliases\":[\"TIMEOUT=\"],\"description\":\"Specifies the time-out in seconds for a high-performance analytical procedure to wait for a connection to the appliance and establish a connection back to the client. The default is 120 seconds. If jobs are submitted to the appliance through workload management tools that might suspend access to the appliance for a longer period, you might want to increase the time-out value.\",\"type\":\"value\"},{\"name\":\"INSTALL=\",\"optional\":true,\"aliases\":[\"INSTALLLOC=\"],\"description\":\"Specifies the directory in which the shared libraries for the high-performance analytical procedure are installed on the appliance. Specifying the INSTALL= option overrides the GRIDINSTALLLOC environment variable.\",\"type\":\"value\"},{\"name\":\"LASRSERVER=\",\"optional\":true,\"aliases\":[\"LASR=\"],\"description\":\"Specifies the fully qualified path to the description file of a SAS LASR Analytic Server instance. If the input data set is held in memory by this LASR Analytic Server instance, then the procedure runs alongside LASR. This option is not needed to run alongside LASR if the DATA= specification of the input data uses a libref that is associated with a LASR Analytic Server instance.\",\"type\":\"value\"},{\"name\":\"NODES=\",\"optional\":true,\"aliases\":[\"NNODES=\"],\"description\":\"Specifies the number of nodes in the distributed computing environment, provided that the data are not processed alongside the database.\",\"type\":\"value\"},{\"name\":\"NTHREADS=\",\"optional\":true,\"aliases\":[\"THREADS=\"],\"description\":\"Specifies the number of threads for analytic computations and overrides the SAS system option THREADS | NOTHREADS. If you do not specify the NTHREADS= option, the number of threads is determined based on the number of CPUs on the host on which the analytic computations execute. The algorithm by which a CPU count is converted to a thread count is specific to the high-performance analytical procedure. Most procedures create one thread per CPU for the analytic computations. By default, high-performance analytical procedures run in multiple concurrent threads unless multithreading has been turned off by the NOTHREADS system option or you force single-threaded execution by specifying NTHREADS=1. The largest number that can be specified for n is 256. Individual high-performance analytical procedures can impose more stringent limits if called for by algorithmic considerations.\",\"type\":\"value\"}]},{\"name\":\"VAR\",\"description\":\"You specify the quantitative variables to include in the analysis by using a VAR statement. If you do not use a VAR statement, the analysis includes all numeric variables that are not listed in other statements.\",\"help\":\"VAR variables\"},{\"name\":\"WEIGHT\",\"description\":\"The variable in the WEIGHT statement is used as a weight to perform a weighted analysis of the data. Observations that have nonpositive or missing weights are not included in the analysis. If a WEIGHT statement is not included, all observations that are used in the analysis are assigned a weight of 1. The WEIGHT statement does not alter the degrees of freedom.\",\"help\":\"WEIGHT variable\"}],\"supportSiteInformation\":{\"docsetId\":\"statug\",\"docsetVersion\":\"latest\",\"docsetTargetFile\":\"statug_hpcandisc_toc.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/HPCDM.json",
    "content": "{\"name\":\"HPCDM\",\"statements\":[{\"name\":\"PROC HPCDM\",\"description\":\"In many loss modeling applications, the loss events are analyzed by modeling the severity (magnitude) of loss and the frequency (count) of loss separately. The primary goal of preparing these models is to estimate the aggregate loss—that is, the total loss that occurs over a period of time for which the frequency model is applicable. For example, an insurance company might want to assess the expected and worst-case losses for a particular business line, such as automobile insurance, over an entire year given the models for the number of losses in a year and the severity of each loss. A bank might want to assess the value-at-risk (VaR), a measure of the worst-case loss, for a portfolio of assets given the frequency and severity models for each asset type.\",\"help\":\"PROC HPCDM <ADJUSTEDSEVERITY=symbol-name | ADJSEV=symbol-name><COUNTSTORE=SAS-item-store><DATA=SAS-data-set><MAXCOUNTDRAW=number | MAXCOUNT=number><NOPRINT><NPERTURBEDSAMPLES=number | NPERTURB=number><NREPLICATES=number | NREP=number><PCTLDEF=percentile-method><PLOTS=ALL | CONDITIONALDENSITY | DENSITY... ><PRINT=ALL | NONE | PERCENTILES... ><SEED=number><SEVERITYEST=SAS-data-set><SEVERITYSTORE=SAS-item-store | SEVSTORE=SAS-item-store><VARDEF=DF | N>;     \\n\\tABORT <ABEND><CANCEL><CANCEL FILE> ...;\\n\\n\\tARRAY <_ALL_><_NUMERIC_><_TEMPORARY_> ...;\\n\\n\\tATTRIB <FORMAT=format><INFORMAT=informat><LABEL='label'> ...;\\n\\n\\tBY <DESCENDING><NOTSORTED> ;\\n\\n\\tCALL routine(parameter-1<, ...parameter-n>);\\n\\n\\tCONTINUE;\\n\\n\\tDELETE;\\n\\n\\tDESCRIBE;\\n\\n\\tDISPLAY <BELL><BLANK><NOINPUT> ...;\\n\\n\\tDISTBY replication-id-variable ;\\n\\n\\tDO <OVER><><> ...;\\n\\n\\t;\\n\\n\\t;\\n\\n\\tDROP variable-list;\\n\\n\\tELSE <DO><IF><THEN> ...;\\n\\n\\tEND;\\n\\n\\tENDRSUBMIT;\\n\\n\\tERROR <message>;\\n\\n\\tEXECUTE;\\n\\n\\tEXTERNALCOUNTS COUNT=count-variable <ID=replication-id-variable> ;\\n\\n\\tFILE <DISK><DUMMY><LOG> ...;\\n\\n\\tFORMAT <DEFAULT=default-format> ;\\n\\n\\tGO TO label | GOTO label;\\n\\n\\tIF <DO><THEN><WHEN> ...;\\n\\n\\tINFILE <DATALINES4><DATALINES><DISK> ...;\\n\\n\\tINFORMAT <DEFAULT= default-informat> ;\\n\\n\\tINPUT <specification(s)><@|@@>;\\n\\n\\tKEEP variable-list;\\n\\n\\t;\\n\\n\\tLEAVE;\\n\\n\\tLENGTH <DEFAULT=n> ;\\n\\n\\tLINK label;\\n\\n\\tLIST;\\n\\n\\tLOCK <CLEAR><LIST> ;\\n\\n\\tMERGE <ALTER=><BUFNO=<n | nK | hexX>... ><END=variable> ...;\\n\\n\\tMISSING character(s);\\n\\n\\tMODIFY <END=variable><KEY=index><NOBS=variable> ...;\\n\\n\\tOTHERWISE <DO> ;\\n\\n\\tOUTPUT ADJSAMPLEVAR=variable-name OUT=SAS-data-set | OUTSAMPLE=SAS-data-set SAMPLEVAR=variable-name ...;\\n\\n\\tOUTSUM <KURTOSIS|KURT < =variable-name >><MEAN < =variable-name >><OUT=SAS-data-set | OUTSUM=SAS-data-set> ...;\\n\\n\\tPAGE;\\n\\n\\tPERFORMANCE <COMMIT=n><CPUCOUNT=<ACTUAL | <num>>><DATASERVER=“name”> ...;\\n\\n\\tPUT <_ALL_><_INFILE_><_ODS_> ...;\\n\\n\\tPUTLOG 'message';\\n\\n\\tRENAME old-name-1=new-name-1 ... <old-name-n=new-name-n>;\\n\\n\\tREPLACE <data-set-name-1><...data-set-name-n>;\\n\\n\\tRETAIN <element-list(s) <initial-value(s) |;\\n\\n\\tRETURN;\\n\\n\\tRSUBMIT <options>; ENDRSUBMIT <CANCEL>;\\n\\n\\t;\\n\\n\\tSET <END=variable><INDSNAME=variable><KEY=index</UNIQUE>> ...;\\n\\n\\tSEVERITYMODEL severity-model-list ;\\n\\n\\tSKIP <n>;\\n\\n\\tSTOP;\\n\\n\\tWHEN <DO> ;\\n\\n\\tWHERE where-expression-1;\\n\",\"arguments\":[{\"name\":\"ADJUSTEDSEVERITY=\",\"optional\":true,\"aliases\":[\"ADJSEV=\"],\"description\":\"Names the symbol that represents the adjusted severity value in the SAS programming statements that you specify. The symbol-name is a SAS name that conforms to the naming conventions of a SAS variable.\",\"type\":\"value\"},{\"name\":\"COUNTSTORE=\",\"optional\":true,\"description\":\"Names the item store that contains all the information about the frequency (count) model. The COUNTREG procedure generates this item store when you use the STORE statement.\",\"help\":\"COUNTSTORE=*SAS-item-store*\",\"type\":\"value\"},{\"name\":\"DATA=\",\"optional\":true,\"description\":\"Names the input data set that contains the values of regression variables in frequency or severity models and severity adjustment variables that you use in the programming statements.\",\"help\":\"DATA=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"MAXCOUNTDRAW=\",\"optional\":true,\"aliases\":[\"MAXCOUNT=\"],\"description\":\"Specifies an upper limit on the number of loss events (count) that is used for simulating one aggregate loss sample point.\",\"type\":\"value\"},{\"name\":\"NOPRINT\",\"optional\":true,\"description\":\"Turns off all displayed and graphical output. If you specify this option, then PROC HPCDM ignores any value that you specify for the PRINT= or PLOTS= option.\",\"type\":\"standalone\"},{\"name\":\"NPERTURBEDSAMPLES=\",\"optional\":true,\"aliases\":[\"NPERTURB=\"],\"description\":\"Requests that parameter perturbation analysis be conducted. The model parameters are perturbed the specified number of times and a separate full sample is simulated for each set of perturbed parameter values. The summary statistics and percentiles are computed for each such perturbed sample, and their values are aggregated across the samples to compute the mean and standard deviation of each summary statistic and percentile.\",\"type\":\"value\"},{\"name\":\"NREPLICATES=\",\"optional\":true,\"aliases\":[\"NREP=\"],\"description\":\"Specifies a number that controls the size of the compound distribution sample that PROC HPCDM simulates. The number is interpreted differently based on whether you specify the EXTERNALCOUNTS statement\",\"type\":\"value\"},{\"name\":\"PCTLDEF=\",\"optional\":true,\"description\":\"Specifies the method to compute the percentiles of the compound distribution. The percentile-method can be 1, 2, 3, 4, or 5. The default method is 5.\",\"help\":\"PCTLDEF=*percentile-method*\",\"type\":\"value\"},{\"name\":\"PLOTS=\",\"optional\":true,\"description\":\"[PLOTS < (global-plot-options) > =plot-request-option PLOTS < (global-plot-options) > =(plot-request-option . . . plot-request-option)] Specifies the desired graphical output. By default, the HPCDM procedure produces no graphical output.\",\"help\":\"PLOTS=ALL | CONDITIONALDENSITY | DENSITY | EDF | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ALL\",\"description\":\"Displays all the graphical output.\",\"type\":\"standalone\"},{\"name\":\"CONDITIONALDENSITY\",\"description\":\"Syntax: CONDITIONALDENSITY (conditional-density-plot-options) | CONDPDF (conditional-density-plot-options) Prepares a group of plots of the conditional density functions estimates. The group contains at most three plots, each conditional on the value of the aggregate loss being in one of the three regions that are defined by the quantiles that you specify in the following conditional-densityplot-options: LEFTQ=number specifies the quantile in the range (0,1) that marks the end of the left-tail region. RIGHTQ=number specifies the quantile in the range (0,1) that marks the beginning of the right-tail region.\",\"type\":\"standalone\"},{\"name\":\"DENSITY\",\"description\":\"Prepares a plot of the nonparametric estimates of the probability density function (in particular, histogram and kernel density estimates) of the compound distribution.\",\"type\":\"standalone\"},{\"name\":\"EDF\",\"description\":\"Syntax: EDF < (edf-plot-option) > Prepares a plot of the nonparametric estimates of the cumulative distribution function of the compound distribution. You can request that the confidence interval be plotted by specifying the following edf-plot-option: ALPHA=number specifies the confidence level in the (0,1) range that is used for computing the confidence intervals for the EDF estimates.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"Displays none of the graphical output.\",\"type\":\"standalone\"}]},{\"name\":\"PRINT=\",\"optional\":true,\"description\":\"Specifies the desired displayed output. If you specify more than one display-option, then separate them with spaces and enclose them in parentheses. You can specify the following global-display-option:\",\"help\":\"PRINT=ALL | NONE | PERCENTILES | PERTURBSUMMARY | SUMMARYSTATISTICS\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ALL\",\"description\":\"Displays all the output.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"Displays none of the output. If you specify this option, then it overrides all other display options. The default displayed output is also suppressed.\",\"type\":\"standalone\"},{\"name\":\"PERCENTILES\",\"description\":\"Displays the percentiles of the compound distribution sample. This includes all the predefined percentiles, percentiles that you request in the OUTSUM statement, and percentiles that you specify for preparing conditional density plots.\",\"type\":\"standalone\"},{\"name\":\"PERTURBSUMMARY\",\"description\":\"Displays the mean and standard deviation of the summary statistics and percentiles that are taken across all the samples produced by perturbing the model parameters. This option is valid only if you specify the NPERTURBEDSAMPLES= option in the PROC HPCDM statement.\",\"type\":\"standalone\"},{\"name\":\"SUMMARYSTATISTICS\",\"aliases\":[\"SUMSTAT\"],\"description\":\"Displays the summary statistics of the compound distribution sample.\",\"type\":\"standalone\"}]},{\"name\":\"SEED=\",\"optional\":true,\"description\":\"Specifies the integer to use as the seed in generating the pseudo-random numbers that are used for simulating severity and frequency values.\",\"help\":\"SEED=*number*\",\"type\":\"value\"},{\"name\":\"SEVERITYEST=\",\"optional\":true,\"description\":\"Names the input data set that contains the parameter estimates for the severity model. The format of this data set must be the same as the OUTEST= data set that is produced by the SEVERITY procedure.\",\"help\":\"SEVERITYEST=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"SEVERITYSTORE=\",\"optional\":true,\"aliases\":[\"SEVSTORE=\"],\"description\":\"Specifies the item store that contains the context and estimates of the severity model. A PROC SEVERITY step with an OUTSTORE= option creates this item store.\",\"type\":\"value\"},{\"name\":\"VARDEF=\",\"optional\":true,\"description\":\"Specifies the divisor to use in the calculation of variance, standard deviation, kurtosis, and skewness of the compound distribution sample.\",\"help\":\"VARDEF=DF | N*option*\",\"type\":\"value\",\"arguments\":[{\"name\":\"DF\",\"description\":\"Sets the divisor for variance to N - 1. This is the default. This also changes the definitions of skewness and kurtosis.\",\"type\":\"standalone\"},{\"name\":\"N\",\"description\":\"Sets the divisor to N.\",\"type\":\"standalone\"}]}]},{\"name\":\"ABORT\",\"description\":\"Stops executing the current DATA step, SAS job, or SAS session. n is an integer value that enables you to specify a condition code: o when used with the CANCEL argument, the value is placed in the SYSINFO automatic macro variable o when not used with the CANCEL argument, the error code that is returned by SAS is ERROR. The value of ERROR depends on the operating system. The condition code n is returned to the operating system as the final SAS system exit code.\",\"help\":\"ABORT &lt;ABEND&gt;&lt;CANCEL&gt;&lt;CANCEL FILE&gt; ...\",\"arguments\":[{\"name\":\"<n>\",\"optional\":true,\"placeholder\":true,\"description\":\"Replace <n> with an actual integer value. n is an integer value that enables you to specify a condition code: o when used with the CANCEL argument, the value is placed in the SYSINFO automatic macro variable o when not used with the CANCEL argument, the error code that is returned by SAS is ERROR. The value of ERROR depends on the operating system. The condition code n is returned to the operating system as the final SAS system exit code.\",\"type\":\"value\"},{\"name\":\"ABEND\",\"optional\":true,\"description\":\"Causes abnormal termination of the current SAS job or session. Results depend on the method of operation: o batch mode and noninteractive mode o stops processing immediately o sends an error message to the SAS log that states that execution was terminated by the ABEND option of the ABORT macro statement o does not execute any subsequent statements or check syntax o returns control to the operating environment; further action is based on how your operating environment and your site treat jobs that end abnormally. o windowing environment and interactive line mode\",\"type\":\"standalone\"},{\"name\":\"CANCEL\",\"optional\":true,\"description\":\"Causes the cancellation of the current submitted statements. The results depend on the method of operation: o batch mode and noninteractive mode o The entire SAS program and SAS system are terminated. o The error message is written to the SAS log. o windowing environment and interactive line mode o It only clears the current submitted program. o Other subsequent submitted programs are not affected. o The error message is written to the SAS log. o workspace server and stored process server o It only clears currently submitted program. o Other subsequent submit calls are not affected. o The error message is written to the SAS log. o SAS IntrNet application server\",\"help\":\"CANCEL \",\"type\":\"standalone\"},{\"name\":\"CANCEL FILE\",\"optional\":true,\"description\":\"Causes only the contents of the autoexec file or %INCLUDE file to be cleared by the %ABORT statement. Other submitted source statements will be executed after the autoexec or %INCLUDE file.\",\"type\":\"standalone\"},{\"name\":\"NOLIST\",\"optional\":true,\"description\":\"Suppresses the output of all variables to the SAS log. Requirement: NOLIST must be the last option in the ABORT statement.\",\"type\":\"standalone\"},{\"name\":\"RETURN\",\"optional\":true,\"description\":\"Causes abnormal termination of the current SAS job or session. Results depend on the method of operation: o batch mode and noninteractive mode o stops processing immediately o sends an error message to the SAS log that states that execution was terminated by the RETURN option in the ABORT macro statement o does not execute any subsequent statements or check syntax o returns control to the operating environment with a condition code indicating an error. o windowing environment and interactive line mode\",\"type\":\"standalone\"}]},{\"name\":\"ARRAY\",\"description\":\"Defines the elements of an array.\",\"help\":\"ARRAY &lt;_ALL_&gt;&lt;_NUMERIC_&gt;&lt;_TEMPORARY_&gt; ...\",\"arguments\":[{\"name\":\"_ALL_\",\"optional\":true,\"description\":\"Specifies all variables.\",\"type\":\"standalone\"},{\"name\":\"_CHARACTER_\",\"optional\":true,\"description\":\"Specifies all character variables.\",\"type\":\"standalone\"},{\"name\":\"_NUMERIC_\",\"optional\":true,\"description\":\"Specifies all numeric variables.\",\"type\":\"standalone\"},{\"name\":\"_TEMPORARY_\",\"optional\":true,\"description\":\"Creates a list of temporary data elements.\",\"type\":\"standalone\"}]},{\"name\":\"ATTRIB\",\"description\":\"Associates a format, informat, label, and length with one or more variables.\",\"help\":\"ATTRIB &lt;FORMAT=format&gt;&lt;INFORMAT=informat&gt;&lt;LABEL='label'&gt; ...\",\"arguments\":[{\"name\":\"FORMAT=\",\"optional\":true,\"description\":\"Associates a format with variables in a variable-list.\",\"help\":\"FORMAT=*format*\",\"type\":\"value\"},{\"name\":\"INFORMAT=\",\"optional\":true,\"description\":\"Associates an informat with variables in a variable-list.\",\"help\":\"INFORMAT=*informat*\",\"type\":\"value\"},{\"name\":\"LABEL=\",\"optional\":true,\"description\":\"Associates a label with variables in a variable-list.\",\"help\":\"LABEL='*label*'\",\"type\":\"value\"},{\"name\":\"LENGTH=\",\"optional\":true,\"description\":\"Specifies the length of variables in a variable-list.\",\"type\":\"value\"},{\"name\":\"TRANSCODE=\",\"optional\":true,\"description\":\"Specifies whether character variables can be transcoded.\",\"help\":\"TRANSCODE=YES | NO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YES\",\"description\":\"Specifies that character variables can be transcoded.\",\"type\":\"standalone\"},{\"name\":\"NO\",\"description\":\"Suppresses transcoding.\",\"type\":\"standalone\"}]}]},{\"name\":\"BY\",\"description\":\"You can use the BY statement in the HPCDM procedure to process the input data set in groups of observations defined by the BY variables. If you specify the BY statement, then you must specify the DATA= option to specify the input data set. PROC HPCDM expects the input data set to be sorted in the order of the BY variables unless you specify the NOTSORTED option.\",\"help\":\"BY &lt;DESCENDING&gt;&lt;NOTSORTED&gt;\",\"arguments\":[{\"name\":\"DESCENDING\",\"optional\":true,\"description\":\"Specifies that the observations are sorted in descending order by the variable that immediately follows the word DESCENDING in the BY statement.\",\"type\":\"standalone\"},{\"name\":\"NOTSORTED\",\"optional\":true,\"description\":\"Specifies that observations are not necessarily sorted in alphabetic or numeric order.\",\"type\":\"standalone\"}]},{\"name\":\"CALL\",\"description\":\"Invokes a SAS CALL routine.\",\"help\":\"CALL routine(parameter-1&lt;, ...parameter-n&gt;)\"},{\"name\":\"CONTINUE\",\"description\":\"Stops processing the current DO-loop iteration and resumes processing the next iteration.\",\"help\":\"CONTINUE\"},{\"name\":\"DELETE\",\"description\":\"Stops processing the current observation.\",\"help\":\"DELETE\"},{\"name\":\"DESCRIBE\",\"description\":\"Retrieves source code from a stored compiled DATA step program or a DATA step view.\",\"help\":\"DESCRIBE\"},{\"name\":\"DISPLAY\",\"description\":\"Displays a window that is created with the WINDOW statement.\",\"help\":\"DISPLAY &lt;BELL&gt;&lt;BLANK&gt;&lt;NOINPUT&gt; ...\",\"arguments\":[{\"name\":\"BELL\",\"optional\":true,\"description\":\"Produces an audible alarm, beep, or bell sound when the window is displayed if your personal computer is equipped with a speaker device that provides sound.\",\"type\":\"standalone\"},{\"name\":\"BLANK\",\"optional\":true,\"description\":\"Clears the window.\",\"type\":\"standalone\"},{\"name\":\"DELETE\",\"optional\":true,\"description\":\"Deletes the display of the window after processing passes from the DISPLAY statement on which the option appears.\",\"type\":\"standalone\"},{\"name\":\"NOINPUT\",\"optional\":true,\"description\":\"Specifies that you cannot input values into fields that are displayed in the window.\",\"type\":\"standalone\"}]},{\"name\":\"DISTBY\",\"description\":\"A DISTBY statement is necessary if and only if you specify an ID= variable in the EXTERNALCOUNTS statement. In fact, the replication-id-variable must be the same as the ID= variable. This is especially important in the distributed mode of execution, because when the observations in the DATA= data set are distributed to the grid nodes, by specifying the replication-id-variable as a DISTBY variable, you are instructing PROC HPCDM to make sure that the observations that have the same value for the replication-id-variable are always kept together on one grid node. This is required for correct simulation of the CDM in the presence of the ID= variable. The weights are normalized so that they add up to the actual sample size.\",\"help\":\"DISTBY replication-id-variable \"},{\"name\":\"DO\",\"description\":\"Specifies a group of statements to be executed as a unit.\",\"help\":\"DO &lt;OVER&gt;&lt;&gt;&lt;&gt; ...\",\"arguments\":[{\"name\":\"BY\",\"optional\":true,\"description\":\"Precedes an increment integer (other than 0) or an expression that generates an integer to be added to the value of the index variable in each iteration of the DO loop.\",\"type\":\"standalone\"},{\"name\":\"OVER\",\"optional\":true,\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"TO\",\"optional\":true,\"description\":\"Separates the start and stop integers or expressions that control the number of times the portion of the DATA step between the iterative DO and END statements is processed.\",\"type\":\"standalone\"},{\"name\":\"UNTIL\",\"optional\":true,\"description\":\"...more SAS statements... END\",\"type\":\"standalone\"},{\"name\":\"WHILE\",\"optional\":true,\"description\":\"\",\"type\":\"standalone\"}]},{\"name\":\"DO UNTIL\",\"description\":\"Executes statements in a DO loop repetitively until a condition is true.\",\"help\":\"\"},{\"name\":\"DO WHILE\",\"description\":\"Executes statements in a DO loop repetitively while a condition is true.\",\"help\":\"\"},{\"name\":\"DROP\",\"description\":\"Excludes variables from output SAS data sets.\",\"help\":\"DROP variable-list\"},{\"name\":\"ELSE\",\"description\":\"If the condition in an IF-THEN statement is false and an ELSE statement is present, then the ELSE action is carried out.\",\"help\":\"ELSE &lt;DO&gt;&lt;IF&gt;&lt;THEN&gt; ...\",\"arguments\":[{\"name\":\"AND\",\"optional\":true,\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"DO\",\"optional\":true,\"description\":\"Action statement in an IF-THEN-ELSE construct.\",\"type\":\"standalone\"},{\"name\":\"IF\",\"optional\":true,\"description\":\"Executes a SAS statement for observations that meet specific conditions.\",\"type\":\"standalone\"},{\"name\":\"NOT\",\"optional\":true,\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"OR\",\"optional\":true,\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"OUTPUT\",\"optional\":true,\"description\":\"Action statement in an IF-THEN-ELSE construct.\",\"type\":\"standalone\"},{\"name\":\"THEN\",\"optional\":true,\"description\":\"If the conditions that are specified in the IF clause are met, the IF-THEN statement executes a SAS statement for observations that are read from a SAS data set, for records in an external file, or for computed values.\",\"type\":\"standalone\"}]},{\"name\":\"END\",\"description\":\"Ends a DO group or SELECT group processing.\",\"help\":\"END\"},{\"name\":\"ENDRSUBMIT\",\"description\":\"Marks the end of a block of statements that a client session submits to a server session for execution.\",\"help\":\"ENDRSUBMIT\"},{\"name\":\"ERROR\",\"description\":\"Sets _ERROR_ to 1. A message written to the SAS log is optional.\",\"help\":\"ERROR &lt;message&gt;\"},{\"name\":\"EXECUTE\",\"description\":\"Executes a stored compiled DATA step program.\",\"help\":\"EXECUTE\"},{\"name\":\"EXTERNALCOUNTS\",\"description\":\"The EXTERNALCOUNTS statement enables you to specify externally simulated frequency counts. By default, PROC HPCDM internally simulates the number of loss events by using the frequency model input (COUNTSTORE= item store). However, if you specify the EXTERNALCOUNTS statement, then PROC HPCDM uses the counts that you specify in the DATA= data set and simulates only the severity values internally.\",\"help\":\"EXTERNALCOUNTS COUNT=count-variable &lt;ID=replication-id-variable&gt;\",\"arguments\":[{\"name\":\"COUNT=\",\"description\":\"Specifies the variable that contains the simulated counts. This variable must be present in the DATA= data set.\",\"help\":\"COUNT=*count-variable*\",\"type\":\"value\"},{\"name\":\"ID=\",\"optional\":true,\"description\":\"Specifies the variable that contains the replicate identifier. This variable must be present in the DATA= data set. Furthermore, you must specify the DISTBY statement with replication-id-variable as the only DISTBY variable to ensure correct simulation.\",\"help\":\"ID=*replication-id-variable*\",\"type\":\"value\"}]},{\"name\":\"FILE\",\"description\":\"where file-specification identifies an external file that the DATA step uses to write output from a PUT statement. File-specification can have these forms: 'external-file' specifies the physical name of an external file, which is enclosed in quotation marks. The physical name is the name by which the operating environment recognizes the file. fileref specifies the fileref of an external file. Requirement: You must have previously associated fileref with an external file in a FILENAME statement or function, or in an appropriate operating environment command. There is only one exception to this rule: when you use the FILEVAR= option, the fileref is simply a placeholder. fileref(file) specifies a fileref that is previously assigned to an external file that is an aggregate grouping of files. Follow the fileref with the name of a file or member, which is enclosed in parentheses. LOG is a reserved fileref that directs the output that is produced by any PUT statements to the SAS log. PRINT is a reserved fileref that directs the output that is produced by any PUT statements to the same file as the output that is produced by SAS procedures. device-type specifies the type of device or the access method that is used if the fileref points to an input or output device or a location that is not a physical file: DISK, DUMMY, GTERM, PIPE, PLOTTER, PRINTER, TAPE, TEMP, TERMINAL, UPRINTER. type specifies the type of file in z/OS: DLI, HFS, MVS, PIPE, VSAM. operating-environment-options or host-options Additional specifications might be required when you specify some devices. See the SAS documentation for your operating environment before specifying a value other than DISK. Values in addition to the ones listed here might be available in some operating environments.\",\"help\":\"FILE &lt;DISK&gt;&lt;DUMMY&gt;&lt;LOG&gt; ...\",\"arguments\":[{\"name\":\"ALQ=\",\"optional\":true,\"description\":\"[OpenVMS Host Option] Specifies the number of blocks initially allocated to an external file when it is created. The value can range from 0 to 2,147,483,647. If the value is 0 (the default), the minimum number of blocks required for the given file format is used.\",\"type\":\"value\"},{\"name\":\"BLKSIZE=\",\"optional\":true,\"aliases\":[\"BLK=\"],\"description\":\"[Windows/UNIX Host Option] Specifies the number of bytes that are physically read or written in an I/O operation. The default is 8K. The maximum is 1M (Windows) or 1G-1(UNIX).\",\"help\":\"BLKSIZE=*block-size*\",\"type\":\"value\"},{\"name\":\"BLOCK\",\"optional\":true,\"description\":\"Is used only in the context of named pipes. This option indicates whether the client is to wait if no data is currently available. BLOCK is the default value.\",\"type\":\"standalone\"},{\"name\":\"BOM\",\"optional\":true,\"aliases\":[\"BOMFILE\"],\"description\":\"[UNIX/z/OS Host Option] Includes a Byte Order Mark when a UNICODE-encoded file is created.\",\"type\":\"standalone\"},{\"name\":\"BUFND=\",\"optional\":true,\"description\":\"Indicates how many data buffers to use for the VSAM data set.\",\"help\":\"BUFND=*value*\",\"type\":\"value\"},{\"name\":\"BUFNI=\",\"optional\":true,\"description\":\"Indicates how many index buffers to use for the VSAM data set.\",\"help\":\"BUFNI=*value*\",\"type\":\"value\"},{\"name\":\"BYTE\",\"optional\":true,\"description\":\"Is used only in the context of named pipes. This option indicates the type of pipe. BYTE is the default value.\",\"type\":\"standalone\"},{\"name\":\"CC=\",\"optional\":true,\"description\":\"[OpenVMS Host Option] Specifies the carriage-control format of the SAS log and the procedure output file.\",\"help\":\"CC=FORTRAN | PRINT | CR\",\"type\":\"choice\",\"arguments\":[{\"name\":\"FORTRAN\",\"description\":\"Indicates FORTRAN carriage-control format. This is the default for print files.\",\"type\":\"standalone\"},{\"name\":\"PRINT\",\"description\":\"Indicates OpenVMS print format.\",\"type\":\"standalone\"},{\"name\":\"CR\",\"description\":\"Indicates OpenVMS carriage-return, carriage-control format. This is the default for nonprinting files.\",\"type\":\"standalone\"}]},{\"name\":\"CLIENT\",\"optional\":true,\"description\":\"[Windows Host Option] Is used only in the context of named pipes. This option specifies the mode of a named pipe. The default value is SERVER.\",\"type\":\"standalone\"},{\"name\":\"CLOSE=\",\"optional\":true,\"description\":\"[z/OS Host Option] Indicates how a tape volume is positioned at the end of the DATA step.\",\"help\":\"CLOSE=REREAD | LEAVE | REWIND | FREE | DISP\",\"type\":\"choice\",\"arguments\":[{\"name\":\"REREAD\",\"description\":\"Positions the tape at the logical beginning of the data set.\",\"type\":\"standalone\"},{\"name\":\"LEAVE\",\"description\":\"Positions the tape at the logical end of the data set.\",\"type\":\"standalone\"},{\"name\":\"REWIND\",\"description\":\"Rewinds the tape to the physical beginning of the volume.\",\"type\":\"standalone\"},{\"name\":\"FREE\",\"description\":\"Dynamically deallocates the tape volume.\",\"type\":\"standalone\"},{\"name\":\"DISP\",\"description\":\"Is implied by the control language.\",\"type\":\"standalone\"}]},{\"name\":\"COLUMN=\",\"optional\":true,\"aliases\":[\"COL=\"],\"description\":\"Specifies a variable that SAS automatically sets to the current column location of the pointer.\",\"type\":\"value\"},{\"name\":\"COMMAND\",\"optional\":true,\"description\":\"[Windows Host Option] Allows remote commands to be issued to DDE server applications that not use the SYSTEM topic name.\",\"type\":\"standalone\"},{\"name\":\"CSRC\",\"optional\":true,\"description\":\"[OpenVMS Host Option] Specifies that you want to use the CSRCESRV services (available with z/OS) to compress data on output. For example: data _null_; file myfile csrc; put ... ; run;\",\"type\":\"standalone\"},{\"name\":\"DCB=\",\"optional\":true,\"description\":\"specifies the fileref of an external file that was referenced in an earlier FILE or INFILE statement in the same DATA step. SAS uses that file's RECFM=, LRECL=, and BLKSIZE= information for the current file.\",\"help\":\"DCB=*fileref*\",\"type\":\"value\"},{\"name\":\"DELIMITER=\",\"optional\":true,\"aliases\":[\"DLM=\"],\"description\":\"Specifies an alternate delimiter (other than a blank) to be used for LIST output.\",\"type\":\"value\"},{\"name\":\"DEQ=\",\"optional\":true,\"description\":\"[OpenVMS Host Option] Specifies the number of blocks added when OpenVMS RMS automatically extends an external file during a write operation. The value can range from 0 to 65,535. The default value is 0, telling OpenVMS RMS to use the process's default value. A large value results in fewer file extensions over the life of the file; a small value results in numerous file extensions over the life of the file. A file with numerous file extensions might be noncontiguous, thereby slowing record access.\",\"type\":\"value\"},{\"name\":\"DEVTYPE=\",\"optional\":true,\"description\":\"Defines a character variable (minimum length 24) that SAS sets to the device type. SAS obtains the device type by using the z/OS operating environment DEVTYPE macro.\",\"help\":\"DEVTYPE=*variable*\",\"type\":\"value\"},{\"name\":\"DISK\",\"optional\":true,\"description\":\"[device-type] Specifies that the device is a disk drive.\",\"type\":\"standalone\"},{\"name\":\"DLI\",\"optional\":true,\"description\":\"[type] For IMS-DL/I databases.\",\"type\":\"standalone\"},{\"name\":\"DLMSOPT=\",\"optional\":true,\"description\":\"Specifies a parsing option for the DLMSTR= T option that removes trailing blanks of the string delimiter.\",\"help\":\"DLMSOPT='T'\",\"type\":\"choice\",\"arguments\":[{\"name\":\"'T'\",\"description\":\"Removes trailing blanks of the string delimiter.\",\"type\":\"standalone\"}]},{\"name\":\"DLMSTR=\",\"optional\":true,\"description\":\"Specifies a character string as an alternate delimiter (other than a blank) to be used for LIST output\",\"type\":\"value\"},{\"name\":\"DROPOVER\",\"optional\":true,\"description\":\"Discards data items that exceed the output line length (as specified by the LINESIZE= or LRECL= options in the FILE statement).\",\"type\":\"standalone\"},{\"name\":\"DSCB=\",\"optional\":true,\"description\":\"Defines a character variable (minimum length 96) that SAS sets to the Data Set Control Block (DSCB) information from a non-VSAM data set.\",\"help\":\"DSCB=*variable*\",\"type\":\"value\"},{\"name\":\"DSD\",\"optional\":true,\"description\":\"Specifies that data values that contain embedded delimiters, such as tabs or commas, be enclosed in quotation marks.\",\"type\":\"standalone\"},{\"name\":\"DUMMY\",\"optional\":true,\"description\":\"[device-type] Specifies that the output to the file is discarded. Tip: Specifying DUMMY can be useful for testing.\",\"type\":\"standalone\"},{\"name\":\"ENCODING=\",\"optional\":true,\"description\":\"Specifies the encoding to use when writing to the output file.\",\"help\":\"ENCODING='warabic' | 'wbaltic' | 'wlatin2' | 'wcyrillic' | 'wgreek' | 'whebrew' | 'wturkish' | 'wvietnamese' | 'wlatin1' | 'utf-8' | 'ms-950' | 'ms-936' | 'ms-932' | 'ms-949'\",\"type\":\"choice\",\"arguments\":[{\"name\":\"'warabic'\",\"description\":\"Arabic\",\"type\":\"standalone\"},{\"name\":\"'wbaltic'\",\"description\":\"Baltic\",\"type\":\"standalone\"},{\"name\":\"'wlatin2'\",\"description\":\"Central Europe\",\"type\":\"standalone\"},{\"name\":\"'wcyrillic'\",\"description\":\"Cyrillic\",\"type\":\"standalone\"},{\"name\":\"'wgreek'\",\"description\":\"Greek\",\"type\":\"standalone\"},{\"name\":\"'whebrew'\",\"description\":\"Hebrew\",\"type\":\"standalone\"},{\"name\":\"'wturkish'\",\"description\":\"Turkish\",\"type\":\"standalone\"},{\"name\":\"'wvietnamese'\",\"description\":\"Vietnamese\",\"type\":\"standalone\"},{\"name\":\"'wlatin1'\",\"description\":\"Western\",\"type\":\"standalone\"},{\"name\":\"'utf-8'\",\"description\":\"Unicode encoding\",\"type\":\"standalone\"},{\"name\":\"'ms-950'\",\"description\":\"Traditional Chinese\",\"type\":\"standalone\"},{\"name\":\"'ms-936'\",\"description\":\"Simplified Chinese\",\"type\":\"standalone\"},{\"name\":\"'ms-932'\",\"description\":\"Japanese\",\"type\":\"standalone\"},{\"name\":\"'ms-949'\",\"description\":\"Korean\",\"type\":\"standalone\"}]},{\"name\":\"EOFCONNECT\",\"optional\":true,\"description\":\"[Windows Host Option] Is used only in the context of named pipes and is valid only when you are defining the server. This option indicates that if an end-of-file (EOF) character is received from a client, the server should try to connect to the next client.\",\"type\":\"standalone\"},{\"name\":\"FAC=\",\"optional\":true,\"description\":\"[OpenVMS Host Option] Overrides the default file access attributes used for external files. Use this option to indicate the level of access you want to allow for an external file. You can allow READ, WRITE, UPDATE, and DELETE access (as well as no access). By default with external files, files opened for input allow read access, files opened for output allow WRITE access, and files opened for update allow READ and WRITE access. The form of the FAC= option is FAC=access-option-list where access-option-list can be one of the following: DEL specifies DELETE access. GET specifies READ access. PUT specifies WRITE access. UPD specifies UPDATE access. You can combine these values in any order. For example, specifying the following indicates that you want DELETE, READ, and WRITE access:\",\"type\":\"value\"},{\"name\":\"FEEDBACK=\",\"optional\":true,\"aliases\":[\"FDBK=\"],\"description\":\"Defines a numeric variable that SAS sets to the VSAM logical error code. This option is similar to the _FDBK_ automatic variable. When SAS sets the FEEDBACK variable, you must reset it to 0 in order to continue.\",\"type\":\"value\"},{\"name\":\"FILEDATA=\",\"optional\":true,\"description\":\"[UNIX/z/OS Host Option] The FILEDATA= option specifies that the file being processed is expected to contain either binary or text data.\",\"help\":\"FILEDATA=BINARY | TEXT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"BINARY\",\"description\":\"The FILEDATA= option specifies that the file being processed is expected to contain binary data.\",\"type\":\"standalone\"},{\"name\":\"TEXT\",\"description\":\"The FILEDATA= option specifies that the file being processed is expected to contain text data.\",\"type\":\"standalone\"}]},{\"name\":\"FILENAME=\",\"optional\":true,\"description\":\"Defines a character variable, whose name you supply, that SAS sets to the value of the physical name of the file currently open for PUT statement output.\",\"type\":\"value\"},{\"name\":\"FILEVAR=\",\"optional\":true,\"description\":\"Defines a variable whose change in value causes the FILE statement to close the current output file and open a new one the next time the FILE statement executes.\",\"type\":\"value\"},{\"name\":\"FLOWOVER\",\"optional\":true,\"description\":\"Causes data that exceeds the current line length to be written on a new line.\",\"type\":\"standalone\"},{\"name\":\"FOOTNOTES\",\"optional\":true,\"aliases\":[\"FOOTNOTE\"],\"description\":\"Specifies that the currently defined footnotes are printed.\",\"type\":\"standalone\"},{\"name\":\"GSFCC=\",\"optional\":true,\"description\":\"[OpenVMS Host Option] Specifies the file format of graphic stream files (GSF files). When specified in the FILENAME statement, it affects only the GSF files that are created using that fileref.\",\"help\":\"GSFCC=PRINT | CR | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"PRINT\",\"description\":\"Creates a GSF file. It is a VFC format file with carriage control set to null. These files can be used with most utilities with the exception of some file transfer protocols, such as Kermit. This is the default value for this option.\",\"type\":\"standalone\"},{\"name\":\"CR\",\"description\":\"Creates a carriage return carriage control file.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"Creates a file with no carriage control. This format is useful if you plan to download the file to a personal computer.\",\"type\":\"standalone\"}]},{\"name\":\"GTERM\",\"optional\":true,\"description\":\"[device-type] Indicates that the output device type is a graphics device that will receive graphics data.\",\"type\":\"standalone\"},{\"name\":\"HEADER=\",\"optional\":true,\"description\":\"Defines a statement label that identifies a group of SAS statements that you want to execute each time SAS begins a new output page\",\"type\":\"value\"},{\"name\":\"HFS\",\"optional\":true,\"description\":\"[type] For UNIX System Services files.\",\"type\":\"standalone\"},{\"name\":\"HOTLINK\",\"optional\":true,\"description\":\"[Windows Host Option] Instructs SAS to use the DDE HOTLINK.\",\"type\":\"standalone\"},{\"name\":\"IGNOREDOSEOF\",\"optional\":true,\"description\":\"[Windows Host Option] Is used in the context of I/O operations on variable record format files. When this option is specified, any occurrence of ^Z is interpreted as character data and not as an end-of-file marker.\",\"type\":\"standalone\"},{\"name\":\"JFCB=\",\"optional\":true,\"description\":\"Defines a character variable (minimum length 176) that SAS sets to the Job File Control Block (JFCB).\",\"help\":\"JFCB=*variable*\",\"type\":\"value\"},{\"name\":\"KEY=\",\"optional\":true,\"description\":\"[OpenVMS Host Option] Specifies which key SAS uses to read the records in an RMS file with indexed organization. The KEY= option is always used with the KEYVALUE= option.\",\"type\":\"value\"},{\"name\":\"KEYLEN=\",\"optional\":true,\"description\":\"Specifies a numeric SAS variable that, when used with GENKEY, specifies the length of the key that is to be compared to the keys in the file.\",\"help\":\"KEYLEN=*variable*\",\"type\":\"value\"},{\"name\":\"KEYPOS=\",\"optional\":true,\"description\":\"Indicates the numeric variable that SAS sets to the position of the VSAM key field. This option enables you to read keys without knowing the key position in advance. This variable is set to the column number (starting from 1).\",\"help\":\"KEYPOS=*variable*\",\"type\":\"value\"},{\"name\":\"KEYVALUE=\",\"optional\":true,\"description\":\"[OpenVMS Host Option] Specifies the key value with which to begin reading an indexed file.\",\"type\":\"value\"},{\"name\":\"LINE=\",\"optional\":true,\"description\":\"Defines a variable whose value is the current relative line number within the group of lines available to the output pointer.\",\"type\":\"value\"},{\"name\":\"LINESIZE=\",\"optional\":true,\"aliases\":[\"LS=\"],\"description\":\"Sets the maximum number of columns per line for reports and the maximum record length for data files.\",\"type\":\"value\"},{\"name\":\"LINESLEFT=\",\"optional\":true,\"aliases\":[\"LL=\"],\"description\":\"Defines a variable whose value is the number of lines left on the current page.\",\"type\":\"value\"},{\"name\":\"LOG\",\"optional\":true,\"description\":\"Is a reserved fileref that directs the output that is produced by any PUT statements to the SAS log.\",\"type\":\"standalone\"},{\"name\":\"LRECL=\",\"optional\":true,\"description\":\"Specifies the logical record length of the output file.\",\"type\":\"value\"},{\"name\":\"MBC=\",\"optional\":true,\"description\":\"[OpenVMS Host Option] Specifies the size of the I/O buffers that OpenVMS RMS allocates for a particular file. The value can range from 0 to 127 and represents the number of blocks used for each buffer. By default, this option is set to 0 and the default values for the process are used. The MBC= option (multiblock count) is used for both input and output to control the allocation for a particular file. If you want to control the allocation size for all the external files used during the current SAS session, you can use the MBC= option in every FILE, FILENAME, or INFILE statement. You can also use the DCL SET RMS_DEFAULT command to specify a process default, and let the SAS values default to the process's default values.\",\"type\":\"value\"},{\"name\":\"MBF=\",\"optional\":true,\"description\":\"[OpenVMS Host Option] Specifies the number of I/O buffers you want OpenVMS RMS to allocate for a particular file. The value can range from 0 to 127 and represents the number of buffers used. By default, this option is set to a value of 2. If a value of 0 is specified, the default value for the process is used. The MBF= option (multibuffer count) is used for both input and output to control the number of buffers allocated for a particular file. If you want to control the number of buffers allocated for all the external files used during the SAS session, you can use the MBF= option in every FILE, FILENAME, or INFILE statement. The DCL SET RMS_DEFAULT command can be used to specify a process default. Then, you can let the SAS values default to the process's default values.\",\"type\":\"value\"},{\"name\":\"MESSAGE\",\"optional\":true,\"description\":\"Is used only in the context of named pipes. This option indicates the type of pipe. BYTE is the default value.\",\"type\":\"standalone\"},{\"name\":\"MOD\",\"optional\":true,\"description\":\"Writes the output lines after any existing lines in the file.\",\"type\":\"standalone\"},{\"name\":\"MVS\",\"optional\":true,\"description\":\"[type] For z/OS data sets.\",\"type\":\"standalone\"},{\"name\":\"N=\",\"optional\":true,\"description\":\"Specifies the number of lines that you want available to the output pointer in the current iteration of the DATA step.\",\"help\":\"N=&lt;*n*&gt; | PAGESIZE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"n\",\"placeholder\":true,\"description\":\"Specifies the number of lines that are available to the output pointer. Replace n with an integer.\",\"type\":\"standaloneOrValue\"},{\"name\":\"PAGESIZE\",\"aliases\":[\"PS\"],\"description\":\"Specifies that the entire page is available to the output pointer.\",\"type\":\"standalone\"}]},{\"name\":\"NOBLOCK\",\"optional\":true,\"description\":\"Is used only in the context of named pipes. This option indicates whether the client is to wait if no data is currently available. BLOCK is the default value.\",\"type\":\"standalone\"},{\"name\":\"NOBOM\",\"optional\":true,\"aliases\":[\"NOBOMFILE\"],\"description\":\"[UNIX/z/OS Host Option] Specifies that a Byte Order Mark is not included when a UNICODE-encoded file is created.\",\"type\":\"standalone\"},{\"name\":\"NOFOOTNOTES\",\"optional\":true,\"aliases\":[\"NOFOOTNOTE\"],\"description\":\"Specifies that the currently defined footnotes are not printed.\",\"type\":\"standalone\"},{\"name\":\"NOPAD\",\"optional\":true,\"description\":\"Specifies that records written to an external file are not padded with blanks to the length that is specified in the LRECL= option.\",\"type\":\"standalone\"},{\"name\":\"NOPRINT\",\"optional\":true,\"description\":\"Specifies that carriage-control characters are placed in the output lines.\",\"type\":\"standalone\"},{\"name\":\"NOTAB\",\"optional\":true,\"description\":\"[Windows Host Option] Instructs SAS to ignore tab characters between variables.\",\"type\":\"standalone\"},{\"name\":\"NOTITLES\",\"optional\":true,\"aliases\":[\"NOTITLE\"],\"description\":\"Specifies that the current title lines are not printed on the pages of files.\",\"type\":\"standalone\"},{\"name\":\"ODS=\",\"optional\":true,\"description\":\"Specifies to use the Output Delivery System to format the output from a DATA step.\",\"type\":\"value\"},{\"name\":\"OLD\",\"optional\":true,\"description\":\"Replaces the previous contents of the file.\",\"type\":\"standalone\"},{\"name\":\"PAD\",\"optional\":true,\"description\":\"Specifies that records written to an external file are padded with blanks to the length that is specified in the LRECL= option.\",\"type\":\"standalone\"},{\"name\":\"PAGESIZE=\",\"optional\":true,\"aliases\":[\"PS=\"],\"description\":\"Sets the number of lines per page for your reports.\",\"help\":\"PAGESIZE=*value*\",\"type\":\"value\"},{\"name\":\"PASSWD=\",\"optional\":true,\"description\":\"Gives the appropriate password for a VSAM data set that has password protection.\",\"help\":\"PASSWD=*value*\",\"type\":\"value\"},{\"name\":\"PIPE\",\"optional\":true,\"description\":\"[device-type] Specifies an unnamed pipe. Note: Some operating environments do not support pipes.\",\"type\":\"standalone\"},{\"name\":\"PLOTTER\",\"optional\":true,\"description\":\"[device-type] Specifies an unbuffered graphics output device.\",\"type\":\"standalone\"},{\"name\":\"PRINT\",\"optional\":true,\"description\":\"Either a reserved fileref that directs the output that is produced by any PUT statements to the same file as the output that is produced by SAS procedures, or an option that specifies that carriage-control characters are placed in the output lines.\",\"type\":\"standalone\"},{\"name\":\"PRINTER\",\"optional\":true,\"description\":\"[device-type] Specifies a printer or printer spool file.\",\"type\":\"standalone\"},{\"name\":\"RC4STOP\",\"optional\":true,\"description\":\"[VSAM Option] Stops the DATA step from executing if a return code greater than 4 is returned by the operating environment when the VSAM data set is opened.\",\"type\":\"standalone\"},{\"name\":\"RECFM=\",\"optional\":true,\"description\":\"[Windows/UNIX/z/OS Host Option] Specifies the record format of the external file. Under z/OS, the following values can be appended to the RECFM values:\",\"help\":\"RECFM=F | P | S | V|D | N | s370V | S370VB | S370VBS | STREAMLF | FB | VB | U\",\"type\":\"choice\",\"arguments\":[{\"name\":\"F\",\"description\":\"Fixed-record format\",\"type\":\"standalone\"},{\"name\":\"P\",\"description\":\"Print format.\",\"type\":\"standalone\"},{\"name\":\"S\",\"description\":\"Stream-record format.\",\"type\":\"standalone\"},{\"name\":\"V\",\"aliases\":[\"D\"],\"description\":\"Variable-record format (the default)\",\"type\":\"standalone\"},{\"name\":\"N\",\"description\":\"Indicates binary format and causes the file to be treated as a byte stream. If LRECL is not specified, by default SAS reads 256 bytes at a time from the file.\",\"type\":\"standalone\"},{\"name\":\"s370V\",\"description\":\"Indicates the variable S370 record format (V).\",\"type\":\"standalone\"},{\"name\":\"S370VB\",\"description\":\"Indicates the variable block S370 record format (VB).\",\"type\":\"standalone\"},{\"name\":\"S370VBS\",\"description\":\"Indicates the variable block with spanned records S370 record format (VBS).\",\"type\":\"standalone\"},{\"name\":\"STREAMLF\",\"description\":\"[For OpenVMS] Specifies StreamLF record format. Records are delimited by LF.\",\"type\":\"standalone\"},{\"name\":\"FB\",\"description\":\"Specifies fixed-length records, blocked.\",\"type\":\"standalone\"},{\"name\":\"VB\",\"description\":\"Specifies variable-length records, blocked.\",\"type\":\"standalone\"},{\"name\":\"U\",\"description\":\"Specifies undefined-length records, unblocked.\",\"type\":\"standalone\"}]},{\"name\":\"RECORDS=\",\"optional\":true,\"description\":\"Defines a numeric variable that SAS sets to the number of logical records in a VSAM data set that has been opened for input.\",\"help\":\"RECORDS=*variable*\",\"type\":\"value\"},{\"name\":\"RECORG=\",\"optional\":true,\"description\":\"[z/OS Host Option] Specifies the organization of records in a new VSAM data set. Use this option only if SMS is active.\",\"help\":\"RECORG=KS | ES | RR | LS\",\"type\":\"choice\",\"arguments\":[{\"name\":\"KS\",\"description\":\"Specifies a VSAM key-sequenced data set.\",\"type\":\"standalone\"},{\"name\":\"ES\",\"description\":\"Specifies a VSAM entry-sequenced data set.\",\"type\":\"standalone\"},{\"name\":\"RR\",\"description\":\"Specifies a VSAM relative-record data set.\",\"type\":\"standalone\"},{\"name\":\"LS\",\"description\":\"Specifies a VSAM linear-space data set.\",\"type\":\"standalone\"}]},{\"name\":\"RESET\",\"optional\":true,\"description\":\"[VSAM Option] Indicates that the VSAM file is reset to empty (no records) when it is opened. This option applies only to loading a VSAM data set that has been marked REUSE. You cannot use this option if the data set contains an alternate index.\",\"type\":\"standalone\"},{\"name\":\"RETRY=\",\"optional\":true,\"description\":\"[Windows Host Option]\",\"help\":\"RETRY=*seconds*\",\"type\":\"value\"},{\"name\":\"RRN=\",\"optional\":true,\"description\":\"Defines a numeric variable that you set to the relative record number (RRN) of the record that you want to read or write. This option indicates that keyed direct access is being used; it is appropriate for RRDS only.\",\"help\":\"RRN=*variable*\",\"type\":\"value\"},{\"name\":\"SERVER\",\"optional\":true,\"description\":\"[Windows Host Option] Is used only in the context of named pipes. This option specifies the mode of a named pipe. The default value is SERVER.\",\"type\":\"standalone\"},{\"name\":\"SHR=\",\"optional\":true,\"description\":\"[OpenVMS Host Option] Overrides the default file-sharing attributes used for external files. With this option, you can indicate the access level you want to give other users. You can allow READ, WRITE, UPDATE, and DELETE access (as well as no access). By default with external files, files opened for input allow shared read access, and files opened for output or UPDATE do not allow shared access. However, you can allow other users to have READ and WRITE access to a file that you are opening for input only. To accomplish this, use the SHR= option. The syntax of the SHR= option is SHR=share-option-list where share-option-list can be one of the following: DEL specifies DELETE access. GET specifies shared READ access. NONE specifies no shared access. PUT specifies shared WRITE access. UPD specifies UPDATE access. You can combine these values in any order. For example, specifying the following indicates that you want shared DELETE, READ, and WRITE access:\",\"type\":\"value\"},{\"name\":\"STOPOVER\",\"optional\":true,\"description\":\"Stops processing the DATA step immediately if a PUT statement attempts to write a data item that exceeds the current line length.\",\"type\":\"standalone\"},{\"name\":\"TAPE\",\"optional\":true,\"description\":\"[device-type] Specifies a tape drive.\",\"type\":\"standalone\"},{\"name\":\"TEMP\",\"optional\":true,\"description\":\"[device-type] Creates a temporary file that exists only as long as the filename is assigned.\",\"type\":\"standalone\"},{\"name\":\"TERMINAL\",\"optional\":true,\"description\":\"[device-type] Specifies the user's terminal.\",\"type\":\"standalone\"},{\"name\":\"TERMSTR=\",\"optional\":true,\"description\":\"[Windows/UNIX Host Option] Specifies the end-of-line character for the file. Use this option to share files between the UNIX and Windows operating environments.\",\"help\":\"TERMSTR=CR | CRLF | LF | NULL | NONE | NL | LFCR | CRNL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"CR\",\"description\":\"Carriage return (CR).\",\"type\":\"standalone\"},{\"name\":\"CRLF\",\"description\":\"Carriage return (CR) followed by line feed (LF).\",\"type\":\"standalone\"},{\"name\":\"LF\",\"description\":\"Line feed only (the default).\",\"type\":\"standalone\"},{\"name\":\"NULL\",\"description\":\"NULL character (0x00).\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"Record terminators are not used. This parameter provides the same function as FILEDATA=BINARY.\",\"type\":\"standalone\"},{\"name\":\"NL\",\"description\":\"The newline character (x'15') is used as the record terminator. This parameter provides the same function as FILEDATA=TEXT.\",\"type\":\"standalone\"},{\"name\":\"LFCR\",\"description\":\"The sequence LF followed by CR is used as the record terminator.\",\"type\":\"standalone\"},{\"name\":\"CRNL\",\"description\":\"The sequence CR followed by NL is used as the record terminator.\",\"type\":\"standalone\"}]},{\"name\":\"TITLES\",\"optional\":true,\"aliases\":[\"TITLE\"],\"description\":\"Specifies that the current title lines are printed on the pages of files.\",\"type\":\"standalone\"},{\"name\":\"UCBNAME=\",\"optional\":true,\"description\":\"Defines a character variable (minimum length 3) that SAS sets to the unit name (device address), which is derived from information in the unit control block (UCB).\",\"help\":\"UCBNAME=*variable*\",\"type\":\"value\"},{\"name\":\"UNBUF\",\"optional\":true,\"description\":\"[UNIX Host Option] Tells SAS not to perform buffered writes to the file on any subsequent FILE statement. This option applies especially when you are reading from or writing to a data collection device. As explained in SAS Language Reference: Dictionary, it also prevents buffered reads on INFILE statements.\",\"type\":\"standalone\"},{\"name\":\"UPRINTER\",\"optional\":true,\"description\":\"[device-type] Specifies a Universal Printing printer definition name.\",\"type\":\"standalone\"},{\"name\":\"VOLUME=\",\"optional\":true,\"aliases\":[\"VOLUMES=\"],\"description\":\"Defines a character variable (with a minimum length of six characters) that SAS sets to the tape VOLSER or the disk volume serial number. In the case of a multivolume file, the VOLUME= variable contains the concatenated volume serial numbers up to the length of the variable or the first 30 volumes, whichever is less. The value in the VOLUME= variable contains the volume serial number of the first data set in the concatenation when the file is opened. This serial number changes if you open a subsequent data set in the concatenation.\",\"type\":\"value\"},{\"name\":\"VSAM\",\"optional\":true,\"description\":\"[type] For VSAM files.\",\"type\":\"standalone\"},{\"name\":\"_FILE_=\",\"optional\":true,\"description\":\"Names a character variable that references the current output buffer of this FILE statement.\",\"help\":\"_FILE_=*variable*\",\"type\":\"value\"}]},{\"name\":\"FORMAT\",\"description\":\"Associates formats with variables.\",\"help\":\"FORMAT &lt;DEFAULT=default-format&gt;\",\"arguments\":[{\"name\":\"DEFAULT=\",\"optional\":true,\"description\":\"Specifies a temporary default format for displaying the values of variables that are not listed in the FORMAT statement. These default formats apply only to the current DATA step; they are not permanently associated with variables in the output data set. A DEFAULT= format specification applies to o variables that are not named in a FORMAT or ATTRIB statement o variables that are not permanently associated with a format within a SAS data set o variables that are not written with the explicit use of a format. Default: If you omit DEFAULT=, SAS uses BESTw. as the default numeric format and $w. as the default character format. Restriction: Use this option only in a DATA step.\",\"help\":\"DEFAULT=*default-format*\",\"type\":\"value\"}]},{\"name\":\"GO TO\",\"aliases\":[\"GOTO\"],\"description\":\"Jumps to a new statement.\",\"help\":\"GO TO label | GOTO label\"},{\"name\":\"IF\",\"description\":\"Continues processing only those observations that meet the condition of the specified expression.\",\"help\":\"IF &lt;DO&gt;&lt;THEN&gt;&lt;WHEN&gt; ...\",\"arguments\":[{\"name\":\"AND\",\"optional\":true,\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"CALL\",\"optional\":true,\"description\":\"Invokes a SAS CALL routine.\",\"type\":\"standalone\"},{\"name\":\"DO\",\"optional\":true,\"description\":\"Action statement in an IF-THEN construct.\",\"type\":\"standalone\"},{\"name\":\"GO\",\"optional\":true,\"aliases\":[\"GOTO\"],\"description\":\"Jumps to a new statement.\",\"help\":\"GO TO\",\"type\":\"standalone\"},{\"name\":\"NOT\",\"optional\":true,\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"OR\",\"optional\":true,\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"OUTPUT\",\"optional\":true,\"description\":\"Action statement in an IF-THEN construct.\",\"type\":\"standalone\"},{\"name\":\"PUT\",\"optional\":true,\"description\":\"Action statement in an IF-THEN construct.\",\"type\":\"standalone\"},{\"name\":\"RETURN\",\"optional\":true,\"description\":\"Action statement in an IF-THEN construct. Stops executing statements at the current point in the DATA step and returns to a predetermined point in the step.\",\"type\":\"standalone\"},{\"name\":\"SET\",\"optional\":true,\"description\":\"Reads an observation from one or more SAS data sets.\",\"type\":\"standalone\"},{\"name\":\"STOP\",\"optional\":true,\"description\":\"Action statement in an IF-THEN construct. Stops execution of the current DATA step.\",\"type\":\"standalone\"},{\"name\":\"THEN\",\"optional\":true,\"description\":\"If the conditions that are specified in the IF clause are met, the IF-THEN statement executes a SAS statement for observations that are read from a SAS data set, for records in an external file, or for computed values.\",\"type\":\"standalone\"},{\"name\":\"WHEN\",\"optional\":true,\"description\":\"WHEN statement in an IF-THEN-WHEN construct.\",\"type\":\"standalone\"}]},{\"name\":\"INFILE\",\"description\":\"file-specification identifies a file in one of the following forms: fileref specifies the assigned fileref or the allocated ddname of the file. A fileref must conform to the rules for ddnames. That is, it can consist of up to eight letters, numbers, or national characters ($, @, and #) and underscores (_). The first character must be either a letter or a national character. fileref(member) specifies a member of a partitioned data set, where the PDS or PDSE is specified by the assigned fileref or allocated ddname. If you specify a fileref that is not allocated, then SAS attempts to construct a data set name with the following three qualifiers: o the value of the SYSPREF= option (usually the user ID) o the specified fileref o DATA If a file is found that has this constructed data set name, then SAS opens it and reads it. The value of the FILEEXT= system option can affect the way SAS interprets PDS and PDSE member names. 'physical-filename' specifies a physical file, which can be a member of a partitioned data set (PDS), an extended partitioned data set (PDSE), or a UNIX System Services file, using the following syntax: o a fully qualified data set name. For example: 'myid.raw.datax' o a fully qualified data set name with a member in parentheses. For example: 'sas.raw.data(mem1)' o a partially qualified data set name with a period preceding it. For example: '.raw.data' o a partially qualified data set name with a period preceding it and a member name in parentheses. For example: '.raw.data(mem1)' o for PDS members, a fully or partially qualified data set name with a wildcard name in parentheses. For example: '.raw.data(mem*)', '.raw.data(*mem1)', '.raw.data(*)' o a UNIX System Services file. For example: '/u/userid/raw' or 'HFS:raw' or '/u/userid/data/*'\",\"help\":\"INFILE &lt;DATALINES4&gt;&lt;DATALINES&gt;&lt;DISK&gt; ...\",\"arguments\":[{\"name\":\"BACKWARD\",\"optional\":true,\"aliases\":[\"BKWD\"],\"description\":\"[VSAM Option] Causes SAS to read the VSAM data set backwards (INFILE only)\",\"type\":\"standalone\"},{\"name\":\"BLKSIZE=\",\"optional\":true,\"aliases\":[\"BLK=\"],\"description\":\"[Windows/UNIX Host Option] Specifies the number of bytes that are physically read or written in an I/O operation. The default is 8K. The maximum is 1M (Windows) or 1G-1(UNIX).\",\"help\":\"BLKSIZE=*block-size*\",\"type\":\"value\"},{\"name\":\"BLOCK\",\"optional\":true,\"description\":\"Is used only in the context of named pipes. This option indicates whether the client is to wait if no data is currently available. BLOCK is the default value.\",\"type\":\"standalone\"},{\"name\":\"BUFND=\",\"optional\":true,\"description\":\"Indicates how many data buffers to use for the VSAM data set.\",\"help\":\"BUFND=*value*\",\"type\":\"value\"},{\"name\":\"BUFNI=\",\"optional\":true,\"description\":\"Indicates how many index buffers to use for the VSAM data set.\",\"help\":\"BUFNI=*value*\",\"type\":\"value\"},{\"name\":\"BYTE\",\"optional\":true,\"description\":\"Is used only in the context of named pipes. This option indicates the type of pipe. BYTE is the default value.\",\"type\":\"standalone\"},{\"name\":\"CCHHR=\",\"optional\":true,\"description\":\"specifies a character variable to which the physical address (cylinder head record) of a record is returned. This applies to files on CKD disks only.\",\"help\":\"CCHHR=*variable*\",\"type\":\"value\"},{\"name\":\"CLIENT\",\"optional\":true,\"description\":\"[Windows Host Option] Is used only in the context of named pipes. This option specifies the mode of a named pipe. The default value is SERVER.\",\"type\":\"standalone\"},{\"name\":\"CLOSE=\",\"optional\":true,\"description\":\"[z/OS Host Option] Indicates how a tape volume is positioned at the end of the DATA step.\",\"help\":\"CLOSE=REREAD | LEAVE | REWIND | FREE | DISP\",\"type\":\"choice\",\"arguments\":[{\"name\":\"REREAD\",\"description\":\"Positions the tape at the logical beginning of the data set.\",\"type\":\"standalone\"},{\"name\":\"LEAVE\",\"description\":\"Positions the tape at the logical end of the data set.\",\"type\":\"standalone\"},{\"name\":\"REWIND\",\"description\":\"Rewinds the tape to the physical beginning of the volume.\",\"type\":\"standalone\"},{\"name\":\"FREE\",\"description\":\"Dynamically deallocates the tape volume.\",\"type\":\"standalone\"},{\"name\":\"DISP\",\"description\":\"Is implied by the control language.\",\"type\":\"standalone\"}]},{\"name\":\"COLUMN=\",\"optional\":true,\"aliases\":[\"COL=\"],\"description\":\"Names a variable that SAS uses to assign the current column location of the input pointer. Like automatic variables, the COLUMN= variable is not written to the data set.\",\"type\":\"value\"},{\"name\":\"CONTROLINTERVAL\",\"optional\":true,\"aliases\":[\"CTLINTV\",\"CNV\"],\"description\":\"[VSAM Option] Indicates that you want to read physical VSAM control interval records rather than logical records. This option is typically used for diagnostic purposes (INFILE only).\",\"type\":\"standalone\"},{\"name\":\"CSRC\",\"optional\":true,\"description\":\"[OpenVMS Host Option] Specifies that you want to use the CSRCESRV services (available with z/OS) to compress data on output. For example: data _null_; file myfile csrc; put ... ; run;\",\"type\":\"standalone\"},{\"name\":\"CVAF\",\"optional\":true,\"description\":\"[VTOC Option under z/OS] Tells SAS to use the Common VTOC Access Facility (CVAF) of the IBM program product Data Facility/Device Support (DF/DS) for indexed VTOCs. If the VTOC is not indexed, or if your installation does not have CVAF, this option is ignored.\",\"type\":\"standalone\"},{\"name\":\"DATALINES4\",\"optional\":true,\"aliases\":[\"CARDS4\"],\"description\":\"Specifies that the input data immediately follows the DATALINES4|CARDS4 statement in the DATA step. Using DATALINES4|CARDS4 allows you to use the INFILE statement options to control how the INPUT statement reads instream data lines.\",\"type\":\"standalone\"},{\"name\":\"DATALINES\",\"optional\":true,\"aliases\":[\"CARDS\"],\"description\":\"Specifies that the input data immediately follows the DATALINES|CARDS statement in the DATA step. Using DATALINES|CARDS allows you to use the INFILE statement options to control how the INPUT statement reads instream data lines.\",\"type\":\"standalone\"},{\"name\":\"DCB=\",\"optional\":true,\"description\":\"specifies the fileref of an external file that was referenced in an earlier FILE or INFILE statement in the same DATA step. SAS uses that file's RECFM=, LRECL=, and BLKSIZE= information for the current file.\",\"help\":\"DCB=*fileref*\",\"type\":\"value\"},{\"name\":\"DELIMITER=\",\"optional\":true,\"aliases\":[\"DLM=\"],\"description\":\"Specifies an alternate delimiter (other than a blank) to be used for LIST input.\",\"type\":\"value\"},{\"name\":\"DISK\",\"optional\":true,\"description\":\"[device-type] Specifies that the device is a disk drive.\",\"type\":\"standalone\"},{\"name\":\"DLI\",\"optional\":true,\"description\":\"[type] For IMS-DL/I databases.\",\"type\":\"standalone\"},{\"name\":\"DLMSOPT=\",\"optional\":true,\"description\":\"Specifies whether case-insensitive comparisons will be done, or trailing blanks of the string delimiter will be removed.\",\"help\":\"DLMSOPT='I' | 'T'\",\"type\":\"choice\",\"arguments\":[{\"name\":\"'I'\",\"description\":\"Specifies that case-insensitive comparisons will be done.\",\"type\":\"standalone\"},{\"name\":\"'T'\",\"description\":\"Specifies that trailing blanks of the string delimiter will be removed.\",\"type\":\"standalone\"}]},{\"name\":\"DLMSTR=\",\"optional\":true,\"description\":\"Specifies a character string as an alternate delimiter (other than a blank) to be used for LIST input\",\"type\":\"value\"},{\"name\":\"DSD\",\"optional\":true,\"description\":\"Specifies that when data values are enclosed in quotation marks, delimiters within the value are treated as character data. The DSD option changes how SAS treats delimiters when you use LIST input and sets the default delimiter to a comma. When you specify DSD, SAS treats two consecutive delimiters as a missing value and removes quotation marks from character values.\",\"type\":\"standalone\"},{\"name\":\"DUMMY\",\"optional\":true,\"description\":\"[device-type] Specifies that the output to the file is discarded. Tip: Specifying DUMMY can be useful for testing.\",\"type\":\"standalone\"},{\"name\":\"ENCODING=\",\"optional\":true,\"description\":\"Specifies the encoding to use when reading from the external file.\",\"help\":\"ENCODING='warabic' | 'wbaltic' | 'wlatin2' | 'wcyrillic' | 'wgreek' | 'whebrew' | 'wturkish' | 'wvietnamese' | 'wlatin1' | 'utf-8' | 'ms-950' | 'ms-936' | 'ms-932' | 'ms-949'\",\"type\":\"choice\",\"arguments\":[{\"name\":\"'warabic'\",\"description\":\"Arabic\",\"type\":\"standalone\"},{\"name\":\"'wbaltic'\",\"description\":\"Baltic\",\"type\":\"standalone\"},{\"name\":\"'wlatin2'\",\"description\":\"Central Europe\",\"type\":\"standalone\"},{\"name\":\"'wcyrillic'\",\"description\":\"Cyrillic\",\"type\":\"standalone\"},{\"name\":\"'wgreek'\",\"description\":\"Greek\",\"type\":\"standalone\"},{\"name\":\"'whebrew'\",\"description\":\"Hebrew\",\"type\":\"standalone\"},{\"name\":\"'wturkish'\",\"description\":\"Turkish\",\"type\":\"standalone\"},{\"name\":\"'wvietnamese'\",\"description\":\"Vietnamese\",\"type\":\"standalone\"},{\"name\":\"'wlatin1'\",\"description\":\"Western\",\"type\":\"standalone\"},{\"name\":\"'utf-8'\",\"description\":\"Unicode encoding\",\"type\":\"standalone\"},{\"name\":\"'ms-950'\",\"description\":\"Traditional Chinese\",\"type\":\"standalone\"},{\"name\":\"'ms-936'\",\"description\":\"Simplified Chinese\",\"type\":\"standalone\"},{\"name\":\"'ms-932'\",\"description\":\"Japanese\",\"type\":\"standalone\"},{\"name\":\"'ms-949'\",\"description\":\"Korean\",\"type\":\"standalone\"}]},{\"name\":\"END=\",\"optional\":true,\"description\":\"Specifies a variable that SAS sets to 1 when the current input data record is the last in the input file. Until SAS processes the last data record, the END= variable is set to 0. Like automatic variables, this variable is not written to the data set. Restriction: You cannot use the END= option with UNBUFFERED option, DATALINES or DATALINES4 statement, and an INPUT statement that reads multiple input data records.\",\"type\":\"value\"},{\"name\":\"EOF=\",\"optional\":true,\"description\":\"Specifies a statement label that is the object of an implicit GO TO when the INFILE statement reaches end of file.\",\"type\":\"value\"},{\"name\":\"EOFCONNECT\",\"optional\":true,\"description\":\"[Windows Host Option] Is used only in the context of named pipes and is valid only when you are defining the server. This option indicates that if an end-of-file (EOF) character is received from a client, the server should try to connect to the next client.\",\"type\":\"standalone\"},{\"name\":\"EOV=\",\"optional\":true,\"description\":\"Specifies a variable that SAS sets to 1 when the first record in a file in a series of concatenated files is read.\",\"type\":\"value\"},{\"name\":\"ERASE=\",\"optional\":true,\"description\":\"Defines a numeric SAS variable that you must set to 1 when you want to erase a VSAM record (INFILE only).\",\"help\":\"ERASE=*variable*\",\"type\":\"value\"},{\"name\":\"EXPANDTABS\",\"optional\":true,\"description\":\"Specifies to expand tab characters to the standard tab setting, which is set at 8-column intervals that start at column 9.\",\"type\":\"standalone\"},{\"name\":\"FAC=\",\"optional\":true,\"description\":\"[OpenVMS Host Option] Overrides the default file access attributes used for external files. Use this option to indicate the level of access you want to allow for an external file. You can allow READ, WRITE, UPDATE, and DELETE access (as well as no access). By default with external files, files opened for input allow read access, files opened for output allow WRITE access, and files opened for update allow READ and WRITE access. The form of the FAC= option is FAC=access-option-list where access-option-list can be one of the following: DEL specifies DELETE access. GET specifies READ access. PUT specifies WRITE access. UPD specifies UPDATE access. You can combine these values in any order. For example, specifying the following indicates that you want DELETE, READ, and WRITE access:\",\"type\":\"value\"},{\"name\":\"FEEDBACK=\",\"optional\":true,\"aliases\":[\"FDBK=\"],\"description\":\"Defines a numeric variable that SAS sets to the VSAM logical error code. This option is similar to the _FDBK_ automatic variable. When SAS sets the FEEDBACK variable, you must reset it to 0 in order to continue.\",\"type\":\"value\"},{\"name\":\"FILEDATA=\",\"optional\":true,\"description\":\"[UNIX/z/OS Host Option] The FILEDATA= option specifies that the file being processed is expected to contain either binary or text data.\",\"help\":\"FILEDATA=BINARY | TEXT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"BINARY\",\"description\":\"The FILEDATA= option specifies that the file being processed is expected to contain binary data.\",\"type\":\"standalone\"},{\"name\":\"TEXT\",\"description\":\"The FILEDATA= option specifies that the file being processed is expected to contain text data.\",\"type\":\"standalone\"}]},{\"name\":\"FILENAME=\",\"optional\":true,\"description\":\"Specifies a variable that SAS sets to the physical StatementOptionName of the currently opened input file. Like automatic variables, the FILENAME= variable is not written to the data set.\",\"type\":\"value\"},{\"name\":\"FILEVAR=\",\"optional\":true,\"description\":\"Specifies a variable whose change in value causes the INFILE statement to close the current input file and open a new one.\",\"type\":\"value\"},{\"name\":\"FIRSTOBS=\",\"optional\":true,\"description\":\"Specifies a record number that SAS uses to begin reading input data records in the input file.\",\"type\":\"value\"},{\"name\":\"FLOWOVER\",\"optional\":true,\"description\":\"Causes an INPUT statement to continue to read the next input data record if it does not find values in the current input line for all the variables in the statement.\",\"type\":\"standalone\"},{\"name\":\"GENKEY\",\"optional\":true,\"description\":\"[VSAM Option] Causes SAS to use the KEY= variable as the leading portion of a record's key. VSAM retrieves the first record whose key matches the generic key (INFILE only).\",\"type\":\"standalone\"},{\"name\":\"GTERM\",\"optional\":true,\"description\":\"[device-type] Indicates that the output device type is a graphics device that will receive graphics data.\",\"type\":\"standalone\"},{\"name\":\"HFS\",\"optional\":true,\"description\":\"[type] For UNIX System Services files.\",\"type\":\"standalone\"},{\"name\":\"HOTLINK\",\"optional\":true,\"description\":\"[Windows Host Option] Instructs SAS to use the DDE HOTLINK.\",\"type\":\"standalone\"},{\"name\":\"IDMS\",\"optional\":true,\"description\":\"[type] For CA-IDMS files.\",\"type\":\"standalone\"},{\"name\":\"IGNOREDOSEOF\",\"optional\":true,\"description\":\"[Windows Host Option] Is used in the context of I/O operations on variable record format files. When this option is specified, any occurrence of ^Z is interpreted as character data and not as an end-of-file marker.\",\"type\":\"standalone\"},{\"name\":\"ISAM\",\"optional\":true,\"description\":\"[type] For ISAM files.\",\"type\":\"standalone\"},{\"name\":\"KEY=\",\"optional\":true,\"description\":\"[OpenVMS Host Option] Specifies which key SAS uses to read the records in an RMS file with indexed organization. The KEY= option is always used with the KEYVALUE= option.\",\"type\":\"value\"},{\"name\":\"KEYLEN=\",\"optional\":true,\"description\":\"Specifies a numeric SAS variable that, when used with GENKEY, specifies the length of the key that is to be compared to the keys in the file.\",\"help\":\"KEYLEN=*variable*\",\"type\":\"value\"},{\"name\":\"KEYPOS=\",\"optional\":true,\"description\":\"Indicates the numeric variable that SAS sets to the position of the VSAM key field. This option enables you to read keys without knowing the key position in advance. This variable is set to the column number (starting from 1).\",\"help\":\"KEYPOS=*variable*\",\"type\":\"value\"},{\"name\":\"KEYVALUE=\",\"optional\":true,\"description\":\"[OpenVMS Host Option] Specifies the key value with which to begin reading an indexed file.\",\"type\":\"value\"},{\"name\":\"LENGTH=\",\"optional\":true,\"description\":\"Specifies a variable that SAS sets to the length of the current input line.\",\"type\":\"value\"},{\"name\":\"LINE=\",\"optional\":true,\"description\":\"Specifies a variable that SAS sets to the line location of the input pointer in the input buffer. Like automatic variables, the LINE= variable is not written to the data set.\",\"type\":\"value\"},{\"name\":\"LINESIZE=\",\"optional\":true,\"aliases\":[\"LS=\"],\"description\":\"Specifies the record length that is available to the INPUT statement.\",\"type\":\"value\"},{\"name\":\"LRECL=\",\"optional\":true,\"description\":\"Specifies the logical record length.\",\"type\":\"value\"},{\"name\":\"MBC=\",\"optional\":true,\"description\":\"[OpenVMS Host Option] Specifies the size of the I/O buffers that OpenVMS RMS allocates for a particular file. The value can range from 0 to 127 and represents the number of blocks used for each buffer. By default, this option is set to 0 and the default values for the process are used. The MBC= option (multiblock count) is used for both input and output to control the allocation for a particular file. If you want to control the allocation size for all the external files used during the current SAS session, you can use the MBC= option in every FILE, FILENAME, or INFILE statement. You can also use the DCL SET RMS_DEFAULT command to specify a process default, and let the SAS values default to the process's default values.\",\"type\":\"value\"},{\"name\":\"MBF=\",\"optional\":true,\"description\":\"[OpenVMS Host Option] Specifies the number of I/O buffers you want OpenVMS RMS to allocate for a particular file. The value can range from 0 to 127 and represents the number of buffers used. By default, this option is set to a value of 2. If a value of 0 is specified, the default value for the process is used. The MBF= option (multibuffer count) is used for both input and output to control the number of buffers allocated for a particular file. If you want to control the number of buffers allocated for all the external files used during the SAS session, you can use the MBF= option in every FILE, FILENAME, or INFILE statement. The DCL SET RMS_DEFAULT command can be used to specify a process default. Then, you can let the SAS values default to the process's default values.\",\"type\":\"value\"},{\"name\":\"MESSAGE\",\"optional\":true,\"description\":\"Is used only in the context of named pipes. This option indicates the type of pipe. BYTE is the default value.\",\"type\":\"standalone\"},{\"name\":\"MISSOVER\",\"optional\":true,\"description\":\"Prevents an INPUT statement from reading a new input data record if it does not find values in the current input line for all the variables in the statement.\",\"type\":\"standalone\"},{\"name\":\"MOD\",\"optional\":true,\"description\":\"Indicates that data written to the file should be appended to the file\",\"type\":\"standalone\"},{\"name\":\"MVS\",\"optional\":true,\"description\":\"[type] For z/OS data sets.\",\"type\":\"standalone\"},{\"name\":\"N=\",\"optional\":true,\"description\":\"Specifies the number of lines that are available to the input pointer at one time.\",\"type\":\"value\"},{\"name\":\"NBYTE=\",\"optional\":true,\"description\":\"Specifies the StatementOptionName of a variable that contains the number of bytes to read from a file when you are reading data in stream record format (RECFM=S in the FILENAME statement).\",\"type\":\"value\"},{\"name\":\"NEW\",\"optional\":true,\"description\":\"Indicates that a new file is to be opened for output. If the file already exists, then it is deleted and re-created.\",\"type\":\"standalone\"},{\"name\":\"NOBLOCK\",\"optional\":true,\"description\":\"Is used only in the context of named pipes. This option indicates whether the client is to wait if no data is currently available. BLOCK is the default value.\",\"type\":\"standalone\"},{\"name\":\"NOEXPANDTABS\",\"optional\":true,\"description\":\"Specifies not to expand tab characters to the standard tab setting, which is set at 8-column intervals that start at column 9.\",\"type\":\"standalone\"},{\"name\":\"NOPAD\",\"optional\":true,\"description\":\"SAS does not pad the records that are read from an external file with blanks to the length that is specified in the LRECL= option.\",\"type\":\"standalone\"},{\"name\":\"NOPRINT\",\"optional\":true,\"description\":\"Specifies that the input file does not contain carriage-control characters.\",\"type\":\"standalone\"},{\"name\":\"NOTAB\",\"optional\":true,\"description\":\"[Windows Host Option] Instructs SAS to ignore tab characters between variables.\",\"type\":\"standalone\"},{\"name\":\"NRLS\",\"optional\":true,\"description\":\"[VSAM Option] Specifies not to use record-level sharing (RLS) to open an RLS-eligible data set (INFILE only).\",\"type\":\"standalone\"},{\"name\":\"OBS=\",\"optional\":true,\"description\":\"Use OBS= with FIRSTOBS= to read a range of records from the middle of a file.\",\"help\":\"OBS=&lt;*record-number*&gt; | MAX\",\"type\":\"choice\",\"arguments\":[{\"name\":\"record-number\",\"placeholder\":true,\"description\":\"Specifies the record number of the last record to read in an input file that is read sequentially.\",\"type\":\"standaloneOrValue\"},{\"name\":\"MAX\",\"description\":\"Specifies the maximum number of observations to process, which will be at least as large as the largest signed, 32-bit integer.\",\"type\":\"standalone\"}]},{\"name\":\"OLD\",\"optional\":true,\"description\":\"Indicates that a new file is to be opened for output. If the file already exists, then the previous contents of the file are replaced.\",\"type\":\"standalone\"},{\"name\":\"PAD\",\"optional\":true,\"description\":\"SAS pads the records that are read from an external file with blanks to the length that is specified in the LRECL= option.\",\"type\":\"standalone\"},{\"name\":\"PASSWD=\",\"optional\":true,\"description\":\"Gives the appropriate password for a VSAM data set that has password protection.\",\"help\":\"PASSWD=*value*\",\"type\":\"value\"},{\"name\":\"PIPE\",\"optional\":true,\"description\":\"[device-type] Specifies an unnamed pipe. Note: Some operating environments do not support pipes.\",\"type\":\"standalone\"},{\"name\":\"PLOTTER\",\"optional\":true,\"description\":\"[device-type] Specifies an unbuffered graphics output device.\",\"type\":\"standalone\"},{\"name\":\"PRINT\",\"optional\":true,\"description\":\"Specifies that the input file contains carriage-control characters.\",\"type\":\"standalone\"},{\"name\":\"PRINTER\",\"optional\":true,\"description\":\"[device-type] Specifies a printer or printer spool file.\",\"type\":\"standalone\"},{\"name\":\"RBA=\",\"optional\":true,\"description\":\"Specifies a numeric variable that you set to the relative byte address (RBA) of the data record that you want to read. The RBA= option indicates that addressed direct access is being used; it is appropriate for KSDS and ESDS. If you specify the CONTROLINTERVAL option, you can use the RBA= option to access control records in an RRDS (INFILE only).\",\"help\":\"RBA=*variable*\",\"type\":\"value\"},{\"name\":\"RC4STOP\",\"optional\":true,\"description\":\"[VSAM Option] Stops the DATA step from executing if a return code greater than 4 is returned by the operating environment when the VSAM data set is opened.\",\"type\":\"standalone\"},{\"name\":\"RECFM=\",\"optional\":true,\"description\":\"[Windows/UNIX Host Option] Specifies the record format of the external file.\",\"help\":\"RECFM=F | P | S | V | N | s370V | S370VB | S370VBS | STREAMLF\",\"type\":\"choice\",\"arguments\":[{\"name\":\"F\",\"description\":\"Fixed-record format\",\"type\":\"standalone\"},{\"name\":\"P\",\"description\":\"Print format.\",\"type\":\"standalone\"},{\"name\":\"S\",\"description\":\"Stream-record format.\",\"type\":\"standalone\"},{\"name\":\"V\",\"aliases\":[\"D\"],\"description\":\"Variable-record format (the default)\",\"type\":\"standalone\"},{\"name\":\"N\",\"description\":\"Indicates binary format and causes the file to be treated as a byte stream. If LRECL is not specified, by default SAS reads 256 bytes at a time from the file.\",\"type\":\"standalone\"},{\"name\":\"s370V\",\"description\":\"Indicates the variable S370 record format (V).\",\"type\":\"standalone\"},{\"name\":\"S370VB\",\"description\":\"Indicates the variable block S370 record format (VB).\",\"type\":\"standalone\"},{\"name\":\"S370VBS\",\"description\":\"Indicates the variable block with spanned records S370 record format (VBS).\",\"type\":\"standalone\"},{\"name\":\"STREAMLF\",\"description\":\"[For OpenVMS] Specifies StreamLF record format. Records are delimited by LF.\",\"type\":\"standalone\"}]},{\"name\":\"RECORDS=\",\"optional\":true,\"description\":\"Defines a numeric variable that SAS sets to the number of logical records in a VSAM data set that has been opened for input.\",\"help\":\"RECORDS=*variable*\",\"type\":\"value\"},{\"name\":\"RECORG=\",\"optional\":true,\"description\":\"[z/OS Host Option] Specifies the organization of records in a new VSAM data set. Use this option only if SMS is active.\",\"help\":\"RECORG=KS | ES | RR | LS\",\"type\":\"choice\",\"arguments\":[{\"name\":\"KS\",\"description\":\"Specifies a VSAM key-sequenced data set.\",\"type\":\"standalone\"},{\"name\":\"ES\",\"description\":\"Specifies a VSAM entry-sequenced data set.\",\"type\":\"standalone\"},{\"name\":\"RR\",\"description\":\"Specifies a VSAM relative-record data set.\",\"type\":\"standalone\"},{\"name\":\"LS\",\"description\":\"Specifies a VSAM linear-space data set.\",\"type\":\"standalone\"}]},{\"name\":\"RESET\",\"optional\":true,\"description\":\"[VSAM Option] Indicates that the VSAM file is reset to empty (no records) when it is opened. This option applies only to loading a VSAM data set that has been marked REUSE. You cannot use this option if the data set contains an alternate index.\",\"type\":\"standalone\"},{\"name\":\"RETRY=\",\"optional\":true,\"description\":\"[Windows Host Option]\",\"help\":\"RETRY=*seconds*\",\"type\":\"value\"},{\"name\":\"RRN=\",\"optional\":true,\"description\":\"Defines a numeric variable that you set to the relative record number (RRN) of the record that you want to read or write. This option indicates that keyed direct access is being used; it is appropriate for RRDS only.\",\"help\":\"RRN=*variable*\",\"type\":\"value\"},{\"name\":\"SCANOVER\",\"optional\":true,\"description\":\"Causes the INPUT statement to scan the input data records until the character string that is specified in the @'character-string' expression is found.\",\"type\":\"standalone\"},{\"name\":\"SEQUENTIAL\",\"optional\":true,\"description\":\"[VSAM Option] Specifies sequential VSAM record retrieval when either the RBA= (for an ESDS) or the RRN= option (for an RRDS) is specified (INFILE only).\",\"type\":\"standalone\"},{\"name\":\"SERVER\",\"optional\":true,\"description\":\"[Windows Host Option] Is used only in the context of named pipes. This option specifies the mode of a named pipe. The default value is SERVER.\",\"type\":\"standalone\"},{\"name\":\"SHAREBUFFERS\",\"optional\":true,\"aliases\":[\"SHAREBUFS\"],\"description\":\"Specifies that the FILE statement and the INFILE statement share the same buffer.\",\"type\":\"standalone\"},{\"name\":\"SHR=\",\"optional\":true,\"description\":\"[OpenVMS Host Option] Overrides the default file-sharing attributes used for external files. With this option, you can indicate the access level you want to give other users. You can allow READ, WRITE, UPDATE, and DELETE access (as well as no access). By default with external files, files opened for input allow shared read access, and files opened for output or UPDATE do not allow shared access. However, you can allow other users to have READ and WRITE access to a file that you are opening for input only. To accomplish this, use the SHR= option. The syntax of the SHR= option is SHR=share-option-list where share-option-list can be one of the following: DEL specifies DELETE access. GET specifies shared READ access. NONE specifies no shared access. PUT specifies shared WRITE access. UPD specifies UPDATE access. You can combine these values in any order. For example, specifying the following indicates that you want shared DELETE, READ, and WRITE access:\",\"type\":\"value\"},{\"name\":\"SKIP\",\"optional\":true,\"description\":\"[VSAM Option] Indicates skip-sequential processing of VSAM files. Skip-sequential processing finds the first record whose value is the same as the value specified by the KEY= option; records are read sequentially thereafter (INFILE only).\",\"type\":\"standalone\"},{\"name\":\"START=\",\"optional\":true,\"description\":\"Specifies a variable whose value SAS uses as the first column number of the record that the PUT _INFILE_ statement writes. Like automatic variables, the START variable is not written to the data set.\",\"type\":\"value\"},{\"name\":\"STOPOVER\",\"optional\":true,\"description\":\"Causes the DATA step to stop processing if an INPUT statement reaches the end of the current record without finding values for all variables in the statement.\",\"type\":\"standalone\"},{\"name\":\"TAPE\",\"optional\":true,\"description\":\"[device-type] Specifies a tape drive.\",\"type\":\"standalone\"},{\"name\":\"TEMP\",\"optional\":true,\"description\":\"[device-type] Creates a temporary file that exists only as long as the filename is assigned.\",\"type\":\"standalone\"},{\"name\":\"TERMINAL\",\"optional\":true,\"description\":\"[device-type] Specifies the user's terminal.\",\"type\":\"standalone\"},{\"name\":\"TERMSTR=\",\"optional\":true,\"description\":\"[Windows/UNIX Host Option] Specifies the end-of-line character for the file. Use this option to share files between the UNIX and Windows operating environments.\",\"help\":\"TERMSTR=CR | CRLF | LF | NULL | NONE | NL | LFCR | CRNL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"CR\",\"description\":\"Carriage return (CR).\",\"type\":\"standalone\"},{\"name\":\"CRLF\",\"description\":\"Carriage return (CR) followed by line feed (LF).\",\"type\":\"standalone\"},{\"name\":\"LF\",\"description\":\"Line feed only (the default).\",\"type\":\"standalone\"},{\"name\":\"NULL\",\"description\":\"NULL character (0x00).\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"Record terminators are not used. This parameter provides the same function as FILEDATA=BINARY.\",\"type\":\"standalone\"},{\"name\":\"NL\",\"description\":\"The newline character (x'15') is used as the record terminator. This parameter provides the same function as FILEDATA=TEXT.\",\"type\":\"standalone\"},{\"name\":\"LFCR\",\"description\":\"The sequence LF followed by CR is used as the record terminator.\",\"type\":\"standalone\"},{\"name\":\"CRNL\",\"description\":\"The sequence CR followed by NL is used as the record terminator.\",\"type\":\"standalone\"}]},{\"name\":\"TRUNCOVER\",\"optional\":true,\"description\":\"Overrides the default behavior of the INPUT statement when an input data record is shorter than the INPUT statement expects. By default, the INPUT statement automatically reads the next input data record. TRUNCOVER enables you to read variable-length records when some records are shorter than the INPUT statement expects. Variables without any values assigned are set to missing.\",\"type\":\"standalone\"},{\"name\":\"UNBUFFERED\",\"optional\":true,\"aliases\":[\"UNBUF\"],\"description\":\"Tells SAS not to perform a buffered (\\\"look ahead\\\") read.\",\"type\":\"standalone\"},{\"name\":\"UPDATE=\",\"optional\":true,\"description\":\"Defines a numeric SAS variable that indicates that not every record that it reads is to be updated. Use this option when you are updating records in a VSAM data set (INFILE only). When an INFILE and a FILE statement reference the same VSAM data set, records are retrieved for update by default.\",\"help\":\"UPDATE=*variable*\",\"type\":\"value\"},{\"name\":\"UPRINTER\",\"optional\":true,\"description\":\"[device-type] Specifies a Universal Printing printer definition StatementOptionName.\",\"type\":\"standalone\"},{\"name\":\"VSAM\",\"optional\":true,\"description\":\"[type] For VSAM files.\",\"type\":\"standalone\"},{\"name\":\"VTOC\",\"optional\":true,\"description\":\"[type] For a Volume Table of Contents (VTOC).\",\"type\":\"standalone\"},{\"name\":\"_INFILE_=\",\"optional\":true,\"description\":\"Specifies a character variable that references the contents of the current input buffer for this INFILE statement.\",\"type\":\"value\"}]},{\"name\":\"INFORMAT\",\"description\":\"Associates informats with variables.\",\"help\":\"INFORMAT &lt;DEFAULT= default-informat&gt;\",\"arguments\":[{\"name\":\"DEFAULT=\",\"optional\":true,\"description\":\"Specifies a temporary default informat for reading values of the variables that are listed in the INFORMAT statement. If no variable is specified, then the DEFAULT= informat specification applies a temporary default informat for reading values of all the variables of that type included in the DATA step. Numeric informats are applied to numeric variables, and character informats are applied to character variables. These default informats apply only to the current DATA step. A DEFAULT= informat specification applies to o variables that are not named in an INFORMAT or ATTRIB statement o variables that are not permanently associated with an informat within a SAS data set o variables that are not read with an explicit informat in the current DATA step. Default: If you omit DEFAULT=, SAS uses w.d as the default numeric informat and $w. as the default character informat. Restriction: Use this argument only in a DATA step.\",\"type\":\"value\"}]},{\"name\":\"INPUT\",\"description\":\"Describes the arrangement of values in the input data record and assigns input values to the corresponding SAS variables.\",\"help\":\"INPUT &lt;specification(s)&gt;&lt;@|@@&gt;\"},{\"name\":\"KEEP\",\"description\":\"Specifies the variables to include in output SAS data sets.\",\"help\":\"KEEP variable-list\"},{\"name\":\"LABEL\",\"description\":\"Identifies a statement that is referred to by another statement.\",\"help\":\"\"},{\"name\":\"LEAVE\",\"description\":\"Stops processing the current loop and resumes with the next statement in the sequence.\",\"help\":\"LEAVE\"},{\"name\":\"LENGTH\",\"description\":\"Specifies the number of bytes for storing variables.\",\"help\":\"LENGTH &lt;DEFAULT=n&gt;\",\"arguments\":[{\"name\":\"DEFAULT=\",\"optional\":true,\"description\":\"Changes the default number of bytes that SAS uses to store the values of any newly created numeric variables.\",\"help\":\"DEFAULT=*n*\",\"type\":\"value\"}]},{\"name\":\"LINK\",\"description\":\"Directs program execution immediately to the statement label that is specified and, if followed by a RETURN statement, returns execution to the statement that follows the LINK statement.\",\"help\":\"LINK label\"},{\"name\":\"LIST\",\"description\":\"Writes to the SAS log the input data record for the observation that is being processed.\",\"help\":\"LIST\"},{\"name\":\"MERGE\",\"description\":\"Joins observations from two or more SAS data sets into a single observation.\",\"help\":\"MERGE &lt;ALTER=&gt;&lt;BUFNO=&lt;n | nK | hexX&gt;... &gt;&lt;END=variable&gt; ...\",\"arguments\":[{\"name\":\"ALTER=\",\"optional\":true,\"description\":\"\",\"type\":\"value\"},{\"name\":\"BUFNO=\",\"optional\":true,\"description\":\"\",\"help\":\"BUFNO=n | nK | hexX | MIN | MAX\",\"type\":\"choice\",\"arguments\":[{\"name\":\"n\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"nK\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"hexX\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"MIN\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"MAX\",\"description\":\"\",\"type\":\"standalone\"}]},{\"name\":\"BUFSIZE=\",\"optional\":true,\"description\":\"\",\"help\":\"BUFSIZE=n | nK | nM | nG | hexX | MIN | MAX\",\"type\":\"choice\",\"arguments\":[{\"name\":\"n\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"nK\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"nM\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"nG\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"hexX\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"MIN\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"MAX\",\"description\":\"\",\"type\":\"standalone\"}]},{\"name\":\"CNTLLEV=\",\"optional\":true,\"description\":\"\",\"help\":\"CNTLLEV=LIB | MEM | REC\",\"type\":\"choice\",\"arguments\":[{\"name\":\"LIB\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"MEM\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"REC\",\"description\":\"\",\"type\":\"standalone\"}]},{\"name\":\"COMPRESS=\",\"optional\":true,\"description\":\"\",\"help\":\"COMPRESS=NO | YES | CHAR | BINARY\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NO\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"YES\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"CHAR\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"BINARY\",\"description\":\"\",\"type\":\"standalone\"}]},{\"name\":\"DLDMGACTION=\",\"optional\":true,\"description\":\"\",\"help\":\"DLDMGACTION=FAIL | ABORT | REPAIR | NOINDEX | PROMPT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"FAIL\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"ABORT\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"REPAIR\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"NOINDEX\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"PROMPT\",\"description\":\"\",\"type\":\"standalone\"}]},{\"name\":\"DROP=\",\"optional\":true,\"description\":\"\",\"type\":\"value\"},{\"name\":\"ENCRYPT=\",\"optional\":true,\"description\":\"\",\"help\":\"ENCRYPT=YES | NO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YES\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"NO\",\"description\":\"\",\"type\":\"standalone\"}]},{\"name\":\"ENCRYPTKEY=\",\"optional\":true,\"description\":\"\",\"type\":\"value\"},{\"name\":\"END=\",\"optional\":true,\"description\":\"Names and creates a temporary variable that contains an end-of-file indicator.\",\"help\":\"END=*variable*\",\"type\":\"value\"},{\"name\":\"EXTENDOBSCOUNTER=\",\"optional\":true,\"description\":\"\",\"type\":\"value\"},{\"name\":\"FILECLOSE=\",\"optional\":true,\"description\":\"\",\"help\":\"FILECLOSE=DISP | LEAVE | REREAD | REWIND\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DISP\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"LEAVE\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"REREAD\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"REWIND\",\"description\":\"\",\"type\":\"standalone\"}]},{\"name\":\"FIRSTOBS=\",\"optional\":true,\"description\":\"\",\"help\":\"FIRSTOBS=n | nK | nM | nG | hexX | MIN | MAX\",\"type\":\"choice\",\"arguments\":[{\"name\":\"n\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"nK\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"nM\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"nG\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"hexX\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"MIN\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"MAX\",\"description\":\"\",\"type\":\"standalone\"}]},{\"name\":\"GENMAX=\",\"optional\":true,\"description\":\"\",\"type\":\"value\"},{\"name\":\"GENNUM=\",\"optional\":true,\"description\":\"\",\"type\":\"value\"},{\"name\":\"IDXNAME=\",\"optional\":true,\"description\":\"\",\"type\":\"value\"},{\"name\":\"IDXWHERE=\",\"optional\":true,\"description\":\"\",\"help\":\"IDXWHERE=YES | NO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YES\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"NO\",\"description\":\"\",\"type\":\"standalone\"}]},{\"name\":\"IN=\",\"optional\":true,\"description\":\"\",\"type\":\"value\"},{\"name\":\"INDEX=\",\"optional\":true,\"description\":\"\",\"type\":\"value\"},{\"name\":\"KEEP=\",\"optional\":true,\"description\":\"\",\"type\":\"value\"},{\"name\":\"LABEL=\",\"optional\":true,\"description\":\"\",\"type\":\"value\"},{\"name\":\"OBS=\",\"optional\":true,\"description\":\"\",\"help\":\"OBS=n | nK | nM | nG | nT | hexX | MIN | MAX\",\"type\":\"choice\",\"arguments\":[{\"name\":\"n\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"nK\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"nM\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"nG\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"nT\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"hexX\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"MIN\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"MAX\",\"description\":\"\",\"type\":\"standalone\"}]},{\"name\":\"OUTREP=\",\"optional\":true,\"description\":\"\",\"type\":\"value\"},{\"name\":\"POINTOBS=\",\"optional\":true,\"description\":\"\",\"help\":\"POINTOBS=YES | NO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YES\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"NO\",\"description\":\"\",\"type\":\"standalone\"}]},{\"name\":\"PW=\",\"optional\":true,\"description\":\"\",\"type\":\"value\"},{\"name\":\"PWREQ=\",\"optional\":true,\"description\":\"\",\"help\":\"PWREQ=YES | NO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YES\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"NO\",\"description\":\"\",\"type\":\"standalone\"}]},{\"name\":\"READ=\",\"optional\":true,\"description\":\"\",\"type\":\"value\"},{\"name\":\"RENAME=\",\"optional\":true,\"description\":\"\",\"type\":\"value\"},{\"name\":\"REPEMPTY=\",\"optional\":true,\"description\":\"\",\"help\":\"REPEMPTY=YES | NO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YES\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"NO\",\"description\":\"\",\"type\":\"standalone\"}]},{\"name\":\"REPLACE=\",\"optional\":true,\"description\":\"\",\"help\":\"REPLACE=YES | NO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YES\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"NO\",\"description\":\"\",\"type\":\"standalone\"}]},{\"name\":\"REUSE=\",\"optional\":true,\"description\":\"\",\"help\":\"REUSE=YES | NO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YES\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"NO\",\"description\":\"\",\"type\":\"standalone\"}]},{\"name\":\"SGIO=\",\"optional\":true,\"description\":\"\",\"help\":\"SGIO=YES | NO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YES\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"NO\",\"description\":\"\",\"type\":\"standalone\"}]},{\"name\":\"SORTEDBY=\",\"optional\":true,\"description\":\"\",\"help\":\"SORTEDBY=by-clause &lt; / collate-name&gt; | _NULL_\",\"type\":\"choice\",\"arguments\":[{\"name\":\"by-clause\",\"description\":\"\",\"help\":\"by-clause &lt; / collate-name&gt;\",\"type\":\"standalone\"},{\"name\":\"_NULL_\",\"description\":\"\",\"type\":\"standalone\"}]},{\"name\":\"SPILL=\",\"optional\":true,\"description\":\"\",\"help\":\"SPILL=YES | NO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YES\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"NO\",\"description\":\"\",\"type\":\"standalone\"}]},{\"name\":\"TOBSNO=\",\"optional\":true,\"description\":\"\",\"type\":\"value\"},{\"name\":\"TRANTAB=\",\"optional\":true,\"description\":\"\",\"type\":\"value\"},{\"name\":\"TYPE=\",\"optional\":true,\"description\":\"\",\"type\":\"value\"},{\"name\":\"WHERE=\",\"optional\":true,\"description\":\"\",\"type\":\"value\"},{\"name\":\"WHEREUP=\",\"optional\":true,\"description\":\"\",\"help\":\"WHEREUP=YES | NO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YES\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"NO\",\"description\":\"\",\"type\":\"standalone\"}]},{\"name\":\"WRITE=\",\"optional\":true,\"description\":\"\",\"type\":\"value\"}]},{\"name\":\"MODIFY\",\"description\":\"Replaces, deletes, and appends observations in an existing SAS data set in place but does not create an additional copy.\",\"help\":\"MODIFY &lt;END=variable&gt;&lt;KEY=index&gt;&lt;NOBS=variable&gt; ...\",\"arguments\":[{\"name\":\"CUREOBS=\",\"optional\":true,\"description\":\"Creates and names a variable that contains the observation number that was just read from the data set.\",\"type\":\"value\"},{\"name\":\"END=\",\"optional\":true,\"description\":\"Creates and names a temporary variable that contains an end-of-file indicator.\",\"help\":\"END=*variable*\",\"type\":\"value\"},{\"name\":\"KEY=\",\"optional\":true,\"description\":\"Specifies a simple or composite index of the SAS data file that is being modified. The KEY= argument retrieves observations from that SAS data file based on index values that are supplied by like-named variables in another source of information.\",\"help\":\"KEY=*index*\",\"type\":\"value\"},{\"name\":\"KEYRESET=\",\"optional\":true,\"description\":\"Controls whether a KEY= search should begin at the top of the index for the data set that is being read. When the value of the KEYRESET variable is 1, the index lookup begins at the top of the index. When the value of the KEYRESET variable is 0, the index lookup is not reset and the lookup continues where the prior lookup ended.\",\"help\":\"KEYRESET=*variable*\",\"type\":\"value\"},{\"name\":\"NOBS=\",\"optional\":true,\"description\":\"Creates and names a temporary variable whose value is usually the total number of observations in the input data set. For certain SAS views, SAS cannot determine the number of observations. In these cases, SAS sets the value of the NOBS= variable to the largest positive integer value available in the operating environment.\",\"help\":\"NOBS=*variable*\",\"type\":\"value\"},{\"name\":\"POINT=\",\"optional\":true,\"description\":\"Reads SAS data sets using random (direct) access by observation number. variable names a variable whose value is the number of the observation to read. The POINT= variable is available anywhere in the DATA step, but it is not added to any SAS data set.\",\"help\":\"POINT=*variable*\",\"type\":\"value\"},{\"name\":\"UNIQUE\",\"optional\":true,\"description\":\"Causes a KEY= search always to begin at the top of the index for the data file being modified.\",\"type\":\"standalone\"},{\"name\":\"UPDATEMODE=\",\"optional\":true,\"description\":\"Specifies whether missing variable values in a transaction data set are to be allowed to replace existing variable values in a master data set.\",\"help\":\"UPDATEMODE=MISSINGCHECK | NOMISSINGCHECK\",\"type\":\"choice\",\"arguments\":[{\"name\":\"MISSINGCHECK\",\"description\":\"Prevents missing variable values in a transaction data set from replacing values in a master data set.\",\"type\":\"standalone\"},{\"name\":\"NOMISSINGCHECK\",\"description\":\"Allows missing variable values in a transaction data set to replace values in a master data set by preventing the check from being performed.\",\"type\":\"standalone\"}]}]},{\"name\":\"OTHERWISE\",\"description\":\"Specifies a statement to be executed if no WHEN condition is met.\",\"help\":\"OTHERWISE &lt;DO&gt;\",\"arguments\":[{\"name\":\"DO\",\"optional\":true,\"description\":\"Action statement.\",\"type\":\"standalone\"}]},{\"name\":\"OUTPUT\",\"description\":\"The OUTPUT statement enables you to specify the data set to output the generated compound distribution sample. If you specify more than one OUTPUT statement, only the first one is used.\",\"help\":\"OUTPUT ADJSAMPLEVAR=variable-name OUT=SAS-data-set | OUTSAMPLE=SAS-data-set SAMPLEVAR=variable-name ...\",\"arguments\":[{\"name\":\"ADJSAMPLEVAR=\",\"description\":\"Specifies the name of the variable to contain the adjusted compound distribution sample in the OUT= data set. If you do not specify the ADJSAMPLEVAR= option, then “_AGGADJSEV_” is used by default.\",\"help\":\"ADJSAMPLEVAR=*variable-name*\",\"type\":\"value\"},{\"name\":\"OUT=\",\"aliases\":[\"OUTSAMPLE=\"],\"description\":\"Specifies the output data set to contain the simulated compound distribution sample. If you specify programming statements to adjust individual severity values, then this data set contains both unadjusted and adjusted samples.\",\"type\":\"value\"},{\"name\":\"SAMPLEVAR=\",\"description\":\"Specifies the name of the variable to contain the simulated sample in the OUT= data set. If you do not specify the SAMPLEVAR= option, then “_AGGSEV_” is used by default.\",\"help\":\"SAMPLEVAR=*variable-name*\",\"type\":\"value\"},{\"name\":\"PERTURBOUT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies that all the perturbed samples be written to the OUT= data set. Each perturbed sample is identified by the _DRAWID_ variable in the OUT= data set. A value of 0 for the _DRAWID_ variable indicates an unperturbed sample.\",\"type\":\"standalone\"}]},{\"name\":\"OUTSUM\",\"description\":\"The OUTSUM statement enables you to specify the data set in which PROC HPCDM writes the summary statistics of the compound distribution samples. If you specify more than one OUTSUM statement, only the first one is used.\",\"help\":\"OUTSUM &lt;KURTOSIS|KURT &lt; =variable-name &gt;&gt;&lt;MEAN &lt; =variable-name &gt;&gt;&lt;OUT=SAS-data-set | OUTSUM=SAS-data-set&gt; ...\",\"arguments\":[{\"name\":\"KURTOSIS\",\"optional\":true,\"aliases\":[\"KURT\"],\"description\":\"Specifies the kurtosis of the compound distribution sample.\",\"type\":\"standalone\"},{\"name\":\"MEAN\",\"optional\":true,\"description\":\"Specifies the mean of the compound distribution sample.\",\"type\":\"standalone\"},{\"name\":\"MEDIAN\",\"optional\":true,\"aliases\":[\"Q2\",\"P50\"],\"description\":\"Specifies the median (the 50th percentile) of the compound distribution sample.\",\"type\":\"standalone\"},{\"name\":\"OUT=\",\"optional\":true,\"aliases\":[\"OUTSUM=\"],\"description\":\"Specifies the output data set that contains the summary statistics of each of the simulated compound distribution samples. You can control the summary statistics that appear in this data set by specifying different statistic-keywords and outsum-options.\",\"type\":\"value\"},{\"name\":\"P01\",\"optional\":true,\"description\":\"Specifies the 1st percentile of the compound distribution sample.\",\"type\":\"standalone\"},{\"name\":\"P05\",\"optional\":true,\"description\":\"Specifies the 5th percentile of the compound distribution sample\",\"type\":\"standalone\"},{\"name\":\"P95\",\"optional\":true,\"description\":\"Specifies the 95th percentile of the compound distribution sample.\",\"type\":\"standalone\"},{\"name\":\"P99\",\"optional\":true,\"description\":\"Specifies the 99th percentile of the compound distribution sample.\",\"type\":\"standalone\"},{\"name\":\"P99_5\",\"optional\":true,\"aliases\":[\"P995\"],\"description\":\"Specifies the 99.5th percentile of the compound distribution sample.\",\"type\":\"standalone\"},{\"name\":\"PCTLNAME=\",\"optional\":true,\"description\":\"Specifies the names of the variables that contain the estimates of the percentiles that you request by using the PCTLPTS= option.\",\"help\":\"PCTLNAME=*percentile-variable-name-list*\",\"type\":\"value\"},{\"name\":\"PCTLNDEC=\",\"optional\":true,\"description\":\"Specifies the maximum number of decimal places to use while creating the names of the variables for the percentile values in the PCTLPTS= option. The default value is 3. For example, for a percentile value of 99.9995, PROC HPCDM creates a variable named P99_999 by default, but if you specify PCTLNDEC=4, then the variable is named P99_9995.\",\"help\":\"PCTLNDEC=*integer-value*\",\"type\":\"value\"},{\"name\":\"PCTLPTS=\",\"optional\":true,\"description\":\"Specifies one or more percentiles that you want to be computed and written to the OUTSUM= data set. This option is useful if you need to request percentiles that are not available in the preceding list of statistic-keyword values.\",\"help\":\"PCTLPTS=*percentile-list*\",\"type\":\"value\"},{\"name\":\"Q1\",\"optional\":true,\"aliases\":[\"P25\"],\"description\":\"Specifies the lower or 1st quartile (the 25th percentile) of the compound distribution sample.\",\"type\":\"standalone\"},{\"name\":\"Q3\",\"optional\":true,\"aliases\":[\"P75\"],\"description\":\"Specifies the upper or 3rd quartile (the 75th percentile) of the compound distribution sample.\",\"type\":\"standalone\"},{\"name\":\"QRANGE\",\"optional\":true,\"description\":\"Specifies the interquartile range (Q3–Q1) of the compound distribution sample.\",\"type\":\"standalone\"},{\"name\":\"SKEWNESS\",\"optional\":true,\"aliases\":[\"SKEW\"],\"description\":\"Specifies the skewness of the compound distribution sample.\",\"type\":\"standalone\"},{\"name\":\"STDDEV\",\"optional\":true,\"aliases\":[\"STD\"],\"description\":\"Specifies the standard deviation of the compound distribution sample.\",\"type\":\"standalone\"}]},{\"name\":\"PERFORMANCE\",\"description\":\"The PERFORMANCE statement defines performance parameters for distributed and multithreaded computing, passes variables that describe the distributed computing environment, and requests detailed results about the performance characteristics of PROC HPCDM. You can also use the PERFORMANCE statement to control whether a high-performance analytical procedure executes in single-machine or distributed mode.\",\"help\":\"PERFORMANCE &lt;COMMIT=n&gt;&lt;CPUCOUNT=&lt;ACTUAL | &lt;num&gt;&gt;&gt;&lt;DATASERVER=“name”&gt; ...\",\"arguments\":[{\"name\":\"COMMIT=\",\"optional\":true,\"description\":\"Requests that the High-Performance Analytics procedure write periodic updates to the SAS Log when observations are sent from the client to the appliance for distributed processing.\",\"help\":\"COMMIT=*n*\",\"type\":\"value\"},{\"name\":\"CPUCOUNT=\",\"optional\":true,\"description\":\"Specifies how many processors the procedure assumes are available on each host in the computing environment. num can be any integer from 1 to 256. CPUCOUNT=ACTUAL sets CPUCOUNT to the number of physical processors available. This number can be less than the physical number of CPUs if the SAS process has been restricted by system administration tools. Setting CPUCOUNT= to a number greater than the actual number of available CPUs might result in reduced performance. This option overrides the CPUCOUNT= SAS system option.\",\"help\":\"CPUCOUNT=ACTUAL | &lt;*num*&gt;\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ACTUAL\",\"description\":\"Sets CPUCOUNT to the number of physical processors available. This number can be less than the physical number of CPUs if the SAS process has been restricted by system administration tools.\",\"type\":\"standalone\"},{\"name\":\"num\",\"placeholder\":true,\"description\":\"Replace <num> with an actual number. Setting CPUCOUNT= to a number greater than the actual number of available CPUs might result in reduced performance. This option overrides the CPUCOUNT= SAS system option.\",\"type\":\"standaloneOrValue\"}]},{\"name\":\"DATASERVER=\",\"optional\":true,\"description\":\"Specifies the name of the server on Teradata systems as defined through the hosts file and as used in the LIBNAME statement for Teradata. For example, if the hosts file defines myservercop1 33.44.55.66 as the server for Teradata, then a LIBNAME specification would be as follows: libname TDLib teradata server=myserver user= password= database= ; A PERFORMANCE statement to induce running alongside the Teradata server would specify the following:\",\"type\":\"value\"},{\"name\":\"DETAILS\",\"optional\":true,\"description\":\"Requests a table that shows a timing breakdown of the procedure steps.\",\"type\":\"standalone\"},{\"name\":\"HOST=\",\"optional\":true,\"aliases\":[\"GRIDHOST=\"],\"description\":\"Specifies the name of the appliance host in single or double quotes. If the HOST= option is specified, it overrides the value of the GRIDHOST environment variable.\",\"type\":\"value\"},{\"name\":\"INSTALL=\",\"optional\":true,\"aliases\":[\"INSTALLLOC=\"],\"description\":\"Specifies the directory in which the High-Performance Analytics shared libraries are installed on the appliance. Specifying the INSTALL= option overrides the GRIDINSTALLLOC environment variable.\",\"type\":\"value\"},{\"name\":\"NODES=\",\"optional\":true,\"aliases\":[\"NNODES=\"],\"description\":\"Specifies the number of nodes in the distributed computing environment, provided that the data are not processed alongside the database.\",\"type\":\"value\"},{\"name\":\"NTHREADS=\",\"optional\":true,\"description\":\"Specifies the number of threads for analytic computations and overrides the SAS system option THREADS | NOTHREADS. If you do not specify the NTHREADS= option, the number of threads are determined based on the number of CPUs on the host on which the analytic computations execute. The algorithm by which a CPU count is converted to a thread count is specific to the High- Performance Analytics procedure. Most procedures create one thread per CPU for the analytic computations. By default, High-Performance Analytics procedures execute in multiple concurrent threads unless turned off by the NOTHREADS system option or you force single-threaded execution with NTHREADS=1. The largest number that can be specified for n is 256. Individual High-Performance Analytics procedures can impose more stringent limits if called for by algorithmic considerations. You can affect the determination of the CPU count with the CPUCOUNT= option in the PERFORMANCE statement.\",\"help\":\"NTHREADS=*n*\",\"type\":\"value\"},{\"name\":\"TIMEOUT=\",\"optional\":true,\"description\":\"Specifies the timeout in seconds for a High-Performance Analytics procedure to wait for a connection to the appliance and establish a connection back to the client. The default is s=120 seconds. If jobs are submitted to the appliance through workload management tools that might suspend access to the appliance for a longer period, you might want to increase the timeout value.\",\"help\":\"TIMEOUT=*s*\",\"type\":\"value\"}]},{\"name\":\"PUT\",\"description\":\"Writes lines to the SAS log, to the SAS output window, or to an external location that is specified in the most recent FILE statement.\",\"help\":\"PUT &lt;_ALL_&gt;&lt;_INFILE_&gt;&lt;_ODS_&gt; ...\",\"arguments\":[{\"name\":\"OVERPRINT\",\"optional\":true,\"description\":\"Causes the values that follow the keyword OVERPRINT to print on the most recently written output line.\",\"type\":\"standalone\"},{\"name\":\"_ALL_\",\"optional\":true,\"description\":\"Writes the values of all variables, which includes automatic variables, that are defined in the current DATA step by using named output.\",\"type\":\"standalone\"},{\"name\":\"_BLANKPAGE_\",\"optional\":true,\"description\":\"Advances the pointer to the first line of a new page, even when the pointer is positioned on the first line and the first column of a new page.\",\"type\":\"standalone\"},{\"name\":\"_INFILE_\",\"optional\":true,\"description\":\"Writes the last input data record that is read either from the current input file or from the data lines that follow a DATELINES statement.\",\"type\":\"standalone\"},{\"name\":\"_ODS_\",\"optional\":true,\"description\":\"Moves data values for all columns (as defined by the ODS option in the FILE statement) into a special buffer, from which it is eventually written to the data component. The ODS option in the FILE statement defines the structure of the data component that holds the results of the DATA step.\",\"type\":\"standalone\"},{\"name\":\"_PAGE_\",\"optional\":true,\"description\":\"Advances the pointer to the first line of a new page. SAS automatically begins a new page when a line exceeds the current PAGESIZE= value.\",\"type\":\"standalone\"}]},{\"name\":\"PUTLOG\",\"description\":\"Writes a message to the SAS log.\",\"help\":\"PUTLOG 'message'\"},{\"name\":\"RENAME\",\"description\":\"Specifies new names for variables in output SAS data sets.\",\"help\":\"RENAME old-name-1=new-name-1 ... &lt;old-name-n=new-name-n&gt;\"},{\"name\":\"REPLACE\",\"description\":\"Replaces an observation in the same location.\",\"help\":\"REPLACE &lt;data-set-name-1&gt;&lt;...data-set-name-n&gt;\"},{\"name\":\"RETAIN\",\"description\":\"Causes a variable that is created by an INPUT or assignment statement to retain its value from one iteration of the DATA step to the next.\",\"help\":\"RETAIN &lt;element-list(s) &lt;initial-value(s) |\"},{\"name\":\"RETURN\",\"description\":\"Stops executing statements at the current point in the DATA step and returns to a predetermined point in the step.\",\"help\":\"RETURN\"},{\"name\":\"RSUBMIT\",\"description\":\"Marks the beginning of a block of statements that a client session submits to a server session for execution.\",\"help\":\"RSUBMIT &lt;options&gt;; ENDRSUBMIT &lt;CANCEL&gt;\"},{\"name\":\"SELECT\",\"description\":\"Executes one of several statements or groups of statements.\",\"help\":\"\"},{\"name\":\"SET\",\"description\":\"Reads an observation from one or more SAS data sets.\",\"help\":\"SET &lt;END=variable&gt;&lt;INDSNAME=variable&gt;&lt;KEY=index&lt;/UNIQUE&gt;&gt; ...\",\"arguments\":[{\"name\":\"ALTER=\",\"optional\":true,\"description\":\"\",\"type\":\"value\"},{\"name\":\"BUFNO=\",\"optional\":true,\"description\":\"\",\"help\":\"BUFNO=n | nK | hexX | MIN | MAX\",\"type\":\"choice\",\"arguments\":[{\"name\":\"n\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"nK\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"hexX\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"MIN\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"MAX\",\"description\":\"\",\"type\":\"standalone\"}]},{\"name\":\"BUFSIZE=\",\"optional\":true,\"description\":\"\",\"help\":\"BUFSIZE=n | nK | nM | nG | hexX | MIN | MAX\",\"type\":\"choice\",\"arguments\":[{\"name\":\"n\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"nK\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"nM\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"nG\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"hexX\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"MIN\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"MAX\",\"description\":\"\",\"type\":\"standalone\"}]},{\"name\":\"CNTLLEV=\",\"optional\":true,\"description\":\"\",\"help\":\"CNTLLEV=LIB | MEM | REC\",\"type\":\"choice\",\"arguments\":[{\"name\":\"LIB\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"MEM\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"REC\",\"description\":\"\",\"type\":\"standalone\"}]},{\"name\":\"COMPRESS=\",\"optional\":true,\"description\":\"\",\"help\":\"COMPRESS=NO | YES | CHAR | BINARY\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NO\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"YES\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"CHAR\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"BINARY\",\"description\":\"\",\"type\":\"standalone\"}]},{\"name\":\"CUREOBS=\",\"optional\":true,\"description\":\"Creates and names a variable that contains the observation number that was just read from the data set.\",\"type\":\"value\"},{\"name\":\"DLDMGACTION=\",\"optional\":true,\"description\":\"\",\"help\":\"DLDMGACTION=FAIL | ABORT | REPAIR | NOINDEX | PROMPT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"FAIL\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"ABORT\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"REPAIR\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"NOINDEX\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"PROMPT\",\"description\":\"\",\"type\":\"standalone\"}]},{\"name\":\"DROP=\",\"optional\":true,\"description\":\"\",\"type\":\"value\"},{\"name\":\"ENCRYPT=\",\"optional\":true,\"description\":\"\",\"help\":\"ENCRYPT=YES | NO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YES\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"NO\",\"description\":\"\",\"type\":\"standalone\"}]},{\"name\":\"ENCRYPTKEY=\",\"optional\":true,\"description\":\"\",\"type\":\"value\"},{\"name\":\"END=\",\"optional\":true,\"description\":\"Creates and names a temporary variable that contains an end-of-file indicator. The variable, which is initialized to zero, is set to 1 when SET reads the last observation of the last data set listed. This variable is not added to any new data set.\",\"help\":\"END=*variable*\",\"type\":\"value\"},{\"name\":\"EXTENDOBSCOUNTER=\",\"optional\":true,\"description\":\"\",\"type\":\"value\"},{\"name\":\"FILECLOSE=\",\"optional\":true,\"description\":\"\",\"help\":\"FILECLOSE=DISP | LEAVE | REREAD | REWIND\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DISP\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"LEAVE\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"REREAD\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"REWIND\",\"description\":\"\",\"type\":\"standalone\"}]},{\"name\":\"FIRSTOBS=\",\"optional\":true,\"description\":\"\",\"help\":\"FIRSTOBS=n | nK | nM | nG | hexX | MIN | MAX\",\"type\":\"choice\",\"arguments\":[{\"name\":\"n\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"nK\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"nM\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"nG\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"hexX\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"MIN\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"MAX\",\"description\":\"\",\"type\":\"standalone\"}]},{\"name\":\"GENMAX=\",\"optional\":true,\"description\":\"Requests generations for a data set and specifies the maximum number of versions.\",\"type\":\"value\"},{\"name\":\"GENNUM=\",\"optional\":true,\"description\":\"\",\"type\":\"value\"},{\"name\":\"IDXNAME=\",\"optional\":true,\"description\":\"\",\"type\":\"value\"},{\"name\":\"IDXWHERE=\",\"optional\":true,\"description\":\"\",\"help\":\"IDXWHERE=YES | NO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YES\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"NO\",\"description\":\"\",\"type\":\"standalone\"}]},{\"name\":\"IN=\",\"optional\":true,\"description\":\"\",\"type\":\"value\"},{\"name\":\"INDEX=\",\"optional\":true,\"description\":\"\",\"type\":\"value\"},{\"name\":\"INDSNAME=\",\"optional\":true,\"description\":\"Creates and names a variable that stores the name of the SAS data set from which the current observation is read. The stored name can be a data set name or a physical name. The physical name is the name by which the operating environment recognizes the file.\",\"help\":\"INDSNAME=*variable*\",\"type\":\"value\"},{\"name\":\"KEEP=\",\"optional\":true,\"description\":\"\",\"type\":\"value\"},{\"name\":\"KEY=\",\"optional\":true,\"description\":\"Provides nonsequential access to observations in a SAS data set, which are based on the value of an index variable or a key.\",\"type\":\"value\"},{\"name\":\"KEYRESET=\",\"optional\":true,\"description\":\"Controls whether a KEY= search should begin at the top of the index for the data set that is being read. When the value of the KEYRESET variable is 1, the index lookup begins at the top of the index. When the value of the KEYRESET variable is 0, the index lookup is not reset and the lookup continues where the prior lookup ended.\",\"help\":\"KEYRESET=*variable*\",\"type\":\"value\"},{\"name\":\"LABEL=\",\"optional\":true,\"description\":\"\",\"type\":\"value\"},{\"name\":\"NOBS=\",\"optional\":true,\"description\":\"Creates and names a temporary variable whose value is usually the total number of observations in the input data set or data sets. If more than one data set is listed in the SET statement, NOBS= the total number of observations in the data sets that are listed. The number of observations includes those observations that are marked for deletion but are not yet deleted.\",\"help\":\"NOBS=*variable*\",\"type\":\"value\"},{\"name\":\"NOMISS\",\"optional\":true,\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"OBS=\",\"optional\":true,\"description\":\"\",\"help\":\"OBS=n | nK | nM | nG | nT | hexX | MIN | MAX\",\"type\":\"choice\",\"arguments\":[{\"name\":\"n\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"nK\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"nM\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"nG\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"nT\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"hexX\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"MIN\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"MAX\",\"description\":\"\",\"type\":\"standalone\"}]},{\"name\":\"OPEN=\",\"optional\":true,\"description\":\"Allows you to delay the opening of any concatenated SAS data sets until they are ready to be processed.\",\"help\":\"OPEN=IMMEDIATE | DEFER\",\"type\":\"choice\",\"arguments\":[{\"name\":\"IMMEDIATE\",\"description\":\"During the compilation phase, opens all data sets that are listed in the SET statement.\",\"type\":\"standalone\"},{\"name\":\"DEFER\",\"description\":\"Opens the first data set during the compilation phase, and opens subsequent data sets during the execution phase. When the DATA step reads and processes all observations in a data set, it closes the data set and opens the next data set in the list.\",\"type\":\"standalone\"}]},{\"name\":\"OUTREP=\",\"optional\":true,\"description\":\"\",\"type\":\"value\"},{\"name\":\"POINT=\",\"optional\":true,\"description\":\"Specifies a temporary variable whose numeric value determines which observation is read. POINT= causes the SET statement to use random (direct) access to read a SAS data set.\",\"help\":\"POINT=*variable*\",\"type\":\"value\"},{\"name\":\"POINTOBS=\",\"optional\":true,\"description\":\"\",\"help\":\"POINTOBS=YES | NO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YES\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"NO\",\"description\":\"\",\"type\":\"standalone\"}]},{\"name\":\"PW=\",\"optional\":true,\"description\":\"\",\"type\":\"value\"},{\"name\":\"PWREQ=\",\"optional\":true,\"description\":\"\",\"help\":\"PWREQ=YES | NO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YES\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"NO\",\"description\":\"\",\"type\":\"standalone\"}]},{\"name\":\"READ=\",\"optional\":true,\"description\":\"Assigns a read password to a SAS file and enables access to a read-protected SAS file.\",\"type\":\"value\"},{\"name\":\"RENAME=\",\"optional\":true,\"description\":\"\",\"type\":\"value\"},{\"name\":\"REPEMPTY=\",\"optional\":true,\"description\":\"\",\"help\":\"REPEMPTY=YES | NO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YES\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"NO\",\"description\":\"\",\"type\":\"standalone\"}]},{\"name\":\"REPLACE=\",\"optional\":true,\"description\":\"\",\"help\":\"REPLACE=YES | NO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YES\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"NO\",\"description\":\"\",\"type\":\"standalone\"}]},{\"name\":\"REUSE=\",\"optional\":true,\"description\":\"\",\"help\":\"REUSE=YES | NO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YES\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"NO\",\"description\":\"\",\"type\":\"standalone\"}]},{\"name\":\"SGIO=\",\"optional\":true,\"description\":\"\",\"help\":\"SGIO=YES | NO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YES\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"NO\",\"description\":\"\",\"type\":\"standalone\"}]},{\"name\":\"SORTEDBY=\",\"optional\":true,\"description\":\"\",\"help\":\"SORTEDBY=by-clause &lt; / collate-name&gt; | _NULL_\",\"type\":\"choice\",\"arguments\":[{\"name\":\"by-clause\",\"description\":\"\",\"help\":\"by-clause &lt; / collate-name&gt;\",\"type\":\"standalone\"},{\"name\":\"_NULL_\",\"description\":\"\",\"type\":\"standalone\"}]},{\"name\":\"SPILL=\",\"optional\":true,\"description\":\"\",\"help\":\"SPILL=YES | NO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YES\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"NO\",\"description\":\"\",\"type\":\"standalone\"}]},{\"name\":\"TOBSNO=\",\"optional\":true,\"description\":\"\",\"type\":\"value\"},{\"name\":\"TRANTAB=\",\"optional\":true,\"description\":\"\",\"type\":\"value\"},{\"name\":\"TYPE=\",\"optional\":true,\"description\":\"\",\"type\":\"value\"},{\"name\":\"UNIQUE\",\"optional\":true,\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"WHERE=\",\"optional\":true,\"description\":\"\",\"type\":\"value\"},{\"name\":\"WHEREUP=\",\"optional\":true,\"description\":\"\",\"help\":\"WHEREUP=YES | NO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YES\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"NO\",\"description\":\"\",\"type\":\"standalone\"}]},{\"name\":\"WRITE=\",\"optional\":true,\"description\":\"\",\"type\":\"value\"}]},{\"name\":\"SEVERITYMODEL\",\"description\":\"The SEVERITYMODEL statement specifies one or more severity distribution models that you want to use in simulating a compound distribution sample. The severity-model-list is a space-separated list of names of severity models that you would use with PROC SEVERITY’s DIST statement. The SEVERITYEST= data set or the SEVERITYSTORE= item store must contain all the severity models in the list. If you specify the SEVERITYEST= data set and if you specify a name that does not appear in the _MODEL_ column of the SEVERITYEST= data set, then that name is ignored. Similarly, if you specify the SEVERITYSTORE= item store and if a severity model by that name does not appear in the item store, then that name is ignored.\",\"help\":\"SEVERITYMODEL severity-model-list \"},{\"name\":\"STOP\",\"description\":\"Stops execution of the current DATA step.\",\"help\":\"STOP\"},{\"name\":\"WHEN\",\"description\":\"Identifies SAS statements that are executed when a particular condition is true.\",\"help\":\"WHEN &lt;DO&gt;\",\"arguments\":[{\"name\":\"DO\",\"optional\":true,\"description\":\"Action statement.\",\"type\":\"standalone\"}]},{\"name\":\"WHERE\",\"description\":\"Selects observations from SAS data sets that meet a particular condition.\",\"help\":\"WHERE where-expression-1\"}],\"supportSiteInformation\":{\"docsetId\":\"etsug\",\"docsetVersion\":\"latest\",\"docsetTargetFile\":\"etsug_hpcdm_toc.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/HPCLUS.json",
    "content": "{\"name\":\"HPCLUS\",\"statements\":[{\"name\":\"PROC HPCLUS\",\"description\":\"The HPCLUS procedure executes high-performance clustering. Clustering is a common step in the data exploration stage. The HPCLUS procedure takes only numeric variables. † The HPCLUS procedure performs an cluster analysis on the basis of distances computed from one or more variables. The observations are divided into clusters such that every observation belongs to one and only one cluster. † By default, the HPCLUS procedure uses Euclidean distances. The clustering method used is k-means model. In that model, the cluster centers are the means of the observations assigned to each cluster when the algorithm is run to complete convergence. Each iteration reduces the least-squared criterion for Euclidean until convergence is achieved. † PROC HPCLUS produces brief summaries of clusters that it computes.\",\"help\":\"PROC HPCLUS <CLUSTERS=number><DATA=<libref.>SAS-data-set><DISTANCE=MANHATTAN | EUCLIDEAN | MINKOWSKI... ><INITIALIZE=keyword><MAXITER=number><OUTSTAT=< libref. >SAS-data-set><number><STOPCRITERION=keyword(VALUE=number)>;     \\n\\tCODE <FILE= filename> ;\\n\\n\\tFREQ variable ;\\n\\n\\tID variables ;\\n\\n\\tINPUT variables < options > ;\\n\\n\\tPERFORMANCE <COMMIT=n><CPUCOUNT=<ACTUAL | <num>>><DATASERVER=“name”> ...;\\n\\n\\tSCORE < options > ;\\n\",\"arguments\":[{\"name\":\"CLUSTERS=\",\"optional\":true,\"description\":\"Specifies the number of clusters. If you omit the CLUSTERS= option, a value of 6 is assumed. If the number of observations is less than the number specified in CLUSTERS= option, than CLUSTERS will be set to the number of observations. ADD DETAILS ABOUT REMOVING CLUSTERS THAT HAS ZERO OBSERVATIONS.\",\"help\":\"CLUSTERS=*number*\",\"type\":\"value\"},{\"name\":\"DATA=\",\"optional\":true,\"description\":\"Names the SAS data set for which PROC HPCLUS is to compute clusters. The default is the most recently created data set. If the data are already distributed, PROC HPCLUS reads the data alongside the distributed database.\",\"type\":\"value\"},{\"name\":\"DISTANCE=\",\"optional\":true,\"description\":\"Syntax: DISTANCE=keyword specifies distance measure for similarity. You can choose from the following methods by specifying the appropriate keyword:\",\"help\":\"DISTANCE=MANHATTAN | EUCLIDEAN | MINKOWSKI | CHEBYSHEV*keyword*\",\"type\":\"value\",\"arguments\":[{\"name\":\"MANHATTAN\",\"description\":\"Performs Manhattan distance calculation (p = 1).\",\"type\":\"standalone\"},{\"name\":\"EUCLIDEAN\",\"description\":\"Performs Euclidean distance calculation (p = 2).\",\"type\":\"standalone\"},{\"name\":\"MINKOWSKI\",\"description\":\"Performs Minkowski distance calculation (1 < p > 2). The value for p can be specified using the suboption. The default value for p is 1.2. PUT THAT SUBOPTION HERE.\",\"type\":\"standalone\"},{\"name\":\"CHEBYSHEV\",\"description\":\"Performs Chebyshev distance calculation (p = ∞).\",\"type\":\"standalone\"}]},{\"name\":\"INITIALIZE=\",\"optional\":true,\"description\":\"Specifies the initialization technique for cluster centroids. For this release, only RANDOM keyword is supported and this is the default for that option.\",\"help\":\"INITIALIZE=*keyword*\",\"type\":\"value\"},{\"name\":\"MAXITER=\",\"optional\":true,\"description\":\"specifies the maximum number of iterations for recomputing cluster centroids. When the value of the MAXITER= option is greater than zero, PROC HPCLUS executes the third of the four steps described in the section Background on page XXX. In each iteration, each observation is assigned to the nearest cluster centroid, and the centroids are recomputed as the means of the clusters. The default value of the MAXITER= option is 10.\",\"help\":\"MAXITER=*number*\",\"type\":\"value\"},{\"name\":\"OUTSTAT=\",\"optional\":true,\"description\":\"Creates the output SAS data set to contain the cluster centroids for each cluster. If the OUTITER is specified, the dataset contains cluster centroids at each iteration.\",\"type\":\"value\"},{\"name\":\"SEED=\",\"optional\":true,\"description\":\"Specifies a positive integer as a starting value for the pseudo-random number generator for use with INITIALIZE=RANDOM. The default value for SEED= is 12345.\",\"type\":\"value\"},{\"name\":\"STOPCRITERION=\",\"optional\":true,\"description\":\"specifies the method that will be used for convergence. If you omit the STOPCRITERION= option, Only the following method is supported for this release:\",\"help\":\"STOPCRITERION=VALUE=\",\"type\":\"choice\",\"arguments\":[{\"name\":\"VALUE=\",\"type\":\"value\"}]}]},{\"name\":\"CODE\",\"description\":\"The CODE statement generates SAS DATA step code that mimics the computations done by the SCORE statement. You can specify the following options: FILE=filename specifies the filename of the file to which the SAS score code is written.\",\"help\":\"CODE &lt;FILE= filename&gt;\",\"arguments\":[{\"name\":\"FILE=\",\"optional\":true,\"description\":\"Specifies the filename of the file to which the SAS score code is written.\",\"type\":\"value\"}]},{\"name\":\"FREQ\",\"description\":\"The variable in the FREQ statement identifies a numeric variable in the data set that contains the frequency of occurrence for each observation. SAS High-Performance Analytics procedures that support the FREQ statement treat each observation as if it appeared f times, where f is the value of the FREQ variable for the observation. If the frequency value is not an integer, it is truncated to an integer. If the frequency value is less than 1 or missing, the observation is not used in the analysis. When the FREQ statement is not specified, each observation is assigned a frequency of 1.\",\"help\":\"FREQ variable \"},{\"name\":\"ID\",\"description\":\"The optional ID statement lists one or more variables from the input data set that are transferred to the output data set. The ID statement accepts numeric and character variables. For example, when you specify the OUT= option in the PROC HPCLUS statement, the ID variables, followed by cluster variables and cluster distance variables, are added to the output data set. By default, the HPCLUS procedure does not include any variables from the input data set in the output data sets.\",\"help\":\"ID variables \"},{\"name\":\"INPUT\",\"description\":\"The INPUT statement names one of more input variables with common options. You can specify multiple INPUT statements..\",\"help\":\"INPUT variables &lt; options &gt; \"},{\"name\":\"PERFORMANCE\",\"description\":\"he PERFORMANCE statement defines performance parameters for multithreaded and distributed computing, passes variables about the distributed computing environment, and requests detailed results about the performance characteristics of the HPCLUS procedure. With the PERFORMANCE statement, you can also control whether the HPCLUS procedure executes in symmetric multiprocessing or massively parallel mode.\",\"help\":\"PERFORMANCE &lt;COMMIT=n&gt;&lt;CPUCOUNT=&lt;ACTUAL | &lt;num&gt;&gt;&gt;&lt;DATASERVER=“name”&gt; ...\",\"arguments\":[{\"name\":\"COMMIT=\",\"optional\":true,\"description\":\"Requests that the High-Performance Analytics procedure write periodic updates to the SAS Log when observations are sent from the client to the appliance for distributed processing.\",\"help\":\"COMMIT=*n*\",\"type\":\"value\"},{\"name\":\"CPUCOUNT=\",\"optional\":true,\"description\":\"Specifies how many processors the procedure assumes are available on each host in the computing environment. num can be any integer from 1 to 256. CPUCOUNT=ACTUAL sets CPUCOUNT to the number of physical processors available. This number can be less than the physical number of CPUs if the SAS process has been restricted by system administration tools. Setting CPUCOUNT= to a number greater than the actual number of available CPUs might result in reduced performance. This option overrides the CPUCOUNT= SAS system option.\",\"help\":\"CPUCOUNT=ACTUAL | &lt;*num*&gt;\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ACTUAL\",\"description\":\"Sets CPUCOUNT to the number of physical processors available. This number can be less than the physical number of CPUs if the SAS process has been restricted by system administration tools.\",\"type\":\"standalone\"},{\"name\":\"num\",\"placeholder\":true,\"description\":\"Replace <num> with an actual number. Setting CPUCOUNT= to a number greater than the actual number of available CPUs might result in reduced performance. This option overrides the CPUCOUNT= SAS system option.\",\"type\":\"standaloneOrValue\"}]},{\"name\":\"DATASERVER=\",\"optional\":true,\"description\":\"Specifies the name of the server on Teradata systems as defined through the hosts file and as used in the LIBNAME statement for Teradata. For example, if the hosts file defines myservercop1 33.44.55.66 as the server for Teradata, then a LIBNAME specification would be as follows: libname TDLib teradata server=myserver user= password= database= ; A PERFORMANCE statement to induce running alongside the Teradata server would specify the following:\",\"type\":\"value\"},{\"name\":\"DETAILS\",\"optional\":true,\"description\":\"Requests a table that shows a timing breakdown of the procedure steps.\",\"type\":\"standalone\"},{\"name\":\"HOST=\",\"optional\":true,\"aliases\":[\"GRIDHOST=\"],\"description\":\"Specifies the name of the appliance host in single or double quotes. If the HOST= option is specified, it overrides the value of the GRIDHOST environment variable.\",\"type\":\"value\"},{\"name\":\"INSTALL=\",\"optional\":true,\"aliases\":[\"INSTALLLOC=\"],\"description\":\"Specifies the directory in which the High-Performance Analytics shared libraries are installed on the appliance. Specifying the INSTALL= option overrides the GRIDINSTALLLOC environment variable.\",\"type\":\"value\"},{\"name\":\"NODES=\",\"optional\":true,\"aliases\":[\"NNODES=\"],\"description\":\"Specifies the number of nodes in the distributed computing environment, provided that the data are not processed alongside the database.\",\"type\":\"value\"},{\"name\":\"NTHREADS=\",\"optional\":true,\"description\":\"Specifies the number of threads for analytic computations and overrides the SAS system option THREADS | NOTHREADS. If you do not specify the NTHREADS= option, the number of threads are determined based on the number of CPUs on the host on which the analytic computations execute. The algorithm by which a CPU count is converted to a thread count is specific to the High- Performance Analytics procedure. Most procedures create one thread per CPU for the analytic computations. By default, High-Performance Analytics procedures execute in multiple concurrent threads unless turned off by the NOTHREADS system option or you force single-threaded execution with NTHREADS=1. The largest number that can be specified for n is 256. Individual High-Performance Analytics procedures can impose more stringent limits if called for by algorithmic considerations. You can affect the determination of the CPU count with the CPUCOUNT= option in the PERFORMANCE statement.\",\"help\":\"NTHREADS=*n*\",\"type\":\"value\"},{\"name\":\"TIMEOUT=\",\"optional\":true,\"description\":\"Specifies the timeout in seconds for a High-Performance Analytics procedure to wait for a connection to the appliance and establish a connection back to the client. The default is s=120 seconds. If jobs are submitted to the appliance through workload management tools that might suspend access to the appliance for a longer period, you might want to increase the timeout value.\",\"help\":\"TIMEOUT=*s*\",\"type\":\"value\"}]},{\"name\":\"SCORE\",\"description\":\"The SCORE statement causes the HPCLUS procedure to write the closest cluster and the distance to that cluster for each observation in the input data set to the output data set that is specified by the OUT option. The variables from the input data set that are specified in the ID statement are also written to the OUT dataset. The SCORE statement is optional.\",\"help\":\"SCORE &lt; options &gt; \"}],\"supportSiteInformation\":{\"docsetId\":\"emhpprcref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"emhpprcref_hpclus_toc.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/HPCORR.json",
    "content": "{\"name\":\"HPCORR\",\"statements\":[{\"name\":\"PROC HPCORR\",\"description\":\"The HPCORR procedure computes Pearson correlation coefficients and the probabilities associated with these statistics. The correlation statistics include the following: † o Pearson product-moment correlation † Pearson product-moment correlation is a parametric measure of a linear relationship between two variables. † Polyserial correlation measures the correlation between two continuous variables with a bivariate normal distribution, where only one variable is observed directly. Information about the unobserved variable is obtained through an observed ordinal variable that is derived from the unobserved variable by classifying its values into a finite set of discrete, ordered values. † A related type of correlation, polychoric correlation, measures the correlation between two unobserved variables with a bivariate normal distribution. Information about these variables is obtained through two corresponding observed ordinal variables that are derived from the unobserved variables by classifying their values into finite sets of discrete, ordered values. Polychoric correlation is not available in the HPCORR procedure, but it is available in the FREQ procedure. † When only one set of analysis variables is specified, the default correlation analysis includes descriptive statistics for each analysis variable and pairwise Pearson correlation statistics for these variables. † When two sets of analysis variables are specified, the default correlation analysis includes descriptive statistics for each analysis variable and pairwise Pearson correlation statistics between the two sets of variables. † When the relationship between two variables is nonlinear or when outliers are present, the correlation coefficient might incorrectly estimate the strength of the relationship. Plotting the data enables you to verify the linear relationship and to identify the potential outliers. If ODS Graphics is enabled, scatter plots and a scatter plot matrix can be created via the Output Delivery System (ODS). Confidence and prediction ellipses can also be added to the scatter plot. † You can save the correlation statistics in a SAS data set for use with other statistical and reporting procedures.\",\"help\":\"PROC HPCORR <BEST=n><COV><CSSP><DATA=SAS-data-set><NAMELEN=number><NOCORR><NOMISS><NOPRINT><NOPROB><NOSIMPLE><OUTP=output-data-set | OUT=output-data-set><PLOTS=ALL | MATRIX | SCATTER... ><RANK><SSCP><VARDEF=DF | N | WDF... >;     \\n\\tFREQ variable ;\\n\\n\\tPERFORMANCE <COMMIT=n><CPUCOUNT=<ACTUAL | <num>>><DATASERVER=“name”> ...;\\n\\n\\tVAR variables ;\\n\\n\\tWEIGHT variable ;\\n\",\"arguments\":[{\"name\":\"BEST=\",\"optional\":true,\"description\":\"Prints the n highest correlation coefficients for each variable, n ≥ 1. Correlations are ordered from highest to lowest in absolute value. Otherwise, PROC HPCORR prints correlations in a rectangular table, using the variable names as row and column labels.\",\"help\":\"BEST=*n*\",\"type\":\"value\"},{\"name\":\"COV\",\"optional\":true,\"description\":\"Displays the variance and covariance matrix. When you specify the COV option, the Pearson correlations will also be displayed. If you specify the OUTP= option, the output data set also contains the covariance matrix with the corresponding _TYPE_ variable value 'COV.'\",\"type\":\"standalone\"},{\"name\":\"CSSP\",\"optional\":true,\"description\":\"Displays a table of the corrected sums of squares and crossproducts. When you specify the CSSCP option, the Pearson correlations will also be displayed. If you specify the OUTP= option, the output data set also contains a CSSCP matrix with the corresponding _TYPE_ variable value 'CSSCP.'\",\"type\":\"standalone\"},{\"name\":\"DATA=\",\"optional\":true,\"description\":\"Names the SAS data set to be analyzed by PROC HPCORR. By default, the procedure uses the most recently created SAS data set.\",\"help\":\"DATA=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"EXCLNPWGT\",\"optional\":true,\"aliases\":[\"EXCLNPWGTS\"],\"description\":\"Excludes observations with nonpositive weight values from the analysis. By default, PROC HPCORR treats observations with negative weights like those with zero weights and counts them in the total number of observations.\",\"type\":\"standalone\"},{\"name\":\"NOCORR\",\"optional\":true,\"description\":\"Suppresses displaying of Pearson correlations. If you specify the OUTP= option, the data set type remains HPCORR. To change the data set type to COV, CSSCP, or SSCP, use the TYPE= data set option.\",\"type\":\"standalone\"},{\"name\":\"NOMISS\",\"optional\":true,\"description\":\"Excludes observations with missing values from the analysis. Otherwise, PROC HPCORR computes correlation statistics by using all of the nonmissing pairs of variables. Using the NOMISS option is computationally more efficient.\",\"type\":\"standalone\"},{\"name\":\"NOPRINT\",\"optional\":true,\"description\":\"Suppresses all displayed output, which also includes output produced with ODS Graphics. Use the NOPRINT option if you want to create an output data set only.\",\"type\":\"standalone\"},{\"name\":\"NOPROB\",\"optional\":true,\"description\":\"Suppresses the display of the probabilities that are associated with each correlation coefficient.\",\"type\":\"standalone\"},{\"name\":\"NOSIMPLE\",\"optional\":true,\"description\":\"Suppresses printing simple descriptive statistics for each variable. However, if you request an output data set, the output data set still contains simple descriptive statistics for the variables.\",\"type\":\"standalone\"},{\"name\":\"OUTP=\",\"optional\":true,\"aliases\":[\"OUT=\"],\"description\":\"Creates an output data set that contains Pearson correlation statistics. This data set also includes means, standard deviations, and the number of observations. The value of the _TYPE_ variable is 'HPCORR.' When you specify the OUTP= option, the Pearson correlations will also be displayed.\",\"type\":\"value\"},{\"name\":\"PLOTS=\",\"optional\":true,\"description\":\"MISSING FILE odsenable2\",\"help\":\"PLOTS=ALL | MATRIX | SCATTER | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ALL\",\"description\":\"Produces all appropriate plots.\",\"type\":\"standalone\"},{\"name\":\"MATRIX\",\"description\":\"Syntax: MATRIX <( matrix-options )> Requests a scatter plot matrix for variables. That is, the procedure displays a symmetric matrix plot with variables in the VAR list if a WITH statement is not specified. Otherwise, the procedure displays a rectangular matrix plot with the WITH variables appearing down the side and the VAR variables appearing across the top. The available matrix-options are as follows: HIST | HISTOGRAM displays histograms of variables in the VAR list (specified in the VAR statement) in the symmetric matrix plot. NVAR=ALL | n specifies the maximum number of variables in the VAR list to be displayed in the matrix plot, where n > 0. The NVAR=ALL option uses all variables in the VAR list. By default, NVAR=5.\",\"type\":\"standalone\"},{\"name\":\"SCATTER\",\"description\":\"Syntax: SCATTER <( scatter-options )> Requests scatter plots for pairs of variables. That is, the procedure displays a scatter plot for each applicable pair of distinct variables from the VAR list. When a scatter plot or a scatter plot matrix is requested, the Pearson correlations will also be displayed. The available scatter-options are as follows: ELLIPSE=PREDICTION | CONFIDENCE | NONE requests prediction ellipses for new observations (ELLIPSE=PREDICTION), confidence ellipses for the mean (ELLIPSE=CONFIDENCE), or no ellipses (ELLIPSE=NONE) to be created in the scatter plots. By default, ELLIPSE=PREDICTION. NOINSET suppresses the default inset of summary information for the scatter plot. The inset table contains the number of observations (Observations) and correlation. NVAR=ALL | n specifies the maximum number of variables in the VAR list (specified in the VAR statement) to be displayed in the plots, where n > 0. The NVAR=ALL option uses all variables in the VAR list. By default, NVAR=5. If the resulting maximum number of variables in the VAR list is greater than 10, only the first 10 variables in the list are displayed in the scatter plots.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"Suppresses all plots.\",\"type\":\"standalone\"}]},{\"name\":\"RANK\",\"optional\":true,\"description\":\"Displays the ordered correlation coefficients for each variable. Correlations are ordered from highest to lowest in absolute value.\",\"type\":\"standalone\"},{\"name\":\"SSCP\",\"optional\":true,\"description\":\"Displays a table of the sums of squares and crossproducts. When you specify the SSCP option, the Pearson correlations are also displayed. If you specify the OUTP= option, the output data set contains a SSCP matrix and the corresponding _TYPE_ variable value is 'SSCP.'\",\"type\":\"standalone\"},{\"name\":\"VARDEF=\",\"optional\":true,\"description\":\"Specifies the variance divisor in the calculation of variances and covariances. The default is VARDEF=DF.Syntax: VARDEF=DF | N | WDF | WEIGHT | WGT\",\"help\":\"VARDEF=DF | N | WDF | WEIGHT|WGT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DF\",\"description\":\"Degrees of freedom\",\"type\":\"standalone\"},{\"name\":\"N\",\"description\":\"Number of observations\",\"type\":\"standalone\"},{\"name\":\"WDF\",\"description\":\"Sum of weights minus one\",\"type\":\"standalone\"},{\"name\":\"WEIGHT\",\"description\":\"Sum of weights\",\"help\":\"WEIGHT|WGT\",\"type\":\"choice\"}]}]},{\"name\":\"FREQ\",\"description\":\"The FREQ statement lists a numeric variable whose value represents the frequency of the observation. If you use the FREQ statement, the procedure assumes that each observation represents n observations, where n is the value of the FREQ variable. If n is not an integer, SAS truncates it. If n is less than 1 or is missing, the observation is excluded from the analysis. The sum of the frequency variable represents the total number of observations. The effects of the FREQ and WEIGHT statements are similar except when calculating degrees of freedom.\",\"help\":\"FREQ variable \"},{\"name\":\"PERFORMANCE\",\"description\":\"The PERFORMANCE statement defines performance parameters for multithreaded and distributed computing, passes variables about the distributed computing environment, and requests detailed results about the performance characteristics of a SAS High-Performance Analytics procedure. With the PERFORMANCE statement you can also control whether a SAS High-Performance Analytics procedure executes in SMP or MPP mode.\",\"help\":\"PERFORMANCE &lt;COMMIT=n&gt;&lt;CPUCOUNT=&lt;ACTUAL | &lt;num&gt;&gt;&gt;&lt;DATASERVER=“name”&gt; ...\",\"arguments\":[{\"name\":\"COMMIT=\",\"optional\":true,\"description\":\"This option specifies the minimum number of observations transferred from the client to the appliance necessary to update the SAS Log. For instance, if you specify COMMIT=5000, then every time the number of observations sent exceeds an integer multiple of 5000 a log message is produced. This message indicates the actual number of observations distributed, not the COMMIT= value that triggered the message.\",\"help\":\"COMMIT=*n*\",\"type\":\"value\"},{\"name\":\"CPUCOUNT=\",\"optional\":true,\"description\":\"This argument specifies how many processors PROC HPBIN assumes are available on each host in the computing environment. Valid values for number are integers between 1 and 256, inclusive. Setting CPUCOUNT= to a value greater than the actual number of available CPUs might results in reduced performance. Specify CPUCOUNT=ACTUAL to set CPUCOUNT= to the number of processors physically available. This number can be less than the physical number of CPUs if the SAS process has been restricted by system administration tools. This option overrides the CPUCOUNT= SAS system option. If PROC HPBIN executes in SMP mode, then this option referes to the client machine of the SAS session. If PROC HPBIN executes in MPP mode, then this option applies the nodes on the appliance.\",\"help\":\"CPUCOUNT=ACTUAL | &lt;num&gt;\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ACTUAL\",\"description\":\"Sets CPUCOUNT to the number of processors physically available. This number can be less than the physical number of CPUs if the SAS process has been restricted by system administration tools.\",\"type\":\"standalone\"},{\"name\":\"<num>\",\"description\":\"Replace <num> with an actual number. Setting CPUCOUNT= to a number greater than the actual number of available CPUs might result in reduced performance. This option overrides the CPUCOUNT= SAS system option.\",\"type\":\"standalone\"}]},{\"name\":\"DATASERVER=\",\"optional\":true,\"description\":\"Specifies the name of the server on Teradata systems as defined through the hosts file and as used in the LIBNAME statement for Teradata. For example, if the hosts file defines myservercop1 33.44.55.66 as the server for Teradata, then a LIBNAME specification would be as follows: libname TDLib teradata server=myserver user= password= database= ; A PERFORMANCE statement to induce running alongside the Teradata server would specify the following:\",\"type\":\"value\"},{\"name\":\"DETAILS\",\"optional\":true,\"description\":\"Specify this option to request a table that shows a timing breakdown of the procedure steps.\",\"type\":\"standalone\"},{\"name\":\"HOST=\",\"optional\":true,\"aliases\":[\"GRIDHOST=\"],\"description\":\"This option specifies the name of the appliance host. The HOST= option overrides the value of the GRIDHOST environment variable.\",\"type\":\"value\"},{\"name\":\"INSTALL=\",\"optional\":true,\"aliases\":[\"INSTALLLOC=\"],\"description\":\"This option specifies the directory where the High-Performance Analytics shared libraries are installed on the appliance. Specifying the INSTALL= option overrides the GRIDINSTALLLOC environment variable.\",\"type\":\"value\"},{\"name\":\"NODES=\",\"optional\":true,\"aliases\":[\"NNODES=\"],\"description\":\"This option specifies the number of nodes in the distributed computing environment, provided that the data are not processed alongside the database. Specify NODES=0 to indicate that you want to process the data in SMP mode on the client machine. If the input data are not alongside the database, this is the default setting. The HPBIN procedure then performs multithreaded analysis on the client. If the data are not read alongside the database, the NODES= option specifies the number of nodes on the appliance that are involved in the analysis. If the number of nodes can be modified by the application, you can specify a NODES= option where n exceeds the number of physical nodes on the appliance. The High-Performance Analytics software then oversubscribes the nodes and associates nodes with multiple units of work. For example, on a system with 16 appliance nodes, the following statement would oversubscribe the system by a factor of 3:\",\"type\":\"value\"},{\"name\":\"NTHREADS=\",\"optional\":true,\"description\":\"This option specifies the number of threads used for analytic computations and overrides the SAS system option THREADS | NOTHREADS. If you do not specify the NTHREADS= option, then the number of threads is determined based on the number of CPUs on the host machine where the analytic computations execute. By default, High-Performance Analytics procedures execute in multiple concurrent threads, unless you disable this behavior with the NOTHREADS system option or you specify NTHREADS=1 to force single-threaded execution. The value specified here must not exceed 256.\",\"help\":\"NTHREADS=*n*\",\"type\":\"value\"},{\"name\":\"TIMEOUT=\",\"optional\":true,\"description\":\"This options specifies the length of time, in seconds, PROC HPBIN should wait for a connection to the appliance and to establish a connection back to the client. The default value for s is 120 seconds. If jobs are submitted to the appliance through workload management tools that might suspend access to the appliance for a longer period, you might want to increase the timeout value.\",\"help\":\"TIMEOUT=*s*\",\"type\":\"value\"}]},{\"name\":\"VAR\",\"description\":\"The VAR statement lists variables for which to compute correlation coefficients. If the VAR statement is not specified, PROC HPCORR computes correlations for all numeric variables not listed in other statements.\",\"help\":\"VAR variables \"},{\"name\":\"WEIGHT\",\"description\":\"The WEIGHT statement lists weights to use in the calculation of Pearson weighted product-moment correlation. The observations with missing weights are excluded from the analysis. By default, for observations with nonpositive weights, weights are set to zero and the observations are included in the analysis. You can use the EXCLNPWGT option to exclude observations with negative or zero weights from the analysis.\",\"help\":\"WEIGHT variable \"}],\"supportSiteInformation\":{\"docsetId\":\"prochp\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"prochp_hpcorr_toc.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/HPCOUNTREG.json",
    "content": "{\"name\":\"HPCOUNTREG\",\"statements\":[{\"name\":\"PROC HPCOUNTREG\",\"description\":\"The HPCOUNTREG procedure is a high-performance procedure to fit regression models on the SAS appliance in which the dependent variable takes nonnegative integer or count values. With the HPCOUNTREG procedure you can read and write data in distributed form and perform analyses in parallel in SMP or MPP mode. † The HPCOUNTREG procedure is specifically designed to operate in the high-performance distributed environment. By default, PROC HPCOUNTREG performs computations in multiple threads. In contrast, the COUNTREG procedure executes in a single thread.\",\"help\":\"PROC HPCOUNTREG <ABSCONV= | ABSTOL=r><ABSFCONV=r<n> | ABSFTOL=r<n>><ABSGCONV=r<n> | ABSGTOL=r<n>><ABSXCONV= | ABSXTOL=r<n>><CORRB><COVB><COVEST=OP | HESSIAN | QML><COVOUT><DAMPSTEP | DS <=r>><DATA=SAS-data-set><FCONV2= | FTOL2=r <n>><FCONV=r | FTOL=r><FSIZE=r><GCONV=r | GTOL=r><HESCAL=0 | 1 | 2... ><INHESSIAN<=r>><INSTEP=r><ITPRINT><LINESEARCH=1 | 2 | 3... ><LSPRECISION=r | LSP=r | SPRECISION=r | SP=r><MAXFUNC=i | MAXFU=i><MAXITER= | MAXIT=i <n>><MAXSTEP=r<n>><MAXTIME=r><METHOD=CG | DD | NRA... ><MINITER= | MINIT=i><NOPRINT><OUTEST=SAS-data-set><PALL><PHISTORY><PHISTPARMS><PINIT><PRINTALL><PSHORT><PSUMMARY><RESTART= | REST=i><SOCKET=><TECHNIQUE=CONGRA | DBLDOG | NMSIMP... ><UPDATE=BFGS | DBFGS | DDFP... ><XCONV= | XTOL=r <n>><XSIZE=r>;     \\n\\tBOUNDS bound1 [, bound2 ...] ;\\n\\n\\tFREQ freq-variable ;\\n\\n\\tINIT initvalue1 [, initvalue2 ...] ;\\n\\n\\tMODEL <DIST=<POISSON | NEGBIN(P=1) | NEGBIN(P=2)>... ><NOINT><OFFSET=variable> ...;\\n\\n\\tOUTPUT <OUT=SAS-data-set><OUTVAR(SAS-variable-names)><PRED=name> ...;\\n\\n\\tPERFORMANCE <COMMIT=n><CPUCOUNT=<ACTUAL | <num>>><DATASERVER=“name”> ...;\\n\\n\\tRESTRICT restriction1 [, restriction2 ...] ;\\n\\n\\tWEIGHT <NONORMALIZE> ;\\n\\n\\tZEROMODEL <LINK=<LOGISTIC | NORMAL>><OFFSET=variable> ;\\n\",\"arguments\":[{\"name\":\"ABSCONV=\",\"optional\":true,\"aliases\":[\"ABSTOL=\"],\"description\":\"Specifies an absolute function convergence criterion.\",\"type\":\"value\"},{\"name\":\"ABSFCONV=\",\"optional\":true,\"aliases\":[\"ABSFTOL=\"],\"description\":\"Specifies an absolute function convergence criterion.\",\"type\":\"value\"},{\"name\":\"ABSGCONV=\",\"optional\":true,\"aliases\":[\"ABSGTOL=\"],\"description\":\"Specifies an absolute gradient convergence criterion. Termination requires the maximum absolute gradient element to be small.\",\"type\":\"value\"},{\"name\":\"ABSXCONV=\",\"optional\":true,\"aliases\":[\"ABSXTOL=\"],\"description\":\"Specifies the absolute parameter convergence criterion. Termination requires a small Euclidean distance between successive parameter vectors.\",\"type\":\"value\"},{\"name\":\"CORRB\",\"optional\":true,\"description\":\"Prints the correlation matrix of the parameter estimates. This option can also be specified in the MODEL statement.\",\"type\":\"standalone\"},{\"name\":\"COVB\",\"optional\":true,\"description\":\"Prints the covariance matrix of the parameter estimates.\",\"type\":\"standalone\"},{\"name\":\"COVEST=\",\"optional\":true,\"description\":\"Specifies the type of covariance matrix of the parameter estimates. The quasi-maximum likelihood estimates are computed with COVEST=QML. The default is COVEST=HESSIAN.\",\"help\":\"COVEST=OP | HESSIAN | QML\",\"type\":\"choice\",\"arguments\":[{\"name\":\"OP\",\"description\":\"Specifies the covariance from the outer product matrix.\",\"type\":\"standalone\"},{\"name\":\"HESSIAN\",\"description\":\"Specifies the covariance from the Hessian matrix.\",\"type\":\"standalone\"},{\"name\":\"QML\",\"description\":\"Specifies the covariance from the outer product and Hessian matrices.\",\"type\":\"standalone\"}]},{\"name\":\"COVOUT\",\"optional\":true,\"description\":\"Writes the covariance matrix for the parameter estimates to the OUTEST= data set. This option is valid only if the OUTEST= option is specified.\",\"type\":\"standalone\"},{\"name\":\"DAMPSTEP=\",\"optional\":true,\"aliases\":[\"DS=\"],\"description\":\"Specifies that the initial step-size value a⁰ for each line search (used by the QUANEW, CONGRA, or NEWRAP technique) cannot be larger than r times the step-size value used in the former iteration.\",\"type\":\"value\"},{\"name\":\"DATA=\",\"optional\":true,\"description\":\"Specifies the input SAS data set. If the DATA= option is not specified, PROC HPCOUNTREG uses the most recently created SAS data set.\",\"help\":\"DATA=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"FCONV2=\",\"optional\":true,\"aliases\":[\"FTOL2=\"],\"description\":\"Specifies a second function convergence criterion.\",\"type\":\"value\"},{\"name\":\"FCONV=\",\"optional\":true,\"aliases\":[\"FTOL=\"],\"description\":\"Specifies the relative function convergence criterion.\",\"type\":\"value\"},{\"name\":\"FSIZE=\",\"optional\":true,\"description\":\"Specifies the FSIZE parameter of the relative function and relative gradient termination criteria. The default value is r=0.\",\"help\":\"FSIZE=*r*\",\"type\":\"value\"},{\"name\":\"GCONV=\",\"optional\":true,\"aliases\":[\"GTOL=\"],\"description\":\"Specifies the relative gradient convergence criterion.\",\"type\":\"value\"},{\"name\":\"HESCAL=\",\"optional\":true,\"aliases\":[\"HS=\"],\"description\":\"Specifies the scaling version of the Hessian or crossproduct Jacobian matrix used in NRRIDG, TRUREG, LEVMAR, NEWRAP, or DBLDOG optimization.\",\"help\":\"HESCAL=0 | 1 | 2 | 3\",\"type\":\"choice\",\"arguments\":[{\"name\":\"0\",\"description\":\"Specifies that no scaling is done.\",\"type\":\"standalone\"},{\"name\":\"1\",\"description\":\"Specifies the Moré (1978) scaling update\",\"type\":\"standalone\"},{\"name\":\"2\",\"description\":\"Specifies the Dennis, Gay, and Welsch (1981) scaling update\",\"type\":\"standalone\"},{\"name\":\"3\",\"description\":\"Specifies that di is reset in each iteration\",\"type\":\"standalone\"}]},{\"name\":\"INHESSIAN=\",\"optional\":true,\"description\":\"Specifies how the initial estimate of the approximate Hessian is defined for the quasi-Newton techniques QUANEW and DBLDOG.\",\"type\":\"value\"},{\"name\":\"INSTEP=\",\"optional\":true,\"aliases\":[\"SALPHA=\",\"RADIUS=\"],\"description\":\"Reduces the length of the first trial step during the line search of the first iterations.\",\"help\":\"INSTEP=*r*\",\"type\":\"value\"},{\"name\":\"ITPRINT\",\"optional\":true,\"description\":\"Prints the objective function and parameter estimates at each iteration. The objective function is the negative log-likelihood function.\",\"type\":\"standalone\"},{\"name\":\"LINESEARCH=\",\"optional\":true,\"aliases\":[\"LIS=\",\"SMETHOD=\",\"SM=\"],\"description\":\"Specifies the line-search method for the CONGRA, QUANEW, and NEWRAP optimization techniques.\",\"help\":\"LINESEARCH=1 | 2 | 3 | 4 | 5 | 6 | 7 | 8\",\"type\":\"choice\",\"arguments\":[{\"name\":\"1\",\"description\":\"Specifies a line-search method that needs the same number of function and gradient calls for cubic interpolation and cubic extrapolation; this method is similar to one used by the Harwell subroutine library.\",\"type\":\"standalone\"},{\"name\":\"2\",\"description\":\"Specifies a line-search method that needs more function calls than gradient calls for quadratic and cubic interpolation and cubic extrapolation; this method is implemented as shown in Fletcher (1987) and can be modified to an exact line search by using the LSPRECISION= option.\",\"type\":\"standalone\"},{\"name\":\"3\",\"description\":\"Specifies a line-search method that needs the same number of function and gradient calls for cubic interpolation and cubic extrapolation; this method is implemented as shown in Fletcher (1987) and can be modified to an exact line search by using the LSPRECISION= option.\",\"type\":\"standalone\"},{\"name\":\"4\",\"description\":\"Specifies a line-search method that needs the same number of function and gradient calls for stepwise extrapolation and cubic interpolation\",\"type\":\"standalone\"},{\"name\":\"5\",\"description\":\"Specifies a line-search method that is a modified version of LIS=4.\",\"type\":\"standalone\"},{\"name\":\"6\",\"description\":\"Specifies golden section line search (Polak 1971), which uses only function values for linear approximation.\",\"type\":\"standalone\"},{\"name\":\"7\",\"description\":\"Specifies bisection line search (Polak 1971), which uses only function values for linear approximation.\",\"type\":\"standalone\"},{\"name\":\"8\",\"description\":\"Specifies Armijo line-search technique (Polak 1971), which uses only function values for linear approximation.\",\"type\":\"standalone\"}]},{\"name\":\"LSPRECISION=\",\"optional\":true,\"aliases\":[\"LSP=\",\"SPRECISION=\",\"SP=\"],\"description\":\"Specifies the degree of accuracy that should be obtained by the line-search algorithms LIS=2 and LIS=3. The default LSPRECISION= values are:\",\"type\":\"value\"},{\"name\":\"MAXFUNC=\",\"optional\":true,\"aliases\":[\"MAXFU=\"],\"description\":\"Requires the number of function calls to be no larger than i. The default values are:\",\"type\":\"value\"},{\"name\":\"MAXITER=\",\"optional\":true,\"aliases\":[\"MAXIT=\"],\"description\":\"Requires the number of iterations to be no larger than i. The default values are:\",\"type\":\"value\"},{\"name\":\"MAXSTEP=\",\"optional\":true,\"description\":\"Specifies an upper bound for the step length of the line-search algorithms during the first n iterations.\",\"type\":\"value\"},{\"name\":\"MAXTIME=\",\"optional\":true,\"description\":\"Requires the CPU time to be no larger than r. The default value of the MAXTIME= option is the largest double floating-point number on your computer.\",\"help\":\"MAXTIME=*r*\",\"type\":\"value\"},{\"name\":\"METHOD=\",\"optional\":true,\"description\":\"Specifies the iterative minimization method to use. The default is METHOD=NRA.\",\"help\":\"METHOD=CG | DD | NRA | NRR | QN | TR | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"CG\",\"description\":\"Specifies the conjugate-gradient method.\",\"type\":\"standalone\"},{\"name\":\"DD\",\"description\":\"Specifies the double dogleg method.\",\"type\":\"standalone\"},{\"name\":\"NRA\",\"description\":\"Specifies the Newton-Raphson method (the default).\",\"type\":\"standalone\"},{\"name\":\"NRR\",\"description\":\"Specifies the Newton-Raphson Ridge method.\",\"type\":\"standalone\"},{\"name\":\"QN\",\"description\":\"Specifies the quasi-Newton method.\",\"type\":\"standalone\"},{\"name\":\"TR\",\"description\":\"Specifies the trust region method.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"Specifies that no optimization be performed beyond using the ordinary least squares method to compute the parameter estimates.\",\"type\":\"standalone\"}]},{\"name\":\"MINITER=\",\"optional\":true,\"aliases\":[\"MINIT=\"],\"description\":\"Specifies the minimum number of iterations. The default value is 0.\",\"type\":\"value\"},{\"name\":\"NOPRINT\",\"optional\":true,\"description\":\"Suppresses all printed output.\",\"type\":\"standalone\"},{\"name\":\"OUTEST=\",\"optional\":true,\"description\":\"Writes the parameter estimates to an output data set.\",\"help\":\"OUTEST=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"PALL\",\"optional\":true,\"aliases\":[\"ALL\"],\"description\":\"[Displays all optional output for optimization.\",\"type\":\"standalone\"},{\"name\":\"PHISTORY\",\"optional\":true,\"aliases\":[\"PHIS\"],\"description\":\"Displays the optimization history. The PHISTORY option is set automatically if the PALL or PRINT option is set.\",\"type\":\"standalone\"},{\"name\":\"PHISTPARMS\",\"optional\":true,\"description\":\"Display parameter estimates in each iteration.\",\"type\":\"standalone\"},{\"name\":\"PINIT\",\"optional\":true,\"aliases\":[\"PIN\"],\"description\":\"Displays the initial values and derivatives (if available).\",\"type\":\"standalone\"},{\"name\":\"PRINTALL\",\"optional\":true,\"description\":\"Requests all printing options.\",\"type\":\"standalone\"},{\"name\":\"PSHORT\",\"optional\":true,\"description\":\"Restricts the amount of default output.\",\"type\":\"standalone\"},{\"name\":\"PSUMMARY\",\"optional\":true,\"description\":\"Restricts the amount of default displayed output to a short form of iteration history and notes, warnings, and errors.\",\"type\":\"standalone\"},{\"name\":\"RESTART=\",\"optional\":true,\"aliases\":[\"REST=\"],\"description\":\"Specifies that the QUANEW or CONGRA algorithm is restarted with a steepest descent/ascent search direction after at most i iterations, i > 0.\",\"type\":\"value\"},{\"name\":\"SOCKET=\",\"optional\":true,\"description\":\"Specifies the fileref that contains the information needed for remote monitoring.\",\"type\":\"value\"},{\"name\":\"TECHNIQUE=\",\"optional\":true,\"aliases\":[\"TECH=\",\"OMETHOD=\",\"OM=\"],\"description\":\"Specifies the optimization technique.\",\"help\":\"TECHNIQUE=CONGRA | DBLDOG | NMSIMP | NEWRAP | NRRIDG | QUANEW | TRUREG | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"CONGRA\",\"description\":\"Chooses one of four different conjugate-gradient optimization algorithms, which can be more precisely defined with the UPDATE= option and modified with the LINESEARCH= option.\",\"type\":\"standalone\"},{\"name\":\"DBLDOG\",\"description\":\"Performs a version of double-dogleg optimization, which uses the gradient to update an approximation of the Cholesky factor of the Hessian.\",\"type\":\"standalone\"},{\"name\":\"NMSIMP\",\"description\":\"Performs a Nelder-Mead simplex optimization.\",\"type\":\"standalone\"},{\"name\":\"NEWRAP\",\"description\":\"Performs a usually stable but, for large problems, memory- and time-consuming Newton-Raphson optimization technique. The algorithm combines a line-search algorithm with ridging, and it can be modified with the LINESEARCH= option.\",\"type\":\"standalone\"},{\"name\":\"NRRIDG\",\"description\":\"Performs a usually stable but, for large problems, memory- and time-consuming Newton-Raphson optimization technique. This algorithm does not perform a line search.\",\"type\":\"standalone\"},{\"name\":\"QUANEW\",\"description\":\"Chooses one of four different quasi-Newton optimization algorithms that can be more precisely defined with the UPDATE= option and modified with the LINESEARCH= option.\",\"type\":\"standalone\"},{\"name\":\"TRUREG\",\"description\":\"Performs a usually very stable but, for large problems, memory- and time-consuming trust-region optimization technique. The algorithm is implemented similar to Gay (1983) and Moré and Sorensen (1983).\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"Does not perform any optimization. This option is similar to METHOD=NONE, but TECH=NONE also computes and displays residuals and goodness of fit statistics.\",\"type\":\"standalone\"}]},{\"name\":\"UPDATE=\",\"optional\":true,\"description\":\"Specifies the update method for the quasi-Newton, double-dogleg, or conjugate-gradient optimization technique.\",\"help\":\"UPDATE=BFGS | DBFGS | DDFP | DFP | PB | FR | PR | CD\",\"type\":\"choice\",\"arguments\":[{\"name\":\"BFGS\",\"description\":\"Performs the original Broyden, Fletcher, Goldfarb, and Shanno (BFGS) update of the inverse Hessian matrix.\",\"type\":\"standalone\"},{\"name\":\"DBFGS\",\"description\":\"Performs the dual BFGS update of the Cholesky factor of the Hessian matrix. This is the default update method.\",\"type\":\"standalone\"},{\"name\":\"DDFP\",\"description\":\"Performs the dual Davidon, Fletcher, and Powell (DFP) update of the Cholesky factor of the Hessian matrix.\",\"type\":\"standalone\"},{\"name\":\"DFP\",\"description\":\"Performs the original DFP update of the inverse Hessian matrix.\",\"type\":\"standalone\"},{\"name\":\"PB\",\"description\":\"Performs the automatic restart update method of Powell (1977) and Beale (1972).\",\"type\":\"standalone\"},{\"name\":\"FR\",\"description\":\"Performs the Fletcher-Reeves update (Fletcher 1987).\",\"type\":\"standalone\"},{\"name\":\"PR\",\"description\":\"Performs the Polak-Ribiere update (Fletcher 1987).\",\"type\":\"standalone\"},{\"name\":\"CD\",\"description\":\"Performs a conjugate-descent update of Fletcher (1987).\",\"type\":\"standalone\"}]},{\"name\":\"XCONV=\",\"optional\":true,\"aliases\":[\"XTOL=\"],\"description\":\"Specifies the relative parameter convergence criterion. Termination requires a small relative parameter change in subsequent iterations.\",\"type\":\"value\"},{\"name\":\"XSIZE=\",\"optional\":true,\"description\":\"Specifies the XSIZE parameter of the relative parameter termination criterion. The default value is r=0.\",\"help\":\"XSIZE=*r*\",\"type\":\"value\"}]},{\"name\":\"BOUNDS\",\"description\":\"The BOUNDS statement imposes simple boundary constraints on the parameter estimates. BOUNDS statement constraints refer to the parameters estimated by the HPCOUNTREG procedure. You can specify any number of BOUNDS statements. Each bound is composed of parameter names, constants, and inequality operators: item operator item [ operator item [ operator item ... ] ] Each item is a constant, a parameter name, or a list of parameter names. Each operator is ’<’, ’>’, ’<=’, or ’>=’. Parameter names are as shown in the ESTIMATE column of the “Parameter Estimates” table. You can use both the BOUNDS statement and the RESTRICT statement to impose boundary constraints; however, the BOUNDS statement provides a simpler syntax for specifying these kinds of constraints.\",\"help\":\"BOUNDS bound1 [, bound2 ...] \"},{\"name\":\"FREQ\",\"description\":\"The FREQ statement identifies a variable (freq-variable) that contains the frequency of occurrence of each observation. PROC HPCOUNTREG treats each observation as if it appears n times, where n is the value of freq-variable for the observation. If the value for the observation is not an integer, it is truncated to an integer. If the value is less than 1 or missing, the observation is not used in the model fitting. When the FREQ statement is not specified, each observation is assigned a frequency of 1.\",\"help\":\"FREQ freq-variable \"},{\"name\":\"INIT\",\"description\":\"The INIT statement sets initial values for parameters in the optimization. Each initvalue is written as a parameter or parameter list, followed by an optional equal sign (=), followed by a number: parameter [=] number Parameter names are as shown in the ESTIMATE column of the “Parameter Estimates” table.\",\"help\":\"INIT initvalue1 [, initvalue2 ...] \"},{\"name\":\"MODEL\",\"description\":\"The MODEL statement specifies the dependent variable and independent regressor variables for the regression model. The dependent count variable should take on only nonnegative integer values in the input data set. PROC HPCOUNTREG rounds any positive noninteger count values to the nearest integer. PROC HPCOUNTREG discards any observations with a negative count. Only one MODEL statement can be specified.\",\"help\":\"MODEL &lt;DIST=&lt;POISSON | NEGBIN(P=1) | NEGBIN(P=2)&gt;... &gt;&lt;NOINT&gt;&lt;OFFSET=variable&gt; ...\",\"arguments\":[{\"name\":\"CORRB\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Prints the correlation matrix of the parameter estimates. It can also be specified in the PROC HPCOUNTREG statement.\",\"type\":\"standalone\"},{\"name\":\"COVB\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Prints the covariance matrix of the parameter estimates. It can also be specified in the PROC HPCOUNTREG statement.\",\"type\":\"standalone\"},{\"name\":\"DIST=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies a type of model to be analyzed. If you specify this option in both the MODEL statement and the PROC HPCOUNTREG statement, then only the value in the MODEL statement is used.\",\"help\":\"DIST=POISSON | NEGBIN(P=1) | NEGBIN(P=2) | ZIPOISSON | ZINEGBIN\",\"type\":\"choice\",\"arguments\":[{\"name\":\"POISSON\",\"followsDelimiter\":\"/\",\"description\":\"Poisson regression model\",\"type\":\"standalone\"},{\"name\":\"NEGBIN(P=1)\",\"followsDelimiter\":\"/\",\"description\":\"Negative binomial regression model with a linear variance function\",\"type\":\"value\"},{\"name\":\"NEGBIN(P=2)\",\"followsDelimiter\":\"/\",\"description\":\"Negative binomial regression model with a quadratic variance function\",\"type\":\"value\"},{\"name\":\"ZIPOISSON\",\"followsDelimiter\":\"/\",\"aliases\":[\"ZIP\"],\"description\":\"Zero-inflated Poisson regression\",\"type\":\"standalone\"},{\"name\":\"ZINEGBIN\",\"followsDelimiter\":\"/\",\"aliases\":[\"ZINB\"],\"description\":\"Zero-inflated negative binomial regression\",\"type\":\"standalone\"}]},{\"name\":\"ITPRINT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Prints the objective function and parameter estimates at each iteration. The objective function is the negative log-likelihood function. It can also be specified in the PROC HPCOUNTREG statement.\",\"type\":\"standalone\"},{\"name\":\"NOINT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Suppresses the intercept parameter.\",\"type\":\"standalone\"},{\"name\":\"NOPRINT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Suppresses all printed output.\",\"type\":\"standalone\"},{\"name\":\"OFFSET=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies a variable in the input data set to be used as an offset variable. The offset variable appears as a covariate in the model with its parameter restricted to 1.\",\"help\":\"OFFSET=*variable*\",\"type\":\"value\"},{\"name\":\"PRINTALL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests all printing options. It can also be specified in the PROC HPCOUNTREG statement.\",\"type\":\"standalone\"}]},{\"name\":\"OUTPUT\",\"description\":\"The OUTPUT statement creates a new SAS data set containing all the variables in the input data set and, optionally, the estimates of x'β, the expected value of the response variable, and the probability that the response variable will take on the current value.\",\"help\":\"OUTPUT &lt;OUT=SAS-data-set&gt;&lt;OUTVAR(SAS-variable-names)&gt;&lt;PRED=name&gt; ...\",\"arguments\":[{\"name\":\"OUT=\",\"optional\":true,\"description\":\"Names the output data set.\",\"help\":\"OUT=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"OUTVAR\",\"optional\":true,\"description\":\"Adds SAS variables to the output data set.\",\"type\":\"standalone\"},{\"name\":\"PRED=\",\"optional\":true,\"description\":\"Names the variable containing the predicted value of the response variable.\",\"help\":\"PRED=*name*\",\"type\":\"value\"},{\"name\":\"PROB=\",\"optional\":true,\"description\":\"Names the variable containing the probability of the response variable taking the current value, Pr(Y=y).\",\"help\":\"PROB=*name*\",\"type\":\"value\"},{\"name\":\"PROBCOUNT\",\"optional\":true,\"description\":\"Outputs the probability of the response variable taking particular values. Each value should be a nonnegative integer. Nonintegers are rounded to the nearest integer. For value, you can also specify a list of the form X TO Y BY Z. For example, PROBCOUNT(0 1 2 TO 10 BY 2 15) requests predicted probabilities for counts 0, 1, 2, 4, 5, 6, 8, 10, and 15. This option is not available for the fixed- and random-effects panel models.\",\"type\":\"standalone\"},{\"name\":\"PROBZERO=\",\"optional\":true,\"description\":\"Names the variable containing the value that of ϕi, the probability that the response variable will take on the value of zero as a result of the zero-generating process. It is written to the output file only if the model is zero-inflated.\",\"help\":\"PROBZERO=*name*\",\"type\":\"value\"},{\"name\":\"XBETA=\",\"optional\":true,\"description\":\"Names the variable containing estimates of x'β.\",\"help\":\"XBETA=*name*\",\"type\":\"value\"},{\"name\":\"ZGAMMA=\",\"optional\":true,\"description\":\"Names the variable containing estimates of z'Gamma.\",\"help\":\"ZGAMMA=*name*\",\"type\":\"value\"}]},{\"name\":\"PERFORMANCE\",\"description\":\"The PERFORMANCE statement defines performance parameters for multithreaded and distributed computing, passes variables about the distributed computing environment, and requests detailed results about the performance characteristics of the HPCOUNTREG procedure. With the PERFORMANCE statement, you can also control whether PROC HPCOUNTREG executes in SMP or MPP mode.\",\"help\":\"PERFORMANCE &lt;COMMIT=n&gt;&lt;CPUCOUNT=&lt;ACTUAL | &lt;num&gt;&gt;&gt;&lt;DATASERVER=“name”&gt; ...\",\"arguments\":[{\"name\":\"COMMIT=\",\"optional\":true,\"description\":\"Requests that the High-Performance Analytics procedure write periodic updates to the SAS Log when observations are sent from the client to the appliance for distributed processing.\",\"help\":\"COMMIT=*n*\",\"type\":\"value\"},{\"name\":\"CPUCOUNT=\",\"optional\":true,\"description\":\"Specifies how many processors the procedure assumes are available on each host in the computing environment. num can be any integer from 1 to 256. CPUCOUNT=ACTUAL sets CPUCOUNT to the number of physical processors available. This number can be less than the physical number of CPUs if the SAS process has been restricted by system administration tools. Setting CPUCOUNT= to a number greater than the actual number of available CPUs might result in reduced performance. This option overrides the CPUCOUNT= SAS system option.\",\"help\":\"CPUCOUNT=ACTUAL | &lt;*num*&gt;\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ACTUAL\",\"description\":\"Sets CPUCOUNT to the number of physical processors available. This number can be less than the physical number of CPUs if the SAS process has been restricted by system administration tools.\",\"type\":\"standalone\"},{\"name\":\"num\",\"placeholder\":true,\"description\":\"Replace <num> with an actual number. Setting CPUCOUNT= to a number greater than the actual number of available CPUs might result in reduced performance. This option overrides the CPUCOUNT= SAS system option.\",\"type\":\"standaloneOrValue\"}]},{\"name\":\"DATASERVER=\",\"optional\":true,\"description\":\"Specifies the name of the server on Teradata systems as defined through the hosts file and as used in the LIBNAME statement for Teradata. For example, if the hosts file defines myservercop1 33.44.55.66 as the server for Teradata, then a LIBNAME specification would be as follows: libname TDLib teradata server=myserver user= password= database= ; A PERFORMANCE statement to induce running alongside the Teradata server would specify the following:\",\"type\":\"value\"},{\"name\":\"DETAILS\",\"optional\":true,\"description\":\"Requests a table that shows a timing breakdown of the procedure steps.\",\"type\":\"standalone\"},{\"name\":\"HOST=\",\"optional\":true,\"aliases\":[\"GRIDHOST=\"],\"description\":\"Specifies the name of the appliance host in single or double quotes. If the HOST= option is specified, it overrides the value of the GRIDHOST environment variable.\",\"type\":\"value\"},{\"name\":\"INSTALL=\",\"optional\":true,\"aliases\":[\"INSTALLLOC=\"],\"description\":\"Specifies the directory in which the High-Performance Analytics shared libraries are installed on the appliance. Specifying the INSTALL= option overrides the GRIDINSTALLLOC environment variable.\",\"type\":\"value\"},{\"name\":\"NODES=\",\"optional\":true,\"aliases\":[\"NNODES=\"],\"description\":\"Specifies the number of nodes in the distributed computing environment, provided that the data are not processed alongside the database.\",\"type\":\"value\"},{\"name\":\"NTHREADS=\",\"optional\":true,\"description\":\"Specifies the number of threads for analytic computations and overrides the SAS system option THREADS | NOTHREADS. If you do not specify the NTHREADS= option, the number of threads are determined based on the number of CPUs on the host on which the analytic computations execute. The algorithm by which a CPU count is converted to a thread count is specific to the High- Performance Analytics procedure. Most procedures create one thread per CPU for the analytic computations. By default, High-Performance Analytics procedures execute in multiple concurrent threads unless turned off by the NOTHREADS system option or you force single-threaded execution with NTHREADS=1. The largest number that can be specified for n is 256. Individual High-Performance Analytics procedures can impose more stringent limits if called for by algorithmic considerations. You can affect the determination of the CPU count with the CPUCOUNT= option in the PERFORMANCE statement.\",\"help\":\"NTHREADS=*n*\",\"type\":\"value\"},{\"name\":\"TIMEOUT=\",\"optional\":true,\"description\":\"Specifies the timeout in seconds for a High-Performance Analytics procedure to wait for a connection to the appliance and establish a connection back to the client. The default is s=120 seconds. If jobs are submitted to the appliance through workload management tools that might suspend access to the appliance for a longer period, you might want to increase the timeout value.\",\"help\":\"TIMEOUT=*s*\",\"type\":\"value\"}]},{\"name\":\"RESTRICT\",\"description\":\"The RESTRICT statement is used to impose linear restrictions on the parameter estimates. You can specify any number of RESTRICT statements. Each restriction is written as an expression, followed by an equality operator (=) or an inequality operator (<, >, <=, >=), followed by a second expression: expression operator expression The operator can be =, <, >, <=, or >=. Restriction expressions can be composed of parameter names, constants, and the operators times (*), plus (+), and minus (-). Parameter names are as shown in the ESTIMATE column of the “Parameter Estimates” table. The restriction expressions must be a linear function of the variables. Lagrange multipliers are reported in the “Parameter Estimates” table for all the active linear constraints. They are identified with the names Restrict1, Restrict2, and so on. The probabilities of these Lagrange multipliers are computed using a beta distribution (LaMotte 1994). Nonactive, or nonbinding, restrictions have no effect on the estimation results and are not noted in the output.\",\"help\":\"RESTRICT restriction1 [, restriction2 ...] \"},{\"name\":\"WEIGHT\",\"description\":\"The WEIGHT statement specifies a variable to supply weighting values to use for each observation in estimating parameters. The log likelihood for each observation is multiplied by the corresponding weight variable value. If the weight of an observation is nonpositive, that observation is not used in the estimation.\",\"help\":\"WEIGHT &lt;NONORMALIZE&gt;\",\"arguments\":[{\"name\":\"NONORMALIZE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Does not normalize the weights. By default, the weights are normalized so that they add up to the actual sample size.\",\"type\":\"standalone\"}]},{\"name\":\"ZEROMODEL\",\"description\":\"The ZEROMODEL statement is required if either ZIP or ZINB is specified in the DIST= option in the MODEL statement. If ZIP or ZINB is specified, then the ZEROMODEL statement must follow immediately after the MODEL statement. The dependent variable in the ZEROMODEL statement must be the same as the dependent variable in the MODEL statement. The zero-inflated (ZI) regressors appear in the equation that determines the probability (ϕi) of a zero count. Each of these q variables has a parameter to be estimated in the regression.\",\"help\":\"ZEROMODEL &lt;LINK=&lt;LOGISTIC | NORMAL&gt;&gt;&lt;OFFSET=variable&gt;\",\"arguments\":[{\"name\":\"LINK=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the distribution function used to compute probability of zeros.\",\"help\":\"LINK=LOGISTIC | NORMAL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"LOGISTIC\",\"followsDelimiter\":\"/\",\"description\":\"Specifies logistic distribution.\",\"type\":\"standalone\"},{\"name\":\"NORMAL\",\"followsDelimiter\":\"/\",\"description\":\"Specifies standard normal distribution.\",\"type\":\"standalone\"}]},{\"name\":\"OFFSET=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies a variable in the input data set to be used as a zero-inflated (ZI) offset variable. The ZI offset variable is included as a term, with coefficient restricted to 1, in the equation that determines the probability (ϕi) of a zero count. The ZI offset variable cannot be the response variable, the offset variable (if any), or one of the explanatory variables. The name of the data set variable used as the ZI offset variable is displayed in the “Model Fit Summary” output, where it is labeled as “Inf_offset”.\",\"help\":\"OFFSET=*variable*\",\"type\":\"value\"}]}],\"supportSiteInformation\":{\"docsetId\":\"etsug\",\"docsetVersion\":\"latest\",\"docsetTargetFile\":\"etsug_hpcountreg_toc.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/HPDECIDE.json",
    "content": "{\"name\":\"HPDECIDE\",\"statements\":[{\"name\":\"PROC HPDECIDE\",\"description\":\"The HPDECIDE procedure creates optimal decisions that are based on a decision matrix that you specify, on prior probabilities, and on output from a modeling procedure. This output can be either posterior probabilities for a categorical target variable or predicted values for an interval target variable. The HPDECIDE procedure can also adjust the posterior probabilities for changes in the prior probabilities. † Some modeling procedures assume that the prior probabilities for categorical variable level membership either are all equal or are proportional to the relative frequency of the corresponding response level in the data set. PROC HPDECIDE enables you to specify other prior probabilities. Thus, you can conduct a sensitivity analysis without running the modeling procedure again. † The HPDECIDE procedure can exploit computer grids by running in parallel independently on different grid nodes, while multithreading is supported at each node.\",\"help\":\"PROC HPDECIDE <DATA=<libref.>SAS-data-set><OUT=<libref.>SAS-data-set><OUTFIT=<libref.>SAS-data-set><ROLE=TRAIN | VALID|VALIDATION | TEST... >;     \\n\\tCODE <FILE= file-name><METABASE=catalog-spec><RESIDUAL> ...;\\n\\n\\tDECISION <COST=list-of-costs><DECDATA=< libref. >SAS-data-set< (type) >><DECVARS=variables> ...;\\n\\n\\tFREQ variable ;\\n\\n\\tID variables ;\\n\\n\\tPERFORMANCE <COMMIT=n><CPUCOUNT=<ACTUAL | <num>>><DATASERVER=“name”> ...;\\n\\n\\tPOSTERIORS variable-list ;\\n\\n\\tPREDICTED variable ;\\n\\n\\tTARGET variable ;\\n\",\"arguments\":[{\"name\":\"DATA=\",\"optional\":true,\"description\":\"Specifies the input data set that contains the output from a modeling procedure. The default is the most recently created data set. If the data are already distributed, the procedure reads the data alongside the distributed database.\",\"type\":\"value\"},{\"name\":\"OUT=\",\"optional\":true,\"description\":\"This option specifies the output data set, which contains the following information: 1. any variables from the input data set specified in the ID Statement 2. the chosen decision with a prefix of D_ 3. the expected consequence of the chosen decision with a prefix of either EL_ or EP_ If the target value is in the input data set, then the output data set also contains the following variables: 1. the consequence of the chosen decision computed from the target value with a prefix of either CL_ or CP_ 2. the consequence of the best possible decision knowing the target value with a prefix of either BL_ or BP_ If the profit matrix is revenue, then the output data set also contains the following variables: 1. the investment cost with a prefix of IC_ 2. the return on investment with a prefix of ROI_\",\"type\":\"value\"},{\"name\":\"OUTFIT=\",\"optional\":true,\"description\":\"This option specifies an output data set that contains fit statistics. These statistics include the total and average profit or loss. You cannot specify this option with a data set of type SCORE. By default, this data set is not created.\",\"type\":\"value\"},{\"name\":\"ROLE=\",\"optional\":true,\"description\":\"This option specifies the role of the data set. This option affects the variables that are created in the ROLE= data set. The default value is TEST.\",\"help\":\"ROLE=TRAIN | VALID | TEST | SCORE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"TRAIN\",\"description\":\"TRAIN role\",\"type\":\"standalone\"},{\"name\":\"VALID\",\"aliases\":[\"VALIDATION\"],\"description\":\"VALIDATION role\",\"type\":\"standalone\"},{\"name\":\"TEST\",\"description\":\"TEST role\",\"type\":\"standalone\"},{\"name\":\"SCORE\",\"description\":\"SCORE role\",\"type\":\"standalone\"}]}]},{\"name\":\"CODE\",\"description\":\"The CODE statement generates SAS DATA step code that can be used to score data sets. If neither the FILE= option nor the METABASE= option is specified, then the SAS code is written to the SAS log. You can specify both the FILE= option and the METABASE= option to write code to both locations. The target variable must appear both in the data set specified in the DATA= option in the PROC HPDECIDE statement and in the data set specified in the DECDATA= option in the DECISION statement.\",\"help\":\"CODE &lt;FILE= file-name&gt;&lt;METABASE=catalog-spec&gt;&lt;RESIDUAL&gt; ...\",\"arguments\":[{\"name\":\"FILE=\",\"optional\":true,\"description\":\"Names the file into which score code is saved.\",\"type\":\"value\"},{\"name\":\"METABASE=\",\"optional\":true,\"description\":\"Specifies a catalog entry to contain the SAS score code. For example, you can specify METABASE=myLibrary.myCatalog.catalog-entry.\",\"help\":\"METABASE=*catalog-spec*\",\"type\":\"dataSet\"},{\"name\":\"RESIDUAL\",\"optional\":true,\"description\":\"Computes the variables that depend on the target variable in the score code..\",\"type\":\"standalone\"}]},{\"name\":\"DECISION\",\"description\":\"Required Argument: DECDATA=<libref.>SAS-data-set Optional Arguments: DECVARS=variables COST=list-of-costs PRIORVAR=variable OLDPRIORVAR=variable\",\"help\":\"DECISION &lt;COST=list-of-costs&gt;&lt;DECDATA=&lt; libref. &gt;SAS-data-set&lt; (type) &gt;&gt;&lt;DECVARS=variables&gt; ...\",\"arguments\":[{\"name\":\"COST=\",\"optional\":true,\"description\":\"Specifies the numeric constants that give the cost of a decision, the numeric variables in the input data set that contain case-specific costs, or any combination of constants and variables.\",\"help\":\"COST=*list-of-costs*\",\"type\":\"value\"},{\"name\":\"DECDATA=\",\"optional\":true,\"description\":\"names the input data set that contains the decision matrix or the prior probabilities, or both. This argument is required. The named data set must contain the target variable, which is specified in the TARGET statement. It might also contain decision variables that are specified in the DECVARS= option and prior probability variables that are specified with the PRIORVAR= option, the OLDPRIORVAR= option, or both.\",\"type\":\"value\"},{\"name\":\"DECVARS=\",\"optional\":true,\"description\":\"Specifies the numeric decision variables in the DECDATA= data set that contain the target-specific consequences for each decision. The decision variables cannot contain any missing values.\",\"help\":\"DECVARS=*variables*\",\"type\":\"value\"},{\"name\":\"OLDPRIORVAR=\",\"optional\":true,\"description\":\"Specifies the numeric variable in the DECDATA= data set that contains the prior probabilities that were used the first time the model was fit. If you specify this option, then you must also specify the PRIORVAR= option.\",\"help\":\"OLDPRIORVAR=*variable*\",\"type\":\"value\"},{\"name\":\"PRIORVAR=\",\"optional\":true,\"description\":\"Specifies the number variable in the DECDATA= data set that contains the prior probabilities that are used to make decisions. Prior probabilities are also used to adjust the total and average profit or loss. Prior probabilities cannot be missing or negative, and there must be at least one positive prior probability. The prior probabilities are not required to sum 1. But if they do not sum to 1, then they are scaled by some constant so that they do sum to 1. If you do not specify this option, then no adjustment for prior probabilities is applied to the posterior probabilities.\",\"help\":\"PRIORVAR=*variable*\",\"type\":\"value\"}]},{\"name\":\"FREQ\",\"description\":\"The FREQ statement specifies a single numeric variable whose value represents the frequency of each observation. If you use the FREQ statement, the HPDECIDE procedure treats the data set as if each observation appeared n times, where n is the value of the FREQ variable. The FREQ variable has no effect on decisions of the adjustment for prior probabilities. It affects only the summary statistics in the OUTFIT= data set. If a value of the FREQ variable is not an integer, then the fractional part is not truncated. If a value of the FREQ variable is less than or equal to 0, then the observation does not contribute to the summary statistics. However, all the variables in the OUT= data set are processed as if the FREQ variable were positive.\",\"help\":\"FREQ variable \"},{\"name\":\"ID\",\"description\":\"The ID statement lists one or more variables from the input data set that are transferred to the output data sets created by High-Performance Analytics procedures, provided that the output data set produces one (or more) records per input observation. By default, the HPDECIDE procedure does not include all variables from the input data set in the output data sets. The ID statement accepts numeric and character variables.\",\"help\":\"ID variables \"},{\"name\":\"PERFORMANCE\",\"description\":\"The PERFORMANCE statement defines performance parameters for multithreaded and distributed computing, passes variables about the distributed computing environment, and requests detailed results about the performance characteristics of a High-Performance Analytics procedure. With the PERFORMANCE statement, you can also control whether the HPNLIN procedure executes in SMP or MPP mode.\",\"help\":\"PERFORMANCE &lt;COMMIT=n&gt;&lt;CPUCOUNT=&lt;ACTUAL | &lt;num&gt;&gt;&gt;&lt;DATASERVER=“name”&gt; ...\",\"arguments\":[{\"name\":\"COMMIT=\",\"optional\":true,\"description\":\"Requests that the High-Performance Analytics procedure write periodic updates to the SAS Log when observations are sent from the client to the appliance for distributed processing.\",\"help\":\"COMMIT=*n*\",\"type\":\"value\"},{\"name\":\"CPUCOUNT=\",\"optional\":true,\"description\":\"Specifies how many processors the procedure assumes are available on each host in the computing environment. num can be any integer from 1 to 256. CPUCOUNT=ACTUAL sets CPUCOUNT to the number of physical processors available. This number can be less than the physical number of CPUs if the SAS process has been restricted by system administration tools. Setting CPUCOUNT= to a number greater than the actual number of available CPUs might result in reduced performance. This option overrides the CPUCOUNT= SAS system option.\",\"help\":\"CPUCOUNT=ACTUAL | &lt;num&gt;\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ACTUAL\",\"description\":\"Sets CPUCOUNT to the number of physical processors available. This number can be less than the physical number of CPUs if the SAS process has been restricted by system administration tools.\",\"type\":\"standalone\"},{\"name\":\"<num>\",\"description\":\"Replace <num> with an actual number. Setting CPUCOUNT= to a number greater than the actual number of available CPUs might result in reduced performance. This option overrides the CPUCOUNT= SAS system option.\",\"type\":\"standalone\"}]},{\"name\":\"DATASERVER=\",\"optional\":true,\"description\":\"Specifies the name of the server on Teradata systems as defined through the hosts file and as used in the LIBNAME statement for Teradata. For example, if the hosts file defines myservercop1 33.44.55.66 as the server for Teradata, then a LIBNAME specification would be as follows: libname TDLib teradata server=myserver user= password= database= ; A PERFORMANCE statement to induce running alongside the Teradata server would specify the following:\",\"type\":\"value\"},{\"name\":\"DETAILS\",\"optional\":true,\"description\":\"Requests a table that shows a timing breakdown of the procedure steps.\",\"type\":\"standalone\"},{\"name\":\"HOST=\",\"optional\":true,\"aliases\":[\"GRIDHOST=\"],\"description\":\"Specifies the name of the appliance host in single or double quotes. If the HOST= option is specified, it overrides the value of the GRIDHOST environment variable.\",\"type\":\"value\"},{\"name\":\"INSTALL=\",\"optional\":true,\"aliases\":[\"INSTALLLOC=\"],\"description\":\"Specifies the directory in which the High-Performance Analytics shared libraries are installed on the appliance. Specifying the INSTALL= option overrides the GRIDINSTALLLOC environment variable.\",\"type\":\"value\"},{\"name\":\"NODES=\",\"optional\":true,\"aliases\":[\"NNODES=\"],\"description\":\"Specifies the number of nodes in the distributed computing environment, provided that the data are not processed alongside the database.\",\"type\":\"value\"},{\"name\":\"NTHREADS=\",\"optional\":true,\"description\":\"Specifies the number of threads for analytic computations and overrides the SAS system option THREADS | NOTHREADS. If you do not specify the NTHREADS= option, the number of threads are determined based on the number of CPUs on the host on which the analytic computations execute. The algorithm by which a CPU count is converted to a thread count is specific to the High- Performance Analytics procedure. Most procedures create one thread per CPU for the analytic computations. By default, High-Performance Analytics procedures execute in multiple concurrent threads unless turned off by the NOTHREADS system option or you force single-threaded execution with NTHREADS=1. The largest number that can be specified for n is 256. Individual High-Performance Analytics procedures can impose more stringent limits if called for by algorithmic considerations. You can affect the determination of the CPU count with the CPUCOUNT= option in the PERFORMANCE statement.\",\"help\":\"NTHREADS=*n*\",\"type\":\"value\"},{\"name\":\"TIMEOUT=\",\"optional\":true,\"description\":\"Specifies the timeout in seconds for a High-Performance Analytics procedure to wait for a connection to the appliance and establish a connection back to the client. The default is s=120 seconds. If jobs are submitted to the appliance through workload management tools that might suspend access to the appliance for a longer period, you might want to increase the timeout value.\",\"help\":\"TIMEOUT=*s*\",\"type\":\"value\"}]},{\"name\":\"POSTERIORS\",\"description\":\"The POSTERIORS statement specifies a list of the numeric variables in the input data set that contain the estimated posterior probabilities that correspond to the categories of the target variable. If one of the following conditions is met, then an observation is set to missing and the variable _WARN_ contains the flag P: These conditions are as follows: o The posterior probability is missing, negative, or greater than 1. o There is a nonzero posterior that corresponds to a zero posterior. o There is not at least one valid positive posterior probability. Note that the order of the variables in this list must correspond exactly to the order of the classes in the DECDATA= data set.\",\"help\":\"POSTERIORS variable-list \"},{\"name\":\"PREDICTED\",\"description\":\"The PREDICTED statement specifies the numeric variable in the input data set that contains the predicted values of an interval target variable. You can specify only an interval target variable in the PREDICTED statement. You cannot use both the POSTERIORS statement and the PREDICTED statement.\",\"help\":\"PREDICTED variable \"},{\"name\":\"TARGET\",\"description\":\"The TARGET statement specifies which variable is the target variable in the data set that is specified in the DECDATA= option in the DECISION statement. The TARGET statement is required. The HPDECIDE procedure searches for a target variable with the same name in the input data set. If none is found, then the HPDECIDE procedure assumes that actual target values are unknown. For a categorical variable, the target variables in the data sets that are specified in the DATA= option in the PROC HPDECIDE statement and in the DECDATA= option in the DECISION statement do not need to be the same type because only the formatted values are used for comparisons. For an interval target, both variables must be numeric. If scoring code is generated by the CODE statement, the code formats the target variable with the format and length from the DATA= data set.\",\"help\":\"TARGET variable \"}],\"supportSiteInformation\":{\"docsetId\":\"emhpprcref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"emhpprcref_hpdecide_toc.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/HPDMDB.json",
    "content": "{\"name\":\"HPDMDB\",\"statements\":[{\"name\":\"PROC HPDMDB\",\"description\":\"The HPDMDB procedure is a high-performance version of the DMDB procedure, which creates summaries of the input data source. PROC HPDMDB creates two output data sets: the VAROUT data set, which contains a summary of the numeric variables, and the CLASSOUT data set, which contains a summary of the classification variables. † PROC HPDMDB is high-performance in that it takes advantage of distributed and multicore computing environments when the input data are stored on the SAS appliance. † You can use PROC HPDMDB to create a data mining database (DMDB) that is compatible with the DMDB from PROC DMDB, although this feature of PROC HPDMDB might not be supported in future versions.\",\"help\":\"PROC HPDMDB <CLASSOUT= <libref.>SAS-data-set> DATA= <libref.>SAS-data-set <DMDBCAT= <libref.>SAS-catalog><MAXLEVEL=max><PRINT><SPECIALMISSING><VARDEF=N | DF><VAROUT= <libref.>SAS-data-set>;     \\n\\tCLASS <ASCENDING><ASCFORMATTED><DESCENDING> ...;\\n\\n\\tFREQ variable ;\\n\\n\\tPERFORMANCE <COMMIT=n><CPUCOUNT=<ACTUAL | <num>>><DATASERVER=“name”> ...;\\n\\n\\tVAR variable(s) ;\\n\\n\\tWEIGHT variable ;\\n\",\"arguments\":[{\"name\":\"DATA=\",\"description\":\"Names the SAS data set that contains the information that you want added to the data mining database. If the data set resides on the SAS appliance, then the SAS appliance is used during summarization.\",\"type\":\"value\"},{\"name\":\"CLASSOUT=\",\"optional\":true,\"description\":\"Names the data set to contain the summaries of classification variables that are specified in the CLASS statement.\",\"type\":\"value\"},{\"name\":\"DMDBCAT=\",\"optional\":true,\"description\":\"Names the metadata catalog to be created by PROC HPDMDB.\",\"type\":\"value\"},{\"name\":\"MAXLEVEL=\",\"optional\":true,\"description\":\"Specifies the maximum number of levels to be reported for each class variable. If more than max levels of a class variable exist, PROC HPDMDB reports the frequency of unreported observations in a level named _OTHER_.\",\"help\":\"MAXLEVEL=*max*\",\"type\":\"value\"},{\"name\":\"PRINT\",\"optional\":true,\"description\":\"Prints the class-level information to all open ODS destinations.\",\"type\":\"standalone\"},{\"name\":\"SPECIALMISSING\",\"optional\":true,\"description\":\"Enables special missing values to be treated as separate levels.\",\"type\":\"standalone\"},{\"name\":\"VARDEF=\",\"optional\":true,\"description\":\"Specifies the divisor to use in the calculation of the variance and standard deviation.\",\"help\":\"VARDEF=N | DF*divisor*\",\"type\":\"value\",\"arguments\":[{\"name\":\"N\",\"description\":\"Number of observations (n)\",\"type\":\"standalone\"},{\"name\":\"DF\",\"description\":\"Degrees of freedom (n - 1)\",\"type\":\"standalone\"}]},{\"name\":\"VAROUT=\",\"optional\":true,\"description\":\"Names the data set to contain the summaries of analysis variables that are specified in the VAR statement.\",\"type\":\"value\"}]},{\"name\":\"CLASS\",\"description\":\"The CLASS statement specifies the variables whose values define subgroup combinations for the analysis. The CLASS and VAR statements are mutually exclusive.\",\"help\":\"CLASS &lt;ASCENDING&gt;&lt;ASCFORMATTED&gt;&lt;DESCENDING&gt; ...\",\"arguments\":[{\"name\":\"ASCENDING\",\"optional\":true,\"aliases\":[\"ASC\"],\"description\":\"Arranges class levels in lowest-to-highest order of unformatted values.\",\"type\":\"standalone\"},{\"name\":\"ASCFORMATTED\",\"optional\":true,\"aliases\":[\"ASCFMT\"],\"description\":\"Arranges class levels in ascending order by their formatted values.\",\"type\":\"standalone\"},{\"name\":\"DESCENDING\",\"optional\":true,\"aliases\":[\"DESC\"],\"description\":\"Arranges class levels in highest-to-lowest order of unformatted values.\",\"type\":\"standalone\"},{\"name\":\"DESFORMATTED\",\"optional\":true,\"aliases\":[\"DESFMT\"],\"description\":\"Arranges class levels in descending order by their formatted values.\",\"type\":\"standalone\"},{\"name\":\"DSORDER\",\"optional\":true,\"aliases\":[\"DATA\"],\"description\":\"Arranges class levels according to the order of their appearance in the input data set. NOTE: The DSORDER sort option is not supported for input data sets stored on the SAS appliance.\",\"type\":\"standalone\"}]},{\"name\":\"FREQ\",\"description\":\"The FREQ statement specifies a numeric variable that contains the frequency of each observation. Required Argument: variable specifies a numeric variable whose value represents the frequency of the observation. For observations where variable is 0 or missing, the observation is omitted in the CLASSOUT data set and is not included in statistical calculations.\",\"help\":\"FREQ variable \"},{\"name\":\"PERFORMANCE\",\"description\":\"The PERFORMANCE statement defines performance parameters for multithreaded and distributed computing, passes variables about the distributed computing environment, and requests detailed results about the performance characteristics of a High-Performance Analytics procedure. With the PERFORMANCE statement, you can also control whether a High-Performance Analytics procedure executes in SMP or MPP mode.\",\"help\":\"PERFORMANCE &lt;COMMIT=n&gt;&lt;CPUCOUNT=&lt;ACTUAL | &lt;num&gt;&gt;&gt;&lt;DATASERVER=“name”&gt; ...\",\"arguments\":[{\"name\":\"COMMIT=\",\"optional\":true,\"description\":\"Requests that the High-Performance Analytics procedure write periodic updates to the SAS Log when observations are sent from the client to the appliance for distributed processing.\",\"help\":\"COMMIT=*n*\",\"type\":\"value\"},{\"name\":\"CPUCOUNT=\",\"optional\":true,\"description\":\"Specifies how many processors the procedure assumes are available on each host in the computing environment. num can be any integer from 1 to 256. CPUCOUNT=ACTUAL sets CPUCOUNT to the number of physical processors available. This number can be less than the physical number of CPUs if the SAS process has been restricted by system administration tools. Setting CPUCOUNT= to a number greater than the actual number of available CPUs might result in reduced performance. This option overrides the CPUCOUNT= SAS system option.\",\"help\":\"CPUCOUNT=ACTUAL | &lt;*num*&gt;\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ACTUAL\",\"description\":\"Sets CPUCOUNT to the number of physical processors available. This number can be less than the physical number of CPUs if the SAS process has been restricted by system administration tools.\",\"type\":\"standalone\"},{\"name\":\"num\",\"placeholder\":true,\"description\":\"Replace <num> with an actual number. Setting CPUCOUNT= to a number greater than the actual number of available CPUs might result in reduced performance. This option overrides the CPUCOUNT= SAS system option.\",\"type\":\"standaloneOrValue\"}]},{\"name\":\"DATASERVER=\",\"optional\":true,\"description\":\"Specifies the name of the server on Teradata systems as defined through the hosts file and as used in the LIBNAME statement for Teradata. For example, if the hosts file defines myservercop1 33.44.55.66 as the server for Teradata, then a LIBNAME specification would be as follows: libname TDLib teradata server=myserver user= password= database= ; A PERFORMANCE statement to induce running alongside the Teradata server would specify the following:\",\"type\":\"value\"},{\"name\":\"DETAILS\",\"optional\":true,\"description\":\"Requests a table that shows a timing breakdown of the procedure steps.\",\"type\":\"standalone\"},{\"name\":\"HOST=\",\"optional\":true,\"aliases\":[\"GRIDHOST=\"],\"description\":\"Specifies the name of the appliance host in single or double quotes. If the HOST= option is specified, it overrides the value of the GRIDHOST environment variable.\",\"type\":\"value\"},{\"name\":\"INSTALL=\",\"optional\":true,\"aliases\":[\"INSTALLLOC=\"],\"description\":\"Specifies the directory in which the High-Performance Analytics shared libraries are installed on the appliance. Specifying the INSTALL= option overrides the GRIDINSTALLLOC environment variable.\",\"type\":\"value\"},{\"name\":\"NODES=\",\"optional\":true,\"aliases\":[\"NNODES=\"],\"description\":\"Specifies the number of nodes in the distributed computing environment, provided that the data are not processed alongside the database.\",\"type\":\"value\"},{\"name\":\"NTHREADS=\",\"optional\":true,\"description\":\"Specifies the number of threads for analytic computations and overrides the SAS system option THREADS | NOTHREADS. If you do not specify the NTHREADS= option, the number of threads are determined based on the number of CPUs on the host on which the analytic computations execute. The algorithm by which a CPU count is converted to a thread count is specific to the High- Performance Analytics procedure. Most procedures create one thread per CPU for the analytic computations. By default, High-Performance Analytics procedures execute in multiple concurrent threads unless turned off by the NOTHREADS system option or you force single-threaded execution with NTHREADS=1. The largest number that can be specified for n is 256. Individual High-Performance Analytics procedures can impose more stringent limits if called for by algorithmic considerations. You can affect the determination of the CPU count with the CPUCOUNT= option in the PERFORMANCE statement.\",\"help\":\"NTHREADS=*n*\",\"type\":\"value\"},{\"name\":\"TIMEOUT=\",\"optional\":true,\"description\":\"Specifies the timeout in seconds for a High-Performance Analytics procedure to wait for a connection to the appliance and establish a connection back to the client. The default is s=120 seconds. If jobs are submitted to the appliance through workload management tools that might suspend access to the appliance for a longer period, you might want to increase the timeout value.\",\"help\":\"TIMEOUT=*s*\",\"type\":\"value\"}]},{\"name\":\"VAR\",\"description\":\"The VAR statement specifies one or more numeric variables to analyze. The CLASS and VAR statements are mutually exclusive. Required Argument: variable(s) specifies one or more numeric variables to be used in the analysis. The variable(s) must be numeric. For each variable, the VAROUT data set and the metadata contain the following statistics: N Number of observations NMISS Number of observations that contain a missing value MIN Minimum observed value MAX Maximum observed value MEAN Mean of observed values STD Standard deviation SKEWNESS Measure of asymmetry KURTOSIS Measure of the “heaviness of the tails” SUM Sum of all nonmissing observations CSS Corrected sum of squares USS Sum of squares\",\"help\":\"VAR variable(s) \"},{\"name\":\"WEIGHT\",\"description\":\"The WEIGHT statement specifies a numeric variable that contains a weight for each observation. The variable is used in the computation of means, standard deviation, skewness, and kurtosis. Required Argument: variable represents how the observation should be weighted in statistical calculations. For observations where variable is 0 or missing, then the observation is still included in the CLASSOUT data set, but the value is not used in statistical calculations.\",\"help\":\"WEIGHT variable \"}],\"supportSiteInformation\":{\"docsetId\":\"prochp\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"prochp_hpdmdb_toc.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/HPDS2.json",
    "content": "{\"name\":\"HPDS2\",\"statements\":[{\"name\":\"PROC HPDS2\",\"description\":\"The HPDS2 procedure enables you to submit DS2 language statements from a Base SAS session to a SAS High Performance Analytics grid for parallel execution. PROC HPDS2 verifies the syntactic correctness of the DS2 source on the client machine before submitting it to the grid for execution. The output data created by the DS2 DATA statement can be output in either of the following ways: it can be written in parallel back to the grid data store or it can be returned to the client machine and directed to any data store that is supported by SAS. † Because the DS2 code is executed in parallel on separate grid nodes with single data partitions, there is separate output from each node that is the result of processing only the local data partition. As a result, it might be necessary to use a second-stage program to aggregate the results from each node. The second stage can be executed on the SAS client by using the DS2 procedure, where the SET statement reads all rows created by the preceding parallel stage.\",\"help\":\"PROC HPDS2 <DATA= SAS-data-set><OUTPUT= data-set>;     \\n\\tBY <DESCENDING> ;\\n\\n\\tCONTINUE;\\n\\n\\tDATA <DATA DS2GTF.out > ;\\n\\n\\tDECLARE PACKAGE <ALTER=alter-password><DECLARE PACKAGE HASH instance [ ( hashexp, 'datasource', 'ordered', 'duplicate' )><DECLARE PACKAGE HITER instance [ ( 'hashname')]> ...;\\n\\n\\tDECLARE PACKAGE HASH instance [ ( hashexp, 'datasource', 'ordered', 'duplicate' ) ];\\n\\n\\tDECLARE PACKAGE HITER instance [ ( 'hashname')];\\n\\n\\tDECLARE THREAD <ALTER=alter-password><BUFNO=<n | nK | hexX>... ><BUFSIZE=<n | nK | nM>... > ...;\\n\\n\\tDECLARE <BIGINT><IDENTITY><INTEGER> ...;\\n\\n\\tDO <TO><><> ...;\\n\\n\\t;\\n\\n\\t;\\n\\n\\tDROP <DROP PACKAGE package [(table-options)]><THREAD> ;\\n\\n\\tDROP PACKAGE <ALTER=alter-password><BUFNO=<n | nK | hexX>... ><BUFSIZE=<n | nK | nM>... > ...;\\n\\n\\tDROP THREAD <ALTER=alter-password><BUFNO=<n | nK | hexX>... ><BUFSIZE=<n | nK | nM>... > ...;\\n\\n\\tELSE <DO [ < index-variable-clause > ] [ < conditional-clause > ] ><ELSE IF expression THEN statement><THEN> ...;\\n\\n\\tEND;\\n\\n\\tENDDATA ;\\n\\n\\tENDPACKAGE;\\n\\n\\tENDTHREAD;\\n\\n\\tFORWARD method [ ...method ];\\n\\n\\tGLOBAL <BIGINT><IDENTITY><INT> ...;\\n\\n\\tGOTO label;\\n\\n\\tIF <DO [ < index-variable-clause > ] [ < conditional-clause > ] ><THEN><TO> ...;\\n\\n\\tKEEP column-list;\\n\\n\\tLEAVE [ identifier ] ;\\n\\n\\tMETHOD <><RETURNS data-type><> ...;\\n\\n\\t[OTHERWISE statement-list];\\n\\n\\tOUTPUT <_NULL_><_ROWSET_> ;\\n\\n\\tPACKAGE HASH HITER <SAS_ENCRYPT=<YES | NO>> ...;\\n\\n\\tPERFORMANCE <COMMIT=n><CPUCOUNT=<ACTUAL | <num>>><DATASERVER=“name”> ...;\\n\\n\\tPUT < put-list > [ ... <put-list> ] ;\\n\\n\\tRENAME <AS> ;\\n\\n\\t(1) RETAIN;\\n\\n\\tRETURN [ expression ];\\n\\n\\tRUN CANCEL ;\\n\\n\\tSELECT [ ( select-expression ) ];\\n\\n\\tSET <DS2GTF.IN><SET FROM thread [ THREADS = threads ]><SELECT> ...;\\n\\n\\tSET FROM <THREADS= threads> ;\\n\\n\\tSTOP;\\n\\n\\tTHREAD <ALTER=alter-password><BUFNO=<n | nK | hexX>... ><SAS_ENCRYPT=<YES | NO>> ...;\\n\\n\\tWHEN ( when-expression ) [ statement-list ;\\n\",\"arguments\":[{\"name\":\"DATA=\",\"optional\":true,\"aliases\":[\"IN=\"],\"description\":\"Names the SAS data set or database table to be used by PROC HPDS2. The default is the most recently created data set.\",\"help\":\"DATA=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"OUTPUT=\",\"optional\":true,\"aliases\":[\"OUT=\"],\"description\":\"Names the SAS data set or database table created by PROC HPDS2.\",\"help\":\"OUTPUT=*SAS-data-set*\",\"type\":\"dataSet\"}]},{\"name\":\"BY\",\"description\":\"BY-group processing is a method of combining rows from one or more tables that are grouped or ordered by values of one or more common columns. When a BY statement is specified immediately after a SET statement, the SET statement interleaves the rows of the input tables in sorted order. The sort order or sort key is specified by the column names in the BY statement. The keyword DESCENDING can be used before the name of the column in the BY statement in order to sort that column in descending instead of ascending order. When a BY statement is used, internally DS2 requests the rows in sorted order. If the rows are already sorted or indexed there is a high likelihood that a \\\"resorting\\\" of the data will not occur.\",\"help\":\"BY &lt;DESCENDING&gt;\",\"arguments\":[{\"name\":\"DESCENDING\",\"optional\":true,\"description\":\"Specifies that the tables are sorted in descending order by the column that is specified. DESCENDING means largest to smallest for numeric columns, or reverse alphabetical for character columns.\",\"type\":\"standalone\"}]},{\"name\":\"CONTINUE\",\"description\":\"Stops processing the current DO loop iteration and resumes with the next iteration.\",\"help\":\"CONTINUE\"},{\"name\":\"DATA\",\"aliases\":[\"TABLE\"],\"description\":\"The DATA statement indicates the beginning of the DS2 code block. The code block terminates with the ENDDATA statement. A reference to the DS2 Grid Table Function driver (DS2GTF.out) must be included as part of the DATA statement. If an input data set is specified in the PROC HPDS2 statement, then a run() method should be included in the DS2 code block. The first statement after the METHOD RUN() statement must be the SET DS2GTF.in statement for this case. DS2GTF.out and DS2GTF.in refer to the input and output data sets, respectively.\",\"help\":\"DATA &lt;DATA DS2GTF.out &gt;\",\"arguments\":[{\"name\":\"DS2GTF.OUT\",\"optional\":true,\"description\":\"A reference to the DS2 Grid Table Function driver (DS2GTF.out) must be included as part of the DATA statement.\",\"type\":\"standalone\"}]},{\"name\":\"DECLARE PACKAGE\",\"description\":\"Creates an instance of a package. table-options specifies optional arguments that the DS2 program applies when it creates a package. instance specifies a name that identifies an instance of the package.\",\"help\":\"DECLARE PACKAGE &lt;ALTER=alter-password&gt;&lt;DECLARE PACKAGE HASH instance [ ( hashexp, 'datasource', 'ordered', 'duplicate' )&gt;&lt;DECLARE PACKAGE HITER instance [ ( 'hashname')]&gt; ...\",\"arguments\":[{\"name\":\"ALTER=\",\"optional\":true,\"description\":\"Syntax Description: alter-password must be a valid SAS name. Details: The ALTER= option applies only to a SAS data set. You can use this option to assign a password or to access a read-protected, write-protected, or alter-protected file. When you replace a data set that is protected with an ALTER password, the new data set inherits the ALTER password. The password is blotted out when the code is written in the SAS log. For example: set a(alter=XXXXXXX);\",\"help\":\"ALTER=*alter-password*\",\"type\":\"value\"},{\"name\":\"AS\",\"optional\":true,\"description\":\"Separates the new-name from the old-name.\",\"type\":\"standalone\"},{\"name\":\"BUFNO=\",\"optional\":true,\"description\":\"Syntax Description: n | nK specifies the number of buffers in multiples of 1 (bytes); 1,024 (kilobytes). For example, a value of 8 specifies 8 buffers, and a value of 1k specifies 1024 buffers. hex specifies the number of buffers as a hexadecimal value. You must specify the value beginning with a number (0-9), followed by an X. For example, the value 2dx sets the number of buffers to 45 buffers. MIN sets the minimum number of buffers to 0, which causes SAS to use the minimum optimal value for the operating environment. This is the default.\",\"help\":\"BUFNO=n | nK | hexX | MIN | MAX\",\"type\":\"choice\",\"arguments\":[{\"name\":\"n\",\"description\":\"Specifies the number of buffers in multiples of 1 (bytes). Replace n with an integer value.\",\"type\":\"standalone\"},{\"name\":\"nK\",\"description\":\"Specifies the number of buffers in multiples of 1,024 (kilobytes). Replace n with an integer value.\",\"type\":\"standalone\"},{\"name\":\"hexX\",\"description\":\"Specifies the number of buffers as a hexadecimal value. Replace hex with an actual hexadecimal value.\",\"type\":\"standalone\"},{\"name\":\"MIN\",\"description\":\"Sets the minimum number of buffers to 0, which causes SAS to use the minimum optimal value for the operating environment. This is the default.\",\"type\":\"standalone\"},{\"name\":\"MAX\",\"description\":\"Sets the number of buffers to the maximum possible number in your operating environment, up to the largest four-byte, signed integer, which is 2³¹-1, or approximately 2 billion.\",\"type\":\"standalone\"}]},{\"name\":\"BUFSIZE=\",\"optional\":true,\"description\":\"Syntax Description: n | nK | nM | nG specifies the page size in multiples of 1 (bytes); 1,024 (kilobytes); 1,048,576 (megabytes); or 1,073,741,824 (gigabytes). For example, a value of 8 specifies a page size of 8 bytes, and a value of 4k specifies a page size of 4096 bytes. hexX specifies the page size as a hexadecimal value. You must specify the value beginning with a number (0-9), followed by an X. For example, the value 2dx sets the page size to 45 bytes.\",\"help\":\"BUFSIZE=n | nK | nM | nG | hexX | MAX\",\"type\":\"choice\",\"arguments\":[{\"name\":\"n\",\"description\":\"Specifies the page size in multiples of 1 (bytes). Replace n with an integer value.\",\"type\":\"standalone\"},{\"name\":\"nK\",\"description\":\"Specifies the page size in multiples of 1,024 (kilobytes). Replace n with an integer value.\",\"type\":\"standalone\"},{\"name\":\"nM\",\"description\":\"Specifies the page size in multiples of 1,048,576 (megabytes). Replace n with an integer value.\",\"type\":\"standalone\"},{\"name\":\"nG\",\"description\":\"Specifies the page size in multiples of 1,073,741,824 (gigabytes). Replace n with an integer value.\",\"type\":\"standalone\"},{\"name\":\"hexX\",\"description\":\"Specifies the page size as a hexadecimal value. Replace hex with an actual hexadecimal value.\",\"type\":\"standalone\"},{\"name\":\"MAX\",\"description\":\"Sets the page size to the maximum possible number in your operating environment, up to the largest four-byte, signed integer, which is 2³¹-1, or approximately 2 billion bytes.\",\"type\":\"standalone\"}]},{\"name\":\"BULKLOAD=\",\"optional\":true,\"description\":\"Syntax Description: YES calls a DBMS-specific bulk load facility in order to insert or append rows to a DBMS table.\",\"help\":\"BULKLOAD=YES | NO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YES\",\"description\":\"Calls a DBMS-specific bulk load facility in order to insert or append rows to a DBMS table.\",\"type\":\"standalone\"},{\"name\":\"NO\",\"description\":\"Uses the dynamic SAS/ACCESS engine to insert or append data to a DBMS table.\",\"type\":\"standalone\"}]},{\"name\":\"COMPRESS=\",\"optional\":true,\"description\":\"Syntax Description: NO specifies that the observations in a newly created SAS data set are uncompressed (fixed-length records). YES | CHAR specifies that the observations in a newly created SAS data set are compressed (variable-length records) by SAS using RLE (Run Length Encoding). RLE compresses observations by reducing repeated consecutive characters (including blanks) to two-byte or three-byte representations. Alias: ON Tip: Use this compression algorithm for character data. Note: COMPRESS=CHAR is accepted by Version 7 and later versions. BINARY specifies that the observations in a newly created SAS data set are compressed (variable-length records) by SAS using RDC (Ross Data Compression). RDC combines run-length encoding and sliding-window compression to compress the file.\",\"help\":\"COMPRESS=NO | YES | CHAR | BINARY\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NO\",\"description\":\"Specifies that the observations in a newly created SAS data set are uncompressed (fixed-length records).\",\"type\":\"standalone\"},{\"name\":\"YES\",\"aliases\":[\"ON\"],\"description\":\"Specifies that the observations in a newly created SAS data set are compressed (variable-length records) by SAS using RLE (Run Length Encoding). RLE compresses observations by reducing repeated consecutive characters (including blanks) to two-byte or three-byte representations.\",\"type\":\"standalone\"},{\"name\":\"CHAR\",\"description\":\"Specifies that the observations in a newly created SAS data set are compressed (variable-length records) by SAS using RLE (Run Length Encoding). RLE compresses observations by reducing repeated consecutive characters (including blanks) to two-byte or three-byte representations. COMPRESS=CHAR is accepted by Version 7 and later versions.\",\"type\":\"standalone\"},{\"name\":\"BINARY\",\"description\":\"Specifies that the observations in a newly created SAS data set are compressed (variable-length records) by SAS using RDC (Ross Data Compression). RDC combines run-length encoding and sliding-window compression to compress the file.\",\"type\":\"standalone\"}]},{\"name\":\"DBKEY=\",\"optional\":true,\"description\":\"Syntax Description: column used by SAS to build an internal WHERE clause to search for matches in the DBMS table based on the key column. For example:\",\"type\":\"value\"},{\"name\":\"DBNULL=\",\"optional\":true,\"description\":\"Syntax Description: _ALL_ specifies that the YES or NO applies to all columns in the table. (This is valid in the interfaces to Informix, Oracle, Sybase, and Teradata only.) YES specifies that the NULL value is valid for the specified columns in the DBMS table. NO specifies that the NULL value is not valid for the specified columns in the DBMS table. column specifies the name of a column. Details: This option is valid only for creating DBMS tables. If you specify more than one column name, the names must be separated with spaces.\",\"help\":\"DBNULL=_ALL_\",\"type\":\"choice\",\"arguments\":[{\"name\":\"_ALL_\",\"type\":\"standalone\"}]},{\"name\":\"DROP=\",\"optional\":true,\"description\":\"Arguments: column-list specifies the names of the columns to omit from the output table. Restriction: Numbered range lists in the format col1-col5 and name prefix lists in the format col: are not supported. Details: The DROP= table option specifies that all columns in the column-list should not be included in the creation of output rows. Normally, all columns in the program data vector are included in the output rows. If the drop attribute is specified, all columns not included in the drop statement will be used to create columns in the output rows.\",\"type\":\"value\"},{\"name\":\"ENCRYPT=\",\"optional\":true,\"description\":\"Syntax Description: YES encrypts the file. The encryption method uses passwords. At a minimum, you must specify the READ= or the PW= table option at the same time that you specify ENCRYPT=YES. Because the encryption method uses passwords, you cannot change any password on an encrypted data set without re-creating the data set. NO does not encrypt the file.\",\"help\":\"ENCRYPT=YES | NO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YES\",\"description\":\"Encrypts the file. The encryption method uses passwords. At a minimum, you must specify the READ= or the PW= table option at the same time that you specify ENCRYPT=YES. Because the encryption method uses passwords, you cannot change any password on an encrypted data set without re-creating the data set.\",\"type\":\"standalone\"},{\"name\":\"NO\",\"description\":\"Does not encrypt the file.\",\"type\":\"standalone\"}]},{\"name\":\"HASH\",\"optional\":true,\"description\":\"; Creates an instance of a hash package. instance specifies a name that identifies an instance of the package. hashexp is the hash package's internal table size, where the size of the hash table is 2^n. The value of hashexp is used as a power-of-two exponent to create the hash table size. 'datasource' is the name of a table or TSSQL query to load into the hash package. The name of the table can be a literal or a character variable. The table name must be enclosed in single quotation marks. 'ordered' specifies whether or how the data is returned in key-value order if you use the hash package with a hash iterator package or if you use the hash package OUTPUT method. ordered can be one of the following values: 'ascending' | 'a' Data is returned in ascending key-value order. Specifying `ascending' is the same as specifying `yes'. 'descending' | 'd' Data is returned in descending key-value order. 'YES' Data is returned in ascending key-value order. Specifying `yes' is the same as specifying `ascending'. 'NO' Data is returned in an undefined order.\",\"type\":\"standalone\"},{\"name\":\"ITER\",\"optional\":true,\"description\":\"Creates an instance of a hash iterator package.\",\"type\":\"standalone\"},{\"name\":\"KEEP=\",\"optional\":true,\"description\":\"Arguments: column-list specifies the names of the columns to keep in the output table. Restriction: Numbered range lists in the format col1-col5 and name prefix lists in the format col: are not supported. Details: The KEEP= table option specifies that all columns in the column-list should be included in the creation of output rows. Normally, all columns in the program data vector are included in the output rows. If the keep attribute is specified, all columns not included in the KEEP statement will be dropped from the output rows.\",\"type\":\"value\"},{\"name\":\"LABEL=\",\"optional\":true,\"description\":\"Syntax Description:\",\"help\":\"LABEL='*label*'\",\"type\":\"value\"},{\"name\":\"LOCKTABLE=\",\"optional\":true,\"description\":\"Syntax Description: SHARE locks a table in shared mode, allowing other users or processes to read data from the tables, but preventing users from updating data. EXCLUSIVE locks a table exclusively, preventing other users from accessing any table that you open. Details: You can lock tables only if you are the owner or have been granted the necessary privilege.\",\"help\":\"LOCKTABLE=SHARE | EXCLUSIVE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"SHARE\",\"description\":\"Locks a table in shared mode, allowing other users or processes to read data from the tables, but preventing users from updating data.\",\"type\":\"standalone\"},{\"name\":\"EXCLUSIVE\",\"description\":\"Locks a table exclusively, preventing other users from accessing any table that you open.\",\"type\":\"standalone\"}]},{\"name\":\"OVERWRITE=\",\"optional\":true,\"description\":\"Arguments: YES | NO specifies whether the output table is deleted before a replacement output table is created or whether a package or thread is dropped. Default: NO\",\"help\":\"OVERWRITE=YES | NO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YES\",\"description\":\"Specifies that the output table is deleted before a replacement output table is created or a package or thread is dropped.\",\"type\":\"standalone\"},{\"name\":\"NO\",\"description\":\"Specifies that the output table is not deleted before a replacement output table is created or a package or thread is dropped.\",\"type\":\"standalone\"}]},{\"name\":\"PW=\",\"optional\":true,\"description\":\"Syntax Description: password must be a valid SAS name. Details: The PW= option applies to all types of SAS files. You can use this option to assign a password to a SAS file or to access a password-protected SAS file. When replacing a SAS data set that is protected by an ALTER password, the new data set inherits the ALTER password. When the code is written to the SAS log the password is blotted out, for example: drop thread job2 (pw=xxxxxxx);\",\"help\":\"PW=*password*\",\"type\":\"value\"},{\"name\":\"READ=\",\"optional\":true,\"description\":\"Syntax Description: read-password must be a valid SAS name. Details: The READ= option applies to all types of SAS files except catalogs. You can use this option to assign a password to a SAS file or to access a read-protected SAS file. When the code is written to the SAS log, the password is blotted out, for example: declare package sales (read=XXXXXXX);\",\"help\":\"READ=*read-password*\",\"type\":\"value\"},{\"name\":\"RENAME=\",\"optional\":true,\"description\":\"Arguments: old-name the column you want to rename. new-name the new name of the column. It must be a valid name for the data source. Details: The RENAME= table option allows you to change the names of one or more columns. If you use RENAME= when you create a table, the new column name is included in the output table. If you use RENAME= on an input table, the new name is used in DS2 programming statements. If you use RENAME= in the same DS2 program with either the DROP= or the KEEP= table option, the DROP= and the KEEP= table options are applied before RENAME=. You must use the old name in the DROP= and KEEP= table options. You cannot drop and rename the same column in the same statement.\",\"help\":\"RENAME=AS\",\"type\":\"choice\",\"arguments\":[{\"name\":\"AS\",\"type\":\"standalone\"}]},{\"name\":\"TYPE=\",\"optional\":true,\"description\":\"Syntax Description: data-set-type specifies the special type of the data set. Details: Use the TYPE= table option to create a special SAS data set in the proper format, or to identify the special type of the SAS data set in a procedure statement.\",\"help\":\"TYPE=*data-set-type*\",\"type\":\"dataSet\"},{\"name\":\"WRITE=\",\"optional\":true,\"description\":\"Syntax Description: write-password must be a valid SAS name. Details: The WRITE= option applies to all types of SAS files except catalogs. You can use this option to assign a password to a SAS file or to access a write-protected SAS file. When the code is written to the SAS log, the password is blotted out, for example: drop thread job2a (write=XXXXXXX);\",\"help\":\"WRITE=*write-password*\",\"type\":\"value\"}]},{\"name\":\"DECLARE PACKAGE HASH\",\"description\":\"Creates an instance of a hash package. instance specifies a name that identifies an instance of the package. hashexp is the hash package's internal table size, where the size of the hash table is 2^n. The value of hashexp is used as a power-of-two exponent to create the hash table size. 'datasource' is the name of a table or TSSQL query to load into the hash package. The name of the table can be a literal or a character variable. The table name must be enclosed in single quotation marks. 'ordered' specifies whether or how the data is returned in key-value order if you use the hash package with a hash iterator package or if you use the hash package OUTPUT method. ordered can be one of the following values: 'ascending' | 'a' Data is returned in ascending key-value order. Specifying `ascending' is the same as specifying `yes'. 'descending' | 'd' Data is returned in descending key-value order. 'YES' Data is returned in ascending key-value order. Specifying `yes' is the same as specifying `ascending'. 'NO' Data is returned in an undefined order. 'duplicate' determines whether to ignore duplicate keys when loading a table into the hash object. The default is to store the first key and ignore all subsequent duplicates. duplicate can be one of the following values: 'replace' stores the last duplicate key record. 'error' reports an error to the log if a duplicate key is found. 'add' stores the first key record found and not any of the duplicates.\",\"help\":\"DECLARE PACKAGE HASH instance [ ( hashexp, 'datasource', 'ordered', 'duplicate' ) ]\"},{\"name\":\"DECLARE PACKAGE HITER\",\"description\":\"Creates an instance of a hash iterator package. instance specifies a name that identifies an instance of the package. 'hashname' specifies the name of the hash package with which the hash iterator is associated.\",\"help\":\"DECLARE PACKAGE HITER instance [ ( 'hashname')]\"},{\"name\":\"DECLARE THREAD\",\"description\":\"Creates an instance of a thread. thread specifies the thread name. thread can be one of these forms: catalog.schema.thread schema.thread catalog.thread thread catalog is an implementation of the ANSI SQL standard for an SQL catalog, which is a data container object that groups logically related schemas. The catalog is the first-level (top) grouping mechanism in a data organization hierarchy that is used along with a schema to provide a means of qualifying names. A catalog is a metadata object in a SAS Metadata Repository. schema is an implementation of the ANSI SQL standard for an SQL schema, which is a data container object that groups files such as tables and views and other objects supported by a data source such as stored procedures. The schema provides a grouping object that is used along with a catalog to provide a means of qualifying names. thread is the name of the thread. Requirement: The thread name must match the name of a thread created in a THREAD statement, or an error will occur. Requirement: Thread naming conventions are based on the data source. table-options specifies optional arguments that the DS2 program applies when it creates a thread. instance specifies a name that identifies an instance of the thread. argument specifies arguments used with instance-name.\",\"help\":\"DECLARE THREAD &lt;ALTER=alter-password&gt;&lt;BUFNO=&lt;n | nK | hexX&gt;... &gt;&lt;BUFSIZE=&lt;n | nK | nM&gt;... &gt; ...\",\"arguments\":[{\"name\":\"ALTER=\",\"optional\":true,\"description\":\"Syntax Description: alter-password must be a valid SAS name. Details: The ALTER= option applies only to a SAS data set. You can use this option to assign a password or to access a read-protected, write-protected, or alter-protected file. When you replace a data set that is protected with an ALTER password, the new data set inherits the ALTER password. The password is blotted out when the code is written in the SAS log. For example: set a(alter=XXXXXXX);\",\"help\":\"ALTER=*alter-password*\",\"type\":\"value\"},{\"name\":\"AS\",\"optional\":true,\"description\":\"Separates the new-name from the old-name.\",\"type\":\"standalone\"},{\"name\":\"BUFNO=\",\"optional\":true,\"description\":\"Syntax Description: n | nK specifies the number of buffers in multiples of 1 (bytes); 1,024 (kilobytes). For example, a value of 8 specifies 8 buffers, and a value of 1k specifies 1024 buffers. hex specifies the number of buffers as a hexadecimal value. You must specify the value beginning with a number (0-9), followed by an X. For example, the value 2dx sets the number of buffers to 45 buffers. MIN sets the minimum number of buffers to 0, which causes SAS to use the minimum optimal value for the operating environment. This is the default.\",\"help\":\"BUFNO=n | nK | hexX | MIN | MAX\",\"type\":\"choice\",\"arguments\":[{\"name\":\"n\",\"description\":\"Specifies the number of buffers in multiples of 1 (bytes). Replace n with an integer value.\",\"type\":\"standalone\"},{\"name\":\"nK\",\"description\":\"Specifies the number of buffers in multiples of 1,024 (kilobytes). Replace n with an integer value.\",\"type\":\"standalone\"},{\"name\":\"hexX\",\"description\":\"Specifies the number of buffers as a hexadecimal value. Replace hex with an actual hexadecimal value.\",\"type\":\"standalone\"},{\"name\":\"MIN\",\"description\":\"Sets the minimum number of buffers to 0, which causes SAS to use the minimum optimal value for the operating environment. This is the default.\",\"type\":\"standalone\"},{\"name\":\"MAX\",\"description\":\"Sets the number of buffers to the maximum possible number in your operating environment, up to the largest four-byte, signed integer, which is 2³¹-1, or approximately 2 billion.\",\"type\":\"standalone\"}]},{\"name\":\"BUFSIZE=\",\"optional\":true,\"description\":\"Syntax Description: n | nK | nM | nG specifies the page size in multiples of 1 (bytes); 1,024 (kilobytes); 1,048,576 (megabytes); or 1,073,741,824 (gigabytes). For example, a value of 8 specifies a page size of 8 bytes, and a value of 4k specifies a page size of 4096 bytes. hexX specifies the page size as a hexadecimal value. You must specify the value beginning with a number (0-9), followed by an X. For example, the value 2dx sets the page size to 45 bytes.\",\"help\":\"BUFSIZE=n | nK | nM | nG | hexX | MAX\",\"type\":\"choice\",\"arguments\":[{\"name\":\"n\",\"description\":\"Specifies the page size in multiples of 1 (bytes). Replace n with an integer value.\",\"type\":\"standalone\"},{\"name\":\"nK\",\"description\":\"Specifies the page size in multiples of 1,024 (kilobytes). Replace n with an integer value.\",\"type\":\"standalone\"},{\"name\":\"nM\",\"description\":\"Specifies the page size in multiples of 1,048,576 (megabytes). Replace n with an integer value.\",\"type\":\"standalone\"},{\"name\":\"nG\",\"description\":\"Specifies the page size in multiples of 1,073,741,824 (gigabytes). Replace n with an integer value.\",\"type\":\"standalone\"},{\"name\":\"hexX\",\"description\":\"Specifies the page size as a hexadecimal value. Replace hex with an actual hexadecimal value.\",\"type\":\"standalone\"},{\"name\":\"MAX\",\"description\":\"Sets the page size to the maximum possible number in your operating environment, up to the largest four-byte, signed integer, which is 2³¹-1, or approximately 2 billion bytes.\",\"type\":\"standalone\"}]},{\"name\":\"BULKLOAD=\",\"optional\":true,\"description\":\"Syntax Description: YES calls a DBMS-specific bulk load facility in order to insert or append rows to a DBMS table.\",\"help\":\"BULKLOAD=YES | NO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YES\",\"description\":\"Calls a DBMS-specific bulk load facility in order to insert or append rows to a DBMS table.\",\"type\":\"standalone\"},{\"name\":\"NO\",\"description\":\"Uses the dynamic SAS/ACCESS engine to insert or append data to a DBMS table.\",\"type\":\"standalone\"}]},{\"name\":\"COMPRESS=\",\"optional\":true,\"description\":\"Syntax Description: NO specifies that the observations in a newly created SAS data set are uncompressed (fixed-length records). YES | CHAR specifies that the observations in a newly created SAS data set are compressed (variable-length records) by SAS using RLE (Run Length Encoding). RLE compresses observations by reducing repeated consecutive characters (including blanks) to two-byte or three-byte representations. Alias: ON Tip: Use this compression algorithm for character data. Note: COMPRESS=CHAR is accepted by Version 7 and later versions. BINARY specifies that the observations in a newly created SAS data set are compressed (variable-length records) by SAS using RDC (Ross Data Compression). RDC combines run-length encoding and sliding-window compression to compress the file.\",\"help\":\"COMPRESS=NO | YES | CHAR | BINARY\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NO\",\"description\":\"Specifies that the observations in a newly created SAS data set are uncompressed (fixed-length records).\",\"type\":\"standalone\"},{\"name\":\"YES\",\"aliases\":[\"ON\"],\"description\":\"Specifies that the observations in a newly created SAS data set are compressed (variable-length records) by SAS using RLE (Run Length Encoding). RLE compresses observations by reducing repeated consecutive characters (including blanks) to two-byte or three-byte representations.\",\"type\":\"standalone\"},{\"name\":\"CHAR\",\"description\":\"Specifies that the observations in a newly created SAS data set are compressed (variable-length records) by SAS using RLE (Run Length Encoding). RLE compresses observations by reducing repeated consecutive characters (including blanks) to two-byte or three-byte representations. COMPRESS=CHAR is accepted by Version 7 and later versions.\",\"type\":\"standalone\"},{\"name\":\"BINARY\",\"description\":\"Specifies that the observations in a newly created SAS data set are compressed (variable-length records) by SAS using RDC (Ross Data Compression). RDC combines run-length encoding and sliding-window compression to compress the file.\",\"type\":\"standalone\"}]},{\"name\":\"DBKEY=\",\"optional\":true,\"description\":\"Syntax Description: column used by SAS to build an internal WHERE clause to search for matches in the DBMS table based on the key column. For example:\",\"type\":\"value\"},{\"name\":\"DBNULL=\",\"optional\":true,\"description\":\"Syntax Description: _ALL_ specifies that the YES or NO applies to all columns in the table. (This is valid in the interfaces to Informix, Oracle, Sybase, and Teradata only.) YES specifies that the NULL value is valid for the specified columns in the DBMS table. NO specifies that the NULL value is not valid for the specified columns in the DBMS table. column specifies the name of a column. Details: This option is valid only for creating DBMS tables. If you specify more than one column name, the names must be separated with spaces.\",\"help\":\"DBNULL=_ALL_\",\"type\":\"choice\",\"arguments\":[{\"name\":\"_ALL_\",\"type\":\"standalone\"}]},{\"name\":\"DROP=\",\"optional\":true,\"description\":\"Arguments: column-list specifies the names of the columns to omit from the output table. Restriction: Numbered range lists in the format col1-col5 and name prefix lists in the format col: are not supported. Details: The DROP= table option specifies that all columns in the column-list should not be included in the creation of output rows. Normally, all columns in the program data vector are included in the output rows. If the drop attribute is specified, all columns not included in the drop statement will be used to create columns in the output rows.\",\"type\":\"value\"},{\"name\":\"ENCRYPT=\",\"optional\":true,\"description\":\"Syntax Description: YES encrypts the file. The encryption method uses passwords. At a minimum, you must specify the READ= or the PW= table option at the same time that you specify ENCRYPT=YES. Because the encryption method uses passwords, you cannot change any password on an encrypted data set without re-creating the data set. NO does not encrypt the file.\",\"help\":\"ENCRYPT=YES | NO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YES\",\"description\":\"Encrypts the file. The encryption method uses passwords. At a minimum, you must specify the READ= or the PW= table option at the same time that you specify ENCRYPT=YES. Because the encryption method uses passwords, you cannot change any password on an encrypted data set without re-creating the data set.\",\"type\":\"standalone\"},{\"name\":\"NO\",\"description\":\"Does not encrypt the file.\",\"type\":\"standalone\"}]},{\"name\":\"KEEP=\",\"optional\":true,\"description\":\"Arguments: column-list specifies the names of the columns to keep in the output table. Restriction: Numbered range lists in the format col1-col5 and name prefix lists in the format col: are not supported. Details: The KEEP= table option specifies that all columns in the column-list should be included in the creation of output rows. Normally, all columns in the program data vector are included in the output rows. If the keep attribute is specified, all columns not included in the KEEP statement will be dropped from the output rows.\",\"type\":\"value\"},{\"name\":\"LABEL=\",\"optional\":true,\"description\":\"Syntax Description:\",\"help\":\"LABEL='*label*'\",\"type\":\"value\"},{\"name\":\"LOCKTABLE=\",\"optional\":true,\"description\":\"Syntax Description: SHARE locks a table in shared mode, allowing other users or processes to read data from the tables, but preventing users from updating data. EXCLUSIVE locks a table exclusively, preventing other users from accessing any table that you open. Details: You can lock tables only if you are the owner or have been granted the necessary privilege.\",\"help\":\"LOCKTABLE=SHARE | EXCLUSIVE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"SHARE\",\"description\":\"Locks a table in shared mode, allowing other users or processes to read data from the tables, but preventing users from updating data.\",\"type\":\"standalone\"},{\"name\":\"EXCLUSIVE\",\"description\":\"Locks a table exclusively, preventing other users from accessing any table that you open.\",\"type\":\"standalone\"}]},{\"name\":\"OVERWRITE=\",\"optional\":true,\"description\":\"Arguments: YES | NO specifies whether the output table is deleted before a replacement output table is created or whether a package or thread is dropped. Default: NO\",\"help\":\"OVERWRITE=YES | NO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YES\",\"description\":\"Specifies that the output table is deleted before a replacement output table is created or a package or thread is dropped.\",\"type\":\"standalone\"},{\"name\":\"NO\",\"description\":\"Specifies that the output table is not deleted before a replacement output table is created or a package or thread is dropped.\",\"type\":\"standalone\"}]},{\"name\":\"PW=\",\"optional\":true,\"description\":\"Syntax Description: password must be a valid SAS name. Details: The PW= option applies to all types of SAS files. You can use this option to assign a password to a SAS file or to access a password-protected SAS file. When replacing a SAS data set that is protected by an ALTER password, the new data set inherits the ALTER password. When the code is written to the SAS log the password is blotted out, for example: drop thread job2 (pw=xxxxxxx);\",\"help\":\"PW=*password*\",\"type\":\"value\"},{\"name\":\"READ=\",\"optional\":true,\"description\":\"Syntax Description: read-password must be a valid SAS name. Details: The READ= option applies to all types of SAS files except catalogs. You can use this option to assign a password to a SAS file or to access a read-protected SAS file. When the code is written to the SAS log, the password is blotted out, for example: declare package sales (read=XXXXXXX);\",\"help\":\"READ=*read-password*\",\"type\":\"value\"},{\"name\":\"RENAME=\",\"optional\":true,\"description\":\"Arguments: old-name the column you want to rename. new-name the new name of the column. It must be a valid name for the data source. Details: The RENAME= table option allows you to change the names of one or more columns. If you use RENAME= when you create a table, the new column name is included in the output table. If you use RENAME= on an input table, the new name is used in DS2 programming statements. If you use RENAME= in the same DS2 program with either the DROP= or the KEEP= table option, the DROP= and the KEEP= table options are applied before RENAME=. You must use the old name in the DROP= and KEEP= table options. You cannot drop and rename the same column in the same statement.\",\"help\":\"RENAME=AS\",\"type\":\"choice\",\"arguments\":[{\"name\":\"AS\",\"type\":\"standalone\"}]},{\"name\":\"TYPE=\",\"optional\":true,\"description\":\"Syntax Description: data-set-type specifies the special type of the data set. Details: Use the TYPE= table option to create a special SAS data set in the proper format, or to identify the special type of the SAS data set in a procedure statement.\",\"help\":\"TYPE=*data-set-type*\",\"type\":\"dataSet\"},{\"name\":\"WRITE=\",\"optional\":true,\"description\":\"Syntax Description: write-password must be a valid SAS name. Details: The WRITE= option applies to all types of SAS files except catalogs. You can use this option to assign a password to a SAS file or to access a write-protected SAS file. When the code is written to the SAS log, the password is blotted out, for example: drop thread job2a (write=XXXXXXX);\",\"help\":\"WRITE=*write-password*\",\"type\":\"value\"}]},{\"name\":\"DECLARE\",\"aliases\":[\"DCL\"],\"description\":\"Declares one or more DS2 variables or arrays.\",\"help\":\"DECLARE &lt;BIGINT&gt;&lt;IDENTITY&gt;&lt;INTEGER&gt; ...\",\"arguments\":[{\"name\":\"HASH\",\"description\":\"Specifies the name of the package as HASH to register the hash package for use in a DS2 program.\",\"type\":\"standalone\"},{\"name\":\"HITER\",\"description\":\"Specifies the name of the package as HITER to register the hash iterator package for use in a DS2 program.\",\"type\":\"standalone\"},{\"name\":\"BIGINT\",\"optional\":true,\"description\":\"Specifies an integer variable.\",\"type\":\"standalone\"},{\"name\":\"CHAR\",\"optional\":true,\"description\":\"Specifies a character variable.\",\"type\":\"standalone\"},{\"name\":\"CHARACTER\",\"optional\":true,\"description\":\"Specifies character set encoding information for CHAR and VARCHAR data types.\",\"help\":\"CHARACTER SET\",\"type\":\"standalone\"},{\"name\":\"DATE\",\"optional\":true,\"description\":\"Specifies a date variable.\",\"type\":\"standalone\"},{\"name\":\"DOUBLE PRECISION\",\"optional\":true,\"aliases\":[\"DOUBLE\"],\"description\":\"Specifies a floating-point variable.\",\"type\":\"standalone\"},{\"name\":\"FLOAT\",\"optional\":true,\"description\":\"Specifies a floating-point variable.\",\"type\":\"standalone\"},{\"name\":\"FORMAT\",\"optional\":true,\"description\":\"Associates any valid DS2 format with the variable.\",\"type\":\"standalone\"},{\"name\":\"HAVING\",\"optional\":true,\"description\":\"The HAVING clause functions the same as the FORMAT, INFORMAT, and LABEL statements in Base SAS. However, in DS2, the attributes must be specified in the declaration statement of the variable.\",\"type\":\"standalone\"},{\"name\":\"IDENTITY\",\"optional\":true,\"description\":\"Specifies an integer variable.\",\"type\":\"standalone\"},{\"name\":\"INFORMAT\",\"optional\":true,\"description\":\"Associates any valid SAS informat with the variable.\",\"type\":\"standalone\"},{\"name\":\"INTEGER\",\"optional\":true,\"aliases\":[\"INT\"],\"description\":\"Specifies an integer variable.\",\"type\":\"standalone\"},{\"name\":\"LABEL\",\"optional\":true,\"description\":\"Assigns a descriptive label to the variable. The label can be a CHAR literal (string) or NCHAR literal (nstring).\",\"type\":\"standalone\"},{\"name\":\"NCHAR\",\"optional\":true,\"description\":\"Specifies a character variable.\",\"type\":\"standalone\"},{\"name\":\"NVARCHAR\",\"optional\":true,\"description\":\"Specifies a character variable.\",\"type\":\"standalone\"},{\"name\":\"PACKAGE\",\"optional\":true,\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"REAL\",\"optional\":true,\"description\":\"Specifies a floating-point variable.\",\"type\":\"standalone\"},{\"name\":\"SMALLINT\",\"optional\":true,\"description\":\"Specifies an integer variable.\",\"type\":\"standalone\"},{\"name\":\"TIME\",\"optional\":true,\"description\":\"Specifies a time variable. precision specifies the precision for a TIME data type.\",\"type\":\"standalone\"},{\"name\":\"TIMESTAMP\",\"optional\":true,\"description\":\"Specifies both a date and time variable. precision specifies the precision for a TIMESTAMP data type.\",\"type\":\"standalone\"},{\"name\":\"TINYINT\",\"optional\":true,\"description\":\"Specifies an integer variable.\",\"type\":\"standalone\"},{\"name\":\"VARBINARY\",\"optional\":true,\"aliases\":[\"BINARY VARYING\"],\"description\":\"Specifies a varying-length binary variable. Alias: BINARY VARYING\",\"type\":\"standalone\"},{\"name\":\"VARCHAR\",\"optional\":true,\"description\":\"Specifies a character variable.\",\"type\":\"standalone\"}]},{\"name\":\"DO\",\"description\":\"Specifies a group of statements to be executed as a unit.\",\"help\":\"DO &lt;TO&gt;&lt;&gt;&lt;&gt; ...\",\"arguments\":[{\"name\":\"BY\",\"optional\":true,\"description\":\"Precedes an increment integer (other than 0) or an expression that generates an integer to be added to the value of the index variable in each iteration of the DO loop.\",\"type\":\"standalone\"},{\"name\":\"TO\",\"optional\":true,\"description\":\"Separates the start and stop integers or expressions that control the number of times the portion of the step between the iterative DO and END statements is processed.\",\"type\":\"standalone\"},{\"name\":\"UNTIL\",\"optional\":true,\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"WHILE\",\"optional\":true,\"description\":\"\",\"type\":\"standalone\"}]},{\"name\":\"DO UNTIL\",\"description\":\"\",\"help\":\"\"},{\"name\":\"DO WHILE\",\"description\":\"\",\"help\":\"\"},{\"name\":\"DROP\",\"description\":\"Excludes columns from output tables. The DROP statement applies to all the tables that are created within the same DS2 program and can appear anywhere in the program. The columns in the DROP statement are available for processing in the DS2 program. If no DROP or KEEP statement appears, all tables that are created in the DS2 program contain all columns. Do not use both DROP and KEEP statements within the same DS2 program.\",\"help\":\"DROP &lt;DROP PACKAGE package [(table-options)]&gt;&lt;THREAD&gt;\",\"arguments\":[{\"name\":\"PACKAGE\",\"optional\":true,\"description\":\"Arguments: package specifies the name of the package to be removed.\",\"type\":\"standalone\"},{\"name\":\"THREAD\",\"optional\":true,\"description\":\"Arguments: thread specifies the name of the thread to be removed.\",\"type\":\"standalone\"}]},{\"name\":\"DROP PACKAGE\",\"description\":\"Removes a DS2 package. package specifies the name of the package to be removed. table-options specifies optional arguments that the DS2 program applies when it removes a package.\",\"help\":\"DROP PACKAGE &lt;ALTER=alter-password&gt;&lt;BUFNO=&lt;n | nK | hexX&gt;... &gt;&lt;BUFSIZE=&lt;n | nK | nM&gt;... &gt; ...\",\"arguments\":[{\"name\":\"ALTER=\",\"optional\":true,\"description\":\"Syntax Description: alter-password must be a valid SAS name. Details: The ALTER= option applies only to a SAS data set. You can use this option to assign a password or to access a read-protected, write-protected, or alter-protected file. When you replace a data set that is protected with an ALTER password, the new data set inherits the ALTER password. The password is blotted out when the code is written in the SAS log. For example: set a(alter=XXXXXXX);\",\"help\":\"ALTER=*alter-password*\",\"type\":\"value\"},{\"name\":\"AS\",\"optional\":true,\"description\":\"Separates the new-name from the old-name.\",\"type\":\"standalone\"},{\"name\":\"BUFNO=\",\"optional\":true,\"description\":\"Syntax Description: n | nK specifies the number of buffers in multiples of 1 (bytes); 1,024 (kilobytes). For example, a value of 8 specifies 8 buffers, and a value of 1k specifies 1024 buffers. hex specifies the number of buffers as a hexadecimal value. You must specify the value beginning with a number (0-9), followed by an X. For example, the value 2dx sets the number of buffers to 45 buffers. MIN sets the minimum number of buffers to 0, which causes SAS to use the minimum optimal value for the operating environment. This is the default.\",\"help\":\"BUFNO=n | nK | hexX | MIN | MAX\",\"type\":\"choice\",\"arguments\":[{\"name\":\"n\",\"description\":\"Specifies the number of buffers in multiples of 1 (bytes). Replace n with an integer value.\",\"type\":\"standalone\"},{\"name\":\"nK\",\"description\":\"Specifies the number of buffers in multiples of 1,024 (kilobytes). Replace n with an integer value.\",\"type\":\"standalone\"},{\"name\":\"hexX\",\"description\":\"Specifies the number of buffers as a hexadecimal value. Replace hex with an actual hexadecimal value.\",\"type\":\"standalone\"},{\"name\":\"MIN\",\"description\":\"Sets the minimum number of buffers to 0, which causes SAS to use the minimum optimal value for the operating environment. This is the default.\",\"type\":\"standalone\"},{\"name\":\"MAX\",\"description\":\"Sets the number of buffers to the maximum possible number in your operating environment, up to the largest four-byte, signed integer, which is 2³¹-1, or approximately 2 billion.\",\"type\":\"standalone\"}]},{\"name\":\"BUFSIZE=\",\"optional\":true,\"description\":\"Syntax Description: n | nK | nM | nG specifies the page size in multiples of 1 (bytes); 1,024 (kilobytes); 1,048,576 (megabytes); or 1,073,741,824 (gigabytes). For example, a value of 8 specifies a page size of 8 bytes, and a value of 4k specifies a page size of 4096 bytes. hexX specifies the page size as a hexadecimal value. You must specify the value beginning with a number (0-9), followed by an X. For example, the value 2dx sets the page size to 45 bytes.\",\"help\":\"BUFSIZE=n | nK | nM | nG | hexX | MAX\",\"type\":\"choice\",\"arguments\":[{\"name\":\"n\",\"description\":\"Specifies the page size in multiples of 1 (bytes). Replace n with an integer value.\",\"type\":\"standalone\"},{\"name\":\"nK\",\"description\":\"Specifies the page size in multiples of 1,024 (kilobytes). Replace n with an integer value.\",\"type\":\"standalone\"},{\"name\":\"nM\",\"description\":\"Specifies the page size in multiples of 1,048,576 (megabytes). Replace n with an integer value.\",\"type\":\"standalone\"},{\"name\":\"nG\",\"description\":\"Specifies the page size in multiples of 1,073,741,824 (gigabytes). Replace n with an integer value.\",\"type\":\"standalone\"},{\"name\":\"hexX\",\"description\":\"Specifies the page size as a hexadecimal value. Replace hex with an actual hexadecimal value.\",\"type\":\"standalone\"},{\"name\":\"MAX\",\"description\":\"Sets the page size to the maximum possible number in your operating environment, up to the largest four-byte, signed integer, which is 2³¹-1, or approximately 2 billion bytes.\",\"type\":\"standalone\"}]},{\"name\":\"BULKLOAD=\",\"optional\":true,\"description\":\"Syntax Description: YES calls a DBMS-specific bulk load facility in order to insert or append rows to a DBMS table.\",\"help\":\"BULKLOAD=YES | NO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YES\",\"description\":\"Calls a DBMS-specific bulk load facility in order to insert or append rows to a DBMS table.\",\"type\":\"standalone\"},{\"name\":\"NO\",\"description\":\"Uses the dynamic SAS/ACCESS engine to insert or append data to a DBMS table.\",\"type\":\"standalone\"}]},{\"name\":\"COMPRESS=\",\"optional\":true,\"description\":\"Syntax Description: NO specifies that the observations in a newly created SAS data set are uncompressed (fixed-length records). YES | CHAR specifies that the observations in a newly created SAS data set are compressed (variable-length records) by SAS using RLE (Run Length Encoding). RLE compresses observations by reducing repeated consecutive characters (including blanks) to two-byte or three-byte representations. Alias: ON Tip: Use this compression algorithm for character data. Note: COMPRESS=CHAR is accepted by Version 7 and later versions. BINARY specifies that the observations in a newly created SAS data set are compressed (variable-length records) by SAS using RDC (Ross Data Compression). RDC combines run-length encoding and sliding-window compression to compress the file.\",\"help\":\"COMPRESS=NO | YES | CHAR | BINARY\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NO\",\"description\":\"Specifies that the observations in a newly created SAS data set are uncompressed (fixed-length records).\",\"type\":\"standalone\"},{\"name\":\"YES\",\"aliases\":[\"ON\"],\"description\":\"Specifies that the observations in a newly created SAS data set are compressed (variable-length records) by SAS using RLE (Run Length Encoding). RLE compresses observations by reducing repeated consecutive characters (including blanks) to two-byte or three-byte representations.\",\"type\":\"standalone\"},{\"name\":\"CHAR\",\"description\":\"Specifies that the observations in a newly created SAS data set are compressed (variable-length records) by SAS using RLE (Run Length Encoding). RLE compresses observations by reducing repeated consecutive characters (including blanks) to two-byte or three-byte representations. COMPRESS=CHAR is accepted by Version 7 and later versions.\",\"type\":\"standalone\"},{\"name\":\"BINARY\",\"description\":\"Specifies that the observations in a newly created SAS data set are compressed (variable-length records) by SAS using RDC (Ross Data Compression). RDC combines run-length encoding and sliding-window compression to compress the file.\",\"type\":\"standalone\"}]},{\"name\":\"DBKEY=\",\"optional\":true,\"description\":\"Syntax Description: column used by SAS to build an internal WHERE clause to search for matches in the DBMS table based on the key column. For example:\",\"type\":\"value\"},{\"name\":\"DBNULL=\",\"optional\":true,\"description\":\"Syntax Description: _ALL_ specifies that the YES or NO applies to all columns in the table. (This is valid in the interfaces to Informix, Oracle, Sybase, and Teradata only.) YES specifies that the NULL value is valid for the specified columns in the DBMS table. NO specifies that the NULL value is not valid for the specified columns in the DBMS table. column specifies the name of a column. Details: This option is valid only for creating DBMS tables. If you specify more than one column name, the names must be separated with spaces.\",\"help\":\"DBNULL=_ALL_\",\"type\":\"choice\",\"arguments\":[{\"name\":\"_ALL_\",\"type\":\"standalone\"}]},{\"name\":\"DROP=\",\"optional\":true,\"description\":\"Arguments: column-list specifies the names of the columns to omit from the output table. Restriction: Numbered range lists in the format col1-col5 and name prefix lists in the format col: are not supported. Details: The DROP= table option specifies that all columns in the column-list should not be included in the creation of output rows. Normally, all columns in the program data vector are included in the output rows. If the drop attribute is specified, all columns not included in the drop statement will be used to create columns in the output rows.\",\"type\":\"value\"},{\"name\":\"ENCRYPT=\",\"optional\":true,\"description\":\"Syntax Description: YES encrypts the file. The encryption method uses passwords. At a minimum, you must specify the READ= or the PW= table option at the same time that you specify ENCRYPT=YES. Because the encryption method uses passwords, you cannot change any password on an encrypted data set without re-creating the data set. NO does not encrypt the file.\",\"help\":\"ENCRYPT=YES | NO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YES\",\"description\":\"Encrypts the file. The encryption method uses passwords. At a minimum, you must specify the READ= or the PW= table option at the same time that you specify ENCRYPT=YES. Because the encryption method uses passwords, you cannot change any password on an encrypted data set without re-creating the data set.\",\"type\":\"standalone\"},{\"name\":\"NO\",\"description\":\"Does not encrypt the file.\",\"type\":\"standalone\"}]},{\"name\":\"KEEP=\",\"optional\":true,\"description\":\"Arguments: column-list specifies the names of the columns to keep in the output table. Restriction: Numbered range lists in the format col1-col5 and name prefix lists in the format col: are not supported. Details: The KEEP= table option specifies that all columns in the column-list should be included in the creation of output rows. Normally, all columns in the program data vector are included in the output rows. If the keep attribute is specified, all columns not included in the KEEP statement will be dropped from the output rows.\",\"type\":\"value\"},{\"name\":\"LABEL=\",\"optional\":true,\"description\":\"Syntax Description:\",\"help\":\"LABEL='*label*'\",\"type\":\"value\"},{\"name\":\"LOCKTABLE=\",\"optional\":true,\"description\":\"Syntax Description: SHARE locks a table in shared mode, allowing other users or processes to read data from the tables, but preventing users from updating data. EXCLUSIVE locks a table exclusively, preventing other users from accessing any table that you open. Details: You can lock tables only if you are the owner or have been granted the necessary privilege.\",\"help\":\"LOCKTABLE=SHARE | EXCLUSIVE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"SHARE\",\"description\":\"Locks a table in shared mode, allowing other users or processes to read data from the tables, but preventing users from updating data.\",\"type\":\"standalone\"},{\"name\":\"EXCLUSIVE\",\"description\":\"Locks a table exclusively, preventing other users from accessing any table that you open.\",\"type\":\"standalone\"}]},{\"name\":\"OVERWRITE=\",\"optional\":true,\"description\":\"Arguments: YES | NO specifies whether the output table is deleted before a replacement output table is created or whether a package or thread is dropped. Default: NO\",\"help\":\"OVERWRITE=YES | NO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YES\",\"description\":\"Specifies that the output table is deleted before a replacement output table is created or a package or thread is dropped.\",\"type\":\"standalone\"},{\"name\":\"NO\",\"description\":\"Specifies that the output table is not deleted before a replacement output table is created or a package or thread is dropped.\",\"type\":\"standalone\"}]},{\"name\":\"PW=\",\"optional\":true,\"description\":\"Syntax Description: password must be a valid SAS name. Details: The PW= option applies to all types of SAS files. You can use this option to assign a password to a SAS file or to access a password-protected SAS file. When replacing a SAS data set that is protected by an ALTER password, the new data set inherits the ALTER password. When the code is written to the SAS log the password is blotted out, for example: drop thread job2 (pw=xxxxxxx);\",\"help\":\"PW=*password*\",\"type\":\"value\"},{\"name\":\"READ=\",\"optional\":true,\"description\":\"Syntax Description: read-password must be a valid SAS name. Details: The READ= option applies to all types of SAS files except catalogs. You can use this option to assign a password to a SAS file or to access a read-protected SAS file. When the code is written to the SAS log, the password is blotted out, for example: declare package sales (read=XXXXXXX);\",\"help\":\"READ=*read-password*\",\"type\":\"value\"},{\"name\":\"RENAME=\",\"optional\":true,\"description\":\"Arguments: old-name the column you want to rename. new-name the new name of the column. It must be a valid name for the data source. Details: The RENAME= table option allows you to change the names of one or more columns. If you use RENAME= when you create a table, the new column name is included in the output table. If you use RENAME= on an input table, the new name is used in DS2 programming statements. If you use RENAME= in the same DS2 program with either the DROP= or the KEEP= table option, the DROP= and the KEEP= table options are applied before RENAME=. You must use the old name in the DROP= and KEEP= table options. You cannot drop and rename the same column in the same statement.\",\"help\":\"RENAME=AS\",\"type\":\"choice\",\"arguments\":[{\"name\":\"AS\",\"type\":\"standalone\"}]},{\"name\":\"TYPE=\",\"optional\":true,\"description\":\"Syntax Description: data-set-type specifies the special type of the data set. Details: Use the TYPE= table option to create a special SAS data set in the proper format, or to identify the special type of the SAS data set in a procedure statement.\",\"help\":\"TYPE=*data-set-type*\",\"type\":\"dataSet\"},{\"name\":\"WRITE=\",\"optional\":true,\"description\":\"Syntax Description: write-password must be a valid SAS name. Details: The WRITE= option applies to all types of SAS files except catalogs. You can use this option to assign a password to a SAS file or to access a write-protected SAS file. When the code is written to the SAS log, the password is blotted out, for example: drop thread job2a (write=XXXXXXX);\",\"help\":\"WRITE=*write-password*\",\"type\":\"value\"}]},{\"name\":\"DROP THREAD\",\"description\":\"Removes a DS2 program thread. thread specifies the name of the thread to be removed. table-options specifies optional arguments that the DS2 program applies when it removes a thread.\",\"help\":\"DROP THREAD &lt;ALTER=alter-password&gt;&lt;BUFNO=&lt;n | nK | hexX&gt;... &gt;&lt;BUFSIZE=&lt;n | nK | nM&gt;... &gt; ...\",\"arguments\":[{\"name\":\"ALTER=\",\"optional\":true,\"description\":\"Syntax Description: alter-password must be a valid SAS name. Details: The ALTER= option applies only to a SAS data set. You can use this option to assign a password or to access a read-protected, write-protected, or alter-protected file. When you replace a data set that is protected with an ALTER password, the new data set inherits the ALTER password. The password is blotted out when the code is written in the SAS log. For example: set a(alter=XXXXXXX);\",\"help\":\"ALTER=*alter-password*\",\"type\":\"value\"},{\"name\":\"AS\",\"optional\":true,\"description\":\"Separates the new-name from the old-name.\",\"type\":\"standalone\"},{\"name\":\"BUFNO=\",\"optional\":true,\"description\":\"Syntax Description: n | nK specifies the number of buffers in multiples of 1 (bytes); 1,024 (kilobytes). For example, a value of 8 specifies 8 buffers, and a value of 1k specifies 1024 buffers. hex specifies the number of buffers as a hexadecimal value. You must specify the value beginning with a number (0-9), followed by an X. For example, the value 2dx sets the number of buffers to 45 buffers. MIN sets the minimum number of buffers to 0, which causes SAS to use the minimum optimal value for the operating environment. This is the default.\",\"help\":\"BUFNO=n | nK | hexX | MIN | MAX\",\"type\":\"choice\",\"arguments\":[{\"name\":\"n\",\"description\":\"Specifies the number of buffers in multiples of 1 (bytes). Replace n with an integer value.\",\"type\":\"standalone\"},{\"name\":\"nK\",\"description\":\"Specifies the number of buffers in multiples of 1,024 (kilobytes). Replace n with an integer value.\",\"type\":\"standalone\"},{\"name\":\"hexX\",\"description\":\"Specifies the number of buffers as a hexadecimal value. Replace hex with an actual hexadecimal value.\",\"type\":\"standalone\"},{\"name\":\"MIN\",\"description\":\"Sets the minimum number of buffers to 0, which causes SAS to use the minimum optimal value for the operating environment. This is the default.\",\"type\":\"standalone\"},{\"name\":\"MAX\",\"description\":\"Sets the number of buffers to the maximum possible number in your operating environment, up to the largest four-byte, signed integer, which is 2³¹-1, or approximately 2 billion.\",\"type\":\"standalone\"}]},{\"name\":\"BUFSIZE=\",\"optional\":true,\"description\":\"Syntax Description: n | nK | nM | nG specifies the page size in multiples of 1 (bytes); 1,024 (kilobytes); 1,048,576 (megabytes); or 1,073,741,824 (gigabytes). For example, a value of 8 specifies a page size of 8 bytes, and a value of 4k specifies a page size of 4096 bytes. hexX specifies the page size as a hexadecimal value. You must specify the value beginning with a number (0-9), followed by an X. For example, the value 2dx sets the page size to 45 bytes.\",\"help\":\"BUFSIZE=n | nK | nM | nG | hexX | MAX\",\"type\":\"choice\",\"arguments\":[{\"name\":\"n\",\"description\":\"Specifies the page size in multiples of 1 (bytes). Replace n with an integer value.\",\"type\":\"standalone\"},{\"name\":\"nK\",\"description\":\"Specifies the page size in multiples of 1,024 (kilobytes). Replace n with an integer value.\",\"type\":\"standalone\"},{\"name\":\"nM\",\"description\":\"Specifies the page size in multiples of 1,048,576 (megabytes). Replace n with an integer value.\",\"type\":\"standalone\"},{\"name\":\"nG\",\"description\":\"Specifies the page size in multiples of 1,073,741,824 (gigabytes). Replace n with an integer value.\",\"type\":\"standalone\"},{\"name\":\"hexX\",\"description\":\"Specifies the page size as a hexadecimal value. Replace hex with an actual hexadecimal value.\",\"type\":\"standalone\"},{\"name\":\"MAX\",\"description\":\"Sets the page size to the maximum possible number in your operating environment, up to the largest four-byte, signed integer, which is 2³¹-1, or approximately 2 billion bytes.\",\"type\":\"standalone\"}]},{\"name\":\"BULKLOAD=\",\"optional\":true,\"description\":\"Syntax Description: YES calls a DBMS-specific bulk load facility in order to insert or append rows to a DBMS table.\",\"help\":\"BULKLOAD=YES | NO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YES\",\"description\":\"Calls a DBMS-specific bulk load facility in order to insert or append rows to a DBMS table.\",\"type\":\"standalone\"},{\"name\":\"NO\",\"description\":\"Uses the dynamic SAS/ACCESS engine to insert or append data to a DBMS table.\",\"type\":\"standalone\"}]},{\"name\":\"COMPRESS=\",\"optional\":true,\"description\":\"Syntax Description: NO specifies that the observations in a newly created SAS data set are uncompressed (fixed-length records). YES | CHAR specifies that the observations in a newly created SAS data set are compressed (variable-length records) by SAS using RLE (Run Length Encoding). RLE compresses observations by reducing repeated consecutive characters (including blanks) to two-byte or three-byte representations. Alias: ON Tip: Use this compression algorithm for character data. Note: COMPRESS=CHAR is accepted by Version 7 and later versions. BINARY specifies that the observations in a newly created SAS data set are compressed (variable-length records) by SAS using RDC (Ross Data Compression). RDC combines run-length encoding and sliding-window compression to compress the file.\",\"help\":\"COMPRESS=NO | YES | CHAR | BINARY\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NO\",\"description\":\"Specifies that the observations in a newly created SAS data set are uncompressed (fixed-length records).\",\"type\":\"standalone\"},{\"name\":\"YES\",\"aliases\":[\"ON\"],\"description\":\"Specifies that the observations in a newly created SAS data set are compressed (variable-length records) by SAS using RLE (Run Length Encoding). RLE compresses observations by reducing repeated consecutive characters (including blanks) to two-byte or three-byte representations.\",\"type\":\"standalone\"},{\"name\":\"CHAR\",\"description\":\"Specifies that the observations in a newly created SAS data set are compressed (variable-length records) by SAS using RLE (Run Length Encoding). RLE compresses observations by reducing repeated consecutive characters (including blanks) to two-byte or three-byte representations. COMPRESS=CHAR is accepted by Version 7 and later versions.\",\"type\":\"standalone\"},{\"name\":\"BINARY\",\"description\":\"Specifies that the observations in a newly created SAS data set are compressed (variable-length records) by SAS using RDC (Ross Data Compression). RDC combines run-length encoding and sliding-window compression to compress the file.\",\"type\":\"standalone\"}]},{\"name\":\"DBKEY=\",\"optional\":true,\"description\":\"Syntax Description: column used by SAS to build an internal WHERE clause to search for matches in the DBMS table based on the key column. For example:\",\"type\":\"value\"},{\"name\":\"DBNULL=\",\"optional\":true,\"description\":\"Syntax Description: _ALL_ specifies that the YES or NO applies to all columns in the table. (This is valid in the interfaces to Informix, Oracle, Sybase, and Teradata only.) YES specifies that the NULL value is valid for the specified columns in the DBMS table. NO specifies that the NULL value is not valid for the specified columns in the DBMS table. column specifies the name of a column. Details: This option is valid only for creating DBMS tables. If you specify more than one column name, the names must be separated with spaces.\",\"help\":\"DBNULL=_ALL_\",\"type\":\"choice\",\"arguments\":[{\"name\":\"_ALL_\",\"type\":\"standalone\"}]},{\"name\":\"DROP=\",\"optional\":true,\"description\":\"Arguments: column-list specifies the names of the columns to omit from the output table. Restriction: Numbered range lists in the format col1-col5 and name prefix lists in the format col: are not supported. Details: The DROP= table option specifies that all columns in the column-list should not be included in the creation of output rows. Normally, all columns in the program data vector are included in the output rows. If the drop attribute is specified, all columns not included in the drop statement will be used to create columns in the output rows.\",\"type\":\"value\"},{\"name\":\"ENCRYPT=\",\"optional\":true,\"description\":\"Syntax Description: YES encrypts the file. The encryption method uses passwords. At a minimum, you must specify the READ= or the PW= table option at the same time that you specify ENCRYPT=YES. Because the encryption method uses passwords, you cannot change any password on an encrypted data set without re-creating the data set. NO does not encrypt the file.\",\"help\":\"ENCRYPT=YES | NO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YES\",\"description\":\"Encrypts the file. The encryption method uses passwords. At a minimum, you must specify the READ= or the PW= table option at the same time that you specify ENCRYPT=YES. Because the encryption method uses passwords, you cannot change any password on an encrypted data set without re-creating the data set.\",\"type\":\"standalone\"},{\"name\":\"NO\",\"description\":\"Does not encrypt the file.\",\"type\":\"standalone\"}]},{\"name\":\"KEEP=\",\"optional\":true,\"description\":\"Arguments: column-list specifies the names of the columns to keep in the output table. Restriction: Numbered range lists in the format col1-col5 and name prefix lists in the format col: are not supported. Details: The KEEP= table option specifies that all columns in the column-list should be included in the creation of output rows. Normally, all columns in the program data vector are included in the output rows. If the keep attribute is specified, all columns not included in the KEEP statement will be dropped from the output rows.\",\"type\":\"value\"},{\"name\":\"LABEL=\",\"optional\":true,\"description\":\"Syntax Description:\",\"help\":\"LABEL='*label*'\",\"type\":\"value\"},{\"name\":\"LOCKTABLE=\",\"optional\":true,\"description\":\"Syntax Description: SHARE locks a table in shared mode, allowing other users or processes to read data from the tables, but preventing users from updating data. EXCLUSIVE locks a table exclusively, preventing other users from accessing any table that you open. Details: You can lock tables only if you are the owner or have been granted the necessary privilege.\",\"help\":\"LOCKTABLE=SHARE | EXCLUSIVE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"SHARE\",\"description\":\"Locks a table in shared mode, allowing other users or processes to read data from the tables, but preventing users from updating data.\",\"type\":\"standalone\"},{\"name\":\"EXCLUSIVE\",\"description\":\"Locks a table exclusively, preventing other users from accessing any table that you open.\",\"type\":\"standalone\"}]},{\"name\":\"OVERWRITE=\",\"optional\":true,\"description\":\"Arguments: YES | NO specifies whether the output table is deleted before a replacement output table is created or whether a package or thread is dropped. Default: NO\",\"help\":\"OVERWRITE=YES | NO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YES\",\"description\":\"Specifies that the output table is deleted before a replacement output table is created or a package or thread is dropped.\",\"type\":\"standalone\"},{\"name\":\"NO\",\"description\":\"Specifies that the output table is not deleted before a replacement output table is created or a package or thread is dropped.\",\"type\":\"standalone\"}]},{\"name\":\"PW=\",\"optional\":true,\"description\":\"Syntax Description: password must be a valid SAS name. Details: The PW= option applies to all types of SAS files. You can use this option to assign a password to a SAS file or to access a password-protected SAS file. When replacing a SAS data set that is protected by an ALTER password, the new data set inherits the ALTER password. When the code is written to the SAS log the password is blotted out, for example: drop thread job2 (pw=xxxxxxx);\",\"help\":\"PW=*password*\",\"type\":\"value\"},{\"name\":\"READ=\",\"optional\":true,\"description\":\"Syntax Description: read-password must be a valid SAS name. Details: The READ= option applies to all types of SAS files except catalogs. You can use this option to assign a password to a SAS file or to access a read-protected SAS file. When the code is written to the SAS log, the password is blotted out, for example: declare package sales (read=XXXXXXX);\",\"help\":\"READ=*read-password*\",\"type\":\"value\"},{\"name\":\"RENAME=\",\"optional\":true,\"description\":\"Arguments: old-name the column you want to rename. new-name the new name of the column. It must be a valid name for the data source. Details: The RENAME= table option allows you to change the names of one or more columns. If you use RENAME= when you create a table, the new column name is included in the output table. If you use RENAME= on an input table, the new name is used in DS2 programming statements. If you use RENAME= in the same DS2 program with either the DROP= or the KEEP= table option, the DROP= and the KEEP= table options are applied before RENAME=. You must use the old name in the DROP= and KEEP= table options. You cannot drop and rename the same column in the same statement.\",\"help\":\"RENAME=AS\",\"type\":\"choice\",\"arguments\":[{\"name\":\"AS\",\"type\":\"standalone\"}]},{\"name\":\"TYPE=\",\"optional\":true,\"description\":\"Syntax Description: data-set-type specifies the special type of the data set. Details: Use the TYPE= table option to create a special SAS data set in the proper format, or to identify the special type of the SAS data set in a procedure statement.\",\"help\":\"TYPE=*data-set-type*\",\"type\":\"dataSet\"},{\"name\":\"WRITE=\",\"optional\":true,\"description\":\"Syntax Description: write-password must be a valid SAS name. Details: The WRITE= option applies to all types of SAS files except catalogs. You can use this option to assign a password to a SAS file or to access a write-protected SAS file. When the code is written to the SAS log, the password is blotted out, for example: drop thread job2a (write=XXXXXXX);\",\"help\":\"WRITE=*write-password*\",\"type\":\"value\"}]},{\"name\":\"ELSE\",\"description\":\"If the condition in an IF-THEN statement is false and an ELSE statement is present, then the ELSE action is carried out.\",\"help\":\"ELSE &lt;DO [ &lt; index-variable-clause &gt; ] [ &lt; conditional-clause &gt; ] &gt;&lt;ELSE IF expression THEN statement&gt;&lt;THEN&gt; ...\",\"arguments\":[{\"name\":\"BY\",\"optional\":true,\"description\":\"Precedes an increment integer (other than 0) or an expression that generates an integer to be added to the value of the index variable in each iteration of the DO loop.\",\"type\":\"standalone\"},{\"name\":\"CONTINUE\",\"optional\":true,\"description\":\"Stops processing the current DO loop iteration and resumes with the next iteration.\",\"type\":\"standalone\"},{\"name\":\"DO\",\"optional\":true,\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"IF\",\"optional\":true,\"description\":\"Executes a statement for observations that meet specific conditions.\",\"type\":\"standalone\"},{\"name\":\"LEAVE\",\"optional\":true,\"description\":\"Stops processing the current DO loop and transfers execution to either the statement following the current DO statement, or a labeled DO statement that encloses the current DO statement.\",\"type\":\"standalone\"},{\"name\":\"PUT\",\"optional\":true,\"description\":\"<put-list>::= 'character-string' | <eq-expression> [ = ] [ [ : ] format [-L | -C | -R ] ] <eq-expression>::= identifier | array-reference | this-expression Prints values of program variables and constants to the log. Arguments: 'character-string' specifies a string of text, enclosed in quotation marks, that is written to the SAS log. identifier names a variable whose value is written to the SAS log. array-reference specifies an array element. The subscript can be any SAS expression that resolves to an integer value when the PUT statement executes. Use the array subscript asterisk (*) to write all elements of the array. this-expression specifies a THIS expression. = If an equal sign is added after a variable or array element, then the output is preceded by the variable or array element name and an equal sign. : enables you to specify a format that the PUT statement uses to write the variable value. All leading and trailing blanks are deleted, and each value is followed by a single blank. Restriction: You must specify a format.\",\"type\":\"standalone\"},{\"name\":\"THEN\",\"optional\":true,\"description\":\"If the conditions that are specified in the IF clause are met, the IF-THEN statement executes a SAS statement.\",\"type\":\"standalone\"},{\"name\":\"TO\",\"optional\":true,\"description\":\"Separates the start and stop integers or expressions that control the number of times the portion of the step between the iterative DO and END statements is processed.\",\"type\":\"standalone\"}]},{\"name\":\"END\",\"description\":\"Marks the end of a block of code.\",\"help\":\"END\"},{\"name\":\"ENDDATA\",\"aliases\":[\"ENDTABLE\"],\"description\":\"The ENDDATA statement terminates the DS2 code block. The statements between the DATA and ENDDATA statement are submitted to the grid for execution. The DS2 run, init, and term methods are specified between the DATA and ENDDATA statements.\",\"help\":\"ENDDATA \"},{\"name\":\"ENDPACKAGE\",\"description\":\"Marks the end of a PACKAGE statement. Although the ENDPACKAGE statement is not required, it can make the code easier to read.\",\"help\":\"ENDPACKAGE\"},{\"name\":\"ENDTHREAD\",\"description\":\"Marks the end of a THREAD statement. Although the ENDTHREAD statement is not required, it can make the code easier to read.\",\"help\":\"ENDTHREAD\"},{\"name\":\"FORWARD\",\"description\":\"Indicates that the method definition follows the method expression. method specifies the name of the method to be defined.\",\"help\":\"FORWARD method [ ...method ]\"},{\"name\":\"GLOBAL\",\"description\":\"Declares one or more global variables or arrays.\",\"help\":\"GLOBAL &lt;BIGINT&gt;&lt;IDENTITY&gt;&lt;INT&gt; ...\",\"arguments\":[{\"name\":\"BIGINT\",\"optional\":true,\"description\":\"Specifies an integer variable.\",\"type\":\"standalone\"},{\"name\":\"CHAR\",\"optional\":true,\"description\":\"Specifies a character variable.\",\"type\":\"standalone\"},{\"name\":\"CHARACTER\",\"optional\":true,\"description\":\"Specifies character set encoding information for CHAR and VARCHAR data types.\",\"help\":\"CHARACTER SET\",\"type\":\"standalone\"},{\"name\":\"DATE\",\"optional\":true,\"description\":\"Specifies a date variable.\",\"type\":\"standalone\"},{\"name\":\"DOUBLE PRECISION\",\"optional\":true,\"aliases\":[\"DOUBLE\"],\"description\":\"Specifies a floating-point variable.\",\"type\":\"standalone\"},{\"name\":\"FLOAT\",\"optional\":true,\"description\":\"Specifies a floating-point variable.\",\"type\":\"standalone\"},{\"name\":\"FORMAT\",\"optional\":true,\"description\":\"Associates any valid DS2 format with the variable.\",\"type\":\"standalone\"},{\"name\":\"HAVING\",\"optional\":true,\"description\":\"The HAVING clause functions the same as the FORMAT, INFORMAT, and LABEL statements in Base SAS. However, in DS2, the attributes must be specified in the declaration statement of the variable.\",\"type\":\"standalone\"},{\"name\":\"IDENTITY\",\"optional\":true,\"description\":\"Specifies an integer variable.\",\"type\":\"standalone\"},{\"name\":\"INFORMAT\",\"optional\":true,\"description\":\"Associates any valid SAS informat with the variable.\",\"type\":\"standalone\"},{\"name\":\"INT\",\"optional\":true,\"aliases\":[\"INTEGER\"],\"description\":\"Specifies an integer variable.\",\"type\":\"standalone\"},{\"name\":\"LABEL\",\"optional\":true,\"description\":\"Assigns a descriptive label to the variable. The label can be a CHAR literal (string) or NCHAR literal (nstring).\",\"type\":\"standalone\"},{\"name\":\"NCHAR\",\"optional\":true,\"description\":\"Specifies a character variable.\",\"type\":\"standalone\"},{\"name\":\"NVARCHAR\",\"optional\":true,\"description\":\"Specifies a character variable.\",\"type\":\"standalone\"},{\"name\":\"REAL\",\"optional\":true,\"description\":\"Specifies a floating-point variable.\",\"type\":\"standalone\"},{\"name\":\"SMALLINT\",\"optional\":true,\"description\":\"Specifies an integer variable.\",\"type\":\"standalone\"},{\"name\":\"TIME\",\"optional\":true,\"description\":\"Specifies a time variable. precision specifies the precision for a TIME data type.\",\"type\":\"standalone\"},{\"name\":\"TIMESTAMP\",\"optional\":true,\"description\":\"Specifies both a date and time variable. precision specifies the precision for a TIMESTAMP data type.\",\"type\":\"standalone\"},{\"name\":\"TINYINT\",\"optional\":true,\"description\":\"Specifies an integer variable.\",\"type\":\"standalone\"},{\"name\":\"VARBINARY\",\"optional\":true,\"description\":\"Specifies a varying-length binary variable. Alias: BINARY VARYING\",\"type\":\"standalone\"},{\"name\":\"VARCHAR\",\"optional\":true,\"description\":\"Specifies a character variable.\",\"type\":\"standalone\"}]},{\"name\":\"GOTO\",\"description\":\"Transfers execution immediately to a labeled statement. The destination label for the GOTO statement must be within the same DS2 method. You must specify the label argument or an error will occur. Statement labels are defined by using the Labels statement.\",\"help\":\"GOTO label\"},{\"name\":\"IF\",\"description\":\"] Executes a statement for observations that meet specific conditions.\",\"help\":\"IF &lt;DO [ &lt; index-variable-clause &gt; ] [ &lt; conditional-clause &gt; ] &gt;&lt;THEN&gt;&lt;TO&gt; ...\",\"arguments\":[{\"name\":\"BY\",\"optional\":true,\"description\":\"Precedes an increment integer (other than 0) or an expression that generates an integer to be added to the value of the index variable in each iteration of the DO loop.\",\"type\":\"standalone\"},{\"name\":\"CONTINUE\",\"optional\":true,\"description\":\"Stops processing the current DO loop iteration and resumes with the next iteration.\",\"type\":\"standalone\"},{\"name\":\"DO\",\"optional\":true,\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"LEAVE\",\"optional\":true,\"description\":\"Stops processing the current DO loop and transfers execution to either the statement following the current DO statement, or a labeled DO statement that encloses the current DO statement.\",\"type\":\"standalone\"},{\"name\":\"THEN\",\"optional\":true,\"description\":\"If the conditions that are specified in the IF clause are met, the IF-THEN statement executes a SAS statement.\",\"type\":\"standalone\"},{\"name\":\"TO\",\"optional\":true,\"description\":\"Separates the start and stop integers or expressions that control the number of times the portion of the step between the iterative DO and END statements is processed.\",\"type\":\"standalone\"}]},{\"name\":\"KEEP\",\"description\":\"Includes columns in output tables. The KEEP statement specifies that all columns in the column list should be included in the creation of output rows. If the KEEP attribute is specified, all columns not included in the KEEP statement will be dropped from the output rows. If no DROP or KEEP statement appears, all tables that are created in the DS2 program contain all columns. Do not use both DROP and KEEP statements within the same DS2 program.\",\"help\":\"KEEP column-list\"},{\"name\":\"LEAVE\",\"description\":\"Stops processing the current DO loop and transfers execution to either the statement following the current DO statement, or a labeled DO statement that encloses the current DO statement.\",\"help\":\"LEAVE [ identifier ] \"},{\"name\":\"METHOD\",\"description\":\"Defines a block of code that can be called and executed multiple times.\",\"help\":\"METHOD &lt;&gt;&lt;RETURNS data-type&gt;&lt;&gt; ...\",\"arguments\":[{\"name\":\"BIGINT\",\"optional\":true,\"description\":\"Specifies an integer variable.\",\"type\":\"standalone\"},{\"name\":\"CHAR\",\"optional\":true,\"description\":\"Specifies a character variable.\",\"type\":\"standalone\"},{\"name\":\"DATE\",\"optional\":true,\"description\":\"Specifies a date variable.\",\"type\":\"standalone\"},{\"name\":\"DOUBLE PRECISION\",\"optional\":true,\"aliases\":[\"DOUBLE\"],\"description\":\"Specifies a floating-point variable.\",\"type\":\"standalone\"},{\"name\":\"FLOAT\",\"optional\":true,\"description\":\"Specifies a floating-point variable.\",\"type\":\"standalone\"},{\"name\":\"IDENTITY\",\"optional\":true,\"description\":\"Specifies an integer variable.\",\"type\":\"standalone\"},{\"name\":\"INIT\",\"optional\":true,\"description\":\"Without Arguments The METHOD INIT statement has no arguments. If you try to pass arguments, an error will occur. Details: Typically, the INIT method will contain any initialization code such as variable initialization or opening of tables. Code in the INIT method will run once at the beginning of the DS2 program. Before the INIT method has run, variables in the program data vector which have not been retained '(by using the RETAIN statement) will be set to either SAS missing values or null values depending on whether you are in SAS mode or ANSI mode.\",\"type\":\"standalone\"},{\"name\":\"INT\",\"optional\":true,\"aliases\":[\"INTEGER\"],\"description\":\"Specifies an integer variable.\",\"type\":\"standalone\"},{\"name\":\"NCHAR\",\"optional\":true,\"description\":\"Specifies a character variable.\",\"type\":\"standalone\"},{\"name\":\"NVARCHAR\",\"optional\":true,\"description\":\"Specifies a character variable.\",\"type\":\"standalone\"},{\"name\":\"REAL\",\"optional\":true,\"description\":\"Specifies a floating-point variable.\",\"type\":\"standalone\"},{\"name\":\"RETURNS\",\"optional\":true,\"description\":\"Specifies the data type of the value that the method returns. The type can be any valid character, numeric, or date type.\",\"type\":\"standalone\"},{\"name\":\"RUN\",\"optional\":true,\"description\":\"Without Arguments: The METHOD RUN statement has no arguments. If you try to pass arguments, an error will occur. Details: Typically, the RUN method will contain the main DS2 program code. The RUN method has the same feature of automatic, implicit looping as the Base SAS DATA step. After the RUN method has been executed one time, the RUN method either runs again or control is passed to the TERM method.\",\"type\":\"standalone\"},{\"name\":\"SMALLINT\",\"optional\":true,\"description\":\"Specifies an integer variable.\",\"type\":\"standalone\"},{\"name\":\"TERM\",\"optional\":true,\"description\":\"Without Arguments: The METHOD TERM statement has no arguments. If you try to pass arguments, an error will occur. Details: Typically, the TERM method will contain any finalization code such as writing data to the SAS log. Code in the TERM method will run once at the end of the DS2 program.\",\"type\":\"standalone\"},{\"name\":\"TIME\",\"optional\":true,\"description\":\"Specifies a time variable. precision specifies the precision for a TIME data type.\",\"type\":\"standalone\"},{\"name\":\"TIMESTAMP\",\"optional\":true,\"description\":\"Specifies both a date and time variable. precision specifies the precision for a TIMESTAMP data type.\",\"type\":\"standalone\"},{\"name\":\"TINYINT\",\"optional\":true,\"description\":\"Specifies an integer variable.\",\"type\":\"standalone\"},{\"name\":\"VARBINARY\",\"optional\":true,\"aliases\":[\"BINARY VARYING\"],\"description\":\"Specifies a varying-length binary variable. Alias: BINARY VARYING\",\"type\":\"standalone\"},{\"name\":\"VARCHAR\",\"optional\":true,\"description\":\"Specifies a character variable.\",\"type\":\"standalone\"}]},{\"name\":\"OTHERWISE\",\"description\":\"An optional OTHERWISE statement specifies a statement to be executed if no WHEN condition is met.\",\"help\":\"[OTHERWISE statement-list]\"},{\"name\":\"OUTPUT\",\"description\":\"Writes the current row to a table. table specifies the name of the table to which to write rows. table can be one of these forms. catalog.schema.table-name schema.table-name catalog.table-name table-name catalog is an implementation of the ANSI SQL standard for an SQL catalog, which is a data container object that groups logically related schemas. schema is an implementation of the ANSI SQL standard for an SQL schema, which is a data container object that groups files such as tables and views and other objects supported by a data source such as stored procedures. table-name is the name of the table. Restriction: All names specified in the OUTPUT statement must also appear in the TABLE statement. Requirements: Table naming conventions are based on the datasource. Tip: You can specify up to as many tables in the OUTPUT statement as you specified in the TABLE statement for that DS2 program. _ROWSET_ specifies that the OUTPUT statement should not write rows to a table, but it should instead return table rows to the client application. _NULL_ specifies that the OUTPUT statement should not write rows to either a table or the client application.\",\"help\":\"OUTPUT &lt;_NULL_&gt;&lt;_ROWSET_&gt;\",\"arguments\":[{\"name\":\"_NULL_\",\"optional\":true,\"description\":\"Specifies that the OUTPUT statement should not write rows to either a table or the client application.\",\"type\":\"standalone\"},{\"name\":\"_ROWSET_\",\"optional\":true,\"description\":\"Specifies that the OUTPUT statement should not write rows to a table, but it should instead return table rows to the client application.\",\"type\":\"standalone\"}]},{\"name\":\"PACKAGE\",\"description\":\"Creates a DS2 package. package specifies the package name. package can be one of these forms. catalog.schema.package schema.package catalog.package package catalog is an implementation of the ANSI SQL standard for an SQL catalog, which is a data container object that groups logically related schemas. schema is an implementation of the ANSI SQL standard for an SQL schema, which is a data container object that groups files such as tables and views and other objects supported by a data source such as stored procedures. package is the name of the package. Requirement: Package naming conventions are based on the data source.\",\"help\":\"PACKAGE HASH HITER &lt;SAS_ENCRYPT=&lt;YES | NO&gt;&gt; ...\",\"arguments\":[{\"name\":\"HASH\",\"description\":\"Specifies the name of the package as HASH to register the hash package for use in a DS2 program.\",\"type\":\"standalone\"},{\"name\":\"HITER\",\"description\":\"Specifies the name of the package as HITER to register the hash iterator package for use in a DS2 program.\",\"type\":\"standalone\"},{\"name\":\"ALTER=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Syntax Description: alter-password must be a valid SAS name. Details: The ALTER= option applies only to a SAS data set. You can use this option to assign a password or to access a read-protected, write-protected, or alter-protected file. When you replace a data set that is protected with an ALTER password, the new data set inherits the ALTER password. The password is blotted out when the code is written in the SAS log. For example: set a(alter=XXXXXXX);\",\"help\":\"ALTER=*alter-password*\",\"type\":\"value\"},{\"name\":\"AS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Separates the new-name from the old-name.\",\"type\":\"standalone\"},{\"name\":\"BUFNO=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Syntax Description: n | nK specifies the number of buffers in multiples of 1 (bytes); 1,024 (kilobytes). For example, a value of 8 specifies 8 buffers, and a value of 1k specifies 1024 buffers. hex specifies the number of buffers as a hexadecimal value. You must specify the value beginning with a number (0-9), followed by an X. For example, the value 2dx sets the number of buffers to 45 buffers. MIN sets the minimum number of buffers to 0, which causes SAS to use the minimum optimal value for the operating environment. This is the default.\",\"help\":\"BUFNO=n | nK | hexX | MIN | MAX\",\"type\":\"choice\",\"arguments\":[{\"name\":\"n\",\"followsDelimiter\":\"/\",\"description\":\"Specifies the number of buffers in multiples of 1 (bytes). Replace n with an integer value.\",\"type\":\"standalone\"},{\"name\":\"nK\",\"followsDelimiter\":\"/\",\"description\":\"Specifies the number of buffers in multiples of 1,024 (kilobytes). Replace n with an integer value.\",\"type\":\"standalone\"},{\"name\":\"hexX\",\"followsDelimiter\":\"/\",\"description\":\"Specifies the number of buffers as a hexadecimal value. Replace hex with an actual hexadecimal value.\",\"type\":\"standalone\"},{\"name\":\"MIN\",\"followsDelimiter\":\"/\",\"description\":\"Sets the minimum number of buffers to 0, which causes SAS to use the minimum optimal value for the operating environment. This is the default.\",\"type\":\"standalone\"},{\"name\":\"MAX\",\"followsDelimiter\":\"/\",\"description\":\"Sets the number of buffers to the maximum possible number in your operating environment, up to the largest four-byte, signed integer, which is 2³¹-1, or approximately 2 billion.\",\"type\":\"standalone\"}]},{\"name\":\"BUFSIZE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Syntax Description: n | nK | nM | nG specifies the page size in multiples of 1 (bytes); 1,024 (kilobytes); 1,048,576 (megabytes); or 1,073,741,824 (gigabytes). For example, a value of 8 specifies a page size of 8 bytes, and a value of 4k specifies a page size of 4096 bytes. hexX specifies the page size as a hexadecimal value. You must specify the value beginning with a number (0-9), followed by an X. For example, the value 2dx sets the page size to 45 bytes.\",\"help\":\"BUFSIZE=n | nK | nM | nG | hexX | MAX\",\"type\":\"choice\",\"arguments\":[{\"name\":\"n\",\"followsDelimiter\":\"/\",\"description\":\"Specifies the page size in multiples of 1 (bytes). Replace n with an integer value.\",\"type\":\"standalone\"},{\"name\":\"nK\",\"followsDelimiter\":\"/\",\"description\":\"Specifies the page size in multiples of 1,024 (kilobytes). Replace n with an integer value.\",\"type\":\"standalone\"},{\"name\":\"nM\",\"followsDelimiter\":\"/\",\"description\":\"Specifies the page size in multiples of 1,048,576 (megabytes). Replace n with an integer value.\",\"type\":\"standalone\"},{\"name\":\"nG\",\"followsDelimiter\":\"/\",\"description\":\"Specifies the page size in multiples of 1,073,741,824 (gigabytes). Replace n with an integer value.\",\"type\":\"standalone\"},{\"name\":\"hexX\",\"followsDelimiter\":\"/\",\"description\":\"Specifies the page size as a hexadecimal value. Replace hex with an actual hexadecimal value.\",\"type\":\"standalone\"},{\"name\":\"MAX\",\"followsDelimiter\":\"/\",\"description\":\"Sets the page size to the maximum possible number in your operating environment, up to the largest four-byte, signed integer, which is 2³¹-1, or approximately 2 billion bytes.\",\"type\":\"standalone\"}]},{\"name\":\"BULKLOAD=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Syntax Description: YES calls a DBMS-specific bulk load facility in order to insert or append rows to a DBMS table.\",\"help\":\"BULKLOAD=YES | NO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YES\",\"followsDelimiter\":\"/\",\"description\":\"Calls a DBMS-specific bulk load facility in order to insert or append rows to a DBMS table.\",\"type\":\"standalone\"},{\"name\":\"NO\",\"followsDelimiter\":\"/\",\"description\":\"Uses the dynamic SAS/ACCESS engine to insert or append data to a DBMS table.\",\"type\":\"standalone\"}]},{\"name\":\"COMPRESS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Syntax Description: NO specifies that the observations in a newly created SAS data set are uncompressed (fixed-length records). YES | CHAR specifies that the observations in a newly created SAS data set are compressed (variable-length records) by SAS using RLE (Run Length Encoding). RLE compresses observations by reducing repeated consecutive characters (including blanks) to two-byte or three-byte representations. Alias: ON Tip: Use this compression algorithm for character data. Note: COMPRESS=CHAR is accepted by Version 7 and later versions. BINARY specifies that the observations in a newly created SAS data set are compressed (variable-length records) by SAS using RDC (Ross Data Compression). RDC combines run-length encoding and sliding-window compression to compress the file.\",\"help\":\"COMPRESS=NO | YES | CHAR | BINARY\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NO\",\"followsDelimiter\":\"/\",\"description\":\"Specifies that the observations in a newly created SAS data set are uncompressed (fixed-length records).\",\"type\":\"standalone\"},{\"name\":\"YES\",\"followsDelimiter\":\"/\",\"aliases\":[\"ON\"],\"description\":\"Specifies that the observations in a newly created SAS data set are compressed (variable-length records) by SAS using RLE (Run Length Encoding). RLE compresses observations by reducing repeated consecutive characters (including blanks) to two-byte or three-byte representations.\",\"type\":\"standalone\"},{\"name\":\"CHAR\",\"followsDelimiter\":\"/\",\"description\":\"Specifies that the observations in a newly created SAS data set are compressed (variable-length records) by SAS using RLE (Run Length Encoding). RLE compresses observations by reducing repeated consecutive characters (including blanks) to two-byte or three-byte representations. COMPRESS=CHAR is accepted by Version 7 and later versions.\",\"type\":\"standalone\"},{\"name\":\"BINARY\",\"followsDelimiter\":\"/\",\"description\":\"Specifies that the observations in a newly created SAS data set are compressed (variable-length records) by SAS using RDC (Ross Data Compression). RDC combines run-length encoding and sliding-window compression to compress the file.\",\"type\":\"standalone\"}]},{\"name\":\"DBKEY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Syntax Description: column used by SAS to build an internal WHERE clause to search for matches in the DBMS table based on the key column. For example:\",\"type\":\"value\"},{\"name\":\"DBNULL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Syntax Description: _ALL_ specifies that the YES or NO applies to all columns in the table. (This is valid in the interfaces to Informix, Oracle, Sybase, and Teradata only.) YES specifies that the NULL value is valid for the specified columns in the DBMS table. NO specifies that the NULL value is not valid for the specified columns in the DBMS table. column specifies the name of a column. Details: This option is valid only for creating DBMS tables. If you specify more than one column name, the names must be separated with spaces.\",\"help\":\"DBNULL=_ALL_\",\"type\":\"choice\",\"arguments\":[{\"name\":\"_ALL_\",\"type\":\"standalone\"}]},{\"name\":\"DROP=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Arguments: column-list specifies the names of the columns to omit from the output table. Restriction: Numbered range lists in the format col1-col5 and name prefix lists in the format col: are not supported. Details: The DROP= table option specifies that all columns in the column-list should not be included in the creation of output rows. Normally, all columns in the program data vector are included in the output rows. If the drop attribute is specified, all columns not included in the drop statement will be used to create columns in the output rows.\",\"type\":\"value\"},{\"name\":\"ENCRYPT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Syntax Description: YES encrypts the file. The encryption method uses passwords. At a minimum, you must specify the READ= or the PW= table option at the same time that you specify ENCRYPT=YES. Because the encryption method uses passwords, you cannot change any password on an encrypted data set without re-creating the data set. NO does not encrypt the file.\",\"help\":\"ENCRYPT=YES | NO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YES\",\"followsDelimiter\":\"/\",\"description\":\"Encrypts the file. The encryption method uses passwords. At a minimum, you must specify the READ= or the PW= table option at the same time that you specify ENCRYPT=YES. Because the encryption method uses passwords, you cannot change any password on an encrypted data set without re-creating the data set.\",\"type\":\"standalone\"},{\"name\":\"NO\",\"followsDelimiter\":\"/\",\"description\":\"Does not encrypt the file.\",\"type\":\"standalone\"}]},{\"name\":\"EXTENSION=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"EXT=\"],\"description\":\"Specifies that the package is of type hash or hash iterator.\",\"help\":\"EXTENSION='HASH' | 'HITER'\",\"type\":\"choice\",\"arguments\":[{\"name\":\"'HASH'\",\"followsDelimiter\":\"/\",\"description\":\"Specifies that the package is of type hash.\",\"type\":\"standalone\"},{\"name\":\"'HITER'\",\"followsDelimiter\":\"/\",\"description\":\"Specifies that the package is of type hash iterator.\",\"type\":\"standalone\"}]},{\"name\":\"KEEP=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Arguments: column-list specifies the names of the columns to keep in the output table. Restriction: Numbered range lists in the format col1-col5 and name prefix lists in the format col: are not supported. Details: The KEEP= table option specifies that all columns in the column-list should be included in the creation of output rows. Normally, all columns in the program data vector are included in the output rows. If the keep attribute is specified, all columns not included in the KEEP statement will be dropped from the output rows.\",\"type\":\"value\"},{\"name\":\"LABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Syntax Description:\",\"help\":\"LABEL='*label*'\",\"type\":\"value\"},{\"name\":\"LOCKTABLE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Syntax Description: SHARE locks a table in shared mode, allowing other users or processes to read data from the tables, but preventing users from updating data. EXCLUSIVE locks a table exclusively, preventing other users from accessing any table that you open. Details: You can lock tables only if you are the owner or have been granted the necessary privilege.\",\"help\":\"LOCKTABLE=SHARE | EXCLUSIVE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"SHARE\",\"followsDelimiter\":\"/\",\"description\":\"Locks a table in shared mode, allowing other users or processes to read data from the tables, but preventing users from updating data.\",\"type\":\"standalone\"},{\"name\":\"EXCLUSIVE\",\"followsDelimiter\":\"/\",\"description\":\"Locks a table exclusively, preventing other users from accessing any table that you open.\",\"type\":\"standalone\"}]},{\"name\":\"OVERWRITE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Arguments: YES | NO specifies whether the output table is deleted before a replacement output table is created or whether a package or thread is dropped. Default: NO\",\"help\":\"OVERWRITE=YES | NO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YES\",\"followsDelimiter\":\"/\",\"description\":\"Specifies that the output table is deleted before a replacement output table is created or a package or thread is dropped.\",\"type\":\"standalone\"},{\"name\":\"NO\",\"followsDelimiter\":\"/\",\"description\":\"Specifies that the output table is not deleted before a replacement output table is created or a package or thread is dropped.\",\"type\":\"standalone\"}]},{\"name\":\"PW=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Syntax Description: password must be a valid SAS name. Details: The PW= option applies to all types of SAS files. You can use this option to assign a password to a SAS file or to access a password-protected SAS file. When replacing a SAS data set that is protected by an ALTER password, the new data set inherits the ALTER password. When the code is written to the SAS log the password is blotted out, for example: drop thread job2 (pw=xxxxxxx);\",\"help\":\"PW=*password*\",\"type\":\"value\"},{\"name\":\"READ=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Syntax Description: read-password must be a valid SAS name. Details: The READ= option applies to all types of SAS files except catalogs. You can use this option to assign a password to a SAS file or to access a read-protected SAS file. When the code is written to the SAS log, the password is blotted out, for example: declare package sales (read=XXXXXXX);\",\"help\":\"READ=*read-password*\",\"type\":\"value\"},{\"name\":\"RENAME=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Arguments: old-name the column you want to rename. new-name the new name of the column. It must be a valid name for the data source. Details: The RENAME= table option allows you to change the names of one or more columns. If you use RENAME= when you create a table, the new column name is included in the output table. If you use RENAME= on an input table, the new name is used in DS2 programming statements. If you use RENAME= in the same DS2 program with either the DROP= or the KEEP= table option, the DROP= and the KEEP= table options are applied before RENAME=. You must use the old name in the DROP= and KEEP= table options. You cannot drop and rename the same column in the same statement.\",\"help\":\"RENAME=AS\",\"type\":\"choice\",\"arguments\":[{\"name\":\"AS\",\"type\":\"standalone\"}]},{\"name\":\"SAS_ENCRYPT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the encryption algorithm.\",\"help\":\"SAS_ENCRYPT=YES | NO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YES\",\"followsDelimiter\":\"/\",\"description\":\"Specifies the SAS Proprietary algorithm.\",\"type\":\"standalone\"},{\"name\":\"NO\",\"followsDelimiter\":\"/\",\"description\":\"Specifies the Advanced Encryption Standard (AES) algorithm.\",\"type\":\"standalone\"}]},{\"name\":\"TYPE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Syntax Description: data-set-type specifies the special type of the data set. Details: Use the TYPE= table option to create a special SAS data set in the proper format, or to identify the special type of the SAS data set in a procedure statement.\",\"help\":\"TYPE=*data-set-type*\",\"type\":\"dataSet\"},{\"name\":\"WRITE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Syntax Description: write-password must be a valid SAS name. Details: The WRITE= option applies to all types of SAS files except catalogs. You can use this option to assign a password to a SAS file or to access a write-protected SAS file. When the code is written to the SAS log, the password is blotted out, for example: drop thread job2a (write=XXXXXXX);\",\"help\":\"WRITE=*write-password*\",\"type\":\"value\"}]},{\"name\":\"PERFORMANCE\",\"description\":\"The PERFORMANCE statement defines performance parameters for multithreaded and distributed computing, passes variables about the distributed computing environment, and requests detailed results about the performance characteristics of a High-Performance Analytics procedure. With the PERFORMANCE statement, you can also control whether a High-Performance Analytics procedure executes in SMP or MPP mode.\",\"help\":\"PERFORMANCE &lt;COMMIT=n&gt;&lt;CPUCOUNT=&lt;ACTUAL | &lt;num&gt;&gt;&gt;&lt;DATASERVER=“name”&gt; ...\",\"arguments\":[{\"name\":\"COMMIT=\",\"optional\":true,\"description\":\"Requests that the High-Performance Analytics procedure write periodic updates to the SAS Log when observations are sent from the client to the appliance for distributed processing.\",\"help\":\"COMMIT=*n*\",\"type\":\"value\"},{\"name\":\"CPUCOUNT=\",\"optional\":true,\"description\":\"Specifies how many processors the procedure assumes are available on each host in the computing environment. num can be any integer from 1 to 256. CPUCOUNT=ACTUAL sets CPUCOUNT to the number of physical processors available. This number can be less than the physical number of CPUs if the SAS process has been restricted by system administration tools. Setting CPUCOUNT= to a number greater than the actual number of available CPUs might result in reduced performance. This option overrides the CPUCOUNT= SAS system option.\",\"help\":\"CPUCOUNT=ACTUAL | &lt;*num*&gt;\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ACTUAL\",\"description\":\"Sets CPUCOUNT to the number of physical processors available. This number can be less than the physical number of CPUs if the SAS process has been restricted by system administration tools.\",\"type\":\"standalone\"},{\"name\":\"num\",\"placeholder\":true,\"description\":\"Replace <num> with an actual number. Setting CPUCOUNT= to a number greater than the actual number of available CPUs might result in reduced performance. This option overrides the CPUCOUNT= SAS system option.\",\"type\":\"standaloneOrValue\"}]},{\"name\":\"DATASERVER=\",\"optional\":true,\"description\":\"Specifies the name of the server on Teradata systems as defined through the hosts file and as used in the LIBNAME statement for Teradata. For example, if the hosts file defines myservercop1 33.44.55.66 as the server for Teradata, then a LIBNAME specification would be as follows: libname TDLib teradata server=myserver user= password= database= ; A PERFORMANCE statement to induce running alongside the Teradata server would specify the following:\",\"type\":\"value\"},{\"name\":\"DETAILS\",\"optional\":true,\"description\":\"Requests a table that shows a timing breakdown of the procedure steps.\",\"type\":\"standalone\"},{\"name\":\"HOST=\",\"optional\":true,\"aliases\":[\"GRIDHOST=\"],\"description\":\"Specifies the name of the appliance host in single or double quotes. If the HOST= option is specified, it overrides the value of the GRIDHOST environment variable.\",\"type\":\"value\"},{\"name\":\"INSTALL=\",\"optional\":true,\"aliases\":[\"INSTALLLOC=\"],\"description\":\"Specifies the directory in which the High-Performance Analytics shared libraries are installed on the appliance. Specifying the INSTALL= option overrides the GRIDINSTALLLOC environment variable.\",\"type\":\"value\"},{\"name\":\"NODES=\",\"optional\":true,\"aliases\":[\"NNODES=\"],\"description\":\"Specifies the number of nodes in the distributed computing environment, provided that the data are not processed alongside the database.\",\"type\":\"value\"},{\"name\":\"NTHREADS=\",\"optional\":true,\"description\":\"Specifies the number of threads for analytic computations and overrides the SAS system option THREADS | NOTHREADS. If you do not specify the NTHREADS= option, the number of threads are determined based on the number of CPUs on the host on which the analytic computations execute. The algorithm by which a CPU count is converted to a thread count is specific to the High- Performance Analytics procedure. Most procedures create one thread per CPU for the analytic computations. By default, High-Performance Analytics procedures execute in multiple concurrent threads unless turned off by the NOTHREADS system option or you force single-threaded execution with NTHREADS=1. The largest number that can be specified for n is 256. Individual High-Performance Analytics procedures can impose more stringent limits if called for by algorithmic considerations. You can affect the determination of the CPU count with the CPUCOUNT= option in the PERFORMANCE statement.\",\"help\":\"NTHREADS=*n*\",\"type\":\"value\"},{\"name\":\"TIMEOUT=\",\"optional\":true,\"description\":\"Specifies the timeout in seconds for a High-Performance Analytics procedure to wait for a connection to the appliance and establish a connection back to the client. The default is s=120 seconds. If jobs are submitted to the appliance through workload management tools that might suspend access to the appliance for a longer period, you might want to increase the timeout value.\",\"help\":\"TIMEOUT=*s*\",\"type\":\"value\"}]},{\"name\":\"PUT\",\"description\":\"<put-list>::= 'character-string' | <eq-expression> [ = ] [ [ : ] format [-L | -C | -R ] ] <eq-expression>::= identifier | array-reference | this-expression Prints values of program variables and constants to the log. Arguments: 'character-string' specifies a string of text, enclosed in quotation marks, that is written to the SAS log. identifier names a variable whose value is written to the SAS log. array-reference specifies an array element. The subscript can be any SAS expression that resolves to an integer value when the PUT statement executes. Use the array subscript asterisk (*) to write all elements of the array. this-expression specifies a THIS expression. = If an equal sign is added after a variable or array element, then the output is preceded by the variable or array element name and an equal sign. : enables you to specify a format that the PUT statement uses to write the variable value. All leading and trailing blanks are deleted, and each value is followed by a single blank. Restriction: You must specify a format. format specifies a format to use when the data value is written to the SAS log. If you use a colon modifier (:) with the format name, all leading and trailing blanks are deleted and each value is followed by a single blank. To override the default alignment, you can add an alignment specification to a format: -L left aligns the value. -C centers the value. -R right aligns the value. Tip: Ensure that the format width provides enough space to write the value and any commas, dollar signs, decimal points, or other special characters that the format includes.\",\"help\":\"PUT &lt; put-list &gt; [ ... &lt;put-list&gt; ] \"},{\"name\":\"RENAME\",\"description\":\"Specifies new names for columns in output tables.\",\"help\":\"RENAME &lt;AS&gt;\",\"arguments\":[{\"name\":\"AS\",\"optional\":true,\"description\":\"RENAME old-name AS new-name [ ... old-name AS new-name ]; Separates the new-name from the old-name.\",\"type\":\"standalone\"}]},{\"name\":\"RETAIN\",\"description\":\"Specifies that all columns in the column list should have their values retained during each execution of the RUN method. If you do not specify any arguments, the RETAIN statement causes the values of all columns to be retained from one iteration of the DS2 program to the next.\",\"help\":\"(1) RETAIN\"},{\"name\":\"RETURN\",\"description\":\"Returns execution from a method to the method caller. expression specifies any valid expression that returns a single value. The expression's type is evaluated, and if necessary, converted to the type specified in the METHOD statement's RETURNS clause. The value of expression is then passed back to the caller of the method.\",\"help\":\"RETURN [ expression ]\"},{\"name\":\"RUN CANCEL\",\"description\":\"The RUN CANCEL statement cancels the preceding PROC HPDS2 statements. RUN CANCEL is useful if you enter a typographical error.\",\"help\":\"RUN CANCEL \"},{\"name\":\"SELECT\",\"description\":\"Executes one of several statements or groups of statements. Arguments: select-expression specifies an expression that evaluates to a single value of any type other than VARBINARY. end-label The END statement closes the SELECT statement. The optional end-label argument specifies an identifier. This label, created by using the Labels statement, must match the label immediately preceding the SELECT statement, or an error will occur. when-expression specifies any expression, including a compound expression. Requirement: You must specify at least one when-expression. statement-list can be any executable statement or statements.\",\"help\":\"SELECT [ ( select-expression ) ]\"},{\"name\":\"SET\",\"description\":\"Reads rows from one or more tables. Each time the SET statement executes, one row is read into the program data vector. SET reads all columns and all rows from the input tables unless you specify otherwise. A SET statement can contain multiple tables; a DS2 program can contain multiple SET statements.\",\"help\":\"SET &lt;DS2GTF.IN&gt;&lt;SET FROM thread [ THREADS = threads ]&gt;&lt;SELECT&gt; ...\",\"arguments\":[{\"name\":\"ALTER=\",\"optional\":true,\"description\":\"Syntax Description: alter-password must be a valid SAS name. Details: The ALTER= option applies only to a SAS data set. You can use this option to assign a password or to access a read-protected, write-protected, or alter-protected file. When you replace a data set that is protected with an ALTER password, the new data set inherits the ALTER password. The password is blotted out when the code is written in the SAS log. For example: set a(alter=XXXXXXX);\",\"help\":\"ALTER=*alter-password*\",\"type\":\"value\"},{\"name\":\"AS\",\"optional\":true,\"description\":\"Separates the new-name from the old-name.\",\"type\":\"standalone\"},{\"name\":\"BUFNO=\",\"optional\":true,\"description\":\"Syntax Description: n | nK specifies the number of buffers in multiples of 1 (bytes); 1,024 (kilobytes). For example, a value of 8 specifies 8 buffers, and a value of 1k specifies 1024 buffers. hex specifies the number of buffers as a hexadecimal value. You must specify the value beginning with a number (0-9), followed by an X. For example, the value 2dx sets the number of buffers to 45 buffers. MIN sets the minimum number of buffers to 0, which causes SAS to use the minimum optimal value for the operating environment. This is the default.\",\"help\":\"BUFNO=n | nK | hexX | MIN | MAX\",\"type\":\"choice\",\"arguments\":[{\"name\":\"n\",\"description\":\"Specifies the number of buffers in multiples of 1 (bytes). Replace n with an integer value.\",\"type\":\"standalone\"},{\"name\":\"nK\",\"description\":\"Specifies the number of buffers in multiples of 1,024 (kilobytes). Replace n with an integer value.\",\"type\":\"standalone\"},{\"name\":\"hexX\",\"description\":\"Specifies the number of buffers as a hexadecimal value. Replace hex with an actual hexadecimal value.\",\"type\":\"standalone\"},{\"name\":\"MIN\",\"description\":\"Sets the minimum number of buffers to 0, which causes SAS to use the minimum optimal value for the operating environment. This is the default.\",\"type\":\"standalone\"},{\"name\":\"MAX\",\"description\":\"Sets the number of buffers to the maximum possible number in your operating environment, up to the largest four-byte, signed integer, which is 2³¹-1, or approximately 2 billion.\",\"type\":\"standalone\"}]},{\"name\":\"BUFSIZE=\",\"optional\":true,\"description\":\"Syntax Description: n | nK | nM | nG specifies the page size in multiples of 1 (bytes); 1,024 (kilobytes); 1,048,576 (megabytes); or 1,073,741,824 (gigabytes). For example, a value of 8 specifies a page size of 8 bytes, and a value of 4k specifies a page size of 4096 bytes. hexX specifies the page size as a hexadecimal value. You must specify the value beginning with a number (0-9), followed by an X. For example, the value 2dx sets the page size to 45 bytes.\",\"help\":\"BUFSIZE=n | nK | nM | nG | hexX | MAX\",\"type\":\"choice\",\"arguments\":[{\"name\":\"n\",\"description\":\"Specifies the page size in multiples of 1 (bytes). Replace n with an integer value.\",\"type\":\"standalone\"},{\"name\":\"nK\",\"description\":\"Specifies the page size in multiples of 1,024 (kilobytes). Replace n with an integer value.\",\"type\":\"standalone\"},{\"name\":\"nM\",\"description\":\"Specifies the page size in multiples of 1,048,576 (megabytes). Replace n with an integer value.\",\"type\":\"standalone\"},{\"name\":\"nG\",\"description\":\"Specifies the page size in multiples of 1,073,741,824 (gigabytes). Replace n with an integer value.\",\"type\":\"standalone\"},{\"name\":\"hexX\",\"description\":\"Specifies the page size as a hexadecimal value. Replace hex with an actual hexadecimal value.\",\"type\":\"standalone\"},{\"name\":\"MAX\",\"description\":\"Sets the page size to the maximum possible number in your operating environment, up to the largest four-byte, signed integer, which is 2³¹-1, or approximately 2 billion bytes.\",\"type\":\"standalone\"}]},{\"name\":\"BULKLOAD=\",\"optional\":true,\"description\":\"Syntax Description: YES calls a DBMS-specific bulk load facility in order to insert or append rows to a DBMS table.\",\"help\":\"BULKLOAD=YES | NO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YES\",\"description\":\"Calls a DBMS-specific bulk load facility in order to insert or append rows to a DBMS table.\",\"type\":\"standalone\"},{\"name\":\"NO\",\"description\":\"Uses the dynamic SAS/ACCESS engine to insert or append data to a DBMS table.\",\"type\":\"standalone\"}]},{\"name\":\"COMPRESS=\",\"optional\":true,\"description\":\"Syntax Description: NO specifies that the observations in a newly created SAS data set are uncompressed (fixed-length records). YES | CHAR specifies that the observations in a newly created SAS data set are compressed (variable-length records) by SAS using RLE (Run Length Encoding). RLE compresses observations by reducing repeated consecutive characters (including blanks) to two-byte or three-byte representations. Alias: ON Tip: Use this compression algorithm for character data. Note: COMPRESS=CHAR is accepted by Version 7 and later versions. BINARY specifies that the observations in a newly created SAS data set are compressed (variable-length records) by SAS using RDC (Ross Data Compression). RDC combines run-length encoding and sliding-window compression to compress the file.\",\"help\":\"COMPRESS=NO | YES | CHAR | BINARY\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NO\",\"description\":\"Specifies that the observations in a newly created SAS data set are uncompressed (fixed-length records).\",\"type\":\"standalone\"},{\"name\":\"YES\",\"aliases\":[\"ON\"],\"description\":\"Specifies that the observations in a newly created SAS data set are compressed (variable-length records) by SAS using RLE (Run Length Encoding). RLE compresses observations by reducing repeated consecutive characters (including blanks) to two-byte or three-byte representations.\",\"type\":\"standalone\"},{\"name\":\"CHAR\",\"description\":\"Specifies that the observations in a newly created SAS data set are compressed (variable-length records) by SAS using RLE (Run Length Encoding). RLE compresses observations by reducing repeated consecutive characters (including blanks) to two-byte or three-byte representations. COMPRESS=CHAR is accepted by Version 7 and later versions.\",\"type\":\"standalone\"},{\"name\":\"BINARY\",\"description\":\"Specifies that the observations in a newly created SAS data set are compressed (variable-length records) by SAS using RDC (Ross Data Compression). RDC combines run-length encoding and sliding-window compression to compress the file.\",\"type\":\"standalone\"}]},{\"name\":\"DBKEY=\",\"optional\":true,\"description\":\"Syntax Description: column used by SAS to build an internal WHERE clause to search for matches in the DBMS table based on the key column. For example:\",\"type\":\"value\"},{\"name\":\"DBNULL=\",\"optional\":true,\"description\":\"Syntax Description: _ALL_ specifies that the YES or NO applies to all columns in the table. (This is valid in the interfaces to Informix, Oracle, Sybase, and Teradata only.) YES specifies that the NULL value is valid for the specified columns in the DBMS table. NO specifies that the NULL value is not valid for the specified columns in the DBMS table. column specifies the name of a column. Details: This option is valid only for creating DBMS tables. If you specify more than one column name, the names must be separated with spaces.\",\"help\":\"DBNULL=_ALL_\",\"type\":\"choice\",\"arguments\":[{\"name\":\"_ALL_\",\"type\":\"standalone\"}]},{\"name\":\"DROP=\",\"optional\":true,\"description\":\"Arguments: column-list specifies the names of the columns to omit from the output table. Restriction: Numbered range lists in the format col1-col5 and name prefix lists in the format col: are not supported. Details: The DROP= table option specifies that all columns in the column-list should not be included in the creation of output rows. Normally, all columns in the program data vector are included in the output rows. If the drop attribute is specified, all columns not included in the drop statement will be used to create columns in the output rows.\",\"type\":\"value\"},{\"name\":\"DS2GTF.IN\",\"optional\":true,\"description\":\"The input data set.\",\"type\":\"standalone\"},{\"name\":\"DS2GTF.OUT\",\"optional\":true,\"description\":\"The output data set.\",\"type\":\"standalone\"},{\"name\":\"ENCRYPT=\",\"optional\":true,\"description\":\"Syntax Description: YES encrypts the file. The encryption method uses passwords. At a minimum, you must specify the READ= or the PW= table option at the same time that you specify ENCRYPT=YES. Because the encryption method uses passwords, you cannot change any password on an encrypted data set without re-creating the data set. NO does not encrypt the file.\",\"help\":\"ENCRYPT=YES | NO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YES\",\"description\":\"Encrypts the file. The encryption method uses passwords. At a minimum, you must specify the READ= or the PW= table option at the same time that you specify ENCRYPT=YES. Because the encryption method uses passwords, you cannot change any password on an encrypted data set without re-creating the data set.\",\"type\":\"standalone\"},{\"name\":\"NO\",\"description\":\"Does not encrypt the file.\",\"type\":\"standalone\"}]},{\"name\":\"FROM\",\"optional\":true,\"description\":\"Runs a DS2 program as one or more threads.\",\"type\":\"standalone\"},{\"name\":\"KEEP=\",\"optional\":true,\"description\":\"Arguments: column-list specifies the names of the columns to keep in the output table. Restriction: Numbered range lists in the format col1-col5 and name prefix lists in the format col: are not supported. Details: The KEEP= table option specifies that all columns in the column-list should be included in the creation of output rows. Normally, all columns in the program data vector are included in the output rows. If the keep attribute is specified, all columns not included in the KEEP statement will be dropped from the output rows.\",\"type\":\"value\"},{\"name\":\"LABEL=\",\"optional\":true,\"description\":\"Syntax Description:\",\"help\":\"LABEL='*label*'\",\"type\":\"value\"},{\"name\":\"LOCKTABLE=\",\"optional\":true,\"description\":\"Syntax Description: SHARE locks a table in shared mode, allowing other users or processes to read data from the tables, but preventing users from updating data. EXCLUSIVE locks a table exclusively, preventing other users from accessing any table that you open. Details: You can lock tables only if you are the owner or have been granted the necessary privilege.\",\"help\":\"LOCKTABLE=SHARE | EXCLUSIVE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"SHARE\",\"description\":\"Locks a table in shared mode, allowing other users or processes to read data from the tables, but preventing users from updating data.\",\"type\":\"standalone\"},{\"name\":\"EXCLUSIVE\",\"description\":\"Locks a table exclusively, preventing other users from accessing any table that you open.\",\"type\":\"standalone\"}]},{\"name\":\"OVERWRITE=\",\"optional\":true,\"description\":\"Arguments: YES | NO specifies whether the output table is deleted before a replacement output table is created or whether a package or thread is dropped. Default: NO\",\"help\":\"OVERWRITE=YES | NO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YES\",\"description\":\"Specifies that the output table is deleted before a replacement output table is created or a package or thread is dropped.\",\"type\":\"standalone\"},{\"name\":\"NO\",\"description\":\"Specifies that the output table is not deleted before a replacement output table is created or a package or thread is dropped.\",\"type\":\"standalone\"}]},{\"name\":\"PW=\",\"optional\":true,\"description\":\"Syntax Description: password must be a valid SAS name. Details: The PW= option applies to all types of SAS files. You can use this option to assign a password to a SAS file or to access a password-protected SAS file. When replacing a SAS data set that is protected by an ALTER password, the new data set inherits the ALTER password. When the code is written to the SAS log the password is blotted out, for example: drop thread job2 (pw=xxxxxxx);\",\"help\":\"PW=*password*\",\"type\":\"value\"},{\"name\":\"READ=\",\"optional\":true,\"description\":\"Syntax Description: read-password must be a valid SAS name. Details: The READ= option applies to all types of SAS files except catalogs. You can use this option to assign a password to a SAS file or to access a read-protected SAS file. When the code is written to the SAS log, the password is blotted out, for example: declare package sales (read=XXXXXXX);\",\"help\":\"READ=*read-password*\",\"type\":\"value\"},{\"name\":\"RENAME=\",\"optional\":true,\"description\":\"Arguments: old-name the column you want to rename. new-name the new name of the column. It must be a valid name for the data source. Details: The RENAME= table option allows you to change the names of one or more columns. If you use RENAME= when you create a table, the new column name is included in the output table. If you use RENAME= on an input table, the new name is used in DS2 programming statements. If you use RENAME= in the same DS2 program with either the DROP= or the KEEP= table option, the DROP= and the KEEP= table options are applied before RENAME=. You must use the old name in the DROP= and KEEP= table options. You cannot drop and rename the same column in the same statement.\",\"help\":\"RENAME=AS\",\"type\":\"choice\",\"arguments\":[{\"name\":\"AS\",\"type\":\"standalone\"}]},{\"name\":\"SELECT=\",\"optional\":true,\"description\":\"\",\"help\":\"SELECT=FROM | WHERE | AS | WHERE | NATURAL JOIN | INNER JOIN | OUTER JOIN | CROSS JOIN | LEFT JOIN | RIGHT JOIN | UNION JOIN | FULL JOIN | UNION | INTO | SELECT | HAVING | ALL | INSERT | CREATE | ORDER BY | GROUP BY\",\"type\":\"choice\",\"arguments\":[{\"name\":\"FROM\",\"type\":\"standalone\"},{\"name\":\"WHERE\",\"type\":\"standalone\"},{\"name\":\"AS\",\"type\":\"standalone\"},{\"name\":\"WHERE\",\"type\":\"standalone\"},{\"name\":\"NATURAL\",\"type\":\"standalone\"},{\"name\":\"INNER\",\"type\":\"standalone\"},{\"name\":\"OUTER\",\"type\":\"standalone\"},{\"name\":\"CROSS\",\"type\":\"standalone\"},{\"name\":\"LEFT\",\"type\":\"standalone\"},{\"name\":\"RIGHT\",\"type\":\"standalone\"},{\"name\":\"UNION\",\"type\":\"standalone\"},{\"name\":\"FULL\",\"type\":\"standalone\"},{\"name\":\"UNION\",\"type\":\"standalone\"},{\"name\":\"INTO\",\"type\":\"standalone\"},{\"name\":\"SELECT\",\"type\":\"standalone\"},{\"name\":\"HAVING\",\"type\":\"standalone\"},{\"name\":\"ALL\",\"type\":\"standalone\"},{\"name\":\"INSERT\",\"type\":\"standalone\"},{\"name\":\"CREATE\",\"type\":\"standalone\"},{\"name\":\"ORDER\",\"type\":\"standalone\"},{\"name\":\"GROUP\",\"type\":\"standalone\"}]},{\"name\":\"TYPE=\",\"optional\":true,\"description\":\"Syntax Description: data-set-type specifies the special type of the data set. Details: Use the TYPE= table option to create a special SAS data set in the proper format, or to identify the special type of the SAS data set in a procedure statement.\",\"help\":\"TYPE=*data-set-type*\",\"type\":\"dataSet\"},{\"name\":\"WRITE=\",\"optional\":true,\"description\":\"Syntax Description: write-password must be a valid SAS name. Details: The WRITE= option applies to all types of SAS files except catalogs. You can use this option to assign a password to a SAS file or to access a write-protected SAS file. When the code is written to the SAS log, the password is blotted out, for example: drop thread job2a (write=XXXXXXX);\",\"help\":\"WRITE=*write-password*\",\"type\":\"value\"}]},{\"name\":\"SET FROM\",\"description\":\"The SET FROM statement enables a DS2 program to run as a single thread or as multiple threads. The thread name specified in a SET FROM statement references a DS2 program thread that has been created by a THREAD statement. Note: The SET FROM statement is best used in the RUN method to take advantage of the RUN method's implicit looping capability.\",\"help\":\"SET FROM &lt;THREADS= threads&gt;\",\"arguments\":[{\"name\":\"THREADS=\",\"optional\":true,\"description\":\"Specifies the number of threads that are run for thread.\",\"type\":\"value\"}]},{\"name\":\"STOP\",\"description\":\"Stops execution of the current DS2 program. The STOP statement causes processing of the current DS2 program to stop immediately and resume processing statements after the end of the current DS2 program.\",\"help\":\"STOP\"},{\"name\":\"THREAD\",\"description\":\"Creates a DS2 program thread. thread specifies the thread name. thread can be one of these forms. catalog.schema.thread schema.thread catalog.thread thread catalog is an implementation of the ANSI SQL standard for an SQL catalog, which is a data container object that groups logically related schemas. schema is an implementation of the ANSI SQL standard for an SQL schema, which is a data container object that groups files such as tables and views and other objects supported by a data source such as stored procedures. thread is the name of the thread. Requirement: Thread naming conventions are based on the data source.\",\"help\":\"THREAD &lt;ALTER=alter-password&gt;&lt;BUFNO=&lt;n | nK | hexX&gt;... &gt;&lt;SAS_ENCRYPT=&lt;YES | NO&gt;&gt; ...\",\"arguments\":[{\"name\":\"ALTER=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Syntax Description: alter-password must be a valid SAS name. Details: The ALTER= option applies only to a SAS data set. You can use this option to assign a password or to access a read-protected, write-protected, or alter-protected file. When you replace a data set that is protected with an ALTER password, the new data set inherits the ALTER password. The password is blotted out when the code is written in the SAS log. For example: set a(alter=XXXXXXX);\",\"help\":\"ALTER=*alter-password*\",\"type\":\"value\"},{\"name\":\"AS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Separates the new-name from the old-name.\",\"type\":\"standalone\"},{\"name\":\"BUFNO=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Syntax Description: n | nK specifies the number of buffers in multiples of 1 (bytes); 1,024 (kilobytes). For example, a value of 8 specifies 8 buffers, and a value of 1k specifies 1024 buffers. hex specifies the number of buffers as a hexadecimal value. You must specify the value beginning with a number (0-9), followed by an X. For example, the value 2dx sets the number of buffers to 45 buffers. MIN sets the minimum number of buffers to 0, which causes SAS to use the minimum optimal value for the operating environment. This is the default.\",\"help\":\"BUFNO=n | nK | hexX | MIN | MAX\",\"type\":\"choice\",\"arguments\":[{\"name\":\"n\",\"followsDelimiter\":\"/\",\"description\":\"Specifies the number of buffers in multiples of 1 (bytes). Replace n with an integer value.\",\"type\":\"standalone\"},{\"name\":\"nK\",\"followsDelimiter\":\"/\",\"description\":\"Specifies the number of buffers in multiples of 1,024 (kilobytes). Replace n with an integer value.\",\"type\":\"standalone\"},{\"name\":\"hexX\",\"followsDelimiter\":\"/\",\"description\":\"Specifies the number of buffers as a hexadecimal value. Replace hex with an actual hexadecimal value.\",\"type\":\"standalone\"},{\"name\":\"MIN\",\"followsDelimiter\":\"/\",\"description\":\"Sets the minimum number of buffers to 0, which causes SAS to use the minimum optimal value for the operating environment. This is the default.\",\"type\":\"standalone\"},{\"name\":\"MAX\",\"followsDelimiter\":\"/\",\"description\":\"Sets the number of buffers to the maximum possible number in your operating environment, up to the largest four-byte, signed integer, which is 2³¹-1, or approximately 2 billion.\",\"type\":\"standalone\"}]},{\"name\":\"BUFSIZE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Syntax Description: n | nK | nM | nG specifies the page size in multiples of 1 (bytes); 1,024 (kilobytes); 1,048,576 (megabytes); or 1,073,741,824 (gigabytes). For example, a value of 8 specifies a page size of 8 bytes, and a value of 4k specifies a page size of 4096 bytes. hexX specifies the page size as a hexadecimal value. You must specify the value beginning with a number (0-9), followed by an X. For example, the value 2dx sets the page size to 45 bytes.\",\"help\":\"BUFSIZE=n | nK | nM | nG | hexX | MAX\",\"type\":\"choice\",\"arguments\":[{\"name\":\"n\",\"followsDelimiter\":\"/\",\"description\":\"Specifies the page size in multiples of 1 (bytes). Replace n with an integer value.\",\"type\":\"standalone\"},{\"name\":\"nK\",\"followsDelimiter\":\"/\",\"description\":\"Specifies the page size in multiples of 1,024 (kilobytes). Replace n with an integer value.\",\"type\":\"standalone\"},{\"name\":\"nM\",\"followsDelimiter\":\"/\",\"description\":\"Specifies the page size in multiples of 1,048,576 (megabytes). Replace n with an integer value.\",\"type\":\"standalone\"},{\"name\":\"nG\",\"followsDelimiter\":\"/\",\"description\":\"Specifies the page size in multiples of 1,073,741,824 (gigabytes). Replace n with an integer value.\",\"type\":\"standalone\"},{\"name\":\"hexX\",\"followsDelimiter\":\"/\",\"description\":\"Specifies the page size as a hexadecimal value. Replace hex with an actual hexadecimal value.\",\"type\":\"standalone\"},{\"name\":\"MAX\",\"followsDelimiter\":\"/\",\"description\":\"Sets the page size to the maximum possible number in your operating environment, up to the largest four-byte, signed integer, which is 2³¹-1, or approximately 2 billion bytes.\",\"type\":\"standalone\"}]},{\"name\":\"BULKLOAD=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Syntax Description: YES calls a DBMS-specific bulk load facility in order to insert or append rows to a DBMS table.\",\"help\":\"BULKLOAD=YES | NO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YES\",\"followsDelimiter\":\"/\",\"description\":\"Calls a DBMS-specific bulk load facility in order to insert or append rows to a DBMS table.\",\"type\":\"standalone\"},{\"name\":\"NO\",\"followsDelimiter\":\"/\",\"description\":\"Uses the dynamic SAS/ACCESS engine to insert or append data to a DBMS table.\",\"type\":\"standalone\"}]},{\"name\":\"COMPRESS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Syntax Description: NO specifies that the observations in a newly created SAS data set are uncompressed (fixed-length records). YES | CHAR specifies that the observations in a newly created SAS data set are compressed (variable-length records) by SAS using RLE (Run Length Encoding). RLE compresses observations by reducing repeated consecutive characters (including blanks) to two-byte or three-byte representations. Alias: ON Tip: Use this compression algorithm for character data. Note: COMPRESS=CHAR is accepted by Version 7 and later versions. BINARY specifies that the observations in a newly created SAS data set are compressed (variable-length records) by SAS using RDC (Ross Data Compression). RDC combines run-length encoding and sliding-window compression to compress the file.\",\"help\":\"COMPRESS=NO | YES | CHAR | BINARY\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NO\",\"followsDelimiter\":\"/\",\"description\":\"Specifies that the observations in a newly created SAS data set are uncompressed (fixed-length records).\",\"type\":\"standalone\"},{\"name\":\"YES\",\"followsDelimiter\":\"/\",\"aliases\":[\"ON\"],\"description\":\"Specifies that the observations in a newly created SAS data set are compressed (variable-length records) by SAS using RLE (Run Length Encoding). RLE compresses observations by reducing repeated consecutive characters (including blanks) to two-byte or three-byte representations.\",\"type\":\"standalone\"},{\"name\":\"CHAR\",\"followsDelimiter\":\"/\",\"description\":\"Specifies that the observations in a newly created SAS data set are compressed (variable-length records) by SAS using RLE (Run Length Encoding). RLE compresses observations by reducing repeated consecutive characters (including blanks) to two-byte or three-byte representations. COMPRESS=CHAR is accepted by Version 7 and later versions.\",\"type\":\"standalone\"},{\"name\":\"BINARY\",\"followsDelimiter\":\"/\",\"description\":\"Specifies that the observations in a newly created SAS data set are compressed (variable-length records) by SAS using RDC (Ross Data Compression). RDC combines run-length encoding and sliding-window compression to compress the file.\",\"type\":\"standalone\"}]},{\"name\":\"DBKEY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Syntax Description: column used by SAS to build an internal WHERE clause to search for matches in the DBMS table based on the key column. For example:\",\"type\":\"value\"},{\"name\":\"DBNULL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Syntax Description: _ALL_ specifies that the YES or NO applies to all columns in the table. (This is valid in the interfaces to Informix, Oracle, Sybase, and Teradata only.) YES specifies that the NULL value is valid for the specified columns in the DBMS table. NO specifies that the NULL value is not valid for the specified columns in the DBMS table. column specifies the name of a column. Details: This option is valid only for creating DBMS tables. If you specify more than one column name, the names must be separated with spaces.\",\"help\":\"DBNULL=_ALL_\",\"type\":\"choice\",\"arguments\":[{\"name\":\"_ALL_\",\"type\":\"standalone\"}]},{\"name\":\"DROP=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Arguments: column-list specifies the names of the columns to omit from the output table. Restriction: Numbered range lists in the format col1-col5 and name prefix lists in the format col: are not supported. Details: The DROP= table option specifies that all columns in the column-list should not be included in the creation of output rows. Normally, all columns in the program data vector are included in the output rows. If the drop attribute is specified, all columns not included in the drop statement will be used to create columns in the output rows.\",\"type\":\"value\"},{\"name\":\"ENCRYPT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Syntax Description: YES encrypts the file. The encryption method uses passwords. At a minimum, you must specify the READ= or the PW= table option at the same time that you specify ENCRYPT=YES. Because the encryption method uses passwords, you cannot change any password on an encrypted data set without re-creating the data set. NO does not encrypt the file.\",\"help\":\"ENCRYPT=YES | NO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YES\",\"followsDelimiter\":\"/\",\"description\":\"Encrypts the file. The encryption method uses passwords. At a minimum, you must specify the READ= or the PW= table option at the same time that you specify ENCRYPT=YES. Because the encryption method uses passwords, you cannot change any password on an encrypted data set without re-creating the data set.\",\"type\":\"standalone\"},{\"name\":\"NO\",\"followsDelimiter\":\"/\",\"description\":\"Does not encrypt the file.\",\"type\":\"standalone\"}]},{\"name\":\"KEEP=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Arguments: column-list specifies the names of the columns to keep in the output table. Restriction: Numbered range lists in the format col1-col5 and name prefix lists in the format col: are not supported. Details: The KEEP= table option specifies that all columns in the column-list should be included in the creation of output rows. Normally, all columns in the program data vector are included in the output rows. If the keep attribute is specified, all columns not included in the KEEP statement will be dropped from the output rows.\",\"type\":\"value\"},{\"name\":\"LABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Syntax Description:\",\"help\":\"LABEL='*label*'\",\"type\":\"value\"},{\"name\":\"LOCKTABLE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Syntax Description: SHARE locks a table in shared mode, allowing other users or processes to read data from the tables, but preventing users from updating data. EXCLUSIVE locks a table exclusively, preventing other users from accessing any table that you open. Details: You can lock tables only if you are the owner or have been granted the necessary privilege.\",\"help\":\"LOCKTABLE=SHARE | EXCLUSIVE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"SHARE\",\"followsDelimiter\":\"/\",\"description\":\"Locks a table in shared mode, allowing other users or processes to read data from the tables, but preventing users from updating data.\",\"type\":\"standalone\"},{\"name\":\"EXCLUSIVE\",\"followsDelimiter\":\"/\",\"description\":\"Locks a table exclusively, preventing other users from accessing any table that you open.\",\"type\":\"standalone\"}]},{\"name\":\"OVERWRITE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Arguments: YES | NO specifies whether the output table is deleted before a replacement output table is created or whether a package or thread is dropped. Default: NO\",\"help\":\"OVERWRITE=YES | NO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YES\",\"followsDelimiter\":\"/\",\"description\":\"Specifies that the output table is deleted before a replacement output table is created or a package or thread is dropped.\",\"type\":\"standalone\"},{\"name\":\"NO\",\"followsDelimiter\":\"/\",\"description\":\"Specifies that the output table is not deleted before a replacement output table is created or a package or thread is dropped.\",\"type\":\"standalone\"}]},{\"name\":\"PW=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Syntax Description: password must be a valid SAS name. Details: The PW= option applies to all types of SAS files. You can use this option to assign a password to a SAS file or to access a password-protected SAS file. When replacing a SAS data set that is protected by an ALTER password, the new data set inherits the ALTER password. When the code is written to the SAS log the password is blotted out, for example: drop thread job2 (pw=xxxxxxx);\",\"help\":\"PW=*password*\",\"type\":\"value\"},{\"name\":\"READ=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Syntax Description: read-password must be a valid SAS name. Details: The READ= option applies to all types of SAS files except catalogs. You can use this option to assign a password to a SAS file or to access a read-protected SAS file. When the code is written to the SAS log, the password is blotted out, for example: declare package sales (read=XXXXXXX);\",\"help\":\"READ=*read-password*\",\"type\":\"value\"},{\"name\":\"RENAME=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Arguments: old-name the column you want to rename. new-name the new name of the column. It must be a valid name for the data source. Details: The RENAME= table option allows you to change the names of one or more columns. If you use RENAME= when you create a table, the new column name is included in the output table. If you use RENAME= on an input table, the new name is used in DS2 programming statements. If you use RENAME= in the same DS2 program with either the DROP= or the KEEP= table option, the DROP= and the KEEP= table options are applied before RENAME=. You must use the old name in the DROP= and KEEP= table options. You cannot drop and rename the same column in the same statement.\",\"help\":\"RENAME=AS\",\"type\":\"choice\",\"arguments\":[{\"name\":\"AS\",\"type\":\"standalone\"}]},{\"name\":\"SAS_ENCRYPT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the encryption algorithm.\",\"help\":\"SAS_ENCRYPT=YES | NO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YES\",\"followsDelimiter\":\"/\",\"description\":\"Specifies the SAS Proprietary algorithm.\",\"type\":\"standalone\"},{\"name\":\"NO\",\"followsDelimiter\":\"/\",\"description\":\"Specifies the Advanced Encryption Standard (AES) algorithm.\",\"type\":\"standalone\"}]},{\"name\":\"TYPE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Syntax Description: data-set-type specifies the special type of the data set. Details: Use the TYPE= table option to create a special SAS data set in the proper format, or to identify the special type of the SAS data set in a procedure statement.\",\"help\":\"TYPE=*data-set-type*\",\"type\":\"dataSet\"},{\"name\":\"WRITE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Syntax Description: write-password must be a valid SAS name. Details: The WRITE= option applies to all types of SAS files except catalogs. You can use this option to assign a password to a SAS file or to access a write-protected SAS file. When the code is written to the SAS log, the password is blotted out, for example: drop thread job2a (write=XXXXXXX);\",\"help\":\"WRITE=*write-password*\",\"type\":\"value\"}]},{\"name\":\"WHEN\",\"description\":\"SELECT groups contain WHEN statements that identify DS2 statements that are executed when a particular condition is true. Use at least one WHEN statement in a SELECT group.\",\"help\":\"WHEN ( when-expression ) [ statement-list \"}],\"supportSiteInformation\":{\"docsetId\":\"prochp\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"prochp_hpds2_toc.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/HPEXPORT.json",
    "content": "{\"name\":\"HPEXPORT\",\"statements\":[{\"name\":\"PROC HPEXPORT\",\"description\":\"Begins an HPEXPORT procedure code block.\",\"help\":\"PROC HPEXPORT ENV=<libref.>environment-name<argument(s)>\\n\\t<PROJECT=project-name>\\nUSERSTAT mystatFUNC=myfuncDIST_TYPE= STANDARD | CONTRIB | WITHOUT;\",\"arguments\":[{\"name\":\"ENV=\",\"description\":\"specifies the name of the risk environment that contains the project.\",\"help\":\"ENV=&lt;*libref.*&gt;*environment-name*\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"n12rzmvttu579yn1mh96lju1lexw\"},{\"name\":\"PROJECT=\",\"optional\":true,\"description\":\"specifies the name of the project to be exported. If the argument is not specified, the HPEXPORT procedure exports all the projects in the risk environment. If the project-name does not exist in the environment, an error appears in the SAS log.\",\"help\":\"PROJECT=*project-name*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n18ic4agv1ro7jn14anzxdqiebsl\"}],\"supportSiteTargetFile\":\"n0as9zhs4y59pen13eu7pzaqcyfx.htm\"},{\"name\":\"CASEXPORT\",\"description\":\"Use the CASEXPORT statement to export the risk environment table instead of the cube descriptor file.\",\"help\":\"\\n\\tCASEXPORT ENVTABLE= casLib.env-table<LABEL=\\\"label\\\"><METHODSTABLE=casLib.method-table><NAME=name><PORTSOURCES=sources-name>\",\"arguments\":[{\"name\":\"ENVTABLE=\",\"description\":\"specifies the CAS table to which to write the project and environment specifications. This is the CAS environment table.\",\"help\":\"ENVTABLE= *casLib.env-table*\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"p0c48ozn67ruo9n1slhz1e19vfhr\"},{\"name\":\"LABEL=\",\"optional\":true,\"description\":\"specifies a quoted string to serve as a label for the CAS risk environment. If unspecified, the label is blank.\",\"help\":\"LABEL=\\\"*label*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1c0x41r88sbvnn17wwvqjm822vf\"},{\"name\":\"METHODSTABLE=\",\"optional\":true,\"description\":\"specifies the CAS table to which to write the method, function, and subroutine specifications. This is the CAS method table. If unspecified, this table is not written.\",\"help\":\"METHODSTABLE=*casLib.method-table*\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"n1vji53ev96fsun130wphcpdjqnw\"},{\"name\":\"NAME=\",\"optional\":true,\"description\":\"specifies a name to associate with the CAS environment. If unspecified, the name is env-table.\",\"help\":\"NAME=*name*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n19j8pfjfl6y19n1swy5vij0thdr\"},{\"name\":\"PORTSOURCES=\",\"optional\":true,\"description\":\"specifies the names of the data sources that are included in the portfolio. The following types of data sources are supported: simple instrument data, quadratic instrument data, counterparty data, and mitigation data. Each data source must be a table in a caslib on the CAS server. By default, the risk engine uses the data sources that are associated with the project’s portfolio.\",\"help\":\"PORTSOURCES=*sources-name*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0a4h9tlc1sng6n1gsggvceq9yvb\"}],\"supportSiteTargetFile\":\"n0icbrwxvgniibn1ljh34uw63vah.htm\"},{\"name\":\"USERSTAT\",\"description\":\"Enables you to register a user-defined statistic.\",\"help\":\"\\n\\tUSERSTAT mystatFUNC= myfuncDIST_TYPE= STANDARD | WITHOUT | CONTRIB | RAW<LABEL=\\\"label\\\">;\",\"arguments\":[{\"name\":\"mystat\",\"placeholder\":true,\"description\":\"specifies the name of the statistic to be registered.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0ddyyoy2fm9hjn1emcvrxfyz7ua\"},{\"name\":\"FUNC=\",\"description\":\"specifies the name of the function from which the statistic is computed. Write this function in the COMPILE procedure and define it within the exported risk environment.\",\"help\":\"FUNC=*myfunc*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0e9nanwowz58zn0zmamjb58ds5e\"},{\"name\":\"DIST_TYPE=\",\"description\":\"specifies the distribution from which the statistic is calculated, which determines what data is passed to the first argument of the function.\",\"help\":\"DIST_TYPE=STANDARD | WITHOUT | CONTRIB | RAW\",\"type\":\"choice\",\"arguments\":[{\"name\":\"STANDARD\",\"type\":\"standalone\"},{\"name\":\"WITHOUT\",\"type\":\"standalone\"},{\"name\":\"CONTRIB\",\"type\":\"standalone\"},{\"name\":\"RAW\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"n1jg1yji30i5vun1na8o41sgsbio\"},{\"name\":\"LABEL=\",\"optional\":true,\"description\":\"specifies a label for the user-defined statistic, which can be displayed in the Risk Explorer.\",\"help\":\"LABEL=\\\"*label*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0pfu6m2xhnmc7n1ljyfgwxypcqn\"}],\"supportSiteTargetFile\":\"n100banx9mmvozn1kbg1yr4uqnp2.htm\"}],\"supportSiteInformation\":{\"docsetId\":\"riskengproc\",\"docsetVersion\":\"v_009\",\"docsetTargetFile\":\"p1ubfcb6xgmf07n1k5cth35q621x.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/HPF.json",
    "content": "{\"name\":\"HPF\",\"statements\":[{\"name\":\"PROC HPF\",\"description\":\"The HPF (High-Performance Forecasting) procedure provides a quick and automatic way to generate forecasts for many time series or transactional data in one step. The procedure can forecast millions of series at a time, with the series organized into separate variables or across BY groups.\",\"help\":\"PROC HPF <BACK=n><DATA=SAS-data-set><LEAD=n><MAXERROR=number><NOOUTALL><OUT=SAS-data-set><OUTEST=SAS-data-set><OUTFOR=SAS-data-set><OUTPROCINFO=SAS-data-set><OUTSEASON=SAS-data-set><OUTSTAT=SAS-data-set><OUTSUM=SAS-data-set><OUTTREND=SAS-data-set><PLOT=ERRORS | ACF | PACF... ><PRINT=ESTIMATES | FORECASTS | PERFORMANCE... ><PRINTDETAILS><SEASONALITY=number><SORTNAMES><STARTSUM=n>;     \\n\\tBY <DESCENDING><NOTSORTED> ;\\n\\n\\tFORECAST <ACCUMULATE=option><ALPHA=number><CRITERION=option> ...;\\n\\n\\tID <ACCUMULATE<NONE | TOTAL | AVERAGE>... ><ALIGN=<BEGINNING | MIDDLE | ENDING>><END=option> ...;\\n\\n\\tIDM <AVERAGE=(smoothing-model-options )><BASE=<AUTO>><INTERVAL=(smoothing-model-options )> ...;\\n\",\"arguments\":[{\"name\":\"BACK=\",\"optional\":true,\"description\":\"Specifies the number of observations before the end of the data where the multistep forecasts are to begin. The default is BACK=0.\",\"help\":\"BACK=*n*\",\"type\":\"value\"},{\"name\":\"DATA=\",\"optional\":true,\"description\":\"Names the SAS data set that contain the input data for the procedure to forecast. If the DATA= option is not specified, the most recently created SAS data set is used.\",\"help\":\"DATA=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"LEAD=\",\"optional\":true,\"description\":\"Specifies the number of periods ahead to forecast (forecast lead or horizon). The default is LEAD=12.\",\"help\":\"LEAD=*n*\",\"type\":\"value\"},{\"name\":\"MAXERROR=\",\"optional\":true,\"description\":\"Limits the number of warning and error messages produced during the execution of the procedure to the specified value. The default is MAXERROR=50. This option is particularly useful in BY-group processing where it can be used to suppress the recurring messages.\",\"help\":\"MAXERROR=*number*\",\"type\":\"value\"},{\"name\":\"NOOUTALL\",\"optional\":true,\"description\":\"Specifies that only forecasts are written to the OUT= and OUTFOR= data sets. The NOOUTALL option includes only the final forecast observations in the output data sets, not the one-step forecasts for the data before the forecast period.\",\"type\":\"standalone\"},{\"name\":\"OUT=\",\"optional\":true,\"description\":\"Names the output data set to contain the forecasts of the variables that are specified in the subsequent FORECAST statements.\",\"help\":\"OUT=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"OUTEST=\",\"optional\":true,\"description\":\"Names the output data set to contain the model parameter estimates and the associated test statistics and probability values. The OUTEST= data set is particularly useful for evaluating the significance of the model parameters and understanding the model dynamics.\",\"help\":\"OUTEST=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"OUTFOR=\",\"optional\":true,\"description\":\"Names the output data set to contain the forecast time series components (actual, predicted, lower confidence limit, upper confidence limit, prediction error, and prediction standard error). The OUTFOR= data set is particularly useful for displaying the forecasts in tabular or graphical form.\",\"help\":\"OUTFOR=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"OUTPROCINFO=\",\"optional\":true,\"description\":\"Names the output data set to contain information in the SAS log, specifically the number of notes, errors, and warnings and the number of series processed, forecasts requested, and forecasts failed.\",\"help\":\"OUTPROCINFO=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"OUTSEASON=\",\"optional\":true,\"description\":\"Names the output data set to contain the seasonal statistics. The statistics are computed for each season as specified by the ID statement INTERVAL= option or the SEASONALITY= option. The OUTSEASON= data set is particularly useful when analyzing transactional data for seasonal variations.\",\"help\":\"OUTSEASON=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"OUTSTAT=\",\"optional\":true,\"description\":\"Names the output data set to contain the summary statistics and the forecast summation.\",\"help\":\"OUTSTAT=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"OUTSUM=\",\"optional\":true,\"description\":\"Names the output data set to contain the summary statistics and the forecast summation.\",\"help\":\"OUTSUM=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"OUTTREND=\",\"optional\":true,\"description\":\"Names the output data set to contain the trend statistics.\",\"help\":\"OUTTREND=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"PLOT=\",\"optional\":true,\"description\":\"Specifies the graphical output desired. By default, the HPF procedure produces no graphical output.\",\"help\":\"PLOT=ERRORS | ACF | PACF | IACF | WN | MODELS | FORECASTS | MODELFORECASTSONLY | FORECASTSONLY | LEVELS | SEASONS | TRENDS | ALL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ERRORS\",\"description\":\"Plots prediction error time series graphics.\",\"type\":\"standalone\"},{\"name\":\"ACF\",\"description\":\"Plots prediction error autocorrelation function graphics.\",\"type\":\"standalone\"},{\"name\":\"PACF\",\"description\":\"plots prediction error partial autocorrelation function graphics.\",\"type\":\"standalone\"},{\"name\":\"IACF\",\"description\":\"Plots prediction error inverse autocorrelation function graphics.\",\"type\":\"standalone\"},{\"name\":\"WN\",\"description\":\"Plots white noise graphics.\",\"type\":\"standalone\"},{\"name\":\"MODELS\",\"description\":\"Plots model graphics.\",\"type\":\"standalone\"},{\"name\":\"FORECASTS\",\"description\":\"Plots forecast graphics.\",\"type\":\"standalone\"},{\"name\":\"MODELFORECASTSONLY\",\"description\":\"Plots forecast graphics with confidence limits in the data range.\",\"type\":\"standalone\"},{\"name\":\"FORECASTSONLY\",\"description\":\"Plots the forecast in the forecast horzion only.\",\"type\":\"standalone\"},{\"name\":\"LEVELS\",\"description\":\"Plots smoothed level component graphics.\",\"type\":\"standalone\"},{\"name\":\"SEASONS\",\"description\":\"Plots smoothed seasonal component graphics.\",\"type\":\"standalone\"},{\"name\":\"TRENDS\",\"description\":\"Plots smoothed trend (slope) component graphics.\",\"type\":\"standalone\"},{\"name\":\"ALL\",\"description\":\"Is the same as specifying all of the preceding PLOT= options.\",\"type\":\"standalone\"}]},{\"name\":\"PRINT=\",\"optional\":true,\"description\":\"Specifies the printed output desired. By default, the HPF procedure produces no printed output.\",\"help\":\"PRINT=ESTIMATES | FORECASTS | PERFORMANCE | PERFORMANCESUMMARY | PERFORMANCEOVERALL | SEASONS | STATISTICS | STATES | SUMMARY | TRENDS | ALL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ESTIMATES\",\"description\":\"Prints the results of parameter estimation (OUTEST= data set).\",\"type\":\"standalone\"},{\"name\":\"FORECASTS\",\"description\":\"Prints the forecasts (OUTFOR= data set).\",\"type\":\"standalone\"},{\"name\":\"PERFORMANCE\",\"description\":\"Prints the performance statistics for each forecast.\",\"type\":\"standalone\"},{\"name\":\"PERFORMANCESUMMARY\",\"description\":\"Prints the performance summary for each BY group.\",\"type\":\"standalone\"},{\"name\":\"PERFORMANCEOVERALL\",\"description\":\"Prints the performance summary for all of the BY groups.\",\"type\":\"standalone\"},{\"name\":\"SEASONS\",\"description\":\"Prints the seasonal statistics (OUTSEASON= data set).\",\"type\":\"standalone\"},{\"name\":\"STATISTICS\",\"description\":\"Prints the statistics of fit (OUTSTAT= data set).\",\"type\":\"standalone\"},{\"name\":\"STATES\",\"description\":\"Prints the backcast, initial, and final states.\",\"type\":\"standalone\"},{\"name\":\"SUMMARY\",\"description\":\"Prints the summary statistics for the accumulated time series (OUTSUM= data set).\",\"type\":\"standalone\"},{\"name\":\"TRENDS\",\"description\":\"Prints the trend statistics (OUTTREND= data set).\",\"type\":\"standalone\"},{\"name\":\"ALL\",\"description\":\"Is the same as PRINT=(ESTIMATES FORECASTS STATISTICS SUMMARY).\",\"type\":\"standalone\"}]},{\"name\":\"PRINTDETAILS\",\"optional\":true,\"description\":\"Specifies that output requested with the PRINT= option be printed in greater detail.\",\"type\":\"standalone\"},{\"name\":\"SEASONALITY=\",\"optional\":true,\"description\":\"Specifies the length of the seasonal cycle.\",\"help\":\"SEASONALITY=*number*\",\"type\":\"value\"},{\"name\":\"SORTNAMES\",\"optional\":true,\"description\":\"Specifies that the variables specified in the FORECAST statements be processed in sorted order.\",\"type\":\"standalone\"},{\"name\":\"STARTSUM=\",\"optional\":true,\"description\":\"Specifies the starting forecast lead (or horizon) for which to begin summation of the forecasts specified by the LEAD= option.\",\"help\":\"STARTSUM=*n*\",\"type\":\"value\"}]},{\"name\":\"BY\",\"description\":\"A BY statement can be used with PROC HPF to obtain separate analyses for groups of observations defined by the BY variables.\",\"help\":\"BY &lt;DESCENDING&gt;&lt;NOTSORTED&gt;\",\"arguments\":[{\"name\":\"DESCENDING\",\"optional\":true,\"description\":\"Specifies that the observations are sorted in descending order by the variable that immediately follows the word DESCENDING in the BY statement.\",\"type\":\"standalone\"},{\"name\":\"NOTSORTED\",\"optional\":true,\"description\":\"Specifies that observations are not necessarily sorted in alphabetic or numeric order.\",\"type\":\"standalone\"}]},{\"name\":\"FORECAST\",\"description\":\"The FORECAST statement lists the numeric variables in the DATA= data set whose accumulated values represent time series to be modeled and forecast. The options specify which forecast model is to be used or how the forecast model is selected from several possible candidate models.\",\"help\":\"FORECAST &lt;ACCUMULATE=option&gt;&lt;ALPHA=number&gt;&lt;CRITERION=option&gt; ...\",\"arguments\":[{\"name\":\"ACCUMULATE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies how the data set observations are to be accumulated within each time period for the variables listed in the FORECAST statement.\",\"help\":\"ACCUMULATE=*option*\",\"type\":\"value\"},{\"name\":\"ALPHA=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the significance level to use in computing the confidence limits of the forecast.\",\"help\":\"ALPHA=*number*\",\"type\":\"value\"},{\"name\":\"CRITERION=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"SELECT=\"],\"description\":\"Specifies the model selection criterion (statistic of fit) to be used to select from several candidate models.\",\"help\":\"CRITERION=*option*\",\"type\":\"value\"},{\"name\":\"HOLDOUT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the size of the holdout sample to be used for model selection. The holdout sample is a subset of actual time series that end at the last nonmissing observation.\",\"help\":\"HOLDOUT=*n*\",\"type\":\"value\"},{\"name\":\"HOLDOUTPCT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the size of the holdout sample as a percentage of the length of the time series.\",\"help\":\"HOLDOUTPCT=*number*\",\"type\":\"value\"},{\"name\":\"INTERMITTENT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies a number greater than one which is used to determine whether or not a time series is intermittent.\",\"help\":\"INTERMITTENT=*number*\",\"type\":\"value\"},{\"name\":\"MEDIAN\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies that the median forecast values are to be estimated. Forecasts can be based on the mean or median. By default the mean value is provided.\",\"type\":\"standalone\"},{\"name\":\"MODEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the forecasting model to be used to forecast the actual time series.\",\"help\":\"MODEL=NONE | SIMPLE | DOUBLE | LINEAR | DAMPTREND | ADDSEASONAL | MULTSEASONAL | WINTERS | ADDWINTERS | BEST | BESTN | BESTS | IDM | BESTALL*model-name*\",\"type\":\"value\",\"arguments\":[{\"name\":\"NONE\",\"followsDelimiter\":\"/\",\"description\":\"No forecast\",\"type\":\"standalone\"},{\"name\":\"SIMPLE\",\"followsDelimiter\":\"/\",\"description\":\"Simple (single) exponential smoothing\",\"type\":\"standalone\"},{\"name\":\"DOUBLE\",\"followsDelimiter\":\"/\",\"description\":\"Double (Brown) exponential smoothing\",\"type\":\"standalone\"},{\"name\":\"LINEAR\",\"followsDelimiter\":\"/\",\"description\":\"Linear (Holt) exponential smoothing\",\"type\":\"standalone\"},{\"name\":\"DAMPTREND\",\"followsDelimiter\":\"/\",\"description\":\"Damped trend exponential smoothing\",\"type\":\"standalone\"},{\"name\":\"ADDSEASONAL\",\"followsDelimiter\":\"/\",\"aliases\":[\"SEASONAL\"],\"description\":\"Additive seasonal exponential smoothing\",\"type\":\"standalone\"},{\"name\":\"MULTSEASONAL\",\"followsDelimiter\":\"/\",\"description\":\"Multiplicative seasonal exponential smoothing\",\"type\":\"standalone\"},{\"name\":\"WINTERS\",\"followsDelimiter\":\"/\",\"description\":\"Winters multiplicative Method\",\"type\":\"standalone\"},{\"name\":\"ADDWINTERS\",\"followsDelimiter\":\"/\",\"description\":\"Winters additive Method\",\"type\":\"standalone\"},{\"name\":\"BEST\",\"followsDelimiter\":\"/\",\"description\":\"Best candidate smoothing model (SIMPLE, DOUBLE, LINEAR, DAMPTREND, ADDSEASONAL, WINTERS, ADDWINTERS)\",\"type\":\"standalone\"},{\"name\":\"BESTN\",\"followsDelimiter\":\"/\",\"description\":\"Best candidate nonseasonal smoothing model (SIMPLE, DOUBLE, LINEAR, DAMPTREND)\",\"type\":\"standalone\"},{\"name\":\"BESTS\",\"followsDelimiter\":\"/\",\"description\":\"Best candidate seasonal smoothing model (ADDSEASONAL, WINTERS, ADDWINTERS)\",\"type\":\"standalone\"},{\"name\":\"IDM\",\"followsDelimiter\":\"/\",\"aliases\":[\"CROSTON\"],\"description\":\"Intermittent demand model such as Croston’s method or average demand model.\",\"type\":\"standalone\"},{\"name\":\"BESTALL\",\"followsDelimiter\":\"/\",\"description\":\"Best candidate model (IDM, BEST)\",\"type\":\"standalone\"}]},{\"name\":\"NBACKCAST=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the number of observations used to initialize the backcast states.\",\"help\":\"NBACKCAST=*n*\",\"type\":\"value\"},{\"name\":\"REPLACEBACK\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies that actual values excluded by the BACK= option be replaced with one-step-ahead forecasts in the OUT= data set.\",\"type\":\"standalone\"},{\"name\":\"REPLACEMISSING\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies that embedded missing actual values be replaced with one-step-ahead forecasts in the OUT= data set.\",\"type\":\"standalone\"},{\"name\":\"SEASONTEST=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the options related to the seasonality test. This option is used with the MODEL=BEST and MODEL=BESTALL options.\",\"help\":\"SEASONTEST=NONE | (SIGLEVEL=)*option*\",\"type\":\"value\",\"arguments\":[{\"name\":\"NONE\",\"followsDelimiter\":\"/\",\"description\":\"No test\",\"type\":\"standalone\"},{\"name\":\"(SIGLEVEL=)\",\"followsDelimiter\":\"/\",\"description\":\"Significance probability value\",\"type\":\"value\"}]},{\"name\":\"SETMISSING=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies how missing values (either actual or accumulated) are to be assigned in the accumulated time series for variables listed in the FORECAST statement.\",\"type\":\"value\"},{\"name\":\"TRANSFORM=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the time series transformation to be applied to the actual time series.\",\"help\":\"TRANSFORM=NONE | LOG | SQRT | LOGISTIC | BOXCOX | AUTO*option*\",\"type\":\"value\",\"arguments\":[{\"name\":\"NONE\",\"followsDelimiter\":\"/\",\"description\":\"No transformation is applied. This option is the default.\",\"type\":\"standalone\"},{\"name\":\"LOG\",\"followsDelimiter\":\"/\",\"description\":\"Logarithmic transformation\",\"type\":\"standalone\"},{\"name\":\"SQRT\",\"followsDelimiter\":\"/\",\"description\":\"Square-root transformation\",\"type\":\"standalone\"},{\"name\":\"LOGISTIC\",\"followsDelimiter\":\"/\",\"description\":\"Logistic transformation\",\"type\":\"standalone\"},{\"name\":\"BOXCOX\",\"followsDelimiter\":\"/\",\"description\":\"Box-Cox transformation with parameter number where number is between –5 and 5\",\"type\":\"standalone\"},{\"name\":\"AUTO\",\"followsDelimiter\":\"/\",\"description\":\"Automatically choose between NONE and LOG based on model selection criteria\",\"type\":\"standalone\"}]},{\"name\":\"USE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the time series transformation to be applied to the actual time series.\",\"help\":\"USE=PREDICT | LOWER | UPPER*option*\",\"type\":\"value\",\"arguments\":[{\"name\":\"PREDICT\",\"followsDelimiter\":\"/\",\"description\":\"The predicted values are appended to the actual values. This option is the default.\",\"type\":\"standalone\"},{\"name\":\"LOWER\",\"followsDelimiter\":\"/\",\"description\":\"The lower confidence limit values are appended to the actual values.\",\"type\":\"standalone\"},{\"name\":\"UPPER\",\"followsDelimiter\":\"/\",\"description\":\"The upper confidence limit values are appended to the actual values.\",\"type\":\"standalone\"}]},{\"name\":\"ZEROMISS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the time series transformation to be applied to the actual time series.\",\"help\":\"ZEROMISS=*option*\",\"type\":\"value\"}]},{\"name\":\"ID\",\"description\":\"The ID statement names a numeric variable that identifies observations in the input and output data sets. The ID variable’s values are assumed to be SAS date, time, or datetime values.\",\"help\":\"ID &lt;ACCUMULATE&lt;NONE | TOTAL | AVERAGE&gt;... &gt;&lt;ALIGN=&lt;BEGINNING | MIDDLE | ENDING&gt;&gt;&lt;END=option&gt; ...\",\"arguments\":[{\"name\":\"ACCUMULATE\",\"optional\":true,\"description\":\"Specifies how the data set observations are to be accumulated within each time period for the variables listed in the FORECAST statement.\",\"help\":\"ACCUMULATENONE | TOTAL | AVERAGE | MINIMUM | MEDIAN | MAXIMUM | N | NMISS | NOBS | FIRST | LAST | STDDEV | CSS | USS\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NONE\",\"description\":\"No accumulation occurs; the ID variable values must be equally spaced with respect to the frequency.\",\"type\":\"standalone\"},{\"name\":\"TOTAL\",\"description\":\"Observations are accumulated based on the total sum of their values.\",\"type\":\"standalone\"},{\"name\":\"AVERAGE\",\"aliases\":[\"AVG\"],\"description\":\"Observations are accumulated based on the average of their values.\",\"type\":\"standalone\"},{\"name\":\"MINIMUM\",\"aliases\":[\"MIN\"],\"description\":\"Observations are accumulated based on the minimum of their values.\",\"type\":\"standalone\"},{\"name\":\"MEDIAN\",\"aliases\":[\"MED\"],\"description\":\"Observations are accumulated based on the median of their values.\",\"type\":\"standalone\"},{\"name\":\"MAXIMUM\",\"aliases\":[\"MAX\"],\"description\":\"Observations are accumulated based on the maximum of their values.\",\"type\":\"standalone\"},{\"name\":\"N\",\"description\":\"Observations are accumulated based on the number of nonmissing observations.\",\"type\":\"standalone\"},{\"name\":\"NMISS\",\"description\":\"Observations are accumulated based on the number of missing observations.\",\"type\":\"standalone\"},{\"name\":\"NOBS\",\"description\":\"Observations are accumulated based on the number of observations.\",\"type\":\"standalone\"},{\"name\":\"FIRST\",\"description\":\"Observations are accumulated based on the first of their values.\",\"type\":\"standalone\"},{\"name\":\"LAST\",\"description\":\"Observations are accumulated based on the last of their values.\",\"type\":\"standalone\"},{\"name\":\"STDDEV\",\"aliases\":[\"STD\"],\"description\":\"Observations are accumulated based on the standard deviation of their values.\",\"type\":\"standalone\"},{\"name\":\"CSS\",\"description\":\"Observations are accumulated based on the corrected sum of squares of their values.\",\"type\":\"standalone\"},{\"name\":\"USS\",\"description\":\"Observations are accumulated based on the uncorrected sum of squares of their values.\",\"type\":\"standalone\"}]},{\"name\":\"ALIGN=\",\"optional\":true,\"description\":\"Controls the alignment of SAS dates used to identify output observations.\",\"help\":\"ALIGN=BEGINNING | MIDDLE | ENDING*option*\",\"type\":\"value\",\"arguments\":[{\"name\":\"BEGINNING\",\"aliases\":[\"BEG\",\"B\"],\"description\":\"Beginning\",\"type\":\"standalone\"},{\"name\":\"MIDDLE\",\"aliases\":[\"MID\",\"M\"],\"description\":\"Middle\",\"type\":\"standalone\"},{\"name\":\"ENDING\",\"aliases\":[\"END\",\"E\"],\"description\":\"End\",\"type\":\"standalone\"}]},{\"name\":\"END=\",\"optional\":true,\"description\":\"Specifies a SAS date, datetime, or time value that represents the end of the data.\",\"help\":\"END=*option*\",\"type\":\"value\"},{\"name\":\"FORMAT=\",\"optional\":true,\"description\":\"Specifies the SAS format for the time ID values.\",\"help\":\"FORMAT=*format*\",\"type\":\"value\"},{\"name\":\"INTERVAL=\",\"optional\":true,\"description\":\"Specifies the frequency of the input time series.\",\"help\":\"INTERVAL=*interval*\",\"type\":\"value\"},{\"name\":\"NOTSORTED\",\"optional\":true,\"description\":\"Specifies that the time ID values not be in sorted order.\",\"type\":\"standalone\"},{\"name\":\"SETMISSING=\",\"optional\":true,\"description\":\"Specifies how missing values (either actual or accumulated) are to be assigned in the accumulated time series.\",\"help\":\"SETMISSING=MISSING | AVERAGE | MINIMUM | MEDIAN | MAXIMUM | FIRST | LAST | PREVIOUS | NEXT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"MISSING\",\"description\":\"Missing values are set to missing. This is the default option.\",\"type\":\"standalone\"},{\"name\":\"AVERAGE\",\"aliases\":[\"AVG\"],\"description\":\"Missing values are set to the accumulated average value.\",\"type\":\"standalone\"},{\"name\":\"MINIMUM\",\"aliases\":[\"MIN\"],\"description\":\"Missing values are set to the accumulated minimum value.\",\"type\":\"standalone\"},{\"name\":\"MEDIAN\",\"aliases\":[\"MED\"],\"description\":\"Missing values are set to the accumulated median value.\",\"type\":\"standalone\"},{\"name\":\"MAXIMUM\",\"aliases\":[\"MAX\"],\"description\":\"Missing values are set to the accumulated maximum value.\",\"type\":\"standalone\"},{\"name\":\"FIRST\",\"description\":\"Missing values are set to the accumulated first nonmissing value.\",\"type\":\"standalone\"},{\"name\":\"LAST\",\"description\":\"Missing values are set to the accumulated last nonmissing value.\",\"type\":\"standalone\"},{\"name\":\"PREVIOUS\",\"aliases\":[\"PREV\"],\"description\":\"Missing values are set to the previous accumulated nonmissing value.\",\"type\":\"standalone\"},{\"name\":\"NEXT\",\"description\":\"Missing values are set to the next accumulated nonmissing value.\",\"type\":\"standalone\"}]},{\"name\":\"START=\",\"optional\":true,\"description\":\"Specifies a SAS date, datetime, or time value that represents the beginning of the data.\",\"help\":\"START=*option*\",\"type\":\"value\"},{\"name\":\"ZEROMISS=\",\"optional\":true,\"description\":\"Specifies how missing values (either actual or accumulated) are to be assigned in the accumulated time series.\",\"help\":\"ZEROMISS=NONE | LEFT | RIGHT | BOTH\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NONE\",\"description\":\"Beginning and/or ending zeros unchanged. This is the default.\",\"type\":\"standalone\"},{\"name\":\"LEFT\",\"description\":\"Beginning zeros are set to missing.\",\"type\":\"standalone\"},{\"name\":\"RIGHT\",\"description\":\"Ending zeros are set to missing.\",\"type\":\"standalone\"},{\"name\":\"BOTH\",\"description\":\"Both beginning and ending zeros are set to missing.\",\"type\":\"standalone\"}]}]},{\"name\":\"IDM\",\"description\":\"The IDM statement is used to specify an intermittent demand model.\",\"help\":\"IDM &lt;AVERAGE=(smoothing-model-options )&gt;&lt;BASE=&lt;AUTO&gt;&gt;&lt;INTERVAL=(smoothing-model-options )&gt; ...\",\"arguments\":[{\"name\":\"AVERAGE=\",\"optional\":true,\"description\":\"Specifies the smoothing model used to forecast the demand average component.\",\"type\":\"value\"},{\"name\":\"BASE=\",\"optional\":true,\"description\":\"Specifies the base value of the time series used to determine the demand series components.\",\"help\":\"BASE=AUTO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"AUTO\",\"description\":\"The base value is automatically determined by the time series median, minimum and maximum values, and the INTERMITTENT= option value of the FORECAST statement.\",\"type\":\"standalone\"}]},{\"name\":\"INTERVAL=\",\"optional\":true,\"description\":\"Specifies the smoothing model used to forecast the demand interval component.\",\"type\":\"value\"},{\"name\":\"SIZE=\",\"optional\":true,\"description\":\"Specifies the smoothing model used to forecast the demand size component.\",\"type\":\"value\"}]}],\"supportSiteInformation\":{\"docsetId\":\"hpfug\",\"docsetVersion\":\"latest\",\"docsetTargetFile\":\"hpfug_hpfsyntax_toc.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/HPFARIMASPEC.json",
    "content": "{\"name\":\"HPFARIMASPEC\",\"statements\":[{\"name\":\"PROC HPFARIMASPEC\",\"description\":\"The HPFARIMASPEC procedure is used to create an ARIMA (autoregressive integrated moving average) model specification file. The output of this procedure is an XML file that stores the intended ARIMA model specification.\",\"help\":\"PROC HPFARIMASPEC <LABEL=SAS-label><NAME=SAS-name><REPOSITORY=SAS-catalog-name | REPOSITORY=SAS-file-reference>;     \\n\\tESTIMATE <CONVERGE=value><METHOD=<ML | ULS | CLS>><NOEST> ...;\\n\\n\\tFORECAST <DIF=order | DIF=( order1, order2, ...)><P=order><SYMBOL=variable> ...;\\n\\n\\tINPUT <DIF=order | DIF=( order1, order2, ...)><PREDEFINED=<LINEAR | QUADRATIC | CUBIC>... ><(SYMBOL|VAR)=variable> ...;\\n\",\"arguments\":[{\"name\":\"LABEL=\",\"optional\":true,\"aliases\":[\"SPECLABEL=\"],\"description\":\"Specifies a descriptive label for the model specification to be stored in the SAS catalog or external file reference.\",\"help\":\"LABEL=*SAS-label*\",\"type\":\"value\"},{\"name\":\"NAME=\",\"optional\":true,\"aliases\":[\"SPECNAME=\"],\"description\":\"Names the model specification to be stored in the SAS catalog or external file reference.\",\"help\":\"NAME=*SAS-name*\",\"type\":\"value\"},{\"name\":\"REPOSITORY=\",\"optional\":true,\"aliases\":[\"MODELREPOSITORY=\",\"MODELREP=\",\"REP=\"],\"description\":\"Names the SAS catalog or external file reference to contain the model specification.\",\"type\":\"value\"}]},{\"name\":\"ESTIMATE\",\"description\":\"This is an optional statement in the procedure. Here you can specify the estimation method or whether to hold the model parameters fixed to their starting values. You can also specify some parameters that control the nonlinear optimization process.\",\"help\":\"ESTIMATE &lt;CONVERGE=value&gt;&lt;METHOD=&lt;ML | ULS | CLS&gt;&gt;&lt;NOEST&gt; ...\",\"arguments\":[{\"name\":\"CONVERGE=\",\"optional\":true,\"description\":\"Specifies the convergence criterion.\",\"help\":\"CONVERGE=*value*\",\"type\":\"value\"},{\"name\":\"DELTA=\",\"optional\":true,\"description\":\"Specifies the perturbation value for computing numerical derivatives.\",\"help\":\"DELTA=*value*\",\"type\":\"value\"},{\"name\":\"GRIDVAL=\",\"optional\":true,\"description\":\"[Help info is not currently available.]\",\"type\":\"value\"},{\"name\":\"MAXITER=\",\"optional\":true,\"aliases\":[\"MAXIT=\"],\"description\":\"Specifies the maximum number of iterations allowed.\",\"help\":\"MAXITER=*n*\",\"type\":\"value\"},{\"name\":\"METHOD=\",\"optional\":true,\"description\":\"Specifies the estimation method to use.\",\"help\":\"METHOD=ML | ULS | CLS*option*\",\"type\":\"value\",\"arguments\":[{\"name\":\"ML\",\"description\":\"Maximum likelihood\",\"type\":\"standalone\"},{\"name\":\"ULS\",\"description\":\"Unconditional least squares\",\"type\":\"standalone\"},{\"name\":\"CLS\",\"description\":\"Conditional least squares\",\"type\":\"standalone\"}]},{\"name\":\"NOEST\",\"optional\":true,\"description\":\"Uses the values specified with the AR=, MA=, and so on, as final parameter values. The estimation process is suppressed except for the estimation of the residual variance.\",\"type\":\"standalone\"},{\"name\":\"NOLS\",\"optional\":true,\"description\":\"Begins the maximum likelihood or unconditional least squares iterations from the preliminary estimates rather than from the conditional least squares estimates that are produced after four iterations.\",\"type\":\"standalone\"},{\"name\":\"NOSTABLE\",\"optional\":true,\"description\":\"Specifies that the autoregressive and moving average parameter estimates for the noise part of the model not be restricted to the stationary and invertible regions, respectively.\",\"type\":\"standalone\"},{\"name\":\"SINGULAR=\",\"optional\":true,\"description\":\"Specifies the criterion for checking singularity.\",\"help\":\"SINGULAR=*value*\",\"type\":\"value\"}]},{\"name\":\"FORECAST\",\"description\":\"The FORECAST statement specifies the operations to be performed on the response series as well as the autoregressive and moving average polynomials in the model.\",\"help\":\"FORECAST &lt;DIF=order | DIF=( order1, order2, ...)&gt;&lt;P=order&gt;&lt;SYMBOL=variable&gt; ...\",\"arguments\":[{\"name\":\"AR=\",\"optional\":true,\"description\":\"Lists starting values for the autoregressive parameters.\",\"type\":\"value\"},{\"name\":\"DIF=\",\"optional\":true,\"description\":\"Specifies the differencing orders for the dependent series.\",\"type\":\"value\"},{\"name\":\"MA=\",\"optional\":true,\"description\":\"Lists starting values for the moving average parameters.\",\"type\":\"value\"},{\"name\":\"MU=\",\"optional\":true,\"description\":\"Specifies the MU parameter.\",\"help\":\"MU=*value*\",\"type\":\"value\"},{\"name\":\"NOCONSTANT\",\"optional\":true,\"aliases\":[\"NOINT\",\"NOCONST\"],\"description\":\"Suppresses the fitting of a constant (or intercept) parameter in the model.\",\"type\":\"standalone\"},{\"name\":\"NOISEVAR=\",\"optional\":true,\"description\":\"Specifies the noise variance. This is useful only if you want to specify an externally published model that is fully specified.\",\"help\":\"NOISEVAR=*value*\",\"type\":\"value\"},{\"name\":\"P=\",\"optional\":true,\"description\":\"Syntax: P=order P=(lag, ..., lag ) ...(lag, ..., lag ) P=(lag, ..., lag )<s1> ...(lag, ..., lag )<sk> Specifies the autoregressive part of the model.\",\"help\":\"P=*order*\",\"type\":\"value\"},{\"name\":\"Q=\",\"optional\":true,\"description\":\"Syntax: Q=order Q=(lag, ..., lag ) ...(lag, ..., lag ) Q=(lag, ..., lag )<s1> ...(lag, ..., lag )<sk> Specifies the moving average part of the model.\",\"help\":\"Q=*order*\",\"type\":\"value\"},{\"name\":\"SYMBOL=\",\"optional\":true,\"aliases\":[\"VAR=\"],\"description\":\"Specifies a symbolic name for the dependent series.\",\"help\":\"SYMBOL=*variable*\",\"type\":\"value\"},{\"name\":\"TRANSFORM=\",\"optional\":true,\"description\":\"Specifies the transformation to be applied to the time series.\",\"help\":\"TRANSFORM=NONE | LOG | SQRT | LOGISTIC | BOXCOX*option*\",\"type\":\"value\",\"arguments\":[{\"name\":\"NONE\",\"description\":\"No transformation applied\",\"type\":\"standalone\"},{\"name\":\"LOG\",\"description\":\"Logarithmic transformation\",\"type\":\"standalone\"},{\"name\":\"SQRT\",\"description\":\"Square-root transformation\",\"type\":\"standalone\"},{\"name\":\"LOGISTIC\",\"description\":\"Logistic transformation\",\"type\":\"standalone\"},{\"name\":\"BOXCOX\",\"description\":\"Box-Cox transformation with parameter number where number is between –5 and 5\",\"type\":\"standalone\"}]},{\"name\":\"TRANSOPT=\",\"optional\":true,\"description\":\"Specifies that mean or median forecasts be estimated.\",\"help\":\"TRANSOPT=MEAN | MEDIAN*option*\",\"type\":\"value\",\"arguments\":[{\"name\":\"MEAN\",\"description\":\"Mean forecasts are estimated. This is the default.\",\"type\":\"standalone\"},{\"name\":\"MEDIAN\",\"description\":\"Median forecasts are estimated.\",\"type\":\"standalone\"}]}]},{\"name\":\"INPUT\",\"description\":\"The INPUT statements specify the transfer function inputs in the model. A separate INPUT statement is needed for each of the transfer function inputs.\",\"help\":\"INPUT &lt;DIF=order | DIF=( order1, order2, ...)&gt;&lt;PREDEFINED=&lt;LINEAR | QUADRATIC | CUBIC&gt;... &gt;&lt;(SYMBOL|VAR)=variable&gt; ...\",\"arguments\":[{\"name\":\"DC=\",\"optional\":true,\"description\":\"Lists starting values for the denominator polynomial coefficients.\",\"type\":\"value\"},{\"name\":\"DELAY=\",\"optional\":true,\"description\":\"Specifies the delay (or lag) order for the input series.\",\"help\":\"DELAY=*order*\",\"type\":\"value\"},{\"name\":\"DEN=\",\"optional\":true,\"description\":\"[Syntax: DEN=order DEN= (lag, ..., lag ) ...(lag, ..., lag ) DEN= (lag, ..., lag )<s1> ...(lag, ..., lag )<sk>] Specifies the denominator polynomial of the transfer function.\",\"help\":\"DEN=*order*\",\"type\":\"value\"},{\"name\":\"DIF=\",\"optional\":true,\"description\":\"Specifies the differencing orders for the input series.\",\"type\":\"value\"},{\"name\":\"NC=\",\"optional\":true,\"description\":\"Lists starting values for the numerator polynomial coefficients.\",\"type\":\"value\"},{\"name\":\"NUM=\",\"optional\":true,\"description\":\"[Syntax: NUM=order NUM= (lag, ..., lag ) ...(lag, ..., lag ) NUM= (lag, ..., lag )<s1> ...(lag, ..., lag )<sk> ] Specifies the numerator polynomial of the transfer function.\",\"help\":\"NUM=*order*\",\"type\":\"value\"},{\"name\":\"NZ=\",\"optional\":true,\"description\":\"Specifies the scale parameter—that is, the zero degree coefficient of the numerator.\",\"help\":\"NZ=*value*\",\"type\":\"value\"},{\"name\":\"PREDEFINED=\",\"optional\":true,\"description\":\"Associates a predefined trend or a set of seasonal dummy variables with this transfer function.\",\"help\":\"PREDEFINED=LINEAR | QUADRATIC | CUBIC | INVERSE | SEASONAL*option*\",\"type\":\"value\",\"arguments\":[{\"name\":\"LINEAR\",\"description\":\"Linear trend\",\"type\":\"standalone\"},{\"name\":\"QUADRATIC\",\"description\":\"Quadratic trend\",\"type\":\"standalone\"},{\"name\":\"CUBIC\",\"description\":\"Cubic trend\",\"type\":\"standalone\"},{\"name\":\"INVERSE\",\"description\":\"Inverse trend\",\"type\":\"standalone\"},{\"name\":\"SEASONAL\",\"description\":\"Seasonal dummies\",\"type\":\"standalone\"}]},{\"name\":\"SYMBOL=\",\"optional\":true,\"aliases\":[\"VAR=\"],\"description\":\"Specifies a symbolic name for the dependent series.\",\"type\":\"value\"},{\"name\":\"TRANSFORM=\",\"optional\":true,\"description\":\"Specifies the transformation to be applied to the time series.\",\"help\":\"TRANSFORM=NONE | LOG | SQRT | LOGISTIC | BOXCOX*option*\",\"type\":\"value\",\"arguments\":[{\"name\":\"NONE\",\"description\":\"No transformation applied\",\"type\":\"standalone\"},{\"name\":\"LOG\",\"description\":\"Logarithmic transformation\",\"type\":\"standalone\"},{\"name\":\"SQRT\",\"description\":\"Square-root transformation\",\"type\":\"standalone\"},{\"name\":\"LOGISTIC\",\"description\":\"Logistic transformation\",\"type\":\"standalone\"},{\"name\":\"BOXCOX\",\"description\":\"Box-Cox transformation with parameter number where number is between –5 and 5\",\"type\":\"standalone\"}]}]}],\"supportSiteInformation\":{\"docsetId\":\"hpfug\",\"docsetVersion\":\"latest\",\"docsetTargetFile\":\"hpfug_hpfarimaspec_toc.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/HPFDIAGNOSE.json",
    "content": "{\"name\":\"HPFDIAGNOSE\",\"statements\":[{\"name\":\"PROC HPFDIAGNOSE\",\"description\":\"The HPFDIAGNOSE procedure provides a comprehensive set of tools for automated univariate time series model identification. Time series data can have outliers, structural changes, and calendar effects. In the past, finding a good model for time series data usually required experience and expertise in time series analysis.\",\"help\":\"PROC HPFDIAGNOSE <ALPHA=value><BACK=number><BASENAME=SAS-name><CRITERION=SSE | MSE | RMSE... ><DATA=SAS data set><DELAYEVENT=number><DELAYINPUT=number><ENTRYPCT=number><ERRORCONTROL=( SEVERITY= ( severity-options)><EVENTBY=SAS data set><EXCEPTIONS=IGNORE | CATCH><HOLDOUT=number><HOLDOUTPCT=value><INEST=SAS data set><INEVENT=SAS data set><INPUTMISSINGPCT=value><INSELECTNAME=SAS-name><MINOBS=(SEASON=number TREND=number)><NODIAGNOSE><NOINESTOPTS><OUTEST=SAS data set><OUTOUTLIER=SAS data set><OUTPROCINFO= SAS-data-set><PREFILTER=MISSING | YES | EXTREME... ><PRINT=NONE | SHORT | LONG... ><REPOSITORY=catalog><RETAINCHOOSE=YES | NO | TRUE... ><SEASONALITY=number><SELECTBASE=SAS-name><SELECTEVENT=SELECT | ALL><SELECTINPUT=SELECT | ALL><SIGLEVEL=value><SPECBASE=SAS-name><TESTINPUT=TRANSFORM | TREND | BOTH>;     \\n\\tADJUST <ACCUMULATE=<NONE | TOTAL | AVERAGE|AVG>... ><OPERATION=<NONE | ADD | SUBTRACT>... ><SETMISSING=<MISSING | AVERAGE|AVG | MINIMUM|MIN>... > ...;\\n\\n\\tARIMAX <P=(number : number) (number : number)><PERROR=(number : number)><Q=(number : number) (number : number)> ...;\\n\\n\\tAUTOMODEL;\\n\\n\\tBY <DESCENDING><NOTSORTED> ;\\n\\n\\tESM <METHOD=<BEST | BESTN | BESTS>> ;\\n\\n\\tEVENT <REQUIRED=<YES | MAYBE | NO>> ;\\n\\n\\tFORECAST <ACCUMULATE=<NONE | TOTAL | AVERAGE|AVG>... ><SETMISSING=<MISSING | AVERAGE|AVG | MINIMUM|MIN>... ><TRIMMISS=<NONE | LEFT | RIGHT>... > ...;\\n\\n\\tID <ACCUMULATE=<NONE | TOTAL | AVERAGE|AVG>... ><ALIGN=<BEGINNING|BEG|B | MIDDLE|MID|M | ENDING|END|E>><END=option> ...;\\n\\n\\tIDM <BASE=<AUTO>><INTERMITTENT=number> ;\\n\\n\\tINPUT <ACCUMULATE=<NONE | TOTAL | AVERAGE|AVG>... ><REQUIRED=<YES | MAYBE | NO>><SETMISSING=<MISSING | AVERAGE|AVG | MINIMUM|MIN>... > ...;\\n\\n\\tTRANSFORM <P=number><SIGLEVEL=value><TRANSOPT=<MEAN | MEDIAN>> ...;\\n\\n\\tTREND <DIFF=<AUTO | NONE>><P=number><SDIFF=<AUTO | NONE>> ...;\\n\\n\\tUCM <COMPONENT=<ALL | AUTOREG | CYCLE>... ><REFINEPARMS= ( SIGLEVEL= | FACTOR=(ALL | EVENT | INPUT) | FIRST=EVENT | INPUT)><SIGLEVEL=value> ...;\\n\",\"arguments\":[{\"name\":\"ALPHA=\",\"optional\":true,\"description\":\"Specifies the confidence level size to use in computing the confidence limits in the model selection list files.\",\"help\":\"ALPHA=*value*\",\"type\":\"value\"},{\"name\":\"BACK=\",\"optional\":true,\"description\":\"Specifies the number of observations before the end of the data.\",\"help\":\"BACK=*number*\",\"type\":\"value\"},{\"name\":\"BASENAME=\",\"optional\":true,\"description\":\"Prefixes the model specification file name or the model selection list file name or both.\",\"help\":\"BASENAME=*SAS-name*\",\"type\":\"value\"},{\"name\":\"CRITERION=\",\"optional\":true,\"description\":\"Prefixes the model specification file name or the model selection list file name or both.\",\"help\":\"CRITERION=SSE | MSE | RMSE | UMSE | URMSE | MAXPE | MINPE | MPE | MAPE | MDAPE | GMAPE | MAPES | MDAPES | GMAPES | MINPPE | MAXPPE | MPPE | MAPPE | MDAPPE | GMAPPE | MINSPE | MAXSPE | MSPE | SMAPE | MDASPE | GMASPE | MINRE | MAXRE | MRE | MRAE | MDRAE | GMRAE | MAXERR | MINERR | ME | MAE | MASE | RSQUARE | ADJRSQ | AADJRSQ | RWRSQ | AIC | AICC | SBC | APC*option*\",\"type\":\"value\",\"arguments\":[{\"name\":\"SSE\",\"description\":\"sum of square error\",\"type\":\"standalone\"},{\"name\":\"MSE\",\"description\":\"mean squared error\",\"type\":\"standalone\"},{\"name\":\"RMSE\",\"description\":\"root mean squared error\",\"type\":\"standalone\"},{\"name\":\"UMSE\",\"description\":\"unbiased mean squared error\",\"type\":\"standalone\"},{\"name\":\"URMSE\",\"description\":\"unbiased root mean squared error\",\"type\":\"standalone\"},{\"name\":\"MAXPE\",\"description\":\"maximum percent error\",\"type\":\"standalone\"},{\"name\":\"MINPE\",\"description\":\"minimum percent error\",\"type\":\"standalone\"},{\"name\":\"MPE\",\"description\":\"mean percent error\",\"type\":\"standalone\"},{\"name\":\"MAPE\",\"description\":\"mean absolute percent error\",\"type\":\"standalone\"},{\"name\":\"MDAPE\",\"description\":\"median percent error\",\"type\":\"standalone\"},{\"name\":\"GMAPE\",\"description\":\"geometric mean percent error\",\"type\":\"standalone\"},{\"name\":\"MAPES\",\"description\":\"mean absolute error percent of standard deviation\",\"type\":\"standalone\"},{\"name\":\"MDAPES\",\"description\":\"median absolute error percent of standard deviation\",\"type\":\"standalone\"},{\"name\":\"GMAPES\",\"description\":\"geometric mean absolute error percent of standard deviation\",\"type\":\"standalone\"},{\"name\":\"MINPPE\",\"description\":\"minimum predictive percent error\",\"type\":\"standalone\"},{\"name\":\"MAXPPE\",\"description\":\"maximum predictive percent error\",\"type\":\"standalone\"},{\"name\":\"MPPE\",\"description\":\"mean predictive percent error\",\"type\":\"standalone\"},{\"name\":\"MAPPE\",\"description\":\"symmetric mean absolute predictive percent error\",\"type\":\"standalone\"},{\"name\":\"MDAPPE\",\"description\":\"median predictive percent error\",\"type\":\"standalone\"},{\"name\":\"GMAPPE\",\"description\":\"geometric mean predictive percent error\",\"type\":\"standalone\"},{\"name\":\"MINSPE\",\"description\":\"minimum symmetric percent error\",\"type\":\"standalone\"},{\"name\":\"MAXSPE\",\"description\":\"maximum symmetric percent error\",\"type\":\"standalone\"},{\"name\":\"MSPE\",\"description\":\"mean symmetric percent error\",\"type\":\"standalone\"},{\"name\":\"SMAPE\",\"description\":\"symmetric mean absolute percent error\",\"type\":\"standalone\"},{\"name\":\"MDASPE\",\"description\":\"median symmetric percent error\",\"type\":\"standalone\"},{\"name\":\"GMASPE\",\"description\":\"geometric mean symmetric percent error\",\"type\":\"standalone\"},{\"name\":\"MINRE\",\"description\":\"minimum relative error\",\"type\":\"standalone\"},{\"name\":\"MAXRE\",\"description\":\"maximum relative error\",\"type\":\"standalone\"},{\"name\":\"MRE\",\"description\":\"mean relative error\",\"type\":\"standalone\"},{\"name\":\"MRAE\",\"description\":\"mean relative absolute error\",\"type\":\"standalone\"},{\"name\":\"MDRAE\",\"description\":\"median relative absolute error\",\"type\":\"standalone\"},{\"name\":\"GMRAE\",\"description\":\"geometric mean relative absolute error\",\"type\":\"standalone\"},{\"name\":\"MAXERR\",\"description\":\"maximum error\",\"type\":\"standalone\"},{\"name\":\"MINERR\",\"description\":\"minimum error\",\"type\":\"standalone\"},{\"name\":\"ME\",\"description\":\"mean error\",\"type\":\"standalone\"},{\"name\":\"MAE\",\"description\":\"mean absolute error\",\"type\":\"standalone\"},{\"name\":\"MASE\",\"description\":\"mean absolute scaled error\",\"type\":\"standalone\"},{\"name\":\"RSQUARE\",\"description\":\"R-square\",\"type\":\"standalone\"},{\"name\":\"ADJRSQ\",\"description\":\"adjusted R-square\",\"type\":\"standalone\"},{\"name\":\"AADJRSQ\",\"description\":\"Amemiya’s adjusted R-square\",\"type\":\"standalone\"},{\"name\":\"RWRSQ\",\"description\":\"random walk R-square\",\"type\":\"standalone\"},{\"name\":\"AIC\",\"description\":\"Akaike information criterion\",\"type\":\"standalone\"},{\"name\":\"AICC\",\"description\":\"Akaike information Corrected criterion\",\"type\":\"standalone\"},{\"name\":\"SBC\",\"description\":\"Schwarz Bayesian information criterion\",\"type\":\"standalone\"},{\"name\":\"APC\",\"description\":\"Amemiya’s prediction criterion\",\"type\":\"standalone\"}]},{\"name\":\"DATA=\",\"optional\":true,\"description\":\"Specifies the name of the SAS data set that contains the time series. If the DATA= option is not specified, the most recently created SAS data set is used.\",\"help\":\"DATA=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"DELAYEVENT=\",\"optional\":true,\"description\":\"Specifies the delay lag for the events. If the option is not specified, the delay lag for the events is set to zero by default.\",\"help\":\"DELAYEVENT=*number*\",\"type\":\"value\"},{\"name\":\"DELAYINPUT=\",\"optional\":true,\"description\":\"Specifies the delay lag for the inputs. If the option is not specified, the delay lag for the inputs is appropriately chosen by the procedure.\",\"help\":\"DELAYINPUT=*number*\",\"type\":\"value\"},{\"name\":\"ENTRYPCT=\",\"optional\":true,\"description\":\"Specifies a threshold to check the percentage increment of the criterion between two candidate models. The ENTRYPCT=value should be in (0,100); the default is ENTRYPCT=0.1.\",\"help\":\"ENTRYPCT=*number*\",\"type\":\"value\"},{\"name\":\"ERRORCONTROL=\",\"optional\":true,\"description\":\"[Syntax: ERRORCONTROL=( SEVERITY= ( severity-options) STAGE= ( stage-options) MAXMESSAGE=number) ] Allows finer control of message printing. The error severity level and the HPFDIAGNOSE procedure processing stages are set independently.\",\"type\":\"value\"},{\"name\":\"EVENTBY=\",\"optional\":true,\"description\":\"Specifies the name of the event data set that contains the events for specific BY groups that are created by DATA steps.\",\"type\":\"value\"},{\"name\":\"EXCEPTIONS=\",\"optional\":true,\"description\":\"Specifies the desired handling of arithmetic exceptions during the run.\",\"help\":\"EXCEPTIONS=IGNORE | CATCH*except-option*\",\"type\":\"value\",\"arguments\":[{\"name\":\"IGNORE\",\"description\":\"Specifies that PROC HPFDIAGNOSE stop on an arithmetic exception.\",\"type\":\"standalone\"},{\"name\":\"CATCH\",\"description\":\"Specifies that PROC HPFDIAGNOSE skip the generation of diagnostic output for the variable that produces the exception in the current BY group.\",\"type\":\"standalone\"}]},{\"name\":\"HOLDOUT=\",\"optional\":true,\"description\":\"Specifies the size of the holdout sample to be used for model selection.\",\"help\":\"HOLDOUT=*number*\",\"type\":\"value\"},{\"name\":\"HOLDOUTPCT=\",\"optional\":true,\"description\":\"Specifies the size of the holdout sample as a percentage of the length of the dependent time series.\",\"help\":\"HOLDOUTPCT=*value*\",\"type\":\"value\"},{\"name\":\"INEST=\",\"optional\":true,\"description\":\"Contains information that maps forecast variables to models or selection lists, and data set variables to model variables.\",\"type\":\"value\"},{\"name\":\"INEVENT=\",\"optional\":true,\"description\":\"Specifies the name of the event data set that contains the event definitions created by the HPFEVENTS procedure.\",\"type\":\"value\"},{\"name\":\"INPUTMISSINGPCT=\",\"optional\":true,\"description\":\"Specifies the size of the missing observation as a percentage of the length of the input time series.\",\"help\":\"INPUTMISSINGPCT=*value*\",\"type\":\"value\"},{\"name\":\"INSELECTNAME=\",\"optional\":true,\"description\":\"Specifies the name of a catalog entry that serves as a model selection list.\",\"help\":\"INSELECTNAME=*SAS-name*\",\"type\":\"value\"},{\"name\":\"MINOBS=\",\"optional\":true,\"description\":\"SEASON= specifies that no seasonal model is fitted to any series with fewer nonmissing observations than number (season length). The value of number must be greater than or equal to 1. The default is number = 2.\",\"help\":\"MINOBS=SEASON= | TREND=\",\"type\":\"choice\",\"arguments\":[{\"name\":\"SEASON=\",\"type\":\"value\"},{\"name\":\"TREND=\",\"type\":\"value\"}]},{\"name\":\"NODIAGNOSE\",\"optional\":true,\"description\":\"Specifies that the series is not diagnosed. If the INSELECTNAME= option and OUTEST= option are specified, the existing model specification files are written to the OUTEST data set.\",\"type\":\"standalone\"},{\"name\":\"NOINESTOPTS\",\"optional\":true,\"description\":\"Specifies that the selection lists referred to by the INEST= option are not used in the diagnosed version.\",\"type\":\"standalone\"},{\"name\":\"OUTEST=\",\"optional\":true,\"description\":\"Contains information that maps data set variables to model symbols and references model specification files and model selection list files.\",\"type\":\"value\"},{\"name\":\"OUTOUTLIER=\",\"optional\":true,\"description\":\"Contains information that is associated with the detected outliers.\",\"type\":\"value\"},{\"name\":\"OUTPROCINFO=\",\"optional\":true,\"description\":\"Names the output data set to contain the summary information of the processing done by PROC HPFDIAGNOSE . It is particularly useful for easy programmatic assessment of the status of the procedure’s execution via a data set instead of looking at or parsing the SAS log.\",\"type\":\"value\"},{\"name\":\"PREFILTER=\",\"optional\":true,\"description\":\"Specifies handling missing and extreme values prior to diagnostic tests.\",\"help\":\"PREFILTER=MISSING | YES | EXTREME | BOTH\",\"type\":\"choice\",\"arguments\":[{\"name\":\"MISSING\",\"description\":\"Smoothed values for missing data are applied for tentative order selection and missing values are used for the final diagnostics.\",\"type\":\"standalone\"},{\"name\":\"YES\",\"description\":\"Smoothed values for missing data are applied to overall diagnoses. This option is the default.\",\"type\":\"standalone\"},{\"name\":\"EXTREME\",\"description\":\"Extreme values set to missing for a tentative ARIMA model and extreme values are used for the final ARIMAX model diagnostics.\",\"type\":\"standalone\"},{\"name\":\"BOTH\",\"description\":\"This value is equivalent to both YES and EXTREME.\",\"type\":\"standalone\"}]},{\"name\":\"PRINT=\",\"optional\":true,\"description\":\"Specifies the print option.\",\"help\":\"PRINT=NONE | SHORT | LONG | ALL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NONE\",\"description\":\"Suppresses the printed output. This option is the default.\",\"type\":\"standalone\"},{\"name\":\"SHORT\",\"description\":\"Prints the model specifications. This option also prints only the significant input variables, events, and outliers.\",\"type\":\"standalone\"},{\"name\":\"LONG\",\"description\":\"Prints the summary of the transform, the stationarity test, and the determination of ARMA order in addition to all of the information printed by PRINT=SHORT.\",\"type\":\"standalone\"},{\"name\":\"ALL\",\"description\":\"Prints the details of the stationarity test and the determination of ARMA order. This option prints the detail information about all input variables and events under consideration.\",\"type\":\"standalone\"}]},{\"name\":\"REPOSITORY=\",\"optional\":true,\"aliases\":[\"MODELREPOSITORY=\",\"MODELREP=\",\"REP=\"],\"description\":\"Contains information about model specification files and model selection list files.\",\"help\":\"REPOSITORY=*catalog*\",\"type\":\"dataSet\"},{\"name\":\"RETAINCHOOSE=\",\"optional\":true,\"description\":\"Specifies that the CHOOSE= option in the HPFSELECT procedure is respected when re-diagnosing series. The default is RETAINCHOOSE=YES.\",\"help\":\"RETAINCHOOSE=YES | NO | TRUE | FALSE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YES\",\"description\":\"Yes\",\"type\":\"standalone\"},{\"name\":\"NO\",\"description\":\"No\",\"type\":\"standalone\"},{\"name\":\"TRUE\",\"description\":\"True\",\"type\":\"standalone\"},{\"name\":\"FALSE\",\"description\":\"False\",\"type\":\"standalone\"}]},{\"name\":\"SEASONALITY=\",\"optional\":true,\"description\":\"Specifies the length of the seasonal cycle. The number should be a positive integer.\",\"help\":\"SEASONALITY=*number*\",\"type\":\"value\"},{\"name\":\"SELECTBASE=\",\"optional\":true,\"description\":\"Prefixes the model selection list file name.\",\"help\":\"SELECTBASE=*SAS-name*\",\"type\":\"value\"},{\"name\":\"SELECTEVENT=\",\"optional\":true,\"description\":\"Specifies the maximum number of events to select.\",\"help\":\"SELECTEVENT=SELECT | ALL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"SELECT\",\"description\":\"Selects the events that satisfy the criteria (noncollinearity, smaller AIC). This option is the default.\",\"type\":\"standalone\"},{\"name\":\"ALL\",\"description\":\"Selects the events that satisfy the criteria (noncollinearity).\",\"type\":\"standalone\"}]},{\"name\":\"SELECTINPUT=\",\"optional\":true,\"description\":\"Specifies the maximum number of the input variables to select.\",\"help\":\"SELECTINPUT=SELECT | ALL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"SELECT\",\"description\":\"Selects the input variables that satisfy the criteria (noncollinearity, nonnegative delay, smaller AIC). This option is the default.\",\"type\":\"standalone\"},{\"name\":\"ALL\",\"description\":\"Selects the input variables that satisfy the criteria (noncollinearity, nonnegative delay).\",\"type\":\"standalone\"}]},{\"name\":\"SIGLEVEL=\",\"optional\":true,\"description\":\"Specifies the cutoff value for all diagnostic tests such as log transformation, stationarity, tentative ARMA order selection, and significance of UCM components.\",\"help\":\"SIGLEVEL=*value*\",\"type\":\"value\"},{\"name\":\"SPECBASE=\",\"optional\":true,\"description\":\"Prefixes the model specification file name.\",\"help\":\"SPECBASE=*SAS-name*\",\"type\":\"value\"},{\"name\":\"TESTINPUT=\",\"optional\":true,\"description\":\"If this option is not specified, the same differencing is applied to the input variables as is used for the variable to be forecast, and no transformation is applied to the input variables.\",\"help\":\"TESTINPUT=TRANSFORM | TREND | BOTH\",\"type\":\"choice\",\"arguments\":[{\"name\":\"TRANSFORM\",\"description\":\"Specifies that the log transform testing of the input variables is applied independently of the variable to be forecast.\",\"type\":\"standalone\"},{\"name\":\"TREND\",\"description\":\"Specifies that the trend testing of the input variables is applied independently of the variable to be forecast.\",\"type\":\"standalone\"},{\"name\":\"BOTH\",\"description\":\"Specifies that the log transform and trend testing of the input variables are applied independently of the variable to be forecast.\",\"type\":\"standalone\"}]}]},{\"name\":\"ADJUST\",\"description\":\"The ADJUST statement lists the numeric variables in the DATA= data set whose accumulated values are used to adjust the dependent values. Adjustments are performed before diagnostics.\",\"help\":\"ADJUST &lt;ACCUMULATE=&lt;NONE | TOTAL | AVERAGE|AVG&gt;... &gt;&lt;OPERATION=&lt;NONE | ADD | SUBTRACT&gt;... &gt;&lt;SETMISSING=&lt;MISSING | AVERAGE|AVG | MINIMUM|MIN&gt;... &gt; ...\",\"arguments\":[{\"name\":\"ACCUMULATE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies how the data set observations are accumulated within each time period for the variables listed in the FORECAST statement.\",\"help\":\"ACCUMULATE=NONE | TOTAL | AVERAGE | MINIMUM | MEDIAN | MAXIMUM | N | NMISS | NOBS | FIRST | LAST | STDDEV | CSS | USS*option*\",\"type\":\"value\",\"arguments\":[{\"name\":\"NONE\",\"followsDelimiter\":\"/\",\"description\":\"None\",\"type\":\"standalone\"},{\"name\":\"TOTAL\",\"followsDelimiter\":\"/\",\"description\":\"Total\",\"type\":\"standalone\"},{\"name\":\"AVERAGE\",\"followsDelimiter\":\"/\",\"aliases\":[\"AVG\"],\"description\":\"Average\",\"type\":\"standalone\"},{\"name\":\"MINIMUM\",\"followsDelimiter\":\"/\",\"aliases\":[\"MIN\"],\"description\":\"Minimum\",\"type\":\"standalone\"},{\"name\":\"MEDIAN\",\"followsDelimiter\":\"/\",\"aliases\":[\"MED\"],\"description\":\"Median\",\"type\":\"standalone\"},{\"name\":\"MAXIMUM\",\"followsDelimiter\":\"/\",\"aliases\":[\"MAX\"],\"description\":\"Maximum\",\"type\":\"standalone\"},{\"name\":\"N\",\"followsDelimiter\":\"/\",\"description\":\"N\",\"type\":\"standalone\"},{\"name\":\"NMISS\",\"followsDelimiter\":\"/\",\"description\":\"NMISS\",\"type\":\"standalone\"},{\"name\":\"NOBS\",\"followsDelimiter\":\"/\",\"description\":\"NOBS\",\"type\":\"standalone\"},{\"name\":\"FIRST\",\"followsDelimiter\":\"/\",\"description\":\"First\",\"type\":\"standalone\"},{\"name\":\"LAST\",\"followsDelimiter\":\"/\",\"description\":\"Last\",\"type\":\"standalone\"},{\"name\":\"STDDEV\",\"followsDelimiter\":\"/\",\"aliases\":[\"STD\"],\"description\":\"STDDEV\",\"type\":\"standalone\"},{\"name\":\"CSS\",\"followsDelimiter\":\"/\",\"description\":\"CSS\",\"type\":\"standalone\"},{\"name\":\"USS\",\"followsDelimiter\":\"/\",\"description\":\"USS\",\"type\":\"standalone\"}]},{\"name\":\"OPERATION=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies how the adjustments are applied to the forecast variable.\",\"help\":\"OPERATION=NONE | ADD | SUBTRACT | MULTIPLY | DIVIDE | MIN | MAX*option*\",\"type\":\"value\",\"arguments\":[{\"name\":\"NONE\",\"followsDelimiter\":\"/\",\"description\":\"No adjustment operation is performed. This is the default.\",\"type\":\"standalone\"},{\"name\":\"ADD\",\"followsDelimiter\":\"/\",\"description\":\"Variables listed in the adjustment statement are added to the dependent variable.\",\"type\":\"standalone\"},{\"name\":\"SUBTRACT\",\"followsDelimiter\":\"/\",\"description\":\"Variables listed in the adjustment statement are subtracted from the dependent variable.\",\"type\":\"standalone\"},{\"name\":\"MULTIPLY\",\"followsDelimiter\":\"/\",\"description\":\"Dependent variable is multiplied by variables listed in the adjustment statement.\",\"type\":\"standalone\"},{\"name\":\"DIVIDE\",\"followsDelimiter\":\"/\",\"description\":\"Dependent variable is divided by variables listed in the adjustment statement.\",\"type\":\"standalone\"},{\"name\":\"MIN\",\"followsDelimiter\":\"/\",\"description\":\"Dependent variable is set to the minimum of the dependent variable and all variables listed in the adjustment statement.\",\"type\":\"standalone\"},{\"name\":\"MAX\",\"followsDelimiter\":\"/\",\"description\":\"Dependent variable is set to the maximum of the dependent variable and all variables listed in the adjustment statement.\",\"type\":\"standalone\"}]},{\"name\":\"SETMISSING=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies how missing values (either actual or accumulated) are assigned in the accumulated time series for variables listed in the FORECAST statement.\",\"help\":\"SETMISSING=MISSING | AVERAGE | MINIMUM | MEDIAN | MAXIMUM | FIRST | LAST | PREVIOUS | NEXT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"MISSING\",\"followsDelimiter\":\"/\",\"description\":\"Missing\",\"type\":\"standalone\"},{\"name\":\"AVERAGE\",\"followsDelimiter\":\"/\",\"aliases\":[\"AVG\"],\"description\":\"Average\",\"type\":\"standalone\"},{\"name\":\"MINIMUM\",\"followsDelimiter\":\"/\",\"aliases\":[\"MIN\"],\"description\":\"Minimum\",\"type\":\"standalone\"},{\"name\":\"MEDIAN\",\"followsDelimiter\":\"/\",\"aliases\":[\"MED\"],\"description\":\"Median\",\"type\":\"standalone\"},{\"name\":\"MAXIMUM\",\"followsDelimiter\":\"/\",\"aliases\":[\"MAX\"],\"description\":\"Maximum\",\"type\":\"standalone\"},{\"name\":\"FIRST\",\"followsDelimiter\":\"/\",\"description\":\"First\",\"type\":\"standalone\"},{\"name\":\"LAST\",\"followsDelimiter\":\"/\",\"description\":\"Last\",\"type\":\"standalone\"},{\"name\":\"PREVIOUS\",\"followsDelimiter\":\"/\",\"aliases\":[\"PREV\"],\"description\":\"Previous\",\"type\":\"standalone\"},{\"name\":\"NEXT\",\"followsDelimiter\":\"/\",\"description\":\"Next\",\"type\":\"standalone\"}]},{\"name\":\"TRIMMISS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies how missing values (either actual or accumulated) are trimmed from the accumulated time series for variables listed in the FORECAST statement.\",\"help\":\"TRIMMISS=NONE | LEFT | RIGHT | BOTH*option*\",\"type\":\"value\",\"arguments\":[{\"name\":\"NONE\",\"followsDelimiter\":\"/\",\"description\":\"No missing value trimming is applied.\",\"type\":\"standalone\"},{\"name\":\"LEFT\",\"followsDelimiter\":\"/\",\"description\":\"Beginning missing values are trimmed.\",\"type\":\"standalone\"},{\"name\":\"RIGHT\",\"followsDelimiter\":\"/\",\"description\":\"Ending missing values are trimmed.\",\"type\":\"standalone\"},{\"name\":\"BOTH\",\"followsDelimiter\":\"/\",\"description\":\"Both beginning and ending missing value are trimmed.\",\"type\":\"standalone\"}]},{\"name\":\"ZEROMISS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies how missing values (either actual or accumulated) are trimmed from the accumulated time series for variables listed in the FORECAST statement.\",\"help\":\"ZEROMISS=NONE | LEFT | RIGHT | BOTH*option*\",\"type\":\"value\",\"arguments\":[{\"name\":\"NONE\",\"followsDelimiter\":\"/\",\"description\":\"Beginning and/or ending zeros unchanged.\",\"type\":\"standalone\"},{\"name\":\"LEFT\",\"followsDelimiter\":\"/\",\"description\":\"Beginning zeros are set to missing.\",\"type\":\"standalone\"},{\"name\":\"RIGHT\",\"followsDelimiter\":\"/\",\"description\":\"Ending zeros are set to missing.\",\"type\":\"standalone\"},{\"name\":\"BOTH\",\"followsDelimiter\":\"/\",\"description\":\"Both beginning and ending zeros are set to missing.\",\"type\":\"standalone\"}]}]},{\"name\":\"ARIMAX\",\"description\":\"The HPFDIAGNOSE procedure performs the intermittency test first. If the series is intermittent, an intermittent demand model is fitted to the data and the ARIMAX statement is not applicable. If the series is not intermittent, an ARIMAX model is fitted to the data.\",\"help\":\"ARIMAX &lt;P=(number : number) (number : number)&gt;&lt;PERROR=(number : number)&gt;&lt;Q=(number : number) (number : number)&gt; ...\",\"arguments\":[{\"name\":\"CRITERION=\",\"optional\":true,\"description\":\"Specifies the criterion for the tentative ARMA order selection. The default is CRITERION=SBC.\",\"help\":\"CRITERION=AIC | SBC\",\"type\":\"choice\",\"arguments\":[{\"name\":\"AIC\",\"description\":\"AIC\",\"type\":\"standalone\"},{\"name\":\"SBC\",\"description\":\"SBC\",\"type\":\"standalone\"}]},{\"name\":\"DEN=\",\"optional\":true,\"description\":\"Specifies the range of the denominator order of the transfer function. The default is (0:2).\",\"type\":\"value\"},{\"name\":\"ESTMETHOD=\",\"optional\":true,\"description\":\"Specifies the method for choosing the tentative ARMA orders (Choi 1992; Tsay and Tiao 1984).\",\"help\":\"ESTMETHOD=CLS | ULS | ML\",\"type\":\"choice\",\"arguments\":[{\"name\":\"CLS\",\"description\":\"Conditional least squares method. This option is the default.\",\"type\":\"standalone\"},{\"name\":\"ULS\",\"description\":\"Unconditional least squares method.\",\"type\":\"standalone\"},{\"name\":\"ML\",\"description\":\"Maximum likelihood method.\",\"type\":\"standalone\"}]},{\"name\":\"IDENTIFYORDER=\",\"optional\":true,\"aliases\":[\"IDENTIFY=\"],\"description\":\"Specifies the identification order when inputs and events are specified.\",\"help\":\"IDENTIFYORDER=ARIMA | REG | BOTH\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ARIMA\",\"description\":\"Finds an ARIMA model for the error series first and then chooses significant inputs and events. This option is the default.\",\"type\":\"standalone\"},{\"name\":\"REG\",\"description\":\"Finds a regression model first and then decides the AR and MA polynomial orders.\",\"type\":\"standalone\"},{\"name\":\"BOTH\",\"description\":\"Fits models by using the two methods and determines the better model.\",\"type\":\"standalone\"}]},{\"name\":\"METHOD=\",\"optional\":true,\"description\":\"Specifies the method for choosing the tentative ARMA orders (Choi 1992; Tsay and Tiao 1984).\",\"help\":\"METHOD=ESACF | MINIC | SCAN\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ESACF\",\"description\":\"Extended sample autocorrelation function.\",\"type\":\"standalone\"},{\"name\":\"MINIC\",\"description\":\"Minimum information criterion. This option is the default.\",\"type\":\"standalone\"},{\"name\":\"SCAN\",\"description\":\"Smallest canonical correlation analysis.\",\"type\":\"standalone\"}]},{\"name\":\"NOINT\",\"optional\":true,\"aliases\":[\"NOCONSTANT\"],\"description\":\"Suppresses the intercept (constant) term.\",\"type\":\"standalone\"},{\"name\":\"NUM=\",\"optional\":true,\"description\":\"Specifies the range of the numerator order of the transfer function. The default is (0:2).\",\"type\":\"value\"},{\"name\":\"OUTLIER=\",\"optional\":true,\"description\":\"Specifies outlier detection in an ARIMAX model (de Jong and Penzer 1998).\",\"type\":\"value\"},{\"name\":\"P=\",\"optional\":true,\"description\":\"Specifies the range of the nonseasonal and seasonal AR orders. The default is (0:5)(0:2).\",\"type\":\"value\"},{\"name\":\"PERROR=\",\"optional\":true,\"description\":\"Specifies the range of the AR order for obtaining the error series used in the MINIC method. The default is (maxp:maxp+maxq).\",\"type\":\"value\"},{\"name\":\"Q=\",\"optional\":true,\"description\":\"Specifies the range of the nonseasonal and seasonal MA orders. The default is (0:5)(0:2).\",\"type\":\"value\"},{\"name\":\"REFINEPARMS=\",\"optional\":true,\"description\":\"Specifies to refine insignificant parameters of the final model, identify the factors to refine, and identify the order of factors.\",\"type\":\"value\"},{\"name\":\"SIGLEVEL=\",\"optional\":true,\"description\":\"Specifies the significance level to use as a cutoff value to decide the AR and MA orders.\",\"help\":\"SIGLEVEL=*value*\",\"type\":\"value\"}]},{\"name\":\"AUTOMODEL\",\"aliases\":[\"AUTOM\"],\"description\":\"[Help info not currently available.]\",\"help\":\"AUTOMODEL\"},{\"name\":\"BY\",\"description\":\"A BY statement can be used with PROC HPFDIAGNOSE to obtain separate dummy variable definitions for groups of observations defined by the BY variables.\",\"help\":\"BY &lt;DESCENDING&gt;&lt;NOTSORTED&gt;\",\"arguments\":[{\"name\":\"DESCENDING\",\"optional\":true,\"description\":\"Specifies that the observations are sorted in descending order by the variable that immediately follows the word DESCENDING in the BY statement.\",\"type\":\"standalone\"},{\"name\":\"NOTSORTED\",\"optional\":true,\"description\":\"Specifies that observations are not necessarily sorted in alphabetic or numeric order.\",\"type\":\"standalone\"}]},{\"name\":\"ESM\",\"description\":\"An ESM statement can be used to find an appropriate exponential smoothing model specification based on the model selection criterion (McKenzie 1984).\",\"help\":\"ESM &lt;METHOD=&lt;BEST | BESTN | BESTS&gt;&gt;\",\"arguments\":[{\"name\":\"METHOD=\",\"optional\":true,\"description\":\"Specifies the identification order when inputs and events are specified.\",\"help\":\"METHOD=BEST | BESTN | BESTS\",\"type\":\"choice\",\"arguments\":[{\"name\":\"BEST\",\"description\":\"Fits the best candidate smoothing model (SIMPLE, DOUBLE, LINEAR, DAMPTREND, SEASONAL, WINTERS, ADDWINTERS). This is the default.\",\"type\":\"standalone\"},{\"name\":\"BESTN\",\"description\":\"Fits the best candidate nonseasonal smoothing model (SIMPLE, DOUBLE, LINEAR, DAMPTREND).\",\"type\":\"standalone\"},{\"name\":\"BESTS\",\"description\":\"Fits the best candidate seasonal smoothing model (SEASONAL, WINTERS, ADDWINTERS).\",\"type\":\"standalone\"}]}]},{\"name\":\"EVENT\",\"description\":\"An ESM statement can be used to find an appropriate exponential smoothing model specification based on the model selection criterion (McKenzie 1984).\",\"help\":\"EVENT &lt;REQUIRED=&lt;YES | MAYBE | NO&gt;&gt;\",\"arguments\":[{\"name\":\"REQUIRED=\",\"optional\":true,\"description\":\"The same differencing is applied to the events as is used for the variables to be forecast. No functional transformations are applied to the events.\",\"help\":\"REQUIRED=YES | MAYBE | NO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YES\",\"description\":\"Specifies that the events be included in the model as long as the model does not fail to be diagnosed.\",\"type\":\"standalone\"},{\"name\":\"MAYBE\",\"description\":\"Specifies that the events be included in the model as long as the parameters of events are significant.\",\"type\":\"standalone\"},{\"name\":\"NO\",\"description\":\"Specifies that the events be included in the model as long as the parameters of events are significant and the increment of the value of criterion exceeds a threshold. The default is REQUIRED=NO.\",\"type\":\"standalone\"}]}]},{\"name\":\"FORECAST\",\"description\":\"Any number of FORECAST statements can be used in the HPFDIAGNOSE procedure. The FORECAST statement lists the variables in the DATA= data set to be diagnosed. The variables are dependent or response variables that you want to forecast in the HPFENGINE procedure.\",\"help\":\"FORECAST &lt;ACCUMULATE=&lt;NONE | TOTAL | AVERAGE|AVG&gt;... &gt;&lt;SETMISSING=&lt;MISSING | AVERAGE|AVG | MINIMUM|MIN&gt;... &gt;&lt;TRIMMISS=&lt;NONE | LEFT | RIGHT&gt;... &gt; ...\",\"arguments\":[{\"name\":\"ACCUMULATE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies how the data set observations are accumulated within each time period for the variables listed in the FORECAST statement.\",\"help\":\"ACCUMULATE=NONE | TOTAL | AVERAGE | MINIMUM | MEDIAN | MAXIMUM | N | NMISS | NOBS | FIRST | LAST | STDDEV | CSS | USS*option*\",\"type\":\"value\",\"arguments\":[{\"name\":\"NONE\",\"followsDelimiter\":\"/\",\"description\":\"None\",\"type\":\"standalone\"},{\"name\":\"TOTAL\",\"followsDelimiter\":\"/\",\"description\":\"Total\",\"type\":\"standalone\"},{\"name\":\"AVERAGE\",\"followsDelimiter\":\"/\",\"aliases\":[\"AVG\"],\"description\":\"Average\",\"type\":\"standalone\"},{\"name\":\"MINIMUM\",\"followsDelimiter\":\"/\",\"aliases\":[\"MIN\"],\"description\":\"Minimum\",\"type\":\"standalone\"},{\"name\":\"MEDIAN\",\"followsDelimiter\":\"/\",\"aliases\":[\"MED\"],\"description\":\"Median\",\"type\":\"standalone\"},{\"name\":\"MAXIMUM\",\"followsDelimiter\":\"/\",\"aliases\":[\"MAX\"],\"description\":\"Maximum\",\"type\":\"standalone\"},{\"name\":\"N\",\"followsDelimiter\":\"/\",\"description\":\"N\",\"type\":\"standalone\"},{\"name\":\"NMISS\",\"followsDelimiter\":\"/\",\"description\":\"NMISS\",\"type\":\"standalone\"},{\"name\":\"NOBS\",\"followsDelimiter\":\"/\",\"description\":\"NOBS\",\"type\":\"standalone\"},{\"name\":\"FIRST\",\"followsDelimiter\":\"/\",\"description\":\"First\",\"type\":\"standalone\"},{\"name\":\"LAST\",\"followsDelimiter\":\"/\",\"description\":\"Last\",\"type\":\"standalone\"},{\"name\":\"STDDEV\",\"followsDelimiter\":\"/\",\"aliases\":[\"STD\"],\"description\":\"STDDEV\",\"type\":\"standalone\"},{\"name\":\"CSS\",\"followsDelimiter\":\"/\",\"description\":\"CSS\",\"type\":\"standalone\"},{\"name\":\"USS\",\"followsDelimiter\":\"/\",\"description\":\"USS\",\"type\":\"standalone\"}]},{\"name\":\"SETMISSING=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies how missing values (either actual or accumulated) are assigned in the accumulated time series for variables listed in the FORECAST statement.\",\"help\":\"SETMISSING=MISSING | AVERAGE | MINIMUM | MEDIAN | MAXIMUM | FIRST | LAST | PREVIOUS | NEXT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"MISSING\",\"followsDelimiter\":\"/\",\"description\":\"Missing\",\"type\":\"standalone\"},{\"name\":\"AVERAGE\",\"followsDelimiter\":\"/\",\"aliases\":[\"AVG\"],\"description\":\"Average\",\"type\":\"standalone\"},{\"name\":\"MINIMUM\",\"followsDelimiter\":\"/\",\"aliases\":[\"MIN\"],\"description\":\"Minimum\",\"type\":\"standalone\"},{\"name\":\"MEDIAN\",\"followsDelimiter\":\"/\",\"aliases\":[\"MED\"],\"description\":\"Median\",\"type\":\"standalone\"},{\"name\":\"MAXIMUM\",\"followsDelimiter\":\"/\",\"aliases\":[\"MAX\"],\"description\":\"Maximum\",\"type\":\"standalone\"},{\"name\":\"FIRST\",\"followsDelimiter\":\"/\",\"description\":\"First\",\"type\":\"standalone\"},{\"name\":\"LAST\",\"followsDelimiter\":\"/\",\"description\":\"Last\",\"type\":\"standalone\"},{\"name\":\"PREVIOUS\",\"followsDelimiter\":\"/\",\"aliases\":[\"PREV\"],\"description\":\"Previous\",\"type\":\"standalone\"},{\"name\":\"NEXT\",\"followsDelimiter\":\"/\",\"description\":\"Next\",\"type\":\"standalone\"}]},{\"name\":\"TRIMMISS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies how missing values (either actual or accumulated) are trimmed from the accumulated time series for variables listed in the FORECAST statement.\",\"help\":\"TRIMMISS=NONE | LEFT | RIGHT | BOTH*option*\",\"type\":\"value\",\"arguments\":[{\"name\":\"NONE\",\"followsDelimiter\":\"/\",\"description\":\"No missing value trimming is applied.\",\"type\":\"standalone\"},{\"name\":\"LEFT\",\"followsDelimiter\":\"/\",\"description\":\"Beginning missing values are trimmed.\",\"type\":\"standalone\"},{\"name\":\"RIGHT\",\"followsDelimiter\":\"/\",\"description\":\"Ending missing values are trimmed.\",\"type\":\"standalone\"},{\"name\":\"BOTH\",\"followsDelimiter\":\"/\",\"description\":\"Both beginning and ending missing value are trimmed.\",\"type\":\"standalone\"}]},{\"name\":\"ZEROMISS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies how missing values (either actual or accumulated) are trimmed from the accumulated time series for variables listed in the FORECAST statement.\",\"help\":\"ZEROMISS=NONE | LEFT | RIGHT | BOTH*option*\",\"type\":\"value\",\"arguments\":[{\"name\":\"NONE\",\"followsDelimiter\":\"/\",\"description\":\"Beginning and/or ending zeros unchanged.\",\"type\":\"standalone\"},{\"name\":\"LEFT\",\"followsDelimiter\":\"/\",\"description\":\"Beginning zeros are set to missing.\",\"type\":\"standalone\"},{\"name\":\"RIGHT\",\"followsDelimiter\":\"/\",\"description\":\"Ending zeros are set to missing.\",\"type\":\"standalone\"},{\"name\":\"BOTH\",\"followsDelimiter\":\"/\",\"description\":\"Both beginning and ending zeros are set to missing.\",\"type\":\"standalone\"}]}]},{\"name\":\"ID\",\"description\":\"The ID statement names a numeric variable that identifies observations in the input and output data sets. The ID variable’s values are assumed to be SAS date, time, or datetime values. In addition, the ID statement specifies the (desired) frequency associated with the time series. The ID statement options also specify how the observations are accumulated and how the time ID values are aligned to form the time series. The information specified affects all variables specified in subsequent FORECAST statements. If the ID statement is specified, the INTERVAL= option must also be specified. If an ID statement is not specified, the observation number (with respect to the BY group) is used as the time ID.\",\"help\":\"ID &lt;ACCUMULATE=&lt;NONE | TOTAL | AVERAGE|AVG&gt;... &gt;&lt;ALIGN=&lt;BEGINNING|BEG|B | MIDDLE|MID|M | ENDING|END|E&gt;&gt;&lt;END=option&gt; ...\",\"arguments\":[{\"name\":\"ACCUMULATE=\",\"optional\":true,\"description\":\"Specifies how the data set observations are accumulated within each time period for the variables listed in the FORECAST statement.\",\"help\":\"ACCUMULATE=NONE | TOTAL | AVERAGE | MINIMUM | MEDIAN | MAXIMUM | N | NMISS | NOBS | FIRST | LAST | STDDEV | CSS | USS*option*\",\"type\":\"value\",\"arguments\":[{\"name\":\"NONE\",\"description\":\"None\",\"type\":\"standalone\"},{\"name\":\"TOTAL\",\"description\":\"Total\",\"type\":\"standalone\"},{\"name\":\"AVERAGE\",\"aliases\":[\"AVG\"],\"description\":\"Average\",\"type\":\"standalone\"},{\"name\":\"MINIMUM\",\"aliases\":[\"MIN\"],\"description\":\"Minimum\",\"type\":\"standalone\"},{\"name\":\"MEDIAN\",\"aliases\":[\"MED\"],\"description\":\"Median\",\"type\":\"standalone\"},{\"name\":\"MAXIMUM\",\"aliases\":[\"MAX\"],\"description\":\"Maximum\",\"type\":\"standalone\"},{\"name\":\"N\",\"description\":\"N\",\"type\":\"standalone\"},{\"name\":\"NMISS\",\"description\":\"NMISS\",\"type\":\"standalone\"},{\"name\":\"NOBS\",\"description\":\"NOBS\",\"type\":\"standalone\"},{\"name\":\"FIRST\",\"description\":\"First\",\"type\":\"standalone\"},{\"name\":\"LAST\",\"description\":\"Last\",\"type\":\"standalone\"},{\"name\":\"STDDEV\",\"aliases\":[\"STD\"],\"description\":\"STDDEV\",\"type\":\"standalone\"},{\"name\":\"CSS\",\"description\":\"CSS\",\"type\":\"standalone\"},{\"name\":\"USS\",\"description\":\"USS\",\"type\":\"standalone\"}]},{\"name\":\"ALIGN=\",\"optional\":true,\"description\":\"Specifies how the data set observations are accumulated within each time period for the variables listed in the FORECAST statement.\",\"help\":\"ALIGN=BEGINNING | MIDDLE | ENDING*option*\",\"type\":\"value\",\"arguments\":[{\"name\":\"BEGINNING\",\"aliases\":[\"BEG\",\"B\"],\"description\":\"Beginning\",\"type\":\"standalone\"},{\"name\":\"MIDDLE\",\"aliases\":[\"MID\",\"M\"],\"description\":\"Middle\",\"type\":\"standalone\"},{\"name\":\"ENDING\",\"aliases\":[\"END\",\"E\"],\"description\":\"Ending\",\"type\":\"standalone\"}]},{\"name\":\"END=\",\"optional\":true,\"description\":\"Specifies a SAS date, datetime, or time value that represents the end of the data. If the last time ID variable value is less than the END= value, the series is extended with missing values.\",\"help\":\"END=*option*\",\"type\":\"value\"},{\"name\":\"INTERVAL=\",\"optional\":true,\"description\":\"Specifies the frequency of the input time series.\",\"help\":\"INTERVAL=*interval*\",\"type\":\"value\"},{\"name\":\"SETMISSING=\",\"optional\":true,\"description\":\"Specifies how missing values (either actual or accumulated) are assigned in the accumulated time series for variables listed in the FORECAST statement.\",\"help\":\"SETMISSING=MISSING | AVERAGE | MINIMUM | MEDIAN | MAXIMUM | FIRST | LAST | PREVIOUS | NEXT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"MISSING\",\"description\":\"Missing\",\"type\":\"standalone\"},{\"name\":\"AVERAGE\",\"aliases\":[\"AVG\"],\"description\":\"Average\",\"type\":\"standalone\"},{\"name\":\"MINIMUM\",\"aliases\":[\"MIN\"],\"description\":\"Minimum\",\"type\":\"standalone\"},{\"name\":\"MEDIAN\",\"aliases\":[\"MED\"],\"description\":\"Median\",\"type\":\"standalone\"},{\"name\":\"MAXIMUM\",\"aliases\":[\"MAX\"],\"description\":\"Maximum\",\"type\":\"standalone\"},{\"name\":\"FIRST\",\"description\":\"First\",\"type\":\"standalone\"},{\"name\":\"LAST\",\"description\":\"Last\",\"type\":\"standalone\"},{\"name\":\"PREVIOUS\",\"aliases\":[\"PREV\"],\"description\":\"Previous\",\"type\":\"standalone\"},{\"name\":\"NEXT\",\"description\":\"Next\",\"type\":\"standalone\"}]},{\"name\":\"START=\",\"optional\":true,\"description\":\"Specifies a SAS date, datetime, or time value that represents the beginning of the data.\",\"help\":\"START=*option*\",\"type\":\"value\"},{\"name\":\"TRIMMISS=\",\"optional\":true,\"description\":\"Specifies how missing values (either actual or accumulated) are trimmed from the accumulated time series for variables listed in the FORECAST statement.\",\"help\":\"TRIMMISS=NONE | LEFT | RIGHT | BOTH*option*\",\"type\":\"value\",\"arguments\":[{\"name\":\"NONE\",\"description\":\"No missing value trimming is applied.\",\"type\":\"standalone\"},{\"name\":\"LEFT\",\"description\":\"Beginning missing values are trimmed.\",\"type\":\"standalone\"},{\"name\":\"RIGHT\",\"description\":\"Ending missing values are trimmed.\",\"type\":\"standalone\"},{\"name\":\"BOTH\",\"description\":\"Both beginning and ending missing value are trimmed.\",\"type\":\"standalone\"}]},{\"name\":\"ZEROMISS=\",\"optional\":true,\"description\":\"Specifies how missing values (either actual or accumulated) are trimmed from the accumulated time series for variables listed in the FORECAST statement.\",\"help\":\"ZEROMISS=NONE | LEFT | RIGHT | BOTH*option*\",\"type\":\"value\",\"arguments\":[{\"name\":\"NONE\",\"description\":\"Beginning and/or ending zeros unchanged.\",\"type\":\"standalone\"},{\"name\":\"LEFT\",\"description\":\"Beginning zeros are set to missing.\",\"type\":\"standalone\"},{\"name\":\"RIGHT\",\"description\":\"Ending zeros are set to missing.\",\"type\":\"standalone\"},{\"name\":\"BOTH\",\"description\":\"Both beginning and ending zeros are set to missing.\",\"type\":\"standalone\"}]}]},{\"name\":\"IDM\",\"description\":\"An IDM statement is used to control the intermittency test. The HPFDIAGNOSE procedure performs the intermittency test first.\",\"help\":\"IDM &lt;BASE=&lt;AUTO&gt;&gt;&lt;INTERMITTENT=number&gt;\",\"arguments\":[{\"name\":\"BASE=\",\"optional\":true,\"description\":\"Specifies how missing values (either actual or accumulated) are trimmed from the accumulated time series for variables listed in the FORECAST statement.\",\"help\":\"BASE=AUTO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"AUTO\",\"description\":\"The time series properties are used to automatically adjust the time series.\",\"type\":\"standalone\"}]},{\"name\":\"INTERMITTENT\",\"optional\":true,\"description\":\"Specifies a number greater than one that is used to determine whether or not a time series is intermittent.\",\"type\":\"standalone\"}]},{\"name\":\"INPUT\",\"description\":\"Any number of INPUT statements can be used in the HPFDIAGNOSE procedure. The INPUT statement lists the variables in the DATA= data set to be diagnosed as regressors. The variables are independent or predictor variables to be used to forecast dependent or response variables.\",\"help\":\"INPUT &lt;ACCUMULATE=&lt;NONE | TOTAL | AVERAGE|AVG&gt;... &gt;&lt;REQUIRED=&lt;YES | MAYBE | NO&gt;&gt;&lt;SETMISSING=&lt;MISSING | AVERAGE|AVG | MINIMUM|MIN&gt;... &gt; ...\",\"arguments\":[{\"name\":\"ACCUMULATE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies how the data set observations are accumulated within each time period for the variables listed in the FORECAST statement.\",\"help\":\"ACCUMULATE=NONE | TOTAL | AVERAGE | MINIMUM | MEDIAN | MAXIMUM | N | NMISS | NOBS | FIRST | LAST | STDDEV | CSS | USS*option*\",\"type\":\"value\",\"arguments\":[{\"name\":\"NONE\",\"followsDelimiter\":\"/\",\"description\":\"None\",\"type\":\"standalone\"},{\"name\":\"TOTAL\",\"followsDelimiter\":\"/\",\"description\":\"Total\",\"type\":\"standalone\"},{\"name\":\"AVERAGE\",\"followsDelimiter\":\"/\",\"aliases\":[\"AVG\"],\"description\":\"Average\",\"type\":\"standalone\"},{\"name\":\"MINIMUM\",\"followsDelimiter\":\"/\",\"aliases\":[\"MIN\"],\"description\":\"Minimum\",\"type\":\"standalone\"},{\"name\":\"MEDIAN\",\"followsDelimiter\":\"/\",\"aliases\":[\"MED\"],\"description\":\"Median\",\"type\":\"standalone\"},{\"name\":\"MAXIMUM\",\"followsDelimiter\":\"/\",\"aliases\":[\"MAX\"],\"description\":\"Maximum\",\"type\":\"standalone\"},{\"name\":\"N\",\"followsDelimiter\":\"/\",\"description\":\"N\",\"type\":\"standalone\"},{\"name\":\"NMISS\",\"followsDelimiter\":\"/\",\"description\":\"NMISS\",\"type\":\"standalone\"},{\"name\":\"NOBS\",\"followsDelimiter\":\"/\",\"description\":\"NOBS\",\"type\":\"standalone\"},{\"name\":\"FIRST\",\"followsDelimiter\":\"/\",\"description\":\"First\",\"type\":\"standalone\"},{\"name\":\"LAST\",\"followsDelimiter\":\"/\",\"description\":\"Last\",\"type\":\"standalone\"},{\"name\":\"STDDEV\",\"followsDelimiter\":\"/\",\"aliases\":[\"STD\"],\"description\":\"STDDEV\",\"type\":\"standalone\"},{\"name\":\"CSS\",\"followsDelimiter\":\"/\",\"description\":\"CSS\",\"type\":\"standalone\"},{\"name\":\"USS\",\"followsDelimiter\":\"/\",\"description\":\"USS\",\"type\":\"standalone\"}]},{\"name\":\"REQUIRED=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Either the POSITIVE or NEGATIVE option with parentheses can follow the REQUIRED= option. For examples REQUIRED=YES(POSITIVE) and REQUIRED=MAYBE(NEGATIVE). When the REQUIRED=YES(POSITIVE) option is specified, if its coefficient is negative, then the input variable drops out from the model.\",\"help\":\"REQUIRED=YES | MAYBE | NO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YES\",\"followsDelimiter\":\"/\",\"description\":\"Specifies that the input variables be included in the model as long as the model does not fail to be diagnosed.\",\"type\":\"standalone\"},{\"name\":\"MAYBE\",\"followsDelimiter\":\"/\",\"description\":\"Specifies that the input variables be included in the model as long as their parameters are significant.\",\"type\":\"standalone\"},{\"name\":\"NO\",\"followsDelimiter\":\"/\",\"description\":\"Specifies that the input variables be included in the model as long as their parameters are significant and the increment of the value of criterion exceeds a threshold.\",\"type\":\"standalone\"}]},{\"name\":\"SETMISSING=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies how missing values (either actual or accumulated) are assigned in the accumulated time series for variables listed in the FORECAST statement.\",\"help\":\"SETMISSING=MISSING | AVERAGE | MINIMUM | MEDIAN | MAXIMUM | FIRST | LAST | PREVIOUS | NEXT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"MISSING\",\"followsDelimiter\":\"/\",\"description\":\"Missing\",\"type\":\"standalone\"},{\"name\":\"AVERAGE\",\"followsDelimiter\":\"/\",\"aliases\":[\"AVG\"],\"description\":\"Average\",\"type\":\"standalone\"},{\"name\":\"MINIMUM\",\"followsDelimiter\":\"/\",\"aliases\":[\"MIN\"],\"description\":\"Minimum\",\"type\":\"standalone\"},{\"name\":\"MEDIAN\",\"followsDelimiter\":\"/\",\"aliases\":[\"MED\"],\"description\":\"Median\",\"type\":\"standalone\"},{\"name\":\"MAXIMUM\",\"followsDelimiter\":\"/\",\"aliases\":[\"MAX\"],\"description\":\"Maximum\",\"type\":\"standalone\"},{\"name\":\"FIRST\",\"followsDelimiter\":\"/\",\"description\":\"First\",\"type\":\"standalone\"},{\"name\":\"LAST\",\"followsDelimiter\":\"/\",\"description\":\"Last\",\"type\":\"standalone\"},{\"name\":\"PREVIOUS\",\"followsDelimiter\":\"/\",\"aliases\":[\"PREV\"],\"description\":\"Previous\",\"type\":\"standalone\"},{\"name\":\"NEXT\",\"followsDelimiter\":\"/\",\"description\":\"Next\",\"type\":\"standalone\"}]},{\"name\":\"TRIMMISS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies how missing values (either actual or accumulated) are trimmed from the accumulated time series for variables listed in the FORECAST statement.\",\"help\":\"TRIMMISS=NONE | LEFT | RIGHT | BOTH*option*\",\"type\":\"value\",\"arguments\":[{\"name\":\"NONE\",\"followsDelimiter\":\"/\",\"description\":\"No missing value trimming is applied.\",\"type\":\"standalone\"},{\"name\":\"LEFT\",\"followsDelimiter\":\"/\",\"description\":\"Beginning missing values are trimmed.\",\"type\":\"standalone\"},{\"name\":\"RIGHT\",\"followsDelimiter\":\"/\",\"description\":\"Ending missing values are trimmed.\",\"type\":\"standalone\"},{\"name\":\"BOTH\",\"followsDelimiter\":\"/\",\"description\":\"Both beginning and ending missing value are trimmed.\",\"type\":\"standalone\"}]},{\"name\":\"ZEROMISS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies how missing values (either actual or accumulated) are trimmed from the accumulated time series for variables listed in the FORECAST statement.\",\"help\":\"ZEROMISS=NONE | LEFT | RIGHT | BOTH*option*\",\"type\":\"value\",\"arguments\":[{\"name\":\"NONE\",\"followsDelimiter\":\"/\",\"description\":\"Beginning and/or ending zeros unchanged.\",\"type\":\"standalone\"},{\"name\":\"LEFT\",\"followsDelimiter\":\"/\",\"description\":\"Beginning zeros are set to missing.\",\"type\":\"standalone\"},{\"name\":\"RIGHT\",\"followsDelimiter\":\"/\",\"description\":\"Ending zeros are set to missing.\",\"type\":\"standalone\"},{\"name\":\"BOTH\",\"followsDelimiter\":\"/\",\"description\":\"Both beginning and ending zeros are set to missing.\",\"type\":\"standalone\"}]}]},{\"name\":\"TRANSFORM\",\"description\":\"A TRANSFORM statement can be used to specify the functional transformation of the series.\",\"help\":\"TRANSFORM &lt;P=number&gt;&lt;SIGLEVEL=value&gt;&lt;TRANSOPT=&lt;MEAN | MEDIAN&gt;&gt; ...\",\"arguments\":[{\"name\":\"P=\",\"optional\":true,\"description\":\"Specifies the autoregressive order for the log transform test.\",\"help\":\"P=*number*\",\"type\":\"value\"},{\"name\":\"SIGLEVEL=\",\"optional\":true,\"description\":\"Specifies the significance level to use as a cutoff value to decide whether or not the series requires a log transformation.\",\"help\":\"SIGLEVEL=*value*\",\"type\":\"value\"},{\"name\":\"TRANSOPT=\",\"optional\":true,\"description\":\"Specifies whether mean or median forecasts are produced. If no transformation is applied to the series, then the mean and median forecasts are identical.\",\"help\":\"TRANSOPT=MEAN | MEDIAN\",\"type\":\"choice\",\"arguments\":[{\"name\":\"MEAN\",\"description\":\"The inverse transform produces mean forecasts. This is the default.\",\"type\":\"standalone\"},{\"name\":\"MEDIAN\",\"description\":\"The inverse transform produces median forecasts.\",\"type\":\"standalone\"}]},{\"name\":\"TYPE=\",\"optional\":true,\"description\":\"Specifies the type of functional transformation.\",\"help\":\"TYPE=AUTO | LOG | NONE | SQRT | LOGISTIC | BOXCOX\",\"type\":\"choice\",\"arguments\":[{\"name\":\"AUTO\",\"description\":\"Automatically choose between NONE and LOG based on model selection criteria. If the TRANSFORM statement is specified but the TYPE= option is not specified, then TYPE=AUTO is the default.\",\"type\":\"standalone\"},{\"name\":\"LOG\",\"description\":\"Logarithmic transformation\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"No transformation is applied. If the TRANSFORM statement is not specified, TYPE=NONE is the default.\",\"type\":\"standalone\"},{\"name\":\"SQRT\",\"description\":\"Square-root transformation\",\"type\":\"standalone\"},{\"name\":\"LOGISTIC\",\"description\":\"Logistic transformation\",\"type\":\"standalone\"},{\"name\":\"BOXCOX\",\"description\":\"Box-Cox transformation with a parameter value where the value is between –5 and 5. The default is BOXCOX(1).\",\"type\":\"standalone\"}]}]},{\"name\":\"TREND\",\"description\":\"A TREND statement can be used to test whether the dependent series requires simple or seasonal differencing, or both. The augmented Dickey-Fuller test (Dickey and Fuller 1979) is used for the simple unit root test.\",\"help\":\"TREND &lt;DIFF=&lt;AUTO | NONE&gt;&gt;&lt;P=number&gt;&lt;SDIFF=&lt;AUTO | NONE&gt;&gt; ...\",\"arguments\":[{\"name\":\"DIFF=\",\"optional\":true,\"description\":\"Specifies differencing to be used.\",\"help\":\"DIFF=AUTO | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"AUTO\",\"description\":\"Tests for simple differencing. This option is the default.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"Specifies that no simple differencing be used.\",\"type\":\"standalone\"}]},{\"name\":\"P=\",\"optional\":true,\"description\":\"Specifies the autoregressive order for the augmented unit root tests and a seasonality test.\",\"help\":\"P=*number*\",\"type\":\"value\"},{\"name\":\"SDIFF=\",\"optional\":true,\"description\":\"Specifies seasonal differencing to be used.\",\"help\":\"SDIFF=AUTO | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"AUTO\",\"description\":\"Tests for seasonal differencing. This option is the default.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"Specifies that no seasonal differencing be used.\",\"type\":\"standalone\"}]},{\"name\":\"SIGLEVEL=\",\"optional\":true,\"description\":\"Specifies the significance level to use as a cutoff value to decide whether or not the series needs differencing.\",\"help\":\"SIGLEVEL=*value*\",\"type\":\"value\"}]},{\"name\":\"UCM\",\"description\":\"A UCM statement can be used to find an appropriate unobserved component model specification (Harvey 1989, 2001; Durbin and Koopman 2001).\",\"help\":\"UCM &lt;COMPONENT=&lt;ALL | AUTOREG | CYCLE&gt;... &gt;&lt;REFINEPARMS= ( SIGLEVEL= | FACTOR=(ALL | EVENT | INPUT) | FIRST=EVENT | INPUT)&gt;&lt;SIGLEVEL=value&gt; ...\",\"arguments\":[{\"name\":\"COMPONENT=\",\"optional\":true,\"description\":\"Specifies COMPONENT= option.\",\"help\":\"COMPONENT=ALL | AUTOREG | CYCLE | DEPLAG | IRREGULAR | LEVEL | SEASON | SLOPE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ALL\",\"description\":\"Tests which components and/or variances are significant in the model. This option is the default.\",\"type\":\"standalone\"},{\"name\":\"AUTOREG\",\"description\":\"Tests if an autoregreesive component is significant in the model.\",\"type\":\"standalone\"},{\"name\":\"CYCLE\",\"description\":\"Tests if two cycle components are significant in the model.\",\"type\":\"standalone\"},{\"name\":\"DEPLAG\",\"description\":\"Tests if a dependent lag component is significant in the model.\",\"type\":\"standalone\"},{\"name\":\"IRREGULAR\",\"description\":\"Tests if an irregular component is significant in the model.\",\"type\":\"standalone\"},{\"name\":\"LEVEL\",\"description\":\"Tests if a level component is significant in the model.\",\"type\":\"standalone\"},{\"name\":\"SEASON\",\"description\":\"Tests if a season component is significant in the model.\",\"type\":\"standalone\"},{\"name\":\"SLOPE\",\"description\":\"Tests if a slope component is significant in the model.\",\"type\":\"standalone\"}]},{\"name\":\"REFINEPARMS=\",\"optional\":true,\"description\":\"Specifies to refine insignificant parameters of the final model, identify the factors to refine, and identify the order of factors.\",\"type\":\"value\"},{\"name\":\"SIGLEVEL=\",\"optional\":true,\"description\":\"Specifies the significance level to use as a cutoff value to decide which component and/or variances are significant.\",\"help\":\"SIGLEVEL=*value*\",\"type\":\"value\"}]}],\"supportSiteInformation\":{\"docsetId\":\"hpfug\",\"docsetVersion\":\"latest\",\"docsetTargetFile\":\"hpfug_hpfdiag_toc.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/HPFENGINE.json",
    "content": "{\"name\":\"HPFENGINE\",\"statements\":[{\"name\":\"PROC HPFENGINE\",\"description\":\"The HPFENGINE procedure provides an automatic way to generate forecasts for many time series or transactional data in one step. The procedure can automatically choose the best forecast model from a user-defined model list or a default model list. Specifications for the candidate forecast models are independent of any data series. You can generate the specifications or choose them from a default set.\",\"help\":\"PROC HPFENGINE <BACK=n><DATA=SAS-data-set><ERRORCONTROL= ( SEVERITY= ( severity-options ) STAGE= ( stage-options ) MAXMESSAGE=number )><EXCEPTIONS=IGNORE | CATCH(ESM) | CATCH(RW)... ><GLOBALSELECTION=catalog-name><IGNORECHOOSE><INEST=SAS-data-set><INEVENT=SAS-data-set><LEAD=n><OUT=SAS-data-set><OUTCOMPONENT=SAS-data-set><OUTEST=SAS-data-set><OUTFOR=SAS-data-set><OUTINDEP=SAS-data-set><OUTMODELINFO=SAS-data-set><OUTPROCINFO=SAS-data-set><OUTSTAT=SAS-data-set><OUTSTATSELECT=SAS-data-set><PLOT=ERRORS | ACF | PACF... ><PRINT=ESTIMATES | FORECASTS | STATISTICS... ><PRINTDETAILS><REPOSITORY=catalog-name><SCOREREPOSITORY=catalog-name | libref><SEASONALITY=n><SORTNAMES><TASK=SELECT | FIT | UPDATE... >;     \\n\\tADJUST <ACCUMULATE=<NONE | TOTAL | AVERAGE|AVG>... ><OPERATION=<NONE | ADD | SUBTRACT>... ><SETMISSING=<MISSING | AVERAGE|AVG | MINIMUM|MIN>... > ...;\\n\\n\\tBY <DESCENDING><NOTSORTED> ;\\n\\n\\tCONTROL <ACCUMULATE=<NONE | TOTAL | AVERAGE|AVG>... ><EXTEND=<NONE | AVERAGE | FIRST>... ><SETMISSING=<MISSING | AVERAGE|AVG | MINIMUM|MIN>... > ...;\\n\\n\\tEXTERNAL <SETMISSING=<MISSING | AVERAGE|AVG | MINIMUM|MIN>... ><TRIMMISS=<NONE | LEFT | RIGHT>... ><ZEROMISS=<NONE | LEFT | RIGHT>... > ...;\\n\\n\\tFORECAST <ACCUMULATE=<NONE | TOTAL | AVERAGE|AVG>... ><NOREPLACE><REPLACEMISSING> ...;\\n\\n\\tID <ACCUMULATE=<NONE | TOTAL | AVERAGE|AVG>... ><ALIGN=<BEGINNING|BEG|B | MIDDLE|MID|M | ENDING|END|E>><END=option> ...;\\n\\n\\tINPUT <ACCUMULATE=<NONE | TOTAL | AVERAGE|AVG>... ><REQUIRED=<YES | NO>><SETMISSING=<MISSING | AVERAGE|AVG | MINIMUM|MIN>... > ...;\\n\\n\\tSCORE <BASENAME=SAS-name> ;\\n\\n\\tSTOCHASTIC <ACCUMULATE=<NONE | TOTAL | AVERAGE|AVG>... ><REQUIRED=<YES | NO>><SELECTION=<NONE | TOTAL | AVERAGE|AVG>... > ...;\\n\",\"arguments\":[{\"name\":\"BACK=\",\"optional\":true,\"description\":\"Specifies the number of observations before the end of the data where the multistep forecasts are to begin.\",\"help\":\"BACK=*n*\",\"type\":\"value\"},{\"name\":\"DATA=\",\"optional\":true,\"description\":\"names the SAS data set that contains the input data for the procedure to forecast.\",\"help\":\"DATA=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"ERRORCONTROL=\",\"optional\":true,\"description\":\"Prefixes the model specification file name or the model selection list file name or both.\",\"type\":\"value\"},{\"name\":\"EXCEPTIONS=\",\"optional\":true,\"description\":\"Specifies the desired handling of arithmetic exceptions during the run.\",\"help\":\"EXCEPTIONS=IGNORE | CATCH | (ESM | RW | MISSING)*except-option*\",\"type\":\"value\",\"arguments\":[{\"name\":\"IGNORE\",\"description\":\"Specifies that PROC HPFENGINE stop on an arithmetic exception. No recovery is attempted.\",\"type\":\"standalone\"},{\"name\":\"CATCH\",\"description\":\"Specifies that PROC HPFENGINE generate a forecast for the current BY group.\",\"type\":\"standalone\",\"arguments\":[{\"name\":\"ESM\",\"description\":\"Specifies that PROC HPFENGINE generate a forecast based on using its default exponential smoothing model for the variable that produces the arithmetic exception in the current BY group.\",\"type\":\"standalone\"},{\"name\":\"RW\",\"description\":\"Specifies that PROC HPFENGINE generate a forecast based on a zero-drift random walk model for the variable that produces the exception in the current BY group.\",\"type\":\"standalone\"},{\"name\":\"MISSING\",\"description\":\"Specifies that PROC HPFENGINE generate a forecast of missing values for the variable that produces the exception in the current BY group.\",\"type\":\"standalone\"}]}]},{\"name\":\"GLOBALSELECTION=\",\"optional\":true,\"description\":\"Specifies the name of a catalog entry that serves as a model selection list.\",\"help\":\"GLOBALSELECTION=*catalog-name*\",\"type\":\"dataSet\"},{\"name\":\"IGNORECHOOSE\",\"optional\":true,\"description\":\"Specifies that the CHOOSE= option in the HPFSELECT procedure be ignored when selecting a model in the candidate model list.\",\"type\":\"standalone\"},{\"name\":\"INEST=\",\"optional\":true,\"description\":\"Contains information that maps forecast variables to models or selection lists, and data set variables to model variables.\",\"help\":\"INEST=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"INEVENT=\",\"optional\":true,\"description\":\"Contains information that describes predefined events.\",\"help\":\"INEVENT=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"LEAD=\",\"optional\":true,\"description\":\"Specifies the number of periods ahead to forecast (forecast lead or horizon).\",\"help\":\"LEAD=*n*\",\"type\":\"value\"},{\"name\":\"OUT=\",\"optional\":true,\"description\":\"Names the output data set to contain the forecasts of the variables specified in the subsequent FORECAST statements.\",\"help\":\"OUT=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"OUTCOMPONENT=\",\"optional\":true,\"description\":\"Names the output data set to contain the forecast components.\",\"help\":\"OUTCOMPONENT=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"OUTEST=\",\"optional\":true,\"description\":\"Contains information that maps forecast variables to model specifications, and data set variables to model variables and parameter estimates.\",\"help\":\"OUTEST=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"OUTFOR=\",\"optional\":true,\"description\":\"Names the output data set to contain the forecast time series components (actual, predicted, lower confidence limit, upper confidence limit, prediction error, and prediction standard error).\",\"help\":\"OUTFOR=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"OUTINDEP=\",\"optional\":true,\"description\":\"Names the output data set to contain input in the forecasting process.\",\"help\":\"OUTINDEP=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"OUTMODELINFO=\",\"optional\":true,\"description\":\"Names the output data set to contain detailed information about the selected forecast model.\",\"help\":\"OUTMODELINFO=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"OUTPROCINFO=\",\"optional\":true,\"description\":\"Names the output data set to contain information in the SAS log, specifically the number of notes, errors, and warnings and the number of series processed, forecasts requested, and forecasts failed.\",\"help\":\"OUTPROCINFO=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"OUTSTAT=\",\"optional\":true,\"description\":\"Names the output data set to contain the statistics of fit (or goodness-of-fit statistics).\",\"help\":\"OUTSTAT=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"OUTSTATSELECT=\",\"optional\":true,\"description\":\"Names the output data set to contain statistics of fit for all of the candidate models fit during model selection.\",\"help\":\"OUTSTATSELECT=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"PLOT=\",\"optional\":true,\"description\":\"Specifies the graphical output desired. By default, the HPFENGINE procedure produces no graphical output.\",\"help\":\"PLOT=ERRORS | ACF | PACF | IACF | WN | FORECASTS | FORECASTCYCLES | FORECASTSONLY | COMPONENTS | CANDIDATES | ALL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ERRORS\",\"description\":\"Plots prediction error time series graphics.\",\"type\":\"standalone\"},{\"name\":\"ACF\",\"description\":\"Plots prediction error autocorrelation function graphics.\",\"type\":\"standalone\"},{\"name\":\"PACF\",\"description\":\"Plots prediction error partial autocorrelation function graphics.\",\"type\":\"standalone\"},{\"name\":\"IACF\",\"description\":\"Plots prediction error inverse autocorrelation function graphics.\",\"type\":\"standalone\"},{\"name\":\"WN\",\"description\":\"Plots white noise graphics.\",\"type\":\"standalone\"},{\"name\":\"FORECASTS\",\"description\":\"Plots forecast graphics.\",\"type\":\"standalone\"},{\"name\":\"FORECASTCYCLES\",\"description\":\"Plots forecast seasonal cycles graphics.\",\"type\":\"standalone\"},{\"name\":\"FORECASTSONLY\",\"description\":\"Plots the forecast in the forecast horizon only.\",\"type\":\"standalone\"},{\"name\":\"COMPONENTS\",\"description\":\"Plots the forecast components.\",\"type\":\"standalone\"},{\"name\":\"CANDIDATES\",\"description\":\"Plots model and error graphics for each candidate model fit to the series forecast series.\",\"type\":\"standalone\"},{\"name\":\"ALL\",\"description\":\"Specifies all of the preceding PLOT= options.\",\"type\":\"standalone\"}]},{\"name\":\"PRINT=\",\"optional\":true,\"description\":\"Specifies the printed output desired. By default, the HPFENGINE procedure produces no printed output.\",\"help\":\"PRINT=ESTIMATES | FORECASTS | STATISTICS | SUMMARY | PERFORMANCE | PERFORMANCESUMMARY | PERFORMANCEOVERALL | SELECT | BIAS | COMPONENTS | CANDIDATES | DESCSTATS | ALL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ESTIMATES\",\"description\":\"Prints the results of parameter estimation.\",\"type\":\"standalone\"},{\"name\":\"FORECASTS\",\"description\":\"Prints the forecasts.\",\"type\":\"standalone\"},{\"name\":\"STATISTICS\",\"description\":\"Prints the statistics of fit.\",\"type\":\"standalone\"},{\"name\":\"SUMMARY\",\"description\":\"Prints the forecast summary.\",\"type\":\"standalone\"},{\"name\":\"PERFORMANCE\",\"description\":\"Prints the performance statistics for each forecast.\",\"type\":\"standalone\"},{\"name\":\"PERFORMANCESUMMARY\",\"description\":\"Prints the performance summary for each BY group.\",\"type\":\"standalone\"},{\"name\":\"PERFORMANCEOVERALL\",\"description\":\"Prints the performance summary for all of the BY groups.\",\"type\":\"standalone\"},{\"name\":\"SELECT\",\"description\":\"Prints the label and fit statistics for each model in the selection list.\",\"type\":\"standalone\"},{\"name\":\"BIAS\",\"description\":\"Prints model bias information.\",\"type\":\"standalone\"},{\"name\":\"COMPONENTS\",\"description\":\"Prints forecast model components.\",\"type\":\"standalone\"},{\"name\":\"CANDIDATES\",\"description\":\"Prints parameter estimates for each candidate model fit to the series forecast series.\",\"type\":\"standalone\"},{\"name\":\"DESCSTATS\",\"description\":\"Prints descriptive statistics the series forecast series.\",\"type\":\"standalone\"},{\"name\":\"ALL\",\"description\":\"The same as specifying PRINT=(ESTIMATES SELECT FORECASTS STATISTICS BIAS DESCSTATS).\",\"type\":\"standalone\"}]},{\"name\":\"PRINTDETAILS\",\"optional\":true,\"description\":\"Specifies that output requested with the PRINT= option be printed in greater detail.\",\"type\":\"standalone\"},{\"name\":\"REPOSITORY=\",\"optional\":true,\"aliases\":[\"MODELREPOSITORY=\",\"MODELREP=\",\"REP=\"],\"description\":\"Is a two-level SAS catalog name that specifies the location of the model repository.\",\"help\":\"REPOSITORY=*catalog-name*\",\"type\":\"dataSet\"},{\"name\":\"SCOREREPOSITORY=\",\"optional\":true,\"description\":\"Is a two-level SAS catalog name that specifies the location of the model score repository.\",\"type\":\"value\"},{\"name\":\"SEASONALITY=\",\"optional\":true,\"description\":\"Specifies the length of the seasonal cycle.\",\"help\":\"SEASONALITY=*n*\",\"type\":\"value\"},{\"name\":\"SORTNAMES\",\"optional\":true,\"description\":\"Specifies the length of the seasonal cycle.\",\"type\":\"standalone\"},{\"name\":\"TASK=\",\"optional\":true,\"description\":\"Controls the model selection and parameter estimation process.\",\"help\":\"TASK=SELECT | FIT | UPDATE | FORECAST*option*\",\"type\":\"value\",\"arguments\":[{\"name\":\"SELECT\",\"description\":\"Performs model selection, estimates parameters of the selected model, and produces forecasts.\",\"type\":\"standalone\"},{\"name\":\"FIT\",\"description\":\"Estimates parameters by using the model specified in the INEST= data set, then forecasts.\",\"type\":\"standalone\"},{\"name\":\"UPDATE\",\"description\":\"Estimates parameters by using the model specified in the INEST= data set, then forecasts.\",\"type\":\"standalone\"},{\"name\":\"FORECAST\",\"description\":\"Forecasts using model and parameters specified in the INEST= data set. No parameter estimation occurs.\",\"type\":\"standalone\"}]}]},{\"name\":\"ADJUST\",\"description\":\"The ADJUST statement lists the numeric variables in the DATA= data set whose accumulated values are used to adjust the dependent values. Adjustments can be performed before and/or after forecasting. A particular forecast variable can be referenced by multiple forecast statements.\",\"help\":\"ADJUST &lt;ACCUMULATE=&lt;NONE | TOTAL | AVERAGE|AVG&gt;... &gt;&lt;OPERATION=&lt;NONE | ADD | SUBTRACT&gt;... &gt;&lt;SETMISSING=&lt;MISSING | AVERAGE|AVG | MINIMUM|MIN&gt;... &gt; ...\",\"arguments\":[{\"name\":\"ACCUMULATE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies how the data set observations are accumulated within each time period for the variables listed in the ADJUST statement.\",\"help\":\"ACCUMULATE=NONE | TOTAL | AVERAGE | MINIMUM | MEDIAN | MAXIMUM | N | NMISS | NOBS | FIRST | LAST | STDDEV | CSS | USS*option*\",\"type\":\"value\",\"arguments\":[{\"name\":\"NONE\",\"followsDelimiter\":\"/\",\"description\":\"None\",\"type\":\"standalone\"},{\"name\":\"TOTAL\",\"followsDelimiter\":\"/\",\"description\":\"Total\",\"type\":\"standalone\"},{\"name\":\"AVERAGE\",\"followsDelimiter\":\"/\",\"aliases\":[\"AVG\"],\"description\":\"Average\",\"type\":\"standalone\"},{\"name\":\"MINIMUM\",\"followsDelimiter\":\"/\",\"aliases\":[\"MIN\"],\"description\":\"Minimum\",\"type\":\"standalone\"},{\"name\":\"MEDIAN\",\"followsDelimiter\":\"/\",\"aliases\":[\"MED\"],\"description\":\"Median\",\"type\":\"standalone\"},{\"name\":\"MAXIMUM\",\"followsDelimiter\":\"/\",\"aliases\":[\"MAX\"],\"description\":\"Maximum\",\"type\":\"standalone\"},{\"name\":\"N\",\"followsDelimiter\":\"/\",\"description\":\"N\",\"type\":\"standalone\"},{\"name\":\"NMISS\",\"followsDelimiter\":\"/\",\"description\":\"NMISS\",\"type\":\"standalone\"},{\"name\":\"NOBS\",\"followsDelimiter\":\"/\",\"description\":\"NOBS\",\"type\":\"standalone\"},{\"name\":\"FIRST\",\"followsDelimiter\":\"/\",\"description\":\"First\",\"type\":\"standalone\"},{\"name\":\"LAST\",\"followsDelimiter\":\"/\",\"description\":\"Last\",\"type\":\"standalone\"},{\"name\":\"STDDEV\",\"followsDelimiter\":\"/\",\"aliases\":[\"STD\"],\"description\":\"STDDEV\",\"type\":\"standalone\"},{\"name\":\"CSS\",\"followsDelimiter\":\"/\",\"description\":\"CSS\",\"type\":\"standalone\"},{\"name\":\"USS\",\"followsDelimiter\":\"/\",\"description\":\"USS\",\"type\":\"standalone\"}]},{\"name\":\"OPERATION=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies how the adjustments are applied to the forecast variable.\",\"help\":\"OPERATION=NONE | ADD | SUBTRACT | MULTIPLY | DIVIDE | MIN | MAX\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NONE\",\"followsDelimiter\":\"/\",\"description\":\"No adjustment operation is performed. This is the default.\",\"type\":\"standalone\"},{\"name\":\"ADD\",\"followsDelimiter\":\"/\",\"description\":\"Variables listed in the adjustment statement are added to the dependent variable.\",\"type\":\"standalone\"},{\"name\":\"SUBTRACT\",\"followsDelimiter\":\"/\",\"description\":\"Variables listed in the adjustment statement are subtracted from the dependent variable.\",\"type\":\"standalone\"},{\"name\":\"MULTIPLY\",\"followsDelimiter\":\"/\",\"description\":\"Dependent variable is multiplied by variables listed in the adjustment statement.\",\"type\":\"standalone\"},{\"name\":\"DIVIDE\",\"followsDelimiter\":\"/\",\"description\":\"Dependent variable is divided by variables listed in the adjustment statement.\",\"type\":\"standalone\"},{\"name\":\"MIN\",\"followsDelimiter\":\"/\",\"description\":\"Dependent variable is set to the minimum of the dependent variable and all variables listed in the adjustment statement.\",\"type\":\"standalone\"},{\"name\":\"MAX\",\"followsDelimiter\":\"/\",\"description\":\"Dependent variable is set to the maximum of the dependent variable and all variables listed in the adjustment statement.\",\"type\":\"standalone\"}]},{\"name\":\"SETMISSING=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies how missing values (either actual or accumulated) are assigned in the accumulated time series for variables listed in the ADJUST statement.\",\"help\":\"SETMISSING=MISSING | AVERAGE | MINIMUM | MEDIAN | MAXIMUM | FIRST | LAST | PREVIOUS | NEXT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"MISSING\",\"followsDelimiter\":\"/\",\"description\":\"Missing\",\"type\":\"standalone\"},{\"name\":\"AVERAGE\",\"followsDelimiter\":\"/\",\"aliases\":[\"AVG\"],\"description\":\"Average\",\"type\":\"standalone\"},{\"name\":\"MINIMUM\",\"followsDelimiter\":\"/\",\"aliases\":[\"MIN\"],\"description\":\"Minimum\",\"type\":\"standalone\"},{\"name\":\"MEDIAN\",\"followsDelimiter\":\"/\",\"aliases\":[\"MED\"],\"description\":\"Median\",\"type\":\"standalone\"},{\"name\":\"MAXIMUM\",\"followsDelimiter\":\"/\",\"aliases\":[\"MAX\"],\"description\":\"Maximum\",\"type\":\"standalone\"},{\"name\":\"FIRST\",\"followsDelimiter\":\"/\",\"description\":\"First\",\"type\":\"standalone\"},{\"name\":\"LAST\",\"followsDelimiter\":\"/\",\"description\":\"Last\",\"type\":\"standalone\"},{\"name\":\"PREVIOUS\",\"followsDelimiter\":\"/\",\"aliases\":[\"PREV\"],\"description\":\"Previous\",\"type\":\"standalone\"},{\"name\":\"NEXT\",\"followsDelimiter\":\"/\",\"description\":\"Next\",\"type\":\"standalone\"}]},{\"name\":\"TRIMMISS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies how missing values (either actual or accumulated) are trimmed from the accumulated time series for variables listed in the ADJUST statement.\",\"help\":\"TRIMMISS=NONE | LEFT | RIGHT | BOTH*option*\",\"type\":\"value\",\"arguments\":[{\"name\":\"NONE\",\"followsDelimiter\":\"/\",\"description\":\"No missing value trimming is applied.\",\"type\":\"standalone\"},{\"name\":\"LEFT\",\"followsDelimiter\":\"/\",\"description\":\"Beginning missing values are trimmed.\",\"type\":\"standalone\"},{\"name\":\"RIGHT\",\"followsDelimiter\":\"/\",\"description\":\"Ending missing values are trimmed.\",\"type\":\"standalone\"},{\"name\":\"BOTH\",\"followsDelimiter\":\"/\",\"description\":\"Both beginning and ending missing value are trimmed.\",\"type\":\"standalone\"}]},{\"name\":\"ZEROMISS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies how beginning and/or ending zero values (either actual or accumulated) are interpreted in the accumulated time series for variables listed in the ADJUST statement.\",\"help\":\"ZEROMISS=NONE | LEFT | RIGHT | BOTH*option*\",\"type\":\"value\",\"arguments\":[{\"name\":\"NONE\",\"followsDelimiter\":\"/\",\"description\":\"Beginning and/or ending zeros unchanged.\",\"type\":\"standalone\"},{\"name\":\"LEFT\",\"followsDelimiter\":\"/\",\"description\":\"Beginning zeros are set to missing.\",\"type\":\"standalone\"},{\"name\":\"RIGHT\",\"followsDelimiter\":\"/\",\"description\":\"Ending zeros are set to missing.\",\"type\":\"standalone\"},{\"name\":\"BOTH\",\"followsDelimiter\":\"/\",\"description\":\"Both beginning and ending zeros are set to missing.\",\"type\":\"standalone\"}]}]},{\"name\":\"BY\",\"description\":\"A BY statement can be used with PROC HPFENGINE to obtain separate dummy variable definitions for groups of observations defined by the BY variables.\",\"help\":\"BY &lt;DESCENDING&gt;&lt;NOTSORTED&gt;\",\"arguments\":[{\"name\":\"DESCENDING\",\"optional\":true,\"description\":\"Specifies that the observations are sorted in descending order by the variable that immediately follows the word DESCENDING in the BY statement.\",\"type\":\"standalone\"},{\"name\":\"NOTSORTED\",\"optional\":true,\"description\":\"Specifies that observations are not necessarily sorted in alphabetic or numeric order.\",\"type\":\"standalone\"}]},{\"name\":\"CONTROL\",\"description\":\"The CONTROL statement lists the numeric variables in the DATA= data set whose accumulated values are used as input in the forecasting process.\",\"help\":\"CONTROL &lt;ACCUMULATE=&lt;NONE | TOTAL | AVERAGE|AVG&gt;... &gt;&lt;EXTEND=&lt;NONE | AVERAGE | FIRST&gt;... &gt;&lt;SETMISSING=&lt;MISSING | AVERAGE|AVG | MINIMUM|MIN&gt;... &gt; ...\",\"arguments\":[{\"name\":\"ACCUMULATE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies how the data set observations are accumulated within each time period for the variables listed in the CONTROL statement.\",\"help\":\"ACCUMULATE=NONE | TOTAL | AVERAGE | MINIMUM | MEDIAN | MAXIMUM | N | NMISS | NOBS | FIRST | LAST | STDDEV | CSS | USS*option*\",\"type\":\"value\",\"arguments\":[{\"name\":\"NONE\",\"followsDelimiter\":\"/\",\"description\":\"None\",\"type\":\"standalone\"},{\"name\":\"TOTAL\",\"followsDelimiter\":\"/\",\"description\":\"Total\",\"type\":\"standalone\"},{\"name\":\"AVERAGE\",\"followsDelimiter\":\"/\",\"aliases\":[\"AVG\"],\"description\":\"Average\",\"type\":\"standalone\"},{\"name\":\"MINIMUM\",\"followsDelimiter\":\"/\",\"aliases\":[\"MIN\"],\"description\":\"Minimum\",\"type\":\"standalone\"},{\"name\":\"MEDIAN\",\"followsDelimiter\":\"/\",\"aliases\":[\"MED\"],\"description\":\"Median\",\"type\":\"standalone\"},{\"name\":\"MAXIMUM\",\"followsDelimiter\":\"/\",\"aliases\":[\"MAX\"],\"description\":\"Maximum\",\"type\":\"standalone\"},{\"name\":\"N\",\"followsDelimiter\":\"/\",\"description\":\"N\",\"type\":\"standalone\"},{\"name\":\"NMISS\",\"followsDelimiter\":\"/\",\"description\":\"NMISS\",\"type\":\"standalone\"},{\"name\":\"NOBS\",\"followsDelimiter\":\"/\",\"description\":\"NOBS\",\"type\":\"standalone\"},{\"name\":\"FIRST\",\"followsDelimiter\":\"/\",\"description\":\"First\",\"type\":\"standalone\"},{\"name\":\"LAST\",\"followsDelimiter\":\"/\",\"description\":\"Last\",\"type\":\"standalone\"},{\"name\":\"STDDEV\",\"followsDelimiter\":\"/\",\"aliases\":[\"STD\"],\"description\":\"STDDEV\",\"type\":\"standalone\"},{\"name\":\"CSS\",\"followsDelimiter\":\"/\",\"description\":\"CSS\",\"type\":\"standalone\"},{\"name\":\"USS\",\"followsDelimiter\":\"/\",\"description\":\"USS\",\"type\":\"standalone\"}]},{\"name\":\"EXTEND=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies how future values of the control variables are set.\",\"help\":\"EXTEND=NONE | AVERAGE | FIRST | LAST | MINIMUM | MAXIMUM | MEDIAN*option*\",\"type\":\"value\",\"arguments\":[{\"name\":\"NONE\",\"followsDelimiter\":\"/\",\"description\":\"Future values are set to missing.\",\"type\":\"standalone\"},{\"name\":\"AVERAGE\",\"followsDelimiter\":\"/\",\"description\":\"Future values are set to the mean of the values in the fit range. This is the default.\",\"type\":\"standalone\"},{\"name\":\"FIRST\",\"followsDelimiter\":\"/\",\"description\":\"Future values are set to the first value found in the fit range.\",\"type\":\"standalone\"},{\"name\":\"LAST\",\"followsDelimiter\":\"/\",\"description\":\"Future values are set to the last value found in the fit range.\",\"type\":\"standalone\"},{\"name\":\"MINIMUM\",\"followsDelimiter\":\"/\",\"description\":\"Future values are set to the minimum of the values in the fit range.\",\"type\":\"standalone\"},{\"name\":\"MAXIMUM\",\"followsDelimiter\":\"/\",\"description\":\"Future values are set to the maximum of the values in the fit range.\",\"type\":\"standalone\"},{\"name\":\"MEDIAN\",\"followsDelimiter\":\"/\",\"description\":\"Future values are set to the median of the values in the fit range.\",\"type\":\"standalone\"}]},{\"name\":\"SETMISSING=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies how missing values (either actual or accumulated) are assigned in the accumulated time series for variables listed in the CONTROL statement.\",\"help\":\"SETMISSING=MISSING | AVERAGE | MINIMUM | MEDIAN | MAXIMUM | FIRST | LAST | PREVIOUS | NEXT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"MISSING\",\"followsDelimiter\":\"/\",\"description\":\"Missing\",\"type\":\"standalone\"},{\"name\":\"AVERAGE\",\"followsDelimiter\":\"/\",\"aliases\":[\"AVG\"],\"description\":\"Average\",\"type\":\"standalone\"},{\"name\":\"MINIMUM\",\"followsDelimiter\":\"/\",\"aliases\":[\"MIN\"],\"description\":\"Minimum\",\"type\":\"standalone\"},{\"name\":\"MEDIAN\",\"followsDelimiter\":\"/\",\"aliases\":[\"MED\"],\"description\":\"Median\",\"type\":\"standalone\"},{\"name\":\"MAXIMUM\",\"followsDelimiter\":\"/\",\"aliases\":[\"MAX\"],\"description\":\"Maximum\",\"type\":\"standalone\"},{\"name\":\"FIRST\",\"followsDelimiter\":\"/\",\"description\":\"First\",\"type\":\"standalone\"},{\"name\":\"LAST\",\"followsDelimiter\":\"/\",\"description\":\"Last\",\"type\":\"standalone\"},{\"name\":\"PREVIOUS\",\"followsDelimiter\":\"/\",\"aliases\":[\"PREV\"],\"description\":\"Previous\",\"type\":\"standalone\"},{\"name\":\"NEXT\",\"followsDelimiter\":\"/\",\"description\":\"Next\",\"type\":\"standalone\"}]},{\"name\":\"TRIMMISS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies how missing values (either actual or accumulated) are trimmed from the accumulated time series for variables listed in the CONTROL statement.\",\"help\":\"TRIMMISS=NONE | LEFT | RIGHT | BOTH*option*\",\"type\":\"value\",\"arguments\":[{\"name\":\"NONE\",\"followsDelimiter\":\"/\",\"description\":\"No missing value trimming is applied.\",\"type\":\"standalone\"},{\"name\":\"LEFT\",\"followsDelimiter\":\"/\",\"description\":\"Beginning missing values are trimmed.\",\"type\":\"standalone\"},{\"name\":\"RIGHT\",\"followsDelimiter\":\"/\",\"description\":\"Ending missing values are trimmed.\",\"type\":\"standalone\"},{\"name\":\"BOTH\",\"followsDelimiter\":\"/\",\"description\":\"Both beginning and ending missing value are trimmed.\",\"type\":\"standalone\"}]},{\"name\":\"ZEROMISS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies how beginning and/or ending zero values (either actual or accumulated) are interpreted in the accumulated time series for variables listed in the CONTROL statement.\",\"help\":\"ZEROMISS=NONE | LEFT | RIGHT | BOTH*option*\",\"type\":\"value\",\"arguments\":[{\"name\":\"NONE\",\"followsDelimiter\":\"/\",\"description\":\"Beginning and/or ending zeros unchanged.\",\"type\":\"standalone\"},{\"name\":\"LEFT\",\"followsDelimiter\":\"/\",\"description\":\"Beginning zeros are set to missing.\",\"type\":\"standalone\"},{\"name\":\"RIGHT\",\"followsDelimiter\":\"/\",\"description\":\"Ending zeros are set to missing.\",\"type\":\"standalone\"},{\"name\":\"BOTH\",\"followsDelimiter\":\"/\",\"description\":\"Both beginning and ending zeros are set to missing.\",\"type\":\"standalone\"}]}]},{\"name\":\"EXTERNAL\",\"description\":\"The EXTERNAL statement lists the numeric variables in the DATA= data set whose accumulated values are used as predicted values for an external model. It can also list prediction standard errors and lower and upper confidence intervals.\",\"help\":\"EXTERNAL &lt;SETMISSING=&lt;MISSING | AVERAGE|AVG | MINIMUM|MIN&gt;... &gt;&lt;TRIMMISS=&lt;NONE | LEFT | RIGHT&gt;... &gt;&lt;ZEROMISS=&lt;NONE | LEFT | RIGHT&gt;... &gt; ...\",\"arguments\":[{\"name\":\"SETMISSING=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies how missing values (either actual or accumulated) are assigned in the accumulated time series for variables listed in the EXTERNAL statement.\",\"help\":\"SETMISSING=MISSING | AVERAGE | MINIMUM | MEDIAN | MAXIMUM | FIRST | LAST | PREVIOUS | NEXT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"MISSING\",\"followsDelimiter\":\"/\",\"description\":\"Missing\",\"type\":\"standalone\"},{\"name\":\"AVERAGE\",\"followsDelimiter\":\"/\",\"aliases\":[\"AVG\"],\"description\":\"Average\",\"type\":\"standalone\"},{\"name\":\"MINIMUM\",\"followsDelimiter\":\"/\",\"aliases\":[\"MIN\"],\"description\":\"Minimum\",\"type\":\"standalone\"},{\"name\":\"MEDIAN\",\"followsDelimiter\":\"/\",\"aliases\":[\"MED\"],\"description\":\"Median\",\"type\":\"standalone\"},{\"name\":\"MAXIMUM\",\"followsDelimiter\":\"/\",\"aliases\":[\"MAX\"],\"description\":\"Maximum\",\"type\":\"standalone\"},{\"name\":\"FIRST\",\"followsDelimiter\":\"/\",\"description\":\"First\",\"type\":\"standalone\"},{\"name\":\"LAST\",\"followsDelimiter\":\"/\",\"description\":\"Last\",\"type\":\"standalone\"},{\"name\":\"PREVIOUS\",\"followsDelimiter\":\"/\",\"aliases\":[\"PREV\"],\"description\":\"Previous\",\"type\":\"standalone\"},{\"name\":\"NEXT\",\"followsDelimiter\":\"/\",\"description\":\"Next\",\"type\":\"standalone\"}]},{\"name\":\"TRIMMISS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies how missing values (either actual or accumulated) are trimmed from the accumulated time series for variables listed in the EXTERNAL statement.\",\"help\":\"TRIMMISS=NONE | LEFT | RIGHT | BOTH*option*\",\"type\":\"value\",\"arguments\":[{\"name\":\"NONE\",\"followsDelimiter\":\"/\",\"description\":\"No missing value trimming is applied.\",\"type\":\"standalone\"},{\"name\":\"LEFT\",\"followsDelimiter\":\"/\",\"description\":\"Beginning missing values are trimmed.\",\"type\":\"standalone\"},{\"name\":\"RIGHT\",\"followsDelimiter\":\"/\",\"description\":\"Ending missing values are trimmed.\",\"type\":\"standalone\"},{\"name\":\"BOTH\",\"followsDelimiter\":\"/\",\"description\":\"Both beginning and ending missing value are trimmed.\",\"type\":\"standalone\"}]},{\"name\":\"ZEROMISS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies how beginning and/or ending zero values (either actual or accumulated) are interpreted in the accumulated time series for variables listed in the ADJUST statement.\",\"help\":\"ZEROMISS=NONE | LEFT | RIGHT | BOTH*option*\",\"type\":\"value\",\"arguments\":[{\"name\":\"NONE\",\"followsDelimiter\":\"/\",\"description\":\"Beginning and/or ending zeros unchanged.\",\"type\":\"standalone\"},{\"name\":\"LEFT\",\"followsDelimiter\":\"/\",\"description\":\"Beginning zeros are set to missing.\",\"type\":\"standalone\"},{\"name\":\"RIGHT\",\"followsDelimiter\":\"/\",\"description\":\"Ending zeros are set to missing.\",\"type\":\"standalone\"},{\"name\":\"BOTH\",\"followsDelimiter\":\"/\",\"description\":\"Both beginning and ending zeros are set to missing.\",\"type\":\"standalone\"}]}]},{\"name\":\"FORECAST\",\"description\":\"The FORECAST statement lists the numeric variables in the DATA= data set whose accumulated values represent time series to be modeled and forecast.\",\"help\":\"FORECAST &lt;ACCUMULATE=&lt;NONE | TOTAL | AVERAGE|AVG&gt;... &gt;&lt;NOREPLACE&gt;&lt;REPLACEMISSING&gt; ...\",\"arguments\":[{\"name\":\"ACCUMULATE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies how the data set observations are accumulated within each time period for the variables listed in the FORECAST statement.\",\"help\":\"ACCUMULATE=NONE | TOTAL | AVERAGE | MINIMUM | MEDIAN | MAXIMUM | N | NMISS | NOBS | FIRST | LAST | STDDEV | CSS | USS*option*\",\"type\":\"value\",\"arguments\":[{\"name\":\"NONE\",\"followsDelimiter\":\"/\",\"description\":\"None\",\"type\":\"standalone\"},{\"name\":\"TOTAL\",\"followsDelimiter\":\"/\",\"description\":\"Total\",\"type\":\"standalone\"},{\"name\":\"AVERAGE\",\"followsDelimiter\":\"/\",\"aliases\":[\"AVG\"],\"description\":\"Average\",\"type\":\"standalone\"},{\"name\":\"MINIMUM\",\"followsDelimiter\":\"/\",\"aliases\":[\"MIN\"],\"description\":\"Minimum\",\"type\":\"standalone\"},{\"name\":\"MEDIAN\",\"followsDelimiter\":\"/\",\"aliases\":[\"MED\"],\"description\":\"Median\",\"type\":\"standalone\"},{\"name\":\"MAXIMUM\",\"followsDelimiter\":\"/\",\"aliases\":[\"MAX\"],\"description\":\"Maximum\",\"type\":\"standalone\"},{\"name\":\"N\",\"followsDelimiter\":\"/\",\"description\":\"N\",\"type\":\"standalone\"},{\"name\":\"NMISS\",\"followsDelimiter\":\"/\",\"description\":\"NMISS\",\"type\":\"standalone\"},{\"name\":\"NOBS\",\"followsDelimiter\":\"/\",\"description\":\"NOBS\",\"type\":\"standalone\"},{\"name\":\"FIRST\",\"followsDelimiter\":\"/\",\"description\":\"First\",\"type\":\"standalone\"},{\"name\":\"LAST\",\"followsDelimiter\":\"/\",\"description\":\"Last\",\"type\":\"standalone\"},{\"name\":\"STDDEV\",\"followsDelimiter\":\"/\",\"aliases\":[\"STD\"],\"description\":\"STDDEV\",\"type\":\"standalone\"},{\"name\":\"CSS\",\"followsDelimiter\":\"/\",\"description\":\"CSS\",\"type\":\"standalone\"},{\"name\":\"USS\",\"followsDelimiter\":\"/\",\"description\":\"USS\",\"type\":\"standalone\"}]},{\"name\":\"NOREPLACE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that the forecast value in the OUTFOR= data set be set to missing when a corresponding historical value is missing.\",\"type\":\"standalone\"},{\"name\":\"REPLACEMISSING\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies that embedded missing actual values be replaced with one-step-ahead forecasts in the OUT= data set. The inverse behavior of this option, applied to the OUTFOR= data set, is NOREPLACE.\",\"type\":\"standalone\"},{\"name\":\"SETMISSING=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies how missing values (either actual or accumulated) are assigned in the accumulated time series for variables listed in the FORECAST statement.\",\"help\":\"SETMISSING=MISSING | AVERAGE | MINIMUM | MEDIAN | MAXIMUM | FIRST | LAST | PREVIOUS | NEXT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"MISSING\",\"followsDelimiter\":\"/\",\"description\":\"Missing\",\"type\":\"standalone\"},{\"name\":\"AVERAGE\",\"followsDelimiter\":\"/\",\"aliases\":[\"AVG\"],\"description\":\"Average\",\"type\":\"standalone\"},{\"name\":\"MINIMUM\",\"followsDelimiter\":\"/\",\"aliases\":[\"MIN\"],\"description\":\"Minimum\",\"type\":\"standalone\"},{\"name\":\"MEDIAN\",\"followsDelimiter\":\"/\",\"aliases\":[\"MED\"],\"description\":\"Median\",\"type\":\"standalone\"},{\"name\":\"MAXIMUM\",\"followsDelimiter\":\"/\",\"aliases\":[\"MAX\"],\"description\":\"Maximum\",\"type\":\"standalone\"},{\"name\":\"FIRST\",\"followsDelimiter\":\"/\",\"description\":\"First\",\"type\":\"standalone\"},{\"name\":\"LAST\",\"followsDelimiter\":\"/\",\"description\":\"Last\",\"type\":\"standalone\"},{\"name\":\"PREVIOUS\",\"followsDelimiter\":\"/\",\"aliases\":[\"PREV\"],\"description\":\"Previous\",\"type\":\"standalone\"},{\"name\":\"NEXT\",\"followsDelimiter\":\"/\",\"description\":\"Next\",\"type\":\"standalone\"}]},{\"name\":\"TRIMMISS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies how missing values (either actual or accumulated) are trimmed from the accumulated time series for variables listed in the FORECAST statement.\",\"help\":\"TRIMMISS=NONE | LEFT | RIGHT | BOTH*option*\",\"type\":\"value\",\"arguments\":[{\"name\":\"NONE\",\"followsDelimiter\":\"/\",\"description\":\"No missing value trimming is applied.\",\"type\":\"standalone\"},{\"name\":\"LEFT\",\"followsDelimiter\":\"/\",\"description\":\"Beginning missing values are trimmed.\",\"type\":\"standalone\"},{\"name\":\"RIGHT\",\"followsDelimiter\":\"/\",\"description\":\"Ending missing values are trimmed.\",\"type\":\"standalone\"},{\"name\":\"BOTH\",\"followsDelimiter\":\"/\",\"description\":\"Both beginning and ending missing value are trimmed.\",\"type\":\"standalone\"}]},{\"name\":\"ZEROMISS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies how beginning and/or ending zero values (either actual or accumulated) are interpreted in the accumulated time series for variables listed in the FORECAST statement.\",\"help\":\"ZEROMISS=NONE | LEFT | RIGHT | BOTH*option*\",\"type\":\"value\",\"arguments\":[{\"name\":\"NONE\",\"followsDelimiter\":\"/\",\"description\":\"Beginning and/or ending zeros unchanged.\",\"type\":\"standalone\"},{\"name\":\"LEFT\",\"followsDelimiter\":\"/\",\"description\":\"Beginning zeros are set to missing.\",\"type\":\"standalone\"},{\"name\":\"RIGHT\",\"followsDelimiter\":\"/\",\"description\":\"Ending zeros are set to missing.\",\"type\":\"standalone\"},{\"name\":\"BOTH\",\"followsDelimiter\":\"/\",\"description\":\"Both beginning and ending zeros are set to missing.\",\"type\":\"standalone\"}]}]},{\"name\":\"ID\",\"description\":\"The ID statement names a numeric variable that identifies observations in the input and output data sets. The ID variable’s values are assumed to be SAS date, time, or datetime values. In addition, the ID statement specifies the (desired) frequency associated with the actual time series. The ID statement options also specify how the observations are accumulated and how the time ID values are aligned to form the actual time series. The information specified affects all variables specified in subsequent FORECAST statements. If the ID statement is specified, the INTERVAL= option must also be specified. If an ID statement is not specified, the observation number (with respect to the BY group) is used as the time ID.\",\"help\":\"ID &lt;ACCUMULATE=&lt;NONE | TOTAL | AVERAGE|AVG&gt;... &gt;&lt;ALIGN=&lt;BEGINNING|BEG|B | MIDDLE|MID|M | ENDING|END|E&gt;&gt;&lt;END=option&gt; ...\",\"arguments\":[{\"name\":\"ACCUMULATE=\",\"optional\":true,\"description\":\"Specifies how the data set observations are accumulated within each time period.\",\"help\":\"ACCUMULATE=NONE | TOTAL | AVERAGE | MINIMUM | MEDIAN | MAXIMUM | N | NMISS | NOBS | FIRST | LAST | STDDEV | CSS | USS*option*\",\"type\":\"value\",\"arguments\":[{\"name\":\"NONE\",\"description\":\"No accumulation occurs; the ID variable values must be equally spaced with respect to the frequency. This is the default option.\",\"type\":\"standalone\"},{\"name\":\"TOTAL\",\"description\":\"Observations are accumulated based on the total sum of their values.\",\"type\":\"standalone\"},{\"name\":\"AVERAGE\",\"aliases\":[\"AVG\"],\"description\":\"Observations are accumulated based on the average of their values.\",\"type\":\"standalone\"},{\"name\":\"MINIMUM\",\"aliases\":[\"MIN\"],\"description\":\"Observations are accumulated based on the minimum of their values.\",\"type\":\"standalone\"},{\"name\":\"MEDIAN\",\"aliases\":[\"MED\"],\"description\":\"Observations are accumulated based on the median of their values.\",\"type\":\"standalone\"},{\"name\":\"MAXIMUM\",\"aliases\":[\"MAX\"],\"description\":\"Observations are accumulated based on the maximum of their values.\",\"type\":\"standalone\"},{\"name\":\"N\",\"description\":\"Observations are accumulated based on the number of nonmissing observations.\",\"type\":\"standalone\"},{\"name\":\"NMISS\",\"description\":\"Observations are accumulated based on the number of missing observations.\",\"type\":\"standalone\"},{\"name\":\"NOBS\",\"description\":\"Observations are accumulated based on the number of observations.\",\"type\":\"standalone\"},{\"name\":\"FIRST\",\"description\":\"Observations are accumulated based on the first of their values.\",\"type\":\"standalone\"},{\"name\":\"LAST\",\"description\":\"Observations are accumulated based on the last of their values.\",\"type\":\"standalone\"},{\"name\":\"STDDEV\",\"aliases\":[\"STD\"],\"description\":\"Observations are accumulated based on the standard deviation of their values.\",\"type\":\"standalone\"},{\"name\":\"CSS\",\"description\":\"Observations are accumulated based on the corrected sum of squares of their values.\",\"type\":\"standalone\"},{\"name\":\"USS\",\"description\":\"Observations are accumulated based on the uncorrected sum of squares of their values.\",\"type\":\"standalone\"}]},{\"name\":\"ALIGN=\",\"optional\":true,\"description\":\"Controls the alignment of SAS dates that are used to identify output observations.\",\"help\":\"ALIGN=BEGINNING | MIDDLE | ENDING*option*\",\"type\":\"value\",\"arguments\":[{\"name\":\"BEGINNING\",\"aliases\":[\"BEG\",\"B\"],\"description\":\"Beginning\",\"type\":\"standalone\"},{\"name\":\"MIDDLE\",\"aliases\":[\"MID\",\"M\"],\"description\":\"Middle\",\"type\":\"standalone\"},{\"name\":\"ENDING\",\"aliases\":[\"END\",\"E\"],\"description\":\"Ending\",\"type\":\"standalone\"}]},{\"name\":\"END=\",\"optional\":true,\"description\":\"Specifies a SAS date, datetime, or time value that represents the end of the data. If the last time ID variable value is less than the END= value, the series is extended with missing values.\",\"help\":\"END=*option*\",\"type\":\"value\"},{\"name\":\"FORMAT=\",\"optional\":true,\"description\":\"Specifies a SAS format that is used for the DATE variable in the output data sets. The default format is the same as that of the DATE variable in the DATA= data set.\",\"help\":\"FORMAT=*option*\",\"type\":\"value\"},{\"name\":\"HORIZONSTART=\",\"optional\":true,\"description\":\"Specifies a SAS date, datetime, or time value that represents the start of the forecast horizon.\",\"help\":\"HORIZONSTART=*option*\",\"type\":\"value\"},{\"name\":\"INTERVAL=\",\"optional\":true,\"description\":\"Specifies the frequency of the input time series.\",\"help\":\"INTERVAL=*interval*\",\"type\":\"value\"},{\"name\":\"SETMISSING=\",\"optional\":true,\"description\":\"Specifies how missing values (either actual or accumulated) are assigned in the accumulated time series.\",\"help\":\"SETMISSING=MISSING | AVERAGE | MINIMUM | MEDIAN | MAXIMUM | FIRST | LAST | PREVIOUS | NEXT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"MISSING\",\"description\":\"Missing values are set to missing. This is the default option.\",\"type\":\"standalone\"},{\"name\":\"AVERAGE\",\"aliases\":[\"AVG\"],\"description\":\"Missing values are set to the accumulated average value.\",\"type\":\"standalone\"},{\"name\":\"MINIMUM\",\"aliases\":[\"MIN\"],\"description\":\"Missing values are set to the accumulated minimum value.\",\"type\":\"standalone\"},{\"name\":\"MEDIAN\",\"aliases\":[\"MED\"],\"description\":\"Missing values are set to the accumulated median value.\",\"type\":\"standalone\"},{\"name\":\"MAXIMUM\",\"aliases\":[\"MAX\"],\"description\":\"Missing values are set to the accumulated maximum value.\",\"type\":\"standalone\"},{\"name\":\"FIRST\",\"description\":\"Missing values are set to the accumulated first nonmissing value.\",\"type\":\"standalone\"},{\"name\":\"LAST\",\"description\":\"Missing values are set to the accumulated last nonmissing value.\",\"type\":\"standalone\"},{\"name\":\"PREVIOUS\",\"aliases\":[\"PREV\"],\"description\":\"Missing values are set to the previous accumulated nonmissing value.\",\"type\":\"standalone\"},{\"name\":\"NEXT\",\"description\":\"Missing values are set to the next accumulated nonmissing value.\",\"type\":\"standalone\"}]},{\"name\":\"START=\",\"optional\":true,\"description\":\"Specifies a SAS date, datetime, or time value that represents the beginning of the data.\",\"help\":\"START=*option*\",\"type\":\"value\"},{\"name\":\"TRIMMISS=\",\"optional\":true,\"description\":\"Specifies how missing values (either actual or accumulated) are trimmed from the accumulated time series for variables listed in the FORECAST statement.\",\"help\":\"TRIMMISS=NONE | LEFT | RIGHT | BOTH*option*\",\"type\":\"value\",\"arguments\":[{\"name\":\"NONE\",\"description\":\"No missing value trimming is applied.\",\"type\":\"standalone\"},{\"name\":\"LEFT\",\"description\":\"Beginning missing values are trimmed.\",\"type\":\"standalone\"},{\"name\":\"RIGHT\",\"description\":\"Ending missing values are trimmed.\",\"type\":\"standalone\"},{\"name\":\"BOTH\",\"description\":\"Both beginning and ending missing value are trimmed.\",\"type\":\"standalone\"}]},{\"name\":\"ZEROMISS=\",\"optional\":true,\"description\":\"Specifies how beginning and/or ending zero values (either actual or accumulated) are interpreted in the accumulated time series.\",\"help\":\"ZEROMISS=NONE | LEFT | RIGHT | BOTH*option*\",\"type\":\"value\",\"arguments\":[{\"name\":\"NONE\",\"description\":\"Beginning and/or ending zeros unchanged.\",\"type\":\"standalone\"},{\"name\":\"LEFT\",\"description\":\"Beginning zeros are set to missing.\",\"type\":\"standalone\"},{\"name\":\"RIGHT\",\"description\":\"Ending zeros are set to missing.\",\"type\":\"standalone\"},{\"name\":\"BOTH\",\"description\":\"Both beginning and ending zeros are set to missing.\",\"type\":\"standalone\"}]}]},{\"name\":\"INPUT\",\"description\":\"The INPUT statement lists the numeric variables in the DATA= data set whose accumulated values are used as deterministic input in the forecasting process.\",\"help\":\"INPUT &lt;ACCUMULATE=&lt;NONE | TOTAL | AVERAGE|AVG&gt;... &gt;&lt;REQUIRED=&lt;YES | NO&gt;&gt;&lt;SETMISSING=&lt;MISSING | AVERAGE|AVG | MINIMUM|MIN&gt;... &gt; ...\",\"arguments\":[{\"name\":\"ACCUMULATE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies how the data set observations are accumulated within each time period for the variables listed in the INPUT statement.\",\"help\":\"ACCUMULATE=NONE | TOTAL | AVERAGE | MINIMUM | MEDIAN | MAXIMUM | N | NMISS | NOBS | FIRST | LAST | STDDEV | CSS | USS*option*\",\"type\":\"value\",\"arguments\":[{\"name\":\"NONE\",\"followsDelimiter\":\"/\",\"description\":\"None\",\"type\":\"standalone\"},{\"name\":\"TOTAL\",\"followsDelimiter\":\"/\",\"description\":\"Total\",\"type\":\"standalone\"},{\"name\":\"AVERAGE\",\"followsDelimiter\":\"/\",\"aliases\":[\"AVG\"],\"description\":\"Average\",\"type\":\"standalone\"},{\"name\":\"MINIMUM\",\"followsDelimiter\":\"/\",\"aliases\":[\"MIN\"],\"description\":\"Minimum\",\"type\":\"standalone\"},{\"name\":\"MEDIAN\",\"followsDelimiter\":\"/\",\"aliases\":[\"MED\"],\"description\":\"Median\",\"type\":\"standalone\"},{\"name\":\"MAXIMUM\",\"followsDelimiter\":\"/\",\"aliases\":[\"MAX\"],\"description\":\"Maximum\",\"type\":\"standalone\"},{\"name\":\"N\",\"followsDelimiter\":\"/\",\"description\":\"N\",\"type\":\"standalone\"},{\"name\":\"NMISS\",\"followsDelimiter\":\"/\",\"description\":\"NMISS\",\"type\":\"standalone\"},{\"name\":\"NOBS\",\"followsDelimiter\":\"/\",\"description\":\"NOBS\",\"type\":\"standalone\"},{\"name\":\"FIRST\",\"followsDelimiter\":\"/\",\"description\":\"First\",\"type\":\"standalone\"},{\"name\":\"LAST\",\"followsDelimiter\":\"/\",\"description\":\"Last\",\"type\":\"standalone\"},{\"name\":\"STDDEV\",\"followsDelimiter\":\"/\",\"aliases\":[\"STD\"],\"description\":\"STDDEV\",\"type\":\"standalone\"},{\"name\":\"CSS\",\"followsDelimiter\":\"/\",\"description\":\"CSS\",\"type\":\"standalone\"},{\"name\":\"USS\",\"followsDelimiter\":\"/\",\"description\":\"USS\",\"type\":\"standalone\"}]},{\"name\":\"REQUIRED=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Enables or disables a check of inputs to models.\",\"help\":\"REQUIRED=YES | NO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YES\",\"followsDelimiter\":\"/\",\"description\":\"Specifies that the input variables be included in the model as long as the model does not fail to be diagnosed.\",\"type\":\"standalone\"},{\"name\":\"NO\",\"followsDelimiter\":\"/\",\"description\":\"Specifies that the input variables be included in the model as long as their parameters are significant and the increment of the value of criterion exceeds a threshold.\",\"type\":\"standalone\"}]},{\"name\":\"SETMISSING=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies how missing values (either actual or accumulated) are assigned in the accumulated time series for the variables listed in the INPUT statement.\",\"help\":\"SETMISSING=MISSING | AVERAGE | MINIMUM | MEDIAN | MAXIMUM | FIRST | LAST | PREVIOUS | NEXT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"MISSING\",\"followsDelimiter\":\"/\",\"description\":\"Missing\",\"type\":\"standalone\"},{\"name\":\"AVERAGE\",\"followsDelimiter\":\"/\",\"aliases\":[\"AVG\"],\"description\":\"Average\",\"type\":\"standalone\"},{\"name\":\"MINIMUM\",\"followsDelimiter\":\"/\",\"aliases\":[\"MIN\"],\"description\":\"Minimum\",\"type\":\"standalone\"},{\"name\":\"MEDIAN\",\"followsDelimiter\":\"/\",\"aliases\":[\"MED\"],\"description\":\"Median\",\"type\":\"standalone\"},{\"name\":\"MAXIMUM\",\"followsDelimiter\":\"/\",\"aliases\":[\"MAX\"],\"description\":\"Maximum\",\"type\":\"standalone\"},{\"name\":\"FIRST\",\"followsDelimiter\":\"/\",\"description\":\"First\",\"type\":\"standalone\"},{\"name\":\"LAST\",\"followsDelimiter\":\"/\",\"description\":\"Last\",\"type\":\"standalone\"},{\"name\":\"PREVIOUS\",\"followsDelimiter\":\"/\",\"aliases\":[\"PREV\"],\"description\":\"Previous\",\"type\":\"standalone\"},{\"name\":\"NEXT\",\"followsDelimiter\":\"/\",\"description\":\"Next\",\"type\":\"standalone\"}]},{\"name\":\"TRIMMISS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies how missing values (either actual or accumulated) are trimmed from the accumulated time series for variables listed in the INPUT statement.\",\"help\":\"TRIMMISS=NONE | LEFT | RIGHT | BOTH*option*\",\"type\":\"value\",\"arguments\":[{\"name\":\"NONE\",\"followsDelimiter\":\"/\",\"description\":\"No missing value trimming is applied.\",\"type\":\"standalone\"},{\"name\":\"LEFT\",\"followsDelimiter\":\"/\",\"description\":\"Beginning missing values are trimmed.\",\"type\":\"standalone\"},{\"name\":\"RIGHT\",\"followsDelimiter\":\"/\",\"description\":\"Ending missing values are trimmed.\",\"type\":\"standalone\"},{\"name\":\"BOTH\",\"followsDelimiter\":\"/\",\"description\":\"Both beginning and ending missing value are trimmed.\",\"type\":\"standalone\"}]},{\"name\":\"ZEROMISS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies how beginning and/or ending zero values (either actual or accumulated) are interpreted in the accumulated time series for variables listed in the INPUT statement.\",\"help\":\"ZEROMISS=NONE | LEFT | RIGHT | BOTH*option*\",\"type\":\"value\",\"arguments\":[{\"name\":\"NONE\",\"followsDelimiter\":\"/\",\"description\":\"Beginning and/or ending zeros unchanged.\",\"type\":\"standalone\"},{\"name\":\"LEFT\",\"followsDelimiter\":\"/\",\"description\":\"Beginning zeros are set to missing.\",\"type\":\"standalone\"},{\"name\":\"RIGHT\",\"followsDelimiter\":\"/\",\"description\":\"Ending zeros are set to missing.\",\"type\":\"standalone\"},{\"name\":\"BOTH\",\"followsDelimiter\":\"/\",\"description\":\"Both beginning and ending zeros are set to missing.\",\"type\":\"standalone\"}]}]},{\"name\":\"SCORE\",\"description\":\"The SCORE statement, used in conjunction with one or more FORECAST statements, causes the generation of score files.\",\"help\":\"SCORE &lt;BASENAME=SAS-name&gt;\",\"arguments\":[{\"name\":\"BASENAME=\",\"optional\":true,\"description\":\"Prefixes the score file name with the specified value.\",\"help\":\"BASENAME=*SAS-name*\",\"type\":\"value\"}]},{\"name\":\"STOCHASTIC\",\"description\":\"The STOCHASTIC statement lists the numeric variables in the DATA= data set whose accumulated values are used as stochastic input in the forecasting process.\",\"help\":\"STOCHASTIC &lt;ACCUMULATE=&lt;NONE | TOTAL | AVERAGE|AVG&gt;... &gt;&lt;REQUIRED=&lt;YES | NO&gt;&gt;&lt;SELECTION=&lt;NONE | TOTAL | AVERAGE|AVG&gt;... &gt; ...\",\"arguments\":[{\"name\":\"ACCUMULATE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies how the data set observations are accumulated within each time period for the variables listed in the STOCHASTIC statement.\",\"help\":\"ACCUMULATE=NONE | TOTAL | AVERAGE | MINIMUM | MEDIAN | MAXIMUM | N | NMISS | NOBS | FIRST | LAST | STDDEV | CSS | USS*option*\",\"type\":\"value\",\"arguments\":[{\"name\":\"NONE\",\"followsDelimiter\":\"/\",\"description\":\"No accumulation occurs; the ID variable values must be equally spaced with respect to the frequency. This is the default option.\",\"type\":\"standalone\"},{\"name\":\"TOTAL\",\"followsDelimiter\":\"/\",\"description\":\"Observations are accumulated based on the total sum of their values.\",\"type\":\"standalone\"},{\"name\":\"AVERAGE\",\"followsDelimiter\":\"/\",\"aliases\":[\"AVG\"],\"description\":\"Observations are accumulated based on the average of their values.\",\"type\":\"standalone\"},{\"name\":\"MINIMUM\",\"followsDelimiter\":\"/\",\"aliases\":[\"MIN\"],\"description\":\"Observations are accumulated based on the minimum of their values.\",\"type\":\"standalone\"},{\"name\":\"MEDIAN\",\"followsDelimiter\":\"/\",\"aliases\":[\"MED\"],\"description\":\"Observations are accumulated based on the median of their values.\",\"type\":\"standalone\"},{\"name\":\"MAXIMUM\",\"followsDelimiter\":\"/\",\"aliases\":[\"MAX\"],\"description\":\"Observations are accumulated based on the maximum of their values.\",\"type\":\"standalone\"},{\"name\":\"N\",\"followsDelimiter\":\"/\",\"description\":\"Observations are accumulated based on the number of nonmissing observations.\",\"type\":\"standalone\"},{\"name\":\"NMISS\",\"followsDelimiter\":\"/\",\"description\":\"Observations are accumulated based on the number of missing observations.\",\"type\":\"standalone\"},{\"name\":\"NOBS\",\"followsDelimiter\":\"/\",\"description\":\"Observations are accumulated based on the number of observations.\",\"type\":\"standalone\"},{\"name\":\"FIRST\",\"followsDelimiter\":\"/\",\"description\":\"Observations are accumulated based on the first of their values.\",\"type\":\"standalone\"},{\"name\":\"LAST\",\"followsDelimiter\":\"/\",\"description\":\"Observations are accumulated based on the last of their values.\",\"type\":\"standalone\"},{\"name\":\"STDDEV\",\"followsDelimiter\":\"/\",\"aliases\":[\"STD\"],\"description\":\"Observations are accumulated based on the standard deviation of their values.\",\"type\":\"standalone\"},{\"name\":\"CSS\",\"followsDelimiter\":\"/\",\"description\":\"Observations are accumulated based on the corrected sum of squares of their values.\",\"type\":\"standalone\"},{\"name\":\"USS\",\"followsDelimiter\":\"/\",\"description\":\"Observations are accumulated based on the uncorrected sum of squares of their values.\",\"type\":\"standalone\"}]},{\"name\":\"REPLACEMISSING\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies that embedded missing actual values be replaced with one-step-ahead forecasts in the STOCHASTIC variables.\",\"type\":\"standalone\"},{\"name\":\"REQUIRED=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Enables or disables a check of inputs to models.\",\"help\":\"REQUIRED=YES | NO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YES\",\"followsDelimiter\":\"/\",\"description\":\"Checks are not performed and no inputs are dropped from a model.\",\"type\":\"standalone\"},{\"name\":\"NO\",\"followsDelimiter\":\"/\",\"description\":\"Inputs are checked and those with errors, or those judged collinear, are dropped from the model for the current series and task only.\",\"type\":\"standalone\"}]},{\"name\":\"SELECTION=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the selection list used to forecast the stochastic variables.\",\"help\":\"SELECTION=NONE | TOTAL | AVERAGE | MINIMUM | MEDIAN | MAXIMUM | N | NMISS | NOBS | FIRST | LAST | STDDEV | CSS | USS*option*\",\"type\":\"value\",\"arguments\":[{\"name\":\"NONE\",\"followsDelimiter\":\"/\",\"description\":\"No accumulation occurs; the ID variable values must be equally spaced with respect to the frequency. This is the default option.\",\"type\":\"standalone\"},{\"name\":\"TOTAL\",\"followsDelimiter\":\"/\",\"description\":\"Observations are accumulated based on the total sum of their values.\",\"type\":\"standalone\"},{\"name\":\"AVERAGE\",\"followsDelimiter\":\"/\",\"aliases\":[\"AVG\"],\"description\":\"Observations are accumulated based on the average of their values.\",\"type\":\"standalone\"},{\"name\":\"MINIMUM\",\"followsDelimiter\":\"/\",\"aliases\":[\"MIN\"],\"description\":\"Observations are accumulated based on the minimum of their values.\",\"type\":\"standalone\"},{\"name\":\"MEDIAN\",\"followsDelimiter\":\"/\",\"aliases\":[\"MED\"],\"description\":\"Observations are accumulated based on the median of their values.\",\"type\":\"standalone\"},{\"name\":\"MAXIMUM\",\"followsDelimiter\":\"/\",\"aliases\":[\"MAX\"],\"description\":\"Observations are accumulated based on the maximum of their values.\",\"type\":\"standalone\"},{\"name\":\"N\",\"followsDelimiter\":\"/\",\"description\":\"Observations are accumulated based on the number of nonmissing observations.\",\"type\":\"standalone\"},{\"name\":\"NMISS\",\"followsDelimiter\":\"/\",\"description\":\"Observations are accumulated based on the number of missing observations.\",\"type\":\"standalone\"},{\"name\":\"NOBS\",\"followsDelimiter\":\"/\",\"description\":\"Observations are accumulated based on the number of observations.\",\"type\":\"standalone\"},{\"name\":\"FIRST\",\"followsDelimiter\":\"/\",\"description\":\"Observations are accumulated based on the first of their values.\",\"type\":\"standalone\"},{\"name\":\"LAST\",\"followsDelimiter\":\"/\",\"description\":\"Observations are accumulated based on the last of their values.\",\"type\":\"standalone\"},{\"name\":\"STDDEV\",\"followsDelimiter\":\"/\",\"aliases\":[\"STD\"],\"description\":\"Observations are accumulated based on the standard deviation of their values.\",\"type\":\"standalone\"},{\"name\":\"CSS\",\"followsDelimiter\":\"/\",\"description\":\"Observations are accumulated based on the corrected sum of squares of their values.\",\"type\":\"standalone\"},{\"name\":\"USS\",\"followsDelimiter\":\"/\",\"description\":\"Observations are accumulated based on the uncorrected sum of squares of their values.\",\"type\":\"standalone\"}]},{\"name\":\"SETMISSING=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies how missing values (either actual or accumulated) are assigned in the accumulated time series.\",\"help\":\"SETMISSING=MISSING | AVERAGE | MINIMUM | MEDIAN | MAXIMUM | FIRST | LAST | PREVIOUS | NEXT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"MISSING\",\"followsDelimiter\":\"/\",\"description\":\"Missing values are set to missing. This is the default option.\",\"type\":\"standalone\"},{\"name\":\"AVERAGE\",\"followsDelimiter\":\"/\",\"aliases\":[\"AVG\"],\"description\":\"Observations are accumulated based on the average of their values.\",\"type\":\"standalone\"},{\"name\":\"MINIMUM\",\"followsDelimiter\":\"/\",\"aliases\":[\"MIN\"],\"description\":\"Missing values are set to the accumulated minimum value.\",\"type\":\"standalone\"},{\"name\":\"MEDIAN\",\"followsDelimiter\":\"/\",\"aliases\":[\"MED\"],\"description\":\"Missing values are set to the accumulated median value.\",\"type\":\"standalone\"},{\"name\":\"MAXIMUM\",\"followsDelimiter\":\"/\",\"aliases\":[\"MAX\"],\"description\":\"Missing values are set to the accumulated maximum value.\",\"type\":\"standalone\"},{\"name\":\"FIRST\",\"followsDelimiter\":\"/\",\"description\":\"Missing values are set to the accumulated first nonmissing value.\",\"type\":\"standalone\"},{\"name\":\"LAST\",\"followsDelimiter\":\"/\",\"description\":\"Missing values are set to the accumulated last nonmissing value.\",\"type\":\"standalone\"},{\"name\":\"PREVIOUS\",\"followsDelimiter\":\"/\",\"aliases\":[\"PREV\"],\"description\":\"Missing values are set to the previous accumulated nonmissing value.\",\"type\":\"standalone\"},{\"name\":\"NEXT\",\"followsDelimiter\":\"/\",\"description\":\"Missing values are set to the next accumulated nonmissing value.\",\"type\":\"standalone\"}]},{\"name\":\"TRIMMISS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies how missing values (either actual or accumulated) are trimmed from the accumulated time series for variables listed in the FORECAST statement.\",\"help\":\"TRIMMISS=NONE | LEFT | RIGHT | BOTH*option*\",\"type\":\"value\",\"arguments\":[{\"name\":\"NONE\",\"followsDelimiter\":\"/\",\"description\":\"No missing value trimming is applied.\",\"type\":\"standalone\"},{\"name\":\"LEFT\",\"followsDelimiter\":\"/\",\"description\":\"Beginning missing values are trimmed.\",\"type\":\"standalone\"},{\"name\":\"RIGHT\",\"followsDelimiter\":\"/\",\"description\":\"Ending missing values are trimmed.\",\"type\":\"standalone\"},{\"name\":\"BOTH\",\"followsDelimiter\":\"/\",\"description\":\"Both beginning and ending missing value are trimmed.\",\"type\":\"standalone\"}]},{\"name\":\"ZEROMISS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies how beginning and/or ending zero values (either actual or accumulated) are interpreted in the accumulated time series.\",\"help\":\"ZEROMISS=NONE | LEFT | RIGHT | BOTH*option*\",\"type\":\"value\",\"arguments\":[{\"name\":\"NONE\",\"followsDelimiter\":\"/\",\"description\":\"Beginning and/or ending zeros unchanged.\",\"type\":\"standalone\"},{\"name\":\"LEFT\",\"followsDelimiter\":\"/\",\"description\":\"Beginning zeros are set to missing.\",\"type\":\"standalone\"},{\"name\":\"RIGHT\",\"followsDelimiter\":\"/\",\"description\":\"Ending zeros are set to missing.\",\"type\":\"standalone\"},{\"name\":\"BOTH\",\"followsDelimiter\":\"/\",\"description\":\"Both beginning and ending zeros are set to missing.\",\"type\":\"standalone\"}]}]}],\"supportSiteInformation\":{\"docsetId\":\"hpfug\",\"docsetVersion\":\"latest\",\"docsetTargetFile\":\"hpfug_eng_toc.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/HPFESMSPEC.json",
    "content": "{\"name\":\"HPFESMSPEC\",\"statements\":[{\"name\":\"PROC HPFESMSPEC\",\"description\":\"The HPFESMSPEC procedure creates model specifications files for exponential smoothing models (ESM). † You can specify many types of exponential models with this procedure. In particular, any model that can be analyzed using the HPF procedure can be specified.\",\"help\":\"PROC HPFESMSPEC <LABEL=\\\"specification label\\\"><NAME=SAS-name><REPOSITORY=SAS-catalog-name | SAS-file-reference>;     \\n\\tESM <CRITERION=<SSE | MSE | RMSE>... ><DAMPPARM=number><DAMPREST=(number, number )> ...;\\n\",\"arguments\":[{\"name\":\"LABEL=\",\"optional\":true,\"aliases\":[\"SPECLABEL=\"],\"description\":\"Specifies a descriptive label for the model specification to be stored in the SAS catalog or external file reference.\",\"type\":\"value\"},{\"name\":\"NAME=\",\"optional\":true,\"aliases\":[\"SPECNAME=\"],\"description\":\"Names the model specification to be stored in the SAS catalog or external file reference. The NAME= option can also be specified as SPECNAME=.\",\"help\":\"NAME=*SAS-name*\",\"type\":\"value\"},{\"name\":\"REPOSITORY=\",\"optional\":true,\"aliases\":[\"MODELREPOSITORY=\",\"MODELREP=\",\"REP=\"],\"description\":\"Names the SAS catalog or external file reference to contain the model specification. The REPOSITORY= option can also be specified as MODELREPOSITORY=, MODELREP=, or REP=.\",\"type\":\"value\"}]},{\"name\":\"ESM\",\"description\":\"The ESM statement is used to specify an exponential smoothing model.\",\"help\":\"ESM &lt;CRITERION=&lt;SSE | MSE | RMSE&gt;... &gt;&lt;DAMPPARM=number&gt;&lt;DAMPREST=(number, number )&gt; ...\",\"arguments\":[{\"name\":\"CRITERION=\",\"optional\":true,\"aliases\":[\"SELECT=\"],\"description\":\"Specifies the model selection criterion (statistic of fit) to be used to select from several candidate models.\",\"help\":\"CRITERION=SSE | MSE | RMSE | UMSE | URMSE | MAXPE | MINPE | MPE | MAPE | MDAPE | GMAPE | MAPES | MDAPES | GMAPES | MINPPE | MAXPPE | MPPE | MAPPE | MDAPPE | GMAPPE | MINSPE | MAXSPE | MSPE | SMAPE | MDASPE | GMASPE | MINRE | MAXRE | MRE | MRAE | MDRAE | GMRAE | MAXERR | MINERR | ME | MAE | MASE | RSQUARE | ADJRSQ | AADJRSQ | RWRSQ | AIC | AICC | SBC | APC*option*\",\"type\":\"value\",\"arguments\":[{\"name\":\"SSE\",\"description\":\"Sum of squared error\",\"type\":\"standalone\"},{\"name\":\"MSE\",\"description\":\"Mean squared error\",\"type\":\"standalone\"},{\"name\":\"RMSE\",\"description\":\"Root mean squared error\",\"type\":\"standalone\"},{\"name\":\"UMSE\",\"description\":\"Unbiased mean squared error\",\"type\":\"standalone\"},{\"name\":\"URMSE\",\"description\":\"Unbiased root mean squared error\",\"type\":\"standalone\"},{\"name\":\"MAXPE\",\"description\":\"Maximum percent error\",\"type\":\"standalone\"},{\"name\":\"MINPE\",\"description\":\"Minimum percent error\",\"type\":\"standalone\"},{\"name\":\"MPE\",\"description\":\"Mean percent error\",\"type\":\"standalone\"},{\"name\":\"MAPE\",\"description\":\"Mean absolute percent error\",\"type\":\"standalone\"},{\"name\":\"MDAPE\",\"description\":\"Median absolute percent error\",\"type\":\"standalone\"},{\"name\":\"GMAPE\",\"description\":\"Geometric mean absolute percent error\",\"type\":\"standalone\"},{\"name\":\"MAPES\",\"description\":\"Mean absolute error percent of standard deviation\",\"type\":\"standalone\"},{\"name\":\"MDAPES\",\"description\":\"Median absolute error percent of standard deviation\",\"type\":\"standalone\"},{\"name\":\"GMAPES\",\"description\":\"Geometric mean absolute error percent of standard deviation\",\"type\":\"standalone\"},{\"name\":\"MINPPE\",\"description\":\"Minimum predictive percent error\",\"type\":\"standalone\"},{\"name\":\"MAXPPE\",\"description\":\"Maximum predictive percent error\",\"type\":\"standalone\"},{\"name\":\"MPPE\",\"description\":\"Mean predictive percent error\",\"type\":\"standalone\"},{\"name\":\"MAPPE\",\"description\":\"Symmetric mean absolute predictive percent error\",\"type\":\"standalone\"},{\"name\":\"MDAPPE\",\"description\":\"Median absolute predictive percent error\",\"type\":\"standalone\"},{\"name\":\"GMAPPE\",\"description\":\"Geometric mean absolute predictive percent error\",\"type\":\"standalone\"},{\"name\":\"MINSPE\",\"description\":\"Minimum symmetric percent error\",\"type\":\"standalone\"},{\"name\":\"MAXSPE\",\"description\":\"Maximum symmetric percent error\",\"type\":\"standalone\"},{\"name\":\"MSPE\",\"description\":\"Mean symmetric percent error\",\"type\":\"standalone\"},{\"name\":\"SMAPE\",\"description\":\"Symmetric mean absolute percent error\",\"type\":\"standalone\"},{\"name\":\"MDASPE\",\"description\":\"Median absolute symmetric percent error\",\"type\":\"standalone\"},{\"name\":\"GMASPE\",\"description\":\"Geometric mean absolute symmetric percent error\",\"type\":\"standalone\"},{\"name\":\"MINRE\",\"description\":\"Minimum relative error\",\"type\":\"standalone\"},{\"name\":\"MAXRE\",\"description\":\"Maximum relative error\",\"type\":\"standalone\"},{\"name\":\"MRE\",\"description\":\"Mean relative error\",\"type\":\"standalone\"},{\"name\":\"MRAE\",\"description\":\"Mean relative absolute error\",\"type\":\"standalone\"},{\"name\":\"MDRAE\",\"description\":\"Median relative absolute error\",\"type\":\"standalone\"},{\"name\":\"GMRAE\",\"description\":\"Geometric mean relative absolute error\",\"type\":\"standalone\"},{\"name\":\"MAXERR\",\"description\":\"Maximum error\",\"type\":\"standalone\"},{\"name\":\"MINERR\",\"description\":\"Minimum error\",\"type\":\"standalone\"},{\"name\":\"ME\",\"description\":\"Mean error\",\"type\":\"standalone\"},{\"name\":\"MAE\",\"description\":\"Mean absolute error\",\"type\":\"standalone\"},{\"name\":\"MASE\",\"description\":\"Mean absolute scaled error\",\"type\":\"standalone\"},{\"name\":\"RSQUARE\",\"description\":\"R-square\",\"type\":\"standalone\"},{\"name\":\"ADJRSQ\",\"description\":\"Adjusted R-square\",\"type\":\"standalone\"},{\"name\":\"AADJRSQ\",\"description\":\"Amemiya’s adjusted R-square\",\"type\":\"standalone\"},{\"name\":\"RWRSQ\",\"description\":\"Random walk R-square\",\"type\":\"standalone\"},{\"name\":\"AIC\",\"description\":\"Akaike information criterion\",\"type\":\"standalone\"},{\"name\":\"AICC\",\"description\":\"Finite sample corrected AIC\",\"type\":\"standalone\"},{\"name\":\"SBC\",\"description\":\"Schwarz Bayesian information criterion\",\"type\":\"standalone\"},{\"name\":\"APC\",\"description\":\"Amemiya’s prediction criterion\",\"type\":\"standalone\"}]},{\"name\":\"DAMPPARM=\",\"optional\":true,\"description\":\"Specifies the damping weight parameter initial value.\",\"help\":\"DAMPPARM=*number*\",\"type\":\"value\"},{\"name\":\"DAMPREST=\",\"optional\":true,\"description\":\"Specifies the damping weight parameter restrictions.\",\"type\":\"value\"},{\"name\":\"LEVELPARM=\",\"optional\":true,\"description\":\"Specifies the level weight parameter initial value.\",\"help\":\"LEVELPARM=*number*\",\"type\":\"value\"},{\"name\":\"LEVELREST=\",\"optional\":true,\"description\":\"Specifies the level weight parameter restrictions.\",\"type\":\"value\"},{\"name\":\"MEDIAN\",\"optional\":true,\"description\":\"Specifies that the median forecast values be estimated. Forecasts can be based on the mean or median.\",\"type\":\"standalone\"},{\"name\":\"METHOD=\",\"optional\":true,\"description\":\"Specifies the forecasting model to be used to forecast the time series.\",\"help\":\"METHOD=SIMPLE | DOUBLE | LINEAR | DAMPTREND | ADDSEASONAL | MULTSEASONAL | SEASONAL | WINTERS | ADDWINTERS | BEST | BESTN | BESTS*method-name*\",\"type\":\"value\",\"arguments\":[{\"name\":\"SIMPLE\",\"description\":\"Simple (single) exponential smoothing\",\"type\":\"standalone\"},{\"name\":\"DOUBLE\",\"description\":\"Double (Brown) exponential smoothing\",\"type\":\"standalone\"},{\"name\":\"LINEAR\",\"description\":\"Linear (Holt) exponential smoothing\",\"type\":\"standalone\"},{\"name\":\"DAMPTREND\",\"description\":\"Damped trend exponential smoothing\",\"type\":\"standalone\"},{\"name\":\"ADDSEASONAL\",\"description\":\"Additive seasonal exponential smoothing\",\"type\":\"standalone\"},{\"name\":\"MULTSEASONAL\",\"description\":\"Multiplicative seasonal exponential smoothing\",\"type\":\"standalone\"},{\"name\":\"SEASONAL\",\"description\":\"Same as ADDSEASONAL\",\"type\":\"standalone\"},{\"name\":\"WINTERS\",\"description\":\"Winters multiplicative Method\",\"type\":\"standalone\"},{\"name\":\"ADDWINTERS\",\"description\":\"Winters additive Method\",\"type\":\"standalone\"},{\"name\":\"BEST\",\"description\":\"Best candidate smoothing model (SIMPLE, DOUBLE, LINEAR, DAMPTREND), (ADDSEASONAL, ADDWINTERS, WINTERS)\",\"type\":\"standalone\"},{\"name\":\"BESTN\",\"description\":\"Best candidate nonseasonal smoothing model (SIMPLE, DOUBLE, LINEAR, DAMPTREND)\",\"type\":\"standalone\"},{\"name\":\"BESTS\",\"description\":\"Best candidate seasonal smoothing model (ADDSEASONAL, ADDWINTERS, WINTERS)\",\"type\":\"standalone\"}]},{\"name\":\"NOEST\",\"optional\":true,\"description\":\"Specifies that the smoothing model parameters are fixed values.\",\"type\":\"standalone\"},{\"name\":\"NOSTABLE\",\"optional\":true,\"description\":\"Specifies that the smoothing model parameters are not restricted to the additive invertible region of the parameter space.\",\"type\":\"standalone\"},{\"name\":\"SEASONPARM=\",\"optional\":true,\"description\":\"Specifies the season weight parameter initial value.\",\"help\":\"SEASONPARM=*number*\",\"type\":\"value\"},{\"name\":\"SEASONREST=\",\"optional\":true,\"description\":\"Specifies the season weight parameter restrictions.\",\"type\":\"value\"},{\"name\":\"TRANSFORM=\",\"optional\":true,\"description\":\"Specifies the time series transformation to be applied to the time series.\",\"help\":\"TRANSFORM=NONE | LOG | SQRT | LOGISTIC | BOXCOX | AUTO*option*\",\"type\":\"value\",\"arguments\":[{\"name\":\"NONE\",\"description\":\"No transformation. This option is the default.\",\"type\":\"standalone\"},{\"name\":\"LOG\",\"description\":\"Logarithmic transformation\",\"type\":\"standalone\"},{\"name\":\"SQRT\",\"description\":\"Square-root transformation\",\"type\":\"standalone\"},{\"name\":\"LOGISTIC\",\"description\":\"Logistic transformation\",\"type\":\"standalone\"},{\"name\":\"BOXCOX\",\"description\":\"Box-Cox transformation with parameter number where number is between –5 and 5\",\"type\":\"standalone\"},{\"name\":\"AUTO\",\"description\":\"Automatically choose between NONE and LOG based on model selection criteria.\",\"type\":\"standalone\"}]},{\"name\":\"TRENDPARM=\",\"optional\":true,\"description\":\"Specifies the trend weight parameter initial value.\",\"help\":\"TRENDPARM=*number*\",\"type\":\"value\"},{\"name\":\"TRENDREST=\",\"optional\":true,\"description\":\"Specifies the trend weight parameter restrictions.\",\"type\":\"value\"}]}],\"supportSiteInformation\":{\"docsetId\":\"hpfug\",\"docsetVersion\":\"latest\",\"docsetTargetFile\":\"hpfug_hpfesm_toc.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/HPFEVENTS.json",
    "content": "{\"name\":\"HPFEVENTS\",\"statements\":[{\"name\":\"PROC HPFEVENTS\",\"description\":\"The HPFEVENTS procedure provides a way to create and manage events associated with time series for the purpose of analysis. The procedure can create events, read events from an events data set, write events to an events data set, and create dummy variables based on those events if date information is provided.\",\"help\":\"PROC HPFEVENTS <DATA=SAS-data-set><LEAD=n><MAXERROR=number><SORTNAMES>;     \\n\\tBY <DESCENDING><NOTSORTED> ;\\n\\n\\tEVENTCOMB <LABEL=’SAS-label’><RULE=<ADD | MAX | MIN>... > ;\\n\\n\\tEVENTDATA <CONDENSE><IN=SAS-data-set><OUT=SAS-data-set> ...;\\n\\n\\tEVENTDEF <AFTER=( <DURATION=value> <SLOPE=value> )><BEFORE=( <DURATION=value> <SLOPE=value> )><LABEL=’SAS-label’> ...;\\n\\n\\tEVENTDUMMY <OUT=SAS-data-set> ;\\n\\n\\tEVENTGROUP <LABEL=’SAS-label’> ;\\n\\n\\tEVENTKEY <variable=> event-keyword < / options > ;\\n\\n\\tID <ALIGN=<BEGINNING|BEG|B | MIDDLE|MID|M | ENDING|END|E>><END=option><FORMAT=format> ...;\\n\\n\\tVAR variables ;\\n\",\"arguments\":[{\"name\":\"DATA=\",\"optional\":true,\"description\":\"Names the SAS data set that contains the variables used in the VAR, ID, and BY statements.\",\"help\":\"DATA=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"LEAD=\",\"optional\":true,\"description\":\"Specifies the number of periods to extend the dummy variable beyond the time series. The default is LEAD=0.\",\"help\":\"LEAD=*n*\",\"type\":\"value\"},{\"name\":\"MAXERROR=\",\"optional\":true,\"description\":\"Limits the number of warning and error messages produced during the execution of the procedure to the specified value. The default is MAXERROR=25. This option is particularly useful in BY-group processing, where it can be used to suppress the recurring messages.\",\"help\":\"MAXERROR=*number*\",\"type\":\"value\"},{\"name\":\"SORTNAMES\",\"optional\":true,\"description\":\"Specifies that the events and variables in the output data sets be printed in alphabetical order.\",\"type\":\"standalone\"}]},{\"name\":\"BY\",\"description\":\"A BY statement can be used with PROC HPFEVENTS to obtain separate dummy variable definitions for groups of observations defined by the BY variables.\",\"help\":\"BY &lt;DESCENDING&gt;&lt;NOTSORTED&gt;\",\"arguments\":[{\"name\":\"DESCENDING\",\"optional\":true,\"description\":\"Specifies that the observations are sorted in descending order by the variable that immediately follows the word DESCENDING in the BY statement.\",\"type\":\"standalone\"},{\"name\":\"NOTSORTED\",\"optional\":true,\"description\":\"Specifies that observations are not necessarily sorted in alphabetic or numeric order.\",\"type\":\"standalone\"}]},{\"name\":\"EVENTCOMB\",\"description\":\"An EVENTCOMB statement can be used with PROC HPFEVENTS to create a new event from one or more events that have previously been defined.\",\"help\":\"EVENTCOMB &lt;LABEL=’SAS-label’&gt;&lt;RULE=&lt;ADD | MAX | MIN&gt;... &gt;\",\"arguments\":[{\"name\":\"LABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies a label for the dummy variable for this event. 'SAS-label' is a quoted text string of up to 256 characters. The default label is 'Dummy Variable for Event <variable-name>,' where <variable-name> is the name specified in the EVENT statement.\",\"type\":\"value\"},{\"name\":\"RULE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the action to take when combining events.\",\"help\":\"RULE=ADD | MAX | MIN | MINNZ | MINMAG | MULT*value*\",\"type\":\"value\",\"arguments\":[{\"name\":\"ADD\",\"followsDelimiter\":\"/\",\"description\":\"Add the values\",\"type\":\"standalone\"},{\"name\":\"MAX\",\"followsDelimiter\":\"/\",\"description\":\"Use the maximum value\",\"type\":\"standalone\"},{\"name\":\"MIN\",\"followsDelimiter\":\"/\",\"description\":\"Use the minimum value\",\"type\":\"standalone\"},{\"name\":\"MINNZ\",\"followsDelimiter\":\"/\",\"description\":\"Use the minimum nonzero value\",\"type\":\"standalone\"},{\"name\":\"MINMAG\",\"followsDelimiter\":\"/\",\"description\":\"Use the value whose magnitude is the least\",\"type\":\"standalone\"},{\"name\":\"MULT\",\"followsDelimiter\":\"/\",\"description\":\"Multiply the values\",\"type\":\"standalone\"}]}]},{\"name\":\"EVENTDATA\",\"description\":\"An EVENTDATA statement can be used with PROC HPFEVENTS to input events from an events data set and to output events to an events data set.\",\"help\":\"EVENTDATA &lt;CONDENSE&gt;&lt;IN=SAS-data-set&gt;&lt;OUT=SAS-data-set&gt; ...\",\"arguments\":[{\"name\":\"CONDENSE\",\"optional\":true,\"description\":\"Specifies that the EVENTDATA OUT= data set be condensed; any variables that contain only default values are omitted from the data set. The EVENTDATA IN= option reads both condensed data sets and data sets that have not been condensed.\",\"type\":\"standalone\"},{\"name\":\"IN=\",\"optional\":true,\"description\":\"Names an input data set that contains event definitions to be used in the PROC HPFEVENTS procedure.\",\"help\":\"IN=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"OUT=\",\"optional\":true,\"description\":\"Names the output data set to contain the event definitions as specified in the EVENTDATA IN= data sets and the EVENTDEF, EVENTKEY, and EVENTCOMB statements. The OUT= data set can then be used in other SAS procedures to define events.\",\"help\":\"OUT=*SAS-data-set*\",\"type\":\"dataSet\"}]},{\"name\":\"EVENTDEF\",\"description\":\"The EVENTDEF statement defines an event that can be included in forecasting models. The following options can be used with the EVENTDEF statement.\",\"help\":\"EVENTDEF &lt;AFTER=( &lt;DURATION=value&gt; &lt;SLOPE=value&gt; )&gt;&lt;BEFORE=( &lt;DURATION=value&gt; &lt;SLOPE=value&gt; )&gt;&lt;LABEL=’SAS-label’&gt; ...\",\"arguments\":[{\"name\":\"AFTER=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies options that control the event definition after the timing value. The DURATION= and SLOPE= suboptions are used within the parentheses in the AFTER=( ) option. See the BEFORE= option for information about the DURATION= and SLOPE= suboptions.\",\"help\":\"AFTER=DURATION= | SLOPE=\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DURATION=\",\"type\":\"value\"},{\"name\":\"SLOPE=\",\"type\":\"value\"}]},{\"name\":\"BEFORE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies options that control the event definition before the timing value. The DURATION= and SLOPE= options are used within the parentheses in the BEFORE=( ) option. DURATION=number specifies the event duration before the timing value when used in the BEFORE=( ) option or after the timing value when used in the AFTER=( ) option. SLOPE=GROWTH | DECAY specifies whether a ramp or temporary change type is growth or decay. The SLOPE= value in the BEFORE= option controls the slope before the timing value and the SLOPE= value in the AFTER= option controls the slope after the timing value. SLOPE= is ignored unless TYPE=RAMP, TYPE=TR, TYPE=TEMPRAMP, or TYPE=TC. SLOPE= is also ignored if the corresponding DURATION=0.\",\"help\":\"BEFORE=DURATION= | SLOPE=\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DURATION=\",\"type\":\"value\"},{\"name\":\"SLOPE=\",\"type\":\"value\"}]},{\"name\":\"LABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies a label for the dummy variable for this event. 'SAS-label' is a quoted text string of up to 256 characters. The default label is 'Dummy Variable for Event <variable-name>,' where <variable-name> is the name specified in the EVENT statement.\",\"type\":\"value\"},{\"name\":\"PERIOD=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the interval for the frequency of the event.\",\"help\":\"PERIOD=*interval*\",\"type\":\"value\"},{\"name\":\"PULSE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the interval to be used with the DURATION= option to determine the width of the event. The default pulse is one observation.\",\"help\":\"PULSE=*interval*\",\"type\":\"value\"},{\"name\":\"RULE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the action to take when the defined event has multiple timing values that overlap.\",\"help\":\"RULE=ADD | MAX | MIN | MINNZ | MINMAG | MULT*value*\",\"type\":\"value\",\"arguments\":[{\"name\":\"ADD\",\"followsDelimiter\":\"/\",\"description\":\"Add the values\",\"type\":\"standalone\"},{\"name\":\"MAX\",\"followsDelimiter\":\"/\",\"description\":\"Use the maximum value\",\"type\":\"standalone\"},{\"name\":\"MIN\",\"followsDelimiter\":\"/\",\"description\":\"Use the minimum value\",\"type\":\"standalone\"},{\"name\":\"MINNZ\",\"followsDelimiter\":\"/\",\"description\":\"Use the minimum nonzero value\",\"type\":\"standalone\"},{\"name\":\"MINMAG\",\"followsDelimiter\":\"/\",\"description\":\"Use the value whose magnitude is the least\",\"type\":\"standalone\"},{\"name\":\"MULT\",\"followsDelimiter\":\"/\",\"description\":\"Multiply the values\",\"type\":\"standalone\"}]},{\"name\":\"SHIFT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the number of pulses to shift the timing value.\",\"help\":\"SHIFT=*number*\",\"type\":\"value\"},{\"name\":\"TCPARM=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies a parameter used in the growth/decay equation for TYPE=TC.\",\"help\":\"TCPARM=*number*\",\"type\":\"value\"},{\"name\":\"TYPE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the type of event variable.\",\"help\":\"TYPE=*option*\",\"type\":\"value\"},{\"name\":\"VALUE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the event indicator value.\",\"help\":\"VALUE=*number*\",\"type\":\"value\"}]},{\"name\":\"EVENTDUMMY\",\"description\":\"An EVENTDUMMY statement can be used with PROC HPFEVENTS to output dummy variables for events to a data set. The OUT= option must be specified.\",\"help\":\"EVENTDUMMY &lt;OUT=SAS-data-set&gt;\",\"arguments\":[{\"name\":\"OUT=\",\"optional\":true,\"description\":\"Names the output data set to contain the dummy variables for the specified events based on the ID information as specified in the ID statement.\",\"help\":\"OUT=*SAS-data-set*\",\"type\":\"dataSet\"}]},{\"name\":\"EVENTGROUP\",\"description\":\"An EVENTGROUP statement can be used with PROC HPFEVENTS to create an event group or make a predefined event group available for processing. The EVENTGROUP statement constructs a SAS complex event. A complex event is an event that is represented by multiple dummy variables.\",\"help\":\"EVENTGROUP &lt;LABEL=’SAS-label’&gt;\",\"arguments\":[{\"name\":\"LABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies a description stored in the EVENTDATA OUT= data set. If no label is specified, then \\\".\\\" is displayed in the EVENTDATA OUT= data set.\",\"type\":\"value\"}]},{\"name\":\"EVENTKEY\",\"description\":\"An EVENTKEY statement can be used to alter a user-defined simple event or a predefined SAS event or to create a new event.\",\"help\":\"EVENTKEY &lt;variable=&gt; event-keyword &lt; / options &gt; \"},{\"name\":\"ID\",\"description\":\"The ID statement names a numeric variable that identifies observations in the input and output data sets. The ID variable’s values are assumed to be SAS date, time, or datetime values.\",\"help\":\"ID &lt;ALIGN=&lt;BEGINNING|BEG|B | MIDDLE|MID|M | ENDING|END|E&gt;&gt;&lt;END=option&gt;&lt;FORMAT=format&gt; ...\",\"arguments\":[{\"name\":\"ALIGN=\",\"optional\":true,\"description\":\"Controls the alignment of SAS dates used to identify output observations.\",\"help\":\"ALIGN=BEGINNING | MIDDLE | ENDING*option*\",\"type\":\"value\",\"arguments\":[{\"name\":\"BEGINNING\",\"aliases\":[\"BEG\",\"B\"],\"description\":\"Beginning\",\"type\":\"standalone\"},{\"name\":\"MIDDLE\",\"aliases\":[\"MID\",\"M\"],\"description\":\"Middle\",\"type\":\"standalone\"},{\"name\":\"ENDING\",\"aliases\":[\"END\",\"E\"],\"description\":\"End\",\"type\":\"standalone\"}]},{\"name\":\"END=\",\"optional\":true,\"description\":\"Specifies a SAS date, datetime, or time value that represents the end of the data.\",\"help\":\"END=*option*\",\"type\":\"value\"},{\"name\":\"FORMAT=\",\"optional\":true,\"description\":\"Specifies the SAS format for the time ID values.\",\"help\":\"FORMAT=*format*\",\"type\":\"value\"},{\"name\":\"INTERVAL=\",\"optional\":true,\"description\":\"Specifies the frequency of the input time series.\",\"help\":\"INTERVAL=*interval*\",\"type\":\"value\"},{\"name\":\"SETMISSING=\",\"optional\":true,\"description\":\"Specifies how missing values are assigned in the time series that is copied to the dummy variable data set when no observation matches the time ID in the input data set.\",\"help\":\"SETMISSING=MISSING | SKIP\",\"type\":\"choice\",\"arguments\":[{\"name\":\"MISSING\",\"description\":\"Missing values are set to missing. This is the default option.\",\"type\":\"standalone\"},{\"name\":\"SKIP\",\"description\":\"If the observation for the time ID value is missing in the input data set, then the corresponding observation is skipped in the dummy variable data set.\",\"type\":\"standalone\"}]},{\"name\":\"START=\",\"optional\":true,\"description\":\"Specifies a SAS date, datetime, or time value that represents the beginning of the data.\",\"help\":\"START=*option*\",\"type\":\"value\"}]},{\"name\":\"VAR\",\"description\":\"A VAR statement can be used with PROC HPFEVENTS to copy input variables to the output dummy variables data set.\",\"help\":\"VAR variables \"}],\"supportSiteInformation\":{\"docsetId\":\"hpfug\",\"docsetVersion\":\"latest\",\"docsetTargetFile\":\"hpfug_hpfevents_toc.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/HPFEXMSPEC.json",
    "content": "{\"name\":\"HPFEXMSPEC\",\"statements\":[{\"name\":\"PROC HPFEXMSPEC\",\"description\":\"The HPFEXMSPEC procedure creates model specifications files for external models (EXM). External model specifications are used for forecasts that are provided external to the system. These external forecasts might have originated from an external statistical model from another software package, might have been provided by an outside organization (for example, a marketing organization or government agency), or might be based on judgment.\",\"help\":\"PROC HPFEXMSPEC <LABEL=SAS-label><NAME=SAS-name><REPOSITORY=SAS-catalog-name | SAS-file-reference>;     \\n\\tEXM <MEDIAN><METHOD=<NONE | WN | ACF>... ><NLAGPCT=number> ...;\\n\",\"arguments\":[{\"name\":\"LABEL=\",\"optional\":true,\"aliases\":[\"SPECLABEL=\"],\"description\":\"Labels the model specification to be stored in the SAS catalog or external file reference.\",\"help\":\"LABEL=*SAS-label*\",\"type\":\"value\"},{\"name\":\"NAME=\",\"optional\":true,\"aliases\":[\"SPECNAME=\"],\"description\":\"Names the model specification to be stored in the SAS catalog or external file reference.\",\"help\":\"NAME=*SAS-name*\",\"type\":\"value\"},{\"name\":\"REPOSITORY=\",\"optional\":true,\"aliases\":[\"MODELREPOSITORY=\",\"MODELREP=\",\"REP=\"],\"description\":\"Names the SAS catalog or external file reference to contain the model specification.\",\"type\":\"value\"}]},{\"name\":\"EXM\",\"description\":\"The EXM statement specifies an external model that is used to generate the external forecasts. These options are not needed if the prediction standard errors and confidence limits are provided.\",\"help\":\"EXM &lt;MEDIAN&gt;&lt;METHOD=&lt;NONE | WN | ACF&gt;... &gt;&lt;NLAGPCT=number&gt; ...\",\"arguments\":[{\"name\":\"MEDIAN\",\"optional\":true,\"description\":\"Specifies that the median forecast values were used to generate the external forecasts. The external forecasts can have been based on the mean or median. By default the mean value is assumed.\",\"type\":\"standalone\"},{\"name\":\"METHOD=\",\"optional\":true,\"description\":\"Specifies the external model to be used to approximate the prediction standard errors. The default is METHOD=ACF.\",\"help\":\"METHOD=NONE | WN | ACF | ERRORACF | PERFECT*method-name*\",\"type\":\"value\",\"arguments\":[{\"name\":\"NONE\",\"description\":\"No prediction error autocorrelation is used.\",\"type\":\"standalone\"},{\"name\":\"WN\",\"description\":\"Prediction error autocorrelation is white noise.\",\"type\":\"standalone\"},{\"name\":\"ACF\",\"description\":\"Autocorrelation is used.\",\"type\":\"standalone\"},{\"name\":\"ERRORACF\",\"description\":\"Prediction error autocorrelation is used.\",\"type\":\"standalone\"},{\"name\":\"PERFECT\",\"description\":\"Perfect autocorrelation is assumed.\",\"type\":\"standalone\"}]},{\"name\":\"NLAGPCT=\",\"optional\":true,\"description\":\"Specifies the number of time lags as a percentage of the number of computed predictions errors. The default is NLAGPCT=0.25.\",\"help\":\"NLAGPCT=*number*\",\"type\":\"value\"},{\"name\":\"NOEST\",\"optional\":true,\"description\":\"Specifies that the external model parameters are fixed values. To use this option, all of the external model parameters must be explicitly specified. By default, the external model parameters are optimized.\",\"type\":\"standalone\"},{\"name\":\"NPARMS=\",\"optional\":true,\"description\":\"Specifies the number of parameters used by the external model to generate the forecasts. The default is NPARMS=0.\",\"help\":\"NPARMS=*n*\",\"type\":\"value\"},{\"name\":\"SIGMA=\",\"optional\":true,\"description\":\"Specifies the prediction standard error for the external model.\",\"help\":\"SIGMA=*number*\",\"type\":\"value\"},{\"name\":\"TRANSFORM=\",\"optional\":true,\"description\":\"Specifies the time series transformation that was applied to the actual time series when generating the external forecast.\",\"help\":\"TRANSFORM=NONE | LOG | SQRT | LOGISTIC | BOXCOX*option*\",\"type\":\"value\",\"arguments\":[{\"name\":\"NONE\",\"description\":\"No transformation\",\"type\":\"standalone\"},{\"name\":\"LOG\",\"description\":\"Logarithmic transformation\",\"type\":\"standalone\"},{\"name\":\"SQRT\",\"description\":\"Square-root transformation\",\"type\":\"standalone\"},{\"name\":\"LOGISTIC\",\"description\":\"Logistic transformation\",\"type\":\"standalone\"},{\"name\":\"BOXCOX\",\"description\":\"Box-Cox transformation with parameter number where number is between –5 and 5\",\"type\":\"standalone\"}]}]}],\"supportSiteInformation\":{\"docsetId\":\"hpfug\",\"docsetVersion\":\"latest\",\"docsetTargetFile\":\"hpfug_hpfexm_toc.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/HPFIDMSPEC.json",
    "content": "{\"name\":\"HPFIDMSPEC\",\"statements\":[{\"name\":\"PROC HPFIDMSPEC\",\"description\":\"The HPFIDMSPEC procedure creates model specifications files for intermittent demand models (IDM).\",\"help\":\"PROC HPFIDMSPEC <LABEL=SAS-label><NAME=SAS-name><REPOSITORY=SAS-catalog-name | SAS-file-reference>;     \\n\\tIDM <AVERAGE=( smoothing-model-options )><BASE=<AUTO>><INTERVAL=( smoothing-model-options )> ...;\\n\",\"arguments\":[{\"name\":\"LABEL=\",\"optional\":true,\"aliases\":[\"SPECLABEL=\"],\"description\":\"Specified a descriptive label for the model specification to be stored in the SAS catalog or external file reference.\",\"help\":\"LABEL=*SAS-label*\",\"type\":\"value\"},{\"name\":\"NAME=\",\"optional\":true,\"aliases\":[\"SPECNAME=\"],\"description\":\"Names the model specification to be stored in the SAS catalog or external file reference.\",\"help\":\"NAME=*SAS-name*\",\"type\":\"value\"},{\"name\":\"REPOSITORY=\",\"optional\":true,\"aliases\":[\"MODELREPOSITORY=\",\"MODELREP=\",\"REP=\"],\"description\":\"Names the SAS catalog or external file reference to contain the model specification.\",\"type\":\"value\"}]},{\"name\":\"IDM\",\"description\":\"The IDM statement is used to specify an intermittent demand model.\",\"help\":\"IDM &lt;AVERAGE=( smoothing-model-options )&gt;&lt;BASE=&lt;AUTO&gt;&gt;&lt;INTERVAL=( smoothing-model-options )&gt; ...\",\"arguments\":[{\"name\":\"AVERAGE=\",\"optional\":true,\"description\":\"Specifies the smoothing model used to forecast the demand average component.\",\"help\":\"AVERAGE=AADJRSQ | ADJRSQ | AIC | AICC | APC | AUTO | BESTN | BOUNDS= | BOXCOX | CRITERION= | DAMPPARM= | DAMPREST= | DAMPTREND | DOUBLE | GMAPE | GMAPES | GMAPPE | GMASPE | GMRAE | LEVELPARM= | LEVELREST= | LINEAR | LOG | LOGISTIC | MAE | MAPE | MAPES | MAPPE | MASE | MAXERR | MAXPE | MAXPPE | MAXRE | MAXSPE | MDAPE | MDAPES | MDAPPE | MDASPE | MDRAE | ME | MEDIAN | METHOD= | MINERR | MINPE | MINPPE | MINRE | MINSPE | MPE | MPPE | MRAE | MRE | MSE | MSPE | NOEST | NONE | NOSTABLE | RMSE | RSQUARE | RWRSQ | SBC | SELECT= | SIMPLE | SMAPE | SQRT | SSE | TRANSFORM= | TRENDPARM= | TRENDREST= | UMSE | URMSE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"AADJRSQ\",\"type\":\"standalone\"},{\"name\":\"ADJRSQ\",\"type\":\"standalone\"},{\"name\":\"AIC\",\"type\":\"standalone\"},{\"name\":\"AICC\",\"type\":\"standalone\"},{\"name\":\"APC\",\"type\":\"standalone\"},{\"name\":\"AUTO\",\"type\":\"standalone\"},{\"name\":\"BESTN\",\"type\":\"standalone\"},{\"name\":\"BOUNDS=\",\"type\":\"value\"},{\"name\":\"BOXCOX\",\"type\":\"standalone\"},{\"name\":\"CRITERION=\",\"type\":\"value\"},{\"name\":\"DAMPPARM=\",\"type\":\"value\"},{\"name\":\"DAMPREST=\",\"type\":\"value\"},{\"name\":\"DAMPTREND\",\"type\":\"standalone\"},{\"name\":\"DOUBLE\",\"type\":\"standalone\"},{\"name\":\"GMAPE\",\"type\":\"standalone\"},{\"name\":\"GMAPES\",\"type\":\"standalone\"},{\"name\":\"GMAPPE\",\"type\":\"standalone\"},{\"name\":\"GMASPE\",\"type\":\"standalone\"},{\"name\":\"GMRAE\",\"type\":\"standalone\"},{\"name\":\"LEVELPARM=\",\"type\":\"value\"},{\"name\":\"LEVELREST=\",\"type\":\"value\"},{\"name\":\"LINEAR\",\"type\":\"standalone\"},{\"name\":\"LOG\",\"type\":\"standalone\"},{\"name\":\"LOGISTIC\",\"type\":\"standalone\"},{\"name\":\"MAE\",\"type\":\"standalone\"},{\"name\":\"MAPE\",\"type\":\"standalone\"},{\"name\":\"MAPES\",\"type\":\"standalone\"},{\"name\":\"MAPPE\",\"type\":\"standalone\"},{\"name\":\"MASE\",\"type\":\"standalone\"},{\"name\":\"MAXERR\",\"type\":\"standalone\"},{\"name\":\"MAXPE\",\"type\":\"standalone\"},{\"name\":\"MAXPPE\",\"type\":\"standalone\"},{\"name\":\"MAXRE\",\"type\":\"standalone\"},{\"name\":\"MAXSPE\",\"type\":\"standalone\"},{\"name\":\"MDAPE\",\"type\":\"standalone\"},{\"name\":\"MDAPES\",\"type\":\"standalone\"},{\"name\":\"MDAPPE\",\"type\":\"standalone\"},{\"name\":\"MDASPE\",\"type\":\"standalone\"},{\"name\":\"MDRAE\",\"type\":\"standalone\"},{\"name\":\"ME\",\"type\":\"standalone\"},{\"name\":\"MEDIAN\",\"type\":\"standalone\"},{\"name\":\"METHOD=\",\"type\":\"value\"},{\"name\":\"MINERR\",\"type\":\"standalone\"},{\"name\":\"MINPE\",\"type\":\"standalone\"},{\"name\":\"MINPPE\",\"type\":\"standalone\"},{\"name\":\"MINRE\",\"type\":\"standalone\"},{\"name\":\"MINSPE\",\"type\":\"standalone\"},{\"name\":\"MPE\",\"type\":\"standalone\"},{\"name\":\"MPPE\",\"type\":\"standalone\"},{\"name\":\"MRAE\",\"type\":\"standalone\"},{\"name\":\"MRE\",\"type\":\"standalone\"},{\"name\":\"MSE\",\"type\":\"standalone\"},{\"name\":\"MSPE\",\"type\":\"standalone\"},{\"name\":\"NOEST\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"type\":\"standalone\"},{\"name\":\"NOSTABLE\",\"type\":\"standalone\"},{\"name\":\"RMSE\",\"type\":\"standalone\"},{\"name\":\"RSQUARE\",\"type\":\"standalone\"},{\"name\":\"RWRSQ\",\"type\":\"standalone\"},{\"name\":\"SBC\",\"type\":\"standalone\"},{\"name\":\"SELECT=\",\"type\":\"value\"},{\"name\":\"SIMPLE\",\"type\":\"standalone\"},{\"name\":\"SMAPE\",\"type\":\"standalone\"},{\"name\":\"SQRT\",\"type\":\"standalone\"},{\"name\":\"SSE\",\"type\":\"standalone\"},{\"name\":\"TRANSFORM=\",\"type\":\"value\"},{\"name\":\"TRENDPARM=\",\"type\":\"value\"},{\"name\":\"TRENDREST=\",\"type\":\"value\"},{\"name\":\"UMSE\",\"type\":\"standalone\"},{\"name\":\"URMSE\",\"type\":\"standalone\"}]},{\"name\":\"BASE=\",\"optional\":true,\"description\":\"Specifies the base value of the time series used to determine the demand series components.\",\"help\":\"BASE=AUTO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"AUTO\",\"description\":\"The base value is automatically determined by the time series median, minimum, and maximum value and the INTERMITTENT= option value of the FORECAST statement.\",\"type\":\"standalone\"}]},{\"name\":\"INTERVAL=\",\"optional\":true,\"description\":\"Specifies the smoothing model used to forecast the demand interval component.\",\"type\":\"value\"},{\"name\":\"SIZE=\",\"optional\":true,\"description\":\"Specifies the smoothing model used to forecast the demand size component.\",\"type\":\"value\"}]}],\"supportSiteInformation\":{\"docsetId\":\"hpfug\",\"docsetVersion\":\"latest\",\"docsetTargetFile\":\"hpfug_hpfidm_toc.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/HPFMM.json",
    "content": "{\"name\":\"HPFMM\",\"statements\":[{\"name\":\"PROC HPFMM\",\"description\":\"The HPFMM procedure is a high-performance counterpart of the FMM procedure that fits statistical models to data for which the distribution of the response is a finite mixture of univariate distributions—that is, each response comes from one of several random univariate distributions that have unknown probabilities. You can use PROC HPFMM to model the component distributions in addition to the mixing probabilities.\",\"help\":\"PROC HPFMM <ABSCONV=r | ABSTOL=r><ABSFCONV=r<n> | ABSFTOL=r<n>><ABSFCONV=r<n> | ABSFTOL=r<n>><COMPONENTINFO><CORR><COV><COVI><CRITERION=LOG | AIC | AICC... ><DATA=SAS-data-set><EXCLUSION=NONE | ANY | ALL><FCONV=r<n> | FTOL=r<n>><FITDETAILS><GCONV=r<n> | GTOL=r<n>><HESSIAN><INVALIDLOGL=r><ITDETAILS><MAXFUNC=n | MAXFU=n><MAXITER=n | MAXIT=n><MAXTIME=r><MINITER=n | MINIT=n><NAMELEN=number><NOCENTER><NOCLPRINT<=number>><NOITPRINT><NOPRINT><ORDER=DATA | FORMATTED | FREQ... ><PARMSTYLE=EFFECT | LABEL><PARTIAL=variable | MEMBERSHIP=variable><PLOTS=ALL | NONE | DENSITY... ><SEED=n><SINGCHOL=number><SINGRES=number><SINGULAR=number><TECHNIQUE=keyword | TECH=keyword>;     \\n\\tBAYES <BETAPRIORPARMS=pair-specification><DIAGNOSTICS=<ALL | NONE | <(keyword-list)>>><MIXPRIORPARMS=K | MIXPRIORPARMS(value-list)> ...;\\n\\n\\tBY <DESCENDING><NOTSORTED> ;\\n\\n\\tCLASS <DESCENDING><ORDER=<DATA | FORMATTED | FREQ>... ><REFERENCE=<'<level>' | FIRST | LAST>> ...;\\n\\n\\tFREQ variable ;\\n\\n\\tID variables ;\\n\\n\\tMODEL <ALPHA=number><CL><DISTRIBUTION=<BETA | BETABINOMIAL | BINARY>... > ...;\\n\\n\\tOUTPUT OUT=SAS-data-set PREDICTED<(COMPONENT|OVERALL)>PRED<(COMPONENT|OVERALL)>MEAN<(COMPONENT|OVERALL)> RESIDUAL<(COMPONENT|OVERALL)> | RESID<(COMPONENT|OVERALL)> ...;\\n\\n\\tPERFORMANCE <COMMIT=n><DETAILS><GRIDHOST=\\\"name\\\"> ...;\\n\\n\\tPROBMODEL <ALPHA=number><CL><LINK=<CLOGLOG | LOGIT | LOGLOG>... > ...;\\n\\n\\tRESTRICT <DIVISOR=value> ;\\n\\n\\tWEIGHT variable;\\n\",\"arguments\":[{\"name\":\"ABSCONV=\",\"optional\":true,\"aliases\":[\"ABSTOL=\"],\"description\":\"Specifies an absolute function convergence criterion. For minimization, termination requires f(Ψᵏ) ≤ r, where Ψ is the vector of parameters in the optimization and f(.) is the objective function. The default value of is the negative square root of the largest double-precision value, which serves only as a protection against overflows.\",\"type\":\"value\"},{\"name\":\"ABSFCONV=\",\"optional\":true,\"aliases\":[\"ABSFTOL=\"],\"description\":\"Specifies an absolute function difference convergence criterion. For all techniques except NMSIMP, termination requires a small change of the function value in successive iterations:\",\"type\":\"value\"},{\"name\":\"ABSGCONV=\",\"optional\":true,\"aliases\":[\"ABSGTOL=\"],\"description\":\"Specifies an absolute gradient convergence criterion. Termination requires the maximum absolute gradient element to be small: max|gᵢf(Ψᵏ)| ≤ r\",\"type\":\"value\"},{\"name\":\"COMPONENTINFO\",\"optional\":true,\"aliases\":[\"COMPINFO\",\"CINFO\"],\"description\":\"Produces a table with additional details about the fitted model components.\",\"type\":\"standalone\"},{\"name\":\"CORR\",\"optional\":true,\"description\":\"Produces the correlation matrix of the parameter estimates. For maximum likelihood estimation this matrix is based on the inverse (projected) Hessian matrix. For Bayesian estimation, it is based on the empirical covariance matrix of the posterior estimates.\",\"type\":\"standalone\"},{\"name\":\"COV\",\"optional\":true,\"description\":\"Produces the covariance matrix of the parameter estimates. For maximum likelihood estimation, this matrix is based on the inverse (projected) Hessian matrix. For Bayesian estimation, it is the empirical covariance matrix of the posterior estimates. The covariance matrix is shown for all parameters, even if they did not participate in the optimization or sampling.\",\"type\":\"standalone\"},{\"name\":\"COVI\",\"optional\":true,\"description\":\"Produces the inverse of the covariance matrix of the parameter estimates. For maximum likelihood estimation, the covariance matrix is based on the inverse (projected) Hessian matrix. For Bayesian estimation, it is the empirical covariance matrix of the posterior estimates. This matrix is then inverted by sweeping, and rows and columns that correspond to linear dependencies or singularities are zeroed.\",\"type\":\"standalone\"},{\"name\":\"CRITERION=\",\"optional\":true,\"description\":\"Specifies the criterion by which the FMM procedure ranks models when multiple models are evaluated during maximum likelihood estimation. The default is CRITERION=LOGL.\",\"help\":\"CRITERION=LOG | AIC | AICC | BIC | PEARSON | GRADIENT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"LOG\",\"aliases\":[\"ILL\"],\"description\":\"Based on the mixture log likelihood\",\"type\":\"standalone\"},{\"name\":\"AIC\",\"description\":\"Based on Akaike's information criterion\",\"type\":\"standalone\"},{\"name\":\"AICC\",\"description\":\"Based on the bias-corrected AIC criterion\",\"type\":\"standalone\"},{\"name\":\"BIC\",\"description\":\"Based on the Bayesian information criterion\",\"type\":\"standalone\"},{\"name\":\"PEARSON\",\"description\":\"Based on the Pearson statistic\",\"type\":\"standalone\"},{\"name\":\"GRADIENT\",\"description\":\"Based on the largest element of the gradient (in absolute value)\",\"type\":\"standalone\"}]},{\"name\":\"DATA=\",\"optional\":true,\"description\":\"Names the SAS data set to be used by PROC FMM. The default is the most recently created data set.\",\"help\":\"DATA=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"EXCLUSION=\",\"optional\":true,\"aliases\":[\"EXCLUDE=\"],\"description\":\"Specifies how the FMM procedure handles support violations of observations. For example, in a mixture of two Poisson variables, negative response values are not possible. However, in a mixture of a Poisson and a normal variable, negative values are possible, and their likelihood contribution to the Poisson component is zero. An observation that violates the support of one component distribution of the model might be a valid response with respect to one or more other component distributions. This requires some nuanced handling of support violations in mixture models. The default exclusion technique is EXCLUSION=ALL.\",\"help\":\"EXCLUSION=NONE | ANY | ALL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NONE\",\"description\":\"Permits an observation into the analysis regardless of support violations.\",\"type\":\"standalone\"},{\"name\":\"ANY\",\"description\":\"Observations from the analysis if the response violates the support of any component distributions.\",\"type\":\"standalone\"},{\"name\":\"ALL\",\"description\":\"Removes an observation from the analysis only if it violates the support of all component distributions.\",\"type\":\"standalone\"}]},{\"name\":\"FCONV=\",\"optional\":true,\"aliases\":[\"FTOL=\"],\"description\":\"Specifies a relative function convergence criterion. For all techniques except NMSIMP, termination requires a small relative change of the function value in successive iterations, | f(Ψᵏ) - f(Ψᵏ ¯¹) | / |f(Ψᵏ ¯¹)| ≤ r\",\"type\":\"value\"},{\"name\":\"FITDETAILS\",\"optional\":true,\"description\":\"Requests that the \\\"Optimization Information,\\\" \\\"Iteration History,\\\" and \\\"Fit Statistics\\\" tables be produced for all optimizations when models with different number of components are evaluated. For example, the following statements fit a binomial regression model with up to three components and produces fit and optimization information for all three: proc fmm fitdetails; model y/n = x / kmax=3; run;\",\"type\":\"standalone\"},{\"name\":\"GCONV=\",\"optional\":true,\"aliases\":[\"GTOL=\"],\"description\":\"Specifies a relative gradient convergence criterion. The default value is r=1E-8. The optional integer value n specifies the number of successive iterations for which the criterion must be satisfied before the process can terminate.\",\"type\":\"value\"},{\"name\":\"HESSIAN\",\"optional\":true,\"description\":\"Displays the Hessian matrix of the model. This option is not available for Bayesian estimation.\",\"type\":\"standalone\"},{\"name\":\"INVALIDLOGL=\",\"optional\":true,\"description\":\"Specifies the value assumed by the FMM procedure if a log likelihood cannot be computed (for example, because the value of the response variable falls outside of the response distribution's support). The default value is -1E20.\",\"help\":\"INVALIDLOGL=*r*\",\"type\":\"value\"},{\"name\":\"ITDETAILS\",\"optional\":true,\"description\":\"Adds parameter estimates and gradients to the \\\"Iteration History\\\" table. If the FMM procedure centers or scales the model variables (or both), the parameter estimates and gradients reported during the iteration refer to that scale. You can suppress centering and scaling with the NOCENTER option.\",\"type\":\"standalone\"},{\"name\":\"MAXFUNC=\",\"optional\":true,\"aliases\":[\"MAXFU=\"],\"description\":\"Specifies the maximum number of function calls in the optimization process. The default values are as follows, depending on the optimization technique: TRUREG, NRRIDG, and NEWRAP: 125 QUANEW and DBLDOG: 500 CONGRA: 1000 NMSIMP: 3000\",\"type\":\"value\"},{\"name\":\"MAXITER=\",\"optional\":true,\"aliases\":[\"MAXIT=\"],\"description\":\"Specifies the maximum number of iterations in the optimization process. The default values are as follows, depending on the optimization technique: TRUREG, NRRIDG, and NEWRAP: 50 QUANEW and DBLDOG: 200 CONGRA: 400 NMSIMP: 1000\",\"type\":\"value\"},{\"name\":\"MAXTIME=\",\"optional\":true,\"description\":\"Specifies an upper limit of r seconds of CPU time for the optimization process. The default value is the largest floating-point double representation of your computer. The time specified by the MAXTIME= option is checked only once at the end of each iteration. Therefore, the actual running time can be longer than that specified by the MAXTIME= option.\",\"help\":\"MAXTIME=*r*\",\"type\":\"value\"},{\"name\":\"MINITER=\",\"optional\":true,\"aliases\":[\"MINIT=\"],\"description\":\"Specifies the minimum number of iterations. The default value is 0. If you request more iterations than are actually needed for convergence to a stationary point, the optimization algorithms can behave strangely. For example, the effect of rounding errors can prevent the algorithm from continuing for the required number of iterations.\",\"type\":\"value\"},{\"name\":\"NAMELEN=\",\"optional\":true,\"description\":\"Specifies the length to which long effect names are shortened. The default and minimum value is 20.\",\"help\":\"NAMELEN=*number*\",\"type\":\"value\"},{\"name\":\"NOCENTER\",\"optional\":true,\"description\":\"Requests that regressor variables not be centered or scaled. By default the FMM procedure centers and scales columns of the X matrix if the models contain intercepts. If NOINT options in MODEL statements are in effect, the columns of X are scaled but not centered. Centering and scaling can help with the stability of estimation and sampling algorithms. The FMM procedure does not produce a table of the centered and scaled coefficients and provides no user control over the type of centering and scaling that is applied. The NOCENTER option turns any centering and scaling off and processes the raw values of the continuous variables.\",\"type\":\"standalone\"},{\"name\":\"NOCLPRINT=\",\"optional\":true,\"description\":\"Suppresses the display of the \\\"Class Level Information\\\" table, if you do not specify number. If you specify number, the values of the classification variables are displayed for only those variables whose number of levels is less than number. Specifying a number helps to reduce the size of the \\\"Class Level Information\\\" table if some classification variables have a large number of levels.\",\"type\":\"value\"},{\"name\":\"NOITPRINT\",\"optional\":true,\"description\":\"Suppresses the display of the \\\"Iteration History Information\\\" table.\",\"type\":\"standalone\"},{\"name\":\"NOPRINT\",\"optional\":true,\"description\":\"Suppresses the normal display of tabular and graphical results. The NOPRINT option is useful when you want to create only one or more output data sets with the procedure. This option temporarily disables the Output Delivery System (ODS);\",\"type\":\"standalone\"},{\"name\":\"ORDER=\",\"optional\":true,\"description\":\"Specifies the sorting order for the levels of CLASS variables. This ordering determines which parameters in the model correspond to each level in the data. When the default ORDER=FORMATTED is in effect for numeric variables for which you have supplied no explicit format, the levels are ordered by their internal values. To order numeric class levels with no explicit format by their BEST12. formatted values, you can specify this format explicitly for the CLASS variables. When FORMATTED and INTERNAL values are involved, the sort order is machine-dependent. The ORDER= option in the PROC FMM statement has no effect on the sort order of the wheeze variable because it does not appear in the CLASS statement.\",\"help\":\"ORDER=DATA | FORMATTED | FREQ | INTERNAL | FREQDATA | FREQFORMATTED | FREQINTERNAL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DATA\",\"description\":\"Sorts the levels by order of appearance in the input data set.\",\"type\":\"standalone\"},{\"name\":\"FORMATTED\",\"description\":\"Sorts the levels by external formatted value, except for numeric variables with no explicit format, which are sorted by their unformatted (internal) value.\",\"type\":\"standalone\"},{\"name\":\"FREQ\",\"description\":\"Sorts the levels by descending frequency count; levels with the most observations come first in the order.\",\"type\":\"standalone\"},{\"name\":\"INTERNAL\",\"description\":\"Sorts the levels by unformatted value.\",\"type\":\"standalone\"},{\"name\":\"FREQDATA\",\"description\":\"Sorts the levels by order of descending frequency count, and within counts by order of appearance in the input data set when counts are tied.\",\"type\":\"standalone\"},{\"name\":\"FREQFORMATTED\",\"description\":\"Sorts the levels by order of descending frequency count, and within counts by formatted value (as above) when counts are tied.\",\"type\":\"standalone\"},{\"name\":\"FREQINTERNAL\",\"description\":\"Sorts the levels by order of descending frequency count, and within counts by unformatted value when counts are tied.\",\"type\":\"standalone\"}]},{\"name\":\"PARMSTYLE=\",\"optional\":true,\"description\":\"Specifies the display style for parameters and effects.\",\"help\":\"PARMSTYLE=EFFECT | LABEL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"EFFECT\",\"description\":\"Identifies a parameter with an \\\"Effect\\\" column and adds separate columns for the CLASS variables in the model.\",\"type\":\"standalone\"},{\"name\":\"LABEL\",\"description\":\"Creates one column, named Parameter, that combines the relevant information about a parameter into a single column. If your model contains multiple CLASS variables, the LABEL style might use space more economically.\",\"type\":\"standalone\"}]},{\"name\":\"PARTIAL=\",\"optional\":true,\"aliases\":[\"MEMBERSHIP=\"],\"description\":\"Specifies a variable in the input data set that identifies component membership. You can specify missing values for observations whose component membership is undetermined; this is known as a partial classification (McLachlan and Peel 2000, p. 75). For observations with known membership, the likelihood contribution is no longer a mixture.\",\"type\":\"value\"},{\"name\":\"PLOTS=\",\"optional\":true,\"description\":\"Controls the plots produced through ODS Graphics. Specify the PLOTS=NONE option in order to prevent these plots from being produced when ODS Graphics is enabled. Syntax: (1) PLOTS <(global-plot-options)> <= plot-request <(options)>> (2) PLOTS <(global-plot-options)> <= (plot-request <(options)> <... plot-request <(options)>>)> The global-plot-options apply to all relevant plots generated by the FMM procedure. The global-plot-options supported by the FMM procedure are as follows:\",\"help\":\"PLOTS=ALL | NONE | DENSITY | TRACE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ALL\",\"description\":\"Requests that all plots appropriate for the analysis be produced.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"Requests that no ODS graphics be produced.\",\"type\":\"standalone\"},{\"name\":\"DENSITY\",\"description\":\"[Syntax: DENSITY<(density-options)>] Requests a plot of the data histogram and mixture density function. This graphic is a default graphic in models without effects in the MODEL statements and is available only in these models. Furthermore, all distributions involved in the mixture must be continuous. You can specify the following density-options to modify the plot: CUMULATIVE | CDF -- displays the histogram and densities in cumulative form. NBINS=n | BINS=n specifies the number of bins in the histogram; n is greater than or equal to 0. By default, the FMM procedure computes a suitable bin width and number of bins, based on the range of the response and the number of usable observations. The option has no effect for binary data. NOCOMPONENTS | NOCOMP suppresses the component densities from the plot. If the component densities are displayed, they are scaled so that their sum equals the mixture density at any point on the graph. In single-component models, this option has no effect. NODENSITY | NODENS suppresses the computation of the mixture density (and the component densities if the COMPONENTS suboption is specified). If you specify the NOHISTOGRAM and the NODENSITY option, no graphic is produced. NOLABEL suppresses the component identification with labels. By default, the FMM procedure labels component densities in the legend of the plot. If you do not specify a model label with the LABEL= option in the MODEL statement, an identifying label is constructed from the parameter estimates that are associated with the component. NOHISTOGRAM | NOHIST suppresses the computation of the histogram of the raw values. If you specify the NOHISTOGRAM and the NODENSITY option, no graphic is produced. NPOINTS=n | N=n specifies the number of values used to compute the density functions; n is greater than or equal to 0. The default is N=200. WIDTH=value| BINWIDTH=value specifies the bin width for the histogram. The value is specified in units of the response variable and must be positive. The option has no effect for binary data.\",\"type\":\"standalone\"},{\"name\":\"TRACE\",\"description\":\"[Syntax: TRACE<(tadpanel-options)>] Requests a trace panel with posterior diagnostics for a Bayesian analysis. If a BAYES statement is present, the trace panel plots are generated by default, one for each sampled parameter. You can specify the following tadpanel-options to modify the graphic: BOX | BOXPLOT -- replaces the autocorrelation plot with a box plot of the posterior sample. SMOOTH=NONE|MEAN|SPLINE adds a reference estimate to the trace plot. By default, SMOOTH=NONE. SMOOTH=MEAN uses the arithmetic mean of the trace as the reference. SMOOTH=SPLINE adds a penalized B-spline. REFERENCE= reference-style adds vertical reference lines to the density plot, trace plot, and box plot. The available options for the reference-style are: NONE -- suppresses the reference lines EQT -- requests equal-tail intervals HPD -- requests intervals of highest posterior density. The level for the credible or HPD intervals is chosen based on the \\\"Posterior Interval Statistics\\\" table. PERCENTILES -- (or PERC) for percentiles. Up to three percentiles can be displayed, as based on the \\\"Posterior Summary Statistics\\\" table. The default is REFERENCE=CREDIBLE. UNPACK -- unpacks the panel graphic and displays its elements as separate plots.\",\"type\":\"standalone\"}]},{\"name\":\"SEED=\",\"optional\":true,\"description\":\"Determines the random number seed for analyses that depend on a random number stream. If you do not specify a seed or if you specify a value less than or equal to zero, the seed is generated from reading the time of day from the computer clock. The largest possible value for the seed is 2³¹-1. The seed value is reported in the \\\"Model Information\\\" table. You can use the SYSRANDOM and SYSRANEND macro variables after a PROC FMM run to query the initial and final seed values. However, using the final seed value as the starting seed for a subsequent analysis does not continue the random number stream where the previous analysis left off. The SYSRANEND macro variable provides a mechanism to pass on seed values to ensure that the sequence of random numbers is the same every time you run an entire program.\",\"help\":\"SEED=*n*\",\"type\":\"value\"},{\"name\":\"SINGCHOL=\",\"optional\":true,\"description\":\"Tunes the singularity criterion in Cholesky decompositions. The default is 1E4 times the machine epsilon; this product is approximately 1E-12 on most computers.\",\"help\":\"SINGCHOL=*number*\",\"type\":\"value\"},{\"name\":\"SINGRES=\",\"optional\":true,\"description\":\"Sets the tolerance for which the residual variance is considered to be zero. The default is 1E4 times the machine epsilon; this product is approximately 1E-12 on most computers.\",\"help\":\"SINGRES=*number*\",\"type\":\"value\"},{\"name\":\"SINGULAR=\",\"optional\":true,\"description\":\"Tunes the general singularity criterion applied by the FMM procedure in sweeps and inversions. The default is 1E4 times the machine epsilon; this product is approximately 1E-12 on most computers.\",\"help\":\"SINGULAR=*number*\",\"type\":\"value\"},{\"name\":\"TECHNIQUE=\",\"optional\":true,\"aliases\":[\"TECH=\"],\"description\":\"Specifies the optimization technique to obtain maximum likelihood estimates.\",\"type\":\"value\"}]},{\"name\":\"BAYES\",\"description\":\"The BAYES statement requests that the parameters of the model be estimated by Markov chain Monte Carlo sampling techniques. The FMM procedure can estimate by maximum likelihood the parameters of all models supported by the procedure. Bayes estimation, on the other hand, is available for only a subset of these models. In Bayesian analysis, it is essential to examine the convergence of the Markov chains before you proceed with posterior inference. With ODS Graphics turned on, the FMM procedure produces graphs at the end of the procedure output; these graphs enable you to visually examine the convergence of the chain. Inferences cannot be made if the Markov chain has not converged. The output produced for a Bayesian analysis is markedly different from that for a frequentist (maximum likelihood) analysis for the following reasons: o Parameter estimates do not have the same interpretation in the two analyses. Parameters are fixed unknown constants in the frequentist context and random variables in a Bayesian analysis. o The results of a Bayesian analysis are summarized through chain diagnostics and posterior summary statistics and intervals. o The FMM procedure samples the mixing probabilities in Bayesian models directly, rather than mapping them onto a logistic (or other) scale. The FMM procedure applies highly specialized sampling algorithms in Bayesian models. For single-component models without effects, a conjugate sampling algorithm is used where possible. For models in the exponential family that contain effects, the sampling algorithm is based on Gamerman (1997). For the normal and t distributions, a conjugate sampler is the default sampling algorithm for models with and without effects. In multi-component models, the sampling algorithm is based on latent variable sampling through data augmentation (Frühwirth-Schnatter 2006) and the Gamerman or conjugate sampler. Because of this specialization, the options for controlling the prior distributions of the parameters are limited.\",\"help\":\"BAYES &lt;BETAPRIORPARMS=pair-specification&gt;&lt;DIAGNOSTICS=&lt;ALL | NONE | &lt;(keyword-list)&gt;&gt;&gt;&lt;MIXPRIORPARMS=K | MIXPRIORPARMS(value-list)&gt; ...\",\"arguments\":[{\"name\":\"BETAPRIORPARMS=\",\"optional\":true,\"description\":\"Syntax: BETAPRIORPARMS=pair-specification BETAPRIORPARMS(pair-specification ...pair-specification) Specifies the parameters for the normal prior distribution of the parameters that are associated with model effects (βs). The pair-specification is of the form (a,b), and the values a and b are the mean and variance of the normal distribution, respectively.\",\"help\":\"BETAPRIORPARMS=*pair-specification*\",\"type\":\"value\"},{\"name\":\"DIAGNOSTICS=\",\"optional\":true,\"description\":\"Controls the number of diagnostics produced.\",\"help\":\"DIAGNOSTICS=ALL | NONE | &lt;(keyword-list)&gt;\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ALL\",\"description\":\"Requests all posterior diagnostics.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"Suppresses the computation of posterior diagnostics.\",\"type\":\"standalone\"},{\"name\":\"<(keyword-list)>\",\"description\":\"The following keywords enable you to select subsets of posterior diagnostics; the default is DIAGNOSTICS=(AUTOCORR): AUTOCORR<(LAGS= numeric-list)> Computes for each sampled parameter the autocorrelations of lags specified in the LAGS= list. ESS -- Computes Carlin's estimate of the effective sample size, the correlation time, and the efficiency of the chain for each parameter. GEWEKE<(geweke-options)>-- Computes the Geweke spectral density diagnostics, which are essentially a two-sample t test between the first f1 portion and the last f2 portion of the chain. The default is f1=0.1 and f2=0.5. The geweke-options are: FRAC1=value -- Specifies the fraction f1 for the first window. FRAC2=value -- Specifies the fraction f2 for the second window. HEIDELBERGER<(heidel-options)> -- Computes the Heidelberger and Welch diagnostic (which consists of a stationarity test and a half-width test) for each variable. The heidel-options are: SALPHA=value -- Specifies the α level for the stationarity test. By default, SALPHA=0.05. HALPHA=value -- Specifies the α level for the halfwidth test. By default, HALPHA=0.05. EPS=value -- Specifies a positive number ε such that if the halfwidth is less than ε times the sample mean of the retained iterates, the halfwidth test is passed. MCERROR | MCSE --Computes an estimate of the Monte Carlo standard error for each parameter. MAXLAG=n -- specifies the largest lag used in computing the effective sample size and the Monte Carlo standard error. Specifying this option implies the ESS and MCERROR options. The default is MAXLAG=250. RAFTERY<(raftery-options)> -- Computes Raftery and Lewis diagnostics that evaluate accuracy of the estimated quantile of a chain. raftery-options are: QUANTILE= | Q=value -- Specifies the order (a value between 0 and 1) of the quantile of interest. The default is 0.025. ACCURACY= | R=value -- Specifies a small positive number as the margin of error for measuring the accuracy of estimation of the quantile. The default is 0.005. PROBABILITY= | S=value -- Specifies the probability of attaining the accuracy of the estimation of the quantile. The default is 0.95. EPSILON= | EPS=value -- Specifies the tolerance level (a small positive number) for the stationary test. The default is 0.001.\",\"type\":\"standalone\"}]},{\"name\":\"ESTIMATE=\",\"optional\":true,\"description\":\"Determines which overall estimate is used, based on the posterior sample, in the computation of OUTPUT statistics and certain ODS graphics.\",\"help\":\"ESTIMATE=MEAN | MAP\",\"type\":\"choice\",\"arguments\":[{\"name\":\"MEAN\",\"description\":\"By default, the arithmetic average of the (thinned) posterior sample is used.\",\"type\":\"standalone\"},{\"name\":\"MAP\",\"description\":\"The parameter vector is used that corresponds to the maximum log posterior density in the posterior sample.\",\"type\":\"standalone\"}]},{\"name\":\"INITIAL=\",\"optional\":true,\"description\":\"Determines how initial values for the Markov chain are obtained.\",\"help\":\"INITIAL=DATA | MLE | MODE | RANDOM\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DATA\",\"description\":\"The default when a conjugate sampler is used is INITIAL=DATA, in which case the FMM procedure uses the same algorithm to obtain data-dependent starting values as it uses for maximum likelihood estimation.\",\"type\":\"standalone\"},{\"name\":\"MLE\",\"description\":\"If no conjugate sampler is available or if you use the METROPOLIS option to explicitly request that it not be used, then the default is INITIAL=MLE, in which case the maximum likelihood estimates are used as the initial values. If the maximum likelihood optimization fails, the FMM procedure switches to the default INITIAL=DATA.\",\"type\":\"standalone\"},{\"name\":\"MODE\",\"description\":\"Specifies to use the mode draw from the prior distribution to obtain initial values. If the mode does not exist or if it falls on the boundary of the parameter space, the prior mean is used instead.\",\"type\":\"standalone\"},{\"name\":\"RANDOM\",\"description\":\"Specifies to use the random draw from the prior distribution to obtain initial values. If the mode does not exist or if it falls on the boundary of the parameter space, the prior mean is used instead.\",\"type\":\"standalone\"}]},{\"name\":\"METROPOLIS\",\"optional\":true,\"description\":\"Requests that the FMM procedure use the Metropolis-Hastings sampling algorithm based on Gamerman (1997), even in situations where a conjugate sampler is available.\",\"type\":\"standalone\"},{\"name\":\"MIXPRIORPARMS=\",\"optional\":true,\"description\":\"Specifies the parameters used in constructing the Dirichlet prior distribution for the mixing parameters. If you specify MIXPRIORPARMS=K, the parameters of the k-dimensional Dirichlet distribution are a vector that contains the number of components in the model (k), whatever that might be. You can specify an explicit list of parameters in value-list. If the MIXPRIORPARMS option is not specified, the default Dirichlet parameter vector is a vector of length k of ones. This results in a uniform prior over the unit simplex; for k=2, this is the uniform distribution.\",\"type\":\"value\"},{\"name\":\"MUPRIORPARMS=\",\"optional\":true,\"description\":\"Syntax: MUPRIORPARMS=pair-specification MUPRIORPARMS( pair-specification ...pair-specification)\",\"help\":\"MUPRIORPARMS=*pair-specification*\",\"type\":\"value\"},{\"name\":\"NBI=\",\"optional\":true,\"description\":\"Specifies the number of burn-in samples. During the burn-in phase, chains are not saved.\",\"help\":\"NBI=*n*\",\"type\":\"value\"},{\"name\":\"NMC=\",\"optional\":true,\"aliases\":[\"SAMPLE=\"],\"description\":\"Specifies the number of Monte Carlo samples after the burn-in. Samples after the burn-in phase are saved unless they are thinned with the THIN= option. The default is NMC=10000.\",\"type\":\"value\"},{\"name\":\"OUTPOST=\",\"optional\":true,\"description\":\"Requests that the posterior sample be saved to a SAS data set. In addition to variables that contain log likelihood and log posterior values, the OUTPOST data set contains variables for the parameters. The variable names for the parameters are generic (Parm_1, Parm_2, , Parm_p). The labels of the parameters are descriptive and correspond to the \\\"Parameter Mapping\\\" table that is produced when the OUTPOST= option is in effect. You can specify the following outpost-options in parentheses: LOGPRIOR adds the value of the log prior distribution to the data set. NONSINGULAR|NONSING|COMPRESS eliminates parameters that correspond to singular columns in the design matrix (and were not sampled) from the posterior data set. This is the default.\",\"help\":\"OUTPOST=LOGPRIOR | NONSINGULAR | NONSING | COMPRESS | SINGULAR | SING\",\"type\":\"choice\",\"arguments\":[{\"name\":\"LOGPRIOR\",\"type\":\"standalone\"},{\"name\":\"NONSINGULAR\",\"type\":\"standalone\"},{\"name\":\"NONSING\",\"type\":\"standalone\"},{\"name\":\"COMPRESS\",\"type\":\"standalone\"},{\"name\":\"SINGULAR\",\"type\":\"standalone\"},{\"name\":\"SING\",\"type\":\"standalone\"}]},{\"name\":\"PHIPRIORPARMS=\",\"optional\":true,\"description\":\"\",\"type\":\"value\"},{\"name\":\"PRIOROPTIONS\",\"optional\":true,\"aliases\":[\"PRIOROPTS\"],\"description\":\"Specifies options related to the construction of the prior distribution and the choice of their parameters. Some prior-options apply only in particular models. You can specify the following prior-options: CONDITIONAL|COND chooses a conditional prior specification for the homogeneous normal and t distribution response components.\",\"type\":\"standalone\"},{\"name\":\"STATISTICS=\",\"optional\":true,\"aliases\":[\"SUMMARIES=\"],\"description\":\"The global-options include the following: ALPHA=numeric-list controls the probabilities of the credible intervals. The ALPHA= values must be between 0 and 1.\",\"help\":\"STATISTICS=ALL | NONE | SUMMARY | INTERVAL | (SUMMARY INTERVAL)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ALL\",\"description\":\"Is equivalent to specifying STATISTICS=(SUMMARY INTERVAL).\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"Suppresses the computation of posterior statistics\",\"type\":\"standalone\"},{\"name\":\"SUMMARY\",\"description\":\"Produces the means, standard deviations, and percentile points for the posterior samples. The default is to produce the 25th, 50th, and 75th percentiles; you can modify this list with the global PERCENT= option.\",\"type\":\"standalone\"},{\"name\":\"INTERVAL\",\"description\":\"Produces equal-tail and HPD credible intervals. The default is to produce the 95% equal-tail credible intervals and 95% HPD credible intervals, but you can use the ALPHA= global-option to request credible intervals for any probabilities.\",\"type\":\"standalone\"},{\"name\":\"(SUMMARY INTERVAL)\",\"description\":\"Produces the means, standard deviations, and percentile points for the posterior samples, and produces equal-tail and HPD credible intervals.\",\"type\":\"standalone\"}]},{\"name\":\"THINNING=\",\"optional\":true,\"aliases\":[\"THIN=\"],\"description\":\"Controls the thinning of the Markov chain after the burn-in.\",\"type\":\"value\"},{\"name\":\"TIMEINC=\",\"optional\":true,\"description\":\"Specifies a time interval in seconds to report progress during the burn-in and sampling phase. The time interval is approximate, since the minimum time interval in which the FMM procedure can respond depends on the multithreading configuration.\",\"help\":\"TIMEINC=*n*\",\"type\":\"value\"}]},{\"name\":\"BY\",\"description\":\"You can specify a BY statement with PROC HPFMM to obtain separate analyses of observations in groups that are defined by the BY variables. When a BY statement appears, the procedure expects the input data set to be sorted in order of the BY variables. If you specify more than one BY statement, only the last one specified is used. If your input data set is not sorted in ascending order, use one of the following alternatives: • Sort the data by using the SORT procedure with a similar BY statement. • Specify the NOTSORTED or DESCENDING option in the BY statement for the BCHOICE procedure. The NOTSORTED option does not mean that the data are unsorted but rather that the data are arranged in groups (according to values of the BY variables) and that these groups are not necessarily in alphabetical or increasing numeric order. • Create an index on the BY variables by using the DATASETS procedure (in Base SAS software).\",\"help\":\"BY &lt;DESCENDING&gt;&lt;NOTSORTED&gt;\",\"arguments\":[{\"name\":\"DESCENDING\",\"optional\":true,\"description\":\"Specifies that the observations are sorted in descending order by the variable that immediately follows the word DESCENDING in the BY statement.\",\"type\":\"standalone\"},{\"name\":\"NOTSORTED\",\"optional\":true,\"description\":\"Specifies that observations are not necessarily sorted in alphabetic or numeric order.\",\"type\":\"standalone\"}]},{\"name\":\"CLASS\",\"description\":\"The CLASS statement names the classification variables to be used as explanatory variables in the analysis. The CLASS statement must precede the MODEL statement. You can list the response variable for binary models in the CLASS statement, but this is not necessary.\",\"help\":\"CLASS &lt;DESCENDING&gt;&lt;ORDER=&lt;DATA | FORMATTED | FREQ&gt;... &gt;&lt;REFERENCE=&lt;'&lt;level&gt;' | FIRST | LAST&gt;&gt; ...\",\"arguments\":[{\"name\":\"DESCENDING\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"DESC\"],\"description\":\"Reverses the sorting order of the classification variable. If both the DESCENDING and ORDER= options are specified, high-performance statistical procedures order the categories according to the ORDER= option and then reverse that order.\",\"type\":\"standalone\"},{\"name\":\"MISSING\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Treats missing values (\\\".\\\", \\\".A\\\", …, \\\".Z\\\" for numeric variables and blanks for character variables) as valid values for the CLASS variable.\",\"type\":\"standalone\"},{\"name\":\"ORDER=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the sort order for the levels of classification variables. This ordering determines which parameters in the model correspond to each level in the data. By default, ORDER=FORMATTED. For ORDER=FORMATTED and ORDER=INTERNAL, the sort order is machine-dependent. When ORDER=FORMATTED is in effect for numeric variables for which you have supplied no explicit format, the levels are ordered by their internal values.\",\"help\":\"ORDER=DATA | FORMATTED | FREQ | FREQDATA | FREQFORMATTED | FREQINTERNAL | INTERNAL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DATA\",\"followsDelimiter\":\"/\",\"description\":\"Levels sorted by the order of appearance in the input data set.\",\"type\":\"standalone\"},{\"name\":\"FORMATTED\",\"followsDelimiter\":\"/\",\"description\":\"Levels sorted by the external formatted value, except for numeric variables with no explicit format, which are sorted by their unformatted (internal) value.\",\"type\":\"standalone\"},{\"name\":\"FREQ\",\"followsDelimiter\":\"/\",\"description\":\"Levels sorted by the descending frequency count; levels with the most observations come first in the order.\",\"type\":\"standalone\"},{\"name\":\"FREQDATA\",\"followsDelimiter\":\"/\",\"description\":\"Levels sorted by Order of descending frequency count, and within counts by order of appearance in the input data set when counts are tied.\",\"type\":\"standalone\"},{\"name\":\"FREQFORMATTED\",\"followsDelimiter\":\"/\",\"description\":\"Levels sorted by Order of descending frequency count, and within counts by formatted value when counts are tied.\",\"type\":\"standalone\"},{\"name\":\"FREQINTERNAL\",\"followsDelimiter\":\"/\",\"description\":\"Levels sorted by Order of descending frequency count, and within counts by unformatted (internal) value when counts are tied\",\"type\":\"standalone\"},{\"name\":\"INTERNAL\",\"followsDelimiter\":\"/\",\"description\":\"Levels sorted by the unformatted value.\",\"type\":\"standalone\"}]},{\"name\":\"PARAM=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the parameterization method for the classification variable or variables.\",\"help\":\"PARAM=GLM | REFERENCE*keyword*\",\"type\":\"value\",\"arguments\":[{\"name\":\"GLM\",\"followsDelimiter\":\"/\",\"description\":\"Specifies a less-than-full-rank reference cell coding. This parameterization is used in, for example, the GLM, MIXED, and GLIMMIX procedures in SAS/STAT.\",\"type\":\"standalone\"},{\"name\":\"REFERENCE\",\"followsDelimiter\":\"/\",\"description\":\"Specifies a reference cell encoding. You can choose the reference value by specifying an option for a specific variable or set of variables in the CLASS statement, or designate the first or last ordered value by specifying a global-option. The default is REF=LAST.\",\"type\":\"standalone\"}]},{\"name\":\"REFERENCE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"REF=\"],\"description\":\"Syntax: REF='level' | keyword REFERENCE='level' | keyword\",\"help\":\"REFERENCE='&lt;level&gt;' | FIRST | LAST\",\"type\":\"choice\",\"arguments\":[{\"name\":\"'\",\"followsDelimiter\":\"/\",\"description\":\"The level of the variable to use as the reference level. Specify the formatted value of the variable if a format is assigned. Replace <level> with an actual value.\",\"help\":\"'&lt;level&gt;'\",\"type\":\"standalone\"},{\"name\":\"FIRST\",\"followsDelimiter\":\"/\",\"description\":\"Designates the first ordered level as reference.\",\"type\":\"standalone\"},{\"name\":\"LAST\",\"followsDelimiter\":\"/\",\"description\":\"Designates the last ordered level as reference.\",\"type\":\"standalone\"}]},{\"name\":\"SPLIT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that the columns of the design matrix that correspond to any effect that contains a split classification variable can be selected to enter or leave a model independently of the other design columns of that effect. This option is specific to the HPREG procedure.\",\"type\":\"standalone\"},{\"name\":\"TRUNCATE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the truncation width of formatted values of CLASS variables when the optional n is specified. If n is not specified, the TRUNCATE option requests that classification levels be determined by using no more than the first 16 characters of the formatted values of CLASS variables.\",\"type\":\"standalone\"},{\"name\":\"UPCASE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Uppercases the values of character-valued CLASS variables before levelizing them. For example, if the UPCASE option is in effect and a CLASS variable can take the values 'a,' 'A,' and 'b,' then 'a' and 'A' represent the same level and the CLASS variable is treated as having only two values: 'A' and 'B.'\",\"type\":\"standalone\"}]},{\"name\":\"FREQ\",\"description\":\"The variable in the FREQ statement identifies a numeric variable in the data set that contains the frequency of occurrence for each observation. PROC FMM treats each observation as if it appears f times, where f is the value of the FREQ variable for the observation. If it is not an integer, the frequency value is truncated to an integer. If the frequency value is less than 1 or missing, the observation is not used in the analysis. When the FREQ statement is not specified, each observation is assigned a frequency of 1.\",\"help\":\"FREQ variable \"},{\"name\":\"ID\",\"description\":\"The ID statement lists one or more variables from the input data set that are transferred to output data sets created by SAS high-performance analytical procedures, provided that the output data set produces one or more records per input observation.\",\"help\":\"ID variables \"},{\"name\":\"MODEL\",\"description\":\"The MODEL statement defines elements of the mixture model, such as the model effects, the distribution, and the link function. At least one MODEL statement is required. You can specify more than one MODEL statement. Each MODEL statement identifies one or more components of a mixture. For example, if components differ in their distributions, link functions, or regressor variables, then you can use separate MODEL statements to define the components. If the finite mixture model is homogeneous—in the sense that all components share the same regressors, distribution, and link function—then you can specify the mixture model with a single MODEL statement by using the K= option.\",\"help\":\"MODEL &lt;ALPHA=number&gt;&lt;CL&gt;&lt;DISTRIBUTION=&lt;BETA | BETABINOMIAL | BINARY&gt;... &gt; ...\",\"arguments\":[{\"name\":\"ALPHA=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that confidence intervals be constructed for each of the parameters with confidence level 1 - number. The value of number must be between 0 and 1; the default is 0.05.\",\"help\":\"ALPHA=*number*\",\"type\":\"value\"},{\"name\":\"CL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that confidence limits be constructed for each of the parameter estimates. The confidence level is 0.95 by default; this can be changed with the ALPHA= option.\",\"type\":\"standalone\"},{\"name\":\"DISTRIBUTION=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"DIST=\"],\"description\":\"Specifies the probability distribution for a mixture component.\",\"help\":\"DISTRIBUTION=BETA | BETABINOMIAL | BINARY | BINOMIAL | BINOMCLUSTER | CONSTANT | EXPONENTIAL | FOLDEDNORMAL | GAMMA | GAUSSIAN | GENPOISSON | GEOMETRIC | INVGAUSS | LOGNORMAL | NEGBINOMIAL | POISSON | T | TRUNCPOISSON | UNIFORM | WEIBULL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"BETA\",\"followsDelimiter\":\"/\",\"description\":\"Beta distribution\",\"type\":\"standalone\"},{\"name\":\"BETABINOMIAL\",\"followsDelimiter\":\"/\",\"description\":\"Beta-binomial distribution\",\"type\":\"standalone\"},{\"name\":\"BINARY\",\"followsDelimiter\":\"/\",\"description\":\"Binary distribution\",\"type\":\"standalone\"},{\"name\":\"BINOMIAL\",\"followsDelimiter\":\"/\",\"description\":\"Binomial distribution If DIST=BINOMIAL is specified without the events/trials syntax, then n=1 is used for the default number of trials.\",\"type\":\"standalone\"},{\"name\":\"BINOMCLUSTER\",\"followsDelimiter\":\"/\",\"description\":\"Binomial cluster distribution The binomial cluster model is a two-component model described in Morel and Nagaraj (1993), Morel and Neerchal (1997), and Neerchal and Morel (1998).\",\"type\":\"standalone\"},{\"name\":\"CONSTANT\",\"followsDelimiter\":\"/\",\"description\":\"Degenerate distribution\",\"type\":\"standalone\"},{\"name\":\"EXPONENTIAL\",\"followsDelimiter\":\"/\",\"description\":\"Exponential distribution\",\"type\":\"standalone\"},{\"name\":\"FOLDEDNORMAL\",\"followsDelimiter\":\"/\",\"description\":\"Folded normal distribution\",\"type\":\"standalone\"},{\"name\":\"GAMMA\",\"followsDelimiter\":\"/\",\"description\":\"Gamma distribution\",\"type\":\"standalone\"},{\"name\":\"GAUSSIAN\",\"followsDelimiter\":\"/\",\"description\":\"Normal distribution\",\"type\":\"standalone\"},{\"name\":\"GENPOISSON\",\"followsDelimiter\":\"/\",\"description\":\"Generalized Poisson distribution\",\"type\":\"standalone\"},{\"name\":\"GEOMETRIC\",\"followsDelimiter\":\"/\",\"description\":\"Geometric distribution\",\"type\":\"standalone\"},{\"name\":\"INVGAUSS\",\"followsDelimiter\":\"/\",\"description\":\"Inverse Gaussian distribution\",\"type\":\"standalone\"},{\"name\":\"LOGNORMAL\",\"followsDelimiter\":\"/\",\"description\":\"Lognormal distribution\",\"type\":\"standalone\"},{\"name\":\"NEGBINOMIAL\",\"followsDelimiter\":\"/\",\"description\":\"Negative binomial distribution\",\"type\":\"standalone\"},{\"name\":\"POISSON\",\"followsDelimiter\":\"/\",\"description\":\"Poisson distribution\",\"type\":\"standalone\"},{\"name\":\"T\",\"followsDelimiter\":\"/\",\"description\":\"Student t distribution\",\"type\":\"standalone\"},{\"name\":\"TRUNCPOISSON\",\"followsDelimiter\":\"/\",\"description\":\"Truncated Poisson distribution\",\"type\":\"standalone\"},{\"name\":\"UNIFORM\",\"followsDelimiter\":\"/\",\"description\":\"Uniform distribution\",\"type\":\"standalone\"},{\"name\":\"WEIBULL\",\"followsDelimiter\":\"/\",\"description\":\"Weibull distribution\",\"type\":\"standalone\"}]},{\"name\":\"EQUATE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"the default is EQUATE=NONE. This option is available only for maximum likelihood estimation.\",\"help\":\"EQUATE=MEAN | SCALE | NONE | EFFECTS(effect-list)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"MEAN\",\"followsDelimiter\":\"/\",\"description\":\"The parameters that determine the mean are reduced to a single set that is applicable to all components in the MODEL statement.\",\"type\":\"standalone\"},{\"name\":\"SCALE\",\"followsDelimiter\":\"/\",\"description\":\"A single parameter represents the common scale for all components in the MODEL statement.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"followsDelimiter\":\"/\",\"description\":\"Specifies no set of parameter constraints across the components in a MODEL statement; the default is EQUATE=NONE\",\"type\":\"standalone\"},{\"name\":\"EFFECTS\",\"followsDelimiter\":\"/\",\"description\":\"Enables you to force the parameters for the chosen model effects to be equal across components; however, the number of parameters is unaffected.\",\"help\":\"EFFECTS(effect-list)\",\"type\":\"standalone\"}]},{\"name\":\"K=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"NUMBER=\"],\"description\":\"Specifies the number of components the MODEL statement contributes to the overall mixture. For the binomial cluster model, this option is not available, since this model is a two-component model by definition.\",\"type\":\"value\"},{\"name\":\"KMAX=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the maximum number of components the MODEL statement contributes to the overall mixture. If the maximum number of components in the mixture, as determined by all KMAX= options, is larger than the minimum number of components, the FMM procedure fits all possible models and displays summary fit information for the sequence of evaluated models. The \\\"best\\\" model according to the CRITERION= option in the PROC FMM statement is then chosen, and the remaining output and analyses performed by PROC FMM pertain to this \\\"best\\\" model.\",\"help\":\"KMAX=*n*\",\"type\":\"value\"},{\"name\":\"KMIN=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the minimum number of components the MODEL statement contributes to the overall mixture. This option is available only for maximum likelihood estimation. When you estimate the parameters of a mixture by MCMC methods, you need to ensure that the chain for a given value of k has converged; otherwise comparisons among models with varying number of components might not be meaningful.\",\"help\":\"KMIN=*n*\",\"type\":\"value\"},{\"name\":\"KRESTART\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that the starting values for each analysis (that is, for each unique number of components as determined by the KMIN= and KMAX= options) be determined separately, in the same way as if no other analyses were performed. If you do not specify the KRESTART option, then the starting values for each analysis are based on results from the previous analysis with one less component.\",\"type\":\"standalone\"},{\"name\":\"LABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies an optional label for the model that is used to identify the model in printed output, on graphics, and in data sets created from ODS tables.\",\"help\":\"LABEL='*label*'\",\"type\":\"value\"},{\"name\":\"LINK=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the link function in the model.\",\"help\":\"LINK=CLOGLOG | IDENTITY | LOG | LOGIT | LOGLOG | PROBIT | POWER(λ) | POWERMINUS2 | RECIPROCAL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"CLOGLOG\",\"followsDelimiter\":\"/\",\"description\":\"Complementary log-log function\",\"type\":\"standalone\"},{\"name\":\"IDENTITY\",\"followsDelimiter\":\"/\",\"description\":\"Identity function\",\"type\":\"standalone\"},{\"name\":\"LOG\",\"followsDelimiter\":\"/\",\"description\":\"Log function\",\"type\":\"standalone\"},{\"name\":\"LOGIT\",\"followsDelimiter\":\"/\",\"description\":\"Logit function\",\"type\":\"standalone\"},{\"name\":\"LOGLOG\",\"followsDelimiter\":\"/\",\"description\":\"Log-log function\",\"type\":\"standalone\"},{\"name\":\"PROBIT\",\"followsDelimiter\":\"/\",\"description\":\"Probit function\",\"type\":\"standalone\"},{\"name\":\"POWER\",\"followsDelimiter\":\"/\",\"description\":\"Power with λ=number function\",\"help\":\"POWER(λ)\",\"type\":\"standalone\"},{\"name\":\"POWERMINUS2\",\"followsDelimiter\":\"/\",\"description\":\"Power with exponent -2 function\",\"type\":\"standalone\"},{\"name\":\"RECIPROCAL\",\"followsDelimiter\":\"/\",\"description\":\"Reciprocal function\",\"type\":\"standalone\"}]},{\"name\":\"NOINT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that no intercept be included in the model. An intercept is included by default, unless the distribution is DIST=CONSTANT or DIST=UNIFORM.\",\"type\":\"standalone\"},{\"name\":\"OFFSET=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the offset variable function for the linear predictor in the model. An offset variable can be thought of as a regressor variable whose regression coefficient is known to be 1. For example, you can use an offset in a Poisson model when counts have been obtained in time intervals of different lengths. With a log link function, you can model the counts as Poisson variables with the logarithm of the time interval as the offset variable.\",\"help\":\"OFFSET=*variable*\",\"type\":\"value\"},{\"name\":\"PARAMETERS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"PARMS\"],\"description\":\"You can specify missing values for parameters whose starting values are to be determined by the default method. Only values for parameters that participate in the optimization are specified. The values for model effects are specified on the linear (linked) scale.\",\"help\":\"PARAMETERS=DESCENDING | DESC | EVENT= | ORDER= | REFERENCE= | REF=\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DESCENDING\",\"type\":\"standalone\"},{\"name\":\"DESC\",\"type\":\"standalone\"},{\"name\":\"EVENT=\",\"type\":\"value\"},{\"name\":\"ORDER=\",\"type\":\"value\"},{\"name\":\"REFERENCE=\",\"type\":\"value\"},{\"name\":\"REF=\",\"type\":\"value\"}]}]},{\"name\":\"OUTPUT\",\"description\":\"however, variables specified in the ID statement are included.\",\"help\":\"OUTPUT OUT=SAS-data-set PREDICTED&lt;(COMPONENT|OVERALL)&gt;PRED&lt;(COMPONENT|OVERALL)&gt;MEAN&lt;(COMPONENT|OVERALL)&gt; RESIDUAL&lt;(COMPONENT|OVERALL)&gt; | RESID&lt;(COMPONENT|OVERALL)&gt; ...\",\"arguments\":[{\"name\":\"CLASS\",\"aliases\":[\"CATEGORY\",\"GROUP\"],\"description\":\"Adds the estimated component membership to the OUTPUT data set. An observation is associated with the component that has the highest posterior probability.\",\"type\":\"standalone\"},{\"name\":\"LINP\",\"aliases\":[\"XBETA\"],\"description\":\"Requests that the linear predictors for the models be added to the OUTPUT data set.\",\"type\":\"standalone\"},{\"name\":\"LOGLIKE\",\"aliases\":[\"LOGL\"],\"description\":\"Requests values of the log-likelihood function for the mixture or the components. For observations used in the analysis, the overall computed value is the observations' contribution to the log likelihood; if a FREQ statement is present, the frequency is accounted for in the computed value. In other words, if all observations in the input data set have been used in the analysis, adding the value of the log-likelihood contributions in the OUTPUT data set produces the negative of the final objective function value in the \\\"Iteration History\\\" table. By default, the log-likelihood contribution to the mixture is computed. You can request the individual mixture component contributions with the COMPONENT suboption.\",\"type\":\"standalone\"},{\"name\":\"MAXPOST\",\"aliases\":[\"MAXPROB\"],\"description\":\"Adds the highest posterior probability to the OUTPUT data set.\",\"type\":\"standalone\"},{\"name\":\"MIXPROBS\",\"aliases\":[\"MIXPROB\",\"PRIOR\",\"MIXWEIGHTS\"],\"description\":\"Requests that the prior weights πᵢ(Z,αᵢ) be added to the OUTPUT data set. By default, the probabilities are output for all components. You can limit the output to a single statistic, the largest mixing probability, with the MAX suboption.\",\"type\":\"standalone\"},{\"name\":\"OUT=\",\"description\":\"Specifies the name of the output data set. If the OUT= (or DATA=) option is omitted, the procedure uses the DATAn convention to name the output data set.\",\"help\":\"OUT=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"POSTERIOR\",\"aliases\":[\"POST\",\"PROB\"],\"description\":\"Requests that the posterior weights be added to the OUTPUT data set. By default, the probabilities are output for all components. You can limit the output to a single statistic, the largest posterior probability, with the MAX suboption.\",\"type\":\"standalone\"},{\"name\":\"PREDICTED\",\"aliases\":[\"PRED\",\"MEAN\"],\"description\":\"Requests predicted values (predicted means) for the response variable. The predictions in the output data set are mapped onto the data scale. For example, if the response is binomial or binary, the predictions are probabilities. The default is to compute the predicted value for the mixture (OVERALL). You can request predictions for the means of the component distributions by adding the COMPONENT suboption in parentheses.\",\"type\":\"standalone\"},{\"name\":\"RESIDUAL\",\"aliases\":[\"RESID\"],\"description\":\"Requests residuals for the response or residuals in the component distributions. Only \\\"raw\\\" residuals on the data scale are computed (observed minus predicted).\",\"type\":\"standalone\"},{\"name\":\"VARIANCE\",\"aliases\":[\"VAR\"],\"description\":\"Requests variances for the mixture or the component distributions.\",\"type\":\"standalone\"},{\"name\":\"ALLSTATS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that all statistics are computed. If you do not use a keyword to assign a name, the HPFMM procedure uses the default name.\",\"type\":\"standalone\"},{\"name\":\"PREDTYPE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the type of predicted values that are produced for a binomial or binary response with events/trials syntax.\",\"help\":\"PREDTYPE=PROB | COUNT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"PROB\",\"followsDelimiter\":\"/\",\"description\":\"If PREDTYPE=PROB, the predicted values are success probabilities.\",\"type\":\"standalone\"},{\"name\":\"COUNT\",\"followsDelimiter\":\"/\",\"description\":\"If PREDTYPE=COUNT, the predicted values are success counts.\",\"type\":\"standalone\"}]}]},{\"name\":\"PERFORMANCE\",\"description\":\"The PERFORMANCE statement defines performance parameters for multithreaded and distributed computing, passes variables about the distributed computing environment, and requests detailed results about the performance characteristics of the HPFMM procedure. You can also use the PERFORMANCE statement to control whether the HPFMM procedure executes in single-machine mode or distributed mode.\",\"help\":\"PERFORMANCE &lt;COMMIT=n&gt;&lt;DETAILS&gt;&lt;GRIDHOST=\\\"name\\\"&gt; ...\",\"arguments\":[{\"name\":\"COMMIT=\",\"optional\":true,\"description\":\"Requests that the High-Performance Analytics procedure write periodic updates to the SAS Log when observations are sent from the client to the appliance for distributed processing.\",\"help\":\"COMMIT=*n*\",\"type\":\"value\"},{\"name\":\"DETAILS\",\"optional\":true,\"description\":\"Requests a table that shows a timing breakdown of the procedure steps.\",\"type\":\"standalone\"},{\"name\":\"GRIDHOST=\",\"optional\":true,\"aliases\":[\"HOST=\"],\"description\":\"Syntax: GRIDHOST=\\\"name\\\" HOST=\\\"name\\\"\",\"help\":\"GRIDHOST=\\\"*name*\\\"\",\"type\":\"value\"},{\"name\":\"GRIDMODE=\",\"optional\":true,\"aliases\":[\"MODE=\"],\"description\":\"Is a deprecated option that specifies whether to run the high-performance analytical procedure in symmetric (SYM) mode or asymmetric (ASYM) mode. This option overrides the GRIDMODE environment variable.\",\"help\":\"GRIDMODE=SYM | ASYM\",\"type\":\"choice\",\"arguments\":[{\"name\":\"SYM\",\"description\":\"Specifies to run the high-performance analytical procedure in symmetric (SYM) mode\",\"type\":\"standalone\"},{\"name\":\"ASYM\",\"description\":\"Specifies to run the high-performance analytical procedure in asymmetric (ASYM) mode.\",\"type\":\"standalone\"}]},{\"name\":\"GRIDTIMEOUT=\",\"optional\":true,\"aliases\":[\"TIMEOUT=\"],\"description\":\"Specifies the time-out in seconds for a high-performance analytical procedure to wait for a connection to the appliance and establish a connection back to the client. The default is 120 seconds. If jobs are submitted to the appliance through workload management tools that might suspend access to the appliance for a longer period, you might want to increase the time-out value.\",\"type\":\"value\"},{\"name\":\"INSTALL=\",\"optional\":true,\"aliases\":[\"INSTALLLOC=\"],\"description\":\"Specifies the directory in which the shared libraries for the high-performance analytical procedure are installed on the appliance. Specifying the INSTALL= option overrides the GRIDINSTALLLOC environment variable.\",\"type\":\"value\"},{\"name\":\"LASRSERVER=\",\"optional\":true,\"aliases\":[\"LASR=\"],\"description\":\"Specifies the fully qualified path to the description file of a SAS LASR Analytic Server instance. If the input data set is held in memory by this LASR Analytic Server instance, then the procedure runs alongside LASR. This option is not needed to run alongside LASR if the DATA= specification of the input data uses a libref that is associated with a LASR Analytic Server instance.\",\"type\":\"value\"},{\"name\":\"NODES=\",\"optional\":true,\"aliases\":[\"NNODES=\"],\"description\":\"Specifies the number of nodes in the distributed computing environment, provided that the data are not processed alongside the database.\",\"type\":\"value\"},{\"name\":\"NTHREADS=\",\"optional\":true,\"aliases\":[\"THREADS=\"],\"description\":\"Specifies the number of threads for analytic computations and overrides the SAS system option THREADS | NOTHREADS. If you do not specify the NTHREADS= option, the number of threads is determined based on the number of CPUs on the host on which the analytic computations execute. The algorithm by which a CPU count is converted to a thread count is specific to the high-performance analytical procedure. Most procedures create one thread per CPU for the analytic computations. By default, high-performance analytical procedures run in multiple concurrent threads unless multithreading has been turned off by the NOTHREADS system option or you force single-threaded execution by specifying NTHREADS=1. The largest number that can be specified for n is 256. Individual high-performance analytical procedures can impose more stringent limits if called for by algorithmic considerations.\",\"type\":\"value\"}]},{\"name\":\"PROBMODEL\",\"description\":\"The PROBMODEL statement defines the model effects for the mixing probabilities and their link function. By default, the HPFMM procedure models mixing probabilities on the logit scale for two-component models and as generalized logit models in situations with more than two components. The PROBMODEL statement is not required.\",\"help\":\"PROBMODEL &lt;ALPHA=number&gt;&lt;CL&gt;&lt;LINK=&lt;CLOGLOG | LOGIT | LOGLOG&gt;... &gt; ...\",\"arguments\":[{\"name\":\"ALPHA=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that confidence intervals that have the confidence level (1 - number) be constructed for the parameters in the probability model. The value of number must be between 0 and 1; the default is 0.05.\",\"type\":\"value\"},{\"name\":\"CL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that confidence limits be constructed for each of the parameter estimates. The confidence level is 0.95 by default; this can be changed with the ALPHA= option.\",\"type\":\"standalone\"},{\"name\":\"LINK=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the link function in the model for the mixing probabilities. The default is a logit link for models with two components. For models with more than two components, only the generalized logit link is available.\",\"help\":\"LINK=CLOGLOG | LOGIT | LOGLOG | PROBIT*keyword*\",\"type\":\"value\",\"arguments\":[{\"name\":\"CLOGLOG\",\"followsDelimiter\":\"/\",\"aliases\":[\"CLL\"],\"description\":\"Complementary log-log link function\",\"type\":\"standalone\"},{\"name\":\"LOGIT\",\"followsDelimiter\":\"/\",\"description\":\"Logit link function\",\"type\":\"standalone\"},{\"name\":\"LOGLOG\",\"followsDelimiter\":\"/\",\"description\":\"Log-log link function\",\"type\":\"standalone\"},{\"name\":\"PROBIT\",\"followsDelimiter\":\"/\",\"aliases\":[\"NORMIT\"],\"description\":\"Probit link function\",\"type\":\"standalone\"}]},{\"name\":\"NOINT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that no intercept be included in the model for the mixing probabilities. An intercept is included by default. If you suppress the intercept with the NOINT option, you must specify at least one other effect for the mixing probabilities-- since an empty probability model is not meaningful.\",\"type\":\"standalone\"},{\"name\":\"PARAMETERS\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"PARMS\"],\"description\":\"Specifies starting values for the parameters. The specification of the parameters takes the following form: parameters in the mean function appear in a list, and parameters for different components are separated by commas. Starting values are given on the linked scale, not in terms of probabilities. Also, you need to specify starting values for only up to the first k-1 components in a k-component model. The linear predictor for the last component is always assumed to be zero.\",\"type\":\"standalone\"}]},{\"name\":\"RESTRICT\",\"description\":\"The RESTRICT statement enables you to specify linear equality or inequality constraints among the parameters of a mixture model. These restrictions are incorporated into the maximum likelihood analysis. The RESTRICT statement is not available for a Bayesian analysis with the HPFMM procedure. Following are reasons why you might want to place constraints and restrictions on the model parameters: o to fix a parameter at a particular value o to equate parameters in different components in a mixture o to impose order conditions on the parameters in a model o to specify contrasts among the parameters that the fitted model should honor\",\"help\":\"RESTRICT &lt;DIVISOR=value&gt;\",\"arguments\":[{\"name\":\"DIVISOR=\",\"optional\":true,\"description\":\"Specifies a value by which all coefficients on the right-hand side and left-hand side of the restriction are divided.\",\"help\":\"DIVISOR=*value*\",\"type\":\"value\"}]},{\"name\":\"WEIGHT\",\"description\":\"The WEIGHT statement is used to perform a weighted analysis. Because the probability structure of a mixture model is different from that of a classical statistical model, the presence of a weight variable in a mixture model cannot be interpreted as altering the variance of an observation. Observations with nonpositive or missing weights are not included in the PROC HPFMM analysis. If a WEIGHT statement is not included, all observations used in the analysis are assigned a weight of 1.\",\"help\":\"WEIGHT variable\"}],\"supportSiteInformation\":{\"docsetId\":\"statug\",\"docsetVersion\":\"latest\",\"docsetTargetFile\":\"statug_hpfmm_toc.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/HPFOREST.json",
    "content": "{\"name\":\"HPFOREST\",\"statements\":[{\"name\":\"PROC HPFOREST\",\"description\":\"The HPFOREST procedure is a high-performance procedure that creates a predictive model called a forest that consists of several decision trees. A predictive model defines a relationship between input variables and a target variable. The purpose of a predictive model is to predict a target value from inputs. The HPFOREST procedure trains the model; that is, it creates the model, using training data in which the target values are known. The model can then be applied to observations in which the target is unknown. If the predictions fit the new data well, the model is said to generalize well. Good generalization is the primary goal for predictive tasks. A predictive model might fit the training data well but generalize poorly. † A decision tree is a type of predictive model that has been developed independently in the statistics and artificial intelligence communities. The HPFOREST procedure creates a tree recursively. An input variable is chosen and used to create a rule to split the data into two segments. The process is then repeated in each segment, and then again in each new segment, and so on until some constraint is met. In the terminology of the tree metaphor, the segments are nodes, the original data set is the root node, and the final unpartitioned segments are leaves or terminal nodes. A node is an internal node if it is not a leaf. The data in a leaf determine the estimates of the value of the target variable. These estimates are subsequently applied to predict the target of a new observation assigned to the leaf.\",\"help\":\"PROC HPFOREST <MINUSEINSEARCH=n><ALPHA=number><BALANCE=YES | NO><CATBINS=k> DATA= <libref.>SAS-data-set <EXHAUSTIVE=number><GRIDCLASSSIZE=n><GRIDCOPY=ALL | MINIMAL | NONE... ><INBAGFRACTION=f><INBAGN=n><INTERVALBINS=k><LEAFFRACTION=f><LEAFSIZE=n><MAXDEPTH=d><MAXTREES=n><MINCATSIZE=n><MISSING=USEINSEARCH | DISTRIBUTE><NODESIZE=n | ALL><PRESELECT=BINNEDSEARCH | LOH | HOTHORN><PRUNEFRACTION=g><PRUNETHRESHOLD=t><SCOREPROLE=DEFAULT | INBAG | OOB... ><SEED=n><SKIP_SEQ_ROWS=n><SPLITSIZE=n><VARS_TO_TRY=m | ALL>;     \\n\\tFREQ variable ;\\n\\n\\tID variables;\\n\\n\\tINPUT <LEVEL=<BINARY | NOMINAL | ORDINAL>... ><ORDER=<ASCENDING | ASCFORMATTED | DESCENDING>... > ;\\n\\n\\tPARTITION <ROLEVAR=variable <TRAIN='value'> <VALIDATE='value'> ><TRAIN=value><VALIDATE=value> ...;\\n\\n\\tPERFORMANCE <BPC=n><COMMIT=n><CPUCOUNT=<ACTUAL | <num>>> ...;\\n\\n\\tSAVE <FILE=filename> ;\\n\\n\\tSCORE <MAXDEPTH=<n>><NTREES=<n>> OUT=libref.SAS-data-set ...;\\n\\n\\tTARGET <LEVEL=<BINARY | NOMINAL | INTERVAL>> ;\\n\\n\\tTREATMENT <ORDER=<ASCENDING | ASCFORMATTED | DESCENDING>... > ;\\n\",\"arguments\":[{\"name\":\"DATA=\",\"description\":\"Names the SAS data set to be used by PROC HPFOREST for training the model. The default is the most recently created data set.\",\"type\":\"value\"},{\"name\":\"MINUSEINSEARCH=\",\"optional\":true,\"description\":\"Specifies a threshold for utilizing missing values in the split search when MISSING=USEINSEARCH is specified as the missing value policy. If the number of observations in which the splitting variable has missing values in a node is greater than or equal to n, then PROC HPFOREST initiates the USEINSEARCH policy for missing values.\",\"help\":\" MINUSEINSEARCH=\",\"type\":\"value\"},{\"name\":\"ALPHA=\",\"optional\":true,\"description\":\"Specifies a threshold p-value for the significance level of a test of association of a candidate variable with the target. If no association meets this threshold, the node is not split. The default value is 0.05.\",\"help\":\"ALPHA=*number*\",\"type\":\"value\"},{\"name\":\"BALANCE=\",\"optional\":true,\"description\":\"Specifies whether to modify the splitting criterion for a nominal target so that the number of observations in each target class are effectively equal. A weight is applied to the count of observations in a class. The weight is different in different nodes.\",\"help\":\"BALANCE=YES | NO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YES\",\"description\":\"Modifies the splitting criterion so that the number of observations in each target class are effectively equal.\",\"type\":\"standalone\"},{\"name\":\"NO\",\"description\":\"Does not modify the splitting criterion.\",\"type\":\"standalone\"}]},{\"name\":\"CATBINS=\",\"optional\":true,\"description\":\"Specifies the maximum number of categories of a nominal candidate variable to use in the association test. k refers only to the categories that are present in the training data in the node and that satisfy the MINCATSIZE= option. The categories are counted independently in each node. If more than k\",\"help\":\"CATBINS=*k*\",\"type\":\"value\"},{\"name\":\"EXHAUSTIVE=\",\"optional\":true,\"description\":\"Specifies the maximum number of splits to examine in a complete enumeration of all possible splits when the input variable is nominal and the target has more than two nominal categories. The exhaustive method of searching for a split examines all possible splits. If the number of possible splits is greater than number, then a heuristic search is done instead of an exhaustive search. The default value of number is 5,000.\",\"help\":\"EXHAUSTIVE=*number*\",\"type\":\"value\"},{\"name\":\"GRIDCLASSSIZE=\",\"optional\":true,\"description\":\"Specifies the minimum number of observations of any value of a binary or nominal target to exist on a grid node when GRIDCOPY=MINIMAL is specified.\",\"help\":\"GRIDCLASSSIZE=*n*\",\"type\":\"value\"},{\"name\":\"GRIDCOPY=\",\"optional\":true,\"description\":\"Specifies how many observations to copy between grid nodes when PROC HPFOREST runs in distributed mode.\",\"help\":\"GRIDCOPY=ALL | MINIMAL | NONE | TRAINING\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ALL\",\"description\":\"Copies all training and validation data.\",\"type\":\"standalone\"},{\"name\":\"MINIMAL\",\"description\":\"Copies enough training data to achieve a minimum on each node.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"Does not copy any observations.\",\"type\":\"standalone\"},{\"name\":\"TRAINING\",\"description\":\"Copies all training data.\",\"type\":\"standalone\"}]},{\"name\":\"INBAGFRACTION=\",\"optional\":true,\"description\":\"Specifies the fraction of training observations to train a tree with, where f can be any number greater than 0 and at most 1. Using less than all the available data often improves the generalization error. A different in-bag sample is taken for each tree. The default value of f is 0.6.\",\"help\":\"INBAGFRACTION=*f*\",\"type\":\"value\"},{\"name\":\"INBAGN=\",\"optional\":true,\"description\":\"Specifies how many observations to use to train each tree. The observations are counted without regard to the variable specified in the FREQ statement. Using less than all the available data often improves the generalization error. A different in-bag sample is taken for each tree. n can be any positive integer. If n is greater than the number of observations in the data set specified in the DATA= option, then all the available data are used. n must be at least 3 and large enough to accommodate the values of the LEAFSIZE=, LEAFFRACTION=, and SPLITSIZE options. The default value is 0.6 times the number of available observations in DATA= data set.\",\"help\":\"INBAGN=*n*\",\"type\":\"value\"},{\"name\":\"INTERVALBINS=\",\"optional\":true,\"description\":\"Specifies the number of equally spaced bins into which variables are divided when the PRESELECT=BINNEDSEARCH algorithm is executed. The default value is 100.\",\"help\":\"INTERVALBINS=*k*\",\"type\":\"value\"},{\"name\":\"LEAFFRACTION=\",\"optional\":true,\"description\":\"Specifies the smallest number of training observations that a new branch can have, expressed as the fraction of the number N of available observations in the DATA= data set. N might be less than the total number of observations in the data set because observations with a missing target value or nonpositive value of the variable specified in the FREQ statement are excluded from N. If you specify a number in the LEAFSIZE= option that implies a larger number than that specified in the LEAFFRACTION= option, f is ignored. The value f must be larger than 0 and less than 1. The default value is 0.001.\",\"help\":\"LEAFFRACTION=*f*\",\"type\":\"value\"},{\"name\":\"LEAFSIZE=\",\"optional\":true,\"description\":\"Specifies the smallest number of training observations a new branch can have. If you specify a value for the LEAFFRACTION= option that implies a larger value than n, the LEAFSIZE= option is ignored. The default value is 5.\",\"help\":\"LEAFSIZE=*n*\",\"type\":\"value\"},{\"name\":\"MAXDEPTH=\",\"optional\":true,\"description\":\"Specifies the maximum depth of a node in any tree that PROC HPFOREST creates. The depth of a node equals the number of splitting rules needed to define the node. The root node has depth 0. The children of the root have depth 1, and on. The smallest acceptable value of d is 1. The default value of d is 50.\",\"help\":\"MAXDEPTH=*d*\",\"type\":\"value\"},{\"name\":\"MAXTREES=\",\"optional\":true,\"description\":\"Specifies the number of trees in the forest. n is a positive integer. The number of trees in the resulting forest can be less than n when the HPFOREST procedure fails to split the training data for a tree. Up to two times n trees are attempted. If the procedure fails to split the training data for more than n trees, then less than n trees are created. The ALPHA=, LEAFSIZE=, and MINCATSIZE= options constrain the split search to form trees that are more likely to predict well using new data. Setting all of these options to 1 generally frees the search algorithm to find a split and train a tree, although the tree might not help the forest predict well. The default value of n is 50.\",\"help\":\"MAXTREES=*n*\",\"type\":\"value\"},{\"name\":\"MINCATSIZE=\",\"optional\":true,\"description\":\"Specifies the minimum number of observations that a given nominal input category must have in order to use the category in a split search. Categorical values that appear in fewer than n observations are handled as if they were missing. The categories that occur in fewer than n observations are merged into the pseudo category for missing values for the purpose of finding a split. The policy for assigning such observations to a branch is the same as the policy for assigning missing values to a branch. The default value of n is 5.\",\"help\":\"MINCATSIZE=*n*\",\"type\":\"value\"},{\"name\":\"MISSING=\",\"optional\":true,\"description\":\"Specifies how the training procedure handles an observation with missing values. If MISSING= USEINSEARCH and the number of training observations in the node is more than n, where n is the value of the MINUSEINSEARCH= option, then the missing value is used as a separate, legitimate value in the test of association and the split search. If MISSING=DISTRIBUTE, observations with a missing value of the candidate variable are omitted from the test of association and split search in that node. A splitting rule distributes such an observation to all branches.\",\"help\":\"MISSING=USEINSEARCH | DISTRIBUTE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"USEINSEARCH\",\"description\":\"If MISSING= USEINSEARCH and the number of training observations in the node is more than n, where n is the value of the MINUSEINSEARCH= option, then the missing value is used as a separate, legitimate value in the test of association and the split search.\",\"type\":\"standalone\"},{\"name\":\"DISTRIBUTE\",\"description\":\"If MISSING=DISTRIBUTE, observations with a missing value of the candidate variable are omitted from the test of association and split search in that node. A splitting rule distributes such an observation to all branches.\",\"type\":\"standalone\"}]},{\"name\":\"NODESIZE=\",\"optional\":true,\"description\":\"Specifies the number of training observations to use for association tests and split searches. NODESIZE=ALL requests to use all the observations. The acceptable range is from two to two billion on most machines. The default value of n is 100,000.\",\"type\":\"value\"},{\"name\":\"PRESELECT=\",\"optional\":true,\"description\":\"Specifies the method for selecting the variable to split with.\",\"help\":\"PRESELECT=BINNEDSEARCH | LOH | HOTHORN\",\"type\":\"choice\",\"arguments\":[{\"name\":\"BINNEDSEARCH\",\"description\":\"Selects the variable that produces the rule that has the largest worth.\",\"type\":\"standalone\"},{\"name\":\"LOH\",\"description\":\"selects the variable that has the smallest p-value of a chi-square test of association in a contingency table.\",\"type\":\"standalone\"},{\"name\":\"HOTHORN\",\"description\":\"selects the variable that produces the rule that has the highest association with the target.\",\"type\":\"standalone\"}]},{\"name\":\"PRUNEFRACTION=\",\"optional\":true,\"description\":\"Specifies the fraction of training observations that are available for pruning a split. The value of g can be any number from 0 and to 1, although a number close to 1 would leave little to grow the tree. The default value of g is 0; the default action is to not prune.\",\"help\":\"PRUNEFRACTION=*g*\",\"type\":\"value\"},{\"name\":\"PRUNETHRESHOLD=\",\"optional\":true,\"description\":\"Specifies the lower limit of allowable shrinkage when the distance of the child node from the parent is measured by the pruning data instead of the in-bag data. The value of t must be between 0 and 1. The default value of t is 0.1.\",\"help\":\"PRUNETHRESHOLD=*t*\",\"type\":\"value\"},{\"name\":\"SCOREPROLE=\",\"optional\":true,\"description\":\"Specifies which observations are used for the prediction of a new observation in the SCORE statement.\",\"help\":\"SCOREPROLE=DEFAULT | INBAG | OOB | VALID\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DEFAULT\",\"description\":\"Selects the default value as if the option was not specified.\",\"type\":\"standalone\"},{\"name\":\"INBAG\",\"description\":\"Outputs predictions that are based on in-bag observations.\",\"type\":\"standalone\"},{\"name\":\"OOB\",\"description\":\"Outputs predictions that are based on out-of-bag observations.\",\"type\":\"standalone\"},{\"name\":\"VALID\",\"description\":\"Outputs predictions that are based on validation observations.\",\"type\":\"standalone\"}]},{\"name\":\"SEED=\",\"optional\":true,\"description\":\"Specifies the seed for generating random numbers. The HPFOREST procedure uses random numbers to select training observations for each tree and to select candidate variables in each node to split on. n is a nonnegative integer. Set n to 0 to use the internal default. The default value of the seed is 8,976,153.\",\"help\":\"SEED=*n*\",\"type\":\"value\"},{\"name\":\"SKIP_SEQ_ROWS=\",\"optional\":true,\"description\":\"Specifies the number of rows to skip in the \\\"Fit Statistics\\\" table in distributed mode. After every n trees that are trained on a grid node, the fit statistics on the node are updated, consolidated with statistics from other nodes, and eventually output in the \\\"Fit Statistics\\\" table.\",\"help\":\"SKIP_SEQ_ROWS=*n*\",\"type\":\"value\"},{\"name\":\"SPLITSIZE=\",\"optional\":true,\"description\":\"Specifies the requisite number of training observations a node must have for the HPFOREST procedure to consider splitting it. By default, n is twice the value of the LEAFSIZE= option (or n is the value implied by LEAFFRACTION= option if the procedure ignores the LEAFSIZE= option). The procedure counts the number of observations in a node without adjusting the number with the values of the variable specified in the FREQ statement when it interprets the value specified in the LEAFFRACTION=, LEAFSIZE=, MINCATSIZE=, and SPLITSIZE= options.\",\"help\":\"SPLITSIZE=*n*\",\"type\":\"value\"},{\"name\":\"VARS_TO_TRY=\",\"optional\":true,\"description\":\"Syntax: VARS_TO_TRY=m | ALL specifies the number of input variables to consider splitting on in a node. m ranges from 1 to the number of input variables, v. The default value of m is square root of v. Specify VARS_TO_TRY=ALL to use all the inputs as candidates in a node.\",\"type\":\"value\"}]},{\"name\":\"FREQ\",\"description\":\"The variable in the FREQ statement identifies a numeric variable in the data set that contains the frequency of occurrence for each observation. SAS High-Performance Analytics procedures that support the FREQ statement treat each observation as if it appeared f times, where f is the value of the FREQ variable for the observation. If the frequency value is not an integer, it is truncated to an integer. If the frequency value is less than 1 or missing, the observation is not used in the analysis. When the FREQ statement is not specified, each observation is assigned a frequency of 1.\",\"help\":\"FREQ variable \"},{\"name\":\"ID\",\"description\":\"The ID statement lists one or more variables from the input data set that are transferred to the output data set that is specified in the SCORE statement. By default, high-performance analytical procedures do not include all variables from the input data set in output data sets. The ID statement is optional.\",\"help\":\"ID variables\"},{\"name\":\"INPUT\",\"description\":\"The INPUT statement names input variables with common options. The INPUT statement can be repeated.\",\"help\":\"INPUT &lt;LEVEL=&lt;BINARY | NOMINAL | ORDINAL&gt;... &gt;&lt;ORDER=&lt;ASCENDING | ASCFORMATTED | DESCENDING&gt;... &gt;\",\"arguments\":[{\"name\":\"LEVEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the level of measurement of the variables. Accepted values of level are: BINARY, NOMINAL, ORDINAL, and INTERVAL.\",\"help\":\"LEVEL=BINARY | NOMINAL | ORDINAL | INTERVAL*level*\",\"type\":\"value\",\"arguments\":[{\"name\":\"BINARY\",\"followsDelimiter\":\"/\",\"description\":\"Binary level of measurement\",\"type\":\"standalone\"},{\"name\":\"NOMINAL\",\"followsDelimiter\":\"/\",\"description\":\"Nominal level of measurement\",\"type\":\"standalone\"},{\"name\":\"ORDINAL\",\"followsDelimiter\":\"/\",\"description\":\"Ordinal level of measurement\",\"type\":\"standalone\"},{\"name\":\"INTERVAL\",\"followsDelimiter\":\"/\",\"description\":\"Interval level of measurement\",\"type\":\"standalone\"}]},{\"name\":\"ORDER=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the sorting order of the values of an ordinal input variable.\",\"help\":\"ORDER=ASCENDING | ASCFORMATTED | DESCENDING | DESFORMATTED | DSORDER*order*\",\"type\":\"value\",\"arguments\":[{\"name\":\"ASCENDING\",\"followsDelimiter\":\"/\",\"description\":\"Ascending order of unformatted values (default)\",\"type\":\"standalone\"},{\"name\":\"ASCFORMATTED\",\"followsDelimiter\":\"/\",\"description\":\"Ascending order of formatted values\",\"type\":\"standalone\"},{\"name\":\"DESCENDING\",\"followsDelimiter\":\"/\",\"description\":\"Descending order of unformatted values\",\"type\":\"standalone\"},{\"name\":\"DESFORMATTED\",\"followsDelimiter\":\"/\",\"description\":\"Descending order of formatted values\",\"type\":\"standalone\"},{\"name\":\"DSORDER\",\"followsDelimiter\":\"/\",\"description\":\"Order of appearance in the input data set\",\"type\":\"standalone\"}]}]},{\"name\":\"PARTITION\",\"description\":\"The PARTITION statement specifies how to divide the input data set into a training subset and a validation subset. Variable names the variable in the input data set whose values are used to assign roles to each observation.\",\"help\":\"PARTITION &lt;ROLEVAR=variable &lt;TRAIN='value'&gt; &lt;VALIDATE='value'&gt; &gt;&lt;TRAIN=value&gt;&lt;VALIDATE=value&gt; ...\",\"arguments\":[{\"name\":\"ROLEVAR=\",\"optional\":true,\"description\":\"Names the variable in the input data table whose values are used to assign roles to each observation. This variable cannot also appear as an analysis variable in other statements or options. The TRAIN=, and VALIDATE= suboptions specify the formatted values of this variable that are used to assign observation roles. If you do not specify the TRAIN= suboption, then all observations whose role is not determined by the VALIDATE= suboption are assigned to the training role.\",\"type\":\"value\"},{\"name\":\"TRAIN=\",\"optional\":true,\"description\":\"Requests that an observation be assigned to training if it matches value.\",\"help\":\"TRAIN=*value*\",\"type\":\"value\"},{\"name\":\"VALIDATE=\",\"optional\":true,\"description\":\"Requests that an observation be assigned to validation if it matches value.\",\"help\":\"VALIDATE=*value*\",\"type\":\"value\"}]},{\"name\":\"PERFORMANCE\",\"description\":\"The PERFORMANCE statement defines performance parameters for multithreaded and distributed computing, passes variables about the distributed computing environment, and requests detailed results about the performance characteristics of the HPFOREST procedure. With the PERFORMANCE statement, you can also control whether the HPFOREST procedure executes in symmetric multiprocessing or massively parallel mode.\",\"help\":\"PERFORMANCE &lt;BPC=n&gt;&lt;COMMIT=n&gt;&lt;CPUCOUNT=&lt;ACTUAL | &lt;num&gt;&gt;&gt; ...\",\"arguments\":[{\"name\":\"BPC=\",\"optional\":true,\"description\":\"Specifies the number of bytes per character that is used in processing character strings in multibyte encodings. The default is the bytes per character of the encoding.\",\"help\":\"BPC=*n*\",\"type\":\"value\"},{\"name\":\"COMMIT=\",\"optional\":true,\"description\":\"Requests that the High-Performance Analytics procedure write periodic updates to the SAS Log when observations are sent from the client to the appliance for distributed processing.\",\"help\":\"COMMIT=*n*\",\"type\":\"value\"},{\"name\":\"CPUCOUNT=\",\"optional\":true,\"description\":\"Specifies how many processors the procedure assumes are available on each host in the computing environment. num can be any integer from 1 to 256. CPUCOUNT=ACTUAL sets CPUCOUNT to the number of physical processors available. This number can be less than the physical number of CPUs if the SAS process has been restricted by system administration tools. Setting CPUCOUNT= to a number greater than the actual number of available CPUs might result in reduced performance. This option overrides the CPUCOUNT= SAS system option.\",\"help\":\"CPUCOUNT=ACTUAL | &lt;*num*&gt;\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ACTUAL\",\"description\":\"Sets CPUCOUNT to the number of physical processors available. This number can be less than the physical number of CPUs if the SAS process has been restricted by system administration tools.\",\"type\":\"standalone\"},{\"name\":\"num\",\"placeholder\":true,\"description\":\"Replace <num> with an actual number. Setting CPUCOUNT= to a number greater than the actual number of available CPUs might result in reduced performance. This option overrides the CPUCOUNT= SAS system option.\",\"type\":\"standaloneOrValue\"}]},{\"name\":\"DATASERVER=\",\"optional\":true,\"description\":\"Specifies the name of the server on Teradata systems as defined through the hosts file and as used in the LIBNAME statement for Teradata. For example, if the hosts file defines myservercop1 33.44.55.66 as the server for Teradata, then a LIBNAME specification would be as follows: libname TDLib teradata server=myserver user= password= database= ; A PERFORMANCE statement to induce running alongside the Teradata server would specify the following:\",\"type\":\"value\"},{\"name\":\"DETAILS\",\"optional\":true,\"description\":\"Requests a table that shows a timing breakdown of the procedure steps.\",\"type\":\"standalone\"},{\"name\":\"HOST=\",\"optional\":true,\"aliases\":[\"GRIDHOST=\"],\"description\":\"Specifies the name of the appliance host in single or double quotes. If the HOST= option is specified, it overrides the value of the GRIDHOST environment variable.\",\"type\":\"value\"},{\"name\":\"INSTALL=\",\"optional\":true,\"aliases\":[\"INSTALLLOC=\"],\"description\":\"Specifies the directory in which the High-Performance Analytics shared libraries are installed on the appliance. Specifying the INSTALL= option overrides the GRIDINSTALLLOC environment variable.\",\"type\":\"value\"},{\"name\":\"LASRSERVER=\",\"optional\":true,\"aliases\":[\"LASR=\"],\"description\":\"Specifies the fully qualified path to the description file of a SAS LASR Analytic Server instance. If the input data set is held in memory by this LASR Analytic Server instance, then the procedure runs alongside LASR.\",\"type\":\"value\"},{\"name\":\"MODE=\",\"optional\":true,\"aliases\":[\"GRIDMODE=\"],\"description\":\"Is a deprecated option that specifies whether to run the high-performance analytical procedure in symmetric (SYM) mode or asymmetric (ASYM) mode. This option overrides the GRIDMODE environment variable.\",\"help\":\"MODE=SYM | ASYM\",\"type\":\"choice\",\"arguments\":[{\"name\":\"SYM\",\"description\":\"Specifies to run the high-performance analytical procedure in symmetric (SYM) mode.\",\"type\":\"standalone\"},{\"name\":\"ASYM\",\"description\":\"Specifies to run the high-performance analytical procedure in asymmetric (ASYM) mode.\",\"type\":\"standalone\"}]},{\"name\":\"NODES=\",\"optional\":true,\"aliases\":[\"NNODES=\"],\"description\":\"Specifies the number of nodes in the distributed computing environment, provided that the data are not processed alongside the database. Specifying NODES=0 indicate thats you want to process the data in SMP mode on the client machine. If the input data are not alongside the database, this is the default. The High-Performance Analytics procedures then perform the analysis mutlithreaded on the client.\",\"type\":\"value\"},{\"name\":\"NTHREADS=\",\"optional\":true,\"aliases\":[\"THREADS=\"],\"description\":\"Specifies the number of threads for analytic computations and overrides the SAS system option THREADS | NOTHREADS. If you do not specify the NTHREADS= option, the number of threads are determined based on the number of CPUs on the host on which the analytic computations execute. The algorithm by which a CPU count is converted to a thread count is specific to the High- Performance Analytics procedure. Most procedures create one thread per CPU for the analytic computations. By default, High-Performance Analytics procedures execute in multiple concurrent threads unless turned off by the NOTHREADS system option or you force single-threaded execution with NTHREADS=1. The largest number that can be specified for n is 256. Individual High-Performance Analytics procedures can impose more stringent limits if called for by algorithmic considerations. You can affect the determination of the CPU count with the CPUCOUNT= option in the PERFORMANCE statement.\",\"type\":\"value\"},{\"name\":\"TIMEOUT=\",\"optional\":true,\"aliases\":[\"GRIDTIMEOUT=\"],\"description\":\"Specifies the time-out in seconds for a high-performance analytical procedure to wait for a connection to the appliance and establish a connection back to the client. The default is 120 seconds.\",\"type\":\"value\"}]},{\"name\":\"SAVE\",\"description\":\"The SAVE statement outputs the forest model information into a binary file.\",\"help\":\"SAVE &lt;FILE=filename&gt;\",\"arguments\":[{\"name\":\"FILE=\",\"optional\":true,\"description\":\"Names the file into which tree information is saved. The filename can be either a SAS file reference or the full path and member name of the binary file.\",\"help\":\"FILE=*filename*\",\"type\":\"value\"}]},{\"name\":\"SCORE\",\"description\":\"The SCORE statement applies the forest model to the training data and outputs a data set that contains the ID variables that are specified in the ID statement in addition to predictions, residuals, and decisions.\",\"help\":\"SCORE &lt;MAXDEPTH=&lt;n&gt;&gt;&lt;NTREES=&lt;n&gt;&gt; OUT=libref.SAS-data-set ...\",\"arguments\":[{\"name\":\"OUT=\",\"description\":\"Names the output data set to contain the scored data.\",\"type\":\"value\"},{\"name\":\"MAXDEPTH=\",\"optional\":true,\"description\":\"Produces predictions from trees that are pruned to a depth of n. The trees are not truncated by default.\",\"type\":\"value\"},{\"name\":\"NTREES=\",\"optional\":true,\"description\":\"Produces predictions from the first n trees only. If the option is omitted then PROC HPFOREST uses all the trees in the model for predictions. Scoring with fewer trees can sometimes increase the speed without significantly reducing the accuracy.\",\"type\":\"value\"}]},{\"name\":\"TARGET\",\"description\":\"The TARGET statement names the variable whose values PROC HPFOREST tries to predict.\",\"help\":\"TARGET &lt;LEVEL=&lt;BINARY | NOMINAL | INTERVAL&gt;&gt;\",\"arguments\":[{\"name\":\"LEVEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the level of measurement of the variables. Accepted values of level are: BINARY, NOMINAL, and INTERVAL.\",\"help\":\"LEVEL=BINARY | NOMINAL | INTERVAL*level*\",\"type\":\"value\",\"arguments\":[{\"name\":\"BINARY\",\"followsDelimiter\":\"/\",\"description\":\"Binary level of measurement\",\"type\":\"standalone\"},{\"name\":\"NOMINAL\",\"followsDelimiter\":\"/\",\"description\":\"Nominal level of measurement\",\"type\":\"standalone\"},{\"name\":\"INTERVAL\",\"followsDelimiter\":\"/\",\"description\":\"Interval level of measurement\",\"type\":\"standalone\"}]}]},{\"name\":\"TREATMENT\",\"description\":\"The TREATMENT statement names a binary treatment variable and estimates how much the prediction of an observation changes when the treatment changes. The analysis of differential treatment effects is sometimes called incremental response modeling (IRM).\",\"help\":\"TREATMENT &lt;ORDER=&lt;ASCENDING | ASCFORMATTED | DESCENDING&gt;... &gt;\",\"arguments\":[{\"name\":\"ORDER=\",\"optional\":true,\"description\":\"Specifies the sorting order of the treatment values.\",\"help\":\"ORDER=ASCENDING | ASCFORMATTED | DESCENDING | DESFORMATTED | DSORDER*order*\",\"type\":\"value\",\"arguments\":[{\"name\":\"ASCENDING\",\"description\":\"Ascending order of unformatted values (default)\",\"type\":\"standalone\"},{\"name\":\"ASCFORMATTED\",\"description\":\"Ascending order of formatted values\",\"type\":\"standalone\"},{\"name\":\"DESCENDING\",\"description\":\"Descending order of unformatted values\",\"type\":\"standalone\"},{\"name\":\"DESFORMATTED\",\"description\":\"Descending order of formatted values\",\"type\":\"standalone\"},{\"name\":\"DSORDER\",\"description\":\"Order of appearance in the input data set\",\"type\":\"standalone\"}]}]}],\"supportSiteInformation\":{\"docsetId\":\"emhpprcref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"emhpprcref_hpforest_toc.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/HPFRECON.json",
    "content": "{\"name\":\"HPFRECON\",\"statements\":[{\"name\":\"PROC HPFRECONCILE\",\"description\":\"invokes the HPFRECONCILE procedure. The following options can be used in the PROC HPFRECONCILE statement\",\"help\":\"PROC HPFRECONCILE  options;                 \\n\\tAGGBY  variables;                 \\n\\n\\tAGGDATA <options>;                 \\n\\n\\tBY  variables <NOTSORTED>;                 \\n\\n\\tDISAGGDATA <options>;                 \\n\\n\\tID  variable INTERVAL=interval </options>;                 \\n\",\"arguments\":[{\"name\":\"AGGDATA=\",\"optional\":true,\"description\":\"specifies the name of the SAS data set that contains the forecasts of the aggregated time series data\",\"help\":\"AGGDATA=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"CONSTRAINT=\",\"optional\":true,\"description\":\"specifies the name of the SAS data set that contains the constraints for the reconciled series\",\"help\":\"CONSTRAINT=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"DISAGGDATA\",\"optional\":true,\"description\":\"specifies the name of the SAS data set that contains the forecast of the disaggregated time series data\",\"help\":\"DISAGGDATA | DATA=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"FORCECONSTRAINT\",\"optional\":true,\"description\":\"specifies whether the user-specified constraints should be forced on the PREDICT variable in the OUTFOR= data set when the problem is infeasible because the constraints are incompatible with the aggregation constraint\",\"type\":\"standalone\"},{\"name\":\"OUTFOR=\",\"optional\":true,\"description\":\"specifies the name of the output SAS data set that contains the reconciled values\",\"help\":\"OUTFOR=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"OUTINFEASIBLE=\",\"optional\":true,\"description\":\"specifies the name of the SAS data set that contains a summary of the nodes for which reconciliation failed because of a conflict between the constraints imposed by the user and the aggregation constraint\",\"help\":\"OUTINFEASIBLE=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"OUTPROCINFO=\",\"optional\":true,\"description\":\"names the output data set to contain the summary information of the processing done by PROC { }\",\"help\":\"OUTPROCINFO=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"RECDIFF\",\"optional\":true,\"description\":\"If the RECDIFF option is specified, the OUTFOR= data sets will contain a variable named RECDIFF that is the difference between the reconciled forecasts and the original forecasts\",\"type\":\"standalone\"},{\"name\":\"ERRORTRACE=\",\"optional\":true,\"description\":\"specifies how often the error and warning messages should be printed to the log\",\"help\":\"ERRORTRACE=*option*\",\"type\":\"value\"},{\"name\":\"AGGREGATE=\",\"optional\":true,\"description\":\"specifies whether the dependent variable in the AGGDATA= data set is the total sum or the average over the BY groups of the dependent variable in the DISAGGDATA= data set\",\"help\":\"AGGREGATE=TOTAL | AVERAGE\",\"type\":\"choice\"},{\"name\":\"ALPHA=\",\"optional\":true,\"description\":\"specifies the level of the confidence limits when CLMETHOD=GAUSSIAN\",\"help\":\"ALPHA=*n*\",\"type\":\"value\"},{\"name\":\"CLMETHOD=\",\"optional\":true,\"description\":\"specifies the method used to compute confidence limits for the reconciled forecasts\",\"help\":\"CLMETHOD=*option*\",\"type\":\"value\"},{\"name\":\"DIRECTION=\",\"optional\":true,\"description\":\"specifies the reconciliation direction\",\"help\":\"DIRECTION= *reconciliation-direction*\",\"type\":\"value\"},{\"name\":\"DISAGGREGATION=\",\"optional\":true,\"description\":\"specifies the type of loss function for top-down reconciliation\",\"help\":\"DISAGGREGATION=DIFFERENCE | PROPORTIONS\",\"type\":\"choice\"},{\"name\":\"IGNOREMISSF\",\"optional\":true,\"description\":\"specifies that {.F} missing values in the PREDICT variable be treated as regular {.} missing values\",\"type\":\"standalone\"},{\"name\":\"LOCKZERO\",\"optional\":true,\"description\":\"specifies that zero values of the PREDICT variable in the DISAGGDATA= data be considered locked equalities\",\"type\":\"standalone\"},{\"name\":\"MAXITER=\",\"optional\":true,\"description\":\"specifies the maximum number of predictor-corrector iterations performed by the interior point algorithm\",\"help\":\"MAXITER=*k*\",\"type\":\"value\"},{\"name\":\"PREDICTONLY\",\"optional\":true,\"description\":\"specifies that only the predicted value be reconciled\",\"type\":\"standalone\"},{\"name\":\"SIGN=\",\"optional\":true,\"description\":\"specifies the sign constraint on the reconciled series\",\"help\":\"SIGN=*option*\",\"type\":\"value\"},{\"name\":\"STDMETHOD=\",\"optional\":true,\"description\":\"specifies the method used to compute standard errors for the reconciled forecasts\",\"help\":\"STDMETHOD=*option*\",\"type\":\"value\"},{\"name\":\"STDDIFBD=\",\"optional\":true,\"description\":\"specifies a positive number that defines boundaries for the percentage difference between the original standard error and the reconciled standard error\",\"help\":\"STDDIFBD=*n*\",\"type\":\"value\"},{\"name\":\"WEIGHTED\",\"optional\":true,\"description\":\"specifies that the loss function for top-down reconciliation be weighted by the inverse of the variance of the input forecasts\",\"type\":\"standalone\"}]},{\"name\":\"AGGBY\",\"description\":\"When DIRECTION=BU and the AGGDATA= data set is not specified, the AGGBY statement can be used to specify the AGGBY variables, which is a proper subset of the BY variables that should appear in the OUTFOR= data set\",\"help\":\"AGGBY  variables;                                              \"},{\"name\":\"AGGDATA\",\"description\":\"enables the user to specify custom names for forecasting variables in the AGGDATA= data set\",\"help\":\"AGGDATA &lt;options&gt;;                                              \",\"arguments\":[{\"name\":\"ACTUAL=\",\"optional\":true,\"description\":\"specifies the name of the variable in the AGGDATA= data set that contains the actual values\",\"help\":\"ACTUAL=*variable-name* \",\"type\":\"value\"},{\"name\":\"PREDICT=\",\"optional\":true,\"description\":\"specifies the name of the variable in the AGGDATA= data set that contains the predicted values\",\"help\":\"PREDICT=*variable-name*\",\"type\":\"value\"},{\"name\":\"LOWER=\",\"optional\":true,\"description\":\"specifies the name of the variable in the AGGDATA= data set that contains the lower confidence limit values\",\"help\":\"LOWER=*variable-name*\",\"type\":\"value\"},{\"name\":\"UPPER=\",\"optional\":true,\"description\":\"specifies the name of the variable in the AGGDATA= data set that contains the upper confidence limit values\",\"help\":\"UPPER=*variable-name*\",\"type\":\"value\"},{\"name\":\"ERROR=\",\"optional\":true,\"description\":\"specifies the name of the variable in the AGGDATA= data set that contains the error values\",\"help\":\"ERROR=*variable-name*\",\"type\":\"value\"},{\"name\":\"STD=\",\"optional\":true,\"description\":\"specifies the name of the variable in the AGGDATA= data set that contains the standard error values. {Options}\",\"help\":\"STD=*variable-name*\",\"type\":\"value\"}]},{\"name\":\"BY\",\"description\":\"defines separate groups of observations for the DISAGGDATA= data set\",\"help\":\"BY  variables &lt;NOTSORTED&gt;;                                              \"},{\"name\":\"DISAGGDATA\",\"description\":\"enables you to specify names for forecasting variables in the DISAGGDATA= data set\",\"help\":\"DISAGGDATA &lt;options&gt;;                                              \",\"arguments\":[{\"name\":\"ACTUAL=\",\"optional\":true,\"description\":\"specifies the name of the variable in the DISAGGDATA= data set that contains the actual values\",\"help\":\"ACTUAL=*variable-name*\",\"type\":\"value\"},{\"name\":\"PREDICT=\",\"optional\":true,\"description\":\"specifies the name of the variable in the DISAGGDATA= data set that contains the predicted values\",\"help\":\"PREDICT=*variable-name*\",\"type\":\"value\"},{\"name\":\"LOWER=\",\"optional\":true,\"description\":\"specifies the name of the variable in the DISAGGDATA= data set that contains the lower confidence limit values\",\"help\":\"LOWER=*variable-name*\",\"type\":\"value\"},{\"name\":\"UPPER=\",\"optional\":true,\"description\":\"specifies the name of the variable in the DISAGGDATA= data set that contains the upper confidence limit values\",\"help\":\"UPPER=*variable-name*\",\"type\":\"value\"},{\"name\":\"ERROR=\",\"optional\":true,\"description\":\"specifies the name of the variable in the DISAGGDATA= data set that contains the error values\",\"help\":\"ERROR=*variable-name*\",\"type\":\"value\"},{\"name\":\"STD=\",\"optional\":true,\"description\":\"specifies the name of the variable in the DISAGGDATA= data set that contains the standard error values\",\"help\":\"STD=*variable-name*\",\"type\":\"value\"},{\"name\":\"BYVARSSORTED\",\"optional\":true,\"description\":\"specifies that the DISAGGDATA= data set be sorted by the BY variables\",\"type\":\"standalone\"}]},{\"name\":\"ID\",\"description\":\"names a numeric variable that identifies observations in the input and output data sets\",\"help\":\"ID  variable INTERVAL=interval &lt;/options&gt;;                                              \",\"arguments\":[{\"name\":\"ALIGN=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"controls the alignment of SAS dates used to identify output observations\",\"help\":\"ALIGN=*option*\",\"type\":\"value\"},{\"name\":\"END=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a SAS date, datetime, or time value that represents the date at which the reconciliation should end\",\"help\":\"END=*option*\",\"type\":\"value\"},{\"name\":\"FORMAT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a SAS format used for the DATE variable in the output data sets\",\"help\":\"FORMAT=*option*\",\"type\":\"value\"},{\"name\":\"INTERVAL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the frequency of the input time series\",\"help\":\"INTERVAL=*interval*\",\"type\":\"value\"},{\"name\":\"IRREGULAR\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies whether to allow for irregularities in the ID variable frequency\",\"help\":\"IRREGULAR \",\"type\":\"standalone\"},{\"name\":\"START=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a SAS date, datetime, or time value that represents the time ID value at which the reconciliation should begin\",\"help\":\"START=*option*\",\"type\":\"value\"}]}]}"
  },
  {
    "path": "server/pubsdata/Procedures/en/HPFSELECT.json",
    "content": "{\"name\":\"HPFSELECT\",\"statements\":[{\"name\":\"PROC HPFSELECT\",\"description\":\"The HPFSELECT procedure enables you to control the forecasting model selection process by defining lists of candidate forecasting models. Using model selection lists created by the HPFSELECT procedure, you can control which forecasting model or models SAS High-Performance Forecasting software uses to forecast particular time series.\",\"help\":\"PROC HPFSELECT <INSELECTNAME=SAS-catalog-name><LABEL=SAS-label><NAME=SAS-name><REPOSITORY=SAS-catalog-name | SAS-file-reference><VALIDATE>;     \\n\\tDELETE specification-list ;\\n\\n\\tDIAGNOSE <IDMBASE=<AUTO>><INTERMITTENT=number><SEASONTEST=<NONE>> ...;\\n\\n\\tFORECASTOPTIONS <ALPHA=<AUTO>> ;\\n\\n\\tSELECT <CHOOSE=specification><CRITERION=<SSE | MSE | RMSE>... ><HOLDOUT=n> ...;\\n\\n\\tSPECIFICATION <EVENTMAP ( symbol= _NONE_ EVENT= eventDef <NODIFF> )><EXMMAP><PREDICT=var> ...;\\n\",\"arguments\":[{\"name\":\"INSELECTNAME=\",\"optional\":true,\"description\":\"Provides a selection list as input to the HPFSELECT procedure. The input selection list is specified as a three-level name.\",\"help\":\"INSELECTNAME=*SAS-catalog-name*\",\"type\":\"dataSet\"},{\"name\":\"LABEL=\",\"optional\":true,\"aliases\":[\"SELECTLABEL=\"],\"description\":\"Specifies a descriptive label for the model selection to be stored in the SAS catalog or directory.\",\"help\":\"LABEL=*SAS-label*\",\"type\":\"value\"},{\"name\":\"NAME=\",\"optional\":true,\"aliases\":[\"SELECTNAME=\"],\"description\":\"Names the model selection file to be stored in the SAS catalog or directory.\",\"help\":\"NAME=*SAS-name*\",\"type\":\"value\"},{\"name\":\"REPOSITORY=\",\"optional\":true,\"aliases\":[\"MODELREPOSITORY=\",\"MODELREP=\",\"REP=\"],\"description\":\"Names the SAS catalog or directory to contain the model specification.\",\"type\":\"value\"},{\"name\":\"VALIDATE\",\"optional\":true,\"description\":\"Checks that model specifications exist in the model repository specified in the REPOSITORY= option.\",\"type\":\"standalone\"}]},{\"name\":\"DELETE\",\"description\":\"The DELETE statement is used to remove model specifications from a selection list. There can be any number of model specifications listed in a DELETE statement and any number of DELETE statements.\",\"help\":\"DELETE specification-list \"},{\"name\":\"DIAGNOSE\",\"description\":\"The DIAGNOSE statement is used to specify diagnostic options. DIAGNOSE options are used by the HPFENGINE procedure to subset a model selection list according to certain properties of a time series.\",\"help\":\"DIAGNOSE &lt;IDMBASE=&lt;AUTO&gt;&gt;&lt;INTERMITTENT=number&gt;&lt;SEASONTEST=&lt;NONE&gt;&gt; ...\",\"arguments\":[{\"name\":\"IDMBASE=\",\"optional\":true,\"description\":\"Specifies the base value of the time series used to determine the demand series components for an intermittent demand model.\",\"help\":\"IDMBASE=AUTO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"AUTO\",\"description\":\"The base value is automatically determined by the time series median, minimum, and maximum values and the INTERMITTENT= option value.\",\"type\":\"standalone\"}]},{\"name\":\"INTERMITTENT=\",\"optional\":true,\"description\":\"Specifies a number greater than one that is used to determine whether or not a time series is intermittent.\",\"help\":\"INTERMITTENT=*number*\",\"type\":\"value\"},{\"name\":\"SEASONTEST=\",\"optional\":true,\"description\":\"Specifies the options related to the seasonality test.\",\"help\":\"SEASONTEST=NONE*option*\",\"type\":\"value\",\"arguments\":[{\"name\":\"NONE\",\"description\":\"No test\",\"type\":\"standalone\"}]}]},{\"name\":\"FORECASTOPTIONS\",\"description\":\"The FORECASTOPTIONS statement is used to specify forecasting options.\",\"help\":\"FORECASTOPTIONS &lt;ALPHA=&lt;AUTO&gt;&gt;\",\"arguments\":[{\"name\":\"ALPHA=\",\"optional\":true,\"description\":\"Specifies the significance level to use in computing the confidence limits of the forecast. The value of ALPHA= must be between 0 and 1. The default is ALPHA=0.05, which produces 95% confidence intervals.\",\"help\":\"ALPHA=AUTO*number*\",\"type\":\"value\",\"arguments\":[{\"name\":\"AUTO\",\"description\":\"The base value is automatically determined by the time series median, minimum, and maximum values and the INTERMITTENT= option value.\",\"type\":\"standalone\"}]}]},{\"name\":\"SELECT\",\"description\":\"The SELECT statement is used to specify model selection options.\",\"help\":\"SELECT &lt;CHOOSE=specification&gt;&lt;CRITERION=&lt;SSE | MSE | RMSE&gt;... &gt;&lt;HOLDOUT=n&gt; ...\",\"arguments\":[{\"name\":\"CHOOSE=\",\"optional\":true,\"description\":\"Specifies the name of a model specification that will be chosen by the HPFENGINE procedure. By default, HPFENGINE will select the model with the best fit in terms of the statistic set by the CRITERION= option.\",\"help\":\"CHOOSE=*specification*\",\"type\":\"value\"},{\"name\":\"CRITERION=\",\"optional\":true,\"description\":\"Specifies the model selection criterion (statistic of fit) to be used to select from several candidate models. This option is often used in conjunction with the HOLDOUT= option. The default is CRITERION=RMSE.\",\"help\":\"CRITERION=SSE | MSE | RMSE | UMSE | URMSE | MAXPE | MINPE | MPE | MAPE | MDAPE | GMAPE | MINPPE | MAXPPE | MPPE | MAPPE | MDAPPE | GMAPPE | MINSPE | MAXSPE | MSPE | SMAPE | MDASPE | GMASPE | MINRE | MAXRE | MRE | MRAE | MDRAE | GMRAE | MAXERR | MINERR | ME | MAE | MASE | RSQUARE | ADJRSQ | AADJRSQ | RWRSQ | AIC | AICC | SBC | APC | MAPES | MDAPES | GMAPES*option*\",\"type\":\"value\",\"arguments\":[{\"name\":\"SSE\",\"description\":\"Sum of squares error\",\"type\":\"standalone\"},{\"name\":\"MSE\",\"description\":\"Mean squared error\",\"type\":\"standalone\"},{\"name\":\"RMSE\",\"description\":\"Root mean squared error\",\"type\":\"standalone\"},{\"name\":\"UMSE\",\"description\":\"Unbiased mean squared error\",\"type\":\"standalone\"},{\"name\":\"URMSE\",\"description\":\"Unbiased root mean squared error\",\"type\":\"standalone\"},{\"name\":\"MAXPE\",\"description\":\"Maximum percent error\",\"type\":\"standalone\"},{\"name\":\"MINPE\",\"description\":\"Minimum percent error\",\"type\":\"standalone\"},{\"name\":\"MPE\",\"description\":\"Mean percent error\",\"type\":\"standalone\"},{\"name\":\"MAPE\",\"description\":\"Mean absolute percent error\",\"type\":\"standalone\"},{\"name\":\"MDAPE\",\"description\":\"Median absolute percent error\",\"type\":\"standalone\"},{\"name\":\"GMAPE\",\"description\":\"Geometric mean absolute percent error\",\"type\":\"standalone\"},{\"name\":\"MINPPE\",\"description\":\"Minimum predictive percent error\",\"type\":\"standalone\"},{\"name\":\"MAXPPE\",\"description\":\"Maximum predictive percent error\",\"type\":\"standalone\"},{\"name\":\"MPPE\",\"description\":\"Mean predictive percent error\",\"type\":\"standalone\"},{\"name\":\"MAPPE\",\"description\":\"Symmetric mean absolute predictive percent error\",\"type\":\"standalone\"},{\"name\":\"MDAPPE\",\"description\":\"Median absolute predictive percent error\",\"type\":\"standalone\"},{\"name\":\"GMAPPE\",\"description\":\"Geometric mean absolute predictive percent error\",\"type\":\"standalone\"},{\"name\":\"MINSPE\",\"description\":\"Minimum symmetric percent error\",\"type\":\"standalone\"},{\"name\":\"MAXSPE\",\"description\":\"Maximum symmetric percent error\",\"type\":\"standalone\"},{\"name\":\"MSPE\",\"description\":\"Mean symmetric percent error\",\"type\":\"standalone\"},{\"name\":\"SMAPE\",\"description\":\"Symmetric mean absolute percent error\",\"type\":\"standalone\"},{\"name\":\"MDASPE\",\"description\":\"Median absolute symmetric percent error\",\"type\":\"standalone\"},{\"name\":\"GMASPE\",\"description\":\"Geometric mean absolute symmetric percent error\",\"type\":\"standalone\"},{\"name\":\"MINRE\",\"description\":\"Minimum relative error\",\"type\":\"standalone\"},{\"name\":\"MAXRE\",\"description\":\"Maximum relative error\",\"type\":\"standalone\"},{\"name\":\"MRE\",\"description\":\"Mean relative error\",\"type\":\"standalone\"},{\"name\":\"MRAE\",\"description\":\"Mean relative absolute error\",\"type\":\"standalone\"},{\"name\":\"MDRAE\",\"description\":\"Median relative absolute error\",\"type\":\"standalone\"},{\"name\":\"GMRAE\",\"description\":\"Geometric mean relative absolute error\",\"type\":\"standalone\"},{\"name\":\"MAXERR\",\"description\":\"Maximum error\",\"type\":\"standalone\"},{\"name\":\"MINERR\",\"description\":\"Minimum error\",\"type\":\"standalone\"},{\"name\":\"ME\",\"description\":\"Mean error\",\"type\":\"standalone\"},{\"name\":\"MAE\",\"description\":\"Mean absolute error\",\"type\":\"standalone\"},{\"name\":\"MASE\",\"description\":\"Mean absolute scaled error\",\"type\":\"standalone\"},{\"name\":\"RSQUARE\",\"description\":\"R-square\",\"type\":\"standalone\"},{\"name\":\"ADJRSQ\",\"description\":\"Adjusted R-square\",\"type\":\"standalone\"},{\"name\":\"AADJRSQ\",\"description\":\"Amemiya’s adjusted R-square\",\"type\":\"standalone\"},{\"name\":\"RWRSQ\",\"description\":\"Random walk R-square\",\"type\":\"standalone\"},{\"name\":\"AIC\",\"description\":\"Akaike information criterion\",\"type\":\"standalone\"},{\"name\":\"AICC\",\"description\":\"Finite sample corrected AIC\",\"type\":\"standalone\"},{\"name\":\"SBC\",\"description\":\"Schwarz Bayesian information criterion\",\"type\":\"standalone\"},{\"name\":\"APC\",\"description\":\"Amemiya’s prediction criterion\",\"type\":\"standalone\"},{\"name\":\"MAPES\",\"description\":\"Mean absolute error percent of standard deviation\",\"type\":\"standalone\"},{\"name\":\"MDAPES\",\"description\":\"Median absolute error percent of standard deviation\",\"type\":\"standalone\"},{\"name\":\"GMAPES\",\"description\":\"Geometric mean absolute error percent of standard deviation\",\"type\":\"standalone\"}]},{\"name\":\"HOLDOUT=\",\"optional\":true,\"description\":\"Specifies the size of the holdout sample to be used for model selection. The holdout sample is a subset of actual time series that ends at the last nonmissing observation. The default is zero (no holdout sample).\",\"help\":\"HOLDOUT=*n*\",\"type\":\"value\"},{\"name\":\"HOLDOUTPCT=\",\"optional\":true,\"description\":\"Specifies the size of the holdout sample as a percentage of the length of the time series.\",\"help\":\"HOLDOUTPCT=*number*\",\"type\":\"value\"}]},{\"name\":\"SPECIFICATION\",\"aliases\":[\"SPEC\"],\"description\":\"The SPECIFICATION statement is used to list model specifications. There can be any number of models specifications in the list and any number of SPECIFICATION statements.\",\"help\":\"SPECIFICATION &lt;EVENTMAP ( symbol= _NONE_ EVENT= eventDef &lt;NODIFF&gt; )&gt;&lt;EXMMAP&gt;&lt;PREDICT=var&gt; ...\",\"arguments\":[{\"name\":\"EVENTMAP\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Syntax: EVENTMAP ( symbol= _NONE_ EVENT= eventDef <NODIFF> ) EVENTMAP ( symbol= string EVENT= eventDef ) Associates events with a model specification.\",\"type\":\"standalone\"},{\"name\":\"EXMFUNC\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Associates an external model specification with a user-defined subroutine.\",\"type\":\"standalone\"},{\"name\":\"EXMMAP\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Associates an external model specification with variable names in a DATA= data set, thus identifying the source of forecasts and optionally prediction standard errors, and the lower and upper confidence limits.\",\"help\":\"EXMMAP(options) \",\"type\":\"standalone\"},{\"name\":\"INPUTMAP\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Associates the symbols in a model specification with variable names in a DATA= data set.\",\"type\":\"standalone\"},{\"name\":\"LABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Overrides the label in the model specification and causes the new label to print in the model selection list in the HPFENGINE procedure. This option is useful if you have the same model specification listed more than once and want to distinguish between them in the HPFENGINE procedure output.\",\"help\":\"LABEL=*SAS-label*\",\"type\":\"value\"},{\"name\":\"LOWER=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Identifies the variable to supply the lower confidence limit.\",\"help\":\"LOWER=*var*\",\"type\":\"value\"},{\"name\":\"PREDICT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Identifies the variable to supply forecasts and is required.\",\"help\":\"PREDICT=*var*\",\"type\":\"value\"},{\"name\":\"STDERR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Identifies the variable to supply the prediction standard error.\",\"help\":\"STDERR=*var*\",\"type\":\"value\"},{\"name\":\"UPPER=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Identifies the variable to supply the upper confidence limit.\",\"help\":\"UPPER=*var*\",\"type\":\"value\"}]}],\"supportSiteInformation\":{\"docsetId\":\"hpfug\",\"docsetVersion\":\"latest\",\"docsetTargetFile\":\"hpfug_hpfselect_toc.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/HPFTEMPRECON.json",
    "content": "{\"name\":\"HPFTEMPRECON\",\"statements\":[{\"name\":\"PROC HPFTEMPRECON\",\"description\":\"The following options can be used in the PROC statement\",\"help\":\"PROC HPFTEMPRECON <options>;                 \\n\\tBY variables< /options>;                 \\n\\n\\tBENCHID variableINTERVAL= interval< /options>;                 \\n\\n\\tID variable INTERVAL= interval< /options>;                 \\n\\n\\tRECONCILE indicator<=benchmark></options>;                 \\n\",\"arguments\":[{\"name\":\"ACCDATA=\",\"optional\":true,\"description\":\"specifies the name of the SAS data set that contains the BENCHACCUMULATION= option for each dependent variable listed in the _NAME_ variable\",\"help\":\"ACCDATA=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"BENCHDATA=\",\"optional\":true,\"description\":\"specifies the name of the SAS data set that contains the low-frequency series (benchmarks)\",\"help\":\"BENCHDATA=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"DATA=\",\"optional\":true,\"description\":\"specifies the name of the SAS data set that contains the high-frequency series\",\"help\":\"DATA=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"BENCHDIFF\",\"optional\":true,\"description\":\"specifies that the OUTFOR= data sets contain a variable named BENCHDIFF which is the difference between the reconciled predicted value and the input predicted value\",\"type\":\"standalone\"},{\"name\":\"OUTFOR=\",\"optional\":true,\"description\":\"names the output SAS data set to contain the reconciled values\",\"help\":\"OUTFOR=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"OUTPROCINFO=\",\"optional\":true,\"description\":\"names the output data set to contain the summary information of the processing done by PROC HPFTEMPRECON\",\"help\":\"OUTPROCINFO=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"OUTSTAT=\",\"optional\":true,\"description\":\"names the output data set to contain the statistics of fit (or goodness-of-fit statistics)\",\"help\":\"OUTSTAT=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"BENCHACCUMULATION=\",\"optional\":true,\"description\":\"specifies how the data of the high-frequency series is accumulated within each BENCHID time period of the low-frequency series\",\"help\":\"BENCHACCUMULATION=TOTAL | AVERAGE | AVG\",\"type\":\"choice\"},{\"name\":\"BIASCORRECTION=\",\"optional\":true,\"aliases\":[\"BIAS=\"],\"description\":\"specifies the type of bias correction to apply to the indicator series\",\"help\":\"BIASCORRECTION=NONE | ADDITIVE | MULTIPLICATIVE\",\"type\":\"choice\"},{\"name\":\"BENCHCONS=\",\"optional\":true,\"description\":\"specifies whether the full range of the data in the DATA= data set or only the range covered by the data in BENCHDATA= should be used in the reconciliation process. The default is BENCHCONS=NOSTRICT, which corresponds to all data being used.\",\"help\":\"BENCHCONS=STRICT | NOSTRICT\",\"type\":\"choice\"},{\"name\":\"MAXITER=\",\"optional\":true,\"description\":\"specifies the maximum number of iterations performed by the quadratic solver\",\"help\":\"MAXITER=*k*\",\"type\":\"value\"},{\"name\":\"PREDICTONLY\",\"optional\":true,\"description\":\"specifies that only the predicted value be modified\",\"type\":\"standalone\"},{\"name\":\"SCALEEXP=\",\"optional\":true,\"aliases\":[\"EXP=\"],\"description\":\"specifies the value of the exponent of the scaling factor\",\"help\":\"SCALEEXP=*n*\",\"type\":\"value\"},{\"name\":\"SIGN=\",\"optional\":true,\"description\":\"specifies the sign constraint on the reconciled series\",\"help\":\"SIGN=MIXED | NONNEGATIVE | POSITIVE | NONPOSITIVE | NEGATIVE\",\"type\":\"choice\"},{\"name\":\"SMOOTH=\",\"optional\":true,\"description\":\"specifies the value of the autoregressive smoothing parameter\",\"help\":\"SMOOTH=*n*\",\"type\":\"value\"}]},{\"name\":\"BY\",\"description\":\"A BY statement can be used with PROC to obtain separate analyses for groups of observations defined by the BY variables\",\"help\":\"BY *variables*;                                              \"},{\"name\":\"BENCHID\",\"description\":\"names a numeric variable that identifies observations in the BENCHDATA= data set\",\"help\":\"BENCHID *variable*&lt;*options*&gt;;                                              \",\"arguments\":[{\"name\":\"ALIGN=\",\"optional\":true,\"description\":\"controls the alignment of SAS dates used to identify output observations\",\"help\":\"ALIGN=BEGINNING | BEG | B | MIDDLE | MID | M | ENDING | END | E\",\"type\":\"choice\"},{\"name\":\"END=\",\"optional\":true,\"description\":\"specifies a SAS date, datetime, or time value that represents the end of the data\",\"help\":\"END=*value*\",\"type\":\"value\"},{\"name\":\"FORMAT=\",\"optional\":true,\"description\":\"specifies a SAS format used for the DATE variable in the output data sets\",\"help\":\"FORMAT=*SAS-format*\",\"type\":\"value\"},{\"name\":\"INTERVAL=\",\"optional\":true,\"description\":\"specifies the frequency of the low-frequency time series\",\"help\":\"INTERVAL=*interval*\",\"type\":\"value\"},{\"name\":\"SETMISSING=\",\"optional\":true,\"description\":\"specifies how missing values are assigned in the time series of low-frequency forecasts\",\"help\":\"SETMISSING=MISSING | AVERAGE | AVG | MINIMUM | MIN | MEDIAN | MED | MAXIMUM | MAX | FIRST | LAST | PREVIOUS | PREV | NEXT | *number*\",\"type\":\"value\"},{\"name\":\"START=\",\"optional\":true,\"description\":\"specifies a SAS date, datetime, or time value that represents the beginning of the data\",\"help\":\"START=*value*\",\"type\":\"value\"},{\"name\":\"TRIMMISS=\",\"optional\":true,\"description\":\"specifies how missing values are trimmed from the time series of low-frequency forecasts\",\"help\":\"TRIMMISS=NONE | LEFT | RIGHT | BOTH\",\"type\":\"choice\"},{\"name\":\"ZEROMISS=\",\"optional\":true,\"description\":\"specifies how leading and trailing zero values are interpreted in the time series of low-frequency forecasts\",\"help\":\"ZEROMISS=NONE | LEFT | RIGHT | BOTH\",\"type\":\"choice\"}]},{\"name\":\"ID\",\"description\":\"names a numeric variable that identifies observations in the input and output data sets for the high-frequency series in the DATA= data set and the reconciled series in the OUTFOR= data set\",\"help\":\"ID *variable*&lt;*options*&gt;;                                              \",\"arguments\":[{\"name\":\"ALIGN=\",\"optional\":true,\"description\":\"controls the alignment of SAS dates used to identify output observations\",\"help\":\"ALIGN=BEGINNING | BEG | B | MIDDLE | MID | M | ENDING | END | E\",\"type\":\"choice\"},{\"name\":\"END=\",\"optional\":true,\"description\":\"specifies a SAS date, datetime, or time value that represents the end of the data\",\"help\":\"END=*value*\",\"type\":\"value\"},{\"name\":\"FORMAT=\",\"optional\":true,\"description\":\"specifies a SAS format used for the DATE variable in the output data sets\",\"help\":\"FORMAT=*SAS-format*\",\"type\":\"value\"},{\"name\":\"INTERVAL=\",\"optional\":true,\"description\":\"specifies the frequency of the indicator time series\",\"help\":\"INTERVAL=*interval*\",\"type\":\"value\"},{\"name\":\"SETMISSING=\",\"optional\":true,\"description\":\"specifies how missing values are assigned in the time series of high-frequency forecasts\",\"help\":\"SETMISSING=MISSING | AVERAGE | AVG | MINIMUM | MIN | MEDIAN | MED | MAXIMUM | MAX | FIRST | LAST | PREVIOUS | PREV | NEXT | *number*\",\"type\":\"value\"},{\"name\":\"START=\",\"optional\":true,\"description\":\"specifies a SAS date, datetime, or time value that represents the beginning of the data\",\"help\":\"START=*value*\",\"type\":\"value\"},{\"name\":\"TRIMMISS=\",\"optional\":true,\"description\":\"specifies how missing values are trimmed from the time series of high-frequency forecasts\",\"help\":\"TRIMMISS=NONE | LEFT | RIGHT | BOTH\",\"type\":\"choice\"},{\"name\":\"ZEROMISS=\",\"optional\":true,\"description\":\"specifies how leading and trailing zero values are interpreted in the time series of high-frequency forecasts\",\"help\":\"ZEROMISS=NONE | LEFT | RIGHT | BOTH\",\"type\":\"choice\"}]},{\"name\":\"RECONCILE\",\"description\":\"enables you to specify custom names for a group of variables to be reconciled and identify the role each of those variables plays in the reconciliation process\",\"help\":\"RECONCILE *indicator*&lt;= *benchmark*&gt;&lt;/*options*&gt;;                                              \",\"arguments\":[{\"name\":\"ACTUAL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the name of the variable in the DATA= data set that contains the actual values\",\"help\":\"ACTUAL=*variable-name* \",\"type\":\"value\"},{\"name\":\"LOWER=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the name of the variable in the DATA= data set that contains the lower confidence limit values\",\"help\":\"LOWER=*variable-name*\",\"type\":\"value\"},{\"name\":\"UPPER=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the name of the variable in the DATA= data set that contains the upper confidence limit values\",\"help\":\"UPPER=*variable-name*\",\"type\":\"value\"},{\"name\":\"STD=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the name of the variable in the DATA= data set that contains the standard error values\",\"help\":\"STD=*variable-name*\",\"type\":\"value\"}]}],\"supportSiteInformation\":{\"docsetId\":\"hpfug\",\"docsetVersion\":\"v_004\",\"docsetTargetFile\":\"hpfug_hpftemprecon_toc.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/HPFUCMSPEC.json",
    "content": "{\"name\":\"HPFUCMSPEC\",\"statements\":[{\"name\":\"PROC HPFUCMSPEC\",\"description\":\"The HPFUCMSPEC procedure is used to create an unobserved component model (UCM) specification file. The output of this procedure is an XML file that stores the intended UCM specification. This XML specification file can be used for different purposes—for example, it can be used to populate the model repository used by the HPFENGINE procedure (see Chapter 5, The HPFENGINE Procedure ). You can specify any UCM that can be analyzed by using the UCM procedure; see Chapter 29, The UCM Procedure (SAS/ETS User's Guide). Moreover, the model specification can include series transformations such as or Box-Cox transformations. Apart from minor modifications to accommodate series transformations, the model specification syntax of the HPFUCMSPEC procedure is similar to that of the UCM procedure.\",\"help\":\"PROC HPFUCMSPEC <LABEL=SAS-label><NAME=SAS-name><REPOSITORY=SAS-catalog-name | SAS-file-reference>;     \\n\\tAUTOREG <NOEST=<RHO | VARIANCE>><RHO=value><VARIANCE=value> ...;\\n\\n\\tBLOCKSEASON <BLOCKSIZE=<RHO | VARIANCE>><NBLOCKS=integer><NOEST> ...;\\n\\n\\tCYCLE <NOEST=<PERIOD | RHO | VARIANCE>><PERIOD=value><RHO=value> ...;\\n\\n\\tDEPLAG <LAGS=order><NOEST><PHI=value ...> ...;\\n\\n\\tFORECAST <(SYMBOL|VAR)= variable><TRANSFORM=<NONE | LOG | SQRT>... > ;\\n\\n\\tINPUT <DELAY=order><DIF=order | ( order1, order2, ...)><PREDEFINED=<LINEAR | QUADRATIC | CUBIC>... > ...;\\n\\n\\tIRREGULAR <NOEST><VARIANCE=value> ;\\n\\n\\tLEVEL <NOEST><VARIANCE=value> ;\\n\\n\\tSEASON <LENGTH=integer><NOEST><TYPE=<DUMMY | TRIG>> ...;\\n\\n\\tSLOPE <NOEST><VARIANCE=value> ;\\n\",\"arguments\":[{\"name\":\"LABEL=\",\"optional\":true,\"aliases\":[\"SPECLABEL=\"],\"description\":\"Specifies a descriptive label for the model specification to be stored in the SAS catalog or external file reference.\",\"help\":\"LABEL=*SAS-label*\",\"type\":\"value\"},{\"name\":\"NAME=\",\"optional\":true,\"aliases\":[\"SPECNAME=\"],\"description\":\"Names the model specification to be stored in the SAS catalog or external file reference.\",\"help\":\"NAME=*SAS-name*\",\"type\":\"value\"},{\"name\":\"REPOSITORY=\",\"optional\":true,\"aliases\":[\"MODELREPOSITORY=\",\"MODELREP=\",\"REP=\"],\"description\":\"Names the SAS catalog or external file reference to contain the model specification.\",\"type\":\"value\"}]},{\"name\":\"AUTOREG\",\"description\":\"The AUTOREG statement specifies an autoregressive component of the model.\",\"help\":\"AUTOREG &lt;NOEST=&lt;RHO | VARIANCE&gt;&gt;&lt;RHO=value&gt;&lt;VARIANCE=value&gt; ...\",\"arguments\":[{\"name\":\"NOEST=\",\"optional\":true,\"description\":\"Fixes the values to those specified in RHO= and VARIANCE= options.\",\"help\":\"NOEST=RHO | VARIANCE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"RHO\",\"description\":\"RHO\",\"type\":\"standalone\"},{\"name\":\"VARIANCE\",\"description\":\"VARIANCE\",\"type\":\"standalone\"}]},{\"name\":\"RHO=\",\"optional\":true,\"description\":\"Supplies an initial value for the damping factor during the parameter estimation process.\",\"help\":\"RHO=*value*\",\"type\":\"value\"},{\"name\":\"VARIANCE=\",\"optional\":true,\"description\":\"Supplies an initial value for the disturbance variance during the parameter estimation process.\",\"help\":\"VARIANCE=*value*\",\"type\":\"value\"}]},{\"name\":\"BLOCKSEASON\",\"description\":\"The BLOCKSEASON or BLOCKSEASONAL statement is used to specify a seasonal that has a special block structure.\",\"help\":\"BLOCKSEASON &lt;BLOCKSIZE=&lt;RHO | VARIANCE&gt;&gt;&lt;NBLOCKS=integer&gt;&lt;NOEST&gt; ...\",\"arguments\":[{\"name\":\"BLOCKSIZE=\",\"optional\":true,\"description\":\"Specifies the block size, m.\",\"help\":\"BLOCKSIZE=RHO | VARIANCE*integer*\",\"type\":\"value\",\"arguments\":[{\"name\":\"RHO\",\"description\":\"RHO\",\"type\":\"standalone\"},{\"name\":\"VARIANCE\",\"description\":\"VARIANCE\",\"type\":\"standalone\"}]},{\"name\":\"NBLOCKS=\",\"optional\":true,\"description\":\"Specifies the number of blocks, k.\",\"help\":\"NBLOCKS=*integer*\",\"type\":\"value\"},{\"name\":\"NOEST\",\"optional\":true,\"description\":\"Fixes the value of the disturbance variance parameter to the value specified in the VARIANCE= option.\",\"type\":\"standalone\"},{\"name\":\"OFFSET=\",\"optional\":true,\"description\":\"Specifies the position of the first measurement within the block, if the first measurement is not at the start of a block.\",\"help\":\"OFFSET=*integer*\",\"type\":\"value\"},{\"name\":\"TYPE=\",\"optional\":true,\"description\":\"Specifies the type of the seasonal component. The default type is DUMMY.\",\"help\":\"TYPE=DUMMY | TRIG\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DUMMY\",\"description\":\"DUMMY\",\"type\":\"standalone\"},{\"name\":\"TRIG\",\"description\":\"\",\"type\":\"standalone\"}]},{\"name\":\"VARIANCE=\",\"optional\":true,\"description\":\"Supplies an initial value for the disturbance variance in the equation, at the start of the parameter estimation process.\",\"help\":\"VARIANCE=*value*\",\"type\":\"value\"}]},{\"name\":\"CYCLE\",\"description\":\"The CYCLE statement is used to specify a cycle component in the model.\",\"help\":\"CYCLE &lt;NOEST=&lt;PERIOD | RHO | VARIANCE&gt;&gt;&lt;PERIOD=value&gt;&lt;RHO=value&gt; ...\",\"arguments\":[{\"name\":\"NOEST=\",\"optional\":true,\"description\":\"Fixes the values of the component parameters to those specified in the RHO=, PERIOD=, and VARIANCE= options.\",\"help\":\"NOEST=PERIOD | RHO | VARIANCE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"PERIOD\",\"description\":\"PERIOD\",\"type\":\"standalone\"},{\"name\":\"RHO\",\"description\":\"RHO\",\"type\":\"standalone\"},{\"name\":\"VARIANCE\",\"description\":\"VARIANCE\",\"type\":\"standalone\"}]},{\"name\":\"PERIOD=\",\"optional\":true,\"description\":\"Supplies an initial value for the cycle period during the parameter estimation process. Period value must be strictly larger than 2.\",\"help\":\"PERIOD=*value*\",\"type\":\"value\"},{\"name\":\"RHO=\",\"optional\":true,\"description\":\"Supplies an initial value for the damping factor in this component during the parameter estimation process. Any value in the interval (0, 1), including one but excluding zero, is an acceptable initial value for the damping factor.\",\"help\":\"RHO=*value*\",\"type\":\"value\"},{\"name\":\"VARIANCE=\",\"optional\":true,\"description\":\"Supplies an initial value for the disturbance variance parameter to be used during the parameter estimation process. Any nonnegative value, including zero, is an acceptable starting value.\",\"help\":\"VARIANCE=*value*\",\"type\":\"value\"}]},{\"name\":\"DEPLAG\",\"description\":\"The DEPLAG statement is used to specify the lags of the forecast variable to be included as predictors in the model.\",\"help\":\"DEPLAG &lt;LAGS=order&gt;&lt;NOEST&gt;&lt;PHI=value ...&gt; ...\",\"arguments\":[{\"name\":\"LAGS=\",\"optional\":true,\"description\":\"Syntax: LAGS=order LAGS=(lag, ..., lag ) ...(lag, ..., lag ) LAGS=(lag, ..., lag )<s1> ...(lag, ..., lag )<sk> Defines a model with specified lags. This is a required option in this statement.\",\"help\":\"LAGS=*order*\",\"type\":\"value\"},{\"name\":\"NOEST\",\"optional\":true,\"description\":\"Fixes the values of the parameters to those specified in PHI= options.\",\"type\":\"standalone\"},{\"name\":\"PHI=\",\"optional\":true,\"description\":\"Lists starting values for the coefficients of the lagged forecast variable.\",\"type\":\"value\"}]},{\"name\":\"FORECAST\",\"description\":\"The FORECAST statement specifies the symbolic name that represents the series to be forecast and also specifies an optional transformation to be applied to the series. The symbolic name is used in later steps to associate actual time series variables with the model specification when the specification is applied to data.\",\"help\":\"FORECAST &lt;(SYMBOL|VAR)= variable&gt;&lt;TRANSFORM=&lt;NONE | LOG | SQRT&gt;... &gt;\",\"arguments\":[{\"name\":\"SYMBOL=\",\"optional\":true,\"aliases\":[\"VAR=\"],\"description\":\"Specifies a symbolic name for the forecast series. This symbol specification is optional. If the SYMBOL= option is not specified, Y is used as a default symbol.\",\"type\":\"value\"},{\"name\":\"TRANSFORM=\",\"optional\":true,\"description\":\"Specifies the transformation to be applied to the time series.\",\"help\":\"TRANSFORM=NONE | LOG | SQRT | LOGISTIC | BOXCOX\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NONE\",\"description\":\"No transformation\",\"type\":\"standalone\"},{\"name\":\"LOG\",\"description\":\"Logarithmic transformation\",\"type\":\"standalone\"},{\"name\":\"SQRT\",\"description\":\"Square-root transformation\",\"type\":\"standalone\"},{\"name\":\"LOGISTIC\",\"description\":\"Logistic transformation\",\"type\":\"standalone\"},{\"name\":\"BOXCOX\",\"description\":\"Box-Cox transformation with parameter number where number is between –5 and 5\",\"type\":\"standalone\"}]}]},{\"name\":\"INPUT\",\"description\":\"The INPUT statements specify the inputs in the model. A separate INPUT statement is needed for each of the inputs. In this statement you can specify the delay order, the differencing orders, and the Box-Cox type transformations associated with the input variable under consideration.\",\"help\":\"INPUT &lt;DELAY=order&gt;&lt;DIF=order | ( order1, order2, ...)&gt;&lt;PREDEFINED=&lt;LINEAR | QUADRATIC | CUBIC&gt;... &gt; ...\",\"arguments\":[{\"name\":\"DELAY=\",\"optional\":true,\"description\":\"Specifies the delay (or lag) order for the input series.\",\"help\":\"DELAY=*order*\",\"type\":\"value\"},{\"name\":\"DIF=\",\"optional\":true,\"description\":\"Specifies the differencing orders for the input series.\",\"type\":\"value\"},{\"name\":\"PREDEFINED=\",\"optional\":true,\"description\":\"Associates a predefined trend or a set of seasonal dummy variables with this transfer function.\",\"help\":\"PREDEFINED=LINEAR | QUADRATIC | CUBIC | INVERSE | SEASONAL*option*\",\"type\":\"value\",\"arguments\":[{\"name\":\"LINEAR\",\"description\":\"Linear trend\",\"type\":\"standalone\"},{\"name\":\"QUADRATIC\",\"description\":\"Quadratic trend\",\"type\":\"standalone\"},{\"name\":\"CUBIC\",\"description\":\"Cubic trend\",\"type\":\"standalone\"},{\"name\":\"INVERSE\",\"description\":\"Inverse trend\",\"type\":\"standalone\"},{\"name\":\"SEASONAL\",\"description\":\"Seasonal dummy variables\",\"type\":\"standalone\"}]},{\"name\":\"SYMBOL=\",\"optional\":true,\"aliases\":[\"VAR=\"],\"description\":\"Specifies a symbolic name for the input series. This symbol specification is optional.\",\"type\":\"value\"},{\"name\":\"TRANSFORM=\",\"optional\":true,\"description\":\"Associates a predefined trend or a set of seasonal dummy variables with this transfer function.\",\"help\":\"TRANSFORM=NONE | LOG | SQRT | LOGISTIC | BOXCOX*option*\",\"type\":\"value\",\"arguments\":[{\"name\":\"NONE\",\"description\":\"No transformation\",\"type\":\"standalone\"},{\"name\":\"LOG\",\"description\":\"Logarithmic transformation\",\"type\":\"standalone\"},{\"name\":\"SQRT\",\"description\":\"Square-root transformation\",\"type\":\"standalone\"},{\"name\":\"LOGISTIC\",\"description\":\"Logistic transformation\",\"type\":\"standalone\"},{\"name\":\"BOXCOX\",\"description\":\"Box-Cox transformation with parameter number where number is between –5 and 5\",\"type\":\"standalone\"}]}]},{\"name\":\"IRREGULAR\",\"description\":\"The IRREGULAR statement is used to include an irregular component in the model. There can be at most one IRREGULAR statement in the model specification.\",\"help\":\"IRREGULAR &lt;NOEST&gt;&lt;VARIANCE=value&gt;\",\"arguments\":[{\"name\":\"NOEST\",\"optional\":true,\"description\":\"Fixes the value to the value specified in the VARIANCE= option.\",\"type\":\"standalone\"},{\"name\":\"VARIANCE=\",\"optional\":true,\"description\":\"Supplies an initial value for during the parameter estimation process. Any nonnegative value, including zero, is an acceptable starting value.\",\"help\":\"VARIANCE=*value*\",\"type\":\"value\"}]},{\"name\":\"LEVEL\",\"description\":\"The LEVEL statement is used to include a level component in the model.\",\"help\":\"LEVEL &lt;NOEST&gt;&lt;VARIANCE=value&gt;\",\"arguments\":[{\"name\":\"NOEST\",\"optional\":true,\"description\":\"Fixes the value to the value specified in the VARIANCE= option.\",\"type\":\"standalone\"},{\"name\":\"VARIANCE=\",\"optional\":true,\"description\":\"Supplies an initial value for the disturbance variance in the equation, at the start of the parameter estimation process. Any nonnegative value, including zero, is an acceptable starting value.\",\"help\":\"VARIANCE=*value*\",\"type\":\"value\"}]},{\"name\":\"SEASON\",\"aliases\":[\"SEASONAL\"],\"description\":\"The SEASON or the SEASONAL statement is used to specify a seasonal component in the model.\",\"help\":\"SEASON &lt;LENGTH=integer&gt;&lt;NOEST&gt;&lt;TYPE=&lt;DUMMY | TRIG&gt;&gt; ...\",\"arguments\":[{\"name\":\"LENGTH=\",\"optional\":true,\"description\":\"This option is used to specify the season length s.\",\"help\":\"LENGTH=*integer*\",\"type\":\"value\"},{\"name\":\"NOEST\",\"optional\":true,\"description\":\"Fixes the value of the disturbance variance parameter to the value specified in the VARIANCE= option.\",\"type\":\"standalone\"},{\"name\":\"TYPE=\",\"optional\":true,\"description\":\"Specifies the type of the seasonal component. The default type is DUMMY.\",\"help\":\"TYPE=DUMMY | TRIG\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DUMMY\",\"description\":\"DUMMY\",\"type\":\"standalone\"},{\"name\":\"TRIG\",\"description\":\"TRIG\",\"type\":\"standalone\"}]},{\"name\":\"VARIANCE=\",\"optional\":true,\"description\":\"Supplies an initial value for the disturbance variance in the equation, at the start of the parameter estimation process. Any nonnegative value, including zero, is an acceptable starting value.\",\"help\":\"VARIANCE=*value*\",\"type\":\"value\"}]},{\"name\":\"SLOPE\",\"description\":\"The SLOPE statement is used to include a slope component in the model.\",\"help\":\"SLOPE &lt;NOEST&gt;&lt;VARIANCE=value&gt;\",\"arguments\":[{\"name\":\"NOEST\",\"optional\":true,\"description\":\"Fixes the value of the disturbance variance to the value specified in the VARIANCE= option.\",\"type\":\"standalone\"},{\"name\":\"VARIANCE=\",\"optional\":true,\"description\":\"Supplies an initial value for the disturbance variance in the equation, at the start of the parameter estimation process. Any nonnegative value, including zero, is an acceptable starting value.\",\"help\":\"VARIANCE=*value*\",\"type\":\"value\"}]}],\"supportSiteInformation\":{\"docsetId\":\"hpfug\",\"docsetVersion\":\"latest\",\"docsetTargetFile\":\"hpfug_hpfucmspec_toc.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/HPGENSELECT.json",
    "content": "{\"name\":\"HPGENSELECT\",\"statements\":[{\"name\":\"PROC HPGENSELECT\",\"description\":\"The HPGENSELECT procedure is a high-performance procedure that fits generalized linear models on the SAS appliance. † The HPGENSELECT procedure fits a broader class of regression models than exponential family generalized linear models; the procedure permits several link functions and can handle zero-modified models for count data as well as ordinal and nominal data with more than two response categories (multinomial data). † With the HPGENSELECT procedure you can read and write data in distributed form and perform analyses in parallel in symmetric multiprocessing (SMP) or massively parallel processing (MPP) mode.\",\"help\":\"PROC HPGENSELECT <ABSCONV= | ABSTOL=r><ABSFCONV=r<n> | ABSFTOL=r<n>><ABSGCONV=r<n> | ABSGTOL=r<n>><ALPHA=number><CORR><COV><DATA=SAS-data-set><FCONV=r | FTOL=r><FMTLIBXML=file-ref><GCONV=r | GTOL=r><ITDETAILS><ITSELECT><MAXFUNC=n | MAXFU=n><MAXITER=n | MAXIT=n><MAXTIME=r><MINITER=n | MINIT=n><NAMELEN=number><NOCLPRINT< =number >><NOPRINT><NORMALIZE=YES | NO><NOSTDERR><SINGCHOL=number><SINGSWEEP=number><SINGULAR=number><TECHNIQUE=CONGRA | DBLDOG | NMSIMP... >;     \\n\\tCLASS <UPCASE> ;\\n\\n\\tCODE <CATALOG=library.catalog.entry.type><DUMMIES><NODUMMIES> ...;\\n\\n\\tFREQ variable ;\\n\\n\\tID variables ;\\n\\n\\tMODEL <DESCENDING><EVENT=><ORDER=> ...;\\n\\n\\tOUTPUT ADJPEARSON | ADJPEARS | STDRESCHI < =name > LINP | XBETA < =name > OUT=SAS-data-set ...;\\n\\n\\tPERFORMANCE <COMMIT=n><CPUCOUNT=<ACTUAL | <num>>><DATASERVER=“name”> ...;\\n\\n\\tSELECTION <DETAILS=<SUMMARY | STEPS | ALL>><METHOD=<NONE | FORWARD | BACKWARD>... > ;\\n\\n\\tWEIGHT variable ;\\n\\n\\tZEROMODEL <INCLUDE=n><LINK=<CLOGLOG|CLL | LOGIT | LOGLOG>... ><START=n> ...;\\n\",\"arguments\":[{\"name\":\"ABSCONV=\",\"optional\":true,\"aliases\":[\"ABSTOL=\"],\"description\":\"Specifies an absolute function convergence criterion.\",\"type\":\"value\"},{\"name\":\"ABSFCONV=\",\"optional\":true,\"aliases\":[\"ABSFTOL=\"],\"description\":\"Specifies an absolute function difference convergence criterion.\",\"type\":\"value\"},{\"name\":\"ABSGCONV=\",\"optional\":true,\"aliases\":[\"ABSGTOL=\"],\"description\":\"Specifies an absolute gradient convergence criterion. Termination requires the maximum absolute gradient element to be small.\",\"type\":\"value\"},{\"name\":\"ALPHA=\",\"optional\":true,\"description\":\"Specifies a global significance level for the construction of confidence intervals. The confidence level is 1–number. The value of number must be between 0 and 1; the default is 0.05. You can override the global specification with the ALPHA= option in the MODEL statement.\",\"help\":\"ALPHA=*number*\",\"type\":\"value\"},{\"name\":\"CORR\",\"optional\":true,\"description\":\"Creates the “Parameter Estimates Correlation Matrix” table.\",\"type\":\"standalone\"},{\"name\":\"COV\",\"optional\":true,\"description\":\"Creates the “Parameter Estimates Covariance Matrix” table. The covariance matrix is computed as the inverse of the negative of the matrix of second derivatives of the log-likelihood function with respect to the model parameters (the Hessian matrix).\",\"type\":\"standalone\"},{\"name\":\"DATA=\",\"optional\":true,\"description\":\"Names the input SAS data set for PROC HPGENSELECT to use. The default is the most recently created data set.\",\"help\":\"DATA=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"FCONV=\",\"optional\":true,\"aliases\":[\"FTOL=\"],\"description\":\"Specifies a relative function difference convergence criterion.\",\"type\":\"value\"},{\"name\":\"FMTLIBXML=\",\"optional\":true,\"description\":\"Specifies the file reference for the XML stream that contains the user-defined format definitions. Userdefined formats are handled differently in a distributed computing environment compared to other SAS products.\",\"help\":\"FMTLIBXML=*file-ref*\",\"type\":\"value\"},{\"name\":\"GCONV=\",\"optional\":true,\"aliases\":[\"GTOL=\"],\"description\":\"Specifies the relative gradient convergence criterion.\",\"type\":\"value\"},{\"name\":\"ITDETAILS\",\"optional\":true,\"description\":\"Adds to the “Iteration History” table the current values of the parameter estimates and their gradients. These quantities are reported only for parameters that participate in the optimization. The ITDETAILS option is not available with model selection.\",\"type\":\"standalone\"},{\"name\":\"ITSELECT\",\"optional\":true,\"description\":\"Generates the “Iteration History” table when you perform a model selection.\",\"type\":\"standalone\"},{\"name\":\"MAXFUNC=\",\"optional\":true,\"aliases\":[\"MAXFU=\"],\"description\":\"Specifies the maximum number n of function calls in the optimization process. The default values are as follows, depending on the optimization technique:\",\"type\":\"value\"},{\"name\":\"MAXITER=\",\"optional\":true,\"aliases\":[\"MAXIT=\"],\"description\":\"specifies the maximum number n of iterations in the optimization process. The default values are as follows, depending on the optimization technique: • TRUREG, NRRIDG, NEWRAP: 50 • QUANEW, DBLDOG: 200 • CONGRA: 400 • NMSIMP: 1,000\",\"type\":\"value\"},{\"name\":\"MAXTIME=\",\"optional\":true,\"description\":\"Specifies an upper limit of r seconds of CPU time for the optimization process. The default value is the largest floating-point double representation of your computer. The time specified by the MAXTIME= option is checked only once at the end of each iteration. Therefore, the actual running time can be longer than that specified by the MAXTIME= option.\",\"help\":\"MAXTIME=*r*\",\"type\":\"value\"},{\"name\":\"MINITER=\",\"optional\":true,\"aliases\":[\"MINIT=\"],\"description\":\"Specifies the minimum number of iterations. The default value is 0. If you request more iterations than are actually needed for convergence to a stationary point, the optimization algorithms can behave strangely. For example, the effect of rounding errors can prevent the algorithm from continuing for the required number of iterations.\",\"type\":\"value\"},{\"name\":\"NAMELEN=\",\"optional\":true,\"description\":\"Specifies the length to which long effect names are shortened. The default and minimum value is 20.\",\"help\":\"NAMELEN=*number*\",\"type\":\"value\"},{\"name\":\"NOCLPRINT\",\"optional\":true,\"description\":\"Suppresses the display of the “Class Level Information” table if you do not specify number. If you specify number, the values of the classification variables are displayed for only those variables whose number of levels is less than number. Specifying a number helps to reduce the size of the “Class Level Information” table if some classification variables have a large number of levels.\",\"type\":\"standalone\"},{\"name\":\"NOPRINT\",\"optional\":true,\"description\":\"Suppresses the generation of ODS output.\",\"type\":\"standalone\"},{\"name\":\"NORMALIZE=\",\"optional\":true,\"description\":\"Specifies whether the objective function should be normalized during the optimization by the reciprocal of the used frequency count. The default is to normalize the objective function. This option affects the values reported in the “Iteration History” table. The results reported in the “Fit Statistics” are always displayed for the nonnormalized log-likelihood function.\",\"help\":\"NORMALIZE=YES | NO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YES\",\"description\":\"Specifies that the objective function should be normalized during the optimization by the reciprocal of the used frequency count. This is the default.\",\"type\":\"standalone\"},{\"name\":\"NO\",\"description\":\"Specifies that the objective function should not be normalized during the optimization by the reciprocal of the used frequency count.\",\"type\":\"standalone\"}]},{\"name\":\"NOSTDERR\",\"optional\":true,\"description\":\"Suppresses the computation of the covariance matrix and the standard errors of the logistic regression coefficients. When the model contains many variables (thousands), the inversion of the Hessian matrix to derive the covariance matrix and the standard errors of the regression coefficients can be time -consuming.\",\"type\":\"standalone\"},{\"name\":\"SINGCHOL=\",\"optional\":true,\"description\":\"Tunes the singularity criterion in Cholesky decompositions. The default is 1E4 times the machine epsilon; this product is approximately 1E-12 on most computers.\",\"help\":\"SINGCHOL=*number*\",\"type\":\"value\"},{\"name\":\"SINGSWEEP=\",\"optional\":true,\"description\":\"Tunes the singularity criterion for sweep operations. The default is 1E4 times the machine epsilon; this product is approximately 1E-12 on most computers.\",\"help\":\"SINGSWEEP=*number*\",\"type\":\"value\"},{\"name\":\"SINGULAR=\",\"optional\":true,\"description\":\"Tunes the general singularity criterion applied by the HPGENSELECT procedure in sweeps and inversions. The default is 1E4 times the machine epsilon; this product is approximately 1E-12 on most computers.\",\"help\":\"SINGULAR=*number*\",\"type\":\"value\"},{\"name\":\"TECHNIQUE=\",\"optional\":true,\"aliases\":[\"TECH=\",\"OMETHOD=\",\"OM=\"],\"description\":\"Specifies the optimization technique for obtaining maximum likelihood estimates.\",\"help\":\"TECHNIQUE=CONGRA | DBLDOG | NMSIMP | NEWRAP | NRRIDG | QUANEW | TRUREG | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"CONGRA\",\"description\":\"Performs a conjugate-gradient optimization.\",\"type\":\"standalone\"},{\"name\":\"DBLDOG\",\"description\":\"Performs a version of double-dogleg optimization.\",\"type\":\"standalone\"},{\"name\":\"NMSIMP\",\"description\":\"Performs a Nelder-Mead simplex optimization.\",\"type\":\"standalone\"},{\"name\":\"NEWRAP\",\"description\":\"Performs a Newton-Raphson optimization with line search.\",\"type\":\"standalone\"},{\"name\":\"NRRIDG\",\"description\":\"Performs a Newton-Raphson optimization with ridging.\",\"type\":\"standalone\"},{\"name\":\"QUANEW\",\"description\":\"Performs a dual quasi-Newton optimization.\",\"type\":\"standalone\"},{\"name\":\"TRUREG\",\"description\":\"Performs a trust-region optimization\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"Performs no optimization.\",\"type\":\"standalone\"}]}]},{\"name\":\"CLASS\",\"description\":\"The CLASS statement names the classification variables to be used as explanatory variables in the analysis. The CLASS statement must precede the MODEL statement. You can list the response variable for binary and multinomial models in the CLASS statement, but this is not necessary. The HPGENSELECT procedure additionally supports the following global-option in the CLASS statement: UPCASE uppercases the values of character-valued CLASS variables before levelizing them. For example, if the UPCASE option is in effect and a CLASS variable can take the values ‘a’, ‘A’, and ‘b’, then ‘a’ and ‘A’ represent the same level and the CLASS variable is treated as having only two values: ‘A’ and ‘B’.\",\"help\":\"CLASS &lt;UPCASE&gt;\",\"arguments\":[{\"name\":\"UPCASE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Uppercases the values of character-valued CLASS variables before levelizing them. For example, if the UPCASE option is in effect and a CLASS variable can take the values ‘a’, ‘A’, and ‘b’, then ‘a’ and ‘A’ represent the same level and the CLASS variable is treated as having only two values: ‘A’ and ‘B’.\",\"type\":\"standalone\"}]},{\"name\":\"CODE\",\"description\":\"The CODE statement enables you to write SAS DATA step code for computing predicted values of the fitted model either to a file or to a catalog entry. This code can then be included in a DATA step to score new data.\",\"help\":\"CODE &lt;CATALOG=library.catalog.entry.type&gt;&lt;DUMMIES&gt;&lt;NODUMMIES&gt; ...\",\"arguments\":[{\"name\":\"CATALOG=\",\"optional\":true,\"aliases\":[\"CAT=\"],\"description\":\"Syntax: CATALOG=library.catalog.entry.type CAT=library.catalog.entry.type Specifies where to write the generated code in the form of library.catalog.entry.type. The compound name can have from one to four levels. The default library is determined by the USER= SAS system option, which by default is WORK. The default entry is SASCODE, and the default type is SOURCE.\",\"type\":\"value\"},{\"name\":\"DUMMIES\",\"optional\":true,\"description\":\"Specifies to keep dummy variables that represent the CLASS levels in the data set. The default is NODUMMIES, which specifies that dummy variables not be retained.\",\"type\":\"standalone\"},{\"name\":\"ERROR\",\"optional\":true,\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"FILE=\",\"optional\":true,\"description\":\"Names the external file that saves the generated code. When enclosed in a quoted string (for example, FILE=\\\"c:nmydirnscorecode.sas\\\"), this option specifies the path for writing the code to an external file. You can also specify unquoted SAS filenames of no more than eight characters for filename. If the filename is assigned as a fileref in a Base SAS FILENAME statement, the file specified in the FILENAME statement is opened. The special filerefs LOG and PRINT are always assigned. If the specified filename is not an assigned fileref, the specified value for filename is concatenated with a .txt extension before the file is opened. For example, if FOO is not an assigned fileref, FILE=FOO causes FOO.txt to be opened. If filename has more than eight characters, an error message is printed.\",\"type\":\"value\"},{\"name\":\"FORMAT=\",\"optional\":true,\"description\":\"Specifies the format for the regression coefficients and other numerical values that do not have a format from the input data set. The default format is BEST20.\",\"help\":\"FORMAT=*format*\",\"type\":\"value\"},{\"name\":\"GROUP=\",\"optional\":true,\"description\":\"Specifies the group identifier for group processing. The group-name should be a valid SAS name of no more than 16 characters. It is used to construct array names and statement labels in the generated code.\",\"help\":\"GROUP=*group-name*\",\"type\":\"value\"},{\"name\":\"IMPUTE\",\"optional\":true,\"description\":\"Imputes the predicted values according to an intercept-only model for observations with missing or invalid covariate values. For a continuous response, the predicted value is the mean of the response variable; for a categorical response, the predicted values are the proportions of the response categories. When the IMPUTE option is specified, the scoring code also creates a variable named _WARN_ that contains one or more single-character codes that indicate problems in computing predicted values. The character codes used in _WARN_ go in the following positions:\",\"type\":\"standalone\"},{\"name\":\"LINESIZE=\",\"optional\":true,\"aliases\":[\"LS=\"],\"description\":\"Specifies the line size for the generated code. The default is 72. The permissible range is 64 to 254.\",\"type\":\"value\"},{\"name\":\"LOOKUP=\",\"optional\":true,\"description\":\"Specifies the algorithm for looking up CLASS levels. The default is LOOKUP=AUTO.\",\"help\":\"LOOKUP=AUTO | BINARY | LINEAR | SELECT*lookup-method*\",\"type\":\"value\",\"arguments\":[{\"name\":\"AUTO\",\"description\":\"Selects the LINEAR algorithm if a CLASS variable has fewer than five categories; otherwise, the BINARY algorithm is used. This is the default.\",\"type\":\"standalone\"},{\"name\":\"BINARY\",\"description\":\"Uses a binary search. This method is fast, but might produce incorrect results and the normalized category values might contain characters that collate in different orders in ASCII and EBCDIC, if you generate the code on an ASCII machine and execute the code on an EBCDIC machine or vice versa.\",\"type\":\"standalone\"},{\"name\":\"LINEAR\",\"description\":\"Uses a linear search with IF statements that have categories in the order of the class levels. This method is slow if there are many categories.\",\"type\":\"standalone\"},{\"name\":\"SELECT\",\"description\":\"Uses a SELECT statement.\",\"type\":\"standalone\"}]},{\"name\":\"NODUMMIES\",\"optional\":true,\"description\":\"Specifies that dummy variables not be retained.\",\"type\":\"standalone\"},{\"name\":\"NOERROR\",\"optional\":true,\"description\":\"The default is NOERROR, which specifies that the error function not be generated.\",\"type\":\"standalone\"},{\"name\":\"NORESIDUAL\",\"optional\":true,\"description\":\"The default is NORESIDUAL, which specifies that the code for residuals not be generated.\",\"type\":\"standalone\"},{\"name\":\"RESIDUAL\",\"optional\":true,\"description\":\"Specifies to generate code to compute residual values. If you request code for residuals and then score a data set that does not contain target values, the residuals will have missing values. The default is NORESIDUAL, which specifies that the code for residuals not be generated.\",\"type\":\"standalone\"}]},{\"name\":\"FREQ\",\"description\":\"The variable in the FREQ statement identifies a numeric variable in the data set that contains the frequency of occurrence for each observation. High-Performance Analytics procedures that support the FREQ statement treat each observation as if it appeared f times, where the frequency value f is the value of the FREQ variable for the observation. If f is not an integer, then f is truncated to an integer. If f is less than 1 or missing, the observation is not used in the analysis. When the FREQ statement is not specified, each observation is assigned a frequency of 1.\",\"help\":\"FREQ variable \"},{\"name\":\"ID\",\"description\":\"The ID statement lists one or more variables from the input data set that are to be transferred to output data sets created by High-Performance Analytics procedures, provided that the output data set produces one (or more) records per input observation.\",\"help\":\"ID variables \"},{\"name\":\"MODEL\",\"description\":\"The MODEL statement defines the statistical model in terms of a response variable (the target) or an events/trials specification, model effects constructed from variables in the input data set, and options. An intercept is included in the model by default. You can remove the intercept with the NOINT option.\",\"help\":\"MODEL &lt;DESCENDING&gt;&lt;EVENT=&gt;&lt;ORDER=&gt; ...\",\"arguments\":[{\"name\":\"ALPHA=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that confidence intervals for each of the parameters be constructed with confidence level 1–number. The value of number must be between 0 and 1; the default is 0.05.\",\"help\":\"ALPHA=*number*\",\"type\":\"value\"},{\"name\":\"CL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that confidence limits be constructed for each of the parameter estimates. The confidence level is 0.95 by default; this can be changed with the ALPHA= option.\",\"type\":\"standalone\"},{\"name\":\"DESCENDING\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"DESC\"],\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"DISPERSION=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"PHI=\"],\"description\":\"Specifies a fixed dispersion parameter for those distributions that have a dispersion parameter. The dispersion parameter used in all computations is fixed at number, and not estimated.\",\"help\":\"DISPERSION=*number*\",\"type\":\"value\"},{\"name\":\"DISTRIBUTION=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"DIST=\"],\"description\":\"Specifies the response distribution for the model.\",\"help\":\"DISTRIBUTION=BINARY | BINOMIAL | GAMMA | INVERSEGAUSSIAN | MULTINOMIAL | NEGATIVEBINOMIAL | NORMAL | POISSON | TWEEDIE | ZINB | ZIP\",\"type\":\"choice\",\"arguments\":[{\"name\":\"BINARY\",\"followsDelimiter\":\"/\",\"description\":\"Binary distribution\",\"type\":\"standalone\"},{\"name\":\"BINOMIAL\",\"followsDelimiter\":\"/\",\"description\":\"Binomial distribution\",\"type\":\"standalone\"},{\"name\":\"GAMMA\",\"followsDelimiter\":\"/\",\"description\":\"Gamma distribution\",\"type\":\"standalone\"},{\"name\":\"INVERSEGAUSSIAN\",\"followsDelimiter\":\"/\",\"aliases\":[\"IG\"],\"description\":\"Inverse Gaussian distribution\",\"type\":\"standalone\"},{\"name\":\"MULTINOMIAL\",\"followsDelimiter\":\"/\",\"aliases\":[\"MULT\"],\"description\":\"Multinomial distribution\",\"type\":\"standalone\"},{\"name\":\"NEGATIVEBINOMIAL\",\"followsDelimiter\":\"/\",\"aliases\":[\"NB\"],\"description\":\"Negative binomial distribution\",\"type\":\"standalone\"},{\"name\":\"NORMAL\",\"followsDelimiter\":\"/\",\"aliases\":[\"GAUSSIAN\"],\"description\":\"Normal distribution\",\"type\":\"standalone\"},{\"name\":\"POISSON\",\"followsDelimiter\":\"/\",\"description\":\"Poisson distribution\",\"type\":\"standalone\"},{\"name\":\"TWEEDIE\",\"followsDelimiter\":\"/\",\"description\":\"Tweedie distribution Syntax: TWEEDIE< (Tweedie options) > You can specify the following options for the Tweedie distribution: INITIALP= specifies a starting value for iterative estimation of the Tweedie power parameter. P= specifies a fixed Tweedie power parameter. SEED= specifies a seed for selecting a random sample of the data for computing starting values for Tweedie parameter estimation. TWEEDIEEQL | EQL requests that extended quasilikelihood be used instead of Tweedie log likelihood in parametrer estimation.\",\"type\":\"standalone\"},{\"name\":\"ZINB\",\"followsDelimiter\":\"/\",\"description\":\"Zero-inflated negative binomial distribution\",\"type\":\"standalone\"},{\"name\":\"ZIP\",\"followsDelimiter\":\"/\",\"description\":\"Zero-inflated Poisson distribution\",\"type\":\"standalone\"}]},{\"name\":\"EVENT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"\",\"type\":\"value\"},{\"name\":\"INCLUDE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Syntax: INCLUDE=n INCLUDE=single-effect INCLUDE=(effects) Forces effects to be included in all models. If you specify INCLUDE=n, then the first n effects that are listed in the MODEL statement are included in all models. If you specify INCLUDE=single-effect or if you specify a list of effects within parentheses, then the specified effects are forced into all models. The effects that you specify in the INCLUDE= option must be explanatory effects that are specified in the MODEL statement before the slash (/).\",\"help\":\"INCLUDE=*n*\",\"type\":\"value\"},{\"name\":\"INITIALPHI=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies a starting value for iterative maximum likelihood estimation of the dispersion parameter for those distributions that have a dispersion parameter.\",\"help\":\"INITIALPHI=*number*\",\"type\":\"value\"},{\"name\":\"LINK=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the link function for the model.\",\"help\":\"LINK=CLOGLOG | GLOGIT | IDENTITY | INV | INV2 | LOG | LOGIT | LOGLOG | PROBIT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"CLOGLOG\",\"followsDelimiter\":\"/\",\"aliases\":[\"CLL\"],\"description\":\"Complementary log-log function\",\"type\":\"standalone\"},{\"name\":\"GLOGIT\",\"followsDelimiter\":\"/\",\"aliases\":[\"GENLOGIT\"],\"description\":\"Generalized logit function\",\"type\":\"standalone\"},{\"name\":\"IDENTITY\",\"followsDelimiter\":\"/\",\"aliases\":[\"ID\"],\"description\":\"Identity function\",\"type\":\"standalone\"},{\"name\":\"INV\",\"followsDelimiter\":\"/\",\"aliases\":[\"RECIP\"],\"description\":\"Reciprocal function\",\"type\":\"standalone\"},{\"name\":\"INV2\",\"followsDelimiter\":\"/\",\"description\":\"Reciprocal square function\",\"type\":\"standalone\"},{\"name\":\"LOG\",\"followsDelimiter\":\"/\",\"description\":\"Logarithm function\",\"type\":\"standalone\"},{\"name\":\"LOGIT\",\"followsDelimiter\":\"/\",\"description\":\"Logit function\",\"type\":\"standalone\"},{\"name\":\"LOGLOG\",\"followsDelimiter\":\"/\",\"description\":\"Log-log function\",\"type\":\"standalone\"},{\"name\":\"PROBIT\",\"followsDelimiter\":\"/\",\"description\":\"Probit function.\",\"type\":\"standalone\"}]},{\"name\":\"NOINT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that no intercept be included in the model. An intercept is included by default. The NOINT option is not available in multinomial models.\",\"type\":\"standalone\"},{\"name\":\"OFFSET=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies a variable to be used as an offset to the linear predictor. An offset plays the role of an effect whose coefficient is known to be 1. The offset variable cannot appear in the CLASS statement or elsewhere in the MODEL statement. Observations with missing values for the offset variable are excluded from the analysis.\",\"help\":\"OFFSET=*variable*\",\"type\":\"value\"},{\"name\":\"ORDER=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"\",\"type\":\"value\"},{\"name\":\"REF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"\",\"type\":\"value\"},{\"name\":\"SAMPFRAC=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies a fraction of the data to be used in determining starting values for iterative estimation of the parameters of a Tweedie model. The sampled data are used in an extended quasi-likelihood estimation of the model paramerters, which are then used as starting values in a full maximum likelihood estimation of the model parameters, using all of the data.\",\"help\":\"SAMPFRAC=*number*\",\"type\":\"value\"},{\"name\":\"START=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Syntax: START=n START=single-effect START=(effects) Begins the selection process from the designated initial model for the FORWARD and STEPWISE selection methods. If you specify START=n, then the starting model includes the first n effects that are listed in the MODEL statement. If you specify START=single-effect or if you specify a list of effects within parentheses, then the starting model includes those specified effects. The effects that you specify in the START= option must be explanatory effects that are specified in the MODEL statement before the slash (/). The START= option is not available when you specify METHOD=BACKWARD in the SELECTION statement.\",\"help\":\"START=*n*\",\"type\":\"value\"}]},{\"name\":\"OUTPUT\",\"description\":\"however, variables specified in the ID statement are included.\",\"help\":\"OUTPUT ADJPEARSON | ADJPEARS | STDRESCHI &lt; =name &gt; LINP | XBETA &lt; =name &gt; OUT=SAS-data-set ...\",\"arguments\":[{\"name\":\"ADJPEARSON\",\"aliases\":[\"ADJPEARS\",\"STDRESCHI\"],\"description\":\"Requests the Pearson residual, adjusted to have unit variance. This statistic is not computed for multinomial models, nor is it computed for zero-modified models.\",\"type\":\"standalone\"},{\"name\":\"LINP\",\"aliases\":[\"XBETA\"],\"description\":\"Requests the linear predictor η = x'β.\",\"type\":\"standalone\"},{\"name\":\"LOWER\",\"description\":\"Requests a lower confidence limit for the predicted value. This statistic is not computed for generalized logit multinomial models.\",\"type\":\"standalone\"},{\"name\":\"OUT=\",\"aliases\":[\"DATA=\"],\"description\":\"Syntax: OUT=SAS-data-set DATA=SAS-data-set\",\"help\":\"OUT=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"PEARSON\",\"aliases\":[\"PEARS\",\"RESCHI\"],\"description\":\"Requests the Pearson residual, (y-μ)/V(μ), where μ is the estimate of the predicted response mean, and V is the response distribution variance function. This statistic is not computed for multinomial models.\",\"type\":\"standalone\"},{\"name\":\"PREDICTED\",\"aliases\":[\"PRED\"],\"description\":\"Requests predicted values (predicted probabilities of events) for the response variable.\",\"type\":\"standalone\"},{\"name\":\"RESIDUAL\",\"aliases\":[\"RESID\"],\"description\":\"Requests the raw residual, y - μ where μ is the estimate of the predicted event probability. This statistic is not computed for multinomial models.\",\"type\":\"standalone\"},{\"name\":\"UPPER\",\"description\":\"Requests an upper confidence limit for the predicted value. This statistic is not computed for generalized logit multinomial models.\",\"type\":\"standalone\"},{\"name\":\"ZBETA\",\"description\":\"Requests the linear predictor for the zeroes model in zero-modified models k = z'y.\",\"type\":\"standalone\"},{\"name\":\"ALPHA=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the significance level for the construction of confidence intervals in the OUTPUT data set. The confidence level is 1 - number.\",\"help\":\"ALPHA=*number*\",\"type\":\"value\"},{\"name\":\"OBSCAT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests (for multinomial models) that observationwise statistics be produced for the response level only. If the OBSCAT option is not specified and the response variable has J levels, then the following outputs are created: for cumulative link models, J 􀀀 1 records are output for every observation in the input data that corresponds to the J 􀀀 1 lower-ordered response categories; for generalized logit models, J records are output that correspond to all J response categories.\",\"type\":\"standalone\"}]},{\"name\":\"PERFORMANCE\",\"description\":\"The PERFORMANCE statement defines performance parameters for multithreaded and distributed computing, passes variables about the distributed computing environment, and requests detailed results about the performance characteristics of the HPGENSELECT procedure. With the PERFORMANCE statement you can also control whether the HPGENSELECT procedure executes in SMP or MPP mode.\",\"help\":\"PERFORMANCE &lt;COMMIT=n&gt;&lt;CPUCOUNT=&lt;ACTUAL | &lt;num&gt;&gt;&gt;&lt;DATASERVER=“name”&gt; ...\",\"arguments\":[{\"name\":\"COMMIT=\",\"optional\":true,\"description\":\"Requests that the High-Performance Analytics procedure write periodic updates to the SAS Log when observations are sent from the client to the appliance for distributed processing.\",\"help\":\"COMMIT=*n*\",\"type\":\"value\"},{\"name\":\"CPUCOUNT=\",\"optional\":true,\"description\":\"Specifies how many processors the procedure assumes are available on each host in the computing environment. num can be any integer from 1 to 256. CPUCOUNT=ACTUAL sets CPUCOUNT to the number of physical processors available. This number can be less than the physical number of CPUs if the SAS process has been restricted by system administration tools. Setting CPUCOUNT= to a number greater than the actual number of available CPUs might result in reduced performance. This option overrides the CPUCOUNT= SAS system option.\",\"help\":\"CPUCOUNT=ACTUAL | &lt;*num*&gt;\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ACTUAL\",\"description\":\"Sets CPUCOUNT to the number of physical processors available. This number can be less than the physical number of CPUs if the SAS process has been restricted by system administration tools.\",\"type\":\"standalone\"},{\"name\":\"num\",\"placeholder\":true,\"description\":\"Replace <num> with an actual number. Setting CPUCOUNT= to a number greater than the actual number of available CPUs might result in reduced performance. This option overrides the CPUCOUNT= SAS system option.\",\"type\":\"standaloneOrValue\"}]},{\"name\":\"DATASERVER=\",\"optional\":true,\"description\":\"Specifies the name of the server on Teradata systems as defined through the hosts file and as used in the LIBNAME statement for Teradata. For example, if the hosts file defines myservercop1 33.44.55.66 as the server for Teradata, then a LIBNAME specification would be as follows: libname TDLib teradata server=myserver user= password= database= ; A PERFORMANCE statement to induce running alongside the Teradata server would specify the following:\",\"type\":\"value\"},{\"name\":\"DETAILS\",\"optional\":true,\"description\":\"Requests a table that shows a timing breakdown of the procedure steps.\",\"type\":\"standalone\"},{\"name\":\"HOST=\",\"optional\":true,\"aliases\":[\"GRIDHOST=\"],\"description\":\"Specifies the name of the appliance host in single or double quotes. If the HOST= option is specified, it overrides the value of the GRIDHOST environment variable.\",\"type\":\"value\"},{\"name\":\"INSTALL=\",\"optional\":true,\"aliases\":[\"INSTALLLOC=\"],\"description\":\"Specifies the directory in which the High-Performance Analytics shared libraries are installed on the appliance. Specifying the INSTALL= option overrides the GRIDINSTALLLOC environment variable.\",\"type\":\"value\"},{\"name\":\"NODES=\",\"optional\":true,\"aliases\":[\"NNODES=\"],\"description\":\"Specifies the number of nodes in the distributed computing environment, provided that the data are not processed alongside the database.\",\"type\":\"value\"},{\"name\":\"NTHREADS=\",\"optional\":true,\"description\":\"Specifies the number of threads for analytic computations and overrides the SAS system option THREADS | NOTHREADS. If you do not specify the NTHREADS= option, the number of threads are determined based on the number of CPUs on the host on which the analytic computations execute. The algorithm by which a CPU count is converted to a thread count is specific to the High- Performance Analytics procedure. Most procedures create one thread per CPU for the analytic computations. By default, High-Performance Analytics procedures execute in multiple concurrent threads unless turned off by the NOTHREADS system option or you force single-threaded execution with NTHREADS=1. The largest number that can be specified for n is 256. Individual High-Performance Analytics procedures can impose more stringent limits if called for by algorithmic considerations. You can affect the determination of the CPU count with the CPUCOUNT= option in the PERFORMANCE statement.\",\"help\":\"NTHREADS=*n*\",\"type\":\"value\"},{\"name\":\"TIMEOUT=\",\"optional\":true,\"description\":\"Specifies the timeout in seconds for a High-Performance Analytics procedure to wait for a connection to the appliance and establish a connection back to the client. The default is s=120 seconds. If jobs are submitted to the appliance through workload management tools that might suspend access to the appliance for a longer period, you might want to increase the timeout value.\",\"help\":\"TIMEOUT=*s*\",\"type\":\"value\"}]},{\"name\":\"SELECTION\",\"description\":\"The SELECTION statement performs model selection by examining whether effects should be added to or removed from the model according to rules defined by model selection methods.\",\"help\":\"SELECTION &lt;DETAILS=&lt;SUMMARY | STEPS | ALL&gt;&gt;&lt;METHOD=&lt;NONE | FORWARD | BACKWARD&gt;... &gt;\",\"arguments\":[{\"name\":\"DETAILS=\",\"optional\":true,\"description\":\"Specifies the level of detail about the selection process that is produced. The default is DETAILS= SUMMARY.\",\"help\":\"DETAILS=SUMMARY | STEPS | ALL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"SUMMARY\",\"description\":\"Produces a summary table that shows the effect added or removed at each step along with the p-value. The summary table is produced by default if the DETAILS= option is not specified.\",\"type\":\"standalone\"},{\"name\":\"STEPS\",\"description\":\"Produces a detailed listing of all candidates at each step and their ranking in terms of the significance level for entry into or removal from the model and a table of selection details which displays fit statistics for the model at each step of the selection process and the approximate chi-square score statistic.\",\"type\":\"standalone\"},{\"name\":\"ALL\",\"description\":\"Produces the preceding two tables.\",\"type\":\"standalone\"}]},{\"name\":\"METHOD=\",\"optional\":true,\"aliases\":[\"SELECTION=\"],\"description\":\"Specifies the method used to select the model, optionally followed by parentheses enclosing options that are applicable to the specified method. The default selection method (when the METHOD= option is not specified) is METHOD=STEPWISE. method can be one of the following:\",\"help\":\"METHOD=NONE | FORWARD | BACKWARD | STEPWISE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NONE\",\"description\":\"Results in no model selection. This method fits the full model.\",\"type\":\"standalone\"},{\"name\":\"FORWARD\",\"description\":\"Performs forward selection. This method starts with no effects in the model and adds effects.\",\"type\":\"standalone\"},{\"name\":\"BACKWARD\",\"description\":\"Performs backward elimination. This method starts with all effects in the model and deletes effects.\",\"type\":\"standalone\"},{\"name\":\"STEPWISE\",\"description\":\"Performs stepwise regression. This method is similar to the FORWARD method except that effects already in the model do not necessarily stay there.\",\"type\":\"standalone\"}]}]},{\"name\":\"WEIGHT\",\"description\":\"The variable in the WEIGHT statement is used as a weight to perform a weighted analysis of the data. Observations with nonpositive or missing weights are not included in the analysis. If a WEIGHT statement is not included, then all observations used in the analysis are assigned a weight of 1.\",\"help\":\"WEIGHT variable \"},{\"name\":\"ZEROMODEL\",\"description\":\"The ZEROMODEL statement defines the statistical model for zero inflation probability in terms of model effects constructed from variables in the input data set, and options. An intercept term is always included in the model.\",\"help\":\"ZEROMODEL &lt;INCLUDE=n&gt;&lt;LINK=&lt;CLOGLOG|CLL | LOGIT | LOGLOG&gt;... &gt;&lt;START=n&gt; ...\",\"arguments\":[{\"name\":\"INCLUDE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Syntax: INCLUDE=n INCLUDE=single-effect INCLUDE=(effects)\",\"help\":\"INCLUDE=*n*\",\"type\":\"value\"},{\"name\":\"LINK=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the link function for the zero inflation probability.\",\"help\":\"LINK=CLOGLOG | LOGIT | LOGLOG | PROBIT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"CLOGLOG\",\"followsDelimiter\":\"/\",\"aliases\":[\"CLL\"],\"description\":\"Complementary log-log function\",\"type\":\"standalone\"},{\"name\":\"LOGIT\",\"followsDelimiter\":\"/\",\"description\":\"Logit function\",\"type\":\"standalone\"},{\"name\":\"LOGLOG\",\"followsDelimiter\":\"/\",\"description\":\"Log-log function\",\"type\":\"standalone\"},{\"name\":\"PROBIT\",\"followsDelimiter\":\"/\",\"description\":\"Probit function\",\"type\":\"standalone\"}]},{\"name\":\"START=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Syntax: START=n START=single-effect START=(effects)\",\"help\":\"START=*n*\",\"type\":\"value\"}]}],\"supportSiteInformation\":{\"docsetId\":\"statug\",\"docsetVersion\":\"latest\",\"docsetTargetFile\":\"statug_hpgenselect_toc.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/HPIMPUTE.json",
    "content": "{\"name\":\"HPIMPUTE\",\"statements\":[{\"name\":\"PROC HPIMPUTE\",\"description\":\"The HPIMPUTE procedure executes high-performance numeric variable imputation. Imputation is a common step in the data preparation stage. The HPIMPUTE procedure takes only numeric variables. † The HPIMPUTE procedure can replace numeric missing values with a specified value. It can also replace numeric missing values with the mean, the pseudo-median, or some random value between the minimum value and the maximum value of the nonmissing values. † When the mean, the pseudo-median, or a random value is being calculated, the HPIMPUTE procedure ignores any observation that has a FREQ variable whose value is less than or equal to 0.\",\"help\":\"PROC HPIMPUTE <DATA=<libref.>SAS-data-set><DMDBCAT=<libref.>SAS-catalog><OUT=<libref.>SAS-data-set>; \\n\\tCODE                         <FILE= filename> ;\\n\\n\\tFREQ variable ;\\n\\n\\tID variables ;\\n\\n\\tIMPUTE                                 <METHOD=<MEAN | RANDOM | PMEDIAN>><VALUE=<value>> ;\\n\\n\\tINPUT                                 <LEVEL=<BINARY | NOMINAL | ORDINAL>... ><ORDER=<ASCENDING | ASCFORMATTED | DESCENDING>...                     > ;\\n\\n\\tPERFORMANCE <COMMIT=n><CPUCOUNT=<ACTUAL | <num>>><DATASERVER=“name”> ...;\\n\",\"arguments\":[{\"name\":\"DATA=\",\"optional\":true,\"description\":\"Names the SAS data set to be used by PROC HPIMPUTE for imputation. The default is the most recently created data set. If the data are already distributed, the procedure reads the data alongside the distributed database. See the section SMP and MPP Modes for the various execution modes and the section Alongside-the-Database Execution for the alongside-the-database model. WHERE processing is supported.\",\"help\":\"DATA=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"DMDBCAT=\",\"optional\":true,\"description\":\"Names the SAS catalog to be used by PROC HPIMPUTE for looking up the variable metadata. If the DMDBCAT is specified and the imputation value is available in the DMDBCAT, PROC HPIMPUTE will impute with the value in the DMDBCAT. Otherwise, PROC HPIMPUTE will first compute the imputation value and then impute with that value.\",\"type\":\"value\"},{\"name\":\"OUT=\",\"optional\":true,\"description\":\"Names the SAS data set to be used by PROC HPIMPUTE write the data with ID variables (if applicable), imputation indicator variables (0: not imputed, 1: imputed) and imputed variables.\",\"help\":\"OUT=*SAS-data-set*\",\"type\":\"dataSet\"}]},{\"name\":\"CODE\",\"description\":\"The CODE statement generates SAS DATA step code that mimics the computations done by the IMPUTE statement.\",\"help\":\"CODE &lt;FILE= filename&gt;\",\"arguments\":[{\"name\":\"FILE=\",\"optional\":true,\"description\":\"Specifies the filename of the file to which the SAS score code is written.\",\"type\":\"value\"}]},{\"name\":\"FREQ\",\"description\":\"The variable in the FREQ statement identifies a numeric variable in the data set that contains the frequency of occurrence for each observation. SAS High-Performance Analytics procedures that support the FREQ statement treat each observation as if it appeared f times, where f is the value of the FREQ variable for the observation. If the frequency value is not an integer, it is truncated to an integer. If the frequency value is less than 1 or missing, the observation is not used in the analysis. When the FREQ statement is not specified, each observation is assigned a frequency of 1.\",\"help\":\"FREQ variable \"},{\"name\":\"ID\",\"description\":\"The ID statement lists one or more variables from the input data set that are transferred to the output data set. The ID statement accepts numeric and character variables. For example, when an OUTPUT statement is used, the ID variables, followed by indicator variables and imputed variables, are added to the output data set. Default: By default, the HPIMPUTE procedure does not include all variables from the input data set in the output data sets. Requirement: The variables in an ID statement must not appear in any INPUT statement, otherwise an error will be reported. The ID statement is optional.\",\"help\":\"ID variables \"},{\"name\":\"IMPUTE\",\"description\":\"The IMPUTE statement names the variable(s) whose values PROC HPIMPUTE imputes. The statement can appear multiple times. Note that the IMPUTE statement only takes numeric variables, character variables are reported as an error. The variables in an IMPUTE statement must appear in an INPUT statement; otherwise an error will be reported.\",\"help\":\"IMPUTE                                     &lt;METHOD=&lt;MEAN | RANDOM | PMEDIAN&gt;&gt;&lt;VALUE=&lt;value&gt;&gt;\",\"arguments\":[{\"name\":\"METHOD=\",\"optional\":true,\"description\":\"Specifies the method of imputation.\",\"help\":\"METHOD=MEAN | RANDOM | PMEDIAN\",\"type\":\"choice\",\"arguments\":[{\"name\":\"MEAN\",\"description\":\"Replaces missing values with the algebraic mean of the variable. If there is no non-missing value, the mean is 0.\",\"type\":\"standalone\"},{\"name\":\"RANDOM\",\"description\":\"Replaces missing values with a random value drawn between the minimum and maximum of the variable. If there is no non-missing value, the random value is 0.\",\"type\":\"standalone\"},{\"name\":\"PMEDIAN\",\"description\":\"Replaces missing values with the pseudo-median of the variable. If there is no non-missing value, the mean is 0.\",\"type\":\"standalone\"}]},{\"name\":\"VALUE=\",\"optional\":true,\"description\":\"Replaces missing values with the value specified by the user.\",\"type\":\"value\"}]},{\"name\":\"INPUT\",\"description\":\"The INPUT statement names input variables with common options. The INPUT statement can be repeated.\",\"help\":\"INPUT                                     &lt;LEVEL=&lt;BINARY | NOMINAL | ORDINAL&gt;... &gt;&lt;ORDER=&lt;ASCENDING | ASCFORMATTED | DESCENDING&gt;...                         &gt;\",\"arguments\":[{\"name\":\"LEVEL=\",\"optional\":true,\"description\":\"Specifies the level of measurement of the variables.\",\"help\":\"LEVEL=BINARY | NOMINAL | ORDINAL | INTERVAL*level*\",\"type\":\"value\",\"arguments\":[{\"name\":\"BINARY\",\"description\":\"BINARY level of measurement\",\"type\":\"standalone\"},{\"name\":\"NOMINAL\",\"description\":\"NOMINAL level of measurement\",\"type\":\"standalone\"},{\"name\":\"ORDINAL\",\"description\":\"ORDINAL level of measurement\",\"type\":\"standalone\"},{\"name\":\"INTERVAL\",\"description\":\"INTERVAL level of measurement\",\"type\":\"standalone\"}]},{\"name\":\"ORDER=\",\"optional\":true,\"description\":\"Specifies the sorting order of the values of an ordinal input variable.\",\"help\":\"ORDER=ASCENDING | ASCFORMATTED | DESCENDING | DESFORMATTED | DSORDER*order*\",\"type\":\"value\",\"arguments\":[{\"name\":\"ASCENDING\",\"description\":\"Ascending order of unformatted values\",\"type\":\"standalone\"},{\"name\":\"ASCFORMATTED\",\"description\":\"Ascending order of formatted values\",\"type\":\"standalone\"},{\"name\":\"DESCENDING\",\"description\":\"Descending order of unformatted values\",\"type\":\"standalone\"},{\"name\":\"DESFORMATTED\",\"description\":\"Descending order of formatted values\",\"type\":\"standalone\"},{\"name\":\"DSORDER\",\"description\":\"Order of appearance in the input data set\",\"type\":\"standalone\"}]}]},{\"name\":\"PERFORMANCE\",\"description\":\"The PERFORMANCE statement defines performance parameters for multithreaded and distributed computing, passes variables about the distributed computing environment, and requests detailed results about the performance characteristics of a High-Performance Analytics procedure. With the PERFORMANCE statement, you can also control whether the HPNLIN procedure executes in SMP or MPP mode.\",\"help\":\"PERFORMANCE &lt;COMMIT=n&gt;&lt;CPUCOUNT=&lt;ACTUAL | &lt;num&gt;&gt;&gt;&lt;DATASERVER=“name”&gt; ...\",\"arguments\":[{\"name\":\"COMMIT=\",\"optional\":true,\"description\":\"Requests that the High-Performance Analytics procedure write periodic updates to the SAS Log when observations are sent from the client to the appliance for distributed processing.\",\"help\":\"COMMIT=*n*\",\"type\":\"value\"},{\"name\":\"CPUCOUNT=\",\"optional\":true,\"description\":\"Specifies how many processors the procedure assumes are available on each host in the computing environment. num can be any integer from 1 to 256. CPUCOUNT=ACTUAL sets CPUCOUNT to the number of physical processors available. This number can be less than the physical number of CPUs if the SAS process has been restricted by system administration tools. Setting CPUCOUNT= to a number greater than the actual number of available CPUs might result in reduced performance. This option overrides the CPUCOUNT= SAS system option.\",\"help\":\"CPUCOUNT=ACTUAL | &lt;num&gt;\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ACTUAL\",\"description\":\"Sets CPUCOUNT to the number of physical processors available. This number can be less than the physical number of CPUs if the SAS process has been restricted by system administration tools.\",\"type\":\"standalone\"},{\"name\":\"<num>\",\"description\":\"Replace <num> with an actual number. Setting CPUCOUNT= to a number greater than the actual number of available CPUs might result in reduced performance. This option overrides the CPUCOUNT= SAS system option.\",\"type\":\"standalone\"}]},{\"name\":\"DATASERVER=\",\"optional\":true,\"description\":\"Specifies the name of the server on Teradata systems as defined through the hosts file and as used in the LIBNAME statement for Teradata. For example, if the hosts file defines myservercop1 33.44.55.66 as the server for Teradata, then a LIBNAME specification would be as follows: libname TDLib teradata server=myserver user= password= database= ; A PERFORMANCE statement to induce running alongside the Teradata server would specify the following:\",\"type\":\"value\"},{\"name\":\"DETAILS\",\"optional\":true,\"description\":\"Requests a table that shows a timing breakdown of the procedure steps.\",\"type\":\"standalone\"},{\"name\":\"HOST=\",\"optional\":true,\"aliases\":[\"GRIDHOST=\"],\"description\":\"Specifies the name of the appliance host in single or double quotes. If the HOST= option is specified, it overrides the value of the GRIDHOST environment variable.\",\"type\":\"value\"},{\"name\":\"INSTALL=\",\"optional\":true,\"aliases\":[\"INSTALLLOC=\"],\"description\":\"Specifies the directory in which the High-Performance Analytics shared libraries are installed on the appliance. Specifying the INSTALL= option overrides the GRIDINSTALLLOC environment variable.\",\"type\":\"value\"},{\"name\":\"NODES=\",\"optional\":true,\"aliases\":[\"NNODES=\"],\"description\":\"Specifies the number of nodes in the distributed computing environment, provided that the data are not processed alongside the database.\",\"type\":\"value\"},{\"name\":\"NTHREADS=\",\"optional\":true,\"description\":\"Specifies the number of threads for analytic computations and overrides the SAS system option THREADS | NOTHREADS. If you do not specify the NTHREADS= option, the number of threads are determined based on the number of CPUs on the host on which the analytic computations execute. The algorithm by which a CPU count is converted to a thread count is specific to the High- Performance Analytics procedure. Most procedures create one thread per CPU for the analytic computations. By default, High-Performance Analytics procedures execute in multiple concurrent threads unless turned off by the NOTHREADS system option or you force single-threaded execution with NTHREADS=1. The largest number that can be specified for n is 256. Individual High-Performance Analytics procedures can impose more stringent limits if called for by algorithmic considerations. You can affect the determination of the CPU count with the CPUCOUNT= option in the PERFORMANCE statement.\",\"help\":\"NTHREADS=*n*\",\"type\":\"value\"},{\"name\":\"TIMEOUT=\",\"optional\":true,\"description\":\"Specifies the timeout in seconds for a High-Performance Analytics procedure to wait for a connection to the appliance and establish a connection back to the client. The default is s=120 seconds. If jobs are submitted to the appliance through workload management tools that might suspend access to the appliance for a longer period, you might want to increase the timeout value.\",\"help\":\"TIMEOUT=*s*\",\"type\":\"value\"}]}],\"supportSiteInformation\":{\"docsetId\":\"prochp\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"prochp_hpimpute_toc.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/HPLMIXED.json",
    "content": "{\"name\":\"HPLMIXED\",\"statements\":[{\"name\":\"PROC HPLMIXED\",\"description\":\"The HPLMIXED procedure fits a variety of mixed linear models to data and enables you to use these fitted models to make statistical inferences about the data. A mixed linear model is a generalization of the standard linear model used in the GLM procedure, the generalization being that the data are permitted to exhibit correlation and nonconstant variability. The mixed linear model, therefore, provides you with the flexibility of modeling not only the means of your data (as in the standard linear model) but their variances and covariances as well. † The primary assumptions underlying the analyses performed by PROC HPLMIXED are as follows: † o The data are normally distributed (Gaussian). o The means (expected values) of the data are linear in terms of a certain set of parameters. o The variances and covariances of the data are in terms of a different set of parameters, and they exhibit a structure matching one of those available in PROC HPLMIXED.\",\"help\":\"PROC HPLMIXED <ABSCONV=r><ABSFCONV=r<n>><ABSGCONV=r<n>><BLUP< (suboptions) >><DATA=SAS-data-set><FCONV=r><GCONV=r><MAXCLPRINT=number><MAXFUNC=i><MAXITER= i <n>><MAXTIME=r><METHOD=REML | ML><MINITER= i><NAMELEN=number><NOCLPRINT< =number >><SINGCHOL=number><SINGSWEEP=number><SINGULAR=number><TECHNIQUE=CONGRA | DBLDOG | NEWRAP... ><XCONV=r>;     \\n\\tCLASS <DESCENDING><ORDER=<DATA | FORMATTED | FREQ>... ><REF=<<'level'> | FIRST | LAST>> ...;\\n\\n\\tMODEL <ALPHA=number><CL><DDFM=<NONE | RESIDUAL>> ...;\\n\\n\\tPARMS <HOLD=value-list><LOWERB=value-list><NOITER> ...;\\n\\n\\tPERFORMANCE <COMMIT=n><CPUCOUNT=<ACTUAL | <num>>><DATASERVER=“name”> ...;\\n\\n\\tRANDOM <ALPHA=number><CL><SOLUTION> ...;\\n\\n\\tREPEATED <SUBJECT=effect | SUB=effect><TYPE=<ANTE(1) | AR(1) | ARH(1)>... > ;\\n\",\"arguments\":[{\"name\":\"ABSCONV=\",\"optional\":true,\"description\":\"Specifies an absolute function convergence criterion.\",\"help\":\"ABSCONV=*r*\",\"type\":\"value\"},{\"name\":\"ABSFCONV=\",\"optional\":true,\"description\":\"Specifies an absolute function convergence criterion.\",\"type\":\"value\"},{\"name\":\"ABSGCONV=\",\"optional\":true,\"description\":\"Specifies an absolute gradient convergence criterion. Termination requires the maximum absolute gradient element to be small.\",\"type\":\"value\"},{\"name\":\"BLUP=\",\"optional\":true,\"description\":\"Requests that best linear unbiased predictions (BLUPs) for the random effects be displayed. To use this option, you must also use the PARMS statement to specify fixed values for the covariance parameters. The BLUP solution might be sensitive to the order of observations, and hence to how the data are distributed on the grid. If there are multiple measures of a repeated effect, then the BLUP solution is not unique. If the order of these multiple measures on the grid differs for different runs, then different BLUP solutions will result. You can specify the following suboptions:\",\"help\":\"BLUP=ITPRINT= | MAXITER= | TOL=\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ITPRINT=\",\"type\":\"value\"},{\"name\":\"MAXITER=\",\"type\":\"value\"},{\"name\":\"TOL=\",\"type\":\"value\"}]},{\"name\":\"DATA=\",\"optional\":true,\"description\":\"Names the SAS data set to be used by PROC HPLMIXED. The default is the most recently created data set.\",\"help\":\"DATA=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"FCONV=\",\"optional\":true,\"description\":\"Specifies the relative function convergence criterion.\",\"help\":\"FCONV=*r*\",\"type\":\"value\"},{\"name\":\"GCONV=\",\"optional\":true,\"description\":\"Specifies the relative gradient convergence criterion.\",\"help\":\"GCONV=*r*\",\"type\":\"value\"},{\"name\":\"MAXCLPRINT=\",\"optional\":true,\"description\":\"Specifies the maximum levels of CLASS variables to print in the ODS table “ClassLevels.” The default value is 20. MAXCLPRINT=0 enables you to print all levels of each CLASS variable. However, the option NOCLPRINT takes precedence over MAXCLPRINT.\",\"help\":\"MAXCLPRINT=*number*\",\"type\":\"value\"},{\"name\":\"MAXFUNC=\",\"optional\":true,\"description\":\"Specifies the maximum number n of function calls in the optimization process. The default values are as follows, depending on the optimization technique:\",\"help\":\"MAXFUNC=*i*\",\"type\":\"value\"},{\"name\":\"MAXITER=\",\"optional\":true,\"description\":\"Specifies the maximum number n of iterations in the optimization process. The default values are as follows, depending on the optimization technique:\",\"type\":\"value\"},{\"name\":\"MAXTIME=\",\"optional\":true,\"description\":\"Specifies an upper limit of r seconds of CPU time for the optimization process. The default value is the largest floating-point double representation of your computer. Note that the time specified by the MAXTIME= option is checked only once at the end of each iteration. Therefore, the actual running time can be longer than that specified by the MAXTIME= option.\",\"help\":\"MAXTIME=*r*\",\"type\":\"value\"},{\"name\":\"METHOD=\",\"optional\":true,\"description\":\"Specifies the estimation method for the covariance parameters.\",\"help\":\"METHOD=REML | ML\",\"type\":\"choice\",\"arguments\":[{\"name\":\"REML\",\"description\":\"The REML specification performs residual (restricted) maximum likelihood, and it is the default method.\",\"type\":\"standalone\"},{\"name\":\"ML\",\"description\":\"The ML specification performs maximum likelihood.\",\"type\":\"standalone\"}]},{\"name\":\"MINITER=\",\"optional\":true,\"description\":\"Specifies the minimum number of iterations. The default value is 0. If you request more iterations than are actually needed for convergence to a stationary point, the optimization algorithms can behave strangely. For example, the effect of rounding errors can prevent the algorithm from continuing for the required number of iterations.\",\"type\":\"value\"},{\"name\":\"NAMELEN=\",\"optional\":true,\"description\":\"Specifies the length to which long effect names are shortened. The default and minimum value is 20.\",\"help\":\"NAMELEN=*number*\",\"type\":\"value\"},{\"name\":\"NOCLPRINT\",\"optional\":true,\"description\":\"Suppresses the display of the “Class Level Information” table if you do not specify number. If you specify number, the values of the classification variables are displayed for only those variables whose number of levels is less than number. Specifying a number helps to reduce the size of the “Class Level Information” table if some classification variables have a large number of levels.\",\"type\":\"standalone\"},{\"name\":\"SINGCHOL=\",\"optional\":true,\"description\":\"Tunes the singularity criterion in Cholesky decompositions. The default is 1E4 times the machine epsilon; this product is approximately 1E-12 on most computers.\",\"help\":\"SINGCHOL=*number*\",\"type\":\"value\"},{\"name\":\"SINGSWEEP=\",\"optional\":true,\"description\":\"Tunes the singularity criterion for sweep operations. The default is 1E4 times the machine epsilon; this product is approximately 1E-12 on most computers.\",\"help\":\"SINGSWEEP=*number*\",\"type\":\"value\"},{\"name\":\"SINGULAR=\",\"optional\":true,\"description\":\"Tunes the general singularity criterion applied by the HPLMIXED procedure in sweeps and inversions. The default is 1E4 times the machine epsilon; this product is approximately 1E-12 on most computers.\",\"help\":\"SINGULAR=*number*\",\"type\":\"value\"},{\"name\":\"TECHNIQUE=\",\"optional\":true,\"description\":\"Specifies the optimization technique to obtain maximum likelihood estimates.\",\"help\":\"TECHNIQUE=CONGRA | DBLDOG | NEWRAP | NMSIMP | NRRIDG | QUANEW | TRUREG | NONE*name*\",\"type\":\"value\",\"arguments\":[{\"name\":\"CONGRA\",\"description\":\"Chooses one of four different conjugate-gradient optimization algorithms, which can be more precisely defined with the UPDATE= option and modified with the LINESEARCH= option.\",\"type\":\"standalone\"},{\"name\":\"DBLDOG\",\"description\":\"Performs a version of double-dogleg optimization, which uses the gradient to update an approximation of the Cholesky factor of the Hessian.\",\"type\":\"standalone\"},{\"name\":\"NEWRAP\",\"description\":\"Performs a usually stable but, for large problems, memory- and time-consuming Newton-Raphson optimization technique. The algorithm combines a line-search algorithm with ridging, and it can be modified with the LINESEARCH= option.\",\"type\":\"standalone\"},{\"name\":\"NMSIMP\",\"description\":\"Performs a Nelder-Mead simplex optimization.\",\"type\":\"standalone\"},{\"name\":\"NRRIDG\",\"description\":\"Performs a usually stable but, for large problems, memory- and time-consuming Newton-Raphson optimization technique. This algorithm does not perform a line search.\",\"type\":\"standalone\"},{\"name\":\"QUANEW\",\"description\":\"Chooses one of four different quasi-Newton optimization algorithms that can be more precisely defined with the UPDATE= option and modified with the LINESEARCH= option.\",\"type\":\"standalone\"},{\"name\":\"TRUREG\",\"description\":\"Performs a usually very stable but, for large problems, memory- and time-consuming trust-region optimization technique. The algorithm is implemented similar to Gay (1983) and Moré and Sorensen (1983).\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"Does not perform any optimization. This option is similar to METHOD=NONE, but TECH=NONE also computes and displays residuals and goodness of fit statistics.\",\"type\":\"standalone\"}]},{\"name\":\"XCONV=\",\"optional\":true,\"description\":\"Specifies the relative parameter convergence criterion.\",\"help\":\"XCONV=*r*\",\"type\":\"value\"}]},{\"name\":\"CLASS\",\"description\":\"The CLASS statement names the classification variables to be used as explanatory variables in the analysis. The CLASS statement must precede the MODEL statement. You can list the response variable for binary and multinomial models in the CLASS statement, but this is not necessary. The HPLOGISTIC procedure does not support the SPLIT option in the CLASS statement.\",\"help\":\"CLASS &lt;DESCENDING&gt;&lt;ORDER=&lt;DATA | FORMATTED | FREQ&gt;... &gt;&lt;REF=&lt;&lt;'level'&gt; | FIRST | LAST&gt;&gt; ...\",\"arguments\":[{\"name\":\"DESCENDING\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"DESC\"],\"description\":\"Reverses the sorting order of the classification variable. If both the DESCENDING and ORDER= options are specified, High-Performance Analytics procedures order the categories according to the ORDER= option and then reverse that order.\",\"type\":\"standalone\"},{\"name\":\"MISSING\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Treats missing values (“.”, “.A”, . . . , “.Z” for numeric variables and blanks for character variables) as valid values for the CLASS variable.\",\"type\":\"standalone\"},{\"name\":\"ORDER=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the sorting order for the levels of classification variables. This ordering determines which parameters in the model correspond to each level in the data.\",\"help\":\"ORDER=DATA | FORMATTED | FREQ | FREQDATA | FREQFORMATTED | FREQINTERNAL | INTERNAL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DATA\",\"followsDelimiter\":\"/\",\"description\":\"Levels sorted by the order of appearance in the input data set FORMATTED External formatted values, except for numeric.\",\"type\":\"standalone\"},{\"name\":\"FORMATTED\",\"followsDelimiter\":\"/\",\"description\":\"Levels sorted by the external formatted values, except for numeric variables with no explicit format, which are sorted by their unformatted (internal) values\",\"type\":\"standalone\"},{\"name\":\"FREQ\",\"followsDelimiter\":\"/\",\"description\":\"Levels sorted by the descending frequency count (levels with more observations come earlier in the order)\",\"type\":\"standalone\"},{\"name\":\"FREQDATA\",\"followsDelimiter\":\"/\",\"description\":\"Levels sorted by the order of descending frequency count, and within counts by order of appearance in the input data set when counts are tied\",\"type\":\"standalone\"},{\"name\":\"FREQFORMATTED\",\"followsDelimiter\":\"/\",\"description\":\"Levels sorted by the order of descending frequency count, and within counts by formatted value when counts are tied\",\"type\":\"standalone\"},{\"name\":\"FREQINTERNAL\",\"followsDelimiter\":\"/\",\"description\":\"Levels sorted by the Order of descending frequency count, and within counts by unformatted (internal) value when counts are tied\",\"type\":\"standalone\"},{\"name\":\"INTERNAL\",\"followsDelimiter\":\"/\",\"description\":\"Levels sorted by the unformatted value\",\"type\":\"standalone\"}]},{\"name\":\"PARAM=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the parameterization method for the classification variable or variables. The GLM parameterization is the default.\",\"help\":\"PARAM=GLM | REFERENCE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"GLM\",\"followsDelimiter\":\"/\",\"description\":\"Less-than-full-rank reference cell coding. This parameterization is used in, for example, the GLM, MIXED, and GLIMMIX procedures in SAS/STAT.\",\"type\":\"standalone\"},{\"name\":\"REFERENCE\",\"followsDelimiter\":\"/\",\"description\":\"Reference cell encoding. You can choose the reference value with a specific variable option in the CLASS statement, or designate the first or last ordered value with a globaloption. The default is REF=LAST.\",\"type\":\"standalone\"}]},{\"name\":\"REF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"REFERENCE=\"],\"description\":\"Specifies the reference level for PARAM=REFERENCE. For an individual (but not a global) variable REF= option, you can specify the level of the variable to use as the reference level. Specify the formatted value of the variable if a format is assigned. For a REF= option or global-option, you can use one of the following keywords. The default is REF=LAST.\",\"help\":\"REF=&lt;'*level*'&gt; | FIRST | LAST\",\"type\":\"choice\",\"arguments\":[{\"name\":\"'level'\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"For an individual (but not a global) variable REF= option, you can specify the level of the variable to use as the reference level.\",\"type\":\"standaloneOrValue\"},{\"name\":\"FIRST\",\"followsDelimiter\":\"/\",\"description\":\"Designates the first-ordered level as reference.\",\"type\":\"standalone\"},{\"name\":\"LAST\",\"followsDelimiter\":\"/\",\"description\":\"Designates the last-ordered level as reference.\",\"type\":\"standalone\"}]},{\"name\":\"TRUNCATE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the truncation width of formatted values of CLASS variables when the optional n is specified. If n is not specified, the TRUNCATE option requests that classification levels should be determined using no more than the first 16 characters of the formatted values of CLASS variables. When formatted values are longer than 16 characters, you can use this option in order to revert to the levels as determined in releases prior to SAS 9.\",\"type\":\"standalone\"}]},{\"name\":\"MODEL\",\"description\":\"The MODEL statement names a single dependent variable and the fixed effects, which determine the X matrix of the mixed model. The MODEL statement is required. An intercept is included in the fixed-effects model by default. If no fixed effects are specified, only this intercept term is fit. The intercept can be removed by using the NOINT option.\",\"help\":\"MODEL &lt;ALPHA=number&gt;&lt;CL&gt;&lt;DDFM=&lt;NONE | RESIDUAL&gt;&gt; ...\",\"arguments\":[{\"name\":\"ALPHA=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that a t-type confidence interval be constructed for each of the fixed-effects parameters with confidence level 1-number. The value of number must be between 0 and 1; the default is 0.05.\",\"help\":\"ALPHA=*number*\",\"type\":\"value\"},{\"name\":\"CL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that t-type confidence limits be constructed for each of the fixed-effects parameter estimates. The confidence level is 0.95 by default; this can be changed with the ALPHA= option.\",\"type\":\"standalone\"},{\"name\":\"DDFM=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the method for computing the denominator degrees of freedom for the tests of fixed effects. The DDFM=RESIDUAL option performs all tests by using the residual degrees of freedom, n - rank.X/, where n is the number of observations used. It is the default degrees-of-freedom method. DDFM=NONE specifies that no denominator degrees of freedom be applied. PROC HPLMIXED then essentially assumes that infinite degrees of freedom are available in the calculation of p-values. The p-values for t tests are then identical to p-values that are derived from the standard normal distribution.\",\"help\":\"DDFM=NONE | RESIDUAL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NONE\",\"followsDelimiter\":\"/\",\"description\":\"Specifies that no denominator degrees of freedom be applied. PROC HPLMIXED then essentially assumes that infinite degrees of freedom are available in the calculation of p-values.\",\"type\":\"standalone\"},{\"name\":\"RESIDUAL\",\"followsDelimiter\":\"/\",\"description\":\"Performs all tests by using the residual degrees of freedom, n - rank(X)/, where n is the number of observations used. It is the default degrees-of-freedom method.\",\"type\":\"standalone\"}]},{\"name\":\"NOINT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that no intercept be included in the model. An intercept is included by default.\",\"type\":\"standalone\"},{\"name\":\"SOLUTION\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"S\"],\"description\":\"Requests that a solution for the fixed-effects parameters be produced.\",\"type\":\"standalone\"}]},{\"name\":\"PARMS\",\"description\":\"The PARMS statement specifies initial values for the covariance parameters, or it requests a grid search over several values of these parameters. You must specify the values in the order in which they appear in the \\\"Covariance Parameter Estimates\\\" table. The value-list specification can take any of several forms: m a single value m1,m2,...,mn several values m to n a sequence where m equals the starting value, n equals the ending value, and the increment equals 1 m to n by i a sequence where m equals the starting value, n equals the ending value, and the increment equals i m1,m2 to m3 mixed values and sequences You can use the PARMS statement to input known parameters.\",\"help\":\"PARMS &lt;HOLD=value-list&gt;&lt;LOWERB=value-list&gt;&lt;NOITER&gt; ...\",\"arguments\":[{\"name\":\"HOLD=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"EQCONS=\"],\"description\":\"Specifies which parameter values PROC HPLMIXED should hold equal to the specified values. For example, the following statement constrains the first and third covariance parameters to equal 5 and 2, respectively:\",\"help\":\"HOLD=*value-list*\",\"type\":\"value\"},{\"name\":\"LOWERB=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Enables you to specify lower boundary constraints on the covariance parameters. The value-list specification is a list of numbers or missing values (.) separated by commas. You must list the numbers in the order that PROC HPLMIXED uses for the covariance parameters, and each number corresponds to the lower boundary constraint. A missing value instructs PROC HPLMIXED to use its default constraint. If you do not specify numbers for all of the covariance parameters, PROC HPLMIXED assumes the remaining ones are missing.\",\"help\":\"LOWERB=*value-list*\",\"type\":\"value\"},{\"name\":\"NOITER\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that no Newton-Raphson iterations be performed and that PROC HPLMIXED use the best value from the grid search to perform inferences. By default, iterations begin at the best value from the PARMS grid search.\",\"type\":\"standalone\"},{\"name\":\"PARMSDATA=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"PDATA=\"],\"description\":\"Reads in covariance parameter values from a SAS data set. The data set should contain the Est or Covp1–Covpn variables.\",\"help\":\"PARMSDATA=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"UPPERB=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Enables you to specify upper boundary constraints on the covariance parameters. The value-list specification is a list of numbers or missing values (.) separated by commas. You must list the numbers in the order that PROC HPLMIXED uses for the covariance parameters, and each number corresponds to the upper boundary constraint. A missing value instructs PROC HPLMIXED to use its default constraint. If you do not specify numbers for all of the covariance parameters, PROC HPLMIXED assumes that the remaining ones are missing.\",\"help\":\"UPPERB=*value-list*\",\"type\":\"value\"}]},{\"name\":\"PERFORMANCE\",\"description\":\"The PERFORMANCE statement defines performance parameters for multithreaded and distributed computing, passes variables about the distributed computing environment, and requests detailed results about the performance characteristics of a High-Performance Analytics procedure. With the PERFORMANCE statement, you can also control whether a High-Performance Analytics procedure executes in SMP or MPP mode.\",\"help\":\"PERFORMANCE &lt;COMMIT=n&gt;&lt;CPUCOUNT=&lt;ACTUAL | &lt;num&gt;&gt;&gt;&lt;DATASERVER=“name”&gt; ...\",\"arguments\":[{\"name\":\"COMMIT=\",\"optional\":true,\"description\":\"Requests that the High-Performance Analytics procedure write periodic updates to the SAS Log when observations are sent from the client to the appliance for distributed processing.\",\"help\":\"COMMIT=*n*\",\"type\":\"value\"},{\"name\":\"CPUCOUNT=\",\"optional\":true,\"description\":\"Specifies how many processors the procedure assumes are available on each host in the computing environment. num can be any integer from 1 to 256. CPUCOUNT=ACTUAL sets CPUCOUNT to the number of physical processors available. This number can be less than the physical number of CPUs if the SAS process has been restricted by system administration tools. Setting CPUCOUNT= to a number greater than the actual number of available CPUs might result in reduced performance. This option overrides the CPUCOUNT= SAS system option.\",\"help\":\"CPUCOUNT=ACTUAL | &lt;*num*&gt;\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ACTUAL\",\"description\":\"Sets CPUCOUNT to the number of physical processors available. This number can be less than the physical number of CPUs if the SAS process has been restricted by system administration tools.\",\"type\":\"standalone\"},{\"name\":\"num\",\"placeholder\":true,\"description\":\"Replace <num> with an actual number. Setting CPUCOUNT= to a number greater than the actual number of available CPUs might result in reduced performance. This option overrides the CPUCOUNT= SAS system option.\",\"type\":\"standaloneOrValue\"}]},{\"name\":\"DATASERVER=\",\"optional\":true,\"description\":\"Specifies the name of the server on Teradata systems as defined through the hosts file and as used in the LIBNAME statement for Teradata. For example, if the hosts file defines myservercop1 33.44.55.66 as the server for Teradata, then a LIBNAME specification would be as follows: libname TDLib teradata server=myserver user= password= database= ; A PERFORMANCE statement to induce running alongside the Teradata server would specify the following:\",\"type\":\"value\"},{\"name\":\"DETAILS\",\"optional\":true,\"description\":\"Requests a table that shows a timing breakdown of the procedure steps.\",\"type\":\"standalone\"},{\"name\":\"HOST=\",\"optional\":true,\"aliases\":[\"GRIDHOST=\"],\"description\":\"Specifies the name of the appliance host in single or double quotes. If the HOST= option is specified, it overrides the value of the GRIDHOST environment variable.\",\"type\":\"value\"},{\"name\":\"INSTALL=\",\"optional\":true,\"aliases\":[\"INSTALLLOC=\"],\"description\":\"Specifies the directory in which the High-Performance Analytics shared libraries are installed on the appliance. Specifying the INSTALL= option overrides the GRIDINSTALLLOC environment variable.\",\"type\":\"value\"},{\"name\":\"NODES=\",\"optional\":true,\"aliases\":[\"NNODES=\"],\"description\":\"Specifies the number of nodes in the distributed computing environment, provided that the data are not processed alongside the database.\",\"type\":\"value\"},{\"name\":\"NTHREADS=\",\"optional\":true,\"description\":\"Specifies the number of threads for analytic computations and overrides the SAS system option THREADS | NOTHREADS. If you do not specify the NTHREADS= option, the number of threads are determined based on the number of CPUs on the host on which the analytic computations execute. The algorithm by which a CPU count is converted to a thread count is specific to the High- Performance Analytics procedure. Most procedures create one thread per CPU for the analytic computations. By default, High-Performance Analytics procedures execute in multiple concurrent threads unless turned off by the NOTHREADS system option or you force single-threaded execution with NTHREADS=1. The largest number that can be specified for n is 256. Individual High-Performance Analytics procedures can impose more stringent limits if called for by algorithmic considerations. You can affect the determination of the CPU count with the CPUCOUNT= option in the PERFORMANCE statement.\",\"help\":\"NTHREADS=*n*\",\"type\":\"value\"},{\"name\":\"TIMEOUT=\",\"optional\":true,\"description\":\"Specifies the timeout in seconds for a High-Performance Analytics procedure to wait for a connection to the appliance and establish a connection back to the client. The default is s=120 seconds. If jobs are submitted to the appliance through workload management tools that might suspend access to the appliance for a longer period, you might want to increase the timeout value.\",\"help\":\"TIMEOUT=*s*\",\"type\":\"value\"}]},{\"name\":\"RANDOM\",\"description\":\"The RANDOM statement defines the random effects constituting the γ vector in the mixed model. It can be used to specify traditional variance component models and to specify random coefficients. The random effects can be classification or continuous, and multiple RANDOM statements are possible. You can specify INTERCEPT (or INT) as a random effect to indicate the intercept. PROC HPLMIXED does not include the intercept in the RANDOM statement by default as it does in the MODEL statement.\",\"help\":\"RANDOM &lt;ALPHA=number&gt;&lt;CL&gt;&lt;SOLUTION&gt; ...\",\"arguments\":[{\"name\":\"ALPHA=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that a t-type confidence interval be constructed for each of the random-effect estimates with confidence level 1-number. The value of number must be between 0 and 1. If a value is specified it overrides the value from the ALPHA= option in the MODEL statement. The default value is 0.05.\",\"help\":\"ALPHA=*number*\",\"type\":\"value\"},{\"name\":\"CL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that t-type confidence limits be constructed for each of the random-effect estimates. The confidence level is 0.95 by default; this can be changed with the ALPHA= option.\",\"type\":\"standalone\"},{\"name\":\"SOLUTION\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"S\"],\"description\":\"Requests that the solution for the random-effects parameters be produced.\",\"type\":\"standalone\"},{\"name\":\"SUBJECT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"SUB=\"],\"description\":\"Identifies the subjects in your mixed model. Complete independence is assumed across subjects; thus, for the RANDOM statement, the SUBJECT= option produces a block-diagonal structure in G with identical blocks. The Z matrix is modified to accommodate this block diagonality. In fact, specifying a subject effect is equivalent to nesting all other effects in the RANDOM statement within the subject effect.\",\"help\":\"SUBJECT=*effect*\",\"type\":\"value\"},{\"name\":\"TYPE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the covariance structure of G.\",\"help\":\"TYPE=ANTE(1) | AR(1) | ARH(1) | ARMA(1,1) | CS | CSH | FA(q) | FA0(q) | HF | TOEP | TOEP(q) | TOEPH | TOEPH(q) | UN | UN(q) | UNR | UNR(q) | VC*covariance-structure*\",\"type\":\"value\",\"arguments\":[{\"name\":\"ANTE(1)\",\"followsDelimiter\":\"/\",\"description\":\"Specifies a first-order ante-dependence structure (see Kenward 1987, Patel 1991, and Macchiavelli and Arnold 1994)\",\"type\":\"standalone\"},{\"name\":\"AR(1)\",\"followsDelimiter\":\"/\",\"description\":\"Specifies a first-order autoregressive structure.\",\"type\":\"standalone\"},{\"name\":\"ARH(1)\",\"followsDelimiter\":\"/\",\"description\":\"Specifies a heterogeneous first-order autoregressive structure.\",\"type\":\"standalone\"},{\"name\":\"ARMA(1,1)\",\"followsDelimiter\":\"/\",\"description\":\"Specifies the first-order autoregressive moving-average structure\",\"type\":\"standalone\"},{\"name\":\"CS\",\"followsDelimiter\":\"/\",\"description\":\"Specifies the compound-symmetry structure, which has constant variance and constant covariance.\",\"type\":\"standalone\"},{\"name\":\"CSH\",\"followsDelimiter\":\"/\",\"description\":\"Specifies the heterogeneous compound-symmetry structure, which is an equi-correlation structure but allows for different variances.\",\"type\":\"standalone\"},{\"name\":\"FA(q)\",\"followsDelimiter\":\"/\",\"description\":\"Specifies the factor-analytic structure with q factors (Jennrich and Schluchter 1986).\",\"type\":\"standalone\"},{\"name\":\"FA0(q)\",\"followsDelimiter\":\"/\",\"description\":\"Is similar to the FA(q) structure except that no diagonal matrix D is included.\",\"type\":\"standalone\"},{\"name\":\"HF\",\"followsDelimiter\":\"/\",\"description\":\"Specifies the Huynh-Feldt covariance structure (Huynh and Feldt 1970). This structure is similar to the CSH structure in that it has the same number of parameters and heterogeneity along the main diagonal. However, it constructs the off-diagonal elements by taking arithmetic rather than geometric means.\",\"type\":\"standalone\"},{\"name\":\"TOEP\",\"followsDelimiter\":\"/\",\"description\":\"Specifies a full Toeplitz matrix, which can be viewed as an autoregressive structure with order equal to the dimension of the matrix.\",\"type\":\"standalone\"},{\"name\":\"TOEP(q)\",\"followsDelimiter\":\"/\",\"description\":\"Specifies a banded Toeplitz structure. This can be viewed as a moving-average structure with order equal to q-1.\",\"type\":\"standalone\"},{\"name\":\"TOEPH\",\"followsDelimiter\":\"/\",\"description\":\"Specifies a heterogeneous banded Toeplitz structure.\",\"type\":\"standalone\"},{\"name\":\"TOEPH(q)\",\"followsDelimiter\":\"/\",\"description\":\"Specifies a heterogeneous banded Toeplitz structure. PROC MIXED estimates only the first q bands of the matrix, setting all higher bands equal to 0.\",\"type\":\"standalone\"},{\"name\":\"UN\",\"followsDelimiter\":\"/\",\"description\":\"Specifies a completely general (unstructured) covariance matrix parameterized directly in terms of variances and covariances.\",\"type\":\"standalone\"},{\"name\":\"UN(q)\",\"followsDelimiter\":\"/\",\"description\":\"Specifies a completely general (unstructured) covariance matrix parameterized directly in terms of variances and covariances. PROC MIXED estimates only the first q bands of the matrix, setting all higher bands equal to 0.\",\"type\":\"standalone\"},{\"name\":\"UNR\",\"followsDelimiter\":\"/\",\"description\":\"Specifies a completely general (unstructured) covariance matrix parameterized in terms of variances and correlations.\",\"type\":\"standalone\"},{\"name\":\"UNR(q)\",\"followsDelimiter\":\"/\",\"description\":\"Specifies a completely general (unstructured) covariance matrix parameterized in terms of variances and correlations. PROC MIXED estimates only the first q bands of the matrix, setting all higher bands equal to zero.\",\"type\":\"standalone\"},{\"name\":\"VC\",\"followsDelimiter\":\"/\",\"aliases\":[\"SIMPLE\"],\"description\":\"Specifies standard variance components and is the default structure for both the RANDOM. In the RANDOM statement, a distinct variance component is assigned to each effect.\",\"type\":\"standalone\"}]}]},{\"name\":\"REPEATED\",\"description\":\"The REPEATED statement is used to specify the R matrix in the mixed model. If no REPEATED statement is specified, R is assumed to be equal tO σ²I. For this release,you can only use the REPEATED statement with BLUP option. The statement is ignored when there is no BLUP option specified. For many repeated measures models, no repeated effect is required in the REPEATED statement. Simply use the SUBJECT= option to define the blocks of R and the TYPE= option to define their covariance structure. In this case, the repeated measures data must be similarly ordered for each subject, and you must indicate all missing response variables with periods in the input data set unless they all fall at the end of a subject’s repeated response profile. These requirements are necessary in order to inform PROC HPLMIXED of the proper location of the observed repeated responses. When the HPLMIXED procedure operates in MPP mode in a distributed environment, the use of a repeated effect is required, since the order of the input data is not necessarily reproducible. Specifying a repeated effect is useful when you do not want to indicate missing values with periods in the input data set. The repeated effect must contain only classification variables. Make sure that the levels of the repeated effect are different for each observation within a subject; otherwise, PROC HPLMIXED constructs identical rows in R corresponding to the observations with the same level. This results in a singular R matrix and an infinite likelihood.\",\"help\":\"REPEATED &lt;SUBJECT=effect | SUB=effect&gt;&lt;TYPE=&lt;ANTE(1) | AR(1) | ARH(1)&gt;... &gt;\",\"arguments\":[{\"name\":\"SUBJECT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"SUB=\"],\"description\":\"Identifies the subjects in your mixed model. Complete independence is assumed across subjects; therefore, the SUBJECT= option produces a block-diagonal structure in R with identical blocks. When the SUBJECT= effect consists entirely of classification variables, the blocks of R correspond to observations sharing the same level of that effect. These blocks are sorted according to this effect as well.\",\"type\":\"value\"},{\"name\":\"TYPE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the covariance structure of the R matrix. The SUBJECT= option defines the blocks of R, and the TYPE= option specifies the structure of these blocks. The default structure is VC, which is only one supported for this release.\",\"help\":\"TYPE=ANTE(1) | AR(1) | ARH(1) | ARMA(1,1) | CS | CSH | FA(q) | FA0(q) | HF | TOEP | TOEP(q) | TOEPH | TOEPH(q) | UN | UN(q) | UNR | UNR(q) | VC*covariance-structure*\",\"type\":\"value\",\"arguments\":[{\"name\":\"ANTE(1)\",\"followsDelimiter\":\"/\",\"description\":\"Specifies a first-order ante-dependence structure (see Kenward 1987, Patel 1991, and Macchiavelli and Arnold 1994)\",\"type\":\"standalone\"},{\"name\":\"AR(1)\",\"followsDelimiter\":\"/\",\"description\":\"Specifies a first-order autoregressive structure.\",\"type\":\"standalone\"},{\"name\":\"ARH(1)\",\"followsDelimiter\":\"/\",\"description\":\"Specifies a heterogeneous first-order autoregressive structure.\",\"type\":\"standalone\"},{\"name\":\"ARMA(1,1)\",\"followsDelimiter\":\"/\",\"description\":\"Specifies the first-order autoregressive moving-average structure\",\"type\":\"standalone\"},{\"name\":\"CS\",\"followsDelimiter\":\"/\",\"description\":\"Specifies the compound-symmetry structure, which has constant variance and constant covariance.\",\"type\":\"standalone\"},{\"name\":\"CSH\",\"followsDelimiter\":\"/\",\"description\":\"Specifies the heterogeneous compound-symmetry structure, which is an equi-correlation structure but allows for different variances.\",\"type\":\"standalone\"},{\"name\":\"FA(q)\",\"followsDelimiter\":\"/\",\"description\":\"Specifies the factor-analytic structure with q factors (Jennrich and Schluchter 1986).\",\"type\":\"standalone\"},{\"name\":\"FA0(q)\",\"followsDelimiter\":\"/\",\"description\":\"Is similar to the FA(q) structure except that no diagonal matrix D is included.\",\"type\":\"standalone\"},{\"name\":\"HF\",\"followsDelimiter\":\"/\",\"description\":\"Specifies the Huynh-Feldt covariance structure (Huynh and Feldt 1970). This structure is similar to the CSH structure in that it has the same number of parameters and heterogeneity along the main diagonal. However, it constructs the off-diagonal elements by taking arithmetic rather than geometric means.\",\"type\":\"standalone\"},{\"name\":\"TOEP\",\"followsDelimiter\":\"/\",\"description\":\"Specifies a full Toeplitz matrix, which can be viewed as an autoregressive structure with order equal to the dimension of the matrix.\",\"type\":\"standalone\"},{\"name\":\"TOEP(q)\",\"followsDelimiter\":\"/\",\"description\":\"Specifies a banded Toeplitz structure. This can be viewed as a moving-average structure with order equal to q-1.\",\"type\":\"standalone\"},{\"name\":\"TOEPH\",\"followsDelimiter\":\"/\",\"description\":\"Specifies a heterogeneous banded Toeplitz structure.\",\"type\":\"standalone\"},{\"name\":\"TOEPH(q)\",\"followsDelimiter\":\"/\",\"description\":\"Specifies a heterogeneous banded Toeplitz structure. PROC HPLMIXED estimates only the first q bands of the matrix, setting all higher bands equal to 0.\",\"type\":\"standalone\"},{\"name\":\"UN\",\"followsDelimiter\":\"/\",\"description\":\"Specifies a completely general (unstructured) covariance matrix parameterized directly in terms of variances and covariances.\",\"type\":\"standalone\"},{\"name\":\"UN(q)\",\"followsDelimiter\":\"/\",\"description\":\"Specifies a completely general (unstructured) covariance matrix parameterized directly in terms of variances and covariances. PROC HPLMIXED estimates only the first q bands of the matrix, setting all higher bands equal to 0.\",\"type\":\"standalone\"},{\"name\":\"UNR\",\"followsDelimiter\":\"/\",\"description\":\"Specifies a completely general (unstructured) covariance matrix parameterized in terms of variances and correlations.\",\"type\":\"standalone\"},{\"name\":\"UNR(q)\",\"followsDelimiter\":\"/\",\"description\":\"Specifies a completely general (unstructured) covariance matrix parameterized in terms of variances and correlations. PROC HPLMIXED estimates only the first q bands of the matrix, setting all higher bands equal to zero.\",\"type\":\"standalone\"},{\"name\":\"VC\",\"followsDelimiter\":\"/\",\"aliases\":[\"SIMPLE\"],\"description\":\"Specifies standard variance components and is the default structure for both the RANDOM. In the RANDOM statement, a distinct variance component is assigned to each effect.\",\"type\":\"standalone\"}]}]}],\"supportSiteInformation\":{\"docsetId\":\"statug\",\"docsetVersion\":\"latest\",\"docsetTargetFile\":\"statug_hplmixed_toc.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/HPLOGISTIC.json",
    "content": "{\"name\":\"HPLOGISTIC\",\"statements\":[{\"name\":\"PROC HPLOGISTIC\",\"description\":\"The HPLOGISTIC procedure is a high-performance procedure that fits logistic regression models for binary, binomial, and multinomial data on the SAS appliance. † The HPLOGISTIC procedure fits logistic regression models in the broader sense; the procedure permits several link functions and can handle ordinal and nominal data with more than two response categories (multinomial data). † With the HPLOGISTIC procedure you can read and write data in distributed form and perform analyses in parallel in symmetric multiprocessing (SMP) or massively parallel processing (MPP) mode.\",\"help\":\"PROC HPLOGISTIC <ABSCONV= | ABSTOL=r><ABSFCONV=r<n> | ABSFTOL=r<n>><ABSGCONV=r<n> | ABSGTOL=r<n>><ALPHA=number><DATA=SAS-data-set><FCONV=r | FTOL=r><FMTLIBXML=file-ref><GCONV=r | GTOL=r><ITDETAILS><ITSELECT><MAXFUNC=i | MAXFU=i><MAXITER= | MAXIT=i <n>><MAXTIME=r><MINITER= | MINIT=i><NAMELEN=number><NOCLPRINT< =number >><NOITPRINT><NOPRINT><NORMALIZE=YES | NO><NOSTDERR><SINGCHOL=number><SINGSWEEP=number><SINGULAR=number><TECHNIQUE=CONGRA | DBLDOG | NEWRAP... >;     \\n\\tCLASS <DESCENDING><ORDER=<DATA | FORMATTED | FREQ>... ><REF=<'category'; | FIRST | LAST>> ...;\\n\\n\\tFREQ variable ;\\n\\n\\tID variables ;\\n\\n\\tMODEL <DESCENDING><EVENT=><ORDER=> ...;\\n\\n\\tOUTPUT LINP|XBETA < =name > OUT=SAS-data-set | DATA=SAS-data-set PREDICTED|PRED|P < =name > ...;\\n\\n\\tPERFORMANCE <COMMIT=n><CPUCOUNT=<ACTUAL | <num>>><DATASERVER=“name”> ...;\\n\\n\\tSELECTION <DETAILS=<NONE | SUMMARY | ALL>... ><HIERARCHY=<NONE | SINGLE | SINGLECLASS>><METHOD=<NONE | FORWARD | BACKWARD>... > ...;\\n\\n\\tWEIGHT variable;\\n\",\"arguments\":[{\"name\":\"ABSCONV=\",\"optional\":true,\"aliases\":[\"ABSTOL=\"],\"description\":\"Specifies an absolute function convergence criterion.\",\"type\":\"value\"},{\"name\":\"ABSFCONV=\",\"optional\":true,\"aliases\":[\"ABSFTOL=\"],\"description\":\"Specifies an absolute function difference convergence criterion.\",\"type\":\"value\"},{\"name\":\"ABSGCONV=\",\"optional\":true,\"aliases\":[\"ABSGTOL=\"],\"description\":\"Specifies the absolute gradient convergence criterion. Termination requires the maximum absolute gradient element to be small.\",\"type\":\"value\"},{\"name\":\"ALPHA=\",\"optional\":true,\"description\":\"Specifies a global significance level for the construction of confidence intervals. The confidence level is 1 - number. You can override the global specification with the ALPHA= option in the MODEL statement.\",\"help\":\"ALPHA=*number*\",\"type\":\"value\"},{\"name\":\"DATA=\",\"optional\":true,\"description\":\"Names the input SAS data set for PROC HPLOGISTIC to use. The default is the most recently created data set.\",\"help\":\"DATA=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"FCONV=\",\"optional\":true,\"aliases\":[\"FTOL=\"],\"description\":\"Specifies the relative function difference convergence criterion.\",\"type\":\"value\"},{\"name\":\"FMTLIBXML=\",\"optional\":true,\"description\":\"Specifies the file reference for the XML stream that contains the user-defined format definitions. Userdefined formats are handled differently in a distributed computing environment compared to other SAS products.\",\"help\":\"FMTLIBXML=*file-ref*\",\"type\":\"value\"},{\"name\":\"GCONV=\",\"optional\":true,\"aliases\":[\"GTOL=\"],\"description\":\"Specifies the relative gradient convergence criterion.\",\"type\":\"value\"},{\"name\":\"ITDETAILS\",\"optional\":true,\"description\":\"Adds to the “Iteration History” table the current values of the parameter estimates and their gradients. These quantities are reported only for parameters that participate in the optimization. The ITDETAILS option is not available with model selection.\",\"type\":\"standalone\"},{\"name\":\"ITSELECT\",\"optional\":true,\"description\":\"Generates the “Iteration History” table when you perform a model selection.\",\"type\":\"standalone\"},{\"name\":\"MAXFUNC=\",\"optional\":true,\"aliases\":[\"MAXFU=\"],\"description\":\"Specifies the maximum number n of function calls in the optimization process. The default values are as follows, depending on the optimization technique:\",\"type\":\"value\"},{\"name\":\"MAXITER=\",\"optional\":true,\"aliases\":[\"MAXIT=\"],\"description\":\"Specifies the maximum number n of iterations in the optimization process. The default values are as follows, depending on the optimization technique:\",\"type\":\"value\"},{\"name\":\"MAXTIME=\",\"optional\":true,\"description\":\"Specifies an upper limit of r seconds of CPU time for the optimization process. The default value is the largest floating-point double representation of your computer. Note that the time specified by the MAXTIME= option is checked only once at the end of each iteration. Therefore, the actual running time can be longer than that specified by the MAXTIME= option.\",\"help\":\"MAXTIME=*r*\",\"type\":\"value\"},{\"name\":\"MINITER=\",\"optional\":true,\"aliases\":[\"MINIT=\"],\"description\":\"Specifies the minimum number of iterations. The default value is 0. If you request more iterations than are actually needed for convergence to a stationary point, the optimization algorithms can behave strangely. For example, the effect of rounding errors can prevent the algorithm from continuing for the required number of iterations.\",\"type\":\"value\"},{\"name\":\"NAMELEN=\",\"optional\":true,\"description\":\"Specifies the length to which long effect names are shortened. The default and minimum value is 20.\",\"help\":\"NAMELEN=*number*\",\"type\":\"value\"},{\"name\":\"NOCLPRINT\",\"optional\":true,\"description\":\"Suppresses the display of the “Class Level Information” table if you do not specify number. If you specify number, the values of the classification variables are displayed for only those variables whose number of levels is less than number. Specifying a number helps to reduce the size of the “Class Level Information” table if some classification variables have a large number of levels.\",\"type\":\"standalone\"},{\"name\":\"NOITPRINT\",\"optional\":true,\"description\":\"Suppresses the generation of the “Iteration History” table.\",\"type\":\"standalone\"},{\"name\":\"NOPRINT\",\"optional\":true,\"description\":\"Suppresses the generation of ODS output.\",\"type\":\"standalone\"},{\"name\":\"NORMALIZE=\",\"optional\":true,\"description\":\"Specifies whether the objective function should be normalized during the optimization by the reciprocal of the used frequency count. The default is to normalize the objective function. This option affects the values reported in the “Iteration History” table. The results reported in the “Fit Statistics” are always displayed for the nonnormalized log-likelihood function.\",\"help\":\"NORMALIZE=YES | NO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YES\",\"description\":\"Specifies that the objective function should be normalized during the optimization by the reciprocal of the used frequency count. This is the default.\",\"type\":\"standalone\"},{\"name\":\"NO\",\"description\":\"Specifies that the objective function should not be normalized during the optimization by the reciprocal of the used frequency count.\",\"type\":\"standalone\"}]},{\"name\":\"NOSTDERR\",\"optional\":true,\"description\":\"Suppresses the computation of the covariance matrix and the standard errors of the logistic regression coefficients. When the model contains many variables (thousands), the inversion of the Hessian matrix to derive the covariance matrix and the standard errors of the regression coefficients can be time -consuming.\",\"type\":\"standalone\"},{\"name\":\"SINGCHOL=\",\"optional\":true,\"description\":\"Tunes the singularity criterion in Cholesky decompositions. The default is 1E4 times the machine epsilon; this product is approximately 1E-12 on most computers.\",\"help\":\"SINGCHOL=*number*\",\"type\":\"value\"},{\"name\":\"SINGSWEEP=\",\"optional\":true,\"description\":\"Tunes the singularity criterion for sweep operations. The default is 1E4 times the machine epsilon; this product is approximately 1E-12 on most computers.\",\"help\":\"SINGSWEEP=*number*\",\"type\":\"value\"},{\"name\":\"SINGULAR=\",\"optional\":true,\"description\":\"Tunes the general singularity criterion applied by the HPLOGISTIC procedure in sweeps and inversions. The default is 1E4 times the machine epsilon; this product is approximately 1E-12 on most computers.\",\"help\":\"SINGULAR=*number*\",\"type\":\"value\"},{\"name\":\"TECHNIQUE=\",\"optional\":true,\"aliases\":[\"TECH=\"],\"description\":\"Specifies the optimization technique to obtain maximum likelihood estimates.\",\"help\":\"TECHNIQUE=CONGRA | DBLDOG | NEWRAP | NMSIMP | NRRIDG | QUANEW | TRUREG | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"CONGRA\",\"description\":\"Chooses one of four different conjugate-gradient optimization algorithms, which can be more precisely defined with the UPDATE= option and modified with the LINESEARCH= option.\",\"type\":\"standalone\"},{\"name\":\"DBLDOG\",\"description\":\"Performs a version of double-dogleg optimization, which uses the gradient to update an approximation of the Cholesky factor of the Hessian.\",\"type\":\"standalone\"},{\"name\":\"NEWRAP\",\"description\":\"Performs a usually stable but, for large problems, memory- and time-consuming Newton-Raphson optimization technique. The algorithm combines a line-search algorithm with ridging, and it can be modified with the LINESEARCH= option.\",\"type\":\"standalone\"},{\"name\":\"NMSIMP\",\"description\":\"Performs a Nelder-Mead simplex optimization.\",\"type\":\"standalone\"},{\"name\":\"NRRIDG\",\"description\":\"Performs a usually stable but, for large problems, memory- and time-consuming Newton-Raphson optimization technique. This algorithm does not perform a line search.\",\"type\":\"standalone\"},{\"name\":\"QUANEW\",\"description\":\"Chooses one of four different quasi-Newton optimization algorithms that can be more precisely defined with the UPDATE= option and modified with the LINESEARCH= option.\",\"type\":\"standalone\"},{\"name\":\"TRUREG\",\"description\":\"Performs a usually very stable but, for large problems, memory- and time-consuming trust-region optimization technique. The algorithm is implemented similar to Gay (1983) and Moré and Sorensen (1983).\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"Does not perform any optimization. This option is similar to METHOD=NONE, but TECH=NONE also computes and displays residuals and goodness of fit statistics.\",\"type\":\"standalone\"}]}]},{\"name\":\"CLASS\",\"description\":\"The CLASS statement names the classification variables to be used as explanatory variables in the analysis. If a CLASS statement is specified, it must precede the MODEL statement.\",\"help\":\"CLASS &lt;DESCENDING&gt;&lt;ORDER=&lt;DATA | FORMATTED | FREQ&gt;... &gt;&lt;REF=&lt;'category'; | FIRST | LAST&gt;&gt; ...\",\"arguments\":[{\"name\":\"DESCENDING\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"DESC\"],\"description\":\"Reverses the sorting order of the classification variable. If both the DESCENDING and ORDER= options are specified, High-Performance Analytics procedures order the categories according to the ORDER= option and then reverse that order.\",\"type\":\"standalone\"},{\"name\":\"MISSING\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Treats missing values (“.”, “.A”, . . . , “.Z” for numeric variables and blanks for character variables) as valid values for the CLASS variable.\",\"type\":\"standalone\"},{\"name\":\"ORDER=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the sorting order for the levels of classification variables. This ordering determines which parameters in the model correspond to each level in the data.\",\"help\":\"ORDER=DATA | FORMATTED | FREQ | FREQDATA | FREQFORMATTED | FREQINTERNAL | INTERNAL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DATA\",\"followsDelimiter\":\"/\",\"description\":\"Levels sorted by the order of appearance in the input data set FORMATTED External formatted values, except for numeric.\",\"type\":\"standalone\"},{\"name\":\"FORMATTED\",\"followsDelimiter\":\"/\",\"description\":\"Levels sorted by the external formatted values, except for numeric variables with no explicit format, which are sorted by their unformatted (internal) values\",\"type\":\"standalone\"},{\"name\":\"FREQ\",\"followsDelimiter\":\"/\",\"description\":\"Levels sorted by the descending frequency count (levels with more observations come earlier in the order)\",\"type\":\"standalone\"},{\"name\":\"FREQDATA\",\"followsDelimiter\":\"/\",\"description\":\"Levels sorted by the order of descending frequency count, and within counts by order of appearance in the input data set when counts are tied\",\"type\":\"standalone\"},{\"name\":\"FREQFORMATTED\",\"followsDelimiter\":\"/\",\"description\":\"Levels sorted by the order of descending frequency count, and within counts by formatted value when counts are tied\",\"type\":\"standalone\"},{\"name\":\"FREQINTERNAL\",\"followsDelimiter\":\"/\",\"description\":\"Levels sorted by the Order of descending frequency count, and within counts by unformatted (internal) value when counts are tied\",\"type\":\"standalone\"},{\"name\":\"INTERNAL\",\"followsDelimiter\":\"/\",\"description\":\"Levels sorted by the unformatted value\",\"type\":\"standalone\"}]},{\"name\":\"PARAM=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the parameterization method for the classification variable or variables. The GLM parameterization is the default.\",\"help\":\"PARAM=GLM | REFERENCE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"GLM\",\"followsDelimiter\":\"/\",\"description\":\"Less-than-full-rank reference cell coding. This parameterization is used in, for example, the GLM, MIXED, and GLIMMIX procedures in SAS/STAT.\",\"type\":\"standalone\"},{\"name\":\"REFERENCE\",\"followsDelimiter\":\"/\",\"description\":\"Reference cell encoding. You can choose the reference value with a specific variable option in the CLASS statement, or designate the first or last ordered value with a globaloption. The default is REF=LAST.\",\"type\":\"standalone\"}]},{\"name\":\"REF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"REFERENCE=\"],\"description\":\"Specifies the reference level for PARAM=REFERENCE. For an individual (but not a global) variable REF= option, you can specify the level of the variable to use as the reference level. Specify the formatted value of the variable if a format is assigned. For a REF= option or global-option, you can use one of the following keywords. The default is REF=LAST.\",\"help\":\"REF='category'; | FIRST | LAST\",\"type\":\"choice\",\"arguments\":[{\"name\":\"'category';\",\"followsDelimiter\":\"/\",\"description\":\"You can specify the value (formatted if a format is applied) of the reference category in quotes.\",\"type\":\"standalone\"},{\"name\":\"FIRST\",\"followsDelimiter\":\"/\",\"description\":\"Designates the first-ordered category as reference.\",\"type\":\"standalone\"},{\"name\":\"LAST\",\"followsDelimiter\":\"/\",\"description\":\"Designates the last-ordered category as reference. This is the default.\",\"type\":\"standalone\"}]},{\"name\":\"TRUNCATE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the truncation width of formatted values of CLASS variables when the optional n is specified. If n is not specified, the TRUNCATE option requests that classification levels should be determined using no more than the first 16 characters of the formatted values of CLASS variables. When formatted values are longer than 16 characters, you can use this option in order to revert to the levels as determined in releases prior to SAS 9.\",\"type\":\"standalone\"},{\"name\":\"UPCASE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Uppercases the values of character-valued CLASS variables before levelizing them. For example, if the UPCASE option is in effect and a CLASS variable can take the values ‘a’, ‘A’, and ‘b’, then ‘a’ and ‘A’ represent the same level and the CLASS variable is treated as having only two values: ‘A’ and ‘B’.\",\"type\":\"standalone\"}]},{\"name\":\"FREQ\",\"description\":\"The variable in the FREQ statement identifies a numeric variable in the data set that contains the frequency of occurrence for each observation. SAS High-Performance Analytics procedures that support the FREQ statement treat each observation as if it appeared f times, where f is the value of the FREQ variable for the observation. If the frequency value is not an integer, it is truncated to an integer. If the frequency value is less than 1 or missing, the observation is not used in the analysis. When the FREQ statement is not specified, each observation is assigned a frequency of 1.\",\"help\":\"FREQ variable \"},{\"name\":\"ID\",\"description\":\"The ID statement lists one or more variables from the input data set that are transferred to output data sets created by High-Performance Analytics procedures, provided that the output data set contains one (or more) records per input observation. For example, when an OUTPUT statement is used to produce observationwise scores or prediction statistics, ID variables are added to the output data set. By default, High-Performance Analytics procedures do not include all variables from the input data set in output data sets.\",\"help\":\"ID variables \"},{\"name\":\"MODEL\",\"description\":\"The MODEL statement defines the statistical model in terms of a response variable (the target) or an events/trials specification, model effects constructed from variables in the input data set, and options. An intercept is included in the model by default. You can remove the intercept with the NOINT option. You can specify a single response variable that contains your binary, ordinal, or nominal response values. When you have binomial data, you can specify the events/trials form of the response, where one variable contains the number of positive responses (or events) and another variable contains the number of trials. Note that the values of both events and (trials – events) must be nonnegative and the value of trials must be positive. There are two sets of options in the MODEL statement. The response-options determine how the HPLOGISTIC procedure models probabilities for binary data. The model-options control other aspects of model formation and inference. Response Variable Options DESCENDING reverses the response categories EVENT=’category’|FIRST|LAST specifies the event category ORDER=DATA|FORMATTED|FREQ|INTERNAL specifies the sort order REF= specifies the reference category\",\"help\":\"MODEL &lt;DESCENDING&gt;&lt;EVENT=&gt;&lt;ORDER=&gt; ...\",\"arguments\":[{\"name\":\"ALPHA=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that confidence intervals for each of the parameters be constructed with confidence level 1–number. The value of number must be between 0 and 1; the default is 0.05.\",\"help\":\"ALPHA=*number*\",\"type\":\"value\"},{\"name\":\"CL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that confidence limits be constructed for each of the parameter estimates. The confidence level is 0.95 by default; this can be changed with the ALPHA= option.\",\"type\":\"standalone\"},{\"name\":\"DDFM=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies how degrees of freedom for statistical inference be determined in the “Parameter Estimates Table.”\",\"help\":\"DDFM=RESIDUAL | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"RESIDUAL\",\"followsDelimiter\":\"/\",\"description\":\"If you specify DDFM=RESIDUAL, the degrees of freedom are finite and determined by the number of usable frequencies (observations) minus the number of nonredundant model parameters. This leads to t-based statistical tests and confidence intervals. If the number of frequencies is large relative to the number of parameters, the inferences from the two degrees-of-freedom methods are almost identical.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"followsDelimiter\":\"/\",\"description\":\"This is the default, which leads to z-based statistical tests and confidence intervals. The HPLOGISTIC procedure then displays the degrees of freedom in the DF column as Infty, the p-values are identical to those from a Wald chi-square test, and the square of the t value equals the Wald chisquare statistic.\",\"type\":\"standalone\"}]},{\"name\":\"DESCENDING\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"DESC\"],\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"EVENT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"\",\"type\":\"value\"},{\"name\":\"INCLUDE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Syntax: INCLUDE=n INCLUDE=single-effect INCLUDE=(effects) Forces effects to be included in all models. If you specify INCLUDE=n, then the first n effects that are listed in the MODEL statement are included in all models. If you specify INCLUDE=single-effect or if you specify a list of effects within parentheses, then the specified effects are forced into all models. The effects that you specify in the INCLUDE= option must be explanatory effects that are specified in the MODEL statement before the slash (/).\",\"help\":\"INCLUDE=*n*\",\"type\":\"value\"},{\"name\":\"LACKFIT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Performs the Hosmer and Lemeshow goodness-of-fit test (Hosmer and Lemeshow 2000) for binary response models.\",\"help\":\"LACKFIT=DFREDUCE= | NGROUPS=\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DFREDUCE=\",\"type\":\"value\"},{\"name\":\"NGROUPS=\",\"type\":\"value\"}]},{\"name\":\"LINK=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"L=\"],\"description\":\"Specifies the link function for the model.\",\"help\":\"LINK=CLOGLOG | GLOGIT | LOGIT | LOGLOG | PROBIT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"CLOGLOG\",\"followsDelimiter\":\"/\",\"aliases\":[\"CLL\"],\"description\":\"Complementary log-log function\",\"type\":\"standalone\"},{\"name\":\"GLOGIT\",\"followsDelimiter\":\"/\",\"aliases\":[\"GENLOGIT\"],\"description\":\"Generalized logit function\",\"type\":\"standalone\"},{\"name\":\"LOGIT\",\"followsDelimiter\":\"/\",\"description\":\"Logit function\",\"type\":\"standalone\"},{\"name\":\"LOGLOG\",\"followsDelimiter\":\"/\",\"description\":\"Log-log function\",\"type\":\"standalone\"},{\"name\":\"PROBIT\",\"followsDelimiter\":\"/\",\"description\":\"Probit function.\",\"type\":\"standalone\"}]},{\"name\":\"NOINT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that no intercept be included in the model. An intercept is included by default. The NOINT option is not available in multinomial models.\",\"type\":\"standalone\"},{\"name\":\"OFFSET=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies a variable to be used as an offset to the linear predictor. An offset plays the role of an effect whose coefficient is known to be 1. The offset variable cannot appear in the CLASS statement or elsewhere in the MODEL statement. Observations with missing values for the offset variable are excluded from the analysis.\",\"help\":\"OFFSET=*variable*\",\"type\":\"value\"},{\"name\":\"ORDER=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"\",\"type\":\"value\"},{\"name\":\"REF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"\",\"type\":\"value\"},{\"name\":\"RSQUARE\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"R2\"],\"description\":\"Requests a generalized coefficient of determination (R square) and a scaled version thereof for the fitted model. The results are added to the “Fit Statistics” table.\",\"type\":\"standalone\"},{\"name\":\"START=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Syntax: START=n START=single-effect START=(effects) Begins the selection process from the designated initial model for the FORWARD and STEPWISE selection methods. If you specify START=n, then the starting model includes the first n effects that are listed in the MODEL statement. If you specify START=single-effect or if you specify a list of effects within parentheses, then the starting model includes those specified effects. The effects that you specify in the START= option must be explanatory effects that are specified in the MODEL statement before the slash (/). The START= option is not available when you specify METHOD=BACKWARD in the SELECTION statement.\",\"help\":\"START=*n*\",\"type\":\"value\"}]},{\"name\":\"OUTPUT\",\"description\":\"\",\"help\":\"OUTPUT LINP|XBETA &lt; =name &gt; OUT=SAS-data-set | DATA=SAS-data-set PREDICTED|PRED|P &lt; =name &gt; ...\",\"arguments\":[{\"name\":\"LINP\",\"aliases\":[\"XBETA\"],\"description\":\"Requests the linear predictor Ƞ=x’β.\",\"type\":\"standalone\"},{\"name\":\"OUT=\",\"aliases\":[\"DATA=\"],\"description\":\"Specifies the name of the output data set. If the OUT= (or DATA=) option is omitted, the procedure uses the DATAn convention to name the output data set.\",\"type\":\"value\"},{\"name\":\"PEARSON\",\"aliases\":[\"PEARS\",\"RESCHI\"],\"description\":\"Requests the Pearson residual.\",\"type\":\"standalone\"},{\"name\":\"PREDICTED\",\"aliases\":[\"PRED\"],\"description\":\"Requests predicted values (predicted probabilities of events) for the response variable.\",\"type\":\"standalone\"},{\"name\":\"RESIDUAL\",\"aliases\":[\"RESID\"],\"description\":\"Requests the raw residual, y - μ, where μ is the estimate of the predicted event probability. This statistic is not computed for multinomial models.\",\"type\":\"standalone\"},{\"name\":\"OBSCAT\",\"optional\":true,\"description\":\"Requests (for multinomial models) that observationwise statistics be produced for the response level only. If the OBSCAT option is not specified and the response variable has J levels, then the following outputs are created: for cumulative link models, J - 1 records are output for every observation in the input data that corresponds to the J - 1 lower-ordered response categories; for generalized logit models, J records are output that correspond to all J response categories.\",\"type\":\"standalone\"}]},{\"name\":\"PERFORMANCE\",\"description\":\"The PERFORMANCE statement defines performance parameters for multithreaded and distributed computing, passes variables about the distributed computing environment, and requests detailed results about the performance characteristics of a High-Performance Analytics procedure. With the PERFORMANCE statement, you can also control whether the HPLOGISTIC procedure executes in SMP or MPP mode.\",\"help\":\"PERFORMANCE &lt;COMMIT=n&gt;&lt;CPUCOUNT=&lt;ACTUAL | &lt;num&gt;&gt;&gt;&lt;DATASERVER=“name”&gt; ...\",\"arguments\":[{\"name\":\"COMMIT=\",\"optional\":true,\"description\":\"Requests that the High-Performance Analytics procedure write periodic updates to the SAS Log when observations are sent from the client to the appliance for distributed processing.\",\"help\":\"COMMIT=*n*\",\"type\":\"value\"},{\"name\":\"CPUCOUNT=\",\"optional\":true,\"description\":\"Specifies how many processors the procedure assumes are available on each host in the computing environment. num can be any integer from 1 to 256. CPUCOUNT=ACTUAL sets CPUCOUNT to the number of physical processors available. This number can be less than the physical number of CPUs if the SAS process has been restricted by system administration tools. Setting CPUCOUNT= to a number greater than the actual number of available CPUs might result in reduced performance. This option overrides the CPUCOUNT= SAS system option.\",\"help\":\"CPUCOUNT=ACTUAL | &lt;*num*&gt;\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ACTUAL\",\"description\":\"Sets CPUCOUNT to the number of physical processors available. This number can be less than the physical number of CPUs if the SAS process has been restricted by system administration tools.\",\"type\":\"standalone\"},{\"name\":\"num\",\"placeholder\":true,\"description\":\"Replace <num> with an actual number. Setting CPUCOUNT= to a number greater than the actual number of available CPUs might result in reduced performance. This option overrides the CPUCOUNT= SAS system option.\",\"type\":\"standaloneOrValue\"}]},{\"name\":\"DATASERVER=\",\"optional\":true,\"description\":\"Specifies the name of the server on Teradata systems as defined through the hosts file and as used in the LIBNAME statement for Teradata. For example, if the hosts file defines myservercop1 33.44.55.66 as the server for Teradata, then a LIBNAME specification would be as follows: libname TDLib teradata server=myserver user= password= database= ; A PERFORMANCE statement to induce running alongside the Teradata server would specify the following:\",\"type\":\"value\"},{\"name\":\"DETAILS\",\"optional\":true,\"description\":\"Requests a table that shows a timing breakdown of the procedure steps.\",\"type\":\"standalone\"},{\"name\":\"HOST=\",\"optional\":true,\"aliases\":[\"GRIDHOST=\"],\"description\":\"Specifies the name of the appliance host in single or double quotes. If the HOST= option is specified, it overrides the value of the GRIDHOST environment variable.\",\"type\":\"value\"},{\"name\":\"INSTALL=\",\"optional\":true,\"aliases\":[\"INSTALLLOC=\"],\"description\":\"Specifies the directory in which the High-Performance Analytics shared libraries are installed on the appliance. Specifying the INSTALL= option overrides the GRIDINSTALLLOC environment variable.\",\"type\":\"value\"},{\"name\":\"NODES=\",\"optional\":true,\"aliases\":[\"NNODES=\"],\"description\":\"Specifies the number of nodes in the distributed computing environment, provided that the data are not processed alongside the database.\",\"type\":\"value\"},{\"name\":\"NTHREADS=\",\"optional\":true,\"description\":\"Specifies the number of threads for analytic computations and overrides the SAS system option THREADS | NOTHREADS. If you do not specify the NTHREADS= option, the number of threads are determined based on the number of CPUs on the host on which the analytic computations execute. The algorithm by which a CPU count is converted to a thread count is specific to the High- Performance Analytics procedure. Most procedures create one thread per CPU for the analytic computations. By default, High-Performance Analytics procedures execute in multiple concurrent threads unless turned off by the NOTHREADS system option or you force single-threaded execution with NTHREADS=1. The largest number that can be specified for n is 256. Individual High-Performance Analytics procedures can impose more stringent limits if called for by algorithmic considerations. You can affect the determination of the CPU count with the CPUCOUNT= option in the PERFORMANCE statement.\",\"help\":\"NTHREADS=*n*\",\"type\":\"value\"},{\"name\":\"TIMEOUT=\",\"optional\":true,\"description\":\"Specifies the timeout in seconds for a High-Performance Analytics procedure to wait for a connection to the appliance and establish a connection back to the client. The default is s=120 seconds. If jobs are submitted to the appliance through workload management tools that might suspend access to the appliance for a longer period, you might want to increase the timeout value.\",\"help\":\"TIMEOUT=*s*\",\"type\":\"value\"}]},{\"name\":\"SELECTION\",\"description\":\"The SELECTION statement performs model selection by examining whether effects should be added to or removed from the model according to rules defined by model selection methods.\",\"help\":\"SELECTION &lt;DETAILS=&lt;NONE | SUMMARY | ALL&gt;... &gt;&lt;HIERARCHY=&lt;NONE | SINGLE | SINGLECLASS&gt;&gt;&lt;METHOD=&lt;NONE | FORWARD | BACKWARD&gt;... &gt; ...\",\"arguments\":[{\"name\":\"DETAILS=\",\"optional\":true,\"description\":\"Specifies the level of detail about the selection process that is produced. The default is DETAILS= SUMMARY. The DETAILS=ALL and DETAILS=STEPS options produce the following output:\",\"help\":\"DETAILS=NONE | SUMMARY | ALL | STEPS\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NONE\",\"description\":\"Produces no detail about the selection process that is produced.\",\"type\":\"standalone\"},{\"name\":\"SUMMARY\",\"description\":\"Produces only the selection summary, stop reason, selection reason, and selected effects tables.\",\"type\":\"standalone\"},{\"name\":\"ALL\",\"description\":\"The DETAILS=ALL option produces the following output: o tables that provide information about the model selected at each step of the selection process. o entry and removal statistics for inclusion or exclusion candidates at each step. By default, only the top 10 candidates at each step are shown. If you specify STEPS(CANDIDATES(n)), then the best n candidates are shown. If you specify STEPS(CANDIDATES(ALL)), then all candidates are shown. o a selection summary table that shows by step the effect that is added to or removed from the model in addition to the values of the SELECT, STOP, and CHOOSE criteria for the resulting model. o a stop reason table that describes why the selection process stopped. o a selection reason table that describes why the selected model was chosen. o a selected effects table that lists the effects that are in the selected model.\",\"type\":\"standalone\"},{\"name\":\"STEPS\",\"description\":\"Syntax: DETAILS=STEPS< CANDIDATES(ALL | n) > This option produces the following output: o tables that provide information about the model selected at each step of the selection process. o entry and removal statistics for inclusion or exclusion candidates at each step. By default, only the top 10 candidates at each step are shown. If you specify STEPS(CANDIDATES(n)), then the best n candidates are shown. If you specify STEPS(CANDIDATES(ALL)), then all candidates are shown. o a selection summary table that shows by step the effect that is added to or removed from the model in addition to the values of the SELECT, STOP, and CHOOSE criteria for the resulting model. o a stop reason table that describes why the selection process stopped. o a selection reason table that describes why the selected model was chosen. o a selected effects table that lists the effects that are in the selected model.\",\"type\":\"standalone\"}]},{\"name\":\"HIERARCHY=\",\"optional\":true,\"description\":\"Specifies whether and how the model hierarchy requirement is applied. This option also controls whether a single effect or multiple effects are allowed to enter or leave the model in one step. You can specify that only classification effects, or both classification and continuous effects, be subject to the hierarchy requirement. The HIERARCHY= option is ignored unless you also specify one of the following options: METHOD=FORWARD, METHOD=BACKWARD, or METHOD=STEPWISE.\",\"help\":\"HIERARCHY=NONE | SINGLE | SINGLECLASS\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NONE\",\"description\":\"Specifies that model hierarchy not be maintained. Any single effect can enter or leave the model at any given step of the selection process. This is the default.\",\"type\":\"standalone\"},{\"name\":\"SINGLE\",\"description\":\"Specifies that only one effect enter or leave the model at one time, subject to the model hierarchy requirement. For example, suppose that the model contains the main effects A and B and the interaction A*B. In the first step of the selection process, either A or B can enter the model. In the second step, the other main effect can enter the model. The interaction effect can enter the model only when both main effects have already entered. Also, before A or B can be removed from the model, the A*B interaction must first be removed. All effects (CLASS and interval) are subject to the hierarchy requirement.\",\"type\":\"standalone\"},{\"name\":\"SINGLECLASS\",\"description\":\"Is the same as HIERARCHY=SINGLE except that only CLASS effects are subject to the hierarchy requirement.\",\"type\":\"standalone\"}]},{\"name\":\"METHOD=\",\"optional\":true,\"aliases\":[\"SELECTION=\"],\"description\":\"Specifies the method used to select the model, optionally followed by parentheses enclosing options that are applicable to the specified method. The default selection method (when the METHOD= option is not specified) is METHOD=STEPWISE. method can be one of the following:\",\"help\":\"METHOD=NONE | FORWARD | BACKWARD | STEPWISE | LAR | LASSO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NONE\",\"description\":\"Specifies no model selection.\",\"type\":\"standalone\"},{\"name\":\"FORWARD\",\"description\":\"Specifies forward selection. This method starts with no effects in the model and adds effects.\",\"type\":\"standalone\"},{\"name\":\"BACKWARD\",\"description\":\"Specifies backward elimination. This method starts with all effects in the model and deletes effects.\",\"type\":\"standalone\"},{\"name\":\"STEPWISE\",\"description\":\"Specifies stepwise regression. This method is similar to the FORWARD method except that effects already in the model do not necessarily stay there.\",\"type\":\"standalone\"},{\"name\":\"LAR\",\"description\":\"Adding effects to an empty model. The parameter estimates at any step are “shrunk” when compared to the corresponding least squares estimates. If the model contains classification variables, then these classification variables are split.\",\"type\":\"standalone\"},{\"name\":\"LASSO\",\"description\":\"Adds and deletes parameters based on a version of ordinary least squares where the sum of the absolute regression coefficients is constrained. If the model contains classification variables, then these classification variables are split.\",\"type\":\"standalone\"}]},{\"name\":\"STOPHORIZON=\",\"optional\":true,\"description\":\"Specifies the number of consecutive steps at which the STOP= criterion must worsen for a local extremum to be detected. The default value is STOPHORIZON=3. The stop horizon value is ignored if you also specify STOP=NONE or STOP=SL. For example, suppose that STOP=AIC and the sequence of AIC values at steps 1 to 6 of a selection are 10, 7, 4, 6, 5, 2. If STOPHORIZON=2, then the AIC criterion is deemed to have a local minimum at step 3 because the AIC value at the next two steps are greater than the value of 4 that occurs at step 3. However, if STOPHORIZON=3, then the value of step 3 is not deemed to be a local minimum because the AIC value at step 6 is lower than the AIC value at step 3.\",\"help\":\"STOPHORIZON=*n*\",\"type\":\"value\"}]},{\"name\":\"WEIGHT\",\"description\":\"The variable in the WEIGHT statement is used as a weight to perform a weighted analysis of the data. Observations with nonpositive or missing weights are not included in the analysis. If a WEIGHT statement is not included, all observations used in the analysis are assigned a weight of 1.\",\"help\":\"WEIGHT variable\"}],\"supportSiteInformation\":{\"docsetId\":\"statug\",\"docsetVersion\":\"latest\",\"docsetTargetFile\":\"statug_hplogistic_toc.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/HPMIXED.json",
    "content": "{\"name\":\"HPMIXED\",\"statements\":[{\"name\":\"PROC HPMIXED\",\"description\":\"The HPMIXED procedure uses a number of specialized high-performance techniques to fit linear mixed models with variance component structure. The HPMIXED procedure is specifically designed to cope with estimation problems involving a large number of fixed effects, a large number of random effects, or a large number of observations. † The HPMIXED procedure complements the MIXED procedure and other SAS/STAT procedures for mixed modeling. On the one hand, the models supported by the HPMIXED procedure are a subset of the models that you can fit with the MIXED procedure, and the confirmatory inferences available in the HPMIXED procedure are also a subset of the general analyses available with the MIXED procedure. On the other hand, the HPMIXED procedure can have considerably better performance than other SAS/STAT mixed modeling tools, in terms of memory requirements and computational speed.\",\"help\":\"PROC HPMIXED <DATA=SAS-data-set><INFOCRIT=NONE | PQ | Q><ITDETAILS><MAXCLPRINT=number><METHOD=REML><MMEQ><NAMELEN=number><NOCLPRINT<=number>><NOFIT><NOINFO><NOITPRINT><NOPRINT><NOPROFILE><ORDER=DATA | FORMATTED | FREQ... ><SINGCHOL=number><SINGRES=number><SINGULAR=number>;     \\n\\tBY <DESCENDING><NOTSORTED> ;\\n\\n\\tCLASS <TRUNCATE> ;\\n\\n\\tCONTRAST <CHISQ><DF=number><E> ...;\\n\\n\\tEFFECT EFFECT-NAME=COLLECTION|LAG|MULTIMEMBER|MM...  <PERIOD=variable><WITHIN=(variables) | WITHIN=variable> ...;\\n\\n\\tESTIMATE <ALPHA=number><CL><DIVISOR=number> ...;\\n\\n\\tID variables ;\\n\\n\\tLSMEANS <CL><COV><E> ...;\\n\\n\\tMODEL <ALPHA=number><CL><DDF=value-list> ...;\\n\\n\\tNLOPTIONS <ABSCONV= | ABSTOL=r><ABSFCONV=r <n> | ABSFTOL=r<n>><ABSGCONV= | ABSGTOL=r <n>> ...;\\n\\n\\tOUTPUT OUT=SAS-data-set PREDICTED= STDERR= ...;\\n\\n\\tPARMS <HOLD=value-list><NOITER><PARMSDATA=SAS-data-set> ...;\\n\\n\\tRANDOM <ALPHA=number><CL><GROUP=effect> ...;\\n\\n\\tREPEATED <GROUP=effect><R<=value-list>><RC<=value-list>> ...;\\n\\n\\tTEST <CHISQ><E><HTYPE=value-list> ...;\\n\\n\\tWEIGHT variable;\\n\",\"arguments\":[{\"name\":\"DATA=\",\"optional\":true,\"description\":\"Names the SAS data set to be used by PROC HPMIXED. The default is the most recently created data set.\",\"help\":\"DATA=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"INFOCRIT=\",\"optional\":true,\"aliases\":[\"IC=\"],\"description\":\"Determines the computation of information criteria in the \\\"Fit Statistics\\\" table.\",\"help\":\"INFOCRIT=NONE | PQ | Q\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NONE\",\"description\":\"Suppresses the \\\"Fit Statistics\\\" table.\",\"type\":\"standalone\"},{\"name\":\"PQ\",\"description\":\"For models with random effects, the number of parameters in the optimization whose solutions do not fall on the boundary or are otherwise constrained is incremented by rank(X).\",\"type\":\"standalone\"},{\"name\":\"Q\",\"description\":\"IC=Q is the default.\",\"type\":\"standalone\"}]},{\"name\":\"ITDETAILS\",\"optional\":true,\"description\":\"Specifies the maximum levels of CLASS variables to print in the ODS table \\\"ClassLevels.\\\"\",\"type\":\"standalone\"},{\"name\":\"MAXCLPRINT=\",\"optional\":true,\"description\":\"Specifies the maximum levels of CLASS variables to print in the ODS table \\\"ClassLevels.\\\" The default value is 20. MAXCLPRINT=0 enables you to print all levels of each CLASS variable.\",\"help\":\"MAXCLPRINT=*number*\",\"type\":\"value\"},{\"name\":\"METHOD=\",\"optional\":true,\"description\":\"Specifies the estimation method for the covariance parameters. There is no other choice at this experimental stage.\",\"help\":\"METHOD=REML\",\"type\":\"choice\",\"arguments\":[{\"name\":\"REML\",\"description\":\"The REML specification performs residual (restricted) maximum likelihood, and it is the default method.\",\"type\":\"standalone\"}]},{\"name\":\"MMEQ\",\"optional\":true,\"description\":\"Displays coefficients of the mixed model equations.\",\"type\":\"standalone\"},{\"name\":\"NAMELEN=\",\"optional\":true,\"description\":\"Specifies the length to which long effect names are shortened. The default and minimum value is 20.\",\"help\":\"NAMELEN=*number*\",\"type\":\"value\"},{\"name\":\"NOCLPRINT\",\"optional\":true,\"description\":\"Suppresses the display of the \\\"Class Level Information\\\" table if you do not specify number. If you do specify number, only levels with totals that are less than number are listed in the table.\",\"type\":\"standalone\"},{\"name\":\"NOFIT\",\"optional\":true,\"description\":\"Suppresses fitting of the model. When the NOFIT option is in effect, PROC HPMIXED produces the \\\"Model Information,\\\" \\\"Class Level Information,\\\" \\\"Number of Observations,\\\" \\\"Dimensions,\\\" and \\\"Descriptive Statistics\\\" tables.\",\"type\":\"standalone\"},{\"name\":\"NOINFO\",\"optional\":true,\"description\":\"Suppresses the display of the \\\"Model Information,\\\" \\\"Number of Observations,\\\" and \\\"Dimensions\\\" tables.\",\"type\":\"standalone\"},{\"name\":\"NOITPRINT\",\"optional\":true,\"description\":\"Suppresses the display of the \\\"Iteration History\\\" table.\",\"type\":\"standalone\"},{\"name\":\"NOPRINT\",\"optional\":true,\"description\":\"Suppresses the normal display of results.\",\"type\":\"standalone\"},{\"name\":\"NOPROFILE\",\"optional\":true,\"description\":\"Includes the residual variance as one of the covariance parameters in the optimization iterations.\",\"type\":\"standalone\"},{\"name\":\"ORDER=\",\"optional\":true,\"description\":\"Specifies the sorting order for the levels of all CLASS variables. The default is ORDER=FORMATTED.\",\"help\":\"ORDER=DATA | FORMATTED | FREQ | INTERNAL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DATA\",\"description\":\"Levels sorted by the order of appearance in the input data set.\",\"type\":\"standalone\"},{\"name\":\"FORMATTED\",\"description\":\"Levels sorted by the external formatted value, except for numeric variables with no explicit format, which are sorted by their unformatted (internal) value.\",\"type\":\"standalone\"},{\"name\":\"FREQ\",\"description\":\"Levels sorted by the descending frequency count; levels with the most observations come first in the order.\",\"type\":\"standalone\"},{\"name\":\"INTERNAL\",\"description\":\"Levels sorted by the unformatted value.\",\"type\":\"standalone\"}]},{\"name\":\"SINGCHOL=\",\"optional\":true,\"description\":\"Tunes the singularity criterion in Cholesky decompositions. The default is 1E6 times the machine epsilon; this product is approximately 1E-10 on most computers.\",\"help\":\"SINGCHOL=*number*\",\"type\":\"value\"},{\"name\":\"SINGRES=\",\"optional\":true,\"description\":\"Sets the tolerance for which the residual variance is considered to be zero. The default is 1E4 times the machine epsilon; this product is approximately 1E-12 on most computers.\",\"help\":\"SINGRES=*number*\",\"type\":\"value\"},{\"name\":\"SINGULAR=\",\"optional\":true,\"description\":\"Tunes the general singularity criterion applied by the HPMIXED procedure in divisions and inversions. The default is 1E4 times the machine epsilon; this product is approximately 1E-12 on most computers.\",\"help\":\"SINGULAR=*number*\",\"type\":\"value\"}]},{\"name\":\"BY\",\"description\":\"You can specify a BY statement with PROC HPMIXED to obtain separate analyses on observations in groups that are defined by the BY variables. When a BY statement appears, the procedure expects the input data set to be sorted in order of the BY variables. If you specify more than one BY statement, only the last one specified is used.\",\"help\":\"BY &lt;DESCENDING&gt;&lt;NOTSORTED&gt;\",\"arguments\":[{\"name\":\"DESCENDING\",\"optional\":true,\"description\":\"Specifies that the observations are sorted in descending order by the variable that immediately follows the word DESCENDING in the BY statement.\",\"type\":\"standalone\"},{\"name\":\"NOTSORTED\",\"optional\":true,\"description\":\"Specifies that observations are not necessarily sorted in alphabetic or numeric order.\",\"type\":\"standalone\"}]},{\"name\":\"CLASS\",\"description\":\"The CLASS statement names the classification variables to be used in the model. If you specify the CLASS statement, it must appear before the MODEL statement.\",\"help\":\"CLASS &lt;TRUNCATE&gt;\",\"arguments\":[{\"name\":\"TRUNCATE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies that class levels should be determined by using no more than the first 16 characters of the formatted values of CLASS variables.\",\"type\":\"standalone\"}]},{\"name\":\"CONTRAST\",\"description\":\"The CONTRAST statement provides a mechanism for obtaining custom hypothesis tests.\",\"help\":\"CONTRAST &lt;CHISQ&gt;&lt;DF=number&gt;&lt;E&gt; ...\",\"arguments\":[{\"name\":\"CHISQ\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that chi-square tests be performed in addition to any F tests.\",\"type\":\"standalone\"},{\"name\":\"DF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the denominator degrees of freedom for the F test.\",\"help\":\"DF=*number*\",\"type\":\"value\"},{\"name\":\"E\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that the L matrix coefficients for the contrast be displayed.\",\"type\":\"standalone\"},{\"name\":\"GROUP\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Sets up random-effect contrasts between different groups when a GROUP variable appears in the RANDOM statement.\",\"type\":\"standalone\"},{\"name\":\"SINGULAR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Tunes the estimability checking.\",\"help\":\"SINGULAR=*number*\",\"type\":\"value\"},{\"name\":\"SUBJECT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Sets up random-effect contrasts between different subjects when a SUBJECT= variable appears in the RANDOM statement.\",\"type\":\"standalone\"}]},{\"name\":\"EFFECT\",\"description\":\"The name of the effect is specified after the EFFECT keyword. This name can appear in only one EFFECT statement and cannot be the name of a variable in the input data set. The effect-type is specified after an equal sign, followed by a list of variables within parentheses which are used in constructing the effect. Effect-options that are specific to an effect-type can be specified after a slash (/) following the variable list. The EFFECT statement enables you to construct special collections of columns for design matrices. These collections are referred to as constructed effects to distinguish them from the usual model effects formed from continuous or classification variables.\",\"help\":\"EFFECT EFFECT-NAME=COLLECTION|LAG|MULTIMEMBER|MM...  &lt;PERIOD=variable&gt;&lt;WITHIN=(variables) | WITHIN=variable&gt; ...\",\"arguments\":[{\"name\":\"EFFECT-NAME=\",\"placeholder\":true,\"description\":\"Replace 'EFFECT-NAME' with the name of the effect, specified after the EFFECT keyword. This name can appear in only one EFFECT statement and cannot be the name of a variable in the input data set. These values can be used: COLLECTION, LAG, MULTIMEMBER, POLYNOMIAL, or SPLINE.\",\"type\":\"value\"},{\"name\":\"BASIS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"[For the SPLINE effect-type only] Specifies a basis for the spline expansion.\",\"help\":\"BASIS=BSPLINE | TPF\",\"type\":\"choice\",\"arguments\":[{\"name\":\"BSPLINE\",\"followsDelimiter\":\"/\",\"description\":\"Specifies a B-spline basis for the spline expansion.\",\"type\":\"standalone\"},{\"name\":\"TPF\",\"followsDelimiter\":\"/\",\"description\":\"Syntax: TPF(options) Specifies a truncated power function basis for the spline expansion. You can modify the number of columns when you request BASIS=TPF with the following options: NOINT excludes the intercept column. NOPOWERS excludes the intercept and polynomial columns.\",\"type\":\"standalone\"}]},{\"name\":\"DATABOUNDARY\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"[For the SPLINE effect-type only] Specifies that the extremes of the data be used as boundary knots when building a B-spline basis.\",\"type\":\"standalone\"},{\"name\":\"DEGREE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"\",\"help\":\"DEGREE=*n*\",\"type\":\"value\"},{\"name\":\"DESIGNROLE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"\",\"help\":\"DESIGNROLE=*variable*\",\"type\":\"value\"},{\"name\":\"DETAILS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"[For the LAG | COLLECTION | MULTIMEMBER | POLYNOMIAL |SPLINE effect-type] Requests a table that shows the (1) lag design matrix of the lag effect, or (2) constituents of the collection effect, or (3) levels of the multimember effect, or (4) details of the specified polynomial, or (5) knot locations and the knots associated with each spline basis function.\",\"type\":\"standalone\"},{\"name\":\"KNOTMAX=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"\",\"help\":\"KNOTMAX=*value*\",\"type\":\"value\"},{\"name\":\"KNOTMETHOD=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"[For the SPLINE effect-type only] Specifies how to construct the knots for spline effects.\",\"help\":\"KNOTMETHOD=EQUAL | LIST | LISTWITHBOUNDARY | MULTISCALE | PERCENTILES | RANGEFRACTIONS\",\"type\":\"choice\",\"arguments\":[{\"name\":\"EQUAL\",\"followsDelimiter\":\"/\",\"description\":\"Syntax: EQUAL<(n)> Specifies that n equally spaced knots be positioned between the extremes of the data. The default is n=3. For a B-spline basis, any needed boundary knots continue to be equally spaced unless the DATABOUNDARY option has also been specified. KNOTMETHOD=EQUAL is the default if no knot-method is specified.\",\"type\":\"standalone\"},{\"name\":\"LIST\",\"followsDelimiter\":\"/\",\"description\":\"Syntax: LIST(number-list) Specifies the list of internal knots to be used in forming the spline basis columns. For a B-spline basis, the data extremes are used as boundary knots.\",\"type\":\"standalone\"},{\"name\":\"LISTWITHBOUNDARY\",\"followsDelimiter\":\"/\",\"description\":\"Syntax: LISTWITHBOUNDARY(number-list) Specifies the list of all knots that are used in forming the spline basis columns.\",\"type\":\"standalone\"},{\"name\":\"MULTISCALE\",\"followsDelimiter\":\"/\",\"description\":\"Syntax: MULTISCALE<(multiscale-options)> Specifies that multiple B-spline bases be generated, corresponding to sets with an increasing number of internal knots. You can control which scales are included with the following multiscale-options: STARTSCALE=n specifies the start scale, where n is a positive integer. The default is STARTSCALE=0. ENDSCALE=n specifies the end scale, where n is a positive integer. The default is ENDSCALE=7.\",\"type\":\"standalone\"},{\"name\":\"PERCENTILES\",\"followsDelimiter\":\"/\",\"description\":\"Syntax: PERCENTILES(n) Requests that internal knots be placed at n equally spaced percentiles of the variable or variables named in the EFFECT statement.\",\"type\":\"standalone\"},{\"name\":\"RANGEFRACTIONS\",\"followsDelimiter\":\"/\",\"description\":\"Syntax: RANGEFRACTIONS(fraction-list) Requests that internal knots be placed at each fraction of the ranges of the variables in the EFFECT statement.\",\"type\":\"standalone\"}]},{\"name\":\"KNOTMIN=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"\",\"help\":\"KNOTMIN=*value*\",\"type\":\"value\"},{\"name\":\"LABELSTYLE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"\",\"help\":\"LABELSTYLE=EXPAND | EXPONENT | INCLUDENAME | PRODUCTSYMBOL=\",\"type\":\"choice\",\"arguments\":[{\"name\":\"EXPAND\",\"followsDelimiter\":\"/\",\"description\":\"Specifies that each variable with an exponent greater than 1 be written as products of that variable.\",\"type\":\"standalone\"},{\"name\":\"EXPONENT\",\"followsDelimiter\":\"/\",\"description\":\"Syntax: EXPONENT <=quoted string> Specifies that each variable with an exponent greater than 1 be written using exponential notation. By default, the symbol ^ is used as the exponentiation operator. If you supply the optional quoted string after an equal sign, then that string is used as the exponentiation operator.\",\"type\":\"standalone\"},{\"name\":\"INCLUDENAME\",\"followsDelimiter\":\"/\",\"description\":\"Specifies that the name of the effect followed by an underscore be used as a prefix for term labels.\",\"type\":\"standalone\"},{\"name\":\"PRODUCTSYMBOL=\",\"followsDelimiter\":\"/\",\"description\":\"Syntax: PRODUCTSYMBOL=NONE | quoted string Specifies that the supplied string be used as the product symbol.\",\"type\":\"value\"}]},{\"name\":\"MDEGREE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"\",\"help\":\"MDEGREE=*n*\",\"type\":\"value\"},{\"name\":\"NLAG=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"\",\"type\":\"value\"},{\"name\":\"NOEFFECT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"[For the MULTIMEMBER effect-type only] Specifies that, for observations with all missing levels of the multimember variables, the values in the corresponding design matrix columns be set to zero.\",\"type\":\"standalone\"},{\"name\":\"NOSEPARATE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"[For the POLYNOMIAL effect-type only] Specifies that the polynomial be treated as a single effect with multiple degrees of freedom. The effect name that you specify is used as the constructed effect name, and the labels of the terms are used as labels of the corresponding parameters.\",\"type\":\"standalone\"},{\"name\":\"PERIOD=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the period variable of the LAG design. The number of periods is the number of unique formatted values of the PERIOD= variable, and the ordering of the period is formed by sorting these formatted values in ascending order. You must specify a PERIOD= variable.\",\"help\":\"PERIOD=*variable*\",\"type\":\"value\"},{\"name\":\"SEPARATE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"[For the SPLINE effect-type only] Specifies that when multiple variables are specified in the EFFECT statement, the spline basis for each variable be treated as a separate effect. The names of these separated effects are formed by appending an underscore followed by the name of the variable to the name that you specify in the EFFECT statement.\",\"type\":\"standalone\"},{\"name\":\"SPLIT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"[For the SPLINE effect-type only] Specifies that each individual column in the design matrix that corresponds to the spline effect be treated as a separate effect that can enter or leave the model independently. Names for these split effects are generated by appending the variable name and an index for each column to the name that you specify in the EFFECT statement.\",\"type\":\"standalone\"},{\"name\":\"STANDARDIZE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies that the variables that define the polynomial be standardized. By default, the standardized variables receive prefix \\\"s_\\\" in the variable names. You can use the following centerscale-opts to specify how the center and scale are estimated: METHOD=MOMENTS specifies that the center be estimated by the variable mean and the scale be estimated by the standard deviation. METHOD=RANGE specifies that the center be estimated by the midpoint of the variable range and the scale be estimated as half the variable range. METHOD=WMOMENTS is the same as METHOD=MOMENTS except that weighted means and weighted standard deviations are used.\",\"help\":\"STANDARDIZECENTER | CENTERSCALE | NONE | SCALE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"CENTER\",\"followsDelimiter\":\"/\",\"description\":\"Specifies that variables be centered but not scaled.\",\"type\":\"standalone\"},{\"name\":\"CENTERSCALE\",\"followsDelimiter\":\"/\",\"description\":\"Specifies that variables be centered and scaled. This is the default if you do not specify a standardization-opt.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"followsDelimiter\":\"/\",\"description\":\"Specifies that no standardization be performed.\",\"type\":\"standalone\"},{\"name\":\"SCALE\",\"followsDelimiter\":\"/\",\"description\":\"Specifies that variables be scaled but not centered.\",\"type\":\"standalone\"}]},{\"name\":\"STDIZE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"[For the MULTIMEMBER effect-type only] Specifies that for each observation, the entries in the design matrix that corresponds to the multimember effect be scaled to have a sum of one.\",\"type\":\"standalone\"},{\"name\":\"WEIGHT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"\",\"help\":\"WEIGHT=*wght-list*\",\"type\":\"value\"},{\"name\":\"WITHIN=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"\",\"type\":\"value\"}]},{\"name\":\"ESTIMATE\",\"description\":\"The ESTIMATE statement provides a mechanism for obtaining custom hypothesis tests.\",\"help\":\"ESTIMATE &lt;ALPHA=number&gt;&lt;CL&gt;&lt;DIVISOR=number&gt; ...\",\"arguments\":[{\"name\":\"ALPHA=\",\"optional\":true,\"description\":\"Requests that a t-type confidence interval be constructed with confidence level 1-number. The value of number must be between 0 and 1 exclusively; the default is 0.05.\",\"type\":\"value\"},{\"name\":\"CL\",\"optional\":true,\"description\":\"Requests that t-type confidence limits be constructed. If DDFM=NONE and you do not specify degrees of freedom with the DF= option, PROC HPMIXED uses infinite degrees of freedom, essentially computing a z interval. The confidence level is 0.95 by default.\",\"type\":\"standalone\"},{\"name\":\"DF=\",\"optional\":true,\"description\":\"Specifies the degrees of freedom for the t-test.\",\"help\":\"DF=*number*\",\"type\":\"value\"},{\"name\":\"DIVISOR=\",\"optional\":true,\"description\":\"Specifies a value by which to divide all coefficients so that fractional coefficients can be entered as integer numerators.\",\"help\":\"DIVISOR=*number*\",\"type\":\"value\"},{\"name\":\"E\",\"optional\":true,\"description\":\"Requests that the L matrix coefficients be displayed.\",\"type\":\"standalone\"},{\"name\":\"GROUP\",\"optional\":true,\"description\":\"Sets up random-effect contrasts between different groups when a GROUP variable appears in the RANDOM statement.\",\"type\":\"standalone\"},{\"name\":\"SINGULAR=\",\"optional\":true,\"description\":\"Tunes the estimability checking.\",\"help\":\"SINGULAR=*number*\",\"type\":\"value\"},{\"name\":\"SUBJECT\",\"optional\":true,\"description\":\"Sets up random-effect estimates between different subjects when a SUBJECT= variable appears in the RANDOM statement.\",\"type\":\"standalone\"}]},{\"name\":\"ID\",\"description\":\"The ID statement specifies which variables from the input data set are to be included in the OUT= data sets from the OUTPUT statement. If you do not specify an ID statement, then all variables are included in these data sets.\",\"help\":\"ID variables \"},{\"name\":\"LSMEANS\",\"description\":\"The LSMEANS statement computes least squares means (LS-means) of fixed effects.\",\"help\":\"LSMEANS &lt;CL&gt;&lt;COV&gt;&lt;E&gt; ...\",\"arguments\":[{\"name\":\"ALPHA=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that a t-type confidence interval be constructed for each of the LS-means with confidence level 1-number. The value of number must be between 0 and 1; the default is 0.05.\",\"help\":\"ALPHA=*number*\",\"type\":\"value\"},{\"name\":\"CL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that t-type confidence limits be constructed for each of the LS-means.\",\"type\":\"standalone\"},{\"name\":\"CORR\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays the estimated correlation matrix of the least squares means as part of the \\\"Least Squares Means\\\" table.\",\"type\":\"standalone\"},{\"name\":\"COV\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays the estimated covariance matrix of the least squares means as part of the \\\"Least Squares Means\\\" table.\",\"type\":\"standalone\"},{\"name\":\"DF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the degrees of freedom for the t test and confidence limits.\",\"help\":\"DF=*number*\",\"type\":\"value\"},{\"name\":\"E\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that the L coefficients for all LSMEANS effects be displayed.\",\"type\":\"standalone\"},{\"name\":\"SINGULAR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Tunes the estimability checking.\",\"help\":\"SINGULAR=*number*\",\"type\":\"value\"}]},{\"name\":\"MODEL\",\"description\":\"The MODEL statement names a single dependent variable and the fixed effects, which determine the X matrix of the mixed model.\",\"help\":\"MODEL &lt;ALPHA=number&gt;&lt;CL&gt;&lt;DDF=value-list&gt; ...\",\"arguments\":[{\"name\":\"ALPHA=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that a t-type confidence interval be constructed for each of the fixed-effects parameters with confidence level 1-number. The value of number must be between 0 and 1; the default is 0.05.\",\"help\":\"ALPHA=*number*\",\"type\":\"value\"},{\"name\":\"CL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that t-type confidence limits be constructed for each of the fixed-effects parameter estimates.\",\"type\":\"standalone\"},{\"name\":\"DDF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Enables you to specify your own denominator degrees of freedom for the fixed effects.\",\"help\":\"DDF=*value-list*\",\"type\":\"value\"},{\"name\":\"DDFM=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the method for computing the denominator degrees of freedom for the tests of fixed effects resulting from the MODEL, CONTRAST, ESTIMATE, LSMEANS, and TEST statements.\",\"help\":\"DDFM=RESIDUAL | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"RESIDUAL\",\"followsDelimiter\":\"/\",\"description\":\"Performs all tests by using the residual degrees of freedom, n-rank(X), where n is the number of observations used.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"followsDelimiter\":\"/\",\"description\":\"Specifies that no denominator degrees of freedom be applied.\",\"type\":\"standalone\"}]},{\"name\":\"NOINT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that no intercept be included in the model. An intercept is included by default.\",\"type\":\"standalone\"},{\"name\":\"SOLUTION\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that a solution for the fixed-effects parameters be produced.\",\"type\":\"standalone\"},{\"name\":\"ZETA=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Tunes the sensitivity in forming Type III functions.\",\"help\":\"ZETA=*number*\",\"type\":\"value\"}]},{\"name\":\"NLOPTIONS\",\"description\":\"You can control the optimization of nonlinear parameters through options in this NLOPTIONS statement.\",\"help\":\"NLOPTIONS &lt;ABSCONV= | ABSTOL=r&gt;&lt;ABSFCONV=r &lt;n&gt; | ABSFTOL=r&lt;n&gt;&gt;&lt;ABSGCONV= | ABSGTOL=r &lt;n&gt;&gt; ...\",\"arguments\":[{\"name\":\"ABSCONV=\",\"optional\":true,\"aliases\":[\"ABSTOL=\"],\"description\":\"Specifies an absolute function convergence criterion.\",\"type\":\"value\"},{\"name\":\"ABSFCONV=\",\"optional\":true,\"aliases\":[\"ABSFTOL=\"],\"description\":\"Specifies an absolute function convergence criterion.\",\"type\":\"value\"},{\"name\":\"ABSGCONV=\",\"optional\":true,\"aliases\":[\"ABSGTOL=\"],\"description\":\"Specifies an absolute gradient convergence criterion. Termination requires the maximum absolute gradient element to be small.\",\"type\":\"value\"},{\"name\":\"ABSXCONV=\",\"optional\":true,\"aliases\":[\"ABSXTOL=\"],\"description\":\"Specifies the absolute parameter convergence criterion. Termination requires a small Euclidean distance between successive parameter vectors.\",\"type\":\"value\"},{\"name\":\"ASINGULAR=\",\"optional\":true,\"aliases\":[\"ASING=\"],\"description\":\"Specifies an absolute singularity criterion r, r > 0, for the inversion of the information matrix, which is needed to compute the covariance matrix.\",\"type\":\"value\"},{\"name\":\"DAMPSTEP=\",\"optional\":true,\"aliases\":[\"DS=\"],\"description\":\"Specifies that the initial step-size value a⁰ for each line search (used by the QUANEW, CONGRA, or NEWRAP technique) cannot be larger than r times the step-size value used in the former iteration.\",\"type\":\"value\"},{\"name\":\"FCONV2=\",\"optional\":true,\"aliases\":[\"FTOL2=\"],\"description\":\"Specifies a second function convergence criterion.\",\"type\":\"value\"},{\"name\":\"FCONV=\",\"optional\":true,\"aliases\":[\"FTOL=\"],\"description\":\"Specifies the relative function convergence criterion.\",\"type\":\"value\"},{\"name\":\"FSIZE=\",\"optional\":true,\"description\":\"Specifies the FSIZE parameter of the relative function and relative gradient termination criteria. The default value is r=0.\",\"help\":\"FSIZE=*r*\",\"type\":\"value\"},{\"name\":\"GCONV2=\",\"optional\":true,\"description\":\"Specifies another relative gradient convergence criterion.\",\"type\":\"value\"},{\"name\":\"GCONV=\",\"optional\":true,\"aliases\":[\"GTOL=\"],\"description\":\"Specifies the relative gradient convergence criterion.\",\"type\":\"value\"},{\"name\":\"HESCAL=\",\"optional\":true,\"aliases\":[\"HS=\"],\"description\":\"Specifies the scaling version of the Hessian or crossproduct Jacobian matrix used in NRRIDG, TRUREG, LEVMAR, NEWRAP, or DBLDOG optimization.\",\"help\":\"HESCAL=0 | 1 | 2 | 3\",\"type\":\"choice\",\"arguments\":[{\"name\":\"0\",\"description\":\"Specifies that no scaling is done.\",\"type\":\"standalone\"},{\"name\":\"1\",\"description\":\"Specifies the Moré (1978) scaling update\",\"type\":\"standalone\"},{\"name\":\"2\",\"description\":\"Specifies the Dennis, Gay, and Welsch (1981) scaling update\",\"type\":\"standalone\"},{\"name\":\"3\",\"description\":\"Specifies that di is reset in each iteration\",\"type\":\"standalone\"}]},{\"name\":\"INHESSIAN=\",\"optional\":true,\"description\":\"Specifies how the initial estimate of the approximate Hessian is defined for the quasi-Newton techniques QUANEW and DBLDOG.\",\"type\":\"value\"},{\"name\":\"INSTEP=\",\"optional\":true,\"aliases\":[\"SALPHA=\",\"RADIUS=\"],\"description\":\"Reduces the length of the first trial step during the line search of the first iterations.\",\"help\":\"INSTEP=*r*\",\"type\":\"value\"},{\"name\":\"LCDEACT=\",\"optional\":true,\"aliases\":[\"LCD=\"],\"description\":\"Specifies a threshold r for the Lagrange multiplier that decides whether an active inequality constraint remains active or can be deactivated.\",\"type\":\"value\"},{\"name\":\"LCEPSILON=\",\"optional\":true,\"aliases\":[\"LCEPS=\",\"LCE=\"],\"description\":\"Specifies the range r, r ≥ 0, for active and violated boundary and linear constraints.\",\"type\":\"value\"},{\"name\":\"LCSINGULAR=\",\"optional\":true,\"aliases\":[\"LCSING=\",\"LCS=\"],\"description\":\"Specifies a criterion r, r ≥ 0, used in the update of the QR decomposition that decides whether an active constraint is linearly dependent on a set of other active constraints.\",\"type\":\"value\"},{\"name\":\"LINESEARCH=\",\"optional\":true,\"aliases\":[\"LIS=\",\"SMETHOD=\",\"SM=\"],\"description\":\"Specifies the line-search method for the CONGRA, QUANEW, and NEWRAP optimization techniques.\",\"help\":\"LINESEARCH=1 | 2 | 3 | 4 | 5 | 6 | 7 | 8\",\"type\":\"choice\",\"arguments\":[{\"name\":\"1\",\"description\":\"Specifies a line-search method that needs the same number of function and gradient calls for cubic interpolation and cubic extrapolation; this method is similar to one used by the Harwell subroutine library.\",\"type\":\"standalone\"},{\"name\":\"2\",\"description\":\"Specifies a line-search method that needs more function calls than gradient calls for quadratic and cubic interpolation and cubic extrapolation; this method is implemented as shown in Fletcher (1987) and can be modified to an exact line search by using the LSPRECISION= option.\",\"type\":\"standalone\"},{\"name\":\"3\",\"description\":\"Specifies a line-search method that needs the same number of function and gradient calls for cubic interpolation and cubic extrapolation; this method is implemented as shown in Fletcher (1987) and can be modified to an exact line search by using the LSPRECISION= option.\",\"type\":\"standalone\"},{\"name\":\"4\",\"description\":\"Specifies a line-search method that needs the same number of function and gradient calls for stepwise extrapolation and cubic interpolation\",\"type\":\"standalone\"},{\"name\":\"5\",\"description\":\"Specifies a line-search method that is a modified version of LIS=4.\",\"type\":\"standalone\"},{\"name\":\"6\",\"description\":\"Specifies golden section line search (Polak 1971), which uses only function values for linear approximation.\",\"type\":\"standalone\"},{\"name\":\"7\",\"description\":\"Specifies bisection line search (Polak 1971), which uses only function values for linear approximation.\",\"type\":\"standalone\"},{\"name\":\"8\",\"description\":\"Specifies Armijo line-search technique (Polak 1971), which uses only function values for linear approximation.\",\"type\":\"standalone\"}]},{\"name\":\"LSPRECISION=\",\"optional\":true,\"aliases\":[\"LSP=\",\"SPRECISION=\",\"SP=\"],\"description\":\"Specifies the degree of accuracy that should be obtained by the line-search algorithms LIS=2 and LIS=3. The default LSPRECISION= values are:\",\"type\":\"value\"},{\"name\":\"MAXFUNC=\",\"optional\":true,\"aliases\":[\"MAXFU=\"],\"description\":\"Requires the number of function calls to be no larger than i. The default values are:\",\"type\":\"value\"},{\"name\":\"MAXITER=\",\"optional\":true,\"aliases\":[\"MAXIT=\"],\"description\":\"Requires the number of iterations to be no larger than i. The default values are:\",\"type\":\"value\"},{\"name\":\"MAXSTEP=\",\"optional\":true,\"description\":\"Specifies an upper bound for the step length of the line-search algorithms during the first n iterations.\",\"type\":\"value\"},{\"name\":\"MAXTIME=\",\"optional\":true,\"description\":\"Requires the CPU time to be no larger than r. The default value of the MAXTIME= option is the largest double floating-point number on your computer.\",\"help\":\"MAXTIME=*r*\",\"type\":\"value\"},{\"name\":\"MINITER=\",\"optional\":true,\"aliases\":[\"MINIT=\"],\"description\":\"Specifies the minimum number of iterations. The default value is 0.\",\"type\":\"value\"},{\"name\":\"MSINGULAR=\",\"optional\":true,\"aliases\":[\"MSING=\"],\"description\":\"Specifies a relative singularity criterion r, r > 0, for the inversion of the information matrix, which is needed to compute the covariance matrix.\",\"type\":\"value\"},{\"name\":\"NOPRINT\",\"optional\":true,\"description\":\"Suppresses output related to optimization such as the iteration history.\",\"type\":\"standalone\"},{\"name\":\"PALL\",\"optional\":true,\"aliases\":[\"ALL\"],\"description\":\"[Displays information about the starting values and final values of the optimization process.\",\"type\":\"standalone\"},{\"name\":\"PHISTORY\",\"optional\":true,\"aliases\":[\"PHIS\"],\"description\":\"Displays the optimization history. The PHISTORY option is set automatically if the PALL or PRINT option is set.\",\"type\":\"standalone\"},{\"name\":\"RESTART=\",\"optional\":true,\"aliases\":[\"REST=\"],\"description\":\"Specifies that the QUANEW or CONGRA algorithm is restarted with a steepest descent/ascent search direction after at most i iterations, i > 0.\",\"type\":\"value\"},{\"name\":\"SINGULAR=\",\"optional\":true,\"aliases\":[\"SING=\"],\"description\":\"Specifies the singularity criterion r, 0 < r < 1, used, for example, for matrix inversion.\",\"type\":\"value\"},{\"name\":\"SOCKET=\",\"optional\":true,\"description\":\"Specifies the fileref that contains the information needed for remote monitoring.\",\"type\":\"value\"},{\"name\":\"TECHNIQUE=\",\"optional\":true,\"aliases\":[\"TECH=\",\"OMETHOD=\",\"OM=\"],\"description\":\"Specifies the optimization technique.\",\"help\":\"TECHNIQUE=CONGRA | DBLDOG | LEVMAR | NEWRAP | NRRIDG | QUANEW | TRUREG | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"CONGRA\",\"description\":\"Chooses one of four different conjugate-gradient optimization algorithms, which can be more precisely defined with the UPDATE= option and modified with the LINESEARCH= option.\",\"type\":\"standalone\"},{\"name\":\"DBLDOG\",\"description\":\"Performs a version of double-dogleg optimization, which uses the gradient to update an approximation of the Cholesky factor of the Hessian.\",\"type\":\"standalone\"},{\"name\":\"LEVMAR\",\"description\":\"Performs a highly stable but, for large problems, memory- and time-consuming Levenberg-Marquardt optimization technique, a slightly improved variant of the Moré (1978) implementation. This is the default optimization technique if there are fewer than 40 parameters to estimate.\",\"type\":\"standalone\"},{\"name\":\"NEWRAP\",\"description\":\"Performs a usually stable but, for large problems, memory- and time-consuming Newton-Raphson optimization technique. The algorithm combines a line-search algorithm with ridging, and it can be modified with the LINESEARCH= option.\",\"type\":\"standalone\"},{\"name\":\"NRRIDG\",\"description\":\"Performs a usually stable but, for large problems, memory- and time-consuming Newton-Raphson optimization technique. This algorithm does not perform a line search.\",\"type\":\"standalone\"},{\"name\":\"QUANEW\",\"description\":\"Chooses one of four different quasi-Newton optimization algorithms that can be more precisely defined with the UPDATE= option and modified with the LINESEARCH= option.\",\"type\":\"standalone\"},{\"name\":\"TRUREG\",\"description\":\"Performs a usually very stable but, for large problems, memory- and time-consuming trust-region optimization technique. The algorithm is implemented similar to Gay (1983) and Moré and Sorensen (1983).\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"Does not perform any optimization. This option is similar to METHOD=NONE, but TECH=NONE also computes and displays residuals and goodness of fit statistics.\",\"type\":\"standalone\"}]},{\"name\":\"UPDATE=\",\"optional\":true,\"description\":\"Specifies the update method for the quasi-Newton, double-dogleg, or conjugate-gradient optimization technique.\",\"help\":\"UPDATE=BFGS | DBFGS | DDFP | DFP | PB | FR | PR | CD\",\"type\":\"choice\",\"arguments\":[{\"name\":\"BFGS\",\"description\":\"Performs the original Broyden, Fletcher, Goldfarb, and Shanno (BFGS) update of the inverse Hessian matrix.\",\"type\":\"standalone\"},{\"name\":\"DBFGS\",\"description\":\"Performs the dual BFGS update of the Cholesky factor of the Hessian matrix. This is the default update method.\",\"type\":\"standalone\"},{\"name\":\"DDFP\",\"description\":\"Performs the dual Davidon, Fletcher, and Powell (DFP) update of the Cholesky factor of the Hessian matrix.\",\"type\":\"standalone\"},{\"name\":\"DFP\",\"description\":\"Performs the original DFP update of the inverse Hessian matrix.\",\"type\":\"standalone\"},{\"name\":\"PB\",\"description\":\"Performs the automatic restart update method of Powell (1977) and Beale (1972).\",\"type\":\"standalone\"},{\"name\":\"FR\",\"description\":\"Performs the Fletcher-Reeves update (Fletcher 1987).\",\"type\":\"standalone\"},{\"name\":\"PR\",\"description\":\"Performs the Polak-Ribiere update (Fletcher 1987).\",\"type\":\"standalone\"},{\"name\":\"CD\",\"description\":\"Performs a conjugate-descent update of Fletcher (1987).\",\"type\":\"standalone\"}]},{\"name\":\"VERSION=\",\"optional\":true,\"aliases\":[\"VS=\"],\"description\":\"Specifies the version of the quasi-Newton optimization technique with nonlinear constraints.\",\"help\":\"VERSION=1 | 2\",\"type\":\"choice\",\"arguments\":[{\"name\":\"1\",\"description\":\"Specifies the update of the U vector as in Powell (1978a, 1978b) (update like VF02AD).\",\"type\":\"standalone\"},{\"name\":\"2\",\"description\":\"Specifies the update of the U vector as in Powell (1982a, 1982b) (update like VMCWD).\",\"type\":\"standalone\"}]},{\"name\":\"VSINGULAR=\",\"optional\":true,\"aliases\":[\"VSING=\"],\"description\":\"Specifies a relative singularity criterion r, r > 0, for the inversion of the information matrix, which is needed to compute the covariance matrix.\",\"type\":\"value\"},{\"name\":\"XCONV=\",\"optional\":true,\"aliases\":[\"XTOL=\"],\"description\":\"Specifies the relative parameter convergence criterion. Termination requires a small relative parameter change in subsequent iterations.\",\"type\":\"value\"},{\"name\":\"XSIZE=\",\"optional\":true,\"description\":\"Specifies the XSIZE parameter of the relative function and relative gradient termination criteria. The default value is r=0.\",\"help\":\"XSIZE=*r*\",\"type\":\"value\"}]},{\"name\":\"OUTPUT\",\"description\":\"where: keyword<(keyword-options)> <=name> specifies a statistic to include in the output data set and optionally assigns the variable the name, name. The OUTPUT statement creates a data set that contains predicted values and residual diagnostics, computed after fitting the model. By default, all variables in the original data set are included in the output data set. You can use the keyword-options to control which type of a particular statistic to compute. The keyword-options can take on the following values: BLUP uses the predictors of the random effects in computing the statistic. NOBLUP does not use the predictors of the random effects in computing the statistic. The default is to compute statistics by using BLUPs.\",\"help\":\"OUTPUT OUT=SAS-data-set PREDICTED= STDERR= ...\",\"arguments\":[{\"name\":\"LCL=\",\"description\":\"Outputs the following statistic: LCL<=name> Lower prediction limit for linear predictor; default variable name: \\\"LCL\\\"\",\"help\":\"LCL=BLUP | NOBLUP\",\"type\":\"choice\",\"arguments\":[{\"name\":\"BLUP\",\"type\":\"standalone\"},{\"name\":\"NOBLUP\",\"type\":\"standalone\"}]},{\"name\":\"OUT=\",\"description\":\"Specifies the name of the output data set. If the OUT= (or DATA=) option is omitted, the procedure uses the DATAn convention to name the output data set.\",\"help\":\"OUT=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"PEARSON=\",\"description\":\"Outputs the following statistic: PEARSON<=name> Pearson-type residual; default variable name: \\\"Pearson\\\"\",\"help\":\"PEARSON=NOBLUP\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NOBLUP\",\"type\":\"standalone\"}]},{\"name\":\"PREDICTED=\",\"aliases\":[\"PRED=\"],\"description\":\"Outputs the following statistic: PREDICTED<=name> Linear predictor; default variable name: \\\"Pred\\\"\",\"help\":\"PREDICTED=BLUP | NOBLUP\",\"type\":\"choice\",\"arguments\":[{\"name\":\"BLUP\",\"type\":\"standalone\"},{\"name\":\"NOBLUP\",\"type\":\"standalone\"}]},{\"name\":\"RESIDUAL=\",\"aliases\":[\"RESID=\"],\"description\":\"Outputs the following statistic: RESIDUAL<=name> Residual; default variable name: \\\"Resid\\\"\",\"help\":\"RESIDUAL=BLUP | NOBLUP\",\"type\":\"choice\",\"arguments\":[{\"name\":\"BLUP\",\"type\":\"standalone\"},{\"name\":\"NOBLUP\",\"type\":\"standalone\"}]},{\"name\":\"STDERR=\",\"aliases\":[\"STD=\"],\"description\":\"Outputs the following statistic: STDERR<=name> Standard deviation of linear predictor; default variable name: \\\"StdErr\\\"\",\"help\":\"STDERR=BLUP | NOBLUP\",\"type\":\"choice\",\"arguments\":[{\"name\":\"BLUP\",\"type\":\"standalone\"},{\"name\":\"NOBLUP\",\"type\":\"standalone\"}]},{\"name\":\"STUDENT=\",\"description\":\"Outputs the following statistic: STUDENT<=name> Studentized residual; default variable name: \\\"Student\\\"\",\"help\":\"STUDENT=NOBLUP\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NOBLUP\",\"type\":\"standalone\"}]},{\"name\":\"UCL=\",\"description\":\"Outputs the following statistic: UCL<=name> Upper prediction limit for linear predictor; default variable name: \\\"UCL\\\"\",\"help\":\"UCL=BLUP | NOBLUP\",\"type\":\"choice\",\"arguments\":[{\"name\":\"BLUP\",\"type\":\"standalone\"},{\"name\":\"NOBLUP\",\"type\":\"standalone\"}]},{\"name\":\"VARIANCE=\",\"aliases\":[\"VAR=\"],\"description\":\"Outputs the following statistic: VARIANCE<=name> Conditional variance of pseudo-data; default variable name: \\\"Variance\\\"\",\"help\":\"VARIANCE=BLUP | NOBLUP\",\"type\":\"choice\",\"arguments\":[{\"name\":\"BLUP\",\"type\":\"standalone\"},{\"name\":\"NOBLUP\",\"type\":\"standalone\"}]},{\"name\":\"ALLSTATS\",\"optional\":true,\"description\":\"Requests that all statistics are computed.\",\"type\":\"standalone\"},{\"name\":\"ALPHA=\",\"optional\":true,\"description\":\"Determines the coverage probability for two-sided confidence and prediction intervals. The coverage probability is computed as 1-number. The value of number must be between 0 and 1 inclusively; the default is 0.05.\",\"help\":\"ALPHA=*number*\",\"type\":\"value\"},{\"name\":\"NOMISS\",\"optional\":true,\"description\":\"Requests that records be written to the output data only for those observations that were used in the analysis.\",\"type\":\"standalone\"},{\"name\":\"NOUNIQUE\",\"optional\":true,\"description\":\"Requests that names not be made unique in the case of naming conflicts.\",\"type\":\"standalone\"},{\"name\":\"NOVAR\",\"optional\":true,\"description\":\"Requests that variables from the input data set not be added to the output data set.\",\"type\":\"standalone\"}]},{\"name\":\"PARMS\",\"description\":\"The PARMS statement specifies initial values for the covariance parameters, or it requests a grid search over several values of these parameters. You must specify the values in the order in which they appear in the \\\"Covariance Parameter Estimates\\\" table. The value-list specification can take any of several forms: m a single value m1,m2,...,mn several values m to n a sequence where m equals the starting value, n equals the ending value, and the increment equals 1 m to n by i a sequence where m equals the starting value, n equals the ending value, and the increment equals i m1,m2 to m3 mixed values and sequences You can use the PARMS statement to input known parameters.\",\"help\":\"PARMS &lt;HOLD=value-list&gt;&lt;NOITER&gt;&lt;PARMSDATA=SAS-data-set&gt; ...\",\"arguments\":[{\"name\":\"HOLD=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"EQCONS=\"],\"description\":\"Specifies which parameter values PROC HPLMIXED should hold equal to the specified values. For example, the following statement constrains the first and third covariance parameters to equal 5 and 2, respectively:\",\"help\":\"HOLD=*value-list*\",\"type\":\"value\"},{\"name\":\"NOITER\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that no Newton-Raphson iterations be performed and that PROC HPLMIXED use the best value from the grid search to perform inferences. By default, iterations begin at the best value from the PARMS grid search.\",\"type\":\"standalone\"},{\"name\":\"PARMSDATA=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"PDATA=\"],\"description\":\"Reads in covariance parameter values from a SAS data set. The data set should contain the Est or Covp1–Covpn variables.\",\"help\":\"PARMSDATA=*SAS-data-set*\",\"type\":\"dataSet\"}]},{\"name\":\"RANDOM\",\"description\":\"The RANDOM statement defines the random effects in the mixed model.\",\"help\":\"RANDOM &lt;ALPHA=number&gt;&lt;CL&gt;&lt;GROUP=effect&gt; ...\",\"arguments\":[{\"name\":\"ALPHA=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that a t-type confidence interval with confidence level 1-number be constructed for the predictors of random effects in this statement. The value of number must be between 0 and 1 exclusively; the default is 0.05\",\"help\":\"ALPHA=*number*\",\"type\":\"value\"},{\"name\":\"CL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that t-type confidence limits be constructed for each of the predictors of random effects in this statement.\",\"type\":\"standalone\"},{\"name\":\"GROUP=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Defines an effect specifying heterogeneity in the covariance structure of G.\",\"help\":\"GROUP=*effect*\",\"type\":\"value\"},{\"name\":\"NOFULLZ\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Eliminates the columns in Z corresponding to missing levels of random effects involving CLASS variables. By default, these columns are included in Z. It is sufficient to specify the NOFULLZ option in any RANDOM statement.\",\"type\":\"standalone\"},{\"name\":\"SOLUTION\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that the solution for the random-effects parameters be produced.\",\"type\":\"standalone\"},{\"name\":\"SUBJECT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Identifies the subjects in your mixed model. Complete independence is assumed across subjects; thus, for the RANDOM statement, the SUBJECT= option produces a block-diagonal structure in G with identical blocks.\",\"help\":\"SUBJECT=*effect*\",\"type\":\"value\"},{\"name\":\"TYPE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the covariance structure of G for G-side effects. The TYPE=VC (variance components) option is the default structure. Another structure available in this experimental release is CHOL.\",\"help\":\"TYPE=*covariance-structure*\",\"type\":\"value\"}]},{\"name\":\"REPEATED\",\"description\":\"The REPEATED statement defines the repeated effect and the residual covariance structure in the mixed model. The residual variance-covariance matrix is denoted as R. The repeated- effect is required and consists entirely of classification variables. The levels of the repeated-effect must be different for each observation within a subject in order to avoid the singular R matrix. The SUBJECT= option is required. The data set must be grouped by subject effect.\",\"help\":\"REPEATED &lt;GROUP=effect&gt;&lt;R&lt;=value-list&gt;&gt;&lt;RC&lt;=value-list&gt;&gt; ...\",\"arguments\":[{\"name\":\"GROUP=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"GRP=\"],\"description\":\"Defines an effect that specifies heterogeneity in the residual covariance structure. All observations that have the same level of the GROUP effect have the same covariance parameters. Each new level of the GROUP effect produces a new set of covariance parameters with the same structure as the original group. You should exercise caution in defining the GROUP effect, because strange covariance patterns can result with its misuse. Also, the GROUP effect can greatly increase the number of estimated covariance parameters, which can adversely affect the optimization process.\",\"help\":\"GROUP=*effect*\",\"type\":\"value\"},{\"name\":\"R=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that blocks of the estimated R matrix be displayed. The first block determined by the SUBJECT= effect is the default displayed block. The value-list indicates the subjects for which blocks of are to be displayed. For example, the following statement displays block matrices for the first, third, and fifth persons:\",\"type\":\"value\"},{\"name\":\"RC=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays the Cholesky root of blocks of the estimated R matrix. The value-list specification is the same as for the R= option.\",\"type\":\"value\"},{\"name\":\"RCI=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays the inverse Cholesky root of blocks of the estimated R matrix. The value-list specification is the same as for the R= option.\",\"type\":\"value\"},{\"name\":\"RCORR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays the correlation matrix that corresponds to blocks of the estimated R matrix. The value-list specification is the same as for the R= option.\",\"type\":\"value\"},{\"name\":\"RI=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Produces the inverse of blocks of the estimated R matrix. The value-list specification is the same as for the R= option.\",\"type\":\"value\"},{\"name\":\"SUBJECT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"SUB=\"],\"description\":\"Identifies the subjects in your mixed model. Complete independence is assumed across subjects; therefore, the SUBJECT= option produces a block-diagonal structure in R with identical blocks. The SUBJECT= option is required. The data set must be grouped by SUBJECT= effect. When the SUBJECT= effect consists entirely of classification variables, the blocks of R correspond to observations that share the same level of that effect. These blocks are sorted according to this effect as well. Continuous variables are permitted as arguments to the SUBJECT= option. PROC HPMIXED does not sort by the values of the continuous variable; rather, it considers the data to be from a new subject or group whenever the value of the continuous variable changes from the previous observation. Using a continuous variable decreases execution time for models with a large number of subjects or groups and also prevents the production of a large \\\"Class Level Information\\\" table.\",\"help\":\"SUBJECT=*effect*\",\"type\":\"value\"},{\"name\":\"TYPE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the structure of the residual variance-covariance matrix R. The SUBJECT= option defines the blocks of R, and the TYPE= option specifies the structure of these blocks.\",\"help\":\"TYPE=AR(1) | CHOL | UN | VC*covariance-structure*\",\"type\":\"value\",\"arguments\":[{\"name\":\"AR\",\"followsDelimiter\":\"/\",\"description\":\"Specifies an autoregressive(1) structure\",\"help\":\"AR(1)\",\"type\":\"standalone\"},{\"name\":\"CHOL\",\"followsDelimiter\":\"/\",\"description\":\"Specifies a Cholesky root structure\",\"type\":\"standalone\"},{\"name\":\"UN\",\"followsDelimiter\":\"/\",\"description\":\"Specifies an unstructured structure\",\"type\":\"standalone\"},{\"name\":\"VC\",\"followsDelimiter\":\"/\",\"description\":\"Specifies variance components structure\",\"type\":\"standalone\"}]}]},{\"name\":\"TEST\",\"description\":\"By default, for each sum of squares in the analysis an F value is computed that uses the residual MS as an error term. Use a TEST statement to request additional F tests that use other effects as error terms.\",\"help\":\"TEST &lt;CHISQ&gt;&lt;E&gt;&lt;HTYPE=value-list&gt; ...\",\"arguments\":[{\"name\":\"CHISQ\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that chi-square tests be performed in addition to any F tests.\",\"type\":\"standalone\"},{\"name\":\"E\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that matrix coefficients associated with test types be displayed for specified effects.\",\"type\":\"standalone\"},{\"name\":\"E3\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"EIII\"],\"description\":\"Requests that Type III matrix coefficients be displayed if a Type III test is performed.\",\"type\":\"standalone\"},{\"name\":\"HTYPE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Indicates the type of hypothesis test to perform on the specified effects. Valid entries for values in the value-list are 3, corresponding to a Type III test. The default value is 3. The ODS table name is \\\"Tests3\\\" for the Type III test.\",\"help\":\"HTYPE=*value-list*\",\"type\":\"value\"}]},{\"name\":\"WEIGHT\",\"description\":\"The WEIGHT statement replaces R with W^(-1/2)RW^(-1/2), where W is a diagonal matrix containing the weights. Observations with nonpositive or missing weights are not included in the resulting PROC HPMIXED analysis. If a WEIGHT statement is not included, all observations used in the analysis are assigned a weight of 1.\",\"help\":\"WEIGHT variable\"}],\"supportSiteInformation\":{\"docsetId\":\"statug\",\"docsetVersion\":\"latest\",\"docsetTargetFile\":\"statug_hpmixed_toc.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/HPNEURAL.json",
    "content": "{\"name\":\"HPNEURAL\",\"statements\":[{\"name\":\"PROC HPNEURAL\",\"description\":\"The HPNEURAL procedure is a high-performance procedure that trains a multilayer perceptron neural network. For more information about multilayer perceptron neural networks, see Bishop (1995). PROC HPNEURAL can also use the trained network to score the input data set. † PROC HPNEURAL reads and writes data in distributed form and makes full use of multicore computers and distributed computing environments to perform training and scoring. † Training a multilayer perceptron neural network requires the unconstrained minimization of a nonlinear objective function. Because there are currently no practical methods to guarantee finding a global minimum of that objective function, one way to be reasonably sure of finding a good solution is to train the network multiple times using different sets of initial values for the weights. Thus, even problems with smaller numbers of variables and training observations can benefit from the use of multicore computers and distributed computing environments.\",\"help\":\"PROC HPNEURAL <DATA=SAS-data-set><DISTR=ALL | SPLIT><NOPRINT>;     \\n\\tARCHITECTURE <LAYER1><LAYER1SKIP><LOGISTIC> ...;\\n\\n\\tCODE <FILE=’external-file’ | fileref > ;\\n\\n\\tHIDDEN number ;\\n\\n\\tID variables ;\\n\\n\\tINPUT <LEVEL=<INT | NOM>><MISSING=<MAP>> ;\\n\\n\\tPARTITION <FRACTION( TRAIN=number | VALIDATE=number )><ROLEVAR=variable( TRAIN=value | VALIDATE=value )> ;\\n\\n\\tPERFORMANCE <COMMIT=n><CPUCOUNT=<ACTUAL | <num>>><DATASERVER=“name”> ...;\\n\\n\\tSCORE <MODEL=SAS-data-set><OUT=SAS-data-set > ;\\n\\n\\tTARGET <LEVEL=<INT | NOM>> ;\\n\\n\\tTRAIN <MAXITER=number><NUMTRIES=number><VALID=_NONE_> ...;\\n\\n\\tWEIGHT <_INVERSE_PRIORS_> ;\\n\",\"arguments\":[{\"name\":\"DATA=\",\"optional\":true,\"description\":\"Names the SAS data set that contains the training and validation observations to be used by PROC HPNEURAL to train the neural network or that contains the observations to be scored when you are performing stand-alone scoring. The default input data set is the most recently created data set.\",\"help\":\"DATA=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"DISTR=\",\"optional\":true,\"description\":\"Specifies whether the input data set is to be replicated in the memory of each node in a distributed computing environment. If this option is not specified, PROC HPNEURAL makes this decision automatically based on the size of the input data set. This option is ignored if PROC HPNEURAL is not running in a distributed computing environment. When PROC HPNEURAL runs in a distributed computing environment, PROC HPNEURAL usually divides the input data set among all the nodes to minimize the time it takes to optimize each try. However, if the input data set is small, dividing the data in this way might be inefficient because of the interconnect delay (the time it takes to send partial results between nodes). It might be more efficient to have each node have a complete copy of the data and run each try in parallel on separate nodes. Each try might take longer because it uses only a single node, but it could take less time to finish all the tries because the tries are running in parallel.\",\"help\":\"DISTR=ALL | SPLIT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ALL\",\"description\":\"Forces the data to be redistributed so that each node has a complete in-memory copy.\",\"type\":\"standalone\"},{\"name\":\"SPLIT\",\"description\":\"Prevents the data from being redistributed.\",\"type\":\"standalone\"}]},{\"name\":\"NOPRINT\",\"optional\":true,\"description\":\"Syntax: NOPRINT specifies that no ODS tables be created.\",\"type\":\"standalone\"}]},{\"name\":\"ARCHITECTURE\",\"description\":\"The ARCHITECTURE statement specifies the architecture of the neural network to be trained.\",\"help\":\"ARCHITECTURE &lt;LAYER1&gt;&lt;LAYER1SKIP&gt;&lt;LOGISTIC&gt; ...\",\"arguments\":[{\"name\":\"LAYER1\",\"optional\":true,\"description\":\"Specifies a multilayer perceptron with a single hidden layer.\",\"type\":\"standalone\"},{\"name\":\"LAYER1SKIP\",\"optional\":true,\"description\":\"Specifies a multilayer perceptron with a single hidden layer and additional connections between each input and each target neuron. Logistic regression is used to initialize the network for the first try.\",\"type\":\"standalone\"},{\"name\":\"LAYER2\",\"optional\":true,\"description\":\"Specifies a multilayer perceptron with two hidden layers. The number of hidden neurons is split equally between the first and second layer. If the number of hidden neurons is odd, the first hidden layer has the extra neuron.\",\"type\":\"standalone\"},{\"name\":\"LAYER2SKIP\",\"optional\":true,\"description\":\"Specifies a multilayer perceptron with two hidden layers and additional connections between each input and each target neuron. The number of hidden neurons is split equally between the first and second layer. If the number of hidden neurons is odd, the first hidden layer has the extra neuron. Logistic regression is used to initialize the network for the first try.\",\"type\":\"standalone\"},{\"name\":\"LOGISTIC\",\"optional\":true,\"description\":\"Specifies a multilayer perceptron with no hidden units (which is equivalent to a logistic regression). If you specify this architecture, the HIDDEN statement is not allowed.\",\"type\":\"standalone\"}]},{\"name\":\"CODE\",\"description\":\"The CODE statement uses the current neural network model to generate SAS DATA step statements and save them in an external text file that can later be used to score a data set. The file does not contain the surrounding PROC and RUN statements. The DATA step statements can be used with the standard DATA step, PROC DS2, or PROC HPDS2. The CODE statement is optional.\",\"help\":\"CODE &lt;FILE=’external-file’ | fileref &gt;\",\"arguments\":[{\"name\":\"FILE=\",\"optional\":true,\"description\":\"FILE=’external-file’ specifies an external text file where the generated statements are saved.\",\"type\":\"value\"}]},{\"name\":\"HIDDEN\",\"description\":\"The HIDDEN statement specifies the number of hidden neurons in the network. The number must be an integer greater than or equal to 1 (2 for two-layer architectures). For two-layer architectures (LAYER2 and LAYER2SKIP in the ARCHITECTURE statement), the hidden neurons are split between the first and second layer. In this case, if the number of hidden neurons is odd, the first hidden layer has the extra neuron. All hidden neurons use a hyperbolic-tangent activation function. When training, you must include exactly one HIDDEN statement, unless you specify ARCHITECTURE LOGISTIC (in which case the HIDDEN statement is not allowed). The HIDDEN statement is not allowed when you do stand-alone scoring.\",\"help\":\"HIDDEN number \"},{\"name\":\"ID\",\"description\":\"The ID statement lists one or more variables from the input data set that are transferred to the output data set that is specified in the SCORE statement. The ID statement is optional.\",\"help\":\"ID variables \"},{\"name\":\"INPUT\",\"description\":\"The INPUT statement identifies the variables in the input data set that are inputs to the neural network. When training, you must include one or more INPUT statements. You need more than one INPUT statement when you have both interval and nominal input variables. The INPUT statement is not allowed when you do stand-alone scoring. All interval input variables are automatically standardized to the range [–1, 1]. If an observation has missing values for any of the specified input variables, the observation is not used for training or for computing validation error.\",\"help\":\"INPUT &lt;LEVEL=&lt;INT | NOM&gt;&gt;&lt;MISSING=&lt;MAP&gt;&gt;\",\"arguments\":[{\"name\":\"LEVEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies whether the variables are interval variables (INT), which must be numeric, or nominal variables (NOM), also known as classification variables, which can be numeric or character. The default for the LEVEL option is INT.\",\"help\":\"LEVEL=INT | NOM\",\"type\":\"choice\",\"arguments\":[{\"name\":\"INT\",\"followsDelimiter\":\"/\",\"description\":\"Specifies that the variables are interval variables (INT), which must be numeric.\",\"type\":\"standalone\"},{\"name\":\"NOM\",\"followsDelimiter\":\"/\",\"description\":\"Specifies that the variables are nominal variables (NOM), also known as classification variables, which can be numeric or character.\",\"type\":\"standalone\"}]},{\"name\":\"MISSING=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies that the missing value for nominal variables should be treated as a valid level (mapped to level 0). This option is not allowed for interval variables.\",\"help\":\"MISSING=MAP*MAP*\",\"type\":\"value\",\"arguments\":[{\"name\":\"MAP\",\"followsDelimiter\":\"/\",\"description\":\"Specifies that the missing value for nominal variables should be treated as a valid level (mapped to level 0).\",\"type\":\"standalone\"}]}]},{\"name\":\"PARTITION\",\"description\":\"The PARTITION statement specifies how to divide the input data set into a training subset and a validation subset. The statement implements two alternate methods of specifying the split between the training and validation data. Either you can explicitly specify training observations and validation observations by specifying ROLEVAR=variable, where variable is a variable in the input data set, or you can specify that an approximate fraction of the input data set be used for training observations or validation observations by specifying FRACTION( TRAIN=number ) or FRACTION( VALIDATE=number ).\",\"help\":\"PARTITION &lt;FRACTION( TRAIN=number | VALIDATE=number )&gt;&lt;ROLEVAR=variable( TRAIN=value | VALIDATE=value )&gt;\",\"arguments\":[{\"name\":\"FRACTION=\",\"optional\":true,\"description\":\"Specifies the approximate fraction (between 0 and 1) of the input data set to be used for training or validation. If you specify TRAIN=number, then approximately the fraction of the data set specified by number is used as training observations, and the rest are used for validation observations. If you specify VALIDATE=number, then approximately the fraction of the data set specified by number is used as validation observations. The split between training and validation observations can only approximate the requested fraction because that fraction is used as a cutoff value for a pseudorandom number generator to determine the actual split. If you require a more accurate split or a split that is guaranteed to be identical across different distributed computing environments, you must use the ROLEVAR option to specify the split explicitly.\",\"help\":\"FRACTION=TRAIN= | VALIDATE=\",\"type\":\"choice\",\"arguments\":[{\"name\":\"TRAIN=\",\"type\":\"value\"},{\"name\":\"VALIDATE=\",\"type\":\"value\"}]},{\"name\":\"ROLEVAR=\",\"optional\":true,\"description\":\"Specifies that the variable in the input data set be used to decide whether an observation is used for training or for validation. You can specify either the value used to identify training observations or the value used to identify validation observations. If you specify TRAIN=value, then an observation is used for training if the value of variable equals value; otherwise the observation is used for validation. If you specify VALIDATE=value, then an observation is used for validation if the value of variable equals value; otherwise the observation is used for training.\",\"help\":\"ROLEVAR=TRAIN= | VALIDATE=\",\"type\":\"choice\",\"arguments\":[{\"name\":\"TRAIN=\",\"type\":\"value\"},{\"name\":\"VALIDATE=\",\"type\":\"value\"}]}]},{\"name\":\"PERFORMANCE\",\"description\":\"The PERFORMANCE statement defines performance parameters for multithreaded and distributed computing.\",\"help\":\"PERFORMANCE &lt;COMMIT=n&gt;&lt;CPUCOUNT=&lt;ACTUAL | &lt;num&gt;&gt;&gt;&lt;DATASERVER=“name”&gt; ...\",\"arguments\":[{\"name\":\"COMMIT=\",\"optional\":true,\"description\":\"Requests that the High-Performance Analytics procedure write periodic updates to the SAS Log when observations are sent from the client to the appliance for distributed processing.\",\"help\":\"COMMIT=*n*\",\"type\":\"value\"},{\"name\":\"CPUCOUNT=\",\"optional\":true,\"description\":\"Specifies how many processors the procedure assumes are available on each host in the computing environment. num can be any integer from 1 to 256. CPUCOUNT=ACTUAL sets CPUCOUNT to the number of physical processors available. This number can be less than the physical number of CPUs if the SAS process has been restricted by system administration tools. Setting CPUCOUNT= to a number greater than the actual number of available CPUs might result in reduced performance. This option overrides the CPUCOUNT= SAS system option.\",\"help\":\"CPUCOUNT=ACTUAL | &lt;*num*&gt;\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ACTUAL\",\"description\":\"Sets CPUCOUNT to the number of physical processors available. This number can be less than the physical number of CPUs if the SAS process has been restricted by system administration tools.\",\"type\":\"standalone\"},{\"name\":\"num\",\"placeholder\":true,\"description\":\"Replace <num> with an actual number. Setting CPUCOUNT= to a number greater than the actual number of available CPUs might result in reduced performance. This option overrides the CPUCOUNT= SAS system option.\",\"type\":\"standaloneOrValue\"}]},{\"name\":\"DATASERVER=\",\"optional\":true,\"description\":\"Specifies the name of the server on Teradata systems as defined through the hosts file and as used in the LIBNAME statement for Teradata. For example, if the hosts file defines myservercop1 33.44.55.66 as the server for Teradata, then a LIBNAME specification would be as follows: libname TDLib teradata server=myserver user= password= database= ; A PERFORMANCE statement to induce running alongside the Teradata server would specify the following:\",\"type\":\"value\"},{\"name\":\"DETAILS\",\"optional\":true,\"description\":\"Requests a table that shows a timing breakdown of the procedure steps.\",\"type\":\"standalone\"},{\"name\":\"HOST=\",\"optional\":true,\"aliases\":[\"GRIDHOST=\"],\"description\":\"Specifies the name of the appliance host in single or double quotes. If the HOST= option is specified, it overrides the value of the GRIDHOST environment variable.\",\"type\":\"value\"},{\"name\":\"INSTALL=\",\"optional\":true,\"aliases\":[\"INSTALLLOC=\"],\"description\":\"Specifies the directory in which the High-Performance Analytics shared libraries are installed on the appliance. Specifying the INSTALL= option overrides the GRIDINSTALLLOC environment variable.\",\"type\":\"value\"},{\"name\":\"NODES=\",\"optional\":true,\"aliases\":[\"NNODES=\"],\"description\":\"Specifies the number of nodes in the distributed computing environment, provided that the data are not processed alongside the database.\",\"type\":\"value\"},{\"name\":\"NTHREADS=\",\"optional\":true,\"description\":\"Specifies the number of threads for analytic computations and overrides the SAS system option THREADS | NOTHREADS. If you do not specify the NTHREADS= option, the number of threads are determined based on the number of CPUs on the host on which the analytic computations execute. The algorithm by which a CPU count is converted to a thread count is specific to the High- Performance Analytics procedure. Most procedures create one thread per CPU for the analytic computations. By default, High-Performance Analytics procedures execute in multiple concurrent threads unless turned off by the NOTHREADS system option or you force single-threaded execution with NTHREADS=1. The largest number that can be specified for n is 256. Individual High-Performance Analytics procedures can impose more stringent limits if called for by algorithmic considerations. You can affect the determination of the CPU count with the CPUCOUNT= option in the PERFORMANCE statement.\",\"help\":\"NTHREADS=*n*\",\"type\":\"value\"},{\"name\":\"TIMEOUT=\",\"optional\":true,\"description\":\"Specifies the timeout in seconds for a High-Performance Analytics procedure to wait for a connection to the appliance and establish a connection back to the client. The default is s=120 seconds. If jobs are submitted to the appliance through workload management tools that might suspend access to the appliance for a longer period, you might want to increase the timeout value.\",\"help\":\"TIMEOUT=*s*\",\"type\":\"value\"}]},{\"name\":\"SCORE\",\"description\":\"The SCORE statement causes the HPNEURAL procedure to write the network’s target and predicted output for each observation in the input data set to the output data set that is specified by the OUT option, along with any variables from the input data set that are specified in the ID statement. When you are training, the SCORE statement is optional but the MODEL= keyword is not allowed. When you are doing stand-alone scoring, the SCORE statement is required and the MODEL= keyword must be used.\",\"help\":\"SCORE &lt;MODEL=SAS-data-set&gt;&lt;OUT=SAS-data-set &gt;\",\"arguments\":[{\"name\":\"MODEL=\",\"optional\":true,\"description\":\"Specifies the data set that contains the model parameters for a previously trained network. You can specify this keyword only when you are doing stand-alone scoring.\",\"help\":\"MODEL=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"OUT=\",\"optional\":true,\"description\":\"Specifies the data set to contain the predicted values of the target variables. For nominal variables, each observation also contains the computed probabilities of each class level. This keyword is required.\",\"type\":\"value\"}]},{\"name\":\"TARGET\",\"description\":\"The TARGET statement identifies the variables in the input data set that the network is to be trained to predict. The default for the LEVEL= option is INT. When training, you must include one or more TARGET statements. You need more than one TARGET statement when you have both interval and nominal target variables. The TARGET statement is not allowed when you do stand-alone scoring. All interval target variables are automatically standardized to the range [0.1, 0.9]. The HPNEURAL procedure automatically converts them back to their original scale before it computes fit statistics and writes predictions to the scoring data set. For interval variables, all target neurons use a sigmoid activation function.\",\"help\":\"TARGET &lt;LEVEL=&lt;INT | NOM&gt;&gt;\",\"arguments\":[{\"name\":\"LEVEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies whether the variables are interval variables (INT), which must be numeric, or nominal variables (NOM), also known as classification variables, which can be numeric or character. The default for the LEVEL option is INT.\",\"help\":\"LEVEL=INT | NOM\",\"type\":\"choice\",\"arguments\":[{\"name\":\"INT\",\"followsDelimiter\":\"/\",\"description\":\"Specifies that the variables are interval variables (INT), which must be numeric.\",\"type\":\"standalone\"},{\"name\":\"NOM\",\"followsDelimiter\":\"/\",\"description\":\"Specifies that the variables are nominal variables (NOM), also known as classification variables, which can be numeric or character.\",\"type\":\"standalone\"}]}]},{\"name\":\"TRAIN\",\"description\":\"The TRAIN statement causes the HPNEURAL procedure to use the training data that are specified in the PROC HPNEURAL statement to train a neural network model whose structure is specified in the ARCHITECTURE, INPUT, TARGET, and HIDDEN statements. The goal of training is to determine a set of network weights that best predicts the targets in the training data while still doing a good job of predicting targets of unseen data (that is, generalizing well and not overfitting).\",\"help\":\"TRAIN &lt;MAXITER=number&gt;&lt;NUMTRIES=number&gt;&lt;VALID=_NONE_&gt; ...\",\"arguments\":[{\"name\":\"MAXITER=\",\"optional\":true,\"description\":\"Syntax: MAXITER=number specifies the maximum number of iterations (weight adjustments) for the optimizer to make before terminating. Setting number to a large value does not mean that the optimizer actually iterates that many times. Often, training or validation error stops improving much sooner, usually after a few hundred iterations.\",\"help\":\"MAXITER=*number*\",\"type\":\"value\"},{\"name\":\"NUMTRIES=\",\"optional\":true,\"description\":\"Specifies the number of times the network is to be trained using a different starting points. Specifying this option helps ensure that the optimizer finds the set of weights that truly minimizes the objective function and does not return a local minimum. The value of number must be an integer between 1 and 99,999. The default is 5.\",\"help\":\"NUMTRIES=*number*\",\"type\":\"value\"},{\"name\":\"OUTMODEL=\",\"optional\":true,\"description\":\"Specifies the data set to which to save the model parameters for the trained network. These parameters include the network architecture, input and target variable names and types, and trained weights.\",\"help\":\"OUTMODEL=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"VALID=\",\"optional\":true,\"description\":\"Specifies that a validation subset not be used to help determine when to stop training. If you specify VALID=_NONE_ in the TRAIN statement, you cannot have a PARTITION statement.\",\"help\":\"VALID=*_NONE_*\",\"type\":\"value\"}]},{\"name\":\"WEIGHT\",\"description\":\"If you specify a WEIGHT statement, variable identifies a numeric variable in the input data set that contains the weight to be placed on the prediction error (the difference between the output of the network and the target value specified in the input data set) for each observation during training. If, instead of specifying a variable, you specify the keyword _INVERSE_PRIORS_, the HPNEURAL procedure calculates the weight applied to the prediction error of each nominal target variable as the total number of observations divided by the number of observations whose target class is the same as the current observation (in other words, the inverse of the fraction of the number of times that the target class occurs in the input data set).\",\"help\":\"WEIGHT &lt;_INVERSE_PRIORS_&gt;\",\"arguments\":[{\"name\":\"_INVERSE_PRIORS_\",\"optional\":true,\"description\":\"If, instead of specifying a variable, you specify the keyword _INVERSE_PRIORS_, the HPNEURAL procedure calculates the weight applied to the prediction error of each nominal target variable as the total number of observations divided by the number of observations whose target class is the same as the current observation (in other words, the inverse of the fraction of the number of times that the target class occurs in the input data set).\",\"type\":\"standalone\"}]}],\"supportSiteInformation\":{\"docsetId\":\"emhpprcref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"emhpprcref_hpneural_toc.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/HPNLMOD.json",
    "content": "{\"name\":\"HPNLMOD\",\"statements\":[{\"name\":\"PROC HPNLMOD\",\"description\":\"The HPNLMOD procedure is a high-performance procedure that uses either nonlinear least squares or maximum likelihood to fit nonlinear regression models on the SAS appliance. PROC HPNLMOD enables you to specify the model with SAS programming statements, which gives you greater flexibility in modeling the relationship between the response variable and independent (regressor) variables than SAS procedures that use a more structured MODEL statement. † The HPNLMOD procedure does the following: • can perform analysis on a massively parallel SAS high-performance appliance • reads input data in parallel and writes output data in parallel when the data source is the appliance database • is highly multithreaded during all phases of analytic execution • computes analytical derivatives of user-provided expressions for more robust parameter estimations • evaluates user-provided expressions and their confidence limits with the ESTIMATE and PREDICT statements • estimates parameters without specifying a particular distribution function by using the least squares method • estimates parameters by using the maximum likelihood method when either a built-in distribution function is specified or a likelihood function is provided † With the HPNLMOD procedure you can read and write data in distributed form and perform analyses in parallel in symmetric multiprocessing (SMP) or massively parallel processing (MPP) mode.\",\"help\":\"PROC HPNLMOD <ABSCONV= | ABSTOL=r><ABSFCONV=r<n> | ABSFTOL=r<n>><ABSGCONV=r<n> | ABSGTOL=r<n>><ALPHA=α><CORR><COV><DATA=SAS-data-set><DF=n><ECORR><ECOV><FCONV=r<n> | FTOL=r<n>><FMTLIBXML=file-ref><GCONV=r | GTOL=r><MAXFUNC=n | MAXFU=n><MAXITER=n | MAXIT=n><MAXTIME=r><MINITER=n | MINIT=n><NOITPRINT><NOPRINT><OUT=SAS-data-set><SINGULAR=number><TECHNIQUE=CONGRA | DBLDOG | LEVMAR... ><XMLFORMAT=filename>;     \\n\\tABORT;\\n\\n\\tBOUNDS constraint < , constraint . . . > ;\\n\\n\\tBY <DESCENDING><NOTSORTED> ;\\n\\n\\tCALL name [ ( expression [, expression ... ] ) ];\\n\\n\\tDELETE;\\n\\n\\tDO[variable = expression;\\n\\n\\tELSE <DO><IF><THEN> ...;\\n\\n\\tEND;\\n\\n\\tESTIMATE <ALPHA=α><DF=d> ;\\n\\n\\tGOTO statement_label;\\n\\n\\tIF <DO><THEN><WHEN> ...;\\n\\n\\tLINK statement_label;\\n\\n\\tMODEL <binary(p)><binomial(n, p)><gamma(a, b)> ...;\\n\\n\\t;\\n\\n\\tPARAMETERS <BEST=i > 0><PDATA=SAS-data-set | DATA=SAS-data-set><START=value | DEFSTART=value> ...;\\n\\n\\tPERFORMANCE <COMMIT=n><CPUCOUNT=<ACTUAL | <num>>><DATASERVER=“name”> ...;\\n\\n\\tPREDICT <ALPHA=α><DF=d><LOWER=name> ...;\\n\\n\\tPUT <_PDV_> ;\\n\\n\\tRESTRICT restriction1 < , restriction2 . . . > ;\\n\\n\\tRETURN;\\n\\n\\t;\\n\\n\\tSTOP ;\\n\\n\\tSUBSTR( variable, index, length )= expression;\\n\\n\\tWHEN <DO> ;\\n\",\"arguments\":[{\"name\":\"ABSCONV=\",\"optional\":true,\"aliases\":[\"ABSTOL=\"],\"description\":\"Specifies an absolute function convergence criterion.\",\"type\":\"value\"},{\"name\":\"ABSFCONV=\",\"optional\":true,\"aliases\":[\"ABSFTOL=\"],\"description\":\"Specifies an absolute function convergence criterion.\",\"type\":\"value\"},{\"name\":\"ABSGCONV=\",\"optional\":true,\"aliases\":[\"ABSGTOL=\"],\"description\":\"Specifies an absolute gradient convergence criterion. Termination requires the maximum absolute gradient element to be small.\",\"type\":\"value\"},{\"name\":\"ALPHA=\",\"optional\":true,\"description\":\"Specifies the level of significance α used in the construction of 100(1-α)% confidence intervals. The value must be strictly between 0 and 1; the default value of α=05 results in 95% intervals. This value is used as the default confidence level for limits computed in the “Parameter Estimates” table and is used in the LOWER and UPPER options in the PREDICT statement.\",\"type\":\"value\"},{\"name\":\"CORR\",\"optional\":true,\"description\":\"Requests the approximate correlation matrix for the parameter estimates.\",\"type\":\"standalone\"},{\"name\":\"COV\",\"optional\":true,\"description\":\"Requests the approximate covariance matrix for the parameter estimates.\",\"type\":\"standalone\"},{\"name\":\"DATA=\",\"optional\":true,\"description\":\"Names the SAS data set to be used by PROC HPNLMOD. The default is the most recently created data set.\",\"help\":\"DATA=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"DF=\",\"optional\":true,\"description\":\"Specifies the default number of degrees of freedom to use in the calculation of p-values and confidence limits for additional parameter estimates.\",\"help\":\"DF=*n*\",\"type\":\"value\"},{\"name\":\"ECORR\",\"optional\":true,\"description\":\"Requests the approximate correlation matrix for all expressions that are specified in ESTIMATE statements.\",\"type\":\"standalone\"},{\"name\":\"ECOV\",\"optional\":true,\"description\":\"Requests the approximate covariance matrix for all expressions that are specified in ESTIMATE statements.\",\"type\":\"standalone\"},{\"name\":\"FCONV=\",\"optional\":true,\"aliases\":[\"FTOL=\"],\"description\":\"Specifies the relative function convergence criterion.\",\"type\":\"value\"},{\"name\":\"FMTLIBXML=\",\"optional\":true,\"description\":\"Specifies the file reference for the XML stream that contains the user-defined format definitions. Userdefined formats are handled differently in a distributed computing environment than they are handled in other SAS products.\",\"help\":\"FMTLIBXML=*file-ref*\",\"type\":\"value\"},{\"name\":\"GCONV=\",\"optional\":true,\"aliases\":[\"GTOL=\"],\"description\":\"Specifies the relative gradient convergence criterion.\",\"type\":\"value\"},{\"name\":\"MAXFUNC=\",\"optional\":true,\"aliases\":[\"MAXFU=\"],\"description\":\"Specifies the maximum number n of function calls in the optimization process. The default values are as follows, depending on the optimization technique (which you specify in the TECHNIQUE= option): • TRUREG, NRRIDG, NEWRAP: 125 • QUANEW, DBLDOG: 500 • CONGRA: 1,000 • NMSIMP: 3,000\",\"type\":\"value\"},{\"name\":\"MAXITER=\",\"optional\":true,\"aliases\":[\"MAXIT=\"],\"description\":\"Specifies the maximum number n of iterations in the optimization process. The default values are as follows, depending on the optimization technique (which you specify in the TECHNIQUE= option): • TRUREG, NRRIDG, NEWRAP: 50 • QUANEW, DBLDOG: 200 • CONGRA: 400 • NMSIMP: 1,000 These default values also apply when n is specified as a missing value.\",\"type\":\"value\"},{\"name\":\"MAXTIME=\",\"optional\":true,\"description\":\"Specifies an upper limit of r seconds of CPU time for the optimization process. The default value is the largest floating-point double representation of your computer. The time specified by the MAXTIME= option is checked only once at the end of each iteration. Therefore, the actual running time can be longer than that specified by the MAXTIME= option.\",\"help\":\"MAXTIME=*r*\",\"type\":\"value\"},{\"name\":\"MINITER=\",\"optional\":true,\"aliases\":[\"MINIT=\"],\"description\":\"Specifies the minimum number of iterations. The default value is 0. If you request more iterations than are actually needed for convergence to a stationary point, the optimization algorithms can behave strangely. For example, the effect of rounding errors can prevent the algorithm from continuing for the required number of iterations..\",\"type\":\"value\"},{\"name\":\"NOITPRINT\",\"optional\":true,\"description\":\"Suppresses the display of the “Iteration History” table.\",\"type\":\"standalone\"},{\"name\":\"NOPRINT\",\"optional\":true,\"description\":\"Suppresses the generation of ODS output.\",\"type\":\"standalone\"},{\"name\":\"OUT=\",\"optional\":true,\"description\":\"Names the SAS data set to be created when one or more PREDICT statements are specified. A single OUT= data set is created to contain all predicted values when more than one PREDICT statement is specified. An error message is produced if a PREDICT statement is specified and an OUT= data set is not specified.\",\"help\":\"OUT=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"SINGULAR=\",\"optional\":true,\"description\":\"Tunes the general singularity criterion applied by the HPNLMOD procedure in sweeps and inversions. The default is 1E4 times the machine epsilon; this product is approximately 1E􀀀12 on most computers.\",\"help\":\"SINGULAR=*number*\",\"type\":\"value\"},{\"name\":\"TECHNIQUE=\",\"optional\":true,\"aliases\":[\"TECH=\"],\"description\":\"Specifies the optimization technique.\",\"help\":\"TECHNIQUE=CONGRA | DBLDOG | LEVMAR | NEWRAP | NMSIMP | NRRIDG | QUANEW | TRUREG | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"CONGRA\",\"description\":\"Performs a conjugate-gradient optimization.\",\"type\":\"standalone\"},{\"name\":\"DBLDOG\",\"description\":\"Performs a version of double-dogleg optimization.\",\"type\":\"standalone\"},{\"name\":\"LEVMAR\",\"description\":\"Performs a Levenberg-Marquardt optimization.\",\"type\":\"standalone\"},{\"name\":\"NEWRAP\",\"description\":\"Performs a Newton-Raphson optimization that combines a line-search algorithm with ridging.\",\"type\":\"standalone\"},{\"name\":\"NMSIMP\",\"description\":\"Performs a Nelder-Mead simplex optimization.\",\"type\":\"standalone\"},{\"name\":\"NRRIDG\",\"description\":\"Performs a Newton-Raphson optimization with ridging.\",\"type\":\"standalone\"},{\"name\":\"QUANEW\",\"description\":\"Performs a quasi-Newton optimization.\",\"type\":\"standalone\"},{\"name\":\"TRUREG\",\"description\":\"Performs a trust-region optimization.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"Performs no optimization.\",\"type\":\"standalone\"}]},{\"name\":\"XMLFORMAT=\",\"optional\":true,\"description\":\"Specifies the file name for the XML stream that contains the user-defined format definitions. Userdefined formats are handled differently in a distributed computing environment than they are handled in other SAS products.\",\"help\":\"XMLFORMAT=*filename*\",\"type\":\"value\"}]},{\"name\":\"ABORT\",\"description\":\"Stops executing the current procedure, SAS job, or SAS session. The ABORT statement does not allow any arguments.\",\"help\":\"ABORT\"},{\"name\":\"BOUNDS\",\"description\":\"where constraint represents < number operator > parameter-list < operator number > Boundary constraints are specified with a BOUNDS statement. One- or two-sided boundary constraints are allowed. The list of boundary constraints are separated by commas. For example: bounds 0 <= a1-a9 X <= 1, -1 <= c2-c5; bounds b1-b10 y >= 0; You can specify more than one BOUNDS statement. If you specify more than one lower (or upper) bound for the same parameter, the maximum (or minimum) of these is taken.\",\"help\":\"BOUNDS constraint &lt; , constraint . . . &gt; \"},{\"name\":\"BY\",\"description\":\"You can specify a BY statement with PROC HPNLMOD to obtain separate analyses of observations in groups that are defined by the BY variables. When a BY statement appears, the procedure expects the input data set to be sorted in order of the BY variables. If you specify more than one BY statement, only the last one specified is used. If your input data set is not sorted in ascending order, use one of the following alternatives: • Sort the data by using the SORT procedure with a similar BY statement. • Specify the NOTSORTED or DESCENDING option in the BY statement for the HPNLMOD procedure. The NOTSORTED option does not mean that the data are unsorted but rather that the data are arranged in groups (according to values of the BY variables) and that these groups are not necessarily in alphabetical or increasing numeric order. • Create an index on the BY variables by using the DATASETS procedure (in Base SAS software). BY statement processing is not supported when the HPNLMOD procedure runs alongside the database or alongside the Hadoop Distributed File System (HDFS). These modes are used if the input data are stored in a database or HDFS and the grid host is the appliance that houses the data.\",\"help\":\"BY &lt;DESCENDING&gt;&lt;NOTSORTED&gt;\",\"arguments\":[{\"name\":\"DESCENDING\",\"optional\":true,\"description\":\"Specifies that the observations are sorted in descending order by the variable that immediately follows the word DESCENDING in the BY statement.\",\"type\":\"standalone\"},{\"name\":\"NOTSORTED\",\"optional\":true,\"description\":\"The NOTSORTED option does not mean that the data are unsorted but rather that the data are arranged in groups (according to values of the BY variables) and that these groups are not necessarily in alphabetical or increasing numeric order.\",\"type\":\"standalone\"}]},{\"name\":\"CALL\",\"description\":\"Invokes a function or routine.\",\"help\":\"CALL name [ ( expression [, expression ... ] ) ]\"},{\"name\":\"DELETE\",\"description\":\"Stops processing the current observation.\",\"help\":\"DELETE\"},{\"name\":\"DO\",\"description\":\"\",\"help\":\"DO[variable = expression\"},{\"name\":\"ELSE\",\"description\":\"If the condition in an IF-THEN statement is false and an ELSE statement is present, then the ELSE action is carried out.\",\"help\":\"ELSE &lt;DO&gt;&lt;IF&gt;&lt;THEN&gt; ...\",\"arguments\":[{\"name\":\"AND\",\"optional\":true,\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"DO\",\"optional\":true,\"description\":\"Action statement in an IF-THEN-ELSE construct.\",\"type\":\"standalone\"},{\"name\":\"IF\",\"optional\":true,\"description\":\"Executes a SAS statement for observations that meet specific conditions.\",\"type\":\"standalone\"},{\"name\":\"NOT\",\"optional\":true,\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"OR\",\"optional\":true,\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"OUTPUT\",\"optional\":true,\"description\":\"Action statement in an IF-THEN-ELSE construct.\",\"type\":\"standalone\"},{\"name\":\"THEN\",\"optional\":true,\"description\":\"If the conditions that are specified in the IF clause are met, the IF-THEN statement executes a SAS statement for observations that are read from a SAS data set, for records in an external file, or for computed values.\",\"type\":\"standalone\"}]},{\"name\":\"END\",\"description\":\"Ends a DO group or SELECT group processing.\",\"help\":\"END\"},{\"name\":\"ESTIMATE\",\"description\":\"The ESTIMATE statement enables you to compute an additional estimate that is a function of the parameter values. You must provide a quoted string to identify the estimate and then provide a valid SAS expression. Multiple ESTIMATE statements are permitted, and results from all statements are listed in a common table. PROC HPNLMOD computes approximate standard errors for the estimates by using the delta method (Billingsley 1986). It uses these standard errors to compute corresponding t statistics, p-values, and confidence limits. The ECOV option in the PROC HPNLMOD statement produces a table that contains the approximate covariance matrix of all the additional estimates you specify. The ECORR option produces the corresponding correlation matrix.\",\"help\":\"ESTIMATE &lt;ALPHA=α&gt;&lt;DF=d&gt;\",\"arguments\":[{\"name\":\"ALPHA=\",\"optional\":true,\"description\":\"Specifies the alpha level to be used in computing confidence limits. The default value corresponds to the ALPHA= option in the PROC HPNLMOD statement.\",\"type\":\"value\"},{\"name\":\"DF=\",\"optional\":true,\"description\":\"Specifies the degrees of freedom to be used in computing p-values and confidence limits. The default value corresponds to the DF= option in the PROC HPNLMOD statement.\",\"help\":\"DF=*d*\",\"type\":\"value\"}]},{\"name\":\"GOTO\",\"description\":\"Jumps to a new statement.\",\"help\":\"GOTO statement_label\"},{\"name\":\"IF\",\"description\":\"\",\"help\":\"IF &lt;DO&gt;&lt;THEN&gt;&lt;WHEN&gt; ...\",\"arguments\":[{\"name\":\"AND\",\"optional\":true,\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"DO\",\"optional\":true,\"description\":\"Action statement in an IF-THEN construct.\",\"type\":\"standalone\"},{\"name\":\"GO\",\"optional\":true,\"aliases\":[\"GOTO\"],\"description\":\"Jumps to a new statement.\",\"help\":\"GO TO\",\"type\":\"standalone\"},{\"name\":\"NOT\",\"optional\":true,\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"OR\",\"optional\":true,\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"OUTPUT\",\"optional\":true,\"description\":\"Action statement in an IF-THEN construct.\",\"type\":\"standalone\"},{\"name\":\"PUT\",\"optional\":true,\"description\":\"Action statement in an IF-THEN construct.\",\"type\":\"standalone\"},{\"name\":\"SET\",\"optional\":true,\"description\":\"Reads an observation from one or more SAS data sets.\",\"type\":\"standalone\"},{\"name\":\"STOP\",\"optional\":true,\"description\":\"Action statement in an IF-THEN construct. Stops execution of the current DATA step.\",\"type\":\"standalone\"},{\"name\":\"THEN\",\"optional\":true,\"description\":\"If the conditions that are specified in the IF clause are met, the IF-THEN statement executes a SAS statement for observations that are read from a SAS data set, for records in an external file, or for computed values.\",\"type\":\"standalone\"},{\"name\":\"WHEN\",\"optional\":true,\"description\":\"WHEN statement in an IF-THEN-WHEN construct.\",\"type\":\"standalone\"}]},{\"name\":\"LINK\",\"description\":\"Directs program execution immediately to the statement label that is specified and, if followed by a RETURN statement, returns execution to the statement that follows the LINK statement.\",\"help\":\"LINK statement_label\"},{\"name\":\"MODEL\",\"description\":\"The MODEL statement is the mechanism for either using a distribution specification to specify the distribution of the data or using the RESIDUAL distribution to specify a predicted value. You must specify a single dependent variable from the input data set, a tilde (~), and then a distribution with its parameters. The MODEL statement must follow any SAS programming statements you specify for computing parameters of the preceding distributions.\",\"help\":\"MODEL &lt;binary(p)&gt;&lt;binomial(n, p)&gt;&lt;gamma(a, b)&gt; ...\",\"arguments\":[{\"name\":\"BINARY\",\"optional\":true,\"description\":\"Specifies a binary (Bernoulli) distribution with probability of success p.\",\"type\":\"standalone\"},{\"name\":\"BINOMIAL\",\"optional\":true,\"description\":\"Specifies a binomial distribution with count n and probability of success p.\",\"type\":\"standalone\"},{\"name\":\"GAMMA\",\"optional\":true,\"description\":\"Specifies a gamma distribution with shape a and scale b.\",\"type\":\"standalone\"},{\"name\":\"GENERAL\",\"optional\":true,\"description\":\"Specifies a general log-likelihood function that you construct using SAS programming statements.\",\"type\":\"standalone\"},{\"name\":\"NEGBIN\",\"optional\":true,\"description\":\"Specifies a negative binomial distribution with count n and probability of success p.\",\"type\":\"standalone\"},{\"name\":\"NORMAL\",\"optional\":true,\"description\":\"Specifies a normal (Gaussian) distribution with mean m and variance v\",\"type\":\"standalone\"},{\"name\":\"POISSON\",\"optional\":true,\"description\":\"Specifies a Poisson distribution with mean m\",\"type\":\"standalone\"},{\"name\":\"RESIDUAL\",\"optional\":true,\"aliases\":[\"LS\"],\"description\":\"Specifies no particular distribution. Instead minimize the sum of squares of the differences between m and the dependent variable.\",\"type\":\"standalone\"}]},{\"name\":\"OTHERWISE\",\"description\":\">\",\"help\":\"\"},{\"name\":\"PARAMETERS\",\"description\":\"The purpose of the PARAMETERS (PARMS) statement is to provide starting values for the HPNLMOD procedure. You can provide values that define a single point in the parameter space or a set of points.\",\"help\":\"PARAMETERS &lt;BEST=i &gt; 0&gt;&lt;PDATA=SAS-data-set | DATA=SAS-data-set&gt;&lt;START=value | DEFSTART=value&gt; ...\",\"arguments\":[{\"name\":\"BEST=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the maximum number of parameter grid points and corresponding objective function values to display in the “Parameters” table. If the BEST= option is specified, parameter grid points are listed in ascending order of objective function value. By default, all parameter grid points are displayed.\",\"type\":\"value\"},{\"name\":\"PDATA=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"DATA=\"],\"description\":\"Specifies the data set used to provide parameter starting values.\",\"type\":\"value\"},{\"name\":\"START=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"DEFSTART=\"],\"description\":\"specifies a default starting value for all parameters.\",\"type\":\"value\"}]},{\"name\":\"PERFORMANCE\",\"description\":\"The PERFORMANCE statement defines performance parameters for multithreaded and distributed computing, passes variables about the distributed computing environment, and requests detailed results about the performance characteristics of a SAS High-Performance Analytics procedure. With the PERFORMANCE statement, you can also control whether a SAS High-Performance Analytics procedure executes in symmetric multiprocessing or massively parallel processing mode.\",\"help\":\"PERFORMANCE &lt;COMMIT=n&gt;&lt;CPUCOUNT=&lt;ACTUAL | &lt;num&gt;&gt;&gt;&lt;DATASERVER=“name”&gt; ...\",\"arguments\":[{\"name\":\"COMMIT=\",\"optional\":true,\"description\":\"Requests that the High-Performance Analytics procedure write periodic updates to the SAS Log when observations are sent from the client to the appliance for distributed processing.\",\"help\":\"COMMIT=*n*\",\"type\":\"value\"},{\"name\":\"CPUCOUNT=\",\"optional\":true,\"description\":\"Specifies how many processors the procedure assumes are available on each host in the computing environment. num can be any integer from 1 to 256. CPUCOUNT=ACTUAL sets CPUCOUNT to the number of physical processors available. This number can be less than the physical number of CPUs if the SAS process has been restricted by system administration tools. Setting CPUCOUNT= to a number greater than the actual number of available CPUs might result in reduced performance. This option overrides the CPUCOUNT= SAS system option.\",\"help\":\"CPUCOUNT=ACTUAL | &lt;*num*&gt;\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ACTUAL\",\"description\":\"Sets CPUCOUNT to the number of physical processors available. This number can be less than the physical number of CPUs if the SAS process has been restricted by system administration tools.\",\"type\":\"standalone\"},{\"name\":\"num\",\"placeholder\":true,\"description\":\"Replace <num> with an actual number. Setting CPUCOUNT= to a number greater than the actual number of available CPUs might result in reduced performance. This option overrides the CPUCOUNT= SAS system option.\",\"type\":\"standaloneOrValue\"}]},{\"name\":\"DATASERVER=\",\"optional\":true,\"description\":\"Specifies the name of the server on Teradata systems as defined through the hosts file and as used in the LIBNAME statement for Teradata. For example, if the hosts file defines myservercop1 33.44.55.66 as the server for Teradata, then a LIBNAME specification would be as follows: libname TDLib teradata server=myserver user= password= database= ; A PERFORMANCE statement to induce running alongside the Teradata server would specify the following:\",\"type\":\"value\"},{\"name\":\"DETAILS\",\"optional\":true,\"description\":\"Requests a table that shows a timing breakdown of the procedure steps.\",\"type\":\"standalone\"},{\"name\":\"HOST=\",\"optional\":true,\"aliases\":[\"GRIDHOST=\"],\"description\":\"Specifies the name of the appliance host in single or double quotes. If the HOST= option is specified, it overrides the value of the GRIDHOST environment variable.\",\"type\":\"value\"},{\"name\":\"INSTALL=\",\"optional\":true,\"aliases\":[\"INSTALLLOC=\"],\"description\":\"Specifies the directory in which the High-Performance Analytics shared libraries are installed on the appliance. Specifying the INSTALL= option overrides the GRIDINSTALLLOC environment variable.\",\"type\":\"value\"},{\"name\":\"NODES=\",\"optional\":true,\"aliases\":[\"NNODES=\"],\"description\":\"Specifies the number of nodes in the distributed computing environment, provided that the data are not processed alongside the database.\",\"type\":\"value\"},{\"name\":\"NTHREADS=\",\"optional\":true,\"description\":\"Specifies the number of threads for analytic computations and overrides the SAS system option THREADS | NOTHREADS. If you do not specify the NTHREADS= option, the number of threads are determined based on the number of CPUs on the host on which the analytic computations execute. The algorithm by which a CPU count is converted to a thread count is specific to the High- Performance Analytics procedure. Most procedures create one thread per CPU for the analytic computations. By default, High-Performance Analytics procedures execute in multiple concurrent threads unless turned off by the NOTHREADS system option or you force single-threaded execution with NTHREADS=1. The largest number that can be specified for n is 256. Individual High-Performance Analytics procedures can impose more stringent limits if called for by algorithmic considerations. You can affect the determination of the CPU count with the CPUCOUNT= option in the PERFORMANCE statement.\",\"help\":\"NTHREADS=*n*\",\"type\":\"value\"},{\"name\":\"TIMEOUT=\",\"optional\":true,\"description\":\"Specifies the timeout in seconds for a High-Performance Analytics procedure to wait for a connection to the appliance and establish a connection back to the client. The default is s=120 seconds. If jobs are submitted to the appliance through workload management tools that might suspend access to the appliance for a longer period, you might want to increase the timeout value.\",\"help\":\"TIMEOUT=*s*\",\"type\":\"value\"}]},{\"name\":\"PREDICT\",\"description\":\"Cox 1998). Results for all PREDICT statements are placed in the output data set that you specify with the OUT= option in the PROC HPNLMOD statement.\",\"help\":\"PREDICT &lt;ALPHA=α&gt;&lt;DF=d&gt;&lt;LOWER=name&gt; ...\",\"arguments\":[{\"name\":\"ALPHA=\",\"optional\":true,\"description\":\"Specifies the alpha level to be used in computing confidence limits. The default value corresponds to the ALPHA= option in the PROC HPNLIN statement..\",\"type\":\"value\"},{\"name\":\"DF=\",\"optional\":true,\"description\":\"Specifies the degrees of freedom to be used in computing confidence limits. The default value corresponds to the DF= option in the PROC HPNLIN statement.\",\"help\":\"DF=*d*\",\"type\":\"value\"},{\"name\":\"LOWER=\",\"optional\":true,\"description\":\"Specifies a variable that contains the lower confidence limit of the predicted value.\",\"help\":\"LOWER=*name*\",\"type\":\"value\"},{\"name\":\"MEAN\",\"optional\":true,\"description\":\"If you specify the keyword MEAN, the predicted mean value for the distribution specified in the MODEL statement is used. Predicted values are computed using the final parameter estimates.\",\"type\":\"standalone\"},{\"name\":\"PRED=\",\"optional\":true,\"description\":\"Specifies a variable that contains the predicted value.\",\"help\":\"PRED=*name*\",\"type\":\"value\"},{\"name\":\"PROBT=\",\"optional\":true,\"description\":\"Specifies a variable that contains the p-value of the predicted value.\",\"help\":\"PROBT=*name*\",\"type\":\"value\"},{\"name\":\"STDERR=\",\"optional\":true,\"description\":\"Specifies a variable that contains the standard error of the predicted value.\",\"help\":\"STDERR=*name*\",\"type\":\"value\"},{\"name\":\"TVALUE=\",\"optional\":true,\"description\":\"Specifies a variable that contains the t statistic for the predicted value.\",\"help\":\"TVALUE=*name*\",\"type\":\"value\"},{\"name\":\"UPPER=\",\"optional\":true,\"description\":\"Specifies a variable that contains the upper confidence limit of the predicted value.\",\"help\":\"UPPER=*name*\",\"type\":\"value\"}]},{\"name\":\"PUT\",\"description\":\"The PUT statement, used mostly for program debugging in PROC HPNLIN, supports only some of the features of the DATA step PUT statement, and it has some new features that the DATA step PUT statement does not have: o The PROC HPNLIN PUT statement does not support line pointers, factored lists, iteration factors, overprinting, _INFILE_, the colon (:) format modifier, or “$”. o The PROC HPNLIN PUT statement supports expressions, but the expression must be enclosed in parentheses. For example, the following statement displays the square root of x: put (sqrt(x)); o The PROC HPNLIN PUT statement supports the item _PDV_ to display a formatted listing of all variables in the program. For example, the following statement displays a much more readable listing of the variables than the _ALL_ print item: put _pdv_;\",\"help\":\"PUT &lt;_PDV_&gt;\",\"arguments\":[{\"name\":\"_PDV_\",\"optional\":true,\"description\":\"Displays a formatted listing of all variables in the program.\",\"type\":\"standalone\"}]},{\"name\":\"RESTRICT\",\"description\":\"The RESTRICT statement imposes linear restrictions on the model’s parameters estimates. You can specify any number of RESTRICT statements. Each restriction is written as an expression, followed by an equality operator (=) or an inequality operator (<, >, <=, >=), followed by a second expression: expression operator expression The operator can be =, <, >, <=, or >=. The operator and second expression are optional. When they are omitted, the operator defaults to = and the second expression defaults to the value 0. Restriction expressions can be composed of parameter names, arithmetic operators, functions, and constants. Comparison operators (such as = or <) and logical operators (such as &) cannot be used in RESTRICT statement expressions. Parameters named in restriction expressions must be among the parameters estimated by the model. Restriction expressions cannot refer to other variables defined in the program or the DATA= data set. The restriction expressions must be linear functions of the parameters.\",\"help\":\"RESTRICT restriction1 &lt; , restriction2 . . . &gt; \"},{\"name\":\"RETURN\",\"description\":\"Stops executing statements at the current point and returns to a predetermined point in the step.\",\"help\":\"RETURN\"},{\"name\":\"SELECT\",\"description\":\"\",\"help\":\"\"},{\"name\":\"STOP\",\"description\":\"The STOP statement halts the execution of all statements that contain it, including DO statements and other control or looping statements. Execution continues with the next top-level source statement.\",\"help\":\"STOP \"},{\"name\":\"SUBSTR\",\"description\":\"The SUBSTR function used as a programming statement in PROC HPNLIN.\",\"help\":\"SUBSTR( variable, index, length )= expression\"},{\"name\":\"WHEN\",\"description\":\"\",\"help\":\"WHEN &lt;DO&gt;\",\"arguments\":[{\"name\":\"DO\",\"optional\":true,\"description\":\"\",\"type\":\"standalone\"}]}],\"supportSiteInformation\":{\"docsetId\":\"statug\",\"docsetVersion\":\"latest\",\"docsetTargetFile\":\"statug_hpnlin_toc.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/HPPANEL.json",
    "content": "{\"name\":\"HPPANEL\",\"statements\":[{\"name\":\"PROC HPPANEL\",\"description\":\"The HPPANEL procedure is a high-performance version of the PANEL procedure in SAS/ETS software. Both procedures analyze a class of linear econometric models that commonly arise when time series and cross-sectional data are combined. This type of data on time series cross-sectional bases is often referred to as panel data. Typical examples of panel data include observations over time about households, countries, firms, trade, and so on. For example, in the case of survey data about household income, the panel is created by repeatedly surveying the same households in different time periods (years). The HPPANEL procedure is specifically designed to operate in the high-performance distributed mode. By default, PROC HPPANEL performs computations in multiple threads. The ID and MODEL statements are required. You can specify any of the following MODEL statement options in the PROC HPPANEL statement: FIXONE, FIXONETIME, FIXTWO, RANONE, RANTWO, NOINT, PRINTFIXED, and VCOMP=. Specifying these options in the PROC HPPANEL statement is equivalent to specifying them in the MODEL statement.\",\"help\":\"PROC HPPANEL <DATA=libref.data-table><CORRB><COVB><NOPRINT><CORRB><OUTEST=libref.data-table><OUTCOV><COVOUT><OUTCORR><CORROUT>;\\n\\tID  cross-section-idtime-series-id;\\n\\n\\tMODEL response = regressors</ options>;\\n\\n\\tRESTRICT equation1 <, equations2...>;\\n\\n\\tTEST equation1<, equations2...></ options>;\\n\\n\\tOUTPUT OUT=libref.data-table <output-options>;\\n\\n\\tPERFORMANCE <performance-options>;\\n\",\"arguments\":[{\"name\":\"DATA=\",\"optional\":true,\"description\":\"names the input data set. Only one observation is allowed for each cross section and time period. If you omit the DATA= option, PROC HPPANEL uses the most recently created SAS data set.\",\"help\":\"DATA=*libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"CORRB\",\"optional\":true,\"description\":\"prints the matrix of estimated correlations between the parameter estimates.\",\"type\":\"standalone\"},{\"name\":\"COVB\",\"optional\":true,\"description\":\"prints the matrix of estimated covariances between the parameter estimates.\",\"type\":\"standalone\"},{\"name\":\"NOPRINT\",\"optional\":true,\"description\":\"suppresses the normal printed output.\",\"type\":\"standalone\"},{\"name\":\"OUTEST=\",\"optional\":true,\"description\":\"names an output data set to contain the parameter estimates. When the OUTEST= option is not specified, the OUTEST=libref.data-table is not created.\",\"help\":\"OUTEST=*libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"OUTCOV\",\"optional\":true,\"aliases\":[\"COVOUT\"],\"description\":\"writes the standard errors and covariance matrix of the parameter estimates to the OUTEST=libref.data-table.\",\"type\":\"standalone\"},{\"name\":\"OUTCORR\",\"optional\":true,\"aliases\":[\"CORROUT\"],\"description\":\"writes the correlation matrix of the parameter estimates to the OUTEST=libref.data-table.\",\"type\":\"standalone\"}]},{\"name\":\"ID\",\"description\":\"The ID statement specifies variables in the input data set that identify the cross section and the time period for each observation. The ID statement is required. Unlike the PANEL procedure, the HPPANEL procedure does not require the data set to be sorted.\",\"help\":\"ID *cross-section-id**time-series-id*;\"},{\"name\":\"MODEL\",\"description\":\"The MODEL statement specifies the regression model, the error structure that is assumed for the regression residuals, and the estimation technique to be used. The response variable is regressed on the independent variables (regressors). You can specify only one MODEL statement and only one response. You can specify only one of the following models: BTWNG, BTWNT, FIXONE, FIXONETIME, FIXTWO, POOLED, RANONE, and RANTWO. By default, a FIXONE estimation is performed.\",\"help\":\"MODEL *response = regressors*&lt;*/ options*&gt;;\",\"arguments\":[{\"name\":\"BTWNG\",\"optional\":true,\"description\":\"estimates the between-groups model.\",\"type\":\"standalone\"},{\"name\":\"BTWNT\",\"optional\":true,\"description\":\"estimates the between-time-periods model.\",\"type\":\"standalone\"},{\"name\":\"FIXONE\",\"optional\":true,\"description\":\"estimates a one-way fixed-effects model, which corresponds to cross-sectional effects.\",\"type\":\"standalone\"},{\"name\":\"FIXONETIME\",\"optional\":true,\"description\":\"estimates a one-way fixed-effects model, which corresponds to time effects.\",\"type\":\"standalone\"},{\"name\":\"FIXTWO\",\"optional\":true,\"description\":\"estimates a two-way fixed-effects model.\",\"type\":\"standalone\"},{\"name\":\"POOLED\",\"optional\":true,\"description\":\"estimates the pooled regression model.\",\"type\":\"standalone\"},{\"name\":\"RANONE\",\"optional\":true,\"description\":\"estimates a one-way random-effects model.\",\"type\":\"standalone\"},{\"name\":\"RANTWO\",\"optional\":true,\"description\":\"estimates a two-way random-effects model.\",\"type\":\"standalone\"},{\"name\":\"NOINT\",\"optional\":true,\"description\":\"suppresses the intercept parameter from the model.\",\"type\":\"standalone\"},{\"name\":\"PRINTFIXED\",\"optional\":true,\"description\":\"prints the fixed effects.\",\"type\":\"standalone\"},{\"name\":\"VCOMP=\",\"optional\":true,\"description\":\"specifies the type of variance component estimator to use. By default, VCOMP=WK for both balanced and unbalanced data. You can specify the following values:\",\"help\":\"VCOMP=FB | NL | WH | WK\",\"type\":\"choice\",\"arguments\":[{\"name\":\"FB\",\"description\":\"requests the Fuller-Battese estimator.\",\"type\":\"standalone\"},{\"name\":\"NL\",\"description\":\"requests the Nerlove estimator.\",\"type\":\"standalone\"},{\"name\":\"WH\",\"description\":\"requests the Wallace-Hussain estimator.\",\"type\":\"standalone\"},{\"name\":\"WK\",\"description\":\"requests the Wansbeek-Kapteyn estimator.\",\"type\":\"standalone\"}]}]},{\"name\":\"OUTPUT\",\"description\":\"The OUTPUT statement creates a new SAS data set to contain variables that are specified by the COPYVAR option, the cross-sectional ID (_CSID_), and the time period (_TSID_). This data set also contains the predicted value and the residual if they are specified by output-options. When the response values are missing for the observation, all output estimates except the residual are still computed as long as none of the explanatory variables are missing. You can specify only one OUTPUT statement.\",\"help\":\"OUTPUT OUT=*libref.data-table*&lt;*output-options*&gt;;\",\"arguments\":[{\"name\":\"OUT=\",\"description\":\"names the output data set.\",\"help\":\"OUT=*libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"COPYVAR=\",\"optional\":true,\"aliases\":[\"COPYVARS=(<i>variables</i>)\"],\"description\":\"adds variables to the output data set.\",\"help\":\"COPYVAR=(*variables*)\",\"type\":\"value\"},{\"name\":\"PREDICTED\",\"optional\":true,\"description\":\"outputs estimates of predicted dependent variables.\",\"type\":\"standalone\"},{\"name\":\"RESIDUAL\",\"optional\":true,\"description\":\"outputs estimates of residuals.\",\"type\":\"standalone\"}]},{\"name\":\"PERFORMANCE\",\"description\":\"The PERFORMANCE statement specifies performance-options to control the multithreaded computing environment and requests detailed performance results of the HPPANEL procedure.\",\"help\":\"PERFORMANCE &lt;*performance-options*&gt;;\",\"arguments\":[{\"name\":\"DETAILS\",\"optional\":true,\"description\":\"requests a table that shows a timing breakdown of the procedure steps.\",\"type\":\"standalone\"},{\"name\":\"NTHREADS=\",\"optional\":true,\"description\":\"specifies the number of threads for analytic computations and overrides the SAS system option THREADS | NOTHREADS. If you do not specify the NTHREADS= option, PROC HPPANEL creates one thread per CPU for the analytic computations.\",\"help\":\"NTHREADS=*n*\",\"type\":\"value\"}]},{\"name\":\"RESTRICT\",\"description\":\"The RESTRICT statement specifies linear equality restrictions on the parameters in the MODEL statement. There can be as many unique restrictions as the number of parameters in the MODEL statement. Multiple RESTRICT statements are understood as joint restrictions on the model’s parameters. Currently, PROC HPPANEL only supports linear equality restrictions. Restriction expressions can be composed only of algebraic operations that involve the addition symbol (+), subtraction symbol (–), and multiplication symbol (*). A RESTRICT statement cannot include a division sign in its formulation. You can obtain restrictions on the intercept by using the keyword INTERCEPT.\",\"help\":\"RESTRICT *equation1*&lt;*,equation2…*&gt;; \"},{\"name\":\"TEST\",\"description\":\"The TEST statement performs Wald, Lagrange multiplier, and likelihood ratio tests of linear hypotheses about the regression parameters in the MODEL statement. Each equation specifies a linear hypothesis to be tested. Currently, only linear equality restrictions and tests are permitted in PROC HPPANEL. Test expressions can be composed only of algebraic operations that involve the addition symbol (+), subtraction symbol (–), and multiplication symbol (*). All hypotheses in one TEST statement are tested jointly. Variable names in the equations must correspond to regressors in the preceding MODEL statement, and each name represents the coefficient of the corresponding regressor. In the equality restrictions, you can use the keyword INTERCEPT to refer to the coefficient of the intercept.\",\"help\":\"TEST *equation1*&lt;*,equation2...*&gt;&lt;*/ options*&gt;\",\"arguments\":[{\"name\":\"ALL\",\"optional\":true,\"description\":\"specifies Wald, Lagrange multiplier, and likelihood ratio tests.\",\"type\":\"standalone\"},{\"name\":\"WALD\",\"optional\":true,\"description\":\"specifies the Wald test. This is the default test.\",\"type\":\"standalone\"},{\"name\":\"LM\",\"optional\":true,\"description\":\"specifies the Lagrange multiplier test.\",\"type\":\"standalone\"},{\"name\":\"LR\",\"optional\":true,\"description\":\"specifies the likelihood ratio test.\",\"type\":\"standalone\"}]}],\"supportSiteInformation\":{\"docsetId\":\"etsug\",\"docsetVersion\":\"latest\",\"docsetTargetFile\":\"etsug_hppanel_toc.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/HPPLS.json",
    "content": "{\"name\":\"HPPLS\",\"statements\":[{\"name\":\"PROC HPPLS\",\"description\":\"The HPPLS procedure is a high-performance version of the PLS procedure in SAS/STAT software, which fits models by using any one of a number of linear predictive methods, including partial least squares (PLS). Ordinary least squares regression, as implemented in SAS/STAT procedures such as the GLM and REG procedures, has the single goal of minimizing sample response prediction error, and it seeks linear functions of the predictors that explain as much variation in each response as possible. The HPPLS procedure implements techniques that have the additional goal of accounting for variation in the predictors, under the assumption that directions in the predictor space that are well sampled should provide better prediction for new observations when the predictors are highly correlated. All the techniques that the HPPLS procedure implements work by extracting successive linear combinations of the predictors, called factors (also called components, latent vectors, or latent variables), which optimally address one or both of these two goals: explaining response variation and explaining predictor variation. In particular, the method of partial least squares balances the two objectives by seeking factors that explain both response and predictor variation.\",\"help\":\"PROC HPPLS <CENSCALE><CVTEST <(cvtest-options)>><DATA=SAS-data-set><DETAILS><METHOD=PLS | SIMPLS | PCR... ><MISSING=NONE | AVG | EM<(EM-options)>><NAMELEN=number><NFAC=n><NOCENTER><NOCLPRINT<=number>><NOCVSTDIZE><NOPRINT><NOSCALE><VARSS>;     \\n\\tBY <DESCENDING><NOTSORTED> ;\\n\\n\\tCLASS <DESCENDING><ORDER=<DATA | FORMATTED | FREQ>... ><REFERENCE=<'<level>' | FIRST | LAST>> ...;\\n\\n\\tID variables ;\\n\\n\\tMODEL <INTERCEPT><SOLUTION> ;\\n\\n\\tOUTPUT <H><OUT= SAS-data-set><PREDICTED> ...;\\n\\n\\tPARTITION <FRACTION( <TEST=fraction> <SEED=n> )><ROLEVAR | ROLE=variable (<TEST='value'> <TRAIN='value'>)> ;\\n\\n\\tPERFORMANCE <COMMIT=n><DETAILS><GRIDHOST=\\\"name\\\"> ...;\\n\",\"arguments\":[{\"name\":\"CENSCALE\",\"optional\":true,\"description\":\"Lists the centering and scaling information for each response and predictor.\",\"type\":\"standalone\"},{\"name\":\"CVTEST=\",\"optional\":true,\"description\":\"Specifies that van der Voet's (1994) randomization-based model comparison test be performed to test models with different numbers of extracted factors against the model that minimizes the predicted residual sum of squares. You can specify the following cv-test-options: PVAL=n specifies the cutoff probability for declaring an insignificant difference. The default value is 0.10. STAT=test-statistic specifies the test statistic for the model comparison. NSAMP=n specifies the number of randomizations to perform. The default value is 1000.\",\"help\":\"CVTEST=PVAL= | STAT= | NSAMP= | SEED=\",\"type\":\"choice\",\"arguments\":[{\"name\":\"PVAL=\",\"type\":\"value\"},{\"name\":\"STAT=\",\"type\":\"value\"},{\"name\":\"NSAMP=\",\"type\":\"value\"},{\"name\":\"SEED=\",\"type\":\"value\"}]},{\"name\":\"DATA=\",\"optional\":true,\"description\":\"Names the input SAS data set to be used by PROC HPPLS. The default is the most recently created data set.\",\"help\":\"DATA=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"DETAILS\",\"optional\":true,\"description\":\"Lists the details of the fitted model for each successive factor.\",\"type\":\"standalone\"},{\"name\":\"METHOD=\",\"optional\":true,\"description\":\"Specifies the general factor extraction method to be used. By default, METHOD=PLS.\",\"help\":\"METHOD=PLS | SIMPLS | PCR | RRR\",\"type\":\"choice\",\"arguments\":[{\"name\":\"PLS\",\"description\":\"Syntax: PLS<(PLS-options)> Requests partial least squares. You can specify the following optional PLS-options in parentheses: ALGORITHM=NIPALS | SVD | EIG names the specific algorithm used to compute extracted PLS factors. NIPALS requests the usual iterative NIPALS algorithm, SVD bases the extraction on the singular value decomposition of X'Y, EIG bases the extraction on the eigenvalue decomposition of Y'XX'Y. MAXITER=n specifies the maximum number of iterations for the NIPALS and RLGW algorithms. The default value is 200. EPSILON=n specifies the convergence criterion for the NIPALS and RLGW algorithms. The default value is 10⁻¹².\",\"type\":\"standalone\"},{\"name\":\"SIMPLS\",\"description\":\"Requests the straightforward implementation of a statistically inspired modification of the partial least squares (SIMPLS) method of De Jong (1993).\",\"type\":\"standalone\"},{\"name\":\"PCR\",\"description\":\"Requests principal components regression\",\"type\":\"standalone\"},{\"name\":\"RRR\",\"description\":\"Requests reduced rank regression\",\"type\":\"standalone\"}]},{\"name\":\"MISSING=\",\"optional\":true,\"description\":\"Specifies how observations with missing values are to be handled in computing the fit.\",\"help\":\"MISSING=NONE | AVG | EM&lt;(EM-options)&gt;\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NONE\",\"description\":\"Observations with any missing variables (dependent or independent) are excluded from the analysis.\",\"type\":\"standalone\"},{\"name\":\"AVG\",\"description\":\"Specifies that the fit be computed by filling in missing values with the average of the nonmissing values for the corresponding variable.\",\"type\":\"standalone\"},{\"name\":\"EM\",\"description\":\"The procedure first computes the model with MISSING=AVG and then fills in missing values by their predicted values based on that model and computes the model again. You can specify the following optional EM-options in parentheses: MAXITER=n specifies the maximum number of iterations for the imputation/fit loop. EPSILON=n specifies the convergence criterion for the imputation/fit loop. The default value for is 10⁻⁸.\",\"help\":\"EM&lt;(EM-options)&gt;\",\"type\":\"standalone\"}]},{\"name\":\"NAMELEN=\",\"optional\":true,\"description\":\"Specifies the length to which long effect names are shortened. By default, NAMELEN=20. If you specify a value less than 20 for number, the default is used.\",\"help\":\"NAMELEN=*number*\",\"type\":\"value\"},{\"name\":\"NFAC=\",\"optional\":true,\"description\":\"Specifies the number of factors to extract.\",\"help\":\"NFAC=*n*\",\"type\":\"value\"},{\"name\":\"NOCENTER\",\"optional\":true,\"description\":\"Suppresses centering of the responses and predictors before fitting. This is useful if the analysis variables are already centered and scaled.\",\"type\":\"standalone\"},{\"name\":\"NOCLPRINT\",\"optional\":true,\"description\":\"Suppresses the display of the \\\"Class Level Information\\\" table if you do not specify number. If you specify number, the values of the classification variables are displayed only for variables whose number of levels is less than number. Specifying a number helps to reduce the size of the \\\"Class Level Information\\\" table if some classification variables have a large number of levels.\",\"type\":\"standalone\"},{\"name\":\"NOCVSTDIZE\",\"optional\":true,\"description\":\"Suppresses re-centering and rescaling of the responses and predictors before each model is fit in the cross validation.\",\"type\":\"standalone\"},{\"name\":\"NOPRINT\",\"optional\":true,\"description\":\"Suppresses the normal display of results.\",\"type\":\"standalone\"},{\"name\":\"NOSCALE\",\"optional\":true,\"description\":\"Suppresses scaling of the responses and predictors before fitting. This is useful if the analysis variables are already centered and scaled.\",\"type\":\"standalone\"},{\"name\":\"VARSS\",\"optional\":true,\"description\":\"Lists, in addition to the average response and predictor sum of squares accounted for by each successive factor, the amount of variation accounted for in each response and predictor.\",\"type\":\"standalone\"}]},{\"name\":\"BY\",\"description\":\"You can specify a BY statement with PROC HPPLS to obtain separate analyses of observations in groups that are defined by the BY variables. When a BY statement appears, the procedure expects the input data set to be sorted in order of the BY variables. If you specify more than one BY statement, only the last one specified is used. If your input data set is not sorted in ascending order, use one of the following alternatives: • Sort the data by using the SORT procedure with a similar BY statement. • Specify the NOTSORTED or DESCENDING option in the BY statement for the BCHOICE procedure. The NOTSORTED option does not mean that the data are unsorted but rather that the data are arranged in groups (according to values of the BY variables) and that these groups are not necessarily in alphabetical or increasing numeric order. • Create an index on the BY variables by using the DATASETS procedure (in Base SAS software).\",\"help\":\"BY &lt;DESCENDING&gt;&lt;NOTSORTED&gt;\",\"arguments\":[{\"name\":\"DESCENDING\",\"optional\":true,\"description\":\"Specifies that the observations are sorted in descending order by the variable that immediately follows the word DESCENDING in the BY statement.\",\"type\":\"standalone\"},{\"name\":\"NOTSORTED\",\"optional\":true,\"description\":\"Specifies that observations are not necessarily sorted in alphabetic or numeric order.\",\"type\":\"standalone\"}]},{\"name\":\"CLASS\",\"description\":\"The CLASS statement names the classification variables to be used as explanatory variables in the analysis. The CLASS statement must precede the MODEL statement.\",\"help\":\"CLASS &lt;DESCENDING&gt;&lt;ORDER=&lt;DATA | FORMATTED | FREQ&gt;... &gt;&lt;REFERENCE=&lt;'&lt;level&gt;' | FIRST | LAST&gt;&gt; ...\",\"arguments\":[{\"name\":\"DESCENDING\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"DESC\"],\"description\":\"Reverses the sorting order of the classification variable. If both the DESCENDING and ORDER= options are specified, high-performance statistical procedures order the categories according to the ORDER= option and then reverse that order.\",\"type\":\"standalone\"},{\"name\":\"MISSING\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Treats missing values (\\\".\\\", \\\".A\\\", …, \\\".Z\\\" for numeric variables and blanks for character variables) as valid values for the CLASS variable.\",\"type\":\"standalone\"},{\"name\":\"ORDER=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the sort order for the levels of classification variables. This ordering determines which parameters in the model correspond to each level in the data. By default, ORDER=FORMATTED. For ORDER=FORMATTED and ORDER=INTERNAL, the sort order is machine-dependent. When ORDER=FORMATTED is in effect for numeric variables for which you have supplied no explicit format, the levels are ordered by their internal values.\",\"help\":\"ORDER=DATA | FORMATTED | FREQ | FREQDATA | FREQFORMATTED | FREQINTERNAL | INTERNAL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DATA\",\"followsDelimiter\":\"/\",\"description\":\"Levels sorted by the order of appearance in the input data set.\",\"type\":\"standalone\"},{\"name\":\"FORMATTED\",\"followsDelimiter\":\"/\",\"description\":\"Levels sorted by the external formatted value, except for numeric variables with no explicit format, which are sorted by their unformatted (internal) value.\",\"type\":\"standalone\"},{\"name\":\"FREQ\",\"followsDelimiter\":\"/\",\"description\":\"Levels sorted by the descending frequency count; levels with the most observations come first in the order.\",\"type\":\"standalone\"},{\"name\":\"FREQDATA\",\"followsDelimiter\":\"/\",\"description\":\"Levels sorted by Order of descending frequency count, and within counts by order of appearance in the input data set when counts are tied.\",\"type\":\"standalone\"},{\"name\":\"FREQFORMATTED\",\"followsDelimiter\":\"/\",\"description\":\"Levels sorted by Order of descending frequency count, and within counts by formatted value when counts are tied.\",\"type\":\"standalone\"},{\"name\":\"FREQINTERNAL\",\"followsDelimiter\":\"/\",\"description\":\"Levels sorted by Order of descending frequency count, and within counts by unformatted (internal) value when counts are tied\",\"type\":\"standalone\"},{\"name\":\"INTERNAL\",\"followsDelimiter\":\"/\",\"description\":\"Levels sorted by the unformatted value.\",\"type\":\"standalone\"}]},{\"name\":\"PARAM=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the parameterization method for the classification variable or variables.\",\"help\":\"PARAM=GLM | REFERENCE*keyword*\",\"type\":\"value\",\"arguments\":[{\"name\":\"GLM\",\"followsDelimiter\":\"/\",\"description\":\"Specifies a less-than-full-rank reference cell coding. This parameterization is used in, for example, the GLM, MIXED, and GLIMMIX procedures in SAS/STAT.\",\"type\":\"standalone\"},{\"name\":\"REFERENCE\",\"followsDelimiter\":\"/\",\"description\":\"Specifies a reference cell encoding. You can choose the reference value by specifying an option for a specific variable or set of variables in the CLASS statement, or designate the first or last ordered value by specifying a global-option. The default is REF=LAST.\",\"type\":\"standalone\"}]},{\"name\":\"REFERENCE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"REF=\"],\"description\":\"Syntax: REF='level' | keyword REFERENCE='level' | keyword\",\"help\":\"REFERENCE='&lt;level&gt;' | FIRST | LAST\",\"type\":\"choice\",\"arguments\":[{\"name\":\"'\",\"followsDelimiter\":\"/\",\"description\":\"The level of the variable to use as the reference level. Specify the formatted value of the variable if a format is assigned. Replace <level> with an actual value.\",\"help\":\"'&lt;level&gt;'\",\"type\":\"standalone\"},{\"name\":\"FIRST\",\"followsDelimiter\":\"/\",\"description\":\"Designates the first ordered level as reference.\",\"type\":\"standalone\"},{\"name\":\"LAST\",\"followsDelimiter\":\"/\",\"description\":\"Designates the last ordered level as reference.\",\"type\":\"standalone\"}]},{\"name\":\"SPLIT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that the columns of the design matrix that correspond to any effect that contains a split classification variable can be selected to enter or leave a model independently of the other design columns of that effect. This option is specific to the HPREG procedure.\",\"type\":\"standalone\"},{\"name\":\"TRUNCATE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the truncation width of formatted values of CLASS variables when the optional n is specified. If n is not specified, the TRUNCATE option requests that classification levels be determined by using no more than the first 16 characters of the formatted values of CLASS variables.\",\"type\":\"standalone\"},{\"name\":\"UPCASE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Uppercases the values of character-valued CLASS variables before levelizing them. For example, if the UPCASE option is in effect and a CLASS variable can take the values 'a,' 'A,' and 'b,' then 'a' and 'A' represent the same level and the CLASS variable is treated as having only two values: 'A' and 'B.'\",\"type\":\"standalone\"}]},{\"name\":\"ID\",\"description\":\"The ID statement lists one or more variables from the input data set to be transferred to output data sets that are created by SAS high-performance analytical procedures, provided that the output data set produces one (or more) records per input observation.\",\"help\":\"ID variables \"},{\"name\":\"MODEL\",\"description\":\"The MODEL statement names the responses and the predictors, which determine the Y and X matrices of the model, respectively. You can simply list the names of the predictor variables as the model effects, but you can also specify other types of effects, including polynomial effects and interactions. The MODEL statement is required. You can specify only one MODEL statement.\",\"help\":\"MODEL &lt;INTERCEPT&gt;&lt;SOLUTION&gt;\",\"arguments\":[{\"name\":\"INTERCEPT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Overrides the default, in which the responses and predictors are centered. When responses and predictors are centered, no intercept is required in the model.\",\"type\":\"standalone\"},{\"name\":\"SOLUTION\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Lists the coefficients of the final predictive model for the responses.\",\"type\":\"standalone\"}]},{\"name\":\"OUTPUT\",\"description\":\"The OUTPUT statement creates a data set that contains observationwise statistics, which are computed after fitting the model. If you do not specify any keyword, then only the predicted values for responses are included.\",\"help\":\"OUTPUT &lt;H&gt;&lt;OUT= SAS-data-set&gt;&lt;PREDICTED&gt; ...\",\"arguments\":[{\"name\":\"H\",\"optional\":true,\"description\":\"Requests the approximate leverage. The default prefix is H.\",\"type\":\"standalone\"},{\"name\":\"OUT=\",\"optional\":true,\"description\":\"Specifies the output data set.\",\"type\":\"value\"},{\"name\":\"PREDICTED\",\"optional\":true,\"aliases\":[\"PRED\"],\"description\":\"Requests predicted values for each response. The default prefix is Pred.\",\"type\":\"standalone\"},{\"name\":\"PRESS\",\"optional\":true,\"description\":\"Rrequests approximate predicted residuals for each response. The default prefix is PRESS.\",\"type\":\"standalone\"},{\"name\":\"ROLE\",\"optional\":true,\"description\":\"Requests numeric values that indicate the role played by each observation in fitting the model. The default prefix is _ROLE_.\",\"type\":\"standalone\"},{\"name\":\"STDX\",\"optional\":true,\"description\":\"Requests standardized (centered and scaled) predictor values for each predictor. The default prefix is StdX.\",\"type\":\"standalone\"},{\"name\":\"STDXSSE\",\"optional\":true,\"description\":\"Requests the sum of squares of residuals for standardized predictors. The default prefix is StdXSSE.\",\"type\":\"standalone\"},{\"name\":\"STDY\",\"optional\":true,\"description\":\"Requests standardized (centered and scaled) response values for each response. The default prefix is StdY.\",\"type\":\"standalone\"},{\"name\":\"STDYSSE\",\"optional\":true,\"description\":\"Requests the sum of squares of residuals for standardized responses. The default prefix is StdYSSE.\",\"type\":\"standalone\"},{\"name\":\"TSQUARE\",\"optional\":true,\"aliases\":[\"T2\"],\"description\":\"Requests scaled sum of squares of score values. The default prefix is TSquare.\",\"type\":\"standalone\"},{\"name\":\"XRESIDUAL\",\"optional\":true,\"aliases\":[\"XRESID\",\"XR\"],\"description\":\"Requests residuals for each predictor. The default prefix is XResid.\",\"type\":\"standalone\"},{\"name\":\"XSCORE=\",\"optional\":true,\"description\":\"Requests extracted factors (X-scores, latent vectors, latent variables, T) for each selected model factor. The default prefix is XScore.)\",\"type\":\"value\"},{\"name\":\"YRESIDUAL\",\"optional\":true,\"aliases\":[\"YRESID\",\"YR\"],\"description\":\"Requests residuals for each response. The default prefix is YResid.\",\"type\":\"standalone\"},{\"name\":\"YSCORE\",\"optional\":true,\"description\":\"Requests extracted responses (Y-scores, U) for each selected model factor. The default prefix is YScore.)\",\"type\":\"standalone\"}]},{\"name\":\"PARTITION\",\"description\":\"The PARTITION statement specifies how observations in the input data set are logically partitioned into disjoint subsets for model training and testing. Either you can designate a variable in the input data set and a set of formatted values of that variable to determine the role of each observation, or you can specify proportions to use for random assignment of observations for each role.\",\"help\":\"PARTITION &lt;FRACTION( &lt;TEST=fraction&gt; &lt;SEED=n&gt; )&gt;&lt;ROLEVAR | ROLE=variable (&lt;TEST='value'&gt; &lt;TRAIN='value'&gt;)&gt;\",\"arguments\":[{\"name\":\"FRACTION=\",\"optional\":true,\"description\":\"Requests that specified proportions of the observations in the input data set be randomly assigned training and testing roles. You specify the proportions for testing by using the TEST= suboption; the specified fraction must be less than 1 and the remaining fraction of the observations are assigned to the training role. If you do not specify the TEST= suboption, the default fraction is 0.5. The SEED= suboption specifies an integer that is used to start the pseudorandom number generator for random partitioning of data for training and testing. If you do not specify a seed, or if you specify a value less than or equal to 0, the seed is generated from reading the time of day from the computer’s clock.\",\"help\":\"FRACTION=TEST= | SEED=\",\"type\":\"choice\",\"arguments\":[{\"name\":\"TEST=\",\"type\":\"value\"},{\"name\":\"SEED=\",\"type\":\"value\"}]},{\"name\":\"ROLEVAR=\",\"optional\":true,\"aliases\":[\"ROLE=\"],\"description\":\"Names the variable in the input data set whose values are used to assign roles to each observation. The formatted values of this variable that are used to assign observations roles are specified in the TEST= and TRAIN= suboptions. If you specify only the TEST= suboption, then all observations whose role is not determined by the TEST= suboption are assigned to training. If you specify only the TRAIN= suboption, then all observations whose role is not determined by the TRAIN= suboption are assigned to testing.\",\"help\":\"ROLEVAR=TEST= | TRAIN=\",\"type\":\"choice\",\"arguments\":[{\"name\":\"TEST=\",\"type\":\"value\"},{\"name\":\"TRAIN=\",\"type\":\"value\"}]}]},{\"name\":\"PERFORMANCE\",\"description\":\"The PERFORMANCE statement defines performance parameters for multithreaded and distributed computing, passes variables that describe the distributed computing environment, and requests detailed results about the performance characteristics of the HPPLS procedure. You can also use the PERFORMANCE statement to control whether the HPPLS procedure executes in single-machine mode or distributed mode.\",\"help\":\"PERFORMANCE &lt;COMMIT=n&gt;&lt;DETAILS&gt;&lt;GRIDHOST=\\\"name\\\"&gt; ...\",\"arguments\":[{\"name\":\"COMMIT=\",\"optional\":true,\"description\":\"Requests that the High-Performance Analytics procedure write periodic updates to the SAS Log when observations are sent from the client to the appliance for distributed processing.\",\"help\":\"COMMIT=*n*\",\"type\":\"value\"},{\"name\":\"DETAILS\",\"optional\":true,\"description\":\"Requests a table that shows a timing breakdown of the procedure steps.\",\"type\":\"standalone\"},{\"name\":\"GRIDHOST=\",\"optional\":true,\"aliases\":[\"HOST=\"],\"description\":\"Syntax: GRIDHOST=\\\"name\\\" HOST=\\\"name\\\"\",\"help\":\"GRIDHOST=\\\"*name*\\\"\",\"type\":\"value\"},{\"name\":\"GRIDMODE=\",\"optional\":true,\"aliases\":[\"MODE=\"],\"description\":\"Is a deprecated option that specifies whether to run the high-performance analytical procedure in symmetric (SYM) mode or asymmetric (ASYM) mode. This option overrides the GRIDMODE environment variable.\",\"help\":\"GRIDMODE=SYM | ASYM\",\"type\":\"choice\",\"arguments\":[{\"name\":\"SYM\",\"description\":\"Specifies to run the high-performance analytical procedure in symmetric (SYM) mode\",\"type\":\"standalone\"},{\"name\":\"ASYM\",\"description\":\"Specifies to run the high-performance analytical procedure in asymmetric (ASYM) mode.\",\"type\":\"standalone\"}]},{\"name\":\"GRIDTIMEOUT=\",\"optional\":true,\"aliases\":[\"TIMEOUT=\"],\"description\":\"Specifies the time-out in seconds for a high-performance analytical procedure to wait for a connection to the appliance and establish a connection back to the client. The default is 120 seconds. If jobs are submitted to the appliance through workload management tools that might suspend access to the appliance for a longer period, you might want to increase the time-out value.\",\"type\":\"value\"},{\"name\":\"INSTALL=\",\"optional\":true,\"aliases\":[\"INSTALLLOC=\"],\"description\":\"Specifies the directory in which the shared libraries for the high-performance analytical procedure are installed on the appliance. Specifying the INSTALL= option overrides the GRIDINSTALLLOC environment variable.\",\"type\":\"value\"},{\"name\":\"LASRSERVER=\",\"optional\":true,\"aliases\":[\"LASR=\"],\"description\":\"Specifies the fully qualified path to the description file of a SAS LASR Analytic Server instance. If the input data set is held in memory by this LASR Analytic Server instance, then the procedure runs alongside LASR. This option is not needed to run alongside LASR if the DATA= specification of the input data uses a libref that is associated with a LASR Analytic Server instance.\",\"type\":\"value\"},{\"name\":\"NODES=\",\"optional\":true,\"aliases\":[\"NNODES=\"],\"description\":\"Specifies the number of nodes in the distributed computing environment, provided that the data are not processed alongside the database.\",\"type\":\"value\"},{\"name\":\"NTHREADS=\",\"optional\":true,\"aliases\":[\"THREADS=\"],\"description\":\"Specifies the number of threads for analytic computations and overrides the SAS system option THREADS | NOTHREADS. If you do not specify the NTHREADS= option, the number of threads is determined based on the number of CPUs on the host on which the analytic computations execute. The algorithm by which a CPU count is converted to a thread count is specific to the high-performance analytical procedure. Most procedures create one thread per CPU for the analytic computations. By default, high-performance analytical procedures run in multiple concurrent threads unless multithreading has been turned off by the NOTHREADS system option or you force single-threaded execution by specifying NTHREADS=1. The largest number that can be specified for n is 256. Individual high-performance analytical procedures can impose more stringent limits if called for by algorithmic considerations.\",\"type\":\"value\"}]}],\"supportSiteInformation\":{\"docsetId\":\"statug\",\"docsetVersion\":\"latest\",\"docsetTargetFile\":\"statug_hppls_toc.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/HPPRINCOMP.json",
    "content": "{\"name\":\"HPPRINCOMP\",\"statements\":[{\"name\":\"PROC HPPRINCOMP\",\"description\":\"The HPPRINCOMP procedure is a high-performance procedure that performs principal component analysis. It is a high-performance version of the PRINCOMP procedure in SAS/STAT software, but it provides additional iterative methods to calculate the principal components. † Principal component analysis is a multivariate technique for examining relationships among several quantitative variables. The choice between using factor analysis and using principal component analysis depends in part on your research objectives. You should use the PRINCOMP procedure if you are interested in summarizing data and detecting linear relationships. You can use principal components to reduce the number of variables in regression, clustering, and so on.\",\"help\":\"PROC HPPRINCOMP <COVARIANCE><DATA=SAS-data-set><METHOD=EIG | ITERGS | NIPALS><N=number><NOINT><NOPRINT><OUT=SAS-data-set><OUTSTAT=SAS-data-set><PARPREFIX=|PPREFIX=|RPREFIX=name><PREFIX=name><SINGULAR=p><STANDARD><VARDEF=DF | N | WEIGHT|WGT... >;     \\n\\tBY <DESCENDING><NOTSORTED> ;\\n\\n\\tCODE <CATALOG=library.catalog.entry.typeCAT=library.catalog.entry.type><FILE= filename><FORMAT=format> ...;\\n\\n\\tFREQ variable ;\\n\\n\\tID variables ;\\n\\n\\tOUTPUT <H <=prefix>> OUT=SAS-data-set | DATA=SAS-data-set <STD <=prefix>> ...;\\n\\n\\tPARTIAL variables ;\\n\\n\\tPERFORMANCE <COMMIT=n><DETAILS><GRIDHOST=\\\"name\\\"> ...;\\n\\n\\tVAR variables ;\\n\\n\\tWEIGHT variable;\\n\",\"arguments\":[{\"name\":\"COVARIANCE\",\"optional\":true,\"aliases\":[\"COV\"],\"description\":\"Computes the principal components from the covariance matrix. If you omit the COV option, the correlation matrix is analyzed.\",\"type\":\"standalone\"},{\"name\":\"DATA=\",\"optional\":true,\"description\":\"Specifies the SAS data set to be analyzed.\",\"help\":\"DATA=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"METHOD=\",\"optional\":true,\"description\":\"Specifies the principal component extraction method to be used.\",\"help\":\"METHOD=EIG | ITERGS | NIPALS\",\"type\":\"choice\",\"arguments\":[{\"name\":\"EIG\",\"description\":\"Requests eigenvalue decomposition.\",\"type\":\"standalone\"},{\"name\":\"ITERGS\",\"description\":\"Syntax: ITERGS<(iter-options)> Requests the iterative method based on Gram-Schmidt orthogonalization (ITERGS) of Andrecut (2009). You can also specify the following optional iter-options in parentheses after METHOD=ITERGS: EPSILON=n specifies the convergence criterion for the iterative method. By default, EPSILON=10E–12. MAXITER=n specifies the maximum number of iterations for the iterative method. By default, MAXITER=5000. NOCENTER suppresses centering of the numeric variables to be analyzed. T NOSCALE suppresses scaling of the numeric variables to be analyzed.\",\"type\":\"standalone\"},{\"name\":\"NIPALS\",\"description\":\"Syntax: NIPALS<(iter-options)> Requests the nonlinear iterative partial least squares (NIPALS) method. You can also specify the optional iter-options in parentheses after METHOD=NIPALS. EPSILON=n specifies the convergence criterion for the iterative method. By default, EPSILON=10E–12. MAXITER=n specifies the maximum number of iterations for the iterative method. By default, MAXITER=5000. NOCENTER suppresses centering of the numeric variables to be analyzed. T NOSCALE suppresses scaling of the numeric variables to be analyzed.\",\"type\":\"standalone\"}]},{\"name\":\"N=\",\"optional\":true,\"description\":\"Specifies the number of principal components to be computed. The default is the number of variables. The value of the N= option must be an integer greater than or equal to zero.\",\"help\":\"N=*number*\",\"type\":\"value\"},{\"name\":\"NOINT\",\"optional\":true,\"description\":\"Omits the intercept from the model. In other words, the NOINT option requests that the covariance or correlation matrix not be corrected for the mean.\",\"type\":\"standalone\"},{\"name\":\"NOPRINT\",\"optional\":true,\"description\":\"Suppresses the display of all output.\",\"type\":\"standalone\"},{\"name\":\"OUT=\",\"optional\":true,\"description\":\"Creates an output SAS data set to contain observationwise principal component scores.\",\"help\":\"OUT=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"OUTSTAT=\",\"optional\":true,\"description\":\"Creates an output SAS data set that contains means, standard deviations, number of observations, correlations or covariances, eigenvalues, and eigenvectors.\",\"help\":\"OUTSTAT=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"PARPREFIX=\",\"optional\":true,\"aliases\":[\"PPREFIX=\",\"RPREFIX=\"],\"description\":\"Specifies a prefix for naming the residual variables in the OUT= data set and the OUTSTAT= data set. By default, the prefix is R_.\",\"type\":\"value\"},{\"name\":\"PREFIX=\",\"optional\":true,\"description\":\"Specifies a prefix for naming the principal components. By default, the names are Prin1, Prin2, ..., Prinn. If you specify PREFIX=ABC, the components are named ABC1, ABC2, ABC3, and so on. The number of characters in the prefix plus the number of digits required to designate the variables should not exceed the current name length defined by the VALIDVARNAME= system option.\",\"help\":\"PREFIX=*name*\",\"type\":\"value\"},{\"name\":\"SINGULAR=\",\"optional\":true,\"aliases\":[\"SING=\"],\"description\":\"Specifies the singularity criterion, where 0 < p < 1.\",\"help\":\"SINGULAR=*p*\",\"type\":\"value\"},{\"name\":\"STANDARD\",\"optional\":true,\"aliases\":[\"STD\"],\"description\":\"Standardizes the principal component scores in the OUT= data set to unit variance.\",\"type\":\"standalone\"},{\"name\":\"VARDEF=\",\"optional\":true,\"description\":\"Specifies the divisor used in calculating variances and standard deviations.\",\"help\":\"VARDEF=DF | N | WEIGHT | WDF\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DF\",\"description\":\"Error degrees of freedom\",\"type\":\"standalone\"},{\"name\":\"N\",\"description\":\"Number of observations\",\"type\":\"standalone\"},{\"name\":\"WEIGHT\",\"aliases\":[\"WGT\"],\"description\":\"Sum of weights\",\"type\":\"standalone\"},{\"name\":\"WDF\",\"description\":\"Sum of weights minus one\",\"type\":\"standalone\"}]}]},{\"name\":\"BY\",\"description\":\"You can specify a BY statement with PROC HPPRINCOMP to obtain separate analyses of observations in groups that are defined by the BY variables. When a BY statement appears, the procedure expects the input data set to be sorted in order of the BY variables. If you specify more than one BY statement, only the last one specified is used. If your input data set is not sorted in ascending order, use one of the following alternatives: • Sort the data by using the SORT procedure with a similar BY statement. • Specify the NOTSORTED or DESCENDING option in the BY statement for the BCHOICE procedure. The NOTSORTED option does not mean that the data are unsorted but rather that the data are arranged in groups (according to values of the BY variables) and that these groups are not necessarily in alphabetical or increasing numeric order. • Create an index on the BY variables by using the DATASETS procedure (in Base SAS software).\",\"help\":\"BY &lt;DESCENDING&gt;&lt;NOTSORTED&gt;\",\"arguments\":[{\"name\":\"DESCENDING\",\"optional\":true,\"description\":\"Specifies that the observations are sorted in descending order by the variable that immediately follows the word DESCENDING in the BY statement.\",\"type\":\"standalone\"},{\"name\":\"NOTSORTED\",\"optional\":true,\"description\":\"Specifies that observations are not necessarily sorted in alphabetic or numeric order.\",\"type\":\"standalone\"}]},{\"name\":\"CODE\",\"description\":\"The CODE statement enables you to write SAS DATA step code for computing the principal component scores either to a file or to a catalog entry. This code can then be included in a DATA step to score new data. The CODE statement is not supported when the PARTIAL statement is specified. If you specify more than one CODE statement, only the last one specified is used.\",\"help\":\"CODE &lt;CATALOG=library.catalog.entry.typeCAT=library.catalog.entry.type&gt;&lt;FILE= filename&gt;&lt;FORMAT=format&gt; ...\",\"arguments\":[{\"name\":\"CATALOG=\",\"optional\":true,\"aliases\":[\"CAT=\"],\"description\":\"Specifies where to write the generated code in the form of library.catalog.entry.type. The compound name can have from one to four levels. The default library is determined by the USER= SAS system option, which by default is WORK. The default entry is SASCODE, and the default type is SOURCE.\",\"type\":\"value\"},{\"name\":\"FILE=\",\"optional\":true,\"description\":\"Names the external file that saves the generated code. When enclosed in a quoted string (for example, FILE=\\\"c:nmydirnscorecode.sas\\\"), this option specifies the path for writing the code to an external file. You can also specify unquoted SAS filenames of no more than eight characters for filename. If the filename is assigned as a fileref in a Base SAS FILENAME statement, the file specified in the FILENAME statement is opened. The special filerefs LOG and PRINT are always assigned. If the specified filename is not an assigned fileref, the specified value for filename is concatenated with a .txt extension before the file is opened. For example, if FOO is not an assigned fileref, FILE=FOO causes FOO.txt to be opened. If filename has more than eight characters, an error message is printed.\",\"type\":\"value\"},{\"name\":\"FORMAT=\",\"optional\":true,\"description\":\"Specifies the format for the regression coefficients and other numerical values that do not have a format from the input data set. The default format is BEST20.\",\"help\":\"FORMAT=*format*\",\"type\":\"value\"},{\"name\":\"GROUP=\",\"optional\":true,\"description\":\"Specifies the group identifier for group processing. The group-name should be a valid SAS name of no more than 16 characters. It is used to construct array names and statement labels in the generated code.\",\"help\":\"GROUP=*group-name*\",\"type\":\"value\"},{\"name\":\"IMPUTE\",\"optional\":true,\"description\":\"Imputes the predicted values according to an intercept-only model for observations with missing or invalid covariate values. For a continuous response, the predicted value is the mean of the response variable; for a categorical response, the predicted values are the proportions of the response categories. When the IMPUTE option is specified, the scoring code also creates a variable named _WARN_ that contains one or more single-character codes that indicate problems in computing predicted values. The character codes used in _WARN_ go in the following positions:\",\"type\":\"standalone\"},{\"name\":\"LINESIZE=\",\"optional\":true,\"aliases\":[\"LS=\"],\"description\":\"Specifies the line size for the generated code. The default is 72. The permissible range is 64 to 254.\",\"type\":\"value\"}]},{\"name\":\"FREQ\",\"description\":\"The variable in the FREQ statement identifies a numeric variable in the data set that contains the frequency of occurrence of each observation. SAS high-performance analytics procedures that support the FREQ statement treat each observation as if it appeared f times, where f is the value of the FREQ variable for the observation. If the frequency value is not an integer, it is truncated to an integer. If the frequency value is less than 1 or missing, the observation is not used in the analysis. When the FREQ statement is not specified, each observation is assigned a frequency of 1. The FREQ statement is not supported if you specify METHOD= NIPALS or METHOD=ITERGS in the PROC HPPRINCOMP statement.\",\"help\":\"FREQ variable \"},{\"name\":\"ID\",\"description\":\"The ID statement lists one or more variables from the input data set that are transferred to output data sets created by SAS high-performance analytics procedures, provided that the output data set produces one (or more) records per input observation.\",\"help\":\"ID variables \"},{\"name\":\"OUTPUT\",\"description\":\"The OUTPUT statement creates a data set that contains observationwise statistics, which are computed after PROC HPPRINCOMP fits the model. If you do not specify a keyword, then only the principal component scores are included. The OUTPUT statement causes the OUT= option in the PROC HPPRINCOMP statement to be ignored.\",\"help\":\"OUTPUT &lt;H &lt;=prefix&gt;&gt; OUT=SAS-data-set | DATA=SAS-data-set &lt;STD &lt;=prefix&gt;&gt; ...\",\"arguments\":[{\"name\":\"OUT=\",\"aliases\":[\"DATA=\"],\"description\":\"Specifies the name of the output data set. If you omit this option, the procedure uses the DATAn convention to name the output data set.\",\"type\":\"value\"},{\"name\":\"RESIDUAL\",\"aliases\":[\"RESID\"],\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"H\",\"optional\":true,\"description\":\"Requests the approximate leverage. The default prefix is H.\",\"type\":\"standalone\"},{\"name\":\"SCORE\",\"optional\":true,\"description\":\"Requests principal component scores for each principal component. The default prefix is Score.\",\"type\":\"standalone\"},{\"name\":\"STD\",\"optional\":true,\"description\":\"Requests standardized (centered and scaled) VAR variable values for each VAR variable. The default prefix is Std.\",\"type\":\"standalone\"},{\"name\":\"STDSSE\",\"optional\":true,\"description\":\"Requests the sum of squares of residuals for standardized VAR variables. The default prefix is StdSSE.\",\"type\":\"standalone\"},{\"name\":\"TSQUARE\",\"optional\":true,\"aliases\":[\"T2\"],\"description\":\"Requests scaled sum of squares of score values. The default prefix is TSquare.\",\"type\":\"standalone\"}]},{\"name\":\"PARTIAL\",\"description\":\"If you want to analyze a partial correlation or covariance matrix, specify the names of the numeric variables to be partialed out in the PARTIAL statement. The HPPRINCOMP procedure computes the principal components of the residuals from the prediction of the VAR variables by the PARTIAL variables. If you request an OUT= or OUTSTAT= data set, the residual variables are named by prefixing either the characters R_ (by default) or the string specified in the PARPREFIX= option to the VAR variables. The PARTIAL statement is not supported if you specify METHOD= NIPALS or METHOD=ITERGS in the PROC HPPRINCOMP statement.\",\"help\":\"PARTIAL variables \"},{\"name\":\"PERFORMANCE\",\"description\":\"The PERFORMANCE statement defines performance parameters for multithreaded and distributed computing, passes variables that describe the distributed computing environment, and requests detailed results about the performance characteristics of the HPPRINCOMP procedure. You can also use the PERFORMANCE statement to control whether the HPPLS procedure executes in single-machine mode or distributed mode.\",\"help\":\"PERFORMANCE &lt;COMMIT=n&gt;&lt;DETAILS&gt;&lt;GRIDHOST=\\\"name\\\"&gt; ...\",\"arguments\":[{\"name\":\"COMMIT=\",\"optional\":true,\"description\":\"Requests that the High-Performance Analytics procedure write periodic updates to the SAS Log when observations are sent from the client to the appliance for distributed processing.\",\"help\":\"COMMIT=*n*\",\"type\":\"value\"},{\"name\":\"DETAILS\",\"optional\":true,\"description\":\"Requests a table that shows a timing breakdown of the procedure steps.\",\"type\":\"standalone\"},{\"name\":\"GRIDHOST=\",\"optional\":true,\"aliases\":[\"HOST=\"],\"description\":\"Syntax: GRIDHOST=\\\"name\\\" HOST=\\\"name\\\"\",\"help\":\"GRIDHOST=\\\"*name*\\\"\",\"type\":\"value\"},{\"name\":\"GRIDMODE=\",\"optional\":true,\"aliases\":[\"MODE=\"],\"description\":\"Is a deprecated option that specifies whether to run the high-performance analytical procedure in symmetric (SYM) mode or asymmetric (ASYM) mode. This option overrides the GRIDMODE environment variable.\",\"help\":\"GRIDMODE=SYM | ASYM\",\"type\":\"choice\",\"arguments\":[{\"name\":\"SYM\",\"description\":\"Specifies to run the high-performance analytical procedure in symmetric (SYM) mode\",\"type\":\"standalone\"},{\"name\":\"ASYM\",\"description\":\"Specifies to run the high-performance analytical procedure in asymmetric (ASYM) mode.\",\"type\":\"standalone\"}]},{\"name\":\"GRIDTIMEOUT=\",\"optional\":true,\"aliases\":[\"TIMEOUT=\"],\"description\":\"Specifies the time-out in seconds for a high-performance analytical procedure to wait for a connection to the appliance and establish a connection back to the client. The default is 120 seconds. If jobs are submitted to the appliance through workload management tools that might suspend access to the appliance for a longer period, you might want to increase the time-out value.\",\"type\":\"value\"},{\"name\":\"INSTALL=\",\"optional\":true,\"aliases\":[\"INSTALLLOC=\"],\"description\":\"Specifies the directory in which the shared libraries for the high-performance analytical procedure are installed on the appliance. Specifying the INSTALL= option overrides the GRIDINSTALLLOC environment variable.\",\"type\":\"value\"},{\"name\":\"LASRSERVER=\",\"optional\":true,\"aliases\":[\"LASR=\"],\"description\":\"Specifies the fully qualified path to the description file of a SAS LASR Analytic Server instance. If the input data set is held in memory by this LASR Analytic Server instance, then the procedure runs alongside LASR. This option is not needed to run alongside LASR if the DATA= specification of the input data uses a libref that is associated with a LASR Analytic Server instance.\",\"type\":\"value\"},{\"name\":\"NODES=\",\"optional\":true,\"aliases\":[\"NNODES=\"],\"description\":\"Specifies the number of nodes in the distributed computing environment, provided that the data are not processed alongside the database.\",\"type\":\"value\"},{\"name\":\"NTHREADS=\",\"optional\":true,\"aliases\":[\"THREADS=\"],\"description\":\"Specifies the number of threads for analytic computations and overrides the SAS system option THREADS | NOTHREADS. If you do not specify the NTHREADS= option, the number of threads is determined based on the number of CPUs on the host on which the analytic computations execute. The algorithm by which a CPU count is converted to a thread count is specific to the high-performance analytical procedure. Most procedures create one thread per CPU for the analytic computations. By default, high-performance analytical procedures run in multiple concurrent threads unless multithreading has been turned off by the NOTHREADS system option or you force single-threaded execution by specifying NTHREADS=1. The largest number that can be specified for n is 256. Individual high-performance analytical procedures can impose more stringent limits if called for by algorithmic considerations.\",\"type\":\"value\"}]},{\"name\":\"VAR\",\"description\":\"The VAR statement lists the numeric variables to be analyzed. If you omit the VAR statement, all numeric variables not specified in other statements are analyzed.\",\"help\":\"VAR variables \"},{\"name\":\"WEIGHT\",\"description\":\"The variable in the WEIGHT statement is used as a weight to perform a weighted analysis of the data. Observations that have nonpositive or missing weights are not included in the analysis. If you do not specify a WEIGHT statement, all observations that are used in the analysis are assigned a weight of 1. The WEIGHT statement is not supported if you specify METHOD= NIPALS or METHOD=ITERGS in the PROC HPPRINCOMP statement.\",\"help\":\"WEIGHT variable\"}],\"supportSiteInformation\":{\"docsetId\":\"statug\",\"docsetVersion\":\"latest\",\"docsetTargetFile\":\"statug_hpprincomp_toc.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/HPQLIM.json",
    "content": "{\"name\":\"HPQLIM\",\"statements\":[{\"name\":\"PROC HPQLIM\",\"description\":\"The HPQLIM (high-performance qualitative and limited dependent variable model) procedure is a high-performance version of the QLIM procedure in SAS/ETS software, which analyzes univariate limited dependent variable models in which dependent variables are observed only in a limited range of values. Unlike the QLIM procedure, which can be run only on an individual workstation, the HPQLIM procedure takes advantage of a computing environment that enables it to distribute the optimization task among one or more nodes. In addition, each node can use one or more threads to carry out the optimization on its subset of the data. When several nodes are used with each node using several threads to carry out its part of the work, the result is a highly parallel computation that provides a dramatic gain in performance. † With the HPQLIM procedure you can read and write data in distributed form and perform analyses in massively parallel processing (MPP) and symmetric multiprocessing (SMP) mode. The HPQLIM procedure is specifically designed to operate in the high-performance distributed environment. By default, PROC HPQLIM performs computations in multiple threads\",\"help\":\"PROC HPQLIM <ABSCONV=r | ABSTOL=r><ABSFCONV=r | ABSFTOL=r><ABSGCONV=r | ABSGTOL=r><ABSXCONV=r | ABSXTOL=r><CORRB><CORROUT><COVB><COVEST=OP | HESSIAN | QML><COVOUT><DATA=SAS-data-set><FCONV=r | FTOL=r><GCONV=r | GTOL=r><ITPRINT><MAXFUNC= | MAXFU=i><MAXITER= | MAXIT=i[n><MAXTIME=r><METHOD=CONGRA | DBLDOG | NONE... ><NOPRINT><OUTEST=SAS-data-set><PRINTALL>;     \\n\\tBOUNDS bound1 < , bound2 ...> ;\\n\\n\\tENDOGENOUS <CENSORED <(censored-options )>><FRONTIER <(frontier-options )>><CENSORED <(truncated-options )>> ...;\\n\\n\\tFREQ variable ;\\n\\n\\tHETERO <LINK=<EXP | LINEAR>><NOCONST><SQUARE> ...;\\n\\n\\tINIT initvalue1 < , initvalue2 ...> ;\\n\\n\\tMODEL <CENSORED <(censored-options )>><NOINT><CENSORED <(truncated-options )>> ...;\\n\\n\\tOUTPUT <CONDITIONAL><ERRSTD><OUT=SAS-data-set> ...;\\n\\n\\tPERFORMANCE <COMMIT=n><CPUCOUNT=<ACTUAL | <num>>><DATASERVER=“name”> ...;\\n\\n\\tRESTRICT restriction1 <, restriction2 ...> ;\\n\\n\\tTEST <ALL><LM><WALD> ...;\\n\\n\\tWEIGHT <NONORMALIZE> ;\\n\",\"arguments\":[{\"name\":\"ABSCONV=\",\"optional\":true,\"aliases\":[\"ABSTOL=\"],\"description\":\"Specifies an absolute function convergence criterion by which minimization stops when f(ϴ⁽ⁿ⁾) ≤ r. The default value of r is the negative square root of the largest double-precision value, which serves only as a protection against overflows.\",\"type\":\"value\"},{\"name\":\"ABSFCONV=\",\"optional\":true,\"aliases\":[\"ABSFTOL=\"],\"description\":\"Specifies an absolute function convergence criterion by which minimization stops when the function value has a small change in successive iterations: |f(ϴ⁽ⁿ⁻¹⁾) - f(ϴ⁽ⁿ⁾)| ≤ r\",\"type\":\"value\"},{\"name\":\"ABSGCONV=\",\"optional\":true,\"aliases\":[\"ABSGTOL=\"],\"description\":\"Specifies an absolute gradient convergence criterion.Optimization stops when the maximum absolute gradient element is small: max|gₓ(ϴ⁽ⁿ⁾)| ≤ r\",\"type\":\"value\"},{\"name\":\"ABSXCONV=\",\"optional\":true,\"aliases\":[\"ABSXTOL=\"],\"description\":\"Specifies the absolute parameter convergence criterion. Optimization stops when the Euclidean distance between successive parameter vectors is small: ||f(ϴ⁽ⁿ⁻¹⁾) - f(ϴ⁽ⁿ⁾)||₂ ≤ r\",\"type\":\"value\"},{\"name\":\"CORRB\",\"optional\":true,\"description\":\"Prints the correlation matrix of the parameter estimates.\",\"type\":\"standalone\"},{\"name\":\"CORROUT\",\"optional\":true,\"description\":\"Writes the correlation matrix for the parameter estimates to the OUTEST= data set. This option is valid only if the OUTEST= option is specified.\",\"type\":\"standalone\"},{\"name\":\"COVB\",\"optional\":true,\"description\":\"Prints the covariance matrix of the parameter estimates.\",\"type\":\"standalone\"},{\"name\":\"COVEST=\",\"optional\":true,\"description\":\"Specifies the method to calculate the covariance matrix of parameter estimates. The default is COVEST=HESSIAN.\",\"help\":\"COVEST=OP | HESSIAN | QML\",\"type\":\"choice\",\"arguments\":[{\"name\":\"OP\",\"description\":\"Specifies the covariance from the outer product matrix.\",\"type\":\"standalone\"},{\"name\":\"HESSIAN\",\"description\":\"Specifies the covariance from the inverse Hessian matrix.\",\"type\":\"standalone\"},{\"name\":\"QML\",\"description\":\"Specifies the covariance from the outer product and Hessian matrices (the quasi-maximum likelihood estimates).\",\"type\":\"standalone\"}]},{\"name\":\"COVOUT\",\"optional\":true,\"description\":\"Writes the covariance matrix for the parameter estimates to the OUTEST= data set. This option is valid only if the OUTEST= option is specified.\",\"type\":\"standalone\"},{\"name\":\"DATA=\",\"optional\":true,\"description\":\"Specifies the input SAS data set. If the DATA= option is not specified, PROC HPQLIM uses the most recently created SAS data set.\",\"help\":\"DATA=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"FCONV=\",\"optional\":true,\"aliases\":[\"FTOL=\"],\"description\":\"Specifies a relative function convergence criterion. Optimization stops when a relative change of the function value in successive iterations is small: |f(ϴ⁽ⁿ⁻¹⁾) - f(ϴ⁽ⁿ⁾)| / |f(ϴ⁽ⁿ⁻¹⁾)| ≤ r\",\"type\":\"value\"},{\"name\":\"GCONV=\",\"optional\":true,\"aliases\":[\"GTOL=\"],\"description\":\"Specifies a relative gradient convergence criterion. For all techniques except CONGRA, optimization stops when the normalized predicted function reduction is small.\",\"type\":\"value\"},{\"name\":\"ITPRINT\",\"optional\":true,\"description\":\"Prints the initial parameter estimates, convergence criteria, and all constraints of the optimization. At each iteration, objective function value, step size, maximum gradient, and slope of search direction are also printed.\",\"type\":\"standalone\"},{\"name\":\"MAXFUNC=\",\"optional\":true,\"aliases\":[\"MAXFU=\"],\"description\":\"Specifies the maximum number of function calls in the optimization process. The default is 1,000.\",\"type\":\"value\"},{\"name\":\"MAXITER=\",\"optional\":true,\"aliases\":[\"MAXIT=\"],\"description\":\"Specifies the maximum number of iterations in the optimization process. The default value is 200.\",\"type\":\"value\"},{\"name\":\"MAXTIME=\",\"optional\":true,\"description\":\"Specifies an upper limit of r seconds of CPU time for the optimization process. The default value is the largest floating-point double representation of your computer. The time specified by this option is checked only once at the end of each iteration. Therefore, the actual running time can be much longer than r. The actual running time includes the remaining time needed to finish the iteration and the time needed to generate the output of the results.\",\"help\":\"MAXTIME=*r*\",\"type\":\"value\"},{\"name\":\"METHOD=\",\"optional\":true,\"description\":\"Specifies the iterative minimization method to use. The default is METHOD=NEWRAP.\",\"help\":\"METHOD=CONGRA | DBLDOG | NONE | NEWRAP | NRRIDG | QUANEW | TRUREG\",\"type\":\"choice\",\"arguments\":[{\"name\":\"CONGRA\",\"description\":\"Specifies a conjugate-gradient method\",\"type\":\"standalone\"},{\"name\":\"DBLDOG\",\"description\":\"Specifies the double dogleg method\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"Specifies that no optimization be performed beyond using the ordinary least squares method to compute the parameter estimates.\",\"type\":\"standalone\"},{\"name\":\"NEWRAP\",\"description\":\"Specifies the Newton-Raphson method (the default).\",\"type\":\"standalone\"},{\"name\":\"NRRIDG\",\"description\":\"Specifies the Newton-Raphson Ridge method.\",\"type\":\"standalone\"},{\"name\":\"QUANEW\",\"description\":\"Specifies the quasi-Newton method.\",\"type\":\"standalone\"},{\"name\":\"TRUREG\",\"description\":\"Specifies the trust region method.\",\"type\":\"standalone\"}]},{\"name\":\"NOPRINT\",\"optional\":true,\"description\":\"Suppresses the normal printed output but does not suppress error listings. If this option is specified, then any other print option is turned off.\",\"type\":\"standalone\"},{\"name\":\"OUTEST=\",\"optional\":true,\"description\":\"Writes the parameter estimates to an output data set.\",\"help\":\"OUTEST=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"PRINTALL\",\"optional\":true,\"description\":\"Turns on all the printing options. The options set by PRINTALL are COVB and CORRB.\",\"type\":\"standalone\"}]},{\"name\":\"BOUNDS\",\"description\":\"The BOUNDS statement imposes simple boundary constraints on the parameter estimates. BOUNDS statement constraints refer to the parameters estimated by the HPQLIM procedure. You can specify any number of BOUNDS statements. Each bound is composed of parameters and constants and inequality operators. Parameters associated with regressor variables are referred to by the names of the corresponding regressor variables. Specify each bound as follows: item operator item < operator item < operator item ...> > Each item is a constant, the name of a parameter, or a list of parameter names. Each operator is <, >, <=, or >=.\",\"help\":\"BOUNDS bound1 &lt; , bound2 ...&gt; \"},{\"name\":\"ENDOGENOUS\",\"description\":\"The ENDOGENOUS statement specifies the type of dependent variables that appear on the left-hand side of the equation. Endogenous variables listed refer to the dependent variables that appear on the left-hand side of the equation. Currently, no right-hand side endogeneity is handled in PROC QLIM. All variables appearing on the right-hand side of the equation are treated as exogenous\",\"help\":\"ENDOGENOUS &lt;CENSORED &lt;(censored-options )&gt;&gt;&lt;FRONTIER &lt;(frontier-options )&gt;&gt;&lt;CENSORED &lt;(truncated-options )&gt;&gt; ...\",\"arguments\":[{\"name\":\"CENSORED=\",\"optional\":true,\"description\":\"Specifies that the endogenous variables in this statement be censored. You can specify the following censored-options: LB=value or variable LOWERBOUND=value or variable specifies the lower bound of the censored variables. If value is missing or the value in variable is missing, no lower bound is set. By default, no lower bound is set.\",\"help\":\"CENSORED=LB= | LOWERBOUND= | UB= | UPPERBOUND=\",\"type\":\"choice\",\"arguments\":[{\"name\":\"LB=\",\"type\":\"value\"},{\"name\":\"LOWERBOUND=\",\"type\":\"value\"},{\"name\":\"UB=\",\"type\":\"value\"},{\"name\":\"UPPERBOUND=\",\"type\":\"value\"}]},{\"name\":\"FRONTIER=\",\"optional\":true,\"description\":\"Specifies that the endogenous variable in this statement follow a production or cost function. Valid frontier-options are as follows: TYPE=HALF | EXPONENTIAL | TRUNCATED HALF specifies half-normal model. EXPONENTIAL specifies exponential model. TRUNCATED specifies truncated normal model. PRODUCTION specifies that the model estimated be a production function.\",\"help\":\"FRONTIER=TYPE= | PRODUCTION | COST\",\"type\":\"choice\",\"arguments\":[{\"name\":\"TYPE=\",\"type\":\"value\"},{\"name\":\"PRODUCTION\",\"type\":\"standalone\"},{\"name\":\"COST\",\"type\":\"standalone\"}]},{\"name\":\"TRUNCATED=\",\"optional\":true,\"description\":\"Specifies that the endogenous variables in this statement be truncated. You can specify the following truncated-options: LB=value or variable LOWERBOUND=value or variable specifies the lower bound of the truncated variables. If value is missing or the value in variable is missing, no lower bound is set. By default, no lower bound is set.\",\"help\":\"TRUNCATED=LB= | LOWERBOUND= | UB= | UPPERBOUND=\",\"type\":\"choice\",\"arguments\":[{\"name\":\"LB=\",\"type\":\"value\"},{\"name\":\"LOWERBOUND=\",\"type\":\"value\"},{\"name\":\"UB=\",\"type\":\"value\"},{\"name\":\"UPPERBOUND=\",\"type\":\"value\"}]}]},{\"name\":\"FREQ\",\"description\":\"The FREQ statement identifies a variable that contains the frequency of occurrence of each observation. PROC HPQLIM treats each observation as if it appears n times, where n is the value of the FREQ variable for the observation. If the frequency value is not an integer, it is truncated to an integer. If the frequency value is less than 1 or missing, the observation is not used in the model fitting. When the FREQ statement is not specified, each observation is assigned a frequency of 1. If you specify more than one FREQ statement, then the first FREQ statement is used.\",\"help\":\"FREQ variable \"},{\"name\":\"HETERO\",\"description\":\"The HETERO statement specifies variables that are related to the heteroscedasticity of the residuals and the way these variables are used to model the error variance.\",\"help\":\"HETERO &lt;LINK=&lt;EXP | LINEAR&gt;&gt;&lt;NOCONST&gt;&lt;SQUARE&gt; ...\",\"arguments\":[{\"name\":\"LINK=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the functional form.\",\"help\":\"LINK=EXP | LINEAR\",\"type\":\"choice\",\"arguments\":[{\"name\":\"EXP\",\"followsDelimiter\":\"/\",\"description\":\"Specifies a exponential link function. This is the default.\",\"type\":\"standalone\"},{\"name\":\"LINEAR\",\"followsDelimiter\":\"/\",\"description\":\"Specifies a linear link function.\",\"type\":\"standalone\"}]},{\"name\":\"NOCONST\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies that there be no constant in the linear or exponential heteroscedasticity model. This option is ignored if you do not specify the LINK= option.\",\"type\":\"standalone\"},{\"name\":\"SQUARE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Estimates the model by using the square of linear heteroscedasticity function. This option is ignored if you do not specify the LINK= option.\",\"type\":\"standalone\"}]},{\"name\":\"INIT\",\"description\":\"The INIT statement sets initial values for parameters in the optimization. You can specify any number of INIT statements. Each initvalue is written as a parameter or parameter list, followed by an optional equality operator (=), followed by a number: parameter <=> number\",\"help\":\"INIT initvalue1 &lt; , initvalue2 ...&gt; \"},{\"name\":\"MODEL\",\"description\":\"The MODEL statement specifies the dependent variable and independent regressor variables for the regression model.\",\"help\":\"MODEL &lt;CENSORED &lt;(censored-options )&gt;&gt;&lt;NOINT&gt;&lt;CENSORED &lt;(truncated-options )&gt;&gt; ...\",\"arguments\":[{\"name\":\"CENSORED=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies that the endogenous variables in this statement be censored. You can specify the following censored-options: LB=value or variable LOWERBOUND=value or variable specifies the lower bound of the censored variables. If value is missing or the value in variable is missing, no lower bound is set. By default, no lower bound is set.\",\"help\":\"CENSORED=LB= | LOWERBOUND= | UB= | UPPERBOUND=\",\"type\":\"choice\",\"arguments\":[{\"name\":\"LB=\",\"type\":\"value\"},{\"name\":\"LOWERBOUND=\",\"type\":\"value\"},{\"name\":\"UB=\",\"type\":\"value\"},{\"name\":\"UPPERBOUND=\",\"type\":\"value\"}]},{\"name\":\"FRONTIER=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies that the endogenous variable in this statement follow a production or cost function. Valid frontier-options are as follows: TYPE=HALF | EXPONENTIAL | TRUNCATED HALF specifies half-normal model. EXPONENTIAL specifies exponential model. TRUNCATED specifies truncated normal model. PRODUCTION specifies that the model estimated be a production function.\",\"help\":\"FRONTIER=TYPE= | PRODUCTION | COST\",\"type\":\"choice\",\"arguments\":[{\"name\":\"TYPE=\",\"type\":\"value\"},{\"name\":\"PRODUCTION\",\"type\":\"standalone\"},{\"name\":\"COST\",\"type\":\"standalone\"}]},{\"name\":\"NOINT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Suppresses the intercept parameter.\",\"type\":\"standalone\"},{\"name\":\"TRUNCATED=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies that the endogenous variables in this statement be truncated. You can specify the following truncated-options: LB=value or variable LOWERBOUND=value or variable specifies the lower bound of the truncated variables. If value is missing or the value in variable is missing, no lower bound is set. By default, no lower bound is set.\",\"help\":\"TRUNCATED=LB= | LOWERBOUND= | UB= | UPPERBOUND=\",\"type\":\"choice\",\"arguments\":[{\"name\":\"LB=\",\"type\":\"value\"},{\"name\":\"LOWERBOUND=\",\"type\":\"value\"},{\"name\":\"UB=\",\"type\":\"value\"},{\"name\":\"UPPERBOUND=\",\"type\":\"value\"}]}]},{\"name\":\"OUTPUT\",\"description\":\"The OUTPUT statement creates a new SAS data set to contain variables specified with the OUTVAR option and the following data if they are specified by output-options: estimates of x'β, predicted value, residual, marginal effects, probability, standard deviation of the error, expected value, conditional expected value, technical efficiency measures, and inverse Mills ratio. When the response values are missing for the observation, all output estimates except the residual are still computed as long as none of the explanatory variables is missing. This enables you to compute these statistics for prediction. You can specify only one OUTPUT statement.\",\"help\":\"OUTPUT &lt;CONDITIONAL&gt;&lt;ERRSTD&gt;&lt;OUT=SAS-data-set&gt; ...\",\"arguments\":[{\"name\":\"CONDITIONAL\",\"optional\":true,\"description\":\"Output estimates of conditional expected values of continuous endogenous\",\"type\":\"standalone\"},{\"name\":\"ERRSTD\",\"optional\":true,\"description\":\"Output estimates of σj, the standard deviation of the error term.\",\"type\":\"standalone\"},{\"name\":\"EXPECTED\",\"optional\":true,\"description\":\"Output estimates of expected values of continuous endogenous variables.\",\"type\":\"standalone\"},{\"name\":\"MARGINAL\",\"optional\":true,\"description\":\"Output marginal effects.\",\"type\":\"standalone\"},{\"name\":\"OUT=\",\"optional\":true,\"description\":\"Names the output data set.\",\"help\":\"OUT=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"OUTVAR\",\"optional\":true,\"description\":\"Adds SAS variables to the output data set.\",\"type\":\"standalone\"},{\"name\":\"PREDICTED\",\"optional\":true,\"description\":\"Output estimates of predicted endogenous variables.\",\"type\":\"standalone\"},{\"name\":\"RESIDUAL\",\"optional\":true,\"description\":\"Output estimates of residuals of continuous endogenous variables.\",\"type\":\"standalone\"},{\"name\":\"TE1\",\"optional\":true,\"description\":\"Outputs estimates of technical efficiency for each producer in the stochastic frontier model suggested by Battese and Coelli (1988).\",\"type\":\"standalone\"},{\"name\":\"TE2\",\"optional\":true,\"description\":\"Outputs estimates of technical efficiency for each producer in the stochastic frontier model suggested by Jondrow et al. (1982).\",\"type\":\"standalone\"},{\"name\":\"XBETA\",\"optional\":true,\"description\":\"Output estimates of x'β.\",\"type\":\"standalone\"}]},{\"name\":\"PERFORMANCE\",\"description\":\"The PERFORMANCE statement specifies performance-options to control the multithreaded and distributed computing environment and requests detailed results about the performance characteristics of the HPQLIM procedure. With the PERFORMANCE statement, you can also control whether the HPQLIM procedure executes in SMP or MPP mode.\",\"help\":\"PERFORMANCE &lt;COMMIT=n&gt;&lt;CPUCOUNT=&lt;ACTUAL | &lt;num&gt;&gt;&gt;&lt;DATASERVER=“name”&gt; ...\",\"arguments\":[{\"name\":\"COMMIT=\",\"optional\":true,\"description\":\"Requests that the High-Performance Analytics procedure write periodic updates to the SAS Log when observations are sent from the client to the appliance for distributed processing.\",\"help\":\"COMMIT=*n*\",\"type\":\"value\"},{\"name\":\"CPUCOUNT=\",\"optional\":true,\"description\":\"Specifies how many processors the procedure assumes are available on each host in the computing environment. num can be any integer from 1 to 256. CPUCOUNT=ACTUAL sets CPUCOUNT to the number of physical processors available. This number can be less than the physical number of CPUs if the SAS process has been restricted by system administration tools. Setting CPUCOUNT= to a number greater than the actual number of available CPUs might result in reduced performance. This option overrides the CPUCOUNT= SAS system option.\",\"help\":\"CPUCOUNT=ACTUAL | &lt;num&gt;\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ACTUAL\",\"description\":\"Sets CPUCOUNT to the number of physical processors available. This number can be less than the physical number of CPUs if the SAS process has been restricted by system administration tools.\",\"type\":\"standalone\"},{\"name\":\"<num>\",\"description\":\"Replace <num> with an actual number. Setting CPUCOUNT= to a number greater than the actual number of available CPUs might result in reduced performance. This option overrides the CPUCOUNT= SAS system option.\",\"type\":\"standalone\"}]},{\"name\":\"DATASERVER=\",\"optional\":true,\"description\":\"Specifies the name of the server on Teradata systems as defined through the hosts file and as used in the LIBNAME statement for Teradata. For example, if the hosts file defines myservercop1 33.44.55.66 as the server for Teradata, then a LIBNAME specification would be as follows: libname TDLib teradata server=myserver user= password= database= ; A PERFORMANCE statement to induce running alongside the Teradata server would specify the following:\",\"type\":\"value\"},{\"name\":\"DETAILS\",\"optional\":true,\"description\":\"Requests a table that shows a timing breakdown of the procedure steps.\",\"type\":\"standalone\"},{\"name\":\"HOST=\",\"optional\":true,\"aliases\":[\"GRIDHOST=\"],\"description\":\"Specifies the name of the appliance host in single or double quotes. If the HOST= option is specified, it overrides the value of the GRIDHOST environment variable.\",\"type\":\"value\"},{\"name\":\"INSTALL=\",\"optional\":true,\"aliases\":[\"INSTALLLOC=\"],\"description\":\"Specifies the directory in which the High-Performance Analytics shared libraries are installed on the appliance. Specifying the INSTALL= option overrides the GRIDINSTALLLOC environment variable.\",\"type\":\"value\"},{\"name\":\"NODES=\",\"optional\":true,\"aliases\":[\"NNODES=\"],\"description\":\"Specifies the number of nodes in the distributed computing environment, provided that the data are not processed alongside the database.\",\"type\":\"value\"},{\"name\":\"NTHREADS=\",\"optional\":true,\"description\":\"Specifies the number of threads for analytic computations and overrides the SAS system option THREADS | NOTHREADS. If you do not specify the NTHREADS= option, the number of threads are determined based on the number of CPUs on the host on which the analytic computations execute. The algorithm by which a CPU count is converted to a thread count is specific to the High- Performance Analytics procedure. Most procedures create one thread per CPU for the analytic computations. By default, High-Performance Analytics procedures execute in multiple concurrent threads unless turned off by the NOTHREADS system option or you force single-threaded execution with NTHREADS=1. The largest number that can be specified for n is 256. Individual High-Performance Analytics procedures can impose more stringent limits if called for by algorithmic considerations. You can affect the determination of the CPU count with the CPUCOUNT= option in the PERFORMANCE statement.\",\"help\":\"NTHREADS=*n*\",\"type\":\"value\"},{\"name\":\"TIMEOUT=\",\"optional\":true,\"description\":\"Specifies the timeout in seconds for a High-Performance Analytics procedure to wait for a connection to the appliance and establish a connection back to the client. The default is s=120 seconds. If jobs are submitted to the appliance through workload management tools that might suspend access to the appliance for a longer period, you might want to increase the timeout value.\",\"help\":\"TIMEOUT=*s*\",\"type\":\"value\"}]},{\"name\":\"RESTRICT\",\"description\":\"The RESTRICT statement imposes linear restrictions on the parameter estimates. You can specify any number of RESTRICT statements, but the number of restrictions imposed is limited by the number of regressors. Each restriction is written as an expression, followed by an equality operator (=) or an inequality operator (<, >, ≤, ≥), followed by a second expression: expression operator expression The operator can be =, <, >, ≤ , or ≥. The operator and second expression are optional. Restriction expressions can be composed of parameter names, multiplication (), addition (), and substitution () operators, and constants. Parameters named in restriction expressions must be among the parameters that are estimated by the model. Parameters that are associated with a regressor variable are referred to by the name of the corresponding regressor variable. The restriction expressions must be a linear function of the parameters. The following statements illustrate the use of the RESTRICT statement: proc hpqlim data=one; model y = x1-x10 / censored(lb=0); restrict x1*2 <= x2 + x3; run;\",\"help\":\"RESTRICT restriction1 &lt;, restriction2 ...&gt; \"},{\"name\":\"TEST\",\"description\":\"The TEST statement performs the Wald, Lagrange multiplier, and likelihood ratio tests of linear hypotheses about the regression parameters in the preceding MODEL statement. Each equation specifies a linear hypothesis to be tested. All hypotheses in one TEST statement are tested jointly. Variable names in the equations must correspond to regressors in the preceding MODEL statement, and each name represents the coefficient of the corresponding regressor. Use the keyword INTERCEPT for a test that includes a constant.\",\"help\":\"TEST &lt;ALL&gt;&lt;LM&gt;&lt;WALD&gt; ...\",\"arguments\":[{\"name\":\"ALL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests the Wald, Lagrange multiplier, and likelihood ratio tests.\",\"type\":\"standalone\"},{\"name\":\"LM\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests the Lagrange multiplier test.\",\"type\":\"standalone\"},{\"name\":\"LR\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests the likelihood ratio test.\",\"type\":\"standalone\"},{\"name\":\"WALD\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests the Wald test.\",\"type\":\"standalone\"}]},{\"name\":\"WEIGHT\",\"description\":\"The WEIGHT statement specifies a variable that supplies weighting values to use for each observation in estimating parameters. The log likelihood for each observation is multiplied by the corresponding weight variable value. If the weight of an observation is nonpositive, that observation is not used in the estimation.\",\"help\":\"WEIGHT &lt;NONORMALIZE&gt;\",\"arguments\":[{\"name\":\"NONORMALIZE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies that the weights must be used as is. When this option is not specified, the weights are normalized so that they add up to the actual sample size.\",\"type\":\"standalone\"}]}],\"supportSiteInformation\":{\"docsetId\":\"etsug\",\"docsetVersion\":\"latest\",\"docsetTargetFile\":\"etsug_hpqlim_toc.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/HPQUANTSELECT.json",
    "content": "{\"name\":\"HPQUANTSELECT\",\"statements\":[{\"name\":\"PROC HPQUANTSELECT\",\"description\":\"The QUANTSELECT procedure compares most closely to the GLMSELECT and QUANTREG procedures. PROC GLMSELECT performs effect selection in the framework of general linear models. PROC QUANTREG supports a variety of estimation and inference methods for quantile regression but does not directly provide effect selection facilities. The QUANTSELECT procedure, as a counterpart of PROC GLMSELECT for quantile regression, fills this gap.\",\"help\":\"PROC HPQUANTSELECT <DATA=SAS-data-set><MAXMACRO=n><NPRINT><OUTDESIGN<(options)=><SAS-data-set>><PLOTS=ALL | ACL|ACLPLOT | COEF|COEFFICIENTS|COEFFICIENTPANEL... ><SEED=number><TESTDATA=SAS-data-set><VALDATA=SAS-data-set>;     \\n\\tBY <DESCENDING><NOTSORTED> ;\\n\\n\\tCLASS <CPREFIX=n><DELIMITER='c'><SHOW> ...;\\n\\n\\tCODE <CATALOG=library.catalog.entry.typeCAT=library.catalog.entry.type><FILE= filename><FORMAT=format> ...;\\n\\n\\tEFFECT EFFECT-NAME=COLLECTION|LAG|MULTIMEMBER|MM...  <PERIOD=variable><WITHIN=(variables) | WITHIN=variable> ...;\\n\\n\\tMODEL <CLB><INCLUDE=n | INCLUDE=single-effect | INCLUDE=(effects)><NOINT> ...;\\n\\n\\tOUTPUT <COPYVAR=variable | COPYVARS=(variables)><LLCM <=name>><OUT=SAS-data-set> ...;\\n\\n\\tPARTITION <FRACTION(<TEST=fraction> <VALIDATE=fraction>)><ROLEVAR= | ROLE=variable(<TEST='value'> <TRAIN='value'> <VALIDATE='value'>)> ;\\n\\n\\tPERFORMANCE <COMMIT=n><DETAILS><GRIDHOST=\\\"name\\\"> ...;\\n\\n\\tSELECTION <BACKWARD><FORWARD><NONE> ...;\\n\\n\\tWEIGHT variable ;\\n\",\"arguments\":[{\"name\":\"DATA=\",\"optional\":true,\"description\":\"Names the SAS data set to be used by PROC QUANTSELECT. If the DATA= option is not specified, PROC QUANTSELECT uses the most recently created SAS data set. If the data set contains a variable named _ROLE_, then this variable is used to assign observations for training, validation, and testing roles.\",\"help\":\"DATA=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"MAXMACRO=\",\"optional\":true,\"description\":\"Specifies the maximum number of macro variables with selected effects to create. By default, MAXMACRO=100. PROC QUANTSELECT saves the list of selected effects in a macro variable, &_QRSIND. For example, suppose your input effect list consists of x1–x10. Then &_QRSIND would be set to x1 x3 x4 x10 if the first, third, fourth, and tenth effects were selected for the model. This list can be used in the MODEL statement of a subsequent procedure.\",\"help\":\"MAXMACRO=*n*\",\"type\":\"value\"},{\"name\":\"NPRINT\",\"optional\":true,\"description\":\"Suppresses all displayed output (including plots).\",\"type\":\"standalone\"},{\"name\":\"OUTDESIGN=\",\"optional\":true,\"description\":\"Creates a data set that contains the design matrix. By default, the QUANTSELECT procedure includes in the OUTDESIGN data set the matrix that corresponds to all the effects in the selected models. Two schemes for naming the columns of the design matrix are available: • In the first scheme, names of the parameters are constructed from the parameter labels that appear in the parameter estimates table. This naming scheme is the default when you do not request BY processing; it is not available when you do use BY processing. • In the second scheme, the design matrix column names consist of a prefix followed by an index. The default name prefix is _X. This scheme is used when you specify the PREFIX= option or a BY statement; otherwise the first scheme is used. You can specify the following options in parentheses to control the contents of the OUTDESIGN= data set:\",\"help\":\"OUTDESIGN=ADDINPUTVARS | ADDVALDATA | ADDTESTDATA | FULLMODEL | NAMES | PREFIX | PREFIX=\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ADDINPUTVARS\",\"type\":\"standalone\"},{\"name\":\"ADDVALDATA\",\"type\":\"standalone\"},{\"name\":\"ADDTESTDATA\",\"type\":\"standalone\"},{\"name\":\"FULLMODEL\",\"type\":\"standalone\"},{\"name\":\"NAMES\",\"type\":\"standalone\"},{\"name\":\"PREFIX\",\"type\":\"standalone\"},{\"name\":\"PREFIX=\",\"type\":\"value\"}]},{\"name\":\"PLOTS=\",\"optional\":true,\"description\":\"Controls the plots produced through ODS Graphics. Syntax: (1) PLOTS <(global-plot-options)> <= plot-request <(options)>> (2) PLOTS <(global-plot-options)> <= (plot-request <(options)> <... plot-request <(options)>>)> Controls the plots that are produced through ODS Graphics. When you specify only one plot-request, you can omit the parentheses around it. You can specify the following global-plot-options, which apply to all plots generated by the QUANTSELECT procedure, unless they are altered by specific plot options: ENDSTEP=n specifies that the step ranges shown on the horizontal axes of plots terminates at specified step. LOGP | LOGPVALUE requests that the natural logarithm of the entry and removal significance levels when the SELECT=SL option is specified in the MODEL statement.. MAXSTEPLABEL=n specifies the maximum number of characters beyond which labels of effects on plots are truncated. MAXPARMLABEL= n specifies the maximum number of characters beyond which parameter labels on plots are truncated. STARTSTEP=n specifies that the step ranges shown on the horizontal axes of plots start at the specified step. STEPAXIS=EFFECT | NORMB | NUMBER specifies the horizontal axis to be used on the plots, where this axis represents the sequence of entering or departing effects.\",\"help\":\"PLOTS=ALL | ACL | COEF | CRITERIA | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ALL\",\"description\":\"Displays all appropriate graphs.\",\"type\":\"standalone\"},{\"name\":\"ACL\",\"aliases\":[\"ACLPLOT\"],\"description\":\"Syntax: ACL|ACLPLOT<(aclplot-option)> Plots the progression of the average square error on the training data, and the test and validation data whenever these data are provided with the TESTDATA= and VALDATA= options or are produced by using a PARTITION statement. The following aclplot-option option is available: STEPAXIS=EFFECT | NORMB | NUMBER specifies the method for labeling the horizontal plot axis.\",\"type\":\"standalone\"},{\"name\":\"COEF\",\"aliases\":[\"COEFFICIENTS\",\"COEFFICIENTPANEL\"],\"description\":\"Syntax: COEF | COEFFICIENTS | COEFFICIENTPANEL<(coefficient-panel-options)> Displays a panel of two plots for each quantile level. The upper plot shows the progression of the parameter values as the selection process proceeds. The lower plot shows the progression of the CHOOSE= criterion. If no CHOOSE= criterion is in effect, then the AICC criterion is displayed. You can specify the following coefficient-panel-options: LABELGAP=percentage specifies the percentage of the vertical axis range that forms the minimum gap between successive parameter labels at the final step of the coefficient progression plot. LOGPVALUE requests that the natural logarithm of the entry and removal significance levels when the SELECT=SL option is specified in the MODEL statement. STEPAXIS=EFFECT | NORMB | NUMBER specifies the horizontal axis to be used. UNPACK | UNPACKPANEL displays the coefficient progression and the CHOOSE= criterion progression in separate plots.\",\"type\":\"standalone\"},{\"name\":\"CRITERIA\",\"aliases\":[\"CRITERIONPANEL\",\"CRIT\"],\"description\":\"Syntax: CRIT | CRITERIA | CRITERIONPANEL<(criterion-panel-options)> Plots a panel of model fit criteria. If multiple quantile levels apply, the CRITERIA option plots a panel of model fit criteria for each quantile level. The criteria that are displayed are AIC, AICC, and SBC, in addition to any other criteria that are named in the CHOOSE=, SELECT=, STOP=, and STATS= options in the MODEL statement. You can specify the following criterion-panel-options: STEPAXIS=EFFECT | NORMB | NUMBER specifies the horizontal axis to be used. UNPACK | UNPACKPANEL displays each criterion progression on a separate plot.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"Suppresses all plots.\",\"type\":\"standalone\"}]},{\"name\":\"SEED=\",\"optional\":true,\"description\":\"Specifies an integer used to start the pseudo-random number generator for random cross validation and random partitioning of data for training, testing, and validation. If you do not specify a seed or if you specify a value less than or equal to 0, the seed is generated by reading the time of day from the computer's clock.\",\"help\":\"SEED=*number*\",\"type\":\"value\"},{\"name\":\"TESTDATA=\",\"optional\":true,\"description\":\"Names a SAS data set containing test data. This data set must contain all the variables specified in the MODEL statement. Furthermore, when you also specify a BY statement and the TESTDATA= data set contains any of the BY variables, then the TESTDATA= data set must also contain all the BY variables sorted in the order of the BY variables. In this case, only the test data for a specific BY group are used with the corresponding BY group in the analysis data. If the TESTDATA= data set contains none of the BY variables, then the entire TESTDATA= data set is used with each BY group of the analysis data.\",\"help\":\"TESTDATA=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"VALDATA=\",\"optional\":true,\"description\":\"Names a SAS data set containing validation data. This data set must contain all the variables specified in the MODEL statement. Furthermore, when a BY statement is used and the VALDATA= data set contains any of the BY variables, then the VALDATA= data set must also contain all the BY variables sorted in the order of the BY variables. In this case, only the validation data for a specific BY group are used with the corresponding BY group in the analysis data. If the VALDATA= data set contains none of the BY variables, then the entire VALDATA= data set is used with each BY group of the analysis data.\",\"help\":\"VALDATA=*SAS-data-set*\",\"type\":\"dataSet\"}]},{\"name\":\"BY\",\"description\":\"You can specify a BY statement with PROC HPQUANTSELECT to obtain separate analyses of observations in groups that are defined by the BY variables. When a BY statement appears, the procedure expects the input data set to be sorted in order of the BY variables. If you specify more than one BY statement, only the last one specified is used. If your input data set is not sorted in ascending order, use one of the following alternatives: • Sort the data by using the SORT procedure with a similar BY statement. • Specify the NOTSORTED or DESCENDING option in the BY statement for the BCHOICE procedure. The NOTSORTED option does not mean that the data are unsorted but rather that the data are arranged in groups (according to values of the BY variables) and that these groups are not necessarily in alphabetical or increasing numeric order. • Create an index on the BY variables by using the DATASETS procedure (in Base SAS software).\",\"help\":\"BY &lt;DESCENDING&gt;&lt;NOTSORTED&gt;\",\"arguments\":[{\"name\":\"DESCENDING\",\"optional\":true,\"description\":\"Specifies that the observations are sorted in descending order by the variable that immediately follows the word DESCENDING in the BY statement.\",\"type\":\"standalone\"},{\"name\":\"NOTSORTED\",\"optional\":true,\"description\":\"Specifies that observations are not necessarily sorted in alphabetic or numeric order.\",\"type\":\"standalone\"}]},{\"name\":\"CLASS\",\"description\":\"The CLASS statement names the classification variables to be used in the analysis. The CLASS statement must precede the MODEL statement.\",\"help\":\"CLASS &lt;CPREFIX=n&gt;&lt;DELIMITER='c'&gt;&lt;SHOW&gt; ...\",\"arguments\":[{\"name\":\"CPREFIX=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies that, at most, the first n characters of a CLASS variable name be used in creating names for the corresponding design variables.\",\"help\":\"CPREFIX=*n*\",\"type\":\"value\"},{\"name\":\"DELIMITER=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the delimiter character, 'c', to be used between levels of classification variables when parameter names and lists of class level values are built. The default delimiter is a space. This option is useful if the levels of a classification variable contain embedded blanks.\",\"help\":\"DELIMITER='*c*'\",\"type\":\"value\"},{\"name\":\"DESCENDING\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"DESC\"],\"description\":\"Reverses the sort order of the classification variable.\",\"type\":\"standalone\"},{\"name\":\"LPREFIX=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies that, at most, the first n characters of a CLASS variable label be used in creating labels for the corresponding design variables.\",\"help\":\"LPREFIX=*n*\",\"type\":\"value\"},{\"name\":\"MISSING\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Allows missing values, such as '.' for a numeric variable or a blank for a character variable, as valid values for the CLASS variable.\",\"type\":\"standalone\"},{\"name\":\"ORDER=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the sort order for the levels of classification variables. If ORDER=FORMATTED for numeric variables for which you have supplied no explicit format, the levels are ordered by their internal values.\",\"help\":\"ORDER=DATA | FORMATTED | FREQ | INTERNAL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DATA\",\"followsDelimiter\":\"/\",\"description\":\"Levels sorted by order of appearance in the input data set\",\"type\":\"standalone\"},{\"name\":\"FORMATTED\",\"followsDelimiter\":\"/\",\"description\":\"Levels sorted by external formatted value, except for numeric variables with no explicit format, which are sorted by their unformatted (internal) value\",\"type\":\"standalone\"},{\"name\":\"FREQ\",\"followsDelimiter\":\"/\",\"description\":\"Levels sorted by descending frequency count; levels with the most observations come first in the order\",\"type\":\"standalone\"},{\"name\":\"INTERNAL\",\"followsDelimiter\":\"/\",\"description\":\"Levels sorted by unformatted value\",\"type\":\"standalone\"}]},{\"name\":\"PARAM=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the parameterization method for the classification variable or variables. Design matrix columns are created from CLASS variables according to the following coding schemes. The default is PARAM=GLM. If PARAM=ORTHPOLY or PARAM=POLY, and the CLASS levels are numeric, then the ORDER= option in the CLASS statement is ignored, and the internal, unformatted values are used.\",\"help\":\"PARAM=EFFECT | GLM | ORDINAL | POLYNOMIAL | REFERENCE | ORTHEFFECT | ORTHORDINAL | ORTHPOLY | ORTHREF\",\"type\":\"choice\",\"arguments\":[{\"name\":\"EFFECT\",\"followsDelimiter\":\"/\",\"description\":\"Specifies effect coding.\",\"type\":\"standalone\"},{\"name\":\"GLM\",\"followsDelimiter\":\"/\",\"description\":\"Specifies less-than-full-rank coding; this option can be used only as a global V-option (after the slash in the CLASS statement).\",\"type\":\"standalone\"},{\"name\":\"ORDINAL\",\"followsDelimiter\":\"/\",\"aliases\":[\"THERMOMETER\"],\"description\":\"Specifies the cumulative parameterization for an ordinal CLASS variable\",\"type\":\"standalone\"},{\"name\":\"POLYNOMIAL\",\"followsDelimiter\":\"/\",\"aliases\":[\"POLY\"],\"description\":\"Specifies polynomial coding.\",\"type\":\"standalone\"},{\"name\":\"REFERENCE\",\"followsDelimiter\":\"/\",\"aliases\":[\"REF\"],\"description\":\"Specifies reference-cell coding.\",\"type\":\"standalone\"},{\"name\":\"ORTHEFFECT\",\"followsDelimiter\":\"/\",\"description\":\"Orthogonalizes PARAM=EFFECT.\",\"type\":\"standalone\"},{\"name\":\"ORTHORDINAL\",\"followsDelimiter\":\"/\",\"aliases\":[\"ORTHOTHERM\"],\"description\":\"Orthogonalizes PARAM=ORDINAL.\",\"type\":\"standalone\"},{\"name\":\"ORTHPOLY\",\"followsDelimiter\":\"/\",\"description\":\"Orthogonalizes PARAM=POLYNOMIAL.\",\"type\":\"standalone\"},{\"name\":\"ORTHREF\",\"followsDelimiter\":\"/\",\"description\":\"Orthogonalizes PARAM=REFERENCE.\",\"type\":\"standalone\"}]},{\"name\":\"REF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the reference level for PARAM=EFFECT, PARAM=REFERENCE, and their orthogonalizations. For an individual (but not a global) REF= v-option, you can specify the level of the variable to use as the reference level. For a global or individual REF= v-option, you can specify REF=FIRST (which designates the first-ordered level as reference) or REF=LAST (which designates the last-ordered level as reference). The default is REF=LAST.\",\"help\":\"REF=&lt;*level*&gt; | FIRST | LAST\",\"type\":\"choice\",\"arguments\":[{\"name\":\"level\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the level of the variable to use as the reference level. Replace <level> with an actual value.\",\"type\":\"standaloneOrValue\"},{\"name\":\"FIRST\",\"followsDelimiter\":\"/\",\"description\":\"=Designates the first ordered level as reference.\",\"type\":\"standalone\"},{\"name\":\"LAST\",\"followsDelimiter\":\"/\",\"description\":\"Designates the last ordered level as reference.\",\"type\":\"standalone\"}]},{\"name\":\"SHOW\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"SHOWCODING\"],\"description\":\"Requests a table that shows the coding used for each classification variable.\",\"type\":\"standalone\"},{\"name\":\"SPLIT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Enables the columns of the design matrix that correspond to any effect that contains a split classification variable to be selected to enter or leave a model independently of the other design columns of that effect.\",\"type\":\"standalone\"}]},{\"name\":\"CODE\",\"description\":\"The CODE statement writes SAS DATA step code for computing predicted values of the fitted model either to a file or to a catalog entry. This code can then be included in a DATA step to score new data.\",\"help\":\"CODE &lt;CATALOG=library.catalog.entry.typeCAT=library.catalog.entry.type&gt;&lt;FILE= filename&gt;&lt;FORMAT=format&gt; ...\",\"arguments\":[{\"name\":\"CATALOG=\",\"optional\":true,\"aliases\":[\"CAT=\"],\"description\":\"Specifies where to write the generated code in the form of library.catalog.entry.type. The compound name can have from one to four levels. The default library is determined by the USER= SAS system option, which by default is WORK. The default entry is SASCODE, and the default type is SOURCE.\",\"type\":\"value\"},{\"name\":\"FILE=\",\"optional\":true,\"description\":\"Names the external file that saves the generated code. When enclosed in a quoted string (for example, FILE=\\\"c:nmydirnscorecode.sas\\\"), this option specifies the path for writing the code to an external file. You can also specify unquoted SAS filenames of no more than eight characters for filename. If the filename is assigned as a fileref in a Base SAS FILENAME statement, the file specified in the FILENAME statement is opened. The special filerefs LOG and PRINT are always assigned. If the specified filename is not an assigned fileref, the specified value for filename is concatenated with a .txt extension before the file is opened. For example, if FOO is not an assigned fileref, FILE=FOO causes FOO.txt to be opened. If filename has more than eight characters, an error message is printed.\",\"type\":\"value\"},{\"name\":\"FORMAT=\",\"optional\":true,\"description\":\"Specifies the format for the regression coefficients and other numerical values that do not have a format from the input data set. The default format is BEST20.\",\"help\":\"FORMAT=*format*\",\"type\":\"value\"},{\"name\":\"GROUP=\",\"optional\":true,\"description\":\"Specifies the group identifier for group processing. The group-name should be a valid SAS name of no more than 16 characters. It is used to construct array names and statement labels in the generated code.\",\"help\":\"GROUP=*group-name*\",\"type\":\"value\"},{\"name\":\"IMPUTE\",\"optional\":true,\"description\":\"Imputes the predicted values according to an intercept-only model for observations with missing or invalid covariate values. For a continuous response, the predicted value is the mean of the response variable; for a categorical response, the predicted values are the proportions of the response categories. When the IMPUTE option is specified, the scoring code also creates a variable named _WARN_ that contains one or more single-character codes that indicate problems in computing predicted values. The character codes used in _WARN_ go in the following positions:\",\"type\":\"standalone\"},{\"name\":\"LINESIZE=\",\"optional\":true,\"aliases\":[\"LS=\"],\"description\":\"Specifies the line size for the generated code. The default is 72. The permissible range is 64 to 254.\",\"type\":\"value\"}]},{\"name\":\"EFFECT\",\"description\":\"The EFFECT statement enables you to construct special collections of columns for design matrices. These collections are referred to as constructed effects to distinguish them from the usual model effects that are formed from continuous or classification variables.\",\"help\":\"EFFECT EFFECT-NAME=COLLECTION|LAG|MULTIMEMBER|MM...  &lt;PERIOD=variable&gt;&lt;WITHIN=(variables) | WITHIN=variable&gt; ...\",\"arguments\":[{\"name\":\"EFFECT-NAME=\",\"placeholder\":true,\"description\":\"Replace 'EFFECT-NAME' with the name of the effect, specified after the EFFECT keyword. This name can appear in only one EFFECT statement and cannot be the name of a variable in the input data set. These values can be used: COLLECTION, LAG, MULTIMEMBER, POLYNOMIAL, or SPLINE.\",\"type\":\"value\"},{\"name\":\"BASIS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"[For the SPLINE effect-type only] Specifies a basis for the spline expansion.\",\"help\":\"BASIS=BSPLINE | TPF\",\"type\":\"choice\",\"arguments\":[{\"name\":\"BSPLINE\",\"followsDelimiter\":\"/\",\"description\":\"Specifies a B-spline basis for the spline expansion.\",\"type\":\"standalone\"},{\"name\":\"TPF\",\"followsDelimiter\":\"/\",\"description\":\"Syntax: TPF(options) Specifies a truncated power function basis for the spline expansion. You can modify the number of columns when you request BASIS=TPF with the following options: NOINT excludes the intercept column. NOPOWERS excludes the intercept and polynomial columns.\",\"type\":\"standalone\"}]},{\"name\":\"DEGREE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"\",\"help\":\"DEGREE=*n*\",\"type\":\"value\"},{\"name\":\"DESIGNROLE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"\",\"help\":\"DESIGNROLE=*variable*\",\"type\":\"value\"},{\"name\":\"DETAILS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"[For the LAG | COLLECTION | MULTIMEMBER | POLYNOMIAL |SPLINE effect-type] Requests a table that shows the (1) lag design matrix of the lag effect, or (2) constituents of the collection effect, or (3) levels of the multimember effect, or (4) details of the specified polynomial, or (5) knot locations and the knots associated with each spline basis function.\",\"type\":\"standalone\"},{\"name\":\"KNOTMAX=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"\",\"help\":\"KNOTMAX=*value*\",\"type\":\"value\"},{\"name\":\"KNOTMETHOD=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"[For the SPLINE effect-type only] Specifies how to construct the knots for spline effects.\",\"help\":\"KNOTMETHOD=EQUAL | LIST | LISTWITHBOUNDARY | MULTISCALE | PERCENTILES | RANGEFRACTIONS\",\"type\":\"choice\",\"arguments\":[{\"name\":\"EQUAL\",\"followsDelimiter\":\"/\",\"description\":\"Syntax: EQUAL<(n)> Specifies that n equally spaced knots be positioned between the extremes of the data. The default is n=3. For a B-spline basis, any needed boundary knots continue to be equally spaced unless the DATABOUNDARY option has also been specified. KNOTMETHOD=EQUAL is the default if no knot-method is specified.\",\"type\":\"standalone\"},{\"name\":\"LIST\",\"followsDelimiter\":\"/\",\"description\":\"Syntax: LIST(number-list) Specifies the list of internal knots to be used in forming the spline basis columns. For a B-spline basis, the data extremes are used as boundary knots.\",\"type\":\"standalone\"},{\"name\":\"LISTWITHBOUNDARY\",\"followsDelimiter\":\"/\",\"description\":\"Syntax: LISTWITHBOUNDARY(number-list) Specifies the list of all knots that are used in forming the spline basis columns.\",\"type\":\"standalone\"},{\"name\":\"MULTISCALE\",\"followsDelimiter\":\"/\",\"description\":\"Syntax: MULTISCALE<(multiscale-options)> Specifies that multiple B-spline bases be generated, corresponding to sets with an increasing number of internal knots. You can control which scales are included with the following multiscale-options: STARTSCALE=n specifies the start scale, where n is a positive integer. The default is STARTSCALE=0. ENDSCALE=n specifies the end scale, where n is a positive integer. The default is ENDSCALE=7.\",\"type\":\"standalone\"},{\"name\":\"PERCENTILES\",\"followsDelimiter\":\"/\",\"description\":\"Syntax: PERCENTILES(n) Requests that internal knots be placed at n equally spaced percentiles of the variable or variables named in the EFFECT statement.\",\"type\":\"standalone\"},{\"name\":\"RANGEFRACTIONS\",\"followsDelimiter\":\"/\",\"description\":\"Syntax: RANGEFRACTIONS(fraction-list) Requests that internal knots be placed at each fraction of the ranges of the variables in the EFFECT statement.\",\"type\":\"standalone\"}]},{\"name\":\"KNOTMIN=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"\",\"help\":\"KNOTMIN=*value*\",\"type\":\"value\"},{\"name\":\"MDEGREE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"\",\"help\":\"MDEGREE=*n*\",\"type\":\"value\"},{\"name\":\"NLAG=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"\",\"type\":\"value\"},{\"name\":\"NOEFFECT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"[For the MULTIMEMBER effect-type only] Specifies that, for observations with all missing levels of the multimember variables, the values in the corresponding design matrix columns be set to zero.\",\"type\":\"standalone\"},{\"name\":\"PERIOD=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the period variable of the LAG design. The number of periods is the number of unique formatted values of the PERIOD= variable, and the ordering of the period is formed by sorting these formatted values in ascending order. You must specify a PERIOD= variable.\",\"help\":\"PERIOD=*variable*\",\"type\":\"value\"},{\"name\":\"STANDARDIZE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies that the variables that define the polynomial be standardized. By default, the standardized variables receive prefix \\\"s_\\\" in the variable names. You can use the following centerscale-opts to specify how the center and scale are estimated: METHOD=MOMENTS specifies that the center be estimated by the variable mean and the scale be estimated by the standard deviation. METHOD=RANGE specifies that the center be estimated by the midpoint of the variable range and the scale be estimated as half the variable range. METHOD=WMOMENTS is the same as METHOD=MOMENTS except that weighted means and weighted standard deviations are used.\",\"help\":\"STANDARDIZECENTER | CENTERSCALE | NONE | SCALE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"CENTER\",\"followsDelimiter\":\"/\",\"description\":\"Specifies that variables be centered but not scaled.\",\"type\":\"standalone\"},{\"name\":\"CENTERSCALE\",\"followsDelimiter\":\"/\",\"description\":\"Specifies that variables be centered and scaled. This is the default if you do not specify a standardization-opt.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"followsDelimiter\":\"/\",\"description\":\"Specifies that no standardization be performed.\",\"type\":\"standalone\"},{\"name\":\"SCALE\",\"followsDelimiter\":\"/\",\"description\":\"Specifies that variables be scaled but not centered.\",\"type\":\"standalone\"}]},{\"name\":\"STDIZE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"[For the MULTIMEMBER effect-type only] Specifies that for each observation, the entries in the design matrix that corresponds to the multimember effect be scaled to have a sum of one.\",\"type\":\"standalone\"},{\"name\":\"WEIGHT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"\",\"help\":\"WEIGHT=*wght-list*\",\"type\":\"value\"},{\"name\":\"WITHIN=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"\",\"type\":\"value\"}]},{\"name\":\"MODEL\",\"description\":\"The MODEL statement names the dependent variable and the covariate effects, including covariates, main effects, constructed effects, interactions, and nested effects. If you omit the explanatory effects, PROC QUANTSELECT fits an intercept-only model. After the keyword MODEL, specify the dependent (response) variable, followed by an equal sign, followed by the explanatory effects.\",\"help\":\"MODEL &lt;CLB&gt;&lt;INCLUDE=n | INCLUDE=single-effect | INCLUDE=(effects)&gt;&lt;NOINT&gt; ...\",\"arguments\":[{\"name\":\"CLB\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests the 100(1 - α)% upper and lower confidence limits for the parameter estimates. By default, the 95% limits are computed; you can use the ALPHA= option in the PROC HPQUANTSELECT statement to change the α level.\",\"type\":\"standalone\"},{\"name\":\"INCLUDE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Forces effects to be included in all models. If you specify INCLUDE=n, then the first n effects that are listed in the MODEL statement are included in all models. If you specify INCLUDE=single-effect or if you specify a list of effects within parentheses, then the specified effects are forced into all models. The effects that you specify in the INCLUDE= option must be explanatory effects that are defined in the MODEL statement.\",\"type\":\"standalone\"},{\"name\":\"NOINT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Suppresses the intercept term that is otherwise included in the model.\",\"type\":\"standalone\"},{\"name\":\"ORDERSELECT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies that, for the selected model, effects be displayed in the order in which they first entered the model. If you do not specify this option, then effects in the selected model are displayed in the order in which they appear in the MODEL statement.\",\"type\":\"standalone\"},{\"name\":\"QUANTILES=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the quantile levels for the quantile regression. You can specify any number of quantile levels in (0, 1). If you do not specify this option, the HPQUANTSELECT procedure performs median regression effect selection that corresponds to QUANTILE=0.5.\",\"type\":\"value\"},{\"name\":\"SPARSITY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the suboptions for estimating the sparsity function. You can specify the Bofinger method by using the BF suboption or the Hall-Sheather method by using the HS suboption. By default, the Hall-Sheather method is used. You can also specify the IID suboption to assume that the quantile regression errors satisfy the independently and identically distributed (iid) assumption.\",\"help\":\"SPARSITY=BF | HS | IID\",\"type\":\"choice\",\"arguments\":[{\"name\":\"BF\",\"type\":\"standalone\"},{\"name\":\"HS\",\"type\":\"standalone\"},{\"name\":\"IID\",\"type\":\"standalone\"}]},{\"name\":\"START=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Begins the effect-selection process in the forward and stepwise selection methods from the initial model that you designate. If you specify START=n, then the starting model consists of the first n effects listed in the MODEL statement. If you specify START=single-effect or if you specify a list of effects within parentheses, then the starting model consists of these specified effects. The effects that you specify in the START= option must be explanatory effects defined in the MODEL statement. The START= option is not available when you specify METHOD=BACKWARD in the SELECTION statement.\",\"type\":\"value\"},{\"name\":\"STB\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Produces standardized regression coefficients. A standardized regression coefficient is computed by dividing a parameter estimate by the ratio of the sample standard deviation of the dependent variable to the sample standard deviation of the regressor.\",\"type\":\"standalone\"},{\"name\":\"TOL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Produces tolerance values for the estimates.\",\"type\":\"standalone\"},{\"name\":\"VIF\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Produces variance inflation factors in the parameter estimates table. Variance inflation is the reciprocal of tolerance.\",\"type\":\"standalone\"}]},{\"name\":\"OUTPUT\",\"description\":\"The OUTPUT statement creates a data set that contains observationwise statistics, which are computed after the final selected model is fit. To avoid data duplication for large data sets, the variables in the input data set are not included in the output data set; however, variables that are specified in the ID statement or COPYVARS= option are included.\",\"help\":\"OUTPUT &lt;COPYVAR=variable | COPYVARS=(variables)&gt;&lt;LLCM &lt;=name&gt;&gt;&lt;OUT=SAS-data-set&gt; ...\",\"arguments\":[{\"name\":\"COPYVAR=\",\"optional\":true,\"aliases\":[\"COPYVARS=\"],\"description\":\"Transfers one or more variables from the input data set to the output data set. Variables that you name in an ID statement are also copied from the input data set to the output data set.\",\"type\":\"value\"},{\"name\":\"LLCM\",\"optional\":true,\"description\":\"Requests the lower bound of a 100(1 - α)% confidence interval for the expected quantile of the dependent variable. The default variable name is LCLM.\",\"type\":\"standalone\"},{\"name\":\"OUT=\",\"optional\":true,\"description\":\"Specifies the new data set. By default, the procedure uses the DATAn convention to name the new data set.\",\"help\":\"OUT=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"PREDICTED\",\"optional\":true,\"aliases\":[\"PRED\"],\"description\":\"Includes predicted values in the output data set. The prefix for the default name is p.\",\"type\":\"standalone\"},{\"name\":\"RESIDUAL\",\"optional\":true,\"aliases\":[\"RES\"],\"description\":\"Requests predicted values for the response variable. The default variable name is Pred.\",\"type\":\"standalone\"},{\"name\":\"ROLE\",\"optional\":true,\"description\":\"Requests a numeric variable that indicates the role that each observation plays in fitting the model. The default variable name is _ROLE_.\",\"type\":\"standalone\"},{\"name\":\"STDP\",\"optional\":true,\"description\":\"Requests standard error of the mean predicted quantiles. The default variable name is STDP.\",\"type\":\"standalone\"},{\"name\":\"UCLM\",\"optional\":true,\"description\":\"Requests the upper bound of a 100(1 - α)% confidence interval for the expected quantile of the dependent variable. The default variable name is UCLM.\",\"type\":\"standalone\"}]},{\"name\":\"PARTITION\",\"description\":\"The PARTITION statement specifies how observations in the input data set are logically partitioned into disjoint subsets for model training, validation, and testing. Either you can designate a variable in the input data set and a set of formatted values of that variable to determine the role of each observation, or you can specify proportions to use for random assignment of observations for each role.\",\"help\":\"PARTITION &lt;FRACTION(&lt;TEST=fraction&gt; &lt;VALIDATE=fraction&gt;)&gt;&lt;ROLEVAR= | ROLE=variable(&lt;TEST='value'&gt; &lt;TRAIN='value'&gt; &lt;VALIDATE='value'&gt;)&gt;\",\"arguments\":[{\"name\":\"FRACTION=\",\"optional\":true,\"description\":\"Randomly assigns the specified proportions of observations in the input data set to testing, validation, and training roles. You specify the proportions for testing and validation by using the TEST= and VALIDATE= suboptions. If you specify both the TEST= and VALIDATE= suboptions, then the sum of the specified fractions must be less than 1 and the remaining fraction of the observations are assigned to the training role.\",\"help\":\"FRACTION=TEST= | VALIDATE=\",\"type\":\"choice\",\"arguments\":[{\"name\":\"TEST=\",\"type\":\"value\"},{\"name\":\"VALIDATE=\",\"type\":\"value\"}]},{\"name\":\"ROLEVAR=\",\"optional\":true,\"aliases\":[\"ROLE=\"],\"description\":\"Names the variable in the input data set whose values are used to assign roles to each observation. Use the TEST=, TRAIN=, and VALIDATE= suboptions to specify the formatted values of this variable that are used to assign observation roles are specified in the TEST=, TRAIN=, and VALIDATE= suboptions. If you do not specify the TRAIN= suboption, then all observations whose roles are not determined by the TEST= and VALIDATE= suboptions are assigned to training.\",\"help\":\"ROLEVAR=TEST= | TRAIN= | VALIDATE=\",\"type\":\"choice\",\"arguments\":[{\"name\":\"TEST=\",\"type\":\"value\"},{\"name\":\"TRAIN=\",\"type\":\"value\"},{\"name\":\"VALIDATE=\",\"type\":\"value\"}]}]},{\"name\":\"PERFORMANCE\",\"description\":\"The PERFORMANCE statement defines performance parameters for multithreaded and distributed computing, passes variables about the distributed computing environment, and requests detailed results about the performance characteristics of a SAS high-performance analytical procedure. You can also use the PERFORMANCE statement to control whether a SAS high-performance analytical procedure executes in single-machine or distributed mode.\",\"help\":\"PERFORMANCE &lt;COMMIT=n&gt;&lt;DETAILS&gt;&lt;GRIDHOST=\\\"name\\\"&gt; ...\",\"arguments\":[{\"name\":\"COMMIT=\",\"optional\":true,\"description\":\"Requests that the High-Performance Analytics procedure write periodic updates to the SAS Log when observations are sent from the client to the appliance for distributed processing.\",\"help\":\"COMMIT=*n*\",\"type\":\"value\"},{\"name\":\"DETAILS\",\"optional\":true,\"description\":\"Requests a table that shows a timing breakdown of the procedure steps.\",\"type\":\"standalone\"},{\"name\":\"GRIDHOST=\",\"optional\":true,\"aliases\":[\"HOST=\"],\"description\":\"Syntax: GRIDHOST=\\\"name\\\" HOST=\\\"name\\\"\",\"help\":\"GRIDHOST=\\\"*name*\\\"\",\"type\":\"value\"},{\"name\":\"GRIDMODE=\",\"optional\":true,\"aliases\":[\"MODE=\"],\"description\":\"Is a deprecated option that specifies whether to run the high-performance analytical procedure in symmetric (SYM) mode or asymmetric (ASYM) mode. This option overrides the GRIDMODE environment variable.\",\"help\":\"GRIDMODE=SYM | ASYM\",\"type\":\"choice\",\"arguments\":[{\"name\":\"SYM\",\"description\":\"Specifies to run the high-performance analytical procedure in symmetric (SYM) mode\",\"type\":\"standalone\"},{\"name\":\"ASYM\",\"description\":\"Specifies to run the high-performance analytical procedure in asymmetric (ASYM) mode.\",\"type\":\"standalone\"}]},{\"name\":\"GRIDTIMEOUT=\",\"optional\":true,\"aliases\":[\"TIMEOUT=\"],\"description\":\"Specifies the time-out in seconds for a high-performance analytical procedure to wait for a connection to the appliance and establish a connection back to the client. The default is 120 seconds. If jobs are submitted to the appliance through workload management tools that might suspend access to the appliance for a longer period, you might want to increase the time-out value.\",\"type\":\"value\"},{\"name\":\"INSTALL=\",\"optional\":true,\"aliases\":[\"INSTALLLOC=\"],\"description\":\"Specifies the directory in which the shared libraries for the high-performance analytical procedure are installed on the appliance. Specifying the INSTALL= option overrides the GRIDINSTALLLOC environment variable.\",\"type\":\"value\"},{\"name\":\"LASRSERVER=\",\"optional\":true,\"aliases\":[\"LASR=\"],\"description\":\"Specifies the fully qualified path to the description file of a SAS LASR Analytic Server instance. If the input data set is held in memory by this LASR Analytic Server instance, then the procedure runs alongside LASR. This option is not needed to run alongside LASR if the DATA= specification of the input data uses a libref that is associated with a LASR Analytic Server instance.\",\"type\":\"value\"},{\"name\":\"NODES=\",\"optional\":true,\"aliases\":[\"NNODES=\"],\"description\":\"Specifies the number of nodes in the distributed computing environment, provided that the data are not processed alongside the database.\",\"type\":\"value\"},{\"name\":\"NTHREADS=\",\"optional\":true,\"aliases\":[\"THREADS=\"],\"description\":\"Specifies the number of threads for analytic computations and overrides the SAS system option THREADS | NOTHREADS. If you do not specify the NTHREADS= option, the number of threads is determined based on the number of CPUs on the host on which the analytic computations execute. The algorithm by which a CPU count is converted to a thread count is specific to the high-performance analytical procedure. Most procedures create one thread per CPU for the analytic computations. By default, high-performance analytical procedures run in multiple concurrent threads unless multithreading has been turned off by the NOTHREADS system option or you force single-threaded execution by specifying NTHREADS=1. The largest number that can be specified for n is 256. Individual high-performance analytical procedures can impose more stringent limits if called for by algorithmic considerations.\",\"type\":\"value\"}]},{\"name\":\"SELECTION\",\"description\":\"The SELECTION statement performs variable selection.\",\"help\":\"SELECTION &lt;BACKWARD&gt;&lt;FORWARD&gt;&lt;NONE&gt; ...\",\"arguments\":[{\"name\":\"BACKWARD\",\"optional\":true,\"description\":\"Specifies the backward elimination method, which starts with all effects in the model and deletes effects.\",\"type\":\"standalone\"},{\"name\":\"FORWARD\",\"optional\":true,\"description\":\"Specifies the forward selection method, which starts with no effects in the model and adds effects.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"optional\":true,\"description\":\"Sspecifies no model selection.\",\"type\":\"standalone\"},{\"name\":\"STEPWISE\",\"optional\":true,\"description\":\"Specifies the stepwise regression method, which is similar to the forward selection method except that effects already in the model do not necessarily stay there.\",\"type\":\"standalone\"},{\"name\":\"TEST=\",\"optional\":true,\"description\":\"Specifies a method to compute significance levels for the selection process.\",\"help\":\"TEST=LR1 | LR2 | WALD*value*\",\"type\":\"value\",\"arguments\":[{\"name\":\"LR1\",\"description\":\"Specifies a Likelihood ratio test Type I method.\",\"type\":\"standalone\"},{\"name\":\"LR2\",\"description\":\"Specifies a Likelihood ratio test Type I method.\",\"type\":\"standalone\"},{\"name\":\"WALD\",\"description\":\"Specifies a Wald score test method.\",\"type\":\"standalone\"}]}]},{\"name\":\"WEIGHT\",\"description\":\"The variable in the WEIGHT statement is used as a weight to perform a weighted analysis of the data. Observations that have nonpositive or missing weights are not included in the analysis. If you do not use a WEIGHT statement, all observations that are used in the analysis are assigned a weight of 1.\",\"help\":\"WEIGHT variable \"}],\"supportSiteInformation\":{\"docsetId\":\"statug\",\"docsetVersion\":\"latest\",\"docsetTargetFile\":\"statug_hpqtr_toc.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/HPREDUCE.json",
    "content": "{\"name\":\"HPREDUCE\",\"statements\":[{\"name\":\"PROC HPREDUCE\",\"description\":\"The HPREDUCE procedure is a high-performance procedure that performs both supervised and unsupervised variable selection on the SAS appliance. With the HPREDUCE procedure you can read data in distributed form and perform variable selection in parallel in symmetric multiprocessing (SMP) or massively parallel processing (MPP) mode. † The HPREDUCE procedure performs unsupervised variable selection by identifying a set of variables that jointly explain the maximum amount of data variance. Unlike principal component analysis (PCA), which reduces dimensionality by generating a set of new variables (variable extraction), the HPREDUCE procedure reduces dimensionality by selecting a subset of the original variables (variable selection). Thus, this technique preserves model interpretation. † The HPREDUCE procedure performs supervised variable selection by identifying a set of variables that jointly explain the maximum amount of variance contained in the response variables. The HPREDUCE procedure supports variable selection in both the regression setting and the classification (categorization) setting. † The HPREDUCE procedure can also be used to output the sums of squares and crossproducts (SSCP) matrix, the correlation (CORR) matrix, or the covariance (COV) matrix for exploratory data analysis and direct input to statistical procedures that accept that form. This step saves time by eliminating redundant matrix aggregations.\",\"help\":\"PROC HPREDUCE <CORR><COV><DATA=SAS-data-set><FMTLIBXML=file-ref><NAMELEN=number><NOCLPRINT< =number >><NOPRINT><NOSUMPRINT><OUTCP=SAS-data-set< /LIST< (EPS = number) > >><SSCP><TECHNIQUE=VARIANCEANALYSIS|VAR | DISCRIMINANTANALYSIS|DSC><TIMEPRINT>;     \\n\\tCLASS <DESCENDING><ORDER=<DATA | FORMATTED | FREQ>... ><REF=<<'level'> | FIRST | LAST>> ...;\\n\\n\\tPERFORMANCE <COMMIT=n><CPUCOUNT=<ACTUAL | <num>>><DATASERVER=“name”> ...;\\n\\n\\tREDUCE <MAXSTEPS=n><SUPERVISED><UNSUPERVISED> ...;\\n\",\"arguments\":[{\"name\":\"CORR\",\"optional\":true,\"description\":\"Selects variables based on the correlation matrix.\",\"type\":\"standalone\"},{\"name\":\"COV\",\"optional\":true,\"description\":\"Selects variables based on the covariance matrix.\",\"type\":\"standalone\"},{\"name\":\"DATA=\",\"optional\":true,\"description\":\"Names the input SAS data set to be used by PROC HPREDUCE. The default is the most recently created data set. If the procedure executes in MPP mode, the input data are distributed to memory on the appliance nodes and analyzed in parallel, unless the data are already distributed in the appliance database. When data are already distributed, the procedure reads the data alongside the distributed database.\",\"help\":\"DATA=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"FMTLIBXML=\",\"optional\":true,\"description\":\"Specifies the file reference for the XML stream that contains the user-defined format definitions. Userdefined formats are handled differently in a distributed computing environment compared to other SAS products.\",\"help\":\"FMTLIBXML=*file-ref*\",\"type\":\"value\"},{\"name\":\"NAMELEN=\",\"optional\":true,\"description\":\"Specifies the length to which long effect names are shortened (20 <= number <= 128).\",\"help\":\"NAMELEN=*number*\",\"type\":\"value\"},{\"name\":\"NOCLPRINT\",\"optional\":true,\"description\":\"Suppresses the display of the “Class Level Information” table if you do not specify number. If you specify number, the values of the classification variables are displayed for only those variables whose number of levels is less than number. Specifying a number helps to reduce the size of the “Class Level Information” table if some classification variables have a large number of levels.\",\"type\":\"standalone\"},{\"name\":\"NOPRINT\",\"optional\":true,\"description\":\"Suppresses the generation of ODS output.\",\"type\":\"standalone\"},{\"name\":\"NOSUMPRINT\",\"optional\":true,\"description\":\"Suppresses the generation of the “Selection Summary” table.\",\"type\":\"standalone\"},{\"name\":\"OUTCP=\",\"optional\":true,\"description\":\"Creates both a data set that contains a symmetric matrix that depicts the relationships among variables and also a set of statistics about the input data set and variables. Depending on the Pearson correlation statistics option specified in the PROC HPREDUCE statement, the symmetric matrix can be a correlation (CORR) matrix, a covariance (COV) matrix, or a sums of squares and crossproducts (SSCP) matrix.\",\"type\":\"value\"},{\"name\":\"SSCP\",\"optional\":true,\"description\":\"Selects variables based on the sums of squares and crossproducts matrix.\",\"type\":\"standalone\"},{\"name\":\"TECHNIQUE=\",\"optional\":true,\"aliases\":[\"TECH=\"],\"description\":\"Specifies the variable selection technique. You can choose from the following techniques by specifying the appropriate keyword: VARIANCEANALYSIS | VAR performs variance analysis for variable selection. DISCRIMINANTANALYSIS | DSC performs discriminant analysis for variable selection. The default value is TECHNIQUE=VAR.\",\"help\":\"TECHNIQUE=VARIANCEANALYSIS | DISCRIMINANTANALYSIS\",\"type\":\"choice\",\"arguments\":[{\"name\":\"VARIANCEANALYSIS\",\"aliases\":[\"VAR\"],\"description\":\"Performs variance analysis for variable selection.\",\"type\":\"standalone\"},{\"name\":\"DISCRIMINANTANALYSIS\",\"aliases\":[\"DSC\"],\"description\":\"Performs discriminant analysis for variable selection.\",\"type\":\"standalone\"}]},{\"name\":\"TIMEPRINT\",\"optional\":true,\"description\":\"Prints the time (in seconds) used by each variable selection iteration in the “Selection Summary” table. If this option does not appear in the PROC HPREDUCE statement, the time information is not printed.\",\"type\":\"standalone\"}]},{\"name\":\"CLASS\",\"description\":\"The CLASS statement names the classification variables to be used as explanatory variables in the analysis. The CLASS statement must precede the REDUCE statement. The HPREDUCE procedure does not support the SPLIT option in the CLASS statement. For CLASS variable parameterization, the HPREDUCE procedure only support the GLM method.\",\"help\":\"CLASS &lt;DESCENDING&gt;&lt;ORDER=&lt;DATA | FORMATTED | FREQ&gt;... &gt;&lt;REF=&lt;&lt;'level'&gt; | FIRST | LAST&gt;&gt; ...\",\"arguments\":[{\"name\":\"DESCENDING\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"DESC\"],\"description\":\"Reverses the sorting order of the classification variable. If both the DESCENDING and ORDER= options are specified, High-Performance Analytics procedures order the categories according to the ORDER= option and then reverse that order.\",\"type\":\"standalone\"},{\"name\":\"MISSING\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Treats missing values (“.”, “.A”, . . . , “.Z” for numeric variables and blanks for character variables) as valid values for the CLASS variable.\",\"type\":\"standalone\"},{\"name\":\"ORDER=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the sorting order for the levels of classification variables. This ordering determines which parameters in the model correspond to each level in the data.\",\"help\":\"ORDER=DATA | FORMATTED | FREQ | FREQDATA | FREQFORMATTED | FREQINTERNAL | INTERNAL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DATA\",\"followsDelimiter\":\"/\",\"description\":\"Levels sorted by the order of appearance in the input data set FORMATTED External formatted values, except for numeric.\",\"type\":\"standalone\"},{\"name\":\"FORMATTED\",\"followsDelimiter\":\"/\",\"description\":\"Levels sorted by the external formatted values, except for numeric variables with no explicit format, which are sorted by their unformatted (internal) values\",\"type\":\"standalone\"},{\"name\":\"FREQ\",\"followsDelimiter\":\"/\",\"description\":\"Levels sorted by the descending frequency count (levels with more observations come earlier in the order)\",\"type\":\"standalone\"},{\"name\":\"FREQDATA\",\"followsDelimiter\":\"/\",\"description\":\"Levels sorted by the order of descending frequency count, and within counts by order of appearance in the input data set when counts are tied\",\"type\":\"standalone\"},{\"name\":\"FREQFORMATTED\",\"followsDelimiter\":\"/\",\"description\":\"Levels sorted by the order of descending frequency count, and within counts by formatted value when counts are tied\",\"type\":\"standalone\"},{\"name\":\"FREQINTERNAL\",\"followsDelimiter\":\"/\",\"description\":\"Levels sorted by the Order of descending frequency count, and within counts by unformatted (internal) value when counts are tied\",\"type\":\"standalone\"},{\"name\":\"INTERNAL\",\"followsDelimiter\":\"/\",\"description\":\"Levels sorted by the unformatted value\",\"type\":\"standalone\"}]},{\"name\":\"PARAM=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the parameterization method for the classification variable or variables. The GLM parameterization is the default.\",\"help\":\"PARAM=GLM | REFERENCE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"GLM\",\"followsDelimiter\":\"/\",\"description\":\"Less-than-full-rank reference cell coding. This parameterization is used in, for example, the GLM, MIXED, and GLIMMIX procedures in SAS/STAT.\",\"type\":\"standalone\"},{\"name\":\"REFERENCE\",\"followsDelimiter\":\"/\",\"description\":\"Reference cell encoding. You can choose the reference value with a specific variable option in the CLASS statement, or designate the first or last ordered value with a globaloption. The default is REF=LAST.\",\"type\":\"standalone\"}]},{\"name\":\"REF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"REFERENCE=\"],\"description\":\"Specifies the reference level for PARAM=REFERENCE. For an individual (but not a global) variable REF= option, you can specify the level of the variable to use as the reference level. Specify the formatted value of the variable if a format is assigned. For a REF= option or global-option, you can use one of the following keywords. The default is REF=LAST.\",\"help\":\"REF=&lt;'*level*'&gt; | FIRST | LAST\",\"type\":\"choice\",\"arguments\":[{\"name\":\"'level'\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"For an individual (but not a global) variable REF= option, you can specify the level of the variable to use as the reference level.\",\"type\":\"value\"},{\"name\":\"FIRST\",\"followsDelimiter\":\"/\",\"description\":\"Designates the first-ordered level as reference.\",\"type\":\"standalone\"},{\"name\":\"LAST\",\"followsDelimiter\":\"/\",\"description\":\"Designates the last-ordered level as reference.\",\"type\":\"standalone\"}]},{\"name\":\"TRUNCATE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the truncation width of formatted values of CLASS variables when the optional n is specified. If n is not specified, the TRUNCATE option requests that classification levels should be determined using no more than the first 16 characters of the formatted values of CLASS variables. When formatted values are longer than 16 characters, you can use this option in order to revert to the levels as determined in releases prior to SAS 9.\",\"type\":\"standalone\"}]},{\"name\":\"PERFORMANCE\",\"description\":\"The PERFORMANCE statement defines performance parameters for multithreaded and distributed computing, passes variables about the distributed computing environment, and requests detailed results about the performance characteristics of the HPREDUCE procedure. With the PERFORMANCE statement, you can also control whether the HPREDUCE procedure executes in SMP or MPP mode.\",\"help\":\"PERFORMANCE &lt;COMMIT=n&gt;&lt;CPUCOUNT=&lt;ACTUAL | &lt;num&gt;&gt;&gt;&lt;DATASERVER=“name”&gt; ...\",\"arguments\":[{\"name\":\"COMMIT=\",\"optional\":true,\"description\":\"Requests that the High-Performance Analytics procedure write periodic updates to the SAS Log when observations are sent from the client to the appliance for distributed processing.\",\"help\":\"COMMIT=*n*\",\"type\":\"value\"},{\"name\":\"CPUCOUNT=\",\"optional\":true,\"description\":\"Specifies how many processors the procedure assumes are available on each host in the computing environment. num can be any integer from 1 to 256. CPUCOUNT=ACTUAL sets CPUCOUNT to the number of physical processors available. This number can be less than the physical number of CPUs if the SAS process has been restricted by system administration tools. Setting CPUCOUNT= to a number greater than the actual number of available CPUs might result in reduced performance. This option overrides the CPUCOUNT= SAS system option.\",\"help\":\"CPUCOUNT=ACTUAL | &lt;*num*&gt;\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ACTUAL\",\"description\":\"Sets CPUCOUNT to the number of physical processors available. This number can be less than the physical number of CPUs if the SAS process has been restricted by system administration tools.\",\"type\":\"standalone\"},{\"name\":\"num\",\"placeholder\":true,\"description\":\"Replace <num> with an actual number. Setting CPUCOUNT= to a number greater than the actual number of available CPUs might result in reduced performance. This option overrides the CPUCOUNT= SAS system option.\",\"type\":\"value\"}]},{\"name\":\"DATASERVER=\",\"optional\":true,\"description\":\"Specifies the name of the server on Teradata systems as defined through the hosts file and as used in the LIBNAME statement for Teradata. For example, if the hosts file defines myservercop1 33.44.55.66 as the server for Teradata, then a LIBNAME specification would be as follows: libname TDLib teradata server=myserver user= password= database= ; A PERFORMANCE statement to induce running alongside the Teradata server would specify the following:\",\"type\":\"value\"},{\"name\":\"DETAILS\",\"optional\":true,\"description\":\"Requests a table that shows a timing breakdown of the procedure steps.\",\"type\":\"standalone\"},{\"name\":\"HOST=\",\"optional\":true,\"aliases\":[\"GRIDHOST=\"],\"description\":\"Specifies the name of the appliance host in single or double quotes. If the HOST= option is specified, it overrides the value of the GRIDHOST environment variable.\",\"type\":\"value\"},{\"name\":\"INSTALL=\",\"optional\":true,\"aliases\":[\"INSTALLLOC=\"],\"description\":\"Specifies the directory in which the High-Performance Analytics shared libraries are installed on the appliance. Specifying the INSTALL= option overrides the GRIDINSTALLLOC environment variable.\",\"type\":\"value\"},{\"name\":\"NODES=\",\"optional\":true,\"aliases\":[\"NNODES=\"],\"description\":\"Specifies the number of nodes in the distributed computing environment, provided that the data are not processed alongside the database.\",\"type\":\"value\"},{\"name\":\"NTHREADS=\",\"optional\":true,\"description\":\"Specifies the number of threads for analytic computations and overrides the SAS system option THREADS | NOTHREADS. If you do not specify the NTHREADS= option, the number of threads are determined based on the number of CPUs on the host on which the analytic computations execute. The algorithm by which a CPU count is converted to a thread count is specific to the High- Performance Analytics procedure. Most procedures create one thread per CPU for the analytic computations. By default, High-Performance Analytics procedures execute in multiple concurrent threads unless turned off by the NOTHREADS system option or you force single-threaded execution with NTHREADS=1. The largest number that can be specified for n is 256. Individual High-Performance Analytics procedures can impose more stringent limits if called for by algorithmic considerations. You can affect the determination of the CPU count with the CPUCOUNT= option in the PERFORMANCE statement.\",\"help\":\"NTHREADS=*n*\",\"type\":\"value\"},{\"name\":\"TIMEOUT=\",\"optional\":true,\"description\":\"Specifies the timeout in seconds for a High-Performance Analytics procedure to wait for a connection to the appliance and establish a connection back to the client. The default is s=120 seconds. If jobs are submitted to the appliance through workload management tools that might suspend access to the appliance for a longer period, you might want to increase the timeout value.\",\"help\":\"TIMEOUT=*s*\",\"type\":\"value\"}]},{\"name\":\"REDUCE\",\"description\":\"PROC HPREDUCE can be used for both supervised and unsupervised variable selection. In unsupervised case, the REDUCE statement specifies the effects to be considered in the variable selection process. An effect can be an original variable in the input data set or a variable constructed from the original variables. In the supervised case, besides the effects, the response variables also needs to be specified. A response variable can be an original variable in the input data set or a variable constructed from the original variables. The HPREDUCE procedure allows users to specify more than one response variables. The following reduce-options control the number of variables to be selected: MAXSTEPS= Specifies the maximal number steps to take for variable selection MAXEFFECTS= Specifies the number of effects to select VARIANCEXPLAINED | VAREXP= Specifies the fraction of the total variance to be explained MINVARIANCEINCREMENT | VARINC= Specifies minimal increment of explained variance (in fraction of the total variance)\",\"help\":\"REDUCE &lt;MAXSTEPS=n&gt;&lt;SUPERVISED&gt;&lt;UNSUPERVISED&gt; ...\",\"arguments\":[{\"name\":\"MAXEFFECTS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the number of effects to select; the number must be greater than or equal to 1.\",\"help\":\"MAXEFFECTS=*n*\",\"type\":\"value\"},{\"name\":\"MAXSTEPS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the maximum number of steps to take for variable selection; the number must be greater than or equal to 1.\",\"help\":\"MAXSTEPS=*n*\",\"type\":\"value\"},{\"name\":\"MINVARIANCEINCREMENT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"VARINC=\"],\"description\":\"Specifies the minimum increment of explained variance (in a fraction of the total variance); the value must be between 0 and 1.\",\"type\":\"value\"},{\"name\":\"SUPERVISED\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"In the supervised case, besides the effects, the response variables also needs to be specified. A response variable can be an original variable in the input data set or a variable constructed from the original variables.\",\"type\":\"standalone\"},{\"name\":\"UNSUPERVISED\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"In unsupervised case, the REDUCE statement specifies the effects to be considered in the variable selection process. An effect can be an original variable in the input data set or a variable constructed from the original variables.\",\"type\":\"standalone\"},{\"name\":\"VARIANCEEXPLAINED=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"VAREXP=\"],\"description\":\"Specifies the fraction of the total variance to be explained; the value must be between 0 and 1.\",\"type\":\"value\"}]}],\"supportSiteInformation\":{\"docsetId\":\"emhpprcref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"emhpprcref_hpreduce_toc.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/HPREG.json",
    "content": "{\"name\":\"HPREG\",\"statements\":[{\"name\":\"PROC HPREG\",\"description\":\"The HPREG procedure is a high-performance procedure that fits and performs model selection for ordinary linear least squares models. The models supported are standard independently and identically distributed general linear models, which can contain main effects that consist of both continuous and classification variables and interaction effects of these variables. The procedure offers extensive capabilities for customizing the model selection with a wide variety of selection and stopping criteria, from traditional and computationally efficient significance-level-based criteria to more computationally intensive validation-based criteria. PROC HPREG also provides a variety of regression diagnostics that are conditional on the selected model. † With the HPREG procedure you can read and write data in distributed form and perform analyses in parallel in symmetric multiprocessing (SMP) or massively parallel processing (MPP) mode.\",\"help\":\"PROC HPREG <ALPHA=number><DATA=SAS-data-set><FMTLIBXML=file-ref><NAMELEN=number><NOCLPRINT< =number >><NOPRINT><SEED=number>;     \\n\\tBY <DESCENDING><NOTSORTED> ;\\n\\n\\tCLASS <DESCENDING><ORDER=<DATA | FORMATTED | FREQ>... ><REF=<<'level'> | FIRST | LAST>> ...;\\n\\n\\tCODE <CATALOG=library.catalog.entry.type><DUMMIES><NODUMMIES> ...;\\n\\n\\tFREQ variable ;\\n\\n\\tID variables ;\\n\\n\\tMODEL <CLB><NOINT><ORDERSELECT> ...;\\n\\n\\tOUTPUT <LINP> OUT=SAS-data-set | DATA=SAS-data-set PREDICTED ...;\\n\\n\\tPARTITION <FRACTION(<TEST=fraction> <VALIDATE=fraction>)><ROLEVAR= | ROLE=variable(<TEST=’value’> <TRAIN=’value’> <VALIDATE=’value’>)> ;\\n\\n\\tPERFORMANCE <COMMIT=n><CPUCOUNT=<ACTUAL | <num>>><DATASERVER=“name”> ...;\\n\\n\\tSELECTION <ADAPTIVE <(GAMMA=nonnegative number)>><CHOOSE=<AIC | AICC | SBC>><METHOD=<BACKWARD | FORWARD | FORWARDSWAP>... > ...;\\n\\n\\tWEIGHT variable;\\n\",\"arguments\":[{\"name\":\"ALPHA=\",\"optional\":true,\"description\":\"Sets the significance level used for the construction of confidence intervals. The value must be between 0 and 1; the default value of 0.05 results in 95% intervals. This option affects the OUTPUT statement keywords LCL, LCLM, UCL, and UCLM, and the CLB option in the MODEL statement.\",\"help\":\"ALPHA=*number*\",\"type\":\"value\"},{\"name\":\"DATA=\",\"optional\":true,\"description\":\"Names the input SAS data set to be used by PROC HPREG. The default is the most recently created data set.\",\"help\":\"DATA=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"FMTLIBXML=\",\"optional\":true,\"description\":\"Specifies the file reference for the XML stream that contains the user-defined format definitions. Userdefined formats are handled differently in a distributed computing environment compared to other SAS products.\",\"help\":\"FMTLIBXML=*file-ref*\",\"type\":\"value\"},{\"name\":\"NAMELEN=\",\"optional\":true,\"description\":\"Specifies the length to which long effect names are shortened. The default and minimum value is 20.\",\"help\":\"NAMELEN=*number*\",\"type\":\"value\"},{\"name\":\"NOCLPRINT\",\"optional\":true,\"description\":\"Suppresses the display of the “Class Level Information” table if you do not specify number. If you specify number, the values of the classification variables are displayed for only those variables whose number of levels is less than number. Specifying a number helps to reduce the size of the “Class Level Information” table if some classification variables have a large number of levels.\",\"type\":\"standalone\"},{\"name\":\"NOPRINT\",\"optional\":true,\"description\":\"Suppresses the generation of ODS output.\",\"type\":\"standalone\"},{\"name\":\"SEED=\",\"optional\":true,\"description\":\"Specifies an integer used to start the pseudorandom number generator for random partitioning of data for training, testing, and validation. If you do not specify a seed, or if you specify a value less than or equal to 0, the seed is generated from reading the time of day from the computer’s clock.\",\"help\":\"SEED=*number*\",\"type\":\"value\"}]},{\"name\":\"BY\",\"description\":\"You can specify a BY statement with PROC HPREG to obtain separate analyses of observations in groups that are defined by the BY variables. When a BY statement appears, the procedure expects the input data set to be sorted in order of the BY variables. If you specify more than one BY statement, only the last one specified is used. If your input data set is not sorted in ascending order, use one of the following alternatives: • Sort the data by using the SORT procedure with a similar BY statement. • Specify the NOTSORTED or DESCENDING option in the BY statement for the HPREG procedure. The NOTSORTED option does not mean that the data are unsorted but rather that the data are arranged in groups (according to values of the BY variables) and that these groups are not necessarily in alphabetical or increasing numeric order. • Create an index on the BY variables by using the DATASETS procedure (in Base SAS software). BY statement processing is not supported when the HPREG procedure runs alongside the database or alongside the Hadoop Distributed File System (HDFS). These modes are used if the input data are stored in a database or HDFS and the grid host is the appliance that houses the data.\",\"help\":\"BY &lt;DESCENDING&gt;&lt;NOTSORTED&gt;\",\"arguments\":[{\"name\":\"DESCENDING\",\"optional\":true,\"description\":\"Specifies that the observations are sorted in descending order by the variable that immediately follows the word DESCENDING in the BY statement.\",\"type\":\"standalone\"},{\"name\":\"NOTSORTED\",\"optional\":true,\"description\":\"Specifies that observations are not necessarily sorted in alphabetic or numeric order.\",\"type\":\"standalone\"}]},{\"name\":\"CLASS\",\"description\":\"The CLASS statement names the classification variables to be used as explanatory variables in the analysis. If a CLASS statement is specified, it must precede the MODEL statement.\",\"help\":\"CLASS &lt;DESCENDING&gt;&lt;ORDER=&lt;DATA | FORMATTED | FREQ&gt;... &gt;&lt;REF=&lt;&lt;'level'&gt; | FIRST | LAST&gt;&gt; ...\",\"arguments\":[{\"name\":\"DESCENDING\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"DESC\"],\"description\":\"Reverses the sorting order of the classification variable. If both the DESCENDING and ORDER= options are specified, High-Performance Analytics procedures order the categories according to the ORDER= option and then reverse that order.\",\"type\":\"standalone\"},{\"name\":\"MISSING\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Treats missing values (“.”, “.A”, . . . , “.Z” for numeric variables and blanks for character variables) as valid values for the CLASS variable.\",\"type\":\"standalone\"},{\"name\":\"ORDER=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the sorting order for the levels of classification variables. This ordering determines which parameters in the model correspond to each level in the data.\",\"help\":\"ORDER=DATA | FORMATTED | FREQ | FREQDATA | FREQFORMATTED | FREQINTERNAL | INTERNAL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DATA\",\"followsDelimiter\":\"/\",\"description\":\"Levels sorted by the order of appearance in the input data set FORMATTED External formatted values, except for numeric.\",\"type\":\"standalone\"},{\"name\":\"FORMATTED\",\"followsDelimiter\":\"/\",\"description\":\"Levels sorted by the external formatted values, except for numeric variables with no explicit format, which are sorted by their unformatted (internal) values\",\"type\":\"standalone\"},{\"name\":\"FREQ\",\"followsDelimiter\":\"/\",\"description\":\"Levels sorted by the descending frequency count (levels with more observations come earlier in the order)\",\"type\":\"standalone\"},{\"name\":\"FREQDATA\",\"followsDelimiter\":\"/\",\"description\":\"Levels sorted by the order of descending frequency count, and within counts by order of appearance in the input data set when counts are tied\",\"type\":\"standalone\"},{\"name\":\"FREQFORMATTED\",\"followsDelimiter\":\"/\",\"description\":\"Levels sorted by the order of descending frequency count, and within counts by formatted value when counts are tied\",\"type\":\"standalone\"},{\"name\":\"FREQINTERNAL\",\"followsDelimiter\":\"/\",\"description\":\"Levels sorted by the Order of descending frequency count, and within counts by unformatted (internal) value when counts are tied\",\"type\":\"standalone\"},{\"name\":\"INTERNAL\",\"followsDelimiter\":\"/\",\"description\":\"Levels sorted by the unformatted value\",\"type\":\"standalone\"}]},{\"name\":\"PARAM=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the parameterization method for the classification variable or variables. The GLM parameterization is the default.\",\"help\":\"PARAM=GLM | REFERENCE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"GLM\",\"followsDelimiter\":\"/\",\"description\":\"Less-than-full-rank reference cell coding. This parameterization is used in, for example, the GLM, MIXED, and GLIMMIX procedures in SAS/STAT.\",\"type\":\"standalone\"},{\"name\":\"REFERENCE\",\"followsDelimiter\":\"/\",\"description\":\"Reference cell encoding. You can choose the reference value with a specific variable option in the CLASS statement, or designate the first or last ordered value with a globaloption. The default is REF=LAST.\",\"type\":\"standalone\"}]},{\"name\":\"REF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"REFERENCE=\"],\"description\":\"Specifies the reference level for PARAM=REFERENCE. For an individual (but not a global) variable REF= option, you can specify the level of the variable to use as the reference level. Specify the formatted value of the variable if a format is assigned. For a REF= option or global-option, you can use one of the following keywords. The default is REF=LAST.\",\"help\":\"REF=&lt;'*level*'&gt; | FIRST | LAST\",\"type\":\"choice\",\"arguments\":[{\"name\":\"'level'\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"For an individual (but not a global) variable REF= option, you can specify the level of the variable to use as the reference level.\",\"type\":\"value\"},{\"name\":\"FIRST\",\"followsDelimiter\":\"/\",\"description\":\"Designates the first-ordered level as reference.\",\"type\":\"standalone\"},{\"name\":\"LAST\",\"followsDelimiter\":\"/\",\"description\":\"Designates the last-ordered level as reference.\",\"type\":\"standalone\"}]},{\"name\":\"SPLIT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that the columns of the design matrix corresponding to any effect containing a split classification variable can be selected to enter or leave a model independently of the other design columns of that effect. This option is specific to the HPREG procedure.\",\"type\":\"standalone\"},{\"name\":\"TRUNCATE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the truncation width of formatted values of CLASS variables when the optional n is specified. If n is not specified, the TRUNCATE option requests that classification levels should be determined using no more than the first 16 characters of the formatted values of CLASS variables. When formatted values are longer than 16 characters, you can use this option in order to revert to the levels as determined in releases prior to SAS 9.\",\"type\":\"standalone\"}]},{\"name\":\"CODE\",\"description\":\"The CODE statement enables you to write SAS DATA step code for computing predicted values of the fitted model either to a file or to a catalog entry. This code can then be included in a DATA step to score new data.\",\"help\":\"CODE &lt;CATALOG=library.catalog.entry.type&gt;&lt;DUMMIES&gt;&lt;NODUMMIES&gt; ...\",\"arguments\":[{\"name\":\"CATALOG=\",\"optional\":true,\"aliases\":[\"CAT=\"],\"description\":\"Syntax: CATALOG=library.catalog.entry.type CAT=library.catalog.entry.type Specifies where to write the generated code in the form of library.catalog.entry.type. The compound name can have from one to four levels. The default library is determined by the USER= SAS system option, which by default is WORK. The default entry is SASCODE, and the default type is SOURCE.\",\"type\":\"value\"},{\"name\":\"DUMMIES\",\"optional\":true,\"description\":\"Specifies to keep dummy variables that represent the CLASS levels in the data set. The default is NODUMMIES, which specifies that dummy variables not be retained.\",\"type\":\"standalone\"},{\"name\":\"ERROR\",\"optional\":true,\"description\":\"Specifies to generate code to compute the error function. The default is NOERROR, which specifies that the error function not be generated.\",\"type\":\"standalone\"},{\"name\":\"FILE=\",\"optional\":true,\"description\":\"Names the external file that saves the generated code. When enclosed in a quoted string (for example, FILE=\\\"c:nmydirnscorecode.sas\\\"), this option specifies the path for writing the code to an external file. You can also specify unquoted SAS filenames of no more than eight characters for filename. If the filename is assigned as a fileref in a Base SAS FILENAME statement, the file specified in the FILENAME statement is opened. The special filerefs LOG and PRINT are always assigned. If the specified filename is not an assigned fileref, the specified value for filename is concatenated with a .txt extension before the file is opened. For example, if FOO is not an assigned fileref, FILE=FOO causes FOO.txt to be opened. If filename has more than eight characters, an error message is printed.\",\"type\":\"value\"},{\"name\":\"FORMAT=\",\"optional\":true,\"description\":\"Specifies the format for the regression coefficients and other numerical values that do not have a format from the input data set. The default format is BEST20.\",\"help\":\"FORMAT=*format*\",\"type\":\"value\"},{\"name\":\"GROUP=\",\"optional\":true,\"description\":\"Specifies the group identifier for group processing. The group-name should be a valid SAS name of no more than 16 characters. It is used to construct array names and statement labels in the generated code.\",\"help\":\"GROUP=*group-name*\",\"type\":\"value\"},{\"name\":\"IMPUTE\",\"optional\":true,\"description\":\"Imputes the predicted values according to an intercept-only model for observations with missing or invalid covariate values. For a continuous response, the predicted value is the mean of the response variable; for a categorical response, the predicted values are the proportions of the response categories. When the IMPUTE option is specified, the scoring code also creates a variable named _WARN_ that contains one or more single-character codes that indicate problems in computing predicted values.\",\"type\":\"standalone\"},{\"name\":\"LINESIZE=\",\"optional\":true,\"description\":\"Specifies the line size for the generated code. The default is 72. The permissible range is 64 to 254.\",\"type\":\"value\"},{\"name\":\"LOOKUP=\",\"optional\":true,\"description\":\"Specifies the algorithm for looking up CLASS levels. You can specify the following lookup-methods: AUTO selects the LINEAR algorithm if a CLASS variable has fewer than five categories; otherwise, the BINARY algorithm is used. This is the default. BINARY uses a binary search. This method is fast, but might produce incorrect results and the normalized category values might contain characters that collate in different orders in ASCII and EBCDIC, if you generate the code on an ASCII machine and execute the code on an EBCDIC machine or vice versa. LINEAR uses a linear search with IF statements that have categories in the order of the class levels. This method is slow if there are many categories. SELECT uses a SELECT statement.\",\"help\":\"LOOKUP=AUTO | BINARY | LINEAR | SELECT*lookup-method*\",\"type\":\"value\",\"arguments\":[{\"name\":\"AUTO\",\"description\":\"Selects the LINEAR algorithm if a CLASS variable has fewer than five categories; otherwise, the BINARY algorithm is used. This is the default.\",\"type\":\"standalone\"},{\"name\":\"BINARY\",\"description\":\"Uses a binary search. This method is fast, but might produce incorrect results and the normalized category values might contain characters that collate in different orders in ASCII and EBCDIC, if you generate the code on an ASCII machine and execute the code on an EBCDIC machine or vice versa.\",\"type\":\"standalone\"},{\"name\":\"LINEAR\",\"description\":\"Uses a linear search with IF statements that have categories in the order of the class levels. This method is slow if there are many categories.\",\"type\":\"standalone\"},{\"name\":\"SELECT\",\"description\":\"Uses a SELECT statement.\",\"type\":\"standalone\"}]},{\"name\":\"NODUMMIES\",\"optional\":true,\"description\":\"Specifies that dummy variables not be retained.\",\"type\":\"standalone\"},{\"name\":\"NOERROR\",\"optional\":true,\"description\":\"Specifies that the error function not be generated.\",\"type\":\"standalone\"},{\"name\":\"NORESIDUAL\",\"optional\":true,\"description\":\"Specifies that the code for residuals not be generated.\",\"type\":\"standalone\"},{\"name\":\"RESIDUAL\",\"optional\":true,\"description\":\"Specifies to generate code to compute residual values. If you request code for residuals and then score a data set that does not contain target values, the residuals will have missing values. The default is NORESIDUAL, which specifies that the code for residuals not be generated.\",\"type\":\"standalone\"}]},{\"name\":\"FREQ\",\"description\":\"The variable in the FREQ statement identifies a numeric variable in the data set that contains the frequency of occurrence for each observation. SAS High-Performance Analytics procedures that support the FREQ statement treat each observation as if it appeared f times, where f is the value of the FREQ variable for the observation. If the frequency value is not an integer, it is truncated to an integer. If the frequency value is less than 1 or missing, the observation is not used in the analysis. When the FREQ statement is not specified, each observation is assigned a frequency of 1.\",\"help\":\"FREQ variable \"},{\"name\":\"ID\",\"description\":\"The ID statement lists one or more variables from the input data set that are transferred to output data sets created by SAS High-Performance Analytics procedures, provided that the output data set produces one (or more) records per input observation.\",\"help\":\"ID variables \"},{\"name\":\"MODEL\",\"description\":\"The MODEL statement names the dependent variable and the explanatory effects, including covariates, main effects, interactions, and nested effects. If you omit the explanatory effects, the procedure fits an intercept-only model. After the keyword MODEL, the dependent (response) variable is specified, followed by an equal sign. The explanatory effects follow the equal sign.\",\"help\":\"MODEL &lt;CLB&gt;&lt;NOINT&gt;&lt;ORDERSELECT&gt; ...\",\"arguments\":[{\"name\":\"CLB\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests the 100(1 - α)% upper and lower confidence limits for the parameter estimates. By default, the 95% limits are computed; the ALPHA= option in the PROC HPREG statement can be used to change the α level. The CLB option is not supported when you request METHOD=LAR or METHOD=LASSO in the SELECTION statement.\",\"type\":\"standalone\"},{\"name\":\"NOINT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Suppresses the intercept term that is otherwise included in the model.\",\"type\":\"standalone\"},{\"name\":\"ORDERSELECT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies that, for the selected model, effects be displayed in the order in which they first entered the model. If you do not specify the ORDERSELECT option, then effects in the selected model are displayed in the order in which they appear in the MODEL statement.\",\"type\":\"standalone\"},{\"name\":\"STB\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Produces standardized regression coefficients. A standardized regression coefficient is computed by dividing a parameter estimate by the ratio of the sample standard deviation of the dependent variable to the sample standard deviation of the regressor.\",\"type\":\"standalone\"},{\"name\":\"TOL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"produces tolerance values for the estimates. Tolerance for a parameter is defined as 1 - R², where R² is obtained from the regression of the parameter on all other parameters in the model. The TOL option is not supported when you request METHOD=LAR or METHOD=LASSO in the SELECTION statement.\",\"type\":\"standalone\"},{\"name\":\"VIF\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Produces variance inflation factors with the parameter estimates. Variance inflation is the reciprocal of tolerance. The VIF option is not supported when you request METHOD=LAR or METHOD=LASSO in the SELECTION statement.\",\"type\":\"standalone\"}]},{\"name\":\"OUTPUT\",\"description\":\"\",\"help\":\"OUTPUT &lt;LINP&gt; OUT=SAS-data-set | DATA=SAS-data-set PREDICTED ...\",\"arguments\":[{\"name\":\"OUT=\",\"aliases\":[\"DATA=\"],\"description\":\"Specifies the name of the output data set. If the OUT= (or DATA=) option is omitted, the procedure uses the DATAn convention to name the output data set.\",\"type\":\"value\"},{\"name\":\"PEARSON\",\"aliases\":[\"PEARS\",\"RESCHI\"],\"description\":\"[keyword for adding statistics to the OUTPUT data set] Requests the Pearson residual.\",\"type\":\"standalone\"},{\"name\":\"PREDICTED\",\"aliases\":[\"PRED\"],\"description\":\"[keyword for adding statistics to the OUTPUT data set] Requests predicted values (predicted probabilities of events) for the response variable.\",\"type\":\"standalone\"},{\"name\":\"RESIDUAL\",\"aliases\":[\"RESID\"],\"description\":\"[keyword for adding statistics to the OUTPUT data set] Requests the raw residual, y - μ, where μ is the estimate of the predicted event probability. This statistic is not computed for multinomial models.\",\"type\":\"standalone\"},{\"name\":\"LINP\",\"optional\":true,\"aliases\":[\"XBETA\"],\"description\":\"[keyword for adding statistics to the OUTPUT data set] Requests the linear predictor Ƞ=x’β.\",\"type\":\"standalone\"},{\"name\":\"OBSCAT\",\"optional\":true,\"description\":\"Requests (for multinomial models) that observationwise statistics be produced for the response level only. If the OBSCAT option is not specified and the response variable has J levels, then the following outputs are created: for cumulative link models, J - 1 records are output for every observation in the input data that corresponds to the J - 1 lower-ordered response categories; for generalized logit models, J records are output that correspond to all J response categories.\",\"type\":\"standalone\"}]},{\"name\":\"PARTITION\",\"description\":\"The PARTITION statement specifies how observations in the input data set are logically partitioned into disjoint subsets for model training, validation, and testing. Either you can designate a variable in the input data set and a set of formatted values of that variable to determine the role of each observation, or you can specify proportions to use for random assignment of observations for each role.\",\"help\":\"PARTITION &lt;FRACTION(&lt;TEST=fraction&gt; &lt;VALIDATE=fraction&gt;)&gt;&lt;ROLEVAR= | ROLE=variable(&lt;TEST=’value’&gt; &lt;TRAIN=’value’&gt; &lt;VALIDATE=’value’&gt;)&gt;\",\"arguments\":[{\"name\":\"FRACTION=\",\"optional\":true,\"description\":\"FRACTION(<TEST=fraction> <VALIDATE=fraction>)\",\"help\":\"FRACTION=TEST= | VALIDATE=\",\"type\":\"choice\",\"arguments\":[{\"name\":\"TEST=\",\"type\":\"value\"},{\"name\":\"VALIDATE=\",\"type\":\"value\"}]},{\"name\":\"ROLEVAR=\",\"optional\":true,\"aliases\":[\"ROLE=\"],\"description\":\"Names the variable in the input data set whose values are used to assign roles to each observation. The formatted values of this variable that are used to assign observations roles are specified in the TEST=, TRAIN=, and VALIDATE= suboptions. If you do not specify the TRAIN= suboption, then all observations whose role is not determined by the TEST= or VALIDATE= suboptions are assigned to training.\",\"help\":\"ROLEVAR=TEST= | TRAIN= | VALIDATE=\",\"type\":\"choice\",\"arguments\":[{\"name\":\"TEST=\",\"type\":\"value\"},{\"name\":\"TRAIN=\",\"type\":\"value\"},{\"name\":\"VALIDATE=\",\"type\":\"value\"}]}]},{\"name\":\"PERFORMANCE\",\"description\":\"The PERFORMANCE statement defines performance parameters for multithreaded and distributed computing, passes variables about the distributed computing environment, and requests detailed results about the performance characteristics of a High-Performance Analytics procedure. With the PERFORMANCE statement, you can also control whether the HPREG procedure executes in SMP or MPP mode.\",\"help\":\"PERFORMANCE &lt;COMMIT=n&gt;&lt;CPUCOUNT=&lt;ACTUAL | &lt;num&gt;&gt;&gt;&lt;DATASERVER=“name”&gt; ...\",\"arguments\":[{\"name\":\"COMMIT=\",\"optional\":true,\"description\":\"Requests that the High-Performance Analytics procedure write periodic updates to the SAS Log when observations are sent from the client to the appliance for distributed processing.\",\"help\":\"COMMIT=*n*\",\"type\":\"value\"},{\"name\":\"CPUCOUNT=\",\"optional\":true,\"description\":\"Specifies how many processors the procedure assumes are available on each host in the computing environment. num can be any integer from 1 to 256. CPUCOUNT=ACTUAL sets CPUCOUNT to the number of physical processors available. This number can be less than the physical number of CPUs if the SAS process has been restricted by system administration tools. Setting CPUCOUNT= to a number greater than the actual number of available CPUs might result in reduced performance. This option overrides the CPUCOUNT= SAS system option.\",\"help\":\"CPUCOUNT=ACTUAL | &lt;*num*&gt;\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ACTUAL\",\"description\":\"Sets CPUCOUNT to the number of physical processors available. This number can be less than the physical number of CPUs if the SAS process has been restricted by system administration tools.\",\"type\":\"standalone\"},{\"name\":\"num\",\"placeholder\":true,\"description\":\"Replace <num> with an actual number. Setting CPUCOUNT= to a number greater than the actual number of available CPUs might result in reduced performance. This option overrides the CPUCOUNT= SAS system option.\",\"type\":\"value\"}]},{\"name\":\"DATASERVER=\",\"optional\":true,\"description\":\"Specifies the name of the server on Teradata systems as defined through the hosts file and as used in the LIBNAME statement for Teradata. For example, if the hosts file defines myservercop1 33.44.55.66 as the server for Teradata, then a LIBNAME specification would be as follows: libname TDLib teradata server=myserver user= password= database= ; A PERFORMANCE statement to induce running alongside the Teradata server would specify the following:\",\"type\":\"value\"},{\"name\":\"DETAILS\",\"optional\":true,\"description\":\"Requests a table that shows a timing breakdown of the procedure steps.\",\"type\":\"standalone\"},{\"name\":\"HOST=\",\"optional\":true,\"aliases\":[\"GRIDHOST=\"],\"description\":\"Specifies the name of the appliance host in single or double quotes. If the HOST= option is specified, it overrides the value of the GRIDHOST environment variable.\",\"type\":\"value\"},{\"name\":\"INSTALL=\",\"optional\":true,\"aliases\":[\"INSTALLLOC=\"],\"description\":\"Specifies the directory in which the High-Performance Analytics shared libraries are installed on the appliance. Specifying the INSTALL= option overrides the GRIDINSTALLLOC environment variable.\",\"type\":\"value\"},{\"name\":\"NODES=\",\"optional\":true,\"aliases\":[\"NNODES=\"],\"description\":\"Specifies the number of nodes in the distributed computing environment, provided that the data are not processed alongside the database.\",\"type\":\"value\"},{\"name\":\"NTHREADS=\",\"optional\":true,\"description\":\"Specifies the number of threads for analytic computations and overrides the SAS system option THREADS | NOTHREADS. If you do not specify the NTHREADS= option, the number of threads are determined based on the number of CPUs on the host on which the analytic computations execute. The algorithm by which a CPU count is converted to a thread count is specific to the High- Performance Analytics procedure. Most procedures create one thread per CPU for the analytic computations. By default, High-Performance Analytics procedures execute in multiple concurrent threads unless turned off by the NOTHREADS system option or you force single-threaded execution with NTHREADS=1. The largest number that can be specified for n is 256. Individual High-Performance Analytics procedures can impose more stringent limits if called for by algorithmic considerations. You can affect the determination of the CPU count with the CPUCOUNT= option in the PERFORMANCE statement.\",\"help\":\"NTHREADS=*n*\",\"type\":\"value\"},{\"name\":\"TIMEOUT=\",\"optional\":true,\"description\":\"Specifies the timeout in seconds for a High-Performance Analytics procedure to wait for a connection to the appliance and establish a connection back to the client. The default is s=120 seconds. If jobs are submitted to the appliance through workload management tools that might suspend access to the appliance for a longer period, you might want to increase the timeout value.\",\"help\":\"TIMEOUT=*s*\",\"type\":\"value\"}]},{\"name\":\"SELECTION\",\"description\":\"The SELECTION statement performs model selection by examining whether effects should be added to or removed from the model according to rules that are defined by model selection methods.\",\"help\":\"SELECTION &lt;ADAPTIVE &lt;(GAMMA=nonnegative number)&gt;&gt;&lt;CHOOSE=&lt;AIC | AICC | SBC&gt;&gt;&lt;METHOD=&lt;BACKWARD | FORWARD | FORWARDSWAP&gt;... &gt; ...\",\"arguments\":[{\"name\":\"ADAPTIVE=\",\"optional\":true,\"description\":\"Applies adaptive weights to each of the coefficients when METHOD=LASSO. Ordinary least squares estimates of the model parameters are used to form the adaptive weights. You use the GAMMA= option to specify the power transformation that is applied to the parameters in forming the adaptive weights. By default, GAMMA=1.\",\"help\":\"ADAPTIVE=GAMMA=\",\"type\":\"choice\",\"arguments\":[{\"name\":\"GAMMA=\",\"type\":\"value\"}]},{\"name\":\"CHOOSE=\",\"optional\":true,\"description\":\"Chooses from the list of models (at each step of the selection process) the model that yields the best value of the specified criterion.\",\"help\":\"CHOOSE=AIC | AICC | SBC\",\"type\":\"choice\",\"arguments\":[{\"name\":\"AIC\",\"description\":\"Specifies Akaike’s information criterion.\",\"type\":\"standalone\"},{\"name\":\"AICC\",\"description\":\"Specifies the corrected Akaike’s information criterion.\",\"type\":\"standalone\"},{\"name\":\"SBC\",\"description\":\"Specifies the Schwarz Bayesian information criterion.\",\"type\":\"standalone\"}]},{\"name\":\"COMPETITIVE\",\"optional\":true,\"description\":\"[method-option to be enclosed in parenthesis] Is applicable as a method-option only when METHOD=STEPWISE. If you specify the COMPETITIVE option, then the SELECT= criterion is evaluated for all models in which an effect currently in the model is dropped or an effect not yet in the model is added.\",\"type\":\"standalone\"},{\"name\":\"DETAILS=\",\"optional\":true,\"description\":\"Specifies the level of detail to be produced about the selection process. The default is DETAILS= SUMMARY.\",\"help\":\"DETAILS=SUMMARY | STEPS | ALL | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"SUMMARY\",\"description\":\"Produces a summary table that shows the effect that is added or removed at each step along with the criteria specified in the SELECT=, CHOOSE=, and STOP= method-options. The summary table is produced by default if you do not specify the DETAILS= option.\",\"type\":\"standalone\"},{\"name\":\"STEPS\",\"description\":\"Syntax: DETAILS=STEPS<(CANDIDATES(ALL | n))> Produces the preceding summary table and displays the results from fitting each model at each step. If you specify STEPS(CANDIDATES(n)), then the best n candidates are shown. If you specify STEPS(CANDIDATES(ALL)), then all candidates are shown.\",\"type\":\"standalone\"},{\"name\":\"ALL\",\"description\":\"Produces the preceding tables and a detailed listing of all candidates at each step along with their ranking in terms of the selection criterion for addition to or removal from the model.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"Specifies that no details be produced about the selection process.\",\"type\":\"standalone\"}]},{\"name\":\"FAST\",\"optional\":true,\"description\":\"[method-option to be enclosed in parenthesis] Implements the computational algorithm of Lawless and Singhal (1978) to compute a first-order approximation to the remaining slope estimates for each subsequent elimination of a variable from the model. When applied in backward selection, this option essentially leads to approximating the selection process as the selection process of a linear regression model in which the crossproducts matrix equals the Hessian matrix in the full model under consideration. This option is available only when METHOD=BACKWARD is specified. It is computationally efficient because the model is not fit after removal of each effect.\",\"type\":\"standalone\"},{\"name\":\"HIERARCHY=\",\"optional\":true,\"description\":\"Specifies whether and how the model hierarchy requirement is applied. You can specify that only classification effects, or both classification and continuous effects, be subject to the hierarchy requirement. This option is ignored unless you also specify one of the following options: METHOD=FORWARD, METHOD=BACKWARD, or METHOD=STEPWISE.\",\"help\":\"HIERARCHY=NONE | SINGLE | SINGLECLASS\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NONE\",\"description\":\"Specifies that model hierarchy not be maintained. Any single effect can enter or leave the model at any step of the selection process.\",\"type\":\"standalone\"},{\"name\":\"SINGLE\",\"description\":\"Specifies that only one effect enter or leave the model at one time, subject to the model hierarchy requirement.\",\"type\":\"standalone\"},{\"name\":\"SINGLECLASS\",\"description\":\"Is the same as HIERARCHY=SINGLE except that only CLASS effects are subject to the hierarchy requirement.\",\"type\":\"standalone\"}]},{\"name\":\"LSCOEFFS\",\"optional\":true,\"description\":\"[method-option to be enclosed in parenthesis] Requests a hybrid version of the LAR and LASSO methods, in which the sequence of models is determined by the LAR or LASSO algorithm but the coefficients of the parameters for the model at any step are determined by using ordinary least squares.\",\"type\":\"standalone\"},{\"name\":\"MAXEFFECTS=\",\"optional\":true,\"description\":\"Specifies the maximum number of effects in any model that is considered during the selection process. This option is ignored when METHOD=BACKWARD is specified.\",\"help\":\"MAXEFFECTS=*n*\",\"type\":\"value\"},{\"name\":\"MAXSTEPS=\",\"optional\":true,\"description\":\"Specifies the maximum number of selection steps that are performed. The default value of n is the number of effects in the SCALEMODEL or MODEL statement when METHOD=FORWARD or METHOD=BACKWARD.\",\"help\":\"MAXSTEPS=*n*\",\"type\":\"value\"},{\"name\":\"METHOD=\",\"optional\":true,\"aliases\":[\"SELECTION=\"],\"description\":\"Specifies the selection method to use.\",\"help\":\"METHOD=BACKWARD | FORWARD | FORWARDSWAP | STEPWISE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"BACKWARD\",\"description\":\"Specifies the backward elimination method.\",\"type\":\"standalone\"},{\"name\":\"FORWARD\",\"description\":\"Specifies the forward selection method.\",\"type\":\"standalone\"},{\"name\":\"FORWARDSWAP\",\"description\":\"Specifies forward-swap selection, which is an extension of the forward selection method.\",\"type\":\"standalone\"},{\"name\":\"STEPWISE\",\"description\":\"specifies the stepwise regression method.\",\"type\":\"standalone\"}]},{\"name\":\"MINEFFECTS=\",\"optional\":true,\"description\":\"Specifies the minimum number of effects in any model that is considered during backward selection. This option is ignored unless METHOD=BACKWARD is specified.\",\"help\":\"MINEFFECTS=*n*\",\"type\":\"value\"},{\"name\":\"ORDERSELECT\",\"optional\":true,\"description\":\"Specifies that effects in the selected model are displayed in the order in which they first entered the model. If you do not specify the ORDERSELECT option, then effects in the selected model are displayed in the order in which they appear in the MODEL statement.\",\"type\":\"standalone\"},{\"name\":\"PLOT=\",\"optional\":true,\"aliases\":[\"PLOTS=\"],\"description\":\"Controls the selection process plots that are produced through ODS Graphics. Each global-plot-option applies to all plots that the SELECTION statement generates, unless you alter the option by using a specific plot option that follows a plot-request. You can specify the following global-plot-options:\",\"help\":\"PLOT=ALL | COEFFICIENTS | CRITERIA | FITBYROLE  | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ALL\",\"description\":\"produces all relevant plots.\",\"type\":\"standalone\"},{\"name\":\"COEFFICIENTS\",\"description\":\"Syntax: COEFFICIENTS | COEFFICIENTPANEL <(UNPACK | UNPACKPANEL)> Creates a panel of two plots. The upper plot shows the progression of the parameter values as the selection process proceeds. The lower plot shows the progression of the CHOOSE= criterion.\",\"type\":\"standalone\"},{\"name\":\"CRITERIA\",\"description\":\"Syntax: CRITERIA | CRITERIONPANEL <(UNPACK | UNPACKPANEL)> Creates a panel of model fit criteria. If you specify the UNPACK option, then each criterion progression is shown in a separate plot.\",\"type\":\"standalone\"},{\"name\":\"FITBYROLE\",\"description\":\"Plots the progression of a fit statistic on the training, test, and validation data. The fit statistic that is displayed depends on the type of model that is being fit. The fit by role plot is not produced if you do not specify a PARTITION statement.\",\"help\":\"FITBYROLE \",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"Suppress all selection process plots, even if you specify other plot options.\",\"type\":\"standalone\"}]},{\"name\":\"SELECT=\",\"optional\":true,\"aliases\":[\"CRITERION=\"],\"description\":\"Specifies the criterion that the procedure uses to determine the order in which effects enter or leave at each step of the selection method. For each step, the effect whose addition to or removal from the current model yields the maximum improvement in the specified criterion is selected. You can use the traditional significance-level approach by specifying the SL criterion; for other supported criteria, see the chapter for the relevant procedure. This option is not valid when METHOD=LAR or METHOD=LASSO.\",\"help\":\"SELECT=AIC | AICC | SBC\",\"type\":\"choice\",\"arguments\":[{\"name\":\"AIC\",\"description\":\"Specifies Akaike’s information criterion.\",\"type\":\"standalone\"},{\"name\":\"AICC\",\"description\":\"Specifies the corrected Akaike’s information criterion.\",\"type\":\"standalone\"},{\"name\":\"SBC\",\"description\":\"Specifies the Schwarz Bayesian information criterion.\",\"type\":\"standalone\"}]},{\"name\":\"SLENTRY=\",\"optional\":true,\"aliases\":[\"SLE=\"],\"description\":\"Specifies the significance level for entry when STOP=SL or SELECT=SL. By default, SLENTRY=0.05.\",\"type\":\"value\"},{\"name\":\"SLSTAY=\",\"optional\":true,\"aliases\":[\"SLS=\"],\"description\":\"Specifies the significance level for staying in the model when STOP=SL or SELECT=SL.\",\"type\":\"value\"},{\"name\":\"STOP=\",\"optional\":true,\"description\":\"Specifies a criterion that is used to stop the selection process.\",\"help\":\"STOP=SL | NONE | &lt;*criterion*&gt;\",\"type\":\"choice\",\"arguments\":[{\"name\":\"SL\",\"description\":\"Stops the selection process at the step where the significance level of the candidate for entry is greater than the SLENTRY= value for addition steps when METHOD=FORWARD or METHOD=STEPWISE and where the significance level of the candidate for removal is greater than the SLSTAY= value when METHOD=BACKWARD or METHOD=STEPWISE.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"Stops the selection process if no suitable add or drop candidates can be found or if a size-based limit is reached.\",\"type\":\"standalone\"},{\"name\":\"criterion\",\"placeholder\":true,\"description\":\"Stops the selection process if the selection process produces a local extremum of this criterion or if a size-based limit is reached.\",\"type\":\"value\"}]},{\"name\":\"STOPHORIZON=\",\"optional\":true,\"description\":\"Specifies the number of consecutive steps at which the STOP= criterion must worsen in order for a local extremum to be detected. The stop horizon value is ignored if you also specify STOP=NONE or STOP=SL. For example, suppose that STOP=AIC and the sequence of AIC values at steps 1 to 6 of a selection are 10, 7, 4, 6, 5, 2. If STOPHORIZON=2, then the AIC criterion is deemed to have a local minimum at step 3 because the AIC value at the next two steps are greater than the value 4 that occurs at step 3. However, if STOPHORIZON=3, then the value at step 3 is not deemed to be a local minimum because the AIC value at step 6 is lower than the AIC value at step 3. When METHOD=LAR or METHOD=LASSO, n is ignored and STOPHORIZON=1 is used. By default, STOPHORIZON=3.\",\"help\":\"STOPHORIZON=*n*\",\"type\":\"value\"}]},{\"name\":\"WEIGHT\",\"description\":\"The variable in the WEIGHT statement is used as a weight to perform a weighted analysis of the data. Observations with nonpositive or missing weights are not included in the analysis. If a WEIGHT statement is not included, all observations used in the analysis are assigned a weight of 1.\",\"help\":\"WEIGHT variable\"}],\"supportSiteInformation\":{\"docsetId\":\"statug\",\"docsetVersion\":\"latest\",\"docsetTargetFile\":\"statug_hpreg_toc.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/HPSAMPLE.json",
    "content": "{\"name\":\"HPSAMPLE\",\"statements\":[{\"name\":\"PROC HPSAMPLE\",\"description\":\"The HPSAMPLE procedure is a high-performance procedure that performs either simple random sampling or stratified sampling. The HPSAMPLE procedure creates the following: † • one output data set, which contains the sample data set • one performance table, which contains performance information • one frequency table, which contains the frequency information for the population and sample † The HPSAMPLE procedure is high-performance in that it takes advantage of distributed computing environments (currently only using single thread) when the input data is stored on the SAS appliance.\",\"help\":\"PROC HPSAMPLE DATA=< libref. >SAS-data-set or database table <NONORM> OUT=< libref. >SAS-data-set <PARTITION> SAMPOBS=number of sample observations SAMPPCT=sample percentage <SEED=random seed>;     \\n\\tCLASS variable < variable ... variable > ;\\n\\n\\tPERFORMANCE <COMMIT=n><CPUCOUNT=<ACTUAL | <num>>><DATASERVER=“name”> ...;\\n\\n\\tTARGET variable < variable ... variable > ;\\n\\n\\tVAR variable < variable ... variable > ;\\n\",\"arguments\":[{\"name\":\"DATA=\",\"description\":\"Names the table (SAS data set or database table) that you want to sample from. The default is the most recently created data set. If the data are already distributed, the procedure reads the data alongside the distributed database.\",\"help\":\"DATA=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"OUT=\",\"description\":\"Names the SAS data set that you want to output the sample to. If you run alongside database, you need to specify a dataset with the same database libname as the input data and make sure it does not exist in the database before.\",\"help\":\"OUT=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"SAMPOBS=\",\"description\":\"Names the minimal number of observations you want to sample from the input data. It must be a positive integer. If it exceeds the total number of observations in the input data, you get the original dataset in the output sample.\",\"type\":\"value\"},{\"name\":\"SAMPPCT=\",\"description\":\"Names sample percentage to be used by PROC HPSAMPLE. It should be a positive number which is less than 100. For example, SAMPPCT=50.5 specifies that you want to sample 50.5 percent of data.\",\"type\":\"value\"},{\"name\":\"NONORM\",\"optional\":true,\"description\":\"Enables you to distinguish target values which share the same normalized value when you do stratified sampling. For example, a target has three distinct values “A”, “B” and “b”, and you want to treat “B” and “b” as different levels, you need to use NONORM; By default, “B” and “b” are treated as the same level. A value is normalized by: 1. Removing leading blanks; 2. Truncating to 32 characters; 3. Changing lowercase letters to uppercase.\",\"type\":\"standalone\"},{\"name\":\"PARTITION\",\"optional\":true,\"description\":\"Enables you to get an output dataset with the same number of rows as the input dataset but with an additional partition indicator(_PARTIND_), indicating whether an observation is selected to the sample(1) or not(0).\",\"type\":\"standalone\"},{\"name\":\"SEED=\",\"optional\":true,\"description\":\"specifies the seed for the random number generator. If it is not specified or specified as a negative number, the seed is set to be the default 12345. The seed option enables you to reproduce same sample output.\",\"type\":\"value\"}]},{\"name\":\"CLASS\",\"description\":\"The CLASS statement specifies one or more classification variables to be included in the sample. At least one variable is required. A variable can be character or numeric. The CLASS and VAR statements are mutually exclusive. NOTE: Each variable in the TARGET statement must be specified in the CLASS statement.\",\"help\":\"CLASS variable &lt; variable ... variable &gt; \"},{\"name\":\"PERFORMANCE\",\"description\":\"The PERFORMANCE statement defines performance parameters for multithreaded and distributed computing, passes variables about the distributed computing environment, and requests detailed results about the performance characteristics of a SAS High-Performance Analytics procedure. With the PERFORMANCE statement you can also control whether a SAS High-Performance Analytics procedure executes in symmetric multiprocessor (SMP) or massively parallel processor (MPP) mode. Note: Proc HPSAMPLE does not support multi-threading in this release.\",\"help\":\"PERFORMANCE &lt;COMMIT=n&gt;&lt;CPUCOUNT=&lt;ACTUAL | &lt;num&gt;&gt;&gt;&lt;DATASERVER=“name”&gt; ...\",\"arguments\":[{\"name\":\"COMMIT=\",\"optional\":true,\"description\":\"Requests that the High-Performance Analytics procedure write periodic updates to the SAS Log when observations are sent from the client to the appliance for distributed processing.\",\"help\":\"COMMIT=*n*\",\"type\":\"value\"},{\"name\":\"CPUCOUNT=\",\"optional\":true,\"description\":\"Specifies how many processors the procedure assumes are available on each host in the computing environment. num can be any integer from 1 to 256. CPUCOUNT=ACTUAL sets CPUCOUNT to the number of physical processors available. This number can be less than the physical number of CPUs if the SAS process has been restricted by system administration tools. Setting CPUCOUNT= to a number greater than the actual number of available CPUs might result in reduced performance. This option overrides the CPUCOUNT= SAS system option.\",\"help\":\"CPUCOUNT=ACTUAL | &lt;*num*&gt;\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ACTUAL\",\"description\":\"Sets CPUCOUNT to the number of physical processors available. This number can be less than the physical number of CPUs if the SAS process has been restricted by system administration tools.\",\"type\":\"standalone\"},{\"name\":\"num\",\"placeholder\":true,\"description\":\"Replace <num> with an actual number. Setting CPUCOUNT= to a number greater than the actual number of available CPUs might result in reduced performance. This option overrides the CPUCOUNT= SAS system option.\",\"type\":\"standaloneOrValue\"}]},{\"name\":\"DATASERVER=\",\"optional\":true,\"description\":\"Specifies the name of the server on Teradata systems as defined through the hosts file and as used in the LIBNAME statement for Teradata. For example, if the hosts file defines myservercop1 33.44.55.66 as the server for Teradata, then a LIBNAME specification would be as follows: libname TDLib teradata server=myserver user= password= database= ; A PERFORMANCE statement to induce running alongside the Teradata server would specify the following:\",\"type\":\"value\"},{\"name\":\"DETAILS\",\"optional\":true,\"description\":\"Requests a table that shows a timing breakdown of the procedure steps.\",\"type\":\"standalone\"},{\"name\":\"HOST=\",\"optional\":true,\"aliases\":[\"GRIDHOST=\"],\"description\":\"Specifies the name of the appliance host in single or double quotes. If the HOST= option is specified, it overrides the value of the GRIDHOST environment variable.\",\"type\":\"value\"},{\"name\":\"INSTALL=\",\"optional\":true,\"aliases\":[\"INSTALLLOC=\"],\"description\":\"Specifies the directory in which the High-Performance Analytics shared libraries are installed on the appliance. Specifying the INSTALL= option overrides the GRIDINSTALLLOC environment variable.\",\"type\":\"value\"},{\"name\":\"NODES=\",\"optional\":true,\"aliases\":[\"NNODES=\"],\"description\":\"Specifies the number of nodes in the distributed computing environment, provided that the data are not processed alongside the database.\",\"type\":\"value\"},{\"name\":\"NTHREADS=\",\"optional\":true,\"description\":\"Specifies the number of threads for analytic computations and overrides the SAS system option THREADS | NOTHREADS. If you do not specify the NTHREADS= option, the number of threads are determined based on the number of CPUs on the host on which the analytic computations execute. The algorithm by which a CPU count is converted to a thread count is specific to the High- Performance Analytics procedure. Most procedures create one thread per CPU for the analytic computations. By default, High-Performance Analytics procedures execute in multiple concurrent threads unless turned off by the NOTHREADS system option or you force single-threaded execution with NTHREADS=1. The largest number that can be specified for n is 256. Individual High-Performance Analytics procedures can impose more stringent limits if called for by algorithmic considerations. You can affect the determination of the CPU count with the CPUCOUNT= option in the PERFORMANCE statement.\",\"help\":\"NTHREADS=*n*\",\"type\":\"value\"},{\"name\":\"TIMEOUT=\",\"optional\":true,\"description\":\"Specifies the timeout in seconds for a High-Performance Analytics procedure to wait for a connection to the appliance and establish a connection back to the client. The default is s=120 seconds. If jobs are submitted to the appliance through workload management tools that might suspend access to the appliance for a longer period, you might want to increase the timeout value.\",\"help\":\"TIMEOUT=*s*\",\"type\":\"value\"}]},{\"name\":\"TARGET\",\"description\":\"The TARGET statement specifies one or two classification variables to be used for stratificaiton. Each variable must be specified in the CLASS statement. Currently up to two target variables are supported. The maximum number of levels (that is, distinct values) in any target variable is 256.\",\"help\":\"TARGET variable &lt; variable ... variable &gt; \"},{\"name\":\"VAR\",\"description\":\"The VAR statement specifies one or more numeric variables to be included in the sample. At least one variable is required; all variables must be numeric. You can use this statement to include only the variables of interests in your sample. The CLASS and VAR statements are mutually exclusive.\",\"help\":\"VAR variable &lt; variable ... variable &gt; \"}],\"supportSiteInformation\":{\"docsetId\":\"prochp\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"prochp_hpsample_toc.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/HPSEVERITY.json",
    "content": "{\"name\":\"HPSEVERITY\",\"statements\":[{\"name\":\"PROC HPSEVERITY\",\"description\":\"The HPSEVERITY procedure estimates parameters of any arbitrary continuous probability distribution that is used to model the magnitude (severity) of a continuous-valued event of interest. Some examples of such events are loss amounts paid by an insurance company and demand of a product as depicted by its sales. PROC HPSEVERITY is especially useful when the severity of an event does not follow typical distributions, such as the normal distribution, that are often assumed by standard statistical methods. † PROC HPSEVERITY provides a default set of probability distribution models that includes the Burr, exponential, gamma, generalized Pareto, inverse Gaussian (Wald), lognormal, Pareto, Tweedie, and Weibull distributions. In the simplest form, you can estimate the parameters of any of these distributions by using a list of severity values that are recorded in a SAS data set. PROC HPSEVERITY computes the estimates of the model parameters, their standard errors, and their covariance structure by using the maximum likelihood method. † PROC HPSEVERITY can fit multiple distributions at the same time and choose the best distribution according to a specified selection criterion. Four different statistics of fit can be used as selection criteria. They are log likelihood, Akaike’s information criterion (AIC), corrected Akaike’s information criterion (AICC), and Schwarz Bayesian information criterion (BIC). † You can request the procedure to output the status of the estimation process, the parameter estimates and their standard errors, the estimated covariance structure of the parameters, and the statistics of fit.\",\"help\":\"PROC HPSEVERITY <COVOUT><CRITERION | CRITERIA | CRIT=criterion-option><DATA=SAS-data-set><EDFALPHA=confidence-level><EMPIRICALCDF | EDF=method><INEST=SAS-data-set><INITSAMPLE (initsample-option) | INITSAMPLE (initsample-option . . . initsample-option)><INSTORE=store-name><NAMELEN=number><NOCLPRINT< =number >><NOPRINT><OBJECTIVE=symbol-name><OUTCDF=SAS-data-set><OUTEST=SAS-data-set><OUTMODELINFO=SAS-data-set><OUTSTAT=SAS-data-set><OUTSTORE=store-name><PLOTS=ALL | NONE | CDF... ><PRINT=ALL | ALLFITSTATS | CONVSTATUS... ><VARDEF=DF | N>;     \\n\\tABORT <ABEND><CANCEL><CANCEL FILE> ...;\\n\\n\\tARRAY <_ALL_><_NUMERIC_><_TEMPORARY_> ...;\\n\\n\\tATTRIB <FORMAT=format><INFORMAT=informat><LABEL='label'> ...;\\n\\n\\tBY <DESCENDING><NOTSORTED> ;\\n\\n\\tCALL routine(parameter-1<, ...parameter-n>);\\n\\n\\tCLASS <DESCENDING><ORDER=<DATA | FORMATTED | FREQ>... ><REF=<<'level'> | FIRST | LAST>> ...;\\n\\n\\tCONTINUE;\\n\\n\\tDELETE;\\n\\n\\tDESCRIBE;\\n\\n\\tDISPLAY <BELL><BLANK><NOINPUT> ...;\\n\\n\\tDIST _ALL_ _PREDEFINED_ _USER_ ...;\\n\\n\\tDO <OVER><><> ...;\\n\\n\\t;\\n\\n\\t;\\n\\n\\tDROP variable-list;\\n\\n\\tELSE <DO><IF><THEN> ...;\\n\\n\\tEND;\\n\\n\\tENDRSUBMIT;\\n\\n\\tERROR <message>;\\n\\n\\tEXECUTE;\\n\\n\\tFILE <DISK><DUMMY><LOG> ...;\\n\\n\\tFORMAT <DEFAULT=default-format> ;\\n\\n\\tGO TO label | GOTO label;\\n\\n\\tIF <DO><THEN><WHEN> ...;\\n\\n\\tINFILE <DATALINES4><DATALINES><DISK> ...;\\n\\n\\tINFORMAT <DEFAULT= default-informat> ;\\n\\n\\tINPUT <specification(s)><@|@@>;\\n\\n\\tKEEP variable-list;\\n\\n\\t;\\n\\n\\tLEAVE;\\n\\n\\tLENGTH <DEFAULT=n> ;\\n\\n\\tLINK label;\\n\\n\\tLIST;\\n\\n\\tLOCK <CLEAR><LIST> ;\\n\\n\\tLOSS <LEFTCENSORED | LC=variable-name><LEFTTRUNCATED | LT=variable-name><RIGHTCENSORED | RC=variable-name> ...;\\n\\n\\tMERGE <ALTER=><BUFNO=<n | nK | hexX>... ><END=variable> ...;\\n\\n\\tMISSING character(s);\\n\\n\\tMODIFY <END=variable><KEY=index><NOBS=variable> ...;\\n\\n\\tNLOPTIONS <ABSCONV= | ABSTOL=r><ABSFCONV=r[n] | ABSFTOL=r[n><ABSGCONV=r[n] | ABSGTOL=r[n> ...;\\n\\n\\tOTHERWISE <DO> ;\\n\\n\\tOUTPUT<data-set-name(s)>;\\n\\n\\tOUTSCORELIB <COMMONPACKAGE><OUTBYID=SAS-data-set><OUTLIB=fcmp-library-name> ...;\\n\\n\\tPAGE;\\n\\n\\tPERFORMANCE <COMMIT=n><CPUCOUNT=<ACTUAL | <num>>><DATASERVER=“name”> ...;\\n\\n\\tPUT <_ALL_><_INFILE_><_ODS_> ...;\\n\\n\\tPUTLOG 'message';\\n\\n\\tRENAME old-name-1=new-name-1 ... <old-name-n=new-name-n>;\\n\\n\\tREPLACE <data-set-name-1><...data-set-name-n>;\\n\\n\\tRETAIN <element-list(s) <initial-value(s) |;\\n\\n\\tRETURN;\\n\\n\\tRSUBMIT <options>; ENDRSUBMIT <CANCEL>;\\n\\n\\tSCALEMODEL <DFMIXTURE=<FULL | MEAN | QUANTILE>... ><OFFSET=offset-variable-name> ;\\n\\n\\t;\\n\\n\\tSET <END=variable><INDSNAME=variable><KEY=index</UNIQUE>> ...;\\n\\n\\tSKIP <n>;\\n\\n\\tSTOP;\\n\\n\\tWEIGHT variable-name ;\\n\\n\\tWHEN <DO> ;\\n\\n\\tWHERE where-expression-1;\\n\",\"arguments\":[{\"name\":\"COVOUT\",\"optional\":true,\"description\":\"Specifies that the OUTEST= data set contain the estimate of the covariance structure of the parameters. This option has no effect if the OUTEST= option is not specified.\",\"type\":\"standalone\"},{\"name\":\"CRITERION=\",\"optional\":true,\"aliases\":[\"CRITERIA=\",\"CRIT=\"],\"description\":\"Specifies the model selection criterion.\",\"type\":\"value\"},{\"name\":\"DATA=\",\"optional\":true,\"description\":\"Names the input data set. If the DATA= option is not specified, then the most recently created SAS data set is used.\",\"help\":\"DATA=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"EDFALPHA=\",\"optional\":true,\"description\":\"Specifies the confidence level in the (0,1) range that is used for computing the confidence intervals for the EDF estimates. The lower and upper confidence limits that correspond to this level are reported in the OUTCDF= data set, if specified, and are displayed in the plot that is created when you specify the PLOTS=CDFPERDIST option.\",\"help\":\"EDFALPHA=*confidence-level*\",\"type\":\"value\"},{\"name\":\"EMPIRICALCDF=\",\"optional\":true,\"aliases\":[\"EDF=\"],\"description\":\"Specifies the method to use for computing the nonparametric or empirical estimate of the cumulative distribution function of the data.\",\"help\":\"EMPIRICALCDF=ENSUREMLE | EPS= | MAXITER= | ZEROPROB= | ALPHA= | A= | C= | RSLB=\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ENSUREMLE\",\"type\":\"standalone\"},{\"name\":\"EPS=\",\"type\":\"value\"},{\"name\":\"MAXITER=\",\"type\":\"value\"},{\"name\":\"ZEROPROB=\",\"type\":\"value\"},{\"name\":\"ALPHA=\",\"type\":\"value\"},{\"name\":\"A=\",\"type\":\"value\"},{\"name\":\"C=\",\"type\":\"value\"},{\"name\":\"RSLB=\",\"type\":\"value\"}]},{\"name\":\"INEST=\",\"optional\":true,\"description\":\"Names the input data set that contains the initial values of the parameter estimates to start the optimization process. The initial values specified in the INIT= option in the DIST statement take precedence over any initial values specified in this data set.\",\"help\":\"INEST=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"INITSAMPLE=\",\"optional\":true,\"description\":\"Specifies that a sample of the input data be used for the computation of empirical distribution function (EDF) estimates. When you do not specify initial values for the distribution parameters, PROC HPSEVERITY computes the EDF estimates as part of the default method for parameter initialization. The EDF estimation can be expensive, especially when you specify censoring or truncation effects for the loss variable. Furthermore, it is not amenable to parallelism due to the sequential nature of the algorithm for truncation effects. You can specify that only a fraction of the input data be used in order to reduce the time taken to compute the EDF estimates. PROC HPSEVERITY uses uniform random sampling method to prepare the sample, the size and randomness of which is controlled by the following initsample-options:\",\"help\":\"INITSAMPLE=FRACTION= | SEED= | SIZE=\",\"type\":\"choice\",\"arguments\":[{\"name\":\"FRACTION=\",\"type\":\"value\"},{\"name\":\"SEED=\",\"type\":\"value\"},{\"name\":\"SIZE=\",\"type\":\"value\"}]},{\"name\":\"INSTORE=\",\"optional\":true,\"description\":\"Names the item store that contains the context and results of the severity model estimation process. An item store has a binary file format that cannot be modified. You must specify an item store that you have created in another PROC SEVERITY step by using the OUTSTORE= option.\",\"help\":\"INSTORE=*store-name*\",\"type\":\"value\"},{\"name\":\"NAMELEN=\",\"optional\":true,\"description\":\"Specifies the length to which long regression effect names are shortened. The default and minimum value is 20.\",\"help\":\"NAMELEN=*number*\",\"type\":\"value\"},{\"name\":\"NOCLPRINT\",\"optional\":true,\"description\":\"Suppresses the display of the “Class Level Information” table if you do not specify number. If you specify number, the values of the classification variables are displayed for only those variables whose number of levels is less than number. Specifying a number helps to reduce the size of the “Class Level Information” table if some classification variables have a large number of levels. This option has no effect if you do not specify the CLASS statement.\",\"type\":\"standalone\"},{\"name\":\"NOPRINT\",\"optional\":true,\"description\":\"Turns off all displayed output. If specified, any value specified for the PRINT= option is ignored.\",\"type\":\"standalone\"},{\"name\":\"OBJECTIVE=\",\"optional\":true,\"description\":\"Names the symbol that represents the objective function in the specified SAS programming statements. For each model to be estimated, PROC HPSEVERITY executes the programming statements to compute the value of this symbol for each observation. The values are added across all observations to obtain the value of the objective function. The optimization algorithm estimates the model parameters such that the objective function value is minimized. A separate optimization problem is solved for each candidate distribution.\",\"help\":\"OBJECTIVE=*symbol-name*\",\"type\":\"value\"},{\"name\":\"OUTCDF=\",\"optional\":true,\"description\":\"Names the output data set to contain estimates of the cumulative distribution function (CDF) value at each of the observations. The information is output for each specified model whose parameter estimation process converges. The data set also contains the estimates of the empirical distribution function (EDF). Details of the variables in this data set are provided in the section OUTCDF= Data Set.\",\"help\":\"OUTCDF=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"OUTEST=\",\"optional\":true,\"description\":\"Names the output data set to contain estimates of the parameter values and their standard errors for each model whose parameter estimation process converges.\",\"help\":\"OUTEST=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"OUTMODELINFO=\",\"optional\":true,\"description\":\"Names the output data set to contain the status of each fitted model. The status information includes the convergence status of the optimization process that is used to estimate the parameters, the status of estimating the covariance matrix, and whether a model is the best according to the specified selection criterion.\",\"help\":\"OUTMODELINFO=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"OUTSTAT=\",\"optional\":true,\"description\":\"Names the output data set to contain the values of statistics of fit for each model whose parameter estimation process converges.\",\"help\":\"OUTSTAT=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"OUTSTORE=\",\"optional\":true,\"description\":\"Names the item store to contain the context and results of the severity model estimation process. The resulting item store has a binary file format that cannot be modified. You can specify this item store in a subsequent PROC SEVERITY step by using the INSTORE= option.\",\"help\":\"OUTSTORE=*store-name*\",\"type\":\"value\"},{\"name\":\"PLOTS=\",\"optional\":true,\"description\":\"[Syntax:PLOTS < (global-plot-options) > < =plot-request-option > PLOTS < (global-plot-options) > < =(plot-request-option . . . plot-request-option) >] Specifies s the desired graphical output. The graphical output is created only when you run PROC HPSEVERITY in single-machine mode. If you specify more than one global-plot-option, then separate them with spaces and enclose them in parentheses. If you specify more than one plot-request-option, then separate them with spaces and enclose them in parentheses. You can specify the following global-plot-options: HISTOGRAM plots the histogram of the response variable on the PDF plots.\",\"help\":\"PLOTS=ALL | NONE | CDF | CDFPERDIST | CONDITIONALPDF | CONDITIONALPDFPERDIST | PDF | PDFPERDIST | PP | QQ\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ALL\",\"description\":\"Creates all the graphical output.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"Creates none of the graphical output. If you specify this option, then it overrides all the other plot-request-options. The default graphical output is also suppressed.\",\"type\":\"standalone\"},{\"name\":\"CDF\",\"description\":\"Creates a plot that compares the cumulative distribution function (CDF) estimates of all the candidate distribution models to the empirical distribution function (EDF) estimate. The plot does not contain CDF estimates for models whose parameter estimation process does not converge.\",\"type\":\"standalone\"},{\"name\":\"CDFPERDIST\",\"description\":\"creates a plot of the CDF estimates of each candidate distribution model. A plot is not created for models whose parameter estimation process does not converge.\",\"type\":\"standalone\"},{\"name\":\"CONDITIONALPDF\",\"description\":\"Syntax: CONDITIONALPDF < (cpdf-options) > | CONDPDF < (cpdf-options) > creates a plot that compares the conditional PDF estimates of all the candidate distribution models. You can specify the following cpdf-options to control how the values of L and R are computed and which regions are displayed: LEFTQ | LEFT | L=number specifies the CDF value, between 0 and 1, to mark the end of the left-tail region. RIGHTQ | RIGHT | R=number specifies the CDF value, between 0 and 1, to mark the start of the right-tail region. QUANTILEBOUNDS specifies that the region boundaries be computed by using the estimated quantile functions of individual distributions. SHOWREGION | SHOW=region-option | SHOWREGION | SHOW=(region-options) specifies the regions to display in the plot. You can specify any combination of the following region-options: CENTER | C specifies that the center region, which is the region between the end of the left-tail and the beginning of the right-tail, be shown. LEFT | L specifies that the left-tail region of the plot be shown. RIGHT | R specifies that the right-tail region of the plot be shown.\",\"type\":\"standalone\"},{\"name\":\"CONDITIONALPDFPERDIST\",\"description\":\"Syntax: CONDITIONALPDFPERDIST < (cpdf-options) > | CONDPDFDIST < (cpdf-options) > creates a plot of the conditional PDF estimates of each candidate distribution model. A plot is not created for models whose parameter estimation process does not converge. The cpdf-options are identical to those listed for the CONDITIONALPDF plot option, except that they are interpreted in the context of each candidate distribution individually. You can specify different set of values for the cpdf-options in the CONDITIONALPDFPERDIST option than the values you specify in the CONDITIONALPDF option.\",\"type\":\"standalone\"},{\"name\":\"PDF\",\"description\":\"Creates a plot that compares the probability density function (PDF) estimates of all the candidate distribution models. The plot does not contain PDF estimates for models whose parameter estimation process does not converge.\",\"type\":\"standalone\"},{\"name\":\"PDFPERDIST\",\"description\":\"Creates a plot of the PDF estimates of each candidate distribution model. A plot is not created for models whose parameter estimation process does not converge.\",\"type\":\"standalone\"},{\"name\":\"PP\",\"description\":\"Creates the probability-probability plot (known as the P-P plot), which compares the CDF estimate of each candidate distribution model to the empirical distribution function (EDF). The data that are shown in this plot are used for computing the EDF-based statistics of fit.\",\"type\":\"standalone\"},{\"name\":\"QQ\",\"description\":\"Creates the quantile-quantile plot (known as the Q-Q plot), which compares the empirical quantiles to the quantiles of each candidate distribution model.\",\"type\":\"standalone\"}]},{\"name\":\"PRINT=\",\"optional\":true,\"description\":\"[Syntax: PRINT < (global-display-option) > < =display-option > | PRINT < (global-display-option) > < = (display-option . . . display-option) >] Specifies s the desired displayed output. If you specify more than one display-option, then separate them with spaces and enclose them in parentheses. You can specify the following global-display-option:\",\"help\":\"PRINT=ALL | ALLFITSTATS | CONVSTATUS | DESCSTATS | DISTINFO | ESTIMATES | ESTIMATIONDETAILS | INITIALVALUES | NLOHISTORY | NLOSUMMARY | SELECTION | STATISTICS | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ALL\",\"description\":\"Displays all the output.\",\"type\":\"standalone\"},{\"name\":\"ALLFITSTATS\",\"description\":\"Displays the comparison of all the statistics of fit for all the models in one table. The table does not include the models whose parameter estimation process does not converge.\",\"type\":\"standalone\"},{\"name\":\"CONVSTATUS\",\"description\":\"Displays the convergence status of the parameter estimation process.\",\"type\":\"standalone\"},{\"name\":\"DESCSTATS\",\"description\":\"Displays the descriptive statistics for the response variable and the regressor variables, if they are specified.\",\"type\":\"standalone\"},{\"name\":\"DISTINFO\",\"description\":\"Displays the information about each specified distribution. For each distribution, the information includes the name, description, validity status, and number of distribution parameters.\",\"type\":\"standalone\"},{\"name\":\"ESTIMATES\",\"aliases\":[\"PARMEST\"],\"description\":\"Displays the final estimates of parameters. The estimates are not displayed for models whose parameter estimation process does not converge.\",\"type\":\"standalone\"},{\"name\":\"ESTIMATIONDETAILS\",\"description\":\"Displays the details of the estimation process for all the models in one table.\",\"type\":\"standalone\"},{\"name\":\"INITIALVALUES\",\"description\":\"Displays the initial values and bounds used for estimating each model.\",\"type\":\"standalone\"},{\"name\":\"NLOHISTORY\",\"description\":\"Displays the iteration history of the nonlinear optimization process used for estimating the parameters.\",\"type\":\"standalone\"},{\"name\":\"NLOSUMMARY\",\"description\":\"Displays the summary of the nonlinear optimization process used for estimating the parameters.\",\"type\":\"standalone\"},{\"name\":\"SELECTION\",\"aliases\":[\"SELECT\"],\"description\":\"Displays the model selection table.\",\"type\":\"standalone\"},{\"name\":\"STATISTICS\",\"aliases\":[\"FITSTATS\"],\"description\":\"Displays the statistics of fit for each model. The statistics of fit are not displayed for models whose parameter estimation process does not converge.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"Displays none of the output. If specified, this option overrides all the other display options. The default displayed output is also suppressed.\",\"type\":\"standalone\"}]},{\"name\":\"VARDEF=\",\"optional\":true,\"description\":\"Specifies the denominator to use for computing the covariance estimates.\",\"help\":\"VARDEF=DF | N*option*\",\"type\":\"value\",\"arguments\":[{\"name\":\"DF\",\"description\":\"Specifies that the number of nonmissing observations minus the model degrees of freedom (number of parameters) be used.\",\"type\":\"standalone\"},{\"name\":\"N\",\"description\":\"Specifies that the number of nonmissing observations be used.\",\"type\":\"standalone\"}]}]},{\"name\":\"ABORT\",\"description\":\"Stops executing the current DATA step, SAS job, or SAS session. n is an integer value that enables you to specify a condition code: o when used with the CANCEL argument, the value is placed in the SYSINFO automatic macro variable o when not used with the CANCEL argument, the error code that is returned by SAS is ERROR. The value of ERROR depends on the operating system. The condition code n is returned to the operating system as the final SAS system exit code.\",\"help\":\"ABORT &lt;ABEND&gt;&lt;CANCEL&gt;&lt;CANCEL FILE&gt; ...\",\"arguments\":[{\"name\":\"n\",\"optional\":true,\"placeholder\":true,\"description\":\"Replace <n> with an actual integer value. n is an integer value that enables you to specify a condition code: o when used with the CANCEL argument, the value is placed in the SYSINFO automatic macro variable o when not used with the CANCEL argument, the error code that is returned by SAS is ERROR. The value of ERROR depends on the operating system. The condition code n is returned to the operating system as the final SAS system exit code.\",\"type\":\"standaloneOrValue\"},{\"name\":\"ABEND\",\"optional\":true,\"description\":\"Causes abnormal termination of the current SAS job or session. Results depend on the method of operation: o batch mode and noninteractive mode o stops processing immediately o sends an error message to the SAS log that states that execution was terminated by the ABEND option of the ABORT macro statement o does not execute any subsequent statements or check syntax o returns control to the operating environment; further action is based on how your operating environment and your site treat jobs that end abnormally. o windowing environment and interactive line mode\",\"type\":\"standalone\"},{\"name\":\"CANCEL\",\"optional\":true,\"description\":\"Causes the cancellation of the current submitted statements. The results depend on the method of operation: o batch mode and noninteractive mode o The entire SAS program and SAS system are terminated. o The error message is written to the SAS log. o windowing environment and interactive line mode o It only clears the current submitted program. o Other subsequent submitted programs are not affected. o The error message is written to the SAS log. o workspace server and stored process server o It only clears currently submitted program. o Other subsequent submit calls are not affected. o The error message is written to the SAS log. o SAS IntrNet application server\",\"help\":\"CANCEL \",\"type\":\"standalone\"},{\"name\":\"CANCEL FILE\",\"optional\":true,\"description\":\"Causes only the contents of the autoexec file or %INCLUDE file to be cleared by the %ABORT statement. Other submitted source statements will be executed after the autoexec or %INCLUDE file.\",\"help\":\"CANCEL FILE \",\"type\":\"standalone\"},{\"name\":\"NOLIST\",\"optional\":true,\"description\":\"Suppresses the output of all variables to the SAS log. Requirement: NOLIST must be the last option in the ABORT statement.\",\"type\":\"standalone\"},{\"name\":\"RETURN\",\"optional\":true,\"description\":\"Causes abnormal termination of the current SAS job or session. Results depend on the method of operation: o batch mode and noninteractive mode o stops processing immediately o sends an error message to the SAS log that states that execution was terminated by the RETURN option in the ABORT macro statement o does not execute any subsequent statements or check syntax o returns control to the operating environment with a condition code indicating an error. o windowing environment and interactive line mode\",\"type\":\"standalone\"}]},{\"name\":\"ARRAY\",\"description\":\"Defines the elements of an array.\",\"help\":\"ARRAY &lt;_ALL_&gt;&lt;_NUMERIC_&gt;&lt;_TEMPORARY_&gt; ...\",\"arguments\":[{\"name\":\"_ALL_\",\"optional\":true,\"description\":\"Specifies all variables.\",\"type\":\"standalone\"},{\"name\":\"_CHARACTER_\",\"optional\":true,\"description\":\"Specifies all character variables.\",\"type\":\"standalone\"},{\"name\":\"_NUMERIC_\",\"optional\":true,\"description\":\"Specifies all numeric variables.\",\"type\":\"standalone\"},{\"name\":\"_TEMPORARY_\",\"optional\":true,\"description\":\"Creates a list of temporary data elements.\",\"type\":\"standalone\"}]},{\"name\":\"ATTRIB\",\"description\":\"Associates a format, informat, label, and length with one or more variables.\",\"help\":\"ATTRIB &lt;FORMAT=format&gt;&lt;INFORMAT=informat&gt;&lt;LABEL='label'&gt; ...\",\"arguments\":[{\"name\":\"FORMAT=\",\"optional\":true,\"description\":\"Associates a format with variables in a variable-list.\",\"help\":\"FORMAT=*format*\",\"type\":\"value\"},{\"name\":\"INFORMAT=\",\"optional\":true,\"description\":\"Associates an informat with variables in a variable-list.\",\"help\":\"INFORMAT=*informat*\",\"type\":\"value\"},{\"name\":\"LABEL=\",\"optional\":true,\"description\":\"Associates a label with variables in a variable-list.\",\"help\":\"LABEL='*label*'\",\"type\":\"value\"},{\"name\":\"LENGTH=\",\"optional\":true,\"description\":\"Specifies the length of variables in a variable-list.\",\"type\":\"value\"},{\"name\":\"TRANSCODE=\",\"optional\":true,\"description\":\"Specifies whether character variables can be transcoded.\",\"help\":\"TRANSCODE=YES | NO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YES\",\"description\":\"Specifies that character variables can be transcoded.\",\"type\":\"standalone\"},{\"name\":\"NO\",\"description\":\"Suppresses transcoding.\",\"type\":\"standalone\"}]}]},{\"name\":\"BY\",\"description\":\"A BY statement can be used in the HPSEVERITY procedure to process the input data set in groups of observations defined by the BY variables. If you specify the BY statement, then PROC SEVERITY expects the input data set to be sorted in the order of the BY variables unless you specify the NOTSORTED option.\",\"help\":\"BY &lt;DESCENDING&gt;&lt;NOTSORTED&gt;\",\"arguments\":[{\"name\":\"DESCENDING\",\"optional\":true,\"description\":\"Specifies that the observations are sorted in descending order by the variable that immediately follows the word DESCENDING in the BY statement.\",\"type\":\"standalone\"},{\"name\":\"NOTSORTED\",\"optional\":true,\"description\":\"Specifies that observations are not necessarily sorted in alphabetic or numeric order.\",\"type\":\"standalone\"}]},{\"name\":\"CALL\",\"description\":\"Invokes a SAS CALL routine.\",\"help\":\"CALL routine(parameter-1&lt;, ...parameter-n&gt;)\"},{\"name\":\"CLASS\",\"description\":\"The CLASS statement names the classification variables to be used in the scale regression model. These variables enter the analysis not through their values, but through levels to which the unique values are mapped.\",\"help\":\"CLASS &lt;DESCENDING&gt;&lt;ORDER=&lt;DATA | FORMATTED | FREQ&gt;... &gt;&lt;REF=&lt;&lt;'level'&gt; | FIRST | LAST&gt;&gt; ...\",\"arguments\":[{\"name\":\"DESCENDING\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"DESC\"],\"description\":\"Reverses the sort order of the classification variable. If you specify both the DESCENDING and ORDER= options, the SEVERITY procedure orders the levels of classification variables according to the ORDER= option and then reverses that order.\",\"type\":\"standalone\"},{\"name\":\"MISSING\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Treats missing values (., ._, .A, …, .Z for numeric variables and blanks for character variables) as valid values for the CLASS variable.\",\"type\":\"standalone\"},{\"name\":\"ORDER=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the sort order for the categories of categorical variables. This ordering determines which parameters in the model correspond to each level in the data. When the default ORDER=FORMATTED is in effect for numeric variables for which you have supplied no explicit format, the levels are ordered by their internal values.\",\"help\":\"ORDER=DATA | FORMATTED | FREQ | FREQDATA | FREQFORMATTED | FREQINTERNAL | INTERNAL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DATA\",\"followsDelimiter\":\"/\",\"description\":\"Order of appearance in the input data set\",\"type\":\"standalone\"},{\"name\":\"FORMATTED\",\"followsDelimiter\":\"/\",\"description\":\"External formatted value, except for numeric variables with no explicit format, which are sorted by their unformatted (internal) value\",\"type\":\"standalone\"},{\"name\":\"FREQ\",\"followsDelimiter\":\"/\",\"description\":\"Descending frequency count; levels with the most observations come first in the order\",\"type\":\"standalone\"},{\"name\":\"FREQDATA\",\"followsDelimiter\":\"/\",\"description\":\"Order of descending frequency count, and within counts by order of appearance in the input data set when counts are tied\",\"type\":\"standalone\"},{\"name\":\"FREQFORMATTED\",\"followsDelimiter\":\"/\",\"description\":\"Order of descending frequency count, and within counts by formatted value (as above) when counts are tied\",\"type\":\"standalone\"},{\"name\":\"FREQINTERNAL\",\"followsDelimiter\":\"/\",\"description\":\"Order of descending frequency count, and within counts by unformatted value when counts are tied\",\"type\":\"standalone\"},{\"name\":\"INTERNAL\",\"followsDelimiter\":\"/\",\"description\":\"Unformatted value\",\"type\":\"standalone\"}]},{\"name\":\"PARAM=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the parameterization method for the classification variable or variables.\",\"help\":\"PARAM=GLM | REFERENCE*keyword*\",\"type\":\"value\",\"arguments\":[{\"name\":\"GLM\",\"followsDelimiter\":\"/\",\"description\":\"Specifies a less-than-full-rank reference cell coding.\",\"type\":\"standalone\"},{\"name\":\"REFERENCE\",\"followsDelimiter\":\"/\",\"description\":\"Specifies a reference cell encoding.\",\"type\":\"standalone\"}]},{\"name\":\"REF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"REFERENCE=\"],\"description\":\"Specifiess the reference level that is used when you specify PARAM=REFERENCE. For an individual (but not a global) variable REF= option, you can specify the level of the variable to use as the reference level. Specify the formatted value of the variable if a format is assigned.\",\"help\":\"REF=&lt;'*level*'&gt; | FIRST | LAST\",\"type\":\"choice\",\"arguments\":[{\"name\":\"'level'\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"For an individual (but not a global) variable REF= option, you can specify the level of the variable to use as the reference level.\",\"type\":\"value\"},{\"name\":\"FIRST\",\"followsDelimiter\":\"/\",\"description\":\"Designates the first-ordered level as reference.\",\"type\":\"standalone\"},{\"name\":\"LAST\",\"followsDelimiter\":\"/\",\"description\":\"Designates the last-ordered level as reference.\",\"type\":\"standalone\"}]},{\"name\":\"TRUNCATE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifiesthe truncation width of formatted values of CLASS variables when the optional n is specified.\",\"type\":\"standalone\"}]},{\"name\":\"CONTINUE\",\"description\":\"Stops processing the current DO-loop iteration and resumes processing the next iteration.\",\"help\":\"CONTINUE\"},{\"name\":\"DELETE\",\"description\":\"Stops processing the current observation.\",\"help\":\"DELETE\"},{\"name\":\"DESCRIBE\",\"description\":\"Retrieves source code from a stored compiled DATA step program or a DATA step view.\",\"help\":\"DESCRIBE\"},{\"name\":\"DISPLAY\",\"description\":\"Displays a window that is created with the WINDOW statement.\",\"help\":\"DISPLAY &lt;BELL&gt;&lt;BLANK&gt;&lt;NOINPUT&gt; ...\",\"arguments\":[{\"name\":\"BELL\",\"optional\":true,\"description\":\"Produces an audible alarm, beep, or bell sound when the window is displayed if your personal computer is equipped with a speaker device that provides sound.\",\"type\":\"standalone\"},{\"name\":\"BLANK\",\"optional\":true,\"description\":\"Clears the window.\",\"type\":\"standalone\"},{\"name\":\"DELETE\",\"optional\":true,\"description\":\"Deletes the display of the window after processing passes from the DISPLAY statement on which the option appears.\",\"type\":\"standalone\"},{\"name\":\"NOINPUT\",\"optional\":true,\"description\":\"Specifies that you cannot input values into fields that are displayed in the window.\",\"type\":\"standalone\"}]},{\"name\":\"DIST\",\"description\":\"The DIST statement specifies candidate distributions to be estimated by the HPSEVERITY procedure. You can specify multiple DIST statements, and each statement can contain one or more distribution specifications. As a convenience, you can also use a shortcut keyword to indicate a list of distributions. You can specify one or more of the following keywords: _ALL_ specifies all the predefined distributions and the distributions that you have defined in the libraries that you specify in the CMPLIB= system option. _PREDEFINED_ specifies the list of eight predefined distributions: BURR, EXP, GAMMA, GPD, IGAUSS, LOGN, PARETO, and WEIBULL. _USER_ specifies the list of all the distributions that you have defined in the libraries that you specify in the CMPLIB= system option.\",\"help\":\"DIST _ALL_ _PREDEFINED_ _USER_ ...\",\"arguments\":[{\"name\":\"BURR=\",\"description\":\"Burr distribution\",\"help\":\"BURR=INIT=\",\"type\":\"choice\",\"arguments\":[{\"name\":\"INIT=\",\"type\":\"value\"}]},{\"name\":\"EXP=\",\"description\":\"Exponential distribution\",\"help\":\"EXP=INIT=\",\"type\":\"choice\",\"arguments\":[{\"name\":\"INIT=\",\"type\":\"value\"}]},{\"name\":\"GAMMA=\",\"description\":\"Gamma distribution\",\"help\":\"GAMMA=INIT=\",\"type\":\"choice\",\"arguments\":[{\"name\":\"INIT=\",\"type\":\"value\"}]},{\"name\":\"GPD=\",\"description\":\"Generalized Pareto distribution\",\"help\":\"GPD=INIT=\",\"type\":\"choice\",\"arguments\":[{\"name\":\"INIT=\",\"type\":\"value\"}]},{\"name\":\"IGAUSS=\",\"description\":\"Inverse Gaussian (Wald) distribution\",\"help\":\"IGAUSS=INIT=\",\"type\":\"choice\",\"arguments\":[{\"name\":\"INIT=\",\"type\":\"value\"}]},{\"name\":\"LOGN=\",\"description\":\"Lognormal distribution\",\"help\":\"LOGN=INIT=\",\"type\":\"choice\",\"arguments\":[{\"name\":\"INIT=\",\"type\":\"value\"}]},{\"name\":\"PARETO=\",\"description\":\"Pareto distribution\",\"help\":\"PARETO=INIT=\",\"type\":\"choice\",\"arguments\":[{\"name\":\"INIT=\",\"type\":\"value\"}]},{\"name\":\"STWEEDIE=\",\"description\":\"Scaled Tweedie distribution\",\"help\":\"STWEEDIE=INIT=\",\"type\":\"choice\",\"arguments\":[{\"name\":\"INIT=\",\"type\":\"value\"}]},{\"name\":\"TWEEDIE=\",\"description\":\"Tweedie distribution\",\"help\":\"TWEEDIE=INIT=\",\"type\":\"choice\",\"arguments\":[{\"name\":\"INIT=\",\"type\":\"value\"}]},{\"name\":\"WEIBULL=\",\"description\":\"Weibull distribution\",\"help\":\"WEIBULL=INIT=\",\"type\":\"choice\",\"arguments\":[{\"name\":\"INIT=\",\"type\":\"value\"}]},{\"name\":\"_ALL_=\",\"description\":\"Specifies all the predefined distributions and the distributions that you have defined in the libraries that you specify in the CMPLIB= system option.\",\"help\":\"_ALL_=INIT=\",\"type\":\"choice\",\"arguments\":[{\"name\":\"INIT=\",\"type\":\"value\"}]},{\"name\":\"_PREDEFINED_=\",\"description\":\"Specifies the list of eight predefined distributions: BURR, EXP, GAMMA, GPD, IGAUSS, LOGN, PARETO, and WEIBULL. Although the TWEEDIE and STWEEDIE distributions are available in the Sashelp.Svrtdist library along with these eight distributions, they are not included by this keyword. If you want to fit the TWEEDIE and STWEEDIE distributions, then you must specify them explicitly or use the _ALL_ keyword.\",\"help\":\"_PREDEFINED_=INIT=\",\"type\":\"choice\",\"arguments\":[{\"name\":\"INIT=\",\"type\":\"value\"}]},{\"name\":\"_USER_=\",\"description\":\"Specifies the list of all the distributions that you have defined in the libraries that you specify in the CMPLIB= system option.\",\"help\":\"_USER_=INIT=\",\"type\":\"choice\",\"arguments\":[{\"name\":\"INIT=\",\"type\":\"value\"}]},{\"name\":\"LISTONLY\",\"optional\":true,\"description\":\"Specifies that the list of all candidate distributions be printed to the SAS log without doing any further processing on them. This option is especially useful when you use a shortcut keyword to include a list of distributions. It enables you to find out which distributions are included by the keyword.\",\"type\":\"standalone\"},{\"name\":\"VALIDATEONLY\",\"optional\":true,\"description\":\"Specifies that all candidate distributions be checked for validity without doing any further processing on them. If a distribution is invalid, the reason for invalidity is written to the SAS log. If all distributions are valid, then the distribution information is written to the SAS log.\",\"type\":\"standalone\"}]},{\"name\":\"DO\",\"description\":\"Specifies a group of statements to be executed as a unit.\",\"help\":\"DO &lt;OVER&gt;&lt;&gt;&lt;&gt; ...\",\"arguments\":[{\"name\":\"BY\",\"optional\":true,\"description\":\"Precedes an increment integer (other than 0) or an expression that generates an integer to be added to the value of the index variable in each iteration of the DO loop.\",\"type\":\"standalone\"},{\"name\":\"OVER\",\"optional\":true,\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"TO\",\"optional\":true,\"description\":\"Separates the start and stop integers or expressions that control the number of times the portion of the DATA step between the iterative DO and END statements is processed.\",\"type\":\"standalone\"},{\"name\":\"UNTIL\",\"optional\":true,\"description\":\"...more SAS statements... END\",\"type\":\"standalone\"},{\"name\":\"WHILE\",\"optional\":true,\"description\":\"\",\"type\":\"standalone\"}]},{\"name\":\"DO UNTIL\",\"description\":\"Executes statements in a DO loop repetitively until a condition is true.\",\"help\":\"\"},{\"name\":\"DO WHILE\",\"description\":\"Executes statements in a DO loop repetitively while a condition is true.\",\"help\":\"\"},{\"name\":\"DROP\",\"description\":\"Excludes variables from output SAS data sets.\",\"help\":\"DROP variable-list\"},{\"name\":\"ELSE\",\"description\":\"If the condition in an IF-THEN statement is false and an ELSE statement is present, then the ELSE action is carried out.\",\"help\":\"ELSE &lt;DO&gt;&lt;IF&gt;&lt;THEN&gt; ...\",\"arguments\":[{\"name\":\"AND\",\"optional\":true,\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"DO\",\"optional\":true,\"description\":\"Action statement in an IF-THEN-ELSE construct.\",\"type\":\"standalone\"},{\"name\":\"IF\",\"optional\":true,\"description\":\"Executes a SAS statement for observations that meet specific conditions.\",\"type\":\"standalone\"},{\"name\":\"NOT\",\"optional\":true,\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"OR\",\"optional\":true,\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"OUTPUT\",\"optional\":true,\"description\":\"Action statement in an IF-THEN-ELSE construct.\",\"type\":\"standalone\"},{\"name\":\"THEN\",\"optional\":true,\"description\":\"If the conditions that are specified in the IF clause are met, the IF-THEN statement executes a SAS statement for observations that are read from a SAS data set, for records in an external file, or for computed values.\",\"type\":\"standalone\"}]},{\"name\":\"END\",\"description\":\"Ends a DO group or SELECT group processing.\",\"help\":\"END\"},{\"name\":\"ENDRSUBMIT\",\"description\":\"Marks the end of a block of statements that a client session submits to a server session for execution.\",\"help\":\"ENDRSUBMIT\"},{\"name\":\"ERROR\",\"description\":\"Sets _ERROR_ to 1. A message written to the SAS log is optional.\",\"help\":\"ERROR &lt;message&gt;\"},{\"name\":\"EXECUTE\",\"description\":\"Executes a stored compiled DATA step program.\",\"help\":\"EXECUTE\"},{\"name\":\"FILE\",\"description\":\"where file-specification identifies an external file that the DATA step uses to write output from a PUT statement. File-specification can have these forms: 'external-file' specifies the physical name of an external file, which is enclosed in quotation marks. The physical name is the name by which the operating environment recognizes the file. fileref specifies the fileref of an external file. Requirement: You must have previously associated fileref with an external file in a FILENAME statement or function, or in an appropriate operating environment command. There is only one exception to this rule: when you use the FILEVAR= option, the fileref is simply a placeholder. fileref(file) specifies a fileref that is previously assigned to an external file that is an aggregate grouping of files. Follow the fileref with the name of a file or member, which is enclosed in parentheses. LOG is a reserved fileref that directs the output that is produced by any PUT statements to the SAS log. PRINT is a reserved fileref that directs the output that is produced by any PUT statements to the same file as the output that is produced by SAS procedures. device-type specifies the type of device or the access method that is used if the fileref points to an input or output device or a location that is not a physical file: DISK, DUMMY, GTERM, PIPE, PLOTTER, PRINTER, TAPE, TEMP, TERMINAL, UPRINTER. type specifies the type of file in z/OS: DLI, HFS, MVS, PIPE, VSAM. operating-environment-options or host-options Additional specifications might be required when you specify some devices. See the SAS documentation for your operating environment before specifying a value other than DISK. Values in addition to the ones listed here might be available in some operating environments.\",\"help\":\"FILE &lt;DISK&gt;&lt;DUMMY&gt;&lt;LOG&gt; ...\",\"arguments\":[{\"name\":\"ALQ=\",\"optional\":true,\"description\":\"[OpenVMS Host Option] Specifies the number of blocks initially allocated to an external file when it is created. The value can range from 0 to 2,147,483,647. If the value is 0 (the default), the minimum number of blocks required for the given file format is used.\",\"type\":\"value\"},{\"name\":\"BLKSIZE=\",\"optional\":true,\"aliases\":[\"BLK=\"],\"description\":\"[Windows/UNIX Host Option] Specifies the number of bytes that are physically read or written in an I/O operation. The default is 8K. The maximum is 1M (Windows) or 1G-1(UNIX).\",\"help\":\"BLKSIZE=*block-size*\",\"type\":\"value\"},{\"name\":\"BLOCK\",\"optional\":true,\"description\":\"Is used only in the context of named pipes. This option indicates whether the client is to wait if no data is currently available. BLOCK is the default value.\",\"type\":\"standalone\"},{\"name\":\"BOM\",\"optional\":true,\"aliases\":[\"BOMFILE\"],\"description\":\"[UNIX/z/OS Host Option] Includes a Byte Order Mark when a UNICODE-encoded file is created.\",\"type\":\"standalone\"},{\"name\":\"BUFND=\",\"optional\":true,\"description\":\"Indicates how many data buffers to use for the VSAM data set.\",\"help\":\"BUFND=*value*\",\"type\":\"value\"},{\"name\":\"BUFNI=\",\"optional\":true,\"description\":\"Indicates how many index buffers to use for the VSAM data set.\",\"help\":\"BUFNI=*value*\",\"type\":\"value\"},{\"name\":\"BYTE\",\"optional\":true,\"description\":\"Is used only in the context of named pipes. This option indicates the type of pipe. BYTE is the default value.\",\"type\":\"standalone\"},{\"name\":\"CC=\",\"optional\":true,\"description\":\"[OpenVMS Host Option] Specifies the carriage-control format of the SAS log and the procedure output file.\",\"help\":\"CC=FORTRAN | PRINT | CR\",\"type\":\"choice\",\"arguments\":[{\"name\":\"FORTRAN\",\"description\":\"Indicates FORTRAN carriage-control format. This is the default for print files.\",\"type\":\"standalone\"},{\"name\":\"PRINT\",\"description\":\"Indicates OpenVMS print format.\",\"type\":\"standalone\"},{\"name\":\"CR\",\"description\":\"Indicates OpenVMS carriage-return, carriage-control format. This is the default for nonprinting files.\",\"type\":\"standalone\"}]},{\"name\":\"CLIENT\",\"optional\":true,\"description\":\"[Windows Host Option] Is used only in the context of named pipes. This option specifies the mode of a named pipe. The default value is SERVER.\",\"type\":\"standalone\"},{\"name\":\"CLOSE=\",\"optional\":true,\"description\":\"[z/OS Host Option] Indicates how a tape volume is positioned at the end of the DATA step.\",\"help\":\"CLOSE=REREAD | LEAVE | REWIND | FREE | DISP\",\"type\":\"choice\",\"arguments\":[{\"name\":\"REREAD\",\"description\":\"Positions the tape at the logical beginning of the data set.\",\"type\":\"standalone\"},{\"name\":\"LEAVE\",\"description\":\"Positions the tape at the logical end of the data set.\",\"type\":\"standalone\"},{\"name\":\"REWIND\",\"description\":\"Rewinds the tape to the physical beginning of the volume.\",\"type\":\"standalone\"},{\"name\":\"FREE\",\"description\":\"Dynamically deallocates the tape volume.\",\"type\":\"standalone\"},{\"name\":\"DISP\",\"description\":\"Is implied by the control language.\",\"type\":\"standalone\"}]},{\"name\":\"COLUMN=\",\"optional\":true,\"aliases\":[\"COL=\"],\"description\":\"Specifies a variable that SAS automatically sets to the current column location of the pointer.\",\"type\":\"value\"},{\"name\":\"COMMAND\",\"optional\":true,\"description\":\"[Windows Host Option] Allows remote commands to be issued to DDE server applications that not use the SYSTEM topic name.\",\"type\":\"standalone\"},{\"name\":\"CSRC\",\"optional\":true,\"description\":\"[OpenVMS Host Option] Specifies that you want to use the CSRCESRV services (available with z/OS) to compress data on output. For example: data _null_; file myfile csrc; put ... ; run;\",\"type\":\"standalone\"},{\"name\":\"DCB=\",\"optional\":true,\"description\":\"specifies the fileref of an external file that was referenced in an earlier FILE or INFILE statement in the same DATA step. SAS uses that file's RECFM=, LRECL=, and BLKSIZE= information for the current file.\",\"help\":\"DCB=*fileref*\",\"type\":\"value\"},{\"name\":\"DELIMITER=\",\"optional\":true,\"aliases\":[\"DLM=\"],\"description\":\"Specifies an alternate delimiter (other than a blank) to be used for LIST output.\",\"type\":\"value\"},{\"name\":\"DEQ=\",\"optional\":true,\"description\":\"[OpenVMS Host Option] Specifies the number of blocks added when OpenVMS RMS automatically extends an external file during a write operation. The value can range from 0 to 65,535. The default value is 0, telling OpenVMS RMS to use the process's default value. A large value results in fewer file extensions over the life of the file; a small value results in numerous file extensions over the life of the file. A file with numerous file extensions might be noncontiguous, thereby slowing record access.\",\"type\":\"value\"},{\"name\":\"DEVTYPE=\",\"optional\":true,\"description\":\"Defines a character variable (minimum length 24) that SAS sets to the device type. SAS obtains the device type by using the z/OS operating environment DEVTYPE macro.\",\"help\":\"DEVTYPE=*variable*\",\"type\":\"value\"},{\"name\":\"DISK\",\"optional\":true,\"description\":\"[device-type] Specifies that the device is a disk drive.\",\"type\":\"standalone\"},{\"name\":\"DLI\",\"optional\":true,\"description\":\"[type] For IMS-DL/I databases.\",\"type\":\"standalone\"},{\"name\":\"DLMSOPT=\",\"optional\":true,\"description\":\"Specifies a parsing option for the DLMSTR= T option that removes trailing blanks of the string delimiter.\",\"help\":\"DLMSOPT='T'\",\"type\":\"choice\",\"arguments\":[{\"name\":\"'T'\",\"description\":\"Removes trailing blanks of the string delimiter.\",\"type\":\"standalone\"}]},{\"name\":\"DLMSTR=\",\"optional\":true,\"description\":\"Specifies a character string as an alternate delimiter (other than a blank) to be used for LIST output\",\"type\":\"value\"},{\"name\":\"DROPOVER\",\"optional\":true,\"description\":\"Discards data items that exceed the output line length (as specified by the LINESIZE= or LRECL= options in the FILE statement).\",\"type\":\"standalone\"},{\"name\":\"DSCB=\",\"optional\":true,\"description\":\"Defines a character variable (minimum length 96) that SAS sets to the Data Set Control Block (DSCB) information from a non-VSAM data set.\",\"help\":\"DSCB=*variable*\",\"type\":\"value\"},{\"name\":\"DSD\",\"optional\":true,\"description\":\"Specifies that data values that contain embedded delimiters, such as tabs or commas, be enclosed in quotation marks.\",\"type\":\"standalone\"},{\"name\":\"DUMMY\",\"optional\":true,\"description\":\"[device-type] Specifies that the output to the file is discarded. Tip: Specifying DUMMY can be useful for testing.\",\"type\":\"standalone\"},{\"name\":\"ENCODING=\",\"optional\":true,\"description\":\"Specifies the encoding to use when writing to the output file.\",\"help\":\"ENCODING='warabic' | 'wbaltic' | 'wlatin2' | 'wcyrillic' | 'wgreek' | 'whebrew' | 'wturkish' | 'wvietnamese' | 'wlatin1' | 'utf-8' | 'ms-950' | 'ms-936' | 'ms-932' | 'ms-949'\",\"type\":\"choice\",\"arguments\":[{\"name\":\"'warabic'\",\"description\":\"Arabic\",\"type\":\"standalone\"},{\"name\":\"'wbaltic'\",\"description\":\"Baltic\",\"type\":\"standalone\"},{\"name\":\"'wlatin2'\",\"description\":\"Central Europe\",\"type\":\"standalone\"},{\"name\":\"'wcyrillic'\",\"description\":\"Cyrillic\",\"type\":\"standalone\"},{\"name\":\"'wgreek'\",\"description\":\"Greek\",\"type\":\"standalone\"},{\"name\":\"'whebrew'\",\"description\":\"Hebrew\",\"type\":\"standalone\"},{\"name\":\"'wturkish'\",\"description\":\"Turkish\",\"type\":\"standalone\"},{\"name\":\"'wvietnamese'\",\"description\":\"Vietnamese\",\"type\":\"standalone\"},{\"name\":\"'wlatin1'\",\"description\":\"Western\",\"type\":\"standalone\"},{\"name\":\"'utf-8'\",\"description\":\"Unicode encoding\",\"type\":\"standalone\"},{\"name\":\"'ms-950'\",\"description\":\"Traditional Chinese\",\"type\":\"standalone\"},{\"name\":\"'ms-936'\",\"description\":\"Simplified Chinese\",\"type\":\"standalone\"},{\"name\":\"'ms-932'\",\"description\":\"Japanese\",\"type\":\"standalone\"},{\"name\":\"'ms-949'\",\"description\":\"Korean\",\"type\":\"standalone\"}]},{\"name\":\"EOFCONNECT\",\"optional\":true,\"description\":\"[Windows Host Option] Is used only in the context of named pipes and is valid only when you are defining the server. This option indicates that if an end-of-file (EOF) character is received from a client, the server should try to connect to the next client.\",\"type\":\"standalone\"},{\"name\":\"FAC=\",\"optional\":true,\"description\":\"[OpenVMS Host Option] Overrides the default file access attributes used for external files. Use this option to indicate the level of access you want to allow for an external file. You can allow READ, WRITE, UPDATE, and DELETE access (as well as no access). By default with external files, files opened for input allow read access, files opened for output allow WRITE access, and files opened for update allow READ and WRITE access. The form of the FAC= option is FAC=access-option-list where access-option-list can be one of the following: DEL specifies DELETE access. GET specifies READ access. PUT specifies WRITE access. UPD specifies UPDATE access. You can combine these values in any order. For example, specifying the following indicates that you want DELETE, READ, and WRITE access:\",\"type\":\"value\"},{\"name\":\"FEEDBACK=\",\"optional\":true,\"aliases\":[\"FDBK=\"],\"description\":\"Defines a numeric variable that SAS sets to the VSAM logical error code. This option is similar to the _FDBK_ automatic variable. When SAS sets the FEEDBACK variable, you must reset it to 0 in order to continue.\",\"type\":\"value\"},{\"name\":\"FILEDATA=\",\"optional\":true,\"description\":\"[UNIX/z/OS Host Option] The FILEDATA= option specifies that the file being processed is expected to contain either binary or text data.\",\"help\":\"FILEDATA=BINARY | TEXT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"BINARY\",\"description\":\"The FILEDATA= option specifies that the file being processed is expected to contain binary data.\",\"type\":\"standalone\"},{\"name\":\"TEXT\",\"description\":\"The FILEDATA= option specifies that the file being processed is expected to contain text data.\",\"type\":\"standalone\"}]},{\"name\":\"FILENAME=\",\"optional\":true,\"description\":\"Defines a character variable, whose name you supply, that SAS sets to the value of the physical name of the file currently open for PUT statement output.\",\"type\":\"value\"},{\"name\":\"FILEVAR=\",\"optional\":true,\"description\":\"Defines a variable whose change in value causes the FILE statement to close the current output file and open a new one the next time the FILE statement executes.\",\"type\":\"value\"},{\"name\":\"FLOWOVER\",\"optional\":true,\"description\":\"Causes data that exceeds the current line length to be written on a new line.\",\"type\":\"standalone\"},{\"name\":\"FOOTNOTES\",\"optional\":true,\"aliases\":[\"FOOTNOTE\"],\"description\":\"Specifies that the currently defined footnotes are printed.\",\"type\":\"standalone\"},{\"name\":\"GSFCC=\",\"optional\":true,\"description\":\"[OpenVMS Host Option] Specifies the file format of graphic stream files (GSF files). When specified in the FILENAME statement, it affects only the GSF files that are created using that fileref.\",\"help\":\"GSFCC=PRINT | CR | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"PRINT\",\"description\":\"Creates a GSF file. It is a VFC format file with carriage control set to null. These files can be used with most utilities with the exception of some file transfer protocols, such as Kermit. This is the default value for this option.\",\"type\":\"standalone\"},{\"name\":\"CR\",\"description\":\"Creates a carriage return carriage control file.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"Creates a file with no carriage control. This format is useful if you plan to download the file to a personal computer.\",\"type\":\"standalone\"}]},{\"name\":\"GTERM\",\"optional\":true,\"description\":\"[device-type] Indicates that the output device type is a graphics device that will receive graphics data.\",\"type\":\"standalone\"},{\"name\":\"HEADER=\",\"optional\":true,\"description\":\"Defines a statement label that identifies a group of SAS statements that you want to execute each time SAS begins a new output page\",\"type\":\"value\"},{\"name\":\"HFS\",\"optional\":true,\"description\":\"[type] For UNIX System Services files.\",\"type\":\"standalone\"},{\"name\":\"HOTLINK\",\"optional\":true,\"description\":\"[Windows Host Option] Instructs SAS to use the DDE HOTLINK.\",\"type\":\"standalone\"},{\"name\":\"IGNOREDOSEOF\",\"optional\":true,\"description\":\"[Windows Host Option] Is used in the context of I/O operations on variable record format files. When this option is specified, any occurrence of ^Z is interpreted as character data and not as an end-of-file marker.\",\"type\":\"standalone\"},{\"name\":\"JFCB=\",\"optional\":true,\"description\":\"Defines a character variable (minimum length 176) that SAS sets to the Job File Control Block (JFCB).\",\"help\":\"JFCB=*variable*\",\"type\":\"value\"},{\"name\":\"KEY=\",\"optional\":true,\"description\":\"[OpenVMS Host Option] Specifies which key SAS uses to read the records in an RMS file with indexed organization. The KEY= option is always used with the KEYVALUE= option.\",\"type\":\"value\"},{\"name\":\"KEYLEN=\",\"optional\":true,\"description\":\"Specifies a numeric SAS variable that, when used with GENKEY, specifies the length of the key that is to be compared to the keys in the file.\",\"help\":\"KEYLEN=*variable*\",\"type\":\"value\"},{\"name\":\"KEYPOS=\",\"optional\":true,\"description\":\"Indicates the numeric variable that SAS sets to the position of the VSAM key field. This option enables you to read keys without knowing the key position in advance. This variable is set to the column number (starting from 1).\",\"help\":\"KEYPOS=*variable*\",\"type\":\"value\"},{\"name\":\"KEYVALUE=\",\"optional\":true,\"description\":\"[OpenVMS Host Option] Specifies the key value with which to begin reading an indexed file.\",\"type\":\"value\"},{\"name\":\"LINE=\",\"optional\":true,\"description\":\"Defines a variable whose value is the current relative line number within the group of lines available to the output pointer.\",\"type\":\"value\"},{\"name\":\"LINESIZE=\",\"optional\":true,\"aliases\":[\"LS=\"],\"description\":\"Sets the maximum number of columns per line for reports and the maximum record length for data files.\",\"type\":\"value\"},{\"name\":\"LINESLEFT=\",\"optional\":true,\"aliases\":[\"LL=\"],\"description\":\"Defines a variable whose value is the number of lines left on the current page.\",\"type\":\"value\"},{\"name\":\"LOG\",\"optional\":true,\"description\":\"Is a reserved fileref that directs the output that is produced by any PUT statements to the SAS log.\",\"type\":\"standalone\"},{\"name\":\"LRECL=\",\"optional\":true,\"description\":\"Specifies the logical record length of the output file.\",\"type\":\"value\"},{\"name\":\"MBC=\",\"optional\":true,\"description\":\"[OpenVMS Host Option] Specifies the size of the I/O buffers that OpenVMS RMS allocates for a particular file. The value can range from 0 to 127 and represents the number of blocks used for each buffer. By default, this option is set to 0 and the default values for the process are used. The MBC= option (multiblock count) is used for both input and output to control the allocation for a particular file. If you want to control the allocation size for all the external files used during the current SAS session, you can use the MBC= option in every FILE, FILENAME, or INFILE statement. You can also use the DCL SET RMS_DEFAULT command to specify a process default, and let the SAS values default to the process's default values.\",\"type\":\"value\"},{\"name\":\"MBF=\",\"optional\":true,\"description\":\"[OpenVMS Host Option] Specifies the number of I/O buffers you want OpenVMS RMS to allocate for a particular file. The value can range from 0 to 127 and represents the number of buffers used. By default, this option is set to a value of 2. If a value of 0 is specified, the default value for the process is used. The MBF= option (multibuffer count) is used for both input and output to control the number of buffers allocated for a particular file. If you want to control the number of buffers allocated for all the external files used during the SAS session, you can use the MBF= option in every FILE, FILENAME, or INFILE statement. The DCL SET RMS_DEFAULT command can be used to specify a process default. Then, you can let the SAS values default to the process's default values.\",\"type\":\"value\"},{\"name\":\"MESSAGE\",\"optional\":true,\"description\":\"Is used only in the context of named pipes. This option indicates the type of pipe. BYTE is the default value.\",\"type\":\"standalone\"},{\"name\":\"MOD\",\"optional\":true,\"description\":\"Writes the output lines after any existing lines in the file.\",\"type\":\"standalone\"},{\"name\":\"MVS\",\"optional\":true,\"description\":\"[type] For z/OS data sets.\",\"type\":\"standalone\"},{\"name\":\"N=\",\"optional\":true,\"description\":\"Specifies the number of lines that you want available to the output pointer in the current iteration of the DATA step.\",\"help\":\"N=&lt;*n*&gt; | PAGESIZE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"n\",\"placeholder\":true,\"description\":\"Specifies the number of lines that are available to the output pointer. Replace n with an integer.\",\"type\":\"standaloneOrValue\"},{\"name\":\"PAGESIZE\",\"aliases\":[\"PS\"],\"description\":\"Specifies that the entire page is available to the output pointer.\",\"type\":\"standalone\"}]},{\"name\":\"NOBLOCK\",\"optional\":true,\"description\":\"Is used only in the context of named pipes. This option indicates whether the client is to wait if no data is currently available. BLOCK is the default value.\",\"type\":\"standalone\"},{\"name\":\"NOBOM\",\"optional\":true,\"aliases\":[\"NOBOMFILE\"],\"description\":\"[UNIX/z/OS Host Option] Specifies that a Byte Order Mark is not included when a UNICODE-encoded file is created.\",\"type\":\"standalone\"},{\"name\":\"NOFOOTNOTES\",\"optional\":true,\"aliases\":[\"NOFOOTNOTE\"],\"description\":\"Specifies that the currently defined footnotes are not printed.\",\"type\":\"standalone\"},{\"name\":\"NOPAD\",\"optional\":true,\"description\":\"Specifies that records written to an external file are not padded with blanks to the length that is specified in the LRECL= option.\",\"type\":\"standalone\"},{\"name\":\"NOPRINT\",\"optional\":true,\"description\":\"Specifies that carriage-control characters are placed in the output lines.\",\"type\":\"standalone\"},{\"name\":\"NOTAB\",\"optional\":true,\"description\":\"[Windows Host Option] Instructs SAS to ignore tab characters between variables.\",\"type\":\"standalone\"},{\"name\":\"NOTITLES\",\"optional\":true,\"aliases\":[\"NOTITLE\"],\"description\":\"Specifies that the current title lines are not printed on the pages of files.\",\"type\":\"standalone\"},{\"name\":\"ODS=\",\"optional\":true,\"description\":\"Specifies to use the Output Delivery System to format the output from a DATA step.\",\"type\":\"value\"},{\"name\":\"OLD\",\"optional\":true,\"description\":\"Replaces the previous contents of the file.\",\"type\":\"standalone\"},{\"name\":\"PAD\",\"optional\":true,\"description\":\"Specifies that records written to an external file are padded with blanks to the length that is specified in the LRECL= option.\",\"type\":\"standalone\"},{\"name\":\"PAGESIZE=\",\"optional\":true,\"aliases\":[\"PS=\"],\"description\":\"Sets the number of lines per page for your reports.\",\"help\":\"PAGESIZE=*value*\",\"type\":\"value\"},{\"name\":\"PASSWD=\",\"optional\":true,\"description\":\"Gives the appropriate password for a VSAM data set that has password protection.\",\"help\":\"PASSWD=*value*\",\"type\":\"value\"},{\"name\":\"PIPE\",\"optional\":true,\"description\":\"[device-type] Specifies an unnamed pipe. Note: Some operating environments do not support pipes.\",\"type\":\"standalone\"},{\"name\":\"PLOTTER\",\"optional\":true,\"description\":\"[device-type] Specifies an unbuffered graphics output device.\",\"type\":\"standalone\"},{\"name\":\"PRINT\",\"optional\":true,\"description\":\"Either a reserved fileref that directs the output that is produced by any PUT statements to the same file as the output that is produced by SAS procedures, or an option that specifies that carriage-control characters are placed in the output lines.\",\"type\":\"standalone\"},{\"name\":\"PRINTER\",\"optional\":true,\"description\":\"[device-type] Specifies a printer or printer spool file.\",\"type\":\"standalone\"},{\"name\":\"RC4STOP\",\"optional\":true,\"description\":\"[VSAM Option] Stops the DATA step from executing if a return code greater than 4 is returned by the operating environment when the VSAM data set is opened.\",\"type\":\"standalone\"},{\"name\":\"RECFM=\",\"optional\":true,\"description\":\"[Windows/UNIX/z/OS Host Option] Specifies the record format of the external file. Under z/OS, the following values can be appended to the RECFM values:\",\"help\":\"RECFM=F | P | S | V | N | s370V | S370VB | S370VBS | STREAMLF | FB | VB | U\",\"type\":\"choice\",\"arguments\":[{\"name\":\"F\",\"description\":\"Fixed-record format\",\"type\":\"standalone\"},{\"name\":\"P\",\"description\":\"Print format.\",\"type\":\"standalone\"},{\"name\":\"S\",\"description\":\"Stream-record format.\",\"type\":\"standalone\"},{\"name\":\"V\",\"aliases\":[\"D\"],\"description\":\"Variable-record format (the default)\",\"type\":\"standalone\"},{\"name\":\"N\",\"description\":\"Indicates binary format and causes the file to be treated as a byte stream. If LRECL is not specified, by default SAS reads 256 bytes at a time from the file.\",\"type\":\"standalone\"},{\"name\":\"s370V\",\"description\":\"Indicates the variable S370 record format (V).\",\"type\":\"standalone\"},{\"name\":\"S370VB\",\"description\":\"Indicates the variable block S370 record format (VB).\",\"type\":\"standalone\"},{\"name\":\"S370VBS\",\"description\":\"Indicates the variable block with spanned records S370 record format (VBS).\",\"type\":\"standalone\"},{\"name\":\"STREAMLF\",\"description\":\"[For OpenVMS] Specifies StreamLF record format. Records are delimited by LF.\",\"type\":\"standalone\"},{\"name\":\"FB\",\"description\":\"Specifies fixed-length records, blocked.\",\"type\":\"standalone\"},{\"name\":\"VB\",\"description\":\"Specifies variable-length records, blocked.\",\"type\":\"standalone\"},{\"name\":\"U\",\"description\":\"Specifies undefined-length records, unblocked.\",\"type\":\"standalone\"}]},{\"name\":\"RECORDS=\",\"optional\":true,\"description\":\"Defines a numeric variable that SAS sets to the number of logical records in a VSAM data set that has been opened for input.\",\"help\":\"RECORDS=*variable*\",\"type\":\"value\"},{\"name\":\"RECORG=\",\"optional\":true,\"description\":\"[z/OS Host Option] Specifies the organization of records in a new VSAM data set. Use this option only if SMS is active.\",\"help\":\"RECORG=KS | ES | RR | LS\",\"type\":\"choice\",\"arguments\":[{\"name\":\"KS\",\"description\":\"Specifies a VSAM key-sequenced data set.\",\"type\":\"standalone\"},{\"name\":\"ES\",\"description\":\"Specifies a VSAM entry-sequenced data set.\",\"type\":\"standalone\"},{\"name\":\"RR\",\"description\":\"Specifies a VSAM relative-record data set.\",\"type\":\"standalone\"},{\"name\":\"LS\",\"description\":\"Specifies a VSAM linear-space data set.\",\"type\":\"standalone\"}]},{\"name\":\"RESET\",\"optional\":true,\"description\":\"[VSAM Option] Indicates that the VSAM file is reset to empty (no records) when it is opened. This option applies only to loading a VSAM data set that has been marked REUSE. You cannot use this option if the data set contains an alternate index.\",\"type\":\"standalone\"},{\"name\":\"RETRY=\",\"optional\":true,\"description\":\"[Windows Host Option]\",\"help\":\"RETRY=*seconds*\",\"type\":\"value\"},{\"name\":\"RRN=\",\"optional\":true,\"description\":\"Defines a numeric variable that you set to the relative record number (RRN) of the record that you want to read or write. This option indicates that keyed direct access is being used; it is appropriate for RRDS only.\",\"help\":\"RRN=*variable*\",\"type\":\"value\"},{\"name\":\"SERVER\",\"optional\":true,\"description\":\"[Windows Host Option] Is used only in the context of named pipes. This option specifies the mode of a named pipe. The default value is SERVER.\",\"type\":\"standalone\"},{\"name\":\"SHR=\",\"optional\":true,\"description\":\"[OpenVMS Host Option] Overrides the default file-sharing attributes used for external files. With this option, you can indicate the access level you want to give other users. You can allow READ, WRITE, UPDATE, and DELETE access (as well as no access). By default with external files, files opened for input allow shared read access, and files opened for output or UPDATE do not allow shared access. However, you can allow other users to have READ and WRITE access to a file that you are opening for input only. To accomplish this, use the SHR= option. The syntax of the SHR= option is SHR=share-option-list where share-option-list can be one of the following: DEL specifies DELETE access. GET specifies shared READ access. NONE specifies no shared access. PUT specifies shared WRITE access. UPD specifies UPDATE access. You can combine these values in any order. For example, specifying the following indicates that you want shared DELETE, READ, and WRITE access:\",\"type\":\"value\"},{\"name\":\"STOPOVER\",\"optional\":true,\"description\":\"Stops processing the DATA step immediately if a PUT statement attempts to write a data item that exceeds the current line length.\",\"type\":\"standalone\"},{\"name\":\"TAPE\",\"optional\":true,\"description\":\"[device-type] Specifies a tape drive.\",\"type\":\"standalone\"},{\"name\":\"TEMP\",\"optional\":true,\"description\":\"[device-type] Creates a temporary file that exists only as long as the filename is assigned.\",\"type\":\"standalone\"},{\"name\":\"TERMINAL\",\"optional\":true,\"description\":\"[device-type] Specifies the user's terminal.\",\"type\":\"standalone\"},{\"name\":\"TERMSTR=\",\"optional\":true,\"description\":\"[Windows/UNIX Host Option] Specifies the end-of-line character for the file. Use this option to share files between the UNIX and Windows operating environments.\",\"help\":\"TERMSTR=CR | CRLF | LF | NULL | NONE | NL | LFCR | CRNL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"CR\",\"description\":\"Carriage return (CR).\",\"type\":\"standalone\"},{\"name\":\"CRLF\",\"description\":\"Carriage return (CR) followed by line feed (LF).\",\"type\":\"standalone\"},{\"name\":\"LF\",\"description\":\"Line feed only (the default).\",\"type\":\"standalone\"},{\"name\":\"NULL\",\"description\":\"NULL character (0x00).\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"Record terminators are not used. This parameter provides the same function as FILEDATA=BINARY.\",\"type\":\"standalone\"},{\"name\":\"NL\",\"description\":\"The newline character (x'15') is used as the record terminator. This parameter provides the same function as FILEDATA=TEXT.\",\"type\":\"standalone\"},{\"name\":\"LFCR\",\"description\":\"The sequence LF followed by CR is used as the record terminator.\",\"type\":\"standalone\"},{\"name\":\"CRNL\",\"description\":\"The sequence CR followed by NL is used as the record terminator.\",\"type\":\"standalone\"}]},{\"name\":\"TITLES\",\"optional\":true,\"aliases\":[\"TITLE\"],\"description\":\"Specifies that the current title lines are printed on the pages of files.\",\"type\":\"standalone\"},{\"name\":\"UCBNAME=\",\"optional\":true,\"description\":\"Defines a character variable (minimum length 3) that SAS sets to the unit name (device address), which is derived from information in the unit control block (UCB).\",\"help\":\"UCBNAME=*variable*\",\"type\":\"value\"},{\"name\":\"UNBUF\",\"optional\":true,\"description\":\"[UNIX Host Option] Tells SAS not to perform buffered writes to the file on any subsequent FILE statement. This option applies especially when you are reading from or writing to a data collection device. As explained in SAS Language Reference: Dictionary, it also prevents buffered reads on INFILE statements.\",\"type\":\"standalone\"},{\"name\":\"UPRINTER\",\"optional\":true,\"description\":\"[device-type] Specifies a Universal Printing printer definition name.\",\"type\":\"standalone\"},{\"name\":\"VOLUME=\",\"optional\":true,\"aliases\":[\"VOLUMES=\"],\"description\":\"Defines a character variable (with a minimum length of six characters) that SAS sets to the tape VOLSER or the disk volume serial number. In the case of a multivolume file, the VOLUME= variable contains the concatenated volume serial numbers up to the length of the variable or the first 30 volumes, whichever is less. The value in the VOLUME= variable contains the volume serial number of the first data set in the concatenation when the file is opened. This serial number changes if you open a subsequent data set in the concatenation.\",\"type\":\"value\"},{\"name\":\"VSAM\",\"optional\":true,\"description\":\"[type] For VSAM files.\",\"type\":\"standalone\"},{\"name\":\"_FILE_=\",\"optional\":true,\"description\":\"Names a character variable that references the current output buffer of this FILE statement.\",\"help\":\"_FILE_=*variable*\",\"type\":\"value\"}]},{\"name\":\"FORMAT\",\"description\":\"Associates formats with variables.\",\"help\":\"FORMAT &lt;DEFAULT=default-format&gt;\",\"arguments\":[{\"name\":\"DEFAULT=\",\"optional\":true,\"description\":\"Specifies a temporary default format for displaying the values of variables that are not listed in the FORMAT statement. These default formats apply only to the current DATA step; they are not permanently associated with variables in the output data set. A DEFAULT= format specification applies to o variables that are not named in a FORMAT or ATTRIB statement o variables that are not permanently associated with a format within a SAS data set o variables that are not written with the explicit use of a format. Default: If you omit DEFAULT=, SAS uses BESTw. as the default numeric format and $w. as the default character format. Restriction: Use this option only in a DATA step.\",\"help\":\"DEFAULT=*default-format*\",\"type\":\"value\"}]},{\"name\":\"GO TO\",\"aliases\":[\"GOTO\"],\"description\":\"Jumps to a new statement.\",\"help\":\"GO TO label | GOTO label\"},{\"name\":\"IF\",\"description\":\"Continues processing only those observations that meet the condition of the specified expression.\",\"help\":\"IF &lt;DO&gt;&lt;THEN&gt;&lt;WHEN&gt; ...\",\"arguments\":[{\"name\":\"AND\",\"optional\":true,\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"CALL\",\"optional\":true,\"description\":\"Invokes a SAS CALL routine.\",\"type\":\"standalone\"},{\"name\":\"DO\",\"optional\":true,\"description\":\"Action statement in an IF-THEN construct.\",\"type\":\"standalone\"},{\"name\":\"GO\",\"optional\":true,\"aliases\":[\"GOTO\"],\"description\":\"Jumps to a new statement.\",\"help\":\"GO TO\",\"type\":\"standalone\"},{\"name\":\"NOT\",\"optional\":true,\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"OR\",\"optional\":true,\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"OUTPUT\",\"optional\":true,\"description\":\"Action statement in an IF-THEN construct.\",\"type\":\"standalone\"},{\"name\":\"PUT\",\"optional\":true,\"description\":\"Action statement in an IF-THEN construct.\",\"type\":\"standalone\"},{\"name\":\"RETURN\",\"optional\":true,\"description\":\"Action statement in an IF-THEN construct. Stops executing statements at the current point in the DATA step and returns to a predetermined point in the step.\",\"type\":\"standalone\"},{\"name\":\"SET\",\"optional\":true,\"description\":\"Reads an observation from one or more SAS data sets.\",\"type\":\"standalone\"},{\"name\":\"STOP\",\"optional\":true,\"description\":\"Action statement in an IF-THEN construct. Stops execution of the current DATA step.\",\"type\":\"standalone\"},{\"name\":\"THEN\",\"optional\":true,\"description\":\"If the conditions that are specified in the IF clause are met, the IF-THEN statement executes a SAS statement for observations that are read from a SAS data set, for records in an external file, or for computed values.\",\"type\":\"standalone\"},{\"name\":\"WHEN\",\"optional\":true,\"description\":\"WHEN statement in an IF-THEN-WHEN construct.\",\"type\":\"standalone\"}]},{\"name\":\"INFILE\",\"description\":\"file-specification identifies a file in one of the following forms: fileref specifies the assigned fileref or the allocated ddname of the file. A fileref must conform to the rules for ddnames. That is, it can consist of up to eight letters, numbers, or national characters ($, @, and #) and underscores (_). The first character must be either a letter or a national character. fileref(member) specifies a member of a partitioned data set, where the PDS or PDSE is specified by the assigned fileref or allocated ddname. If you specify a fileref that is not allocated, then SAS attempts to construct a data set name with the following three qualifiers: o the value of the SYSPREF= option (usually the user ID) o the specified fileref o DATA If a file is found that has this constructed data set name, then SAS opens it and reads it. The value of the FILEEXT= system option can affect the way SAS interprets PDS and PDSE member names. 'physical-filename' specifies a physical file, which can be a member of a partitioned data set (PDS), an extended partitioned data set (PDSE), or a UNIX System Services file, using the following syntax: o a fully qualified data set name. For example: 'myid.raw.datax' o a fully qualified data set name with a member in parentheses. For example: 'sas.raw.data(mem1)' o a partially qualified data set name with a period preceding it. For example: '.raw.data' o a partially qualified data set name with a period preceding it and a member name in parentheses. For example: '.raw.data(mem1)' o for PDS members, a fully or partially qualified data set name with a wildcard name in parentheses. For example: '.raw.data(mem*)', '.raw.data(*mem1)', '.raw.data(*)' o a UNIX System Services file. For example: '/u/userid/raw' or 'HFS:raw' or '/u/userid/data/*'\",\"help\":\"INFILE &lt;DATALINES4&gt;&lt;DATALINES&gt;&lt;DISK&gt; ...\",\"arguments\":[{\"name\":\"BACKWARD\",\"optional\":true,\"aliases\":[\"BKWD\"],\"description\":\"[VSAM Option] Causes SAS to read the VSAM data set backwards (INFILE only)\",\"type\":\"standalone\"},{\"name\":\"BLKSIZE=\",\"optional\":true,\"aliases\":[\"BLK=\"],\"description\":\"[Windows/UNIX Host Option] Specifies the number of bytes that are physically read or written in an I/O operation. The default is 8K. The maximum is 1M (Windows) or 1G-1(UNIX).\",\"help\":\"BLKSIZE=*block-size*\",\"type\":\"value\"},{\"name\":\"BLOCK\",\"optional\":true,\"description\":\"Is used only in the context of named pipes. This option indicates whether the client is to wait if no data is currently available. BLOCK is the default value.\",\"type\":\"standalone\"},{\"name\":\"BUFND=\",\"optional\":true,\"description\":\"Indicates how many data buffers to use for the VSAM data set.\",\"help\":\"BUFND=*value*\",\"type\":\"value\"},{\"name\":\"BUFNI=\",\"optional\":true,\"description\":\"Indicates how many index buffers to use for the VSAM data set.\",\"help\":\"BUFNI=*value*\",\"type\":\"value\"},{\"name\":\"BYTE\",\"optional\":true,\"description\":\"Is used only in the context of named pipes. This option indicates the type of pipe. BYTE is the default value.\",\"type\":\"standalone\"},{\"name\":\"CCHHR=\",\"optional\":true,\"description\":\"specifies a character variable to which the physical address (cylinder head record) of a record is returned. This applies to files on CKD disks only.\",\"help\":\"CCHHR=*variable*\",\"type\":\"value\"},{\"name\":\"CLIENT\",\"optional\":true,\"description\":\"[Windows Host Option] Is used only in the context of named pipes. This option specifies the mode of a named pipe. The default value is SERVER.\",\"type\":\"standalone\"},{\"name\":\"CLOSE=\",\"optional\":true,\"description\":\"[z/OS Host Option] Indicates how a tape volume is positioned at the end of the DATA step.\",\"help\":\"CLOSE=REREAD | LEAVE | REWIND | FREE | DISP\",\"type\":\"choice\",\"arguments\":[{\"name\":\"REREAD\",\"description\":\"Positions the tape at the logical beginning of the data set.\",\"type\":\"standalone\"},{\"name\":\"LEAVE\",\"description\":\"Positions the tape at the logical end of the data set.\",\"type\":\"standalone\"},{\"name\":\"REWIND\",\"description\":\"Rewinds the tape to the physical beginning of the volume.\",\"type\":\"standalone\"},{\"name\":\"FREE\",\"description\":\"Dynamically deallocates the tape volume.\",\"type\":\"standalone\"},{\"name\":\"DISP\",\"description\":\"Is implied by the control language.\",\"type\":\"standalone\"}]},{\"name\":\"COLUMN=\",\"optional\":true,\"aliases\":[\"COL=\"],\"description\":\"Names a variable that SAS uses to assign the current column location of the input pointer. Like automatic variables, the COLUMN= variable is not written to the data set.\",\"type\":\"value\"},{\"name\":\"CONTROLINTERVAL\",\"optional\":true,\"aliases\":[\"CTLINTV\",\"CNV\"],\"description\":\"[VSAM Option] Indicates that you want to read physical VSAM control interval records rather than logical records. This option is typically used for diagnostic purposes (INFILE only).\",\"type\":\"standalone\"},{\"name\":\"CSRC\",\"optional\":true,\"description\":\"[OpenVMS Host Option] Specifies that you want to use the CSRCESRV services (available with z/OS) to compress data on output. For example: data _null_; file myfile csrc; put ... ; run;\",\"type\":\"standalone\"},{\"name\":\"CVAF\",\"optional\":true,\"description\":\"[VTOC Option under z/OS] Tells SAS to use the Common VTOC Access Facility (CVAF) of the IBM program product Data Facility/Device Support (DF/DS) for indexed VTOCs. If the VTOC is not indexed, or if your installation does not have CVAF, this option is ignored.\",\"type\":\"standalone\"},{\"name\":\"DATALINES4\",\"optional\":true,\"aliases\":[\"CARDS4\"],\"description\":\"Specifies that the input data immediately follows the DATALINES4|CARDS4 statement in the DATA step. Using DATALINES4|CARDS4 allows you to use the INFILE statement options to control how the INPUT statement reads instream data lines.\",\"type\":\"standalone\"},{\"name\":\"DATALINES\",\"optional\":true,\"aliases\":[\"CARDS\"],\"description\":\"Specifies that the input data immediately follows the DATALINES|CARDS statement in the DATA step. Using DATALINES|CARDS allows you to use the INFILE statement options to control how the INPUT statement reads instream data lines.\",\"type\":\"standalone\"},{\"name\":\"DCB=\",\"optional\":true,\"description\":\"specifies the fileref of an external file that was referenced in an earlier FILE or INFILE statement in the same DATA step. SAS uses that file's RECFM=, LRECL=, and BLKSIZE= information for the current file.\",\"help\":\"DCB=*fileref*\",\"type\":\"value\"},{\"name\":\"DELIMITER=\",\"optional\":true,\"aliases\":[\"DLM=\"],\"description\":\"Specifies an alternate delimiter (other than a blank) to be used for LIST input.\",\"type\":\"value\"},{\"name\":\"DISK\",\"optional\":true,\"description\":\"[device-type] Specifies that the device is a disk drive.\",\"type\":\"standalone\"},{\"name\":\"DLI\",\"optional\":true,\"description\":\"[type] For IMS-DL/I databases.\",\"type\":\"standalone\"},{\"name\":\"DLMSOPT=\",\"optional\":true,\"description\":\"Specifies whether case-insensitive comparisons will be done, or trailing blanks of the string delimiter will be removed.\",\"help\":\"DLMSOPT='I' | 'T'\",\"type\":\"choice\",\"arguments\":[{\"name\":\"'I'\",\"description\":\"Specifies that case-insensitive comparisons will be done.\",\"type\":\"standalone\"},{\"name\":\"'T'\",\"description\":\"Specifies that trailing blanks of the string delimiter will be removed.\",\"type\":\"standalone\"}]},{\"name\":\"DLMSTR=\",\"optional\":true,\"description\":\"Specifies a character string as an alternate delimiter (other than a blank) to be used for LIST input\",\"type\":\"value\"},{\"name\":\"DSD\",\"optional\":true,\"description\":\"Specifies that when data values are enclosed in quotation marks, delimiters within the value are treated as character data. The DSD option changes how SAS treats delimiters when you use LIST input and sets the default delimiter to a comma. When you specify DSD, SAS treats two consecutive delimiters as a missing value and removes quotation marks from character values.\",\"type\":\"standalone\"},{\"name\":\"DUMMY\",\"optional\":true,\"description\":\"[device-type] Specifies that the output to the file is discarded. Tip: Specifying DUMMY can be useful for testing.\",\"type\":\"standalone\"},{\"name\":\"ENCODING=\",\"optional\":true,\"description\":\"Specifies the encoding to use when reading from the external file.\",\"help\":\"ENCODING='warabic' | 'wbaltic' | 'wlatin2' | 'wcyrillic' | 'wgreek' | 'whebrew' | 'wturkish' | 'wvietnamese' | 'wlatin1' | 'utf-8' | 'ms-950' | 'ms-936' | 'ms-932' | 'ms-949'\",\"type\":\"choice\",\"arguments\":[{\"name\":\"'warabic'\",\"description\":\"Arabic\",\"type\":\"standalone\"},{\"name\":\"'wbaltic'\",\"description\":\"Baltic\",\"type\":\"standalone\"},{\"name\":\"'wlatin2'\",\"description\":\"Central Europe\",\"type\":\"standalone\"},{\"name\":\"'wcyrillic'\",\"description\":\"Cyrillic\",\"type\":\"standalone\"},{\"name\":\"'wgreek'\",\"description\":\"Greek\",\"type\":\"standalone\"},{\"name\":\"'whebrew'\",\"description\":\"Hebrew\",\"type\":\"standalone\"},{\"name\":\"'wturkish'\",\"description\":\"Turkish\",\"type\":\"standalone\"},{\"name\":\"'wvietnamese'\",\"description\":\"Vietnamese\",\"type\":\"standalone\"},{\"name\":\"'wlatin1'\",\"description\":\"Western\",\"type\":\"standalone\"},{\"name\":\"'utf-8'\",\"description\":\"Unicode encoding\",\"type\":\"standalone\"},{\"name\":\"'ms-950'\",\"description\":\"Traditional Chinese\",\"type\":\"standalone\"},{\"name\":\"'ms-936'\",\"description\":\"Simplified Chinese\",\"type\":\"standalone\"},{\"name\":\"'ms-932'\",\"description\":\"Japanese\",\"type\":\"standalone\"},{\"name\":\"'ms-949'\",\"description\":\"Korean\",\"type\":\"standalone\"}]},{\"name\":\"END=\",\"optional\":true,\"description\":\"Specifies a variable that SAS sets to 1 when the current input data record is the last in the input file. Until SAS processes the last data record, the END= variable is set to 0. Like automatic variables, this variable is not written to the data set. Restriction: You cannot use the END= option with UNBUFFERED option, DATALINES or DATALINES4 statement, and an INPUT statement that reads multiple input data records.\",\"type\":\"value\"},{\"name\":\"EOF=\",\"optional\":true,\"description\":\"Specifies a statement label that is the object of an implicit GO TO when the INFILE statement reaches end of file.\",\"type\":\"value\"},{\"name\":\"EOFCONNECT\",\"optional\":true,\"description\":\"[Windows Host Option] Is used only in the context of named pipes and is valid only when you are defining the server. This option indicates that if an end-of-file (EOF) character is received from a client, the server should try to connect to the next client.\",\"type\":\"standalone\"},{\"name\":\"EOV=\",\"optional\":true,\"description\":\"Specifies a variable that SAS sets to 1 when the first record in a file in a series of concatenated files is read.\",\"type\":\"value\"},{\"name\":\"ERASE=\",\"optional\":true,\"description\":\"Defines a numeric SAS variable that you must set to 1 when you want to erase a VSAM record (INFILE only).\",\"help\":\"ERASE=*variable*\",\"type\":\"value\"},{\"name\":\"EXPANDTABS\",\"optional\":true,\"description\":\"Specifies to expand tab characters to the standard tab setting, which is set at 8-column intervals that start at column 9.\",\"type\":\"standalone\"},{\"name\":\"FAC=\",\"optional\":true,\"description\":\"[OpenVMS Host Option] Overrides the default file access attributes used for external files. Use this option to indicate the level of access you want to allow for an external file. You can allow READ, WRITE, UPDATE, and DELETE access (as well as no access). By default with external files, files opened for input allow read access, files opened for output allow WRITE access, and files opened for update allow READ and WRITE access. The form of the FAC= option is FAC=access-option-list where access-option-list can be one of the following: DEL specifies DELETE access. GET specifies READ access. PUT specifies WRITE access. UPD specifies UPDATE access. You can combine these values in any order. For example, specifying the following indicates that you want DELETE, READ, and WRITE access:\",\"type\":\"value\"},{\"name\":\"FEEDBACK=\",\"optional\":true,\"aliases\":[\"FDBK=\"],\"description\":\"Defines a numeric variable that SAS sets to the VSAM logical error code. This option is similar to the _FDBK_ automatic variable. When SAS sets the FEEDBACK variable, you must reset it to 0 in order to continue.\",\"type\":\"value\"},{\"name\":\"FILEDATA=\",\"optional\":true,\"description\":\"[UNIX/z/OS Host Option] The FILEDATA= option specifies that the file being processed is expected to contain either binary or text data.\",\"help\":\"FILEDATA=BINARY | TEXT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"BINARY\",\"description\":\"The FILEDATA= option specifies that the file being processed is expected to contain binary data.\",\"type\":\"standalone\"},{\"name\":\"TEXT\",\"description\":\"The FILEDATA= option specifies that the file being processed is expected to contain text data.\",\"type\":\"standalone\"}]},{\"name\":\"FILENAME=\",\"optional\":true,\"description\":\"Specifies a variable that SAS sets to the physical StatementOptionName of the currently opened input file. Like automatic variables, the FILENAME= variable is not written to the data set.\",\"type\":\"value\"},{\"name\":\"FILEVAR=\",\"optional\":true,\"description\":\"Specifies a variable whose change in value causes the INFILE statement to close the current input file and open a new one.\",\"type\":\"value\"},{\"name\":\"FIRSTOBS=\",\"optional\":true,\"description\":\"Specifies a record number that SAS uses to begin reading input data records in the input file.\",\"type\":\"value\"},{\"name\":\"FLOWOVER\",\"optional\":true,\"description\":\"Causes an INPUT statement to continue to read the next input data record if it does not find values in the current input line for all the variables in the statement.\",\"type\":\"standalone\"},{\"name\":\"GENKEY\",\"optional\":true,\"description\":\"[VSAM Option] Causes SAS to use the KEY= variable as the leading portion of a record's key. VSAM retrieves the first record whose key matches the generic key (INFILE only).\",\"type\":\"standalone\"},{\"name\":\"GTERM\",\"optional\":true,\"description\":\"[device-type] Indicates that the output device type is a graphics device that will receive graphics data.\",\"type\":\"standalone\"},{\"name\":\"HFS\",\"optional\":true,\"description\":\"[type] For UNIX System Services files.\",\"type\":\"standalone\"},{\"name\":\"HOTLINK\",\"optional\":true,\"description\":\"[Windows Host Option] Instructs SAS to use the DDE HOTLINK.\",\"type\":\"standalone\"},{\"name\":\"IDMS\",\"optional\":true,\"description\":\"[type] For CA-IDMS files.\",\"type\":\"standalone\"},{\"name\":\"IGNOREDOSEOF\",\"optional\":true,\"description\":\"[Windows Host Option] Is used in the context of I/O operations on variable record format files. When this option is specified, any occurrence of ^Z is interpreted as character data and not as an end-of-file marker.\",\"type\":\"standalone\"},{\"name\":\"ISAM\",\"optional\":true,\"description\":\"[type] For ISAM files.\",\"type\":\"standalone\"},{\"name\":\"KEY=\",\"optional\":true,\"description\":\"[OpenVMS Host Option] Specifies which key SAS uses to read the records in an RMS file with indexed organization. The KEY= option is always used with the KEYVALUE= option.\",\"type\":\"value\"},{\"name\":\"KEYLEN=\",\"optional\":true,\"description\":\"Specifies a numeric SAS variable that, when used with GENKEY, specifies the length of the key that is to be compared to the keys in the file.\",\"help\":\"KEYLEN=*variable*\",\"type\":\"value\"},{\"name\":\"KEYPOS=\",\"optional\":true,\"description\":\"Indicates the numeric variable that SAS sets to the position of the VSAM key field. This option enables you to read keys without knowing the key position in advance. This variable is set to the column number (starting from 1).\",\"help\":\"KEYPOS=*variable*\",\"type\":\"value\"},{\"name\":\"KEYVALUE=\",\"optional\":true,\"description\":\"[OpenVMS Host Option] Specifies the key value with which to begin reading an indexed file.\",\"type\":\"value\"},{\"name\":\"LENGTH=\",\"optional\":true,\"description\":\"Specifies a variable that SAS sets to the length of the current input line.\",\"type\":\"value\"},{\"name\":\"LINE=\",\"optional\":true,\"description\":\"Specifies a variable that SAS sets to the line location of the input pointer in the input buffer. Like automatic variables, the LINE= variable is not written to the data set.\",\"type\":\"value\"},{\"name\":\"LINESIZE=\",\"optional\":true,\"aliases\":[\"LS=\"],\"description\":\"Specifies the record length that is available to the INPUT statement.\",\"type\":\"value\"},{\"name\":\"LRECL=\",\"optional\":true,\"description\":\"Specifies the logical record length.\",\"type\":\"value\"},{\"name\":\"MBC=\",\"optional\":true,\"description\":\"[OpenVMS Host Option] Specifies the size of the I/O buffers that OpenVMS RMS allocates for a particular file. The value can range from 0 to 127 and represents the number of blocks used for each buffer. By default, this option is set to 0 and the default values for the process are used. The MBC= option (multiblock count) is used for both input and output to control the allocation for a particular file. If you want to control the allocation size for all the external files used during the current SAS session, you can use the MBC= option in every FILE, FILENAME, or INFILE statement. You can also use the DCL SET RMS_DEFAULT command to specify a process default, and let the SAS values default to the process's default values.\",\"type\":\"value\"},{\"name\":\"MBF=\",\"optional\":true,\"description\":\"[OpenVMS Host Option] Specifies the number of I/O buffers you want OpenVMS RMS to allocate for a particular file. The value can range from 0 to 127 and represents the number of buffers used. By default, this option is set to a value of 2. If a value of 0 is specified, the default value for the process is used. The MBF= option (multibuffer count) is used for both input and output to control the number of buffers allocated for a particular file. If you want to control the number of buffers allocated for all the external files used during the SAS session, you can use the MBF= option in every FILE, FILENAME, or INFILE statement. The DCL SET RMS_DEFAULT command can be used to specify a process default. Then, you can let the SAS values default to the process's default values.\",\"type\":\"value\"},{\"name\":\"MESSAGE\",\"optional\":true,\"description\":\"Is used only in the context of named pipes. This option indicates the type of pipe. BYTE is the default value.\",\"type\":\"standalone\"},{\"name\":\"MISSOVER\",\"optional\":true,\"description\":\"Prevents an INPUT statement from reading a new input data record if it does not find values in the current input line for all the variables in the statement.\",\"type\":\"standalone\"},{\"name\":\"MOD\",\"optional\":true,\"description\":\"Indicates that data written to the file should be appended to the file\",\"type\":\"standalone\"},{\"name\":\"MVS\",\"optional\":true,\"description\":\"[type] For z/OS data sets.\",\"type\":\"standalone\"},{\"name\":\"N=\",\"optional\":true,\"description\":\"Specifies the number of lines that are available to the input pointer at one time.\",\"type\":\"value\"},{\"name\":\"NBYTE=\",\"optional\":true,\"description\":\"Specifies the StatementOptionName of a variable that contains the number of bytes to read from a file when you are reading data in stream record format (RECFM=S in the FILENAME statement).\",\"type\":\"value\"},{\"name\":\"NEW\",\"optional\":true,\"description\":\"Indicates that a new file is to be opened for output. If the file already exists, then it is deleted and re-created.\",\"type\":\"standalone\"},{\"name\":\"NOBLOCK\",\"optional\":true,\"description\":\"Is used only in the context of named pipes. This option indicates whether the client is to wait if no data is currently available. BLOCK is the default value.\",\"type\":\"standalone\"},{\"name\":\"NOEXPANDTABS\",\"optional\":true,\"description\":\"Specifies not to expand tab characters to the standard tab setting, which is set at 8-column intervals that start at column 9.\",\"type\":\"standalone\"},{\"name\":\"NOPAD\",\"optional\":true,\"description\":\"SAS does not pad the records that are read from an external file with blanks to the length that is specified in the LRECL= option.\",\"type\":\"standalone\"},{\"name\":\"NOPRINT\",\"optional\":true,\"description\":\"Specifies that the input file does not contain carriage-control characters.\",\"type\":\"standalone\"},{\"name\":\"NOTAB\",\"optional\":true,\"description\":\"[Windows Host Option] Instructs SAS to ignore tab characters between variables.\",\"type\":\"standalone\"},{\"name\":\"NRLS\",\"optional\":true,\"description\":\"[VSAM Option] Specifies not to use record-level sharing (RLS) to open an RLS-eligible data set (INFILE only).\",\"type\":\"standalone\"},{\"name\":\"OBS=\",\"optional\":true,\"description\":\"Use OBS= with FIRSTOBS= to read a range of records from the middle of a file.\",\"help\":\"OBS=&lt;*record-number*&gt; | MAX\",\"type\":\"choice\",\"arguments\":[{\"name\":\"record-number\",\"placeholder\":true,\"description\":\"Specifies the record number of the last record to read in an input file that is read sequentially.\",\"type\":\"value\"},{\"name\":\"MAX\",\"description\":\"Specifies the maximum number of observations to process, which will be at least as large as the largest signed, 32-bit integer.\",\"type\":\"standalone\"}]},{\"name\":\"OLD\",\"optional\":true,\"description\":\"Indicates that a new file is to be opened for output. If the file already exists, then the previous contents of the file are replaced.\",\"type\":\"standalone\"},{\"name\":\"PAD\",\"optional\":true,\"description\":\"SAS pads the records that are read from an external file with blanks to the length that is specified in the LRECL= option.\",\"type\":\"standalone\"},{\"name\":\"PASSWD=\",\"optional\":true,\"description\":\"Gives the appropriate password for a VSAM data set that has password protection.\",\"help\":\"PASSWD=*value*\",\"type\":\"value\"},{\"name\":\"PIPE\",\"optional\":true,\"description\":\"[device-type] Specifies an unnamed pipe. Note: Some operating environments do not support pipes.\",\"type\":\"standalone\"},{\"name\":\"PLOTTER\",\"optional\":true,\"description\":\"[device-type] Specifies an unbuffered graphics output device.\",\"type\":\"standalone\"},{\"name\":\"PRINT\",\"optional\":true,\"description\":\"Specifies that the input file contains carriage-control characters.\",\"type\":\"standalone\"},{\"name\":\"PRINTER\",\"optional\":true,\"description\":\"[device-type] Specifies a printer or printer spool file.\",\"type\":\"standalone\"},{\"name\":\"RBA=\",\"optional\":true,\"description\":\"Specifies a numeric variable that you set to the relative byte address (RBA) of the data record that you want to read. The RBA= option indicates that addressed direct access is being used; it is appropriate for KSDS and ESDS. If you specify the CONTROLINTERVAL option, you can use the RBA= option to access control records in an RRDS (INFILE only).\",\"help\":\"RBA=*variable*\",\"type\":\"value\"},{\"name\":\"RC4STOP\",\"optional\":true,\"description\":\"[VSAM Option] Stops the DATA step from executing if a return code greater than 4 is returned by the operating environment when the VSAM data set is opened.\",\"type\":\"standalone\"},{\"name\":\"RECFM=\",\"optional\":true,\"description\":\"[Windows/UNIX Host Option] Specifies the record format of the external file.\",\"help\":\"RECFM=F | P | S | V | N | s370V | S370VB | S370VBS | STREAMLF\",\"type\":\"choice\",\"arguments\":[{\"name\":\"F\",\"description\":\"Fixed-record format\",\"type\":\"standalone\"},{\"name\":\"P\",\"description\":\"Print format.\",\"type\":\"standalone\"},{\"name\":\"S\",\"description\":\"Stream-record format.\",\"type\":\"standalone\"},{\"name\":\"V\",\"aliases\":[\"D\"],\"description\":\"Variable-record format (the default)\",\"type\":\"standalone\"},{\"name\":\"N\",\"description\":\"Indicates binary format and causes the file to be treated as a byte stream. If LRECL is not specified, by default SAS reads 256 bytes at a time from the file.\",\"type\":\"standalone\"},{\"name\":\"s370V\",\"description\":\"Indicates the variable S370 record format (V).\",\"type\":\"standalone\"},{\"name\":\"S370VB\",\"description\":\"Indicates the variable block S370 record format (VB).\",\"type\":\"standalone\"},{\"name\":\"S370VBS\",\"description\":\"Indicates the variable block with spanned records S370 record format (VBS).\",\"type\":\"standalone\"},{\"name\":\"STREAMLF\",\"description\":\"[For OpenVMS] Specifies StreamLF record format. Records are delimited by LF.\",\"type\":\"standalone\"}]},{\"name\":\"RECORDS=\",\"optional\":true,\"description\":\"Defines a numeric variable that SAS sets to the number of logical records in a VSAM data set that has been opened for input.\",\"help\":\"RECORDS=*variable*\",\"type\":\"value\"},{\"name\":\"RECORG=\",\"optional\":true,\"description\":\"[z/OS Host Option] Specifies the organization of records in a new VSAM data set. Use this option only if SMS is active.\",\"help\":\"RECORG=KS | ES | RR | LS\",\"type\":\"choice\",\"arguments\":[{\"name\":\"KS\",\"description\":\"Specifies a VSAM key-sequenced data set.\",\"type\":\"standalone\"},{\"name\":\"ES\",\"description\":\"Specifies a VSAM entry-sequenced data set.\",\"type\":\"standalone\"},{\"name\":\"RR\",\"description\":\"Specifies a VSAM relative-record data set.\",\"type\":\"standalone\"},{\"name\":\"LS\",\"description\":\"Specifies a VSAM linear-space data set.\",\"type\":\"standalone\"}]},{\"name\":\"RESET\",\"optional\":true,\"description\":\"[VSAM Option] Indicates that the VSAM file is reset to empty (no records) when it is opened. This option applies only to loading a VSAM data set that has been marked REUSE. You cannot use this option if the data set contains an alternate index.\",\"type\":\"standalone\"},{\"name\":\"RETRY=\",\"optional\":true,\"description\":\"[Windows Host Option]\",\"help\":\"RETRY=*seconds*\",\"type\":\"value\"},{\"name\":\"RRN=\",\"optional\":true,\"description\":\"Defines a numeric variable that you set to the relative record number (RRN) of the record that you want to read or write. This option indicates that keyed direct access is being used; it is appropriate for RRDS only.\",\"help\":\"RRN=*variable*\",\"type\":\"value\"},{\"name\":\"SCANOVER\",\"optional\":true,\"description\":\"Causes the INPUT statement to scan the input data records until the character string that is specified in the @'character-string' expression is found.\",\"type\":\"standalone\"},{\"name\":\"SEQUENTIAL\",\"optional\":true,\"description\":\"[VSAM Option] Specifies sequential VSAM record retrieval when either the RBA= (for an ESDS) or the RRN= option (for an RRDS) is specified (INFILE only).\",\"type\":\"standalone\"},{\"name\":\"SERVER\",\"optional\":true,\"description\":\"[Windows Host Option] Is used only in the context of named pipes. This option specifies the mode of a named pipe. The default value is SERVER.\",\"type\":\"standalone\"},{\"name\":\"SHAREBUFFERS\",\"optional\":true,\"aliases\":[\"SHAREBUFS\"],\"description\":\"Specifies that the FILE statement and the INFILE statement share the same buffer.\",\"type\":\"standalone\"},{\"name\":\"SHR=\",\"optional\":true,\"description\":\"[OpenVMS Host Option] Overrides the default file-sharing attributes used for external files. With this option, you can indicate the access level you want to give other users. You can allow READ, WRITE, UPDATE, and DELETE access (as well as no access). By default with external files, files opened for input allow shared read access, and files opened for output or UPDATE do not allow shared access. However, you can allow other users to have READ and WRITE access to a file that you are opening for input only. To accomplish this, use the SHR= option. The syntax of the SHR= option is SHR=share-option-list where share-option-list can be one of the following: DEL specifies DELETE access. GET specifies shared READ access. NONE specifies no shared access. PUT specifies shared WRITE access. UPD specifies UPDATE access. You can combine these values in any order. For example, specifying the following indicates that you want shared DELETE, READ, and WRITE access:\",\"type\":\"value\"},{\"name\":\"SKIP\",\"optional\":true,\"description\":\"[VSAM Option] Indicates skip-sequential processing of VSAM files. Skip-sequential processing finds the first record whose value is the same as the value specified by the KEY= option; records are read sequentially thereafter (INFILE only).\",\"type\":\"standalone\"},{\"name\":\"START=\",\"optional\":true,\"description\":\"Specifies a variable whose value SAS uses as the first column number of the record that the PUT _INFILE_ statement writes. Like automatic variables, the START variable is not written to the data set.\",\"type\":\"value\"},{\"name\":\"STOPOVER\",\"optional\":true,\"description\":\"Causes the DATA step to stop processing if an INPUT statement reaches the end of the current record without finding values for all variables in the statement.\",\"type\":\"standalone\"},{\"name\":\"TAPE\",\"optional\":true,\"description\":\"[device-type] Specifies a tape drive.\",\"type\":\"standalone\"},{\"name\":\"TEMP\",\"optional\":true,\"description\":\"[device-type] Creates a temporary file that exists only as long as the filename is assigned.\",\"type\":\"standalone\"},{\"name\":\"TERMINAL\",\"optional\":true,\"description\":\"[device-type] Specifies the user's terminal.\",\"type\":\"standalone\"},{\"name\":\"TERMSTR=\",\"optional\":true,\"description\":\"[Windows/UNIX Host Option] Specifies the end-of-line character for the file. Use this option to share files between the UNIX and Windows operating environments.\",\"help\":\"TERMSTR=CR | CRLF | LF | NULL | NONE | NL | LFCR | CRNL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"CR\",\"description\":\"Carriage return (CR).\",\"type\":\"standalone\"},{\"name\":\"CRLF\",\"description\":\"Carriage return (CR) followed by line feed (LF).\",\"type\":\"standalone\"},{\"name\":\"LF\",\"description\":\"Line feed only (the default).\",\"type\":\"standalone\"},{\"name\":\"NULL\",\"description\":\"NULL character (0x00).\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"Record terminators are not used. This parameter provides the same function as FILEDATA=BINARY.\",\"type\":\"standalone\"},{\"name\":\"NL\",\"description\":\"The newline character (x'15') is used as the record terminator. This parameter provides the same function as FILEDATA=TEXT.\",\"type\":\"standalone\"},{\"name\":\"LFCR\",\"description\":\"The sequence LF followed by CR is used as the record terminator.\",\"type\":\"standalone\"},{\"name\":\"CRNL\",\"description\":\"The sequence CR followed by NL is used as the record terminator.\",\"type\":\"standalone\"}]},{\"name\":\"TRUNCOVER\",\"optional\":true,\"description\":\"Overrides the default behavior of the INPUT statement when an input data record is shorter than the INPUT statement expects. By default, the INPUT statement automatically reads the next input data record. TRUNCOVER enables you to read variable-length records when some records are shorter than the INPUT statement expects. Variables without any values assigned are set to missing.\",\"type\":\"standalone\"},{\"name\":\"UNBUFFERED\",\"optional\":true,\"aliases\":[\"UNBUF\"],\"description\":\"Tells SAS not to perform a buffered (\\\"look ahead\\\") read.\",\"type\":\"standalone\"},{\"name\":\"UPDATE=\",\"optional\":true,\"description\":\"Defines a numeric SAS variable that indicates that not every record that it reads is to be updated. Use this option when you are updating records in a VSAM data set (INFILE only). When an INFILE and a FILE statement reference the same VSAM data set, records are retrieved for update by default.\",\"help\":\"UPDATE=*variable*\",\"type\":\"value\"},{\"name\":\"UPRINTER\",\"optional\":true,\"description\":\"[device-type] Specifies a Universal Printing printer definition StatementOptionName.\",\"type\":\"standalone\"},{\"name\":\"VSAM\",\"optional\":true,\"description\":\"[type] For VSAM files.\",\"type\":\"standalone\"},{\"name\":\"VTOC\",\"optional\":true,\"description\":\"[type] For a Volume Table of Contents (VTOC).\",\"type\":\"standalone\"},{\"name\":\"_INFILE_=\",\"optional\":true,\"description\":\"Specifies a character variable that references the contents of the current input buffer for this INFILE statement.\",\"type\":\"value\"}]},{\"name\":\"INFORMAT\",\"description\":\"Associates informats with variables.\",\"help\":\"INFORMAT &lt;DEFAULT= default-informat&gt;\",\"arguments\":[{\"name\":\"DEFAULT=\",\"optional\":true,\"description\":\"Specifies a temporary default informat for reading values of the variables that are listed in the INFORMAT statement. If no variable is specified, then the DEFAULT= informat specification applies a temporary default informat for reading values of all the variables of that type included in the DATA step. Numeric informats are applied to numeric variables, and character informats are applied to character variables. These default informats apply only to the current DATA step. A DEFAULT= informat specification applies to o variables that are not named in an INFORMAT or ATTRIB statement o variables that are not permanently associated with an informat within a SAS data set o variables that are not read with an explicit informat in the current DATA step. Default: If you omit DEFAULT=, SAS uses w.d as the default numeric informat and $w. as the default character informat. Restriction: Use this argument only in a DATA step.\",\"type\":\"value\"}]},{\"name\":\"INPUT\",\"description\":\"Describes the arrangement of values in the input data record and assigns input values to the corresponding SAS variables.\",\"help\":\"INPUT &lt;specification(s)&gt;&lt;@|@@&gt;\"},{\"name\":\"KEEP\",\"description\":\"Specifies the variables to include in output SAS data sets.\",\"help\":\"KEEP variable-list\"},{\"name\":\"LABEL\",\"description\":\"Identifies a statement that is referred to by another statement.\",\"help\":\"\"},{\"name\":\"LEAVE\",\"description\":\"Stops processing the current loop and resumes with the next statement in the sequence.\",\"help\":\"LEAVE\"},{\"name\":\"LENGTH\",\"description\":\"Specifies the number of bytes for storing variables.\",\"help\":\"LENGTH &lt;DEFAULT=n&gt;\",\"arguments\":[{\"name\":\"DEFAULT=\",\"optional\":true,\"description\":\"Changes the default number of bytes that SAS uses to store the values of any newly created numeric variables.\",\"help\":\"DEFAULT=*n*\",\"type\":\"value\"}]},{\"name\":\"LINK\",\"description\":\"Directs program execution immediately to the statement label that is specified and, if followed by a RETURN statement, returns execution to the statement that follows the LINK statement.\",\"help\":\"LINK label\"},{\"name\":\"LIST\",\"description\":\"Writes to the SAS log the input data record for the observation that is being processed.\",\"help\":\"LIST\"},{\"name\":\"LOSS\",\"description\":\"The LOSS statement specifies the name of the response or loss variable whose distribution needs to be modeled. You can also specify additional options to indicate any truncation or censoring of the response. The specification of response variable is optional if at least one type of censoring is specified. You must specify a response variable if no censoring is specified. If you specify more than one LOSS statement, then the first statement is used. All the analysis variables specified in this statement must be present in the input data set that is specified by using the DATA= option in the PROC HPSEVERITY statement. The response variable is expected to have nonmissing values. If the variable has a missing value in an observation, then a warning is written to the SAS log and that observation is ignored.\",\"help\":\"LOSS &lt;LEFTCENSORED | LC=variable-name&gt;&lt;LEFTTRUNCATED | LT=variable-name&gt;&lt;RIGHTCENSORED | RC=variable-name&gt; ...\",\"arguments\":[{\"name\":\"LEFTCENSORED=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"LC=\"],\"description\":\"Syntax: LEFTCENSORED | LC=variable-name LEFTCENSORED | LC=number Specifies the left-censoring variable or a global left-censoring limit. You can use the variable-name argument to specify a data set variable that contains the left-censoring limit. If the value of this variable is missing, then PROC HPSEVERITY assumes that such observations are not left-censored. Alternatively, you can use the number argument to specify a left-censoring limit value that applies to all the observations in the data set. This limit must be a nonzero positive number. By definition of left-censoring, an exact value of the response is not known when it is less than or equal to the left-censoring limit. If the response variable is specified and the value of that variable is less than or equal to the value of the left-censoring limit for some observations, then PROC HPSEVERITY treats such observations as left-censored and the value of the response variable is ignored. If the response variable is specified and the value of that variable is greater than the value of the leftcensoring limit for some observations, then PROC HPSEVERITY assumes that such observations are not left-censored. If you specify left-censoring, then you must also specify right-censoring. PROC HPSEVERITY ignores observations that are purely left-censored. In other words, left-censoring specification is allowed only in the context of interval-censoring.\",\"type\":\"value\"},{\"name\":\"LEFTTRUNCATED=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"LT=\"],\"description\":\"LEFTTRUNCATED | LT=number specifies the left-truncation variable or a global left-truncation threshold. You can use the variable-name argument to specify a data set variable that contains the left-truncation threshold. If the value of this variable is missing or 0 for some observations, then PROC HPSEVERITY assumes that such observations are not left-truncated. Alternatively, you can use the number argument to specify a left-truncation threshold that applies to all the observations in the data set. This threshold must be a nonzero positive number.\",\"type\":\"value\"},{\"name\":\"REF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"REFERENCE=\"],\"description\":\"Specifies the reference level for PARAM=REFERENCE. For an individual (but not a global) variable REF= option, you can specify the level of the variable to use as the reference level. Specify the formatted value of the variable if a format is assigned. For a REF= option or global-option, you can use one of the following keywords. The default is REF=LAST.\",\"help\":\"REF=&lt;'*level*'&gt; | FIRST | LAST\",\"type\":\"choice\",\"arguments\":[{\"name\":\"'level'\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"For an individual (but not a global) variable REF= option, you can specify the level of the variable to use as the reference level.\",\"type\":\"value\"},{\"name\":\"FIRST\",\"followsDelimiter\":\"/\",\"description\":\"Designates the first-ordered level as reference.\",\"type\":\"standalone\"},{\"name\":\"LAST\",\"followsDelimiter\":\"/\",\"description\":\"Designates the last-ordered level as reference.\",\"type\":\"standalone\"}]},{\"name\":\"RIGHTCENSORED=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"RC=\"],\"description\":\"RIGHTCENSORED | RC=number Specifies the right-censoring variable or a global right-censoring limit. You can use the variable-name argument to specify a data set variable that contains the right-censoring limit. If the value of this variable is missing, then PROC HPSEVERITY assumes that such observations are not right-censored. Alternatively, you can use the number argument to specify a right-censoring limit value that applies to all the observations in the data set. This limit must be a nonzero positive number. By definition of right-censoring, an exact value of the response is not known when it is greater than or equal to the right-censoring limit. If the response variable is specified and the value of that variable is greater than or equal to the value of the right-censoring limit for some observations, then PROC HPSEVERITY treats such observations as right-censored and the value of the response variable is ignored. If the response variable is specified and the value of that variable is less than the value of the right-censoring limit for some observations, then PROC HPSEVERITY assumes that such observations are not right-censored and the value of the right-censoring limit is ignored.\",\"type\":\"value\"},{\"name\":\"RIGHTTRUNCATED=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"RT=\"],\"description\":\"RIGHTTRUNCATED | RT=number Specifies the right-truncation variable or a global right-truncation threshold. You can use the variable-name argument to specify a data set variable that contains the righttruncation threshold. If the value of this variable is missing for some observations, then PROC HPSEVERITY assumes that such observations are not right-truncated. Alternatively, you can use the number argument to specify a right-truncation threshold that applies to all the observations in the data set. This threshold must be a nonzero positive number.\",\"type\":\"value\"}]},{\"name\":\"MERGE\",\"description\":\"Joins observations from two or more SAS data sets into a single observation.\",\"help\":\"MERGE &lt;ALTER=&gt;&lt;BUFNO=&lt;n | nK | hexX&gt;... &gt;&lt;END=variable&gt; ...\",\"arguments\":[{\"name\":\"ALTER=\",\"optional\":true,\"description\":\"\",\"type\":\"value\"},{\"name\":\"BUFNO=\",\"optional\":true,\"description\":\"\",\"help\":\"BUFNO=n | nK | hexX | MIN | MAX\",\"type\":\"choice\",\"arguments\":[{\"name\":\"n\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"nK\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"hexX\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"MIN\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"MAX\",\"description\":\"\",\"type\":\"standalone\"}]},{\"name\":\"BUFSIZE=\",\"optional\":true,\"description\":\"\",\"help\":\"BUFSIZE=n | nK | nM | nG | hexX | MIN | MAX\",\"type\":\"choice\",\"arguments\":[{\"name\":\"n\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"nK\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"nM\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"nG\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"hexX\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"MIN\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"MAX\",\"description\":\"\",\"type\":\"standalone\"}]},{\"name\":\"CNTLLEV=\",\"optional\":true,\"description\":\"\",\"help\":\"CNTLLEV=LIB | MEM | REC\",\"type\":\"choice\",\"arguments\":[{\"name\":\"LIB\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"MEM\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"REC\",\"description\":\"\",\"type\":\"standalone\"}]},{\"name\":\"COMPRESS=\",\"optional\":true,\"description\":\"\",\"help\":\"COMPRESS=NO | YES | CHAR | BINARY\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NO\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"YES\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"CHAR\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"BINARY\",\"description\":\"\",\"type\":\"standalone\"}]},{\"name\":\"DLDMGACTION=\",\"optional\":true,\"description\":\"\",\"help\":\"DLDMGACTION=FAIL | ABORT | REPAIR | NOINDEX | PROMPT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"FAIL\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"ABORT\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"REPAIR\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"NOINDEX\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"PROMPT\",\"description\":\"\",\"type\":\"standalone\"}]},{\"name\":\"DROP=\",\"optional\":true,\"description\":\"\",\"type\":\"value\"},{\"name\":\"ENCRYPT=\",\"optional\":true,\"description\":\"\",\"help\":\"ENCRYPT=YES | NO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YES\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"NO\",\"description\":\"\",\"type\":\"standalone\"}]},{\"name\":\"ENCRYPTKEY=\",\"optional\":true,\"description\":\"\",\"type\":\"value\"},{\"name\":\"END=\",\"optional\":true,\"description\":\"Names and creates a temporary variable that contains an end-of-file indicator.\",\"help\":\"END=*variable*\",\"type\":\"value\"},{\"name\":\"EXTENDOBSCOUNTER=\",\"optional\":true,\"description\":\"\",\"type\":\"value\"},{\"name\":\"FILECLOSE=\",\"optional\":true,\"description\":\"\",\"help\":\"FILECLOSE=DISP | LEAVE | REREAD | REWIND\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DISP\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"LEAVE\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"REREAD\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"REWIND\",\"description\":\"\",\"type\":\"standalone\"}]},{\"name\":\"FIRSTOBS=\",\"optional\":true,\"description\":\"\",\"help\":\"FIRSTOBS=n | nK | nM | nG | hexX | MIN | MAX\",\"type\":\"choice\",\"arguments\":[{\"name\":\"n\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"nK\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"nM\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"nG\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"hexX\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"MIN\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"MAX\",\"description\":\"\",\"type\":\"standalone\"}]},{\"name\":\"GENMAX=\",\"optional\":true,\"description\":\"\",\"type\":\"value\"},{\"name\":\"GENNUM=\",\"optional\":true,\"description\":\"\",\"type\":\"value\"},{\"name\":\"IDXNAME=\",\"optional\":true,\"description\":\"\",\"type\":\"value\"},{\"name\":\"IDXWHERE=\",\"optional\":true,\"description\":\"\",\"help\":\"IDXWHERE=YES | NO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YES\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"NO\",\"description\":\"\",\"type\":\"standalone\"}]},{\"name\":\"IN=\",\"optional\":true,\"description\":\"\",\"type\":\"value\"},{\"name\":\"INDEX=\",\"optional\":true,\"description\":\"\",\"type\":\"value\"},{\"name\":\"KEEP=\",\"optional\":true,\"description\":\"\",\"type\":\"value\"},{\"name\":\"LABEL=\",\"optional\":true,\"description\":\"\",\"type\":\"value\"},{\"name\":\"OBS=\",\"optional\":true,\"description\":\"\",\"help\":\"OBS=n | nK | nM | nG | nT | hexX | MIN | MAX\",\"type\":\"choice\",\"arguments\":[{\"name\":\"n\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"nK\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"nM\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"nG\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"nT\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"hexX\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"MIN\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"MAX\",\"description\":\"\",\"type\":\"standalone\"}]},{\"name\":\"OUTREP=\",\"optional\":true,\"description\":\"\",\"type\":\"value\"},{\"name\":\"POINTOBS=\",\"optional\":true,\"description\":\"\",\"help\":\"POINTOBS=YES | NO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YES\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"NO\",\"description\":\"\",\"type\":\"standalone\"}]},{\"name\":\"PW=\",\"optional\":true,\"description\":\"\",\"type\":\"value\"},{\"name\":\"PWREQ=\",\"optional\":true,\"description\":\"\",\"help\":\"PWREQ=YES | NO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YES\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"NO\",\"description\":\"\",\"type\":\"standalone\"}]},{\"name\":\"READ=\",\"optional\":true,\"description\":\"\",\"type\":\"value\"},{\"name\":\"RENAME=\",\"optional\":true,\"description\":\"\",\"type\":\"value\"},{\"name\":\"REPEMPTY=\",\"optional\":true,\"description\":\"\",\"help\":\"REPEMPTY=YES | NO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YES\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"NO\",\"description\":\"\",\"type\":\"standalone\"}]},{\"name\":\"REPLACE=\",\"optional\":true,\"description\":\"\",\"help\":\"REPLACE=YES | NO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YES\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"NO\",\"description\":\"\",\"type\":\"standalone\"}]},{\"name\":\"REUSE=\",\"optional\":true,\"description\":\"\",\"help\":\"REUSE=YES | NO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YES\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"NO\",\"description\":\"\",\"type\":\"standalone\"}]},{\"name\":\"SGIO=\",\"optional\":true,\"description\":\"\",\"help\":\"SGIO=YES | NO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YES\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"NO\",\"description\":\"\",\"type\":\"standalone\"}]},{\"name\":\"SORTEDBY=\",\"optional\":true,\"description\":\"\",\"help\":\"SORTEDBY=by-clause &lt; / collate-name&gt; | _NULL_\",\"type\":\"choice\",\"arguments\":[{\"name\":\"by-clause\",\"description\":\"\",\"help\":\"by-clause &lt; / collate-name&gt;\",\"type\":\"standalone\"},{\"name\":\"_NULL_\",\"description\":\"\",\"type\":\"standalone\"}]},{\"name\":\"SPILL=\",\"optional\":true,\"description\":\"\",\"help\":\"SPILL=YES | NO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YES\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"NO\",\"description\":\"\",\"type\":\"standalone\"}]},{\"name\":\"TOBSNO=\",\"optional\":true,\"description\":\"\",\"type\":\"value\"},{\"name\":\"TRANTAB=\",\"optional\":true,\"description\":\"\",\"type\":\"value\"},{\"name\":\"TYPE=\",\"optional\":true,\"description\":\"\",\"type\":\"value\"},{\"name\":\"WHERE=\",\"optional\":true,\"description\":\"\",\"type\":\"value\"},{\"name\":\"WHEREUP=\",\"optional\":true,\"description\":\"\",\"help\":\"WHEREUP=YES | NO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YES\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"NO\",\"description\":\"\",\"type\":\"standalone\"}]},{\"name\":\"WRITE=\",\"optional\":true,\"description\":\"\",\"type\":\"value\"}]},{\"name\":\"MISSING\",\"description\":\"Assigns characters in your input data to represent special missing values for numeric data.\",\"help\":\"MISSING character(s)\"},{\"name\":\"MODIFY\",\"description\":\"Replaces, deletes, and appends observations in an existing SAS data set in place but does not create an additional copy.\",\"help\":\"MODIFY &lt;END=variable&gt;&lt;KEY=index&gt;&lt;NOBS=variable&gt; ...\",\"arguments\":[{\"name\":\"CUREOBS=\",\"optional\":true,\"description\":\"Creates and names a variable that contains the observation number that was just read from the data set.\",\"type\":\"value\"},{\"name\":\"END=\",\"optional\":true,\"description\":\"Creates and names a temporary variable that contains an end-of-file indicator.\",\"help\":\"END=*variable*\",\"type\":\"value\"},{\"name\":\"KEY=\",\"optional\":true,\"description\":\"Specifies a simple or composite index of the SAS data file that is being modified. The KEY= argument retrieves observations from that SAS data file based on index values that are supplied by like-named variables in another source of information.\",\"help\":\"KEY=*index*\",\"type\":\"value\"},{\"name\":\"KEYRESET=\",\"optional\":true,\"description\":\"Controls whether a KEY= search should begin at the top of the index for the data set that is being read. When the value of the KEYRESET variable is 1, the index lookup begins at the top of the index. When the value of the KEYRESET variable is 0, the index lookup is not reset and the lookup continues where the prior lookup ended.\",\"help\":\"KEYRESET=*variable*\",\"type\":\"value\"},{\"name\":\"NOBS=\",\"optional\":true,\"description\":\"Creates and names a temporary variable whose value is usually the total number of observations in the input data set. For certain SAS views, SAS cannot determine the number of observations. In these cases, SAS sets the value of the NOBS= variable to the largest positive integer value available in the operating environment.\",\"help\":\"NOBS=*variable*\",\"type\":\"value\"},{\"name\":\"POINT=\",\"optional\":true,\"description\":\"Reads SAS data sets using random (direct) access by observation number. variable names a variable whose value is the number of the observation to read. The POINT= variable is available anywhere in the DATA step, but it is not added to any SAS data set.\",\"help\":\"POINT=*variable*\",\"type\":\"value\"},{\"name\":\"UNIQUE\",\"optional\":true,\"description\":\"Causes a KEY= search always to begin at the top of the index for the data file being modified.\",\"type\":\"standalone\"},{\"name\":\"UPDATEMODE=\",\"optional\":true,\"description\":\"Specifies whether missing variable values in a transaction data set are to be allowed to replace existing variable values in a master data set.\",\"help\":\"UPDATEMODE=MISSINGCHECK | NOMISSINGCHECK\",\"type\":\"choice\",\"arguments\":[{\"name\":\"MISSINGCHECK\",\"description\":\"Prevents missing variable values in a transaction data set from replacing values in a master data set.\",\"type\":\"standalone\"},{\"name\":\"NOMISSINGCHECK\",\"description\":\"Allows missing variable values in a transaction data set to replace values in a master data set by preventing the check from being performed.\",\"type\":\"standalone\"}]}]},{\"name\":\"NLOPTIONS\",\"description\":\"Several SAS/ETS procedures (COUNTREG, ENTROPY, MDC, QLIM, UCM, and VARMAX) use the nonlinear optimization (NLO) subsystem to perform nonlinear optimization.\",\"help\":\"NLOPTIONS &lt;ABSCONV= | ABSTOL=r&gt;&lt;ABSFCONV=r[n] | ABSFTOL=r[n&gt;&lt;ABSGCONV=r[n] | ABSGTOL=r[n&gt; ...\",\"arguments\":[{\"name\":\"ABSCONV=\",\"optional\":true,\"aliases\":[\"ABSTOL=\"],\"description\":\"Specifies an absolute function convergence criterion. The default value of r is the negative square root of the largest double-precision value, which serves only as a protection against overflows.\",\"type\":\"value\"},{\"name\":\"ABSFCONV=\",\"optional\":true,\"aliases\":[\"ABSFTOL=\"],\"description\":\"Specifies an absolute function convergence criterion. The default value is r=0. The optional integer value n specifies the number of successive iterations for which the criterion must be satisfied before the process can be terminated.\",\"type\":\"value\"},{\"name\":\"ABSGCONV=\",\"optional\":true,\"aliases\":[\"ABSGTOL=\"],\"description\":\"Specifies an absolute gradient convergence criterion. The default value is r=1E-5. The optional integer value n specifies the number of successive iterations for which the criterion must be satisfied before the process can be terminated.\",\"type\":\"value\"},{\"name\":\"ABSXCONV=\",\"optional\":true,\"aliases\":[\"ABSXTOL=\"],\"description\":\"Specifies an absolute parameter convergence criterion. The optional integer value n specifies the number of successive iterations for which the criterion must be satisfied before the process can terminate.\",\"type\":\"value\"},{\"name\":\"FCONV2=\",\"optional\":true,\"aliases\":[\"FTOL2=\"],\"description\":\"Specifies another function convergence criterion.\",\"type\":\"value\"},{\"name\":\"FCONV=\",\"optional\":true,\"aliases\":[\"FTOL=\"],\"description\":\"Specifies a relative function convergence criterion.\",\"type\":\"value\"},{\"name\":\"FSIZE=\",\"optional\":true,\"description\":\"Specifies the FSIZE parameter of the relative function and relative gradient termination criteria. The default value is r=0.\",\"help\":\"FSIZE=*r*\",\"type\":\"value\"},{\"name\":\"GCONV=\",\"optional\":true,\"aliases\":[\"GTOL=\"],\"description\":\"Specifies a relative gradient convergence criterion. The default value is r=1E-8. The optional integer value n specifies the number of successive iterations for which the criterion must be satisfied before the process can terminate.\",\"type\":\"value\"},{\"name\":\"MAXFUNC=\",\"optional\":true,\"aliases\":[\"MAXFU=\"],\"description\":\"Specifies the maximum number i of function calls in the optimization process. The default values are: TRUREG, NRRIDG, NEWRAP: 125 QUANEW, DBLDOG: 500 CONGRA: 1000 NMSIMP: 3000\",\"type\":\"value\"},{\"name\":\"MAXITER=\",\"optional\":true,\"aliases\":[\"MAXIT=\"],\"description\":\"Specifies the maximum number i of iterations in the optimization process. The default values are: TRUREG, NRRIDG, NEWRAP: 50 QUANEW, DBLDOG: 200 CONGRA: 400 NMSIMP: 1000 These default values are also valid when i is specified as a missing value.\",\"type\":\"value\"},{\"name\":\"MAXTIME=\",\"optional\":true,\"description\":\"Specifies an upper limit of r seconds of CPU time for the optimization process. The default value is the largest floating-point double representation of your computer. Note that the time specified by the MAXTIME= option is checked only once at the end of each iteration. Therefore, the actual running time can be much longer than that specified by the MAXTIME= option. The actual running time includes the rest of the time needed to finish the iteration and the time needed to generate the output of the results.\",\"help\":\"MAXTIME=*r*\",\"type\":\"value\"},{\"name\":\"MINITER=\",\"optional\":true,\"aliases\":[\"MINIT=\"],\"description\":\"Specifies the minimum number of iterations. The default value is 0. If you request more iterations than are actually needed for convergence to a stationary point, the optimization algorithms can behave strangely. For example, the effect of rounding errors can prevent the algorithm from continuing for the required number of iterations.\",\"type\":\"value\"},{\"name\":\"TECHNIQUE=\",\"optional\":true,\"aliases\":[\"TECH=\"],\"description\":\"Specifies the optimization technique.\",\"help\":\"TECHNIQUE=CONGRA | DBLDOG | NMSIMP | NEWRAP | NRRIDG | QUANEW | TRUREG | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"CONGRA\",\"description\":\"Performs a conjugate-gradient optimization.\",\"type\":\"standalone\"},{\"name\":\"DBLDOG\",\"description\":\"Performs a version of double-dogleg optimization.\",\"type\":\"standalone\"},{\"name\":\"NMSIMP\",\"description\":\"Performs a Nelder-Mead simplex optimization.\",\"type\":\"standalone\"},{\"name\":\"NEWRAP\",\"description\":\"Performs a Newton-Raphson optimization that combines a line-search algorithm with ridging.\",\"type\":\"standalone\"},{\"name\":\"NRRIDG\",\"description\":\"Performs a Newton-Raphson optimization with ridging.\",\"type\":\"standalone\"},{\"name\":\"QUANEW\",\"description\":\"Performs a quasi-Newton optimization\",\"type\":\"standalone\"},{\"name\":\"TRUREG\",\"description\":\"Performs a trust region optimization. This is the default estimation method.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"Does not perform any optimization. This option can be used as follows: – to perform a grid search without optimization – to compute estimates and predictions that cannot be obtained efficiently with any of the optimization techniques\",\"type\":\"standalone\"}]},{\"name\":\"XCONV=\",\"optional\":true,\"aliases\":[\"XTOL=\"],\"description\":\"Specifies the relative parameter convergence criterion. For all techniques except NMSIMP, termination requires a small relative parameter change in subsequent iterations. The default value is r=1E-8 for the NMSIMP technique and r=0 otherwise. The optional integer value n specifies the number of successive iterations for which the criterion must be satisfied before the process can be terminated.\",\"type\":\"value\"},{\"name\":\"XSIZE=\",\"optional\":true,\"description\":\"Specifies the XSIZE parameter of the relative parameter termination criterion. The default value is r=0.\",\"type\":\"value\"}]},{\"name\":\"OTHERWISE\",\"description\":\"Specifies a statement to be executed if no WHEN condition is met.\",\"help\":\"OTHERWISE &lt;DO&gt;\",\"arguments\":[{\"name\":\"DO\",\"optional\":true,\"description\":\"Action statement.\",\"type\":\"standalone\"}]},{\"name\":\"OUTPUT\",\"description\":\"Writes the current observation to a SAS data set.\",\"help\":\"OUTPUT&lt;data-set-name(s)&gt;\"},{\"name\":\"OUTSCORELIB\",\"description\":\"The OUTSCORELIB statement specifies the library to write scoring functions to. Scoring functions enable you to easily compute a distribution function on the fitted parameters of the distribution without going through a potentially complex process of extracting the fitted parameter estimates from other output such as the OUTEST= data set that is created by PROC HPSEVERITY.\",\"help\":\"OUTSCORELIB &lt;COMMONPACKAGE&gt;&lt;OUTBYID=SAS-data-set&gt;&lt;OUTLIB=fcmp-library-name&gt; ...\",\"arguments\":[{\"name\":\"COMMONPACKAGE\",\"optional\":true,\"aliases\":[\"ONEPACKAGE\"],\"description\":\"Requests that only one common package be created to contain all the scoring functions.\",\"type\":\"standalone\"},{\"name\":\"OUTBYID=\",\"optional\":true,\"description\":\"Names the output data set to contain the unique identifier for each BY group. This unique identifier is used as part of the name of the package or scoring function for each distribution. This is a required option when you specify a BY statement in PROC HPSEVERITY.\",\"help\":\"OUTBYID=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"OUTLIB=\",\"optional\":true,\"description\":\"Names the FCMP library to contain the scoring functions. PROC SEVERITY writes the scoring functions to the FCMP library named fcmp-library-name. If a library or data set named fcmp-libraryname already exists, PROC HPSEVERITY deletes it before proceeding\",\"help\":\"OUTLIB=*fcmp-library-name*\",\"type\":\"dataSet\"}]},{\"name\":\"PERFORMANCE\",\"description\":\"The PERFORMANCE statement defines performance parameters for multithreaded and distributed computing, passes variables about the distributed computing environment, and requests detailed results about the performance characteristics of a High-Performance Analytics procedure. With the PERFORMANCE statement, you can also control whether a High-Performance Analytics procedure executes in SMP or MPP mode.\",\"help\":\"PERFORMANCE &lt;COMMIT=n&gt;&lt;CPUCOUNT=&lt;ACTUAL | &lt;num&gt;&gt;&gt;&lt;DATASERVER=“name”&gt; ...\",\"arguments\":[{\"name\":\"COMMIT=\",\"optional\":true,\"description\":\"Requests that the High-Performance Analytics procedure write periodic updates to the SAS Log when observations are sent from the client to the appliance for distributed processing.\",\"help\":\"COMMIT=*n*\",\"type\":\"value\"},{\"name\":\"CPUCOUNT=\",\"optional\":true,\"description\":\"Specifies how many processors the procedure assumes are available on each host in the computing environment. num can be any integer from 1 to 256. CPUCOUNT=ACTUAL sets CPUCOUNT to the number of physical processors available. This number can be less than the physical number of CPUs if the SAS process has been restricted by system administration tools. Setting CPUCOUNT= to a number greater than the actual number of available CPUs might result in reduced performance. This option overrides the CPUCOUNT= SAS system option.\",\"help\":\"CPUCOUNT=ACTUAL | &lt;*num*&gt;\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ACTUAL\",\"description\":\"Sets CPUCOUNT to the number of physical processors available. This number can be less than the physical number of CPUs if the SAS process has been restricted by system administration tools.\",\"type\":\"standalone\"},{\"name\":\"num\",\"placeholder\":true,\"description\":\"Replace <num> with an actual number. Setting CPUCOUNT= to a number greater than the actual number of available CPUs might result in reduced performance. This option overrides the CPUCOUNT= SAS system option.\",\"type\":\"value\"}]},{\"name\":\"DATASERVER=\",\"optional\":true,\"description\":\"Specifies the name of the server on Teradata systems as defined through the hosts file and as used in the LIBNAME statement for Teradata. For example, if the hosts file defines myservercop1 33.44.55.66 as the server for Teradata, then a LIBNAME specification would be as follows: libname TDLib teradata server=myserver user= password= database= ; A PERFORMANCE statement to induce running alongside the Teradata server would specify the following:\",\"type\":\"value\"},{\"name\":\"DETAILS\",\"optional\":true,\"description\":\"Requests a table that shows a timing breakdown of the procedure steps.\",\"type\":\"standalone\"},{\"name\":\"HOST=\",\"optional\":true,\"aliases\":[\"GRIDHOST=\"],\"description\":\"Specifies the name of the appliance host in single or double quotes. If the HOST= option is specified, it overrides the value of the GRIDHOST environment variable.\",\"type\":\"value\"},{\"name\":\"INSTALL=\",\"optional\":true,\"aliases\":[\"INSTALLLOC=\"],\"description\":\"Specifies the directory in which the High-Performance Analytics shared libraries are installed on the appliance. Specifying the INSTALL= option overrides the GRIDINSTALLLOC environment variable.\",\"type\":\"value\"},{\"name\":\"NODES=\",\"optional\":true,\"aliases\":[\"NNODES=\"],\"description\":\"Specifies the number of nodes in the distributed computing environment, provided that the data are not processed alongside the database.\",\"type\":\"value\"},{\"name\":\"NTHREADS=\",\"optional\":true,\"description\":\"Specifies the number of threads for analytic computations and overrides the SAS system option THREADS | NOTHREADS. If you do not specify the NTHREADS= option, the number of threads are determined based on the number of CPUs on the host on which the analytic computations execute. The algorithm by which a CPU count is converted to a thread count is specific to the High- Performance Analytics procedure. Most procedures create one thread per CPU for the analytic computations. By default, High-Performance Analytics procedures execute in multiple concurrent threads unless turned off by the NOTHREADS system option or you force single-threaded execution with NTHREADS=1. The largest number that can be specified for n is 256. Individual High-Performance Analytics procedures can impose more stringent limits if called for by algorithmic considerations. You can affect the determination of the CPU count with the CPUCOUNT= option in the PERFORMANCE statement.\",\"help\":\"NTHREADS=*n*\",\"type\":\"value\"},{\"name\":\"TIMEOUT=\",\"optional\":true,\"description\":\"Specifies the timeout in seconds for a High-Performance Analytics procedure to wait for a connection to the appliance and establish a connection back to the client. The default is s=120 seconds. If jobs are submitted to the appliance through workload management tools that might suspend access to the appliance for a longer period, you might want to increase the timeout value.\",\"help\":\"TIMEOUT=*s*\",\"type\":\"value\"}]},{\"name\":\"PUT\",\"description\":\"Writes lines to the SAS log, to the SAS output window, or to an external location that is specified in the most recent FILE statement.\",\"help\":\"PUT &lt;_ALL_&gt;&lt;_INFILE_&gt;&lt;_ODS_&gt; ...\",\"arguments\":[{\"name\":\"OVERPRINT\",\"optional\":true,\"description\":\"Causes the values that follow the keyword OVERPRINT to print on the most recently written output line.\",\"type\":\"standalone\"},{\"name\":\"_ALL_\",\"optional\":true,\"description\":\"Writes the values of all variables, which includes automatic variables, that are defined in the current DATA step by using named output.\",\"type\":\"standalone\"},{\"name\":\"_BLANKPAGE_\",\"optional\":true,\"description\":\"Advances the pointer to the first line of a new page, even when the pointer is positioned on the first line and the first column of a new page.\",\"type\":\"standalone\"},{\"name\":\"_INFILE_\",\"optional\":true,\"description\":\"Writes the last input data record that is read either from the current input file or from the data lines that follow a DATELINES statement.\",\"type\":\"standalone\"},{\"name\":\"_ODS_\",\"optional\":true,\"description\":\"Moves data values for all columns (as defined by the ODS option in the FILE statement) into a special buffer, from which it is eventually written to the data component. The ODS option in the FILE statement defines the structure of the data component that holds the results of the DATA step.\",\"type\":\"standalone\"},{\"name\":\"_PAGE_\",\"optional\":true,\"description\":\"Advances the pointer to the first line of a new page. SAS automatically begins a new page when a line exceeds the current PAGESIZE= value.\",\"type\":\"standalone\"}]},{\"name\":\"PUTLOG\",\"description\":\"Writes a message to the SAS log.\",\"help\":\"PUTLOG 'message'\"},{\"name\":\"RENAME\",\"description\":\"Specifies new names for variables in output SAS data sets.\",\"help\":\"RENAME old-name-1=new-name-1 ... &lt;old-name-n=new-name-n&gt;\"},{\"name\":\"REPLACE\",\"description\":\"Replaces an observation in the same location.\",\"help\":\"REPLACE &lt;data-set-name-1&gt;&lt;...data-set-name-n&gt;\"},{\"name\":\"RETAIN\",\"description\":\"Causes a variable that is created by an INPUT or assignment statement to retain its value from one iteration of the DATA step to the next.\",\"help\":\"RETAIN &lt;element-list(s) &lt;initial-value(s) |\"},{\"name\":\"RETURN\",\"description\":\"Stops executing statements at the current point in the DATA step and returns to a predetermined point in the step.\",\"help\":\"RETURN\"},{\"name\":\"RSUBMIT\",\"description\":\"Marks the beginning of a block of statements that a client session submits to a server session for execution.\",\"help\":\"RSUBMIT &lt;options&gt;; ENDRSUBMIT &lt;CANCEL&gt;\"},{\"name\":\"SCALEMODEL\",\"description\":\"The SCALEMODEL statement specifies regression variables. All the variables specified in this statement must be present in the input data set that is specified by the DATA= option in the PROC HPSEVERITY statement. The scale parameter of each candidate distribution is linked to a linear combination of these regression variables along with an intercept. If a distribution does not have a scale parameter, then a model based on that distribution is not estimated. If you specify more than one SCALEMODEL statement, then the first statement is used. The regressor variables are expected to have nonmissing values. If any of the variables has a missing value in an observation, then a warning is written to the SAS log and that observation is ignored.\",\"help\":\"SCALEMODEL &lt;DFMIXTURE=&lt;FULL | MEAN | QUANTILE&gt;... &gt;&lt;OFFSET=offset-variable-name&gt;\",\"arguments\":[{\"name\":\"DFMIXTURE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the method for computing representative estimates of the cumulative distribution function (CDF).\",\"help\":\"DFMIXTURE=FULL | MEAN | QUANTILE | RANDOM\",\"type\":\"choice\",\"arguments\":[{\"name\":\"FULL\",\"followsDelimiter\":\"/\",\"description\":\"Specifies that the representative distribution be the mixture of N distributions such that each distribution has a scale value that is implied by each of the N observations that are used for estimation. This method is the slowest.\",\"type\":\"standalone\"},{\"name\":\"MEAN\",\"followsDelimiter\":\"/\",\"description\":\"Specifies that the representative distribution be the one-point mixture of the distribution whose scale value is the mean of the N scale values that are implied by the N observations that are used for estimation. If you do not specify the DFMIXTURE= option, then this method is used by default. This is also the fastest method.\",\"type\":\"standalone\"},{\"name\":\"QUANTILE\",\"followsDelimiter\":\"/\",\"description\":\"Syntax: QUANTILE < (K=q) > specifies that the representative distribution be the mixture of a fixed number of distributions whose scale values are the quantiles from the sample of N scale values that are implied by the N observations in the current BY group (or in the entire DATA= data set if the BY statement is not specified). You can use the K= option to specify the number of distributions in the mixture. If you specify K=q, then the mixture contains (q - 1) distributions such that each distribution has as its scale one of the (q - 1)-quantiles.\",\"type\":\"standalone\"},{\"name\":\"RANDOM\",\"followsDelimiter\":\"/\",\"description\":\"Syntax: RANDOM < (random-method-options) > specifies that the representative distribution be the mixture of a fixed number of distributions whose scale values are the scale values that are implied by a randomly chosen subset of the set of all observations in the current BY group (or in the entire DATA= data set if the BY statement is not specified). The same subset of observations is used for each distribution family. You can specify the following random-method-options to specify how the subset is chosen: K=r specifies the number of distributions to include in the mixture. If you do not specify this option, then PROC HPSEVERITY uses the default of 15. SEED=number specifies the seed that is used to generate the uniform random sample of observation indices. If you do not specify this option, then PROC HPSEVERITY generates a seed internally that is based on the current value of the system clock.\",\"type\":\"standalone\"}]},{\"name\":\"OFFSET=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the name of the offset variable in the scale regression model. An offset variable is a regressor variable whose regression coefficient is known to be 1.\",\"help\":\"OFFSET=*offset-variable-name*\",\"type\":\"value\"}]},{\"name\":\"SELECT\",\"description\":\"Executes one of several statements or groups of statements.\",\"help\":\"\"},{\"name\":\"SET\",\"description\":\"Reads an observation from one or more SAS data sets.\",\"help\":\"SET &lt;END=variable&gt;&lt;INDSNAME=variable&gt;&lt;KEY=index&lt;/UNIQUE&gt;&gt; ...\",\"arguments\":[{\"name\":\"ALTER=\",\"optional\":true,\"description\":\"\",\"type\":\"value\"},{\"name\":\"BUFNO=\",\"optional\":true,\"description\":\"\",\"help\":\"BUFNO=n | nK | hexX | MIN | MAX\",\"type\":\"choice\",\"arguments\":[{\"name\":\"n\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"nK\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"hexX\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"MIN\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"MAX\",\"description\":\"\",\"type\":\"standalone\"}]},{\"name\":\"BUFSIZE=\",\"optional\":true,\"description\":\"\",\"help\":\"BUFSIZE=n | nK | nM | nG | hexX | MIN | MAX\",\"type\":\"choice\",\"arguments\":[{\"name\":\"n\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"nK\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"nM\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"nG\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"hexX\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"MIN\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"MAX\",\"description\":\"\",\"type\":\"standalone\"}]},{\"name\":\"CNTLLEV=\",\"optional\":true,\"description\":\"\",\"help\":\"CNTLLEV=LIB | MEM | REC\",\"type\":\"choice\",\"arguments\":[{\"name\":\"LIB\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"MEM\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"REC\",\"description\":\"\",\"type\":\"standalone\"}]},{\"name\":\"COMPRESS=\",\"optional\":true,\"description\":\"\",\"help\":\"COMPRESS=NO | YES | CHAR | BINARY\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NO\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"YES\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"CHAR\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"BINARY\",\"description\":\"\",\"type\":\"standalone\"}]},{\"name\":\"CUREOBS=\",\"optional\":true,\"description\":\"Creates and names a variable that contains the observation number that was just read from the data set.\",\"type\":\"value\"},{\"name\":\"DLDMGACTION=\",\"optional\":true,\"description\":\"\",\"help\":\"DLDMGACTION=FAIL | ABORT | REPAIR | NOINDEX | PROMPT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"FAIL\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"ABORT\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"REPAIR\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"NOINDEX\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"PROMPT\",\"description\":\"\",\"type\":\"standalone\"}]},{\"name\":\"DROP=\",\"optional\":true,\"description\":\"\",\"type\":\"value\"},{\"name\":\"ENCRYPT=\",\"optional\":true,\"description\":\"\",\"help\":\"ENCRYPT=YES | NO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YES\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"NO\",\"description\":\"\",\"type\":\"standalone\"}]},{\"name\":\"ENCRYPTKEY=\",\"optional\":true,\"description\":\"\",\"type\":\"value\"},{\"name\":\"END=\",\"optional\":true,\"description\":\"Creates and names a temporary variable that contains an end-of-file indicator. The variable, which is initialized to zero, is set to 1 when SET reads the last observation of the last data set listed. This variable is not added to any new data set.\",\"help\":\"END=*variable*\",\"type\":\"value\"},{\"name\":\"EXTENDOBSCOUNTER=\",\"optional\":true,\"description\":\"\",\"type\":\"value\"},{\"name\":\"FILECLOSE=\",\"optional\":true,\"description\":\"\",\"help\":\"FILECLOSE=DISP | LEAVE | REREAD | REWIND\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DISP\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"LEAVE\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"REREAD\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"REWIND\",\"description\":\"\",\"type\":\"standalone\"}]},{\"name\":\"FIRSTOBS=\",\"optional\":true,\"description\":\"\",\"help\":\"FIRSTOBS=n | nK | nM | nG | hexX | MIN | MAX\",\"type\":\"choice\",\"arguments\":[{\"name\":\"n\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"nK\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"nM\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"nG\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"hexX\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"MIN\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"MAX\",\"description\":\"\",\"type\":\"standalone\"}]},{\"name\":\"GENMAX=\",\"optional\":true,\"description\":\"Requests generations for a data set and specifies the maximum number of versions.\",\"type\":\"value\"},{\"name\":\"GENNUM=\",\"optional\":true,\"description\":\"\",\"type\":\"value\"},{\"name\":\"IDXNAME=\",\"optional\":true,\"description\":\"\",\"type\":\"value\"},{\"name\":\"IDXWHERE=\",\"optional\":true,\"description\":\"\",\"help\":\"IDXWHERE=YES | NO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YES\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"NO\",\"description\":\"\",\"type\":\"standalone\"}]},{\"name\":\"IN=\",\"optional\":true,\"description\":\"\",\"type\":\"value\"},{\"name\":\"INDEX=\",\"optional\":true,\"description\":\"\",\"type\":\"value\"},{\"name\":\"INDSNAME=\",\"optional\":true,\"description\":\"Creates and names a variable that stores the name of the SAS data set from which the current observation is read. The stored name can be a data set name or a physical name. The physical name is the name by which the operating environment recognizes the file.\",\"help\":\"INDSNAME=*variable*\",\"type\":\"value\"},{\"name\":\"KEEP=\",\"optional\":true,\"description\":\"\",\"type\":\"value\"},{\"name\":\"KEY=\",\"optional\":true,\"description\":\"Provides nonsequential access to observations in a SAS data set, which are based on the value of an index variable or a key.\",\"type\":\"value\"},{\"name\":\"KEYRESET=\",\"optional\":true,\"description\":\"Controls whether a KEY= search should begin at the top of the index for the data set that is being read. When the value of the KEYRESET variable is 1, the index lookup begins at the top of the index. When the value of the KEYRESET variable is 0, the index lookup is not reset and the lookup continues where the prior lookup ended.\",\"help\":\"KEYRESET=*variable*\",\"type\":\"value\"},{\"name\":\"LABEL=\",\"optional\":true,\"description\":\"\",\"type\":\"value\"},{\"name\":\"NOBS=\",\"optional\":true,\"description\":\"Creates and names a temporary variable whose value is usually the total number of observations in the input data set or data sets. If more than one data set is listed in the SET statement, NOBS= the total number of observations in the data sets that are listed. The number of observations includes those observations that are marked for deletion but are not yet deleted.\",\"help\":\"NOBS=*variable*\",\"type\":\"value\"},{\"name\":\"NOMISS\",\"optional\":true,\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"OBS=\",\"optional\":true,\"description\":\"\",\"help\":\"OBS=n | nK | nM | nG | nT | hexX | MIN | MAX\",\"type\":\"choice\",\"arguments\":[{\"name\":\"n\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"nK\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"nM\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"nG\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"nT\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"hexX\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"MIN\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"MAX\",\"description\":\"\",\"type\":\"standalone\"}]},{\"name\":\"OPEN=\",\"optional\":true,\"description\":\"Allows you to delay the opening of any concatenated SAS data sets until they are ready to be processed.\",\"help\":\"OPEN=IMMEDIATE | DEFER\",\"type\":\"choice\",\"arguments\":[{\"name\":\"IMMEDIATE\",\"description\":\"During the compilation phase, opens all data sets that are listed in the SET statement.\",\"type\":\"standalone\"},{\"name\":\"DEFER\",\"description\":\"Opens the first data set during the compilation phase, and opens subsequent data sets during the execution phase. When the DATA step reads and processes all observations in a data set, it closes the data set and opens the next data set in the list.\",\"type\":\"standalone\"}]},{\"name\":\"OUTREP=\",\"optional\":true,\"description\":\"\",\"type\":\"value\"},{\"name\":\"POINT=\",\"optional\":true,\"description\":\"Specifies a temporary variable whose numeric value determines which observation is read. POINT= causes the SET statement to use random (direct) access to read a SAS data set.\",\"help\":\"POINT=*variable*\",\"type\":\"value\"},{\"name\":\"POINTOBS=\",\"optional\":true,\"description\":\"\",\"help\":\"POINTOBS=YES | NO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YES\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"NO\",\"description\":\"\",\"type\":\"standalone\"}]},{\"name\":\"PW=\",\"optional\":true,\"description\":\"\",\"type\":\"value\"},{\"name\":\"PWREQ=\",\"optional\":true,\"description\":\"\",\"help\":\"PWREQ=YES | NO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YES\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"NO\",\"description\":\"\",\"type\":\"standalone\"}]},{\"name\":\"READ=\",\"optional\":true,\"description\":\"Assigns a read password to a SAS file and enables access to a read-protected SAS file.\",\"type\":\"value\"},{\"name\":\"RENAME=\",\"optional\":true,\"description\":\"\",\"type\":\"value\"},{\"name\":\"REPEMPTY=\",\"optional\":true,\"description\":\"\",\"help\":\"REPEMPTY=YES | NO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YES\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"NO\",\"description\":\"\",\"type\":\"standalone\"}]},{\"name\":\"REPLACE=\",\"optional\":true,\"description\":\"\",\"help\":\"REPLACE=YES | NO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YES\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"NO\",\"description\":\"\",\"type\":\"standalone\"}]},{\"name\":\"REUSE=\",\"optional\":true,\"description\":\"\",\"help\":\"REUSE=YES | NO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YES\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"NO\",\"description\":\"\",\"type\":\"standalone\"}]},{\"name\":\"SGIO=\",\"optional\":true,\"description\":\"\",\"help\":\"SGIO=YES | NO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YES\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"NO\",\"description\":\"\",\"type\":\"standalone\"}]},{\"name\":\"SORTEDBY=\",\"optional\":true,\"description\":\"\",\"help\":\"SORTEDBY=by-clause &lt; / collate-name&gt; | _NULL_\",\"type\":\"choice\",\"arguments\":[{\"name\":\"by-clause\",\"description\":\"\",\"help\":\"by-clause &lt; / collate-name&gt;\",\"type\":\"standalone\"},{\"name\":\"_NULL_\",\"description\":\"\",\"type\":\"standalone\"}]},{\"name\":\"SPILL=\",\"optional\":true,\"description\":\"\",\"help\":\"SPILL=YES | NO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YES\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"NO\",\"description\":\"\",\"type\":\"standalone\"}]},{\"name\":\"TOBSNO=\",\"optional\":true,\"description\":\"\",\"type\":\"value\"},{\"name\":\"TRANTAB=\",\"optional\":true,\"description\":\"\",\"type\":\"value\"},{\"name\":\"TYPE=\",\"optional\":true,\"description\":\"\",\"type\":\"value\"},{\"name\":\"UNIQUE\",\"optional\":true,\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"WHERE=\",\"optional\":true,\"description\":\"\",\"type\":\"value\"},{\"name\":\"WHEREUP=\",\"optional\":true,\"description\":\"\",\"help\":\"WHEREUP=YES | NO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YES\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"NO\",\"description\":\"\",\"type\":\"standalone\"}]},{\"name\":\"WRITE=\",\"optional\":true,\"description\":\"\",\"type\":\"value\"}]},{\"name\":\"STOP\",\"description\":\"Stops execution of the current DATA step.\",\"help\":\"STOP\"},{\"name\":\"WEIGHT\",\"description\":\"The WEIGHT statement specifies the name of a variable whose values represent the weight of each observation. PROC HPSEVERITY associates a weight of w to each observation, where w is the value of the WEIGHT variable for the observation. If the weight value is missing or less than or equal to 0, then the observation is ignored and a warning is written to the SAS log. When the WEIGHT statement is not specified, each observation is assigned a weight of 1. If you specify more than one WEIGHT statement, then the last statement is used. The weights are normalized so that they add up to the actual sample size.\",\"help\":\"WEIGHT variable-name \"},{\"name\":\"WHEN\",\"description\":\"Identifies SAS statements that are executed when a particular condition is true.\",\"help\":\"WHEN &lt;DO&gt;\",\"arguments\":[{\"name\":\"DO\",\"optional\":true,\"description\":\"Action statement.\",\"type\":\"standalone\"}]},{\"name\":\"WHERE\",\"description\":\"Selects observations from SAS data sets that meet a particular condition.\",\"help\":\"WHERE where-expression-1\"}],\"supportSiteInformation\":{\"docsetId\":\"etsug\",\"docsetVersion\":\"latest\",\"docsetTargetFile\":\"etsug_hpseverity_toc.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/HPSPLIT.json",
    "content": "{\"name\":\"HPSPLIT\",\"statements\":[{\"name\":\"PROC HPSPLIT\",\"description\":\"The HPSPLIT procedure is a high-performance procedure that builds tree-based statistical models for classification and regression. The procedure produces classification trees, which model a categorical response, and regression trees, which model a continuous response. Both types of trees are referred to as decision trees because the model is expressed as a series of if-then statements.\",\"help\":\"PROC HPSPLIT <ASSIGNMISSING=BRANCH | POPULAR | SIMILAR... ><CVCC><CVMETHOD=RANDOM | NONE><CVMODELFIT><DATA=< libref.>SAS-data-set><INTERVALBINS=number><LEVTHRESH1=number><LEVTHRESH2=number><MAXBRANCH=b><MAXDEPTH=number><MINCATSIZE=number><LEAFSIZE=number><MINVARIANCE=value><NODES=DETAIL | SUMMARY><NOPRINT><NSURROGATES=number><PLOTS=ALL | CVCC | PRUNEUNTIL... ><SEED=number><SPLITONCE>;     \\n\\tCLASS <DESCENDING><ORDER=<FORMATTED | INTERNAL>><UPCASE> ...;\\n\\n\\tCODE <file=[filename | fileref> ;\\n\\n\\tCRITERION ENTROPY FASTCHAID GINI ...;\\n\\n\\tGROW <CHAID < (options) >><CHISQUARE < (options) >><ENTROPY (<options>) | GAIN < option >> ...;\\n\\n\\tID variables ;\\n\\n\\tMODEL <EVENT='category'> ;\\n\\n\\tOUTPUT OUT=SAS-data-set ;\\n\\n\\tPARTITION <FRACTION(VALIDATE=fraction) < SEED=number >><ROLEVAR=variable(TRAIN='value', VALID='value')> ;\\n\\n\\tPERFORMANCE <COMMIT=n><CPUCOUNT=<ACTUAL | <num>>><DATASERVER=“name”> ...;\\n\\n\\tPRUNE <PRUNE by < / until operator value >><C45 < / confidence >><NONE> ...;\\n\\n\\tRULES file=[filename | fileref] ;\\n\\n\\tSCORE <OUT=< libref.>SAS-data-set> ;\\n\\n\\tTARGET variable ;\\n\",\"arguments\":[{\"name\":\"ASSIGNMISSING=\",\"optional\":true,\"description\":\"Specifies how PROC HPSPLIT creates a default splitting rule to handle missing values, unknown levels, and levels that have fewer observations than you specify in the MINCATSIZE= option.\",\"help\":\"ASSIGNMISSING=BRANCH | POPULAR | SIMILAR | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"BRANCH\",\"description\":\"Specifies that PROC HPSPLIT create a special child (branch) for the default rule and assign to that child missing values, unknown levels, and levels that have fewer observations than you specify in the MINCATSIZE= option.\",\"type\":\"standalone\"},{\"name\":\"POPULAR\",\"description\":\"Specifies that missing values be assigned to the most popular (largest) child.\",\"type\":\"standalone\"},{\"name\":\"SIMILAR\",\"description\":\"Specifies that missing values be assigned to the child that they are most similar to (using the chi-square for categorical responses or F-test criterion for continuous responses).\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"Specifies that observations that have any missing variables be excluded from the analysis.\",\"type\":\"standalone\"}]},{\"name\":\"CVCC\",\"optional\":true,\"aliases\":[\"CVCOSTCOMPLEXITY\"],\"description\":\"Requests a table of the results of cost-complexity pruning based on cross validation.\",\"type\":\"standalone\"},{\"name\":\"CVMETHOD=\",\"optional\":true,\"description\":\"Requests the cross validation method to be performed.\",\"help\":\"CVMETHOD=RANDOM | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"RANDOM\",\"description\":\"Assigns each training observation randomly to one of the k folds (with a probability of 1/k for any given fold) for cross validation. The default value of k is 10.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"Suppresses cross validation.\",\"type\":\"standalone\"}]},{\"name\":\"CVMODELFIT\",\"optional\":true,\"description\":\"Requests model assessment with cross validation. When you specify this option, the procedure does a cross validation of the final model parameters and produces a table that describes the cross validation error measures of the parameters.\",\"type\":\"standalone\"},{\"name\":\"DATA=\",\"optional\":true,\"description\":\"Names the input SAS data set to be used by PROC HPSPLIT. The default is the most recently created data set.\",\"type\":\"value\"},{\"name\":\"INTERVALBINS=\",\"optional\":true,\"description\":\"Specifies the number of bins for continuous variables. PROC HPSPLIT bins continuous predictors to a fixed bin size.\",\"help\":\"INTERVALBINS=*number*\",\"type\":\"value\"},{\"name\":\"LEVTHRESH1=\",\"optional\":true,\"description\":\"Applies only to categorical predictor variables and specifies the limit for the number of computations in an exhaustive search for the optimal partition of the levels of a particular variable.\",\"help\":\"LEVTHRESH1=*number*\",\"type\":\"value\"},{\"name\":\"LEVTHRESH2=\",\"optional\":true,\"description\":\"Applies to categorical predictor variables and continuous predictor variables with multiway splits. This option does not apply to continuous predictor variables with binary splits.\",\"help\":\"LEVTHRESH2=*number*\",\"type\":\"value\"},{\"name\":\"MAXBRANCH=\",\"optional\":true,\"description\":\"Specifies the maximum number of children per node in the tree. PROC HPSPLIT tries to create this number of children unless it is impossible (for example, if a split variable does not have enough levels). By default, MAXBRANCH=2.\",\"help\":\"MAXBRANCH=*b*\",\"type\":\"value\"},{\"name\":\"MAXDEPTH=\",\"optional\":true,\"description\":\"The maximum depth of the tree to be grown.\",\"help\":\"MAXDEPTH=*number*\",\"type\":\"value\"},{\"name\":\"MINCATSIZE=\",\"optional\":true,\"description\":\"If a nominal variable level has less than MINCATSIZE observations in the training set, it is added to the missing values for the respective split and not included in the splitting decision.\",\"help\":\"MINCATSIZE=*number*\",\"type\":\"value\"},{\"name\":\"MINLEAFSIZE=\",\"optional\":true,\"description\":\"Specifies the minimum number of observations that each child of a split must contain in the training data set in order for the split to be considered.\",\"type\":\"value\"},{\"name\":\"MINVARIANCE=\",\"optional\":true,\"description\":\"Specifies the minimum variance for a regression tree leaf to be eligible for splitting. That is, leaves whose variance is less than value are not split any further.\",\"help\":\"MINVARIANCE=*value*\",\"type\":\"value\"},{\"name\":\"NODES=\",\"optional\":true,\"description\":\"requests a table that contains the description of the paths from each leaf to the root.\",\"help\":\"NODES=DETAIL | SUMMARY\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DETAIL\",\"description\":\"Assigns each training observation randomly to one of the k folds (with a probability of 1/k for any given fold) for cross validation. The default value of k is 10.\",\"type\":\"standalone\"},{\"name\":\"SUMMARY\",\"description\":\"Suppresses cross validation.\",\"type\":\"standalone\"}]},{\"name\":\"NOPRINT\",\"optional\":true,\"description\":\"Suppresses the generation of ODS output.\",\"type\":\"standalone\"},{\"name\":\"NSURROGATES=\",\"optional\":true,\"description\":\"Specifies the number of surrogate rules to create for each splitting rule. Surrogate rules are backup splitting rules that are used when the variable that corresponds to the primary splitting rule is missing. By default, NSURROGATES=0.\",\"help\":\"NSURROGATES=*number*\",\"type\":\"value\"},{\"name\":\"PLOTS=\",\"optional\":true,\"description\":\"Controls the plots that are produced through ODS Graphics. When you specify only one plot-request, you can omit the parentheses around it.\",\"help\":\"PLOTS=ALL | CVCC | PRUNEUNTIL | ROC | WHOLETREE | ZOOMEDTREE | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ALL\",\"description\":\"Produces all appropriate plots.\",\"type\":\"standalone\"},{\"name\":\"CVCC\",\"description\":\"Syntax: CVCC<(ASE)> Produces a plot that is used to determine the tuning parameter for cost-complexity pruning when cross validation is used. ASE suboption displays the ASE when the response variable is a classification variable.\",\"type\":\"standalone\"},{\"name\":\"PRUNEUNTIL\",\"description\":\"Produces a plot of the metric that is used to select the final subtree.\",\"type\":\"standalone\"},{\"name\":\"ROC\",\"description\":\"Produces the receiver operating characteristic (ROC) curve. This option is enabled by default.\",\"type\":\"standalone\"},{\"name\":\"WHOLETREE\",\"description\":\"Syntax: WHOLETREE <(whole-tree-options)> Produces a plot to visualize the entire finished (grown and pruned) tree. This option is enabled by default.\",\"type\":\"standalone\"},{\"name\":\"ZOOMEDTREE\",\"description\":\"Syntax: ZOOMEDTREE <(zoomed-tree-options)> Produces a plot to visualize a portion of the finished (grown and pruned) tree. This option is enabled by default.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"Suppresses the default plots. Only plots that you specifically request are displayed.\",\"type\":\"standalone\"}]},{\"name\":\"SEED=\",\"optional\":true,\"description\":\"Specifies the initial seed for random number generation for cross validation. The value of number must be an integer. The default seed is based on the date and time.\",\"help\":\"SEED=*number*\",\"type\":\"value\"},{\"name\":\"SPLITONCE\",\"optional\":true,\"description\":\"Specifies that variables be split only once on a branch. However, a variable can be used more than once across branches. That is, a variable cannot be split more than once on the path from any leaf to the root node.\",\"type\":\"standalone\"}]},{\"name\":\"CLASS\",\"description\":\"The CLASS statement names the classification variables to be used in the analysis. Typical class variables are Treatment, Sex, Race, Group, and Replication. If the CLASS statement is used, it must appear before the MODEL statement. Classification variables can be either character or numeric. Class levels are determined from the formatted values of the variables. Thus, you can use formats to group values into levels.\",\"help\":\"CLASS &lt;DESCENDING&gt;&lt;ORDER=&lt;FORMATTED | INTERNAL&gt;&gt;&lt;UPCASE&gt; ...\",\"arguments\":[{\"name\":\"DESCENDING\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"DESC\"],\"description\":\"Reverses the sort order of the classification variable. If you specify both the DESCENDING and ORDER= options, PROC ADAPTIVEREG orders the categories according to the ORDER= option and then reverses that order.\",\"type\":\"standalone\"},{\"name\":\"ORDER=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the sort order for the levels of classification variables. By default, ORDER=FORMATTED except for numeric CLASS variables that have no specified format, for which ORDER=INTERNAL is the default.\",\"help\":\"ORDER=FORMATTED | INTERNAL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"FORMATTED\",\"followsDelimiter\":\"/\",\"description\":\"Orders values in ascending order of the formatted value.\",\"type\":\"standalone\"},{\"name\":\"INTERNAL\",\"followsDelimiter\":\"/\",\"description\":\"Orders values in ascending order of the unformatted value.\",\"type\":\"standalone\"}]},{\"name\":\"UPCASE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Uppercases the values of character-valued CLASS variables before levelizing them. For example, if the UPCASE option is in effect and a CLASS variable can take the values 'a', 'A', and 'b', then 'a' and 'A' represent the same level and the CLASS variable is treated as having only two values: 'A' and 'B'.\",\"type\":\"standalone\"}]},{\"name\":\"CODE\",\"description\":\"If the CODE statement is used, the final tree will be converted into SAS data step code which can be used for scoring. The code will be written to the file specified through the filename filename or fileref fileref. If a target is missing, the _WARN_ variable will be set to “M” for that record in the output SAS data step code. Otherwise, _WARN_ will be set to “ ”. If no CODE statement is used, no SAS data step code will be output.\",\"help\":\"CODE &lt;file=[filename | fileref&gt;\",\"arguments\":[{\"name\":\"FILE=\",\"optional\":true,\"description\":\"Names the external file or fileref that saves the generated code. When enclosed in a quoted string (for example, FILE=\\\"c:nmydirnscorecode.sas\\\"), this option specifies the path for writing the code to an external file. You can also specify unquoted SAS filenames of no more than eight characters for filename. If the filename is assigned as a fileref in a Base SAS FILENAME statement, the file specified in the FILENAME statement is opened. The special filerefs LOG and PRINT are always assigned. If the specified filename is not an assigned fileref, the specified value for filename is concatenated with a .txt extension before the file is opened. For example, if FOO is not an assigned fileref, FILE=FOO causes FOO.txt to be opened. If filename has more than eight characters, an error message is printed.\",\"type\":\"value\"}]},{\"name\":\"CRITERION\",\"description\":\"Specifies the criterion by which to grow the tree. FastCHAID uses a Kolmogorov-Smirnov splitter to determine splits for each variable, following a recursive method similar to (?) (after ordering nominal variables’ levels by EVENT level) and then uses the lowest of each variable’s resulting p-value to determine the variable on which to split. criterion is one of the following: • ENTROPY • GINI • FASTCHAID\",\"help\":\"CRITERION ENTROPY FASTCHAID GINI ...\",\"arguments\":[{\"name\":\"ENTROPY\",\"description\":\"[criterion]\",\"type\":\"standalone\"},{\"name\":\"FASTCHAID\",\"description\":\"[criterion]\",\"type\":\"standalone\"},{\"name\":\"GINI\",\"description\":\"[criterion]\",\"type\":\"standalone\"},{\"name\":\"BFTHRESH1=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the maximum number of computations to perform for an exhaustive search. If the input variable being examined is an interval variable, it will try to fall back to the fast algorithm. Otherwise, it will fall back to a greedy algorithm.\",\"help\":\"BFTHRESH1=*number*\",\"type\":\"value\"},{\"name\":\"LEVTHRESH2=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the maximum number of computations to perform for a greedy search. If the input variable being examined is an interval variable, it will fall back to the fast algorithm. Otherwise, it will fall back to a greedy algorithm. Although this is similar to LEVTHRESH1, it specifies the computations of the fallback algorithm for finding the best splits of a nominal variable, which is a much different computational complexity.\",\"help\":\"LEVTHRESH2=*number*\",\"type\":\"value\"}]},{\"name\":\"GROW\",\"description\":\"The GROW statement specifies the criterion by which to split a parent node into child nodes. As it grows the tree, PROC FOREST calculates the specified criterion for each predictor variable and then splits on the predictor variable whose criterion is closest to the value specified for that criterion.\",\"help\":\"GROW &lt;CHAID &lt; (options) &gt;&gt;&lt;CHISQUARE &lt; (options) &gt;&gt;&lt;ENTROPY (&lt;options&gt;) | GAIN &lt; option &gt;&gt; ...\",\"arguments\":[{\"name\":\"CHAID=\",\"optional\":true,\"description\":\"For categorical predictor variables, CHAID uses the value (as specified in the ALPHA= option) of a chi-square statistic (for a classification tree) or an F statistic (for a regression tree) to merge similar levels of the predictor variable until the number of children in the proposed split reaches the number that you specify in the MAXBRANCH= option. The p-values for the final split determine the variable on which to split. For continuous predictor variables, CHAID chooses the best single split until the number of children in the proposed split reaches the value that you specify in the MAXBRANCH= option.\",\"help\":\"CHAID=ALPHA= | BONFERRONI\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ALPHA=\",\"type\":\"value\"},{\"name\":\"BONFERRONI\",\"type\":\"standalone\"}]},{\"name\":\"CHISQUARE=\",\"optional\":true,\"description\":\"Uses a chi-square statistic to split each variable and then uses the p-values that correspond to the resulting splits to determine the splitting variable.\",\"help\":\"CHISQUARE=ALPHA= | BONFERRONI\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ALPHA=\",\"type\":\"value\"},{\"name\":\"BONFERRONI\",\"type\":\"standalone\"}]},{\"name\":\"ENTROPY=\",\"optional\":true,\"aliases\":[\"GAIN\"],\"description\":\"Uses the gain in information (decrease in entropy) to split each variable and then to determine the split.\",\"help\":\"ENTROPY=MINENTROPY= | MINGAIN=\",\"type\":\"choice\",\"arguments\":[{\"name\":\"MINENTROPY=\",\"type\":\"value\"},{\"name\":\"MINGAIN=\",\"type\":\"value\"}]},{\"name\":\"FASTCHAID=\",\"optional\":true,\"description\":\"Uses a Kolmogorov-Smirnov splitter to determine splits for each variable. The FastCHAID criterion follows a recursive method similar to that of Friedman (1977) after ordering the levels according to the response variable. The criterion then selects the split variable as the variable that has the smallest p-value.\",\"type\":\"value\"},{\"name\":\"FTEST=\",\"optional\":true,\"description\":\"Uses an F statistic to split each variable and then uses the resulting p-value to determine the split variable.\",\"help\":\"FTEST=ALPHA= | BONFERRONI\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ALPHA=\",\"type\":\"value\"},{\"name\":\"BONFERRONI\",\"type\":\"standalone\"}]},{\"name\":\"GINI\",\"optional\":true,\"description\":\"Uses the decrease in the Gini index to split each variable and then to determine the split.\",\"type\":\"standalone\"},{\"name\":\"IGR\",\"optional\":true,\"description\":\"Uses the entropy metric to split each variable and then uses the information gain ratio to determine the split.\",\"type\":\"standalone\"},{\"name\":\"RSS\",\"optional\":true,\"aliases\":[\"VARIANCE\"],\"description\":\"Uses the change in response variance to split each variable and then to determine the split.\",\"type\":\"standalone\"}]},{\"name\":\"ID\",\"description\":\"The ID statement lists one or more variables from the predictor data set that are to be transferred to the output data set that you specify in the OUTPUT statement.\",\"help\":\"ID variables \"},{\"name\":\"MODEL\",\"description\":\"The MODEL statement causes PROC HPSPLIT to create a tree model by using response as the response variable and variable as a predictor. By default, variable is treated as a continuous predictor if it is a numeric variable, or as a categorical variable if the variable also appears in the CLASS statement.\",\"help\":\"MODEL &lt;EVENT='category'&gt;\",\"arguments\":[{\"name\":\"EVENT=\",\"optional\":true,\"description\":\"Specifies the event level for a binary categorical response variable. PROC HPSPLIT associates this level with the event of interest (sometimes referred to as the positive outcome) for the purpose of computing sensitivity, specificity, and area under the curve (AUC) and creating receiver operating characteristic (ROC) curves. You can specify the value (formatted if a format is applied) of the event category in quotation marks.\",\"help\":\"EVENT='*category*'\",\"type\":\"value\"}]},{\"name\":\"OUTPUT\",\"description\":\"The OUTPUT statement creates a data set that contains one observation for each observation in the input data set.\",\"help\":\"OUTPUT OUT=SAS-data-set \",\"arguments\":[{\"name\":\"OUT=\",\"description\":\"The OUT= data set contains the following: o the response variable o any variables that you specify by using the ID statement o the observation’s assigned leaf number o the observation’s assigned node number\",\"help\":\"OUT=*SAS-data-set*\",\"type\":\"dataSet\"}]},{\"name\":\"PARTITION\",\"description\":\"The PARTITION statement specifies how observations in the input data set are logically partitioned into disjoint subsets for model training, validation, and testing. Either you can designate a variable in the input data set and a set of formatted values of that variable to determine the role of each observation, or you can specify proportions to use for random assignment of observations for each role.\",\"help\":\"PARTITION &lt;FRACTION(VALIDATE=fraction) &lt; SEED=number &gt;&gt;&lt;ROLEVAR=variable(TRAIN='value', VALID='value')&gt;\",\"arguments\":[{\"name\":\"FRACTION=\",\"optional\":true,\"description\":\"requests that specified proportions of the observations in the input data set be randomly assigned training and validation roles. You specify the proportions for testing and validation by using the VALIDATE= sub-option. The SEED sub-option sets the seed. Because fraction is a per-observation probability, setting fraction too low can result in an empty or nearly-empty validation set!\",\"help\":\"FRACTION=VALIDATE= | SEED=\",\"type\":\"choice\",\"arguments\":[{\"name\":\"VALIDATE=\",\"type\":\"value\"},{\"name\":\"SEED=\",\"type\":\"value\"}]},{\"name\":\"ROLEVAR=\",\"optional\":true,\"description\":\"names the variable in the input data set whose values are used to assign roles to each observation. The formatted values of this variable that are used to assign observations roles are specified in the TRAIN=, and VALID= sub-options.\",\"help\":\"ROLEVAR=TRAIN= | VALID=\",\"type\":\"choice\",\"arguments\":[{\"name\":\"TRAIN=\",\"type\":\"value\"},{\"name\":\"VALID=\",\"type\":\"value\"}]}]},{\"name\":\"PERFORMANCE\",\"description\":\"The PERFORMANCE statement defines performance parameters for multithreaded and distributed computing, passes variables about the distributed computing environment, and requests detailed results about the performance characteristics of a High-Performance Analytics procedure. With the PERFORMANCE statement, you can also control whether the HPREG procedure executes in SMP or MPP mode.\",\"help\":\"PERFORMANCE &lt;COMMIT=n&gt;&lt;CPUCOUNT=&lt;ACTUAL | &lt;num&gt;&gt;&gt;&lt;DATASERVER=“name”&gt; ...\",\"arguments\":[{\"name\":\"COMMIT=\",\"optional\":true,\"description\":\"Requests that the High-Performance Analytics procedure write periodic updates to the SAS Log when observations are sent from the client to the appliance for distributed processing.\",\"help\":\"COMMIT=*n*\",\"type\":\"value\"},{\"name\":\"CPUCOUNT=\",\"optional\":true,\"description\":\"Specifies how many processors the procedure assumes are available on each host in the computing environment. num can be any integer from 1 to 256. CPUCOUNT=ACTUAL sets CPUCOUNT to the number of physical processors available. This number can be less than the physical number of CPUs if the SAS process has been restricted by system administration tools. Setting CPUCOUNT= to a number greater than the actual number of available CPUs might result in reduced performance. This option overrides the CPUCOUNT= SAS system option.\",\"help\":\"CPUCOUNT=ACTUAL | &lt;*num*&gt;\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ACTUAL\",\"description\":\"Sets CPUCOUNT to the number of physical processors available. This number can be less than the physical number of CPUs if the SAS process has been restricted by system administration tools.\",\"type\":\"standalone\"},{\"name\":\"num\",\"placeholder\":true,\"description\":\"Replace <num> with an actual number. Setting CPUCOUNT= to a number greater than the actual number of available CPUs might result in reduced performance. This option overrides the CPUCOUNT= SAS system option.\",\"type\":\"standaloneOrValue\"}]},{\"name\":\"DATASERVER=\",\"optional\":true,\"description\":\"Specifies the name of the server on Teradata systems as defined through the hosts file and as used in the LIBNAME statement for Teradata. For example, if the hosts file defines myservercop1 33.44.55.66 as the server for Teradata, then a LIBNAME specification would be as follows: libname TDLib teradata server=myserver user= password= database= ; A PERFORMANCE statement to induce running alongside the Teradata server would specify the following:\",\"type\":\"value\"},{\"name\":\"DETAILS\",\"optional\":true,\"description\":\"Requests a table that shows a timing breakdown of the procedure steps.\",\"type\":\"standalone\"},{\"name\":\"HOST=\",\"optional\":true,\"aliases\":[\"GRIDHOST=\"],\"description\":\"Specifies the name of the appliance host in single or double quotes. If the HOST= option is specified, it overrides the value of the GRIDHOST environment variable.\",\"type\":\"value\"},{\"name\":\"INSTALL=\",\"optional\":true,\"aliases\":[\"INSTALLLOC=\"],\"description\":\"Specifies the directory in which the High-Performance Analytics shared libraries are installed on the appliance. Specifying the INSTALL= option overrides the GRIDINSTALLLOC environment variable.\",\"type\":\"value\"},{\"name\":\"NODES=\",\"optional\":true,\"aliases\":[\"NNODES=\"],\"description\":\"Specifies the number of nodes in the distributed computing environment, provided that the data are not processed alongside the database.\",\"type\":\"value\"},{\"name\":\"NTHREADS=\",\"optional\":true,\"description\":\"Specifies the number of threads for analytic computations and overrides the SAS system option THREADS | NOTHREADS. If you do not specify the NTHREADS= option, the number of threads are determined based on the number of CPUs on the host on which the analytic computations execute. The algorithm by which a CPU count is converted to a thread count is specific to the High- Performance Analytics procedure. Most procedures create one thread per CPU for the analytic computations. By default, High-Performance Analytics procedures execute in multiple concurrent threads unless turned off by the NOTHREADS system option or you force single-threaded execution with NTHREADS=1. The largest number that can be specified for n is 256. Individual High-Performance Analytics procedures can impose more stringent limits if called for by algorithmic considerations. You can affect the determination of the CPU count with the CPUCOUNT= option in the PERFORMANCE statement.\",\"help\":\"NTHREADS=*n*\",\"type\":\"value\"},{\"name\":\"TIMEOUT=\",\"optional\":true,\"description\":\"Specifies the timeout in seconds for a High-Performance Analytics procedure to wait for a connection to the appliance and establish a connection back to the client. The default is s=120 seconds. If jobs are submitted to the appliance through workload management tools that might suspend access to the appliance for a longer period, you might want to increase the timeout value.\",\"help\":\"TIMEOUT=*s*\",\"type\":\"value\"}]},{\"name\":\"PRUNE\",\"description\":\"The PRUNE statement controls pruning. If NONE is specified, no pruning is performed. If C45 is specified, a C4.5-based pruner (Quinlan (1993)) based on the upper error rate from the binomial distribution (Wilson (1927); ?); Agresti and Coull (1998)) (at the value confidence limit) will be used. Otherwise, a statistical metric may be used for pruning. Optionally, the metric may be complemented by a termination condition. Pruning and the pruning options are discussed in the details section. If no prune statement is given, pruning will occur based on entropy.\",\"help\":\"PRUNE &lt;PRUNE by &lt; / until operator value &gt;&gt;&lt;C45 &lt; / confidence &gt;&gt;&lt;NONE&gt; ...\",\"arguments\":[{\"name\":\"BY\",\"optional\":true,\"description\":\"This form of the PRUNE statement chooses a node to prune back to a leaf by the specified by. Optionally, a metric, operator, and value may also be provided to control pruning. If the until metric is not specified, until will be the same as by, operator will be “>=,” and value will be 1. The by metric may be one of • GINI • ENTROPY • ASE • MISC The optional until metric may be one of • GINI • ENTROPY • ASE • MISC • N The operator may be one of the following C and FORTRAN operators: • <= • LE • >= • GE • < • LT • > • GT • = • EQ\",\"type\":\"standalone\"},{\"name\":\"C45\",\"optional\":true,\"description\":\"Uses C4.5-style pruning at the optional specified confidence limit.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"optional\":true,\"description\":\"Turns off pruning.\",\"type\":\"standalone\"}]},{\"name\":\"RULES\",\"description\":\"If the RULES statement is used, the final tree’s leaves will be written to the file specified through the filename filename or fileref fileref. If no RULES statement is used, no rules will be output.\",\"help\":\"RULES file=[filename | fileref] \"},{\"name\":\"SCORE\",\"description\":\"The SCORE statement scores the training data set by using the forest model that was trained by PROC HPSPLIT and outputs a data set that contains the scored results. The output data set contains the ID variables that are specified in the ID statement, predictions, and decisions. For each level of the target, a posterior probability variable is generated in addition to the final predicted level. Unlike the other output data sets, outds will be written in alongside mode. The _WARN_ variable will not be created in the scored data set. If no SCORE statement is specified, no scoring will take place.\",\"help\":\"SCORE &lt;OUT=&lt; libref.&gt;SAS-data-set&gt;\",\"arguments\":[{\"name\":\"OUT=\",\"optional\":true,\"description\":\"names the output data set to contain the scored data.\",\"type\":\"value\"}]},{\"name\":\"TARGET\",\"description\":\"The TARGET statement names the variable whose values PROC HPSPLIT tries to predict. Missing values in the target will be ignored except during scoring and therefore the statistics reported by HPSPLIT may differ from those found using the scored data sets. If multiple TARGET statements occur, the last one will be used. For ease of use, if the TARGET variable conflicts with an INPUT variable, the variable will be used for the target.\",\"help\":\"TARGET variable \"}],\"supportSiteInformation\":{\"docsetId\":\"statug\",\"docsetVersion\":\"latest\",\"docsetTargetFile\":\"statug_hpsplit_toc.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/HPSUMMARY.json",
    "content": "{\"name\":\"HPSUMMARY\",\"statements\":[{\"name\":\"PROC HPSUMMARY\",\"description\":\"The HPSUMMARY procedure enables you to summarize data on a SAS High Performance Analytics grid for parallel execution. The output data created by PROC HPSUMMA RY can then be written in parallel back to the grid data store. † Although it is possible to use PROC HPSUMMARY on data that do not reside on the grid or produce result tables that do not reside on the grid, this usage is not recommended for production due to the overhead of transferring data to and from the grid. † PROC HPSUMMARY is a high-performance version of the SUMMARY procedure in Base SAS software.\",\"help\":\"PROC HPSUMMARY <ALLTYPES><ALPHA=α><CHARTYPE><CSS><CV><DATA=SAS-data-set<(data-set-option(s))>><EXCLNPWGT><KURTOSIS><LCLM><MAX><MEAN><MEDIAN><MIN><MISSING><MODE><N><NMISS><P1><P10><P5><P90><P95><P99><PROBT><Q1><Q3><QMARKERS=number><QMETHOD=OS | P2><QNTLDEF=1 | 2 | 3... ><QRANGE><RANGE><SKEWNESS><STDERR><STD><SUM><SUMWGT><T><UCLM><USS><VAR><VARDEF=DF | N | WDF... >;     \\n\\tCLASS <GROUPINTERNAL><MISSING> ;\\n\\n\\tFREQ variable;\\n\\n\\tOUTPUT IDGROUP(<MIN|MAX (variable-list-1) <...MIN|MAX (variable-list-n)>> MAXID<(variable-1 <(id-variable-list-1)> <...variable-n <(id-variable-list-n)>>)> = name(s) OUT=SAS-data-set ...;\\n\\n\\tPERFORMANCE <COMMIT=n><CPUCOUNT=<ACTUAL | <num>>><DATASERVER=“name”> ...;\\n\\n\\tTYPES request(s);\\n\\n\\tVAR <WEIGHT=weight-variable> ;\\n\\n\\tWAYS list;\\n\\n\\tWEIGHT variable;\\n\",\"arguments\":[{\"name\":\"ALLTYPES\",\"optional\":true,\"aliases\":[\"ALLWAYS\"],\"description\":\"Requests that PROC HPSUMMARY compute descriptive statistics for all combinations of classification variables. By default, PROC HPSUMMARY generates only the n-way.\",\"type\":\"standalone\"},{\"name\":\"ALPHA=\",\"optional\":true,\"description\":\"Specifies the confidence level to compute the confidence limits for the mean. The percentage for the confidence limits is (1 - α)×100. For example, ALPHA=.05 results in a 95% confidence limit.\",\"type\":\"value\"},{\"name\":\"CHARTYPE\",\"optional\":true,\"description\":\"Specifies that the _TYPE_ variable in the output data set is a character representation of the binary value of _TYPE_.\",\"type\":\"standalone\"},{\"name\":\"CSS\",\"optional\":true,\"description\":\"Sum of squares corrected for the mean\",\"type\":\"standalone\"},{\"name\":\"CV\",\"optional\":true,\"description\":\"Percent coefficient of variation\",\"type\":\"standalone\"},{\"name\":\"DATA=\",\"optional\":true,\"description\":\"Identifies the input SAS data set.\",\"type\":\"value\"},{\"name\":\"EXCLNPWGT\",\"optional\":true,\"aliases\":[\"EXCLNPWGTS\"],\"description\":\"Excludes observations with nonpositive weight values (zero or negative) from the analysis.\",\"type\":\"standalone\"},{\"name\":\"KURTOSIS\",\"optional\":true,\"aliases\":[\"KURT\"],\"description\":\"Measures heaviness of tails.\",\"type\":\"standalone\"},{\"name\":\"LCLM\",\"optional\":true,\"description\":\"One-sided confidence limit below the mean\",\"type\":\"standalone\"},{\"name\":\"MAX\",\"optional\":true,\"description\":\"Maximum value\",\"type\":\"standalone\"},{\"name\":\"MEAN\",\"optional\":true,\"description\":\"Arithmetic mean\",\"type\":\"standalone\"},{\"name\":\"MEDIAN\",\"optional\":true,\"aliases\":[\"P50\"],\"description\":\"Middle value\",\"type\":\"standalone\"},{\"name\":\"MIN\",\"optional\":true,\"description\":\"Minimum value\",\"type\":\"standalone\"},{\"name\":\"MISSING\",\"optional\":true,\"description\":\"Considers missing values as valid values to create the combinations of class variables.\",\"type\":\"standalone\"},{\"name\":\"MODE\",\"optional\":true,\"description\":\"Most frequent value\",\"type\":\"standalone\"},{\"name\":\"N\",\"optional\":true,\"description\":\"Number of observations that are not missing\",\"type\":\"standalone\"},{\"name\":\"NMISS\",\"optional\":true,\"description\":\"Number of observations that are missing\",\"type\":\"standalone\"},{\"name\":\"P1\",\"optional\":true,\"description\":\"1st percentile\",\"type\":\"standalone\"},{\"name\":\"P10\",\"optional\":true,\"description\":\"10th percentile\",\"type\":\"standalone\"},{\"name\":\"P5\",\"optional\":true,\"description\":\"5th percentile\",\"type\":\"standalone\"},{\"name\":\"P90\",\"optional\":true,\"description\":\"90th percentile\",\"type\":\"standalone\"},{\"name\":\"P95\",\"optional\":true,\"description\":\"95th percentile\",\"type\":\"standalone\"},{\"name\":\"P99\",\"optional\":true,\"description\":\"99th percentile\",\"type\":\"standalone\"},{\"name\":\"PROBT\",\"optional\":true,\"aliases\":[\"PRT\"],\"description\":\"Two-tailed p-value for Student's t statistic\",\"type\":\"standalone\"},{\"name\":\"Q1\",\"optional\":true,\"aliases\":[\"P25\"],\"description\":\"Lower quartile (25th percentile)\",\"type\":\"standalone\"},{\"name\":\"Q3\",\"optional\":true,\"aliases\":[\"P75\"],\"description\":\"Upper quartile (75th percentile)\",\"type\":\"standalone\"},{\"name\":\"QMARKERS=\",\"optional\":true,\"description\":\"Specifies the default number of markers to use for the P² quantile estimation method.\",\"help\":\"QMARKERS=*number*\",\"type\":\"value\"},{\"name\":\"QMETHOD=\",\"optional\":true,\"description\":\"Specifies the method that PROC SUMMARY uses to process the input data when it computes quantiles.\",\"help\":\"QMETHOD=OS | P2\",\"type\":\"choice\",\"arguments\":[{\"name\":\"OS\",\"description\":\"Specifies that PROC HPSUMMARY use order statistics. NOTE: This technique can be very memory-intensive.\",\"type\":\"standalone\"},{\"name\":\"P2\",\"description\":\"Specifies that PROC HPSUMMARY use the P² method to approximate the quantile. When QMETHOD=P2, PROC HPSUMMARY does not compute MODE or weighted quantiles. In addition, reliable estimations of some quantiles (P1, P5, P95, P99) might not be possible for some data sets.\",\"type\":\"standalone\"}]},{\"name\":\"QNTLDEF=\",\"optional\":true,\"aliases\":[\"PCTLDEF=\"],\"description\":\"Specifies the mathematical definition that PROC SUMMARY uses to calculate quantiles when QMETHOD=OS. To use QMETHOD=P2, you must use QNTLDEF=5.\",\"help\":\"QNTLDEF=1 | 2 | 3 | 4 | 5\",\"type\":\"choice\",\"arguments\":[{\"name\":\"1\",\"description\":\"Definition 1 for computing quantile statistics\",\"type\":\"standalone\"},{\"name\":\"2\",\"description\":\"Definition 2 for computing quantile statistics\",\"type\":\"standalone\"},{\"name\":\"3\",\"description\":\"Definition 3 for computing quantile statistics\",\"type\":\"standalone\"},{\"name\":\"4\",\"description\":\"Definition 4 for computing quantile statistics\",\"type\":\"standalone\"},{\"name\":\"5\",\"description\":\"Definition 5 for computing quantile statistics\",\"type\":\"standalone\"}]},{\"name\":\"QRANGE\",\"optional\":true,\"description\":\"Interquartile range and is calculated as Q3-Q1\",\"type\":\"standalone\"},{\"name\":\"RANGE\",\"optional\":true,\"description\":\"Range calculated as the difference between maximum value and minimum value.\",\"type\":\"standalone\"},{\"name\":\"SKEWNESS\",\"optional\":true,\"aliases\":[\"SKEW\"],\"description\":\"Measures the tendency of the deviations to be larger in one direction than in the other.\",\"type\":\"standalone\"},{\"name\":\"STDERR\",\"optional\":true,\"description\":\"Standard error of the mean\",\"type\":\"standalone\"},{\"name\":\"STD\",\"optional\":true,\"aliases\":[\"STDDEV\"],\"description\":\"[STDDEV] Standard deviation\",\"type\":\"standalone\"},{\"name\":\"SUM\",\"optional\":true,\"description\":\"Sum\",\"type\":\"standalone\"},{\"name\":\"SUMWGT\",\"optional\":true,\"description\":\"Sum of the weights\",\"type\":\"standalone\"},{\"name\":\"T\",\"optional\":true,\"description\":\"Student's t statistic\",\"type\":\"standalone\"},{\"name\":\"UCLM\",\"optional\":true,\"description\":\"One-sided confidence limit above the mean\",\"type\":\"standalone\"},{\"name\":\"USS\",\"optional\":true,\"description\":\"Uncorrected sum of squares\",\"type\":\"standalone\"},{\"name\":\"VAR\",\"optional\":true,\"description\":\"Variance\",\"type\":\"standalone\"},{\"name\":\"VARDEF=\",\"optional\":true,\"description\":\"Specifies the divisor to use in the calculation of the variance and standard deviation.\",\"help\":\"VARDEF=DF | N | WDF | WEIGHT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DF\",\"description\":\"Degrees of freedom\",\"type\":\"standalone\"},{\"name\":\"N\",\"description\":\"Number of observations\",\"type\":\"standalone\"},{\"name\":\"WDF\",\"description\":\"Sum of weights minus one\",\"type\":\"standalone\"},{\"name\":\"WEIGHT\",\"aliases\":[\"WGT\"],\"description\":\"Sum of weights\",\"type\":\"standalone\"}]}]},{\"name\":\"CLASS\",\"aliases\":[\"CLASSES\"],\"description\":\"Specifies the variables whose values define the subgroup combinations for the analysis. Required Arguments: variable(s) specifies one or more variables that the procedure uses to group the data. Variables in a CLASS statement are referred to as class variables. Class variables are numeric or character. Class variables can have continuous values, but they typically have a few discrete values that define levels of the variable. You do not have to sort the data by class variables.\",\"help\":\"CLASS &lt;GROUPINTERNAL&gt;&lt;MISSING&gt;\",\"arguments\":[{\"name\":\"GROUPINTERNAL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies not to apply formats to the class variables when PROC HPSUMMARY groups the values to create combinations of class variables.\",\"type\":\"standalone\"},{\"name\":\"MISSING\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Considers missing values as valid values for the class variable levels.\",\"type\":\"standalone\"}]},{\"name\":\"FREQ\",\"aliases\":[\"FREQUENCY\"],\"description\":\"Specifies a numeric variable that contains the frequency of each observation. Required Argument: variable specifies a numeric variable whose value represents the frequency of the observation. If you use the FREQ statement, then the procedure assumes that each observation represents n observations, where n is the value of variable. If n is not an integer, then SAS truncates it. If n is less than 1 or is missing, then the procedure does not use that observation to calculate statistics. The sum of the frequency variable represents the total number of observations. Note: The FREQ variable does not affect how PROC HPSUMMARY identifies multiple extremes when you use the IDGROUP syntax in the OUTPUT statement.\",\"help\":\"FREQ variable\"},{\"name\":\"OUTPUT\",\"description\":\"and so on.\",\"help\":\"OUTPUT IDGROUP(&lt;MIN|MAX (variable-list-1) &lt;...MIN|MAX (variable-list-n)&gt;&gt; MAXID&lt;(variable-1 &lt;(id-variable-list-1)&gt; &lt;...variable-n &lt;(id-variable-list-n)&gt;&gt;)&gt; = name(s) OUT=SAS-data-set ...\",\"arguments\":[{\"name\":\"CSS\",\"description\":\"Sum of squares corrected for the mean\",\"type\":\"standalone\"},{\"name\":\"CSS=\",\"description\":\"Sum of squares corrected for the mean\",\"type\":\"value\"},{\"name\":\"CV\",\"description\":\"Percent coefficient of variation\",\"type\":\"standalone\"},{\"name\":\"CV=\",\"description\":\"Percent coefficient of variation\",\"type\":\"value\"},{\"name\":\"IDGROUP=\",\"aliases\":[\"IDGRP=\"],\"description\":\"[Syntax: IDGROUP(<MIN|MAX (variable-list-1) <...MIN|MAX (variable-list-n)>> <<MISSING> <OBS> <LAST>> OUT <[n]> (id-variable-list)=<name(s)>)\",\"help\":\"IDGROUP=MIN | MAX | MISSING | OBS | LAST | OUT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"MIN\",\"type\":\"standalone\"},{\"name\":\"MAX\",\"type\":\"standalone\"},{\"name\":\"MISSING\",\"type\":\"standalone\"},{\"name\":\"OBS\",\"type\":\"standalone\"},{\"name\":\"LAST\",\"type\":\"standalone\"},{\"name\":\"OUT\",\"type\":\"standalone\"}]},{\"name\":\"KURTOSIS=\",\"aliases\":[\"KURT=\"],\"description\":\"Measures heaviness of tails.\",\"type\":\"value\"},{\"name\":\"KURTOSIS\",\"aliases\":[\"KURT\"],\"description\":\"Measures heaviness of tails.\",\"type\":\"standalone\"},{\"name\":\"LCLM\",\"description\":\"One-sided confidence limit below the mean\",\"type\":\"standalone\"},{\"name\":\"LCLM=\",\"description\":\"One-sided confidence limit below the mean\",\"type\":\"value\"},{\"name\":\"MAX\",\"description\":\"Maximum value\",\"type\":\"standalone\"},{\"name\":\"MAX=\",\"description\":\"Maximum value\",\"type\":\"value\"},{\"name\":\"MAXID=\",\"description\":\"Specifies that one or more identification variables be associated with the maximum values of the analysis variables.\",\"type\":\"value\"},{\"name\":\"MEAN\",\"description\":\"Arithmetic mean\",\"type\":\"standalone\"},{\"name\":\"MEAN=\",\"description\":\"Arithmetic mean\",\"type\":\"value\"},{\"name\":\"MEDIAN=\",\"aliases\":[\"P50=\"],\"description\":\"Middle value\",\"type\":\"value\"},{\"name\":\"MEDIAN\",\"aliases\":[\"P50\"],\"description\":\"Middle value\",\"type\":\"standalone\"},{\"name\":\"MIN\",\"description\":\"Minimum value\",\"type\":\"standalone\"},{\"name\":\"MIN=\",\"description\":\"Minimum value\",\"type\":\"value\"},{\"name\":\"MINID=\",\"description\":\"Specifies that one or more identification variables be associated with the minimum values of the analysis variables.\",\"type\":\"value\"},{\"name\":\"MODE\",\"description\":\"Most frequent value\",\"type\":\"standalone\"},{\"name\":\"MODE=\",\"description\":\"Most frequent value\",\"type\":\"value\"},{\"name\":\"N\",\"description\":\"Number of observations that are not missing\",\"type\":\"standalone\"},{\"name\":\"N=\",\"description\":\"Number of observations that are not missing\",\"type\":\"value\"},{\"name\":\"NMISS\",\"description\":\"Number of observations that are missing\",\"type\":\"standalone\"},{\"name\":\"NMISS=\",\"description\":\"Number of observations that are missing\",\"type\":\"value\"},{\"name\":\"OUT=\",\"description\":\"Names the new output data set. If SAS-data-set does not exist, then PROC MEANS creates it. If you omit OUT=, then the data set is named DATAn, where n is the smallest integer that makes the name unique.\",\"help\":\"OUT=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"P1\",\"description\":\"1st percentile\",\"type\":\"standalone\"},{\"name\":\"P10\",\"description\":\"10th percentile\",\"type\":\"standalone\"},{\"name\":\"P10=\",\"description\":\"10th percentile\",\"type\":\"value\"},{\"name\":\"P1=\",\"description\":\"1st percentile\",\"type\":\"value\"},{\"name\":\"P25\",\"description\":\"25th percentile\",\"type\":\"standalone\"},{\"name\":\"P25=\",\"description\":\"25th percentile\",\"type\":\"value\"},{\"name\":\"P5\",\"description\":\"5th percentile\",\"type\":\"standalone\"},{\"name\":\"P5=\",\"description\":\"5th percentile\",\"type\":\"value\"},{\"name\":\"P75\",\"description\":\"75th percentile (upper quartile)\",\"type\":\"standalone\"},{\"name\":\"P75=\",\"description\":\"75th percentile (upper quartile)\",\"type\":\"value\"},{\"name\":\"P90\",\"description\":\"90th percentile\",\"type\":\"standalone\"},{\"name\":\"P90=\",\"description\":\"90th percentile\",\"type\":\"value\"},{\"name\":\"P95\",\"description\":\"95th percentile\",\"type\":\"standalone\"},{\"name\":\"P95=\",\"description\":\"95th percentile\",\"type\":\"value\"},{\"name\":\"P99\",\"description\":\"99th percentile\",\"type\":\"standalone\"},{\"name\":\"P99=\",\"description\":\"99th percentile\",\"type\":\"value\"},{\"name\":\"PROBT=\",\"aliases\":[\"PRT=\"],\"description\":\"Two-tailed p-value for Student's t statistic\",\"type\":\"value\"},{\"name\":\"PROBT\",\"aliases\":[\"PRT\"],\"description\":\"Two-tailed p-value for Student's t statistic\",\"type\":\"standalone\"},{\"name\":\"Q1\",\"description\":\"Lower quartile (25th percentile)\",\"type\":\"standalone\"},{\"name\":\"Q1=\",\"description\":\"Lower quartile (25th percentile)\",\"type\":\"value\"},{\"name\":\"Q3\",\"description\":\"Upper quartile (75th percentile)\",\"type\":\"standalone\"},{\"name\":\"Q3=\",\"description\":\"Upper quartile (75th percentile)\",\"type\":\"value\"},{\"name\":\"QRANGE\",\"description\":\"Interquartile range and is calculated as Q3-Q1\",\"type\":\"standalone\"},{\"name\":\"QRANGE=\",\"description\":\"Interquartile range and is calculated as Q3-Q1\",\"type\":\"value\"},{\"name\":\"RANGE\",\"description\":\"Range calculated as the difference between maximum value and minimum value.\",\"type\":\"standalone\"},{\"name\":\"RANGE=\",\"description\":\"Range calculated as the difference between maximum value and minimum value.\",\"type\":\"value\"},{\"name\":\"SKEWNESS=\",\"aliases\":[\"SKEW=\"],\"description\":\"Measures the tendency of the deviations to be larger in one direction than in the other.\",\"type\":\"value\"},{\"name\":\"SKEWNESS\",\"aliases\":[\"SKEW\"],\"description\":\"Measures the tendency of the deviations to be larger in one direction than in the other.\",\"type\":\"standalone\"},{\"name\":\"STDDEV=\",\"aliases\":[\"STD=\"],\"description\":\"Standard deviation\",\"type\":\"value\"},{\"name\":\"STDDEV\",\"aliases\":[\"STD\"],\"description\":\"Standard deviation\",\"type\":\"standalone\"},{\"name\":\"STDERR\",\"description\":\"Standard error of the mean\",\"type\":\"standalone\"},{\"name\":\"STDERR=\",\"description\":\"Standard error of the mean\",\"type\":\"value\"},{\"name\":\"SUM\",\"description\":\"Sum\",\"type\":\"standalone\"},{\"name\":\"SUM=\",\"description\":\"Sum\",\"type\":\"value\"},{\"name\":\"SUMWGT\",\"description\":\"Sum of the weights\",\"type\":\"standalone\"},{\"name\":\"SUMWGT=\",\"description\":\"Sum of the weights\",\"type\":\"value\"},{\"name\":\"T\",\"description\":\"Student's t statistic\",\"type\":\"standalone\"},{\"name\":\"T=\",\"description\":\"Student's t statistic\",\"type\":\"value\"},{\"name\":\"UCLM\",\"description\":\"One-sided confidence limit above the mean\",\"type\":\"standalone\"},{\"name\":\"UCLM=\",\"description\":\"One-sided confidence limit above the mean\",\"type\":\"value\"},{\"name\":\"USS\",\"description\":\"Uncorrected sum of squares\",\"type\":\"standalone\"},{\"name\":\"USS=\",\"description\":\"Uncorrected sum of squares\",\"type\":\"value\"},{\"name\":\"VAR\",\"description\":\"Variance\",\"type\":\"standalone\"},{\"name\":\"VAR=\",\"description\":\"Variance\",\"type\":\"value\"},{\"name\":\"AUTONAME\",\"optional\":true,\"description\":\"Specifies that PROC MEANS creates a unique variable name for an output statistic when you do not assign the variable name in the OUTPUT statement. This action is accomplished by appending the statistic-keyword to the end of the input variable name from which the statistic was derived. For example, the statement\",\"type\":\"standalone\"},{\"name\":\"WAYS\",\"optional\":true,\"description\":\"Includes a variable named _WAY_ in the output data set. This variable contains a value from 1 to the maximum number of class variables that indicates how many class variables PROC HPSUMMARY combines to create the TYPE value.\",\"type\":\"standalone\"}]},{\"name\":\"PERFORMANCE\",\"description\":\"The PERFORMANCE statement defines performance parameters for multithreaded and distributed computing, passes variables about the distributed computing environment, and requests detailed results about the performance characteristics of a High-Performance Analytics procedure. With the PERFORMANCE statement, you can also control whether a High-Performance Analytics procedure executes in SMP or MPP mode. It is important to remember the distinction between the NODES= and NTHREADS= options. The NODES= option specifies the number of separate grid nodes that participate in the HPSUMMARY execution, while the NTHREADS= option determines how many independent copies of the DS2 program are run in parallel on each node. If the data are located on the grid, then all nodes must be engaged; therefore, the NODES= option might be overridden. Setting NODES=0 causes the HPSUMMARY code to execute on the client side only. Setting the NTHREADS= option to a value that is greater than the CPU count on each grid node is not likely to improve overall throughput.\",\"help\":\"PERFORMANCE &lt;COMMIT=n&gt;&lt;CPUCOUNT=&lt;ACTUAL | &lt;num&gt;&gt;&gt;&lt;DATASERVER=“name”&gt; ...\",\"arguments\":[{\"name\":\"COMMIT=\",\"optional\":true,\"description\":\"Requests that the High-Performance Analytics procedure write periodic updates to the SAS Log when observations are sent from the client to the appliance for distributed processing.\",\"help\":\"COMMIT=*n*\",\"type\":\"value\"},{\"name\":\"CPUCOUNT=\",\"optional\":true,\"description\":\"Specifies how many processors the procedure assumes are available on each host in the computing environment. num can be any integer from 1 to 256. CPUCOUNT=ACTUAL sets CPUCOUNT to the number of physical processors available. This number can be less than the physical number of CPUs if the SAS process has been restricted by system administration tools. Setting CPUCOUNT= to a number greater than the actual number of available CPUs might result in reduced performance. This option overrides the CPUCOUNT= SAS system option.\",\"help\":\"CPUCOUNT=ACTUAL | &lt;*num*&gt;\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ACTUAL\",\"description\":\"Sets CPUCOUNT to the number of physical processors available. This number can be less than the physical number of CPUs if the SAS process has been restricted by system administration tools.\",\"type\":\"standalone\"},{\"name\":\"num\",\"placeholder\":true,\"description\":\"Replace <num> with an actual number. Setting CPUCOUNT= to a number greater than the actual number of available CPUs might result in reduced performance. This option overrides the CPUCOUNT= SAS system option.\",\"type\":\"value\"}]},{\"name\":\"DATASERVER=\",\"optional\":true,\"description\":\"Specifies the name of the server on Teradata systems as defined through the hosts file and as used in the LIBNAME statement for Teradata. For example, if the hosts file defines myservercop1 33.44.55.66 as the server for Teradata, then a LIBNAME specification would be as follows: libname TDLib teradata server=myserver user= password= database= ; A PERFORMANCE statement to induce running alongside the Teradata server would specify the following:\",\"type\":\"value\"},{\"name\":\"DETAILS\",\"optional\":true,\"description\":\"Requests a table that shows a timing breakdown of the procedure steps.\",\"type\":\"standalone\"},{\"name\":\"HOST=\",\"optional\":true,\"aliases\":[\"GRIDHOST=\"],\"description\":\"Specifies the name of the appliance host in single or double quotes. If the HOST= option is specified, it overrides the value of the GRIDHOST environment variable.\",\"type\":\"value\"},{\"name\":\"INSTALL=\",\"optional\":true,\"aliases\":[\"INSTALLLOC=\"],\"description\":\"Specifies the directory in which the High-Performance Analytics shared libraries are installed on the appliance. Specifying the INSTALL= option overrides the GRIDINSTALLLOC environment variable.\",\"type\":\"value\"},{\"name\":\"NODES=\",\"optional\":true,\"aliases\":[\"NNODES=\"],\"description\":\"Specifies the number of nodes in the distributed computing environment, provided that the data are not processed alongside the database.\",\"type\":\"value\"},{\"name\":\"NTHREADS=\",\"optional\":true,\"description\":\"Specifies the number of threads for analytic computations and overrides the SAS system option THREADS | NOTHREADS. If you do not specify the NTHREADS= option, the number of threads are determined based on the number of CPUs on the host on which the analytic computations execute. The algorithm by which a CPU count is converted to a thread count is specific to the High- Performance Analytics procedure. Most procedures create one thread per CPU for the analytic computations. By default, High-Performance Analytics procedures execute in multiple concurrent threads unless turned off by the NOTHREADS system option or you force single-threaded execution with NTHREADS=1. The largest number that can be specified for n is 256. Individual High-Performance Analytics procedures can impose more stringent limits if called for by algorithmic considerations. You can affect the determination of the CPU count with the CPUCOUNT= option in the PERFORMANCE statement.\",\"help\":\"NTHREADS=*n*\",\"type\":\"value\"},{\"name\":\"TIMEOUT=\",\"optional\":true,\"description\":\"Specifies the timeout in seconds for a High-Performance Analytics procedure to wait for a connection to the appliance and establish a connection back to the client. The default is s=120 seconds. If jobs are submitted to the appliance through workload management tools that might suspend access to the appliance for a longer period, you might want to increase the timeout value.\",\"help\":\"TIMEOUT=*s*\",\"type\":\"value\"}]},{\"name\":\"TYPES\",\"description\":\"Identifies which of the possible combinations of class variables to generate. Required Arguments: request(s) specifies which of the 2^k combinations of class variables PROC HPSUMMARY uses to create the types, where k is the number of class variables. A request is composed of one class variable name, several class variable names separated by asterisks, or (). To request class variable combinations quickly, use a grouping syntax by placing parentheses around several variables and joining other variables or variable combinations. For example, the following statements illustrate grouping syntax: types A*(B C); --Equivalent to: types A*B A*C; types (A B)*(C D); --Equivalent to: types A*C A*D B*C B*D; types (A B C)*D; --Equivalent to: types A*D B*D C*D;\",\"help\":\"TYPES request(s)\"},{\"name\":\"VAR\",\"aliases\":[\"VARS\",\"VARIABLE\",\"VARIABLES\"],\"description\":\"VAR variable(s) </ WEIGHT=weight-variable>; Identifies the analysis variables and their order in the output. Required Arguments: variable(s) identifies the analysis variables and specifies their order in the results.\",\"help\":\"VAR &lt;WEIGHT=weight-variable&gt;\",\"arguments\":[{\"name\":\"WEIGHT=\",\"optional\":true,\"description\":\"Specifies a numeric variable whose values weight the values of the variables that are specified in the VAR statement.\",\"help\":\"WEIGHT=*weight-variable*\",\"type\":\"value\"}]},{\"name\":\"WAYS\",\"description\":\"Specifies the number of ways to make unique combinations of class variables. Required Arguments: list specifies one or more integers that define the number of class variables to combine to form all the unique combinations of class variables. For example, you can specify 2 for all possible pairs and 3 for all possible triples. The list can be specified in the following ways: m m1 m2 ... mn m1,m2,...,mn m TO n <BY increment> m1,m2, TO m3 <BY increment>, m4 Range: 0 to maximum number of class variables\",\"help\":\"WAYS list\"},{\"name\":\"WEIGHT\",\"aliases\":[\"WGT\"],\"description\":\"Specifies weights for observations in the statistical calculations. Required Arguments: variable specifies a numeric variable whose values weight the values of the analysis variables. The values of the variable do not have to be integers. If the value of the weight variable is o Weight value... PROC HPSUMMARY... o 0 counts the observation in the total number of observations o less than 0 converts the value to zero and counts the observation in the total number of observations o missing excludes the observation To exclude observations that contain negative and zero weights from the analysis, use EXCLNPWGT. Note that most SAS/STAT procedures, such as PROC GLM, exclude negative and zero weights by default. Restriction: To compute weighted quantiles, use QMETHOD=OS in the PROC statement. Restriction: Skewness and kurtosis are not available with the WEIGHT statement. Restriction: PROC HPSUMMARY will not compute MODE when a weight variable is active. Instead, try using The UNIVARIATE Procedure when MODE needs to be computed and a weight variable is active.\",\"help\":\"WEIGHT variable\"}],\"supportSiteInformation\":{\"docsetId\":\"prochp\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"prochp_hpsummary_toc.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/HTTP.json",
    "content": "{\"name\":\"HTTP\",\"statements\":[{\"name\":\"PROC HTTP\",\"description\":\"Invokes a web service that issues requests.\",\"help\":\"PROC HTTP URL=\\\"URL-to-target\\\" <options>;\\n\\tDEBUG options;\\n\\n\\tHEADERS  \\\"HeaderName\\\"=\\\"HeaderValue\\\" <\\\"HeaderName-n\\\"=\\\"HeaderValue-n\\\">;\\n\\tSSLPARMS host-specific-SSL-options;\",\"arguments\":[{\"name\":\"URL=\",\"description\":\"specifies the endpoint for the HTTP equest.\",\"help\":\"URL=\\\"*URL-to-target*\\\"\",\"type\":\"value\"},{\"name\":\"AUTH_ANY\",\"optional\":true,\"description\":\"specifies that any type of authentication can be used to authenticate to the connected server.\",\"type\":\"standalone\"},{\"name\":\"AUTH_BASIC\",\"optional\":true,\"description\":\"specifies to use user identity authentication to authenticate to the connected server.\",\"type\":\"standalone\"},{\"name\":\"AUTH_NEGOTIATE\",\"optional\":true,\"description\":\"specifies to use Kerberos or some other type of HTTP authentication to authenticate to the connected server.\",\"type\":\"standalone\"},{\"name\":\"AUTH_NONE\",\"optional\":true,\"description\":\"specifies not to use basic authentication or to negotiate authentication.\",\"type\":\"standalone\"},{\"name\":\"CLEAR_CACHE\",\"optional\":true,\"description\":\"specifies to clear both the shared connection and cookie caches before the HTTP request is executed.\",\"type\":\"standalone\"},{\"name\":\"CLEAR_CONN_CACHE\",\"optional\":true,\"description\":\"specifies to clear the shared connection cache before the HTTP request is executed.\",\"type\":\"standalone\"},{\"name\":\"CLEAR_COOKIES\",\"optional\":true,\"description\":\"specifies to clear the shared cookie cache before the HTTP request is executed.\",\"type\":\"standalone\"},{\"name\":\"CT=\",\"optional\":true,\"description\":\"specifies the HTTP content-type to be set in the request headers.\",\"help\":\"CT=\\\"*content-type*\\\"\",\"type\":\"value\"},{\"name\":\"EXPECT_100_CONTINUE\",\"optional\":true,\"description\":\"enables a client to determine whether the target server is willing to accept the request.\",\"type\":\"standalone\"},{\"name\":\"FOLLOWLOC\",\"optional\":true,\"description\":\"enables write methods to automatically follow URL redirections.\",\"type\":\"standalone\"},{\"name\":\"HEADERIN=\",\"optional\":true,\"description\":\"specifies a fileref to a text file that contains one line per request header in the format key:value.\",\"help\":\"HEADERIN=*fileref-to-request-header-file*\",\"type\":\"value\"},{\"name\":\"HEADEROUT=\",\"optional\":true,\"description\":\"specifies a fileref to a text file to which the response headers are written in the format key:value.\",\"help\":\"HEADEROUT=*fileref-to-response-header-file*\",\"type\":\"value\"},{\"name\":\"HEADEROUT_OVERWRITE\",\"optional\":true,\"description\":\"causes the response header to record only the last header block sent by the web server when a redirect occurs.\",\"type\":\"standalone\"},{\"name\":\"IN=\",\"optional\":true,\"description\":\"specifies the input data.\",\"help\":\"IN=*fileref* | \\\"*string*\\\" | MULTI FORM (*parts*) | MULTI *content-descriptor* (*parts*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"fileref\",\"placeholder\":true,\"description\":\"specifies a fileref. The fileref is a pointer to data that exists in another location. A fileref is assigned with the FILENAME statement.\",\"type\":\"value\"},{\"name\":\"“string\\\"\",\"placeholder\":true,\"description\":\"specifies input data in a quoted string.\",\"type\":\"value\"},{\"name\":\"MULTI FORM                     \",\"description\":\"sends input data as a standard HTML form.\",\"help\":\"MULTI FORM (*parts*)\",\"type\":\"value\",\"arguments\":[{\"name\":\"\\\"Name\\\"=\",\"description\":\"\",\"help\":\"\\\"*Name*\\\"=*input*  &lt;FILENAME=\\\"*filename*\\\" | NOFILENAME&gt;  &lt;*HeaderList*&gt;\",\"type\":\"value\",\"arguments\":[{\"name\":\"input\",\"placeholder\":true,\"description\":\"(required) specifies the basic content in the form. The value that you specify in \\\"Name\\\" populates the Name=\\\"field-name\\\" portion of the generated content-disposition header.\",\"help\":\"*input*  \",\"type\":\"value\"},{\"name\":\"FILENAME=\",\"description\":\"(optional) specifies a file name for the Filename= field of the generated content-disposition header.\",\"help\":\"FILENAME=\\\"*filename*\\\"\",\"type\":\"value\"},{\"name\":\"NOFILENAME\",\"description\":\"(optional) specifies to omit the Filename= field from the generated content-disposition header. This option enables you to use a fileref as input that is not a file, as far as the form is concerned.\",\"type\":\"standalone\"},{\"name\":\"HeaderList\",\"placeholder\":true,\"description\":\"(optional) specifies a list of headers. Each header is in the form:\",\"type\":\"value\"}]}]},{\"name\":\"MULTI\",\"description\":\"specifies a multipart upload. Two types of multipart uploads are supported:\",\"help\":\"MULTI *content-descriptor*(*parts*)\",\"type\":\"value\",\"arguments\":[{\"name\":\"\\\"content-descriptor\\\"\",\"placeholder\":true,\"description\":\"specifies a user-defined value for a generated content-type header. For example, if the quoted value is “mixed”, a header of Content-Type: multipart/mixed is sent. This option indicates that the request is a generic multipart request.\",\"help\":\"\\\"*content-descriptor*\\\" \",\"type\":\"value\"},{\"name\":\"\\\"Name\\\"=\",\"description\":\"\",\"help\":\"\\\"*Name*\\\"=*input*  &lt;FILENAME=\\\"*filename*\\\" | NOFILENAME&gt;  &lt;*HeaderList*&gt;\",\"type\":\"value\",\"arguments\":[{\"name\":\"input\",\"placeholder\":true,\"description\":\"(required) specifies the basic content in the form. The value that you specify in \\\"Name\\\" populates the Name=\\\"field-name\\\" portion of the generated content-disposition header.\",\"help\":\"*input*  \",\"type\":\"value\"},{\"name\":\"FILENAME=\",\"description\":\"(optional) specifies a file name for the Filename= field of the generated content-disposition header.\",\"help\":\"FILENAME=\\\"*filename*\\\"\",\"type\":\"value\"},{\"name\":\"NOFILENAME\",\"description\":\"(optional) specifies to omit the Filename= field from the generated content-disposition header. This option enables you to use a fileref as input that is not a file, as far as the form is concerned.\",\"type\":\"standalone\"},{\"name\":\"HeaderList\",\"placeholder\":true,\"description\":\"(optional) specifies a list of headers. Each header is in the form:\",\"type\":\"value\"}]}]}]},{\"name\":\"MAXREDIRECTS=\",\"optional\":true,\"description\":\"specifies the maximum number of redirects that are allowed.\",\"help\":\"MAXREDIRECTS=*n*\",\"type\":\"value\"},{\"name\":\"METHOD=\",\"optional\":true,\"description\":\"specifies an HTTP method.\",\"help\":\"METHOD=&lt;\\\"&gt;*http-method*&lt;\\\"&gt;\",\"type\":\"value\"},{\"name\":\"NO_CONN_CACHE\",\"optional\":true,\"description\":\"disables connection caching for this procedure execution.\",\"type\":\"standalone\"},{\"name\":\"NO_COOKIES\",\"optional\":true,\"description\":\"specifies cached cookies will not be used for this procedure execution.\",\"type\":\"standalone\"},{\"name\":\"NOFOLLOWLOC\",\"optional\":true,\"description\":\"prevents the GET method from following URL redirections.\",\"type\":\"standalone\"},{\"name\":\"OAUTH_BEARER=\",\"optional\":true,\"description\":\"sends an OAuth access token along with the HTTP call.\",\"help\":\"OAUTH_BEARER=*token*\",\"type\":\"value\"},{\"name\":\"OUT=\",\"optional\":true,\"description\":\"specifies a fileref where output is written.\",\"help\":\"OUT=*fileref-to-response-data*\",\"type\":\"value\"},{\"name\":\"PROXY_AUTH_BASIC\",\"optional\":true,\"description\":\"specifies to perform user identity authentication through a proxy server.\",\"type\":\"standalone\"},{\"name\":\"PROXY_AUTH_NEGOTIATE\",\"optional\":true,\"description\":\"specifies to perform Kerberos or some other type of HTTP authentication through a proxy server.\",\"type\":\"standalone\"},{\"name\":\"PROXYHOST=\",\"optional\":true,\"description\":\"specifies the internet host name of an HTTP proxy server.\",\"help\":\"PROXYHOST=\\\"*proxy-host-name*\\\"\",\"type\":\"value\"},{\"name\":\"PROXYPASSWORD=\",\"optional\":true,\"description\":\"specifies an HTTP proxy server password.\",\"help\":\"PROXYPASSWORD=\\\"*proxy-passwd*\\\"\",\"type\":\"value\"},{\"name\":\"PROXYPORT=\",\"optional\":true,\"description\":\"specifies an HTTP proxy server port.\",\"help\":\"PROXYPORT=*proxy-port-number*\",\"type\":\"value\"},{\"name\":\"PROXYUSERNAME=\",\"optional\":true,\"description\":\"specifies an HTTP proxy server user name.\",\"help\":\"PROXYUSERNAME=\\\"*proxy-user-name*\\\"\",\"type\":\"value\"},{\"name\":\"QUERY=\",\"optional\":true,\"description\":\"provides an alternate method for submitting query parameters for the URL= argument.\",\"help\":\"QUERY=(&lt;NOENCODE&gt;\\\"*parm1*\\\"=\\\"*value1*\\\" \\\"*parm2*\\\"=\\\"*value2*\\\")\",\"type\":\"value\"},{\"name\":\"TIMEOUT=\",\"optional\":true,\"description\":\"specifies the number of seconds of inactivity to wait before canceling an HTTP request.\",\"help\":\"TIMEOUT=*integer*\",\"type\":\"value\"},{\"name\":\"WEBPASSWORD=\",\"optional\":true,\"aliases\":[\"PASSWORD\"],\"description\":\"specifies a password for basic authentication.\",\"help\":\"WEBPASSWORD=\\\"*basic-authentication-password*\\\"\",\"type\":\"value\"},{\"name\":\"WEBUSERNAME=\",\"optional\":true,\"aliases\":[\"USERNAME\"],\"description\":\"specifies a user name for basic authentication.\",\"help\":\"WEBUSERNAME=\\\"*basic-authentication-name*\\\"\",\"type\":\"value\"}]},{\"name\":\"DEBUG\",\"description\":\"Writes debugging information to the SAS log.\",\"help\":\"DEBUG *options*;\",\"arguments\":[{\"name\":\"Level=\",\"optional\":true,\"description\":\"\",\"help\":\"Level= 0 | 1 | 2 | 3 \",\"type\":\"choice\",\"arguments\":[{\"name\":\"0\",\"description\":\"no debugging. This is the same as specifying PROC HTTP without the DEBUG statement.\",\"type\":\"standalone\"},{\"name\":\"1\",\"description\":\"displays request and response headers in the log.\",\"type\":\"standalone\"},{\"name\":\"2\",\"description\":\"displays request data as well as level 1 messages in the log.\",\"type\":\"standalone\"},{\"name\":\"3\",\"description\":\"displays response data as well as level 2 messages in the log.\",\"type\":\"standalone\"}]},{\"name\":\"NO_REQUEST_BODY\",\"optional\":true,\"description\":\"suppresses the request body from the information displayed when a debug level of 2 or greater is specified.\",\"type\":\"standalone\"},{\"name\":\"NO_REQUEST_HEADERS\",\"optional\":true,\"description\":\"suppresses the request header from the information displayed when a debug level of 1 or greater is specified.\",\"type\":\"standalone\"},{\"name\":\"NO_RESPONSE_BODY\",\"optional\":true,\"description\":\"suppresses the response body from the information displayed when a debug level of 3 is specified.\",\"type\":\"standalone\"},{\"name\":\"NO_RESPONSE_HEADERS\",\"optional\":true,\"description\":\"suppresses the response header from the information displayed when a debug level of 1 or greater is specified.\",\"type\":\"standalone\"},{\"name\":\"OUTPUT_TEXT\",\"optional\":true,\"description\":\"displays the request body and response body as if they are text.\",\"type\":\"standalone\"},{\"name\":\"REQUEST_BODY\",\"optional\":true,\"description\":\"displays the request body in the log.\",\"type\":\"standalone\"},{\"name\":\"REQUEST_HEADERS\",\"optional\":true,\"description\":\"displays the request header in the log.\",\"type\":\"standalone\"},{\"name\":\"RESPONSE_BODY\",\"optional\":true,\"description\":\"displays the response body in the log.\",\"type\":\"standalone\"},{\"name\":\"RESPONSE_HEADERS\",\"optional\":true,\"description\":\"displays the response header in the log.\",\"type\":\"standalone\"}]},{\"name\":\"HEADERS\",\"description\":\"Specifies request headers for the HTTP request.\",\"help\":\"HEADERS  \\\"*HeaderName*\\\"=\\\"*HeaderValue*\\\"&lt;\\\"*HeaderName-n*\\\"=\\\"*HeaderValue-n*\\\"&gt;;\",\"arguments\":[{\"name\":\"\\\"HeaderName\\\"=\",\"placeholder\":true,\"description\":\"is a name and value pair that represents a header name and its value. The HeaderName can be a standard header name or a custom header name. For information about header field definitions, see the HTTP/1.1 specification at www.w3.org.\",\"help\":\"\\\"*HeaderName*\\\"=\\\"*HeaderValue*\\\"\",\"type\":\"value\"}]},{\"name\":\"SSLPARMS\",\"description\":\"Sets SSL parameters for the PROC HTTP request.\",\"help\":\"SSLPARMS *SSL-options*;\",\"arguments\":[{\"name\":\"\\\"SSLSystemOption\\\"=\",\"placeholder\":true,\"description\":\"specifies one or more SAS system options for encryption that enable a secure client-server connection with the target server.\",\"help\":\"*\\\"SSLSystemOption\\\"=\\\"OptionValue\\\"*&lt;*\\\"SSLSystemOption\\\"=\\\"OptionValue\\\"*&gt;\",\"type\":\"value\"}]}],\"supportSiteInformation\":{\"docsetId\":\"proc\",\"docsetVersion\":\"v_002\",\"docsetTargetFile\":\"n0bdg5vmrpyi7jn1pbgbje2atoov.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/ICA.json",
    "content": "{\"name\":\"ICA\",\"statements\":[{\"name\":\"PROC ICA\",\"description\":\"The ICA procedure performs independent component analysis in SAS Viya. † Independent component analysis attempts to extract from the observed multivariate data independent components (also called factors or latent variables) that are as statistically independent from each other as possible. The methods that PROC ICA implements, where statistical independence is defined as the maximization of non-Gaussianity, seek linear combinations of the observed random variables that maximize the non-Gaussianity of the estimated independent components.\",\"help\":\"PROC ICA <DATA=CAS-libref.data-table><EIGTHRESH=p | EIGENTHRESHOLD=p><GFUNCTION=EXP | LOGCOSH><METHOD=DEFLATION | SYMMETRIC><N=number><NOCENTER><NOSCALE><PREFIX=name><SEED=number><WHITEPREFIX=name | WPREFIX=name>;     \\n\\tBY variables;\\n\\n\\tDISPLAY <CASESENSITIVE><EXCLUDE><EXCLUDEALL> ...;\\n\\n\\tDISPLAYOUT <INCLUDEALL><NOREPLACE><REPEATED> ...;\\n\\n\\tOUTPUT <COMP<=prefix> | COMPONENT<=prefix>><COPYVAR=variable | COPYVARS=(variables)><OUT=CAS-libref.data-table> ...;\\n\\n\\tVAR variables;\\n\",\"arguments\":[{\"name\":\"DATA=\",\"optional\":true,\"description\":\"Names the input data table for PROC ICA to use. The default is the most recently created data table. CAS-libref.data-table is a two-level name, where\",\"help\":\"DATA=*CAS-libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"EIGTHRESH=\",\"optional\":true,\"aliases\":[\"EIGENTHRESHOLD=\"],\"description\":\"Specifies the threshold for the proportion of variance explained by eigenvalues, where 0 ≤ p ≤ 1. If the proportion of variance that an eigenvalue explains is less than the threshold, the eigenvalue is discarded in the analysis. You can use this option to reduce the dimensionality of the input data.\",\"type\":\"value\"},{\"name\":\"GFUNCTION=\",\"optional\":true,\"aliases\":[\"GFUNC=\"],\"description\":\"Specifies the nonquadratic function G(x) to be used in the approximation of negentropy.\",\"help\":\"GFUNCTION=EXP | LOGCOSH\",\"type\":\"choice\",\"arguments\":[{\"name\":\"EXP\",\"description\":\"Uses an exponential function\",\"type\":\"standalone\"},{\"name\":\"LOGCOSH\",\"description\":\"Uses a log cosh function\",\"type\":\"standalone\"}]},{\"name\":\"METHOD=\",\"optional\":true,\"description\":\"Specifies the independent component extraction method to be used.\",\"help\":\"METHOD=DEFLATION | SYMMETRIC\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DEFLATION\",\"description\":\"Syntax: DEFLATION<(defl-options)> Requests the deflationary decorrelation method. You can specify the following defl-options: MAXITER=n specifies the maximum number of iterations to perform. By default, MAXITER=500. TOL=n TOLERANCE=n specifies the convergence criterion. By default, TOL=1E–4.\",\"type\":\"standalone\"},{\"name\":\"SYMMETRIC\",\"description\":\"Syntax: SYMMETRIC<(symm-options)> Requests the symmetric decorrelation method. You can specify the following symm-options: MAXITER=n specifies the maximum number of iterations to perform. By default, MAXITER=500. TOL=n TOLERANCE=n specifies the convergence criterion. By default, TOL=1E–4.\",\"type\":\"standalone\"}]},{\"name\":\"N=\",\"optional\":true,\"description\":\"Specifies the number of independent components to be computed. The default is the number of numeric variables to be analyzed. The number must be an integer greater than or equal to 0. If N=0, the default is used.\",\"help\":\"N=*number*\",\"type\":\"value\"},{\"name\":\"NOCENTER\",\"optional\":true,\"description\":\"Suppresses centering of the numeric variables to be analyzed. This option is useful if the analysis variables are already centered and scaled.\",\"type\":\"standalone\"},{\"name\":\"NOSCALE\",\"optional\":true,\"description\":\"Suppresses scaling of the numeric variables to be analyzed. This option is useful if the analysis variables are already centered and scaled.\",\"type\":\"standalone\"},{\"name\":\"PREFIX=\",\"optional\":true,\"description\":\"Specifies a prefix for naming the independent components. By default, the names are Comp1, Comp2, …, Compn. If you specify PREFIX=Abc, the components are named Abc1, Abc2, Abc3, and so on. The number of characters in the prefix plus the number of digits required to designate the variables should not exceed the current name length that is defined by the VALIDVARNAME= system option.\",\"help\":\"PREFIX=*name*\",\"type\":\"value\"},{\"name\":\"SEED=\",\"optional\":true,\"description\":\"Specifies an integer as the seed value for pseudorandom number generation. PROC ICA uses random values to initialize the demixing matrix. Changing the seed value changes the initial demixing matrix, resulting in a different estimated demixing matrix. If you do not specify this option or if number is less than or equal to 0, the seed is generated by reading the time of day from the computer’s clock. By default, SEED=0.\",\"help\":\"SEED=*number*\",\"type\":\"value\"},{\"name\":\"WHITEPREFIX=\",\"optional\":true,\"aliases\":[\"WPREFIX=\"],\"description\":\"Specifies a prefix for naming the whitened variables. By default, the names are White1, White2, …, Whiten. If you specify WHITEPREFIX=Abc, the components are named Abc1, Abc2, Abc3, and so on. The number of characters in the prefix plus the number of digits required to designate the variables should not exceed the current name length that is defined by the VALIDVARNAME= system option.\",\"type\":\"value\"}]},{\"name\":\"BY\",\"description\":\"You can specify a BY statement in PROC ICA to obtain separate analyses of observations in groups that are defined by the values of the BY variables. If you specify more than one BY statement, only the last one specified is used.\",\"help\":\"BY variables\"},{\"name\":\"DISPLAY\",\"description\":\"The DISPLAY statement enables you to specify a list of display tables to display or exclude. This statement is similar to the ODS SELECT, ODS EXCLUDE, and ODS TRACE statements. However, the DISPLAY statement can improve performance when a large number of tables could be generated (such as in BY-group processing). The procedure processes the DISPLAY statement on a CAS server and thus sends only a subset of ODS tables to the SAS client. Because ODS statements are processed on a SAS client, all the display tables generated are first sent to the client and then the client creates a subset. If both DISPLAY and ODS statements are used together, the DISPLAY statement takes precedence over the ODS statements.\",\"help\":\"DISPLAY &lt;CASESENSITIVE&gt;&lt;EXCLUDE&gt;&lt;EXCLUDEALL&gt; ...\",\"arguments\":[{\"name\":\"CASESENSITIVE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Performs a case-sensitive comparison of table names in the table-list to display table names when tables are subsetted for display. To preserve case, you must enclose table names in the table-list in quotation marks.\",\"type\":\"standalone\"},{\"name\":\"EXCLUDE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays all display tables except those specified in the table-list.\",\"type\":\"standalone\"},{\"name\":\"EXCLUDEALL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Suppresses display of all tables. This option takes precedence over the other options.\",\"type\":\"standalone\"},{\"name\":\"TRACE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays the display table names, labels, and paths.\",\"type\":\"standalone\"}]},{\"name\":\"DISPLAYOUT\",\"description\":\"The DISPLAYOUT statement enables you to create CAS output tables from your displayed output. This statement is similar to the ODS OUTPUT statement. The table-spec-list specifies a list of CAS output tables to create. Each entry in the list has either a key or a key=value format: key=value specifies key as the ODS table name, path, or partial pathname, and specifies value as the CAS output table name. key specifies key as the ODS table name and also as the CAS output table name. Table names and partial pathnames are discussed under the DISPLAY statement. The DISPLAYOUT statement does not support regular expressions.\",\"help\":\"DISPLAYOUT &lt;INCLUDEALL&gt;&lt;NOREPLACE&gt;&lt;REPEATED&gt; ...\",\"arguments\":[{\"name\":\"INCLUDEALL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Creates output CAS tables for all display tables. The name of the created output CAS table is the same as the corresponding display table name. If you specify this option, the table-spec-list specification is ignored.\",\"type\":\"standalone\"},{\"name\":\"NOREPLACE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Does not replace an existing CAS output table of the same name.\",\"type\":\"standalone\"},{\"name\":\"REPEATED\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Replicates all CAS output tables on all nodes.\",\"type\":\"standalone\"}]},{\"name\":\"OUTPUT\",\"description\":\"The OUTPUT statement creates a data table that contains observationwise statistics, which are computed after PROC ICA fits the model. If you do not specify a keyword, then only the independent component values are included.\",\"help\":\"OUTPUT &lt;COMP&lt;=prefix&gt; | COMPONENT&lt;=prefix&gt;&gt;&lt;COPYVAR=variable | COPYVARS=(variables)&gt;&lt;OUT=CAS-libref.data-table&gt; ...\",\"arguments\":[{\"name\":\"COMP\",\"optional\":true,\"aliases\":[\"COMPONENT\"],\"description\":\"Requests the source values for each indepedent component. The optional prefix is for naming the output variables. The default prefix is the one that you specify in the PREFIX= option.\",\"type\":\"standalone\"},{\"name\":\"COPYVAR=\",\"optional\":true,\"aliases\":[\"COPYVARS=\"],\"description\":\"Transfers one or more variables from the input data table to the output data table.\",\"type\":\"value\"},{\"name\":\"OUT=\",\"optional\":true,\"description\":\"Names the output data table for PROC TSNE to use. You must specify this option before any other options. CAS-libref.data-table is a two-level name, where\",\"help\":\"OUT=*CAS-libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"WHITE\",\"optional\":true,\"description\":\"Requests the source values for each whitened variable. The optional prefix is for naming the output variables. The default prefix is the one that you specify in the WHITEPREFIX= option.\",\"type\":\"standalone\"}]},{\"name\":\"VAR\",\"description\":\"The VAR statement lists the numeric variables to be analyzed. If you omit the VAR statement, all numeric variables that are not specified in other statements are analyzed.\",\"help\":\"VAR variables\"}],\"supportSiteInformation\":{\"docsetId\":\"casstat\",\"docsetVersion\":\"latest\",\"docsetTargetFile\":\"casstat_ica_toc.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/ICLIFETEST.json",
    "content": "{\"name\":\"ICLIFETEST\",\"statements\":[{\"name\":\"PROC ICLIFETEST\",\"description\":\"The ICLIFETEST procedure performs nonparametric survival analysis for interval-censored data. You can use the ICLIFETEST procedure to compute nonparametric estimates of the survival functions and to examine the equality of the survival functions through statistical tests. † The ICLIFETEST procedure compares most closely to the LIFETEST procedure. The two procedures share the same analytic objectives: estimating and summarizing subjects’ survival experiences and comparing them systematically. The distinction between these procedures lies in the types of data that they are designed to handle. The ICLIFETEST procedure is intended primarily for handling interval-censored data, whereas the LIFETEST procedure deals exclusively with right-censored data. You can use the ICLIFETEST procedure to analyze data that are left-censored, interval-censored, or right-censored. However, if the data to be analyzed contain only exact or right-censored observations, it is recommended that you use the LIFETEST procedure because it provides specialized methods for dealing with right-censored data.\",\"help\":\"PROC ICLIFETEST <ALPHA=α><ALPHAQT=α><ATRISK><BOOTSTRAP <(options)> | BOOT <(options)>><CONFTYPE=ASINSQRT | LOGLOG | LINEAR... ><DATA=SAS-data-set><IMPUTE <(options)> | IM <(options)>><ITHISTORY><MAXITER=n | MAXIT=n><MAXTIME=value><METHOD=TURNBULL | EMICM | ICM><MISSING><NOPRINT><NOSUMMARY><OUTSURV=SAS-data-set | OUTS=SAS-data-set><PLOTS=ALL | HAZARD | LOGLOGS... ><SHOWTI><SINGULAR=value><TOLLIKE=value>;     \\n\\tBY <DESCENDING><NOTSORTED> ;\\n\\n\\tFREQ variable;\\n\\n\\tSTRATA variables ;\\n\\n\\tTEST <ADJUST=<BONFERRONI | DUNNETT | SCHEFFE>... ><DIFF=<ALL | CONTROL>><NODETAIL> ...;\\n\\n\\tTIME (variable, variable );\\n\",\"arguments\":[{\"name\":\"ALPHA=\",\"optional\":true,\"description\":\"Specifies the level of significance, α, for the 100(1 - α)% confidence intervals for the survival functions. For example, ALPHA=0.05 requests 95% confidence limits. By default, ALPHA=0.05.\",\"type\":\"value\"},{\"name\":\"ALPHAQT=\",\"optional\":true,\"description\":\"Specifies the significance level, α, for the 100(1 - α)% confidence intervals for the quartiles of the survival time. For example, ALPHAQT=0.05 requests a 95% confidence interval. By default, ALPHAQT=0.05.\",\"type\":\"value\"},{\"name\":\"ATRISK\",\"optional\":true,\"description\":\"Adds a column that represents the number of subjects at risk to the survival estimate table. Also added is a column that represents the number of events at each observed time. This option has no effect for the life-table method.\",\"type\":\"standalone\"},{\"name\":\"BOOTSTRAP\",\"optional\":true,\"aliases\":[\"BOOT\"],\"description\":\"Performs simple bootstrap sampling and computes bootstrap standard errors of nonparametric survival estimates. You can specify the following suboptions to control how the bootstrap samples are generated:\",\"type\":\"standalone\"},{\"name\":\"CONFTYPE=\",\"optional\":true,\"description\":\"Specifies the transformation applied to S(t) to obtain the pointwise confidence intervals and the confidence bands for the survival function in addition to the confidence intervals for the quartiles of the survival times.\",\"help\":\"CONFTYPE=ASINSQRT | LOGLOG | LINEAR | LOG | LOGIT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ASINSQRT\",\"description\":\"Specifies the arcsine-square root transformation.\",\"type\":\"standalone\"},{\"name\":\"LOGLOG\",\"description\":\"Specifies the log-log transformation.\",\"type\":\"standalone\"},{\"name\":\"LINEAR\",\"description\":\"Specifies the identity transformation.\",\"type\":\"standalone\"},{\"name\":\"LOG\",\"description\":\"Specifies the logarithmic transformation.\",\"type\":\"standalone\"},{\"name\":\"LOGIT\",\"description\":\"Specifies the logit transformation.\",\"type\":\"standalone\"}]},{\"name\":\"DATA=\",\"optional\":true,\"description\":\"Names tthe SAS data set that PROC ICLIFETEST reads. By default, the most recently created SAS data set is used.\",\"help\":\"DATA=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"IMPUTE=\",\"optional\":true,\"aliases\":[\"IM\"],\"description\":\"Specifies details for multiple imputations. You can specify the following two suboptions to control how the samples are generated:\",\"help\":\"IMPUTE=NIMSE | NIMTEST | SEED\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NIMSE\",\"type\":\"standalone\"},{\"name\":\"NIMTEST\",\"type\":\"standalone\"},{\"name\":\"SEED\",\"type\":\"standalone\"}]},{\"name\":\"ITHISTORY\",\"optional\":true,\"description\":\"Prints the iteration history of the nonparametric estimation, including the log likelihood, the probability estimate that is associated with each Turnbull interval, and whether the EM or ICM method is used for each iteration.\",\"type\":\"standalone\"},{\"name\":\"MAXITER=\",\"optional\":true,\"aliases\":[\"MAXIT=\"],\"description\":\"Specifies the maximum number of iterations for estimating the survival function. The default value depends on the estimation method as follows: •EMICM method: 200 •ICM method: 200 •Turnbull method: 500\",\"type\":\"value\"},{\"name\":\"MAXTIME=\",\"optional\":true,\"description\":\"Specifies the maximum value of the time variable that is allowed in plots so that outlying points do not determine the scale of the time axis of the plots. This option affects only the way in which plots are displayed and has no effect on any calculations.\",\"help\":\"MAXTIME=*value*\",\"type\":\"value\"},{\"name\":\"METHOD=\",\"optional\":true,\"description\":\"Specifies the method to be used for computing survival function estimates. By default, METHOD=EMICM.\",\"help\":\"METHOD=TURNBULL | EMICM | ICM\",\"type\":\"choice\",\"arguments\":[{\"name\":\"TURNBULL\",\"description\":\"Requests that the Turnbull method be used to estimate the survival function.\",\"type\":\"standalone\"},{\"name\":\"EMICM\",\"description\":\"Requests that the EMICM algorithm be used to estimate the survival function.\",\"type\":\"standalone\"},{\"name\":\"ICM\",\"description\":\"Requests that the iterative convex minorant algorithm be used to estimate the survival function.\",\"type\":\"standalone\"}]},{\"name\":\"MISSING\",\"optional\":true,\"description\":\"Allows missing values to be a stratum level or a valid group for the variables that are specified in the STRATA and TEST statements.\",\"type\":\"standalone\"},{\"name\":\"NOPRINT\",\"optional\":true,\"description\":\"Suppresses the display of output. This option is useful when only an output data set is needed.\",\"type\":\"standalone\"},{\"name\":\"NOSUMMARY\",\"optional\":true,\"description\":\"Suppresses the summary table of the number of censored and uncensored values.\",\"type\":\"standalone\"},{\"name\":\"OUTSURV=\",\"optional\":true,\"aliases\":[\"OUTS=\"],\"description\":\"Creates an output SAS data set to contain the estimates of the survival function and corresponding confidence limits for all strata.\",\"type\":\"value\"},{\"name\":\"PLOTS=\",\"optional\":true,\"description\":\"Controls the plots that are produced by using ODS Graphics. You can specify the following global-plot-option:\",\"help\":\"PLOTS=ALL | HAZARD | LOGLOGS | LOGSURV | SURVIVAL | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ALL\",\"description\":\"Produces all appropriate plots.\",\"type\":\"standalone\"},{\"name\":\"HAZARD\",\"description\":\"Syntax: HAZARD <(hazard-options)> Plots the kernel-smoothed hazard functions. You can specify the following hazard-options. BANDWIDTH|BW=value | numeric-list | RANGE(lower,upper) specifies the bandwidth for kernel-smoothed estimation of the hazard function. You can specify one of the following bandwidth-options. value -- sets the bandwidth to the given value. numeric-list -- selects the bandwidth from the given numeric-list that minimizes the mean integrated squared error. RANGE(lower,upper) -- selects the bandwidth from the interval (lower, upper) that minimizes the mean integrated squared error. SAMPLING=LEAVEONE | RANDOM specifies how to partition the data set to form cross validation groups. GRIDL=number -- specifies the lower grid limit for the kernel-smoothed estimate. The default value is the time origin. GRIDU=number -- specifies the upper grid limit for the kernel-smoothed estimate. The default value equals the maximum event time KERNEL=kernel-option -- specifies the kernel used. The choices are as follows: BIWEIGHT | BW EPANECHNIKOV | E UNIFORM | U CVFOLD=number -- specifies the number of cross validation groups. CVGRID=number -- specifies the number of grid points to use in determining the cross validation pseudo-likelihood. HGRID=number -- specifies the number of grid points for discretizing the smoothed hazard function.\",\"type\":\"standalone\"},{\"name\":\"LOGLOGS\",\"description\":\"Plots the log of the negative log of the estimated survival function versus the log of time.\",\"type\":\"standalone\"},{\"name\":\"LOGSURV\",\"description\":\"Plots the negative log of the estimated survival function versus time.\",\"type\":\"standalone\"},{\"name\":\"SURVIVAL\",\"description\":\"Syntax: SURVIVAL|S <(CL | FAILURE | NODASH | STRATA | TEST)> Plots the estimated survival function. You can customize the display by specifying the following values: CL -- displays pointwise confidence limits for the survival function. FAILURE | F -- changes all the displays for survival function to those for the failure function. NODASH -- suppresses the plotting of dashed lines as linear interpolations for the Turnbull intervals. STRATA=INDIVIDUAL | OVERLAY | PANEL specifies how to display the survival or failure curves for multiple strata. You can specify one of the following values: INDIVIDUAL | UNPACK -- requests that a separate plot be displayed for each stratum. OVERLAY -- requests that the survival or failure curves for the strata be overlaid on the same plot. PANEL -- requests that separate plots for the strata be organized into panels of two or four plots, depending on the number of strata. TEST -- displays the p-value for a K-sample test that is specified in the TEST statement.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"Suppresses all plots.\",\"type\":\"standalone\"}]},{\"name\":\"SHOWTI\",\"optional\":true,\"description\":\"Presents the survival estimates in terms of Turnbull intervals.\",\"type\":\"standalone\"},{\"name\":\"SINGULAR=\",\"optional\":true,\"description\":\"Sets the tolerance for testing the singularity of the covariance matrix of test statistics.\",\"help\":\"SINGULAR=*value*\",\"type\":\"value\"},{\"name\":\"TOLLIKE=\",\"optional\":true,\"description\":\"Sets the log-likelihood convergence criterion for the estimation algorithm. The default value depends on the estimation method as follows:\",\"help\":\"TOLLIKE=*value*\",\"type\":\"value\"}]},{\"name\":\"BY\",\"description\":\"You can specify a BY statement with PROC ICLIFETEST to obtain separate analyses of observations in groups that are defined by the BY variables. When a BY statement appears, the procedure expects the input data set to be sorted in order of the BY variables. If you specify more than one BY statement, only the last one specified is used. If your input data set is not sorted in ascending order, use one of the following alternatives: • Sort the data by using the SORT procedure with a similar BY statement. • Specify the NOTSORTED or DESCENDING option in the BY statement for the BCHOICE procedure. The NOTSORTED option does not mean that the data are unsorted but rather that the data are arranged in groups (according to values of the BY variables) and that these groups are not necessarily in alphabetical or increasing numeric order. • Create an index on the BY variables by using the DATASETS procedure (in Base SAS software).\",\"help\":\"BY &lt;DESCENDING&gt;&lt;NOTSORTED&gt;\",\"arguments\":[{\"name\":\"DESCENDING\",\"optional\":true,\"description\":\"Specifies that the observations are sorted in descending order by the variable that immediately follows the word DESCENDING in the BY statement.\",\"type\":\"standalone\"},{\"name\":\"NOTSORTED\",\"optional\":true,\"description\":\"Specifies that observations are not necessarily sorted in alphabetic or numeric order.\",\"type\":\"standalone\"}]},{\"name\":\"FREQ\",\"description\":\"The FREQ statement names a variable that provides frequencies for each observation in the DATA= data set. Specifically, if n is the value of the FREQ variable for a given observation, then that observation is used n times.\",\"help\":\"FREQ variable\"},{\"name\":\"STRATA\",\"description\":\"The STRATA statement identifies the variables that determine the stratum levels. You can specify more than one variable in the STRATA statement. By default, strata are formed according to the nonmissing values of these variables. However, missing values are treated as a valid stratum level if you specify the MISSING option in the PROC ICLIFETEST statement.\",\"help\":\"STRATA variables \"},{\"name\":\"TEST\",\"description\":\"In the preceding syntax, variable is a variable whose values determine the groups to be tested. The values for variable can be formatted or unformatted. If variable is a character or numeric variable, then the groups are defined by the unique values of the TEST variable. You can specify only one variable in the TEST statement.\",\"help\":\"TEST &lt;ADJUST=&lt;BONFERRONI | DUNNETT | SCHEFFE&gt;... &gt;&lt;DIFF=&lt;ALL | CONTROL&gt;&gt;&lt;NODETAIL&gt; ...\",\"arguments\":[{\"name\":\"ADJUST=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the multiple-comparison method to use for adjusting the p-values of the paired tests.\",\"help\":\"ADJUST=BONFERRONI | DUNNETT | SCHEFFE | SIDAK | SMM | TUKEY | SIMULATE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"BONFERRONI\",\"followsDelimiter\":\"/\",\"description\":\"Applies the Bonferroni correction to the raw p-values.\",\"type\":\"standalone\"},{\"name\":\"DUNNETT\",\"followsDelimiter\":\"/\",\"description\":\"Performs Dunnett’s two-tailed comparisons of the control group to all other groups.\",\"type\":\"standalone\"},{\"name\":\"SCHEFFE\",\"followsDelimiter\":\"/\",\"description\":\"Performs Scheffé’s multiple-comparison adjustment.\",\"type\":\"standalone\"},{\"name\":\"SIDAK\",\"followsDelimiter\":\"/\",\"description\":\"Applies the Šidák correction to the raw p-values.\",\"type\":\"standalone\"},{\"name\":\"SMM\",\"followsDelimiter\":\"/\",\"aliases\":[\"GT2\"],\"description\":\"performs the paired comparisons based on the studentized maximum modulus test.\",\"type\":\"standalone\"},{\"name\":\"TUKEY\",\"followsDelimiter\":\"/\",\"description\":\"Performs the paired comparisons based on Tukey’s studentized range test.\",\"type\":\"standalone\"},{\"name\":\"SIMULATE\",\"followsDelimiter\":\"/\",\"description\":\"Computes the adjusted p-values from the simulated distribution of the maximum or maximum absolute value of a multivariate normal random vector. Syntax: SIMULATE<(simulate-options)> You can specify the following simulate-options in parentheses after the ADJUST=SIMULATE option. ACC=value specifies the target accuracy radius γ of a 100(1-ε)% confidence interval for the true probability content of the estimated (1-α)th quantile. The default value is ACC=0.005. ALPHA=value -- specifies the value α for estimating the (1 - α) quantile. EPS=value specifies the value ε for a 100(1-ε)% confidence interval for the true probability content of the estimated (1-α)th quantile. NSAMP=n specifies the sample size for the simulation. REPORT specifies that a report on the simulation should be displayed, including a listing of the parameters, such as γ, ε, and α, as well as an analysis of various methods for estimating or approximating the quantile. SEED=number specifies an integer used to start the pseudo-random number generator for the simulation.\",\"type\":\"standalone\"}]},{\"name\":\"DIFF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies which pairs of survival curves to consider for the multiple comparisons.\",\"help\":\"DIFF=ALL | CONTROL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ALL\",\"followsDelimiter\":\"/\",\"description\":\"Requests all paired comparisons.\",\"type\":\"standalone\"},{\"name\":\"CONTROL\",\"followsDelimiter\":\"/\",\"description\":\"Syntax: CONTROL <('string' <…'string'>)> Requests comparisons of the control survival curve with all other survival curves. To specify the control curve, you specify the quoted strings of formatted values that represent the curve in parentheses.\",\"type\":\"standalone\"}]},{\"name\":\"NODETAIL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Suppresses the display of the generalized log-rank statistics and the corresponding covariance matrices. If you specify the TREND option, the display of the scores for computing the trend test is suppressed.\",\"type\":\"standalone\"},{\"name\":\"NOTEST\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Suppresses the K-sample tests, stratified tests, and trend tests.\",\"type\":\"standalone\"},{\"name\":\"OUTSCORE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"OUTSC=\"],\"description\":\"Creates an output SAS data set to contain subject scores that are derived from a permutation form of the generalized log-rank statistic.\",\"type\":\"value\"},{\"name\":\"TREND\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Computes the trend test for the null hypothesis that the survival rates are the same for the groups versus an ordered alternative. If the TEST variable is numeric, the unformatted values of the variable are used as the scores; otherwise, the scores are 1, 2, ..., in the order of the strata.\",\"type\":\"standalone\"},{\"name\":\"WEIGHT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"SyntaxL WEIGHT=test-request | (test-request <…test-request>) Requests weights to be applied to the generalized log-rank statistics to perform various tests.\",\"help\":\"WEIGHT=FAY | FINKELSTEIN | FLEMING | SUN | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"FAY\",\"followsDelimiter\":\"/\",\"description\":\"Specifies the test that uses Fay’s weights (Fay 1999).\",\"type\":\"standalone\"},{\"name\":\"FINKELSTEIN\",\"followsDelimiter\":\"/\",\"description\":\"Specifies the test that uses Finkelstein’s weights (Finkelstein 1986).\",\"type\":\"standalone\"},{\"name\":\"FLEMING\",\"followsDelimiter\":\"/\",\"description\":\"Syntax: FLEMING(ρ1, ρ2) Specifies the family of tests in Harrington and Fleming (1982), where ρ1 and ρ2 are nonnegative numbers.\",\"type\":\"standalone\"},{\"name\":\"SUN\",\"followsDelimiter\":\"/\",\"description\":\"Specifies the test that uses Sun’s weights (Sun 1996).\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"followsDelimiter\":\"/\",\"description\":\"Suppresses all comparison tests. Specifying WEIGHT=NONE is equivalent to specifying NOTEST.\",\"type\":\"standalone\"}]}]},{\"name\":\"TIME\",\"description\":\"The TIME statement names the variables that represent the interval-censored observations. The variables should be numeric. For example, the following statement identifies Left as the lower bound and Right as the upper bound of an observed interval: time (Left, Right);\",\"help\":\"TIME (variable, variable )\"}],\"supportSiteInformation\":{\"docsetId\":\"statug\",\"docsetVersion\":\"latest\",\"docsetTargetFile\":\"statug_iclifetest_toc.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/ICPHREG.json",
    "content": "{\"name\":\"ICPHREG\",\"statements\":[{\"name\":\"PROC ICPHREG\",\"description\":\"The ICPHREG procedure is designed to fit proportional hazards regression models to interval-censored data. It can also fit proportional hazards regression models to failure time data that are uncensored, right censored, or left censored. † The ICPHREG procedure enables you to use a variety of configurations with respect to the baseline function to fit a proportional hazards model; these configurations include a piecewise constant model (Friedman 1982) and a cubic spline model (Royston and Parmar 2002). To estimate the regression coefficients and the baseline parameters, the ICPHREG procedure maximizes the full likelihood instead of the Cox partial likelihood. Standard errors of the estimates are obtained by inverting the observed information matrix, which is derived from the full likelihood. † The ICPHREG procedure also enables you to do the following: include an offset variable in the model, weight the observations in the input data, test linear hypotheses about the regression coefficients, compute customized hazard ratios, and estimate and plot the survival function and the cumulative hazard function for a new set of covariates. † The ICPHREG procedure uses ODS Graphics to create graphs as part of its output.\",\"help\":\"PROC ICPHREG <ALPHA=number><DATA=SAS-data-set><ITHISTORY><NAMELEN=n><NLOPTIONS(options)><NOPRINT><NOTHREADS><PLOTS=CUMHAZ | HAZARD | INTERVAL... ><SINGULAR=number | EPSILON=number><THREADS=n | NTHREADS=n>;     \\n\\tBASELINE COVARIATES=SAS-data-set OUT=SAS-data-set TIMELIST=list ...;\\n\\n\\tBY <DESCENDING><NOTSORTED> ;\\n\\n\\tCLASS <CPREFIX=n><DESCENDING><LPREFIX=n> ...;\\n\\n\\tFREQ <NOTRUNCATE> ;\\n\\n\\tHAZARDRATIO <ALPHA=number><AT (variable=ALL | REF | list <...variable=ALL | REF| list> )><DIFF=<DISTINCT | PAIRWISE  | REFERENCE>> ...;\\n\\n\\tMODEL <ALPHA=value><CORRB><COVB> ...;\\n\\n\\tOUTPUT INTERVAL= OUT=SAS-data-set RESDEV= ...;\\n\\n\\tSTRATA <MISSING> ;\\n\\n\\tTEST <E><E1><E2> ...;\\n\",\"arguments\":[{\"name\":\"ALPHA=\",\"optional\":true,\"description\":\"Specifies the α level for 100(1 - α)% confidence limits. The number must be between 0 and 1; the default value is 0.05, which results in 95% intervals.\",\"help\":\"ALPHA=*number*\",\"type\":\"value\"},{\"name\":\"DATA=\",\"optional\":true,\"description\":\"Names the SAS data set that contains the data to be analyzed. If you omit this option, the procedure uses the most recently created SAS data set.\",\"help\":\"DATA=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"ITHISTORY\",\"optional\":true,\"description\":\"Displays the iteration history for computing maximum likelihood estimates, the final evaluation of the gradient, and the final evaluation of the negative of the second derivative matrix (that is, the negative of the Hessian).\",\"type\":\"standalone\"},{\"name\":\"NAMELEN=\",\"optional\":true,\"description\":\"Specifies the maximum length of effect names in tables and output data sets to be n characters, where n is a value between 20 and 200. By default, NAMELEN=20.\",\"help\":\"NAMELEN=*n*\",\"type\":\"value\"},{\"name\":\"NLOPTIONS=\",\"optional\":true,\"description\":\"Specifies options for the nonlinear optimization methods if you are applying the multivariate adaptive regression splines algorithm to generalized linear models. You can specify the following options: ABSCONV=r | ABSTOL=r -- specifies an absolute function convergence criterion by which minimization stops. ABSFCONV=r | ABSFTOL=r -- specifies an absolute function difference convergence criterion. The default value is r=0. ABSGCONV=r | ABSGTOL=r -- specifies an absolute gradient convergence criterion. This criterion is not used by the NMSIMP technique. The default value is r = 1E–5. FCONV=r | FTOL=r -- specifies a relative function convergence criterion. GCONV=r | GTOL=r -- specifies a relative gradient convergence criterion. This criterion is not used by the NMSIMP technique. The default value is r = 1E–8. HESSIAN=hessian-options specifies the Hessian matrix type used in the optimization of likelihood functions, if the Newton-Raphson technique is used. You can specify the following hessian-options: EXPECTED -- requests that the Hessian matrix in optimization be computed as the negative of the expected information matrix. OBSERVED -- requests that the Hessian matrix in optimization be computed as the negative of the observed information matrix. For many specified distribution families and link functions, the observed information matrix is equal to the expected information matrix. The default is HESSIAN=EXPECTED. MAXFUNC=n | MAXFU=n specifies the maximum number of function calls in the optimization process. The default values are as follows, depending on the optimization technique: • TRUREG, NRRIDG, and NEWRAP: 125 • QUANEW and DBLDOG: 500 • CONGRA: 1000 • NMSIMP: 3000 MAXITER=n | MAXIT=n specifies the maximum number of iterations in the optimization process. The default values are as follows, depending on the optimization technique: • TRUREG, NRRIDG, and NEWRAP: 50 • QUANEW and DBLDOG: 200 • CONGRA: 400 • NMSIMP: 1000 You can select the optimization technique by specifying the TECHNIQUE= option. MAXTIME=r specifies an upper limit of r seconds of CPU time for the optimization process. T MINITER=n | MINIT=n specifies the minimum number of iterations. The default value is 0. TECHNIQUE=keyword specifies the optimization technique to obtain maximum likelihood estimates for nonnormal distributions. You can choose from the following techniques by specifying the appropriate keyword: CONGRA -- performs a conjugate-gradient optimization. DBLDOG -- performs a version of double-dogleg optimization. NEWRAP -- performs a Newton-Raphson optimization that combines a line-search algorithm with ridging. NMSIMP -- performs a Nelder-Mead simplex optimization. NONE -- performs no optimization. NRRIDG -- performs a Newton-Raphson optimization with ridging. QUANEW -- performs a dual quasi-Newton optimization. TRUREG -- performs a trust-region optimization.\",\"help\":\"NLOPTIONS=ABSCONV= | ABSTOL= | ABSFCONV= | ABSFTOL= | ABSGCONV= | ABSGTOL= | FCONV= | FTOL= | GCONV= | GTOL= | MAXFUNC= | MAXFU= | MAXITER= | MAXIT= | MAXTIME= | MINITER= | MINIT= | TECHNIQUE=\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ABSCONV=\",\"type\":\"value\"},{\"name\":\"ABSTOL=\",\"type\":\"value\"},{\"name\":\"ABSFCONV=\",\"type\":\"value\"},{\"name\":\"ABSFTOL=\",\"type\":\"value\"},{\"name\":\"ABSGCONV=\",\"type\":\"value\"},{\"name\":\"ABSGTOL=\",\"type\":\"value\"},{\"name\":\"FCONV=\",\"type\":\"value\"},{\"name\":\"FTOL=\",\"type\":\"value\"},{\"name\":\"GCONV=\",\"type\":\"value\"},{\"name\":\"GTOL=\",\"type\":\"value\"},{\"name\":\"MAXFUNC=\",\"type\":\"value\"},{\"name\":\"MAXFU=\",\"type\":\"value\"},{\"name\":\"MAXITER=\",\"type\":\"value\"},{\"name\":\"MAXIT=\",\"type\":\"value\"},{\"name\":\"MAXTIME=\",\"type\":\"value\"},{\"name\":\"MINITER=\",\"type\":\"value\"},{\"name\":\"MINIT=\",\"type\":\"value\"},{\"name\":\"TECHNIQUE=\",\"type\":\"value\"}]},{\"name\":\"NOPRINT\",\"optional\":true,\"description\":\"Suppresses all displayed output. Note that this option temporarily disables the Output Delivery System (ODS).\",\"type\":\"standalone\"},{\"name\":\"NOTHREADS\",\"optional\":true,\"description\":\"Forces single-threaded execution of the analytic computations. This option overrides the SAS system option THREADS | NOTHREADS. Specifying this option is equivalent to specifying the THREADS=1 option.\",\"type\":\"standalone\"},{\"name\":\"PLOTS=\",\"optional\":true,\"description\":\"Specifies plots to be created using ODS Graphics. You can request plots of survival functions and cumulative hazard functions. Also, many of the observation statistics in the output data set can be plotted using this option. Syntax: (1) PLOTS<(global-plot-options)> = plot-request (2) PLOTS<(global-plot-options)> = (plot-request <...<plot-request>>) The following global-plot-options are available: CL displays the pointwise confidence limits for the plot.\",\"help\":\"PLOTS=CUMHAZ | HAZARD | INTERVAL | RESDEV | RESLAG | SURVIVAL | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"CUMHAZ\",\"description\":\"Plots the estimated cumulative hazard function for each set of covariates in the data set that you specify in the COVARIATES= option in the BASELINE statement.\",\"type\":\"standalone\"},{\"name\":\"HAZARD\",\"description\":\"Plots plots the estimated hazard function for each set of covariates in the data set that you specify in the COVARIATES= option in the BASELINE statement.\",\"type\":\"standalone\"},{\"name\":\"INTERVAL\",\"description\":\"Plots the observed interval length as a function of observation number.\",\"type\":\"standalone\"},{\"name\":\"RESDEV\",\"description\":\"Syntax: RESDEV<(options)> Plots deviance residuals. You can specify the following options: INDEX plots deviance residuals as a function of the observation number. XBETA plots deviance residuals as a function of the linear predictor.\",\"type\":\"standalone\"},{\"name\":\"RESLAG\",\"description\":\"Syntax: RESLAG<(options)> Plots Lagakos residuals. You can specify the following options: INDEX plots Lagakos residuals as a function of the observation number. XBETA plots Lagakos residuals as a function of the linear predictor.\",\"type\":\"standalone\"},{\"name\":\"SURVIVAL\",\"description\":\"Syntax: SURVIVAL | S | SURV | SUR Plots the estimated survival function for each set of covariates in the data set that is specified in the COVARIATES= option in the BASELINE statement.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"\",\"type\":\"standalone\"}]},{\"name\":\"SINGULAR=\",\"optional\":true,\"aliases\":[\"EPSILON=\"],\"description\":\"Specifies the tolerance for testing the singularity of the Z'Z matrix that is formed from the design matrix Z and for testing the singularity of the Hessian matrix upon convergence of the optimization algorithm.\",\"type\":\"value\"},{\"name\":\"THREADS=\",\"optional\":true,\"aliases\":[\"NTHREADS=\"],\"description\":\"Specifies the number of threads for analytic computations and overrides the SAS system option THREADS | NOTHREADS. If you do not specify the THREADS= option or if you specify THREADS=0, the number of threads is determined based on the data size and the number of CPUs on the host on which the analytic computations execute.\",\"type\":\"value\"}]},{\"name\":\"BASELINE\",\"description\":\"The BASELINE statement creates a SAS data set (named by the OUT= option) that contains the predicted values at specified times that partition the time axis for every set of covariates in the COVARIATES= data set. If the COVARIATES= data set is not specified, PROC ICPHREG uses a reference set of covariates that consists of the reference levels for the CLASS variables and the average values for the continuous variables.\",\"help\":\"BASELINE COVARIATES=SAS-data-set OUT=SAS-data-set TIMELIST=list ...\",\"arguments\":[{\"name\":\"COVARIATES=\",\"description\":\"Names the SAS data set that contains the sets of explanatory variable values for which the quantities of interest are estimated.\",\"help\":\"COVARIATES=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"CUMHAZ=\",\"description\":\"Specifies the cumulative hazard function estimate. Specifying CUMHAZ=_ALL_ is equivalent to specifying CUMHAZ=CumHaz, STDCUMHAZ=StdErrCumHaz, LOWERCUMHAZ=LowerCumHaz, and UPPERCUMHAZ=UpperCumHaz.\",\"help\":\"CUMHAZ=*name*\",\"type\":\"value\"},{\"name\":\"HAZARD=\",\"description\":\"Specifies the hazard function estimate.\",\"type\":\"value\"},{\"name\":\"LOGLOGS=\",\"aliases\":[\"CLOGLOGS=\"],\"description\":\"Specifies the log of the negative log of the estimated survival function.\",\"type\":\"value\"},{\"name\":\"LOGSURV=\",\"description\":\"Specifies the log of SURVIVAL.\",\"help\":\"LOGSURV=*name*\",\"type\":\"value\"},{\"name\":\"LOWER=\",\"aliases\":[\"L=\",\"LOWERSDF=\"],\"description\":\"Specifies the lower pointwise confidence limit for the survivor function. For a Bayesian analysis, this is the lower limit of the equal-tail credible interval for the survivor function. The confidence level is determined by the ALPHA= option.\",\"type\":\"value\"},{\"name\":\"LOWERCUMHAZ=\",\"description\":\"Specifies the lower pointwise confidence limit for the cumulative hazard function. The confidence level is determined by the ALPHA= option.\",\"help\":\"LOWERCUMHAZ=*name*\",\"type\":\"value\"},{\"name\":\"OUT=\",\"description\":\"Names the output data set. If you omit the OUT= option, the data set is created and given a default name by using the DATAn convention.\",\"help\":\"OUT=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"STDCUMHAZ=\",\"description\":\"Specifies the estimated standard error of the cumulative hazard function estimator.\",\"help\":\"STDCUMHAZ=*name*\",\"type\":\"value\"},{\"name\":\"STDERR=\",\"description\":\"Specifies the standard error of the survivor function estimator.\",\"help\":\"STDERR=*name*\",\"type\":\"value\"},{\"name\":\"STDXBETA=\",\"description\":\"Specifies the estimated standard error of the linear predictor estimator.\",\"help\":\"STDXBETA=*name*\",\"type\":\"value\"},{\"name\":\"SURVIVAL=\",\"aliases\":[\"SDF=\"],\"description\":\"Specifies a survival function estimate. Specifying SURVIVAL=_ALL_ is equivalent to specifying SURVIVAL=Survival, STDERR=StdErrSurvival, LOWER=LowerSurvival, and UPPER=UpperSurvival.\",\"help\":\"SURVIVAL=&lt;*name*&gt; | _ALL_\",\"type\":\"choice\",\"arguments\":[{\"name\":\"name\",\"placeholder\":true,\"description\":\"Replace <name> with the name of the variable for the statistic.\",\"type\":\"value\"},{\"name\":\"_ALL_\",\"description\":\"Equivalent to specifying SURVIVAL=Survival, STDERR=StdErrSurvival, LOWER=LowerSurvival, and UPPER=UpperSurvival.\",\"type\":\"standalone\"}]},{\"name\":\"TIMELIST=\",\"description\":\"Specifies a list of time points at which the predicted values are computed. The following specifications are equivalent: timelist=5,20 to 50 by 10 timelist=5 20 30 40 50\",\"help\":\"TIMELIST=*list*\",\"type\":\"value\"},{\"name\":\"UPPER=\",\"aliases\":[\"U=\",\"UPPERSDF=\"],\"description\":\"Specifies the upper pointwise confidence limit for the survival function. The confidence level is determined by the ALPHA= option.\",\"type\":\"value\"},{\"name\":\"UPPERCUMHAZ=\",\"description\":\"Specifies the upper pointwise confidence limit for the cumulative hazard function. The confidence level is determined by the ALPHA= option.\",\"help\":\"UPPERCUMHAZ=*name*\",\"type\":\"value\"},{\"name\":\"XBETA=\",\"description\":\"Specifies the estimate of the linear predictor z'β. If there is an offset, it is added to the predictor.\",\"help\":\"XBETA=*name*\",\"type\":\"value\"},{\"name\":\"ALPHA=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the level of the confidence interval for the survival function. The value must be between 0 and 1. The default is the value of the ALPHA= option in the PROC ICPHREG statement, or 0.05 if that option is not specified.\",\"help\":\"ALPHA=*value*\",\"type\":\"value\"},{\"name\":\"CLTYPE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"CITYPE=\",\"TYPE=\",\"CLTRANSFORM=\",\"TRANSFORM=\"],\"description\":\"Specifies the method used to compute the confidence limits for S(t,z), the survivor function for a subject with a fixed covariate vector z at event time t.\",\"help\":\"CLTYPE=LOG | LOGLOG | NORMAL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"LOG\",\"followsDelimiter\":\"/\",\"description\":\"Uses normal theory approximation to compute the confidence limits for log(S(t,z)).\",\"type\":\"standalone\"},{\"name\":\"LOGLOG\",\"followsDelimiter\":\"/\",\"description\":\"Uses normal theory approximation to compute the confidence limits for the log(-log(S(t,z))).\",\"type\":\"standalone\"},{\"name\":\"NORMAL\",\"followsDelimiter\":\"/\",\"description\":\"Uses normal theory approximation to compute the confidence limits for S(t,z).\",\"type\":\"standalone\"}]},{\"name\":\"GROUP=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Names a variable whose values identify or group the predicted curves. The variable must be a numeric variable in the COVARIATES= data set. Survival curves for observations that have the same value of the variable are overlaid in the same plot.\",\"help\":\"GROUP=*variable*\",\"type\":\"value\"},{\"name\":\"ROWID=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"ID=\",\"ROW=\"],\"description\":\"Names a variable in the COVARIATES= data set for identifying the baseline function curves in the plots.\",\"type\":\"value\"}]},{\"name\":\"BY\",\"description\":\"You can specify a BY statement with PROC ICPHREG to obtain separate analyses of observations in groups that are defined by the BY variables. When a BY statement appears, the procedure expects the input data set to be sorted in order of the BY variables. If you specify more than one BY statement, only the last one specified is used. If your input data set is not sorted in ascending order, use one of the following alternatives: • Sort the data by using the SORT procedure with a similar BY statement. • Specify the NOTSORTED or DESCENDING option in the BY statement for the BCHOICE procedure. The NOTSORTED option does not mean that the data are unsorted but rather that the data are arranged in groups (according to values of the BY variables) and that these groups are not necessarily in alphabetical or increasing numeric order. • Create an index on the BY variables by using the DATASETS procedure (in Base SAS software).\",\"help\":\"BY &lt;DESCENDING&gt;&lt;NOTSORTED&gt;\",\"arguments\":[{\"name\":\"DESCENDING\",\"optional\":true,\"description\":\"Specifies that the observations are sorted in descending order by the variable that immediately follows the word DESCENDING in the BY statement.\",\"type\":\"standalone\"},{\"name\":\"NOTSORTED\",\"optional\":true,\"description\":\"Specifies that observations are not necessarily sorted in alphabetic or numeric order.\",\"type\":\"standalone\"}]},{\"name\":\"CLASS\",\"description\":\"The CLASS statement names the classification variables to be used as explanatory variables in the analysis. Response variables do not need to be specified in the CLASS statement.\",\"help\":\"CLASS &lt;CPREFIX=n&gt;&lt;DESCENDING&gt;&lt;LPREFIX=n&gt; ...\",\"arguments\":[{\"name\":\"CPREFIX=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies that, at most, the first n characters of a CLASS variable name be used in creating names for the corresponding design variables.\",\"help\":\"CPREFIX=*n*\",\"type\":\"value\"},{\"name\":\"DESCENDING\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"DESC\"],\"description\":\"Reverses the sort order of the classification variable. If both the DESCENDING and ORDER= options are specified, PROC ICPHREG orders the categories according to the ORDER= option and then reverses that order.\",\"type\":\"standalone\"},{\"name\":\"LPREFIX=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies that, at most, the first n characters of a CLASS variable name be used in creating labels for the corresponding design variables.\",\"help\":\"LPREFIX=*n*\",\"type\":\"value\"},{\"name\":\"MISSING\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Treats missing value (\\\".\\\", \\\".A\\\", ..., \\\".Z\\\" for numeric variables and blanks for character variables) as valid values for the CLASS variable.\",\"type\":\"standalone\"},{\"name\":\"ORDER=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the sort order for the levels of classification variables.\",\"help\":\"ORDER=DATA | FORMATTED | FREQ | INTERNAL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DATA\",\"followsDelimiter\":\"/\",\"description\":\"Levels sorted by the order of appearance in the input data set.\",\"type\":\"standalone\"},{\"name\":\"FORMATTED\",\"followsDelimiter\":\"/\",\"description\":\"Levels sorted by the external formatted values, except for numeric variables with no explicit format, which are sorted by their unformatted (internal) values.\",\"type\":\"standalone\"},{\"name\":\"FREQ\",\"followsDelimiter\":\"/\",\"description\":\"Levels sorted by the descending frequency count; levels with more observations come earlier in the order.\",\"type\":\"standalone\"},{\"name\":\"INTERNAL\",\"followsDelimiter\":\"/\",\"description\":\"Levels sorted by the unformatted value.\",\"type\":\"standalone\"}]},{\"name\":\"PARAM=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the parameterization method for the classification variable or variables.\",\"help\":\"PARAM=EFFECT | GLM | ORDINAL | POLYNOMIAL | REFERENCE | ORTHEFFECT | ORTHORDINAL | ORTHPOLY | ORTHREF\",\"type\":\"choice\",\"arguments\":[{\"name\":\"EFFECT\",\"followsDelimiter\":\"/\",\"description\":\"Specifies effect coding.\",\"type\":\"standalone\"},{\"name\":\"GLM\",\"followsDelimiter\":\"/\",\"description\":\"Specifies less-than-full-rank, reference-cell coding; this option can be used only as a global option.\",\"type\":\"standalone\"},{\"name\":\"ORDINAL\",\"followsDelimiter\":\"/\",\"aliases\":[\"THERMOMETER\"],\"description\":\"Specifies the cumulative parameterization for an ordinal CLASS variable.\",\"type\":\"standalone\"},{\"name\":\"POLYNOMIAL\",\"followsDelimiter\":\"/\",\"aliases\":[\"POLY\"],\"description\":\"Specifies polynomial coding.\",\"type\":\"standalone\"},{\"name\":\"REFERENCE\",\"followsDelimiter\":\"/\",\"aliases\":[\"REF\"],\"description\":\"Specifies reference cell coding.\",\"type\":\"standalone\"},{\"name\":\"ORTHEFFECT\",\"followsDelimiter\":\"/\",\"description\":\"Orthogonalizes PARAM=EFFECT.\",\"type\":\"standalone\"},{\"name\":\"ORTHORDINAL\",\"followsDelimiter\":\"/\",\"description\":\"Orthogonalizes PARAM=ORDINAL.\",\"type\":\"standalone\"},{\"name\":\"ORTHPOLY\",\"followsDelimiter\":\"/\",\"description\":\"Orthogonalizes PARAM=POLYNOMIAL.\",\"type\":\"standalone\"},{\"name\":\"ORTHREF\",\"followsDelimiter\":\"/\",\"description\":\"Orthogonalizes PARAM=REFERENCE.\",\"type\":\"standalone\"}]},{\"name\":\"REF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the reference level for PARAM=EFFECT, PARAM=REFERENCE, and their orthogonalizations.\",\"help\":\"REF=&lt;*level*&gt; | FIRST | LAST\",\"type\":\"choice\",\"arguments\":[{\"name\":\"level\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the level of the variable to use as the reference level. Replace <level> with an actual value.\",\"type\":\"value\"},{\"name\":\"FIRST\",\"followsDelimiter\":\"/\",\"description\":\"Designates the first ordered level as reference.\",\"type\":\"standalone\"},{\"name\":\"LAST\",\"followsDelimiter\":\"/\",\"description\":\"Designates the last ordered level as reference.\",\"type\":\"standalone\"}]},{\"name\":\"TRUNCATE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies that length n of CLASS variable values to use in determining CLASS variable levels. The default is to use the full formatted length of the CLASS variable. If you specify TRUNCATE without the length n, the first 16 characters of the formatted values are used.\",\"type\":\"standalone\"}]},{\"name\":\"FREQ\",\"description\":\"The FREQ statement identifies the variable (in the input data set) that contains the frequency of occurrence of each observation. PROC ICPHREG treats each observation as if it appears n times, where n is the value of the FREQ variable for the observation. If the frequency value is not an integer, it is truncated to an integer. If the frequency value is missing, the observation is not used in the estimation of the regression coefficients.\",\"help\":\"FREQ &lt;NOTRUNCATE&gt;\",\"arguments\":[{\"name\":\"NOTRUNCATE\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"NOTRUNC\"],\"description\":\"Specifies that frequency values are not truncated to integers.\",\"type\":\"standalone\"}]},{\"name\":\"HAZARDRATIO\",\"description\":\"The HAZARDRATIO statement enables you to request hazard ratios for any variable in the model at customized settings.\",\"help\":\"HAZARDRATIO &lt;ALPHA=number&gt;&lt;AT (variable=ALL | REF | list &lt;...variable=ALL | REF| list&gt; )&gt;&lt;DIFF=&lt;DISTINCT | PAIRWISE  | REFERENCE&gt;&gt; ...\",\"arguments\":[{\"name\":\"ALPHA=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the alpha level of the interval estimates for the hazard ratios. The value must be between 0 and 1. The default is the value of the ALPHA= option in the PROC ICPHREG statement, or 0.05 if that option is not specified.\",\"help\":\"ALPHA=*number*\",\"type\":\"value\"},{\"name\":\"AT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the variables that interact with the variable of interest and the corresponding values of the interacting variables. If the interacting variable is continuous and a numeric list is specified after the equal sign, hazard ratios are computed for each value in the list. If the interacting variable is a CLASS variable, you can specify, after the equal sign, a list of quoted strings corresponding to various levels of the CLASS variable, or you can specify the keyword ALL or REF. Hazard ratios are computed at each value of the list if the list is specified, or at each level of the interacting variable if you specify ALL, or at the reference level of the interacting variable if you specify REF.\",\"type\":\"standalone\"},{\"name\":\"DIFF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies which differences to consider for the level comparisons of a CLASS variable. The default is DIFF=ALL.\",\"help\":\"DIFF=DISTINCT | PAIRWISE  | REFERENCE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DISTINCT\",\"followsDelimiter\":\"/\",\"description\":\"Requests all comparisons of only the distinct combinations of pairs.\",\"type\":\"standalone\"},{\"name\":\"PAIRWISE\",\"followsDelimiter\":\"/\",\"description\":\"Requestsall possible pairwise comparisons of levels.\",\"help\":\"PAIRWISE \",\"type\":\"standalone\"},{\"name\":\"REFERENCE\",\"followsDelimiter\":\"/\",\"description\":\"Requests comparisons between the reference level and all other levels of the CLASS variable.\",\"type\":\"standalone\"}]},{\"name\":\"E\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays the vector h of linear coefficients such that h'β is the log-hazard ratio, with β being the vector of regression coefficients.\",\"type\":\"standalone\"},{\"name\":\"UNITS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the units of change in the continuous explanatory variable for which the customized hazard ratio is estimated. By default, UNITS=1. This option is ignored in the computation of the hazard ratios for a CLASS variable.\",\"help\":\"UNITS=*value*\",\"type\":\"value\"}]},{\"name\":\"MODEL\",\"description\":\"The MODEL statement identifies the variables to be used as the failure-time variables and the explanatory effects, including covariates, main effects, interactions, nested effects.\",\"help\":\"MODEL &lt;ALPHA=value&gt;&lt;CORRB&gt;&lt;COVB&gt; ...\",\"arguments\":[{\"name\":\"ALPHA=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the level for the confidence intervals for parameters. The value must be between 0 and 1. By default, ALPHA=0.05.\",\"help\":\"ALPHA=*value*\",\"type\":\"value\"},{\"name\":\"BASEHAZ=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"BASE=\",\"B=\"],\"description\":\"Specifies a functional form for the baseline function.\",\"help\":\"BASEHAZ=PCH | SPLINES\",\"type\":\"choice\",\"arguments\":[{\"name\":\"PCH\",\"followsDelimiter\":\"/\",\"description\":\"Syntax: PCH|PIECEWISE|PIECEWISEEXPONENTIAL|PCBH (<NINTERVAL=number>, <INTERVALS=(numeric-list)>) Partitions the time scale into disjoint intervals and assumes the baseline hazard function is piecewise constant within intervals. You can specify one of the following two options to control how to partition the time axis into intervals of constant baseline hazards: NINTERVAL=number | N=number specifies the number of intervals that have a constant hazard rate in each interval. INTERVALS=(numeric-list) | INTERVAL=(numeric-list) specifies a list of numbers that partition the time axis into disjoint intervals that have constant hazard rate in each interval.\",\"type\":\"standalone\"},{\"name\":\"SPLINES\",\"followsDelimiter\":\"/\",\"description\":\"Syntax: SPLINES (<DF=number>) |CUBICSPLINES (<DF=number>) Models the baseline cumulative hazard function by cubic splines (Royston and Parmar 2002). The parameters are the spline coefficients and are named Coef1, Coef2, ..., and so on. You can specify the degrees of freedom in the DF=number option, where number must be an integer.\",\"type\":\"standalone\"}]},{\"name\":\"CORRB\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays the estimated correlation matrix of the parameter estimates.\",\"type\":\"standalone\"},{\"name\":\"COVB\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays the estimated covariance matrix of the parameter estimates.\",\"type\":\"standalone\"},{\"name\":\"ENTRYTIME=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"ENTRY=\"],\"description\":\"Specifies the name of the variable that represents the left truncation time.\",\"help\":\"ENTRYTIME=*variable*\",\"type\":\"value\"},{\"name\":\"HAZSCALE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies a transformation to be applied to the baseline parameters for fitting the piecewise constant model.\",\"help\":\"HAZSCALE=LOGHAZARD | HAZARD*hazard-type*\",\"type\":\"value\",\"arguments\":[{\"name\":\"LOGHAZARD\",\"followsDelimiter\":\"/\",\"description\":\"Syntax: LOGHAZARD | LOGHAZ | LOG Uses the log transformed baseline parameters.\",\"type\":\"standalone\"},{\"name\":\"HAZARD\",\"followsDelimiter\":\"/\",\"description\":\"Syntax: HAZARD | HAZ Does not transform the baseline parameters. A lower bound of 0 is used for fitting the models.\",\"type\":\"standalone\"}]},{\"name\":\"NOPOLISH\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Suppresses polishing of parameter estimates of the baseline function. Occasionally, the parameter estimates of the baseline function can reach the default optimization lower bounds. This might indicate that the model is overparameterized. By default, the ICPHREG procedure \\\"polishes\\\" the hazard estimates by fixing these parameters at the lower bound value and refitting the model.\",\"type\":\"standalone\"},{\"name\":\"OFFSET=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the name of an offset variable, which is an explanatory variable with a regression coefficient fixed as one.\",\"help\":\"OFFSET=*name*\",\"type\":\"value\"}]},{\"name\":\"OUTPUT\",\"description\":\"The OUTPUT statement creates a new SAS data set that contains all the variables in the input data set and, optionally, contains the estimated linear predictors (XBETA) and their standard error estimates, residuals, and diagnostic statistics. The OUTPUT statement is not available when you specify the STRATA statement or the ENTRY= option in the MODEL statement.\",\"help\":\"OUTPUT INTERVAL= OUT=SAS-data-set RESDEV= ...\",\"arguments\":[{\"name\":\"INTERVAL=\",\"description\":\"Represents the interval length for the input observation. The value is missing if the observation is right-censored or missing.\",\"type\":\"value\"},{\"name\":\"OUT=\",\"description\":\"Specifies the output data set. If you omit the OUT= option, the output data set is created and given a default name by using the DATAn convention.\",\"help\":\"OUT=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"RESDEV=\",\"description\":\"Represents the deviance residual for identifying poorly fitted observations.\",\"type\":\"value\"},{\"name\":\"RESLAG=\",\"description\":\"Represents the Lagakos residual for identifying poorly fitted observations.\",\"type\":\"value\"},{\"name\":\"STDXBETA=\",\"description\":\"Represents the standard error estimate of XBETA (see the XBETA keyword).\",\"type\":\"value\"},{\"name\":\"XBETA=\",\"description\":\"Represents the estimate of the linear, x_i'β, for observation i.\",\"type\":\"value\"}]},{\"name\":\"STRATA\",\"description\":\"The proportional hazards assumption might not be realistic for all data. However, it might still be reasonable to perform a stratified analysis. The STRATA statement names the variables that determine the stratification. Strata are formed according to the nonmissing values of the STRATA variables unless the MISSING option is specified. In the STRATA statement, variable is a variable whose values are used to determine the strata levels. Multiple variables can appear in the STRATA statement.\",\"help\":\"STRATA &lt;MISSING&gt;\",\"arguments\":[{\"name\":\"MISSING\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Allows missing values ('.','.A',...,'.Z' for numeric variables and blanks for character variables) as valid STRATA variable values. Otherwise, observations that have missing STRATA variable values are deleted from the analysis.\",\"type\":\"standalone\"}]},{\"name\":\"TEST\",\"description\":\"The TEST statement enables you to perform Wald tests for model effects that test Type I, Type II, or Type III hypotheses.\",\"help\":\"TEST &lt;E&gt;&lt;E1&gt;&lt;E2&gt; ...\",\"arguments\":[{\"name\":\"E\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that Type I, Type II, and Type III L matrix coefficients be displayed for all relevant effects\",\"type\":\"standalone\"},{\"name\":\"E1\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"EI\"],\"description\":\"Requests that Type I L matrix coefficients be displayed for all relevant effects.\",\"type\":\"standalone\"},{\"name\":\"E2\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"EII\"],\"description\":\"Requests that Type II L matrix coefficients be displayed for all relevant effects.\",\"type\":\"standalone\"},{\"name\":\"E3\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"EIII\"],\"description\":\"Requests that Type III L matrix coefficients be displayed for all relevant effects.\",\"type\":\"standalone\"},{\"name\":\"HTYPE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Indicates the type of hypothesis test to perform on the fixed effects. Valid entries for values in the value-list are 1, 2, and 3, which correspond to Type I, Type II, and Type III tests, respectively. The default value is 3.\",\"help\":\"HTYPE=*value-list*\",\"type\":\"value\"},{\"name\":\"INTERCEPT\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"INT\"],\"description\":\"Adds a row to the tables for Type I, II, and III tests that correspond to the overall intercept.\",\"type\":\"standalone\"}]}],\"supportSiteInformation\":{\"docsetId\":\"statug\",\"docsetVersion\":\"latest\",\"docsetTargetFile\":\"statug_icphreg_toc.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/IML.json",
    "content": "{\"name\":\"IML\",\"statements\":[{\"name\":\"PROC IML\",\"description\":\"where n1 and n2 are specified in kilobytes. † The SYMSIZE= and WORKSIZE= options in the PROC IML statement give you control over the size of memory allocated to the symbol space and the size of each extent of workspace. If you do not specify these options, PROC IML uses host dependent defaults. SAS/IML software gives you access to a powerful and flexible programming language (Interactive Matrix Language) in a dynamic, interactive environment. The fundamental object of the language is a data matrix. You can use SAS/IML software interactively (at the statement level) to see results immediately, or you can store statements in a module and execute them later. The programming is dynamic because necessary activities such as memory allocation and dimensioning of matrices are performed automatically. † SAS/IML software is powerful. You can access built-in operators and call routines to perform complex tasks such as matrix inversion or eigenvector generation. You can define your own functions and subroutines by using SAS/IML modules. You can perform operations on a single value or take advantage of matrix operators to perform operations on an entire data matrix.\",\"help\":\"PROC IML <SYMSIZE=n1><WORKSIZE=n2>;     \\n\\tABORT ;\\n\\n\\tAPPEND <FROM matrix-name><VAR operand><_ALL_> ...;\\n\\n\\tCALL name <(arguments)> ;\\n\\n\\tCLOSE <SAS-data-set>;\\n\\n\\tCLOSEFILE files;\\n\\n\\tCREATE <FROM matrix-name><VAR operand><_ALL_> ...;\\n\\n\\tDELETE <ALL><CURRENT><WHERE(expression)> ...;\\n\\n\\tDISPLAY <BELL><NOINPUT><REPEAT> ...;\\n\\n\\tDO <OVER><><> ...;\\n\\n\\tDO DATA <TO> ;\\n\\n\\t;\\n\\n\\t;\\n\\n\\tEDIT <NOBS><VAR> ;\\n\\n\\tELSE <DO><IF><THEN> ...;\\n\\n\\tEND;\\n\\n\\tENDSUBMIT ;\\n\\n\\tFILE <LRECL=operand><RECFM=N> ;\\n\\n\\tFIND <ALL><INTO><WHERE(expression)> ...;\\n\\n\\tSTART <name> <(arguments)> <GLOBAL(arguments)>;\\n\\n\\tFREE matrices; | FREE / <matrices>;\\n\\n\\tGO TO label | GOTO label;\\n\\n\\tIF <DO><THEN><WHEN> ...;\\n\\n\\tINDEX <NONE> ;\\n\\n\\tINFILE <FLOWOVER><LENGTH=variable><RECFM=N> ...;\\n\\n\\tINPUT <variables> <informats> <record-directives> <positionals>;\\n\\n\\tLINK label;\\n\\n\\tLIST <ALL><VAR operand><WHERE(expression)> ...;\\n\\n\\tLOAD <MODULE=(module-list)><_ALL_> ;\\n\\n\\tMATTRIB <COLNAME=column-name><LABEL=label><ROWNAME=row-name> ...;\\n\\n\\tPACKAGE HELP packagename<(collection )>;\\n\\n\\tPACKAGE INFO packagename<(collection )> …;\\n\\n\\tPACKAGE INSTALL <PARSETIME> ;\\n\\n\\tPACKAGE LIBNAME libref packagename;\\n\\n\\tPACKAGE LIST <collection> ;\\n\\n\\tPACKAGE LOAD <VERSION=> ;\\n\\n\\tPACKAGE UNINSTALL <NOWARN><PARSETIME> ;\\n\\n\\tPAUSE <expression> <*>;\\n\\n\\tPRINT <COLNAME=><FORMAT=><LABEL=> ...;\\n\\n\\tPURGE;\\n\\n\\tPUT <operand> <record-directives> <positionals> <format>;\\n\\n\\tQUIT ;\\n\\n\\tREAD <ALL><VAR><WHERE(variable comparison-op operand)> ...;\\n\\n\\tREMOVE <MODULE=(module-list)><_ALL_> ;\\n\\n\\tREPLACE <ALL><VAR><WHERE(expression)> ...;\\n\\n\\tRESET <AUTONAME><CENTER><NOAUTONAME> ...;\\n\\n\\tRESUME;\\n\\n\\tRETURN <(operand)>;\\n\\n\\tRUN <name> <(arguments)>;\\n\\n\\tSAVE ;\\n\\n\\tSETIN <NOBS><POINT> ;\\n\\n\\tSETOUT <NOBS name><POINT operand> ;\\n\\n\\tSHOW <ALL><ALLNAMES><CONTENTS> ...;\\n\\n\\tSORT <BY variables><DATA=SAS-data-set><OUT=SAS-data-set> ...;\\n\\n\\tSTART <GLOBAL(arguments)> ;\\n\\n\\tSTOP ;\\n\\n\\tSTORE <MODULE=(module-list)><_ALL_> ;\\n\\n\\tSUBMIT <OK=ok-matrix><R> ;\\n\\n\\tSUMMARY <CLASS operand><VAR operand><WEIGHT operand> ...;\\n\\n\\tUSE <NOBS name><VAR operand><WHERE(expression)> ...;\\n\\n\\tWINDOW <CLOSE=window-name><CMNDLINE=name><GROUP=group-name> ...;\\n\",\"arguments\":[{\"name\":\"SYMSIZE=\",\"optional\":true,\"description\":\"Gives you control over the size of memory allocated to the symbol space.\",\"help\":\"SYMSIZE=*n1*\",\"type\":\"value\"},{\"name\":\"WORKSIZE=\",\"optional\":true,\"description\":\"Gives you control over the size of each extent of workspace.\",\"help\":\"WORKSIZE=*n2*\",\"type\":\"value\"}]},{\"name\":\"ABORT\",\"description\":\"The ABORT statement instructs IML to stop executing statements. It also stops IML from parsing any further statements, causing IML to close its files and exit.\",\"help\":\"ABORT \"},{\"name\":\"APPEND\",\"description\":\"where: operand can be specified as one of the following: o a literal containing variable names o a character matrix containing variable names o an expression in parentheses yielding variable names o one of the keywords described in the following list: _ALL_ -- for all variables _CHAR_ -- for all character variables _NUM_ -- for all numeric variables from-name -- is the name of a matrix containing data to append. row-name -- is a character matrix or quoted literal containing descriptive row names. Use the APPEND statement to add data to the end of the current output data set. The appended observations are from either the variables specified in the VAR clause or variables created from the columns of the FROM matrix. The FROM clause and the VAR clause should not be specified together. You can specify a set of variables to use with the VAR clause.\",\"help\":\"APPEND &lt;FROM matrix-name&gt;&lt;VAR operand&gt;&lt;_ALL_&gt; ...\",\"arguments\":[{\"name\":\"FROM\",\"optional\":true,\"description\":\"The variables in the new SAS data set are variables created from the columns of the FROM matrix.\",\"type\":\"standalone\"},{\"name\":\"VAR\",\"optional\":true,\"description\":\"where\",\"type\":\"standalone\"},{\"name\":\"_ALL_\",\"optional\":true,\"description\":\"For all variables\",\"type\":\"standalone\"},{\"name\":\"_CHAR_\",\"optional\":true,\"description\":\"For all character variables\",\"type\":\"standalone\"},{\"name\":\"_NUM_\",\"optional\":true,\"description\":\"For all numeric variables\",\"type\":\"standalone\"}]},{\"name\":\"CALL\",\"description\":\"The inputs to the CALL statement are as follows: name is the name of a user-defined module or an IML subroutine or function. arguments are arguments to the module or subroutine. The CALL statement executes a subroutine. The order of resolution for the CALL statement is as follows: 1.IML built-in subroutine 2. user-defined module This resolution order needs to be considered only if you have defined a module with the same name as an IML built-in subroutine.\",\"help\":\"CALL name &lt;(arguments)&gt; \"},{\"name\":\"CLOSE\",\"description\":\"where SAS-data-set can be specified with a one-level name (for example, A) or a two-level name (for example, SASUSER.A). More than one SAS data set can be listed in a CLOSE statement. The CLOSE statement is used to close one or more SAS data sets opened with the USE, EDIT, or CREATE statement. To find out which data sets are open, use the SHOW DATASETS statement; see also the section on the SAVE statement later in this chapter. IML automatically closes all open data sets when a QUIT statement is executed.\",\"help\":\"CLOSE &lt;SAS-data-set&gt;\"},{\"name\":\"CLOSEFILE\",\"description\":\"where files can be names (for defined filenames), literals, or expressions in parentheses (for pathnames). The CLOSEFILE statement is used to close files opened by the INFILE or FILE statement. The file specification should be the same as when the file was opened. File specifications are either a name (for a defined filename), a literal, or an expression in parentheses (for a pathname). To find out what files are open, use the SHOW FILES statement. For further information, consult Chapter 7. See also the description of the SAVE statement. IML automatically closes all files when a QUIT statement is executed.\",\"help\":\"CLOSEFILE files\"},{\"name\":\"CREATE\",\"description\":\"where: SAS-data-set -- can be specified with a one-level name (for example, A) or a two-level name (for example, SASUSER.A). operand -- gives a set of existing IML variables to become data set variables. matrix-name -- names a matrix containing the data. column-name is a character matrix or quoted literal containing descriptive names to associate with data set variables. row-name is a character matrix or quoted literal containing descriptive names to associate with observations on the data set. The CREATE statement creates a new SAS data set and makes it both the current input and output data sets. The variables in the new SAS data set are either the variables listed in the VAR clause or variables created from the columns of the FROM matrix. The FROM clause and the VAR clause should not be specified together.\",\"help\":\"CREATE &lt;FROM matrix-name&gt;&lt;VAR operand&gt;&lt;_ALL_&gt; ...\",\"arguments\":[{\"name\":\"COLNAME=\",\"optional\":true,\"description\":\"\",\"type\":\"value\"},{\"name\":\"FROM\",\"optional\":true,\"description\":\"The variables in the new SAS data set are variables created from the columns of the FROM matrix.\",\"type\":\"standalone\"},{\"name\":\"ROWNAME=\",\"optional\":true,\"description\":\"\",\"type\":\"value\"},{\"name\":\"VAR=\",\"optional\":true,\"description\":\"You can specify a set of variables to use with the VAR clause, where operand can be specified as one of the following:\",\"help\":\"VAR=_ALL_ | _CHAR_ | _NUM_\",\"type\":\"choice\",\"arguments\":[{\"name\":\"_ALL_\",\"type\":\"standalone\"},{\"name\":\"_CHAR_\",\"type\":\"standalone\"},{\"name\":\"_NUM_\",\"type\":\"standalone\"}]},{\"name\":\"_ALL_\",\"optional\":true,\"description\":\"For all variables\",\"type\":\"standalone\"},{\"name\":\"_CHAR_\",\"optional\":true,\"description\":\"For all character variables\",\"type\":\"standalone\"},{\"name\":\"_NUM_\",\"optional\":true,\"description\":\"For all numeric variables\",\"type\":\"standalone\"}]},{\"name\":\"DELETE\",\"description\":\"The inputs to the DELETE statement are as follows: range specifies a range of observations. expression is an expression that is evaluated for being true or false. Use the DELETE statement to mark records for deletion in the current output data set. To delete records and renumber the remaining observations, use the PURGE statement.\",\"help\":\"DELETE &lt;ALL&gt;&lt;CURRENT&gt;&lt;WHERE(expression)&gt; ...\",\"arguments\":[{\"name\":\"AFTER\",\"optional\":true,\"description\":\"[range] Specifies all observations after the current one.\",\"type\":\"standalone\"},{\"name\":\"ALL\",\"optional\":true,\"description\":\"[range] Specifies all observations.\",\"type\":\"standalone\"},{\"name\":\"CURRENT\",\"optional\":true,\"description\":\"[range] Specifies the current observation.\",\"type\":\"standalone\"},{\"name\":\"NEXT\",\"optional\":true,\"description\":\"Specifies the next observation or the next number of observations.\",\"type\":\"standalone\"},{\"name\":\"POINT\",\"optional\":true,\"description\":\"specifies observations by number, where operand is one of the following:\",\"type\":\"standalone\"},{\"name\":\"WHERE\",\"optional\":true,\"description\":\"The WHERE clause conditionally selects observations that are contained within the range specification. The general form of the WHERE clause is WHERE(variable comparison-op operand) where:\",\"type\":\"standalone\"}]},{\"name\":\"DISPLAY\",\"description\":\"The inputs to the DISPLAY statement are as follows: group-spec specifies a group. It can be specified as either a compound name of the form windowname.groupname or a window name followed by a group of the form window-name (field-specs), where field-specs is as defined for the WINDOW statement. group-options can be any of the following: NOINPUT displays the group with all fields protected so that no data can be entered in the fields. REPEAT repeats the group for each element of the matrices specified as field operands. BELL rings the bell, sounds the alarm, or causes the speaker in your workstation to beep when the window is displayed. The DISPLAY statement directs IML to gather data into fields defined in the window for purposes of display, data entry, or menu selection. The DISPLAY statement always refers to a window that has been previously opened by a WINDOW statement.\",\"help\":\"DISPLAY &lt;BELL&gt;&lt;NOINPUT&gt;&lt;REPEAT&gt; ...\",\"arguments\":[{\"name\":\"BELL\",\"optional\":true,\"description\":\"Repeats the group for each element of the matrices specified as field operands.\",\"type\":\"standalone\"},{\"name\":\"NOINPUT\",\"optional\":true,\"description\":\"Displays the group with all fields protected so that no data can be entered in the fields.\",\"type\":\"standalone\"},{\"name\":\"REPEAT\",\"optional\":true,\"description\":\"Repeats the group for each element of the matrices specified as field operands.\",\"type\":\"standalone\"}]},{\"name\":\"DO\",\"description\":\"\",\"help\":\"DO &lt;OVER&gt;&lt;&gt;&lt;&gt; ...\",\"arguments\":[{\"name\":\"BY\",\"optional\":true,\"description\":\"Precedes an increment integer (other than 0) or an expression that generates an integer to be added to the value of the index variable in each iteration of the DO loop.\",\"type\":\"standalone\"},{\"name\":\"OVER\",\"optional\":true,\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"TO\",\"optional\":true,\"description\":\"Separates the start and stop integers or expressions that control the number of times the portion of the DATA step between the iterative DO and END statements is processed.\",\"type\":\"standalone\"},{\"name\":\"UNTIL\",\"optional\":true,\"description\":\"...more SAS statements... END\",\"type\":\"standalone\"},{\"name\":\"WHILE\",\"optional\":true,\"description\":\"\",\"type\":\"standalone\"}]},{\"name\":\"DO DATA\",\"description\":\"The inputs to the DO DATA statement are as follows: variable is the name of a variable indexing the loop. start is the starting value for the looping variable. stop is the stopping value for the looping variable. The DO DATA statement is used for repetitive DO loops that need to be exited upon the occurrence of an end of file for an INPUT, READ, or other I/O statement. This form is common for loops that read data from either a sequential file or a SAS data set. When an end of file is reached inside the DO DATA group, IML immediately jumps from the group and starts executing the statement following the END statement. DO DATA groups can be nested, where each end of file causes a jump from the most local DO DATA group. The DO DATA loop simulates the end-of-file behavior of the SAS DATA step. You should avoid using GOTO and LINK statements to jump out of a DO DATA group.\",\"help\":\"DO DATA &lt;TO&gt;\",\"arguments\":[{\"name\":\"TO\",\"optional\":true,\"description\":\"\",\"type\":\"standalone\"}]},{\"name\":\"DO UNTIL\",\"description\":\"...more SAS statements... END\",\"help\":\"\"},{\"name\":\"DO WHILE\",\"description\":\"\",\"help\":\"\"},{\"name\":\"EDIT\",\"description\":\"The inputs to the EDIT statement are as follows: SAS-data-set can be specified with a one-level name (for example, A) or a two-level name (for example, SASUSER.A). For more information about specifying SAS data sets, refer to the chapter on SAS data sets in SAS Language Reference: Concepts. operand selects a set of variables. expression selects observations conditionally. name names a variable to contain the number of observations. The EDIT statement opens a SAS data set for reading and updating. If the data set has already been opened, the EDIT statement makes it the current input and output data sets.\",\"help\":\"EDIT &lt;NOBS&gt;&lt;VAR&gt;\",\"arguments\":[{\"name\":\"NOBS\",\"optional\":true,\"description\":\"Names a variable to contain the number of observations.\",\"type\":\"standalone\"},{\"name\":\"VAR\",\"optional\":true,\"description\":\"Selects a set of variables.\",\"type\":\"standalone\"}]},{\"name\":\"ELSE\",\"description\":\"If the condition in an IF-THEN statement is false and an ELSE statement is present, then the ELSE action is carried out.\",\"help\":\"ELSE &lt;DO&gt;&lt;IF&gt;&lt;THEN&gt; ...\",\"arguments\":[{\"name\":\"AND\",\"optional\":true,\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"DO\",\"optional\":true,\"description\":\"Action statement in an IF-THEN-ELSE construct.\",\"type\":\"standalone\"},{\"name\":\"IF\",\"optional\":true,\"description\":\"Executes a SAS statement for observations that meet specific conditions.\",\"type\":\"standalone\"},{\"name\":\"NOT\",\"optional\":true,\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"OR\",\"optional\":true,\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"OUTPUT\",\"optional\":true,\"description\":\"Action statement in an IF-THEN-ELSE construct.\",\"type\":\"standalone\"},{\"name\":\"THEN\",\"optional\":true,\"description\":\"If the conditions that are specified in the IF clause are met, the IF-THEN statement executes a SAS statement for observations that are read from a SAS data set, for records in an external file, or for computed values.\",\"type\":\"standalone\"}]},{\"name\":\"END\",\"description\":\"Ends a DO group/loop/statement or SELECT group processing.\",\"help\":\"END\"},{\"name\":\"ENDSUBMIT\",\"description\":\"You can use the ENDSUBMIT statement in conjunction with the SUBMIT statement to submit SAS statements for processing from within a SAS/IML program. All statements between the SUBMIT and the ENDSUBMIT statements are referred to as a SUBMIT block. The SUBMIT block is processed by the SAS language processor.\",\"help\":\"ENDSUBMIT \"},{\"name\":\"FILE\",\"description\":\"The inputs to the FILE statement are as follows: file-name is a name (for defined filenames), a quoted literal, or an expression in parentheses (for pathnames). RECFM=N specifies that the file is to be written as a pure binary file without record-separator characters. LRECL=operand specifies the record length of the output file. The default record length is 512.\",\"help\":\"FILE &lt;LRECL=operand&gt;&lt;RECFM=N&gt;\",\"arguments\":[{\"name\":\"LRECL=\",\"optional\":true,\"description\":\"Specifies the record length of the output file. The default record length is 512.\",\"help\":\"LRECL=*operand*\",\"type\":\"value\"},{\"name\":\"RECFM=\",\"optional\":true,\"description\":\"Specifies that the file is to be written as a pure binary file without record-separator characters.\",\"help\":\"RECFM=*N*\",\"type\":\"value\"}]},{\"name\":\"FIND\",\"description\":\"The inputs to the FIND statement are as follows: range specifies a range of observations. expression is an expression that is evaluated for being true or false. matrix-name names a matrix to contain the observation numbers. The FIND statement finds the observation numbers of records in range that satisfy the conditions of the WHERE clause. The FIND statement places these observation numbers in the numeric matrix whose name follows the INTO keyword.\",\"help\":\"FIND &lt;ALL&gt;&lt;INTO&gt;&lt;WHERE(expression)&gt; ...\",\"arguments\":[{\"name\":\"AFTER\",\"optional\":true,\"description\":\"[range] Specifies all observations after the current one.\",\"type\":\"standalone\"},{\"name\":\"ALL\",\"optional\":true,\"description\":\"[range] Specifies all observations.\",\"type\":\"standalone\"},{\"name\":\"CURRENT\",\"optional\":true,\"description\":\"[range] Specifies the current observation.\",\"type\":\"standalone\"},{\"name\":\"INTO\",\"optional\":true,\"description\":\"The FIND statement finds the observation numbers of records in range that satisfy the conditions of the WHERE clause. The FIND statement places these observation numbers in the numeric matrix whose name follows the INTO keyword.\",\"type\":\"standalone\"},{\"name\":\"NEXT\",\"optional\":true,\"description\":\"Specifies the next observation or the next number of observations.\",\"type\":\"standalone\"},{\"name\":\"POINT\",\"optional\":true,\"description\":\"Specifies observations by number, where operand is one of the following:\",\"type\":\"standalone\"},{\"name\":\"WHERE\",\"optional\":true,\"description\":\"The WHERE clause conditionally selects observations that are contained within the range specification. The general form of the WHERE clause is WHERE(variable comparison-op operand) where:\",\"type\":\"standalone\"}]},{\"name\":\"FINISH\",\"description\":\"The FINISH statement signals the end of a module. Optionally, the FINISH statement can take the module name as its argument.\",\"help\":\"START &lt;name&gt; &lt;(arguments)&gt; &lt;GLOBAL(arguments)&gt;\"},{\"name\":\"FREE\",\"description\":\"where matrices are names of matrices. The FREE statement causes the specified matrices to lose their values; the memory is then freed for other uses. After execution of the FREE statement, the matrix does not have a value, and it returns 0 for the NROW and NCOL functions. Any printing attributes (assigned by the MATTRIB statement) are not released. The FREE statement is used mostly in large applications or under tight memory constraints to make room for more data (matrices) in the workspace.\",\"help\":\"FREE matrices; | FREE / &lt;matrices&gt;\"},{\"name\":\"GO TO\",\"aliases\":[\"GOTO\"],\"description\":\"Jumps to a new statement.\",\"help\":\"GO TO label | GOTO label\"},{\"name\":\"IF\",\"description\":\"\",\"help\":\"IF &lt;DO&gt;&lt;THEN&gt;&lt;WHEN&gt; ...\",\"arguments\":[{\"name\":\"AND\",\"optional\":true,\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"CALL\",\"optional\":true,\"description\":\"Invokes a SAS CALL routine.\",\"type\":\"standalone\"},{\"name\":\"DO\",\"optional\":true,\"description\":\"Action statement in an IF-THEN construct.\",\"type\":\"standalone\"},{\"name\":\"GO\",\"optional\":true,\"aliases\":[\"GOTO\"],\"description\":\"Jumps to a new statement.\",\"help\":\"GO TO\",\"type\":\"standalone\"},{\"name\":\"NOT\",\"optional\":true,\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"OR\",\"optional\":true,\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"OUTPUT\",\"optional\":true,\"description\":\"Action statement in an IF-THEN construct.\",\"type\":\"standalone\"},{\"name\":\"PUT\",\"optional\":true,\"description\":\"Action statement in an IF-THEN construct.\",\"type\":\"standalone\"},{\"name\":\"RETURN\",\"optional\":true,\"description\":\"Action statement in an IF-THEN construct. Stops executing statements at the current point in the DATA step and returns to a predetermined point in the step.\",\"type\":\"standalone\"},{\"name\":\"SET\",\"optional\":true,\"description\":\"Reads an observation from one or more SAS data sets.\",\"type\":\"standalone\"},{\"name\":\"STOP\",\"optional\":true,\"description\":\"Action statement in an IF-THEN construct. Stops execution of the current DATA step.\",\"type\":\"standalone\"},{\"name\":\"THEN\",\"optional\":true,\"description\":\"If the conditions that are specified in the IF clause are met, the IF-THEN statement executes a SAS statement for observations that are read from a SAS data set, for records in an external file, or for computed values.\",\"type\":\"standalone\"},{\"name\":\"WHEN\",\"optional\":true,\"description\":\"WHEN statement in an IF-THEN-WHEN construct.\",\"type\":\"standalone\"}]},{\"name\":\"INDEX\",\"description\":\"where variables are the names of variables for which indexes are to be built. You can use the INDEX statement to create an index for the named variables in the current input SAS data set. An index is created for each variable listed if it does not already have an index. Current retrieval is set to the last variable indexed. Subsequent I/O operations such as LIST, READ, FIND, and DELETE can use this index to retrieve observations from the data set if IML determines that indexed retrieval will be faster. The indices are automatically updated when a data set is edited with the APPEND, DELETE, or REPLACE statements. Only one index is in effect at any given time. The SHOW contents command indicates which index is in use.\",\"help\":\"INDEX &lt;NONE&gt;\",\"arguments\":[{\"name\":\"NONE\",\"optional\":true,\"description\":\"An INDEX none statement can be used to set retrieval back to physical order.\",\"type\":\"standalone\"}]},{\"name\":\"INFILE\",\"description\":\"The inputs to the INFILE statement are as follows: operand is either a predefined filename or a quoted string containing the filename or character expression in parentheses referring to the pathname. options options available for the INFILE statement. You can use the INFILE statement to open an external file for input or, if the file is already open, to make it the current input file so that subsequent INPUT statements read from it.\",\"help\":\"INFILE &lt;FLOWOVER&gt;&lt;LENGTH=variable&gt;&lt;RECFM=N&gt; ...\",\"arguments\":[{\"name\":\"FLOWOVER\",\"optional\":true,\"description\":\"Enables the INPUT statement to go to the next record to obtain values for the variables.\",\"type\":\"standalone\"},{\"name\":\"LENGTH=\",\"optional\":true,\"description\":\"Specifies a variable in which the length of a record is stored as IML reads it in.\",\"help\":\"LENGTH=*variable*\",\"type\":\"value\"},{\"name\":\"MISSOVER\",\"optional\":true,\"description\":\"Tolerates attempted reading past the end of the record by assigning missing values to variables read past the end of the record.\",\"type\":\"standalone\"},{\"name\":\"RECFM=\",\"optional\":true,\"description\":\"Specifies that the file is to be read in as a pure binary file rather than as a file with record separator characters. To do this, you must use the byte operand (<) in the INPUT statement to get new records rather than use separate input statements or the new line (/) operator.\",\"help\":\"RECFM=*N*\",\"type\":\"value\"},{\"name\":\"STOPOVER\",\"optional\":true,\"description\":\"Treats going past the end of a record as an error condition, which triggers an end-of-file condition.\",\"type\":\"standalone\"}]},{\"name\":\"INPUT\",\"description\":\"where the clauses and options are explained in the following list. You can use the INPUT statement to input records from the current input file, placing the values into IML variables. The INFILE statement sets up the current input file. The INPUT statement contains a sequence of arguments that include the following: variables specify the variable or variables you want to read from the current position in the record. Each variable can be followed immediately by an input format specification. informats specify an input format.\",\"help\":\"INPUT &lt;variables&gt; &lt;informats&gt; &lt;record-directives&gt; &lt;positionals&gt;\"},{\"name\":\"LINK\",\"description\":\"Directs program execution immediately to the statement label that is specified and, if followed by a RETURN statement, returns execution to the statement that follows the LINK statement.\",\"help\":\"LINK label\"},{\"name\":\"LIST\",\"description\":\"The inputs to the LIST statement are as follows: range specifies a range of observations operand specifies a set of variables expression is an expression evaluated to be true or false The LIST statement prints selected observations of a data set. If all data values for variables in the VAR clause fit on a single line, values are displayed in columns headed by the variable names. Each record occupies a separate line. If the data values do not fit on a single line, values from each record are grouped into paragraphs. Each element in the paragraph has the form name=value.\",\"help\":\"LIST &lt;ALL&gt;&lt;VAR operand&gt;&lt;WHERE(expression)&gt; ...\",\"arguments\":[{\"name\":\"AFTER\",\"optional\":true,\"description\":\"[range] Specifies all observations after the current one.\",\"type\":\"standalone\"},{\"name\":\"ALL\",\"optional\":true,\"description\":\"[range] Specifies all observations.\",\"type\":\"standalone\"},{\"name\":\"CURRENT\",\"optional\":true,\"description\":\"[range] Specifies the current observation (this is the default for the LIST statement).\",\"type\":\"standalone\"},{\"name\":\"NEXT\",\"optional\":true,\"description\":\"Specifies the next observation or the next number of observations.\",\"type\":\"standalone\"},{\"name\":\"POINT\",\"optional\":true,\"description\":\"specifies observations by number, where operand is one of the following:\",\"type\":\"standalone\"},{\"name\":\"VAR\",\"optional\":true,\"description\":\"You can specify a set of variables to use with the VAR clause. The operand in the VAR clause can be one of the following: o a literal containing variable names o the name of a matrix containing variable names o an expression in parentheses yielding variable names o one of keywords described in the following list: _ALL_ for all variables _CHAR_ for all character variables\",\"type\":\"standalone\"},{\"name\":\"WHERE\",\"optional\":true,\"description\":\"The WHERE clause conditionally selects observations that are contained within the range specification. The general form of the WHERE clause is WHERE(variable comparison-op operand) where:\",\"type\":\"standalone\"},{\"name\":\"_ALL_\",\"optional\":true,\"description\":\"For all variables\",\"type\":\"standalone\"},{\"name\":\"_CHAR_\",\"optional\":true,\"description\":\"For all character variables\",\"type\":\"standalone\"},{\"name\":\"_NUM_\",\"optional\":true,\"description\":\"For all numeric variables\",\"type\":\"standalone\"}]},{\"name\":\"LOAD\",\"description\":\"The inputs to the LOAD statement are as follows: module-list is a list of modules. matrix-list is a list of matrices. The LOAD statement loads modules or matrix values from the current library storage into the current workspace.\",\"help\":\"LOAD &lt;MODULE=(module-list)&gt;&lt;_ALL_&gt;\",\"arguments\":[{\"name\":\"MODULE=\",\"optional\":true,\"description\":\"Loads modules.\",\"type\":\"value\"},{\"name\":\"_ALL_\",\"optional\":true,\"description\":\"Loads all matrices or all modules.\",\"type\":\"standalone\"}]},{\"name\":\"MATTRIB\",\"description\":\"The inputs to the MATTRIB subroutine are as follows: name is a character matrix or quoted literal giving the name of a matrix. row-name is a character matrix or quoted literal specifying row names. column-name is a character matrix or quoted literal specifying column names. label is a character matrix or quoted literal associating a label with the matrix. The label argument has a maximum length of 256 characters. format is a valid SAS format. The MATTRIB statement associates printing attributes with matrices. Each matrix can be associated with a ROWNAME= matrix and a COLNAME= matrix, which is used whenever the matrix is printed to label the rows and columns, respectively. The statement is written as the keyword MATTRIB followed by a list of one or more names and attribute associations. It is not necessary to specify all attributes. The attribute associations are applied to the previous name.\",\"help\":\"MATTRIB &lt;COLNAME=column-name&gt;&lt;LABEL=label&gt;&lt;ROWNAME=row-name&gt; ...\",\"arguments\":[{\"name\":\"COLNAME=\",\"optional\":true,\"description\":\"Requires a character matrix or quoted literal specifying column names.\",\"help\":\"COLNAME=*column-name*\",\"type\":\"value\"},{\"name\":\"FORMAT=\",\"optional\":true,\"description\":\"Specifies a valid SAS format.\",\"help\":\"FORMAT=*format*\",\"type\":\"value\"},{\"name\":\"LABEL=\",\"optional\":true,\"description\":\"Requires a character matrix or quoted literal associating a label with the matrix. The label argument has a maximum length of 256 characters.\",\"help\":\"LABEL=*label*\",\"type\":\"value\"},{\"name\":\"ROWNAME=\",\"optional\":true,\"description\":\"Requires a character matrix or quoted literal specifying row names.\",\"help\":\"ROWNAME=*row-name*\",\"type\":\"value\"}]},{\"name\":\"PACKAGE HELP\",\"description\":\"The PACKAGE HELP statement is experimental in SAS/IML 14.1. If an installed package provides documentation, the PACKAGE HELP statement displays the documentation. The documentation often includes the syntax and purpose of the SAS/IML modules that the package defines. You must specify the following argument: packagename specifies the name of the package. You can also specify the following option in parentheses: collection requests that only the specified collection be searched. Valid values for collection are PRIVATE, PUBLIC, and SYSTEM.\",\"help\":\"PACKAGE HELP packagename&lt;(collection )&gt;\"},{\"name\":\"PACKAGE INFO\",\"description\":\"The PACKAGE INFO statement is experimental in SAS/IML 14.1. The PACKAGE INFO statement displays information about one or more installed packages. You must specify the following argument: packagename specifies the name of the package. You can specify multiple names in a single statement. You can also specify the following option in parentheses: collection requests that only the specified collection be searched. Valid values for collection are PRIVATE, PUBLIC, and SYSTEM.\",\"help\":\"PACKAGE INFO packagename&lt;(collection )&gt; …\"},{\"name\":\"PACKAGE INSTALL\",\"description\":\"PACKAGE INSTALL fileref<(collection <PARSETIME> )> …; The PACKAGE INSTALL statement is experimental in SAS/IML 14.1. Packages are distributed as ZIP files. The PACKAGE INSTALL statement unzips the ZIP file and installs the package in a predetermined location. You can specify the package to be installed in two ways: \\\"fullname\\\" specifies the ZIP file’s fully qualified name (which includes both the path and the filename) in quotation marks. You can specify multiple names in a single statement. fileref specifies a file reference that was previously created by the FILENAME statement. You can also specify the following options in parentheses: collection specifies the collection into which the package is to be installed. You can specify PUBLIC or PRIVATE; you cannot install a package in the SYSTEM collection. By default, the package is installed in the PRIVATE collection. At some sites, you might need administrative privileges in order to install a package in the PUBLIC collection. PARSETIME requests that the package be installed at parse time, rather than at run time. This option applies only to IMLPLUS programs in the SAS/IML Studio environment.\",\"help\":\"PACKAGE INSTALL &lt;PARSETIME&gt;\",\"arguments\":[{\"name\":\"PARSETIME\",\"description\":\"\",\"type\":\"standalone\"}]},{\"name\":\"PACKAGE LIBNAME\",\"description\":\"The PACKAGE LIBNAME statement is experimental in SAS/IML 14.1. The PACKAGE LIBNAME statement creates a SAS libref that points to the data directory for a package. You must load a package before you can use the PACKAGE LIBNAME statement. You must specify the following arguments: libref specifies the name of a SAS libref to be created. packagename specifies the name of the package.\",\"help\":\"PACKAGE LIBNAME libref packagename\"},{\"name\":\"PACKAGE LIST\",\"description\":\"The PACKAGE LIST statement is experimental in SAS/IML 14.1. The PACKAGE LIST statement lists the packages that are installed in the specified collection (or in all collections if a collection is not specified). You can specify the following option: collection requests that only packages in the specified collection be listed. Valid values for collection are PRIVATE, PUBLIC, and SYSTEM. By default, the PACKAGE LIST statement lists packages in all collections.\",\"help\":\"PACKAGE LIST &lt;collection&gt; \"},{\"name\":\"PACKAGE LOAD\",\"description\":\"The PACKAGE LOAD statement is experimental in SAS/IML 14.1. The PACKAGE LOAD statement executes the package source files. Usually the source files define SAS/IML modules. However, a package might also define SAS/IML matrices, create data sets, define macro variables, or carry out a computation. You must specify the following argument: packagename specifies the name of the package. You can specify multiple names in a single statement. You can also specify the following options in parentheses: collection requests that only the specified collection be searched for the file to be executed. Valid values for collection are PRIVATE, PUBLIC, and SYSTEM. For more information about collections, see the PACKAGE statement . VERSION=version specifies the minimum required version number for loading a package. A version number is a text string that contains up to four numbers that are separated by decimal points. For example, valid values are \\\"1.0\\\", \\\"2.7.1\\\", and \\\"3.1.4.1\\\". When the PACKAGE LOAD statement finds a specified package, it checks the package version. If the package version is greater than or equal to version, the package is loaded. Otherwise, the statement displays an error message.\",\"help\":\"PACKAGE LOAD &lt;VERSION=&gt;\",\"arguments\":[{\"name\":\"VERSION=\",\"description\":\"\",\"type\":\"value\"}]},{\"name\":\"PACKAGE UNINSTALL\",\"description\":\"The PACKAGE UNINSTALL statement is experimental in SAS/IML 14.1. The PACKAGE UNINSTALL statement uninstalls a package that is installed in the specified collection. You must specify the following argument: packagename specifies the name of the package. You can specify multiple names in a single statement. You can also specify the following options in parentheses: collection requests that only the specified collection be searched for the package to uninstall. Valid values for collection are PRIVATE and PUBLIC. By default, the PACKAGE UNINSTALL statement looks for the package in the PRIVATE collection. If you have administrative privileges to uninstall a package in the PUBLIC collection, you can specify the PUBLIC collection in parentheses after the package name. You cannot uninstall a package in the SYSTEM collection. NOWARN requests that no warning message be reported if the specified package is not installed. PARSETIME requests that the package be installed at parse time, rather than at run time. This option applies only to IMLPLUS programs in the SAS/IML Studio environment.\",\"help\":\"PACKAGE UNINSTALL &lt;NOWARN&gt;&lt;PARSETIME&gt;\",\"arguments\":[{\"name\":\"NOWARN\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"PARSETIME\",\"description\":\"\",\"type\":\"standalone\"}]},{\"name\":\"PAUSE\",\"description\":\"The inputs to the PAUSE statement are as follows: expression is a character matrix or quoted literal giving a message to print. * suppresses any messages. The PAUSE statement stops execution of a module, saves the calling chain so that execution can resume later (by a RESUME statement), prints a pause message that you can specify, and puts you in immediate mode so you can enter more statements.\",\"help\":\"PAUSE &lt;expression&gt; &lt;*&gt;\"},{\"name\":\"PRINT\",\"description\":\"The inputs to the PRINT statement are as follows: matrices are the names of matrices. (expression) is an expression in parentheses that is evaluated. The result of the evaluation is printed. The evaluation of a subscripted matrix used as an expression results in printing the submatrix. \\\"message\\\" is a message in quotes. pointer-controls control the pointer for printing. For example, using a comma (,) skips a single line and using a slash (/) skips to a new page. [options] specified in brackets after the matrix name to which they apply. The PRINT statement prints the specified matrices or message.\",\"help\":\"PRINT &lt;COLNAME=&gt;&lt;FORMAT=&gt;&lt;LABEL=&gt; ...\",\"arguments\":[{\"name\":\"COLNAME=\",\"optional\":true,\"description\":\"\",\"type\":\"value\"},{\"name\":\"FORMAT=\",\"optional\":true,\"description\":\"\",\"type\":\"value\"},{\"name\":\"LABEL=\",\"optional\":true,\"description\":\"\",\"type\":\"value\"}]},{\"name\":\"PURGE\",\"description\":\"The PURGE data processing statement is used to remove observations marked for deletion and to renumber the remaining observations. This closes the gaps created by deleted records. Execution of this statement can be time-consuming because it involves rewriting the entire data set. CAUTION: Any indexes associated with the data set are lost after a purge. IML does not do an automatic purge for you at quit time.\",\"help\":\"PURGE\"},{\"name\":\"PUT\",\"description\":\"The inputs to the PUT statement are as follows: operand specifies the value you want to output to the current position in the record. The operand can be either a variable name, a literal value, or an expression in parentheses. The operand can be followed immediately by an output format specification. record-directives start new records. There are three types: holding @ at the end of a PUT statement, instructs IML to put a hold on the current record so that IML can write more to the record with later PUT statements. Otherwise, IML automatically begins the next record for the next PUT statement. / -- writes out the current record and begins forming a new record. > operand -- specifies that the next record written will start at the indicated byte position in the file (for RECFM=N files only). The operand is a literal number, a variable name, or an expression in parentheses. positionals specify the column on the record to which the PUT statement should go. There are two types of positionals: @ operand specifies to go to the indicated column, where operand is a literal number, a variable name, or an expression in parentheses. For example, @30 means to go to column 30. + operand specifies that the indicated number of columns are to be skipped, where operand is a literal number, a variable name, or an expression in parentheses. format specifies a valid SAS or user-defined output format. These are of the form w.d or $w. for standard numeric and character formats, respectively, where w is the width of the field and d is the decimal parameter, if any. They can also be a named format of the form NAME, where NAME is the name of the format. If the width is unspecified, then a default width is used; this is 9 for numeric variables. The PUT statement writes to the file specified in the previously executed FILE statement, putting the values from IML variables.\",\"help\":\"PUT &lt;operand&gt; &lt;record-directives&gt; &lt;positionals&gt; &lt;format&gt;\"},{\"name\":\"QUIT\",\"description\":\"Use the QUIT statement to exit IML. If a DATA or PROC statement is encountered, QUIT is implied. The QUIT statement is executed immediately; therefore, you cannot use QUIT as an executable statement, that is, as part of a module or conditional clause. PROC IML closes all open data sets and files when a QUIT statement is encountered. Workspace and symbol spaces are freed up. If you need to use any matrix values or any module definitions in a later session, you must store them in a storage library before you quit.\",\"help\":\"QUIT \"},{\"name\":\"READ\",\"description\":\"The inputs to the READ function are as follows: range -- specifies a range of observations. operand -- selects a set of variables. expression -- is evaluated for being true or false. name -- is the name of the target matrix. row-name -- is a character matrix or quoted literal giving descriptive row labels. column-name is a character matrix or quoted literal giving descriptive column labels. The clauses and options are explained in the following lists. Use the READ statement to read variables or records from the current SAS data set into column matrices of the VAR clause or into the single matrix of the INTO clause. When the INTO clause is used, each variable in the VAR clause becomes a column of the target matrix, and all variables in the VAR clause must be of the same type. If you specify no VAR clause, the default variables for the INTO clause are all numeric variables. Read all character variables into a target matrix by using VAR _CHAR_.\",\"help\":\"READ &lt;ALL&gt;&lt;VAR&gt;&lt;WHERE(variable comparison-op operand)&gt; ...\",\"arguments\":[{\"name\":\"AFTER\",\"optional\":true,\"description\":\"[range] Specifies all observations after the current one.\",\"type\":\"standalone\"},{\"name\":\"ALL\",\"optional\":true,\"description\":\"[range] Specifies all observations.\",\"type\":\"standalone\"},{\"name\":\"CURRENT\",\"optional\":true,\"description\":\"[range] Specifies the current observation (this is the default for the LIST statement).\",\"type\":\"standalone\"},{\"name\":\"NEXT\",\"optional\":true,\"description\":\"Specifies the next observation or the next number of observations.\",\"type\":\"standalone\"},{\"name\":\"POINT\",\"optional\":true,\"description\":\"specifies observations by number, where operand can one of the following:\",\"type\":\"standalone\"},{\"name\":\"VAR\",\"optional\":true,\"description\":\"Specifies a set of variables. You can specify a set of variables to use with the VAR clause. The operand in the VAR clause can be one of the following: o a literal containing variable names o the name of a matrix containing variable names o an expression in parentheses yielding variable names o one of keywords described in the following list: _ALL_ for all variables _CHAR_ for all character variables\",\"type\":\"standalone\"},{\"name\":\"WHERE\",\"optional\":true,\"description\":\"where: variable -- is a variable in the SAS data set. comparison-op -- is one of the several comparison operators (<, <=, =, >, >=, ^=, ?, etc.)\",\"type\":\"standalone\"},{\"name\":\"_ALL_\",\"optional\":true,\"description\":\"For all variables\",\"type\":\"standalone\"},{\"name\":\"_CHAR_\",\"optional\":true,\"description\":\"For all character variables\",\"type\":\"standalone\"},{\"name\":\"_NUM_\",\"optional\":true,\"description\":\"For all numeric variables\",\"type\":\"standalone\"}]},{\"name\":\"REMOVE\",\"description\":\"The inputs to the REMOVE statement are as follows: module-list specifies a module or modules to remove from storage. matrix-list specifies a matrix or matrices to remove from storage. The REMOVE statement removes matrices or modules or both from the current library storage.\",\"help\":\"REMOVE &lt;MODULE=(module-list)&gt;&lt;_ALL_&gt;\",\"arguments\":[{\"name\":\"MODULE=\",\"optional\":true,\"description\":\"Removes modules.\",\"type\":\"value\"},{\"name\":\"_ALL_\",\"optional\":true,\"description\":\"Removes all matrices or all modules.\",\"type\":\"standalone\"}]},{\"name\":\"REPLACE\",\"description\":\"The inputs to the REPLACE statement are as follows: range specifies a range of observations operand selects a set of variables expression is evaluated for being true or false The REPLACE statement replaces the values of observations in a SAS data set with current values of IML matrices with the same name. Use the range, VAR, and WHERE arguments to limit replacement to specific variables and observations. Replacement matrices should be the same type as the data set variables. The REPLACE statement uses matrix elements in row order replacing the value in the ith observation with the ith matrix element. If there are more observations in range than matrix elements, the REPLACE statement continues to use the last matrix element.\",\"help\":\"REPLACE &lt;ALL&gt;&lt;VAR&gt;&lt;WHERE(expression)&gt; ...\",\"arguments\":[{\"name\":\"AFTER\",\"optional\":true,\"description\":\"[range] Specifies all observations after the current one.\",\"type\":\"standalone\"},{\"name\":\"ALL\",\"optional\":true,\"description\":\"[range] Specifies all observations.\",\"type\":\"standalone\"},{\"name\":\"CURRENT\",\"optional\":true,\"description\":\"[range] Specifies the current observation (this is the default for the LIST statement).\",\"type\":\"standalone\"},{\"name\":\"NEXT\",\"optional\":true,\"description\":\"Specifies the next observation or the next number of observations.\",\"type\":\"standalone\"},{\"name\":\"POINT\",\"optional\":true,\"description\":\"Specifies observations by number, where operand is one of the following:\",\"type\":\"standalone\"},{\"name\":\"VAR\",\"optional\":true,\"description\":\"Specifies a set of variables. You can specify a set of variables to use with the VAR clause. The operand in the VAR clause can be one of the following: o a literal containing variable names o the name of a matrix containing variable names o an expression in parentheses yielding variable names o one of keywords described in the following list: _ALL_ for all variables _CHAR_ for all character variables\",\"type\":\"standalone\"},{\"name\":\"WHERE\",\"optional\":true,\"description\":\"The WHERE clause conditionally selects observations that are contained within the range specification. The general form of the WHERE clause is WHERE(variable comparison-op operand) where:\",\"type\":\"standalone\"}]},{\"name\":\"RESET\",\"description\":\"The RESET statement sets processing options. Note that the prefix NO turns off the feature where indicated. For options that take operands, the operand should be a literal, a name of a matrix containing the value, or an expression in parentheses. The SHOW options statement displays the current settings of all of the options.\",\"help\":\"RESET &lt;AUTONAME&gt;&lt;CENTER&gt;&lt;NOAUTONAME&gt; ...\",\"arguments\":[{\"name\":\"AUTONAME\",\"optional\":true,\"description\":\"Specifies that rows are automatically labeled ROW1, ROW2, and so on, and columns are labeled COL1, COL2, and so on, when a matrix is printed. Row-name and column-name attributes specified in the PRINT statement or associated via the MATTRIB statement override the default labels. The AUTONAME option causes the SPACES option to be reset to 4.\",\"type\":\"standalone\"},{\"name\":\"CENTER\",\"optional\":true,\"description\":\"Specifies that output from the PRINT statement is centered on the page. The default is CENTER. This resets the global CENTER/NOCENTER option for the SAS session.\",\"type\":\"standalone\"},{\"name\":\"CLIP\",\"optional\":true,\"description\":\"Specifies that SAS/IML graphs are automatically clipped outside the viewport; that is, any data falling outside the current viewport is not displayed. NOCLIP is the default.\",\"type\":\"standalone\"},{\"name\":\"DEFLIB=\",\"optional\":true,\"description\":\"Specifies the default libname for SAS data sets when no other libname is given. This defaults to USER if a USER libname is set up, or WORK if not. The libname operand can be specified with or without quotes.\",\"help\":\"DEFLIB=*operand*\",\"type\":\"value\"},{\"name\":\"DETAILS\",\"optional\":true,\"description\":\"Specifies that additional information is printed from a variety of operations, such as when files are opened and closed.\",\"type\":\"standalone\"},{\"name\":\"FLOW\",\"optional\":true,\"description\":\"Specifies that operations are shown as executed. It is used for debugging only. The default is NOFLOW.\",\"type\":\"standalone\"},{\"name\":\"FUZZ=\",\"optional\":true,\"description\":\"Specifies that very small numbers are printed in scientific notation. If the absolute value of the number is less than the value specified in number, it will be printed as 0. The number argument is optional, and the default value varies across hosts but is typically around 1E-12. The default is NOFUZZ.\",\"type\":\"value\"},{\"name\":\"FW=\",\"optional\":true,\"description\":\"Sets the field width for printing numeric values. The default field width is 9.\",\"help\":\"FW=*number*\",\"type\":\"value\"},{\"name\":\"LINESIZE=\",\"optional\":true,\"description\":\"Specifies the linesize for printing. The default value is usually 78. This resets the global LINESIZE option for the SAS session.\",\"help\":\"LINESIZE=*n*\",\"type\":\"value\"},{\"name\":\"LOG\",\"optional\":true,\"description\":\"Specifies that output is routed to the log file rather than to the print file. On the log, the results are interleaved with the statements and messages.\",\"type\":\"standalone\"},{\"name\":\"NOAUTONAME\",\"optional\":true,\"description\":\"Specifies that rows are not automatically labeled ROW1, ROW2, and so on, and columns are labeled COL1, COL2, and so on, when a matrix is printed.\",\"type\":\"standalone\"},{\"name\":\"NOCENTER\",\"optional\":true,\"description\":\"Specifies that output from the PRINT statement is not centered on the page. The default is CENTER. This resets the global CENTER/NOCENTER option for the SAS session.\",\"type\":\"standalone\"},{\"name\":\"NOCLIP\",\"optional\":true,\"description\":\"Specifies that SAS/IML graphs are not automatically clipped outside the viewport; that is, any data falling outside the current viewport is not displayed. NOCLIP is the default.\",\"type\":\"standalone\"},{\"name\":\"NODETAILS\",\"optional\":true,\"description\":\"Specifies that no additional information is printed from a variety of operations, such as when files are opened and closed.\",\"type\":\"standalone\"},{\"name\":\"NOFLOW\",\"optional\":true,\"description\":\"Specifies that operations are not shown as executed. It is used for debugging only. The default is NOFLOW.\",\"type\":\"standalone\"},{\"name\":\"NOFUZZ\",\"optional\":true,\"description\":\"Specifies that very small numbers are printed as zero rather than in scientific notation.\",\"type\":\"standalone\"},{\"name\":\"NOLOG\",\"optional\":true,\"description\":\"Routes output to the OUTPUT window in the SAS windowing environment and to the listing file in batch mode. The default is NOLOG.\",\"type\":\"standalone\"},{\"name\":\"NOPRINTALL\",\"optional\":true,\"description\":\"Specifies that the intermediate and final results are not printed automatically. This is the default.\",\"type\":\"standalone\"},{\"name\":\"PRINTADV=\",\"optional\":true,\"description\":\"Inserts blank lines into the log before printing out the value of a matrix. The default, PRINTADV=2, causes two blank lines to be inserted.\",\"type\":\"value\"},{\"name\":\"PRINTALL\",\"optional\":true,\"description\":\"Specifies that the intermediate and final results are printed automatically. The default is NOPRINTALL.\",\"type\":\"standalone\"},{\"name\":\"SPACES=\",\"optional\":true,\"description\":\"Specifies the number of spaces between adjacent matrices printed across the page. The default value is 1, except when AUTONAME is on. Then, the default value is 4.\",\"type\":\"value\"},{\"name\":\"STORAGE=\",\"optional\":true,\"description\":\"Specifies the file to be the current library storage for STORE and LOAD statements. The default library storage is WORK.IMLSTOR. The libname argument is optional and defaults to SASUSER. It can be specified with or without quotes.\",\"type\":\"value\"}]},{\"name\":\"RESUME\",\"description\":\"The RESUME statement enables you to continue execution from the line in the module where the most recent PAUSE statement was executed. PROC IML issues an automatic pause when an error occurs inside a module. If a module was paused due to an error, the RESUME statement resumes execution immediately after the statement that caused the error. The SHOW pause statement displays the current state of all paused modules.\",\"help\":\"RESUME\"},{\"name\":\"RETURN\",\"description\":\"where operand is the value of the function returned. Use operand only in function modules. The RETURN statement causes IML to return to the calling point in a program. If a LINK statement has been issued, IML returns to the statement following the LINK. If no LINK statement was issued, the RETURN statement exits a module. If not in a module, execution is stopped (as with a STOP statement), and IML looks for more statements to parse. The RETURN statement with an operand is used in function modules that return a value. The operand can be a variable name or an expression. It is evaluated, and the value is returned.\",\"help\":\"RETURN &lt;(operand)&gt;\"},{\"name\":\"RUN\",\"description\":\"The inputs to the RUN statement are as follows: name is the name of a user-defined module or an IML built-in subroutine. arguments are arguments to the subroutine. Arguments can be both local and global. The RUN statement executes a user-defined module or invokes PROC IML's built-in subroutines.\",\"help\":\"RUN &lt;name&gt; &lt;(arguments)&gt;\"},{\"name\":\"SAVE\",\"aliases\":[\"FORCE\"],\"description\":\"The SAVE statement forces out any data residing in output buffers for all active output data sets and files to ensure that the data are written to disk. This is equivalent to closing and then reopening the files.\",\"help\":\"SAVE \"},{\"name\":\"SETIN\",\"description\":\"The inputs to the SETIN statement are as follows: SAS-data-set can be specified with a one-level name (for example, A) or a two-level name (for example, SASUSER.A). name is the name of a variable to contain the number of observations in the data set. operand specifies the current observation. The SETIN statement chooses the specified data set from among the data sets already opened for input by the EDIT or USE statement. This data set becomes the current input data set for subsequent data management statements. The NOBS option is not required. If specified, the NOBS option returns the number of observations in the data set in the scalar variable name. The POINT option makes the specified observation the current one. It positions the data set to a particular observation. The SHOW datasets command lists data sets already opened for input.\",\"help\":\"SETIN &lt;NOBS&gt;&lt;POINT&gt;\",\"arguments\":[{\"name\":\"NOBS\",\"optional\":true,\"description\":\"Returns the number of observations in the data set in the scalar variable name.]\",\"type\":\"standalone\"},{\"name\":\"POINT\",\"optional\":true,\"description\":\"Makes the specified observation the current one. It positions the data set to a particular observation.\",\"type\":\"standalone\"}]},{\"name\":\"SETOUT\",\"description\":\"The inputs to the SETOUT statement are as follows: SAS-data-set can be specified with a one-level name (for example, A) or a two-level name (for example, SASUSER.A). name is the name of a variable to contain the number of observations in the data set operand specifies the observation to be made the current observation. The SETOUT statement chooses the specified data set from among those data sets already opened for output by the EDIT or CREATE statement. This data set becomes the current output data set for subsequent data management statements. If specified, the NOBS option returns the number of observations currently in the data set in the scalar variable name. The POINT option makes the specified observation the current one.\",\"help\":\"SETOUT &lt;NOBS name&gt;&lt;POINT operand&gt;\",\"arguments\":[{\"name\":\"NOBS\",\"optional\":true,\"description\":\"Returns the number of observations currently in the data set in the scalar variable name.]\",\"type\":\"standalone\"},{\"name\":\"POINT\",\"optional\":true,\"description\":\"Makes the specified observation the current one.\",\"type\":\"standalone\"}]},{\"name\":\"SHOW\",\"description\":\"The SHOW statement prints system information.\",\"help\":\"SHOW &lt;ALL&gt;&lt;ALLNAMES&gt;&lt;CONTENTS&gt; ...\",\"arguments\":[{\"name\":\"ALL\",\"optional\":true,\"description\":\"Shows all the information included by OPTIONS, SPACE, DATASETS, FILES, and MODULES.\",\"type\":\"standalone\"},{\"name\":\"ALLNAMES\",\"optional\":true,\"description\":\"Behaves like NAMES, but also shows names without values.\",\"type\":\"standalone\"},{\"name\":\"CONTENTS\",\"optional\":true,\"description\":\"Shows the names and attributes of the variables in the current SAS data set.\",\"type\":\"standalone\"},{\"name\":\"DATASETS\",\"optional\":true,\"description\":\"shows all open SAS data sets.\",\"type\":\"standalone\"},{\"name\":\"FILES\",\"optional\":true,\"description\":\"Shows all open files.\",\"type\":\"standalone\"},{\"name\":\"MEMORY\",\"optional\":true,\"description\":\"Returns the size of the largest chunk of main memory available.\",\"type\":\"standalone\"},{\"name\":\"MODULES\",\"optional\":true,\"description\":\"Shows all modules that exist in the current IML environment. A module already referenced but not yet defined is listed as undefined.\",\"type\":\"standalone\"},{\"name\":\"NAMES\",\"optional\":true,\"description\":\"Shows attributes of all matrices having values. Attributes include number of rows, number of columns, data type, and size.\",\"type\":\"standalone\"},{\"name\":\"OPTIONS\",\"optional\":true,\"description\":\"shows current settings of all IML options.\",\"type\":\"standalone\"},{\"name\":\"PAUSE\",\"optional\":true,\"description\":\"Shows the status of all paused modules that are pending resume.\",\"type\":\"standalone\"},{\"name\":\"SPACE\",\"optional\":true,\"description\":\"Shows the workspace and symbolspace size and their current usage.\",\"type\":\"standalone\"},{\"name\":\"STORAGE\",\"optional\":true,\"description\":\"Shows the modules and matrices in the current IML library storage.\",\"type\":\"standalone\"},{\"name\":\"WINDOWS\",\"optional\":true,\"description\":\"Shows all active windows opened by WINDOW statements.\",\"type\":\"standalone\"}]},{\"name\":\"SORT\",\"description\":\"The SORT statement sorts the observations in a SAS data set by one or more variables, stores the resulting sorted observations in a new SAS data set, or replaces the original. As opposed to all other IML data processing statements, it is mandatory that the data set to be sorted be closed prior to the execution of the SORT statement.\",\"help\":\"SORT &lt;BY variables&gt;&lt;DATA=SAS-data-set&gt;&lt;OUT=SAS-data-set&gt; ...\",\"arguments\":[{\"name\":\"BY\",\"optional\":true,\"description\":\"Specifies the variables to be sorted. A BY clause must be used with the SORT statement.\",\"type\":\"standalone\"},{\"name\":\"DATA=\",\"optional\":true,\"description\":\"Names the SAS data set to be sorted. It can be specified with a one-level name (for example, A) or a two-level name (for example, SASUSER.A).\",\"help\":\"DATA=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"DESCENDING\",\"optional\":true,\"description\":\"Specifies the variables are to be sorted in descending order.\",\"type\":\"standalone\"},{\"name\":\"OUT=\",\"optional\":true,\"description\":\"Specifies a name for the output data set. If this clause is omitted, the DATA= data set is sorted and the sorted version replaces the original data set.\",\"help\":\"OUT=*SAS-data-set*\",\"type\":\"dataSet\"}]},{\"name\":\"START\",\"description\":\"The inputs to the START and FINISH statements are as follows: name is the name of a user-defined module. arguments are names of variable arguments to the module. Arguments can be either input variables or output (returned) variables. Arguments listed in the GLOBAL clause are treated as global variables. Otherwise, the arguments are local. module statements are statements making up the body of the module. The START statement instructs IML to enter a module-collect mode to collect the statements of a module rather than execute them immediately.\",\"help\":\"START &lt;GLOBAL(arguments)&gt;\",\"arguments\":[{\"name\":\"GLOBAL\",\"optional\":true,\"description\":\"Arguments listed in the GLOBAL clause are treated as global variables. Otherwise, the arguments are local.\",\"type\":\"standalone\"}]},{\"name\":\"STOP\",\"description\":\"The STOP statement stops the IML program, and no further matrix statements are executed. However, IML continues to execute if more statements are entered. See also the descriptions of the RETURN and ABORT statements. If IML execution was interrupted by a PAUSE statement or by a break, the STOP statement clears all the paused states and returns to immediate mode. IML supports STOP processing of both regular and function modules.\",\"help\":\"STOP \"},{\"name\":\"STORE\",\"description\":\"The inputs to the STORE statement are as follows. module-list is a list of module names. matrix-list is a list of matrix names. The STORE statement stores matrices or modules in the storage library.\",\"help\":\"STORE &lt;MODULE=(module-list)&gt;&lt;_ALL_&gt;\",\"arguments\":[{\"name\":\"MODULE=\",\"optional\":true,\"description\":\"Stores modules. module-list is a list of module names.\",\"type\":\"value\"},{\"name\":\"_ALL_\",\"optional\":true,\"description\":\"Stores all matrices or all modules.\",\"type\":\"standalone\"}]},{\"name\":\"SUBMIT\",\"description\":\"The SUBMIT statement enables you to submit SAS statements for processing from within a SAS/IML program. You can use the SUBMIT statement to call SAS procedures, DATA steps, and macros. All text between the SUBMIT statement and the ENDSUBMIT statement are referred to as a SUBMIT block. The SUBMIT block is processed by the SAS language processor.\",\"help\":\"SUBMIT &lt;OK=ok-matrix&gt;&lt;R&gt;\",\"arguments\":[{\"name\":\"OK=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the name of a matrix. The matrix is set to 1 if the SUBMIT block executes without error, and to 0 otherwise.\",\"help\":\"OK=*ok-matrix*\",\"type\":\"value\"},{\"name\":\"R\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that statements in the SUBMIT block are processed by the R statistical software. You can use the R option to call functions in the R language, provided that the following statements are true: the R statistical software is installed on the SAS workspace server.\",\"type\":\"standalone\"}]},{\"name\":\"SUMMARY\",\"description\":\"where the operands used by most clauses take either a matrix name, a matrix literal, or an expression yielding a matrix name or value. The SUMMARY statement computes statistics for numeric variables for an entire data set or a subset of observations in the data set. The statistics can be stratified by the use of CLASS variables. The computed statistics are displayed in tabular form and optionally can be saved in matrices. Like most other IML data processing statements, the SUMMARY statement works on the current data set.\",\"help\":\"SUMMARY &lt;CLASS operand&gt;&lt;VAR operand&gt;&lt;WEIGHT operand&gt; ...\",\"arguments\":[{\"name\":\"CLASS\",\"optional\":true,\"description\":\"Specifies the variables in the current input SAS data set to be used to group the summaries. The operand is a character matrix containing the names of the variables.\",\"type\":\"standalone\"},{\"name\":\"OPT\",\"optional\":true,\"description\":\"Sets the PRINT or NOPRINT and SAVE or NOSAVE options. The NOPRINT option suppresses the printing of the results from the SUMMARY statement. The SAVE option requests that the SUMMARY statement save the resultant statistics in matrices. The operand is a character matrix containing one or more of the options.\",\"type\":\"standalone\"},{\"name\":\"STAT\",\"optional\":true,\"description\":\"Computes the statistics specified. The operand is a character matrix containing the names of statistics.\",\"type\":\"standalone\"},{\"name\":\"VAR\",\"optional\":true,\"description\":\"Calculates statistics for a set of numeric variables from the current input data set. The operand is a character matrix containing the names of the variables. Also, the special keyword _NUM_ can be used as a VAR operand to specify all numeric variables. If the VAR clause is missing, the SUMMARY statement produces only the number of observations in each class group.\",\"type\":\"standalone\"},{\"name\":\"WEIGHT\",\"optional\":true,\"description\":\"Specifies a character value containing the name of a numeric variable in the current data set whose values are to be used to weight each observation. Only one variable can be specified.\",\"type\":\"standalone\"},{\"name\":\"WHERE\",\"optional\":true,\"description\":\"Conditionally selects observations, within the range specification, according to conditions given in expression.\",\"type\":\"standalone\"}]},{\"name\":\"USE\",\"description\":\"The inputs to the USE statement are as follows: SAS-data-set can be specified with a one-level name (for example, A) or a two-level name (for example, SASUSER.A). For more information about specifying SAS data sets, see the chapter on SAS data sets in SAS Language Reference: Concepts. operand selects a set of variables. expression is evaluated for being true or false. name is the name of a variable to contain the number of observations. If the data set has not already been opened, the USE statement opens the data set for read access. The USE statement also makes the data set the current input data set so that subsequent statements act on it. The USE statement optionally can define selection criteria that are used to control access.\",\"help\":\"USE &lt;NOBS name&gt;&lt;VAR operand&gt;&lt;WHERE(expression)&gt; ...\",\"arguments\":[{\"name\":\"NOBS\",\"optional\":true,\"description\":\"Specifies the name of a variable to contain the number of observations.\",\"type\":\"standalone\"},{\"name\":\"VAR=\",\"optional\":true,\"description\":\"The VAR clause specifies a set of variables to use, where operand can be specified as one of the following:\",\"help\":\"VAR=_ALL_ | _CHAR_ | _NUM_\",\"type\":\"choice\",\"arguments\":[{\"name\":\"_ALL_\",\"type\":\"standalone\"},{\"name\":\"_CHAR_\",\"type\":\"standalone\"},{\"name\":\"_NUM_\",\"type\":\"standalone\"}]},{\"name\":\"WHERE\",\"optional\":true,\"description\":\"The WHERE clause conditionally selects observations, within the range specification, according to conditions given in the clause. The general form of the WHERE clause is as follows: WHERE(variable comparison-op operand) where:\",\"type\":\"standalone\"},{\"name\":\"_ALL_\",\"optional\":true,\"description\":\"For all variables\",\"type\":\"standalone\"},{\"name\":\"_CHAR_\",\"optional\":true,\"description\":\"For all character variables\",\"type\":\"standalone\"},{\"name\":\"_NUM_\",\"optional\":true,\"description\":\"For all numeric variables\",\"type\":\"standalone\"}]},{\"name\":\"WINDOW\",\"description\":\"where window-name specifies a name 1 to 8 characters long for the window. This name is displayed in the upper-left border of the window. window-options control the size, position, and other attributes of the window. field-specs are a sequence of field specifications made up of positionals, field operands, formats, and options. These are described in the next section The WINDOW statement defines a window on the display and can include a number of fields. The DISPLAY statement actually writes values to the window.\",\"help\":\"WINDOW &lt;CLOSE=window-name&gt;&lt;CMNDLINE=name&gt;&lt;GROUP=group-name&gt; ...\",\"arguments\":[{\"name\":\"CLOSE=\",\"optional\":true,\"description\":\"Closes the window.\",\"help\":\"CLOSE=*window-name*\",\"type\":\"value\"},{\"name\":\"CMNDLINE=\",\"optional\":true,\"description\":\"Specifies the name of a variable in which the command line entered by the user will be stored.\",\"help\":\"CMNDLINE=*name*\",\"type\":\"value\"},{\"name\":\"COLOR=\",\"optional\":true,\"description\":\"Syntax: COLOR=operand\",\"help\":\"COLOR=WHITE | BLACK | GREEN | MAGENTA | RED | YELLOW | CYAN | GRAY | BLUE*operand*\",\"type\":\"value\",\"arguments\":[{\"name\":\"WHITE\",\"description\":\"WHITE background color\",\"type\":\"standalone\"},{\"name\":\"BLACK\",\"description\":\"BLACK background color\",\"type\":\"standalone\"},{\"name\":\"GREEN\",\"description\":\"GREEN background color\",\"type\":\"standalone\"},{\"name\":\"MAGENTA\",\"description\":\"MAGENTA background color\",\"type\":\"standalone\"},{\"name\":\"RED\",\"description\":\"RED background color\",\"type\":\"standalone\"},{\"name\":\"YELLOW\",\"description\":\"YELLOW background color\",\"type\":\"standalone\"},{\"name\":\"CYAN\",\"description\":\"CYAN background color\",\"type\":\"standalone\"},{\"name\":\"GRAY\",\"description\":\"GRAY background color\",\"type\":\"standalone\"},{\"name\":\"BLUE\",\"description\":\"BLUE background color\",\"type\":\"standalone\"}]},{\"name\":\"COLUMNS=\",\"optional\":true,\"description\":\"Specifies the starting number of columns for the window. The operand is either a literal number, a variable name, or an expression in parentheses. The default value is 78 columns.\",\"help\":\"COLUMNS=*operand*\",\"type\":\"value\"},{\"name\":\"GROUP=\",\"optional\":true,\"description\":\"Starts a repeating sequence of groups of fields defined for the window. The group-name specification is a name 1 to 8 characters long used to identify a group of fields in a later DISPLAY statement.\",\"help\":\"GROUP=*group-name*\",\"type\":\"value\"},{\"name\":\"ICOLUMN=\",\"optional\":true,\"description\":\"Specifies the initial starting column position of the window on the display. The operand is either a literal number or a variable name. The default value is column 1.\",\"help\":\"ICOLUMN=*operand*\",\"type\":\"value\"},{\"name\":\"IROW=\",\"optional\":true,\"description\":\"Specifies the initial starting row position of the window on the display. The operand is either a literal number or a variable name. The default value is row 1.\",\"help\":\"IROW=*operand*\",\"type\":\"value\"},{\"name\":\"MSGLINE=\",\"optional\":true,\"description\":\"Specifies the message to be displayed on the standard message line when the window is made active. The operand is almost always the name of a variable, but a character literal can be used.\",\"help\":\"MSGLINE=*operand*\",\"type\":\"value\"},{\"name\":\"PROTECT=\",\"optional\":true,\"aliases\":[\"P=\"],\"description\":\"\",\"type\":\"value\"},{\"name\":\"ROWS=\",\"optional\":true,\"description\":\"Determines the starting number of rows of the window. The operand is either a literal number, the name of a variable containing the number, or an expression in parentheses yielding the number. The default value is 23 rows.\",\"help\":\"ROWS=*operand*\",\"type\":\"value\"}]}],\"interactive\":true,\"supportSiteInformation\":{\"docsetId\":\"casimllang\",\"docsetVersion\":\"latest\",\"docsetTargetFile\":\"casimllang_common_toc.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/IMPORT.json",
    "content": "{\"name\":\"IMPORT\",\"statements\":[{\"name\":\"PROC IMPORT\",\"description\":\"Imports an external data file to a SAS data set or table .\",\"help\":\" PROC IMPORT \\n\\tDATAFILE=\\\"filename\\\" |  TABLE=\\\"tablename\\\"\\n\\n\\tOUT=<libref.>SAS data set<(SAS data set options)>\\n\\n\\t<DBMS=identifier><REPLACE>;\\n\\nstatements for importing from delimited files\\n\\tDATAROW =n;\\n\\n\\tDELIMITER =char | '''nnx;\\n\\n\\tGETNAMES =YES | NO;\\n\\n\\tGETSHEETNAMES =YES | NO;\\n\\n\\tGUESSINGROWS =n | MAX;\\n\\n\\tVARNAMEROW =n;\\n\\nstatements for importing from JMP files\\n\\tDBENCODING =12-char SAS encoding-value;\\n\\n\\tFMTLIB =<libref.>format-catalog;\\n\\n\\tMETA =libref.member-data-set;\\n\",\"arguments\":[{\"name\":\"DATAFILE=\",\"aliases\":[\"FILE=\"],\"description\":\"specifies the complete path and filename or fileref for the input PC file, spreadsheet, or delimited external file. A fileref is a SAS name that is associated with the physical location of the output file. To assign a fileref, use the FILENAME statement. For more information about the FILENAME statement, see . For more information about PC file formats, see\",\"help\":\"DATAFILE=\\\"*filename*\\\" | \\\"*fileref*\\\"\",\"type\":\"choice\",\"arguments\":[{\"name\":\"\\\"filename\\\"\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"\\\"fileref\\\"\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p1n3qopje7rab1n1bnp6m7zugu8y\"},{\"name\":\"OUT=\",\"description\":\"identifies the output SAS data set with either a one or two-level SAS name (library and member name). If the specified SAS data set does not exist, the IMPORT procedure creates it. If you specify a one-level name, by default the IMPORT procedure uses either the USER library (if assigned) or the WORK library (if USER is not assigned). The physical data set name is created using upper-case letters. In SAS programs running on case-sensitive operating systems, this data set name might need to be referenced with upper-case letters.\",\"help\":\"OUT=&lt;*libref*.&gt;*SAS data set*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1qw3arc0vsfbtn1b6u4lbumup8g\"},{\"name\":\"TABLE=\",\"description\":\"specifies the name of the input DBMS table. If the name does not include special characters (such as question marks), lowercase characters, or spaces, you can omit the quotation marks. Note that the DBMS table name might be case sensitive.\",\"help\":\"TABLE=\\\"*tablename*\\\"\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"n03b1lftp1lv80n1t7zxzk4csism\"},{\"name\":\"DBMS=\",\"optional\":true,\"description\":\"specifies the type of data to import.\",\"help\":\"DBMS=*data-source-identifier*\",\"type\":\"value\",\"arguments\":[{\"name\":\"CSV\",\"description\":\"The output data source is a comma-separated delimited file. The file extension is .CSV.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1t4k4ztt9p698n1kcnw4jzsyuis\"},{\"name\":\"DLM\",\"description\":\"The output data source is a delimited file. You can use DELIMITER='char' to specifiy the type of data to export.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p179rw2t14cdvvn1u008og1bcspr\"},{\"name\":\"DTA\",\"description\":\"The output data source is a Stata file. The file extension is .dta.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0xgvyu4nbzjv0n1x6lgrf54jspm\"},{\"name\":\"JMP\",\"description\":\"The output data source is a JMP file, Version 7 or later format. The file extension is .JMP.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1dpxv2iy9gcvhn1e1ho3hr8sb5b\"},{\"name\":\"PARADOX\",\"description\":\"The output data source is a Paradox DB file. The file extension is .db.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0r7lcvh84d13cn1pau6decbl0ha\"},{\"name\":\"SAV\",\"description\":\"The output data source is a SPSS file. The file extension is .sav.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p04o2pidxf66dgn1u4pzwaup5766\"},{\"name\":\"TAB\",\"description\":\"The output data source is a tab delimited file. The file extension is .txt.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0178dfwphp1rbn1k2h1abwk740p\"},{\"name\":\"XLS\",\"description\":\"Microsoft Excel 97, 2000, 2002, or 2003 spreadsheet using file formats. The file extension is .xls.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1sjur7y41v7f5n1un750w9ldey3\"},{\"name\":\"XLSX\",\"description\":\"Excel 2007, 2010, and later spreadsheet, using .xlsx file format. The file extension is .xlsx.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n14j8gfume4g6zn0zevbyg0q5jrp\"},{\"name\":\"Microsoft\",\"description\":\"When you specify DBMS=XLS or DBMS=XLSX for an Excel file, you can read and write to Excel workbooks under Linux directly without having to access the SAS PC Files Server. This example demonstrates use of DBMS=XLSX specifying a range of cells.\",\"help\":\"Microsoft Excel\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1d9cfni8cxz9en1wfl2agnyzkrf\"}],\"supportSiteTargetFragment\":\"n0er09nsobmfgbn1fhr99gal5pc1\"},{\"name\":\"REPLACE\",\"optional\":true,\"description\":\"overwrites an existing SAS data set.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0vmpjv3tx1daon1eoiu15ulajxv\"},{\"name\":\"SAS\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies SAS data set options.\",\"help\":\"*SAS data set options*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0de9pnqxl23rhn1f096jpy2z0fn\"},{\"name\":\"file-format-specific-statements\",\"optional\":true,\"placeholder\":true,\"description\":\"See for the supported syntax for your data source.\",\"type\":\"standaloneOrValue\",\"supportSiteTargetFragment\":\"p1xsyud3rdzlrin1f2rcfulvzk17\"},{\"name\":\"SERVERAUTHDOMAIN=\",\"optional\":true,\"description\":\"Allows connection to a server by specifying the name of an authentication domain metadata object.\",\"help\":\"SERVERAUTHDOMAIN=*server authentication-domain*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0ud3nymyccrkgn17qukfg140p4d\"}],\"supportSiteTargetFile\":\"n18jyszn33umngn14czw2qfw7thc.htm\"},{\"name\":\"DATAROW\",\"description\":\"Starts reading data from the specified row number in the delimited text file.\",\"help\":\"DATAROW= *n*;\",\"arguments\":[{\"name\":\"n\",\"placeholder\":true,\"description\":\"specifies the row number in the input file for the IMPORT procedure to start reading data.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n141hpxi4yhg35n1o7b3vbdday43\"}],\"supportSiteTargetFile\":\"p08ss3c3xtt2qzn1fsma45gyz333.htm\"},{\"name\":\"DBENCODING\",\"description\":\"Indicates the encoding character set to use for the JMP file.\",\"help\":\"DBENCODING =*12-char SAS encoding-value*;\",\"arguments\":[{\"name\":\"12-char\",\"placeholder\":true,\"description\":\"indicates the encoding to use with JMP files. Encoding maps each character in a character set to a unique numeric representation, which results in a table of code points. A single character can have different numeric representations in different encodings. This value can be up to 12 characters long.\",\"help\":\"*12-char SAS encoding-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1r8da3h3k3cbqn1chz5mmfnhp3n\"}],\"supportSiteTargetFile\":\"p1frg80kyj4og7n1dzqnfmbnguvy.htm\"},{\"name\":\"DELIMITER\",\"description\":\"Specifies the delimiter that separates columns of data in the input file.\",\"help\":\"\\n\\tDELIMITER= char | '''nnx;\\n\",\"arguments\":[{\"name\":\"char\",\"placeholder\":true,\"description\":\"specifies the delimiter that separates columns of data in the input file. You can specify the delimiter as a single character or as a hexadecimal value. For example, if columns of data are separated by an ampersand, specify DELIMITER='&'.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1r1mozqlefk8cn1jij3fzgjxsfy\"},{\"name\":\"''x\",\"description\":\"specifies the delimiter that separates columns of data in the input file. You can specify the delimiter as a single character or as a hexadecimal value. For example, if columns of data are separated by an ampersand, specify DELIMITER='&'.\",\"help\":\"'*nn*'x\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1r1mozqlefk8cn1jij3fzgjxsfy\"}],\"supportSiteTargetFile\":\"p0k757c8q63cfun1n3k3ha2pqmdz.htm\"},{\"name\":\"FMTLIB\",\"description\":\"Saves value labels to the specified SAS format catalog.\",\"help\":\"FMTLIB= &lt;*libref*.&gt;*format-catalog*;\",\"arguments\":[{\"name\":\"libref.format-catalog\",\"placeholder\":true,\"description\":\"specifies the format catalog where the value labels are saved.\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"n138pe5g1sczdon18b35f931uu3n\"}],\"supportSiteTargetFile\":\"p1b08qam0tmo97n1j27xceo6xsrl.htm\"},{\"name\":\"GETNAMES\",\"description\":\"Specifies whether the IMPORT procedure generates SAS variable names from the data values in the first row in the input file.\",\"help\":\"GETNAMES =YES | NO | COMPAT ;\",\"arguments\":[{\"name\":\"YES\",\"description\":\"\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p09ewyw78xb7whn1tq0pq3vuyra1\"},{\"name\":\"NO\",\"description\":\"\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p09ewyw78xb7whn1tq0pq3vuyra1\"},{\"name\":\"COMPAT\",\"description\":\"specifies that the former method of generating SAS names based on available names from the data file is implemented.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1ah8wm6johpajn1ep2uoe9gptpv\"}],\"supportSiteTargetFile\":\"p18y8iz67dpzk7n1m765owrkhqou.htm\"},{\"name\":\"GETSHEETNAMES\",\"description\":\"Returns the worksheet names within an Excel file as a SAS data set.\",\"help\":\"GETSHEETNAMES =YES | NO;\",\"arguments\":[{\"name\":\"YES\",\"description\":\"\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n04yjedim6u67fn17lmax1js8v8m\"},{\"name\":\"NO\",\"description\":\"\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n04yjedim6u67fn17lmax1js8v8m\"}],\"supportSiteTargetFile\":\"p0fwnn2nhofxpwn1cvg9qmo8xpva.htm\"},{\"name\":\"GUESSINGROWS\",\"description\":\"Specifies the number of rows of the file to scan to determine the appropriate data type and length for the variables.\",\"help\":\"GUESSINGROWS= *n* | MAX;\",\"arguments\":[{\"name\":\"n\",\"placeholder\":true,\"description\":\"indicates the number of rows the IMPORT procedure scans in the input file to determine the appropriate data type and length of variables. The range is 1 to 2147483647 (or MAX). The scan data process scans from row 1 to the number that is specified by the GUESSINGROWS option.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1wksd7ruh3anxn1kc8x9yi20vzt\"},{\"name\":\"MAX\",\"description\":\"can be specified instead of 2147483647. Specifying the maximum value could adversely affect performance.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1a7c88thu8m9xn1lp1e0ehtzy63\"}],\"supportSiteTargetFile\":\"p13kvtl8ezj13in17i6m99jypcwi.htm\"},{\"name\":\"META\",\"description\":\"Saves JMP metadata information to the specified SAS data set. (Deprecated)\",\"help\":\"META =*libref.member-data-set*;\",\"arguments\":[{\"name\":\"libref.member-data-set\",\"placeholder\":true,\"description\":\"specifies the SAS data set that contains the metadata information is to be written.\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"n1hm0x65j0ypnpn1n7hlux0ngby9\"}],\"supportSiteTargetFile\":\"p1luhekfpeg7obn1ovji7po1zdxk.htm\"},{\"name\":\"VARNAMEROW\",\"description\":\"Specifies a row from the delimited text file that contains the variable names.\",\"help\":\"VARNAMEROW =*n*;\",\"arguments\":[{\"name\":\"n\",\"placeholder\":true,\"description\":\"specifies the row number in the input delimited file that contains the variable names.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0eopsxqbx0ttgn1fomphq686g3l\"}],\"supportSiteTargetFile\":\"n0wpm1asj579n2n16pbn0wiw8s8o.htm\"}],\"supportSiteInformation\":{\"docsetId\":\"proc\",\"docsetVersion\":\"v_002\",\"docsetTargetFile\":\"n1qn5sclnu2l9dn1w61ifw8wqhts.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/INBREED.json",
    "content": "{\"name\":\"INBREED\",\"statements\":[{\"name\":\"PROC INBREED\",\"description\":\"The INBREED procedure calculates the covariance or inbreeding coefficients for a pedigree. PROC INBREED is unique in that it handles very large populations. † The INBREED procedure has two modes of operation. One mode carries out analysis on the assumption that all the individuals belong to the same generation. The other mode divides the population into nonoverlapping generations and analyzes each generation separately, assuming that the parents of individuals in the current generation are defined in the previous generation. † PROC INBREED also computes averages of the covariance or inbreeding coefficients within sex categories if the sex of individuals is known.\",\"help\":\"PROC INBREED <AVERAGE><COVAR><DATA= SAS-data-set><INDL><IND><INIT= cov><MATRIXL><MATRIX><NOPRINT><OUTCOV= SAS-data-set>;     \\n\\tBY <DESCENDING><NOTSORTED> ;\\n\\n\\tCLASS variable ;\\n\\n\\tGENDER variable ;\\n\\n\\tMATINGS individual-list1 / mate-list1 <,..., individual-listn / mate-listn> ;\\n\\n\\tVAR individual parent1 parent2 <covariance> ;\\n\",\"arguments\":[{\"name\":\"AVERAGE\",\"optional\":true,\"description\":\"Produces a table of averages of coefficients for each pedigree of offspring. The AVERAGE option is used together with the GENDER statement to average the inbreeding/covariance coefficients within sex categories.\",\"type\":\"standalone\"},{\"name\":\"COVAR\",\"optional\":true,\"description\":\"Specifies that all coefficients output consist of covariance coefficients rather than inbreeding coefficients.\",\"type\":\"standalone\"},{\"name\":\"DATA=\",\"optional\":true,\"description\":\"Names the SAS data set to be used by PROC INBREED. If you omit the DATA= option, the most recently created SAS data set is used.\",\"type\":\"value\"},{\"name\":\"INDL\",\"optional\":true,\"description\":\"Displays individuals’ coefficients for only the last generation of a multiparous population.\",\"type\":\"standalone\"},{\"name\":\"IND\",\"optional\":true,\"description\":\"Displays the individuals’ inbreeding coefficients (diagonal of the inbreeding coefficients matrix) for each pedigree of offspring. If you also specify the COVAR option, the individuals’ covariance coefficients (diagonal of the covariance coefficients matrix) are displayed.\",\"type\":\"standalone\"},{\"name\":\"INIT=\",\"optional\":true,\"description\":\"Specifies the covariance value cov if any of the parents are unknown; a value of 0 is assumed if you do not specify the INIT= option.\",\"type\":\"value\"},{\"name\":\"MATRIXL\",\"optional\":true,\"description\":\"Displays coefficients for only the last generation of a multiparous population.\",\"type\":\"standalone\"},{\"name\":\"MATRIX\",\"optional\":true,\"description\":\"Displays the inbreeding coefficient matrix for each pedigree of offspring. If you also specify the COVAR option, the covariance matrices are displayed instead of inbreeding coefficients matrices.\",\"type\":\"standalone\"},{\"name\":\"NOPRINT\",\"optional\":true,\"description\":\"Suppresses the display of all output.\",\"type\":\"standalone\"},{\"name\":\"OUTCOV=\",\"optional\":true,\"description\":\"Names an output data set to contain the inbreeding coefficients.\",\"type\":\"value\"}]},{\"name\":\"BY\",\"description\":\"You can specify a BY statement with PROC INBREED to obtain separate analyses on observations in groups defined by the BY variables. When a BY statement appears, the procedure expects the input data set to be sorted in order of the BY variables.\",\"help\":\"BY &lt;DESCENDING&gt;&lt;NOTSORTED&gt;\",\"arguments\":[{\"name\":\"DESCENDING\",\"optional\":true,\"description\":\"Specifies that the observations are sorted in descending order by the variable that immediately follows the word DESCENDING in the BY statement.\",\"type\":\"standalone\"},{\"name\":\"NOTSORTED\",\"optional\":true,\"description\":\"Specifies that observations are not necessarily sorted in alphabetic or numeric order.\",\"type\":\"standalone\"}]},{\"name\":\"CLASS\",\"description\":\"To analyze the population within nonoverlapping generations, you must specify the variable that identifies generations in a CLASS statement.\",\"help\":\"CLASS variable \"},{\"name\":\"GENDER\",\"description\":\"The GENDER statement specifies a variable that indicates the sex of the individuals. Values of the sex variable must be character beginning with ‘M’ or ‘F’, for male or female.\",\"help\":\"GENDER variable \"},{\"name\":\"MATINGS\",\"description\":\"You can specify the MATINGS statement with PROC INBREED to specify selected matings of individuals.\",\"help\":\"MATINGS individual-list1 / mate-list1 &lt;,..., individual-listn / mate-listn&gt; \"},{\"name\":\"VAR\",\"aliases\":[\"VARIABLES\"],\"description\":\"The VAR statement specifies three or four variables: the first variable contains an individual’s name, the second variable contains the name of the individual’s first parent, and the third variable contains the name of the individual’s second parent.\",\"help\":\"VAR individual parent1 parent2 &lt;covariance&gt; \"}],\"supportSiteInformation\":{\"docsetId\":\"statug\",\"docsetVersion\":\"latest\",\"docsetTargetFile\":\"statug_inbreed_toc.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/IRP.json",
    "content": "{\"name\":\"IRP\",\"statements\":[{\"name\":\"PROC IRP\",\"description\":\"The IRP procedure provides the ability to calculate periodic-review inventory replenishment policies for single-location and two-echelon-distribution inventory systems. These policies are determined through a number of algorithms that are controlled by user-specified options.\",\"help\":\"PROC IRP *ALGORITHM=1|2**DATA=SAS-data-set**DIST=AUTO|GAMMA**MAXITER=i**MAXMESSAGES=i**METHOD=SERVICE|PENALTY**OUT=SAS-data-set* ;    HOLDINGCOST *variable*;   ITEMID *variables*;   LEADTIME &lt;/ options&gt;;   LEADTIMEDEMAND &lt;/ options&gt;;   LOCATION  variable &lt;/ options&gt;;   PENALTY &lt;/ options&gt;;   POLICYTYPE &lt;variable&gt;;   REPLENISHMENT &lt;/ options&gt;;   REVIEWTIMEDEMAND &lt;/ options&gt;;   SERVICE &lt;/ options&gt;; \",\"arguments\":[{\"name\":\"Algorithm=\",\"optional\":true,\"description\":\"specifies the type of optimization heuristic to use for single-location inventory systems. This option is ignored when the OPTIMAL option is specified in the PENALTY statement. You can specify the following values: 1 uses an exact optimization algorithm. 2 uses an approximation algorithm. By default, ALGORITHM=1. For more information, see the section Policy Algorithm.\",\"help\":\"Algorithm=*0 | 1*\",\"type\":\"value\"},{\"name\":\"DATA=\",\"optional\":true,\"description\":\"names the SAS data set that contains information about the items to be analyzed. The data set must include the mean and variance of review-time demand, mean replenishment order lead time, per-unit holding cost, fixed replenishment cost, and target service level or back-order penalty cost. The data set can contain other optional variables for use by PROC IRP. For single-location inventory systems, every observation corresponds to an individual inventory item to be analyzed. For two-echelon-distribution systems, every observation corresponds to an inventory item-location pair, and these pairs must be grouped together by item. The DATA= input data set must be sorted by the variables specified in the ITEMID statement. For more information about the variables in this data set, see the section Input Data Set. If the DATA= option is omitted, the most recently created SAS data set is used.\",\"help\":\"DATA=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"DIST=\",\"optional\":true,\"description\":\"specifies the type of probability distribution to use for approximating the distributions for both the lead-time demand and the demand during lead time plus review time. You can specify the following values: AUTO uses the normal distribution whenever appropriate; otherwise uses the gamma distribution. GAMMA uses the gamma distribution every time. By default, DIST=AUTO. This option is ignored when the OPTIMAL option is specified in the PENALTY statement. For more information, see the section Policy Algorithm.\",\"help\":\"DIST=*AUTO |GAMMA*\",\"type\":\"value\"},{\"name\":\"MAXITER=\",\"optional\":true,\"description\":\"specifies the maximum number of iterations that the heuristic algorithm can use to calculate inventory replenishment policies. By default, MAXITER=100. This option is ignored when the OPTIMAL option is specified in the PENALTY statement.\",\"help\":\"MAXITER=*i*\",\"type\":\"value\"},{\"name\":\"MAXMESSAGES=\",\"optional\":true,\"description\":\"specifies the maximum number of different items in the DATA= input data set for which input error messages are printed to the SAS log. By default, MAXMESSAGES=100.\",\"help\":\"MAXMESSAGES=*i*\",\"type\":\"value\"},{\"name\":\"METHOD=\",\"optional\":true,\"description\":\"specifies the optimization method to use for calculating the inventory replenishment policies. You can specify the following values: SERVICE uses service-level requirements to calculate the replenishment policy. PENALTY uses back-order penalty costs to calculate the replenishment policy. By default, METHOD=SERVICE.\",\"help\":\"METHOD=*SERVICE |PENALTY*\",\"type\":\"value\"},{\"name\":\"OUT=\",\"optional\":true,\"description\":\"specifies a name for the output data set that contains inventory replenishment policies, service measure estimates, and other inventory metrics as determined by PROC IRP. This data set also contains all the variables that are specified in the ITEMID statement. Every observation in the DATA= input data set has a corresponding observation in the output data set. For information about the variables in this data set, see the section OUT= Data Set. If this option is omitted, PROC IRP creates a data set and names it according to the DATAn naming convention.\",\"help\":\"OUT=*SAS-data-set*\",\"type\":\"dataSet\"}]},{\"name\":\"HOLDINGCOST\",\"description\":\"The HOLDINGCOST statement identifies the variable in the DATA= input data set that specifies the per-period, per-unit holding cost of each item. (Negative, zero, and missing values for this variable are not permitted.) If this statement is not specified, PROC IRP looks for a variable named HOLDINGCOST. If this variable is not found in the DATA= input data set, PROC IRP halts with an error.\",\"help\":\"HOLDINGCOST *variable*;\",\"arguments\":[{\"name\":\"variable\",\"placeholder\":true,\"description\":\"names the HOLDINGCOST variable.\",\"type\":\"value\"}]},{\"name\":\"ITEMID\",\"description\":\"The ITEMID statement identifies the variables in the DATA= input data set that specify individual inventory items. For a single-location inventory system, the variables primarily identify unique items in the input data set. However, each observation is processed independently, regardless of whether the values of the variables are unique. Thus, you can include any variables that might not necessarily pertain to the descriptions of the items in the list. All variables that are specified in this statement are included in the output data set. Therefore, in addition to identifying inventory information (such as SKU), you can also use the ITEMID statement in a single-location inventory system to specify variables that are carried through from the input data set to the output data set. For an illustration, see Example 1.1. For a two-echelon system, the ITEMID statement specifies the variables in the DATA= input data set that are used to group the observations in the input data set. Each group identifies a single item that is shipped from a warehouse to one or more retailers; each individual observation within a group corresponds to a single warehouse or retailer. The observations within a group are used together to process the group. As in the single-location inventory case, variables that are specified in the ITEMID statement are included in the output data set; however, in this case, the variables are used to process observations in groups rather than independently. Thus, you cannot use the ITEMID statement to simply copy variables from the input data set to the output data set (as you can in the single-location inventory system). Instead, you can include a simple DATA step after a call to PROC IRP to merge variables from the input and output data sets. If the ITEMID statement is not specified, PROC IRP halts with an error. Furthermore, PROC IRP expects the DATA= input data set to be sorted by the variables that are specified in the ITEMID statement. The ITEMID statement behaves much like the BY statement; therefore, you can use options such as DESCENDING and NOTSORTED in the ITEMID statement. For more information about the BY statement, see SAS System documentation.\",\"help\":\"ITEMID *variable*;ID *variable*;SKUID *variable*;\",\"arguments\":[{\"name\":\"variable\",\"placeholder\":true,\"description\":\"names the ITEMID variable.\",\"type\":\"value\"}]},{\"name\":\"LEADTIME\",\"description\":\"The LEADTIME statement identifies the variables in the DATA= input data set that contain the mean and variance of the replenishment order lead time. This information is used to calculate the mean and variance of lead-time demand. The replenishment order lead time should be specified using the same scale as that used for the review periods. This statement is ignored if the LEADTIMEDEMAND statement is specified.\",\"help\":\"LEADTIME */options*;\",\"arguments\":[{\"name\":\"MAXCOV=\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the maximum allowed value of the coefficient of variation for replenishment order lead time. Items whose coefficient of variation (ratio of the standard deviation and mean) of lead time is greater than maxcov are not processed. By default, MAXCOV=10.\",\"type\":\"value\"},{\"name\":\"MEAN=\",\"optional\":true,\"placeholder\":true,\"description\":\"identifies the variable in the DATA= input data set that contains the mean of the replenishment order lead time. (Negative, zero, and missing values for this variable are not permitted.) If this option is omitted, PROC IRP looks for a variable named LTMEAN in the DATA= data set. If this variable is not found, PROC IRP halts with an error.\",\"type\":\"value\"},{\"name\":\"VARIANCE=\",\"optional\":true,\"placeholder\":true,\"description\":\"identifies the variable in the DATA= input data set that contains the variance of the replenishment order lead time. (Negative and missing values for this variable are interpreted as 0.) If this option is omitted, a value of 0 is used for all observations.\",\"type\":\"value\"}]},{\"name\":\"LEADTIMEDEMAND\",\"description\":\"The LEADTIMEDEMAND statement identifies the variables in the DATA= input data set that contain the mean and variance of lead-time demand (that is, the amount of demand that occurs during the lead time). The IRP procedure uses the review-time demand and lead-time information to calculate the parameters of lead-time demand. Instead of specifying the parameters of lead time, you can directly specify the mean and variance of lead-time demand by using the LEADTIMEDEMAND statement. This feature is especially useful if lead time is greater than review time and demand is not stationary. If this statement is specified, the LEADTIME statement is ignored. Because the inventory is periodically reviewed, the lead time in consideration should start after one review period. For an illustration, see Example 1.4.\",\"help\":\"LEADTIMEDEMAND */options*;\",\"arguments\":[{\"name\":\"MEAN\",\"placeholder\":true,\"description\":\"identifies the variable in the DATA= input data set that contains the mean of the demand during lead time. (Negative, zero, and missing values for this variable are not permitted.)\",\"type\":\"value\"},{\"name\":\"VARIANCE\",\"placeholder\":true,\"description\":\"identifies the variable in the DATA= input data set that contains the variance of the demand during lead time. (Negative, zero, and missing values for this variable are not permitted.)\",\"type\":\"value\"},{\"name\":\"MAXCOV\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the maximum allowed value of the coefficient of variation for lead-time demand. Items whose coefficient of variation (ratio of the standard deviation and mean) of lead-time demand is greater than maxcov are not processed. By default, MAXCOV=10.\",\"type\":\"value\"}]},{\"name\":\"LOCATION\",\"description\":\"The LOCATION statement identifies the character variable in the DATA= data set that identifies the retailer locations for the two-echelon-distribution inventory problem. The value of variable should be missing if the current observation corresponds to a warehouse. This statement is required for solving two-echelon-distribution inventory problems. If this statement is omitted, each observation is treated as a separate single-location inventory problem.\",\"help\":\"LOCATION  variable &lt;/options&gt;\",\"arguments\":[{\"name\":\"NLOCATIONS\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies an estimate of the maximum number of retailer locations in a single item group for the two-echelon-distribution inventory problem. This option is used for initial memory\",\"type\":\"value\"}]},{\"name\":\"PENALTY\",\"description\":\"The PENALTY statement enables you to specify back-order penalty cost information. This statement is ignored if METHOD=SERVICE in the PROC IRP statement.\",\"help\":\"PENALTY */options*;\",\"arguments\":[{\"name\":\"COST=\",\"optional\":true,\"placeholder\":true,\"description\":\"identifies the variable in the DATA= input data set that specifies the per-period, per-unit item penalty cost for backlogged demand. (Negative, zero, and missing values for this variable are not permitted. In addition, values of this variable must be greater than or equal to 1.5 times the value of the variable specified in the HOLDINGCOST statement. This limitation prevents accidental user input errors and guarantees a minimum ready rate of at least 60%.) If METHOD=PENALTY in the PROC IRP statement and this option is not specified, PROC IRP looks for a variable named PENALTYCOST in the DATA= input data set. If this variable is not found, PROC IRP halts with an error.\",\"type\":\"value\"},{\"name\":\"OPTIMAL\",\"optional\":true,\"placeholder\":true,\"description\":\"requests that an optimal policy be calculated. This option is valid only if the LOCATION statement is not specified. By default, PROC IRP uses a heuristic method to calculate nearly optimal policies. For more information, see the section OPTIMAL Option.\",\"type\":\"value\"},{\"name\":\"SCALE=\",\"optional\":true,\"placeholder\":true,\"description\":\"controls the initial scaling of demand and cost parameters for optimal policy calculations. Initial scaling takes place if the calculated mean of demand during lead time plus review time is greater than scale. This option is ignored if the OPTIMAL option is not specified. Valid values are between 50 and 10,000. In general, the default scaling is sufficient to produce fast and accurate results. If desired, you can obtain more accuracy at the expense of longer execution time by increasing scale (thus decreasing the effective scaling). However, increasing scale increases the demand on memory and might result in an error. For more information, see the section OPTIMAL Option. By default, SCALE=100.\",\"type\":\"value\"}]},{\"name\":\"POLICYTYPE\",\"description\":\"The POLICYTYPE statement identifies the variable in the DATA= input data set that specifies the type of inventory replenishment policy to be calculated. Table 3 lists the valid values of this variable. For more information about policy types, see the section Replenishment Policies.\",\"help\":\"POLICYTYPE *variable*;\",\"arguments\":[{\"name\":\"variable\",\"placeholder\":true,\"description\":\"names the POLICYTYPE variable.\",\"type\":\"value\"}]},{\"name\":\"REPLENISHMENT\",\"description\":\"You can specify the following options:\",\"help\":\"REPLENISHMENT */options*;\",\"arguments\":[{\"name\":\"DELTA=\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the method used for calculating the difference, DELTA, for (s,S) policies or the base lot size, Q, for (s, nQ) policies. You can specify the following values: POWER uses a power approximation to determine DELTA or Q. EOQ uses the classic economic order quantity to determine DELTA or Q. For more information, see the section Policy Algorithm. By default, DELTA=POWER.\",\"help\":\"*DELTA=POW|EOQ*\",\"type\":\"value\"},{\"name\":\"FCOST=\",\"optional\":true,\"placeholder\":true,\"description\":\"identifies the variable in the DATA= input data set that specifies the fixed ordering cost of placing a replenishment order. (Negative and missing values for this variable are interpreted as 0.) If this option is not specified, PROC IRP looks for a variable named FIXEDCOST in the DATA= input data set. If this variable is not found, PROC IRP halts with an error.\",\"type\":\"value\"},{\"name\":\"LOTSIZE=\",\"optional\":true,\"placeholder\":true,\"description\":\"identifies the variable in the DATA= input data set that specifies the difference, DELTA, for (s,S) policies or the base lot size, Q, for (s, nQ) policies. (Negative, zero, and missing values for this variable are ignored.)\",\"type\":\"value\"},{\"name\":\"MAXFREQ=\",\"optional\":true,\"placeholder\":true,\"description\":\"identifies the variable in the DATA= input data set that contains the maximum allowable average ordering frequency. In practice, the fixed cost of placing an order can be difficult to estimate; therefore, this variable enables you to limit the frequency with which orders are placed. (Negative, zero, and missing values for this variable are ignored. Furthermore, for (s, S) policies, the value cannot be less then 1/qgrid, where qgrid is the value specified by the QGRID= option, or PROC IRP halts with an error.)\",\"type\":\"value\"},{\"name\":\"MINSIZE=\",\"optional\":true,\"placeholder\":true,\"description\":\"identifies the variable in the DATA= input data set that contains the minimum allowable replenishment order size. (Negative and missing values for this variable are ignored, with the exception of –1. A value of –1 is a special flag and sets the minimum order size to 1.5 times the average one-period demand.) If this option is omitted, a value of 0 is used for all observations.\",\"help\":\"*MINSIZE=* \",\"type\":\"value\"},{\"name\":\"QGRID=\",\"optional\":true,\"placeholder\":true,\"description\":\"identifies the granularity of the inventory position distribution for (s, S) policies. This option is used only for the heuristic algorithms and is ignored when the OPTIMAL option is specified in the PENALTY statement. Valid values are between 5 and 100. By default, QGRID=10, which is appropriate for most situations. However, specifying a value greater than the default might result in better accuracy (at the expense of computation time).\",\"type\":\"value\"}]},{\"name\":\"REVIEWTIMEDEMAND\",\"description\":\"The REVIEWTIMEDEMAND statement identifies the variables in the DATA= input data set that contain the mean and variance of the review-time demand. When the REVIEWTIMEDEMAND statement is specified, demand during the review periods is assumed to be stationary and independent.\",\"help\":\"REVIEWTIMEDEMAND */options*;\",\"arguments\":[{\"name\":\"MAXCOV=\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the maximum allowed value of the coefficient of variation for review-time demand. Items whose coefficient of variation (ratio of the standard deviation and mean) of review-time demand is greater than maxcov are not processed. By default, MAXCOV=10.\",\"type\":\"value\"},{\"name\":\"MEAN=\",\"optional\":true,\"placeholder\":true,\"description\":\"identifies the variable in the DATA= input data set that contains the mean of the demand during a single inventory review period. (Missing values and values less than 1 for this variable are not permitted. However, the mean of review-time demand at the warehouse in the two-echelon-distribution problem can be set to missing to instruct PROC IRP to automatically calculate the mean and variance of demand at the warehouse as the sum of the means and variances of demand at the retailer locations.) If this option is omitted, PROC IRP looks for a variable named RTDMEAN in the DATA= input data set. If this variable is not found, PROC IRP halts with an error.\",\"type\":\"value\"},{\"name\":\"VARIANCE=\",\"optional\":true,\"placeholder\":true,\"description\":\"identifies the variable in the DATA= input data set that contains the variance of the demand during a single inventory review period. (Negative and missing values for this variable are interpreted as 0.) If this statement is omitted, PROC IRP looks for a variable named RTDVAR in the DATA= input data set. If this variable is not found, PROC IRP halts with an error.\",\"type\":\"value\"}]},{\"name\":\"SERVICE\",\"description\":\"The SERVICE statement identifies the variables in the DATA= input data set that specify the type and the desired level of the service measure to be used by the inventory policy algorithm. This statement is ignored if METHOD=PENALTY in the PROC IRP statement.\",\"help\":\"SERVICE */options*;\",\"arguments\":[{\"name\":\"LEVEL=\",\"optional\":true,\"placeholder\":true,\"description\":\"identifies the variable in the DATA= input data set that specifies the desired service level for the service measure that is specified in the TYPE= option. (Common ranges of service level are [0.80,0.99] for fill rate and ready rate and [0.01,0.20] for back-order ratio. Valid values for fill rate and ready rate are between 0.600 and 0.999 and for back-order ratio are between 0.001 and 0.400.) If METHOD=SERVICE in the PROC IRP statement and this option is not specified, PROC IRP looks for a variable named SERVICELEVEL in the DATA= input data set. If this variable is not found, PROC IRP halts with an error.\",\"type\":\"value\"},{\"name\":\"TYPE=\",\"optional\":true,\"placeholder\":true,\"description\":\"identifies the variable in the DATA= input data set that specifies the type of service measure to be used by the inventory replenishment algorithm. Only one service measure per item can be specified in a single procedure invocation.\",\"type\":\"value\"}]}],\"supportSiteInformation\":{\"docsetId\":\"irpug\",\"docsetVersion\":\"1.0\",\"docsetTargetFile\":\"irpug_irp_toc.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/IRT.json",
    "content": "{\"name\":\"IRT\",\"statements\":[{\"name\":\"PROC IRT\",\"description\":\"The item response theory (IRT) model was first proposed in the field of psychometrics for the purpose of ability assessment. It is most widely used in education to calibrate and evaluate items in tests, questionnaires, and other instruments and to score subjects on their abilities, attitudes, or other latent traits. Today, all major psychological and educational tests are built using IRT, because the methodology can significantly improve measurement accuracy and reliability while providing potential significant reductions in assessment time and effort, especially via computerized adaptive testing. In a computerized adaptive test, items are optimally selected for each subject. Different subjects might receive entirely different items during the test. IRT plays an essential role in selecting the most appropriate items for each subject and equating scores for subjects who receive different subsets of items. Notable examples of these tests include the Scholastic Aptitude Test (SAT), Graduate Record Examination (GRE), and Graduate Management Admission Test (GMAT). In recent years, IRT models have also become increasingly popular in health behavior, quality of life, and clinical research. The Patient Reported Outcomes Measurement Information System (PROMIS) project, funded by the US National Institutes of Health, is an excellent example. By using IRT, it aims to develop item banks that clinicians and researchers can use to collect important information about therapeutic effects that is not available from traditional clinical measures.\",\"help\":\"PROC IRT <ABSFCONV=r | ABSFTOL=r><ABSGCONV=r | ABSGTOL=r><ABSPCONV=r | ABSPTOL=r><DATA=SAS-data-set><DESCENDING><FCONV=r | FTOL=r><GCONV=r | GTOL=r><INMODEL<(SCORE)>=SAS-data-set><ITEMFIT><ITEMSTAT <(itemstat-options )>><LINK=LOGIT | PROBIT><MAXFUNC=n | MAXFU=n><MAXITER=n | MAXIT=n><MAXMITER=n | MAXMIT=n><NFACTOR=i | NFACT=i><NOAD><NOITPRINT><NOPRINT><OUT=SAS-data-set><OUTMODEL=SAS-data-set><PINITIAL><PLOTS=ALL | ICC | IIC... ><POLYCHORIC><QPOINTS=i><RCONVERGE=p | RCONV=p><RESFUNC=ONEP | TWOP | THREEP... ><RITER=n><RORDER=DATA | FORMATTED | FREQ... ><ROTATE=BIQUARTIMAX | EQUAMAX | ARSIMAX... ><SCOREMETHOD=ML | EAP | MAP><TECHNIQUE=CONGRA | EM | NRRIDG... >;     \\n\\tBY variables;\\n\\n\\tCOV assignment <, assignment …>;\\n\\n\\tEQUALITY _ALLITEM_ _ALLONEP_ _ALL_ ...;\\n\\n\\tFACTOR factor-variables-relation <, factor-variables-relation …>;\\n\\n\\tFREQ variable;\\n\\n\\tGROUP variable;\\n\\n\\tMODEL <RESFUNC < = [ response-model-types ] >> ;\\n\\n\\tVARIANCE assignment <, assignment …>;\\n\\n\\tVAR | VARIABLE variables;\\n\\n\\tWEIGHT variable;\\n\",\"arguments\":[{\"name\":\"ABSFCONV=\",\"optional\":true,\"aliases\":[\"ABSFTOL=\"],\"description\":\"Specifies an absolute function difference convergence criterion. Termination requires a small change of the function value in successive iterations. By default, r = 0.\",\"type\":\"value\"},{\"name\":\"ABSGCONV=\",\"optional\":true,\"aliases\":[\"ABSGTOL=\"],\"description\":\"Specifies an absolute gradient convergence criterion. Termination requires the maximum absolute gradient element to be small. By default, r = 1E–5.\",\"type\":\"value\"},{\"name\":\"ABSPCONV=\",\"optional\":true,\"aliases\":[\"ABSPTOL=\"],\"description\":\"Specifies a maximum absolute parameter difference convergence criterion. This criterion is used only by the EM algorithm. Termination requires the maximum absolute parameter change in successive iterations to be small.\",\"type\":\"value\"},{\"name\":\"DATA=\",\"optional\":true,\"description\":\"Specifies the SAS-data-set to be read by PROC IRT. The default value is the most recently created data set.\",\"help\":\"DATA=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"DESCENDING\",\"optional\":true,\"aliases\":[\"DESC\"],\"description\":\"Reverses the sorting order for the levels of the response variables. If you specify both the DESCENDING and RORDER= options, PROC IRT orders the levels according to the RORDER= option and then reverses that order.\",\"type\":\"standalone\"},{\"name\":\"FCONV=\",\"optional\":true,\"aliases\":[\"FTOL=\"],\"description\":\"Specifies the relative function convergence criterion. Termination requires a small relative change of the function value in successive iterations\",\"type\":\"value\"},{\"name\":\"GCONV=\",\"optional\":true,\"aliases\":[\"GTOL=\"],\"description\":\"Specifies the relative gradient convergence criterion. For all techniques except CONGRA, termination requires the normalized predicted function reduction to be small. By default, r = 1E–8.\",\"type\":\"value\"},{\"name\":\"INMODEL=\",\"optional\":true,\"description\":\"Specifies an input data set that contains information about the analysis model. Instead of specifying and running the model in a new run, you can use the INMODEL= option to input the model specification saved as an OUTMODEL= data set in a previous PROC IRT run.\",\"help\":\"INMODEL=SCORE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"SCORE\",\"type\":\"standalone\"}]},{\"name\":\"ITEMFIT\",\"optional\":true,\"description\":\"Displays the item fit statistics. These item fit statistics apply only to binary items that have one latent factor.\",\"type\":\"standalone\"},{\"name\":\"ITEMSTAT=\",\"optional\":true,\"description\":\"Displays the classical item statistics, which include the item means, item-total correlations, adjusted item-total correlations, and item means for i ordered groups of observations or individuals. You can specify the following itemstat-options: NPARTITION=i specifies the number of groups, where i must be an integer between 2 and 5, inclusive. By default NPARTITION=4. TIES=HIGH | LOW | MEAN | DENSE specifies how to compute normal scores or ranks for tied data values.\",\"help\":\"ITEMSTAT=NPARTITION= | TIES=\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NPARTITION=\",\"type\":\"value\"},{\"name\":\"TIES=\",\"type\":\"value\"}]},{\"name\":\"LINK=\",\"optional\":true,\"description\":\"Specifies the link function. You can specify the following names: LOGIT requests the logistic link function. PROBIT requests the probit link function.\",\"help\":\"LINK=LOGIT | PROBIT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"LOGIT\",\"description\":\"Requests the logistic link function.\",\"type\":\"standalone\"},{\"name\":\"PROBIT\",\"description\":\"Requests the probit link function.\",\"type\":\"standalone\"}]},{\"name\":\"MAXFUNC=\",\"optional\":true,\"aliases\":[\"MAXFU=\"],\"description\":\"Specifies the maximum number of function calls in the optimization process. This option is not used by the EM algorithm. The default values are as follows, depending on which optimization technique is specified in the TECHNIQUE= option: •NRRIDG: 125 •QUANEW: 500 •CONGRA: 1000\",\"type\":\"value\"},{\"name\":\"MAXITER=\",\"optional\":true,\"aliases\":[\"MAXIT=\"],\"description\":\"Specifies the maximum number of iterations in the optimization process. The default values are as follows, depending on which optimization technique is specified in the TECHNIQUE= option:\",\"type\":\"value\"},{\"name\":\"MAXMITER=\",\"optional\":true,\"aliases\":[\"MAXMIT=\"],\"description\":\"Specifies the maximum number of iterations in the maximization step of the EM algorithm. By default, MAXMITER=1.\",\"type\":\"value\"},{\"name\":\"NFACTOR=\",\"optional\":true,\"aliases\":[\"NFACT=\"],\"description\":\"Specifies the number of factors, i, in the model. You must specify the number of factors only for exploratory analysis, in which all the slope parameters of the items are freely estimated without being explicitly constrained by using the FACTOR statement. By default, NFACTOR=1. When you use the FACTOR statement to specify the confirmatory factor pattern, the number of factors is implicitly defined by the number of distinctive factor names that you specify in the statement.\",\"type\":\"value\"},{\"name\":\"NOAD\",\"optional\":true,\"description\":\"Requests that the Gaussian quadrature be nonadaptive.\",\"type\":\"standalone\"},{\"name\":\"NOITPRINT\",\"optional\":true,\"description\":\"Suppresses the display of the \\\"Iteration History\\\" table.\",\"type\":\"standalone\"},{\"name\":\"NOPRINT\",\"optional\":true,\"description\":\"Suppresses all output displays.\",\"type\":\"standalone\"},{\"name\":\"OUT=\",\"optional\":true,\"description\":\"Creates an output data set that contains all the data in the DATA= data set plus estimated factor scores. For exploratory analysis, the factor scores are named _Factor1, _Factor2, and so on. For confirmatory analysis, user-specified factor names are used.\",\"help\":\"OUT=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"OUTMODEL=\",\"optional\":true,\"description\":\"Creates an output data set that contains the model specification, the parameter estimates, and their standard errors. You can use an OUTMODEL= data set as an input INMODEL= data set in a subsequent analysis by PROC IRT.\",\"help\":\"OUTMODEL=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"PINITIAL\",\"optional\":true,\"description\":\"Displays the initial parameter estimates.\",\"type\":\"standalone\"},{\"name\":\"PLOTS=\",\"optional\":true,\"description\":\"Controls the plots that are produced through ODS Graphics. When you specify only one plot-request, you can omit the parentheses around it. You can specify the following global-plot-options, which apply to all plots that the IRT procedure generates:\",\"help\":\"PLOTS=ALL | ICC | IIC | POLYCHORIC | SCREE | TIC | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ALL\",\"description\":\"Displays all default plots.\",\"type\":\"standalone\"},{\"name\":\"ICC\",\"description\":\"Syntax: ICC <(UNPACK |UNPACKPANEL), (XVIEWMAX=), (XVIEWMIN=)> Displays item characteristic curves (ICCs).\",\"type\":\"standalone\"},{\"name\":\"IIC\",\"description\":\"Syntax: IIC <(UNPACK |UNPACKPANEL), (XVIEWMAX=), (XVIEWMIN=)> Displays item information curves (IICs).\",\"type\":\"standalone\"},{\"name\":\"POLYCHORIC\",\"description\":\"Syntax: POLYCHORIC <options> | PLCORR <options> Displays a heat map of the polychoric correlation matrix. You can specify one or both of the following options: FUZZ=p displays polychoric correlations whose absolute values are less than p as 0 in the heat map. This option is useful when you want to focus on the patterns of sizable correlations that are larger than p in the heat map. By default, FUZZ=0. OUTLINE=ON | OFF specifies whether to display an outline of the regions in the polychoric correlation heat map.\",\"type\":\"standalone\"},{\"name\":\"SCREE\",\"description\":\"Syntax: SCREE <(UNPACK |UNPACKPANEL)> Displays the scree and variance-explained plots in the same panel. You can display these plots individually by specifying the UNPACK suboption.\",\"type\":\"standalone\"},{\"name\":\"TIC\",\"description\":\"Syntax: TIC <(XVIEWMAX=), (XVIEWMIN=)> Displays a test information curve (TIC) plot.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"Suppresses all plots.\",\"type\":\"standalone\"}]},{\"name\":\"POLYCHORIC\",\"optional\":true,\"description\":\"Displays the polychoric correlation matrix.\",\"type\":\"standalone\"},{\"name\":\"QPOINTS=\",\"optional\":true,\"description\":\"Specifies the number of quadrature points in each dimension of the integral.\",\"help\":\"QPOINTS=*i*\",\"type\":\"value\"},{\"name\":\"RCONVERGE=\",\"optional\":true,\"aliases\":[\"RCONV=\"],\"description\":\"Specifies the convergence criterion for rotation cycles. Rotation stops when the scaled change of the simplicity function value is less than the RCONVERGE= value.\",\"type\":\"value\"},{\"name\":\"RESFUNC=\",\"optional\":true,\"description\":\"Specifies the response functions for the variables that are included in the VAR statement. The response functions correspond to different response models.\",\"help\":\"RESFUNC=ONEP | TWOP | THREEP | FOURP | GRADED | RASCH\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ONEP\",\"description\":\"Specifies the one-parameter model.\",\"type\":\"standalone\"},{\"name\":\"TWOP\",\"description\":\"Specifies the two-parameter model.\",\"type\":\"standalone\"},{\"name\":\"THREEP\",\"description\":\"Specifies the three-parameter model.\",\"type\":\"standalone\"},{\"name\":\"FOURP\",\"description\":\"Specifies the four-parameter model.\",\"type\":\"standalone\"},{\"name\":\"GRADED\",\"description\":\"Specifies the graded response model.\",\"type\":\"standalone\"},{\"name\":\"RASCH\",\"description\":\"Specifies the Rasch model.\",\"type\":\"standalone\"}]},{\"name\":\"RITER=\",\"optional\":true,\"description\":\"Specifies the maximum number of cycles for factor rotation. The default value is the maximum between 10 times the number of variables and 100.\",\"help\":\"RITER=*n*\",\"type\":\"value\"},{\"name\":\"RORDER=\",\"optional\":true,\"description\":\"Specifies the sort order for the levels of the response variable. This order determines which threshold parameter in the model corresponds to each level in the data.\",\"help\":\"RORDER=DATA | FORMATTED | FREQ | INTERNAL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DATA\",\"description\":\"Orders values according to their order of appearance in the input data set.\",\"type\":\"standalone\"},{\"name\":\"FORMATTED\",\"description\":\"Orders values by their external formatted value, except for numeric variables that have no explicit format, which are sorted by their unformatted (internal) value\",\"type\":\"standalone\"},{\"name\":\"FREQ\",\"description\":\"Orders values by descending frequency count; levels that contain the most observations come first in the order\",\"type\":\"standalone\"},{\"name\":\"INTERNAL\",\"description\":\"Orders values by their unformatted value.\",\"type\":\"standalone\"}]},{\"name\":\"ROTATE=\",\"optional\":true,\"aliases\":[\"R=\"],\"description\":\"Specifies the rotation method.\",\"help\":\"ROTATE=BIQUARTIMAX | EQUAMAX | ARSIMAX | QUARTIMAX | VARIMAX | BIQUARTIMIN  | COVARIMIN | OBBIQUARTIMAX | OBEQUAMAX | OBPARSIMAX | OBQUARTIMAX | OBVARIMAX | QUARTIMIN | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"BIQUARTIMAX\",\"description\":\"Specifies orthogonal biquartimax rotation.\",\"type\":\"standalone\"},{\"name\":\"EQUAMAX\",\"description\":\"Specifies orthogonal equamax rotation.\",\"type\":\"standalone\"},{\"name\":\"ARSIMAX\",\"description\":\"Specifies orthogonal parsimax rotation.\",\"type\":\"standalone\"},{\"name\":\"QUARTIMAX\",\"description\":\"Specifies orthogonal quartimax rotation.\",\"type\":\"standalone\"},{\"name\":\"VARIMAX\",\"description\":\"Specifies orthogonal varimax rotation.\",\"type\":\"standalone\"},{\"name\":\"BIQUARTIMIN\",\"description\":\"Specifies biquartimin rotation.\",\"help\":\"BIQUARTIMIN \",\"type\":\"standalone\"},{\"name\":\"COVARIMIN\",\"description\":\"Specifies covarimin rotation.\",\"type\":\"standalone\"},{\"name\":\"OBBIQUARTIMAX\",\"description\":\"Specifies oblique biquartimax rotation.\",\"type\":\"standalone\"},{\"name\":\"OBEQUAMAX\",\"description\":\"Specifies oblique equamax rotation.\",\"type\":\"standalone\"},{\"name\":\"OBPARSIMAX\",\"description\":\"Specifies oblique parsimax rotation.\",\"type\":\"standalone\"},{\"name\":\"OBQUARTIMAX\",\"description\":\"Specifies oblique quartimax rotation.\",\"type\":\"standalone\"},{\"name\":\"OBVARIMAX\",\"description\":\"Specifies oblique varimax rotation.\",\"type\":\"standalone\"},{\"name\":\"QUARTIMIN\",\"description\":\"Specifies quartimin rotation.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"Specifies that no rotation be performed, leaving the original orthogonal solution.\",\"type\":\"standalone\"}]},{\"name\":\"SCOREMETHOD=\",\"optional\":true,\"description\":\"Specifies the method of factor score estimation.\",\"help\":\"SCOREMETHOD=ML | EAP | MAP\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ML\",\"description\":\"Requests the maximum likelihood method.\",\"type\":\"standalone\"},{\"name\":\"EAP\",\"description\":\"Requests the expected a posteriori method.\",\"type\":\"standalone\"},{\"name\":\"MAP\",\"description\":\"Requests the maximum a posteriori method.\",\"type\":\"standalone\"}]},{\"name\":\"TECHNIQUE=\",\"optional\":true,\"aliases\":[\"TECH=\",\"OMETHOD=\"],\"description\":\"Specifies the optimization technique to obtain maximum likelihood estimates.\",\"help\":\"TECHNIQUE=CONGRA | EM | NRRIDG | QUANEW | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"CONGRA\",\"description\":\"Performs a conjugate-gradient optimization.\",\"type\":\"standalone\"},{\"name\":\"EM\",\"description\":\"Performs an EM optimization.\",\"type\":\"standalone\"},{\"name\":\"NRRIDG\",\"description\":\"Performs a Newton-Raphson optimization with ridging.\",\"type\":\"standalone\"},{\"name\":\"QUANEW\",\"description\":\"Performs a dual quasi-Newton optimization.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"Performs no optimization.\",\"type\":\"standalone\"}]}]},{\"name\":\"BY\",\"description\":\"You can specify a BY statement with PROC IRT to obtain separate analyses of observations in groups that are defined by the BY variables. When a BY statement appears, the procedure expects the input data set to be sorted in order of the BY variables. If you specify more than one BY statement, only the last one specified is used. If your input data set is not sorted in ascending order, use one of the following alternatives: • Sort the data by using the SORT procedure with a similar BY statement. • Specify the NOTSORTED or DESCENDING option in the BY statement for the BCHOICE procedure. The NOTSORTED option does not mean that the data are unsorted but rather that the data are arranged in groups (according to values of the BY variables) and that these groups are not necessarily in alphabetical or increasing numeric order. • Create an index on the BY variables by using the DATASETS procedure (in Base SAS software).\",\"help\":\"BY variables\"},{\"name\":\"COV\",\"description\":\"where assignment represents var-list < *var-list2 > < = parameter-spec> The COV statement defines the factor covariances in confirmatory models. In each assignment of the COV statement, you specify variables in the var-list and var-list2 lists, followed by the covariance parameter specification in the parameter-spec list. The last two specifications are optional. You can specify the following five types of the parameters for the covariances: • an unnamed free parameter • an initial value • a fixed value • a free parameter with a name provided • a free parameter with a name and initial value provided\",\"help\":\"COV assignment &lt;, assignment …&gt;\"},{\"name\":\"EQUALITY\",\"aliases\":[\"EQCON\"],\"description\":\"where equality-constraints is defined as variable-list < / constraint-options >. The EQUALITY statement provides a versatile way to specify various types of equality constraints on the parameters in the model. You can specify within-group or between-group equality constraints on specific sets of parameters for particular sets of variables or factors. In the variable-list, you specify the set of variables that are subject to the equality constraints on their respective parameters. You can either specify the names of the variables or use one of the support keywords (see list later in this section) for variable-list. In the constraint-options, you specify the types of parameters, the specific groups (in multiple-group analysis), and the specific factors (in multidimensional models) on which the equality constraints are imposed.\",\"help\":\"EQUALITY _ALLITEM_ _ALLONEP_ _ALL_ ...\",\"arguments\":[{\"name\":\"_ALLFOURPITEM_BUT_\",\"aliases\":[\"_ALLFOURP_BUT_\"],\"description\":\"Specifies all variables except the excluded-variables that are fitted by the four-parameter model in the analysis.\",\"type\":\"standalone\"},{\"name\":\"_ALLFOURP_\",\"aliases\":[\"_ALLFOURPITEM_\"],\"description\":\"Specifies all variables that are fitted by the four-parameter model in the analysis.\",\"type\":\"standalone\"},{\"name\":\"_ALLGPCITEM_BUT_\",\"aliases\":[\"_ALLGPC_BUT_\"],\"description\":\"Specifies all variables except the excluded-variables that are fitted by the generalized partial credit model in the analysis.\",\"type\":\"standalone\"},{\"name\":\"_ALLGPC_\",\"aliases\":[\"_ALLGPCITEM_\"],\"description\":\"Specifies all variables that are fitted by the generalized partial credit model in the analysis.\",\"type\":\"standalone\"},{\"name\":\"_ALLGRITEM_BUT_\",\"aliases\":[\"_ALLGR_BUT_\"],\"description\":\"Specifies all variables except the excluded-variables that are fitted by the graded response model in the analysis.\",\"type\":\"standalone\"},{\"name\":\"_ALLGR_\",\"aliases\":[\"_ALLGRITEM_\"],\"description\":\"Specifies all variables that are fitted by the graded response model in the analysis.\",\"type\":\"standalone\"},{\"name\":\"_ALLITEM_\",\"description\":\"Specifies all variables in the analysis.\",\"type\":\"standalone\"},{\"name\":\"_ALLITEM_BUT_\",\"description\":\"Specifies all variables except the excluded-variables in the analysis.\",\"type\":\"standalone\"},{\"name\":\"_ALLONEPITEM_BUT_\",\"aliases\":[\"_ALLONEP_BUT_\"],\"description\":\"Specifies all variables except the excluded-variables that are fitted by the one-parameter model in the analysis.\",\"type\":\"standalone\"},{\"name\":\"_ALLONEP_\",\"aliases\":[\"_ALLONEPITEM_\"],\"description\":\"Specifies all variables that are fitted by the one-parameter model in the analysis.\",\"type\":\"standalone\"},{\"name\":\"_ALLRASCHITEM_BUT_\",\"aliases\":[\"_ALLRASCH_BUT_\"],\"description\":\"Specifies all variables except the excluded-variables that are fitted by the Rasch model in the analysis.\",\"type\":\"standalone\"},{\"name\":\"_ALLRASCH_\",\"aliases\":[\"_ALLRASCHITEM_\"],\"description\":\"Specifies all variables that are fitted by the Rasch model in the analysis.\",\"type\":\"standalone\"},{\"name\":\"_ALLTHREEPITEM_BUT_\",\"aliases\":[\"_ALLTHREEP_BUT_\"],\"description\":\"Specifies all variables except the excluded-variables that are fitted by the three-parameter model in the analysis.\",\"type\":\"standalone\"},{\"name\":\"_ALLTHREEP_\",\"aliases\":[\"_ALLTHREEPITEM_\"],\"description\":\"Specifies all variables that are fitted by the three-parameter model in the analysis.\",\"type\":\"standalone\"},{\"name\":\"_ALLTWOPITEM_BUT_\",\"aliases\":[\"_ALLTWOP_BUT_\"],\"description\":\"Specifies all variables except the excluded-variables that are fitted by the two-parameter model in the analysis.\",\"type\":\"standalone\"},{\"name\":\"_ALLTWOP_\",\"aliases\":[\"_ALLTWOPITEM_\"],\"description\":\"Specifies all variables that are fitted by the two-parameter model in the analysis.\",\"type\":\"standalone\"},{\"name\":\"_ALL_\",\"description\":\"Specifies all variables and factors in the analysis. Equality constraints on parameters related to factors apply to multiple-group analysis only.\",\"type\":\"standalone\"},{\"name\":\"_ALL_BUT_\",\"description\":\"Specifies all variables and factors except the excluded-variables in the analysis.\",\"type\":\"standalone\"},{\"name\":\"BETWEEN_GP\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"BETWEEN\",\"BET\"],\"description\":\"Specifies that the equality constraints be applied across or between groups in the multiple-group analysis. Setting between-group constraints is the default when you fit multiple-group models. Hence, it is not necessary to use this option when you want to set equality constraints between all groups. When only a subset of groups is subject to the intended constraints, you can specify the groups in the group-list. This option has no effect if you have only one group in the analysis.\",\"type\":\"standalone\"},{\"name\":\"PARM\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the particular types of parameters that are subject to equality constraints. By default, all related parameters are subject to the constraints.\",\"help\":\"PARMCEILING|CEIL | GUESSING|GUESS | INTERCEPT  | SLOPE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"CEILING\",\"followsDelimiter\":\"/\",\"description\":\"Indicates that the ceiling parameters are constrained.\",\"help\":\"CEILING|CEIL\",\"type\":\"choice\"},{\"name\":\"GUESSING\",\"followsDelimiter\":\"/\",\"description\":\"Indicates that the guessing parameters are constrained.\",\"help\":\"GUESSING|GUESS\",\"type\":\"choice\"},{\"name\":\"INTERCEPT\",\"followsDelimiter\":\"/\",\"description\":\"Indicates that the intercept parameters are constrained.\",\"help\":\"INTERCEPT \",\"type\":\"standalone\"},{\"name\":\"SLOPE\",\"followsDelimiter\":\"/\",\"description\":\"Syntax: SLOPE < [ factor-list ]> | DISCRIMINATION <[ factor-list ]> Indicates that the slope or discrimination parameters are constrained. The optional factor-list indicates the set of factors to which the constrained slope parameters pertain. The use of factor-list is relevant only when you conduct a confirmatory analysis by specifying the factor pattern in the FACTOR statement.\",\"type\":\"standalone\"}]},{\"name\":\"WITHIN_GP\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"WITHIN\",\"WIT\"],\"description\":\"Specifies that the equality constraints be applied within groups in multiple-group analyses. Setting within-group constraints is the default when you fit a single-group model. Hence, this option is not necessary when you have only one group in the analysis. In multiple-group analyses, between-group constraints are set by default. When you specify this option, within-group constraints are set instead of between-group constraints. You can also specify the specific groups in the group-list that are subject to the within-group constraints. The default is to apply the equality constraints to all groups.\",\"type\":\"standalone\"}]},{\"name\":\"FACTOR\",\"description\":\"where each factor-variables-relation is defined as factor right-arrow var-list < = parameter-spec> where factor is a name that represents an intended factor; right-arrow is ===>, --->, ==>, -->, =>, ->, or >; var-list is a list of variables that have nonzero slopes associated with the factor; and parameter-spec represents the specifications of parameter name and values (fixed or initial). You use the FACTOR statement to specify the pattern of relationships between variables and factors in confirmatory models. You do not need to use the FACTOR statement if you are fitting an exploratory model. To complete the specification of a confirmatory model, you might need to use the VARIANCE and COV statements to specify the variance and covariance parameters in the model, as shown in the following syntax: FACTOR factor-variable-relation <, factor-variables-relation …>; VARIANCE variance-parameters; COV covariance-parameters;\",\"help\":\"FACTOR factor-variables-relation &lt;, factor-variables-relation …&gt;\"},{\"name\":\"FREQ\",\"description\":\"If one variable in your data set represents the frequency of occurrence for the other values in the observation, specify the variable’s name in a FREQ statement. PROC IRT then treats the data set as if each observation appears n times, where n is the value of the FREQ variable for observation i. Only the integer portion of the value is used. If the value of the FREQ variable is less than 1 or is missing, that observation is not included in the analysis. The total number of observations is considered to be the sum of the FREQ values.\",\"help\":\"FREQ variable\"},{\"name\":\"GROUP\",\"description\":\"The GROUP statement specifies the grouping variable that defines the groups of the observations. This statement is required if you intend to do a multiple-group analysis. The values of the grouping variable can be either integers or character strings. PROC IRT analyzes the input data set and determines the number of distinct groups in the data set by counting the number of distinct values in the grouping variable. Because there is no other explicit way to specify the number of groups or the grouping values, you must make sure that all (and only) the intended groups have been indexed properly by the grouping variable in the data set for a multiple-group analysis.\",\"help\":\"GROUP variable\"},{\"name\":\"MODEL\",\"description\":\"where model-specification is defined as variable-list < / model-option >. The MODEL statement specifies the items and their response functions or models. You can specify different response models for different items. In the variable-list, you specify the set of variables that use the same model.\",\"help\":\"MODEL &lt;RESFUNC &lt; = [ response-model-types ] &gt;&gt;\",\"arguments\":[{\"name\":\"RESFUNC\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the response function or model. Available response-model-types are:\",\"type\":\"standalone\"}]},{\"name\":\"VARIANCE\",\"description\":\"where assignment represents var-list < =parameter-spec>. The VARIANCE statement specifies the factor variance parameters in connection with the FACTOR statement. Notice that the VARIANCE statement is different from the VAR statement, which specifies variables for analysis. You can list factors only in the var-list of the VARIANCE statement. In each assignment of the VARIANCE statement, you include the var-list whose variances you want to specify. Optionally, you can provide a list of parameter specifications (parameter-spec) after an equal sign for each var-list. You can specify the following five types of the parameters for the variances of the latent factor in the VARIANCE statement: • an unnamed free parameter • an initial value • a fixed value • a free parameter with a name provided • a free parameter with a name and initial value provided\",\"help\":\"VARIANCE assignment &lt;, assignment …&gt;\"},{\"name\":\"VAR\",\"aliases\":[\"VARIABLE\"],\"description\":\"The VAR statement lists the analysis variables or items in the model. If you do a multiple-group analysis, the same set of analysis variables is assumed for all groups. By default, all variables that you specify in the VAR statement are fitted by the graded response model, which assumes that the analysis variables are ordinal and have 2 to 19 levels.\",\"help\":\"VAR | VARIABLE variables\"},{\"name\":\"WEIGHT\",\"description\":\"The WEIGHT statement specifies the weight variable for the observations. The WEIGHT and FREQ statements have a similar effect, except that the WEIGHT statement does not alter the number of observations. An observation is used in the analysis only if the WEIGHT variable is greater than 0 and is not missing.\",\"help\":\"WEIGHT variable\"}],\"supportSiteInformation\":{\"docsetId\":\"statug\",\"docsetVersion\":\"latest\",\"docsetTargetFile\":\"statug_irt_toc.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/JAVAINFO.json",
    "content": "{\"name\":\"JAVAINFO\",\"statements\":[{\"name\":\"PROC JAVAINFO\",\"description\":\"Displays diagnostic information about the SAS Java environment.\",\"help\":\"PROC JAVAINFO &lt;*options*&gt;;\",\"arguments\":[{\"name\":\"ALL\",\"optional\":true,\"description\":\"lists current information about the SAS Java environment.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1sbcdqv9tk27tn1sowbz4swsfs2\"},{\"name\":\"CLASSPATHS\",\"optional\":true,\"description\":\"lists information about the classpaths that Java is using.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1skd39l0l25mpn0zdwoyzeww7tb\"},{\"name\":\"HELP\",\"optional\":true,\"description\":\"provides usage assistance in using the JAVAINFO procedure.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1w4xztcpoo4syn1c84hfge8gawn\"},{\"name\":\"JREOPTIONS\",\"optional\":true,\"description\":\"lists the Java properties that are set when the JREOPTIONS configuration option is specified.\\n• When used in PROC JAVAINFO, JREOPTIONS specifies the JREOPTIONS Java properties that are set when Java is started.\\n• When used in PROC OPTIONS, JREOPTIONS specifies the Java options that are in the configuration file when SAS is started.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0gz2hj285mox4n1s8fb8s1ap63j\"},{\"name\":\"OS\",\"optional\":true,\"description\":\"lists information about the operating system that SAS is running under.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1852mbxmv3a9cn1h3p7och9ufkj\"},{\"name\":\"version\",\"optional\":true,\"description\":\"lists the Java Runtime Environment (JRE) that SAS is using.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0emra25xen731n141ujj33in2yp\"}],\"supportSiteTargetFile\":\"n0ip2xay8coflrn1g6iy7u376k9w.htm\"}],\"supportSiteInformation\":{\"docsetId\":\"proc\",\"docsetVersion\":\"v_002\",\"docsetTargetFile\":\"p0vct8p2qp94nfn15kpp662lbg0t.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/JSON.json",
    "content": "{\"name\":\"JSON\",\"statements\":[{\"name\":\"PROC JSON\",\"description\":\"Specifies the JSON output file and controls the resulting output.\",\"help\":\"PROC JSON OUT=fileref | \\n                    \\\"external-file\\\"\\n                <options>;\\n\\tEXPORT <libref.>SAS-data-set<(SAS-data-set-options                             )></options\\n                        > ;\\n\\n\\tWRITE VALUES value(s)</options\\n                        > ;\\n\\n\\tWRITE OPEN type ;\\n\\n\\tWRITE CLOSE                      ;\\n\",\"arguments\":[{\"name\":\"OUT=\",\"description\":\"identifies the JSON output file.\",\"help\":\"OUT=*fileref* | \\\"*external-file*\\\"\",\"type\":\"choice\",\"arguments\":[{\"name\":\"fileref\",\"placeholder\":true,\"description\":\"specifies the SAS fileref that is assigned to the JSON output file. To assign a fileref, use the FILENAME statement.\",\"type\":\"value\"},{\"name\":\"\\\"external-file\\\"\",\"placeholder\":true,\"description\":\"is the physical location of the JSON output file. Include the complete pathname and the filename. Enclose the physical name in single or double quotation marks. The maximum length is 200 characters.\",\"type\":\"value\"}]},{\"name\":\"FMTCHARACTER\",\"optional\":true,\"aliases\":[\"FMTCHAR\"],\"description\":\"applies a character SAS format to the resulting output if a character SAS format is associated with a SAS data set variable.\",\"type\":\"standalone\"},{\"name\":\"FMTDATETIME\",\"optional\":true,\"aliases\":[\"FMTDT\"],\"description\":\"applies a date, time, or datetime SAS format to the resulting output if a date, time, or datetime SAS format is associated with a SAS data set variable.\",\"type\":\"standalone\"},{\"name\":\"FMTNUMERIC\",\"optional\":true,\"aliases\":[\"FMTNUM\"],\"description\":\"determines whether to apply a numeric SAS format to the resulting output if a numeric SAS format is associated with a SAS data set variable.\",\"type\":\"standalone\"},{\"name\":\"KEYS\",\"optional\":true,\"description\":\"determines whether exported observations are written as JSON objects or as JSON arrays.\",\"type\":\"standalone\"},{\"name\":\"NOFMTCHARACTER\",\"optional\":true,\"aliases\":[\"NOFMTCHAR\"],\"description\":\"does not apply a character SAS format to the resulting output if a character SAS format is associated with a SAS data set variable.\",\"type\":\"standalone\"},{\"name\":\"NOFMTDATETIME\",\"optional\":true,\"aliases\":[\"NOFMTDT\"],\"description\":\"does not apply a date, time, or datetime SAS format to the resulting output if a date, time, or datetime SAS format is associated with a SAS data set variable.\",\"type\":\"standalone\"},{\"name\":\"NOFMTNUMERIC\",\"optional\":true,\"aliases\":[\"NOFMTNUM\"],\"description\":\"does not apply a numeric SAS format to the resulting output if a numeric SAS format is associated with a SAS data set variable.\",\"type\":\"standalone\"},{\"name\":\"NOKEYS\",\"optional\":true,\"description\":\"determines whether exported observations are written as JSON objects or as JSON arrays.\",\"type\":\"standalone\"},{\"name\":\"NOPRETTY\",\"optional\":true,\"description\":\"determines how to format the JSON output.\",\"type\":\"standalone\"},{\"name\":\"NOSASTAGS\",\"optional\":true,\"description\":\"suppresses SAS metadata when using the EXPORT statement.\",\"type\":\"standalone\"},{\"name\":\"NOSCAN\",\"optional\":true,\"description\":\"determines whether PROC JSON scans and encodes input strings to ensure that only characters that are acceptable are exported to the JSON output file.\",\"type\":\"standalone\"},{\"name\":\"NOTRIMBLANKS\",\"optional\":true,\"description\":\"determines whether to remove or retain trailing blanks from the end of character data in the JSON output.\",\"type\":\"standalone\"},{\"name\":\"PRETTY\",\"optional\":true,\"description\":\"determines how to format the JSON output.\",\"type\":\"standalone\"},{\"name\":\"SASTAGS\",\"optional\":true,\"description\":\"includes SAS metadata when using the EXPORT statement.\",\"type\":\"standalone\"},{\"name\":\"SCAN\",\"optional\":true,\"description\":\"determines whether PROC JSON scans and encodes input strings to ensure that only characters that are acceptable are exported to the JSON output file.\",\"type\":\"standalone\"},{\"name\":\"TRIMBLANKS\",\"optional\":true,\"description\":\"determines whether to remove or retain trailing blanks from the end of character data in the JSON output.\",\"type\":\"standalone\"}]},{\"name\":\"EXPORT\",\"aliases\":[\"EX\"],\"description\":\"Identifies the SAS data set to be exported and controls the resulting output.\",\"help\":\"EXPORT <libref.>\\n                            SAS-data-set\\n                        <(SAS-data-set-options)></options>;\",\"arguments\":[{\"name\":\"libref\",\"placeholder\":true,\"description\":\"identifies the SAS data set to be exported with either a one- or two-level SAS name (library and member name). If you specify a one-level name, by default, the JSON procedure uses either the User library (if assigned) or the Work library.\",\"help\":\"&lt;*libref*                                     .&gt;*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"(SAS-data-set-options)\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies SAS data set options that apply to the input SAS data set.\",\"type\":\"dataSet\"},{\"name\":\"FMTCHARACTER\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"FMTCHAR\"],\"description\":\"applies a character SAS format to the resulting output if a character SAS format is associated with a SAS data set variable.\",\"type\":\"standalone\"},{\"name\":\"FMTDATETIME\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"FMTDT\"],\"description\":\"applies a date, time, or datetime SAS format to the resulting output if a date, time, or datetime SAS format is associated with a SAS data set variable.\",\"type\":\"standalone\"},{\"name\":\"FMTNUMERIC\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"FMTNUM\"],\"description\":\"applies a numeric SAS format to the resulting output if a numeric SAS format is associated with a SAS data set variable.\",\"type\":\"standalone\"},{\"name\":\"KEYS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"determines whether exported observations are written as JSON objects or as JSON arrays.\",\"type\":\"standalone\"},{\"name\":\"NOFMTCHARACTER\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"NOFMTCHAR\"],\"description\":\"does not apply a character SAS format to the resulting output if a character SAS format is associated with a SAS data set variable.\",\"type\":\"standalone\"},{\"name\":\"NOFMTDATETIME\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"NOFMTDT\"],\"description\":\"does not apply a date, time, or datetime SAS format to the resulting output if a date, time, or datetime SAS format is associated with a SAS data set variable.\",\"type\":\"standalone\"},{\"name\":\"NOFMTNUMERIC\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"NOFMTNUM\"],\"description\":\"does not apply a numeric SAS format to the resulting output if a numeric SAS format is associated with a SAS data set variable.\",\"type\":\"standalone\"},{\"name\":\"NOKEYS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"determines whether exported observations are written as JSON objects or as JSON arrays.\",\"type\":\"standalone\"},{\"name\":\"NOSASTAGS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses SAS metadata when using the EXPORT statement.\",\"type\":\"standalone\"},{\"name\":\"NOSCAN\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"indicates that the input string is known to contain acceptable JSON text or has already been scanned. When NOSCAN is in effect, the input string or character value is taken as is, and the output JSON string is enclosed in quotation marks.\",\"type\":\"standalone\"},{\"name\":\"NOTRIMBLANKS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"retains trailing blanks from the end of character data in the JSON output.\",\"type\":\"standalone\"},{\"name\":\"SASTAGS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"includes SAS metadata when using the EXPORT statement.\",\"type\":\"standalone\"},{\"name\":\"SCAN\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"PROC JSON scans and encodes input strings to ensure that only characters that are acceptable are exported to the JSON output.\",\"type\":\"standalone\"},{\"name\":\"TABLENAME=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a name for the exported SAS data set.\",\"help\":\"TABLENAME=\\\"*name*\\\"\",\"type\":\"value\"},{\"name\":\"TRIMBLANKS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"removes trailing blanks from the end of character data in the JSON output.\",\"type\":\"standalone\"}]},{\"name\":\"WRITE VALUES\",\"aliases\":[\"W V\"],\"description\":\"Writes one or more values to the JSON output file.\",\"help\":\"WRITE VALUES value(s)\\n                        </options>;\",\"arguments\":[{\"name\":\"value\",\"placeholder\":true,\"description\":\"specifies one or more values to write to the JSON output file. Separate values with a blank space.\",\"help\":\"*value(s)*\",\"type\":\"value\"},{\"name\":\"SCAN\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"determines whether PROC JSON scans and encodes input strings to ensure that only characters that are acceptable are exported to the JSON output.\",\"type\":\"standalone\"},{\"name\":\"NOSCAN\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"determines whether PROC JSON scans and encodes input strings to ensure that only characters that are acceptable are exported to the JSON output.\",\"type\":\"standalone\"},{\"name\":\"TRIMBLANKS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"determines whether to remove or retain trailing blanks from the end of character data in the JSON output.\",\"type\":\"standalone\"},{\"name\":\"NOTRIMBLANKS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"determines whether to remove or retain trailing blanks from the end of character data in the JSON output.\",\"type\":\"standalone\"}]},{\"name\":\"WRITE OPEN\",\"aliases\":[\"W O\"],\"description\":\"Opens and nests a JSON container in the output file.\",\"help\":\"WRITE OPEN *type*;\",\"arguments\":[{\"name\":\"ARRAY\",\"aliases\":[\"A\"],\"description\":\"specifies that the JSON container is an array, which collects a list of values.\",\"type\":\"standalone\"},{\"name\":\"OBJECT\",\"aliases\":[\"O\"],\"description\":\"specifies that the JSON container is an object, which collects key-value pairs.\",\"type\":\"standalone\"}]},{\"name\":\"WRITE CLOSE\",\"aliases\":[\"W C\"],\"description\":\"Closes a JSON container that is open in the JSON output file.\",\"help\":\"\\n\\tWRITE CLOSE  ;\\n\"}],\"supportSiteInformation\":{\"docsetId\":\"proc\",\"docsetVersion\":\"v_002\",\"docsetTargetFile\":\"p0ie4bw6967jg6n1iu629d40f0by.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/KCLUS.json",
    "content": "{\"name\":\"KCLUS\",\"statements\":[{\"name\":\"PROC KCLUS\",\"description\":\"The KCLUS procedure performs clustering (a common step in data exploration) in SAS Viya. You can use the KCLUS procedure to read and write data in distributed form, and to perform clustering and scoring in parallel by making full use of multicore computers or distributed computing environments. † The KCLUS procedure performs a cluster analysis on the basis of distances that are computed from one or more quantitative variables. The observations are divided into clusters such that every observation belongs to one and only one cluster. † The KCLUS procedure uses the k-means algorithm for clustering interval input variables, uses the k-modes algorithm for clustering nominal input variables, and uses k-prototypes algorithm for clustering mixed input that contains both interval and nominal variables.\",\"help\":\"PROC KCLUS <DATA=CAS-libref.data-table><DISTANCE=EUCLIDEAN | MANHATTAN><DISTANCENOM=BINARY | GLOBALFREQ | RELATIVEFREQ><IMPUTE=MEAN | NONE><IMPUTENOM=MEAN | NONE><INIT=FORGY | RAND><MAXCLUSTERS=number><MAXITER=number><NOC=NONE | ABC><NTHREADS=number-of-threads><OUTSTAT < (OUTITER) >=CAS-libref.data-table><SEED=number><STANDARDIZE=NONE | RANGE | STD><STOPCRITERION=CLUSTER_CHANGE | WCSS_CHANGE>;           \\n\\tCODE <FILE=filename><LABELID=number> ;\\n\\n\\tDISPLAY <CASESENSITIVE><EXCLUDE><EXCLUDEALL> ...;\\n\\n\\tDISPLAYOUT <NOREPLACE><REPEATED> ;\\n\\n\\tFREQ variable ;\\n\\n\\tINPUT           <LEVEL=<NOMINAL | INTERVAL>>           ;\\n\\n\\tSCORE <COPYVAR=variable | COPYVARS=(variables)><OUT=CAS-libref.data-table> ;\\n\",\"arguments\":[{\"name\":\"DATA=\",\"optional\":true,\"description\":\"Names the input data table for PROC KCLUS to use. CAS-libref.data-table is a two-level name, where\",\"help\":\"DATA=*CAS-libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"DISTANCE=\",\"optional\":true,\"description\":\"Specifies the distance measure for similarity that is used for interval input variables.\",\"help\":\"DISTANCE=EUCLIDEAN | MANHATTAN\",\"type\":\"choice\",\"arguments\":[{\"name\":\"EUCLIDEAN\",\"description\":\"Calculates the Euclidean distance.\",\"type\":\"standalone\"},{\"name\":\"MANHATTAN\",\"description\":\"Calculates the Manhattan distance.\",\"type\":\"standalone\"}]},{\"name\":\"DISTANCENOM=\",\"optional\":true,\"description\":\"Specifies the distance measure for similarity that is used for nominal input variables.\",\"help\":\"DISTANCENOM=BINARY | GLOBALFREQ | RELATIVEFREQ\",\"type\":\"choice\",\"arguments\":[{\"name\":\"BINARY\",\"description\":\"Calculates a simple matching distance.\",\"type\":\"standalone\"},{\"name\":\"GLOBALFREQ\",\"description\":\"Calculates distance based on the frequency of levels of nominal input variables in the input data set.\",\"type\":\"standalone\"},{\"name\":\"RELATIVEFREQ\",\"description\":\"Calculates distance based on the frequency of levels of nominal input variables in each cluster.\",\"type\":\"standalone\"}]},{\"name\":\"IMPUTE=\",\"optional\":true,\"description\":\"Specifies the imputation method to be used when the INPUT statement specifies numeric interval variables. You can choose from the following methods:\",\"help\":\"IMPUTE=MEAN | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"MEAN\",\"description\":\"Imputes missing values of variables in observations by using the mean value for that variable.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"Does not do any imputation and excludes observations that have any missing values.\",\"type\":\"standalone\"}]},{\"name\":\"IMPUTENOM=\",\"optional\":true,\"description\":\"Specifies the imputation method to be used when the INPUT statement specifies nominal variables. You can choose from the following methods: MODE imputes missing values of variables in observations by using the mode value for that variable. NONE does not do any imputation and excludes observations that have any missing values. If IMPUTENOM=NONE and the number of observations that have nonmissing values is less than the value of the MAXCLUSTERS= option, then the number of clusters is set to the number of observations that have nonmissing values.\",\"help\":\"IMPUTENOM=MEAN | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"MEAN\",\"description\":\"Imputes missing values of variables in observations by using the mean value for that variable.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"Does not do any imputation and excludes observations that have any missing values.\",\"type\":\"standalone\"}]},{\"name\":\"INIT=\",\"optional\":true,\"description\":\"Specifies the method for obtaining the initial estimate of cluster centers.\",\"help\":\"INIT=FORGY | RAND\",\"type\":\"choice\",\"arguments\":[{\"name\":\"FORGY\",\"description\":\"Selects the initial cluster centers randomly from observations.\",\"type\":\"standalone\"},{\"name\":\"RAND\",\"description\":\"Assigns all observations randomly to one of the clusters.\",\"type\":\"standalone\"}]},{\"name\":\"MAXCLUSTERS=\",\"optional\":true,\"description\":\"Specifies either the number of clusters to be used (if the NOC= option is not specified or NOC=NONE) or the maximum number of clusters to be searched (if NOC=ABC).\",\"help\":\"MAXCLUSTERS=*number*\",\"type\":\"value\"},{\"name\":\"MAXITER=\",\"optional\":true,\"description\":\"Specifies the maximum number of iterations for the algorithm to perform. In each iteration of the k-means or k-modes clustering method, each observation is assigned to the nearest cluster centroid, and the centroids are recomputed.\",\"help\":\"MAXITER=*number*\",\"type\":\"value\"},{\"name\":\"NOC=\",\"optional\":true,\"description\":\"Specifies the method to use for estimating the number of clusters.\",\"help\":\"NOC=NONE | ABC\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NONE\",\"description\":\"Does not estimate the number of clusters and uses the value specified in MAXCLUSTERS= option.\",\"type\":\"standalone\"},{\"name\":\"ABC\",\"description\":\"Estimates number of clusters by using the aligned box criterion (ABC) method. You can specify one or more of the following suboptions: ALIGN=keyword specifies the method for aligning the reference data set based on the input data. You can specify the following values: NONE generates the reference data set from a uniform distribution over the range of values for each subset of the input data set. PCA generates the reference data set from a uniform distribution over a box that is aligned with the principal components of each subset of the input data set. By default, ALIGN=NONE. B=number specifies the number of reference data sets to be created for each cluster candidate. By default, B=1. CRITERION=keyword specifies the criterion to use to estimate the number of clusters that use the statistics obtained in the ABC method. You can specify the following values: ALL uses all the following options. FIRSTMAXWITHSTD uses the smallest k such that the gap value for that k is greater than the onestandard-error adjusted gap value for k+1. ALL uses all the preceding options and selects the number of clusters based on which one is chosen the most often. If each option selects a different number, then the number selected by GLOBALPEAK is used. By default, CRITERION=GLOBALPEAK. FIRSTPEAK uses the first peak value among the peak values in gap statistics. GLOBALPEAK uses the peak value that has the maximum value among all the peak values in gap statistics. MINCLUSTERS=number specifies the minimum number of clusters for searching for the best number of clusters. By default, MINCLUSTERS=2.\",\"type\":\"standalone\"}]},{\"name\":\"NTHREADS=\",\"optional\":true,\"description\":\"Specifies the number of threads that are used in the computation. The default value is the number of CPUs available in the machine.\",\"help\":\"NTHREADS=*number-of-threads*\",\"type\":\"value\"},{\"name\":\"OUTSTAT=\",\"optional\":true,\"description\":\"creates the output data table that contains the cluster centroids for each cluster. CAS-libref.data-table is a two-level name, where CAS-libref refers to the caslib and session identifier, and data-table specifies the name of the output data table. You can also specify the following suboption:\",\"help\":\"OUTSTAT=OUTITER\",\"type\":\"choice\",\"arguments\":[{\"name\":\"OUTITER\",\"type\":\"standalone\"}]},{\"name\":\"SEED=\",\"optional\":true,\"description\":\"Specifies an integer to be used to start the pseudorandom number generator for random partitioning of data for training, testing, and validation. If you do not specify a seed or if you specify a value less than or equal to 0, the seed is generated from reading the time of day from the computer’s clock.\",\"help\":\"SEED=*number*\",\"type\":\"value\"},{\"name\":\"STANDARDIZE=\",\"optional\":true,\"description\":\"Specifies the method for standardizing the interval input variables. PROC KCLUS uses the location and scale measures specific to the method. You can specify the following values:\",\"help\":\"STANDARDIZE=NONE | RANGE | STD\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NONE\",\"description\":\"Does not standardize and uses the actual values for the input variables.\",\"type\":\"standalone\"},{\"name\":\"RANGE\",\"description\":\"Standardizes the input variables by using the range method. PROC KCLUS uses the minimum as the location and the range as the scale.\",\"type\":\"standalone\"},{\"name\":\"STD\",\"description\":\"Standardizes the input variables by using the traditional standardization method.\",\"type\":\"standalone\"}]},{\"name\":\"STOPCRITERION=\",\"optional\":true,\"description\":\"Specifies the method to use for convergence. If you do not specify the STOPCRITERION= option, the algorithm stops after it reaches the maximum number of iterations (which is specified in MAXITER= option).\",\"help\":\"STOPCRITERION=CLUSTER_CHANGE | WCSS_CHANGE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"CLUSTER_CHANGE\",\"description\":\"Syntax: CLUSTER_CHANGE(< VALUE=number >) Uses the percentile of observations that do not change their cluster membership for that iteration. The optional VALUE= suboption enables you to specify the percentile of observations. By default or if VALUE=0, PROC KCLUS runs until the cluster centroids no longer change.\",\"type\":\"standalone\"},{\"name\":\"WCSS_CHANGE\",\"description\":\"Syntax: WCSS_CHANGE(< VALUE=number >) Uses the within-cluster distance change as a convergence criterion. The optional VALUE= suboption enables you to specify the change in SSE for the k-means algorithm or the sum of within-cluster distance for the k-modes algorithm.\",\"type\":\"standalone\"}]}]},{\"name\":\"CODE\",\"description\":\"The CODE statement generates the SAS DATA step code that mimics the computations that are done by the SCORE statement.\",\"help\":\"CODE &lt;FILE=filename&gt;&lt;LABELID=number&gt;\",\"arguments\":[{\"name\":\"FILE=\",\"optional\":true,\"description\":\"Specifies the filename of the file to write the SAS score code to.\",\"help\":\"FILE=*filename*\",\"type\":\"value\"},{\"name\":\"LABELID=\",\"optional\":true,\"description\":\"Specifies a number used to construct array names and statement labels in the generated code. You can specify a value in the range 0 to 1024; by default, LABELID=0.\",\"help\":\"LABELID=*number*\",\"type\":\"value\"}]},{\"name\":\"DISPLAY\",\"description\":\"The DISPLAY statement enables you to specify a list of ODS tables to display or exclude. This statement is similar to the ODS SELECT, ODS EXCLUDE, and ODS TRACE statements. However, the DISPLAY statement can improve performance when a large number of tables could be generated (such as in BY-group processing). The procedure processes the DISPLAY statement on a CAS server and thus sends only a subset of ODS tables to the SAS client. Because ODS statements are processed on a SAS client, all ODS tables are sent to the client and then the client creates a subset. If both DISPLAY and ODS statements are used together, the DISPLAY statement takes precedence over the ODS statements.\",\"help\":\"DISPLAY &lt;CASESENSITIVE&gt;&lt;EXCLUDE&gt;&lt;EXCLUDEALL&gt; ...\",\"arguments\":[{\"name\":\"CASESENSITIVE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Performs a case-sensitive comparison of table names in the table-list to ODS table names when tables are subsetted for display. To preserve case, you must enclose table names in the table-list in quotation marks.\",\"type\":\"standalone\"},{\"name\":\"EXCLUDE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays all ODS tables except those specified in the table-list.\",\"type\":\"standalone\"},{\"name\":\"EXCLUDEALL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Suppresses display of all tables. This option takes precedence over the other options.\",\"type\":\"standalone\"},{\"name\":\"TRACE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays the ODS table names, labels, and paths.\",\"type\":\"standalone\"}]},{\"name\":\"DISPLAYOUT\",\"description\":\"The DISPLAYOUT statement enables you to create CAS output tables from your displayed output. This statement is similar to the ODS OUTPUT statement. The table-spec-list specifies a list of CAS output tables to create. Each entry in the list has either a key or a key=value format: key=value specifies key as the ODS table name, path, or partial pathname, and specifies value as the CAS output table name. key specifies key as the ODS table name and also as the CAS output table name. Table names and partial pathnames are discussed under the DISPLAY statement. The DISPLAYOUT statement does not support regular expressions.\",\"help\":\"DISPLAYOUT &lt;NOREPLACE&gt;&lt;REPEATED&gt;\",\"arguments\":[{\"name\":\"NOREPLACE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Does not replace an existing CAS output table of the same name.\",\"type\":\"standalone\"},{\"name\":\"REPEATED\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Replicates the CAS output tables on all nodes.\",\"type\":\"standalone\"}]},{\"name\":\"FREQ\",\"description\":\"The variable in the FREQ statement identifies a numeric variable in the data set that contains the frequency of occurrence of each observation. PROC KCLUS treats each observation as if it appears f times, where f is the value of the FREQ variable for the observation. If f is not an integer, it is truncated to an integer. If f is less than 1 or missing, the observation is not used in the analysis. When the FREQ statement is not specified, each observation is assigned a frequency of 1.\",\"help\":\"FREQ variable \"},{\"name\":\"INPUT\",\"description\":\"The INPUT statement specifies the names of the variables to be used in clustering. It names one or more input variables that use common options. If you want to use different options for different variables, you can specify multiple INPUT statements.\",\"help\":\"INPUT             &lt;LEVEL=&lt;NOMINAL | INTERVAL&gt;&gt;\",\"arguments\":[{\"name\":\"LEVEL=\",\"optional\":true,\"description\":\"Specifies the level of measurement of the variables. For clustering, only interval, binary, and nominal variables are accepted.\",\"help\":\"LEVEL=NOMINAL | INTERVAL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NOMINAL\",\"description\":\"Specifies a nominal level of measurement.\",\"type\":\"standalone\"},{\"name\":\"INTERVAL\",\"description\":\"Specifies an interval level of measurement.\",\"type\":\"standalone\"}]}]},{\"name\":\"SCORE\",\"aliases\":[\"OUTPUT\"],\"description\":\"The SCORE statement causes the KCLUS procedure to write the cluster membership information of each observation to the output data table. This information includes the variables that are specified in the COPYVARS= option and two new variables, _CLUSTER_ID_ (the ID of the closest cluster) and _DISTANCE_ (the distance between the observation and the centroid of that cluster). If you specify STANDARDIZE=RANGE or STANDARDIZE=STD in the PROC KCLUS statement, then PROC KCLUS adds another column called _STANDARDIZED_DISTANCE_, which contains the distance between the standardized values of the observation and the standardized values of cluster centroid.\",\"help\":\"SCORE &lt;COPYVAR=variable | COPYVARS=(variables)&gt;&lt;OUT=CAS-libref.data-table&gt;\",\"arguments\":[{\"name\":\"COPYVAR=\",\"optional\":true,\"aliases\":[\"COPYVARS=\"],\"description\":\"Lists one or more variables from the input data table that are transferred to the scored output data table, provided that the output data table produces one or more records per input observation. By default, the KCLUS procedure does not transfer any variables from the input data table to the output data table. The COPYVARS= option accepts numeric and character variables.\",\"type\":\"value\"},{\"name\":\"OUT=\",\"optional\":true,\"description\":\"names the output data table for PROC KCLUS to use. CAS-libref.data-table is a two-level name, where CAS-libref refers to a collection of information that is defined in the LIBNAME statement and includes the caslib, which includes a path to where the data table is to be stored, and a session identifier, which defaults to the active session but which can be explicitly defined in the LIBNAME statement.\",\"help\":\"OUT=*CAS-libref.data-table*\",\"type\":\"dataSet\"}]}],\"supportSiteInformation\":{\"docsetId\":\"casstat\",\"docsetVersion\":\"latest\",\"docsetTargetFile\":\"casstat_kclus_toc.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/KDE.json",
    "content": "{\"name\":\"KDE\",\"statements\":[{\"name\":\"PROC KDE\",\"description\":\"The KDE procedure performs univariate and bivariate kernel density estimation. Statistical density estimation involves approximating a hypothesized probability density function from observed data. Kernel density estimation is a nonparametric technique for density estimation in which a known density function (the kernel) is averaged across the observed data points to create a smooth approximation. PROC KDE uses a Gaussian density as the kernel, and its assumed variance determines the smoothness of the resulting estimate. Refer to Silverman (1986) for a thorough review and discussion. † You can use PROC KDE to compute a variety of common statistics, including estimates of the percentiles of the hypothesized probability density function. You can produce a variety of plots, including univariate and bivariate histograms, plots of the kernel density estimates, and contour plots. You can also save kernel density estimates into SAS data sets.\",\"help\":\"PROC KDE <DATA=SAS-data-set>;     \\n\\tBIVAR <BIVSTATS><BWM=number><GRIDL=number> ...;\\n\\n\\tBY <DESCENDING><NOTSORTED> ;\\n\\n\\tFREQ variable;\\n\\n\\tUNIVAR <BWM=number><GRIDL=number><GRIDU=number> ...;\\n\\n\\tVAR;\\n\\n\\tWEIGHT variable;\\n\",\"arguments\":[{\"name\":\"DATA=\",\"optional\":true,\"description\":\"Specifies the input SAS data set to be used by PROC KDE. The default is the most recently created data set.\",\"help\":\"DATA=*SAS-data-set*\",\"type\":\"dataSet\"}]},{\"name\":\"BIVAR\",\"description\":\"The BIVAR statement computes bivariate kernel density estimates.\",\"help\":\"BIVAR &lt;BIVSTATS&gt;&lt;BWM=number&gt;&lt;GRIDL=number&gt; ...\",\"arguments\":[{\"name\":\"BIVSTATS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Produces a table for each density estimate containing the covariance and correlation between the two variables.\",\"type\":\"standalone\"},{\"name\":\"BWM=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the bandwidth multiplier applied to each variable in each kernel density estimate. The default value is 1.\",\"help\":\"BWM=*number*\",\"type\":\"value\"},{\"name\":\"GRIDL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the lower grid limit applied to each variable in each kernel density estimate.\",\"help\":\"GRIDL=*number*\",\"type\":\"value\"},{\"name\":\"GRIDU=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the upper grid limit applied to each variable in each kernel density estimate.\",\"help\":\"GRIDU=*number*\",\"type\":\"value\"},{\"name\":\"LEVELS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests a table of levels for contours of the bivariate density.\",\"help\":\"LEVELS=*numlist*\",\"type\":\"value\"},{\"name\":\"NGRID=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"NG=\"],\"description\":\"Specifies the number of grid points associated with each variable in each kernel density estimate.\",\"help\":\"NGRID=*number*\",\"type\":\"value\"},{\"name\":\"NOPRINT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Suppresses output tables produced by the BIVAR statement.\",\"type\":\"standalone\"},{\"name\":\"OUT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the name of the output data set in which kernel density estimates are saved.\",\"help\":\"OUT=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"PERCENTILES=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that a table of percentiles be computed for each BIVAR variable. You can specify a list of percentiles to be computed. The default percentiles are 0.5, 1, 2.5, 5, 10, 25, 50, 75, 90, 95, 97.5, 99, and 99.5.\",\"help\":\"PERCENTILES=*numlist*\",\"type\":\"value\"},{\"name\":\"PLOTS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests one or more plots of the bivariate data and kernel density estimate. Syntax: (1) PLOTS=plot-request<(options)> | ALL | NONE (2) PLOTS=(plot-request<(options)> < plot-request<(options)>>)\",\"help\":\"PLOTS=ALL | CONTOUR | CONTOURSCATTER | HISTOGRAM | HISTSURFACE | NONE | SCATTER | SURFACE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ALL\",\"followsDelimiter\":\"/\",\"description\":\"Produces all bivariate plots.\",\"type\":\"standalone\"},{\"name\":\"CONTOUR\",\"followsDelimiter\":\"/\",\"description\":\"Produces a contour plot of the bivariate density estimate.\",\"type\":\"standalone\"},{\"name\":\"CONTOURSCATTER\",\"followsDelimiter\":\"/\",\"description\":\"Produces a contour plot of the bivariate density estimate overlaid with a scatter plot of the data.\",\"type\":\"standalone\"},{\"name\":\"HISTOGRAM\",\"followsDelimiter\":\"/\",\"description\":\"Syntax: HISTOGRAM <(ROTATE=angle TILT=angle)> Produces a bivariate histogram of the data. The following view-options can be specified: ROTATE=angle rotates the histogram angle degrees, where –180 < angle < 180. By default, angle = 54. TILT=angle tilts the histogram angle degrees, where –180 < angle < 180. By default, angle = 20.\",\"type\":\"standalone\"},{\"name\":\"HISTSURFACE\",\"followsDelimiter\":\"/\",\"description\":\"Syntax: HISTSURFACE <(view-options)> Produces a bivariate histogram of the data overlaid with a surface plot of the bivariate kernel density estimate. The following view-options can be specified: ROTATE=angle rotates the histogram and kernel density surface angle degrees, where –180 < angle < 180. By default, angle = 54. TILT=angle tilts the histogram and kernel density surface angle degrees, where –180 < angle < 180. By default, angle = 20.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"followsDelimiter\":\"/\",\"description\":\"Suppresses all plots, including the contour plot that is produced by default when ODS Graphics is enabled and the PLOTS= option is not specified.\",\"type\":\"standalone\"},{\"name\":\"SCATTER\",\"followsDelimiter\":\"/\",\"description\":\"Produces a scatter plot of the data.\",\"type\":\"standalone\"},{\"name\":\"SURFACE\",\"followsDelimiter\":\"/\",\"description\":\"Syntax: SURFACE <(ROTATE=angle TILT=angle)> Produces a surface plot of the bivariate kernel density estimate. The following view-options can be specified: ROTATE=angle rotates the kernel density surface angle degrees, where –180 < angle < 180. By default, angle = 54. TILT=angle tilts the kernel density surface angle degrees, where –180 < angle < 180. By default, angle = 20\",\"type\":\"standalone\"}]},{\"name\":\"UNISTATS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Produces a table for each density estimate containing standard univariate statistics for each of the two variables and the bandwidths used to compute the kernel density estimate.\",\"type\":\"standalone\"}]},{\"name\":\"BY\",\"description\":\"You can specify a BY statement with PROC KDE to obtain separate analyses on observations in groups defined by the BY variables. When a BY statement appears, the procedure expects the input data set to be sorted in order of the BY variables.\",\"help\":\"BY &lt;DESCENDING&gt;&lt;NOTSORTED&gt;\",\"arguments\":[{\"name\":\"DESCENDING\",\"optional\":true,\"description\":\"Specifies that the observations are sorted in descending order by the variable that immediately follows the word DESCENDING in the BY statement.\",\"type\":\"standalone\"},{\"name\":\"NOTSORTED\",\"optional\":true,\"description\":\"Specifies that observations are not necessarily sorted in alphabetic or numeric order.\",\"type\":\"standalone\"}]},{\"name\":\"FREQ\",\"aliases\":[\"FREQUENCY\"],\"description\":\"The FREQ statement specifies a variable that provides frequencies for each observation in the DATA= data set.\",\"help\":\"FREQ variable\"},{\"name\":\"UNIVAR\",\"description\":\"The UNIVAR statement computes univariate kernel density estimates.\",\"help\":\"UNIVAR &lt;BWM=number&gt;&lt;GRIDL=number&gt;&lt;GRIDU=number&gt; ...\",\"arguments\":[{\"name\":\"BWM=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the bandwidth multiplier applied to each variable in each kernel density estimate. The default value is 1.\",\"help\":\"BWM=*number*\",\"type\":\"value\"},{\"name\":\"GRIDL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the lower grid limit applied to each variable in each kernel density estimate.\",\"help\":\"GRIDL=*number*\",\"type\":\"value\"},{\"name\":\"GRIDU=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the upper grid limit applied to each variable in each kernel density estimate.\",\"help\":\"GRIDU=*number*\",\"type\":\"value\"},{\"name\":\"METHOD=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the method used to compute the bandwidth.\",\"help\":\"METHOD=SJPI | SNR | SNRQ | SROT | OS\",\"type\":\"choice\",\"arguments\":[{\"name\":\"SJPI\",\"followsDelimiter\":\"/\",\"description\":\"Sheather-Jones plug-in\",\"type\":\"standalone\"},{\"name\":\"SNR\",\"followsDelimiter\":\"/\",\"description\":\"Simple normal reference\",\"type\":\"standalone\"},{\"name\":\"SNRQ\",\"followsDelimiter\":\"/\",\"description\":\"Simple normal reference that uses the interquartile range\",\"type\":\"standalone\"},{\"name\":\"SROT\",\"followsDelimiter\":\"/\",\"description\":\"Silverman’s rule of thumb\",\"type\":\"standalone\"},{\"name\":\"OS\",\"followsDelimiter\":\"/\",\"description\":\"Oversmoothed\",\"type\":\"standalone\"}]},{\"name\":\"NGRID=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"NG=\"],\"description\":\"Specifies the number of grid points associated with each variable in each kernel density estimate.\",\"help\":\"NGRID=*number*\",\"type\":\"value\"},{\"name\":\"NOPRINT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Suppresses output tables produced by the BIVAR statement.\",\"type\":\"standalone\"},{\"name\":\"OUT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the name of the output data set in which kernel density estimates are saved.\",\"help\":\"OUT=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"PERCENTILES=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that a table of percentiles be computed for each BIVAR variable. You can specify a list of percentiles to be computed. The default percentiles are 0.5, 1, 2.5, 5, 10, 25, 50, 75, 90, 95, 97.5, 99, and 99.5.\",\"help\":\"PERCENTILES=*numlist*\",\"type\":\"value\"},{\"name\":\"PLOTS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests one or more plots of the bivariate data and kernel density estimate. Syntax: (1) PLOTS=plot-request<(options)> | ALL | NONE (2) PLOTS=(plot-request<(options)> < plot-request<(options)>>)\",\"help\":\"PLOTS=ALL | DENSITY | DENSITYOVERLAY | HISTDENSITY | HISTOGRAM | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ALL\",\"followsDelimiter\":\"/\",\"description\":\"Produces all plots.\",\"type\":\"standalone\"},{\"name\":\"DENSITY\",\"followsDelimiter\":\"/\",\"description\":\"Univariate kernel density estimate curve.\",\"type\":\"standalone\"},{\"name\":\"DENSITYOVERLAY\",\"followsDelimiter\":\"/\",\"description\":\"Overlaid univariate kernel density estimate curves\",\"type\":\"standalone\"},{\"name\":\"HISTDENSITY\",\"followsDelimiter\":\"/\",\"description\":\"Univariate histogram of data overlaid with kernel density estimate curve\",\"type\":\"standalone\"},{\"name\":\"HISTOGRAM\",\"followsDelimiter\":\"/\",\"description\":\"Univariate histogram of data\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"followsDelimiter\":\"/\",\"description\":\"Suppresses all plots\",\"type\":\"standalone\"}]},{\"name\":\"SJPIMAX=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the maximum grid value in determining the Sheather-Jones plug-in bandwidth. The default value is two times the oversmoothed estimate.\",\"help\":\"SJPIMAX=*number*\",\"type\":\"value\"},{\"name\":\"SJPIMIN=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the minimum grid value in determining the Sheather-Jones plug-in bandwidth. The default value is the maximum value divided by 18.\",\"help\":\"SJPIMIN=*number*\",\"type\":\"value\"},{\"name\":\"SJPINUM=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the number of grid values used in determining the Sheather-Jones plug-in bandwidth. The default is 21.\",\"help\":\"SJPINUM=*number*\",\"type\":\"value\"},{\"name\":\"SJPITOL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the tolerance for termination of the bisection algorithm used in computing the Sheather-Jones plug-in bandwidth. The default value is 0.001.\",\"help\":\"SJPITOL=*number*\",\"type\":\"value\"},{\"name\":\"UNISTATS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Produces a table for each variable containing standard univariate statistics and the bandwidth used to compute its kernel density estimate.\",\"type\":\"standalone\"}]},{\"name\":\"VAR\",\"description\":\"The VAR statement supported by PROC KDE in SAS 8 and earlier releases is now obsolete. The VAR statement has been replaced by the UNIVAR and the BIVAR statements, which enable you to produce multiple kernel density estimates with a single invocation of the procedure.\",\"help\":\"VAR\"},{\"name\":\"WEIGHT\",\"aliases\":[\"WGT\"],\"description\":\"The WEIGHT statement specifies a variable that weights the observations in computing the kernel density estimate.\",\"help\":\"WEIGHT variable\"}],\"supportSiteInformation\":{\"docsetId\":\"statug\",\"docsetVersion\":\"latest\",\"docsetTargetFile\":\"statug_kde_toc.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/KPCA.json",
    "content": "{\"name\":\"KPCA\",\"statements\":[{\"name\":\"PROC KPCA\",\"description\":\"invokes the procedure\",\"help\":\"PROC KPCA <options>;                 \\n\\tDISPLAY <table-list></ options>;                 \\n\\n\\tDISPLAYOUT  table-spec-list </ options>;                 \\n\\n\\tID variables;                 \\n\\n\\tINPUT  variables;                 \\n\\n\\tKERNEL kernel-type / kernel-parameter;                 \\n\\n\\tLRAPPROXIMATION <options>;                 \\n\\n\\tOUTPUT  OUT=libref.data-table<option>;                 \\n\\n\\tPREIMAGE <options>;                 \\n\\n\\tSAVESTATE  RSTORE=libref.data-table<option>;                 \\n\",\"arguments\":[{\"name\":\"CENTER\",\"optional\":true,\"description\":\"centers the observations by the mean of each column\",\"type\":\"standalone\"},{\"name\":\"CENTROIDS=\",\"optional\":true,\"description\":\"specifies the name of the output table for the centroids that are generated by clustering\",\"help\":\"CENTROIDS=*libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"DATA=\",\"optional\":true,\"description\":\"names the input data table for PROC KPCA to use\",\"help\":\"DATA=*libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"EIGENVAL=\",\"optional\":true,\"description\":\"specifies the name of the output table that contains the eigenvalues\",\"help\":\"EIGENVAL=*libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"EIGENVEC=\",\"optional\":true,\"description\":\"specifies the name of the output table that contains the eigenvectors\",\"help\":\"EIGENVEC=*libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"METHOD=\",\"optional\":true,\"description\":\"specifies the method to use in performing KPCA\",\"help\":\"METHOD=APPROXIMATE | EXACT\",\"type\":\"choice\"},{\"name\":\"NTHREADS=\",\"optional\":true,\"description\":\"specifies the number of threads per computation node\",\"help\":\"NTHREADS=*number-of-threads*\",\"type\":\"value\"},{\"name\":\"ORDER\",\"optional\":true,\"description\":\"considers the order of the observations in the input data set on the basis of the KPCA_ROWID variable (or the ROWID variable if the KPCA_ROWID variable is absent) to generate consistent results when data are distributed on multiple grid nodes\",\"type\":\"standalone\"},{\"name\":\"RANKTHRESHOLD=\",\"optional\":true,\"description\":\"specifies the value of epsilon for determining the rank of the kernel matrix\",\"help\":\"RANKTHRESHOLD=*number*\",\"type\":\"value\"},{\"name\":\"SCALE\",\"optional\":true,\"description\":\"scales the observations by the standard deviation of each column\",\"type\":\"standalone\"}]},{\"name\":\"DISPLAY\",\"description\":\"enables you to specify a list of display tables to display or exclude\",\"help\":\"DISPLAY &lt;table-list&gt;&lt;/ options&gt;;                                              \",\"arguments\":[{\"name\":\"CASESENSITIVE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"performs a case-sensitive comparison of table names in the table-list to display table names when tables are subsetted for display\",\"type\":\"standalone\"},{\"name\":\"EXCLUDE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"displays all display tables except those that you specify in the table-list\",\"type\":\"standalone\"},{\"name\":\"EXCLUDEALL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses display of all tables\",\"type\":\"standalone\"},{\"name\":\"TRACE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"displays the display table names, labels, and paths\",\"type\":\"standalone\"}]},{\"name\":\"DISPLAYOUT\",\"description\":\"enables you to create output tables from your displayed output\",\"help\":\"DISPLAYOUT  table-spec-list &lt;/ options&gt;;                                              \",\"arguments\":[{\"name\":\"key=\",\"placeholder\":true,\"description\":\"specifies key as the ODS table name, path, or partial pathname, and specifies value as the output table name.\",\"help\":\"*key=value*\",\"type\":\"value\"},{\"name\":\"key\",\"placeholder\":true,\"description\":\"specifies key as the ODS table name and also as the output table name.\",\"type\":\"value\"},{\"name\":\"INCLUDEALL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"creates output tables for all display tables\",\"type\":\"standalone\"},{\"name\":\"NOREPLACE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"does not replace any existing output table of the same name\",\"type\":\"standalone\"},{\"name\":\"REPEATED\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"replicates all output tables on all nodes\",\"type\":\"standalone\"}]},{\"name\":\"ID\",\"description\":\"lists one or more variables to be copied from the input data table to the output data tables that are specified in the OUTPUT statement and the EIGENVEC= option in the PROC KPCA statement, and also to the file that is specified in the RSTORE= option in the SAVESTATE statement\",\"help\":\"ID *variables*;                                              \"},{\"name\":\"INPUT\",\"description\":\"specifies the names of variables to be considered in the KPCA procedure\",\"help\":\"INPUT  variables;                                              \"},{\"name\":\"KERNEL\",\"description\":\"specifies the type of kernel and any associated parameters to use during training\",\"help\":\"KERNEL *kernel-type* / *kernel-parameter*;                                              \",\"arguments\":[{\"name\":\"LINEAR\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that the kernel type is linear\",\"type\":\"standalone\"},{\"name\":\"POLYNOMIAL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that the kernel type is in the polynomial form\",\"help\":\"POLYNOMIAL / DEGREE=*number* INTERCEPT=*number*\",\"type\":\"value\"},{\"name\":\"RBF\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"uses a radial basis function (also known as the Gaussian kernel function) during training\",\"help\":\"RBF / BW=*s*\",\"type\":\"value\"}]},{\"name\":\"LRAPPROXIMATION\",\"description\":\"specifies the parameters of the low-rank approximation method\",\"help\":\"LRAPPROXIMATION &lt;options&gt;;                                              \",\"arguments\":[{\"name\":\"CCRITERION=\",\"optional\":true,\"description\":\"specifies a double value for the convergence criterion in k-means clustering\",\"help\":\"CCRITERION=*number*\",\"type\":\"value\"},{\"name\":\"CLUSMETHOD=\",\"optional\":true,\"description\":\"specifies the method of seed initialization in k-means clustering to generate the centroids\",\"help\":\"CLUSMETHOD=FC | KMPP | RANDOM\",\"type\":\"choice\",\"arguments\":[{\"name\":\"FC\",\"description\":\"stands for fast clustering, which spreads out the initial seeds in a heuristic way\",\"type\":\"standalone\"},{\"name\":\"KMPP\",\"description\":\"spreads out the initial seeds by introducing a weighted probability distribution in seed selection\",\"help\":\"KMPP / &lt;{RANDOMSEED}=*number*&gt;\",\"type\":\"value\"},{\"name\":\"RANDOM\",\"description\":\"selects initial seeds by pure randomization\",\"help\":\"RANDOM / &lt;{RANDOMSEED}=*number* {NRESTART}=*number*&gt;\",\"type\":\"value\"}]},{\"name\":\"MAXCLUS=\",\"optional\":true,\"description\":\"specifies the maximum number of clusters to use in k-means clustering\",\"help\":\"MAXCLUS=*number*\",\"type\":\"value\"},{\"name\":\"MAXITER=\",\"optional\":true,\"description\":\"specifies the maximum number of iterations to use in k-means clustering\",\"help\":\"MAXITER=*number*\",\"type\":\"value\"}]},{\"name\":\"OUTPUT\",\"description\":\"creates an output data table to contain the results of the procedure run\",\"help\":\"OUTPUT  OUT=*libref.data-table*&lt;option&gt;;                                              \",\"arguments\":[{\"name\":\"OUT=\",\"optional\":true,\"description\":\"names the output data table for PROC KPCA to use\",\"help\":\"OUT=*libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"NPC=\",\"optional\":true,\"description\":\"specifies the number of principal components to display\",\"help\":\"NPC=*number*\",\"type\":\"value\"}]},{\"name\":\"PREIMAGE\",\"description\":\"specifies the pre-image method and any associated parameters to use during training\",\"help\":\"PREIMAGE &lt;options&gt;;                                              \",\"arguments\":[{\"name\":\"METHOD=\",\"optional\":true,\"description\":\"specifies the method to use for pre-image training\",\"help\":\"METHOD={MAP&lt;*option*&gt; | ITERATIVE}\",\"type\":\"standaloneOrValue\",\"arguments\":[{\"name\":\"ITERATIVE\",\"description\":\"uses the iterative method to find the pre-image\",\"type\":\"standalone\"},{\"name\":\"{MAP\",\"description\":\"uses the mapping method to find the pre-image\",\"help\":\"{MAP(&lt;*options*&gt;)}\",\"type\":\"standaloneOrValue\",\"arguments\":[{\"name\":\"CENTROIDSPC=\",\"description\":\"specifies the name of the output table to contain the centroids of the points in the principal component space that are generated by k-means clustering\",\"help\":\"CENTROIDSPC=*libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"KERNEL=\",\"description\":\"specifies the kernel type for the kernel ridge regression to be used in the mapping method\",\"help\":\"KERNEL={LINEAR | POLYNOMIAL(&lt;*options*&gt;) | RBF(&lt;*option*&gt;)}\",\"type\":\"standaloneOrValue\",\"arguments\":[{\"name\":\"LINEAR\",\"description\":\"uses a linear kernel for the kernel ridge regression in the mapping method\",\"type\":\"standalone\"},{\"name\":\"POLYNOMIAL\",\"description\":\"specifies that the kernel type in the kernel ridge regression of the mapping method is in the polynomial form\",\"help\":\"POLYNOMIAL(DEGREE=*number* INTERCEPT=*number*)\",\"type\":\"value\"},{\"name\":\"{RBF\",\"description\":\"uses a radial basis function (also known as the Gaussian kernel function) in the kernel ridge regression of the mapping method\",\"help\":\"{RBF(BW=*number*)}\",\"type\":\"value\"}]},{\"name\":\"L2=\",\"description\":\"specifies a numeric value for the L2 regularization parameter of the kernel ridge regression to be used in the mapping method\",\"help\":\"L2=*number*\",\"type\":\"value\"},{\"name\":\"MAPCOEFFS=\",\"description\":\"specifies the name of the output table to contain the coefficients of the pre-image mapping method\",\"help\":\"MAPCOEFFS=*libref.data-table*\",\"type\":\"dataSet\"}]}]},{\"name\":\"NPC=\",\"optional\":true,\"description\":\"specifies a positive integer value as the number of principal components to use in pre-image training\",\"help\":\"NPC=*number*\",\"type\":\"value\"}]},{\"name\":\"SAVESTATE\",\"description\":\"creates an analytic store for the model and saves it as a binary object in a data table\",\"help\":\"SAVESTATE  RSTORE=*libref.data-table*&lt;option&gt;;                                              \",\"arguments\":[{\"name\":\"RSTORE=\",\"optional\":true,\"description\":\"specifies the name of the table in which to save the analytic store\",\"help\":\"RSTORE=*libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"EXACTSCORE\",\"optional\":true,\"description\":\"specifies the exact method of scoring\",\"type\":\"standalone\"}]}],\"supportSiteInformation\":{\"docsetId\":\"casml\",\"docsetVersion\":\"latest\",\"docsetTargetFile\":\"casml_kpca_toc.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/KRIGE2D.json",
    "content": "{\"name\":\"KRIGE2D\",\"statements\":[{\"name\":\"PROC KRIGE2D\",\"description\":\"PROC KRIGE2D can handle anisotropic and nested semivariogram models. Eight semivariogram models are supported: the Gaussian, exponential, spherical, power, cubic, pentaspherical, sine hole effect, and Matérn models. A single nugget effect is also supported. You can specify the correlation model by naming the form and supplying the associated parameters, or by using the contents of an item store file that was previously created by PROC VARIOGRAM. † You can specify the locations of kriging predictions in a GRID statement, or they can be read from a SAS data set. The grid specification is most suitable for a regular grid; the data set specification can handle any irregular pattern of points.\",\"help\":\"PROC KRIGE2D <DATA=SAS-data-set><NOPRINT><OUTEST=SAS-data-set><OUTNBHD=SAS-data-set><PLOTS=ALL | EQUATE | NONE... ><SINGULARMSG=number>;     \\n\\tBY <DESCENDING><NOTSORTED> ;\\n\\n\\tCOORDINATES <XCOORD= (variable-name)><YCOORD= (variable-name)> ;\\n\\n\\tGRID <GRIDDATA=SAS-data-set><XCOORD= (variable-name)><YCOORD= (variable-name)> ...;\\n\\n\\tMODEL <ANGLE=angle | ANGLE=(angle-1,...,angle-k)><FORM=<SPHERICAL|SPH | EXPONENTIAL|EXP | GAUSSIAN|GAUSS>... ><MDATA=SAS-data-set> ...;\\n\\n\\tPREDICT <MAXPOINTS=number><MINPOINTS=number><NODECREMENT> ...;\\n\\n\\tRESTORE <INFO <( info-options )>> ;\\n\",\"arguments\":[{\"name\":\"DATA=\",\"optional\":true,\"description\":\"Specifies a SAS data set containing the x and y coordinate variables and the VAR= variables in the PREDICT statement.\",\"help\":\"DATA=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"NOPRINT\",\"optional\":true,\"description\":\"Suppresses the normal display of results.\",\"type\":\"standalone\"},{\"name\":\"OUTEST=\",\"optional\":true,\"aliases\":[\"OUTE=\"],\"description\":\"Specifies a SAS data set in which to store the kriging predictions, standard errors, and grid location.\",\"help\":\"OUTEST=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"OUTNBHD=\",\"optional\":true,\"aliases\":[\"OUTN=\"],\"description\":\"Specifies a SAS data set in which to store the neighborhood information for each grid point.\",\"help\":\"OUTNBHD=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"PLOTS=\",\"optional\":true,\"description\":\"Controls the plots produced through ODS Graphics. The optional ONLY suppresses the default plot. Only plots specifically requested are displayed.\",\"help\":\"PLOTS=ALL | EQUATE | NONE | OBSERVATIONS | PREDICTION\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ALL\",\"description\":\"Produces all appropriate plots.\",\"type\":\"standalone\"},{\"name\":\"EQUATE\",\"description\":\"Specifies that all appropriate plots be produced in a way that the axes coordinates have equal size units.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"Suppresses all plots.\",\"type\":\"standalone\"},{\"name\":\"OBSERVATIONS\",\"aliases\":[\"OBSERV\",\"OBS\"],\"description\":\"Syntax: OBSERVATIONS <(observations-plot-options)> Produces the observed data plot, with the following suboptions: GRADIENT specifies that observations be displayed as circles colored by the observed measurement. OUTLINE specifies that observations be displayed as circles with a border but with a completely transparent fill. OUTLINEGRADIENT is the same as OBSERVATIONS(GRADIENT) except that a border is shown around each observation. SHOWMISSING specifies that observations with missing values be displayed in addition to the observations with nonmissing values.\",\"type\":\"standalone\"},{\"name\":\"PREDICTION\",\"aliases\":[\"PRED\"],\"description\":\"Syntax: PREDICTION <(prediction-plot-options)> Specifies that the kriging prediction plot be produced, with the following prediction-plot-options: FILL=NONE | PRED | SE produces a surface plot for either the predicted values or the standard errors. LINE=NONE | PRED | SE produces a contour line plot for either the predicted values or the standard errors OBS=obs-options produces an overlaid scatter plot of the observations in addition to the specified contour plots. The following obs-options are available: GRAD specifies that observations be displayed as circles colored by the observed measurement. LINEGRAD is the same as OBS=GRAD except that a border is shown around each observation. NONE specifies that no observations be displayed. OUTL specifies that observations be displayed as circles with a border but with a completely transparent fill.\",\"type\":\"standalone\"}]},{\"name\":\"SINGULARMSG=\",\"optional\":true,\"aliases\":[\"SMSG=\"],\"description\":\"Controls the number of warning messages displayed for a singular matrix.\",\"help\":\"SINGULARMSG=*number*\",\"type\":\"value\"}]},{\"name\":\"BY\",\"description\":\"You can specify a BY statement with PROC KRIGE2D to obtain separate analyses on observations in groups that are defined by the BY variables. When a BY statement appears, the procedure expects the input data set to be sorted in order of the BY variables. If you specify more than one BY statement, only the last one specified is used.\",\"help\":\"BY &lt;DESCENDING&gt;&lt;NOTSORTED&gt;\",\"arguments\":[{\"name\":\"DESCENDING\",\"optional\":true,\"description\":\"Specifies that the observations are sorted in descending order by the variable that immediately follows the word DESCENDING in the BY statement.\",\"type\":\"standalone\"},{\"name\":\"NOTSORTED\",\"optional\":true,\"description\":\"Specifies that observations are not necessarily sorted in alphabetic or numeric order.\",\"type\":\"standalone\"}]},{\"name\":\"COORDINATES\",\"aliases\":[\"COORD\"],\"description\":\"Only one COORDINATES statement is allowed, and it is applied to all PREDICT statements. In other words, it is assumed that all the VAR= variables in all PREDICT statements have the same x and y coordinates.\",\"help\":\"COORDINATES &lt;XCOORD= (variable-name)&gt;&lt;YCOORD= (variable-name)&gt;\",\"arguments\":[{\"name\":\"XCOORD=\",\"optional\":true,\"aliases\":[\"XC=\"],\"description\":\"Specifies the name of the variable containing the x coordinate of the data locations in the DATA= data set.\",\"type\":\"value\"},{\"name\":\"YCOORD=\",\"optional\":true,\"aliases\":[\"YC=\"],\"description\":\"Specifies the name of the variable containing the y coordinate of the data locations in the DATA= data set.\",\"type\":\"value\"}]},{\"name\":\"GRID\",\"description\":\"There are two basic methods for specifying the grid. You can specify the x and y coordinates explicitly, or they can be read from a SAS data set.\",\"help\":\"GRID &lt;GRIDDATA=SAS-data-set&gt;&lt;XCOORD= (variable-name)&gt;&lt;YCOORD= (variable-name)&gt; ...\",\"arguments\":[{\"name\":\"GRIDDATA=\",\"optional\":true,\"aliases\":[\"GDATA=\"],\"description\":\"Specifies a SAS data set containing the x and y grid coordinates.\",\"help\":\"GRIDDATA=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"XCOORD=\",\"optional\":true,\"aliases\":[\"XC=\"],\"description\":\"Specifies the name of the variable containing the x coordinate of the data locations in the DATA= data set.\",\"type\":\"value\"},{\"name\":\"YCOORD=\",\"optional\":true,\"aliases\":[\"YC=\"],\"description\":\"Specifies the name of the variable containing the y coordinate of the data locations in the DATA= data set.\",\"type\":\"value\"}]},{\"name\":\"MODEL\",\"description\":\"The MODEL statement specifies details about the correlation model that you use in the kriging system for prediction. The specified model is used in the kriging system defined by the most previous PREDICT statement.\",\"help\":\"MODEL &lt;ANGLE=angle | ANGLE=(angle-1,...,angle-k)&gt;&lt;FORM=&lt;SPHERICAL|SPH | EXPONENTIAL|EXP | GAUSSIAN|GAUSS&gt;... &gt;&lt;MDATA=SAS-data-set&gt; ...\",\"arguments\":[{\"name\":\"ANGLE=\",\"optional\":true,\"description\":\"Specifies the angle of the major axis for anisotropic models, measured in degrees clockwise from the N-S axis.\",\"type\":\"value\"},{\"name\":\"FORM=\",\"optional\":true,\"description\":\"Specifies the functional form (type) of the semivariogram model.\",\"help\":\"FORM=SPHERICAL | EXPONENTIAL | GAUSSIAN | POWER\",\"type\":\"choice\",\"arguments\":[{\"name\":\"SPHERICAL\",\"aliases\":[\"SPH\"],\"description\":\"Spherical form\",\"type\":\"standalone\"},{\"name\":\"EXPONENTIAL\",\"aliases\":[\"EXP\"],\"description\":\"Exponential form\",\"type\":\"standalone\"},{\"name\":\"GAUSSIAN\",\"aliases\":[\"GAUSS\"],\"description\":\"Gaussian form\",\"type\":\"standalone\"},{\"name\":\"POWER\",\"aliases\":[\"POW\"],\"description\":\"Power form\",\"type\":\"standalone\"}]},{\"name\":\"MDATA=\",\"optional\":true,\"description\":\"Specifies the input data set that contains parameter values for the covariance or semivariogram model.\",\"help\":\"MDATA=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"NUGGET=\",\"optional\":true,\"description\":\"Specifies the nugget effect for the model.\",\"help\":\"NUGGET=*number*\",\"type\":\"value\"},{\"name\":\"RANGE=\",\"optional\":true,\"description\":\"Specifies the range parameter in semivariogram models.\",\"type\":\"value\"},{\"name\":\"RATIO=\",\"optional\":true,\"description\":\"Specifies the ratio of the length of the minor axis to the length of the major axis for anisotropic models.\",\"type\":\"value\"},{\"name\":\"SCALE=\",\"optional\":true,\"description\":\"Specifies the scale (or sill) parameter in semivariogram models.\",\"type\":\"value\"},{\"name\":\"SINGULAR=\",\"optional\":true,\"description\":\"Gives the singularity criteria for solving kriging systems.\",\"help\":\"SINGULAR=*number*\",\"type\":\"value\"},{\"name\":\"SMOOTH=\",\"optional\":true,\"description\":\"Specifies the smoothness parameter ν > 0 in the Matérn type of semivariance structures. The special case ν=0.5 is equivalent to the exponential model, whereas ν → ∞ gives the Gaussian model.\",\"type\":\"value\"},{\"name\":\"STORESELECT=\",\"optional\":true,\"description\":\"Specifies that information from an input item store be used for the prediction. You cannot combine the STORESELECT option with any of the FORM= or MDATA= options. The STORESELECT option has the following ssel-options: TYPE=field-type specifies whether to perform isotropic or anisotropic prediction. You can choose the field-type from one of the following: ISO specifies an isotropic field for the prediction. ANIGEO | GEO specifies a field with geometric anisotropy for the prediction. ANIZON(zonal-form1, ..., zonal-formn) ZON(zonal-form1, ..., zonal-formn) specifies a field with zonal anisotropy for the prediction. Each zonal-formi, i=1,...,n, can be any of the following: CUB | EXP | GAU | MAT | PEN | POW | SHE | SPH ANGLEID=angleid1 ANGLEID=(angleid1, angleid2) specifies which direction angles in the input item store be used for prediction.\",\"help\":\"STORESELECT=MODEL= | ANGLEID= | ANIZON | TYPE=\",\"type\":\"choice\",\"arguments\":[{\"name\":\"MODEL=\",\"type\":\"value\"},{\"name\":\"ANGLEID=\",\"type\":\"value\"},{\"name\":\"ANIZON\",\"type\":\"standalone\"},{\"name\":\"TYPE=\",\"type\":\"value\"}]}]},{\"name\":\"PREDICT\",\"aliases\":[\"PRED\"],\"description\":\"\",\"help\":\"PREDICT &lt;MAXPOINTS=number&gt;&lt;MINPOINTS=number&gt;&lt;NODECREMENT&gt; ...\",\"arguments\":[{\"name\":\"MAXPOINTS=\",\"optional\":true,\"aliases\":[\"MAXP=\",\"MAX=\"],\"description\":\"Specifies the maximum number of data points in a neighborhood.\",\"help\":\"MAXPOINTS=*number*\",\"type\":\"value\"},{\"name\":\"MINPOINTS=\",\"optional\":true,\"aliases\":[\"MINP=\",\"MIN=\"],\"description\":\"Specifies the minimum number of data points in a neighborhood.\",\"help\":\"MINPOINTS=*number*\",\"type\":\"value\"},{\"name\":\"NODECREMENT\",\"optional\":true,\"aliases\":[\"NODECR\"],\"description\":\"Requests that the RADIUS= value not be decremented when the MAXPOINTS= value is exceeded at a grid point.\",\"type\":\"standalone\"},{\"name\":\"NOINCREMENT\",\"optional\":true,\"aliases\":[\"NOINCR\"],\"description\":\"Requests that the RADIUS= value not be incremented when the MINPOINTS= value is not met at a grid point.\",\"type\":\"standalone\"},{\"name\":\"NUMPOINTS=\",\"optional\":true,\"aliases\":[\"NPOINTS=\",\"NPTS=\",\"NP=\"],\"description\":\"Specifies the exact size of a neighborhood. This option is incompatible with all other PREDICT statement options that control the neighborhood; it must appear by itself.\",\"help\":\"NUMPOINTS=*number*\",\"type\":\"value\"},{\"name\":\"RADIUS=\",\"optional\":true,\"aliases\":[\"R=\"],\"description\":\"Specifies the radius to use in a local kriging regression.\",\"help\":\"RADIUS=*number*\",\"type\":\"value\"},{\"name\":\"VAR=\",\"optional\":true,\"description\":\"Specifies the single numeric variable used in the kriging system.\",\"type\":\"value\"}]},{\"name\":\"RESTORE\",\"description\":\"The RESTORE statement specifies an item store that provides spatial correlation model input for the PROC KRIGE2D prediction tasks. An item store is a binary file defined by the SAS System. You cannot modify the contents of an item store. The KRIGE2D procedure can use only item stores created by PROC VARIOGRAM. The store-name is a usual one- or two-level SAS name, as for SAS data sets. If you specify a one-level name, then the item store resides in the WORK library and is deleted at the end of the SAS session. Since item stores are often used for postprocessing tasks, typical usage specifies a two-level name of the form libname.membername.\",\"help\":\"RESTORE &lt;INFO &lt;( info-options )&gt;&gt;\",\"arguments\":[{\"name\":\"INFO=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies that additional information about the input item store be printed. This information is provided in two ODS tables. One table displays the variables in the item store, in addition to the mean and standard deviation for each of them. These statistics are based on the observations that were used to produce the store results. The second table shows the model on top of the list of all fitted models for each direction angle in the item store. The INFO option has the following info-options:\",\"help\":\"INFO=DETAILS | DET | ONLY\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DETAILS\",\"type\":\"standalone\"},{\"name\":\"DET\",\"type\":\"standalone\"},{\"name\":\"ONLY\",\"type\":\"standalone\"}]}]}],\"supportSiteInformation\":{\"docsetId\":\"statug\",\"docsetVersion\":\"latest\",\"docsetTargetFile\":\"statug_krige2d_toc.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/LATTICE.json",
    "content": "{\"name\":\"LATTICE\",\"statements\":[{\"name\":\"PROC LATTICE\",\"description\":\"The LATTICE procedure computes the analysis of variance and analysis of simple covariance for data from an experiment with a lattice design. PROC LATTICE analyzes balanced square lattices, partially balanced square lattices, and some rectangular lattices. † In balanced square lattices, the number of treatments is equal to the square of the number of units per block. Incomplete blocks are grouped to form mutually orthogonal replications. The number of replicates in the basic plan is always 1 plus the number of units per block. † Partially balanced square lattices are similar to balanced lattices, although the number of replicates can vary. Partially balanced designs are constructed of the replicates in the basic plan, but not all replicates are included the same number of times, and some might not be included at all. † In rectangular lattices, there are k units per block and k (k +1) treatments. As in square lattices, blocks are grouped to form mutually orthogonal replicates in the basic plan. PROC LATTICE can analyze simple rectangular lattices (two orthogonal replications) and triple rectangular lattices (three orthogonal replications). The experiment can include several repetitions of the basic plan. † The LATTICE procedure determines from the data set which type of design has been used. It also checks to see whether the design is valid and displays an appropriate message if it is not.\",\"help\":\"PROC LATTICE <COVARIANCE><DATA=SAS-data-set>;     \\n\\tBY <DESCENDING><NOTSORTED> ;\\n\\n\\tVAR variables ;\\n\",\"arguments\":[{\"name\":\"COVARIANCE\",\"optional\":true,\"aliases\":[\"COV\"],\"description\":\"Calculates sums of products for every possible pair of response variables.\",\"type\":\"standalone\"},{\"name\":\"DATA=\",\"optional\":true,\"description\":\"Names the SAS data set to be used by PROC LATTICE. If you omit the DATA= option, the most recently created SAS data set is used.\",\"help\":\"DATA=*SAS-data-set*\",\"type\":\"dataSet\"}]},{\"name\":\"BY\",\"description\":\"Obtains separate analyses on observations in groups defined by the BY variables.\",\"help\":\"BY &lt;DESCENDING&gt;&lt;NOTSORTED&gt;\",\"arguments\":[{\"name\":\"DESCENDING\",\"optional\":true,\"description\":\"Specifies that the observations are sorted in descending order by the variable that immediately follows the word DESCENDING in the BY statement.\",\"type\":\"standalone\"},{\"name\":\"NOTSORTED\",\"optional\":true,\"description\":\"Specifies that observations are not necessarily sorted in alphabetic or numeric order.\",\"type\":\"standalone\"}]},{\"name\":\"VAR\",\"description\":\"The VAR statement specifies the response variables. If you do not include a VAR statement, all numeric variables in the data set are considered response variables (except Group, Block, Treatmnt, and Rep).\",\"help\":\"VAR variables \"}],\"supportSiteInformation\":{\"docsetId\":\"statug\",\"docsetVersion\":\"latest\",\"docsetTargetFile\":\"statug_lattice_toc.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/LIFEREG.json",
    "content": "{\"name\":\"LIFEREG\",\"statements\":[{\"name\":\"PROC LIFEREG\",\"description\":\"The LIFEREG procedure fits parametric models to failure time data that can be uncensored, right censored, left censored, or interval censored. The models for the response variable consist of a linear effect composed of the covariates and a random disturbance term. The distribution of the random disturbance can be taken from a class of distributions that includes the extreme value, normal, logistic, and, by using a log transformation, the exponential, Weibull, lognormal, log-logistic, and three-parameter gamma distributions.\",\"help\":\"PROC LIFEREG <COVOUT><DATA=SAS-data-set><GOUT=graphics-catalog><INEST=SAS-data-set><NAMELEN=n><NOPRINT><ORDER=DATA | FORMATTED | FREQ... ><OUTEST=SAS-data-set><PLOTS=NONE | PROBPLOT><XDATA=SAS-data-set>;     \\n\\tBAYES <COEFFPRIOR=<NORMAL | UNIFORM>><DIAGNOSTICS=<ALL | NONE | <(keyword-list)>>><EXPSCALEPRIOR=<GAMMA | IMPROPER>> ...;\\n\\n\\tBY <DESCENDING><NOTSORTED> ;\\n\\n\\tCLASS variables ;\\n\\n\\tEFFECTPLOT BOX CONTOUR FIT ...;\\n\\n\\tESTIMATE <ADJDFE=<SOURCE | ROW>><ADJUST=<BON | SCHEFFE | SIDAK>... ><ALPHA=number> ...;\\n\\n\\tINSET CONFIDENCE DIST INTERVAL ...;\\n\\n\\tLSMEANS <ADJDFE=<SOURCE | ROW>><ADJUST=<BON | DUNNETT | NELSON>... ><ALPHA=number> ...;\\n\\n\\tLSMESTIMATE <ADJDFE=<SOURCE | ROW>><ADJUST=<BON | SCHEFFE | SIDAK>... ><ALPHA=number> ...;\\n\\n\\tMODEL <ALPHA=number><CONVERGE=value><CONVG=value> ...;\\n\\n\\tOUTPUT <CDF=variable><CENSORED=variable><OUT=SAS-data-set> ...;\\n\\n\\tPROBPLOT <ANNOTATE=SAS-data-set><CAXIS=color><CCENSOR=color> ...;\\n\\n\\tSLICE <ADJDFE=<SOURCE | ROW>><ADJUST=<BON | DUNNETT | NELSON>... ><ALPHA=number> ...;\\n\\n\\tSTORE <LABEL='label'> ;\\n\\n\\tTEST <CHISQ><DDF=value-list><E> ...;\\n\\n\\tWEIGHT variable ;\\n\",\"arguments\":[{\"name\":\"COVOUT\",\"optional\":true,\"description\":\"Writes the estimated covariance matrix to the OUTEST= data set if convergence is attained.\",\"type\":\"standalone\"},{\"name\":\"DATA=\",\"optional\":true,\"description\":\"Specifies the input SAS data set used by PROC LIFEREG. By default, the most recently created SAS data set is used.\",\"help\":\"DATA=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"GOUT=\",\"optional\":true,\"description\":\"Specifies a graphics catalog in which to save graphics output.\",\"help\":\"GOUT=*graphics-catalog*\",\"type\":\"dataSet\"},{\"name\":\"INEST=\",\"optional\":true,\"description\":\"Specifies an input SAS data set that contains initial estimates for all the parameters in the model.\",\"help\":\"INEST=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"NAMELEN=\",\"optional\":true,\"description\":\"Specifies the length of effect names in tables and output data sets to be n characters, where n is a value between 20 and 200. The default length is 20 characters.\",\"help\":\"NAMELEN=*n*\",\"type\":\"value\"},{\"name\":\"NOPRINT\",\"optional\":true,\"description\":\"Suppresses the display of the output.\",\"type\":\"standalone\"},{\"name\":\"ORDER=\",\"optional\":true,\"description\":\"Specifies the sorting order for the levels of the classification variables (specified in the CLASS statement).\",\"help\":\"ORDER=DATA | FORMATTED | FREQ | INTERNAL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DATA\",\"description\":\"Levels are sorted by the order of appearance in the input data set.\",\"type\":\"standalone\"},{\"name\":\"FORMATTED\",\"description\":\"Levels are sorted by the external formatted value, except for numeric variables with no explicit format, which are sorted by their unformatted (internal) value.\",\"type\":\"standalone\"},{\"name\":\"FREQ\",\"description\":\"Levels are sorted by the descending frequency count; levels with the most observations come first in the order.\",\"type\":\"standalone\"},{\"name\":\"INTERNAL\",\"description\":\"Levels are sorted by the unformatted value.\",\"type\":\"standalone\"}]},{\"name\":\"OUTEST=\",\"optional\":true,\"description\":\"Specifies an output SAS data set containing the parameter estimates, the maximized log likelihood, and, if the COVOUT option is specified, the estimated covariance matrix.\",\"help\":\"OUTEST=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"PLOTS=\",\"optional\":true,\"description\":\"Specifies one of two graphics options: NONE or PROBPLOT\",\"help\":\"PLOTS=NONE | PROBPLOT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NONE\",\"description\":\"Suppresses any graphics specified in other LIFEREG statements, such as the BAYES or PROBPLOT statement.\",\"type\":\"standalone\"},{\"name\":\"PROBPLOT\",\"description\":\"Creates a default probability plot based on information in the MODEL statement.\",\"type\":\"standalone\"}]},{\"name\":\"XDATA=\",\"optional\":true,\"description\":\"Specifies an input SAS data set that contains values for all the independent variables in the MODEL statement and variables in the CLASS statement for probability plotting.\",\"help\":\"XDATA=*SAS-data-set*\",\"type\":\"dataSet\"}]},{\"name\":\"BAYES\",\"description\":\"The BAYES statement requests that the parameters of the model be estimated by Markov chain Monte Carlo sampling techniques. The FMM procedure can estimate by maximum likelihood the parameters of all models supported by the procedure. Bayes estimation, on the other hand, is available for only a subset of these models. In Bayesian analysis, it is essential to examine the convergence of the Markov chains before you proceed with posterior inference. With ODS Graphics turned on, the FMM procedure produces graphs at the end of the procedure output; these graphs enable you to visually examine the convergence of the chain. Inferences cannot be made if the Markov chain has not converged. The output produced for a Bayesian analysis is markedly different from that for a frequentist (maximum likelihood) analysis for the following reasons: o Parameter estimates do not have the same interpretation in the two analyses. Parameters are fixed unknown constants in the frequentist context and random variables in a Bayesian analysis. o The results of a Bayesian analysis are summarized through chain diagnostics and posterior summary statistics and intervals. o The FMM procedure samples the mixing probabilities in Bayesian models directly, rather than mapping them onto a logistic (or other) scale. The FMM procedure applies highly specialized sampling algorithms in Bayesian models. For single-component models without effects, a conjugate sampling algorithm is used where possible. For models in the exponential family that contain effects, the sampling algorithm is based on Gamerman (1997). For the normal and t distributions, a conjugate sampler is the default sampling algorithm for models with and without effects. In multi-component models, the sampling algorithm is based on latent variable sampling through data augmentation (Frühwirth-Schnatter 2006) and the Gamerman or conjugate sampler. Because of this specialization, the options for controlling the prior distributions of the parameters are limited.\",\"help\":\"BAYES &lt;COEFFPRIOR=&lt;NORMAL | UNIFORM&gt;&gt;&lt;DIAGNOSTICS=&lt;ALL | NONE | &lt;(keyword-list)&gt;&gt;&gt;&lt;EXPSCALEPRIOR=&lt;GAMMA | IMPROPER&gt;&gt; ...\",\"arguments\":[{\"name\":\"COEFFPRIOR=\",\"optional\":true,\"aliases\":[\"COEFF=\",\"CPRIOR=\"],\"description\":\"Specifies the prior distribution for the regression coefficients. The default is COEFFPRIOR=UNIFORM.\",\"help\":\"COEFFPRIOR=NORMAL | UNIFORM\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NORMAL\",\"description\":\"Syntax: NORMAL<(options)> Specifies a normal distribution. The normal-options include the following: CONDITIONAL specifies that the normal prior, conditional on the current Markov chain value of the location-scale model precision parameter τ=1/σ², is N(µ,τ⁻¹Z), where µ and Z are the mean and covariance of the normal prior specified by other normal options. INPUT=SAS-data-set specifies a SAS data set containing the mean and covariance information of the normal prior. The data set must have a _TYPE_ variable to represent the type of each observation and a variable for each regression coefficient. RELVAR<=c> Specifies the normal prior N(0, cJ), where J is a diagonal matrix with diagonal elements equal to the variances of the corresponding ML estimator. By default, c=10⁶. VAR<=c> Specifies the normal prior N(0,cI), where I is the identity matrix.\",\"type\":\"standalone\"},{\"name\":\"UNIFORM\",\"description\":\"Specifies a flat prior.\",\"type\":\"standalone\"}]},{\"name\":\"DIAGNOSTICS=\",\"optional\":true,\"description\":\"Controls the number of diagnostics produced.\",\"help\":\"DIAGNOSTICS=ALL | NONE | &lt;(*keyword-list*)&gt;\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ALL\",\"description\":\"Requests all posterior diagnostics.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"Suppresses the computation of posterior diagnostics.\",\"type\":\"standalone\"},{\"name\":\"(keyword-list)\",\"placeholder\":true,\"description\":\"The following keywords enable you to select subsets of posterior diagnostics; the default is DIAGNOSTICS=(AUTOCORR ESS GEWEKE): AUTOCORR<(LAGS= numeric-list)> Computes for each sampled parameter the autocorrelations of lags specified in the LAGS= list. ESS -- Computes Carlin’s estimate of the effective sample size, the correlation time, and the efficiency of the chain for each parameter. GELMAN <(gelman-options)> computes the Gelman and Rubin convergence diagnostics. You can specify one or more of the following gelman-options: NCHAIN=number | N=number specifies the number of parallel chains used to compute the diagnostic, and must be 2 or larger. The default is NCHAIN=3. ALPHA=value specifies the significance level for the upper bound. The default is ALPHA=0.05, resulting in a 97.5% bound. GEWEKE<(geweke-options)>-- Computes the Geweke spectral density diagnostics, which are essentially a two-sample t test between the first f1 portion and the last f2 portion of the chain. The default is f1=0.1 and f2=0.5. The geweke-options are: FRAC1=value -- Specifies the fraction f1 for the first window. FRAC2=value -- Specifies the fraction f2 for the second window. HEIDELBERGER<(heidel-options)> -- Computes the Heidelberger and Welch diagnostic (which consists of a stationarity test and a half-width test) for each variable. The heidel-options are: SALPHA=value -- Specifies the α level for the stationarity test. By default, SALPHA=0.05. HALPHA=value -- Specifies the α level for the halfwidth test. By default, HALPHA=0.05. EPS=value -- Specifies a positive number ε such that if the halfwidth is less than ε times the sample mean of the retained iterates, the halfwidth test is passed. MCERROR | MCSE --Computes an estimate of the Monte Carlo standard error for each parameter. MAXLAG=n -- specifies the largest lag used in computing the effective sample size and the Monte Carlo standard error. Specifying this option implies the ESS and MCERROR options. The default is MAXLAG=250. RAFTERY<(raftery-options)> -- Computes Raftery and Lewis diagnostics that evaluate accuracy of the estimated quantile of a chain. raftery-options are: QUANTILE= | Q=value -- Specifies the order (a value between 0 and 1) of the quantile of interest. The default is 0.025. ACCURACY= | R=value -- Specifies a small positive number as the margin of error for measuring the accuracy of estimation of the quantile. The default is 0.005. PROBABILITY= | S=value -- Specifies the probability of attaining the accuracy of the estimation of the quantile. The default is 0.95. EPSILON= | EPS=value -- Specifies the tolerance level (a small positive number) for the stationary test. The default is 0.001.\",\"type\":\"value\"}]},{\"name\":\"EXPSCALEPRIOR=\",\"optional\":true,\"aliases\":[\"ESCALEPRIOR=\",\"ESCPRIOR=\"],\"description\":\"Syntax: EXPSCALEPRIOR=GAMMA<(options)> | IMPROPER ESCALEPRIOR=GAMMA<(options)> | IMPROPER ESCPRIOR=GAMMA<(options)> | IMPROPER Specifies that Gibbs sampling be performed on the exponential distribution scale parameter and the prior distribution for the scale parameter. This prior distribution applies only when the exponential distribution and no covariates are specified.\",\"help\":\"EXPSCALEPRIOR=GAMMA | IMPROPER\",\"type\":\"choice\",\"arguments\":[{\"name\":\"GAMMA\",\"description\":\"Syntax: GAMMA<(options)> A gamma prior G(a,b) with density f(t) is specified by EXPSCALEPRIOR=GAMMA, which can be followed by one of the following gamma-options enclosed in parentheses. The hyperparameters a and b are the shape and inverse-scale parameters of the gamma distribution, respectively. RELSHAPE<=c> specifies independent distribution G(cἂ,c), where ἂ is the MLE of the exponential scale parameter. With this choice of hyperparameters, the mean of the prior distribution is ἂ and the variance is ἂ/c². By default, c=10⁻⁴. SHAPE=a | ISCALE=b when both specified, results in a G(a,b) prior. SHAPE=c when specified alone, results in a G(c,c) prior. ISCALE=c when specified alone, results in a G(c,c) prior\",\"type\":\"standalone\"},{\"name\":\"IMPROPER\",\"description\":\"Specifies an improper prior with density f(t) proportional to t⁻¹.\",\"type\":\"standalone\"}]},{\"name\":\"GAMMASHAPEPRIOR=\",\"optional\":true,\"aliases\":[\"GAMASHAPEPRIOR=\",\"SHAPE1PRIOR=\"],\"description\":\"Syntax: GAMMASHAPEPRIOR=NORMAL<(options)> GAMASHAPEPRIOR=NORMAL<(options)> SHAPE1PRIOR=NORMAL<(options)> Specifies the prior distribution for the gamma distribution shape parameter. If you do not specify any options in a gamma model, the N(0, 10⁶) prior for the shape is used. You can specify MEAN= and VAR= or RELVAR= options, either alone or together, to specify the mean and variance of the normal prior for the gamma shape parameter.\",\"help\":\"GAMMASHAPEPRIOR=NORMAL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NORMAL\",\"description\":\"Syntax: NORMAL<(options)> You can specify MEAN= and VAR= or RELVAR= options, either alone or together, to specify the mean and variance of the normal prior for the gamma shape parameter. MEAN=a specifies a normal prior N(a, 10⁶). By default, a=0. RELVAR<=b> specifies the normal prior N(0, 1bJ), where J is the variance of the MLE of the shape parameter. By default, b=10⁶. VAR=c specifies the normal prior N(0, c). By default, c=10⁶.\",\"type\":\"standalone\"}]},{\"name\":\"INITIAL=\",\"optional\":true,\"description\":\"Specifies the SAS data set that contains the initial values of the Markov chains. The INITIAL= data set must contain all the variables of the model. You can specify multiple rows as the initial values of the parallel chains for the Gelman-Rubin statistics, but posterior summaries, diagnostics, and plots are computed only for the first chain. If the data set also contains the variable _SEED_, the value of the _SEED_ variable is used as the seed of the random number generator for the corresponding chain.\",\"help\":\"INITIAL=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"METROPOLIS=\",\"optional\":true,\"description\":\"Specifies the use of a Metropolis step to generate Gibbs samples for posterior distributions that are not log concave. The default value is METROPOLIS=YES.\",\"help\":\"METROPOLIS=YES | NO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YES\",\"description\":\"Specifies to use a Metropolis step to generate Gibbs samples for posterior distributions that are not log concave.\",\"type\":\"standalone\"},{\"name\":\"NO\",\"description\":\"Specifies not to use a Metropolis step to generate Gibbs samples for posterior distributions that are not log concave.\",\"type\":\"standalone\"}]},{\"name\":\"NBI=\",\"optional\":true,\"description\":\"Specifies the number of burn-in iterations before the chains are saved. The default is 2000.\",\"help\":\"NBI=*number*\",\"type\":\"value\"},{\"name\":\"NMC=\",\"optional\":true,\"description\":\"Specifies the number of iterations after the burn-in. The default is 10000.\",\"help\":\"NMC=*number*\",\"type\":\"value\"},{\"name\":\"OUTPOST=\",\"optional\":true,\"aliases\":[\"OUT=\"],\"description\":\"Names the SAS data set that contains the posterior samples. Alternatively, you can create the output data set by specifying an ODS OUTPUT statement as follows:\",\"type\":\"value\"},{\"name\":\"PLOTS=\",\"optional\":true,\"description\":\"Syntax: PLOTS<(global-plot-options)>= plot-request PLOTS<(global-plot-options)>= (plot-request < …plot-request>) Controls the display of diagnostic plots. The global plot options are as follows: FRINGE creates a fringe plot on the X axis of the density plot. GROUPBY=PARAMETER | GROUPBY=TYPE specifies how the plots are grouped when there is more than one type of plot. GROUPBY=TYPE specifies that the plots be grouped by type. GROUPBY=PARAMETER specifies that the plots be grouped by parameter.\",\"help\":\"PLOTS=ALL | AUTOCORR | DENSITY | NONE | TRACE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ALL\",\"description\":\"Specifies all types of plots. PLOTS=ALL is equivalent to specifying PLOTS=(TRACE AUTOCORR DENSITY).\",\"type\":\"standalone\"},{\"name\":\"AUTOCORR\",\"description\":\"Displays the autocorrelation function plots for the parameters.\",\"type\":\"standalone\"},{\"name\":\"DENSITY\",\"description\":\"Displays the kernel density plots for the parameters.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"Suppresses all diagnostic plots.\",\"type\":\"standalone\"},{\"name\":\"TRACE\",\"description\":\"Displays the trace plots for the parameters.\",\"type\":\"standalone\"}]},{\"name\":\"SCALEPRIOR=\",\"optional\":true,\"description\":\"Specifies that Gibbs sampling be performed on the location-scale model scale parameter and the prior distribution for the scale parameter.\",\"help\":\"SCALEPRIOR=GAMMA | IMPROPER\",\"type\":\"choice\",\"arguments\":[{\"name\":\"GAMMA\",\"description\":\"Syntax: GAMMA<(options)> A gamma prior G(a,b) with density f(t) is specified by SCALEPRIOR=GAMMA, which can be followed by one of the following gamma-options enclosed in parentheses. The hyperparameters a and b are the shape and inverse-scale parameters of the gamma distribution, respectively. RELSHAPE<=c> specifies independent distribution G(cἂ,c), where ἂ is the MLE of the scale parameter. With this choice of hyperparameters, the mean of the prior distribution is ἂ and the variance is ἂ/c. By default, c=10⁻⁴. SHAPE=a | ISCALE=b when both specified, results in a G(a,b) prior. SHAPE=c when specified alone, results in a G(c,c) prior. ISCALE=c when specified alone, results in a G(c,c) prior\",\"type\":\"standalone\"},{\"name\":\"IMPROPER\",\"description\":\"Specifies an improper prior with density f(t) proportional to t⁻¹.\",\"type\":\"standalone\"}]},{\"name\":\"SEED=\",\"optional\":true,\"description\":\"Specifies an integer seed in the range 1 to 2³¹-1 for the random number generator in the simulation. Specifying a seed enables you to reproduce identical Markov chains for the same specification. If the SEED= option is not specified, or if you specify a nonpositive seed, a random seed is derived from the time of day.\",\"help\":\"SEED=*number*\",\"type\":\"value\"},{\"name\":\"STATISTICS=\",\"optional\":true,\"aliases\":[\"STATS=\"],\"description\":\"Syntax: STATISTICS <(global-options)> = ALL | NONE | keyword | (keyword-list) STATS <(global-statoptions)> = ALL | NONE | keyword | (keyword-list) Controls the number of posterior statistics produced. The global-options include the following: ALPHA=numeric-list controls the probabilities of the credible intervals. The ALPHA= values must be between 0 and 1. Each ALPHA= value produces a pair of 100(1–ALPHA)% equal-tail and HPD intervals for each parameters. The default is ALPHA=0.05, which yields the 95% credible intervals for each parameter.\",\"help\":\"STATISTICS=CORR | COV | SUMMARY | INTERVAL | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"CORR\",\"description\":\"Produces the posterior correlation matrix.\",\"type\":\"standalone\"},{\"name\":\"COV\",\"description\":\"Produces the posterior covariance matrix.\",\"type\":\"standalone\"},{\"name\":\"SUMMARY\",\"description\":\"Produces the means, standard deviations, and percentile points for the posterior samples. The default is to produce the 25th, 50th, and 75th percentil epoints, but you can use the global PERCENT= option to request specific percentile points.\",\"type\":\"standalone\"},{\"name\":\"INTERVAL\",\"description\":\"Produces equal-tail credible intervals and HPD intervals. The default is to produce the 95% equal-tail credible intervals and 95% HPD intervals, but you can use the global ALPHA= option to request intervals of any probabilities.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"Suppresses printing all summary statistics.\",\"type\":\"standalone\"}]},{\"name\":\"THINNING=\",\"optional\":true,\"aliases\":[\"THIN=\"],\"description\":\"Controls the thinning of the Markov chain. The default is THINNING=1.\",\"type\":\"value\"},{\"name\":\"WEIBULLSCALEPRIOR=\",\"optional\":true,\"aliases\":[\"WSCALEPRIOR=\",\"WSCPRIOR=\"],\"description\":\"Syntax: WEIBULLSCALEPRIOR=GAMMA<(options)> WSCALEPRIOR=GAMMA<(options)> WSCPRIOR=GAMMA<(options)>\",\"help\":\"WEIBULLSCALEPRIOR=GAMMA\",\"type\":\"choice\",\"arguments\":[{\"name\":\"GAMMA\",\"description\":\"Syntax: GAMMA<(options)> A gamma prior G(a,b) is specified by WEIBULLSCALEPRIOR=GAMMA, which can be followed by one of the following gamma-options enclosed in parentheses. The hyperparameters a and b are the shape and inverse-scale parameters of the gamma distribution, respectively. RELSHAPE<=c> specifies independent distribution G(cἂ,c), where ἂ is the MLE of the Weibull scale parameter. With this choice of hyperparameters, the mean of the prior distribution is ἂ and the variance is ἂ/c. By default, c=10⁻⁴. SHAPE=a | ISCALE=b when both specified, results in a G(a,b) prior. SHAPE=c when specified alone, results in a G(c,c) prior. ISCALE=c when specified alone, results in a G(c,c) prior\",\"type\":\"standalone\"}]},{\"name\":\"WEIBULLSHAPEPRIOR=\",\"optional\":true,\"aliases\":[\"WSHAPEPRIOR=\",\"WSHCPRIOR=\"],\"description\":\"Syntax: WEIBULLSHAPEPRIOR=GAMMA<(options)> WSHAPEPRIOR=GAMMA<(options)> WSHPRIOR=GAMMA<(options)>\",\"help\":\"WEIBULLSHAPEPRIOR=GAMMA\",\"type\":\"choice\",\"arguments\":[{\"name\":\"GAMMA\",\"description\":\"Syntax: GAMMA<(options)> A gamma prior G(a,b) is specified by WEIBULLSHAPEPRIOR=GAMMA, which can be followed by one of the following gamma-options enclosed in parentheses. The hyperparameters a and b are the shape and inverse-scale parameters of the gamma distribution, respectively. RELSHAPE<=c> specifies independent distribution G(cḂ,c), where Ḃ is the MLE of the Weibull shape parameter. With this choice of hyperparameters, the mean of the prior distribution is Ḃ and the variance is Ḃ/c. By default, c=10⁻⁴. SHAPE=a | ISCALE=b when both specified, results in a G(a,b) prior. SHAPE=c when specified alone, results in a G(c,c) prior. ISCALE=c when specified alone, results in a G(c,c) prior\",\"type\":\"standalone\"}]}]},{\"name\":\"BY\",\"description\":\"You can specify a BY statement with PROC LIFEREG to obtain separate analyses on observations in groups that are defined by the BY variables. When a BY statement appears, the procedure expects the input data set to be sorted in order of the BY variables. If you specify more than one BY statement, only the last one specified is used.\",\"help\":\"BY &lt;DESCENDING&gt;&lt;NOTSORTED&gt;\",\"arguments\":[{\"name\":\"DESCENDING\",\"optional\":true,\"description\":\"Specifies that the observations are sorted in descending order by the variable that immediately follows the word DESCENDING in the BY statement.\",\"type\":\"standalone\"},{\"name\":\"NOTSORTED\",\"optional\":true,\"description\":\"Specifies that observations are not necessarily sorted in alphabetic or numeric order.\",\"type\":\"standalone\"}]},{\"name\":\"CLASS\",\"description\":\"The CLASS statement names the classification variables to be used in the model. Typical classification variables are Treatment, Sex, Race, Group, and Replication. If you use the CLASS statement, it must appear before the MODEL statement. Classification variables can be either character or numeric. By default, class levels are determined from the entire set of formatted values of the CLASS variables.\",\"help\":\"CLASS variables \"},{\"name\":\"EFFECTPLOT\",\"description\":\"The EFFECTPLOT statement produces a display of the fitted model and provides options for changing and enhancing the displays.\",\"help\":\"EFFECTPLOT BOX CONTOUR FIT ...\",\"arguments\":[{\"name\":\"BOX=\",\"description\":\"Displays a box plot of continuous response data at each level of a CLASS effect, with predicted values superimposed and connected by a line. This is an alternative to the INTERACTION plot-type.\",\"help\":\"BOX=PLOTBY= | X=\",\"type\":\"choice\",\"arguments\":[{\"name\":\"PLOTBY=\",\"type\":\"value\"},{\"name\":\"X=\",\"type\":\"value\"}]},{\"name\":\"CONTOUR=\",\"description\":\"Displays a contour plot of predicted values against two continuous covariates.\",\"help\":\"CONTOUR=PLOTBY= | X= | Y=\",\"type\":\"choice\",\"arguments\":[{\"name\":\"PLOTBY=\",\"type\":\"value\"},{\"name\":\"X=\",\"type\":\"value\"},{\"name\":\"Y=\",\"type\":\"value\"}]},{\"name\":\"FIT=\",\"description\":\"Displays a curve of predicted values versus a continuous variable.\",\"help\":\"FIT=PLOTBY= | X=\",\"type\":\"choice\",\"arguments\":[{\"name\":\"PLOTBY=\",\"type\":\"value\"},{\"name\":\"X=\",\"type\":\"value\"}]},{\"name\":\"INTERACTION=\",\"description\":\"Displays a curve of predicted values versus a continuous variable grouped by the levels of a CLASS effect.\",\"help\":\"INTERACTION=PLOTBY= | SLICEBY= | X=\",\"type\":\"choice\",\"arguments\":[{\"name\":\"PLOTBY=\",\"type\":\"value\"},{\"name\":\"SLICEBY=\",\"type\":\"value\"},{\"name\":\"X=\",\"type\":\"value\"}]},{\"name\":\"SLICEFIT=\",\"description\":\"\",\"help\":\"SLICEFIT=PLOTBY= | SLICEBY= | X=\",\"type\":\"choice\",\"arguments\":[{\"name\":\"PLOTBY=\",\"type\":\"value\"},{\"name\":\"SLICEBY=\",\"type\":\"value\"},{\"name\":\"X=\",\"type\":\"value\"}]},{\"name\":\"ALPHA=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the significance level, 0 ≥ value ≥ 1, for producing 100(1-value/2)% prediction and confidence limits. By default, value=0.05.\",\"help\":\"ALPHA=*value*\",\"type\":\"value\"},{\"name\":\"AT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"where contopt= MEAN | MIN | MAX | MIDRANGE classopt= ALL | REF varopt= contopts | number-list | classopts | ’class-level’...’class-level’]\",\"type\":\"standalone\"},{\"name\":\"ATLEN=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the maximum length (1 < n < 256) of the levels of the AT variables that are displayed in footnotes and headers. By default, up to 256 characters of the CLASS levels are displayed, and the continuous AT levels are displayed with a BEST format that has a width greater than or equal to 5, which distinguishes each level. Caution:If the levels of your AT variables are not unique when the first n characters are displayed, then the levels are combined in the plots but not in the underlying computations. Also, at most n characters for continuous AT variables are displayed.\",\"help\":\"ATLEN=*n*\",\"type\":\"value\"},{\"name\":\"ATORDER=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Uses the AT values for continuous variables in ascending or descending order as specified. By default, values are used in the order of their first appearance in the AT option.\",\"help\":\"ATORDER=ASCENDING | DESCENDING\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ASCENDING\",\"followsDelimiter\":\"/\",\"description\":\"Uses the AT values for continuous variables in ascending order\",\"type\":\"standalone\"},{\"name\":\"DESCENDING\",\"followsDelimiter\":\"/\",\"description\":\"Uses the AT values for continuous variables in descending order\",\"type\":\"standalone\"}]},{\"name\":\"CLI\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays normal (Wald) prediction limits. This option is available only for normal distributions with identity links. If your model is from a Bayesian analysis, then sampling-based intervals are computed.\",\"type\":\"standalone\"},{\"name\":\"CLM\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays confidence limits. These are computed as the normal (Wald) confidence limits for the linear predictor, and if the ILINK option is specified, the limits are also back-transformed by the inverse link function. If your model is from a Bayesian analysis, then sampling-based intervals are computed.\",\"type\":\"standalone\"},{\"name\":\"CLUSTER\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Modifies the BOX and INTERACTION plot-types by displaying the levels of the SLICEBY= effect in a side-by-side fashion. You can specify percent as a percentage of half the distance between X levels. The percent value must be between 0.1 and 1; the default percent depends on the number of X levels, the number of SLICEBY levels, and the number of PLOTBY levels for INTERACTION plot-types. Default clustering can be removed by specifying the NOCLUSTER option.\",\"type\":\"standalone\"},{\"name\":\"CONNECT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Modifies the BOX and INTERACTION plot-types by connecting the predicted values with a line. Default connecting lines can be removed by specifying the NOCONNECT option.\",\"type\":\"standalone\"},{\"name\":\"EXTEND=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Extends continuous covariate axes by value x ½range in both directions, where range is the range of the X axis.\",\"help\":\"EXTEND=DATA | &lt;*value*&gt;\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DATA\",\"followsDelimiter\":\"/\",\"description\":\"Displays curves to the range of the data within the appropriate SLICEBY=, PLOTBY=, and AT level.\",\"type\":\"standalone\"},{\"name\":\"value\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"Replace <value> with an actual value.\",\"type\":\"value\"}]},{\"name\":\"GRIDSIZE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the resolution of curves by computing the predicted values at n equally spaced x-values and specifies the resolution of surfaces by computing the predicted values on an nxn grid of points. Default values are n=200 for curves and bands, n=50 for surfaces, and n=2 for lines. If results of a Bayesian or bootstrap analysis are being displayed, then the defaults are n=500000/B, where B is the number of samples, the upper limit is equal to the usual defaults, and the lower limit equal to 20.\",\"help\":\"GRIDSIZE=*n*\",\"type\":\"value\"},{\"name\":\"ILINK\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays the fit on the scale of the inverse link function. In particular, the results are displayed on the probability scale for logistic regression. By default, a procedure displays the fit on either the link or inverse link scale.\",\"type\":\"standalone\"},{\"name\":\"INDIVIDUAL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays individual probabilities for polytomous response models with cumulative links on the scale of the inverse link function. This option is not available when the LINK option is specified, and confidence limits are not available with this option.\",\"type\":\"standalone\"},{\"name\":\"LIMITS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Invokes the CLI and CLM options.\",\"type\":\"standalone\"},{\"name\":\"LINK\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays the fit on the scale of the link function; that is, the linear predictor. Note that probabilities or observed proportions near 0 and 1 are transformed to . By default, a procedure displays the fit on either the link or inverse link scale.\",\"type\":\"standalone\"},{\"name\":\"MOFF\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Moves the offset for a Poisson regression model to the response side of the equation. If the ILINK option is also in effect, then the rate is displayed on the Y axis, while the LINK option displays the log of the rate on the Y axis. Without this option, the predicted values are computed and displayed only for the observations.\",\"type\":\"standalone\"},{\"name\":\"NCOLS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the maximum number of columns in a paneled plot. This option is not available with the BOX plot-type. The default choice of NROWS= and NCOLS= is based on the number of PLOTBY= and AT levels. If there is only one plot being displayed in a panel, then NROWS=1 and NCOLS=1 and the plots are produced as if you specified only the UNPACK option. If only two plots are displayed in a panel, then NROWS=1 and NCOLS=2. For all other cases, a 2x2, 2x3, or 3x3 panel is chosen based on how much of the last panel is used, with ties going to the larger panels. For example, if 14 plots are being created, then this requires either four 2x2 panels with 50% of the last panel filled, three 2x3 panels with 33% of the last panel filled, or two 3x3 panels with 55% of the last panel filled; in this case, the 3x3 panels are chosen.\",\"help\":\"NCOLS=*n*\",\"type\":\"value\"},{\"name\":\"NOCLI\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Suppresses the prediction limits.\",\"type\":\"standalone\"},{\"name\":\"NOCLM\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Suppresses the confidence limits.\",\"type\":\"standalone\"},{\"name\":\"NOLIMITS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Invokes the NOCLI and NOCLM options.\",\"type\":\"standalone\"},{\"name\":\"NOOBS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Suppresses the display of observations and overrides the specification of the OBS= option.\",\"type\":\"standalone\"},{\"name\":\"NROWS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the maximum number of rows in a paneled plot. This option is not available with the BOX plot-type. See the NCOLS= option for more details.\",\"help\":\"NROWS=*n*\",\"type\":\"value\"},{\"name\":\"OBS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays observations on the effect plots. An input data set is required; hence the OBS option is not available with PROC PLM. The OBS option is overridden by the NOOBS option. When the ILINK option is specified with binary response variables, then either the observed proportions or a coded value of the response is displayed. For polytomous response variables, the observed values are overlaid onto the fitted curves unless the LOCATION= option is specified. Whether observations are displayed by default or not depends upon the procedure. If the PLOTBY= option is specified, then the observations displayed on each plot are from the corresponding PLOTBY= level for classification effects; for continuous effects, all observations are displayed on every plot. The following options are available: BYAT -- subsets the observations by AT level and by the PLOTBY= level. CDISPLAY=NONE | OUTLINE | GRADIENT | OUTLINEGRADIENT controls the display of observations on contour plots. CGRADIENT=RESIDUAL | DEPENDENT specifies what the gradient-shading of the observed values on the CONTOUR plot-type represents. DEPTH=depth (you can specify 1 ≤ depth ≤ 100. By default, DEPTH=1) specifies the number of overlapping observations that can be distinguished by adjusting their transparency. DISTANCE displays observations on FIT plot-types with a color-gradient that indicates how far the observation is from the AT and PLOTBY= level. FITATCLASS -- computes fitted values only for class levels that are observed in the data set. FRINGE -- displays observations in a fringe (rug) plot at the bottom of the plot. JITTER<(FACTOR=factor SEED=seed X=x-jitter Y=y-jitter)> -- shifts (jitters) the observations. LABEL<=OBS> -- labels markers with their observation number.\",\"help\":\"OBS=BYAT | CDISPLAY= | CGRADIENT= | DEPTH= | DISTANCE | FITATCLASS | FRINGE | JITTER | FACTOR= | SEED= | X= | Y= | LABEL | LABEL= | LOCATION=\",\"type\":\"choice\",\"arguments\":[{\"name\":\"BYAT\",\"type\":\"standalone\"},{\"name\":\"CDISPLAY=\",\"type\":\"value\"},{\"name\":\"CGRADIENT=\",\"type\":\"value\"},{\"name\":\"DEPTH=\",\"type\":\"value\"},{\"name\":\"DISTANCE\",\"type\":\"standalone\"},{\"name\":\"FITATCLASS\",\"type\":\"standalone\"},{\"name\":\"FRINGE\",\"type\":\"standalone\"},{\"name\":\"JITTER\",\"type\":\"standalone\"},{\"name\":\"FACTOR=\",\"type\":\"value\"},{\"name\":\"SEED=\",\"type\":\"value\"},{\"name\":\"X=\",\"type\":\"value\"},{\"name\":\"Y=\",\"type\":\"value\"},{\"name\":\"LABEL\",\"type\":\"standalone\"},{\"name\":\"LABEL=\",\"type\":\"value\"},{\"name\":\"LOCATION=\",\"type\":\"value\"}]},{\"name\":\"PLOTBY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies a variable or CLASS effect at whose levels the predicted values are computed and the plots are displayed. You can specify the response variable as the effect for polytomous response models. The panel-type argument specifies the method in which the plots are grouped for the display. The following panel-types are available. COLUMNS specifies that the columns within each panel correspond to different levels of the PLOTBY= effect and hence the rows correspond to different AT levels. PACK specifies that plots be displayed in the panels as they are produced with no control over the placement of the PLOTBY= and AT levels. PANELS | LEVELS specifies that each level of the PLOTBY= effect begin a new panel of plots and the AT levels define the plots within the panels. ROWS specifies that the rows within each panel correspond to different levels of the PLOTBY= effect and hence the columns correspond to different AT levels.\",\"help\":\"PLOTBY=COLUMNS | PACK | PANELS | LEVELS | ROWS\",\"type\":\"choice\",\"arguments\":[{\"name\":\"COLUMNS\",\"type\":\"standalone\"},{\"name\":\"PACK\",\"type\":\"standalone\"},{\"name\":\"PANELS\",\"type\":\"standalone\"},{\"name\":\"LEVELS\",\"type\":\"standalone\"},{\"name\":\"ROWS\",\"type\":\"standalone\"}]},{\"name\":\"PLOTBYLEN=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the maximum length (1 ≤ n ≤ 256) of the levels of the PLOTBY= variables, which are displayed in footnotes and headers. By default, up to 256 characters of the CLASS levels are displayed.\",\"help\":\"PLOTBYLEN=*n*\",\"type\":\"value\"},{\"name\":\"POLYBAR\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays polytomous response data as a stacked histogram with bar heights defined by the individual predicted value. Your response variable must be the SLICEBY= variable, and the INDIVIDUAL and ILINK options must be in effect; otherwise, the option is ignored. Confidence limits are ignored.\",\"type\":\"standalone\"},{\"name\":\"PREDLABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies a label to be displayed on the Y axis. The default Y axis label is determined by your model. For the CONTOUR plot-type, this option changes the title to \\\"label for Y.\\\"\",\"help\":\"PREDLABEL=*label*\",\"type\":\"value\"},{\"name\":\"SHOWCLEGEND\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays the gradient-legend for the CONTOUR plot-type. This option has no effect when the OBS(CGRADIENT=RESIDUAL) option is also specified.\",\"type\":\"standalone\"},{\"name\":\"SLICEBY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays the fitted values at the different levels of the specified variable or CLASS effect.\",\"help\":\"SLICEBY=NONE | effect&lt;=numeric-list&gt;\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NONE\",\"followsDelimiter\":\"/\",\"description\":\"Preventing the INTERACTION plot-type from slicing by a second class covariate. Note that the SLICEBY=NONE option is not available for the SLICEFIT plot-type, since that is the same as the FIT plot-type.\",\"type\":\"standalone\"},{\"name\":\"effect\",\"followsDelimiter\":\"/\",\"description\":\"You can specify the response variable as the effect for polytomous response models. Use this option to modify SLICEFIT and INTERACTION plot-types. If you specify a continuous variable as the effect, then you can either specify a numeric-list of values at which to display that variable or, by default, five equally spaced values from the minimum variable value to its maximum are displayed.\",\"help\":\"effect&lt;=numeric-list&gt;\",\"type\":\"value\"}]},{\"name\":\"SMOOTH\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Overlays a loess smooth on the FIT plot-type for models that have only one continuous predictor. This option is not available for binary or polytomous response models.\",\"type\":\"standalone\"},{\"name\":\"UNPACK\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Suppresses paneling. By default, multiple plots can appear in some output panels. Specify UNPACK to display each plot separately.]\",\"type\":\"standalone\"},{\"name\":\"X=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies values to display on the X axis. For BOX and INTERACTION plot-types, effect can be a CLASS effect in the MODEL statement. For FIT, SLICEFIT, and CONTOUR plot-types, effect can be any continuous variable in the model.\",\"help\":\"X=*effect*\",\"type\":\"value\"},{\"name\":\"Y=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies values to display on the Y axis for the CONTOUR plot-type. The Y= argument can be any continuous variable in the model.\",\"help\":\"Y=*args*\",\"type\":\"value\"},{\"name\":\"YRANGE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays the predicted values on the Y axis in the range [min,max]. By default, when the Y axis displays predicted probabilities, the entire Y axis, [0,1], is displayed. This option is useful if your predicted probabilities are all contained in some subset of this range. This option is not available with the CONTOUR plot-type.\",\"help\":\"YRANGE=CLIP | &lt;(&lt;*min*&gt;,&lt;*max*&gt;)&gt;\",\"type\":\"choice\",\"arguments\":[{\"name\":\"CLIP\",\"followsDelimiter\":\"/\",\"description\":\"Has the same effect as specifying the minimum predicted value as min and the maximum predicted value as max.\",\"type\":\"standalone\"},{\"name\":\"(min,max)\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"Replace min and max with actual values.\",\"type\":\"standaloneOrValue\"}]}]},{\"name\":\"ESTIMATE\",\"description\":\"The ESTIMATE statement provides a mechanism for obtaining custom hypothesis tests.\",\"help\":\"ESTIMATE &lt;ADJDFE=&lt;SOURCE | ROW&gt;&gt;&lt;ADJUST=&lt;BON | SCHEFFE | SIDAK&gt;... &gt;&lt;ALPHA=number&gt; ...\",\"arguments\":[{\"name\":\"ADJDFE=\",\"optional\":true,\"description\":\"Specifies how denominator degrees of freedom are determined when p-values and confidence limits are adjusted for multiple comparisons with the ADJUST= option.\",\"help\":\"ADJDFE=SOURCE | ROW\",\"type\":\"choice\",\"arguments\":[{\"name\":\"SOURCE\",\"description\":\"The denominator degrees of freedom for multiplicity-adjusted results are the denominator degrees of freedom for the final effect listed in the ESTIMATE statement from the 'Type III Tests of Fixed Effects' table.\",\"type\":\"standalone\"},{\"name\":\"ROW\",\"description\":\"Useful if you want multiplicity adjustments to take into account that denominator degrees of freedom are not constant across estimates.\",\"type\":\"standalone\"}]},{\"name\":\"ADJUST=\",\"optional\":true,\"description\":\"Requests a multiple comparison adjustment for the p-values and confidence limits for the estimates.\",\"help\":\"ADJUST=BON | SCHEFFE | SIDAK | SIMULATE&lt;(simoptions)&gt; | T\",\"type\":\"choice\",\"arguments\":[{\"name\":\"BON\",\"description\":\"Bonferroni adjustment\",\"type\":\"standalone\"},{\"name\":\"SCHEFFE\",\"description\":\"Scheffe's adjustment\",\"type\":\"standalone\"},{\"name\":\"SIDAK\",\"description\":\"Sidak adjustment\",\"type\":\"standalone\"},{\"name\":\"SIMULATE\",\"description\":\"Computes adjusted p-values and confidence limits from the simulated distribution of the maximum or maximum absolute value of a multivariate t random vector.\",\"help\":\"SIMULATE&lt;(simoptions)&gt;\",\"type\":\"standalone\"},{\"name\":\"T\",\"description\":\"The default, which really signifies no adjustment for multiple comparisons.\",\"type\":\"standalone\"}]},{\"name\":\"ALPHA=\",\"optional\":true,\"description\":\"Requests that a t-type confidence interval be constructed with confidence level 1-number. The value of number must be between 0 and 1; the default is 0.05.\",\"help\":\"ALPHA=*number*\",\"type\":\"value\"},{\"name\":\"BYCATEGORY\",\"optional\":true,\"aliases\":[\"BYCAT\"],\"description\":\"Requests that in models for nominal data (generalized logit models) estimates be reported separately for each category.\",\"type\":\"standalone\"},{\"name\":\"CL\",\"optional\":true,\"description\":\"Requests that t-type confidence limits be constructed.\",\"type\":\"standalone\"},{\"name\":\"DF=\",\"optional\":true,\"description\":\"Specifies the degrees of freedom for the t test and confidence limits.\",\"help\":\"DF=*number*\",\"type\":\"value\"},{\"name\":\"DIVISOR=\",\"optional\":true,\"description\":\"Specifies a list of values by which to divide the coefficients so that fractional coefficients can be entered as integer numerators.\",\"help\":\"DIVISOR=*value-list*\",\"type\":\"value\"},{\"name\":\"E\",\"optional\":true,\"description\":\"Requests that the L matrix coefficients be displayed.\",\"type\":\"standalone\"},{\"name\":\"EXP\",\"optional\":true,\"description\":\"Requests exponentiation of the estimate.\",\"type\":\"standalone\"},{\"name\":\"GROUP\",\"optional\":true,\"description\":\"Sets up random-effect contrasts between different groups when a GROUP= variable appears in the RANDOM statement.\",\"type\":\"standalone\"},{\"name\":\"ILINK\",\"optional\":true,\"description\":\"Requests that the estimate and its standard error are also reported on the scale of the mean (the inverse linked scale).\",\"type\":\"standalone\"},{\"name\":\"LOWER\",\"optional\":true,\"aliases\":[\"LOWERTAILED\"],\"description\":\"Requests that the p-value for the t test be based only on values less than the test statistic.\",\"type\":\"standalone\"},{\"name\":\"SINGULAR=\",\"optional\":true,\"description\":\"Tunes the estimability checking as documented for the CONTRAST statement.\",\"help\":\"SINGULAR=*number*\",\"type\":\"value\"},{\"name\":\"STEPDOWN\",\"optional\":true,\"description\":\"Requests that multiplicity adjustments for the p-values of estimates be further adjusted in a step-down fashion.\",\"type\":\"standalone\"},{\"name\":\"SUBJECT\",\"optional\":true,\"description\":\"Sets up random-effect contrasts between different subjects when a SUBJECT= variable appears in the RANDOM statement.\",\"type\":\"standalone\"},{\"name\":\"UPPER\",\"optional\":true,\"aliases\":[\"UPPERTAILED\"],\"description\":\"Requests that the p-value for the t test be based only on values greater than the test statistic.\",\"type\":\"standalone\"}]},{\"name\":\"INSET\",\"description\":\"The box or table of summary information produced on plots made with the PROBPLOT statement is called an inset. You can use the INSET statement to customize the information that is displayed in the inset box as well as to customize the appearance of the inset box.\",\"help\":\"INSET CONFIDENCE DIST INTERVAL ...\",\"arguments\":[{\"name\":\"CONFIDENCE\",\"description\":\"Confidence coefficient for all confidence intervals\",\"type\":\"standalone\"},{\"name\":\"DIST\",\"description\":\"Name of the distribution\",\"type\":\"standalone\"},{\"name\":\"INTERVAL\",\"description\":\"Number of interval-censored observations\",\"type\":\"standalone\"},{\"name\":\"LEFT\",\"description\":\"Number of left-censored observations\",\"type\":\"standalone\"},{\"name\":\"NMISS\",\"description\":\"Number of observations with missing values\",\"type\":\"standalone\"},{\"name\":\"NOBS\",\"description\":\"Number of observations\",\"type\":\"standalone\"},{\"name\":\"RIGHT\",\"description\":\"Number of right-censored observations\",\"type\":\"standalone\"},{\"name\":\"SCALE\",\"description\":\"Value of the scale parameter\",\"type\":\"standalone\"},{\"name\":\"SHAPE\",\"description\":\"Value of the shape parameter\",\"type\":\"standalone\"},{\"name\":\"UNCENSORED\",\"description\":\"Number of uncensored observations\",\"type\":\"standalone\"},{\"name\":\"CFILL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the color for the filling box.\",\"help\":\"CFILL=*color*\",\"type\":\"color\"},{\"name\":\"CFILLH=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the color for the filling box header.\",\"help\":\"CFILLH=*color*\",\"type\":\"color\"},{\"name\":\"CFRAME=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the color for the frame.\",\"help\":\"CFRAME=*color*\",\"type\":\"color\"},{\"name\":\"CHEADER=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the color for the text in the header.\",\"help\":\"CHEADER=*color*\",\"type\":\"color\"},{\"name\":\"CTEXT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the color of the text in the inset. By default, the inset text color is the same as the other text in the box plot.\",\"help\":\"CTEXT=*color*\",\"type\":\"color\"},{\"name\":\"FONT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the software font for the text.\",\"help\":\"FONT=*font*\",\"type\":\"value\"},{\"name\":\"HEADER=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the text for the header or box title. The string can be up to 40 characters.\",\"help\":\"HEADER='*string*'\",\"type\":\"value\"},{\"name\":\"HEIGHT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the height of the inset and header text.\",\"help\":\"HEIGHT=*value*\",\"type\":\"value\"},{\"name\":\"NOFRAME\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Suppresses the frame drawn around the inset box.\",\"type\":\"standalone\"},{\"name\":\"POS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Determines the position of the inset. The value can be a compass point (N, NE, E, SE, S, SW, W, NW) or a pair of coordinates (x, y) enclosed in parentheses. The coordinates can be specified in screen percentage units or axis data units. The default is screen percentage units.\",\"help\":\"POS=DATA | PERCENT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DATA\",\"type\":\"standalone\"},{\"name\":\"PERCENT\",\"type\":\"standalone\"}]},{\"name\":\"REFPOINT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the reference point for an inset that is positioned by a pair of coordinates with the POSITION= option. Use the REFPOINT= option with POSITION= coordinates.\",\"help\":\"REFPOINT=BR | BL | TR | TL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"BR\",\"followsDelimiter\":\"/\",\"description\":\"Bottom right\",\"type\":\"standalone\"},{\"name\":\"BL\",\"followsDelimiter\":\"/\",\"description\":\"Bottom left\",\"type\":\"standalone\"},{\"name\":\"TR\",\"followsDelimiter\":\"/\",\"description\":\"Top right\",\"type\":\"standalone\"},{\"name\":\"TL\",\"followsDelimiter\":\"/\",\"description\":\"\",\"type\":\"standalone\"}]}]},{\"name\":\"LSMEANS\",\"description\":\"The LSMEANS statement computes least squares means (LS-means) of fixed effects. As in the GLM and the MIXED procedures, LS-means are predicted population margins—that is, they estimate the marginal means over a balanced population. In a sense, LS-means are to unbalanced designs as class and subclass arithmetic means are to balanced designs.\",\"help\":\"LSMEANS &lt;ADJDFE=&lt;SOURCE | ROW&gt;&gt;&lt;ADJUST=&lt;BON | DUNNETT | NELSON&gt;... &gt;&lt;ALPHA=number&gt; ...\",\"arguments\":[{\"name\":\"ADJDFE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies how denominator degrees of freedom are determined when p-values and confidence limits are adjusted for multiple comparisons with the ADJUST= option.\",\"help\":\"ADJDFE=SOURCE | ROW\",\"type\":\"choice\",\"arguments\":[{\"name\":\"SOURCE\",\"followsDelimiter\":\"/\",\"description\":\"The denominator degrees of freedom for multiplicity-adjusted results are the denominator degrees of freedom for the LS-mean effect in the \\\"Type III Tests of Fixed Effects\\\" table.\",\"type\":\"standalone\"},{\"name\":\"ROW\",\"followsDelimiter\":\"/\",\"description\":\"Useful if you want multiplicity adjustments to take into account that denominator degrees of freedom are not constant across LS-mean differences.\",\"type\":\"standalone\"}]},{\"name\":\"ADJUST=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests a multiple comparison adjustment for the p-values and confidence limits for the differences of LS-means.\",\"help\":\"ADJUST=BON | DUNNETT | NELSON | SCHEFFE | SIDAK | SIMULATE | SMM | TUKEY\",\"type\":\"choice\",\"arguments\":[{\"name\":\"BON\",\"followsDelimiter\":\"/\",\"description\":\"Bonferroni adjustment\",\"type\":\"standalone\"},{\"name\":\"DUNNETT\",\"followsDelimiter\":\"/\",\"description\":\"Dunnett adjustment (in which the procedure analyzes all differences with a control level)\",\"type\":\"standalone\"},{\"name\":\"NELSON\",\"followsDelimiter\":\"/\",\"description\":\"Nelson adjustment (in which ANOM differences are taken)\",\"type\":\"standalone\"},{\"name\":\"SCHEFFE\",\"followsDelimiter\":\"/\",\"description\":\"Scheffe's adjustment\",\"type\":\"standalone\"},{\"name\":\"SIDAK\",\"followsDelimiter\":\"/\",\"description\":\"Sidak adjustment\",\"type\":\"standalone\"},{\"name\":\"SIMULATE\",\"followsDelimiter\":\"/\",\"description\":\"Computes adjusted p-values and confidence limits from the simulated distribution of the maximum or maximum absolute value of a multivariate t random vector. Syntax: SIMULATE<(simoptions)> You can specify the following simoptions in parentheses after the ADJUST=SIMULATE option. ACC=value specifies the target accuracy radius γ of a 100(1-ε)% confidence interval for the true probability content of the estimated (1-α)th quantile. The default value is ACC=0.005. CVADJUST specifies that the quantile should be estimated by the control variate adjustment method of Hsu and Nelson (1998) instead of simply as the quantile of the simulated sample. EPS=value specifies the value ε for a 100(1-ε)% confidence interval for the true probability content of the estimated (1-α)th quantile. NSAMP=n specifies the sample size for the simulation. REPORT specifies that a report on the simulation should be displayed, including a listing of the parameters, such as γ, ε, and α, as well as an analysis of various methods for estimating or approximating the quantile. SEED=number specifies an integer used to start the pseudo-random number generator for the simulation.\",\"type\":\"standalone\"},{\"name\":\"SMM\",\"followsDelimiter\":\"/\",\"aliases\":[\"GT2\"],\"description\":\"SMM adjustment\",\"type\":\"standalone\"},{\"name\":\"TUKEY\",\"followsDelimiter\":\"/\",\"description\":\"If your data are unbalanced, PROC GLIMMIX uses the approximation described in Kramer (1956) and identifies the adjustment as \\\"Tukey-Kramer\\\" in the results.\",\"type\":\"standalone\"}]},{\"name\":\"ALPHA=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that a t-type confidence interval be constructed for each of the LS-means with confidence level (1-number)x100%. The value of number must be between 0 and 1; the default value is 0.05, corresponding to a 95% confidence interval.\",\"help\":\"ALPHA=*number*\",\"type\":\"value\"},{\"name\":\"AT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Enables you to modify the values of the covariates used in computing LS-means.\",\"help\":\"AT=MEANS\",\"type\":\"choice\",\"arguments\":[{\"name\":\"MEANS\",\"type\":\"standalone\"}]},{\"name\":\"BYLEVEL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that separate margins be computed for each level of the LSMEANS effect.\",\"type\":\"standalone\"},{\"name\":\"CL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that t-type confidence limits be constructed for each of the LS-means. The confidence level is 0.95 by default; this can be changed with the ALPHA= option.\",\"type\":\"standalone\"},{\"name\":\"CORR\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays the estimated correlation matrix of the least squares means as part of the \\\"Least Squares Means\\\" table.\",\"type\":\"standalone\"},{\"name\":\"COV\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays the estimated covariance matrix of the least squares means as part of the \\\"Least Squares Means\\\" table.\",\"type\":\"standalone\"},{\"name\":\"DF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the degrees of freedom for the t test and confidence limits.\",\"help\":\"DF=*number*\",\"type\":\"value\"},{\"name\":\"DIFF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"PDIFF=\"],\"description\":\"Requests that differences of the LS-means be displayed.\",\"help\":\"DIFF=ALL | ANOM | CONTROL | CONTROLL | CONTROLU\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ALL\",\"followsDelimiter\":\"/\",\"description\":\"Requests all pairwise differences, and it is the default.\",\"type\":\"standalone\"},{\"name\":\"ANOM\",\"followsDelimiter\":\"/\",\"description\":\"Requests differences between each LS-mean and the average LS-mean, as in the analysis of means (Ott 1967).\",\"type\":\"standalone\"},{\"name\":\"CONTROL\",\"followsDelimiter\":\"/\",\"description\":\"Requests the differences with a control, which, by default, is the first level of each of the specified LSMEANS effects.\",\"type\":\"standalone\"},{\"name\":\"CONTROLL\",\"followsDelimiter\":\"/\",\"description\":\"Tests whether the noncontrol levels are significantly smaller than the control; the upper confidence limits for the control minus the noncontrol levels are considered to be infinity and are displayed as missing.\",\"type\":\"standalone\"},{\"name\":\"CONTROLU\",\"followsDelimiter\":\"/\",\"description\":\"Tests whether the noncontrol levels are significantly larger than the control; the upper confidence limits for the noncontrol levels minus the control are considered to be infinity and are displayed as missing.\",\"type\":\"standalone\"}]},{\"name\":\"E\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that the L matrix coefficients for all LSMEANS effects be displayed.\",\"type\":\"standalone\"},{\"name\":\"ILINK\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that estimates and their standard errors in the \\\"Least Squares Means\\\" table also be reported on the scale of the mean (the inverse linked scale).\",\"type\":\"standalone\"},{\"name\":\"LINES\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Presents results of comparisons between all pairs of least squares means by listing the means in descending order and indicating nonsignificant subsets by line segments beside the corresponding LS-means.\",\"type\":\"standalone\"},{\"name\":\"OBSMARGINS\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"OM\"],\"description\":\"Specifies a potentially different weighting scheme for the computation of LS-means coefficients.\",\"type\":\"standalone\"},{\"name\":\"ODDS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that in models with logit, cumulative logit, and generalized logit link function the odds of the levels of the fixed effects are reported.\",\"type\":\"standalone\"},{\"name\":\"ODDSRATIO\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"OR\"],\"description\":\"Requests that LS-mean differences (DIFF, ADJUST= options) and simple effect comparisons (SLICEDIFF option) are also reported in terms of odds ratios.\",\"type\":\"standalone\"},{\"name\":\"PLOT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"PLOTS=\"],\"description\":\"Requests that least squares means related graphics are produced via ODS Graphics, provided that the ODS GRAPHICS statement has been specified and the plot request does not conflict with other options in the LSMEANS statement.\",\"help\":\"PLOT=ALL | ANOMPLOT | CONTROLPLOT | DIFFPLOT | MEANPLOT | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ALL\",\"followsDelimiter\":\"/\",\"description\":\"Requests that the default plots corresponding to this LSMEANS statement be produced.\",\"type\":\"standalone\"},{\"name\":\"ANOMPLOT\",\"followsDelimiter\":\"/\",\"aliases\":[\"ANOM\"],\"description\":\"Requests an analysis of means display in which least squares means are compared to an average least squares mean.\",\"type\":\"standalone\"},{\"name\":\"CONTROLPLOT\",\"followsDelimiter\":\"/\",\"aliases\":[\"CONTROL\"],\"description\":\"Requests a display in which least squares means are visually compared against a reference level.\",\"type\":\"standalone\"},{\"name\":\"DIFFPLOT\",\"followsDelimiter\":\"/\",\"aliases\":[\"DIFFOGRAM\",\"DIFF\"],\"description\":\"Requests a display of all pairwise least squares mean differences and their significance. Syntax: DIFFPLOT<(diffplot-options)> You can specify the following diffplot-options: ABS all line segments are shown on the same side of the reference line. NOABS separates comparisons according to the sign of the difference. CENTER marks the center point for each comparison. NOLINES suppresses the display of the line segments that represent the confidence bounds for the differences of the least squares means. The NOLINES option implies the CENTER option.\",\"type\":\"standalone\"},{\"name\":\"MEANPLOT\",\"followsDelimiter\":\"/\",\"description\":\"Requests displays of the least squares means. Syntax: MEANPLOT<(meanplot-options)> The following meanplot-options control the display of the least squares means: ASCENDING displays the least squares means in ascending order. This option has no effect if means are sliced or displayed in separate plots. CL displays upper and lower confidence limits for the least squares means. By default, 95% limits are drawn. CLBAND displays confidence limits as bands. This option implies the JOIN option. DESCENDING displays the least squares means in descending order. This option has no effect if means are sliced or displayed in separate plots. ILINK requests that means (and confidence limits) are displayed on the inverse linked scale. JOIN | CONNECT connects the least squares means with lines. This option is implied by the CLBAND option. SLICEBY=fixed-effect specifies an effect by which to group the means in a single plot. PLOTBY=fixed-effect specifies an effect by which to break interaction plots into separate displays.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"followsDelimiter\":\"/\",\"description\":\"Requests that no plots be produced.\",\"type\":\"standalone\"}]},{\"name\":\"SINGULAR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Tunes the estimability checking as documented for the CONTRAST statement.\",\"help\":\"SINGULAR=*number*\",\"type\":\"value\"},{\"name\":\"SLICE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies effects by which to partition interaction LSMEANS effects.\",\"help\":\"SLICE=*fixed-effect*\",\"type\":\"value\"},{\"name\":\"SLICEDIFF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"SIMPLEDIFF=\"],\"description\":\"Requests that differences of simple effects be constructed and tested against zero.\",\"type\":\"value\"},{\"name\":\"SLICEDIFFTYPE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"SIMPLEDIFFTYPE=\"],\"description\":\"Determines the type of simple effect differences produced with the SLICEDIFF= option.\",\"help\":\"SLICEDIFFTYPE=ALL | CONTROL | CONTROLL | CONTROLU\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ALL\",\"followsDelimiter\":\"/\",\"description\":\"Requests all simple effects differences, and it is the default.\",\"type\":\"standalone\"},{\"name\":\"CONTROL\",\"followsDelimiter\":\"/\",\"description\":\"Requests the differences with a control, which, by default, is the first level of each of the specified LSMEANS effects.\",\"type\":\"standalone\"},{\"name\":\"CONTROLL\",\"followsDelimiter\":\"/\",\"description\":\"Tests whether the noncontrol levels are significantly smaller than the control; the upper confidence limits for the control minus the noncontrol levels are considered to be infinity and are displayed as missing.\",\"type\":\"standalone\"},{\"name\":\"CONTROLU\",\"followsDelimiter\":\"/\",\"description\":\"Tests whether the noncontrol levels are significantly larger than the control; the upper confidence limits for the noncontrol levels minus the control are considered to be infinity and are displayed as missing.\",\"type\":\"standalone\"}]},{\"name\":\"STEPDOWN\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that multiple comparison adjustments for the p-values of LS-mean differences be further adjusted in a step-down fashion. You can specify the following step-down options in parentheses: MAXTIME=n specifies the time (in seconds) to spend computing the maximal logically consistent sequential subsets of equality hypotheses for TYPE=LOGICAL. REPORT specifies that a report on the step-down adjustment should be displayed, including a listing of the sequential subsets (Westfall 1997) and, for ADJUST=SIMULATE, the step-down simulation results.\",\"type\":\"standalone\"}]},{\"name\":\"LSMESTIMATE\",\"description\":\"The LSMESTIMATE statement provides a mechanism for obtaining custom hypothesis tests among the least squares means.\",\"help\":\"LSMESTIMATE &lt;ADJDFE=&lt;SOURCE | ROW&gt;&gt;&lt;ADJUST=&lt;BON | SCHEFFE | SIDAK&gt;... &gt;&lt;ALPHA=number&gt; ...\",\"arguments\":[{\"name\":\"ADJDFE=\",\"optional\":true,\"description\":\"Specifies how denominator degrees of freedom are determined when p-values and confidence limits are adjusted for multiple comparisons with the ADJUST= option.\",\"help\":\"ADJDFE=SOURCE | ROW\",\"type\":\"choice\",\"arguments\":[{\"name\":\"SOURCE\",\"description\":\"The denominator degrees of freedom for multiplicity-adjusted results are the denominator degrees of freedom for the LS-mean effect in the \\\"Type III Tests of Fixed Effects\\\" table.\",\"type\":\"standalone\"},{\"name\":\"ROW\",\"description\":\"Useful if you want multiplicity adjustments to take into account that denominator degrees of freedom are not constant across estimates.\",\"type\":\"standalone\"}]},{\"name\":\"ADJUST=\",\"optional\":true,\"description\":\"Requests a multiple comparison adjustment for the p-values and confidence limits for the estimates.\",\"help\":\"ADJUST=BON | SCHEFFE | SIDAK | SIMULATE | T\",\"type\":\"choice\",\"arguments\":[{\"name\":\"BON\",\"description\":\"Bonferroni adjustment\",\"type\":\"standalone\"},{\"name\":\"SCHEFFE\",\"description\":\"Scheffe's adjustment\",\"type\":\"standalone\"},{\"name\":\"SIDAK\",\"description\":\"Sidak adjustment\",\"type\":\"standalone\"},{\"name\":\"SIMULATE\",\"description\":\"Computes adjusted p-values and confidence limits from the simulated distribution of the maximum or maximum absolute value of a multivariate t random vector. Syntax: SIMULATE<(simoptions)> You can specify the following simoptions in parentheses after the ADJUST=SIMULATE option. ACC=value specifies the target accuracy radius γ of a 100(1-ε)% confidence interval for the true probability content of the estimated (1-α)th quantile. The default value is ACC=0.005. CVADJUST specifies that the quantile should be estimated by the control variate adjustment method of Hsu and Nelson (1998) instead of simply as the quantile of the simulated sample. EPS=value specifies the value ε for a 100(1-ε)% confidence interval for the true probability content of the estimated (1-α)th quantile. NSAMP=n specifies the sample size for the simulation. REPORT specifies that a report on the simulation should be displayed, including a listing of the parameters, such as γ, ε, and α, as well as an analysis of various methods for estimating or approximating the quantile. SEED=number specifies an integer used to start the pseudo-random number generator for the simulation.\",\"type\":\"standalone\"},{\"name\":\"T\",\"description\":\"The default, which really signifies no adjustment for multiple comparisons.\",\"type\":\"standalone\"}]},{\"name\":\"ALPHA=\",\"optional\":true,\"description\":\"Requests that a t-type confidence interval be constructed with confidence level 1-number. The value of number must be between 0 and 1; the default is 0.05.\",\"help\":\"ALPHA=*number*\",\"type\":\"value\"},{\"name\":\"AT=\",\"optional\":true,\"description\":\"Enables you to modify the values of the covariates used in computing LS-means.\",\"help\":\"AT=MEANS\",\"type\":\"choice\",\"arguments\":[{\"name\":\"MEANS\",\"type\":\"standalone\"}]},{\"name\":\"BYLEVEL\",\"optional\":true,\"description\":\"Requests that PROC GLIMMIX compute separate margins for each level of the LSMEANS effect.\",\"type\":\"standalone\"},{\"name\":\"CHISQ\",\"optional\":true,\"description\":\"Requests that chi-square tests be performed in addition to F tests, when you request an F test with the FTEST option.\",\"type\":\"standalone\"},{\"name\":\"CL\",\"optional\":true,\"description\":\"Requests that t-type confidence limits be constructed.\",\"type\":\"standalone\"},{\"name\":\"CORR\",\"optional\":true,\"description\":\"Displays the estimated correlation matrix of the linear combination of the least squares means.\",\"type\":\"standalone\"},{\"name\":\"COV\",\"optional\":true,\"description\":\"Displays the estimated covariance matrix of the linear combination of the least squares means.\",\"type\":\"standalone\"},{\"name\":\"DF=\",\"optional\":true,\"description\":\"Specifies the degrees of freedom for the t test and confidence limits.\",\"help\":\"DF=*number*\",\"type\":\"value\"},{\"name\":\"DIVISOR=\",\"optional\":true,\"description\":\"Specifies a list of values by which to divide the coefficients so that fractional coefficients can be entered as integer numerators.\",\"help\":\"DIVISOR=*value-list*\",\"type\":\"value\"},{\"name\":\"E\",\"optional\":true,\"description\":\"Requests that the L matrix coefficients be displayed.\",\"type\":\"standalone\"},{\"name\":\"ELSM\",\"optional\":true,\"description\":\"Requests that the K matrix coefficients be displayed.\",\"type\":\"standalone\"},{\"name\":\"EXP\",\"optional\":true,\"description\":\"Requests exponentiation of the estimate.\",\"type\":\"standalone\"},{\"name\":\"FTEST\",\"optional\":true,\"description\":\"Produces an F test that jointly tests the rows of the LSMESTIMATE against zero.\",\"type\":\"standalone\"},{\"name\":\"ILINK\",\"optional\":true,\"description\":\"Requests that the estimate and its standard error are also reported on the scale of the mean (the inverse linked scale).\",\"type\":\"standalone\"},{\"name\":\"LOWER\",\"optional\":true,\"aliases\":[\"LOWERTAILED\"],\"description\":\"Requests that the p-value for the t test be based only on values less than the test statistic.\",\"type\":\"standalone\"},{\"name\":\"OBSMARGINS\",\"optional\":true,\"aliases\":[\"OM\"],\"description\":\"Specifies a potentially different weighting scheme for the computation of LS-means coefficients.\",\"type\":\"standalone\"},{\"name\":\"SINGULAR=\",\"optional\":true,\"description\":\"Tunes the estimability checking as documented for the CONTRAST statement.\",\"help\":\"SINGULAR=*number*\",\"type\":\"value\"},{\"name\":\"STEPDOWN\",\"optional\":true,\"description\":\"Requests that multiplicity adjustments for the p-values of estimates be further adjusted in a step-down fashion. You can specify the following step-down-options in parentheses: MAXTIME=n specifies the time (in seconds) to spend computing the maximal logically consistent sequential subsets of equality hypotheses for TYPE=LOGICAL. The default is MAXTIME=60. ORDER=PVALUE ORDER=ROWS specifies the order in which the step-down tests are performed. ORDER=PVALUE is the default, with LS-mean estimates being declared significant only if all LS-mean estimates with smaller (unadjusted) p-values are significant. If you specify ORDER=ROWS, then significances are evaluated in the order in which they are specified. REPORT specifies that a report on the step-down adjustment be displayed, including a listing of the sequential subsets (Westfall 1997) and, for ADJUST=SIMULATE, the step-down simulation results.\",\"type\":\"standalone\"},{\"name\":\"UPPER\",\"optional\":true,\"aliases\":[\"UPPERTAILED\"],\"description\":\"Requests that the p-value for the t test be based only on values greater than the test statistic.\",\"type\":\"standalone\"}]},{\"name\":\"MODEL\",\"description\":\"MODEL response<*censor(list)>=effects </ options> ; <label:> MODEL (lower,upper)=effects </ options> ; <label:> MODEL events/trials=effects </ options> ; Only a single MODEL statement can be used with one invocation of the LIFEREG procedure.\",\"help\":\"MODEL &lt;ALPHA=number&gt;&lt;CONVERGE=value&gt;&lt;CONVG=value&gt; ...\",\"arguments\":[{\"name\":\"ALPHA=\",\"optional\":true,\"description\":\"Sets the significance level for the confidence intervals for regression parameters and estimated survival probabilities. The value must be between 0 and 1. By default, ALPHA=0.05.\",\"help\":\"ALPHA=*number*\",\"type\":\"value\"},{\"name\":\"CONVERGE=\",\"optional\":true,\"description\":\"Sets the convergence criterion. Convergence is declared when the maximum change in the parameter estimates between Newton-Raphson steps is less than the value specified.\",\"help\":\"CONVERGE=*value*\",\"type\":\"value\"},{\"name\":\"CONVG=\",\"optional\":true,\"description\":\"Sets the relative Hessian convergence criterion; value must be between 0 and 1.\",\"help\":\"CONVG=*value*\",\"type\":\"value\"},{\"name\":\"COORB\",\"optional\":true,\"description\":\"Produces the estimated correlation matrix of the parameter estimates.\",\"type\":\"standalone\"},{\"name\":\"COVB\",\"optional\":true,\"description\":\"Produces the estimated covariance matrix of the parameter estimates.\",\"type\":\"standalone\"},{\"name\":\"DISTRIBUTION=\",\"optional\":true,\"aliases\":[\"DIST=\",\"D=\"],\"description\":\"Specifies the distribution type assumed for the failure time.\",\"help\":\"DISTRIBUTION=EXPONENTIAL | GAMMA | LLOGISTIC | LNORMAL | LOGISTIC | NORMAL | WEIBULL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"EXPONENTIAL\",\"description\":\"Exponential distribution\",\"type\":\"standalone\"},{\"name\":\"GAMMA\",\"description\":\"Gamma distribution\",\"type\":\"standalone\"},{\"name\":\"LLOGISTIC\",\"description\":\"Log-logistic distribution\",\"type\":\"standalone\"},{\"name\":\"LNORMAL\",\"description\":\"Lognormal distribution\",\"type\":\"standalone\"},{\"name\":\"LOGISTIC\",\"description\":\"Logistic distribution\",\"type\":\"standalone\"},{\"name\":\"NORMAL\",\"description\":\"Normal distribution\",\"type\":\"standalone\"},{\"name\":\"WEIBULL\",\"description\":\"Weibull distribution\",\"type\":\"standalone\"}]},{\"name\":\"INITIAL=\",\"optional\":true,\"description\":\"Sets initial values for the regression parameters.\",\"help\":\"INITIAL=*values*\",\"type\":\"value\"},{\"name\":\"INTERCEPT=\",\"optional\":true,\"description\":\"Initializes the intercept term to value. By default, the intercept is initialized by an ordinary least squares estimate.\",\"help\":\"INTERCEPT=*value*\",\"type\":\"value\"},{\"name\":\"ITPRINT\",\"optional\":true,\"description\":\"Displays the iteration history for computing maximum likelihood estimates, the final evaluation of the gradient, and the final evaluation of the negative of the second derivative matrix—that is, the negative of the Hessian.\",\"type\":\"standalone\"},{\"name\":\"MAXITER=\",\"optional\":true,\"description\":\"Sets the maximum allowable number of iterations during the model estimation. By default, MAXITER=50.\",\"help\":\"MAXITER=*n*\",\"type\":\"value\"},{\"name\":\"NOINT\",\"optional\":true,\"description\":\"Holds the intercept term fixed.\",\"type\":\"standalone\"},{\"name\":\"NOLOG\",\"optional\":true,\"description\":\"Requests that no log transformation of the response variable be performed.\",\"type\":\"standalone\"},{\"name\":\"NOSCALE\",\"optional\":true,\"description\":\"Holds the scale parameter fixed.\",\"type\":\"standalone\"},{\"name\":\"NOSHAPE1\",\"optional\":true,\"description\":\"Holds the first shape parameter, SHAPE1, fixed. If no SHAPE1= value is specified, SHAPE1 is fixed at a value that depends on the DISTRIBUTION type.\",\"type\":\"standalone\"},{\"name\":\"OFFSET=\",\"optional\":true,\"description\":\"Specifies a variable in the input data set to be used as an offset variable. This variable cannot be a CLASS variable, and it cannot be the response variable or one of the explanatory variables.\",\"help\":\"OFFSET=*variable*\",\"type\":\"value\"},{\"name\":\"SCALE=\",\"optional\":true,\"description\":\"Initializes the scale parameter to value. If the Weibull distribution is specified, this scale parameter is the scale parameter of the type 1 extreme-value distribution, not the Weibull scale parameter. Note that, with a log transformation, the exponential model is the same as a Weibull model with the scale parameter fixed at the value 1.\",\"help\":\"SCALE=*value*\",\"type\":\"value\"},{\"name\":\"SHAPE1=\",\"optional\":true,\"description\":\"Initializes the first shape parameter to value. If the specified distribution does not depend on this parameter, then this option has no effect.\",\"help\":\"SHAPE1=*value*\",\"type\":\"value\"},{\"name\":\"SINGULAR=\",\"optional\":true,\"description\":\"Sets the tolerance for testing singularity of the information matrix and the crossproducts matrix for the initial least squares estimates. Roughly, the test requires that a pivot be at least this value times the original diagonal value. By default, SINGULAR=1E12.\",\"help\":\"SINGULAR=*value*\",\"type\":\"value\"}]},{\"name\":\"OUTPUT\",\"description\":\"The OUTPUT statement creates a new SAS data set containing statistics calculated after fitting the model. At least one specification of the form keyword=name is required.\",\"help\":\"OUTPUT &lt;CDF=variable&gt;&lt;CENSORED=variable&gt;&lt;OUT=SAS-data-set&gt; ...\",\"arguments\":[{\"name\":\"CDF=\",\"optional\":true,\"description\":\"Specifies a variable to contain the estimates of the cumulative distribution function evaluated at the observed response. If the data are interval censored, then the cumulative distribution function is evaluated at the response lower interval endpoint.\",\"help\":\"CDF=*variable*\",\"type\":\"value\"},{\"name\":\"CENSORED=\",\"optional\":true,\"description\":\"Specifies a variable to signal whether an observation is censored, and the type of censoring.\",\"help\":\"CENSORED=*variable*\",\"type\":\"value\"},{\"name\":\"CONTROL=\",\"optional\":true,\"description\":\"Specifies a variable in the input data set to control the estimation of quantiles. If the specified variable has the value 1, estimates for all the values listed in the QUANTILE= list are computed for that observation in the input data set; otherwise, no estimates are computed. If no CONTROL= variable is specified, all quantiles are estimated for all observations. If the response variable in the MODEL statement is binomial, then this option has no effect.\",\"help\":\"CONTROL=*variable*\",\"type\":\"value\"},{\"name\":\"CRESIDUAL=\",\"optional\":true,\"aliases\":[\"CRES=\"],\"description\":\"Specifies a variable to contain the Cox-Snell residuals.\",\"type\":\"value\"},{\"name\":\"OUT=\",\"optional\":true,\"description\":\"Specifies the new data set. By default, the procedure uses the DATAn convention to name the new data set.\",\"help\":\"OUT=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"PREDICTED=\",\"optional\":true,\"aliases\":[\"P=\"],\"description\":\"Specifies a variable to contain the quantile estimates.\",\"type\":\"value\"},{\"name\":\"QUANTILES=\",\"optional\":true,\"aliases\":[\"QUANTILE=\",\"Q=\"],\"description\":\"Gives a list of values for which quantiles are calculated.\",\"type\":\"value\"},{\"name\":\"SRESIDUAL=\",\"optional\":true,\"aliases\":[\"SRES=\"],\"description\":\"Specifies a variable to contain the standardized residuals.\",\"type\":\"value\"},{\"name\":\"STD_ERR=\",\"optional\":true,\"aliases\":[\"STD=\"],\"description\":\"Specifies a variable to contain the estimates of the standard errors of the estimated quantiles or x'b.\",\"type\":\"value\"},{\"name\":\"XBETA=\",\"optional\":true,\"description\":\"Specifies a variable to contain the computed value of x'b, where x is the covariate vector and b is the vector of parameter estimates.\",\"help\":\"XBETA=*variable*\",\"type\":\"value\"}]},{\"name\":\"PROBPLOT\",\"aliases\":[\"PPLOT\"],\"description\":\"You can use the PROBPLOT statement to create a probability plot from lifetime data.\",\"help\":\"PROBPLOT &lt;ANNOTATE=SAS-data-set&gt;&lt;CAXIS=color&gt;&lt;CCENSOR=color&gt; ...\",\"arguments\":[{\"name\":\"ANNOTATE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"ANNO=\"],\"description\":\"Specifies an Annotate data set that enables you to add features to the probability plot.\",\"help\":\"ANNOTATE=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"CAXIS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"CAXES=\"],\"description\":\"Specifies the color used for the axes and tick marks. This option overrides any COLOR= specifications in an AXIS statement. The default is the first color in the device color list.\",\"help\":\"CAXIS=*color*\",\"type\":\"color\"},{\"name\":\"CCENSOR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the color for filling the censor plot area. The default is the first color in the device color list.\",\"help\":\"CCENSOR=*color*\",\"type\":\"color\"},{\"name\":\"CENBIN\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Plots censored data as frequency counts (rounding for noninteger frequency) rather than as individual points.\",\"type\":\"standalone\"},{\"name\":\"CENCOLOR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the color for the censor symbol. The default is the first color in the device color list.\",\"help\":\"CENCOLOR=*color*\",\"type\":\"color\"},{\"name\":\"CENSYMBOL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies symbols for censored values. The symbol is one of the symbol names (plus, star, square, diamond, triangle, hash, paw, point, dot, and circle) or a letter (A–Z).\",\"type\":\"value\"},{\"name\":\"CFIT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the color for the fitted probability line and confidence curves. The default is the first color in the device color list.\",\"help\":\"CFIT=*color*\",\"type\":\"color\"},{\"name\":\"CFRAME=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"CFR=\"],\"description\":\"Specifies the color for the area enclosed by the axes and frame. This area is not shaded by default.\",\"help\":\"CFRAME=*color*\",\"type\":\"color\"},{\"name\":\"CGRID=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the color for grid lines. The default is the first color in the device color list.\",\"help\":\"CGRID=*color*\",\"type\":\"color\"},{\"name\":\"CHREF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"CH=\"],\"description\":\"Specifies the color for lines requested by the HREF= option. The default is the first color in the device color list.\",\"help\":\"CHREF=*color*\",\"type\":\"color\"},{\"name\":\"CTEXT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the color for tick mark values and axis labels. The default is the color specified for the CTEXT= option in the most recent GOPTIONS statement.\",\"help\":\"CTEXT=*color*\",\"type\":\"color\"},{\"name\":\"CVREF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"CV=\"],\"description\":\"Specifies the color for lines requested by the VREF= option. The default is the first color in the device color list.\",\"help\":\"CVREF=*color*\",\"type\":\"color\"},{\"name\":\"DESCRIPTION=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"DES=\"],\"description\":\"Specifies a description, up to 40 characters, that appears in the PROC GREPLAY master menu. The default is the variable name.\",\"type\":\"value\"},{\"name\":\"FONT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies a software font for reference line and axis labels. You can also specify fonts for axis labels in an AXIS statement.\",\"help\":\"FONT=*font*\",\"type\":\"value\"},{\"name\":\"HCL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Computes and draws confidence limits for the predicted probabilities in the horizontal direction.\",\"type\":\"standalone\"},{\"name\":\"HEIGHT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the height of text used outside framed areas. The default value is 3.846 (in percentage).\",\"help\":\"HEIGHT=*value*\",\"type\":\"value\"},{\"name\":\"HLOWER=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the lower limit on the lifetime axis scale. The HLOWER= option specifies value as the lower lifetime axis tick mark. The tick mark interval and the upper axis limit are determined automatically.\",\"help\":\"HLOWER=*value*\",\"type\":\"value\"},{\"name\":\"HOFFSET=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the offset for the horizontal axis. The default value is 1.\",\"help\":\"HOFFSET=*value*\",\"type\":\"value\"},{\"name\":\"HREF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests reference lines perpendicular to the horizontal axis. If (INTERSECT) is specified, a second reference line perpendicular to the vertical axis is drawn that intersects the fit line at the same point as the horizontal axis reference line. If a horizontal axis reference line label is specified, the intersecting vertical axis reference line is labeled with the vertical axis value.\",\"help\":\"HREF=INTERSECT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"INTERSECT\",\"type\":\"standalone\"}]},{\"name\":\"HREFLABELS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"HREFLABEL=\",\"HREFLAB=\"],\"description\":\"Specifies labels for the lines requested by the HREF= option.\",\"type\":\"value\"},{\"name\":\"HREFLABPOS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the vertical position of labels for HREF= lines.\",\"help\":\"HREFLABPOS=1 | 2 | 3 | 4 | 5 | 6\",\"type\":\"choice\",\"arguments\":[{\"name\":\"1\",\"followsDelimiter\":\"/\",\"description\":\"Top\",\"type\":\"standalone\"},{\"name\":\"2\",\"followsDelimiter\":\"/\",\"description\":\"Staggered from top\",\"type\":\"standalone\"},{\"name\":\"3\",\"followsDelimiter\":\"/\",\"description\":\"Bottom\",\"type\":\"standalone\"},{\"name\":\"4\",\"followsDelimiter\":\"/\",\"description\":\"Staggered from bottom\",\"type\":\"standalone\"},{\"name\":\"5\",\"followsDelimiter\":\"/\",\"description\":\"Alternating from top\",\"type\":\"standalone\"},{\"name\":\"6\",\"followsDelimiter\":\"/\",\"description\":\"Alternating from bottom\",\"type\":\"standalone\"}]},{\"name\":\"HUPPER=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies value as the upper lifetime axis tick mark. The tick mark interval and the lower axis limit are determined automatically.\",\"help\":\"HUPPER=*value*\",\"type\":\"value\"},{\"name\":\"INBORDER\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests a border around probability plots.\",\"type\":\"standalone\"},{\"name\":\"INTERTILE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the distance between tiles.\",\"help\":\"INTERTILE=*value*\",\"type\":\"value\"},{\"name\":\"ITPRINTEM\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays the iteration history for the Turnbull algorithm.\",\"type\":\"standalone\"},{\"name\":\"JITTER=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the amount to jitter overlaying plot symbols, in units of symbol width.\",\"help\":\"JITTER=*value*\",\"type\":\"value\"},{\"name\":\"LFIT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies a line style for fitted curves and confidence limits. By default, fitted curves are drawn by connecting solid lines (linetype = 1), and confidence limits are drawn by connecting dashed lines (linetype = 3).\",\"help\":\"LFIT=*linetype*\",\"type\":\"value\"},{\"name\":\"LGRID=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies a line style for all grid lines; linetype is between 1 and 46. The default is 35.\",\"help\":\"LGRID=*linetype*\",\"type\":\"value\"},{\"name\":\"LHREF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"LH=\"],\"description\":\"Specifies the line type for lines requested by the HREF= option. The default is 2, which produces a dashed line.\",\"help\":\"LHREF=*linetype*\",\"type\":\"value\"},{\"name\":\"LVREF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"LV=\"],\"description\":\"Specifies the line type for lines requested by the VREF= option. The default is 2, which produces a dashed line.\",\"help\":\"LVREF=*linetype*\",\"type\":\"value\"},{\"name\":\"MAXITEM=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the maximum number of iterations allowed for the Turnbull algorithm. Iteration history will be displayed in increments of n2 if requested with the ITPRINTEM option.\",\"type\":\"value\"},{\"name\":\"NAME=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies a name for the plot, up to eight characters, that appears in the PROC GREPLAY master menu. The default is ’LIFEREG’.\",\"type\":\"value\"},{\"name\":\"NOCENPLOT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Suppresses the plotting of censored data points.\",\"type\":\"standalone\"},{\"name\":\"NOCONF\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Suppresses the default percentile confidence bands on the probability plot.\",\"type\":\"standalone\"},{\"name\":\"NODATA\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Suppresses plotting of the estimated empirical probability plot.\",\"type\":\"standalone\"},{\"name\":\"NOFIT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Suppresses the fitted probability (percentile) line and confidence bands.\",\"type\":\"standalone\"},{\"name\":\"NOFRAME\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Suppresses the frame around plotting areas.\",\"type\":\"standalone\"},{\"name\":\"NOGRID\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Suppresses grid lines.\",\"type\":\"standalone\"},{\"name\":\"NOHLABEL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Suppresses horizontal labels.\",\"type\":\"standalone\"},{\"name\":\"NOHTICK\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Suppresses horizontal tick marks.\",\"type\":\"standalone\"},{\"name\":\"NOPOLISH\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Suppresses setting small interval probabilities to zero in the Turnbull algorithm.\",\"type\":\"standalone\"},{\"name\":\"NOVLABEL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Suppresses vertical labels.\",\"type\":\"standalone\"},{\"name\":\"NOVTICK\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Suppresses vertical tick marks.\",\"type\":\"standalone\"},{\"name\":\"NPINTERVALS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies one of the two kinds of confidence limits for the estimated cumulative probabilities requested by the PPOUT option to be displayed in the tabular output.\",\"help\":\"NPINTERVALS=POINT | SIMUL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"POINT\",\"followsDelimiter\":\"/\",\"description\":\"Pointwise (NPINTERVALS=POINT)\",\"type\":\"standalone\"},{\"name\":\"SIMUL\",\"followsDelimiter\":\"/\",\"description\":\"Simultaneous (NPINTERVALS=SIMUL)\",\"type\":\"standalone\"}]},{\"name\":\"PCTLIST=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the list of percentages for which to compute percentile estimates; value-list must be a list of values separated by blanks or commas. Each value in the list must be between 0 and 100.\",\"help\":\"PCTLIST=*value-list*\",\"type\":\"value\"},{\"name\":\"PLOWER=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the lower limit on the probability axis scale. The PLOWER= option specifies value as the lower probability axis tick mark. The tick mark interval and the upper axis limit are determined automatically.\",\"help\":\"PLOWER=*value*\",\"type\":\"value\"},{\"name\":\"PPOS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the plotting position type.\",\"help\":\"PPOS=EXPRANK | MEDRANK | MEDRANK1 | KM | MKM\",\"type\":\"choice\",\"arguments\":[{\"name\":\"EXPRANK\",\"followsDelimiter\":\"/\",\"description\":\"Expected ranks\",\"type\":\"standalone\"},{\"name\":\"MEDRANK\",\"followsDelimiter\":\"/\",\"description\":\"Median ranks\",\"type\":\"standalone\"},{\"name\":\"MEDRANK1\",\"followsDelimiter\":\"/\",\"description\":\"Median ranks (exact formula)\",\"type\":\"standalone\"},{\"name\":\"KM\",\"followsDelimiter\":\"/\",\"description\":\"Kaplan-Meier\",\"type\":\"standalone\"},{\"name\":\"MKM\",\"followsDelimiter\":\"/\",\"description\":\"Modified Kaplan-Meier (default)\",\"type\":\"standalone\"}]},{\"name\":\"PPOUT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies that a table of the cumulative probabilities plotted on the probability plot be displayed.\",\"type\":\"standalone\"},{\"name\":\"PRINTPROBS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays intervals and associated probabilities for the Turnbull algorithm.\",\"type\":\"standalone\"},{\"name\":\"PROBLIST=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the list of initial values for the Turnbull algorithm\",\"help\":\"PROBLIST=*value-list*\",\"type\":\"value\"},{\"name\":\"PUPPER=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the upper limit on the probability axis scale. The PUPPER= option specifies value as the upper probability axis tick mark. The tick mark interval and the lower axis limit are determined automatically.\",\"help\":\"PUPPER=*value*\",\"type\":\"value\"},{\"name\":\"ROTATE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests probability plots with probability scale on the horizontal axis.\",\"type\":\"standalone\"},{\"name\":\"SQUARE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Makes the layout of the probability plots square.\",\"type\":\"standalone\"},{\"name\":\"TOLLIKE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the criterion for convergence in the Turnbull algorithm.\",\"help\":\"TOLLIKE=*value*\",\"type\":\"value\"},{\"name\":\"TOLPROB=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the criterion for setting the interval probability to zero in the Turnbull algorithm.\",\"help\":\"TOLPROB=*value*\",\"type\":\"value\"},{\"name\":\"VAXISLABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies a label for the vertical axis.\",\"type\":\"value\"},{\"name\":\"VREF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests reference lines perpendicular to the vertical axis.\",\"help\":\"VREF=*value-list*\",\"type\":\"value\"},{\"name\":\"VREFLABELS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"VREFLABEL=\",\"VREFLAB=\"],\"description\":\"Specifies labels for the lines requested by the VREF= option. The number of labels must equal the number of lines. Enclose each label in quotes. Labels can be up to 16 characters.\",\"type\":\"value\"},{\"name\":\"VREFLABPOS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the horizontal position of labels for VREF= lines.\",\"help\":\"VREFLABPOS=1 | 2\",\"type\":\"choice\",\"arguments\":[{\"name\":\"1\",\"followsDelimiter\":\"/\",\"description\":\"Left\",\"type\":\"standalone\"},{\"name\":\"2\",\"followsDelimiter\":\"/\",\"description\":\"Right\",\"type\":\"standalone\"}]},{\"name\":\"WAXIS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies line thickness for axes and frame. The default value is 1.\",\"help\":\"WAXIS=*n*\",\"type\":\"value\"},{\"name\":\"WFIT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies line thickness for fitted curves. The default value is 1.\",\"help\":\"WFIT=*n*\",\"type\":\"value\"},{\"name\":\"WGRID=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies line thickness for grids. The default value is 1.\",\"help\":\"WGRID=*n*\",\"type\":\"value\"},{\"name\":\"WREFL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies line thickness for reference lines. The default value is 1.\",\"help\":\"WREFL=*n*\",\"type\":\"value\"}]},{\"name\":\"SLICE\",\"description\":\"The SLICE statement provides a general mechanism for performing a partitioned analysis of the LS-means for an interaction. This analysis is also known as an analysis of simple effects. The SLICE statement uses the same options as the LSMEANS statement.\",\"help\":\"SLICE &lt;ADJDFE=&lt;SOURCE | ROW&gt;&gt;&lt;ADJUST=&lt;BON | DUNNETT | NELSON&gt;... &gt;&lt;ALPHA=number&gt; ...\",\"arguments\":[{\"name\":\"ADJDFE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies how denominator degrees of freedom are determined when p-values and confidence limits are adjusted for multiple comparisons with the ADJUST= option.\",\"help\":\"ADJDFE=SOURCE | ROW\",\"type\":\"choice\",\"arguments\":[{\"name\":\"SOURCE\",\"followsDelimiter\":\"/\",\"description\":\"The denominator degrees of freedom for multiplicity-adjusted results are the denominator degrees of freedom for the LS-mean effect in the \\\"Type III Tests of Fixed Effects\\\" table.\",\"type\":\"standalone\"},{\"name\":\"ROW\",\"followsDelimiter\":\"/\",\"description\":\"Useful if you want multiplicity adjustments to take into account that denominator degrees of freedom are not constant across LS-mean differences.\",\"type\":\"standalone\"}]},{\"name\":\"ADJUST=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests a multiple comparison adjustment for the p-values and confidence limits for the differences of LS-means.\",\"help\":\"ADJUST=BON | DUNNETT | NELSON | SCHEFFE | SIDAK | SIMULATE | SMM | TUKEY\",\"type\":\"choice\",\"arguments\":[{\"name\":\"BON\",\"followsDelimiter\":\"/\",\"description\":\"Bonferroni adjustment\",\"type\":\"standalone\"},{\"name\":\"DUNNETT\",\"followsDelimiter\":\"/\",\"description\":\"Dunnett adjustment (in which the procedure analyzes all differences with a control level)\",\"type\":\"standalone\"},{\"name\":\"NELSON\",\"followsDelimiter\":\"/\",\"description\":\"Nelson adjustment (in which ANOM differences are taken)\",\"type\":\"standalone\"},{\"name\":\"SCHEFFE\",\"followsDelimiter\":\"/\",\"description\":\"Scheffe's adjustment\",\"type\":\"standalone\"},{\"name\":\"SIDAK\",\"followsDelimiter\":\"/\",\"description\":\"Sidak adjustment\",\"type\":\"standalone\"},{\"name\":\"SIMULATE\",\"followsDelimiter\":\"/\",\"description\":\"Computes adjusted p-values and confidence limits from the simulated distribution of the maximum or maximum absolute value of a multivariate t random vector. Syntax: SIMULATE<(simoptions)> You can specify the following simoptions in parentheses after the ADJUST=SIMULATE option. ACC=value specifies the target accuracy radius γ of a 100(1-ε)% confidence interval for the true probability content of the estimated (1-α)th quantile. The default value is ACC=0.005. EPS=value specifies the value ε for a 100(1-ε)% confidence interval for the true probability content of the estimated (1-α)th quantile. The default value is ACC=0.005. NSAMP=n specifies the sample size for the simulation. SEED=number specifies an integer that is used to start the pseudo-random number generator for the simulation. THREADS specifies that the computational work for the simulation be divided into parallel threads, where the number of threads is the value of the SAS system option CPUCOUNT=. NOTHREADS specifies that the computational work for the simulation be performed in sequence rather than in parallel. NOTHREADS is the default. This option overrides the SAS system option THREADS|NOTHREADS.\",\"type\":\"standalone\"},{\"name\":\"SMM\",\"followsDelimiter\":\"/\",\"aliases\":[\"GT2\"],\"description\":\"SMM adjustment\",\"type\":\"standalone\"},{\"name\":\"TUKEY\",\"followsDelimiter\":\"/\",\"description\":\"If your data are unbalanced, PROC GLIMMIX uses the approximation described in Kramer (1956) and identifies the adjustment as \\\"Tukey-Kramer\\\" in the results.\",\"type\":\"standalone\"}]},{\"name\":\"ALPHA=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that a t-type confidence interval be constructed for each of the LS-means with confidence level (1-number)x100%. The value of number must be between 0 and 1; the default is 0.05.\",\"help\":\"ALPHA=*number*\",\"type\":\"value\"},{\"name\":\"AT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Modifies the values of the covariates that are used in computing LS-means. By default, all covariate effects are set equal to their mean values for computation of standard LS-means. The AT option enables you to assign arbitrary values to the covariates. Additional columns in the output table indicate the values of the covariates.\",\"help\":\"AT=MEANS\",\"type\":\"choice\",\"arguments\":[{\"name\":\"MEANS\",\"type\":\"standalone\"}]},{\"name\":\"BYLEVEL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that separate margins be computed for each level of the SLICE model-effect.\",\"type\":\"standalone\"},{\"name\":\"CL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that t-type confidence limits be constructed for each of the LS-means. The confidence level is 0.95 by default; this can be changed with the ALPHA= option.\",\"type\":\"standalone\"},{\"name\":\"CORR\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays the estimated correlation matrix of the least squares means as part of the \\\"Least Squares Means\\\" table.\",\"type\":\"standalone\"},{\"name\":\"COV\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays the estimated covariance matrix of the least squares means as part of the \\\"Least Squares Means\\\" table.\",\"type\":\"standalone\"},{\"name\":\"DF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the degrees of freedom for the t test and confidence limits. The default is the denominator degrees of freedom taken from the \\\"Type III Tests\\\" table that corresponds to the LS-means effect.\",\"help\":\"DF=*number*\",\"type\":\"value\"},{\"name\":\"DIFF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"PDIFF=\"],\"description\":\"Requests that differences of the LS-means be displayed.\",\"help\":\"DIFF=ALL | ANOM | CONTROL | CONTROLL | CONTROLU\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ALL\",\"followsDelimiter\":\"/\",\"description\":\"Requests all pairwise differences; this is the default.\",\"type\":\"standalone\"},{\"name\":\"ANOM\",\"followsDelimiter\":\"/\",\"description\":\"Requests differences between each LS-mean and the average LS-mean, as in the analysis of means (Ott 1967).\",\"type\":\"standalone\"},{\"name\":\"CONTROL\",\"followsDelimiter\":\"/\",\"description\":\"Requests the differences with a control, which, by default, is the first level of each of the specified SLICE effects.\",\"type\":\"standalone\"},{\"name\":\"CONTROLL\",\"followsDelimiter\":\"/\",\"description\":\"Tests whether the noncontrol levels are significantly smaller than the control; the upper confidence limits for the control minus the noncontrol levels are considered to be infinity and are displayed as missing.\",\"type\":\"standalone\"},{\"name\":\"CONTROLU\",\"followsDelimiter\":\"/\",\"description\":\"Tests whether the noncontrol levels are significantly larger than the control; the upper confidence limits for the noncontrol levels minus the control are considered to be infinity and are displayed as missing.\",\"type\":\"standalone\"}]},{\"name\":\"E\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that the L matrix coefficients for the SLICE effects be displayed.\",\"type\":\"standalone\"},{\"name\":\"EXP\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests exponentiation of the LS-means or LS-mean differences. When you model data with the logit, cumulative logit, or generalized logit link functions, and the estimate represents a log odds ratio or log cumulative odds ratio, the EXP option produces an odds ratio. In proportional hazards model, the exponentiation of the LS-mean differences produces estimates of hazard ratios. If you specify the CL or ALPHA= option, the (adjusted) confidence bounds are also exponentiated.\",\"type\":\"standalone\"},{\"name\":\"ILINK\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that estimates and their standard errors in the \\\"Least Squares Means\\\" table also be reported on the scale of the mean (the inverse linked scale).\",\"type\":\"standalone\"},{\"name\":\"LINES\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Presents results of comparisons between all pairs of least squares means by listing the means in descending order and indicating nonsignificant subsets by line segments beside the corresponding LS-means.\",\"type\":\"standalone\"},{\"name\":\"MEANS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies to produce the table of least squares means.\",\"type\":\"standalone\"},{\"name\":\"NOF\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Suppresses the F test for testing the mutual equality of the estimable functions in the partition.\",\"type\":\"standalone\"},{\"name\":\"NOMEANS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies not to produce the table of least squares means. This is the default.\",\"type\":\"standalone\"},{\"name\":\"OBSMARGINS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"OM=\"],\"description\":\"Specifies a potentially different weighting scheme for the computation of LS-means coefficients. The standard LS-means have equal coefficients across classification effects; however, the OM option changes these coefficients to be proportional to those found in the OM-data-set. This adjustment is reasonable when you want your inferences to apply to a population that is not necessarily balanced but has the margins that are observed in OM-data-set.\",\"type\":\"value\"},{\"name\":\"ODDSRATIO\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"OR\"],\"description\":\"Requests that LS-mean differences (DIFF, ADJUST= options) are also reported in terms of odds ratios. The ODDSRATIO option is ignored unless you use either the logit, cumulative logit, or generalized logit link function. If you specify the CL or ALPHA= option, confidence intervals for the odds ratios are also computed. These intervals are adjusted for multiplicity when you specify the ADJUST= option.\",\"type\":\"standalone\"},{\"name\":\"PDIFF\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Is the same as the DIFF option.\",\"type\":\"standalone\"},{\"name\":\"PLOT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"PLOTS=\"],\"description\":\"Requests that least squares means related graphics are produced via ODS Graphics, provided that the ODS GRAPHICS statement has been specified and the plot request does not conflict with other options in the SLICE statement.\",\"help\":\"PLOT=ALL | ANOMPLOT | BOXPLOT | CONTROLPLOT | DIFFPLOT | DISTPLOT | MEANPLOT | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ALL\",\"followsDelimiter\":\"/\",\"description\":\"Requests that the default plots corresponding to this SLICE statement be produced.\",\"type\":\"standalone\"},{\"name\":\"ANOMPLOT\",\"followsDelimiter\":\"/\",\"aliases\":[\"ANOM\"],\"description\":\"Requests an analysis of means display in which least squares means are compared to an average least squares mean.\",\"type\":\"standalone\"},{\"name\":\"BOXPLOT\",\"followsDelimiter\":\"/\",\"description\":\"Syntax: BOXPLOT<boxplot-options>> Produces box plots of the distribution of the least squares mean or least squares mean differences across a posterior sample. For example, this plot is available in procedures that support a Bayesian analysis through the BAYES statement. A separate box is generated for each estimable function, and all boxes appear on a single graph by default. You can affect the appearance of the box plot graph with the following options: ORIENTATION=VERTICAL|HORIZONTAL ORIENT=VERT|HORIZ specifies the orientation of the boxes. The default is vertical orientation of the box plots. NPANELPOS=number specifies how to break the series of box plots across multiple panels. If the NPANELPOS option is not specified, or if number equals zero, then all box plots are displayed in a single graph; this is the default.\",\"type\":\"standalone\"},{\"name\":\"CONTROLPLOT\",\"followsDelimiter\":\"/\",\"aliases\":[\"CONTROL\"],\"description\":\"Requests a display in which least squares means are visually compared against a reference level.\",\"type\":\"standalone\"},{\"name\":\"DIFFPLOT\",\"followsDelimiter\":\"/\",\"aliases\":[\"DIFFOGRAM\",\"DIFF\"],\"description\":\"Requests a display of all pairwise least squares mean differences and their significance. Syntax: DIFFPLOT<(diffplot-options)> You can specify the following diffplot-options: ABS all line segments are shown on the same side of the reference line. NOABS separates comparisons according to the sign of the difference. CENTER marks the center point for each comparison. NOLINES suppresses the display of the line segments that represent the confidence bounds for the differences of the least squares means. The NOLINES option implies the CENTER option.\",\"type\":\"standalone\"},{\"name\":\"DISTPLOT\",\"followsDelimiter\":\"/\",\"aliases\":[\"DIST\"],\"description\":\"Syntax: DISTPLOT<distplot-options> Generates panels of histograms with a kernel density overlaid if the analysis has access to a set of posterior parameter estimates. You can sepcify the following distplot-options in parentheses: BOX|NOBOX controls the display of a horizontal box plot of the estimable function’s distribution across the posterior sample below the graph. The BOX option is enabled by default. HIST|NOHIST controls the display of the histogram of the estimable function’s distribution across the posterior sample. The HIST option is enabled by default. NORMAL|NONORMAL controls the display of a normal density estimate on the graph. The NONORMAL option is enabled by default. KERNEL|NOKERNEL controls the display of a kernel density estimate on the graph. The KERNEL option is enabled by default. NROWS=number specifies the highest number of rows in a panel. The default is 3. NCOLS=number specifies the highest number of columns in a panel. The default is 3. UNPACK unpacks the panel into separate graphics.\",\"type\":\"standalone\"},{\"name\":\"MEANPLOT\",\"followsDelimiter\":\"/\",\"description\":\"Syntax: MEANPLOT<(meanplot-options)> Requests displays of the least squares means. The following meanplot-options control the display of the least squares means: ASCENDING displays the least squares means in ascending order. This option has no effect if means are sliced or displayed in separate plots. CL displays upper and lower confidence limits for the least squares means. By default, 95% limits are drawn. CLBAND displays confidence limits as bands. This option implies the JOIN option. DESCENDING displays the least squares means in descending order. This option has no effect if means are sliced or displayed in separate plots. ILINK requests that means (and confidence limits) are displayed on the inverse linked scale. JOIN | CONNECT connects the least squares means with lines. This option is implied by the CLBAND option. SLICEBY=fixed-effect specifies an effect by which to group the means in a single plot. PLOTBY=fixed-effect specifies an effect by which to break interaction plots into separate displays.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"followsDelimiter\":\"/\",\"description\":\"Requests that no plots be produced.\",\"type\":\"standalone\"}]},{\"name\":\"SEED=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the seed for the sampling-based components of the computations for the SLICE statement (for example, chi-bar-square statistics and simulated p-values). number specifies an integer that is used to start the pseudo-random-number generator for the simulation. If you do not specify a seed, or if you specify a value less than or equal to zero, the seed is generated from reading the time of day from the computer clock.\",\"help\":\"SEED=*number*\",\"type\":\"value\"},{\"name\":\"SINGULAR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Tunes the estimability checking. The value for number must be between 0 and 1; the default is 1E-4.\",\"help\":\"SINGULAR=*number*\",\"type\":\"value\"},{\"name\":\"SLICEBY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"\",\"type\":\"value\"},{\"name\":\"STEPDOWN=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that multiple comparison adjustments for the p-values of LS-mean differences be further adjusted in a step-down fashion. Step-down methods increase the power of multiple comparisons by taking advantage of the fact that a p-value is never declared significant unless all smaller p-values are also declared significant. You can specify the following step-down options in parentheses: MAXTIME=n specifies the time (in seconds) to spend computing the maximal logically consistent sequential subsets of equality hypotheses for TYPE=LOGICAL. REPORT specifies that a report on the step-down adjustment should be displayed, including a listing of the sequential subsets (Westfall 1997) and, for ADJUST=SIMULATE, the step-down simulation results.\",\"help\":\"STEPDOWN=MAXTIME= | REPORT | TYPE=\",\"type\":\"choice\",\"arguments\":[{\"name\":\"MAXTIME=\",\"type\":\"value\"},{\"name\":\"REPORT\",\"type\":\"standalone\"},{\"name\":\"TYPE=\",\"type\":\"value\"}]}]},{\"name\":\"STORE\",\"aliases\":[\"ITEMSTORE\"],\"description\":\"The STORE statement requests that the procedure save the context and results of the statistical analysis. The resulting item store is a binary file format that cannot be modified. The contents of the item store can be processed with the PLM procedure. The item-store-name is a usual one- or two-level SAS name, like the names that are used for SAS data sets. If you specify a one-level name, then the item store resides in the WORK library and is deleted at the end of the SAS session. Since item stores usually are used to perform postprocessing tasks, typical usage specifies a two-level name of the form libname.membername. If an item store by the same name as specified in the STORE statement already exists, the existing store is replaced.\",\"help\":\"STORE &lt;LABEL='label'&gt;\",\"arguments\":[{\"name\":\"LABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Adds a custom label. When the PLM procedure processes an item store, the label appears in the PROC PLM output along with other identifying information.\",\"help\":\"LABEL='*label*'\",\"type\":\"value\"}]},{\"name\":\"TEST\",\"description\":\"The TEST statement enables you to perform F tests for model effects that test Type I, II, or Type III hypotheses.\",\"help\":\"TEST &lt;CHISQ&gt;&lt;DDF=value-list&gt;&lt;E&gt; ...\",\"arguments\":[{\"name\":\"CHISQ\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that chi-square tests be performed for the relevant effects in addition to the F tests. Type III tests are the default; you can produce the Type I and Type II tests by using the HTYPE= option. This option has no effect when the procedure produces chi-square statistics by default.\",\"type\":\"standalone\"},{\"name\":\"DDF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"DF=\"],\"description\":\"Specifies the denominator degrees of freedom for the fixed effects. The value-list specification is a list of numbers or missing values (.) separated by commas. The order of degrees of freedom should match the order of the fixed effects that are specified in the TEST statement; otherwise it should match the order in which the effects appear in the \\\"Type III Tests of Fixed Effects\\\" table.\",\"help\":\"DDF=*value-list*\",\"type\":\"value\"},{\"name\":\"E\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that Type I, Type II, and Type III L matrix coefficients be displayed for all relevant effects.\",\"type\":\"standalone\"},{\"name\":\"E1\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"EI\"],\"description\":\"Requests that Type I L matrix coefficients be displayed for all relevant effects.\",\"type\":\"standalone\"},{\"name\":\"E2\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"EII\"],\"description\":\"Requests that Type II L matrix coefficients be displayed for all relevant effects.]\",\"type\":\"standalone\"},{\"name\":\"E3\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"EIII\"],\"description\":\"Requests that Type III L matrix coefficients be displayed for all relevant effects.\",\"type\":\"standalone\"},{\"name\":\"HTYPE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Indicates the type of hypothesis test to perform on the fixed effects. Valid entries for values in the value-list are 1, 2, and 3, which correspond to Type I, Type II, and Type III tests, respectively. The default value is 3.\",\"help\":\"HTYPE=*value-list*\",\"type\":\"value\"},{\"name\":\"INTERCEPT\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"INT\"],\"description\":\"Adds a row to the tables for Type I, II, and III tests that correspond to the overall intercept.\",\"type\":\"standalone\"}]},{\"name\":\"WEIGHT\",\"description\":\"If you want to use weights for each observation in the input data set, place the weights in a variable in the data set and specify the name in a WEIGHT statement. The values of the WEIGHT variable can be nonintegral and are not truncated. Observations with nonpositive or missing values for the weight variable do not contribute to the fit of the model. The WEIGHT variable multiplies the contribution to the log likelihood for each observation.\",\"help\":\"WEIGHT variable \"}],\"supportSiteInformation\":{\"docsetId\":\"statug\",\"docsetVersion\":\"latest\",\"docsetTargetFile\":\"statug_lifereg_toc.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/LIFETEST.json",
    "content": "{\"name\":\"LIFETEST\",\"statements\":[{\"name\":\"PROC LIFETEST\",\"description\":\"The LIFETEST procedure deals with lifetime or survival data analysis. † A common feature of lifetime or survival data is the presence of right-censored observations due either to withdrawal of experimental units or to termination of the experiment. For such observations, you know only that the lifetime exceeded a given value; the exact lifetime remains unknown. Such data cannot be analyzed by ignoring the censored observations because, among other considerations, the longer-lived units are generally more likely to be censored. The analysis methodology must correctly use the censored observations as well as the uncensored observations.\",\"help\":\"PROC LIFETEST <ALPHA=α><ALPHA=α><ATRISK><BANDMAXTIME=value><BANDMAXTIME=value><CIFVAR><CONFBAND=ALL | EP | HW><CONFTYPE=ASINSQRT | LOGLOG | LINEAR... ><DATA=SAS-data-set><ERROR=AALEN | DELTA><INTERVALS=values><MAXTIME=value><METHOD=BRESLOW | FH | KM|PL... ><MISSING><NELSON><NINTERVAL=value><NOLEFT><NOPRINT><NOTABLE><OUTCIF=SAS-data-set><OUTSURV=SAS-data-set><OUTTEST=SAS-data-set><PLOTS=ALL | CIF | HAZARD... ><REDUCEOUT><SINGULAR=value><STDERR><TIMELIM=EVENT | OBSERVED | <number>><TIMELIST=number-list><WIDTH=value>;     \\n\\tBY <DESCENDING><NOTSORTED> ;\\n\\n\\tFREQ <NOTRUNCATE> ;\\n\\n\\tID variables;\\n\\n\\tSTRATA <ADJUST=<BONFERRONI | DUNNETT | SCHEFFE>... ><DIFF=<ALL | CONTROL>><GROUP=variable> ...;\\n\\n\\tTEST variables ;\\n\\n\\tTIME variable <*censor(list)> ;\\n\\n\\tWEIGHT variable ;\\n\",\"arguments\":[{\"name\":\"ALPHA=\",\"optional\":true,\"description\":\"Specifies the level of significance, α, for the 100(1 - α)% confidence intervals for the survivor, hazard, and density functions. For example, the option ALPHA=0.05 requests the 95% confidence limits for the survivor function. The default value is 0.05.\",\"type\":\"value\"},{\"name\":\"ALPHAQT=\",\"optional\":true,\"description\":\"Specifies the significance level, α, for the 100(1 - α)% confidence intervals for the quartiles of the survival time. For example, the option ALPHAQT=0.05 requests a 95% confidence interval for the quartiles of the survival time. The default value is 0.05.\",\"type\":\"value\"},{\"name\":\"ATRISK\",\"optional\":true,\"description\":\"Adds a column that represents the number of subjects at risk to the survival estimate table. Also added is a column that represents the number of events at each observed time. This option has no effect for the life-table method.\",\"type\":\"standalone\"},{\"name\":\"BANDMAXTIME=\",\"optional\":true,\"aliases\":[\"BANDMAX=\"],\"description\":\"Specifies the maximum time for the confidence bands. The default is the largest observed event time. If the specified BANDMAX= time exceeds the largest observed event time, it is truncated to the largest observed event time.\",\"help\":\"BANDMAXTIME=*value*\",\"type\":\"value\"},{\"name\":\"BANDMINTIME=\",\"optional\":true,\"aliases\":[\"BANDMIN=\"],\"description\":\"Specifies the minimum time for the confidence bands. The default is the smallest observed event time. For the equal-precision band, if the BANDMIN= value is less than the smallest observed event time, it is defaulted to the smallest observed event time.\",\"type\":\"value\"},{\"name\":\"CIFVAR\",\"optional\":true,\"description\":\"Displays the variance of the cumulative incidence function (CIF) estimator for competing-risks data. By default, PROC LIFETEST displays the standard error of the CIF estimator.\",\"type\":\"standalone\"},{\"name\":\"CONFBAND=\",\"optional\":true,\"description\":\"Specifies the confidence bands to be output to the OUTSURV= data set. Confidence bands are available only for the product-limit method.\",\"help\":\"CONFBAND=ALL | EP | HW\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ALL\",\"description\":\"Outputs both the Hall-Wellner and the equal-precision confidence bands.\",\"type\":\"standalone\"},{\"name\":\"EP\",\"description\":\"Outputs the equal-precision confidence bands.\",\"type\":\"standalone\"},{\"name\":\"HW\",\"description\":\"Outputs the Hall-Wellner confidence bands.\",\"type\":\"standalone\"}]},{\"name\":\"CONFTYPE=\",\"optional\":true,\"description\":\"Specifies the transformation applied to S(t) to obtain the pointwise confidence intervals and the confidence bands for the survivor function as well as the confidence intervals for the quartiles of the survival times.\",\"help\":\"CONFTYPE=ASINSQRT | LOGLOG | LINEAR | LOG | LOGIT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ASINSQRT\",\"description\":\"The arcsine-square root transformation\",\"type\":\"standalone\"},{\"name\":\"LOGLOG\",\"description\":\"The log-log transformation\",\"type\":\"standalone\"},{\"name\":\"LINEAR\",\"description\":\"The identity transformation\",\"type\":\"standalone\"},{\"name\":\"LOG\",\"description\":\"The logarithmic transformation\",\"type\":\"standalone\"},{\"name\":\"LOGIT\",\"description\":\"The logit transformation\",\"type\":\"standalone\"}]},{\"name\":\"DATA=\",\"optional\":true,\"description\":\"Names the SAS data set used by PROC LIFETEST. By default, the most recently created SAS data set is used.\",\"help\":\"DATA=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"ERROR=\",\"optional\":true,\"description\":\"Specifies the method of calculating the variance of the CIF estimator. By default, ERROR=AALEN.\",\"help\":\"ERROR=AALEN | DELTA\",\"type\":\"choice\",\"arguments\":[{\"name\":\"AALEN\",\"description\":\"When ERROR=AALEN, the variance estimator is based on the theory of counting process (Aalen 1978).\",\"type\":\"standalone\"},{\"name\":\"DELTA\",\"description\":\"When ERROR=DELTA, the delta method is used to compute the variance.\",\"type\":\"standalone\"}]},{\"name\":\"INTERVALS=\",\"optional\":true,\"description\":\"Specifies a list of interval endpoints for the life-table method. These endpoints must all be nonnegative numbers. The initial interval is assumed to start at zero whether or not zero is specified in the list. Examples:\",\"help\":\"INTERVALS=*values*\",\"type\":\"value\"},{\"name\":\"MAXTIME=\",\"optional\":true,\"description\":\"Specifies the maximum value of the time variable allowed on the plots so that outlying points do not determine the scale of the time axis of the plots.\",\"help\":\"MAXTIME=*value*\",\"type\":\"value\"},{\"name\":\"METHOD=\",\"optional\":true,\"description\":\"Specifies the method used to compute the survival function estimates.\",\"help\":\"METHOD=BRESLOW | FH | KM | ACT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"BRESLOW\",\"description\":\"Specifies that the Breslow estimates be computed. The Breslow estimator is the exponentiation of the negative Nelson-Aalen estimator of the cumulative hazard function.\",\"type\":\"standalone\"},{\"name\":\"FH\",\"description\":\"Specifies that the Fleming-Harrington (FH) estimates be computed. The FH estimator is a tie-breaking modification of the Breslow estimator. If there are no tied event times, this estimator is the same as the Breslow estimator.\",\"type\":\"standalone\"},{\"name\":\"KM\",\"aliases\":[\"PL\"],\"description\":\"Specifies that Kaplan-Meier estimates (also known as the product-limit estimates) be computed.\",\"type\":\"standalone\"},{\"name\":\"ACT\",\"aliases\":[\"LIFE\",\"LT\"],\"description\":\"Specifies that life-table estimates (also known as actuarial estimates) be computed.\",\"type\":\"standalone\"}]},{\"name\":\"MISSING\",\"optional\":true,\"description\":\"Allows missing values for numeric variables and blank values for character variables as valid stratum levels.\",\"type\":\"standalone\"},{\"name\":\"NELSON\",\"optional\":true,\"aliases\":[\"AALEN\"],\"description\":\"Produces the Nelson-Aalen estimates of the cumulative hazards and the corresponding standard errors. This option is ignored unless METHOD=PL.\",\"type\":\"standalone\"},{\"name\":\"NINTERVAL=\",\"optional\":true,\"description\":\"Specifies the number of intervals used to compute the life-table estimates of the survivor function.\",\"help\":\"NINTERVAL=*value*\",\"type\":\"value\"},{\"name\":\"NOLEFT\",\"optional\":true,\"description\":\"Suppresses the Number Left and Number Event columns in the survival estimate table. This option has no effect for the life-table estimate.\",\"type\":\"standalone\"},{\"name\":\"NOPRINT\",\"optional\":true,\"description\":\"Suppresses the display of output. This option is useful when only an output data set is needed.\",\"type\":\"standalone\"},{\"name\":\"NOTABLE\",\"optional\":true,\"description\":\"Suppresses the display of survival function estimates. Only the number of censored and event times, plots, and test results is displayed.\",\"type\":\"standalone\"},{\"name\":\"OUTCIF=\",\"optional\":true,\"description\":\"Creates an output SAS data set to contain the point and interval estimates for the cumulative incidence function (CIF). The data set also contains the number of subjects at risk, the number of events of interest, and the number of events of all types.\",\"help\":\"OUTCIF=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"OUTSURV=\",\"optional\":true,\"aliases\":[\"OUTS=\"],\"description\":\"Creates an output SAS data set to contain the estimates of the survival function and corresponding confidence limits for all strata.\",\"help\":\"OUTSURV=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"OUTTEST=\",\"optional\":true,\"aliases\":[\"OUTT=\"],\"description\":\"Creates an output SAS data set to contain the overall chi-square test statistic for association with failure time for the variables in the TEST statement, the values of the univariate rank test statistics for each variable in the TEST statement, and the estimated covariance matrix of the univariate rank test statistics.\",\"help\":\"OUTTEST=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"PLOTS=\",\"optional\":true,\"description\":\"Controls the line printer plots produced. You must also specify the LINEPRINTER option to obtain line printer plots. You can specify the following global-plot-option:\",\"help\":\"PLOTS=ALL | CIF | HAZARD | LOGSURV | LOGLOGS | PDF | SURVIVAL | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ALL\",\"description\":\"Produces all appropriate plots.\",\"type\":\"standalone\"},{\"name\":\"CIF\",\"description\":\"Syntax: CIF<(cif-options)> Plots the cumulative incidence function (CIF) estimates. You can specify the following cif-options: CL - displays pointwise confidence limits for CIF. TEST - displays the p-value of Gray’s test (Gray 1988) for testing the homogeneity of CIFs.\",\"type\":\"standalone\"},{\"name\":\"HAZARD\",\"description\":\"Syntax: HAZARD <(hazard-options)> Plots the estimated hazard functions. Kernel-smoothed estimates are produced for the product-limit method. The following hazard-options can be specified for the product-limit method, but only the CL option can be used for the life-table method. BANDWIDTH=bandwidth-option | BW=bandwidth-option specifies what bandwidth is chosen for the kernel-smoothing and how it is chosen. You can specify one of the following bandwidth-options. value -- sets the bandwidth to the given value. numeric-list -- selects the bandwidth from the given numeric-list that minimizes the mean integrated squared error. RANGE(lower,upper) -- selects the bandwidth from the interval (lower, upper) that minimizes the mean integrated squared error. GRIDL=number -- specifies the lower grid limit for the kernel-smoothed estimate. The default value is the time origin. GRIDU=number -- specifies the upper grid limit for the kernel-smoothed estimate. The default value equals the maximum event time KERNEL=kernel-option -- specifies the kernel used. The choices are as follows: BIWEIGHT | BW EPANECHNIKOV | E UNIFORM | U NMINGRID=number specifies the number of grid points in determining the mean integrated square error (MISE). The default value is 51. NGRID=number -- specifies the number of grid points. The default is 101. CL -- displays the pointwise confidence limits for the smoothed hazard.\",\"type\":\"standalone\"},{\"name\":\"LOGSURV\",\"description\":\"Plots the negative log of estimated survivor functions versus time.\",\"type\":\"standalone\"},{\"name\":\"LOGLOGS\",\"description\":\"Plots the log of negative log of estimated survivor functions versus the log of time.\",\"type\":\"standalone\"},{\"name\":\"PDF\",\"description\":\"Syntax: PDF <(CL)> Plots the estimated probability density functions (life-table method only). Pointwise confidence limits are displayed optionally by specifying the CL option.\",\"type\":\"standalone\"},{\"name\":\"SURVIVAL\",\"description\":\"Syntax: SURVIVAL <(survival-options)> Plots the estimated survivor functions. You can customized the display by using the following survival-options. ATRISK <(options)> <= number-list> displays the numbers of subjects at risk at the given times. The following options can be specified: ATRISKTICK | ATRISKLABEL shows the time values at which the numbers of subjects at risk are displayed. MAXLEN=n specifies the number of characters n that are allowed for displaying the stratum labels. OUTSIDE<(p)> specifies that the at-risk table be drawn outside the plot area. The number-list identifies the times at which the numbers at risk are displayed. CB <=keyword> displays the confidence bands (that is, simulataneous confidence intervals) for the survivor functions. You can specify one of the following keywords. The default is CB=HW. ALL -- displays both the equal-precision and the Hall-Wellner bands. EP -- displays the equal-precision band. HW -- displays the Hall-Wellner confidence band. CL -- displays the pointwise confidence limits for the survivor functions. FAILURE | F -- changes all the displays for survivor functions to those for the failure functions. NOCENSOR -- suppresses plotting the censored times on the product-limit survival curves (product-limit method only). STRATA=strata-option specifies how to display the survival/failure curves for multiple strata. You can choose one of the following strata options: INDIVIDUAL UNPACK -- specifies that a separate plot be displayed for each stratum. OVERLAY -- specifies that the survival/failure curves for the strata be overlaid in one plot. PANEL -- specifies that separate plots for the strata be organized into panels of two or four plots, depending on the number of strata. The default is STRATA=OVERLAY. TEST -- displays the p-value of a homogeneity test specified in the STRATA statement.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"Suppresses all plots.\",\"type\":\"standalone\"}]},{\"name\":\"REDUCEOUT\",\"optional\":true,\"description\":\"Specifies that the OUTSURV= data set contain only those observations that are included in the INTERVALS= or TIMELIST= option.\",\"type\":\"standalone\"},{\"name\":\"SINGULAR=\",\"optional\":true,\"description\":\"Specifies the tolerance for testing singularity of the covariance matrix for the rank test statistics.\",\"help\":\"SINGULAR=*value*\",\"type\":\"value\"},{\"name\":\"STDERR\",\"optional\":true,\"description\":\"Specifies that the standard error of the survivor function (SDF_STDERR) be output to the OUTSURV= data set.\",\"type\":\"standalone\"},{\"name\":\"TIMELIM=\",\"optional\":true,\"description\":\"Specifies the time limit used in the estimation of the mean survival time and its standard error.\",\"help\":\"TIMELIM=EVENT | OBSERVED | &lt;*number*&gt;\",\"type\":\"choice\",\"arguments\":[{\"name\":\"EVENT\",\"description\":\"Specifies that the time limit L be the largest event time in the data. TIMELIM=EVENT is the default.\",\"type\":\"standalone\"},{\"name\":\"OBSERVED\",\"description\":\"Specifies that the time limit L be the largest observed time in the data.\",\"type\":\"standalone\"},{\"name\":\"number\",\"placeholder\":true,\"description\":\"Specifies that the time limit L be the given number. The number must be positive and at least as large as the largest event time in the data.\",\"type\":\"value\"}]},{\"name\":\"TIMELIST=\",\"optional\":true,\"description\":\"Specifies a list of time points at which the Kaplan-Meier estimates are displayed.\",\"help\":\"TIMELIST=*number-list*\",\"type\":\"value\"},{\"name\":\"WIDTH=\",\"optional\":true,\"description\":\"Sets the width of the intervals used in the life-table calculation of the survival function. This parameter is overridden by the INTERVALS= option.\",\"help\":\"WIDTH=*value*\",\"type\":\"value\"}]},{\"name\":\"BY\",\"description\":\"You can specify a BY statement with PROC BCHOICE to obtain separate analyses of observations in groups that are defined by the BY variables. When a BY statement appears, the procedure expects the input data set to be sorted in order of the BY variables. If you specify more than one BY statement, only the last one specified is used. If your input data set is not sorted in ascending order, use one of the following alternatives: • Sort the data by using the SORT procedure with a similar BY statement. • Specify the NOTSORTED or DESCENDING option in the BY statement for the BCHOICE procedure. The NOTSORTED option does not mean that the data are unsorted but rather that the data are arranged in groups (according to values of the BY variables) and that these groups are not necessarily in alphabetical or increasing numeric order. • Create an index on the BY variables by using the DATASETS procedure (in Base SAS software).\",\"help\":\"BY &lt;DESCENDING&gt;&lt;NOTSORTED&gt;\",\"arguments\":[{\"name\":\"DESCENDING\",\"optional\":true,\"description\":\"Specifies that the observations are sorted in descending order by the variable that immediately follows the word DESCENDING in the BY statement.\",\"type\":\"standalone\"},{\"name\":\"NOTSORTED\",\"optional\":true,\"description\":\"Specifies that observations are not necessarily sorted in alphabetic or numeric order.\",\"type\":\"standalone\"}]},{\"name\":\"FREQ\",\"description\":\"The FREQ statement identifies a variable that contains the frequency of occurrence of each observation. PROC LIFETEST treats each observation as if it appeared n times, where n is the value of the FREQ variable for the observation. The FREQ statement is useful for producing life tables when the data are already in the form of a summary data set. If it is not an integer, it is truncated to an integer unless the NOTRUNCATE option is specified. If it is missing or less than or equal zero, the observation is not used.\",\"help\":\"FREQ &lt;NOTRUNCATE&gt;\",\"arguments\":[{\"name\":\"NOTRUNCATE\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"NOTRUNC\"],\"description\":\"Specifies that the frequency values are not truncated to integers. This option does not apply to the Fleming-Harrington estimator (METHOD=FH).\",\"type\":\"standalone\"}]},{\"name\":\"ID\",\"description\":\"The ID statement identifies variables whose values are used to label the observations of the Kaplan-Meier, Breslow, or Fleming-Harrington survivor function estimates. SAS format statements can be used to format the values of the ID variables.\",\"help\":\"ID variables\"},{\"name\":\"STRATA\",\"description\":\"The STRATA statement identifies the variables that determine the strata levels. Strata are formed according to the nonmissing values of these variables.\",\"help\":\"STRATA &lt;ADJUST=&lt;BONFERRONI | DUNNETT | SCHEFFE&gt;... &gt;&lt;DIFF=&lt;ALL | CONTROL&gt;&gt;&lt;GROUP=variable&gt; ...\",\"arguments\":[{\"name\":\"ADJUST=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the multiple-comparison method for adjusting the p-values of the paired tests.\",\"help\":\"ADJUST=BONFERRONI | DUNNETT | SCHEFFE | SIDAK | SMM | TUKEY | SIMULATE*method*\",\"type\":\"value\",\"arguments\":[{\"name\":\"BONFERRONI\",\"followsDelimiter\":\"/\",\"description\":\"Applies the Bonferroni correction to the raw p-values.\",\"type\":\"standalone\"},{\"name\":\"DUNNETT\",\"followsDelimiter\":\"/\",\"description\":\"Performs Dunnett's two-tailed comparisons of the control group with all other groups.\",\"type\":\"standalone\"},{\"name\":\"SCHEFFE\",\"followsDelimiter\":\"/\",\"description\":\"Performs Scheffé's multiple-comparison adjustment.\",\"type\":\"standalone\"},{\"name\":\"SIDAK\",\"followsDelimiter\":\"/\",\"description\":\"Applies the Sidák correction to the raw p-values.\",\"type\":\"standalone\"},{\"name\":\"SMM\",\"followsDelimiter\":\"/\",\"description\":\"Performs the paired comparisons based on the studentized maximum modulus test.\",\"type\":\"standalone\"},{\"name\":\"TUKEY\",\"followsDelimiter\":\"/\",\"description\":\"Performs the paired comparisons based on Tukey's studentized range test.\",\"type\":\"standalone\"},{\"name\":\"SIMULATE\",\"followsDelimiter\":\"/\",\"description\":\"Syntax: SIMULATE <(simulate-options)> Computes the adjusted p-values from the simulated distribution of the maximum or maximum absolute value of a multivariate normal random vector. The simulate-options include the following: ACC=value specifies the target accuracy radius, γ, of a 100(1 - ε)% confidence interval for the true probability content of the estimated (1- α)th quantile. ALPHA=value specifies the value, α, for estimating the (1 - α)th quantile. EPS=value specifies the value, ε, for a 100(1 - ε)% confidence interval for the true probability content of the estimated (1 - α)th quantile. NSAMP=n specifies the sample size for the simulation. REPORT specifies that a report on the simulation should be displayed SEED=number specifies an integer used to start the pseudo-random number generator for the simulation.\",\"type\":\"standalone\"}]},{\"name\":\"DIFF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies which pairs of survival curves are considered for the multiple comparisons.\",\"help\":\"DIFF=ALL | CONTROL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ALL\",\"followsDelimiter\":\"/\",\"description\":\"Requests all paired comparisons.\",\"type\":\"standalone\"},{\"name\":\"CONTROL\",\"followsDelimiter\":\"/\",\"description\":\"Syntax: DIFF=CONTROL <('string' <...'string'>)> Requests comparisons of the control curve with all other curves. To specify the control curve, you specify the quotes strings of formatted values that represent the curve in parentheses.\",\"type\":\"standalone\"}]},{\"name\":\"GROUP=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the variable whose formatted values identify the various samples whose underlying survival curves are to be compared.\",\"help\":\"GROUP=*variable*\",\"type\":\"value\"},{\"name\":\"MISSING\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Allows missing values to be a stratum level or a valid value of the GROUP= variable.\",\"type\":\"standalone\"},{\"name\":\"NODETAIL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Suppresses the display of the rank statistics and the corresponding covariance matrices for various strata.\",\"type\":\"standalone\"},{\"name\":\"NOTEST\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Suppresses the k-sample tests, stratified tests, and trend tests.\",\"type\":\"standalone\"},{\"name\":\"ORDER=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the sorting order of the values of the STRATA variables. The strata are presented in the specified order in the analysis results.\",\"help\":\"ORDER=FORMATTED | INTERNAL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"FORMATTED\",\"followsDelimiter\":\"/\",\"description\":\"Sorts the strata according to their external formatted values, except for numeric variable with no explicit format, which are sorted by the unformatted (internal) values.\",\"type\":\"standalone\"},{\"name\":\"INTERNAL\",\"followsDelimiter\":\"/\",\"description\":\"Sorts the strata by their internal values.\",\"type\":\"standalone\"}]},{\"name\":\"TEST=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Controls the tests produced. Each test corresponds to a different weight function.\",\"help\":\"TEST=ALL | FLEMING | LOGRANK | NONE | LR | MODPETO | PETO | WILCOXON | TARONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ALL\",\"followsDelimiter\":\"/\",\"description\":\"Specifies all the nonparametric tests with ρ1=1 and ρ2=0 for the Fleming and Harrington test—FLEMING(1,0).\",\"type\":\"standalone\"},{\"name\":\"FLEMING\",\"followsDelimiter\":\"/\",\"description\":\"Syntax: FLEMING(ρ1, ρ2) Specifies the family of tests in Harrington and Fleming (1982), where ρ1 and ρ2 are nonnegative numbers. FLEMING(ρ1,ρ2) reduces to the Fleming-Harrington G^ρ family (Fleming and Harrington; 1981) when ρ2=0, which you can specify as FLEMING(ρ) with one argument. When ρ=0, the test becomes the log-rank test. When ρ=1, the test should be very close to the Peto-Peto test.\",\"type\":\"standalone\"},{\"name\":\"LOGRANK\",\"followsDelimiter\":\"/\",\"description\":\"Specifies the log-rank test.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"followsDelimiter\":\"/\",\"description\":\"Suppresses all comparison tests. Specifying TEST=NONE is equivalent to specify NOTEST\",\"type\":\"standalone\"},{\"name\":\"LR\",\"followsDelimiter\":\"/\",\"description\":\"Specifies the likelihood ratio test based on the exponential model.\",\"type\":\"standalone\"},{\"name\":\"MODPETO\",\"followsDelimiter\":\"/\",\"description\":\"Specifies the modified Peto-Peto test.\",\"type\":\"standalone\"},{\"name\":\"PETO\",\"followsDelimiter\":\"/\",\"description\":\"Specifies the Peto-Peto test. The test is also referred to as the Peto-Peto-Prentice test.\",\"type\":\"standalone\"},{\"name\":\"WILCOXON\",\"followsDelimiter\":\"/\",\"description\":\"Specifies the Wilcoxon test. The test is also referred to as the Gehan test or the Breslow test.\",\"type\":\"standalone\"},{\"name\":\"TARONE\",\"followsDelimiter\":\"/\",\"description\":\"Specifies the Tarone-Ware test.\",\"type\":\"standalone\"}]},{\"name\":\"TREND\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Computes the trend tests for testing the null hypothesis that the k population hazards rate are the same versus an ordered alternatives.\",\"type\":\"standalone\"}]},{\"name\":\"TEST\",\"description\":\"The TEST statement specifies a list of numeric covariates (prognostic variables) that you want tested for association with the failure time. Two sets of rank statistics are computed. These rank statistics and their variances are pooled over all strata. Univariate (marginal) test statistics are displayed for each of the covariates. Additionally, a sequence of test statistics for joint effects of covariates is displayed. The first element of the sequence is the largest univariate test statistic. Other variables are then added on the basis of the largest increase in the joint test statistic. The process continues until all the variables have been added or until the remaining variables are linearly dependent on the previously added variables.\",\"help\":\"TEST variables \"},{\"name\":\"TIME\",\"description\":\"The TIME statement is required. It is used to indicate the failure time variable, where variable is the name of the failure time variable that can be optionally followed by an asterisk, the name of the censoring variable, and a parenthetical list of values that correspond to right censoring. The censoring values should be numeric, nonmissing values. For example, the following statement identifies the variable T as containing the observed failure times (event or censored): time T*Status(0,2); If the variable Status has the value 0 or 2, the corresponding value of T is a right-censored value.\",\"help\":\"TIME variable &lt;*censor(list)&gt; \"},{\"name\":\"WEIGHT\",\"description\":\"The variable in the WEIGHT statement identifies the variable in the input data set that contains the weights of the subjects. Values of the WEIGHT variable can be nonintegral and are not truncated. Observations with negative, zero, or missing values for the WEIGHT variable are not used in the computation. The implementation of weights in PROC LIFETEST is based on Xie and Liu (2005, 2011), who use inverse probability of treatment weights to reduce confounding effects. A weight is assigned to each subject as the inverse probability of being in a certain group. If a subject has a higher probability of being in a group, it is considered as overrepresented and is therefore assigned a lower weight; on the other hand, if the subject has a smaller probability of being in a group, it is considered as underrepresented and is assigned a higher weight.\",\"help\":\"WEIGHT variable \"}],\"supportSiteInformation\":{\"docsetId\":\"statug\",\"docsetVersion\":\"latest\",\"docsetTargetFile\":\"statug_lifetest_toc.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/LMIXED.json",
    "content": "{\"name\":\"LMIXED\",\"statements\":[{\"name\":\"PROC LMIXED\",\"description\":\"The LMIXED procedure fits a variety of linear mixed models to data and enables you to use these fitted models to make statistical inferences about the data. A linear mixed model is a generalization of the standard linear model that is used in the GLM procedure in SAS/STAT software; the generalization is that the data are permitted to exhibit correlation and nonconstant variability. Therefore, the linear mixed model provides you with the flexibility of modeling not only the means of your data (as in the standard linear model) but also their variances and covariances.\",\"help\":\"PROC LMIXED <DATA=CAS-libref.data-table><DMMETHOD=DENSE | SPARSE><MAXCLPRINT=number><METHOD=ML | REML><MMEQ><NAMELEN=number><NOCLPRINT<=number>><NOINFO><NOITPRINT><NOPRINT><NOPROFILE><RANKS><SIMPLE><SINGCHOL=number><SINGRES=number><SINGULAR=number><TIMING>;     \\n\\tBLUP <ITPRINT=number><MAXITER=number><OUT=CAS-libref.data-table> ...;\\n\\n\\tBY variables;\\n\\n\\tCLASS <DESCENDING><MISSING><ORDER=<DATA | FORMATTED | FREQ>... > ...;\\n\\n\\tDISPLAY <CASESENSITIVE><EXCLUDE><EXCLUDEALL> ...;\\n\\n\\tDISPLAYOUT <INCLUDEALL><NOREPLACE><REPEATED> ...;\\n\\n\\tEFFECT <DETAILS> NAME=COLLECTION|MULTIMEMBER|MM|POLYNOMIAL|POLY...  <NOEFFECT> ...;\\n\\n\\tMODEL <ALPHA=α><DDFM=<NONE | RESIDUAL>><NOINT> ...;\\n\\n\\tOPTIMIZATION <ABSCONV=r><ABSFCONV=r><ABSGCONV=r> ...;\\n\\n\\tOUTPUT <ALLSTATS><ALPHA=number><OUT=CAS-libref.data-table> ...;\\n\\n\\tPARMS <HOLD<=order-list> | EQCONS<=order-list> | HOLD<=ALL> | EQCONS<=ALL>><LOWERB=value-list><NOITER> ...;\\n\\n\\tRANDOM <ALPHA=α><CL><SOLUTION> ...;\\n\\n\\tWEIGHT variable;\\n\",\"arguments\":[{\"name\":\"DATA=\",\"optional\":true,\"description\":\"Names the input data table for PROC LMIXED to use. The default is the most recently created data table. CAS-libref.data-table is a two-level name, where\",\"help\":\"DATA=*CAS-libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"DMMETHOD=\",\"optional\":true,\"aliases\":[\"DMM=\"],\"description\":\"Specifies the method for computing the likelihood, gradient, and Hessian.\",\"help\":\"DMMETHOD=DENSE | SPARSE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DENSE\",\"description\":\"Is more suitable for models that have a large number of levels for a common subject effect and a relatively small number of levels for fixed-effects.\",\"type\":\"standalone\"},{\"name\":\"SPARSE\",\"description\":\"Is more memory-efficient and faster for models that have a large and sparse design matrix.\",\"type\":\"standalone\"}]},{\"name\":\"MAXCLPRINT=\",\"optional\":true,\"description\":\"Specifies the maximum number of levels of CLASS variables to print in the ODS table \\\"ClassLevels.\\\" MAXCLPRINT=0 enables you to print all levels of each CLASS variable. However, the option NOCLPRINT takes precedence over MAXCLPRINT. By default, MAXCLPRINT=20.\",\"help\":\"MAXCLPRINT=*number*\",\"type\":\"value\"},{\"name\":\"METHOD=\",\"optional\":true,\"description\":\"Specifies the estimation method for the covariance parameters.\",\"help\":\"METHOD=ML | REML\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ML\",\"description\":\"Performs maximum likelihood estimation.\",\"type\":\"standalone\"},{\"name\":\"REML\",\"description\":\"Performs residual (restricted) maximum likelihood estimation.\",\"type\":\"standalone\"}]},{\"name\":\"MMEQ\",\"optional\":true,\"description\":\"Displays the coefficients of the mixed model equations.\",\"type\":\"standalone\"},{\"name\":\"NAMELEN=\",\"optional\":true,\"description\":\"Specifies the length to which long effect names are shortened. The minimum value is 20. Be default, NAMELEN=20.\",\"help\":\"NAMELEN=*number*\",\"type\":\"value\"},{\"name\":\"NOCLPRINT\",\"optional\":true,\"description\":\"Suppresses the display of the \\\"Class Level Information\\\" table if you do not specify number. If you specify number, the values of the classification variables are displayed only for variables whose number of levels is less than number. Specifying a number helps reduce the size of the \\\"Class Level Information\\\" table if some classification variables have a large number of levels.\",\"type\":\"standalone\"},{\"name\":\"NOINFO\",\"optional\":true,\"description\":\"Suppresses the display of the \\\"Model Information,\\\" \\\"Number of Observations,\\\" and \\\"Dimensions\\\" tables.\",\"type\":\"standalone\"},{\"name\":\"NOITPRINT\",\"optional\":true,\"description\":\"Suppresses the display of the \\\"Iteration History\\\" table.\",\"type\":\"standalone\"},{\"name\":\"NOPRINT\",\"optional\":true,\"description\":\"Suppresses the normal display of results. This option is useful when you want only to create one or more output data tables by using the OUTPUT statement.\",\"type\":\"standalone\"},{\"name\":\"NOPROFILE\",\"optional\":true,\"description\":\"Includes the residual variance as one of the covariance parameters in the optimization iterations. (By default, this parameter is profiled out of the optimization iterations, except when you have specified the HOLD= option in the PARMS statement.)\",\"type\":\"standalone\"},{\"name\":\"RANKS\",\"optional\":true,\"description\":\"Displays the rank of the design matrix X.\",\"type\":\"standalone\"},{\"name\":\"SIMPLE\",\"optional\":true,\"description\":\"Displays the mean, standard deviation, coefficient of variation, minimum, and maximum statistics for each variable that is not a classification variable in the input DATA= table.\",\"type\":\"standalone\"},{\"name\":\"SINGCHOL=\",\"optional\":true,\"description\":\"Tunes the singularity criterion in Cholesky decompositions. The default is 1E4 times the machine epsilon, which is approximately 1E–12 on most computers.\",\"help\":\"SINGCHOL=*number*\",\"type\":\"value\"},{\"name\":\"SINGRES=\",\"optional\":true,\"description\":\"Sets the tolerance for which the residual variance is considered to be zero. The default is 1E4 times the machine epsilon, which is approximately 1E–12 on most computers.\",\"help\":\"SINGRES=*number*\",\"type\":\"value\"},{\"name\":\"SINGULAR=\",\"optional\":true,\"description\":\"Tunes the general singularity criterion that the LMIXED procedure applies in sweeps and inversions. The default is 1E4 times the machine epsilon, which is approximately 1E–12 on most computers.\",\"help\":\"SINGULAR=*number*\",\"type\":\"value\"},{\"name\":\"TIMING\",\"optional\":true,\"description\":\"Displays the amount of time (in seconds) that PROC LMIXED took to perform each different task in the analysis and its percentage of the total time.\",\"type\":\"standalone\"}]},{\"name\":\"BLUP\",\"description\":\"The BLUP statement creates a CAS data table that contains the best linear unbiased estimation (BLUE) of fixed effects and the best linear unbiased prediction (BLUP) of random effects. To use the BLUP statement, you must also use the PARMS statement to specify fixed values for all covariance parameters. When you use the BLUP statement, the ODS IterHistory table displays solver iterations that are used for BLUP solutions rather than displaying optimization iterations.\",\"help\":\"BLUP &lt;ITPRINT=number&gt;&lt;MAXITER=number&gt;&lt;OUT=CAS-libref.data-table&gt; ...\",\"arguments\":[{\"name\":\"ITPRINT=\",\"optional\":true,\"description\":\"Displays that the iteration history after every number of iterations. By default, ITPRINT=10, which means the procedure displays the iteration history for every 10 iterations.\",\"help\":\"ITPRINT=*number*\",\"type\":\"value\"},{\"name\":\"MAXITER=\",\"optional\":true,\"description\":\"Specifies the maximum number of iterations. The default value is the number of parameters in the OUT= data table plus 2.\",\"help\":\"MAXITER=*number*\",\"type\":\"value\"},{\"name\":\"OUT=\",\"optional\":true,\"description\":\"Names the output data table for PROC LMIXED to use. You must specify this option before any other options. CAS-libref.data-table is a two-level name, where CAS-libref refers to a collection of information that is defined in the LIBNAME statement and includes the caslib, which includes a path to where the data table is to be stored, and a session identifier, which defaults to the active session but which can be explicitly defined in the LIBNAME statement.\",\"help\":\"OUT=*CAS-libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"SOLVER=\",\"optional\":true,\"description\":\"Specifies the solver to use for BLUP solutions. By default, SOLVER=IOC.\",\"help\":\"SOLVER=DIRECT | IOC | IOD\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DIRECT\",\"description\":\"Requires storing mixed model equations (MMEQ) in memory and computing the Cholesky decomposition of MMEQ. This solver is the most accurate, but it is the most inefficient in terms of speed and memory.\",\"type\":\"standalone\"},{\"name\":\"IOC\",\"description\":\"Requires storing mixed model equations in memory and iterates on MMEQ to solve for the solutions.This solver is the most efficient in terms of speed.\",\"type\":\"standalone\"},{\"name\":\"IOD\",\"description\":\"Does not build mixed model equations; instead it iterates on data to solve for the solutions. This solver is most efficient in terms of memory.\",\"type\":\"standalone\"}]},{\"name\":\"TOL=\",\"optional\":true,\"description\":\"specifies the tolerance value. The default value is the square root of machine precision.\",\"help\":\"TOL=*number*\",\"type\":\"value\"}]},{\"name\":\"BY\",\"description\":\"You can specify a BY statement in PROC LMIXED to obtain separate analyses of observations in groups that are defined by the values of the BY variables. If you specify more than one BY statement, only the last one specified is used.\",\"help\":\"BY variables\"},{\"name\":\"CLASS\",\"description\":\"The CLASS statement names the classification variables to be used as explanatory variables in the analysis.\",\"help\":\"CLASS &lt;DESCENDING&gt;&lt;MISSING&gt;&lt;ORDER=&lt;DATA | FORMATTED | FREQ&gt;... &gt; ...\",\"arguments\":[{\"name\":\"DESCENDING\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"DESC\"],\"description\":\"Reverses the sort order of the classification variable.\",\"type\":\"standalone\"},{\"name\":\"MISSING\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Treats missing values (., ._, .A, …, .Z for numeric variables and blanks for character variables) as valid values for the CLASS variable.\",\"type\":\"standalone\"},{\"name\":\"ORDER=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the sort order for the levels of classification variables. This ordering determines which parameters in the model correspond to each level in the data. By default, ORDER=FORMATTED. For ORDER=FORMATTED and ORDER=INTERNAL, the sort order is machine-dependent. When ORDER=FORMATTED is in effect for numeric variables for which you have supplied no explicit format, the levels are ordered by their internal values.\",\"help\":\"ORDER=DATA | FORMATTED | FREQ | INTERNAL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DATA\",\"followsDelimiter\":\"/\",\"description\":\"Levels sorted by the order of appearance in the input data set.\",\"type\":\"standalone\"},{\"name\":\"FORMATTED\",\"followsDelimiter\":\"/\",\"description\":\"Levels sorted by the external formatted value, except for numeric variables with no explicit format, which are sorted by their unformatted (internal) value.\",\"type\":\"standalone\"},{\"name\":\"FREQ\",\"followsDelimiter\":\"/\",\"description\":\"Levels sorted by the descending frequency count; levels with the more observations come ealier in the order.\",\"type\":\"standalone\"},{\"name\":\"INTERNAL\",\"followsDelimiter\":\"/\",\"description\":\"Levels sorted by the unformatted value.\",\"type\":\"standalone\"}]},{\"name\":\"PARAM=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the parameterization method for the classification variable or variables.\",\"help\":\"PARAM=EFFECT | GLM | ORDINAL | POLYNOMIAL | REFERENCE | ORTHEFFECT | ORTHORDINAL | ORTHPOLY | ORTHREF\",\"type\":\"choice\",\"arguments\":[{\"name\":\"EFFECT\",\"followsDelimiter\":\"/\",\"description\":\"Specifies effect coding.\",\"type\":\"standalone\"},{\"name\":\"GLM\",\"followsDelimiter\":\"/\",\"description\":\"Specifies less-than-full-rank, reference-cell coding; this option can be used only as a global option.\",\"type\":\"standalone\"},{\"name\":\"ORDINAL\",\"followsDelimiter\":\"/\",\"aliases\":[\"THERMOMETER\"],\"description\":\"Specifies the cumulative parameterization for an ordinal CLASS variable.\",\"type\":\"standalone\"},{\"name\":\"POLYNOMIAL\",\"followsDelimiter\":\"/\",\"aliases\":[\"POLY\"],\"description\":\"Specifies polynomial coding.\",\"type\":\"standalone\"},{\"name\":\"REFERENCE\",\"followsDelimiter\":\"/\",\"aliases\":[\"REF\"],\"description\":\"Specifies reference-cell coding.\",\"type\":\"standalone\"},{\"name\":\"ORTHEFFECT\",\"followsDelimiter\":\"/\",\"description\":\"Orthogonalizes PARAM=EFFECT.\",\"type\":\"standalone\"},{\"name\":\"ORTHORDINAL\",\"followsDelimiter\":\"/\",\"aliases\":[\"ORTHOTHERM\"],\"description\":\"Orthogonalizes PARAM=ORDINAL.\",\"type\":\"standalone\"},{\"name\":\"ORTHPOLY\",\"followsDelimiter\":\"/\",\"description\":\"Orthogonalizes PARAM=POLYNOMIAL.\",\"type\":\"standalone\"},{\"name\":\"ORTHREF\",\"followsDelimiter\":\"/\",\"description\":\"Orthogonalizes PARAM=REFERENCE.\",\"type\":\"standalone\"}]},{\"name\":\"REF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"REFERENCE=\"],\"description\":\"Specifies the reference level for PARAM= EFFECT, PARAM= REFERENCE, and their orthogonalizations.\",\"help\":\"REF=&lt;'*level*'&gt; | FIRST | LAST\",\"type\":\"choice\",\"arguments\":[{\"name\":\"'level'\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"The level of the variable to use as the reference level. Specify the formatted value of the variable if a format is assigned. Replace <level> with an actual value.\",\"type\":\"value\"},{\"name\":\"FIRST\",\"followsDelimiter\":\"/\",\"description\":\"Designates the first ordered level as reference.\",\"type\":\"standalone\"},{\"name\":\"LAST\",\"followsDelimiter\":\"/\",\"description\":\"Designates the last ordered level as reference.\",\"type\":\"standalone\"}]}]},{\"name\":\"DISPLAY\",\"description\":\"The DISPLAY statement enables you to specify a list of display tables to display or exclude. This statement is similar to the ODS SELECT, ODS EXCLUDE, and ODS TRACE statements. However, the DISPLAY statement can improve performance when a large number of tables could be generated (such as in BY-group processing). The procedure processes the DISPLAY statement on a CAS server and thus sends only a subset of ODS tables to the SAS client. Because ODS statements are processed on a SAS client, all the display tables generated are first sent to the client and then the client creates a subset. If both DISPLAY and ODS statements are used together, the DISPLAY statement takes precedence over the ODS statements.\",\"help\":\"DISPLAY &lt;CASESENSITIVE&gt;&lt;EXCLUDE&gt;&lt;EXCLUDEALL&gt; ...\",\"arguments\":[{\"name\":\"CASESENSITIVE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Performs a case-sensitive comparison of table names in the table-list to display table names when tables are subsetted for display. To preserve case, you must enclose table names in the table-list in quotation marks.\",\"type\":\"standalone\"},{\"name\":\"EXCLUDE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays all display tables except those specified in the table-list.\",\"type\":\"standalone\"},{\"name\":\"EXCLUDEALL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Suppresses display of all tables. This option takes precedence over the other options.\",\"type\":\"standalone\"},{\"name\":\"TRACE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays the display table names, labels, and paths.\",\"type\":\"standalone\"}]},{\"name\":\"DISPLAYOUT\",\"description\":\"The DISPLAYOUT statement enables you to create CAS output tables from your displayed output. This statement is similar to the ODS OUTPUT statement. The table-spec-list specifies a list of CAS output tables to create. Each entry in the list has either a key or a key=value format: key=value specifies key as the ODS table name, path, or partial pathname, and specifies value as the CAS output table name. key specifies key as the ODS table name and also as the CAS output table name. Table names and partial pathnames are discussed under the DISPLAY statement. The DISPLAYOUT statement does not support regular expressions.\",\"help\":\"DISPLAYOUT &lt;INCLUDEALL&gt;&lt;NOREPLACE&gt;&lt;REPEATED&gt; ...\",\"arguments\":[{\"name\":\"INCLUDEALL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Creates output CAS tables for all display tables. The name of the created output CAS table is the same as the corresponding display table name. If you specify this option, the table-spec-list specification is ignored.\",\"type\":\"standalone\"},{\"name\":\"NOREPLACE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Does not replace an existing CAS output table of the same name.\",\"type\":\"standalone\"},{\"name\":\"REPEATED\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Replicates all CAS output tables on all nodes.\",\"type\":\"standalone\"}]},{\"name\":\"EFFECT\",\"description\":\"The EFFECT statement enables you to construct special collections of columns for design matrices. These collections are referred to as constructed effects to distinguish them from the usual model effects that are formed from continuous or classification variables.\",\"help\":\"EFFECT &lt;DETAILS&gt; NAME=COLLECTION|MULTIMEMBER|MM|POLYNOMIAL|POLY...  &lt;NOEFFECT&gt; ...\",\"arguments\":[{\"name\":\"NAME=\",\"placeholder\":true,\"description\":\"Replace NAME with the name of the effect, specified after the EFFECT keyword. This name can appear in only one EFFECT statement and cannot be the name of a variable in the input data set. These values can be used: COLLECTION, MULTIMEMBER, POLYNOMIAL, or SPLINE.\",\"type\":\"value\"},{\"name\":\"BASIS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"[For the SPLINE effect-type only] Specifies a basis for the spline expansion.\",\"help\":\"BASIS=BSPLINE | TPF\",\"type\":\"choice\",\"arguments\":[{\"name\":\"BSPLINE\",\"followsDelimiter\":\"/\",\"description\":\"Specifies a B-spline basis for the spline expansion.\",\"type\":\"standalone\"},{\"name\":\"TPF\",\"followsDelimiter\":\"/\",\"description\":\"Syntax: TPF(options) Specifies a truncated power function basis for the spline expansion. You can modify the number of columns when you request BASIS=TPF with the following options: NOINT excludes the intercept column. NOPOWERS excludes the intercept and polynomial columns.\",\"type\":\"standalone\"}]},{\"name\":\"DATABOUNDARY\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"[For the SPLINE effect-type only] Specifies that the extremes of the data be used as boundary knots when building a B-spline basis.\",\"type\":\"standalone\"},{\"name\":\"DEGREE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"\",\"help\":\"DEGREE=*n*\",\"type\":\"value\"},{\"name\":\"DETAILS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"[For the COLLECTION | MULTIMEMBER | POLYNOMIAL |SPLINE effect-type] Requests a table that shows the: (1) constituents of the collection effect, or (2) levels of the multimember effect, or (3) details of the specified polynomial, or (4) knot locations and the knots associated with each spline basis function.\",\"type\":\"standalone\"},{\"name\":\"KNOTMAX=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"\",\"help\":\"KNOTMAX=*value*\",\"type\":\"value\"},{\"name\":\"KNOTMETHOD=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies how to construct the knots for spline effects.\",\"help\":\"KNOTMETHOD=EQUAL | LIST | LISTWITHBOUNDARY | MULTISCALE | PERCENTILES | RANGEFRACTIONS\",\"type\":\"choice\",\"arguments\":[{\"name\":\"EQUAL\",\"followsDelimiter\":\"/\",\"description\":\"Specifies that n equally spaced knots be positioned between the extremes of the data. The default is n=3. For a B-spline basis, any needed boundary knots continue to be equally spaced unless the DATABOUNDARY option has also been specified. KNOTMETHOD=EQUAL is the default if no knot-method is specified.\",\"type\":\"standalone\"},{\"name\":\"LIST\",\"followsDelimiter\":\"/\",\"description\":\"Specifies the list of internal knots to be used in forming the spline basis columns. For a B-spline basis, the data extremes are used as boundary knots.\",\"type\":\"standalone\"},{\"name\":\"LISTWITHBOUNDARY\",\"followsDelimiter\":\"/\",\"description\":\"Specifies the list of all knots that are used in forming the spline basis columns.\",\"type\":\"standalone\"},{\"name\":\"MULTISCALE\",\"followsDelimiter\":\"/\",\"description\":\"Specifies that multiple B-spline bases be generated, corresponding to sets with an increasing number of internal knots. You can control which scales are included with the following multiscale-options: STARTSCALE=n specifies the start scale, where n is a positive integer. The default is STARTSCALE=0. ENDSCALE=n specifies the end scale, where n is a positive integer. The default is ENDSCALE=7.\",\"type\":\"standalone\"},{\"name\":\"PERCENTILES\",\"followsDelimiter\":\"/\",\"description\":\"Requests that internal knots be placed at n equally spaced percentiles of the variable or variables named in the EFFECT statement.\",\"type\":\"standalone\"},{\"name\":\"RANGEFRACTIONS\",\"followsDelimiter\":\"/\",\"description\":\"Requests that internal knots be placed at each fraction of the ranges of the variables in the EFFECT statement.\",\"type\":\"standalone\"}]},{\"name\":\"KNOTMIN=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"\",\"help\":\"KNOTMIN=*value*\",\"type\":\"value\"},{\"name\":\"MDEGREE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"\",\"help\":\"MDEGREE=*n*\",\"type\":\"value\"},{\"name\":\"NATURALCUBIC\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Uses a natural cubic spline basis for the spline expansion. Natural cubic splines, also known as restricted cubic splines, are cubic splines that are constrained to be linear beyond the extreme knots.\",\"type\":\"standalone\"},{\"name\":\"NOEFFECT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies that observations whose levels are all missing for the multimember variables should have 0 values in the corresponding design matrix columns.\",\"type\":\"standalone\"},{\"name\":\"NOSEPARATE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies that the polynomial be treated as a single effect with multiple degrees of freedom. The effect name that you specify is used as the constructed effect name, and the labels of the terms are used as labels of the corresponding parameters.\",\"type\":\"standalone\"},{\"name\":\"SEPARATE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies that when multiple variables are specified in the EFFECT statement, the spline basis for each variable be treated as a separate effect. The names of these separated effects are formed by appending an underscore followed by the name of the variable to the name that you specify in the EFFECT statement.\",\"type\":\"standalone\"},{\"name\":\"SPLIT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies that each individual column in the design matrix that corresponds to the spline effect be treated as a separate effect that can enter or leave the model independently. Names for these split effects are generated by appending the variable name and an index for each column to the name that you specify in the EFFECT statement.\",\"type\":\"standalone\"},{\"name\":\"STANDARDIZE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies that the variables that define the polynomial be standardized. By default, the standardized variables receive prefix \\\"s_\\\" in the variable names. You can use the following centerscale-opts to specify how the center and scale are estimated: METHOD=MOMENTS specifies that the center be estimated by the variable mean and the scale be estimated by the standard deviation. METHOD=RANGE specifies that the center be estimated by the midpoint of the variable range and the scale be estimated as half the variable range. METHOD=WMOMENTS is the same as METHOD=MOMENTS except that weighted means and weighted standard deviations are used.\",\"help\":\"STANDARDIZECENTER | CENTERSCALE | NONE | SCALE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"CENTER\",\"followsDelimiter\":\"/\",\"description\":\"Specifies that variables be centered but not scaled.\",\"type\":\"standalone\"},{\"name\":\"CENTERSCALE\",\"followsDelimiter\":\"/\",\"description\":\"Specifies that variables be centered and scaled. This is the default if you do not specify a standardization-opt.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"followsDelimiter\":\"/\",\"description\":\"Specifies that no standardization be performed.\",\"type\":\"standalone\"},{\"name\":\"SCALE\",\"followsDelimiter\":\"/\",\"description\":\"Specifies that variables be scaled but not centered.\",\"type\":\"standalone\"}]},{\"name\":\"STDIZE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies that for each observation, the entries in the design matrix that corresponds to the multimember effect be scaled to have a sum of one.\",\"type\":\"standalone\"},{\"name\":\"WEIGHT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies numeric variables used to weigh the contributions of each of the classification effects that define the constructed multimember effect. The number of variables in wght-list must match the number of classification variables that define the effect.\",\"help\":\"WEIGHT=*wght-list*\",\"type\":\"value\"}]},{\"name\":\"MODEL\",\"description\":\"The MODEL statement names a single dependent variable and the fixed effects, which determine the X matrix of the mixed model. The MODEL statement is required. An intercept is included in the fixed-effects model by default. If no fixed effects are specified, only this intercept term is fit. The intercept can be removed by using the NOINT option.\",\"help\":\"MODEL &lt;ALPHA=α&gt;&lt;DDFM=&lt;NONE | RESIDUAL&gt;&gt;&lt;NOINT&gt; ...\",\"arguments\":[{\"name\":\"ALPHA=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Sets the confidence level to be 1-α for each confidence interval of the fixed-effects parameters, where α must be a number between 0 and 1. By default, ALPHA=0.05.\",\"type\":\"value\"},{\"name\":\"DDFM=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the method for computing the denominator degrees of freedom for the tests of fixed effects.\",\"help\":\"DDFM=NONE | RESIDUAL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NONE\",\"followsDelimiter\":\"/\",\"description\":\"Specifies that no denominator degrees of freedom be applied. PROC HPLMIXED then essentially assumes that infinite degrees of freedom are available in the calculation of p-values.\",\"type\":\"standalone\"},{\"name\":\"RESIDUAL\",\"followsDelimiter\":\"/\",\"description\":\"Performs all tests by using the residual degrees of freedom, n - rank(X)/, where n is the number of observations used.\",\"type\":\"standalone\"}]},{\"name\":\"NOINT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that no intercept be included in the model. (An intercept is included by default.)\",\"type\":\"standalone\"},{\"name\":\"SOLUTION\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Produces a solution for the fixed-effects parameters.\",\"type\":\"standalone\"}]},{\"name\":\"OPTIMIZATION\",\"description\":\"The OPTIMIZATION statement specifies the technique and relevant specifications that are used in nonlinear optimization of REML and ML functions.\",\"help\":\"OPTIMIZATION &lt;ABSCONV=r&gt;&lt;ABSFCONV=r&gt;&lt;ABSGCONV=r&gt; ...\",\"arguments\":[{\"name\":\"ABSCONV=\",\"optional\":true,\"description\":\"Specifies an absolute function convergence criterion.\",\"help\":\"ABSCONV=*r*\",\"type\":\"value\"},{\"name\":\"ABSFCONV=\",\"optional\":true,\"description\":\"Specifies an absolute function difference convergence criterion.\",\"help\":\"ABSFCONV=*r*\",\"type\":\"value\"},{\"name\":\"ABSGCONV=\",\"optional\":true,\"description\":\"Specifies an absolute gradient convergence criterion.\",\"help\":\"ABSGCONV=*r*\",\"type\":\"value\"},{\"name\":\"FCONV2=\",\"optional\":true,\"description\":\"Specifies a second function convergence criterion.\",\"help\":\"FCONV2=*r*\",\"type\":\"value\"},{\"name\":\"FCONV=\",\"optional\":true,\"description\":\"Specifies the relative function convergence criterion.\",\"help\":\"FCONV=*r*\",\"type\":\"value\"},{\"name\":\"GCONV2=\",\"optional\":true,\"description\":\"Specifies another relative gradient convergence criterion.\",\"help\":\"GCONV2=*r*\",\"type\":\"value\"},{\"name\":\"GCONV=\",\"optional\":true,\"description\":\"Specifies the relative gradient convergence criterion.\",\"help\":\"GCONV=*r*\",\"type\":\"value\"},{\"name\":\"MAXFUNC=\",\"optional\":true,\"description\":\"Specifies the maximum number of function calls in the optimization process. The optimization can terminate only after completing a full iteration. Therefore, the number of function calls that are performed can exceed n. The default values are as follows, depending on the optimization technique:\",\"help\":\"MAXFUNC=*n*\",\"type\":\"value\"},{\"name\":\"MAXITER=\",\"optional\":true,\"description\":\"Specifies the maximum number of iterations in the optimization process. These default values also apply when is specified as a missing value. The default values are as follows, depending on the optimization technique:\",\"help\":\"MAXITER=*n*\",\"type\":\"value\"},{\"name\":\"MAXTIME=\",\"optional\":true,\"description\":\"Specifies an upper limit of seconds of CPU time for the optimization process. The default value is the largest floating-point double representation of your computer. The time specified by the MAXTIME= option is checked only once at the end of each iteration. Therefore, the actual running time can be longer than r.\",\"help\":\"MAXTIME=*r*\",\"type\":\"value\"},{\"name\":\"MINITER=\",\"optional\":true,\"description\":\"Specifies the minimum number of iterations. The default value is 0.\",\"help\":\"MINITER=*n*\",\"type\":\"value\"},{\"name\":\"TECHNIQUE=\",\"optional\":true,\"aliases\":[\"TECH=\"],\"description\":\"Specifies the optimization technique for obtaining restricted maximum likelihood estimation (REML) or maximum likelihood estimation (ML). There is no algorithm for optimizing general nonlinear functions that always finds the global optimum for a general nonlinear optimization problem in a reasonable amount of time. Because no single optimization technique is always superior to others, PROC LMIXED provides a variety of optimization techniques that work well in various circumstances. By default, TECHNIQUE=NRRIDG when DMMETHOD=DENSE. Otherwise, TECHNIQUE=QUANEW by default.\",\"help\":\"TECHNIQUE=CONGRA | DBLDOG | NEWRAP | NNSIMP | NONE | NRRIDG | QUANEW | TRUREG\",\"type\":\"choice\",\"arguments\":[{\"name\":\"CONGRA\",\"description\":\"Performs a conjugate-gradient optimization.\",\"type\":\"standalone\"},{\"name\":\"DBLDOG\",\"description\":\"Performs a version of double-dogleg optimization.\",\"type\":\"standalone\"},{\"name\":\"NEWRAP\",\"description\":\"Performs a Newton-Raphson optimization that combines a line-search algorithm with ridging.\",\"type\":\"standalone\"},{\"name\":\"NNSIMP\",\"description\":\"Performs a Nelder-Mead simplex optimization.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"Performs no optimization.\",\"type\":\"standalone\"},{\"name\":\"NRRIDG\",\"description\":\"Performs a Newton-Raphson optimization with ridging.\",\"type\":\"standalone\"},{\"name\":\"QUANEW\",\"description\":\"Performs a dual quasi-Newton optimization.\",\"type\":\"standalone\"},{\"name\":\"TRUREG\",\"description\":\"Performs a trust-region optimization.\",\"type\":\"standalone\"}]},{\"name\":\"XCONV=\",\"optional\":true,\"description\":\"Specifies the relative parameter convergence criterion.\",\"type\":\"value\"}]},{\"name\":\"OUTPUT\",\"description\":\"The OUTPUT statement creates a data table that contains observationwise statistics, which are computed after the model is fitted. The variables in the input data table are not included in the output data table in order to avoid data duplication for large data tables; however, variables that you specify in the COPYVARS= option are included.\",\"help\":\"OUTPUT &lt;ALLSTATS&gt;&lt;ALPHA=number&gt;&lt;OUT=CAS-libref.data-table&gt; ...\",\"arguments\":[{\"name\":\"ALLSTATS\",\"optional\":true,\"aliases\":[\"ALLSTAT\"],\"description\":\"Adds all available statistics to the output data table.\",\"type\":\"standalone\"},{\"name\":\"ALPHA=\",\"optional\":true,\"description\":\"Specifies the significance level for the construction of confidence intervals in the output data table. The confidence level is 1 - number, where number must be between 0 and 1. By default, number is equal to the value of the ALPHA= option in the MODEL statement, or 0.05 if that option is not specified.\",\"help\":\"ALPHA=*number*\",\"type\":\"value\"},{\"name\":\"COPYVAR=\",\"optional\":true,\"aliases\":[\"COPYVARS=\"],\"description\":\"Copies one or more variables from the input data table to the output data table.\",\"type\":\"value\"},{\"name\":\"OUT=\",\"optional\":true,\"description\":\"Names the output data table for PROC LMIXED to use. You must specify this option before any other options. CAS-libref.data-table is a two-level name, where\",\"help\":\"OUT=*CAS-libref.data-table*\",\"type\":\"dataSet\"}]},{\"name\":\"PARMS\",\"description\":\"The PARMS statement specifies initial values for the covariance parameters, or it requests a grid search over several values of these parameters. You must specify the values in the order in which they appear in the \\\"Covariance Parameter Estimates\\\" table. The value-list specification can take any of several forms: m a single value m1,m2,...,mn several values m to n a sequence where m equals the starting value, n equals the ending value, and the increment equals 1 m to n by i a sequence where m equals the starting value, n equals the ending value, and the increment equals i m1,m2 to m3 mixed values and sequences You can use the PARMS statement to input known parameters.\",\"help\":\"PARMS &lt;HOLD&lt;=order-list&gt; | EQCONS&lt;=order-list&gt; | HOLD&lt;=ALL&gt; | EQCONS&lt;=ALL&gt;&gt;&lt;LOWERB=value-list&gt;&lt;NOITER&gt; ...\",\"arguments\":[{\"name\":\"HOLD=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"EQCONS=\"],\"description\":\"Holds the values of the covariance parameters whose order is specified in the order-list to the initial values that are specified in the value-list in the RANDOM statement.\",\"type\":\"value\"},{\"name\":\"LOWERB=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the lower boundary constraints on the covariance parameters, where value-list is a list of numbers or missing values (.) separated by commas. You must list the numbers in the order that the LMIXED procedure uses for the covariance parameters, and each number corresponds to a lower boundary constraint. A missing value instructs the LMIXED procedure to use its default constraint. If you do not specify numbers for all the covariance parameters, the LMIXED procedure assumes that the remaining ones are missing.\",\"help\":\"LOWERB=*value-list*\",\"type\":\"value\"},{\"name\":\"NOITER\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that no optimization iterations be performed and that the LMIXED procedure use the best value from the grid search to perform inferences.\",\"type\":\"standalone\"},{\"name\":\"PARMSDATA=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"PDATA=\"],\"description\":\"Reads in covariance parameter values from a data table. CAS-libref.data-table is a two-level name, where CAS-libref refers to the caslib and session identifier, and data-table specifies the name of the input data table.\",\"type\":\"value\"},{\"name\":\"UPPERB=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies upper boundary constraints on the covariance parameters, where the value-list specification is a list of numbers or missing values (.) separated by commas. You must list the numbers in the order that the LMIXED procedure uses for the covariance parameters, and each number corresponds to the upper boundary constraint. A missing value instructs the LMIXED procedure to use its default constraint. If you do not specify numbers for all of the covariance parameters, the LMIXED procedure assumes that the remaining ones are missing.\",\"help\":\"UPPERB=*value-list*\",\"type\":\"value\"}]},{\"name\":\"RANDOM\",\"description\":\"The RANDOM statement defines the random effects constituting the γ vector in the mixed model. You can use this statement to specify traditional variance component models and to specify random coefficients. The random effects can be classification or continuous, and multiple RANDOM statements are allowed.\",\"help\":\"RANDOM &lt;ALPHA=α&gt;&lt;CL&gt;&lt;SOLUTION&gt; ...\",\"arguments\":[{\"name\":\"ALPHA=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Sets the confidence level to be for each confidence interval of the random-effects estimates, where α must be a number between 0 and 1. By default, ALPHA=0.05.\",\"type\":\"value\"},{\"name\":\"CL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Constructs t-type confidence limits for each of the random-effect estimates. The confidence level is 0.95 by default; this can be changed with the ALPHA= option.\",\"type\":\"standalone\"},{\"name\":\"SOLUTION\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Produces the solution for the random-effects parameters.\",\"type\":\"standalone\"},{\"name\":\"SUBJECT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"SUB=\"],\"description\":\"Identifies the subjects in your mixed model. Complete independence is assumed across subjects; thus, the SUBJECT= option produces a block-diagonal structure in that has identical blocks. In fact, specifying an effect is equivalent to nesting all other effects in the RANDOM statement within the effect.\",\"help\":\"SUBJECT=*effect*\",\"type\":\"value\"},{\"name\":\"TYPE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the covariance structure of G.\",\"help\":\"TYPE=ANTE(1) | AR(1) | ARH(1) | ARMA(1,1) | CHOL | CS | CSH | FA(q) | FA0(q) | FA1(q) | HF | TOEP | TOEP(q) | TOEPH | TOEPH(q) | UN | UN(q) | UNR | UNR(q) | VC*covariance-structure*\",\"type\":\"value\",\"arguments\":[{\"name\":\"ANTE(1)\",\"followsDelimiter\":\"/\",\"description\":\"Specifies a first-order antedependence structure (see Kenward 1987, Patel 1991, and Macchiavelli and Arnold 1994)\",\"type\":\"standalone\"},{\"name\":\"AR(1)\",\"followsDelimiter\":\"/\",\"description\":\"Specifies a first-order autoregressive structure.\",\"type\":\"standalone\"},{\"name\":\"ARH(1)\",\"followsDelimiter\":\"/\",\"description\":\"Specifies a heterogeneous first-order autoregressive structure.\",\"type\":\"standalone\"},{\"name\":\"ARMA(1,1)\",\"followsDelimiter\":\"/\",\"description\":\"Specifies the first-order autoregressive moving-average (1,1) structure\",\"type\":\"standalone\"},{\"name\":\"CHOL\",\"followsDelimiter\":\"/\",\"description\":\"Specifies a Cholesky root structure\",\"type\":\"standalone\"},{\"name\":\"CS\",\"followsDelimiter\":\"/\",\"description\":\"Specifies the compound-symmetry structure, which has constant variance and constant covariance.\",\"type\":\"standalone\"},{\"name\":\"CSH\",\"followsDelimiter\":\"/\",\"description\":\"Specifies the heterogeneous compound-symmetry structure, which is an equi-correlation structure but allows for different variances.\",\"type\":\"standalone\"},{\"name\":\"FA(q)\",\"followsDelimiter\":\"/\",\"description\":\"Specifies the factor-analytic structure with q factors (Jennrich and Schluchter 1986).\",\"type\":\"standalone\"},{\"name\":\"FA0(q)\",\"followsDelimiter\":\"/\",\"description\":\"Is similar to the FA(q) structure except that no diagonal factor analytic is included.\",\"type\":\"standalone\"},{\"name\":\"FA1(q)\",\"followsDelimiter\":\"/\",\"description\":\"Is similar to the FA(q) structure except that an equal factor analytic is included.\",\"type\":\"standalone\"},{\"name\":\"HF\",\"followsDelimiter\":\"/\",\"description\":\"Specifies the Huynh-Feldt covariance structure (Huynh and Feldt 1970). This structure is similar to the CSH structure in that it has the same number of parameters and heterogeneity along the main diagonal. However, it constructs the off-diagonal elements by taking arithmetic rather than geometric means.\",\"type\":\"standalone\"},{\"name\":\"TOEP\",\"followsDelimiter\":\"/\",\"description\":\"Specifies a full Toeplitz matrix, which can be viewed as an autoregressive structure with order equal to the dimension of the matrix.\",\"type\":\"standalone\"},{\"name\":\"TOEP(q)\",\"followsDelimiter\":\"/\",\"description\":\"Specifies a banded Toeplitz structure. This can be viewed as a moving-average structure with order equal to q-1.\",\"type\":\"standalone\"},{\"name\":\"TOEPH\",\"followsDelimiter\":\"/\",\"description\":\"Specifies a heterogeneous banded Toeplitz structure.\",\"type\":\"standalone\"},{\"name\":\"TOEPH(q)\",\"followsDelimiter\":\"/\",\"description\":\"Specifies a heterogeneous banded Toeplitz structure. PROC LMIXED estimates only the first q bands of the matrix, setting all higher bands equal to 0.\",\"type\":\"standalone\"},{\"name\":\"UN\",\"followsDelimiter\":\"/\",\"description\":\"Specifies a completely general (unstructured) covariance matrix parameterized directly in terms of variances and covariances.\",\"type\":\"standalone\"},{\"name\":\"UN(q)\",\"followsDelimiter\":\"/\",\"description\":\"Specifies a completely general (unstructured) covariance matrix parameterized directly in terms of variances and covariances. PROC LMIXED estimates only the first q bands of the matrix, setting all higher bands equal to 0.\",\"type\":\"standalone\"},{\"name\":\"UNR\",\"followsDelimiter\":\"/\",\"description\":\"Specifies a completely general (unstructured) covariance matrix parameterized in terms of variances and correlations.\",\"type\":\"standalone\"},{\"name\":\"UNR(q)\",\"followsDelimiter\":\"/\",\"description\":\"Specifies a completely general (unstructured) covariance matrix parameterized in terms of variances and correlations. PROC LMIXED estimates only the first q bands of the matrix, setting all higher bands equal to zero.\",\"type\":\"standalone\"},{\"name\":\"VC\",\"followsDelimiter\":\"/\",\"aliases\":[\"SIMPLE\"],\"description\":\"Specifies standard variance components and is the default structure for both the RANDOM. In the RANDOM statement, a distinct variance component is assigned to each effect.\",\"type\":\"standalone\"}]}]},{\"name\":\"WEIGHT\",\"description\":\"The variable in the WEIGHT statement is used as a weight to perform a weighted analysis of the data. Observations that have nonpositive or missing weights are not included in the analysis. If a WEIGHT statement is not included, all observations that are used in the analysis are assigned a weight of 1. The WEIGHT statement is supported only when DMMETHOD=SPARSE.\",\"help\":\"WEIGHT variable\"}],\"supportSiteInformation\":{\"docsetId\":\"casstat\",\"docsetVersion\":\"latest\",\"docsetTargetFile\":\"casstat_lmixed_toc.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/LOAN.json",
    "content": "{\"name\":\"LOAN\",\"statements\":[{\"name\":\"PROC LOAN\",\"description\":\"The LOAN procedure analyzes and compares fixed rate, adjustable rate, buydown, and balloon payment loans. The LOAN procedure computes the loan parameters and outputs the loan summary information for each loan. † Multiple loan specifications can be processed and compared in terms of economic criteria such as after-tax or before-tax present worth of cost and true interest rate, breakeven of periodic payment and of interest paid, and outstanding balance at different periods in time. PROC LOAN selects the best alternative in terms of the specified economic criterion for each loan comparison period. † The LOAN procedure allows various payment and compounding intervals (including continuous compounding) and uniform or lump sum prepayments for a loan. Down payments, discount points, and other initialization costs can be included in the loan analysis and comparison. † The LOAN procedure does not support an input data set. All loans analyzed are specified with statements in the PROC LOAN step. The SAS DATA step provides a function MORT that can be used for data-driven analysis of many fixed-rate mortgage or installment loans. However, the MORT function supports only simple fixed rate loans.\",\"help\":\"PROC LOAN <AMOUNT=amount><AMOUNTPCT=value><COMPOUND=CONTINUOUS | DAY | SEMIMONTH... ><DOWNPAYMENT=amount><DOWNPAYPCT=value><INITIAL=amount><INITIALPCT=value><INTERVAL=SEMIMONTH | MONTH | QUARTER... ><LABEL='loan-label'><LIFE=n><NOPRINT><NOSUMMARYPRINT><OUTSUM= SAS-data-set><PAYMENT=amount><POINTPCT=value><POINTS=amount><PREPAYMENTS=amount><PRICE=amount><RATE=rate><ROUND=<n> | NONE><SCHEDULE=nyears><SCHEDULE=YEARLY><SCHEDULE><START=SAS-date-literal | START=yyyy:period>;     \\n\\tARM <ADJUSTFREQ=n><CAPS=(periodic-cap, life-cap)><MAXADJUST=rate> ...;\\n\\n\\tBALLOON <BALLOONPAYMENT=( date1=payment1 date2=payment2 ... )> ;\\n\\n\\tBUYDOWN <BUYDOWNRATES=( date1=rate1 date2=rate2 ... )> ;\\n\\n\\tCOMPARE <ALL><AT=( date1 date2 ...) | AT=( period1 period2 ...)><BREAKINTEREST> ...;\\n\\n\\tFIXED <AMOUNT=amount><LIFE=n><PAYMENT=amount> ...;\\n\",\"arguments\":[{\"name\":\"AMOUNT=\",\"optional\":true,\"aliases\":[\"A=\"],\"description\":\"Specifies the loan amount (the outstanding principal balance at the initialization of the loan).\",\"help\":\"AMOUNT=*amount*\",\"type\":\"value\"},{\"name\":\"AMOUNTPCT=\",\"optional\":true,\"aliases\":[\"APCT=\"],\"description\":\"Specifies the loan amount as a percentage of the purchase price (PRICE= option). The AMOUNTPCT= specification is used to calculate the loan amount if the AMOUNT= option is not specified.\",\"help\":\"AMOUNTPCT=*value*\",\"type\":\"value\"},{\"name\":\"COMPOUND=\",\"optional\":true,\"description\":\"Specifies the time interval between compoundings. The default is the time unit given by the INTERVAL= option. If the INTERVAL= option is not used, then the default is COMPOUND=MONTH.\",\"help\":\"COMPOUND=CONTINUOUS | DAY | SEMIMONTH | MONTH | QUARTER | SEMIYEAR | YEAR\",\"type\":\"choice\",\"arguments\":[{\"name\":\"CONTINUOUS\",\"description\":\"Compounded continuosly\",\"type\":\"standalone\"},{\"name\":\"DAY\",\"description\":\"Compounded daily\",\"type\":\"standalone\"},{\"name\":\"SEMIMONTH\",\"description\":\"Compounded semi-monthly\",\"type\":\"standalone\"},{\"name\":\"MONTH\",\"description\":\"Compounded monthly\",\"type\":\"standalone\"},{\"name\":\"QUARTER\",\"description\":\"Compounded quarterly\",\"type\":\"standalone\"},{\"name\":\"SEMIYEAR\",\"description\":\"Compounded semi-yearly\",\"type\":\"standalone\"},{\"name\":\"YEAR\",\"description\":\"Compounded yearly\",\"type\":\"standalone\"}]},{\"name\":\"DOWNPAYMENT=\",\"optional\":true,\"aliases\":[\"DP=\"],\"description\":\"Specifies the down payment at the initialization of the loan. The down payment is included in the calculation of the present worth of cost but not in the calculation of the true interest rate. The after-tax analysis assumes that the down payment is not tax-deductible. (Specify after-tax analysis with the TAXRATE= option in the COMPARE statement.)\",\"help\":\"DOWNPAYMENT=*amount*\",\"type\":\"value\"},{\"name\":\"DOWNPAYPCT=\",\"optional\":true,\"aliases\":[\"DPCT=\"],\"description\":\"Specifies the down payment as a percentage of the purchase price (PRICE= option). The DOWNPAYPCT= specification is used to calculate the down payment amount if you do not specify the DOWNPAYMENT= option. The value you specify must be in the range 0% to 99%.\",\"help\":\"DOWNPAYPCT=*value*\",\"type\":\"value\"},{\"name\":\"INITIAL=\",\"optional\":true,\"aliases\":[\"INIT=\"],\"description\":\"Specifies the amount paid for loan initialization other than the discount points and down payment. This amount is included in the calculation of the present worth of cost and the true interest rate. The after-tax analysis assumes that the initial amount is not tax-deductible. (After-tax analysis is specified by the TAXRATE= option in the COMPARE statement.)\",\"help\":\"INITIAL=*amount*\",\"type\":\"value\"},{\"name\":\"INITIALPCT=\",\"optional\":true,\"aliases\":[\"INITPCT=\"],\"description\":\"Specifies the initialization costs as a percentage of the loan amount (AMOUNT= option). The INITIALPCT= specification is used to calculate the amount paid for loan initialization if you do not specify the INITIAL= option. The value you specify must be in the range of 0% to 100%.\",\"help\":\"INITIALPCT=*value*\",\"type\":\"value\"},{\"name\":\"INTERVAL=\",\"optional\":true,\"description\":\"Gives the time interval between periodic payments. The default is INTERVAL=MONTH.\",\"help\":\"INTERVAL=SEMIMONTH | MONTH | QUARTER | SEMIYEAR | YEAR\",\"type\":\"choice\",\"arguments\":[{\"name\":\"SEMIMONTH\",\"description\":\"Semi-monthly periodic payment interval\",\"type\":\"standalone\"},{\"name\":\"MONTH\",\"description\":\"Monthly periodic payment interval\",\"type\":\"standalone\"},{\"name\":\"QUARTER\",\"description\":\"Quarterly periodic payment interval\",\"type\":\"standalone\"},{\"name\":\"SEMIYEAR\",\"description\":\"Semi-yearly periodic payment interval\",\"type\":\"standalone\"},{\"name\":\"YEAR\",\"description\":\"Yearly periodic payment interval\",\"type\":\"standalone\"}]},{\"name\":\"LABEL=\",\"optional\":true,\"description\":\"Specifies a label for the loan. If you specify the LABEL= option, all output related to the loan is labeled accordingly. If you do not specify the LABEL= option, the loan is labeled by sequence number.\",\"help\":\"LABEL='*loan-label*'\",\"type\":\"value\"},{\"name\":\"LIFE=\",\"optional\":true,\"description\":\"Gives the life of the loan in number of payments. (The payment frequency is specified by the INTERVAL= option.) For example, if the life of the loan is 10 years with monthly payments, use LIFE=120 and INTERVAL=MONTH (default) to indicate a 10-year loan in which 120 monthly payments are made.\",\"help\":\"LIFE=*n*\",\"type\":\"value\"},{\"name\":\"NOPRINT\",\"optional\":true,\"aliases\":[\"NOP\"],\"description\":\"Suppresses all printed output for the loan.\",\"type\":\"standalone\"},{\"name\":\"NOSUMMARYPRINT\",\"optional\":true,\"aliases\":[\"NOSUMPR\"],\"description\":\"Suppresses the printing of the loan summary report. The NOSUMMARYPRINT option is usually used when an OUTSUM= data set is created to store loan summary information.\",\"type\":\"standalone\"},{\"name\":\"OUTSUM=\",\"optional\":true,\"description\":\"Creates an output data set that contains loan summary information for all loans other than those for which a different OUTSUM= output data set is specified.\",\"type\":\"value\"},{\"name\":\"PAYMENT=\",\"optional\":true,\"aliases\":[\"P=\"],\"description\":\"Specifies the periodic payment. For ARM and BUYDOWN loans where the periodic payment might change, the PAYMENT= option specifies the initial amount of the periodic payment.\",\"help\":\"PAYMENT=*amount*\",\"type\":\"value\"},{\"name\":\"POINTPCT=\",\"optional\":true,\"aliases\":[\"PNTPCT=\"],\"description\":\"Specifies the discount points as a percentage of the loan amount (AMOUNT= option). The POINTPCT= specification is used to calculate the amount paid for discount points if you do not specify the POINTS= option. The value you specify must be in the range of 0% to 100%.\",\"help\":\"POINTPCT=*value*\",\"type\":\"value\"},{\"name\":\"POINTS=\",\"optional\":true,\"aliases\":[\"PNT=\"],\"description\":\"Specifies the amount paid for discount points at the initialization of the loan. This amount is included in the calculation of the present worth of cost and true interest rate. The amount paid for discount points is assumed to be tax-deductible in after-tax analysis (that is, if the TAXRATE= option is specified in the COMPARE statement).\",\"help\":\"POINTS=*amount*\",\"type\":\"value\"},{\"name\":\"PREPAYMENTS=\",\"optional\":true,\"aliases\":[\"PREP=\"],\"description\":\"Syntax: PREPAYMENTS=amount | PREPAYMENTS=( date1=prepayment1 date2=prepayment2 ... ) | PREPAYMENTS=( period1=prepayment1 period2=prepayment2 ... )] Specifies either a uniform prepayment p throughout the life of the loan or lump sum prepayments. A uniform prepayment p is assumed to be paid with each periodic payment. Specify lump sum prepayments by pairs of periods (or dates) and respective prepayment amounts.\",\"help\":\"PREPAYMENTS=*amount*\",\"type\":\"value\"},{\"name\":\"PRICE=\",\"optional\":true,\"aliases\":[\"PRC=\"],\"description\":\"Specifies the purchase price, which is the loan amount plus the down payment. If you specify the PRICE= option along with the loan amount (AMOUNT= option) or the down payment (DOWNPAYMENT= option), the value of the other one is calculated.\",\"help\":\"PRICE=*amount*\",\"type\":\"value\"},{\"name\":\"RATE=\",\"optional\":true,\"aliases\":[\"R=\"],\"description\":\"Specifies the initial annual (nominal) interest rate in percent notation. The rate specified must be in the range 0% to 120%. For example, use RATE=12.75 for a 12.75% loan. For ARM and BUYDOWN loans, where the rate might change over the life of the loan, the RATE= option specifies the initial annual interest rate.\",\"help\":\"RATE=*rate*\",\"type\":\"value\"},{\"name\":\"ROUND=\",\"optional\":true,\"description\":\"Specifies the number of decimal places to which the monetary amounts are rounded for the loan. Valid values for n are integers from 0 to 6. If you specify ROUND=NONE, the values are not rounded off internally, but the printed output is rounded off to two decimal places. The default is ROUND=2.\",\"help\":\"ROUND=&lt;*n*&gt; | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"n\",\"placeholder\":true,\"description\":\"Replace <n> with an integer value from 0 to 6.\",\"type\":\"value\"},{\"name\":\"NONE\",\"description\":\"The values are not rounded off internally, but the printed output is rounded off to two decimal places.\",\"type\":\"standalone\"}]},{\"name\":\"SCHEDULE=\",\"optional\":true,\"aliases\":[\"SCHED\"],\"description\":\"Prints the amortization schedule for the loan.\",\"help\":\"SCHEDULE=*nyears* | YEARLY\",\"type\":\"choice\",\"arguments\":[{\"name\":\"nyears\",\"placeholder\":true,\"description\":\"Specifies the number of years the printed amortization table covers.\",\"type\":\"value\"},{\"name\":\"YEARLY\",\"description\":\"Prints yearly summary information in the amortization schedule rather than the full amortization schedule. SCHEDULE=YEARLY is useful for long-term loans.\",\"type\":\"standalone\"}]},{\"name\":\"START=\",\"optional\":true,\"aliases\":[\"S=\"],\"description\":\"Gives the date of loan initialization. The first payment is assumed to be one payment interval after the start date. For example, you can specify the START= option as START=’1APR2010’D or as START=2010:3, where 3 is the third payment interval within the year 2010. If INTERVAL=QUARTER, 3 refers to the third quarter. If you specify the START= option, all output for the particular loan is dated accordingly.\",\"type\":\"value\"}]},{\"name\":\"ARM\",\"description\":\"The ARM statement specifies an adjustable rate loan where the future interest rates are not known with certainty but will vary within specified limits according to the terms stated in the loan agreement. In practice, the adjustment terms vary. Adjustments in the interest rate can be captured using the ARM statement options.\",\"help\":\"ARM &lt;ADJUSTFREQ=n&gt;&lt;CAPS=(periodic-cap, life-cap)&gt;&lt;MAXADJUST=rate&gt; ...\",\"arguments\":[{\"name\":\"ADJUSTFREQ=\",\"optional\":true,\"aliases\":[\"ADF=\"],\"description\":\"Specifies the number of periods, in terms of the INTERVAL= specification, between rate adjustments. INTERVAL=MONTH ADJUSTFREQ=6 indicates that the nominal interest rate can be adjusted every six months until the life cap or maximum rate (whichever is specified) is reached. The default is ADJUSTFREQ=12.\",\"help\":\"ADJUSTFREQ=*n*\",\"type\":\"value\"},{\"name\":\"BESTCASE\",\"optional\":true,\"description\":\"Specifies a best-case analysis. The best-case analysis assumes that the interest rate charged on the loan will reach its minimum allowed limits at each adjustment period and over the life of the loan. If you use the BESTCASE option, you must specify either the CAPS= option or the MINRATE= and MAXADJUST= options.\",\"type\":\"standalone\"},{\"name\":\"CAPS=\",\"optional\":true,\"description\":\"Specifies the maximum interest rate adjustment, in percent notation, allowed by the loan agreement. The periodic cap specifies the maximum adjustment allowed at each adjustment period. The life cap specifies the maximum total adjustment over the life of the loan.\",\"type\":\"value\"},{\"name\":\"ESTIMATEDCASE=\",\"optional\":true,\"aliases\":[\"ESTC=\"],\"description\":\"[Syntax: ESTIMATEDCASE=( date1=rate1 date2=rate2 ... ) | ESTIMATEDCASE=( period1=rate1 period2=rate2 ... ) Specifies an estimated case analysis that indicates the rate adjustments will follow the rates you predict. This option specifies pairs of periods and estimated nominal interest rates.\",\"type\":\"value\"},{\"name\":\"FIXEDCASE\",\"optional\":true,\"aliases\":[\"FIXCASE\"],\"description\":\"Specifies a fixed case analysis that assumes the rate will stay constant.\",\"type\":\"standalone\"},{\"name\":\"MAXADJUST=\",\"optional\":true,\"aliases\":[\"MAXAD=\"],\"description\":\"Specifies the maximum rate adjustment, in percent notation, allowed at each adjustment period. Use the MAXADJUST= option with the MAXRATE= and MINRATE= options.\",\"help\":\"MAXADJUST=*rate*\",\"type\":\"value\"},{\"name\":\"MAXRATE=\",\"optional\":true,\"aliases\":[\"MAXR=\"],\"description\":\"Specifies the maximum annual nominal rate, in percent notation, that might be charged on the loan. The maximum annual nominal rate should be greater than or equal to the initial annual nominal rate specified with the RATE= option.\",\"help\":\"MAXRATE=*rate*\",\"type\":\"value\"},{\"name\":\"MINRATE=\",\"optional\":true,\"aliases\":[\"MINR=\"],\"description\":\"Specifies the minimum annual nominal rate, in percent notation, that might be charged on the loan. The minimum annual nominal rate should be less than or equal to the initial annual nominal rate specified with the RATE= option.\",\"help\":\"MINRATE=*rate*\",\"type\":\"value\"},{\"name\":\"WORSTCASE\",\"optional\":true,\"description\":\"Specifies a worst-case analysis. The worst-case analysis assumes that the interest rate charged on the loan will reach its maximum allowed limits at each rate adjustment period and over the life of the loan. If the WORSTCASE option is used, either the CAPS= option or the MAXRATE= and MAXADJUST= options must be specified.\",\"type\":\"standalone\"}]},{\"name\":\"BALLOON\",\"description\":\"The BALLOON statement specifies a fixed rate loan with scheduled balloon payments in addition to the periodic payment.\",\"help\":\"BALLOON &lt;BALLOONPAYMENT=( date1=payment1 date2=payment2 ... )&gt;\",\"arguments\":[{\"name\":\"BALLOONPAYMENT=\",\"optional\":true,\"aliases\":[\"BPAY=\"],\"description\":\"[Syntax: BALLOONPAYMENT=( date1=payment1 date2=payment2 ... ) | BALLOONPAYMENT=( period1=payment1 period2=payment2 ... ) Specifies pairs of periods and amounts of balloon (lump sum) payments in excess of the periodic payment during the life of the loan. You can also specify the balloon periods as dates if you specify the START= option. The dates are specified as SAS date literals. For example, BALLOONPAYMENT=( ’1MAR2011’D=1000 ) specifies a payment of 1000 in March of 2011.\",\"type\":\"value\"}]},{\"name\":\"BUYDOWN\",\"description\":\"The BUYDOWN statement specifies a buydown rate loan. The buydown rate loans are similar to ARM loans, but the interest rate adjustments are predetermined at the initialization of the loan, usually by paying interest points at the time of loan initialization.\",\"help\":\"BUYDOWN &lt;BUYDOWNRATES=( date1=rate1 date2=rate2 ... )&gt;\",\"arguments\":[{\"name\":\"BUYDOWNRATES=\",\"optional\":true,\"aliases\":[\"BDR=\"],\"description\":\"[Syntax: BUYDOWNRATES=( date1=rate1 date2=rate2 ... ) | BUYDOWNRATES=( period1=rate1 period2=rate2 ... ) Specifies pairs of periods and the predetermined nominal interest rates that will be charged on the loan starting at the corresponding time periods.\",\"type\":\"value\"}]},{\"name\":\"COMPARE\",\"description\":\"The COMPARE statement compares multiple loans, or it can be used with a single loan. You can use only one COMPARE statement. COMPARE statement options specify the periods and desired types of analysis for loan comparison. The default analysis reports the outstanding principal balance, breakeven of payment, breakeven of interest paid, and before-tax true interest rate. The default comparison period corresponds to the first LIFE= option specification. If the LIFE= option is not specified for any loan, the loan comparison period defaults to the first calculated life.\",\"help\":\"COMPARE &lt;ALL&gt;&lt;AT=( date1 date2 ...) | AT=( period1 period2 ...)&gt;&lt;BREAKINTEREST&gt; ...\",\"arguments\":[{\"name\":\"ALL\",\"optional\":true,\"description\":\"Is equivalent to specifying the BREAKINTEREST, BREAKPAYMENT, PWOFCOST, and TRUEINTEREST options. The loan comparison report includes all the criteria. You need to specify the MARR= option for present worth of cost calculation.\",\"type\":\"standalone\"},{\"name\":\"AT=\",\"optional\":true,\"description\":\"Specifies the periods for loan comparison reports. If you specify the START= option in the PROC LOAN statement, you can specify the AT= option as a list of dates expressed as SAS date literals instead of periods. The comparison periods do not need to be in time sequence.\",\"type\":\"value\"},{\"name\":\"BREAKINTEREST\",\"optional\":true,\"aliases\":[\"BI\"],\"description\":\"Specifies breakeven analysis of the interest paid. The loan comparison report includes the interest paid for each loan through the specified comparison period (AT= option).\",\"type\":\"standalone\"},{\"name\":\"BREAKPAYMENT\",\"optional\":true,\"aliases\":[\"BP\"],\"description\":\"Specifies breakeven analysis of payment. The periodic payment for each loan is reported for every comparison period specified in the AT=option.\",\"type\":\"standalone\"},{\"name\":\"MARR=\",\"optional\":true,\"description\":\"Specifies the MARR (minimum attractive rate of return) in percent notation. The MARR reflects the cost of capital or the opportunity cost of money. The MARR= option is used i n calculating the present worth of cost.\",\"help\":\"MARR=*rate*\",\"type\":\"value\"},{\"name\":\"NOCOMPRINT\",\"optional\":true,\"aliases\":[\"NOCP\"],\"description\":\"Suppresses the printing of the loan comparison report. The NOCOMPRINT option is usually used when an OUTCOMP= data set is created to store loan comparison information.\",\"type\":\"standalone\"},{\"name\":\"OUTCOMP=\",\"optional\":true,\"description\":\"Suppresses the printing of the loan comparison report. The NOCOMPRINT option is usually used when an OUTCOMP= data set is created to store loan comparison information.\",\"help\":\"OUTCOMP=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"PWOFCOST\",\"optional\":true,\"aliases\":[\"PWC\"],\"description\":\"Calculates the present worth of cost (net present value of costs) for each loan based on the cash flow through the specified comparison periods.\",\"type\":\"standalone\"},{\"name\":\"TAXRATE=\",\"optional\":true,\"aliases\":[\"TAX=\"],\"description\":\"Specifies income tax rate in percent notation for the after-tax calculations of the true interest rate and present worth of cost for those assets that qualify for tax deduction. If you specify this option, the amount specified in the POINTS= option and the interest paid on the loan are assumed to be tax-deductible. Otherwise, it is assumed that the asset does not qualify for tax deductions, and the cash flow is not adjusted for tax savings.\",\"help\":\"TAXRATE=*rate*\",\"type\":\"value\"},{\"name\":\"TRUEINTEREST\",\"optional\":true,\"aliases\":[\"TI\"],\"description\":\"Calculates the true interest rate (effective interest rate based on the cash flow of all payments, initialization costs, discount points, and the outstanding principal balance at the comparison period) for all the specified loans through each comparison period. If you specify the TAXRATE= option, the true interest rate is based on after-tax cash flow. Otherwise, the before-tax true interest rate is calculated.\",\"type\":\"standalone\"}]},{\"name\":\"FIXED\",\"description\":\"The FIXED statement specifies a fixed rate and periodic payment loan. It can be specified using the options that are common to all loan statements. The FIXED statement options are listed in this section. You must specify three of the following options in each loan statement: AMOUNT=, LIFE=, RATE=, and PAYMENT=. The LOAN procedure calculates the fourth parameter based on the values you give the other three. If you specify all four of the options, the PAYMENT= specification is ignored, and the periodic payment is recalculated for consistency.\",\"help\":\"FIXED &lt;AMOUNT=amount&gt;&lt;LIFE=n&gt;&lt;PAYMENT=amount&gt; ...\",\"arguments\":[{\"name\":\"AMOUNT=\",\"optional\":true,\"aliases\":[\"A=\"],\"description\":\"Specifies the loan amount (the outstanding principal balance at the initialization of the loan).\",\"help\":\"AMOUNT=*amount*\",\"type\":\"value\"},{\"name\":\"APCT=\",\"optional\":true,\"description\":\"Specifies the loan amount as a percentage of the purchase price (PRICE= option). The AMOUNTPCT= specification is used to calculate the loan amount if the AMOUNT= option is not specified.\",\"help\":\"APCT=*value*\",\"type\":\"value\"},{\"name\":\"COMPOUND=\",\"optional\":true,\"description\":\"Specifies the time interval between compoundings. The default is the time unit given by the INTERVAL= option. If the INTERVAL= option is not used, then the default is COMPOUND=MONTH.\",\"help\":\"COMPOUND=CONTINUOUS | DAY | SEMIMONTH | MONTH | QUARTER | SEMIYEAR | YEAR\",\"type\":\"choice\",\"arguments\":[{\"name\":\"CONTINUOUS\",\"description\":\"Compounded continuosly\",\"type\":\"standalone\"},{\"name\":\"DAY\",\"description\":\"Compounded daily\",\"type\":\"standalone\"},{\"name\":\"SEMIMONTH\",\"description\":\"Compounded semi-monthly\",\"type\":\"standalone\"},{\"name\":\"MONTH\",\"description\":\"Compounded monthly\",\"type\":\"standalone\"},{\"name\":\"QUARTER\",\"description\":\"Compounded quarterly\",\"type\":\"standalone\"},{\"name\":\"SEMIYEAR\",\"description\":\"Compounded semi-yearly\",\"type\":\"standalone\"},{\"name\":\"YEAR\",\"description\":\"Compounded yearly\",\"type\":\"standalone\"}]},{\"name\":\"DOWNPAYMENT=\",\"optional\":true,\"aliases\":[\"DP=\"],\"description\":\"Specifies the down payment at the initialization of the loan. The down payment is included in the calculation of the present worth of cost but not in the calculation of the true interest rate. The after-tax analysis assumes that the down payment is not tax-deductible. (Specify after-tax analysis with the TAXRATE= option in the COMPARE statement.)\",\"help\":\"DOWNPAYMENT=*amount*\",\"type\":\"value\"},{\"name\":\"DOWNPAYPCT=\",\"optional\":true,\"aliases\":[\"DPCT=\"],\"description\":\"Specifies the down payment as a percentage of the purchase price (PRICE= option). The DOWNPAYPCT= specification is used to calculate the down payment amount if you do not specify the DOWNPAYMENT= option. The value you specify must be in the range 0% to 99%.\",\"help\":\"DOWNPAYPCT=*value*\",\"type\":\"value\"},{\"name\":\"INITIAL=\",\"optional\":true,\"aliases\":[\"INIT=\"],\"description\":\"Specifies the amount paid for loan initialization other than the discount points and down payment. This amount is included in the calculation of the present worth of cost and the true interest rate. The after-tax analysis assumes that the initial amount is not tax-deductible. (After-tax analysis is specified by the TAXRATE= option in the COMPARE statement.)\",\"help\":\"INITIAL=*amount*\",\"type\":\"value\"},{\"name\":\"INITIALPCT=\",\"optional\":true,\"aliases\":[\"INITPCT=\"],\"description\":\"Specifies the initialization costs as a percentage of the loan amount (AMOUNT= option). The INITIALPCT= specification is used to calculate the amount paid for loan initialization if you do not specify the INITIAL= option. The value you specify must be in the range of 0% to 100%.\",\"help\":\"INITIALPCT=*value*\",\"type\":\"value\"},{\"name\":\"INTERVAL=\",\"optional\":true,\"description\":\"Gives the time interval between periodic payments. The default is INTERVAL=MONTH.\",\"help\":\"INTERVAL=SEMIMONTH | MONTH | QUARTER | SEMIYEAR | YEAR\",\"type\":\"choice\",\"arguments\":[{\"name\":\"SEMIMONTH\",\"description\":\"Semi-monthly periodic payment interval\",\"type\":\"standalone\"},{\"name\":\"MONTH\",\"description\":\"Monthly periodic payment interval\",\"type\":\"standalone\"},{\"name\":\"QUARTER\",\"description\":\"Quarterly periodic payment interval\",\"type\":\"standalone\"},{\"name\":\"SEMIYEAR\",\"description\":\"Semi-yearly periodic payment interval\",\"type\":\"standalone\"},{\"name\":\"YEAR\",\"description\":\"Yearly periodic payment interval\",\"type\":\"standalone\"}]},{\"name\":\"LABEL=\",\"optional\":true,\"description\":\"Specifies a label for the loan. If you specify the LABEL= option, all output related to the loan is labeled accordingly. If you do not specify the LABEL= option, the loan is labeled by sequence number.\",\"help\":\"LABEL='*loan-label*'\",\"type\":\"value\"},{\"name\":\"LIFE=\",\"optional\":true,\"aliases\":[\"L=\"],\"description\":\"Gives the life of the loan in number of payments. (The payment frequency is specified by the INTERVAL= option.) For example, if the life of the loan is 10 years with monthly payments, use LIFE=120 and INTERVAL=MONTH (default) to indicate a 10-year loan in which 120 monthly payments are made.\",\"help\":\"LIFE=*n*\",\"type\":\"value\"},{\"name\":\"NOPRINT\",\"optional\":true,\"aliases\":[\"NOP\"],\"description\":\"Suppresses all printed output for the loan.\",\"type\":\"standalone\"},{\"name\":\"NOSUMMARYPRINT\",\"optional\":true,\"aliases\":[\"NOSUMPR\"],\"description\":\"Suppresses the printing of the loan summary report. The NOSUMMARYPRINT option is usually used when an OUTSUM= data set is created to store loan summary information.\",\"type\":\"standalone\"},{\"name\":\"OUT=\",\"optional\":true,\"description\":\"Writes the loan amortization schedule to an output data set.\",\"help\":\"OUT=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"OUTSUM=\",\"optional\":true,\"description\":\"Writes the loan summary for the individual loan to an output data set.\",\"help\":\"OUTSUM=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"PAYMENT=\",\"optional\":true,\"aliases\":[\"P=\"],\"description\":\"Specifies the periodic payment. For ARM and BUYDOWN loans where the periodic payment might change, the PAYMENT= option specifies the initial amount of the periodic payment.\",\"help\":\"PAYMENT=*amount*\",\"type\":\"value\"},{\"name\":\"POINTPCT=\",\"optional\":true,\"aliases\":[\"PNTPCT=\"],\"description\":\"Specifies the discount points as a percentage of the loan amount (AMOUNT= option). The POINTPCT= specification is used to calculate the amount paid for discount points if you do not specify the POINTS= option. The value you specify must be in the range of 0% to 100%.\",\"help\":\"POINTPCT=*value*\",\"type\":\"value\"},{\"name\":\"POINTS=\",\"optional\":true,\"aliases\":[\"PNT=\"],\"description\":\"Specifies the amount paid for discount points at the initialization of the loan. This amount is included in the calculation of the present worth of cost and true interest rate. The amount paid for discount points is assumed to be tax-deductible in after-tax analysis (that is, if the TAXRATE= option is specified in the COMPARE statement).\",\"help\":\"POINTS=*amount*\",\"type\":\"value\"},{\"name\":\"PREPAYMENTS=\",\"optional\":true,\"aliases\":[\"PREP=\"],\"description\":\"Syntax: PREPAYMENTS=amount | PREPAYMENTS=( date1=prepayment1 date2=prepayment2 ... ) | PREPAYMENTS=( period1=prepayment1 period2=prepayment2 ... )] Specifies either a uniform prepayment p throughout the life of the loan or lump sum prepayments. A uniform prepayment p is assumed to be paid with each periodic payment. Specify lump sum prepayments by pairs of periods (or dates) and respective prepayment amounts.\",\"help\":\"PREPAYMENTS=*amount*\",\"type\":\"value\"},{\"name\":\"PRICE=\",\"optional\":true,\"aliases\":[\"PRC=\"],\"description\":\"Specifies the purchase price, which is the loan amount plus the down payment. If you specify the PRICE= option along with the loan amount (AMOUNT= option) or the down payment (DOWNPAYMENT= option), the value of the other one is calculated.\",\"help\":\"PRICE=*amount*\",\"type\":\"value\"},{\"name\":\"RATE=\",\"optional\":true,\"aliases\":[\"R=\"],\"description\":\"Specifies the initial annual (nominal) interest rate in percent notation. The rate specified must be in the range 0% to 120%. For example, use RATE=12.75 for a 12.75% loan. For ARM and BUYDOWN loans, where the rate might change over the life of the loan, the RATE= option specifies the initial annual interest rate.\",\"help\":\"RATE=*rate*\",\"type\":\"value\"},{\"name\":\"ROUND=\",\"optional\":true,\"description\":\"Specifies the number of decimal places to which the monetary amounts are rounded for the loan. Valid values for n are integers from 0 to 6. If you specify ROUND=NONE, the values are not rounded off internally, but the printed output is rounded off to two decimal places. The default is ROUND=2.\",\"help\":\"ROUND=&lt;*n*&gt; | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"n\",\"placeholder\":true,\"description\":\"Replace <n> with an integer value from 0 to 6.\",\"type\":\"value\"},{\"name\":\"NONE\",\"description\":\"The values are not rounded off internally, but the printed output is rounded off to two decimal places.\",\"type\":\"standalone\"}]},{\"name\":\"SCHEDULE=\",\"optional\":true,\"aliases\":[\"SCHED\"],\"description\":\"Prints the amortization schedule for the loan.\",\"help\":\"SCHEDULE=*nyears* | YEARLY\",\"type\":\"choice\",\"arguments\":[{\"name\":\"nyears\",\"placeholder\":true,\"description\":\"Specifies the number of years the printed amortization table covers.\",\"type\":\"value\"},{\"name\":\"YEARLY\",\"description\":\"Prints yearly summary information in the amortization schedule rather than the full amortization schedule. SCHEDULE=YEARLY is useful for long-term loans.\",\"type\":\"standalone\"}]},{\"name\":\"START=\",\"optional\":true,\"aliases\":[\"S=\"],\"description\":\"Gives the date of loan initialization. The first payment is assumed to be one payment interval after the start date. For example, you can specify the START= option as START=’1APR2010’D or as START=2010:3, where 3 is the third payment interval within the year 2010. If INTERVAL=QUARTER, 3 refers to the third quarter. If you specify the START= option, all output for the particular loan is dated accordingly.\",\"type\":\"value\"}]}],\"supportSiteInformation\":{\"docsetId\":\"etsug\",\"docsetVersion\":\"latest\",\"docsetTargetFile\":\"etsug_loan_toc.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/LOCALEDATA.json",
    "content": "{\"name\":\"LOCALEDATA\",\"statements\":[{\"name\":\"PROC LOCALEDATA\",\"description\":\"Specifies the source of customized locale data.\",\"help\":\"PROC LOCALEDATA; \\n\\tLOAD  SASLOCALE | REGISTRY;\\n\\tMODIFY  key=key-name value=key-value | category=category-name value=locale;\\n\\tCONTENTS  _ALL_ | key-name | category-name;\\n\\tSAVE  REGISTRY<_ALL_ | key-name | category-name syntax=SAS>;\",\"supportSiteTargetFile\":\"n0ej75aj85yt6pn1f7w1gm6xz9mx.htm\"},{\"name\":\"LOAD\",\"description\":\"Specifies which source of locale data is loaded for customization.\",\"help\":\"LOAD  SASLOCALE | REGISTRY;\",\"arguments\":[{\"name\":\"SASLOCALE\",\"description\":\"loads the locale data from the factory setting default locale database.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n01192dhwyizntn1fb0mdsn0y4gn\"},{\"name\":\"REGISTRY\",\"description\":\"loads the locale data from the SAS registry. This locale data could be customized locale data that has been stored in the SAS registry.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p03g3hgwmjmu9kn1px8u8rs9882s\"}],\"supportSiteTargetFile\":\"n1s4uz5t1c2157n1oasx6amrl48v.htm\"},{\"name\":\"MODIFY\",\"description\":\"Customizes the locale data by locale element key or by locale category.\",\"help\":\"\\n\\tMODIFY  key=key-name value=key-value | category=category-name value=locale\",\"arguments\":[{\"name\":\"key=\",\"description\":\"customizes single locale element values.\",\"help\":\"key=*key-name* value=*key-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n18okj6by24vxtn1l6hrjwmdjkoa\"},{\"name\":\"category=\",\"description\":\"customizes all locale elements in a category. You can select one of the following categories:\\n• LC_NUMERIC\\n• LC_MONETARY\\n• LC_TIME\",\"help\":\"category=*category-name* value=*locale*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0d9cmjiemfgoln1do4f10edvzqf\"}],\"supportSiteTargetFile\":\"n0523lkgdzbsadn190kqr6tlz4ov.htm\"},{\"name\":\"CONTENTS\",\"description\":\"Displays the value of the specified locale element key.\",\"help\":\"CONTENTS _ALL_ | *locale-element-key* | *category-name*\",\"arguments\":[{\"name\":\"_ALL_\",\"description\":\"displays the value of all locale element keys.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p04jav16g065gwn1mgvbi4j6t179\"},{\"name\":\"locale-element-key\",\"placeholder\":true,\"description\":\"displays the value of the specified locale element key.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0qr4vbnc134y2n1ll8d84oi5kp8\"},{\"name\":\"category-name\",\"placeholder\":true,\"description\":\"displays the value of locale elements for the specified category.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0zyqg6dln3hy8n1kw1td1mgztqt\"}],\"supportSiteTargetFile\":\"n1kczvz18e5l8vn1oy6575cueprf.htm\"},{\"name\":\"SAVE\",\"description\":\"Stores the customized locale data in the SAS registry.\",\"help\":\"SAVE  REGISTRY &lt; _ALL_ | *key-name* | *category-name* *syntax=SAS*&gt;\",\"arguments\":[{\"name\":\"REGISTRY\",\"description\":\"stores locale data in the Sasuser library and registers it in the SAS registry. The encoding of the stored locale data is in UNICODE escape. Here is the hierarchy of the saved locale element in the SAS registry: SAS_REGISTRYLOCALEsas localelocale element key locale categorylocale element key.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p17kk1i6py6zxmn18s9noie8v14v\"},{\"name\":\"_ALL_\",\"optional\":true,\"description\":\"saves all locale data elements.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0q2xcltj0iwtyn1bxk303m238n7\"},{\"name\":\"key-name\",\"optional\":true,\"placeholder\":true,\"description\":\"saves the specified locale element key name and value.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p094pzo9sadc5en1edo83webl7js\"},{\"name\":\"category-name\",\"optional\":true,\"placeholder\":true,\"description\":\"saves all elements in the specified category.\",\"help\":\"*category-name syntax=SAS*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0sg5trxbicrxqn168u47s6a7omh\"}],\"supportSiteTargetFile\":\"n1dm274cb70qp5n1sre13lz5kp35.htm\"}],\"supportSiteInformation\":{\"docsetId\":\"nlsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p1acx19u1i322en17hnkz72x6xhf.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/LOESS.json",
    "content": "{\"name\":\"LOESS\",\"statements\":[{\"name\":\"PROC LOESS\",\"description\":\"The LOESS procedure implements a nonparametric method for estimating regression surfaces pioneered by Cleveland, Devlin, and Grosse (1988), Cleveland and Grosse (1991), and Cleveland, Grosse, and Shyu (1992).\",\"help\":\"PROC LOESS <DATA=SAS-data-set><PLOTS=ALL | CONTOURFIT | CONTOURFITPANEL... >;     \\n\\tBY <DESCENDING><NOTSORTED> ;\\n\\n\\tID variables ;\\n\\n\\tMODEL <ALL><ALPHA=number><BUCKET=number> ...;\\n\\n\\tOUTPUT OUT=SAS-data-set PREDICTED= RESIDUAL= ...;\\n\\n\\tSCORE <CLM><DATA=SAS-data-set><ID=(variable list)>> ...;\\n\\n\\tWEIGHT variable ;\\n\",\"arguments\":[{\"name\":\"DATA=\",\"optional\":true,\"description\":\"Names the SAS data set to be used by PROC LOESS. If the DATA= option is not specified, PROC LOESS uses the most recently created SAS data set.\",\"help\":\"DATA=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"PLOTS=\",\"optional\":true,\"description\":\"Controls the plots produced through ODS Graphics. Syntax: (1) PLOTS <(global-plot-options)> <= plot-request <(options)>> (2) PLOTS <(global-plot-options)> <= (plot-request <(options)> <... plot-request <(options)>>)> The global-plot-options supported by the LOESS procedure follow: MAXPOINTS=NONE | number specifies that plots with elements that require processing more than number points are suppressed. The default is MAXPOINTS=5000. This cutoff is ignored if you specify MAXPOINTS=NONE. ONLY suppresses the default plots. Only the plots specifically requested are produced.\",\"help\":\"PLOTS=ALL | CONTOURFIT | CONTOURFITPANEL | CRITERIONPLOT | DIAGNOSTICSPANEL | FITPANEL | FITPLOT | NONE | OBSERVEDBYPREDICTED | QQPLOT | RESIDUALSBYSMOOTH | RESIDUALBYPREDICTED | RESIDUALHISTOGRAM | RESIDUALPANEL | RFPLOT | SCOREPLOT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ALL\",\"description\":\"Requests that all plots appropriate for the particular analysis be produced.\",\"type\":\"standalone\"},{\"name\":\"CONTOURFIT\",\"description\":\"Syntax: CONTOURFIT <(contour-options)> Produces a contour plot of the fitted surface overlaid with a scatter plot of the data for models with two regressors. You can use the following contour-options to control how the observations are displayed: OBS=GRADIENT specifies that observations be displayed as circles colored by the observed response. OBS=NONE suppresses the observations. OBS=OUTLINE specifies that observations be displayed as circles with a border but with a completely transparent fill. OBS=OUTLINEGRADIENT is the same as OBS=GRADIENT except that a border is shown around each observation.\",\"type\":\"standalone\"},{\"name\":\"CONTOURFITPANEL\",\"description\":\"Syntax: CONTOURFITPANEL <(<UNPACK> <contour-options> )> Produces panels of contour plots overlaid with a scatter plot of the data for each smoothing parameter specified in the SMOOTH= option in the MODEL statement, for models with two regressors. The UNPACK option suppresses paneling, and the contour-options are the same as for the CONTOURFIT option.\",\"type\":\"standalone\"},{\"name\":\"CRITERIONPLOT\",\"aliases\":[\"CRITERION\"],\"description\":\"Displays a scatter plot of the value of the SELECTION= criterion versus the smoothing parameter value for all smoothing parameter values examined in the selection process.\",\"type\":\"standalone\"},{\"name\":\"DIAGNOSTICSPANEL\",\"aliases\":[\"DIAGNOSTICS\"],\"description\":\"Syntax: DIAGNOSTICS <(UNPACK)> Produces a summary panel of fit diagnostics. You can request the five plots in this panel as individual plots by specifying the UNPACK option.\",\"type\":\"standalone\"},{\"name\":\"FITPANEL\",\"description\":\"Syntax: FITPANEL <(UNPACK)> Produces panels of plots showing the fitted LOESS curve overlaid on a scatter plot of the input data for each smoothing parameter specified in the SMOOTH= option in the MODEL statement. If you specify the UNPACK option, then all fit panels are unpacked.\",\"type\":\"standalone\"},{\"name\":\"FITPLOT\",\"aliases\":[\"FIT\"],\"description\":\"Produces a scatter plot of the input data with the fitted LOESS curve overlaid for models with a single regressor.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"Suppresses all plots\",\"type\":\"standalone\"},{\"name\":\"OBSERVEDBYPREDICTED\",\"description\":\"Produces a scatter plot of the dependent variable values by the predicted values.\",\"type\":\"standalone\"},{\"name\":\"QQPLOT\",\"aliases\":[\"QQ\"],\"description\":\"Produces a normal quantile plot of the residuals.\",\"type\":\"standalone\"},{\"name\":\"RESIDUALSBYSMOOTH\",\"description\":\"Syntax: RESIDUALSBYSMOOTH <(<UNPACK> <SMOOTH> )> Produces for each regressor panels of plots showing the residuals of the LOESS fit versus the regressor for each smoothing parameter specified in the SMOOTH= option in the MODEL statement.\",\"type\":\"standalone\"},{\"name\":\"RESIDUALBYPREDICTED\",\"description\":\"Produces a scatter plot of the residuals by the predicted values.\",\"type\":\"standalone\"},{\"name\":\"RESIDUALHISTOGRAM\",\"description\":\"Produces a histogram of the residuals.\",\"type\":\"standalone\"},{\"name\":\"RESIDUALPANEL\",\"aliases\":[\"RESIDUALS\"],\"description\":\"Syntax: RESIDUALPANEL | RESIDUALS <(residual-options )> Produces panels of the residuals versus the regressors in the model. The following residual-options are available: SMOOTH requests that a nonparametric fit line be shown in each plot in the panel. UNPACK suppresses paneling.\",\"type\":\"standalone\"},{\"name\":\"RFPLOT\",\"aliases\":[\"RF\"],\"description\":\"Produces a 'Residual-Fit' (or RF) plot consisting of side-by-side quantile plots of the centered fit and the residuals.\",\"type\":\"standalone\"},{\"name\":\"SCOREPLOT\",\"aliases\":[\"SCORE\"],\"description\":\"Produces a scatter plot of the scored values at the score points for each SCORE statement.\",\"type\":\"standalone\"}]}]},{\"name\":\"BY\",\"description\":\"Obtains separate analyses on observations in groups defined by the BY variables.\",\"help\":\"BY &lt;DESCENDING&gt;&lt;NOTSORTED&gt;\",\"arguments\":[{\"name\":\"DESCENDING\",\"optional\":true,\"description\":\"Specifies that the observations are sorted in descending order by the variable that immediately follows the word DESCENDING in the BY statement.\",\"type\":\"standalone\"},{\"name\":\"NOTSORTED\",\"optional\":true,\"description\":\"Specifies that observations are not necessarily sorted in alphabetic or numeric order.\",\"type\":\"standalone\"}]},{\"name\":\"ID\",\"description\":\"The ID statement is optional, and more than one ID statement can be used. The variables listed in any of the ID statements are displayed in the \\\"Output Statistics\\\" table beside each observation.\",\"help\":\"ID variables \"},{\"name\":\"MODEL\",\"description\":\"The MODEL statement names the dependent variables and the independent variables. Variables specified in the MODEL statement must be numeric variables in the data set being analyzed.\",\"help\":\"MODEL &lt;ALL&gt;&lt;ALPHA=number&gt;&lt;BUCKET=number&gt; ...\",\"arguments\":[{\"name\":\"ALL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests all these options: CLM, RESIDUAL, SCALEDINDEP, STD, and T.\",\"type\":\"standalone\"},{\"name\":\"ALPHA=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Sets the significance level used for the construction of confidence intervals for the current MODEL statement. The value must be between 0 and 1; the default value of 0.05 results in 95% intervals.\",\"help\":\"ALPHA=*number*\",\"type\":\"value\"},{\"name\":\"BUCKET=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the maximum number of points in the leaf nodes of the kd tree. The default value used is s*n/5, where s is a smoothing parameter value specified using the SMOOTH= option and n is the number of observations being used in the current BY group.\",\"help\":\"BUCKET=*number*\",\"type\":\"value\"},{\"name\":\"CLM\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that 100(1 - α)% confidence limits on the mean predicted value be added to the \\\"Output Statistics\\\" table.\",\"type\":\"standalone\"},{\"name\":\"DEGREE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Sets the degree of the local polynomials to use for each local regression.\",\"help\":\"DEGREE=1 | 2\",\"type\":\"choice\",\"arguments\":[{\"name\":\"1\",\"followsDelimiter\":\"/\",\"description\":\"For local linear fitting\",\"type\":\"standalone\"},{\"name\":\"2\",\"followsDelimiter\":\"/\",\"description\":\"For local quadratic fitting\",\"type\":\"standalone\"}]},{\"name\":\"DETAILS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Selects which tables to display, where tables is one or more of the specifications KDTREE, MODELSUMMARY, OUTPUTSTATISTICS, and PREDATVERTICES.\",\"type\":\"standalone\"},{\"name\":\"DFMETHOD=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the method used to calculate the lookup degrees of freedom used in performing statistical inference.\",\"help\":\"DFMETHOD=NONE | EXACT | APPROX\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NONE\",\"followsDelimiter\":\"/\",\"description\":\"This is the default, unless you specify any of the MODEL statement options ALL, CLM, STD, and T, or any SCORE statement CLM option.\",\"type\":\"standalone\"},{\"name\":\"EXACT\",\"followsDelimiter\":\"/\",\"description\":\"This is the default when you specify any of the MODEL statement options ALL, CLM, STD, and T, or any SCORE statement CLM option.\",\"type\":\"standalone\"},{\"name\":\"APPROX\",\"followsDelimiter\":\"/\",\"description\":\"Syntax: APPROX <(approx-options)> You can specify the following approx-options in parentheses after the DFMETHOD=APPROX option: QUANTILE=number specifies that the smallest 100(number)% of the nonzero coefficients in the smoothing matrix be set to zero in computing the approximate lookup degrees of freedom. CUTOFF=number specifies that coefficients in the smoothing matrix whose magnitude is less than the specified value be set to zero in computing the approximate lookup degrees of freedom.\",\"type\":\"standalone\"}]},{\"name\":\"DIRECT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies that local least squares fits are to be done at every point in the input data set.\",\"type\":\"standalone\"},{\"name\":\"DROPSQUARE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the quadratic monomials to exclude from the local quadratic fits.\",\"type\":\"value\"},{\"name\":\"INTERP=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the degree of the interpolating polynomials used for blending local polynomial fits at the kd tree vertices. This option is ignored if the DIRECT option is specified in the model statement.\",\"help\":\"INTERP=LINEAR | CUBIC\",\"type\":\"choice\",\"arguments\":[{\"name\":\"LINEAR\",\"followsDelimiter\":\"/\",\"description\":\"This is the default.\",\"type\":\"standalone\"},{\"name\":\"CUBIC\",\"followsDelimiter\":\"/\",\"description\":\"Not supported for models with more than one regressor.\",\"type\":\"standalone\"}]},{\"name\":\"ITERATIONS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the total number of iterations to be done. The first iteration performs an initial LOESS fit. Subsequent iterations perform iterative reweighting.\",\"help\":\"ITERATIONS=*number*\",\"type\":\"value\"},{\"name\":\"RESIDUAL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies that residuals be included in the \\\"Output Statistics\\\" table.\",\"type\":\"standalone\"},{\"name\":\"SCALE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the scaling method to be applied to scale the regressors. The default is NONE.\",\"help\":\"SCALE=NONE | SD\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NONE\",\"followsDelimiter\":\"/\",\"description\":\"No scaling is applied.\",\"type\":\"standalone\"},{\"name\":\"SD\",\"followsDelimiter\":\"/\",\"description\":\"Syntax: SD <(number)> A specification of SD(number) indicates that a trimmed standard deviation is to be used as a measure of scale, where number is the trimming fraction. A specification of SD with no qualification defaults to 10% trimmed standard deviation.\",\"type\":\"standalone\"}]},{\"name\":\"SCALEDINDEP\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"[Specifies that scaled regressor coordinates be included in the output tables. This option is ignored if the SCALE= model option is not used or if SCALE=NONE is specified.\",\"type\":\"standalone\"},{\"name\":\"SELECT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies that automatic smoothing parameter selection be done using the named criterion or DFCriterion. Syntax: (1) SELECT=criterion <( <GLOBAL> <PRESEARCH> <STEPS> <RANGE(lower,upper)> )> | (2) SELECT=DFCriterion <( target <GLOBAL> <PRESEARCH> <STEPS> <RANGE(lower,upper)> )> You can specify the following suboptions in parentheses after the specified criterion to alter the behavior of the SELECT= option: GLOBAL specifies that a global minimum be found within the range of smoothing parameter values examined. This suboption has no effect if you also specify the SMOOTH= option in the MODEL statement. PRESEARCH requests an initial grid search to find a smoothing parameter range within which the subsequent golden section search is done. RANGE(lower,upper) specifies that only smoothing parameter values greater than or equal to lower and less than or equal to upper be examined.\",\"help\":\"SELECT=AICC | AICC1 | GCV | DF1 | DF2 | DF3\",\"type\":\"choice\",\"arguments\":[{\"name\":\"AICC\",\"followsDelimiter\":\"/\",\"description\":\"[criterion] Specifies the AICc criterion (Hurvich, Simonoff, and Tsai; 1998).\",\"type\":\"standalone\"},{\"name\":\"AICC1\",\"followsDelimiter\":\"/\",\"description\":\"[criterion] Specifies the AICc1 criterion (Hurvich, Simonoff, and Tsai; 1998).\",\"type\":\"standalone\"},{\"name\":\"GCV\",\"followsDelimiter\":\"/\",\"description\":\"[criterion] Specifies the generalized cross validation criterion (Craven and Wahba; 1979).\",\"type\":\"standalone\"},{\"name\":\"DF1\",\"followsDelimiter\":\"/\",\"description\":\"[DFCriterion] Specifies Trace(L).\",\"type\":\"standalone\"},{\"name\":\"DF2\",\"followsDelimiter\":\"/\",\"description\":\"[DFCriterion] Specifies Trace((L^T)L).\",\"type\":\"standalone\"},{\"name\":\"DF3\",\"followsDelimiter\":\"/\",\"description\":\"[DFCriterion] Specifies 2Trace(L)-Trace((L^T)L).\",\"type\":\"standalone\"}]},{\"name\":\"SMOOTH=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies a list of positive smoothing parameter values.\",\"help\":\"SMOOTH=*value-list*\",\"type\":\"value\"},{\"name\":\"STD\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies that standard errors of the mean predicted values be included in the \\\"Output Statistics\\\" table. The use of this option implicitly selects the model option DFMETHOD=EXACT if the DFMETHOD= option has not been explicitly used.\",\"type\":\"standalone\"},{\"name\":\"T\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies that t statistics are to be included in the \\\"Output Statistics\\\" table. The use of this option implicitly selects the model option DFMETHOD=EXACT if the DFMETHOD= option has not been explicitly used.\",\"type\":\"standalone\"},{\"name\":\"TRACEL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies that the trace of the prediction matrix as well as the GCV and AICC statistics be included in the \\\"Fit Summary\\\" table.\",\"type\":\"standalone\"}]},{\"name\":\"OUTPUT\",\"description\":\"The OUTPUT statement creates a new SAS data set that saves the predicted values and other requested statistics that are calculated after models for all smoothing parameter values that are specified in the SMOOTH= option in the MODEL statement have been fit. If you do not specify a keyword, then only the predicted response is included. All the variables in the original data set are included in the new data set, along with variables created by the OUTPUT statement. These new variables contain the predicted values and a variety of other statistics that are calculated for each observation in the data set.\",\"help\":\"OUTPUT OUT=SAS-data-set PREDICTED= RESIDUAL= ...\",\"arguments\":[{\"name\":\"LCLM=\",\"description\":\"Creates a new variable that contains the lower part of 100(1 - α)% confidence limits on the mean predicted value. By default, the 95% limits are computed; the ALPHA= option in the MODEL statement can be used to change the significance level. The use of this option implicitly selects the model option DFMETHOD=EXACT even if the DFMETHOD= option has not been explicitly used. The default name is LowerCL.\",\"type\":\"value\"},{\"name\":\"OUT=\",\"description\":\"Specifies the name of the new data set. By default, the procedure uses the DATAn convention to name the new data set.\",\"help\":\"OUT=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"PREDICTED=\",\"aliases\":[\"P=\"],\"description\":\"Creates a new variable that contains predicted values. The default name is Predicted.\",\"type\":\"value\"},{\"name\":\"RESIDUAL=\",\"aliases\":[\"R=\"],\"description\":\"Creates a new variable that contains residual values, which are calculated as ACTUAL – PREDICTED. The default name is Residual.\",\"type\":\"value\"},{\"name\":\"STD=\",\"description\":\"Creates a new variable that contains standard errors of the mean predicted values. The use of this option implicitly selects the model option DFMETHOD=EXACT even if the DFMETHOD= option has not been explicitly used. The default name is StdErr.\",\"type\":\"value\"},{\"name\":\"T=\",\"description\":\"Creates a new variable that contains t statistics. The use of this option implicitly selects the model option DFMETHOD=EXACT even if the DFMETHOD= option has not been explicitly used.\",\"type\":\"value\"},{\"name\":\"UCLM=\",\"description\":\"Creates a new variable that contains the upper part of 100(1 - α)% confidence limits on the mean predicted value. By default, the 95% limits are computed; the ALPHA= option in the MODEL statement can be used to change the significance level. The use of this option implicitly selects the model option DFMETHOD=EXACT even if the DFMETHOD= option has not been explicitly used. The default name is UpperCL.\",\"type\":\"value\"},{\"name\":\"ALL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests all these keywords: PREDICTED, RESIDUAL, STD, T, LCLM, and UCLM.\",\"type\":\"standalone\"},{\"name\":\"ROWWISE\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"ROW\"],\"description\":\"Arranges the created OUTPUT data set in rowwise format.\",\"type\":\"standalone\"}]},{\"name\":\"SCORE\",\"description\":\"The fitted loess model is used to score the data in the specified SAS data set. A SCORE statement is optional, and more than one SCORE statement can be used.\",\"help\":\"SCORE &lt;CLM&gt;&lt;DATA=SAS-data-set&gt;&lt;ID=(variable list)&gt;&gt; ...\",\"arguments\":[{\"name\":\"CLM\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that 100(1 - α)% confidence limits on the mean predicted value be added to the \\\"Score Results\\\" table.\",\"type\":\"standalone\"},{\"name\":\"DATA=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"The fitted loess model is used to score the data in the specified SAS data set. This data set must contain all the regressor variables specified in the MODEL statement. Furthermore, when a BY statement is used, the score data set must also contain all the BY variables sorted in the order of the BY variables.\",\"help\":\"DATA=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"ID=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"The optional ID=(variable list) specifies ID variables to be included in the \\\"Score Results\\\" table.\",\"type\":\"value\"},{\"name\":\"PRINT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies that the \\\"Score Results\\\" table be displayed.\",\"type\":\"standalone\"},{\"name\":\"SCALEDINDEP\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies that scaled regressor coordinates be included in the SCORE results table. This option is ignored if the SCALE= model option is not used or if SCALE=NONE is specified.\",\"type\":\"standalone\"},{\"name\":\"STEPS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that all models evaluated during smoothing parameter value selection be scored, provided that the SELECT= option together with the STEPS modifier is specified in the MODEL statement. By default only the selected model is scored.\",\"type\":\"standalone\"}]},{\"name\":\"WEIGHT\",\"description\":\"The WEIGHT statement specifies a variable in the input data set that contains values to be used as a priori weights for a loess fit. The values of the weight variable must be nonnegative. If an observation’s weight is zero, negative, or missing, the observation is deleted from the analysis.\",\"help\":\"WEIGHT variable \"}],\"supportSiteInformation\":{\"docsetId\":\"statug\",\"docsetVersion\":\"latest\",\"docsetTargetFile\":\"statug_loess_toc.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/LOGISTIC.json",
    "content": "{\"name\":\"LOGISTIC\",\"statements\":[{\"name\":\"PROC LOGISTIC\",\"description\":\"uses logistic regression to investigate the relationship between discrete response variables and a set of explanatory variables.\",\"help\":\"PROC LOGISTIC <options>;                 \\n\\tBY  variables;                 \\n\\n\\tCLASS  variable <(options)>...<variable <(options)>></ global-options>;                 \\n\\n\\tCODE <options>;                 \\n\\n\\tCONTRAST  'label' row-description<,..., row-description></ options>;                 \\n\\n\\tEFFECT  name=effect-type (variables </ options>);                 \\n\\n\\tEFFECTPLOT <plot-type<(plot-definition-options)>></ options>;                 \\n\\n\\tESTIMATE <'label'> estimate-specification <(DIVISOR=n)><,...<'label'> estimate-specification <(DIVISOR=n)>></ options>;                 \\n\\n\\tEXACT <'label'><INTERCEPT><effects></ options>;                 \\n\\n\\tEXACTOPTIONS options;                 \\n\\n\\tFREQ  variable;                 \\n\\n\\tID  variable <variable...>;                 \\n\\n\\tLSMEANS <model-effects></ options>;                 \\n\\n\\tLSMESTIMATE  model-effect <'label'> values <DIVISOR=n><,...<'label'> values <DIVISOR=n>></ options>;                 \\n\\n\\tMARGINS  model-effects </ options>;                 \\n\\n\\t<label:>MODEL  variable<(variable_options)> = <effects></ options>;                 \\n\\n\\tNLOPTIONS <options>;                 \\n\\n\\tODDSRATIO <'label'> variable </ options>;                 \\n\\n\\tOUTPUT <OUT=SAS-data-set><keyword-options> / <option>;                 \\n\\n\\tROC <'label'><specification></ options>;                 \\n\\n\\tROCCONTRAST <'label'><contrast></ options>;                 \\n\\n\\tSCORE <options>;                 \\n\\n\\tSLICE  model-effect </ options>;                 \\n\\n\\tSTORE <OUT=>item-store-name</ LABEL='label'>;                 \\n\\n\\tSTRATA  variable <(option)>...<variable <(option)>></ options>;                 \\n\\n\\t<label:>TEST  equation1 <, equation2,...></ option>;                 \\n\\n\\tUNITS <independent1=list1 | (numlist1) <*SD>><independent2=list2 | (numlist2) <*SD>>...</ option>;                 \\n\\n\\tWEIGHT  variable </ option>;                 \\n\",\"arguments\":[{\"name\":\"ALPHA=\",\"optional\":true,\"description\":\"specifies the level of significance α for 100(1-α)% confidence intervals\",\"help\":\"ALPHA=*number*\",\"type\":\"value\"},{\"name\":\"COVOUT\",\"optional\":true,\"description\":\"adds the estimated covariance matrix to the OUTEST= data set\",\"type\":\"standalone\"},{\"name\":\"DATA=\",\"optional\":true,\"description\":\"names the SAS data set containing the data to be analyzed\",\"help\":\"DATA=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"DESCENDING\",\"optional\":true,\"aliases\":[\"DESC\"],\"description\":\"reverses the sort order for the levels of the response variable\",\"type\":\"standalone\"},{\"name\":\"EXACTONLY\",\"optional\":true,\"description\":\"requests only the exact analyses\",\"type\":\"standalone\"},{\"name\":\"EXACTOPTIONS\",\"optional\":true,\"description\":\"specifies options that apply to every EXACT statement in the program\",\"help\":\"EXACTOPTIONS (*options*)\",\"type\":\"value\",\"arguments\":[{\"name\":\"ABSFCONV=\",\"description\":\"Specifies the absolute function convergence criterion\",\"help\":\"ABSFCONV=*value*\",\"type\":\"value\"},{\"name\":\"ADDTOBS\",\"description\":\"Adds the observed sufficient statistic to the sampled exact distribution\",\"type\":\"standalone\"},{\"name\":\"BUILDSUBSETS\",\"description\":\"Builds every distribution for sampling\",\"type\":\"standalone\"},{\"name\":\"EPSILON=\",\"description\":\"Specifies the comparison fuzz for partial sums of sufficient statistics\",\"help\":\"EPSILON=*value*\",\"type\":\"value\"},{\"name\":\"FCONV=\",\"description\":\"Specifies the relative function convergence criterion\",\"help\":\"FCONV=*value*\",\"type\":\"value\"},{\"name\":\"MAXTIME=\",\"description\":\"Specifies the maximum time allowed in seconds\",\"help\":\"MAXTIME=*seconds*\",\"type\":\"value\"},{\"name\":\"METHOD=\",\"description\":\"Specifies the DIRECT, NETWORK, NETWORKMC, or MCMC algorithm\",\"help\":\"METHOD=*keyword*\",\"type\":\"value\"},{\"name\":\"N=\",\"description\":\"Specifies the number of Monte Carlo samples\",\"help\":\"N=*n*\",\"type\":\"value\"},{\"name\":\"ONDISK\",\"description\":\"Uses disk space\",\"type\":\"standalone\"},{\"name\":\"SEED=\",\"description\":\"Specifies the initial seed for sampling\",\"help\":\"SEED=*n*\",\"type\":\"value\"},{\"name\":\"STATUSN=\",\"description\":\"Specifies the sampling interval for printing a status line\",\"help\":\"STATUSN=*n*\",\"type\":\"value\"},{\"name\":\"STATUSTIME=\",\"description\":\"Specifies the time interval for printing a status line\",\"help\":\"STATUSTIME=*seconds*\",\"type\":\"value\"},{\"name\":\"XCONV=\",\"description\":\"Specifies the relative parameter convergence criterion\",\"help\":\"XCONV=*value*\",\"type\":\"value\"}]},{\"name\":\"INEST=\",\"optional\":true,\"description\":\"names the SAS data set that contains initial estimates for all the parameters in the model\",\"help\":\"INEST=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"INMODEL=\",\"optional\":true,\"description\":\"specifies the name of the SAS data set that contains the model information needed for scoring new data\",\"help\":\"INMODEL=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"MAXRESPONSELEVELS=\",\"optional\":true,\"description\":\"specifies the maximum number of response levels that are allowed in your data set\",\"help\":\"MAXRESPONSELEVELS=*number*\",\"type\":\"value\"},{\"name\":\"MULTIPASS\",\"optional\":true,\"description\":\"forces the procedure to reread the DATA= data set as needed rather than require its storage in memory or in a temporary file on disk\",\"type\":\"standalone\"},{\"name\":\"NAMELEN=\",\"optional\":true,\"description\":\"specifies the maximum length of effect names in tables and output data sets to be number characters, where number is a value between 20 and 200\",\"help\":\"NAMELEN=*number*\",\"type\":\"value\"},{\"name\":\"NOCOV\",\"optional\":true,\"description\":\"specifies that the covariance matrix not be saved in the OUTMODEL= data set\",\"type\":\"standalone\"},{\"name\":\"NOPRINT\",\"optional\":true,\"description\":\"suppresses all displayed output\",\"type\":\"standalone\"},{\"name\":\"ORDER=\",\"optional\":true,\"aliases\":[\"RORDER=\"],\"description\":\"specifies the sort order for the levels of the response variable\",\"help\":\"ORDER=DATA | FORMATTED | FREQ | INTERNAL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DATA\",\"description\":\"Order of appearance in the input data set\",\"type\":\"standalone\"},{\"name\":\"FORMATTED\",\"description\":\"External formatted values, except for numeric variables with no explicit format, which are sorted by their unformatted (internal) values\",\"type\":\"standalone\"},{\"name\":\"FREQ\",\"description\":\"Descending frequency count; levels with more observations come earlier in the order\",\"type\":\"standalone\"},{\"name\":\"INTERNAL\",\"description\":\"Unformatted value\",\"type\":\"standalone\"}]},{\"name\":\"OUTDESIGN=\",\"optional\":true,\"description\":\"specifies the name of the data set that contains the design matrix for the model\",\"help\":\"OUTDESIGN=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"OUTDESIGNONLY\",\"optional\":true,\"description\":\"suppresses the model fitting and creates only the OUTDESIGN= data set\",\"type\":\"standalone\"},{\"name\":\"OUTEST=\",\"optional\":true,\"description\":\"creates an output SAS data set that contains the final parameter estimates and, optionally, their estimated covariances\",\"help\":\"OUTEST=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"OUTMODEL=\",\"optional\":true,\"description\":\"specifies the name of the SAS data set that contains the information about the fitted model\",\"help\":\"OUTMODEL=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"PLOTS\",\"optional\":true,\"description\":\"controls the plots produced through ODS Graphics\",\"help\":\"PLOTS &lt;(*global-plot-opt)*&lt;=(*plot-request*&lt;(*options*)&gt;&lt;...*plot-request*&lt;(*options*)&gt;&gt;)&gt;&gt;\",\"type\":\"standaloneOrValue\",\"arguments\":[{\"name\":\"LABEL\",\"description\":\"displays a label on diagnostic plots to aid in identifying the outlying observations\",\"type\":\"standalone\"},{\"name\":\"MAXPOINTS=\",\"description\":\"suppresses the plots produced by the DFBETAS, DPC, INFLUENCE, LEVERAGE, and PHAT options if there are more than number observations\",\"help\":\"MAXPOINTS=NONE | *number*\",\"type\":\"value\"},{\"name\":\"ONLY\",\"description\":\"displays only specifically requested plot-requests\",\"type\":\"standalone\"},{\"name\":\"UNPACKPANELS\",\"aliases\":[\"UNPACK\"],\"description\":\"suppresses paneling\",\"type\":\"standalone\"},{\"name\":\"ALL\",\"description\":\"produces all appropriate plots\",\"type\":\"standalone\"},{\"name\":\"CALIBRATION\",\"description\":\"displays calibration plots for the fitted model\",\"help\":\"CALIBRATION&lt;(*calibration-options*)&gt;\",\"type\":\"standaloneOrValue\",\"arguments\":[{\"name\":\"ALPHA=\",\"description\":\"specifies the significance level for constructing two-sided 100(1--number)% confidence intervals of the mean predicted values\",\"help\":\"ALPHA=*number*\",\"type\":\"value\"},{\"name\":\"CLM\",\"description\":\"displays confidence limits of the mean predicted values\",\"type\":\"standalone\"},{\"name\":\"RANGE=\",\"description\":\"specifies the range of the axes\",\"help\":\"RANGE=(*min*,*max*) | CLIP\",\"type\":\"value\"},{\"name\":\"SHOWOBS\",\"description\":\"displays a bar chart of the predicted probabilities in the upper and lower margins of the plot; the predicted probability axis is divided into 200 bins of equal width\",\"type\":\"standalone\"},{\"name\":\"SMOOTH=\",\"description\":\"specifies the smoothing parameter, which is the fraction of the data in each local neighborhood for the loess fit\",\"help\":\"SMOOTH=*number*\",\"type\":\"value\"},{\"name\":\"UNPACKPANELS\",\"aliases\":[\"UNPACK\"],\"description\":\"displays the plots separately\",\"type\":\"standalone\"}]},{\"name\":\"DFBETAS\",\"description\":\"displays plots of DFBETAS versus the case (observation) number\",\"help\":\"DFBETAS &lt;(UNPACK)&gt;\",\"type\":\"standaloneOrValue\"},{\"name\":\"DPC\",\"description\":\"displays plots of DIFCHISQ and DIFDEV versus the predicted event probability, and displays the markers according to the value of the confidence interval displacement C\",\"help\":\"DPC&lt;(*dpc-options*)&gt;\",\"type\":\"standaloneOrValue\",\"arguments\":[{\"name\":\"MAXSIZE=\",\"description\":\"specifies the maximum size when TYPE=BUBBLE or TYPE=LABEL\",\"help\":\"MAXSIZE=*Smax*\",\"type\":\"value\"},{\"name\":\"MAXVALUE=\",\"description\":\"displays all observations for which C ≥ Cmax at the value of the MAXSIZE= option when TYPE=BUBBLE or TYPE=LABEL\",\"help\":\"MAXVALUE=*Cmax*\",\"type\":\"value\"},{\"name\":\"MINSIZE=\",\"description\":\"specifies the minimum size when TYPE=BUBBLE or TYPE=LABEL\",\"help\":\"MINSIZE=*Smin*\",\"type\":\"value\"},{\"name\":\"TYPE=\",\"description\":\"specifies how the C statistic is displayed\",\"help\":\"TYPE=BUBBLE | GRADIENT | LABEL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"BUBBLE\",\"description\":\"displays circular markers whose areas are proportional to C and whose colors are determined by their response.\",\"type\":\"standalone\"},{\"name\":\"GRADIENT\",\"description\":\"colors the markers according to the value of C.\",\"type\":\"standalone\"},{\"name\":\"LABEL\",\"description\":\"displays the ID variables (if an ID statement is specified) or the observation number.\",\"type\":\"standalone\"}]},{\"name\":\"UNPACKPANELS\",\"aliases\":[\"UNPACK\"],\"description\":\"displays the plots separately\",\"type\":\"standalone\"}]},{\"name\":\"EFFECT\",\"description\":\"displays and enhances the effect plots for the model\",\"help\":\"EFFECT&lt;(*effect-options*)&gt;\",\"type\":\"standaloneOrValue\",\"arguments\":[{\"name\":\"AT\",\"description\":\"specifies fixed values for a covariate\",\"help\":\"AT(*variable=value-list* | ALL&lt;*...variable=value-list* | ALL&gt;)\",\"type\":\"value\"},{\"name\":\"FITOBSONLY\",\"description\":\"computes the predicted values only at the observed data\",\"type\":\"standalone\"},{\"name\":\"INDIVIDUAL\",\"description\":\"displays the individual probabilities instead of the cumulative probabilities\",\"type\":\"standalone\"},{\"name\":\"LINK\",\"description\":\"displays the linear predictors instead of the probabilities on the Y axis\",\"type\":\"standalone\"},{\"name\":\"PLOTBY=\",\"description\":\"displays an effect plot at each unique level of the PLOTBY= effect\",\"help\":\"PLOTBY=*effect*\",\"type\":\"value\"},{\"name\":\"SLICEBY=\",\"description\":\"displays predicted probabilities at each unique level of the SLICEBY= effect\",\"help\":\"SLICEBY=*effect*\",\"type\":\"value\"},{\"name\":\"X=\",\"description\":\"specifies effects to be used on the X axis of the effect plots\",\"help\":\"X=(*effect...effect*)\",\"type\":\"value\"},{\"name\":\"ALPHA=\",\"description\":\"specifies the size of the confidence limits\",\"help\":\"ALPHA=*number*\",\"type\":\"value\"},{\"name\":\"CLBAND\",\"description\":\"displays confidence limits on the plots\",\"help\":\"CLBAND&lt;=YES | NO&gt;\",\"type\":\"standaloneOrValue\"},{\"name\":\"CLBAR\",\"description\":\"displays the error bars on the plots when you have CLASS covariates on the X axis; if the X axis is continuous, then this invokes the CLBAND option\",\"type\":\"standalone\"},{\"name\":\"CLUSTER\",\"description\":\"displays the levels of the SLICEBY= effect in a side-by-side fashion instead of stacking them\",\"help\":\"CLUSTER&lt;=*percent*&gt;\",\"type\":\"standaloneOrValue\"},{\"name\":\"CLUSTERGRID\",\"description\":\"separates the CLASS covariate levels on the X axis with grid lines when the levels of the SLICEBY= effect are clustered\",\"help\":\"CLUSTERGRID&lt;=YES | NO&gt;\",\"type\":\"standaloneOrValue\"},{\"name\":\"CONNECT\",\"aliases\":[\"JOIN\"],\"description\":\"connects the predicted values with a line\",\"help\":\"CONNECT&lt;=YES | NO&gt;\",\"type\":\"standaloneOrValue\"},{\"name\":\"EXTEND=\",\"description\":\"extends continuous X axes by a factor of value/2 in each direction\",\"help\":\"EXTEND=*value*\",\"type\":\"value\"},{\"name\":\"MAXATLEN=\",\"description\":\"specifies the maximum number of characters to use to display the levels of all the fixed variables\",\"help\":\"MAXATLEN=*length*\",\"type\":\"value\"},{\"name\":\"NOCLUSTER\",\"description\":\"prevents clustering of the levels of the SLICEBY= effect\",\"type\":\"standalone\"},{\"name\":\"NOCLUSTERGRID\",\"description\":\"removes the default grid lines that separate the levels of the CLASS covariates on the X axis when the SLICEBY= effect is clustered\",\"type\":\"standalone\"},{\"name\":\"NOCONNECT\",\"description\":\"removes the line that connects the predicted values\",\"type\":\"standalone\"},{\"name\":\"POLYBAR\",\"description\":\"replaces scatter plots of polytomous response models with bar charts\",\"type\":\"standalone\"},{\"name\":\"SHOWOBS\",\"description\":\"displays observations on the plot when the MAXPOINTS= cutoff is not exceeded\",\"help\":\"SHOWOBS&lt;=YES | NO&gt;\",\"type\":\"standaloneOrValue\"},{\"name\":\"YRANGE=\",\"description\":\"displays the Y axis as [min,max]\",\"help\":\"YRANGE=(&lt;*min*&gt;&lt;,*max*&gt;)\",\"type\":\"standaloneOrValue\"}]},{\"name\":\"INFLUENCE\",\"description\":\"displays index plots of RESCHI, RESDEV, leverage, confidence interval displacements C and CBar, DIFCHISQ, and DIFDEV\",\"help\":\"INFLUENCE&lt;(UNPACK | STDRES)&gt;\",\"type\":\"standaloneOrValue\"},{\"name\":\"LEVERAGE\",\"description\":\"displays plots of DIFCHISQ, DIFDEV, confidence interval displacement C, and the predicted probability versus the leverage\",\"help\":\"LEVERAGE&lt;(UNPACK)&gt;\",\"type\":\"standaloneOrValue\"},{\"name\":\"NONE\",\"description\":\"suppresses all plots\",\"type\":\"standalone\"},{\"name\":\"ODDSRATIO\",\"description\":\"displays and enhances the odds ratio plots for the model\",\"help\":\"ODDSRATIO &lt;(*oddsratio-options*)&gt;\",\"type\":\"standaloneOrValue\",\"arguments\":[{\"name\":\"CLDISPLAY=\",\"description\":\"controls the look of the confidence limits\",\"help\":\"CLDISPLAY=SERIF | SERIFARROW | LINE | LINEARROW | BAR&lt;*width*&gt; | NONE\",\"type\":\"standaloneOrValue\"},{\"name\":\"DOTPLOT\",\"description\":\"dotted gridlines on the plot\",\"type\":\"standalone\"},{\"name\":\"GROUP\",\"description\":\"the odds ratios in panels that are defined by the ODDSRATIO statements\",\"type\":\"standalone\"},{\"name\":\"LOGBASE=\",\"description\":\"displays the odds ratio axis on the specified log scale\",\"help\":\"LOGBASE=2 | E | 10\",\"type\":\"choice\"},{\"name\":\"NAT=\",\"description\":\"specifies the number of starting values at which to compute the special plots of odds ratios of continuous variables\",\"help\":\"NAT=*number*\",\"type\":\"value\"},{\"name\":\"NPANELPOS=\",\"description\":\"breaks the plot into multiple graphics that have at most |number| odds ratios per graphic\",\"help\":\"NPANELPOS=*number*\",\"type\":\"value\"},{\"name\":\"ORDER=\",\"description\":\"displays the odds ratios in sorted order\",\"help\":\"ORDER=ASCENDING | DESCENDING\",\"type\":\"choice\"},{\"name\":\"RANGE=\",\"description\":\"specifies the range of the displayed odds ratio axis\",\"help\":\"RANGE=(&lt;*min*&gt;&lt;,*max*&gt;) | CLIP\",\"type\":\"standaloneOrValue\"},{\"name\":\"TYPE=\",\"description\":\"the look of the graphic\",\"help\":\"TYPE=HORIZONTAL | HORIZONTALSTAT | VERTICAL | VERTICALBLOCK\",\"type\":\"choice\"},{\"name\":\"UNPACKPANELS\",\"aliases\":[\"UNPACK\"],\"description\":\"displays plots separately when the default display shows multiple plots together as a panel of plots\",\"type\":\"standalone\"}]},{\"name\":\"PHAT\",\"description\":\"displays plots of DIFCHISQ, DIFDEV, confidence interval displacement C, and leverage versus the predicted event probability\",\"help\":\"PHAT&lt;(UNPACK)&gt;\",\"type\":\"standaloneOrValue\"},{\"name\":\"PR\",\"description\":\"displays the precision-recall (PR) curve for binary and binomial response models\",\"help\":\"PR&lt;(STEPLEN=*value*)&gt;\",\"type\":\"standaloneOrValue\"},{\"name\":\"ROC\",\"description\":\"displays the ROC curve\",\"help\":\"ROC&lt;(ID&lt;=*keyword*&gt;)&gt;\",\"type\":\"standaloneOrValue\",\"arguments\":[{\"name\":\"ID\",\"description\":\"labels certain points on the ROC curve\",\"help\":\"ID&lt;=*keyword*&gt;\",\"type\":\"standaloneOrValue\",\"arguments\":[{\"name\":\"1MSPEC\",\"description\":\"displays the false positive fraction (1 -- specificity).\",\"type\":\"standalone\"},{\"name\":\"FALPOS\",\"description\":\"displays the fraction of falsely predicted event responses.\",\"type\":\"standalone\"},{\"name\":\"FALNEG\",\"description\":\"displays the fraction of falsely predicted nonevent responses.\",\"type\":\"standalone\"},{\"name\":\"ID\",\"description\":\"displays the ID variables.\",\"type\":\"standalone\"},{\"name\":\"MISCLASS\",\"description\":\"displays the misclassification rate.\",\"type\":\"standalone\"},{\"name\":\"NEGPRED\",\"description\":\"displays the negative predictive value\",\"type\":\"standalone\"},{\"name\":\"OBS\",\"description\":\"displays the (last) observation number.\",\"type\":\"standalone\"},{\"name\":\"OPTSTAT\",\"description\":\"displays the value of the first statistic specified in the OPTIMAL= option.\",\"type\":\"standalone\"},{\"name\":\"POSPRED\",\"description\":\"displays the positive predictive value\",\"type\":\"standalone\"},{\"name\":\"PROB\",\"description\":\"displays the model predicted probability.\",\"type\":\"standalone\"},{\"name\":\"SENSIT\",\"description\":\"displays the true positive fraction (sensitivity).\",\"type\":\"standalone\"}]}]}]},{\"name\":\"ROCOPTIONS\",\"optional\":true,\"description\":\"specifies options that apply to every model specified in a ROC statement\",\"help\":\"ROCOPTIONS (*options*)\",\"type\":\"value\",\"arguments\":[{\"name\":\"ALPHA=\",\"description\":\"sets the significance level for creating confidence limits of the areas and the pairwise differences\",\"help\":\"ALPHA=*number*\",\"type\":\"value\"},{\"name\":\"AREA\",\"description\":\"displays a table of the area under the empirical ROC curve, the area under the convex hull of the empirical ROC curve when METHOD=CONVEXHULL, the area under the binormal ROC curve when METHOD=BINORMAL, the area under the lower ROC curve when METHOD=LOWER, and the area under the PR curve when PLOTS=PR\",\"type\":\"standalone\"},{\"name\":\"CROSSVALIDATE\",\"aliases\":[\"X\"],\"description\":\"uses cross validated predicted probabilities instead of the model-predicted probabilities for all ROC and area under the ROC curve (AUC) computations and for all PR curve and area computations\",\"type\":\"standalone\"},{\"name\":\"EPS=\",\"description\":\"is an alias for the ROCEPS= option in the MODEL statement; however, if you also specify that ROCEPS= value, then this option is ignored\",\"help\":\"EPS=*value*\",\"type\":\"value\"},{\"name\":\"ID\",\"description\":\"displays labels on certain points on the individual ROC and PR curves and also on the SCORE statement's ROC and PR curves\",\"help\":\"ID&lt;=*keyword*&gt;\",\"type\":\"standaloneOrValue\",\"arguments\":[{\"name\":\"1MSPEC\",\"description\":\"displays the false positive fraction (1 -- specificity).\",\"type\":\"standalone\"},{\"name\":\"FALPOS\",\"description\":\"displays the fraction of falsely predicted event responses.\",\"type\":\"standalone\"},{\"name\":\"FALNEG\",\"description\":\"displays the fraction of falsely predicted nonevent responses.\",\"type\":\"standalone\"},{\"name\":\"ID\",\"description\":\"displays the ID variables.\",\"type\":\"standalone\"},{\"name\":\"MISCLASS\",\"description\":\"displays the misclassification rate.\",\"type\":\"standalone\"},{\"name\":\"NEGPRED\",\"description\":\"displays the negative predictive value\",\"type\":\"standalone\"},{\"name\":\"OBS\",\"description\":\"displays the (last) observation number.\",\"type\":\"standalone\"},{\"name\":\"OPTSTAT\",\"description\":\"displays the value of the first statistic specified in the OPTIMAL= option.\",\"type\":\"standalone\"},{\"name\":\"POSPRED\",\"description\":\"displays the positive predictive value\",\"type\":\"standalone\"},{\"name\":\"PROB\",\"description\":\"displays the model predicted probability.\",\"type\":\"standalone\"},{\"name\":\"SENSIT\",\"description\":\"displays the true positive fraction (sensitivity).\",\"type\":\"standalone\"}]},{\"name\":\"METHOD=\",\"description\":\"specifies the method that is used to estimate the ROC and PR curves.\",\"help\":\"METHOD=BINORMAL | CONVEXHULL | EMPIRICAL | LOWER\",\"type\":\"choice\"},{\"name\":\"NODETAILS\",\"description\":\"suppresses the display of the model fitting information for the models specified in the ROC statements\",\"type\":\"standalone\"},{\"name\":\"OPTIMAL\",\"description\":\"marks observed thresholds on the ROC and PR curves that optimize the given statistics, and adds these statistics to the OUTROC= data set\",\"help\":\"OPTIMAL&lt;=*statistic* | (*statistics-list*)&gt;\",\"type\":\"standaloneOrValue\",\"arguments\":[{\"name\":\"ACCURACY\",\"description\":\"marks the observed threshold that has the most correct observations.\",\"type\":\"standalone\"},{\"name\":\"COST\",\"description\":\"marks the threshold that has the maximum cost criterion\",\"help\":\"COST&lt;(*cost-options*)&gt;\",\"type\":\"standaloneOrValue\",\"arguments\":[{\"name\":\"TP=\",\"description\":\"is the cost of a true positive\",\"help\":\"TP=*cost*\",\"type\":\"value\"},{\"name\":\"TN=\",\"description\":\"is the cost of a true negative\",\"help\":\"TN=*cost*\",\"type\":\"value\"},{\"name\":\"FP=\",\"description\":\"is the cost of a false positive\",\"help\":\"FP=*cost*\",\"type\":\"value\"},{\"name\":\"FN=\",\"description\":\"is the cost of a false negative\",\"help\":\"FN=*cost*\",\"type\":\"value\"},{\"name\":\"COSTRATIO=\",\"description\":\"is the cost ratio\",\"help\":\"COSTRATIO=*ratio* | *ratio-list*\",\"type\":\"value\"}]},{\"name\":\"DIST01\",\"description\":\"marks the threshold where the pair (sensitivity,1 -- specificity) is closest to (0,1).\",\"type\":\"standalone\"},{\"name\":\"EFFICIENCY\",\"description\":\"marks the threshold that has the maximum efficiency.\",\"type\":\"standalone\"},{\"name\":\"F\",\"description\":\"marks the threshold that has the maximum F score\",\"help\":\"F&lt;(β | *beta-list*)&gt;\",\"type\":\"standaloneOrValue\"},{\"name\":\"GMEAN\",\"description\":\"marks the threshold that has the largest geometric mean.\",\"type\":\"standalone\"},{\"name\":\"MCC\",\"description\":\"marks the threshold that has the maximum Matthews correlation coefficient (phi coefficient).\",\"type\":\"standalone\"},{\"name\":\"MCOST\",\"description\":\"marks the threshold that has the largest misclassification cost criterion.\",\"help\":\"MCOST&lt;(*cost-options*)&gt;\",\"type\":\"standaloneOrValue\",\"arguments\":[{\"name\":\"FP=\",\"description\":\"is the cost of a false positive\",\"help\":\"FP=*cost*\",\"type\":\"value\"},{\"name\":\"FN=\",\"description\":\"is the cost of a false negative\",\"help\":\"FN=*cost*\",\"type\":\"value\"},{\"name\":\"COSTRATIO=\",\"description\":\"is the cost ratio\",\"help\":\"COSTRATIO=*ratio* | *ratio-list*\",\"type\":\"value\"}]},{\"name\":\"SSPDIFF\",\"description\":\"marks the threshold where sensitivity and sensitivity are most equal.\",\"type\":\"standalone\"},{\"name\":\"YOUDEN\",\"description\":\"marks the threshold that has the maximum Youden index\",\"type\":\"standalone\"}]},{\"name\":\"OUT=\",\"description\":\"is an alias for the OUTROC= option in the MODEL statement\",\"help\":\"OUT=*SAS-data-set-name*\",\"type\":\"dataSet\"},{\"name\":\"THINX=\",\"description\":\"suppresses labels on the ROC curve for any threshold that is too close to the preceding threshold's label\",\"help\":\"THINX=*value*\",\"type\":\"value\"},{\"name\":\"THINY=\",\"description\":\"suppresses labels on the ROC and PR curves for any threshold that is too close to the preceding threshold's label\",\"help\":\"THINY=*value*\",\"type\":\"value\"},{\"name\":\"WEIGHTED\",\"description\":\"uses frequency weight in the ROC and PR computations instead of just frequency\",\"type\":\"standalone\"}]},{\"name\":\"SIMPLE\",\"optional\":true,\"description\":\"displays simple descriptive statistics (mean, standard deviation, minimum, and maximum) for each continuous explanatory variable\",\"type\":\"standalone\"},{\"name\":\"TRUNCATE\",\"optional\":true,\"description\":\"determines class levels by using no more than the first 16 characters of the formatted values of CLASS, response, and strata variables\",\"type\":\"standalone\"}]},{\"name\":\"BY\",\"description\":\"produces separate analyses of observations in groups that are defined by the BY variables\",\"help\":\"BY  variables;                                              \"},{\"name\":\"CLASS\",\"description\":\"names the classification variables to be used as explanatory variables in the analysis\",\"help\":\"CLASS  variable &lt;(options)&gt;...&lt;variable &lt;(options)&gt;&gt;&lt;/ global-options&gt;;                                              \",\"arguments\":[{\"name\":\"CPREFIX=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that, at most, the first n characters of a CLASS variable name be used in creating names for the corresponding design variables\",\"help\":\"CPREFIX=*n*\",\"type\":\"value\"},{\"name\":\"DESCENDING\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"DESC\"],\"description\":\"reverses the sort order of the classification variable\",\"type\":\"standalone\"},{\"name\":\"LPREFIX=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that, at most, the first n characters of a CLASS variable label be used in creating labels for the corresponding design variables\",\"help\":\"LPREFIX=*n*\",\"type\":\"value\"},{\"name\":\"MISSING\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"treats missing values (., ._, .A,..., .Z for numeric variables and blanks for character variables) as valid values of the CLASS variable\",\"type\":\"standalone\"},{\"name\":\"ORDER=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the sort order for the levels of classification variables\",\"help\":\"ORDER=DATA | FORMATTED | FREQ | INTERNAL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DATA\",\"followsDelimiter\":\"/\",\"description\":\"Order of appearance in the input data set\",\"type\":\"standalone\"},{\"name\":\"FORMATTED\",\"followsDelimiter\":\"/\",\"description\":\"External formatted values, except for numeric variables with no explicit format, which are sorted by their unformatted (internal) values\",\"type\":\"standalone\"},{\"name\":\"FREQ\",\"followsDelimiter\":\"/\",\"description\":\"Descending frequency count; levels with more observations come earlier in the order\",\"type\":\"standalone\"},{\"name\":\"INTERNAL\",\"followsDelimiter\":\"/\",\"description\":\"Unformatted value\",\"type\":\"standalone\"}]},{\"name\":\"PARAM=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the parameterization method for the classification variable or variables\",\"help\":\"PARAM=*keyword*\",\"type\":\"value\",\"arguments\":[{\"name\":\"EFFECT\",\"followsDelimiter\":\"/\",\"description\":\"Effect coding\",\"type\":\"standalone\"},{\"name\":\"GLM\",\"followsDelimiter\":\"/\",\"description\":\"Less-than-full-rank reference cell coding (this keyword can be used only in a global option)\",\"type\":\"standalone\"},{\"name\":\"ORDINAL\",\"followsDelimiter\":\"/\",\"description\":\"Cumulative parameterization for an ordinal CLASS variable\",\"type\":\"standalone\"},{\"name\":\"POLYNOMIAL\",\"followsDelimiter\":\"/\",\"description\":\"Polynomial coding\",\"type\":\"standalone\"},{\"name\":\"REFERENCE\",\"followsDelimiter\":\"/\",\"description\":\"Reference cell coding\",\"type\":\"standalone\"},{\"name\":\"ORTHEFFECT\",\"followsDelimiter\":\"/\",\"description\":\"Orthogonalizes PARAM=EFFECT coding\",\"type\":\"standalone\"},{\"name\":\"ORTHORDINAL\",\"followsDelimiter\":\"/\",\"description\":\"Orthogonalizes PARAM=ORDINAL coding\",\"type\":\"standalone\"},{\"name\":\"ORTHPOLY\",\"followsDelimiter\":\"/\",\"description\":\"Orthogonalizes PARAM=POLYNOMIAL coding\",\"type\":\"standalone\"},{\"name\":\"ORTHREF\",\"followsDelimiter\":\"/\",\"description\":\"Orthogonalizes PARAM=REFERENCE coding\",\"type\":\"standalone\"}]},{\"name\":\"REF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the reference level for PARAM=EFFECT, PARAM=REFERENCE, and their orthogonalizations\",\"help\":\"REF=*'level'* | *keyword*\",\"type\":\"value\",\"arguments\":[{\"name\":\"FIRST\",\"followsDelimiter\":\"/\",\"description\":\"designates the first ordered level as reference.\",\"type\":\"standalone\"},{\"name\":\"LAST\",\"followsDelimiter\":\"/\",\"description\":\"designates the last ordered level as reference.\",\"type\":\"standalone\"}]},{\"name\":\"TRUNCATE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the length n of CLASS variable values to use in determining CLASS variable levels\",\"help\":\"TRUNCATE&lt;*=n*&gt;\",\"type\":\"standaloneOrValue\"}]},{\"name\":\"CODE\",\"description\":\"writes SAS DATA step code for computing predicted values of the fitted model either to a file or to a catalog entry\",\"help\":\"CODE &lt;options&gt;;                                              \",\"arguments\":[{\"name\":\"CATALOG=\",\"optional\":true,\"description\":\"Names the catalog entry where the generated code is saved\",\"help\":\"CATALOG=*library.catalog.entry.type*\",\"type\":\"dataSet\"},{\"name\":\"DUMMIES\",\"optional\":true,\"description\":\"Retains the dummy variables in the data set\",\"type\":\"standalone\"},{\"name\":\"ERROR\",\"optional\":true,\"description\":\"Computes the error function\",\"type\":\"standalone\"},{\"name\":\"FILE=\",\"optional\":true,\"description\":\"Names the file where the generated code is saved\",\"help\":\"FILE=*filename*\",\"type\":\"value\"},{\"name\":\"FORMAT=\",\"optional\":true,\"description\":\"Specifies the numeric format for the regression coefficients\",\"help\":\"FORMAT=*format*\",\"type\":\"value\"},{\"name\":\"GROUP=\",\"optional\":true,\"description\":\"Specifies the group identifier for array names and statement labels\",\"help\":\"GROUP=*group-name*\",\"type\":\"value\"},{\"name\":\"IMPUTE\",\"optional\":true,\"description\":\"Imputes predicted values for observations with missing or invalid covariates\",\"type\":\"standalone\"},{\"name\":\"LINESIZE=\",\"optional\":true,\"description\":\"Specifies the line size of the generated code\",\"help\":\"LINESIZE=*value*\",\"type\":\"value\"},{\"name\":\"LOOKUP=\",\"optional\":true,\"description\":\"Specifies the algorithm for looking up CLASS levels\",\"help\":\"LOOKUP=AUTO  |  BINARY  |  LINEAR  |  SELECT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"AUTO\",\"type\":\"standalone\"},{\"name\":\"BINARY\",\"type\":\"standalone\"},{\"name\":\"LINEAR\",\"type\":\"standalone\"},{\"name\":\"SELECT\",\"type\":\"standalone\"}]},{\"name\":\"RESIDUAL\",\"optional\":true,\"description\":\"Computes residuals\",\"type\":\"standalone\"}]},{\"name\":\"CONTRAST\",\"description\":\"provides a mechanism for obtaining customized hypothesis tests\",\"help\":\"CONTRAST  'label' row-description<,..., row-description></ options>;                                              \\nrow-description =effect values<,..., effect values> = a row of L*b = 0                     \\nlabel =identifies the contrast in the displayed output                     \\neffect =identifies an effect that appears in the MODEL statement                     \\nvalues =constants that are elements of the L matrix associated with the effect                     \",\"arguments\":[{\"name\":\"ALPHA=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the level of significance α for the 100(1-α)% confidence interval for each contrast when the ESTIMATE option is specified\",\"help\":\"ALPHA=*number*\",\"type\":\"value\"},{\"name\":\"E\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"displays the L matrix\",\"type\":\"standalone\"},{\"name\":\"ESTIMATE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"estimates and tests each individual contrast\",\"help\":\"ESTIMATE=*keyword*\",\"type\":\"value\",\"arguments\":[{\"name\":\"PARM\",\"followsDelimiter\":\"/\",\"description\":\"estimates the individual contrast.\",\"type\":\"standalone\"},{\"name\":\"EXP\",\"followsDelimiter\":\"/\",\"description\":\"estimates the exponentiated contrast.\",\"type\":\"standalone\"},{\"name\":\"BOTH\",\"followsDelimiter\":\"/\",\"description\":\"estimates both the individual contrast and the exponentiated contrast.\",\"type\":\"standalone\"},{\"name\":\"PROB\",\"followsDelimiter\":\"/\",\"description\":\"estimates the predicted probability of the contrast.\",\"type\":\"standalone\"},{\"name\":\"ALL\",\"followsDelimiter\":\"/\",\"description\":\"estimates the individual contrast, the exponentiated contrast, and the predicted probability of the contrast.\",\"type\":\"standalone\"}]},{\"name\":\"SINGULAR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"tunes the estimability check\",\"help\":\"SINGULAR=*number*\",\"type\":\"value\"}]},{\"name\":\"EFFECT\",\"description\":\"enables you to construct special collections of columns for design matrices\",\"help\":\"EFFECT  name=effect-type (variables </ options>);                                              \\neffect-type is one of COLLECTION | LAG | MULTIMEMBER | POLYNOMIAL | SPLINE                     \\noptions are options for that specific type of effect                     \",\"arguments\":[{\"name\":\"COLLECTION\",\"optional\":true,\"description\":\"specifies a collection effect that defines one or more variables as a single effect with multiple degrees of freedom.\",\"help\":\"COLLECTION(*variables* &lt;/ *options*&gt;)\",\"type\":\"value\",\"arguments\":[{\"name\":\"DETAILS\",\"description\":\"displays the constituents of the collection effect\",\"type\":\"standalone\"}]},{\"name\":\"LAG\",\"optional\":true,\"description\":\"specifies a classification effect in which the level that is used for a particular period corresponds to the level in the preceding period.\",\"help\":\"LAG(variable &lt;/ *options*)&gt;\",\"type\":\"standaloneOrValue\",\"arguments\":[{\"name\":\"DESIGNROLE=\",\"description\":\"names a variable that controls to which lag design an observation is assigned\",\"help\":\"DESIGNROLE=*variable*\",\"type\":\"value\"},{\"name\":\"DETAILS\",\"description\":\"displays the lag design of the lag effect\",\"type\":\"standalone\"},{\"name\":\"NLAG=\",\"description\":\"specifies the number of periods in the lag\",\"help\":\"NLAG=*n*\",\"type\":\"value\"},{\"name\":\"PERIOD=\",\"description\":\"names the variable that defines the period. This option is required\",\"help\":\"PERIOD=*variable*\",\"type\":\"value\"},{\"name\":\"WITHIN=\",\"description\":\"names the variable or variables that define the group within which each period is defined. This option is required\",\"help\":\"WITHIN=*variable*\",\"type\":\"value\"}]},{\"name\":\"MULTIMEMBER\",\"optional\":true,\"description\":\"specifies a multimember classification effect whose levels are determined by one or more variables that appear in a CLASS statement.\",\"help\":\"MULTIMEMBER(*variables* &lt;/ *options*&gt;)\",\"type\":\"value\",\"arguments\":[{\"name\":\"DETAILS\",\"description\":\"requests a table that shows the levels of the multimember effect\",\"type\":\"standalone\"},{\"name\":\"NOEFFECT\",\"description\":\"specifies that observations with all missing levels for the multimember variables should have zero values in the corresponding design matrix columns\",\"type\":\"standalone\"},{\"name\":\"STDIZE\",\"description\":\"specifies that for each observation, the entries in the design matrix that corresponds to the multimember effect be scaled to have a sum of one\",\"type\":\"standalone\"},{\"name\":\"WEIGHT=\",\"description\":\"specifies the weight variable for the contributions of each of the classification effects\",\"help\":\"WEIGHT=*weightvar-list*\",\"type\":\"value\"}]},{\"name\":\"POLYNOMIAL\",\"optional\":true,\"description\":\"specifies a multivariate polynomial effect in the specified numeric variables.\",\"help\":\"POLYNOMIAL(*variables* &lt;/ *options*&gt;)\",\"type\":\"value\",\"arguments\":[{\"name\":\"DEGREE=\",\"description\":\"specifies the degree of the polynomial\",\"help\":\"DEGREE=*n*\",\"type\":\"value\"},{\"name\":\"DETAILS\",\"description\":\"requests a table that shows the details of the specified polynomial\",\"type\":\"standalone\"},{\"name\":\"LABELSTYLE=\",\"description\":\"specifies how the terms in the polynomial are labeled\",\"help\":\"LABELSTYLE=(*style-opts*)\",\"type\":\"value\",\"arguments\":[{\"name\":\"EXPAND\",\"description\":\"specifies that each variable with an exponent greater than 1 be written as products of that variable\",\"type\":\"standalone\"},{\"name\":\"EXPONENT\",\"description\":\"specifies that each variable with an exponent greater than 1 be written using exponential notation\",\"help\":\"EXPONENT &lt;=*quoted string*&gt;\",\"type\":\"standaloneOrValue\"},{\"name\":\"INCLUDENAME\",\"description\":\"specifies that the name of the effect followed by an underscore be used as a prefix for term labels\",\"type\":\"standalone\"},{\"name\":\"PRODUCTSYMBOL=\",\"description\":\"specifies that the supplied string be used as the product symbol\",\"help\":\"PRODUCTSYMBOL=NONE | *quoted string*\",\"type\":\"value\"}]},{\"name\":\"MDEGREE=\",\"description\":\"specifies the maximum degree of any variable in a term of the polynomial\",\"help\":\"MDEGREE=*n*\",\"type\":\"value\"},{\"name\":\"NOSEPARATE\",\"description\":\"specifies that the polynomial be treated as a single effect with multiple degrees of freedom\",\"type\":\"standalone\"},{\"name\":\"STANDARDIZE=\",\"description\":\"specifies centering and scaling suboptions for the variables that define the polynomial\",\"help\":\"STANDARDIZE=CENTER | CENTERSCALE | NONE | SCALE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"CENTER\",\"description\":\"specifies that variables be centered but not scaled\",\"type\":\"standalone\"},{\"name\":\"CENTERSCALE\",\"description\":\"specifies that variables be centered and scaled\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"specifies that no standardization be performed\",\"type\":\"standalone\"},{\"name\":\"SCALE\",\"description\":\"specifies that variables be scaled but not centered\",\"type\":\"standalone\"}]},{\"name\":\"STANDARDIZE\",\"description\":\"specifies centering and scaling suboptions for the variables that define the polynomial\",\"help\":\"STANDARDIZE&lt;(*centerscale-opts*)&gt;\",\"type\":\"standaloneOrValue\",\"arguments\":[{\"name\":\"METHOD=\",\"description\":\"specifies how the center and scale are estimated\",\"help\":\"METHOD=MOMENTS  |  RANGE  |  WMOMENTS\",\"type\":\"choice\",\"arguments\":[{\"name\":\"MOMENTS\",\"description\":\"estimates the center by the variable mean and the scale by the standard deviation\",\"type\":\"standalone\"},{\"name\":\"RANGE\",\"description\":\"estimates the center by the midpoint of the variable range and the scale as half the variable range\",\"type\":\"standalone\"},{\"name\":\"WMOMENTS\",\"description\":\"estimates the center by the weighted variable mean and the scale by the weighted standard deviation\",\"type\":\"standalone\"}]},{\"name\":\"PREFIX=\",\"description\":\"specifies the prefix for standardized variables\",\"help\":\"PREFIX=NONE | *quoted-string*\",\"type\":\"value\"}]}]},{\"name\":\"SPLINE\",\"optional\":true,\"description\":\"specifies a regression spline effect whose columns are univariate spline expansions of one or more variables.\",\"help\":\"SPLINE(*variables* &lt;/ *options*&gt;)\",\"type\":\"value\",\"arguments\":[{\"name\":\"BASIS=\",\"description\":\"specifies the type of basis (B-spline basis or truncated power function basis) for the spline effect\",\"help\":\"BASIS=*type*\",\"type\":\"value\",\"arguments\":[{\"name\":\"BSPLINE\",\"description\":\"specifies a B-spline basis for the spline expansion\",\"type\":\"standalone\"},{\"name\":\"TPF\",\"description\":\"specifies a truncated power function basis for the spline expansion\",\"help\":\"TPF(*options*)\",\"type\":\"value\",\"arguments\":[{\"name\":\"NOINT\",\"description\":\"excludes the intercept column\",\"type\":\"standalone\"},{\"name\":\"NOPOWERS\",\"description\":\"excludes the intercept and polynomial columns\",\"type\":\"standalone\"}]}]},{\"name\":\"DATABOUNDARY\",\"description\":\"specifies that the extremes of the data be used as boundary knots when building a B-spline basis\",\"type\":\"standalone\"},{\"name\":\"DEGREE=\",\"description\":\"specifies the degree of the spline effect\",\"help\":\"DEGREE=*n*\",\"type\":\"value\"},{\"name\":\"DETAILS\",\"description\":\"requests tables that show the knot locations and the knots associated with each spline basis function\",\"type\":\"standalone\"},{\"name\":\"KNOTMAX=\",\"description\":\"specifies that, for each variable in the EFFECT statement, the right-side boundary knots be equally spaced starting at the maximum of the variable and ending at the specified value\",\"help\":\"KNOTMAX=*value*\",\"type\":\"value\"},{\"name\":\"KNOTMETHOD=\",\"description\":\"specifies how to construct the knots for spline effects\",\"help\":\"KNOTMETHOD=*method*&lt;(method-options)&gt;\",\"type\":\"value\",\"arguments\":[{\"name\":\"EQUAL\",\"description\":\"specifies that n equally spaced knots be positioned between the extremes of the data\",\"help\":\"EQUAL&lt;(*n*)&gt;\",\"type\":\"standaloneOrValue\"},{\"name\":\"LIST\",\"description\":\"specifies the list of internal knots to be used in forming the spline basis columns\",\"help\":\"LIST(*number-list*)\",\"type\":\"value\"},{\"name\":\"LISTWITHBOUNDARY\",\"description\":\"specifies the list of all knots that are used in forming the spline basis columns\",\"help\":\"LISTWITHBOUNDARY(*number-list*)\",\"type\":\"value\"},{\"name\":\"MULTISCALE\",\"description\":\"specifies that multiple B-spline bases be generated, corresponding to sets with an increasing number of internal knots\",\"help\":\"MULTISCALE&lt;(*multiscale-options*)&gt;\",\"type\":\"standaloneOrValue\",\"arguments\":[{\"name\":\"STARTSCALE=\",\"description\":\"specifies the start scale\",\"help\":\"STARTSCALE=*n*\",\"type\":\"value\"},{\"name\":\"ENDSCALE=\",\"description\":\"specifies the end scale\",\"help\":\"ENDSCALE=*n*\",\"type\":\"value\"}]},{\"name\":\"PERCENTILELIST\",\"description\":\"requests that internal knots for the variable or variables named in the EFFECT statement be placed at the specific percentiles that you list\",\"help\":\"PERCENTILELIST(*percentile-list*)\",\"type\":\"value\"},{\"name\":\"PERCENTILES\",\"description\":\"requests that internal knots be placed at n equally spaced percentiles of the variable or variables named in the EFFECT statement\",\"help\":\"PERCENTILES(*n*)\",\"type\":\"value\"},{\"name\":\"RANGEFRACTIONS\",\"description\":\"requests that internal knots be placed at each fraction of the ranges of the variables in the EFFECT statement\",\"help\":\"RANGEFRACTIONS(*fraction-list*)\",\"type\":\"value\"}]},{\"name\":\"KNOTMIN=\",\"description\":\"specifies that for each variable in the EFFECT statement, the left-side boundary knots be equally spaced starting at the specified value and ending at the minimum of the variable\",\"help\":\"KNOTMIN=*value*\",\"type\":\"value\"},{\"name\":\"NATURALCUBIC\",\"description\":\"specifies a natural cubic spline basis for the spline expansion\",\"type\":\"standalone\"},{\"name\":\"SEPARATE\",\"description\":\"specifies that when multiple variables are specified in the EFFECT statement, the spline basis for each variable be treated as a separate effect\",\"type\":\"standalone\"},{\"name\":\"SPLIT\",\"description\":\"specifies that each individual column in the design matrix that corresponds to the spline effect be treated as a separate effect that can enter or leave the model independently\",\"type\":\"standalone\"}]}]},{\"name\":\"EFFECTPLOT\",\"description\":\"produces a display of the fitted model and provides options for changing and enhancing the displays\",\"help\":\"EFFECTPLOT <plot-type<(plot-definition-options)>></ options>;                                              \\n                         plot-type = BOX | CONTOUR | FIT | INTERACTION | MOSAIC | SLICEFIT                     \",\"arguments\":[{\"name\":\"ADDCELL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"adds value to every cell in MOSAIC plot-types\",\"help\":\"ADDCELL&lt;=*value*&gt;\",\"type\":\"value\"},{\"name\":\"ALPHA=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the significance level for FIT, INTERACTION, and SLICEFIT plots\",\"help\":\"ALPHA=*value*\",\"type\":\"value\"},{\"name\":\"AT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies values at which to fix continuous and CLASS variables\",\"help\":\"AT &lt;MEAN MIN MAX MIDRANGE&gt; &lt;ALL REF BALANCE&gt; &lt;(*class-variable*(*level*)=*value**variable*&lt;(CODED)&gt;=*number-list* | *'class-level'...'class-level'*...)&gt; \",\"type\":\"standaloneOrValue\"},{\"name\":\"ATLEN=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the maximum length of the levels of the AT variables that are displayed in footnotes and headers\",\"help\":\"ATLEN=*n*\",\"type\":\"value\"},{\"name\":\"ATORDER=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"uses the AT values for continuous variables in ascending or descending order\",\"help\":\"ATORDER=ASCENDING | DESCENDING\",\"type\":\"choice\"},{\"name\":\"BIN\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"displays the statistic for the MOSAIC plot with a discrete coloring scheme\",\"type\":\"standalone\"},{\"name\":\"BOXWIDTH=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the relative width of the boxes of the BOX plots\",\"help\":\"BOXWIDTH=*value*\",\"type\":\"value\"},{\"name\":\"CLI\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"displays prediction limits for normal distributions with identity links for INTERACTION and SLICEFIT plots\",\"type\":\"standalone\"},{\"name\":\"CLM\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"displays confidence limits for INTERACTION and SLICEFIT plots\",\"type\":\"standalone\"},{\"name\":\"CLUSTER\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"modifies BOX and INTERACTION plots by displaying the levels of the SLICEBY= effect side by side\",\"help\":\"CLUSTER&lt;=*percent*&gt;\",\"type\":\"standaloneOrValue\"},{\"name\":\"CLUSTERGRID\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"modifies BOX and INTERACTION plots by separating the X levels with grid lines when the levels of the SLICEBY= effect are clustered\",\"help\":\"CLUSTERGRID&lt;=YES | NO&gt;\",\"type\":\"standaloneOrValue\"},{\"name\":\"CONNECT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"modifies BOX and INTERACTION plots by connecting the predicted values with a line\",\"type\":\"standalone\"},{\"name\":\"EQUAL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"causes every cell in MOSAIC plots to have the same dimensions\",\"type\":\"standalone\"},{\"name\":\"EXTEND=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"extends continuous covariate axes in all directions for CONTOUR, FIT, and SLICEFIT plots\",\"help\":\"EXTEND=DATA | *value*\",\"type\":\"value\"},{\"name\":\"GRIDSIZE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the resolution of curves and surfaces for CONTOUR, FIT, and SLICEFIT plots\",\"help\":\"GRIDSIZE=*n*\",\"type\":\"value\"},{\"name\":\"ILINK\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"displays the fit on the scale of the inverse link function\",\"type\":\"standalone\"},{\"name\":\"INDIVIDUAL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"displays individual probabilities for cumulative response models (not BOX)\",\"type\":\"standalone\"},{\"name\":\"LIMITS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"displays confidence and prediction limits\",\"type\":\"standalone\"},{\"name\":\"LINK\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"displays the fit on the scale of the link function (not MOSAIC)\",\"type\":\"standalone\"},{\"name\":\"NCOLS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the maximum number of columns in a paneled plot (not BOX nor MOSAIC)\",\"help\":\"NCOLS=*n*\",\"type\":\"value\"},{\"name\":\"NOBORDER\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"removes the border from MOSAIC plot cells\",\"type\":\"standalone\"},{\"name\":\"NOCLI\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses the prediction limits for FIT plots\",\"type\":\"standalone\"},{\"name\":\"NOCLM\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses the confidence limits for FIT plots\",\"type\":\"standalone\"},{\"name\":\"NOCLUSTER\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"unclusters the BOX and INTERACTION plots\",\"type\":\"standalone\"},{\"name\":\"NOCLUSTERGRID\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"removes the grid lines from INTERACTION plots\",\"type\":\"standalone\"},{\"name\":\"NOCONNECT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"removes the connecting line from the BOX and INTERACTION plots\",\"type\":\"standalone\"},{\"name\":\"NOLABELOUTLIER\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppress outlier labeling on BOX plots\",\"type\":\"standalone\"},{\"name\":\"NOLIMITS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses confidence and prediction limits on FIT plots\",\"type\":\"standalone\"},{\"name\":\"NOOBS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses the display of observations (not BOX nor MOSAIC)\",\"type\":\"standalone\"},{\"name\":\"NOOFFSET\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"moves the offset for a Poisson regression model to the response side of the equation\",\"type\":\"standalone\"},{\"name\":\"MOFF\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"moves the offset for a Poisson regression model to the response side of the equation\",\"type\":\"standalone\"},{\"name\":\"NROWS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the maximum number of rows in a paneled plot (not BOX nor MOSAIC)\",\"help\":\"NROWS=*n*\",\"type\":\"value\"},{\"name\":\"OBS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"displays observations in the effect plots\",\"help\":\"OBS&lt;(*obs-options*)&gt;\",\"type\":\"standaloneOrValue\",\"arguments\":[{\"name\":\"BYAT\",\"followsDelimiter\":\"/\",\"description\":\"subsets the observations by AT and PLOTBY levels\",\"type\":\"standalone\"},{\"name\":\"CDISPLAY=\",\"followsDelimiter\":\"/\",\"description\":\"controls the display of observations in contour plots\",\"help\":\"CDISPLAY=NONE | OUTLINE | GRADIENT | OUTLINEGRADIENT\",\"type\":\"choice\"},{\"name\":\"CGRADIENT=\",\"followsDelimiter\":\"/\",\"description\":\"specifies gradient shading of contour plots\",\"help\":\"CGRADIENT=RESIDUAL | DEPENDENT\",\"type\":\"choice\"},{\"name\":\"DEPTH=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the number of overlapping observations that can be distinguished\",\"help\":\"DEPTH=*depth*\",\"type\":\"value\"},{\"name\":\"DISTANCE\",\"followsDelimiter\":\"/\",\"description\":\"displays observations in FIT plots with a color gradient indicating distance from AT and PLOTYBY level\",\"type\":\"standalone\"},{\"name\":\"FITATCLASS\",\"followsDelimiter\":\"/\",\"description\":\"computes fitted values only for class levels that are observed in the data set\",\"type\":\"standalone\"},{\"name\":\"FRINGE\",\"followsDelimiter\":\"/\",\"description\":\"displays observations in a fringe (rug) plot at the bottom of the plot\",\"type\":\"standalone\"},{\"name\":\"JITTER\",\"followsDelimiter\":\"/\",\"description\":\"shifts (jitters) the observations\",\"help\":\"JITTER&lt;(*jitter-options*)&gt;\",\"type\":\"standaloneOrValue\",\"arguments\":[{\"name\":\"FACTOR=\",\"followsDelimiter\":\"/\",\"description\":\"sets the X and Y jitter to factor times the range of the axis\",\"help\":\"FACTOR=*factor*\",\"type\":\"value\"},{\"name\":\"SEED=\",\"followsDelimiter\":\"/\",\"description\":\"an integer to use as the initial seed for the random number generator\",\"help\":\"SEED=*seed*\",\"type\":\"value\"},{\"name\":\"X=\",\"followsDelimiter\":\"/\",\"description\":\"sets the X jitter to x-jitter\",\"help\":\"X=*x-jitter*\",\"type\":\"value\"},{\"name\":\"Y=\",\"followsDelimiter\":\"/\",\"description\":\"sets the Y jitter to y-jitter\",\"help\":\"Y=*y-jitter*\",\"type\":\"value\"}]},{\"name\":\"LABEL\",\"followsDelimiter\":\"/\",\"description\":\"labels markers with their observation number\",\"help\":\"LABEL&lt;=OBS&gt;\",\"type\":\"standaloneOrValue\"},{\"name\":\"LOCATION=\",\"followsDelimiter\":\"/\",\"description\":\"specifies where the observed values for polytomous response models are displayed\",\"help\":\"LOCATION=*location*\",\"type\":\"value\",\"arguments\":[{\"name\":\"BOTTOM\",\"followsDelimiter\":\"/\",\"description\":\"displays the response levels at intervals from the minimum predicted value\",\"help\":\"BOTTOM&lt;=*factor*&gt;\",\"type\":\"standaloneOrValue\"},{\"name\":\"CURVE\",\"followsDelimiter\":\"/\",\"description\":\"displays the observations for polytomous response models at their predicted values\",\"type\":\"standalone\"},{\"name\":\"FIRST\",\"followsDelimiter\":\"/\",\"description\":\"displays the observations for a response level at the first displayed predicted value for that response level\",\"type\":\"standalone\"},{\"name\":\"MAX\",\"followsDelimiter\":\"/\",\"description\":\"displays the observations at the maximum displayed predicted value for that response level\",\"type\":\"standalone\"},{\"name\":\"MIDDLE\",\"followsDelimiter\":\"/\",\"description\":\"displays the observations at the middle of the displayed predicted values for that response level\",\"type\":\"standalone\"},{\"name\":\"MIN\",\"followsDelimiter\":\"/\",\"description\":\"displays the observations at the minimum displayed predicted value for that response level\",\"type\":\"standalone\"},{\"name\":\"SPREAD\",\"followsDelimiter\":\"/\",\"description\":\"displays the observations with the response levels evenly spread across the Y axis\",\"type\":\"standalone\"},{\"name\":\"TOP\",\"followsDelimiter\":\"/\",\"description\":\"displays the response levels at intervals from the maximum predicted value\",\"help\":\"TOP&lt;=*factor*&gt;\",\"type\":\"standaloneOrValue\"}]}]},{\"name\":\"PLOTBYLEN=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"the maximum length of the levels of the PLOTBY= variables displayed in footnotes and headers\",\"help\":\"PLOTBYLEN=*n*\",\"type\":\"value\"},{\"name\":\"POLYBAR\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"displays polytomous response data as a stacked histogram whose bar heights are defined by the individual predicted value in INTERACTION plots\",\"type\":\"standalone\"},{\"name\":\"PREDLABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a label to be displayed on the Y axis\",\"help\":\"PREDLABEL='*label*'\",\"type\":\"value\"},{\"name\":\"SHOWCLEGEND\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"displays the gradient legend for CONTOUR plots\",\"type\":\"standalone\"},{\"name\":\"SMOOTH\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"overlays a loess smooth on FIT plots with one continuous predictor\",\"type\":\"standalone\"},{\"name\":\"TYPE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the type of display for the MOSAIC plots\",\"help\":\"TYPE=PREDICTED | PARQUET | GOF\",\"type\":\"choice\"},{\"name\":\"UNPACK\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses paneling\",\"type\":\"standalone\"},{\"name\":\"YRANGE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"display range of the predicted values on the Y axis for BOX, FIT, INTERACTION, and SLICEFIT plots\",\"help\":\"YRANGE=CLIP | (&lt;*min*&gt;&lt;,*max*&gt;)\",\"type\":\"standaloneOrValue\"},{\"name\":\"BOX\",\"optional\":true,\"description\":\"Displays a box plot of continuous response data at each level of a CLASS effect, with predicted values superimposed and connected by a line.\",\"help\":\"BOX&lt;(*options*)&gt;\",\"type\":\"standaloneOrValue\",\"arguments\":[{\"name\":\"PLOTBY=\",\"description\":\"specifies an effect at whose levels the predicted values are computed and the plots are displayed\",\"help\":\"PLOTBY&lt;(*panel-type*)&gt;=*effect*&lt;=*numeric-list*&gt;\",\"type\":\"value\",\"arguments\":[{\"name\":\"COLUMNS\",\"description\":\"the columns within each panel correspond to different levels of the PLOTBY= effect\",\"type\":\"standalone\"},{\"name\":\"PACK\",\"description\":\"plots are displayed in the panels as they are produced\",\"type\":\"standalone\"},{\"name\":\"PANELS\",\"description\":\"each level of the PLOTBY= effect begins a new panel of plots\",\"type\":\"standalone\"},{\"name\":\"LEVELS\",\"description\":\"each level of the PLOTBY= effect begins a new panel of plots\",\"type\":\"standalone\"},{\"name\":\"ROWS\",\"description\":\"the rows within each panel correspond to different levels of the PLOTBY= effect\",\"type\":\"standalone\"}]},{\"name\":\"X=\",\"description\":\"specifies a CLASS effect to display on the X axis\",\"help\":\"X=*effect*\",\"type\":\"value\"}]},{\"name\":\"CONTOUR\",\"optional\":true,\"description\":\"Displays a contour plot of predicted values against two continuous covariates.\",\"help\":\"CONTOUR&lt;(*options*)&gt;\",\"type\":\"standaloneOrValue\",\"arguments\":[{\"name\":\"PLOTBY=\",\"description\":\"specifies an effect at whose levels the predicted values are computed and the plots are displayed\",\"help\":\"PLOTBY&lt;(*panel-type*)&gt;=*effect*&lt;=*numeric-list*&gt;\",\"type\":\"value\",\"arguments\":[{\"name\":\"COLUMNS\",\"description\":\"the columns within each panel correspond to different levels of the PLOTBY= effect\",\"type\":\"standalone\"},{\"name\":\"PACK\",\"description\":\"plots are displayed in the panels as they are produced\",\"type\":\"standalone\"},{\"name\":\"PANELS\",\"description\":\"each level of the PLOTBY= effect begins a new panel of plots\",\"type\":\"standalone\"},{\"name\":\"LEVELS\",\"description\":\"each level of the PLOTBY= effect begins a new panel of plots\",\"type\":\"standalone\"},{\"name\":\"ROWS\",\"description\":\"the rows within each panel correspond to different levels of the PLOTBY= effect\",\"type\":\"standalone\"}]},{\"name\":\"X=\",\"description\":\"specifies a continuous effect to display on the X axis\",\"help\":\"X=*effect*\",\"type\":\"value\"},{\"name\":\"Y=\",\"description\":\"specifies a continuous effect to display on the Y axis\",\"help\":\"Y=*effect*\",\"type\":\"value\"}]},{\"name\":\"FIT\",\"optional\":true,\"description\":\"Displays a curve of predicted values versus a continuous variable.\",\"help\":\"FIT&lt;(*options*)&gt;\",\"type\":\"standaloneOrValue\",\"arguments\":[{\"name\":\"PLOTBY=\",\"description\":\"specifies an effect at whose levels the predicted values are computed and the plots are displayed\",\"help\":\"PLOTBY&lt;(*panel-type*)&gt;=*effect*&lt;=*numeric-list*&gt;\",\"type\":\"value\",\"arguments\":[{\"name\":\"COLUMNS\",\"description\":\"the columns within each panel correspond to different levels of the PLOTBY= effect\",\"type\":\"standalone\"},{\"name\":\"PACK\",\"description\":\"plots are displayed in the panels as they are produced\",\"type\":\"standalone\"},{\"name\":\"PANELS\",\"description\":\"each level of the PLOTBY= effect begins a new panel of plots\",\"type\":\"standalone\"},{\"name\":\"LEVELS\",\"description\":\"each level of the PLOTBY= effect begins a new panel of plots\",\"type\":\"standalone\"},{\"name\":\"ROWS\",\"description\":\"the rows within each panel correspond to different levels of the PLOTBY= effect\",\"type\":\"standalone\"}]},{\"name\":\"X=\",\"description\":\"specifies a continuous effect to display on the X axis\",\"help\":\"X=*effect*\",\"type\":\"value\"}]},{\"name\":\"INTERACTION\",\"optional\":true,\"description\":\"Displays a plot of predicted values (possibly with error bars) versus the levels of a CLASS effect. The predicted values are connected with lines and can be grouped by the levels of another CLASS effect.\",\"help\":\"INTERACTION&lt;(*options*)&gt;\",\"type\":\"standaloneOrValue\",\"arguments\":[{\"name\":\"PLOTBY=\",\"description\":\"specifies an effect at whose levels the predicted values are computed and the plots are displayed\",\"help\":\"PLOTBY&lt;(*panel-type*)&gt;=*effect*&lt;=*numeric-list*&gt;\",\"type\":\"value\",\"arguments\":[{\"name\":\"COLUMNS\",\"description\":\"the columns within each panel correspond to different levels of the PLOTBY= effect\",\"type\":\"standalone\"},{\"name\":\"PACK\",\"description\":\"plots are displayed in the panels as they are produced\",\"type\":\"standalone\"},{\"name\":\"PANELS\",\"description\":\"each level of the PLOTBY= effect begins a new panel of plots\",\"type\":\"standalone\"},{\"name\":\"LEVELS\",\"description\":\"each level of the PLOTBY= effect begins a new panel of plots\",\"type\":\"standalone\"},{\"name\":\"ROWS\",\"description\":\"the rows within each panel correspond to different levels of the PLOTBY= effect\",\"type\":\"standalone\"}]},{\"name\":\"SLICEBY=\",\"description\":\"displays the fitted values at the different levels of the specified effect\",\"help\":\"SLICEBY=NONE | *effect*&lt;=*numeric-list*&gt;\",\"type\":\"value\"},{\"name\":\"X=\",\"description\":\"specifies a CLASS effect to display on the X axis\",\"help\":\"X=*effect*\",\"type\":\"value\"}]},{\"name\":\"MOSAIC\",\"optional\":true,\"description\":\"Displays a mosaic plot of predicted values using up to three CLASS effects.\",\"help\":\"MOSAIC&lt;(*options*)&gt;\",\"type\":\"standaloneOrValue\",\"arguments\":[{\"name\":\"PLOTBY=\",\"description\":\"specifies an effect at whose levels the predicted values are computed and the plots are displayed\",\"help\":\"PLOTBY&lt;(*panel-type*)&gt;=*effect*&lt;=*numeric-list*&gt;\",\"type\":\"value\",\"arguments\":[{\"name\":\"COLUMNS\",\"description\":\"the columns within each panel correspond to different levels of the PLOTBY= effect\",\"type\":\"standalone\"},{\"name\":\"PACK\",\"description\":\"plots are displayed in the panels as they are produced\",\"type\":\"standalone\"},{\"name\":\"PANELS\",\"description\":\"each level of the PLOTBY= effect begins a new panel of plots\",\"type\":\"standalone\"},{\"name\":\"LEVELS\",\"description\":\"each level of the PLOTBY= effect begins a new panel of plots\",\"type\":\"standalone\"},{\"name\":\"ROWS\",\"description\":\"the rows within each panel correspond to different levels of the PLOTBY= effect\",\"type\":\"standalone\"}]},{\"name\":\"X=\",\"description\":\"specifies CLASS effects to display on the X, Y, and X2 axes\",\"help\":\"X=*effect* | (*x-effect* &lt;*y-effect*&lt;*x2-effect*&gt;&gt;)\",\"type\":\"value\"}]},{\"name\":\"SLICEFIT\",\"optional\":true,\"description\":\"Displays a curve of predicted values versus a continuous variable grouped by the levels of a CLASS effect.\",\"help\":\"SLICEFIT&lt;(*options*)&gt;\",\"type\":\"standaloneOrValue\",\"arguments\":[{\"name\":\"PLOTBY=\",\"description\":\"specifies an effect at whose levels the predicted values are computed and the plots are displayed\",\"help\":\"PLOTBY&lt;(*panel-type*)&gt;=*effect*&lt;=*numeric-list*&gt;\",\"type\":\"value\",\"arguments\":[{\"name\":\"COLUMNS\",\"description\":\"the columns within each panel correspond to different levels of the PLOTBY= effect\",\"type\":\"standalone\"},{\"name\":\"PACK\",\"description\":\"plots are displayed in the panels as they are produced\",\"type\":\"standalone\"},{\"name\":\"PANELS\",\"description\":\"each level of the PLOTBY= effect begins a new panel of plots\",\"type\":\"standalone\"},{\"name\":\"LEVELS\",\"description\":\"each level of the PLOTBY= effect begins a new panel of plots\",\"type\":\"standalone\"},{\"name\":\"ROWS\",\"description\":\"the rows within each panel correspond to different levels of the PLOTBY= effect\",\"type\":\"standalone\"}]},{\"name\":\"SLICEBY=\",\"description\":\"displays the fitted values at the different levels of the specified effect\",\"help\":\"SLICEBY=NONE | *effect*&lt;=*numeric-list*&gt;\",\"type\":\"value\"},{\"name\":\"X=\",\"description\":\"specifies a continuous effect to display on the X axis\",\"help\":\"X=*effect*\",\"type\":\"value\"}]}]},{\"name\":\"ESTIMATE\",\"description\":\"provides a mechanism for obtaining custom hypothesis tests\",\"help\":\"ESTIMATE <'label'> estimate-specification <(DIVISOR=n)><,...<'label'> estimate-specification <(DIVISOR=n)>></ options>;                                              \\n                         estimate-specification = effect <values>...                     \",\"arguments\":[{\"name\":\"DIVISOR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies a list of values to divide the coefficients\",\"help\":\"DIVISOR=*value-list*\",\"type\":\"value\"},{\"name\":\"NOFILL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Suppresses the automatic fill-in of coefficients for higher-order effects\",\"type\":\"standalone\"},{\"name\":\"SINGULAR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Tunes the estimability checking difference\",\"help\":\"SINGULAR=*number*\",\"type\":\"value\"},{\"name\":\"ADJUST=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Determines the method of multiple comparison adjustment of estimates\",\"help\":\"ADJUST=BON  |  SCHEFFE  |  SIDAK  |  SIMULATE&lt;(*sim-options*)&gt; |  T\",\"type\":\"choice\",\"arguments\":[{\"name\":\"BON\",\"followsDelimiter\":\"/\",\"description\":\"performs Bonferroni t tests of differences between LS-means.\",\"type\":\"standalone\"},{\"name\":\"SCHEFFE\",\"followsDelimiter\":\"/\",\"description\":\"performs Scheffe's multiple comparison procedure.\",\"type\":\"standalone\"},{\"name\":\"SIDAK\",\"followsDelimiter\":\"/\",\"description\":\"performs pairwise t tests on differences between LS-means with levels adjusted according to Sidak's inequality.\",\"type\":\"standalone\"},{\"name\":\"SIMULATE\",\"followsDelimiter\":\"/\",\"description\":\"performs the simulation-based multiple comparison procedure.\",\"help\":\"SIMULATE&lt;( *simopts* )&gt;\",\"type\":\"standaloneOrValue\",\"arguments\":[{\"name\":\"ACC=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the target accuracy radius for the true probability content\",\"help\":\"ACC=*value*\",\"type\":\"value\"},{\"name\":\"EPS=\",\"followsDelimiter\":\"/\",\"description\":\"specifies a 100 (1-ε) confidence interval for the true probability content of the estimated (1-α) quantile.\",\"help\":\"EPS=*value*\",\"type\":\"value\"},{\"name\":\"NSAMP=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the sample size for the simulation.\",\"help\":\"NSAMP=*n*\",\"type\":\"value\"},{\"name\":\"SEED=\",\"followsDelimiter\":\"/\",\"description\":\"specifies an integer to be used to start the pseudorandom number generator for the simulation.\",\"help\":\"SEED=*number*\",\"type\":\"value\"},{\"name\":\"THREADS\",\"followsDelimiter\":\"/\",\"description\":\"specifies that the computational work for the simulation be divided into parallel threads\",\"type\":\"standalone\"},{\"name\":\"NOTHREADS\",\"followsDelimiter\":\"/\",\"description\":\"specifies that the computational work for the simulation be performed in sequence\",\"type\":\"standalone\"}]},{\"name\":\"T\",\"followsDelimiter\":\"/\",\"description\":\"performs no adjustment for multiple comparisons.\",\"type\":\"standalone\"}]},{\"name\":\"ALPHA=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Determines the confidence level\",\"help\":\"ALPHA=*number*\",\"type\":\"value\"},{\"name\":\"LOWER\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Performs one-sided, lower-tailed inference\",\"type\":\"standalone\"},{\"name\":\"STEPDOWN\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Adjusts multiplicity-corrected p-values further in a step-down fashion\",\"help\":\"STEPDOWN&lt;(*step-down-options*)&gt;\",\"type\":\"standaloneOrValue\",\"arguments\":[{\"name\":\"MAXTIME=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the maximum allowed time (in seconds) for TYPE=LOGICAL\",\"help\":\"MAXTIME=Argument{n}\",\"type\":\"value\"},{\"name\":\"ORDER=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the order in which the step-down tests are performed\",\"help\":\"ORDER=PVALUE  |  ROWS\",\"type\":\"choice\",\"arguments\":[{\"name\":\"PVALUE\",\"type\":\"standalone\"},{\"name\":\"ROWS\",\"type\":\"standalone\"}]},{\"name\":\"REPORT\",\"followsDelimiter\":\"/\",\"description\":\"displays a report on the step-down adjustment\",\"type\":\"standalone\"},{\"name\":\"TYPE=\",\"followsDelimiter\":\"/\",\"description\":\"specifies how step-down adjustment are made\",\"help\":\"TYPE=LOGICAL&lt;(*n*)&gt; | FREE\",\"type\":\"standaloneOrValue\"}]},{\"name\":\"TESTVALUE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies values under the null hypothesis for tests\",\"help\":\"TESTVALUE=*value-list*\",\"type\":\"value\"},{\"name\":\"UPPER\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Performs one-sided, upper-tailed inference\",\"type\":\"standalone\"},{\"name\":\"CL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Constructs confidence limits\",\"type\":\"standalone\"},{\"name\":\"CORR\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays the correlation matrix of estimates\",\"type\":\"standalone\"},{\"name\":\"COV\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays the covariance matrix of estimates\",\"type\":\"standalone\"},{\"name\":\"E\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Prints the L matrix\",\"type\":\"standalone\"},{\"name\":\"JOINT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Produces a joint F or chi-square test for the estimable functions\",\"type\":\"standalone\"},{\"name\":\"PLOTS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Produces ODS statistical graphics if the analysis is sampling-based\",\"help\":\"PLOTS=*plot-options*\",\"type\":\"value\",\"arguments\":[{\"name\":\"ALL\",\"followsDelimiter\":\"/\",\"description\":\"produces all possible plots with their default settings\",\"type\":\"standalone\"},{\"name\":\"BOXPLOT\",\"followsDelimiter\":\"/\",\"description\":\"produces box plots of the distribution of the estimable function across the posterior sample\",\"help\":\"BOXPLOT&lt;(*boxplot-options*)&gt;\",\"type\":\"standaloneOrValue\",\"arguments\":[{\"name\":\"ORIENTATION=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the orientation of the boxes\",\"help\":\"ORIENTATION=VERTICAL  |  HORIZONTAL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"VERTICAL\",\"type\":\"standalone\"},{\"name\":\"HORIZONTAL\",\"type\":\"standalone\"}]},{\"name\":\"NPANELPOS=\",\"followsDelimiter\":\"/\",\"description\":\"specifies how to break the series of box plots across multiple panels\",\"help\":\"NPANELPOS=*number*\",\"type\":\"value\"}]},{\"name\":\"DISTPLOT\",\"followsDelimiter\":\"/\",\"description\":\"generates panels of histograms with a kernel density overlaid\",\"help\":\"DISTPLOT&lt;(*distplot-options*)&gt;\",\"type\":\"standaloneOrValue\",\"arguments\":[{\"name\":\"BOX\",\"followsDelimiter\":\"/\",\"description\":\"controls the display of a horizontal box plot of the estimable function's distribution across the posterior sample below the graph\",\"type\":\"standalone\"},{\"name\":\"NOBOX\",\"followsDelimiter\":\"/\",\"description\":\"controls the display of a horizontal box plot of the estimable function's distribution across the posterior sample below the graph\",\"type\":\"standalone\"},{\"name\":\"NORMAL\",\"followsDelimiter\":\"/\",\"description\":\"controls the display of the histogram of the estimable function's distribution across the posterior sample\",\"type\":\"standalone\"},{\"name\":\"NONORMAL\",\"followsDelimiter\":\"/\",\"description\":\"controls the display of the histogram of the estimable function's distribution across the posterior sample\",\"type\":\"standalone\"},{\"name\":\"KERNEL\",\"followsDelimiter\":\"/\",\"description\":\"controls the display of a kernel density estimate on the graph\",\"type\":\"standalone\"},{\"name\":\"NOKERNEL\",\"followsDelimiter\":\"/\",\"description\":\"controls the display of a kernel density estimate on the graph\",\"type\":\"standalone\"},{\"name\":\"NROWS=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the highest number of rows in a panel\",\"help\":\"NROWS=*number*\",\"type\":\"value\"},{\"name\":\"NCOLS=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the highest number of columns in a panel\",\"help\":\"NCOLS=*number*\",\"type\":\"value\"},{\"name\":\"UNPACK\",\"followsDelimiter\":\"/\",\"description\":\"unpacks the panel into separate graphics\",\"type\":\"standalone\"}]},{\"name\":\"NONE\",\"followsDelimiter\":\"/\",\"description\":\"does not produce any plots\",\"type\":\"standalone\"}]},{\"name\":\"SEED=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the seed for computations that depend on random numbers\",\"type\":\"value\"},{\"name\":\"CATEGORY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies how to construct estimable functions for multinomial data\",\"help\":\"CATEGORY=JOINT | SEPARATE | *quoted-value-list*\",\"type\":\"value\"},{\"name\":\"EXP\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Exponentiates and displays estimates\",\"type\":\"standalone\"},{\"name\":\"ILINK\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Computes and displays estimates and standard errors on the inverse linked scale\",\"type\":\"standalone\"}]},{\"name\":\"EXACT\",\"description\":\"performs exact tests of the parameters for the specified effects and optionally estimates the parameters and outputs the exact conditional distributions\",\"help\":\"EXACT &lt;'label'&gt;&lt;INTERCEPT&gt;&lt;effects&gt;&lt;/ options&gt;;                                              \",\"arguments\":[{\"name\":\"ALPHA=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the level of significance α for 100(1-α)% confidence limits for the parameters or odds ratios\",\"help\":\"ALPHA=*number*\",\"type\":\"value\"},{\"name\":\"CLTYPE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"requests either the exact or mid-p confidence intervals for the parameter estimates\",\"help\":\"CLTYPE=EXACT | MIDP\",\"type\":\"choice\"},{\"name\":\"ESTIMATE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"estimates the individual parameters (conditioned on all other parameters) for the effects specified in the EXACT statement\",\"help\":\"ESTIMATE &lt;=*keyword*&gt;\",\"type\":\"standaloneOrValue\",\"arguments\":[{\"name\":\"PARM\",\"followsDelimiter\":\"/\",\"description\":\"specifies that the parameters be estimated. This is the default.\",\"type\":\"standalone\"},{\"name\":\"ODDS\",\"followsDelimiter\":\"/\",\"description\":\"specifies that the odds ratios be estimated. If you have classification variables, then you must also specify the PARAM=REF option in the CLASS statement.\",\"type\":\"standalone\"},{\"name\":\"BOTH\",\"followsDelimiter\":\"/\",\"description\":\"specifies that both the parameters and odds ratios be estimated.\",\"type\":\"standalone\"}]},{\"name\":\"JOINT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"performs the joint test that all of the parameters are simultaneously equal to zero, performs individual hypothesis tests for the parameter of each continuous variable, and performs joint tests for the parameters of each classification variable\",\"type\":\"standalone\"},{\"name\":\"JOINTONLY\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"performs only the joint test of the parameters\",\"type\":\"standalone\"},{\"name\":\"MIDPFACTOR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"sets the tie factors used to produce the mid-p hypothesis statistics and the mid-p confidence intervals\",\"help\":\"MIDPFACTOR=δ_1 | (δ_1,δ_2)\",\"type\":\"choice\"},{\"name\":\"ONESIDED\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"requests one-sided confidence intervals and p-values for the individual parameter estimates and odds ratios\",\"type\":\"standalone\"},{\"name\":\"OUTDIST=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"names the SAS data set that contains the exact conditional distributions\",\"help\":\"OUTDIST=*SAS-data-set*\",\"type\":\"dataSet\"}]},{\"name\":\"EXACTOPTIONS\",\"description\":\"specifies options that apply to every EXACT statement in the program\",\"help\":\"EXACTOPTIONS *options*;                                              \",\"arguments\":[{\"name\":\"ABSFCONV=\",\"optional\":true,\"description\":\"specifies the absolute function convergence criterion\",\"help\":\"ABSFCONV=*value*\",\"type\":\"value\"},{\"name\":\"ADDTOBS\",\"optional\":true,\"description\":\"the observed sufficient statistic to the sampled exact distribution if the statistic was not sampled\",\"type\":\"standalone\"},{\"name\":\"BUILDSUBSETS\",\"optional\":true,\"description\":\"every distribution for sampling\",\"type\":\"standalone\"},{\"name\":\"EPSILON=\",\"optional\":true,\"description\":\"how the partial sums are compared\",\"help\":\"EPSILON=*value*\",\"type\":\"value\"},{\"name\":\"FCONV=\",\"optional\":true,\"description\":\"specifies the relative function convergence criterion\",\"help\":\"FCONV=*value*\",\"type\":\"value\"},{\"name\":\"MAXSWAP=\",\"optional\":true,\"aliases\":[\"MAXR=\"],\"description\":\"specifies the maximum number of swaps for each sample that PROC LOGISTIC makes when you specify the METHOD=MCMC option\",\"help\":\"MAXSWAP=*n*\",\"type\":\"value\"},{\"name\":\"MAXTIME=\",\"optional\":true,\"description\":\"the maximum clock time (in seconds) that PROC LOGISTIC can use to calculate the exact distributions\",\"help\":\"MAXTIME=*seconds*\",\"type\":\"value\"},{\"name\":\"METHOD=\",\"optional\":true,\"description\":\"which exact conditional algorithm to use for every EXACT statement specified\",\"help\":\"METHOD=*keyword*\",\"type\":\"value\",\"arguments\":[{\"name\":\"DIRECT\",\"description\":\"invokes the multivariate shift algorithm\",\"type\":\"standalone\"},{\"name\":\"NETWORK\",\"description\":\"invokes a network algorithm\",\"type\":\"standalone\"},{\"name\":\"NETWORKMC\",\"description\":\"invokes the hybrid network and Monte Carlo algorithm\",\"type\":\"standalone\"},{\"name\":\"MCMC\",\"description\":\"invokes the Markov chain Monte Carlo (MCMC) algorithm\",\"type\":\"standalone\"}]},{\"name\":\"N=\",\"optional\":true,\"description\":\"the number of Monte Carlo samples to take when you specify the METHOD=NETWORKMC or METHOD=MCMC option\",\"help\":\"N=*n*\",\"type\":\"value\"},{\"name\":\"NBI=\",\"optional\":true,\"aliases\":[\"BURNIN=\"],\"description\":\"specifies the number of burn-in samples that are discarded when you specify the METHOD=MCMC option\",\"help\":\"NBI=*n*\",\"type\":\"value\"},{\"name\":\"NOLOGSCALE\",\"optional\":true,\"description\":\"specifies that computations for the exact conditional models be computed by using normal scaling\",\"type\":\"standalone\"},{\"name\":\"NTHIN=\",\"optional\":true,\"description\":\"the thinning rate of the sampling when you specify the METHOD=MCMC option\",\"help\":\"NTHIN=*n*\",\"type\":\"value\"},{\"name\":\"ONDISK\",\"optional\":true,\"description\":\"disk space instead of random access memory to build the exact conditional distribution\",\"type\":\"standalone\"},{\"name\":\"SEED=\",\"optional\":true,\"description\":\"the initial seed for the random number generator used to take the Monte Carlo samples when you specify the METHOD=NETWORKMC or METHOD=MCMC option\",\"help\":\"SEED=*seed*\",\"type\":\"value\"},{\"name\":\"STATUSN=\",\"optional\":true,\"description\":\"a status line in the SAS log after every number of Monte Carlo samples when you specify the METHOD=NETWORKMC or METHOD=MCMC option\",\"help\":\"STATUSN=*number*\",\"type\":\"value\"},{\"name\":\"STATUSTIME=\",\"optional\":true,\"description\":\"the time interval (in seconds) for printing a status line in the SAS log\",\"help\":\"STATUSTIME=*seconds*\",\"type\":\"value\"},{\"name\":\"XCONV=\",\"optional\":true,\"description\":\"specifies the relative parameter convergence criterion\",\"help\":\"XCONV=*value*\",\"type\":\"value\"}]},{\"name\":\"FREQ\",\"description\":\"identifies a variable that contains the frequency of occurrence of each observation\",\"help\":\"FREQ  variable;                                              \"},{\"name\":\"ID\",\"description\":\"specifies variables in the DATA= data set that are used for labeling ROC and PR curves and influence diagnostic plots\",\"help\":\"ID  variable &lt;variable...&gt;;                                              \"},{\"name\":\"LSMEANS\",\"description\":\"computes and compares least squares means (LS-means) of fixed effects\",\"help\":\"LSMEANS &lt;model-effects&gt;&lt;/ options&gt;;                                              \",\"arguments\":[{\"name\":\"AT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"modifies the covariate value in computing LS-means\",\"help\":\"AT *at-specification*\",\"type\":\"value\",\"arguments\":[{\"name\":\"MEANS\",\"followsDelimiter\":\"/\",\"description\":\"sets covariates equal to their mean values\",\"type\":\"standalone\"},{\"name\":\"variable=\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"sets the covariate variable equal to value.\",\"help\":\"*variable*=*value*\",\"type\":\"value\"},{\"name\":\"(variable-list)=(value-list)\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"sets covariates in the variable-list equal to values in the value-list.\",\"type\":\"value\"}]},{\"name\":\"BYLEVEL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"computes separate margins\",\"type\":\"standalone\"},{\"name\":\"DIFF\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"computes differences of LS-means\",\"help\":\"DIFF =*difftype*\",\"type\":\"value\",\"arguments\":[{\"name\":\"ALL\",\"followsDelimiter\":\"/\",\"description\":\"displays all pairwise differences.\",\"type\":\"standalone\"},{\"name\":\"ANOM\",\"followsDelimiter\":\"/\",\"description\":\"displays differences between each LS-mean and the average LS-mean\",\"type\":\"standalone\"},{\"name\":\"CONTROL\",\"followsDelimiter\":\"/\",\"description\":\"produces two-tailed tests and confidence limits for differences with a control\",\"help\":\"CONTROL&lt;('level1'&lt;,'level2'...&gt;)&gt;\",\"type\":\"standaloneOrValue\"},{\"name\":\"CONTROLL\",\"followsDelimiter\":\"/\",\"description\":\"produces one-tailed results and tests whether the noncontrol levels are significantly smaller than the control.\",\"help\":\"CONTROLL&lt;('level1'&lt;,'level2'...&gt;)&gt;\",\"type\":\"standaloneOrValue\"},{\"name\":\"CONTROLU\",\"followsDelimiter\":\"/\",\"description\":\"produces one-tailed results and tests whether the noncontrol levels are significantly larger than the control.\",\"help\":\"CONTROLU&lt;('level1'&lt;,'level2'...&gt;)&gt;\",\"type\":\"standaloneOrValue\"}]},{\"name\":\"OM=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the weighting scheme for LS-means computation as determined by the input data set\",\"help\":\"OM=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"SINGULAR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"tunes estimability checking\",\"help\":\"SINGULAR=*value*\",\"type\":\"value\"},{\"name\":\"ADJUST=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"determines the method of multiple-comparison adjustment of LS-means differences\",\"help\":\"ADJUST=BON  |  DUNNETT  |  NELSON  |  NONE  |  SCHEFFE  |  SIDAK  |  SIMULATE&lt;(*sim-options*)&gt; |  SMM  |  GT2  |  TUKEY  |  T\",\"type\":\"choice\",\"arguments\":[{\"name\":\"BON\",\"followsDelimiter\":\"/\",\"description\":\"performs Bonferroni t tests of differences between LS-means.\",\"type\":\"standalone\"},{\"name\":\"DUNNETT\",\"followsDelimiter\":\"/\",\"description\":\"performs Dunnett's t test, which tests whether any treatments are significantly different from a single control\",\"type\":\"standalone\"},{\"name\":\"NELSON\",\"followsDelimiter\":\"/\",\"description\":\"performs Nelson's t test of each LS-mean against an average of the LS-means\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"followsDelimiter\":\"/\",\"description\":\"performs no adjustment for multiple comparisons.\",\"type\":\"standalone\"},{\"name\":\"T\",\"followsDelimiter\":\"/\",\"description\":\"performs no adjustment for multiple comparisons.\",\"type\":\"standalone\"},{\"name\":\"SCHEFFE\",\"followsDelimiter\":\"/\",\"description\":\"performs Scheffe's multiple comparison procedure.\",\"type\":\"standalone\"},{\"name\":\"SIDAK\",\"followsDelimiter\":\"/\",\"description\":\"performs pairwise t tests on differences between LS-means with levels adjusted according to Sidak's inequality.\",\"type\":\"standalone\"},{\"name\":\"SIMULATE\",\"followsDelimiter\":\"/\",\"description\":\"performs the simulation-based multiple comparison procedure.\",\"help\":\"SIMULATE&lt;( *simopts* )&gt;\",\"type\":\"standaloneOrValue\",\"arguments\":[{\"name\":\"ACC=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the target accuracy radius for the true probability content\",\"help\":\"ACC=*value*\",\"type\":\"value\"},{\"name\":\"EPS=\",\"followsDelimiter\":\"/\",\"description\":\"specifies a 100 (1-ε) confidence interval for the true probability content of the estimated (1-α) quantile.\",\"help\":\"EPS=*value*\",\"type\":\"value\"},{\"name\":\"NSAMP=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the sample size for the simulation.\",\"help\":\"NSAMP=*n*\",\"type\":\"value\"},{\"name\":\"SEED=\",\"followsDelimiter\":\"/\",\"description\":\"specifies an integer to be used to start the pseudorandom number generator for the simulation.\",\"help\":\"SEED=*number*\",\"type\":\"value\"},{\"name\":\"THREADS\",\"followsDelimiter\":\"/\",\"description\":\"specifies that the computational work for the simulation be divided into parallel threads\",\"type\":\"standalone\"},{\"name\":\"NOTHREADS\",\"followsDelimiter\":\"/\",\"description\":\"specifies that the computational work for the simulation be performed in sequence\",\"type\":\"standalone\"}]},{\"name\":\"SMM\",\"followsDelimiter\":\"/\",\"description\":\"performs pairwise comparisons based on the studentized maximum modulus and Sidak's uncorrelated-t inequality\",\"type\":\"standalone\"},{\"name\":\"GT2\",\"followsDelimiter\":\"/\",\"description\":\"performs pairwise comparisons based on the studentized maximum modulus and Sidak's uncorrelated-t inequality\",\"type\":\"standalone\"},{\"name\":\"TUKEY\",\"followsDelimiter\":\"/\",\"description\":\"performs Tukey's studentized range test on LS-means.\",\"type\":\"standalone\"}]},{\"name\":\"ALPHA=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"determines the confidence level\",\"help\":\"ALPHA=*value*\",\"type\":\"value\"},{\"name\":\"STEPDOWN\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"adjusts multiple-comparison p-values further in a step-down fashion\",\"help\":\"STEPDOWN&lt;(*step-down-options*)&gt;\",\"type\":\"standaloneOrValue\",\"arguments\":[{\"name\":\"MAXTIME=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the time (in seconds) for TYPE=LOGICAL.\",\"help\":\"MAXTIME=*n*\",\"type\":\"value\"},{\"name\":\"REPORT\",\"followsDelimiter\":\"/\",\"description\":\"specifies that a report on the step-down adjustment be displayed\",\"type\":\"standalone\"},{\"name\":\"TYPE=\",\"followsDelimiter\":\"/\",\"description\":\"uses maximal logically consistent sequential subsets of equality hypotheses\",\"help\":\"TYPE=LOGICAL&lt;(*n*)&gt;\",\"type\":\"standaloneOrValue\"},{\"name\":\"TYPE=\",\"followsDelimiter\":\"/\",\"description\":\"computes sequential subsets ignoring logical constraints.\",\"help\":\"TYPE=FREE\",\"type\":\"value\"}]},{\"name\":\"ASC\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"sorts LS-means in ascending order in results that you display by specifying the LINES option\",\"type\":\"standalone\"},{\"name\":\"CL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"constructs confidence limits for means and mean differences\",\"type\":\"standalone\"},{\"name\":\"CORR\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"displays the correlation matrix of LS-means\",\"type\":\"standalone\"},{\"name\":\"COV\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"displays the covariance matrix of LS-means\",\"type\":\"standalone\"},{\"name\":\"E\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"prints the L matrix\",\"type\":\"standalone\"},{\"name\":\"LINES\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"uses connecting lines to indicate nonsignificantly different subsets of LS-means\",\"type\":\"standalone\"},{\"name\":\"LINESTABLE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"displays the results of the LINES option as a table\",\"type\":\"standalone\"},{\"name\":\"MEANS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"prints the LS-means\",\"type\":\"standalone\"},{\"name\":\"PLOTS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"produces graphs of means and mean comparisons\",\"help\":\"PLOTS&lt;=(*plot-request*&lt;(*options*)&gt;&lt;...&gt;)&gt;\",\"type\":\"standaloneOrValue\",\"arguments\":[{\"name\":\"ALL\",\"followsDelimiter\":\"/\",\"description\":\"requests the default plots\",\"type\":\"standalone\"},{\"name\":\"ANOMPLOT\",\"followsDelimiter\":\"/\",\"description\":\"requests an analysis-of-means display\",\"type\":\"standalone\"},{\"name\":\"BOXPLOT\",\"followsDelimiter\":\"/\",\"description\":\"produces box plots of the distribution of the least squares mean or least squares mean differences\",\"help\":\"BOXPLOT&lt;boxplot-options&gt;\",\"type\":\"standaloneOrValue\",\"arguments\":[{\"name\":\"ORIENTATION=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the orientation of the boxes\",\"help\":\"ORIENTATION=VERTICAL | HORIZONTAL\",\"type\":\"choice\"},{\"name\":\"NPANELPOS=\",\"followsDelimiter\":\"/\",\"description\":\"specifies how to break the series of box plots across multiple panels.\",\"help\":\"NPANELPOS=*number*\",\"type\":\"value\"}]},{\"name\":\"CONTROLPLOT\",\"followsDelimiter\":\"/\",\"description\":\"requests a display in which least squares means are visually compared against a reference level.\",\"type\":\"standalone\"},{\"name\":\"DIFFOGRAM\",\"followsDelimiter\":\"/\",\"description\":\"requests a display of all pairwise least squares mean differences and their significance.\",\"help\":\"DIFFOGRAM&lt;(*diffplot-options*)&gt;\",\"type\":\"standaloneOrValue\",\"arguments\":[{\"name\":\"ABS\",\"followsDelimiter\":\"/\",\"description\":\"all line segments are shown on the same side of the reference line.\",\"type\":\"standalone\"},{\"name\":\"NOABS\",\"followsDelimiter\":\"/\",\"description\":\"separates comparisons according to the sign of the difference.\",\"type\":\"standalone\"},{\"name\":\"CENTER\",\"followsDelimiter\":\"/\",\"description\":\"marks the center point for each comparison\",\"type\":\"standalone\"},{\"name\":\"NOLINES\",\"followsDelimiter\":\"/\",\"description\":\"suppresses the display of the line segments that represent the confidence bounds for the differences of the least squares means\",\"type\":\"standalone\"}]},{\"name\":\"DISTPLOT\",\"followsDelimiter\":\"/\",\"description\":\"generates panels of histograms with a kernel density overlaid if the analysis has access to a set of posterior parameter estimates.\",\"help\":\"DISTPLOT&lt;distplot-options&gt;\",\"type\":\"standaloneOrValue\",\"arguments\":[{\"name\":\"BOX\",\"followsDelimiter\":\"/\",\"description\":\"controls the display of a horizontal box plot\",\"type\":\"standalone\"},{\"name\":\"NOBOX\",\"followsDelimiter\":\"/\",\"description\":\"controls the display of a horizontal box plot\",\"type\":\"standalone\"},{\"name\":\"HIST\",\"followsDelimiter\":\"/\",\"description\":\"controls the display of the histogram\",\"type\":\"standalone\"},{\"name\":\"NOHIST\",\"followsDelimiter\":\"/\",\"description\":\"controls the display of the histogram\",\"type\":\"standalone\"},{\"name\":\"NORMAL\",\"followsDelimiter\":\"/\",\"description\":\"controls the display of a normal density estimate\",\"type\":\"standalone\"},{\"name\":\"NONORMAL\",\"followsDelimiter\":\"/\",\"description\":\"controls the display of a normal density estimate\",\"type\":\"standalone\"},{\"name\":\"KERNEL\",\"followsDelimiter\":\"/\",\"description\":\"controls the display of a kernel density estimate\",\"type\":\"standalone\"},{\"name\":\"NOKERNEL\",\"followsDelimiter\":\"/\",\"description\":\"controls the display of a kernel density estimate\",\"type\":\"standalone\"},{\"name\":\"NROWS=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the highest number of rows in a panel.\",\"help\":\"NROWS=*number*\",\"type\":\"value\"},{\"name\":\"NCOLS=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the highest number of columns in a panel\",\"help\":\"NCOLS=*number*\",\"type\":\"value\"},{\"name\":\"UNPACK\",\"followsDelimiter\":\"/\",\"description\":\"unpacks the panel into separate graphics.\",\"type\":\"standalone\"}]},{\"name\":\"LINESPLOT\",\"followsDelimiter\":\"/\",\"description\":\"modifies the dimensions of the LS-means comparison plot that is produced by the LINES option.\",\"help\":\"LINESPLOT&lt;(options)&gt;\",\"type\":\"standaloneOrValue\",\"arguments\":[{\"name\":\"HSCALE=\",\"followsDelimiter\":\"/\",\"description\":\"scales the default height of the plot\",\"help\":\"HSCALE=*hfactor*\",\"type\":\"value\"},{\"name\":\"WSCALE=\",\"followsDelimiter\":\"/\",\"description\":\"scales the default width of the plot\",\"help\":\"WSCALE=*wfactor*\",\"type\":\"value\"}]},{\"name\":\"MEANPLOT\",\"followsDelimiter\":\"/\",\"description\":\"requests displays of the least squares means.\",\"help\":\"MEANPLOT&lt;(meanplot-options)&gt;\",\"type\":\"standaloneOrValue\",\"arguments\":[{\"name\":\"ASCENDING\",\"followsDelimiter\":\"/\",\"description\":\"displays the least squares means in ascending order.\",\"type\":\"standalone\"},{\"name\":\"CL\",\"followsDelimiter\":\"/\",\"description\":\"displays upper and lower confidence limits\",\"type\":\"standalone\"},{\"name\":\"CLBAND\",\"followsDelimiter\":\"/\",\"description\":\"displays confidence limits as bands.\",\"type\":\"standalone\"},{\"name\":\"DESCENDING\",\"followsDelimiter\":\"/\",\"description\":\"displays the least squares means in descending order.\",\"type\":\"standalone\"},{\"name\":\"ILINK\",\"followsDelimiter\":\"/\",\"description\":\"requests that means be displayed on the inverse linked scale.\",\"type\":\"standalone\"},{\"name\":\"JOIN\",\"followsDelimiter\":\"/\",\"description\":\"connects the least squares means with lines.\",\"type\":\"standalone\"},{\"name\":\"CONNECT\",\"followsDelimiter\":\"/\",\"description\":\"connects the least squares means with lines.\",\"type\":\"standalone\"},{\"name\":\"SLICEBY=\",\"followsDelimiter\":\"/\",\"description\":\"specifies an effect by which to group the means in a single plot.\",\"help\":\"SLICEBY=*fixed-effect*\",\"type\":\"value\"},{\"name\":\"PLOTBY=\",\"followsDelimiter\":\"/\",\"description\":\"specifies an effect by which to break interaction plots into separate displays.\",\"help\":\"PLOTBY=*fixed-effect*\",\"type\":\"value\"}]},{\"name\":\"NONE\",\"followsDelimiter\":\"/\",\"description\":\"requests that no plots be produced.\",\"type\":\"standalone\"}]},{\"name\":\"SEED=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the seed for computations that depend on random numbers\",\"help\":\"SEED=*number*\",\"type\":\"value\"},{\"name\":\"EXP\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"exponentiates and displays estimates of LS-means or LS-means differences\",\"type\":\"standalone\"},{\"name\":\"ILINK\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"computes and displays estimates and standard errors of LS-means (but not differences) on the inverse linked scale\",\"type\":\"standalone\"},{\"name\":\"ODDSRATIO\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"reports (simple) differences of least squares means in terms of odds ratios if permitted by the link function\",\"type\":\"standalone\"}]},{\"name\":\"LSMESTIMATE\",\"description\":\"provides a mechanism for obtaining custom hypothesis tests among least squares means\",\"help\":\"LSMESTIMATE  model-effect &lt;'label'&gt; values &lt;DIVISOR=n&gt;&lt;,...&lt;'label'&gt; values &lt;DIVISOR=n&gt;&gt;&lt;/ options&gt;;                                              \",\"arguments\":[{\"name\":\"AT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"modifies covariate values in computing LS-means\",\"help\":\"AT *at-specification*\",\"type\":\"value\",\"arguments\":[{\"name\":\"MEANS\",\"followsDelimiter\":\"/\",\"description\":\"sets covariates equal to their mean values\",\"type\":\"standalone\"},{\"name\":\"variable=\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"sets the covariate variable equal to value.\",\"help\":\"*variable*=*value*\",\"type\":\"value\"},{\"name\":\"(variable-list)=(value-list)\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"sets covariates in the variable-list equal to values in the value-list.\",\"type\":\"value\"}]},{\"name\":\"BYLEVEL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"computes separate margins\",\"type\":\"standalone\"},{\"name\":\"DIVISOR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a list of values to divide the coefficients\",\"help\":\"DIVISOR=*value-list*\",\"type\":\"value\"},{\"name\":\"OM=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the weighting scheme for LS-means computation as determined by a data set\",\"help\":\"OM=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"SINGULAR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"tunes estimability checking\",\"help\":\"SINGULAR=*value*\",\"type\":\"value\"},{\"name\":\"ADJUST=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"determines the method of multiple-comparison adjustment of LS-means differences\",\"help\":\"ADJUST=BON  |  SCHEFFE  |  SIDAK  |  SIMULATE&lt;(*sim-options*)&gt; |  T\",\"type\":\"choice\",\"arguments\":[{\"name\":\"BON\",\"followsDelimiter\":\"/\",\"description\":\"performs Bonferroni t tests of differences between LS-means.\",\"type\":\"standalone\"},{\"name\":\"T\",\"followsDelimiter\":\"/\",\"description\":\"performs no adjustment for multiple comparisons.\",\"type\":\"standalone\"},{\"name\":\"SCHEFFE\",\"followsDelimiter\":\"/\",\"description\":\"performs Scheffe's multiple comparison procedure.\",\"type\":\"standalone\"},{\"name\":\"SIDAK\",\"followsDelimiter\":\"/\",\"description\":\"performs pairwise t tests on differences between LS-means with levels adjusted according to Sidak's inequality.\",\"type\":\"standalone\"},{\"name\":\"SIMULATE\",\"followsDelimiter\":\"/\",\"description\":\"performs the simulation-based multiple comparison procedure.\",\"help\":\"SIMULATE&lt;( *simopts* )&gt;\",\"type\":\"standaloneOrValue\",\"arguments\":[{\"name\":\"ACC=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the target accuracy radius for the true probability content\",\"help\":\"ACC=*value*\",\"type\":\"value\"},{\"name\":\"EPS=\",\"followsDelimiter\":\"/\",\"description\":\"specifies a 100 (1-ε) confidence interval for the true probability content of the estimated (1-α) quantile.\",\"help\":\"EPS=*value*\",\"type\":\"value\"},{\"name\":\"NSAMP=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the sample size for the simulation.\",\"help\":\"NSAMP=*n*\",\"type\":\"value\"},{\"name\":\"SEED=\",\"followsDelimiter\":\"/\",\"description\":\"specifies an integer to be used to start the pseudorandom number generator for the simulation.\",\"help\":\"SEED=*number*\",\"type\":\"value\"},{\"name\":\"THREADS\",\"followsDelimiter\":\"/\",\"description\":\"specifies that the computational work for the simulation be divided into parallel threads\",\"type\":\"standalone\"},{\"name\":\"NOTHREADS\",\"followsDelimiter\":\"/\",\"description\":\"specifies that the computational work for the simulation be performed in sequence\",\"type\":\"standalone\"}]}]},{\"name\":\"ALPHA=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"determines the confidence level\",\"help\":\"ALPHA=*value*\",\"type\":\"value\"},{\"name\":\"LOWER\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"performs one-sided, lower-tailed inference\",\"type\":\"standalone\"},{\"name\":\"STEPDOWN\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"adjusts multiple-comparison p-values further in a step-down fashion\",\"type\":\"standalone\"},{\"name\":\"TESTVALUE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies values under the null hypothesis for tests\",\"help\":\"TESTVALUE=*value-list*\",\"type\":\"value\"},{\"name\":\"UPPER\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"performs one-sided, upper-tailed inference\",\"type\":\"standalone\"},{\"name\":\"CL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"constructs confidence limits for means and mean differences\",\"type\":\"standalone\"},{\"name\":\"CORR\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"displays the correlation matrix of LS-means\",\"type\":\"standalone\"},{\"name\":\"COV\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"displays the covariance matrix of LS-means\",\"type\":\"standalone\"},{\"name\":\"E\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"prints the L matrix\",\"type\":\"standalone\"},{\"name\":\"ELSM\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"prints the K matrix\",\"type\":\"standalone\"},{\"name\":\"JOINT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"produces a joint F or chi-square test for the LS-means and LS-means differences\",\"type\":\"standalone\",\"arguments\":[{\"name\":\"ACC=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the accuracy radius for determining the necessary sample size for tests with order restrictions\",\"help\":\"ACC=*value*\",\"type\":\"value\"},{\"name\":\"EPS=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the accuracy confidence level for determining the necessary sample size for F tests with order restrictions\",\"help\":\"EPS=*value*\",\"type\":\"value\"},{\"name\":\"LABEL=\",\"followsDelimiter\":\"/\",\"description\":\"assigns an identifying label to the joint test\",\"help\":\"LABEL='*label*'\",\"type\":\"value\"},{\"name\":\"NOEST\",\"followsDelimiter\":\"/\",\"description\":\"performs only the joint test\",\"type\":\"standalone\"},{\"name\":\"ONLY\",\"followsDelimiter\":\"/\",\"description\":\"performs only the joint test\",\"type\":\"standalone\"},{\"name\":\"NSAMP=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the sample size for the simulation.\",\"help\":\"NSAMP=*n*\",\"type\":\"value\"},{\"name\":\"BOUNDS=\",\"followsDelimiter\":\"/\",\"description\":\"specifies boundary values for the estimable linear function\",\"help\":\"BOUNDS=*value-list*\",\"type\":\"value\"}]},{\"name\":\"PLOTS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"produces graphs of means and mean comparisons\",\"help\":\"PLOTS=*plot-options*\",\"type\":\"value\",\"arguments\":[{\"name\":\"ALL\",\"followsDelimiter\":\"/\",\"description\":\"requests the default plots\",\"type\":\"standalone\"},{\"name\":\"ANOMPLOT\",\"followsDelimiter\":\"/\",\"description\":\"requests an analysis-of-means display\",\"type\":\"standalone\"},{\"name\":\"BOXPLOT\",\"followsDelimiter\":\"/\",\"description\":\"produces box plots of the estimable function across the posterior sample.\",\"help\":\"BOXPLOT&lt;boxplot-options&gt;\",\"type\":\"standaloneOrValue\",\"arguments\":[{\"name\":\"ORIENTATION=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the orientation of the boxes\",\"help\":\"ORIENTATION=VERTICAL | HORIZONTAL\",\"type\":\"choice\"},{\"name\":\"NPANELPOS=\",\"followsDelimiter\":\"/\",\"description\":\"specifies how to break the series of box plots across multiple panels.\",\"help\":\"NPANELPOS=*number*\",\"type\":\"value\"}]},{\"name\":\"DISTPLOT\",\"followsDelimiter\":\"/\",\"description\":\"generates panels of histograms with a kernel density overlaid\",\"help\":\"DISTPLOT&lt;distplot-options&gt;\",\"type\":\"standaloneOrValue\",\"arguments\":[{\"name\":\"BOX\",\"followsDelimiter\":\"/\",\"description\":\"controls the display of a horizontal box plot\",\"type\":\"standalone\"},{\"name\":\"NOBOX\",\"followsDelimiter\":\"/\",\"description\":\"controls the display of a horizontal box plot\",\"type\":\"standalone\"},{\"name\":\"HIST\",\"followsDelimiter\":\"/\",\"description\":\"controls the display of the histogram\",\"type\":\"standalone\"},{\"name\":\"NOHIST\",\"followsDelimiter\":\"/\",\"description\":\"controls the display of the histogram\",\"type\":\"standalone\"},{\"name\":\"NORMAL\",\"followsDelimiter\":\"/\",\"description\":\"controls the display of a normal density estimate\",\"type\":\"standalone\"},{\"name\":\"NONORMAL\",\"followsDelimiter\":\"/\",\"description\":\"controls the display of a normal density estimate\",\"type\":\"standalone\"},{\"name\":\"KERNEL\",\"followsDelimiter\":\"/\",\"description\":\"controls the display of a kernel density estimate\",\"type\":\"standalone\"},{\"name\":\"NOKERNEL\",\"followsDelimiter\":\"/\",\"description\":\"controls the display of a kernel density estimate\",\"type\":\"standalone\"},{\"name\":\"NROWS=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the highest number of rows in a panel.\",\"help\":\"NROWS=*number*\",\"type\":\"value\"},{\"name\":\"NCOLS=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the highest number of columns in a panel\",\"help\":\"NCOLS=*number*\",\"type\":\"value\"},{\"name\":\"UNPACK\",\"followsDelimiter\":\"/\",\"description\":\"unpacks the panel into separate graphics.\",\"type\":\"standalone\"}]},{\"name\":\"NONE\",\"followsDelimiter\":\"/\",\"description\":\"requests that no plots be produced.\",\"type\":\"standalone\"}]},{\"name\":\"SEED=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the seed for computations that depend on random numbers\",\"help\":\"SEED=*number*\",\"type\":\"value\"},{\"name\":\"CATEGORY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies how to construct estimable functions for multinomial data\",\"help\":\"CATEGORY=JOINT | SEPARATE | *quoted-value-list*\",\"type\":\"value\"},{\"name\":\"EXP\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"exponentiates and displays LS-means estimates\",\"type\":\"standalone\"},{\"name\":\"ILINK\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"computes and displays estimates and standard errors of LS-means (but not differences) on the inverse linked scale\",\"type\":\"standalone\"}]},{\"name\":\"MARGINS\",\"description\":\"computes and compares predictive margins of fixed effects\",\"help\":\"MARGINS  model-effects &lt;/ options&gt;;                                              \",\"arguments\":[{\"name\":\"AT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"modifies the covariate value in computing predictive margins\",\"type\":\"standalone\",\"arguments\":[{\"name\":\"MEANS\",\"followsDelimiter\":\"/\",\"description\":\"sets covariates equal to their mean values\",\"type\":\"standalone\"},{\"name\":\"variable=\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"sets the covariate variable equal to value.\",\"help\":\"*variable*=*value*\",\"type\":\"value\"},{\"name\":\"(variable-list)=(value-list)\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"sets covariates in the variable-list equal to values in the value-list.\",\"type\":\"value\"}]},{\"name\":\"DIFF\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"computes differences of predictive margins\",\"help\":\"DIFF =*difftype*\",\"type\":\"value\",\"arguments\":[{\"name\":\"ALL\",\"followsDelimiter\":\"/\",\"description\":\"displays all pairwise differences.\",\"type\":\"standalone\"},{\"name\":\"CONTROL\",\"followsDelimiter\":\"/\",\"description\":\"produces two-tailed tests and confidence limits for differences with a control\",\"help\":\"CONTROL&lt;('level1'&lt;,'level2'...&gt;)&gt;\",\"type\":\"standaloneOrValue\"},{\"name\":\"CONTROLL\",\"followsDelimiter\":\"/\",\"description\":\"produces one-tailed results and tests whether the noncontrol levels are significantly smaller than the control.\",\"help\":\"CONTROLL&lt;('level1'&lt;,'level2'...&gt;)&gt;\",\"type\":\"standaloneOrValue\"},{\"name\":\"CONTROLU\",\"followsDelimiter\":\"/\",\"description\":\"produces one-tailed results and tests whether the noncontrol levels are significantly larger than the control\",\"help\":\"CONTROLU&lt;('level1'&lt;,'level2'...&gt;)&gt;\",\"type\":\"standaloneOrValue\"}]},{\"name\":\"SLICEBY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"partitions tests of interaction effects\",\"help\":\"SLICEBY=(*fixed-effects*)\",\"type\":\"value\"},{\"name\":\"SLICEDIFF\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"computes differences of sliced predictive margins and determines the types of differences\",\"help\":\"SLICEDIFF&lt;=*difftype*&gt;\",\"type\":\"standaloneOrValue\",\"arguments\":[{\"name\":\"ALL\",\"followsDelimiter\":\"/\",\"description\":\"displays all pairwise differences.\",\"type\":\"standalone\"},{\"name\":\"CONTROL\",\"followsDelimiter\":\"/\",\"description\":\"produces two-tailed tests and confidence limits for differences with a control\",\"help\":\"CONTROL&lt;('level1'&lt;,'level2'...&gt;)&gt;\",\"type\":\"standaloneOrValue\"},{\"name\":\"CONTROLL\",\"followsDelimiter\":\"/\",\"description\":\"produces one-tailed results and tests whether the noncontrol levels are significantly smaller than the control.\",\"help\":\"CONTROLL&lt;('level1'&lt;,'level2'...&gt;)&gt;\",\"type\":\"standaloneOrValue\"},{\"name\":\"CONTROLU\",\"followsDelimiter\":\"/\",\"description\":\"produces one-tailed results and tests whether the noncontrol levels are significantly larger than the control.\",\"help\":\"CONTROLU&lt;('level1'&lt;,'level2'...&gt;)&gt;\",\"type\":\"standaloneOrValue\"}]},{\"name\":\"USEWEIGHT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies whether to use WEIGHT variables to compute predictive margins\",\"help\":\"USEWEIGHT&lt;=TRUE | FALSE&gt;\",\"type\":\"standaloneOrValue\"},{\"name\":\"WEIGHT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies whether to use WEIGHT variables to compute predictive margins\",\"help\":\"WEIGHT&lt;=TRUE | FALSE&gt;\",\"type\":\"standaloneOrValue\"},{\"name\":\"ADJUST=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the method of multiple comparison adjustment of predictive margin differences\",\"help\":\"ADJUST=BON  |  DUNNETT  |  SCHEFFE  |  SIDAK  |  SIMULATE&lt;(*options*)&gt; |  SMM  |  GT2  |  TUKEY\",\"type\":\"choice\",\"arguments\":[{\"name\":\"BON\",\"followsDelimiter\":\"/\",\"description\":\"performs Bonferroni t tests of differences between LS-means.\",\"type\":\"standalone\"},{\"name\":\"DUNNETT\",\"followsDelimiter\":\"/\",\"description\":\"performs Dunnett's t test, which tests whether any treatments are significantly different from a single control\",\"type\":\"standalone\"},{\"name\":\"SCHEFFE\",\"followsDelimiter\":\"/\",\"description\":\"performs Scheffe's multiple comparison procedure.\",\"type\":\"standalone\"},{\"name\":\"SIDAK\",\"followsDelimiter\":\"/\",\"description\":\"performs pairwise t tests on differences between LS-means with levels adjusted according to Sidak's inequality.\",\"type\":\"standalone\"},{\"name\":\"SIMULATE\",\"followsDelimiter\":\"/\",\"description\":\"performs the simulation-based multiple comparison procedure.\",\"help\":\"SIMULATE&lt;( *simopts* )&gt;\",\"type\":\"standaloneOrValue\",\"arguments\":[{\"name\":\"ACC=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the target accuracy radius for the true probability content\",\"help\":\"ACC=*value*\",\"type\":\"value\"},{\"name\":\"EPS=\",\"followsDelimiter\":\"/\",\"description\":\"specifies a 100 (1-ε) confidence interval for the true probability content of the estimated (1-α) quantile.\",\"help\":\"EPS=*value*\",\"type\":\"value\"},{\"name\":\"NSAMP=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the sample size for the simulation.\",\"help\":\"NSAMP=*n*\",\"type\":\"value\"},{\"name\":\"SEED=\",\"followsDelimiter\":\"/\",\"description\":\"specifies an integer to be used to start the pseudorandom number generator for the simulation.\",\"help\":\"SEED=*number*\",\"type\":\"value\"},{\"name\":\"THREADS\",\"followsDelimiter\":\"/\",\"description\":\"specifies that the computational work for the simulation be divided into parallel threads\",\"type\":\"standalone\"},{\"name\":\"NOTHREADS\",\"followsDelimiter\":\"/\",\"description\":\"specifies that the computational work for the simulation be performed in sequence\",\"type\":\"standalone\"},{\"name\":\"TIMEINC=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the time interval to report on sampling progress (in seconds)\",\"help\":\"TIMEINC=*seconds*\",\"type\":\"value\"},{\"name\":\"CVADJUST\",\"followsDelimiter\":\"/\",\"description\":\"specifies that the quantile should be estimated by the control variate adjustment method\",\"type\":\"standalone\"}]},{\"name\":\"SMM\",\"followsDelimiter\":\"/\",\"description\":\"performs pairwise comparisons based on the studentized maximum modulus and Sidak's uncorrelated-t inequality\",\"type\":\"standalone\"},{\"name\":\"GT2\",\"followsDelimiter\":\"/\",\"description\":\"performs pairwise comparisons based on the studentized maximum modulus and Sidak's uncorrelated-t inequality\",\"type\":\"standalone\"},{\"name\":\"TUKEY\",\"followsDelimiter\":\"/\",\"description\":\"performs Tukey's studentized range test on LS-means.\",\"type\":\"standalone\"}]},{\"name\":\"ALPHA=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the confidence level\",\"help\":\"ALPHA=α\",\"type\":\"value\"},{\"name\":\"STEPDOWN\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"adjusts multiple comparison p-values further in a step-down fashion\",\"help\":\"STEPDOWN&lt;(*step-down-options*)&gt;\",\"type\":\"standaloneOrValue\",\"arguments\":[{\"name\":\"MAXTIME=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the time (in seconds) for TYPE=LOGICAL.\",\"help\":\"MAXTIME=*n*\",\"type\":\"value\"},{\"name\":\"TYPE=\",\"followsDelimiter\":\"/\",\"description\":\"uses maximal logically consistent sequential subsets of equality hypotheses\",\"help\":\"TYPE=LOGICAL&lt;(*n*)&gt;\",\"type\":\"standaloneOrValue\"},{\"name\":\"TYPE=\",\"followsDelimiter\":\"/\",\"description\":\"computes sequential subsets ignoring logical constraints.\",\"help\":\"TYPE=FREE\",\"type\":\"value\"}]},{\"name\":\"CL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"constructs confidence limits for predictive margins and/or predictive margin differences\",\"type\":\"standalone\"}]},{\"name\":\"MODEL\",\"description\":\"names the response variable and the explanatory effects, including covariates, main effects, interactions, and nested effects\",\"help\":\"<label:>MODEL  variable<(variable_options)> = <effects></ options>;                                              \\n<label:>MODEL  events/trials = <effects></ options>\",\"arguments\":[{\"name\":\"ABSFCONV=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the absolute function convergence criterion\",\"help\":\"ABSFCONV=*value*\",\"type\":\"value\"},{\"name\":\"AGGREGATE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the subpopulations on which the Pearson chi-square test statistic and the likelihood ratio chi-square test statistic (deviance) are calculated\",\"help\":\"AGGREGATE&lt;=(*variable-list*)&gt;\",\"type\":\"standaloneOrValue\"},{\"name\":\"ALPHA=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"sets the level of significance α for 100(1-α)% confidence intervals for regression parameters or odds ratios\",\"help\":\"ALPHA=*number*\",\"type\":\"value\"},{\"name\":\"BEST=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that number models with the highest score chi-square statistics are to be displayed for each model size\",\"help\":\"BEST=*number*\",\"type\":\"value\"},{\"name\":\"BINWIDTH=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the size of the bins used for estimating the association statistics\",\"help\":\"BINWIDTH=*width*\",\"type\":\"value\"},{\"name\":\"CLODDS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"produces confidence intervals for odds ratios of main effects not involved in interactions or nestings\",\"help\":\"CLODDS=PL | WALD | BOTH\",\"type\":\"choice\"},{\"name\":\"CLPARM=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"requests confidence intervals for the parameters\",\"help\":\"CLPARM=PL | WALD | BOTH\",\"type\":\"choice\"},{\"name\":\"CORRB\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"displays the correlation matrix of the parameter estimates\",\"type\":\"standalone\"},{\"name\":\"COVB\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"displays the covariance matrix of the parameter estimates\",\"type\":\"standalone\"},{\"name\":\"CTABLE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"classifies the input binary response observations according to whether the predicted event probabilities are above or below some cutpoint value z in the range (0,1)\",\"type\":\"standalone\"},{\"name\":\"DETAILS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"produces a summary of computational details for each step of the effect selection process\",\"type\":\"standalone\"},{\"name\":\"EQUALSLOPES\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies one or more effects that have the same parameters for each response function in a polytomous response model\",\"help\":\"EQUALSLOPES&lt;=*effect* | (*effect-list*)&gt;\",\"type\":\"standaloneOrValue\"},{\"name\":\"EXPB\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"EXPEST\"],\"description\":\"displays the exponentiated values of the parameter estimates in the \\\"Analysis of Maximum Likelihood Estimates\\\" table for the logit model\",\"type\":\"standalone\"},{\"name\":\"FAST\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"uses a computational algorithm of to compute a first-order approximation to the remaining slope estimates for each subsequent elimination of a variable from the model\",\"type\":\"standalone\"},{\"name\":\"FCONV=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the relative function convergence criterion\",\"help\":\"FCONV=*value*\",\"type\":\"value\"},{\"name\":\"FIRTH\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"performs Firth's penalized maximum likelihood estimation to reduce bias in the parameter estimates\",\"type\":\"standalone\"},{\"name\":\"GCONV=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the relative gradient convergence criterion\",\"help\":\"GCONV=*value*\",\"type\":\"value\"},{\"name\":\"GOF\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"performs goodness-of-fit tests for specified or selected binary response models and displays more fit statistics\",\"help\":\"GOF&lt;(*gof-options*)&gt;\",\"type\":\"standaloneOrValue\",\"arguments\":[{\"name\":\"CUTPOINT=\",\"followsDelimiter\":\"/\",\"description\":\"specifies a value between 0 and 1 for which observations that have a larger predicted probability are classified as events and observations that have a smaller predicted probability are classified as nonevents\",\"help\":\"CUTPOINT=*number*\",\"type\":\"value\"},{\"name\":\"NOLACKFIT\",\"followsDelimiter\":\"/\",\"description\":\"suppresses the LACKFIT computations\",\"type\":\"standalone\"},{\"name\":\"NOPLOT\",\"followsDelimiter\":\"/\",\"description\":\"suppresses the calibration plots\",\"type\":\"standalone\"},{\"name\":\"NOSTAT\",\"followsDelimiter\":\"/\",\"description\":\"displays the standard \\\"Model Fit Statistics\\\" table\",\"type\":\"standalone\"}]},{\"name\":\"HALFMAX=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the maximum number of step halvings to use when you also specify the RIDGING=NONE option\",\"help\":\"HALFMAX=*number*\",\"type\":\"value\"},{\"name\":\"HIERARCHY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"HIER=\"],\"description\":\"specifies whether and how the model hierarchy requirement is applied and whether a single effect or multiple effects are allowed to enter or leave the model in one step\",\"help\":\"HIERARCHY=*keyword*\",\"type\":\"value\",\"arguments\":[{\"name\":\"NONE\",\"followsDelimiter\":\"/\",\"description\":\"indicates that the model hierarchy is not maintained. Any single effect can enter or leave the model at any given step of the selection process.\",\"type\":\"standalone\"},{\"name\":\"SINGLE\",\"followsDelimiter\":\"/\",\"description\":\"indicates that only one effect can enter or leave the model at one time, subject to the model hierarchy requirement.\",\"type\":\"standalone\"},{\"name\":\"SINGLECLASS\",\"followsDelimiter\":\"/\",\"description\":\"is the same as HIERARCHY=SINGLE except that only CLASS effects are subject to the hierarchy requirement.\",\"type\":\"standalone\"},{\"name\":\"MULTIPLE\",\"followsDelimiter\":\"/\",\"description\":\"indicates that more than one effect can enter or leave the model at one time, subject to the model hierarchy requirement.\",\"type\":\"standalone\"},{\"name\":\"MULTIPLECLASS\",\"followsDelimiter\":\"/\",\"description\":\"is the same as HIERARCHY=MULTIPLE except that only CLASS effects are subject to the hierarchy requirement.\",\"type\":\"standalone\"}]},{\"name\":\"INCLUDE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies effects in the MODEL statement to include in every model during model selection\",\"help\":\"INCLUDE=*number* | EQUALSLOPES\",\"type\":\"value\"},{\"name\":\"INFLUENCE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"displays diagnostic measures for identifying influential observations in the case of a binary or binomial response model\",\"help\":\"INFLUENCE&lt;(STDRES)&gt;\",\"type\":\"standaloneOrValue\"},{\"name\":\"IPLOTS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"produces an index plot for the regression diagnostic statistics developed by for binary or binomial response models\",\"type\":\"standalone\"},{\"name\":\"ITPRINT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"displays the iteration history of the maximum-likelihood model fitting\",\"type\":\"standalone\"},{\"name\":\"LACKFIT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"performs the Hosmer and Lemeshow goodness-of-fit test for binary and polytomous response models\",\"help\":\"LACKFIT&lt;(DF=*df* DFREDUCE=*r* NGROUPS=*G*)&gt;\",\"type\":\"standaloneOrValue\"},{\"name\":\"LINK=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"L=\"],\"description\":\"specifies the link function linking the response probabilities to the linear predictors\",\"help\":\"LINK=*keyword*\",\"type\":\"value\",\"arguments\":[{\"name\":\"ALOGIT\",\"followsDelimiter\":\"/\",\"description\":\"is the adjacent-category logit function for polytomous response models.\",\"type\":\"standalone\"},{\"name\":\"CLOGLOG\",\"followsDelimiter\":\"/\",\"description\":\"is the complementary log-log function.\",\"type\":\"standalone\"},{\"name\":\"GLOGIT\",\"followsDelimiter\":\"/\",\"description\":\"is the generalized logit function for polytomous response models.\",\"type\":\"standalone\"},{\"name\":\"LOGIT\",\"followsDelimiter\":\"/\",\"description\":\"is the log odds function.\",\"type\":\"standalone\"},{\"name\":\"PROBIT\",\"followsDelimiter\":\"/\",\"description\":\"is the inverse standard normal distribution function.\",\"type\":\"standalone\"}]},{\"name\":\"MAXFUNCTION=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the maximum number of function calls to perform when you are maximizing the likelihood\",\"help\":\"MAXFUNCTION=*number*\",\"type\":\"value\"},{\"name\":\"MAXITER=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the maximum number of iterations to perform\",\"help\":\"MAXITER=*number*\",\"type\":\"value\"},{\"name\":\"MAXSTEP=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the maximum number of times any explanatory variable is added to or removed from the model when SELECTION=STEPWISE\",\"help\":\"MAXSTEP=*number*\",\"type\":\"value\"},{\"name\":\"NOCHECK\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"disables the checking process to determine whether maximum likelihood estimates of the regression parameters exist\",\"type\":\"standalone\"},{\"name\":\"NODUMMYPRINT\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"NODESIGNPRINT\",\"NODP\"],\"description\":\"suppresses the \\\"Class Level Information\\\" table, which shows how the design matrix columns for the CLASS variables are coded\",\"type\":\"standalone\"},{\"name\":\"NOINT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses the intercept for the binary response model, the first intercept for the ordinal response model (which forces all intercepts to be nonnegative), or all intercepts for the generalized logit model\",\"type\":\"standalone\"},{\"name\":\"NOFIT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"performs the global score test without fitting the model\",\"type\":\"standalone\"},{\"name\":\"NOLOGSCALE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that computations for the conditional and exact logistic regression models should be computed by using normal scaling\",\"type\":\"standalone\"},{\"name\":\"NOODDSRATIO\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"NOOR\"],\"description\":\"suppresses the default \\\"Odds Ratio\\\" table\",\"type\":\"standalone\"},{\"name\":\"OFFSET=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"names the offset variable\",\"help\":\"OFFSET=*name*\",\"type\":\"value\"},{\"name\":\"ORPVALUE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"displays p-values in tables produced by the CLODDS= option and the ODDSRATIO statement\",\"type\":\"standalone\"},{\"name\":\"OUTROC=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"OUTR=\"],\"description\":\"creates, for binary response models, an output SAS data set that contains the data necessary to produce the receiver operating characteristic (ROC) curve\",\"help\":\"OUTROC=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"PARMLABEL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"displays the labels of the parameters in the \\\"Analysis of Maximum Likelihood Estimates\\\" table\",\"type\":\"standalone\"},{\"name\":\"PCORR\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"computes the partial correlation statistic for each parameter\",\"type\":\"standalone\"},{\"name\":\"PEVENT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies one prior probability or a list of prior probabilities for the event of interest\",\"help\":\"PEVENT=*value* | (*list*)\",\"type\":\"value\"},{\"name\":\"PLCL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"is the same as specifying CLPARM=PL\",\"type\":\"standalone\"},{\"name\":\"PLCONV=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"controls the convergence criterion for confidence intervals based on the profile-likelihood function\",\"help\":\"PLCONV=*value*\",\"type\":\"value\"},{\"name\":\"PLRL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"is the same as specifying CLODDS=PL\",\"type\":\"standalone\"},{\"name\":\"PPROB=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies one critical probability value (or cutpoint) or a list of critical probability values for classifying observations with the CTABLE option\",\"help\":\"PPROB=*value* | (*list*)\",\"type\":\"value\"},{\"name\":\"RIDGEINIT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the initial ridge value\",\"help\":\"RIDGEINIT=*number*\",\"type\":\"value\"},{\"name\":\"RIDGING=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the technique used to improve the log-likelihood function when its value in the current iteration is less than that in the previous iteration\",\"help\":\"RIDGING=ABSOLUTE | RELATIVE | NONE\",\"type\":\"choice\"},{\"name\":\"RISKLIMITS\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"RL\",\"WALDRL\"],\"description\":\"is the same as specifying CLODDS=WALD\",\"type\":\"standalone\"},{\"name\":\"ROCCI\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"displays standard errors and confidence limits for the area under the ROC curve (AUC) statistic when you have a binary response variable\",\"type\":\"standalone\"},{\"name\":\"ROCEPS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a criterion for the ROC and PR curves that is used for grouping estimated event probabilities that are close to each other\",\"help\":\"ROCEPS=*number*\",\"type\":\"value\"},{\"name\":\"RSQUARE\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"RSQ\"],\"description\":\"requests a generalized R-square measure for binary and polytomous response models\",\"type\":\"standalone\"},{\"name\":\"SCALE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"enables you to supply the value of the dispersion parameter or to specify the method for estimating the dispersion parameter\",\"help\":\"SCALE=*scale*\",\"type\":\"value\"},{\"name\":\"SELECTION=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the method used to select the variables in the model\",\"help\":\"SELECTION=BACKWARD | FORWARD | NONE | STEPWISE | SCORE\",\"type\":\"choice\"},{\"name\":\"SEQUENTIAL\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"SEQ\"],\"description\":\"forces effects to be added to the model in the order specified in the MODEL statement or eliminated from the model in the reverse order of that specified in the MODEL statement\",\"type\":\"standalone\"},{\"name\":\"SINGULAR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the tolerance for testing the singularity of the Hessian matrix (Newton-Raphson algorithm) or the expected value of the Hessian matrix (Fisher scoring algorithm)\",\"help\":\"SINGULAR=*value*\",\"type\":\"value\"},{\"name\":\"SLENTRY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"SLE=\"],\"description\":\"specifies the significance level of the score chi-square for entering an effect into the model in the FORWARD or STEPWISE method\",\"help\":\"SLENTRY=*value*\",\"type\":\"value\"},{\"name\":\"SLSTAY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"SLS=\"],\"description\":\"specifies the significance level of the Wald chi-square for an effect to stay in the model in a backward elimination step\",\"help\":\"SLSTAY=*value*\",\"type\":\"value\"},{\"name\":\"START=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies which effects in the MODEL statement are included in the initial model\",\"help\":\"START=*number* | EQUALSLOPES\",\"type\":\"value\"},{\"name\":\"STB\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"displays the standardized estimates for the parameters in the \\\"Analysis of Maximum Likelihood Estimates\\\" table\",\"type\":\"standalone\"},{\"name\":\"STOP=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the maximum (SELECTION=FORWARD) or minimum (SELECTION=BACKWARD) number of effects to be included in the final model\",\"help\":\"STOP=*number*\",\"type\":\"value\"},{\"name\":\"STOPRES\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"SR\"],\"description\":\"specifies that the removal or entry of effects be based on the value of the residual chi-square\",\"type\":\"standalone\"},{\"name\":\"TECHNIQUE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"TECH=\"],\"description\":\"specifies the optimization technique for estimating the regression parameters\",\"help\":\"TECHNIQUE=FISHER | NEWTON\",\"type\":\"choice\"},{\"name\":\"UNEQUALSLOPES\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies one or more effects in a model for which you want a different set of parameters for each response function in a polytomous response model\",\"help\":\"UNEQUALSLOPES&lt;=(*effect-list*)&gt;\",\"type\":\"standaloneOrValue\"},{\"name\":\"WALDCL\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"CL\"],\"description\":\"is the same as specifying CLPARM=WALD\",\"type\":\"standalone\"},{\"name\":\"XCONV=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the relative parameter convergence criterion\",\"help\":\"XCONV=*value*\",\"type\":\"value\"},{\"name\":\"DESCENDING\",\"optional\":true,\"aliases\":[\"DESC\"],\"description\":\"reverses the order of the response categories\",\"type\":\"standalone\"},{\"name\":\"EVENT=\",\"optional\":true,\"description\":\"specifies the event category for the binary response model\",\"help\":\"EVENT='*category*' | *keyword*\",\"type\":\"value\"},{\"name\":\"ORDER=\",\"optional\":true,\"description\":\"specifies the sort order for the levels of the response variable\",\"help\":\"ORDER= DATA | FORMATTED | FREQ | INTERNAL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DATA\",\"description\":\"Order of appearance in the input data set\",\"type\":\"standalone\"},{\"name\":\"FORMATTED\",\"description\":\"External formatted value, except for numeric variables with no explicit format, which are sorted by their unformatted (internal) value\",\"type\":\"standalone\"},{\"name\":\"FREQ\",\"description\":\"Descending frequency count; levels with the most observations come first in the order\",\"type\":\"standalone\"},{\"name\":\"INTERNAL\",\"description\":\"Unformatted value\",\"type\":\"standalone\"}]},{\"name\":\"REFERENCE=\",\"optional\":true,\"aliases\":[\"REF=\"],\"description\":\"specifies the reference category for the generalized logit model and the binary response model\",\"help\":\"REFERENCE='*category*' | *keyword*\",\"type\":\"value\",\"arguments\":[{\"name\":\"FIRST\",\"description\":\"designates the first ordered category as the reference.\",\"type\":\"standalone\"},{\"name\":\"LAST\",\"description\":\"designates the last ordered category as the reference. This is the default.\",\"type\":\"standalone\"}]}]},{\"name\":\"NLOPTIONS\",\"description\":\"controls the optimization process for conditional analyses (which result from specifying a STRATA statement) and for partial parallel slope models (which result from specifying the EQUALSLOPES or UNEQUALSLOPES option in the MODEL statement)\",\"help\":\"NLOPTIONS &lt;options&gt;;                                              \",\"arguments\":[{\"name\":\"ABSCONV=\",\"optional\":true,\"description\":\"tunes an absolute function convergence criterion\",\"help\":\"ABSCONV=*r*\",\"type\":\"value\"},{\"name\":\"ABSFCONV=\",\"optional\":true,\"description\":\"tunes an absolute function difference convergence criterion\",\"help\":\"ABSFCONV=*r*&lt;*n*&gt;\",\"type\":\"value\"},{\"name\":\"ABSGCONV=\",\"optional\":true,\"description\":\"tunes the absolute gradient convergence criterion\",\"help\":\"ABSGCONV=*r*&lt;*n*&gt;\",\"type\":\"value\"},{\"name\":\"ABSXCONV=\",\"optional\":true,\"description\":\"tunes the absolute parameter convergence criterion\",\"help\":\"ABSXCONV=*r*&lt;*n*&gt;\",\"type\":\"value\"},{\"name\":\"ASINGULAR=\",\"optional\":true,\"description\":\"specifies the absolute singularity for inertia\",\"help\":\"ASINGULAR=*r*\",\"type\":\"value\"},{\"name\":\"DAMPSTEP\",\"optional\":true,\"description\":\"dampens steps in a line search\",\"help\":\"DAMPSTEP&lt;=*r*&gt;\",\"type\":\"standaloneOrValue\"},{\"name\":\"FCONV=\",\"optional\":true,\"description\":\"tunes the relative function convergence criterion\",\"help\":\"FCONV=*r*&lt;*n*&gt;\",\"type\":\"value\"},{\"name\":\"FCONV2=\",\"optional\":true,\"description\":\"tunes another relative function convergence criterion\",\"help\":\"FCONV2=*r*&lt;*n*&gt;\",\"type\":\"value\"},{\"name\":\"FSIZE=\",\"optional\":true,\"description\":\"specifies the value used in the FCONV and GCONV criteria\",\"help\":\"FSIZE=*r*\",\"type\":\"value\"},{\"name\":\"GCONV=\",\"optional\":true,\"description\":\"tunes the relative gradient convergence criterion\",\"help\":\"GCONV=*r*&lt;*n*&gt;\",\"type\":\"value\"},{\"name\":\"GCONV2=\",\"optional\":true,\"description\":\"tunes another relative gradient convergence criterion\",\"help\":\"GCONV2=*r*&lt;*n*&gt;\",\"type\":\"value\"},{\"name\":\"HESCAL=\",\"optional\":true,\"description\":\"determines the type of Hessian scaling\",\"help\":\"HESCAL=0  |  1  |  2  |  3\",\"type\":\"choice\",\"arguments\":[{\"name\":\"0\",\"description\":\"specifies no scaling\",\"type\":\"standalone\"},{\"name\":\"1\",\"description\":\"specifies the Mor'e scaling update\",\"type\":\"standalone\"},{\"name\":\"2\",\"description\":\"specifies the Dennis, Gay, and Welsch scaling update\",\"type\":\"standalone\"},{\"name\":\"3\",\"description\":\"resets the scaling diagonals in each iteration\",\"type\":\"standalone\"}]},{\"name\":\"INHESSIAN\",\"optional\":true,\"description\":\"specifies the start for approximated Hessian\",\"help\":\"INHESSIAN&lt;=*r*&gt;\",\"type\":\"standaloneOrValue\"},{\"name\":\"INSTEP=\",\"optional\":true,\"description\":\"specifies the initial trust region radius\",\"help\":\"INSTEP=*r*\",\"type\":\"value\"},{\"name\":\"LCDEACT=\",\"optional\":true,\"description\":\"specifies the LM tolerance for deactivating\",\"help\":\"LCDEACT=*r*\",\"type\":\"value\"},{\"name\":\"LCEPSILON=\",\"optional\":true,\"description\":\"specifies the range for active constraints\",\"help\":\"LCEPSILON=*r*\",\"type\":\"value\"},{\"name\":\"LCSINGULAR=\",\"optional\":true,\"description\":\"specifies the tolerance for dependent constraints\",\"help\":\"LCSINGULAR=*r*\",\"type\":\"value\"},{\"name\":\"LINESEARCH=\",\"optional\":true,\"description\":\"specifies the line-search method\",\"help\":\"LINESEARCH=1  |  2  |  3  |  4  |  5  |  6  |  7  |  8\",\"type\":\"choice\",\"arguments\":[{\"name\":\"1\",\"description\":\"specifies a method similar to the one used by the Harwell subroutine library\",\"type\":\"standalone\"},{\"name\":\"2\",\"description\":\"uses more function than gradient calls for quadratic and cubic interpolation and cubic extrapolation\",\"type\":\"standalone\"},{\"name\":\"3\",\"description\":\"uses the same number of function and gradient calls for cubic interpolation and cubic extrapolation\",\"type\":\"standalone\"},{\"name\":\"4\",\"description\":\"uses the same number of function and gradient calls for stepwise extrapolation and cubic interpolation\",\"type\":\"standalone\"},{\"name\":\"5\",\"description\":\"uses a modified version of LINESEARCH=4\",\"type\":\"standalone\"},{\"name\":\"6\",\"description\":\"specifies a golden-section line search\",\"type\":\"standalone\"},{\"name\":\"7\",\"description\":\"specifies a bisection line search\",\"type\":\"standalone\"},{\"name\":\"8\",\"description\":\"specifies the Armijo line-search technique\",\"type\":\"standalone\"}]},{\"name\":\"LSPRECISION=\",\"optional\":true,\"description\":\"specifies the line-search precision\",\"help\":\"LSPRECISION=*r*\",\"type\":\"value\"},{\"name\":\"MAXFUNC=\",\"optional\":true,\"description\":\"specifies the maximum number of function calls\",\"help\":\"MAXFUNC=*n*\",\"type\":\"value\"},{\"name\":\"MAXITER=\",\"optional\":true,\"description\":\"specifies the maximum number of iterations\",\"help\":\"MAXITER=*n*\",\"type\":\"value\"},{\"name\":\"MAXTIME=\",\"optional\":true,\"description\":\"specifies the upper limit for seconds of CPU time\",\"help\":\"MAXTIME=*seconds*\",\"type\":\"value\"},{\"name\":\"MAXSTEP=\",\"optional\":true,\"description\":\"specifies the maximum trust region radius\",\"help\":\"MAXSTEP=*r*&lt;*n*&gt;\",\"type\":\"value\"},{\"name\":\"MINITER=\",\"optional\":true,\"description\":\"specifies the minimum number of iterations\",\"help\":\"MINITER=*n*\",\"type\":\"value\"},{\"name\":\"MSINGULAR=\",\"optional\":true,\"description\":\"specifies the relative M singularity for inertia\",\"help\":\"MSINGULAR=*r*\",\"type\":\"value\"},{\"name\":\"NOPRINT\",\"optional\":true,\"description\":\"suppresses all printed output\",\"type\":\"standalone\"},{\"name\":\"PALL\",\"optional\":true,\"description\":\"displays (almost) all printed output\",\"type\":\"standalone\"},{\"name\":\"PHISTORY\",\"optional\":true,\"description\":\"displays optimization history\",\"type\":\"standalone\"},{\"name\":\"RESTART=\",\"optional\":true,\"description\":\"specifies the iteration number for update restart\",\"help\":\"RESTART=*n*\",\"type\":\"value\"},{\"name\":\"SINGULAR=\",\"optional\":true,\"description\":\"specifies the singularity criterion used for inverting the Hessian matrix\",\"help\":\"SINGULAR=*r*\",\"type\":\"value\"},{\"name\":\"SOCKET=\",\"optional\":true,\"description\":\"specifies the fileref for remote monitoring\",\"help\":\"SOCKET=*fileref*\",\"type\":\"value\"},{\"name\":\"TECHNIQUE=\",\"optional\":true,\"description\":\"specifies the optimization technique\",\"help\":\"TECHNIQUE=*method*\",\"type\":\"value\",\"arguments\":[{\"name\":\"CONGRA\",\"description\":\"performs a conjugate-gradient optimization\",\"type\":\"standalone\"},{\"name\":\"DBLDOG\",\"description\":\"performs a version of double-dogleg optimization\",\"help\":\"DBLDOG \",\"type\":\"standalone\"},{\"name\":\"LEVMAR\",\"description\":\"performs a highly stable Levenberg-Marquardt optimization technique\",\"help\":\"LEVMAR \",\"type\":\"standalone\"},{\"name\":\"NMSIMP\",\"description\":\"performs a Nelder-Mead simplex optimization\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"does not perform any optimization\",\"type\":\"standalone\"},{\"name\":\"NEWRAP\",\"description\":\"performs a Newton-Raphson optimization that combines a line-search algorithm with ridging\",\"type\":\"standalone\"},{\"name\":\"NRRIDG\",\"description\":\"performs a Newton-Raphson optimization with ridging\",\"type\":\"standalone\"},{\"name\":\"QUANEW\",\"description\":\"performs a quasi-Newton optimization\",\"type\":\"standalone\"},{\"name\":\"TRUREG\",\"description\":\"performs a trust-region optimization\",\"type\":\"standalone\"}]},{\"name\":\"UPDATE=\",\"optional\":true,\"description\":\"determines the update technique\",\"help\":\"UPDATE=*method*\",\"type\":\"value\",\"arguments\":[{\"name\":\"BFGS\",\"description\":\"performs the original BFGS update of the inverse Hessian matrix\",\"type\":\"standalone\"},{\"name\":\"DBFGS\",\"description\":\"performs the dual BFGS update of the Cholesky factor of the Hessian matrix\",\"type\":\"standalone\"},{\"name\":\"DDFP\",\"description\":\"performs the dual DFP update of the Cholesky factor of the Hessian matrix\",\"type\":\"standalone\"},{\"name\":\"DFP\",\"description\":\"performs the original DFP update of the inverse Hessian matrix\",\"type\":\"standalone\"},{\"name\":\"PB\",\"description\":\"performs the automatic restart update method\",\"type\":\"standalone\"},{\"name\":\"FR\",\"description\":\"performs the Fletcher-Reeves update\",\"type\":\"standalone\"},{\"name\":\"PR\",\"description\":\"performs the Polak-Ribiere update\",\"type\":\"standalone\"},{\"name\":\"CD\",\"description\":\"performs a conjugate-descent update\",\"type\":\"standalone\"}]},{\"name\":\"VERSION=\",\"optional\":true,\"description\":\"specifies the version of the quasi-Newton optimization technique with nonlinear constraints\",\"help\":\"VERSION=1  |  2\",\"type\":\"choice\",\"arguments\":[{\"name\":\"1\",\"description\":\"specifies an update like VF02AD\",\"type\":\"standalone\"},{\"name\":\"2\",\"description\":\"specifies an update like VMCWD\",\"type\":\"standalone\"}]},{\"name\":\"VSINGULAR=\",\"optional\":true,\"description\":\"specifies the relative V singularity for inertia\",\"help\":\"VSINGULAR=*r*\",\"type\":\"value\"},{\"name\":\"XCONV=\",\"optional\":true,\"description\":\"specifies the relative parameter convergence criterion\",\"help\":\"XCONV=*r*&lt;*n*&gt;\",\"type\":\"value\"},{\"name\":\"XSIZE=\",\"optional\":true,\"description\":\"specifies the value used in the XCONV criterion\",\"help\":\"XSIZE=*r*\",\"type\":\"value\"}]},{\"name\":\"ODDSRATIO\",\"description\":\"produces odds ratios for variable even when the variable is involved in interactions with other covariates, and for classification variables that use any parameterization\",\"help\":\"ODDSRATIO &lt;'label'&gt; variable &lt;/ options&gt;;                                              \",\"arguments\":[{\"name\":\"AT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies fixed levels for covariates\",\"help\":\"AT(*covariate=value-list* | REF | ALL&lt;...*covariate=value-list* | REF | ALL&gt;)\",\"type\":\"value\"},{\"name\":\"CL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies whether to create Wald or profile-likelihood confidence limits, or both\",\"help\":\"CL=WALD | PL | BOTH\",\"type\":\"choice\"},{\"name\":\"DIFF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies whether the odds ratios for a classification variable are computed against the reference level, or all pairs of variable are compared\",\"help\":\"DIFF=REF | ALL\",\"type\":\"choice\"},{\"name\":\"PLCONV=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"controls the convergence criterion for confidence intervals based on the profile-likelihood function\",\"help\":\"PLCONV=*value*\",\"type\":\"value\"},{\"name\":\"PLMAXITER=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the maximum number of iterations to perform\",\"help\":\"PLMAXITER=*number*\",\"type\":\"value\"},{\"name\":\"PLSINGULAR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the tolerance for testing the singularity of the Hessian matrix (Newton-Raphson algorithm) or the expected value of the Hessian matrix (Fisher scoring algorithm)\",\"help\":\"PLSINGULAR=*value*\",\"type\":\"value\"}]},{\"name\":\"OUTPUT\",\"description\":\"creates a new SAS data set that contains all the variables in the input data set and, optionally, the estimated linear predictors and their standard error estimates, the estimates of the cumulative or individual response probabilities, and the confidence limits for the cumulative probabilities\",\"help\":\"OUTPUT &lt;OUT=SAS-data-set&gt;&lt;keyword-options&gt; / &lt;option&gt;;                                              \",\"arguments\":[{\"name\":\"ALPHA=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"sets the level of significance α for 100(1-α)% confidence limits for the appropriate response probabilities\",\"help\":\"ALPHA=*number*\",\"type\":\"value\"},{\"name\":\"OUT=\",\"optional\":true,\"description\":\"names the output data set\",\"help\":\"OUT=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"C=\",\"optional\":true,\"description\":\"specifies the confidence interval displacement diagnostic that measures the influence of individual observations on the regression estimates\",\"help\":\"C=*name*\",\"type\":\"value\"},{\"name\":\"CBAR=\",\"optional\":true,\"description\":\"specifies the confidence interval displacement diagnostic that measures the overall change in the global regression estimates due to deleting an individual observation\",\"help\":\"CBAR=*name*\",\"type\":\"value\"},{\"name\":\"DFBETAS=\",\"optional\":true,\"description\":\"specifies the standardized differences in the regression estimates for assessing the effects of individual observations on the estimated regression parameters in the fitted model\",\"help\":\"DFBETAS=_ALL_ | *name-list*\",\"type\":\"value\"},{\"name\":\"DIFCHISQ=\",\"optional\":true,\"description\":\"specifies the change in the chi-square goodness-of-fit statistic attributable to deleting the individual observation\",\"help\":\"DIFCHISQ=*name*\",\"type\":\"value\"},{\"name\":\"DIFDEV=\",\"optional\":true,\"description\":\"specifies the change in the deviance attributable to deleting the individual observation\",\"help\":\"DIFDEV=*name*\",\"type\":\"value\"},{\"name\":\"H=\",\"optional\":true,\"description\":\"specifies the diagonal element of the hat matrix for detecting extreme points in the design space\",\"help\":\"H=*name*\",\"type\":\"value\"},{\"name\":\"LOWER=\",\"optional\":true,\"aliases\":[\"L=\"],\"description\":\"names the variable containing the lower confidence limits\",\"help\":\"LOWER=*name*\",\"type\":\"value\"},{\"name\":\"PREDICTED=\",\"optional\":true,\"aliases\":[\"PRED=\",\"PROB=\",\"P=\"],\"description\":\"names the variable containing the predicted probabilities\",\"help\":\"PREDICTED=*name*\",\"type\":\"value\"},{\"name\":\"PREDPROBS=\",\"optional\":true,\"description\":\"requests individual, cumulative, or cross validated predicted probabilities\",\"help\":\"PREDPROBS=(*options*)\",\"type\":\"value\",\"arguments\":[{\"name\":\"INDIVIDUAL\",\"description\":\"requests the predicted probability of each response level\",\"help\":\"INDIVIDUAL | I\",\"type\":\"choice\"},{\"name\":\"CUMULATIVE\",\"description\":\"requests the cumulative predicted probability of each response level\",\"help\":\"CUMULATIVE | C\",\"type\":\"choice\"},{\"name\":\"CROSSVALIDATE\",\"description\":\"requests the cross validated individual predicted probability of each response level\",\"help\":\"CROSSVALIDATE | XVALIDATE | X\",\"type\":\"choice\"}]},{\"name\":\"RESCHI=\",\"optional\":true,\"description\":\"specifies the Pearson (chi-square) residual for identifying observations that are poorly accounted for by the model\",\"help\":\"RESCHI=*name*\",\"type\":\"value\"},{\"name\":\"RESDEV=\",\"optional\":true,\"description\":\"specifies the deviance residual for identifying poorly fitted observations\",\"help\":\"RESDEV=*name*\",\"type\":\"value\"},{\"name\":\"RESLIK=\",\"optional\":true,\"description\":\"specifies the likelihood residual for identifying poorly fitted observations\",\"help\":\"RESLIK=*name*\",\"type\":\"value\"},{\"name\":\"STDRESCHI=\",\"optional\":true,\"description\":\"specifies the standardized Pearson (chi-square) residual for identifying observations that are poorly accounted for by the model\",\"help\":\"STDRESCHI=*name*\",\"type\":\"value\"},{\"name\":\"STDRESDEV=\",\"optional\":true,\"description\":\"specifies the standardized deviance residual for identifying poorly fitted observations\",\"help\":\"STDRESDEV=*name*\",\"type\":\"value\"},{\"name\":\"STDXBETA=\",\"optional\":true,\"description\":\"names the variable containing the standard error estimates of XBETA\",\"help\":\"STDXBETA=*name*\",\"type\":\"value\"},{\"name\":\"UPPER=\",\"optional\":true,\"aliases\":[\"U=\"],\"description\":\"names the variable containing the upper confidence limits\",\"help\":\"UPPER=*name*\",\"type\":\"value\"},{\"name\":\"XBETA=\",\"optional\":true,\"description\":\"names the variable containing the estimates of the linear predictor\",\"help\":\"XBETA=*name*\",\"type\":\"value\"}]},{\"name\":\"ROC\",\"description\":\"specify models to be used in the ROC comparisons\",\"help\":\"ROC <'label'><specification></ options>;                                              \\nspecification = a list of model effects or PRED=variable                     \",\"arguments\":[{\"name\":\"NOINT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses the intercept for the model\",\"type\":\"standalone\"},{\"name\":\"NOOFFSET\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"does not include an offset variable if the OFFSET= option is specified in the MODEL statement\",\"type\":\"standalone\"},{\"name\":\"LINK=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the link function to be used in the model\",\"help\":\"LINK=*keyword*\",\"type\":\"value\"}]},{\"name\":\"ROCCONTRAST\",\"description\":\"compares the different ROC models\",\"help\":\"ROCCONTRAST &lt;'label'&gt;&lt;contrast&gt;&lt;/ options&gt;;                                              \",\"arguments\":[{\"name\":\"E\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"displays the contrast\",\"type\":\"standalone\"},{\"name\":\"ESTIMATE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"produces estimates of each row of the contrast when ESTIMATE or ESTIMATE=ROWS is specified\",\"help\":\"ESTIMATE &lt;= ROWS | ALLPAIRS&gt;\",\"type\":\"standaloneOrValue\",\"arguments\":[{\"name\":\"ROWS\",\"followsDelimiter\":\"/\",\"description\":\"produces estimates of each row of the contrast\",\"type\":\"standalone\"},{\"name\":\"ALLPAIRS\",\"followsDelimiter\":\"/\",\"description\":\"produces estimates of every pairwise difference of ROC curves\",\"type\":\"standalone\"}]},{\"name\":\"COV\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"displays covariance matrices used in the computations\",\"type\":\"standalone\"},{\"name\":\"REFERENCE\",\"optional\":true,\"description\":\"produces a contrast matrix of differences between each ROC curve and a reference curve\",\"help\":\"REFERENCE&lt;(MODEL | *'roc-label'*)&gt;\",\"type\":\"standaloneOrValue\"},{\"name\":\"ADJACENTPAIRS\",\"optional\":true,\"description\":\"produces a contrast matrix of each ROC curve minus the succeeding curve\",\"type\":\"standalone\"},{\"name\":\"matrix\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the contrast in the form row1,row2,..., where each row contains the coefficients used to compare the ROC curves\",\"type\":\"value\"}]},{\"name\":\"SCORE\",\"description\":\"creates a data set that contains all the data in the DATA= data set together with posterior probabilities and, optionally, prediction confidence intervals\",\"help\":\"SCORE &lt;options&gt;;                                              \",\"arguments\":[{\"name\":\"ALPHA=\",\"optional\":true,\"description\":\"specifies the significance level α for 100(1-α)% confidence intervals\",\"help\":\"ALPHA=*number*\",\"type\":\"value\"},{\"name\":\"CLM\",\"optional\":true,\"description\":\"outputs the Wald-test-based confidence limits for the predicted probabilities\",\"type\":\"standalone\"},{\"name\":\"CUMULATIVE\",\"optional\":true,\"description\":\"outputs the cumulative predicted probabilities to the OUT= data set\",\"type\":\"standalone\"},{\"name\":\"CUTPOINT=\",\"optional\":true,\"description\":\"specifies a value between 0 and 1 for which observations that have a larger predicted probability are classified as events and observations that have a smaller predicted probability are classified as nonevents\",\"help\":\"CUTPOINT=*value*\",\"type\":\"value\"},{\"name\":\"DATA=\",\"optional\":true,\"description\":\"names the SAS data set that you want to score\",\"help\":\"DATA=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"FITSTAT\",\"optional\":true,\"description\":\"displays fit statistics for the data set you are scoring\",\"type\":\"standalone\"},{\"name\":\"OUT=\",\"optional\":true,\"description\":\"names the SAS data set that contains the predicted information\",\"help\":\"OUT=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"OUTROC=\",\"optional\":true,\"description\":\"names the SAS data set that contains the ROC curve for the DATA= data set\",\"help\":\"OUTROC=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"PRIOR=\",\"optional\":true,\"description\":\"names the SAS data set that contains the priors of the response categories\",\"help\":\"PRIOR=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"PRIOREVENT=\",\"optional\":true,\"description\":\"specifies the prior event probability for a binary response model\",\"help\":\"PRIOREVENT=*value* | SCOREDATA\",\"type\":\"value\"},{\"name\":\"ROCEPS=\",\"optional\":true,\"description\":\"specifies the criterion for grouping estimated event probabilities that are close to each other for the ROC curve\",\"help\":\"ROCEPS=*value*\",\"type\":\"value\"}]},{\"name\":\"SLICE\",\"description\":\"provides a general mechanism for performing a partitioned analysis of the LS-means for an interaction\",\"help\":\"SLICE  model-effect &lt;/ options&gt;;                                              \",\"arguments\":[{\"name\":\"AT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"modifies the covariate value in computing LS-means\",\"help\":\"AT *at-specification*\",\"type\":\"value\",\"arguments\":[{\"name\":\"MEANS\",\"followsDelimiter\":\"/\",\"description\":\"sets covariates equal to their mean values\",\"type\":\"standalone\"},{\"name\":\"variable=\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"sets the covariate variable equal to value.\",\"help\":\"*variable*=*value*\",\"type\":\"value\"},{\"name\":\"(variable-list)=(value-list)\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"sets covariates in the variable-list equal to values in the value-list.\",\"type\":\"value\"}]},{\"name\":\"BYLEVEL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"computes separate margins\",\"type\":\"standalone\"},{\"name\":\"DIFF\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"computes differences of LS-means\",\"help\":\"DIFF =*difftype*\",\"type\":\"value\",\"arguments\":[{\"name\":\"ALL\",\"followsDelimiter\":\"/\",\"description\":\"displays all pairwise differences.\",\"type\":\"standalone\"},{\"name\":\"ANOM\",\"followsDelimiter\":\"/\",\"description\":\"displays differences between each LS-mean and the average LS-mean\",\"type\":\"standalone\"},{\"name\":\"CONTROL\",\"followsDelimiter\":\"/\",\"description\":\"produces two-tailed tests and confidence limits for differences with a control\",\"help\":\"CONTROL&lt;('level1'&lt;,'level2'...&gt;)&gt;\",\"type\":\"standaloneOrValue\"},{\"name\":\"CONTROLL\",\"followsDelimiter\":\"/\",\"description\":\"produces one-tailed results and tests whether the noncontrol levels are significantly smaller than the control.\",\"help\":\"CONTROLL&lt;('level1'&lt;,'level2'...&gt;)&gt;\",\"type\":\"standaloneOrValue\"},{\"name\":\"CONTROLU\",\"followsDelimiter\":\"/\",\"description\":\"produces one-tailed results and tests whether the noncontrol levels are significantly larger than the control.\",\"help\":\"CONTROLU&lt;('level1'&lt;,'level2'...&gt;)&gt;\",\"type\":\"standaloneOrValue\"}]},{\"name\":\"OM=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the weighting scheme for LS-means computation as determined by the input data set\",\"help\":\"OM=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"SINGULAR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"tunes estimability checking\",\"help\":\"SINGULAR=*value*\",\"type\":\"value\"},{\"name\":\"ADJUST=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"determines the method of multiple-comparison adjustment of LS-means differences\",\"help\":\"ADJUST=BON  |  DUNNETT  |  NELSON  |  NONE  |  SCHEFFE  |  SIDAK  |  SIMULATE&lt;(*sim-options*)&gt; |  SMM  |  GT2  |  TUKEY  |  T\",\"type\":\"choice\",\"arguments\":[{\"name\":\"BON\",\"followsDelimiter\":\"/\",\"description\":\"performs Bonferroni t tests of differences between LS-means.\",\"type\":\"standalone\"},{\"name\":\"DUNNETT\",\"followsDelimiter\":\"/\",\"description\":\"performs Dunnett's t test, which tests whether any treatments are significantly different from a single control\",\"type\":\"standalone\"},{\"name\":\"NELSON\",\"followsDelimiter\":\"/\",\"description\":\"performs Nelson's t test of each LS-mean against an average of the LS-means\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"followsDelimiter\":\"/\",\"description\":\"performs no adjustment for multiple comparisons.\",\"type\":\"standalone\"},{\"name\":\"T\",\"followsDelimiter\":\"/\",\"description\":\"performs no adjustment for multiple comparisons.\",\"type\":\"standalone\"},{\"name\":\"SCHEFFE\",\"followsDelimiter\":\"/\",\"description\":\"performs Scheffe's multiple comparison procedure.\",\"type\":\"standalone\"},{\"name\":\"SIDAK\",\"followsDelimiter\":\"/\",\"description\":\"performs pairwise t tests on differences between LS-means with levels adjusted according to Sidak's inequality.\",\"type\":\"standalone\"},{\"name\":\"SIMULATE\",\"followsDelimiter\":\"/\",\"description\":\"performs the simulation-based multiple comparison procedure.\",\"help\":\"SIMULATE&lt;( *simopts* )&gt;\",\"type\":\"standaloneOrValue\",\"arguments\":[{\"name\":\"ACC=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the target accuracy radius for the true probability content\",\"help\":\"ACC=*value*\",\"type\":\"value\"},{\"name\":\"EPS=\",\"followsDelimiter\":\"/\",\"description\":\"specifies a 100 (1-ε) confidence interval for the true probability content of the estimated (1-α) quantile.\",\"help\":\"EPS=*value*\",\"type\":\"value\"},{\"name\":\"NSAMP=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the sample size for the simulation.\",\"help\":\"NSAMP=*n*\",\"type\":\"value\"},{\"name\":\"SEED=\",\"followsDelimiter\":\"/\",\"description\":\"specifies an integer to be used to start the pseudorandom number generator for the simulation.\",\"help\":\"SEED=*number*\",\"type\":\"value\"},{\"name\":\"THREADS\",\"followsDelimiter\":\"/\",\"description\":\"specifies that the computational work for the simulation be divided into parallel threads\",\"type\":\"standalone\"},{\"name\":\"NOTHREADS\",\"followsDelimiter\":\"/\",\"description\":\"specifies that the computational work for the simulation be performed in sequence\",\"type\":\"standalone\"}]},{\"name\":\"SMM\",\"followsDelimiter\":\"/\",\"description\":\"performs pairwise comparisons based on the studentized maximum modulus and Sidak's uncorrelated-t inequality\",\"type\":\"standalone\"},{\"name\":\"GT2\",\"followsDelimiter\":\"/\",\"description\":\"performs pairwise comparisons based on the studentized maximum modulus and Sidak's uncorrelated-t inequality\",\"type\":\"standalone\"},{\"name\":\"TUKEY\",\"followsDelimiter\":\"/\",\"description\":\"performs Tukey's studentized range test on LS-means.\",\"type\":\"standalone\"}]},{\"name\":\"ALPHA=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"determines the confidence level\",\"help\":\"ALPHA=*value*\",\"type\":\"value\"},{\"name\":\"STEPDOWN\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"adjusts multiple-comparison p-values further in a step-down fashion\",\"help\":\"STEPDOWN&lt;(*step-down-options*)&gt;\",\"type\":\"standaloneOrValue\",\"arguments\":[{\"name\":\"MAXTIME=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the time (in seconds) for TYPE=LOGICAL.\",\"help\":\"MAXTIME=*n*\",\"type\":\"value\"},{\"name\":\"REPORT\",\"followsDelimiter\":\"/\",\"description\":\"specifies that a report on the step-down adjustment be displayed\",\"type\":\"standalone\"},{\"name\":\"TYPE=\",\"followsDelimiter\":\"/\",\"description\":\"uses maximal logically consistent sequential subsets of equality hypotheses\",\"help\":\"TYPE=LOGICAL&lt;(*n*)&gt;\",\"type\":\"standaloneOrValue\"},{\"name\":\"TYPE=\",\"followsDelimiter\":\"/\",\"description\":\"computes sequential subsets ignoring logical constraints.\",\"help\":\"TYPE=FREE\",\"type\":\"value\"}]},{\"name\":\"ASC\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"sorts LS-means in ascending order in results that you display by specifying the LINES option\",\"type\":\"standalone\"},{\"name\":\"CL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"constructs confidence limits for means and mean differences\",\"type\":\"standalone\"},{\"name\":\"CORR\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"displays the correlation matrix of LS-means\",\"type\":\"standalone\"},{\"name\":\"COV\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"displays the covariance matrix of LS-means\",\"type\":\"standalone\"},{\"name\":\"E\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"prints the L matrix\",\"type\":\"standalone\"},{\"name\":\"LINES\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"uses connecting lines to indicate nonsignificantly different subsets of LS-means\",\"type\":\"standalone\"},{\"name\":\"LINESTABLE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"displays the results of the LINES option as a table\",\"type\":\"standalone\"},{\"name\":\"MEANS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"prints the LS-means\",\"type\":\"standalone\"},{\"name\":\"PLOTS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"produces graphs of means and mean comparisons\",\"help\":\"PLOTS&lt;=(*plot-request*&lt;(*options*)&gt;&lt;...&gt;)&gt;\",\"type\":\"standaloneOrValue\",\"arguments\":[{\"name\":\"ALL\",\"followsDelimiter\":\"/\",\"description\":\"requests the default plots\",\"type\":\"standalone\"},{\"name\":\"ANOMPLOT\",\"followsDelimiter\":\"/\",\"description\":\"requests an analysis-of-means display\",\"type\":\"standalone\"},{\"name\":\"BOXPLOT\",\"followsDelimiter\":\"/\",\"description\":\"produces box plots of the distribution of the least squares mean or least squares mean differences\",\"help\":\"BOXPLOT&lt;boxplot-options&gt;\",\"type\":\"standaloneOrValue\",\"arguments\":[{\"name\":\"ORIENTATION=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the orientation of the boxes\",\"help\":\"ORIENTATION=VERTICAL | HORIZONTAL\",\"type\":\"choice\"},{\"name\":\"NPANELPOS=\",\"followsDelimiter\":\"/\",\"description\":\"specifies how to break the series of box plots across multiple panels.\",\"help\":\"NPANELPOS=*number*\",\"type\":\"value\"}]},{\"name\":\"CONTROLPLOT\",\"followsDelimiter\":\"/\",\"description\":\"requests a display in which least squares means are visually compared against a reference level.\",\"type\":\"standalone\"},{\"name\":\"DIFFOGRAM\",\"followsDelimiter\":\"/\",\"description\":\"requests a display of all pairwise least squares mean differences and their significance.\",\"help\":\"DIFFOGRAM&lt;(*diffplot-options*)&gt;\",\"type\":\"standaloneOrValue\",\"arguments\":[{\"name\":\"ABS\",\"followsDelimiter\":\"/\",\"description\":\"all line segments are shown on the same side of the reference line.\",\"type\":\"standalone\"},{\"name\":\"NOABS\",\"followsDelimiter\":\"/\",\"description\":\"separates comparisons according to the sign of the difference.\",\"type\":\"standalone\"},{\"name\":\"CENTER\",\"followsDelimiter\":\"/\",\"description\":\"marks the center point for each comparison\",\"type\":\"standalone\"},{\"name\":\"NOLINES\",\"followsDelimiter\":\"/\",\"description\":\"suppresses the display of the line segments that represent the confidence bounds for the differences of the least squares means\",\"type\":\"standalone\"}]},{\"name\":\"DISTPLOT\",\"followsDelimiter\":\"/\",\"description\":\"generates panels of histograms with a kernel density overlaid if the analysis has access to a set of posterior parameter estimates.\",\"help\":\"DISTPLOT&lt;distplot-options&gt;\",\"type\":\"standaloneOrValue\",\"arguments\":[{\"name\":\"BOX\",\"followsDelimiter\":\"/\",\"description\":\"controls the display of a horizontal box plot\",\"type\":\"standalone\"},{\"name\":\"NOBOX\",\"followsDelimiter\":\"/\",\"description\":\"controls the display of a horizontal box plot\",\"type\":\"standalone\"},{\"name\":\"HIST\",\"followsDelimiter\":\"/\",\"description\":\"controls the display of the histogram\",\"type\":\"standalone\"},{\"name\":\"NOHIST\",\"followsDelimiter\":\"/\",\"description\":\"controls the display of the histogram\",\"type\":\"standalone\"},{\"name\":\"NORMAL\",\"followsDelimiter\":\"/\",\"description\":\"controls the display of a normal density estimate\",\"type\":\"standalone\"},{\"name\":\"NONORMAL\",\"followsDelimiter\":\"/\",\"description\":\"controls the display of a normal density estimate\",\"type\":\"standalone\"},{\"name\":\"KERNEL\",\"followsDelimiter\":\"/\",\"description\":\"controls the display of a kernel density estimate\",\"type\":\"standalone\"},{\"name\":\"NOKERNEL\",\"followsDelimiter\":\"/\",\"description\":\"controls the display of a kernel density estimate\",\"type\":\"standalone\"},{\"name\":\"NROWS=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the highest number of rows in a panel.\",\"help\":\"NROWS=*number*\",\"type\":\"value\"},{\"name\":\"NCOLS=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the highest number of columns in a panel\",\"help\":\"NCOLS=*number*\",\"type\":\"value\"},{\"name\":\"UNPACK\",\"followsDelimiter\":\"/\",\"description\":\"unpacks the panel into separate graphics.\",\"type\":\"standalone\"}]},{\"name\":\"LINESPLOT\",\"followsDelimiter\":\"/\",\"description\":\"modifies the dimensions of the LS-means comparison plot that is produced by the LINES option.\",\"help\":\"LINESPLOT&lt;(options)&gt;\",\"type\":\"standaloneOrValue\",\"arguments\":[{\"name\":\"HSCALE=\",\"followsDelimiter\":\"/\",\"description\":\"scales the default height of the plot\",\"help\":\"HSCALE=*hfactor*\",\"type\":\"value\"},{\"name\":\"WSCALE=\",\"followsDelimiter\":\"/\",\"description\":\"scales the default width of the plot\",\"help\":\"WSCALE=*wfactor*\",\"type\":\"value\"}]},{\"name\":\"MEANPLOT\",\"followsDelimiter\":\"/\",\"description\":\"requests displays of the least squares means.\",\"help\":\"MEANPLOT&lt;(meanplot-options)&gt;\",\"type\":\"standaloneOrValue\",\"arguments\":[{\"name\":\"ASCENDING\",\"followsDelimiter\":\"/\",\"description\":\"displays the least squares means in ascending order.\",\"type\":\"standalone\"},{\"name\":\"CL\",\"followsDelimiter\":\"/\",\"description\":\"displays upper and lower confidence limits\",\"type\":\"standalone\"},{\"name\":\"CLBAND\",\"followsDelimiter\":\"/\",\"description\":\"displays confidence limits as bands.\",\"type\":\"standalone\"},{\"name\":\"DESCENDING\",\"followsDelimiter\":\"/\",\"description\":\"displays the least squares means in descending order.\",\"type\":\"standalone\"},{\"name\":\"ILINK\",\"followsDelimiter\":\"/\",\"description\":\"requests that means be displayed on the inverse linked scale.\",\"type\":\"standalone\"},{\"name\":\"JOIN\",\"followsDelimiter\":\"/\",\"description\":\"connects the least squares means with lines.\",\"type\":\"standalone\"},{\"name\":\"CONNECT\",\"followsDelimiter\":\"/\",\"description\":\"connects the least squares means with lines.\",\"type\":\"standalone\"},{\"name\":\"SLICEBY=\",\"followsDelimiter\":\"/\",\"description\":\"specifies an effect by which to group the means in a single plot.\",\"help\":\"SLICEBY=*fixed-effect*\",\"type\":\"value\"},{\"name\":\"PLOTBY=\",\"followsDelimiter\":\"/\",\"description\":\"specifies an effect by which to break interaction plots into separate displays.\",\"help\":\"PLOTBY=*fixed-effect*\",\"type\":\"value\"}]},{\"name\":\"NONE\",\"followsDelimiter\":\"/\",\"description\":\"requests that no plots be produced.\",\"type\":\"standalone\"}]},{\"name\":\"SEED=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the seed for computations that depend on random numbers\",\"help\":\"SEED=*number*\",\"type\":\"value\"},{\"name\":\"EXP\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"exponentiates and displays estimates of LS-means or LS-means differences\",\"type\":\"standalone\"},{\"name\":\"ILINK\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"computes and displays estimates and standard errors of LS-means (but not differences) on the inverse linked scale\",\"type\":\"standalone\"},{\"name\":\"ODDSRATIO\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"reports (simple) differences of least squares means in terms of odds ratios if permitted by the link function\",\"type\":\"standalone\"}]},{\"name\":\"STORE\",\"description\":\"saves the context and results of the statistical analysis\",\"help\":\"STORE &lt;OUT=&gt;*item-store-name*&lt;/ LABEL=*'label'*&gt;;                                              \",\"arguments\":[{\"name\":\"OUT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies a one- or two-level SAS name for the store\",\"help\":\"OUT=*item-store-name*\",\"type\":\"value\"},{\"name\":\"LABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Adds the label to the PROC PLM output\",\"help\":\"LABEL=*'label'*\",\"type\":\"value\"}]},{\"name\":\"STRATA\",\"description\":\"names the variables that define strata or matched sets to use in stratified logistic regression of binary response data\",\"help\":\"STRATA  variable &lt;(option)&gt;...&lt;variable &lt;(option)&gt;&gt;&lt;/ options&gt;;                                              \",\"arguments\":[{\"name\":\"CHECKDEPENDENCY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"CHECK=\"],\"description\":\"specifies which variables are to be tested for dependency before the analysis is performed\",\"help\":\"CHECKDEPENDENCY=*keyword*\",\"type\":\"value\",\"arguments\":[{\"name\":\"NONE\",\"followsDelimiter\":\"/\",\"description\":\"performs no dependence checking.\",\"type\":\"standalone\"},{\"name\":\"COVARIATES\",\"followsDelimiter\":\"/\",\"description\":\"checks dependence between covariates and an added intercept.\",\"type\":\"standalone\"},{\"name\":\"ALL\",\"followsDelimiter\":\"/\",\"description\":\"checks dependence between all the strata and covariates.\",\"type\":\"standalone\"}]},{\"name\":\"NOSUMMARY\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses the display of the \\\"Strata Summary\\\" table\",\"type\":\"standalone\"},{\"name\":\"INFO\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"displays the \\\"Strata Information\\\" table, which includes the stratum number, levels of the STRATA variables that define the stratum, the number of events, the number of non-events, and the total frequency for each stratum\",\"type\":\"standalone\"},{\"name\":\"MISSING\",\"optional\":true,\"description\":\"treats missing values ('.', ._, .A,..., .Z for numeric variables and blanks for character variables) as valid STRATA variable values\",\"type\":\"standalone\"}]},{\"name\":\"TEST\",\"description\":\"tests linear hypotheses about the regression coefficients\",\"help\":\"<label:>TEST  equation1 <, equation2,...></ option>;                                              \\nequation is term<± term ...><=±term<±term...>>\\nterm is a parameter of the model, or a constant, or a constant times a parameter                     \",\"arguments\":[{\"name\":\"PRINT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"displays intermediate calculations in the testing of the null hypothesis\",\"type\":\"standalone\"}]},{\"name\":\"UNITS\",\"description\":\"enables you to specify units of change for the continuous explanatory variables so that customized odds ratios can be estimated\",\"help\":\"UNITS &lt;independent1=list1 | (numlist1) &lt;*SD&gt;&gt;&lt;independent2=list2 | (numlist2) &lt;*SD&gt;&gt;...&lt;/ option&gt;;                                              \",\"arguments\":[{\"name\":\"DEFAULT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"gives a list of units of change for all explanatory variables that are not specified in the UNITS statement\",\"help\":\"DEFAULT=*list*\",\"type\":\"value\"}]},{\"name\":\"WEIGHT\",\"description\":\"weights each observation in the input data set by the value of the WEIGHT variable\",\"help\":\"WEIGHT  variable &lt;/ option&gt;;                                              \",\"arguments\":[{\"name\":\"NORMALIZE\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"NORM\"],\"description\":\"causes the weights specified by the WEIGHT variable to be normalized so that they add up to the actual sample size\",\"type\":\"standalone\"}]}],\"supportSiteInformation\":{\"docsetId\":\"statug\",\"docsetVersion\":\"latest\",\"docsetTargetFile\":\"statug_logistic_toc.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/LOGSELECT.json",
    "content": "{\"name\":\"LOGSELECT\",\"statements\":[{\"name\":\"PROC LOGSELECT\",\"description\":\"The LOGSELECT procedure fits binary and binomial response models in SAS Viya. † Logistic regression analysis is often used to investigate the relationship between discrete responses and a set of explanatory variables. † The logistic model shares a common feature with a more general class of linear models: a function g = g(µ) of the mean of the response variable is assumed to be linearly related to the explanatory variables. Because the mean µ implicitly depends on the stochastic behavior of the response and the explanatory variables are assumed to be fixed, the function g provides the link between the random (stochastic) component and the systematic (deterministic) component of the response variable Y. For this reason, Nelder and Wedderburn (1972) refer to g = g(µ) as a link function.\",\"help\":\"PROC LOGSELECT <ABSCONV=r | ABSTOL=r><ABSFCONV= r <n> | ABSFTOL=r <n>><ABSGCONV=r <n> | ABSGTOL=r <n>><ABSXCONV=r <n> | ABSXTOL=r <n>><ALPHA=number><CORRB><COVB><DATA=CAS-libref.data-table><FCONV2=r <n> | FTOL2=r <n>><FCONV=r <n> | FTOL=r <n>><GCONV2=r <n> | GTOL2=r <n>><GCONV=r <n> | GTOL=r <n>><ITHIST><LASSORHO=r><LASSOSTEPS=n><LASSOTOL=r><MAXFUNC=n | MAXFU=n><MAXITER=n | MAXIT=n><MAXOPTBATCH=number><MAXTIME=r><MINITER=n | MINIT=n><NOCHECK><NOCLPRINT< =number >><NORMALIZE=YES | NO><NOSTDERR><PARTFIT><STB><TECHNIQUE=CONGRA | DBLDOG | LEVMAR... ><XCONV=r | XTOL=r>;     \\n\\tBY variables ;\\n\\n\\tCLASS <DESCENDING><MISSING><ORDER=<FORMATTED | FREQ | INTERNAL>> ...;\\n\\n\\tCODE <COMMENT><FILE=filename><FORMATWIDTH=width> ...;\\n\\n\\tDISPLAY <CASESENSITIVE><EXCLUDE><EXCLUDEALL> ...;\\n\\n\\tDISPLAYOUT <INCLUDEALL><NOREPLACE><REPEATED> ...;\\n\\n\\tEFFECT NAME=COLLECTION|MULTIMEMBER|MM|POLYNOMIAL|POLY...  <PERIOD=variable><WITHIN=(variables) | WITHIN=variable> ...;\\n\\n\\tFREQ variable ;\\n\\n\\tMODEL DESCENDING EVENT=<'category'>|FIRST|LAST  ORDER=FORMATTED|FREQ|INTERNAL  ...;\\n\\n\\tOUTPUT <ALL><ALPHA=number><OUT=CAS-libref.data-table> ...;\\n\\n\\tPARTITION <FRACTION(< TEST=fraction > < VALIDATE=fraction > < SEED=number >)><ROLE=|ROLEVAR=variable (< TEST='value' > < TRAIN='value' > < VALIDATE='value' >)> ;\\n\\n\\tSELECTION <ADAPTIVE <(GAMMA=nonnegative number)>><CHOOSE=<AIC | AICC | SBC>><METHOD=<BACKWARD | FORWARD | FORWARDSWAP>... > ...;\\n\\n\\tWEIGHT variable;\\n\",\"arguments\":[{\"name\":\"ABSCONV=\",\"optional\":true,\"aliases\":[\"ABSTOL=\"],\"description\":\"Specifies an absolute function convergence criterion. The default value of r is the negative square root of the largest double-precision value, which serves only as a protection against overflows.\",\"type\":\"value\"},{\"name\":\"ABSFCONV=\",\"optional\":true,\"aliases\":[\"ABSFTOL=\"],\"description\":\"Specifies an absolute function difference convergence criterion. For all techniques except NMSIMP, termination requires a small change of the function value in successive iterations.\",\"type\":\"value\"},{\"name\":\"ABSGCONV=\",\"optional\":true,\"aliases\":[\"ABSGTOL=\"],\"description\":\"Specifies an absolute gradient convergence criterion. This criterion is not used by the NMSIMP technique. The optional integer value n specifies the number of successive iterations for which the criterion must be satisfied before the process can be terminated. By default, ABSGCONV=1E–5.\",\"type\":\"value\"},{\"name\":\"ABSXCONV=\",\"optional\":true,\"aliases\":[\"ABSXTOL=\"],\"description\":\"Specifies the absolute parameter convergence criterion.\",\"type\":\"value\"},{\"name\":\"ALPHA=\",\"optional\":true,\"description\":\"Specifies a global significance level for the construction of confidence intervals. The confidence level is 1 – number. The value of number must be between 0 and 1. You can override this global significance level by specifying this option in the OUTPUT Procedure. By default, ALPHA=0.05.\",\"help\":\"ALPHA=*number*\",\"type\":\"value\"},{\"name\":\"CORRB\",\"optional\":true,\"description\":\"Creates the \\\"Parameter Estimates Correlation Matrix\\\" table.\",\"type\":\"standalone\"},{\"name\":\"COVB\",\"optional\":true,\"description\":\"Creates the \\\"Parameter Estimates Covariance Matrix\\\" table.\",\"type\":\"standalone\"},{\"name\":\"DATA=\",\"optional\":true,\"description\":\"Names the input data table for PROC LOGSELECT to use. The default is the most recently created data table. CAS-libref specifies the CAS library where the input data table resides, and data-table specifies the name of the input data table.\",\"help\":\"DATA=*CAS-libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"FCONV2=\",\"optional\":true,\"aliases\":[\"FTOL2=\"],\"description\":\"Specifies a second function convergence criterion.\",\"type\":\"value\"},{\"name\":\"FCONV=\",\"optional\":true,\"aliases\":[\"FTOL=\"],\"description\":\"Specifies a relative function convergence criterion.\",\"type\":\"value\"},{\"name\":\"GCONV2=\",\"optional\":true,\"aliases\":[\"GTOL2=\"],\"description\":\"Specifies another relative gradient convergence criterion.\",\"type\":\"value\"},{\"name\":\"GCONV=\",\"optional\":true,\"aliases\":[\"GTOL=\"],\"description\":\"Specifies a relative gradient convergence criterion.\",\"type\":\"value\"},{\"name\":\"ITHIST\",\"optional\":true,\"description\":\"Generates the “Iteration History” table.\",\"type\":\"standalone\"},{\"name\":\"LASSORHO=\",\"optional\":true,\"description\":\"Specifies the base regularization parameter for the LASSO model selection method. By default, LASSORHO=0.8.\",\"help\":\"LASSORHO=*r*\",\"type\":\"value\"},{\"name\":\"LASSOSTEPS=\",\"optional\":true,\"description\":\"Specifies the maximum number of steps for LASSO model selection. By default, LASSOSTEPS=20.\",\"help\":\"LASSOSTEPS=*n*\",\"type\":\"value\"},{\"name\":\"LASSOTOL=\",\"optional\":true,\"description\":\"Specifies the convergence tolerance for the optimization algorithm that solves for the LASSO parameter estimates at each step of LASSO model selection. By default, LASSOTOL=1E–6.\",\"help\":\"LASSOTOL=*r*\",\"type\":\"value\"},{\"name\":\"MAXFUNC=\",\"optional\":true,\"aliases\":[\"MAXFU=\"],\"description\":\"Specifies the maximum number n of function calls in the optimization process. The default values are as follows, depending on the optimization technique: o TRUREG, NRRIDG, and NEWRAP: 125 o QUANEW and DBLDOG: 500 o CONGRA: 1,000 o NMSIMP: 3,000\",\"type\":\"value\"},{\"name\":\"MAXITER=\",\"optional\":true,\"aliases\":[\"MAXIT=\"],\"description\":\"Specifies the maximum number n of iterations in the optimization process. The default values are as follows, depending on the optimization technique: o TRUREG, NRRIDG, and NEWRAP: 50 o QUANEW and DBLDOG: 200 o CONGRA: 400 o NMSIMP: 1,000\",\"type\":\"value\"},{\"name\":\"MAXOPTBATCH=\",\"optional\":true,\"description\":\"Specifies the maximum number of observations to be included in a batch.\",\"help\":\"MAXOPTBATCH=*number*\",\"type\":\"value\"},{\"name\":\"MAXTIME=\",\"optional\":true,\"description\":\"Specifies an upper limit of r seconds of CPU time for the optimization process. The time specified by r is checked only once at the end of each iteration. Therefore, the actual running time can be longer than r . The default value is the largest floating-point double representation of your computer.\",\"help\":\"MAXTIME=*r*\",\"type\":\"value\"},{\"name\":\"MINITER=\",\"optional\":true,\"aliases\":[\"MINIT=\"],\"description\":\"Specifies the minimum number of iterations. If you request more iterations than are actually needed for convergence to a stationary point, the optimization algorithms can behave strangely. For example, the effect of rounding errors can prevent the algorithm from continuing for the required number of iterations. By default, MINITER=0.\",\"type\":\"value\"},{\"name\":\"NOCHECK\",\"optional\":true,\"description\":\"Disables the checking process that determines whether maximum likelihood estimates of the regression parameters exist.\",\"type\":\"standalone\"},{\"name\":\"NOCLPRINT\",\"optional\":true,\"description\":\"Suppresses the display of the “Class Level Information” table if you do not specify number. If you specify number, the values of the classification variables are displayed for only those variables whose number of levels is less than number. Specifying number helps to reduce the size of the “Class Level Information” table if some classification variables have a large number of levels.\",\"type\":\"standalone\"},{\"name\":\"NORMALIZE=\",\"optional\":true,\"description\":\"Specifies whether the objective function should be normalized during the optimization by the reciprocal of the used frequency count. This option affects the values reported in the “Iteration History” table. The results reported in the “Fit Statistics” are always displayed for the nonnormalized log-likelihood function. The default is to normalize the objective function.\",\"help\":\"NORMALIZE=YES | NO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YES\",\"description\":\"Specifies that the objective function should be normalized during the optimization by the reciprocal of the used frequency count. This is the default.\",\"type\":\"standalone\"},{\"name\":\"NO\",\"description\":\"Specifies that the objective function should not be normalized during the optimization by the reciprocal of the used frequency count.\",\"type\":\"standalone\"}]},{\"name\":\"NOSTDERR\",\"optional\":true,\"description\":\"Suppresses computation of the covariance matrix and the standard errors of the regression coefficients.\",\"type\":\"standalone\"},{\"name\":\"PARTFIT\",\"optional\":true,\"description\":\"Displays fit statistics in the “Fit Statistics” table that are usually produced when your data are partitioned. This option is not required when you specify a PARTITION Procedure. The statistic that is added to the table is the average square error (or Brier score).\",\"type\":\"standalone\"},{\"name\":\"STB\",\"optional\":true,\"description\":\"Displays the standardized estimates of the parameters in the \\\"Parameter Estimates\\\" table.\",\"type\":\"standalone\"},{\"name\":\"TECHNIQUE=\",\"optional\":true,\"aliases\":[\"TECH=\"],\"description\":\"Specifies the optimization technique for obtaining maximum likelihood estimates.\",\"help\":\"TECHNIQUE=CONGRA | DBLDOG | LEVMAR | NEWRAP | NMSIMP | NRRIDG | QUANEW | TRUREG | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"CONGRA\",\"description\":\"Performs a conjugate-gradient optimization..\",\"type\":\"standalone\"},{\"name\":\"DBLDOG\",\"description\":\"Performs a version of double-dogleg optimization.\",\"type\":\"standalone\"},{\"name\":\"LEVMAR\",\"description\":\"Performs a Levenberg-Marquardt nonlinear least-squares minimization. This technique is available only with PROC NLMOD.\",\"type\":\"standalone\"},{\"name\":\"NEWRAP\",\"description\":\"Performs a Newton-Raphson optimization with line search.\",\"type\":\"standalone\"},{\"name\":\"NMSIMP\",\"description\":\"Performs a Nelder-Mead simplex optimization.\",\"type\":\"standalone\"},{\"name\":\"NRRIDG\",\"description\":\"Performs a Newton-Raphson optimization with ridging.\",\"type\":\"standalone\"},{\"name\":\"QUANEW\",\"description\":\"Performs a dual quasi-Newton optimization.\",\"type\":\"standalone\"},{\"name\":\"TRUREG\",\"description\":\"Performs a trust-region optimization\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"Performs no optimization.\",\"type\":\"standalone\"}]},{\"name\":\"XCONV=\",\"optional\":true,\"aliases\":[\"XTOL=\"],\"description\":\"Specifies the relative parameter convergence criterion. Convergence requires a small relative parameter change in subsequent iterations.\",\"type\":\"value\"}]},{\"name\":\"BY\",\"description\":\"You can specify a BY statement in PROC LOGSELECT to obtain separate analyses of observations in groups that are defined by the BY variables. If you specify more than one BY statement, only the last one specified is used.\",\"help\":\"BY variables \"},{\"name\":\"CLASS\",\"description\":\"The CLASS statement names the classification variables to be used as explanatory variables in the analysis. You can list the response variable for binary models in the CLASS statement, but this is not required.\",\"help\":\"CLASS &lt;DESCENDING&gt;&lt;MISSING&gt;&lt;ORDER=&lt;FORMATTED | FREQ | INTERNAL&gt;&gt; ...\",\"arguments\":[{\"name\":\"DESCENDING\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"DESC\"],\"description\":\"Reverses the sort order of the classification variable. If both the DESCENDING and ORDER= options are specified, the procedure orders the categories according to the ORDER= option and then reverse that order.\",\"type\":\"standalone\"},{\"name\":\"MISSING\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Treats missing values (“.”, “.A”, . . . , “.Z” for numeric variables and blanks for character variables) as valid values for the CLASS variable.\",\"type\":\"standalone\"},{\"name\":\"ORDER=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the sort order for the levels of classification variables. This ordering determines which parameters in the model correspond to each level in the data.\",\"help\":\"ORDER=FORMATTED | FREQ | INTERNAL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"FORMATTED\",\"followsDelimiter\":\"/\",\"description\":\"External formatted values, except for numeric variables that have no explicit format, which are sorted by their unformatted (internal) values. The sort order is machine-dependent. For numeric variables for which you have supplied no explicit format, the levels are ordered by their internal values.\",\"type\":\"standalone\"},{\"name\":\"FREQ\",\"followsDelimiter\":\"/\",\"description\":\"Descending frequency count (levels that have more observations come earlier in the order)\",\"type\":\"standalone\"},{\"name\":\"INTERNAL\",\"followsDelimiter\":\"/\",\"description\":\"Unformatted value. The sort order is machine-dependent.\",\"type\":\"standalone\"}]},{\"name\":\"PARAM=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the parameterization method for the classification variable or variables.\",\"help\":\"PARAM=EFFECT | GLM | ORDINAL | POLYNOMIAL | REFERENCE | ORTHEFFECT | ORTHORDINAL | ORTHPOLY | ORTHREF\",\"type\":\"choice\",\"arguments\":[{\"name\":\"EFFECT\",\"followsDelimiter\":\"/\",\"description\":\"Specifies effect coding.\",\"type\":\"standalone\"},{\"name\":\"GLM\",\"followsDelimiter\":\"/\",\"description\":\"Specifies less-than-full-rank, reference-cell coding; this option can be used only as a global option.\",\"type\":\"standalone\"},{\"name\":\"ORDINAL\",\"followsDelimiter\":\"/\",\"aliases\":[\"THERMOMETER\"],\"description\":\"Specifies the cumulative parameterization for an ordinal CLASS variable.\",\"type\":\"standalone\"},{\"name\":\"POLYNOMIAL\",\"followsDelimiter\":\"/\",\"aliases\":[\"POLY\"],\"description\":\"Specifies polynomial coding.\",\"type\":\"standalone\"},{\"name\":\"REFERENCE\",\"followsDelimiter\":\"/\",\"aliases\":[\"REF\"],\"description\":\"Specifies reference-cell coding.\",\"type\":\"standalone\"},{\"name\":\"ORTHEFFECT\",\"followsDelimiter\":\"/\",\"description\":\"Orthogonalizes PARAM=EFFECT.\",\"type\":\"standalone\"},{\"name\":\"ORTHORDINAL\",\"followsDelimiter\":\"/\",\"aliases\":[\"ORTHOTHERM\"],\"description\":\"Orthogonalizes PARAM=ORDINAL.\",\"type\":\"standalone\"},{\"name\":\"ORTHPOLY\",\"followsDelimiter\":\"/\",\"description\":\"Orthogonalizes PARAM=POLYNOMIAL.\",\"type\":\"standalone\"},{\"name\":\"ORTHREF\",\"followsDelimiter\":\"/\",\"description\":\"Orthogonalizes PARAM=REFERENCE.\",\"type\":\"standalone\"}]},{\"name\":\"REFERENCE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"REF=\"],\"description\":\"Specifies the reference level that is used when you specify a nonsingular parameterization.\",\"help\":\"REFERENCE=&lt;'*level*'&gt; | FIRST | LAST\",\"type\":\"choice\",\"arguments\":[{\"name\":\"'level'\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the level of the variable to use as the reference level. Replace <'level'> with an actual value.\",\"type\":\"value\"},{\"name\":\"FIRST\",\"followsDelimiter\":\"/\",\"description\":\"Designates the first ordered level as reference. You can specify this value either for an individual variable option or for a global-option.\",\"type\":\"standalone\"},{\"name\":\"LAST\",\"followsDelimiter\":\"/\",\"description\":\"Designates the last ordered level as reference. You can specify this value either for an individual variable option or for a global-option.\",\"type\":\"standalone\"}]},{\"name\":\"SPLIT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies that design matrix columns that correspond to any effect that contains a split classification variable can be selected to enter or leave a model independently of the other design columns of that effect.\",\"type\":\"standalone\"}]},{\"name\":\"CODE\",\"description\":\"The CODE statement writes SAS DATA step code for computing predicted values of the fitted model either to a file or to a catalog entry. This code can then be included in a DATA step to score new data.\",\"help\":\"CODE &lt;COMMENT&gt;&lt;FILE=filename&gt;&lt;FORMATWIDTH=width&gt; ...\",\"arguments\":[{\"name\":\"COMMENT\",\"optional\":true,\"description\":\"Adds comments to the generated code.\",\"type\":\"standalone\"},{\"name\":\"FILE=\",\"optional\":true,\"description\":\"Names the external file that saves the generated code. When enclosed in a quoted string (for example, FILE=\\\"c:nmydirnscorecode.sas\\\"), this option specifies the path and filename for writing the code to an external file. If you do not specify a path but your SAS client has a default path, then the code is written to an external file named filename at that location. You can also specify an unquoted filename of no more than eight characters. If the filename is assigned as a fileref in a Base SAS FILENAME statement, the file specified in the FILENAME statement is opened; otherwise, if your SAS client has a default path, an external file named filename is created.\",\"help\":\"FILE=*filename*\",\"type\":\"value\"},{\"name\":\"FORMATWIDTH=\",\"optional\":true,\"description\":\"Specifies the width to use in formatting derived numbers such as parameter estimates. You can specify a value in the range 4 to 32; the default is 20.\",\"help\":\"FORMATWIDTH=*width*\",\"type\":\"value\"},{\"name\":\"INDENTSIZE=\",\"optional\":true,\"description\":\"Specifies the number of spaces to indent the generated code. You can specify a value in the range 0 to 10; the default is 3.\",\"help\":\"INDENTSIZE=*n*\",\"type\":\"value\"},{\"name\":\"LABELID=\",\"optional\":true,\"description\":\"Specifies a number used to construct array names and statement labels in the generated code. You can specify a value in the range 0 to 1024; the default is randomly chosen.\",\"help\":\"LABELID=*value*\",\"type\":\"value\"},{\"name\":\"LINESIZE=\",\"optional\":true,\"aliases\":[\"LS=\"],\"description\":\"Specifies the line size for the generated code. You can specify a value in the range 64 to 254; the default is 120.\",\"help\":\"LINESIZE=*value*\",\"type\":\"value\"},{\"name\":\"NOTRIM\",\"optional\":true,\"description\":\"Bases comparisons of formatted values on the full format width, including blank padding. By default, blanks at the beginning and end of strings are ignored.\",\"type\":\"standalone\"},{\"name\":\"PCATALL\",\"optional\":true,\"description\":\"Generates probabilities for all levels of categorical response variables.\",\"type\":\"standalone\"}]},{\"name\":\"DISPLAY\",\"description\":\"The DISPLAY statement enables you to specify a list of ODS tables to display or exclude. This statement is similar to the ODS SELECT, ODS EXCLUDE, and ODS TRACE statements. However, the DISPLAY statement can improve performance when a large number of tables could be generated (such as in BY-group processing). The procedure processes the DISPLAY statement on a CAS server and thus sends only a subset of ODS tables to the SAS client. Because ODS statements are processed on a SAS client, all ODS tables are sent to the client and then the client creates a subset. If both DISPLAY and ODS statements are used together, the DISPLAY statement takes precedence over the ODS statements.\",\"help\":\"DISPLAY &lt;CASESENSITIVE&gt;&lt;EXCLUDE&gt;&lt;EXCLUDEALL&gt; ...\",\"arguments\":[{\"name\":\"CASESENSITIVE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Performs a case-sensitive comparison of table names in the table-list to ODS table names when tables are subsetted for display. To preserve case, you must enclose table names in the table-list in quotation marks.\",\"type\":\"standalone\"},{\"name\":\"EXCLUDE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays all ODS tables except those specified in the table-list.\",\"type\":\"standalone\"},{\"name\":\"EXCLUDEALL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Suppresses display of all tables. This option takes precedence over the other options.\",\"type\":\"standalone\"},{\"name\":\"TRACE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays the ODS table names, labels, and paths.\",\"type\":\"standalone\"}]},{\"name\":\"DISPLAYOUT\",\"description\":\"The DISPLAYOUT statement enables you to create CAS output tables from your displayed output. This statement is similar to the ODS OUTPUT statement. The table-spec-list specifies a list of CAS output tables to create. Each entry in the list has either a key or a key=value format: key=value specifies key as the ODS table name, path, or partial pathname, and specifies value as the CAS output table name. key specifies key as the ODS table name and also as the CAS output table name. Table names and partial pathnames are discussed under the DISPLAY statement. The DISPLAYOUT statement does not support regular expressions.\",\"help\":\"DISPLAYOUT &lt;INCLUDEALL&gt;&lt;NOREPLACE&gt;&lt;REPEATED&gt; ...\",\"arguments\":[{\"name\":\"INCLUDEALL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Creates output CAS tables for all display tables. The name of the created output CAS table is the same as the corresponding display table name. If you specify this option, the table-spec-list specification is ignored.\",\"type\":\"standalone\"},{\"name\":\"NOREPLACE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Does not replace an existing CAS output table of the same name.\",\"type\":\"standalone\"},{\"name\":\"REPEATED\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Replicates the CAS output tables on all nodes.\",\"type\":\"standalone\"}]},{\"name\":\"EFFECT\",\"description\":\"The EFFECT statement enables you to construct special collections of columns for design matrices. These collections are referred to as constructed effects to distinguish them from the usual model effects that are formed from continuous or classification variables.\",\"help\":\"EFFECT NAME=COLLECTION|MULTIMEMBER|MM|POLYNOMIAL|POLY...  &lt;PERIOD=variable&gt;&lt;WITHIN=(variables) | WITHIN=variable&gt; ...\",\"arguments\":[{\"name\":\"NAME=\",\"description\":\"Replace 'NAME' with the name of the effect, specified after the EFFECT keyword. This name can appear in only one EFFECT statement and cannot be the name of a variable in the input data set.\",\"help\":\"NAME=COLLECTION | MULTIMEMBER | POLYNOMIAL | SPLINE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"COLLECTION\",\"description\":\"Is a collection effect that defines one or more variables as a single effect with multiple degrees of freedom. The variables in a collection are considered as a unit for estimation and inference. Option(s) available (specified after a slash (/) following the variable list): DETAILS Displays the constituents of the collection effect\",\"type\":\"standalone\"},{\"name\":\"MULTIMEMBER\",\"aliases\":[\"MM\"],\"description\":\"Is a multimember classification effect whose levels are determined by one or more variables that appear in a CLASS statement. Options available (specified after a slash (/) following the variable list): DETAILS displays the levels of the multimember effect NOEFFECT specifies that observations with all missing levels for the multimember variables should have zero values in the corresponding design matrix columns STDIZE Standardizes the design matrix entries so that each observation has a sum of 1 WEIGHT= specifies the weight variable for the contributions of each of the classification effects\",\"type\":\"standalone\"},{\"name\":\"POLYNOMIAL\",\"aliases\":[\"POLY\"],\"description\":\"Is a multivariate polynomial effect in the specified numeric variables. Options available (specified after a slash (/) following the variable list): DEGREE= specifies the degree of the polynomial DETAILS displays details of the specified polynomial MDEGREE= specifies the maximum degree of any variable in a term of the polynomial NOSEPARATE treats the polynomial as a single effect with multiple degrees of freedom STANDARDIZE= specifies centering and scaling suboptions for the variables that define the polynomial\",\"type\":\"standalone\"},{\"name\":\"SPLINE\",\"description\":\"Is a regression spline effect whose columns are univariate spline expansions of one or more variables. A spline expansion replaces the original variable with an expanded or larger set of new variables. Options available (specified after a slash (/) following the variable list): BASIS= specifies the type of basis (B-spline basis or truncated power function basis) for the spline expansion DATABOUNDARY uses the extremes of the data as boundary knots for a B-spline basis DEGREE= specifies the degree of the spline transformation DETAILS displays the knots and locations for each spline basis function KNOTMAX= requests equally spaced right-side boundary knots starting at the variables’ maximum and ending at the KNOTMAX= value KNOTMETHOD= specifies how to construct the knots for spline effects KNOTMIN= requests equally spaced left-side boundary knots starting at the KNOTMAX= value and ending at the variables’ minimum value\",\"type\":\"standalone\"}]},{\"name\":\"BASIS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"[For the SPLINE effect-type only] Specifies a basis for the spline expansion.\",\"help\":\"BASIS=BSPLINE | TPF\",\"type\":\"choice\",\"arguments\":[{\"name\":\"BSPLINE\",\"followsDelimiter\":\"/\",\"description\":\"Specifies a B-spline basis for the spline expansion.\",\"type\":\"standalone\"},{\"name\":\"TPF\",\"followsDelimiter\":\"/\",\"description\":\"Syntax: TPF(options) Specifies a truncated power function basis for the spline expansion. You can modify the number of columns when you request BASIS=TPF with the following options: NOINT excludes the intercept column. NOPOWERS excludes the intercept and polynomial columns.\",\"type\":\"standalone\"}]},{\"name\":\"DATABOUNDARY\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"[For the SPLINE effect-type only] Specifies that the extremes of the data be used as boundary knots when building a B-spline basis.\",\"type\":\"standalone\"},{\"name\":\"DEGREE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"\",\"help\":\"DEGREE=*n*\",\"type\":\"value\"},{\"name\":\"DESIGNROLE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"\",\"help\":\"DESIGNROLE=*variable*\",\"type\":\"value\"},{\"name\":\"DETAILS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"[For the LAG | COLLECTION | MULTIMEMBER | POLYNOMIAL |SPLINE effect-type] Requests a table that shows the (1) lag design matrix of the lag effect, or (2) constituents of the collection effect, or (3) levels of the multimember effect, or (4) details of the specified polynomial, or (5) knot locations and the knots associated with each spline basis function.\",\"type\":\"standalone\"},{\"name\":\"KNOTMAX=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"\",\"help\":\"KNOTMAX=*value*\",\"type\":\"value\"},{\"name\":\"KNOTMETHOD=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"[For the SPLINE effect-type only] Specifies how to construct the knots for spline effects.\",\"help\":\"KNOTMETHOD=EQUAL | LIST | LISTWITHBOUNDARY | MULTISCALE | PERCENTILES | RANGEFRACTIONS\",\"type\":\"choice\",\"arguments\":[{\"name\":\"EQUAL\",\"followsDelimiter\":\"/\",\"description\":\"Syntax: EQUAL<(n)> Specifies that n equally spaced knots be positioned between the extremes of the data. The default is n=3. For a B-spline basis, any needed boundary knots continue to be equally spaced unless the DATABOUNDARY option has also been specified. KNOTMETHOD=EQUAL is the default if no knot-method is specified.\",\"type\":\"standalone\"},{\"name\":\"LIST\",\"followsDelimiter\":\"/\",\"description\":\"Syntax: LIST(number-list) Specifies the list of internal knots to be used in forming the spline basis columns. For a B-spline basis, the data extremes are used as boundary knots.\",\"type\":\"standalone\"},{\"name\":\"LISTWITHBOUNDARY\",\"followsDelimiter\":\"/\",\"description\":\"Syntax: LISTWITHBOUNDARY(number-list) Specifies the list of all knots that are used in forming the spline basis columns.\",\"type\":\"standalone\"},{\"name\":\"MULTISCALE\",\"followsDelimiter\":\"/\",\"description\":\"Syntax: MULTISCALE<(multiscale-options)> Specifies that multiple B-spline bases be generated, corresponding to sets with an increasing number of internal knots. You can control which scales are included with the following multiscale-options: STARTSCALE=n specifies the start scale, where n is a positive integer. The default is STARTSCALE=0. ENDSCALE=n specifies the end scale, where n is a positive integer. The default is ENDSCALE=7.\",\"type\":\"standalone\"},{\"name\":\"PERCENTILES\",\"followsDelimiter\":\"/\",\"description\":\"Syntax: PERCENTILES(n) Requests that internal knots be placed at n equally spaced percentiles of the variable or variables named in the EFFECT statement.\",\"type\":\"standalone\"},{\"name\":\"RANGEFRACTIONS\",\"followsDelimiter\":\"/\",\"description\":\"Syntax: RANGEFRACTIONS(fraction-list) Requests that internal knots be placed at each fraction of the ranges of the variables in the EFFECT statement.\",\"type\":\"standalone\"}]},{\"name\":\"KNOTMIN=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"\",\"help\":\"KNOTMIN=*value*\",\"type\":\"value\"},{\"name\":\"LABELSTYLE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"\",\"help\":\"LABELSTYLE=EXPAND | EXPONENT | INCLUDENAME | PRODUCTSYMBOL=\",\"type\":\"choice\",\"arguments\":[{\"name\":\"EXPAND\",\"followsDelimiter\":\"/\",\"description\":\"Specifies that each variable with an exponent greater than 1 be written as products of that variable.\",\"type\":\"standalone\"},{\"name\":\"EXPONENT\",\"followsDelimiter\":\"/\",\"description\":\"Syntax: EXPONENT <=quoted string> Specifies that each variable with an exponent greater than 1 be written using exponential notation. By default, the symbol ^ is used as the exponentiation operator. If you supply the optional quoted string after an equal sign, then that string is used as the exponentiation operator.\",\"type\":\"standalone\"},{\"name\":\"INCLUDENAME\",\"followsDelimiter\":\"/\",\"description\":\"Specifies that the name of the effect followed by an underscore be used as a prefix for term labels.\",\"type\":\"standalone\"},{\"name\":\"PRODUCTSYMBOL=\",\"followsDelimiter\":\"/\",\"description\":\"Syntax: PRODUCTSYMBOL=NONE | quoted string Specifies that the supplied string be used as the product symbol.\",\"type\":\"value\"}]},{\"name\":\"MDEGREE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"\",\"help\":\"MDEGREE=*n*\",\"type\":\"value\"},{\"name\":\"NATURALCUBIC\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"[For the SPLINE effect-type only] Uses a natural cubic spline basis for the spline expansion. Natural cubic splines, also known as restricted cubic splines, are cubic splines that are constrained to be linear beyond the extreme knots.\",\"type\":\"standalone\"},{\"name\":\"NLAG=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"\",\"type\":\"value\"},{\"name\":\"NOEFFECT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"[For the MULTIMEMBER effect-type only] Specifies that, for observations with all missing levels of the multimember variables, the values in the corresponding design matrix columns be set to zero.\",\"type\":\"standalone\"},{\"name\":\"NOSEPARATE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"[For the POLYNOMIAL effect-type only] Specifies that the polynomial be treated as a single effect with multiple degrees of freedom. The effect name that you specify is used as the constructed effect name, and the labels of the terms are used as labels of the corresponding parameters.\",\"type\":\"standalone\"},{\"name\":\"PERIOD=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the period variable of the LAG design. The number of periods is the number of unique formatted values of the PERIOD= variable, and the ordering of the period is formed by sorting these formatted values in ascending order. You must specify a PERIOD= variable.\",\"help\":\"PERIOD=*variable*\",\"type\":\"value\"},{\"name\":\"SEPARATE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"[For the SPLINE effect-type only] Specifies that when multiple variables are specified in the EFFECT statement, the spline basis for each variable be treated as a separate effect. The names of these separated effects are formed by appending an underscore followed by the name of the variable to the name that you specify in the EFFECT statement.\",\"type\":\"standalone\"},{\"name\":\"SPLIT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"[For the SPLINE effect-type only] Specifies that each individual column in the design matrix that corresponds to the spline effect be treated as a separate effect that can enter or leave the model independently. Names for these split effects are generated by appending the variable name and an index for each column to the name that you specify in the EFFECT statement.\",\"type\":\"standalone\"},{\"name\":\"STANDARDIZE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies that the variables that define the polynomial be standardized. By default, the standardized variables receive prefix \\\"s_\\\" in the variable names. You can use the following centerscale-opts to specify how the center and scale are estimated: METHOD=MOMENTS specifies that the center be estimated by the variable mean and the scale be estimated by the standard deviation. METHOD=RANGE specifies that the center be estimated by the midpoint of the variable range and the scale be estimated as half the variable range. METHOD=WMOMENTS is the same as METHOD=MOMENTS except that weighted means and weighted standard deviations are used.\",\"help\":\"STANDARDIZECENTER | CENTERSCALE | NONE | SCALE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"CENTER\",\"followsDelimiter\":\"/\",\"description\":\"Specifies that variables be centered but not scaled.\",\"type\":\"standalone\"},{\"name\":\"CENTERSCALE\",\"followsDelimiter\":\"/\",\"description\":\"Specifies that variables be centered and scaled. This is the default if you do not specify a standardization-opt.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"followsDelimiter\":\"/\",\"description\":\"Specifies that no standardization be performed.\",\"type\":\"standalone\"},{\"name\":\"SCALE\",\"followsDelimiter\":\"/\",\"description\":\"Specifies that variables be scaled but not centered.\",\"type\":\"standalone\"}]},{\"name\":\"STDIZE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"[For the MULTIMEMBER effect-type only] Specifies that for each observation, the entries in the design matrix that corresponds to the multimember effect be scaled to have a sum of one.\",\"type\":\"standalone\"},{\"name\":\"WEIGHT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"\",\"help\":\"WEIGHT=*wght-list*\",\"type\":\"value\"},{\"name\":\"WITHIN=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"\",\"type\":\"value\"}]},{\"name\":\"FREQ\",\"description\":\"The variable in the FREQ statement identifies a numeric variable in the data set that contains the frequency of occurrence of each observation. PROC LOGSELECT treats each observation as if it appears f times, where f is the value of the FREQ variable for the observation. If f is not an integer, it is truncated to an integer. If f is less than 1 or missing, the observation is not used in the analysis. When the FREQ statement is not specified, each observation is assigned a frequency of 1.\",\"help\":\"FREQ variable \"},{\"name\":\"MODEL\",\"description\":\"The MODEL statement defines the statistical model in terms of a response variable (the target) or an events/trials specification, model effects that are constructed from variables in the input data table, and model-options. An intercept is included in the model by default. You can remove the intercept by specifying the NOINT option. You can specify a single response variable that contains your response values. When you have binomial data, you can specify the events/trials form of the response, where one variable contains the number of positive responses (or events) and another variable contains the number of trials. Note that the values of both events and (trials – events) must be nonnegative and the value of trials must be positive.\",\"help\":\"MODEL DESCENDING EVENT=&lt;'category'&gt;|FIRST|LAST  ORDER=FORMATTED|FREQ|INTERNAL  ...\",\"arguments\":[{\"name\":\"DESCENDING\",\"aliases\":[\"DESC\"],\"description\":\"Reverses the order of the response categories. If you specify both the DESCENDING and ORDER= options, PROC LOGSELECT orders the response categories according to the ORDER= option and then reverses that order.\",\"type\":\"standalone\"},{\"name\":\"EVENT=\",\"description\":\"specifies the event category for the binary response model. PROC LOGSELECT models the probability of the event category. The EVENT= option has no effect when there are more than two response categories.\",\"help\":\"EVENT=&lt;'*category*'&gt; | FIRST | LAST\",\"type\":\"choice\",\"arguments\":[{\"name\":\"'category'\",\"placeholder\":true,\"description\":\"Specifies the value (formatted, if a format is applied) of the event category in quotation marks. Replace <'category'> with an actual value.\",\"type\":\"value\"},{\"name\":\"FIRST\",\"description\":\"Designates the first ordered category as the event.\",\"type\":\"standalone\"},{\"name\":\"LAST\",\"description\":\"Designates the last ordered category as the event.\",\"type\":\"standalone\"}]},{\"name\":\"ORDER=\",\"description\":\"Specifies the sort order for the levels of the response variable. When ORDER=FORMATTED (the default) for numeric variables for which you have supplied no explicit format (that is, for which there is no corresponding FORMAT statement in the current PROC LOGSELECT run or in the DATA step that created the data table), the levels are ordered by their internal (numeric) value.\",\"help\":\"ORDER=FORMATTED | FREQ | INTERNAL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"FORMATTED\",\"description\":\"External formatted values, except for numeric variables that have no explicit format, which are sorted by their unformatted (internal) values. The sort order is machine-dependent. For numeric variables for which you have supplied no explicit format, the levels are ordered by their internal values.\",\"type\":\"standalone\"},{\"name\":\"FREQ\",\"description\":\"Descending frequency count (levels that have more observations come earlier in the order)\",\"type\":\"standalone\"},{\"name\":\"INTERNAL\",\"description\":\"Unformatted value. The sort order is machine-dependent.\",\"type\":\"standalone\"}]},{\"name\":\"REF=\",\"description\":\"Specifies the reference category for the binary response model. Specifying one response category as the reference is the same as specifying the other response category as the event.\",\"help\":\"REF=&lt;'*category*'&gt; | FIRST | LAST\",\"type\":\"choice\",\"arguments\":[{\"name\":\"'category'\",\"placeholder\":true,\"description\":\"Specifies the value (formatted, if a format is applied) of the reference category in quotation marks.\",\"type\":\"value\"},{\"name\":\"FIRST\",\"description\":\"Designates the first ordered category as the reference.\",\"type\":\"standalone\"},{\"name\":\"LAST\",\"description\":\"Designates the last ordered category as the reference.\",\"type\":\"standalone\"}]},{\"name\":\"CLB\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"CL\"],\"description\":\"Constructs confidence limits for each of the parameter estimates. The confidence level is 0.95 by default; you can change it by specifying the ALPHA= option.\",\"type\":\"standalone\"},{\"name\":\"INCLUDE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Forces effects to be included in all models. If you specify INCLUDE=n, then the first n effects that are listed in the MODEL statement are included in all models. If you specify INCLUDE=single-effect or if you specify a list of effects within parentheses, then the specified effects are forced into all models. The effects that you specify in the INCLUDE= option must be explanatory effects that are specified in the MODEL statement before the slash (/).\",\"type\":\"value\"},{\"name\":\"INFORMATIVE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Models missing values by using extra model effects. These effects consist of dummy variables that take the value 1 when the value of a continuous model variable involved in the effect is missing, and take the value 0 otherwise. The missing value in the original model effect is replaced by the average value of the effect for the nonmissing values. For continuous-by-class effects, such as A*x, where A is a classification variable and x is a continuous variable, informative missingness creates multiple dummy columns and substitutes the effect mean of x that corresponds to the respective level of A. Missing values for classification variables are treated as valid levels.\",\"type\":\"standalone\"},{\"name\":\"LINK=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the link function for the model. The default link is the logit.\",\"help\":\"LINK=CLOGLOG | LOGIT | LOGLOG | PROBIT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"CLOGLOG\",\"followsDelimiter\":\"/\",\"description\":\"Complementary log-log link function\",\"type\":\"standalone\"},{\"name\":\"LOGIT\",\"followsDelimiter\":\"/\",\"description\":\"Logit link function\",\"type\":\"standalone\"},{\"name\":\"LOGLOG\",\"followsDelimiter\":\"/\",\"description\":\"Log-log link function\",\"type\":\"standalone\"},{\"name\":\"PROBIT\",\"followsDelimiter\":\"/\",\"description\":\"Probit link function\",\"type\":\"standalone\"}]},{\"name\":\"NOINT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that no intercept be included in the model. An intercept is included by default. The NOINT option is not available in multinomial models.\",\"type\":\"standalone\"},{\"name\":\"OFFSET=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies a variable to be used as an offset to the linear predictor. An offset plays the role of an effect whose coefficient is known to be 1. The offset variable cannot appear in the CLASS statement or elsewhere in the MODEL statement. Observations that have missing values for the offset variable are excluded from the analysis.\",\"help\":\"OFFSET=*variable*\",\"type\":\"value\"},{\"name\":\"START=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Begins the selection process from the designated initial model for the forward selection method. If you specify START=n, then the starting model includes the first n effects that are listed in the MODEL statement. If you specify START=single-effect or START=(effects), then the starting model includes those specified effects. The effects that you specify in the START= option must be explanatory effects that are specified in the MODEL statement before the slash (/). This option is not available when you specify METHOD=BACKWARD in the SELECTION statement.\",\"type\":\"value\"},{\"name\":\"TYPE3\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that Wald statistics for Type 3 contrasts be computed for each effect that is specified in the MODEL statement.\",\"type\":\"standalone\"}]},{\"name\":\"OUTPUT\",\"description\":\"however, variables that you specify in the COPYVAR= option are included.\",\"help\":\"OUTPUT &lt;ALL&gt;&lt;ALPHA=number&gt;&lt;OUT=CAS-libref.data-table&gt; ...\",\"arguments\":[{\"name\":\"ALL\",\"optional\":true,\"aliases\":[\"ALLSTAT\"],\"description\":\"Adds all available statistics to the output data table.\",\"type\":\"standalone\"},{\"name\":\"ALPHA=\",\"optional\":true,\"description\":\"Specifies the significance level for the construction of confidence intervals in the output data table. The confidence level is 1 - number. The value of number must be between 0 and 1. By default, number is equal to the value of the ALPHA= option in the PROC LOGSELECT statement, or 0.05 if that option is not specified.\",\"help\":\"ALPHA=*number*\",\"type\":\"value\"},{\"name\":\"CBAR\",\"optional\":true,\"description\":\"Specifies the confidence interval displacement diagnostic that measures the overall change in the global regression estimates that results from deleting an individual observation. The default name is _CBAR_.\",\"type\":\"standalone\"},{\"name\":\"COPYVAR=\",\"optional\":true,\"aliases\":[\"COPYVARS=\"],\"description\":\"Lists one or more variables from the input data table that are transferred to the scored output data table, provided that the output data table produces one or more records per input observation. By default, the KCLUS procedure does not transfer any variables from the input data table to the output data table. The COPYVARS= option accepts numeric and character variables.\",\"type\":\"value\"},{\"name\":\"DIFCHISQ\",\"optional\":true,\"description\":\"Specifies the change in the chi-square goodness-of-fit statistic that results from deleting the individual observation. The default name is _DIFCHISQUARE_.\",\"type\":\"standalone\"},{\"name\":\"DIFDEV\",\"optional\":true,\"description\":\"Specifies the change in the deviance that results from deleting the individual observation. The default name is _DIFDEVIANCE_.\",\"type\":\"standalone\"},{\"name\":\"FIXEDOFFSET=\",\"optional\":true,\"description\":\"Specifies a value to use as an offset to the linear predictor instead of obtaining the value from the offset variable. This option is ignored unless you also specify the OFFSET= variable in the MODEL statement.\",\"help\":\"FIXEDOFFSET=*number*\",\"type\":\"value\"},{\"name\":\"H\",\"optional\":true,\"description\":\"Specifies the diagonal element of the hat matrix (leverage) for detecting extreme points in the design space. The default name is _HATDIAG_.\",\"type\":\"standalone\"},{\"name\":\"INDIVIDUAL\",\"optional\":true,\"aliases\":[\"IPRED\",\"IPROB\",\"IP\"],\"description\":\"Specifies the individual predicted values for multinomial response variables.\",\"type\":\"standalone\"},{\"name\":\"INTO\",\"optional\":true,\"description\":\"Names the variable that contains the level of the response into which an observation is classified. The default name is _INTO_.\",\"type\":\"standalone\"},{\"name\":\"LCLM\",\"optional\":true,\"aliases\":[\"LOWERMEAN\",\"LOWER\"],\"description\":\"Specifies the lower confidence limits for the mean. The default name is _LCLM_. You can set the confidence level by specifying the ALPHA= option.\",\"type\":\"standalone\"},{\"name\":\"LCL\",\"optional\":true,\"aliases\":[\"LOWERXBETA\"],\"description\":\"Names the variable that contains the lower confidence limits for the linear predictor. The default name is _LCL_. You can set the confidence level by specifying the ALPHA= option.\",\"type\":\"standalone\"},{\"name\":\"LEVEL\",\"optional\":true,\"description\":\"Names the variable that contains the level of the response for a given row of the output. The default name is _LEVEL_.\",\"type\":\"standalone\"},{\"name\":\"OBSCAT\",\"optional\":true,\"description\":\"Requests (for multinomial models) that observationwise statistics be produced only for the observed response level.\",\"type\":\"standalone\"},{\"name\":\"OUT=\",\"optional\":true,\"description\":\"names the output data table for PROC LOGSELECT to use. CAS-libref.data-table is a two-level name, where CAS-libref refers to a collection of information that is defined in the LIBNAME statement and includes the caslib, which includes a path to where the data table is to be stored, and a session identifier, which defaults to the active session but which can be explicitly defined in the LIBNAME statement.\",\"help\":\"OUT=*CAS-libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"PREDICTED\",\"optional\":true,\"aliases\":[\"PRED\",\"PROB\"],\"description\":\"Specifies the predicted values (predicted probabilities of events) for the response variable. The default name is _PRED_.\",\"type\":\"standalone\"},{\"name\":\"PREDPROBS\",\"optional\":true,\"description\":\"Creates variables (for multinomial models) for each response category that corresponds to the requested IPRED and PREDICTED keywords.\",\"type\":\"standalone\"},{\"name\":\"RESCHI\",\"optional\":true,\"aliases\":[\"PEARSON\"],\"description\":\"Specifies the Pearson residual for identifying poorly fitted observations. The default name is _RESCHI_.\",\"type\":\"standalone\"},{\"name\":\"RESDEV\",\"optional\":true,\"description\":\"Specifies the deviance residual for identifying poorly fitted observations. The default name is _RESDEV_.\",\"type\":\"standalone\"},{\"name\":\"RESLIK\",\"optional\":true,\"description\":\"Specifies the likelihood residual for identifying poorly fitted observations. The default name is _RESLIK_.\",\"type\":\"standalone\"},{\"name\":\"RESRAW\",\"optional\":true,\"aliases\":[\"RESIDUAL\"],\"description\":\"Specifies the raw residual for identifying poorly fitted observations. The default name is _RESRAW_.\",\"type\":\"standalone\"},{\"name\":\"RESWORK\",\"optional\":true,\"description\":\"Specifies the working residual for identifying poorly fitted observations. The default name is _RESWORK_.\",\"type\":\"standalone\"},{\"name\":\"ROLE\",\"optional\":true,\"description\":\"Specifies the numeric variable that indicates the role played by each observation in fitting the model. The default name is _ROLE_. Table 9.10 shows how this variable is interpreted for each observation.\",\"type\":\"standalone\"},{\"name\":\"STDRESCHI\",\"optional\":true,\"description\":\"Specifies the standardized Pearson (chi-square) residual for identifying observations that are poorly accounted for by the model. The default name is _STDRESCHI_.\",\"type\":\"standalone\"},{\"name\":\"STDRESDEV\",\"optional\":true,\"description\":\"Specifies the standardized deviance residual for identifying poorly fitted observations. The default name is _STDRESDEV_.\",\"type\":\"standalone\"},{\"name\":\"STDXBETA\",\"optional\":true,\"description\":\"Specifies the standard error estimates of XBETA. The default name is _STDXBETA_.\",\"type\":\"standalone\"},{\"name\":\"UCLM\",\"optional\":true,\"aliases\":[\"UPPERMEAN\",\"UPPER\"],\"description\":\"Specifies the variable that contains the upper confidence limits for the mean. The default name is _LCLM_. You can set the confidence level by specifying the ALPHA= option.\",\"type\":\"standalone\"},{\"name\":\"UCL\",\"optional\":true,\"aliases\":[\"UPPERXBETA\"],\"description\":\"Specifies the variable that contains the upper confidence limits for the linear predictor. The default name is _LCL_. You can set the confidence level by specifying the ALPHA= option.\",\"type\":\"standalone\"},{\"name\":\"XBETA\",\"optional\":true,\"aliases\":[\"LINP\"],\"description\":\"Specifies the linear predictor. The default name is _XBETA_.\",\"type\":\"standalone\"}]},{\"name\":\"PARTITION\",\"description\":\"The PARTITION statement specifies how observations in the input data set are logically partitioned into disjoint subsets for model training, validation, and testing.\",\"help\":\"PARTITION &lt;FRACTION(&lt; TEST=fraction &gt; &lt; VALIDATE=fraction &gt; &lt; SEED=number &gt;)&gt;&lt;ROLE=|ROLEVAR=variable (&lt; TEST='value' &gt; &lt; TRAIN='value' &gt; &lt; VALIDATE='value' &gt;)&gt;\",\"arguments\":[{\"name\":\"FRACTION=\",\"optional\":true,\"description\":\"Randomly assigns specified proportions of the observations in the input data table to the roles. You specify the proportions for testing and validation by using the TEST= and VALIDATE= suboptions. If you specify both the TEST= and VALIDATE= suboptions, then the sum of the specified fractions must be less than 1 and the remaining fraction of the observations are assigned to the training role. The SEED= option specifies an integer that is used to start the pseudorandom number generator for random partitioning of data for training, testing, and validation. If you do not specify SEED=number or if number is less than or equal to 0, the seed is generated by reading the time of day from the computer’s clock.\",\"help\":\"FRACTION=VALIDATE= | TEST= | SEED=\",\"type\":\"choice\",\"arguments\":[{\"name\":\"VALIDATE=\",\"type\":\"value\"},{\"name\":\"TEST=\",\"type\":\"value\"},{\"name\":\"SEED=\",\"type\":\"value\"}]},{\"name\":\"ROLE=\",\"optional\":true,\"aliases\":[\"ROLEVAR=\"],\"description\":\"Names the variable in the input data table whose values are used to assign roles to each observation. This variable cannot also appear as an analysis variable in other statements or options. The TEST=, TRAIN=, and VALIDATE= suboptions specify the formatted values of this variable that are used to assign observation roles. If you do not specify the TRAIN= suboption, then all observations whose role is not determined by the TEST= or VALIDATE= suboption are assigned to the training role.\",\"help\":\"ROLE=TRAIN= | VALIDATE= | TEST=\",\"type\":\"choice\",\"arguments\":[{\"name\":\"TRAIN=\",\"type\":\"value\"},{\"name\":\"VALIDATE=\",\"type\":\"value\"},{\"name\":\"TEST=\",\"type\":\"value\"}]}]},{\"name\":\"SELECTION\",\"description\":\"The SELECTION statement performs model selection by examining whether effects should be added to or removed from the model according to rules that are defined by model selection methods.\",\"help\":\"SELECTION &lt;ADAPTIVE &lt;(GAMMA=nonnegative number)&gt;&gt;&lt;CHOOSE=&lt;AIC | AICC | SBC&gt;&gt;&lt;METHOD=&lt;BACKWARD | FORWARD | FORWARDSWAP&gt;... &gt; ...\",\"arguments\":[{\"name\":\"ADAPTIVE=\",\"optional\":true,\"description\":\"Applies adaptive weights to each of the coefficients when METHOD=LASSO. Ordinary least squares estimates of the model parameters are used to form the adaptive weights. You use the GAMMA= option to specify the power transformation that is applied to the parameters in forming the adaptive weights. By default, GAMMA=1.\",\"help\":\"ADAPTIVE=GAMMA=\",\"type\":\"choice\",\"arguments\":[{\"name\":\"GAMMA=\",\"type\":\"value\"}]},{\"name\":\"CHOOSE=\",\"optional\":true,\"description\":\"Chooses from the list of models (at each step of the selection process) the model that yields the best value of the specified criterion.\",\"help\":\"CHOOSE=AIC | AICC | SBC\",\"type\":\"choice\",\"arguments\":[{\"name\":\"AIC\",\"description\":\"Specifies Akaike’s information criterion.\",\"type\":\"standalone\"},{\"name\":\"AICC\",\"description\":\"Specifies the corrected Akaike’s information criterion.\",\"type\":\"standalone\"},{\"name\":\"SBC\",\"description\":\"Specifies the Schwarz Bayesian information criterion.\",\"type\":\"standalone\"}]},{\"name\":\"COMPETITIVE\",\"optional\":true,\"description\":\"[method-option to be enclosed in parenthesis] Is applicable as a method-option only when METHOD=STEPWISE. If you specify the COMPETITIVE option, then the SELECT= criterion is evaluated for all models in which an effect currently in the model is dropped or an effect not yet in the model is added.\",\"type\":\"standalone\"},{\"name\":\"DETAILS=\",\"optional\":true,\"description\":\"Specifies the level of detail to be produced about the selection process. The default is DETAILS= SUMMARY.\",\"help\":\"DETAILS=SUMMARY | STEPS | ALL | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"SUMMARY\",\"description\":\"Produces a summary table that shows the effect that is added or removed at each step along with the criteria specified in the SELECT=, CHOOSE=, and STOP= method-options. The summary table is produced by default if you do not specify the DETAILS= option.\",\"type\":\"standalone\"},{\"name\":\"STEPS\",\"description\":\"Syntax: DETAILS=STEPS<(CANDIDATES(ALL | n))> Produces the preceding summary table and displays the results from fitting each model at each step. If you specify STEPS(CANDIDATES(n)), then the best n candidates are shown. If you specify STEPS(CANDIDATES(ALL)), then all candidates are shown.\",\"type\":\"standalone\"},{\"name\":\"ALL\",\"description\":\"Produces the preceding tables and a detailed listing of all candidates at each step along with their ranking in terms of the selection criterion for addition to or removal from the model.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"Specifies that no details be produced about the selection process.\",\"type\":\"standalone\"}]},{\"name\":\"FAST\",\"optional\":true,\"description\":\"[method-option to be enclosed in parenthesis] Implements the computational algorithm of Lawless and Singhal (1978) to compute a first-order approximation to the remaining slope estimates for each subsequent elimination of a variable from the model. When applied in backward selection, this option essentially leads to approximating the selection process as the selection process of a linear regression model in which the crossproducts matrix equals the Hessian matrix in the full model under consideration. This option is available only when METHOD=BACKWARD is specified. It is computationally efficient because the model is not fit after removal of each effect.\",\"type\":\"standalone\"},{\"name\":\"HIERARCHY=\",\"optional\":true,\"description\":\"Specifies whether and how the model hierarchy requirement is applied. You can specify that only classification effects, or both classification and continuous effects, be subject to the hierarchy requirement. This option is ignored unless you also specify one of the following options: METHOD=FORWARD, METHOD=BACKWARD, or METHOD=STEPWISE.\",\"help\":\"HIERARCHY=NONE | SINGLE | SINGLECLASS\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NONE\",\"description\":\"Specifies that model hierarchy not be maintained. Any single effect can enter or leave the model at any step of the selection process.\",\"type\":\"standalone\"},{\"name\":\"SINGLE\",\"description\":\"Specifies that only one effect enter or leave the model at one time, subject to the model hierarchy requirement.\",\"type\":\"standalone\"},{\"name\":\"SINGLECLASS\",\"description\":\"Is the same as HIERARCHY=SINGLE except that only CLASS effects are subject to the hierarchy requirement.\",\"type\":\"standalone\"}]},{\"name\":\"LSCOEFFS\",\"optional\":true,\"description\":\"[method-option to be enclosed in parenthesis] Requests a hybrid version of the LAR and LASSO methods, in which the sequence of models is determined by the LAR or LASSO algorithm but the coefficients of the parameters for the model at any step are determined by using ordinary least squares.\",\"type\":\"standalone\"},{\"name\":\"MAXEFFECTS=\",\"optional\":true,\"description\":\"Specifies the maximum number of effects in any model that is considered during the selection process. This option is ignored when METHOD=BACKWARD is specified.\",\"help\":\"MAXEFFECTS=*n*\",\"type\":\"value\"},{\"name\":\"MAXSTEPS=\",\"optional\":true,\"description\":\"Specifies the maximum number of selection steps that are performed. The default value of n is the number of effects in the SCALEMODEL or MODEL statement when METHOD=FORWARD or METHOD=BACKWARD.\",\"help\":\"MAXSTEPS=*n*\",\"type\":\"value\"},{\"name\":\"METHOD=\",\"optional\":true,\"aliases\":[\"SELECTION=\"],\"description\":\"Specifies the selection method to use.\",\"help\":\"METHOD=BACKWARD | FORWARD | FORWARDSWAP | STEPWISE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"BACKWARD\",\"description\":\"Specifies the backward elimination method.\",\"type\":\"standalone\"},{\"name\":\"FORWARD\",\"description\":\"Specifies the forward selection method.\",\"type\":\"standalone\"},{\"name\":\"FORWARDSWAP\",\"description\":\"Specifies forward-swap selection, which is an extension of the forward selection method.\",\"type\":\"standalone\"},{\"name\":\"STEPWISE\",\"description\":\"specifies the stepwise regression method.\",\"type\":\"standalone\"}]},{\"name\":\"MINEFFECTS=\",\"optional\":true,\"description\":\"Specifies the minimum number of effects in any model that is considered during backward selection. This option is ignored unless METHOD=BACKWARD is specified.\",\"help\":\"MINEFFECTS=*n*\",\"type\":\"value\"},{\"name\":\"ORDERSELECT\",\"optional\":true,\"description\":\"Specifies that effects in the selected model are displayed in the order in which they first entered the model. If you do not specify the ORDERSELECT option, then effects in the selected model are displayed in the order in which they appear in the MODEL statement.\",\"type\":\"standalone\"},{\"name\":\"PLOT=\",\"optional\":true,\"aliases\":[\"PLOTS=\"],\"description\":\"Controls the selection process plots that are produced through ODS Graphics. Each global-plot-option applies to all plots that the SELECTION statement generates, unless you alter the option by using a specific plot option that follows a plot-request. You can specify the following global-plot-options:\",\"help\":\"PLOT=ALL | COEFFICIENTS | CRITERIA | FITBYROLE  | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ALL\",\"description\":\"produces all relevant plots.\",\"type\":\"standalone\"},{\"name\":\"COEFFICIENTS\",\"description\":\"Syntax: COEFFICIENTS | COEFFICIENTPANEL <(UNPACK | UNPACKPANEL)> Creates a panel of two plots. The upper plot shows the progression of the parameter values as the selection process proceeds. The lower plot shows the progression of the CHOOSE= criterion.\",\"type\":\"standalone\"},{\"name\":\"CRITERIA\",\"description\":\"Syntax: CRITERIA | CRITERIONPANEL <(UNPACK | UNPACKPANEL)> Creates a panel of model fit criteria. If you specify the UNPACK option, then each criterion progression is shown in a separate plot.\",\"type\":\"standalone\"},{\"name\":\"FITBYROLE\",\"description\":\"Plots the progression of a fit statistic on the training, test, and validation data. The fit statistic that is displayed depends on the type of model that is being fit. The fit by role plot is not produced if you do not specify a PARTITION statement.\",\"help\":\"FITBYROLE \",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"Suppress all selection process plots, even if you specify other plot options.\",\"type\":\"standalone\"}]},{\"name\":\"SELECT=\",\"optional\":true,\"aliases\":[\"CRITERION=\"],\"description\":\"Specifies the criterion that the procedure uses to determine the order in which effects enter or leave at each step of the selection method. For each step, the effect whose addition to or removal from the current model yields the maximum improvement in the specified criterion is selected. You can use the traditional significance-level approach by specifying the SL criterion; for other supported criteria, see the chapter for the relevant procedure. This option is not valid when METHOD=LAR or METHOD=LASSO.\",\"help\":\"SELECT=AIC | AICC | SBC\",\"type\":\"choice\",\"arguments\":[{\"name\":\"AIC\",\"description\":\"Specifies Akaike’s information criterion.\",\"type\":\"standalone\"},{\"name\":\"AICC\",\"description\":\"Specifies the corrected Akaike’s information criterion.\",\"type\":\"standalone\"},{\"name\":\"SBC\",\"description\":\"Specifies the Schwarz Bayesian information criterion.\",\"type\":\"standalone\"}]},{\"name\":\"SLENTRY=\",\"optional\":true,\"aliases\":[\"SLE=\"],\"description\":\"Specifies the significance level for entry when STOP=SL or SELECT=SL. By default, SLENTRY=0.05.\",\"type\":\"value\"},{\"name\":\"SLSTAY=\",\"optional\":true,\"aliases\":[\"SLS=\"],\"description\":\"Specifies the significance level for staying in the model when STOP=SL or SELECT=SL.\",\"type\":\"value\"},{\"name\":\"STOP=\",\"optional\":true,\"description\":\"Specifies a criterion that is used to stop the selection process.\",\"help\":\"STOP=SL | NONE | &lt;*criterion*&gt;\",\"type\":\"choice\",\"arguments\":[{\"name\":\"SL\",\"description\":\"Stops the selection process at the step where the significance level of the candidate for entry is greater than the SLENTRY= value for addition steps when METHOD=FORWARD or METHOD=STEPWISE and where the significance level of the candidate for removal is greater than the SLSTAY= value when METHOD=BACKWARD or METHOD=STEPWISE.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"Stops the selection process if no suitable add or drop candidates can be found or if a size-based limit is reached.\",\"type\":\"standalone\"},{\"name\":\"criterion\",\"placeholder\":true,\"description\":\"Stops the selection process if the selection process produces a local extremum of this criterion or if a size-based limit is reached.\",\"type\":\"value\"}]},{\"name\":\"STOPHORIZON=\",\"optional\":true,\"description\":\"Specifies the number of consecutive steps at which the STOP= criterion must worsen in order for a local extremum to be detected. The stop horizon value is ignored if you also specify STOP=NONE or STOP=SL. For example, suppose that STOP=AIC and the sequence of AIC values at steps 1 to 6 of a selection are 10, 7, 4, 6, 5, 2. If STOPHORIZON=2, then the AIC criterion is deemed to have a local minimum at step 3 because the AIC value at the next two steps are greater than the value 4 that occurs at step 3. However, if STOPHORIZON=3, then the value at step 3 is not deemed to be a local minimum because the AIC value at step 6 is lower than the AIC value at step 3. When METHOD=LAR or METHOD=LASSO, n is ignored and STOPHORIZON=1 is used. By default, STOPHORIZON=3.\",\"help\":\"STOPHORIZON=*n*\",\"type\":\"value\"}]},{\"name\":\"WEIGHT\",\"description\":\"The variable in the WEIGHT statement is used as a weight to perform a weighted analysis of the data. Observations that have nonpositive or missing weights are not included in the analysis. If a WEIGHT statement is not included, all observations that are used in the analysis are assigned a weight of 1.\",\"help\":\"WEIGHT variable\"}],\"supportSiteInformation\":{\"docsetId\":\"casstat\",\"docsetVersion\":\"latest\",\"docsetTargetFile\":\"casstat_logselect_toc.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/LUA.json",
    "content": "{\"name\":\"LUA\",\"statements\":[{\"name\":\"PROC LUA\",\"description\":\"Runs Lua statements within a SAS session.\",\"help\":\"PROC LUA <INFILE='filename'><SECURELUATOKEN= \\\"digital_signature\\\"><RESTART><TERMINATE>;\\n\\t<SUBMIT <\\\"assignment(s);\\\">;>\\n\\t\\t ... Lua statements  ...\\n\\n\\t<ENDSUBMIT;>\\n                          run;\",\"arguments\":[{\"name\":\"INFILE=\",\"optional\":true,\"description\":\"identifies a source file that contains Lua statements to run within a SAS session.\",\"help\":\"INFILE= '*filename*'\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1525gzwkwpd9dn1mzq38nvtefju\"},{\"name\":\"SECURELUATOKEN=\",\"optional\":true,\"description\":\"provides a digital_signature encoded in BASE64URL encoding\",\"help\":\"SECURELUATOKEN= \\\"*digital_signature*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0krz7dxvvki07n1grtt1okr20tv\"},{\"name\":\"RESTART\",\"optional\":true,\"description\":\"resets the state of Lua code submissions for a SAS session.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1fi3sf9umb3hgn11lpwb7rdyqww\"},{\"name\":\"TERMINATE\",\"optional\":true,\"description\":\"stops maintaining the Lua code state in memory and terminates the Lua state when the LUA procedure completes. Subsequent calls to the LUA procedure begin a new instance of the Lua code state.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0fmipwzucy4u8n13z2ax1npqbhc\"}],\"supportSiteTargetFile\":\"p0lqta2cbq9b44n12h28nil7a093.htm\"},{\"name\":\"SUBMIT\",\"description\":\"Identifies the beginning of a block of Lua code. Enter Lua statements between the SUBMIT and ENDSUBMIT statements.\",\"help\":\"SUBMIT &lt;'*assignments;*'&gt;;\",\"arguments\":[{\"name\":\"assignments;\",\"optional\":true,\"placeholder\":true,\"description\":\"identifies one or more macro variable assignments that are passed to the block of Lua statements. If only one assignment is listed, then the semicolon (;) within the quotation marks is not required.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p15nqsskrf4m3fn19x5uxbrgaxqb\"}],\"supportSiteTargetFile\":\"n1e6uqw3idxgzon10b61cg120h9c.htm\"},{\"name\":\"ENDSUBMIT\",\"description\":\"Identifies the end of a block of Lua statements. Do not enter any other statement on the same line as the ENDSUBMIT statement.\",\"help\":\"ENDSUBMIT;\",\"supportSiteTargetFile\":\"n1wbamfdkaxscen1tjvyhmb30u6g.htm\"}],\"supportSiteInformation\":{\"docsetId\":\"proc\",\"docsetVersion\":\"v_002\",\"docsetTargetFile\":\"n1w8nl91tml15dn1mw9p5l8oj6hy.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/MACONTROL.json",
    "content": "{\"name\":\"MACONTROL\",\"statements\":[{\"name\":\"PROC MACONTROL\",\"description\":\"The MACONTROL procedure creates moving average control charts, which are tools for deciding whether a process is in a state of statistical control and for detecting shifts in a process average.\",\"help\":\"PROC MACONTROL <ANNOTATE2=SAS-data-set><ANNOTATE=SAS-data-set><DATA=SAS-data-set><FORMCHAR(index)='string'><GOUT=graphics-catalog><HISTORY=SAS-data-set><LIMITS=SAS-data-set><LINEPRINTER><TABLE=SAS-data-set>;     \\n\\tEWMACHART <ALPHA=value><ASYMPTOTIC><CMEANSYMBOL=color> ...;\\n\\n\\tINSET <CFILL=color | BLANK><CFILL=BLANK><CFILLH=color> ...;\\n\\n\\tMACHART <ALPHA=value><ASYMPTOTIC><CMEANSYMBOL=color> ...;\\n\",\"arguments\":[{\"name\":\"ANNOTATE2=\",\"optional\":true,\"aliases\":[\"ANNO2\"],\"description\":\"Specifies an input data set that contains appropriate annotate variables that add features to the trend chart (secondary chart) produced with the TRENDVAR= option in the EWMACHART or MACHART statement.\",\"help\":\"ANNOTATE2=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"ANNOTATE=\",\"optional\":true,\"aliases\":[\"ANNO=\"],\"description\":\"Specifies an input data set that contains appropriate annotate variables.\",\"help\":\"ANNOTATE=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"DATA=\",\"optional\":true,\"description\":\"Names an input data set that contains raw data (measurements) as observations.\",\"help\":\"DATA=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"FORMCHAR=\",\"optional\":true,\"description\":\"Defines characters used for features on line printer charts. The features associated with values of index are as follows:\",\"type\":\"value\"},{\"name\":\"GOUT=\",\"optional\":true,\"description\":\"Specifies the graphics catalog for traditional graphics output from PROC MACONTROL.\",\"help\":\"GOUT=*graphics-catalog*\",\"type\":\"dataSet\"},{\"name\":\"HISTORY=\",\"optional\":true,\"description\":\"Names an input data set that contains subgroup summary statistics (means, standard deviations, and sample sizes).\",\"help\":\"HISTORY=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"LIMITS=\",\"optional\":true,\"description\":\"Names an input data set that contains the control limit parameters for the moving average chart.\",\"help\":\"LIMITS=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"LINEPRINTER\",\"optional\":true,\"description\":\"Requests that line printer charts be produced. By default, the procedure creates traditional graphics.\",\"type\":\"standalone\"},{\"name\":\"TABLE=\",\"optional\":true,\"description\":\"Names an input data set that contains subgroup summary statistics and control limits.\",\"help\":\"TABLE=*SAS-data-set*\",\"type\":\"dataSet\"}]},{\"name\":\"EWMACHART\",\"description\":\"The EWMACHART statement creates an exponentially weighted moving average (EWMA) control chart, which is used to determine whether a process is in a state of statistical control and to detect shifts in the process average.\",\"help\":\"EWMACHART &lt;ALPHA=value&gt;&lt;ASYMPTOTIC&gt;&lt;CMEANSYMBOL=color&gt; ...\",\"arguments\":[{\"name\":\"ALLLABEL2=\",\"optional\":true,\"description\":\"Labels every point on an R, s, or trend chart with the VALUE plotted for that subgroup or with the value of a variable in the input data set.\",\"type\":\"value\"},{\"name\":\"ALLLABEL=\",\"optional\":true,\"description\":\"Labels every point on the primary chart with the VALUE plotted for that subgroup or with the value of a variable in the input data set.\",\"type\":\"value\"},{\"name\":\"ALLN\",\"optional\":true,\"description\":\"Plots summary statistics for all subgroups, regardless of whether the subgroup sample size equals the nominal control limit sample size n specified by the LIMITN= option or the variable _LIMITN_ in the LIMITS= data set.\",\"type\":\"standalone\"},{\"name\":\"ALPHA=\",\"optional\":true,\"description\":\"Requests probability limits. If you specify ALPHA=α, the control limits are computed so that the probability is α that a subgroup summary statistic exceeds its control limits.\",\"help\":\"ALPHA=*value*\",\"type\":\"value\"},{\"name\":\"ANNOTATE2=\",\"optional\":true,\"aliases\":[\"ANNO2=\"],\"description\":\"Specifies an ANNOTATE= type data set that enhances a primary chart.\",\"help\":\"ANNOTATE2=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"ANNOTATE=\",\"optional\":true,\"aliases\":[\"ANNO=\"],\"description\":\"Specifies an ANNOTATE= type data set.\",\"help\":\"ANNOTATE=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"ASYMPTOTIC\",\"optional\":true,\"description\":\"Requests constant upper and lower control limits.\",\"type\":\"standalone\"},{\"name\":\"BILEVEL\",\"optional\":true,\"description\":\"Arranges the Shewhart chart in two levels (rather than the default of one level) so that twice as much data can be displayed on a page or screen.\",\"type\":\"standalone\"},{\"name\":\"BLOCKLABELPOS=\",\"optional\":true,\"description\":\"Specifies the position of a block-variable label in the block legend.\",\"help\":\"BLOCKLABELPOS=ABOVE | LEFT | RIGHT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ABOVE\",\"description\":\"Places the label immediately above the legend.\",\"type\":\"standalone\"},{\"name\":\"LEFT\",\"description\":\"Places the label to the left of the legend.\",\"type\":\"standalone\"},{\"name\":\"RIGHT\",\"description\":\"Places the label to the right of the legend.\",\"type\":\"standalone\"}]},{\"name\":\"BLOCKLABTYPE=\",\"optional\":true,\"description\":\"Specifies how lengthy block variable values are treated when there is insufficient space to display them in the block legend.\",\"help\":\"BLOCKLABTYPE=SCALED | TRUNCATED | ROTATE | ROTATEALL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"SCALED\",\"description\":\"The values are uniformly reduced in height so that they fit.\",\"type\":\"standalone\"},{\"name\":\"TRUNCATED\",\"description\":\"Lengthy values are truncated on the right until they fit.\",\"type\":\"standalone\"},{\"name\":\"ROTATE\",\"description\":\"Rotates the values of the block variable displayed closest to the chart by 90 degreest.\",\"type\":\"standalone\"},{\"name\":\"ROTATEALL\",\"description\":\"RotateS the values of all block variables.\",\"type\":\"standalone\"}]},{\"name\":\"BLOCKPOS=\",\"optional\":true,\"description\":\"Specifies the vertical position of the legend for the values of the block variables.\",\"help\":\"BLOCKPOS=1 | 2 | 3 | 4\",\"type\":\"choice\",\"arguments\":[{\"name\":\"1\",\"description\":\"Top of chart, offset from axis frame\",\"type\":\"standalone\"},{\"name\":\"2\",\"description\":\"Top of chart, immediately above axis frame\",\"type\":\"standalone\"},{\"name\":\"3\",\"description\":\"Bottom of chart, immediately above horizontal axis\",\"type\":\"standalone\"},{\"name\":\"4\",\"description\":\"Bottom of chart, below horizontal axis label\",\"type\":\"standalone\"}]},{\"name\":\"BLOCKREFOPACITY=\",\"optional\":true,\"aliases\":[\"PHASEREFOPACITY=\",\"REFFILLOPACITY=\"],\"description\":\"Specifies the wall fill opacity for blocks and phases when transparency is used in ODS Graphics output. The value must be between 0 and 1, where 0 is completely transparent and 1 is completely opaque. The default wall fill opacity is 0.15.\",\"type\":\"value\"},{\"name\":\"BLOCKREP\",\"optional\":true,\"description\":\"Specifies that block variable values for all groups be displayed. By default, only the first block variable value in any block is displayed, and repeated block variable values are not displayed.\",\"type\":\"standalone\"},{\"name\":\"BLOCKVAR=\",\"optional\":true,\"description\":\"Specifies variables whose values are used to assign colors for filling the background of the legend associated with block variables.\",\"type\":\"value\"},{\"name\":\"BOXCONNECT=\",\"optional\":true,\"description\":\"Specifies that the points representing subgroup means, medians, maximum values, minimum values, first quartiles or third quartiles in box-and-whisker plots created with the BOXCHART statement are to be connected.\",\"help\":\"BOXCONNECT=MEAN | MEDIAN | MAX | MIN | Q1 | Q3\",\"type\":\"choice\",\"arguments\":[{\"name\":\"MEAN\",\"description\":\"Specifies that the points in box-and-whiskers plots created with the BOXCHART statement representing group means be connected with line segments.\",\"type\":\"standalone\"},{\"name\":\"MEDIAN\",\"description\":\"Specifies that the points in box-and-whiskers plots created with the BOXCHART statement representing group medians be connected with line segments.\",\"type\":\"standalone\"},{\"name\":\"MAX\",\"description\":\"Specifies that the points in box-and-whiskers plots created with the BOXCHART statement representing group maximum values be connected with line segments.\",\"type\":\"standalone\"},{\"name\":\"MIN\",\"description\":\"Specifies that the points in box-and-whiskers plots created with the BOXCHART statement representing group minimum values be connected with line segments.\",\"type\":\"standalone\"},{\"name\":\"Q1\",\"description\":\"Specifies that the points in box-and-whiskers plots created with the BOXCHART statement representing group first quartiles be connected with line segments.\",\"type\":\"standalone\"},{\"name\":\"Q3\",\"description\":\"Specifies that the points in box-and-whiskers plots created with the BOXCHART statement representing group third quartiles be connected with line segments.\",\"type\":\"standalone\"}]},{\"name\":\"BOXES=\",\"optional\":true,\"description\":\"Specifies a variable whose values are used to assign colors for the outlines of box-and-whiskers plots.\",\"type\":\"value\"},{\"name\":\"BOXFILL=\",\"optional\":true,\"description\":\"Specifies how box-and-whisker plots are filled with colors from the ODS style.\",\"help\":\"BOXFILL=&lt;*variable*&gt; | NONE | EMPTY\",\"type\":\"choice\",\"arguments\":[{\"name\":\"variable\",\"placeholder\":true,\"description\":\"You can specify a variable whose values are used to group box-and-whiskers plots for assigning fill colors from the ODS style.\",\"type\":\"standaloneOrValue\"},{\"name\":\"NONE\",\"description\":\"Produces unfilled boxes.\",\"type\":\"standalone\"},{\"name\":\"EMPTY\",\"description\":\"Produces unfilled boxes.\",\"type\":\"standalone\"}]},{\"name\":\"BOXOPACITY=\",\"optional\":true,\"description\":\"Specifies the box fill opacity for box-and-whisker charts when transparency is used in ODS Graphics output. The value must be between 0 and 1, where 0 is completely transparent and 1 is completely opaque. The default box fill opacity is 0.75.\",\"help\":\"BOXOPACITY=*value*\",\"type\":\"value\"},{\"name\":\"BOXSTYLE=\",\"optional\":true,\"description\":\"[Specifies the style of the box-and-whiskers plots displayed.\",\"help\":\"BOXSTYLE=SKELETAL | SCHEMATIC | SCHEMATICID | SCHEMATICIDFAR | POINTS | POINTSJOIN | POINTSBOX | POINTSID | POINTSJOINID | POINTSSCHEMATIC\",\"type\":\"choice\",\"arguments\":[{\"name\":\"SKELETAL\",\"description\":\"The whiskers are drawn from the edges of the box to the extreme values of the group.\",\"type\":\"standalone\"},{\"name\":\"SCHEMATIC\",\"description\":\"A whisker is drawn from the upper edge of the box to the largest observed value within the upper fence, and another is drawn from the lower edge of the box to the smallest observed value within the lower fence.\",\"type\":\"standalone\"},{\"name\":\"SCHEMATICID\",\"description\":\"A schematic box-and-whiskers plot is displayed in which an ID variable value is used to label the symbol marking each observation outside the upper and lower fences.\",\"type\":\"standalone\"},{\"name\":\"SCHEMATICIDFAR\",\"description\":\"A schematic box-and-whiskers plot is displayed in which the value of the ID variable is used to label the symbol marking each observation outside the lower and upper far fences\",\"type\":\"standalone\"},{\"name\":\"POINTS\",\"description\":\"All the values in the subgroup sample are plotted as points, and neither a box nor whiskers are drawn.\",\"type\":\"standalone\"},{\"name\":\"POINTSJOIN\",\"description\":\"All the values in the subgroup sample are plotted as points joined with a vertical line. Neither a box nor whiskers are drawn.\",\"type\":\"standalone\"},{\"name\":\"POINTSBOX\",\"description\":\"All the values in the subgroup sample are plotted as points enclosed in a box.\",\"type\":\"standalone\"},{\"name\":\"POINTSID\",\"description\":\"All the values in the subgroup sample are plotted using labels specified as the values of the first variable in the ID statement.\",\"type\":\"standalone\"},{\"name\":\"POINTSJOINID\",\"description\":\"All the values in the subgroup sample are plotted using labels specified as the values of the first variable in the ID statement, and the values are joined by a vertical line.\",\"type\":\"standalone\"},{\"name\":\"POINTSSCHEMATIC\",\"description\":\"A schematic box chart is overlaid with points plotting all observations in the subgroups.\",\"type\":\"standalone\"}]},{\"name\":\"BOXWIDTH=\",\"optional\":true,\"description\":\"Specifies the width (in horizontal percent screen units) of the box-and-whiskers plots.\",\"help\":\"BOXWIDTH=*value*\",\"type\":\"value\"},{\"name\":\"BOXWIDTHSCALE=\",\"optional\":true,\"description\":\"Specifies that the width of the box-and-whiskers plots created with the BOXCHART statement is to vary proportionately to a particular function of the group size n.\",\"help\":\"BOXWIDTHSCALE=*value*\",\"type\":\"value\"},{\"name\":\"CAXIS=\",\"optional\":true,\"aliases\":[\"CAXES=\",\"CA=\"],\"description\":\"Specifies the color for the axes and tick marks. This option overrides any COLOR= specifications in an AXIS statement.\",\"help\":\"CAXIS=*color*\",\"type\":\"color\"},{\"name\":\"CBLOCKLAB=\",\"optional\":true,\"description\":\"Specifies fill colors for the frames that enclose the block variable labels in a block legend.\",\"help\":\"CBLOCKLAB=*color*\",\"type\":\"color\"},{\"name\":\"CBLOCKVAR=\",\"optional\":true,\"description\":\"Specifies variables whose values are colors for filling the background of the legend associated with block variables.\",\"type\":\"value\"},{\"name\":\"CBOXES=\",\"optional\":true,\"description\":\"Specifies the colors for the outlines of the box-and-whiskers plots created with the BOXCHART statement.\",\"help\":\"CBOXES=*color*\",\"type\":\"color\"},{\"name\":\"CBOXFILL=\",\"optional\":true,\"description\":\"Specifies the interior fill colors for the box-and-whiskers plots created with the BOXCHART statement.\",\"help\":\"CBOXFILL=*color*\",\"type\":\"color\"},{\"name\":\"CCLIP=\",\"optional\":true,\"description\":\"Specifies a color for the plotting symbol that is specified with the CLIPSYMBOL= option to mark clipped values.\",\"help\":\"CCLIP=*color*\",\"type\":\"color\"},{\"name\":\"CCONNECT=\",\"optional\":true,\"description\":\"Specifies the color for line segments connecting points on the chart.\",\"help\":\"CCONNECT=*color*\",\"type\":\"color\"},{\"name\":\"CCOVERLAY2=\",\"optional\":true,\"description\":\"Specifies the colors for line segments connecting points on secondary chart overlays.\",\"help\":\"CCOVERLAY2=*color*\",\"type\":\"color\"},{\"name\":\"CCOVERLAY=\",\"optional\":true,\"description\":\"Specifies the colors for line segments connecting points on primary chart overlays.\",\"help\":\"CCOVERLAY=*color*\",\"type\":\"color\"},{\"name\":\"CFRAME=\",\"optional\":true,\"description\":\"Specifies the color for filling the rectangle enclosed by the axes and the frame. By default, this area is not filled. The CFRAME= option cannot be used in conjunction with the NOFRAME option.\",\"help\":\"CFRAME=*color*\",\"type\":\"color\"},{\"name\":\"CFRAMELAB=\",\"optional\":true,\"description\":\"Specifies the color for filling rectangles that frame the point labels displayed with the ALLLABEL=, ALLLABEL2=, OUTLABEL=, and OUTLABEL2= options.\",\"help\":\"CFRAMELAB=*color*\",\"type\":\"color\"},{\"name\":\"CGRID=\",\"optional\":true,\"description\":\"Specifies the color for the grid requested by the ENDGRID or GRID option. By default, the grid is the same color as the axes.\",\"help\":\"CGRID=*color*\",\"type\":\"color\"},{\"name\":\"CHREF=\",\"optional\":true,\"description\":\"Specifies the color for the lines requested by the HREF= and HREF2= options.\",\"help\":\"CHREF=*color*\",\"type\":\"color\"},{\"name\":\"CIINDICES\",\"optional\":true,\"description\":\"Requests capability index confidence limits based on subgroup summary data, calculated using \\\"effective degrees of freedom\\\". TYPE=keyword specifies the type of confidence limit. Valid values are LOWER, UPPER and TWOSIDED. The default value is TWOSIDED.\",\"type\":\"standalone\"},{\"name\":\"CINFILL=\",\"optional\":true,\"description\":\"Specifies the color for the area inside the upper and lower control limits.\",\"help\":\"CINFILL=&lt;*color*&gt; | NONE | EMPTY\",\"type\":\"choice\",\"arguments\":[{\"name\":\"color\",\"placeholder\":true,\"description\":\"Specifies the color for the area inside the upper and lower control limits.\",\"type\":\"color\"},{\"name\":\"NONE\",\"description\":\"Leaves the area between the contol limits unfilled.\",\"type\":\"standalone\"},{\"name\":\"EMPTY\",\"description\":\"Leaves the area between the contol limits unfilled.\",\"type\":\"standalone\"}]},{\"name\":\"CLABEL=\",\"optional\":true,\"description\":\"Specifies the color for labels produced by the ALLLABEL=, ALLLABEL2=, OUTLABEL=, and OUTLABEL2= options.\",\"help\":\"CLABEL=*color*\",\"type\":\"color\"},{\"name\":\"CLIMITS=\",\"optional\":true,\"description\":\"Specifies the color for the control limits, the central line, and the labels for these lines.\",\"help\":\"CLIMITS=*color*\",\"type\":\"color\"},{\"name\":\"CLIPCHAR=\",\"optional\":true,\"description\":\"Specifies a plot character that identifies clipped points, as requested with the CLIPFACTOR= option.\",\"help\":\"CLIPCHAR='*character*'\",\"type\":\"value\"},{\"name\":\"CLIPFACTOR=\",\"optional\":true,\"description\":\"Requests clipping of extreme values on the control chart. The factor that you specify determines the extent to which these values are clipped, and it must be greater than 1.\",\"help\":\"CLIPFACTOR=*factor*\",\"type\":\"value\"},{\"name\":\"CLIPLEGEND=\",\"optional\":true,\"description\":\"Specifies the label for the legend that indicates the number of clipped boxes when the CLIPFACTOR= option is used.\",\"type\":\"value\"},{\"name\":\"CLIPLEGPOS=\",\"optional\":true,\"description\":\"Specifies the position for the legend that indicates the number of clipped boxes when the CLIPFACTOR= option is used.\",\"help\":\"CLIPLEGPOS=TOP | BOTTOM\",\"type\":\"choice\",\"arguments\":[{\"name\":\"TOP\",\"description\":\"Positions the legend at the top of the chart.\",\"type\":\"standalone\"},{\"name\":\"BOTTOM\",\"description\":\"positions the legend at the bottom of the chart.\",\"type\":\"standalone\"}]},{\"name\":\"CLIPSUBCHAR=\",\"optional\":true,\"description\":\"Specifies a substitution character (such as '#') for the label provided with the CLIPLEGEND= option.\",\"help\":\"CLIPSUBCHAR='*character*'\",\"type\":\"value\"},{\"name\":\"CLIPSYMBOL=\",\"optional\":true,\"description\":\"Specifies a plot symbol used to identify clipped points on the chart and in the legend when the CLIPFACTOR= option is used.\",\"help\":\"CLIPSYMBOL=*symbol*\",\"type\":\"value\"},{\"name\":\"CLIPSYMBOLHT=\",\"optional\":true,\"description\":\"Specifies the height for the symbol marker used to identify clipped points on the chart when the CLIPFACTOR= option is used.\",\"help\":\"CLIPSYMBOLHT=*value*\",\"type\":\"value\"},{\"name\":\"CMEANSYMBOL=\",\"optional\":true,\"description\":\"Specifies the color for the symbol requested with the MEANSYMBOL= option.\",\"help\":\"CMEANSYMBOL=*color*\",\"type\":\"color\"},{\"name\":\"CNEEDLES=\",\"optional\":true,\"description\":\"Requests that points are to be connected to the central line with vertical line segments (needles) and specifies the color of the needles.\",\"help\":\"CNEEDLES=*color*\",\"type\":\"color\"},{\"name\":\"CONNECTCHAR=\",\"optional\":true,\"description\":\"Specifies the character used to form line segments that connect points on a chart. The default character is a plus (+) sign.\",\"help\":\"CONNECTCHAR='*character*'\",\"type\":\"value\"},{\"name\":\"CONTROLSTAT=\",\"optional\":true,\"description\":\"Specifies whether the control limits displayed in a box chart are to be computed for subgroup means or for subgroup medians.\",\"help\":\"CONTROLSTAT=MEAN | MEDIAN\",\"type\":\"choice\",\"arguments\":[{\"name\":\"MEAN\",\"description\":\"Specifies whether the control limits displayed in a box chart are to be computed for subgroup means.\",\"type\":\"standalone\"},{\"name\":\"MEDIAN\",\"description\":\"Specifies whether the control limits displayed in a box chart are to be computed for subgroup medians.\",\"type\":\"standalone\"}]},{\"name\":\"COUT\",\"optional\":true,\"description\":\"Specify COUT with no argument to use an appropriate contrasting color from the ODS style.\",\"type\":\"standalone\"},{\"name\":\"COUT=\",\"optional\":true,\"description\":\"Specifies the color for the plotting symbols and the portions of connecting line segments that lie outside the control limits.\",\"help\":\"COUT=*color*\",\"type\":\"color\"},{\"name\":\"COVERLAY2=\",\"optional\":true,\"description\":\"Specifies the colors used to plot secondary chart overlay variables. Colors in the COVERLAY2= list are matched with variables in the corresponding positions in the OVERLAY2= list.\",\"type\":\"value\"},{\"name\":\"COVERLAY=\",\"optional\":true,\"description\":\"Specifies the colors used to plot primary chart overlay variables. Colors in the COVERLAY= list are matched with variables in the corresponding positions in the OVERLAY= list.\",\"type\":\"value\"},{\"name\":\"COVERLAYCLIP=\",\"optional\":true,\"description\":\"Specifies the color used to plot clipped values on overlay plots when the CLIPFACTOR= option is used.\",\"help\":\"COVERLAYCLIP=*color*\",\"type\":\"color\"},{\"name\":\"CPHASEBOX=\",\"optional\":true,\"description\":\"Specifies the color for a box that encloses all of the plotted points for a phase (group of consecutive observations that have the same value of the variable _PHASE_).\",\"help\":\"CPHASEBOX=*color*\",\"type\":\"color\"},{\"name\":\"CPHASEBOXCONNECT=\",\"optional\":true,\"description\":\"Specifies the color for line segments that connect the vertical edges of adjacent enclosing boxes requested with the CPHASEBOX= option or the CPHASEBOXFILL= option.\",\"help\":\"CPHASEBOXCONNECT=*color*\",\"type\":\"color\"},{\"name\":\"CPHASEBOXFILL=\",\"optional\":true,\"description\":\"Specifies the fill color for a box that encloses all of the plotted points for a phase.\",\"help\":\"CPHASEBOXFILL=*color*\",\"type\":\"color\"},{\"name\":\"CPHASELEG=\",\"optional\":true,\"description\":\"Specifies a text color for the phase labels requested with the PHASELEGEND option.\",\"help\":\"CPHASELEG=*color*\",\"type\":\"color\"},{\"name\":\"CPHASEMEANCONNECT=\",\"optional\":true,\"description\":\"Specifies the color for line segments that connect points representing the average of the values plotted within a phase.\",\"help\":\"CPHASEMEANCONNECT=*color*\",\"type\":\"color\"},{\"name\":\"CSTARCIRCLES=\",\"optional\":true,\"description\":\"Specifies a color for the circles requested with the STARCIRCLES= option.\",\"help\":\"CSTARCIRCLES=*color*\",\"type\":\"color\"},{\"name\":\"CSTARFILL=\",\"optional\":true,\"description\":\"Specifies a color or colors for filling the interior of stars requested with the STARVERTICES= option.\",\"help\":\"CSTARFILL=*color*\",\"type\":\"color\"},{\"name\":\"CSTAROUT\",\"optional\":true,\"description\":\"Specifies to use use an appropriate contrasting color from the ODS style for those portions of the outlines of stars (requested with the STARVERTICES= option) that exceed the inner or outer circles.\",\"type\":\"color\"},{\"name\":\"CSTAROUT=\",\"optional\":true,\"description\":\"Specifies a color for those portions of the outlines of stars (requested with the STARVERTICES= option) that exceed the inner or outer circles.\",\"help\":\"CSTAROUT=*color*\",\"type\":\"color\"},{\"name\":\"CSTARS=\",\"optional\":true,\"description\":\"Specifies a color or colors for the outlines of stars requested with the STARVERTICES= option.\",\"help\":\"CSTARS=*color*\",\"type\":\"color\"},{\"name\":\"CSYMBOL=\",\"optional\":true,\"description\":\"Specifies a label for the central line in a C chart.\",\"help\":\"CSYMBOL=C | CBAR | CPM | CPM2 | C0 | '*label*'\",\"type\":\"choice\",\"arguments\":[{\"name\":\"C\",\"description\":\"C\",\"type\":\"standalone\"},{\"name\":\"CBAR\",\"description\":\"CBAR\",\"type\":\"standalone\"},{\"name\":\"CPM\",\"description\":\"C'\",\"type\":\"standalone\"},{\"name\":\"CPM2\",\"description\":\"C''\",\"type\":\"standalone\"},{\"name\":\"C0\",\"description\":\"Co\",\"type\":\"standalone\"},{\"name\":\"'label'\",\"placeholder\":true,\"description\":\"You can specify a quoted label of length 16 or less.\",\"type\":\"value\"}]},{\"name\":\"CTESTLABBOX=\",\"optional\":true,\"description\":\"Specifies the color for boxes enclosing labels for positive tests for special causes requested with the TESTLABBOX option.\",\"help\":\"CTESTLABBOX=*color*\",\"type\":\"color\"},{\"name\":\"CTESTS=\",\"optional\":true,\"aliases\":[\"CTEST=\"],\"description\":\"Specifies colors for labels indicating points where a test is positive.\",\"help\":\"CTESTS=*color*\",\"type\":\"color\"},{\"name\":\"CTESTSYMBOL=\",\"optional\":true,\"aliases\":[\"CTESTSYM=\"],\"description\":\"Specifies the color of the symbol used to plot subgroups with positive tests for special causes.\",\"help\":\"CTESTSYMBOL=*color*\",\"type\":\"color\"},{\"name\":\"CTEXT=\",\"optional\":true,\"description\":\"Specifies the color for tick mark values and axis labels. The default color is the color specified in the CTEXT= option in the most recent GOPTIONS statement.\",\"help\":\"CTEXT=*color*\",\"type\":\"color\"},{\"name\":\"CVREF=\",\"optional\":true,\"aliases\":[\"CV=\"],\"description\":\"Specifies the color for the lines requested by the VREF= and VREF2= options.\",\"help\":\"CVREF=*color*\",\"type\":\"color\"},{\"name\":\"CZONES=\",\"optional\":true,\"description\":\"Requests lines marking zones A, B, and C for the tests for special causes (see the TESTS= option) and specifies the color for these lines.\",\"help\":\"CZONES=*color*\",\"type\":\"color\"},{\"name\":\"DESCRIPTION2=\",\"optional\":true,\"aliases\":[\"DES2=\"],\"description\":\"Specifies a description for the secondary chart of length 256 or less that appears in the PROC GREPLAY master menu. The default string is the variable name. The DESCRIPTION2= option is available in the IRCHART, MRCHART, XRCHART, and XSCHART statements, and it is used in conjunction with the SEPARATE option. A related option is NAME2=.\",\"help\":\"DESCRIPTION2='*string*'\",\"type\":\"value\"},{\"name\":\"DESCRIPTION=\",\"optional\":true,\"aliases\":[\"DES=\"],\"description\":\"Specifies a description for the primary chart of length 256 or less that appears in the PROC GREPLAY master menu. The default string is the variable name. A related option is NAME=.\",\"help\":\"DESCRIPTION='*string*'\",\"type\":\"value\"},{\"name\":\"DISCRETE\",\"optional\":true,\"description\":\"Specifies that numeric subgroup variable values be treated as discrete values, so that each tick value on the default subgroup axis corresponds to a unique subgroup variable value.\",\"type\":\"standalone\"},{\"name\":\"ENDGRID\",\"optional\":true,\"description\":\"Adds a grid to the rightmost portion of the chart, beginning with the first labeled major tick mark position that follows the last plotted point.\",\"type\":\"standalone\"},{\"name\":\"EXCHART\",\"optional\":true,\"description\":\"Creates a control chart only when exceptions occur, specifically, when the control limits are exceeded or when any of the tests requested with the TESTS= option or the TESTS2= option are positive.\",\"type\":\"standalone\"},{\"name\":\"FONT=\",\"optional\":true,\"description\":\"Specifies a software font for labels and legends.\",\"help\":\"FONT=*font*\",\"type\":\"value\"},{\"name\":\"FRONTREF\",\"optional\":true,\"description\":\"Draws reference lines specified with the HREF= and VREF= options in front of box-and-whiskers plots. By default, reference lines are drawn behind the box-and-whiskers plots and can be obscured by filled boxes.\",\"type\":\"standalone\"},{\"name\":\"GRID\",\"optional\":true,\"description\":\"Adds a grid to the control chart. Grid lines are horizontal lines positioned at labeled major tick marks, and they cover the length and height of the plotting area.\",\"type\":\"standalone\"},{\"name\":\"HAXIS=\",\"optional\":true,\"description\":\"Specifies tick mark values for the horizontal (subgroup) axis. If the group variable is numeric, the values must be numeric and equally spaced. If the group variable is character, values must be quoted strings of up to 16 characters. Optionally, you can specify an axis name defined in a previous AXIS statement.\",\"type\":\"value\"},{\"name\":\"HEIGHT=\",\"optional\":true,\"description\":\"Specifies the height (in vertical screen percent units) of the text for axis labels and legends. This value takes precedence over the HTEXT= value specified in the GOPTIONS statement.\",\"help\":\"HEIGHT=*value*\",\"type\":\"value\"},{\"name\":\"HMINOR=\",\"optional\":true,\"aliases\":[\"HM=\"],\"description\":\"Specifies the number of minor tick marks between major tick marks on the horizontal axis. Minor tick marks are not labeled. The default is HMINOR=0.\",\"help\":\"HMINOR=*n*\",\"type\":\"value\"},{\"name\":\"HOFFSET=\",\"optional\":true,\"description\":\"Specifies the length (in percent screen units) of the offset at both ends of the horizontal axis. You can eliminate the offset by specifying HOFFSET=0.\",\"help\":\"HOFFSET=*value*\",\"type\":\"value\"},{\"name\":\"HREF2=\",\"optional\":true,\"description\":\"Draws reference lines perpendicular to the horizontal (subgroup) axis on the secondary chart.\",\"type\":\"value\"},{\"name\":\"HREF2DATA=\",\"optional\":true,\"description\":\"Draws reference lines perpendicular to the horizontal (subgroup) axis on the secondary chart. The HREF2DATA= option must be used in place of the HREF2= option to specify a data set using the quoted filename notation.\",\"help\":\"HREF2DATA=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"HREF2LABELS=\",\"optional\":true,\"aliases\":[\"HREF2LABEL=\",\"HREF2LAB=\"],\"description\":\"Specifies labels for the reference lines requested by the HREF2= option. The number of labels must equal the number of lines. Enclose each label in quotes. Labels can be up to 16 characters.\",\"type\":\"value\"},{\"name\":\"HREF=\",\"optional\":true,\"description\":\"Draws reference lines perpendicular to the horizontal (subgroup) axis on the primary chart.\",\"type\":\"value\"},{\"name\":\"HREFCHAR=\",\"optional\":true,\"description\":\"Specifies the character used for reference lines requested by the HREF= and HREF2= options on line printer charts. The default is the vertical bar (|).\",\"help\":\"HREFCHAR='*character*'\",\"type\":\"value\"},{\"name\":\"HREFDATA=\",\"optional\":true,\"description\":\"Draws reference lines perpendicular to the horizontal (subgroup) axis on the primary chart. The HREFDATA= option must be used in place of the HREF= option to specify a data set using the quoted filename notation.\",\"help\":\"HREFDATA=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"HREFLABELS=\",\"optional\":true,\"aliases\":[\"HREFLABEL=\",\"HREFLAB=\"],\"description\":\"Specifies labels for the reference lines requested by the HREF= option. The number of labels must equal the number of lines. Enclose each label in quotes. Labels can be up to 16 characters.\",\"type\":\"value\"},{\"name\":\"HREFLABPOS=\",\"optional\":true,\"description\":\"Specifies the vertical position of the HREFLABEL= label.\",\"help\":\"HREFLABPOS=1 | 2 | 3 | 4\",\"type\":\"choice\",\"arguments\":[{\"name\":\"1\",\"description\":\"Along top of subplot area\",\"type\":\"standalone\"},{\"name\":\"2\",\"description\":\"Staggered from top to bottom of subplot area\",\"type\":\"standalone\"},{\"name\":\"3\",\"description\":\"Along bottom of subplot area\",\"type\":\"standalone\"},{\"name\":\"4\",\"description\":\"Staggered from bottom to top of subplot area\",\"type\":\"standalone\"}]},{\"name\":\"HTML2=\",\"optional\":true,\"description\":\"Specifies URLs as values of the specified character variable (or formatted values of a numeric variable). These URLs are associated with points on a secondary chart when traditional graphics output is directed into HTML.\",\"help\":\"HTML2=*variable*\",\"type\":\"value\"},{\"name\":\"HTML=\",\"optional\":true,\"description\":\"Specifies URLs as values of the specified character variable (or formatted values of a numeric variable). These URLs are associated with points on a primary control chart when traditional graphics output is directed into HTML.\",\"help\":\"HTML=*variable*\",\"type\":\"value\"},{\"name\":\"HTML_LEGEND=\",\"optional\":true,\"description\":\"Specifies URLs as values of the specified character variable (or formatted values of a numeric variable). These URLs are associated with symbols in the legend for the levels of a symbol-variable.\",\"help\":\"HTML_LEGEND=*variable*\",\"type\":\"value\"},{\"name\":\"IDCOLOR=\",\"optional\":true,\"description\":\"Specifies the color of the symbol marker used to identify outliers in schematic box-and-whiskers plots (that is, when you specify the keyword SCHEMATIC, SCHEMATICID, or SCHEMATICIDFAR with the BOXSTYLE= option).\",\"help\":\"IDCOLOR=*color*\",\"type\":\"color\"},{\"name\":\"IDCTEXT=\",\"optional\":true,\"description\":\"Specifies the color for the text used to label outliers when you specify the keyword SCHEMATICID, SCHEMATICIDFAR, POINTSID, or POINTSJOINID with the BOXSTYLE= option.\",\"help\":\"IDCTEXT=*color*\",\"type\":\"color\"},{\"name\":\"IDFONT=\",\"optional\":true,\"description\":\"Specifies the font for the text used to label outliers when you specify the keyword SCHEMATICID, SCHEMATICIDFAR, POINTSID, or POINTSJOINID with the BOXSTYLE= option.\",\"help\":\"IDFONT=*font*\",\"type\":\"value\"},{\"name\":\"IDHEIGHT=\",\"optional\":true,\"description\":\"Specifies the height for the text used to label outliers when you specify the keyword SCHEMATICID, SCHEMATICIDFAR, POINTSID, or POINTSJOINID with the BOXSTYLE= option.\",\"help\":\"IDHEIGHT=*value*\",\"type\":\"value\"},{\"name\":\"IDSYMBOL=\",\"optional\":true,\"description\":\"Specifies the symbol marker used to identify outliers in schematic box-and-whisker plots produced with the BOXCHART statement when you use one of the following options: BOXSTYLE=SCHEMATIC, BOXSTYLE=SCHEMATICID, and BOXSTYLE=SCHEMATICIDFAR. The default symbol is SQUARE.\",\"help\":\"IDSYMBOL=*symbol*\",\"type\":\"value\"},{\"name\":\"INDEPENDENTZONES\",\"optional\":true,\"aliases\":[\"INDEPZONES\"],\"description\":\"Specifies that the widths of the zones requested with the ZONES option be computed independently above and below the center line of the chart, so that the width of each zone is one-third of the difference between the process mean and the control limit on its side of the chart.\",\"type\":\"standalone\"},{\"name\":\"INFILLOPACITY=\",\"optional\":true,\"description\":\"Specifies the control limit infill opacity when transparency is used in ODS Graphics output. The value be between 0 and 1, where 0 is completely transparent and 1 is completely opaque. The default control limit infill opacity is 0.25.\",\"help\":\"INFILLOPACITY=*value*\",\"type\":\"value\"},{\"name\":\"INTERVAL=\",\"optional\":true,\"description\":\"Specifies the natural time interval between consecutive group positions when a time, date, or datetime format is associated with a numeric group variable.\",\"help\":\"INTERVAL=DAY | DTDAY | HOUR | MINUTE | MONTH | QTR | SECOND\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DAY\",\"description\":\"For DATE, WEEKDATE, WORDDATE, YYMMDD, or MMDDYY format\",\"type\":\"standalone\"},{\"name\":\"DTDAY\",\"description\":\"For DATETIME format\",\"type\":\"standalone\"},{\"name\":\"HOUR\",\"description\":\"For HHMM or HOUR format\",\"type\":\"standalone\"},{\"name\":\"MINUTE\",\"description\":\"For MMSS format\",\"type\":\"standalone\"},{\"name\":\"MONTH\",\"description\":\"For MONYY format\",\"type\":\"standalone\"},{\"name\":\"QTR\",\"description\":\"For YYQ format\",\"type\":\"standalone\"},{\"name\":\"SECOND\",\"description\":\"For TIME or TOD format\",\"type\":\"standalone\"}]},{\"name\":\"INTSTART=\",\"optional\":true,\"description\":\"Specifies the starting value for a numeric horizontal axis when a date, time, or datetime format is associated with the group variable.\",\"help\":\"INTSTART=*value*\",\"type\":\"value\"},{\"name\":\"LABELANGLE=\",\"optional\":true,\"description\":\"Specifies the angle at which labels requested with the ALLLABEL=, ALLLABEL2=, OUTLABEL=, and OUTLABEL2= options are drawn. A positive angle rotates the labels counterclockwise; a negative angle rotates them clockwise. By default, labels are oriented horizontally.\",\"help\":\"LABELANGLE=*angle*\",\"type\":\"value\"},{\"name\":\"LABELFONT=\",\"optional\":true,\"aliases\":[\"TESTFONT=\"],\"description\":\"Specifies a software font for labels requested with the ALLLABEL=, ALLLABEL2=, OUTLABEL=, OUTLABEL2=, STARLABEL=, TESTLABEL=, and TESTLABELn= options.\",\"help\":\"LABELFONT=*font*\",\"type\":\"value\"},{\"name\":\"LABELHEIGHT=\",\"optional\":true,\"aliases\":[\"TESTHEIGHT=\"],\"description\":\"Specifies the height (in vertical percent screen units) for labels requested with the ALLLABEL=, ALLLABEL2=, OUTLABEL=, OUTLABEL2=, STARLABEL=, TESTLABEL=, and TESTLABEL= options.\",\"help\":\"LABELHEIGHT=*value*\",\"type\":\"value\"},{\"name\":\"LBOXES=\",\"optional\":true,\"description\":\"Specifies the line types for the outlines of the box-and-whiskers plots created with the BOXCHART statement.\",\"type\":\"value\"},{\"name\":\"LCLLABEL2=\",\"optional\":true,\"description\":\"Specifies a label for the lower control limit in the secondary chart. The label can be of length 16 or less. Enclose the label in quotes.\",\"help\":\"LCLLABEL2='*label*'\",\"type\":\"value\"},{\"name\":\"LCLLABEL=\",\"optional\":true,\"description\":\"Specifies a label for the lower control limit in the primary chart. The label can be of length 16 or less. Enclose the label in quotes.\",\"help\":\"LCLLABEL='*label*'\",\"type\":\"value\"},{\"name\":\"LENDGRID=\",\"optional\":true,\"description\":\"Specifies the line type for the grid requested with the ENDGRID option. The default value is 1, which produces a solid line.\",\"help\":\"LENDGRID=*linetype*\",\"type\":\"value\"},{\"name\":\"LGRID=\",\"optional\":true,\"description\":\"Specifies the line type for the grid requested with the GRID option. The default value is 1, which produces a solid line.\",\"help\":\"LGRID=*linetype*\",\"type\":\"value\"},{\"name\":\"LHREF=\",\"optional\":true,\"aliases\":[\"LH=\"],\"description\":\"Specifies the line type for reference lines requested with the HREF= and HREF2 options. The default value is 2, which produces a dashed line.\",\"help\":\"LHREF=*linetype*\",\"type\":\"value\"},{\"name\":\"LIMITN=\",\"optional\":true,\"description\":\"Specifies a fixed nominal sample size for the control limits.\",\"help\":\"LIMITN=*n*\",\"type\":\"value\"},{\"name\":\"LIMITN=\",\"optional\":true,\"description\":\"Specifies a varying nominal sample size for the control limits.\",\"help\":\"LIMITN=VARYING\",\"type\":\"value\"},{\"name\":\"LIMLABSUBCHAR=\",\"optional\":true,\"description\":\"Specifies a substitution character (such as #) for labels provided as quoted strings with the LCLLABEL=, LCLLABEL2=, UCLLABEL=, UCLLABEL2=, CSYMBOL=, NPSYMBOL=, PSYMBOL=, RSYMBOL=, SSYMBOL=, USYMBOL=, and XSYMBOL= options.\",\"help\":\"LIMLABSUBCHAR='*character*'\",\"type\":\"value\"},{\"name\":\"LLIMITS=\",\"optional\":true,\"description\":\"Specifies the line type for control limits. The default is 4, which produces a dashed line.\",\"help\":\"LLIMITS=*linetype*\",\"type\":\"value\"},{\"name\":\"LOVERLAY2=\",\"optional\":true,\"description\":\"Specifies line types for the line segments connecting points on secondary chart overlays. Line types in the LOVERLAY2= list are matched with variables in the corresponding positions in the OVERLAY2= list.\",\"type\":\"value\"},{\"name\":\"LOVERLAY=\",\"optional\":true,\"description\":\"Specifies line types for the line segments connecting points on primary chart overlays. Line types in the LOVERLAY= list are matched with variables in the corresponding positions in the OVERLAY= list.\",\"type\":\"value\"},{\"name\":\"LSL=\",\"optional\":true,\"description\":\"Provides lower specification limits used to compute capability indices.\",\"help\":\"LSL=*value-list*\",\"type\":\"value\"},{\"name\":\"LSTARCIRCLES=\",\"optional\":true,\"description\":\"Specifies one or more line types for the circles requested with the STARCIRCLES= option.\",\"help\":\"LSTARCIRCLES=*linetypes*\",\"type\":\"value\"},{\"name\":\"LSTARS=\",\"optional\":true,\"description\":\"Specifies the line types for the outlines of stars requested with the STARVERTICES= option.\",\"type\":\"value\"},{\"name\":\"LTESTS=\",\"optional\":true,\"aliases\":[\"LTEST=\"],\"description\":\"Specifies the line type for the line segments that connect patterns of points for which a test for special causes (requested with the TESTS= option) is positive. The default is 1, which produces a solid line.\",\"help\":\"LTESTS=*linetype*\",\"type\":\"value\"},{\"name\":\"LTMARGIN=\",\"optional\":true,\"aliases\":[\"LTM=\"],\"description\":\"Specifies the width of the left marginal area for the plot requested with the LTMPLOT= option.\",\"help\":\"LTMARGIN=*value*\",\"type\":\"value\"},{\"name\":\"LTMPLOT=\",\"optional\":true,\"description\":\"Requests a univariate plot of the control chart statistics that is positioned in the left margin of the control chart.\",\"help\":\"LTMPLOT=HISTOGRAM | DIGIDOT | SKELETAL | SCHEMATIC | SCHEMATICID | SCHEMATICIDFAR\",\"type\":\"choice\",\"arguments\":[{\"name\":\"HISTOGRAM\",\"description\":\"Histogram\",\"type\":\"standalone\"},{\"name\":\"DIGIDOT\",\"description\":\"Digidot plot\",\"type\":\"standalone\"},{\"name\":\"SKELETAL\",\"description\":\"Skeletal box-and-whisker plot\",\"type\":\"standalone\"},{\"name\":\"SCHEMATIC\",\"description\":\"Schematic box-and-whisker plot\",\"type\":\"standalone\"},{\"name\":\"SCHEMATICID\",\"description\":\"Schematic box-and-whisker plot with outliers labeled\",\"type\":\"standalone\"},{\"name\":\"SCHEMATICIDFAR\",\"description\":\"Schematic box-and-whisker plot with far outliers labeled\",\"type\":\"standalone\"}]},{\"name\":\"LVREF=\",\"optional\":true,\"aliases\":[\"LV=\"],\"description\":\"Specifies the line type for reference lines requested by the VREF= and VREF2= options. The default value is 2, which produces a dashed line.\",\"help\":\"LVREF=*linetype*\",\"type\":\"value\"},{\"name\":\"LZONES=\",\"optional\":true,\"description\":\"Specifies the line type for lines that delineate zones A, B, and C for standard tests requested with the TESTS= and/or TESTS2= options. The default is n=2, which produces a dashed line.\",\"help\":\"LZONES=*n*\",\"type\":\"value\"},{\"name\":\"MAXPANELS=\",\"optional\":true,\"description\":\"Specifies the maximum number of pages or screens for a chart. By default, n=20.\",\"help\":\"MAXPANELS=*n*\",\"type\":\"value\"},{\"name\":\"MEANCHAR=\",\"optional\":true,\"description\":\"Specifies a character used to plot the subgroup mean for each subgroup.\",\"help\":\"MEANCHAR='*character*'\",\"type\":\"value\"},{\"name\":\"MEANSYMBOL=\",\"optional\":true,\"description\":\"Specifies a symbol used to plot the subgroup mean for each subgroup.\",\"help\":\"MEANSYMBOL=*keyword*\",\"type\":\"value\"},{\"name\":\"MEDCENTRAL=\",\"optional\":true,\"description\":\"Identifies a method for estimating the process mean, µ, which is represented by the central line on a median chart.\",\"help\":\"MEDCENTRAL=AVGMEAN | AVGMED | MEDMED\",\"type\":\"choice\",\"arguments\":[{\"name\":\"AVGMEAN\",\"description\":\"Average of subgroup means\",\"type\":\"standalone\"},{\"name\":\"AVGMED\",\"description\":\"Average of subgroup medians\",\"type\":\"standalone\"},{\"name\":\"MEDMED\",\"description\":\"Median of subgroup medians\",\"type\":\"standalone\"}]},{\"name\":\"MISSBREAK\",\"optional\":true,\"description\":\"Determines how subgroups are formed when observations are read from a DATA= data set and a character subgroup-variable is provided.\",\"type\":\"standalone\"},{\"name\":\"MRRESTART\",\"optional\":true,\"description\":\"Causes the moving range computation on the IRCHART to be restarted when any missing value is encountered.\",\"type\":\"standalone\"},{\"name\":\"MRRESTART=\",\"optional\":true,\"description\":\"' Causes the moving range computation on the IRCHART to be restarted only when the specified missing value is encountered.\",\"help\":\"MRRESTART=*value*\",\"type\":\"value\"},{\"name\":\"MU0=\",\"optional\":true,\"description\":\"Specifies a known (standard) value u0 for the process mean µ.\",\"help\":\"MU0=*value*\",\"type\":\"value\"},{\"name\":\"NAME2=\",\"optional\":true,\"description\":\"Specifies a name for the secondary chart of length 8 or less that appears in the PROC GREPLAY master menu. The default name is 'SHEWHART'.\",\"help\":\"NAME2='*string*'\",\"type\":\"value\"},{\"name\":\"NAME=\",\"optional\":true,\"description\":\"Specifies a name for the primary chart of length 8 or less that appears in the PROC GREPLAY master menu. The default name is 'SHEWHART'.\",\"help\":\"NAME='*string*'\",\"type\":\"value\"},{\"name\":\"NDECIMAL2=\",\"optional\":true,\"description\":\"Specifies the number of decimal digits in the default labels for the control limits and the central line in a secondary chart.\",\"help\":\"NDECIMAL2=*n*\",\"type\":\"value\"},{\"name\":\"NDECIMAL=\",\"optional\":true,\"description\":\"Specifies the number of decimal digits in the default labels for the control limits and the central line in the primary chart.\",\"help\":\"NDECIMAL=*n*\",\"type\":\"value\"},{\"name\":\"NEEDLES\",\"optional\":true,\"description\":\"Connects plotted points to the central line with vertical line segments (needles).\",\"type\":\"standalone\"},{\"name\":\"NMARKERS\",\"optional\":true,\"description\":\"Identifies a plotted subgroup summary statistic with a special symbol marker (character) when the corresponding subgroup sample size is not equal to the nominal control limit sample size n.\",\"type\":\"standalone\"},{\"name\":\"NO3SIGMACHECK\",\"optional\":true,\"description\":\"Suppresses the check for 3σ limits when tests for special causes are requested.\",\"type\":\"standalone\"},{\"name\":\"NOBLOCKREFFILL\",\"optional\":true,\"aliases\":[\"NOPHASEREFILL\",\"NOREFILL\"],\"description\":\"Suppresses the block and phase wall fills from ODS Graphics output. By default, block and phase walls are filled when ODS Graphics is in effect.\",\"type\":\"standalone\"},{\"name\":\"NOBLOCKREF\",\"optional\":true,\"aliases\":[\"NOPHASEREF=\",\"NOREF=\"],\"description\":\"Suppresses block and phase reference lines from ODS Graphics output.\",\"type\":\"standalone\"},{\"name\":\"NOBOXFILLLEGEND\",\"optional\":true,\"aliases\":[\"NOFILLLEGEND\",\"NOSTARFILLLEGEND\"],\"description\":\"Suppresses the legend for the levels of a BOXFILL= or STARFILL= variable in ODS Graphics output.\",\"type\":\"standalone\"},{\"name\":\"NOBYREF\",\"optional\":true,\"description\":\"Specifies that the reference line information in an HREF=, HREF2=, VREF=, or VREF2= data set be applied uniformly to box plots created for all the BY groups in the input data set. If you specify the NOBYREF option, you do not need to provide BY variables in the reference line data set. By default, you must provide BY variables.\",\"type\":\"standalone\"},{\"name\":\"NOCHART\",\"optional\":true,\"description\":\"Suppresses the creation of the chart. You typically specify the NOCHART option when you are using the procedure to compute control limits and save them in an output data set.\",\"type\":\"standalone\"},{\"name\":\"NOCHART2\",\"optional\":true,\"description\":\"Suppresses the creation of a secondary chart. You typically use this option in the IRCHART statement to create a chart for individual measurements and suppress the accompanying chart for moving ranges.\",\"type\":\"standalone\"},{\"name\":\"NOCONNECT\",\"optional\":true,\"description\":\"Suppresses line segments that connect points on the chart.\",\"type\":\"standalone\"},{\"name\":\"NOCTL\",\"optional\":true,\"description\":\"Suppresses the display of the central line in a primary chart.\",\"type\":\"standalone\"},{\"name\":\"NOCTL2\",\"optional\":true,\"description\":\"Suppresses the display of the central line in a secondary chart.\",\"type\":\"standalone\"},{\"name\":\"NOFRAME\",\"optional\":true,\"description\":\"Suppresses the default frame drawn around the chart.\",\"type\":\"standalone\"},{\"name\":\"NOHLABEL\",\"optional\":true,\"description\":\"Suppresses the label for the horizontal (subgroup) axis.\",\"type\":\"standalone\"},{\"name\":\"NOLCL\",\"optional\":true,\"description\":\"Suppresses the display of the lower control limit in a primary chart.\",\"type\":\"standalone\"},{\"name\":\"NOLCL2\",\"optional\":true,\"description\":\"Suppresses the display of the lower control limit in a secondary chart.\",\"type\":\"standalone\"},{\"name\":\"NOLEGEND\",\"optional\":true,\"description\":\"Suppresses the default legend for subgroup sample sizes, which appears by default below the chart.\",\"type\":\"standalone\"},{\"name\":\"NOLIMIT0\",\"optional\":true,\"description\":\"Suppresses the display of a fixed lower control limit if and only if the value of the limit is zero.\",\"type\":\"standalone\"},{\"name\":\"NOLIMIT1\",\"optional\":true,\"description\":\"Suppresses the display of a fixed upper control limit on a p chart if and only if the value of the control limit is 1 (or 100%), or on an np chart if and only if the value of the control limit is n.\",\"type\":\"standalone\"},{\"name\":\"NOLIMITLABEL\",\"optional\":true,\"description\":\"Suppresses the default labels for the control limits and central lines.\",\"type\":\"standalone\"},{\"name\":\"NOLIMITS\",\"optional\":true,\"description\":\"Suppresses the display of control limits.\",\"type\":\"standalone\"},{\"name\":\"NOLIMITSFRAME\",\"optional\":true,\"description\":\"Suppresses the default frame for the control limit information that is displayed across the top of the chart when multiple sets of control limits with distinct multiples of σ and nominal control limit sample sizes are read from a LIMITS= data set.\",\"type\":\"standalone\"},{\"name\":\"NOLIMITSLEGEND\",\"optional\":true,\"description\":\"Suppresses the legend for the control limits, which appears by default in the upper right corner of the chart.\",\"type\":\"standalone\"},{\"name\":\"NOOVERLAYLEGEND\",\"optional\":true,\"description\":\"Suppresses the legend for overlay variables which is displayed by default when the OVERLAY= or OVERLAY2= option is specified.\",\"type\":\"standalone\"},{\"name\":\"NOPHASEFRAME\",\"optional\":true,\"description\":\"Suppresses the default frame for the legend requested by the PHASELEGEND option.\",\"type\":\"standalone\"},{\"name\":\"NOREADLIMITS\",\"optional\":true,\"description\":\"Specifies that control limit parameters for each process listed in the EWMACHART statement are not to be read from the LIMITS= data set specified in the PROC MACONTROL statement.\",\"type\":\"standalone\"},{\"name\":\"NOTCHES\",\"optional\":true,\"description\":\"Specifies that box-and-whiskers plots created by the BOXCHART statement are to be notched.\",\"type\":\"standalone\"},{\"name\":\"NOTESTACROSS\",\"optional\":true,\"description\":\"Specifies that tests for special causes requested with the TESTS= or TESTS2= options not be applied across the boundaries of phases (blocks of consecutive subgroups) determined by the READPHASES= option and the variable _PHASE_ in the input data set.\",\"type\":\"standalone\"},{\"name\":\"NOTICKREP\",\"optional\":true,\"description\":\"Applies to character-valued subgroup-variables and specifies that only the first occurrence of repeated, adjacent group values be labeled on the horizontal axis.\",\"type\":\"standalone\"},{\"name\":\"NOTRANSPARENCY\",\"optional\":true,\"description\":\"Disables transparency in ODS Graphics output, so that all graph features are opaque.\",\"type\":\"standalone\"},{\"name\":\"NOTRENDCONNECT\",\"optional\":true,\"description\":\"Suppresses line segments that connect points on a trend chart.\",\"type\":\"standalone\"},{\"name\":\"NOTRUNC\",\"optional\":true,\"description\":\"Overrides the vertical axis truncation at zero.\",\"type\":\"standalone\"},{\"name\":\"NOUCL\",\"optional\":true,\"description\":\"Suppresses the display of the upper control limit in a primary chart.\",\"type\":\"standalone\"},{\"name\":\"NOUCL2\",\"optional\":true,\"description\":\"suppresses the display of the upper control limit in a secondary chart.\",\"type\":\"standalone\"},{\"name\":\"NOVANGLE\",\"optional\":true,\"description\":\"Requests that the vertical axis label be strung out vertically.\",\"type\":\"standalone\"},{\"name\":\"NPANELPOS=\",\"optional\":true,\"aliases\":[\"NPANEL=\"],\"description\":\"Specifies the number of subgroup positions per panel on each chart.\",\"help\":\"NPANELPOS=*n*\",\"type\":\"value\"},{\"name\":\"NPSYMBOL=\",\"optional\":true,\"description\":\"Specifies a label for the central line in an np chart.\",\"help\":\"NPSYMBOL='*label*' | NP | NPBAR | NPPM | NPPM2 | NP0\",\"type\":\"choice\",\"arguments\":[{\"name\":\"'label'\",\"placeholder\":true,\"description\":\"A quoted label up to 16 characters in length.\",\"type\":\"value\"},{\"name\":\"NP\",\"description\":\"NP\",\"type\":\"standalone\"},{\"name\":\"NPBAR\",\"description\":\"NPBAR\",\"type\":\"standalone\"},{\"name\":\"NPPM\",\"description\":\"NP'\",\"type\":\"standalone\"},{\"name\":\"NPPM2\",\"description\":\"NP''\",\"type\":\"standalone\"},{\"name\":\"NP0\",\"description\":\"NP0\",\"type\":\"standalone\"}]},{\"name\":\"ODSFOOTNOTE2=\",\"optional\":true,\"description\":\"Adds a secondary footnote to ODS Graphics output.\",\"help\":\"ODSFOOTNOTE2=FOOTNOTE2 | '*string*'\",\"type\":\"choice\",\"arguments\":[{\"name\":\"FOOTNOTE2\",\"description\":\"The value of SAS FOOTNOTE2 statement is used as the graph footnote.\",\"type\":\"standalone\"},{\"name\":\"'string'\",\"placeholder\":true,\"description\":\"A quoted string is used as the secondary footnote.\",\"type\":\"value\"}]},{\"name\":\"ODSFOOTNOTE=\",\"optional\":true,\"description\":\"Adds a footnote to ODS Graphics output.\",\"help\":\"ODSFOOTNOTE=FOOTNOTE | FOOTNOTE1 | '*string*'\",\"type\":\"choice\",\"arguments\":[{\"name\":\"FOOTNOTE\",\"description\":\"The value of SAS FOOTNOTE statement is used as the graph footnote.\",\"type\":\"standalone\"},{\"name\":\"FOOTNOTE1\",\"description\":\"The value of SAS FOOTNOTE statement is used as the graph footnote.\",\"type\":\"standalone\"},{\"name\":\"'string'\",\"placeholder\":true,\"description\":\"A quoted string is used as the graph footnote.\",\"type\":\"value\"}]},{\"name\":\"ODSLEGENDEXPAND\",\"optional\":true,\"description\":\"Specifies that legend entries contain all levels observed in the data.\",\"type\":\"standalone\"},{\"name\":\"ODSTITLE2=\",\"optional\":true,\"description\":\"Specifies a secondary title for ODS Graphics output.\",\"help\":\"ODSTITLE2=TITLE2 | '*string*'\",\"type\":\"choice\",\"arguments\":[{\"name\":\"TITLE2\",\"description\":\"Uses the value of SAS TITLE2 statement as the secondary graph title.\",\"type\":\"standalone\"},{\"name\":\"'string'\",\"placeholder\":true,\"description\":\"A quoted string is used as the secondary title.\",\"type\":\"value\"}]},{\"name\":\"ODSTITLE=\",\"optional\":true,\"description\":\"Specifies a title for ODS Graphics output.\",\"help\":\"ODSTITLE=TITLE | TITLE1 | NONE | DEFAULT | LABELFMT | '*string*'\",\"type\":\"choice\",\"arguments\":[{\"name\":\"TITLE\",\"description\":\"Uses the value of SAS TITLE statement as the graph title.\",\"type\":\"standalone\"},{\"name\":\"TITLE1\",\"description\":\"Uses the value of SAS TITLE statement as the graph title.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"Suppresses all titles from the graph.\",\"type\":\"standalone\"},{\"name\":\"DEFAULT\",\"description\":\"Uses the default ODS Graphics title (a descriptive title consisting of the plot type and the process variable name.)\",\"type\":\"standalone\"},{\"name\":\"LABELFMT\",\"description\":\"Uses the default ODS Graphics title with the variable label instead of the variable name.\",\"type\":\"standalone\"},{\"name\":\"'string'\",\"placeholder\":true,\"description\":\"A quoted string is used as the graph title.\",\"type\":\"value\"}]},{\"name\":\"OUTBOX=\",\"optional\":true,\"description\":\"Creates an output data set that contains subgroup summary statistics, control limits, and outlier values for a box chart.\",\"help\":\"OUTBOX=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"OUTFILL\",\"optional\":true,\"description\":\"Fills the areas outside the control limits that lie between the connected points and the control limits and are bounded by connecting lines.\",\"type\":\"standalone\"},{\"name\":\"OUTFILLOPACITY=\",\"optional\":true,\"description\":\"Specifies the control limit outfill opacity when transparency is used in ODS Graphics output. The value must be between 0 and 1, where 0 is completely transparent and 1 is completely opaque. The default control limit outfill opacity is 0.25.\",\"help\":\"OUTFILLOPACITY=*value*\",\"type\":\"value\"},{\"name\":\"OUTHIGHHTML=\",\"optional\":true,\"description\":\"Specifies a variable whose values are URLs to be associated with outlier points above the upper fence on a schematic box plot when graphics output is directed into HTML.\",\"help\":\"OUTHIGHHTML=*variable*\",\"type\":\"value\"},{\"name\":\"OUTHISTORY=\",\"optional\":true,\"description\":\"Creates an output data set that contains the subgroup summary statistics.\",\"help\":\"OUTHISTORY=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"OUTINDEX=\",\"optional\":true,\"description\":\"Specifies the value of the _INDEX_ variable in the OUTLIMITS= output data set.\",\"help\":\"OUTINDEX='*label*'\",\"type\":\"value\"},{\"name\":\"OUTLABEL2=\",\"optional\":true,\"description\":\"Labels each point that falls outside the control limits on an R or s chart with the VALUE plotted for that subgroup or with the value of a variable in the input data set.\",\"type\":\"value\"},{\"name\":\"OUTLABEL=\",\"optional\":true,\"description\":\"Labels each point that falls outside the control limits on the primary chart with the VALUE plotted for that subgroup or with the value of a variable in the input data set.\",\"type\":\"value\"},{\"name\":\"OUTLIMITS=\",\"optional\":true,\"description\":\"Creates an output data set that saves the control limits.\",\"help\":\"OUTLIMITS=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"OUTLOWHTML=\",\"optional\":true,\"description\":\"Specifies a variable whose values are URLs to be associated with outlier points below the lower fence on a schematic box plot when graphics output is directed into HTML.\",\"help\":\"OUTLOWHTML=*variable*\",\"type\":\"value\"},{\"name\":\"OUTPHASE=\",\"optional\":true,\"description\":\"Specifies the value of the _PHASE_ variable in the OUTHISTORY= data set.\",\"help\":\"OUTPHASE='*label*'\",\"type\":\"value\"},{\"name\":\"OUTTABLE=\",\"optional\":true,\"description\":\"Creates an output SAS data set that saves the information plotted on the chart, including the subgroup variable values and their corresponding summary statistics and control limits.\",\"help\":\"OUTTABLE=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"OVERLAY2=\",\"optional\":true,\"description\":\"Specifies variables to be overlaid on a secondary control chart.\",\"type\":\"value\"},{\"name\":\"OVERLAY2HTML=\",\"optional\":true,\"description\":\"Specifies variables whose values are URLs to be associated with points on secondary chart overlays.\",\"type\":\"value\"},{\"name\":\"OVERLAY2ID=\",\"optional\":true,\"description\":\"Specifies variables whose formatted values are used to label points on secondary chart overlays.\",\"type\":\"value\"},{\"name\":\"OVERLAY2SYM=\",\"optional\":true,\"description\":\"Specifies symbols used to plot overlays on a secondary control chart.\",\"type\":\"value\"},{\"name\":\"OVERLAY=\",\"optional\":true,\"description\":\"Specifies variables to be overlaid on the primary control chart.\",\"type\":\"value\"},{\"name\":\"OVERLAYCLIPSYM=\",\"optional\":true,\"description\":\"Specifies the symbol used to plot clipped values on overlay plots when the CLIPFACTOR= option is used.\",\"help\":\"OVERLAYCLIPSYM=*symbol*\",\"type\":\"value\"},{\"name\":\"OVERLAYCLIPSYMHT=\",\"optional\":true,\"description\":\"Specifies the height for the symbol used to plot clipped values on overlay plots when the CLIPFACTOR= option is used.\",\"help\":\"OVERLAYCLIPSYMHT=*value*\",\"type\":\"value\"},{\"name\":\"OVERLAYHTML=\",\"optional\":true,\"description\":\"Specifies variables whose values are URLs to be associated with points on primary chart overlays.\",\"type\":\"value\"},{\"name\":\"OVERLAYID=\",\"optional\":true,\"description\":\"Specifies variables whose formatted values are used to label points on primary chart overlays.\",\"type\":\"value\"},{\"name\":\"OVERLAYLEGLAB=\",\"optional\":true,\"description\":\"Specifies the label displayed to the left of the overlay legend produced by the OVERLAY= or OVERLAY2= option. The label can be up to 16 characters and must be enclosed in quotes. The default label is \\\"Overlays:\\\".\",\"help\":\"OVERLAYLEGLAB='*label*'\",\"type\":\"value\"},{\"name\":\"OVERLAYSYM=\",\"optional\":true,\"description\":\"Specifies symbols used to plot overlays on the primary control chart.\",\"type\":\"value\"},{\"name\":\"OVERLAYSYMHT=\",\"optional\":true,\"description\":\"Specifies the heights of symbols used to plot overlays on the primary control chart.\",\"type\":\"value\"},{\"name\":\"P0=\",\"optional\":true,\"description\":\"Specifies a known (standard) value po for the proportion of nonconforming items produced by the process.\",\"help\":\"P0=*value*\",\"type\":\"value\"},{\"name\":\"PAGENUM=\",\"optional\":true,\"description\":\"Specifies the form of the label used for pagination. The string can be up to 16 characters, and it must include one or two occurrences of the substitution character '#'. The first '#' is replaced with the page number, and the optional second '#' is replaced with the total number of pages.\",\"help\":\"PAGENUM='*string*'\",\"type\":\"value\"},{\"name\":\"PAGENUMPOS=\",\"optional\":true,\"description\":\"Specifies where to position the page number requested with the PAGENUM= option.\",\"help\":\"PAGENUMPOS=TL | TR | BL | BR | TL100 | TR100 | BL0 | BR0\",\"type\":\"choice\",\"arguments\":[{\"name\":\"TL\",\"description\":\"Top left\",\"type\":\"standalone\"},{\"name\":\"TR\",\"description\":\"Top right\",\"type\":\"standalone\"},{\"name\":\"BL\",\"description\":\"Bottom left\",\"type\":\"standalone\"},{\"name\":\"BR\",\"description\":\"Bottom right\",\"type\":\"standalone\"},{\"name\":\"TL100\",\"description\":\"Top left. TL100 ensures that the page number appears at the very top of a page when a title is displayed.\",\"type\":\"standalone\"},{\"name\":\"TR100\",\"description\":\"Top right. TR100 ensures that the page number appears at the very top of a page when a title is displayed.\",\"type\":\"standalone\"},{\"name\":\"BL0\",\"description\":\"Bottom left. BL0 ensures that the page number appears at the very bottom of a page when footnotes are displayed.\",\"type\":\"standalone\"},{\"name\":\"BR0\",\"description\":\"Bottom right. BR0 ensures that the page number appears at the very bottom of a page when footnotes are displayed.\",\"type\":\"standalone\"}]},{\"name\":\"PCTLDEF=\",\"optional\":true,\"description\":\"Specifies one of five definitions used to calculate percentiles in the construction of box-and-whiskers plots requested with the BOXCHART statement.\",\"help\":\"PCTLDEF=1 | 2 | 3 | 4 | 5\",\"type\":\"choice\",\"arguments\":[{\"name\":\"1\",\"description\":\"Definition 1 for computing quantile statistics\",\"type\":\"standalone\"},{\"name\":\"2\",\"description\":\"Definition 2 for computing quantile statistics\",\"type\":\"standalone\"},{\"name\":\"3\",\"description\":\"Definition 3 for computing quantile statistics\",\"type\":\"standalone\"},{\"name\":\"4\",\"description\":\"Definition 4 for computing quantile statistics\",\"type\":\"standalone\"},{\"name\":\"5\",\"description\":\"Definition 5 for computing quantile statistics\",\"type\":\"standalone\"}]},{\"name\":\"PHASEBOXLABELS\",\"optional\":true,\"description\":\"Draws phase labels as titles along the top of phase boxes.\",\"type\":\"standalone\"},{\"name\":\"PHASEBREAK\",\"optional\":true,\"description\":\"Specifies that the last point in a phase (defined as a block of consecutive subgroups with the same value of the _PHASE_ variable) is not to be connected to the first point in the next phase.\",\"type\":\"standalone\"},{\"name\":\"PHASELABTYPE=\",\"optional\":true,\"description\":\"Specifies how lengthy _PHASE_ variable values are to be displayed when there is insufficient space in the legend requested with the PHASELEGEND option.\",\"help\":\"PHASELABTYPE=SCALED | TRUNCATED\",\"type\":\"choice\",\"arguments\":[{\"name\":\"SCALED\",\"description\":\"The values are uniformly reduced in height so that they fit.\",\"type\":\"standalone\"},{\"name\":\"TRUNCATED\",\"description\":\"Lengthy values are truncated on the right until they fit.\",\"type\":\"standalone\"}]},{\"name\":\"PHASELEGEND\",\"optional\":true,\"aliases\":[\"PHASELEG\"],\"description\":\"Identifies the phases requested with the READPHASES= option in a legend across the top of the chart.\",\"type\":\"standalone\"},{\"name\":\"PHASELIMITS\",\"optional\":true,\"description\":\"Specifies that the control limits and center line are to be labeled for each phase specified with the READPHASES= option, providing the limits are constant within that phase.\",\"type\":\"standalone\"},{\"name\":\"PHASEMEANSYMBOL=\",\"optional\":true,\"description\":\"Specifies a symbol marker for the average of the values plotted within a phase.\",\"help\":\"PHASEMEANSYMBOL=*symbol*\",\"type\":\"value\"},{\"name\":\"PHASEPOS=\",\"optional\":true,\"description\":\"Specifies the vertical position of the phase legend.\",\"help\":\"PHASEPOS=1 | 2 | 3 | 4\",\"type\":\"choice\",\"arguments\":[{\"name\":\"1\",\"description\":\"Top of chart, offset from axis frame\",\"type\":\"standalone\"},{\"name\":\"2\",\"description\":\"Top of chart, immediately above axis frame\",\"type\":\"standalone\"},{\"name\":\"3\",\"description\":\"Bottom of chart, immediately above horizontal axis\",\"type\":\"standalone\"},{\"name\":\"4\",\"description\":\"Bottom of chart, below horizontal axis label\",\"type\":\"standalone\"}]},{\"name\":\"PHASEREF\",\"optional\":true,\"description\":\"Delineates the phases specified with the READPHASES= option with reference lines drawn vertically.\",\"type\":\"standalone\"},{\"name\":\"PHASEREFLEVEL=\",\"optional\":true,\"description\":\"Enables you to associate phase reference lines (block reference lines) with either the innermost or the outermost level.\",\"help\":\"PHASEREFLEVEL=INNER | OUTER | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"INNER\",\"description\":\"Associates phase reference lines (block reference lines) with the innermost level.\",\"type\":\"standalone\"},{\"name\":\"OUTER\",\"description\":\"Associates phase reference lines (block reference lines) with the outermost level.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"No association of phase reference lines (block reference lines) with the innermost or outermost level.\",\"type\":\"standalone\"}]},{\"name\":\"PHASEVALSEP\",\"optional\":true,\"description\":\"Displays vertical lines separating phase values in the phase legend.\",\"type\":\"standalone\"},{\"name\":\"PHASEVARLABEL\",\"optional\":true,\"description\":\"Displays the label associated with the variable _PHASE_ above the phase values in the phase legend.\",\"type\":\"standalone\"},{\"name\":\"POINTSHTML=\",\"optional\":true,\"description\":\"Specifies a variable whose values are URLs to be associated with points on a box chart when the BOXSTYLE= value is POINTS, POINTSJOIN, POINTSBOX, POINTSID, or POINTSJOINID.\",\"help\":\"POINTSHTML=*variable*\",\"type\":\"value\"},{\"name\":\"PSYMBOL=\",\"optional\":true,\"description\":\"Specifies a label for the central line in a P chart.\",\"help\":\"PSYMBOL=P | PBAR | PPM | PPM2 | P0 | '*label*'\",\"type\":\"choice\",\"arguments\":[{\"name\":\"P\",\"description\":\"P\",\"type\":\"standalone\"},{\"name\":\"PBAR\",\"description\":\"PBAR\",\"type\":\"standalone\"},{\"name\":\"PPM\",\"description\":\"P'\",\"type\":\"standalone\"},{\"name\":\"PPM2\",\"description\":\"P''\",\"type\":\"standalone\"},{\"name\":\"P0\",\"description\":\"Po\",\"type\":\"standalone\"},{\"name\":\"'label'\",\"placeholder\":true,\"description\":\"Specifies a quoted label up to 16 characters.\",\"type\":\"value\"}]},{\"name\":\"RANGES\",\"optional\":true,\"description\":\"Estimates the process standard deviation for a boxplot using subgroup ranges.\",\"type\":\"standalone\"},{\"name\":\"READALPHA\",\"optional\":true,\"description\":\"Specifies that the variable _ALPHA_, rather than the variable _SIGMAS_, is to be read from a LIMITS= data set when both variables are available in the data set.\",\"type\":\"standalone\"},{\"name\":\"READINDEX=\",\"optional\":true,\"description\":\"Reads control limit parameters from a LIMITS= data set (specified in the PROC MACONTROL statement) for each process listed in the EWMACHART statement.\",\"type\":\"value\"},{\"name\":\"READPHASES=\",\"optional\":true,\"aliases\":[\"READPHASE=\"],\"description\":\"Selects blocks of consecutive observations to be read from the input data set.\",\"type\":\"value\"},{\"name\":\"REPEAT\",\"optional\":true,\"aliases\":[\"REP\"],\"description\":\"Specifies that the horizontal axis of a chart that spans multiple panels be arranged so that the last subgroup position on a panel is repeated as the first subgroup position on the next panel.\",\"type\":\"standalone\"},{\"name\":\"RESET\",\"optional\":true,\"description\":\"Requests that the value of the EWMA be reset after each out-of-control point.\",\"type\":\"standalone\"},{\"name\":\"RSYMBOL=\",\"optional\":true,\"description\":\"Specifies a label for the central line in an R chart.\",\"help\":\"RSYMBOL=R | RBAR | RPM | R0 | '*label*'\",\"type\":\"choice\",\"arguments\":[{\"name\":\"R\",\"description\":\"R\",\"type\":\"standalone\"},{\"name\":\"RBAR\",\"description\":\"RBAR\",\"type\":\"standalone\"},{\"name\":\"RPM\",\"description\":\"R'\",\"type\":\"standalone\"},{\"name\":\"R0\",\"description\":\"Ro\",\"type\":\"standalone\"},{\"name\":\"'label'\",\"placeholder\":true,\"description\":\"Specifies a quoted label up to 16 characters.\",\"type\":\"value\"}]},{\"name\":\"RTMARGIN=\",\"optional\":true,\"description\":\"Specifies the width of the right marginal area for the plot requested with the RTMPLOT= option.\",\"help\":\"RTMARGIN=*value*\",\"type\":\"value\"},{\"name\":\"RTMPLOT=\",\"optional\":true,\"description\":\"Requests a univariate plot of the control chart statistics that is positioned in the right margin of the control chart.\",\"help\":\"RTMPLOT=DIGIDOT | HISTOGRAM | SKELETAL | SCHEMATIC | SCHEMATICID | SCHEMATICIDFAR\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DIGIDOT\",\"description\":\"Digidot plot\",\"type\":\"standalone\"},{\"name\":\"HISTOGRAM\",\"description\":\"Histogram\",\"type\":\"standalone\"},{\"name\":\"SKELETAL\",\"description\":\"Skeletal box-and-whisker plot\",\"type\":\"standalone\"},{\"name\":\"SCHEMATIC\",\"description\":\"Schematic box-and-whisker plot\",\"type\":\"standalone\"},{\"name\":\"SCHEMATICID\",\"description\":\"Schematic box-and-whisker plot with outliers labeled\",\"type\":\"standalone\"},{\"name\":\"SCHEMATICIDFAR\",\"description\":\"Schematic box-and-whisker plot with far outliers labeled\",\"type\":\"standalone\"}]},{\"name\":\"SEPARATE\",\"optional\":true,\"description\":\"Displays primary and secondary charts on separate screens or pages.\",\"type\":\"standalone\"},{\"name\":\"SERIFS\",\"optional\":true,\"description\":\"Adds serifs to the whiskers of skeletal box-and-whisker charts.\",\"type\":\"standalone\"},{\"name\":\"SIGMA0=\",\"optional\":true,\"description\":\"Specifies a known (standard) value, σ0, for the process standard deviation, σ.\",\"help\":\"SIGMA0=*value*\",\"type\":\"value\"},{\"name\":\"SIGMAS=\",\"optional\":true,\"description\":\"Specifies the width of the control limits in terms of the multiple k of the plotted EWMAs on the chart. The value of k must be positive. By default, k=3.\",\"help\":\"SIGMAS=*k*\",\"type\":\"value\"},{\"name\":\"SIMULATEQCFONT\",\"optional\":true,\"description\":\"Draws the central line labels using a simulated software font rather than a hardware font.\",\"type\":\"standalone\"},{\"name\":\"SKIPHLABELS=\",\"optional\":true,\"aliases\":[\"SKIPLABEL=\"],\"description\":\"Specifies the number n of consecutive tick mark labels, beginning with the second tick mark label, that are thinned (not displayed) on the horizontal (subgroup) axis.\",\"help\":\"SKIPHLABELS=*n*\",\"type\":\"value\"},{\"name\":\"SMETHOD=\",\"optional\":true,\"description\":\"Specifies a method for estimating the process standard deviation, σ.\",\"help\":\"SMETHOD=NOWEIGHT | MVLUE | RMSDF | MAD | MMR | MVGRANGE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NOWEIGHT\",\"description\":\"Estimates σ as an unweighted average of unbiased subgroup estimates of σ.\",\"type\":\"standalone\"},{\"name\":\"MVLUE\",\"description\":\"Calculates a minimum variance linear unbiased estimate for σ\",\"type\":\"standalone\"},{\"name\":\"RMSDF\",\"description\":\"Calculates a root-mean square estimate for σ\",\"type\":\"standalone\"},{\"name\":\"MAD\",\"description\":\"Calculates a median absolute deviation estimate for σ (IRCHART only)\",\"type\":\"standalone\"},{\"name\":\"MMR\",\"description\":\"Calculates a median moving range estimate for σ (IRCHART only)\",\"type\":\"standalone\"},{\"name\":\"MVGRANGE\",\"description\":\"Estimates σ based on a moving range of subgroup means (XRCHART and XSCHART only)\",\"type\":\"standalone\"}]},{\"name\":\"SPLIT=\",\"optional\":true,\"description\":\"Specifies a special character that is inserted into the label of a process variable or summary statistic variable and whose purpose is to split the label into two parts.\",\"help\":\"SPLIT='*character*'\",\"type\":\"value\"},{\"name\":\"SSYMBOL=\",\"optional\":true,\"description\":\"Specifies a label for the central line in an S chart.\",\"help\":\"SSYMBOL=S | SBAR | SPM | S0 | '*label*'\",\"type\":\"choice\",\"arguments\":[{\"name\":\"S\",\"description\":\"S\",\"type\":\"standalone\"},{\"name\":\"SBAR\",\"description\":\"SBAR\",\"type\":\"standalone\"},{\"name\":\"SPM\",\"description\":\"S'\",\"type\":\"standalone\"},{\"name\":\"S0\",\"description\":\"So\",\"type\":\"standalone\"},{\"name\":\"'label'\",\"placeholder\":true,\"description\":\"Specifies a quoted label up to 16 characters.\",\"type\":\"value\"}]},{\"name\":\"STARBDRADIUS=\",\"optional\":true,\"description\":\"Specifies the radius of an imaginary circle that is the outer bound for vertices of stars requested with the STARVERTICES= option.\",\"help\":\"STARBDRADIUS=*value*\",\"type\":\"value\"},{\"name\":\"STARCIRCLES=\",\"optional\":true,\"description\":\"Specifies reference circles that are superimposed on the stars requested with the STARVERTICES= option.\",\"help\":\"STARCIRCLES=*values*\",\"type\":\"value\"},{\"name\":\"STARFILL=\",\"optional\":true,\"description\":\"Specifies colors for filling the interior of stars requested with the STARVERTICES= option.\",\"help\":\"STARFILL=*variable*\",\"type\":\"value\"},{\"name\":\"STARINRADIUS=\",\"optional\":true,\"description\":\"Specifies the inner radius of stars requested with the STARVERTICES= option. For traditional graphics, the radius is specified in horizontal percent screen units. For ODS Graphics output, the radius is specified in pixels.\",\"help\":\"STARINRADIUS=*value*\",\"type\":\"value\"},{\"name\":\"STARLABEL=\",\"optional\":true,\"description\":\"Specifies a method for labeling the vertices of stars requested with the STARVERTICES= option.\",\"help\":\"STARLABEL=ALL | FIRST | HIGH | LOW | OUT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ALL\",\"description\":\"Labels all vertices of all stars.\",\"type\":\"standalone\"},{\"name\":\"FIRST\",\"description\":\"Labels all vertices of the leftmost star.\",\"type\":\"standalone\"},{\"name\":\"HIGH\",\"description\":\"Labels only vertices that lie outside the outer circle.\",\"type\":\"standalone\"},{\"name\":\"LOW\",\"description\":\"Labels only vertices that lie inside the inner circle.\",\"type\":\"standalone\"},{\"name\":\"OUT\",\"description\":\"Labels only vertices that lie inside the inner circle or outside the outer circle.\",\"type\":\"standalone\"}]},{\"name\":\"STARLEGEND=\",\"optional\":true,\"description\":\"Specifies the style of the legend used to identify the vertices of stars requested with the STARVERTICES= option.\",\"help\":\"STARLEGEND=CLOCK | CLOCK0 | DEGREES | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"CLOCK\",\"description\":\"Identifies the vertex variables by their positions on the clock (starting with 12:00)\",\"type\":\"standalone\"},{\"name\":\"CLOCK0\",\"description\":\"Identifies the vertex variables by their positions on the clock (starting with 0:00)\",\"type\":\"standalone\"},{\"name\":\"DEGREES\",\"description\":\"Identifies the vertex variables by angles in degrees, with 0 degrees corresponding to 12 o'clock\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"Suppresses the legend.\",\"type\":\"standalone\"}]},{\"name\":\"STARLEGENDLAB=\",\"optional\":true,\"description\":\"Specifies the label displayed to the left of the legend for stars requested with the STARLEGEND= option. The label can be up to 16 characters and must be enclosed in quotes.\",\"help\":\"STARLEGENDLAB='*label*'\",\"type\":\"value\"},{\"name\":\"STAROPACITY=\",\"optional\":true,\"description\":\"Specifies the star fill opacity when transparency is used in ODS Graphics output. The value must be between 0 and 1, where 0 is completely transparent and 1 is completely opaque. The default star fill opacity is 0.75.\",\"help\":\"STAROPACITY=*value*\",\"type\":\"value\"},{\"name\":\"STAROUTRADIUS=\",\"optional\":true,\"description\":\"Specifies the outer radius of stars requested with the STARVERTICES= option.\",\"help\":\"STAROUTRADIUS=*value*\",\"type\":\"value\"},{\"name\":\"STARS=\",\"optional\":true,\"description\":\"Specifies colors for the outlines of stars requested with the STARVERTICES= option.\",\"help\":\"STARS=*variable*\",\"type\":\"value\"},{\"name\":\"STARSPECS=\",\"optional\":true,\"aliases\":[\"STARSPEC=\"],\"description\":\"Specifies the method used to standardize the star vertex variables listed with the STARVERTICES= option.\",\"type\":\"value\"},{\"name\":\"STARSTART=\",\"optional\":true,\"description\":\"Specifies the vertex angle for the first variable in the STARVERTICES= list.\",\"help\":\"STARSTART=*value*\",\"type\":\"value\"},{\"name\":\"STARTYPE=\",\"optional\":true,\"description\":\"Specifies the style of the stars requested with the STARVERTICES= option.\",\"help\":\"STARTYPE=CORONA | POLYGON | RADIAL | SPOKE | WEDGE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"CORONA\",\"description\":\"Polygon with star-vertices emanating from the inner circle\",\"type\":\"standalone\"},{\"name\":\"POLYGON\",\"description\":\"Closed polygon\",\"type\":\"standalone\"},{\"name\":\"RADIAL\",\"description\":\"Rays emanating from the center\",\"type\":\"standalone\"},{\"name\":\"SPOKE\",\"description\":\"Rays emanating from the inner circle\",\"type\":\"standalone\"},{\"name\":\"WEDGE\",\"description\":\"Closed polygon with rays from the center to each vertex\",\"type\":\"standalone\"}]},{\"name\":\"STARVERTICES=\",\"optional\":true,\"description\":\"Superimposes a star (polygon) at each point on the primary chart.\",\"type\":\"value\"},{\"name\":\"STDDEVIATIONS\",\"optional\":true,\"aliases\":[\"STDDEVS\"],\"description\":\"Specifies that the estimate of the process standard deviation, σ, is to be calculated from subgroup standard deviations.\",\"type\":\"standalone\"},{\"name\":\"SUBGROUPN=\",\"optional\":true,\"description\":\"Specifies the subgroup sample sizes as a constant value or as the values of a variable in the DATA= data set.\",\"help\":\"SUBGROUPN=*value*\",\"type\":\"value\"},{\"name\":\"SYMBOLCHARS=\",\"optional\":true,\"description\":\"Specifies a list of characters used to mark the points plotted on line printer charts when a symbol-variable is used.\",\"help\":\"SYMBOLCHARS='*character-list*'\",\"type\":\"value\"},{\"name\":\"SYMBOLLEGEND=\",\"optional\":true,\"description\":\"Controls the legend for the levels of a symbol-variable.\",\"help\":\"SYMBOLLEGEND=LEGENDn | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"LEGENDn\",\"description\":\"You can specify SYMBOLLEGEND=LEGENDn, where n is the number of a LEGEND statement defined previously.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"Suppresses the default legend.\",\"type\":\"standalone\"}]},{\"name\":\"SYMBOLORDER=\",\"optional\":true,\"aliases\":[\"SYMORD=\"],\"description\":\"Specifies the order in which symbols are assigned for levels of the symbol-variable.\",\"help\":\"SYMBOLORDER=DATA | INTERNAL | FORMATTED\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DATA\",\"description\":\"Assigns symbols to values in the order in which values appear in the input data set.\",\"type\":\"standalone\"},{\"name\":\"INTERNAL\",\"description\":\"Assigns symbols based on sorted order of internal values of the symbol variable\",\"type\":\"standalone\"},{\"name\":\"FORMATTED\",\"description\":\"Assigns them based on sorted formatted values.\",\"type\":\"standalone\"}]},{\"name\":\"TABLEALL\",\"optional\":true,\"description\":\"Tabulates the information about the control chart and is equivalent to specifying all of the following options: TABLES, TABLECENTRAL, TABLEID, TABLELEGEND, TABLEOUT, and TABLETESTS. The keyword EXCEPTIONS restricts the tabulation to those subgroups for which the control limits are exceeded or a test for special causes is positive.\",\"help\":\"TABLEALL&lt;(EXCEPTIONS)&gt;\",\"type\":\"standaloneOrValue\",\"arguments\":[{\"name\":\"(EXCEPTIONS)\",\"description\":\"Restricts the tabulation to those subgroups for which the control limits are exceeded or a test for special causes is positive.\",\"type\":\"standalone\"}]},{\"name\":\"TABLEBOX\",\"optional\":true,\"description\":\"Augments the basic table created by the TABLES option with columns for the minimum, 25th percentile, median, 75th percentile, and maximum of the observations in a subgroup. The keyword EXCEPTIONS restricts the tabulation to those subgroups for which the control limits are exceeded or a test for special causes is positive.\",\"help\":\"TABLEBOX&lt;(EXCEPTIONS)&gt;\",\"type\":\"standaloneOrValue\",\"arguments\":[{\"name\":\"(EXCEPTIONS)\",\"description\":\"Restricts the tabulation to those subgroups for which the control limits are exceeded or a test for special causes is positive.\",\"type\":\"standalone\"}]},{\"name\":\"TABLECENTRAL\",\"optional\":true,\"aliases\":[\"TABLEC\"],\"description\":\"Augments the basic table created by the TABLES option with columns for the values of the central lines. The keyword EXCEPTIONS restricts the tabulation to those subgroups for which the control limits are exceeded or a test for special causes is positive.\",\"help\":\"TABLECENTRAL&lt;(EXCEPTIONS)&gt;\",\"type\":\"standaloneOrValue\",\"arguments\":[{\"name\":\"(EXCEPTIONS)\",\"description\":\"Restricts the tabulation to those subgroups for which the control limits are exceeded or a test for special causes is positive.\",\"type\":\"standalone\"}]},{\"name\":\"TABLEID\",\"optional\":true,\"description\":\"Augments the basic table created by the TABLES option with a column for each of the ID variables. The keyword EXCEPTIONS restricts the tabulation to those subgroups for which the control limits are exceeded or a test for special causes is positive.\",\"help\":\"TABLEID&lt;(EXCEPTIONS)&gt;\",\"type\":\"standaloneOrValue\",\"arguments\":[{\"name\":\"(EXCEPTIONS)\",\"description\":\"Restricts the tabulation to those subgroups for which the control limits are exceeded or a test for special causes is positive.\",\"type\":\"standalone\"}]},{\"name\":\"TABLELEGEND\",\"optional\":true,\"aliases\":[\"TABLELEG\"],\"description\":\"Adds a legend to the basic table created by the TABLES option. The keyword EXCEPTIONS restricts the tabulation to those subgroups for which the control limits are exceeded or a test for special causes is positive.\",\"help\":\"TABLELEGEND&lt;(EXCEPTIONS)&gt;\",\"type\":\"standaloneOrValue\",\"arguments\":[{\"name\":\"(EXCEPTIONS)\",\"description\":\"Restricts the tabulation to those subgroups for which the control limits are exceeded or a test for special causes is positive.\",\"type\":\"standalone\"}]},{\"name\":\"TABLEOUTLIM\",\"optional\":true,\"aliases\":[\"TABLEOUT\"],\"description\":\"Augments the basic table created by the TABLES option with columns indicating which control limits (if any) are exceeded. The keyword EXCEPTIONS restricts the tabulation to those subgroups for which the control limits are exceeded or a test for special causes is positive.\",\"help\":\"TABLEOUTLIM&lt;(EXCEPTIONS)&gt;\",\"type\":\"standaloneOrValue\",\"arguments\":[{\"name\":\"(EXCEPTIONS)\",\"description\":\"Restricts the tabulation to those subgroups for which the control limits are exceeded or a test for special causes is positive.\",\"type\":\"standalone\"}]},{\"name\":\"TABLES\",\"optional\":true,\"aliases\":[\"TABLE\"],\"description\":\"Creates a basic table of the subgroup values, the subgroup sample sizes, the subgroup summary statistics, and the upper and lower control limits. Rows of the table correspond to subgroups. The keyword EXCEPTIONS restricts the tabulation to those subgroups for which the control limits are exceeded or a test for special causes is positive.\",\"help\":\"TABLES&lt;(EXCEPTIONS)&gt;\",\"type\":\"standaloneOrValue\",\"arguments\":[{\"name\":\"(EXCEPTIONS)\",\"description\":\"Restricts the tabulation to those subgroups for which the control limits are exceeded or a test for special causes is positive.\",\"type\":\"standalone\"}]},{\"name\":\"TABLETESTS\",\"optional\":true,\"description\":\"Augments the basic table created by the TABLES option with a column that indicates which of the tests for special causes (requested with the TESTS= option) are positive. The keyword EXCEPTIONS restricts the tabulation to those subgroups for which the control limits are exceeded or a test for special causes is positive.\",\"help\":\"TABLETESTS&lt;(EXCEPTIONS)&gt;\",\"type\":\"standaloneOrValue\",\"arguments\":[{\"name\":\"(EXCEPTIONS)\",\"description\":\"Restricts the tabulation to those subgroups for which the control limits are exceeded or a test for special causes is positive.\",\"type\":\"standalone\"}]},{\"name\":\"TARGET=\",\"optional\":true,\"description\":\"Provides target values used to compute the capability index Cpm, which is saved in the OUTLIMITS= data set.\",\"help\":\"TARGET=*value-list*\",\"type\":\"value\"},{\"name\":\"TEST2RESET=\",\"optional\":true,\"description\":\"Enables tests for special causes to be reset in a secondary chart. The specified variable must be a character variable of length 8, or length 16 if customized tests are requested.\",\"help\":\"TEST2RESET=*variable*\",\"type\":\"value\"},{\"name\":\"TEST2RUN=\",\"optional\":true,\"description\":\"Specifies the length of the pattern for Test 2 requested with the TESTS= and TESTS2= options.\",\"help\":\"TEST2RUN=7 | 8 | 9 | 11 | 14 | 20\",\"type\":\"choice\",\"arguments\":[{\"name\":\"7\",\"description\":\"7 in a row\",\"type\":\"standalone\"},{\"name\":\"8\",\"description\":\"8 in a row\",\"type\":\"standalone\"},{\"name\":\"9\",\"description\":\"9 in a row\",\"type\":\"standalone\"},{\"name\":\"11\",\"description\":\"At least 10 out of 11 in a row\",\"type\":\"standalone\"},{\"name\":\"14\",\"description\":\"At least 12 out of 14 in a row\",\"type\":\"standalone\"},{\"name\":\"20\",\"description\":\"At least 16 out of 20 in a row\",\"type\":\"standalone\"}]},{\"name\":\"TEST3RUN=\",\"optional\":true,\"description\":\"Specifies the length of the pattern for Test 3 requested with the TESTS= and TESTS2= options.\",\"help\":\"TEST3RUN=6 | 7 | 8\",\"type\":\"choice\",\"arguments\":[{\"name\":\"6\",\"description\":\"Length of the pattern is at least 6.\",\"type\":\"standalone\"},{\"name\":\"7\",\"description\":\"Length of the pattern is at least 7.\",\"type\":\"standalone\"},{\"name\":\"8\",\"description\":\"Length of the pattern is at least 8.\",\"type\":\"standalone\"}]},{\"name\":\"TESTACROSS\",\"optional\":true,\"description\":\"Specifies that tests for special causes requested with the TESTS= or TESTS2= options be applied without regard to phases (blocks of consecutive subgroups) determined by the READPHASES= option and the variable _PHASE_ in the input data set.\",\"type\":\"standalone\"},{\"name\":\"TESTCHAR=\",\"optional\":true,\"description\":\"Specifies the character for the line segments that connect any sequence of points for which a test for special causes (requested with the TESTS= or TESTS2= option) is positive. The default character is the number of the test (with values 1 to 8).\",\"help\":\"TESTCHAR='*character*'\",\"type\":\"value\"},{\"name\":\"TESTLABBOX\",\"optional\":true,\"description\":\"Requests that labels for subgroups with positive tests for special causes are positioned so they do not overlap. The labels are enclosed in boxes that are connected to the associated subgroup points with line segments.\",\"type\":\"standalone\"},{\"name\":\"TESTLABEL=\",\"optional\":true,\"description\":\"Provides labels for points at which one of the tests for special causes (requested with the TESTS= or TESTS2= option) is positive.\",\"help\":\"TESTLABEL=TESTINDEX | SPACE | NONE | '*label*' | *(variable)*\",\"type\":\"choice\",\"arguments\":[{\"name\":\"TESTINDEX\",\"description\":\"Labels points with the single-digit index that requested the test in a TESTS= or TESTS2= list.\",\"type\":\"standalone\"},{\"name\":\"SPACE\",\"description\":\"Request a label of the form Test k.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"Suppresses labeling.\",\"type\":\"standalone\"},{\"name\":\"'label'\",\"placeholder\":true,\"description\":\"A label of up to 16 characters enclosed in quotes.\",\"type\":\"value\"},{\"name\":\"(variable)\",\"placeholder\":true,\"description\":\"A variable (enclosed in parentheses) whose values are used as labels. The variable must be provided in the input data set, and it can be numeric or character.\",\"type\":\"value\"}]},{\"name\":\"TESTNMETHOD=\",\"optional\":true,\"description\":\"Applies the tests for special causes requested with the TESTS= and TESTS2= options to standardized test statistics when the subgroup sample sizes are not constant.\",\"help\":\"TESTNMETHOD=STANDARDIZE\",\"type\":\"value\"},{\"name\":\"TESTOVERLAP\",\"optional\":true,\"description\":\"Applies tests for special causes (requested with the TESTS= or TESTS2= option) to overlapping patterns of points.\",\"type\":\"standalone\"},{\"name\":\"TESTRESET=\",\"optional\":true,\"description\":\"Enables tests for special causes to be reset in a primary chart. The specified variable must be a character variable of length 8, or length 16 if customized tests are requested.\",\"help\":\"TESTRESET=*variable*\",\"type\":\"value\"},{\"name\":\"TESTS2=\",\"optional\":true,\"description\":\"Requests one or more tests for special causes for an R chart or s chart.\",\"help\":\"TESTS2=*index-list*\",\"type\":\"value\"},{\"name\":\"TESTS=\",\"optional\":true,\"description\":\"Requests one or more tests for special causes, which are also known as runs tests, pattern tests, and Western Electric rules.\",\"help\":\"TESTS=*index-list*\",\"type\":\"value\"},{\"name\":\"TESTSYMBOL=\",\"optional\":true,\"aliases\":[\"TESTSYM=\"],\"description\":\"Specifies the symbol for plotting subgroups with positive tests for special causes.\",\"help\":\"TESTSYMBOL=*symbol*\",\"type\":\"value\"},{\"name\":\"TESTSYMBOLHT=\",\"optional\":true,\"aliases\":[\"TESTSYMHT=\"],\"description\":\"Specifies the height of the symbol used to plot subgroups with positive tests for special causes.\",\"help\":\"TESTSYMBOLHT=*value*\",\"type\":\"value\"},{\"name\":\"TOTPANELS=\",\"optional\":true,\"description\":\"Specifies the total number of panels to be used to display the chart. This option overrides the NPANEL= option.\",\"help\":\"TOTPANELS=*n*\",\"type\":\"value\"},{\"name\":\"TRENDVAR=\",\"optional\":true,\"description\":\"Specifies a list of trend variables, one for each process listed in the chart statement.\",\"type\":\"value\"},{\"name\":\"TURNALL\",\"optional\":true,\"aliases\":[\"TURNOUT\"],\"description\":\"Turns the labels produced by the ALLLABEL=, ALLLABEL2=, OUTLABEL= and OUTLABEL2= options so that they are strung out vertically.\",\"type\":\"standalone\"},{\"name\":\"TURNHLABELS\",\"optional\":true,\"aliases\":[\"TURNHLABEL\"],\"description\":\"Turns the major tick mark labels for the horizontal (group) axis so that they are strung out vertically. By default, labels are arranged horizontally.\",\"type\":\"standalone\"},{\"name\":\"TYPE=\",\"optional\":true,\"description\":\"Specifies the value of the _TYPE_ variable in the OUTLIMITS= data set, which in turn indicates whether certain parameter variables in this data set represent estimates or standard (known) values.\",\"help\":\"TYPE=ESTIMATE | STDMU | STDSIGMA | STANDARD\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ESTIMATE\",\"description\":\"_MEAN_=estimate, _STDDEV_=estimate\",\"type\":\"standalone\"},{\"name\":\"STDMU\",\"description\":\"_MEAN_=standard, _STDDEV_=estimate\",\"type\":\"standalone\"},{\"name\":\"STDSIGMA\",\"description\":\"_MEAN_=estimate, _STDDEV_=standard\",\"type\":\"standalone\"},{\"name\":\"STANDARD\",\"description\":\"_MEAN_=standard, _STDDEV_=standard\",\"type\":\"standalone\"}]},{\"name\":\"U0=\",\"optional\":true,\"description\":\"Specifies a known (standard) value u0 for the average number u of nonconformities per unit produced by the process.\",\"help\":\"U0=*value*\",\"type\":\"value\"},{\"name\":\"UCLLABEL2=\",\"optional\":true,\"description\":\"Specifies a label for the upper control limit in the secondary chart. The label can be up to 16 characters. Enclose the label in quotes.\",\"help\":\"UCLLABEL2='*label*'\",\"type\":\"value\"},{\"name\":\"UCLLABEL=\",\"optional\":true,\"description\":\"Specifies a label for the upper control limit in the primary chart. The label can be up to 16 characters. Enclose the label in quotes.\",\"help\":\"UCLLABEL='*label*'\",\"type\":\"value\"},{\"name\":\"USL=\",\"optional\":true,\"description\":\"Provides upper specification limits used to compute capability indices.\",\"help\":\"USL=*value-list*\",\"type\":\"value\"},{\"name\":\"USYMBOL=\",\"optional\":true,\"description\":\"Specifies a label for the central line in a U chart.\",\"help\":\"USYMBOL=U | UBAR | UPM | UPM2 | U0 | '*label*'\",\"type\":\"choice\",\"arguments\":[{\"name\":\"U\",\"description\":\"U\",\"type\":\"standalone\"},{\"name\":\"UBAR\",\"description\":\"UBAR\",\"type\":\"standalone\"},{\"name\":\"UPM\",\"description\":\"U'\",\"type\":\"standalone\"},{\"name\":\"UPM2\",\"description\":\"U''\",\"type\":\"standalone\"},{\"name\":\"U0\",\"description\":\"Uo\",\"type\":\"standalone\"},{\"name\":\"'label'\",\"placeholder\":true,\"description\":\"Specifies a quoted label up to 16 characters.\",\"type\":\"value\"}]},{\"name\":\"VAXIS2=\",\"optional\":true,\"description\":\"Specifies major tick mark values for the vertical axis of a secondary chart. The values must be listed in increasing order, must be evenly spaced, and must span the range of values displayed in the chart.\",\"type\":\"value\"},{\"name\":\"VAXIS=\",\"optional\":true,\"description\":\"Specifies major tick mark values for the vertical axis of a primary chart. The values must be listed in increasing order, must be evenly spaced, and must span the range of values displayed in the chart.\",\"type\":\"value\"},{\"name\":\"VFORMAT2=\",\"optional\":true,\"description\":\"Specifies a format to be used for displaying tick mark labels on the vertical axis of a secondary chart.\",\"help\":\"VFORMAT2=*format*\",\"type\":\"value\"},{\"name\":\"VFORMAT=\",\"optional\":true,\"description\":\"Specifies a format to be used for displaying tick mark labels on the vertical axis of a primary chart.\",\"help\":\"VFORMAT=*format*\",\"type\":\"value\"},{\"name\":\"VMINOR=\",\"optional\":true,\"description\":\"Specifies the number of minor tick marks between major tick marks on the vertical axis. Minor tick marks are not labeled. By default, VMINOR=0.\",\"help\":\"VMINOR=*n*\",\"type\":\"value\"},{\"name\":\"VOFFSET=\",\"optional\":true,\"description\":\"Specifies the length in percent screen units of the offset at the ends of the vertical axis.\",\"help\":\"VOFFSET=*value*\",\"type\":\"value\"},{\"name\":\"VREF2=\",\"optional\":true,\"description\":\"Draws reference lines perpendicular to the vertical axis on the secondary chart.\",\"type\":\"value\"},{\"name\":\"VREF2LABELS=\",\"optional\":true,\"aliases\":[\"VREF2LAB=\"],\"description\":\"Specifies labels for the reference lines requested by the VREF2= option. The number of labels must equal the number of lines. Enclose each label in quotes. Labels can be up to 16 characters.\",\"type\":\"value\"},{\"name\":\"VREF=\",\"optional\":true,\"description\":\"Draws reference lines perpendicular to the vertical axis on the primary chart.\",\"type\":\"value\"},{\"name\":\"VREFCHAR=\",\"optional\":true,\"description\":\"Specifies the character used for reference lines requested by the VREF= and VREF2= options on line printer charts. The default is the hyphen (-).\",\"help\":\"VREFCHAR='*character*'\",\"type\":\"value\"},{\"name\":\"VREFLABELS=\",\"optional\":true,\"description\":\"Specifies labels for the reference lines requested by the VREF= option. The number of labels must equal the number of lines. Enclose each label in quotes. Labels can be up to 16 characters.\",\"type\":\"value\"},{\"name\":\"VREFLABPOS=\",\"optional\":true,\"description\":\"Specifies the horizontal position of the VREFLABEL= and VREF2LABEL= labels.\",\"help\":\"VREFLABPOS=1 | 2 | 3\",\"type\":\"choice\",\"arguments\":[{\"name\":\"1\",\"description\":\"Left-justified in subplot area\",\"type\":\"standalone\"},{\"name\":\"2\",\"description\":\"Right-justified in subplot area\",\"type\":\"standalone\"},{\"name\":\"3\",\"description\":\"Left-justified in right margin\",\"type\":\"standalone\"}]},{\"name\":\"VZERO\",\"optional\":true,\"description\":\"Forces the origin to be included in the vertical axis for a primary chart.\",\"type\":\"standalone\"},{\"name\":\"VZERO2\",\"optional\":true,\"description\":\"Forces the origin to be included in the vertical axis for a secondary chart.\",\"type\":\"standalone\"},{\"name\":\"WAXIS=\",\"optional\":true,\"description\":\"Specifies the width in pixels for the axis and frame lines. By default, n=1.\",\"help\":\"WAXIS=*n*\",\"type\":\"value\"},{\"name\":\"WEBOUT=\",\"optional\":true,\"description\":\"Produces an output data set containing all the data in an OUTTABLE= data set plus graphics coordinates for points (subgroup summary statistics) that are displayed on a control chart.\",\"help\":\"WEBOUT=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"WEIGHT=\",\"optional\":true,\"description\":\"Specifies the weight r assigned to the most recent subgroup mean in the computation of the EWMA (0 < r < 1).\",\"help\":\"WEIGHT=*value*\",\"type\":\"value\"},{\"name\":\"WGRID=\",\"optional\":true,\"description\":\"Specifies the width in pixels for grid lines requested with the ENDGRID and GRID options. By default, n=1.\",\"help\":\"WGRID=*n*\",\"type\":\"value\"},{\"name\":\"WLIMITS=\",\"optional\":true,\"description\":\"Specifies the width in pixels for the control limits and central line. By default, n=1.\",\"help\":\"WLIMITS=*n*\",\"type\":\"value\"},{\"name\":\"WNEEDLES=\",\"optional\":true,\"description\":\"Specifies the width in pixels of needles connecting plotted points to the central line, as requested with the NEEDLES option.\",\"help\":\"WNEEDLES=*n*\",\"type\":\"value\"},{\"name\":\"WOVERLAY2=\",\"optional\":true,\"description\":\"Specifies the widths in pixels for the line segments connecting points on secondary chart overlay plots.\",\"type\":\"value\"},{\"name\":\"WOVERLAY=\",\"optional\":true,\"description\":\"Specifies the widths in pixels for the line segments connecting points on primary chart overlay plots.\",\"type\":\"value\"},{\"name\":\"WSTARCIRCLES=\",\"optional\":true,\"description\":\"Specifies the width in pixels of the outline of circles requested by the STARCIRCLES= option.\",\"help\":\"WSTARCIRCLES=*n*\",\"type\":\"value\"},{\"name\":\"WSTARS=\",\"optional\":true,\"description\":\"Specifies the width in pixels of the outline of stars requested by the STARVERTICES= option.\",\"help\":\"WSTARS=*n*\",\"type\":\"value\"},{\"name\":\"WTESTS=\",\"optional\":true,\"description\":\"Specifies the width in pixels of the line segments that connect patterns of points for which a test for special causes (requested with the TESTS= or TESTS2= option) is positive. By default, n=1.\",\"help\":\"WTESTS=*n*\",\"type\":\"value\"},{\"name\":\"WTREND=\",\"optional\":true,\"description\":\"Specifies the width in pixels of the line segments that connect points on trend charts requested with the TRENDVAR= option. By default, n=1.\",\"help\":\"WTREND=*n*\",\"type\":\"value\"},{\"name\":\"XSYMBOL=\",\"optional\":true,\"description\":\"Specifies a label for the central line in an XBAR chart or a median chart.\",\"help\":\"XSYMBOL='*label*' | MBAR | MTIL | MU | MU0 | XBAR | XBAR2 | XBARPM | XBAR0 | XBAROPM\",\"type\":\"choice\",\"arguments\":[{\"name\":\"'label'\",\"placeholder\":true,\"description\":\"a quoted label up to 16 characters\",\"type\":\"value\"},{\"name\":\"MBAR\",\"description\":\"MBAR\",\"type\":\"standalone\"},{\"name\":\"MTIL\",\"description\":\"MTIL\",\"type\":\"standalone\"},{\"name\":\"MU\",\"description\":\"MU\",\"type\":\"standalone\"},{\"name\":\"MU0\",\"description\":\"MU0\",\"type\":\"standalone\"},{\"name\":\"XBAR\",\"description\":\"XBAR\",\"type\":\"standalone\"},{\"name\":\"XBAR2\",\"description\":\"XBAR2\",\"type\":\"standalone\"},{\"name\":\"XBARPM\",\"description\":\"XBARPM\",\"type\":\"standalone\"},{\"name\":\"XBAR0\",\"description\":\"XBAR0\",\"type\":\"standalone\"},{\"name\":\"XBAROPM\",\"description\":\"XBAR0PM\",\"type\":\"standalone\"}]},{\"name\":\"YPCT1=\",\"optional\":true,\"description\":\"Specifies a percent (ranging from 0 to 100) that determines the length of the vertical axis for the primary chart in proportion to the sum of the lengths of the vertical axes for the primary and secondary charts.\",\"help\":\"YPCT1=*value*\",\"type\":\"value\"},{\"name\":\"YSCALE=\",\"optional\":true,\"description\":\"Scales the vertical axis on a P chart in percent units. The YSCALE= option is available only in the PCHART statement.\",\"help\":\"YSCALE=PERCENT\",\"type\":\"value\"},{\"name\":\"ZEROSTD\",\"optional\":true,\"description\":\"Specifies that a control chart is to be constructed and displayed regardless of whether the estimated process standard deviation is zero.\",\"type\":\"standalone\"},{\"name\":\"ZEROSTD=\",\"optional\":true,\"description\":\"Suppresses the display of the degenerate limits.\",\"help\":\"ZEROSTD=NOLIMITS\",\"type\":\"value\"},{\"name\":\"ZONE2LABELS\",\"optional\":true,\"description\":\"Adds the labels A, B, and C to zone lines requested with the ZONES2 or ZONE2VALUES options.\",\"type\":\"standalone\"},{\"name\":\"ZONE2VALUES\",\"optional\":true,\"description\":\"Labels R or s chart zones lines with their values. If the ZONE2VALUES option is specified the ZONES2 option is not required.\",\"type\":\"standalone\"},{\"name\":\"ZONECHAR=\",\"optional\":true,\"description\":\"Specifies the character used to form the zone lines requested by the ZONES option.\",\"help\":\"ZONECHAR='*character*'\",\"type\":\"value\"},{\"name\":\"ZONELABELS\",\"optional\":true,\"description\":\"Adds the labels A, B, and C to zone lines requested with the ZONES or ZONEVALUES options.\",\"type\":\"standalone\"},{\"name\":\"ZONES\",\"optional\":true,\"description\":\"Adds lines to a primary chart that delineate zones A, B, and C for standard tests requested with the TESTS= option.\",\"type\":\"standalone\"},{\"name\":\"ZONES2\",\"optional\":true,\"description\":\"Adds lines to an R or s chart that delineate zones A, B, and C for tests requested with the TESTS2= option.\",\"type\":\"standalone\"},{\"name\":\"ZONEVALPOS=\",\"optional\":true,\"description\":\"Specifies the horizontal position of the ZONEVALUES= and ZONE2VALUES= labels.\",\"help\":\"ZONEVALPOS=1 | 2 | 3\",\"type\":\"choice\",\"arguments\":[{\"name\":\"1\",\"description\":\"Left-justified in subplot area\",\"type\":\"standalone\"},{\"name\":\"2\",\"description\":\"Right-justified in subplot area\",\"type\":\"standalone\"},{\"name\":\"3\",\"description\":\"Left-justified in right margin\",\"type\":\"standalone\"}]},{\"name\":\"ZONEVALUES\",\"optional\":true,\"description\":\"Labels the primary chart zones lines with their values. If the ZONEVALUES option is specified the ZONES option is not required.\",\"type\":\"standalone\"}]},{\"name\":\"INSET\",\"description\":\"The INSET statement enables you to enhance a moving average control chart by adding a box or table (referred to as an inset) of summary statistics directly to the graph.\",\"help\":\"INSET &lt;CFILL=color | BLANK&gt;&lt;CFILL=BLANK&gt;&lt;CFILLH=color&gt; ...\",\"arguments\":[{\"name\":\"DATA=\",\"description\":\"Arbitrary values from SAS-data-set\",\"type\":\"value\"},{\"name\":\"MEAN\",\"description\":\"Estimated or specified process mean\",\"type\":\"standalone\"},{\"name\":\"N\",\"description\":\"Nominal subgroup size\",\"type\":\"standalone\"},{\"name\":\"NHIGH\",\"description\":\"Number of subgroups above upper control limit\",\"type\":\"standalone\"},{\"name\":\"NLOW\",\"description\":\"Number of subgroups below lower control limit\",\"type\":\"standalone\"},{\"name\":\"NMAX\",\"description\":\"Maximum subgroup size\",\"type\":\"standalone\"},{\"name\":\"NMIN\",\"description\":\"Minimum subgroup size\",\"type\":\"standalone\"},{\"name\":\"NOUT\",\"description\":\"Number of subgroups outside control limits\",\"type\":\"standalone\"},{\"name\":\"SPAN\",\"description\":\"Number of terms used to calculate moving average\",\"type\":\"standalone\"},{\"name\":\"STDDEV\",\"description\":\"Estimated or specified process standard deviation\",\"type\":\"standalone\"},{\"name\":\"UMU\",\"description\":\"[Specific to ODS Graphics Output] Estimated or specified process mean\",\"type\":\"standalone\"},{\"name\":\"USIGMA\",\"description\":\"[Specific to ODS Graphics Output] Estimated or specified process standard deviation\",\"type\":\"standalone\"},{\"name\":\"WEIGHT\",\"description\":\"Weight assigned to most recent subgroup mean in computation of the EWMA\",\"type\":\"standalone\"},{\"name\":\"CFILL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the color of the background (including the header background if you do not specify the CFILLH= option). CFILL=BLANK leaves the background uncolored and prevents items from showing through the inset.\",\"help\":\"CFILL=*color*\",\"type\":\"color\"},{\"name\":\"CFILL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Leaves the background uncolored and prevents items from showing through the inset.\",\"help\":\"CFILL=BLANK\",\"type\":\"value\"},{\"name\":\"CFILLH=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the color of the header background. By default, if you do not specify a CFILLH= color, the CFILL= color is used.\",\"help\":\"CFILLH=*color*\",\"type\":\"color\"},{\"name\":\"CFRAME=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the color of the frame. By default, the frame is the same color as the axis of the plot.\",\"help\":\"CFRAME=*color*\",\"type\":\"color\"},{\"name\":\"CHEADER=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the color of the header text. By default, if you do not specify a CHEADER= color, the CTEXT= color is used.\",\"help\":\"CHEADER=*color*\",\"type\":\"color\"},{\"name\":\"CSHADOW=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the color of the drop shadow.\",\"help\":\"CSHADOW=*color*\",\"type\":\"color\"},{\"name\":\"CTEXT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the color of the text. By default, the inset text color is the same as the other text on the plot.\",\"help\":\"CTEXT=*color*\",\"type\":\"color\"},{\"name\":\"DATA\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies that data coordinates are to be used in positioning the inset with the POSITION= option.\",\"type\":\"standalone\"},{\"name\":\"FONT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the font of the text. By default, the font is SIMPLEX if the inset is located in the interior of the plot, and the font is the same as the other text displayed on the plot if the inset is located in the exterior of the plot.\",\"help\":\"FONT=*font*\",\"type\":\"value\"},{\"name\":\"FONT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"When you specify FONT=SMALL, the GraphValueText font is used in the header and the GraphDataText font is used in the inset body.\",\"help\":\"FONT=SMALL\",\"type\":\"value\"},{\"name\":\"FORMAT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies a format for all the values displayed in an inset.\",\"help\":\"FORMAT=*format*\",\"type\":\"value\"},{\"name\":\"HEADER=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the header text. The string cannot exceed 40 characters.\",\"type\":\"value\"},{\"name\":\"HEIGHT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the height of the text in screen percent units.\",\"help\":\"HEIGHT=*value*\",\"type\":\"value\"},{\"name\":\"HEIGHT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Reduces the size of the text in the inset. When you specify HEIGHT=SMALL, the GraphValueText size is used for the inset header and the GraphDataText size is used in the inset body.\",\"help\":\"HEIGHT=SMALL\",\"type\":\"value\"},{\"name\":\"HOPACITY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the inset header background opacity when transparency is used in ODS Graphics output. The value must be between 0 and 1, where 0 is completely transparent and 1 is completely opaque. The default inset header background opacity is 0.35.\",\"help\":\"HOPACITY=*value*\",\"type\":\"value\"},{\"name\":\"NOFRAME\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Suppresses the frame drawn around the text.\",\"type\":\"standalone\"},{\"name\":\"OPACITY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the inset background opacity when transparency is used in ODS Graphics output. The value must be between 0 and 1, where 0 is completely transparent and 1 is completely opaque. The default inset background opacity is 0.95.\",\"help\":\"OPACITY=*value*\",\"type\":\"value\"},{\"name\":\"POSITION=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Determines the position of the inset. The position can be a compass point keyword, a margin keyword, or a pair of coordinates (x,y). You can specify coordinates in axis percent units or axis data units.\",\"help\":\"POSITION=*position*\",\"type\":\"value\"},{\"name\":\"REFPOINT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the reference point for an inset that is positioned by a pair of coordinates with the POSITION= option.\",\"help\":\"REFPOINT=BR | BL | TR | TL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"BR\",\"followsDelimiter\":\"/\",\"description\":\"Bottom right\",\"type\":\"standalone\"},{\"name\":\"BL\",\"followsDelimiter\":\"/\",\"description\":\"Bottom left\",\"type\":\"standalone\"},{\"name\":\"TR\",\"followsDelimiter\":\"/\",\"description\":\"Top right\",\"type\":\"standalone\"},{\"name\":\"TL\",\"followsDelimiter\":\"/\",\"description\":\"Top left\",\"type\":\"standalone\"}]}]},{\"name\":\"MACHART\",\"description\":\"The MACHART statement creates a uniformly weighted moving average control chart (commonly referred to as a moving average control chart), which is used to decide whether a process is in a state of statistical control and to detect shifts in the process average.\",\"help\":\"MACHART &lt;ALPHA=value&gt;&lt;ASYMPTOTIC&gt;&lt;CMEANSYMBOL=color&gt; ...\",\"arguments\":[{\"name\":\"ALLLABEL2=\",\"optional\":true,\"description\":\"Labels every point on an R, s, or trend chart with the VALUE plotted for that subgroup or with the value of a variable in the input data set.\",\"type\":\"value\"},{\"name\":\"ALLLABEL=\",\"optional\":true,\"description\":\"Labels every point on the primary chart with the VALUE plotted for that subgroup or with the value of a variable in the input data set.\",\"type\":\"value\"},{\"name\":\"ALLN\",\"optional\":true,\"description\":\"Plots summary statistics for all subgroups, regardless of whether the subgroup sample size equals the nominal control limit sample size n specified by the LIMITN= option or the variable _LIMITN_ in the LIMITS= data set.\",\"type\":\"standalone\"},{\"name\":\"ALPHA=\",\"optional\":true,\"description\":\"Requests probability limits. If you specify ALPHA=α, the control limits are computed so that the probability is α that a subgroup summary statistic exceeds its control limits.\",\"help\":\"ALPHA=*value*\",\"type\":\"value\"},{\"name\":\"ANNOTATE2=\",\"optional\":true,\"aliases\":[\"ANNO2=\"],\"description\":\"Specifies an ANNOTATE= type data set that enhances a primary chart.\",\"help\":\"ANNOTATE2=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"ANNOTATE=\",\"optional\":true,\"aliases\":[\"ANNO=\"],\"description\":\"Specifies an ANNOTATE= type data set.\",\"help\":\"ANNOTATE=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"ASYMPTOTIC\",\"optional\":true,\"description\":\"Requests constant upper and lower control limits.\",\"type\":\"standalone\"},{\"name\":\"BILEVEL\",\"optional\":true,\"description\":\"Arranges the Shewhart chart in two levels (rather than the default of one level) so that twice as much data can be displayed on a page or screen.\",\"type\":\"standalone\"},{\"name\":\"BLOCKLABELPOS=\",\"optional\":true,\"description\":\"Specifies the position of a block-variable label in the block legend.\",\"help\":\"BLOCKLABELPOS=ABOVE | LEFT | RIGHT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ABOVE\",\"description\":\"Places the label immediately above the legend.\",\"type\":\"standalone\"},{\"name\":\"LEFT\",\"description\":\"Places the label to the left of the legend.\",\"type\":\"standalone\"},{\"name\":\"RIGHT\",\"description\":\"Places the label to the right of the legend.\",\"type\":\"standalone\"}]},{\"name\":\"BLOCKLABTYPE=\",\"optional\":true,\"description\":\"Specifies how lengthy block variable values are treated when there is insufficient space to display them in the block legend.\",\"help\":\"BLOCKLABTYPE=SCALED | TRUNCATED | ROTATE | ROTATEALL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"SCALED\",\"description\":\"The values are uniformly reduced in height so that they fit.\",\"type\":\"standalone\"},{\"name\":\"TRUNCATED\",\"description\":\"Lengthy values are truncated on the right until they fit.\",\"type\":\"standalone\"},{\"name\":\"ROTATE\",\"description\":\"Rotates the values of the block variable displayed closest to the chart by 90 degreest.\",\"type\":\"standalone\"},{\"name\":\"ROTATEALL\",\"description\":\"RotateS the values of all block variables.\",\"type\":\"standalone\"}]},{\"name\":\"BLOCKPOS=\",\"optional\":true,\"description\":\"Specifies the vertical position of the legend for the values of the block variables.\",\"help\":\"BLOCKPOS=1 | 2 | 3 | 4\",\"type\":\"choice\",\"arguments\":[{\"name\":\"1\",\"description\":\"Top of chart, offset from axis frame\",\"type\":\"standalone\"},{\"name\":\"2\",\"description\":\"Top of chart, immediately above axis frame\",\"type\":\"standalone\"},{\"name\":\"3\",\"description\":\"Bottom of chart, immediately above horizontal axis\",\"type\":\"standalone\"},{\"name\":\"4\",\"description\":\"Bottom of chart, below horizontal axis label\",\"type\":\"standalone\"}]},{\"name\":\"BLOCKREFOPACITY=\",\"optional\":true,\"aliases\":[\"PHASEREFOPACITY=\",\"REFFILLOPACITY=\"],\"description\":\"Specifies the wall fill opacity for blocks and phases when transparency is used in ODS Graphics output. The value must be between 0 and 1, where 0 is completely transparent and 1 is completely opaque. The default wall fill opacity is 0.15.\",\"type\":\"value\"},{\"name\":\"BLOCKREP\",\"optional\":true,\"description\":\"Specifies that block variable values for all groups be displayed. By default, only the first block variable value in any block is displayed, and repeated block variable values are not displayed.\",\"type\":\"standalone\"},{\"name\":\"BLOCKVAR=\",\"optional\":true,\"description\":\"Specifies variables whose values are used to assign colors for filling the background of the legend associated with block variables.\",\"type\":\"value\"},{\"name\":\"BOXCONNECT=\",\"optional\":true,\"description\":\"Specifies that the points representing subgroup means, medians, maximum values, minimum values, first quartiles or third quartiles in box-and-whisker plots created with the BOXCHART statement are to be connected.\",\"help\":\"BOXCONNECT=MEAN | MEDIAN | MAX | MIN | Q1 | Q3\",\"type\":\"choice\",\"arguments\":[{\"name\":\"MEAN\",\"description\":\"Specifies that the points in box-and-whiskers plots created with the BOXCHART statement representing group means be connected with line segments.\",\"type\":\"standalone\"},{\"name\":\"MEDIAN\",\"description\":\"Specifies that the points in box-and-whiskers plots created with the BOXCHART statement representing group medians be connected with line segments.\",\"type\":\"standalone\"},{\"name\":\"MAX\",\"description\":\"Specifies that the points in box-and-whiskers plots created with the BOXCHART statement representing group maximum values be connected with line segments.\",\"type\":\"standalone\"},{\"name\":\"MIN\",\"description\":\"Specifies that the points in box-and-whiskers plots created with the BOXCHART statement representing group minimum values be connected with line segments.\",\"type\":\"standalone\"},{\"name\":\"Q1\",\"description\":\"Specifies that the points in box-and-whiskers plots created with the BOXCHART statement representing group first quartiles be connected with line segments.\",\"type\":\"standalone\"},{\"name\":\"Q3\",\"description\":\"Specifies that the points in box-and-whiskers plots created with the BOXCHART statement representing group third quartiles be connected with line segments.\",\"type\":\"standalone\"}]},{\"name\":\"BOXES=\",\"optional\":true,\"description\":\"Specifies a variable whose values are used to assign colors for the outlines of box-and-whiskers plots.\",\"type\":\"value\"},{\"name\":\"BOXFILL=\",\"optional\":true,\"description\":\"Specifies how box-and-whisker plots are filled with colors from the ODS style.\",\"help\":\"BOXFILL=&lt;*variable*&gt; | NONE | EMPTY\",\"type\":\"choice\",\"arguments\":[{\"name\":\"variable\",\"placeholder\":true,\"description\":\"You can specify a variable whose values are used to group box-and-whiskers plots for assigning fill colors from the ODS style.\",\"type\":\"value\"},{\"name\":\"NONE\",\"description\":\"Produces unfilled boxes.\",\"type\":\"standalone\"},{\"name\":\"EMPTY\",\"description\":\"Produces unfilled boxes.\",\"type\":\"standalone\"}]},{\"name\":\"BOXOPACITY=\",\"optional\":true,\"description\":\"Specifies the box fill opacity for box-and-whisker charts when transparency is used in ODS Graphics output. The value must be between 0 and 1, where 0 is completely transparent and 1 is completely opaque. The default box fill opacity is 0.75.\",\"help\":\"BOXOPACITY=*value*\",\"type\":\"value\"},{\"name\":\"BOXSTYLE=\",\"optional\":true,\"description\":\"[Specifies the style of the box-and-whiskers plots displayed.\",\"help\":\"BOXSTYLE=SKELETAL | SCHEMATIC | SCHEMATICID | SCHEMATICIDFAR | POINTS | POINTSJOIN | POINTSBOX | POINTSID | POINTSJOINID | POINTSSCHEMATIC\",\"type\":\"choice\",\"arguments\":[{\"name\":\"SKELETAL\",\"description\":\"The whiskers are drawn from the edges of the box to the extreme values of the group.\",\"type\":\"standalone\"},{\"name\":\"SCHEMATIC\",\"description\":\"A whisker is drawn from the upper edge of the box to the largest observed value within the upper fence, and another is drawn from the lower edge of the box to the smallest observed value within the lower fence.\",\"type\":\"standalone\"},{\"name\":\"SCHEMATICID\",\"description\":\"A schematic box-and-whiskers plot is displayed in which an ID variable value is used to label the symbol marking each observation outside the upper and lower fences.\",\"type\":\"standalone\"},{\"name\":\"SCHEMATICIDFAR\",\"description\":\"A schematic box-and-whiskers plot is displayed in which the value of the ID variable is used to label the symbol marking each observation outside the lower and upper far fences\",\"type\":\"standalone\"},{\"name\":\"POINTS\",\"description\":\"All the values in the subgroup sample are plotted as points, and neither a box nor whiskers are drawn.\",\"type\":\"standalone\"},{\"name\":\"POINTSJOIN\",\"description\":\"All the values in the subgroup sample are plotted as points joined with a vertical line. Neither a box nor whiskers are drawn.\",\"type\":\"standalone\"},{\"name\":\"POINTSBOX\",\"description\":\"All the values in the subgroup sample are plotted as points enclosed in a box.\",\"type\":\"standalone\"},{\"name\":\"POINTSID\",\"description\":\"All the values in the subgroup sample are plotted using labels specified as the values of the first variable in the ID statement.\",\"type\":\"standalone\"},{\"name\":\"POINTSJOINID\",\"description\":\"All the values in the subgroup sample are plotted using labels specified as the values of the first variable in the ID statement, and the values are joined by a vertical line.\",\"type\":\"standalone\"},{\"name\":\"POINTSSCHEMATIC\",\"description\":\"A schematic box chart is overlaid with points plotting all observations in the subgroups.\",\"type\":\"standalone\"}]},{\"name\":\"BOXWIDTH=\",\"optional\":true,\"description\":\"Specifies the width (in horizontal percent screen units) of the box-and-whiskers plots.\",\"help\":\"BOXWIDTH=*value*\",\"type\":\"value\"},{\"name\":\"BOXWIDTHSCALE=\",\"optional\":true,\"description\":\"Specifies that the width of the box-and-whiskers plots created with the BOXCHART statement is to vary proportionately to a particular function of the group size n.\",\"help\":\"BOXWIDTHSCALE=*value*\",\"type\":\"value\"},{\"name\":\"CAXIS=\",\"optional\":true,\"aliases\":[\"CAXES=\",\"CA=\"],\"description\":\"Specifies the color for the axes and tick marks. This option overrides any COLOR= specifications in an AXIS statement.\",\"help\":\"CAXIS=*color*\",\"type\":\"color\"},{\"name\":\"CBLOCKLAB=\",\"optional\":true,\"description\":\"Specifies fill colors for the frames that enclose the block variable labels in a block legend.\",\"help\":\"CBLOCKLAB=*color*\",\"type\":\"color\"},{\"name\":\"CBLOCKVAR=\",\"optional\":true,\"description\":\"Specifies variables whose values are colors for filling the background of the legend associated with block variables.\",\"type\":\"value\"},{\"name\":\"CBOXES=\",\"optional\":true,\"description\":\"Specifies the colors for the outlines of the box-and-whiskers plots created with the BOXCHART statement.\",\"help\":\"CBOXES=*color*\",\"type\":\"color\"},{\"name\":\"CBOXFILL=\",\"optional\":true,\"description\":\"Specifies the interior fill colors for the box-and-whiskers plots created with the BOXCHART statement.\",\"help\":\"CBOXFILL=*color*\",\"type\":\"color\"},{\"name\":\"CCLIP=\",\"optional\":true,\"description\":\"Specifies a color for the plotting symbol that is specified with the CLIPSYMBOL= option to mark clipped values.\",\"help\":\"CCLIP=*color*\",\"type\":\"color\"},{\"name\":\"CCONNECT=\",\"optional\":true,\"description\":\"Specifies the color for line segments connecting points on the chart.\",\"help\":\"CCONNECT=*color*\",\"type\":\"color\"},{\"name\":\"CCOVERLAY2=\",\"optional\":true,\"description\":\"Specifies the colors for line segments connecting points on secondary chart overlays.\",\"help\":\"CCOVERLAY2=*color*\",\"type\":\"color\"},{\"name\":\"CCOVERLAY=\",\"optional\":true,\"description\":\"Specifies the colors for line segments connecting points on primary chart overlays.\",\"help\":\"CCOVERLAY=*color*\",\"type\":\"color\"},{\"name\":\"CFRAME=\",\"optional\":true,\"description\":\"Specifies the color for filling the rectangle enclosed by the axes and the frame. By default, this area is not filled. The CFRAME= option cannot be used in conjunction with the NOFRAME option.\",\"help\":\"CFRAME=*color*\",\"type\":\"color\"},{\"name\":\"CFRAMELAB=\",\"optional\":true,\"description\":\"Specifies the color for filling rectangles that frame the point labels displayed with the ALLLABEL=, ALLLABEL2=, OUTLABEL=, and OUTLABEL2= options.\",\"help\":\"CFRAMELAB=*color*\",\"type\":\"color\"},{\"name\":\"CGRID=\",\"optional\":true,\"description\":\"Specifies the color for the grid requested by the ENDGRID or GRID option. By default, the grid is the same color as the axes.\",\"help\":\"CGRID=*color*\",\"type\":\"color\"},{\"name\":\"CHREF=\",\"optional\":true,\"description\":\"Specifies the color for the lines requested by the HREF= and HREF2= options.\",\"help\":\"CHREF=*color*\",\"type\":\"color\"},{\"name\":\"CIINDICES\",\"optional\":true,\"description\":\"Requests capability index confidence limits based on subgroup summary data, calculated using \\\"effective degrees of freedom\\\". TYPE=keyword specifies the type of confidence limit. Valid values are LOWER, UPPER and TWOSIDED. The default value is TWOSIDED.\",\"type\":\"standalone\"},{\"name\":\"CINFILL=\",\"optional\":true,\"description\":\"Specifies the color for the area inside the upper and lower control limits.\",\"help\":\"CINFILL=&lt;*color*&gt; | NONE | EMPTY\",\"type\":\"choice\",\"arguments\":[{\"name\":\"color\",\"placeholder\":true,\"description\":\"Specifies the color for the area inside the upper and lower control limits.\",\"type\":\"color\"},{\"name\":\"NONE\",\"description\":\"Leaves the area between the contol limits unfilled.\",\"type\":\"standalone\"},{\"name\":\"EMPTY\",\"description\":\"Leaves the area between the contol limits unfilled.\",\"type\":\"standalone\"}]},{\"name\":\"CLABEL=\",\"optional\":true,\"description\":\"Specifies the color for labels produced by the ALLLABEL=, ALLLABEL2=, OUTLABEL=, and OUTLABEL2= options.\",\"help\":\"CLABEL=*color*\",\"type\":\"color\"},{\"name\":\"CLIMITS=\",\"optional\":true,\"description\":\"Specifies the color for the control limits, the central line, and the labels for these lines.\",\"help\":\"CLIMITS=*color*\",\"type\":\"color\"},{\"name\":\"CLIPCHAR=\",\"optional\":true,\"description\":\"Specifies a plot character that identifies clipped points, as requested with the CLIPFACTOR= option.\",\"help\":\"CLIPCHAR='*character*'\",\"type\":\"value\"},{\"name\":\"CLIPFACTOR=\",\"optional\":true,\"description\":\"Requests clipping of extreme values on the control chart. The factor that you specify determines the extent to which these values are clipped, and it must be greater than 1.\",\"help\":\"CLIPFACTOR=*factor*\",\"type\":\"value\"},{\"name\":\"CLIPLEGEND=\",\"optional\":true,\"description\":\"Specifies the label for the legend that indicates the number of clipped boxes when the CLIPFACTOR= option is used.\",\"type\":\"value\"},{\"name\":\"CLIPLEGPOS=\",\"optional\":true,\"description\":\"Specifies the position for the legend that indicates the number of clipped boxes when the CLIPFACTOR= option is used.\",\"help\":\"CLIPLEGPOS=TOP | BOTTOM\",\"type\":\"choice\",\"arguments\":[{\"name\":\"TOP\",\"description\":\"Positions the legend at the top of the chart.\",\"type\":\"standalone\"},{\"name\":\"BOTTOM\",\"description\":\"positions the legend at the bottom of the chart.\",\"type\":\"standalone\"}]},{\"name\":\"CLIPSUBCHAR=\",\"optional\":true,\"description\":\"Specifies a substitution character (such as '#') for the label provided with the CLIPLEGEND= option.\",\"help\":\"CLIPSUBCHAR='*character*'\",\"type\":\"value\"},{\"name\":\"CLIPSYMBOL=\",\"optional\":true,\"description\":\"Specifies a plot symbol used to identify clipped points on the chart and in the legend when the CLIPFACTOR= option is used.\",\"help\":\"CLIPSYMBOL=*symbol*\",\"type\":\"value\"},{\"name\":\"CLIPSYMBOLHT=\",\"optional\":true,\"description\":\"Specifies the height for the symbol marker used to identify clipped points on the chart when the CLIPFACTOR= option is used.\",\"help\":\"CLIPSYMBOLHT=*value*\",\"type\":\"value\"},{\"name\":\"CMEANSYMBOL=\",\"optional\":true,\"description\":\"Specifies the color for the symbol requested with the MEANSYMBOL= option.\",\"help\":\"CMEANSYMBOL=*color*\",\"type\":\"color\"},{\"name\":\"CNEEDLES=\",\"optional\":true,\"description\":\"Requests that points are to be connected to the central line with vertical line segments (needles) and specifies the color of the needles.\",\"help\":\"CNEEDLES=*color*\",\"type\":\"color\"},{\"name\":\"CONNECTCHAR=\",\"optional\":true,\"description\":\"Specifies the character used to form line segments that connect points on a chart. The default character is a plus (+) sign.\",\"help\":\"CONNECTCHAR='*character*'\",\"type\":\"value\"},{\"name\":\"CONTROLSTAT=\",\"optional\":true,\"description\":\"Specifies whether the control limits displayed in a box chart are to be computed for subgroup means or for subgroup medians.\",\"help\":\"CONTROLSTAT=MEAN | MEDIAN\",\"type\":\"choice\",\"arguments\":[{\"name\":\"MEAN\",\"description\":\"Specifies whether the control limits displayed in a box chart are to be computed for subgroup means.\",\"type\":\"standalone\"},{\"name\":\"MEDIAN\",\"description\":\"Specifies whether the control limits displayed in a box chart are to be computed for subgroup medians.\",\"type\":\"standalone\"}]},{\"name\":\"COUT\",\"optional\":true,\"description\":\"Specify COUT with no argument to use an appropriate contrasting color from the ODS style.\",\"type\":\"standalone\"},{\"name\":\"COUT=\",\"optional\":true,\"description\":\"Specifies the color for the plotting symbols and the portions of connecting line segments that lie outside the control limits.\",\"help\":\"COUT=*color*\",\"type\":\"color\"},{\"name\":\"COVERLAY2=\",\"optional\":true,\"description\":\"Specifies the colors used to plot secondary chart overlay variables. Colors in the COVERLAY2= list are matched with variables in the corresponding positions in the OVERLAY2= list.\",\"type\":\"value\"},{\"name\":\"COVERLAY=\",\"optional\":true,\"description\":\"Specifies the colors used to plot primary chart overlay variables. Colors in the COVERLAY= list are matched with variables in the corresponding positions in the OVERLAY= list.\",\"type\":\"value\"},{\"name\":\"COVERLAYCLIP=\",\"optional\":true,\"description\":\"Specifies the color used to plot clipped values on overlay plots when the CLIPFACTOR= option is used.\",\"help\":\"COVERLAYCLIP=*color*\",\"type\":\"color\"},{\"name\":\"CPHASEBOX=\",\"optional\":true,\"description\":\"Specifies the color for a box that encloses all of the plotted points for a phase (group of consecutive observations that have the same value of the variable _PHASE_).\",\"help\":\"CPHASEBOX=*color*\",\"type\":\"color\"},{\"name\":\"CPHASEBOXCONNECT=\",\"optional\":true,\"description\":\"Specifies the color for line segments that connect the vertical edges of adjacent enclosing boxes requested with the CPHASEBOX= option or the CPHASEBOXFILL= option.\",\"help\":\"CPHASEBOXCONNECT=*color*\",\"type\":\"color\"},{\"name\":\"CPHASEBOXFILL=\",\"optional\":true,\"description\":\"Specifies the fill color for a box that encloses all of the plotted points for a phase.\",\"help\":\"CPHASEBOXFILL=*color*\",\"type\":\"color\"},{\"name\":\"CPHASELEG=\",\"optional\":true,\"description\":\"Specifies a text color for the phase labels requested with the PHASELEGEND option.\",\"help\":\"CPHASELEG=*color*\",\"type\":\"color\"},{\"name\":\"CPHASEMEANCONNECT=\",\"optional\":true,\"description\":\"Specifies the color for line segments that connect points representing the average of the values plotted within a phase.\",\"help\":\"CPHASEMEANCONNECT=*color*\",\"type\":\"color\"},{\"name\":\"CSTARCIRCLES=\",\"optional\":true,\"description\":\"Specifies a color for the circles requested with the STARCIRCLES= option.\",\"help\":\"CSTARCIRCLES=*color*\",\"type\":\"color\"},{\"name\":\"CSTARFILL=\",\"optional\":true,\"description\":\"Specifies a color or colors for filling the interior of stars requested with the STARVERTICES= option.\",\"help\":\"CSTARFILL=*color* | (*variable*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"color\",\"placeholder\":true,\"type\":\"color\"},{\"name\":\"(variable)\",\"placeholder\":true,\"type\":\"value\"}]},{\"name\":\"CSTAROUT\",\"optional\":true,\"description\":\"Specifies to use use an appropriate contrasting color from the ODS style for those portions of the outlines of stars (requested with the STARVERTICES= option) that exceed the inner or outer circles.\",\"type\":\"color\"},{\"name\":\"CSTAROUT=\",\"optional\":true,\"description\":\"Specifies a color for those portions of the outlines of stars (requested with the STARVERTICES= option) that exceed the inner or outer circles.\",\"help\":\"CSTAROUT=*color*\",\"type\":\"color\"},{\"name\":\"CSTARS=\",\"optional\":true,\"description\":\"Specifies a color or colors for the outlines of stars requested with the STARVERTICES= option.\",\"help\":\"CSTARS=*color* | (*variable*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"color\",\"placeholder\":true,\"type\":\"color\"},{\"name\":\"(variable)\",\"placeholder\":true,\"type\":\"value\"}]},{\"name\":\"CSYMBOL=\",\"optional\":true,\"description\":\"Specifies a label for the central line in a C chart.\",\"help\":\"CSYMBOL=C | CBAR | CPM | CPM2 | C0 | '*label*'\",\"type\":\"choice\",\"arguments\":[{\"name\":\"C\",\"description\":\"C\",\"type\":\"standalone\"},{\"name\":\"CBAR\",\"description\":\"CBAR\",\"type\":\"standalone\"},{\"name\":\"CPM\",\"description\":\"C'\",\"type\":\"standalone\"},{\"name\":\"CPM2\",\"description\":\"C''\",\"type\":\"standalone\"},{\"name\":\"C0\",\"description\":\"Co\",\"type\":\"standalone\"},{\"name\":\"'label'\",\"placeholder\":true,\"description\":\"You can specify a quoted label of length 16 or less.\",\"type\":\"value\"}]},{\"name\":\"CTESTLABBOX=\",\"optional\":true,\"description\":\"Specifies the color for boxes enclosing labels for positive tests for special causes requested with the TESTLABBOX option.\",\"help\":\"CTESTLABBOX=*color*\",\"type\":\"color\"},{\"name\":\"CTESTS=\",\"optional\":true,\"aliases\":[\"CTEST=\"],\"description\":\"Specifies colors for labels indicating points where a test is positive.\",\"help\":\"CTESTS=*color*\",\"type\":\"color\"},{\"name\":\"CTESTSYMBOL=\",\"optional\":true,\"aliases\":[\"CTESTSYM=\"],\"description\":\"Specifies the color of the symbol used to plot subgroups with positive tests for special causes.\",\"help\":\"CTESTSYMBOL=*color*\",\"type\":\"color\"},{\"name\":\"CTEXT=\",\"optional\":true,\"description\":\"Specifies the color for tick mark values and axis labels. The default color is the color specified in the CTEXT= option in the most recent GOPTIONS statement.\",\"help\":\"CTEXT=*color*\",\"type\":\"color\"},{\"name\":\"CVREF=\",\"optional\":true,\"aliases\":[\"CV=\"],\"description\":\"Specifies the color for the lines requested by the VREF= and VREF2= options.\",\"help\":\"CVREF=*color*\",\"type\":\"color\"},{\"name\":\"CZONES=\",\"optional\":true,\"description\":\"Requests lines marking zones A, B, and C for the tests for special causes (see the TESTS= option) and specifies the color for these lines.\",\"help\":\"CZONES=*color*\",\"type\":\"color\"},{\"name\":\"DESCRIPTION2=\",\"optional\":true,\"aliases\":[\"DES2=\"],\"description\":\"Specifies a description for the secondary chart of length 256 or less that appears in the PROC GREPLAY master menu. The default string is the variable name. The DESCRIPTION2= option is available in the IRCHART, MRCHART, XRCHART, and XSCHART statements, and it is used in conjunction with the SEPARATE option. A related option is NAME2=.\",\"help\":\"DESCRIPTION2='*string*'\",\"type\":\"value\"},{\"name\":\"DESCRIPTION=\",\"optional\":true,\"aliases\":[\"DES=\"],\"description\":\"Specifies a description for the primary chart of length 256 or less that appears in the PROC GREPLAY master menu. The default string is the variable name. A related option is NAME=.\",\"help\":\"DESCRIPTION='*string*'\",\"type\":\"value\"},{\"name\":\"DISCRETE\",\"optional\":true,\"description\":\"Specifies that numeric subgroup variable values be treated as discrete values, so that each tick value on the default subgroup axis corresponds to a unique subgroup variable value.\",\"type\":\"standalone\"},{\"name\":\"ENDGRID\",\"optional\":true,\"description\":\"Adds a grid to the rightmost portion of the chart, beginning with the first labeled major tick mark position that follows the last plotted point.\",\"type\":\"standalone\"},{\"name\":\"EXCHART\",\"optional\":true,\"description\":\"Creates a control chart only when exceptions occur, specifically, when the control limits are exceeded or when any of the tests requested with the TESTS= option or the TESTS2= option are positive.\",\"type\":\"standalone\"},{\"name\":\"FONT=\",\"optional\":true,\"description\":\"Specifies a software font for labels and legends.\",\"help\":\"FONT=*font*\",\"type\":\"value\"},{\"name\":\"FRONTREF\",\"optional\":true,\"description\":\"Draws reference lines specified with the HREF= and VREF= options in front of box-and-whiskers plots. By default, reference lines are drawn behind the box-and-whiskers plots and can be obscured by filled boxes.\",\"type\":\"standalone\"},{\"name\":\"GRID\",\"optional\":true,\"description\":\"Adds a grid to the control chart. Grid lines are horizontal lines positioned at labeled major tick marks, and they cover the length and height of the plotting area.\",\"type\":\"standalone\"},{\"name\":\"HAXIS=\",\"optional\":true,\"description\":\"Specifies tick mark values for the horizontal (subgroup) axis. If the group variable is numeric, the values must be numeric and equally spaced. If the group variable is character, values must be quoted strings of up to 16 characters. Optionally, you can specify an axis name defined in a previous AXIS statement.\",\"type\":\"value\"},{\"name\":\"HEIGHT=\",\"optional\":true,\"description\":\"Specifies the height (in vertical screen percent units) of the text for axis labels and legends. This value takes precedence over the HTEXT= value specified in the GOPTIONS statement.\",\"help\":\"HEIGHT=*value*\",\"type\":\"value\"},{\"name\":\"HMINOR=\",\"optional\":true,\"aliases\":[\"HM=\"],\"description\":\"Specifies the number of minor tick marks between major tick marks on the horizontal axis. Minor tick marks are not labeled. The default is HMINOR=0.\",\"help\":\"HMINOR=*n*\",\"type\":\"value\"},{\"name\":\"HOFFSET=\",\"optional\":true,\"description\":\"Specifies the length (in percent screen units) of the offset at both ends of the horizontal axis. You can eliminate the offset by specifying HOFFSET=0.\",\"help\":\"HOFFSET=*value*\",\"type\":\"value\"},{\"name\":\"HREF2=\",\"optional\":true,\"description\":\"Draws reference lines perpendicular to the horizontal (subgroup) axis on the secondary chart.\",\"type\":\"value\"},{\"name\":\"HREF2DATA=\",\"optional\":true,\"description\":\"Draws reference lines perpendicular to the horizontal (subgroup) axis on the secondary chart. The HREF2DATA= option must be used in place of the HREF2= option to specify a data set using the quoted filename notation.\",\"help\":\"HREF2DATA=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"HREF2LABELS=\",\"optional\":true,\"aliases\":[\"HREF2LABEL=\",\"HREF2LAB=\"],\"description\":\"Specifies labels for the reference lines requested by the HREF2= option. The number of labels must equal the number of lines. Enclose each label in quotes. Labels can be up to 16 characters.\",\"type\":\"value\"},{\"name\":\"HREF=\",\"optional\":true,\"description\":\"Draws reference lines perpendicular to the horizontal (subgroup) axis on the primary chart.\",\"type\":\"value\"},{\"name\":\"HREFCHAR=\",\"optional\":true,\"description\":\"Specifies the character used for reference lines requested by the HREF= and HREF2= options on line printer charts. The default is the vertical bar (|).\",\"help\":\"HREFCHAR='*character*'\",\"type\":\"value\"},{\"name\":\"HREFDATA=\",\"optional\":true,\"description\":\"Draws reference lines perpendicular to the horizontal (subgroup) axis on the primary chart. The HREFDATA= option must be used in place of the HREF= option to specify a data set using the quoted filename notation.\",\"help\":\"HREFDATA=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"HREFLABELS=\",\"optional\":true,\"aliases\":[\"HREFLABEL=\",\"HREFLAB=\"],\"description\":\"Specifies labels for the reference lines requested by the HREF= option. The number of labels must equal the number of lines. Enclose each label in quotes. Labels can be up to 16 characters.\",\"type\":\"value\"},{\"name\":\"HREFLABPOS=\",\"optional\":true,\"description\":\"Specifies the vertical position of the HREFLABEL= label.\",\"help\":\"HREFLABPOS=1 | 2 | 3 | 4\",\"type\":\"choice\",\"arguments\":[{\"name\":\"1\",\"description\":\"Along top of subplot area\",\"type\":\"standalone\"},{\"name\":\"2\",\"description\":\"Staggered from top to bottom of subplot area\",\"type\":\"standalone\"},{\"name\":\"3\",\"description\":\"Along bottom of subplot area\",\"type\":\"standalone\"},{\"name\":\"4\",\"description\":\"Staggered from bottom to top of subplot area\",\"type\":\"standalone\"}]},{\"name\":\"HTML2=\",\"optional\":true,\"description\":\"Specifies URLs as values of the specified character variable (or formatted values of a numeric variable). These URLs are associated with points on a secondary chart when traditional graphics output is directed into HTML.\",\"help\":\"HTML2=*variable*\",\"type\":\"value\"},{\"name\":\"HTML=\",\"optional\":true,\"description\":\"Specifies URLs as values of the specified character variable (or formatted values of a numeric variable). These URLs are associated with points on a primary control chart when traditional graphics output is directed into HTML.\",\"help\":\"HTML=*variable*\",\"type\":\"value\"},{\"name\":\"HTML_LEGEND=\",\"optional\":true,\"description\":\"Specifies URLs as values of the specified character variable (or formatted values of a numeric variable). These URLs are associated with symbols in the legend for the levels of a symbol-variable.\",\"help\":\"HTML_LEGEND=*variable*\",\"type\":\"value\"},{\"name\":\"IDCOLOR=\",\"optional\":true,\"description\":\"Specifies the color of the symbol marker used to identify outliers in schematic box-and-whiskers plots (that is, when you specify the keyword SCHEMATIC, SCHEMATICID, or SCHEMATICIDFAR with the BOXSTYLE= option).\",\"help\":\"IDCOLOR=*color*\",\"type\":\"color\"},{\"name\":\"IDCTEXT=\",\"optional\":true,\"description\":\"Specifies the color for the text used to label outliers when you specify the keyword SCHEMATICID, SCHEMATICIDFAR, POINTSID, or POINTSJOINID with the BOXSTYLE= option.\",\"help\":\"IDCTEXT=*color*\",\"type\":\"color\"},{\"name\":\"IDFONT=\",\"optional\":true,\"description\":\"Specifies the font for the text used to label outliers when you specify the keyword SCHEMATICID, SCHEMATICIDFAR, POINTSID, or POINTSJOINID with the BOXSTYLE= option.\",\"help\":\"IDFONT=*font*\",\"type\":\"value\"},{\"name\":\"IDHEIGHT=\",\"optional\":true,\"description\":\"Specifies the height for the text used to label outliers when you specify the keyword SCHEMATICID, SCHEMATICIDFAR, POINTSID, or POINTSJOINID with the BOXSTYLE= option.\",\"help\":\"IDHEIGHT=*value*\",\"type\":\"value\"},{\"name\":\"IDSYMBOL=\",\"optional\":true,\"description\":\"Specifies the symbol marker used to identify outliers in schematic box-and-whisker plots produced with the BOXCHART statement when you use one of the following options: BOXSTYLE=SCHEMATIC, BOXSTYLE=SCHEMATICID, and BOXSTYLE=SCHEMATICIDFAR. The default symbol is SQUARE.\",\"help\":\"IDSYMBOL=*symbol*\",\"type\":\"value\"},{\"name\":\"INDEPENDENTZONES\",\"optional\":true,\"aliases\":[\"INDEPZONES\"],\"description\":\"Specifies that the widths of the zones requested with the ZONES option be computed independently above and below the center line of the chart, so that the width of each zone is one-third of the difference between the process mean and the control limit on its side of the chart.\",\"type\":\"standalone\"},{\"name\":\"INFILLOPACITY=\",\"optional\":true,\"description\":\"Specifies the control limit infill opacity when transparency is used in ODS Graphics output. The value be between 0 and 1, where 0 is completely transparent and 1 is completely opaque. The default control limit infill opacity is 0.25.\",\"help\":\"INFILLOPACITY=*value*\",\"type\":\"value\"},{\"name\":\"INTERVAL=\",\"optional\":true,\"description\":\"Specifies the natural time interval between consecutive group positions when a time, date, or datetime format is associated with a numeric group variable.\",\"help\":\"INTERVAL=DAY | DTDAY | HOUR | MINUTE | MONTH | QTR | SECOND\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DAY\",\"description\":\"For DATE, WEEKDATE, WORDDATE, YYMMDD, or MMDDYY format\",\"type\":\"standalone\"},{\"name\":\"DTDAY\",\"description\":\"For DATETIME format\",\"type\":\"standalone\"},{\"name\":\"HOUR\",\"description\":\"For HHMM or HOUR format\",\"type\":\"standalone\"},{\"name\":\"MINUTE\",\"description\":\"For MMSS format\",\"type\":\"standalone\"},{\"name\":\"MONTH\",\"description\":\"For MONYY format\",\"type\":\"standalone\"},{\"name\":\"QTR\",\"description\":\"For YYQ format\",\"type\":\"standalone\"},{\"name\":\"SECOND\",\"description\":\"For TIME or TOD format\",\"type\":\"standalone\"}]},{\"name\":\"INTSTART=\",\"optional\":true,\"description\":\"Specifies the starting value for a numeric horizontal axis when a date, time, or datetime format is associated with the group variable.\",\"help\":\"INTSTART=*value*\",\"type\":\"value\"},{\"name\":\"LABELANGLE=\",\"optional\":true,\"description\":\"Specifies the angle at which labels requested with the ALLLABEL=, ALLLABEL2=, OUTLABEL=, and OUTLABEL2= options are drawn. A positive angle rotates the labels counterclockwise; a negative angle rotates them clockwise. By default, labels are oriented horizontally.\",\"help\":\"LABELANGLE=*angle*\",\"type\":\"value\"},{\"name\":\"LABELFONT=\",\"optional\":true,\"aliases\":[\"TESTFONT=\"],\"description\":\"Specifies a software font for labels requested with the ALLLABEL=, ALLLABEL2=, OUTLABEL=, OUTLABEL2=, STARLABEL=, TESTLABEL=, and TESTLABELn= options.\",\"help\":\"LABELFONT=*font*\",\"type\":\"value\"},{\"name\":\"LABELHEIGHT=\",\"optional\":true,\"aliases\":[\"TESTHEIGHT=\"],\"description\":\"Specifies the height (in vertical percent screen units) for labels requested with the ALLLABEL=, ALLLABEL2=, OUTLABEL=, OUTLABEL2=, STARLABEL=, TESTLABEL=, and TESTLABEL= options.\",\"help\":\"LABELHEIGHT=*value*\",\"type\":\"value\"},{\"name\":\"LBOXES=\",\"optional\":true,\"description\":\"Specifies the line types for the outlines of the box-and-whiskers plots created with the BOXCHART statement.\",\"help\":\"LBOXES=*linetype* | (*variable*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"linetype\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(variable)\",\"placeholder\":true,\"type\":\"value\"}]},{\"name\":\"LCLLABEL2=\",\"optional\":true,\"description\":\"Specifies a label for the lower control limit in the secondary chart. The label can be of length 16 or less. Enclose the label in quotes.\",\"help\":\"LCLLABEL2='*label*'\",\"type\":\"value\"},{\"name\":\"LCLLABEL=\",\"optional\":true,\"description\":\"Specifies a label for the lower control limit in the primary chart. The label can be of length 16 or less. Enclose the label in quotes.\",\"help\":\"LCLLABEL='*label*'\",\"type\":\"value\"},{\"name\":\"LENDGRID=\",\"optional\":true,\"description\":\"Specifies the line type for the grid requested with the ENDGRID option. The default value is 1, which produces a solid line.\",\"help\":\"LENDGRID=*linetype*\",\"type\":\"value\"},{\"name\":\"LGRID=\",\"optional\":true,\"description\":\"Specifies the line type for the grid requested with the GRID option. The default value is 1, which produces a solid line.\",\"help\":\"LGRID=*linetype*\",\"type\":\"value\"},{\"name\":\"LHREF=\",\"optional\":true,\"aliases\":[\"LH=\"],\"description\":\"Specifies the line type for reference lines requested with the HREF= and HREF2 options. The default value is 2, which produces a dashed line.\",\"help\":\"LHREF=*linetype*\",\"type\":\"value\"},{\"name\":\"LIMITN=\",\"optional\":true,\"description\":\"Specifies a fixed nominal sample size for the control limits.\",\"help\":\"LIMITN=*n*\",\"type\":\"value\"},{\"name\":\"LIMITN=\",\"optional\":true,\"description\":\"Specifies a varying nominal sample size for the control limits.\",\"help\":\"LIMITN=VARYING\",\"type\":\"value\"},{\"name\":\"LIMLABSUBCHAR=\",\"optional\":true,\"description\":\"Specifies a substitution character (such as #) for labels provided as quoted strings with the LCLLABEL=, LCLLABEL2=, UCLLABEL=, UCLLABEL2=, CSYMBOL=, NPSYMBOL=, PSYMBOL=, RSYMBOL=, SSYMBOL=, USYMBOL=, and XSYMBOL= options.\",\"help\":\"LIMLABSUBCHAR='*character*'\",\"type\":\"value\"},{\"name\":\"LLIMITS=\",\"optional\":true,\"description\":\"Specifies the line type for control limits. The default is 4, which produces a dashed line.\",\"help\":\"LLIMITS=*linetype*\",\"type\":\"value\"},{\"name\":\"LOVERLAY2=\",\"optional\":true,\"description\":\"Specifies line types for the line segments connecting points on secondary chart overlays. Line types in the LOVERLAY2= list are matched with variables in the corresponding positions in the OVERLAY2= list.\",\"type\":\"value\"},{\"name\":\"LOVERLAY=\",\"optional\":true,\"description\":\"Specifies line types for the line segments connecting points on primary chart overlays. Line types in the LOVERLAY= list are matched with variables in the corresponding positions in the OVERLAY= list.\",\"type\":\"value\"},{\"name\":\"LSL=\",\"optional\":true,\"description\":\"Provides lower specification limits used to compute capability indices.\",\"help\":\"LSL=*value-list*\",\"type\":\"value\"},{\"name\":\"LSTARCIRCLES=\",\"optional\":true,\"description\":\"Specifies one or more line types for the circles requested with the STARCIRCLES= option.\",\"help\":\"LSTARCIRCLES=*linetypes*\",\"type\":\"value\"},{\"name\":\"LSTARS=\",\"optional\":true,\"description\":\"Specifies the line types for the outlines of stars requested with the STARVERTICES= option.\",\"help\":\"LSTARS=*linetype* | (*variable*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"linetype\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(variable)\",\"placeholder\":true,\"type\":\"value\"}]},{\"name\":\"LTESTS=\",\"optional\":true,\"aliases\":[\"LTEST=\"],\"description\":\"Specifies the line type for the line segments that connect patterns of points for which a test for special causes (requested with the TESTS= option) is positive. The default is 1, which produces a solid line.\",\"help\":\"LTESTS=*linetype*\",\"type\":\"value\"},{\"name\":\"LTMARGIN=\",\"optional\":true,\"aliases\":[\"LTM=\"],\"description\":\"Specifies the width of the left marginal area for the plot requested with the LTMPLOT= option.\",\"help\":\"LTMARGIN=*value*\",\"type\":\"value\"},{\"name\":\"LTMPLOT=\",\"optional\":true,\"description\":\"Requests a univariate plot of the control chart statistics that is positioned in the left margin of the control chart.\",\"help\":\"LTMPLOT=HISTOGRAM | DIGIDOT | SKELETAL | SCHEMATIC | SCHEMATICID | SCHEMATICIDFAR\",\"type\":\"choice\",\"arguments\":[{\"name\":\"HISTOGRAM\",\"description\":\"Histogram\",\"type\":\"standalone\"},{\"name\":\"DIGIDOT\",\"description\":\"Digidot plot\",\"type\":\"standalone\"},{\"name\":\"SKELETAL\",\"description\":\"Skeletal box-and-whisker plot\",\"type\":\"standalone\"},{\"name\":\"SCHEMATIC\",\"description\":\"Schematic box-and-whisker plot\",\"type\":\"standalone\"},{\"name\":\"SCHEMATICID\",\"description\":\"Schematic box-and-whisker plot with outliers labeled\",\"type\":\"standalone\"},{\"name\":\"SCHEMATICIDFAR\",\"description\":\"Schematic box-and-whisker plot with far outliers labeled\",\"type\":\"standalone\"}]},{\"name\":\"LVREF=\",\"optional\":true,\"aliases\":[\"LV=\"],\"description\":\"Specifies the line type for reference lines requested by the VREF= and VREF2= options. The default value is 2, which produces a dashed line.\",\"help\":\"LVREF=*linetype*\",\"type\":\"value\"},{\"name\":\"LZONES=\",\"optional\":true,\"description\":\"Specifies the line type for lines that delineate zones A, B, and C for standard tests requested with the TESTS= and/or TESTS2= options. The default is n=2, which produces a dashed line.\",\"help\":\"LZONES=*n*\",\"type\":\"value\"},{\"name\":\"MAXPANELS=\",\"optional\":true,\"description\":\"Specifies the maximum number of pages or screens for a chart. By default, n=20.\",\"help\":\"MAXPANELS=*n*\",\"type\":\"value\"},{\"name\":\"MEANCHAR=\",\"optional\":true,\"description\":\"Specifies a character used to plot the subgroup mean for each subgroup.\",\"help\":\"MEANCHAR='*character*'\",\"type\":\"value\"},{\"name\":\"MEANSYMBOL=\",\"optional\":true,\"description\":\"Specifies a symbol used to plot the subgroup mean for each subgroup.\",\"help\":\"MEANSYMBOL=*keyword*\",\"type\":\"value\"},{\"name\":\"MEDCENTRAL=\",\"optional\":true,\"description\":\"Identifies a method for estimating the process mean, µ, which is represented by the central line on a median chart.\",\"help\":\"MEDCENTRAL=AVGMEAN | AVGMED | MEDMED\",\"type\":\"choice\",\"arguments\":[{\"name\":\"AVGMEAN\",\"description\":\"Average of subgroup means\",\"type\":\"standalone\"},{\"name\":\"AVGMED\",\"description\":\"Average of subgroup medians\",\"type\":\"standalone\"},{\"name\":\"MEDMED\",\"description\":\"Median of subgroup medians\",\"type\":\"standalone\"}]},{\"name\":\"MISSBREAK\",\"optional\":true,\"description\":\"Determines how subgroups are formed when observations are read from a DATA= data set and a character subgroup-variable is provided.\",\"type\":\"standalone\"},{\"name\":\"MRRESTART\",\"optional\":true,\"description\":\"Causes the moving range computation on the IRCHART to be restarted when any missing value is encountered.\",\"type\":\"standalone\"},{\"name\":\"MRRESTART=\",\"optional\":true,\"description\":\"' Causes the moving range computation on the IRCHART to be restarted only when the specified missing value is encountered.\",\"help\":\"MRRESTART=*value*\",\"type\":\"value\"},{\"name\":\"MU0=\",\"optional\":true,\"description\":\"Specifies a known (standard) value u0 for the process mean µ.\",\"help\":\"MU0=*value*\",\"type\":\"value\"},{\"name\":\"NAME2=\",\"optional\":true,\"description\":\"Specifies a name for the secondary chart of length 8 or less that appears in the PROC GREPLAY master menu. The default name is 'SHEWHART'.\",\"help\":\"NAME2='*string*'\",\"type\":\"value\"},{\"name\":\"NAME=\",\"optional\":true,\"description\":\"Specifies a name for the primary chart of length 8 or less that appears in the PROC GREPLAY master menu. The default name is 'SHEWHART'.\",\"help\":\"NAME='*string*'\",\"type\":\"value\"},{\"name\":\"NDECIMAL2=\",\"optional\":true,\"description\":\"Specifies the number of decimal digits in the default labels for the control limits and the central line in a secondary chart.\",\"help\":\"NDECIMAL2=*n*\",\"type\":\"value\"},{\"name\":\"NDECIMAL=\",\"optional\":true,\"description\":\"Specifies the number of decimal digits in the default labels for the control limits and the central line in the primary chart.\",\"help\":\"NDECIMAL=*n*\",\"type\":\"value\"},{\"name\":\"NEEDLES\",\"optional\":true,\"description\":\"Connects plotted points to the central line with vertical line segments (needles).\",\"type\":\"standalone\"},{\"name\":\"NMARKERS\",\"optional\":true,\"description\":\"Identifies a plotted subgroup summary statistic with a special symbol marker (character) when the corresponding subgroup sample size is not equal to the nominal control limit sample size n.\",\"type\":\"standalone\"},{\"name\":\"NO3SIGMACHECK\",\"optional\":true,\"description\":\"Suppresses the check for 3σ limits when tests for special causes are requested.\",\"type\":\"standalone\"},{\"name\":\"NOBLOCKREFFILL\",\"optional\":true,\"aliases\":[\"NOPHASEREFILL\",\"NOREFILL\"],\"description\":\"Suppresses the block and phase wall fills from ODS Graphics output. By default, block and phase walls are filled when ODS Graphics is in effect.\",\"type\":\"standalone\"},{\"name\":\"NOBLOCKREF\",\"optional\":true,\"aliases\":[\"NOPHASEREF=\",\"NOREF=\"],\"description\":\"Suppresses block and phase reference lines from ODS Graphics output.\",\"type\":\"standalone\"},{\"name\":\"NOBOXFILLLEGEND\",\"optional\":true,\"aliases\":[\"NOFILLLEGEND\",\"NOSTARFILLLEGEND\"],\"description\":\"Suppresses the legend for the levels of a BOXFILL= or STARFILL= variable in ODS Graphics output.\",\"type\":\"standalone\"},{\"name\":\"NOBYREF\",\"optional\":true,\"description\":\"Specifies that the reference line information in an HREF=, HREF2=, VREF=, or VREF2= data set be applied uniformly to box plots created for all the BY groups in the input data set. If you specify the NOBYREF option, you do not need to provide BY variables in the reference line data set. By default, you must provide BY variables.\",\"type\":\"standalone\"},{\"name\":\"NOCHART\",\"optional\":true,\"description\":\"Suppresses the creation of the chart. You typically specify the NOCHART option when you are using the procedure to compute control limits and save them in an output data set.\",\"type\":\"standalone\"},{\"name\":\"NOCHART2\",\"optional\":true,\"description\":\"Suppresses the creation of a secondary chart. You typically use this option in the IRCHART statement to create a chart for individual measurements and suppress the accompanying chart for moving ranges.\",\"type\":\"standalone\"},{\"name\":\"NOCONNECT\",\"optional\":true,\"description\":\"Suppresses line segments that connect points on the chart.\",\"type\":\"standalone\"},{\"name\":\"NOCTL\",\"optional\":true,\"description\":\"Suppresses the display of the central line in a primary chart.\",\"type\":\"standalone\"},{\"name\":\"NOCTL2\",\"optional\":true,\"description\":\"Suppresses the display of the central line in a secondary chart.\",\"type\":\"standalone\"},{\"name\":\"NOFRAME\",\"optional\":true,\"description\":\"Suppresses the default frame drawn around the chart.\",\"type\":\"standalone\"},{\"name\":\"NOHLABEL\",\"optional\":true,\"description\":\"Suppresses the label for the horizontal (subgroup) axis.\",\"type\":\"standalone\"},{\"name\":\"NOLCL\",\"optional\":true,\"description\":\"Suppresses the display of the lower control limit in a primary chart.\",\"type\":\"standalone\"},{\"name\":\"NOLCL2\",\"optional\":true,\"description\":\"Suppresses the display of the lower control limit in a secondary chart.\",\"type\":\"standalone\"},{\"name\":\"NOLEGEND\",\"optional\":true,\"description\":\"Suppresses the default legend for subgroup sample sizes, which appears by default below the chart.\",\"type\":\"standalone\"},{\"name\":\"NOLIMIT0\",\"optional\":true,\"description\":\"Suppresses the display of a fixed lower control limit if and only if the value of the limit is zero.\",\"type\":\"standalone\"},{\"name\":\"NOLIMIT1\",\"optional\":true,\"description\":\"Suppresses the display of a fixed upper control limit on a p chart if and only if the value of the control limit is 1 (or 100%), or on an np chart if and only if the value of the control limit is n.\",\"type\":\"standalone\"},{\"name\":\"NOLIMITLABEL\",\"optional\":true,\"description\":\"Suppresses the default labels for the control limits and central lines.\",\"type\":\"standalone\"},{\"name\":\"NOLIMITS\",\"optional\":true,\"description\":\"Suppresses the display of control limits.\",\"type\":\"standalone\"},{\"name\":\"NOLIMITSFRAME\",\"optional\":true,\"description\":\"Suppresses the default frame for the control limit information that is displayed across the top of the chart when multiple sets of control limits with distinct multiples of σ and nominal control limit sample sizes are read from a LIMITS= data set.\",\"type\":\"standalone\"},{\"name\":\"NOLIMITSLEGEND\",\"optional\":true,\"description\":\"Suppresses the legend for the control limits, which appears by default in the upper right corner of the chart.\",\"type\":\"standalone\"},{\"name\":\"NOOVERLAYLEGEND\",\"optional\":true,\"description\":\"Suppresses the legend for overlay variables which is displayed by default when the OVERLAY= or OVERLAY2= option is specified.\",\"type\":\"standalone\"},{\"name\":\"NOPHASEFRAME\",\"optional\":true,\"description\":\"Suppresses the default frame for the legend requested by the PHASELEGEND option.\",\"type\":\"standalone\"},{\"name\":\"NOREADLIMITS\",\"optional\":true,\"description\":\"Specifies that control limit parameters for each process listed in the EWMACHART statement are not to be read from the LIMITS= data set specified in the PROC MACONTROL statement.\",\"type\":\"standalone\"},{\"name\":\"NOTCHES\",\"optional\":true,\"description\":\"Specifies that box-and-whiskers plots created by the BOXCHART statement are to be notched.\",\"type\":\"standalone\"},{\"name\":\"NOTESTACROSS\",\"optional\":true,\"description\":\"Specifies that tests for special causes requested with the TESTS= or TESTS2= options not be applied across the boundaries of phases (blocks of consecutive subgroups) determined by the READPHASES= option and the variable _PHASE_ in the input data set.\",\"type\":\"standalone\"},{\"name\":\"NOTICKREP\",\"optional\":true,\"description\":\"Applies to character-valued subgroup-variables and specifies that only the first occurrence of repeated, adjacent group values be labeled on the horizontal axis.\",\"type\":\"standalone\"},{\"name\":\"NOTRANSPARENCY\",\"optional\":true,\"description\":\"Disables transparency in ODS Graphics output, so that all graph features are opaque.\",\"type\":\"standalone\"},{\"name\":\"NOTRENDCONNECT\",\"optional\":true,\"description\":\"Suppresses line segments that connect points on a trend chart.\",\"type\":\"standalone\"},{\"name\":\"NOTRUNC\",\"optional\":true,\"description\":\"Overrides the vertical axis truncation at zero.\",\"type\":\"standalone\"},{\"name\":\"NOUCL\",\"optional\":true,\"description\":\"Suppresses the display of the upper control limit in a primary chart.\",\"type\":\"standalone\"},{\"name\":\"NOUCL2\",\"optional\":true,\"description\":\"suppresses the display of the upper control limit in a secondary chart.\",\"type\":\"standalone\"},{\"name\":\"NOVANGLE\",\"optional\":true,\"description\":\"Requests that the vertical axis label be strung out vertically.\",\"type\":\"standalone\"},{\"name\":\"NPANELPOS=\",\"optional\":true,\"aliases\":[\"NPANEL=\"],\"description\":\"Specifies the number of subgroup positions per panel on each chart.\",\"help\":\"NPANELPOS=*n*\",\"type\":\"value\"},{\"name\":\"NPSYMBOL=\",\"optional\":true,\"description\":\"Specifies a label for the central line in an np chart.\",\"help\":\"NPSYMBOL='*label*' | NP | NPBAR | NPPM | NPPM2 | NP0\",\"type\":\"choice\",\"arguments\":[{\"name\":\"'label'\",\"placeholder\":true,\"description\":\"A quoted label up to 16 characters in length.\",\"type\":\"value\"},{\"name\":\"NP\",\"description\":\"NP\",\"type\":\"standalone\"},{\"name\":\"NPBAR\",\"description\":\"NPBAR\",\"type\":\"standalone\"},{\"name\":\"NPPM\",\"description\":\"NP'\",\"type\":\"standalone\"},{\"name\":\"NPPM2\",\"description\":\"NP''\",\"type\":\"standalone\"},{\"name\":\"NP0\",\"description\":\"NP0\",\"type\":\"standalone\"}]},{\"name\":\"ODSFOOTNOTE2=\",\"optional\":true,\"description\":\"Adds a secondary footnote to ODS Graphics output.\",\"help\":\"ODSFOOTNOTE2=FOOTNOTE2 | '*string*'\",\"type\":\"choice\",\"arguments\":[{\"name\":\"FOOTNOTE2\",\"description\":\"The value of SAS FOOTNOTE2 statement is used as the graph footnote.\",\"type\":\"standalone\"},{\"name\":\"'string'\",\"placeholder\":true,\"description\":\"A quoted string is used as the secondary footnote.\",\"type\":\"value\"}]},{\"name\":\"ODSFOOTNOTE=\",\"optional\":true,\"description\":\"Adds a footnote to ODS Graphics output.\",\"help\":\"ODSFOOTNOTE=FOOTNOTE | FOOTNOTE1 | '*string*'\",\"type\":\"choice\",\"arguments\":[{\"name\":\"FOOTNOTE\",\"description\":\"The value of SAS FOOTNOTE statement is used as the graph footnote.\",\"type\":\"standalone\"},{\"name\":\"FOOTNOTE1\",\"description\":\"The value of SAS FOOTNOTE statement is used as the graph footnote.\",\"type\":\"standalone\"},{\"name\":\"'string'\",\"placeholder\":true,\"description\":\"A quoted string is used as the graph footnote.\",\"type\":\"value\"}]},{\"name\":\"ODSLEGENDEXPAND\",\"optional\":true,\"description\":\"Specifies that legend entries contain all levels observed in the data.\",\"type\":\"standalone\"},{\"name\":\"ODSTITLE2=\",\"optional\":true,\"description\":\"Specifies a secondary title for ODS Graphics output.\",\"help\":\"ODSTITLE2=TITLE2 | '*string*'\",\"type\":\"choice\",\"arguments\":[{\"name\":\"TITLE2\",\"description\":\"Uses the value of SAS TITLE2 statement as the secondary graph title.\",\"type\":\"standalone\"},{\"name\":\"'string'\",\"placeholder\":true,\"description\":\"A quoted string is used as the secondary title.\",\"type\":\"value\"}]},{\"name\":\"ODSTITLE=\",\"optional\":true,\"description\":\"Specifies a title for ODS Graphics output.\",\"help\":\"ODSTITLE=TITLE | TITLE1 | NONE | DEFAULT | LABELFMT | '*string*'\",\"type\":\"choice\",\"arguments\":[{\"name\":\"TITLE\",\"description\":\"Uses the value of SAS TITLE statement as the graph title.\",\"type\":\"standalone\"},{\"name\":\"TITLE1\",\"description\":\"Uses the value of SAS TITLE statement as the graph title.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"Suppresses all titles from the graph.\",\"type\":\"standalone\"},{\"name\":\"DEFAULT\",\"description\":\"Uses the default ODS Graphics title (a descriptive title consisting of the plot type and the process variable name.)\",\"type\":\"standalone\"},{\"name\":\"LABELFMT\",\"description\":\"Uses the default ODS Graphics title with the variable label instead of the variable name.\",\"type\":\"standalone\"},{\"name\":\"'string'\",\"placeholder\":true,\"description\":\"A quoted string is used as the graph title.\",\"type\":\"value\"}]},{\"name\":\"OUTBOX=\",\"optional\":true,\"description\":\"Creates an output data set that contains subgroup summary statistics, control limits, and outlier values for a box chart.\",\"help\":\"OUTBOX=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"OUTFILL\",\"optional\":true,\"description\":\"Fills the areas outside the control limits that lie between the connected points and the control limits and are bounded by connecting lines.\",\"type\":\"standalone\"},{\"name\":\"OUTFILLOPACITY=\",\"optional\":true,\"description\":\"Specifies the control limit outfill opacity when transparency is used in ODS Graphics output. The value must be between 0 and 1, where 0 is completely transparent and 1 is completely opaque. The default control limit outfill opacity is 0.25.\",\"help\":\"OUTFILLOPACITY=*value*\",\"type\":\"value\"},{\"name\":\"OUTHIGHHTML=\",\"optional\":true,\"description\":\"Specifies a variable whose values are URLs to be associated with outlier points above the upper fence on a schematic box plot when graphics output is directed into HTML.\",\"help\":\"OUTHIGHHTML=*variable*\",\"type\":\"value\"},{\"name\":\"OUTHISTORY=\",\"optional\":true,\"description\":\"Creates an output data set that contains the subgroup summary statistics.\",\"help\":\"OUTHISTORY=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"OUTINDEX=\",\"optional\":true,\"description\":\"Specifies the value of the _INDEX_ variable in the OUTLIMITS= output data set.\",\"help\":\"OUTINDEX='*label*'\",\"type\":\"value\"},{\"name\":\"OUTLABEL2=\",\"optional\":true,\"description\":\"Labels each point that falls outside the control limits on an R or s chart with the VALUE plotted for that subgroup or with the value of a variable in the input data set.\",\"help\":\"OUTLABEL2=VALUE | (*variable*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"VALUE\",\"type\":\"standalone\"},{\"name\":\"(variable)\",\"placeholder\":true,\"type\":\"value\"}]},{\"name\":\"OUTLABEL=\",\"optional\":true,\"description\":\"Labels each point that falls outside the control limits on the primary chart with the VALUE plotted for that subgroup or with the value of a variable in the input data set.\",\"help\":\"OUTLABEL=VALUE | (*variable*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"VALUE\",\"type\":\"standalone\"},{\"name\":\"(variable)\",\"placeholder\":true,\"type\":\"value\"}]},{\"name\":\"OUTLIMITS=\",\"optional\":true,\"description\":\"Creates an output data set that saves the control limits.\",\"help\":\"OUTLIMITS=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"OUTLOWHTML=\",\"optional\":true,\"description\":\"Specifies a variable whose values are URLs to be associated with outlier points below the lower fence on a schematic box plot when graphics output is directed into HTML.\",\"help\":\"OUTLOWHTML=*variable*\",\"type\":\"value\"},{\"name\":\"OUTPHASE=\",\"optional\":true,\"description\":\"Specifies the value of the _PHASE_ variable in the OUTHISTORY= data set.\",\"help\":\"OUTPHASE='*label*'\",\"type\":\"value\"},{\"name\":\"OUTTABLE=\",\"optional\":true,\"description\":\"Creates an output SAS data set that saves the information plotted on the chart, including the subgroup variable values and their corresponding summary statistics and control limits.\",\"help\":\"OUTTABLE=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"OVERLAY2=\",\"optional\":true,\"description\":\"Specifies variables to be overlaid on a secondary control chart.\",\"help\":\"OVERLAY2=(*variable-list*)\",\"type\":\"value\"},{\"name\":\"OVERLAY2HTML=\",\"optional\":true,\"description\":\"Specifies variables whose values are URLs to be associated with points on secondary chart overlays.\",\"help\":\"OVERLAY2HTML=(*variable-list*)\",\"type\":\"value\"},{\"name\":\"OVERLAY2ID=\",\"optional\":true,\"description\":\"Specifies variables whose formatted values are used to label points on secondary chart overlays.\",\"help\":\"OVERLAY2ID=(*variable-list*)\",\"type\":\"value\"},{\"name\":\"OVERLAY2SYM=\",\"optional\":true,\"description\":\"Specifies symbols used to plot overlays on a secondary control chart.\",\"help\":\"OVERLAY2SYM=(*symbol-list*)\",\"type\":\"value\"},{\"name\":\"OVERLAY=\",\"optional\":true,\"description\":\"Specifies variables to be overlaid on the primary control chart.\",\"help\":\"OVERLAY=(*variable-list*)\",\"type\":\"value\"},{\"name\":\"OVERLAYCLIPSYM=\",\"optional\":true,\"description\":\"Specifies the symbol used to plot clipped values on overlay plots when the CLIPFACTOR= option is used.\",\"help\":\"OVERLAYCLIPSYM=*symbol*\",\"type\":\"value\"},{\"name\":\"OVERLAYCLIPSYMHT=\",\"optional\":true,\"description\":\"Specifies the height for the symbol used to plot clipped values on overlay plots when the CLIPFACTOR= option is used.\",\"help\":\"OVERLAYCLIPSYMHT=*value*\",\"type\":\"value\"},{\"name\":\"OVERLAYHTML=\",\"optional\":true,\"description\":\"Specifies variables whose values are URLs to be associated with points on primary chart overlays.\",\"help\":\"OVERLAYHTML=(*variable-list*)\",\"type\":\"value\"},{\"name\":\"OVERLAYID=\",\"optional\":true,\"description\":\"Specifies variables whose formatted values are used to label points on primary chart overlays.\",\"help\":\"OVERLAYID=(*variable-list*)\",\"type\":\"value\"},{\"name\":\"OVERLAYLEGLAB=\",\"optional\":true,\"description\":\"Specifies the label displayed to the left of the overlay legend produced by the OVERLAY= or OVERLAY2= option. The label can be up to 16 characters and must be enclosed in quotes. The default label is \\\"Overlays:\\\".\",\"help\":\"OVERLAYLEGLAB='*label*'\",\"type\":\"value\"},{\"name\":\"OVERLAYSYM=\",\"optional\":true,\"description\":\"Specifies symbols used to plot overlays on the primary control chart.\",\"help\":\"OVERLAYSYM=(*symbol-list*)\",\"type\":\"value\"},{\"name\":\"OVERLAYSYMHT=\",\"optional\":true,\"description\":\"Specifies the heights of symbols used to plot overlays on the primary control chart.\",\"help\":\"OVERLAYSYMHT=(*value-list*)\",\"type\":\"value\"},{\"name\":\"P0=\",\"optional\":true,\"description\":\"Specifies a known (standard) value po for the proportion of nonconforming items produced by the process.\",\"help\":\"P0=*value*\",\"type\":\"value\"},{\"name\":\"PAGENUM=\",\"optional\":true,\"description\":\"Specifies the form of the label used for pagination. The string can be up to 16 characters, and it must include one or two occurrences of the substitution character '#'. The first '#' is replaced with the page number, and the optional second '#' is replaced with the total number of pages.\",\"help\":\"PAGENUM='*string*'\",\"type\":\"value\"},{\"name\":\"PAGENUMPOS=\",\"optional\":true,\"description\":\"Specifies where to position the page number requested with the PAGENUM= option.\",\"help\":\"PAGENUMPOS=TL | TR | BL | BR | TL100 | TR100 | BL0 | BR0\",\"type\":\"choice\",\"arguments\":[{\"name\":\"TL\",\"description\":\"Top left\",\"type\":\"standalone\"},{\"name\":\"TR\",\"description\":\"Top right\",\"type\":\"standalone\"},{\"name\":\"BL\",\"description\":\"Bottom left\",\"type\":\"standalone\"},{\"name\":\"BR\",\"description\":\"Bottom right\",\"type\":\"standalone\"},{\"name\":\"TL100\",\"description\":\"Top left. TL100 ensures that the page number appears at the very top of a page when a title is displayed.\",\"type\":\"standalone\"},{\"name\":\"TR100\",\"description\":\"Top right. TR100 ensures that the page number appears at the very top of a page when a title is displayed.\",\"type\":\"standalone\"},{\"name\":\"BL0\",\"description\":\"Bottom left. BL0 ensures that the page number appears at the very bottom of a page when footnotes are displayed.\",\"type\":\"standalone\"},{\"name\":\"BR0\",\"description\":\"Bottom right. BR0 ensures that the page number appears at the very bottom of a page when footnotes are displayed.\",\"type\":\"standalone\"}]},{\"name\":\"PCTLDEF=\",\"optional\":true,\"description\":\"Specifies one of five definitions used to calculate percentiles in the construction of box-and-whiskers plots requested with the BOXCHART statement.\",\"help\":\"PCTLDEF=1 | 2 | 3 | 4 | 5\",\"type\":\"choice\",\"arguments\":[{\"name\":\"1\",\"description\":\"Definition 1 for computing quantile statistics\",\"type\":\"standalone\"},{\"name\":\"2\",\"description\":\"Definition 2 for computing quantile statistics\",\"type\":\"standalone\"},{\"name\":\"3\",\"description\":\"Definition 3 for computing quantile statistics\",\"type\":\"standalone\"},{\"name\":\"4\",\"description\":\"Definition 4 for computing quantile statistics\",\"type\":\"standalone\"},{\"name\":\"5\",\"description\":\"Definition 5 for computing quantile statistics\",\"type\":\"standalone\"}]},{\"name\":\"PHASEBOXLABELS\",\"optional\":true,\"description\":\"Draws phase labels as titles along the top of phase boxes.\",\"type\":\"standalone\"},{\"name\":\"PHASEBREAK\",\"optional\":true,\"description\":\"Specifies that the last point in a phase (defined as a block of consecutive subgroups with the same value of the _PHASE_ variable) is not to be connected to the first point in the next phase.\",\"type\":\"standalone\"},{\"name\":\"PHASELABTYPE=\",\"optional\":true,\"description\":\"Specifies how lengthy _PHASE_ variable values are to be displayed when there is insufficient space in the legend requested with the PHASELEGEND option.\",\"help\":\"PHASELABTYPE=SCALED | TRUNCATED\",\"type\":\"choice\",\"arguments\":[{\"name\":\"SCALED\",\"description\":\"The values are uniformly reduced in height so that they fit.\",\"type\":\"standalone\"},{\"name\":\"TRUNCATED\",\"description\":\"Lengthy values are truncated on the right until they fit.\",\"type\":\"standalone\"}]},{\"name\":\"PHASELEGEND\",\"optional\":true,\"aliases\":[\"PHASELEG\"],\"description\":\"Identifies the phases requested with the READPHASES= option in a legend across the top of the chart.\",\"type\":\"standalone\"},{\"name\":\"PHASELIMITS\",\"optional\":true,\"description\":\"Specifies that the control limits and center line are to be labeled for each phase specified with the READPHASES= option, providing the limits are constant within that phase.\",\"type\":\"standalone\"},{\"name\":\"PHASEMEANSYMBOL=\",\"optional\":true,\"description\":\"Specifies a symbol marker for the average of the values plotted within a phase.\",\"help\":\"PHASEMEANSYMBOL=*symbol*\",\"type\":\"value\"},{\"name\":\"PHASEPOS=\",\"optional\":true,\"description\":\"Specifies the vertical position of the phase legend.\",\"help\":\"PHASEPOS=1 | 2 | 3 | 4\",\"type\":\"choice\",\"arguments\":[{\"name\":\"1\",\"description\":\"Top of chart, offset from axis frame\",\"type\":\"standalone\"},{\"name\":\"2\",\"description\":\"Top of chart, immediately above axis frame\",\"type\":\"standalone\"},{\"name\":\"3\",\"description\":\"Bottom of chart, immediately above horizontal axis\",\"type\":\"standalone\"},{\"name\":\"4\",\"description\":\"Bottom of chart, below horizontal axis label\",\"type\":\"standalone\"}]},{\"name\":\"PHASEREF\",\"optional\":true,\"description\":\"Delineates the phases specified with the READPHASES= option with reference lines drawn vertically.\",\"type\":\"standalone\"},{\"name\":\"PHASEREFLEVEL=\",\"optional\":true,\"description\":\"Enables you to associate phase reference lines (block reference lines) with either the innermost or the outermost level.\",\"help\":\"PHASEREFLEVEL=INNER | OUTER | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"INNER\",\"description\":\"Associates phase reference lines (block reference lines) with the innermost level.\",\"type\":\"standalone\"},{\"name\":\"OUTER\",\"description\":\"Associates phase reference lines (block reference lines) with the outermost level.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"No association of phase reference lines (block reference lines) with the innermost or outermost level.\",\"type\":\"standalone\"}]},{\"name\":\"PHASEVALSEP\",\"optional\":true,\"description\":\"Displays vertical lines separating phase values in the phase legend.\",\"type\":\"standalone\"},{\"name\":\"PHASEVARLABEL\",\"optional\":true,\"description\":\"Displays the label associated with the variable _PHASE_ above the phase values in the phase legend.\",\"type\":\"standalone\"},{\"name\":\"POINTSHTML=\",\"optional\":true,\"description\":\"Specifies a variable whose values are URLs to be associated with points on a box chart when the BOXSTYLE= value is POINTS, POINTSJOIN, POINTSBOX, POINTSID, or POINTSJOINID.\",\"help\":\"POINTSHTML=*variable*\",\"type\":\"value\"},{\"name\":\"PSYMBOL=\",\"optional\":true,\"description\":\"Specifies a label for the central line in a P chart.\",\"help\":\"PSYMBOL=P | PBAR | PPM | PPM2 | P0 | '*label*'\",\"type\":\"choice\",\"arguments\":[{\"name\":\"P\",\"description\":\"P\",\"type\":\"standalone\"},{\"name\":\"PBAR\",\"description\":\"PBAR\",\"type\":\"standalone\"},{\"name\":\"PPM\",\"description\":\"P'\",\"type\":\"standalone\"},{\"name\":\"PPM2\",\"description\":\"P''\",\"type\":\"standalone\"},{\"name\":\"P0\",\"description\":\"Po\",\"type\":\"standalone\"},{\"name\":\"'label'\",\"placeholder\":true,\"description\":\"Specifies a quoted label up to 16 characters.\",\"type\":\"value\"}]},{\"name\":\"RANGES\",\"optional\":true,\"description\":\"Estimates the process standard deviation for a boxplot using subgroup ranges.\",\"type\":\"standalone\"},{\"name\":\"READALPHA\",\"optional\":true,\"description\":\"Specifies that the variable _ALPHA_, rather than the variable _SIGMAS_, is to be read from a LIMITS= data set when both variables are available in the data set.\",\"type\":\"standalone\"},{\"name\":\"READINDEX=\",\"optional\":true,\"description\":\"Reads control limit parameters from a LIMITS= data set (specified in the PROC MACONTROL statement) for each process listed in the EWMACHART statement.\",\"help\":\"READINDEX=*value-list* | ALL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"value-list\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"ALL\",\"type\":\"standalone\"}]},{\"name\":\"READPHASES=\",\"optional\":true,\"aliases\":[\"READPHASE=\"],\"description\":\"Selects blocks of consecutive observations to be read from the input data set.\",\"help\":\"READPHASES=*value-list* | ALL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"value-list\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"ALL\",\"type\":\"standalone\"}]},{\"name\":\"REPEAT\",\"optional\":true,\"aliases\":[\"REP\"],\"description\":\"Specifies that the horizontal axis of a chart that spans multiple panels be arranged so that the last subgroup position on a panel is repeated as the first subgroup position on the next panel.\",\"type\":\"standalone\"},{\"name\":\"RESET\",\"optional\":true,\"description\":\"Requests that the value of the EWMA be reset after each out-of-control point.\",\"type\":\"standalone\"},{\"name\":\"RSYMBOL=\",\"optional\":true,\"description\":\"Specifies a label for the central line in an R chart.\",\"help\":\"RSYMBOL=R | RBAR | RPM | R0 | '*label*'\",\"type\":\"choice\",\"arguments\":[{\"name\":\"R\",\"description\":\"R\",\"type\":\"standalone\"},{\"name\":\"RBAR\",\"description\":\"RBAR\",\"type\":\"standalone\"},{\"name\":\"RPM\",\"description\":\"R'\",\"type\":\"standalone\"},{\"name\":\"R0\",\"description\":\"Ro\",\"type\":\"standalone\"},{\"name\":\"'label'\",\"placeholder\":true,\"description\":\"Specifies a quoted label up to 16 characters.\",\"type\":\"value\"}]},{\"name\":\"RTMARGIN=\",\"optional\":true,\"description\":\"Specifies the width of the right marginal area for the plot requested with the RTMPLOT= option.\",\"help\":\"RTMARGIN=*value*\",\"type\":\"value\"},{\"name\":\"RTMPLOT=\",\"optional\":true,\"description\":\"Requests a univariate plot of the control chart statistics that is positioned in the right margin of the control chart.\",\"help\":\"RTMPLOT=DIGIDOT | HISTOGRAM | SKELETAL | SCHEMATIC | SCHEMATICID | SCHEMATICIDFAR\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DIGIDOT\",\"description\":\"Digidot plot\",\"type\":\"standalone\"},{\"name\":\"HISTOGRAM\",\"description\":\"Histogram\",\"type\":\"standalone\"},{\"name\":\"SKELETAL\",\"description\":\"Skeletal box-and-whisker plot\",\"type\":\"standalone\"},{\"name\":\"SCHEMATIC\",\"description\":\"Schematic box-and-whisker plot\",\"type\":\"standalone\"},{\"name\":\"SCHEMATICID\",\"description\":\"Schematic box-and-whisker plot with outliers labeled\",\"type\":\"standalone\"},{\"name\":\"SCHEMATICIDFAR\",\"description\":\"Schematic box-and-whisker plot with far outliers labeled\",\"type\":\"standalone\"}]},{\"name\":\"SEPARATE\",\"optional\":true,\"description\":\"Displays primary and secondary charts on separate screens or pages.\",\"type\":\"standalone\"},{\"name\":\"SERIFS\",\"optional\":true,\"description\":\"Adds serifs to the whiskers of skeletal box-and-whisker charts.\",\"type\":\"standalone\"},{\"name\":\"SIGMA0=\",\"optional\":true,\"description\":\"Specifies a known (standard) value, σ0, for the process standard deviation, σ.\",\"help\":\"SIGMA0=*value*\",\"type\":\"value\"},{\"name\":\"SIGMAS=\",\"optional\":true,\"description\":\"Specifies the width of the control limits in terms of the multiple k of the plotted EWMAs on the chart. The value of k must be positive. By default, k=3.\",\"help\":\"SIGMAS=*k*\",\"type\":\"value\"},{\"name\":\"SIMULATEQCFONT\",\"optional\":true,\"description\":\"Draws the central line labels using a simulated software font rather than a hardware font.\",\"type\":\"standalone\"},{\"name\":\"SKIPHLABELS=\",\"optional\":true,\"aliases\":[\"SKIPLABEL=\"],\"description\":\"Specifies the number n of consecutive tick mark labels, beginning with the second tick mark label, that are thinned (not displayed) on the horizontal (subgroup) axis.\",\"help\":\"SKIPHLABELS=*n*\",\"type\":\"value\"},{\"name\":\"SMETHOD=\",\"optional\":true,\"description\":\"Specifies a method for estimating the process standard deviation, σ.\",\"help\":\"SMETHOD=NOWEIGHT | MVLUE | RMSDF | MAD | MMR | MVGRANGE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NOWEIGHT\",\"description\":\"Estimates σ as an unweighted average of unbiased subgroup estimates of σ.\",\"type\":\"standalone\"},{\"name\":\"MVLUE\",\"description\":\"Calculates a minimum variance linear unbiased estimate for σ\",\"type\":\"standalone\"},{\"name\":\"RMSDF\",\"description\":\"Calculates a root-mean square estimate for σ\",\"type\":\"standalone\"},{\"name\":\"MAD\",\"description\":\"Calculates a median absolute deviation estimate for σ (IRCHART only)\",\"type\":\"standalone\"},{\"name\":\"MMR\",\"description\":\"Calculates a median moving range estimate for σ (IRCHART only)\",\"type\":\"standalone\"},{\"name\":\"MVGRANGE\",\"description\":\"Estimates σ based on a moving range of subgroup means (XRCHART and XSCHART only)\",\"type\":\"standalone\"}]},{\"name\":\"SPAN=\",\"optional\":true,\"description\":\"Specifies the number of terms used to calculate the moving average (value is an integer greater than 1). The SPAN= option is required unless you read control limit parameters from a LIMITS= data set or a TABLE= data set.\",\"help\":\"SPAN=*value*\",\"type\":\"value\"},{\"name\":\"SPLIT=\",\"optional\":true,\"description\":\"Specifies a special character that is inserted into the label of a process variable or summary statistic variable and whose purpose is to split the label into two parts.\",\"help\":\"SPLIT='*character*'\",\"type\":\"value\"},{\"name\":\"SSYMBOL=\",\"optional\":true,\"description\":\"Specifies a label for the central line in an S chart.\",\"help\":\"SSYMBOL=S | SBAR | SPM | S0 | '*label*'\",\"type\":\"choice\",\"arguments\":[{\"name\":\"S\",\"description\":\"S\",\"type\":\"standalone\"},{\"name\":\"SBAR\",\"description\":\"SBAR\",\"type\":\"standalone\"},{\"name\":\"SPM\",\"description\":\"S'\",\"type\":\"standalone\"},{\"name\":\"S0\",\"description\":\"So\",\"type\":\"standalone\"},{\"name\":\"'label'\",\"placeholder\":true,\"description\":\"Specifies a quoted label up to 16 characters.\",\"type\":\"value\"}]},{\"name\":\"STARBDRADIUS=\",\"optional\":true,\"description\":\"Specifies the radius of an imaginary circle that is the outer bound for vertices of stars requested with the STARVERTICES= option.\",\"help\":\"STARBDRADIUS=*value*\",\"type\":\"value\"},{\"name\":\"STARCIRCLES=\",\"optional\":true,\"description\":\"Specifies reference circles that are superimposed on the stars requested with the STARVERTICES= option.\",\"help\":\"STARCIRCLES=*values*\",\"type\":\"value\"},{\"name\":\"STARFILL=\",\"optional\":true,\"description\":\"Specifies colors for filling the interior of stars requested with the STARVERTICES= option.\",\"help\":\"STARFILL=*variable*\",\"type\":\"value\"},{\"name\":\"STARINRADIUS=\",\"optional\":true,\"description\":\"Specifies the inner radius of stars requested with the STARVERTICES= option. For traditional graphics, the radius is specified in horizontal percent screen units. For ODS Graphics output, the radius is specified in pixels.\",\"help\":\"STARINRADIUS=*value*\",\"type\":\"value\"},{\"name\":\"STARLABEL=\",\"optional\":true,\"description\":\"Specifies a method for labeling the vertices of stars requested with the STARVERTICES= option.\",\"help\":\"STARLABEL=ALL | FIRST | HIGH | LOW | OUT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ALL\",\"description\":\"Labels all vertices of all stars.\",\"type\":\"standalone\"},{\"name\":\"FIRST\",\"description\":\"Labels all vertices of the leftmost star.\",\"type\":\"standalone\"},{\"name\":\"HIGH\",\"description\":\"Labels only vertices that lie outside the outer circle.\",\"type\":\"standalone\"},{\"name\":\"LOW\",\"description\":\"Labels only vertices that lie inside the inner circle.\",\"type\":\"standalone\"},{\"name\":\"OUT\",\"description\":\"Labels only vertices that lie inside the inner circle or outside the outer circle.\",\"type\":\"standalone\"}]},{\"name\":\"STARLEGEND=\",\"optional\":true,\"description\":\"Specifies the style of the legend used to identify the vertices of stars requested with the STARVERTICES= option.\",\"help\":\"STARLEGEND=CLOCK | CLOCK0 | DEGREES | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"CLOCK\",\"description\":\"Identifies the vertex variables by their positions on the clock (starting with 12:00)\",\"type\":\"standalone\"},{\"name\":\"CLOCK0\",\"description\":\"Identifies the vertex variables by their positions on the clock (starting with 0:00)\",\"type\":\"standalone\"},{\"name\":\"DEGREES\",\"description\":\"Identifies the vertex variables by angles in degrees, with 0 degrees corresponding to 12 o'clock\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"Suppresses the legend.\",\"type\":\"standalone\"}]},{\"name\":\"STARLEGENDLAB=\",\"optional\":true,\"description\":\"Specifies the label displayed to the left of the legend for stars requested with the STARLEGEND= option. The label can be up to 16 characters and must be enclosed in quotes.\",\"help\":\"STARLEGENDLAB='*label*'\",\"type\":\"value\"},{\"name\":\"STAROPACITY=\",\"optional\":true,\"description\":\"Specifies the star fill opacity when transparency is used in ODS Graphics output. The value must be between 0 and 1, where 0 is completely transparent and 1 is completely opaque. The default star fill opacity is 0.75.\",\"help\":\"STAROPACITY=*value*\",\"type\":\"value\"},{\"name\":\"STAROUTRADIUS=\",\"optional\":true,\"description\":\"Specifies the outer radius of stars requested with the STARVERTICES= option.\",\"help\":\"STAROUTRADIUS=*value*\",\"type\":\"value\"},{\"name\":\"STARS=\",\"optional\":true,\"description\":\"Specifies colors for the outlines of stars requested with the STARVERTICES= option.\",\"help\":\"STARS=*variable*\",\"type\":\"value\"},{\"name\":\"STARSPECS=\",\"optional\":true,\"aliases\":[\"STARSPEC=\"],\"description\":\"Specifies the method used to standardize the star vertex variables listed with the STARVERTICES= option.\",\"help\":\"STARSPECS=*value* | *SAS-data-set*\",\"type\":\"choice\",\"arguments\":[{\"name\":\"value\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"SAS-data-set\",\"placeholder\":true,\"type\":\"dataSet\"}]},{\"name\":\"STARSTART=\",\"optional\":true,\"description\":\"Specifies the vertex angle for the first variable in the STARVERTICES= list.\",\"help\":\"STARSTART=*value*\",\"type\":\"value\"},{\"name\":\"STARTYPE=\",\"optional\":true,\"description\":\"Specifies the style of the stars requested with the STARVERTICES= option.\",\"help\":\"STARTYPE=CORONA | POLYGON | RADIAL | SPOKE | WEDGE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"CORONA\",\"description\":\"Polygon with star-vertices emanating from the inner circle\",\"type\":\"standalone\"},{\"name\":\"POLYGON\",\"description\":\"Closed polygon\",\"type\":\"standalone\"},{\"name\":\"RADIAL\",\"description\":\"Rays emanating from the center\",\"type\":\"standalone\"},{\"name\":\"SPOKE\",\"description\":\"Rays emanating from the inner circle\",\"type\":\"standalone\"},{\"name\":\"WEDGE\",\"description\":\"Closed polygon with rays from the center to each vertex\",\"type\":\"standalone\"}]},{\"name\":\"STARVERTICES=\",\"optional\":true,\"description\":\"Superimposes a star (polygon) at each point on the primary chart.\",\"help\":\"STARVERTICES=*variable* | (*variable-list*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"variable\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(variable-list)\",\"placeholder\":true,\"type\":\"value\"}]},{\"name\":\"STDDEVIATIONS\",\"optional\":true,\"aliases\":[\"STDDEVS\"],\"description\":\"Specifies that the estimate of the process standard deviation, σ, is to be calculated from subgroup standard deviations.\",\"type\":\"standalone\"},{\"name\":\"SUBGROUPN=\",\"optional\":true,\"description\":\"Specifies the subgroup sample sizes as a constant value or as the values of a variable in the DATA= data set.\",\"help\":\"SUBGROUPN=*value*\",\"type\":\"value\"},{\"name\":\"SYMBOLCHARS=\",\"optional\":true,\"description\":\"Specifies a list of characters used to mark the points plotted on line printer charts when a symbol-variable is used.\",\"help\":\"SYMBOLCHARS='*character-list*'\",\"type\":\"value\"},{\"name\":\"SYMBOLLEGEND=\",\"optional\":true,\"description\":\"Controls the legend for the levels of a symbol-variable.\",\"help\":\"SYMBOLLEGEND=LEGENDn | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"LEGENDn\",\"description\":\"You can specify SYMBOLLEGEND=LEGENDn, where n is the number of a LEGEND statement defined previously.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"Suppresses the default legend.\",\"type\":\"standalone\"}]},{\"name\":\"SYMBOLORDER=\",\"optional\":true,\"aliases\":[\"SYMORD=\"],\"description\":\"Specifies the order in which symbols are assigned for levels of the symbol-variable.\",\"help\":\"SYMBOLORDER=DATA | INTERNAL | FORMATTED\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DATA\",\"description\":\"Assigns symbols to values in the order in which values appear in the input data set.\",\"type\":\"standalone\"},{\"name\":\"INTERNAL\",\"description\":\"Assigns symbols based on sorted order of internal values of the symbol variable\",\"type\":\"standalone\"},{\"name\":\"FORMATTED\",\"description\":\"Assigns them based on sorted formatted values.\",\"type\":\"standalone\"}]},{\"name\":\"TABLEALL\",\"optional\":true,\"description\":\"Tabulates the information about the control chart and is equivalent to specifying all of the following options: TABLES, TABLECENTRAL, TABLEID, TABLELEGEND, TABLEOUT, and TABLETESTS. The keyword EXCEPTIONS restricts the tabulation to those subgroups for which the control limits are exceeded or a test for special causes is positive.\",\"help\":\"TABLEALL&lt;(EXCEPTIONS)&gt;\",\"type\":\"standaloneOrValue\",\"arguments\":[{\"name\":\"(EXCEPTIONS)\",\"description\":\"Restricts the tabulation to those subgroups for which the control limits are exceeded or a test for special causes is positive.\",\"type\":\"standalone\"}]},{\"name\":\"TABLEBOX\",\"optional\":true,\"description\":\"Augments the basic table created by the TABLES option with columns for the minimum, 25th percentile, median, 75th percentile, and maximum of the observations in a subgroup.\",\"help\":\"TABLEBOX&lt;(EXCEPTIONS)&gt;\",\"type\":\"standaloneOrValue\",\"arguments\":[{\"name\":\"(EXCEPTIONS)\",\"description\":\"Restricts the tabulation to those subgroups for which the control limits are exceeded or a test for special causes is positive.\",\"type\":\"standalone\"}]},{\"name\":\"TABLECENTRAL\",\"optional\":true,\"aliases\":[\"TABLEC\"],\"description\":\"Augments the basic table created by the TABLES option with columns for the values of the central lines. The keyword EXCEPTIONS restricts the tabulation to those subgroups for which the control limits are exceeded or a test for special causes is positive.\",\"help\":\"TABLECENTRAL&lt;(EXCEPTIONS)&gt;\",\"type\":\"standaloneOrValue\",\"arguments\":[{\"name\":\"(EXCEPTIONS)\",\"description\":\"Restricts the tabulation to those subgroups for which the control limits are exceeded or a test for special causes is positive.\",\"type\":\"standalone\"}]},{\"name\":\"TABLEID\",\"optional\":true,\"description\":\"Augments the basic table created by the TABLES option with a column for each of the ID variables. The keyword EXCEPTIONS restricts the tabulation to those subgroups for which the control limits are exceeded or a test for special causes is positive.\",\"help\":\"TABLEID&lt;(EXCEPTIONS)&gt;\",\"type\":\"standaloneOrValue\",\"arguments\":[{\"name\":\"(EXCEPTIONS)\",\"description\":\"Restricts the tabulation to those subgroups for which the control limits are exceeded or a test for special causes is positive.\",\"type\":\"standalone\"}]},{\"name\":\"TABLELEGEND\",\"optional\":true,\"aliases\":[\"TABLELEG\"],\"description\":\"Adds a legend to the basic table created by the TABLES option. The keyword EXCEPTIONS restricts the tabulation to those subgroups for which the control limits are exceeded or a test for special causes is positive.\",\"help\":\"TABLELEGEND&lt;(EXCEPTIONS)&gt;\",\"type\":\"standaloneOrValue\",\"arguments\":[{\"name\":\"(EXCEPTIONS)\",\"description\":\"Restricts the tabulation to those subgroups for which the control limits are exceeded or a test for special causes is positive.\",\"type\":\"standalone\"}]},{\"name\":\"TABLEOUTLIM\",\"optional\":true,\"aliases\":[\"TABLEOUT\"],\"description\":\"Augments the basic table created by the TABLES option with columns indicating which control limits (if any) are exceeded. The keyword EXCEPTIONS restricts the tabulation to those subgroups for which the control limits are exceeded or a test for special causes is positive.\",\"help\":\"TABLEOUTLIM&lt;(EXCEPTIONS)&gt;\",\"type\":\"standaloneOrValue\",\"arguments\":[{\"name\":\"(EXCEPTIONS)\",\"description\":\"Restricts the tabulation to those subgroups for which the control limits are exceeded or a test for special causes is positive.\",\"type\":\"standalone\"}]},{\"name\":\"TABLETESTS\",\"optional\":true,\"description\":\"Augments the basic table created by the TABLES option with a column that indicates which of the tests for special causes (requested with the TESTS= option) are positive. The keyword EXCEPTIONS restricts the tabulation to those subgroups for which the control limits are exceeded or a test for special causes is positive.\",\"help\":\"TABLETESTS&lt;(EXCEPTIONS)&gt;\",\"type\":\"standaloneOrValue\",\"arguments\":[{\"name\":\"(EXCEPTIONS)\",\"description\":\"Restricts the tabulation to those subgroups for which the control limits are exceeded or a test for special causes is positive.\",\"type\":\"standalone\"}]},{\"name\":\"TABLE\",\"optional\":true,\"aliases\":[\"TABLES\"],\"description\":\"Creates a basic table of the subgroup values, the subgroup sample sizes, the subgroup summary statistics, and the upper and lower control limits. Rows of the table correspond to subgroups. The keyword EXCEPTIONS restricts the tabulation to those subgroups for which the control limits are exceeded or a test for special causes is positive.\",\"help\":\"TABLE&lt;(EXCEPTIONS)&gt;\",\"type\":\"standaloneOrValue\",\"arguments\":[{\"name\":\"(EXCEPTIONS)\",\"description\":\"Restricts the tabulation to those subgroups for which the control limits are exceeded or a test for special causes is positive.\",\"type\":\"standalone\"}]},{\"name\":\"TARGET=\",\"optional\":true,\"description\":\"Provides target values used to compute the capability index Cpm, which is saved in the OUTLIMITS= data set.\",\"help\":\"TARGET=*value-list*\",\"type\":\"value\"},{\"name\":\"TEST2RESET=\",\"optional\":true,\"description\":\"Enables tests for special causes to be reset in a secondary chart. The specified variable must be a character variable of length 8, or length 16 if customized tests are requested.\",\"help\":\"TEST2RESET=*variable*\",\"type\":\"value\"},{\"name\":\"TEST2RUN=\",\"optional\":true,\"description\":\"Specifies the length of the pattern for Test 2 requested with the TESTS= and TESTS2= options.\",\"help\":\"TEST2RUN=7 | 8 | 9 | 11 | 14 | 20\",\"type\":\"choice\",\"arguments\":[{\"name\":\"7\",\"description\":\"7 in a row\",\"type\":\"standalone\"},{\"name\":\"8\",\"description\":\"8 in a row\",\"type\":\"standalone\"},{\"name\":\"9\",\"description\":\"9 in a row\",\"type\":\"standalone\"},{\"name\":\"11\",\"description\":\"At least 10 out of 11 in a row\",\"type\":\"standalone\"},{\"name\":\"14\",\"description\":\"At least 12 out of 14 in a row\",\"type\":\"standalone\"},{\"name\":\"20\",\"description\":\"At least 16 out of 20 in a row\",\"type\":\"standalone\"}]},{\"name\":\"TEST3RUN=\",\"optional\":true,\"description\":\"Specifies the length of the pattern for Test 3 requested with the TESTS= and TESTS2= options.\",\"help\":\"TEST3RUN=6 | 7 | 8\",\"type\":\"choice\",\"arguments\":[{\"name\":\"6\",\"description\":\"Length of the pattern is at least 6.\",\"type\":\"standalone\"},{\"name\":\"7\",\"description\":\"Length of the pattern is at least 7.\",\"type\":\"standalone\"},{\"name\":\"8\",\"description\":\"Length of the pattern is at least 8.\",\"type\":\"standalone\"}]},{\"name\":\"TESTACROSS\",\"optional\":true,\"description\":\"Specifies that tests for special causes requested with the TESTS= or TESTS2= options be applied without regard to phases (blocks of consecutive subgroups) determined by the READPHASES= option and the variable _PHASE_ in the input data set.\",\"type\":\"standalone\"},{\"name\":\"TESTCHAR=\",\"optional\":true,\"description\":\"Specifies the character for the line segments that connect any sequence of points for which a test for special causes (requested with the TESTS= or TESTS2= option) is positive. The default character is the number of the test (with values 1 to 8).\",\"help\":\"TESTCHAR='*character*'\",\"type\":\"value\"},{\"name\":\"TESTLABBOX\",\"optional\":true,\"description\":\"Requests that labels for subgroups with positive tests for special causes are positioned so they do not overlap. The labels are enclosed in boxes that are connected to the associated subgroup points with line segments.\",\"type\":\"standalone\"},{\"name\":\"TESTLABEL=\",\"optional\":true,\"description\":\"Provides labels for points at which one of the tests for special causes (requested with the TESTS= or TESTS2= option) is positive.\",\"help\":\"TESTLABEL=TESTINDEX | SPACE | NONE | '*label*' | (*variable*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"TESTINDEX\",\"description\":\"Labels points with the single-digit index that requested the test in a TESTS= or TESTS2= list.\",\"type\":\"standalone\"},{\"name\":\"SPACE\",\"description\":\"Request a label of the form Test k.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"Suppresses labeling.\",\"type\":\"standalone\"},{\"name\":\"'label'\",\"placeholder\":true,\"description\":\"A label of up to 16 characters enclosed in quotes.\",\"type\":\"value\"},{\"name\":\"(variable)\",\"placeholder\":true,\"description\":\"A variable (enclosed in parentheses) whose values are used as labels. The variable must be provided in the input data set, and it can be numeric or character.\",\"type\":\"value\"}]},{\"name\":\"TESTNMETHOD=\",\"optional\":true,\"description\":\"Applies the tests for special causes requested with the TESTS= and TESTS2= options to standardized test statistics when the subgroup sample sizes are not constant.\",\"help\":\"TESTNMETHOD=STANDARDIZE\",\"type\":\"value\"},{\"name\":\"TESTOVERLAP\",\"optional\":true,\"description\":\"Applies tests for special causes (requested with the TESTS= or TESTS2= option) to overlapping patterns of points.\",\"type\":\"standalone\"},{\"name\":\"TESTRESET=\",\"optional\":true,\"description\":\"Enables tests for special causes to be reset in a primary chart. The specified variable must be a character variable of length 8, or length 16 if customized tests are requested.\",\"help\":\"TESTRESET=*variable*\",\"type\":\"value\"},{\"name\":\"TESTS2=\",\"optional\":true,\"description\":\"Requests one or more tests for special causes for an R chart or s chart.\",\"help\":\"TESTS2=*index-list*\",\"type\":\"value\"},{\"name\":\"TESTS=\",\"optional\":true,\"description\":\"Requests one or more tests for special causes, which are also known as runs tests, pattern tests, and Western Electric rules.\",\"help\":\"TESTS=*index-list*\",\"type\":\"value\"},{\"name\":\"TESTSYMBOL=\",\"optional\":true,\"aliases\":[\"TESTSYM=\"],\"description\":\"Specifies the symbol for plotting subgroups with positive tests for special causes.\",\"help\":\"TESTSYMBOL=*symbol*\",\"type\":\"value\"},{\"name\":\"TESTSYMBOLHT=\",\"optional\":true,\"aliases\":[\"TESTSYMHT=\"],\"description\":\"Specifies the height of the symbol used to plot subgroups with positive tests for special causes.\",\"help\":\"TESTSYMBOLHT=*value*\",\"type\":\"value\"},{\"name\":\"TOTPANELS=\",\"optional\":true,\"description\":\"Specifies the total number of panels to be used to display the chart. This option overrides the NPANEL= option.\",\"help\":\"TOTPANELS=*n*\",\"type\":\"value\"},{\"name\":\"TRENDVAR=\",\"optional\":true,\"description\":\"Specifies a list of trend variables, one for each process listed in the chart statement.\",\"type\":\"value\"},{\"name\":\"TURNALL\",\"optional\":true,\"aliases\":[\"TURNOUT\"],\"description\":\"Turns the labels produced by the ALLLABEL=, ALLLABEL2=, OUTLABEL= and OUTLABEL2= options so that they are strung out vertically.\",\"type\":\"standalone\"},{\"name\":\"TURNHLABELS\",\"optional\":true,\"aliases\":[\"TURNHLABEL\"],\"description\":\"Turns the major tick mark labels for the horizontal (group) axis so that they are strung out vertically. By default, labels are arranged horizontally.\",\"type\":\"standalone\"},{\"name\":\"TYPE=\",\"optional\":true,\"description\":\"Specifies the value of the _TYPE_ variable in the OUTLIMITS= data set, which in turn indicates whether certain parameter variables in this data set represent estimates or standard (known) values.\",\"help\":\"TYPE=ESTIMATE | STDMU | STDSIGMA | STANDARD\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ESTIMATE\",\"description\":\"_MEAN_=estimate, _STDDEV_=estimate\",\"type\":\"standalone\"},{\"name\":\"STDMU\",\"description\":\"_MEAN_=standard, _STDDEV_=estimate\",\"type\":\"standalone\"},{\"name\":\"STDSIGMA\",\"description\":\"_MEAN_=estimate, _STDDEV_=standard\",\"type\":\"standalone\"},{\"name\":\"STANDARD\",\"description\":\"_MEAN_=standard, _STDDEV_=standard\",\"type\":\"standalone\"}]},{\"name\":\"U0=\",\"optional\":true,\"description\":\"Specifies a known (standard) value u0 for the average number u of nonconformities per unit produced by the process.\",\"help\":\"U0=*value*\",\"type\":\"value\"},{\"name\":\"UCLLABEL2=\",\"optional\":true,\"description\":\"Specifies a label for the upper control limit in the secondary chart. The label can be up to 16 characters. Enclose the label in quotes.\",\"help\":\"UCLLABEL2='*label*'\",\"type\":\"value\"},{\"name\":\"UCLLABEL=\",\"optional\":true,\"description\":\"Specifies a label for the upper control limit in the primary chart. The label can be up to 16 characters. Enclose the label in quotes.\",\"help\":\"UCLLABEL='*label*'\",\"type\":\"value\"},{\"name\":\"USL=\",\"optional\":true,\"description\":\"Provides upper specification limits used to compute capability indices.\",\"help\":\"USL=*value-list*\",\"type\":\"value\"},{\"name\":\"USYMBOL=\",\"optional\":true,\"description\":\"Specifies a label for the central line in a U chart.\",\"help\":\"USYMBOL=U | UBAR | UPM | UPM2 | U0 | '*label*'\",\"type\":\"choice\",\"arguments\":[{\"name\":\"U\",\"description\":\"U\",\"type\":\"standalone\"},{\"name\":\"UBAR\",\"description\":\"UBAR\",\"type\":\"standalone\"},{\"name\":\"UPM\",\"description\":\"U'\",\"type\":\"standalone\"},{\"name\":\"UPM2\",\"description\":\"U''\",\"type\":\"standalone\"},{\"name\":\"U0\",\"description\":\"Uo\",\"type\":\"standalone\"},{\"name\":\"'label'\",\"placeholder\":true,\"description\":\"Specifies a quoted label up to 16 characters.\",\"type\":\"value\"}]},{\"name\":\"VAXIS2=\",\"optional\":true,\"description\":\"Specifies major tick mark values for the vertical axis of a secondary chart. The values must be listed in increasing order, must be evenly spaced, and must span the range of values displayed in the chart.\",\"type\":\"value\"},{\"name\":\"VAXIS=\",\"optional\":true,\"description\":\"Specifies major tick mark values for the vertical axis of a primary chart. The values must be listed in increasing order, must be evenly spaced, and must span the range of values displayed in the chart.\",\"type\":\"value\"},{\"name\":\"VFORMAT2=\",\"optional\":true,\"description\":\"Specifies a format to be used for displaying tick mark labels on the vertical axis of a secondary chart.\",\"help\":\"VFORMAT2=*format*\",\"type\":\"value\"},{\"name\":\"VFORMAT=\",\"optional\":true,\"description\":\"Specifies a format to be used for displaying tick mark labels on the vertical axis of a primary chart.\",\"help\":\"VFORMAT=*format*\",\"type\":\"value\"},{\"name\":\"VMINOR=\",\"optional\":true,\"description\":\"Specifies the number of minor tick marks between major tick marks on the vertical axis. Minor tick marks are not labeled. By default, VMINOR=0.\",\"help\":\"VMINOR=*n*\",\"type\":\"value\"},{\"name\":\"VOFFSET=\",\"optional\":true,\"description\":\"Specifies the length in percent screen units of the offset at the ends of the vertical axis.\",\"help\":\"VOFFSET=*value*\",\"type\":\"value\"},{\"name\":\"VREF2=\",\"optional\":true,\"description\":\"Draws reference lines perpendicular to the vertical axis on the secondary chart.\",\"type\":\"value\"},{\"name\":\"VREF2LABELS=\",\"optional\":true,\"aliases\":[\"VREF2LAB=\"],\"description\":\"Specifies labels for the reference lines requested by the VREF2= option. The number of labels must equal the number of lines. Enclose each label in quotes. Labels can be up to 16 characters.\",\"type\":\"value\"},{\"name\":\"VREF=\",\"optional\":true,\"description\":\"Draws reference lines perpendicular to the vertical axis on the primary chart.\",\"type\":\"value\"},{\"name\":\"VREFCHAR=\",\"optional\":true,\"description\":\"Specifies the character used for reference lines requested by the VREF= and VREF2= options on line printer charts. The default is the hyphen (-).\",\"help\":\"VREFCHAR='*character*'\",\"type\":\"value\"},{\"name\":\"VREFLABELS=\",\"optional\":true,\"description\":\"Specifies labels for the reference lines requested by the VREF= option. The number of labels must equal the number of lines. Enclose each label in quotes. Labels can be up to 16 characters.\",\"type\":\"value\"},{\"name\":\"VREFLABPOS=\",\"optional\":true,\"description\":\"Specifies the horizontal position of the VREFLABEL= and VREF2LABEL= labels.\",\"help\":\"VREFLABPOS=1 | 2 | 3\",\"type\":\"choice\",\"arguments\":[{\"name\":\"1\",\"description\":\"Left-justified in subplot area\",\"type\":\"standalone\"},{\"name\":\"2\",\"description\":\"Right-justified in subplot area\",\"type\":\"standalone\"},{\"name\":\"3\",\"description\":\"Left-justified in right margin\",\"type\":\"standalone\"}]},{\"name\":\"VZERO\",\"optional\":true,\"description\":\"Forces the origin to be included in the vertical axis for a primary chart.\",\"type\":\"standalone\"},{\"name\":\"VZERO2\",\"optional\":true,\"description\":\"Forces the origin to be included in the vertical axis for a secondary chart.\",\"type\":\"standalone\"},{\"name\":\"WAXIS=\",\"optional\":true,\"description\":\"Specifies the width in pixels for the axis and frame lines. By default, n=1.\",\"help\":\"WAXIS=*n*\",\"type\":\"value\"},{\"name\":\"WEBOUT=\",\"optional\":true,\"description\":\"Produces an output data set containing all the data in an OUTTABLE= data set plus graphics coordinates for points (subgroup summary statistics) that are displayed on a control chart.\",\"help\":\"WEBOUT=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"WEIGHT=\",\"optional\":true,\"description\":\"Specifies the weight r assigned to the most recent subgroup mean in the computation of the EWMA (0 < r < 1).\",\"help\":\"WEIGHT=*value*\",\"type\":\"value\"},{\"name\":\"WGRID=\",\"optional\":true,\"description\":\"Specifies the width in pixels for grid lines requested with the ENDGRID and GRID options. By default, n=1.\",\"help\":\"WGRID=*n*\",\"type\":\"value\"},{\"name\":\"WLIMITS=\",\"optional\":true,\"description\":\"Specifies the width in pixels for the control limits and central line. By default, n=1.\",\"help\":\"WLIMITS=*n*\",\"type\":\"value\"},{\"name\":\"WNEEDLES=\",\"optional\":true,\"description\":\"Specifies the width in pixels of needles connecting plotted points to the central line, as requested with the NEEDLES option.\",\"help\":\"WNEEDLES=*n*\",\"type\":\"value\"},{\"name\":\"WOVERLAY2=\",\"optional\":true,\"description\":\"Specifies the widths in pixels for the line segments connecting points on secondary chart overlay plots.\",\"type\":\"value\"},{\"name\":\"WOVERLAY=\",\"optional\":true,\"description\":\"Specifies the widths in pixels for the line segments connecting points on primary chart overlay plots.\",\"type\":\"value\"},{\"name\":\"WSTARCIRCLES=\",\"optional\":true,\"description\":\"Specifies the width in pixels of the outline of circles requested by the STARCIRCLES= option.\",\"help\":\"WSTARCIRCLES=*n*\",\"type\":\"value\"},{\"name\":\"WSTARS=\",\"optional\":true,\"description\":\"Specifies the width in pixels of the outline of stars requested by the STARVERTICES= option.\",\"help\":\"WSTARS=*n*\",\"type\":\"value\"},{\"name\":\"WTESTS=\",\"optional\":true,\"description\":\"Specifies the width in pixels of the line segments that connect patterns of points for which a test for special causes (requested with the TESTS= or TESTS2= option) is positive. By default, n=1.\",\"help\":\"WTESTS=*n*\",\"type\":\"value\"},{\"name\":\"WTREND=\",\"optional\":true,\"description\":\"Specifies the width in pixels of the line segments that connect points on trend charts requested with the TRENDVAR= option. By default, n=1.\",\"help\":\"WTREND=*n*\",\"type\":\"value\"},{\"name\":\"XSYMBOL=\",\"optional\":true,\"description\":\"Specifies a label for the central line in an XBAR chart or a median chart.\",\"help\":\"XSYMBOL='*label*' | MBAR | MTIL | MU | MU0 | XBAR | XBAR2 | XBARPM | XBAR0 | XBAROPM\",\"type\":\"choice\",\"arguments\":[{\"name\":\"'label'\",\"placeholder\":true,\"description\":\"a quoted label up to 16 characters\",\"type\":\"value\"},{\"name\":\"MBAR\",\"description\":\"MBAR\",\"type\":\"standalone\"},{\"name\":\"MTIL\",\"description\":\"MTIL\",\"type\":\"standalone\"},{\"name\":\"MU\",\"description\":\"MU\",\"type\":\"standalone\"},{\"name\":\"MU0\",\"description\":\"MU0\",\"type\":\"standalone\"},{\"name\":\"XBAR\",\"description\":\"XBAR\",\"type\":\"standalone\"},{\"name\":\"XBAR2\",\"description\":\"XBAR2\",\"type\":\"standalone\"},{\"name\":\"XBARPM\",\"description\":\"XBARPM\",\"type\":\"standalone\"},{\"name\":\"XBAR0\",\"description\":\"XBAR0\",\"type\":\"standalone\"},{\"name\":\"XBAROPM\",\"description\":\"XBAR0PM\",\"type\":\"standalone\"}]},{\"name\":\"YPCT1=\",\"optional\":true,\"description\":\"Specifies a percent (ranging from 0 to 100) that determines the length of the vertical axis for the primary chart in proportion to the sum of the lengths of the vertical axes for the primary and secondary charts.\",\"help\":\"YPCT1=*value*\",\"type\":\"value\"},{\"name\":\"YSCALE=\",\"optional\":true,\"description\":\"Scales the vertical axis on a P chart in percent units. The YSCALE= option is available only in the PCHART statement.\",\"help\":\"YSCALE=PERCENT\",\"type\":\"value\"},{\"name\":\"ZEROSTD\",\"optional\":true,\"description\":\"Specifies that a control chart is to be constructed and displayed regardless of whether the estimated process standard deviation is zero.\",\"type\":\"standalone\"},{\"name\":\"ZEROSTD=\",\"optional\":true,\"description\":\"Suppresses the display of the degenerate limits.\",\"help\":\"ZEROSTD=NOLIMITS\",\"type\":\"value\"},{\"name\":\"ZONE2LABELS\",\"optional\":true,\"description\":\"Adds the labels A, B, and C to zone lines requested with the ZONES2 or ZONE2VALUES options.\",\"type\":\"standalone\"},{\"name\":\"ZONE2VALUES\",\"optional\":true,\"description\":\"Labels R or s chart zones lines with their values. If the ZONE2VALUES option is specified the ZONES2 option is not required.\",\"type\":\"standalone\"},{\"name\":\"ZONECHAR=\",\"optional\":true,\"description\":\"Specifies the character used to form the zone lines requested by the ZONES option.\",\"help\":\"ZONECHAR='*character*'\",\"type\":\"value\"},{\"name\":\"ZONELABELS\",\"optional\":true,\"description\":\"Adds the labels A, B, and C to zone lines requested with the ZONES or ZONEVALUES options.\",\"type\":\"standalone\"},{\"name\":\"ZONES\",\"optional\":true,\"description\":\"Adds lines to a primary chart that delineate zones A, B, and C for standard tests requested with the TESTS= option.\",\"type\":\"standalone\"},{\"name\":\"ZONES2\",\"optional\":true,\"description\":\"Adds lines to an R or s chart that delineate zones A, B, and C for tests requested with the TESTS2= option.\",\"type\":\"standalone\"},{\"name\":\"ZONEVALPOS=\",\"optional\":true,\"description\":\"Specifies the horizontal position of the ZONEVALUES= and ZONE2VALUES= labels.\",\"help\":\"ZONEVALPOS=1 | 2 | 3\",\"type\":\"choice\",\"arguments\":[{\"name\":\"1\",\"description\":\"Left-justified in subplot area\",\"type\":\"standalone\"},{\"name\":\"2\",\"description\":\"Right-justified in subplot area\",\"type\":\"standalone\"},{\"name\":\"3\",\"description\":\"Left-justified in right margin\",\"type\":\"standalone\"}]},{\"name\":\"ZONEVALUES\",\"optional\":true,\"description\":\"Labels the primary chart zones lines with their values. If the ZONEVALUES option is specified the ZONES option is not required.\",\"type\":\"standalone\"}]}],\"supportSiteInformation\":{\"docsetId\":\"qcug\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"qcug_macontrol_toc.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/MAPIMPORT.json",
    "content": "{\"name\":\"MAPIMPORT\",\"statements\":[{\"name\":\"PROC MAPIMPORT\",\"description\":\"Identifies the input Esri shapefile and converts this map into a SAS/GRAPH map data set.\",\"help\":\"PROC MAPIMPORT OUT=map-data-setDATAFILE= 'path-to-shapefile' | shapefile-file-reference\\n<CONTENTS>\\n<CREATE_ID_>;\\n\\tEXCLUDE 'field-identifier(s)';\\n\\tID 'field-identifier(s)';\\n\\tRENAME 'field-identifier-1'=variable-name-1 < 'field-identifier-2'=variable-name-2  ...>;\\n\\tSELECT 'field-identifier(s)';\",\"arguments\":[{\"name\":\"OUT=\",\"description\":\"specifies the name of the output map data set that is created.\",\"help\":\"OUT=*map-data-set*\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"n1rvm71zcf5teen15z78dkn2v7nk\"},{\"name\":\"DATAFILE=\",\"aliases\":[\"INFILE=\"],\"description\":\"specifies the shapefile that is read and processed.\",\"help\":\"DATAFILE='*path-to-shapefile*' | *shapefile-file-reference*\",\"type\":\"choice\",\"arguments\":[{\"name\":\"'path-to-shapefile'\",\"placeholder\":true,\"description\":\"specifies the path to the shapefile, including the file name and file extension, enclosed in quotation marks.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1qfxgf2c8qvybn1buee8cyujscu\"},{\"name\":\"shapefile-file-reference\",\"placeholder\":true,\"description\":\"specifies a file reference that is assigned to the shapefile.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1lmdelmfhgllvn1m3qmdts76ft8\"}],\"supportSiteTargetFragment\":\"p03754454nxlvyn176sft5e3re2s\"},{\"name\":\"CONTENTS\",\"optional\":true,\"description\":\"displays information about the shapefile, including field identifier names and types.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1oblxd9mfl0y5n1i8mpoe3vw639\"},{\"name\":\"CREATE_ID_\",\"optional\":true,\"description\":\"creates a map ID variable named _ID_ with a unique value for each polygon in the map.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1anars4ln6ejen1nk36zy9w32hb\"}],\"supportSiteTargetFile\":\"p031mmm914jrkwn1e4r5ec19xcvm.htm\"},{\"name\":\"EXCLUDE\",\"description\":\"Specifies one or more fields from the shapefile that are excluded from the output map data set.\",\"help\":\"EXCLUDE  '*field-identifier(s)*';\",\"arguments\":[{\"name\":\"'field-identifier\",\"placeholder\":true,\"description\":\"specifies one or more fields from the shapefile that are excluded from the output map data set. All of the fields that you do not specify are included in the output map data set.\",\"help\":\"'*field-identifier(s)*'\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1mamf0m59xrwtn142x8754g0k7s\"}],\"supportSiteTargetFile\":\"n0t790kcpr5jman1sk4rt82xmkl0.htm\"},{\"name\":\"ID\",\"description\":\"Reorders the map polygons by one or more identifier fields.\",\"help\":\"ID  '*field-identifier(s)*';\",\"arguments\":[{\"name\":\"'field-identifier\",\"placeholder\":true,\"description\":\"specifies one or more fields in the shape file that identify the polygons in the map. The values of the fields that you specify are used to reorder the map polygons and assign segment numbers in the output map data set.\",\"help\":\"'*field-identifier(s)*'\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0as0s97grbrr9n1m9r0icwr89e2\"}],\"supportSiteTargetFile\":\"p00o9syse0pd9hn1lkssjb08o9gt.htm\"},{\"name\":\"RENAME\",\"description\":\"Renames variables in the output map data set that correspond to specific fields in the shapefile.\",\"help\":\"RENAME  '*field-identifier-1*'=*variable-name-1*&lt; '*field-identifier-2*'=*variable-name-2*  ...&gt;;\",\"arguments\":[{\"name\":\"'field-identifier'=\",\"placeholder\":true,\"description\":\"assigns a variable name in the output map data set for a field in the shapefile. You can specify multiple field identifier and variable name pairs, separated by a space.\",\"help\":\"'*field-identifier*'=*variable-name*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0ekpb1ibhvporn15yfzjg5qte9m\"}],\"supportSiteTargetFile\":\"p1ovdshv8uwgc1n1650bdr72k9g7.htm\"},{\"name\":\"SELECT\",\"description\":\"Selects the fields from the shapefile that are included in the output map data set.\",\"help\":\"SELECT  '*field-identifier(s)*';\",\"arguments\":[{\"name\":\"'field-identifier\",\"placeholder\":true,\"description\":\"specifies one or more fields from the shapefile that are included in the output map data set. If you do not use the SELECT statement or the EXCLUDE statement, then all of the fields from the shapefile are included in the output map data set.\",\"help\":\"'*field-identifier(s)*'\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1bq9g7zhqid2hn104a77ibokj7t\"}],\"supportSiteTargetFile\":\"n1hkz588py855kn1hux3kq7zl6pc.htm\"}],\"supportSiteInformation\":{\"docsetId\":\"grmapref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"p0qsj9oazola04n10usle21dvk67.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/MBANALYSIS.json",
    "content": "{\"name\":\"MBANALYSIS\",\"statements\":[{\"name\":\"PROC MBANALYSIS\",\"description\":\"The MBANALYSIS (market basket analysis) procedure performs association rule mining on a transaction database. Association rules are in the form of if A then B, where A and B are items in the transaction database. Association rules helps determine association or correlation between various items in a database. These rules are used for finding the latest trends and patterns in data and also help in business decision- making processes. The MBANALYSIS procedure uses the frequent-pattern growth (FP-growth) algorithm of Han, Pei, and Yin (2000) for finding frequent item sets and then generates rules that are based on these frequent item sets.\",\"help\":\"PROC MBANALYSIS <ANTECEDENTLIST=(string <string...>)><CONF=number><CONSEQUENTLIST=(string <string...>)><DATA=CAS-libref.data-table><ITEMS=number><LIFT=number><MAXBSKTSZ=number><MINBSKTSZ=number><NLHS_RANGE=(number, number)><NORM= | ><NRHS_RANGE=(number, number)><PCTSUP=number | SUPPCT=number | SUP_PCT=number | PCTSUPPORT=number><SEPARATOR=string><SUP_LIFT=number>;     \\n\\tCUSTOMER statement;\\n\\n\\tHIERARCHY <DATA=CAS-libref.data-table <CAS-libref.data-table...>> ;\\n\\n\\tID variables;\\n\\n\\tOUTPUT <OUT=CAS-libref.data-table><OUTFREQ=CAS-libref.data-table><OUTRULE=CAS-libref.data-table> ...;\\n\\n\\tSAVESTATE <RSTORE=CAS-libref.data-table> ;\\n\\n\\tTARGET variable;\\n\",\"arguments\":[{\"name\":\"ANTECEDENTLIST=\",\"optional\":true,\"description\":\"Specifies the regular expression strings to match in the antecedent (left-hand side) of a rule.\",\"type\":\"value\"},{\"name\":\"CONF=\",\"optional\":true,\"description\":\"Specifies the minimum confidence for the rules, where number must be a real number between 0 and 100.\",\"help\":\"CONF=*number*\",\"type\":\"value\"},{\"name\":\"CONSEQUENTLIST=\",\"optional\":true,\"description\":\"Specifies the regular expression strings to match in the consequent (right-hand side) of a rule.\",\"type\":\"value\"},{\"name\":\"DATA=\",\"optional\":true,\"description\":\"Names the input data table for PROC MBANALYSIS to use. CAS-libref.data-table is a two-level name, where\",\"help\":\"DATA=*CAS-libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"ITEMS=\",\"optional\":true,\"description\":\"Specifies the number of items in a rule, where number must be an integer between 1 and 1,000. By default, ITEMS=2 when you specify either an OUT= or OUTRULE= option in the OUTPUT statement; otherwise, ITEMS=1 by default.\",\"help\":\"ITEMS=*number*\",\"type\":\"value\"},{\"name\":\"LIFT=\",\"optional\":true,\"description\":\"Specifies the minimum lift value necessary to generate a rule, where number must be a positive, real number between 0 and 100, inclusive.\",\"help\":\"LIFT=*number*\",\"type\":\"value\"},{\"name\":\"MAXBSKTSZ=\",\"optional\":true,\"description\":\"Specifies the maximum basket size, where number must be a positive integer between 0 and 1,000, inclusive. Baskets whose size is larger than number are rejected.\",\"help\":\"MAXBSKTSZ=*number*\",\"type\":\"value\"},{\"name\":\"MINBSKTSZ=\",\"optional\":true,\"description\":\"Specifies the minimum basket size, where number must be a positive integer between 0 and 20, inclusive. Baskets whose size is smaller than number are rejected.\",\"help\":\"MINBSKTSZ=*number*\",\"type\":\"value\"},{\"name\":\"NLHS_RANGE=\",\"optional\":true,\"description\":\"Specifies the range of number of items in the left-hand side (LHS) of a rule.\",\"type\":\"value\"},{\"name\":\"NORM=\",\"optional\":true,\"description\":\"Specifies whether to normalize the values of the items in the output tables that are specified in the OUTPUT statement.\",\"type\":\"choice\"},{\"name\":\"NRHS_RANGE=\",\"optional\":true,\"description\":\"Specifies the range of number of items in the right-hand side (RHS) of a rule.\",\"type\":\"value\"},{\"name\":\"PCTSUP=\",\"optional\":true,\"aliases\":[\"SUPPCT=\",\"SUP_PCT=\",\"PCTSUPPORT=\"],\"description\":\"Specifies the minimum level of support for a rule as a percentage of the number of baskets in the input data table, where number must be a real number between 0 and 100, inclusive. This option is ignored if the SUPPORT= option is specified.\",\"type\":\"value\"},{\"name\":\"SEPARATOR=\",\"optional\":true,\"description\":\"Specifies the separator character in the antecedent (left-hand side) or consequent (right-hand side) of a rule.\",\"help\":\"SEPARATOR=*string*\",\"type\":\"value\"},{\"name\":\"SUP_LIFT=\",\"optional\":true,\"description\":\"Specifies the minimum support lift necessary to generate a rule, where number must be a positive, real number.\",\"help\":\"SUP_LIFT=*number*\",\"type\":\"value\"}]},{\"name\":\"CUSTOMER\",\"description\":\"CUSTOMER statement groups one or more specified target variables into a basket. You can also specify this statement as ID variables.\",\"help\":\"CUSTOMER statement\"},{\"name\":\"HIERARCHY\",\"description\":\"The HIERARCHY statement specifies one or more hierarchical input data tables. If this statement is not specified, then PROC MBANALYSIS performs simple association analysis without a hierarchy. A maximum of five levels of hierarchy is supported. Each level of hierarchy is specified in a separate data table.\",\"help\":\"HIERARCHY &lt;DATA=CAS-libref.data-table &lt;CAS-libref.data-table...&gt;&gt;\",\"arguments\":[{\"name\":\"DATA=\",\"optional\":true,\"description\":\"Specifies one or more data tables that contain the hierarchy data. A maximum of five levels of hierarchy is supported. Each level of hierarchy is specified in a separate data table. CAS-libref.data-table is a two-level name, where CAS-libref refers to the caslib and session identifier, and data-table specifies the name of the input data table.\",\"type\":\"value\"}]},{\"name\":\"ID\",\"description\":\"The optional ID statement lists one or more variables from the input data set to be copied to the prediction output data set. The ID statement accepts both numeric and character variables. The variables in an ID statement can also appear in any other statements.\",\"help\":\"ID variables\"},{\"name\":\"OUTPUT\",\"description\":\"The OUTPUT statement specifies output tables that contain result of the MBANALYSIS procedure.\",\"help\":\"OUTPUT &lt;OUT=CAS-libref.data-table&gt;&lt;OUTFREQ=CAS-libref.data-table&gt;&lt;OUTRULE=CAS-libref.data-table&gt; ...\",\"arguments\":[{\"name\":\"OUT=\",\"optional\":true,\"description\":\"Creates a data table that contains information about frequent item sets with their transaction counts and support. CAS-libref.data-table is a two-level name, where CAS-libref refers to the caslib and session identifier, and data-table specifies the name of the output data table.\",\"help\":\"OUT=*CAS-libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"OUTFREQ=\",\"optional\":true,\"description\":\"Creates a data table that contains information about the unique frequent items with their transaction counts and support. CAS-libref.data-table is a two-level name, where CAS-libref refers to the caslib and session identifier, and data-table specifies the name of the output data table.\",\"help\":\"OUTFREQ=*CAS-libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"OUTRULE=\",\"optional\":true,\"description\":\"Creates a data table that contains information about the rules. This table includes variables that identify the left-hand side and right-hand sides of the rule, the support, and the lift. CAS-libref.data-table is a two-level name, where CAS-libref refers to the caslib and session identifier, and data-table specifies the name of the output data table.\",\"help\":\"OUTRULE=*CAS-libref.data-table*\",\"type\":\"dataSet\"}]},{\"name\":\"SAVESTATE\",\"description\":\"The SAVESTATE statement creates an analytic store for the model and saves it as a binary object in a data table. You can use the analytic store in the ASTORE procedure to score new data.\",\"help\":\"SAVESTATE &lt;RSTORE=CAS-libref.data-table&gt;\",\"arguments\":[{\"name\":\"RSTORE=\",\"optional\":true,\"description\":\"Specifies a data table in which to save the analytic store for the model. CAS-libref.data-table is a two-level name, where CAS-libref refers to the caslib and session identifier, and data-table specifies the name of the output data table.\",\"help\":\"RSTORE=*CAS-libref.data-table*\",\"type\":\"dataSet\"}]},{\"name\":\"TARGET\",\"description\":\"The TARGET statement specifies a single nominal variable to use as the target variable. If this variable is not present in the input data table, then PROC MBANALYSIS exits with an error.\",\"help\":\"TARGET variable\"}],\"supportSiteInformation\":{\"docsetId\":\"casml\",\"docsetVersion\":\"latest\",\"docsetTargetFile\":\"casml_mbanalysis_toc.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/MBC.json",
    "content": "{\"name\":\"MBC\",\"statements\":[{\"name\":\"PROC MBC\",\"description\":\"The MBC procedure fits mixtures of multivariate Gaussian and uniform distributions to achieve unsupervised and semisupervised clustering of data. It treats the cluster memberships as missing data and uses the expectation-maximization (EM) algorithm to maximize the likelihood. The procedure can produce output data tables that contain cluster membership weights and component log likelihoods. PROC MBC can also store the fitted model for scoring subsequent input data.\",\"help\":\"PROC MBC <COVSTRUCT=EEE | EEI | EEV... ><CRITERION=AIC | AICC | BIC... ><DATA=CAS-libref.data-table><ITHIST><ITHIST=DETAILS | NONE | SUMMARY><MAXITER=number><MCRITERION=number><NCLUSTERS=number | (number <number …number>) | (number to number <by number>)><NIT=KMEANS | RANDOM><NOISE=YES | NO><SEED=integer><SINGPARM=number><SINGULAR=number><TECHNIQUE=EM | CEM><TOPMODELS=number>;     \\n\\tBY variables;\\n\\n\\tDISPLAY <CASESENSITIVE><EXCLUDE><EXCLUDEALL> ...;\\n\\n\\tDISPLAYOUT <INCLUDEALL><NOREPLACE><REPEATED> ...;\\n\\n\\tINIT variables;\\n\\n\\tOUTPUT <ALL | ALLSTAT><COPYVAR=variable | COPYVARS=(variables)><OUT=CAS-libref.data-table> ...;\\n\\n\\tSTORE <OUT=CAS-libref.data-table> ;\\n\\n\\tVAR variables;\\n\",\"arguments\":[{\"name\":\"COVSTRUCT=\",\"optional\":true,\"description\":\"Syntax: COVSTRUCT=EEE | EEI | EEV | EII | EVI | EVV | VII | VVI | VVV | (name <name …name>) Specifies the covariance structure for the Gaussian components. By default, COVSTRUCT=VVV.\",\"help\":\"COVSTRUCT=EEE | EEI | EEV | EII | EVI | EVV | VII | VVI | VVV\",\"type\":\"choice\",\"arguments\":[{\"name\":\"EEE\",\"description\":\"Co\",\"type\":\"standalone\"},{\"name\":\"EEI\",\"description\":\"Equal volume, Equal shape, Equal orientation\",\"type\":\"standalone\"},{\"name\":\"EEV\",\"description\":\"Equal volume, Equal shape, Coordinate axes orientation\",\"type\":\"standalone\"},{\"name\":\"EII\",\"description\":\"Equal volume, Equal shape, Variable orientation\",\"type\":\"standalone\"},{\"name\":\"EVI\",\"description\":\"Equal volume, Spherical shape, Coordinate axes orientation\",\"type\":\"standalone\"},{\"name\":\"EVV\",\"description\":\"Equal volume, Variable shape, Variable orientation\",\"type\":\"standalone\"},{\"name\":\"VII\",\"description\":\"Variable volume, Spherical shape, Coordinate axes orientation\",\"type\":\"standalone\"},{\"name\":\"VVI\",\"description\":\"Variable volume, Variable shape, Coordinate axes orientation\",\"type\":\"standalone\"},{\"name\":\"VVV\",\"description\":\"Variable volume, Variable shape, Variable orientation\",\"type\":\"standalone\"}]},{\"name\":\"CRITERION=\",\"optional\":true,\"description\":\"Specifies the model fit criterion to use in model selection. By default, CRITERION=BIC.\",\"help\":\"CRITERION=AIC | AICC | BIC | LOGL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"AIC\",\"description\":\"Specifies Akaike’s information criterion.\",\"type\":\"standalone\"},{\"name\":\"AICC\",\"description\":\"Specifies Akaike’s information criterion (corrected).\",\"type\":\"standalone\"},{\"name\":\"BIC\",\"description\":\"Specifies the Bayesian information criterion.\",\"type\":\"standalone\"},{\"name\":\"LOGL\",\"description\":\"Specifies the log likelihood.\",\"type\":\"standalone\"}]},{\"name\":\"DATA=\",\"optional\":true,\"description\":\"Names the input data table for PROC MBC to use. The default is the most recently created data table. CAS-libref.data-table is a two-level name, where\",\"help\":\"DATA=*CAS-libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"ITHIST\",\"optional\":true,\"description\":\"Produces the \\\"Iteration History\\\" table with basic information about each iteration. This is equivalent to specifying ITHIST=SUMMARY.\",\"type\":\"standalone\"},{\"name\":\"ITHIST=\",\"optional\":true,\"description\":\"Produces the \\\"Iteration History\\\" table.\",\"help\":\"ITHIST=DETAILS | NONE | SUMMARY\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DETAILS\",\"description\":\"Produces a table that contains expanded information about each iteration.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"Suppresses the production of the table.\",\"type\":\"standalone\"},{\"name\":\"SUMMARY\",\"description\":\"Produces a table that contains basic information about each iteration.\",\"type\":\"standalone\"}]},{\"name\":\"MAXITER=\",\"optional\":true,\"description\":\"Specifies the maximum number of expectation-maximization (EM) iterations before termination. The EM process terminates after the specified number of iterations, even if the process has not converged. By default, MAXITER=500.\",\"help\":\"MAXITER=*number*\",\"type\":\"value\"},{\"name\":\"MCRITERION=\",\"optional\":true,\"description\":\"Specifies the convergence criterion for the expectation-maximization (EM) technique.\",\"help\":\"MCRITERION=*number*\",\"type\":\"value\"},{\"name\":\"NCLUSTERS=\",\"optional\":true,\"description\":\"Specifies the number of Gaussian components in the model. By default, NCLUSTERS=2. If you specify a list of numbers or a range of numbers, PROC MBC fits a separate model for each value in the list or range and for all values of the NOISE= and COVSTRUCT= options. The procedure identifies the model that has the best fit, where the fit is computed according to the value of the CRITERION= option.\",\"type\":\"value\"},{\"name\":\"NIT=\",\"optional\":true,\"description\":\"Specifies which method to use to initialize cluster membership. This option is ignored if you specify initial weights in the INIT statement. By default, INIT=RANDOM.\",\"help\":\"NIT=KMEANS | RANDOM\",\"type\":\"choice\",\"arguments\":[{\"name\":\"KMEANS\",\"description\":\"Uses k-means clustering to generate starting values. BY-group processing is not available when you specify this method.\",\"type\":\"standalone\"},{\"name\":\"RANDOM\",\"description\":\"Specifies the random weight method.\",\"type\":\"standalone\"}]},{\"name\":\"NOISE=\",\"optional\":true,\"description\":\"Specifies whether to include a noise component. By default, NOISE=NO. If you specify a list of values, PROC MBC fits a separate model for each distinct value in the list and for all values of the COVSTRUCT= and NCLUSTERS= options. The procedure identifies the model that has the best fit, where the fit is computed according to the value of the CRITERION= option.\",\"help\":\"NOISE=YES | NO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YES\",\"description\":\"Specifies to include a noise component.\",\"type\":\"standalone\"},{\"name\":\"NO\",\"description\":\"Specifies not to include a noise component.\",\"type\":\"standalone\"}]},{\"name\":\"SEED=\",\"optional\":true,\"description\":\"Specifies the pseudorandom number seed for generating random starting weights. Random starting weights are used only when you do not specify starting weight variables in the INIT statement and when you do not specify INIT=RANDOM.\",\"help\":\"SEED=*integer*\",\"type\":\"value\"},{\"name\":\"SINGPARM=\",\"optional\":true,\"description\":\"Specifies the parameter singularity criterion. If the mixing estimate for a model component is less than or equal to number, it is considered to be zero. In models that have noise components, if the computed noise volume is less than or equal to number, the procedure will not fit the model. The value of number must be greater than zero.\",\"help\":\"SINGPARM=*number*\",\"type\":\"value\"},{\"name\":\"SINGULAR=\",\"optional\":true,\"description\":\"Specifies the general singularity criterion to use in matrix operations. The value of number must be greater than or equal to zero. By default, SINGULAR=1E–8.\",\"help\":\"SINGULAR=*number*\",\"type\":\"value\"},{\"name\":\"TECHNIQUE=\",\"optional\":true,\"description\":\"Specifies the expectation-maximization (EM) technique to use.\",\"help\":\"TECHNIQUE=EM | CEM\",\"type\":\"choice\",\"arguments\":[{\"name\":\"EM\",\"description\":\"Specifies the traditional EM technique.\",\"type\":\"standalone\"},{\"name\":\"CEM\",\"description\":\"Specifies the classification EM technique.\",\"type\":\"standalone\"}]},{\"name\":\"TOPMODELS=\",\"optional\":true,\"description\":\"Specifies the maximum number of models to include in the FitSummary table. The value of number must be an integer greater than or equal to 1. This option is applicable only when at least one of the NCLUSTERS=, NOISE=, or COVSTRUCT= options has multiple values. The FitSummary table displays summary information for number of models or for as many models as were fit, whichever is smaller.\",\"help\":\"TOPMODELS=*number*\",\"type\":\"value\"}]},{\"name\":\"BY\",\"description\":\"You can specify a BY statement in PROC MBC to obtain separate analyses of observations in groups that are defined by the values of the BY variables. If you specify more than one BY statement, only the last one specified is used.\",\"help\":\"BY variables\"},{\"name\":\"DISPLAY\",\"description\":\"The DISPLAY statement enables you to specify a list of display tables to display or exclude. This statement is similar to the ODS SELECT, ODS EXCLUDE, and ODS TRACE statements. However, the DISPLAY statement can improve performance when a large number of tables could be generated (such as in BY-group processing). The procedure processes the DISPLAY statement on a CAS server and thus sends only a subset of ODS tables to the SAS client. Because ODS statements are processed on a SAS client, all the display tables generated are first sent to the client and then the client creates a subset. If both DISPLAY and ODS statements are used together, the DISPLAY statement takes precedence over the ODS statements.\",\"help\":\"DISPLAY &lt;CASESENSITIVE&gt;&lt;EXCLUDE&gt;&lt;EXCLUDEALL&gt; ...\",\"arguments\":[{\"name\":\"CASESENSITIVE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Performs a case-sensitive comparison of table names in the table-list to display table names when tables are subsetted for display. To preserve case, you must enclose table names in the table-list in quotation marks.\",\"type\":\"standalone\"},{\"name\":\"EXCLUDE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays all display tables except those specified in the table-list.\",\"type\":\"standalone\"},{\"name\":\"EXCLUDEALL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Suppresses display of all tables. This option takes precedence over the other options.\",\"type\":\"standalone\"},{\"name\":\"TRACE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays the display table names, labels, and paths.\",\"type\":\"standalone\"}]},{\"name\":\"DISPLAYOUT\",\"description\":\"The DISPLAYOUT statement enables you to create CAS output tables from your displayed output. This statement is similar to the ODS OUTPUT statement. The table-spec-list specifies a list of CAS output tables to create. Each entry in the list has either a key or a key=value format: key=value specifies key as the ODS table name, path, or partial pathname, and specifies value as the CAS output table name. key specifies key as the ODS table name and also as the CAS output table name. Table names and partial pathnames are discussed under the DISPLAY statement. The DISPLAYOUT statement does not support regular expressions.\",\"help\":\"DISPLAYOUT &lt;INCLUDEALL&gt;&lt;NOREPLACE&gt;&lt;REPEATED&gt; ...\",\"arguments\":[{\"name\":\"INCLUDEALL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Creates output CAS tables for all display tables. The name of the created output CAS table is the same as the corresponding display table name. If you specify this option, the table-spec-list specification is ignored.\",\"type\":\"standalone\"},{\"name\":\"NOREPLACE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Does not replace an existing CAS output table of the same name.\",\"type\":\"standalone\"},{\"name\":\"REPEATED\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Replicates all CAS output tables on all nodes.\",\"type\":\"standalone\"}]},{\"name\":\"INIT\",\"description\":\"The INIT statement specifies the variables that contain initial weights for the mixture components. By convention, if the model includes a noise component, the first variable in the INIT statement list defines the observation’s initial weight for the noise component. If you are fitting many different models by using the NCLUSTERS=, NOISE=, or COVSTRUCT= option, you must supply enough INIT variables for the model combination that has the most components. The INIT statement is not required. Without an INIT statement, PROC MBC uses the default initialization method.\",\"help\":\"INIT variables\"},{\"name\":\"OUTPUT\",\"description\":\"The OUTPUT statement creates a data table that contains observationwise statistics that PROC MBC computes after fitting the model. The variables in the input data table are not included in the output data table, in order to avoid data duplication for large data tables; however, variables that you specify in the COPYVAR= option are included. The output statistics are computed on the basis of the final parameter estimates. If no model converges, then the output data table is not created.\",\"help\":\"OUTPUT &lt;ALL | ALLSTAT&gt;&lt;COPYVAR=variable | COPYVARS=(variables)&gt;&lt;OUT=CAS-libref.data-table&gt; ...\",\"arguments\":[{\"name\":\"ALL\",\"optional\":true,\"aliases\":[\"ALLSTAT\"],\"description\":\"Adds all available statistics to the output data table.\",\"type\":\"standalone\"},{\"name\":\"COPYVAR=\",\"optional\":true,\"aliases\":[\"COPYVARS=\"],\"description\":\"Transfers one or more variables from the input data table to the output data table.\",\"type\":\"value\"},{\"name\":\"CURRCLUS\",\"optional\":true,\"description\":\"Specifies the cluster weights that produce the final parameter estimates. The default name is CURRn, where n indicates the cluster index. You can modify the name by specifying the name option.\",\"type\":\"standalone\"},{\"name\":\"LOGLIK\",\"optional\":true,\"description\":\"Specifies the component and total log likelihood by using the final parameter estimates. The default name for the component log likelihoods is LOGLIKn, where n indicates the cluster index. The default name for the total log likelihood is LOGLIK. You can modify this name by specifying the name option.\",\"type\":\"standalone\"},{\"name\":\"MAXPOST\",\"optional\":true,\"description\":\"Specifies the identification of the cluster that has the maximum posterior weight by using the final parameter estimates. The default name is MAXPOST. You can modify this name by specifying the name option.\",\"type\":\"standalone\"},{\"name\":\"NEXTCLUS\",\"optional\":true,\"description\":\"Specifies the cluster weights that the final parameter estimates produce. The default name is NEXTn, where n indicates the cluster index. You can modify the name by specifying the name option.\",\"type\":\"standalone\"},{\"name\":\"OUT=\",\"optional\":true,\"description\":\"Names the output data table for PROC MBC to use. You must specify this option before any other options. CAS-libref.data-table is a two-level name, where\",\"help\":\"OUT=*CAS-libref.data-table*\",\"type\":\"dataSet\"}]},{\"name\":\"STORE\",\"description\":\"The STORE statement enables you to save the fitted model to a store. You can then use this store with PROC CAS and an appropriate scoring action to score other data. CAS-libref.data-table is a two-level name, where CAS-libref refers to the caslib and session identifier, and data-table specifies the name of the input data table.\",\"help\":\"STORE &lt;OUT=CAS-libref.data-table&gt;\",\"arguments\":[{\"name\":\"OUT=\",\"optional\":true,\"description\":\"Names the data table for saving the fitted model.\",\"help\":\"OUT=*CAS-libref.data-table*\",\"type\":\"dataSet\"}]},{\"name\":\"VAR\",\"description\":\"The VAR statement specifies the variables that you want to cluster. This statement is required.\",\"help\":\"VAR variables\"}],\"supportSiteInformation\":{\"docsetId\":\"casstat\",\"docsetVersion\":\"latest\",\"docsetTargetFile\":\"casstat_mbc_toc.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/MCMC.json",
    "content": "{\"name\":\"MCMC\",\"statements\":[{\"name\":\"PROC MCMC\",\"description\":\"The MCMC procedure is a general purpose Markov chain Monte Carlo (MCMC) simulation procedure that is designed to fit Bayesian models. Bayesian statistics is different from traditional statistical methods such as frequentist or classical methods. † In essence, Bayesian statistics treats parameters as unknown random variables, and it makes inferences based on the posterior distributions of the parameters. There are several advantages associated with this approach to statistical inference. Some of the advantages include its ability to use prior information and to directly answer specific scientific questions that can be easily understood.\",\"help\":\"PROC MCMC <ACCEPTTOL=n><ALG=HMC | NORMAL|N | NUTS... ><AUTOCORLAG=n><BINARYJOINT><DATA=SAS-data-set><DIAGNOSTICS=NONE | <(keyword-list)>><DIC><DISCRETE=BINNING | GEO><INF=value><INIT=(keyword-list)><JOINTMODEL><LIST><LISTCODE><MAXINDEXPRINT=number | ALL | MAXIPRINT=number | ALL><MAXSUBVALUEPRINT=number | ALL | MAXSVPRINT=number | ALL><MAXTUNE=n><MCHISTORY=BRIEF | DETAILED | NONE><MINTUNE=n><MISSING=ALLCASE|AC | COMPLETECASE|CC><MONITOR= (symbol-list)><NBI=n><NMC=n><NOLOGDIST><NTHREADS=n><NTU=n><OUTPOST=SAS-data-set><PLOTS=ALL | AUTOCORR|ACF | DENSITY |D|KERNEL|K... ><PROPCOV=IND | CONGRA | DBLDOG... ><REOBSINFO <(display-options)>><SCALE=value><SEED=n><SIMREPORT=n><SINGDEN=value><STATISTICS=ALL |  | CORR... ><TARGACCEPT=value><TARGACCEPTI=value><THIN=n><TRACE><TUNEWT=value>;     \\n\\tABORT <ABEND><CANCEL><CANCEL FILE> ...;\\n\\n\\tARRAY arrayname [ dimensions ] <$> <variables-and-constants> ;\\n\\n\\tBEGINCNST ;\\n\\n\\tBEGINHYPER ;\\n\\n\\tBEGINNODATA ; | BEGINPRIOR ;\\n\\n\\tBY <DESCENDING><NOTSORTED> ;\\n\\n\\tCALL routine(parameter-1<, ...parameter-n>);\\n\\n\\tDELETE;\\n\\n\\tDO <OVER><><> ...;\\n\\n\\tELSE <DO><IF><THEN> ...;\\n\\n\\tEND;\\n\\n\\tENDCNST ;\\n\\n\\tENDHYPER ;\\n\\n\\tENDNODATA | ENDPRIOR ;\\n\\n\\tGOTO label;\\n\\n\\tHYPERPRIOR <beta(<a=>α, <b=>β)><binary(<prob|p=>p)><binomial(<n=>n, <prob|p=>p)> ...;\\n\\n\\tIF <DO><THEN><WHEN> ...;\\n\\n\\tLINK statement-label;\\n\\n\\tMODEL <beta(<a=>α, <b=>β)><binary(<prob|p=>p)><binomial(<n=>n, <prob|p=>p)> ...;\\n\\n\\t;\\n\\n\\tPARMS <NORMAL><SLICE><T<(df)>> ...;\\n\\n\\tPREDDIST <COVARIATES=SAS-data-set><NSIM=n><OUTPRED=SAS-data-set> ...;\\n\\n\\tPRIOR <beta(<a=>α, <b=>β)><binary(<prob|p=>p)><binomial(<n=>n, <prob|p=>p)> ...;\\n\\n\\tPUT <_PAGE_> ;\\n\\n\\tRANDOM <beta(<a=>α, <b=>β)><binary(<prob|p=>p)><gamma(<shape|sp=>α, scale|s=λ) | gamma(<shape|sp=>α, isscale|is=λ)> ...;\\n\\n\\tRETURN;\\n\\n\\t;\\n\\n\\tSTOP ;\\n\\n\\tUDS subroutine-name ( subroutine-argument-list) ;\\n\\n\\tWHEN <DO> ;\\n\",\"arguments\":[{\"name\":\"ACCEPTTOL=\",\"optional\":true,\"description\":\"Specifies a tolerance for acceptance probabilities. By default, ACCEPTTOL=0.075.\",\"help\":\"ACCEPTTOL=*n*\",\"type\":\"value\"},{\"name\":\"ALG=\",\"optional\":true,\"aliases\":[\"PROPDIST=\"],\"description\":\"Specifies a proposal distribution for the Metropolis algorithm.\",\"help\":\"ALG=HMC | NORMAL | NUTS | T&lt;*(df)*&gt;\",\"type\":\"choice\",\"arguments\":[{\"name\":\"HMC\",\"description\":\"Syntax: HMC<(hmc-options)> Specifies the Hamiltonian Monte Carlo algorithm with a fixed step size and predetermined number of steps. You can specify the following hmc-options: NSTEPS=value N=value specifies the number of steps in the HMC algorithm. By default, N=15. SAVEGRAD saves the gradient calculation in the OUTPOST= data set. STEPSIZE=value specifies the step size in the HMC algorithm. By default, STEPSIZE=0.1.\",\"type\":\"standalone\"},{\"name\":\"NORMAL\",\"aliases\":[\"N\"],\"description\":\"Specifies a normal distribution as the proposal distribution. This is the default.\",\"type\":\"standalone\"},{\"name\":\"NUTS\",\"description\":\"Syntax: NUTS <(nuts-options)> Specifies the No-U-Turn Sampler of the Hamiltonian algorithm. You can specify the following nuts-options: DELTA=value specifies the target acceptance rate during the tuning process. By default, DELTA=0.6. FCALLS outputs the number of function evaluations at each iteration. MAXHEIGHT=value specifies the maximum height of the NUTS tree. MAXTIME=value specifies the maximum number of iterations that it takes the algorithm to surpass the MAXHEIGHT of the NUTS tree before the procedure stops. By default, MAXTIME=1. NTU=value specifies the number of tuning iterations used by NUTS. By default, NTU=1000. SAVEGRAD saves the gradient calculation in the OUTPOST= data set.\",\"type\":\"standalone\"},{\"name\":\"T\",\"description\":\"Specifies a t-distribution with the degrees of freedom df. By default, df=3. If df > 100, the normal distribution is used since the two distributions are almost identical.\",\"help\":\"T&lt;*(df)*&gt;\",\"type\":\"value\"}]},{\"name\":\"AUTOCORLAG=\",\"optional\":true,\"aliases\":[\"ACLAG=\"],\"description\":\"Specifies the maximum number of autocorrelation lags used in computing the effective sample size.\",\"help\":\"AUTOCORLAG=*n*\",\"type\":\"value\"},{\"name\":\"BINARYJOINT\",\"optional\":true,\"description\":\"Jointly samples binary parameters in a block. Binary parameters in a block are sampled separately in SAS/STAT 13.2 and later. This option reverts to the behavior in SAS/STAT 13.1 and earlier.\",\"type\":\"standalone\"},{\"name\":\"DATA=\",\"optional\":true,\"description\":\"Specifies the input data set.\",\"help\":\"DATA=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"DIAGNOSTICS=\",\"optional\":true,\"aliases\":[\"DIAG=\"],\"description\":\"Specifies options for MCMC convergence diagnostics.\",\"help\":\"DIAGNOSTICS=NONE | &lt;*(keyword-list)*&gt;\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NONE\",\"description\":\"Suppress all the tests.\",\"type\":\"standalone\"},{\"name\":\"<(keyword-list)>\",\"placeholder\":true,\"description\":\"The following keywords are available: ALL -- computes all diagnostic tests and statistics. You can combine the option ALL with any other specific tests to modify test options. AUTOCORR <(autocorr-options)> -- computes default autocorrelations at lags 1, 5, 10, and 50 for each variable. ESS -- computes the effective sample sizes (Kass et al. (1998)) of the posterior samples of each parameter. GEWEKE <(FRAC1=value FRAC2=value)> computes the Geweke spectral density diagnostics, where FRAC1 and FRAC2 specify the beginning FRAC1 and end FRAC2 proportion of the Markov chain, respectively. HEIDELBERGER <(SALPHA=value value EPS=value)> computes the Heidelberger and Welch diagnostic (which consists of a stationarity test and a halfwidth test) for each variable. SALPHA= -- specifies the α level (0 < a < 1) for the stationarity test. By default, SALPHA=0.05 HALPHA= -- specifies the α level (0 < a < 1) for the halfwidth test. By default, HALPHA=0.05. EPS= -- specifies a small positive number ε such that if the halfwidth is less than ε times the sample mean of the retaining iterates, the halfwidth test is passed. MCSE -- computes the Monte Carlo standard error for the posterior samples of each parameter. NONE -- suppresses all of the diagnostic tests and statistics. This is not recommended. RAFTERY <(QUANTILE=value ACCURACY=value PROB=value EPS=value)> -- computes the Raftery and Lewis diagnostics.\",\"type\":\"value\"}]},{\"name\":\"DIC\",\"optional\":true,\"description\":\"Computes the Deviance Information Criterion (DIC). DIC is calculated using the posterior mean estimates of the parameters.\",\"type\":\"standalone\"},{\"name\":\"DISCRETE=\",\"optional\":true,\"description\":\"Specifies the proposal distribution used in sampling discrete parameters. The default is DISCRETE=BINNING.\",\"help\":\"DISCRETE=BINNING | GEO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"BINNING\",\"description\":\"Uses continuous proposal distributions for all discrete parameter blocks.\",\"type\":\"standalone\"},{\"name\":\"GEO\",\"description\":\"Uses independent symmetric geometric proposal distributions for all discrete parameter blocks.\",\"type\":\"standalone\"}]},{\"name\":\"INF=\",\"optional\":true,\"description\":\"Specifies the numerical definition of infinity in the procedure.\",\"help\":\"INF=*value*\",\"type\":\"value\"},{\"name\":\"INIT=\",\"optional\":true,\"description\":\"Specifies options for generating the initial values for the parameters. The following keywords are used:\",\"help\":\"INIT=MODE | PINIT | RANDOM | REINIT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"MODE\",\"type\":\"standalone\"},{\"name\":\"PINIT\",\"type\":\"standalone\"},{\"name\":\"RANDOM\",\"type\":\"standalone\"},{\"name\":\"REINIT\",\"type\":\"standalone\"}]},{\"name\":\"JOINTMODEL\",\"optional\":true,\"aliases\":[\"JOINTLLIKE\"],\"description\":\"Specifies how the likelihood function is calculated.\",\"type\":\"standalone\"},{\"name\":\"LIST\",\"optional\":true,\"description\":\"Displays the model program and variable lists. The LIST option is a debugging feature and is not normally needed.\",\"type\":\"standalone\"},{\"name\":\"LISTCODE\",\"optional\":true,\"description\":\"Displays the compiled program code. The LISTCODE option is a debugging feature and is not normally needed.\",\"type\":\"standalone\"},{\"name\":\"MAXINDEXPRINT=\",\"optional\":true,\"aliases\":[\"MAXIPRINT=\"],\"description\":\"Specifies the maximum number of observation indices to print in the ODS tables \\\"Missing Response Information\\\" table and \\\"Missing Covariates Information\\\" table. This option applies only to programs that model missing data. The default value is 20. MAXINDEXPRINT=ALL prints all observation indices for every missing variable that is modeled in PROC MCMC.\",\"type\":\"value\"},{\"name\":\"MAXSUBVALUEPRINT=\",\"optional\":true,\"aliases\":[\"MAXSVPRINT=\"],\"description\":\"Specifies the maximum number of subject values to display in the \\\"Subject Values\\\" column of the ODS table \\\"Random Effects Parameters.\\\" This option applies only to programs that have RANDOM statements. The default value is 20. MAXSUBVALUEPRINT=ALL prints all subject values for every random effect in the program.\",\"type\":\"value\"},{\"name\":\"MAXTUNE=\",\"optional\":true,\"description\":\"Specifies an upper limit for the number of proposal tuning loops. By default, MAXTUNE=24.\",\"help\":\"MAXTUNE=*n*\",\"type\":\"value\"},{\"name\":\"MCHISTORY=\",\"optional\":true,\"aliases\":[\"MCHIST=\"],\"description\":\"Controls the display of the Metropolis sampling history. This option is ignored for nested logit and probit models.\",\"help\":\"MCHISTORY=BRIEF | DETAILED | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"BRIEF\",\"description\":\"Produces a summary output for the tuning, burn-in, and sampling history tables. No tuning history table is produced if there is no tuning stage. The tables show the following when applicable: o Scale shows the scale, or the range of the scales, that is used in each random walk Metropolis block that has a normal distribution. o Acceptance Rate shows the acceptance rate, or the range of the acceptance rates, for each Metropolis block.\",\"type\":\"standalone\"},{\"name\":\"DETAILED\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"\",\"type\":\"standalone\"}]},{\"name\":\"MINTUNE=\",\"optional\":true,\"description\":\"Specifies a lower limit for the number of proposal tuning loops. By default, MINTUNE=2.\",\"help\":\"MINTUNE=*n*\",\"type\":\"value\"},{\"name\":\"MISSING=\",\"optional\":true,\"aliases\":[\"MISS=\"],\"description\":\"Specifies how missing values are handled.\",\"help\":\"MISSING=ALLCASE | COMPLETECASE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ALLCASE\",\"aliases\":[\"AC\"],\"description\":\"Gives you the option to model the missing values in an all-case analysis.\",\"type\":\"standalone\"},{\"name\":\"COMPLETECASE\",\"aliases\":[\"CC\"],\"description\":\"Assumes a complete case analysis, so all observations with missing variable values are discarded prior to the simulation.\",\"type\":\"standalone\"}]},{\"name\":\"MONITOR=\",\"optional\":true,\"description\":\"Specifies a list of program symbols for which a posterior analysis is to be done. The symbols can be any of the following: model parameters (symbols in the PARMS statement), secondary parameters (assigned using the operator \\\"=\\\"), the log of the posterior density (LOGPOST), the log of the prior density (LOGPRIOR), the log of the hyperprior density (LOGHYPER), if the HYPER statement is used, or the log of the likelihood function (LOGLIKE).\",\"type\":\"value\"},{\"name\":\"NBI=\",\"optional\":true,\"description\":\"Specifies the number of burn-in iterations to perform before beginning to save parameter estimate chains. By default, NBI=1000.\",\"help\":\"NBI=*n*\",\"type\":\"value\"},{\"name\":\"NMC=\",\"optional\":true,\"description\":\"Specifies the number of iterations in the main simulation loop. This is the MCMC sample size if THIN=1. By default, NMC=1000.\",\"help\":\"NMC=*n*\",\"type\":\"value\"},{\"name\":\"NOLOGDIST\",\"optional\":true,\"description\":\"Omits the calculation of the logarithm of the joint distribution of the model parameters at each iteration. The option applies only if all parameters in the model are updated directly from their target distribution, either from the full conditional posterior via conjugacy or from the marginal distribution.\",\"type\":\"standalone\"},{\"name\":\"NTHREADS=\",\"optional\":true,\"description\":\"Specifies the number of threads for simulation. PROC MCMC performs two types of threading.\",\"help\":\"NTHREADS=*n*\",\"type\":\"value\"},{\"name\":\"NTU=\",\"optional\":true,\"description\":\"Specifies the number of iterations to use in each proposal tuning phase. By default, NTU=500.\",\"help\":\"NTU=*n*\",\"type\":\"value\"},{\"name\":\"OUTPOST=\",\"optional\":true,\"description\":\"Specifies an output data set that contains the posterior samples of all model parameters, the iteration numbers (variable name ITERATION), the log of the posterior density (LOGPOST), the log of the prior density (LOGPRIOR), the log of the hyperprior density (LOGHYPER), if the HYPER statement is used, and the log likelihood (LOGLIKE).\",\"help\":\"OUTPOST=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"PLOTS=\",\"optional\":true,\"aliases\":[\"PLOT=\"],\"description\":\"1996).\",\"help\":\"PLOTS=ALL | AUTOCORR | DENSITY | NONE | TRACE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ALL\",\"description\":\"Requests all types of plots. PLOTS=ALL is equivalent to specifying PLOTS=(TRACE AUTOCORR DENSITY).\",\"type\":\"standalone\"},{\"name\":\"AUTOCORR\",\"aliases\":[\"ACF\"],\"description\":\"Displays the autocorrelation function plots for the parameters.\",\"type\":\"standalone\"},{\"name\":\"DENSITY\",\"aliases\":[\"D\",\"KERNEL\",\"K\"],\"description\":\"Displays the kernel density plots for the parameters.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"Suppresses the display of all plots.\",\"type\":\"standalone\"},{\"name\":\"TRACE\",\"aliases\":[\"T\"],\"description\":\"Displays the trace plots for the parameters.\",\"type\":\"standalone\"}]},{\"name\":\"PROPCOV=\",\"optional\":true,\"description\":\"Specifies the method used in constructing the initial covariance matrix for the Metropolis-Hastings algorithm.\",\"help\":\"PROPCOV=IND | CONGRA | DBLDOG | QUANEW | NMSIMP\",\"type\":\"choice\",\"arguments\":[{\"name\":\"IND\",\"description\":\"Uses the identity covariance matrix.\",\"type\":\"standalone\"},{\"name\":\"CONGRA\",\"description\":\"Syntax: CONGRA <(optimize-options)> Performs a conjugate-gradient optimization. The optimize-options are as follows: ITPRINT prints optimization iteration steps and results.\",\"type\":\"standalone\"},{\"name\":\"DBLDOG\",\"description\":\"Syntax: DBLDOG <(optimize-options)> Performs a double-dogleg optimization. The optimize-options are as follows: ITPRINT prints optimization iteration steps and results.\",\"type\":\"standalone\"},{\"name\":\"QUANEW\",\"description\":\"Syntax: QUANEW <(optimize-options)> Performs a quasi-Newton optimization. The optimize-options are as follows: ITPRINT prints optimization iteration steps and results.\",\"type\":\"standalone\"},{\"name\":\"NMSIMP\",\"description\":\"Syntax: NMSIMP | SIMPLEX <(optimize-options)> Performs a Nelder-Mead simplex optimization. The optimize-options are as follows: ITPRINT prints optimization iteration steps and results.\",\"type\":\"standalone\"}]},{\"name\":\"REOBSINFO=\",\"optional\":true,\"description\":\"Displays the ODS table \\\"Random Effect Observation Information.\\\" The table lists the name of each random effect, the unique values in the corresponding subject variable, the number of observations in each subject, and the observation indices for each subject value. The display-options are as follows:\",\"help\":\"REOBSINFO=MAXVALUEPRINT= | MAXOBSPRINT=\",\"type\":\"choice\",\"arguments\":[{\"name\":\"MAXVALUEPRINT=\",\"type\":\"value\"},{\"name\":\"MAXOBSPRINT=\",\"type\":\"value\"}]},{\"name\":\"SCALE=\",\"optional\":true,\"description\":\"Controls the initial multiplicative scale to the covariance matrix of the proposal distribution. By default, SCALE=2.38.\",\"help\":\"SCALE=*value*\",\"type\":\"value\"},{\"name\":\"SEED=\",\"optional\":true,\"description\":\"Specifies the random number seed. By default, SEED=0, and PROC MCMC gets a random number seed from the clock.\",\"help\":\"SEED=*n*\",\"type\":\"value\"},{\"name\":\"SIMREPORT=\",\"optional\":true,\"description\":\"Controls the number of times that PROC MCMC reports the expected run time of the simulation.\",\"help\":\"SIMREPORT=*n*\",\"type\":\"value\"},{\"name\":\"SINGDEN=\",\"optional\":true,\"description\":\"Defines the singularity criterion in the procedure. By default, SINGDEN=1E-11.\",\"help\":\"SINGDEN=*value*\",\"type\":\"value\"},{\"name\":\"STATISTICS=\",\"optional\":true,\"aliases\":[\"STATS=\"],\"description\":\"The global-stats-options includes the following: ALPHA=numeric-list specifies the α level for the equal-tail and HPD intervals. The value α must be between 0 and 0.5. By default, ALPHA=0.05\",\"help\":\"STATISTICS=ALL | BRIEF | CORR | COV | SUMMARY|SUM | INTERVAL|INT | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ALL\",\"description\":\"Computes all posterior statistics.\",\"type\":\"standalone\"},{\"name\":\"BRIEF\",\"description\":\"Computes the posterior means, standard deviations, and the $00(1 - α)% equal-tail intervals for each variable.\",\"type\":\"standalone\"},{\"name\":\"CORR\",\"description\":\"Computes the posterior correlation matrix.\",\"type\":\"standalone\"},{\"name\":\"COV\",\"description\":\"Computes the posterior covariance matrix.\",\"type\":\"standalone\"},{\"name\":\"SUMMARY\",\"aliases\":[\"SUM\"],\"description\":\"Computes the posterior means, standard deviations, and percentile points for each variable. By default, the 25th, 50th, and 75th percentile points are produced, but you can use the global PERCENT= option to request specific percentile points.\",\"type\":\"standalone\"},{\"name\":\"INTERVAL\",\"aliases\":[\"INT\"],\"description\":\"Computes the 100(1 - α)% equal-tail and HPD credible intervals for each variable.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"Suppresses all of the statistics.\",\"type\":\"standalone\"}]},{\"name\":\"TARGACCEPT=\",\"optional\":true,\"description\":\"Specifies the target acceptance rate for the random walk based Metropolis algorithm. The numeric value must be between 0.01 and 0.99. By default, TARGACCEPT=0.45 for models with 1 parameter; TARGACCEPT=0.35 for models with 2, 3, or 4 parameters; and TARGACCEPT=0.234 for models with more than 4 parameters.\",\"help\":\"TARGACCEPT=*value*\",\"type\":\"value\"},{\"name\":\"TARGACCEPTI=\",\"optional\":true,\"description\":\"Specifies the target acceptance rate for the independence sampler algorithm. The independence sampler is used for blocks of binary parameters. The numeric value must be between 0 and 1. By default, TARGACCEPTI=0.6.\",\"help\":\"TARGACCEPTI=*value*\",\"type\":\"value\"},{\"name\":\"THIN=\",\"optional\":true,\"aliases\":[\"NTHIN=\"],\"description\":\"Controls the thinning rate of the simulation. PROC MCMC keeps every n-th simulation sample and discards the rest.\",\"help\":\"THIN=*n*\",\"type\":\"value\"},{\"name\":\"TRACE\",\"optional\":true,\"description\":\"Displays the result of each operation in each statement in the model program as it is executed.\",\"type\":\"standalone\"},{\"name\":\"TUNEWT=\",\"optional\":true,\"description\":\"Specifies the multiplicative weight used in updating the covariance matrix of the proposal distribution. The numeric value must be between 0 and 1. By default, TUNEWT=0.75.\",\"help\":\"TUNEWT=*value*\",\"type\":\"value\"}]},{\"name\":\"ABORT\",\"description\":\"Stops executing the current DATA step, SAS job, or SAS session.\",\"help\":\"ABORT &lt;ABEND&gt;&lt;CANCEL&gt;&lt;CANCEL FILE&gt; ...\",\"arguments\":[{\"name\":\"ABEND\",\"optional\":true,\"description\":\"Causes abnormal termination of the current SAS job or session. Results depend on the method of operation: o batch mode and noninteractive mode o stops processing immediately o sends an error message to the SAS log that states that execution was terminated by the ABEND option of the ABORT macro statement o does not execute any subsequent statements or check syntax o returns control to the operating environment; further action is based on how your operating environment and your site treat jobs that end abnormally. o windowing environment and interactive line mode\",\"type\":\"standalone\"},{\"name\":\"CANCEL\",\"optional\":true,\"description\":\"Causes the cancellation of the current submitted statements. The results depend on the method of operation: o batch mode and noninteractive mode o The entire SAS program and SAS system are terminated. o The error message is written to the SAS log. o windowing environment and interactive line mode o It only clears the current submitted program. o Other subsequent submitted programs are not affected. o The error message is written to the SAS log. o workspace server and stored process server o It only clears currently submitted program. o Other subsequent submit calls are not affected. o The error message is written to the SAS log. o SAS IntrNet application server\",\"type\":\"standalone\"},{\"name\":\"CANCEL​ FILE\",\"optional\":true,\"description\":\"Causes only the contents of the autoexec file or %INCLUDE file to be cleared by the %ABORT statement. Other submitted source statements will be executed after the autoexec or %INCLUDE file.\",\"type\":\"standalone\"},{\"name\":\"NOLIST\",\"optional\":true,\"description\":\"suppresses the output of all variables to the SAS log.\",\"type\":\"standalone\"},{\"name\":\"RETURN\",\"optional\":true,\"description\":\"Causes abnormal termination of the current SAS job or session. Results depend on the method of operation: o batch mode and noninteractive mode o stops processing immediately o sends an error message to the SAS log that states that execution was terminated by the RETURN option in the ABORT macro statement o does not execute any subsequent statements or check syntax o returns control to the operating environment with a condition code indicating an error. o windowing environment and interactive line mode\",\"type\":\"standalone\"}]},{\"name\":\"ARRAY\",\"description\":\"The ARRAY statement associates a name (of no more than eight characters) with a list of variables and constants. The ARRAY statement is similar to, but not the same as, the ARRAY statement in the DATA step, and it is the same as the ARRAY statements in the NLIN, NLP, NLMIXED, and MODEL procedures. The array name is used with subscripts in the program to refer to the array elements, as illustrated in the following statements: array r[8] r1-r8; do i = 1 to 8; r[i] = 0; end; The ARRAY statement does not support all the features of the ARRAY statement in the DATA step. Implicit indexing of variables cannot be used; all array references must have explicit subscript expressions. Only exact array dimensions are allowed; lower- bound specifications are not supported. A maximum of six dimensions is allowed.\",\"help\":\"ARRAY arrayname [ dimensions ] &lt;$&gt; &lt;variables-and-constants&gt; \"},{\"name\":\"BEGINCNST\",\"description\":\"The BEGINCNST statement indicates that PROC MCMC processes the programming statements that follow it once for every observation in the input data set before the first iteration.\",\"help\":\"BEGINCNST \"},{\"name\":\"BEGINHYPER\",\"description\":\"The BEGINHYPER statement is an alias for the BEGINPRIOR statement, and they are treated the same.\",\"help\":\"BEGINHYPER \"},{\"name\":\"BEGINNODATA\",\"aliases\":[\"BEGINPRIOR\"],\"description\":\"The BEGINNODATA and ENDNODATA statements define a block within which PROC MCMC processes the programming statements without stepping through the entire data set. The programming statements are executed only twice: at the first and the last observation of the data set. The BEGINNODATA and ENDNODATA statements are best used to reduce unnecessary observation-level computations. Any computations that are identical to every observation, such as transformation of parameters, should be enclosed in these statements. The BEGINPRIOR and ENDPRIOR statements are aliases for the BEGINNODATA and ENDNODATA statements, respectively. You can enclose PRIOR statements in the BEGINNODATA and ENDNODATA statements.\",\"help\":\"BEGINNODATA ; | BEGINPRIOR \"},{\"name\":\"BY\",\"description\":\"You can specify a BY statement with PROC MCMC to obtain separate analyses of observations in groups that are defined by the BY variables. When a BY statement appears, the procedure expects the input data set to be sorted in order of the BY variables. If you specify more than one BY statement, only the last one specified is used. If your input data set is not sorted in ascending order, use one of the following alternatives: • Sort the data by using the SORT procedure with a similar BY statement. • Specify the NOTSORTED or DESCENDING option in the BY statement for the BCHOICE procedure. The NOTSORTED option does not mean that the data are unsorted but rather that the data are arranged in groups (according to values of the BY variables) and that these groups are not necessarily in alphabetical or increasing numeric order. • Create an index on the BY variables by using the DATASETS procedure (in Base SAS software).\",\"help\":\"BY &lt;DESCENDING&gt;&lt;NOTSORTED&gt;\",\"arguments\":[{\"name\":\"DESCENDING\",\"optional\":true,\"description\":\"Specifies that the observations are sorted in descending order by the variable that immediately follows the word DESCENDING in the BY statement.\",\"type\":\"standalone\"},{\"name\":\"NOTSORTED\",\"optional\":true,\"description\":\"Specifies that observations are not necessarily sorted in alphabetic or numeric order.\",\"type\":\"standalone\"}]},{\"name\":\"CALL\",\"description\":\"Invokes a SAS CALL routine.\",\"help\":\"CALL routine(parameter-1&lt;, ...parameter-n&gt;)\"},{\"name\":\"DELETE\",\"description\":\"Stops processing the current observation.\",\"help\":\"DELETE\"},{\"name\":\"DO\",\"description\":\"\",\"help\":\"DO &lt;OVER&gt;&lt;&gt;&lt;&gt; ...\",\"arguments\":[{\"name\":\"BY\",\"optional\":true,\"description\":\"Precedes an increment integer (other than 0) or an expression that generates an integer to be added to the value of the index variable in each iteration of the DO loop.\",\"type\":\"standalone\"},{\"name\":\"OVER\",\"optional\":true,\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"TO\",\"optional\":true,\"description\":\"Separates the start and stop integers or expressions that control the number of times the portion of the DATA step between the iterative DO and END statements is processed.\",\"type\":\"standalone\"},{\"name\":\"UNTIL\",\"optional\":true,\"description\":\"...more SAS statements... END\",\"type\":\"standalone\"},{\"name\":\"WHILE\",\"optional\":true,\"description\":\"\",\"type\":\"standalone\"}]},{\"name\":\"ELSE\",\"description\":\"If the condition in an IF-THEN statement is false and an ELSE statement is present, \\\\ then the ELSE action is carried out.\",\"help\":\"ELSE &lt;DO&gt;&lt;IF&gt;&lt;THEN&gt; ...\",\"arguments\":[{\"name\":\"AND\",\"optional\":true,\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"DO\",\"optional\":true,\"description\":\"Action statement in an IF-THEN-ELSE construct.\",\"type\":\"standalone\"},{\"name\":\"IF\",\"optional\":true,\"description\":\"Executes a SAS statement for observations that meet specific conditions.\",\"type\":\"standalone\"},{\"name\":\"NOT\",\"optional\":true,\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"OR\",\"optional\":true,\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"OUTPUT\",\"optional\":true,\"description\":\"Action statement in an IF-THEN-ELSE construct.\",\"type\":\"standalone\"},{\"name\":\"THEN\",\"optional\":true,\"description\":\"If the conditions that are specified in the IF clause are met, the IF-THEN statement executes a SAS statement for observations that are read from a SAS data set, for records in an external file, or for computed values.\",\"type\":\"standalone\"}]},{\"name\":\"END\",\"description\":\"Ends a DO group or SELECT group processing.\",\"help\":\"END\"},{\"name\":\"ENDCNST\",\"description\":\"Ends a BEGINCNST block, and indicates a return to normal processing.\",\"help\":\"ENDCNST \"},{\"name\":\"ENDHYPER\",\"description\":\"The ENDHYPER statement is an alias for the ENDPRIOR statement, and they are treated the same.\",\"help\":\"ENDHYPER \"},{\"name\":\"ENDNODATA\",\"aliases\":[\"ENDPRIOR\"],\"description\":\"Ends a BEGINNODATA block.\",\"help\":\"ENDNODATA | ENDPRIOR \"},{\"name\":\"GOTO\",\"description\":\"Jumps to a new statement.\",\"help\":\"GOTO label\"},{\"name\":\"HYPERPRIOR\",\"aliases\":[\"HYPER\"],\"description\":\"The HYPERPRIOR statement is internally treated the same as the PRIOR statement. It provides a notational convenience in case you wish to fit a multilevel hierarchical model. It is used to specify the hyperprior distribution of the prior distribution parameters. The log of the hyperprior is the sum of the log hyperprior values from each of the HYPERPRIOR statements. If you want to specify a multilevel hierarchical model, you can use either a PRIOR or a HYPERPRIOR statement as if it were a hyper-HYPERPRIOR statement. Your model can have as many hierarchical levels as desired.\",\"help\":\"HYPERPRIOR &lt;beta(&lt;a=&gt;α, &lt;b=&gt;β)&gt;&lt;binary(&lt;prob|p=&gt;p)&gt;&lt;binomial(&lt;n=&gt;n, &lt;prob|p=&gt;p)&gt; ...\",\"arguments\":[{\"name\":\"BETA\",\"optional\":true,\"description\":\"Beta distribution with shape parameters α and β.\",\"type\":\"standalone\"},{\"name\":\"BINARY\",\"optional\":true,\"description\":\"Binary (Bernoulli) distribution with probability of success p.\",\"type\":\"standalone\"},{\"name\":\"BINOMIAL\",\"optional\":true,\"description\":\"Binomial distribution with count n and probability of success p.\",\"type\":\"standalone\"},{\"name\":\"CAUCHY\",\"optional\":true,\"description\":\"Cauchy distribution with location θ and scale parameter λ\",\"type\":\"standalone\"},{\"name\":\"CHISQ\",\"optional\":true,\"description\":\"Chi-square χ² distribution with v degrees of freedom.\",\"type\":\"standalone\"},{\"name\":\"DGENERAL\",\"optional\":true,\"description\":\"General log-likelihood function that you construct using SAS programming statements for single or multiple discrete variables.\",\"type\":\"standalone\"},{\"name\":\"EXPCHISQ\",\"optional\":true,\"description\":\"Log transformation of a χ² distribution with v degrees of freedom.\",\"type\":\"standalone\"},{\"name\":\"EXPEXPON\",\"optional\":true,\"description\":\"Log transformation of an exponential distribution with scale or inverse-scale parameter λ.\",\"type\":\"standalone\"},{\"name\":\"EXPGAMMA\",\"optional\":true,\"description\":\"Log transformation of a gamma distribution with shape α and scale or inverse-scale parameter λ.\",\"type\":\"standalone\"},{\"name\":\"EXPICHISQ\",\"optional\":true,\"description\":\"Log transformation of an inverse χ² distribution with v degrees of freedom.\",\"type\":\"standalone\"},{\"name\":\"EXPIGAMMA\",\"optional\":true,\"description\":\"Log transformation of an inverse-gamma distribution with shape α and scale or inverse-scale parameter λ.\",\"type\":\"standalone\"},{\"name\":\"EXPON\",\"optional\":true,\"description\":\"Exponential distribution with scale or inverse-scale parameter λ.\",\"type\":\"standalone\"},{\"name\":\"EXPSICHISQ\",\"optional\":true,\"description\":\"Log transformation of a scaled inverse χ² distribution with v degrees of freedom and scale parameter s.\",\"type\":\"standalone\"},{\"name\":\"GAMMA\",\"optional\":true,\"description\":\"Gamma distribution with shape α and scale or inverse-scale parameter λ.\",\"type\":\"standalone\"},{\"name\":\"GENERAL\",\"optional\":true,\"description\":\"General log-likelihood function that you construct using SAS programming statements for single or multiple continuous variables.\",\"type\":\"standalone\"},{\"name\":\"ICHISQ\",\"optional\":true,\"description\":\"Inverse χ² distribution with v degrees of freedom.\",\"type\":\"standalone\"},{\"name\":\"IGAMMA\",\"optional\":true,\"description\":\"Inverse gamma distribution with shape α and scale or inverse-scale parameter λ.\",\"type\":\"standalone\"},{\"name\":\"LAPLACE\",\"optional\":true,\"description\":\"Laplace distribution with location θ and scale or inverse-scale parameter λ\",\"type\":\"standalone\"},{\"name\":\"LOGISTIC\",\"optional\":true,\"description\":\"Logistic distribution with location a and scale parameter b\",\"type\":\"standalone\"},{\"name\":\"LOGNORMAL\",\"optional\":true,\"description\":\"Log-normal distribution with mean µ and standard deviation or variance or precision λ\",\"type\":\"standalone\"},{\"name\":\"NEGBIN\",\"optional\":true,\"description\":\"Negative binomial distribution with count n and probability of success p.\",\"type\":\"standalone\"},{\"name\":\"NORMAL\",\"optional\":true,\"description\":\"Normal (Gaussian) distribution with mean µ and standard deviation or variance or precision λ\",\"type\":\"standalone\"},{\"name\":\"PARETO\",\"optional\":true,\"description\":\"Pareto distribution with shape α and scale parameter b.\",\"type\":\"standalone\"},{\"name\":\"POISSON\",\"optional\":true,\"description\":\"Poisson distribution with mean λ\",\"type\":\"standalone\"},{\"name\":\"SICHISQ\",\"optional\":true,\"description\":\"Scaled inverse χ² distribution with v degrees of freedom and scale parameter s.\",\"type\":\"standalone\"},{\"name\":\"T\",\"optional\":true,\"description\":\"T distribution with mean µ, standard deviation or variance or precision λ, and v degrees of freedom.\",\"type\":\"standalone\"},{\"name\":\"UNIFORM\",\"optional\":true,\"description\":\"Uniform distribution with range a and b.\",\"type\":\"standalone\"},{\"name\":\"WALD\",\"optional\":true,\"description\":\"Wald distribution with mean µ and inverse-scale parameter λ.\",\"type\":\"standalone\"},{\"name\":\"WEIBULL\",\"optional\":true,\"description\":\"Weibull distribution with location (threshold) parameter µ, shape parameter c, and scale parameter σ.\",\"type\":\"standalone\"}]},{\"name\":\"IF\",\"description\":\"\",\"help\":\"IF &lt;DO&gt;&lt;THEN&gt;&lt;WHEN&gt; ...\",\"arguments\":[{\"name\":\"AND\",\"optional\":true,\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"DO\",\"optional\":true,\"description\":\"Action statement in an IF-THEN construct.\",\"type\":\"standalone\"},{\"name\":\"GO\",\"optional\":true,\"aliases\":[\"GOTO\"],\"description\":\"Jumps to a new statement.\",\"help\":\"GO TO\",\"type\":\"standalone\"},{\"name\":\"NOT\",\"optional\":true,\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"OR\",\"optional\":true,\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"OUTPUT\",\"optional\":true,\"description\":\"Action statement in an IF-THEN construct.\",\"type\":\"standalone\"},{\"name\":\"PUT\",\"optional\":true,\"description\":\"Action statement in an IF-THEN construct.\",\"type\":\"standalone\"},{\"name\":\"SET\",\"optional\":true,\"description\":\"Reads an observation from one or more SAS data sets.\",\"type\":\"standalone\"},{\"name\":\"STOP\",\"optional\":true,\"description\":\"Action statement in an IF-THEN construct. Stops execution of the current DATA step.\",\"type\":\"standalone\"},{\"name\":\"THEN\",\"optional\":true,\"description\":\"If the conditions that are specified in the IF clause are met, the IF-THEN statement executes a SAS statement for observations that are read from a SAS data set, for records in an external file, or for computed values.\",\"type\":\"standalone\"},{\"name\":\"WHEN\",\"optional\":true,\"description\":\"WHEN statement in an IF-THEN-WHEN construct.\",\"type\":\"standalone\"}]},{\"name\":\"LINK\",\"description\":\"Directs program execution immediately to the statement label that is specified and, if followed by a RETURN statement, returns execution to the statement that follows the LINK statement.\",\"help\":\"LINK statement-label\"},{\"name\":\"MODEL\",\"description\":\"The MODEL statement specifies the conditional distribution of the data given the parameters (the likelihood function). You specify a single dependent variable or a list of dependent variables, a tilde ~, and then a distribution with its arguments. The dependent variables can be variables from the input data set or functions of the symbols in the program. You must specify the dependent variables unless you use the GENERAL function or the DGENERAL function.\",\"help\":\"MODEL &lt;beta(&lt;a=&gt;α, &lt;b=&gt;β)&gt;&lt;binary(&lt;prob|p=&gt;p)&gt;&lt;binomial(&lt;n=&gt;n, &lt;prob|p=&gt;p)&gt; ...\",\"arguments\":[{\"name\":\"BETA\",\"optional\":true,\"description\":\"Beta distribution with shape parameters α and β.\",\"type\":\"standalone\"},{\"name\":\"BINARY\",\"optional\":true,\"description\":\"Binary (Bernoulli) distribution with probability of success p.\",\"type\":\"standalone\"},{\"name\":\"BINOMIAL\",\"optional\":true,\"description\":\"Binomial distribution with count n and probability of success p.\",\"type\":\"standalone\"},{\"name\":\"CAUCHY\",\"optional\":true,\"description\":\"Cauchy distribution with location θ and scale parameter λ\",\"type\":\"standalone\"},{\"name\":\"CHISQ\",\"optional\":true,\"description\":\"Chi-square χ² distribution with v degrees of freedom.\",\"type\":\"standalone\"},{\"name\":\"DGENERAL\",\"optional\":true,\"description\":\"General log-likelihood function that you construct using SAS programming statements for single or multiple discrete variables.\",\"type\":\"standalone\"},{\"name\":\"DIRICHLET\",\"optional\":true,\"description\":\"Dirichlet distribution with parameter vector α, where α must be a one-dimensional array of length greater than 1.\",\"type\":\"standalone\"},{\"name\":\"EXPCHISQ\",\"optional\":true,\"description\":\"Log transformation of a χ² distribution with v degrees of freedom.\",\"type\":\"standalone\"},{\"name\":\"EXPEXPON\",\"optional\":true,\"description\":\"Log transformation of an exponential distribution with scale or inverse-scale parameter λ.\",\"type\":\"standalone\"},{\"name\":\"EXPGAMMA\",\"optional\":true,\"description\":\"Log transformation of a gamma distribution with shape α and scale or inverse-scale parameter λ.\",\"type\":\"standalone\"},{\"name\":\"EXPICHISQ\",\"optional\":true,\"description\":\"Log transformation of an inverse χ² distribution with v degrees of freedom.\",\"type\":\"standalone\"},{\"name\":\"EXPIGAMMA\",\"optional\":true,\"description\":\"Log transformation of an inverse-gamma distribution with shape α and scale or inverse-scale parameter λ.\",\"type\":\"standalone\"},{\"name\":\"EXPON\",\"optional\":true,\"description\":\"Exponential distribution with scale or inverse-scale parameter λ.\",\"type\":\"standalone\"},{\"name\":\"EXPSICHISQ\",\"optional\":true,\"description\":\"Log transformation of a scaled inverse χ² distribution with v degrees of freedom and scale parameter s.\",\"type\":\"standalone\"},{\"name\":\"GAMMA\",\"optional\":true,\"description\":\"Gamma distribution with shape α and scale or inverse-scale parameter λ.\",\"type\":\"standalone\"},{\"name\":\"GENERAL\",\"optional\":true,\"description\":\"General log-likelihood function that you construct using SAS programming statements for single or multiple continuous variables.\",\"type\":\"standalone\"},{\"name\":\"ICHISQ\",\"optional\":true,\"description\":\"Inverse χ² distribution with v degrees of freedom.\",\"type\":\"standalone\"},{\"name\":\"ICOND=\",\"optional\":true,\"description\":\"Specifies the initial conditions (or initial states) of the lag or lead variables for the response variable when the observation indices are out of the range.\",\"type\":\"value\"},{\"name\":\"IGAMMA\",\"optional\":true,\"description\":\"Inverse gamma distribution with shape α and scale or inverse-scale parameter λ.\",\"type\":\"standalone\"},{\"name\":\"INITIAL=\",\"optional\":true,\"description\":\"Specifies the initial values of the missing values. By default, PROC MCMC uses a sample average of the nonmissing values of a response variable as the starting values for all missing values in the simulation for that variable. You can use the INITIAL= option to start the Markov chain at a different place.\",\"type\":\"value\"},{\"name\":\"IWISH\",\"optional\":true,\"description\":\"Inverse Wishart distribution with v degrees of freedom and symmetric positive definite scale array S.\",\"type\":\"standalone\"},{\"name\":\"LAPLACE\",\"optional\":true,\"description\":\"Laplace distribution with location θ and scale or inverse-scale parameter λ\",\"type\":\"standalone\"},{\"name\":\"LOGISTIC\",\"optional\":true,\"description\":\"Logistic distribution with location a and scale parameter b\",\"type\":\"standalone\"},{\"name\":\"LOGNORMAL\",\"optional\":true,\"description\":\"Log-normal distribution with mean µ and standard deviation or variance or precision λ\",\"type\":\"standalone\"},{\"name\":\"MONITOR=\",\"optional\":true,\"description\":\"Outputs analysis for selected missing data variables. You can choose to monitor the missing values by listing the response variable names, the missing data variable names, or indices, or you can have them randomly selected by PROC MCMC. With the RANDOM keyword, PROC MCMC can randomly choose a subset of the variables to monitor. The following statement randomly selects 3 variables to monitor:\",\"help\":\"MONITOR=RANDOM\",\"type\":\"choice\",\"arguments\":[{\"name\":\"RANDOM\",\"type\":\"standalone\"}]},{\"name\":\"MULTINOM\",\"optional\":true,\"description\":\"Multinomial distribution with probability vector p.\",\"type\":\"standalone\"},{\"name\":\"MVN\",\"optional\":true,\"description\":\"Multivariate normal distribution with mean vector and covariance matrix ∑.\",\"type\":\"standalone\"},{\"name\":\"MVNAR\",\"optional\":true,\"description\":\"Multivariate normal distribution with mean vector µ and a covariance matrix ∑. The covariance matrix ∑ is a multiple of the scale and a matrix with a first-order autoregressive structure. When RHO=0, this distribution becomes a multivariate normal distribution with shared variance.\",\"type\":\"standalone\"},{\"name\":\"NAMESUFFIX=\",\"optional\":true,\"description\":\"Specifies how the names of the missing data variables are created. By default, the names are created by concatenating the response variable symbol, an underscore (“_”), and the observation number of the missing value.\",\"help\":\"NAMESUFFIX=OBSERVATION | POSITION\",\"type\":\"choice\",\"arguments\":[{\"name\":\"OBSERVATION\",\"description\":\"Constructs the parameter names by appending the observation number to the response variable symbol. This is the default.\",\"type\":\"standalone\"},{\"name\":\"POSITION\",\"aliases\":[\"ORDER\"],\"description\":\"Construct the parameter names by appending the numbers 1, 2, 3, and so on, where the number indicates the order in which the missing values appear in the data set.\",\"type\":\"standalone\"}]},{\"name\":\"NEGBIN\",\"optional\":true,\"description\":\"Negative binomial distribution with count n and probability of success p.\",\"type\":\"standalone\"},{\"name\":\"NOOUTPOST\",\"optional\":true,\"description\":\"Suppresses the output of the posterior samples of missing data variables to the posterior output data set (which is specified in the OUTPOST= option in the PROC MCMC statement). In models with a large number of missing values (for example, tens of thousands), PROC MCMC can run faster if it does not save the posterior samples.\",\"type\":\"standalone\"},{\"name\":\"NORMAL\",\"optional\":true,\"description\":\"Normal (Gaussian) distribution with mean µ and standard deviation or variance or precision λ\",\"type\":\"standalone\"},{\"name\":\"PARETO\",\"optional\":true,\"description\":\"Pareto distribution with shape α and scale parameter b.\",\"type\":\"standalone\"},{\"name\":\"POISSON\",\"optional\":true,\"description\":\"Poisson distribution with mean λ\",\"type\":\"standalone\"},{\"name\":\"SICHISQ\",\"optional\":true,\"description\":\"Scaled inverse χ² distribution with v degrees of freedom and scale parameter s.\",\"type\":\"standalone\"},{\"name\":\"T\",\"optional\":true,\"description\":\"T distribution with mean µ, standard deviation or variance or precision λ, and v degrees of freedom.\",\"type\":\"standalone\"},{\"name\":\"TABLE\",\"optional\":true,\"aliases\":[\"CAT\"],\"description\":\"Table (categorical) distribution with probability vector p. You can also use the alias cat for this distribution.\",\"type\":\"standalone\"},{\"name\":\"UNIFORM\",\"optional\":true,\"description\":\"Uniform distribution with range a and b.\",\"type\":\"standalone\"},{\"name\":\"WALD\",\"optional\":true,\"description\":\"Wald distribution with mean µ and inverse-scale parameter λ.\",\"type\":\"standalone\"},{\"name\":\"WEIBULL\",\"optional\":true,\"description\":\"Weibull distribution with location (threshold) parameter µ, shape parameter c, and scale parameter σ.\",\"type\":\"standalone\"}]},{\"name\":\"OTHERWISE\",\"description\":\">\",\"help\":\"\"},{\"name\":\"PARMS\",\"description\":\"The PARMS statement lists the names of the parameters in the model and specifies optional initial values for these parameters. These parameters are referred to as the model parameters. You can specify multiple PARMS statements.\",\"help\":\"PARMS &lt;NORMAL&gt;&lt;SLICE&gt;&lt;T&lt;(df)&gt;&gt; ...\",\"arguments\":[{\"name\":\"NORMAL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies a normal proposal distribution in the random walk Metropolis. This is the default.\",\"type\":\"standalone\"},{\"name\":\"SLICE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Applies the slice sampler to each parameter in the PARMS statement individually.\",\"type\":\"standalone\"},{\"name\":\"T\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Uses the t distribution with df degrees of freedom as an alternative proposal distribution.\",\"type\":\"standalone\"},{\"name\":\"UDS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Implements a user-defined sampler for any of the parameters in the block.\",\"type\":\"standalone\"}]},{\"name\":\"PREDDIST\",\"description\":\"The PREDDIST statement creates a new SAS data set that contains random samples from the posterior predictive distribution of the response variable. The posterior predictive distribution is the distribution of unobserved observations (prediction) conditional on the observed data.\",\"help\":\"PREDDIST &lt;COVARIATES=SAS-data-set&gt;&lt;NSIM=n&gt;&lt;OUTPRED=SAS-data-set&gt; ...\",\"arguments\":[{\"name\":\"COVARIATES=\",\"optional\":true,\"description\":\"Names the SAS data set that contains the sets of explanatory variable values for which the predictions are established. This data set must contain data with the same variable names as are used in the likelihood function. If you omit the COVARIATES= option, the DATA= data set specified in the PROC MCMC statement is used instead.\",\"help\":\"COVARIATES=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"NSIM=\",\"optional\":true,\"description\":\"Specifies the number of simulated predicted values. By default, NSIM= uses the NMC= option value specified in the PROC MCMC statement.\",\"help\":\"NSIM=*n*\",\"type\":\"value\"},{\"name\":\"OUTPRED=\",\"optional\":true,\"description\":\"Creates an output data set to contain the samples from the posterior predictive distribution. The output variable names are listed as resp_1–resp_m, where resp is the name of the response variable and m is the number of observations in the COVARIATES= data set in the PREDDIST statement. If the COVARIATES= data set is not specified, m is the number of observations in the DATA= data set specified in the PROC statement.\",\"help\":\"OUTPRED=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"SAVEPARM\",\"optional\":true,\"description\":\"Outputs to the OUTPRED= data set sampled parameter values that are used in each predictive draw.\",\"type\":\"standalone\"},{\"name\":\"STATISTICS\",\"optional\":true,\"aliases\":[\"STATS\"],\"description\":\"Specifies options for calculating posterior statistics. This option works identically to the STATISTICS= option in the PROC statement. By default, this option takes the specification of the STATISTICS= option in the PROC MCMC statement. The global-stats-options includes the following: ALPHA=numeric-list specifies the α level for the equal-tail and HPD intervals. The value α must be between 0 and 0.5. By default, ALPHA=0.05\",\"help\":\"STATISTICSALL | CORR | COV | SUMMARY|SUM | INTERVAL|INT | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ALL\",\"description\":\"Computes all posterior statistics.\",\"type\":\"standalone\"},{\"name\":\"CORR\",\"description\":\"Computes the posterior correlation matrix.\",\"type\":\"standalone\"},{\"name\":\"COV\",\"description\":\"Computes the posterior covariance matrix.\",\"type\":\"standalone\"},{\"name\":\"SUMMARY\",\"aliases\":[\"SUM\"],\"description\":\"Computes the posterior means, standard deviations, and percentile points for each variable. By default, the 25th, 50th, and 75th percentile points are produced, but you can use the global PERCENT= option to request specific percentile points.\",\"type\":\"standalone\"},{\"name\":\"INTERVAL\",\"aliases\":[\"INT\"],\"description\":\"Computes the 100(1 - α)% equal-tail and HPD credible intervals for each variable.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"Suppresses all of the statistics.\",\"type\":\"standalone\"}]}]},{\"name\":\"PRIOR\",\"description\":\"The PRIOR statement is used to specify the prior distribution of the model parameters. You must specify a single parameter or a list of parameters, a tilde ~, and then a distribution with its parameters. Multiple PRIOR statements are allowed for defining models with multiple independent prior components. The log of the prior is the sum of the log prior values from each of the PRIOR statements. The PRIOR statements are processed twice at every Markov chain simulation—that is, twice per pass through the data set. The statements are called at the first and the last observation of the data set. This is the same as how the BEGINNODATA and ENDNODATA statements are processed.\",\"help\":\"PRIOR &lt;beta(&lt;a=&gt;α, &lt;b=&gt;β)&gt;&lt;binary(&lt;prob|p=&gt;p)&gt;&lt;binomial(&lt;n=&gt;n, &lt;prob|p=&gt;p)&gt; ...\",\"arguments\":[{\"name\":\"BETA\",\"optional\":true,\"description\":\"Beta distribution with shape parameters α and β.\",\"type\":\"standalone\"},{\"name\":\"BINARY\",\"optional\":true,\"description\":\"Binary (Bernoulli) distribution with probability of success p.\",\"type\":\"standalone\"},{\"name\":\"BINOMIAL\",\"optional\":true,\"description\":\"Binomial distribution with count n and probability of success p.\",\"type\":\"standalone\"},{\"name\":\"CAUCHY\",\"optional\":true,\"description\":\"Cauchy distribution with location θ and scale parameter λ\",\"type\":\"standalone\"},{\"name\":\"CHISQ\",\"optional\":true,\"description\":\"Chi-square χ² distribution with v degrees of freedom.\",\"type\":\"standalone\"},{\"name\":\"DGENERAL\",\"optional\":true,\"description\":\"General log-likelihood function that you construct using SAS programming statements for single or multiple discrete variables.\",\"type\":\"standalone\"},{\"name\":\"EXPCHISQ\",\"optional\":true,\"description\":\"Log transformation of a χ² distribution with v degrees of freedom.\",\"type\":\"standalone\"},{\"name\":\"EXPEXPON\",\"optional\":true,\"description\":\"Log transformation of an exponential distribution with scale or inverse-scale parameter λ.\",\"type\":\"standalone\"},{\"name\":\"EXPGAMMA\",\"optional\":true,\"description\":\"Log transformation of a gamma distribution with shape α and scale or inverse-scale parameter λ.\",\"type\":\"standalone\"},{\"name\":\"EXPICHISQ\",\"optional\":true,\"description\":\"Log transformation of an inverse χ² distribution with v degrees of freedom.\",\"type\":\"standalone\"},{\"name\":\"EXPIGAMMA\",\"optional\":true,\"description\":\"Log transformation of an inverse-gamma distribution with shape α and scale or inverse-scale parameter λ.\",\"type\":\"standalone\"},{\"name\":\"EXPON\",\"optional\":true,\"description\":\"Exponential distribution with scale or inverse-scale parameter λ.\",\"type\":\"standalone\"},{\"name\":\"EXPSICHISQ\",\"optional\":true,\"description\":\"Log transformation of a scaled inverse χ² distribution with v degrees of freedom and scale parameter s.\",\"type\":\"standalone\"},{\"name\":\"GAMMA\",\"optional\":true,\"description\":\"Gamma distribution with shape α and scale or inverse-scale parameter λ.\",\"type\":\"standalone\"},{\"name\":\"GENERAL\",\"optional\":true,\"description\":\"General log-likelihood function that you construct using SAS programming statements for single or multiple continuous variables.\",\"type\":\"standalone\"},{\"name\":\"ICHISQ\",\"optional\":true,\"description\":\"Inverse χ² distribution with v degrees of freedom.\",\"type\":\"standalone\"},{\"name\":\"IGAMMA\",\"optional\":true,\"description\":\"Inverse gamma distribution with shape α and scale or inverse-scale parameter λ.\",\"type\":\"standalone\"},{\"name\":\"LAPLACE\",\"optional\":true,\"description\":\"Laplace distribution with location θ and scale or inverse-scale parameter λ\",\"type\":\"standalone\"},{\"name\":\"LOGISTIC\",\"optional\":true,\"description\":\"Logistic distribution with location a and scale parameter b\",\"type\":\"standalone\"},{\"name\":\"LOGNORMAL\",\"optional\":true,\"description\":\"Log-normal distribution with mean µ and standard deviation or variance or precision λ\",\"type\":\"standalone\"},{\"name\":\"NEGBIN\",\"optional\":true,\"description\":\"Negative binomial distribution with count n and probability of success p.\",\"type\":\"standalone\"},{\"name\":\"NORMAL\",\"optional\":true,\"description\":\"Normal (Gaussian) distribution with mean µ and standard deviation or variance or precision λ\",\"type\":\"standalone\"},{\"name\":\"PARETO\",\"optional\":true,\"description\":\"Pareto distribution with shape α and scale parameter b.\",\"type\":\"standalone\"},{\"name\":\"POISSON\",\"optional\":true,\"description\":\"Poisson distribution with mean λ\",\"type\":\"standalone\"},{\"name\":\"SICHISQ\",\"optional\":true,\"description\":\"Scaled inverse χ² distribution with v degrees of freedom and scale parameter s.\",\"type\":\"standalone\"},{\"name\":\"T\",\"optional\":true,\"description\":\"T distribution with mean µ, standard deviation or variance or precision λ, and v degrees of freedom.\",\"type\":\"standalone\"},{\"name\":\"UNIFORM\",\"optional\":true,\"description\":\"Uniform distribution with range a and b.\",\"type\":\"standalone\"},{\"name\":\"WALD\",\"optional\":true,\"description\":\"Wald distribution with mean µ and inverse-scale parameter λ.\",\"type\":\"standalone\"},{\"name\":\"WEIBULL\",\"optional\":true,\"description\":\"Weibull distribution with location (threshold) parameter µ, shape parameter c, and scale parameter σ.\",\"type\":\"standalone\"}]},{\"name\":\"PUT\",\"description\":\"The PUT statement writes text data to the current output file.\",\"help\":\"PUT &lt;_PAGE_&gt;\",\"arguments\":[{\"name\":\"_PAGE_\",\"optional\":true,\"description\":\"Outputs any pending line data and moves to the top of the next page.\",\"type\":\"standalone\"}]},{\"name\":\"RANDOM\",\"description\":\"The RANDOM statement defines a single random effect and its prior distribution or an array of random effects and their prior distribution. The random-effect must be represented by either a symbol or an array that appears in your SAS programming statements. The RANDOM statement must consist of a symbol for a random effect (or an array for multivariate random effects), a tilde (~), the distribution for the random effect, and then a SUBJECT= variable. With SAS/STAT 12.1, the RANDOM statement now supports multilevel hierarchical modeling to an arbitrary depth; a random effect can appear in the distributional hierarchy of other random effects.\",\"help\":\"RANDOM &lt;beta(&lt;a=&gt;α, &lt;b=&gt;β)&gt;&lt;binary(&lt;prob|p=&gt;p)&gt;&lt;gamma(&lt;shape|sp=&gt;α, scale|s=λ) | gamma(&lt;shape|sp=&gt;α, isscale|is=λ)&gt; ...\",\"arguments\":[{\"name\":\"ALGORITHM=\",\"optional\":true,\"aliases\":[\"ALG=\"],\"description\":\"Specifies the algorithm to use to sample the posterior distribution.\",\"help\":\"ALGORITHM=RWM | SLICE | GEO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"RWM\",\"description\":\"Uses the random-walk Metropolis algorithm with normal proposal.\",\"type\":\"standalone\"},{\"name\":\"SLICE\",\"description\":\"Uses the slice sampling algorithm.\",\"type\":\"standalone\"},{\"name\":\"GEO\",\"description\":\"Uses the discrete random-walk Metropolis with symmetric geometric proposal.\",\"type\":\"standalone\"}]},{\"name\":\"BETA\",\"optional\":true,\"description\":\"Beta distribution with shape parameters α and β.\",\"type\":\"standalone\"},{\"name\":\"BINARY\",\"optional\":true,\"description\":\"Binary (Bernoulli) distribution with probability of success p.\",\"type\":\"standalone\"},{\"name\":\"GAMMA\",\"optional\":true,\"description\":\"Gamma distribution with shape α and scale or inverse-scale parameter λ.\",\"type\":\"standalone\"},{\"name\":\"ICOND=\",\"optional\":true,\"aliases\":[\"ISTATES=\"],\"description\":\"Specifies the initial conditions (or initial states) of the lag or lead variable of the random effect when the subject indices are out of the range of the subjects.\",\"type\":\"value\"},{\"name\":\"IGAMMA\",\"optional\":true,\"description\":\"Inverse gamma distribution with shape α and scale or inverse-scale parameter λ.\",\"type\":\"standalone\"},{\"name\":\"INITIAL=\",\"optional\":true,\"description\":\"Specifies the initial values of the random-effects parameters. By default, PROC MCMC uses the same option as specified in the INIT= option to generate initial values for the random-effects parameter: either it uses the mode of the prior density or it randomly draws a sample from that distribution.\",\"type\":\"value\"},{\"name\":\"MONITOR=\",\"optional\":true,\"description\":\"Outputs analysis for selected random-effects parameters. You can choose to monitor the random-effects parameters by listing the effect names or effect indices, or you can have them randomly selected by PROC MCMC. With the RANDOM keyword, PROC MCMC can randomly choose a subset of the parameters to monitor.\",\"help\":\"MONITOR=RANDOM\",\"type\":\"choice\",\"arguments\":[{\"name\":\"RANDOM\",\"type\":\"standalone\"}]},{\"name\":\"MVN\",\"optional\":true,\"description\":\"Multivariate normal distribution with mean vector µ and covariance matrix Σ.\",\"type\":\"standalone\"},{\"name\":\"MVNAR\",\"optional\":true,\"description\":\"Multivariate normal distribution with mean vector µ and a covariance matrix ∑. The covariance matrix ∑ is a multiple of the scale and a matrix with a first-order autoregressive structure. When RHO=0, this distribution becomes a multivariate normal distribution with shared variance.\",\"type\":\"standalone\"},{\"name\":\"NAMESUFFIX=\",\"optional\":true,\"description\":\"Specifies how the names of the random-effects parameters are internally created. PROC MCMC creates the names by concatenating the random-effect symbol with an underscore and a series of numbers.\",\"help\":\"NAMESUFFIX=SUBJECT | POSITION*value*\",\"type\":\"value\",\"arguments\":[{\"name\":\"SUBJECT\",\"description\":\"Constructs the parameter names by appending the values of the SUBJECT= variable in the input data set.\",\"type\":\"standalone\"},{\"name\":\"POSITION\",\"description\":\"Constructs the parameter names by appending the numbers 1, 2, 3, and so on, where the number indicates the order in which the SUBJECT= variable appears in the data set.\",\"type\":\"standalone\"}]},{\"name\":\"NOOUTPOST\",\"optional\":true,\"description\":\"Suppresses the output of the posterior samples of random-effects parameters to the OUTPOST= data set. In models with a large number of random-effects parameters (for example, tens of thousands), PROC MCMC can run faster if it does not save the posterior samples of the random-effects parameters.\",\"type\":\"standalone\"},{\"name\":\"NORMAL\",\"optional\":true,\"description\":\"Normal (Gaussian) distribution with mean µ and standard deviation or variance or precision λ\",\"type\":\"standalone\"},{\"name\":\"SUBJECT=\",\"optional\":true,\"description\":\"Identifies the subjects in the random-effects model. The variable must be part of the input data set, and it can be either a numeric variable or character literal. The variable does not need to be sorted, and the input data set does not need to be clustered according to it. SUBJECT=_OBS_ enables you fit an observation-level random-effects model (each observation has its own random effect) without specifying a subject variable in the input data set.\",\"type\":\"value\"},{\"name\":\"ZERO=\",\"optional\":true,\"aliases\":[\"CONSTRAINT(VALUE=value)=\"],\"description\":\"Sets one of the random-effects parameters to a fixed value. The default is ZERO=NONE, which does not fix any of the parameters to be a constant. This option enables you to eliminate one of the parameters.\",\"help\":\"ZERO=FIRST | LAST | NONE | '*formatted-value*'\",\"type\":\"choice\",\"arguments\":[{\"name\":\"FIRST\",\"description\":\"The specification ZERO=FIRST sets the first random-effects parameter to 0.\",\"type\":\"standalone\"},{\"name\":\"LAST\",\"description\":\"The specification ZERO=LAST sets the last random-effects parameter to be 0.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"The default is ZERO=NONE, which does not fix any of the parameters to be a constant.\",\"type\":\"standalone\"},{\"name\":\"'formatted-value'\",\"placeholder\":true,\"description\":\"The specification ZERO='formatted-value' sets the random-effects parameter for the category (in the SUBJECT= variable) with a formatted value that matches 'formatted-value' to 0.\",\"type\":\"value\"}]}]},{\"name\":\"RETURN\",\"description\":\"Stops executing statements at the current point in the DATA step and returns to a predetermined point in the step.\",\"help\":\"RETURN\"},{\"name\":\"SELECT\",\"description\":\"\",\"help\":\"\"},{\"name\":\"STOP\",\"description\":\"The STOP statement halts the execution of all statements that contain it, including DO statements and other control or looping statements. Execution continues with the next top-level source statement.\",\"help\":\"STOP \"},{\"name\":\"UDS\",\"description\":\"UDS stands for user defined sampler. The UDS statement allows you to use a separate algorithm, other than the default random walk Metropolis, to update parameters in the model. The purpose of the UDS statement is to give you a greater amount of flexibility and better control over the updating schemes of the Markov chain. Multiple UDS statements are allowed. For the UDS statement to work properly, you have to do the following: o write a subroutine by using PROC FCMP. The subroutine must update some parameters in the model. These are the UDS parameters. The subroutine is called the UDS subroutine. o declare any UDS parameters in the PARMS statement with a sampling option, as in </ UDS> o specify the prior distributions for all UDS parameters, using the PRIOR statements. Note: All UDS parameters must appear in three places: the UDS statement, the PARMS statement, and the PRIOR statement. Otherwise, PROC MCMC exits.\",\"help\":\"UDS subroutine-name ( subroutine-argument-list) \"},{\"name\":\"WHEN\",\"description\":\"\",\"help\":\"WHEN &lt;DO&gt;\",\"arguments\":[{\"name\":\"DO\",\"optional\":true,\"description\":\"\",\"type\":\"standalone\"}]}],\"supportSiteInformation\":{\"docsetId\":\"statug\",\"docsetVersion\":\"latest\",\"docsetTargetFile\":\"statug_mcmc_toc.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/MDC.json",
    "content": "{\"name\":\"MDC\",\"statements\":[{\"name\":\"PROC MDC\",\"description\":\"The MDC (multinomial discrete choice) procedure analyzes models in which the choice set consists of multiple alternatives. This procedure supports conditional logit, mixed logit, heteroscedastic extreme value, nested logit, and multinomial probit models. The MDC procedure uses the maximum likelihood (ML) or simulated maximum likelihood method for model estimation. The term multinomial logit is often used in the econometrics literature to refer to the conditional logit model of McFadden (1974). Here, the term conditional logit refers to McFadden’s conditional logit model, and the term multinomial logit refers to a model that differs slightly. Schmidt and Strauss (1975) and Theil (1969) are early applications of the multinomial logit model in the econometrics literature. The main difference between McFadden’s conditional logit model and the multinomial logit model is that the multinomial logit model makes the choice probabilities depend on the characteristics of the individuals only, whereas the conditional logit model considers the effects of choice attributes on choice probabilities as well.\",\"help\":\"PROC MDC <COVOUT><DATA=SAS-data-set><OUTEST=SAS-data-set>;     \\n\\tBOUNDS bound1 <, bound2 ...> ;\\n\\n\\tBY variables ;\\n\\n\\tCLASS variables ;\\n\\n\\tID variable ;\\n\\n\\tMODEL <CHOICE=(variables) | CHOICE=(variable numbers)><CONVERGE=number><HALTONSTART=number> ...;\\n\\n\\tNEST <LEVEL(level-number )= ( choices@choice, ...)> ;\\n\\n\\tNLOPTIONS <ABSCONV= | ABSTOL=r><ABSFCONV=r[n] | ABSFTOL=r[n><ABSGCONV=r[n] | ABSGTOL=r[n> ...;\\n\\n\\tOUTPUT <OUT=SAS-data-set><PRED=variable name><XBETA=variable name> ...;\\n\\n\\tRESTRICT restriction1 < , restriction2 ...> ;\\n\\n\\tTEST <ALL><LM><WALD> ...;\\n\\n\\tUTILITY U(level < , choices> )= variables ;\\n\",\"arguments\":[{\"name\":\"COVOUT\",\"optional\":true,\"description\":\"Writes the covariance matrix for the parameter estimates to the OUTEST= data set. This option is valid only if the OUTEST= option is specified.\",\"type\":\"standalone\"},{\"name\":\"DATA=\",\"optional\":true,\"description\":\"Specifies the input SAS data set. If the DATA= option is not specified, PROC MDC uses the most recently created SAS data set.\",\"help\":\"DATA=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"OUTEST=\",\"optional\":true,\"description\":\"Names the SAS data set that the parameter estimates are written to.\",\"help\":\"OUTEST=*SAS-data-set*\",\"type\":\"dataSet\"}]},{\"name\":\"BOUNDS\",\"description\":\"The BOUNDS statement imposes simple boundary constraints on the parameter estimates. BOUNDS statement constraints refer to the parameters estimated by the MDC procedure. You can specify any number of BOUNDS statements. Each bound is composed of parameters, constants, and inequality operators: item operator item < operator item < operator item ...> > Each item is a constant, parameter, or list of parameters. Parameters associated with a regressor variable are referred to by the name of the corresponding regressor variable. Each operator is ’<’, ’>’, ’≤’, or ’≥’.\",\"help\":\"BOUNDS bound1 &lt;, bound2 ...&gt; \"},{\"name\":\"BY\",\"description\":\"A BY statement can be used with PROC MDC to obtain separate analyses on observations in groups defined by the BY variables.\",\"help\":\"BY variables \"},{\"name\":\"CLASS\",\"description\":\"The CLASS statement names the classification variables to be used in the analysis. Classification variables can be either character or numeric.\",\"help\":\"CLASS variables \"},{\"name\":\"ID\",\"description\":\"The ID statement must be used with PROC MDC to specify the identification variable that controls multiple choice-specific cases. The MDC procedure requires only one ID statement even with multiple MODEL statements.\",\"help\":\"ID variable \"},{\"name\":\"MODEL\",\"description\":\"The MODEL statement specifies the dependent variable and independent regressor variables for the regression model. When the nested logit model is estimated, regressors in the UTILITY statement are used for estimation.\",\"help\":\"MODEL &lt;CHOICE=(variables) | CHOICE=(variable numbers)&gt;&lt;CONVERGE=number&gt;&lt;HALTONSTART=number&gt; ...\",\"arguments\":[{\"name\":\"ALL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests all printing options.\",\"type\":\"standalone\"},{\"name\":\"CHOICE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the variables that contain possible choices for each individual. Choice variables must have integer values. Multiple choice variables are allowed only for nested logit models. If all possible alternatives are written with the variable name, the MDC procedure checks all values of the choice variable. The CHOICE=(X 1 2 3) specification implies that the value of X should be 1, 2, or 3. On the other hand, the CHOICE=(X) specification considers all distinctive nonmissing values of X as elements of the choice set.\",\"type\":\"value\"},{\"name\":\"CONVERGE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the convergence criterion. The CONVERGE= option is the same as the ABSGCONV= option in the NLOPTIONS statement. The ABSGCONV= option in the NLOPTIONS statement overrides the CONVERGE= option. The default value is 1E–5.\",\"help\":\"CONVERGE=*number*\",\"type\":\"value\"},{\"name\":\"CORRB\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays the estimated correlation matrix of the parameter estimates.\",\"type\":\"standalone\"},{\"name\":\"COVB\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays the estimated covariances of the parameter estimates.\",\"type\":\"standalone\"},{\"name\":\"COVEST=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the type of covariance matrix.\",\"help\":\"COVEST=OP | HESSIAN | QML\",\"type\":\"choice\",\"arguments\":[{\"name\":\"OP\",\"followsDelimiter\":\"/\",\"description\":\"Specifies the covariance from the outer product matrix.\",\"type\":\"standalone\"},{\"name\":\"HESSIAN\",\"followsDelimiter\":\"/\",\"description\":\"Specifies the covariance from the Hessian matrix.\",\"type\":\"standalone\"},{\"name\":\"QML\",\"followsDelimiter\":\"/\",\"description\":\"Specifies the covariance from the outer product and Hessian matrices.\",\"type\":\"standalone\"}]},{\"name\":\"HALTONSTART=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the starting point of the Halton sequence. The specified number must be a positive integer. The default is HALTONSTART=11.\",\"help\":\"HALTONSTART=*number*\",\"type\":\"value\"},{\"name\":\"HEV=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies options that are used to estimate the HEV model. The HEV model with a unit scale for the alternative 1 is estimated using the following SAS statement: model y = x1 x2 x3 / hev=(unitscale=1); The following options can be used in the HEV=() option. These options are listed within parentheses and separated by commas: INTORDER=number specifies the number of summation terms for Gaussian quadrature integration. The default is INTORDER=40. The maximum order is limited to 45. UNITSCALE=number-list specifies restrictions on scale parameters of stochastic utility components.\",\"help\":\"HEV=INTORDER= | UNITSCALE= | INTEGRATE=\",\"type\":\"choice\",\"arguments\":[{\"name\":\"INTORDER=\",\"type\":\"value\"},{\"name\":\"UNITSCALE=\",\"type\":\"value\"},{\"name\":\"INTEGRATE=\",\"type\":\"value\"}]},{\"name\":\"INITIAL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"START=\"],\"description\":\"Specifies initial values for some or all of the parameter estimates. The values specified are assigned to model parameters in the same order in which the parameter estimates are displayed in the MDC procedure output.\",\"type\":\"value\"},{\"name\":\"ITPPRINT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays the initial parameter estimates, convergence criteria, and constraints of the optimization.\",\"type\":\"standalone\"},{\"name\":\"MAXITER=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Sets the maximum number of iterations allowed. The MAXITER= option overrides the MAXITER= option in the NLOPTIONS statement. The default is MAXITER=100.\",\"help\":\"MAXITER=*number*\",\"type\":\"value\"},{\"name\":\"MIXED=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies options that are used for mixed logit estimation. The following options can be used in the MIXED=() option. The options are listed within parentheses and separated by commas: LOGNORMALPARM=variables specifies the variables whose random coefficients are lognormally distributed. NORMALEC=variables specifies the error component variables whose coefficients have a normal distribution NORMALPARM=variables specifies the variables whose random coefficients are normally distributed. UNIFORMEC=variables specifies the error component variables whose coefficients have a uniform distribution\",\"help\":\"MIXED=LOGNORMALPARM= | NORMALEC= | NORMALPARM= | UNIFORMEC= | UNIFORMPARM=\",\"type\":\"choice\",\"arguments\":[{\"name\":\"LOGNORMALPARM=\",\"type\":\"value\"},{\"name\":\"NORMALEC=\",\"type\":\"value\"},{\"name\":\"NORMALPARM=\",\"type\":\"value\"},{\"name\":\"UNIFORMEC=\",\"type\":\"value\"},{\"name\":\"UNIFORMPARM=\",\"type\":\"value\"}]},{\"name\":\"NCHOICE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the number of choices for multinomial choice models when all individuals have the same choice set.\",\"help\":\"NCHOICE=*number*\",\"type\":\"value\"},{\"name\":\"NOPRINT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Suppresses all displayed output.\",\"type\":\"standalone\"},{\"name\":\"NSIMUL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the number of simulations when the mixed logit or multinomial probit model is estimated. The default is NSIMUL=100.\",\"help\":\"NSIMUL=*number*\",\"type\":\"value\"},{\"name\":\"OPTMETHOD=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the optimization technique when the estimation method uses nonlinear optimization.\",\"help\":\"OPTMETHOD=QN | NR | TR\",\"type\":\"choice\",\"arguments\":[{\"name\":\"QN\",\"followsDelimiter\":\"/\",\"description\":\"Specifies the quasi-Newton method.\",\"type\":\"standalone\"},{\"name\":\"NR\",\"followsDelimiter\":\"/\",\"description\":\"Specifies the Newton-Raphson method.\",\"type\":\"standalone\"},{\"name\":\"TR\",\"followsDelimiter\":\"/\",\"description\":\"Specifies the trust region method.\",\"type\":\"standalone\"}]},{\"name\":\"RANDINIT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies that initial parameter values be perturbed by uniform pseudo-random numbers for numerical optimization of the objective function. The default is U(-1,1).When the RANDINIT=r option is specified, U(-r,r) pseudo-random numbers are generated. The value r should be positive.\",\"type\":\"value\"},{\"name\":\"RANDNUM=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the type of the random number generator used for simulation. RANDNUM=HALTON is the default.\",\"help\":\"RANDNUM=PSEUDO | HALTON\",\"type\":\"choice\",\"arguments\":[{\"name\":\"PSEUDO\",\"followsDelimiter\":\"/\",\"description\":\"Specifies pseudo-random number generation.\",\"type\":\"standalone\"},{\"name\":\"HALTON\",\"followsDelimiter\":\"/\",\"description\":\"Specifies Halton sequence generation.\",\"type\":\"standalone\"}]},{\"name\":\"RANK\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies that the dependent variable contain ranks. The numbers must be positive integers starting from 1. When the dependent variable has value 1, the corresponding alternative is chosen. This option is provided only as a convenience to the user: the extra information contained in the ranks is not currently used for estimation purposes.\",\"type\":\"standalone\"},{\"name\":\"RESTART=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies options that are used for reiteration of the optimization problem. The following options can be used in the RESTART=() option. The options are listed within parentheses. ADDMAXIT=number specifies the maximum number of iterations for the second stage of the estimation. The default is ADDMAXIT=100. ADDRANDOM | ADDRANDOM=r specifies random added values to the estimates from the initial stage. With the ADDRANDOM option, U(-1,1) random numbers are created and added to the estimates obtained in the initial stage. When the ADDRANDOM=r option is specified, U(-r,r) random numbers are generated. The restart initial value is determined based on the given number of random searches (1000 for conditional or nested logit, and 500 for other models).\",\"help\":\"RESTART=ADDMAXIT= | ADDRANDOM | ADDRANDOM= | ADDVALUE=\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ADDMAXIT=\",\"type\":\"value\"},{\"name\":\"ADDRANDOM\",\"type\":\"standalone\"},{\"name\":\"ADDRANDOM=\",\"type\":\"value\"},{\"name\":\"ADDVALUE=\",\"type\":\"value\"}]},{\"name\":\"SAMESCALE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies that the parameters of the inclusive values be the same within a group at each level when the nested logit is estimated.\",\"type\":\"standalone\"},{\"name\":\"SEED=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies an initial seed for pseudo-random number generation. The SEED= value must are less than 2³¹-1. If the SEED= value is negative or zero, the time of day from the computer’s clock is used to obtain the initial seed. The default is SEED=0.\",\"help\":\"SEED=*number*\",\"type\":\"value\"},{\"name\":\"SPSCALE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies that the parameters of the inclusive values be the same for any choice with only one nested choice within a group, for each level in a nested logit model. This option is useful in analyzing stated preference data.\",\"type\":\"standalone\"},{\"name\":\"TYPE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the type of model to be analyzed.\",\"help\":\"TYPE=CONDITIONLOGIT|CLOGIT|CL | HEV | MIXEDLOGIT|MXL | MULTINOMPROBIT|MPROBIT|MP | NESTEDLOGIT|NLOGIT|NL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"CONDITIONLOGIT\",\"followsDelimiter\":\"/\",\"description\":\"Specifies a conditional logit model.\",\"help\":\"CONDITIONLOGIT|CLOGIT|CL\",\"type\":\"choice\"},{\"name\":\"HEV\",\"followsDelimiter\":\"/\",\"description\":\"Specifies a heteroscedastic extreme-value model.\",\"type\":\"standalone\"},{\"name\":\"MIXEDLOGIT\",\"followsDelimiter\":\"/\",\"description\":\"Specifies a mixed logit model.\",\"help\":\"MIXEDLOGIT|MXL\",\"type\":\"choice\"},{\"name\":\"MULTINOMPROBIT\",\"followsDelimiter\":\"/\",\"description\":\"Specifies a multinomial probit model.\",\"help\":\"MULTINOMPROBIT|MPROBIT|MP\",\"type\":\"choice\"},{\"name\":\"NESTEDLOGIT\",\"followsDelimiter\":\"/\",\"description\":\"Specifies a nested logit model.\",\"help\":\"NESTEDLOGIT|NLOGIT|NL\",\"type\":\"choice\"}]},{\"name\":\"UNITVARIANCE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies normalization restrictions on error variances of multinomial probit for the choices whose numbers are given in the list.\",\"type\":\"value\"}]},{\"name\":\"NEST\",\"description\":\"The NEST statement is used when one choice variable contains all possible alternatives and the TYPE=NLOGIT option is specified. The decision tree is constructed based on the NEST statement. When the choice set is specified using multiple CHOICE= variables in the MODEL statement, the NEST statement is ignored.\",\"help\":\"NEST &lt;LEVEL(level-number )= ( choices@choice, ...)&gt;\",\"arguments\":[{\"name\":\"LEVEL=\",\"optional\":true,\"description\":\"Used to specify the tree structure to be built. For example: nest level(1) = (1 2 3 @ 1, 4 5 6 @ 2, 7 8 @ 3), level(2) = (3 @ 2, 1 2 @ 1), level(3) = (1 2 @ 1);\",\"type\":\"value\"}]},{\"name\":\"NLOPTIONS\",\"description\":\"PROC MDC uses the nonlinear optimization (NLO) subsystem to perform nonlinear optimization tasks. The NLOPTIONS statement specifies nonlinear optimization options. The NLOPTIONS statement must follow the MODEL statement.\",\"help\":\"NLOPTIONS &lt;ABSCONV= | ABSTOL=r&gt;&lt;ABSFCONV=r[n] | ABSFTOL=r[n&gt;&lt;ABSGCONV=r[n] | ABSGTOL=r[n&gt; ...\",\"arguments\":[{\"name\":\"ABSCONV=\",\"optional\":true,\"aliases\":[\"ABSTOL=\"],\"description\":\"Specifies an absolute function convergence criterion. The default value of r is the negative square root of the largest double-precision value, which serves only as a protection against overflows.\",\"type\":\"value\"},{\"name\":\"ABSFCONV=\",\"optional\":true,\"aliases\":[\"ABSFTOL=\"],\"description\":\"Specifies an absolute function convergence criterion. The default value is r=0. The optional integer value n specifies the number of successive iterations for which the criterion must be satisfied before the process can be terminated.\",\"type\":\"value\"},{\"name\":\"ABSGCONV=\",\"optional\":true,\"aliases\":[\"ABSGTOL=\"],\"description\":\"Specifies an absolute gradient convergence criterion. The default value is r=1E-5. The optional integer value n specifies the number of successive iterations for which the criterion must be satisfied before the process can be terminated.\",\"type\":\"value\"},{\"name\":\"ABSXCONV=\",\"optional\":true,\"aliases\":[\"ABSXTOL=\"],\"description\":\"Specifies the absolute parameter convergence criterion. The default is r=1E-8 for the NMSIMP technique and r=0 otherwise. The optional integer value n specifies the number of successive iterations for which the criterion must be satisfied before the process can terminate.\",\"type\":\"value\"},{\"name\":\"DAMPSTEP=\",\"optional\":true,\"description\":\"Specifies that the initial step length value a⁰ for each line search (used by the QUANEW, HYQUAN, CONGRA, or NEWRAP technique) cannot be larger than r times the step length value used in the former iteration. If the DAMPSTEP option is specified but r is not specified, the default is r=2. The DAMPSTEP=r option can prevent the line-search algorithm from repeatedly stepping into regions where some objective functions are difficult to compute or where they could lead to floating point overflows during the computation of objective functions and their derivatives. The DAMPSTEP=r option can save time-costly function calls during the line searches of objective functions that result in very small steps.\",\"type\":\"value\"},{\"name\":\"FCONV2=\",\"optional\":true,\"aliases\":[\"FTOL2=\"],\"description\":\"Specifies another function convergence criterion.\",\"type\":\"value\"},{\"name\":\"FCONV=\",\"optional\":true,\"aliases\":[\"FTOL=\"],\"description\":\"Specifies a relative function convergence criterion.\",\"type\":\"value\"},{\"name\":\"FSIZE=\",\"optional\":true,\"description\":\"Specifies the FSIZE parameter of the relative function and relative gradient termination criteria. The default value is r=0.\",\"help\":\"FSIZE=*r*\",\"type\":\"value\"},{\"name\":\"GCONV=\",\"optional\":true,\"aliases\":[\"GTOL=\"],\"description\":\"Specifies a relative gradient convergence criterion. The default value is r=1E-8. The optional integer value n specifies the number of successive iterations for which the criterion must be satisfied before the process can terminate.\",\"type\":\"value\"},{\"name\":\"HESCAL=\",\"optional\":true,\"aliases\":[\"HS=\"],\"description\":\"Specifies the scaling version of the Hessian matrix used in NRRIDG, TRUREG, NEWRAP, or DBLDOG optimization.\",\"help\":\"HESCAL=0 | 1 | 2 | 3\",\"type\":\"choice\",\"arguments\":[{\"name\":\"0\",\"description\":\"Specifies that no scaling is done.\",\"type\":\"standalone\"},{\"name\":\"1\",\"description\":\"Specifies the Moré (1978) scaling update\",\"type\":\"standalone\"},{\"name\":\"2\",\"description\":\"Specifies the Dennis, Gay, and Welsch (1981) scaling update\",\"type\":\"standalone\"},{\"name\":\"3\",\"description\":\"Specifies that di is reset in each iteration\",\"type\":\"standalone\"}]},{\"name\":\"INHESSIAN=\",\"optional\":true,\"aliases\":[\"INHESS=\"],\"description\":\"Specifies how the initial estimate of the approximate Hessian is defined for the quasi-Newton techniques QUANEW and DBLDOG.\",\"type\":\"value\"},{\"name\":\"INSTEP=\",\"optional\":true,\"description\":\"Reduces the length of the first trial step during the line search of the first iterations.\",\"help\":\"INSTEP=*r*\",\"type\":\"value\"},{\"name\":\"LINESEARCH=\",\"optional\":true,\"aliases\":[\"LIS=\"],\"description\":\"Specifies the line-search method for the CONGRA, QUANEW, and NEWRAP optimization techniques.\",\"help\":\"LINESEARCH=1 | 2 | 3 | 4 | 5 | 6 | 7 | 8\",\"type\":\"choice\",\"arguments\":[{\"name\":\"1\",\"description\":\"Specifies a line-search method that needs the same number of function and gradient calls for cubic interpolation and cubic extrapolation; this method is similar to one used by the Harwell subroutine library.\",\"type\":\"standalone\"},{\"name\":\"2\",\"description\":\"Specifies a line-search method that needs more function calls than gradient calls for quadratic and cubic interpolation and cubic extrapolation; this method is implemented as shown in Fletcher (1987) and can be modified to an exact line search by using the LSPRECISION= option.\",\"type\":\"standalone\"},{\"name\":\"3\",\"description\":\"Specifies a line-search method that needs the same number of function and gradient calls for cubic interpolation and cubic extrapolation; this method is implemented as shown in Fletcher (1987) and can be modified to an exact line search by using the LSPRECISION= option.\",\"type\":\"standalone\"},{\"name\":\"4\",\"description\":\"Specifies a line-search method that needs the same number of function and gradient calls for stepwise extrapolation and cubic interpolation\",\"type\":\"standalone\"},{\"name\":\"5\",\"description\":\"Specifies a line-search method that is a modified version of LIS=4.\",\"type\":\"standalone\"},{\"name\":\"6\",\"description\":\"Specifies golden section line search (Polak 1971), which uses only function values for linear approximation.\",\"type\":\"standalone\"},{\"name\":\"7\",\"description\":\"Specifies bisection line search (Polak 1971), which uses only function values for linear approximation.\",\"type\":\"standalone\"},{\"name\":\"8\",\"description\":\"Specifies Armijo line-search technique (Polak 1971), which uses only function values for linear approximation.\",\"type\":\"standalone\"}]},{\"name\":\"LSPRECISION=\",\"optional\":true,\"aliases\":[\"LSP=\"],\"description\":\"Specifies the degree of accuracy that should be obtained by the line-search algorithms LIS=2 and LIS=3. The default LSPRECISION= values are:\",\"type\":\"value\"},{\"name\":\"MAXFUNC=\",\"optional\":true,\"aliases\":[\"MAXFU=\"],\"description\":\"Requires the number of function calls to be no larger than i. The default values are:\",\"type\":\"value\"},{\"name\":\"MAXITER=\",\"optional\":true,\"aliases\":[\"MAXIT=\"],\"description\":\"Requires the number of iterations to be no larger than i. The default values are: o For TECH= TRUREG, NRRIDG, NEWRAP: i=50 o For TECH= QUANEW, DBLDOG: i=200 o For TECH= CONGRA: i=400 o For TECH= NMSIMP: i=1000 These default values are also valid when i is specified as a missing value.\",\"type\":\"value\"},{\"name\":\"MAXSTEP=\",\"optional\":true,\"description\":\"Specifies an upper bound for the step length of the line-search algorithms during the first n iterations.\",\"help\":\"MAXSTEP=*r[n*\",\"type\":\"value\"},{\"name\":\"MAXTIME=\",\"optional\":true,\"description\":\"Requires the CPU time to be no larger than r. The default value of the MAXTIME= option is the largest double floating-point number on your computer. Note that the time specified by the MAXTIME= option is checked only once at the end of each iteration. Therefore, the actual running time can be much longer than that specified by the MAXTIME= option. The actual running time includes the rest of the time needed to finish the iteration and the time needed to generate the output of the results.\",\"help\":\"MAXTIME=*r*\",\"type\":\"value\"},{\"name\":\"MINITER=\",\"optional\":true,\"aliases\":[\"MINIT=\"],\"description\":\"Specifies the minimum number of iterations. The default value is 0. If you request more iterations than are actually needed for convergence to a stationary point, the optimization algorithms can behave strangely. For example, the effect of rounding errors can prevent the algorithm from continuing for the required number of iterations.\",\"type\":\"value\"},{\"name\":\"NOPRINT\",\"optional\":true,\"description\":\"Suppresses the output.\",\"type\":\"standalone\"},{\"name\":\"PALL\",\"optional\":true,\"description\":\"[Displays all optional output for optimization.\",\"type\":\"standalone\"},{\"name\":\"PHISTORY\",\"optional\":true,\"description\":\"Displays the optimization history.\",\"type\":\"standalone\"},{\"name\":\"PHISTPARMS\",\"optional\":true,\"description\":\"Display parameter estimates in each iteration.\",\"type\":\"standalone\"},{\"name\":\"PINIT\",\"optional\":true,\"description\":\"Displays the initial values and derivatives (if available).\",\"type\":\"standalone\"},{\"name\":\"PSHORT\",\"optional\":true,\"description\":\"Restricts the amount of default output.\",\"type\":\"standalone\"},{\"name\":\"PSUMMARY\",\"optional\":true,\"description\":\"Restricts the amount of default displayed output to a short form of iteration history and notes, warnings, and errors.\",\"type\":\"standalone\"},{\"name\":\"RESTART=\",\"optional\":true,\"aliases\":[\"REST=\"],\"description\":\"Specifies that the QUANEW or CONGRA algorithm is restarted with a steepest descent/ascent search direction after, at most, i iterations, i > 0.\",\"type\":\"value\"},{\"name\":\"SOCKET=\",\"optional\":true,\"description\":\"Specifies the fileref that contains the information needed for remote monitoring.\",\"type\":\"value\"},{\"name\":\"TECHNIQUE=\",\"optional\":true,\"aliases\":[\"TECH=\"],\"description\":\"Specifies the optimization technique.\",\"help\":\"TECHNIQUE=CONGRA | DBLDOG | NMSIMP | NEWRAP | NRRIDG | QUANEW | TRUREG | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"CONGRA\",\"description\":\"Chooses one of four different conjugate-gradient optimization algorithms, which can be more precisely defined with the UPDATE= option and modified with the LINESEARCH= option.\",\"type\":\"standalone\"},{\"name\":\"DBLDOG\",\"description\":\"Performs a version of double-dogleg optimization, which uses the gradient to update an approximation of the Cholesky factor of the Hessian.\",\"type\":\"standalone\"},{\"name\":\"NMSIMP\",\"description\":\"Performs a Nelder-Mead simplex optimization.\",\"type\":\"standalone\"},{\"name\":\"NEWRAP\",\"description\":\"Performs a usually stable but, for large problems, memory- and time-consuming Newton-Raphson optimization technique. The algorithm combines a line-search algorithm with ridging, and it can be modified with the LINESEARCH= option.\",\"type\":\"standalone\"},{\"name\":\"NRRIDG\",\"description\":\"Performs a usually stable but, for large problems, memory- and time-consuming Newton-Raphson optimization technique. This algorithm does not perform a line search.\",\"type\":\"standalone\"},{\"name\":\"QUANEW\",\"description\":\"Chooses one of four different quasi-Newton optimization algorithms that can be more precisely defined with the UPDATE= option and modified with the LINESEARCH= option.\",\"type\":\"standalone\"},{\"name\":\"TRUREG\",\"description\":\"Performs a usually very stable but, for large problems, memory- and time-consuming trust-region optimization technique. The algorithm is implemented similar to Gay (1983) and Moré and Sorensen (1983).\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"Does not perform any optimization. This option is similar to METHOD=NONE, but TECH=NONE also computes and displays residuals and goodness of fit statistics.\",\"type\":\"standalone\"}]},{\"name\":\"UPDATE=\",\"optional\":true,\"aliases\":[\"UPD=\"],\"description\":\"Specifies the update method for the quasi-Newton, double-dogleg, or conjugate-gradient optimization technique.\",\"help\":\"UPDATE=BFGS | DBFGS | DDFP | DFP | PB | FR | PR | CD\",\"type\":\"choice\",\"arguments\":[{\"name\":\"BFGS\",\"description\":\"Performs the original Broyden, Fletcher, Goldfarb, and Shanno (BFGS) update of the inverse Hessian matrix.\",\"type\":\"standalone\"},{\"name\":\"DBFGS\",\"description\":\"Performs the dual BFGS update of the Cholesky factor of the Hessian matrix. This is the default update method.\",\"type\":\"standalone\"},{\"name\":\"DDFP\",\"description\":\"Performs the dual Davidon, Fletcher, and Powell (DFP) update of the Cholesky factor of the Hessian matrix.\",\"type\":\"standalone\"},{\"name\":\"DFP\",\"description\":\"Performs the original DFP update of the inverse Hessian matrix.\",\"type\":\"standalone\"},{\"name\":\"PB\",\"description\":\"Performs the automatic restart update method of Powell (1977) and Beale (1972).\",\"type\":\"standalone\"},{\"name\":\"FR\",\"description\":\"Performs the Fletcher-Reeves update (Fletcher 1987).\",\"type\":\"standalone\"},{\"name\":\"PR\",\"description\":\"Performs the Polak-Ribiere update (Fletcher 1987).\",\"type\":\"standalone\"},{\"name\":\"CD\",\"description\":\"Performs a conjugate-descent update of Fletcher (1987).\",\"type\":\"standalone\"}]},{\"name\":\"XCONV=\",\"optional\":true,\"aliases\":[\"XTOL=\"],\"description\":\"Specifies the relative parameter convergence criterion. For all techniques except NMSIMP, termination requires a small relative parameter change in subsequent iterations. The default value is r=1E-8 for the NMSIMP technique and r=0 otherwise. The optional integer value n specifies the number of successive iterations for which the criterion must be satisfied before the process can be terminated.\",\"type\":\"value\"},{\"name\":\"XSIZE=\",\"optional\":true,\"description\":\"Specifies the XSIZE parameter of the relative parameter termination criterion. The default value is r=0.\",\"type\":\"value\"}]},{\"name\":\"OUTPUT\",\"description\":\"The MDC procedure supports the OUTPUT statement. The OUTPUT statement creates a new SAS data set that contains all the variables in the input data set and, optionally, the estimated linear predictors (XBETA) and predicted probabilities (P). The input data set must be sorted by the choice variable(s) within each ID.\",\"help\":\"OUTPUT &lt;OUT=SAS-data-set&gt;&lt;PRED=variable name&gt;&lt;XBETA=variable name&gt; ...\",\"arguments\":[{\"name\":\"OUT=\",\"optional\":true,\"description\":\"Specifies the name of the output data set.\",\"help\":\"OUT=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"PRED=\",\"optional\":true,\"aliases\":[\"P=\"],\"description\":\"Requests the predicted probabilities by naming the variable that contains the predicted probabilities in the output data set.\",\"type\":\"value\"},{\"name\":\"XBETA=\",\"optional\":true,\"description\":\"Names the variable that contains the linear predictor (x'β) values. However, the XBETA= option is not supported in the nested logit model.\",\"type\":\"value\"}]},{\"name\":\"RESTRICT\",\"description\":\"The RESTRICT statement is used to impose linear restrictions on the parameter estimates. You can specify any number of RESTRICT statements. Each restriction is written as an expression, followed by an equality operator (=) or an inequality operator (<, >, ≤, ≥ ), followed by a second expression: expression operator expression The operator can be =, <, >, ≤, or ≥ . Restriction expressions can be composed of parameters; multiplication (*), summation (+), and substraction (-) operators; and constants. Parameters named in restriction expressions must be among the parameters estimated by the model. Parameters associated with a regressor variable are referred to by the name of the corresponding regressor variable. The restriction expressions must be a linear function of the parameters.\",\"help\":\"RESTRICT restriction1 &lt; , restriction2 ...&gt; \"},{\"name\":\"TEST\",\"description\":\"The TEST statement performs Wald, Lagrange multiplier, and likelihood ratio tests of linear hypotheses about the regression parameters in the preceding MODEL statement. Each equation specifies a linear hypothesis to be tested. All hypotheses in one TEST statement are tested jointly. Variable names in the equations must correspond to regressors in the preceding MODEL statement, and each name represents the coefficient of the corresponding regressor. The keyword INTERCEPT refers to the coefficient of the intercept.\",\"help\":\"TEST &lt;ALL&gt;&lt;LM&gt;&lt;WALD&gt; ...\",\"arguments\":[{\"name\":\"ALL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests Wald, Lagrange multiplier, and likelihood ratio tests.\",\"type\":\"standalone\"},{\"name\":\"LM\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests the Lagrange multiplier test.\",\"type\":\"standalone\"},{\"name\":\"LR\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests the likelihood ratio test.\",\"type\":\"standalone\"},{\"name\":\"WALD\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests the Wald test.\",\"type\":\"standalone\"}]},{\"name\":\"UTILITY\",\"description\":\"The UTILITY statement can be used in estimating a nested logit model. The U()= option can have two arguments. The first argument contains level information, while the second argument is related to choice information. The second argument can be omitted for the first level when all the choices at the first level share the same variables and the same parameters. However, for any level above the first, the second argument must be provided. The UTILITY statement specifies a utility function while the NEST statement constructs the decision tree.\",\"help\":\"UTILITY U(level &lt; , choices&gt; )= variables \"}],\"supportSiteInformation\":{\"docsetId\":\"etsug\",\"docsetVersion\":\"latest\",\"docsetTargetFile\":\"etsug_mdc_toc.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/MDS.json",
    "content": "{\"name\":\"MDS\",\"statements\":[{\"name\":\"PROC MDS\",\"description\":\"Multidimensional scaling (MDS) refers to a class of methods. These methods estimate coordinates for a set of objects in a space of specified dimensionality. The input data are measurements of distances between pairs of objects.\",\"help\":\"PROC MDS <ALTERNATE=NONE | MATRIX | ROW><COEF=IDENTITY | DIAGONAL><CONDITION=UN | MATRIX | ROW><CONVERGE=p><CUTOFF=n><DATA=SAS-data-set><DECIMALS=n | DEC=n><DIMENSION | DIMENS | DIM=n <TO m < BY=i>>><EPSILON | EPS=n><FIT=DISTANCE | SQUARED | LOG... ><FORMULA=0|OLS|O | 1|USS|U | 2|CSS|C><GCONVERGE | GCONV=p><INAV=DATA|D | SSCP|S><INITIAL= | IN=SAS-data-set><LEVEL=ABSOLUTE|ABS|A | RATIO|RAT|R | INTERVALINT|I... ><MAXITER= | ITER=n><MCONVERGE= | MCONV=p><MINCRIT= | CRITMIN=n><NEGATIVE><NONORM><NOPHIST><NOULB><OCOEF><OCONFIG><OCRIT><OITER><OTRANS><OUT=SAS-data-set><OUTFIT=SAS-data-set><OUTRES=SAS-data-set><OVER=n><PCOEF><PCONFIG><PDATA><PFINAL><PFIT><PFITROW><PINAVDATA><PINEIGVAL><PINEIGVEC><PININ><PINIT><PITER><PLOTS=COEFFICIENTS(ONE) | NONE><PTRANS><RANDOM<=seed>><RIDGE=n><SHAPE=SQUARE|SQU|S | TRIANGLE|TRIANGULAR|TRI|T><SIMILAR | SIM<=max>><SINGULAR=p><UNTIE>;     \\n\\tBY <DESCENDING><NOTSORTED> ;\\n\\n\\tID variables ;\\n\\n\\tINVAR variables;\\n\\n\\tMATRIX | MAT | SUBJECT | SUB variable ;\\n\\n\\tVAR variables;\\n\\n\\tWEIGHT variable;\\n\",\"arguments\":[{\"name\":\"ALTERNATE=\",\"optional\":true,\"aliases\":[\"ALT=\"],\"description\":\"Determines what form of alternating-least-squares algorithm is used.\",\"help\":\"ALTERNATE=NONE | MATRIX | ROW\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NONE\",\"description\":\"Causes all parameters to be adjusted simultaneously on each iteration.\",\"type\":\"standalone\"},{\"name\":\"MATRIX\",\"description\":\"Adjusts all the parameters for the first subject, then all the parameters for the second subject, and so on, and finally adjusts all parameters that do not correspond to a subject, such as coordinates and unconditional transformations.\",\"type\":\"standalone\"},{\"name\":\"ROW\",\"description\":\"Treats subject parameters the same way as the ALTERNATE=MATRIX option but also includes separate stages for unconditional parameters and for subsets of the objects.\",\"type\":\"standalone\"}]},{\"name\":\"COEF=\",\"optional\":true,\"description\":\"Specifies the type of matrix for the dimension coefficients.\",\"help\":\"COEF=IDENTITY | DIAGONAL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"IDENTITY\",\"description\":\"Is the default, which yields Euclidean distances.\",\"type\":\"standalone\"},{\"name\":\"DIAGONAL\",\"description\":\"Produces weighted Euclidean distances, in which each subject can have different weights for the dimensions.\",\"type\":\"standalone\"}]},{\"name\":\"CONDITION=\",\"optional\":true,\"aliases\":[\"COND=\"],\"description\":\"Specifies the conditionality of the data.\",\"help\":\"CONDITION=UN | MATRIX | ROW\",\"type\":\"choice\",\"arguments\":[{\"name\":\"UN\",\"description\":\"(Unconditional) puts all the data into a single partition.\",\"type\":\"standalone\"},{\"name\":\"MATRIX\",\"description\":\"(Matrix conditional) makes each data matrix a partition.\",\"type\":\"standalone\"},{\"name\":\"ROW\",\"description\":\"(Row conditional) makes each row of each data matrix a partition.\",\"type\":\"standalone\"}]},{\"name\":\"CONVERGE=\",\"optional\":true,\"aliases\":[\"CONV=\"],\"description\":\"Sets both the gradient convergence criterion and the monotone convergence criterion to p, where 0 ≤ p ≤ 1. The default is CONVERGE=0.01; smaller values might greatly increase the number of iterations required.\",\"help\":\"CONVERGE=*p*\",\"type\":\"value\"},{\"name\":\"CUTOFF=\",\"optional\":true,\"description\":\"Replaces data values less than n with missing values. The default is CUTOFF=0.\",\"help\":\"CUTOFF=*n*\",\"type\":\"value\"},{\"name\":\"DATA=\",\"optional\":true,\"description\":\"Specifies the SAS data set containing one or more square matrices to be analyzed.\",\"help\":\"DATA=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"DECIMALS=\",\"optional\":true,\"aliases\":[\"DEC=\"],\"description\":\"Specifies how many decimal places to use when displaying the parameter estimates and fit statistics. The default is DECIMALS=2.\",\"type\":\"value\"},{\"name\":\"DIMENSION=\",\"optional\":true,\"description\":\"Specifies the number of dimensions to use in the MDS model.\",\"help\":\"DIMENSION=TO | BY\",\"type\":\"choice\",\"arguments\":[{\"name\":\"TO\",\"type\":\"standalone\"},{\"name\":\"BY\",\"type\":\"standalone\"}]},{\"name\":\"EPSILON=\",\"optional\":true,\"aliases\":[\"EPS=\"],\"description\":\"Specifies a number n, 0 < n < 1, that determines the amount added to squared distances computed from the model to avoid numerical problems such as division by 0.\",\"type\":\"value\"},{\"name\":\"FIT=\",\"optional\":true,\"description\":\"Specifies a predetermined (not estimated) transformation to apply to both sides of the MDS model before the error term is added.\",\"help\":\"FIT=DISTANCE | SQUARED | LOG | &lt;*n*&gt;\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DISTANCE\",\"description\":\"Fits data to distances. This is the default.\",\"type\":\"standalone\"},{\"name\":\"SQUARED\",\"description\":\"Fits squared data to squared distances.\",\"type\":\"standalone\"},{\"name\":\"LOG\",\"description\":\"Fits log data to log distances.\",\"type\":\"standalone\"},{\"name\":\"n\",\"placeholder\":true,\"description\":\"Fits nth-power data to nth-power distances. Replace n with actual value.\",\"type\":\"value\"}]},{\"name\":\"FORMULA=\",\"optional\":true,\"aliases\":[\"FOR=\"],\"description\":\"Determines how the badness-of-fit criterion is standardized in correspondence with stress formulas 1 and 2 (Kruskal and Wish 1978, pp. 24–26). The default is FORMULA=1 unless you specify FIT=LOG, in which case the default is FORMULA=2.\",\"help\":\"FORMULA=0 | 1 | 2\",\"type\":\"choice\",\"arguments\":[{\"name\":\"0\",\"aliases\":[\"OLS\",\"O\"],\"description\":\"Fits a regression model by ordinary least squares (Null and Sarle; 1982) without standardizing the partitions.\",\"type\":\"standalone\"},{\"name\":\"1\",\"aliases\":[\"USS\",\"U\"],\"description\":\"Standardizes each partition by the uncorrected sum of squares of the (possibly transformed) data; this option should not be used with the FIT=LOG option.\",\"type\":\"standalone\"},{\"name\":\"2\",\"aliases\":[\"CSS\",\"C\"],\"description\":\"Standardizes each partition by the corrected sum of squares of the (possibly transformed) data; this option is the recommended method for unfolding.\",\"type\":\"standalone\"}]},{\"name\":\"GCONVERGE=\",\"optional\":true,\"aliases\":[\"GCONV=\"],\"description\":\"Sets the gradient convergence criterion to p, where 0 ≤ p ≤ 1.\",\"type\":\"value\"},{\"name\":\"INAV=\",\"optional\":true,\"description\":\"Affects the computation of initial coordinates. The default is INAV=DATA.\",\"help\":\"INAV=DATA | SSCP\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DATA\",\"aliases\":[\"D\"],\"description\":\"Computes a weighted average of the data matrices.\",\"type\":\"standalone\"},{\"name\":\"SSCP\",\"aliases\":[\"S\"],\"description\":\"Estimates missing values in each data matrix and converts each data matrix to a scalar products matrix.\",\"type\":\"standalone\"}]},{\"name\":\"INITIAL=\",\"optional\":true,\"aliases\":[\"IN=\"],\"description\":\"Specifies a SAS data set containing initial values for some or all of the parameters of the MDS model. If the INITIAL= option is omitted, the initial values are computed from the data.\",\"type\":\"value\"},{\"name\":\"LEVEL=\",\"optional\":true,\"description\":\"Specifies the measurement level of the data and hence the type of estimated (optimal) transformations applied to the data or distances (Young 1987, pp. 57–60; Krantz et al. 1971, pp. 9–12) within each partition as specified by the CONDITION= option.\",\"help\":\"LEVEL=ABSOLUTE | RATIO | INTERVALINT | LOGINTERVAL | ORDINAL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ABSOLUTE\",\"aliases\":[\"ABS\",\"A\"],\"description\":\"Permits no optimal transformations. Hence, the distinction between regression and measurement models is irrelevant.\",\"type\":\"standalone\"},{\"name\":\"RATIO\",\"aliases\":[\"RAT\",\"R\"],\"description\":\"Fits a regression model in which the distances are multiplied by a slope parameter in each partition (a linear transformation).\",\"type\":\"standalone\"},{\"name\":\"INTERVALINT\",\"aliases\":[\"I\"],\"description\":\"Fits a regression model in which the distances are multiplied by a slope parameter and added to an intercept parameter in each partition (an affine transformation).\",\"type\":\"standalone\"},{\"name\":\"LOGINTERVAL\",\"aliases\":[\"LOG\",\"L\"],\"description\":\"Fits a regression model in which the distances are raised to a power and multiplied by a slope parameter in each partition (a power transformation).\",\"type\":\"standalone\"},{\"name\":\"ORDINAL\",\"aliases\":[\"ORD\",\"O\"],\"description\":\"Fits a measurement model in which a least-squares monotone increasing transformation is applied to the data in each partition.\",\"type\":\"standalone\"}]},{\"name\":\"MAXITER=\",\"optional\":true,\"aliases\":[\"ITER=\"],\"description\":\"Specifies the maximum number of iterations, where n ≥ 0. The default is MAXITER=100.\",\"type\":\"value\"},{\"name\":\"MCONVERGE=\",\"optional\":true,\"aliases\":[\"MCONV=\"],\"description\":\"Sets the monotone convergence criterion to p, where 0 ≤ p ≤ 1, for use with the LEVEL=ORDINAL option. The default is MCONVERGE=0.01\",\"type\":\"value\"},{\"name\":\"MINCRIT=\",\"optional\":true,\"aliases\":[\"CRITMIN=\"],\"description\":\"Causes iteration to terminate when the badness-of-fit criterion is less than or equal to n, where n ≥ 0. The default is MINCRIT=1E–6.\",\"type\":\"value\"},{\"name\":\"NEGATIVE\",\"optional\":true,\"description\":\"Permits slopes or powers to be negative with the LEVEL=RATIO, INTERVAL, or LOGINTERVAL option.\",\"type\":\"standalone\"},{\"name\":\"NONORM\",\"optional\":true,\"description\":\"Suppresses normalization of the initial and final estimates.\",\"type\":\"standalone\"},{\"name\":\"NOPHIST\",\"optional\":true,\"aliases\":[\"NOPRINT\",\"NOP\"],\"description\":\"Suppresses the output of the iteration history.\",\"type\":\"standalone\"},{\"name\":\"NOULB\",\"optional\":true,\"description\":\"Causes missing data to be estimated during initialization by the average nonmissing value, where the average is computed according to the FIT= option.\",\"type\":\"standalone\"},{\"name\":\"OCOEF\",\"optional\":true,\"description\":\"Writes the dimension coefficients to the OUT= data set. See the OUT= option for interactions with other options.\",\"type\":\"standalone\"},{\"name\":\"OCONFIG\",\"optional\":true,\"description\":\"Writes the coordinates of the objects to the OUT= data set. See the OUT= option for interactions with other options.\",\"type\":\"standalone\"},{\"name\":\"OCRIT\",\"optional\":true,\"description\":\"Writes the badness-of-fit criterion to the OUT= data set. See the OUT= option for interactions with other options.\",\"type\":\"standalone\"},{\"name\":\"OITER\",\"optional\":true,\"aliases\":[\"OUTITER\"],\"description\":\"Writes current values to the output data sets after initialization and on every iteration. Otherwise, only the final values are written to any output data sets.\",\"type\":\"standalone\"},{\"name\":\"OTRANS\",\"optional\":true,\"description\":\"Writes the transformation parameter estimates to the OUT= data set if any such estimates are computed.\",\"type\":\"standalone\"},{\"name\":\"OUT=\",\"optional\":true,\"description\":\"Creates a SAS data set containing, by default, the estimates of all the parameters of the PROC MDS model and the value of the badness-of-fit criterion.\",\"help\":\"OUT=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"OUTFIT=\",\"optional\":true,\"description\":\"Creates a SAS data set containing goodness-of-fit and badness-of-fit measures for each partition as well as for the entire data set.\",\"help\":\"OUTFIT=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"OUTRES=\",\"optional\":true,\"description\":\"Creates a SAS data set containing one observation for each nonmissing data value from the DATA= data set.\",\"help\":\"OUTRES=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"OVER=\",\"optional\":true,\"description\":\"Specifies the maximum overrelaxation factor, where n ≥ 1. Values between 1 and 2 are generally reasonable. The default is OVER=2 with the LEVEL=ORDINAL, ALTERNATE=MATRIX, or ALTERNATE=ROW option; otherwise, the default is OVER=1. Use this option only if you have convergence problems.\",\"help\":\"OVER=*n*\",\"type\":\"value\"},{\"name\":\"PCOEF\",\"optional\":true,\"description\":\"Produces the estimated dimension coefficients.\",\"type\":\"standalone\"},{\"name\":\"PCONFIG\",\"optional\":true,\"description\":\"Produces the estimated coordinates of the objects in the configuration.\",\"type\":\"standalone\"},{\"name\":\"PDATA\",\"optional\":true,\"description\":\"Displays each data matrix.\",\"type\":\"standalone\"},{\"name\":\"PFINAL\",\"optional\":true,\"description\":\"Displays final estimates.\",\"type\":\"standalone\"},{\"name\":\"PFIT\",\"optional\":true,\"description\":\"Displays the badness-of-fit criterion and various types of correlations between the data and fitted values for each data matrix, as well as for the entire sample.\",\"type\":\"standalone\"},{\"name\":\"PFITROW\",\"optional\":true,\"description\":\"Displays the badness-of-fit criterion and various types of correlations between the data and fitted values for each row, as well as for each data matrix and for the entire sample. This option works only with the CONDITION=ROW option.\",\"type\":\"standalone\"},{\"name\":\"PINAVDATA\",\"optional\":true,\"description\":\"Displays the sum of the weights and the weighted average of the data matrices computed during initialization with the INAV=DATA option.\",\"type\":\"standalone\"},{\"name\":\"PINEIGVAL\",\"optional\":true,\"description\":\"Displays the eigenvalues computed during initialization.\",\"type\":\"standalone\"},{\"name\":\"PINEIGVEC\",\"optional\":true,\"description\":\"Displays the eigenvectors computed during initialization.\",\"type\":\"standalone\"},{\"name\":\"PININ\",\"optional\":true,\"description\":\"Displays values read from the INITIAL= data set. Since these values might be incomplete, the PFIT and PFITROW options do not apply.\",\"type\":\"standalone\"},{\"name\":\"PINIT\",\"optional\":true,\"description\":\"Displays initial values.\",\"type\":\"standalone\"},{\"name\":\"PITER\",\"optional\":true,\"description\":\"Displays estimates on each iteration.\",\"type\":\"standalone\"},{\"name\":\"PLOTS=\",\"optional\":true,\"description\":\"Specifies options that control the details of the plots. Syntax: PLOTS<(global-plot-option)> <= plot-request <(options)>> PLOTS<(global-plot-options)> <= (plot-request <(options)> <... plot-request <(options)>>)> The global plot option is as follows:\",\"help\":\"PLOTS=COEFFICIENTS(ONE) | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"COEFFICIENTS\",\"description\":\"Combines the INDSCAL coefficients panel of plots into a single plot. By default, the display consists of a panel with two plots. The vectors are displayed in the left plot, and the labels are displayed in the right plot. The right plot provides a magnification of the region of the vector endpoints. In contrast, the single display, requested by COEFFICIENTS(ONE), is more compact, but there is less room for vector labels. It is often easier to identify the vectors in the default display.\",\"help\":\"COEFFICIENTS(ONE)\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"Suppresses all plots.\",\"type\":\"standalone\"}]},{\"name\":\"PTRANS\",\"optional\":true,\"description\":\"Displays the estimated transformation parameters if any are computed.\",\"type\":\"standalone\"},{\"name\":\"RANDOM=\",\"optional\":true,\"description\":\"Causes initial coordinate values to be pseudo-random numbers.\",\"type\":\"value\"},{\"name\":\"RIDGE=\",\"optional\":true,\"description\":\"Specifies the initial ridge value, where n ≥ 0. The default is RIDGE=1E–4.\",\"help\":\"RIDGE=*n*\",\"type\":\"value\"},{\"name\":\"SHAPE=\",\"optional\":true,\"description\":\"Determines whether the entire data matrix for each subject or only one triangle of the matrix is stored and analyzed.\",\"help\":\"SHAPE=SQUARE | TRIANGLE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"SQUARE\",\"aliases\":[\"SQU\",\"S\"],\"description\":\"Causes the entire matrix to be stored and analyzed. The matrix can be asymmetric.\",\"type\":\"standalone\"},{\"name\":\"TRIANGLE\",\"aliases\":[\"TRIANGULAR\",\"TRI\",\"T\"],\"description\":\"Causes only one triangle to be stored. However, PROC MDS reads both upper and lower triangles to look for nonmissing values and to symmetrize the data if needed.\",\"type\":\"standalone\"}]},{\"name\":\"SIMILAR=\",\"optional\":true,\"aliases\":[\"SIM=\"],\"description\":\"Causes the data to be treated as similarity measurements rather than dissimilarities.\",\"type\":\"value\"},{\"name\":\"SINGULAR=\",\"optional\":true,\"description\":\"Specifies the singularity criterion p, 0 ≤ p ≤ 1. The default is SINGULAR=1E–8.\",\"help\":\"SINGULAR=*p*\",\"type\":\"value\"},{\"name\":\"UNTIE\",\"optional\":true,\"description\":\"Permits tied data to be assigned different optimally scaled values with the LEVEL=ORDINAL option.\",\"type\":\"standalone\"}]},{\"name\":\"BY\",\"description\":\"Obtains separate analyses on observations in groups defined by the BY variables.\",\"help\":\"BY &lt;DESCENDING&gt;&lt;NOTSORTED&gt;\",\"arguments\":[{\"name\":\"DESCENDING\",\"optional\":true,\"description\":\"Specifies that the observations are sorted in descending order by the variable that immediately follows the word DESCENDING in the BY statement.\",\"type\":\"standalone\"},{\"name\":\"NOTSORTED\",\"optional\":true,\"description\":\"Specifies that observations are not necessarily sorted in alphabetic or numeric order.\",\"type\":\"standalone\"}]},{\"name\":\"ID\",\"aliases\":[\"OBJECT\",\"OBJ\"],\"description\":\"The ID statement specifies a variable in the DATA= data set that contains descriptive labels for the objects. The labels are used in the output and are copied to the OUT= data set. If there is more than one data matrix, only the ID values from the observations containing the first data matrix are used.\",\"help\":\"ID variables \"},{\"name\":\"INVAR\",\"description\":\"The INVAR statement specifies the numeric variables in the INITIAL= data set that contain initial parameter estimates. The first variable corresponds to the first dimension, the second variable to the second dimension, and so on.\",\"help\":\"INVAR variables\"},{\"name\":\"MATRIX\",\"aliases\":[\"MAT\",\"SUBJECT\",\"SUB\"],\"description\":\"The MATRIX statement specifies a variable in the DATA= data set that contains descriptive labels for the data matrices or subjects. The labels are used in the output and are copied to the OUT= and OUTRES= data sets. Only the first observation from each data matrix is used to obtain the label for that matrix.\",\"help\":\"MATRIX | MAT | SUBJECT | SUB variable \"},{\"name\":\"VAR\",\"description\":\"The VAR statement specifies the numeric variables in the DATA= data set that contain similarity or dissimilarity measurements on a set of objects or stimuli. Each variable corresponds to one object.\",\"help\":\"VAR variables\"},{\"name\":\"WEIGHT\",\"aliases\":[\"WGT\"],\"description\":\"The WEIGHT statement specifies numeric variables in the DATA= data set that contain weights for each similarity or dissimilarity measurement. These weights are used to compute weighted least-squares estimates. The number of WEIGHT variables must be the same as the number of VAR variables, and the variables in the WEIGHT statement must be in the same order as the corresponding variables in the VAR statement.\",\"help\":\"WEIGHT variable\"}],\"supportSiteInformation\":{\"docsetId\":\"statug\",\"docsetVersion\":\"latest\",\"docsetTargetFile\":\"statug_mds_toc.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/MDSUMMARY.json",
    "content": "{\"name\":\"MDSUMMARY\",\"statements\":[{\"name\":\"PROC MDSUMMARY\",\"description\":\"Calculates multidimensional summaries of numeric variables.\",\"help\":\"PROC MDSUMMARY DATA=table-name<NTHREADS=integer>;\\n\\tVAR <variable-list>;\\n\\n\\tOUTPUT OUT=libref.table-name;\\n\\n\\tGROUPBY variable-list</ OUT=libref.table-name>;\\nRUN; \",\"arguments\":[{\"name\":\"DATA=\",\"optional\":true,\"aliases\":[\"TABLE=\"],\"description\":\"specifies the two-level input table name.\",\"help\":\"DATA=*libref.table-name*\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"n0a60ngwp856b7n13p9yiv5n8swo\"},{\"name\":\"NTHREADS=\",\"optional\":true,\"description\":\"specifies the number of threads to use within each compute node.\",\"help\":\"NTHREADS=*integer*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0imigl2lhuiymn1k4onapes2pjj\"}],\"supportSiteTargetFile\":\"p1wk29toijz7hgn113ezzaalablo.htm\"},{\"name\":\"VAR\",\"description\":\"Specifies the analysis variables and their order in the output.\",\"help\":\"\\n\\tVAR <variable-list>\",\"arguments\":[{\"name\":\"variable\",\"optional\":true,\"placeholder\":true,\"description\":\"identifies one or more analysis variables and specifies their order in the results.\",\"help\":\"&lt;*variable(s)*&gt;\",\"type\":\"standaloneOrValue\",\"supportSiteTargetFragment\":\"n1xghbwy3swcq3n1ue9ni2bw16c2\"}],\"supportSiteTargetFile\":\"p1wlarhlsuuqz1n11du32hw42lo0.htm\"},{\"name\":\"GROUPBY\",\"description\":\"Creates BY groups in terms of the variable value combinations given the variables in the variable list.\",\"help\":\"\\n\\tGROUPBY <variable(s)></ OUT=libref.table-name>;\",\"arguments\":[{\"name\":\"OUT=\",\"optional\":true,\"description\":\"specifies the table name.\",\"help\":\"OUT=*libref.table-name*\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"p1fluwt8xh9gc1n10qbqc0p86ukp\"},{\"name\":\"variable\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the analysis variables to group by.\",\"help\":\"*variable(s)*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1vp6xn2amzzrtn14lnoru9gq8wr\"}],\"supportSiteTargetFile\":\"n1g69q0fwq1awen1fyhoynket6ap.htm\"},{\"name\":\"OUTPUT\",\"description\":\"Creates an output table that contains the results of PROC MDSUMMARY.\",\"help\":\"\\n\\tOUTPUT OUT=libref.table-name;\",\"arguments\":[{\"name\":\"OUT=\",\"description\":\"specifies the two-level table name.\",\"help\":\"OUT=*libref.table-name*\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"n0bico5sicj51fn1deudt2fn7axx\"}],\"supportSiteTargetFile\":\"n0n5etje4smdpfn0zso80ay0z2vi.htm\"}],\"supportSiteInformation\":{\"docsetId\":\"casref\",\"docsetVersion\":\"v_004\",\"docsetTargetFile\":\"n11ya1chrkoyykn17iewtol63xtx.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/MEANS.json",
    "content": "{\"name\":\"MEANS\",\"statements\":[{\"name\":\"PROC MEANS\",\"description\":\"Computes descriptive statistics for variables.\",\"help\":\"PROC MEANS <options><statistic-keyword(s)>;                   \\n\\tATTRIB  variable-list(s) attribute-list(s);\\n\\n\\tBY <DESCENDING>variable-1<<DESCENDING>variable-2  ...><NOTSORTED>;\\n\\n\\tCLASS variable(s)</ options>;\\n\\n\\tFORMAT variable-1< ...variable-n><format><DEFAULT=default-format>;\\n\\n\\tFREQ variable;\\n\\n\\tID variable(s);\\n\\n\\tLABEL variable-1=label-1< ...variable-n=label-n>;\\n\\n\\tOUTPUT <OUT=SAS-data-set><output-statistic-specification(s)>\\n\\t\\t<id-group-specification(s)><maximum-id-specification(s)>\\n\\t\\t<minimum-id-specification(s)></ options>                ;\\n\\n\\tTYPES request(s);\\n\\n\\tVAR variable(s)</ WEIGHT=weight-variable>;\\n\\n\\tWAYS list;\\n\\n\\tWEIGHT variable;\\n\\n\\tWHERE where-expression-1\\n\\t\\t<logical-operator where-expression-n>;             \\n\",\"arguments\":[{\"name\":\"ALPHA=\",\"optional\":true,\"description\":\"specifies the confidence level for the confidence limits.\",\"help\":\"ALPHA=*value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1s22hbbyw8x52n13u68ysifgyfx\"},{\"name\":\"CHARTYPE\",\"optional\":true,\"description\":\"specifies that the _TYPE_ variable contain character values.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0iq0ml0ccsemvn1a4rqnmu1p8o5\"},{\"name\":\"CLASSDATA=\",\"optional\":true,\"description\":\"specifies a secondary data set that contains the combinations of class variables to analyze.\",\"help\":\"CLASSDATA=*SAS-data-set*\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"n0padmzlcjwc6in1w3hxp6818n2b\"},{\"name\":\"COMPLETETYPES\",\"optional\":true,\"description\":\"creates all possible combinations of class variable values.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1terqe3hgwedcn1fvzn3i20lh6o\"},{\"name\":\"DATA=\",\"optional\":true,\"description\":\"specifies the input data set.\",\"help\":\"DATA=*SAS-data-set*\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"p1gzer747f4otln1xvgs59s6jxtb\"},{\"name\":\"DESCENDTYPES\",\"optional\":true,\"aliases\":[\"DESCENDING\",\"DESCEND\"],\"description\":\"orders the output data set by descending _TYPE_ value.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0972mrt0j84myn14m720wcuxj1h\"},{\"name\":\"EXCLNPWGT\",\"optional\":true,\"aliases\":[\"EXCLNPWGTS\"],\"description\":\"excludes observations with nonpositive weights from the analysis.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0z920azg9nefgn1lkkvzox5rz25\"},{\"name\":\"EXCLUSIVE\",\"optional\":true,\"description\":\"excludes from the analysis all combinations of class variable values that are not in the CLASSDATA= data set.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1sfkv0pa645z0n1uroc5wc896x2\"},{\"name\":\"FW=\",\"optional\":true,\"description\":\"specifies the field width for the statistics.\",\"help\":\"FW=*field-width*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1fyn8gnpfno34n1mnq6u8blhg79\"},{\"name\":\"INCAS=\",\"optional\":true,\"description\":\"specifies whether to allow in-CAS processing.\",\"help\":\"INCAS=(YES | NO)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YES\",\"description\":\"Use in-CAS processing. YES is the default.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1qs9fx0svc4c1n10zito6sv4zfp\"},{\"name\":\"NO\",\"description\":\"Do not use in-CAS processing.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p16ypn8u9k2x8pn1lwc5mmw9cmhv\"}],\"supportSiteTargetFragment\":\"n114z5pqzvnrwon1mu0ue47q6ntc\"},{\"name\":\"IDMIN\",\"optional\":true,\"description\":\"selects ID variables based on minimum values.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p19tmjzicqelh2n1ewisw6iy7cvh\"},{\"name\":\"MAXDEC=\",\"optional\":true,\"description\":\"specifies the number of decimal places for the statistics.\",\"help\":\"MAXDEC=*number*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1m8zxfes82ykcn1ij2cy50zo7c8\"},{\"name\":\"MISSING\",\"optional\":true,\"description\":\"uses missing values as valid values to create combinations of class variables.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1gihcptfgsw4pn1ocdf32e01qhw\"},{\"name\":\"NOLABEL\",\"optional\":true,\"description\":\"suppresses variable labels.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n12tnyfjpyk7hdn18pkjrac5tqez\"},{\"name\":\"NONOBS\",\"optional\":true,\"description\":\"suppresses reporting the total number of observations for each unique combination of the class variables.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1snnp2pa49hdmn18lyyvb2d8agi\"},{\"name\":\"NOPRINT\",\"optional\":true,\"description\":\"suppresses all displayed output.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1h4u2gqxgnpvpn12iyihb4q7tuo\"},{\"name\":\"NOTRAP\",\"optional\":true,\"description\":\"disables floating point exception recovery.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1a0ogjdm3o3v1n1n725sf3vmg5v\"},{\"name\":\"NWAY\",\"optional\":true,\"description\":\"limits the output statistics to the observations with the highest _TYPE_ value.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n10z5tfgi3j0h9n19pq7bbgn9tve\"},{\"name\":\"ORDER=\",\"optional\":true,\"description\":\"orders the values of the class variables according to the specified order.\",\"help\":\"ORDER=DATA | FORMATTED | FREQ | UNFORMATTED\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DATA\",\"description\":\"orders values according to their order in the input data set.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0m4bo115hfiwzn12rcewcb5yniy\"},{\"name\":\"FORMATTED\",\"aliases\":[\"FMT\",\"EXTERNAL\"],\"description\":\"orders values by their ascending formatted values. This order depends on your operating environment.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0huk2edozl4dpn1xj8w10jrltvw\"},{\"name\":\"FREQ\",\"description\":\"orders values by descending frequency count so that levels with the most observations are listed first.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1nofnwkb2dn96n1dk137o9ftx1e\"},{\"name\":\"UNFORMATTED\",\"aliases\":[\"UNFMT\",\"INTERNAL\"],\"description\":\"orders values by their unformatted values, which yields the same order as PROC SORT. This order depends on your operating environment.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1x2lqv65kjdxbn1p0u8ezghccuu\"}],\"supportSiteTargetFragment\":\"p19vuldjddab5in1c08tplk61b1f\"},{\"name\":\"PRINT\",\"optional\":true,\"description\":\"displays the output.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p07ne67wjg1ud7n147cddfzb2jji\"},{\"name\":\"PRINTALLTYPES\",\"optional\":true,\"aliases\":[\"PRINTALL\"],\"description\":\"displays the analysis for all requested combinations of class variables.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p187iacq9hwke8n14o5r3tvqbo9l\"},{\"name\":\"PRINTIDVARS\",\"optional\":true,\"aliases\":[\"PRINTIDS\"],\"description\":\"displays the values of the ID variables.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1nkj2utfryvfon1qjlc113i3j6k\"},{\"name\":\"QMARKERS=\",\"optional\":true,\"description\":\"specifies the sample size to use for the P2 quantile estimation method.\",\"help\":\"QMARKERS=*number*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0ru0h91sfgb38n1p2d0oec1bulj\"},{\"name\":\"QMETHOD=\",\"optional\":true,\"description\":\"specifies the quantile estimation method.\",\"help\":\"QMETHOD=OS | P2\",\"type\":\"choice\",\"arguments\":[{\"name\":\"OS\",\"description\":\"uses order statistics. This method is the same method that PROC UNIVARIATE uses.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0wtqr9m26pbb0n1qktaliwgjq4e\"},{\"name\":\"P2\",\"description\":\"uses the P² method to approximate the quantile.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0a1gskh119r3jn1gpkrg134b71l\"}],\"supportSiteTargetFragment\":\"p18tj2sqwwl2wmn15pnha8y6ri44\"},{\"name\":\"QNTLDEF=\",\"optional\":true,\"aliases\":[\"PCTLDEF=\"],\"description\":\"specifies the mathematical definition used to compute quantiles.\",\"help\":\"QNTLDEF=1 | 2 | 3 | 4 | 5\",\"type\":\"choice\",\"arguments\":[{\"name\":\"1\",\"type\":\"standalone\"},{\"name\":\"2\",\"type\":\"standalone\"},{\"name\":\"3\",\"type\":\"standalone\"},{\"name\":\"4\",\"type\":\"standalone\"},{\"name\":\"5\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"n1xsk6v7ixfsrmn1phcsrgps47mi\"},{\"name\":\"statistic-keyword\",\"optional\":true,\"placeholder\":true,\"description\":\"selects the statistics.\",\"help\":\"*statistic-keyword(s)*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n11nn4xu6p9wvjn1lh60wtvvn538\"},{\"name\":\"STACKODSOUTPUT\",\"optional\":true,\"aliases\":[\"STACKODS\"],\"description\":\"produces an ODS output object\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1jlrxmcdwyj5nn1ug9fmdzp9c2l\"},{\"name\":\"SUMSIZE=\",\"optional\":true,\"description\":\"specifies the amount of memory to use for data summarization with class variables.\",\"help\":\"SUMSIZE=*value*\",\"type\":\"value\",\"arguments\":[{\"name\":\"n\",\"placeholder\":true,\"description\":\"specifies the amount of memory available in bytes, kilobytes, megabytes, or gigabytes, respectively. If n is 0, then PROC MEANS use the value of the SAS system option SUMSIZE=.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0omxyl034aogvn1voap1pqe4mji\"},{\"name\":\"K\",\"description\":\"specifies the amount of memory available in bytes, kilobytes, megabytes, or gigabytes, respectively. If n is 0, then PROC MEANS use the value of the SAS system option SUMSIZE=.\",\"help\":\"*n*K\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0omxyl034aogvn1voap1pqe4mji\"},{\"name\":\"M\",\"description\":\"specifies the amount of memory available in bytes, kilobytes, megabytes, or gigabytes, respectively. If n is 0, then PROC MEANS use the value of the SAS system option SUMSIZE=.\",\"help\":\"*n*M\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0omxyl034aogvn1voap1pqe4mji\"},{\"name\":\"G\",\"description\":\"specifies the amount of memory available in bytes, kilobytes, megabytes, or gigabytes, respectively. If n is 0, then PROC MEANS use the value of the SAS system option SUMSIZE=.\",\"help\":\"*n*G\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0omxyl034aogvn1voap1pqe4mji\"},{\"name\":\"MAXIMUM\",\"description\":\"specifies the maximum amount of memory that is available.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0142n0xgk88ain1tyx2jvuf9rgk\"},{\"name\":\"MAX\",\"description\":\"specifies the maximum amount of memory that is available.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0142n0xgk88ain1tyx2jvuf9rgk\"}],\"supportSiteTargetFragment\":\"p1d30rdp6kbch5n14d8j3ytbuwel\"},{\"name\":\"THREADS\",\"optional\":true,\"description\":\"overrides the SAS system option THREADS | NOTHREADS.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0sr73r5sqdysln1pj92fpax4ab2\"},{\"name\":\"NOTHREADS\",\"optional\":true,\"description\":\"overrides the SAS system option THREADS | NOTHREADS.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0sr73r5sqdysln1pj92fpax4ab2\"},{\"name\":\"VARDEF=\",\"optional\":true,\"description\":\"specifies the variance divisor.\",\"help\":\"VARDEF=DF | N | WDF | WEIGHT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DF\",\"type\":\"standalone\"},{\"name\":\"N\",\"type\":\"standalone\"},{\"name\":\"WDF\",\"type\":\"standalone\"},{\"name\":\"WEIGHT\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"p16znqh7q08cpan1ngx5x6wddihd\"},{\"name\":\"CLM\",\"optional\":true,\"description\":\"is a descriptive statistic keyword.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1tj8qhu2tfk7on1tb08ywftac3j\"},{\"name\":\"CSS\",\"optional\":true,\"description\":\"is a descriptive statistic keyword.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1kls9bjeezvzyn1dayhkah7oabg\"},{\"name\":\"KURTOSIS\",\"optional\":true,\"aliases\":[\"KURT\"],\"description\":\"is a descriptive statistic keyword.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0pqsa06jnoa2hn0zs402wbk0ewb\"},{\"name\":\"LCLM\",\"optional\":true,\"description\":\"is a descriptive statistic keyword.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1apantzuzykuxn1bv6h31vb06rx\"},{\"name\":\"MAX\",\"optional\":true,\"description\":\"is a descriptive statistic keyword.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0bw0c0q1r0nmun1n6naaqwfazcb\"},{\"name\":\"MEAN\",\"optional\":true,\"description\":\"is a descriptive statistic keyword.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0o9s9opl7fv7ln1wp8x4buz3yz9\"},{\"name\":\"MIN\",\"optional\":true,\"description\":\"is a descriptive statistic keyword.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1hy0m743cf7w8n1olhr19cimgl0\"},{\"name\":\"MODE\",\"optional\":true,\"description\":\"is a descriptive statistic keyword.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p07t3gpg45a9jen176bsbqw3tnj2\"},{\"name\":\"N\",\"optional\":true,\"description\":\"is a descriptive statistic keyword.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1ifmajlp0pjm1n1x4kktrwzeul4\"},{\"name\":\"NMISS\",\"optional\":true,\"description\":\"is a descriptive statistic keyword.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p10ceuzqtsroj1n1hoj7yibtk7kv\"},{\"name\":\"RANGE\",\"optional\":true,\"description\":\"is a descriptive statistic keyword.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0lk7snqraxclbn1f6p1hj4utn2g\"},{\"name\":\"SKEWNESS\",\"optional\":true,\"aliases\":[\"SKEW\"],\"description\":\"is a descriptive statistic keyword.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1gwzayn9vltqpn1mmoccqpiag95\"},{\"name\":\"STDDEV\",\"optional\":true,\"aliases\":[\"STD\"],\"description\":\"is a descriptive statistic keyword.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0hpd4q46aafcbn1spkd25n4w4g4\"},{\"name\":\"STDERR\",\"optional\":true,\"description\":\"is a descriptive statistic keyword.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n17efpoodq50enn10l42mvrx48q4\"},{\"name\":\"SUM\",\"optional\":true,\"description\":\"is a descriptive statistic keyword.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1bm7sfv4dh8fsn1bidiwvag9ldb\"},{\"name\":\"SUMWGT\",\"optional\":true,\"description\":\"is a descriptive statistic keyword.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1jacrnsbpojxxn1xc7pckaprnu3\"},{\"name\":\"UCLM\",\"optional\":true,\"description\":\"is a descriptive statistic keyword.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1famd6yvshquun100n5gn6ujo0g\"},{\"name\":\"USS\",\"optional\":true,\"description\":\"is a descriptive statistic keyword.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0kpsb2g4dcnqzn19ul67afz6r2e\"},{\"name\":\"VAR\",\"optional\":true,\"description\":\"is a descriptive statistic keyword.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1597dxvdhizr2n1aa2p7cexno7i\"},{\"name\":\"MEDIAN\",\"optional\":true,\"aliases\":[\"P50\"],\"description\":\"is a quantile statistic keyword.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0ga7lrzhqgztwn1c7tec62fw2mj\"},{\"name\":\"P1\",\"optional\":true,\"description\":\"is a quantile statistic keyword.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p113gnarin5s5fn0z6yjhh2k8wwl\"},{\"name\":\"P5\",\"optional\":true,\"description\":\"is a quantile statistic keyword.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0d7syveyctywgn1y0s6gvctvzvm\"},{\"name\":\"P10\",\"optional\":true,\"description\":\"is a quantile statistic keyword.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p125lg7f0n77rzn1rcw5bcsjb26b\"},{\"name\":\"P20\",\"optional\":true,\"description\":\"is a quantile statistic keyword.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0hui480upgisqn1qoen4qlr093l\"},{\"name\":\"P40\",\"optional\":true,\"description\":\"is a quantile statistic keyword.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0chro3rthj2oqn1wv6w3eze1l4a\"},{\"name\":\"P70\",\"optional\":true,\"description\":\"is a quantile statistic keyword.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1a94hhyy4nbxvn1kijqv4qlzcoi\"},{\"name\":\"Q1\",\"optional\":true,\"aliases\":[\"P25\"],\"description\":\"is a quantile statistic keyword.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0o9oostj28g8zn167hjiudicp4z\"},{\"name\":\"Q3\",\"optional\":true,\"aliases\":[\"P75\"],\"description\":\"is a quantile statistic keyword.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p13vg4u6t5q9kkn1tp57lyhwews7\"},{\"name\":\"P90\",\"optional\":true,\"description\":\"is a quantile statistic keyword.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1rmn4trwz7djwn1p3kk5ng0jlw9\"},{\"name\":\"P95\",\"optional\":true,\"description\":\"is a quantile statistic keyword.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1mvfvro67nl54n1a6dobn15ezgb\"},{\"name\":\"P99\",\"optional\":true,\"description\":\"is a quantile statistic keyword.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1dl2u7yuqh7k5n1nttged64rm70\"},{\"name\":\"P30\",\"optional\":true,\"description\":\"is a quantile statistic keyword.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1j1j46v71vxg6n1uh906ihbc0qo\"},{\"name\":\"P60\",\"optional\":true,\"description\":\"is a quantile statistic keyword.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0rk2fj3gm3tn3n148kp90s1hug5\"},{\"name\":\"P80\",\"optional\":true,\"description\":\"is a quantile statistic keyword.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0yomgtvcjahorn1x2pbjz2l6194\"},{\"name\":\"QRANGE\",\"optional\":true,\"description\":\"is a quantile statistic keyword.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0hd2al4bdzwkan151cmab87v7tw\"},{\"name\":\"PROBT\",\"optional\":true,\"aliases\":[\"PBT\"],\"description\":\"is a hypothesis testing keyword.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1h2z3xuq6lawin1uh0y6cupaiqn\"},{\"name\":\"T\",\"optional\":true,\"description\":\"is a hypothesis testing keyword.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n08w40rqhn9rt3n1fnqztpi3e90s\"}],\"supportSiteTargetFile\":\"n1qnc9bddfvhzqn105kqitnf29cp.htm\"},{\"name\":\"ATTRIB\",\"description\":\"Associates a format, informat, label, and length with one or more variables.\",\"help\":\"ATTRIB  *variable-list(s)**attribute-list(s)*;\",\"arguments\":[{\"name\":\"variable-list\",\"optional\":true,\"placeholder\":true,\"description\":\"names the variables that you want to associate with the attributes.\",\"help\":\"*variable-list(s)*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1nd0mq22iu6ovn14mz1ot1hwcjic\"},{\"name\":\"FORMAT=\",\"description\":\"associates a format with variables in variable-list.\",\"help\":\"FORMAT=*format*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p08pt9ce6bhq86n18a3zcc97bldzc\"},{\"name\":\"INFORMAT=\",\"description\":\"associates an informat with variables in variable-list.\",\"help\":\"INFORMAT=*informat*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n136glco6ritqdn160792yhk9mv1c\"},{\"name\":\"LABEL=\",\"description\":\"associates a label with variables in variable-list.\",\"help\":\"LABEL='*label*' \",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0a9x9io5pi05mn1i4p2cphc7t0nc\"}],\"supportSiteTargetFile\":\"n04pixwhr1atzln1dow0e10lyibsc.htm\"},{\"name\":\"BY\",\"description\":\"Orders the output according to the BY groups.\",\"help\":\"BY <DESCENDING>variable-1\\n\\t<… <DESCENDING> variable-n>\\n\\t<NOTSORTED>;\",\"arguments\":[{\"name\":\"variable\",\"placeholder\":true,\"description\":\"specifies the variable that the procedure uses to form BY groups. You can specify more than one variable. If you do not use the NOTSORTED option in the BY statement, then either the observations in the data set must be sorted by all the variables that you specify, or they must be indexed appropriately. Variables in a BY statement are called BY variables.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0e9kbav2i9chhn1xectebpz4s14a\"},{\"name\":\"DESCENDING\",\"optional\":true,\"description\":\"specifies that the observations are sorted in descending order by the variable that immediately follows the word DESCENDING in the BY statement.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1au0lhf4hi1h2n1le3cx2tp74l5a\"},{\"name\":\"NOTSORTED\",\"optional\":true,\"description\":\"specifies that observations are not necessarily sorted in alphabetic or numeric order. The observations are grouped in another way (for example, chronological order).\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p068zvjhrpn2awn1bygis4m6hppaa\"}],\"supportSiteTargetFile\":\"n13shq4na41y5wn14t67d8l6wgq8m001.htm\"},{\"name\":\"CLASS\",\"aliases\":[\"CLASSES\"],\"description\":\"Specifies the variables whose values define the subgroup combinations for the analysis.\",\"help\":\"CLASS *variable(s)*&lt;/ *options*&gt;;\",\"arguments\":[{\"name\":\"variable\",\"placeholder\":true,\"description\":\"specifies one or more variables that the procedure uses to group the data. Variables in a CLASS statement are referred to as class variables. Class variables are numeric or character. Class variables can have continuous values, but they typically have a few discrete values that define levels of the variable. You do not have to sort the data by class variables.\",\"help\":\"*variable(s)*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0xdbqeecc3qzcn1oyj1j5kiqhwu\"},{\"name\":\"ASCENDING\",\"optional\":true,\"aliases\":[\"ASCEND\"],\"description\":\"specifies to sort the class variable levels in ascending order.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1cy87vl8ngdlsn1vd9ls38f4xo0\"},{\"name\":\"DESCENDING\",\"optional\":true,\"aliases\":[\"DESCEND\"],\"description\":\"specifies to sort the class variable levels in descending order.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1de8k6wf2uqlmn1el7alm4xsf81\"},{\"name\":\"EXCLUSIVE\",\"optional\":true,\"description\":\"excludes from the analysis all combinations of the class variables that are not found in the preloaded range of user-defined formats.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1meuhaks5wybon12yv08flegybd\"},{\"name\":\"GROUPINTERNAL\",\"optional\":true,\"description\":\"specifies not to apply formats to the class variables when PROC MEANS groups the values to create combinations of class variables.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p175w9ogoqswumn1hgtl0980uwt3\"},{\"name\":\"MISSING\",\"optional\":true,\"description\":\"considers missing values as valid values for the class variable levels. Special missing values that represent numeric values (the letters A through Z and the underscore (_) character) are each considered as a separate value.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0354l8zc8umckn1ok5mt6rzf8jt\"},{\"name\":\"MLF\",\"optional\":true,\"description\":\"enables PROC MEANS to use the primary and secondary format labels for a given range or overlapping ranges to create subgroup combinations when a multilabel format is assigned to a class variable.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p123wmftgjeqxvn1er5k8a4dk851\"},{\"name\":\"ORDER=\",\"optional\":true,\"description\":\"specifies the order to group the levels of the class variables in the output, where\",\"help\":\"ORDER=DATA | FORMATTED | FREQ | UNFORMATTED\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DATA\",\"description\":\"orders values according to their order in the input data set.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1pq15uuhy54stn1gct9r8esuu6y\"},{\"name\":\"FORMATTED\",\"aliases\":[\"FMT\",\"EXTERNAL\"],\"description\":\"orders values by their ascending formatted values. This order depends on your operating environment. If no format has been assigned to a class variable, then the default format, BEST12., is used.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0f3z28mns0077n1kev0pxfzmfrn\"},{\"name\":\"FREQ\",\"description\":\"orders values by descending frequency count so that levels with the most observations are listed first.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n17ej7jg30fh7yn1fxs880kw69qf\"},{\"name\":\"UNFORMATTED\",\"aliases\":[\"UNFMT\",\"INTERNAL\"],\"description\":\"orders values by their unformatted values, which yields the same order as PROC SORT. This order depends on your operating environment. This sort sequence is particularly useful for displaying dates chronologically.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1n06hkbnimf47n1jxsgh1ds3kd1\"}],\"supportSiteTargetFragment\":\"n09pd4g8nj6dzln1b8hug6tj2m0p\"},{\"name\":\"PRELOADFMT\",\"optional\":true,\"description\":\"specifies that all formats are preloaded for the class variables.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0nahy480eyb0hn1618r62dvi6wh\"}],\"supportSiteTargetFile\":\"p0gpxoqczfzcyln13ma53kpq38lo.htm\"},{\"name\":\"FORMAT\",\"description\":\"Associates formats with variables.\",\"help\":\"FORMAT *variable-1*&lt; ...*variable-n*&gt;*format**variable-1*&lt; ...*variable-n*&gt;*format*;\",\"arguments\":[{\"name\":\"variable\",\"optional\":true,\"placeholder\":true,\"description\":\"names one or more variables for SAS to associate with a format. You must specify at least one variable.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1d0cionbspk2tn1ma0m6kjd1ntxc\"},{\"name\":\"format\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the format that is listed for writing the values of the variables.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n15nxwcex8m202n1dp4xwbds95t9c\"}],\"supportSiteTargetFile\":\"p02hzcxsifsk8dn1a53t49zqd82cc.htm\"},{\"name\":\"FREQ\",\"aliases\":[\"FREQUENCY\"],\"description\":\"Specifies a numeric variable that contains the frequency of each observation.\",\"help\":\"FREQ *variable*;\",\"arguments\":[{\"name\":\"variable\",\"placeholder\":true,\"description\":\"specifies a numeric variable whose value represents the frequency of the observation. If you use the FREQ statement, then the procedure assumes that each observation represents n observations, where n is the value of variable. If n is not an integer, then SAS truncates it. If n is less than 1 or is missing, then the procedure does not use that observation to calculate statistics.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n09r5rdafxlqwnn17wnrm8lkikvz\"}],\"supportSiteTargetFile\":\"p077f1i147m5k1n11qixyg0q9m9r.htm\"},{\"name\":\"ID\",\"description\":\"Includes additional variables in the output data set.\",\"help\":\"ID *variable(s)*;\",\"arguments\":[{\"name\":\"variable\",\"placeholder\":true,\"description\":\"identifies one or more variables from the input data set whose maximum values for groups of observations PROC MEANS includes in the output data set.\",\"help\":\"*variable(s)*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p04crg6eisoxion1nhfito9ds4yn\"}],\"supportSiteTargetFile\":\"n1niocuk07q2wnn16mz96fboupgc.htm\"},{\"name\":\"LABEL\",\"description\":\"Assigns descriptive labels to variables.\",\"help\":\"LABEL variable-1 = 'text-string' < ...variable-n = 'text-string'>;\\nLABEL variable-1 = ' ' < ...variable-n=’ ‘>; | variable-1 = < ...variable-n= >;\",\"arguments\":[{\"name\":\"text-string\",\"placeholder\":true,\"description\":\"specifies a label of up to 256 bytes.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n09u0k5ydxzgr3n1dfznhvex7uuoc\"},{\"name\":\"'\",\"placeholder\":true,\"description\":\"removes a label from a variable. Enclose a single blank space in quotation marks to remove an existing label. You can remove labels from multiple variables in a single LABEL statement:\",\"help\":\"*' '*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1dl99omzes92cn1typpf6yl1ng0c\"}],\"supportSiteTargetFile\":\"p1s0j2pii3oj7fn1f87s02j4zo52c.htm\"},{\"name\":\"OUTPUT\",\"description\":\"Writes statistics to a new SAS data set.\",\"help\":\"OUTPUT <OUT=SAS-data-set>\\n<statistic-specifications>\\n<id-group-specifications><maximum-id-specifications>\\n<minimum-id-specifications></ options>;\",\"arguments\":[{\"name\":\"OUT=\",\"optional\":true,\"description\":\"names the new output data set. If SAS-data-set does not exist, then PROC MEANS creates it. If you omit OUT=, then the data set is named DATAn, where n is the smallest integer that makes the name unique.\",\"help\":\"OUT=*SAS-data-set*\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"n0yppqgrnr63b2n1571lkhu8wn34\"},{\"name\":\"statistic-keyword\",\"placeholder\":true,\"description\":\"specifies which statistic to store in the output data set.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1lqx93is8jgn1n1mc44o273qyfz\"},{\"name\":\"variable-list\",\"placeholder\":true,\"description\":\"specifies the names of one or more numeric analysis variables whose statistics you want to store in the output data set.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1tzqdz21lswu3n1tx2jtnwtc3r6\"},{\"name\":\"names\",\"placeholder\":true,\"description\":\"specifies one or more names for the variables in the output data set that contain the analysis variable statistics. The first name contains the statistic for the first analysis variable; the second name contains the statistic for the second analysis variable; and so on.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1ktj0n30xj39tn1b890lk7fk2ok\"},{\"name\":\"IDGROUP\",\"optional\":true,\"aliases\":[\"IDGRP\"],\"description\":\"combines the features and extends the ID statement, the IDMIN option in the PROC statement, and the MAXID and MINID options in the OUTPUT statement to create an OUT= data set that identifies multiple extreme values.\",\"help\":\"IDGROUP (&lt;MIN (*variable-list-1*) |  MAX (*variable-list-1*) &lt;…MIN (*variable-list-n*) |  MAX (*variable-list-n*) &gt;&gt; &lt;MISSING&gt; &lt;OBS&gt; &lt;LAST&gt;  OUT &lt;[*n*]&gt;  (*id-variable-list*)=&lt;*names*&gt;)\",\"type\":\"value\",\"arguments\":[{\"name\":\"LAST\",\"description\":\"specifies that the OUT= data set contains values from the last observation (or the last n observations, if n is specified).\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0fwlhoks3ly7cn1sdb31l0928fi\"},{\"name\":\"MAX\",\"description\":\"specifies the selection criteria to determine the maximum extreme values of one or more input data set variables specified in variable-list.\",\"help\":\"MAX(*variable-list*)\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p12yvywdy6kwt7n1szkey2wiw9zv\"},{\"name\":\"MIN\",\"description\":\"specifies the selection criteria to determine the minimum extreme values of one or more input data set variables specified in variable-list.\",\"help\":\"MIN(*variable-list*)\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0905hsspfbe8zn1lyryup3hhm8u\"},{\"name\":\"MISSING\",\"aliases\":[\"MISS\"],\"description\":\"specifies that missing values be used in selection criteria.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p02maouvtpzvl9n126hb6dlrxwcq\"},{\"name\":\"OBS\",\"description\":\"includes an _OBS_ variable in the OUT= data set that contains the number of the observation in the input data set where the extreme value was found.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1da677rxbqyj3n1t3cupv1ak3rd\"},{\"name\":\"[n]\",\"placeholder\":true,\"description\":\"specifies the number of extreme values for each variable in id-variable-list to include in the OUT= data set. PROC MEANS creates n new variables and uses the suffix _n to create the variable names, where n is a sequential integer from 1 to n.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0ts41alnt8b0mn1b44fd24bzvwi\"},{\"name\":\"(id-variable-list)\",\"placeholder\":true,\"aliases\":[\"IDGRP\"],\"description\":\"identifies one or more input data set variables whose values PROC MEANS includes in the OUT= data set. PROC MEANS determines which observations to generate by the selection criteria that you specify (MIN, MAX, and LAST).\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n16awg1yvh6psdn1dzv4uybvr87e\"},{\"name\":\"names\",\"placeholder\":true,\"description\":\"specifies one or more names for variables in the OUT= data set.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0r4u6z1h2mxyvn13zequtilpnhj\"}],\"supportSiteTargetFragment\":\"p1p58yhxlrc0can1scam7bco7y96\"},{\"name\":\"MAXID\",\"optional\":true,\"description\":\"specifies that one or more identification variables be associated with the maximum values of the analysis variables.\",\"help\":\"MAXID &lt;(*variable-1* &lt;(*id-variable-list-1*)&gt; &lt;…*variable-n*   &lt;(*id-variable-list-n*)&gt;&gt;)&gt; = *names*\",\"type\":\"value\",\"arguments\":[{\"name\":\"variable\",\"placeholder\":true,\"description\":\"identifies the numeric analysis variable whose maximum values PROC MEANS determines. PROC MEANS can determine several maximum values for a variable because, in addition to the overall maximum value, subgroup levels, which are defined by combinations of class variables values, also have maximum values.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n04vppxlq2ttocn118zniu1btfci\"},{\"name\":\"id-variable-list\",\"placeholder\":true,\"description\":\"identifies one or more variables whose values identify the observations with the maximum values of the analysis variable.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0n8hq1i7mmgrin163a9x061683r\"},{\"name\":\"names\",\"placeholder\":true,\"description\":\"specifies the names for new variables that contain the values of the identification variable associated with the maximum value of each analysis variable.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n03iukhdh8gfz9n1p33vdkm8pn50\"}],\"supportSiteTargetFragment\":\"n18gev4bh8mlhvn1hwqda63fa30a\"},{\"name\":\"MINID\",\"optional\":true,\"description\":\"see the description of maximum-id-specification. This option behaves in exactly the same way, except that PROC MEANS determines the minimum values instead of the maximum values.\",\"help\":\"MINID&lt;(*variable-1* &lt;(*id-variable-list-1*)&gt; &lt;…*variable-n*  &lt;(*id-variable-list-n*)&gt;&gt;)&gt; = *name(s)* \",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0hs0r9yoo17jtn107cwe0cr6leg\"},{\"name\":\"AUTOLABEL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that PROC MEANS appends the statistic name to the end of the variable label. If an analysis variable has no label, then PROC MEANS creates a label by appending the statistic name to the analysis variable name.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0fi38s26bofvcn1tuubwd7gcwlu\"},{\"name\":\"AUTONAME\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that PROC MEANS creates a unique variable name for an output statistic when you do not assign the variable name in the OUTPUT statement. This action is accomplished by appending to the statistic-keyword to the end of the input variable name from which the statistic was derived.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p17tgkdb4qu2b3n1jwfyngeaczmu\"},{\"name\":\"KEEPLEN\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that statistics in the output data set inherit the length of the analysis variable that PROC MEANS uses to derive them.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1i6fhy0i39iiln11k9qebhrcq5e\"},{\"name\":\"LEVELS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"includes a variable named _LEVEL_ in the output data set. This variable contains a value from 1 to n that indicates a unique combination of the values of class variables (the values of _TYPE_ variable).\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p04p1a417w0v6qn1dlxvx7abv20o\"},{\"name\":\"NOINHERIT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that the variables in the output data set that contain statistics do not inherit the attributes (label and format) of the analysis variables that are used to derive them.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p07dwafjyog3jkn10hkhkpss4uu6\"},{\"name\":\"WAYS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"includes a variable named _WAY_ in the output data set. This variable contains a value from 1 to the maximum number of class variables that indicates how many class variables PROC MEANS combines to create the TYPE value.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p06jkev56a75ran1iihmf5z6sfmu\"},{\"name\":\"CLM\",\"optional\":true,\"description\":\"is a descriptive statistic keyword.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1ffyt1akgfdnzn12zlrso5xp3kg\"},{\"name\":\"CSS\",\"optional\":true,\"description\":\"is a descriptive statistic keyword.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1awyifo0il9d0n1v9kb6f5q8etf\"},{\"name\":\"KURTOSIS\",\"optional\":true,\"aliases\":[\"KURT\"],\"description\":\"is a descriptive statistic keyword.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0aff2o0xqjddcn1jjrldtrrst2e\"},{\"name\":\"LCLM\",\"optional\":true,\"description\":\"is a descriptive statistic keyword.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0ctjqna96wuuwn1pm16o8m60xs8\"},{\"name\":\"MAX\",\"optional\":true,\"description\":\"is a descriptive statistic keyword.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1eahmqilp5j9hn1e01kuzgh12y6\"},{\"name\":\"MEAN\",\"optional\":true,\"description\":\"is a descriptive statistic keyword.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p07rmif0f94khln178e2ga69e26y\"},{\"name\":\"MIN\",\"optional\":true,\"description\":\"is a descriptive statistic keyword.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n16xvujog0lemqn1x1h4clj66afb\"},{\"name\":\"MODE\",\"optional\":true,\"description\":\"is a descriptive statistic keyword.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p19z1f21e1qu6bn1nzososzz2zz8\"},{\"name\":\"N\",\"optional\":true,\"description\":\"is a descriptive statistic keyword.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0g9lvl3809gxsn1l6n8jo8mvu2s\"},{\"name\":\"NMISS\",\"optional\":true,\"description\":\"is a descriptive statistic keyword.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1qwgoc1ke7v1nn1ku4f0bfxuj32\"},{\"name\":\"RANGE\",\"optional\":true,\"description\":\"is a descriptive statistic keyword.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0lbofgdoiw0ddn1fz7x810q7fw5\"},{\"name\":\"SKEWNESS\",\"optional\":true,\"aliases\":[\"SKEW\"],\"description\":\"is a descriptive statistic keyword.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1n1eucz7djhaqn1xb5ys84pdkvg\"},{\"name\":\"STDDEV\",\"optional\":true,\"aliases\":[\"STD\"],\"description\":\"is a descriptive statistic keyword.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1ibs543srmrjcn1orvq93l3862l\"},{\"name\":\"STDERR\",\"optional\":true,\"description\":\"is a descriptive statistic keyword.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n19c01l3dpjyy6n1e25n5l9ekpl0\"},{\"name\":\"SUM\",\"optional\":true,\"description\":\"is a descriptive statistic keyword.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1qyuzpsa1a5z2n1ryqx15bdjrjo\"},{\"name\":\"SUMWGT\",\"optional\":true,\"description\":\"is a descriptive statistic keyword.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0a79maqccbrcon1kacbc6p7knna\"},{\"name\":\"UCLM\",\"optional\":true,\"description\":\"is a descriptive statistic keyword.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p15mzaj0b15ecin1o8d1k9hi0f8l\"},{\"name\":\"USS\",\"optional\":true,\"description\":\"is a descriptive statistic keyword.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0uq2wqwstux73n103aphhxj13la\"},{\"name\":\"VAR\",\"optional\":true,\"description\":\"is a descriptive statistic keyword.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1vqgi3g2qaa1zn1rj6lh76hrr6c\"},{\"name\":\"MEDIAN\",\"optional\":true,\"aliases\":[\"P50\"],\"description\":\"is a quantile statistic keyword.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0dewqzlaqgptxn1kq1mvhhu608n\"},{\"name\":\"P1\",\"optional\":true,\"description\":\"is a quantile statistic keyword.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p13uvyirjaosbin1jl8kzia0iqku\"},{\"name\":\"P5\",\"optional\":true,\"description\":\"is a quantile statistic keyword.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0c8ixhfsi2lwhn1lb2oob1j8g5t\"},{\"name\":\"P10\",\"optional\":true,\"description\":\"is a quantile statistic keyword.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0m948otkp8aoqn1jbra2lt6fyrc\"},{\"name\":\"P20\",\"optional\":true,\"description\":\"is a quantile statistic keyword.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p13z32uowcwm2fn1n828f9sm4nh8\"},{\"name\":\"P40\",\"optional\":true,\"description\":\"is a quantile statistic keyword.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0pjvqfx1esql2n16awf1v73x1eq\"},{\"name\":\"P70\",\"optional\":true,\"description\":\"is a quantile statistic keyword.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p03o3piycpldpyn1rl0or18gg4um\"},{\"name\":\"Q1\",\"optional\":true,\"aliases\":[\"P25\"],\"description\":\"is a quantile statistic keyword.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0fki1w3q5d28mn1f0eesiqa5k0d\"},{\"name\":\"Q3\",\"optional\":true,\"aliases\":[\"P75\"],\"description\":\"is a quantile statistic keyword.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1svpegri8sq7dn1224mqtptnh2f\"},{\"name\":\"P90\",\"optional\":true,\"description\":\"is a quantile statistic keyword.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1izsrcdw468b5n1pop6xkqmnhvv\"},{\"name\":\"P95\",\"optional\":true,\"description\":\"is a quantile statistic keyword.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0k7xd3m41dzswn1uu2ky3o6yj0d\"},{\"name\":\"P99\",\"optional\":true,\"description\":\"is a quantile statistic keyword.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0zo9n3axkgcnsn1wpmmfavld4y8\"},{\"name\":\"P30\",\"optional\":true,\"description\":\"is a quantile statistic keyword.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0hhoy1rgsnsb9n1oawpnqrha854\"},{\"name\":\"P60\",\"optional\":true,\"description\":\"is a quantile statistic keyword.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n06mkscivf0efcn1l70vwfcygad9\"},{\"name\":\"P80\",\"optional\":true,\"description\":\"is a quantile statistic keyword.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0fsebfh941mpmn19yjxhaxxqmcr\"},{\"name\":\"QRANGE\",\"optional\":true,\"description\":\"is a quantile statistic keyword.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1a485ry6poa1mn1334fw2r4qhuu\"},{\"name\":\"PROBT\",\"optional\":true,\"aliases\":[\"PBT\"],\"description\":\"is a hypothesis testing keyword.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0g3l5fijgo3bgn1x12aubf1dn4x\"},{\"name\":\"T\",\"optional\":true,\"description\":\"is a hypothesis testing keyword.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1sv3i221m0tmpn1i41whekmges4\"}],\"supportSiteTargetFile\":\"p04vbvpcjg2vrjn1v8wyf0daypfi.htm\"},{\"name\":\"TYPES\",\"description\":\"Identifies which of the possible combinations of class variables to generate.\",\"help\":\"TYPES *request(s)*;\",\"arguments\":[{\"name\":\"request\",\"placeholder\":true,\"description\":\"specifies which of the 2 to the k 2k combinations of class variables PROC MEANS uses to create the types, where k k is the number of class variables. A request includes one class variable name, several class variable names separated by asterisks, or ().\",\"help\":\"*request(s)*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1kp2jm2fdmwbxn1o5k64ifonujz\"}],\"supportSiteTargetFile\":\"p1ivm86f1sq3r1n13nykew2kdimp.htm\"},{\"name\":\"VAR\",\"aliases\":[\"VARS\",\"VARIABLES\"],\"description\":\"Identifies the analysis variables and their order in the output.\",\"help\":\"VAR *variable(s)*&lt;/ WEIGHT=*weight-variable*&gt;;\",\"arguments\":[{\"name\":\"variable\",\"placeholder\":true,\"description\":\"identifies the analysis variables and specifies their order in the results.\",\"help\":\"*variable(s)*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0w33kk0j31pp4n1p55csnh8j7np\"},{\"name\":\"WEIGHT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a numeric variable whose values weight the values of the variables that are specified in the VAR statement. The variable does not have to be an integer. The following table describes how PROC MEANS treats various values of the WEIGHT variable.\",\"help\":\"WEIGHT=*weight-variable* \",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1lq4pmrmowru0n1utyzry7ez1fz\"}],\"supportSiteTargetFile\":\"p12n9rrav4byvzn1b9wj26dcoq9l.htm\"},{\"name\":\"WAYS\",\"description\":\"Specifies the number of ways to make unique combinations of class variables.\",\"help\":\"WAYS *list*;\",\"arguments\":[{\"name\":\"list\",\"placeholder\":true,\"description\":\"specifies one or more integers that define the number of class variables to combine to form all the unique combinations of class variables. For example, you can specify 2 for all possible pairs and 3 for all possible triples. The list can be specified in the following ways:\\n• <i>m</i>\\n• <i>m1 m2 … mn</i> \\n• <i>m1,m2,…,mn</i>  \\n• <i>m</i> TO <i>n</i> &lt;BY <i>increment</i>&gt;  \\n• <i>m1,m2</i> TO <i>m3</i> &lt;BY <i>increment</i>&gt;, <i>m4</i>\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0kh0rt20vdsvmn1i8nqg781c69m\"}],\"supportSiteTargetFile\":\"n1affq2dctdc8un1eokb50s12qbg.htm\"},{\"name\":\"WEIGHT\",\"aliases\":[\"WGT\"],\"description\":\"Specifies weights for analysis variables in the statistical calculations. You can use a WEIGHT statement and a FREQ statement in the same step of any procedure that supports both statements.\",\"help\":\"WEIGHT *variable*;\",\"arguments\":[{\"name\":\"variable\",\"placeholder\":true,\"description\":\"specifies a numeric variable whose values weight the values of the analysis variables. The values of the variable do not have to be integers.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0ql2iebtqcvpsn1dqg6ckrut3oy\"}],\"supportSiteTargetFile\":\"n1fkicmznf5emon1h4av08a7rfwy.htm\"},{\"name\":\"WHERE\",\"description\":\"Subsets the input data set by specifying certain conditions that each observation must meet before it is available for processing.\",\"help\":\"WHERE where-expression-1\\n<logical-operator where-expression-n>; \",\"arguments\":[{\"name\":\"where-expression\",\"optional\":true,\"placeholder\":true,\"description\":\"is an arithmetic or logical expression that generally consists of a sequence of operands and operators.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p04iz9sx1znb6en1ptu9o3h9ns07c\"},{\"name\":\"logical-operator\",\"optional\":true,\"placeholder\":true,\"description\":\"can be AND, AND NOT, OR, or OR NOT.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0xd4nxmu81y3rn1lzcij1t759lnc\"}],\"supportSiteTargetFile\":\"n0yu3xyqnznndnn0z1v515xzfeboc.htm\"}],\"supportSiteInformation\":{\"docsetId\":\"proc\",\"docsetVersion\":\"v_002\",\"docsetTargetFile\":\"p0f0fjpjeuco4gn1ri963f683mi4.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/MI.json",
    "content": "{\"name\":\"MI\",\"statements\":[{\"name\":\"PROC MI\",\"description\":\"The MI procedure performs multiple imputation of missing data. Missing values are an issue in a substantial number of statistical analyses. Most SAS statistical procedures exclude observations with any missing variable values from the analysis.\",\"help\":\"PROC MI <ALPHA=α><DATA=SAS-data-set><DISPLAYPATTERN=ALL | NOMEANS | NONE><MAXIMUM=numbers><MINIMUM=numbers><MINMAXITER=number><MU0=numbers><NIMPUTE=n | PCTMISSING <( range-options )>><NOPRINT><OUT=SAS-data-set><ROUND=numbers><SEED=number><SIMPLE><SINGULAR=p>;     \\n\\tBY <DESCENDING><NOTSORTED> ;\\n\\n\\tCLASS variables;\\n\\n\\tEM <CONVERGE=p><INITIAL=<CC | AC | AC(R=r)>><ITPRINT> ...;\\n\\n\\tFCS <NBITER=number><OUTITER <( options )> =SAS-data-set><PLOTS<TRACE>> ...;\\n\\n\\tFREQ variable;\\n\\n\\tMCMC <CHAIN=<SINGLE | MULTIPLE>><DISPLAYINIT><IMPUTE=<FULL | MONOTONE>> ...;\\n\\n\\tMNAR <ADJUST( imputed-variable / adjust-options )ADJUST( imputed-variable (EVENT=’level’) / adjust-options )><MODEL( imputed-variables / model-options )> ;\\n\\n\\tMONOTONE DISCRIM <( imputed < = effects> </ options> ) > LOGISTIC <( imputed < = effects> </ options> ) > PROPENSITY <( imputed < = effects> </ options> ) > ...;\\n\\n\\tTRANSFORM BOXCOX EXP LOG ...;\\n\\n\\tVAR variables;\\n\",\"arguments\":[{\"name\":\"ALPHA=\",\"optional\":true,\"description\":\"Specifies that confidence limits be constructed for the mean estimates with confidence level 100(1 - α)%, where 0 < α < 1. The default is ALPHA=0.05.\",\"type\":\"value\"},{\"name\":\"DATA=\",\"optional\":true,\"description\":\"Names the SAS data set to be analyzed by PROC MI. By default, the procedure uses the most recently created SAS data set.\",\"help\":\"DATA=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"DISPLAYPATTERN=\",\"optional\":true,\"description\":\"Requests (except when DISPLAYPATTERN=NONE is specified) a missing data patterns table\",\"help\":\"DISPLAYPATTERN=ALL | NOMEANS | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ALL\",\"description\":\"Displays both the missing data patterns and the group means in the table.\",\"type\":\"standalone\"},{\"name\":\"NOMEANS\",\"description\":\"Displays only the missing data patterns in the table.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"Does not display the missing data patterns table.\",\"type\":\"standalone\"}]},{\"name\":\"MAXIMUM=\",\"optional\":true,\"description\":\"Specifies maximum values for imputed variables.\",\"help\":\"MAXIMUM=*numbers*\",\"type\":\"value\"},{\"name\":\"MINIMUM=\",\"optional\":true,\"description\":\"Specifies the minimum values for imputed variables.\",\"help\":\"MINIMUM=*numbers*\",\"type\":\"value\"},{\"name\":\"MINMAXITER=\",\"optional\":true,\"description\":\"Specifies the maximum number of iterations for imputed values to be in the specified range when the option MINIMUM or MAXIMUM is also specified. The default is MINMAXITER=100.\",\"help\":\"MINMAXITER=*number*\",\"type\":\"value\"},{\"name\":\"MU0=\",\"optional\":true,\"aliases\":[\"THETA0\"],\"description\":\"Specifies the parameter values, µo, under the null hypothesis µ=µo for the population means corresponding to the analysis variables.\",\"help\":\"MU0=*numbers*\",\"type\":\"value\"},{\"name\":\"NIMPUTE=\",\"optional\":true,\"description\":\"Specifies the number of imputations. NIMPUTE=n specifies the number explicitly, and NIMPUTE=PCTMISSING uses the percentage of incomplete cases as the number of imputations. By default, NIMPUTE=25.\",\"help\":\"NIMPUTE=MIN= | MAX=\",\"type\":\"choice\",\"arguments\":[{\"name\":\"MIN=\",\"type\":\"value\"},{\"name\":\"MAX=\",\"type\":\"value\"}]},{\"name\":\"NOPRINT\",\"optional\":true,\"description\":\"Suppresses the display of all output.\",\"type\":\"standalone\"},{\"name\":\"OUT=\",\"optional\":true,\"description\":\"Creates an output SAS data set containing imputation results.\",\"help\":\"OUT=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"ROUND=\",\"optional\":true,\"description\":\"Specifies the units to round variables in the imputation. For example, with ROUND=0.001, each value is rounded to the nearest multiple of 0.001.\",\"help\":\"ROUND=*numbers*\",\"type\":\"value\"},{\"name\":\"SEED=\",\"optional\":true,\"description\":\"Specifies a positive integer to start the pseudo-random number generator.\",\"help\":\"SEED=*number*\",\"type\":\"value\"},{\"name\":\"SIMPLE\",\"optional\":true,\"description\":\"Displays simple descriptive univariate statistics and pairwise correlations from available cases.\",\"type\":\"standalone\"},{\"name\":\"SINGULAR=\",\"optional\":true,\"description\":\"Specifies the criterion for determining the singularity of a covariance matrix based on standardized variables, where 0 < p < 1. The default is SINGULAR=1E-8.\",\"help\":\"SINGULAR=*p*\",\"type\":\"value\"}]},{\"name\":\"BY\",\"description\":\"You can specify a BY statement with PROC MI to obtain separate analyses on observations in groups that are defined by the BY variables. When a BY statement appears, the procedure expects the input data set to be sorted in order of the BY variables. If you specify more than one BY statement, only the last one specified is used.\",\"help\":\"BY &lt;DESCENDING&gt;&lt;NOTSORTED&gt;\",\"arguments\":[{\"name\":\"DESCENDING\",\"optional\":true,\"description\":\"Specifies that the observations are sorted in descending order by the variable that immediately follows the word DESCENDING in the BY statement.\",\"type\":\"standalone\"},{\"name\":\"NOTSORTED\",\"optional\":true,\"description\":\"Specifies that observations are not necessarily sorted in alphabetic or numeric order.\",\"type\":\"standalone\"}]},{\"name\":\"CLASS\",\"description\":\"The CLASS statement specifies the classification variables in the VAR statement. Classification variables can be either character or numeric. The CLASS statement must be used in conjunction with the MONOTONE statement.\",\"help\":\"CLASS variables\"},{\"name\":\"EM\",\"description\":\"The expectation-maximization (EM) algorithm is a technique for maximum likelihood estimation in parametric models for incomplete data.\",\"help\":\"EM &lt;CONVERGE=p&gt;&lt;INITIAL=&lt;CC | AC | AC(R=r)&gt;&gt;&lt;ITPRINT&gt; ...\",\"arguments\":[{\"name\":\"CONVERGE=\",\"optional\":true,\"aliases\":[\"XCONV=\"],\"description\":\"Sets the convergence criterion. The value must be between 0 and 1.\",\"help\":\"CONVERGE=*p*\",\"type\":\"value\"},{\"name\":\"INITIAL=\",\"optional\":true,\"description\":\"Sets the initial estimates for the EM algorithm.\",\"help\":\"INITIAL=CC | AC | AC(R=r)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"CC\",\"description\":\"Uses the means and covariances from complete cases\",\"type\":\"standalone\"},{\"name\":\"AC\",\"description\":\"Uses the means and standard deviations from available cases and the correlations are set to zero\",\"type\":\"standalone\"},{\"name\":\"AC\",\"description\":\"Uses the means and standard deviations from available cases with correlation r, where -1/(p-1) < R < 1 and p is the number of variables to be analyzed.\",\"help\":\"AC(R=r)\",\"type\":\"value\"}]},{\"name\":\"ITPRINT\",\"optional\":true,\"description\":\"Prints the iteration history in the EM algorithm.\",\"type\":\"standalone\"},{\"name\":\"MAXITER=\",\"optional\":true,\"description\":\"Specifies the maximum number of iterations used in the EM algorithm. The default is MAXITER=200.\",\"help\":\"MAXITER=*number*\",\"type\":\"value\"},{\"name\":\"OUT=\",\"optional\":true,\"description\":\"Creates an output SAS data set containing results from the EM algorithm.\",\"help\":\"OUT=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"OUTEM=\",\"optional\":true,\"description\":\"Creates an output SAS data set of TYPE=COV containing the MLE of the parameter vector (µ, Sigma).\",\"help\":\"OUTEM=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"OUTITER=\",\"optional\":true,\"description\":\"Creates an output SAS data set of TYPE=COV containing parameters for each iteration.\",\"type\":\"value\"}]},{\"name\":\"FCS\",\"description\":\"(This statement is Experimental under SAS 9.3) The FCS statement specifies a multivariate imputation by fully conditional specification methods. If you specify an FCS statement, you must also specify a VAR statement.\",\"help\":\"FCS &lt;NBITER=number&gt;&lt;OUTITER &lt;( options )&gt; =SAS-data-set&gt;&lt;PLOTS&lt;TRACE&gt;&gt; ...\",\"arguments\":[{\"name\":\"DISCRIM=\",\"optional\":true,\"description\":\"Specifies the discriminant function method of classification variables. The available options are as follows: CLASSEFFECTS=EXCLUDE | INCLUDE specifies whether the CLASS variables are used as covariate effects. The CLASSEFFECTS=EXCLUDE option excludes the CLASS variables from covariate effects and the CLASSEFFECTS=INCLUDE option includes the CLASS variables as covariate effects. The default is CLASSEFFECTS=EXCLUDE. DETAILS displays the group means and pooled covariance matrix used in each imputation. PCOV=FIXED | POSTERIOR specifies the pooled covariance used in the discriminant method. The PCOV=FIXED option uses the observed-data pooled covariance matrix for each imputation and the PCOV=POSTERIOR option draws a pooled covariance matrix from its posterior distribution. The default is PCOV=POSTERIOR. PRIOR=EQUAL | JEFFREYS <=c> | PROPORTIONAL | RIDGE <=d> specifies the prior probabilities of group membership.\",\"help\":\"DISCRIM=CLASSEFFECTS= | DETAILS | PCOV= | PRIOR=\",\"type\":\"choice\",\"arguments\":[{\"name\":\"CLASSEFFECTS=\",\"type\":\"value\"},{\"name\":\"DETAILS\",\"type\":\"standalone\"},{\"name\":\"PCOV=\",\"type\":\"value\"},{\"name\":\"PRIOR=\",\"type\":\"value\"}]},{\"name\":\"LOGISTIC=\",\"optional\":true,\"description\":\"Specifies the logistic regression method of classification variables. he available options are as follows: DESCENDING reverses the sort order for the levels of the response variables. DETAILS displays the regression coefficients in the logistic regression model used in each imputation. LIKELIHOOD=NOAUGMENT LIKELIHOOD=AUGMENT <( WEIGHT=w | NPARM <(MULT=m)> )> specifies whether to add new observations to the likelihood function in the computation of maximum likelihood estimates. WEIGHT=w explicitly specifies the total added weight w. WEIGHT=NPARM <(MULT=m)> uses the number of parameters in the logistic regression model as the total added weight. LINK=GLOGIT | LOGIT specifies the link function that links the response probabilities to the linear predictors. ORDER=DATA | FORMATTED | FREQ | INTERNAL specifies the sort order for the levels of the response variable.\",\"help\":\"LOGISTIC=DETAILS | LIKELIHOOD= | DESCENDING | WEIGHT= | NPARM | MULT= | LINK= | ORDER=\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DETAILS\",\"type\":\"standalone\"},{\"name\":\"LIKELIHOOD=\",\"type\":\"value\"},{\"name\":\"DESCENDING\",\"type\":\"standalone\"},{\"name\":\"WEIGHT=\",\"type\":\"value\"},{\"name\":\"NPARM\",\"type\":\"standalone\"},{\"name\":\"MULT=\",\"type\":\"value\"},{\"name\":\"LINK=\",\"type\":\"value\"},{\"name\":\"ORDER=\",\"type\":\"value\"}]},{\"name\":\"NBITER=\",\"optional\":true,\"description\":\"Specifies the number of burn-in iterations before each imputation.\",\"help\":\"NBITER=*number*\",\"type\":\"value\"},{\"name\":\"OUTITER=\",\"optional\":true,\"description\":\"Creates an output SAS data set of TYPE=COV that contains parameters used in the imputation step for each iteration. The data set includes variables named _Imputation_ and _Iteration_ to identify the imputation number and iteration number.\",\"type\":\"value\"},{\"name\":\"PLOTS\",\"optional\":true,\"description\":\"Requests statistical graphics of trace plots from iterations via the Output Delivery System (ODS). ODS Graphics must be enabled before requesting plots. For example:\",\"help\":\"PLOTSTRACE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"TRACE\",\"description\":\"Syntax: TRACE <(trace-options)> The available trace-options are as follows: MEAN < ( variables ) > displays plots of means for continuous variables in the list. When the MEAN option is specified without variables, all continuous variables are used. STD < ( variables ) > displays plots of standard deviations for continuous variables in the list. When the STD option is specified without variables, all continuous variables are used.\",\"type\":\"standalone\"}]},{\"name\":\"REGPREDMEANMATCH\",\"optional\":true,\"aliases\":[\"REGPMM\"],\"description\":\"Schenker and Taylor 1996).\",\"type\":\"standalone\"},{\"name\":\"REGRESSION=\",\"optional\":true,\"aliases\":[\"REG\"],\"description\":\"Specifies the regression method of continuous variables. The DETAILS option displays the regression coefficients in the regression model used in each imputation.\",\"help\":\"REGRESSION=DETAILS\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DETAILS\",\"type\":\"standalone\"}]}]},{\"name\":\"FREQ\",\"aliases\":[\"FREQUENCY\"],\"description\":\"If one variable in your input data set represents the frequency of occurrence of other values in the observation, specify the variable name in a FREQ statement. PROC MI then treats the data set as if each observation appears n times, where n is the value of the FREQ variable for the observation.\",\"help\":\"FREQ variable\"},{\"name\":\"MCMC\",\"description\":\"The MCMC statement specifies the details of the MCMC method for imputation.\",\"help\":\"MCMC &lt;CHAIN=&lt;SINGLE | MULTIPLE&gt;&gt;&lt;DISPLAYINIT&gt;&lt;IMPUTE=&lt;FULL | MONOTONE&gt;&gt; ...\",\"arguments\":[{\"name\":\"CHAIN=\",\"optional\":true,\"description\":\"Specifies whether a single chain is used for all imputations or a separate chain is used for each imputation. The default is CHAIN=SINGLE.\",\"help\":\"CHAIN=SINGLE | MULTIPLE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"SINGLE\",\"description\":\"a single chain is used for all imputations.\",\"type\":\"standalone\"},{\"name\":\"MULTIPLE\",\"description\":\"A separate chain is used for each imputation.\",\"type\":\"standalone\"}]},{\"name\":\"DISPLAYINIT\",\"optional\":true,\"description\":\"Displays initial parameter values in the MCMC method for each imputation.\",\"type\":\"standalone\"},{\"name\":\"IMPUTE=\",\"optional\":true,\"description\":\"Specifies whether a full-data imputation is used for all missing values or a monotone-data imputation is used for a subset of missing values to make the imputed data sets have a monotone missing pattern.\",\"help\":\"IMPUTE=FULL | MONOTONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"FULL\",\"description\":\"Specifies that a full-data imputation is used for all missing values\",\"type\":\"standalone\"},{\"name\":\"MONOTONE\",\"description\":\"Specifies that a monotone-data imputation is used for a subset of missing values to make the imputed data sets have a monotone missing pattern.\",\"type\":\"standalone\"}]},{\"name\":\"INEST=\",\"optional\":true,\"description\":\"Names a SAS data set of TYPE=EST containing parameter estimates for imputations.\",\"help\":\"INEST=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"INITIAL=\",\"optional\":true,\"description\":\"Specifies the initial mean and covariance estimates for the MCMC method. The default is INITIAL=EM.\",\"help\":\"INITIAL=EM | INPUT=\",\"type\":\"choice\",\"arguments\":[{\"name\":\"EM\",\"description\":\"Syntax: EM <(options)> PROC MI derives parameter estimates for a posterior mode, the highest observed-data posterior density, from the EM algorithm. The following four options are available with INITIAL=EM: BOOTSTRAP <=number> requests bootstrap resampling, which uses a simple random sample with replacement from the input data set for the initial estimate. You can explicitly specify the number of observations in the random sample. CONVERGE=p | XCONV=p sets the convergence criterion. The value must be between 0 and 1. ITPRINT prints the iteration history in the EM algorithm for the posterior mode. MAXITER=number specifies the maximum number of iterations used in the EM algorithm. The default is MAXITER=200.\",\"type\":\"standalone\"},{\"name\":\"INPUT=\",\"description\":\"Syntax: INITIAL=INPUT=SAS-data-set Reads the initial estimates of the mean and covariance matrix for each imputation from a SAS data set.\",\"type\":\"value\"}]},{\"name\":\"NBITER=\",\"optional\":true,\"description\":\"Specifies the number of burn-in iterations before the first imputation in each chain. The default is NBITER=200.\",\"help\":\"NBITER=*number*\",\"type\":\"value\"},{\"name\":\"NITER=\",\"optional\":true,\"description\":\"Specifies the number of iterations between imputations in a single chain. The default is NITER=100.\",\"help\":\"NITER=*number*\",\"type\":\"value\"},{\"name\":\"OUTEST=\",\"optional\":true,\"description\":\"Creates an output SAS data set of TYPE=EST. The data set contains parameter estimates used in each imputation.\",\"help\":\"OUTEST=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"OUTITER=\",\"optional\":true,\"description\":\"Creates an output SAS data set of TYPE=COV containing parameters used in the imputation step for each iteration. The data set includes variables named _Imputation_ and _Iteration_ to identify the imputation number and iteration number.\",\"type\":\"value\"},{\"name\":\"PLOTS=\",\"optional\":true,\"description\":\"Requests statistical graphics via the Output Delivery System (ODS). Syntax: (1) PLOTS <( LOG )> <= plot-request> (2) PLOTS <( LOG )> <= ( plot-request <...plot-request> )> The global plot option LOG requests that the logarithmic transformations of parameters be used.\",\"help\":\"PLOTS=ACF | ALL | NONE | TRACE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ACF\",\"description\":\"Syntax: ACF<(acf-options)> Displays plots of the autocorrelation function of parameters from iterations. The default is ACF( MEAN). The available acf-options are as follows: NLAG=n specifies the maximum lag of the series. The default is NLAG=20. The autocorrelations at each lag are displayed in the graph. COV < ( < variables > < variable1*variable2 > < ...variable1*variable2 > ) > displays plots of variances for variables in the list and covariances for pairs of variables in the list. MEAN < ( variables ) > displays plots of means for variables in the list. When the option MEAN is specified without variables, all variables are used. WLF displays the plot for the worst linear function.\",\"type\":\"standalone\"},{\"name\":\"ALL\",\"description\":\"Produces all appropriate plots\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"Suppresses all plots\",\"type\":\"standalone\"},{\"name\":\"TRACE\",\"description\":\"Syntax: TRACE<(trace-options)> Displays trace plots of parameters from iterations. The default is TRACE( MEAN). The available trace-options are as follows: COV < ( < variables > < variable1*variable2 > < ...variable1*variable2 > ) > displays plots of variances for variables in the list and covariances for pairs of variables in the list. MEAN < ( variables ) > displays plots of means for variables in the list. When the option MEAN is specified without variables, all variables are used. WLF displays the plot for the worst linear function.\",\"type\":\"standalone\"}]},{\"name\":\"PRIOR=\",\"optional\":true,\"description\":\"Specifies the prior information for the means and covariances.\",\"help\":\"PRIOR=JEFFREYS | RIDGE= | INPUT=\",\"type\":\"choice\",\"arguments\":[{\"name\":\"JEFFREYS\",\"description\":\"Specifies a noninformative prior.\",\"type\":\"standalone\"},{\"name\":\"RIDGE=\",\"description\":\"[Syntax: RIDGE=number] Specifies a ridge prior.\",\"type\":\"value\"},{\"name\":\"INPUT=\",\"description\":\"[Syntax: INPUT=SAS-data-set] Specifies a data set containing prior information.\",\"type\":\"value\"}]},{\"name\":\"START=\",\"optional\":true,\"description\":\"Specifies that the initial parameter estimates are used either as the starting value (START=VALUE) or as the starting distribution (START=DIST) in the first imputation step of each chain.\",\"help\":\"START=VALUE | DIST\",\"type\":\"choice\",\"arguments\":[{\"name\":\"VALUE\",\"description\":\"Specifies that the initial parameter estimates are used as the starting value in the first imputation step of each chain.\",\"type\":\"standalone\"},{\"name\":\"DIST\",\"description\":\"Specifies that the initial parameter estimates are used as the starting distribution in the first imputation step of each chain.\",\"type\":\"standalone\"}]},{\"name\":\"WLF\",\"optional\":true,\"description\":\"Displays the worst linear function of parameters.\",\"type\":\"standalone\"}]},{\"name\":\"MNAR\",\"description\":\"The MNAR statement imputes missing values by using the pattern-mixture model approach, assuming the missing data are missing not at random (MNAR), which is described in the section Multiple Imputation with Pattern-Mixture Models. By comparing inferential results for these values to results for imputed values that are obtained under the missing at random (MAR) assumption, you can assess the sensitivity of the conclusions to the MAR assumption. The inference under MAR is questionable if it leads to results that are different from the results for a plausible MNAR scenario.\",\"help\":\"MNAR &lt;ADJUST( imputed-variable / adjust-options )ADJUST( imputed-variable (EVENT=’level’) / adjust-options )&gt;&lt;MODEL( imputed-variables / model-options )&gt;\",\"arguments\":[{\"name\":\"ADJUST=\",\"optional\":true,\"description\":\"Specifies an imputed-variable in the VAR statement and the subset of observations from which the imputed values for the variable are to be adjusted. If the imputed-variable is a classification variable, you must specify the EVENT= option to identify the response category to which the adjustments are applied. The adjust-options specify the subset of observations and the adjustment parameters.\",\"help\":\"ADJUST=EVENT= | ADJUSTOBS= | SCALE= | SHIFT= | DELTA= | SIGMA= | PARMS\",\"type\":\"choice\",\"arguments\":[{\"name\":\"EVENT=\",\"type\":\"value\"},{\"name\":\"ADJUSTOBS=\",\"type\":\"value\"},{\"name\":\"SCALE=\",\"type\":\"value\"},{\"name\":\"SHIFT=\",\"type\":\"value\"},{\"name\":\"DELTA=\",\"type\":\"value\"},{\"name\":\"SIGMA=\",\"type\":\"value\"},{\"name\":\"PARMS\",\"type\":\"standalone\"}]},{\"name\":\"MODEL=\",\"optional\":true,\"description\":\"Specifies a set of imputed-variables in the VAR statement and the subset of observations from which the imputation models for these variables are to be derived. You can specify multiple MODEL options in the MNAR statement, but only one MODEL option for each imputed variable.\",\"help\":\"MODEL=MODELOBS=\",\"type\":\"choice\",\"arguments\":[{\"name\":\"MODELOBS=\",\"type\":\"value\"}]}]},{\"name\":\"MONOTONE\",\"description\":\"The MONOTONE statement specifies imputation methods for data sets with monotone missingness. You must also specify a VAR statement, and the data set must have a monotone missing pattern with variables ordered in the VAR list.\",\"help\":\"MONOTONE DISCRIM &lt;( imputed &lt; = effects&gt; &lt;/ options&gt; ) &gt; LOGISTIC &lt;( imputed &lt; = effects&gt; &lt;/ options&gt; ) &gt; PROPENSITY &lt;( imputed &lt; = effects&gt; &lt;/ options&gt; ) &gt; ...\",\"arguments\":[{\"name\":\"DISCRIM=\",\"description\":\"Specifies the discriminant function method of classification variables. The available options are DETAILS, PCOV=, and PRIOR=. The DETAILS option displays the group means and pooled covariance matrix used in each imputation. The PCOV= option specifies the pooled covariance used in the discriminant method. Valid values for the PCOV= option are as follows: FIXED uses the observed-data pooled covariance matrix for each imputation. POSTERIOR draws a pooled covariance matrix from its posterior distribution. The default is PCOV=POSTERIOR. The PRIOR= option specifies the prior probabilities of group membership. Valid values for the PRIOR= option are as follows: EQUAL sets the prior probabilities equal for all groups. PROPORTIONAL sets the prior probabilities proportion to the group sample sizes. JEFFREYS < =c > specifies a noninformative prior, 0 < c < 1. If the number c is not specified, JEFFREYS=0.5.\",\"type\":\"value\"},{\"name\":\"LOGISTIC\",\"description\":\"Specifies the logistic regression method of classification variables. The available options are DETAILS, ORDER=, and DESCENDING. The DETAILS option displays the regression coefficients in the logistic regression model used in each imputation. When the imputed variable has more than two response levels, the ordinal logistic regression method is used. The ORDER= option specifies the sorting order for the levels of the response variable. Valid values for the ORDER= option are as follows: DATA sorts by the order of appearance in the input data set. FORMATTED sorts by their external formatted values. FREQ sorts by the descending frequency counts.\",\"type\":\"standalone\"},{\"name\":\"PROPENSITY\",\"description\":\"Specifies the propensity scores method of variables. The available options are DETAILS and NGROUPS=. The DETAILS option displays the regression coefficients in the logistic regression model for propensity scores.\",\"type\":\"standalone\"},{\"name\":\"REGPMM\",\"aliases\":[\"REGPREDMEANMATCH\"],\"description\":\"Specifies the predictive mean matching method for continuous variables. This method is similar to the regression method except that it imputes a value randomly from a set of observed values whose predicted values are closest to the predicted value for the missing value from the simulated regression model (Heitjan and Little 1991; Schenker and Taylor 1996).\",\"type\":\"standalone\"},{\"name\":\"REGRESSION\",\"aliases\":[\"REG\"],\"description\":\"Specifies the regression method of continuous variables. The DETAILS option displays the regression coefficients in the regression model used in each imputation.\",\"type\":\"standalone\"}]},{\"name\":\"TRANSFORM\",\"description\":\"The TRANSFORM statement lists the transformations and their associated variables to be transformed.\",\"help\":\"TRANSFORM BOXCOX EXP LOG ...\",\"arguments\":[{\"name\":\"BOXCOX\",\"description\":\"Specifies the Box-Cox transformation of variables.\",\"type\":\"standalone\"},{\"name\":\"EXP\",\"description\":\"Specifies the exponential transformation of variables.\",\"type\":\"standalone\"},{\"name\":\"LOG\",\"description\":\"Specifies the logarithmic transformation of variables.\",\"type\":\"standalone\"},{\"name\":\"LOGIT\",\"description\":\"Specifies the logit transformation of variables.\",\"type\":\"standalone\"},{\"name\":\"POWER\",\"description\":\"Specifies the power transformation of variables.\",\"type\":\"standalone\"},{\"name\":\"C=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the c value in the transformation. The default is c = 1 for logit transformation and c = 0 for other transformations.\",\"help\":\"C=*number*\",\"type\":\"value\"},{\"name\":\"LAMBDA=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the λ value in the power and Box-Cox transformations.\",\"help\":\"LAMBDA=*number*\",\"type\":\"value\"}]},{\"name\":\"VAR\",\"description\":\"The VAR statement lists the variables to be analyzed. The variables can be either character or numeric.\",\"help\":\"VAR variables\"}],\"supportSiteInformation\":{\"docsetId\":\"statug\",\"docsetVersion\":\"latest\",\"docsetTargetFile\":\"statug_mi_toc.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/MIANALYZE.json",
    "content": "{\"name\":\"MIANALYZE\",\"statements\":[{\"name\":\"PROC MIANALYZE\",\"description\":\"The MIANALYZE procedure combines the results of the analyses of imputations and generates valid statistical inferences. Multiple imputation provides a useful strategy for analyzing data sets with missing values.\",\"help\":\"PROC MIANALYZE <ALPHA=α><BCOV><COVB<(EFFECTVAR=STACKING | ROWCOL)>= SAS-data-set><DATA=SAS-data-set><EDF=number><MULTIVARIATE><PARMINFO=SAS-data-set><PARMS<(CLASSVAR= ctype)>=SAS-data-set><TCOV><THETA0=numbers><WCOV><XPXI=SAS-data-set>;     \\n\\tBY <DESCENDING><NOTSORTED> ;\\n\\n\\tCLASS variables ;\\n\\n\\tMODELEFFECTS effects ;\\n\\n\\tSTDERR variables ;\\n\\n\\tTEST <BCOV><MULT><TCOV> ...;\\n\",\"arguments\":[{\"name\":\"ALPHA=\",\"optional\":true,\"description\":\"Specifies that confidence limits are to be constructed for the parameter estimates with confidence level 100(1 - α), where 0 < α < 1. The default is ALPHA=.\",\"type\":\"value\"},{\"name\":\"BCOV\",\"optional\":true,\"description\":\"Displays the between-imputation covariance matrix.\",\"type\":\"standalone\"},{\"name\":\"COVB=\",\"optional\":true,\"description\":\"Names an input SAS data set that contains covariance matrices of the parameter estimates from imputed data sets. If you provide a COVB= data set, you must also provide a PARMS= data set.\",\"type\":\"value\"},{\"name\":\"DATA=\",\"optional\":true,\"description\":\"Names an input SAS data set. If the input DATA= data set is not a specially structured SAS data set, the data set contains both the parameter estimates and associated standard errors. The parameter estimates are specified in the MODELEFFECTS statement and the standard errors are specified in the STDERR statement. If the data set is a specially structured input SAS data set, it must have a TYPE of EST, COV, or CORR that contains estimates from imputed data sets: o If TYPE=EST, the data set contains the parameter estimates and associated covariance matrices. o If TYPE=COV, the data set contains the sample means, sample sizes, and covariance matrices. Each covariance matrix for variables is divided by the sample size n to create the covariance matrix for parameter estimates. o If TYPE=CORR, the data set contains the sample means, sample sizes, standard errors, and correlation matrices. The covariance matrices are computed from the correlation matrices and associated standard errors. Each covariance matrix for variables is divided by the sample size n to create the covariance matrix for parameter estimates.\",\"help\":\"DATA=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"EDF=\",\"optional\":true,\"description\":\"Specifies the complete-data degrees of freedom for the parameter estimates.\",\"help\":\"EDF=*number*\",\"type\":\"value\"},{\"name\":\"MULTIVARIATE\",\"optional\":true,\"aliases\":[\"MULT\"],\"description\":\"Requests multivariate inference for the parameters. It is based on Wald tests and is a generalization of the univariate inference.\",\"type\":\"standalone\"},{\"name\":\"PARMINFO=\",\"optional\":true,\"description\":\"Names an input SAS data set that contains parameter information associated with variables PRM1, PRM2,..., and so on.\",\"help\":\"PARMINFO=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"PARMS=\",\"optional\":true,\"description\":\"Names an input SAS data set that contains parameter estimates computed from imputed data sets.\",\"type\":\"value\"},{\"name\":\"TCOV\",\"optional\":true,\"description\":\"Displays the total covariance matrix derived by assuming that the population between-imputation and within-imputation covariance matrices are proportional to each other.\",\"type\":\"standalone\"},{\"name\":\"THETA0=\",\"optional\":true,\"aliases\":[\"MU0=\"],\"description\":\"Specifies the parameter values θo under the null hypothesis θ=θo in the t tests for location for the effects.\",\"help\":\"THETA0=*numbers*\",\"type\":\"value\"},{\"name\":\"WCOV\",\"optional\":true,\"description\":\"Displays the within-imputation covariance matrices.\",\"type\":\"standalone\"},{\"name\":\"XPXI=\",\"optional\":true,\"description\":\"Names an input SAS data set that contains the (X'X)⁻¹ matrices associated with the parameter estimates computed from imputed data sets.\",\"help\":\"XPXI=*SAS-data-set*\",\"type\":\"dataSet\"}]},{\"name\":\"BY\",\"description\":\"You can specify a BY statement with PROC MIANALYZE to obtain separate analyses on observations in groups that are defined by the BY variables. When a BY statement appears, the procedure expects the input data set to be sorted in order of the BY variables. If you specify more than one BY statement, only the last one specified is used.\",\"help\":\"BY &lt;DESCENDING&gt;&lt;NOTSORTED&gt;\",\"arguments\":[{\"name\":\"DESCENDING\",\"optional\":true,\"description\":\"Specifies that the observations are sorted in descending order by the variable that immediately follows the word DESCENDING in the BY statement.\",\"type\":\"standalone\"},{\"name\":\"NOTSORTED\",\"optional\":true,\"description\":\"Specifies that observations are not necessarily sorted in alphabetic or numeric order.\",\"type\":\"standalone\"}]},{\"name\":\"CLASS\",\"description\":\"The CLASS statement specifies the classification variables in the MODELEFFECTS statement. Classification variables can be either character or numeric.\",\"help\":\"CLASS variables \"},{\"name\":\"MODELEFFECTS\",\"description\":\"The MODELEFFECTS statement lists the effects in the data set to be analyzed. Each effect is a variable or a combination of variables, and is specified with a special notation that uses variable names and operators.\",\"help\":\"MODELEFFECTS effects \"},{\"name\":\"STDERR\",\"description\":\"The STDERR statement lists standard errors associated with effects in the MODELEFFECTS statement, when the 1input DATA=data set contains both parameter estimates and standard errors as variables in the data set.\",\"help\":\"STDERR variables \"},{\"name\":\"TEST\",\"description\":\"The TEST statement tests linear hypotheses about the parameters β. An F test is used to jointly test the null hypotheses (Ho: LB=c) specified in a single TEST statement in which the MULT option is specified.\",\"help\":\"TEST &lt;BCOV&gt;&lt;MULT&gt;&lt;TCOV&gt; ...\",\"arguments\":[{\"name\":\"BCOV\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays the between-imputation covariance matrix.\",\"type\":\"standalone\"},{\"name\":\"MULT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays the multivariate inference for parameters.\",\"type\":\"standalone\"},{\"name\":\"TCOV\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays the total covariance matrix.\",\"type\":\"standalone\"},{\"name\":\"WCOV\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays the within-imputation covariance matrix.\",\"type\":\"standalone\"}]}],\"supportSiteInformation\":{\"docsetId\":\"statug\",\"docsetVersion\":\"latest\",\"docsetTargetFile\":\"statug_mianalyze_toc.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/MIGRATE.json",
    "content": "{\"name\":\"MIGRATE\",\"statements\":[{\"name\":\"PROC MIGRATE\",\"description\":\"Migrates a SAS library forward to the current release of SAS software.\",\"help\":\"PROC MIGRATE IN=*libref-1*OUT=*libref-2*&lt;*options*&gt;;\",\"arguments\":[{\"name\":\"IN=\",\"description\":\"names the source SAS library from which to migrate members.\",\"help\":\"IN=*libref-1*\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"n1q1ugiy5q0qaon17rbgxgsdf1zn\"},{\"name\":\"OUT=\",\"description\":\"names the target SAS library to contain the migrated members.\",\"help\":\"OUT=*libref-2*\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"p1j77a352lm3zrn1s1tr8n31r7yn\"},{\"name\":\"BUFSIZE=\",\"optional\":true,\"description\":\"specifies the buffer page size of the members that are written to the target library.\",\"help\":\"BUFSIZE=KEEPSIZE | *n* | *n*K | *n*M | *n*G\",\"type\":\"choice\",\"arguments\":[{\"name\":\"KEEPSIZE\",\"description\":\"retains (clones) the page size of members from the source library.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0jjyu6mftdf5pn13m42573xo54b\"},{\"name\":\"n\",\"placeholder\":true,\"description\":\"specifies the number of bytes.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p12ezgjpccqb9un0zq6moitv9552\"},{\"name\":\"K\",\"description\":\"specifies the number of kilobytes.\",\"help\":\"*n*K\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n01pfmr0h2jfozn1tdqjwhn1glmx\"},{\"name\":\"M\",\"description\":\"specifies the number of megabytes.\",\"help\":\"*n*M\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1kin9fyogcm4nn1fxsoq4uk9w4h\"},{\"name\":\"G\",\"description\":\"specifies the number of gigabytes.\",\"help\":\"*n*G\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1icydyjytfh6dn1w5n4ws0aj5v2\"}],\"supportSiteTargetFragment\":\"p0gyy8iulw4pqan1jmxeplrnavfm\"},{\"name\":\"ENCODING=\",\"optional\":true,\"description\":\"specifies the session encoding that was used when formats catalogs were created.\",\"help\":\"ENCODING=*encoding-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0v4bk1le7y8o7n1cjowgzr6uuzm\"},{\"name\":\"MOVE\",\"optional\":true,\"description\":\"deletes the original members from the source library.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1285hovyus8lan1morr7zg4sdja\"},{\"name\":\"SLIBREF=\",\"optional\":true,\"description\":\"specifies a libref that is assigned through a SAS/CONNECT server.\",\"help\":\"SLIBREF=*libref*\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"n0v3evugsvjcswn1w52ymyl1xn0e\"},{\"name\":\"KEEPNODUPKEY\",\"optional\":true,\"description\":\"specifies to retain the NODUPKEY sort order.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0q24fge9m86lan1kuyxavoj5gij\"}],\"supportSiteTargetFile\":\"p0z08wz8jd550kn152x6t8yo7fl2.htm\"}],\"supportSiteInformation\":{\"docsetId\":\"proc\",\"docsetVersion\":\"v_002\",\"docsetTargetFile\":\"p1kv04orx2cy03n1urntor37gzkz.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/MIRP.json",
    "content": "{\"name\":\"MIRP\",\"statements\":[{\"name\":\"PROC MIRP\",\"description\":\"The MIRP procedure is designed for inventory replenishment planning. It answers three basic questions about inventory: Where should it be stocked? When should it be stocked? How much of it should be stocked? A replenishment plan consists of control parameters that determine replenishment quantities for each product at each location at each period. The MIRP procedure optimizes these control parameters so that service-level requirements are satisfied at minimum inventory costs.\",\"help\":\"PROC MIRP *options*  ;    NODE &lt;/ options&gt;;   ARC &lt;/ options&gt;;   DEMAND &lt;/ options&gt;;   INVENTROY &lt;/ options&gt;;   \",\"arguments\":[{\"name\":\"ARCDATA=\",\"optional\":true,\"description\":\"names the SAS data set that contains the network specification. Variables in the data set are defined in the section ARC Statement. This option is required unless you specify SINGLEECHELON=YES. When you specify the ARCDATA= option, you must also specify a variable in the NETWORKID= option in the NODE statement and you must group the data by that variable.\",\"help\":\"ARCDATA=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"CV2=\",\"optional\":true,\"description\":\"specifies whether PROC MIRP uses the classic definition or a customized definition of the coefficient of variation (CV). You can specify the following values: YES uses a classic definition of CV, which is the ratio between the standard deviation (the square root of the variance) of demand and the average of demand. NO uses the customized definition of CV, which is the ratio between the variance and the average of demand. This option applies only when DEMANDMODEL=DISCRETE. If DEMANDMODEL=CONTINUOUS, the classic definition of CV is used. By default, CV2=NO.\",\"help\":\"CV2=*YES | NO*\",\"type\":\"value\"},{\"name\":\"DEMANDDATA=\",\"optional\":true,\"description\":\"names the SAS data set that contains forecasts of customer demand. Variables in the data set are defined in the section DEMAND Statement. This option is required, and the data must be grouped by the variable specified in the NETWORKID= option in the NODE statement.\",\"help\":\"DEMANDDATA=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"DEMANDMODEL=\",\"optional\":true,\"description\":\"specifies how PROC MIRP is to model the demand forecast. You can specify the following values: DISCRETE models the demand by a set of discrete statistical distributions. More specifically, depending on the ratio between the mean and variance of the demand, the procedure selects from the Bernoulli, binomial, Poisson, negative binomial, or geometric distribution or from any mix of these distributions. This value is recommended for modeling slow-moving items such as spare parts. CONTINUOUS models the demand by either a normal distribution or a mixed-normal distribution. This value is a better fit for fast-moving items. By default, DEMANDMODEL=CONTINUOUS. For more information about the demand distributions, see the section Modeling Demand..\",\"help\":\"DEMANDMODEL=*DISCRETE | CONTINUOUS*\",\"type\":\"value\"},{\"name\":\"FORECASTINTERVAL=\",\"optional\":true,\"description\":\"specifies the number of base periods in each forecast period in the DEMANDDATA= data set. For example, if FORECASTINTERVAL=7, one forecast period is equivalent to seven base periods. By default, FORECASTINTERVAL=1. This option is useful when the forecast period is at a higher granular level than the base period for the inventory replenishment. Quite often the demand forecast is conducted weekly in order to achieve sufficient accuracy, and the inventory is replenished daily. You need to know what daily demand looks like in order to make daily replenishment decisions. To handle the discrepancy in the time scale, you can break down the weekly forecast into a daily forecast (via equal split or through a daily index). PROC MIRP can also break down the forecast, and it uses an equal split.\",\"help\":\"FORECASTINTERVAL=*i*\",\"type\":\"value\"},{\"name\":\"HORIZON=\",\"optional\":true,\"description\":\"specifies the number of base periods for which policy parameters or key performance indicators (KPIs) or both are computed. By default, HORIZON=12.\",\"help\":\"HORIZON=*i*\",\"type\":\"value\"},{\"name\":\"INVENTORYDATA=\",\"optional\":true,\"description\":\"names the SAS data set that contains inventory or policy parameters or both. Variables in this data set are defined in the section INVENTORY Statement. This option is required when you specify one of the following values in the OBJECTIVE= option: CREATEORDER, PREDICTKPI, ORDER_KPI, or POLICY_ORDER_KPI. If you specify this option, you must group the data by the variable specified in the NETWORKID= option in the NODE statement.\",\"help\":\"INVENTORYDATA=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"LOOKUPTABLE=\",\"optional\":true,\"description\":\"specifies whether to create a lookup table for fast calculation. You can specify the following values: YES creates a lookup table. This option can boost the speed of the MIRP procedure when policy optimization is needed for a large number of SKU-locations. NO does not create a lookup table. By default, LOOKUPTABLE=NO.\",\"help\":\"LOOKUPTABLE=*YES | NO*\",\"type\":\"value\"},{\"name\":\"MAXCV=\",\"optional\":true,\"description\":\"specifies the maximum coefficient of variation (CV) that is allowed in the demand forecast. The definition of CV depends on the CV2= option if DEMANDMODEL=DISCRETE. When PROC MIRP detects any demand forecast that has a CV that exceeds number, it writes a warning message to the log and decreases the variance of the demand to meet number. By default, MAXCV=1.\",\"help\":\"MAXCV=*i*\",\"type\":\"value\"},{\"name\":\"MAXMESSAGES=\",\"optional\":true,\"description\":\"specifies the maximum number of warning and error messages that PROC MIRP writes to the log. If this option is omitted, the procedure displays all messages.\",\"help\":\"MAXMESSAGES=*i*\",\"type\":\"value\"},{\"name\":\"MESSAGE=\",\"optional\":true,\"description\":\"names the output data set to contain any warning or error messages or both. If this option is omitted, this data set is not created. The variables in this data set are defined in the section Variables in the MESSAGE= Data Set. The data are grouped by the variable specified in the NETWORKID= option in the NODE statement.\",\"help\":\"MESSAGE=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"MINCV=\",\"optional\":true,\"description\":\"specifies the minimum coefficient of variation (CV) that is allowed in the demand forecast. The definition of CV depends on the CV2= option if DEMANDMODEL=DISCRETE. When PROC MIRP detects any demand forecast that has a CV that falls below number, it writes a warning message to the log and increases the variance of the demand to meet number. By default, MINCV=0.1.\",\"help\":\"MINCV=*i*\",\"type\":\"value\"},{\"name\":\"NETWORKCNT=\",\"optional\":true,\"description\":\"specifies the number of networks (NETWORKIDs) to be processed. The first n NETWORKIDs are processed. By default, all NETWORKIDs are processed.\",\"help\":\"NETWORKCNT=*i*\",\"type\":\"value\"},{\"name\":\"NODEDATA=\",\"optional\":true,\"description\":\"names the SAS data set that contains information about each SKU-location. These variables are defined in the section NODE Statement. This option is required, and the data must be grouped by the variable specified in the NETWORKID= option in the NODE statement.\",\"help\":\"NODEDATA=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"OBJECTIVE=\",\"optional\":true,\"description\":\"specifies how the procedure is used. By default, OBJECTIVE=OPTPOLICY. You can specify one of the following options:\",\"help\":\"OBJECTIVE=*option*\",\"type\":\"value\",\"arguments\":[{\"name\":\"OPTPOLICY\",\"description\":\"optimizes reorder and order-up-to levels for all locations at each planning period, subject to their service-levels constraints.\",\"type\":\"standalone\"},{\"name\":\"OPTISL\",\"description\":\"optimizes service levels of locations that are not customer-facing, subject to service-level constraints at customer-facing locations.\",\"type\":\"standalone\"},{\"name\":\"EVALISL\",\"description\":\"evaluates costs of a network, subject to service-level constraints at all locations.\",\"type\":\"standalone\"},{\"name\":\"CREATEORDER\",\"description\":\"determines order quantities for all locations, based on inventory control policies and current on-hand and pipeline inventory.\",\"type\":\"standalone\"},{\"name\":\"PREDICTKPI\",\"description\":\"estimates key performance indicators (KPIs) for all locations in a network at each planning period, based on inventory control policies and current on-hand and pipeline inventory.\",\"type\":\"standalone\"},{\"name\":\"POLICY_ORDER\",\"description\":\"is equivalent to the combination of OPTPOLICY and CREATEORDER.\",\"type\":\"standalone\"},{\"name\":\"POLICY_ORDER_KPI\",\"description\":\"is equivalent to the combination of OPTPOLICY, CREATEORDER, and PREDICTKPI.\",\"type\":\"standalone\"},{\"name\":\"ORDER_KPI\",\"description\":\"is equivalent to the combination of CREATEORDER and PREDICTKPI.\",\"type\":\"standalone\"},{\"name\":\"OPTIMIZATION\",\"description\":\"is equivalent to the combination of OPTISL and OPTPOLICY.\",\"type\":\"standalone\"}]},{\"name\":\"OUT=\",\"optional\":true,\"description\":\"names the output data set to contain computation results for all SKU-locations. If this option is omitted, PROC MIRP creates a data set and names it according to the DATAn naming convention. The variables in this data set are defined in the section Variables in the OUT= Data Set. The data are grouped by the variable specified in the NETWORKID= option in the NODE statement.\",\"help\":\"OUT=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"POLICYPARAM=\",\"optional\":true,\"description\":\"specifies the type of reorder and order-up-to levels. You can specify the following values: INTEGER specifies that reorder and order-up-to levels are integers. This value is preferred in discrete manufacturing and distribution applications (such as spare parts management). DOUBLE specifies that reorder and order-up-to levels are doubles. This value is often appropriate in chemical processes. By default, POLICYPARM=INTEGER.\",\"help\":\"POLICYPARAM=*INTEGER | DOUBLE*\",\"type\":\"value\"},{\"name\":\"REPLICATIONS=\",\"optional\":true,\"description\":\"specifies the number of simulation replications to be used in policy optimization and KPI prediction. By default, REPLICATIONS=200. Because PROC MIRP uses simulation in the optimization and prediction steps, the accuracy increases as the number of replications increases. However, the run time also increases.\",\"help\":\"REPLICATIONS=*i*\",\"type\":\"value\"},{\"name\":\"SINGLEECHELON=\",\"optional\":true,\"description\":\"specifies whether SKU-locations that are defined in the NODEDATA= data set are single-echelon. You can specify the following values: YES specifies that SKU-locations are single-echelon. NO specifies that SKU-locations are not single-echelon. By default, SINGLEECHELON=NO.\",\"help\":\"SINGLEECHELON=*YES | NO*\",\"type\":\"value\"},{\"name\":\"SYSTEM=\",\"optional\":true,\"description\":\"specifies whether to push excess inventory to downstream SKU-locations. During a promotional or seasonal sale, for example, you might want to use the push system to transfer excess inventory from a warehouse to retailers even though the retailers already have enough inventory to satisfy forecast demand. You can specify the following values: PULL requests that PROC MIRP attempt to best satisfy the demand at each SKU-location and that any excess inventory at an upstream SKU-location not be distributed to the downstream SKU-locations. PUSH requests that all excess inventory at an upstream SKU-location be distributed among the downstream SKU-locations, subject to any capacity constraints. By default, SYSTEM=PULL. When SYSTEM=PUSH, the variables that are specified in the ORDERMAX= and ORDERMIN= options in the NODE statement are ignored. Instead, you can use the CAPACITY= and BATCHSIZE= options in the NODE statement to specify variables that place bounds on the amount of inventory that can be pushed to a SKU-location.\",\"help\":\"SYSTEM=*PULL | PUSH*\",\"type\":\"value\"}]},{\"name\":\"ARC\",\"description\":\"The ARC statement enables you to name variables in the data set that you specify in the ARCDATA= option in the PROC MIRP statement. If you do not specify one of the following options to name a variable, PROC MIRP searches for that variable by its default names.\",\"help\":\"ARC */options*;\",\"arguments\":[{\"name\":\"NETWORKID=\",\"placeholder\":true,\"description\":\"identifies a character variable in the ARCDATA= data set that specifies the network ID for each arc.\",\"type\":\"value\"},{\"name\":\"PREDECESSOR=\",\"placeholder\":true,\"description\":\"identifies a character variable in the ARCDATA= data set that specifies the SKU-location of the predecessor of each arc. If an arc links a SKU-location to an external supplier, specify PREDECESSOR=EXTERNAL. Note that EXTERNAL is a reserved word and can be used only in this situation.\",\"type\":\"value\"},{\"name\":\"SUCCESSOR=\",\"placeholder\":true,\"description\":\"identifies a character variable in the ARCDATA= data set that specifies the SKU-location of the successor of each arc.\",\"type\":\"value\"},{\"name\":\"PIPELINECOST=\",\"optional\":true,\"placeholder\":true,\"description\":\"identifies a numeric variable in the ARCDATA= data set that specifies the unit cost per period of inventory in transit from the predecessor to the successor. Missing values of this variable are assumed to be equal to 0.\",\"type\":\"value\"},{\"name\":\"QUANTITY=\",\"optional\":true,\"placeholder\":true,\"description\":\"identifies a numeric variable in the ARCDATA= data set that specifies the bill of material (BOM) quantity between the predecessor and the successor of each arc. It is the number of units at the predecessor required to produce one unit at the successor. Missing values of this variable are assumed to be equal to 1.\",\"type\":\"value\"}]},{\"name\":\"DEMAND\",\"description\":\"The DEMAND statement enables you to name variables in the data set that you specify in the DEMANDDATA= option in the PROC MIRP statement. If you do not specify one of the following options to name a variable, PROC MIRP searches for that variable by its default names.\",\"help\":\"DEMAND */options*;\",\"arguments\":[{\"name\":\"MEAN=\",\"placeholder\":true,\"description\":\"identifies a numeric variable in the DEMANDDATA= data set that specifies the average of demand. When demand intervals are specified in the NODEDATA= data set, the mean and variance of positive demand should be provided in the DEMANDDATA= data set.\",\"type\":\"value\"},{\"name\":\"NETWORKID=\",\"placeholder\":true,\"description\":\"identifies a character variable in the DEMANDDATA= data set that specifies the network ID for each SKU-location.\",\"type\":\"value\"},{\"name\":\"SKULOC=\",\"placeholder\":true,\"description\":\"identifies a character variable in the DEMANDDATA= data set that specifies the ID for each SKU-location.\",\"type\":\"value\"},{\"name\":\"VARIANCE=\",\"placeholder\":true,\"description\":\"identifies a numeric variable in the DEMANDDATA= data set that specifies the variance of demand. The mean and variance of demand can both be zero. However, a zero mean and a positive variance are not allowed. When demand intervals are specified in the NODEDATA= data set, the mean and variance of positive demand should be provided in the DEMANDDATA= data set.\",\"type\":\"value\"},{\"name\":\"PERIOD\",\"optional\":true,\"placeholder\":true,\"description\":\"identifies a numeric variable in the DEMANDDATA= data set that specifies the time period of demand forecast. Valid values are positive integers (such as 1, 2, 3, ...).\",\"type\":\"value\"},{\"name\":\"PERIODDESC\",\"optional\":true,\"placeholder\":true,\"description\":\"identifies a numeric variable in the DEMANDDATA= data set that specifies the description of the time period of demand forecast as a SAS date.\",\"type\":\"value\"}]},{\"name\":\"INVENTORY\",\"description\":\"The INVENTORY statement enables you to name variables in the data set that you specify in the INVENTORY= option in the PROC MIRP statement. If you do not specify one of the following options to name a variable, PROC MIRP searches for that variable by its default names. The variables that are specified in the ORDERUPTOLEVEL= and REORDERLEVEL= options are not required when the value of the OBJECTIVE= option in the PROC MIRP statement is OPTPOLICY, POLICY_ORDER, POLICY_ORDER_KPI, or OPTIMIZATION. For all other values of the OBJECTIVE= option, these variables are required.\",\"help\":\"INVENTORY */options*;\",\"arguments\":[{\"name\":\"NETWORKID=\",\"placeholder\":true,\"description\":\"identifies a character variable in the INVENTORYDATA= data set that specifies the network ID for each SKU-location.\",\"type\":\"value\"},{\"name\":\"ORDERUPTOLEVEL=\",\"placeholder\":true,\"description\":\"identifies a numeric variable in the INVENTORYDATA= data set that specifies the order-up-to level at a SKU-location for a period. This option is required when you specify one of the following values in the OBJECTIVE= option in the PROC MIRP statement: CREATEORDER, PREDICTKPI, or ORDER_KPI. Missing values of this variable are assumed to be equal to 0.\",\"type\":\"value\"},{\"name\":\"REORDERLEVEL=\",\"placeholder\":true,\"description\":\"identifies a numeric variable in the INVENTORYDATA= data set that specifies the reorder level at a SKU-location for a period. This option is required when you specify one of the following values in the OBJECTIVE= option in the PROC MIRP statement: CREATEORDER, PREDICTKPI, or ORDER_KPI. Missing values of this variable are assumed to be equal to 0.\",\"type\":\"value\"},{\"name\":\"SKULOC=\",\"placeholder\":true,\"description\":\"identifies a character variable in the INVENTORYDATA= data set that specifies the ID for each SKU-location. Copyright © SAS Institute Inc. All rights reserved.\",\"type\":\"value\"},{\"name\":\"AMOUNT=\",\"optional\":true,\"placeholder\":true,\"description\":\"identifies a numeric variable in the INVENTORYDATA= data set that specifies the amount of inventory to arrive at a location for a period. The value of the variable can be negative at period 1 to represent initial backlog. Missing values of this variable are assumed to be equal to 0.\",\"type\":\"value\"},{\"name\":\"ORDERFLAG=\",\"optional\":true,\"placeholder\":true,\"description\":\"identifies a numeric variable in the INVENTORYDATA= data set that specifies the order flag at a SKU-location for a period. If the variable is set to 1, a replenishment order can be placed at the SKU-location at a period. Otherwise, no orders can be placed. Missing values of this variable are not allowed. Not using the variable is equivalent to setting the variable to 1 at all SKU-locations for all periods.\",\"type\":\"value\"},{\"name\":\"PERIDO=\",\"optional\":true,\"placeholder\":true,\"description\":\"identifies a numeric variable in the INVENTORYDATA= data set that specifies the arrival period of inventory at a SKU-location.\",\"type\":\"value\"}]},{\"name\":\"NODE\",\"description\":\"The NODE statement enables you to name variables in the data set that you specify in the NODEDATA= option in the PROC MIRP statement. If you do not specify one of the following options to name a variable, PROC MIRP searches for that variable by its default names.\",\"help\":\"NODE */options*;\",\"arguments\":[{\"name\":\"HOLDINGCOST=\",\"placeholder\":true,\"description\":\"identifies a numeric variable in the NODEDATA= data set that specifies the unit holding cost per period for each SKU-location. This variable is required.\",\"type\":\"value\"},{\"name\":\"LEADTIME=\",\"placeholder\":true,\"description\":\"identifies a numeric variable in the NODEDATA= data set that specifies the expected lead time for each SKU-location. This variable is required, and all values of this variable must be nonnegative integers.\",\"type\":\"value\"},{\"name\":\"NETWORKID=\",\"placeholder\":true,\"description\":\"identifies a character variable that specifies the network ID for each SKU-location in the NODEDATA= data set. This variable enables you to compute policy parameters for multiple networks by issuing a single call to PROC MIRP, which is illustrated in the section Multiple Networks within a Single Call. This variable is required.\",\"type\":\"value\"},{\"name\":\"SERVICELEVEL=\",\"placeholder\":true,\"description\":\"identifies a numeric variable in the NODEDATA= data set that specifies the service-level requirement for each SKU-location. This variable is required.\",\"type\":\"value\"},{\"name\":\"SKULOC=\",\"placeholder\":true,\"description\":\"identifies a character variable in the NODEDATA= data set that specifies the ID for each SKU-location. This variable is required.\",\"type\":\"value\"},{\"name\":\"BATCHSIZE=\",\"optional\":true,\"placeholder\":true,\"description\":\"identifies a numeric variable in the NODEDATA= data set that contains the batch-size constraint on the size of orders that can be placed at each SKU-location. For example, if the batch size is 12, the order quantity must be an integer multiple of 12. The value of this variable must be 0 or positive. A value of 0 means that there is no batch-size constraint. Missing values of this variable are assumed to be equal to 0.\",\"type\":\"value\"},{\"name\":\"CAPACITY=\",\"optional\":true,\"placeholder\":true,\"description\":\"identifies a variable that specifies the inventory capacity at a particular SKU-location. If SYSTEM=PULL in the PROC MIRP statement, the variable that is specified in the CAPACITY= option is ignored; you can use the variables that are specified in the ORDERMAX=, ORDERMIN=, and BATCHSIZE= options to place bounds on the order size.\",\"type\":\"value\"},{\"name\":\"DEMANDINTERVAL=\",\"optional\":true,\"placeholder\":true,\"description\":\"identifies a numeric variable in the NODEDATA= data set that contains the average number of periods between two positive demands. For example, the value of 2 means that the demand comes every two periods on average. This variable is used to model intermittent demand. When this variable is specified, the demand mean and variance in the DEMANDDATA= data set must be the mean and variance of positive demand that can occur in a period. The value of this variable must be 1 or greater. The value of 1 means that the demand mean and variance in the DEMANDDATA= data set are for the demand per period. Missing values of this variable are assumed to be equal to 1.\",\"type\":\"value\"},{\"name\":\"DESCRIPTION=\",\"optional\":true,\"placeholder\":true,\"description\":\"identifies a character variable in the NODEDATA= data set that contains the description for each SKU-location. If this variable is specified in the NODEDATA= data set, the information is stored in the DESCRIPTION variable in the output data set. Otherwise, the output data set does not contain the DESCRIPTION variable.\",\"type\":\"value\"},{\"name\":\"FIXEDCOST=\",\"optional\":true,\"placeholder\":true,\"description\":\"identifies a numeric variable in the NODEDATA= data set that contains the fixed ordering cost for each SKU-location. The fixed ordering cost is charged when a replenishment order is placed. It is independent of the order amount. Missing values of this variable are assumed to be equal to 0.\",\"help\":\"*FIXEDCOST=* \",\"type\":\"value\"},{\"name\":\"LEADTIMEMAX=\",\"optional\":true,\"placeholder\":true,\"description\":\"identifies a numeric variable in the NODEDATA= data set that specifies the maximum lead time for each SKU-location. All values of this variable must be nonnegative integers or missing values. Missing values are assumed to be equal to the expected lead time. If a maximum lead time variable is specified in the NODEDATA= data set, then a minimum lead time variable must also be specified by using the LEADTIMEMIN= option. For information about how PROC MIRP uses the minimum lead time and maximum lead time to determine the distribution of lead time, see the LEADTIME= option.\",\"type\":\"value\"},{\"name\":\"LEADTIMEMIN=\",\"optional\":true,\"placeholder\":true,\"description\":\"identifies a numeric variable in the NODEDATA= data set that specifies the minimum lead time for each SKU-location. All values of this variable must be nonnegative integers or missing values. Missing values are assumed to be equal to the expected lead time. If a minimum lead time variable is specified in the NODEDATA= data set, then a maximum lead time variable must also be specified by using the LEADTIMEMAX= option. For information about how PROC MIRP uses the minimum lead time and maximum lead time to determine the distribution of lead time, see the LEADTIME= option.\",\"type\":\"value\"},{\"name\":\"MPL=\",\"optional\":true,\"placeholder\":true,\"description\":\"identifies a variable that specifies a lower bound on the order-up-to level determined during policy optimization for each SKU-location. This option is used only when the value of the OBJECTIVE= option in the PROC MIRP statement is OPTPOLICY, POLICY_ORDER, POLICY_ORDER_KPI, or OPTIMIZATION. Missing values of this variable are not allowed.\",\"type\":\"value\"},{\"name\":\"NEXTREPLENISH=\",\"optional\":true,\"placeholder\":true,\"description\":\"identifies a numeric variable in the NODEDATA= data set that specifies when the first replenishment order can be made for each SKU-location. For example, if the value of the variable is equal to 1, the first replenishment order can be placed in period 1. If the value of the variable is 4, no replenishment order can be placed until period 4. Missing values of this variable are assumed to be equal to 1.\",\"type\":\"value\"},{\"name\":\"ORDERMAX=\",\"optional\":true,\"placeholder\":true,\"description\":\"identifies a numeric variable in the NODEDATA= data set that specifies the maximum amount of an order that can be placed at each SKU-location. Missing values of this variable are assumed to be the largest double that your operating system supports. If SYSTEM=PUSH in the PROC MIRP statement, the variable that is specified in the ORDERMAX= option is ignored; you can use the variable that is specified in the CAPACITY= option to place bounds on the order size.\",\"type\":\"value\"},{\"name\":\"ORDERMIN=\",\"optional\":true,\"placeholder\":true,\"description\":\"identifies a numeric variable in the NODEDATA= data set that specifies the minimum amount of an order that can be placed at each SKU-location. Missing values of this variable are assumed to be equal to 0. If SYSTEM=PUSH in the PROC MIRP statement, the variable that is specified in the ORDERMIN= option is ignored; you can use the variable that is specified in the BATCHSIZE= option to place bounds on the order size..\",\"help\":\"*ORDERMIN=* \",\"type\":\"value\"},{\"name\":\"PBR=\",\"optional\":true,\"placeholder\":true,\"description\":\"identifies a numeric variable in the NODEDATA= data set that specifies the number of periods between two replenishment orders for each SKU-location. Missing values of this variable are assumed to be equal to 1. When you specify this option and the variable specified by the POLICYTYPE= variable indicates the base-stock policy, replenishment orders can be placed only once every number of periods specified by the PBR= variable. For example, if the value of the PBR= variable is 4 and the value of the POLICYTYPE= variable is BS to indicate the base-stock policy, then replenishment orders can be placed only once every four periods. When you specify this option and the variable specified by the POLICYTYPE= variable indicates the min-max policy, replenishment orders can be placed in any period. However, the policy parameters are computed such that on average the number of periods between two replenishment orders is not less than the value of the PBR= variable.\",\"type\":\"value\"},{\"name\":\"POLICYTYPE=\",\"optional\":true,\"placeholder\":true,\"description\":\"identifies a character variable in the NODEDATA= data set that specifies the policy type to be used at each SKU-location. The procedure supports two policy types: BS (base-stock policy) and SS (min-max policy). Missing values of this variable are assumed to be BS. The base-stock policy is also called one-to-one replenishment policy, because the order-up-to level is equal to the reorder level plus 1. This policy is recommended when the fixed ordering cost is insignificant compared to the inventory holding cost. The min-max policy is recommended when the fixed ordering cost is significantly higher than the inventory holding cost. In this case, a large amount of inventory should be ordered so that replenishment is less frequent. The order-up-to level in this policy is greater than the reorder level by at least 1. When the difference is exactly 1, this policy is reduced to the base-stock policy.\",\"help\":\"*POLICYTYPE=* \",\"type\":\"value\"},{\"name\":\"SERVICETYPE=\",\"optional\":true,\"placeholder\":true,\"description\":\"identifies a numeric variable in the NODEDATA= data set that specifies the type of service level used for each SKU-location. The procedure supports three service types: RR (ready rate), FR (fill rate), and BR (back-order ratio). Missing values of this variable are assumed to be RR. The ready rate is also called the non-stockout probability. It is the probability of not running out of stock (that is, having positive on-hand inventory) at the end of a period. A historical ready rate can be measured as the ratio between the number of periods that have positive on-hand inventory and the total number of periods under consideration. The fill rate is the percentage of demand that is satisfied immediately by on-hand inventory. The back-order ratio is the ratio between the average backlog at the end of a period and the average demand during the period.\",\"type\":\"value\"}]}],\"supportSiteInformation\":{\"docsetId\":\"irpug\",\"docsetVersion\":\"1.0\",\"docsetTargetFile\":\"irpug_mirp_toc.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/MIXED.json",
    "content": "{\"name\":\"MIXED\",\"statements\":[{\"name\":\"PROC MIXED\",\"description\":\"The MIXED procedure fits a variety of mixed linear models to data and enables you to use these fitted models to make statistical inferences about the data. A mixed linear model is a generalization of the standard linear model used in the GLM procedure, the generalization being that the data are permitted to exhibit correlation and nonconstant variability. The mixed linear model, therefore, provides you with the flexibility of modeling not only the means of your data (as in the standard linear model) but their variances and covariances as well. † The primary assumptions underlying the analyses performed by PROC MIXED are as follows: † o The data are normally distributed (Gaussian). † o The means (expected values) of the data are linear in terms of a certain set of parameters. † o The variances and covariances of the data are in terms of a different set of parameters, and they exhibit a structure matching one of those available in PROC MIXED.\",\"help\":\"PROC MIXED <ABSOLUTE><ALPHA=number><ANOVAF><ASYCORR> ASYCOV <CL<=WALD>><CONVF<=number>><CONVG<=number>><CONVH<=number>><COVTEST><DATA=SAS-data-set><DFBW><EMPIRICAL><IC><INFO><ITDETAILS><LOGNOTE><MAXFUNC=number><MAXITER=number><METHOD=REML | ML | MIVQUE0... ><MMEQ><MMEQSOL><NAMELEN<=number>><NOBOUND><NOCLPRINT<=number>><NOINFO><NOITPRINT><NOPROFILE><ORD><ORDER=DATA | FORMATTED | FREQ... ><PLOTS=ALL | BOXPLOT | DISTANCE... ><RANKS><RATIO><RIDGE=number><SCORING<=number>>;     \\n\\tBY <DESCENDING><NOTSORTED> ;\\n\\n\\tCLASS <REF=<FIRST | LAST>><TRUNCATE> ;\\n\\n\\tCODE <CATALOG=library.catalog.entry.type><DUMMIES><NODUMMIES> ...;\\n\\n\\tCONTRAST <CHISQ><DF=number><E> ...;\\n\\n\\tESTIMATE <ALPHA=number><CL><DF=number> ...;\\n\\n\\tID variables ;\\n\\n\\tLSMEANS <ADJDFE=<SOURCE | ROW>><ADJUST=<BON | DUNNETT | SCHEFFE>... ><ALPHA=number> ...;\\n\\n\\tLSMESTIMATE <ADJDFE=<SOURCE | ROW>><ADJUST=<BON | SCHEFFE | SIDAK>... ><ALPHA=number> ...;\\n\\n\\tMODEL <ALPHA=number><ALPHAP=number><CHISQ> ...;\\n\\n\\tPARMS <HOLD=value-list><LOGDETH><LOWERB=value-list> ...;\\n\\n\\tPRIOR DATA= FLAT JEFFREYS ...;\\n\\n\\tRANDOM <ALPHA=number><CL><G> ...;\\n\\n\\tREPEATED <GROUP=effect><HLM><HLPS> ...;\\n\\n\\tSLICE <ADJDFE=<SOURCE | ROW>><ADJUST=<BON | DUNNETT | NELSON>... ><ALPHA=number> ...;\\n\\n\\tSTORE <LABEL='label'> <OUT=>item-store-name ;\\n\\n\\tWEIGHT variable;\\n\",\"arguments\":[{\"name\":\"ASYCOV\",\"description\":\"Requests that the asymptotic covariance matrix of the covariance parameters be displayed.\",\"type\":\"standalone\"},{\"name\":\"ABSOLUTE\",\"optional\":true,\"description\":\"Makes the convergence criterion absolute.\",\"type\":\"standalone\"},{\"name\":\"ALPHA=\",\"optional\":true,\"description\":\"Requests that confidence limits be constructed for the covariance parameter estimates with confidence level 1-number. The value of number must be between 0 and 1; the default is 0.05.\",\"help\":\"ALPHA=*number*\",\"type\":\"value\"},{\"name\":\"ANOVAF\",\"optional\":true,\"description\":\"The ANOVAF option computes F tests in models with REPEATED statement and without RANDOM statement by a method similar to that of Brunner, Domhof, and Langer (2002).\",\"type\":\"standalone\"},{\"name\":\"ASYCORR\",\"optional\":true,\"description\":\"Produces the asymptotic correlation matrix of the covariance parameter estimates.\",\"type\":\"standalone\"},{\"name\":\"CL\",\"optional\":true,\"description\":\"Requests confidence limits for the covariance parameter estimates. The optional =WALD specification requests Wald limits for all parameters.\",\"type\":\"standalone\"},{\"name\":\"CONVF\",\"optional\":true,\"description\":\"Requests the relative function convergence criterion with tolerance number.\",\"type\":\"standalone\"},{\"name\":\"CONVG\",\"optional\":true,\"description\":\"Requests the relative gradient convergence criterion with tolerance number.\",\"type\":\"standalone\"},{\"name\":\"CONVH\",\"optional\":true,\"description\":\"Requests the relative Hessian convergence criterion with tolerance number.\",\"type\":\"standalone\"},{\"name\":\"COVTEST\",\"optional\":true,\"description\":\"Produces asymptotic standard errors and Wald -tests for the covariance parameter estimates.\",\"type\":\"standalone\"},{\"name\":\"DATA=\",\"optional\":true,\"description\":\"Names the SAS data set to be used by PROC MIXED. The default is the most recently created data set.\",\"help\":\"DATA=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"DFBW\",\"optional\":true,\"description\":\"Has the same effect as the DDFM=BW option in the MODEL statement.\",\"type\":\"standalone\"},{\"name\":\"EMPIRICAL\",\"optional\":true,\"description\":\"Computes the estimated variance-covariance matrix of the fixed-effects parameters by using the asymptotically consistent estimator.\",\"type\":\"standalone\"},{\"name\":\"IC\",\"optional\":true,\"description\":\"Displays a table of various information criteria.\",\"type\":\"standalone\"},{\"name\":\"INFO\",\"optional\":true,\"description\":\"Is a default option. The creation of the \\\"Model Information,\\\" \\\"Dimensions,\\\" and \\\"Number of Observations\\\" tables can be suppressed by using the NOINFO option.\",\"type\":\"standalone\"},{\"name\":\"ITDETAILS\",\"optional\":true,\"description\":\"Displays the parameter values at each iteration and enables the writing of notes to the SAS log pertaining to \\\"infinite likelihood\\\" and \\\"singularities\\\" during Newton-Raphson iterations.\",\"type\":\"standalone\"},{\"name\":\"LOGNOTE\",\"optional\":true,\"aliases\":[\"UPDATE\"],\"description\":\"Writes periodic notes to the log describing the current status of computations. It is designed for use with analyses requiring extensive CPU resources.\",\"type\":\"standalone\"},{\"name\":\"MAXFUNC=\",\"optional\":true,\"description\":\"Specifies the maximum number of likelihood evaluations in the optimization process. The default is 150.\",\"type\":\"value\"},{\"name\":\"MAXITER=\",\"optional\":true,\"description\":\"Specifies the maximum number of iterations. The default is 50.\",\"type\":\"value\"},{\"name\":\"METHOD=\",\"optional\":true,\"description\":\"Specifies the estimation method for the covariance parameters.\",\"help\":\"METHOD=REML | ML | MIVQUE0 | TYPE1 | TYPE2 | TYPE3\",\"type\":\"choice\",\"arguments\":[{\"name\":\"REML\",\"description\":\"Performs residual (restricted) maximum likelihood, and it is the default method.\",\"type\":\"standalone\"},{\"name\":\"ML\",\"description\":\"Performs maximum likelihood\",\"type\":\"standalone\"},{\"name\":\"MIVQUE0\",\"description\":\"Performs minimum variance quadratic unbiased estimation of the covariance parameters.\",\"type\":\"standalone\"},{\"name\":\"TYPE1\",\"description\":\"The METHOD=TYPE specifications apply only to variance component models with no SUBJECT= effects and no REPEATED statement.\",\"type\":\"standalone\"},{\"name\":\"TYPE2\",\"description\":\"The METHOD=TYPE specifications apply only to variance component models with no SUBJECT= effects and no REPEATED statement.\",\"type\":\"standalone\"},{\"name\":\"TYPE3\",\"description\":\"The METHOD=TYPE specifications apply only to variance component models with no SUBJECT= effects and no REPEATED statement.\",\"type\":\"standalone\"}]},{\"name\":\"MMEQ\",\"optional\":true,\"description\":\"Requests that coefficients of the mixed model equations be displayed.\",\"type\":\"standalone\"},{\"name\":\"MMEQSOL\",\"optional\":true,\"description\":\"Requests that a solution to the mixed model equations be produced, in addition to the inverted coefficients matrix.\",\"type\":\"standalone\"},{\"name\":\"NAMELEN\",\"optional\":true,\"description\":\"Specifies the length to which long effect names are shortened. The default and minimum value is 20.\",\"type\":\"standalone\"},{\"name\":\"NOBOUND\",\"optional\":true,\"description\":\"Has the same effect as the NOBOUND option in the PARMS statement.\",\"type\":\"standalone\"},{\"name\":\"NOCLPRINT\",\"optional\":true,\"description\":\"Suppresses the display of the \\\"Class Level Information\\\" table if you do not specify number. If you do specify number, only levels with totals that are less than number are listed in the table.\",\"type\":\"standalone\"},{\"name\":\"NOINFO\",\"optional\":true,\"description\":\"Suppresses the display of the \\\"Model Information,\\\" \\\"Dimensions,\\\" and \\\"Number of Observations\\\" tables.\",\"type\":\"standalone\"},{\"name\":\"NOITPRINT\",\"optional\":true,\"description\":\"Suppresses the display of the \\\"Iteration History\\\" table.\",\"type\":\"standalone\"},{\"name\":\"NOPROFILE\",\"optional\":true,\"aliases\":[\"SIGITER\"],\"description\":\"Includes the residual variance as part of the Newton-Raphson iterations. This option applies only to models that have a residual variance parameter. By default, this parameter is profiled out of the likelihood calculations, except when you have specified the HOLD= option in the PARMS statement.\",\"type\":\"standalone\"},{\"name\":\"ORD\",\"optional\":true,\"description\":\"Displays ordinates of the relevant distribution in addition to p-values. The ordinate can be viewed as an approximate odds ratio of hypothesis probabilities.\",\"type\":\"standalone\"},{\"name\":\"ORDER=\",\"optional\":true,\"description\":\"Specifies the sorting order for the levels of all CLASS variables.\",\"help\":\"ORDER=DATA | FORMATTED | FREQ | INTERNAL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DATA\",\"description\":\"Orders values according to their order in the input data set.\",\"type\":\"standalone\"},{\"name\":\"FORMATTED\",\"description\":\"Orders values by their ascending formatted values. This order depends on your operating environment.\",\"type\":\"standalone\"},{\"name\":\"FREQ\",\"description\":\"Orders values by descending frequency count so that levels with the most observations are listed first.\",\"type\":\"standalone\"},{\"name\":\"INTERNAL\",\"description\":\"Orders values by their unformatted values, which yields the same order as PROC SORT. This order depends on your operating environment.\",\"type\":\"standalone\"}]},{\"name\":\"PLOTS=\",\"optional\":true,\"description\":\"Requests that the MIXED procedure produce statistical graphics via the Output Delivery System. Syntax: (1) PLOTS <(global-plot-options )> <=plot-request <(options )>> (2) PLOTS <(global-plot-options )> <= (plot-request<(options)> <...plot-request<(options)> >)> The global-plot-options supported by the MIXED procedure follow. OBSNO uses the data set observation number to identify observations in tooltips, provided that the observation number can be determined. ONLY suppresses the default plots. Only the plots specifically requested are produced.\",\"help\":\"PLOTS=ALL | BOXPLOT | DISTANCE | INFLUENCEESTPLOT | INFLUENCESTATPANEL | RESIDUALPANEL | STUDENTPANEL | PEARSONPANEL | PRESS | VCIRYPANEL | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ALL\",\"description\":\"Requests that all plots appropriate for the particular analysis be produced.\",\"type\":\"standalone\"},{\"name\":\"BOXPLOT\",\"description\":\"Requests box plots for the effects in your model that consist of classification effects only. Syntax: BOXPLOT<(boxplot-options)> The available boxplot-options are as follows: CONDITIONAL BLUP constructs box plots from conditional residuals—that is, residuals using the estimated BLUPs of random effects. FIXED produces box plots for all fixed effects (MODEL statement) consisting entirely of classification variables GROUP produces box plots for all GROUP= effects (RANDOM and REPEATED statement) consisting entirely of classification variables MARGINAL NOBLUP constructs box plots from marginal residuals. NPANEL=number provides the ability to break a box plot into multiple graphics. OBSERVED adds box plots of the observed data for the selected effects. RANDOM produces box plots for all random effects (RANDOM statement) consisting entirely of classification variables. REPEATED produces box plots for the repeated effects (REPEATED statement). STUDENT constructs box plots from studentized residuals rather than from raw residuals. SUBJECT produces box plots for all SUBJECT= effects (RANDOM and REPEATED statement) consisting entirely of classification variables. USEINDEX uses as the horizontal axis label the index of the effect level rather than the formatted value(s).\",\"type\":\"standalone\"},{\"name\":\"DISTANCE\",\"description\":\"Requests a plot of the likelihood or restricted likelihood distance. Syntax: DISTANCE<(USEINDEX)> When influence diagnostics are requested with set selection according to an effect, the USEINDEX option enables you to replace the formatted tick values on the horizontal axis with integer indices of the effect levels in order to reduce the space taken up by the horizontal plot axis.\",\"type\":\"standalone\"},{\"name\":\"INFLUENCEESTPLOT\",\"description\":\"Syntax: INFLUENCEESTPLOT<(options)> Requests panels of the deletiob estimates in an influence analysis, provided that the INFLUENCE option is specified in the MODEL statement. The FIXED and RANDOM options enable you to select these specific panels. The UNPACK option produces separate plots for each of the parameter estimates. The USEINDEX option replaces formatted tick values for the horizontal axis with integer indices.\",\"type\":\"standalone\"},{\"name\":\"INFLUENCESTATPANEL\",\"description\":\"Syntax: INFLUENCESTATPANEL<(options)> Requests panels of influence statistics. UNPACK option produces separate plots from the elements in the panel. The USEINDEX option replaces formatted tick values for the horizontal axis with integer indices.\",\"type\":\"standalone\"},{\"name\":\"RESIDUALPANEL\",\"description\":\"Syntax: RESIDUALPANEL<(residualplot-options)> Requests a panel of raw residuals. The residualplot-options determine both the composition of the panels and the type of residuals being plotted. BOX | BOXPLOT replaces the inset of summary statistics in the lower-right corner of the panel with a box plot of the residual. CONDITIONAL BLUP constructs plots from conditional residuals. MARGINAL NOBLUP constructs plots from marginal residuals. UNPACK produces separate plots from the elements of the panel. The inset statistics are not part of the unpack operation.\",\"type\":\"standalone\"},{\"name\":\"STUDENTPANEL\",\"description\":\"Syntax: STUDENTPANEL<(residualplot-options)> Requests a panel of studentized residuals. The residualplot-options determine both the composition of the panels and the type of residuals being plotted. BOX | BOXPLOT replaces the inset of summary statistics in the lower-right corner of the panel with a box plot of the residual. CONDITIONAL BLUP constructs plots from conditional residuals. MARGINAL NOBLUP constructs plots from marginal residuals. UNPACK produces separate plots from the elements of the panel. The inset statistics are not part of the unpack operation.\",\"type\":\"standalone\"},{\"name\":\"PEARSONPANEL\",\"description\":\"Syntax: PEARSONPANEL<(residualplot-options)> Requests a panel of Pearson residuals. The residualplot-options determine both the composition of the panels and the type of residuals being plotted. BOX | BOXPLOT replaces the inset of summary statistics in the lower-right corner of the panel with a box plot of the residual. CONDITIONAL BLUP constructs plots from conditional residuals. MARGINAL NOBLUP constructs plots from marginal residuals. UNPACK produces separate plots from the elements of the panel. The inset statistics are not part of the unpack operation.\",\"type\":\"standalone\"},{\"name\":\"PRESS\",\"description\":\"Syntax: PRESS<(USEINDEX)> Requests a plot of PRESS residuals or PRESS statistics. These are based on \\\"leave-one-out\\\" or \\\"leave-set-out\\\" prediction of the marginal mean. When influence diagnostics are requested with set selection according to an effect, the USEINDEX option enables you to replace the formatted tick values on the horizontal axis with integer indices of the effect levels in order to reduce the space taken up by the horizontal plot axis.\",\"type\":\"standalone\"},{\"name\":\"VCIRYPANEL\",\"description\":\"Syntax: VCIRYPANEL<(residualplot-options)> Requests a panel of residual graphics based on the scaled residuals. The residualplot-options determine both the composition of the panels and the type of residuals being plotted. BOX | BOXPLOT replaces the inset of summary statistics in the lower-right corner of the panel with a box plot of the residual. CONDITIONAL BLUP constructs plots from conditional residuals. MARGINAL NOBLUP constructs plots from marginal residuals. UNPACK produces separate plots from the elements of the panel. The inset statistics are not part of the unpack operation.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"Suppresses all plots.\",\"type\":\"standalone\"}]},{\"name\":\"RANKS\",\"optional\":true,\"description\":\"Displays the ranks of design matrices X and (XZ).\",\"type\":\"standalone\"},{\"name\":\"RATIO\",\"optional\":true,\"description\":\"Produces the ratio of the covariance parameter estimates to the estimate of the residual variance when the latter exists in the model.\",\"type\":\"standalone\"},{\"name\":\"RIDGE=\",\"optional\":true,\"description\":\"Specifies the starting value for the minimum ridge value used in the Newton-Raphson algorithm. The default is 0.3125.\",\"help\":\"RIDGE=*number*\",\"type\":\"value\"},{\"name\":\"SCORING\",\"optional\":true,\"description\":\"Requests that Fisher scoring be used in association with the estimation method up to iteration number, which is 0 by default.\",\"type\":\"standalone\"}]},{\"name\":\"BY\",\"description\":\"You can specify a BY statement with PROC MIXED to obtain separate analyses on observations in groups that are defined by the BY variables. When a BY statement appears, the procedure expects the input data set to be sorted in order of the BY variables. If you specify more than one BY statement, only the last one specified is used. If your input data set is not sorted in ascending order, use one of the following alternatives: o Sort the data by using the SORT procedure with a similar BY statement. o Specify the NOTSORTED or DESCENDING option in the BY statement for the MIXED procedure. The NOTSORTED option does not mean that the data are unsorted but rather that the data are arranged in groups (according to values of the BY variables) and that these groups are not necessarily in alphabetical or increasing numeric order. o Create an index on the BY variables by using the DATASETS procedure (in Base SAS software).\",\"help\":\"BY &lt;DESCENDING&gt;&lt;NOTSORTED&gt;\",\"arguments\":[{\"name\":\"DESCENDING\",\"optional\":true,\"description\":\"Specifies that the observations are sorted in descending order by the variable that immediately follows the word DESCENDING in the BY statement.\",\"type\":\"standalone\"},{\"name\":\"NOTSORTED\",\"optional\":true,\"description\":\"Specifies that observations are not necessarily sorted in alphabetic or numeric order.\",\"type\":\"standalone\"}]},{\"name\":\"CLASS\",\"description\":\"The CLASS statement names the classification variables to be used in the analysis. Typical classification variables are Treatment, Sex, Race, Group, and Replication. If you use the CLASS statement, it must appear before the MODEL statement.\",\"help\":\"CLASS &lt;REF=&lt;FIRST | LAST&gt;&gt;&lt;TRUNCATE&gt;\",\"arguments\":[{\"name\":\"REF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies a level of all classification variables to be put at the end of the list of levels. This level thus corresponds to the reference level in the usual interpretation of the estimates with PROC MIXED's singular parameterization. To specify different reference levels for different classification variables, use REF= options for individual variables.\",\"help\":\"REF=FIRST | LAST\",\"type\":\"choice\",\"arguments\":[{\"name\":\"FIRST\",\"followsDelimiter\":\"/\",\"description\":\"Specify REF=FIRST to designate that the first ordered level for each classification variable serve as the reference.\",\"type\":\"standalone\"},{\"name\":\"LAST\",\"followsDelimiter\":\"/\",\"description\":\"Specify REF=LAST to designate that the last ordered level serve as the reference. This option applies to all the variables specified in the CLASS statement.\",\"type\":\"standalone\"}]},{\"name\":\"TRUNCATE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies that class levels should be determined by using no more than the first 16 characters of the formatted values of CLASS variables.\",\"type\":\"standalone\"}]},{\"name\":\"CODE\",\"description\":\"The CODE statement writes SAS DATA step code for computing predicted values of the fitted model either to a file or to a catalog entry. This code can then be included in a DATA step to score new data.\",\"help\":\"CODE &lt;CATALOG=library.catalog.entry.type&gt;&lt;DUMMIES&gt;&lt;NODUMMIES&gt; ...\",\"arguments\":[{\"name\":\"CATALOG=\",\"optional\":true,\"aliases\":[\"CAT=\"],\"description\":\"Syntax: CATALOG=library.catalog.entry.type CAT=library.catalog.entry.type\",\"type\":\"value\"},{\"name\":\"DUMMIES\",\"optional\":true,\"description\":\"Specifies to keep dummy variables that represent the CLASS levels in the data set.\",\"type\":\"standalone\"},{\"name\":\"ERROR\",\"optional\":true,\"description\":\"Specifies to generate code to compute the error function.\",\"type\":\"standalone\"},{\"name\":\"FILE=\",\"optional\":true,\"description\":\"Names the external file that saves the generated code. When enclosed in a quoted string (for example, FILE=\\\"c:$\\\\backslash $mydir$\\\\backslash $scorecode.sas\\\"), this option specifies the path for writing the code to an external file. You can also specify unquoted SAS filenames of no more than eight characters for filename. If the filename is assigned as a fileref in a Base SAS FILENAME statement, the file specified in the FILENAME statement is opened. The special filerefs LOG and PRINT are always assigned. If the specified filename is not an assigned fileref, the specified value for filename is concatenated with a .txt extension before the file is opened. For example, if FOO is not an assigned fileref, FILE=FOO causes FOO.txt to be opened. If filename has more than eight characters, an error message is printed.\",\"help\":\"FILE=*filename*\",\"type\":\"value\"},{\"name\":\"FORMAT=\",\"optional\":true,\"description\":\"Specifies the format for the regression coefficients and other numerical values that do not have a format from the input data set. The default format is BEST20.\",\"help\":\"FORMAT=*format*\",\"type\":\"value\"},{\"name\":\"GROUP=\",\"optional\":true,\"description\":\"Specifies the group identifier for group processing. The group-name should be a valid SAS name of no more than 16 characters. It is used to construct array names and statement labels in the generated code.\",\"help\":\"GROUP=*group-name*\",\"type\":\"value\"},{\"name\":\"IMPUTE\",\"optional\":true,\"description\":\"Imputes the predicted values according to an intercept-only model for observations with missing or invalid covariate values. For a continuous response, the predicted value is the mean of the response variable; for a categorical response, the predicted values are the proportions of the response categories. When the IMPUTE option is specified, the scoring code also creates a variable named _WARN_ that contains one or more single-character codes that indicate problems in computing predicted values. The character codes used in _WARN_ go in the following positions:\",\"type\":\"standalone\"},{\"name\":\"LINESIZE=\",\"optional\":true,\"aliases\":[\"LS=\"],\"description\":\"Specifies the line size for the generated code. The default is 78. The permissible range is 78 to 254.\",\"type\":\"value\"},{\"name\":\"LOOKUP=\",\"optional\":true,\"description\":\"Specifies the algorithm for looking up CLASS levels.\",\"help\":\"LOOKUP=AUTO | BINARY | LINEAR | SELECT*lookup-method*\",\"type\":\"value\",\"arguments\":[{\"name\":\"AUTO\",\"description\":\"Selects the LINEAR algorithm if a CLASS variable has fewer than five categories; otherwise, the BINARY algorithm is used. This is the default.\",\"type\":\"standalone\"},{\"name\":\"BINARY\",\"description\":\"Uses a binary search. This method is fast, but might produce incorrect results and the normalized category values might contain characters that collate in different orders in ASCII and EBCDIC, if you generate the code on an ASCII machine and execute the code on an EBCDIC machine or vice versa.\",\"type\":\"standalone\"},{\"name\":\"LINEAR\",\"description\":\"Uses a linear search with IF statements that have categories in the order of the class levels. This method is slow if there are many categories.\",\"type\":\"standalone\"},{\"name\":\"SELECT\",\"description\":\"Uses a SELECT statement.\",\"type\":\"standalone\"}]},{\"name\":\"NODUMMIES\",\"optional\":true,\"description\":\"Specifies that dummy variables not be retained. This is the default.\",\"type\":\"standalone\"},{\"name\":\"NOERROR\",\"optional\":true,\"description\":\"Specifies that the error function not be generated. This is the default.\",\"type\":\"standalone\"},{\"name\":\"NORESIDUAL\",\"optional\":true,\"description\":\"Specifies that the code for residuals not be generated. This is the default.\",\"type\":\"standalone\"},{\"name\":\"RESIDUAL\",\"optional\":true,\"description\":\"Specifies to generate code to compute residual values. If you request code for residuals and then score a data set that does not contain target values, the residuals will have missing values.\",\"type\":\"standalone\"}]},{\"name\":\"CONTRAST\",\"description\":\"The CONTRAST statement provides a mechanism for obtaining custom hypothesis tests. It is patterned after the CONTRAST statement in PROC GLM, although it has been extended to include random effects. This enables you to select an appropriate inference space (McLean, Sanders, and Stroup 1991). The CONTRAST statement has the following arguments: label identifies the contrast in the table. A label is required for every contrast specified. Labels can be up to 200 characters and must be enclosed in quotes. fixed-effect identifies an effect that appears in the MODEL statement. The keyword INTERCEPT can be used as an effect when an intercept is fitted in the model. You do not need to include all effects that are in the MODEL statement. random-effect identifies an effect that appears in the RANDOM statement. The first random effect must follow a vertical bar (|); however, random effects do not have to be specified. values are constants that are elements of the L matrix associated with the fixed and random effects.\",\"help\":\"CONTRAST &lt;CHISQ&gt;&lt;DF=number&gt;&lt;E&gt; ...\",\"arguments\":[{\"name\":\"CHISQ\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that chi-square tests be performed for all contrasts in addition to any F tests.\",\"type\":\"standalone\"},{\"name\":\"DF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the denominator degrees of freedom for the F test.\",\"help\":\"DF=*number*\",\"type\":\"value\"},{\"name\":\"E\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that the L matrix coefficients for the contrast be displayed.\",\"type\":\"standalone\"},{\"name\":\"GROUP\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"GRP\"],\"description\":\"Sets up random-effect contrasts between different groups when a GROUP= variable appears in the RANDOM statement.\",\"type\":\"standalone\"},{\"name\":\"SINGULAR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Tunes the estimability checking.\",\"help\":\"SINGULAR=*number*\",\"type\":\"value\"},{\"name\":\"SUBJECT\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"SUB\"],\"description\":\"Sets up random-effect contrasts between different subjects when a SUBJECT= variable appears in the RANDOM statement.\",\"type\":\"standalone\"}]},{\"name\":\"ESTIMATE\",\"description\":\"The ESTIMATE statement is exactly like a CONTRAST statement, except only one-row L matrices are permitted.\",\"help\":\"ESTIMATE &lt;ALPHA=number&gt;&lt;CL&gt;&lt;DF=number&gt; ...\",\"arguments\":[{\"name\":\"ALPHA=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that a t-type confidence interval be constructed with confidence level 1-number. The value of number must be between 0 and 1; the default is 0.05.\",\"help\":\"ALPHA=*number*\",\"type\":\"value\"},{\"name\":\"CL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that t-type confidence limits be constructed.\",\"type\":\"standalone\"},{\"name\":\"DF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the degrees of freedom for the t test and confidence limits.\",\"help\":\"DF=*number*\",\"type\":\"value\"},{\"name\":\"DIVISOR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies a list of values by which to divide the coefficients so that fractional coefficients can be entered as integer numerators.\",\"help\":\"DIVISOR=*value-list*\",\"type\":\"value\"},{\"name\":\"E\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that the L matrix coefficients be displayed.\",\"type\":\"standalone\"},{\"name\":\"GROUP\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"GRP\"],\"description\":\"Sets up random-effect contrasts between different groups when a GROUP= variable appears in the RANDOM statement.\",\"type\":\"standalone\"},{\"name\":\"LOWER\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"LOWERTAILED\"],\"description\":\"Requests that the p-value for the t test be based only on values less than the test statistic.\",\"type\":\"standalone\"},{\"name\":\"SINGULAR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Tunes the estimability checking as documented for the CONTRAST statement.\",\"help\":\"SINGULAR=*number*\",\"type\":\"value\"},{\"name\":\"SUBJECT\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"SUB\"],\"description\":\"Sets up random-effect contrasts between different subjects when a SUBJECT= variable appears in the RANDOM statement.\",\"type\":\"standalone\"},{\"name\":\"UPPER\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"UPPERTAILED\"],\"description\":\"Requests that the p-value for the t test be based only on values greater than the t statistic.\",\"type\":\"standalone\"}]},{\"name\":\"ID\",\"description\":\"The ID statement specifies which variables from the input data set are to be included in the OUTP= and OUTPM= data sets from the MODEL statement.\",\"help\":\"ID variables \"},{\"name\":\"LSMEANS\",\"description\":\"The LSMEANS statement computes least squares means (LS-means) of fixed effects. As in the GLM procedure, LS-means are predicted population margins—that is, they estimate the marginal means over a balanced population. In a sense, LS-means are to unbalanced designs as class and subclass arithmetic means are to balanced designs. The L matrix constructed to compute them is the same as the L matrix formed in PROC GLM; however, the standard errors are adjusted for the covariance parameters in the model.\",\"help\":\"LSMEANS &lt;ADJDFE=&lt;SOURCE | ROW&gt;&gt;&lt;ADJUST=&lt;BON | DUNNETT | SCHEFFE&gt;... &gt;&lt;ALPHA=number&gt; ...\",\"arguments\":[{\"name\":\"ADJDFE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies how denominator degrees of freedom are determined when p-values and confidence limits are adjusted for multiple comparisons with the ADJUST= option.\",\"help\":\"ADJDFE=SOURCE | ROW\",\"type\":\"choice\",\"arguments\":[{\"name\":\"SOURCE\",\"followsDelimiter\":\"/\",\"description\":\"The denominator degrees of freedom for multiplicity-adjusted results are the denominator degrees of freedom for the final effect listed in the ESTIMATE statement from the 'Type III Tests of Fixed Effects' table.\",\"type\":\"standalone\"},{\"name\":\"ROW\",\"followsDelimiter\":\"/\",\"description\":\"Useful if you want multiplicity adjustments to take into account that denominator degrees of freedom are not constant across estimates.\",\"type\":\"standalone\"}]},{\"name\":\"ADJUST=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests a multiple comparison adjustment for the p-values and confidence limits for the estimates.\",\"help\":\"ADJUST=BON | DUNNETT | SCHEFFE | SIDAK | SIMULATE | SMM | TUKEY\",\"type\":\"choice\",\"arguments\":[{\"name\":\"BON\",\"followsDelimiter\":\"/\",\"description\":\"Bonferroni adjustment\",\"type\":\"standalone\"},{\"name\":\"DUNNETT\",\"followsDelimiter\":\"/\",\"description\":\"Dunnett adjustment (in which the procedure analyzes all differences with a control level)\",\"type\":\"standalone\"},{\"name\":\"SCHEFFE\",\"followsDelimiter\":\"/\",\"description\":\"Scheffe's adjustment\",\"type\":\"standalone\"},{\"name\":\"SIDAK\",\"followsDelimiter\":\"/\",\"description\":\"Sidak adjustment\",\"type\":\"standalone\"},{\"name\":\"SIMULATE\",\"followsDelimiter\":\"/\",\"description\":\"Computes adjusted p-values and confidence limits from the simulated distribution of the maximum or maximum absolute value of a multivariate t random vector. Syntax: SIMULATE<(simoptions)> You can specify the following simoptions in parentheses after the ADJUST=SIMULATE option. ACC=value specifies the target accuracy radius γ of a 100(1-ε)% confidence interval for the true probability content of the estimated (1-α)th quantile. The default value is ACC=0.005. CVADJUST specifies that the quantile should be estimated by the control variate adjustment method of Hsu and Nelson (1998) instead of simply as the quantile of the simulated sample. EPS=value specifies the value ε for a 100(1-ε)% confidence interval for the true probability content of the estimated (1-α)th quantile. NSAMP=n specifies the sample size for the simulation. REPORT specifies that a report on the simulation should be displayed, including a listing of the parameters, such as γ, ε, and α, as well as an analysis of various methods for estimating or approximating the quantile. SEED=number specifies an integer used to start the pseudo-random number generator for the simulation.\",\"type\":\"standalone\"},{\"name\":\"SMM\",\"followsDelimiter\":\"/\",\"aliases\":[\"GT2\"],\"description\":\"SMM adjustment\",\"type\":\"standalone\"},{\"name\":\"TUKEY\",\"followsDelimiter\":\"/\",\"description\":\"If your data are unbalanced, PROC MIXED uses the approximation described in Kramer (1956) and identifies the adjustment as 'Tukey-Kramer' in the results.\",\"type\":\"standalone\"}]},{\"name\":\"ALPHA=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that a t-type confidence interval be constructed for each of the LS-means with confidence level 1 - number. The value of number must be between 0 and 1; the default value is 0.05, corresponding to a 95% confidence interval.\",\"help\":\"ALPHA=*number*\",\"type\":\"value\"},{\"name\":\"AT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Enables you to modify the values of the covariates used in computing LS-means.\",\"help\":\"AT=MEANS\",\"type\":\"choice\",\"arguments\":[{\"name\":\"MEANS\",\"type\":\"standalone\"}]},{\"name\":\"BYLEVEL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that separate margins be computed for each level of the LSMEANS effect.\",\"type\":\"standalone\"},{\"name\":\"CL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that t-type confidence limits be constructed for each of the LS-means. The confidence level is 0.95 by default; this can be changed with the ALPHA= option.\",\"type\":\"standalone\"},{\"name\":\"CORR\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays the estimated correlation matrix of the LS-means as part of the \\\"Least Squares Means\\\" table.\",\"type\":\"standalone\"},{\"name\":\"COV\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays the estimated covariance matrix of the LS-means as part of the \\\"Least Squares Means\\\" table.\",\"type\":\"standalone\"},{\"name\":\"DF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the degrees of freedom for the t test and confidence limits.\",\"help\":\"DF=*number*\",\"type\":\"value\"},{\"name\":\"DIFF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"PDIFF=\"],\"description\":\"Requests that differences of the LS-means be displayed.\",\"help\":\"DIFF=ALL | CONTROL | CONTROLL | CONTROLU\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ALL\",\"followsDelimiter\":\"/\",\"description\":\"Requests all pairwise differences, and it is the default.\",\"type\":\"standalone\"},{\"name\":\"CONTROL\",\"followsDelimiter\":\"/\",\"description\":\"Requests the differences with a control, which, by default, is the first level of each of the specified LSMEANS effects.\",\"type\":\"standalone\"},{\"name\":\"CONTROLL\",\"followsDelimiter\":\"/\",\"description\":\"Tests whether the noncontrol levels are significantly smaller than the control; the upper confidence limits for the control minus the noncontrol levels are considered to be infinity and are displayed as missing.\",\"type\":\"standalone\"},{\"name\":\"CONTROLU\",\"followsDelimiter\":\"/\",\"description\":\"Tests whether the noncontrol levels are significantly larger than the control; the upper confidence limits for the noncontrol levels minus the control are considered to be infinity and are displayed as missing.\",\"type\":\"standalone\"}]},{\"name\":\"E\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that the L matrix coefficients for all LSMEANS effects be displayed.\",\"type\":\"standalone\"},{\"name\":\"OBSMARGINS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"OM=\"],\"description\":\"Specifies a potentially different weighting scheme for the computation of LS-means coefficients.\",\"type\":\"value\"},{\"name\":\"SINGULAR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Tunes the estimability checking.\",\"help\":\"SINGULAR=*number*\",\"type\":\"value\"},{\"name\":\"SLICE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies effects by which to partition interaction LSMEANS effects. This can produce what are known as tests of simple effects (Winer 1971). For example, suppose that A*B is significant, and you want to test the effect of A for each level of B. The appropriate LSMEANS statement is as follows: lsmeans A*B / slice=B; This code tests for the simple main effects of A for B, which are calculated by extracting the appropriate rows from the coefficient matrix for the A*B LS-means and by using them to form an F test.\",\"type\":\"value\"}]},{\"name\":\"LSMESTIMATE\",\"description\":\"The LSMESTIMATE statement provides a mechanism for obtaining custom hypothesis tests among least squares means.\",\"help\":\"LSMESTIMATE &lt;ADJDFE=&lt;SOURCE | ROW&gt;&gt;&lt;ADJUST=&lt;BON | SCHEFFE | SIDAK&gt; ...&gt;&lt;ALPHA=number&gt; ...\",\"arguments\":[{\"name\":\"ADJDFE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies how denominator degrees of freedom are determined when p-values and confidence limits are adjusted for multiple comparisons with the ADJUST= option.\",\"help\":\"ADJDFE=SOURCE | ROW\",\"type\":\"choice\",\"arguments\":[{\"name\":\"SOURCE\",\"followsDelimiter\":\"/\",\"description\":\"The denominator degrees of freedom for multiplicity-adjusted results are the denominator degrees of freedom for the LS-mean effect in the \\\"Type III Tests of Fixed Effects\\\" table.\",\"type\":\"standalone\"},{\"name\":\"ROW\",\"followsDelimiter\":\"/\",\"description\":\"Useful if you want multiplicity adjustments to take into account that denominator degrees of freedom are not constant across estimates.\",\"type\":\"standalone\"}]},{\"name\":\"ADJUST=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests a multiple comparison adjustment for the p-values and confidence limits for the LS-mean estimates. The adjusted quantities are produced in addition to the unadjusted p-values and confidence limits. Adjusted confidence limits are produced if the CL or ALPHA= option is in effect.\",\"help\":\"ADJUST=BON | SCHEFFE | SIDAK | SIMULATE | T\",\"type\":\"choice\",\"arguments\":[{\"name\":\"BON\",\"followsDelimiter\":\"/\",\"description\":\"Bonferroni adjustment\",\"type\":\"standalone\"},{\"name\":\"SCHEFFE\",\"followsDelimiter\":\"/\",\"description\":\"Scheffe's adjustment\",\"type\":\"standalone\"},{\"name\":\"SIDAK\",\"followsDelimiter\":\"/\",\"description\":\"Sidak adjustment\",\"type\":\"standalone\"},{\"name\":\"SIMULATE\",\"followsDelimiter\":\"/\",\"description\":\"Computes adjusted p-values and confidence limits from the simulated distribution of the maximum or maximum absolute value of a multivariate t random vector. Syntax: SIMULATE<(simoptions)> You can specify the following simoptions in parentheses after the ADJUST=SIMULATE option. ACC=value specifies the target accuracy radius γ of a 100(1-ε)% confidence interval for the true probability content of the estimated (1-α)th quantile. The default value is ACC=0.005. EPS=value specifies the value ε for a 100(1-ε)% confidence interval for the true probability content of the estimated (1-α)th quantile. The default value is ACC=0.005. NSAMP=n specifies the sample size for the simulation. SEED=number specifies an integer that is used to start the pseudo-random number generator for the simulation. THREADS specifies that the computational work for the simulation be divided into parallel threads, where the number of threads is the value of the SAS system option CPUCOUNT=. NOTHREADS specifies that the computational work for the simulation be performed in sequence rather than in parallel. NOTHREADS is the default. This option overrides the SAS system option THREADS|NOTHREADS.\",\"type\":\"standalone\"},{\"name\":\"T\",\"followsDelimiter\":\"/\",\"description\":\"The default, which really signifies no adjustment for multiple comparisons.\",\"type\":\"standalone\"}]},{\"name\":\"ALPHA=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that a t-type confidence interval be constructed for each of the LS-means with confidence level 1-number. The value of number must be between 0 and 1; the default is 0.05.\",\"help\":\"ALPHA=*number*\",\"type\":\"value\"},{\"name\":\"AT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Modifies the values of the covariates used in computing LS-means. By default, all covariate effects are set equal to their mean values for computation of standard LS-means. The AT option enables you to assign arbitrary values to the covariates. Additional columns in the output table indicate the values of the covariates.\",\"help\":\"AT=MEANS\",\"type\":\"choice\",\"arguments\":[{\"name\":\"MEANS\",\"type\":\"standalone\"}]},{\"name\":\"BYLEVEL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that the procedure compute separate margins for each level of the LSMEANS effect.\",\"type\":\"standalone\"},{\"name\":\"CATEGORY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies how to construct estimates and multiplicity corrections for models with multinomial data (ordinal or nominal). This option is also important for constructing sets of estimable functions for F tests with the JOINT option.\",\"help\":\"CATEGORY=JOINT | SEPARATE | &lt;*quoted-value-list*&gt;\",\"type\":\"choice\",\"arguments\":[{\"name\":\"JOINT\",\"followsDelimiter\":\"/\",\"description\":\"Computes the estimable functions for every nonredundant category and treats them as a set. For example, a three-row LSESTIMATE statement in a model with three response categories leads to six estimable functions.\",\"type\":\"standalone\"},{\"name\":\"SEPARATE\",\"followsDelimiter\":\"/\",\"description\":\"Computes the estimable functions for every nonredundant category in turn. For example, a three-row LSESTIMATE statement in a model with three response categories leads to two sets of three estimable functions.\",\"type\":\"standalone\"},{\"name\":\"quoted-value-list\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"Computes the estimable functions only for the list of values given. The list must consist of formatted values of the response categories.\",\"type\":\"value\"}]},{\"name\":\"CHISQ\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that chi-square tests be performed in addition to F tests, when you request an F test with the JOINT option. This option has no effect in procedures that produce chi-square statistics by default.\",\"type\":\"standalone\"},{\"name\":\"CL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that t-type confidence limits be constructed for each of the LS-means. The confidence level is 0.95 by default; this can be changed with the ALPHA= option.\",\"type\":\"standalone\"},{\"name\":\"CORR\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays the estimated correlation matrix of the linear combination of the least squares means.\",\"type\":\"standalone\"},{\"name\":\"COV\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays the estimated covariance matrix of the linear combination of the least squares means.\",\"type\":\"standalone\"},{\"name\":\"DF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the degrees of freedom for the t test and confidence limits.\",\"help\":\"DF=*number*\",\"type\":\"value\"},{\"name\":\"DIVISOR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies a list of values by which to divide the coefficients so that fractional coefficients can be entered as integer numerators. If you do not specify value-list, a default value of 1.0 is assumed. Missing values in the value-list are converted to 1.0.\",\"help\":\"DIVISOR=*value-list*\",\"type\":\"value\"},{\"name\":\"E\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that the L coefficients of the estimable function be displayed.\",\"type\":\"standalone\"},{\"name\":\"ELSM\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that the K matrix coefficients be displayed. These are the coefficients that apply to the LS-means. This option is useful to ensure that you assigned the coefficients correctly to the LS-means.\",\"type\":\"standalone\"},{\"name\":\"EXP\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests exponentiation of the least squares means estimate. When you model data with the logit link function and the estimate represents a log odds ratio, the EXP option produces an odds ratio. If you specify the CL or ALPHA= option, the (adjusted) confidence limits for the estimate are also exponentiated.\",\"type\":\"standalone\"},{\"name\":\"ILINK\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that the estimate and its standard error are also reported on the scale of the mean (the inverse linked scale).\",\"type\":\"standalone\"},{\"name\":\"JOINT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that a joint F or chi-square test be produced for the rows of the estimate. You can specify the following joint-test-options in parentheses: ACC=γ specifies the accuracy radius for determining the necessary sample size in the simulation-based approach of Silvapulle and Sen (2004) for tests with order restrictions. The value of γ must be strictly between 0 and 1; the default value is 0.005. EPS=є specifies the accuracy confidence level for determining the necessary sample size in the simulation-based approach of Silvapulle and Sen (2004) for tests with order restrictions. The value of є must be strictly between 0 and 1; the default value is 0.01. LABEL='label' assigns an identifying label to the joint test. If you do not specify a label, the first non-default label for the ESTIMATE rows is used to label the joint test. NOEST | ONLY performs only the F or chi-square test and suppresses other results from the ESTIMATE statement. This option is useful for emulating the CONTRAST statement that is available in other procedures. NSAMP=n specifies the number of samples for the simulation-based method of Silvapulle and Sen (2004). CHISQ -- adds a chi-square test if the procedure produces an F test by default.\",\"help\":\"JOINT=ACC= | EPS= | LABEL= | NOEST | ONLY | NSAMP= | CHISQ | BOUNDS=\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ACC=\",\"type\":\"value\"},{\"name\":\"EPS=\",\"type\":\"value\"},{\"name\":\"LABEL=\",\"type\":\"value\"},{\"name\":\"NOEST\",\"type\":\"standalone\"},{\"name\":\"ONLY\",\"type\":\"standalone\"},{\"name\":\"NSAMP=\",\"type\":\"value\"},{\"name\":\"CHISQ\",\"type\":\"standalone\"},{\"name\":\"BOUNDS=\",\"type\":\"value\"}]},{\"name\":\"LOWER\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"LOWERTAILED\"],\"description\":\"Requests that the p-value for the t test be based only on values less than the test statistic. A two-tailed test is the default. A lower-tailed confidence limit is also produced if you specify the CL or ALPHA= option.\",\"type\":\"standalone\"},{\"name\":\"OBSMARGINS\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"OM\"],\"description\":\"Specifies a potentially different weighting scheme for the computation of LS-means coefficients. The standard LS-means have equal coefficients across classification effects; however, the OM option changes these coefficients to be proportional to those found in the OM-data-set. This adjustment is reasonable when you want your inferences to apply to a population that is not necessarily balanced but has the margins observed in OM-data-set.\",\"type\":\"standalone\"},{\"name\":\"PLOTS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Produces ODS statistical graphics of the distribution of estimable functions if the procedure performs the analysis in a sampling-based mode.\",\"help\":\"PLOTS=ALL | BOXPLOT | DISTPLOT | NONE*plot-options*\",\"type\":\"value\",\"arguments\":[{\"name\":\"ALL\",\"followsDelimiter\":\"/\",\"description\":\"Requests that the default plots corresponding to this LSMEANS statement be produced.\",\"type\":\"standalone\"},{\"name\":\"BOXPLOT\",\"followsDelimiter\":\"/\",\"description\":\"Syntax: BOXPLOT<boxplot-options>> Produces box plots of the distribution of the least squares mean or least squares mean differences across a posterior sample. For example, this plot is available in procedures that support a Bayesian analysis through the BAYES statement. A separate box is generated for each estimable function, and all boxes appear on a single graph by default. You can affect the appearance of the box plot graph with the following options: ORIENTATION=VERTICAL|HORIZONTAL ORIENT=VERT|HORIZ specifies the orientation of the boxes. The default is vertical orientation of the box plots. NPANELPOS=number specifies how to break the series of box plots across multiple panels. If the NPANELPOS option is not specified, or if number equals zero, then all box plots are displayed in a single graph; this is the default.\",\"type\":\"standalone\"},{\"name\":\"DISTPLOT\",\"followsDelimiter\":\"/\",\"aliases\":[\"DIST\"],\"description\":\"Generates panels of histograms with a kernel density overlaid if the analysis has access to a set of posterior parameter estimates. You can sepcify the following distplot-options in parentheses: BOX|NOBOX controls the display of a horizontal box plot of the estimable function's distribution across the posterior sample below the graph. The BOX option is enabled by default. HIST|NOHIST controls the display of the histogram of the estimable function's distribution across the posterior sample. The HIST option is enabled by default. NORMAL|NONORMAL controls the display of a normal density estimate on the graph. The NONORMAL option is enabled by default. KERNEL|NOKERNEL controls the display of a kernel density estimate on the graph. The KERNEL option is enabled by default. NROWS=number specifies the highest number of rows in a panel. The default is 3. NCOLS=number specifies the highest number of columns in a panel. The default is 3. UNPACK unpacks the panel into separate graphics.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"followsDelimiter\":\"/\",\"description\":\"Requests that no plots be produced.\",\"type\":\"standalone\"}]},{\"name\":\"SEED=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the seed for the sampling-based components of the computations for the LSMESTIMATE statement (for example, chi-bar-square statistics and simulated p-values). The value of number must be an integer. The seed is used to start the pseudo-random-number generator for the simulation. If you do not specify a seed, or if you specify a value less than or equal to zero, the seed is generated from reading the time of day from the computer clock. Note that there could be multiple LSMESTIMATE statements with SEED= specifications and there could be other statements that can supply a random number seed. Since the procedure has only one random number stream, the initial seed is shown in the SAS log.\",\"help\":\"SEED=*number*\",\"type\":\"value\"},{\"name\":\"SINGULAR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Tunes the estimability checking as documented for the ESTIMATE statement.\",\"help\":\"SINGULAR=*number*\",\"type\":\"value\"},{\"name\":\"STEPDOWN=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that multiplicity adjustments for the p-values of estimates be further adjusted in a step-down fashion. Step-down methods increase the power of multiple testing procedures by taking advantage of the fact that a p-value is never declared significant unless all smaller p-values are also declared significant. You can specify the following step-down-options in parentheses: MAXTIME=n specifies the time (in seconds) to spend computing the maximal logically consistent sequential subsets of equality hypotheses for TYPE=LOGICAL. The default is MAXTIME=60. ORDER=PVALUE ORDER=ROWS specifies the order in which the step-down tests are performed. ORDER=PVALUE is the default, with LS-mean estimates being declared significant only if all LS-mean estimates with smaller (unadjusted) p-values are significant. If you specify ORDER=ROWS, then significances are evaluated in the order in which they are specified. REPORT specifies that a report on the step-down adjustment be displayed, including a listing of the sequential subsets (Westfall 1997) and, for ADJUST=SIMULATE, the step-down simulation results.\",\"help\":\"STEPDOWN=MAXTIME= | ORDER= | REPORT | TYPE=\",\"type\":\"choice\",\"arguments\":[{\"name\":\"MAXTIME=\",\"type\":\"value\"},{\"name\":\"ORDER=\",\"type\":\"value\"},{\"name\":\"REPORT\",\"type\":\"standalone\"},{\"name\":\"TYPE=\",\"type\":\"value\"}]},{\"name\":\"TESTVALUE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"TESTMEAN=\"],\"description\":\"Specifies the value under the null hypothesis for testing the estimable functions in the LSMESTIMATE statement. The rules for specifying the value-list are very similar to those for specifying the divisor list in the DIVISOR= option. If no TESTVALUE= is specified, all tests are performed as H: Lβ=0. Missing values in the value-list also are translated to zeros. If you specify fewer values than rows in the ESTIMATE statement, the last value in value-list is carried forward. The TESTVALUE= option affects only p-values from individual, joint, and multiplicity-adjusted tests. It does not affect confidence intervals.\",\"help\":\"TESTVALUE=*value-list*\",\"type\":\"value\"},{\"name\":\"UPPER\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"UPPERTAILED\"],\"description\":\"Requests that the p-value for the t test be based only on values greater than the test statistic. A two-tailed test is the default. An upper-tailed confidence limit is also produced if you specify the CL or ALPHA= option.\",\"type\":\"standalone\"}]},{\"name\":\"MODEL\",\"description\":\"The MODEL statement names a single dependent variable and the fixed effects, which determine the X matrix of the mixed model. The specification of effects is the same as in the GLM procedure; however, unlike PROC GLM, you do not specify random effects in the MODEL statement. The MODEL statement is required. An intercept is included in the fixed-effects model by default. If no fixed effects are specified, only this intercept term is fit. The intercept can be removed by using the NOINT option.\",\"help\":\"MODEL &lt;ALPHA=number&gt;&lt;ALPHAP=number&gt;&lt;CHISQ&gt; ...\",\"arguments\":[{\"name\":\"ALPHA=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that a t-type confidence interval be constructed for each of the fixed-effects parameters with confidence level 1-number. The value of number must be between 0 and 1; the default is 0.05.\",\"help\":\"ALPHA=*number*\",\"type\":\"value\"},{\"name\":\"ALPHAP=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that a t-type confidence interval be constructed for the predicted values with confidence level 1-number. The value of number must be between 0 and 1; the default is 0.05.\",\"help\":\"ALPHAP=*number*\",\"type\":\"value\"},{\"name\":\"CHISQ\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that chi-square tests be performed for all specified effects in addition to the F tests. Type 3 tests are the default; you can produce the Type 1 and Type 2 tests by using the HTYPE= option.\",\"type\":\"standalone\"},{\"name\":\"CL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that t-type confidence limits be constructed for each of the fixed-effects parameter estimates. The confidence level is 0.95 by default; this can be changed with the ALPHA= option.\",\"type\":\"standalone\"},{\"name\":\"CONTAIN\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Has the same effect as the DDFM=CONTAIN option.\",\"type\":\"standalone\"},{\"name\":\"CORRB\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Produces the correlation matrix from the approximate covariance matrix of the fixed-effects parameter estimates.\",\"type\":\"standalone\"},{\"name\":\"COVBI\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"XPVIX\"],\"description\":\"Produces the inverse of the approximate covariance matrix of the fixed-effects parameter estimates.\",\"type\":\"standalone\"},{\"name\":\"COVB\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"XPVIXI\"],\"description\":\"Produces the approximate variance-covariance matrix of the fixed-effects parameter estimates, β-hat.\",\"type\":\"standalone\"},{\"name\":\"DDF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Enables you to specify your own denominator degrees of freedom for the fixed effects.\",\"help\":\"DDF=*value-list*\",\"type\":\"value\"},{\"name\":\"DDFM=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the method for computing the denominator degrees of freedom for the tests of fixed effects resulting from the MODEL, CONTRAST, ESTIMATE, LSMEANS, and LSMESTIMATE statements.\",\"help\":\"DDFM=BETWITHIN | CONTAIN | KENWARDROGER | KENWARDROGER2 | RESIDUAL | SATTERTHWAITE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"BETWITHIN\",\"followsDelimiter\":\"/\",\"description\":\"Divides the residual degrees of freedom into between-subject and within-subject portions.\",\"type\":\"standalone\"},{\"name\":\"CONTAIN\",\"followsDelimiter\":\"/\",\"description\":\"Invokes the containment method to compute denominator degrees of freedom, and this method is the default when the model contains G-side random effects.\",\"type\":\"standalone\"},{\"name\":\"KENWARDROGER\",\"followsDelimiter\":\"/\",\"description\":\"Syntax: KENWARDROGER<(FIRSTORDER)> DDFM=KENWARDROGER<(LINEAR)> The LINEAR suboption is an alias for FIRSTORDER. Applies the (prediction) standard error and degrees-of-freedom correction detailed by Kenward and Roger (1997). The FIRSTORDER suboption eliminates the second derivatives from the calculation of the covariance matrix adjustment.\",\"type\":\"standalone\"},{\"name\":\"KENWARDROGER2\",\"followsDelimiter\":\"/\",\"description\":\"Performs all tests by using the residual degrees of freedom, n-rank(X), where n is the sum of the frequencies used.\",\"type\":\"standalone\"},{\"name\":\"RESIDUAL\",\"followsDelimiter\":\"/\",\"description\":\"Performs a general Satterthwaite approximation for the denominator degrees of freedom in a generalized linear mixed model.\",\"type\":\"standalone\"},{\"name\":\"SATTERTHWAITE\",\"followsDelimiter\":\"/\",\"description\":\"Specifies an improved approximation of the DDFM=KENWARDROGER method that uses a less biased precision estimator, as proposed by Kenward and Roger (2009).\",\"type\":\"standalone\"}]},{\"name\":\"E\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that Type I, Type II, and Type III L matrix coefficients be displayed for all specified effects. For ODS purposes, the name of the table is \\\"Coef\\\".\",\"type\":\"standalone\"},{\"name\":\"E1\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that Type I L matrix coefficients be displayed for all specified effects. For ODS purposes, the name of the table is \\\"Coef\\\".\",\"type\":\"standalone\"},{\"name\":\"E2\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that Type II L matrix coefficients be displayed for all specified effects. For ODS purposes, the name of the table is \\\"Coef\\\".\",\"type\":\"standalone\"},{\"name\":\"E3\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that Type III L matrix coefficients be displayed for all specified effects. For ODS purposes, the name of the table is \\\"Coef\\\".\",\"type\":\"standalone\"},{\"name\":\"FULLX\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that columns of the X matrix that consist entirely of zeros not be eliminated from X; otherwise, they are eliminated by default.\",\"type\":\"standalone\"},{\"name\":\"HTYPE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Indicates the type of hypothesis test to perform on the fixed effects. Valid entries for value are 1, 2, and 3; the default value is 3. You can specify several types by separating the values with a comma or a space. The ODS table names are \\\"Tests1\\\" for the Type 1 tests, \\\"Tests2\\\" for the Type 2 tests, and \\\"Tests3\\\" for the Type 3 tests.\",\"help\":\"HTYPE=*value-list*\",\"type\":\"value\"},{\"name\":\"INFLUENCE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"You can specify the following influence-options in parentheses: EFFECT=effect specifies an effect according to which observations are grouped. ESTIMATES | EST specifies that the updated parameter estimates should be written to the ODS output data set. ITER=n controls the maximum number of additional iterations PROC MIXED performs to update the fixed-effects and covariance parameter estimates following data point removal. KEEP=n determines how many observations are retained for display and in the output data set or how many tuples if you specify SIZE=. SELECT=value-list specifies which observations or effect levels are chosen for influence calculations.\",\"help\":\"INFLUENCE=EFFECT= | EST | ESTIMATES | KEEP= | SELECT= | SIZE=\",\"type\":\"choice\",\"arguments\":[{\"name\":\"EFFECT=\",\"type\":\"value\"},{\"name\":\"EST\",\"type\":\"standalone\"},{\"name\":\"ESTIMATES\",\"type\":\"standalone\"},{\"name\":\"KEEP=\",\"type\":\"value\"},{\"name\":\"SELECT=\",\"type\":\"value\"},{\"name\":\"SIZE=\",\"type\":\"value\"}]},{\"name\":\"INTERCEPT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Adds a row to the tables for Type I, II, and III tests corresponding to the overall intercept.\",\"type\":\"standalone\"},{\"name\":\"LCOMPONENTS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests an estimate for each row of the L matrix used to form tests of fixed effects. Components corresponding to Type 3 tests are the default; you can produce the Type 1 and Type 2 component estimates with the HTYPE= option.\",\"type\":\"standalone\"},{\"name\":\"NOCONTAIN\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Has the same effect as the DDFM=RESIDUAL option.\",\"type\":\"standalone\"},{\"name\":\"NOINT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that no intercept be included in the model. An intercept is included by default.\",\"type\":\"standalone\"},{\"name\":\"NOTEST\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies that no hypothesis tests be performed for the fixed effects.\",\"type\":\"standalone\"},{\"name\":\"OUTP=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"OUTPRED=\"],\"description\":\"Specifies an output data set containing predicted values and related quantities. This option replaces the P option from SAS 6.\",\"help\":\"OUTP=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"OUTPM=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"OUTPREDM=\"],\"description\":\"Specifies an output data set containing predicted means and related quantities. This option replaces the PM option from SAS 6.\",\"help\":\"OUTPM=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"RESIDUAL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that Pearson-type and (internally) studentized residuals be added to the OUTP= and OUTPM= data sets.\",\"type\":\"standalone\"},{\"name\":\"SINGCHOL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Tunes the sensitivity in computing Cholesky roots.\",\"help\":\"SINGCHOL=*number*\",\"type\":\"value\"},{\"name\":\"SINGRES=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Sets the tolerance for which the residual variance is considered to be zero. The default is 1E4 times the machine epsilon; this product is approximately 1E12 on most computers.\",\"help\":\"SINGRES=*number*\",\"type\":\"value\"},{\"name\":\"SINGULAR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Tunes the sensitivity in sweeping. If a diagonal pivot element is less than D*number as PROC MIXED sweeps a matrix, the associated column is declared to be linearly dependent upon previous columns, and the associated parameter is set to 0.\",\"help\":\"SINGULAR=*number*\",\"type\":\"value\"},{\"name\":\"SOLUTION\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that a solution for the fixed-effects parameters be produced.\",\"type\":\"standalone\"},{\"name\":\"VCIRY\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that responses and marginal residuals be scaled by the inverse Cholesky root of the marginal variance-covariance matrix.\",\"type\":\"standalone\"},{\"name\":\"ZETA=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Tunes the sensitivity in forming Type 3 functions. Any element in the estimable function basis with an absolute value less than number is set to 0. The default is 1E-8.\",\"help\":\"ZETA=*number*\",\"type\":\"value\"}]},{\"name\":\"PARMS\",\"description\":\"The PARMS statement specifies initial values for the covariance parameters, or it requests a grid search over several values of these parameters. You must specify the values in the order in which they appear in the \\\"Covariance Parameter Estimates\\\" table. The value-list specification can take any of several forms: m a single value m1,m2,...,mn several values m to n a sequence where m equals the starting value, n equals the ending value, and the increment equals 1 m to n by i a sequence where m equals the starting value, n equals the ending value, and the increment equals i m1,m2 to m3 mixed values and sequences You can use the PARMS statement to input known parameters.\",\"help\":\"PARMS &lt;HOLD=value-list&gt;&lt;LOGDETH&gt;&lt;LOWERB=value-list&gt; ...\",\"arguments\":[{\"name\":\"HOLD=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"EQCONS=\"],\"description\":\"Specifies which parameter values PROC MIXED should hold equal to the specified values.\",\"help\":\"HOLD=*value-list*\",\"type\":\"value\"},{\"name\":\"LOGDETH\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Evaluates the log determinant of the Hessian matrix for each point specified in the PARMS statement.\",\"type\":\"standalone\"},{\"name\":\"LOWERB=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Enables you to specify lower boundary constraints for the covariance or scale parameters.\",\"help\":\"LOWERB=*value-list*\",\"type\":\"value\"},{\"name\":\"NOBOUND\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests the removal of boundary constraints on covariance parameters in mixed models.\",\"type\":\"standalone\"},{\"name\":\"NOITER\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that no Newton-Raphson iterations be performed and that PROC MIXED use the best value from the grid search to perform inferences.\",\"type\":\"standalone\"},{\"name\":\"NOPRINT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Suppresses the display of the \\\"Parameter Search\\\" table.\",\"type\":\"standalone\"},{\"name\":\"NOPROFILE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies a different computational method for the residual variance during the grid search.\",\"type\":\"standalone\"},{\"name\":\"OLS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests starting values corresponding to the usual general linear model.\",\"type\":\"standalone\"},{\"name\":\"PARMSDATA=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"PDATA=\"],\"description\":\"Reads in covariance parameter values from a SAS data set.\",\"help\":\"PARMSDATA=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"RATIOS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Indicates that ratios with the residual variance are specified instead of the covariance parameters themselves. The default is to use the individual covariance parameters.\",\"type\":\"standalone\"},{\"name\":\"UPPERB=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Enables you to specify upper boundary constraints on the covariance parameters. The value-list specification is a list of numbers or missing values (.) separated by commas.\",\"help\":\"UPPERB=*value-list*\",\"type\":\"value\"}]},{\"name\":\"PRIOR\",\"description\":\"The PRIOR statement enables you to carry out a sampling-based Bayesian analysis in PROC MIXED. It currently operates only with variance component models. The analysis produces a SAS data set containing a pseudo-random sample from the joint posterior density of the variance components and other parameters in the mixed model.\",\"help\":\"PRIOR DATA= FLAT JEFFREYS ...\",\"arguments\":[{\"name\":\"DATA=\",\"description\":\"Enables you to input the prior densities of the variance components used by the sampling algorithm.\",\"type\":\"value\"},{\"name\":\"FLAT\",\"description\":\"Specifies a prior density equal to 1 everywhere, making the likelihood function the posterior.\",\"type\":\"standalone\"},{\"name\":\"JEFFREYS\",\"description\":\"Specifies a noninformative reference version of Jeffreys' prior constructed by using the square root of the determinant of the expected information matrix.\",\"type\":\"standalone\"},{\"name\":\"ALG=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the algorithm used for generating the posterior sample.\",\"help\":\"ALG=INDCHAIN | IMPSAMP | REJSAMP | RWCHAIN\",\"type\":\"choice\",\"arguments\":[{\"name\":\"INDCHAIN\",\"followsDelimiter\":\"/\",\"aliases\":[\"IC\"],\"description\":\"Requests an independence chain algorithm, and it is the default.\",\"type\":\"standalone\"},{\"name\":\"IMPSAMP\",\"followsDelimiter\":\"/\",\"aliases\":[\"IS\"],\"description\":\"Requests importance sampling.\",\"type\":\"standalone\"},{\"name\":\"REJSAMP\",\"followsDelimiter\":\"/\",\"aliases\":[\"RS\"],\"description\":\"Requests rejection sampling.\",\"type\":\"standalone\"},{\"name\":\"RWCHAIN\",\"followsDelimiter\":\"/\",\"aliases\":[\"RWC\"],\"description\":\"Requests a random walk chain.\",\"type\":\"standalone\"}]},{\"name\":\"BDATA=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Enables you to input the base densities used by the sampling algorithm.\",\"type\":\"value\"},{\"name\":\"GRID=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies a grid of values over which to evaluate the posterior density.\",\"type\":\"value\"},{\"name\":\"GRIDT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies a transformed grid of values over which to evaluate the posterior density.\",\"type\":\"value\"},{\"name\":\"LOGNOTE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"UPDATE=\"],\"description\":\"Instructs PROC MIXED to write a note to the SAS log after it generates the sample corresponding to each multiple of number. This is useful for monitoring the progress of CPU-intensive runs.\",\"help\":\"LOGNOTE=*number*\",\"type\":\"value\"},{\"name\":\"LOGRBOUND=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the bounding constant for rejection sampling.\",\"help\":\"LOGRBOUND=*number*\",\"type\":\"value\"},{\"name\":\"NSAMPLE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the number of posterior samples to generate. The default is 1000, but more accurate results are obtained with larger samples such as 10000.\",\"help\":\"NSAMPLE=*number*\",\"type\":\"value\"},{\"name\":\"NSEARCH=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the number of posterior evaluations PROC MIXED makes for each transformed parameter in determining the parameters for the inverted γ densities. The default is 20.\",\"help\":\"NSEARCH=*number*\",\"type\":\"value\"},{\"name\":\"OUT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Creates an output data set containing the sample from the posterior density.\",\"help\":\"OUT=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"OUTG=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Creates an output data set from the grid evaluations specified in the GRID= option.\",\"help\":\"OUTG=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"OUTGT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Creates an output data set from the transformed grid evaluations specified in the GRIDT= option.\",\"help\":\"OUTGT=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"PSEARCH\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays the search used to determine the parameters for the inverted γ densities. For ODS purposes, the name of the table is \\\"Search.\\\"\",\"type\":\"standalone\"},{\"name\":\"PTRANS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays the transformation of the variance components. For ODS purposes, the name of the table is \\\"Trans\\\".\",\"type\":\"standalone\"},{\"name\":\"SEED=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies an integer used to start the pseudo-random number generator for the simulation.\",\"help\":\"SEED=*number*\",\"type\":\"value\"},{\"name\":\"SFACTOR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"IFACTOR=\"],\"description\":\"Enables you to adjust the range over which PROC MIXED searches the transformed parameters in order to determine the parameters for the inverted γ densities.\",\"help\":\"SFACTOR=*number*\",\"type\":\"value\"},{\"name\":\"TDATA=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Enables you to input the transformation of the covariance parameters used by the sampling algorithm.\",\"type\":\"value\"},{\"name\":\"TRANS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the particular algorithm used to determine the transformation of the covariance parameters.\",\"help\":\"TRANS=EXPECTED | MIVQUE0 | OBSERVED\",\"type\":\"choice\",\"arguments\":[{\"name\":\"EXPECTED\",\"followsDelimiter\":\"/\",\"description\":\"Indicates a type of Hessian matrix used in constructing the transformation via a Cholesky root.\",\"type\":\"standalone\"},{\"name\":\"MIVQUE0\",\"followsDelimiter\":\"/\",\"description\":\"Indicaes a transformation based on the MIVQUE(0) equations.\",\"type\":\"standalone\"},{\"name\":\"OBSERVED\",\"followsDelimiter\":\"/\",\"description\":\"Indicates a type of Hessian matrix used in constructing the transformation via a Cholesky root.\",\"type\":\"standalone\"}]}]},{\"name\":\"RANDOM\",\"description\":\"The RANDOM statement defines the random effects constituting the γ vector in the mixed model. It can be used to specify traditional variance component models (as in the VARCOMP procedure) and to specify random coefficients. The random effects can be classification or continuous, and multiple RANDOM statements are possible. You can specify INTERCEPT (or INT) as a random effect to indicate the intercept. PROC MIXED does not include the intercept in the RANDOM statement by default as it does in the MODEL statement.\",\"help\":\"RANDOM &lt;ALPHA=number&gt;&lt;CL&gt;&lt;G&gt; ...\",\"arguments\":[{\"name\":\"ALPHA=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that a t-type confidence interval with confidence level 1-number be constructed for the predictors of G-side random effects in this statement. The value of number must be between 0 and 1; the default is 0.05\",\"help\":\"ALPHA=*number*\",\"type\":\"value\"},{\"name\":\"CL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that t-type confidence limits be constructed for each of the predictors of random effects in this statement.\",\"type\":\"standalone\"},{\"name\":\"G\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that the estimated G matrix be displayed for G-side random effects associated with this RANDOM statement.\",\"type\":\"standalone\"},{\"name\":\"GC\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays the lower-triangular Cholesky root of the estimated G matrix according to the rules listed under the G option.\",\"type\":\"standalone\"},{\"name\":\"GCI\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays the inverse Cholesky root of the estimated G matrix for G-side random effects.\",\"type\":\"standalone\"},{\"name\":\"GCORR\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays the correlation matrix that corresponds to the estimated G matrix for G-side random effects.\",\"type\":\"standalone\"},{\"name\":\"GDATA=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that the G matrix be read in from a SAS data set.\",\"help\":\"GDATA=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"GI\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays the inverse of the estimated G matrix according to the rules listed under the G option.\",\"type\":\"standalone\"},{\"name\":\"GROUP=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"GRP=\"],\"description\":\"Defines an effect specifying heterogeneity in the covariance structure of G.\",\"help\":\"GROUP=*effect*\",\"type\":\"value\"},{\"name\":\"LDATA=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Reads the coefficient matrices associated with the TYPE=LIN(number) option.\",\"help\":\"LDATA=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"NOFULLZ\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Eliminates the columns in Z corresponding to missing levels of random effects involving CLASS variables. By default, these columns are included in Z. It is sufficient to specify the NOFULLZ option in any RANDOM statement.\",\"type\":\"standalone\"},{\"name\":\"RATIOS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Indicates that ratios with the residual variance are specified in the GDATA= data set instead of the covariance parameters themselves.\",\"type\":\"standalone\"},{\"name\":\"SOLUTION\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that the solution for the random-effects parameters be produced.\",\"type\":\"standalone\"},{\"name\":\"SUBJECT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"SUB=\"],\"description\":\"Identifies the subjects in your mixed model. Complete independence is assumed across subjects; thus, for the RANDOM statement, the SUBJECT= option produces a block-diagonal structure in G with identical blocks.\",\"help\":\"SUBJECT=*effect*\",\"type\":\"value\"},{\"name\":\"TYPE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the covariance structure of G.\",\"help\":\"TYPE=ANTE(1) | AR(1) | ARH(1) | ARMA(1,1) | CS | CSH | FA(q) | FA0(q) | FA1(q) | HF | LIN(q) | TOEP | TOEP(q) | TOEPH | TOEPH(q) | UN | UN(q) | UNR | UNR(q) | UN@AR(1) | UN@CS | UN@UN | VC | SP(EXP)(c-list) | SP(EXPA)(c-list) | SP(EXPGA)(c1 c2) | SP(GAU)(c-list) | SP(GAUGA)(c1 c2) | SP(LIN)(c-list) | SP(LINL)(c-list) | SP(MATERN)(c-list) | SP(MATHSW)(c-list) | SP(POW)(c-list) | SP(POWA)(c-list) | SP(SPH)(c-list) | SP(SPHGA)(c-list)*covariance-structure*\",\"type\":\"value\",\"arguments\":[{\"name\":\"ANTE(1)\",\"followsDelimiter\":\"/\",\"description\":\"Specifies a first-order ante-dependence structure (see Kenward 1987, Patel 1991, and Macchiavelli and Arnold 1994)\",\"type\":\"standalone\"},{\"name\":\"AR(1)\",\"followsDelimiter\":\"/\",\"description\":\"Specifies a first-order autoregressive structure.\",\"type\":\"standalone\"},{\"name\":\"ARH(1)\",\"followsDelimiter\":\"/\",\"description\":\"Specifies a heterogeneous first-order autoregressive structure.\",\"type\":\"standalone\"},{\"name\":\"ARMA(1,1)\",\"followsDelimiter\":\"/\",\"description\":\"Specifies the first-order autoregressive moving-average structure\",\"type\":\"standalone\"},{\"name\":\"CS\",\"followsDelimiter\":\"/\",\"description\":\"Specifies the compound-symmetry structure, which has constant variance and constant covariance.\",\"type\":\"standalone\"},{\"name\":\"CSH\",\"followsDelimiter\":\"/\",\"description\":\"Specifies the heterogeneous compound-symmetry structure, which is an equi-correlation structure but allows for different variances.\",\"type\":\"standalone\"},{\"name\":\"FA(q)\",\"followsDelimiter\":\"/\",\"description\":\"Specifies the factor-analytic structure with q factors (Jennrich and Schluchter 1986).\",\"type\":\"standalone\"},{\"name\":\"FA0(q)\",\"followsDelimiter\":\"/\",\"description\":\"Is similar to the FA(q) structure except that no diagonal matrix D is included.\",\"type\":\"standalone\"},{\"name\":\"FA1(q)\",\"followsDelimiter\":\"/\",\"description\":\"Is similar to the FA(q) structure except that all of the elements in D are constrained to be equal.\",\"type\":\"standalone\"},{\"name\":\"HF\",\"followsDelimiter\":\"/\",\"description\":\"Specifies the Huynh-Feldt covariance structure (Huynh and Feldt 1970). This structure is similar to the CSH structure in that it has the same number of parameters and heterogeneity along the main diagonal. However, it constructs the off-diagonal elements by taking arithmetic rather than geometric means.\",\"type\":\"standalone\"},{\"name\":\"LIN(q)\",\"followsDelimiter\":\"/\",\"description\":\"Specifies a general linear covariance structure with q parameters.\",\"type\":\"standalone\"},{\"name\":\"TOEP\",\"followsDelimiter\":\"/\",\"description\":\"Specifies a full Toeplitz matrix, which can be viewed as an autoregressive structure with order equal to the dimension of the matrix.\",\"type\":\"standalone\"},{\"name\":\"TOEP(q)\",\"followsDelimiter\":\"/\",\"description\":\"Specifies a banded Toeplitz structure. This can be viewed as a moving-average structure with order equal to q-1.\",\"type\":\"value\"},{\"name\":\"TOEPH\",\"followsDelimiter\":\"/\",\"description\":\"Specifies a heterogeneous banded Toeplitz structure.\",\"type\":\"standalone\"},{\"name\":\"TOEPH(q)\",\"followsDelimiter\":\"/\",\"description\":\"Specifies a heterogeneous banded Toeplitz structure. PROC MIXED estimates only the first q bands of the matrix, setting all higher bands equal to 0.\",\"type\":\"standaloneOrValue\"},{\"name\":\"UN\",\"followsDelimiter\":\"/\",\"description\":\"Specifies a completely general (unstructured) covariance matrix parameterized directly in terms of variances and covariances.\",\"type\":\"standalone\"},{\"name\":\"UN(q)\",\"followsDelimiter\":\"/\",\"description\":\"Specifies a completely general (unstructured) covariance matrix parameterized directly in terms of variances and covariances. PROC MIXED estimates only the first q bands of the matrix, setting all higher bands equal to 0.\",\"type\":\"standalone\"},{\"name\":\"UNR\",\"followsDelimiter\":\"/\",\"description\":\"Specifies a completely general (unstructured) covariance matrix parameterized in terms of variances and correlations.\",\"type\":\"standalone\"},{\"name\":\"UNR(q)\",\"followsDelimiter\":\"/\",\"description\":\"Specifies a completely general (unstructured) covariance matrix parameterized in terms of variances and correlations. PROC MIXED estimates only the first q bands of the matrix, setting all higher bands equal to zero.\",\"type\":\"standalone\"},{\"name\":\"UN@AR(1)\",\"followsDelimiter\":\"/\",\"description\":\"Specifies direct (Kronecker) product structures designed for multivariate repeated measures (see Galecki 1994).\",\"type\":\"standalone\"},{\"name\":\"UN@CS\",\"followsDelimiter\":\"/\",\"description\":\"Specifies direct (Kronecker) product structures designed for multivariate repeated measures (see Galecki 1994).\",\"type\":\"standalone\"},{\"name\":\"UN@UN\",\"followsDelimiter\":\"/\",\"description\":\"Specifies direct (Kronecker) product structures designed for multivariate repeated measures (see Galecki 1994).\",\"type\":\"standalone\"},{\"name\":\"VC\",\"followsDelimiter\":\"/\",\"aliases\":[\"SIMPLE\"],\"description\":\"Specifies standard variance components and is the default structure for both the RANDOM and REPEATED statements.\",\"type\":\"standalone\"},{\"name\":\"SP(EXP)(c-list)\",\"followsDelimiter\":\"/\",\"description\":\"Exponential spatial covariance structure. c-list contains the names of the numeric variables used as coordinates of the location of the observation in space.\",\"type\":\"standalone\"},{\"name\":\"SP(EXPA)(c-list)\",\"followsDelimiter\":\"/\",\"description\":\"Anisotropic exponential spatial covariance structure. c-list contains the names of the numeric variables used as coordinates of the location of the observation in space.\",\"type\":\"standalone\"},{\"name\":\"SP(EXPGA)(c1 c2)\",\"followsDelimiter\":\"/\",\"description\":\"2D exponential, geometrically anisotropic\",\"type\":\"standalone\"},{\"name\":\"SP(GAU)(c-list)\",\"followsDelimiter\":\"/\",\"description\":\"Gaussian spatial covariance structure. c-list contains the names of the numeric variables used as coordinates of the location of the observation in space.\",\"type\":\"standalone\"},{\"name\":\"SP(GAUGA)(c1 c2)\",\"followsDelimiter\":\"/\",\"description\":\"2D Gaussian spatial covariance structure.\",\"type\":\"standalone\"},{\"name\":\"SP(LIN)(c-list)\",\"followsDelimiter\":\"/\",\"description\":\"Linear spatial covariance structure. c-list contains the names of the numeric variables used as coordinates of the location of the observation in space.\",\"type\":\"standalone\"},{\"name\":\"SP(LINL)(c-list)\",\"followsDelimiter\":\"/\",\"description\":\"Linear log spatial covariance structure. c-list contains the names of the numeric variables used as coordinates of the location of the observation in space.\",\"type\":\"standalone\"},{\"name\":\"SP(MATERN)(c-list)\",\"followsDelimiter\":\"/\",\"description\":\"Matern spatial covariance structure. c-list contains the names of the numeric variables used as coordinates of the location of the observation in space.\",\"type\":\"standalone\"},{\"name\":\"SP(MATHSW)(c-list)\",\"followsDelimiter\":\"/\",\"description\":\"Matern (Hancock-Stein-Wallis) spatial covariance structure. c-list contains the names of the numeric variables used as coordinates of the location of the observation in space.\",\"type\":\"standalone\"},{\"name\":\"SP(POW)(c-list)\",\"followsDelimiter\":\"/\",\"description\":\"Power spatial covariance structure. c-list contains the names of the numeric variables used as coordinates of the location of the observation in space.\",\"type\":\"standalone\"},{\"name\":\"SP(POWA)(c-list)\",\"followsDelimiter\":\"/\",\"description\":\"Anisotropic power spatial covariance structure. c-list contains the names of the numeric variables used as coordinates of the location of the observation in space.\",\"type\":\"standalone\"},{\"name\":\"SP(SPH)(c-list)\",\"followsDelimiter\":\"/\",\"description\":\"Spherical spatial covariance structure. c-list contains the names of the numeric variables used as coordinates of the location of the observation in space.\",\"type\":\"standalone\"},{\"name\":\"SP(SPHGA)(c-list)\",\"followsDelimiter\":\"/\",\"description\":\"2D spherical, geometrically anisotropic spatial covariance structure. c-list contains the names of the numeric variables used as coordinates of the location of the observation in space.\",\"type\":\"standalone\"}]},{\"name\":\"V\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that blocks of the estimated V matrix be displayed. You can optionally use the value-list specification, which indicates the subjects for which blocks of V are to be displayed.\",\"type\":\"standalone\"},{\"name\":\"VC\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays the Cholesky root of the blocks of the estimated V matrix. The value-list specification is the same as in the V= option.\",\"type\":\"standalone\"},{\"name\":\"VCI\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays the inverse of the Cholesky root of the blocks of the estimated V matrix. The value-list specification is the same as in the V= option.\",\"type\":\"standalone\"},{\"name\":\"VCORR\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays the correlation matrix corresponding to the blocks of the estimated V matrix. The value-list specification is the same as in the V= option.\",\"type\":\"standalone\"},{\"name\":\"VI\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays the inverse of the blocks of the estimated V matrix. The value-list specification is the same as in the V= option.\",\"type\":\"standalone\"}]},{\"name\":\"REPEATED\",\"description\":\"The REPEATED statement is used to specify the R matrix in the mixed model. Its syntax is different from that of the REPEATED statement in PROC GLM. If no REPEATED statement is specified, R is assumed to be equal to σ²I.\",\"help\":\"REPEATED &lt;GROUP=effect&gt;&lt;HLM&gt;&lt;HLPS&gt; ...\",\"arguments\":[{\"name\":\"GROUP=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"GRP=\"],\"description\":\"Defines an effect specifying heterogeneity in the covariance structure of R.\",\"help\":\"GROUP=*effect*\",\"type\":\"value\"},{\"name\":\"HLM\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Produces a table of Hotelling-Lawley-McKeon statistics for all fixed effects whose levels change across data having the same level of the SUBJECT= effect (the within- subject fixed effects)\",\"type\":\"standalone\"},{\"name\":\"HLPS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Produces a table of Hotelling-Lawley-Pillai-Samson statistics for all fixed effects whose levels change across data having the same level of the SUBJECT= effect (the within-subject fixed effects).\",\"type\":\"standalone\"},{\"name\":\"LDATA=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Reads the coefficient matrices associated with the TYPE=LIN(number) option.\",\"help\":\"LDATA=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"LOCAL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that a diagonal matrix be added to R. With just the LOCAL option, this diagonal matrix equals σ²I, and σ² becomes an additional variance parameter that PROC MIXED profiles out of the likelihood provided that you do not specify the NOPROFILE option in the PROC MIXED statement. The LOCAL option is useful if you want to add an observational error to a time series structure (Jones and Boadi- Boateng 1991) or a nugget effect to a spatial structure (Cressie 1993).\",\"help\":\"LOCAL=POM(*POM-data-set*) | EXP(&lt;*effects*&gt;)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"POM\",\"followsDelimiter\":\"/\",\"description\":\"Specifies the power-of-the-mean structure. The SAS data set specified by POM-data-set contains the numeric variable Estimate (in previous releases, the variable name was required to be EST), and it has at least as many observations as there are fixed-effects parameters.\",\"help\":\"POM(*POM-data-set*)\",\"type\":\"dataSet\"},{\"name\":\"EXP\",\"followsDelimiter\":\"/\",\"description\":\"Produces exponential local effects, also known as dispersion effects, in a log-linear variance model.\",\"help\":\"EXP(&lt;*effects*&gt;)\",\"type\":\"standaloneOrValue\"}]},{\"name\":\"LOCALW\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies that only the local effects and no others be weighted.\",\"type\":\"standalone\"},{\"name\":\"NONLOCALW\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies that only the nonlocal effects and no others be weighted.\",\"type\":\"standalone\"},{\"name\":\"R\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that blocks of the estimated R matrix be displayed.\",\"type\":\"standalone\"},{\"name\":\"RC\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Produces the Cholesky root of blocks of the estimated R matrix.\",\"type\":\"standalone\"},{\"name\":\"RCI\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Produces the inverse Cholesky root of blocks of the estimated R matrix.\",\"type\":\"standalone\"},{\"name\":\"RCORR\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Produces the correlation matrix corresponding to blocks of the estimated R matrix.\",\"type\":\"standalone\"},{\"name\":\"RI\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Produces the inverse of blocks of the estimated R matrix.\",\"type\":\"standalone\"},{\"name\":\"SSCP\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that an unstructured R matrix be estimated from the sum-of-squares-and-crossproducts matrix of the residuals.\",\"type\":\"standalone\"},{\"name\":\"SUBJECT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"SUB=\"],\"description\":\"Identifies the subjects in your mixed model.\",\"help\":\"SUBJECT=*effect*\",\"type\":\"value\"},{\"name\":\"TYPE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the covariance structure of the R matrix.\",\"help\":\"TYPE=ANTE(1) | AR(1) | ARH(1) | ARMA(1,1) | CS | CSH | FA(q) | FA0(q) | FA1(q) | HF | LIN(q) | TOEP | TOEP(q) | TOEPH | TOEPH(q) | UN | UN(q) | UNR | UNR(q) | UN@AR(1) | UN@CS | UN@UN | VC | SP(EXP)(c-list) | SP(EXPA)(c-list) | SP(EXPGA)(c1 c2) | SP(GAU)(c-list) | SP(GAUGA)(c1 c2) | SP(LIN)(c-list) | SP(LINL)(c-list) | SP(MATERN)(c-list) | SP(MATHSW)(c-list) | SP(POW)(c-list) | SP(POWA)(c-list) | SP(SPH)(c-list) | SP(SPHGA)(c-list)*covariance-structure*\",\"type\":\"value\",\"arguments\":[{\"name\":\"ANTE(1)\",\"followsDelimiter\":\"/\",\"description\":\"Specifies a first-order ante-dependence structure (see Kenward 1987, Patel 1991, and Macchiavelli and Arnold 1994)\",\"type\":\"standalone\"},{\"name\":\"AR(1)\",\"followsDelimiter\":\"/\",\"description\":\"Specifies a first-order autoregressive structure.\",\"type\":\"standalone\"},{\"name\":\"ARH(1)\",\"followsDelimiter\":\"/\",\"description\":\"Specifies a heterogeneous first-order autoregressive structure.\",\"type\":\"standalone\"},{\"name\":\"ARMA(1,1)\",\"followsDelimiter\":\"/\",\"description\":\"Specifies the first-order autoregressive moving-average structure\",\"type\":\"standalone\"},{\"name\":\"CS\",\"followsDelimiter\":\"/\",\"description\":\"Specifies the compound-symmetry structure, which has constant variance and constant covariance.\",\"type\":\"standalone\"},{\"name\":\"CSH\",\"followsDelimiter\":\"/\",\"description\":\"Specifies the heterogeneous compound-symmetry structure, which is an equi-correlation structure but allows for different variances.\",\"type\":\"standalone\"},{\"name\":\"FA(q)\",\"followsDelimiter\":\"/\",\"description\":\"Specifies the factor-analytic structure with q factors (Jennrich and Schluchter 1986).\",\"type\":\"standalone\"},{\"name\":\"FA0(q)\",\"followsDelimiter\":\"/\",\"description\":\"Is similar to the FA(q) structure except that no diagonal matrix D is included.\",\"type\":\"standalone\"},{\"name\":\"FA1(q)\",\"followsDelimiter\":\"/\",\"description\":\"Is similar to the FA(q) structure except that all of the elements in D are constrained to be equal.\",\"type\":\"standalone\"},{\"name\":\"HF\",\"followsDelimiter\":\"/\",\"description\":\"Specifies the Huynh-Feldt covariance structure (Huynh and Feldt 1970). This structure is similar to the CSH structure in that it has the same number of parameters and heterogeneity along the main diagonal. However, it constructs the off-diagonal elements by taking arithmetic rather than geometric means.\",\"type\":\"standalone\"},{\"name\":\"LIN(q)\",\"followsDelimiter\":\"/\",\"description\":\"Specifies a general linear covariance structure with q parameters.\",\"type\":\"standalone\"},{\"name\":\"TOEP\",\"followsDelimiter\":\"/\",\"description\":\"Specifies a full Toeplitz matrix, which can be viewed as an autoregressive structure with order equal to the dimension of the matrix.\",\"type\":\"standalone\"},{\"name\":\"TOEP(q)\",\"followsDelimiter\":\"/\",\"description\":\"Specifies a banded Toeplitz structure. This can be viewed as a moving-average structure with order equal to q-1.\",\"type\":\"standalone\"},{\"name\":\"TOEPH\",\"followsDelimiter\":\"/\",\"description\":\"Specifies a heterogeneous banded Toeplitz structure.\",\"type\":\"standalone\"},{\"name\":\"TOEPH(q)\",\"followsDelimiter\":\"/\",\"description\":\"Specifies a heterogeneous banded Toeplitz structure. PROC MIXED estimates only the first q bands of the matrix, setting all higher bands equal to 0.\",\"type\":\"standalone\"},{\"name\":\"UN\",\"followsDelimiter\":\"/\",\"description\":\"Specifies a completely general (unstructured) covariance matrix parameterized directly in terms of variances and covariances.\",\"type\":\"standalone\"},{\"name\":\"UN(q)\",\"followsDelimiter\":\"/\",\"description\":\"Specifies a completely general (unstructured) covariance matrix parameterized directly in terms of variances and covariances. PROC MIXED estimates only the first q bands of the matrix, setting all higher bands equal to 0.\",\"type\":\"standalone\"},{\"name\":\"UNR\",\"followsDelimiter\":\"/\",\"description\":\"Specifies a completely general (unstructured) covariance matrix parameterized in terms of variances and correlations.\",\"type\":\"standalone\"},{\"name\":\"UNR(q)\",\"followsDelimiter\":\"/\",\"description\":\"Specifies a completely general (unstructured) covariance matrix parameterized in terms of variances and correlations. PROC MIXED estimates only the first q bands of the matrix, setting all higher bands equal to zero.\",\"type\":\"standalone\"},{\"name\":\"UN@AR(1)\",\"followsDelimiter\":\"/\",\"description\":\"Specifies direct (Kronecker) product structures designed for multivariate repeated measures (see Galecki 1994).\",\"type\":\"standalone\"},{\"name\":\"UN@CS\",\"followsDelimiter\":\"/\",\"description\":\"Specifies direct (Kronecker) product structures designed for multivariate repeated measures (see Galecki 1994).\",\"type\":\"standalone\"},{\"name\":\"UN@UN\",\"followsDelimiter\":\"/\",\"description\":\"Specifies direct (Kronecker) product structures designed for multivariate repeated measures (see Galecki 1994).\",\"type\":\"standalone\"},{\"name\":\"VC\",\"followsDelimiter\":\"/\",\"aliases\":[\"SIMPLE\"],\"description\":\"Specifies standard variance components and is the default structure for both the RANDOM and REPEATED statements.\",\"type\":\"standalone\"},{\"name\":\"SP(EXP)(c-list)\",\"followsDelimiter\":\"/\",\"description\":\"Exponential spatial covariance structure. c-list contains the names of the numeric variables used as coordinates of the location of the observation in space.\",\"type\":\"standalone\"},{\"name\":\"SP(EXPA)(c-list)\",\"followsDelimiter\":\"/\",\"description\":\"Anisotropic exponential spatial covariance structure. c-list contains the names of the numeric variables used as coordinates of the location of the observation in space.\",\"type\":\"standalone\"},{\"name\":\"SP(EXPGA)(c1 c2)\",\"followsDelimiter\":\"/\",\"description\":\"2D exponential, geometrically anisotropic\",\"type\":\"standalone\"},{\"name\":\"SP(GAU)(c-list)\",\"followsDelimiter\":\"/\",\"description\":\"Gaussian spatial covariance structure. c-list contains the names of the numeric variables used as coordinates of the location of the observation in space.\",\"type\":\"standalone\"},{\"name\":\"SP(GAUGA)(c1 c2)\",\"followsDelimiter\":\"/\",\"description\":\"2D Gaussian spatial covariance structure.\",\"type\":\"standalone\"},{\"name\":\"SP(LIN)(c-list)\",\"followsDelimiter\":\"/\",\"description\":\"Linear spatial covariance structure. c-list contains the names of the numeric variables used as coordinates of the location of the observation in space.\",\"type\":\"standalone\"},{\"name\":\"SP(LINL)(c-list)\",\"followsDelimiter\":\"/\",\"description\":\"Linear log spatial covariance structure. c-list contains the names of the numeric variables used as coordinates of the location of the observation in space.\",\"type\":\"standalone\"},{\"name\":\"SP(MATERN)(c-list)\",\"followsDelimiter\":\"/\",\"description\":\"Matern spatial covariance structure. c-list contains the names of the numeric variables used as coordinates of the location of the observation in space.\",\"type\":\"standalone\"},{\"name\":\"SP(MATHSW)(c-list)\",\"followsDelimiter\":\"/\",\"description\":\"Matern (Hancock-Stein-Wallis) spatial covariance structure. c-list contains the names of the numeric variables used as coordinates of the location of the observation in space.\",\"type\":\"standalone\"},{\"name\":\"SP(POW)(c-list)\",\"followsDelimiter\":\"/\",\"description\":\"Power spatial covariance structure. c-list contains the names of the numeric variables used as coordinates of the location of the observation in space.\",\"type\":\"standalone\"},{\"name\":\"SP(POWA)(c-list)\",\"followsDelimiter\":\"/\",\"description\":\"Anisotropic power spatial covariance structure. c-list contains the names of the numeric variables used as coordinates of the location of the observation in space.\",\"type\":\"standalone\"},{\"name\":\"SP(SPH)(c-list)\",\"followsDelimiter\":\"/\",\"description\":\"Spherical spatial covariance structure. c-list contains the names of the numeric variables used as coordinates of the location of the observation in space.\",\"type\":\"standalone\"},{\"name\":\"SP(SPHGA)(c-list)\",\"followsDelimiter\":\"/\",\"description\":\"2D spherical, geometrically anisotropic spatial covariance structure. c-list contains the names of the numeric variables used as coordinates of the location of the observation in space.\",\"type\":\"standalone\"}]}]},{\"name\":\"SLICE\",\"description\":\"The SLICE statement provides a general mechanism for performing a partitioned analysis of the LS-means for an interaction. This analysis is also known as an analysis of simple effects. The SLICE statement uses the same options as the LSMEANS statement.\",\"help\":\"SLICE &lt;ADJDFE=&lt;SOURCE | ROW&gt;&gt;&lt;ADJUST=&lt;BON | DUNNETT | NELSON&gt;... &gt;&lt;ALPHA=number&gt; ...\",\"arguments\":[{\"name\":\"ADJDFE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies how denominator degrees of freedom are determined when p-values and confidence limits are adjusted for multiple comparisons with the ADJUST= option.\",\"help\":\"ADJDFE=SOURCE | ROW\",\"type\":\"choice\",\"arguments\":[{\"name\":\"SOURCE\",\"followsDelimiter\":\"/\",\"description\":\"The denominator degrees of freedom for multiplicity-adjusted results are the denominator degrees of freedom for the LS-mean effect in the \\\"Type III Tests of Fixed Effects\\\" table.\",\"type\":\"standalone\"},{\"name\":\"ROW\",\"followsDelimiter\":\"/\",\"description\":\"Useful if you want multiplicity adjustments to take into account that denominator degrees of freedom are not constant across LS-mean differences.\",\"type\":\"standalone\"}]},{\"name\":\"ADJUST=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests a multiple comparison adjustment for the p-values and confidence limits for the differences of LS-means.\",\"help\":\"ADJUST=BON | DUNNETT | NELSON | SCHEFFE | SIDAK | SIMULATE | SMM | TUKEY\",\"type\":\"choice\",\"arguments\":[{\"name\":\"BON\",\"followsDelimiter\":\"/\",\"description\":\"Bonferroni adjustment\",\"type\":\"standalone\"},{\"name\":\"DUNNETT\",\"followsDelimiter\":\"/\",\"description\":\"Dunnett adjustment (in which the procedure analyzes all differences with a control level)\",\"type\":\"standalone\"},{\"name\":\"NELSON\",\"followsDelimiter\":\"/\",\"description\":\"Nelson adjustment (in which ANOM differences are taken)\",\"type\":\"standalone\"},{\"name\":\"SCHEFFE\",\"followsDelimiter\":\"/\",\"description\":\"Scheffe's adjustment\",\"type\":\"standalone\"},{\"name\":\"SIDAK\",\"followsDelimiter\":\"/\",\"description\":\"Sidak adjustment\",\"type\":\"standalone\"},{\"name\":\"SIMULATE\",\"followsDelimiter\":\"/\",\"description\":\"Computes adjusted p-values and confidence limits from the simulated distribution of the maximum or maximum absolute value of a multivariate t random vector. Syntax: SIMULATE<(simoptions)> You can specify the following simoptions in parentheses after the ADJUST=SIMULATE option. ACC=value specifies the target accuracy radius γ of a 100(1-ε)% confidence interval for the true probability content of the estimated (1-α)th quantile. The default value is ACC=0.005. EPS=value specifies the value ε for a 100(1-ε)% confidence interval for the true probability content of the estimated (1-α)th quantile. The default value is ACC=0.005. NSAMP=n specifies the sample size for the simulation. SEED=number specifies an integer that is used to start the pseudo-random number generator for the simulation. THREADS specifies that the computational work for the simulation be divided into parallel threads, where the number of threads is the value of the SAS system option CPUCOUNT=. NOTHREADS specifies that the computational work for the simulation be performed in sequence rather than in parallel. NOTHREADS is the default. This option overrides the SAS system option THREADS|NOTHREADS.\",\"type\":\"standalone\"},{\"name\":\"SMM\",\"followsDelimiter\":\"/\",\"aliases\":[\"GT2\"],\"description\":\"SMM adjustment\",\"type\":\"standalone\"},{\"name\":\"TUKEY\",\"followsDelimiter\":\"/\",\"description\":\"If your data are unbalanced, PROC GLIMMIX uses the approximation described in Kramer (1956) and identifies the adjustment as \\\"Tukey-Kramer\\\" in the results.\",\"type\":\"standalone\"}]},{\"name\":\"ALPHA=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that a t-type confidence interval be constructed for each of the LS-means with confidence level (1-number)x100%. The value of number must be between 0 and 1; the default is 0.05.\",\"help\":\"ALPHA=*number*\",\"type\":\"value\"},{\"name\":\"AT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Modifies the values of the covariates that are used in computing LS-means. By default, all covariate effects are set equal to their mean values for computation of standard LS-means. The AT option enables you to assign arbitrary values to the covariates. Additional columns in the output table indicate the values of the covariates.\",\"help\":\"AT=MEANS\",\"type\":\"choice\",\"arguments\":[{\"name\":\"MEANS\",\"type\":\"standalone\"}]},{\"name\":\"BYLEVEL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that separate margins be computed for each level of the SLICE model-effect.\",\"type\":\"standalone\"},{\"name\":\"CL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that t-type confidence limits be constructed for each of the LS-means. The confidence level is 0.95 by default; this can be changed with the ALPHA= option.\",\"type\":\"standalone\"},{\"name\":\"CORR\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays the estimated correlation matrix of the least squares means as part of the \\\"Least Squares Means\\\" table.\",\"type\":\"standalone\"},{\"name\":\"COV\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays the estimated covariance matrix of the least squares means as part of the \\\"Least Squares Means\\\" table.\",\"type\":\"standalone\"},{\"name\":\"DF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the degrees of freedom for the t test and confidence limits. The default is the denominator degrees of freedom taken from the \\\"Type III Tests\\\" table that corresponds to the LS-means effect.\",\"help\":\"DF=*number*\",\"type\":\"value\"},{\"name\":\"DIFF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"PDIFF=\"],\"description\":\"Requests that differences of the LS-means be displayed.\",\"help\":\"DIFF=ALL | ANOM | CONTROL | CONTROLL | CONTROLU\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ALL\",\"followsDelimiter\":\"/\",\"description\":\"Requests all pairwise differences; this is the default.\",\"type\":\"standalone\"},{\"name\":\"ANOM\",\"followsDelimiter\":\"/\",\"description\":\"Requests differences between each LS-mean and the average LS-mean, as in the analysis of means (Ott 1967).\",\"type\":\"standalone\"},{\"name\":\"CONTROL\",\"followsDelimiter\":\"/\",\"description\":\"Requests the differences with a control, which, by default, is the first level of each of the specified SLICE effects.\",\"type\":\"standalone\"},{\"name\":\"CONTROLL\",\"followsDelimiter\":\"/\",\"description\":\"Tests whether the noncontrol levels are significantly smaller than the control; the upper confidence limits for the control minus the noncontrol levels are considered to be infinity and are displayed as missing.\",\"type\":\"standalone\"},{\"name\":\"CONTROLU\",\"followsDelimiter\":\"/\",\"description\":\"Tests whether the noncontrol levels are significantly larger than the control; the upper confidence limits for the noncontrol levels minus the control are considered to be infinity and are displayed as missing.\",\"type\":\"standalone\"}]},{\"name\":\"E\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that the L matrix coefficients for the SLICE effects be displayed.\",\"type\":\"standalone\"},{\"name\":\"EXP\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests exponentiation of the LS-means or LS-mean differences. When you model data with the logit, cumulative logit, or generalized logit link functions, and the estimate represents a log odds ratio or log cumulative odds ratio, the EXP option produces an odds ratio. In proportional hazards model, the exponentiation of the LS-mean differences produces estimates of hazard ratios. If you specify the CL or ALPHA= option, the (adjusted) confidence bounds are also exponentiated.\",\"type\":\"standalone\"},{\"name\":\"ILINK\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that estimates and their standard errors in the \\\"Least Squares Means\\\" table also be reported on the scale of the mean (the inverse linked scale).\",\"type\":\"standalone\"},{\"name\":\"LINES\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Presents results of comparisons between all pairs of least squares means by listing the means in descending order and indicating nonsignificant subsets by line segments beside the corresponding LS-means.\",\"type\":\"standalone\"},{\"name\":\"MEANS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies to produce the table of least squares means.\",\"type\":\"standalone\"},{\"name\":\"NOF\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Suppresses the F test for testing the mutual equality of the estimable functions in the partition.\",\"type\":\"standalone\"},{\"name\":\"NOMEANS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies not to produce the table of least squares means. This is the default.\",\"type\":\"standalone\"},{\"name\":\"OBSMARGINS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"OM=\"],\"description\":\"Specifies a potentially different weighting scheme for the computation of LS-means coefficients. The standard LS-means have equal coefficients across classification effects; however, the OM option changes these coefficients to be proportional to those found in the OM-data-set. This adjustment is reasonable when you want your inferences to apply to a population that is not necessarily balanced but has the margins that are observed in OM-data-set.\",\"type\":\"value\"},{\"name\":\"ODDSRATIO\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"OR\"],\"description\":\"Requests that LS-mean differences (DIFF, ADJUST= options) are also reported in terms of odds ratios. The ODDSRATIO option is ignored unless you use either the logit, cumulative logit, or generalized logit link function. If you specify the CL or ALPHA= option, confidence intervals for the odds ratios are also computed. These intervals are adjusted for multiplicity when you specify the ADJUST= option.\",\"type\":\"standalone\"},{\"name\":\"PDIFF\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Is the same as the DIFF option.\",\"type\":\"standalone\"},{\"name\":\"PLOT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"PLOTS=\"],\"description\":\"Requests that least squares means related graphics are produced via ODS Graphics, provided that the ODS GRAPHICS statement has been specified and the plot request does not conflict with other options in the SLICE statement.\",\"help\":\"PLOT=ALL | ANOMPLOT | BOXPLOT | CONTROLPLOT | DIFFPLOT | DISTPLOT | MEANPLOT | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ALL\",\"followsDelimiter\":\"/\",\"description\":\"Requests that the default plots corresponding to this SLICE statement be produced.\",\"type\":\"standalone\"},{\"name\":\"ANOMPLOT\",\"followsDelimiter\":\"/\",\"aliases\":[\"ANOM\"],\"description\":\"Requests an analysis of means display in which least squares means are compared to an average least squares mean.\",\"type\":\"standalone\"},{\"name\":\"BOXPLOT\",\"followsDelimiter\":\"/\",\"description\":\"Syntax: BOXPLOT<boxplot-options>> Produces box plots of the distribution of the least squares mean or least squares mean differences across a posterior sample. For example, this plot is available in procedures that support a Bayesian analysis through the BAYES statement. A separate box is generated for each estimable function, and all boxes appear on a single graph by default. You can affect the appearance of the box plot graph with the following options: ORIENTATION=VERTICAL|HORIZONTAL ORIENT=VERT|HORIZ specifies the orientation of the boxes. The default is vertical orientation of the box plots. NPANELPOS=number specifies how to break the series of box plots across multiple panels. If the NPANELPOS option is not specified, or if number equals zero, then all box plots are displayed in a single graph; this is the default.\",\"type\":\"standalone\"},{\"name\":\"CONTROLPLOT\",\"followsDelimiter\":\"/\",\"aliases\":[\"CONTROL\"],\"description\":\"Requests a display in which least squares means are visually compared against a reference level.\",\"type\":\"standalone\"},{\"name\":\"DIFFPLOT\",\"followsDelimiter\":\"/\",\"aliases\":[\"DIFF\",\"DIFFOGRAM\"],\"description\":\"Requests a display of all pairwise least squares mean differences and their significance. Syntax: DIFFPLOT<(diffplot-options)> You can specify the following diffplot-options: ABS all line segments are shown on the same side of the reference line. NOABS separates comparisons according to the sign of the difference. CENTER marks the center point for each comparison. NOLINES suppresses the display of the line segments that represent the confidence bounds for the differences of the least squares means. The NOLINES option implies the CENTER option.\",\"type\":\"standalone\"},{\"name\":\"DISTPLOT\",\"followsDelimiter\":\"/\",\"aliases\":[\"DIST\"],\"description\":\"Generates panels of histograms with a kernel density overlaid if the analysis has access to a set of posterior parameter estimates. You can sepcify the following distplot-options in parentheses: BOX|NOBOX controls the display of a horizontal box plot of the estimable function's distribution across the posterior sample below the graph. The BOX option is enabled by default. HIST|NOHIST controls the display of the histogram of the estimable function's distribution across the posterior sample. The HIST option is enabled by default. NORMAL|NONORMAL controls the display of a normal density estimate on the graph. The NONORMAL option is enabled by default. KERNEL|NOKERNEL controls the display of a kernel density estimate on the graph. The KERNEL option is enabled by default. NROWS=number specifies the highest number of rows in a panel. The default is 3. NCOLS=number specifies the highest number of columns in a panel. The default is 3. UNPACK unpacks the panel into separate graphics.\",\"type\":\"standalone\"},{\"name\":\"MEANPLOT\",\"followsDelimiter\":\"/\",\"description\":\"Syntax: MEANPLOT<(meanplot-options)> Requests displays of the least squares means. The following meanplot-options control the display of the least squares means: ASCENDING displays the least squares means in ascending order. This option has no effect if means are sliced or displayed in separate plots. CL displays upper and lower confidence limits for the least squares means. By default, 95% limits are drawn. CLBAND displays confidence limits as bands. This option implies the JOIN option. DESCENDING displays the least squares means in descending order. This option has no effect if means are sliced or displayed in separate plots. ILINK requests that means (and confidence limits) are displayed on the inverse linked scale. JOIN | CONNECT connects the least squares means with lines. This option is implied by the CLBAND option. SLICEBY=fixed-effect specifies an effect by which to group the means in a single plot. PLOTBY=fixed-effect specifies an effect by which to break interaction plots into separate displays.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"followsDelimiter\":\"/\",\"description\":\"Requests that no plots be produced.\",\"type\":\"standalone\"}]},{\"name\":\"SEED=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the seed for the sampling-based components of the computations for the SLICE statement (for example, chi-bar-square statistics and simulated p-values). number specifies an integer that is used to start the pseudo-random-number generator for the simulation. If you do not specify a seed, or if you specify a value less than or equal to zero, the seed is generated from reading the time of day from the computer clock.\",\"help\":\"SEED=*number*\",\"type\":\"value\"},{\"name\":\"SINGULAR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Tunes the estimability checking. The value for number must be between 0 and 1; the default is 1E-4.\",\"help\":\"SINGULAR=*number*\",\"type\":\"value\"},{\"name\":\"SLICEBY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"\",\"type\":\"value\"},{\"name\":\"STEPDOWN=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that multiple comparison adjustments for the p-values of LS-mean differences be further adjusted in a step-down fashion. Step-down methods increase the power of multiple comparisons by taking advantage of the fact that a p-value is never declared significant unless all smaller p-values are also declared significant. You can specify the following step-down options in parentheses: MAXTIME=n specifies the time (in seconds) to spend computing the maximal logically consistent sequential subsets of equality hypotheses for TYPE=LOGICAL. REPORT specifies that a report on the step-down adjustment should be displayed, including a listing of the sequential subsets (Westfall 1997) and, for ADJUST=SIMULATE, the step-down simulation results.\",\"help\":\"STEPDOWN=MAXTIME= | REPORT | TYPE=\",\"type\":\"choice\",\"arguments\":[{\"name\":\"MAXTIME=\",\"type\":\"value\"},{\"name\":\"REPORT\",\"type\":\"standalone\"},{\"name\":\"TYPE=\",\"type\":\"value\"}]}]},{\"name\":\"STORE\",\"aliases\":[\"ITEMSTORE\"],\"description\":\"The STORE statement requests that the procedure save the context and results of the statistical analysis. The resulting item store is a binary file format that cannot be modified. The contents of the item store can be processed with the PLM procedure. The item-store-name is a usual one- or two-level SAS name, like the names that are used for SAS data sets. If you specify a one-level name, then the item store resides in the WORK library and is deleted at the end of the SAS session. Since item stores usually are used to perform postprocessing tasks, typical usage specifies a two-level name of the form libname.membername. If an item store by the same name as specified in the STORE statement already exists, the existing store is replaced.\",\"help\":\"STORE &lt;LABEL='label'&gt; &lt;OUT=&gt;item-store-name \",\"arguments\":[{\"name\":\"OUT=\",\"description\":\"Specifies the store item name.\",\"type\":\"value\"},{\"name\":\"LABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Adds a custom label. When the PLM procedure processes an item store, the label appears in the PROC PLM output along with other identifying information.\",\"help\":\"LABEL='*label*'\",\"type\":\"value\"}]},{\"name\":\"WEIGHT\",\"description\":\"If you do not specify a REPEATED statement, the WEIGHT statement operates exactly like the one in PROC GLM. In this case PROC MIXED replaces X'X and Z'Z with X'WX and Z'WZ, where W is the diagonal weight matrix.\",\"help\":\"WEIGHT variable\"}],\"supportSiteInformation\":{\"docsetId\":\"statug\",\"docsetVersion\":\"latest\",\"docsetTargetFile\":\"statug_mixed_toc.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/MKTATTRIBUTION.json",
    "content": "{\"name\":\"MKTATTRIBUTION\",\"statements\":[{\"name\":\"PROC MKTATTRIBUTION\",\"description\":\"The PROC MKTATTRIBUTION statement invokes the MKTATTRIBUTION procedure.\",\"help\":\"PROC MKTATTRIBUTION   DATA=*libref.data-table*;\",\"arguments\":[{\"name\":\"DATA=\",\"description\":\"names the input data table for PROC MKTATTRIBUTION to use. libref.data-table is a two-level name, where \\\"libref\\\" refers to a refers to a collection of information that is defined in the LIBNAME statement and includes the library, which includes a path to the data, and a session identifier, which defaults to the active session but which can be explicitly defined in the LIBNAME statement, and \\\"data-table\\\" specifies the name of the input data table.\",\"help\":\"DATA=*libref.data-table*\",\"type\":\"dataSet\"}]},{\"name\":\"ID\",\"description\":\"The ID statement identifies observations in the input data table by specifying two variables for the cross-sectional time series data. That is, for each observation, the combination of the two variables’ values must be unique.\",\"help\":\"ID  TIME=*variable* SECTION=*variable* ;\",\"arguments\":[{\"name\":\"TIME=\",\"description\":\"specifies the temporal or sequential order of the observations. The variable cannot have missing values.\",\"help\":\"TIME=*variable*\",\"type\":\"value\"},{\"name\":\"SECTION=\",\"description\":\"identifies the section or customer ID of each observation. The variable cannot have missing values.\",\"help\":\"SECTION=*variable*\",\"type\":\"value\"}]},{\"name\":\"MODEL\",\"description\":\"The MODEL statement specifies the channel variable and the number of channels for the market attribution model. Only one MODEL statement is allowed.\",\"help\":\"MODEL *channel-variable*&lt; / options&gt; ;\",\"arguments\":[{\"name\":\"channel-variable\",\"description\":\"Specifies the channel variable.\",\"type\":\"standalone\"},{\"name\":\"HALFLIFE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the half-life the decaying attribution value for the time-decay attribution model. The number must be a positive number. By default, the value of the HALFLIFE= option is 1.\",\"help\":\"HALFLIFE=*number*\",\"type\":\"value\"},{\"name\":\"NCHANNEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the number of channels for the market attribution model. The number must be a positive integer. The number must be greater than the value the channel variable takes. If you specify a number greater than the maximum value of the channel variable in the input data set, the procedure produces useless information in the TPM. If you specify a number less than the maximum value of the channel variable in the input data set, the procedure stops running. By default, the value of the NCHANNEL= option is the maximum value of the channel variable in the input data set.\",\"help\":\"NCHANNEL=*number*\",\"type\":\"value\"}]},{\"name\":\"OUTPUT\",\"description\":\"The OUTPUT statement saves the estimation results to the specified output data tables.\",\"help\":\"OUTPUT &lt;options&gt; ;\",\"arguments\":[{\"name\":\"OUTCONTRIBUTION=\",\"optional\":true,\"description\":\"writes the contribution results to the specified output data table. libref.data-table is a two-level name, where libref refers to the library, and data-table specifies the name of the output data table.\",\"help\":\"OUTCONTRIBUTION=*libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"OUTREMOVAL=\",\"optional\":true,\"description\":\"writes the removal effects to the specified output data table. libref.data-table is a two-level name, where libref refers to the library, and data-table specifies the name of the output data table.\",\"help\":\"OUTREMOVAL=*libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"OUTTPM=\",\"optional\":true,\"description\":\"writes the estimated transition probability matrix to the specified output data table. libref.data-table is a two-level name, where libref refers to the library, and data-table specifies the name of the output data table.\",\"help\":\"OUTTPM=*libref.data-table*\",\"type\":\"dataSet\"}]}],\"supportSiteInformation\":{\"docsetId\":\"casecon\",\"docsetVersion\":\"latest\",\"docsetTargetFile\":\"casecon_marketattribution_toc.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/MODECLUS.json",
    "content": "{\"name\":\"MODECLUS\",\"statements\":[{\"name\":\"PROC MODECLUS\",\"description\":\"The MODECLUS procedure clusters observations in a SAS data set by using any of several algorithms based on nonparametric density estimates.\",\"help\":\"PROC MODECLUS <ALL><AM><BOUNDARY><CASCADE=n><CK=n><CLUSTER=name><CORE><CR=n><CROSS><CROSSLIST><DATA=SAS-data-set><DENSITY=name><DIMENSION=n><DK=n><DOCK=n><DR=n><EARLY><HM><JOIN<=p>><K=n><LIST><LOCAL><MAXCLUSTERS=n><METHOD=0 | 1 | 2... ><MODE=n><NEIGHBOR><NOPRINT><NOSUMMARY><OUT=SAS-data-set><OUTCLUS=SAS-data-set><OUTLENGTH=n><OUTSUM=SAS-data-set><POWER=n><R=n><SHORT><SIMPLE><STANDARD><SUM><TEST><THRESHOLD=n><TRACE>;     \\n\\tBY <DESCENDING><NOTSORTED> ;\\n\\n\\tFREQ variable;\\n\\n\\tID variables ;\\n\\n\\tVAR variables ;\\n\",\"arguments\":[{\"name\":\"ALL\",\"optional\":true,\"description\":\"Produces all optional output.\",\"type\":\"standalone\"},{\"name\":\"AM\",\"optional\":true,\"description\":\"Specifies arithmetic means for cascading density estimates.\",\"type\":\"standalone\"},{\"name\":\"BOUNDARY\",\"optional\":true,\"description\":\"Displays the density and cluster membership of observations with neighbors belonging to a different cluster.\",\"type\":\"standalone\"},{\"name\":\"CASCADE=\",\"optional\":true,\"aliases\":[\"CASC=\"],\"description\":\"Specifies the number of times the density estimates are to be cascaded. The default value 0 performs no cascading.\",\"help\":\"CASCADE=*n*\",\"type\":\"value\"},{\"name\":\"CK=\",\"optional\":true,\"description\":\"Specifies the number of neighbors to use for clustering. The number of neighbors should be at least two but less than the number of observations.\",\"help\":\"CK=*n*\",\"type\":\"value\"},{\"name\":\"CLUSTER=\",\"optional\":true,\"description\":\"Provides a name for the variable in the OUT= and OUTCLUS= data sets identifying clusters. The default name is CLUSTER.\",\"help\":\"CLUSTER=*name*\",\"type\":\"value\"},{\"name\":\"CORE\",\"optional\":true,\"description\":\"Keeps the neighbor lists for each observation in the computer memory to make small problems run faster.\",\"type\":\"standalone\"},{\"name\":\"CR=\",\"optional\":true,\"description\":\"Specifies the radius of the neighborhood for clustering.\",\"help\":\"CR=*n*\",\"type\":\"value\"},{\"name\":\"CROSS\",\"optional\":true,\"description\":\"Computes the likelihood cross validation criterion (Silverman 1986, pp. 52–55). This option appears to be of limited usefulness.\",\"type\":\"standalone\"},{\"name\":\"CROSSLIST\",\"optional\":true,\"description\":\"Displays the cross validated log density of each observation.\",\"type\":\"standalone\"},{\"name\":\"DATA=\",\"optional\":true,\"description\":\"Specifies the input data set containing observations to be clustered.\",\"help\":\"DATA=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"DENSITY=\",\"optional\":true,\"description\":\"Provides a name for the variable in the OUT= data set containing density estimates. The default name is DENSITY.\",\"help\":\"DENSITY=*name*\",\"type\":\"value\"},{\"name\":\"DIMENSION=\",\"optional\":true,\"aliases\":[\"DIM=\"],\"description\":\"Specifies the dimensionality to be used when computing density estimates. The default is the number of variables if the data are coordinates; the default is 1 if the data are distances.\",\"help\":\"DIMENSION=*n*\",\"type\":\"value\"},{\"name\":\"DK=\",\"optional\":true,\"description\":\"Specifies the number of neighbors to use for th-nearest-neighbor density estimation.\",\"help\":\"DK=*n*\",\"type\":\"value\"},{\"name\":\"DOCK=\",\"optional\":true,\"description\":\"Dissolves clusters with n or fewer members by making the members unassigned.\",\"help\":\"DOCK=*n*\",\"type\":\"value\"},{\"name\":\"DR=\",\"optional\":true,\"description\":\"Specifies the radius of the sphere of support for uniform-kernel density estimation.\",\"help\":\"DR=*n*\",\"type\":\"value\"},{\"name\":\"EARLY\",\"optional\":true,\"description\":\"Stops the cluster analysis after obtaining either a solution with no cluster or a solution with one cluster to which all observations are assigned.\",\"type\":\"standalone\"},{\"name\":\"HM\",\"optional\":true,\"description\":\"Uses harmonic means for cascading density estimates. See the description of the CASCADE= option for details.\",\"type\":\"standalone\"},{\"name\":\"JOIN\",\"optional\":true,\"description\":\"Requests that nonsignificant clusters be hierarchically joined. The JOIN option implies the TEST option.\",\"type\":\"standalone\"},{\"name\":\"K=\",\"optional\":true,\"description\":\"Specifies the number of neighbors to use for th-nearest-neighbor density estimation and clustering.\",\"help\":\"K=*n*\",\"type\":\"value\"},{\"name\":\"LIST\",\"optional\":true,\"description\":\"Displays the estimated density and cluster membership of each observation.\",\"type\":\"standalone\"},{\"name\":\"LOCAL\",\"optional\":true,\"description\":\"Requests estimates of local dimensionality.\",\"type\":\"standalone\"},{\"name\":\"MAXCLUSTERS=\",\"optional\":true,\"aliases\":[\"MAXC=\"],\"description\":\"Specifies the maximum number of clusters to be obtained with the METHOD=6 option. By default, there is no fixed limit.\",\"help\":\"MAXCLUSTERS=*n*\",\"type\":\"value\"},{\"name\":\"METHOD=\",\"optional\":true,\"aliases\":[\"MET=\",\"M=\"],\"description\":\"Specifies what clustering method to use. Since these methods do not have widely recognized names, the methods are indicated by numbers from 0 to 6.\",\"help\":\"METHOD=0 | 1 | 2 | 3 | 4 | 5 | 6\",\"type\":\"choice\",\"arguments\":[{\"name\":\"0\",\"description\":\"This method does not use density estimates.\",\"type\":\"standalone\"},{\"name\":\"1\",\"description\":\"This method is similar to the classification or assignment stage of algorithms described by Gitman (1973) and Huizinga (1978).\",\"type\":\"standalone\"},{\"name\":\"2\",\"description\":\"This method is similar to the first stage of an algorithm proposed by Mizoguchi and Shimura (1980).\",\"type\":\"standalone\"},{\"name\":\"3\",\"description\":\"This method was invented by Koontz, Narendra, and Fukunaga (1976).\",\"type\":\"standalone\"},{\"name\":\"4\",\"description\":\"This method is equivalent to the first stage of two-stage density linkage without the use of the MODE=option.\",\"type\":\"standalone\"},{\"name\":\"5\",\"description\":\"This method is equivalent to the first stage of two-stage density linkage with the use of the MODE=option.\",\"type\":\"standalone\"},{\"name\":\"6\",\"description\":\"This method is related to a method invented by Koontz and Fukunaga (1972a) and discussed by Koontz and Fukunaga (1972b).\",\"type\":\"standalone\"}]},{\"name\":\"MODE=\",\"optional\":true,\"description\":\"Specifies that when two clusters are joined using the METHOD=5 option (no other methods are affected by the MODE= option), each must have at least n members for either cluster to be designated a modal cluster.\",\"help\":\"MODE=*n*\",\"type\":\"value\"},{\"name\":\"NEIGHBOR\",\"optional\":true,\"description\":\"Displays the neighbors of each observation in a table called \\\"Nearest Neighbor List.\\\"\",\"type\":\"standalone\"},{\"name\":\"NOPRINT\",\"optional\":true,\"description\":\"Suppresses the display of the output.\",\"type\":\"standalone\"},{\"name\":\"NOSUMMARY\",\"optional\":true,\"description\":\"Suppresses the display of the summary of the number of clusters, number of unassigned observations, and maximum -value for each analysis.\",\"type\":\"standalone\"},{\"name\":\"OUT=\",\"optional\":true,\"description\":\"Specifies the output data set containing the input data plus density estimates, cluster membership, and variables identifying the type of solution.\",\"help\":\"OUT=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"OUTCLUS=\",\"optional\":true,\"aliases\":[\"OUTC=\"],\"description\":\"Specifies the output data set containing an observation corresponding to each cluster in each solution.\",\"help\":\"OUTCLUS=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"OUTLENGTH=\",\"optional\":true,\"aliases\":[\"OUTL=\"],\"description\":\"Specifies the length of those output variables that are not copied from the input data set but are created by PROC MODECLUS.\",\"help\":\"OUTLENGTH=*n*\",\"type\":\"value\"},{\"name\":\"OUTSUM=\",\"optional\":true,\"aliases\":[\"OUTS=\"],\"description\":\"Specifies the output data set containing an observation corresponding to each cluster solution, giving the number of clusters and the number of unclassified observations for that solution.\",\"help\":\"OUTSUM=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"POWER=\",\"optional\":true,\"description\":\"Specifies the power of the density used with the METHOD=6 option. The default value is 2.\",\"help\":\"POWER=*n*\",\"type\":\"value\"},{\"name\":\"R=\",\"optional\":true,\"description\":\"Specifies the radius of the sphere of support for uniform-kernel density estimation and the neighborhood for clustering.\",\"help\":\"R=*n*\",\"type\":\"value\"},{\"name\":\"SHORT\",\"optional\":true,\"description\":\"Suppresses the display of statistics for each cluster.\",\"type\":\"standalone\"},{\"name\":\"SIMPLE\",\"optional\":true,\"description\":\"Displays means, standard deviations, skewness, kurtosis, and a coefficient of bimodality. The SIMPLE option applies only to coordinate data.\",\"type\":\"standalone\"},{\"name\":\"STANDARD\",\"optional\":true,\"aliases\":[\"STD\"],\"description\":\"Standardizes the variables to mean 0 and standard deviation 1. The STANDARD option applies only to coordinate data.\",\"type\":\"standalone\"},{\"name\":\"SUM\",\"optional\":true,\"description\":\"Uses sums for cascading density estimates.\",\"type\":\"standalone\"},{\"name\":\"TEST\",\"optional\":true,\"description\":\"Performs approximate significance tests for the number of clusters.\",\"type\":\"standalone\"},{\"name\":\"THRESHOLD=\",\"optional\":true,\"aliases\":[\"THR=\"],\"description\":\"Specifies the assignment threshold used with the METHOD=6 option. The default is 0.5.\",\"help\":\"THRESHOLD=*n*\",\"type\":\"value\"},{\"name\":\"TRACE\",\"optional\":true,\"description\":\"Traces the process of cluster assignments when METHOD=6 is specified.\",\"type\":\"standalone\"}]},{\"name\":\"BY\",\"description\":\"You can specify a BY statement with PROC MODECLUS to obtain separate analyses on observations in groups that are defined by the BY variables. When a BY statement appears, the procedure expects the input data set to be sorted in order of the BY variables. If you specify more than one BY statement, only the last one specified is used.\",\"help\":\"BY &lt;DESCENDING&gt;&lt;NOTSORTED&gt;\",\"arguments\":[{\"name\":\"DESCENDING\",\"optional\":true,\"description\":\"Specifies that the observations are sorted in descending order by the variable that immediately follows the word DESCENDING in the BY statement.\",\"type\":\"standalone\"},{\"name\":\"NOTSORTED\",\"optional\":true,\"description\":\"Specifies that observations are not necessarily sorted in alphabetic or numeric order.\",\"type\":\"standalone\"}]},{\"name\":\"FREQ\",\"aliases\":[\"FREQUENCY\"],\"description\":\"If one variable in the input data set represents the frequency of occurrence for other values in the observation, specify the variable’s name in a FREQ statement. PROC MODECLUS then treats the data set as if each observation appeared n times, where n is the value of the FREQ variable for the observation.\",\"help\":\"FREQ variable\"},{\"name\":\"ID\",\"description\":\"The values of the ID variable identify observations in the displayed results and in the OUT= data set. If you omit the ID statement, each observation is identified by its observation number, and a variable called _OBS_ is written to the OUT= data set containing the original observation numbers.\",\"help\":\"ID variables \"},{\"name\":\"VAR\",\"aliases\":[\"VARIABLE\",\"VARIABLES\"],\"description\":\"The VAR statement specifies numeric variables to be used in the cluster analysis. If you omit the VAR statement, all numeric variables not specified in other statements are used.\",\"help\":\"VAR variables \"}],\"supportSiteInformation\":{\"docsetId\":\"statug\",\"docsetVersion\":\"latest\",\"docsetTargetFile\":\"statug_modeclus_toc.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/MODEL.json",
    "content": "{\"name\":\"MODEL\",\"statements\":[{\"name\":\"PROC MODEL\",\"description\":\"The MODEL procedure analyzes models in which the relationships among the variables comprise a system of one or more nonlinear equations. Primary uses of the MODEL procedure are estimation, simulation, and forecasting of nonlinear simultaneous equation models. † PROC MODEL features include the following: o SAS programming statements to define simultaneous systems of nonlinear equations o tools to analyze the structure of the simultaneous equation system o ARIMA, PDL, and other dynamic modeling capabilities o tools to specify and estimate the error covariance structure o tools to estimate and solve ordinary differential equations o the following methods for parameter estimation: – ordinary least squares (OLS) – two-stage least squares (2SLS) – seemingly unrelated regression (SUR) and iterative SUR (ITSUR) – three-stage least squares (3SLS) and iterative 3SLS (IT3SLS) – generalized method of moments (GMM) – simulated method of moments (SMM) – full information maximum likelihood (FIML) – general log-likelihood maximization o simulation and forecasting capabilities o Monte Carlo simulation o goal-seeking solutions\",\"help\":\"PROC MODEL <BLOCK><DATA=SAS-data-set><DETAILS><FLOW><GRAPH><LIST><LISTALL><LISTCODE><LISTDEP><LISTDER><MAXERRORS=n><MEMORYUSE><MODEL=model-name | (model-list)><NDEC=n><NOPRINT><NOSTORE><OUTMODEL=model-name><OUTPARMS=SAS-data-set><PARMSDATA=SAS-data-set><PLOTS=ALL | ACF | IACF... ><PRINTALL><TRACE><XREF>;     \\n\\tABORT <ABEND><CANCEL><CANCEL FILE> ...;\\n\\n\\tARRAY <_ALL_><_NUMERIC_><_TEMPORARY_> ...;\\n\\n\\tATTRIB <FORMAT=format><INFORMAT=informat><LABEL='label'> ...;\\n\\n\\tBOUNDS bound1 <, bound2 ...> ;\\n\\n\\tBY variables ;\\n\\n\\tCALL name ( argument-1 [, ...argument-n] );\\n\\n\\tCONTROL variable < value > ... ;\\n\\n\\tDELETE;\\n\\n\\tDEPENDENT variable < initial-values > ... ;\\n\\n\\tDO <OVER><><> ...;\\n\\n\\tDROP variable ... ;\\n\\n\\tELSE <DO><IF><THEN> ...;\\n\\n\\tEND;\\n\\n\\tENDOGENOUS variable < initial-values > ... ;\\n\\n\\tERRORMODEL <CAUCHY( <location, scale> )><CHISQUARED ( df <, nc> )><GENERAL(Likelihood <, parm1, parm2,...parmn > )> ...;\\n\\n\\tESTIMATE <COVB><OUTCOV><OUTEST=> ...;\\n\\n\\tEXOGENOUS variable < initial-values > ... ;\\n\\n\\tFIT DROP= ( parameters ...) INITIAL= ( variable = < parameter | constant > ...) PARMS= ( parameters [values] ...) ...;\\n\\n\\tGOTO label;\\n\\n\\tID variables ;\\n\\n\\tIF <DO><THEN><WHEN> ...;\\n\\n\\tINCLUDE model-names ... ;\\n\\n\\tINDEPENDENT variable < initial-values > ... ;\\n\\n\\tINSTRUMENTS EXCLUDE=(parameters) <NOINTERCEPT> _EXOG_ ...;\\n\\n\\tKEEP variable-list ;\\n\\n\\t;\\n\\n\\tLENGTH <DEFAULT=n> ;\\n\\n\\tLINK statement-label;\\n\\n\\tMOMENT variables = moment specification ;\\n\\n\\tNUMBER <INIT expression> ;\\n\\n\\t;\\n\\n\\tOUTVARS variables ;\\n\\n\\tPARAMETERS variable <value> <variable <value>> ... ;\\n\\n\\tPUT <_PAGE_> ;\\n\\n\\tRANGE <RANGE variable < = first > < TO last > > ;\\n\\n\\tRENAME old-name-1=new-name-1 ... <old-name-n=new-name-n>;\\n\\n\\tRESET <DATA=SAS-data-set><OUTPARMS=SAS-data-set><PURGE> ...;\\n\\n\\tRESTRICT restriction1 < , restriction2 ...> ;\\n\\n\\tRETAIN variable-list1 value1 < variable-list2 value2 ...> ;\\n\\n\\tRETURN;\\n\\n\\t;\\n\\n\\tSOLVE SATISFY=equation | SATISFY=( equations ) ;\\n\\n\\tSTOP ;\\n\\n\\tTEST <LM><LR><WALD> ...;\\n\\n\\tVAR variables <initial-values> ... ;\\n\\n\\tWEIGHT variable ;\\n\\n\\tWHEN <DO> ;\\n\",\"arguments\":[{\"name\":\"BLOCK\",\"optional\":true,\"description\":\"Prints an analysis of the structure of the model given by the assignments to model variables appearing in the model program. This analysis includes a classification of model variables into endogenous (dependent) and exogenous (independent) groups based on the presence of the variable on the left-hand side of an assignment statement. The endogenous variables are grouped into simultaneously determined blocks. The dependency structure of the simultaneous blocks and exogenous variables is also printed. The BLOCK option cannot analyze dependencies implied by general form equations.\",\"type\":\"standalone\"},{\"name\":\"DATA=\",\"optional\":true,\"description\":\"Names the input data set. Variables in the model program are looked up in the DATA= data set and, if found, their attributes (type, length, label, format) are set to be the same as those in the input data set (if not previously defined otherwise). The values for the variables in the program are read from the input data set when the model is estimated or simulated by FIT and SOLVE statements.\",\"help\":\"DATA=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"DETAILS\",\"optional\":true,\"description\":\"Specifies the detailed printout. Parts of the printed output are expanded when the DETAILS option is specified. If ODS GRAPHICS ON is specified, the following additional graphs of the residuals are produced: ACF, PACF, IACF, white noise, and QQ plot versus the normal.\",\"type\":\"standalone\"},{\"name\":\"FLOW\",\"optional\":true,\"description\":\"Prints a message for each statement in the model program as it is executed. This debugging option is needed very rarely and produces voluminous output.\",\"type\":\"standalone\"},{\"name\":\"GRAPH\",\"optional\":true,\"description\":\"Prints the graph of the dependency structure of the model. The GRAPH option also invokes the BLOCK option and produces a graphical display of the information listed by the BLOCK option.\",\"type\":\"standalone\"},{\"name\":\"LIST\",\"optional\":true,\"description\":\"Prints the model program and variable lists, including the statements added by PROC MODEL and macros.\",\"type\":\"standalone\"},{\"name\":\"LISTALL\",\"optional\":true,\"description\":\"Selects the LIST, LISTDEP, LISTDER, and LISTCODE options.\",\"type\":\"standalone\"},{\"name\":\"LISTCODE\",\"optional\":true,\"description\":\"Prints the derivative tables and compiled model program code. LISTCODE is a debugging feature and is not normally needed.\",\"type\":\"standalone\"},{\"name\":\"LISTDEP\",\"optional\":true,\"description\":\"Prints a report that lists for each variable in the model program the variables that depend on it and that it depends on. These lists are given separately for current-period values and for lagged values of the variables.\",\"type\":\"standalone\"},{\"name\":\"LISTDER\",\"optional\":true,\"description\":\"Prints a table of derivatives for FIT and SOLVE tasks. (The LISTDER option is applicable only for the default NEWTON method for SOLVE tasks.) The derivatives table shows each nonzero derivative computed for the problem. The derivative listed can be a constant, a variable in the model program, or a special derivative variable created to hold the result of the derivative expression. This option is turned on by the LISTCODE and PRINTALL options.\",\"type\":\"standalone\"},{\"name\":\"MAXERRORS=\",\"optional\":true,\"description\":\"Specifies the maximum number of execution errors that can be printed. The default is MAXERRORS=50.\",\"help\":\"MAXERRORS=*n*\",\"type\":\"value\"},{\"name\":\"MEMORYUSE\",\"optional\":true,\"description\":\"Prints a report of the memory required for the various parts of the analysis.\",\"type\":\"standalone\"},{\"name\":\"MODEL=\",\"optional\":true,\"description\":\"Reads the model from one or more input model files created by previous PROC MODEL executions. Model files are written by the OUTMODEL= option.\",\"type\":\"value\"},{\"name\":\"NDEC=\",\"optional\":true,\"description\":\"Specifies the precision of the format that PROC MODEL uses when printing various numbers. The default is NDEC=3, which means that PROC MODEL attempts to print values by using the D format but ensures that at least three significant digits are shown. If the NDEC= value is greater than nine, the BEST. format is used. The smallest value allowed is NDEC=2.\",\"help\":\"NDEC=*n*\",\"type\":\"value\"},{\"name\":\"NOPRINT\",\"optional\":true,\"description\":\"Suppresses the normal printed output but does not suppress error listings. Using any other print option turns the NOPRINT option off. The PRINT option can be used with the RESET statement to turn off NOPRINT.\",\"type\":\"standalone\"},{\"name\":\"NOSTORE\",\"optional\":true,\"description\":\"Suppresses the default output of the model file. This option is applicable only when FIT or SOLVE statements are not used, the MODEL= option is not used, and when a model is specified.\",\"type\":\"standalone\"},{\"name\":\"OUTMODEL=\",\"optional\":true,\"description\":\"Specifies the name of an output model file to which the model is to be written. Starting with SAS 9.2, model files are being stored as XML-based SAS data sets instead of being stored as members of a SAS catalog as in earlier releases. This makes MODEL files more readily extendable in the future and enables Java-based applications to read the MODEL files directly. To change this behavior, use the SAS global-CMPMODEL-options. You can choose the format in which the output model file is stored and read by using the CMPMODEL=global-CMPMODEL-options in an PTIONS statement as follows.\",\"help\":\"OUTMODEL=*model-name*\",\"type\":\"value\"},{\"name\":\"OUTPARMS=\",\"optional\":true,\"description\":\"Writes the parameter estimates to a SAS data set.\",\"help\":\"OUTPARMS=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"PARMSDATA=\",\"optional\":true,\"description\":\"Names the SAS data set that contains the parameter estimates. In PROC MODEL, you have several options to specify starting values for the parameters to be estimated. When more than one option is specified, the options are implemented in the following order of precedence (from highest to lowest): the START= option, the PARMS statement initialization value, the ESTDATA= option, and the PARMSDATA= option. If no options are specified for the starting value, the default value of 0.0001 is used.\",\"help\":\"PARMSDATA=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"PLOTS=\",\"optional\":true,\"description\":\"Requests that the MODEL procedure produce statistical graphics via the Output Delivery System, provided that the ODS GRAPHICS statement has been specified. The global-plot-options apply to all relevant plots generated by the MODEL procedure. The global-plot-options supported by the MODEL procedure follow. ONLY suppresses the default plots. Only the plots specifically requested are produced.\",\"help\":\"PLOTS=ALL | ACF | IACF | PACF | FITPLOT | COOKSD | QQ | RESIDUAL|RES | STUDENTRESIDUAL | RESIDUALHISTOGRAM |RESIDHISTOGRAM | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ALL\",\"description\":\"Requests that all plots appropriate for the particular analysis be produced.\",\"type\":\"standalone\"},{\"name\":\"ACF\",\"description\":\"Produces the autocorrelation function plot.\",\"type\":\"standalone\"},{\"name\":\"IACF\",\"description\":\"Produces the inverse autocorrelation function plot of residuals.\",\"type\":\"standalone\"},{\"name\":\"PACF\",\"description\":\"Produces the partial autocorrelation function plot of residuals.\",\"type\":\"standalone\"},{\"name\":\"FITPLOT\",\"description\":\"Plots the predicted and actual values.\",\"type\":\"standalone\"},{\"name\":\"COOKSD\",\"description\":\"Produces the Cook’s D plot.\",\"type\":\"standalone\"},{\"name\":\"QQ\",\"description\":\"Produces a QQ plot of residuals.\",\"type\":\"standalone\"},{\"name\":\"RESIDUAL\",\"description\":\"Plots the residuals.\",\"help\":\"RESIDUAL|RES\",\"type\":\"choice\"},{\"name\":\"STUDENTRESIDUAL\",\"description\":\"Plots the studentized residuals.\",\"type\":\"standalone\"},{\"name\":\"RESIDUALHISTOGRAM\",\"description\":\"Plots the histogram of residuals.\",\"help\":\"RESIDUALHISTOGRAM |RESIDHISTOGRAM\",\"type\":\"choice\"},{\"name\":\"NONE\",\"description\":\"Suppresses all plots.\",\"type\":\"standalone\"}]},{\"name\":\"PRINTALL\",\"optional\":true,\"description\":\"Turns on all the printing-control options. The options set by PRINTALL are DETAILS; the model information options LIST, LISTDEP, LISTDER, XREF, BLOCK, and GRAPH; the FIT task printing options FSRSQ, COVB, CORRB, COVS, CORRS, DW, and COLLIN; and the SOLVE task printing options STATS, THEIL, SOLVEPRINT, and ITPRINT.\",\"type\":\"standalone\"},{\"name\":\"TRACE\",\"optional\":true,\"description\":\"Prints the result of each operation in each statement in the model program as it is executed, in addition to the information printed by the FLOW option. This debugging option is needed very rarely and produces voluminous output.\",\"type\":\"standalone\"},{\"name\":\"XREF\",\"optional\":true,\"description\":\"Prints a cross-reference of the variables in the model program that shows where each variable was referenced or given a value. The XREF option is normally used in conjunction with the LIST option.\",\"type\":\"standalone\"}]},{\"name\":\"ABORT\",\"description\":\"Stops executing the current DATA step, SAS job, or SAS session.\",\"help\":\"ABORT &lt;ABEND&gt;&lt;CANCEL&gt;&lt;CANCEL FILE&gt; ...\",\"arguments\":[{\"name\":\"ABEND\",\"optional\":true,\"description\":\"Causes abnormal termination of the current SAS job or session. Results depend on the method of operation: o batch mode and noninteractive mode o stops processing immediately o sends an error message to the SAS log that states that execution was terminated by the ABEND option of the ABORT macro statement o does not execute any subsequent statements or check syntax o returns control to the operating environment; further action is based on how your operating environment and your site treat jobs that end abnormally. o windowing environment and interactive line mode\",\"type\":\"standalone\"},{\"name\":\"CANCEL\",\"optional\":true,\"description\":\"Causes the cancellation of the current submitted statements. The results depend on the method of operation: o batch mode and noninteractive mode o The entire SAS program and SAS system are terminated. o The error message is written to the SAS log. o windowing environment and interactive line mode o It only clears the current submitted program. o Other subsequent submitted programs are not affected. o The error message is written to the SAS log. o workspace server and stored process server o It only clears currently submitted program. o Other subsequent submit calls are not affected. o The error message is written to the SAS log. o SAS IntrNet application server\",\"type\":\"standalone\"},{\"name\":\"CANCEL FILE\",\"optional\":true,\"description\":\"Causes only the contents of the autoexec file or %INCLUDE file to be cleared by the %ABORT statement. Other submitted source statements will be executed after the autoexec or %INCLUDE file.\",\"type\":\"standalone\"},{\"name\":\"NOLIST\",\"optional\":true,\"description\":\"suppresses the output of all variables to the SAS log.\",\"type\":\"standalone\"},{\"name\":\"RETURN\",\"optional\":true,\"description\":\"Causes abnormal termination of the current SAS job or session. Results depend on the method of operation: o batch mode and noninteractive mode o stops processing immediately o sends an error message to the SAS log that states that execution was terminated by the RETURN option in the ABORT macro statement o does not execute any subsequent statements or check syntax o returns control to the operating environment with a condition code indicating an error. o windowing environment and interactive line mode\",\"type\":\"standalone\"}]},{\"name\":\"ARRAY\",\"description\":\"Defines the elements of an array.\",\"help\":\"ARRAY &lt;_ALL_&gt;&lt;_NUMERIC_&gt;&lt;_TEMPORARY_&gt; ...\",\"arguments\":[{\"name\":\"_ALL_\",\"optional\":true,\"description\":\"Specifies all variables.\",\"type\":\"standalone\"},{\"name\":\"_CHARACTER_\",\"optional\":true,\"description\":\"Specifies all character variables.\",\"type\":\"standalone\"},{\"name\":\"_NUMERIC_\",\"optional\":true,\"description\":\"Specifies all numeric variables.\",\"type\":\"standalone\"},{\"name\":\"_TEMPORARY_\",\"optional\":true,\"description\":\"Creates a list of temporary data elements.\",\"type\":\"standalone\"}]},{\"name\":\"ATTRIB\",\"description\":\"Associates a format, informat, label, and length with one or more variables.\",\"help\":\"ATTRIB &lt;FORMAT=format&gt;&lt;INFORMAT=informat&gt;&lt;LABEL='label'&gt; ...\",\"arguments\":[{\"name\":\"FORMAT=\",\"optional\":true,\"description\":\"Associates a format with variables in a variable-list.\",\"help\":\"FORMAT=*format*\",\"type\":\"value\"},{\"name\":\"INFORMAT=\",\"optional\":true,\"description\":\"Associates an informat with variables in a variable-list.\",\"help\":\"INFORMAT=*informat*\",\"type\":\"value\"},{\"name\":\"LABEL=\",\"optional\":true,\"description\":\"Associates a label with variables in a variable-list.\",\"help\":\"LABEL='*label*'\",\"type\":\"value\"},{\"name\":\"LENGTH=\",\"optional\":true,\"description\":\"Specifies the length of variables in a variable-list.\",\"type\":\"value\"},{\"name\":\"TRANSCODE=\",\"optional\":true,\"description\":\"Specifies whether character variables can be transcoded.\",\"type\":\"value\"}]},{\"name\":\"BOUNDS\",\"description\":\"The BOUNDS statement imposes simple boundary constraints on the parameter estimates. BOUNDS statement constraints refer to the parameters estimated by the associated FIT statement (that is, to either the preceding FIT statement or, in the absence of a preceding FIT statement, to the following FIT statement). You can specify any number of BOUNDS statements. Each bound is composed of parameters and constants and inequality operators: item operator item < operator item < operator item ...> > Each item is a constant, the name of an estimated parameter, or a list of parameter names. Each operator is <, >, <=, or >=. You can use both the BOUNDS statement and the RESTRICT statement to impose boundary constraints; however, the BOUNDS statement provides a simpler syntax for specifying these kinds of constraints.\",\"help\":\"BOUNDS bound1 &lt;, bound2 ...&gt; \"},{\"name\":\"BY\",\"description\":\"A BY statement is used with the FIT statement to obtain separate estimates for observations in groups defined by the BY variables. Note that if an output model file is written, using the OUTMODEL= option, the parameter values stored are those from the last BY group processed. To save parameter estimates for each BY group, use the OUTEST= option in the FIT statement. A BY statement is used with the SOLVE statement to obtain solutions for observations in groups defined by the BY variables. If the BY variables are identical in the DATA= data set and the ESTDATA= data set, then the two data sets are synchronized and the calculations are performed by using the data and parameters for each BY group. This holds for BY variables in the SDATA= data set as well. If the BY variables do not match, BY group processing is abandoned in either the ESTDATA= data set or the SDATA= data set, whichever has the missing BY value. If the DATA= data set does not contain BY variables and the ESTDATA= data set or the SDATA= data set does, then BY processing is performed for the ESTDATA= data set and the SDATA= data set by reusing the data in the DATA= data set for each BY group.\",\"help\":\"BY variables \"},{\"name\":\"CALL\",\"description\":\"The CALL statement invokes the named library subroutine. The values that are determined for each argument expression are passed to the subroutine when the subroutine is invoked. The subroutine can update the values of PROC OPTMODEL parameters and variables when an argument is an identifier-expression.\",\"help\":\"CALL name ( argument-1 [, ...argument-n] )\"},{\"name\":\"CONTROL\",\"description\":\"The CONTROL statement declares control variables and specifies their values. A control variable is like a parameter except that it has a fixed value and is not estimated from the data. You can use control variables for constants in model equations that you might want to change in different solution cases. You can use control variables to vary the program logic. Unlike the retained variables, these values are fixed across iterations.\",\"help\":\"CONTROL variable &lt; value &gt; ... \"},{\"name\":\"DELETE\",\"description\":\"Stops processing the current observation.\",\"help\":\"DELETE\"},{\"name\":\"DEPENDENT\",\"description\":\"The DEPENDENT statement is equivalent to the ENDOGENOUS statement and is provided for the convenience of non-econometric practitioners. The ENDOGENOUS statement optionally provides initial values for lagged dependent variables.\",\"help\":\"DEPENDENT variable &lt; initial-values &gt; ... \"},{\"name\":\"DO\",\"description\":\"\",\"help\":\"DO &lt;OVER&gt;&lt;&gt;&lt;&gt; ...\",\"arguments\":[{\"name\":\"BY\",\"optional\":true,\"description\":\"Precedes an increment integer (other than 0) or an expression that generates an integer to be added to the value of the index variable in each iteration of the DO loop.\",\"type\":\"standalone\"},{\"name\":\"OVER\",\"optional\":true,\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"TO\",\"optional\":true,\"description\":\"Separates the start and stop integers or expressions that control the number of times the portion of the DATA step between the iterative DO and END statements is processed.\",\"type\":\"standalone\"},{\"name\":\"UNTIL\",\"optional\":true,\"description\":\"...more SAS statements... END\",\"type\":\"standalone\"},{\"name\":\"WHILE\",\"optional\":true,\"description\":\"\",\"type\":\"standalone\"}]},{\"name\":\"DROP\",\"description\":\"Excludes variables from output SAS data sets.\",\"help\":\"DROP variable ... \"},{\"name\":\"ELSE\",\"description\":\"If the condition in an IF-THEN statement is false and an ELSE statement is present, then the ELSE action is carried out.\",\"help\":\"ELSE &lt;DO&gt;&lt;IF&gt;&lt;THEN&gt; ...\",\"arguments\":[{\"name\":\"AND\",\"optional\":true,\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"DO\",\"optional\":true,\"description\":\"Action statement in an IF-THEN-ELSE construct.\",\"type\":\"standalone\"},{\"name\":\"IF\",\"optional\":true,\"description\":\"Executes a SAS statement for observations that meet specific conditions.\",\"type\":\"standalone\"},{\"name\":\"NOT\",\"optional\":true,\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"OR\",\"optional\":true,\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"OUTPUT\",\"optional\":true,\"description\":\"Action statement in an IF-THEN-ELSE construct.\",\"type\":\"standalone\"},{\"name\":\"THEN\",\"optional\":true,\"description\":\"If the conditions that are specified in the IF clause are met, the IF-THEN statement executes a SAS statement for observations that are read from a SAS data set, for records in an external file, or for computed values.\",\"type\":\"standalone\"}]},{\"name\":\"END\",\"description\":\"Ends a DO group or SELECT group processing.\",\"help\":\"END\"},{\"name\":\"ENDOGENOUS\",\"aliases\":[\"ENDOG\",\"ENDO\"],\"description\":\"The ENDOGENOUS statement declares model variables and identifies them as endogenous. You can declare model variables with an ENDOGENOUS statement instead of with a VAR statement to help document the model or to indicate the default solution variables. The variables declared endogenous are solved when a SOLVE statement does not indicate which variables to solve. Valid abbreviations for the ENDOGENOUS statement are ENDOG and ENDO. The DEPENDENT statement is equivalent to the ENDOGENOUS statement and is provided for the convenience of non-econometric practitioners. The ENDOGENOUS statement optionally provides initial values for lagged dependent variables.\",\"help\":\"ENDOGENOUS variable &lt; initial-values &gt; ... \"},{\"name\":\"ERRORMODEL\",\"description\":\"The ERRORMODEL statement is the mechanism for specifying the distribution of the residuals. You must specify the dependent/endogenous variables or general-form model name, a tilde (~), and then a distribution with its parameters.\",\"help\":\"ERRORMODEL &lt;CAUCHY( &lt;location, scale&gt; )&gt;&lt;CHISQUARED ( df &lt;, nc&gt; )&gt;&lt;GENERAL(Likelihood &lt;, parm1, parm2,...parmn &gt; )&gt; ...\",\"arguments\":[{\"name\":\"CAUCHY\",\"optional\":true,\"description\":\"Specifies the Cauchy distribution. This option is supported only for simulation. The arguments correspond to the arguments of the SAS CDF function which computes the cumulative distribution function (ignoring the random variable argument).\",\"type\":\"standalone\"},{\"name\":\"CDF=\",\"optional\":true,\"description\":\"Specifies the univariate distribution that is used for simulation so that the estimation can be done for one set of distributional assumptions and the simulation for another. The CDF can be any of the distributions from the previous section with the exception of the general likelihood. In addition, you can specify the empirical distribution of the residuals. EMPIRICAL= ( <TAILS=(options)> ) uses the sorted residual data to create an empirical CDF. TAILS=( tail-options ) specifies how to handle the tails in computing the inverse CDF from an empirical distribution, where tail-options are: NORMAL specifies the normal distribution to extrapolate the tails. T( df ) specifies the t distribution to extrapolate the tails.\",\"help\":\"CDF=EMPIRICAL= | TAILS= | NORMAL | T | PERCENT=\",\"type\":\"choice\",\"arguments\":[{\"name\":\"EMPIRICAL=\",\"type\":\"value\"},{\"name\":\"TAILS=\",\"type\":\"value\"},{\"name\":\"NORMAL\",\"type\":\"standalone\"},{\"name\":\"T\",\"type\":\"standalone\"},{\"name\":\"PERCENT=\",\"type\":\"value\"}]},{\"name\":\"CHISQUARED\",\"optional\":true,\"description\":\"Specifies the χ² distribution. This option is supported only for simulation. The arguments correspond to the arguments of the SAS CDF function (ignoring the random variable argument).\",\"type\":\"standalone\"},{\"name\":\"F\",\"optional\":true,\"description\":\"Specifies the F distribution. This option is supported only for simulation. The arguments correspond to the arguments of the SAS CDF function (ignoring the random variable argument).\",\"type\":\"standalone\"},{\"name\":\"GENERAL\",\"optional\":true,\"description\":\"Specifies the negative of a general log-likelihood function that you construct by using SAS programming statements. The procedure minimizes the negative log-likelihood function specified. parm1, parm2,...parmn are optional parameters for this distribution and are used for documentation purposes only.\",\"type\":\"standalone\"},{\"name\":\"NORMAL\",\"optional\":true,\"description\":\"Specifies a multivariate normal (Gaussian) distribution with mean 0 and variances ν1 through νn.\",\"type\":\"standalone\"},{\"name\":\"POISSON\",\"optional\":true,\"description\":\"Specifies the Poisson distribution. This option is supported only for simulation. The arguments correspond to the arguments of the SAS CDF function (ignoring the random variable argument).\",\"type\":\"standalone\"},{\"name\":\"T\",\"optional\":true,\"description\":\"Specifies a multivariate t distribution with noncentrality 0, variance ν1 through νn, and common degrees of freedom df.\",\"type\":\"standalone\"},{\"name\":\"UNIFORM\",\"optional\":true,\"description\":\"Specifies the uniform distribution. This option is supported only for simulation. The arguments correspond to the arguments of the SAS CDF function (ignoring the random variable argument).\",\"type\":\"standalone\"}]},{\"name\":\"ESTIMATE\",\"description\":\"The ESTIMATE statement computes estimates of functions of the parameters. The ESTIMATE statement refers to the parameters estimated by the associated FIT statement (that is, to either the preceding FIT statement or, in the absence of a preceding FIT statement, to the following FIT statement). You can use any number of ESTIMATE statements.\",\"help\":\"ESTIMATE &lt;COVB&gt;&lt;OUTCOV&gt;&lt;OUTEST=&gt; ...\",\"arguments\":[{\"name\":\"CORRB\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Prints the correlation matrix of the functions of the parameters.\",\"type\":\"standalone\"},{\"name\":\"COVB\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Prints the covariance matrix of the functions of the parameters.\",\"type\":\"standalone\"},{\"name\":\"OUTCOV\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Writes the covariance matrix of the functions of the parameters to the OUTEST= data set in addition to the parameter estimates.\",\"type\":\"standalone\"},{\"name\":\"OUTEST=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the name of the data set in which the estimate of the functions of the parameters are to be written. The format for this data set is identical to the OUTEST= data set for the FIT statement.\",\"type\":\"value\"}]},{\"name\":\"EXOGENOUS\",\"aliases\":[\"EXOG\",\"EXO\"],\"description\":\"The EXOGENOUS statement declares model variables and identifies them as exogenous. You can declare model variables with an EXOGENOUS statement instead of with a VAR statement to help document the model or to indicate the default instrumental variables. The variables declared exogenous are used as instruments when an instrumental variables estimation method is requested (such as N2SLS or N3SLS) and an INSTRUMENTS statement is not used. Valid abbreviations for the EXOGENOUS statement are EXOG and EXO. The INDEPENDENT statement is equivalent to the EXOGENOUS statement and is provided for the convenience of non-econometric practitioners. The EXOGENOUS statement optionally provides initial values for lagged exogenous variables.\",\"help\":\"EXOGENOUS variable &lt; initial-values &gt; ... \"},{\"name\":\"FIT\",\"description\":\"The FIT statement estimates model parameters by fitting the model equations to input data and optionally selects the equations to be fit. If the list of equations is omitted, all model equations that contain parameters are fitted. [Not all FIT statement options are supported for autocompletion at present.]\",\"help\":\"FIT DROP= ( parameters ...) INITIAL= ( variable = &lt; parameter | constant &gt; ...) PARMS= ( parameters [values] ...) ...\",\"arguments\":[{\"name\":\"DROP=\",\"description\":\"Specifies that the named parameters not be estimated. All the parameters in the equations fit are estimated except those listed in the DROP= option. The dropped parameters retain their previous values and are not changed by the estimation.\",\"type\":\"value\"},{\"name\":\"INITIAL=\",\"description\":\"Associates a variable with an initial value as a parameter or a constant. This option applies only to ordinary differential equations.\",\"type\":\"value\"},{\"name\":\"PARMS=\",\"description\":\"Selects a subset of the parameters for estimation. When the PARMS= option is used, only the named parameters are estimated. Any parameters not specified in the PARMS= list retain their previous values and are not changed by the estimation.\",\"type\":\"value\"},{\"name\":\"PRL=\",\"description\":\"Requests confidence intervals on estimated parameters. By default, the PRL option produces 95% likelihood ratio confidence limits. The coverage of the confidence interval is controlled by the ALPHA= option in the FIT statement.\",\"help\":\"PRL=WALD | LR | BOTH\",\"type\":\"choice\",\"arguments\":[{\"name\":\"WALD\",\"description\":\"Requests likelihood ratio confidence limits.\",\"type\":\"standalone\"},{\"name\":\"LR\",\"description\":\"Requests Wald confidence limits.\",\"type\":\"standalone\"},{\"name\":\"BOTH\",\"description\":\"Requests both Wald and likelihood ratio confidence limits.\",\"type\":\"standalone\"}]},{\"name\":\"START=\",\"description\":\"Supplies starting values for the parameter estimates. In PROC MODEL, you have several options to specify starting values for the parameters to be estimated. When more than one option is specified, the options are implemented in the following order of precedence (from highest to lowest): the START= option, the PARMS statement initialization value, the ESTDATA= option, and the PARMSDATA= option. If no options are specified for the starting value, the default value of 0.0001 is used. If the START= option specifies more than one starting value for one or more parameters, a grid search is performed over all combinations of the values, and the best combination is used to start the iterations.\",\"type\":\"value\"},{\"name\":\"ADJSMMV\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies adding the variance adjustment from simulating the moments to the variance-covariance matrix of the parameter estimators. By default, no adjustment is made.\",\"type\":\"standalone\"},{\"name\":\"BLOCK\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Prints an analysis of the structure of the model given by the assignments to model variables appearing in the model program. This analysis includes a classification of model variables into endogenous (dependent) and exogenous (independent) groups based on the presence of the variable on the left-hand side of an assignment statement. The endogenous variables are grouped into simultaneously determined blocks. The dependency structure of the simultaneous blocks and exogenous variables is also printed. The BLOCK option cannot analyze dependencies implied by general form equations.\",\"type\":\"standalone\"},{\"name\":\"CHOW=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Prints the Chow test for break points or structural changes in a model. The argument is the number of observations in the first sample or a parenthesized list of first sample sizes. If the size of the one of the two groups in which the sample is partitioned is less than the number of parameters, then a predictive Chow test is automatically used.\",\"type\":\"value\"},{\"name\":\"COLLIN\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Prints collinearity diagnostics for the Jacobian crossproducts matrix (XPX) after the parameters have converged. Collinearity diagnostics are also automatically printed if the estimation fails to converge.\",\"type\":\"standalone\"},{\"name\":\"CONVERGE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the convergence criteria. The convergence measure must be less than value1 before convergence is assumed. value2 is the convergence criterion for the S and V matrices for S and V iterated methods. value2 defaults to value1.\",\"type\":\"value\"},{\"name\":\"CORR\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Prints the correlation matrices of the residuals and parameters. Using CORR is the same as using both CORRB and CORRS.\",\"type\":\"standalone\"},{\"name\":\"CORRB\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Prints the correlation matrix of the parameter estimates.\",\"type\":\"standalone\"},{\"name\":\"CORRS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Prints the correlation matrix of the residuals.\",\"type\":\"standalone\"},{\"name\":\"COV\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Prints the covariance matrices of the residuals and parameters. Specifying COV is the same as specifying both COVB and COVS.\",\"type\":\"standalone\"},{\"name\":\"COVB\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Prints the covariance matrix of the parameter estimates.\",\"type\":\"standalone\"},{\"name\":\"COVBEST=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the variance-covariance estimator used for FIML. The default is COVBEST=CROSS.\",\"help\":\"COVBEST=GLS | CROSS | FDA\",\"type\":\"choice\",\"arguments\":[{\"name\":\"GLS\",\"followsDelimiter\":\"/\",\"description\":\"Selects the generalized least squares estimator.\",\"type\":\"standalone\"},{\"name\":\"CROSS\",\"followsDelimiter\":\"/\",\"description\":\"Selects the crossproducts estimator.\",\"type\":\"standalone\"},{\"name\":\"FDA\",\"followsDelimiter\":\"/\",\"description\":\"Selects the inverse of the finite difference approximation to the Hessian.\",\"type\":\"standalone\"}]},{\"name\":\"COVS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Prints the covariance matrix of the residuals.\",\"type\":\"standalone\"},{\"name\":\"DATA=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the input data set. Values for the variables in the program are read from this data set. If the DATA= option is not specified on the FIT statement, the data set specified by the DATA= option on the PROC MODEL statement is used.\",\"help\":\"DATA=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"DETAILS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the detailed printout. Parts of the printed output are expanded when the DETAILS option is specified. If ODS GRAPHICS ON is specified, the following additional graphs of the residuals are produced: ACF, PACF, IACF, white noise, and QQ plot versus the normal.\",\"type\":\"standalone\"},{\"name\":\"DW=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Prints Durbin-Watson d statistics, which measure autocorrelation of the residuals. When the residual series is interrupted by missing observations, the Durbin-Watson statistic calculated is d' as suggested by Savin and White (1978). This is the usual Durbin-Watson computed by ignoring the gaps. Savin and White show that it has the same null distribution as the DW with no gaps in the series and can be used to test for autocorrelation using the standard tables. The Durbin-Watson statistic is not valid for models that contain lagged endogenous variables.\",\"type\":\"value\"},{\"name\":\"DWPROB\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Prints the significance level (p-values) for the Durbin-Watson tests. Since the Durbin-Watson p-values are computationally expensive, they are not reported by default. In the Durbin-Watson test, the null hypothesis is that there is autocorrelation at a specific lag.\",\"type\":\"standalone\"},{\"name\":\"DYNAMIC\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies dynamic estimation of ordinary differential equations.\",\"type\":\"standalone\"},{\"name\":\"EPSILON=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the tolerance value used to transform strict inequalities into inequalities when restrictions on parameters are imposed. By default, EPSILON=1E–8.\",\"type\":\"value\"},{\"name\":\"ESTDATA=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies a data set whose first observation provides initial values for some or all of the parameters.\",\"help\":\"ESTDATA=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"FIML\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies full information maximum likelihood estimation.\",\"type\":\"standalone\"},{\"name\":\"FLOW\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Prints a message for each statement in the model program as it is executed. This debugging option is needed very rarely and produces voluminous output.\",\"type\":\"standalone\"},{\"name\":\"FSRSQ\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Prints the first-stage R² statistics for instrumental estimation methods. These R² statistics measure the proportion of the variance retained when the Jacobian columns associated with the parameters are projected through the instruments space.\",\"type\":\"standalone\"},{\"name\":\"GENGMMV\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specify GMM variance under arbitrary weighting matrix. This is the default method for GMM estimation.\",\"type\":\"standalone\"},{\"name\":\"GINV=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the type of generalized inverse to be used when computing the covariance matrix. The default is GINV=G2.\",\"help\":\"GINV=G2 | G4\",\"type\":\"choice\",\"arguments\":[{\"name\":\"G2\",\"followsDelimiter\":\"/\",\"description\":\"A G2 inverse is calculated by satisfying the first two properties of the Moore-Penrose generalized inverse.\",\"type\":\"standalone\"},{\"name\":\"G4\",\"followsDelimiter\":\"/\",\"description\":\"Selects the Moore-Penrose generalized inverse.\",\"type\":\"standalone\"}]},{\"name\":\"GMM\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies generalized method of moments estimation.\",\"type\":\"standalone\"},{\"name\":\"GODFREY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Performs Godfrey’s tests for autocorrelated residuals for each equation, where n is the maximum autoregressive order, and specifies that Godfrey’s tests be computed for lags 1 through n. The default number of lags is one.\",\"help\":\"GODFREY=*n*\",\"type\":\"value\"},{\"name\":\"GRAPH\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Prints the graph of the dependency structure of the model. The GRAPH option also invokes the BLOCK option and produces a graphical display of the information listed by the BLOCK option.\",\"type\":\"standalone\"},{\"name\":\"HAUSMAN\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Performs Hausman’s specification test, or m-statistics.\",\"type\":\"standalone\"},{\"name\":\"HCCME=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the type of heteroscedasticity-consistent covariance matrix estimator to use for OLS, 2SLS, 3SLS, SUR, and the iterated versions of these estimation methods.\",\"help\":\"HCCME=0 | 1 | 2 | 3 | NO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"0\",\"followsDelimiter\":\"/\",\"description\":\"Corresponds to the type of covariance matrix estimator to use: HCO\",\"type\":\"standalone\"},{\"name\":\"1\",\"followsDelimiter\":\"/\",\"description\":\"Corresponds to the type of covariance matrix estimator to use: HC1\",\"type\":\"standalone\"},{\"name\":\"2\",\"followsDelimiter\":\"/\",\"description\":\"Corresponds to the type of covariance matrix estimator to use: HC2\",\"type\":\"standalone\"},{\"name\":\"3\",\"followsDelimiter\":\"/\",\"description\":\"Corresponds to the type of covariance matrix estimator to use: HC3\",\"type\":\"standalone\"},{\"name\":\"NO\",\"followsDelimiter\":\"/\",\"description\":\"Specifies not to use any covariance matrix estimator.\",\"type\":\"standalone\"}]},{\"name\":\"HESSIAN=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the Hessian approximation used for FIML. HESSIAN=GLS is the default.\",\"help\":\"HESSIAN=CROSS | GLS | FDA\",\"type\":\"choice\",\"arguments\":[{\"name\":\"CROSS\",\"followsDelimiter\":\"/\",\"description\":\"Selects the crossproducts approximation to the Hessian.\",\"type\":\"standalone\"},{\"name\":\"GLS\",\"followsDelimiter\":\"/\",\"description\":\"Selects the generalized least squares approximation to the Hessian.\",\"type\":\"standalone\"},{\"name\":\"FDA\",\"followsDelimiter\":\"/\",\"description\":\"Selects the finite difference approximation to the Hessian.\",\"type\":\"standalone\"}]},{\"name\":\"I\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Prints the inverse of the crossproducts Jacobian matrix at each iteration.\",\"type\":\"standalone\"},{\"name\":\"IT2SLS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies iterated two-stage least squares estimation. This is the same as 2SLS unless there are cross-equation parameter restrictions.\",\"type\":\"standalone\"},{\"name\":\"IT3SLS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies iterated three-stage least squares estimation.\",\"type\":\"standalone\"},{\"name\":\"ITALL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies all iteration printing-control options (I, ITDETAILS, ITPRINT, and XPX). ITALL also prints the crossproducts matrix (labeled CROSS), the parameter change vector, and the estimate of the cross-equation covariance of residuals matrix at each iteration.\",\"type\":\"standalone\"},{\"name\":\"ITDETAILS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Prints a detailed iteration listing. This includes the ITPRINT information and additional statistics.\",\"type\":\"standalone\"},{\"name\":\"ITGMM\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies iterated generalized method of moments estimation.\",\"type\":\"standalone\"},{\"name\":\"ITOLS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies iterated ordinary least squares estimation. This is the same as OLS unless there are cross-equation parameter restrictions.\",\"type\":\"standalone\"},{\"name\":\"ITPRINT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Prints the parameter estimates, objective function value, and convergence criteria at each iteration.\",\"type\":\"standalone\"},{\"name\":\"ITSUR\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies iterated seemingly unrelated regression estimation.\",\"type\":\"standalone\"},{\"name\":\"KERNEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the kernel to be used for GMM and ITGMM. The default is KERNEL=(PARZEN, 1, 0.2).\",\"help\":\"KERNEL=PARZEN | BART | QS\",\"type\":\"choice\",\"arguments\":[{\"name\":\"PARZEN\",\"followsDelimiter\":\"/\",\"description\":\"Selects the Parzen kernel.\",\"type\":\"standalone\"},{\"name\":\"BART\",\"followsDelimiter\":\"/\",\"description\":\"Selects the Bartlett kernel.\",\"type\":\"standalone\"},{\"name\":\"QS\",\"followsDelimiter\":\"/\",\"description\":\"Selects the quadratic spectral kernel. e ≥ 0 and c ≥ 0 are used to compute the bandwidth parameter.\",\"type\":\"standalone\"}]},{\"name\":\"LIST\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Prints the model program and variable lists, including the statements added by PROC MODEL and macros.\",\"type\":\"standalone\"},{\"name\":\"LISTCODE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Prints the derivative tables and compiled model program code. LISTCODE is a debugging feature and is not normally needed.\",\"type\":\"standalone\"},{\"name\":\"LISTDEP\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Prints a report that lists for each variable in the model program the variables that depend on it and that it depends on. These lists are given separately for current-period values and for lagged values of the variables.\",\"type\":\"standalone\"},{\"name\":\"LISTDER\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Prints a table of derivatives for FIT and SOLVE tasks. (The LISTDER option is applicable only for the default NEWTON method for SOLVE tasks.) The derivatives table shows each nonzero derivative computed for the problem. The derivative listed can be a constant, a variable in the model program, or a special derivative variable created to hold the result of the derivative expression. This option is turned on by the LISTCODE and PRINTALL options.\",\"type\":\"standalone\"},{\"name\":\"LTEBOUND=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the local truncation error bound for the integration. This option is ignored if no ordinary differential equations (ODEs) are specified.\",\"help\":\"LTEBOUND=*n*\",\"type\":\"value\"},{\"name\":\"MAXERRORS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the maximum number of execution errors that can be printed. The default is MAXERRORS=50.\",\"help\":\"MAXERRORS=*n*\",\"type\":\"value\"},{\"name\":\"MAXITER=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the maximum number of iterations allowed. The default is MAXITER=100.\",\"help\":\"MAXITER=*n*\",\"type\":\"value\"},{\"name\":\"MAXSUBITER=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the maximum number of subiterations allowed for an iteration. For the GAUSS method, the MAXSUBITER= option limits the number of step halvings. For the MARQUARDT method, the MAXSUBITER= option limits the number of times n can be increased. The default is MAXSUBITER=30.\",\"help\":\"MAXSUBITER=*n*\",\"type\":\"value\"},{\"name\":\"METHOD=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the iterative minimization method to use. The default is METHOD=GAUSS. If the default GAUSS method fails to converge, the procedure switches to the MARQUARDT method.\",\"help\":\"METHOD=GAUSS | MARQUARDT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"GAUSS\",\"followsDelimiter\":\"/\",\"description\":\"Specifies the Gauss-Newton method.\",\"type\":\"standalone\"},{\"name\":\"MARQUARDT\",\"followsDelimiter\":\"/\",\"description\":\"Specifies the Marquardt-Levenberg method.\",\"type\":\"standalone\"}]},{\"name\":\"MINTIMESTEP=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the smallest allowed time step to be used in the integration. This option is ignored if no ODEs are specified.\",\"help\":\"MINTIMESTEP=*n*\",\"type\":\"value\"},{\"name\":\"MISSING=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies how missing values are handled. The default is MISSING=DELETE.\",\"help\":\"MISSING=PAIRWISE | DELETE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"PAIRWISE\",\"followsDelimiter\":\"/\",\"description\":\"Specifies that missing values are tracked on an equation-by-equation basis.\",\"type\":\"standalone\"},{\"name\":\"DELETE\",\"followsDelimiter\":\"/\",\"description\":\"Specifies that the entire observation is omitted from the analysis when any equation has a missing predicted or actual value for the equation.\",\"type\":\"standalone\"}]},{\"name\":\"NDRAW=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests the simulation method for estimation. H is the number of draws. If number of draws is not specified, the default H is set to 10.\",\"type\":\"value\"},{\"name\":\"NESTIT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Changes the way the iterations are performed for estimation methods that iterate the estimate of the equation covariance (S matrix). The NESTIT option is relevant only for the methods that iterate the estimate of the covariance matrix (ITGMM, ITOLS, ITSUR, IT2SLS, and IT3SLS).\",\"type\":\"standalone\"},{\"name\":\"NO3SLS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies not to use 3SLS automatically for FIML initial parameter starting values.\",\"type\":\"standalone\"},{\"name\":\"NOGENGMMV\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies not to use GMM variance under arbitrary weighting matrix. Use GMM variance under optimal weighting matrix instead.\",\"type\":\"standalone\"},{\"name\":\"NOOLS\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"NO2SLS\"],\"description\":\"Specifies bypassing OLS or 2SLS to get initial parameter estimates for GMM, ITGMM, or FIML. This is important for certain models that are poorly defined in OLS or 2SLS, or if good initial parameter values are already provided. Note that for GMM, the V matrix is created by using the initial values specified and this might not be consistently estimated.\",\"type\":\"standalone\"},{\"name\":\"NOPRINT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Suppresses the normal printed output but does not suppress error listings. Using any other print option turns the NOPRINT option off. The PRINT option can be used with the RESET statement to turn off NOPRINT.\",\"type\":\"standalone\"},{\"name\":\"NORMAL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Performs tests of normality of the model residuals.\",\"type\":\"standalone\"},{\"name\":\"NPREOBS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the initial number of observations to run the simulation before the simulated values are compared to observed variables. This option is most useful in cases where the program statements involve lag operations. Use this option to avoid the effect of the starting point on the simulation.\",\"type\":\"value\"},{\"name\":\"NVDRAW=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies H', the number of draws for V matrix. If this option is not specified, the default H' is set to 20.\",\"type\":\"value\"},{\"name\":\"OLS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies ordinary least squares estimation. This is the default.\",\"type\":\"standalone\"},{\"name\":\"OUT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Names the SAS data set to contain the residuals, predicted values, or actual values from each estimation.\",\"help\":\"OUT=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"OUTACTUAL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Writes the actual values of the endogenous variables of the estimation to the OUT= data set. This option is applicable only if the OUT= option is specified.\",\"type\":\"standalone\"},{\"name\":\"OUTALL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Selects the OUTACTUAL, OUTERRORS, OUTLAGS, OUTPREDICT, and OUTRESID options.\",\"type\":\"standalone\"},{\"name\":\"OUTCOV\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"COVOUT\"],\"description\":\"Writes the covariance matrix of the estimates to the OUTEST= data set in addition to the parameter estimates. The OUTCOV option is applicable only if the OUTEST= option is also specified.\",\"type\":\"standalone\"},{\"name\":\"OUTEST=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Names the SAS data set to contain the parameter estimates and optionally the covariance of the estimates.\",\"help\":\"OUTEST=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"OUTLAGS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Writes the observations used to start the lags to the OUT= data set. This option is applicable only if the OUT= option is specified.\",\"type\":\"standalone\"},{\"name\":\"OUTPREDICT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Writes the predicted values to the OUT= data set. This option is applicable only if OUT= is specified.\",\"type\":\"standalone\"},{\"name\":\"OUTRESID\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Writes the residual values computed from the parameter estimates to the OUT= data set. The OUTRESID option is the default if neither OUTPREDICT nor OUTACTUAL is specified. This option is applicable only if the OUT= option is specified.\",\"type\":\"standalone\"},{\"name\":\"OUTS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Names the SAS data set to contain the estimated covariance matrix of the equation errors. This is the covariance of the residuals computed from the parameter estimates.\",\"help\":\"OUTS=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"OUTSN=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Names the SAS data set to contain the estimated normalized covariance matrix of the equation errors. This is valid for multivariate t distribution estimation.\",\"help\":\"OUTSN=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"OUTSUSED=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Names the SAS data set to contain the S matrix used in the objective function definition. The OUTSUSED= data set is the same as the OUTS= data set for the methods that iterate the S matrix.\",\"help\":\"OUTSUSED=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"OUTUNWGTRESID\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Writes the unweighted residual values computed from the parameter estimates to the OUT= data set. These are residuals computed as actual-predicted with no accounting for the WEIGHT statement, the _WEIGHT_ variable, or any variance expressions. This option is applicable only if the OUT= option is specified.\",\"type\":\"standalone\"},{\"name\":\"OUTV=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Names the SAS data set to contain the estimate of the variance matrix for GMM and ITGMM.\",\"help\":\"OUTV=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"PCHOW=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Prints the predictive Chow test for break points or structural changes in a model. The argument is the number of observations in the first sample or a parenthesized list of first sample sizes.\",\"type\":\"value\"},{\"name\":\"PRINTALL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Turns on all the printing-control options. The options set by PRINTALL are DETAILS; the model information options LIST, LISTDEP, LISTDER, XREF, BLOCK, and GRAPH; the FIT task printing options FSRSQ, COVB, CORRB, COVS, CORRS, DW, and COLLIN; and the SOLVE task printing options STATS, THEIL, SOLVEPRINT, and ITPRINT.\",\"type\":\"standalone\"},{\"name\":\"SDATA=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies a data set that provides the covariance matrix of the equation errors. The matrix read from the SDATA= data set is used for the equation covariance matrix (S matrix) in the estimation. (The SDATA= S matrix is used to provide only the initial estimate of S for the methods that iterate the S matrix.)\",\"help\":\"SDATA=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"SINGULAR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the smallest pivot value allowed. The default 1.0E–12.\",\"help\":\"SINGULAR=*value*\",\"type\":\"value\"},{\"name\":\"STARTITER=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the number of minimization iterations to perform at each grid point. The default is STARTITER=0, which implies that no minimization is performed at the grid points.\",\"help\":\"STARTITER=*n*\",\"type\":\"value\"},{\"name\":\"SUR\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies seemingly unrelated regression estimation.\",\"type\":\"standalone\"},{\"name\":\"TIME=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the name of the time variable. This variable must be in the data set.\",\"help\":\"TIME=*name*\",\"type\":\"value\"},{\"name\":\"TRACE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Prints the result of each operation in each statement in the model program as it is executed, in addition to the information printed by the FLOW option. This debugging option is needed very rarely and produces voluminous output.\",\"type\":\"standalone\"},{\"name\":\"TYPE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the estimation type to read from the SDATA= and ESTDATA= data sets. The name specified in the TYPE= option is compared to the _TYPE_ variable in the ESTDATA= and SDATA= data sets to select observations to use in constructing the covariance matrices. When the TYPE= option is omitted, the last estimation type in the data set is used. Valid values are the estimation methods used in PROC MODEL.\",\"help\":\"TYPE=*name*\",\"type\":\"value\"},{\"name\":\"VARDEF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the denominator to be used in computing variances and covariances, MSE, root MSE measures, and so on. The default is VARDEF=DF.\",\"help\":\"VARDEF=N | WGT | DF | WDF\",\"type\":\"choice\",\"arguments\":[{\"name\":\"N\",\"followsDelimiter\":\"/\",\"description\":\"Specifies that the number of nonmissing observations be used.\",\"type\":\"standalone\"},{\"name\":\"WGT\",\"followsDelimiter\":\"/\",\"description\":\"Specifies that the sum of the weights be used.\",\"type\":\"standalone\"},{\"name\":\"DF\",\"followsDelimiter\":\"/\",\"description\":\"Specifies that the number of nonmissing observations minus the model degrees of freedom (number of parameters) be used.\",\"type\":\"standalone\"},{\"name\":\"WDF\",\"followsDelimiter\":\"/\",\"description\":\"Specifies that the sum of the weights minus the model degrees of freedom be used.\",\"type\":\"standalone\"}]},{\"name\":\"VDATA=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies a data set that contains a variance matrix for GMM and ITGMM estimation.\",\"help\":\"VDATA=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"WHITE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies White’s test.\",\"type\":\"standalone\"},{\"name\":\"XPX\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Prints the crossproducts Jacobian matrix at each iteration.\",\"type\":\"standalone\"},{\"name\":\"XREF\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Prints a cross-reference of the variables in the model program that shows where each variable was referenced or given a value. The XREF option is normally used in conjunction with the LIST option.\",\"type\":\"standalone\"}]},{\"name\":\"GOTO\",\"description\":\"Jumps to a new statement.\",\"help\":\"GOTO label\"},{\"name\":\"ID\",\"description\":\"The ID statement specifies variables to identify observations in error messages or other listings and in the OUT= data set. The ID variables are normally SAS date or datetime variables. If more than one ID variable is used, the first variable is used to identify the observations; the remaining variables are added to the OUT= data set.\",\"help\":\"ID variables \"},{\"name\":\"IF\",\"description\":\"\",\"help\":\"IF &lt;DO&gt;&lt;THEN&gt;&lt;WHEN&gt; ...\",\"arguments\":[{\"name\":\"AND\",\"optional\":true,\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"DO\",\"optional\":true,\"description\":\"Action statement in an IF-THEN construct.\",\"type\":\"standalone\"},{\"name\":\"GO\",\"optional\":true,\"aliases\":[\"GOTO\"],\"description\":\"Jumps to a new statement.\",\"help\":\"GO TO\",\"type\":\"standalone\"},{\"name\":\"NOT\",\"optional\":true,\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"OR\",\"optional\":true,\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"OUTPUT\",\"optional\":true,\"description\":\"Action statement in an IF-THEN construct.\",\"type\":\"standalone\"},{\"name\":\"PUT\",\"optional\":true,\"description\":\"Action statement in an IF-THEN construct.\",\"type\":\"standalone\"},{\"name\":\"SET\",\"optional\":true,\"description\":\"Reads an observation from one or more SAS data sets.\",\"type\":\"standalone\"},{\"name\":\"STOP\",\"optional\":true,\"description\":\"Action statement in an IF-THEN construct. Stops execution of the current DATA step.\",\"type\":\"standalone\"},{\"name\":\"THEN\",\"optional\":true,\"description\":\"If the conditions that are specified in the IF clause are met, the IF-THEN statement executes a SAS statement for observations that are read from a SAS data set, for records in an external file, or for computed values.\",\"type\":\"standalone\"},{\"name\":\"WHEN\",\"optional\":true,\"description\":\"WHEN statement in an IF-THEN-WHEN construct.\",\"type\":\"standalone\"}]},{\"name\":\"INCLUDE\",\"description\":\"The INCLUDE statement reads model files and inserts their contents into the current model. However, instead of replacing the current model as the RESET MODEL= option does, the contents of included model files are inserted into the model program at the position that the INCLUDE statement appears.\",\"help\":\"INCLUDE model-names ... \"},{\"name\":\"INDEPENDENT\",\"description\":\"The INDEPENDENT statement is equivalent to the EXOGENOUS statement and is provided for the convenience of non-econometric practitioners. The EXOGENOUS statement optionally provides initial values for lagged exogenous variables.\",\"help\":\"INDEPENDENT variable &lt; initial-values &gt; ... \"},{\"name\":\"INSTRUMENTS\",\"description\":\"The INSTRUMENTS statement specifies the instrumental variables to be used in the N2SLS, N3SLS, IT2SLS, IT3SLS, GMM, and ITGMM estimation methods. There are three ways of specifying the INSTRUMENTS statement. The first form of the INSTRUMENTS statement is used only after the FIT statement and before the next RUN statement. The items specified as instruments for the second form can be variables, names of parameters to be estimated, or the special keyword _EXOG_. The keyword _EXOG_ indicates that all the model variables declared EXOGENOUS are to be added to the instruments list. The second form of the INSTRUMENTS statement is declared before a FIT statement and defines the default instruments list. The items specified as instruments can be variables or the special keyword _EXOG_. If a single INSTRUMENTS statement of the second form is declared before multiple FIT statements, then it serves as the default instruments list for each of the FIT statements. However, if any of these FIT statements are followed by separate INSTRUMENTS statement, then the latter take precedence over the default list. Hence, in the case of multiple FIT statements, the INSTRUMENTS statement for a particular FIT statement is written below the FIT statement if instruments other than the default are required. For a single FIT statement, you can declare the INSTRUMENTS statement of the second form either preceding or following the FIT statement. A third form of the INSTRUMENTS statement is used to specify instruments for each equation. No explicit intercept is added, parameters cannot be specified to represent instruments, and the _EXOG_ keyword is not allowed. Equations not explicitly assigned instruments use all the instruments specified for the other equations as well as instruments not assigned specific equations.\",\"help\":\"INSTRUMENTS EXCLUDE=(parameters) &lt;NOINTERCEPT&gt; _EXOG_ ...\",\"arguments\":[{\"name\":\"EXCLUDE=\",\"description\":\"Specifies that the derivatives of the equations with respect to all of the parameters to be estimated (except the parameters listed in the EXCLUDE list) be used as instruments, in addition to the other instruments specified. If you use the EXCLUDE= option, you should be sure that the derivatives with respect to the nonexcluded parameters in the estimation are independent of the endogenous variables and not functions of the parameters estimated.\",\"type\":\"value\"},{\"name\":\"_EXOG_\",\"description\":\"The keyword _EXOG_ indicates that all the model variables declared EXOGENOUS are to be added to the instruments list.\",\"type\":\"standalone\"},{\"name\":\"INTONLY\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies that only the intercept be used as an instrument. This option is used for GMM estimation where the moments have been specified explicitly.\",\"type\":\"standalone\"},{\"name\":\"NOINTERCEPT\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"NOINT\"],\"description\":\"Excludes the constant of 1.0 (intercept) from the instruments list. An intercept is included as an instrument while using the first or second form of the INSTRUMENTS statement unless NOINTERCEPT is specified.\",\"type\":\"standalone\"}]},{\"name\":\"KEEP\",\"description\":\"The KEEP statement specifies which variables are to be included in the analysis and/or output.\",\"help\":\"KEEP variable-list \"},{\"name\":\"LABEL\",\"description\":\"\",\"help\":\"\"},{\"name\":\"LENGTH\",\"description\":\"Specifies the number of bytes for storing variables.\",\"help\":\"LENGTH &lt;DEFAULT=n&gt;\",\"arguments\":[{\"name\":\"DEFAULT=\",\"optional\":true,\"description\":\"Changes the default number of bytes that SAS uses to store the values of any newly created numeric variables.\",\"help\":\"DEFAULT=*n*\",\"type\":\"value\"}]},{\"name\":\"LINK\",\"description\":\"Directs program execution immediately to the statement label that is specified and, if followed by a RETURN statement, returns execution to the statement that follows the LINK statement.\",\"help\":\"LINK statement-label\"},{\"name\":\"MOMENT\",\"description\":\"In many scenarios, endogenous variables are observed from data. From the models, you can simulate these endogenous variables based on a fixed set of parameters. The goal of simulated method of moments (SMM) is to find a set of parameters such that the moments of the simulated data match the moments of the observed variables. If there are many moments to match, the code might be tedious. The following MOMENT statement provides a way to generate some commonly used moments automatically. Multiple MOMENT statements can be used. variables can be one or more endogenous variables. moment specification can have the following four types: o ( number list ) specifies that the endogenous variable is raised to the power specified by each number in number list. o ABS( number list ) specifies that the absolute value of the endogenous variable is raised to the power specified by each number in number list. o LAGnum ( number list ) specifies that the endogenous variable is multiplied by the num th lag of the endogenous variable, and this product is raised to the power specified by each number in number list. o ABS_LAGnum ( number list ) specifies that the endogenous variable is multiplied by the num th lag of the endogenous variable, and the absolute value of this product is raised to the power specified by each number in number list.\",\"help\":\"MOMENT variables = moment specification \"},{\"name\":\"NUMBER\",\"description\":\"Declaration of parameters that have a NUMBER type.\",\"help\":\"NUMBER &lt;INIT expression&gt;\",\"arguments\":[{\"name\":\"INIT\",\"optional\":true,\"description\":\"Specifies a default value that is used when a parameter value is required but no other value has been supplied.\",\"type\":\"standalone\"}]},{\"name\":\"OTHERWISE\",\"description\":\">\",\"help\":\"\"},{\"name\":\"OUTVARS\",\"aliases\":[\"OUTVAR\"],\"description\":\"The OUTVARS statement specifies additional variables defined in the model program to be output to the OUT= data sets. The OUTVARS statement is not needed unless the variables to be added to the output data set are not referred to by the model, or unless you want to include parameters or other special variables in the OUT= data set. The OUTVARS statement includes additional variables, whereas the KEEP statement excludes variables.\",\"help\":\"OUTVARS variables \"},{\"name\":\"PARAMETERS\",\"aliases\":[\"PARMS\",\"PARM\"],\"description\":\"The PARAMETERS statement declares the parameters of a model and optionally sets their initial values. Valid abbreviations are PARMS and PARM. Each parameter has a single value associated with it, which is the same for all observations. Lagging is not relevant for parameters. If a value is not specified in the PARMS statement (or by the PARMS= option of a FIT statement), the value defaults to 0.0001 for FIT tasks and to a missing value for SOLVE tasks.\",\"help\":\"PARAMETERS variable &lt;value&gt; &lt;variable &lt;value&gt;&gt; ... \"},{\"name\":\"PUT\",\"description\":\"The PUT statement writes text data to the current output file.\",\"help\":\"PUT &lt;_PAGE_&gt;\",\"arguments\":[{\"name\":\"_PAGE_\",\"optional\":true,\"description\":\"Outputs any pending line data and moves to the top of the next page.\",\"type\":\"standalone\"}]},{\"name\":\"RANGE\",\"description\":\"The RANGE statement specifies the range of observations to be read from the DATA= data set. For FIT tasks, the RANGE statement controls the period of fit for the estimation. For SOLVE tasks, the RANGE statement controls the simulation period or forecast horizon. The RANGE variable must be a numeric variable in the DATA= data set that identifies the observations, and the data set must be sorted by the RANGE variable. The first observation in the range is identified by first, and the last observation is identified by last.\",\"help\":\"RANGE &lt;RANGE variable &lt; = first &gt; &lt; TO last &gt; &gt;\",\"arguments\":[{\"name\":\"TO\",\"optional\":true,\"description\":\"Separates the first and last observations in the range.\",\"type\":\"standalone\"}]},{\"name\":\"RENAME\",\"description\":\"Specifies new names for variables in output SAS data sets.\",\"help\":\"RENAME old-name-1=new-name-1 ... &lt;old-name-n=new-name-n&gt;\"},{\"name\":\"RESET\",\"description\":\"All of the options of the PROC MODEL statement can be reset by the RESET statement. In addition, the RESET statement supports one additional option: PURGE deletes the current model so that a new model can be defined.\",\"help\":\"RESET &lt;DATA=SAS-data-set&gt;&lt;OUTPARMS=SAS-data-set&gt;&lt;PURGE&gt; ...\",\"arguments\":[{\"name\":\"BLOCK\",\"optional\":true,\"description\":\"Prints an analysis of the structure of the model given by the assignments to model variables appearing in the model program. This analysis includes a classification of model variables into endogenous (dependent) and exogenous (independent) groups based on the presence of the variable on the left-hand side of an assignment statement. The endogenous variables are grouped into simultaneously determined blocks. The dependency structure of the simultaneous blocks and exogenous variables is also printed. The BLOCK option cannot analyze dependencies implied by general form equations.\",\"type\":\"standalone\"},{\"name\":\"DATA=\",\"optional\":true,\"description\":\"Names the input data set. Variables in the model program are looked up in the DATA= data set and, if found, their attributes (type, length, label, format) are set to be the same as those in the input data set (if not previously defined otherwise). The values for the variables in the program are read from the input data set when the model is estimated or simulated by FIT and SOLVE statements.\",\"help\":\"DATA=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"DETAILS\",\"optional\":true,\"description\":\"Specifies the detailed printout. Parts of the printed output are expanded when the DETAILS option is specified. If ODS GRAPHICS ON is specified, the following additional graphs of the residuals are produced: ACF, PACF, IACF, white noise, and QQ plot versus the normal.\",\"type\":\"standalone\"},{\"name\":\"FLOW\",\"optional\":true,\"description\":\"Prints a message for each statement in the model program as it is executed. This debugging option is needed very rarely and produces voluminous output.\",\"type\":\"standalone\"},{\"name\":\"GRAPH\",\"optional\":true,\"description\":\"Prints the graph of the dependency structure of the model. The GRAPH option also invokes the BLOCK option and produces a graphical display of the information listed by the BLOCK option.\",\"type\":\"standalone\"},{\"name\":\"LIST\",\"optional\":true,\"description\":\"prints the model program and variable lists, including the statements added by PROC MODEL and macros.\",\"type\":\"standalone\"},{\"name\":\"LISTALL\",\"optional\":true,\"description\":\"Selects the LIST, LISTDEP, LISTDER, and LISTCODE options.\",\"type\":\"standalone\"},{\"name\":\"LISTCODE\",\"optional\":true,\"description\":\"Prints the derivative tables and compiled model program code. LISTCODE is a debugging feature and is not normally needed.\",\"type\":\"standalone\"},{\"name\":\"LISTDEP\",\"optional\":true,\"description\":\"Prints a report that lists for each variable in the model program the variables that depend on it and that it depends on. These lists are given separately for current-period values and for lagged values of the variables.\",\"type\":\"standalone\"},{\"name\":\"LISTDER\",\"optional\":true,\"description\":\"Prints a table of derivatives for FIT and SOLVE tasks. (The LISTDER option is applicable only for the default NEWTON method for SOLVE tasks.) The derivatives table shows each nonzero derivative computed for the problem. The derivative listed can be a constant, a variable in the model program, or a special derivative variable created to hold the result of the derivative expression. This option is turned on by the LISTCODE and PRINTALL options.\",\"type\":\"standalone\"},{\"name\":\"MAXERRORS=\",\"optional\":true,\"description\":\"Specifies the maximum number of execution errors that can be printed. The default is MAXERRORS=50.\",\"help\":\"MAXERRORS=*n*\",\"type\":\"value\"},{\"name\":\"MEMORYUSE\",\"optional\":true,\"description\":\"Prints a report of the memory required for the various parts of the analysis.\",\"type\":\"standalone\"},{\"name\":\"MODEL=\",\"optional\":true,\"description\":\"Reads the model from one or more input model files created by previous PROC MODEL executions. Model files are written by the OUTMODEL= option.\",\"type\":\"value\"},{\"name\":\"NDEC=\",\"optional\":true,\"description\":\"Specifies the precision of the format that PROC MODEL uses when printing various numbers. The default is NDEC=3, which means that PROC MODEL attempts to print values by using the D format but ensures that at least three significant digits are shown. If the NDEC= value is greater than nine, the BEST. format is used. The smallest value allowed is NDEC=2.\",\"help\":\"NDEC=*n*\",\"type\":\"value\"},{\"name\":\"NOPRINT\",\"optional\":true,\"description\":\"Suppresses the normal printed output but does not suppress error listings. Using any other print option turns the NOPRINT option off. The PRINT option can be used with the RESET statement to turn off NOPRINT.\",\"type\":\"standalone\"},{\"name\":\"NOSTORE\",\"optional\":true,\"description\":\"Suppresses the default output of the model file. This option is applicable only when FIT or SOLVE statements are not used, the MODEL= option is not used, and when a model is specified.\",\"type\":\"standalone\"},{\"name\":\"OUTMODEL=\",\"optional\":true,\"description\":\"Specifies the name of an output model file to which the model is to be written. Starting with SAS 9.2, model files are being stored as XML-based SAS data sets instead of being stored as members of a SAS catalog as in earlier releases. This makes MODEL files more readily extendable in the future and enables Java-based applications to read the MODEL files directly. To change this behavior, use the SAS global-CMPMODEL-options. You can choose the format in which the output model file is stored and read by using the CMPMODEL=global-CMPMODEL-options in an PTIONS statement as follows.\",\"help\":\"OUTMODEL=*model-name*\",\"type\":\"value\"},{\"name\":\"OUTPARMS=\",\"optional\":true,\"description\":\"Writes the parameter estimates to a SAS data set.\",\"help\":\"OUTPARMS=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"PARMSDATA=\",\"optional\":true,\"description\":\"Names the SAS data set that contains the parameter estimates. In PROC MODEL, you have several options to specify starting values for the parameters to be estimated. When more than one option is specified, the options are implemented in the following order of precedence (from highest to lowest): the START= option, the PARMS statement initialization value, the ESTDATA= option, and the PARMSDATA= option. If no options are specified for the starting value, the default value of 0.0001 is used.\",\"help\":\"PARMSDATA=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"PLOTS=\",\"optional\":true,\"description\":\"Requests that the MODEL procedure produce statistical graphics via the Output Delivery System, provided that the ODS GRAPHICS statement has been specified. The global-plot-options apply to all relevant plots generated by the MODEL procedure. The global-plot-options supported by the MODEL procedure follow. ONLY suppresses the default plots. Only the plots specifically requested are produced.\",\"help\":\"PLOTS=ALL | ACF | IACF | PACF | FITPLOT | COOKSD | QQ | RESIDUAL|RES | STUDENTRESIDUAL | RESIDUALHISTOGRAM |RESIDHISTOGRAM | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ALL\",\"description\":\"Requests that all plots appropriate for the particular analysis be produced.\",\"type\":\"standalone\"},{\"name\":\"ACF\",\"description\":\"Produces the autocorrelation function plot.\",\"type\":\"standalone\"},{\"name\":\"IACF\",\"description\":\"Produces the inverse autocorrelation function plot of residuals.\",\"type\":\"standalone\"},{\"name\":\"PACF\",\"description\":\"Produces the partial autocorrelation function plot of residuals.\",\"type\":\"standalone\"},{\"name\":\"FITPLOT\",\"description\":\"Plots the predicted and actual values.\",\"type\":\"standalone\"},{\"name\":\"COOKSD\",\"description\":\"Produces the Cook’s D plot.\",\"type\":\"standalone\"},{\"name\":\"QQ\",\"description\":\"Produces a QQ plot of residuals.\",\"type\":\"standalone\"},{\"name\":\"RESIDUAL\",\"description\":\"Plots the residuals.\",\"help\":\"RESIDUAL|RES\",\"type\":\"choice\"},{\"name\":\"STUDENTRESIDUAL\",\"description\":\"Plots the studentized residuals.\",\"type\":\"standalone\"},{\"name\":\"RESIDUALHISTOGRAM\",\"description\":\"Plots the histogram of residuals.\",\"help\":\"RESIDUALHISTOGRAM |RESIDHISTOGRAM\",\"type\":\"choice\"},{\"name\":\"NONE\",\"description\":\"Suppresses all plots.\",\"type\":\"standalone\"}]},{\"name\":\"PRINTALL\",\"optional\":true,\"description\":\"Turns on all the printing-control options. The options set by PRINTALL are DETAILS; the model information options LIST, LISTDEP, LISTDER, XREF, BLOCK, and GRAPH; the FIT task printing options FSRSQ, COVB, CORRB, COVS, CORRS, DW, and COLLIN; and the SOLVE task printing options STATS, THEIL, SOLVEPRINT, and ITPRINT.\",\"type\":\"standalone\"},{\"name\":\"PURGE\",\"optional\":true,\"description\":\"Deletes the current model so that a new model can be defined.\",\"type\":\"standalone\"},{\"name\":\"TRACE\",\"optional\":true,\"description\":\"Prints the result of each operation in each statement in the model program as it is executed, in addition to the information printed by the FLOW option. This debugging option is needed very rarely and produces voluminous output.\",\"type\":\"standalone\"},{\"name\":\"XREF\",\"optional\":true,\"description\":\"Prints a cross-reference of the variables in the model program that shows where each variable was referenced or given a value. The XREF option is normally used in conjunction with the LIST option.\",\"type\":\"standalone\"}]},{\"name\":\"RESTRICT\",\"description\":\"The RESTRICT statement is used to impose linear and nonlinear restrictions on the parameter estimates. RESTRICT statements refer to the parameters estimated by the associated FIT statement (that is, to either the preceding FIT statement or, in the absence of a preceding FIT statement, to the following FIT statement). You can specify any number of RESTRICT statements. Each restriction is written as an optional name, followed by an expression, followed by an equality operator (=) or an inequality operator (<, >, <=, >=), followed by a second expression: < \\\"name\\\" > expression operator expression The optional \\\"name\\\" is a string used to identify the restriction in the printed output and in the OUTEST= data set. The operator can be =, <, >, <= , or >=. The operator and second expression are optional.\",\"help\":\"RESTRICT restriction1 &lt; , restriction2 ...&gt; \"},{\"name\":\"RETAIN\",\"description\":\"Causes a variable that is created by an INPUT or assignment statement to retain its value from one iteration to the next.\",\"help\":\"RETAIN variable-list1 value1 &lt; variable-list2 value2 ...&gt; \"},{\"name\":\"RETURN\",\"description\":\"Stops executing statements at the current point in the DATA step and returns to a predetermined point in the step.\",\"help\":\"RETURN\"},{\"name\":\"SELECT\",\"description\":\"\",\"help\":\"\"},{\"name\":\"SOLVE\",\"description\":\"The SOLVE statement specifies that the model be simulated or forecast for input data values and, optionally, selects the variables to be solved. If the list of variables is omitted, all of the model variables declared ENDOGENOUS are solved. If no model variables are declared ENDOGENOUS, then all model variables are solved. (SOLVE statement options are not currently supported for autocompletion.)\",\"help\":\"SOLVE SATISFY=equation | SATISFY=( equations ) \",\"arguments\":[{\"name\":\"SATISFY=\",\"description\":\"Specifies a subset of the model equations that the solution values are to satisfy. If the SATISFY= option is not used, the solution is computed to satisfy all the model equations. Note that the number of equations must equal the number of variables solved.\",\"type\":\"value\"}]},{\"name\":\"STOP\",\"description\":\"The STOP statement halts the execution of all statements that contain it, including DO statements and other control or looping statements. Execution continues with the next top-level source statement.\",\"help\":\"STOP \"},{\"name\":\"TEST\",\"description\":\"The TEST statement performs tests of nonlinear hypotheses on the model parameters. The TEST statement applies to the parameters estimated by the associated FIT statement (that is, either the preceding FIT statement or, in the absence of a preceding FIT statement, the following FIT statement). You can specify any number of TEST statements.\",\"help\":\"TEST &lt;LM&gt;&lt;LR&gt;&lt;WALD&gt; ...\",\"arguments\":[{\"name\":\"ALL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests all three types of tests.\",\"type\":\"standalone\"},{\"name\":\"LM\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"RAO\",\"LGRANGE\"],\"description\":\"Specifies that a Lagrange multiplier test be computed.\",\"type\":\"standalone\"},{\"name\":\"LR\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"LIKE\"],\"description\":\"Specifies that a likelihood ratio test be computed.\",\"type\":\"standalone\"},{\"name\":\"OUT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the name of an output SAS data set that contains the test results. The format of the OUT= data set produced by the TEST statement is similar to that of the OUTEST= data set produced by the FIT statement.\",\"help\":\"OUT=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"WALD\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies that a Wald test be computed. WALD is the default.\",\"type\":\"standalone\"}]},{\"name\":\"VAR\",\"aliases\":[\"VARS\"],\"description\":\"The VAR statement declares model variables and optionally provides initial values for the lags of the variables.\",\"help\":\"VAR variables &lt;initial-values&gt; ... \"},{\"name\":\"WEIGHT\",\"aliases\":[\"WGT\"],\"description\":\"The WEIGHT statement specifies a variable to supply weighting values to use for each observation in estimating parameters. If the weight of an observation is nonpositive, that observation is not used for the estimation. variable must be a numeric variable in the input data set. An alternative weighting method is to use an assignment statement to give values to the special variable _WEIGHT_. The _WEIGHT_ variable must not depend on the parameters being estimated. If both weighting specifications are given, the weights are multiplied together.\",\"help\":\"WEIGHT variable \"},{\"name\":\"WHEN\",\"description\":\"\",\"help\":\"WHEN &lt;DO&gt;\",\"arguments\":[{\"name\":\"DO\",\"optional\":true,\"description\":\"\",\"type\":\"standalone\"}]}],\"interactive\":true,\"supportSiteInformation\":{\"docsetId\":\"etsug\",\"docsetVersion\":\"latest\",\"docsetTargetFile\":\"etsug_model_toc.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/MODELMATRIX.json",
    "content": "{\"name\":\"MODELMATRIX\",\"statements\":[{\"name\":\"PROC MODELMATRIX\",\"description\":\"The MODELMATRIX procedure creates a design matrix (matrix of covariates) that is associated with a user-specified MODEL statement and a user-specified data table in SAS Viya. † The design matrix is the fundamental component of any regression model; it is often expressed as the X matrix.\",\"help\":\"PROC MODELMATRIX <DATA=CAS-libref.data-table>;     \\n\\tBY variables;\\n\\n\\tCLASS <DESCENDING><MISSING><ORDER=<DATA | FORMATTED | FREQ>... > ...;\\n\\n\\tDISPLAY <CASESENSITIVE><EXCLUDE><EXCLUDEALL> ...;\\n\\n\\tDISPLAYOUT <INCLUDEALL><NOREPLACE><REPEATED> ...;\\n\\n\\tEFFECT <DETAILS> NAME=COLLECTION|MULTIMEMBER|MM|POLYNOMIAL|POLY...  <NOEFFECT> ...;\\n\\n\\tFREQ variable;\\n\\n\\tMODEL <INFORMATIVE><NOINT> ;\\n\\n\\tOUTPUT <COPYVAR=variable | COPYVARS=(variables)><OUT=CAS-libref.data-table><PREFIX=name> ...;\\n\\n\\tWEIGHT variable;\\n\",\"arguments\":[{\"name\":\"DATA=\",\"optional\":true,\"description\":\"Names the input data table for PROC MODELMATRIX to use. The default is the most recently created data table. CAS-libref.data-table is a two-level name, where\",\"help\":\"DATA=*CAS-libref.data-table*\",\"type\":\"dataSet\"}]},{\"name\":\"BY\",\"description\":\"You can specify a BY statement in PROC MODELMATRIX to obtain separate analyses of observations in groups that are defined by the values of the BY variables. If you specify more than one BY statement, only the last one specified is used.\",\"help\":\"BY variables\"},{\"name\":\"CLASS\",\"description\":\"The CLASS statement names the classification variables to be used as explanatory variables in the analysis.\",\"help\":\"CLASS &lt;DESCENDING&gt;&lt;MISSING&gt;&lt;ORDER=&lt;DATA | FORMATTED | FREQ&gt;... &gt; ...\",\"arguments\":[{\"name\":\"DESCENDING\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"DESC\"],\"description\":\"Reverses the sort order of the classification variable.\",\"type\":\"standalone\"},{\"name\":\"MISSING\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Treats missing values (., ._, .A, …, .Z for numeric variables and blanks for character variables) as valid values for the CLASS variable.\",\"type\":\"standalone\"},{\"name\":\"ORDER=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the sort order for the levels of classification variables. This ordering determines which parameters in the model correspond to each level in the data. By default, ORDER=FORMATTED. For ORDER=FORMATTED and ORDER=INTERNAL, the sort order is machine-dependent. When ORDER=FORMATTED is in effect for numeric variables for which you have supplied no explicit format, the levels are ordered by their internal values.\",\"help\":\"ORDER=DATA | FORMATTED | FREQ | INTERNAL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DATA\",\"followsDelimiter\":\"/\",\"description\":\"Levels sorted by the order of appearance in the input data set.\",\"type\":\"standalone\"},{\"name\":\"FORMATTED\",\"followsDelimiter\":\"/\",\"description\":\"Levels sorted by the external formatted value, except for numeric variables with no explicit format, which are sorted by their unformatted (internal) value.\",\"type\":\"standalone\"},{\"name\":\"FREQ\",\"followsDelimiter\":\"/\",\"description\":\"Levels sorted by the descending frequency count; levels with the more observations come ealier in the order.\",\"type\":\"standalone\"},{\"name\":\"INTERNAL\",\"followsDelimiter\":\"/\",\"description\":\"Levels sorted by the unformatted value.\",\"type\":\"standalone\"}]},{\"name\":\"PARAM=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the parameterization method for the classification variable or variables.\",\"help\":\"PARAM=EFFECT | GLM | ORDINAL | POLYNOMIAL | REFERENCE | ORTHEFFECT | ORTHORDINAL | ORTHPOLY | ORTHREF\",\"type\":\"choice\",\"arguments\":[{\"name\":\"EFFECT\",\"followsDelimiter\":\"/\",\"description\":\"Specifies effect coding.\",\"type\":\"standalone\"},{\"name\":\"GLM\",\"followsDelimiter\":\"/\",\"description\":\"Specifies less-than-full-rank, reference-cell coding; this option can be used only as a global option.\",\"type\":\"standalone\"},{\"name\":\"ORDINAL\",\"followsDelimiter\":\"/\",\"aliases\":[\"THERMOMETER\"],\"description\":\"Specifies the cumulative parameterization for an ordinal CLASS variable.\",\"type\":\"standalone\"},{\"name\":\"POLYNOMIAL\",\"followsDelimiter\":\"/\",\"aliases\":[\"POLY\"],\"description\":\"Specifies polynomial coding.\",\"type\":\"standalone\"},{\"name\":\"REFERENCE\",\"followsDelimiter\":\"/\",\"aliases\":[\"REF\"],\"description\":\"Specifies reference-cell coding.\",\"type\":\"standalone\"},{\"name\":\"ORTHEFFECT\",\"followsDelimiter\":\"/\",\"description\":\"Orthogonalizes PARAM=EFFECT.\",\"type\":\"standalone\"},{\"name\":\"ORTHORDINAL\",\"followsDelimiter\":\"/\",\"aliases\":[\"ORTHOTHERM\"],\"description\":\"Orthogonalizes PARAM=ORDINAL.\",\"type\":\"standalone\"},{\"name\":\"ORTHPOLY\",\"followsDelimiter\":\"/\",\"description\":\"Orthogonalizes PARAM=POLYNOMIAL.\",\"type\":\"standalone\"},{\"name\":\"ORTHREF\",\"followsDelimiter\":\"/\",\"description\":\"Orthogonalizes PARAM=REFERENCE.\",\"type\":\"standalone\"}]},{\"name\":\"REF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"REFERENCE=\"],\"description\":\"Specifies the reference level for PARAM= EFFECT, PARAM= REFERENCE, and their orthogonalizations.\",\"help\":\"REF=&lt;'*level*'&gt; | FIRST | LAST\",\"type\":\"choice\",\"arguments\":[{\"name\":\"'level'\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"The level of the variable to use as the reference level. Specify the formatted value of the variable if a format is assigned. Replace <level> with an actual value.\",\"type\":\"value\"},{\"name\":\"FIRST\",\"followsDelimiter\":\"/\",\"description\":\"Designates the first ordered level as reference.\",\"type\":\"standalone\"},{\"name\":\"LAST\",\"followsDelimiter\":\"/\",\"description\":\"Designates the last ordered level as reference.\",\"type\":\"standalone\"}]},{\"name\":\"SPLIT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies that design matrix columns that correspond to any effect that contains a split classification variable can be selected to enter or leave a model independently of the other design columns of that effect.\",\"type\":\"standalone\"}]},{\"name\":\"DISPLAY\",\"description\":\"The DISPLAY statement enables you to specify a list of display tables to display or exclude. This statement is similar to the ODS SELECT, ODS EXCLUDE, and ODS TRACE statements. However, the DISPLAY statement can improve performance when a large number of tables could be generated (such as in BY-group processing). The procedure processes the DISPLAY statement on a CAS server and thus sends only a subset of ODS tables to the SAS client. Because ODS statements are processed on a SAS client, all the display tables generated are first sent to the client and then the client creates a subset. If both DISPLAY and ODS statements are used together, the DISPLAY statement takes precedence over the ODS statements.\",\"help\":\"DISPLAY &lt;CASESENSITIVE&gt;&lt;EXCLUDE&gt;&lt;EXCLUDEALL&gt; ...\",\"arguments\":[{\"name\":\"CASESENSITIVE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Performs a case-sensitive comparison of table names in the table-list to display table names when tables are subsetted for display. To preserve case, you must enclose table names in the table-list in quotation marks.\",\"type\":\"standalone\"},{\"name\":\"EXCLUDE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays all display tables except those specified in the table-list.\",\"type\":\"standalone\"},{\"name\":\"EXCLUDEALL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Suppresses display of all tables. This option takes precedence over the other options.\",\"type\":\"standalone\"},{\"name\":\"TRACE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays the display table names, labels, and paths.\",\"type\":\"standalone\"}]},{\"name\":\"DISPLAYOUT\",\"description\":\"The DISPLAYOUT statement enables you to create CAS output tables from your displayed output. This statement is similar to the ODS OUTPUT statement. The table-spec-list specifies a list of CAS output tables to create. Each entry in the list has either a key or a key=value format: key=value specifies key as the ODS table name, path, or partial pathname, and specifies value as the CAS output table name. key specifies key as the ODS table name and also as the CAS output table name. Table names and partial pathnames are discussed under the DISPLAY statement. The DISPLAYOUT statement does not support regular expressions.\",\"help\":\"DISPLAYOUT &lt;INCLUDEALL&gt;&lt;NOREPLACE&gt;&lt;REPEATED&gt; ...\",\"arguments\":[{\"name\":\"INCLUDEALL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Creates output CAS tables for all display tables. The name of the created output CAS table is the same as the corresponding display table name. If you specify this option, the table-spec-list specification is ignored.\",\"type\":\"standalone\"},{\"name\":\"NOREPLACE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Does not replace an existing CAS output table of the same name.\",\"type\":\"standalone\"},{\"name\":\"REPEATED\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Replicates all CAS output tables on all nodes.\",\"type\":\"standalone\"}]},{\"name\":\"EFFECT\",\"description\":\"The EFFECT statement enables you to construct special collections of columns for design matrices. These collections are referred to as constructed effects to distinguish them from the usual model effects that are formed from continuous or classification variables.\",\"help\":\"EFFECT &lt;DETAILS&gt; NAME=COLLECTION|MULTIMEMBER|MM|POLYNOMIAL|POLY...  &lt;NOEFFECT&gt; ...\",\"arguments\":[{\"name\":\"NAME=\",\"placeholder\":true,\"description\":\"Replace 'NAME' with the name of the effect, specified after the EFFECT keyword. This name can appear in only one EFFECT statement and cannot be the name of a variable in the input data set. These values can be used: COLLECTION, MULTIMEMBER, POLYNOMIAL, or SPLINE.\",\"type\":\"value\"},{\"name\":\"BASIS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"[For the SPLINE effect-type only] Specifies a basis for the spline expansion.\",\"help\":\"BASIS=BSPLINE | TPF\",\"type\":\"choice\",\"arguments\":[{\"name\":\"BSPLINE\",\"followsDelimiter\":\"/\",\"description\":\"Specifies a B-spline basis for the spline expansion.\",\"type\":\"standalone\"},{\"name\":\"TPF\",\"followsDelimiter\":\"/\",\"description\":\"Syntax: TPF(options) Specifies a truncated power function basis for the spline expansion. You can modify the number of columns when you request BASIS=TPF with the following options: NOINT excludes the intercept column. NOPOWERS excludes the intercept and polynomial columns.\",\"type\":\"standalone\"}]},{\"name\":\"DATABOUNDARY\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"[For the SPLINE effect-type only] Specifies that the extremes of the data be used as boundary knots when building a B-spline basis.\",\"type\":\"standalone\"},{\"name\":\"DEGREE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"\",\"help\":\"DEGREE=*n*\",\"type\":\"value\"},{\"name\":\"DETAILS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"[For the COLLECTION | MULTIMEMBER | POLYNOMIAL |SPLINE effect-type] Requests a table that shows the: (1) constituents of the collection effect, or (2) levels of the multimember effect, or (3) details of the specified polynomial, or (4) knot locations and the knots associated with each spline basis function.\",\"type\":\"standalone\"},{\"name\":\"KNOTMAX=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"\",\"help\":\"KNOTMAX=*value*\",\"type\":\"value\"},{\"name\":\"KNOTMETHOD=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"[For the SPLINE effect-type only] Specifies how to construct the knots for spline effects.\",\"help\":\"KNOTMETHOD=EQUAL | LIST | LISTWITHBOUNDARY | MULTISCALE | PERCENTILES | RANGEFRACTIONS\",\"type\":\"choice\",\"arguments\":[{\"name\":\"EQUAL\",\"followsDelimiter\":\"/\",\"description\":\"Syntax: EQUAL<(n)> Specifies that n equally spaced knots be positioned between the extremes of the data. The default is n=3. For a B-spline basis, any needed boundary knots continue to be equally spaced unless the DATABOUNDARY option has also been specified. KNOTMETHOD=EQUAL is the default if no knot-method is specified.\",\"type\":\"standalone\"},{\"name\":\"LIST\",\"followsDelimiter\":\"/\",\"description\":\"Syntax: LIST(number-list) Specifies the list of internal knots to be used in forming the spline basis columns. For a B-spline basis, the data extremes are used as boundary knots.\",\"type\":\"standalone\"},{\"name\":\"LISTWITHBOUNDARY\",\"followsDelimiter\":\"/\",\"description\":\"Syntax: LISTWITHBOUNDARY(number-list) Specifies the list of all knots that are used in forming the spline basis columns.\",\"type\":\"standalone\"},{\"name\":\"MULTISCALE\",\"followsDelimiter\":\"/\",\"description\":\"Syntax: MULTISCALE<(multiscale-options)> Specifies that multiple B-spline bases be generated, corresponding to sets with an increasing number of internal knots. You can control which scales are included with the following multiscale-options: STARTSCALE=n specifies the start scale, where n is a positive integer. The default is STARTSCALE=0. ENDSCALE=n specifies the end scale, where n is a positive integer. The default is ENDSCALE=7.\",\"type\":\"standalone\"},{\"name\":\"PERCENTILES\",\"followsDelimiter\":\"/\",\"description\":\"Syntax: PERCENTILES(n) Requests that internal knots be placed at n equally spaced percentiles of the variable or variables named in the EFFECT statement.\",\"type\":\"standalone\"},{\"name\":\"RANGEFRACTIONS\",\"followsDelimiter\":\"/\",\"description\":\"Syntax: RANGEFRACTIONS(fraction-list) Requests that internal knots be placed at each fraction of the ranges of the variables in the EFFECT statement.\",\"type\":\"standalone\"}]},{\"name\":\"KNOTMIN=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"\",\"help\":\"KNOTMIN=*value*\",\"type\":\"value\"},{\"name\":\"MDEGREE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"\",\"help\":\"MDEGREE=*n*\",\"type\":\"value\"},{\"name\":\"NATURALCUBIC\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"[For the SPLINE effect-type only] Uses a natural cubic spline basis for the spline expansion. Natural cubic splines, also known as restricted cubic splines, are cubic splines that are constrained to be linear beyond the extreme knots.\",\"type\":\"standalone\"},{\"name\":\"NOEFFECT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"[For the MULTIMEMBER effect-type only] Specifies that observations whose levels are all missing for the multimember variables should have 0 values in the corresponding design matrix columns.\",\"type\":\"standalone\"},{\"name\":\"NOSEPARATE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"[For the POLYNOMIAL effect-type only] Specifies that the polynomial be treated as a single effect with multiple degrees of freedom. The effect name that you specify is used as the constructed effect name, and the labels of the terms are used as labels of the corresponding parameters.\",\"type\":\"standalone\"},{\"name\":\"SEPARATE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"[For the SPLINE effect-type only] Specifies that when multiple variables are specified in the EFFECT statement, the spline basis for each variable be treated as a separate effect. The names of these separated effects are formed by appending an underscore followed by the name of the variable to the name that you specify in the EFFECT statement.\",\"type\":\"standalone\"},{\"name\":\"SPLIT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"[For the SPLINE effect-type only] Specifies that each individual column in the design matrix that corresponds to the spline effect be treated as a separate effect that can enter or leave the model independently. Names for these split effects are generated by appending the variable name and an index for each column to the name that you specify in the EFFECT statement.\",\"type\":\"standalone\"},{\"name\":\"STANDARDIZE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies that the variables that define the polynomial be standardized. By default, the standardized variables receive prefix \\\"s_\\\" in the variable names. You can use the following centerscale-opts to specify how the center and scale are estimated: METHOD=MOMENTS specifies that the center be estimated by the variable mean and the scale be estimated by the standard deviation. METHOD=RANGE specifies that the center be estimated by the midpoint of the variable range and the scale be estimated as half the variable range. METHOD=WMOMENTS is the same as METHOD=MOMENTS except that weighted means and weighted standard deviations are used.\",\"help\":\"STANDARDIZECENTER | CENTERSCALE | NONE | SCALE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"CENTER\",\"followsDelimiter\":\"/\",\"description\":\"Specifies that variables be centered but not scaled.\",\"type\":\"standalone\"},{\"name\":\"CENTERSCALE\",\"followsDelimiter\":\"/\",\"description\":\"Specifies that variables be centered and scaled. This is the default if you do not specify a standardization-opt.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"followsDelimiter\":\"/\",\"description\":\"Specifies that no standardization be performed.\",\"type\":\"standalone\"},{\"name\":\"SCALE\",\"followsDelimiter\":\"/\",\"description\":\"Specifies that variables be scaled but not centered.\",\"type\":\"standalone\"}]},{\"name\":\"STDIZE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"[For the MULTIMEMBER effect-type only] Specifies that for each observation, the entries in the design matrix that corresponds to the multimember effect be scaled to have a sum of one.\",\"type\":\"standalone\"},{\"name\":\"WEIGHT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"\",\"help\":\"WEIGHT=*wght-list*\",\"type\":\"value\"}]},{\"name\":\"FREQ\",\"description\":\"The variable in the FREQ statement identifies a numeric variable in the data set that contains the frequency of occurrence of each observation. PROC MODELMATRIX treats each observation as if it appears f times, where f is the value of the variable for the observation. If f is not an integer, it is truncated to an integer. If f is less than 1 or missing, all the columns of the design matrix for that observation are filled in with missing values. When the FREQ statement is omitted, each observation is assigned a frequency of 1.\",\"help\":\"FREQ variable\"},{\"name\":\"MODEL\",\"description\":\"The MODEL statement names the dependent variable and the explanatory effects, including covariates, main effects, interactions, and nested effects. If you omit the explanatory effects, the procedure produces a single column of ones.\",\"help\":\"MODEL &lt;INFORMATIVE&gt;&lt;NOINT&gt;\",\"arguments\":[{\"name\":\"INFORMATIVE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Models missing values by using extra model effects. These effects consist of dummy variables that take the value 1 when the value of a continuous model variable involved in the effect is missing, and take the value 0 otherwise. The missing value in the original model effect is replaced by the average value of the effect for the nonmissing values.\",\"type\":\"standalone\"},{\"name\":\"NOINT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Suppresses the intercept term that is otherwise included in the model.\",\"type\":\"standalone\"}]},{\"name\":\"OUTPUT\",\"description\":\"The OUTPUT statement creates a CAS table that contains the design matrix, which is computed after the model parameters are created (and levelized when CLASS variables are included). The variables in the input data table are not included in the output data table, in order to avoid data duplication for large data tables; however, variables that you specify in the COPYVARS= option are included.\",\"help\":\"OUTPUT &lt;COPYVAR=variable | COPYVARS=(variables)&gt;&lt;OUT=CAS-libref.data-table&gt;&lt;PREFIX=name&gt; ...\",\"arguments\":[{\"name\":\"COPYVAR=\",\"optional\":true,\"aliases\":[\"COPYVARS=\"],\"description\":\"Transfers one or more variables from the input data table to the output data table and appends them to the right end of the design matrix in the specified order.\",\"type\":\"value\"},{\"name\":\"OUT=\",\"optional\":true,\"description\":\"Names the output data table for PROC MODELMATRIX to use. You must specify this option before any other options. CAS-libref.data-table is a two-level name, where\",\"help\":\"OUT=*CAS-libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"PREFIX=\",\"optional\":true,\"description\":\"Enforces the column names of the design matrix to be a user-defined prefix appended to a sequence of one-based indices in the OUTDESIGN= data set. The default prefix is Col and the column name is formed by appending the column number to the prefix, so that by default the columns are named Col1, Col2, and so on.\",\"help\":\"PREFIX=*name*\",\"type\":\"value\"}]},{\"name\":\"WEIGHT\",\"description\":\"The variable in the WEIGHT statement is used as a weight. Observations that have nonpositive or missing weights are considered missing in the produced design matrix. If a WEIGHT statement is not included, all observations that are used are assigned a weight of 1.\",\"help\":\"WEIGHT variable\"}],\"supportSiteInformation\":{\"docsetId\":\"casstat\",\"docsetVersion\":\"latest\",\"docsetTargetFile\":\"casstat_modelmatrix_toc.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/MTLEARN.json",
    "content": "{\"name\":\"MTLEARN\",\"statements\":[{\"name\":\"PROC MTLEARN\",\"description\":\"The MTLEARN procedure implements the multitask learning technique for least squares loss with ℓ1 and graph structure penalizations. It solves multiple related sparse linear regression problems simultaneously. A graph structure encodes the relationships between the problems. PROC MTLEARN shares the data and model parameters among different regression problems and solves the problems simultaneously in order to produce a more robust and accurate predictive model. When used with independent graph tables, PROC MTLEARN also serves as an elastic net regularization solver, which is widely used in feature selection.\",\"help\":\"PROC MTLEARN <DATA=CAS-libref.data-table><GRAPHOUT=CAS-libref.data-table><GRAPHTABLE=CAS-libref.data-table><GRAPHTYPE=CLUSTER | CUSTOM | FUSE... ><MAXITERS=number><MODELOUT=CAS-libref.data-table><NTHREADS=number><REGL1=number><REGL2=number><SEED=random-seed><TOLERANCE=number>;     \\n\\tDISPLAY <CASESENSITIVE><EXCLUDE><EXCLUDEALL> ...;\\n\\n\\tDISPLAYOUT <INCLUDEALL><NOREPLACE><REPEATED> ...;\\n\\n\\tINPUT <LEVEL=<INTERVAL>> ;\\n\\n\\tOUTPUT <COPYVAR=variable | COPYVARS=(variables)><OUT=CAS-libref.data-table> ;\\n\\n\\tSAVESTATE <RSTORE=CAS-libref.data-table> ;\\n\\n\\tTARGET <LEVEL=<INTERVAL>> ;\\n\",\"arguments\":[{\"name\":\"DATA=\",\"optional\":true,\"description\":\"Names the input data table for PROC MTLEARN to use. The default is the most recently created data table. CAS-libref.data-table is a two-level name, where\",\"help\":\"DATA=*CAS-libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"GRAPHOUT=\",\"optional\":true,\"description\":\"Specifies the output data table in which to save the graph table. CAS-libref.data-table is a two-level name, where CAS-libref refers to the caslib and session identifier, and data-table specifies the name of the output data table.\",\"help\":\"GRAPHOUT=*CAS-libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"GRAPHTABLE=\",\"optional\":true,\"description\":\"Specifies the user-defined graph table. The first column of the graph table must contain the row ID variable. The graph table must also include all target variables that you specify in the TARGET statement. CAS-libref.data-table is a two-level name, where CAS-libref refers to the caslib and session identifier, and data-table specifies the name of the input data table.\",\"help\":\"GRAPHTABLE=*CAS-libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"GRAPHTYPE=\",\"optional\":true,\"description\":\"Specifies the type of graph table. If you specify the GRAPHTABLE= option, the value of the GRAPHTYPE= option is automatically overwritten with CUSTOM.\",\"help\":\"GRAPHTYPE=CLUSTER | CUSTOM | FUSE | INDEP\",\"type\":\"choice\",\"arguments\":[{\"name\":\"CLUSTER\",\"description\":\"Generates a cluster graph table, where all tasks are connected (to a virtual mean task).\",\"type\":\"standalone\"},{\"name\":\"CUSTOM\",\"description\":\"Uses the graph table that you specify.\",\"type\":\"standalone\"},{\"name\":\"FUSE\",\"description\":\"Generates a fuse graph table, where each task is connected to the next task in the target list.\",\"type\":\"standalone\"},{\"name\":\"INDEP\",\"description\":\"Generates an independent graph table, where all tasks are independent.\",\"type\":\"standalone\"}]},{\"name\":\"MAXITERS=\",\"optional\":true,\"description\":\"Specifies the maximum number of iterations for the algorithm to perform, where number is an integer greater than or equal to 1.\",\"help\":\"MAXITERS=*number*\",\"type\":\"value\"},{\"name\":\"MODELOUT=\",\"optional\":true,\"description\":\"Specifies the output data table in which to save the estimated multitask regression weights. CAS-libref.data-table is a two-level name, where CAS-libref refers to the caslib and session identifier, and data-table specifies the name of the output data table.\",\"help\":\"MODELOUT=*CAS-libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"NTHREADS=\",\"optional\":true,\"description\":\"Specifies the number of threads to use for the computation, where number is an integer greater than 0. The default value is the maximum number of available threads per computer.\",\"help\":\"NTHREADS=*number*\",\"type\":\"value\"},{\"name\":\"REGL1=\",\"optional\":true,\"description\":\"Specifies the ℓ1 (LASSO) penalization weight, where number is greater than or equal to 0.\",\"help\":\"REGL1=*number*\",\"type\":\"value\"},{\"name\":\"REGL2=\",\"optional\":true,\"description\":\"Specifies the ℓ2 graph penalization weight, where number is greater than or equal to 0.\",\"help\":\"REGL2=*number*\",\"type\":\"value\"},{\"name\":\"SEED=\",\"optional\":true,\"description\":\"Specifies an integer that is used to start the pseudorandom number generator. This option enables you to reproduce the same sample output, but only when NTHREADS=1. If you do not specify a seed, or if you specify a value less than or equal to 0, the seed is generated from reading the time of day from the computer’s clock.\",\"help\":\"SEED=*random-seed*\",\"type\":\"value\"},{\"name\":\"TOLERANCE=\",\"optional\":true,\"description\":\"Specifies the optimization tolerance (absolute ℓ2 difference of solution) as a stopping criterion, where number is greater than 0. The default value is 1E–6.\",\"help\":\"TOLERANCE=*number*\",\"type\":\"value\"}]},{\"name\":\"DISPLAY\",\"description\":\"The DISPLAY statement enables you to specify a list of display tables to display or exclude. This statement is similar to the ODS SELECT, ODS EXCLUDE, and ODS TRACE statements. However, the DISPLAY statement can improve performance when a large number of tables could be generated (such as in BY-group processing). The procedure processes the DISPLAY statement on a CAS server and thus sends only a subset of ODS tables to the SAS client. Because ODS statements are processed on a SAS client, all the display tables generated are first sent to the client and then the client creates a subset. If both DISPLAY and ODS statements are used together, the DISPLAY statement takes precedence over the ODS statements.\",\"help\":\"DISPLAY &lt;CASESENSITIVE&gt;&lt;EXCLUDE&gt;&lt;EXCLUDEALL&gt; ...\",\"arguments\":[{\"name\":\"CASESENSITIVE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Performs a case-sensitive comparison of table names in the table-list to display table names when tables are subsetted for display. To preserve case, you must enclose table names in the table-list in quotation marks.\",\"type\":\"standalone\"},{\"name\":\"EXCLUDE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays all display tables except those specified in the table-list.\",\"type\":\"standalone\"},{\"name\":\"EXCLUDEALL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Suppresses display of all tables. This option takes precedence over the other options.\",\"type\":\"standalone\"},{\"name\":\"TRACE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays the display table names, labels, and paths.\",\"type\":\"standalone\"}]},{\"name\":\"DISPLAYOUT\",\"description\":\"The DISPLAYOUT statement enables you to create CAS output tables from your displayed output. This statement is similar to the ODS OUTPUT statement. The table-spec-list specifies a list of CAS output tables to create. Each entry in the list has either a key or a key=value format: key=value specifies key as the ODS table name, path, or partial pathname, and specifies value as the CAS output table name. key specifies key as the ODS table name and also as the CAS output table name. Table names and partial pathnames are discussed under the DISPLAY statement. The DISPLAYOUT statement does not support regular expressions.\",\"help\":\"DISPLAYOUT &lt;INCLUDEALL&gt;&lt;NOREPLACE&gt;&lt;REPEATED&gt; ...\",\"arguments\":[{\"name\":\"INCLUDEALL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Creates output CAS tables for all display tables. The name of the created output CAS table is the same as the corresponding display table name. If you specify this option, the table-spec-list specification is ignored.\",\"type\":\"standalone\"},{\"name\":\"NOREPLACE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Does not replace an existing CAS output table of the same name.\",\"type\":\"standalone\"},{\"name\":\"REPEATED\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Replicates all CAS output tables on all nodes.\",\"type\":\"standalone\"}]},{\"name\":\"INPUT\",\"description\":\"The INPUT statement specifies the names of variables to be used in training. Only interval, binary, and nominal variables are accepted. If you want to use different options for different variables, you can specify multiple INPUT statements.\",\"help\":\"INPUT &lt;LEVEL=&lt;INTERVAL&gt;&gt;\",\"arguments\":[{\"name\":\"LEVEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the level of measurement of the variables.\",\"help\":\"LEVEL=INTERVAL*INTERVAL*\",\"type\":\"value\",\"arguments\":[{\"name\":\"INTERVAL\",\"followsDelimiter\":\"/\",\"description\":\"Specifies that the level of measurement of the variables is interval.\",\"type\":\"standalone\"}]}]},{\"name\":\"OUTPUT\",\"description\":\"The OUTPUT statement creates an output data table to contain the results of the procedure run.\",\"help\":\"OUTPUT &lt;COPYVAR=variable | COPYVARS=(variables)&gt;&lt;OUT=CAS-libref.data-table&gt;\",\"arguments\":[{\"name\":\"COPYVAR=\",\"optional\":true,\"aliases\":[\"COPYVARS=\"],\"description\":\"Copies one or more variables from the input data table to the output data table.\",\"type\":\"value\"},{\"name\":\"OUT=\",\"optional\":true,\"description\":\"Names the output data table for PROC MTLEARN to use. You must specify this option before any other options. CAS-libref.data-table is a two-level name, where\",\"help\":\"OUT=*CAS-libref.data-table*\",\"type\":\"dataSet\"}]},{\"name\":\"SAVESTATE\",\"description\":\"The SAVESTATE statement creates an analytic store for the model and saves it as a binary object in a data table. You can use the analytic store in the ASTORE procedure to score new data.\",\"help\":\"SAVESTATE &lt;RSTORE=CAS-libref.data-table&gt;\",\"arguments\":[{\"name\":\"RSTORE=\",\"optional\":true,\"description\":\"Specifies a data table in which to save the analytic store for the model. CAS-libref.data-table is a two-level name, where CAS-libref refers to the caslib and session identifier, and data-table specifies the name of the output data table.\",\"help\":\"RSTORE=*CAS-libref.data-table*\",\"type\":\"dataSet\"}]},{\"name\":\"TARGET\",\"description\":\"The TARGET statement names the target variables. The targets must be of interval type and must be different from the variables in the INPUT statement. You must specify at least one target variable. Missing values in the target variables are allowed.\",\"help\":\"TARGET &lt;LEVEL=&lt;INTERVAL&gt;&gt;\",\"arguments\":[{\"name\":\"LEVEL=\",\"optional\":true,\"description\":\"Specifies the level of measurement of the variables.\",\"help\":\"LEVEL=INTERVAL*INTERVAL*\",\"type\":\"value\",\"arguments\":[{\"name\":\"INTERVAL\",\"description\":\"Specifies that the level of measurement of the variables is interval.\",\"type\":\"standalone\"}]}]}],\"supportSiteInformation\":{\"docsetId\":\"casml\",\"docsetVersion\":\"latest\",\"docsetTargetFile\":\"casml_mtlearn_toc.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/MTS.json",
    "content": "{\"name\":\"MTS\",\"statements\":[{\"name\":\"PROC MTS\",\"description\":\"invokes the MTS procedure.\",\"help\":\"PROC MTS  DATA=table &lt;options&gt;;                                \\t  \",\"arguments\":[{\"name\":\"COV=\",\"optional\":true,\"description\":\"specifies an optional input covariance matrix.\",\"help\":\"COV=*table*\",\"type\":\"dataSet\"},{\"name\":\"MEAN=\",\"optional\":true,\"description\":\"specifies an optional means matrix.\",\"help\":\"MEAN=*table*\",\"type\":\"dataSet\"},{\"name\":\"NOPLOT\",\"optional\":true,\"description\":\"suppresses the generation of ODS graphical output.\",\"type\":\"standalone\"}]},{\"name\":\"BY\",\"description\":\"The BY statement specifies the name of a single numeric variable to be used for BY-group processing in training.\",\"help\":\"BY *numeric-variable*;                     \"},{\"name\":\"ID\",\"description\":\"The ID statement specifies the name of a single numeric ID variable for identifying an observation during training.\",\"help\":\"ID *numeric-variable*;                     \"},{\"name\":\"INPUT\",\"description\":\"The INPUT statement specifies the names of variables to be used in training. Only numeric variables are accepted. There must be only one INPUT statement, and it is required.\",\"help\":\"INPUT *variable-list*;                     \"},{\"name\":\"OUTLIER\",\"description\":\"The OUTLIER statement performs outlier detection for training data by using the support vector data description algorithm.\",\"help\":\"OUTLIER &lt;options&gt;;                                \\t  \",\"arguments\":[{\"name\":\"CUTOFF=\",\"optional\":true,\"description\":\"specifies the fraction of the SVDD’s R-squared distance range between its minimum and maximum to indicate outliers. By default, CUTOFF=0.05.\",\"help\":\"CUTOFF=*number*\",\"type\":\"value\"}]},{\"name\":\"OUTPUT\",\"description\":\"The OUTPUT statement generates output tables that show the training results.\",\"help\":\"OUTLIER &lt;options&gt;;                                \\t  \",\"arguments\":[{\"name\":\"COV\",\"optional\":true,\"description\":\"specifies the name of the data table in which to store the covariance matrix for all input variables.\",\"help\":\"COV|OUTCOV=*table*\",\"type\":\"dataSet\"},{\"name\":\"MEAN\",\"optional\":true,\"description\":\"specifies the name of the data table in which to store the for all input variables.\",\"help\":\"MEAN|OUTMEAN=*table*\",\"type\":\"dataSet\"},{\"name\":\"OUT=\",\"optional\":true,\"description\":\"specifies the name of the data table in which to store the Mahalnobis distances for each observation during training. This table will also store the BY and ID variables (if any), the INPUT variables, the normalized and unnormalized Mahalnobis distances and an indicator column that signals whether an observation was included in training\",\"help\":\"OUT=*table*\",\"type\":\"dataSet\"},{\"name\":\"SCOREINFO\",\"optional\":true,\"description\":\"names the output data table in which to store scoring information, such as names of input variables and a rank of the covariance matrix\",\"help\":\"SCOREINFO|SCORE|SI=*table*\",\"type\":\"dataSet\"},{\"name\":\"STAT\",\"optional\":true,\"description\":\"names the output data table in which to store the summary status of the training. The table has the following columns: BY-group variable (if specified), number of observations read from the input data, number of observations used by MTS training, training status, status message to collect any warning or error messages during the training, and internal return code.\",\"help\":\"STAT|OUTSTAT=*table*\",\"type\":\"dataSet\"}]},{\"name\":\"SAVESTATE\",\"description\":\"The SAVESTATE statement creates a data-only analytic store for the model and saves it as a binary object in a data table. You can use the analytic store in the MTSSCORE procedure for fault detection and diagnostics.\",\"help\":\"SAVESTATE  RSTORE=*table*;                     \"}]}"
  },
  {
    "path": "server/pubsdata/Procedures/en/MTSSCORE.json",
    "content": "{\"name\":\"MTSSCORE\",\"statements\":[{\"name\":\"PROC MTSSCORE\",\"description\":\"invokes the procedure\",\"help\":\"PROC MTSSCORE  DATA=libref.data-table MODEL=libref.data-table<options>;                 \\n\\tBY variable;                 \\n\\n\\tOUTPUT <options>;                 \\n\",\"arguments\":[{\"name\":\"DATA=\",\"optional\":true,\"description\":\"names the input data table for PROC MTSSCORE to use\",\"help\":\"DATA=*libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"MODEL=\",\"optional\":true,\"description\":\"specifies the input binary file that contains the data-only analytic store that includes model information necessary for monitoring and diagnostics\",\"help\":\"MODEL=*libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"COV=\",\"optional\":true,\"description\":\"specifies the input data table that contains the covariance matrix for all input variables\",\"help\":\"COV=*libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"MEAN=\",\"optional\":true,\"description\":\"specifies the input data table that contains the means for all input variables\",\"help\":\"MEAN=*libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"SCOREINFO=\",\"optional\":true,\"aliases\":[\"SI=\"],\"description\":\"specifies the input data table that contains scoring information\",\"help\":\"SCOREINFO=*libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"NOPLOT\",\"optional\":true,\"description\":\"suppresses the generation of ODS graphical output\",\"type\":\"standalone\"},{\"name\":\"NOPRINT\",\"optional\":true,\"description\":\"suppresses the generation of all ODS output\",\"type\":\"standalone\"},{\"name\":\"NTHREADS=\",\"optional\":true,\"description\":\"specifies the number of threads to use in the computation\",\"help\":\"NTHREADS=*number-of-threads*\",\"type\":\"value\"},{\"name\":\"THRESHOLD=\",\"optional\":true,\"description\":\"specifies the normalized Mahalanobis distance threshold for outlier (or fault) detection\",\"help\":\"THRESHOLD=*number*\",\"type\":\"value\"}]},{\"name\":\"BY\",\"description\":\"specifies the name of a single numeric variable to be used for BY-group processing in scoring and diagnostics\",\"help\":\"BY *variable*;                                              \"},{\"name\":\"OUTPUT\",\"description\":\"generates output tables that show the scoring and diagnostic results\",\"help\":\"OUTPUT &lt;options&gt;;                                              \",\"arguments\":[{\"name\":\"GAINS=\",\"optional\":true,\"description\":\"names the output data table in which to store the diagnostic information\",\"help\":\"GAINS=*libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"OUT=\",\"optional\":true,\"description\":\"names the output data table for PROC MTSSCORE to use\",\"help\":\"OUT=*libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"STAT=\",\"optional\":true,\"description\":\"names the output data table in which to store the summary status of the scoring and diagnostics\",\"help\":\"STAT=*libref.data-table*\",\"type\":\"dataSet\"}]}]}"
  },
  {
    "path": "server/pubsdata/Procedures/en/MULTTEST.json",
    "content": "{\"name\":\"MULTTEST\",\"statements\":[{\"name\":\"PROC MULTTEST\",\"description\":\"The MULTTEST procedure addresses the multiple testing problem. This problem arises when you perform many hypothesis tests on the same data set. Carrying out multiple tests is often reasonable because of the cost of obtaining data, the discovery of new aspects of the data, and the many alternative statistical methods.\",\"help\":\"PROC MULTTEST <ADAPTIVEFDR><ADAPTIVEHOCHBERG><ADAPTIVEHOLM><BONFERRONI><BOOTSTRAP><CENTER><DATA=SAS-data-set><DEPENDENTFDR><EPSILON=number><FDRBOOT<(β)>><FDERPERM<(β)>><FDR><FISHER_C><HOCHBERG><HOLM><HOMMEL><INPVALUES<(pvalue-name)>=SAS-data-set><NOCENTER><NOPRINT><NOPVALUE><NOTABLES><NOZEROS><NSAMPLE=number><NTRUENULL=BOOTSTRAP | DECREASESLOPE | KSTEST... ><ORDER=DATA | FORMATTED | FREQ... ><OUT=SAS-data-set><OUTPERM=SAS-data-set><OUTSAMP=SAS-data-set><PDATA=SAS-data-set><PERMUTATION><PFDR<(options )>><PLOTS=ADJUSTED | ALL | LAMBDA... ><PTRUENULL=BOOTSTRAP | DECREASESLOPE | KSTEST... ><RANUNI><SEED=number><SIDAK><STEPBON><STEPBOOT><STEPPERM><STEPSID><STOUFFER>;     \\n\\tBY <DESCENDING><NOTSORTED> ;\\n\\n\\tCLASS <TRUNCATE> ;\\n\\n\\tCONTRAST ’label’ values ;\\n\\n\\tFREQ variable;\\n\\n\\tID variables;\\n\\n\\tSTRATA <WEIGHT=<SAMPLESIZE | HARMONIC | EQUAL>> ;\\n\\n\\tTEST CA FISHER FT ...;\\n\",\"arguments\":[{\"name\":\"ADAPTIVEFDR\",\"optional\":true,\"aliases\":[\"AFDR\"],\"description\":\"Requests adjusted p-values by using the Benjamini and Hochberg (2000) adaptive linear step-up method.\",\"type\":\"standalone\"},{\"name\":\"ADAPTIVEHOCHBERG\",\"optional\":true,\"aliases\":[\"AHOC\"],\"description\":\"Requests adjusted p-values by using the Hochberg and Benjamini (1990) adaptive step-up Bonferroni method.\",\"type\":\"standalone\"},{\"name\":\"ADAPTIVEHOLM\",\"optional\":true,\"aliases\":[\"AHOLM\"],\"description\":\"Requests adjusted p-values by using the Hochberg and Benjamini (1990) adaptive step-down Bonferroni method.\",\"type\":\"standalone\"},{\"name\":\"BONFERRONI\",\"optional\":true,\"aliases\":[\"BON\"],\"description\":\"Specifies that the Bonferroni adjustments (number of tests x p-value) be computed for each test.\",\"type\":\"standalone\"},{\"name\":\"BOOTSTRAP\",\"optional\":true,\"aliases\":[\"BOOT\"],\"description\":\"Specifies that the p-values be adjusted by using the bootstrap method to resample vectors (Westfall and Young; 1993).\",\"type\":\"standalone\"},{\"name\":\"CENTER\",\"optional\":true,\"description\":\"Requests that continuous variables be mean-centered prior to resampling. The default action is to mean-center for bootstrap resampling and not to mean-center for permutation resampling.\",\"type\":\"standalone\"},{\"name\":\"DATA=\",\"optional\":true,\"description\":\"Names the input SAS data set to be used by PROC MULTTEST.\",\"help\":\"DATA=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"DEPENDENTFDR\",\"optional\":true,\"aliases\":[\"DFDR\"],\"description\":\"Requests adjusted p-values by using the method of Benjamini and Yekateuli (2001).\",\"type\":\"standalone\"},{\"name\":\"EPSILON=\",\"optional\":true,\"description\":\"Specifies the amount by which two p-values must differ to be declared unequal. The value number must be between 0 and 1; the default value is 1000 times the machine epsilon, which is approximately 1E–12.\",\"help\":\"EPSILON=*number*\",\"type\":\"value\"},{\"name\":\"FDRBOOT\",\"optional\":true,\"description\":\"A bootstrap-resampling false discovery rate controlling method due to Yekateuli and Benjamini (1999).\",\"type\":\"standalone\"},{\"name\":\"FDRPERM\",\"optional\":true,\"description\":\"A permutation-resampling false discovery rate controlling method due to Yekateuli and Benjamini (1999).\",\"type\":\"standalone\"},{\"name\":\"FDR\",\"optional\":true,\"aliases\":[\"LSU\"],\"description\":\"Requests adjusted p-values by using the linear step-up method of Benjamini and Hochberg (1995).\",\"type\":\"standalone\"},{\"name\":\"FISHER_C\",\"optional\":true,\"aliases\":[\"FIC\"],\"description\":\"Requests adjusted p-values by using Fisher’s combination method.\",\"type\":\"standalone\"},{\"name\":\"HOCHBERG\",\"optional\":true,\"aliases\":[\"HOC\"],\"description\":\"Requests adjusted p-values by using the step-up Bonferroni method due to Hochberg (1988).\",\"type\":\"standalone\"},{\"name\":\"HOLM\",\"optional\":true,\"description\":\"Is an alias for the STEPBON adjustment\",\"type\":\"standalone\"},{\"name\":\"HOMMEL\",\"optional\":true,\"aliases\":[\"HOM\"],\"description\":\"Requests adjusted p-values by using the method of Hommel (1988).\",\"type\":\"standalone\"},{\"name\":\"INPVALUES=\",\"optional\":true,\"description\":\"Names an input SAS data set that includes a variable containing raw p-values. The pvalue-name enables you to specify the name of the p-value column from your data set. By default, pvalue-name=’raw_p’.\",\"type\":\"value\"},{\"name\":\"NOCENTER\",\"optional\":true,\"description\":\"Requests that continuous variables not be mean-centered prior to resampling. The default action is to mean-center for bootstrap resampling and not to mean-center for permutation resampling.\",\"type\":\"standalone\"},{\"name\":\"NOPRINT\",\"optional\":true,\"description\":\"Suppresses the normal display of results.\",\"type\":\"standalone\"},{\"name\":\"NOPVALUE\",\"optional\":true,\"description\":\"Suppresses the display of the \\\"p-Values\\\" table of raw and adjusted p-values. This option is most useful when you are adjusting many tests and need to create only an OUT= data set or display graphics.\",\"type\":\"standalone\"},{\"name\":\"NOTABLES\",\"optional\":true,\"description\":\"Suppresses display of the \\\"Discrete Variable Tabulations\\\" and \\\"Continuous Variable Tabulations\\\" tables.\",\"type\":\"standalone\"},{\"name\":\"NOZEROS\",\"optional\":true,\"description\":\"Suppresses display of tables having zero occurrences for all CLASS levels.\",\"type\":\"standalone\"},{\"name\":\"NSAMPLE=\",\"optional\":true,\"aliases\":[\"N=\"],\"description\":\"Specifies the number of resamples for use with the resampling methods. The value number must be a positive integer; by default, 20,000 resamples are used.\",\"help\":\"NSAMPLE=*number*\",\"type\":\"value\"},{\"name\":\"NTRUENULL=\",\"optional\":true,\"aliases\":[\"M0=\"],\"description\":\"Controls the method used to estimate the number of true NULL hypotheses (mo) for the adaptive methods.\",\"help\":\"NTRUENULL=BOOTSTRAP | DECREASESLOPE | KSTEST | LEASTSQUARES | LOWESTSLOPE | MEANDIFF | SPLINE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"BOOTSTRAP\",\"description\":\"Syntax: BOOTSTRAP<(bootstrap-options)> Uses the bootstrap method of Storey and Tibshirani (2003). The available bootstrap-options are as follows: FINITE modifies the computations for the finite-sample case of the PFDR option. NBOOT=B specifies the number of bootstrap resamples of the raw p-values for the λ computations. NLAMBDA=n specifies that the \\\"optimal\\\" λ is the value in {0, 1/n,...,(n-1)/n} that minimizes the MSE.\",\"type\":\"standalone\"},{\"name\":\"DECREASESLOPE\",\"description\":\"Uses the method of Schweder and Spjøtvoll (1982) as modified by Hochberg and Benjamini (1990).\",\"type\":\"standalone\"},{\"name\":\"KSTEST\",\"description\":\"Syntax: KSTEST<(β)< Uses the Kolmogov-Smirnov uniformity test method of Turkheimer, Smith, and Schmidt (2001).\",\"type\":\"standalone\"},{\"name\":\"LEASTSQUARES\",\"description\":\"Uses a linear least squares method to search for the correct cutpoint.\",\"type\":\"standalone\"},{\"name\":\"LOWESTSLOPE\",\"description\":\"Uses the lowest slope method of Benjamini and Hochberg (2000).\",\"type\":\"standalone\"},{\"name\":\"MEANDIFF\",\"description\":\"Uses the mean of differences method of Hsueh, Chen, and Kodell (2003).\",\"type\":\"standalone\"},{\"name\":\"SPLINE\",\"description\":\"Syntax: SPLINE<(spline-options)> Uses the cubic spline method of Storey and Tibshirani (2003). The available spline-options are as follows: DF=df sets the degrees of freedom of the spline, where df is a nonnegative integer. The default is DF=3. DFCONV=number specifies the absolute change in spline degrees of freedom value for concluding convergence. FINITE modifies the computations for the finite-sample case of the PFDR option. MAXITER=n specifies the maximum number of golden-search iterations used to find a spline with DF= degrees of freedom. NLAMBDA=n By default, NLAMBDA=20; number must be an integer greater than 1. SPCONV=number specifies the absolute change in smoothing parameter value for concluding convergence of the spline.\",\"type\":\"standalone\"}]},{\"name\":\"ORDER=\",\"optional\":true,\"description\":\"Specifies the sorting order for the levels of the CLASS variable.\",\"help\":\"ORDER=DATA | FORMATTED | FREQ | INTERNAL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DATA\",\"description\":\"Orders values according to their order in the input data set.\",\"type\":\"standalone\"},{\"name\":\"FORMATTED\",\"description\":\"Orders values by their ascending formatted values. This order depends on your operating environment.\",\"type\":\"standalone\"},{\"name\":\"FREQ\",\"description\":\"Orders values by descending frequency count so that levels with the most observations are listed first.\",\"type\":\"standalone\"},{\"name\":\"INTERNAL\",\"description\":\"Orders values by their unformatted values, which yields the same order as PROC SORT. This order depends on your operating environment.\",\"type\":\"standalone\"}]},{\"name\":\"OUT=\",\"optional\":true,\"description\":\"Names the output SAS data set containing variable names, contrast names, intermediate calculations, and all associated p-values.\",\"help\":\"OUT=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"OUTPERM=\",\"optional\":true,\"description\":\"Names the output SAS data set containing entire permutation distributions (upper-tail probabilities) for all tests when the PERMUTATION= option is specified.\",\"help\":\"OUTPERM=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"OUTSAMP=\",\"optional\":true,\"description\":\"Names the output SAS data set containing information from the resampled data sets when resampling is performed.\",\"help\":\"OUTSAMP=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"PDATA=\",\"optional\":true,\"description\":\"Is an alias for the INPVALUES= option.\",\"help\":\"PDATA=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"PERMUTATION\",\"optional\":true,\"description\":\"Computes adjusted p-values in identical fashion as the BOOTSTRAP option, with the exception that PROC MULTTEST resamples without replacement rather than with replacement.\",\"type\":\"standalone\"},{\"name\":\"PFDR\",\"optional\":true,\"description\":\"Computes the \\\"q-values\\\". PROC MULTTEST treats these \\\"q-values\\\" as adjusted p-values.\",\"type\":\"standalone\"},{\"name\":\"PLOTS=\",\"optional\":true,\"description\":\"Controls the plots produced through ODS Graphics. Syntax: (1) PLOTS<(global-plot-options)>=plot-request<(options)> (2) PLOTS<(global-plot-options)>=(plot-request<(options)>< plot-request<(options)>> ) The following global-plot-options are available: UNPACKPANELS | UNPACK suppresses paneling.\",\"help\":\"PLOTS=ADJUSTED | ALL | LAMBDA | MANHATTAN | NONE | PBYTEST | RAWPROB\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ADJUSTED\",\"description\":\"Syntax: ADJUSTED<(UNPACK)> Displays a 22 panel of adjusted p-value plots similar to those Storey and Tibshirani (2003) developed for use with the PFDR p-value adjustment method. The UNPACK option unpanels the display.\",\"type\":\"standalone\"},{\"name\":\"ALL\",\"description\":\"Produces all appropriate plots.\",\"type\":\"standalone\"},{\"name\":\"LAMBDA\",\"description\":\"Displays plots of the MSE and the estimated number of true nulls against the λ parameter when the NTRUENULL=SPLINE or NTRUENULL=BOOTSTRAP option is in effect.\",\"type\":\"standalone\"},{\"name\":\"MANHATTAN\",\"description\":\"Syntax: MANHATTAN<(options)> Displays the Manhattan plot (a plot of -log10 of the adjusted p-values versus the tests). You can specify the following options: GROUP=variable specifies a variable to group the adjusted p-values in the display. LABEL <=OBS> labels the observations that have adjusted p-values that are less than the value specified in the VREF= option. By default, labels are created as follows: if an INPVALUES= data set and an ID statement are specified, then the observations are labeled with the ID values; if a DATA= data set is specified, then the observations are labeled with their constructed test name; otherwise, the observation or test number is displayed. NOTESTNAME displays the number of the test instead of the test name on the X-axis, which is useful when you have many tests. UNPACK suppresses paneling. By default, Manhattan plots are created for each requested p-value adjustment, and the results are grouped in a single display, called a panel. Specify UNPACK to display each plot separately. VREF=number | NONE displays a reference line at –log10(number). The number must be between 0 and 1. By default, a reference line at –log10(0.05) is displayed; it can be suppressed by specifying VREF=0 or VREF=NONE.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"Suppresses all plots.\",\"type\":\"standalone\"},{\"name\":\"PBYTEST\",\"description\":\"Syntax: PBYTEST<(options)> Displays the adjusted p-values for each test. The available options are as follows: NOTESTNAME displays the number of the test instead of the test name on the axis, which is useful when you have many tests. VREF=number-list displays reference lines at the p-values specified in the number-list. The values in the number-list must be between 0 and 1;\",\"type\":\"standalone\"},{\"name\":\"RAWPROB\",\"description\":\"Syntax: RAWPROB<(UNPACK)> Displays a uniform probability plot of 1 minus the raw p-values (Schweder and Spjøtvoll; 1982) along with a histogram. The UNPACK option unpanels the display.\",\"type\":\"standalone\"}]},{\"name\":\"PTRUENULL=\",\"optional\":true,\"aliases\":[\"PI0=\"],\"description\":\"Is alias for the NTRUENULL= option, except that you can specify the proportion of true null hypotheses as a value between 0 and 1, instead of specifying the number of true null hypotheses. The available keywords are also the NTRUENULL= options.\",\"help\":\"PTRUENULL=BOOTSTRAP | DECREASESLOPE | KSTEST | LEASTSQUARES | LOWESTSLOPE | MEANDIFF | SPLINE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"BOOTSTRAP\",\"description\":\"Syntax: BOOTSTRAP<(bootstrap-options)> Uses the bootstrap method of Storey and Tibshirani (2003). The available bootstrap-options are as follows: FINITE modifies the computations for the finite-sample case of the PFDR option. NBOOT=B specifies the number of bootstrap resamples of the raw p-values for the λ computations. NLAMBDA=n specifies that the \\\"optimal\\\" λ is the value in {0, 1/n,...,(n-1)/n} that minimizes the MSE.\",\"type\":\"standalone\"},{\"name\":\"DECREASESLOPE\",\"description\":\"Uses the method of Schweder and Spjøtvoll (1982) as modified by Hochberg and Benjamini (1990).\",\"type\":\"standalone\"},{\"name\":\"KSTEST\",\"description\":\"Syntax: KSTEST<(β)< Uses the Kolmogov-Smirnov uniformity test method of Turkheimer, Smith, and Schmidt (2001).\",\"type\":\"standalone\"},{\"name\":\"LEASTSQUARES\",\"description\":\"Uses a linear least squares method to search for the correct cutpoint.\",\"type\":\"standalone\"},{\"name\":\"LOWESTSLOPE\",\"description\":\"Uses the lowest slope method of Benjamini and Hochberg (2000).\",\"type\":\"standalone\"},{\"name\":\"MEANDIFF\",\"description\":\"Uses the mean of differences method of Hsueh, Chen, and Kodell (2003).\",\"type\":\"standalone\"},{\"name\":\"SPLINE\",\"description\":\"Syntax: SPLINE<(spline-options)> Uses the cubic spline method of Storey and Tibshirani (2003). The available spline-options are as follows: DF=df sets the degrees of freedom of the spline, where df is a nonnegative integer. The default is DF=3. DFCONV=number specifies the absolute change in spline degrees of freedom value for concluding convergence. FINITE modifies the computations for the finite-sample case of the PFDR option. MAXITER=n specifies the maximum number of golden-search iterations used to find a spline with DF= degrees of freedom. NLAMBDA=n By default, NLAMBDA=20; number must be an integer greater than 1. SPCONV=number specifies the absolute change in smoothing parameter value for concluding convergence of the spline.\",\"type\":\"standalone\"}]},{\"name\":\"RANUNI\",\"optional\":true,\"description\":\"Requests the random number generator used in releases prior to SAS 9.2.\",\"type\":\"standalone\"},{\"name\":\"SEED=\",\"optional\":true,\"aliases\":[\"S=\"],\"description\":\"Specifies the initial seed for the random number generator used for resampling. The value for number must be an integer.\",\"help\":\"SEED=*number*\",\"type\":\"value\"},{\"name\":\"SIDAK\",\"optional\":true,\"aliases\":[\"SID\"],\"description\":\"Computes the Šidák adjustment for each test.\",\"type\":\"standalone\"},{\"name\":\"STEPBON\",\"optional\":true,\"description\":\"Requests adjusted p-values by using the step-down Bonferroni method of Holm (1979).\",\"type\":\"standalone\"},{\"name\":\"STEPBOOT\",\"optional\":true,\"description\":\"Requests that adjusted p-values be computed by using bootstrap resampling as described under the BOOTSTRAP option, but in step-down fashion.\",\"type\":\"standalone\"},{\"name\":\"STEPPERM\",\"optional\":true,\"description\":\"Requests that adjusted p-values be computed by using permutation resampling as described under the PERMUTATION option, but in step-down fashion.\",\"type\":\"standalone\"},{\"name\":\"STEPSID\",\"optional\":true,\"description\":\"Requests adjusted p-values by using the Šidák method as described in the SIDAK option, but in step-down fashion.\",\"type\":\"standalone\"},{\"name\":\"STOUFFER\",\"optional\":true,\"aliases\":[\"LIPTAK\"],\"description\":\"Requests adjusted p-values by using the Stouffer-Liptak combination method. This option is new under SAS 9.3.\",\"type\":\"standalone\"}]},{\"name\":\"BY\",\"description\":\"Obtains separate analyses on observations in groups defined by the BY variables.\",\"help\":\"BY &lt;DESCENDING&gt;&lt;NOTSORTED&gt;\",\"arguments\":[{\"name\":\"DESCENDING\",\"optional\":true,\"description\":\"Specifies that the observations are sorted in descending order by the variable that immediately follows the word DESCENDING in the BY statement.\",\"type\":\"standalone\"},{\"name\":\"NOTSORTED\",\"optional\":true,\"description\":\"Specifies that observations are not necessarily sorted in alphabetic or numeric order.\",\"type\":\"standalone\"}]},{\"name\":\"CLASS\",\"description\":\"The CLASS statement is required unless the INPVALUES= option is specified. The CLASS statement specifies a single variable (character or numeric) used to identify the groups for the analysis.\",\"help\":\"CLASS &lt;TRUNCATE&gt;\",\"arguments\":[{\"name\":\"TRUNCATE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies that class levels should be determined by using no more than the first 16 characters of the formatted values of CLASS variables.\",\"type\":\"standalone\"}]},{\"name\":\"CONTRAST\",\"description\":\"This statement is used to identify tests between the levels of the CLASS variable; in particular, it is used to specify the coefficients for the trend tests.\",\"help\":\"CONTRAST ’label’ values \"},{\"name\":\"FREQ\",\"aliases\":[\"FREQUENCY\"],\"description\":\"The FREQ statement names a variable that provides frequencies for each observation in the DATA= data set. Specifically, if n is the value of the FREQ variable for a given observation, then that observation is used n times.\",\"help\":\"FREQ variable\"},{\"name\":\"ID\",\"description\":\"The ID statement names one or more variables for identifying observations in the output and in the plots. The statement requires an INPVALUES= data set. All ID variables are displayed in the “pValues” table. The ID variables are used as the X axis for the plots requested by the PLOTS=PBYTEST and PLOTS=MANHATTAN options in the PROC MULTTEST statement; they are also used to label points on the Manhattan plots. This option has no effect on the OUT= data set.\",\"help\":\"ID variables\"},{\"name\":\"STRATA\",\"aliases\":[\"STRATUM\"],\"description\":\"The STRATA statement identifies a single variable to use as a stratification variable in the analysis.\",\"help\":\"STRATA &lt;WEIGHT=&lt;SAMPLESIZE | HARMONIC | EQUAL&gt;&gt;\",\"arguments\":[{\"name\":\"WEIGHT=\",\"optional\":true,\"description\":\"Specifies the type of strata weighting to use when computing the Freeman-Tukey and t tests.\",\"help\":\"WEIGHT=SAMPLESIZE | HARMONIC | EQUAL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"SAMPLESIZE\",\"description\":\"Requests weights proportional to the within-stratum sample sizes, and is the default method.\",\"type\":\"standalone\"},{\"name\":\"HARMONIC\",\"description\":\"Sets up weights equal to the harmonic mean of the nonmissing within-stratum CLASS sizes, and is similar to a Type 2 analysis in PROC GLM.\",\"type\":\"standalone\"},{\"name\":\"EQUAL\",\"description\":\"Specifies equal weights, and is similar to a Type 3 analysis in PROC GLM.\",\"type\":\"standalone\"}]}]},{\"name\":\"TEST\",\"description\":\"The TEST statement is required unless the INPVALUES= option is specified. The TEST statement identifies statistical tests to be performed and the discrete and continuous variables to be tested.\",\"help\":\"TEST CA FISHER FT ...\",\"arguments\":[{\"name\":\"CA\",\"description\":\"Requests the Cochran-Armitage linear trend tests for group comparisons. The test variables should take the value 0 for a failure and 1 for a success. PERMUTATION= option can be used to request an exact permutation test; otherwise, a Z-score approximation is used. The CONTINUITY= option can be used to specify a continuity correction for the -score approximation.\",\"type\":\"standalone\"},{\"name\":\"FISHER\",\"description\":\"Requests Fisher exact tests for comparing two treatment groups. The test variables should take the value 0 for a failure and 1 for a success.\",\"type\":\"standalone\"},{\"name\":\"FT\",\"description\":\"Requests Z-score CA tests based upon the Freeman-Tukey double arcsine transformation of the frequencies. The test variables should take the value 0 for a failure and 1 for a success.\",\"type\":\"standalone\"},{\"name\":\"MEAN\",\"description\":\"Requests the t test for the mean. The test variables can take on any numeric values.\",\"type\":\"standalone\"},{\"name\":\"PETO\",\"description\":\"Requests the Peto mortality-prevalence test. The test variables should take the value 0 for a nonoccurrence, 1 for an incidental occurrence, and 2 for a fatal occurrence. The TIME= option should be used with the Peto test to specify an integer-valued variable giving the age at death. The CONTINUITY= option can be used to specify a continuity correction for the test.\",\"type\":\"standalone\"},{\"name\":\"BINOMIAL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Uses the binomial variance estimate for CA and Peto tests in their asymptotic normal approximations. The default is to use the hypergeometric variance.\",\"type\":\"standalone\"},{\"name\":\"CONTINUITY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"C=\"],\"description\":\"Specifies number as a particular continuity correction for the Z-score approximation in the CA and Peto tests. The default is 0.\",\"help\":\"CONTINUITY=*number*\",\"type\":\"value\"},{\"name\":\"DDFM=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies whether the MEAN test uses a homogeneity assumption (DDFM=POOLED, the default) or deals with heterogeneous variances (DDFM=SATTERTHWAITE).\",\"help\":\"DDFM=POOLED | SATTERTHWAITE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"POOLED\",\"followsDelimiter\":\"/\",\"description\":\"Specifies that the MEAN test uses a homogeneity assumption.\",\"type\":\"standalone\"},{\"name\":\"SATTERTHWAITE\",\"followsDelimiter\":\"/\",\"description\":\"Specifies that the MEAN test deals with heterogeneous variances.\",\"type\":\"standalone\"}]},{\"name\":\"LOWERTAILED\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"LOWER\"],\"description\":\"Is used to make all tests lower-tailed. All tests are two-tailed by default.\",\"type\":\"standalone\"},{\"name\":\"PERMUTATION=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"PERM=\"],\"description\":\"Computes p-values for the CA and Peto tests by using exact permutation distributions when marginal success or failure totals within a stratum are number or less.\",\"help\":\"PERMUTATION=*number*\",\"type\":\"value\"},{\"name\":\"TIME=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Identifies the Peto test variable containing the age at death, which must be integer valued. If the TIME= option is omitted, all ages are assumed to equal 1.\",\"help\":\"TIME=*variable*\",\"type\":\"value\"},{\"name\":\"UPPERTAILED\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"UPPER\"],\"description\":\"Is used to make all tests upper-tailed. All tests are two-tailed by default.\",\"type\":\"standalone\"}]}],\"supportSiteInformation\":{\"docsetId\":\"statug\",\"docsetVersion\":\"latest\",\"docsetTargetFile\":\"statug_multtest_toc.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/MVOUTLIER.json",
    "content": "{\"name\":\"MVOUTLIER\",\"statements\":[{\"name\":\"PROC MVOUTLIER\",\"description\":\"invokes the MVOUTLIER procedure and optionally identifies the input data set, specifies the analyses to be performed, and controls displayed output\",\"help\":\"PROC MVOUTLIER <options>;                 \\n\\tDISPLAY <table-list></ options>;                 \\n\\n\\tDISPLAYOUT  table-spec-list </ options>;                 \\n\\n\\tID  variables;                 \\n\\n\\tOUTPUT  OUT=libref.data-table <COPYVARS=(variables)><statistic <=name>>...<statistic <=name>>;                 \\n\\n\\tVAR  variables;                 \\n\",\"arguments\":[{\"name\":\"NPRINCOMP=\",\"aliases\":[\"NCOMP=\",\"NPC=\",\"N=\"],\"description\":\"specifies the number of principal components to retain for the final subspace; you must specify either this option or the PROPVARIANCE= option, but not both\",\"help\":\"NPRINCOMP=*number*\",\"type\":\"value\"},{\"name\":\"PROPVARIANCE=\",\"aliases\":[\"PROPORTIONVARIANCE=\",\"PROPVAR=\"],\"description\":\"specifies the target proportion of variance to be explained by the principal components, with maximum number of components determined by the value of the NPRINCOMP= option; you must specify either this option or the NPRINCOMP= option, but not both\",\"help\":\"PROPVARIANCE=*p*\",\"type\":\"value\"},{\"name\":\"ALPHALEVERAGE=\",\"optional\":true,\"aliases\":[\"ALPHALEV=\"],\"description\":\"specifies the tail probability that determines the robust score distance cutoff value that is used to identify leverage points; by default, ALPHALEVERAGE=0.025\",\"help\":\"ALPHALEVERAGE=*p*\",\"type\":\"value\"},{\"name\":\"ALPHAMARGINALLEVERAGE=\",\"optional\":true,\"aliases\":[\"ALPHAMARGINALLEV=\",\"ALPHAMARGLEV=\"],\"description\":\"specifies the tail probability that determines the robust score distance cutoff value to use for inclusion in the Diagnostics table or labeling in the diagnostic plot; by default, it is set to the value of the ALPHALEVERAGE= option\",\"help\":\"ALPHAMARGINALLEVERAGE=*p*\",\"type\":\"value\"},{\"name\":\"ALPHAMARGINALOUTLIER=\",\"optional\":true,\"aliases\":[\"ALPHAMARGINALOUT=\",\"ALPHAMARGOUT=\"],\"description\":\"specifies the tail probability that determines the orthogonal distance cutoff value to use for inclusion in the Diagnostics table or labeling in the diagnostic plot; by default, it is set to the value of the ALPHAOUTLIER= option\",\"help\":\"ALPHAMARGINALOUTLIER=*p*\",\"type\":\"value\"},{\"name\":\"ALPHAOUTLIER=\",\"optional\":true,\"aliases\":[\"ALPHAOUT=\"],\"description\":\"specifies the tail probability that determines the orthogonal distance cutoff value that is used to identify outliers; by default, ALPHAOUTLIER=0.025\",\"help\":\"ALPHAOUTLIER=*p*\",\"type\":\"value\"},{\"name\":\"APPLYROWORDER\",\"optional\":true,\"description\":\"uses a data distribution and row order as determined by a previous partition action call\",\"type\":\"standalone\"},{\"name\":\"CONTAMINATION=\",\"optional\":true,\"aliases\":[\"CONTAM=\",\"CORRUPTED=\"],\"description\":\"specifies the fraction of observations that are corrupted; its value must be less than or equal to 0.5, and its default value is 0.25\",\"help\":\"CONTAMINATION=*p*\",\"type\":\"value\"},{\"name\":\"DATA=\",\"optional\":true,\"description\":\"names the input data table for PROC MVOUTLIER to use\",\"help\":\"DATA=*libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"DIAGNOSTICOPTIONS\",\"optional\":true,\"aliases\":[\"DIAGOPTIONS\",\"DIAGOPTS\"],\"description\":\"specifies options for the Diagnostics table\",\"help\":\"DIAGNOSTICOPTIONS &lt;(*options*)&gt;\",\"type\":\"standaloneOrValue\",\"arguments\":[{\"name\":\"MAXOBS=\",\"description\":\"specifies the maximum number of observations to include in the Diagnostics table\",\"help\":\"MAXOBS=*number*\",\"type\":\"value\"},{\"name\":\"SHOWOBSID\",\"aliases\":[\"OBSID\"],\"description\":\"includes the automatically assigned observation ID in the Diagnostics table\",\"type\":\"standalone\"}]},{\"name\":\"EIGENVEC\",\"optional\":true,\"description\":\"creates the Eigenvectors table, which is produced only if you specify this option\",\"type\":\"standalone\"},{\"name\":\"INITONLY\",\"optional\":true,\"aliases\":[\"INITIALONLY\"],\"description\":\"stops the analysis just before the point where the final number of principal components is determined; this saves computation time if you want to obtain only the information relevant to determining how many principal components to retain for the final subspace\",\"type\":\"standalone\"},{\"name\":\"LOADINGS\",\"optional\":true,\"description\":\"creates the Loadings table, which is produced only if you specify this option\",\"type\":\"standalone\"},{\"name\":\"NPRINCOMPMAX=\",\"optional\":true,\"aliases\":[\"NCOMPMAX=\",\"NPCMAX=\",\"NMAX=\"],\"description\":\"specifies the largest feasible number of principal components that you would expect to retain for the final subspace, given the target proportion of variance to explain; it is used in conjunction with the PROPVARIANCE= option, and by default, NPRINCOMPMAX=10\",\"help\":\"NPRINCOMPMAX=*number*\",\"type\":\"value\"},{\"name\":\"PLOTS\",\"optional\":true,\"description\":\"controls the plots that are produced through ODS Graphics\",\"help\":\"PLOTS &lt;(*global-plot-opt)*&lt;=(*plot-request*&lt;(*options*)&gt;&lt;...*plot-request*&lt;(*options*)&gt;&gt;)&gt;&gt;\",\"type\":\"standaloneOrValue\",\"arguments\":[{\"name\":\"UNPACKPANEL\",\"aliases\":[\"UNPACK\"],\"description\":\"suppresses paneling in the scree plot\",\"type\":\"standalone\"},{\"name\":\"ALL\",\"description\":\"produces all appropriate plots\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"suppresses the display of all plots\",\"type\":\"standalone\"},{\"name\":\"DIAGNOSTIC\",\"description\":\"produces a plot of orthogonal distances versus robust score distances that identifies outliers and leverage points\",\"help\":\"DIAGNOSTIC &lt;(*diagnostic-options*)&gt;\",\"type\":\"standaloneOrValue\",\"arguments\":[{\"name\":\"ALPHAMARGINALLEVERAGE=\",\"aliases\":[\"ALPHAMARGINALLEV=\",\"ALPHAMARGLEV=\"],\"description\":\"specifies the tail probability that determines the robust score distance cutoff value for labeling an observation in the diagnostic plot\",\"help\":\"ALPHAMARGINALLEVERAGE=*p*\",\"type\":\"value\"},{\"name\":\"ALPHAMARGINALOUTLIER=\",\"aliases\":[\"ALPHAMARGINALOUT=\",\"ALPHAMARGOUT=\"],\"description\":\"specifies the tail probability that determines the orthogonal distance cutoff value for labeling an observation in the diagnostic plot\",\"help\":\"ALPHAMARGINALOUTLIER=*p*\",\"type\":\"value\"},{\"name\":\"LABEL=\",\"description\":\"specifies the type of label to use for outliers and leverage points in the diagnostic plot\",\"help\":\"LABEL=NONE | ID | NUMBER\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NONE\",\"description\":\"shows no labels\",\"type\":\"standalone\"},{\"name\":\"ID\",\"description\":\"uses values of the first ID variable\",\"type\":\"standalone\"},{\"name\":\"NUMBER\",\"description\":\"uses an automatically assigned observation ID\",\"type\":\"standalone\"}]},{\"name\":\"MAXOBS=\",\"description\":\"specifies the maximum number of observations to display in the diagnostic plot\",\"help\":\"MAXOBS=*number*\",\"type\":\"value\"}]},{\"name\":\"SCREE\",\"aliases\":[\"EIGEN\",\"EIGENVALUE\"],\"description\":\"produces a scree plot of eigenvalues and proportion of variance explained for the initial robust subspace, at the stage where the final number of principal components must be chosen\",\"help\":\"SCREE &lt;(*scree-options*)&gt;\",\"type\":\"standaloneOrValue\",\"arguments\":[{\"name\":\"NPRINCOMPDISPLAY=\",\"aliases\":[\"NCOMPDISPLAY=\",\"NDISPLAY=\"],\"description\":\"specifies the number of principal components to display in the scree plot\",\"help\":\"NPRINCOMPDISPLAY=*number*\",\"type\":\"value\"},{\"name\":\"PROPVARDISPLAYMAX=\",\"aliases\":[\"PROPVARIANCEDISPLAYMAX=\",\"PROPVARDISPMAX=\"],\"description\":\"sets the number of principal components to display in the scree plot to the lowest number that explains at least the specified proportion of variance\",\"help\":\"PROPVARDISPLAYMAX=*p*\",\"type\":\"value\"},{\"name\":\"UNPACKPANEL\",\"aliases\":[\"UNPACK\"],\"description\":\"suppresses paneling for the scree plot so that the eigenvalue plot and proportion of variance plot appear in separate panels\",\"type\":\"standalone\"}]}]},{\"name\":\"PREFIX=\",\"optional\":true,\"description\":\"specifies a prefix for naming the principal components in the Eigenvectors and Loadings tables; the default name is Prin, which produces the component names Prin1, Prin2, Prin3, and so on\",\"help\":\"PREFIX=*name*\",\"type\":\"value\"},{\"name\":\"SEED=\",\"optional\":true,\"aliases\":[\"RANDOMSEED=\"],\"description\":\"specifies the seed to use for random number generation\",\"help\":\"SEED=*number*\",\"type\":\"value\"}]},{\"name\":\"DISPLAY\",\"description\":\"enables you to specify a list of display tables to display or exclude\",\"help\":\"DISPLAY &lt;table-list&gt;&lt;/ options&gt;;                                              \",\"arguments\":[{\"name\":\"CASESENSITIVE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"performs a case-sensitive comparison of table names in the table-list to display table names when tables are subsetted for display\",\"type\":\"standalone\"},{\"name\":\"EXCLUDE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"displays all display tables except those that you specify in the table-list\",\"type\":\"standalone\"},{\"name\":\"EXCLUDEALL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses display of all tables\",\"type\":\"standalone\"},{\"name\":\"TRACE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"displays the display table names, labels, and paths\",\"type\":\"standalone\"}]},{\"name\":\"DISPLAYOUT\",\"description\":\"enables you to create output tables from your displayed output\",\"help\":\"DISPLAYOUT  table-spec-list &lt;/ options&gt;;                                              *table-spec-list* specifies a list of output tables in key=value or key format                     *key=value* specifies *key* as the ODS table name, path, or partial pathname, and *value* as the output table name                     *key* is the ODS table name and the output table name                     \",\"arguments\":[{\"name\":\"INCLUDEALL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"creates output tables for all display tables\",\"type\":\"standalone\"},{\"name\":\"NOREPLACE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"does not replace any existing output table of the same name\",\"type\":\"standalone\"},{\"name\":\"REPEATED\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"replicates all output tables on all nodes\",\"type\":\"standalone\"}]},{\"name\":\"ID\",\"description\":\"specifies which variables to display in output that includes information about individual observations, instead of displaying the automatically assigned observation ID\",\"help\":\"ID  variables;                                              \"},{\"name\":\"OUTPUT\",\"description\":\"creates a data table that contains observationwise statistics, which are computed after PROC MVOUTLIER fits the model; if you do not specify a keyword, then the orthogonal distance and robust score distance are included\",\"help\":\"OUTPUT  OUT=libref.data-table &lt;COPYVARS=(variables)&gt;&lt;statistic &lt;=name&gt;&gt;...&lt;statistic &lt;=name&gt;&gt;;                                              \",\"arguments\":[{\"name\":\"OUT=\",\"description\":\"names the output data table for PROC MVOUTLIER to use\",\"help\":\"OUT=*libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"COPYVARS=\",\"optional\":true,\"aliases\":[\"COPYVAR=\"],\"description\":\"transfers one or more variables from the input data table to the output data table\",\"help\":\"COPYVARS=(*variables*)\",\"type\":\"value\"},{\"name\":\"LEVERAGE\",\"optional\":true,\"description\":\"adds a leverage indicator to the output data table that is set to 1 if the robust score distance exceeds its cutoff and 0 otherwise; the default variable name is Leverage\",\"help\":\"LEVERAGE &lt;=*name*&gt;\",\"type\":\"standaloneOrValue\"},{\"name\":\"NODEID\",\"optional\":true,\"description\":\"adds a node ID to the output data table that reveals which computer processes the observation; the default variable name is NodeId\",\"help\":\"NODEID &lt;=*name*&gt;\",\"type\":\"standaloneOrValue\"},{\"name\":\"OBSID\",\"optional\":true,\"description\":\"adds the automatically assigned observation ID to the output data table; the default variable name is ObsId\",\"help\":\"OBSID &lt;=*name*&gt;\",\"type\":\"standaloneOrValue\"},{\"name\":\"ORTHDIST\",\"optional\":true,\"description\":\"adds the orthogonal distance between the observation and the final subspace to the output data table; the default variable name is OrthDist\",\"help\":\"ORTHDIST &lt;=*name*&gt;\",\"type\":\"standaloneOrValue\"},{\"name\":\"OUTLIER\",\"optional\":true,\"description\":\"adds an outlier indicator to the output data table that is set to 1 if the orthogonal distance exceeds its cutoff and 0 otherwise; the default variable name is Outlier\",\"help\":\"OUTLIER &lt;=*name*&gt;\",\"type\":\"standaloneOrValue\"},{\"name\":\"SCORE\",\"optional\":true,\"description\":\"adds principal component scores for each principal component to the output data table; the default variable prefix is Score\",\"help\":\"SCORE &lt;=*prefix*&gt;\",\"type\":\"standaloneOrValue\"},{\"name\":\"SCOREDIST\",\"optional\":true,\"description\":\"adds the robust score distance to the output data table, which is the distance between the observation after being projected onto the final subspace and the robust location estimate of the subspace mean; the default variable name is ScoreDist\",\"help\":\"SCOREDIST &lt;=*name*&gt;\",\"type\":\"standaloneOrValue\"}]},{\"name\":\"VAR\",\"description\":\"lists the numeric variables to be analyzed; if you omit this statement, all numeric variables that are not specified in other statements are analyzed\",\"help\":\"VAR  variables;                                              \"}],\"supportSiteInformation\":{\"docsetId\":\"casstat\",\"docsetVersion\":\"latest\",\"docsetTargetFile\":\"casstat_mvoutlier_toc.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/MVPDIAGNOSE.json",
    "content": "{\"name\":\"MVPDIAGNOSE\",\"statements\":[{\"name\":\"PROC MVPDIAGNOSE\",\"description\":\"invokes the MVPDIAGNOSE procedure and specifies input data sets\",\"help\":\"PROC MVPDIAGNOSE <options>;                 \\n\\tBY  variables;                 \\n\\n\\tCONTRIBUTIONPANEL < / options>;                 \\n\\n\\tCONTRIBUTIONPLOT < / options>;                 \\n\\n\\tID  variables;                 \\n\\n\\tSCOREMATRIX < / options>;                 \\n\\n\\tSCOREPLOT < / options>;                 \\n\\n\\tTIME  variable;                 \\n\",\"arguments\":[{\"name\":\"DATA=\",\"optional\":true,\"description\":\"specifies an input SAS data set that contains process measurement data for a Phase II analysis; if you specify a DATA= data set, you must also specify a LOADINGS= data set but not specify a HISTORY= data set\",\"help\":\"DATA=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"HISTORY=\",\"optional\":true,\"description\":\"specifies an input SAS data set that contains process variable data that are augmented with principal component scores, multivariate summary statistics, and other calculated values; you cannot specify both the DATA= option and the HISTORY= option\",\"help\":\"HISTORY=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"LOADINGS=\",\"optional\":true,\"description\":\"specifies an input SAS data set that contains eigenvalues, principal component loadings, and process variable means and standard deviations that are used to compute principal component scores and multivariate summary statistics for a Phase II analysis\",\"help\":\"LOADINGS=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"MISSING=\",\"optional\":true,\"description\":\"specifies how observations that have missing process variable values in the DATA= data set are to be handled\",\"help\":\"MISSING=AVG | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"AVG\",\"description\":\"specifies that missing values for a given variable be replaced by the average of the nonmissing values for that variable\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"the default, excludes from the analysis any observation that has missing values for any of the process variables\",\"type\":\"standalone\"}]},{\"name\":\"PREFIX=\",\"optional\":true,\"description\":\"specifies the prefix that is used to identify variables that contain principal component scores in the HISTORY= data set; the default prefix is Prin\",\"help\":\"PREFIX=*name*\",\"type\":\"value\"},{\"name\":\"RPREFIX=\",\"optional\":true,\"description\":\"specifies the prefix that is used to identify variables that contain residuals in the HISTORY= data set; the default prefix is R_\",\"help\":\"RPREFIX=*name*\",\"type\":\"value\"}]},{\"name\":\"BY\",\"description\":\"produces separate analyses of observations in groups that are defined by the BY variables\",\"help\":\"BY  variables;                                              \"},{\"name\":\"CONTRIBUTIONPANEL\",\"description\":\"displays a paneled layout of the contribution plots for each observation in the input data set, up to a maximum specified by the MAXNPLOTS= option\",\"help\":\"CONTRIBUTIONPANEL &lt; / options&gt;;                                              \",\"arguments\":[{\"name\":\"MAXNPLOTS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the maximum number of contribution plots to be produced by the CONTRIBUTIONPANEL statement; the default is 50\",\"help\":\"MAXNPLOTS=*n*\",\"type\":\"value\"},{\"name\":\"MAXNVARS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the maximum number of process variable contributions to be displayed in the paneled layout; by default, all contributions are displayed\",\"help\":\"MAXNVARS=*n*\",\"type\":\"value\"},{\"name\":\"NCOLS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the number of columns in the panel layout\",\"help\":\"NCOLS=*c*\",\"type\":\"value\"},{\"name\":\"NROWS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the number of rows in the panel layout\",\"help\":\"NROWS=*r*\",\"type\":\"value\"},{\"name\":\"ODSFOOTNOTE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"adds a footnote to the plot\",\"help\":\"ODSFOOTNOTE=FOOTNOTE | '*string*'\",\"type\":\"value\",\"arguments\":[{\"name\":\"FOOTNOTE\",\"followsDelimiter\":\"/\",\"aliases\":[\"FOOTNOTE1\"],\"description\":\"uses the value of the SAS FOOTNOTE statement as the plot footnote\",\"type\":\"standalone\"}]},{\"name\":\"ODSFOOTNOTE2=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"adds a secondary footnote to the plot\",\"help\":\"ODSFOOTNOTE2=FOOTNOTE2 | '*string*'\",\"type\":\"value\",\"arguments\":[{\"name\":\"FOOTNOTE2\",\"followsDelimiter\":\"/\",\"description\":\"uses the value of the SAS FOOTNOTE2 statement as the secondary plot footnote\",\"type\":\"standalone\"}]},{\"name\":\"ODSTITLE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a title for the plot\",\"help\":\"ODSTITLE=TITLE | NONE | DEFAULT | '*string*'\",\"type\":\"value\",\"arguments\":[{\"name\":\"TITLE\",\"followsDelimiter\":\"/\",\"aliases\":[\"TITLE1\"],\"description\":\"uses the value of the SAS TITLE statement as the plot title\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"followsDelimiter\":\"/\",\"description\":\"suppresses all titles from the plot\",\"type\":\"standalone\"},{\"name\":\"DEFAULT\",\"followsDelimiter\":\"/\",\"description\":\"uses the default title\",\"type\":\"standalone\"}]},{\"name\":\"ODSTITLE2=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a secondary title for the plot\",\"help\":\"ODSTITLE2=TITLE2 | '*string*'\",\"type\":\"value\",\"arguments\":[{\"name\":\"TITLE2\",\"followsDelimiter\":\"/\",\"description\":\"uses the value of the SAS TITLE2 statement as the secondary plot title\",\"type\":\"standalone\"}]},{\"name\":\"TYPE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the type of contribution plots displayed\",\"help\":\"TYPE=SPE | TSQUARE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"SPE\",\"followsDelimiter\":\"/\",\"description\":\"bases the contribution plots on the SPE statistics, the default if a LOADINGS= data set is not provided\",\"type\":\"standalone\"},{\"name\":\"TSQUARE\",\"followsDelimiter\":\"/\",\"description\":\"bases the contribution plots on the statistics, the default if a LOADINGS= data set is provided; you must specify a LOADINGS= data set to create contribution plots\",\"type\":\"standalone\"}]}]},{\"name\":\"CONTRIBUTIONPLOT\",\"description\":\"produces a contribution plot for each observation in the input data set, up to a maximum that is specified by the MAXNPLOTS= option\",\"help\":\"CONTRIBUTIONPLOT &lt; / options&gt;;                                              \",\"arguments\":[{\"name\":\"MAXNPLOTS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the maximum number of contribution plots to be produced by the CONTRIBUTIONPLOT statement; the default is 50\",\"help\":\"MAXNPLOTS=*n*\",\"type\":\"value\"},{\"name\":\"MAXNVARS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that only the n contributions that have the greatest magnitudes be displayed in each plot; by default, all contributions are displayed\",\"help\":\"MAXNVARS=*n*\",\"type\":\"value\"},{\"name\":\"ODSFOOTNOTE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"adds a footnote to the plot\",\"help\":\"ODSFOOTNOTE=FOOTNOTE | '*string*'\",\"type\":\"value\",\"arguments\":[{\"name\":\"FOOTNOTE\",\"followsDelimiter\":\"/\",\"aliases\":[\"FOOTNOTE1\"],\"description\":\"uses the value of the SAS FOOTNOTE statement as the plot footnote\",\"type\":\"standalone\"}]},{\"name\":\"ODSFOOTNOTE2=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"adds a secondary footnote to the plot\",\"help\":\"ODSFOOTNOTE2=FOOTNOTE2 | '*string*'\",\"type\":\"value\",\"arguments\":[{\"name\":\"FOOTNOTE2\",\"followsDelimiter\":\"/\",\"description\":\"uses the value of the SAS FOOTNOTE2 statement as the secondary plot footnote\",\"type\":\"standalone\"}]},{\"name\":\"ODSTITLE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a title for the plot\",\"help\":\"ODSTITLE=TITLE | NONE | DEFAULT | '*string*'\",\"type\":\"value\",\"arguments\":[{\"name\":\"TITLE\",\"followsDelimiter\":\"/\",\"aliases\":[\"TITLE1\"],\"description\":\"uses the value of the SAS TITLE statement as the plot title\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"followsDelimiter\":\"/\",\"description\":\"suppresses all titles from the plot\",\"type\":\"standalone\"},{\"name\":\"DEFAULT\",\"followsDelimiter\":\"/\",\"description\":\"uses the default title\",\"type\":\"standalone\"}]},{\"name\":\"ODSTITLE2=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a secondary title for the plot\",\"help\":\"ODSTITLE2=TITLE2 | '*string*'\",\"type\":\"value\",\"arguments\":[{\"name\":\"TITLE2\",\"followsDelimiter\":\"/\",\"description\":\"uses the value of the SAS TITLE2 statement as the secondary plot title\",\"type\":\"standalone\"}]},{\"name\":\"TYPE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the type of contribution plot to be created\",\"help\":\"TYPE=SPE | TSQUARE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"SPE\",\"followsDelimiter\":\"/\",\"description\":\"specifies that the contribution plots be based on the SPE statistics, the default if a LOADINGS= data set is not provided\",\"type\":\"standalone\"},{\"name\":\"TSQUARE\",\"followsDelimiter\":\"/\",\"description\":\"specifies that the contribution plots be based on the statistics, the default if a LOADINGS= data set is provided; you must specify a LOADINGS= data set to create contribution plots\",\"type\":\"standalone\"}]}]},{\"name\":\"ID\",\"description\":\"specifies variables to display in tooltips when you create HTML output and specify the IMAGEMAP option in the ODS GRAPHICS statement; also, the first variable that is specified provides the labels for points in score plots\",\"help\":\"ID  variables;                                              \"},{\"name\":\"SCOREMATRIX\",\"description\":\"produces a matrix of score plots, each of which is a scatter plot of scores for a pair of principal components\",\"help\":\"SCOREMATRIX &lt; / options&gt;;                                              \",\"arguments\":[{\"name\":\"ALPHA=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the α value for prediction ellipses that are overlaid on the score plots.; the default is 0.05\",\"help\":\"ALPHA=*α*\",\"type\":\"value\"},{\"name\":\"ELLIPSE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"requests that prediction ellipses be overlaid on the score plots\",\"type\":\"standalone\"},{\"name\":\"GROUP=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a variable in the input data set that is used to group the points in the score plots\",\"help\":\"GROUP=*variable*\",\"type\":\"value\"},{\"name\":\"LABELS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies whether points in the score plots are labeled; the labels are the values of the first variable listed in the ID statement, or the observation number if no ID statement is specified\",\"help\":\"LABELS=ON | OFF\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ON\",\"followsDelimiter\":\"/\",\"description\":\"labels all points\",\"type\":\"standalone\"},{\"name\":\"OFF\",\"followsDelimiter\":\"/\",\"description\":\"the default, labels none of the points\",\"type\":\"standalone\"}]},{\"name\":\"NCOMP=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the number of principal components whose scores are plotted in the matrix; by default, the matrix contains score plots for all principal components\",\"help\":\"NCOMP=*n*\",\"type\":\"value\"},{\"name\":\"ODSFOOTNOTE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"adds a footnote to the plot\",\"help\":\"ODSFOOTNOTE=FOOTNOTE | '*string*'\",\"type\":\"value\",\"arguments\":[{\"name\":\"FOOTNOTE\",\"followsDelimiter\":\"/\",\"aliases\":[\"FOOTNOTE1\"],\"description\":\"uses the value of the SAS FOOTNOTE statement as the plot footnote\",\"type\":\"standalone\"}]},{\"name\":\"ODSFOOTNOTE2=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"adds a secondary footnote to the plot\",\"help\":\"ODSFOOTNOTE2=FOOTNOTE2 | '*string*'\",\"type\":\"value\",\"arguments\":[{\"name\":\"FOOTNOTE2\",\"followsDelimiter\":\"/\",\"description\":\"uses the value of the SAS FOOTNOTE2 statement as the secondary plot footnote\",\"type\":\"standalone\"}]},{\"name\":\"ODSTITLE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a title for the plot\",\"help\":\"ODSTITLE=TITLE | NONE | DEFAULT | '*string*'\",\"type\":\"value\",\"arguments\":[{\"name\":\"TITLE\",\"followsDelimiter\":\"/\",\"aliases\":[\"TITLE1\"],\"description\":\"uses the value of the SAS TITLE statement as the plot title\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"followsDelimiter\":\"/\",\"description\":\"suppresses all titles from the plot\",\"type\":\"standalone\"},{\"name\":\"DEFAULT\",\"followsDelimiter\":\"/\",\"description\":\"uses the default title\",\"type\":\"standalone\"}]},{\"name\":\"ODSTITLE2=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a secondary title for the plot\",\"help\":\"ODSTITLE2=TITLE2 | '*string*'\",\"type\":\"value\",\"arguments\":[{\"name\":\"TITLE2\",\"followsDelimiter\":\"/\",\"description\":\"uses the value of the SAS TITLE2 statement as the secondary plot title\",\"type\":\"standalone\"}]}]},{\"name\":\"SCOREPLOT\",\"description\":\"produces a single score plot, which is a scatter plot of the scores that are associated with a pair of principal components\",\"help\":\"SCOREPLOT &lt; / options&gt;;                                              \",\"arguments\":[{\"name\":\"ALPHA=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the α value for a prediction ellipse that is overlaid on the score plot; the default is 0.05\",\"help\":\"ALPHA=*α*\",\"type\":\"value\"},{\"name\":\"ELLIPSE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"requests that a prediction ellipse be overlaid on the principal component score plot\",\"type\":\"standalone\"},{\"name\":\"GROUP=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a variable in the input data set that is used to group the points in the score plot\",\"help\":\"GROUP=*variable*\",\"type\":\"value\"},{\"name\":\"LABELS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies which points in the score plot to label with the values of the first variable listed in the ID statement, or the observation number if no ID statement is specified\",\"help\":\"LABELS=ON | OFF | OUTSIDE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ON\",\"followsDelimiter\":\"/\",\"description\":\"the default, labels all points\",\"type\":\"standalone\"},{\"name\":\"OFF\",\"followsDelimiter\":\"/\",\"description\":\"suppresses all point labels\",\"type\":\"standalone\"},{\"name\":\"OUTSIDE\",\"followsDelimiter\":\"/\",\"description\":\"labels only the points outside the prediction ellipse, if you specify the ELLIPSE or ALPHA= option\",\"type\":\"standalone\"}]},{\"name\":\"ODSFOOTNOTE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"adds a footnote to the plot\",\"help\":\"ODSFOOTNOTE=FOOTNOTE | '*string*'\",\"type\":\"value\",\"arguments\":[{\"name\":\"FOOTNOTE\",\"followsDelimiter\":\"/\",\"aliases\":[\"FOOTNOTE1\"],\"description\":\"uses the value of the SAS FOOTNOTE statement as the plot footnote\",\"type\":\"standalone\"}]},{\"name\":\"ODSFOOTNOTE2=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"adds a secondary footnote to the plot\",\"help\":\"ODSFOOTNOTE2=FOOTNOTE2 | '*string*'\",\"type\":\"value\",\"arguments\":[{\"name\":\"FOOTNOTE2\",\"followsDelimiter\":\"/\",\"description\":\"uses the value of the SAS FOOTNOTE2 statement as the secondary plot footnote\",\"type\":\"standalone\"}]},{\"name\":\"ODSTITLE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a title for the plot\",\"help\":\"ODSTITLE=TITLE | NONE | DEFAULT | '*string*'\",\"type\":\"value\",\"arguments\":[{\"name\":\"TITLE\",\"followsDelimiter\":\"/\",\"aliases\":[\"TITLE1\"],\"description\":\"uses the value of the SAS TITLE statement as the plot title\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"followsDelimiter\":\"/\",\"description\":\"suppresses all titles from the plot\",\"type\":\"standalone\"},{\"name\":\"DEFAULT\",\"followsDelimiter\":\"/\",\"description\":\"uses the default title\",\"type\":\"standalone\"}]},{\"name\":\"ODSTITLE2=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a secondary title for the plot\",\"help\":\"ODSTITLE2=TITLE2 | '*string*'\",\"type\":\"value\",\"arguments\":[{\"name\":\"TITLE2\",\"followsDelimiter\":\"/\",\"description\":\"uses the value of the SAS TITLE2 statement as the secondary plot title\",\"type\":\"standalone\"}]},{\"name\":\"XCOMP=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies an integer x that identifies the principal component whose scores are plotted on the horizontal axis of the score plot; the default is 1\",\"help\":\"XCOMP=*x*\",\"type\":\"value\"},{\"name\":\"YCOMP=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies an integer y that identifies the principal component whose scores are plotted on the vertical axis of the score plot; the default is mod (x, j) + 1, where x is the value that is specified by the XCOMP= option and j is the number of principal components in the model\",\"help\":\"YCOMP=*y*\",\"type\":\"value\"}]},{\"name\":\"TIME\",\"description\":\"specifies a numeric variable that provides the chronological order or time values for measurements in the input data set; if you do not specify a TIME variable, the observation number from the input data set is used instead\",\"help\":\"TIME  variable;                                              \"}],\"supportSiteInformation\":{\"docsetId\":\"qcug\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"qcug_mvpdiagnose_toc.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/MVPMODEL.json",
    "content": "{\"name\":\"MVPMODEL\",\"statements\":[{\"name\":\"PROC MVPMODEL\",\"description\":\"invokes the MVPMODEL procedure and optionally identifies input and output data sets, specifies details of the analyses performed, and controls displayed output\",\"help\":\"PROC MVPMODEL <options>;                 \\n\\tBY  variables;                 \\n\\n\\tID  variables;                 \\n\\n\\tVAR  variables;                 \\n\",\"arguments\":[{\"name\":\"COV\",\"optional\":true,\"description\":\"computes the principal components from the covariance matrix instead of the correlation matrix\",\"type\":\"standalone\"},{\"name\":\"CV=\",\"optional\":true,\"description\":\"performs cross-validation to determine the number of principal components\",\"help\":\"CV=ONE | BLOCK &lt;(*cv-block-options*)&gt; | SPLIT &lt;(*cv-split-options*)&gt; | RANDOM &lt;(*cv-random-options*)&gt;\",\"type\":\"standaloneOrValue\",\"arguments\":[{\"name\":\"ONE\",\"description\":\"determines the number of principal components by performing one-at-a-time cross validation, in which each observation group contains one observation and each variable group contains one variable\",\"type\":\"standalone\"},{\"name\":\"BLOCK\",\"description\":\"determines the number of principal components by performing blocked cross validation, in which observation groups consist of blocks of nobs consecutive observations and variable groups consist of blocks of nvar consecutive variables\",\"help\":\"BLOCK &lt;(*cv-block-options*)&gt;\",\"type\":\"standaloneOrValue\",\"arguments\":[{\"name\":\"NOBS=\",\"description\":\"specifies that observation groups consist of blocks of nobs consecutive observations from the input data; the default is 7\",\"help\":\"NOBS=*nobs*\",\"type\":\"value\"},{\"name\":\"NVAR=\",\"description\":\"specifies that variable groups consist of blocks of nvar consecutive variables from the input data; the default is 7\",\"help\":\"NVAR=*nvar*\",\"type\":\"value\"}]},{\"name\":\"SPLIT\",\"description\":\"determines the number of principal components by performing split-sample cross validation, in which observation groups are formed by selecting every nobsth observation and variable groups are formed by selecting very nvarth variable\",\"help\":\"SPLIT &lt;(*cv-split-options*)&gt;\",\"type\":\"standaloneOrValue\",\"arguments\":[{\"name\":\"NOBS=\",\"description\":\"specifies that observation groups be created by selecting every nobsth observation from the input data; the default is 7\",\"help\":\"NOBS=*nobs*\",\"type\":\"value\"},{\"name\":\"NVAR=\",\"description\":\"specifies that variable groups be created by selecting every nvarth variable from the input data; the default is 7\",\"help\":\"NVAR=*nvar*\",\"type\":\"value\"}]},{\"name\":\"RANDOM\",\"description\":\"determines the number of principal components by performing cross validation in which observations and variables are assigned to groups randomly\",\"help\":\"RANDOM &lt;(*cv-random-options*)&gt;\",\"type\":\"standaloneOrValue\",\"arguments\":[{\"name\":\"NITEROBS=\",\"description\":\"specifies the number of observation groups; the default is 10\",\"help\":\"NITEROBS=*nogrp*\",\"type\":\"value\"},{\"name\":\"NITERVAR=\",\"description\":\"specifies the number of variable groups; the default is 10\",\"help\":\"NITERVAR=*nvgrp*\",\"type\":\"value\"},{\"name\":\"NTESTOBS=\",\"description\":\"specifies the number of observations in each observation group; the default is one-tenth the total number of observations\",\"help\":\"NTESTOBS=*nobs*\",\"type\":\"value\"},{\"name\":\"NTESTVAR=\",\"description\":\"specifies the number of variables in each variable group; the default is one-tenth the total number of variables\",\"help\":\"NTESTVAR=*nvar*\",\"type\":\"value\"},{\"name\":\"SEED=\",\"description\":\"specifies an integer used to start the pseudorandom number generator for selecting the random test set; by default, the seed is generated by reading the time of day from the computer's clock\",\"help\":\"SEED=*n*\",\"type\":\"value\"}]}]},{\"name\":\"DATA=\",\"optional\":true,\"description\":\"specifies the input SAS data set to be analyzed; by default, the procedure uses the most recently created SAS data set\",\"help\":\"DATA=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"MISSING=\",\"optional\":true,\"description\":\"specifies how observations with missing values are to be handled in computing the fit\",\"help\":\"MISSING=AVG | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"AVG\",\"description\":\"specifies that the fit be computed by replacing missing values of a process variable with the average of its nonmissing values\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"the default, excludes observations with missing values for any process variables from the analysis\",\"type\":\"standalone\"}]},{\"name\":\"NCOMP=\",\"optional\":true,\"description\":\"specifies the number of principal components to extract; the default is min {15,p,N}, where p is the number of process variables and N is the number of observations (runs)\",\"help\":\"NCOMP=*n* | ALL\",\"type\":\"value\",\"arguments\":[{\"name\":\"ALL\",\"description\":\"extracts all of the principal components and overrides the limit of 15 principal components\",\"type\":\"standalone\"}]},{\"name\":\"NOCENTER\",\"optional\":true,\"description\":\"suppresses centering of the process variables before fitting; this is useful if the variables are already centered and scaled\",\"type\":\"standalone\"},{\"name\":\"NOCVSTDIZE\",\"optional\":true,\"description\":\"suppresses re-centering and rescaling of the process variables before each model is fit in the cross validation\",\"type\":\"standalone\"},{\"name\":\"NOPRINT\",\"optional\":true,\"description\":\"suppresses the display of all results, both tabular and graphical; this is useful when you want to produce only output data sets\",\"type\":\"standalone\"},{\"name\":\"NOSCALE\",\"optional\":true,\"description\":\"suppresses scaling of the process variables before fitting; this is useful if the variables are already centered and scaled\",\"type\":\"standalone\"},{\"name\":\"OUT=\",\"optional\":true,\"description\":\"creates an output data set that contains all the original data from the input data set, principal component scores, and multivariate summary statistics\",\"help\":\"OUT=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"OUTLOADINGS=\",\"optional\":true,\"description\":\"creates an output data set that contains the loadings for the principal components and the eigenvalues of the correlation (or covariance) matrix\",\"help\":\"OUTLOADINGS=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"PLOTS\",\"optional\":true,\"description\":\"controls the plots produced through ODS Graphics; when you specify only one plot request, you can omit the parentheses around the plot request\",\"help\":\"PLOTS &lt;(*global-plot-opt)*&lt;=(*plot-request*&lt;(*options*)&gt;&lt;...*plot-request*&lt;(*options*)&gt;&gt;)&gt;&gt;\",\"type\":\"standaloneOrValue\",\"arguments\":[{\"name\":\"FLIP\",\"description\":\"interchanges the X-axis and Y-axis dimensions for all score and loading plots\",\"type\":\"standalone\"},{\"name\":\"NCOMP=\",\"description\":\"specifies that pairwise score and loading plots be produced for the first n principal components; the default is 5 or the total number of components, whichever is smaller\",\"help\":\"NCOMP=*n*\",\"type\":\"value\"},{\"name\":\"ONLY\",\"description\":\"suppresses the default plots and displays only plots that are specifically requested\",\"type\":\"standalone\"},{\"name\":\"ALL\",\"description\":\"produces all appropriate plots\",\"type\":\"standalone\"},{\"name\":\"CVPLOT\",\"description\":\"produces a plot that displays the results of the cross validation and R-square analysis\",\"type\":\"standalone\"},{\"name\":\"LOADINGS\",\"description\":\"produces a matrix of pairwise scatter plots of the principal component loadings\",\"help\":\"LOADINGS &lt;(*loading-options*)&gt;\",\"type\":\"standaloneOrValue\",\"arguments\":[{\"name\":\"FLIP\",\"description\":\"flips or interchanges the X-axis and Y-axis dimensions of the loading plots\",\"type\":\"standalone\"},{\"name\":\"NCOMP=\",\"description\":\"specifies that pairwise loading plots be produced for the first n principal components\",\"help\":\"NCOMP=*n*\",\"type\":\"value\"},{\"name\":\"UNPACKPANEL\",\"aliases\":[\"UNPACK\"],\"description\":\"suppresses paneling of loading plots\",\"type\":\"standalone\"}]},{\"name\":\"NONE\",\"description\":\"suppresses the display of all plots\",\"type\":\"standalone\"},{\"name\":\"SCORES\",\"description\":\"produces pairwise scatter plots of the principal component scores\",\"help\":\"SCORES &lt;(*score-options*)&gt;\",\"type\":\"standaloneOrValue\",\"arguments\":[{\"name\":\"ALPHA=\",\"description\":\"specifies the probability used to compute a prediction ellipse that is overlaid on the score plot; the default is 0.05\",\"help\":\"ALPHA=*value*\",\"type\":\"value\"},{\"name\":\"ELLIPSE\",\"description\":\"requests that a prediction ellipse be overlaid on the principal component score plots\",\"type\":\"standalone\"},{\"name\":\"FLIP\",\"description\":\"flips or interchanges the X-axis and Y-axis dimensions of the score plots\",\"type\":\"standalone\"},{\"name\":\"GROUP=\",\"description\":\"specifies a variable in the input data set used to group the points on the score plots\",\"help\":\"GROUP=*variable*\",\"type\":\"value\"},{\"name\":\"LABELS=\",\"description\":\"specifies which points in the score plots to label with the values of the first variable listed in the ID statement, or the observation number if no ID statement is specified\",\"help\":\"LABELS=ON | OFF | OUTSIDE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ON\",\"description\":\"the default if you specify UNPACKPANEL, labels all points\",\"type\":\"standalone\"},{\"name\":\"OFF\",\"description\":\"the default if you do not specify UNPACKPANEL, labels none of the points\",\"type\":\"standalone\"},{\"name\":\"OUTSIDE\",\"description\":\"labels only the points outside the confidence ellipse, if you specify the ELLIPSE and UNPACKPANEL options\",\"type\":\"standalone\"}]},{\"name\":\"NCOMP=\",\"description\":\"specifies that pairwise score plots be produced for the first n principal components\",\"help\":\"NCOMP=*n*\",\"type\":\"value\"},{\"name\":\"UNPACKPANEL\",\"description\":\"displays each score plot in a separate panel instead of displaying them all in a single output panel\",\"type\":\"standalone\"}]},{\"name\":\"SCREE\",\"aliases\":[\"EIGEN\",\"EIGENVALUE\"],\"description\":\"produces a scree plot of eigenvalues and a variance-explained plot\",\"help\":\"SCREE &lt;(UNPACKPANEL)&gt;\",\"type\":\"standaloneOrValue\",\"arguments\":[{\"name\":\"UNPACKPANEL\",\"aliases\":[\"UNPACK\"],\"description\":\"displays the scree plot of eigenvalues and variance-explained plot in separate panels rather than a single output panel\",\"type\":\"standalone\"}]}]},{\"name\":\"PREFIX=\",\"optional\":true,\"description\":\"specifies a prefix for naming the principal component scores in the OUT= data set; by default, the names are Prin1, Prin2,..., Prinj\",\"help\":\"PREFIX=*name*\",\"type\":\"value\"},{\"name\":\"RPREFIX=\",\"optional\":true,\"description\":\"specifies a prefix for naming the residual variables in the OUT= data set; the default is R_\",\"help\":\"RPREFIX=*name*\",\"type\":\"value\"},{\"name\":\"STDSCORES\",\"optional\":true,\"description\":\"standardizes the principal component scores in the OUT= data set to unit variance\",\"type\":\"standalone\"}]},{\"name\":\"BY\",\"description\":\"produces separate analyses of observations in groups that are defined by the BY variables\",\"help\":\"BY  variables;                                              \"},{\"name\":\"ID\",\"description\":\"specifies variables to display in tooltips when you create HTML output and specify the IMAGEMAP option in the ODS GRAPHICS statement; also, the first variable is used to label observations in score plots for principal components\",\"help\":\"ID  variables;                                              \"},{\"name\":\"VAR\",\"description\":\"specifies the process variables and their order in the results; by default, if you omit the VAR statement, the MVPMODEL procedure analyzes all numeric variables that are not listed in the BY or ID statement\",\"help\":\"VAR  variables;                                              \"}],\"supportSiteInformation\":{\"docsetId\":\"qcug\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"qcug_mvpmodel_toc.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/MVPMONITOR.json",
    "content": "{\"name\":\"MVPMONITOR\",\"statements\":[{\"name\":\"PROC MVPMONITOR\",\"description\":\"invokes the MVPMONITOR procedure and specifies input and output data sets\",\"help\":\"PROC MVPMONITOR <options>;                 \\n\\tBY  variables;                 \\n\\n\\tID variables;                 \\n\\n\\tSERIES variable;                 \\n\\n\\tSCORECHART < / options>;                 \\n\\n\\tSPECHART < / options>;                 \\n\\n\\tTIME  variable;                 \\n\\n\\tTSQUARECHART < / options>;                 \\n\",\"arguments\":[{\"name\":\"DATA=\",\"optional\":true,\"description\":\"specifies an input SAS data set that contains process measurement data for a Phase II analysis\",\"help\":\"DATA=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"HISTORY=\",\"optional\":true,\"description\":\"specifies an input SAS data set that contains process variable data augmented with principal component scores, multivariate summary statistics, and other calculated values\",\"help\":\"HISTORY=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"LOADINGS=\",\"optional\":true,\"description\":\"specifies an input SAS data set that contains eigenvalues, principal component loadings, and process variable means and standard deviations that are used to compute principal component scores and multivariate summary statistics for a Phase II analysis\",\"help\":\"LOADINGS=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"MISSING=\",\"optional\":true,\"description\":\"specifies how to handle observations that have missing process variable values in the DATA= data set\",\"help\":\"MISSING=AVG | NONE\",\"type\":\"choice\"},{\"name\":\"OUTHISTORY=\",\"optional\":true,\"aliases\":[\"OUT=\"],\"description\":\"creates an output data set that contains all the original data from the input data set, principal component scores, and multivariate summary statistics\",\"help\":\"OUTHISTORY=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"PREFIX=\",\"optional\":true,\"description\":\"specifies the prefix to use to identify variables that contain principal component scores in the HISTORY= data set\",\"help\":\"PREFIX=*name*\",\"type\":\"value\"},{\"name\":\"RPREFIX=\",\"optional\":true,\"description\":\"specifies the prefix to use to identify variables that contain residuals in the HISTORY= data set\",\"help\":\"RPREFIX=*name*\",\"type\":\"value\"},{\"name\":\"TABLE=\",\"optional\":true,\"description\":\"specifies an input SAS data set that contains summary information from a score chart, SPE chart, or chart\",\"help\":\"TABLE=*SAS-data-set*\",\"type\":\"dataSet\"}]},{\"name\":\"BY\",\"description\":\"produces separate analyses of observations in groups that are defined by the BY variables\",\"help\":\"BY  variables;                                              \"},{\"name\":\"ID\",\"description\":\"The values of the ID variables are displayed in tooltips associated with points on a or SPE chart when you create HTML output and specify the IMAGEMAP option in the ODS GRAPHICS statement\",\"help\":\"ID *variables*;                                              \"},{\"name\":\"SERIES\",\"description\":\"The SERIES variable uniquely identifies a series of observations in the input data set to be plotted in a control chart\",\"help\":\"SERIES *variable*;                                              \"},{\"name\":\"SCORECHART\",\"description\":\"produces univariate control charts of principal component scores\",\"help\":\"SCORECHART &lt; / options&gt;;                                              \",\"arguments\":[{\"name\":\"EXCHART\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that a score chart be displayed only if there are points lying outside the control limits\",\"type\":\"standalone\"},{\"name\":\"INTERVAL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the time interval between consecutive positions on a score chart\",\"help\":\"INTERVAL=DAY | DTDAY | HOUR | MINUTE | MONTH | QTR | SECOND\",\"type\":\"choice\"},{\"name\":\"NOCHART\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses creation of score charts\",\"type\":\"standalone\"},{\"name\":\"NOHLABEL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses the horizontal axis label of a score chart\",\"type\":\"standalone\"},{\"name\":\"NOVLABEL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses the vertical axis label of a score chart\",\"type\":\"standalone\"},{\"name\":\"NPANELPOS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the number of horizontal axis plotting positions per panel\",\"help\":\"NPANELPOS=*n*\",\"type\":\"value\"},{\"name\":\"ODSFOOTNOTE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"adds a footnote to a score chart\",\"help\":\"ODSFOOTNOTE=FOOTNOTE | FOOTNOTE1 | '*string*'\",\"type\":\"value\"},{\"name\":\"ODSFOOTNOTE2=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"adds a secondary footnote to a score chart\",\"help\":\"ODSFOOTNOTE2=FOOTNOTE2 | '*string*'\",\"type\":\"value\"},{\"name\":\"ODSTITLE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a title for a score chart\",\"help\":\"ODSTITLE=TITLE | TITLE1 | NONE | DEFAULT | '*string*'\",\"type\":\"value\"},{\"name\":\"ODSTITLE2=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a secondary title for a score chart\",\"help\":\"ODSTITLE2=TITLE2 | '*string*'\",\"type\":\"value\"},{\"name\":\"OUTTABLE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"creates a SAS data set that contains a summary of a score chart\",\"help\":\"OUTTABLE=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"SERIESVALUE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies SERIES variable values that select sequences to be plotted\",\"help\":\"SERIESVALUE=*value-list*\",\"type\":\"value\"},{\"name\":\"TOTPANELS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the number of panels used to display a score chart\",\"help\":\"TOTPANELS=*n*\",\"type\":\"value\"},{\"name\":\"COMP=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the principal components whose scores are plotted\",\"help\":\"COMP=*value-list* | ALL\",\"type\":\"value\"},{\"name\":\"OVERLAY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"requests that multiple sequences of principal component scores be overlaid on a single control chart\",\"help\":\"OVERLAY=COMP | SERIES\",\"type\":\"choice\"},{\"name\":\"SIGMAS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the width of the control limits in terms of the multiple k of a score's standard deviation\",\"help\":\"SIGMAS=*k*\",\"type\":\"value\"}]},{\"name\":\"SPECHART\",\"description\":\"produces a control chart of the squared prediction error (SPE) statistics based on a principal component model that the MVPMODEL procedure computes\",\"help\":\"SPECHART &lt; / options&gt;;                                              \",\"arguments\":[{\"name\":\"ALPHA=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the probability used to compute SPE chart limits\",\"help\":\"ALPHA=*value*\",\"type\":\"value\"},{\"name\":\"CONTRIBUTIONS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"creates contribution plots for points outside control limits\",\"help\":\"CONTRIBUTIONS&lt;(options)&gt;\",\"type\":\"standaloneOrValue\",\"arguments\":[{\"name\":\"MAXNPLOTS=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the maximum number of contribution plots to produce\",\"help\":\"MAXNPLOTS=*n*\",\"type\":\"value\"},{\"name\":\"MAXNVARS=\",\"followsDelimiter\":\"/\",\"description\":\"specifies that only the n contributions with the greatest magnitudes be displayed in the contribution plots\",\"help\":\"MAXNVARS=*n*\",\"type\":\"value\"}]},{\"name\":\"EXCHART\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that an SPE chart be displayed only if there are points lying outside control limits\",\"type\":\"standalone\"},{\"name\":\"INTERVAL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the time interval between consecutive positions on an SPE chart\",\"help\":\"INTERVAL=DAY | DTDAY | HOUR | MINUTE | MONTH | QTR | SECOND\",\"type\":\"choice\"},{\"name\":\"NOCHART\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses creation of an SPE chart\",\"type\":\"standalone\"},{\"name\":\"NOHLABEL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses the horizontal axis label of an SPE chart\",\"type\":\"standalone\"},{\"name\":\"NOVLABEL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses the vertical axis label of an SPE chart\",\"type\":\"standalone\"},{\"name\":\"NPANELPOS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the number of horizontal axis plotting positions per panel\",\"help\":\"NPANELPOS=*n*\",\"type\":\"value\"},{\"name\":\"ODSFOOTNOTE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"adds a footnote to an SPE chart\",\"help\":\"ODSFOOTNOTE=FOOTNOTE | FOOTNOTE1 | '*string*'\",\"type\":\"value\"},{\"name\":\"ODSFOOTNOTE2=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"adds a secondary footnote to an SPE chart\",\"help\":\"ODSFOOTNOTE2=FOOTNOTE2 | '*string*'\",\"type\":\"value\"},{\"name\":\"ODSTITLE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a title for an SPE chart\",\"help\":\"ODSTITLE=TITLE | TITLE1 | NONE | DEFAULT | '*string*'\",\"type\":\"value\"},{\"name\":\"ODSTITLE2=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a secondary title for an SPE chart\",\"help\":\"ODSTITLE2=TITLE2 | '*string*'\",\"type\":\"value\"},{\"name\":\"OUTTABLE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"creates a SAS data set that contains a summary of an SPE chart\",\"help\":\"OUTTABLE=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"OVERLAY\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that separate sequences of observations be plotted in a single SPE chart\",\"type\":\"standalone\"},{\"name\":\"SERIESVALUE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies SERIES variable values selecting sequences to be plotted\",\"help\":\"SERIESVALUE=*value-list*\",\"type\":\"value\"},{\"name\":\"TOTPANELS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the number of panels used to display an SPE chart\",\"help\":\"TOTPANELS=*n*\",\"type\":\"value\"}]},{\"name\":\"TIME\",\"description\":\"The TIME variable is a numeric variable that provides the chronological order or time values for measurements in a DATA=, HISTORY=, or TABLE= input data set\",\"help\":\"TIME  variable;                                              \"},{\"name\":\"TSQUARECHART\",\"description\":\"produces a chart based on a principal component model that the MVPMODEL procedure computes\",\"help\":\"TSQUARECHART &lt; / options&gt;;                                              \",\"arguments\":[{\"name\":\"ALPHA=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the probability used to compute chart limits\",\"help\":\"ALPHA=*value*\",\"type\":\"value\"},{\"name\":\"CONTRIBUTIONS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"creates contribution plots for points outside the control limits\",\"help\":\"CONTRIBUTIONS&lt;(options)&gt;\",\"type\":\"standaloneOrValue\",\"arguments\":[{\"name\":\"MAXNPLOTS=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the maximum number of contribution plots to produce\",\"help\":\"MAXNPLOTS=*n*\",\"type\":\"value\"},{\"name\":\"MAXNVARS=\",\"followsDelimiter\":\"/\",\"description\":\"specifies that only the n contributions with the greatest magnitudes be displayed in the contribution plots\",\"help\":\"MAXNVARS=*n*\",\"type\":\"value\"}]},{\"name\":\"EXCHART\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that a chart be displayed only if there are points lying outside the control limits\",\"type\":\"standalone\"},{\"name\":\"INTERVAL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the time interval between consecutive positions on a chart\",\"help\":\"INTERVAL=DAY | DTDAY | HOUR | MINUTE | MONTH | QTR | SECOND\",\"type\":\"choice\"},{\"name\":\"NOCHART\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses creation of a chart\",\"type\":\"standalone\"},{\"name\":\"NOHLABEL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses the horizontal axis label of a chart\",\"type\":\"standalone\"},{\"name\":\"NOVLABEL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses the vertical axis label of a chart\",\"type\":\"standalone\"},{\"name\":\"NPANELPOS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the number of horizontal axis plotting positions per panel\",\"help\":\"NPANELPOS=*n*\",\"type\":\"value\"},{\"name\":\"ODSFOOTNOTE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"adds a footnote to a chart\",\"help\":\"ODSFOOTNOTE=FOOTNOTE | FOOTNOTE1 | '*string*'\",\"type\":\"value\"},{\"name\":\"ODSFOOTNOTE2=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"adds a secondary footnote to a chart\",\"help\":\"ODSFOOTNOTE2=FOOTNOTE2 | '*string*'\",\"type\":\"value\"},{\"name\":\"ODSTITLE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a title for a chart\",\"help\":\"ODSTITLE=TITLE | TITLE1 | NONE | DEFAULT | '*string*'\",\"type\":\"value\"},{\"name\":\"ODSTITLE2=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a secondary title for a chart\",\"help\":\"ODSTITLE2=TITLE2 | '*string*'\",\"type\":\"value\"},{\"name\":\"OUTTABLE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"creates a SAS data set that contains a summary of a chart\",\"help\":\"OUTTABLE=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"OVERLAY\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that separate sequences of observations be plotted on a single chart\",\"type\":\"standalone\"},{\"name\":\"SERIESVALUE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies SERIES variable values selecting sequences to be plotted\",\"help\":\"SERIESVALUE=*value-list*\",\"type\":\"value\"},{\"name\":\"TOTPANELS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the number of panels used to display a chart\",\"help\":\"TOTPANELS=*n*\",\"type\":\"value\"},{\"name\":\"LIMITDIST=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the distribution that is used to compute control limits for the chart\",\"help\":\"LIMITDIST=BETA | CHISQ | F\",\"type\":\"choice\"}]}],\"supportSiteInformation\":{\"docsetId\":\"qcug\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"qcug_mvpmonitor_toc.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/MWPCA.json",
    "content": "{\"name\":\"MWPCA\",\"statements\":[{\"name\":\"PROC MWPCA\",\"description\":\"The MWPCA procedure implements moving windows robust principal component analysis. You can use this procedure to capture changes in principal components over time by using sliding windows. Also, you can choose to perform robust principal component analysis on each window; that is, the outliers and noise would be excluded from each window before the analysis is performed. † One important application of MWPCA is for detecting relative changes in parts of a system compared to the overall system. By tracing the principal components over time, you can determine whether significant changes in the principal components can be a cause for concern.\",\"help\":\"PROC MWPCA <CENTER><DATA=CAS-libref.data-table><NTHREADS=number-of-threads><ROBUST><STEPSIZE=number><WINDOWSIZE=number>;     \\n\\tDISPLAY <CASESENSITIVE><EXCLUDE><EXCLUDEALL> ...;\\n\\n\\tDISPLAYOUT <NOREPLACE><REPEATED> ;\\n\\n\\tID variable;\\n\\n\\tINPUT variables;\\n\\n\\tOUTPUT <NPC=number><OUT=CAS-libref.data-table><STANDARDPC> ...;\\n\\n\\tRPCA <FIXEDMU><LAMBDA=number specifies a value for ƛ, where number is a positive real number.><LAMBDAWEIGHT=number> ...;\\n\\n\\tSVD <MAXRANK=number> ;\\n\",\"arguments\":[{\"name\":\"CENTER\",\"optional\":true,\"description\":\"Centers the observations by the mean of each column for each window.\",\"type\":\"standalone\"},{\"name\":\"DATA=\",\"optional\":true,\"description\":\"Names the input data table for PROC MWPCA to use. The default is the most recently created data table. CAS-libref.data-table is a two-level name, where\",\"help\":\"DATA=*CAS-libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"NTHREADS=\",\"optional\":true,\"description\":\"Specifies the number of threads to use in the computation. The default value is the lesser of the number of threads available per computation node and 16.\",\"help\":\"NTHREADS=*number-of-threads*\",\"type\":\"value\"},{\"name\":\"ROBUST\",\"optional\":true,\"description\":\"Uses the robust principal component analysis (RPCA) method to obtain principal components for each window. You can specify the RPCA options in the RPCA Statement.\",\"type\":\"standalone\"},{\"name\":\"STEPSIZE=\",\"optional\":true,\"description\":\"Specifies the step size, which is the number of observations between the beginnings of two consecutive windows. This option is required.\",\"help\":\"STEPSIZE=*number*\",\"type\":\"value\"},{\"name\":\"WINDOWSIZE=\",\"optional\":true,\"description\":\"Specifies the number of observations in each window. This option is required.\",\"help\":\"WINDOWSIZE=*number*\",\"type\":\"value\"}]},{\"name\":\"DISPLAY\",\"description\":\"The DISPLAY statement enables you to specify a list of display tables to display or exclude. This statement is similar to the ODS SELECT, ODS EXCLUDE, and ODS TRACE statements. However, the DISPLAY statement can improve performance when a large number of tables could be generated (such as in BY-group processing). The procedure processes the DISPLAY statement on a CAS server and thus sends only a subset of ODS tables to the SAS client. Because ODS statements are processed on a SAS client, all the display tables generated are first sent to the client and then the client creates a subset. If both DISPLAY and ODS statements are used together, the DISPLAY statement takes precedence over the ODS statements.\",\"help\":\"DISPLAY &lt;CASESENSITIVE&gt;&lt;EXCLUDE&gt;&lt;EXCLUDEALL&gt; ...\",\"arguments\":[{\"name\":\"CASESENSITIVE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Performs a case-sensitive comparison of table names in the table-list to display table names when tables are subsetted for display. To preserve case, you must enclose table names in the table-list in quotation marks.\",\"type\":\"standalone\"},{\"name\":\"EXCLUDE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays all display tables except those specified in the table-list.\",\"type\":\"standalone\"},{\"name\":\"EXCLUDEALL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Suppresses display of all tables. This option takes precedence over the other options.\",\"type\":\"standalone\"},{\"name\":\"TRACE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays the display table names, labels, and paths.\",\"type\":\"standalone\"}]},{\"name\":\"DISPLAYOUT\",\"description\":\"The DISPLAYOUT statement enables you to create CAS output tables from your displayed output. This statement is similar to the ODS OUTPUT statement. The table-spec-list specifies a list of CAS output tables to create. Each entry in the list has either a key or a key=value format: key=value specifies key as the ODS table name, path, or partial pathname, and specifies value as the CAS output table name. key specifies key as the ODS table name and also as the CAS output table name. Table names and partial pathnames are discussed under the DISPLAY statement. The DISPLAYOUT statement does not support regular expressions.\",\"help\":\"DISPLAYOUT &lt;NOREPLACE&gt;&lt;REPEATED&gt;\",\"arguments\":[{\"name\":\"NOREPLACE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Does not replace an existing CAS output table of the same name.\",\"type\":\"standalone\"},{\"name\":\"REPEATED\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Replicates the CAS output tables on all nodes.\",\"type\":\"standalone\"}]},{\"name\":\"ID\",\"description\":\"The ID statement lists one variable from the data set that specifies the order of the observations in the input data set. This variable is not being considered as part of the analysis to compute the principal components. Also, the values of variable should be unique with common difference.\",\"help\":\"ID variable\"},{\"name\":\"INPUT\",\"description\":\"The INPUT statement specifies the names of variables to be considered in the MWPCA procedure. Only numeric variables are accepted. If you do not specify the INPUT Statement, all numeric variables in the input data set (except the one used in the ID Statement statement) are considered.\",\"help\":\"INPUT variables\"},{\"name\":\"OUTPUT\",\"description\":\"The OUTPUT statement creates an output data table to contain the results of the procedure run.\",\"help\":\"OUTPUT &lt;NPC=number&gt;&lt;OUT=CAS-libref.data-table&gt;&lt;STANDARDPC&gt; ...\",\"arguments\":[{\"name\":\"NPC=\",\"optional\":true,\"description\":\"Specifies the number of principal components to display for each window.\",\"help\":\"NPC=*number*\",\"type\":\"value\"},{\"name\":\"OUT=\",\"optional\":true,\"description\":\"Names the output data table for PROC MWPCA to use. You must specify this option before any other options. CAS-libref.data-table is a two-level name, where CAS-libref refers to a collection of information that is defined in the LIBNAME statement and includes the caslib, which includes a path to where the data table is to be stored, and a session identifier, which defaults to the active session but which can be explicitly defined in the LIBNAME statement.\",\"help\":\"OUT=*CAS-libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"STANDARDPC\",\"optional\":true,\"description\":\"Standardizes the output principal components.\",\"type\":\"standalone\"}]},{\"name\":\"RPCA\",\"description\":\"If you specify the ROBUST option in the PROC MWPCA statement, then you can use this statement to specify the following RPCA options: FIXEDMU LAMBDA= LAMBDAWEIGHT= MAXITER= METHOD= MU= TOLERANCE=\",\"help\":\"RPCA &lt;FIXEDMU&gt;&lt;LAMBDA=number specifies a value for ƛ, where number is a positive real number.&gt;&lt;LAMBDAWEIGHT=number&gt; ...\",\"arguments\":[{\"name\":\"FIXEDMU\",\"optional\":true,\"description\":\"If specified, uses a fixed value for µ in each iteration of RPCA when METHOD=APG. Otherwise, is updated dynamically in each iteration.\",\"type\":\"standalone\"},{\"name\":\"LAMBDA=\",\"optional\":true,\"description\":\"Syntax: LAMBDA=number specifies a value for ƛ, where number is a positive real number.\",\"type\":\"value\"},{\"name\":\"LAMBDAWEIGHT=\",\"optional\":true,\"description\":\"Specifies the value of ƛweight. The final value of the ƛ that is used in the RPCA algorithm is calculated by multiplying ƛweigth by ƛ. You can use this value to control the sparsity of the sparse matrix.\",\"help\":\"LAMBDAWEIGHT=*number*\",\"type\":\"value\"},{\"name\":\"MAXITER=\",\"optional\":true,\"description\":\"Specifies the maximum number of iterations before the RPCA algorithm stops, where number is a positive integer. By default, MAXITER=1000.\",\"help\":\"MAXITER=*number*\",\"type\":\"value\"},{\"name\":\"METHOD=\",\"optional\":true,\"description\":\"Specifies the method to perform RPCA. By default, METHOD=ALM.\",\"help\":\"METHOD=ALM | APG\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ALM\",\"description\":\"Specifies the augmented Lagrange multiplier method.\",\"type\":\"standalone\"},{\"name\":\"APG\",\"description\":\"Specifies the accelerated proximal gradient method.\",\"type\":\"standalone\"}]},{\"name\":\"MU=\",\"optional\":true,\"description\":\"Specifies an initial value of µ when METHOD=APG. By default, MU= 10^-3.\",\"help\":\"MU=*number*\",\"type\":\"value\"},{\"name\":\"TOLERANCE=\",\"optional\":true,\"description\":\"Specifies the convergence criterion for the RPCA algorithm on each window. By default, TOLERANCE=10^-7.\",\"help\":\"TOLERANCE=*number*\",\"type\":\"value\"}]},{\"name\":\"SVD\",\"description\":\"To calculate the principal components for each window, a singular value decomposition (SVD) solver is called.\",\"help\":\"SVD &lt;MAXRANK=number&gt;\",\"arguments\":[{\"name\":\"MAXRANK=\",\"optional\":true,\"description\":\"Specifies the maximum value for rank considered by the SVD solver. By default, number is the number of input variables.\",\"help\":\"MAXRANK=*number*\",\"type\":\"value\"}]}],\"supportSiteInformation\":{\"docsetId\":\"casml\",\"docsetVersion\":\"latest\",\"docsetTargetFile\":\"casml_mwpca_toc.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/NESTED.json",
    "content": "{\"name\":\"NESTED\",\"statements\":[{\"name\":\"PROC NESTED\",\"description\":\"The NESTED procedure performs random-effects analysis of variance for data from an experiment with a nested (hierarchical) structure. † Note that PROC NESTED is appropriate for models with only classification effects; it does not handle models that contain continuous covariates. For random effects models with covariates, use either the GLM or MIXED procedure.\",\"help\":\"PROC NESTED <AOV><DATA=SAS-data-set>;     \\n\\tBY <DESCENDING><NOTSORTED> ;\\n\\n\\tCLASS <TRUNCATE> ;\\n\\n\\tVAR variables ;\\n\",\"arguments\":[{\"name\":\"AOV\",\"optional\":true,\"description\":\"Displays only the analysis of variance statistics when there is more than one dependent variable. The \\\"analysis of covariation\\\" statistics are suppressed\",\"type\":\"standalone\"},{\"name\":\"DATA=\",\"optional\":true,\"description\":\"Names the SAS data set to be used by PROC NESTED. By default, the procedure uses the most recently created SAS data set.\",\"help\":\"DATA=*SAS-data-set*\",\"type\":\"dataSet\"}]},{\"name\":\"BY\",\"description\":\"Obtains separate analyses on observations in groups defined by the BY variables.\",\"help\":\"BY &lt;DESCENDING&gt;&lt;NOTSORTED&gt;\",\"arguments\":[{\"name\":\"DESCENDING\",\"optional\":true,\"description\":\"Specifies that the observations are sorted in descending order by the variable that immediately follows the word DESCENDING in the BY statement.\",\"type\":\"standalone\"},{\"name\":\"NOTSORTED\",\"optional\":true,\"description\":\"Specifies that observations are not necessarily sorted in alphabetic or numeric order.\",\"type\":\"standalone\"}]},{\"name\":\"CLASS\",\"aliases\":[\"CLASSES\"],\"description\":\"You must include a CLASS statement with PROC NESTED specifying the classification variables for the analysis.\",\"help\":\"CLASS &lt;TRUNCATE&gt;\",\"arguments\":[{\"name\":\"TRUNCATE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies that class levels should be determined by using no more than the first 16 characters of the formatted values of CLASS variables.\",\"type\":\"standalone\"}]},{\"name\":\"VAR\",\"description\":\"The VAR statement lists the dependent variables for the analysis. The dependent variables must be numeric variables. If you do not specify a VAR statement, PROC NESTED performs an analysis of variance for all numeric variables in the data set, except those already specified in the CLASS statement.\",\"help\":\"VAR variables \"}],\"supportSiteInformation\":{\"docsetId\":\"statug\",\"docsetVersion\":\"latest\",\"docsetTargetFile\":\"statug_nested_toc.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/NETDRAW.json",
    "content": "{\"name\":\"NETDRAW\",\"statements\":[{\"name\":\"PROC NETDRAW\",\"description\":\"The NETDRAW procedure draws a network diagram of the activities in a project. Boxes (or nodes) are used to represent the activities, and lines (or arcs) are used to show the precedence relationships among the activities.\",\"help\":\"PROC NETDRAW <ANNOTATE=SAS-data-set><DATA=SAS-data-set><FULLSCREEN><GOUT=graphics-catalog><GRAPHICS><IMAGEMAP=SAS-data-set><LINEPRINTER><NODISPLAY><OUT=SAS-data-set>; \\n\\tACTNET       <ACTIVITY=variable><ALIGN=variable><AUTOREF> ...;\\n\",\"arguments\":[{\"name\":\"ANNOTATE=\",\"optional\":true,\"description\":\"Specifies the input data set that contains the appropriate annotate variables for the purpose of adding text and graphics to the network diagram.\",\"help\":\"ANNOTATE=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"DATA=\",\"optional\":true,\"description\":\"Names the SAS data set to be used by PROC NETDRAW for producing a network diagram.\",\"help\":\"DATA=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"FULLSCREEN\",\"optional\":true,\"aliases\":[\"FS\"],\"description\":\"Indicates that the network be drawn in full-screen mode. This enables you to view the network diagram produced by NETDRAW in different scales; you can also move nodes around the diagram to modify the layout.\",\"type\":\"standalone\"},{\"name\":\"GOUT=\",\"optional\":true,\"description\":\"Specifies the name of the graphics catalog used to save the output produced by PROC NETDRAW for later replay.\",\"help\":\"GOUT=*graphics-catalog*\",\"type\":\"dataSet\"},{\"name\":\"GRAPHICS\",\"optional\":true,\"description\":\"Indicates that the network diagram produced be of high-resolution quality. If you specify the GRAPHICS option, but you do not have SAS/GRAPH software licensed at your site, the procedure stops and issues an error message. GRAPHICS is the default mode.\",\"type\":\"standalone\"},{\"name\":\"IMAGEMAP=\",\"optional\":true,\"description\":\"Names the SAS data set that receives a description of the areas of a graph and a link for each area. This information is for the construction of HTML image maps.\",\"help\":\"IMAGEMAP=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"LINEPRINTER\",\"optional\":true,\"aliases\":[\"LP\"],\"description\":\"Produces a network diagram of line-printer quality.\",\"type\":\"standalone\"},{\"name\":\"NODISPLAY\",\"optional\":true,\"description\":\"Requests the procedure not to display any output. The procedure still produces the Layout data set containing the details about the network layout.\",\"type\":\"standalone\"},{\"name\":\"OUT=\",\"optional\":true,\"description\":\"Specifies a name for the output data set produced by PROC NETDRAW. This data set, also referred to as the Layout data set, contains the node and arc placement information determined by PROC NETDRAW to draw the network.\",\"help\":\"OUT=*SAS-data-set*\",\"type\":\"dataSet\"}]},{\"name\":\"ACTNET\",\"description\":\"The ACTNET statement draws the network diagram. You can specify several options in this statement to control the appearance of the network.\",\"help\":\"ACTNET &lt;ACTIVITY=variable&gt;&lt;ALIGN=variable&gt;&lt;AUTOREF&gt; ...\",\"arguments\":[{\"name\":\"ACTIVITY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the variable in the Network data set that names the nodes in the network. If the data set contains a variable called _FROM_, this specification is ignored; otherwise, this option is required.\",\"help\":\"ACTIVITY=*variable*\",\"type\":\"value\"},{\"name\":\"ALIGN=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the variable in the Network data set containing the time values to be used for positioning each activity.\",\"help\":\"ALIGN=*variable*\",\"type\":\"value\"},{\"name\":\"ANNOTATE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the input data set that contains the appropriate annotate variables for the purpose of adding text and graphics to the network diagram.\",\"help\":\"ANNOTATE=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"ARROWHEAD=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the length of the arrowhead in character cell positions. You can specify ARROWHEAD=0 to suppress arrowheads altogether. The default value is 1.\",\"help\":\"ARROWHEAD=*integer*\",\"type\":\"value\"},{\"name\":\"AUTOREF\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Draws reference lines at every tick mark. This option is valid only for time-scaled network diagrams.\",\"type\":\"standalone\"},{\"name\":\"AUTOZONE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Enables automatic zoning (or dividing) of the network into connected components.\",\"type\":\"standalone\"},{\"name\":\"BOXHT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the height of the box (in character cell positions) used for denoting a node.\",\"help\":\"BOXHT=*boxht*\",\"type\":\"value\"},{\"name\":\"BOXWIDTH=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the width of the box (in character cell positions) used for denoting a node.\",\"help\":\"BOXWIDTH=*boxwdth*\",\"type\":\"value\"},{\"name\":\"BREAKCYCLE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Breaks cycles by reversing the back arcs of the network.\",\"type\":\"standalone\"},{\"name\":\"BRKCHAR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the character used for drawing the zigzag break lines down the chart at break points of the time axis. The default value is >. This option is valid only for time-scaled network diagrams.\",\"help\":\"BRKCHAR=*brkchar*\",\"type\":\"value\"},{\"name\":\"CARCS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the color of the connecting lines (or arcs) between the nodes. The default value of this option is CYAN.\",\"help\":\"CARCS=*color*\",\"type\":\"color\"},{\"name\":\"CAXIS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the color of the time axis. The default value is WHITE. This option is valid only for time-scaled network diagrams.\",\"help\":\"CAXIS=*color*\",\"type\":\"color\"},{\"name\":\"CCNODEFILL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the fill color for all critical nodes of the network diagram.\",\"help\":\"CCNODEFILL=*color*\",\"type\":\"color\"},{\"name\":\"CCRITARCS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the color of arcs connecting critical activities.\",\"help\":\"CCRITARCS=*color*\",\"type\":\"color\"},{\"name\":\"CCRITOUT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the outline color for critical nodes. The default value for this option is the value of the COUTLINE= option, if it is specified; otherwise, it is the same as the pattern color for the node.\",\"help\":\"CCRITOUT=*color*\",\"type\":\"color\"},{\"name\":\"CENTERID\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Centers the ID values placed within each node. By default, character valued ID variables are left justified and numeric ID variables are right justified within each node. This option centers the ID values within each node.\",\"type\":\"standalone\"},{\"name\":\"CENTERSUBTREE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Positions each node at the center of the subtree that originates from that node instead of placing it at the midpoint of its children (which is the default behavior).\",\"type\":\"standalone\"},{\"name\":\"CHILDORDER=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Orders the children of each node when the network is laid out using either the TREE or the SPANNINGTREE option.\",\"help\":\"CHILDORDER=TOPDOWN | BOTTOMUP | LEFTRGHT | RGHTLEFT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"TOPDOWN\",\"followsDelimiter\":\"/\",\"description\":\"Top to bottom order.\",\"type\":\"standalone\"},{\"name\":\"BOTTOMUP\",\"followsDelimiter\":\"/\",\"description\":\"Bottom to top order.\",\"type\":\"standalone\"},{\"name\":\"LEFTRGHT\",\"followsDelimiter\":\"/\",\"description\":\"Left to right order.\",\"type\":\"standalone\"},{\"name\":\"RGHTLEFT\",\"followsDelimiter\":\"/\",\"description\":\"Right to left order.\",\"type\":\"standalone\"}]},{\"name\":\"CNODEFILL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the fill color for all nodes of the network diagram.\",\"help\":\"CNODEFILL=*color*\",\"type\":\"color\"},{\"name\":\"COMPRESS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Draws the network on one physical page.\",\"type\":\"standalone\"},{\"name\":\"COUTLINE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies an outline color for all nodes.\",\"help\":\"COUTLINE=*color*\",\"type\":\"color\"},{\"name\":\"CREF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the color of the reference lines. The default value is WHITE. This option is valid only for time-scaled network diagrams.\",\"help\":\"CREF=*color*\",\"type\":\"color\"},{\"name\":\"CREFBRK=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the color of the lines drawn to denote breaks in the time axis. The default value is WHITE. This option is valid only for time-scaled network diagrams.\",\"help\":\"CREFBRK=*color*\",\"type\":\"color\"},{\"name\":\"CTEXT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"CT=\"],\"description\":\"Specifies the color of all text on the network diagram including variable names or labels, values of ID variables, and so on.\",\"help\":\"CTEXT=*color*\",\"type\":\"color\"},{\"name\":\"DESCRIPTION=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"DES=\"],\"description\":\"Specifies a descriptive string, up to 40 characters in length, that appears in the description field of the master menu in PROC GREPLAY.\",\"help\":\"DESCRIPTION='*string*'\",\"type\":\"value\"},{\"name\":\"DP\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Causes PROC NETDRAW to use a dynamic programming (DP) algorithm to route the arcs. This DP algorithm is memory and CPU-intensive and is not necessary for most applications.\",\"type\":\"standalone\"},{\"name\":\"DURATION=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies a variable that contains the duration of each activity in the network. This value is used only for displaying the durations of each activity within the node.\",\"help\":\"DURATION=*variable*\",\"type\":\"value\"},{\"name\":\"FILLPAGE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Causes the diagram on each page to be magnified (if necessary) to fill up the page.\",\"type\":\"standalone\"},{\"name\":\"FONT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the font of the text.\",\"help\":\"FONT=*font*\",\"type\":\"value\"},{\"name\":\"FORMCHAR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the characters used for node outlines and arcs.\",\"type\":\"value\"},{\"name\":\"FRAME\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Encloses the drawing area with a border. This option is valid only for time-scaled or zoned network diagrams.\",\"type\":\"standalone\"},{\"name\":\"HEIGHT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"HTEXT=\"],\"description\":\"Specifies that the height for all text in PROC NETDRAW (excluding the titles and footnotes) be h times the value of the global HTEXT= option, which is the default text height specified in the GOPTIONS statement of SAS/GRAPH. The value of h must be a positive real number; the default value is 1.0.\",\"type\":\"value\"},{\"name\":\"HMARGIN=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the width of a horizontal margin (in number of character cell positions) for the network in graphics mode. The default width is 1.\",\"help\":\"HMARGIN=*integer*\",\"type\":\"value\"},{\"name\":\"HPAGES=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"NXPAGES=\"],\"description\":\"Specifies that the network diagram is to be produced using h horizontal pages.\",\"type\":\"value\"},{\"name\":\"HTRACKS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Controls the number of arcs that are drawn horizontally through the space between two adjacent nodes.\",\"help\":\"HTRACKS=*integer*\",\"type\":\"value\"},{\"name\":\"ID=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the variables in the Network data set that are displayed within each node.\",\"type\":\"value\"},{\"name\":\"LAG=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the variables in the Network data set that identify the lag types of the precedence relationships between an activity and its successors.\",\"type\":\"value\"},{\"name\":\"LINEAR\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Plots one column for every mininterval between the minimum and maximum values of the ALIGN= variable.\",\"type\":\"standalone\"},{\"name\":\"LREF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the linestyle (1-46) of the reference lines. The default linestyle is 1, a solid line. This option is valid only for time-scaled network diagrams.\",\"help\":\"LREF=*linestyle*\",\"type\":\"value\"},{\"name\":\"LREFBRK=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the linestyle (1-46) of the zigzag break lines. The default linestyle is 1, a solid line. This option is valid only for time-scaled network diagrams.\",\"help\":\"LREFBRK=*linestyle*\",\"type\":\"value\"},{\"name\":\"LWCRIT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the line width for critical arcs and the node outlines for critical activities.\",\"help\":\"LWCRIT=*integer*\",\"type\":\"value\"},{\"name\":\"LWIDTH=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the line width of the arcs and node outlines. The default line width is 1.\",\"help\":\"LWIDTH=*integer*\",\"type\":\"value\"},{\"name\":\"LWOUTLINE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the line width of the node outlines.\",\"help\":\"LWOUTLINE=*integer*\",\"type\":\"value\"},{\"name\":\"MAXNULLCOLUMN=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"MAXEMPTY=\",\"MAXZCOL=\",\"MAXNCOL=\"],\"description\":\"Specifies the maximum number of empty columns between two consecutive nonempty columns. The default value for this option is 0.\",\"type\":\"value\"},{\"name\":\"MININTERVAL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the smallest interval to be used per column of the network diagram.\",\"help\":\"MININTERVAL=DAY | HOUR | MONTH | SECOND | MINUTE | QTR | YEAR | WEEK\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DAY\",\"followsDelimiter\":\"/\",\"description\":\"DAY\",\"type\":\"standalone\"},{\"name\":\"HOUR\",\"followsDelimiter\":\"/\",\"description\":\"HOUR\",\"type\":\"standalone\"},{\"name\":\"MONTH\",\"followsDelimiter\":\"/\",\"description\":\"MONTH\",\"type\":\"standalone\"},{\"name\":\"SECOND\",\"followsDelimiter\":\"/\",\"description\":\"SECOND\",\"type\":\"standalone\"},{\"name\":\"MINUTE\",\"followsDelimiter\":\"/\",\"description\":\"MINUTE\",\"type\":\"standalone\"},{\"name\":\"QTR\",\"followsDelimiter\":\"/\",\"description\":\"QUARTER\",\"type\":\"standalone\"},{\"name\":\"YEAR\",\"followsDelimiter\":\"/\",\"description\":\"YEAR\",\"type\":\"standalone\"},{\"name\":\"WEEK\",\"followsDelimiter\":\"/\",\"description\":\"WEEK\",\"type\":\"standalone\"}]},{\"name\":\"NAME=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies a string of up to eight characters that appears in the name field of the catalog entry for the graph. The default name is NETDRAW.\",\"help\":\"NAME='*string*'\",\"type\":\"value\"},{\"name\":\"NLEVELSPERCOLUMN=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"NPERCOL=\"],\"description\":\"Contracts the time axis by specifying that activities that differ in ALIGN= value by less than npercol units of MININTERVAL can be plotted in the same column. The default value of npercol is 1.\",\"help\":\"NLEVELSPERCOLUMN=*npercol*\",\"type\":\"value\"},{\"name\":\"NOARROWFILL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Draws arrowheads that are not filled. By default, the procedure uses filled arrowheads.\",\"type\":\"standalone\"},{\"name\":\"NODEFID\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Indicates that the procedure need not check for any of the default ID variables in the Network data set; if this option is in effect, only the variables specified in the ID= option are displayed within each node.\",\"type\":\"standalone\"},{\"name\":\"NODETRACK\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies that the arcs can be routed along potential node positions if there is a clear horizontal track to the left of the successor (or _TO_) node. This is the default option.\",\"type\":\"standalone\"},{\"name\":\"NOLABEL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Suppresses the labels. By default, the procedure uses the first three letters of the variable name to label all the variables that are displayed within each node of the network. The only exception is the variable that is identified by the ACTIVITY= option.\",\"type\":\"standalone\"},{\"name\":\"NONDP\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Uses a simple heuristic to connect the nodes. The default mode of routing is NONDP, unless the HTRACKS= or VTRACKS= option (or both) are specified and set to a number that is less than the maximum number of successors. The NONDP option is faster than the DP option.\",\"type\":\"standalone\"},{\"name\":\"NONODETRACK\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Blocks the horizontal track along potential node positions. This option may lead to more turns in some of the arcs. The default is NODETRACK.\",\"type\":\"standalone\"},{\"name\":\"NOPAGENUMBER\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"NONUMBER\"],\"description\":\"Suppresses the page numbers that are displayed in the top right corner of each page of a multipage network diagram.\",\"type\":\"standalone\"},{\"name\":\"NOREPEATAXIS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays the time axis only on the top of the chart and not on every page. This option is useful if the different pages are to be glued together to form a complete diagram. This option is valid only for time-scaled network diagrams.\",\"type\":\"standalone\"},{\"name\":\"NOTIMEAXIS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Suppresses the display of the time axis and its labels. Note that the nodes are still placed according to the time scale, but no axis is drawn. This option is valid only for time-scaled network diagrams.\",\"type\":\"standalone\"},{\"name\":\"NOVCENTER\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Draws the network diagram just below the titles without centering in the vertical direction.\",\"type\":\"standalone\"},{\"name\":\"NOZONELABEL\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"NOZONEDESCR\"],\"description\":\"Omits the zone labeling and the dividing lines. The network is still divided into zones based on the ZONE variable, but there is no demarcation or labeling corresponding to the zones.\",\"type\":\"standalone\"},{\"name\":\"NXNODES=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the number of nodes that should be displayed horizontally across each page of the network diagram.\",\"help\":\"NXNODES=*nx*\",\"type\":\"value\"},{\"name\":\"NYNODES\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the number of nodes that should be displayed vertically across each page of the network diagram.\",\"type\":\"standalone\"},{\"name\":\"PAGENUMBER\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"PAGENUM\"],\"description\":\"Numbers the pages of the network diagram on the top right-hand corner of the page if the diagram exceeds one page. The numbering scheme is from left to right, bottom to top (unless the REVERSEY option is specified).\",\"type\":\"standalone\"},{\"name\":\"PAGES=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the maximum number of pages to be used for the network diagram in graphics and line-printer modes. The default value is 100.\",\"help\":\"PAGES=*npages*\",\"type\":\"value\"},{\"name\":\"PATTERN=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies an integer-valued variable in the Network data set that identifies the color number for each node of the network.\",\"help\":\"PATTERN=*variable*\",\"type\":\"value\"},{\"name\":\"PCOMPRESS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Draws the network diagram on one physical page.\",\"type\":\"standalone\"},{\"name\":\"QUITMISSINGALIGN\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Stops processing if the ALIGN= variable has any missing values. By default, the procedure tries to fill in missing values using the topological order of the network. This option is valid only for time-scaled network diagrams.\",\"type\":\"standalone\"},{\"name\":\"RECTILINEAR\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Draws arcs with rectangular corners. By default, the procedure uses rounded turning points and rounded arc merges in graphics mode.\",\"type\":\"standalone\"},{\"name\":\"REFBREAK\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Shows breaks in the time axis by drawing a zigzag line down the diagram just before the tick mark at the break. This option is valid only for time-scaled network diagrams.\",\"type\":\"standalone\"},{\"name\":\"REFCHAR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the reference character used for drawing reference lines. The default value is \\\"|\\\". This option is valid only for time-scaled network diagrams.\",\"help\":\"REFCHAR=*refchar*\",\"type\":\"value\"},{\"name\":\"RESTRICTSEARCH\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"RSEARCH\"],\"description\":\"Restricts the scope of the arc layout algorithm by restricting the area of search for the arc layout when the DP option is in effect; this is useful in reducing the computational complexity of the dynamic programming algorithm.\",\"type\":\"standalone\"},{\"name\":\"REVERSEY\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Reverses the order in which the pages are drawn. By default, the pages are ordered from bottom to top in the graphics mode. This option orders them from top to bottom.\",\"type\":\"standalone\"},{\"name\":\"ROTATE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Rotates the network diagram to change the orientation of the network to be from top to bottom instead of from left to right.\",\"type\":\"standalone\"},{\"name\":\"ROTATETEXT\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"RTEXT\"],\"description\":\"Rotates the text within the nodes by 90 degrees.\",\"type\":\"standalone\"},{\"name\":\"SEPARATEARCS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Separates the arcs to follow distinct tracks.\",\"type\":\"standalone\"},{\"name\":\"SEPARATESONS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Separates the children (immediate successors) of a given node by adding an extra space in the center whenever it is needed to enable the node to be positioned at integral (x,y) coordinates.\",\"type\":\"standalone\"},{\"name\":\"SHOWBREAK\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Shows breaks in the time axis by drawing a jagged break in the time axis line just before the tick mark corresponding to the break. This option is valid only for time-scaled network diagrams.\",\"type\":\"standalone\"},{\"name\":\"SHOWSTATUS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Uses the variable STATUS (if it exists) in the Network data set to determine if an activity is in-progress or completed.\",\"type\":\"standalone\"},{\"name\":\"SPANNINGTREE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Uses a spanning tree to place the nodes in the network. This method typically results in a wider layout than the default. However, for networks that have totally disjoint pieces, this option separates the network into connected components (or disjoint trees).\",\"type\":\"standalone\"},{\"name\":\"SUCCESSOR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the variables in the Network data set that name all the immediate successors of the node specified by the ACTIVITY variable.\",\"type\":\"value\"},{\"name\":\"TIMESCALE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Indicates that the network is to be drawn using a time axis for placing the nodes.\",\"type\":\"standalone\"},{\"name\":\"TREELAYOUT\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"TREE\"],\"description\":\"Requests the procedure to draw the network as a tree if the network is indeed a tree (that is, all the nodes have at most one immediate predecessor). The option is ignored if the network does not have a tree structure.\",\"type\":\"standalone\"},{\"name\":\"USEFORMAT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Indicates that the explicit format of the ALIGN= variable is to be used instead of the default format based on the MININTERVAL= option.\",\"type\":\"standalone\"},{\"name\":\"VMARGIN=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the width of a vertical margin (in number of character cell positions) for the network. The default width is 1.\",\"help\":\"VMARGIN=*integer*\",\"type\":\"value\"},{\"name\":\"VPAGES\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"NYPAGES\"],\"description\":\"Specifies that the network diagram is to be produced using v vertical pages.\",\"type\":\"standalone\"},{\"name\":\"VTRACKS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Controls the number of arcs that are drawn vertically through the space between two adjacent nodes. A default value is based on the maximum number of successors of any node.\",\"help\":\"VTRACKS=*integer*\",\"type\":\"value\"},{\"name\":\"WEB=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"HTML=\"],\"description\":\"Specifies the character variable in the Network data set that identifies an HTML page for each activity.\",\"help\":\"WEB=*variable*\",\"type\":\"value\"},{\"name\":\"XBETWEEN=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"HBETWEEN=\"],\"description\":\"Specifies the horizontal distance (in character cell positions) between two adjacent nodes. The value for this option must be at least 3; the default value is 5.\",\"type\":\"value\"},{\"name\":\"YBETWEEN=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"VBETWEEN=\"],\"description\":\"Specifies the vertical distance (in character cell positions) between two adjacent nodes. The value for this option must be at least 3; the default value is 5.\",\"help\":\"YBETWEEN=*integer*\",\"type\":\"value\"},{\"name\":\"ZONE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Names the variable in the Network data set used to separate the network diagram into zones.\",\"help\":\"ZONE=*variable*\",\"type\":\"value\"},{\"name\":\"ZONELABEL\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"ZONEDESCR\"],\"description\":\"Labels the different zones and draws dividing lines between two consecutive zones. This is the default behavior; to omit the labels and the dividing lines, use the NOZONELABEL option.\",\"type\":\"standalone\"},{\"name\":\"ZONEPAT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Indicates that if a PATTERN variable is not specified or is missing and if a ZONE= variable is present, then the node colors are based on the value of the ZONE= variable.\",\"type\":\"standalone\"},{\"name\":\"ZONESPACE\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"ZONELEVADD\"],\"description\":\"Draws the network with an extra row between two consecutive zones.\",\"type\":\"standalone\"}]},{\"name\":\"ATTRIB\",\"description\":\"Associates a format, informat, label, and length with one or more variables.\",\"help\":\"ATTRIB  *variable-list(s)**attribute-list(s)*;\",\"arguments\":[{\"name\":\"variable-list\",\"optional\":true,\"placeholder\":true,\"description\":\"names the variables that you want to associate with the attributes.\",\"help\":\"*variable-list(s)*\",\"type\":\"value\"},{\"name\":\"FORMAT=\",\"description\":\"associates a format with variables in variable-list.\",\"help\":\"FORMAT=*format*\",\"type\":\"value\"},{\"name\":\"INFORMAT=\",\"description\":\"associates an informat with variables in variable-list.\",\"help\":\"INFORMAT=*informat*\",\"type\":\"value\"},{\"name\":\"LABEL=\",\"description\":\"associates a label with variables in variable-list.\",\"help\":\"LABEL='*label*' \",\"type\":\"value\"}]},{\"name\":\"FORMAT\",\"description\":\"Associates formats with variables.\",\"help\":\"FORMAT *variable-1*&lt; ...*variable-n*&gt;*format**variable-1*&lt; ...*variable-n*&gt;*format*;\",\"arguments\":[{\"name\":\"variable\",\"optional\":true,\"placeholder\":true,\"description\":\"names one or more variables for SAS to associate with a format. You must specify at least one variable.\",\"type\":\"value\"},{\"name\":\"format\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the format that is listed for writing the values of the variables.\",\"type\":\"value\"}]},{\"name\":\"LABEL\",\"description\":\"Assigns descriptive labels to variables.\",\"help\":\"LABEL variable-1 = 'text-string' < ...variable-n = 'text-string'>;\\nLABEL variable-1 = ' ' < ...variable-n=’ ‘>; | variable-1 = < ...variable-n= >;\",\"arguments\":[{\"name\":\"text-string\",\"placeholder\":true,\"description\":\"specifies a label of up to 256 bytes.\",\"type\":\"value\"},{\"name\":\"'\",\"placeholder\":true,\"description\":\"removes a label from a variable. Enclose a single blank space in quotation marks to remove an existing label. You can remove labels from multiple variables in a single LABEL statement:\",\"help\":\"*' '*\",\"type\":\"value\"}]},{\"name\":\"WHERE\",\"description\":\"Subsets the input data set by specifying certain conditions that each observation must meet before it is available for processing.\",\"help\":\"WHERE where-expression-1\\n<logical-operator where-expression-n>; \",\"arguments\":[{\"name\":\"where-expression\",\"optional\":true,\"placeholder\":true,\"description\":\"is an arithmetic or logical expression that generally consists of a sequence of operands and operators.\",\"type\":\"value\"},{\"name\":\"logical-operator\",\"optional\":true,\"placeholder\":true,\"description\":\"can be AND, AND NOT, OR, or OR NOT.\",\"type\":\"value\"}]}],\"supportSiteInformation\":{\"docsetId\":\"orpmug\",\"docsetVersion\":\"latest\",\"docsetTargetFile\":\"orpmug_netdraw_toc.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/NETWORK.json",
    "content": "{\"name\":\"NETWORK\",\"statements\":[{\"name\":\"PROC NETWORK\",\"description\":\"The NETWORK procedure includes a number of graph theory and network analysis algorithms that can augment data mining and machine learning approaches. In many practical applications of data mining and machine learning models, pairwise interaction between the entities of interest in the model often plays an important role.\",\"help\":\"PROC NETWORK <options>;\\n\\tBICONNECTEDCOMPONENTS <options>;    \\n\\n\\tBY variables;    \\n\\n\\tCENTRALITY <options>;    \\n\\n\\tCLIQUE <options>;    \\n\\n\\tCOMMUNITY <options>;    \\n\\n\\tCONNECTEDCOMPONENTS <options>;    \\n\\n\\tCORE <option>;    \\n\\n\\tCYCLE <options>;    \\n\\n\\tDISPLAY <table-list></ options>;    \\n\\n\\tDISPLAYOUT table-spec-list</ options>;    \\n\\n\\tLINKSQUERYVAR <options>;    \\n\\n\\tLINKSVAR <options>;    \\n\\n\\tLOADGRAPH ;    \\n\\n\\tNODESIMILARITY <options>;    \\n\\n\\tNODESQUERYVAR <options>;    \\n\\n\\tNODESSUBSETVAR <options>;    \\n\\n\\tNODESVAR <options>;    \\n\\n\\tPATH <options>;    \\n\\n\\tPATTERNMATCH <options>;    \\n\\n\\tPROJECTION <options>;    \\n\\n\\tREACH <options>;    \\n\\n\\tSHORTESTPATH <options>;    \\n\\n\\tSMILESOPTIONS <option>;    \\n\\n\\tSUMMARY <options>;    \\n\\n\\tTOPOLOGICALSORT ;    \\n\\n\\tTRANSITIVECLOSURE <option>;    \\n\\n\\tUNLOADGRAPH ;    \\n\",\"arguments\":[{\"name\":\"DETERMINISTIC=\",\"optional\":true,\"description\":\"specifies whether to enforce determinism. By default, DETERMINISTIC=TRUE, which ensures that each invocation (with the same machine configuration and parameter settings) produces the same final result.\",\"help\":\"DETERMINISTIC=TRUE |  FALSE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"TRUE\",\"type\":\"standalone\"},{\"name\":\"FALSE\",\"type\":\"standalone\"}]},{\"name\":\"DIRECTION=\",\"optional\":true,\"description\":\"specifies whether the input graph should be considered directed or undirected. By default, DIRECTION=UNDIRECTED.\",\"help\":\"DIRECTION=DIRECTED | UNDIRECTED\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DIRECTED\",\"description\":\"considers the input graph to be directed.\",\"type\":\"standalone\"},{\"name\":\"UNDIRECTED\",\"description\":\"considers the input graph to be undirected.\",\"type\":\"standalone\"}]},{\"name\":\"DISTRIBUTED=\",\"optional\":true,\"description\":\"specifies whether to use a distributed graph. By default, DISTRIBUTED=FALSE, which means that a distributed graph is not used.\",\"help\":\"DISTRIBUTED=TRUE |  FALSE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"TRUE\",\"type\":\"standalone\"},{\"name\":\"FALSE\",\"type\":\"standalone\"}]},{\"name\":\"GRAPH=\",\"optional\":true,\"description\":\"specifies the in-memory graph to use. This option can be used with any algorithm that supports in-memory execution.\",\"help\":\"GRAPH=*number*\",\"type\":\"value\"},{\"name\":\"INDEXOFFSET=\",\"optional\":true,\"description\":\"specifies the index offset for identifiers in the log and results output data tables.\",\"help\":\"INDEXOFFSET=*number*\",\"type\":\"value\"},{\"name\":\"LINKS=\",\"optional\":true,\"description\":\"specifies the input data table that contains the graph link information.\",\"help\":\"LINKS=*libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"LINKSQUERY=\",\"optional\":true,\"description\":\"specifies the input data table that contains the graph link information for the query graph.\",\"help\":\"LINKSQUERY=*libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"LOGFREQUENCYTIME=\",\"optional\":true,\"aliases\":[\"LOGFREQTIME=\"],\"description\":\"controls the frequency (in number of seconds) for displaying iteration logs for some algorithms, where number can be any integer greater than or equal to 1. By default, LOGFREQTIME=5.\",\"help\":\"LOGFREQUENCYTIME=*number*\",\"type\":\"value\"},{\"name\":\"LOGLEVEL=\",\"optional\":true,\"description\":\"controls the amount of information that is displayed in the SAS log. By default, LOGLEVEL=BASIC.\",\"help\":\"LOGLEVEL=NONE | BASIC | MODERATE | AGGRESSIVE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NONE\",\"description\":\"turns off all procedure-related messages in the SAS log.\",\"type\":\"standalone\"},{\"name\":\"BASIC\",\"description\":\"displays a brief summary of the algorithmic processing.\",\"type\":\"standalone\"},{\"name\":\"MODERATE\",\"description\":\"displays a moderately detailed summary of the input, output, and algorithmic processing.\",\"type\":\"standalone\"},{\"name\":\"AGGRESSIVE\",\"description\":\"displays a more detailed summary of the input, output, and algorithmic processing.\",\"type\":\"standalone\"}]},{\"name\":\"MULTILINKS=\",\"optional\":true,\"description\":\"specifies whether to include or aggregate multilinks when an input graph (specified by the LINKS= or LINKSQUERY= option) is read. By default, MULTILINKS=TRUE for algorithms that support multilinks.\",\"help\":\"MULTILINKS=TRUE |  FALSE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"TRUE\",\"description\":\"includes multilinks.\",\"type\":\"standalone\"},{\"name\":\"FALSE\",\"description\":\"aggregates multilinks.\",\"type\":\"standalone\"}]},{\"name\":\"NODES=\",\"optional\":true,\"description\":\"specifies the input data table that contains the graph node information.\",\"help\":\"NODES=*libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"NODESQUERY=\",\"optional\":true,\"description\":\"specifies the input data table that contains the graph node information for the query graph.\",\"help\":\"NODESQUERY=*libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"NODESSUBSET=\",\"optional\":true,\"description\":\"specifies the input data table that contains the graph node subset information.\",\"help\":\"NODESSUBSET=*libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"NTHREADS=\",\"optional\":true,\"description\":\"specifies the maximum number of threads to use for multithreaded processing. Some of the algorithms can take advantage of multicore machines and can run faster when number is greater than 1.\",\"help\":\"NTHREADS=*number*\",\"type\":\"value\"},{\"name\":\"OUTGRAPHLIST=\",\"optional\":true,\"description\":\"specifies the output data table to contain summary information about in-memory graphs.\",\"help\":\"OUTGRAPHLIST=*libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"OUTLINKS=\",\"optional\":true,\"description\":\"specifies the output data table to contain the graph link information along with any results from the algorithms that calculate metrics on links.\",\"help\":\"OUTLINKS=*libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"OUTNODES=\",\"optional\":true,\"description\":\"specifies the output data table to contain the graph node information along with any results from the algorithms that calculate metrics on nodes.\",\"help\":\"OUTNODES=*libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"SELFLINKS=\",\"optional\":true,\"description\":\"specifies whether to include or remove self-links when an input graph (specified by the LINKS= or LINKSQUERY= option) is read. By default, SELFLINKS=TRUE for algorithms that support self-links.\",\"help\":\"SELFLINKS=TRUE |  FALSE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"TRUE\",\"description\":\"includes self-links.\",\"type\":\"standalone\"},{\"name\":\"FALSE\",\"description\":\"removes self-links.\",\"type\":\"standalone\"}]},{\"name\":\"SMILES=\",\"optional\":true,\"description\":\"specifies the SMILES string input for a molecular graph.\",\"help\":\"SMILES=*string*\",\"type\":\"value\"},{\"name\":\"STANDARDIZEDLABELS\",\"optional\":true,\"description\":\"specifies that the input graph data are in a standardized format.\",\"type\":\"standalone\"},{\"name\":\"STANDARDIZEDLABELSOUT\",\"optional\":true,\"description\":\"specifies that the output graph data include standardized format.\",\"type\":\"standalone\"},{\"name\":\"TIMETYPE=\",\"optional\":true,\"description\":\"specifies whether CPU time or real time is used for each algorithm’s MAXTIME= option (where applicable). By default, TIMETYPE=REAL.\",\"help\":\"TIMETYPE=CPU | REAL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"CPU\",\"description\":\"specifies units of CPU time. The time restriction is applied per processing machine (not across all machines).\",\"type\":\"standalone\"},{\"name\":\"REAL\",\"description\":\"specifies units of real time.\",\"type\":\"standalone\"}]}]},{\"name\":\"BICONNECTEDCOMPONENTS\",\"description\":\"The BICONNECTEDCOMPONENTS statement requests that PROC NETWORK find biconnected components and articulation points of an undirected input graph.\",\"help\":\"BICONNECTEDCOMPONENTS &lt;*options*&gt;;    \",\"arguments\":[{\"name\":\"OUT=\",\"optional\":true,\"description\":\"specifies the output data table to contain the biconnected components summary results.\",\"help\":\"OUT=*libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"OUTBCTREELINKS=\",\"optional\":true,\"description\":\"specifies the output data table to contain the links of the block-cut tree.\",\"help\":\"OUTBCTREELINKS=*libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"OUTBCTREENODES=\",\"optional\":true,\"description\":\"specifies the output data table to contain the nodes of the block-cut tree.\",\"help\":\"OUTBCTREENODES=*libref.data-table*\",\"type\":\"dataSet\"}]},{\"name\":\"BY\",\"description\":\"You can specify a BY statement in PROC NETWORK to obtain separate analyses of observations in groups that are defined by the values of the BY variables.\",\"help\":\"BY *variables*;    \"},{\"name\":\"CENTRALITY\",\"description\":\"The CENTRALITY statement enables you to select which centrality metrics to calculate for the specified input graph.\",\"help\":\"CENTRALITY &lt;*options*&gt;;    \",\"arguments\":[{\"name\":\"AUTH=\",\"optional\":true,\"description\":\"specifies how to calculate authority centrality.\",\"help\":\"AUTH=WEIGHT | UNWEIGHT | BOTH\",\"type\":\"choice\",\"arguments\":[{\"name\":\"WEIGHT\",\"description\":\"calculates authority centrality based on the weighted graph.\",\"type\":\"standalone\"},{\"name\":\"UNWEIGHT\",\"description\":\"calculates authority centrality based on the unweighted graph.\",\"type\":\"standalone\"},{\"name\":\"BOTH\",\"description\":\"calculates authority centrality based on both weighted and unweighted graphs.\",\"type\":\"standalone\"}]},{\"name\":\"BETWEEN=\",\"optional\":true,\"description\":\"specifies how to calculate betweenness centrality for node betweenness or link betweenness.\",\"help\":\"BETWEEN=WEIGHT | UNWEIGHT | BOTH\",\"type\":\"choice\",\"arguments\":[{\"name\":\"WEIGHT\",\"description\":\"calculates betweenness centrality based on the weighted graph.\",\"type\":\"standalone\"},{\"name\":\"UNWEIGHT\",\"description\":\"calculates betweenness centrality based on the unweighted graph.\",\"type\":\"standalone\"},{\"name\":\"BOTH\",\"description\":\"calculates betweenness centrality based on both weighted and unweighted graphs.\",\"type\":\"standalone\"}]},{\"name\":\"BETWEENNORM=\",\"optional\":true,\"description\":\"specifies whether to normalize the betweenness centrality metrics. By default, BETWEENNORM=TRUE.\",\"help\":\"BETWEENNORM=TRUE | FALSE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"TRUE\",\"description\":\"normalizes the betweenness metrics. This is the default.\",\"type\":\"standalone\"},{\"name\":\"FALSE\",\"description\":\"does not normalize the betweenness metrics.\",\"type\":\"standalone\"}]},{\"name\":\"CLOSE=\",\"optional\":true,\"description\":\"specifies how to calculate closeness centrality.\",\"help\":\"CLOSE=WEIGHT | UNWEIGHT | BOTH\",\"type\":\"choice\",\"arguments\":[{\"name\":\"WEIGHT\",\"description\":\"calculates closeness centrality based on the weighted graph.\",\"type\":\"standalone\"},{\"name\":\"UNWEIGHT\",\"description\":\"calculates closeness centrality based on the unweighted graph.\",\"type\":\"standalone\"},{\"name\":\"BOTH\",\"description\":\"calculates closeness centrality based on both weighted and unweighted graphs.\",\"type\":\"standalone\"}]},{\"name\":\"CLOSENOPATH=\",\"optional\":true,\"description\":\"specifies a method for accounting for the shortest path distance between two nodes when a path does not exist (disconnected nodes). By default, CLOSENOPATH=DIAMETER.\",\"help\":\"CLOSENOPATH=DIAMETER | HARMONIC | NNODES | ZERO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DIAMETER\",\"description\":\"uses the graph diameter as a shortest path between disconnected nodes.\",\"type\":\"standalone\"},{\"name\":\"HARMONIC\",\"description\":\"uses the harmonic formula for calculating closeness centrality.\",\"type\":\"standalone\"},{\"name\":\"NNODES\",\"description\":\"uses the number of nodes as a shortest path between disconnected nodes.\",\"type\":\"standalone\"},{\"name\":\"ZERO\",\"description\":\"uses zero as a shortest path between disconnected nodes.\",\"type\":\"standalone\"}]},{\"name\":\"CLUSTERINGCOEFFICIENT\",\"optional\":true,\"aliases\":[\"CLUSTERINGCOEF\"],\"description\":\"calculates the node clustering coefficient.\",\"type\":\"standalone\"},{\"name\":\"DEGREE=\",\"optional\":true,\"description\":\"specifies how to calculate degree centrality.\",\"help\":\"DEGREE=WEIGHT | UNWEIGHT | BOTH\",\"type\":\"choice\",\"arguments\":[{\"name\":\"WEIGHT\",\"description\":\"calculates degree centrality by using the weighted graph..\",\"type\":\"standalone\"},{\"name\":\"UNWEIGHT\",\"description\":\"calculates degree centrality by using the unweighted graph.\",\"type\":\"standalone\"},{\"name\":\"BOTH\",\"description\":\"calculates degree centrality by using both the weighted and unweighted graph graphs.\",\"type\":\"standalone\"}]},{\"name\":\"EIGEN=\",\"optional\":true,\"description\":\"specifies how to calculate eigenvector centrality.\",\"help\":\"EIGEN=WEIGHT | UNWEIGHT | BOTH\",\"type\":\"choice\",\"arguments\":[{\"name\":\"WEIGHT\",\"description\":\"calculates eigenvector centrality based on the weighted graph.\",\"type\":\"standalone\"},{\"name\":\"UNWEIGHT\",\"description\":\"calculates eigenvector centrality based on the unweighted graph.\",\"type\":\"standalone\"},{\"name\":\"BOTH\",\"description\":\"calculates eigenvector centrality based on both weighted and unweighted graphs.\",\"type\":\"standalone\"}]},{\"name\":\"EIGENALGORITHM=\",\"optional\":true,\"description\":\"specifies the algorithm to use in calculating centrality metrics that require solving eigensystems—that is, when the EIGEN, PAGERANK, HUB, or AUTH option (or some combination) is specified. By default, EIGENALGORITHM=AUTOMATIC.\",\"help\":\"EIGENALGORITHM=AUTOMATIC | JACOBIDAVIDSON | POWER\",\"type\":\"choice\",\"arguments\":[{\"name\":\"AUTOMATIC\",\"description\":\"automatically determines the eigensolver to use.\",\"type\":\"standalone\"},{\"name\":\"JACOBIDAVIDSON\",\"description\":\"uses a variant of the Jacobi-Davidson algorithm for solving eigensystems.\",\"type\":\"standalone\"},{\"name\":\"POWER\",\"description\":\"uses the power method to calculate eigenvectors.\",\"type\":\"standalone\"}]},{\"name\":\"EIGENMAXITER=\",\"optional\":true,\"description\":\"specifies the maximum number of iterations to use for eigenvector calculations in order to limit the amount of computation time spent when convergence is slow. By default, EIGENMAXITERS=10,000.\",\"help\":\"EIGENMAXITER=*number*\",\"type\":\"value\"},{\"name\":\"HUB=\",\"optional\":true,\"description\":\"specifies how to calculate hub centrality.\",\"help\":\"HUB=WEIGHT | UNWEIGHT | BOTH\",\"type\":\"choice\",\"arguments\":[{\"name\":\"WEIGHT\",\"description\":\"calculates hub centrality by using the weighted graph.\",\"type\":\"standalone\"},{\"name\":\"UNWEIGHT\",\"description\":\"calculates hub centrality by using the unweighted graph.\",\"type\":\"standalone\"},{\"name\":\"BOTH\",\"description\":\"calculates hub centrality by using both the weighted and unweighted graphs.\",\"type\":\"standalone\"}]},{\"name\":\"INFLUENCE=\",\"optional\":true,\"description\":\"specifies how to calculate influence centrality.\",\"help\":\"INFLUENCE=WEIGHT | UNWEIGHT | BOTH\",\"type\":\"choice\",\"arguments\":[{\"name\":\"WEIGHT\",\"description\":\"calculates influence centrality by using the weighted graph.\",\"type\":\"standalone\"},{\"name\":\"UNWEIGHT\",\"description\":\"calculates influence centrality by using the unweighted graph.\",\"type\":\"standalone\"},{\"name\":\"BOTH\",\"description\":\"calculates influence centrality by using both the weighted and unweighted graphs.\",\"type\":\"standalone\"}]},{\"name\":\"PAGERANK=\",\"optional\":true,\"description\":\"specifies how to calculate PageRank centrality.\",\"help\":\"PAGERANK=WEIGHT | UNWEIGHT | BOTH\",\"type\":\"choice\",\"arguments\":[{\"name\":\"WEIGHT\",\"description\":\"calculates PageRank centrality by using the weighted graph.\",\"type\":\"standalone\"},{\"name\":\"UNWEIGHT\",\"description\":\"calculates PageRank centrality by using the unweighted graph.\",\"type\":\"standalone\"},{\"name\":\"BOTH\",\"description\":\"calculates PageRank centrality by using both the weighted and unweighted graphs.\",\"type\":\"standalone\"}]},{\"name\":\"PAGERANKALPHA=\",\"optional\":true,\"description\":\"specifies the damping factor to use in the PageRank algorithm.\",\"help\":\"PAGERANKALPHA=*number*\",\"type\":\"value\"},{\"name\":\"PAGERANKTOLERANCE=\",\"optional\":true,\"description\":\"specifies the convergence tolerance value for the PageRank algorithm.\",\"help\":\"PAGERANKTOLERANCE=*number*\",\"type\":\"value\"},{\"name\":\"SAMPLEPERCENT=\",\"optional\":true,\"description\":\"specifies the percentage of source nodes to sample for the approximate betweenness calculation. The default is 100.\",\"help\":\"SAMPLEPERCENT=*number*\",\"type\":\"value\"}]},{\"name\":\"CLIQUE\",\"description\":\"The CLIQUE statement invokes an algorithm that finds maximal cliques in the input graph.\",\"help\":\"CLIQUE &lt;*options*&gt;;    \",\"arguments\":[{\"name\":\"CLIQUENUMBER=\",\"optional\":true,\"description\":\"specifies whether to calculate the clique number of the graph. By default, CLIQUENUMBER=FALSE.\",\"help\":\"CLIQUENUMBER=TRUE | FALSE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"TRUE\",\"type\":\"standalone\"},{\"name\":\"FALSE\",\"type\":\"standalone\"}]},{\"name\":\"MAXCLIQUES=\",\"optional\":true,\"description\":\"specifies the maximum number of cliques for clique enumeration to return. By default, MAXCLIQUES=1 when CLIQUENUMBER=FALSE; otherwise, MAXCLIQUES=ALL.\",\"help\":\"MAXCLIQUES=*number* | ALL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"number\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"ALL\",\"type\":\"standalone\"}]},{\"name\":\"MAXLINKWEIGHT=\",\"optional\":true,\"description\":\"specifies the maximum sum of link weights in a clique. The default is the largest number that can be represented by a double. When the default is used, no cliques are removed from the results.\",\"help\":\"MAXLINKWEIGHT=*number*\",\"type\":\"value\"},{\"name\":\"MAXNODEWEIGHT=\",\"optional\":true,\"description\":\"specifies the maximum sum of node weights in a clique. The default is the largest number that can be represented by a double. When the default is used, no cliques are removed from the results.\",\"help\":\"MAXNODEWEIGHT=*number*\",\"type\":\"value\"},{\"name\":\"MAXSIZE=\",\"optional\":true,\"description\":\"specifies the maximum number of nodes in a clique. The default is the largest number that can be represented by a 32-bit integer. When the default is used, no cliques are removed from the results.\",\"help\":\"MAXSIZE=*number*\",\"type\":\"value\"},{\"name\":\"MAXTIME=\",\"optional\":true,\"description\":\"specifies the maximum amount of time to spend finding cliques. The default is the largest number that can be represented by a double.\",\"help\":\"MAXTIME=*number*\",\"type\":\"value\"},{\"name\":\"MINLINKWEIGHT=\",\"optional\":true,\"description\":\"specifies the minimum sum of link weights in a clique. The default is the largest (in magnitude) negative number that can be represented by a double. When the default is used, no cliques are removed from the results.\",\"help\":\"MINLINKWEIGHT=*number*\",\"type\":\"value\"},{\"name\":\"MINNODEWEIGHT=\",\"optional\":true,\"description\":\"specifies the minimum sum of node weights in a clique. The default is the largest (in magnitude) negative number that can be represented by a double, which causes no cliques to be removed from the results.\",\"help\":\"MINNODEWEIGHT=*number*\",\"type\":\"value\"},{\"name\":\"MINSIZE=\",\"optional\":true,\"description\":\"specifies the minimum number of nodes in a clique. By default, MINSIZE=1 and no cliques are removed from the results.\",\"help\":\"MINSIZE=*number*\",\"type\":\"value\"},{\"name\":\"OUT=\",\"optional\":true,\"description\":\"specifies the output data table to contain the maximal cliques.\",\"help\":\"OUT=*libref.data-table*\",\"type\":\"dataSet\"}]},{\"name\":\"COMMUNITY\",\"description\":\"The COMMUNITY statement invokes an algorithm that detects communities of the input graph.\",\"help\":\"COMMUNITY &lt;*options*&gt;;    \",\"arguments\":[{\"name\":\"ALGORITHM=\",\"optional\":true,\"description\":\"specifies the algorithm to use for community detection. By default, ALGORITHM=LOUVAIN.\",\"help\":\"ALGORITHM=LOUVAIN | LABELPROP\",\"type\":\"choice\",\"arguments\":[{\"name\":\"LABELPROPAGATION\",\"description\":\"uses the label propagation algorithm proposed by Raghavan, Albert, and Kumara (2007)\",\"type\":\"standalone\"},{\"name\":\"LOUVAIN\",\"description\":\"uses the Louvain algorithm proposed in Blondel et al. (2008).\",\"type\":\"standalone\"}]},{\"name\":\"FIX=\",\"optional\":true,\"description\":\"specifies which data variable defines groups of nodes to fix together in a community.\",\"help\":\"FIX=*column*\",\"type\":\"value\"},{\"name\":\"LABELUPDATEMODE=\",\"optional\":true,\"description\":\"specifies whether nodes update their labels according to the labels of their neighbors at the current iteration (asynchronous) or the previous iteration (synchronous). This option is ignored unless you specify ALGORITHM=LABELPROPAGATION. By default, LABELUPDATEMODE=SYNCHRONOUS..\",\"help\":\"LABELUPDATEMODE=ASYNCHRONOUS | SYNCHRONOUS\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ASYNCHRONOUS\",\"type\":\"standalone\"},{\"name\":\"SYNCHRONOUS\",\"type\":\"standalone\"}]},{\"name\":\"LINKREMOVALRATIO=\",\"optional\":true,\"description\":\"specifies the percentage of small-weight links to be removed around each node neighborhood. A link is usually removed if its weight is relatively smaller than the weights of the neighboring links.\",\"help\":\"LINKREMOVALRATIO=*number*\",\"type\":\"value\"},{\"name\":\"MAXITERS=\",\"optional\":true,\"description\":\"specifies the maximum number of iterations allowed in the algorithm. The default is 20 when ALGORITHM=LOUVAIN and 100 when ALGORITHM=LABEL_PROP or ALGORITHM=PARALLEL_LABEL_PROP.\",\"help\":\"MAXITERS=*number*\",\"type\":\"value\"},{\"name\":\"OUTCOMMLINKS=\",\"optional\":true,\"description\":\"specifies the output data table to describe the links between communities.\",\"help\":\"OUTCOMMLINKS=*libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"OUTCOMMUNITY=\",\"optional\":true,\"description\":\"specifies the output data table to contain properties about each community.\",\"help\":\"OUTCOMMUNITY=*libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"OUTLEVEL=\",\"optional\":true,\"description\":\"specifies the output data table to contain community information at different resolution levels.\",\"help\":\"OUTLEVEL=*libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"OUTOVERLAP=\",\"optional\":true,\"description\":\"specifies the output data table to describe the intensity of each node.\",\"help\":\"OUTOVERLAP=*libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"RANDOMFACTOR=\",\"optional\":true,\"description\":\"specifies the random factor for the synchronous label propagation algorithm. The default is 0.15.\",\"help\":\"RANDOMFACTOR=*number*\",\"type\":\"value\"},{\"name\":\"RANDOMSEED=\",\"optional\":true,\"description\":\"specifies the random seed for the synchronous label propagation algorithm. By default, RANDOMSEED=1234.\",\"help\":\"RANDOMSEED=*number*\",\"type\":\"value\"},{\"name\":\"RECURSIVE\",\"optional\":true,\"description\":\"breaks down large communities into smaller ones until the specified conditions are satisfied.\",\"help\":\"RECURSIVE(*options*)\",\"type\":\"value\",\"arguments\":[{\"name\":\"MAXCOMMSIZE=\",\"description\":\"specifies the maximum number of nodes to be contained in any community. The default is the largest number that can be represented by a 32-bit integer.\",\"type\":\"value\"},{\"name\":\"MAXDIAMETER=\",\"description\":\"specifies the maximum number of links on the shortest paths between any pair of nodes in any community. The default is the largest number that can be represented by a 32-bit integer.\",\"type\":\"value\"},{\"name\":\"RELATION=\",\"description\":\"the relationship between the values of MAXCOMMSIZE= and MAXDIAMETER= options.\",\"type\":\"value\"}]},{\"name\":\"RESOLUTIONLIST=\",\"optional\":true,\"description\":\"specifies a list of resolution values (nonnegative numbers) that are separated by spaces (for example, 4.3 2.1 1.0 0.6 0.2).\",\"help\":\"RESOLUTIONLIST=*num-list*\",\"type\":\"value\"},{\"name\":\"TOLERANCE=\",\"optional\":true,\"aliases\":[\"MODULARITY=\"],\"description\":\"specifies the tolerance value for when to stop iterations. By default, TOLERANCE=0.05 if ALGORITHM=LABELPROPAGATION and LABELUPDATEMODE=SYNCHRONOUS; otherwise TOLERANCE=0.001.\",\"help\":\"TOLERANCE=*number*\",\"type\":\"value\"},{\"name\":\"WARMSTART=\",\"optional\":true,\"description\":\"specifies which data variable defines the initial node partition for warm starting community detection.\",\"help\":\"WARMSTART=*column*\",\"type\":\"value\"}]},{\"name\":\"CONNECTEDCOMPONENTS\",\"description\":\"The CONNECTEDCOMPONENTS statement invokes an algorithm that finds the connected components of the input graph.\",\"help\":\"CONNECTEDCOMPONENTS &lt;*options*&gt;;    \",\"arguments\":[{\"name\":\"ALGORITHM=\",\"optional\":true,\"description\":\"specifies the algorithm to use for calculating connected components. By default, ALGORITHM=AUTOMATIC.\",\"help\":\"ALGORITHM=AUTOMATIC | AFFOREST | DFS | UNIONFIND\",\"type\":\"choice\",\"arguments\":[{\"name\":\"AUTOMATIC\",\"description\":\"uses the union-find or afforest algorithm for undirected graphs and the depth-first search algorithm for directed graphs.\",\"type\":\"standalone\"},{\"name\":\"AFFOREST\",\"description\":\"uses the afforest algorithm for connected components. You can use this algorithm only with undirected graphs.\",\"type\":\"standalone\"},{\"name\":\"DFS\",\"description\":\"uses the depth-first search algorithm for connected components.\",\"type\":\"standalone\"},{\"name\":\"UNIONFIND\",\"description\":\"uses the union-find algorithm for connected components. You can use this algorithm only with undirected graphs.\",\"type\":\"standalone\"}]},{\"name\":\"OUT=\",\"optional\":true,\"description\":\"specifies the output data table to contain the connected components summary results.\",\"help\":\"OUT=*libref.data-table*\",\"type\":\"dataSet\"}]},{\"name\":\"CORE\",\"description\":\"The CORE statement invokes an algorithm that finds the core decomposition of the input graph.\",\"help\":\"CORE &lt;*option*&gt;;    \",\"arguments\":[{\"name\":\"MAXTIME=\",\"optional\":true,\"description\":\"specifies the maximum amount of time to spend calculating the core decomposition. The default is the largest number that can be represented by a double.\",\"help\":\"MAXTIME=*number*\",\"type\":\"value\"}]},{\"name\":\"CYCLE\",\"description\":\"The CYCLE statement invokes an algorithm that finds the cycles (or the existence of a cycle) in the input graph.\",\"help\":\"CYCLE &lt;*options*&gt;;    \",\"arguments\":[{\"name\":\"ALGORITHM=\",\"optional\":true,\"description\":\"specifies which algorithm to use in enumerating cycles. By default, ALGORITHM=BACKTRACK for MAXLENGTH greater than 20; otherwise, ALGORITHM=BUILD.\",\"help\":\"ALGORITHM=BACKTRACK | BUILD\",\"type\":\"choice\",\"arguments\":[{\"name\":\"BACKTRACK\",\"description\":\"uses a backtracking algorithm based on Johnson (1975).\",\"type\":\"standalone\"},{\"name\":\"BUILD\",\"description\":\"uses a building algorithm based on Liu and Wang (2006).\",\"type\":\"standalone\"}]},{\"name\":\"MAXCYCLES=\",\"optional\":true,\"description\":\"specifies the maximum number of cycles for cycle enumeration to return. By default, MAXCYCLES=1.\",\"help\":\"MAXCYCLES=*number* | ALL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"number\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"ALL\",\"type\":\"standalone\"}]},{\"name\":\"MAXLENGTH=\",\"optional\":true,\"description\":\"specifies the maximum number of links in a cycle. The default is the largest number that can be represented by a 32-bit integer, which causes no cycles to be removed from the results.\",\"help\":\"MAXLENGTH=*number*\",\"type\":\"value\"},{\"name\":\"MAXLINKWEIGHT=\",\"optional\":true,\"description\":\"specifies the maximum sum of link weights in a cycle. The default is the largest number that can be represented by a double. When the default is used, no cycles are removed from the results.\",\"help\":\"MAXLINKWEIGHT=*number*\",\"type\":\"value\"},{\"name\":\"MAXNODEWEIGHT=\",\"optional\":true,\"description\":\"specifies the maximum sum of node weights in a cycle. The default is the largest number that can be represented by a double. When the default is used, no cycles are removed from the results.\",\"help\":\"MAXNODEWEIGHT=*number*\",\"type\":\"value\"},{\"name\":\"MAXTIME\",\"optional\":true,\"description\":\"specifies the maximum amount of time to spend finding cycles. The default is the largest number that can be represented by a double.\",\"type\":\"standalone\"},{\"name\":\"MINLENGTH=\",\"optional\":true,\"description\":\"specifies the minimum number of links in a cycle. By default, MINLENGTH=1 and no cycles are removed from the results.\",\"help\":\"MINLENGTH=*number*\",\"type\":\"value\"},{\"name\":\"MINLINKWEIGHT=\",\"optional\":true,\"description\":\"specifies the minimum sum of link weights in a cycle. The default is the largest (in magnitude) negative number that can be represented by a double. When the default is used, no cycles are removed from the results.\",\"help\":\"MINLINKWEIGHT=*number*\",\"type\":\"value\"},{\"name\":\"MINNODEWEIGHT=\",\"optional\":true,\"description\":\"specifies the minimum sum of node weights in a cycle. The default is the largest (in magnitude) negative number that can be represented by a double, which causes no cycles to be removed from the results.\",\"help\":\"MINNODEWEIGHT=*number*\",\"type\":\"value\"},{\"name\":\"OUTCYCLESLINKS=\",\"optional\":true,\"description\":\"specifies the output data table to contain the links of the cycles found.\",\"help\":\"OUTCYCLESLINKS=*libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"OUT=\",\"optional\":true,\"aliases\":[\"OUTCYCLESNODES=\"],\"description\":\"specifies the output data table to contain the nodes of the cycles found.\",\"help\":\"OUT=*libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"SOURCE=\",\"optional\":true,\"description\":\"specifies the source node for cycle calculations.\",\"help\":\"SOURCE=*source-node*\",\"type\":\"value\"}]},{\"name\":\"DISPLAY\",\"description\":\"The DISPLAY statement enables you to specify a list of display tables to display or exclude.\",\"help\":\"DISPLAY &lt;*table-list*&gt;&lt;*/ options*&gt;;    \",\"arguments\":[{\"name\":\"CASESENSITIVE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"performs a case-sensitive comparison of table names in the table-list to display table names when tables are subsetted for display. To preserve case, you must enclose table names in the table-list in quotation marks.\",\"type\":\"standalone\"},{\"name\":\"EXCLUDE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"displays all display tables except those that you specify in the table-list.\",\"type\":\"standalone\"},{\"name\":\"EXCLUDEALL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses display of all tables. This option takes precedence over the other options.\",\"type\":\"standalone\"},{\"name\":\"TRACE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"displays the display table names, labels, and paths.\",\"type\":\"standalone\"}]},{\"name\":\"DISPLAYOUT\",\"description\":\"The DISPLAYOUT statement enables you to create output tables from your displayed output.\",\"help\":\"DISPLAYOUT *table-spec-list*&lt;*/ options*&gt;;    \",\"arguments\":[{\"name\":\"INCLUDEALL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"creates output tables for all display tables.\",\"type\":\"standalone\"},{\"name\":\"NOREPLACE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"does not replace any existing output table of the same name.\",\"type\":\"standalone\"},{\"name\":\"REPEATED\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"replicates all output tables on all nodes.\",\"type\":\"standalone\"}]},{\"name\":\"LINKSQUERYVAR\",\"description\":\"The LINKSQUERYVAR statement enables you to explicitly specify the data variable names for PROC NETWORK to use when it reads the data table that you specify in the LINKSQUERY= option in the PROC NETWORK statement.\",\"help\":\"LINKSQUERYVAR &lt;*options*&gt;;    \",\"arguments\":[{\"name\":\"EXPANDLOWER=\",\"optional\":true,\"description\":\"specifies the name of the data variable for the query path expansion lower bounds.\",\"help\":\"EXPANDLOWER=*column*\",\"type\":\"value\"},{\"name\":\"EXPANDUPPER=\",\"optional\":true,\"description\":\"specifies the name of the data variable for the query path expansion upper bounds.\",\"help\":\"EXPANDUPPER=*column*\",\"type\":\"value\"},{\"name\":\"FROM=\",\"optional\":true,\"aliases\":[\"FROMVAR=\"],\"description\":\"specifies the name of the data variable for the from nodes. The default name is from.\",\"help\":\"FROM=*column*\",\"type\":\"value\"},{\"name\":\"TO=\",\"optional\":true,\"aliases\":[\"TOVAR=\"],\"description\":\"specifies the name of the data variable for the to nodes. The default name is to.\",\"help\":\"TO=*column*\",\"type\":\"value\"},{\"name\":\"VARS=\",\"optional\":true,\"description\":\"specifies the names of the data variables to read.\",\"help\":\"VARS=(*columns*)\",\"type\":\"value\"},{\"name\":\"VARSMATCH=\",\"optional\":true,\"description\":\"specifies the names of the data variables to match in the query graph. The value of the variables can be numeric or character.\",\"help\":\"VARSMATCH=(*columns*)\",\"type\":\"value\"}]},{\"name\":\"LINKSVAR\",\"description\":\"The LINKSVAR statement enables you to explicitly specify the data variable names for PROC NETWORK to use when it reads the data table that you specify in the LINKS= option in the PROC NETWORK statement.\",\"help\":\"LINKSVAR &lt;*options*&gt;;    \",\"arguments\":[{\"name\":\"AUXWEIGHT=\",\"optional\":true,\"description\":\"specifies the name of the data variable for the auxiliary link weights. The value of the column variable must be numeric.\",\"help\":\"AUXWEIGHT=*column*\",\"type\":\"value\"},{\"name\":\"FROM=\",\"optional\":true,\"aliases\":[\"FROMVAR=\"],\"description\":\"specifies the name of the data variable for the from nodes. The default name is from.\",\"help\":\"FROM=*column*\",\"type\":\"value\"},{\"name\":\"TO=\",\"optional\":true,\"aliases\":[\"TOVAR=\"],\"description\":\"specifies the name of the data variable for the to nodes. The default name is to.\",\"help\":\"TO=*column*\",\"type\":\"value\"},{\"name\":\"VARS=\",\"optional\":true,\"description\":\"specifies the names of the additional data variables to read.\",\"help\":\"VARS=(*columns*)\",\"type\":\"value\"},{\"name\":\"VARSOUT=\",\"optional\":true,\"description\":\"specifies the names of the additional data variables to write to the output results. By default, the variables to write are the same as the variables read (as specified in the VARS= option).\",\"help\":\"VARSOUT=(*columns*)\",\"type\":\"value\"},{\"name\":\"WEIGHT=\",\"optional\":true,\"description\":\"specifies the name of the data variable for the link weights. The default name is weight.\",\"help\":\"WEIGHT=*column*\",\"type\":\"value\"}]},{\"name\":\"LOADGRAPH\",\"description\":\"The LOADGRAPH statement reads the input graph from tables that are specified by the LINKS= option or the NODES= option (or both) in the PROC NETWORK statement, and it retains the graph in memory.\",\"help\":\"LOADGRAPH ;    \"},{\"name\":\"NODESIMILARITY\",\"description\":\"The NODESIMILARITY statement invokes an algorithm that calculates how similar the neighborhoods of pairs of nodes are in an input graph.\",\"help\":\"NODESIMILARITY &lt;*options*&gt;;    \",\"arguments\":[{\"name\":\"ADAMICADAR=\",\"optional\":true,\"description\":\"specifies whether to calculate Adamic-Adar node similarity. By default, ADAMICADAR=FALSE.\",\"help\":\"ADAMICADAR=TRUE |  FALSE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"TRUE\",\"description\":\"calculates Adamic-Adar node similarity and saves the results in the output table that is specified in the OUTSIMILARITY= option.\",\"type\":\"standalone\"},{\"name\":\"FALSE\",\"description\":\"does not calculate Adamic-Adar node similarity.\",\"type\":\"standalone\"}]},{\"name\":\"BOTTOMK=\",\"optional\":true,\"description\":\"specifies the maximum number of lowest-ranked similarity pairs to output in the OUTSIMILARITY= table, where number can be any integer greater than or equal to 0.\",\"help\":\"BOTTOMK=*number*\",\"type\":\"value\"},{\"name\":\"COMMONNEIGHBORS=\",\"optional\":true,\"description\":\"specifies whether to calculate common neighbors node similarity. By default, COMMONNEIGHBORS=FALSE.\",\"help\":\"COMMONNEIGHBORS=TRUE |  FALSE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"TRUE\",\"description\":\"calculates common neighbors node similarity and saves the results in the output table that is specified in the OUTSIMILARITY= option.\",\"type\":\"standalone\"},{\"name\":\"FALSE\",\"description\":\"does not calculate common neighbors node similarity.\",\"type\":\"standalone\"}]},{\"name\":\"CONVERGENCETHRESHOLD=\",\"optional\":true,\"description\":\"specifies the convergence threshold for vector similarity. By default, CONVERGENCETHRESHOLD=0.01.\",\"help\":\"CONVERGENCETHRESHOLD=*number*\",\"type\":\"value\"},{\"name\":\"COSINE=\",\"optional\":true,\"description\":\"specifies whether to calculate cosine node similarity. By default, COSINE=FALSE.\",\"help\":\"COSINE=TRUE | FALSE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"TRUE\",\"description\":\"calculates cosine node similarity and saves the results in the output table that is specified in the OUTSIMILARITY= option.\",\"type\":\"standalone\"},{\"name\":\"FALSE\",\"description\":\"does not calculate cosine node similarity.\",\"type\":\"standalone\"}]},{\"name\":\"DICE=\",\"optional\":true,\"description\":\"specifies whether to calculate Dice node similarity. By default, DICE=FALSE.\",\"help\":\"DICE=TRUE | FALSE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"TRUE\",\"description\":\"calculates Dice node similarity and saves the results in the output table that is specified in the OUTSIMILARITY= option.\",\"type\":\"standalone\"},{\"name\":\"FALSE\",\"description\":\"does not calculate Dice node similarity.\",\"type\":\"standalone\"}]},{\"name\":\"EMBED=\",\"optional\":true,\"description\":\"specifies whether to calculate vector embeddings. By default, EMBED=FALSE when VECTOR=FALSE, and EMBED=TRUE when VECTOR=TRUE.\",\"help\":\"EMBED=TRUE | FALSE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"TRUE\",\"description\":\"calculates vector embeddings and saves the results in the output table that is specified in the OUTNODES= option.\",\"type\":\"standalone\"},{\"name\":\"FALSE\",\"description\":\"does not calculate vector embeddings.\",\"type\":\"standalone\"}]},{\"name\":\"EMBEDDINGS=\",\"optional\":true,\"description\":\"specifies the names of one or more data variables to be used as precalculated vector embeddings.\",\"help\":\"EMBEDDINGS=(*columns*)\",\"type\":\"value\"},{\"name\":\"JACCARD=\",\"optional\":true,\"description\":\"specifies whether to calculate Jaccard node similarity.\",\"help\":\"JACCARD=TRUE | FALSE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"TRUE\",\"description\":\"calculates Jaccard node similarity and saves the results in the output table that is specified in the OUTSIMILARITY= option.\",\"type\":\"standalone\"},{\"name\":\"FALSE\",\"description\":\"does not calculate Jaccard node similarity.\",\"type\":\"standalone\"}]},{\"name\":\"MAXSCORE=\",\"optional\":true,\"description\":\"specifies the maximum similarity score to output in the OUTSIMILARITY= table, where number must be in the range [0, 1]. By default, MAXSCORE=1.\",\"help\":\"MAXSCORE=*number*\",\"type\":\"value\"},{\"name\":\"MINSCORE=\",\"optional\":true,\"description\":\"specifies the minimum similarity score to output in the OUTSIMILARITY= table, where number must be in the range [0, 1]. By default, MINSCORE=0.\",\"help\":\"MINSCORE=*number*\",\"type\":\"value\"},{\"name\":\"NDIMENSIONS=\",\"optional\":true,\"description\":\"specifies the number of dimensions for node-embedding vectors. By default, NDIMENSIONS=100.\",\"help\":\"NDIMENSIONS=*number*\",\"type\":\"value\"},{\"name\":\"NEGATIVESAMPLEFACTOR=\",\"optional\":true,\"description\":\"specifies a multiplier for the number of negative training samples per positive training sample for the vector algorithm. By default, NEGATIVESAMPLEFACTOR=5.\",\"help\":\"NEGATIVESAMPLEFACTOR=*number*\",\"type\":\"value\"},{\"name\":\"NSAMPLES=\",\"optional\":true,\"description\":\"specifies the number of training samples for the vector algorithm. NSAMPLES=1000 times the number of links in the input graph.\",\"help\":\"NSAMPLES=*number*\",\"type\":\"value\"},{\"name\":\"ORDERBY=\",\"optional\":true,\"description\":\"specifies the similarity measure to use for ranking the similarity pairs to output in the OUTSIMILARITY= table.\",\"help\":\"ORDERBY=JACCARD | COMMONNEIGHBORS | ADAMICADAR | VECTOR | COSINE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"JACCARD\",\"type\":\"standalone\"},{\"name\":\"COMMONNEIGHBORS\",\"type\":\"standalone\"},{\"name\":\"ADAMICADAR\",\"type\":\"standalone\"},{\"name\":\"VECTOR\",\"type\":\"standalone\"},{\"name\":\"COSINE\",\"type\":\"standalone\"}]},{\"name\":\"OUTCONVERGENCE=\",\"optional\":true,\"description\":\"specifies the output data table to contain the convergence curves for vector similarity.\",\"help\":\"OUTCONVERGENCE=*libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"OUTSIMILARITY=\",\"optional\":true,\"description\":\"specifies the output data table to contain the similarity scores between pairs of nodes.\",\"help\":\"OUTSIMILARITY=*libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"PROXIMITYORDER=\",\"optional\":true,\"description\":\"specifies the type of proximity to use in the vector algorithm.\",\"help\":\"PROXIMITYORDER=FIRST | SECOND\",\"type\":\"choice\",\"arguments\":[{\"name\":\"FIRST\",\"description\":\"uses first-order proximity in the vector algorithm.\",\"type\":\"standalone\"},{\"name\":\"SECOND\",\"description\":\"uses second-order proximity in the vector algorithm.\",\"type\":\"standalone\"}]},{\"name\":\"SINK=\",\"optional\":true,\"description\":\"specifies the sink node for node similarity calculations.\",\"help\":\"SINK=*sink-node*\",\"type\":\"value\"},{\"name\":\"SOURCE=\",\"optional\":true,\"description\":\"specifies the source node for node similarity calculations.\",\"help\":\"SOURCE=*source-node*\",\"type\":\"value\"},{\"name\":\"SPARSE=\",\"optional\":true,\"description\":\"specifies whether to output sparse similarity data.\",\"help\":\"SPARSE=TRUE | FALSE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"TRUE\",\"description\":\"outputs a sparse set of node pairs in the OUTSIMILARITY= table.\",\"type\":\"standalone\"},{\"name\":\"FALSE\",\"description\":\"outputs a dense set of node pairs in the OUTSIMILARITY= table.\",\"type\":\"standalone\"}]},{\"name\":\"TOPK=\",\"optional\":true,\"description\":\"specifies the maximum number of highest-ranked similarity pairs to output in the OUTSIMILARITY= table, where number can be any integer greater than or equal to 0.\",\"help\":\"TOPK=*number*\",\"type\":\"value\"},{\"name\":\"VECTOR=\",\"optional\":true,\"description\":\"specifies whether to calculate vector node similarity. By default, VECTOR=FALSE.\",\"help\":\"VECTOR=TRUE | FALSE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"TRUE\",\"description\":\"calculates vector node similarity and saves the results in the output table that is specified in the OUTSIMILARITY= option.\",\"type\":\"standalone\"},{\"name\":\"FALSE\",\"description\":\"does not calculate vector node similarity.\",\"type\":\"standalone\"}]}]},{\"name\":\"NODESQUERYVAR\",\"description\":\"The NODESQUERYVAR statement enables you to explicitly specify the data variable names for PROC NETWORK to use when it reads the data table that you specify in the NODESQUERY= option in the PROC NETWORK statement.\",\"help\":\"NODESQUERYVAR &lt;*options*&gt;;    \",\"arguments\":[{\"name\":\"NODE=\",\"optional\":true,\"description\":\"specifies the name of the data variable for the nodes. The value of the variable can be numeric or character.\",\"help\":\"NODE=*column*\",\"type\":\"value\"},{\"name\":\"VARS=\",\"optional\":true,\"description\":\"specifies the names of the data variables to read. The value of the variables can be numeric or character.\",\"help\":\"VARS=(*columns*)\",\"type\":\"value\"},{\"name\":\"VARSMATCH=\",\"optional\":true,\"description\":\"specifies the names of the data variables to match in the query graph. The value of the variables can be numeric or character.\",\"help\":\"VARSMATCH=(*columns*)\",\"type\":\"value\"}]},{\"name\":\"NODESSUBSETVAR\",\"description\":\"The NODESSUBSETVAR statement enables you to explicitly specify the data variable names for PROC NETWORK to use when it reads the data table that you specify in the NODESSUBSET= option in the PROC NETWORK statement.\",\"help\":\"NODESSUBSETVAR &lt;*options*&gt;;    \",\"arguments\":[{\"name\":\"NODE=\",\"optional\":true,\"description\":\"specifies the name of the data variable for the nodes. The value of the column variable can be numeric or character.\",\"help\":\"NODE=*column*\",\"type\":\"value\"},{\"name\":\"REACH=\",\"optional\":true,\"description\":\"specifies the name of the data variable for the reach identifier. The value of the column variable must be numeric.\",\"help\":\"REACH=*column*\",\"type\":\"value\"},{\"name\":\"SINK=\",\"optional\":true,\"description\":\"specifies the name of the data variable for the sink indicator. The value of the column variable must be numeric.\",\"help\":\"SINK=*column*\",\"type\":\"value\"},{\"name\":\"SOURCE=\",\"optional\":true,\"description\":\"specifies the name of the data variable for the source indicator. The value of the column variable must be numeric.\",\"help\":\"SOURCE=*column*\",\"type\":\"value\"}]},{\"name\":\"NODESVAR\",\"description\":\"The NODESVAR statement enables you to explicitly specify the data variable names for PROC NETWORK to use when it reads the data table that you specify in the NODES= option in the PROC NETWORK statement.\",\"help\":\"NODESVAR &lt;*options*&gt;;    \",\"arguments\":[{\"name\":\"NODE=\",\"optional\":true,\"description\":\"specifies the name of the data variable for the nodes. The value of the column variable can be numeric or character. The default name is node.\",\"help\":\"NODE=*column*\",\"type\":\"value\"},{\"name\":\"VARS=\",\"optional\":true,\"description\":\"specifies the names of the additional data variables to read. The value of the variables can be numeric or character.\",\"help\":\"VARS=(*column(s)*)\",\"type\":\"value\"},{\"name\":\"VARSOUT=\",\"optional\":true,\"description\":\"specifies the names of the additional data variables to write to the output results. The value of the variables can be numeric or character. By default, the variables to write are the same as the variables read (as specified in the VARS= option).\",\"help\":\"VARSOUT=(*column(s)*)\",\"type\":\"value\"},{\"name\":\"WEIGHT=\",\"optional\":true,\"description\":\"specifies the name of the data variable for the node weights. The value of the column variable must be numeric. The default name is weight.\",\"help\":\"WEIGHT=*column*\",\"type\":\"value\"}]},{\"name\":\"PATH\",\"description\":\"The PATH statement invokes an algorithm that finds the paths in the input graph.\",\"help\":\"PATH &lt;*options*&gt;;    \",\"arguments\":[{\"name\":\"MAXLENGTH=\",\"optional\":true,\"description\":\"specifies the maximum number of links in a path. The default is the largest number that can be represented by a 32-bit integer. When the default is used, no paths are removed from the results.\",\"help\":\"MAXLENGTH=*number*\",\"type\":\"value\"},{\"name\":\"MAXLINKWEIGHT=\",\"optional\":true,\"description\":\"specifies the maximum sum of link weights in a path. The default is the largest number that can be represented by a double. When the default is used, no paths are removed from the results.\",\"help\":\"MAXLINKWEIGHT=*number*\",\"type\":\"value\"},{\"name\":\"MAXNODEWEIGHT=\",\"optional\":true,\"description\":\"specifies the maximum sum of node weights in a path. The default is the largest number that can be represented by a double. When the default is used, no paths are removed from the results.\",\"help\":\"MAXNODEWEIGHT=*number*\",\"type\":\"value\"},{\"name\":\"MAXTIME=\",\"optional\":true,\"description\":\"specifies the maximum amount of time to spend finding paths. The default is the largest number that can be represented by a double.\",\"help\":\"MAXTIME=*number*\",\"type\":\"value\"},{\"name\":\"MINLENGTH=\",\"optional\":true,\"description\":\"specifies the minimum number of links in a path. By default, MINLENGTH=1 and no paths are removed from the results.\",\"help\":\"MINLENGTH=*number*\",\"type\":\"value\"},{\"name\":\"MINLINKWEIGHT=\",\"optional\":true,\"description\":\"specifies the minimum sum of link weights in a path. The default is the largest (in magnitude) negative number that can be represented by a double. When the default is used, no paths are removed from the results.\",\"help\":\"MINLINKWEIGHT=*number*\",\"type\":\"value\"},{\"name\":\"MINNODEWEIGHT=\",\"optional\":true,\"description\":\"specifies the minimum sum of node weights in a path. The default is the largest (in magnitude) negative number that can be represented by a double, which causes no paths to be removed from the results.\",\"help\":\"MINNODEWEIGHT=number\",\"type\":\"value\"},{\"name\":\"OUTPATHSLINKS=\",\"optional\":true,\"aliases\":[\"OUTPATHS=\"],\"description\":\"specifies the output data table to contain the path links.\",\"help\":\"OUTPATHSLINKS=*libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"OUTPATHSNODES=\",\"optional\":true,\"description\":\"specifies the output data table to contain the path nodes.\",\"help\":\"OUTPATHSNODES=*libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"SINK=\",\"optional\":true,\"description\":\"specifies the sink node for path calculations.\",\"help\":\"SINK=*sink-node*\",\"type\":\"value\"},{\"name\":\"SOURCE=\",\"optional\":true,\"description\":\"specifies the source node for path calculations.\",\"help\":\"SOURCE=*source-node*\",\"type\":\"value\"}]},{\"name\":\"PATTERNMATCH\",\"description\":\"The PATTERNMATCH statement invokes an algorithm that searches for subgraph patterns in an input graph.\",\"help\":\"PATTERNMATCH &lt;*options*&gt;;    \",\"arguments\":[{\"name\":\"CODE=\",\"optional\":true,\"description\":\"specifies the code that defines FCMP functions.\",\"help\":\"CODE=*string*\",\"type\":\"value\"},{\"name\":\"INDUCED=\",\"optional\":true,\"description\":\"specifies whether to filter matches by using the induced subgraph of the match. By default, INDUCED=FALSE.\",\"help\":\"INDUCED=TRUE | FALSE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"TRUE\",\"description\":\"keeps only matches whose induced subgraph is topologically equivalent to the query graph.\",\"type\":\"standalone\"},{\"name\":\"FALSE\",\"description\":\"does not filter by using the induced subgraph of the match.\",\"type\":\"standalone\"}]},{\"name\":\"LINKFILTER=\",\"optional\":true,\"description\":\"specifies the FCMP function for link filters.\",\"help\":\"LINKFILTER=*function-name*\",\"type\":\"value\"},{\"name\":\"LINKPAIRFILTER=\",\"optional\":true,\"description\":\"specifies the FCMP function for link-pair filters.\",\"help\":\"LINKPAIRFILTER=*function-name*\",\"type\":\"value\"},{\"name\":\"MATCHFILTER=\",\"optional\":true,\"description\":\"specifies the FCMP function for a filter that is based on a potential match (that is, any subset of nodes or links or both).\",\"help\":\"MATCHFILTER=*function-name*\",\"type\":\"value\"},{\"name\":\"MAXMATCHES=\",\"optional\":true,\"aliases\":[\"MAXMATCHESPERQUERY\"],\"description\":\"specifies the maximum number of matches to return for each pattern-matching query. By default, MAXMATCHESPERQUERY=ALL.\",\"help\":\"MAXMATCHES=*number* | ALL\",\"type\":\"value\"},{\"name\":\"MAXTIME=\",\"optional\":true,\"description\":\"specifies the maximum amount of time to spend in the pattern matching algorithm. The default is the largest number that can be represented by a double.\",\"help\":\"MAXTIME=*number*\",\"type\":\"value\"},{\"name\":\"NODEFILTER=\",\"optional\":true,\"description\":\"specifies the FCMP function for node filters.\",\"help\":\"NODEFILTER=*function-name*\",\"type\":\"value\"},{\"name\":\"NODEPAIRFILTER=\",\"optional\":true,\"description\":\"specifies the FCMP function for node-pair filters.\",\"help\":\"NODEPAIRFILTER=*function-name*\",\"type\":\"value\"},{\"name\":\"OUTMATCHGRAPHLINKS=\",\"optional\":true,\"description\":\"specifies the links output data table for the induced subgraph of matches.\",\"help\":\"OUTMATCHGRAPHLINKS=*libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"OUTMATCHGRAPHNODES=\",\"optional\":true,\"description\":\"specifies the nodes output data table for the induced subgraph of matches.\",\"help\":\"OUTMATCHGRAPHNODES=*libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"OUTMATCHLINKS=\",\"optional\":true,\"description\":\"specifies the links output data table for matching subgraphs.\",\"help\":\"OUTMATCHLINKS=*libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"OUTMATCHNODES=\",\"optional\":true,\"description\":\"specifies the nodes output data table for matching subgraph mappings.\",\"help\":\"OUTMATCHNODES=*libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"OUTQUERYLINKS=\",\"optional\":true,\"description\":\"specifies the links query output data table to contain the generated queries.\",\"help\":\"OUTQUERYLINKS=*libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"OUTQUERYNODES=\",\"optional\":true,\"description\":\"specifies the nodes query output data table to contain the generated queries.\",\"help\":\"OUTQUERYNODES=*libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"OUTSUMMARY=\",\"optional\":true,\"description\":\"specifies the summary output data table for pattern match queries.\",\"help\":\"OUTSUMMARY=*libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"QUERYKEY=\",\"optional\":true,\"description\":\"specifies the name of the data variable for the query key. The value of the variable can be numeric or character.\",\"help\":\"QUERYKEY=*column*\",\"type\":\"value\"},{\"name\":\"QUERYKEYAGGREGATE=\",\"optional\":true,\"description\":\"specifies whether to aggregate nodes across query keys for creating the induced subgraph(s). By default, QUERYKEYAGGREGATE=TRUE.\",\"help\":\"QUERYKEYAGGREGATE=TRUE | FALSE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"TRUE\",\"description\":\"aggregates nodes across query keys for creating the induced subgraph(s).\",\"type\":\"standalone\"},{\"name\":\"FALSE\",\"description\":\"does not aggregate nodes across query keys for creating the induced subgraphs(s).\",\"type\":\"standalone\"}]}]},{\"name\":\"PROJECTION\",\"description\":\"The PROJECTION statement invokes an algorithm that calculates the network projection of the multiple-partition input graph and produces a single-partition output graph.\",\"help\":\"PROJECTION &lt;*options*&gt;;    \",\"arguments\":[{\"name\":\"ADAMICADAR=\",\"optional\":true,\"description\":\"specifies whether to calculate Adamic-Adar node similarity. By default, ADAMICADAR=FALSE.\",\"help\":\"ADAMICADAR=TRUE | FALSE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"TRUE\",\"description\":\"calculates Adamic-Adar node similarity and saves the results in the output table that is specified in the OUTPROJECTIONLINKS= option.\",\"type\":\"standalone\"},{\"name\":\"FALSE\",\"description\":\"does not calculate Adamic-Adar node similarity.\",\"type\":\"standalone\"}]},{\"name\":\"COMMONNEIGHBORS=\",\"optional\":true,\"description\":\"specifies whether to calculate common neighbors node similarity. By default, COMMONNEIGHBORS=FALSE.\",\"help\":\"COMMONNEIGHBORS=TRUE | FALSE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"TRUE\",\"description\":\"calculates common neighbors node similarity and saves the results in the output table that is specified in the OUTPROJECTIONLINKS= option.\",\"type\":\"standalone\"},{\"name\":\"FALSE\",\"description\":\"does not calculate common neighbors node similarity.\",\"type\":\"standalone\"}]},{\"name\":\"COSINE=\",\"optional\":true,\"description\":\"specifies whether to calculate cosine node similarity. By default, COSINE=FALSE.\",\"help\":\"COSINE=TRUE | FALSE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"TRUE\",\"description\":\"calculates cosine node similarity and saves the results in the output table that is specified in the OUTPROJECTIONLINKS= option.\",\"type\":\"standalone\"},{\"name\":\"FALSE\",\"description\":\"does not calculate cosine node similarity.\",\"type\":\"standalone\"}]},{\"name\":\"DICE=\",\"optional\":true,\"description\":\"specifies whether to calculate Dice node similarity. By default, DICE=FALSE.\",\"help\":\"DICE=TRUE | FALSE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"TRUE\",\"description\":\"calculates Dice node similarity and saves the results in the output table that is specified in the OUTPROJECTIONLINKS= option.\",\"type\":\"standalone\"},{\"name\":\"FALSE\",\"description\":\"does not calculate Dice node similarity.\",\"type\":\"standalone\"}]},{\"name\":\"DIRECTEDMETHOD=\",\"optional\":true,\"description\":\"specifies the method to use for projection of directed graphs. This option can be used only for directed graphs. By default, DIRECTEDMETHOD=CONVERGING.\",\"help\":\"DIRECTEDMETHOD=CONVERGING | DIVERGING | TRANSITIVE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"CONVERGING\",\"description\":\"uses shared out-neighbors to define projected links.\",\"type\":\"standalone\"},{\"name\":\"DIVERGING\",\"description\":\"uses shared in-neighbors to define projected links.\",\"type\":\"standalone\"},{\"name\":\"TRANSITIVEs\",\"description\":\"uses directed paths of length two to define projected links.\",\"type\":\"standalone\"}]},{\"name\":\"JACCARD=\",\"optional\":true,\"description\":\"specifies whether to calculate Jaccard node similarity. By default, JACCARD=FALSE.\",\"help\":\"JACCARD=TRUE | FALSE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"TRUE\",\"description\":\"calculates Jaccard node similarity and saves the results in the output table that is specified in the OUTPROJECTIONLINKS= option.\",\"type\":\"standalone\"},{\"name\":\"FALSE\",\"description\":\"does not calculate Jaccard node similarity.\",\"type\":\"standalone\"}]},{\"name\":\"OUTNEIGHBORSLIST=\",\"optional\":true,\"description\":\"specifies the output data table to contain the lists of common neighbors between pairs of nodes.\",\"help\":\"OUTNEIGHBORSLIST=*libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"OUTPROJECTIONLINKS=\",\"optional\":true,\"description\":\"specifies the output data table to contain the links of the projected graph.\",\"help\":\"OUTPROJECTIONLINKS=*libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"OUTPROJECTIONNODES=\",\"optional\":true,\"description\":\"specifies the output data table to contain the nodes of the projected graph.\",\"help\":\"OUTPROJECTIONNODES=*libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"PARTITION=\",\"optional\":true,\"description\":\"specifies the name of the data variable for the partition flag. The value of the variable must be 0, 1, or missing.\",\"help\":\"PARTITION=*column*\",\"type\":\"value\"}]},{\"name\":\"REACH\",\"description\":\"The REACH statement invokes an algorithm that calculates the reach (ego) network in an input graph.\",\"help\":\"REACH &lt;*options*&gt;;    \",\"arguments\":[{\"name\":\"DIGRAPH\",\"optional\":true,\"description\":\"calculates the directed reach counts when computing the reach networks and includes the directed counts in the resulting output data table, which is specified in the OUTCOUNTS= option. This option requires MAXREACH=1.\",\"type\":\"standalone\"},{\"name\":\"EACHSOURCE\",\"optional\":true,\"description\":\"treats each node as a source and calculates a reach network from each one.\",\"type\":\"standalone\"},{\"name\":\"MAXREACH=\",\"optional\":true,\"description\":\"specifies the maximum number of hops from each source node in a reach network. By default, MAXREACH=1.\",\"help\":\"MAXREACH=*number*\",\"type\":\"value\"},{\"name\":\"OUTCOUNTS=\",\"optional\":true,\"description\":\"specifies the output data table to contain the node counts in each reach network.\",\"help\":\"OUTCOUNTS=*libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"OUTREACHLINKS=\",\"optional\":true,\"description\":\"specifies the output data table to contain the links in each reach network.\",\"help\":\"OUTREACHLINKS=*libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"OUTREACHNODES=\",\"optional\":true,\"description\":\"specifies the output data table to contain the nodes in each reach network.\",\"help\":\"OUTREACHNODES=*libref.data-table*\",\"type\":\"dataSet\"}]},{\"name\":\"SHORTESTPATH\",\"description\":\"The SHORTESTPATH statement invokes an algorithm that calculates shortest paths between pairs of nodes in the input graph. By default, PROC NETWORK finds a shortest path for each possible combination of source and sink nodes.\",\"help\":\"SHORTESTPATH &lt;*options*&gt;;    \",\"arguments\":[{\"name\":\"MAXABSOLUTEOBJECTIVEGAP=\",\"optional\":true,\"aliases\":[\"MAXABSOBJGAP=\"],\"description\":\"specifies an acceptance criterion for the sum of link weights (CandidatePath) in paths relative to the sum of link weights in the shortest path (ShortestPath). The default is the largest number that can be represented by a double. When the default is used, no paths are removed from the results.\",\"help\":\"MAXABSOLUTEOBJECTIVEGAP=*number*\",\"type\":\"value\"},{\"name\":\"MAXPATHWEIGHT=\",\"optional\":true,\"aliases\":[\"MAXLINKWEIGHT=\"],\"description\":\"specifies the maximum path weight. The default is the largest number that can be represented by a double, which causes no paths to be removed from the results.\",\"help\":\"MAXPATHWEIGHT=*number*\",\"type\":\"value\"},{\"name\":\"MAXPATHSPERPAIR=\",\"optional\":true,\"description\":\"specifies the maximum number of ranked paths to find for each source-sink pair. By default, MAXPATHSPERPAIR=1 and the algorithm finds one shortest path between each source-sink pair.\",\"help\":\"MAXPATHSPERPAIR=*number*\",\"type\":\"value\"},{\"name\":\"MAXRELATIVEOBJECTIVEGAP=\",\"optional\":true,\"aliases\":[\"MAXRELOBJGAP=\"],\"description\":\"specifies an acceptance criterion for the sum of link weights (CandidatePath) in paths relative to the sum of link weights in the shortest path (ShortestPath). The default is the largest number that can be represented by a double. When the default is used, no paths are removed from the results.\",\"help\":\"MAXRELATIVEOBJECTIVEGAP=*number*\",\"type\":\"value\"},{\"name\":\"MINPATHWEIGHT=\",\"optional\":true,\"aliases\":[\"MINLINKWEIGHT=\"],\"description\":\"specifies the minimum sum of link weights in a path. The default is the largest (in magnitude) negative number that can be represented by a double. When the default is used, no paths are removed from the results.\",\"help\":\"MINPATHWEIGHT=*number*\",\"type\":\"value\"},{\"name\":\"OUTPATHS=\",\"optional\":true,\"aliases\":[\"OUT=\",\"OUTPATHSLINKS=\"],\"description\":\"specifies the output data table to contain the shortest path links.\",\"help\":\"OUTPATHS=*libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"OUTPATHSNODES=\",\"optional\":true,\"description\":\"specifies the output data table to contain the shortest path nodes.\",\"help\":\"OUTPATHSNODES=*libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"OUTSUMMARY=\",\"optional\":true,\"description\":\"specifies the output data table to contain descriptive statistics of the finite shortest paths for each source.\",\"help\":\"OUTSUMMARY=*libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"OUTWEIGHTS=\",\"optional\":true,\"description\":\"specifies the output data table to contain the total weight of the shortest path for each source-sink pair.\",\"help\":\"OUTWEIGHTS=*libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"SEQUENCE=\",\"optional\":true,\"description\":\"specifies which data variable in the nodes subset table defines the sequence of nodes to visit.\",\"help\":\"SEQUENCE=*column*\",\"type\":\"value\"},{\"name\":\"SINK=\",\"optional\":true,\"description\":\"specifies the sink node for shortest path calculations.\",\"help\":\"SINK=*sink-node*\",\"type\":\"value\"},{\"name\":\"SOURCE=\",\"optional\":true,\"description\":\"specifies the source node for shortest path calculations.\",\"help\":\"SOURCE=*source-node*\",\"type\":\"value\"}]},{\"name\":\"SMILESOPTIONS\",\"description\":\"The SMILESOPTIONS statement provides additional specifications for the molecular graph input that you specify in the SMILES= option.\",\"help\":\"SMILESOPTIONS &lt;*option*&gt;;    \",\"arguments\":[{\"name\":\"ADDHYDROGENS=\",\"optional\":true,\"description\":\"specifies whether or not to include hydrogen atoms when a molecular graph is generated from a SMILES string input. By default, ADDHYDROGENS=FALSE.\",\"help\":\"ADDHYDROGENS=TRUE | FALSE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"TRUE\",\"type\":\"standalone\"},{\"name\":\"FALSE\",\"type\":\"standalone\"}]}]},{\"name\":\"SUMMARY\",\"description\":\"The SUMMARY statement invokes an algorithm that calculates various summary metrics for an input graph.\",\"help\":\"SUMMARY &lt;*options*&gt;;    \",\"arguments\":[{\"name\":\"ASSORTATIVITYDEGREE=\",\"optional\":true,\"description\":\"calculates degree assortativity and specifies which type of calculation to perform.\",\"help\":\"ASSORTATIVITYDEGREE=WEIGHT | UNWEIGHT | BOTH\",\"type\":\"choice\",\"arguments\":[{\"name\":\"WEIGHT\",\"description\":\"calculates degree assortativity by using the weighted graph.\",\"type\":\"standalone\"},{\"name\":\"UNWEIGHT\",\"description\":\"calculates degree assortativity by using the unweighted graph.\",\"type\":\"standalone\"},{\"name\":\"BOTH\",\"description\":\"calculates degree assortativity by using both the weighted and unweighted graphs.\",\"type\":\"standalone\"}]},{\"name\":\"ASSORTATIVITYNOMINAL=\",\"optional\":true,\"description\":\"specifies the name of the data variable for computing the nominal assortativity.\",\"help\":\"ASSORTATIVITYNOMINAL=*column*\",\"type\":\"value\"},{\"name\":\"ASSORTATIVITYNUMERIC=\",\"optional\":true,\"description\":\"specifies the name of the data variable for computing the numeric assortativity.\",\"help\":\"ASSORTATIVITYNUMERIC=*column*\",\"type\":\"value\"},{\"name\":\"BICONNECTEDCOMPONENTS\",\"optional\":true,\"description\":\"calculates information about biconnected components. You can use this option only for an undirected graph.\",\"type\":\"standalone\"},{\"name\":\"CLUSTERINGCOEFFICIENT\",\"optional\":true,\"aliases\":[\"CLUSTERINGCOEF\"],\"description\":\"calculates information about clustering coefficients. You can use this option only for an undirected graph.\",\"type\":\"standalone\"},{\"name\":\"CONNECTEDCOMPONENTS\",\"optional\":true,\"description\":\"calculates information about connected components.\",\"type\":\"standalone\"},{\"name\":\"DIAMETERAPPROX=\",\"optional\":true,\"description\":\"calculates information about the approximate diameter and specifies which type of calculation to perform.\",\"help\":\"DIAMETERAPPROX=WEIGHT | UNWEIGHT | BOTH\",\"type\":\"choice\",\"arguments\":[{\"name\":\"WEIGHT\",\"description\":\"calculates the approximate diameter by using the weighted graph.\",\"type\":\"standalone\"},{\"name\":\"UNWEIGHT\",\"description\":\"calculates the approximate diameter by using the unweighted graph.\",\"type\":\"standalone\"},{\"name\":\"BOTH\",\"description\":\"calculates the approximate diameter by using both the weighted and unweighted graphs.\",\"type\":\"standalone\"}]},{\"name\":\"FINITEPATH\",\"optional\":true,\"description\":\"includes only finite values when calculating descriptive statistics that are related to shortest paths (eccentricity, diameter, and so on).\",\"type\":\"standalone\"},{\"name\":\"OUT=\",\"optional\":true,\"description\":\"specifies the output data table to contain the summary results.\",\"help\":\"OUT=*libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"SHORTESTPATH=\",\"optional\":true,\"description\":\"calculates information about shortest paths and specifies which type of calculation to perform.\",\"help\":\"SHORTESTPATH=WEIGHT | UNWEIGHT | BOTH\",\"type\":\"choice\",\"arguments\":[{\"name\":\"WEIGHT\",\"description\":\"calculates shortest paths by using the weighted graph.\",\"type\":\"standalone\"},{\"name\":\"UNWEIGHT\",\"description\":\"calculates shortest paths by using the unweighted graph.\",\"type\":\"standalone\"},{\"name\":\"BOTH\",\"description\":\"calculates shortest paths by using both the weighted and unweighted graphs.\",\"type\":\"standalone\"}]}]},{\"name\":\"TOPOLOGICALSORT\",\"description\":\"The TOPOLOGICALSORT statement calculates a topological ordering of the nodes of a directed acyclic input graph.\",\"help\":\"TOPOLOGICALSORT ;    \"},{\"name\":\"TRANSITIVECLOSURE\",\"description\":\"The TRANSITIVECLOSURE statement invokes an algorithm that calculates the transitive closure of an input graph.\",\"help\":\"TRANSITIVECLOSURE &lt;*option*&gt;;    \",\"arguments\":[{\"name\":\"OUT=\",\"optional\":true,\"description\":\"specifies the output data table to contain the transitive closure results.\",\"help\":\"OUT=*libref.data-table*\",\"type\":\"dataSet\"}]},{\"name\":\"UNLOADGRAPH\",\"description\":\"The UNLOADGRAPH statement deletes the in-memory graph that is specified in the GRAPH= option in the PROC NETWORK statement.\",\"help\":\"UNLOADGRAPH ;    \"}],\"supportSiteInformation\":{\"docsetId\":\"casmlnetwork\",\"docsetVersion\":\"v_018\",\"docsetTargetFile\":\"casmlnetwork_network_toc.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/NLIN.json",
    "content": "{\"name\":\"NLIN\",\"statements\":[{\"name\":\"PROC NLIN\",\"description\":\"The NLIN procedure fits nonlinear regression models and estimates the parameters by nonlinear least squares or weighted nonlinear least squares. You specify the model with programming statements. This gives you great flexibility in modeling the relationship between the response variable and independent (regressor) variables. It does, however, require additional coding compared to model specifications in linear modeling procedures such as the REG, GLM, and MIXED procedures. † Estimating parameters in a nonlinear model is an iterative process that commences from starting values. You need to declare the parameters in your model and supply their initial values for the NLIN procedure. You do not need to specify derivatives of the model equation with respect to the parameters. Although facilities for specifying first and second derivatives exist in the NLIN procedure, it is not recommended that you specify derivatives this way. Obtaining derivatives from user-specified expressions predates the high-quality automatic differentiator that is now used by the NLIN procedure.\",\"help\":\"PROC NLIN <ALPHA=α><BEST=n><BIAS><CONVERGE=c><CONVERGEOBJ=c><CONVERGEPARM=c><DATA=SAS-data-set><FLOW><G4><HOUGAARD><LIST><LISTCODE><LISTDEP><LISTDER><MAXITER= | MAXIT=i <n>><MAXSUBIT=n><METHOD=GAUSS | MARQUARDT | NEWTON... ><NLINMEASURES><NOHALVE><NOITPRINT><NOPRINT><OUTEST=SAS-data-set><PLOTS=ALL | NONE | DIAGNOSTIC... ><PRINT><RHO=value><SAVE><SIGSQ=value><SINGULAR=s><SMETHOD=HALVE | GOLDEN | CUBIC><TAU=value><TOTALSS><TRACE><UNCORRECTEDDF><XREF>;     \\n\\tARRAY <_ALL_><_NUMERIC_><_TEMPORARY_> ...;\\n\\n\\tBOUNDS inequality <, ..., inequality> ;\\n\\n\\tBY <DESCENDING><NOTSORTED> ;\\n\\n\\tCALL name ( argument-1 [, ...argument-n] );\\n\\n\\tCONTROL variable <=values> <...variable <=values>> ;\\n\\n\\t;\\n\\n\\tDO <OVER><><> ...;\\n\\n\\tELSE <DO><IF><THEN> ...;\\n\\n\\tEND;\\n\\n\\tGOTO label;\\n\\n\\tID variables ;\\n\\n\\tIF <DO><THEN><WHEN> ...;\\n\\n\\tLINK statement-label;\\n\\n\\tMODEL dependent=expression ;\\n\\n\\tOUTPUT H=name L95=name OUT=SAS-data-set ...;\\n\\n\\tPARAMETERS <PDATA=SAS-data-set> ;\\n\\n\\tPROFILE <ALL><CONFCURV><JACKKNIFE> ...;\\n\\n\\tPUT <_PAGE_> ;\\n\\n\\tRETAIN variable <=values> <...variable <=values>> ;\\n\\n\\tRETURN;\\n\\n\\t;\\n\",\"arguments\":[{\"name\":\"ALPHA=\",\"optional\":true,\"description\":\"Specifies the level of significance α used in the construction of 100(1 - α)% confidence intervals. The value must be strictly between 0 and 1; the default value of α=0.05 results in 95% intervals.\",\"type\":\"value\"},{\"name\":\"BEST=\",\"optional\":true,\"description\":\"Requests that PROC NLIN display the residual sums of squares only for the best n combinations of possible starting values from the grid.\",\"help\":\"BEST=*n*\",\"type\":\"value\"},{\"name\":\"BIAS\",\"optional\":true,\"description\":\"[Experimental under SAS 9.3] Adds Box’s bias and percentage bias measures to the \\\"Parameter Estimates\\\" table (Box 1971). Box’s bias measure, along with Hougaard’s measure of skweness, is used for assessing a parameter estimator’s close-to-linear behavior (Ratkowsky 1983, 1990). Hence, it is useful for identifying problematic parameters (Seber and Wild 1989, sec. 4.7.1). When you specify the BIAS option, Box’s bias measure (Box 1971) and the percentage bias (the bias expressed as a percentage of the least-squares estimator) are added for each parameter to the \\\"Parameter Estimates\\\" table. Ratkowsky (1983, p. 21) takes a percentage bias in excess of 1% to be a good rule of thumb for indicating nonlinear behavior.\",\"type\":\"standalone\"},{\"name\":\"CONVERGE=\",\"optional\":true,\"description\":\"Specifies the convergence criterion for PROC NLIN. For all iterative methods the relative offset convergence measure of Bates and Watts is used by default to determine convergence.\",\"help\":\"CONVERGE=*c*\",\"type\":\"value\"},{\"name\":\"CONVERGEOBJ=\",\"optional\":true,\"description\":\"Uses the change in the LOSS function as the convergence criterion and tunes the criterion.\",\"help\":\"CONVERGEOBJ=*c*\",\"type\":\"value\"},{\"name\":\"CONVERGEPARM=\",\"optional\":true,\"description\":\"Uses the maximum change among parameter estimates as the convergence criterion and tunes the criterion.\",\"help\":\"CONVERGEPARM=*c*\",\"type\":\"value\"},{\"name\":\"DATA=\",\"optional\":true,\"description\":\"Specifies the input SAS data set to be analyzed by PROC NLIN. If you omit the DATA= option, the most recently created SAS data set is used.\",\"help\":\"DATA=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"FLOW\",\"optional\":true,\"description\":\"Displays a message for each statement in the model program as it is executed. This debugging option is rarely needed, and it produces large amounts of output.\",\"type\":\"standalone\"},{\"name\":\"G4\",\"optional\":true,\"description\":\"Uses a Moore-Penrose inverse (-inverse) in parameter estimation. See Kennedy and Gentle (1980) for details.\",\"type\":\"standalone\"},{\"name\":\"HOUGAARD\",\"optional\":true,\"description\":\"Adds Hougaard’s measure of skewness to the \\\"Parameter Estimates\\\" table (Hougaard 1982, 1985).\",\"type\":\"standalone\"},{\"name\":\"LIST\",\"optional\":true,\"description\":\"Displays the model program and variable lists. The LIST option is a debugging feature and is not normally needed.\",\"type\":\"standalone\"},{\"name\":\"LISTCODE\",\"optional\":true,\"description\":\"Displays the derivative tables and the compiled program code. The LISTCODE option is a debugging feature and is not normally needed.\",\"type\":\"standalone\"},{\"name\":\"LISTDEP\",\"optional\":true,\"description\":\"Produces a report that lists, for each variable in the program, the variables that depend on it and on which it depends. The LISTDEP option is a debugging feature and is not normally needed.\",\"type\":\"standalone\"},{\"name\":\"LISTDER\",\"optional\":true,\"description\":\"Displays a table of derivatives. This table lists each nonzero derivative computed for the problem. The LISTDER option is a debugging feature and is not normally needed.\",\"type\":\"standalone\"},{\"name\":\"MAXITER=\",\"optional\":true,\"description\":\"Specifies the maximum number i of iterations in the optimization process. The default values are:\",\"type\":\"value\"},{\"name\":\"MAXSUBIT=\",\"optional\":true,\"description\":\"Places a limit on the number of step halvings. The value of MAXSUBIT must be a positive integer and the default value is n=30.\",\"help\":\"MAXSUBIT=*n*\",\"type\":\"value\"},{\"name\":\"METHOD=\",\"optional\":true,\"description\":\"Specifies the iterative method employed by the NLIN procedure in solving the nonlinear least-squares problem.\",\"help\":\"METHOD=GAUSS | MARQUARDT | NEWTON | GRADIENT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"GAUSS\",\"description\":\"Specifies the Gauss method\",\"type\":\"standalone\"},{\"name\":\"MARQUARDT\",\"description\":\"Specifies the Marquardt method.\",\"type\":\"standalone\"},{\"name\":\"NEWTON\",\"description\":\"Specifies the Newton method.\",\"type\":\"standalone\"},{\"name\":\"GRADIENT\",\"description\":\"Specifies the gradient method\",\"type\":\"standalone\"}]},{\"name\":\"NLINMEASURES\",\"optional\":true,\"description\":\"[Experimental under SAS 9.3] Displays the global nonlinearity measures table. These measures include the maximum intrinsic and parameter-effects curvatures (Bates and Watts 1980), the root mean square (RMS) intrinsic and parameter-effects curvatures and the critical curvature value (Bates and Watts 1980). In addition, the variances of the ordinary and projected residuals are included. According to Bates and Watts (1980), both intrinisic and parameter-effects curvatures are deemed negligible if they are less than the critical curvature value.\",\"type\":\"standalone\"},{\"name\":\"NOHALVE\",\"optional\":true,\"description\":\"Removes the restriction that the objective value must decrease at every iteration.\",\"type\":\"standalone\"},{\"name\":\"NOITPRINT\",\"optional\":true,\"description\":\"Suppresses the display of the \\\"Iteration History\\\" table.\",\"type\":\"standalone\"},{\"name\":\"NOPRINT\",\"optional\":true,\"description\":\"Suppresses the normal display of results.\",\"type\":\"standalone\"},{\"name\":\"OUTEST=\",\"optional\":true,\"description\":\"Specifies an output data set that contains the parameter estimates produced at each iteration.\",\"help\":\"OUTEST=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"PLOTS=\",\"optional\":true,\"description\":\"RESIDUALTYPE=PROJ sets the choice to projected residuals. By default, both residual types are included, which can also be effected by setting RESIDUALTYPE=BOTH. STATS=ALL | DEFAULT | NONE | (plot-statistics) requests the statistics to be included in all plots, except the ResidualPlots and the unpacked diagnostics plots. UNPACK suppresses paneling.\",\"help\":\"PLOTS=ALL | NONE | DIAGNOSTIC | FITPLOT | RESIDUALS\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ALL\",\"description\":\"Produces all appropriate plots.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"Suppresses all plots.\",\"type\":\"standalone\"},{\"name\":\"DIAGNOSTIC\",\"description\":\"Syntax: DIAGNOSTICS <(diagnostics-options)> Produces a summary panel of fit diagnostics, leverage plots, and local-influence plots. The fit diagnostics panel includes: o histogram of the ordinary residuals o histogram of the projected residuals o response variable values versus the predicted values o expectation or mean of the ordinary residuals versus the predicted values o ordinary and projected residuals versus the predicted values o standardized ordinary and projected residuals versus the predicted values o standardized ordinary and projected residuals versus the tangential leverage o standardized ordinary and projected residuals versus the Jacobian leverage o box plot of the ordinary and projected residuals if you specify the STATS=NONE suboption The leverage and local influence plots are produced separately. The leverage plot is an index plot of the tangential and Jacobian leverages (by observation), and the local-influence plot contains the local influence by observation for a perturbation of the response variable. You can specify the following diagnostics-options: RESIDUALTYPE=RAW | PROJ | BOTH specifies the residual type to be plotted in the panel. LEVERAGETYPE=TAN | JAC | BOTH specifies the leverage type to be plotted in the leverage plot. LEVERAGETYPE=TAN specifies that only the tangential leverage be included in the leverage plot, and LEVERAGETYPE=JAC specifies that only the Jacobian leverage be included. LABELOBS specifies that the leverage and local-infuence plots be labeled with the observation number. Only these two plots are affected by this option. STATS=stats-options determines which statistics are included in the panel. UNPACK produces the plots in the diagnostics panel as individual plots. The statistics panel is not included in the individual plots, even if STATS= global-plot-option or STATS= diagnostics-option or both are specified.\",\"type\":\"standalone\"},{\"name\":\"FITPLOT\",\"aliases\":[\"FIT\"],\"description\":\"Syntax: FITPLOT | FIT <(fit-options)> Produces, depending on the number of regressors, a scatter or contour fit plot. For a single-regressor model, a scatter plot of the data overlaid with the regression curve, confidence, and prediction bands is produced. For two-regressor models, a contour fit plot of the model with overlaid data is produced. If the model contains more than two regressors, no fit plot is produced. You can specify the following fit-options: NOCLI suppresses the prediction limits for single-regressor models. NOCLM suppresses the confidence limits for single-regressor models. NOLIMITS suppresses the confidence and prediction limits for single-regressor models. OBS=GRADIENT | NONE | OUTLINE | OUTLINEGRADIENT controls how the observations are displayed. The suboptions are as follows: OBS=GRADIENT specifies that observations be displayed as circles colored by the observed response. The same color gradient is used to display the fitted surface and the observations. OBS=NONE suppresses the observations. OBS=OUTLINE specifies that observations be displayed as circles with a border but with a completely transparent fill. OBS=OUTLINEGRADIENT is the same as OBS=GRADIENT except that a border is shown around each observation. This option is useful for identifying the location observations for which the residuals are small, because at these points the color of the observations and the color of the surface are indistinguishable. CONTLEG specifies that a continous legend be included in the contour fit plot of a two-regressor model. STATS=stats-options determines which model fit statistics are included in the panel.\",\"type\":\"standalone\"},{\"name\":\"RESIDUALS\",\"description\":\"\",\"type\":\"standalone\"}]},{\"name\":\"PRINT\",\"optional\":true,\"description\":\"Displays the result of each statement in the program as it is executed.\",\"type\":\"standalone\"},{\"name\":\"RHO=\",\"optional\":true,\"description\":\"Specifies a value that controls the step-size search. By default RHO=0.1, except when METHOD=MARQUARDT.\",\"help\":\"RHO=*value*\",\"type\":\"value\"},{\"name\":\"SAVE\",\"optional\":true,\"description\":\"Specifies that, when the iteration limit is exceeded, the parameter estimates from the final iteration be output to the OUTEST= data set.\",\"type\":\"standalone\"},{\"name\":\"SIGSQ=\",\"optional\":true,\"description\":\"Specifies a value to use as the estimate of the residual variance in lieu of the estimated mean-squared error.\",\"help\":\"SIGSQ=*value*\",\"type\":\"value\"},{\"name\":\"SINGULAR=\",\"optional\":true,\"description\":\"Specifies the singularity criterion, s, which is the absolute magnitude of the smallest pivot value allowed when inverting the Hessian or the approximation to the Hessian.\",\"help\":\"SINGULAR=*s*\",\"type\":\"value\"},{\"name\":\"SMETHOD=\",\"optional\":true,\"description\":\"Specifies the step-size search method. The default is SMETHOD=HALVE.\",\"help\":\"SMETHOD=HALVE | GOLDEN | CUBIC\",\"type\":\"choice\",\"arguments\":[{\"name\":\"HALVE\",\"description\":\"The default method of finding the step size k is step halving.\",\"type\":\"standalone\"},{\"name\":\"GOLDEN\",\"description\":\"The step size k is determined by a golden section search.\",\"type\":\"standalone\"},{\"name\":\"CUBIC\",\"description\":\"Performs a cubic interpolation to estimate the step size.\",\"type\":\"standalone\"}]},{\"name\":\"TAU=\",\"optional\":true,\"description\":\"Specifies a value that is used to control the step-size search. The default is TAU=1, except when METHOD=MARQUARDT.\",\"help\":\"TAU=*value*\",\"type\":\"value\"},{\"name\":\"TOTALSS\",\"optional\":true,\"description\":\"Adds to the analysis of variance table the uncorrected total sum of squares in models that have an (implied) intercept, and adds the corrected total sum of squares in models that do not have an (implied) intercept.\",\"type\":\"standalone\"},{\"name\":\"TRACE\",\"optional\":true,\"description\":\"Displays the result of each operation in each statement in the model program as it is executed.\",\"type\":\"standalone\"},{\"name\":\"UNCORRECTEDDF\",\"optional\":true,\"description\":\"Specifies that no degrees of freedom be lost when a bound is active.\",\"type\":\"standalone\"},{\"name\":\"XREF\",\"optional\":true,\"description\":\"Displays a cross-reference of the variables in the program showing where each variable is referenced or given a value.\",\"type\":\"standalone\"}]},{\"name\":\"ARRAY\",\"description\":\"Defines the elements of an array.\",\"help\":\"ARRAY &lt;_ALL_&gt;&lt;_NUMERIC_&gt;&lt;_TEMPORARY_&gt; ...\",\"arguments\":[{\"name\":\"_ALL_\",\"optional\":true,\"description\":\"Specifies all variables.\",\"type\":\"standalone\"},{\"name\":\"_CHARACTER_\",\"optional\":true,\"description\":\"Specifies all character variables.\",\"type\":\"standalone\"},{\"name\":\"_NUMERIC_\",\"optional\":true,\"description\":\"Specifies all numeric variables.\",\"type\":\"standalone\"},{\"name\":\"_TEMPORARY_\",\"optional\":true,\"description\":\"Creates a list of temporary data elements.\",\"type\":\"standalone\"}]},{\"name\":\"BOUNDS\",\"description\":\"The BOUNDS statement restricts the parameter estimates so that they lie within specified regions.\",\"help\":\"BOUNDS inequality &lt;, ..., inequality&gt; \"},{\"name\":\"BY\",\"description\":\"Obtains separate analyses on observations in groups defined by the BY variables.\",\"help\":\"BY &lt;DESCENDING&gt;&lt;NOTSORTED&gt;\",\"arguments\":[{\"name\":\"DESCENDING\",\"optional\":true,\"description\":\"Specifies that the observations are sorted in descending order by the variable that immediately follows the word DESCENDING in the BY statement.\",\"type\":\"standalone\"},{\"name\":\"NOTSORTED\",\"optional\":true,\"description\":\"Specifies that observations are not necessarily sorted in alphabetic or numeric order.\",\"type\":\"standalone\"}]},{\"name\":\"CALL\",\"description\":\"The CALL statement invokes the named library subroutine. The values that are determined for each argument expression are passed to the subroutine when the subroutine is invoked. The subroutine can update the values of PROC OPTMODEL parameters and variables when an argument is an identifier-expression.\",\"help\":\"CALL name ( argument-1 [, ...argument-n] )\"},{\"name\":\"CONTROL\",\"description\":\"The CONTROL statement declares control variables and specifies their values. A control variable is like a retained variable (see the section RETAIN Statement) except that it is retained across iterations, and the derivative of the model with respect to a control variable is always zero.\",\"help\":\"CONTROL variable &lt;=values&gt; &lt;...variable &lt;=values&gt;&gt; \"},{\"name\":\"DER\",\"description\":\"The DER statement specifies first or second partial derivatives. By default, analytical derivatives are automatically computed. However, you can specify the derivatives yourself by using the DER.parm syntax. Use the first form shown to specify first partial derivatives, and use the second form to specify second partial derivatives. Note that the DER.parm syntax is retained for backward compatibility. The automatic analytical derivatives are, in general, a better choice.\",\"help\":\"\"},{\"name\":\"DO\",\"description\":\"\",\"help\":\"DO &lt;OVER&gt;&lt;&gt;&lt;&gt; ...\",\"arguments\":[{\"name\":\"BY\",\"optional\":true,\"description\":\"Precedes an increment integer (other than 0) or an expression that generates an integer to be added to the value of the index variable in each iteration of the DO loop.\",\"type\":\"standalone\"},{\"name\":\"OVER\",\"optional\":true,\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"TO\",\"optional\":true,\"description\":\"Separates the start and stop integers or expressions that control the number of times the portion of the DATA step between the iterative DO and END statements is processed.\",\"type\":\"standalone\"},{\"name\":\"UNTIL\",\"optional\":true,\"description\":\"...more SAS statements... END\",\"type\":\"standalone\"},{\"name\":\"WHILE\",\"optional\":true,\"description\":\"\",\"type\":\"standalone\"}]},{\"name\":\"ELSE\",\"description\":\"If the condition in a IF-THEN statement is false and an ELSE statement is present, then the ELSE action is carried out.\",\"help\":\"ELSE &lt;DO&gt;&lt;IF&gt;&lt;THEN&gt; ...\",\"arguments\":[{\"name\":\"AND\",\"optional\":true,\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"DO\",\"optional\":true,\"description\":\"Action statement in an IF-THEN-ELSE construct.\",\"type\":\"standalone\"},{\"name\":\"IF\",\"optional\":true,\"description\":\"Executes a SAS statement for observations that meet specific conditions.\",\"type\":\"standalone\"},{\"name\":\"NOT\",\"optional\":true,\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"OR\",\"optional\":true,\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"OUTPUT\",\"optional\":true,\"description\":\"Action statement in an IF-THEN-ELSE construct.\",\"type\":\"standalone\"},{\"name\":\"THEN\",\"optional\":true,\"description\":\"If the conditions that are specified in the IF clause are met, the IF-THEN statement executes a SAS statement for observations that are read from a SAS data set, for records in an external file, or for computed values.\",\"type\":\"standalone\"}]},{\"name\":\"END\",\"description\":\"Ends a DO group or SELECT group processing.\",\"help\":\"END\"},{\"name\":\"GOTO\",\"description\":\"Jumps to a new statement.\",\"help\":\"GOTO label\"},{\"name\":\"ID\",\"description\":\"The ID statement specifies additional variables to place in the output data set created by the OUTPUT statement.\",\"help\":\"ID variables \"},{\"name\":\"IF\",\"description\":\"\",\"help\":\"IF &lt;DO&gt;&lt;THEN&gt;&lt;WHEN&gt; ...\",\"arguments\":[{\"name\":\"AND\",\"optional\":true,\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"DO\",\"optional\":true,\"description\":\"Action statement in an IF-THEN construct.\",\"type\":\"standalone\"},{\"name\":\"GO\",\"optional\":true,\"aliases\":[\"GOTO\"],\"description\":\"Jumps to a new statement.\",\"help\":\"GO TO\",\"type\":\"standalone\"},{\"name\":\"NOT\",\"optional\":true,\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"OR\",\"optional\":true,\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"OUTPUT\",\"optional\":true,\"description\":\"Action statement in an IF-THEN construct.\",\"type\":\"standalone\"},{\"name\":\"PUT\",\"optional\":true,\"description\":\"Action statement in an IF-THEN construct.\",\"type\":\"standalone\"},{\"name\":\"SET\",\"optional\":true,\"description\":\"Reads an observation from one or more SAS data sets.\",\"type\":\"standalone\"},{\"name\":\"STOP\",\"optional\":true,\"description\":\"Action statement in an IF-THEN construct. Stops execution of the current DATA step.\",\"type\":\"standalone\"},{\"name\":\"THEN\",\"optional\":true,\"description\":\"If the conditions that are specified in the IF clause are met, the IF-THEN statement executes a SAS statement for observations that are read from a SAS data set, for records in an external file, or for computed values.\",\"type\":\"standalone\"},{\"name\":\"WHEN\",\"optional\":true,\"description\":\"WHEN statement in an IF-THEN-WHEN construct.\",\"type\":\"standalone\"}]},{\"name\":\"LINK\",\"description\":\"Directs program execution immediately to the statement label that is specified and, if followed by a RETURN statement, returns execution to the statement that follows the LINK statement.\",\"help\":\"LINK statement-label\"},{\"name\":\"MODEL\",\"description\":\"The MODEL statement defines the prediction equation by declaring the dependent variable and defining an expression that evaluates predicted values.\",\"help\":\"MODEL dependent=expression \"},{\"name\":\"OUTPUT\",\"description\":\"The OUTPUT statement specifies an output data set to contain statistics calculated for each observation.\",\"help\":\"OUTPUT H=name L95=name OUT=SAS-data-set ...\",\"arguments\":[{\"name\":\"H=\",\"description\":\"Specifies a variable that contains the leverage.\",\"help\":\"H=*name*\",\"type\":\"value\"},{\"name\":\"L95=\",\"description\":\"Specifies a variable that contains the lower bound of an approximate 95% confidence interval for an individual prediction.\",\"help\":\"L95=*name*\",\"type\":\"value\"},{\"name\":\"L95M=\",\"description\":\"Specifies a variable that contains the lower bound of an approximate 95% confidence interval for the expected value (mean).\",\"help\":\"L95M=*name*\",\"type\":\"value\"},{\"name\":\"LCL=\",\"description\":\"Specifies a variable that contains the lower bound of an approximate 100(1 - α)% confidence interval for an individual prediction.\",\"help\":\"LCL=*name*\",\"type\":\"value\"},{\"name\":\"LCLM=\",\"description\":\"Specifies a variable that contains the lower bound of an approximate 100(1 - α)% confidence interval for the expected value (mean).\",\"help\":\"LCLM=*name*\",\"type\":\"value\"},{\"name\":\"OUT=\",\"description\":\"Specifies the SAS data set to be created by PROC NLIN when an OUTPUT statement is included.\",\"help\":\"OUT=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"PARMS=\",\"description\":\"Specifies variables in the output data set that contains parameter estimates.\",\"type\":\"value\"},{\"name\":\"PREDICTED=\",\"aliases\":[\"P=\"],\"description\":\"Specifies a variable in the output data set that contains the predicted values of the dependent variable.\",\"type\":\"value\"},{\"name\":\"RESIDUAL=\",\"aliases\":[\"R=\"],\"description\":\"Specifies a variable in the output data set that contains the residuals (observed minus predicted values).\",\"type\":\"value\"},{\"name\":\"SSE=\",\"aliases\":[\"ESS=\"],\"description\":\"Specifies a variable in the output data set that contains the residual sum of squares finally determined by the procedure.\",\"type\":\"value\"},{\"name\":\"STDI=\",\"description\":\"Specifies a variable that contains the standard error of the individual predicted value.\",\"help\":\"STDI=*name*\",\"type\":\"value\"},{\"name\":\"STDP=\",\"description\":\"Specifies a variable that contains the standard error of the mean predicted value.\",\"help\":\"STDP=*name*\",\"type\":\"value\"},{\"name\":\"STDR=\",\"description\":\"Specifies a variable that contains the standard error of the residual.\",\"help\":\"STDR=*name*\",\"type\":\"value\"},{\"name\":\"STUDENT=\",\"description\":\"Specifies a variable that contains the studentized residuals. These are residuals divided by their estimated standard deviation.\",\"help\":\"STUDENT=*name*\",\"type\":\"value\"},{\"name\":\"U95=\",\"description\":\"Specifies a variable that contains the upper bound of an approximate 95% confidence interval for an individual prediction.\",\"help\":\"U95=*name*\",\"type\":\"value\"},{\"name\":\"U95M=\",\"description\":\"Specifies a variable that contains the upper bound of an approximate 95% confidence interval for the expected value (mean).\",\"help\":\"U95M=*name*\",\"type\":\"value\"},{\"name\":\"UCL=\",\"description\":\"Specifies a variable that contains the upper bound of an approximate 100(1 - α)% confidence interval an individual prediction.\",\"help\":\"UCL=*name*\",\"type\":\"value\"},{\"name\":\"UCLM=\",\"description\":\"Specifies a variable that contains the upper bound of an approximate 100(1 - α)% confidence interval for the expected value (mean).\",\"help\":\"UCLM=*name*\",\"type\":\"value\"},{\"name\":\"WEIGHT=\",\"description\":\"Specifies a variable in the output data set that contains values of the special variable _WEIGHT_.\",\"help\":\"WEIGHT=*name*\",\"type\":\"value\"},{\"name\":\"ALPHA=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the level of significance α for 100( 1- α)% confidence intervals.\",\"type\":\"value\"},{\"name\":\"DER\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Saves the first derivatives of the model with respect to the parameters to the OUTPUT data set.\",\"type\":\"standalone\"}]},{\"name\":\"PARAMETERS\",\"aliases\":[\"PARMS\"],\"description\":\"A PARAMETERS (or PARMS) statement is required. The purpose of this statement is to provide starting values for the NLIN procedure.\",\"help\":\"PARAMETERS &lt;PDATA=SAS-data-set&gt;\",\"arguments\":[{\"name\":\"PDATA=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Enables you to assign starting values for parameters through a SAS data set. The data set must contain at least two variables that identify the parameter and contain starting values, respectively. The character variable identifying the parameters must be named Parameter or Parm. The numeric variable containing the starting value must be named Estimate or Est. This enables you, for example, to use the contents of the \\\"ParameterEstimates\\\" table from one PROC NLIN run to supply starting values for a subsequent run.\",\"help\":\"PDATA=*SAS-data-set*\",\"type\":\"dataSet\"}]},{\"name\":\"PROFILE\",\"description\":\"A PROFILE statement selects parameters for profiling to assess their nonlinear characteristics. It can also gauge the influence of each observation on the selected parameters. To produce the plots that are controlled by the PROFILE statement, ODS Graphics must be enabled. PROC NLIN ignores PROFILE statements for nonconvergent and singular models.\",\"help\":\"PROFILE &lt;ALL&gt;&lt;CONFCURV&gt;&lt;JACKKNIFE&gt; ...\",\"arguments\":[{\"name\":\"ALL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"produces all appropriate plots for the parameters that are listed in the PROFILE statement. This option overrides all other options. If the PROFDATA= option is specified, the values of the corresponding statistics are written to the data set.\",\"type\":\"standalone\"},{\"name\":\"CONFCURV\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Produces confidence curves for each parameter listed in the PROFILE statement. If the PROFDATA= option is specified, the values of the corresponding statistics are written to the data set.\",\"type\":\"standalone\"},{\"name\":\"JACKKNIFE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Produces, for each parameter listed in the PROFILE statement, plots of absolute relative percentage change in the value of the parameter that results from a fit to a jackknife-resampled datum versus observation number. The jackknife resampling is performed with a leave-one-out method. If the PROFDATA= option is specified, the values of the corresponding statistics are written to the data set.\",\"type\":\"standalone\"},{\"name\":\"PROFDATA=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the SAS data set to be created by PROC NLIN when a PROFILE statement is included.\",\"help\":\"PROFDATA=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"RANGE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies a profiling range for each parameter listed in the PROFILE statement. βf , βt and βb represent the starting, final, and consecutive incremental values of the range in terms of the standard errors of the parameters to be profiled. If you do not specify the RANGE= option, PROC NLIN uses –2, 2, and 0.2 as default values for βf , βt , and βb, respectively.\",\"type\":\"value\"},{\"name\":\"TPLOT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Produces profile t plots for each parameter listed in the PROFILE statement. If the PROFDATA= option is specified, the values of the corresponding statistics are written to the data set.\",\"type\":\"standalone\"}]},{\"name\":\"PUT\",\"description\":\"The PUT statement writes text data to the current output file.\",\"help\":\"PUT &lt;_PAGE_&gt;\",\"arguments\":[{\"name\":\"_PAGE_\",\"optional\":true,\"description\":\"Outputs any pending line data and moves to the top of the next page.\",\"type\":\"standalone\"}]},{\"name\":\"RETAIN\",\"description\":\"The RETAIN statement declares retained variables and specifies their values. A retained variable is like a control variable (see the CONTROL Statement) except that it is retained only within iterations. An iteration involves a single pass through the data set.\",\"help\":\"RETAIN variable &lt;=values&gt; &lt;...variable &lt;=values&gt;&gt; \"},{\"name\":\"RETURN\",\"description\":\"Stops executing statements at the current point in the DATA step and returns to a predetermined point in the step.\",\"help\":\"RETURN\"},{\"name\":\"SELECT\",\"description\":\"\",\"help\":\"\"}],\"supportSiteInformation\":{\"docsetId\":\"statug\",\"docsetVersion\":\"latest\",\"docsetTargetFile\":\"statug_nlin_toc.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/NLMIXED.json",
    "content": "{\"name\":\"NLMIXED\",\"statements\":[{\"name\":\"PROC NLMIXED\",\"description\":\"The NLMIXED procedure fits nonlinear mixed models—-that is, models in which both fixed and random effects enter nonlinearly. These models have a wide variety of applications, two of the most common being pharmacokinetics and overdispersed binomial data. PROC NLMIXED enables you to specify a conditional distribution for your data (given the random effects) having either a standard form (normal, binomial, Poisson) or a general distribution that you code using SAS programming statements. † PROC NLMIXED fits nonlinear mixed models by maximizing an approximation to the likelihood integrated over the random effects. Different integral approximations are available, the principal ones being adaptive Gaussian quadrature and a first-order Taylor series approximation. A variety of alternative optimization techniques are available to carry out the maximization; the default is a dual quasi-Newton algorithm.\",\"help\":\"PROC NLMIXED <ABSCONV= | ABSTOL=r><ABSFCONV=r <n> | ABSFTOL=r<n>><ABSGCONV= | ABSGTOL=r <n>><ABSXCONV= | ABSXTOL=r <n>><ALPHA=α><ASINGULAR | ASING=r><CFACTOR=f><CORR><COV><COVSING=r > 0><DAMPSTEP | DS <=r>><DATA=SAS-data-set><DF=d><DIAHES><EBOPT><EBSSFRAC=r > 0><EBSSTOL=r ≥ 0><EBSTEPS=n ≥ 0><EBSUBSTEPS=n ≥ 0><EBTOL=r ≥ 0><EBZSTART><ECORR><ECOV><EDER><EMPIRICAL><FCONV2=r<[n]> | FTOL2=r<[n]>><FCONV=r<[n]> | FTOL=r<[n]>><FD=CENTRAL | FORWARD | 100... ><FDHESSIAN=FORWARD | CENTRAL><FDIGITS=r><FLOW><FSIZE=r><G4=n > 0><GCONV=r<[n]> | GTOL=r<[n]>><HESCAL=0 | 1 | 2... ><HESS><INHESSIAN<=r>><INSTEP=r><ITDETAILS><LCDEACT= | LCD=r><LCEPSILON= | LCEPS= | LCE=r><LCSINGULAR= | LCSING= | LCS=r><LINESEARCH=1 | 2 | 3... ><LIST><LISTCODE><LISTDEP><LISTDER><LOGNOTE<=n>><LSPRECISION=r | LSP=r | SPRECISION=r | SP=r><MAXFUNC=i | MAXFU=i><MAXITER= | MAXIT=i <n>><MAXSTEP=r<n>><MAXTIME=r><METHOD=FIRO | GAUSS | HARDY... ><MINITER= | MINIT=i><MSINGULAR= | MSING=r > 0><NOAD><NOADSCALE><OPTCHECK<=r>><OUTQ=SAS-data-set><QFAC=r > 0><QMAX=r > 0><QPOINTS=n > 0><QSCALEFAC=r > 0><QTOL=r > 0><RESTART= | REST=i > 0><SEED=i><SINGCHOL=r > 0><SINGHESS=r > 0><SINGSWEEP=r > 0><SINGVAR=r > 0><START><SUBGRADIENT=SAS-data-set><TECHNIQUE=CONGRA | DBLDOG | NMSIMP... ><TRACE><UPDATE=BFGS | DBFGS | DDFP... ><VSINGULAR= | VSING=r > 0><XCONV= | XTOL=r <n>><XREF><XSIZE=r > 0>;     \\n\\tABORT <ABEND><CANCEL><CANCEL FILE> ...;\\n\\n\\tARRAY arrayname [{ dimensions }] [$] [variables and constants] ;\\n\\n\\tBOUNDS b_con [ , b_con...] ;\\n\\n\\tBY <DESCENDING><NOTSORTED> ;\\n\\n\\tCALL routine(parameter-1<, ...parameter-n>);\\n\\n\\tCONTRAST <DF=n> ;\\n\\n\\tDELETE;\\n\\n\\tDO <OVER><><> ...;\\n\\n\\tELSE <DO><IF><THEN> ...;\\n\\n\\tEND;\\n\\n\\tESTIMATE <ALPHA=α><DF=n> ;\\n\\n\\tGOTO label;\\n\\n\\tID names ;\\n\\n\\tIF <DO><THEN><WHEN> ...;\\n\\n\\tLINK statement-label;\\n\\n\\tMODEL <BINARY(p)><BINOMIAL(n,p)><NORMAL(m,v)> ...;\\n\\n\\t;\\n\\n\\tPARMS <BEST=i > 0><BYDATA><DATA=SAS-data-set> ...;\\n\\n\\tPREDICT <ALPHA=α><DER> OUT=SAS-data-set ...;\\n\\n\\tPUT <_PAGE_> ;\\n\\n\\tRANDOM <ALPHA=α><NORMAL(m,v)><SUBJECT= variable> ...;\\n\\n\\tREPLICATE variable ;\\n\\n\\tRETURN;\\n\\n\\t;\\n\\n\\tSTOP ;\\n\\n\\tWHEN <DO> ;\\n\",\"arguments\":[{\"name\":\"ABSCONV=\",\"optional\":true,\"aliases\":[\"ABSTOL=\"],\"description\":\"Specifies an absolute function convergence criterion.\",\"type\":\"value\"},{\"name\":\"ABSFCONV=\",\"optional\":true,\"aliases\":[\"ABSFTOL=\"],\"description\":\"Specifies an absolute function convergence criterion.\",\"type\":\"value\"},{\"name\":\"ABSGCONV=\",\"optional\":true,\"aliases\":[\"ABSGTOL=\"],\"description\":\"Specifies an absolute gradient convergence criterion. Termination requires the maximum absolute gradient element to be small.\",\"type\":\"value\"},{\"name\":\"ABSXCONV=\",\"optional\":true,\"aliases\":[\"ABSXTOL=\"],\"description\":\"Specifies the absolute parameter convergence criterion. Termination requires a small Euclidean distance between successive parameter vectors.\",\"type\":\"value\"},{\"name\":\"ALPHA=\",\"optional\":true,\"description\":\"Specifies the α level to be used in computing confidence limits. The default value is 0.05.\",\"type\":\"value\"},{\"name\":\"ASINGULAR=\",\"optional\":true,\"aliases\":[\"ASING=\"],\"description\":\"Specifies an absolute singularity criterion r, r > 0, for the inversion of the information matrix, which is needed to compute the covariance matrix.\",\"type\":\"value\"},{\"name\":\"CFACTOR=\",\"optional\":true,\"description\":\"Specifies a multiplication factor f for the estimated covariance matrix of the parameter estimates.\",\"help\":\"CFACTOR=*f*\",\"type\":\"value\"},{\"name\":\"CORR\",\"optional\":true,\"description\":\"Requests the approximate correlation matrix for the parameter estimates.\",\"type\":\"standalone\"},{\"name\":\"COV\",\"optional\":true,\"description\":\"Requests the approximate covariance matrix for the parameter estimates.\",\"type\":\"standalone\"},{\"name\":\"COVSING=\",\"optional\":true,\"description\":\"Specifies a nonnegative threshold that determines whether the eigenvalues of a singular Hessian matrix are considered to be zero.\",\"type\":\"value\"},{\"name\":\"DAMPSTEP=\",\"optional\":true,\"aliases\":[\"DS=\"],\"description\":\"Specifies that the initial step-size value a⁰ for each line search (used by the QUANEW, CONGRA, or NEWRAP technique) cannot be larger than r times the step-size value used in the former iteration.\",\"type\":\"value\"},{\"name\":\"DATA=\",\"optional\":true,\"description\":\"Specifies the input data set.\",\"help\":\"DATA=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"DF=\",\"optional\":true,\"description\":\"Specifies the degrees of freedom to be used in computing p values and confidence limits. The default value is the number of subjects minus the number of random effects for random effects models, and the number of observations otherwise.\",\"help\":\"DF=*d*\",\"type\":\"value\"},{\"name\":\"DIAHES\",\"optional\":true,\"description\":\"Specifies that only the diagonal of the Hessian is used.\",\"type\":\"standalone\"},{\"name\":\"EBOPT\",\"optional\":true,\"description\":\"Requests that a more comprehensive optimization be carried out if the default empirical Bayes optimization fails to converge.\",\"type\":\"standalone\"},{\"name\":\"EBSSFRAC=\",\"optional\":true,\"description\":\"Specifies the step-shortening fraction to be used while computing empirical Bayes estimates of the random effects. The default value is 0.8.\",\"type\":\"value\"},{\"name\":\"EBSSTOL=\",\"optional\":true,\"description\":\"Specifies the objective function tolerance for determining the cessation of step-shortening while computing empirical Bayes estimates of the random effects. The default value is r = 1E-8.\",\"type\":\"value\"},{\"name\":\"EBSTEPS=\",\"optional\":true,\"description\":\"Specifies the maximum number of Newton steps for computing empirical Bayes estimates of random effects. The default value is n=50.\",\"type\":\"value\"},{\"name\":\"EBSUBSTEPS=\",\"optional\":true,\"description\":\"Specifies the maximum number of step-shortenings for computing empirical Bayes estimates of random effects. The default value is n=20.\",\"type\":\"value\"},{\"name\":\"EBTOL=\",\"optional\":true,\"description\":\"Specifies the convergence tolerance for empirical Bayes estimation.\",\"type\":\"value\"},{\"name\":\"EBZSTART\",\"optional\":true,\"description\":\"Requests that a zero be used as starting values during empirical Bayes estimation.\",\"type\":\"standalone\"},{\"name\":\"ECORR\",\"optional\":true,\"description\":\"Requests the approximate correlation matrix for all expressions specified in ESTIMATE statements.\",\"type\":\"standalone\"},{\"name\":\"ECOV\",\"optional\":true,\"description\":\"Requests the approximate covariance matrix for all expressions specified in ESTIMATE statements.\",\"type\":\"standalone\"},{\"name\":\"EDER\",\"optional\":true,\"description\":\"Requests the derivatives of all expressions specified in ESTIMATE statements with respect to each of the model parameters.\",\"type\":\"standalone\"},{\"name\":\"EMPIRICAL\",\"optional\":true,\"description\":\"Requests that the covariance matrix of the parameter estimates be computed as a likelihood-based empirical (\\\"sandwich\\\") estimator.\",\"type\":\"standalone\"},{\"name\":\"FCONV2=\",\"optional\":true,\"aliases\":[\"FTOL2=\"],\"description\":\"Specifies a second function convergence criterion. The optional integer value n specifies the number of successive iterations for which the criterion must be satisfied before the process can terminate.\",\"type\":\"value\"},{\"name\":\"FCONV=\",\"optional\":true,\"aliases\":[\"FTOL=\"],\"description\":\"Specifies the relative function convergence criterion. The optional integer value n specifies the number of successive iterations for which the criterion must be satisfied before the process can terminate.\",\"type\":\"value\"},{\"name\":\"FD=\",\"optional\":true,\"description\":\"Specifies that all derivatives be computed using finite difference approximations.\",\"help\":\"FD=CENTRAL | FORWARD | 100 | r\",\"type\":\"choice\",\"arguments\":[{\"name\":\"CENTRAL\",\"description\":\"Uses central differences.\",\"type\":\"standalone\"},{\"name\":\"FORWARD\",\"description\":\"Uses forward differences.\",\"type\":\"standalone\"},{\"name\":\"100\",\"description\":\"Is equivalent to specifying FD (without the equal sign)\",\"type\":\"standalone\"},{\"name\":\"r\",\"description\":\"Uses central differences for the initial and final evaluations of the gradient and for the Hessian.\",\"type\":\"standalone\"}]},{\"name\":\"FDHESSIAN=\",\"optional\":true,\"aliases\":[\"FDHES=\",\"FDH=\"],\"description\":\"Specifies that second-order derivatives be computed using finite difference approximations based on evaluations of the gradients.\",\"help\":\"FDHESSIAN=FORWARD | CENTRAL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"FORWARD\",\"description\":\"Uses forward differences.\",\"type\":\"standalone\"},{\"name\":\"CENTRAL\",\"description\":\"Uses central differences.\",\"type\":\"standalone\"}]},{\"name\":\"FDIGITS=\",\"optional\":true,\"description\":\"Specifies the number of accurate digits in evaluations of the objective function.\",\"help\":\"FDIGITS=*r*\",\"type\":\"value\"},{\"name\":\"FLOW\",\"optional\":true,\"description\":\"Displays a message for each statement in the model program as it is executed. This debugging option is very rarely needed and produces voluminous output.\",\"type\":\"standalone\"},{\"name\":\"FSIZE=\",\"optional\":true,\"description\":\"Specifies the FSIZE parameter of the relative function and relative gradient termination criteria. The default value is r=0.\",\"help\":\"FSIZE=*r*\",\"type\":\"value\"},{\"name\":\"G4=\",\"optional\":true,\"description\":\"Specifies a dimension to determine the type of generalized inverse to use when the approximate covariance matrix of the parameter estimates is singular. The default value of n is 60.\",\"type\":\"value\"},{\"name\":\"GCONV=\",\"optional\":true,\"aliases\":[\"GTOL=\"],\"description\":\"Specifies the relative gradient convergence criterion. The optional integer value n specifies the number of successive iterations for which the criterion must be satisfied before the process can terminate.\",\"type\":\"value\"},{\"name\":\"HESCAL=\",\"optional\":true,\"aliases\":[\"HS=\"],\"description\":\"Specifies the scaling version of the Hessian or crossproduct Jacobian matrix used in NRRIDG, TRUREG, LEVMAR, NEWRAP, or DBLDOG optimization.\",\"help\":\"HESCAL=0 | 1 | 2 | 3\",\"type\":\"choice\",\"arguments\":[{\"name\":\"0\",\"description\":\"Specifies that no scaling is done.\",\"type\":\"standalone\"},{\"name\":\"1\",\"description\":\"Specifies the Moré (1978) scaling update\",\"type\":\"standalone\"},{\"name\":\"2\",\"description\":\"Specifies the Dennis, Gay, and Welsch (1981) scaling update\",\"type\":\"standalone\"},{\"name\":\"3\",\"description\":\"Specifies that di is reset in each iteration\",\"type\":\"standalone\"}]},{\"name\":\"HESS\",\"optional\":true,\"description\":\"Requests the display of the final Hessian matrix after optimization.\",\"type\":\"standalone\"},{\"name\":\"INHESSIAN=\",\"optional\":true,\"aliases\":[\"INHESS=\"],\"description\":\"Specifies how the initial estimate of the approximate Hessian is defined for the quasi-Newton techniques QUANEW and DBLDOG.\",\"type\":\"value\"},{\"name\":\"INSTEP=\",\"optional\":true,\"aliases\":[\"SALPHA=\",\"RADIUS=\"],\"description\":\"Reduces the length of the first trial step during the line search of the first iterations.\",\"help\":\"INSTEP=*r*\",\"type\":\"value\"},{\"name\":\"ITDETAILS\",\"optional\":true,\"description\":\"Requests a more complete iteration history, including the current values of the parameter estimates, their gradients, and additional optimization statistics.\",\"type\":\"standalone\"},{\"name\":\"LCDEACT=\",\"optional\":true,\"aliases\":[\"LCD=\"],\"description\":\"Specifies a threshold r for the Lagrange multiplier that decides whether an active inequality constraint remains active or can be deactivated.\",\"type\":\"value\"},{\"name\":\"LCEPSILON=\",\"optional\":true,\"aliases\":[\"LCEPS=\",\"LCE=\"],\"description\":\"Specifies the range r, r ≥ 0, for active and violated boundary and linear constraints.\",\"type\":\"value\"},{\"name\":\"LCSINGULAR=\",\"optional\":true,\"aliases\":[\"LCSING=\",\"LCS=\"],\"description\":\"Specifies a criterion r, r ≥ 0, used in the update of the QR decomposition that decides whether an active constraint is linearly dependent on a set of other active constraints.\",\"type\":\"value\"},{\"name\":\"LINESEARCH=\",\"optional\":true,\"aliases\":[\"LIS=\",\"SMETHOD=\",\"SM=\"],\"description\":\"Specifies the line-search method for the CONGRA, QUANEW, and NEWRAP optimization techniques.\",\"help\":\"LINESEARCH=1 | 2 | 3 | 4 | 5 | 6 | 7 | 8\",\"type\":\"choice\",\"arguments\":[{\"name\":\"1\",\"description\":\"Specifies a line-search method that needs the same number of function and gradient calls for cubic interpolation and cubic extrapolation; this method is similar to one used by the Harwell subroutine library.\",\"type\":\"standalone\"},{\"name\":\"2\",\"description\":\"Specifies a line-search method that needs more function calls than gradient calls for quadratic and cubic interpolation and cubic extrapolation; this method is implemented as shown in Fletcher (1987) and can be modified to an exact line search by using the LSPRECISION= option.\",\"type\":\"standalone\"},{\"name\":\"3\",\"description\":\"Specifies a line-search method that needs the same number of function and gradient calls for cubic interpolation and cubic extrapolation; this method is implemented as shown in Fletcher (1987) and can be modified to an exact line search by using the LSPRECISION= option.\",\"type\":\"standalone\"},{\"name\":\"4\",\"description\":\"Specifies a line-search method that needs the same number of function and gradient calls for stepwise extrapolation and cubic interpolation\",\"type\":\"standalone\"},{\"name\":\"5\",\"description\":\"Specifies a line-search method that is a modified version of LIS=4.\",\"type\":\"standalone\"},{\"name\":\"6\",\"description\":\"Specifies golden section line search (Polak 1971), which uses only function values for linear approximation.\",\"type\":\"standalone\"},{\"name\":\"7\",\"description\":\"Specifies bisection line search (Polak 1971), which uses only function values for linear approximation.\",\"type\":\"standalone\"},{\"name\":\"8\",\"description\":\"Specifies Armijo line-search technique (Polak 1971), which uses only function values for linear approximation.\",\"type\":\"standalone\"}]},{\"name\":\"LIST\",\"optional\":true,\"description\":\"Displays the model program and variable lists. The LIST option is a debugging feature and is not normally needed.\",\"type\":\"standalone\"},{\"name\":\"LISTCODE\",\"optional\":true,\"description\":\"Displays the derivative tables and the compiled program code. The LISTCODE option is a debugging feature and is not normally needed.\",\"type\":\"standalone\"},{\"name\":\"LISTDEP\",\"optional\":true,\"description\":\"Produces a report that lists, for each variable in the program, the variables that depend on it and on which it depends. The LISTDEP option is a debugging feature and is not normally needed.\",\"type\":\"standalone\"},{\"name\":\"LISTDER\",\"optional\":true,\"description\":\"Displays a table of derivatives. This table lists each nonzero derivative computed for the problem. The LISTDER option is a debugging feature and is not normally needed.\",\"type\":\"standalone\"},{\"name\":\"LOGNOTE\",\"optional\":true,\"description\":\"Writes periodic notes to the log that describe the current status of computations.\",\"type\":\"standalone\"},{\"name\":\"LSPRECISION=\",\"optional\":true,\"aliases\":[\"LSP=\",\"SPRECISION=\",\"SP=\"],\"description\":\"Specifies the degree of accuracy that should be obtained by the line-search algorithms LIS=2 and LIS=3. The default LSPRECISION= values are:\",\"type\":\"value\"},{\"name\":\"MAXFUNC=\",\"optional\":true,\"aliases\":[\"MAXFU=\"],\"description\":\"Specifies the maximum number i of function calls in the optimization process. The default values are:\",\"type\":\"value\"},{\"name\":\"MAXITER=\",\"optional\":true,\"aliases\":[\"MAXIT=\"],\"description\":\"Specifies the maximum number i of iterations in the optimization process. The default values are:\",\"type\":\"value\"},{\"name\":\"MAXSTEP=\",\"optional\":true,\"description\":\"Specifies an upper bound for the step length of the line-search algorithms during the first n iterations.\",\"type\":\"value\"},{\"name\":\"MAXTIME=\",\"optional\":true,\"description\":\"Requires the CPU time to be no larger than . The default value of the MAXTIME= option is the largest double floating-point number on your computer.\",\"help\":\"MAXTIME=*r*\",\"type\":\"value\"},{\"name\":\"METHOD=\",\"optional\":true,\"description\":\"Specifies the method for approximating the integral of the likelihood over the random effects.\",\"help\":\"METHOD=FIRO | GAUSS | HARDY | ISAMP\",\"type\":\"choice\",\"arguments\":[{\"name\":\"FIRO\",\"description\":\"Specifies the first-order method of Beal and Sheiner (1982).\",\"type\":\"standalone\"},{\"name\":\"GAUSS\",\"description\":\"Specifies adaptive Gauss-Hermite quadrature (Pinheiro and Bates 1995).\",\"type\":\"standalone\"},{\"name\":\"HARDY\",\"description\":\"Specifies Hardy quadrature based on an adaptive trapezoidal rule. This method is available only for one-dimensional integrals; that is, you must specify only one random effect.\",\"type\":\"standalone\"},{\"name\":\"ISAMP\",\"description\":\"Specifies adaptive importance sampling (Pinheiro and Bates 1995).\",\"type\":\"standalone\"}]},{\"name\":\"MINITER=\",\"optional\":true,\"aliases\":[\"MINIT=\"],\"description\":\"Specifies the minimum number of iterations. The default value is 0.\",\"type\":\"value\"},{\"name\":\"MSINGULAR=\",\"optional\":true,\"aliases\":[\"MSING=\"],\"description\":\"Specifies a relative singularity criterion for the computation of the inertia (number of positive, negative, and zero eigenvalues) of the Hessian and its projected forms.\",\"type\":\"value\"},{\"name\":\"NOAD\",\"optional\":true,\"description\":\"Requests that the Gaussian quadrature be nonadaptive; that is, the quadrature points are centered at zero for each of the random effects and the current random-effects variance matrix is used as the scale matrix.\",\"type\":\"standalone\"},{\"name\":\"NOADSCALE\",\"optional\":true,\"description\":\"Requests nonadaptive scaling for adaptive Gaussian quadrature; that is, the quadrature points are centered at the empirical Bayes estimates for the random effects, but the current random-effects variance matrix is used as the scale matrix.\",\"type\":\"standalone\"},{\"name\":\"OPTCHECK\",\"optional\":true,\"description\":\"Computes the function values f(θi) of a grid of points θi in a ball of radius of r about θ.\",\"type\":\"standalone\"},{\"name\":\"OUTQ=\",\"optional\":true,\"description\":\"Specifies an output data set containing the quadrature points used for numerical integration.\",\"help\":\"OUTQ=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"QFAC=\",\"optional\":true,\"description\":\"Specifies the additive factor used to adaptively search for the number of quadrature points.\",\"type\":\"value\"},{\"name\":\"QMAX=\",\"optional\":true,\"description\":\"Specifies the maximum number of quadrature points permitted before the adaptive search is aborted.\",\"type\":\"value\"},{\"name\":\"QPOINTS=\",\"optional\":true,\"description\":\"Specifies the number of quadrature points to be used during evaluation of integrals.\",\"type\":\"value\"},{\"name\":\"QSCALEFAC=\",\"optional\":true,\"description\":\"Specifies a multiplier for the scale matrix used during quadrature calculations. The default value is 1.0.\",\"type\":\"value\"},{\"name\":\"QTOL=\",\"optional\":true,\"description\":\"Specifies the tolerance used to adaptively select the number of quadrature points.\",\"type\":\"value\"},{\"name\":\"RESTART=\",\"optional\":true,\"aliases\":[\"REST=\"],\"description\":\"Specifies that the QUANEW or CONGRA algorithm is restarted with a steepest descent/ascent search direction after at most i iterations, i > 0.\",\"type\":\"value\"},{\"name\":\"SEED=\",\"optional\":true,\"description\":\"Specifies the random number seed for METHOD=ISAMP.\",\"help\":\"SEED=*i*\",\"type\":\"value\"},{\"name\":\"SINGCHOL=\",\"optional\":true,\"description\":\"Specifies the singularity criterion r for Cholesky roots of the random-effects variance matrix and scale matrix for adaptive Gaussian quadrature.\",\"type\":\"value\"},{\"name\":\"SINGHESS=\",\"optional\":true,\"description\":\"Specifies the singularity criterion r for the inversion of the Hessian matrix. The default value is 1E-8.\",\"type\":\"value\"},{\"name\":\"SINGSWEEP=\",\"optional\":true,\"description\":\"Specifies the singularity criterion r for inverting the variance matrix in the first-order method and the empirical Bayes Hessian matrix.\",\"type\":\"value\"},{\"name\":\"SINGVAR=\",\"optional\":true,\"description\":\"Specifies the singularity criterion r below which statistical variances are considered to equal zero.\",\"type\":\"value\"},{\"name\":\"START\",\"optional\":true,\"description\":\"Requests that the gradient of the log likelihood at the starting values be displayed.\",\"type\":\"standalone\"},{\"name\":\"SUBGRADIENT=\",\"optional\":true,\"aliases\":[\"SUBGRAD=\"],\"description\":\"Specifies a SAS data set to save in models with RANDOM statement the subject-specific gradients of the integrated, marginal log-likelihood with respect to all parameters.\",\"help\":\"SUBGRADIENT=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"TECHNIQUE=\",\"optional\":true,\"aliases\":[\"TECH=\"],\"description\":\"Specifies the optimization technique.\",\"help\":\"TECHNIQUE=CONGRA | DBLDOG | NMSIMP | NONE | NEWRAP | NRRIDG | QUANEW | TRUREG\",\"type\":\"choice\",\"arguments\":[{\"name\":\"CONGRA\",\"description\":\"Performs a conjugate-gradient optimization, which can be more precisely specified with the UPDATE= option and modified with the LINESEARCH= option.\",\"type\":\"standalone\"},{\"name\":\"DBLDOG\",\"description\":\"Performs a version of double-dogleg optimization, which uses the gradient to update an approximation of the Cholesky factor of the Hessian.\",\"type\":\"standalone\"},{\"name\":\"NMSIMP\",\"description\":\"Performs a Nelder-Mead simplex optimization.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"Does not perform any optimization.\",\"type\":\"standalone\"},{\"name\":\"NEWRAP\",\"description\":\"Performs a Newton-Raphson optimization combining a line-search algorithm with ridging.\",\"type\":\"standalone\"},{\"name\":\"NRRIDG\",\"description\":\"Performs a Newton-Raphson optimization with ridging.\",\"type\":\"standalone\"},{\"name\":\"QUANEW\",\"description\":\"Performs a quasi-Newton optimization, which can be defined more precisely with the UPDATE= option and modified with the LINESEARCH= option.\",\"type\":\"standalone\"},{\"name\":\"TRUREG\",\"description\":\"Performs a trust region optimization.\",\"type\":\"standalone\"}]},{\"name\":\"TRACE\",\"optional\":true,\"description\":\"Displays the result of each operation in each statement in the model program as it is executed.\",\"type\":\"standalone\"},{\"name\":\"UPDATE=\",\"optional\":true,\"aliases\":[\"UPD=\"],\"description\":\"Specifies the update method for the quasi-Newton, double-dogleg, or conjugate-gradient optimization technique.\",\"help\":\"UPDATE=BFGS | DBFGS | DDFP | DFP | PB | FR | PR | CD\",\"type\":\"choice\",\"arguments\":[{\"name\":\"BFGS\",\"description\":\"Performs the original Broyden, Fletcher, Goldfarb, and Shanno (BFGS) update of the inverse Hessian matrix.\",\"type\":\"standalone\"},{\"name\":\"DBFGS\",\"description\":\"Performs the dual BFGS update of the Cholesky factor of the Hessian matrix. This is the default update method.\",\"type\":\"standalone\"},{\"name\":\"DDFP\",\"description\":\"Performs the dual Davidon, Fletcher, and Powell (DFP) update of the Cholesky factor of the Hessian matrix.\",\"type\":\"standalone\"},{\"name\":\"DFP\",\"description\":\"Performs the original DFP update of the inverse Hessian matrix.\",\"type\":\"standalone\"},{\"name\":\"PB\",\"description\":\"Performs the automatic restart update method of Powell (1977) and Beale (1972).\",\"type\":\"standalone\"},{\"name\":\"FR\",\"description\":\"Performs the Fletcher-Reeves update (Fletcher 1987).\",\"type\":\"standalone\"},{\"name\":\"PR\",\"description\":\"Performs the Polak-Ribiere update (Fletcher 1987).\",\"type\":\"standalone\"},{\"name\":\"CD\",\"description\":\"Performs a conjugate-descent update of Fletcher (1987).\",\"type\":\"standalone\"}]},{\"name\":\"VSINGULAR=\",\"optional\":true,\"aliases\":[\"VSING=\"],\"description\":\"Specifies a relative singularity criterion for the computation of the inertia (number of positive, negative, and zero eigenvalues) of the Hessian and its projected forms.\",\"type\":\"value\"},{\"name\":\"XCONV=\",\"optional\":true,\"aliases\":[\"XTOL=\"],\"description\":\"Specifies the relative parameter convergence criterion. Termination requires a small relative parameter change in subsequent iterations.\",\"type\":\"value\"},{\"name\":\"XREF\",\"optional\":true,\"description\":\"Displays a cross-reference of the variables in the program showing where each variable is referenced or given a value.\",\"type\":\"standalone\"},{\"name\":\"XSIZE=\",\"optional\":true,\"description\":\"Specifies the XSIZE parameter of the relative function and relative gradient termination criteria. The default value is r=0.\",\"type\":\"value\"}]},{\"name\":\"ABORT\",\"description\":\"Stops executing the current DATA step, SAS job, or SAS session.\",\"help\":\"ABORT &lt;ABEND&gt;&lt;CANCEL&gt;&lt;CANCEL FILE&gt; ...\",\"arguments\":[{\"name\":\"ABEND\",\"optional\":true,\"description\":\"Causes abnormal termination of the current SAS job or session. Results depend on the method of operation: o batch mode and noninteractive mode o stops processing immediately o sends an error message to the SAS log that states that execution was terminated by the ABEND option of the ABORT macro statement o does not execute any subsequent statements or check syntax o returns control to the operating environment; further action is based on how your operating environment and your site treat jobs that end abnormally. o windowing environment and interactive line mode\",\"type\":\"standalone\"},{\"name\":\"CANCEL\",\"optional\":true,\"description\":\"Causes the cancellation of the current submitted statements. The results depend on the method of operation: o batch mode and noninteractive mode o The entire SAS program and SAS system are terminated. o The error message is written to the SAS log. o windowing environment and interactive line mode o It only clears the current submitted program. o Other subsequent submitted programs are not affected. o The error message is written to the SAS log. o workspace server and stored process server o It only clears currently submitted program. o Other subsequent submit calls are not affected. o The error message is written to the SAS log. o SAS IntrNet application server\",\"type\":\"standalone\"},{\"name\":\"CANCEL FILE\",\"optional\":true,\"description\":\"Causes only the contents of the autoexec file or %INCLUDE file to be cleared by the %ABORT statement. Other submitted source statements will be executed after the autoexec or %INCLUDE file.\",\"type\":\"standalone\"},{\"name\":\"NOLIST\",\"optional\":true,\"description\":\"suppresses the output of all variables to the SAS log.\",\"type\":\"standalone\"},{\"name\":\"RETURN\",\"optional\":true,\"description\":\"Causes abnormal termination of the current SAS job or session. Results depend on the method of operation: o batch mode and noninteractive mode o stops processing immediately o sends an error message to the SAS log that states that execution was terminated by the RETURN option in the ABORT macro statement o does not execute any subsequent statements or check syntax o returns control to the operating environment with a condition code indicating an error. o windowing environment and interactive line mode\",\"type\":\"standalone\"}]},{\"name\":\"ARRAY\",\"description\":\"The ARRAY statement is similar to, but not exactly the same as, the ARRAY statement in the SAS DATA step, and it is exactly the same as the ARRAY statements in the NLIN, NLP, and MODEL procedures. The ARRAY statement is used to associate a name (of no more than eight characters) with a list of variables and constants. The array name is used with subscripts in the program to refer to the array elements. The following statements illustrate this: array r[8] r1-r8; do i = 1 to 8; r[i] = 0; end; The ARRAY statement does not support all the features of the ARRAY statement in the DATA step. It cannot be used to assign initial values to array elements. Implicit indexing of variables cannot be used; all array references must have explicit subscript expressions. Only exact array dimensions are allowed; lower-bound specifications are not supported. A maximum of six dimensions is allowed.\",\"help\":\"ARRAY arrayname [{ dimensions }] [$] [variables and constants] \"},{\"name\":\"BOUNDS\",\"description\":\"where b_con := number operator parameter_list operator number or b_con := number operator parameter_list or b_con := parameter_list operator number and operator := ≤, <, ≥, or > Boundary constraints are specified with a BOUNDS statement. One- or two-sided boundary constraints are allowed.\",\"help\":\"BOUNDS b_con [ , b_con...] \"},{\"name\":\"BY\",\"description\":\"You can use a BY statement with the NLMIXED procedure to obtain separate analyses on DATA= data set observations in groups defined by the BY variables. This means that, unless TECH=NONE, an optimization problem is solved for each BY group separately. When a BY statement appears, the procedure expects the input DATA= data set to be sorted in the order of the BY variables.\",\"help\":\"BY &lt;DESCENDING&gt;&lt;NOTSORTED&gt;\",\"arguments\":[{\"name\":\"DESCENDING\",\"optional\":true,\"description\":\"Specifies that the observations are sorted in descending order by the variable that immediately follows the word DESCENDING in the BY statement.\",\"type\":\"standalone\"},{\"name\":\"NOTSORTED\",\"optional\":true,\"description\":\"Specifies that observations are not necessarily sorted in alphabetic or numeric order.\",\"type\":\"standalone\"}]},{\"name\":\"CALL\",\"description\":\"Invokes a SAS CALL routine.\",\"help\":\"CALL routine(parameter-1&lt;, ...parameter-n&gt;)\"},{\"name\":\"CONTRAST\",\"description\":\"The CONTRAST statement enables you to conduct a statistical test that several expressions simultaneously equal zero.\",\"help\":\"CONTRAST &lt;DF=n&gt;\",\"arguments\":[{\"name\":\"DF=\",\"optional\":true,\"description\":\"Specifies the denominator degrees of freedom to be used in computing p values for the F statistics.\",\"help\":\"DF=*n*\",\"type\":\"value\"}]},{\"name\":\"DELETE\",\"description\":\"Stops processing the current observation.\",\"help\":\"DELETE\"},{\"name\":\"DO\",\"description\":\"\",\"help\":\"DO &lt;OVER&gt;&lt;&gt;&lt;&gt; ...\",\"arguments\":[{\"name\":\"BY\",\"optional\":true,\"description\":\"Precedes an increment integer (other than 0) or an expression that generates an integer to be added to the value of the index variable in each iteration of the DO loop.\",\"type\":\"standalone\"},{\"name\":\"OVER\",\"optional\":true,\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"TO\",\"optional\":true,\"description\":\"Separates the start and stop integers or expressions that control the number of times the portion of the DATA step between the iterative DO and END statements is processed.\",\"type\":\"standalone\"},{\"name\":\"UNTIL\",\"optional\":true,\"description\":\"...more SAS statements... END\",\"type\":\"standalone\"},{\"name\":\"WHILE\",\"optional\":true,\"description\":\"\",\"type\":\"standalone\"}]},{\"name\":\"ELSE\",\"description\":\"If the condition in a IF-THEN statement is false and an ELSE statement is present, then the ELSE action is carried out.\",\"help\":\"ELSE &lt;DO&gt;&lt;IF&gt;&lt;THEN&gt; ...\",\"arguments\":[{\"name\":\"AND\",\"optional\":true,\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"DO\",\"optional\":true,\"description\":\"Action statement in an IF-THEN-ELSE construct.\",\"type\":\"standalone\"},{\"name\":\"IF\",\"optional\":true,\"description\":\"Executes a SAS statement for observations that meet specific conditions.\",\"type\":\"standalone\"},{\"name\":\"NOT\",\"optional\":true,\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"OR\",\"optional\":true,\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"OUTPUT\",\"optional\":true,\"description\":\"Action statement in an IF-THEN-ELSE construct.\",\"type\":\"standalone\"},{\"name\":\"THEN\",\"optional\":true,\"description\":\"If the conditions that are specified in the IF clause are met, the IF-THEN statement executes a SAS statement for observations that are read from a SAS data set, for records in an external file, or for computed values.\",\"type\":\"standalone\"}]},{\"name\":\"END\",\"description\":\"Ends a DO group or SELECT group processing.\",\"help\":\"END\"},{\"name\":\"ESTIMATE\",\"description\":\"The ESTIMATE statement enables you to compute an additional estimate that is a function of the parameter values. You must provide a quoted string to identify the estimate and then a valid SAS expression. Multiple ESTIMATE statements are permitted, and results from all statements are listed in a common table. PROC NLMIXED computes approximate standard errors for the estimates using the delta method (Billingsley 1986). It uses these standard errors to compute corresponding t statistics, p-values, and confidence limits\",\"help\":\"ESTIMATE &lt;ALPHA=α&gt;&lt;DF=n&gt;\",\"arguments\":[{\"name\":\"ALPHA=\",\"optional\":true,\"description\":\"Specifies the α level to be used in computing confidence limits.\",\"type\":\"value\"},{\"name\":\"DF=\",\"optional\":true,\"description\":\"Specifies the denominator degrees of freedom to be used in computing p values and confidence limits.\",\"help\":\"DF=*n*\",\"type\":\"value\"}]},{\"name\":\"GOTO\",\"description\":\"Jumps to a new statement.\",\"help\":\"GOTO label\"},{\"name\":\"ID\",\"description\":\"The ID statement identifies additional quantities to be included in the OUT= data set of the PREDICT statement. These can be any symbols you have defined with SAS programming statements.\",\"help\":\"ID names \"},{\"name\":\"IF\",\"description\":\"\",\"help\":\"IF &lt;DO&gt;&lt;THEN&gt;&lt;WHEN&gt; ...\",\"arguments\":[{\"name\":\"AND\",\"optional\":true,\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"DO\",\"optional\":true,\"description\":\"Action statement in an IF-THEN construct.\",\"type\":\"standalone\"},{\"name\":\"GO\",\"optional\":true,\"aliases\":[\"GOTO\"],\"description\":\"Jumps to a new statement.\",\"help\":\"GO TO\",\"type\":\"standalone\"},{\"name\":\"NOT\",\"optional\":true,\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"OR\",\"optional\":true,\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"OUTPUT\",\"optional\":true,\"description\":\"Action statement in an IF-THEN construct.\",\"type\":\"standalone\"},{\"name\":\"PUT\",\"optional\":true,\"description\":\"Action statement in an IF-THEN construct.\",\"type\":\"standalone\"},{\"name\":\"SET\",\"optional\":true,\"description\":\"Reads an observation from one or more SAS data sets.\",\"type\":\"standalone\"},{\"name\":\"STOP\",\"optional\":true,\"description\":\"Action statement in an IF-THEN construct. Stops execution of the current DATA step.\",\"type\":\"standalone\"},{\"name\":\"THEN\",\"optional\":true,\"description\":\"If the conditions that are specified in the IF clause are met, the IF-THEN statement executes a SAS statement for observations that are read from a SAS data set, for records in an external file, or for computed values.\",\"type\":\"standalone\"},{\"name\":\"WHEN\",\"optional\":true,\"description\":\"WHEN statement in an IF-THEN-WHEN construct.\",\"type\":\"standalone\"}]},{\"name\":\"LINK\",\"description\":\"Directs program execution immediately to the statement label that is specified and, if followed by a RETURN statement, returns execution to the statement that follows the LINK statement.\",\"help\":\"LINK statement-label\"},{\"name\":\"MODEL\",\"description\":\"The MODEL statement is the mechanism for specifying the conditional distribution of the data given the random effects. You must specify a single dependent variable from the input data set, a tilde ~, and then a distribution with its parameters.\",\"help\":\"MODEL &lt;BINARY(p)&gt;&lt;BINOMIAL(n,p)&gt;&lt;NORMAL(m,v)&gt; ...\",\"arguments\":[{\"name\":\"BINARY\",\"optional\":true,\"description\":\"Specifies a binary (Bernoulli) distribution with probability p.\",\"type\":\"standalone\"},{\"name\":\"BINOMIAL\",\"optional\":true,\"description\":\"Specifies a binomial distribution with count n and probability p.\",\"type\":\"standalone\"},{\"name\":\"GAMMA\",\"optional\":true,\"description\":\"Specifies a gamma distribution with shape a and scale b.\",\"type\":\"standalone\"},{\"name\":\"GENERAL\",\"optional\":true,\"description\":\"Specifies a general log likelihood function that you construct using SAS programming statements.\",\"type\":\"standalone\"},{\"name\":\"NEGBIN\",\"optional\":true,\"description\":\"Specifies a negative binomial distribution with count n and probability p.\",\"type\":\"standalone\"},{\"name\":\"NORMAL\",\"optional\":true,\"description\":\"Specifies a normal (Gaussian) distribution with mean m and variance v.\",\"type\":\"standalone\"},{\"name\":\"POISSON\",\"optional\":true,\"description\":\"Specifies a Poisson distribution with mean m.\",\"type\":\"standalone\"}]},{\"name\":\"OTHERWISE\",\"description\":\">\",\"help\":\"\"},{\"name\":\"PARMS\",\"aliases\":[\"PARM\",\"PARAMETERS\",\"PARAMETER\"],\"description\":\"The PARMS statement lists names of parameters and specifies initial values, possibly over a grid. You can specify the parameters and values directly in a list, or you can provide the name of a SAS data set that contains them by using the DATA= option.\",\"help\":\"PARMS &lt;BEST=i &gt; 0&gt;&lt;BYDATA&gt;&lt;DATA=SAS-data-set&gt; ...\",\"arguments\":[{\"name\":\"BEST=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the maximum number of points displayed in the \\\"Parameters\\\" table, selected as the points with the maximum likelihood values. By default, all grid values are displayed.\",\"type\":\"value\"},{\"name\":\"BYDATA\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Enables you to assign different starting values for each BY group by using the DATA=SAS-data-set option during BY processing.\",\"type\":\"standalone\"},{\"name\":\"DATA=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies a SAS data set containing parameter names and starting values.\",\"help\":\"DATA=*SAS-data-set*\",\"type\":\"dataSet\"}]},{\"name\":\"PREDICT\",\"description\":\"The PREDICT statement enables you to construct predictions of an expression across all of the observations in the input data set.\",\"help\":\"PREDICT &lt;ALPHA=α&gt;&lt;DER&gt; OUT=SAS-data-set ...\",\"arguments\":[{\"name\":\"OUT=\",\"description\":\"Results are placed in an output data set that you specify with the OUT= option.\",\"help\":\"OUT=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"ALPHA=\",\"optional\":true,\"description\":\"Specifies the α level to be used in computing t statistics and intervals.\",\"type\":\"value\"},{\"name\":\"DER\",\"optional\":true,\"description\":\"Requests that derivatives of the predicted expression with respect to all parameters be included in the OUT= data set.\",\"type\":\"standalone\"},{\"name\":\"DF=\",\"optional\":true,\"description\":\"Specifies the denominator degrees of freedom to be used in computing t statistics and intervals in the OUT= data set.\",\"help\":\"DF=*d*\",\"type\":\"value\"}]},{\"name\":\"PUT\",\"description\":\"The PUT statement writes text data to the current output file.\",\"help\":\"PUT &lt;_PAGE_&gt;\",\"arguments\":[{\"name\":\"_PAGE_\",\"optional\":true,\"description\":\"Outputs any pending line data and moves to the top of the next page.\",\"type\":\"standalone\"}]},{\"name\":\"RANDOM\",\"description\":\"The RANDOM statement defines the random effects and their distribution. The random effects must be represented by symbols that appear in your SAS programming statements. The random effects must be represented by symbols that appear in your SAS programming statements. They typically influence the mean value of the distribution specified in the MODEL statement. The RANDOM statement consists of a list of the random effects (usually just one or two symbols), a tilde ~, the distribution for the random effects, and then a SUBJECT= variable. Only one RANDOM statement is permitted, so multilevel nonlinear mixed models are not accommodated. However, you can specify certain nested random effects structure with a single RANDOM statement.\",\"help\":\"RANDOM &lt;ALPHA=α&gt;&lt;NORMAL(m,v)&gt;&lt;SUBJECT= variable&gt; ...\",\"arguments\":[{\"name\":\"ALPHA=\",\"optional\":true,\"description\":\"Specifies the α level to be used in computing t statistics and intervals.\",\"type\":\"value\"},{\"name\":\"DF=\",\"optional\":true,\"description\":\"Specifies the denominator degrees of freedom to be used in computing t statistics and intervals in the OUT= data set.\",\"help\":\"DF=*d*\",\"type\":\"value\"},{\"name\":\"NORMAL\",\"optional\":true,\"description\":\"Specifies a normal (Gaussian) distribution with mean m and variance v.\",\"type\":\"standalone\"},{\"name\":\"OUT=\",\"optional\":true,\"description\":\"Requests an output data set containing empirical Bayes estimates of the random effects and their approximate standard errors of prediction.\",\"help\":\"OUT=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"SUBJECT=\",\"optional\":true,\"description\":\"Determines when new realizations of the random effects are assumed to occur. PROC NLMIXED assumes that a new realization occurs whenever the value of the SUBJECT= variable changes from the previous observation, so your input data set should be clustered according to this variable. One easy way to accomplish this is to run PROC SORT prior to calling PROC NLMIXED by using the SUBJECT= variable as the BY variable.\",\"type\":\"value\"}]},{\"name\":\"REPLICATE\",\"description\":\"The REPLICATE statement provides a way to accommodate models in which different subjects have identical data. This occurs most commonly when the dependent variable is binary. When you specify a REPLICATE variable, PROC NLMIXED assumes that its value indicates the number of subjects having data identical to those for the current value of the SUBJECT= variable (specified in the RANDOM statement). Only the last observation of the REPLICATE variable for each subject is used, and the replicate variable must have only positive integer values. Note that the REPLICATE mechanism is different from using a FREQ statement in other statistical modeling procedures, such as PROC GLM, GENMOD, GLIMMIX, and LOGISTIC. A FREQ variable is used to identify grouped values for observations, essentially multiplying the log likelihood or sum of squares contribution for the observation. A REPLICATE variable is used to multiply the contribution of a subject that comprises one or more observations.\",\"help\":\"REPLICATE variable \"},{\"name\":\"RETURN\",\"description\":\"Stops executing statements at the current point in the DATA step and returns to a predetermined point in the step.\",\"help\":\"RETURN\"},{\"name\":\"SELECT\",\"description\":\"\",\"help\":\"\"},{\"name\":\"STOP\",\"description\":\"The STOP statement halts the execution of all statements that contain it, including DO statements and other control or looping statements. Execution continues with the next top-level source statement.\",\"help\":\"STOP \"},{\"name\":\"WHEN\",\"description\":\"\",\"help\":\"WHEN &lt;DO&gt;\",\"arguments\":[{\"name\":\"DO\",\"optional\":true,\"description\":\"\",\"type\":\"standalone\"}]}],\"supportSiteInformation\":{\"docsetId\":\"statug\",\"docsetVersion\":\"latest\",\"docsetTargetFile\":\"statug_nlmixed_toc.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/NLMOD.json",
    "content": "{\"name\":\"NLMOD\",\"statements\":[{\"name\":\"PROC NLMOD\",\"description\":\"The NLMOD procedure uses either nonlinear least squares or maximum likelihood to fit nonlinear regression models in SAS Viya. PROC NLMOD enables you to specify the model by using SAS programming statements, which give you greater flexibility in modeling the relationship between the response variable and independent (regressor) variables than SAS procedures that use a more structured MODEL statement.\",\"help\":\"PROC NLMOD <ABSCONV=r | ABSTOL=r><ABSFCONV= r <n> | ABSFTOL=r <n>><ABSGCONV=r <n> | ABSGTOL=r <n>><ALPHA=α><CORR><COV><DATA=CAS-libref.data-table><DF=n><ECORR><ECOV><FCONV=r <n> | FTOL=r <n>><GCONV=r <n> | GTOL=r <n>><MAXFUNC=n | MAXFU=n><MAXITER=n | MAXIT=n><MAXTIME=r><MINITER=n | MINIT=n><NOITPRINT><NOPRINT><OUT=CAS-libref.data-table><SINGULAR=number><TECHNIQUE=CONGRA | DBLDOG | LEVMAR... >;     \\n\\tABORT;\\n\\n\\tBOUNDS constraint < , constraint . . . > ;\\n\\n\\tBY variables ;\\n\\n\\tCALL name [ ( expression [, expression ... ] ) ];\\n\\n\\tDELETE;\\n\\n\\tDISPLAY <CASESENSITIVE><EXCLUDE><EXCLUDEALL> ...;\\n\\n\\tDISPLAYOUT <NOREPLACE><REPEATED> ;\\n\\n\\tDO[variable = expression;\\n\\n\\tELSE <DO><IF><THEN> ...;\\n\\n\\tEND;\\n\\n\\tESTIMATE <ALPHA=α><DF=d> ;\\n\\n\\tGOTO statement_label;\\n\\n\\tID variables ;\\n\\n\\tIF <DO><THEN><WHEN> ...;\\n\\n\\tLINK statement_label;\\n\\n\\tMODEL <BINARY(p)><NORMAL(m,v)><RESIDUAL(m) | LS(m)> ...;\\n\\n\\t;\\n\\n\\tPARAMETERS <BEST=i > 0><PDATA=CAS-libref.data-table | DATA=CAS-libref.data-table><START=value | DEFSTART=value> ...;\\n\\n\\tPREDICT <ALPHA=α><DF=d><MEAN> ...;\\n\\n\\tPUT <_PDV_> ;\\n\\n\\tRESTRICT restriction1 < , restriction2 . . . > ;\\n\\n\\tRETURN;\\n\\n\\t;\\n\\n\\tSTOP ;\\n\\n\\tSUBSTR( variable, index, length )= expression;\\n\\n\\tWHEN <DO> ;\\n\",\"arguments\":[{\"name\":\"ABSCONV=\",\"optional\":true,\"aliases\":[\"ABSTOL=\"],\"description\":\"Specifies an absolute function convergence criterion. The default value of r is the negative square root of the largest double-precision value, which serves only as a protection against overflows.\",\"type\":\"value\"},{\"name\":\"ABSFCONV=\",\"optional\":true,\"aliases\":[\"ABSFTOL=\"],\"description\":\"Specifies an absolute function difference convergence criterion. For all techniques except NMSIMP, termination requires a small change of the function value in successive iterations.\",\"type\":\"value\"},{\"name\":\"ABSGCONV=\",\"optional\":true,\"aliases\":[\"ABSGTOL=\"],\"description\":\"Specifies an absolute gradient convergence criterion. This criterion is not used by the NMSIMP technique. The optional integer value n specifies the number of successive iterations for which the criterion must be satisfied before the process can be terminated. By default, ABSGCONV=1E–5.\",\"type\":\"value\"},{\"name\":\"ALPHA=\",\"optional\":true,\"description\":\"Specifies the level of significance α that is used in constructing 100(1-α)% confidence intervals. The value must be strictly between 0 and 1; the default value of α = 0.05 results in 95% intervals. This value is used as the default confidence level for limits that are computed in the “Parameter Estimates” table and is used in the LOWER and UPPER options in the PREDICT statement.\",\"type\":\"value\"},{\"name\":\"CORR\",\"optional\":true,\"description\":\"Requests the approximate correlation matrix for the parameter estimates.\",\"type\":\"standalone\"},{\"name\":\"COV\",\"optional\":true,\"description\":\"Requests the approximate covariance matrix for the parameter estimates.\",\"type\":\"standalone\"},{\"name\":\"DATA=\",\"optional\":true,\"description\":\"Names the input data table to be used by PROC NLMOD. The default is the most recently created data table. CAS-libref specifies the CAS library where the input data table resides, and data-table specifies the name of the input data table.\",\"help\":\"DATA=*CAS-libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"DF=\",\"optional\":true,\"description\":\"Specifies the default number of degrees of freedom to use in the calculation of p-values and confidence limits for additional parameter estimates.\",\"help\":\"DF=*n*\",\"type\":\"value\"},{\"name\":\"ECORR\",\"optional\":true,\"description\":\"Requests the approximate correlation matrix for all expressions that are specified in ESTIMATE statements.\",\"type\":\"standalone\"},{\"name\":\"ECOV\",\"optional\":true,\"description\":\"Requests the approximate covariance matrix for all expressions that are specified in ESTIMATE statements.\",\"type\":\"standalone\"},{\"name\":\"FCONV=\",\"optional\":true,\"aliases\":[\"FTOL=\"],\"description\":\"Specifies a relative function convergence criterion.\",\"type\":\"value\"},{\"name\":\"GCONV=\",\"optional\":true,\"aliases\":[\"GTOL=\"],\"description\":\"Specifies a relative gradient convergence criterion.\",\"type\":\"value\"},{\"name\":\"MAXFUNC=\",\"optional\":true,\"aliases\":[\"MAXFU=\"],\"description\":\"Specifies the maximum number n of function calls in the optimization process. The default values are as follows, depending on the optimization technique: o TRUREG, NRRIDG, and NEWRAP: 125 o QUANEW and DBLDOG: 500 o CONGRA: 1,000 o NMSIMP: 3,000\",\"type\":\"value\"},{\"name\":\"MAXITER=\",\"optional\":true,\"aliases\":[\"MAXIT=\"],\"description\":\"Specifies the maximum number n of iterations in the optimization process. The default values are as follows, depending on the optimization technique: o TRUREG, NRRIDG, and NEWRAP: 50 o QUANEW and DBLDOG: 200 o CONGRA: 400 o NMSIMP: 1,000\",\"type\":\"value\"},{\"name\":\"MAXTIME=\",\"optional\":true,\"description\":\"Specifies an upper limit of r seconds of CPU time for the optimization process. The time specified by r is checked only once at the end of each iteration. Therefore, the actual running time can be longer than r . The default value is the largest floating-point double representation of your computer.\",\"help\":\"MAXTIME=*r*\",\"type\":\"value\"},{\"name\":\"MINITER=\",\"optional\":true,\"aliases\":[\"MINIT=\"],\"description\":\"Specifies the minimum number of iterations. If you request more iterations than are actually needed for convergence to a stationary point, the optimization algorithms can behave strangely. For example, the effect of rounding errors can prevent the algorithm from continuing for the required number of iterations. By default, MINITER=0.\",\"type\":\"value\"},{\"name\":\"NOITPRINT\",\"optional\":true,\"description\":\"Suppresses the display of the “Iteration History” table.\",\"type\":\"standalone\"},{\"name\":\"NOPRINT\",\"optional\":true,\"description\":\"Suppresses the generation of ODS output.\",\"type\":\"standalone\"},{\"name\":\"OUT=\",\"optional\":true,\"description\":\"Names the output data table to be created when one or more PREDICT statements are specified. CASlibref specifies the CAS library where the output data table is to be created, and data-table specifies the name of the output data table. A single OUT= data table is created to contain all predicted values when more than one PREDICT statement is specified. An error message is generated if a PREDICT statement is specified and an OUT= data table is not specified. The variables in the input data table are not included in the output data table, in order to avoid data duplication for large data tables; however, variables that you specify in the ID statement are included.\",\"help\":\"OUT=*CAS-libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"SINGULAR=\",\"optional\":true,\"description\":\"Tunes the general singularity criterion that is applied in sweeps and inversions. The default is 1E4 times the machine epsilon; this product is approximately 1E-12 on most computers.\",\"help\":\"SINGULAR=*number*\",\"type\":\"value\"},{\"name\":\"TECHNIQUE=\",\"optional\":true,\"aliases\":[\"TECH=\"],\"description\":\"Specifies the optimization technique for obtaining maximum likelihood estimates.\",\"help\":\"TECHNIQUE=CONGRA | DBLDOG | LEVMAR | NEWRAP | NMSIMP | NRRIDG | QUANEW | TRUREG | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"CONGRA\",\"description\":\"Performs a conjugate-gradient optimization..\",\"type\":\"standalone\"},{\"name\":\"DBLDOG\",\"description\":\"Performs a version of double-dogleg optimization.\",\"type\":\"standalone\"},{\"name\":\"LEVMAR\",\"description\":\"Performs a Levenberg-Marquardt nonlinear least-squares minimization. This technique is available only with PROC NLMOD.\",\"type\":\"standalone\"},{\"name\":\"NEWRAP\",\"description\":\"Performs a Newton-Raphson optimization with line search.\",\"type\":\"standalone\"},{\"name\":\"NMSIMP\",\"description\":\"Performs a Nelder-Mead simplex optimization.\",\"type\":\"standalone\"},{\"name\":\"NRRIDG\",\"description\":\"Performs a Newton-Raphson optimization with ridging.\",\"type\":\"standalone\"},{\"name\":\"QUANEW\",\"description\":\"Performs a dual quasi-Newton optimization.\",\"type\":\"standalone\"},{\"name\":\"TRUREG\",\"description\":\"Performs a trust-region optimization\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"Performs no optimization.\",\"type\":\"standalone\"}]}]},{\"name\":\"ABORT\",\"description\":\"Stops executing the current procedure, SAS job, or SAS session. The ABORT statement does not allow any arguments.\",\"help\":\"ABORT\"},{\"name\":\"BOUNDS\",\"description\":\"You can specify more than one BOUNDS statement. If you specify more than one lower (or upper) bound for the same parameter, the maximum (or minimum) of these is taken.\",\"help\":\"BOUNDS constraint &lt; , constraint . . . &gt; \"},{\"name\":\"BY\",\"description\":\"You can specify a BY statement in PROC NLMOD to obtain separate analyses of observations in groups that are defined by the BY variables. If you specify more than one BY statement, only the last one specified is used.\",\"help\":\"BY variables \"},{\"name\":\"CALL\",\"description\":\"Invokes a function or routine.\",\"help\":\"CALL name [ ( expression [, expression ... ] ) ]\"},{\"name\":\"DELETE\",\"description\":\"Stops processing the current observation.\",\"help\":\"DELETE\"},{\"name\":\"DISPLAY\",\"description\":\"The DISPLAY statement enables you to specify a list of ODS tables to display or exclude. This statement is similar to the ODS SELECT, ODS EXCLUDE, and ODS TRACE statements. However, the DISPLAY statement can improve performance when a large number of tables could be generated (such as in BY-group processing). The procedure processes the DISPLAY statement on a CAS server and thus sends only a subset of ODS tables to the SAS client. Because ODS statements are processed on a SAS client, all ODS tables are sent to the client and then the client creates a subset. If both DISPLAY and ODS statements are used together, the DISPLAY statement takes precedence over the ODS statements.\",\"help\":\"DISPLAY &lt;CASESENSITIVE&gt;&lt;EXCLUDE&gt;&lt;EXCLUDEALL&gt; ...\",\"arguments\":[{\"name\":\"CASESENSITIVE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Performs a case-sensitive comparison of table names in the table-list to ODS table names when tables are subsetted for display. To preserve case, you must enclose table names in the table-list in quotation marks.\",\"type\":\"standalone\"},{\"name\":\"EXCLUDE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays all ODS tables except those specified in the table-list.\",\"type\":\"standalone\"},{\"name\":\"EXCLUDEALL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Suppresses display of all tables. This option takes precedence over the other options.\",\"type\":\"standalone\"},{\"name\":\"TRACE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays the ODS table names, labels, and paths.\",\"type\":\"standalone\"}]},{\"name\":\"DISPLAYOUT\",\"description\":\"The DISPLAYOUT statement enables you to create CAS output tables from your displayed output. This statement is similar to the ODS OUTPUT statement. The table-spec-list specifies a list of CAS output tables to create. Each entry in the list has either a key or a key=value format: key=value specifies key as the ODS table name, path, or partial pathname, and specifies value as the CAS output table name. key specifies key as the ODS table name and also as the CAS output table name. Table names and partial pathnames are discussed under the DISPLAY statement. The DISPLAYOUT statement does not support regular expressions.\",\"help\":\"DISPLAYOUT &lt;NOREPLACE&gt;&lt;REPEATED&gt;\",\"arguments\":[{\"name\":\"NOREPLACE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Does not replace an existing CAS output table of the same name.\",\"type\":\"standalone\"},{\"name\":\"REPEATED\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Replicates the CAS output tables on all nodes.\",\"type\":\"standalone\"}]},{\"name\":\"DO\",\"description\":\"\",\"help\":\"DO[variable = expression\"},{\"name\":\"ELSE\",\"description\":\"If the condition in an IF-THEN statement is false and an ELSE statement is present, then the ELSE action is carried out.\",\"help\":\"ELSE &lt;DO&gt;&lt;IF&gt;&lt;THEN&gt; ...\",\"arguments\":[{\"name\":\"AND\",\"optional\":true,\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"DO\",\"optional\":true,\"description\":\"Action statement in an IF-THEN-ELSE construct.\",\"type\":\"standalone\"},{\"name\":\"IF\",\"optional\":true,\"description\":\"Executes a SAS statement for observations that meet specific conditions.\",\"type\":\"standalone\"},{\"name\":\"NOT\",\"optional\":true,\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"OR\",\"optional\":true,\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"OUTPUT\",\"optional\":true,\"description\":\"Action statement in an IF-THEN-ELSE construct.\",\"type\":\"standalone\"},{\"name\":\"THEN\",\"optional\":true,\"description\":\"If the conditions that are specified in the IF clause are met, the IF-THEN statement executes a SAS statement for observations that are read from a SAS data set, for records in an external file, or for computed values.\",\"type\":\"standalone\"}]},{\"name\":\"END\",\"description\":\"Ends a DO group or SELECT group processing.\",\"help\":\"END\"},{\"name\":\"ESTIMATE\",\"description\":\"The ESTIMATE statement enables you to compute an additional estimate that is a function of the parameter values. You must provide a quoted string to identify the estimate and then provide a valid SAS expression. Multiple ESTIMATE statements are permitted, and results from all ESTIMATE statements are listed in a common table. PROC NLMOD computes approximate standard errors for the estimates by using the delta method (Billingsley 1986). It uses these standard errors to compute corresponding t statistics, p-values, and confidence limits.\",\"help\":\"ESTIMATE &lt;ALPHA=α&gt;&lt;DF=d&gt;\",\"arguments\":[{\"name\":\"ALPHA=\",\"optional\":true,\"description\":\"Specifies the alpha level to be used to compute confidence limits. The default value corresponds to the ALPHA= option in the PROC NLMOD statement.\",\"type\":\"value\"},{\"name\":\"DF=\",\"optional\":true,\"description\":\"Specifies the degrees of freedom to be used to compute p-values and confidence limits. The default value corresponds to the DF= option in the PROC NLMOD statement.\",\"help\":\"DF=*d*\",\"type\":\"value\"}]},{\"name\":\"GOTO\",\"description\":\"Jumps to a new statement.\",\"help\":\"GOTO statement_label\"},{\"name\":\"ID\",\"description\":\"The ID statement lists one or more variables from the input data table that are transferred to output data tables that PROC NLMOD creates, provided that the output data table contains one or more records per input observation. For example, when you use an OUT= option in PROC NLMOD statement to produce prediction statistics, ID variables are added to the output data table. By default, PROC NLMOD do not include all variables from the input data table in output data tables.\",\"help\":\"ID variables \"},{\"name\":\"IF\",\"description\":\"\",\"help\":\"IF &lt;DO&gt;&lt;THEN&gt;&lt;WHEN&gt; ...\",\"arguments\":[{\"name\":\"AND\",\"optional\":true,\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"DO\",\"optional\":true,\"description\":\"Action statement in an IF-THEN construct.\",\"type\":\"standalone\"},{\"name\":\"GO\",\"optional\":true,\"aliases\":[\"GOTO\"],\"description\":\"Jumps to a new statement.\",\"help\":\"GO TO\",\"type\":\"standalone\"},{\"name\":\"NOT\",\"optional\":true,\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"OR\",\"optional\":true,\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"OUTPUT\",\"optional\":true,\"description\":\"Action statement in an IF-THEN construct.\",\"type\":\"standalone\"},{\"name\":\"PUT\",\"optional\":true,\"description\":\"Action statement in an IF-THEN construct.\",\"type\":\"standalone\"},{\"name\":\"SET\",\"optional\":true,\"description\":\"Reads an observation from one or more SAS data sets.\",\"type\":\"standalone\"},{\"name\":\"STOP\",\"optional\":true,\"description\":\"Action statement in an IF-THEN construct. Stops execution of the current DATA step.\",\"type\":\"standalone\"},{\"name\":\"THEN\",\"optional\":true,\"description\":\"If the conditions that are specified in the IF clause are met, the IF-THEN statement executes a SAS statement for observations that are read from a SAS data set, for records in an external file, or for computed values.\",\"type\":\"standalone\"},{\"name\":\"WHEN\",\"optional\":true,\"description\":\"WHEN statement in an IF-THEN-WHEN construct.\",\"type\":\"standalone\"}]},{\"name\":\"LINK\",\"description\":\"Directs program execution immediately to the statement label that is specified and, if followed by a RETURN statement, returns execution to the statement that follows the LINK statement.\",\"help\":\"LINK statement_label\"},{\"name\":\"MODEL\",\"description\":\"The MODEL statement is the mechanism for either using a distribution specification to specify the distribution of the data or using the RESIDUAL distribution to specify a predicted value. You must specify a single dependent variable from the input data table, a tilde (~), and then a distribution and its parameters.\",\"help\":\"MODEL &lt;BINARY(p)&gt;&lt;NORMAL(m,v)&gt;&lt;RESIDUAL(m) | LS(m)&gt; ...\",\"arguments\":[{\"name\":\"BINARY\",\"optional\":true,\"description\":\"Specifies a binary (Bernoulli) distribution that has probability p.\",\"type\":\"standalone\"},{\"name\":\"BINOMIAL\",\"optional\":true,\"description\":\"Specifies a binomial distribution that has count n and probability p.\",\"type\":\"standalone\"},{\"name\":\"GAMMA\",\"optional\":true,\"description\":\"Specifies a gamma distribution that has shape a and scale b.\",\"type\":\"standalone\"},{\"name\":\"GENERAL\",\"optional\":true,\"description\":\"Specifies a general log-likelihood function that you construct by using SAS programming statements.\",\"type\":\"standalone\"},{\"name\":\"NEGBIN\",\"optional\":true,\"description\":\"Specifies a negative binomial distribution that has count n and probability p.\",\"type\":\"standalone\"},{\"name\":\"NORMAL\",\"optional\":true,\"description\":\"Specifies a normal (Gaussian) distribution that has mean m and variance v.\",\"type\":\"standalone\"},{\"name\":\"POISSON\",\"optional\":true,\"description\":\"Specifies a Poisson distribution that has mean m.\",\"type\":\"standalone\"},{\"name\":\"RESIDUAL\",\"optional\":true,\"description\":\"Specifies no particular distribution. Instead the sum of squares of the differences between m and the dependent variable is minimized.\",\"type\":\"standalone\"}]},{\"name\":\"OTHERWISE\",\"description\":\">\",\"help\":\"\"},{\"name\":\"PARAMETERS\",\"aliases\":[\"PARMS\"],\"description\":\"The purpose of the PARAMETERS statement is to provide starting values for the NLMOD procedure. You can provide values that define a single point in the parameter space or that define a set of points.\",\"help\":\"PARAMETERS &lt;BEST=i &gt; 0&gt;&lt;PDATA=CAS-libref.data-table | DATA=CAS-libref.data-table&gt;&lt;START=value | DEFSTART=value&gt; ...\",\"arguments\":[{\"name\":\"BEST=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the maximum number of parameter grid points and the corresponding objective function values to display in the “Parameters” table. If you specify this option, the parameter grid points are listed in ascending order of objective function value. By default, all parameter grid points are displayed.\",\"type\":\"value\"},{\"name\":\"PDATA=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"DATA=\"],\"description\":\"Specifies the data table that provides parameter starting values. CAS-libref specifies the CAS library where the input data table resides, and data-table specifies the name of the input data table.\",\"type\":\"value\"},{\"name\":\"START=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"DEFSTART=\"],\"description\":\"Specifies a default starting value for all parameters.\",\"type\":\"value\"}]},{\"name\":\"PREDICT\",\"description\":\"The PREDICT statement enables you to construct predictions of an expression across all the observations in the input data table. Multiple PREDICT statements are permitted. Results for all PREDICT statements are displayed in the output data table that you specify in the OUT= option in the PROC NLMOD statement. The variables in the input data table are not included in the output data table, in order to avoid data duplication for large data tables; however, variables that you specify in the ID statement are included. You must specify the following arguments: 'label' identifies the predicted expression. expression | MEAN provides the predicted value.You can specify the predicted value either by using a SAS programming expression that contains the input data table variables and parameters or by using the keyword MEAN. If you specify the keyword MEAN, the predicted mean value for the distribution specified in the MODEL statement is used. Predicted\",\"help\":\"PREDICT &lt;ALPHA=α&gt;&lt;DF=d&gt;&lt;MEAN&gt; ...\",\"arguments\":[{\"name\":\"ALPHA=\",\"optional\":true,\"description\":\"Specifies the alpha level to be used to compute confidence limits. The default value corresponds to the ALPHA= option in the PROC NLMOD statement.\",\"type\":\"value\"},{\"name\":\"DF=\",\"optional\":true,\"description\":\"Specifies the degrees of freedom to be used to compute confidence limits. The default value corresponds to the DF= option in the PROC NLMOD statement.\",\"help\":\"DF=*d*\",\"type\":\"value\"},{\"name\":\"LOWER=\",\"optional\":true,\"description\":\"Specifies a variable that contains the lower confidence limit of the predicted value.\",\"help\":\"LOWER=*name*\",\"type\":\"value\"},{\"name\":\"MEAN\",\"optional\":true,\"description\":\"If you specify the keyword MEAN, the predicted mean value for the distribution specified in the MODEL statement is used.\",\"type\":\"standalone\"},{\"name\":\"PRED=\",\"optional\":true,\"description\":\"Specifies a variable that contains the predicted value.\",\"help\":\"PRED=*name*\",\"type\":\"value\"},{\"name\":\"PROBT=\",\"optional\":true,\"description\":\"Specifies a variable that contains the p-value of the predicted value.\",\"help\":\"PROBT=*name*\",\"type\":\"value\"},{\"name\":\"STDERR=\",\"optional\":true,\"description\":\"Specifies a variable that contains the standard error of the predicted value.\",\"help\":\"STDERR=*name*\",\"type\":\"value\"},{\"name\":\"TVALUE=\",\"optional\":true,\"description\":\"Specifies a variable that contains the t statistic for the predicted value.\",\"help\":\"TVALUE=*name*\",\"type\":\"value\"},{\"name\":\"UPPER=\",\"optional\":true,\"description\":\"Specifies a variable that contains the upper confidence limit of the predicted value.\",\"help\":\"UPPER=*name*\",\"type\":\"value\"}]},{\"name\":\"PUT\",\"description\":\"The PUT statement, used mostly for program debugging in PROC NLMOD, supports only some of the features of the DATA step PUT statement, and it has some new features that the DATA step PUT statement does not have: o The PROC HPNLIN PUT statement does not support line pointers, factored lists, iteration factors, overprinting, _INFILE_, the colon (:) format modifier, or “$”. o The PROC HPNLIN PUT statement supports expressions, but the expression must be enclosed in parentheses. For example, the following statement displays the square root of x: put (sqrt(x)); o The PROC HPNLIN PUT statement supports the item _PDV_ to display a formatted listing of all variables in the program. For example, the following statement displays a much more readable listing of the variables than the _ALL_ print item: put _pdv_;\",\"help\":\"PUT &lt;_PDV_&gt;\",\"arguments\":[{\"name\":\"_PDV_\",\"optional\":true,\"description\":\"Displays a formatted listing of all variables in the program.\",\"type\":\"standalone\"}]},{\"name\":\"RESTRICT\",\"description\":\"The RESTRICT statement imposes linear restrictions on the model’s parameters estimates. You can specify any number of RESTRICT statements. Each restriction is written as an expression, optionally followed by an equality operator (=) or an inequality operator (<, >, <=, >=), followed by a second expression: expression < operator expression > The operator can be =, <, >, <= , or >=. The operator and second expression are optional. When they are omitted, the operator defaults to = and the second expression defaults to the value 0.\",\"help\":\"RESTRICT restriction1 &lt; , restriction2 . . . &gt; \"},{\"name\":\"RETURN\",\"description\":\"Stops executing statements at the current point and returns to a predetermined point in the step.\",\"help\":\"RETURN\"},{\"name\":\"SELECT\",\"description\":\"\",\"help\":\"\"},{\"name\":\"STOP\",\"description\":\"The STOP statement halts the execution of all statements that contain it, including DO statements and other control or looping statements. Execution continues with the next top-level source statement.\",\"help\":\"STOP \"},{\"name\":\"SUBSTR\",\"description\":\"The SUBSTR function used as a programming statement in PROC HPNLIN.\",\"help\":\"SUBSTR( variable, index, length )= expression\"},{\"name\":\"WHEN\",\"description\":\"\",\"help\":\"WHEN &lt;DO&gt;\",\"arguments\":[{\"name\":\"DO\",\"optional\":true,\"description\":\"\",\"type\":\"standalone\"}]}],\"supportSiteInformation\":{\"docsetId\":\"casstat\",\"docsetVersion\":\"latest\",\"docsetTargetFile\":\"casstat_nlmod_toc.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/NNET.json",
    "content": "{\"name\":\"NNET\",\"statements\":[{\"name\":\"PROC NNET\",\"description\":\"The NNET procedure trains a multilayer perceptron neural network in SAS Viya. For more information about multilayer perceptron neural networks, see Bishop (1995). PROC NNET can also use a previously trained network to score a data table (referred to as stand-alone scoring), or it can generate SAS DATA step statements that can be used to score a data table.\",\"help\":\"PROC NNET <DATA=CAS-libref.data-table><INMODEL=< CAS-libref. >data-table><MISSING=MIN | MAX | MEAN><NTHREADS=number-of-threads><STANDARDIZE=NONE | STD | MIDRANGE>;     \\n\\tARCHITECTURE <GLM><MLP><MLP DIRECT> ...;\\n\\n\\tAUTOTUNE <FRACTION=number><KFOLD=number><MAXEVALS=number> ...;\\n\\n\\tCODE <FILE=filename><NOCOMPPGM> ;\\n\\n\\tCROSSVALIDATION <KFOLD=number> ;\\n\\n\\tHIDDEN <ACT=<EXP | IDENTITY | LOGISTIC>... ><COMB=<ADD | LINEAR>> ;\\n\\n\\tINPUT <LEVEL=<INT | NOM>> ;\\n\\n\\tOPTIMIZATION <ALGORITHM=<LBFGS | SGD>><MAXITER=number><MAXTIME=number> ...;\\n\\n\\tPARTITION <FRACTION(VALIDATE=fraction TEST=fraction < SEED=random-seed >)><ROLEVAR=variable(TRAIN=value VALIDATE=value < TEST=value >)> ;\\n\\n\\tSCORE <COPYVAR=variable | COPYVARS=(variables)><OUT=CAS-libref.data-table> ;\\n\\n\\tTARGET <ACT=<EXP | IDENTITY | SIN>... ><ERROR=<ENTROPY | GAMMA | NORMAL>... ><LEVEL=<INT | NOM>> ...;\\n\\n\\tTRAIN <NUMTRIES=number><OUTMODEL=CAS-libref.data-table><VALIDATION=CAS-libref.data-table> ...;\\n\\n\\tWEIGHT variable;\\n\",\"arguments\":[{\"name\":\"DATA=\",\"optional\":true,\"description\":\"Names the input data table for PROC NNET to use. The default is the most recently created data table. CAS-libref.data-table is a two-level name, where\",\"help\":\"DATA=*CAS-libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"INMODEL=\",\"optional\":true,\"description\":\"Specifies a model for stand-alone scoring or coding.\",\"type\":\"value\"},{\"name\":\"MISSING=\",\"optional\":true,\"description\":\"Specifies the statistic with which to impute missing values for interval inputs. If you specify this option, missing values for nominal inputs and targets are both treated as a valid level. By default, observations that have missing values for input variables are excluded from the analysis.\",\"help\":\"MISSING=MIN | MAX | MEAN\",\"type\":\"choice\",\"arguments\":[{\"name\":\"MIN\",\"description\":\"Specifies the MIN statistic.\",\"type\":\"standalone\"},{\"name\":\"MAX\",\"description\":\"Specifies the MAX statistic.\",\"type\":\"standalone\"},{\"name\":\"MEAN\",\"description\":\"Specifies the MEAN statistic.\",\"type\":\"standalone\"}]},{\"name\":\"NTHREADS=\",\"optional\":true,\"description\":\"Specifies the number of threads to use for the computation. The default value is the number of CPUs available. The value of number-of-threads can be from 1 to 64, inclusive.\",\"help\":\"NTHREADS=*number-of-threads*\",\"type\":\"value\"},{\"name\":\"STANDARDIZE=\",\"optional\":true,\"description\":\"Specifies the method to use for standardizing interval inputs.\",\"help\":\"STANDARDIZE=NONE | STD | MIDRANGE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NONE\",\"description\":\"Specifies the method in which the variables are not altered.\",\"type\":\"standalone\"},{\"name\":\"STD\",\"description\":\"Specifies the method in which the variables are scaled such that their mean is 0 and the standard deviation is 1.\",\"type\":\"standalone\"},{\"name\":\"MIDRANGE\",\"description\":\"Specifies the method in which the variables are scaled such that their midrange is 0 and the half-range is 1. That is, the variables have a minimum of –1 and a maximum of 1.\",\"type\":\"standalone\"}]}]},{\"name\":\"ARCHITECTURE\",\"description\":\"The ARCHITECTURE statement specifies the architecture of the neural network to be trained.\",\"help\":\"ARCHITECTURE &lt;GLM&gt;&lt;MLP&gt;&lt;MLP DIRECT&gt; ...\",\"arguments\":[{\"name\":\"GLM\",\"optional\":true,\"description\":\"Specifies a neural network architecture that has no hidden layers (this is equivalent to a generalized linear model). If you specify this architecture-option, the HIDDEN statement is not allowed.\",\"type\":\"standalone\"},{\"name\":\"MLP\",\"optional\":true,\"description\":\"Specifies a multilayer perceptron architecture that has one or more hidden layers. This is the default architecture.\",\"type\":\"standalone\"},{\"name\":\"MLP DIRECT\",\"optional\":true,\"description\":\"Specifies that direct connections between each input and each target neuron be included when the MLP architecture is used.\",\"type\":\"standalone\"}]},{\"name\":\"AUTOTUNE\",\"description\":\"The AUTOTUNE statement activates the tuning optimization algorithm, which searches for the best hidden layers and regularization parameters based on the problem and specified options. If ALGORITHM=SGD, the algorithm also searches for the best values of the learning rate and annealing rate. When you specify AUTOTUNE statement, PROC NNET ignores any HIDDEN statements that are specified. You cannot specify the AUTOTUNE statement with the CROSSVALIDATION statement, the PARTITION statement, or the VALIDATION= option in the TRAIN statement.\",\"help\":\"AUTOTUNE &lt;FRACTION=number&gt;&lt;KFOLD=number&gt;&lt;MAXEVALS=number&gt; ...\",\"arguments\":[{\"name\":\"FRACTION=\",\"optional\":true,\"description\":\"Specifies the fraction of all data to be used for validation, where number must be between 0.01 and 0.99, inclusive. If you specify this option, the tuner uses a single partition validation for finding the objective value (validation error estimate). This option might not be advisable for small or unbalanced data tables where the random assignment of the validation subset might not provide a good estimate of error. For large, balanced data tables, a single validation partition is usually sufficient for estimating error; a single partition is more efficient than cross validation in terms of the total execution time. By default, FRACTION=0.3. You cannot specify this option in combination with the KFOLD= option.\",\"help\":\"FRACTION=*number*\",\"type\":\"value\"},{\"name\":\"KFOLD=\",\"optional\":true,\"description\":\"Specifies the number of partition folds in the cross validation process, where number must be between 2 and 20, inclusive. If you specify this option, the tuner uses cross validation to find the objective value. In cross validation, each model evaluation requires number of training executions (on number–1 data folds) and number of scoring executions (on 1 hold-out fold). Thus, the evaluation time is increased by approximately number. For small to medium data tables or for unbalanced data tables, cross validation provides on average a better representation of error across the entire data table (a better generalization error). By default, KFOLD=5. You cannot specify this option in combination with the FRACTION= option.\",\"help\":\"KFOLD=*number*\",\"type\":\"value\"},{\"name\":\"MAXEVALS=\",\"optional\":true,\"description\":\"Specifies the maximum number of configuration evaluations allowed for the tuner, where number must be an integer greater than or equal to 3. When the number of evaluations is reached, the tuner terminates the search and returns the results. To produce a single objective function value (validation error estimate), each configuration evaluation requires either a single model training and scoring execution on a validation partition, or a number of training and scoring executions equal to the value of the KFOLD= option for cross validation. The MAXEVALS= option might lead to termination before the value of the MAXITER= option or the MAXTIME= option is reached. By default, MAXEVALS=50.\",\"help\":\"MAXEVALS=*number*\",\"type\":\"value\"},{\"name\":\"MAXITER=\",\"optional\":true,\"description\":\"Specifies the maximum number of iterations of the optimization tuner, where number must be greater than or equal to 1. Each iteration normally involves a number of objective evaluations up to the value of the POPSIZE= option. The MAXITER= option might lead to termination before the value of the MAXEVALS= option or the MAXTIME= option is reached.\",\"help\":\"MAXITER=*number*\",\"type\":\"value\"},{\"name\":\"MAXTIME=\",\"optional\":true,\"description\":\"Specifies the maximum time (in seconds) allowed for the tuner, where number must be greater than or equal to 1. When this value is reached, the tuner terminates the search and returns results. The actual run time for optimization might be longer because it includes the remaining time needed to finish the current evaluation. For long-running model training (large data tables), the actual run time might significantly exceed number. The MAXTIME= option might lead to termination before the value of the MAXEVALS= option or the MAXITER= option is reached. By default, MAXTIME=36000.\",\"help\":\"MAXTIME=*number*\",\"type\":\"value\"},{\"name\":\"POPSIZE=\",\"optional\":true,\"description\":\"Specifies the maximum number of evaluations in one iteration (population), where number must be greater than or equal to 1. In some cases, the tuner algorithm might generate a number of new configurations smaller than number. By default, POPSIZE=10.\",\"help\":\"POPSIZE=*number*\",\"type\":\"value\"}]},{\"name\":\"CODE\",\"description\":\"The CODE statement returns the SAS score code that can be used to score data similar to the input data.\",\"help\":\"CODE &lt;FILE=filename&gt;&lt;NOCOMPPGM&gt;\",\"arguments\":[{\"name\":\"FILE=\",\"optional\":true,\"description\":\"Specifies the name of the file where PROC NNET is to write the SAS score code.\",\"help\":\"FILE=*filename*\",\"type\":\"value\"},{\"name\":\"NOCOMPPGM\",\"optional\":true,\"description\":\"Omits the logic of the option FRACTION= option in the PARTITION statement from the score code. If you do not specify this option, the logic of the option FRACTION= option in the PARTITION statement is included in the score code.\",\"type\":\"standalone\"}]},{\"name\":\"CROSSVALIDATION\",\"description\":\"The CROSSVALIDATION statement performs a k-fold cross validation process to find the average estimated validation error. You cannot specify the CROSSVALIDATION statement if you specify either the AUTOTUNE statement or the PARTITION statement.\",\"help\":\"CROSSVALIDATION &lt;KFOLD=number&gt;\",\"arguments\":[{\"name\":\"KFOLD=\",\"optional\":true,\"description\":\"Specifies the number of partition folds in the cross validation process, where number must be between 2 and 20, inclusive. By default, KFOLD=5.\",\"help\":\"KFOLD=*number*\",\"type\":\"value\"}]},{\"name\":\"HIDDEN\",\"description\":\"The HIDDEN statement specifies the number of neurons or units in a hidden layer. You can specify multiple HIDDEN statements; each HIDDEN statement represents a hidden layer. HIDDEN statements are ignored when you specify the AUTOTUNE statement.\",\"help\":\"HIDDEN &lt;ACT=&lt;EXP | IDENTITY | LOGISTIC&gt;... &gt;&lt;COMB=&lt;ADD | LINEAR&gt;&gt;\",\"arguments\":[{\"name\":\"ACT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the activation function for the hidden layer.\",\"help\":\"ACT=EXP | IDENTITY | LOGISTIC | SIN | TANH\",\"type\":\"choice\",\"arguments\":[{\"name\":\"EXP\",\"followsDelimiter\":\"/\",\"description\":\"Specifies the exponential function.\",\"type\":\"standalone\"},{\"name\":\"IDENTITY\",\"followsDelimiter\":\"/\",\"description\":\"Specifies the identity function.\",\"type\":\"standalone\"},{\"name\":\"LOGISTIC\",\"followsDelimiter\":\"/\",\"description\":\"Specifies the logistic function.\",\"type\":\"standalone\"},{\"name\":\"SIN\",\"followsDelimiter\":\"/\",\"description\":\"Specifies the sine function.\",\"type\":\"standalone\"},{\"name\":\"TANH\",\"followsDelimiter\":\"/\",\"description\":\"Specifies the hyperbolic tangent function.\",\"type\":\"standalone\"}]},{\"name\":\"COMB=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the combination function for the hidden layer.\",\"help\":\"COMB=ADD | LINEAR\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ADD\",\"followsDelimiter\":\"/\",\"description\":\"Specifies the additive combination function.\",\"type\":\"standalone\"},{\"name\":\"LINEAR\",\"followsDelimiter\":\"/\",\"description\":\"Specifies the linear combination function.\",\"type\":\"standalone\"}]}]},{\"name\":\"INPUT\",\"description\":\"The INPUT statement identifies the variables in the input data table that are input to the neural network. You can specify multiple INPUT statements.\",\"help\":\"INPUT &lt;LEVEL=&lt;INT | NOM&gt;&gt;\",\"arguments\":[{\"name\":\"LEVEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the variables in the input data table.\",\"help\":\"LEVEL=INT | NOM\",\"type\":\"choice\",\"arguments\":[{\"name\":\"INT\",\"followsDelimiter\":\"/\",\"description\":\"Specifies that the variables are interval variables, which must be numeric.\",\"type\":\"standalone\"},{\"name\":\"NOM\",\"followsDelimiter\":\"/\",\"description\":\"Specifies that the variables are nominal variables, also known as classification variables, which can be numeric or character.\",\"type\":\"standalone\"}]}]},{\"name\":\"OPTIMIZATION\",\"description\":\"The OPTIMIZATION statement specifies options for the optimization method that is used to train your model.\",\"help\":\"OPTIMIZATION &lt;ALGORITHM=&lt;LBFGS | SGD&gt;&gt;&lt;MAXITER=number&gt;&lt;MAXTIME=number&gt; ...\",\"arguments\":[{\"name\":\"ALGORITHM=\",\"optional\":true,\"description\":\"Specifies the optimization algorithm to use during training.\",\"help\":\"ALGORITHM=LBFGS | SGD\",\"type\":\"choice\",\"arguments\":[{\"name\":\"LBFGS\",\"description\":\"Specifies the limited-memory Broyden-Fletcher-Goldfarb-Shanno algorithm.\",\"type\":\"standalone\"},{\"name\":\"SGD\",\"description\":\"Specifies the stochastic gradient descent algorithm. When ALGORITHM=SGD, you can specify these additional sgd-options: ANNEALINGRATE=number specifies the annealing parameter, β. Annealing is a way to automatically reduce the learning rate as SGD progresses, causing smaller steps as SGD approaches a solution. COMMFREQ=number specifies the number of minibatches that each computational thread processes before weights are synchronized across all threads and nodes. LEARNINGRATE=number specifies the learning rate parameter, η, for SGD. MINIBATCHSIZE=number specifies the size of the minibatches used in SGD. MOMENTUM=number specifies the value for momentum. The number must be greater than or equal to 0 and less than or equal to 1. By default, MOMENTUM=0. SEED=number specifies the seed for random access of observations on each thread for the SGD algorithm. USELOCKING specifies that computational threads share a common weight vector and update weight vector without race conditions.\",\"type\":\"standalone\"}]},{\"name\":\"MAXITER=\",\"optional\":true,\"description\":\"Specifies the maximum number of iterations or epochs before the algorithm terminates.\",\"help\":\"MAXITER=*number*\",\"type\":\"value\"},{\"name\":\"MAXTIME=\",\"optional\":true,\"description\":\"Specifies the iteration budget for training. For LBFGS, the algorithm stops after MAXITER= iterations if convergence has not been achieved. For SGD, number specifies the desired number of training epochs. When MAXTIME=0, no maximum time is set.\",\"help\":\"MAXTIME=*number*\",\"type\":\"value\"},{\"name\":\"REGL1=\",\"optional\":true,\"description\":\"Specifies the L1 regularization parameter 1 for the model loss function. The number must be nonnegative. Note that this value is autotuned when you specify the AUTOTUNE statement.\",\"help\":\"REGL1=*number*\",\"type\":\"value\"},{\"name\":\"REGL2=\",\"optional\":true,\"description\":\"Specifies the L2 regularization parameter 2. The number must be nonnegative. Note that this value is autotuned when you specify the AUTOTUNE statement.\",\"help\":\"REGL2=*number*\",\"type\":\"value\"}]},{\"name\":\"PARTITION\",\"description\":\"The PARTITION statement specifies how observations in the input data set are logically partitioned into disjoint subsets for model training, validation, and testing. Either you can designate a variable in the input data table and a set of formatted values of that variable to determine the role of each observation, or you can specify proportions to use for random assignment of observations for each role. Alternatively, you can use a separate validation data table in the TRAIN statement to do validation.\",\"help\":\"PARTITION &lt;FRACTION(VALIDATE=fraction TEST=fraction &lt; SEED=random-seed &gt;)&gt;&lt;ROLEVAR=variable(TRAIN=value VALIDATE=value &lt; TEST=value &gt;)&gt;\",\"arguments\":[{\"name\":\"FRACTION=\",\"optional\":true,\"description\":\"Randomly assigns the specified proportions of the observations in the input data table to training and validation roles. You specify the proportions for testing and validation by using the TEST= and VALIDATE= suboptions. The VALIDATE= suboption is required, and the TEST= suboption is optional. If you specify both the TEST= and VALIDATE= suboptions, then the sum of the specified fractions must be less than 1 and the remaining fraction of the observations are assigned to the training role. Otherwise, the PARTITION statement is ignored. The range of the VALIDATE= and TEST= suboptions is from 1E–5 to 1 – (1E–5), inclusive.\",\"help\":\"FRACTION=VALIDATE= | TEST= | SEED=\",\"type\":\"choice\",\"arguments\":[{\"name\":\"VALIDATE=\",\"type\":\"value\"},{\"name\":\"TEST=\",\"type\":\"value\"},{\"name\":\"SEED=\",\"type\":\"value\"}]},{\"name\":\"ROLEVAR=\",\"optional\":true,\"description\":\"Names the variable in the input data table whose values are used to assign roles to each observation. The formatted values of this variable, which are used to assign observations roles, are specified in the TEST=, TRAIN=, and VALIDATION= suboptions. The TRAIN= and VALIDATE= suboptions are required; the TEST=suboption is optional.\",\"help\":\"ROLEVAR=TRAIN= | VALIDATE= | TEST=\",\"type\":\"choice\",\"arguments\":[{\"name\":\"TRAIN=\",\"type\":\"value\"},{\"name\":\"VALIDATE=\",\"type\":\"value\"},{\"name\":\"TEST=\",\"type\":\"value\"}]}]},{\"name\":\"SCORE\",\"description\":\"The SCORE statement creates a new data table that is the result of prediction from using the input data and the model.\",\"help\":\"SCORE &lt;COPYVAR=variable | COPYVARS=(variables)&gt;&lt;OUT=CAS-libref.data-table&gt;\",\"arguments\":[{\"name\":\"COPYVAR=\",\"optional\":true,\"aliases\":[\"COPYVARS=\"],\"description\":\"Lists one or more variables from the input data table to be transferred to the output data table.\",\"type\":\"value\"},{\"name\":\"OUT=\",\"optional\":true,\"description\":\"Names the output data table for PROC NNET to use. CAS-libref.data-table is a two-level name, where\",\"help\":\"OUT=*CAS-libref.data-table*\",\"type\":\"dataSet\"}]},{\"name\":\"TARGET\",\"description\":\"The TARGET statement specifies the target variable for the neural network. This statement is required.\",\"help\":\"TARGET &lt;ACT=&lt;EXP | IDENTITY | SIN&gt;... &gt;&lt;ERROR=&lt;ENTROPY | GAMMA | NORMAL&gt;... &gt;&lt;LEVEL=&lt;INT | NOM&gt;&gt; ...\",\"arguments\":[{\"name\":\"ACT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the activation function for the target.\",\"help\":\"ACT=EXP | IDENTITY | SIN | SOFTMAX | TANH\",\"type\":\"choice\",\"arguments\":[{\"name\":\"EXP\",\"followsDelimiter\":\"/\",\"description\":\"Specifies the exponential function. You can use ACT=EXP only with ERROR= GAMMA or ERROR=POISSON.\",\"type\":\"standalone\"},{\"name\":\"IDENTITY\",\"followsDelimiter\":\"/\",\"description\":\"Specifies the identity function..\",\"type\":\"standalone\"},{\"name\":\"SIN\",\"followsDelimiter\":\"/\",\"description\":\"Specifies the sine function.\",\"type\":\"standalone\"},{\"name\":\"SOFTMAX\",\"followsDelimiter\":\"/\",\"description\":\"Specifies the softmax function.\",\"type\":\"standalone\"},{\"name\":\"TANH\",\"followsDelimiter\":\"/\",\"description\":\"Specifies the hyperbolic tangent function.\",\"type\":\"standalone\"}]},{\"name\":\"COMB=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the combination function for the target layer.\",\"help\":\"COMB=ADD | LINEAR\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ADD\",\"followsDelimiter\":\"/\",\"description\":\"Specifies the additive combination function.\",\"type\":\"standalone\"},{\"name\":\"LINEAR\",\"followsDelimiter\":\"/\",\"description\":\"Specifies the linear combination function.\",\"type\":\"standalone\"}]},{\"name\":\"ERROR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the error function. The entropy error function is used only when LEVEL=NOM.\",\"help\":\"ERROR=ENTROPY | GAMMA | NORMAL | POISSON\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ENTROPY\",\"followsDelimiter\":\"/\",\"description\":\"Specifies tthe cross-entropy function.\",\"type\":\"standalone\"},{\"name\":\"GAMMA\",\"followsDelimiter\":\"/\",\"description\":\"Specifies the gamma error function. This function is usually used when you want to predict the time between events. Only ACT=EXP is valid when ERROR=GAMMA.\",\"type\":\"standalone\"},{\"name\":\"NORMAL\",\"followsDelimiter\":\"/\",\"description\":\"Specifies the normal error function, which is the sum of the squared differences between the network output and the target value.\",\"type\":\"standalone\"},{\"name\":\"POISSON\",\"followsDelimiter\":\"/\",\"description\":\"Specifies the Poisson error function. This function is usually used when you want to predict the number of events per unit time. Only ACT=EXP is valid when ERROR=POISSON.\",\"type\":\"standalone\"}]},{\"name\":\"LEVEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the variable type.\",\"help\":\"LEVEL=INT | NOM\",\"type\":\"choice\",\"arguments\":[{\"name\":\"INT\",\"followsDelimiter\":\"/\",\"description\":\"Specifies that the variable is interval, which must be numeric\",\"type\":\"standalone\"},{\"name\":\"NOM\",\"followsDelimiter\":\"/\",\"description\":\"Specifies that the variable is nominal, also known as a classification variable, which can be numeric or character.\",\"type\":\"standalone\"}]}]},{\"name\":\"TRAIN\",\"description\":\"The TRAIN statement causes the NNET procedure to use the training data that are specified in the PROC NNET statement to train a neural network model whose structure is specified in the ARCHITECTURE, INPUT, TARGET, and HIDDEN statements. The goal of training is to determine a set of network weights that best predicts the targets in the training data while still doing a good job of predicting targets of unseen data (that is, generalizing well and not overfitting).\",\"help\":\"TRAIN &lt;NUMTRIES=number&gt;&lt;OUTMODEL=CAS-libref.data-table&gt;&lt;VALIDATION=CAS-libref.data-table&gt; ...\",\"arguments\":[{\"name\":\"NUMTRIES=\",\"optional\":true,\"description\":\"Syntax: NUMTRIES=number specifies the number of times the network is to be trained using a different starting point. Specifying this option helps ensure that the optimizer finds the table of weights that truly minimizes the objective function and does not return a local minimum. The value of number must be an integer between 1 and 20,000, inclusive. By default, NUMTRIES=1.\",\"help\":\"NUMTRIES=*number*\",\"type\":\"value\"},{\"name\":\"OUTMODEL=\",\"optional\":true,\"description\":\"Specifies the final model from training. These parameters include the network architecture, input and target variable names and types, and trained weights. You can use the model data table later to score a different input data table as long as the variable names and types of the variables in the new input data table match those in the training data table.\",\"help\":\"OUTMODEL=*CAS-libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"VALIDATION=\",\"optional\":true,\"description\":\"Specifies a separate data table for validation during training. If you specify both the VALIDATION= and PARTITION statements, the PARTITION statement is ignored. If neither of these statements is specified, training is done without the validation data table. The VALIDATION= data table must have the same variables that you specify in the DATA= option. NOTE: The DATA options keep drop tempnames and tempexpress are not supported.\",\"help\":\"VALIDATION=*CAS-libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"WSEED=\",\"optional\":true,\"aliases\":[\"SEED=\"],\"description\":\"Specifies the seed for generating initial random weights. If you do not specify a seed or you specify a value less than or equal to 0, the seed is generated from the computer clock. This option enables you to reproduce the same sample output.\",\"type\":\"value\"}]},{\"name\":\"WEIGHT\",\"description\":\"If you specify a WEIGHT statement, variable identifies a numeric variable in the input data table that contains the weight to be placed on the prediction error (the difference between the output of the network and the target value specified in the input data table) for each observation during training.\",\"help\":\"WEIGHT variable\"}],\"supportSiteInformation\":{\"docsetId\":\"casml\",\"docsetVersion\":\"latest\",\"docsetTargetFile\":\"casml_nnet_toc.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/NPAR1WAY.json",
    "content": "{\"name\":\"NPAR1WAY\",\"statements\":[{\"name\":\"PROC NPAR1WAY\",\"description\":\"PROC NPAR1WAY performs tests for location and scale differences based on the following scores of a response variable: Wilcoxon, median, Van der Waerden (normal), Savage, Siegel-Tukey, Ansari-Bradley, Klotz, Mood, and Conover. Additionally, PROC NPAR1WAY provides tests that use the raw input data as scores. When the data are classified into two samples, tests are based on simple linear rank statistics. When the data are classified into more than two samples, tests are based on one-way ANOVA statistics. Both asymptotic and exact p-values are available for these tests. PROC NPAR1WAY also provides Hodges-Lehmann estimation, including exact confidence limits for the location shift. † PROC NPAR1WAY computes empirical distribution function (EDF) statistics, which test whether the distribution of a variable is the same across different groups. These include the Kolmogorov-Smirnov test, the Cramer-von Mises test, and, when the data are classified into only two samples, the Kuiper test. Exact p-values are available for the two-sample Kolmogorov-Smirnov test.\",\"help\":\"PROC NPAR1WAY <AB < (ADJUST) >><ADJUST><ALIGN=STRATA < (option)>><ALPHA=α><ANOVA><CONOVER><CORRECT=NO><D><DATA=SAS-data-set><DSCF><EDF><FP < (REFCLASS = class-number | 'class-value' ) >><HL < (REFCLASS = class-number | 'class-value' ) >><KLOTZ < (ADJUST)>><MEDIAN><MISSING><MOOD < (ADJUST)>><NOPRINT><PLOTS=ABBOXPLOT | ANOVABOXPLOT|ANOVA | CONOVERBOXPLOT|CONOVER... ><SAVAGE><SCORES=DATA><ST < (ADJUST)>><VW><WILCOXON>;     \\n\\tBY variables;\\n\\n\\tCLASS variable ;\\n\\n\\tEXACT AB CONOVER HL ...;\\n\\n\\tFREQ variable;\\n\\n\\tOUTPUT <AB><ANOVA><OUT=SAS-data-set> ...;\\n\\n\\tSTRATA <MEDIAN><RANKS=<STRATUM | OVERALL>><SAVAGE> ...;\\n\\n\\tVAR variables ;\\n\",\"arguments\":[{\"name\":\"AB=\",\"optional\":true,\"description\":\"Requests an analysis of Ansari-Bradley scores.\",\"help\":\"AB=ADJUST\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ADJUST\",\"type\":\"standalone\"}]},{\"name\":\"ADJUST\",\"optional\":true,\"description\":\"Adjusts for location differences among classes before performing tests for scale differences. The ADJUST option applies to the following analyses: Ansari-Bradley (AB), Klotz (KLOTZ), Mood (MOOD), and Siegel-Tukey (ST). If you specify the ADJUST option, PROC NPAR1WAY subtracts the corresponding class median from each observation before scoring the data and performing the scale tests that you request.\",\"type\":\"standalone\"},{\"name\":\"ALIGN=\",\"optional\":true,\"description\":\"Aligns the response variable values by strata (Hodges and Lehmann 1962; Mehrotra, Lu, and Li 2010) before performing the analyses that you request. You can specify one of the following options:\",\"help\":\"ALIGN=STRATA\",\"type\":\"value\"},{\"name\":\"ALPHA=\",\"optional\":true,\"description\":\"Specifies the level of the confidence limits for location shift, which you request with the HL option. The value of α must be between 0 and 1, and the default is 0.05.\",\"type\":\"value\"},{\"name\":\"ANOVA\",\"optional\":true,\"description\":\"Requests a standard analysis of variance on the raw data.\",\"type\":\"standalone\"},{\"name\":\"CONOVER\",\"optional\":true,\"description\":\"[Requests an analysis of Conover scores.\",\"type\":\"standalone\"},{\"name\":\"CORRECT=\",\"optional\":true,\"description\":\"Suppresses the continuity correction for the Wilcoxon two-sample test and the Siegel-Tukey two-sample test.\",\"help\":\"CORRECT=NO\",\"type\":\"value\"},{\"name\":\"D\",\"optional\":true,\"description\":\"Requests the one-sided Kolmogorov-Smirnov D+ and D- statistics and their asymptotic p-values, in addition to the two-sided D statistic produced by the EDF option for two-sample data.\",\"type\":\"standalone\"},{\"name\":\"DATA=\",\"optional\":true,\"description\":\"Names the SAS data set to be analyzed by PROC NPAR1WAY. If you omit the DATA= option, the procedure uses the most recently created SAS data set.\",\"help\":\"DATA=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"DSCF\",\"optional\":true,\"description\":\"Requests the Dwass, Steel, Critchlow-Fligner multiple comparison procedure, which is based on pairwise two-sample rankings. This procedure is available for multisample data, where the number of CLASS variable levels is greater than 2.\",\"type\":\"standalone\"},{\"name\":\"EDF\",\"optional\":true,\"aliases\":[\"KS\"],\"description\":\"Requests statistics based on the empirical distribution function. These include the Kolmogorov-Smirnov and Cramer-von Mises tests and, if there are only two classification levels, the Kuiper test.\",\"type\":\"standalone\"},{\"name\":\"FP=\",\"optional\":true,\"description\":\"Requests the Fligner-Policello test for two-sample data.\",\"help\":\"FP=REFCLASS=\",\"type\":\"choice\",\"arguments\":[{\"name\":\"REFCLASS=\",\"type\":\"value\"}]},{\"name\":\"HL=\",\"optional\":true,\"description\":\"Requests Hodges-Lehmann estimation of the location shift for two-sample data. The HL option provides asymptotic confidence limits for the location shift. These are sometimes known as Moses confidence limits. You can specify the level of the confidence limits by using the ALPHA= option. The default of ALPHA=0.5 produces 95% confidence limits for the location shift. The REFCLASS= option specifies which of the two CLASS variable levels (samples) to use as the reference class X for the location shift, Y – X. REFCLASS=1 refers to the first class that is listed in the “Wilcoxon Scores” table, and REFCLASS=2 refers to the second class listed. The table displays class levels in the order in which they appear in the input data set. REFCLASS=class-value identifies the reference class by the formatted value of the CLASS variable.\",\"help\":\"HL=REFCLASS=\",\"type\":\"choice\",\"arguments\":[{\"name\":\"REFCLASS=\",\"type\":\"value\"}]},{\"name\":\"KLOTZ=\",\"optional\":true,\"description\":\"Requests an analysis of Klotz scores. If you specify the ADJUST option, PROC NPAR1WAY subtracts the corresponding class median from each observation before performing the analysis.\",\"help\":\"KLOTZ=ADJUST\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ADJUST\",\"type\":\"standalone\"}]},{\"name\":\"MEDIAN\",\"optional\":true,\"description\":\"Requests an analysis of median scores.\",\"type\":\"standalone\"},{\"name\":\"MISSING\",\"optional\":true,\"description\":\"Treats missing values of the CLASS variable as a valid class level.\",\"type\":\"standalone\"},{\"name\":\"MOOD\",\"optional\":true,\"description\":\"Requests an analysis of Mood scores. If you specify the ADJUST option, PROC NPAR1WAY subtracts the corresponding class median from each observation before performing the analysis.\",\"type\":\"standalone\"},{\"name\":\"NOPRINT\",\"optional\":true,\"description\":\"Suppresses the display of all output.\",\"type\":\"standalone\"},{\"name\":\"PLOTS=\",\"optional\":true,\"description\":\"Requests plots for PROC NPAR1WAY to produce by using ODS Graphics. When you specify only one plot-request, you can omit the parentheses around the request. Syntax: (1) PLOTS < ( global-plot-options ) > < = plot-request < (plot-option) > > (2) PLOTS < ( global-plot-options ) > < = ( plot-request < (plot-option) > <...plot-request < (plot-option) >> )> The following global-plot-options are available with the PLOTS= option: NOSTATS suppresses the p-values that are displayed on the plots by default. ONLY suppresses the default plots and requests only the plots specified as plot-requests.\",\"help\":\"PLOTS=ABBOXPLOT | ANOVABOXPLOT | CONOVERBOXPLOT | DATASCORESBOXPLOT | EDFPLOT | FPBOXPLOT | KLOTZBOXPLOT | MEDIANPLOT | MOODBOXPLOT | NONE | SAVAGEBOXPLOT | STBOXPLOT | VWBOXPLOT | WILCOXONBOXPLOT | ALL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ABBOXPLOT\",\"description\":\"Requests a box plot of Ansari-Bradley scores.\",\"type\":\"standalone\"},{\"name\":\"ANOVABOXPLOT\",\"aliases\":[\"ANOVA\"],\"description\":\"Requests a box plot of the raw data.\",\"type\":\"standalone\"},{\"name\":\"CONOVERBOXPLOT\",\"aliases\":[\"CONOVER\"],\"description\":\"Requests a box plot of Conover scores.\",\"type\":\"standalone\"},{\"name\":\"DATASCORESBOXPLOT\",\"aliases\":[\"DATASCORES\"],\"description\":\"Requests a box plot of raw data scores.\",\"type\":\"standalone\"},{\"name\":\"EDFPLOT\",\"aliases\":[\"EDF\"],\"description\":\"Requests an empirical distribution plot.\",\"type\":\"standalone\"},{\"name\":\"FPBOXPLOT\",\"aliases\":[\"FP\"],\"description\":\"Requests a box plot of Fligner-Policello placements.\",\"type\":\"standalone\"},{\"name\":\"KLOTZBOXPLOT\",\"aliases\":[\"KLOTZ\"],\"description\":\"Requests a box plot of Klotz scores.\",\"type\":\"standalone\"},{\"name\":\"MEDIANPLOT\",\"aliases\":[\"MEDIAN\"],\"description\":\"Requests a stacked bar chart showing the frequencies above and below the overall median.\",\"type\":\"standalone\"},{\"name\":\"MOODBOXPLOT\",\"aliases\":[\"MOOD\"],\"description\":\"Requests a box plot of Mood scores.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"Suppresses all plots.\",\"type\":\"standalone\"},{\"name\":\"SAVAGEBOXPLOT\",\"aliases\":[\"SAVAGE\"],\"description\":\"Requests a box plot of Savage scores.\",\"type\":\"standalone\"},{\"name\":\"STBOXPLOT\",\"aliases\":[\"ST\"],\"description\":\"Requests a box plot of Siegel-Tukey scores.\",\"type\":\"standalone\"},{\"name\":\"VWBOXPLOT\",\"aliases\":[\"VW\",\"NORMALBOXPLOT\",\"NORMAL\"],\"description\":\"Requests a box plot of Van der Waerden (normal) scores.\",\"type\":\"standalone\"},{\"name\":\"WILCOXONBOXPLOT\",\"aliases\":[\"WILCOXON\"],\"description\":\"Requests a box plot of Wilcoxon scores.\",\"type\":\"standalone\"},{\"name\":\"ALL\",\"description\":\"Requests all plots associated with the specified analyses.\",\"type\":\"standalone\"}]},{\"name\":\"SAVAGE\",\"optional\":true,\"description\":\"Requests an analysis of Savage scores.\",\"type\":\"standalone\"},{\"name\":\"SCORES=\",\"optional\":true,\"aliases\":[\"PERM\"],\"description\":\"Requests an analysis that uses input data as scores. This option gives you the flexibility to construct any scores for your data with the DATA step and then analyze these scores with PROC NPAR1WAY.\",\"help\":\"SCORES=DATA\",\"type\":\"value\"},{\"name\":\"ST=\",\"optional\":true,\"description\":\"Requests an analysis of Siegel-Tukey scores. If you specify the ADJUST option, PROC NPAR1WAY subtracts the corresponding class median from each observation before performing the analysis.\",\"help\":\"ST=ADJUST\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ADJUST\",\"type\":\"standalone\"}]}]},{\"name\":\"BY\",\"description\":\"You can specify a BY statement with PROC NPAR1WAY to obtain separate analyses of observations in groups that are defined by the BY variables. When a BY statement appears, the procedure expects the input data set to be sorted in order of the BY variables. If you specify more than one BY statement, only the last one specified is used. If your input data set is not sorted in ascending order, use one of the following alternatives: • Sort the data by using the SORT procedure with a similar BY statement. • Specify the NOTSORTED or DESCENDING option in the BY statement for the BCHOICE procedure. The NOTSORTED option does not mean that the data are unsorted but rather that the data are arranged in groups (according to values of the BY variables) and that these groups are not necessarily in alphabetical or increasing numeric order. • Create an index on the BY variables by using the DATASETS procedure (in Base SAS software).\",\"help\":\"BY variables\"},{\"name\":\"CLASS\",\"description\":\"The CLASS statement, which is required, names one and only one classification variable. The variable can be character or numeric. The variable can be character or numeric. The CLASS variable identifies groups (or samples) in the data, and PROC NPAR1WAY provides analyses to examine differences among these groups. There can be two or more groups in the data.\",\"help\":\"CLASS variable \"},{\"name\":\"EXACT\",\"description\":\"The EXACT statement requests exact tests or confidence limits for the specified statistics.\",\"help\":\"EXACT AB CONOVER HL ...\",\"arguments\":[{\"name\":\"AB\",\"description\":\"Requests an exact Ansari-Bradley test.\",\"type\":\"standalone\"},{\"name\":\"CONOVER\",\"description\":\"Requests an exact Conover test.\",\"type\":\"standalone\"},{\"name\":\"HL\",\"description\":\"Requests exact Hodges-Lehmann confidence limits for the location shift for two-sample data.\",\"type\":\"standalone\"},{\"name\":\"KLOTZ\",\"description\":\"Requests an exact Klotz test.\",\"type\":\"standalone\"},{\"name\":\"KS\",\"aliases\":[\"EDF\"],\"description\":\"Requests an exact Kolmogorov-Smirnov two-sample test.\",\"type\":\"standalone\"},{\"name\":\"MEDIAN\",\"description\":\"Requests an exact median test.\",\"type\":\"standalone\"},{\"name\":\"MOOD\",\"description\":\"Requests an exact Mood test.\",\"type\":\"standalone\"},{\"name\":\"SAVAGE\",\"description\":\"Requests an exact Savage test.\",\"type\":\"standalone\"},{\"name\":\"SCORES=\",\"description\":\"Requests an exact test that uses the input data as scores. For two-sample data, the test is based on the rank-sum statistic. For multisample data, the test is based on the one-way ANOVA statistic.\",\"help\":\"SCORES=DATA\",\"type\":\"value\"},{\"name\":\"ST\",\"description\":\"Requests an exact Siegel-Tukey test.\",\"type\":\"standalone\"},{\"name\":\"VW\",\"aliases\":[\"NORMAL\"],\"description\":\"Requests an exact Van der Waerden (normal scores) test.\",\"type\":\"standalone\"},{\"name\":\"WILCOXON\",\"description\":\"Requests an exact Wilcoxon test. When the data consist of two classification levels (samples), the exact test is based on the Wilcoxon rank-sum statistic. When the data consist of more than two levels (multisample data), the exact test is based on the one-way ANOVA statistic for Wilcoxon scores, which is the Kruskal-Wallis statistic.\",\"type\":\"standalone\"},{\"name\":\"ALPHA=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the level of the confidence limits for Monte Carlo p-value estimates.\",\"type\":\"value\"},{\"name\":\"MAXTIME=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the maximum clock time (in seconds) that PROC FREQ can use to compute an exact p-value.\",\"help\":\"MAXTIME=*value*\",\"type\":\"value\"},{\"name\":\"MC\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests Monte Carlo estimation of exact p-values instead of direct exact p-value computation.\",\"type\":\"standalone\"},{\"name\":\"MIDP\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests exact mid p-values for the exact tests. The exact mid p-value is defined as the exact p-value minus half the exact point probability. For two-sample data, PROC NPAR1WAY provides exact mid p-values for the one-sided tests of the linear rank statistics. For multisample data, PROC NPAR1WAY provides exact mid p-values for the one-way ANOVA tests.\",\"type\":\"standalone\"},{\"name\":\"N=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the number of samples for Monte Carlo estimation.\",\"help\":\"N=*n*\",\"type\":\"value\"},{\"name\":\"PFORMAT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the display format for exact p-values. PROC NPAR1WAY applies this format to one- and two-sided exact p-values, exact point probabilities, and exact mid p-values. By default, PROC NPAR1WAY displays exact p-values in the PVALUE6.4 format. You can provide a format-name or you can specify PFORMAT=EXACT to control the format of exact p-values. The value of format-name can be any standard SAS numeric format or a user-defined format. The format length must not exceed 24.\",\"type\":\"value\"},{\"name\":\"POINT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests exact point probabilities for the test statistics.\",\"type\":\"standalone\"},{\"name\":\"SEED=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the initial seed for random number generation for Monte Carlo estimation.\",\"type\":\"value\"}]},{\"name\":\"FREQ\",\"description\":\"The FREQ statement names a numeric variable that provides a frequency for each observation in the input data set. If you use a FREQ statement, PROC NPAR1WAY assumes that an observation occurs n times, where n is the value of the FREQ variable for the observation.\",\"help\":\"FREQ variable\"},{\"name\":\"OUTPUT\",\"description\":\"The OUTPUT statement creates a SAS data set that contains statistics that PROC NPAR1WAYcomputes.\",\"help\":\"OUTPUT &lt;AB&gt;&lt;ANOVA&gt;&lt;OUT=SAS-data-set&gt; ...\",\"arguments\":[{\"name\":\"AB\",\"optional\":true,\"description\":\"Includes statistics from the Ansari-Bradley analysis in the output data set. The AB option in the PROC NPAR1WAY statement requests analysis of Ansari-Bradley scores.\",\"type\":\"standalone\"},{\"name\":\"ANOVA\",\"optional\":true,\"description\":\"Includes analysis of variance statistics in the output data set. The ANOVA option in the PROC NPAR1WAY statement requests a standard analysis of variance for the raw data.\",\"type\":\"standalone\"},{\"name\":\"CONOVER\",\"optional\":true,\"description\":\"Includes statistics from the Conover analysis in the output data set. The CONOVER option in the PROC NPAR1WAY statement requests analysis of Conover scores.\",\"type\":\"standalone\"},{\"name\":\"EDF\",\"optional\":true,\"aliases\":[\"KS\"],\"description\":\"Includes empirical distribution function statistics in the output data set. The EDF option in the PROC NPAR1WAY statement requests computation of these statistics, which include the Kolmogorov-Smirnov test, the Cramér–von Mises test, and the Kuiper test for two sample-data.\",\"type\":\"standalone\"},{\"name\":\"FP\",\"optional\":true,\"description\":\"Includes the Fligner-Policello test in the output data set. The FP option in the PROC NPAR1WAY statement requests the Fligner-Policello test, which is available for two-sample data.\",\"type\":\"standalone\"},{\"name\":\"HL\",\"optional\":true,\"description\":\"Includes the Hodges-Lehmann estimate and confidence limits in the output data set. The HL option in the PROC NPAR1WAY statement requests Hodges-Lehmann estimation, which is available for two-sample data.\",\"type\":\"standalone\"},{\"name\":\"KLOTZ\",\"optional\":true,\"description\":\"Includes statistics from the Klotz analysis in the output data set. The KLOTZ option in the PROC NPAR1WAY statement requests analysis of Klotz scores.\",\"type\":\"standalone\"},{\"name\":\"MEDIAN\",\"optional\":true,\"description\":\"Includes statistics from the median analysis in the output data set. The MEDIAN option in the PROC NPAR1WAY statement requests analysis of median scores.\",\"type\":\"standalone\"},{\"name\":\"MOOD\",\"optional\":true,\"description\":\"Includes statistics from the Mood analysis in the output data set. The MOOD option in the PROC NPAR1WAY statement requests analysis of Mood scores.\",\"type\":\"standalone\"},{\"name\":\"OUT=\",\"optional\":true,\"description\":\"Names the output data set. If you omit the OUT= option, the data set is named DATAn, where n is the smallest integer that makes the name unique.\",\"help\":\"OUT=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"SAVAGE\",\"optional\":true,\"description\":\"Includes statistics from the Savage analysis in the output data set. The SAVAGE option in the PROC NPAR1WAY statement requests analysis of SAVAGE scores.\",\"type\":\"standalone\"},{\"name\":\"SCORES=\",\"optional\":true,\"description\":\"Includes statistics from the analysis of data scores in the output data set. The SCORES=DATA option in the PROC NPAR1WAY statement requests an analysis that uses the raw input data as scores.\",\"help\":\"SCORES=DATA\",\"type\":\"value\"},{\"name\":\"ST\",\"optional\":true,\"description\":\"Includes statistics from the Siegel-Tukey analysis in the output data set. The ST option in the PROC NPAR1WAY statement requests analysis of Siegel-Tukey scores.\",\"type\":\"standalone\"},{\"name\":\"VW\",\"optional\":true,\"aliases\":[\"NORMAL\"],\"description\":\"Includes statistics from the Van der Waerden (normal scores) analysis in the output data set. The VW (NORMAL) option in the PROC NPAR1WAY statement requests analysis of Van der Waerden scores.\",\"type\":\"standalone\"},{\"name\":\"WILCOXON\",\"optional\":true,\"description\":\"Includes statistics from the Wilcoxon analysis in the output data set. The WILCOXON option in the PROC NPAR1WAY statement requests analysis of Wilcoxon scores. For two-sample data, this analysis includes the Wilcoxon rank-sum test. For all data (two-sample and multisample), the analysis includes the Kruskal-Wallis test.\",\"type\":\"standalone\"}]},{\"name\":\"STRATA\",\"description\":\"The STRATA statement names one or more variables that define the strata. The levels of the STRATA variables combine to form the strata, which are nonoverlapping subgroups.\",\"help\":\"STRATA &lt;MEDIAN&gt;&lt;RANKS=&lt;STRATUM | OVERALL&gt;&gt;&lt;SAVAGE&gt; ...\",\"arguments\":[{\"name\":\"MEDIAN\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests a stratified analysis of median scores.\",\"type\":\"standalone\"},{\"name\":\"RANKS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the type of ranking to be used for stratified analysis. RANKS=STRATUM ranks (and scores) the observations separately within each stratum. RANKS=OVERALL ranks (and scores) the observations overall (without regard to stratum classification) before stratified analysis is performed. By default, RANKS=STRATUM.\",\"help\":\"RANKS=STRATUM | OVERALL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"STRATUM\",\"followsDelimiter\":\"/\",\"description\":\"RANKS=STRATUM ranks (and scores) the observations separately within each stratum. This is the default.\",\"type\":\"standalone\"},{\"name\":\"OVERALL\",\"followsDelimiter\":\"/\",\"description\":\"RANKS=OVERALL ranks (and scores) the observations overall (without regard to stratum classification) before stratified analysis is performed.\",\"type\":\"standalone\"}]},{\"name\":\"SAVAGE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests a stratified analysis of Savage scores.\",\"type\":\"standalone\"},{\"name\":\"SCORES=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests a stratified analysis of the raw (unscored) values of the analysis variable. This option enables you to construct any scores for your data (for example, by using the DATA step) and analyze the scores by using PROC NPAR1WAY.\",\"type\":\"value\"},{\"name\":\"VW\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"NORMAL\"],\"description\":\"Requests a stratified analysis of Van der Waerden (normal) scores.\",\"type\":\"standalone\"},{\"name\":\"WEIGHTS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the stratum weights for stratified analysis. WEIGHTS=STRATUM weights the stratum statistics by stratum size; the weight of stratum i is 1/(n_i+1), where n_i is the number of observations (frequency) in stratum i. WEIGHTS=EQUAL weights the stratum statistics equally; the weight of each stratum is 1.\",\"help\":\"WEIGHTS=STRATUM | EQUAL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"STRATUM\",\"followsDelimiter\":\"/\",\"description\":\"WEIGHTS=STRATUM weights the stratum statistics by stratum size; the weight of stratum i is 1/(n_i+1), where n_i is the number of observations (frequency) in stratum i.\",\"type\":\"standalone\"},{\"name\":\"EQUAL\",\"followsDelimiter\":\"/\",\"description\":\"WEIGHTS=EQUAL weights the stratum statistics equally; the weight of each stratum is 1.\",\"type\":\"standalone\"}]},{\"name\":\"WILCOXON\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests a stratified analysis of Wilcoxon scores.\",\"type\":\"standalone\"}]},{\"name\":\"VAR\",\"description\":\"The VAR statement names the response (dependent) variables to be included in the analysis. These variables must be numeric.\",\"help\":\"VAR variables \"}],\"supportSiteInformation\":{\"docsetId\":\"statug\",\"docsetVersion\":\"latest\",\"docsetTargetFile\":\"statug_npar1way_toc.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/ODSLIST.json",
    "content": "{\"name\":\"ODSLIST\",\"statements\":[{\"name\":\"PROC ODSLIST\",\"description\":\"Creates an item list.\",\"help\":\"PROC ODSLIST <CONTENTS =text-string><DATA= SAS-data-set><NAME =template-name>\\n\\t<PAGEBREAK= NO | YES><PRINT><STORE =template-store>;BY <DESCENDING>variable-1\\n\\t<… <DESCENDING> variable-n>\\n\\t<NOTSORTED>;CELLSTYLE expression-1AS <style-element-name><[style-attribute-specification(s)] ><, expression-n AS  <style-element-name><[style-attribute-specification(s)]>>;DYNAMIC variable-name-1<=value–1<'text-1'>>\\n\\t<variable-name-2<=value-2><'text-2' ...>>;MVAR variable-name-1<=value–1<'text-1'>>\\n\\t<variable-name-2<=value-2><'text-2' ...>>;NMVAR variable-name-1<=value–1<'text-1'>>\\n\\t<variable-name-2<=value-2><'text-2' ...>>;ITEM  <expression> / <FORMAT =format-name><STYLE =style-override><VALUE =integer-value>;\\n\\tP expression / <FORMAT =format-name><STYLE =style-override>;\\n\\tLIST  / <START =integer-value><STYLE =style-override> ;\\n\\t\\tITEM  <expression> / <FORMAT =format-name><STYLE =style-override><VALUE =integer-value>;\\n\\tEND ;END ;TRANSLATE expression-1INTO expression-2< , expression-n INTO  expression-m;>\",\"arguments\":[{\"name\":\"CONTENTS=\",\"optional\":true,\"description\":\"specifies the title for the table of contents. The CONTENTS= option overrides the generated table of contents text.\",\"help\":\"CONTENTS=\\\"*text-string*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0xz4l815th4b9n1tfqs7zolxb0y\"},{\"name\":\"DATA=\",\"optional\":true,\"description\":\"specifies a SAS data set.\",\"help\":\"DATA=*SAS-data-set*\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"p09tchih4ama8un0zcwe8tz974ne\"},{\"name\":\"NAME=\",\"optional\":true,\"description\":\"specifies that the content of the procedure should be saved as a template with the specified name.\",\"help\":\"NAME=*template-name* \",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1sua5i3r106gfn1uteuxd05qnnr\"},{\"name\":\"PAGEBREAK=\",\"optional\":true,\"description\":\"specifies whether the procedure should generate a page break.\",\"help\":\"PAGEBREAK=NO | YES\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NO\",\"aliases\":[\"OFF\"],\"description\":\"specifies that no page break is generated.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0heyaxwikp755n1wzk8gnsx3f4h\"},{\"name\":\"YES\",\"aliases\":[\"ON\"],\"description\":\"specifies that a page break is generated.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0bbillgu4uj2nn126zqxvxstorj\"}],\"supportSiteTargetFragment\":\"p0kdbket577j0hn1igrgm6kagpwu\"},{\"name\":\"PRINT\",\"optional\":true,\"description\":\"specifies that the template is printed as well as stored.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n15ev8y1htjot8n1ro8sqdxk640v\"},{\"name\":\"STORE=\",\"optional\":true,\"description\":\"specifies the template store where the compiled template is placed. If you do not specify a name or template store, ODS stores the template in the first writable template store in the ODS path.\",\"help\":\"STORE=*template-store*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p10qszdgonv54an1sojj2hc7l63a\"}],\"supportSiteTargetFile\":\"n0goauex1m0wy7n1ac23ucaueu0v.htm\"},{\"name\":\"BY\",\"description\":\"Orders the output according to the BY groups.\",\"help\":\"BY <DESCENDING>variable-1\\n\\t<… <DESCENDING> variable-n>\\n\\t<NOTSORTED>;\",\"arguments\":[{\"name\":\"variable\",\"placeholder\":true,\"description\":\"specifies the variable that the procedure uses to form BY groups. You can specify more than one variable. If you do not use the NOTSORTED option in the BY statement, then either the observations in the data set must be sorted by all the variables that you specify, or they must be indexed appropriately. Variables in a BY statement are called BY variables.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0e9kbav2i9chhn1xectebpz4s14\"},{\"name\":\"DESCENDING\",\"optional\":true,\"description\":\"specifies that the observations are sorted in descending order by the variable that immediately follows the word DESCENDING in the BY statement.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1au0lhf4hi1h2n1le3cx2tp74l5\"},{\"name\":\"NOTSORTED\",\"optional\":true,\"description\":\"specifies that observations are not necessarily sorted in alphabetic or numeric order. The observations are grouped in another way (for example, chronological order).\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p068zvjhrpn2awn1bygis4m6hppa\"}],\"supportSiteTargetFile\":\"n13shq4na41y5wn14t67d8l6wgq8.htm\"},{\"name\":\"END\",\"description\":\"Ends item and list blocks.\",\"help\":\"\\n\\tEND;\",\"supportSiteTargetFile\":\"n09rd0o7emhjp8n1f97ea3a7186u.htm\"},{\"name\":\"CELLSTYLE\",\"description\":\"For tables, sets the style element of the cells in the table or column according to the values of the variables. For text, sets the style attributes of the list items or paragraphs. Use this statement to set the presentation characteristics (such as foreground color and font face) of individual cells or text.\",\"help\":\"CELLSTYLE *expression-1*AS &lt;*style-element-name*&gt;&lt;[*style-attribute-specification(s)*]&gt;&lt;, *expression-n* AS  &lt;*style-element-name*&gt;&lt;[*style-attribute-specification(s)*] &gt;&gt;;\",\"arguments\":[{\"name\":\"AS\",\"description\":\"specifies the style to apply to table cells or text. You can specify multiple AS arguments.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n052oss9373z6en1g2c4fpugc69f\"},{\"name\":\"constant\",\"placeholder\":true,\"description\":\"is a fixed value such as the name of a column or symbols that are declared in a DYNAMIC, MVAR, or NMVAR statement in the current template.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p09tcmd4wjhb2hn11mkjqhtweheg\"},{\"name\":\"function\",\"placeholder\":true,\"description\":\"specifies a SAS function.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0sgew9to62y17n1klyiqnmz5urw\"},{\"name\":\"_COLUMN_\",\"aliases\":[\"_COL_\"],\"description\":\"is a column number. Column numbering begins with 1.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1ton9ol67cuyon180t0y9c87dlx\"},{\"name\":\"_DATANAME_\",\"description\":\"is a data column name.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0jpz7vrbp2wh2n1ph1d9ennzlsp\"},{\"name\":\"_DATATYPE_\",\"description\":\"is the data type of the column variable. The data type is either numeric (\\\"num\\\") or character (\\\"char\\\").\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n001c9r2yutsd9n1df24ohgnezqf\"},{\"name\":\"_LABEL_\",\"description\":\"is a column label.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p090c20gke2ao2n150t233dc3u5a\"},{\"name\":\"_ROW_\",\"description\":\"is a row number. Row numbering begins with 1.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1qvkodyer8c4an1q1j07215j8f6\"},{\"name\":\"_STYLE_\",\"description\":\"is a style element name.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1ehdzg6aatsewn136j3aeeteune\"},{\"name\":\"_VAL_\",\"description\":\"is the data value of a cell.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1gqcf4c5zdnnon1ssdwx4fjfaxq\"},{\"name\":\"comparison-operator\",\"placeholder\":true,\"description\":\"compares a variable with a value or with another variable.\",\"help\":\"*comparison-operator*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0ksm7wkxlxap3n19zseu251zqj0\"},{\"name\":\"style-attribute-specification\",\"placeholder\":true,\"description\":\"describes a style attribute to set.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1v7z99yv7j4t0n1i5blbdthx1h9\"},{\"name\":\"style-element-name\",\"optional\":true,\"placeholder\":true,\"description\":\"is the name of a style element that is part of a style that is registered with the Output Delivery System.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p102w5x0sd43u5n1b3k9nw5ic522\"}],\"supportSiteTargetFile\":\"p0e28xid65mg0hn1wlfw62bmv3yq.htm\"},{\"name\":\"DYNAMIC\",\"description\":\"Defines a symbol that references a value that the data component supplies from the procedure or DATA step.\",\"help\":\"DYNAMIC variable-name-1<=value–1<'text-1'>>\\n\\t<variable-name-2<=value-2><'text-2' ...>>;\",\"arguments\":[{\"name\":\"variable-name\",\"placeholder\":true,\"description\":\"names a variable that the data component supplies. ODS resolves the value of the variable when it binds the template and the data component.\",\"help\":\"*variable-name* \",\"type\":\"value\",\"supportSiteTargetFragment\":\"n13k8t6g6xor5gn1v6yrvxsl1st2\"},{\"name\":\"value\",\"optional\":true,\"placeholder\":true,\"description\":\"sets the value of the variable.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0ujmat9sfmkv7n16t3e1tbtvru5\"},{\"name\":\"text\",\"optional\":true,\"placeholder\":true,\"description\":\"is text that is placed in the template to explain the dynamic variable's use. Text of this type becomes part of the compiled template, which you can view with the SOURCE statement, whereas SAS comments do not.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1rj5dx1mn7mnrn1ova1zc8to64o\"}],\"supportSiteTargetFile\":\"p1kt28i6uur3min15jrps9ttl228.htm\"},{\"name\":\"ITEM\",\"description\":\"Specifies an item to be added to the item list. An ITEM statement that does not specify an expression begins an item block.\",\"help\":\"ITEM &lt;*expression*&gt; / &lt;FORMAT=*format-name*&gt;&lt;STYLE=*style-override*&gt;&lt;VALUE=*integer-value*&gt;;\",\"arguments\":[{\"name\":\"constant\",\"placeholder\":true,\"description\":\"is a fixed value, such as the name of a column, a text string, or symbols that are declared in a DYNAMIC, MVAR, or NMVAR statement in the current template.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1016rvxyp67d1n18hmvakl05ukl\"},{\"name\":\"function\",\"placeholder\":true,\"description\":\"specifies a SAS function.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0t3xg3fa1l2skn1ihjut7cw0900\"},{\"name\":\"FORMAT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a default format for the value in each table cell or list item. You can use any SAS or user-defined format.\",\"help\":\"FORMAT=*format-name*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p01fltq255sjnmn14f8driop9qi1\"},{\"name\":\"STYLE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the style element to use for the specified item.\",\"help\":\"STYLE=&lt;*style-element-name* &gt;[*style-attribute-name*=*style-attribute-value*&lt;… *style-attribute-name*=*style-attribute-value*&gt;]\",\"type\":\"value\",\"arguments\":[{\"name\":\"style-element-name\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"is the name of a style element that is part of a style template that is registered with the Output Delivery System. SAS provides some style templates. You can create your own style templates with PROC TEMPLATE.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1h98lqdlb50mon18wi7say17six\"},{\"name\":\"style-attribute-name\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the attribute to change.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n17t1wuabu2bhxn12du2do9977nr\"},{\"name\":\"style-attribute-value\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a value for the attribute. Each attribute has a different set of valid values.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n000ugrleln4t2n1jxhvssx4zn8k\"}],\"supportSiteTargetFragment\":\"n1itkv9sfdnttvn14oeigdf339qc\"},{\"name\":\"VALUE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"starts a numbered list from the specified integer-value. If another VALUE= option is specified in subsequent statements, numbering begins again at that point.\",\"help\":\"VALUE=*integer-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0l2pgwwf5ckcen1kdv6kojdgynj\"}],\"supportSiteTargetFile\":\"n1jcveiu6whdmfn15qawi7d6xfvr.htm\"},{\"name\":\"LIST\",\"description\":\"Creates a list.\",\"help\":\"LIST  / &lt;START=*integer-value*&gt;&lt;STYLE=*style-override*&gt; ;\",\"arguments\":[{\"name\":\"START=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"starts a numbered list from the specified integer-value. If another START= option is specified in subsequent statements, the numbering begins again at that point.\",\"help\":\"START=*integer-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0l87m225z2ls1n1mu41pzlgycph\"},{\"name\":\"STYLE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the style element to use for the specified item in the list.\",\"help\":\"STYLE=&lt;*style-element-name*&gt; [*style-attribute-name*=*style-attribute-value*&lt; ...*style-attribute-name*=*style-attribute-value*&gt;]\",\"type\":\"value\",\"arguments\":[{\"name\":\"style-element-name\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"is the name of a style element that is part of a style template that is registered with the Output Delivery System. SAS provides some style templates. You can create your own style templates with PROC TEMPLATE.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0jadya6uc2bpen15utcwm1vvt3v\"},{\"name\":\"style-attribute-name\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the attribute to change.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p13no8x90i316rn1nszusgvxhrso\"},{\"name\":\"style-attribute-value\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a value for the attribute. Each attribute has a different set of valid values.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1s7gkpdienonbn1tj8v8cowis2p\"}],\"supportSiteTargetFragment\":\"n0lroix0epjdvqn1g8ee16gygsel\"}],\"supportSiteTargetFile\":\"p1ovqfc1lmgsl1n19eu5we1iudu6.htm\"},{\"name\":\"MVAR\",\"description\":\"Defines a symbol that references a macro variable. ODS uses the value of the variable as a string. References to the macro variable are resolved when ODS binds the template and the data component to produce an output object.\",\"help\":\"MVAR variable-name-1<='value-1' <'text-1'>>\\n\\t<variable-name-2<='value-2'><'text-2' ...>>;\",\"arguments\":[{\"name\":\"variable-name\",\"placeholder\":true,\"description\":\"names a macro variable to reference in the template. ODS uses the value of the macro variable as a string. ODS does not resolve the value of the macro variable until it binds the template and the data component.\",\"help\":\"*variable-name* \",\"type\":\"value\",\"supportSiteTargetFragment\":\"p00t34pj2g93c2n1kgattdblqv5i\"},{\"name\":\"value\",\"optional\":true,\"placeholder\":true,\"description\":\"sets the default variable value.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0ra2vxtg25862n1us7y22pi7tyx\"},{\"name\":\"text\",\"optional\":true,\"placeholder\":true,\"description\":\"is text that is placed in the template to explain the macro variable's use. Text of this type becomes part of the compiled template, which you can view with the SOURCE statement, whereas SAS comments do not.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0lehwunw6rexin1fjvkhvfiqqiv\"}],\"supportSiteTargetFile\":\"n0wsfmtn4uoqwwn1ohav8lo8buvr.htm\"},{\"name\":\"NMVAR\",\"description\":\"Defines a symbol that references a macro variable. ODS converts the variable's value to a number (stored as a double) before using it. References to the macro variable are resolved when ODS binds the template and the data component to produce an output object.\",\"help\":\"NMVAR variable-name-1<='value–1' <'text-1'>>\\n\\t<variable-name-2<='value-2'><'text-2' ...>>;\",\"arguments\":[{\"name\":\"variable-name\",\"placeholder\":true,\"description\":\"names a macro variable to reference in the template. ODS converts the variable's value to a number (stored as a double) before using it. ODS does not resolve the macro variable until it binds the template and the data component.\",\"help\":\"*variable-name* \",\"type\":\"value\",\"supportSiteTargetFragment\":\"n12fv6oqlm14w7n1x1hw8walqu7p\"},{\"name\":\"value\",\"optional\":true,\"placeholder\":true,\"description\":\"sets the value of the variable.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1sfw6zri5gbc6n19zalpuml8juv\"},{\"name\":\"text\",\"optional\":true,\"placeholder\":true,\"description\":\"is text that is placed in the template to explain the macro variable's use. Text of this type becomes part of the compiled template, which you can view with the SOURCE statement, whereas SAS comments do not.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0t1t6osdi5f4an12aujkkuybak4\"}],\"supportSiteTargetFile\":\"n062gepfsxp3myn111k8fdk2ous8.htm\"},{\"name\":\"P\",\"description\":\"Specifies a paragraph. Multiple P statements are allowed within an item block.\",\"help\":\"P *expression* / &lt;FORMAT=*format-name*&gt;&lt;STYLE=*style-override*&gt; ;\",\"arguments\":[{\"name\":\"constant\",\"placeholder\":true,\"description\":\"is a fixed value, such as the name of a column, text string, or symbols that are declared in a DYNAMIC, MVAR, or NMVAR statement in the current template.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1kjh7t64oivxnn1qtpp9wxz53vf\"},{\"name\":\"function\",\"placeholder\":true,\"description\":\"specifies a SAS function.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1gxnf3999mexbn18d499nymzp5f\"},{\"name\":\"FORMAT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a default format for the value in each paragraph. You can use any SAS or user-defined format.\",\"help\":\"FORMAT=*format-name*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0ja9kfi8iogqnn1bzc3uloqqvto\"},{\"name\":\"STYLE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the style element to use for the items in the list or paragraph.\",\"help\":\"STYLE=&lt;*style-element-name* &gt;[*style-attribute-name*=*style-attribute-value*&lt;… *style-attribute-name*=*style-attribute-value*&gt;]\",\"type\":\"value\",\"arguments\":[{\"name\":\"style-element-name\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"is the name of a style element that is part of a style template that is registered with the Output Delivery System. SAS provides some style templates. You can create your own style templates with PROC TEMPLATE.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1rravhzz3olzmn1eo02arnht2fq\"},{\"name\":\"style-attribute-name\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the attribute to change.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0xap2yv2ve66wn1nmx4ku8nr6it\"},{\"name\":\"style-attribute-value\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a value for the attribute. Each attribute has a different set of valid values.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n04j3v0rjoujy5n1914pksols35q\"}],\"supportSiteTargetFragment\":\"n1h705aeszpv3an1d0ms7vmivjh2\"}],\"supportSiteTargetFile\":\"n0e7qz6zmq3ocan1bjoi267fixev.htm\"},{\"name\":\"TRANSLATE\",\"description\":\"Translates the specified numeric values to other values.\",\"help\":\"TRANSLATE *expression-1*INTO-1 *expression-2*&lt;, *expression-n* INTO -2 *expression-m*&gt;;\",\"arguments\":[{\"name\":\"INTO\",\"description\":\"specifies the value to replace. You can specify multiple INTO arguments.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n19enhiq8l5y84n1jt1dqvil0md5\"},{\"name\":\"constant\",\"placeholder\":true,\"description\":\"is a fixed value such as the name of a column or symbols that are declared in a DYNAMIC, MVAR, or NMVAR statement in the current template.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0ghcr646bdqidn16xlav3qzxhec\"},{\"name\":\"function\",\"placeholder\":true,\"description\":\"specifies a SAS function.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1i0oppde1v07xn11b894ndkylso\"},{\"name\":\"_COLUMN_\",\"aliases\":[\"_COL_\"],\"description\":\"is a column number. Column numbering begins with 1.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1h5um3f65gwydn1o4shr0ztpj4o\"},{\"name\":\"_DATANAME_\",\"description\":\"is a data column name.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p08ul2hazefqcyn1fp4nnrvoac75\"},{\"name\":\"_DATATYPE_\",\"description\":\"is the data type of the column variable. The data type is either numeric (\\\"num\\\") or character (\\\"char\\\").\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0kmrqg46kzyzdn1sejrjmijxf7f\"},{\"name\":\"_LABEL_\",\"description\":\"is a column label.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0s2uzfzra4g72n19zk1hrolib9a\"},{\"name\":\"_ROW_\",\"description\":\"is a row number. Row numbering begins with 1.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n14vwblemj26d4n1dhy5qcuj7ca5\"},{\"name\":\"_STYLE_\",\"description\":\"is a style element name.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p02moxmq8cg5zsn1cuygltcft0bv\"},{\"name\":\"_VAL_\",\"description\":\"is the data value of a cell.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p15ek5gfgmr2qtn15qgibhl56c0x\"},{\"name\":\"comparison-operator\",\"placeholder\":true,\"description\":\"compares a variable with a value or with another variable.\",\"help\":\"*comparison-operator*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1e0ofudhge31un1qspu3ok26skw\"}],\"supportSiteTargetFile\":\"p0sw1kwomt0m0in1u6ievu0rfyzc.htm\"}],\"supportSiteInformation\":{\"docsetId\":\"odsproc\",\"docsetVersion\":\"v_004\",\"docsetTargetFile\":\"p1a0n4hn6cy1con1tgfr4sjpjng0.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/ODSTABLE.json",
    "content": "{\"name\":\"ODSTABLE\",\"statements\":[{\"name\":\"PROC ODSTABLE\",\"description\":\"Begins a table template.\",\"help\":\"PROC ODSTABLE DATA=data-set-name | NAME=template-name\\n\\tBY <DESCENDING>variable-1\\n\\t\\t<… <DESCENDING> variable-n>\\n\\t\\t<NOTSORTED>;\\n\\n\\t<PAGEBREAK = NO | YES><STORE =template-store>; \\n\\n\\t<table-attribute-1<table-attribute-2> ...>;\\n\\n\\tCELLSTYLE expression-1AS <style-element-name><[style-attribute-specification(s)] ><, expression-n AS  <style-element-name><[style-attribute-specification(s)]>>;\\n\\n\\tCOLUMN column(s);\\n\\n\\tDEFINE template-typetemplate-name</ options>;  \\n\\t\\tstatements-and-attributes\\n\\t\\tEND ;\\n\\n\\tDYNAMIC variable-name-1<=value–1<'text-1'>>\\n\\t\\t<variable-name-2<=value-2><'text-2' ...>>;\\n\\n\\tFOOTER footer-name(s);\\n\\n\\tHEADER header-name(s);\\n\\n\\tMVAR variable-1<=default-variable-1><'text-1'>\\n\\t\\t< ...variable-n<=default-variable-n><'text-n'>>;\\n\\n\\tNMVAR variable-1<=default-variable-1><'text-1'>\\n\\t\\t< ...variable-n<=default-variable-n><'text-n'>>;\\n\\n\\tNOTES  \\\"text\\\";\\n\\n\\tTRANSLATE expression-1INTO expression-2< , expression-n INTO  expression-m;>\",\"arguments\":[{\"name\":\"DATA=\",\"description\":\"specifies the input data.\",\"help\":\"DATA=*data-set-name*\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"n11tlkbh12z42un1s80lzetavue8\"},{\"name\":\"NAME=\",\"description\":\"specifies the name of the template. Specifying a template name with the NAME= option is the same as specifying a template name with the DEFINE TABLE statement in PROC TEMPLATE.\",\"help\":\"NAME= *template-name*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n044scerlp1wejn1i6xnefmv29qp\"},{\"name\":\"CONTENTS=\",\"optional\":true,\"description\":\"specifies the title for the table of contents. The CONTENTS= option overrides the generated table of contents text.\",\"help\":\"CONTENTS=\\\"*text-string*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0a18d61979snpn19qq2a91v6rb0\"},{\"name\":\"PAGEBREAK=\",\"optional\":true,\"description\":\"specifies whether the procedure should generate a page break.\",\"help\":\"PAGEBREAK= NO | YES\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NO\",\"aliases\":[\"OFF\"],\"description\":\"specifies that no page break is generated.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p01uutfa20q4v5n1638wb2mrp6ic\"},{\"name\":\"YES\",\"aliases\":[\"ON\"],\"description\":\"specifies that a page break is generated.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1w0tvcq7sg845n1w68ke3jnqgcg\"}],\"supportSiteTargetFragment\":\"p1atug00xo1gkrn19qmf5wmjykzb\"},{\"name\":\"STORE=\",\"optional\":true,\"description\":\"specifies the template store where the compiled template is placed. If you do not specify a name or template store, ODS stores the template in the first writable template store in the ODS path. By default, this template store is Workr.Templat.\",\"help\":\"STORE=*template-store*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0atvuzbtjeip9n1ut12yybddhgm\"}],\"supportSiteTargetFile\":\"p1rvlfpsx2gq3pn0zov7yce608im.htm\"},{\"name\":\"BY\",\"description\":\"Orders the output according to the BY groups.\",\"help\":\"BY <DESCENDING>variable-1\\n\\t<… <DESCENDING> variable-n>\\n\\t<NOTSORTED>;\",\"arguments\":[{\"name\":\"variable\",\"placeholder\":true,\"description\":\"specifies the variable that the procedure uses to form BY groups. You can specify more than one variable. If you do not use the NOTSORTED option in the BY statement, then either the observations in the data set must be sorted by all the variables that you specify, or they must be indexed appropriately. Variables in a BY statement are called BY variables.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0e9kbav2i9chhn1xectebpz4s14a\"},{\"name\":\"DESCENDING\",\"optional\":true,\"description\":\"specifies that the observations are sorted in descending order by the variable that immediately follows the word DESCENDING in the BY statement.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1au0lhf4hi1h2n1le3cx2tp74l5a\"},{\"name\":\"NOTSORTED\",\"optional\":true,\"description\":\"specifies that observations are not necessarily sorted in alphabetic or numeric order. The observations are grouped in another way (for example, chronological order).\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p068zvjhrpn2awn1bygis4m6hppaa\"}],\"supportSiteTargetFile\":\"n13shq4na41y5wn14t67d8l6wgq8a.htm\"},{\"name\":\"CELLSTYLE\",\"description\":\"For tables, sets the style element of the cells in the table or column according to the values of the variables. For text, sets the style attributes of the list items or paragraphs. Use this statement to set the presentation characteristics (such as foreground color and font face) of individual cells or text.\",\"help\":\"CELLSTYLE *expression-1*AS &lt;*style-element-name*&gt;&lt;[*style-attribute-specification(s)*]&gt;&lt;, *expression-n* AS  &lt;*style-element-name*&gt;&lt;[*style-attribute-specification(s)*] &gt;&gt;;\",\"arguments\":[{\"name\":\"AS\",\"description\":\"specifies the style to apply to table cells or text. You can specify multiple AS arguments.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n052oss9373z6en1g2c4fpugc69fa\"},{\"name\":\"constant\",\"placeholder\":true,\"description\":\"is a fixed value such as the name of a column or symbols that are declared in a DYNAMIC, MVAR, or NMVAR statement in the current template.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p09tcmd4wjhb2hn11mkjqhtwehega\"},{\"name\":\"function\",\"placeholder\":true,\"description\":\"specifies a SAS function.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0sgew9to62y17n1klyiqnmz5urwa\"},{\"name\":\"_COLUMN_\",\"aliases\":[\"_COL_\"],\"description\":\"is a column number. Column numbering begins with 1.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1ton9ol67cuyon180t0y9c87dlxa\"},{\"name\":\"_DATANAME_\",\"description\":\"is a data column name.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0jpz7vrbp2wh2n1ph1d9ennzlspa\"},{\"name\":\"_DATATYPE_\",\"description\":\"is the data type of the column variable. The data type is either numeric (\\\"num\\\") or character (\\\"char\\\").\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n001c9r2yutsd9n1df24ohgnezqfa\"},{\"name\":\"_LABEL_\",\"description\":\"is a column label.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p090c20gke2ao2n150t233dc3u5aa\"},{\"name\":\"_ROW_\",\"description\":\"is a row number. Row numbering begins with 1.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1qvkodyer8c4an1q1j07215j8f6a\"},{\"name\":\"_STYLE_\",\"description\":\"is a style element name.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1ehdzg6aatsewn136j3aeeteunea\"},{\"name\":\"_VAL_\",\"description\":\"is the data value of a cell.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1gqcf4c5zdnnon1ssdwx4fjfaxqa\"},{\"name\":\"comparison-operator\",\"placeholder\":true,\"description\":\"compares a variable with a value or with another variable.\",\"help\":\"*comparison-operator*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0ksm7wkxlxap3n19zseu251zqj0a\"},{\"name\":\"style-attribute-specification\",\"placeholder\":true,\"description\":\"describes a style attribute to set.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1v7z99yv7j4t0n1i5blbdthx1h9a\"},{\"name\":\"style-element-name\",\"optional\":true,\"placeholder\":true,\"description\":\"is the name of a style element that is part of a style that is registered with the Output Delivery System.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p102w5x0sd43u5n1b3k9nw5ic522a\"}],\"supportSiteTargetFile\":\"p0e28xid65mg0hn1wlfw62bmv3yqa.htm\"},{\"name\":\"COLUMN\",\"description\":\"Declares a symbol as a column in the table and specifies the order of the columns.\",\"help\":\"COLUMN *column(s)*; \",\"arguments\":[{\"name\":\"column\",\"placeholder\":true,\"description\":\"is one or more columns. If the column is defined outside the current table template, reference it by its path in the template store. Columns in the template are laid out from left to right in the same order that they are specified in the COLUMN statement.\",\"help\":\"*column* \",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0l7iqswyqevj8n16oq3wzfxezn4\"}],\"supportSiteTargetFile\":\"p1ai2lmqbvc2iwn1b3sy88tp21ba.htm\"},{\"name\":\"COMPUTE AS\",\"description\":\"Computes values for a column that is not in the data component, or modifies the values of a column that is in the data component.\",\"help\":\"COMPUTE AS *expression*;\",\"arguments\":[{\"name\":\"constant\",\"placeholder\":true,\"description\":\"is a fixed value, such as the name of a column, or symbols that are declared in a DYNAMIC, MVAR, or NMVAR statement in the current template.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n08hfykefansfdn199giz57vnw8k\"},{\"name\":\"function\",\"placeholder\":true,\"description\":\"specifies a SAS function. For information about SAS functions, see .\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0geow24khmhwln16p25o4zd6bk0\"},{\"name\":\"_COLUMN_\",\"aliases\":[\"_COL_\"],\"description\":\"is a column number. Column numbering begins with 1.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0s82qrbop6p1ln101fqjewuj8ol\"},{\"name\":\"_DATANAME_\",\"description\":\"is a data-column name.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1p03gijkguh0nn11as06ke7uhfq\"},{\"name\":\"_LABEL_\",\"description\":\"is a column label.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p14ttcb5rm1jp5n10375e4zzkewn\"},{\"name\":\"_ROW_\",\"description\":\"is a row number. Row numbering begins with 1.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0ujot1zvbnyxsn1dw1wrr2klyfu\"},{\"name\":\"_STYLE_\",\"description\":\"is a style-element name.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0omxc4mvdxkfrn1frbstipzrgee\"},{\"name\":\"_VAL_\",\"description\":\"is the data value of a cell.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0zftjgt4dvyfqn1jtdolobs7ovo\"},{\"name\":\"comparison-operator\",\"placeholder\":true,\"description\":\"compares a variable with a value or another variable.\",\"help\":\"*comparison-operator*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p054yj8xvye0n2n155b4ukdvm6ig\"}],\"supportSiteTargetFile\":\"n1v8r3yxskj5zrn1f216x8914xe8.htm\"},{\"name\":\"DEFINE\",\"description\":\"Creates a template inside of a table template.\",\"help\":\"DEFINE <COLUMN | FOOTER | HEADER>template-name< / NOLIST>;   \\n\\tstatements-and-attributes;END ;\",\"arguments\":[{\"name\":\"template-name\",\"placeholder\":true,\"description\":\"specifies the name of the new template.\",\"help\":\"*template-name* \",\"type\":\"value\",\"supportSiteTargetFragment\":\"p03l0ul2fby8rsn16aia47j5obig\"},{\"name\":\"COLUMN\",\"optional\":true,\"description\":\"specifies to create a column template. For statements and attributes that can be used within a column template, see .\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1ha1hum5h6zpcn1n8dtzn2chwsv\"},{\"name\":\"FOOTER\",\"optional\":true,\"description\":\"specifies to create a footer template. For statements and attributes that can be used within a footer template, see .\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0jkg6czuu7n9hn15biru0kwr72e\"},{\"name\":\"HEADER\",\"optional\":true,\"description\":\"specifies to create a header template. For statements and attributes that can be used within a header template, see .\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1sdcwwey42zszn12knz0c8ubahe\"},{\"name\":\"NOLIST\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"preserves the template-type when inheriting it from another table template.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0et46nmucazpen190nn5w8r5vyn\"}]},{\"name\":\"DYNAMIC\",\"description\":\"Defines a symbol that references a value that the data component supplies from the procedure or DATA step.\",\"help\":\"DYNAMIC variable-name-1<=value–1<'text-1'>>\\n\\t<variable-name-2<=value-2><'text-2' ...>>;\",\"arguments\":[{\"name\":\"variable-name\",\"placeholder\":true,\"description\":\"names a variable that the data component supplies. ODS resolves the value of the variable when it binds the template and the data component.\",\"help\":\"*variable-name* \",\"type\":\"value\",\"supportSiteTargetFragment\":\"n13k8t6g6xor5gn1v6yrvxsl1st2a\"},{\"name\":\"value\",\"optional\":true,\"placeholder\":true,\"description\":\"sets the value of the variable.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0ujmat9sfmkv7n16t3e1tbtvru5a\"},{\"name\":\"text\",\"optional\":true,\"placeholder\":true,\"description\":\"is text that is placed in the template to explain the dynamic variable's use. Text of this type becomes part of the compiled template, which you can view with the SOURCE statement, whereas SAS comments do not.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1rj5dx1mn7mnrn1ova1zc8to64oa\"}],\"supportSiteTargetFile\":\"p1kt28i6uur3min15jrps9ttl228a.htm\"},{\"name\":\"END\",\"description\":\"Ends the table template, header template, column template, or footer template.\",\"help\":\"END ;\",\"supportSiteTargetFile\":\"p0hzvmu9loc7y6n127zs1qkpbkza.htm\"},{\"name\":\"FOOTER\",\"description\":\"Declares a symbol as a footer in the table and specifies the order of the footers.\",\"help\":\"FOOTER *footer-specification(s)*; \",\"arguments\":[{\"name\":\"\\\"string\\\"\",\"placeholder\":true,\"description\":\"specifies the text to use for the footer. If you specify a string, you do not need to specify a DEFINE FOOTER statement. However, you cannot specify any footer attributes except for a split character. If the SPLIT= attribute is not in effect and if the first character of the footer that you specify is neither a blank character nor an alphanumeric character, PROC TEMPLATE and PROC ODSTABLE treat it as the split character.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0ki3wvtj89s7in1wvoz2lt1vdod\"},{\"name\":\"footer-path\",\"placeholder\":true,\"description\":\"is the path of the footer template to use. A footer-path consists of one or more names, separated by periods. Each name represents a directory in a template store, which is a type of SAS file.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1eco2y9fjo0y8n18hpan3nsuuzs\"},{\"name\":\"_LABEL_\",\"description\":\"uses the label of the output object as the footer. Each SAS procedure specifies a label for each output object that it creates. The DATA step uses the value of the OBJECTLABEL= option as the label of the output object. If OBJECTLABEL= is not specified, it uses the text of the first TITLE statement as the label.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n150mshn0bbd33n19jate40po610\"}],\"supportSiteTargetFile\":\"p0kr1djhsj7vqrn1n36jf6t16agm.htm\"},{\"name\":\"HEADER\",\"description\":\"Declares a symbol as a header in the table and specifies the order of the headers.\",\"help\":\"HEADER *header-specification(s)*; \",\"arguments\":[{\"name\":\"\\\"string\\\"\",\"placeholder\":true,\"description\":\"specifies the text to use for the header. If you specify a string, you do not need to use a DEFINE HEADER statement. However, you cannot specify any header attributes except for a split character. If the SPLIT= header attribute is not in effect and if the first character of the header that you specify is neither a blank character nor an alphanumeric character, PROC TEMPLATE and PROC ODSTABLE treat it as the split character.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0i0lyaekkg5a3n1wp9pv23riwkc\"},{\"name\":\"header-path\",\"placeholder\":true,\"description\":\"is the path of the header template to use. A header-path consists of one or more names, separated by periods. Each name represents a directory in a template store. (A template store is a type of SAS file.)\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0izs5i0cp1wxrn1bqao6dmaakak\"},{\"name\":\"_LABEL_\",\"description\":\"uses the label of the output object as the header. Each SAS procedure specifies a label for each output object that it creates. The DATA step uses the value of the OBJECTLABEL= option as the label of the output object. If OBJECTLABEL= is not specified, it uses the text of the first TITLE statement as the label.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p14l4wsqpcs6van0z2ljd4lpbvb2\"}],\"supportSiteTargetFile\":\"n0dbgh5k1um33wn1iflvqh92pcx7.htm\"},{\"name\":\"MVAR\",\"description\":\"Defines a symbol that references a macro variable. ODS uses the value of the variable as a string. References to the macro variable are resolved when ODS binds the template and the data component to produce an output object.\",\"help\":\"MVAR variable-name-1<='value-1' <'text-1'>>\\n\\t<variable-name-2<='value-2'><'text-2' ...>>;\",\"arguments\":[{\"name\":\"variable-name\",\"placeholder\":true,\"description\":\"names a macro variable to reference in the template. ODS uses the value of the macro variable as a string. ODS does not resolve the value of the macro variable until it binds the template and the data component.\",\"help\":\"*variable-name* \",\"type\":\"value\",\"supportSiteTargetFragment\":\"p00t34pj2g93c2n1kgattdblqv5ia\"},{\"name\":\"value\",\"optional\":true,\"placeholder\":true,\"description\":\"sets the default variable value.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0ra2vxtg25862n1us7y22pi7tyxa\"},{\"name\":\"text\",\"optional\":true,\"placeholder\":true,\"description\":\"is text that is placed in the template to explain the macro variable's use. Text of this type becomes part of the compiled template, which you can view with the SOURCE statement, whereas SAS comments do not.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0lehwunw6rexin1fjvkhvfiqqiva\"}],\"supportSiteTargetFile\":\"n0wsfmtn4uoqwwn1ohav8lo8buvra.htm\"},{\"name\":\"NMVAR\",\"description\":\"Defines a symbol that references a macro variable. ODS converts the variable's value to a number (stored as a double) before using it. References to the macro variable are resolved when ODS binds the template and the data component to produce an output object.\",\"help\":\"NMVAR variable-name-1<='value–1' <'text-1'>>\\n\\t<variable-name-2<='value-2'><'text-2' ...>>;\",\"arguments\":[{\"name\":\"variable-name\",\"placeholder\":true,\"description\":\"names a macro variable to reference in the template. ODS converts the variable's value to a number (stored as a double) before using it. ODS does not resolve the macro variable until it binds the template and the data component.\",\"help\":\"*variable-name* \",\"type\":\"value\",\"supportSiteTargetFragment\":\"n12fv6oqlm14w7n1x1hw8walqu7pa\"},{\"name\":\"value\",\"optional\":true,\"placeholder\":true,\"description\":\"sets the value of the variable.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1sfw6zri5gbc6n19zalpuml8juva\"},{\"name\":\"text\",\"optional\":true,\"placeholder\":true,\"description\":\"is text that is placed in the template to explain the macro variable's use. Text of this type becomes part of the compiled template, which you can view with the SOURCE statement, whereas SAS comments do not.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0t1t6osdi5f4an12aujkkuybak4a\"}],\"supportSiteTargetFile\":\"n062gepfsxp3myn111k8fdk2ous8a.htm\"},{\"name\":\"NOTES\",\"description\":\"Provides information about the table, header, column, or footer.\",\"help\":\"NOTES  '*text*'; \",\"arguments\":[{\"name\":\"text\",\"placeholder\":true,\"description\":\"provides information about the table.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1guijt24nf8p8n1p18a6wygf9c1\"}],\"supportSiteTargetFile\":\"n1p4j0jb06iy1zn1wsoa0e2vfvnn.htm\"},{\"name\":\"TRANSLATE\",\"description\":\"Translates the specified numeric values to other values.\",\"help\":\"TRANSLATE *expression-1*INTO-1 *expression-2*&lt;, *expression-n* INTO -2 *expression-m*&gt;;\",\"arguments\":[{\"name\":\"INTO\",\"description\":\"specifies the value to replace. You can specify multiple INTO arguments.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n19enhiq8l5y84n1jt1dqvil0md5a\"},{\"name\":\"constant\",\"placeholder\":true,\"description\":\"is a fixed value such as the name of a column or symbols that are declared in a DYNAMIC, MVAR, or NMVAR statement in the current template.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0ghcr646bdqidn16xlav3qzxheca\"},{\"name\":\"function\",\"placeholder\":true,\"description\":\"specifies a SAS function.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1i0oppde1v07xn11b894ndkylsoa\"},{\"name\":\"_COLUMN_\",\"aliases\":[\"_COL_\"],\"description\":\"is a column number. Column numbering begins with 1.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1h5um3f65gwydn1o4shr0ztpj4oa\"},{\"name\":\"_DATANAME_\",\"description\":\"is a data column name.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p08ul2hazefqcyn1fp4nnrvoac75a\"},{\"name\":\"_DATATYPE_\",\"description\":\"is the data type of the column variable. The data type is either numeric (\\\"num\\\") or character (\\\"char\\\").\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0kmrqg46kzyzdn1sejrjmijxf7fa\"},{\"name\":\"_LABEL_\",\"description\":\"is a column label.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0s2uzfzra4g72n19zk1hrolib9aa\"},{\"name\":\"_ROW_\",\"description\":\"is a row number. Row numbering begins with 1.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n14vwblemj26d4n1dhy5qcuj7ca5a\"},{\"name\":\"_STYLE_\",\"description\":\"is a style element name.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p02moxmq8cg5zsn1cuygltcft0bva\"},{\"name\":\"_VAL_\",\"description\":\"is the data value of a cell.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p15ek5gfgmr2qtn15qgibhl56c0xa\"},{\"name\":\"comparison-operator\",\"placeholder\":true,\"description\":\"compares a variable with a value or with another variable.\",\"help\":\"*comparison-operator*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1e0ofudhge31un1qspu3ok26skwa\"}],\"supportSiteTargetFile\":\"p0sw1kwomt0m0in1u6ievu0rfyzca.htm\"}],\"supportSiteInformation\":{\"docsetId\":\"odsproc\",\"docsetVersion\":\"v_004\",\"docsetTargetFile\":\"n1olg2oeqi9r5rn1racah27f1ow8.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/ODSTEXT.json",
    "content": "{\"name\":\"ODSTEXT\",\"statements\":[{\"name\":\"PROC ODSTEXT\",\"description\":\"Creates a text block.\",\"help\":\"PROC ODSTEXT <CONTENTS=text-string><DATA=SAS-data-set><NAME=template-name>\\n\\t<PAGEBREAK=NO | YES><PRINT><=template-store>;\\nSTOREBY <DESCENDING>variable-1\\n\\t<… <DESCENDING> variable-n>\\n\\t<NOTSORTED>;CELLSTYLE expression-1AS <style-element-name><[style-attribute-specification(s)] >\\n<, expression-n AS  <style-element-name><[style-attribute-specification(s)]>>;DYNAMIC variable-name-1<=value–1<'text-1'>>\\n\\t<variable-name-2<=value-2><'text-2' ...>>;HEADING <n><“heading-text”> / <STYLE=style-override>MVAR variable-name-1<=value–1<'text-1'>>\\n\\t<variable-name-2<=value-2><'text-2' ...>>;NMVAR variable-name-1<=value–1<'text-1'>>\\n\\t<variable-name-2<=value-2><'text-2' ...>>;LIST  / <START =integer-value><STYLE =style-override> ;\\n\\tITEM <expression> / <FORMAT =format-name>\\n\\t\\t<STYLE =style-override>\\n\\t\\t<VALUE =integer-value>;END ;P expression/ <FORMAT =format-name><STYLE =style-override> ;TRANSLATE expression-1INTO expression-2< , expression-n INTO  expression-m;>\",\"arguments\":[{\"name\":\"CONTENTS=\",\"optional\":true,\"description\":\"specifies the title for the table of contents. The CONTENTS= option overrides the generated table of contents text.\",\"help\":\"CONTENTS=\\\"*text-string*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1pr02ilvzq3fnn0znuicmj0hset\"},{\"name\":\"DATA=\",\"optional\":true,\"description\":\"specifies a SAS data set.\",\"help\":\"DATA=*SAS-data-set*\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"n1un9n9x7bxodin1azz2twx3000v\"},{\"name\":\"NAME=\",\"optional\":true,\"description\":\"specifies that the content of the procedure should be saved as a template with the specified name.\",\"help\":\"NAME=&lt;*template-name*&gt; \",\"type\":\"standaloneOrValue\",\"supportSiteTargetFragment\":\"n0r4uc884ytx3sn115j3naxmfawu\"},{\"name\":\"PAGEBREAK=\",\"optional\":true,\"description\":\"specifies whether the procedure should generate a page break.\",\"help\":\"PAGEBREAK= NO | YES\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NO\",\"aliases\":[\"OFF\"],\"description\":\"specifies that no page break is generated.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1kfmo8vhe2xl6n1w2zq3ne6t3jp\"},{\"name\":\"YES\",\"aliases\":[\"ON\"],\"description\":\"specifies that a page break is generated.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1629tak28zds9n15fjm9446f5zs\"}],\"supportSiteTargetFragment\":\"p0fq3222oo1ngwn18g7fyhwnfy53\"},{\"name\":\"PRINT\",\"optional\":true,\"description\":\"specifies that the template is printed as well as stored.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0z65sfelcgduwn1gwgotkix5opi\"},{\"name\":\"STORE=\",\"optional\":true,\"description\":\"specifies the template store where the compiled template is placed. If you do not specify a name or template store, ODS stores the template in the first writable template store in the ODS path. By default, this template store is Sasuser.Templat.\",\"help\":\"STORE=*template-store*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p15u14o56vkilan1j0gph73o6w0x\"}],\"supportSiteTargetFile\":\"p1tfjsx3ezqhacn1gqqsxqii7lpv.htm\"},{\"name\":\"BY\",\"description\":\"Orders the output according to the BY groups.\",\"help\":\"BY <DESCENDING>variable-1\\n\\t<… <DESCENDING> variable-n>\\n\\t<NOTSORTED>;\",\"arguments\":[{\"name\":\"variable\",\"placeholder\":true,\"description\":\"specifies the variable that the procedure uses to form BY groups. You can specify more than one variable. If you do not use the NOTSORTED option in the BY statement, then either the observations in the data set must be sorted by all the variables that you specify, or they must be indexed appropriately. Variables in a BY statement are called BY variables.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0e9kbav2i9chhn1xectebpz4s14b\"},{\"name\":\"DESCENDING\",\"optional\":true,\"description\":\"specifies that the observations are sorted in descending order by the variable that immediately follows the word DESCENDING in the BY statement.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1au0lhf4hi1h2n1le3cx2tp74l5b\"},{\"name\":\"NOTSORTED\",\"optional\":true,\"description\":\"specifies that observations are not necessarily sorted in alphabetic or numeric order. The observations are grouped in another way (for example, chronological order).\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p068zvjhrpn2awn1bygis4m6hppab\"}],\"supportSiteTargetFile\":\"n13shq4na41y5wn14t67d8l6wgq8b.htm\"},{\"name\":\"CELLSTYLE\",\"description\":\"For tables, sets the style element of the cells in the table or column according to the values of the variables. For text, sets the style attributes of the list items or paragraphs. Use this statement to set the presentation characteristics (such as foreground color and font face) of individual cells or text.\",\"help\":\"CELLSTYLE *expression-1*AS &lt;*style-element-name*&gt;&lt;[*style-attribute-specification(s)*]&gt;&lt;, *expression-n* AS  &lt;*style-element-name*&gt;&lt;[*style-attribute-specification(s)*] &gt;&gt;;\",\"arguments\":[{\"name\":\"AS\",\"description\":\"specifies the style to apply to table cells or text. You can specify multiple AS arguments.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n052oss9373z6en1g2c4fpugc69fb\"},{\"name\":\"constant\",\"placeholder\":true,\"description\":\"is a fixed value such as the name of a column or symbols that are declared in a DYNAMIC, MVAR, or NMVAR statement in the current template.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p09tcmd4wjhb2hn11mkjqhtwehegb\"},{\"name\":\"function\",\"placeholder\":true,\"description\":\"specifies a SAS function.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0sgew9to62y17n1klyiqnmz5urwb\"},{\"name\":\"_COLUMN_\",\"aliases\":[\"_COL_\"],\"description\":\"is a column number. Column numbering begins with 1.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1ton9ol67cuyon180t0y9c87dlxb\"},{\"name\":\"_DATANAME_\",\"description\":\"is a data column name.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0jpz7vrbp2wh2n1ph1d9ennzlspb\"},{\"name\":\"_DATATYPE_\",\"description\":\"is the data type of the column variable. The data type is either numeric (\\\"num\\\") or character (\\\"char\\\").\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n001c9r2yutsd9n1df24ohgnezqfb\"},{\"name\":\"_LABEL_\",\"description\":\"is a column label.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p090c20gke2ao2n150t233dc3u5ab\"},{\"name\":\"_ROW_\",\"description\":\"is a row number. Row numbering begins with 1.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1qvkodyer8c4an1q1j07215j8f6b\"},{\"name\":\"_STYLE_\",\"description\":\"is a style element name.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1ehdzg6aatsewn136j3aeeteuneb\"},{\"name\":\"_VAL_\",\"description\":\"is the data value of a cell.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1gqcf4c5zdnnon1ssdwx4fjfaxqb\"},{\"name\":\"comparison-operator\",\"placeholder\":true,\"description\":\"compares a variable with a value or with another variable.\",\"help\":\"*comparison-operator*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0ksm7wkxlxap3n19zseu251zqj0b\"},{\"name\":\"style-attribute-specification\",\"placeholder\":true,\"description\":\"describes a style attribute to set.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1v7z99yv7j4t0n1i5blbdthx1h9b\"},{\"name\":\"style-element-name\",\"optional\":true,\"placeholder\":true,\"description\":\"is the name of a style element that is part of a style that is registered with the Output Delivery System.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p102w5x0sd43u5n1b3k9nw5ic522b\"}],\"supportSiteTargetFile\":\"p0e28xid65mg0hn1wlfw62bmv3yqb.htm\"},{\"name\":\"DYNAMIC\",\"description\":\"Defines a symbol that references a value that the data component supplies from the procedure or DATA step.\",\"help\":\"DYNAMIC variable-name-1<=value–1<'text-1'>>\\n\\t<variable-name-2<=value-2><'text-2' ...>>;\",\"arguments\":[{\"name\":\"variable-name\",\"placeholder\":true,\"description\":\"names a variable that the data component supplies. ODS resolves the value of the variable when it binds the template and the data component.\",\"help\":\"*variable-name* \",\"type\":\"value\",\"supportSiteTargetFragment\":\"n13k8t6g6xor5gn1v6yrvxsl1st2b\"},{\"name\":\"value\",\"optional\":true,\"placeholder\":true,\"description\":\"sets the value of the variable.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0ujmat9sfmkv7n16t3e1tbtvru5b\"},{\"name\":\"text\",\"optional\":true,\"placeholder\":true,\"description\":\"is text that is placed in the template to explain the dynamic variable's use. Text of this type becomes part of the compiled template, which you can view with the SOURCE statement, whereas SAS comments do not.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1rj5dx1mn7mnrn1ova1zc8to64ob\"}],\"supportSiteTargetFile\":\"p1kt28i6uur3min15jrps9ttl228b.htm\"},{\"name\":\"END\",\"description\":\"Ends item and list blocks.\",\"help\":\"\\n\\tEND;\",\"supportSiteTargetFile\":\"p094n38sj5ldg7n1pw7gd6busowm.htm\"},{\"name\":\"HEADING\",\"aliases\":[\"H\"],\"description\":\"Creates H# tags for the ODSTEXT output.\",\"help\":\"HEADING &lt;*n*&gt; “*heading-text*” / &lt;STYLE =*style-override*&gt;;\",\"arguments\":[{\"name\":\"heading-text\",\"placeholder\":true,\"description\":\"specifies the heading text. You can use in-line formatting and style overrides to customize your heading text. This option helps to make reports accessible for people with a wide range of abilities.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0du6sdc9c903gn1p2noiv2g62gy\"},{\"name\":\"n\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the heading level.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p17w7u5sq734uyn1vlk65kmij20f\"},{\"name\":\"STYLE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the style element to use for the heading text.\",\"help\":\"STYLE= &lt;*style-element-name*&gt; [*style-attribute-name*=*style-attribute-value* &lt; ...*style-attribute-name*=*style-attribute-value*&gt;]\",\"type\":\"value\",\"arguments\":[{\"name\":\"style-element-name\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"is the name of a style element that is part of a style template that is registered with the Output Delivery System. SAS provides some style templates. You can create your own style templates with PROC TEMPLATE.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1lil7k5rozxtyn1i6ybd2lygj2r\"},{\"name\":\"style-attribute-name\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the attribute to change.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0mxitjh85msbbn19u9j2u2qddgf\"},{\"name\":\"style-attribute-value\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a value for the attribute. Each attribute has a different set of valid values.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0np9cnnayr5axn1cbs6los9zv0r\"}],\"supportSiteTargetFragment\":\"n1scv6fow3z8cdn1fba255ai41su\"}],\"supportSiteTargetFile\":\"p087f74a3o54gmn1duaztzh5pvmj.htm\"},{\"name\":\"ITEM\",\"description\":\"Specifies an item to be added to the item list. An ITEM statement that does not specify an expression begins an item block.\",\"help\":\"ITEM &lt;*expression*&gt; / &lt;FORMAT=*format-name*&gt;&lt;STYLE=*style-override*&gt;&lt;VALUE=*integer-value*&gt;;\",\"arguments\":[{\"name\":\"constant\",\"placeholder\":true,\"description\":\"is a fixed value, such as the name of a column, a text string, or symbols that are declared in a DYNAMIC, MVAR, or NMVAR statement in the current template.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1016rvxyp67d1n18hmvakl05ukla\"},{\"name\":\"function\",\"placeholder\":true,\"description\":\"specifies a SAS function.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0t3xg3fa1l2skn1ihjut7cw0900a\"},{\"name\":\"FORMAT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a default format for the value in each table cell or list item. You can use any SAS or user-defined format.\",\"help\":\"FORMAT=*format-name*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p01fltq255sjnmn14f8driop9qi1a\"},{\"name\":\"STYLE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the style element to use for the specified item.\",\"help\":\"STYLE=&lt;*style-element-name* &gt;[*style-attribute-name*=*style-attribute-value*&lt;… *style-attribute-name*=*style-attribute-value*&gt;]\",\"type\":\"value\",\"arguments\":[{\"name\":\"style-element-name\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"is the name of a style element that is part of a style template that is registered with the Output Delivery System. SAS provides some style templates. You can create your own style templates with PROC TEMPLATE.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1h98lqdlb50mon18wi7say17sixa\"},{\"name\":\"style-attribute-name\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the attribute to change.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n17t1wuabu2bhxn12du2do9977nra\"},{\"name\":\"style-attribute-value\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a value for the attribute. Each attribute has a different set of valid values.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n000ugrleln4t2n1jxhvssx4zn8ka\"}],\"supportSiteTargetFragment\":\"n1itkv9sfdnttvn14oeigdf339qca\"},{\"name\":\"VALUE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"starts a numbered list from the specified integer-value. If another VALUE= option is specified in subsequent statements, numbering begins again at that point.\",\"help\":\"VALUE=*integer-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0l2pgwwf5ckcen1kdv6kojdgynja\"}],\"supportSiteTargetFile\":\"n1jcveiu6whdmfn15qawi7d6xfvra.htm\"},{\"name\":\"LIST\",\"description\":\"Creates a list.\",\"help\":\"LIST / &lt;START=*integer-value*&gt;&lt;STYLE=*style-override*&gt; ;\",\"arguments\":[{\"name\":\"START=\",\"optional\":true,\"description\":\"starts a numbered list from the specified integer-value. If another START= option is specified in subsequent statements, the numbering begins again at that point.\",\"help\":\"START=*integer-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p13oqz0inzg0s6n1oqyeuepwtmr7\"},{\"name\":\"STYLE=\",\"optional\":true,\"description\":\"specifies the style element to use for the items in the list.\",\"help\":\"STYLE=&lt;*style-element-name* &gt;[*style-attribute-name*=*style-attribute-value*&lt;… *style-attribute-name*=*style-attribute-value*&gt;]\",\"type\":\"value\",\"arguments\":[{\"name\":\"style-element-name\",\"placeholder\":true,\"description\":\"is the name of a style element that is part of a style template that is registered with the Output Delivery System. SAS provides some style templates. You can create your own style templates with PROC TEMPLATE.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1c5vxtdx55hytn1in35wmg5ky2v\"},{\"name\":\"style-attribute-name\",\"placeholder\":true,\"description\":\"specifies the attribute to change.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1akulc3tbrjsin154gpepln2v4u\"},{\"name\":\"style-attribute-value\",\"placeholder\":true,\"description\":\"specifies a value for the attribute. Each attribute has a different set of valid values.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0p3u0nqww8v0mn1rln3qyhrmdyv\"}],\"supportSiteTargetFragment\":\"n11xfie9bs9uzxn1nvrx4kk4zzv6\"}],\"supportSiteTargetFile\":\"n16z1gqb5jn0can1bl4f2dnzl944.htm\"},{\"name\":\"MVAR\",\"description\":\"Defines a symbol that references a macro variable. ODS uses the value of the variable as a string. References to the macro variable are resolved when ODS binds the template and the data component to produce an output object.\",\"help\":\"MVAR variable-name-1<='value-1' <'text-1'>>\\n\\t<variable-name-2<='value-2'><'text-2' ...>>;\",\"arguments\":[{\"name\":\"variable-name\",\"placeholder\":true,\"description\":\"names a macro variable to reference in the template. ODS uses the value of the macro variable as a string. ODS does not resolve the value of the macro variable until it binds the template and the data component.\",\"help\":\"*variable-name* \",\"type\":\"value\",\"supportSiteTargetFragment\":\"p00t34pj2g93c2n1kgattdblqv5ib\"},{\"name\":\"value\",\"optional\":true,\"placeholder\":true,\"description\":\"sets the default variable value.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0ra2vxtg25862n1us7y22pi7tyxb\"},{\"name\":\"text\",\"optional\":true,\"placeholder\":true,\"description\":\"is text that is placed in the template to explain the macro variable's use. Text of this type becomes part of the compiled template, which you can view with the SOURCE statement, whereas SAS comments do not.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0lehwunw6rexin1fjvkhvfiqqivb\"}],\"supportSiteTargetFile\":\"n0wsfmtn4uoqwwn1ohav8lo8buvrb.htm\"},{\"name\":\"NMVAR\",\"description\":\"Defines a symbol that references a macro variable. ODS converts the variable's value to a number (stored as a double) before using it. References to the macro variable are resolved when ODS binds the template and the data component to produce an output object.\",\"help\":\"NMVAR variable-name-1<='value–1' <'text-1'>>\\n\\t<variable-name-2<='value-2'><'text-2' ...>>;\",\"arguments\":[{\"name\":\"variable-name\",\"placeholder\":true,\"description\":\"names a macro variable to reference in the template. ODS converts the variable's value to a number (stored as a double) before using it. ODS does not resolve the macro variable until it binds the template and the data component.\",\"help\":\"*variable-name* \",\"type\":\"value\",\"supportSiteTargetFragment\":\"n12fv6oqlm14w7n1x1hw8walqu7pb\"},{\"name\":\"value\",\"optional\":true,\"placeholder\":true,\"description\":\"sets the value of the variable.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1sfw6zri5gbc6n19zalpuml8juvb\"},{\"name\":\"text\",\"optional\":true,\"placeholder\":true,\"description\":\"is text that is placed in the template to explain the macro variable's use. Text of this type becomes part of the compiled template, which you can view with the SOURCE statement, whereas SAS comments do not.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0t1t6osdi5f4an12aujkkuybak4b\"}],\"supportSiteTargetFile\":\"n062gepfsxp3myn111k8fdk2ous8b.htm\"},{\"name\":\"P\",\"description\":\"Specifies a paragraph. Multiple P statements are allowed within an item block.\",\"help\":\"P *expression* / &lt;FORMAT=*format-name*&gt;&lt;STYLE=*style-override*&gt; ;\",\"arguments\":[{\"name\":\"constant\",\"placeholder\":true,\"description\":\"is a fixed value, such as the name of a column, text string, or symbols that are declared in a DYNAMIC, MVAR, or NMVAR statement in the current template.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1kjh7t64oivxnn1qtpp9wxz53vfa\"},{\"name\":\"function\",\"placeholder\":true,\"description\":\"specifies a SAS function.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1gxnf3999mexbn18d499nymzp5fa\"},{\"name\":\"FORMAT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a default format for the value in each paragraph. You can use any SAS or user-defined format.\",\"help\":\"FORMAT=*format-name*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0ja9kfi8iogqnn1bzc3uloqqvtoa\"},{\"name\":\"STYLE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the style element to use for the items in the list or paragraph.\",\"help\":\"STYLE=&lt;*style-element-name* &gt;[*style-attribute-name*=*style-attribute-value*&lt;… *style-attribute-name*=*style-attribute-value*&gt;]\",\"type\":\"value\",\"arguments\":[{\"name\":\"style-element-name\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"is the name of a style element that is part of a style template that is registered with the Output Delivery System. SAS provides some style templates. You can create your own style templates with PROC TEMPLATE.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1rravhzz3olzmn1eo02arnht2fqa\"},{\"name\":\"style-attribute-name\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the attribute to change.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0xap2yv2ve66wn1nmx4ku8nr6ita\"},{\"name\":\"style-attribute-value\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a value for the attribute. Each attribute has a different set of valid values.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n04j3v0rjoujy5n1914pksols35qa\"}],\"supportSiteTargetFragment\":\"n1h705aeszpv3an1d0ms7vmivjh2a\"}],\"supportSiteTargetFile\":\"n0e7qz6zmq3ocan1bjoi267fixeva.htm\"},{\"name\":\"TRANSLATE\",\"description\":\"Translates the specified numeric values to other values.\",\"help\":\"TRANSLATE *expression-1*INTO-1 *expression-2*&lt;, *expression-n* INTO -2 *expression-m*&gt;;\",\"arguments\":[{\"name\":\"INTO\",\"description\":\"specifies the value to replace. You can specify multiple INTO arguments.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n19enhiq8l5y84n1jt1dqvil0md5b\"},{\"name\":\"constant\",\"placeholder\":true,\"description\":\"is a fixed value such as the name of a column or symbols that are declared in a DYNAMIC, MVAR, or NMVAR statement in the current template.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0ghcr646bdqidn16xlav3qzxhecb\"},{\"name\":\"function\",\"placeholder\":true,\"description\":\"specifies a SAS function.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1i0oppde1v07xn11b894ndkylsob\"},{\"name\":\"_COLUMN_\",\"aliases\":[\"_COL_\"],\"description\":\"is a column number. Column numbering begins with 1.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1h5um3f65gwydn1o4shr0ztpj4ob\"},{\"name\":\"_DATANAME_\",\"description\":\"is a data column name.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p08ul2hazefqcyn1fp4nnrvoac75b\"},{\"name\":\"_DATATYPE_\",\"description\":\"is the data type of the column variable. The data type is either numeric (\\\"num\\\") or character (\\\"char\\\").\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0kmrqg46kzyzdn1sejrjmijxf7fb\"},{\"name\":\"_LABEL_\",\"description\":\"is a column label.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0s2uzfzra4g72n19zk1hrolib9ab\"},{\"name\":\"_ROW_\",\"description\":\"is a row number. Row numbering begins with 1.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n14vwblemj26d4n1dhy5qcuj7ca5b\"},{\"name\":\"_STYLE_\",\"description\":\"is a style element name.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p02moxmq8cg5zsn1cuygltcft0bvb\"},{\"name\":\"_VAL_\",\"description\":\"is the data value of a cell.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p15ek5gfgmr2qtn15qgibhl56c0xb\"},{\"name\":\"comparison-operator\",\"placeholder\":true,\"description\":\"compares a variable with a value or with another variable.\",\"help\":\"*comparison-operator*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1e0ofudhge31un1qspu3ok26skwb\"}],\"supportSiteTargetFile\":\"p0sw1kwomt0m0in1u6ievu0rfyzcb.htm\"}],\"supportSiteInformation\":{\"docsetId\":\"odsproc\",\"docsetVersion\":\"v_004\",\"docsetTargetFile\":\"p01vqfrzpxj3bgn1x9elf98takez.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/OPTBINNING.json",
    "content": "{\"name\":\"OPTBINNING\",\"statements\":[{\"name\":\"PROC OPTBINNING\",\"description\":\"The OPTBINNING procedure is an enhancement of a traditional binning algorithm for fitting a credit scoring model. Credit scoring can be defined as a statistical modeling technique that is used to assign risk to credit applicants or to existing credit accounts.\",\"help\":\"PROC OPTBINNING ADJUSTFACTOR=numberDATA=libref.data-tableLOGLEVEL=0|1MAXTIME=numberOUTPUT=libref.data-tablePARAM=libref.data-tablePRINTLEVEL=numberSTATUS=libref.data-table ;\\n\\tCode File=filename  ;\\n\\n\\tSAVESTATE RSTORE=libref.data-table;\\n\",\"arguments\":[{\"name\":\"ADJUSTFACTOR=\",\"optional\":true,\"description\":\"specifies the adjustment factor for WOE. Its range is [0, 10]. By default, ADJUSTFACTOR = 0.5.\",\"help\":\"ADJUSTFACTOR=*number*\",\"type\":\"value\"},{\"name\":\"DATA=\",\"optional\":true,\"description\":\"names the input data table for PROC OPTBINNING to use. The default is the most recently created data table. libref.data-table is a two-level name, where libref refers to a collection of information that is defined in the LIBNAME statement and includes the library, which includes a path to the data, and a session identifier, which defaults to the active session but which can be explicitly defined in the LIBNAME statement. For more information about libref, see the section Using CAS Sessions and CAS Engine Librefs. data-table specifies the name of the input data table.\",\"help\":\"DATA=*libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"LOGLEVEL=\",\"optional\":true,\"description\":\"controls the amount of information for the SAS log to display. You can specify the following values: 0 turns of the display. 1 displays the log. LOGLEVEL=0 will turn off all solver-related messages in SAS log. LOGLEVEL=1 will display solver-related messages, including the warnings and errors. By default, LOGLEVEL = 1.\",\"help\":\"LOGLEVEL=0 | 1\",\"type\":\"choice\",\"arguments\":[{\"name\":\"0\",\"type\":\"standalone\"},{\"name\":\"1\",\"type\":\"standalone\"}]},{\"name\":\"MAXTIME=\",\"optional\":true,\"description\":\"specifies an upper limit of number of seconds of run time. By default, MAXTIME = 100.\",\"help\":\"MAXTIME=*number*\",\"type\":\"value\"},{\"name\":\"OUTPUT=\",\"optional\":true,\"description\":\"names the output data table. It is optional. When you specify PRINTLEVEL=2, the ODS table Output is displayed. libref.data-table is a two-level name, where libref refers to the library, and data-table specifies the name of the output data table. For more information about this two-level name, see the section Using CAS Sessions and CAS Engine Librefs.\",\"help\":\"OUTPUT=*libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"PARAM=\",\"optional\":true,\"description\":\"names the parameter input data table. libref.data-table is a two-level name, where libref refers to the library, and data-table specifies the name of the input data table. For more information about this two-level name, see the section Using CAS Sessions and CAS Engine Librefs.\",\"help\":\"PARAM=*libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"PRINTLEVEL=\",\"optional\":true,\"description\":\"specifies the ODS table display level. Its range is [0, 2]. When the value is positive, it displays the summary of the output tables. When PRINTLEVEL=2, it displays the OUTPUT and STATUS ODS tables. By default, PRINTLEVEL = 1.\",\"help\":\"PRINTLEVEL=*number*\",\"type\":\"value\"},{\"name\":\"STATUS=\",\"optional\":true,\"description\":\"names the status output data table. It is optional. When you specify PRINTLEVEL=2, the ODS table Status is displayed. libref.data-table is a two-level name, where libref refers to the library, and data-table specifies the name of the output data table. For more information about this two-level name, see the section Using CAS Sessions and CAS Engine Librefs.\",\"help\":\"STATUS=*libref.data-table*\",\"type\":\"dataSet\"}]},{\"name\":\"CODE\",\"description\":\"The CODE statement generates SAS DATA step code and stores it in a file that can be used for scoring. The CODE statement is optional. Another, preferable way to save the scoring model is by using an analytic store. For more information, see the section SAVESTATE Statement.\",\"help\":\"Code *FILE=filename*;\",\"arguments\":[{\"name\":\"FILE=\",\"description\":\"specifies the name of the file to write the SAS scoring code to.\",\"help\":\"FILE=*filename*\",\"type\":\"value\"}]},{\"name\":\"SAVESTATE\",\"description\":\"The SAVESTATE statement creates an analytic store for the model and saves it as a binary object in a data table. You can use the analytic store in the ASTORE procedure to score new data. For more information, see Chapter 4, ASTORE Procedure.The SAVESTATE statement is optional.\",\"help\":\"SAVESTATE *RSTORE=libref.data-table*;\",\"arguments\":[{\"name\":\"RSTORE=\",\"description\":\"specifies a data table in which to save the analytic store for the model. libref.data-table is a two-level name, where libref refers to the library, and data-table specifies the name of the output data table. For more information about this two-level name, see the DATA= option and the section Using CAS Sessions and CAS Engine Librefs.\",\"help\":\"RSTORE=*libref.data-table*\",\"type\":\"dataSet\"}]}],\"supportSiteInformation\":{\"docsetId\":\"casml\",\"docsetVersion\":\"latest\",\"docsetTargetFile\":\"casml_optbinning_toc.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/OPTEX.json",
    "content": "{\"name\":\"OPTEX\",\"statements\":[{\"name\":\"PROC OPTEX\",\"description\":\"The OPTEX procedure searches for optimal experimental designs. You specify a set of candidate design points and a linear model, and the procedure chooses points so that the terms in the model can be estimated as efficiently as possible.\",\"help\":\"PROC OPTEX <CLASSPARAM><CODING=NONE | STATIC | ORTH... ><DATA=SAS-data-set><EPSILON=ε><NAMELEN=n><NOCODE><NOPRINT><SEED=s><STATUS=1 | 2 | 3... >;     \\n\\tBLOCKS <COVAR=SAS-data-set VAR=( variables )><DESIGN=SAS-data-set> VAR=( variables ) ...;\\n\\n\\tCLASS <DESCENDING><ORDER=<DATA | FORMATTED | FREQ>... ><PARAM=<EFFECT | POLYNOMIAL|POLY | REFERENCE|REF>... > ...;\\n\\n\\tEXAMINE <DESIGN><INFORMATION><NUMBER=design-number> ...;\\n\\n\\tGENERATE <AUGMENT=SAS-data-set><CRITERION=<D | A | U>... ><INITDESIGN=<SEQUENTIAL | RANDOM | PARTIAL>... > ...;\\n\\n\\tID variables ;\\n\\n\\tMODEL <NOINT><PRIOR=num-list> ;\\n\\n\\tOUTPUT <BLOCKNAME=variable-name><NUMBER=<DBEST | ABEST | GBEST>... > OUT=SAS-data-set ...;\\n\",\"arguments\":[{\"name\":\"CLASSPARAM\",\"optional\":true,\"description\":\"Specifies that a table should be displayed summarizing the parameterization of classification variables in the model for the design.\",\"type\":\"standalone\"},{\"name\":\"CODING=\",\"optional\":true,\"description\":\"Specifies which type of coding to use for modeling effects in the design.\",\"help\":\"CODING=NONE | STATIC | ORTH | ORTHCAN\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NONE\",\"description\":\"Suppresses coding of effects\",\"type\":\"standalone\"},{\"name\":\"STATIC\",\"description\":\"Specifies that the values of all effects are to be coded to have maximum and minimum values of +1 and -1, respectively.\",\"type\":\"standalone\"},{\"name\":\"ORTH\",\"description\":\"Specifies orthogonal coding with respect to the points in the candidate data set.\",\"type\":\"standalone\"},{\"name\":\"ORTHCAN\",\"description\":\"Specifies orthogonal coding with respect to the points in the candidate data set.\",\"type\":\"standalone\"}]},{\"name\":\"DATA=\",\"optional\":true,\"description\":\"Specifies the input SAS data set that contains the candidate points for the design.\",\"help\":\"DATA=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"EPSILON=\",\"optional\":true,\"description\":\"Specifies the smallest value ε that is considered to be nonzero for determining when the search is no longer yielding an improved design and when the information matrix for the design is singular. By default, ε = 0.00001.\",\"type\":\"value\"},{\"name\":\"NAMELEN=\",\"optional\":true,\"description\":\"Specifies the length of effect names in tables and output data sets to be n characters long, where n is a value between 20 and 200 characters. The default length is 20 characters.\",\"help\":\"NAMELEN=*n*\",\"type\":\"value\"},{\"name\":\"NOCODE\",\"optional\":true,\"description\":\"Suppresses the coding of effects in the model for the design. This option is equivalent to CODING=NONE.\",\"type\":\"standalone\"},{\"name\":\"NOPRINT\",\"optional\":true,\"description\":\"Suppresses all output. This is useful when you only want the final design to be saved in a data set.\",\"type\":\"standalone\"},{\"name\":\"SEED=\",\"optional\":true,\"description\":\"Specifies an integer used to start the pseudo-random number generator for initialization.\",\"help\":\"SEED=*s*\",\"type\":\"value\"},{\"name\":\"STATUS=\",\"optional\":true,\"description\":\"Specifies that the status of the search be checked at the given level, where status-level is an integer between 1 and 4, inclusive.\",\"help\":\"STATUS=1 | 2 | 3 | 4\",\"type\":\"choice\",\"arguments\":[{\"name\":\"1\",\"description\":\"Checks status after each design search; the number of searches specified by the NITER= option.\",\"type\":\"standalone\"},{\"name\":\"2\",\"description\":\"Checks status after each search loop.\",\"type\":\"standalone\"},{\"name\":\"3\",\"description\":\"Checks status after each internal search loop.\",\"type\":\"standalone\"},{\"name\":\"4\",\"description\":\"Checks status after each extra internal search loop for METHOD=M_FEDOROV.\",\"type\":\"standalone\"}]}]},{\"name\":\"BLOCKS\",\"description\":\"You use the BLOCKS statement to find a D-optimal design in the presence of fixed covariates (for example, blocks) or covariance.\",\"help\":\"BLOCKS &lt;COVAR=SAS-data-set VAR=( variables )&gt;&lt;DESIGN=SAS-data-set&gt; VAR=( variables ) ...\",\"arguments\":[{\"name\":\"INIT=\",\"description\":\"Specifies that the starting design is to be constructed by selecting candidates at random without replacement.\",\"help\":\"INIT=RANDOM\",\"type\":\"value\"},{\"name\":\"ITER=\",\"description\":\"Specifies the number of times to repeat the search from different initial designs.\",\"help\":\"ITER=*n*\",\"type\":\"value\"},{\"name\":\"KEEP=\",\"description\":\"Specifies that only the best m designs are to be retained. The value m must be less than or equal to the value n of the ITER= option.\",\"help\":\"KEEP=*m*\",\"type\":\"value\"},{\"name\":\"NOEXCHANGE\",\"description\":\"Suppresses the part of the optimal blocking algorithm that exchanges treatment design points for candidate treatment points.\",\"type\":\"standalone\"},{\"name\":\"STRUCTURE=\",\"description\":\"Specifies a block design with b blocks of size k.\",\"type\":\"value\"},{\"name\":\"VAR=\",\"description\":\"Names the variables in the data set (specified in the COVAR= option) that contain the columns of the covariance matrix for the runs.\",\"type\":\"value\"},{\"name\":\"COVAR=\",\"optional\":true,\"description\":\"Specifies a data set to use in providing a general covariance matrix for the runs.\",\"type\":\"value\"},{\"name\":\"DESIGN=\",\"optional\":true,\"description\":\"Specifies a data set to use in providing a general covariate model.\",\"help\":\"DESIGN=*SAS-data-set*\",\"type\":\"dataSet\"}]},{\"name\":\"CLASS\",\"description\":\"You use the CLASS statement to identify classification (qualitative) variables, which are factors that separate the observations into groups.\",\"help\":\"CLASS &lt;DESCENDING&gt;&lt;ORDER=&lt;DATA | FORMATTED | FREQ&gt;... &gt;&lt;PARAM=&lt;EFFECT | POLYNOMIAL|POLY | REFERENCE|REF&gt;... &gt; ...\",\"arguments\":[{\"name\":\"DESCENDING\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"DESC\"],\"description\":\"Reverses the sorting order of the classification variable.\",\"type\":\"standalone\"},{\"name\":\"ORDER=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the sorting order for the levels of classification variables.\",\"help\":\"ORDER=DATA | FORMATTED | FREQ | INTERNAL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DATA\",\"followsDelimiter\":\"/\",\"description\":\"Orders values according to their order in the input data set.\",\"type\":\"standalone\"},{\"name\":\"FORMATTED\",\"followsDelimiter\":\"/\",\"description\":\"Orders values by their ascending formatted values. This order depends on your operating environment.\",\"type\":\"standalone\"},{\"name\":\"FREQ\",\"followsDelimiter\":\"/\",\"description\":\"Orders values by descending frequency count so that levels with the most observations are listed first.\",\"type\":\"standalone\"},{\"name\":\"INTERNAL\",\"followsDelimiter\":\"/\",\"description\":\"Orders values by their unformatted values, which yields the same order as PROC SORT. This order depends on your operating environment.\",\"type\":\"standalone\"}]},{\"name\":\"PARAM=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the parameterization method for the classification variable or variables.\",\"help\":\"PARAM=EFFECT | POLYNOMIAL|POLY | REFERENCE|REF | ORDINAL|ORD | ORTHEFFECT | ORTHPOLY | ORTHREF | ORTHORDINAL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"EFFECT\",\"followsDelimiter\":\"/\",\"description\":\"Specifies effect coding.\",\"type\":\"standalone\"},{\"name\":\"POLYNOMIAL\",\"followsDelimiter\":\"/\",\"description\":\"Specifies polynomial coding.\",\"help\":\"POLYNOMIAL|POLY\",\"type\":\"choice\"},{\"name\":\"REFERENCE\",\"followsDelimiter\":\"/\",\"description\":\"Specifies reference cell coding.\",\"help\":\"REFERENCE|REF\",\"type\":\"choice\"},{\"name\":\"ORDINAL\",\"followsDelimiter\":\"/\",\"description\":\"Specifies ordinal, or 'thermometer' coding.\",\"help\":\"ORDINAL|ORD\",\"type\":\"choice\"},{\"name\":\"ORTHEFFECT\",\"followsDelimiter\":\"/\",\"description\":\"Specifies orthogonal effect coding.\",\"type\":\"standalone\"},{\"name\":\"ORTHPOLY\",\"followsDelimiter\":\"/\",\"description\":\"Specifies orthogonal effect coding.\",\"type\":\"standalone\"},{\"name\":\"ORTHREF\",\"followsDelimiter\":\"/\",\"description\":\"Specifies orthogonal reference cell coding.\",\"type\":\"standalone\"},{\"name\":\"ORTHORDINAL\",\"followsDelimiter\":\"/\",\"description\":\"Specifies orthogonal ordinal coding.\",\"type\":\"standalone\"}]},{\"name\":\"REF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the reference level for PARAM=EFFECT, or PARAM=REFERENCE.\",\"help\":\"REF=&lt;’level’&gt; | FIRST | LAST\",\"type\":\"choice\",\"arguments\":[{\"name\":\"<’level’>\",\"followsDelimiter\":\"/\",\"description\":\"For an individual (but not a global) variable REF= option, you can specify the level of the variable to use as the reference level. Replace 'level' with an actual value, enclosed in quotes.\",\"type\":\"standalone\"},{\"name\":\"FIRST\",\"followsDelimiter\":\"/\",\"description\":\"For a global or individual variable REF= option, this designates the first ordered level as reference.\",\"type\":\"standalone\"},{\"name\":\"LAST\",\"followsDelimiter\":\"/\",\"description\":\"For a global or individual variable REF= option, this designates the last ordered level as reference.\",\"type\":\"standalone\"}]},{\"name\":\"TRUNCATE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies that class levels should be determined by using only up to the first 16 characters of the formatted values of CLASS variables.\",\"type\":\"standalone\"}]},{\"name\":\"EXAMINE\",\"description\":\"You use the EXAMINE statement to display the characteristics of a selected design.\",\"help\":\"EXAMINE &lt;DESIGN&gt;&lt;INFORMATION&gt;&lt;NUMBER=design-number&gt; ...\",\"arguments\":[{\"name\":\"DESIGN\",\"optional\":true,\"description\":\"Lists the actual points in the selected design.\",\"type\":\"standalone\"},{\"name\":\"INFORMATION\",\"optional\":true,\"aliases\":[\"INFO\"],\"description\":\"Lists the information matrix X'X for the selected design.\",\"type\":\"standalone\"},{\"name\":\"NUMBER=\",\"optional\":true,\"description\":\"Selects a design to examine by specifying its design-number.\",\"help\":\"NUMBER=*design-number*\",\"type\":\"value\"},{\"name\":\"VARIANCE\",\"optional\":true,\"aliases\":[\"VAR\"],\"description\":\"Lists the variance matrix (X'X)⁻¹ for the parameter estimates for the selected design.\",\"type\":\"standalone\"}]},{\"name\":\"GENERATE\",\"description\":\"You use the GENERATE statement to customize the search for a design.\",\"help\":\"GENERATE &lt;AUGMENT=SAS-data-set&gt;&lt;CRITERION=&lt;D | A | U&gt;... &gt;&lt;INITDESIGN=&lt;SEQUENTIAL | RANDOM | PARTIAL&gt;... &gt; ...\",\"arguments\":[{\"name\":\"AUGMENT=\",\"optional\":true,\"description\":\"Specifies a data set that contains a design to be augmented---in other words, a set of points that must be contained in the design generated.\",\"help\":\"AUGMENT=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"CRITERION=\",\"optional\":true,\"description\":\"Specifies the optimality criterion used in the search.\",\"help\":\"CRITERION=D | A | U | S\",\"type\":\"choice\",\"arguments\":[{\"name\":\"D\",\"description\":\"Specifies D-optimality.\",\"type\":\"standalone\"},{\"name\":\"A\",\"description\":\"Specifies A-optimality.\",\"type\":\"standalone\"},{\"name\":\"U\",\"description\":\"Specifies U-optimality.\",\"type\":\"standalone\"},{\"name\":\"S\",\"description\":\"Specifies S-optimality.\",\"type\":\"standalone\"}]},{\"name\":\"INITDESIGN=\",\"optional\":true,\"description\":\"Specifies a method for obtaining an initial design for the search procedure.\",\"help\":\"INITDESIGN=SEQUENTIAL | RANDOM | PARTIAL | &lt;*SAS-data-set*&gt;\",\"type\":\"choice\",\"arguments\":[{\"name\":\"SEQUENTIAL\",\"description\":\"Specifies an initial design chosen by a sequential search.\",\"type\":\"standalone\"},{\"name\":\"RANDOM\",\"description\":\"Specifies a completely random initial design.\",\"type\":\"standalone\"},{\"name\":\"PARTIAL\",\"description\":\"Syntax: PARTIAL<(m)> Specifies an initial design by using a mixture of RANDOM and SEQUENTIAL methods. A small number nr of points for the initial design are chosen at random from the candidates, and the rest of the design points are chosen by a sequential search. You can specify the optional integer n to modify the selection of nr.\",\"type\":\"standalone\"},{\"name\":\"SAS-data-set\",\"placeholder\":true,\"description\":\"Specifies a data set that holds the initial design.\",\"type\":\"dataSet\"}]},{\"name\":\"ITER=\",\"optional\":true,\"description\":\"Specifies the number n of searches to make. Because local optima are common in difficult search problems, it is often a good idea to make several tries for the optimal design with a random or partially random method of initialization (see the INITDESIGN= option). By default, n = 10. The n designs found are sorted by their respective efficiencies according to the current optimality criterion (see the CRITERION=option.) The most efficient design is assigned a design-number of 1, the second most efficient design is assigned a design-number of 2, and so on. You can then use the design-number in the EXAMINE and OUTPUT statements to display the characteristics of a design or to save a design in a data set.\",\"help\":\"ITER=*n*\",\"type\":\"value\"},{\"name\":\"KEEP=\",\"optional\":true,\"description\":\"Specifies that only the best m designs are to be retained. The value m must be less than or equal to the value n of the ITER= option. By default m=n, so that all iterations are kept. This option is useful when you want to make many searches to overcome the problem of local optima but are interested only in the results of the best m designs.\",\"help\":\"KEEP=*m*\",\"type\":\"value\"},{\"name\":\"METHOD=\",\"optional\":true,\"description\":\"Specifies the procedure used to search for the optimal design.\",\"help\":\"METHOD=DETMAX | EXCHANGE | FEDOROV | M_FEDOROV | SEQUENTIAL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DETMAX\",\"description\":\"Syntax: DETMAX<(level)> The optional level gives the maximum excursion level for the search, where level is an integer greater than or equal to 1.\",\"type\":\"standalone\"},{\"name\":\"EXCHANGE\",\"description\":\"Syntax: EXCHANGE<(k)> The optional k specifies the k-exchange search method of Johnson and Nachtsheim (1983), which generalizes the modified Fedorov search algorithm of Cook and Nachtsheim (1980). Enclose the value of k in parentheses immediately following the word EXCHANGE.\",\"type\":\"standalone\"},{\"name\":\"FEDOROV\",\"description\":\"Fedorov search algorithm\",\"type\":\"standalone\"},{\"name\":\"M_FEDOROV\",\"description\":\"Modified Fedorov search algorithm\",\"type\":\"standalone\"},{\"name\":\"SEQUENTIAL\",\"description\":\"Sequential search algorithm\",\"type\":\"standalone\"}]},{\"name\":\"N=\",\"optional\":true,\"description\":\"Specifies the number of points in the final design. The default design size is 10 + p, where p is the number of parameters in the model.\",\"help\":\"N=*n* | SATURATED\",\"type\":\"choice\",\"arguments\":[{\"name\":\"n\",\"placeholder\":true,\"description\":\"Specifies the number of points in the final design.\",\"type\":\"value\"},{\"name\":\"SATURATED\",\"description\":\"Specifies to search for a design with the same number of points as there are parameters in the model.\",\"type\":\"standalone\"}]}]},{\"name\":\"ID\",\"description\":\"You use the ID statement to name the variables in the DATA= data set that are not involved in the model but are to be transferred from the input data set to the output data set.\",\"help\":\"ID variables \"},{\"name\":\"MODEL\",\"description\":\"You use the MODEL statement to specify the independent effects used to model data that are to be collected with the design that is being constructed.\",\"help\":\"MODEL &lt;NOINT&gt;&lt;PRIOR=num-list&gt;\",\"arguments\":[{\"name\":\"NOINT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Excludes the intercept parameter from the model.\",\"type\":\"standalone\"},{\"name\":\"PRIOR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies prior precision values corresponding to groups of effects in the model. Groups of effects in the MODEL statement with the same prior precision must be separated by commas. Then use the PRIOR= option, listing as many prior precision values as there are groups of effects.\",\"help\":\"PRIOR=*num-list*\",\"type\":\"value\"}]},{\"name\":\"OUTPUT\",\"description\":\"You use the OUTPUT statement to save a design in an output data set.\",\"help\":\"OUTPUT &lt;BLOCKNAME=variable-name&gt;&lt;NUMBER=&lt;DBEST | ABEST | GBEST&gt;... &gt; OUT=SAS-data-set ...\",\"arguments\":[{\"name\":\"OUT=\",\"description\":\"Gives a name for the output data set. The OUT= data set is required in the OUTPUT statement.\",\"help\":\"OUT=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"BLOCKNAME=\",\"optional\":true,\"description\":\"Specifies the name to be given to the blocking variable in the output data set. The default name is BLOCK.\",\"help\":\"BLOCKNAME=*variable-name*\",\"type\":\"value\"},{\"name\":\"NUMBER=\",\"optional\":true,\"description\":\"Selects a design to output by specifying its design-number. Designs are ordered by the value of the efficiency criterion that is being optimized.\",\"help\":\"NUMBER=DBEST | ABEST | GBEST | VBEST\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DBEST\",\"description\":\"Selects the design that has the highest D-efficiency value.\",\"type\":\"standalone\"},{\"name\":\"ABEST\",\"description\":\"Selects the design that has the highest A-efficiency value.\",\"type\":\"standalone\"},{\"name\":\"GBEST\",\"description\":\"Selects the design that has the highest G-efficiency value.\",\"type\":\"standalone\"},{\"name\":\"VBEST\",\"description\":\"Selects the design that has the minimum average standard error for prediction.\",\"type\":\"standalone\"}]}]}],\"supportSiteInformation\":{\"docsetId\":\"qcug\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"qcug_optex_toc.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/OPTGRAPH.json",
    "content": "{\"name\":\"OPTGRAPH\",\"statements\":[{\"name\":\"PROC OPTGRAPH\",\"description\":\"The OPTGRAPH procedure can be used to analyze relationships between entities. These relationships are typically defined by using a graph.\",\"help\":\"PROC OPTGRAPH <options>;\\n\\tBICONCOMP <option>;    \\n\\n\\tCENTRALITY <options>;    \\n\\n\\tCLIQUE <options>;    \\n\\n\\tCOMMUNITY <options>;    \\n\\n\\tCONCOMP <options>;    \\n\\n\\tCORE <options>;    \\n\\n\\tCYCLE <options>;    \\n\\n\\tDATA_LINKS_VAR <options>;    \\n\\n\\tDATA_MATRIX_VAR <column1,column2,...>;    \\n\\n\\tDATA_NODES_VAR <options>;    \\n\\n\\tEIGENVECTOR <options>;    \\n\\n\\tLINEAR_ASSIGNMENT <options>;    \\n\\n\\tMINCOSTFLOW <options>;    \\n\\n\\tMINCUT <options>;    \\n\\n\\tMINSPANTREE <options>;    \\n\\n\\tPERFORMANCE <options>;    \\n\\n\\tREACH <options>;    \\n\\n\\tSHORTPATH <options>;    \\n\\n\\tSUMMARY <options>;    \\n\\n\\tTRANSITIVE_CLOSURE <options>;    \\n\\n\\tTSP <options>;    \\n\",\"arguments\":[{\"name\":\"DATA_LINKS=\",\"optional\":true,\"aliases\":[\"LINKS=\"],\"description\":\"specifies the input data set that contains the graph link information, where the links are defined as a list.\",\"help\":\"DATA_LINKS=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"DATA_MATRIX=\",\"optional\":true,\"aliases\":[\"MATRIX=\"],\"description\":\"specifies the input data set that contains the matrix to be processed. This is a generic matrix (as opposed to an adjacency matrix, which defines an underlying graph).\",\"help\":\"DATA_MATRIX=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"DATA_NODES=\",\"optional\":true,\"aliases\":[\"NODES=\"],\"description\":\"specifies the input data set that contains the graph node information.\",\"help\":\"DATA_NODES=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"DATA_NODES_SUB=\",\"optional\":true,\"aliases\":[\"NODES_SUB=\"],\"description\":\"specifies the input data set that contains the graph node subset information.\",\"help\":\"DATA_NODES_SUB=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"FILTER_SUBGRAPH=\",\"optional\":true,\"description\":\"specifies the minimum number of nodes allowed in a subgraph when processing is decomposed by cluster. The default setting is 0, so nothing is filtered by default.\",\"help\":\"FILTER_SUBGRAPH=*number*\",\"type\":\"value\"},{\"name\":\"GRAPH_DIRECTION=\",\"optional\":true,\"aliases\":[\"DIRECTION=\"],\"description\":\"specifies whether the input graph should be considered directed or undirected. By default, GRAPH_DIRECTION=UNDIRECTED.\",\"help\":\"GRAPH_DIRECTION=DIRECTED | UNDIRECTED\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DIRECTED\",\"description\":\"specifies the graph as directed.\",\"type\":\"standalone\"},{\"name\":\"UNDIRECTED\",\"description\":\"specifies the graph as undirected.\",\"type\":\"standalone\"}]},{\"name\":\"GRAPH_INTERNAL_FORMAT=\",\"optional\":true,\"aliases\":[\"INTERNAL_FORMAT=\"],\"description\":\"requests the internal graph format for the algorithms to use. By default, GRAPH_INTERNAL_FORMAT=FULL.\",\"help\":\"GRAPH_INTERNAL_FORMAT=THIN | FULL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"THIN\",\"description\":\"stores the graph in thin format.\",\"type\":\"standalone\"},{\"name\":\"FULL\",\"description\":\"stores the graph in standard (full) format.\",\"type\":\"standalone\"}]},{\"name\":\"INCLUDE_SELFLINK\",\"optional\":true,\"description\":\"includes self links when an input graph is read. By default, when PROC OPTGRAPH reads the DATA_LINKS= data set, it removes all self links.\",\"type\":\"standalone\"},{\"name\":\"LOGLEVEL=\",\"optional\":true,\"description\":\"controls the amount of information that is displayed in the SAS log. By default, LOGLEVEL=BASIC.\",\"help\":\"LOGLEVEL=NONE | BASIC | MODERATE | AGGRESSIVE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NONE\",\"aliases\":[\"0\"],\"description\":\"turns off all procedure-related messages in the SAS log\",\"type\":\"standalone\"},{\"name\":\"BASIC\",\"aliases\":[\"1\"],\"description\":\"displays a basic summary of the input, output, and algorithmic processing\",\"type\":\"standalone\"},{\"name\":\"MODERATE\",\"aliases\":[\"2\"],\"description\":\"displays a summary of the input, output, and algorithmic processing\",\"type\":\"standalone\"},{\"name\":\"AGGRESSIVE\",\"aliases\":[\"3\"],\"description\":\"displays a detailed summary of the input, output, and algorithmic processing\",\"type\":\"standalone\"}]},{\"name\":\"OUT_LINKS=\",\"optional\":true,\"description\":\"specifies the output data set to contain the graph link information along with any results from the various algorithms that calculate metrics on links.\",\"help\":\"OUT_LINKS=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"OUT_NODES=\",\"optional\":true,\"description\":\"specifies the output data set to contain the graph node information along with any results from the various algorithms that calculate metrics on nodes.\",\"help\":\"OUT_NODES=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"STANDARDIZED_LABELS\",\"optional\":true,\"description\":\"specifies that the input graph data is in a standardized format described in section Standardized Labels.\",\"type\":\"standalone\"},{\"name\":\"TIMETYPE=\",\"optional\":true,\"description\":\"specifies whether CPU time or real time is used for the MAXTIME= option for each applicable algorithm. By default, TIMETYPE=CPU.\",\"help\":\"TIMETYPE=CPU | REAL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"CPU\",\"aliases\":[\"0\"],\"description\":\"specifies units of CPU time\",\"type\":\"standalone\"},{\"name\":\"REAL\",\"aliases\":[\"1\"],\"description\":\"specifies units of real time\",\"type\":\"standalone\"}]}]},{\"name\":\"BICONCOMP\",\"description\":\"The BICONCOMP statement requests that PROC OPTGRAPH find biconnected components and articulation points of an undirected input graph.\",\"help\":\"BICONCOMP &lt;*option*&gt;;    \",\"arguments\":[{\"name\":\"LOGLEVEL=\",\"optional\":true,\"description\":\"controls the amount of information that is displayed in the SAS log. The default is the value that is specified in the LOGLEVEL= option in the PROC OPTGRAPH statement (or BASIC if that option is not specified).\",\"help\":\"LOGLEVEL=NONE | BASIC | MODERATE | AGGRESSIVE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NONE\",\"aliases\":[\"0\"],\"description\":\"turns off all algorithm-related messages in the SAS log\",\"type\":\"standalone\"},{\"name\":\"BASIC\",\"aliases\":[\"1\"],\"description\":\"displays a basic summary of the algorithmic processing\",\"type\":\"standalone\"},{\"name\":\"MODERATE\",\"aliases\":[\"2\"],\"description\":\"displays a summary of the algorithmic processing\",\"type\":\"standalone\"},{\"name\":\"AGGRESSIVE\",\"aliases\":[\"3\"],\"description\":\"displays a detailed summary of the algorithmic processing\",\"type\":\"standalone\"}]}]},{\"name\":\"CENTRALITY\",\"description\":\"The CENTRALITY statement enables you to select which centrality metrics to calculate for the given input graph. It also enables you to specify options for particular metrics.\",\"help\":\"CENTRALITY &lt;*options*&gt;;    \",\"arguments\":[{\"name\":\"AUTH=\",\"optional\":true,\"description\":\"specifies which type of authority centrality to calculate.\",\"help\":\"AUTH=WEIGHT | UNWEIGHT | BOTH\",\"type\":\"choice\",\"arguments\":[{\"name\":\"WEIGHT\",\"description\":\"calculates authority centrality based on the weighted graph.\",\"type\":\"standalone\"},{\"name\":\"UNWEIGHT\",\"description\":\"calculates authority centrality based on the unweighted graph.\",\"type\":\"standalone\"},{\"name\":\"BOTH\",\"description\":\"calculates authority centrality based on both weighted and unweighted graphs.\",\"type\":\"standalone\"}]},{\"name\":\"BETWEEN=\",\"optional\":true,\"description\":\"specifies which type of betweenness centrality to calculate.\",\"help\":\"BETWEEN=WEIGHT | UNWEIGHT | BOTH\",\"type\":\"choice\",\"arguments\":[{\"name\":\"WEIGHT\",\"description\":\"calculates betweenness centrality based on the weighted graph.\",\"type\":\"standalone\"},{\"name\":\"UNWEIGHT\",\"description\":\"calculates betweenness centrality based on the unweighted graph.\",\"type\":\"standalone\"},{\"name\":\"BOTH\",\"description\":\"calculates betweenness centrality based on both weighted and unweighted graphs.\",\"type\":\"standalone\"}]},{\"name\":\"BETWEEN_NORM=\",\"optional\":true,\"description\":\"specifies whether to normalize the betweenness centrality metrics. By default, BETWEEN_NORM=YES.\",\"help\":\"BETWEEN_NORM=YES | NO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YES\",\"description\":\"normalizes the betweenness metrics.\",\"type\":\"standalone\"},{\"name\":\"NO\",\"description\":\"does not normalize the betweenness metrics.\",\"type\":\"standalone\"}]},{\"name\":\"BY_CLUSTER\",\"optional\":true,\"description\":\"decomposes the calculations by cluster (or subgraph).\",\"type\":\"standalone\"},{\"name\":\"CLOSE=\",\"optional\":true,\"description\":\"specifies which type of closeness centrality to calculate.\",\"help\":\"CLOSE=WEIGHT | UNWEIGHT | BOTH\",\"type\":\"choice\",\"arguments\":[{\"name\":\"WEIGHT\",\"description\":\"calculates closeness centrality based on the weighted graph.\",\"type\":\"standalone\"},{\"name\":\"UNWEIGHT\",\"description\":\"calculates closeness centrality based on the unweighted graph.\",\"type\":\"standalone\"},{\"name\":\"BOTH\",\"description\":\"calculates closeness centrality based on both weighted and unweighted graphs.\",\"type\":\"standalone\"}]},{\"name\":\"CLOSE_NOPATH=\",\"optional\":true,\"description\":\"specifies a method for accounting for a shortest path between two nodes when a path does not exist (disconnected nodes). By default, CLOSE_NOPATH=DIAMETER.\",\"help\":\"CLOSE_NOPATH=NNODES | DIAMETER | ZERO | HARMONIC\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NNODES\",\"description\":\"uses the number of nodes as a shortest path between disconnected nodes.\",\"type\":\"standalone\"},{\"name\":\"DIAMETER\",\"description\":\"uses the graph diameter (plus one) as a shortest path between disconnected nodes.\",\"type\":\"standalone\"},{\"name\":\"ZERO\",\"description\":\"uses zero as a shortest path between disconnected nodes.\",\"type\":\"standalone\"},{\"name\":\"HARMONIC\",\"description\":\"uses the harmonic formula for calculating closeness centrality.\",\"type\":\"standalone\"}]},{\"name\":\"CLUSTERING_COEF\",\"optional\":true,\"description\":\"calculates the node clustering coefficient.\",\"type\":\"standalone\"},{\"name\":\"DEGREE=\",\"optional\":true,\"description\":\"specifies which type of degree centrality to calculate for the input graph.\",\"help\":\"DEGREE=IN | OUT | BOTH\",\"type\":\"choice\",\"arguments\":[{\"name\":\"IN\",\"description\":\"calculates degree based on in-links.\",\"type\":\"standalone\"},{\"name\":\"OUT\",\"description\":\"calculates degree based on out-links.\",\"type\":\"standalone\"},{\"name\":\"BOTH\",\"description\":\"calculates degree based on in-links and out-links.\",\"type\":\"standalone\"}]},{\"name\":\"EIGEN=\",\"optional\":true,\"description\":\"specifies which type of eigenvector centrality to calculate.\",\"help\":\"EIGEN=WEIGHT | UNWEIGHT | BOTH\",\"type\":\"choice\",\"arguments\":[{\"name\":\"WEIGHT\",\"description\":\"calculates eigenvector centrality based on the weighted graph.\",\"type\":\"standalone\"},{\"name\":\"UNWEIGHT\",\"description\":\"calculates centrality based on the unweighted graph.\",\"type\":\"standalone\"},{\"name\":\"BOTH\",\"description\":\"calculates centrality based on both weighted and unweighted graphs.\",\"type\":\"standalone\"}]},{\"name\":\"EIGEN_ALGORITHM=\",\"optional\":true,\"description\":\"specifies the algorithm to use in calculating centrality metrics that require solving eigensystems (EIGEN, HUB, and AUTH). By default, EIGEN_ALGORITHM=AUTOMATIC.\",\"help\":\"EIGEN_ALGORITHM=AUTOMATIC | JACOBI_DAVIDSON | POWER\",\"type\":\"choice\",\"arguments\":[{\"name\":\"AUTOMATIC\",\"description\":\"requests that PROC OPTGRAPH automatically determine the eigensolver to use.\",\"type\":\"standalone\"},{\"name\":\"JACOBI_DAVIDSON\",\"description\":\"uses a variant of the Jacobi-Davidson algorithm for solving eigensystems (Sleijpen and van der Vorst 2000).\",\"help\":\"JACOBI_DAVIDSON (JD)\",\"type\":\"standalone\"},{\"name\":\"POWER\",\"description\":\"uses the power method to calculate eigenvectors.\",\"type\":\"standalone\"}]},{\"name\":\"EIGEN_MAXITER=\",\"optional\":true,\"description\":\"specifies the maximum number of iterations to use for eigenvector calculations to limit the amount of computation time spent when convergence is slow. By default, EIGEN_MAXITER=10,000.\",\"help\":\"EIGEN_MAXITER=*number*\",\"type\":\"value\"},{\"name\":\"HUB=\",\"optional\":true,\"description\":\"specifies which type of hub centrality to calculate.\",\"help\":\"HUB=WEIGHT | UNWEIGHT | BOTH\",\"type\":\"choice\",\"arguments\":[{\"name\":\"WEIGHT\",\"description\":\"calculates hub centrality based on the weighted graph.\",\"type\":\"standalone\"},{\"name\":\"UNWEIGHT\",\"description\":\"calculates hub centrality based on the unweighted graph.\",\"type\":\"standalone\"},{\"name\":\"BOTH\",\"description\":\"calculates hub centrality based on both weighted and unweighted graphs.\",\"type\":\"standalone\"}]},{\"name\":\"INFLUENCE=\",\"optional\":true,\"description\":\"specifies which type of influence centrality to calculate.\",\"help\":\"INFLUENCE=WEIGHT | UNWEIGHT | BOTH\",\"type\":\"choice\",\"arguments\":[{\"name\":\"WEIGHT\",\"description\":\"calculates influence centrality based on the weighted graph.\",\"type\":\"standalone\"},{\"name\":\"UNWEIGHT\",\"description\":\"calculates influence centrality based on the unweighted graph.\",\"type\":\"standalone\"},{\"name\":\"BOTH\",\"description\":\"calculates influence centrality based on both weighted and unweighted graphs.\",\"type\":\"standalone\"}]},{\"name\":\"LOGFREQNODE=\",\"optional\":true,\"description\":\"controls the frequency for displaying iteration logs for some of the centrality metrics. The value of number can be any integer greater than or equal to 1; the default is determined automatically based on the size of the graph.\",\"help\":\"LOGFREQNODE=*number*\",\"type\":\"value\"},{\"name\":\"LOGFREQTIME=\",\"optional\":true,\"description\":\"controls the frequency for displaying iteration logs for some of the centrality metrics. The value of number can be any integer greater than or equal to 1; the default is 5.\",\"help\":\"LOGFREQTIME=*number*\",\"type\":\"value\"},{\"name\":\"LOGLEVEL=\",\"optional\":true,\"description\":\"controls the amount of information that is displayed in the SAS log. The default is the value that is specified in the LOGLEVEL= option in the PROC OPTGRAPH statement (or BASIC if that option is not specified).\",\"help\":\"LOGLEVEL=NONE | BASIC | MODERATE | AGGRESSIVE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NONE\",\"aliases\":[\"0\"],\"description\":\"turns off all algorithm-related messages in the SAS log.\",\"type\":\"standalone\"},{\"name\":\"BASIC\",\"aliases\":[\"1\"],\"description\":\"displays a basic summary of the algorithmic processing.\",\"type\":\"standalone\"},{\"name\":\"MODERATE\",\"aliases\":[\"2\"],\"description\":\"displays a summary of the algorithmic processing including a progress log using the interval that is specified in the LOGFREQNODE= or LOGFREQTIME= option.\",\"type\":\"standalone\"},{\"name\":\"AGGRESSIVE\",\"aliases\":[\"3\"],\"description\":\"displays a detailed summary of the algorithmic processing including a progress log using the interval that is specified in the LOGFREQNODE= or LOGFREQTIME= option.\",\"type\":\"standalone\"}]},{\"name\":\"SUBSIZESWITCH=\",\"optional\":true,\"description\":\"specifies the size of the subgraphs (number of nodes) to run separately when you also specify the BY_CLUSTER option in this statement and a value greater than 1 for the NTHREADS= option in the PERFORMANCE statement. The default is 10,000.\",\"help\":\"SUBSIZESWITCH=*number*\",\"type\":\"value\"},{\"name\":\"WEIGHT2=\",\"optional\":true,\"description\":\"specifies the data set variable name for a second link weight.\",\"help\":\"WEIGHT2=*column*\",\"type\":\"value\"}]},{\"name\":\"CLIQUE\",\"description\":\"The CLIQUE statement invokes an algorithm that finds maximal cliques on the input graph.\",\"help\":\"CLIQUE &lt;*options*&gt;;    \",\"arguments\":[{\"name\":\"LOGLEVEL=\",\"optional\":true,\"description\":\"controls the amount of information that is displayed in the SAS log. The default is the value that is specified in the LOGLEVEL= option in the PROC OPTGRAPH statement (or BASIC if that option is not specified).\",\"help\":\"LOGLEVEL=NONE | BASIC | MODERATE | AGGRESSIVE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NONE\",\"aliases\":[\"0\"],\"description\":\"turns off all algorithm-related messages in the SAS log\",\"type\":\"standalone\"},{\"name\":\"BASIC\",\"aliases\":[\"1\"],\"description\":\"displays a basic summary of the algorithmic processing\",\"type\":\"standalone\"},{\"name\":\"MODERATE\",\"aliases\":[\"2\"],\"description\":\"displays a summary of the algorithmic processing\",\"type\":\"standalone\"},{\"name\":\"AGGRESSIVE\",\"aliases\":[\"3\"],\"description\":\"displays a detailed summary of the algorithmic processing\",\"type\":\"standalone\"}]},{\"name\":\"MAXCLIQUES=\",\"optional\":true,\"description\":\"specifies the maximum number of cliques to return during clique calculations. The default is the positive number that has the largest absolute value that can be represented in your operating environment.\",\"help\":\"MAXCLIQUES=*number*\",\"type\":\"value\"},{\"name\":\"MAXTIME=\",\"optional\":true,\"description\":\"specifies the maximum amount of time to spend calculating cliques. The value of number can be any positive number; the default value is the positive number that has the largest absolute value that can be represented in your operating environment.\",\"help\":\"MAXTIME=*number*\",\"type\":\"value\"},{\"name\":\"OUT=\",\"optional\":true,\"description\":\"specifies the output data set to contain the maximal cliques.\",\"help\":\"OUT=*SAS-data-set*\",\"type\":\"dataSet\"}]},{\"name\":\"COMMUNITY\",\"description\":\"The COMMUNITY statement invokes an algorithm that detects communities of the input graph.\",\"help\":\"COMMUNITY &lt;*options*&gt;;    \",\"arguments\":[{\"name\":\"ALGORITHM=\",\"optional\":true,\"description\":\"specifies whether to use the Louvain algorithm (LOUVAIN), the label propagation algorithm (LABEL_PROP), or the parallel label propagation algorithm (PARALLEL_LABEL_PROP). The Louvain algorithm is the default.\",\"help\":\"ALGORITHM=LOUVAIN | LABEL_PROP | PARALLEL_LABEL_PROP\",\"type\":\"choice\",\"arguments\":[{\"name\":\"LOUVAIN\",\"type\":\"standalone\"},{\"name\":\"LABEL_PROP\",\"type\":\"standalone\"},{\"name\":\"PARALLEL_LABEL_PROP\",\"type\":\"standalone\"}]},{\"name\":\"LINK_REMOVAL_RATIO=\",\"optional\":true,\"description\":\"defines the percentage of small-weight links to be removed around each node neighborhood. The valid range is between 0 and 100. The default value is 10.\",\"help\":\"LINK_REMOVAL_RATIO=*number*\",\"type\":\"value\"},{\"name\":\"LOGLEVEL=\",\"optional\":true,\"description\":\"controls the amount of information that is displayed in the SAS log. The default is the value that you specify in the LOGLEVEL= option in the PROC OPTGRAPH statement (or BASIC if that option is not specified).\",\"help\":\"LOGLEVEL=NONE | BASIC | MODERATE | AGGRESSIVE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NONE\",\"aliases\":[\"0\"],\"description\":\"turns off all algorithm-related messages in the SAS log\",\"type\":\"standalone\"},{\"name\":\"BASIC\",\"aliases\":[\"1\"],\"description\":\"displays a basic summary of the algorithmic processing\",\"type\":\"standalone\"},{\"name\":\"MODERATE\",\"aliases\":[\"2\"],\"description\":\"displays a summary of the algorithmic processing\",\"type\":\"standalone\"},{\"name\":\"AGGRESSIVE\",\"aliases\":[\"3\"],\"description\":\"displays a detailed summary of the algorithmic processing\",\"type\":\"standalone\"}]},{\"name\":\"MAXITER=\",\"optional\":true,\"description\":\"specifies the maximum number of iterations allowed in the algorithm. The default is 20 when ALGORITHM=LOUVAIN and 100 when ALGORITHM=LABEL_PROP or ALGORITHM=PARALLEL_LABEL_PROP.\",\"help\":\"MAXITER=*number*\",\"type\":\"value\"},{\"name\":\"OUT_COMM_LINKS=\",\"optional\":true,\"description\":\"specifies the output data set that describes the links between communities.\",\"help\":\"OUT_COMM_LINKS=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"OUT_COMMUNITY=\",\"optional\":true,\"description\":\"specifies the output data set that contains the number of nodes in each community.\",\"help\":\"OUT_COMMUNITY=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"OUT_LEVEL=\",\"optional\":true,\"description\":\"specifies the output data set that contains community information at different resolution levels.\",\"help\":\"OUT_LEVEL=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"OUT_OVERLAP=\",\"optional\":true,\"description\":\"specifies the output data set that describes the intensity of each node.\",\"help\":\"OUT_OVERLAP=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"RANDOM_FACTOR=\",\"optional\":true,\"description\":\"specifies the random factor for the parallel label propagation algorithm. Specify a number between 0 and 1. The default is 0.15, which means that 15% of nodes skip the label propagation step at each iteration.\",\"help\":\"RANDOM_FACTOR=*number*\",\"type\":\"value\"},{\"name\":\"RANDOM_SEED=\",\"optional\":true,\"description\":\"specifies the random seed for the parallel label propagation algorithm. By default, RANDOM_SEED=1234.\",\"help\":\"RANDOM_SEED=*number*\",\"type\":\"value\"},{\"name\":\"RECURSIVE\",\"optional\":true,\"description\":\"requests that the algorithm recursively break down large communities into smaller ones until the specified conditions are satisfied.\",\"help\":\"RECURSIVE (*options*)\",\"type\":\"value\",\"arguments\":[{\"name\":\"MAX_COMM_SIZE=\",\"description\":\"specifies the maximum number of nodes to be contained in any community.\",\"type\":\"value\"},{\"name\":\"MAX_DIAMETER=\",\"description\":\"specifies the maximum number of links on the shortest paths between any pair of nodes in any community.\",\"type\":\"value\"},{\"name\":\"RELATION=\",\"description\":\"Specifies the relationship between the values of MAX_COMM_SIZE= and MAX_DIAMETER= options.\",\"type\":\"value\"}]},{\"name\":\"RESOLUTION_LIST=\",\"optional\":true,\"description\":\"specifies a list of resolution values that are separated by spaces. The OPTGRAPH procedure interprets the RESOLUTION_LIST= option differently depending on the value of the ALGORITHM= option.\",\"help\":\"RESOLUTION_LIST=*num_list*\",\"type\":\"value\"},{\"name\":\"TOLERANCE=\",\"optional\":true,\"aliases\":[\"MODULARITY=\"],\"description\":\"specifies the tolerance value for when to stop iterations. The valid range is strictly between 0 and 1. By default, TOLERANCE=0.01.\",\"help\":\"TOLERANCE=*number*\",\"type\":\"value\"}]},{\"name\":\"CONCOMP\",\"description\":\"The CONCOMP statement invokes an algorithm that finds the connected components of the input graph.\",\"help\":\"CONCOMP &lt;*options*&gt;;    \",\"arguments\":[{\"name\":\"ALGORITHM=\",\"optional\":true,\"description\":\"specifies the algorithm to use for calculating connected components. By default, ALGORITHM=UNION_FIND for undirected graphs, and ALGORITHM=DFS for directed graphs.\",\"help\":\"ALGORITHM=DFS | UNION_FIND\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DFS\",\"description\":\"uses the depth-first search algorithm for connected components.\",\"type\":\"standalone\"},{\"name\":\"UNION_FIND\",\"description\":\"uses the union-find algorithm for connected components.\",\"type\":\"standalone\"}]},{\"name\":\"LOGLEVEL=\",\"optional\":true,\"description\":\"controls the amount of information that is displayed in the SAS log. The default is the value that is specified in the LOGLEVEL= option in the PROC OPTGRAPH statement (or BASIC if that option is not specified).\",\"help\":\"LOGLEVEL=NONE | BASIC | MODERATE | AGGRESSIVE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NONE\",\"aliases\":[\"0\"],\"description\":\"turns off all algorithm-related messages in the SAS log.\",\"type\":\"standalone\"},{\"name\":\"BASIC\",\"aliases\":[\"1\"],\"description\":\"displays a basic summary of the algorithmic processing\",\"type\":\"standalone\"},{\"name\":\"MODERATE\",\"aliases\":[\"2\"],\"description\":\"displays a summary of the algorithmic processing\",\"type\":\"standalone\"},{\"name\":\"AGGRESSIVE\",\"aliases\":[\"3\"],\"description\":\"displays a detailed summary of the algorithmic processing\",\"type\":\"standalone\"}]}]},{\"name\":\"CORE\",\"description\":\"The CORE statement invokes an algorithm that finds the core decomposition of the input graph.\",\"help\":\"CORE &lt;*options*&gt;;    \",\"arguments\":[{\"name\":\"LINKS=\",\"optional\":true,\"description\":\"specifies which type of cores to calculate for a directed graph. You can choose to calculate the cores based on in-links (IN), out-links (OUT), or both (BOTH). For an undirected graph, core applies only to out-links. By default, LINKS=OUT.\",\"help\":\"LINKS=IN | OUT | BOTH\",\"type\":\"choice\",\"arguments\":[{\"name\":\"IN\",\"description\":\"calculates core based on in-links.\",\"type\":\"standalone\"},{\"name\":\"OUT\",\"description\":\"calculates core based on out-links.\",\"type\":\"standalone\"},{\"name\":\"BOTH\",\"description\":\"calculates core based on in-links and out-links.\",\"type\":\"standalone\"}]},{\"name\":\"LOGLEVEL=\",\"optional\":true,\"description\":\"controls the amount of information that is displayed in the SAS log. The default is the value that is specified in the LOGLEVEL= option in the PROC OPTGRAPH statement (or BASIC if that option is not specified).\",\"help\":\"LOGLEVEL=NONE | BASIC | MODERATE | AGGRESSIVE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NONE\",\"aliases\":[\"0\"],\"description\":\"turns off all algorithm-related messages in the SAS log\",\"type\":\"standalone\"},{\"name\":\"BASIC\",\"aliases\":[\"1\"],\"description\":\"displays a basic summary of the algorithmic processing\",\"type\":\"standalone\"},{\"name\":\"MODERATE\",\"aliases\":[\"2\"],\"description\":\"displays a summary of the algorithmic processing\",\"type\":\"standalone\"},{\"name\":\"AGGRESSIVE\",\"aliases\":[\"3\"],\"description\":\"displays a detailed summary of the algorithmic processing\",\"type\":\"standalone\"}]},{\"name\":\"MAXTIME=\",\"optional\":true,\"description\":\"specifies the maximum amount of time to spend in the core decomposition algorithm. The value of number can be any positive number; the default value is the positive number that has the largest absolute value that can be represented in your operating environment.\",\"help\":\"MAXTIME=*number*\",\"type\":\"value\"}]},{\"name\":\"CYCLE\",\"description\":\"The CYCLE statement invokes an algorithm that finds the cycles (or the existence of a cycle) in the input graph.\",\"help\":\"CYCLE &lt;*options*&gt;;    \",\"arguments\":[{\"name\":\"LOGLEVEL=\",\"optional\":true,\"description\":\"controls the amount of information that is displayed in the SAS log. The default is the value that is specified in the LOGLEVEL= option in the PROC OPTGRAPH statement (or BASIC if that option is not specified).\",\"help\":\"LOGLEVEL=NONE | BASIC | MODERATE | AGGRESSIVE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NONE\",\"aliases\":[\"0\"],\"description\":\"turns off all algorithm-related messages in the SAS log\",\"type\":\"standalone\"},{\"name\":\"BASIC\",\"aliases\":[\"1\"],\"description\":\"displays a basic summary of the algorithmic processing\",\"type\":\"standalone\"},{\"name\":\"MODERATE\",\"aliases\":[\"2\"],\"description\":\"displays a summary of the algorithmic processing\",\"type\":\"standalone\"},{\"name\":\"AGGRESSIVE\",\"aliases\":[\"3\"],\"description\":\"displays a detailed summary of the algorithmic processing\",\"type\":\"standalone\"}]},{\"name\":\"MAXCYCLES=\",\"optional\":true,\"description\":\"specifies the maximum number of cycles to return. The default is the positive number that has the largest absolute value representable in your operating environment.\",\"help\":\"MAXCYCLES=*number*\",\"type\":\"value\"},{\"name\":\"MAXLENGTH=\",\"optional\":true,\"description\":\"specifies the maximum number of links to allow in a cycle. The default is the positive number that has the largest absolute value that can be represented in your operating environment. By default, nothing is removed from the results.\",\"help\":\"MAXLENGTH=*number*\",\"type\":\"value\"},{\"name\":\"MAXLINKWEIGHT=\",\"optional\":true,\"description\":\"specifies the maximum sum of link weights to allow in a cycle. The default is the positive number that has the largest absolute value that can be represented in your operating environment. By default, nothing is filtered.\",\"help\":\"MAXLINKWEIGHT=*number*\",\"type\":\"value\"},{\"name\":\"MAXNODEWEIGHT=\",\"optional\":true,\"description\":\"specifies the maximum sum of node weights to allow in a cycle. The default is the positive number that has the largest absolute value that can be represented in your operating environment. By default, nothing is filtered.\",\"help\":\"MAXNODEWEIGHT=*number*\",\"type\":\"value\"},{\"name\":\"MAXTIME=\",\"optional\":true,\"description\":\"specifies the maximum amount of time to spend finding cycles. The value of number can be any positive number; the default value is the positive number that has the largest absolute value that can be represented in your operating environment.\",\"help\":\"MAXTIME=*number*\",\"type\":\"value\"},{\"name\":\"MINLENGTH=\",\"optional\":true,\"description\":\"specifies the minimum number of links to allow in a cycle. By default MINLENGTH=1 and nothing is filtered.\",\"help\":\"MINLENGTH=*number*\",\"type\":\"value\"},{\"name\":\"MINLINKWEIGHT=\",\"optional\":true,\"description\":\"specifies the minimum sum of link weights to allow in a cycle. The default is the negative number that has the largest absolute value that can be represented in your operating environment. By default, nothing is filtered.\",\"help\":\"MINLINKWEIGHT=*number*\",\"type\":\"value\"},{\"name\":\"MINNODEWEIGHT=\",\"optional\":true,\"description\":\"specifies the minimum sum of node weights to allow in a cycle. The default is the negative number that has the largest absolute value that can be represented in your operating environment. By default, nothing is filtered.\",\"help\":\"MINNODEWEIGHT=*number*\",\"type\":\"value\"},{\"name\":\"MODE=\",\"optional\":true,\"description\":\"specifies the mode for processing cycles. By default, MODE=FIRST_CYCLE.\",\"help\":\"MODE=ALL_CYCLES | FIRST_CYCLE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ALL_CYCLES\",\"description\":\"returns all (unique, elementary) cycles found.\",\"type\":\"standalone\"},{\"name\":\"FIRST_CYCLE\",\"description\":\"returns the first cycle found.\",\"type\":\"standalone\"}]},{\"name\":\"OUT=\",\"optional\":true,\"description\":\"specifies the output data set to contain the cycles found.\",\"help\":\"OUT=*SAS-data-set*\",\"type\":\"dataSet\"}]},{\"name\":\"DATA_LINKS_VAR\",\"aliases\":[\"LINKS_VAR\"],\"description\":\"The DATA_LINKS_VAR statement enables you to explicitly define the data set variable names for PROC OPTGRAPH to use when it reads the data set that is specified in the DATA_LINKS= option in the PROC OPTGRAPH statement.\",\"help\":\"DATA_LINKS_VAR &lt;*options*&gt;;    \",\"arguments\":[{\"name\":\"FROM=\",\"optional\":true,\"description\":\"specifies the data set variable name forfrom nodes.\",\"help\":\"FROM=*column*\",\"type\":\"value\"},{\"name\":\"LOWER=\",\"optional\":true,\"description\":\"specifies the data set variable name for link flow lower bounds.\",\"help\":\"LOWER=*column*\",\"type\":\"value\"},{\"name\":\"TO=\",\"optional\":true,\"description\":\"specifies the data set variable name for to node.\",\"help\":\"TO=*column*\",\"type\":\"value\"},{\"name\":\"UPPER=\",\"optional\":true,\"description\":\"specifies the data set variable name for link flow upper bounds.\",\"help\":\"UPPER=*column*\",\"type\":\"value\"},{\"name\":\"WEIGHT=\",\"optional\":true,\"description\":\"specifies the data set variable name for link weights.\",\"help\":\"WEIGHT=*column*\",\"type\":\"value\"}]},{\"name\":\"DATA_MATRIX_VAR\",\"aliases\":[\"MATRIX_VAR\"],\"description\":\"The DATA_MATRIX_VAR statement enables you to explicitly define the data set variable names for PROC OPTGRAPH to use when it reads the data set that is specified in the DATA_MATRIX= option in the PROC OPTGRAPH statement.\",\"help\":\"DATA_MATRIX_VAR &lt;*column1,column2,...*&gt;;    \"},{\"name\":\"DATA_NODES_VAR\",\"aliases\":[\"NODES_VAR\"],\"description\":\"The DATA_NODES_VAR statement enables you to explicitly define the data set variable names for PROC OPTGRAPH to use when it reads the data set that is specified in the DATA_NODES= option in the PROC OPTGRAPH statement.\",\"help\":\"DATA_NODES_VAR &lt;*options*&gt;;    \",\"arguments\":[{\"name\":\"CLUSTER=\",\"optional\":true,\"description\":\"specifies the data set variable name for clusters identifiers.\",\"help\":\"CLUSTER=*column*\",\"type\":\"value\"},{\"name\":\"NODE=\",\"optional\":true,\"description\":\"specifies the data set variable name for the nodes.\",\"help\":\"NODE=*column*\",\"type\":\"value\"},{\"name\":\"WEIGHT=\",\"optional\":true,\"description\":\"specifies the data set variable name for node weights.\",\"help\":\"WEIGHT=*column*\",\"type\":\"value\"},{\"name\":\"WEIGHT2=\",\"optional\":true,\"description\":\"specifies the data set variable name for auxiliary node weights.\",\"help\":\"WEIGHT2=*column*\",\"type\":\"value\"}]},{\"name\":\"EIGENVECTOR\",\"aliases\":[\"EIGEN\"],\"description\":\"The EIGENVECTOR statement invokes a variant of the Jacobi-Davidson algorithm (Sleijpen and van der Vorst 2000) that finds eigenvectors (and eigenvalues) for symmetric matrices.\",\"help\":\"EIGENVECTOR &lt;*options*&gt;;    \",\"arguments\":[{\"name\":\"EIGENVALUES=\",\"optional\":true,\"description\":\"specifies the type of eigenvector to calculate. By default, EIGENVALUES=LA.\",\"help\":\"EIGENVALUES=LA | SA\",\"type\":\"choice\",\"arguments\":[{\"name\":\"LA\",\"description\":\"calculates the n largest algebraic eigenvalues (and their corresponding eigenvectors), where n is the value of the NEIGEN= option.\",\"type\":\"standalone\"},{\"name\":\"SA\",\"description\":\"calculates the n smallest algebraic eigenvalues (and their corresponding eigenvectors), where n is the value of the NEIGEN= option.\",\"type\":\"standalone\"}]},{\"name\":\"LOGLEVEL=\",\"optional\":true,\"description\":\"controls the amount of information that is displayed in the SAS log. The default is the value that is specified in the LOGLEVEL= option in the PROC OPTGRAPH statement (or BASIC if that option is not specified).\",\"help\":\"LOGLEVEL=NONE | BASIC | MODERATE | AGGRESSIVE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NONE\",\"aliases\":[\"0\"],\"description\":\"turns off all algorithm-related messages in the SAS log\",\"type\":\"standalone\"},{\"name\":\"BASIC\",\"aliases\":[\"1\"],\"description\":\"displays a basic summary of the algorithmic processing\",\"type\":\"standalone\"},{\"name\":\"MODERATE\",\"aliases\":[\"2\"],\"description\":\"displays a summary of the algorithmic processing\",\"type\":\"standalone\"},{\"name\":\"AGGRESSIVE\",\"aliases\":[\"3\"],\"description\":\"displays a detailed summary of the algorithmic processing\",\"type\":\"standalone\"}]},{\"name\":\"MAXITER=\",\"optional\":true,\"description\":\"specifies the maximum number of matrix-vector multiplications used in the Jacobi-Davidson algorithm to calculate eigenvectors. By default, MAXITER=10,000.\",\"help\":\"MAXITER=*number*\",\"type\":\"value\"},{\"name\":\"NEIGEN=\",\"optional\":true,\"description\":\"specifies the number of eigenvalues (and their corresponding eigenvectors) to generate. This value must be less than or equal to the dimension of the matrix. By default, NEIGEN=1.\",\"help\":\"NEIGEN=*number*\",\"type\":\"value\"},{\"name\":\"OUT=\",\"optional\":true,\"description\":\"specifies the output data set to contain the eigenvectors (and eigenvalues) found.\",\"help\":\"OUT=*SAS-data-set*\",\"type\":\"dataSet\"}]},{\"name\":\"LINEAR_ASSIGNMENT\",\"aliases\":[\"LAP\"],\"description\":\"The LINEAR_ASSIGNMENT statement invokes an algorithm that solves the minimal-cost linear assignment problem. In graph terms, this problem is also known as the minimum link-weighted matching problem on a bipartite graph.\",\"help\":\"LINEAR_ASSIGNMENT &lt;*options*&gt;;    \",\"arguments\":[{\"name\":\"ID=\",\"optional\":true,\"description\":\"specifies the data set variable names that identify the matrix rows (from nodes).\",\"help\":\"ID=(&lt;*column1,column2,…*&gt;)\",\"type\":\"standaloneOrValue\"},{\"name\":\"LOGLEVEL=\",\"optional\":true,\"description\":\"controls the amount of information that is displayed in the SAS log. The default is the value that is specified in the LOGLEVEL= option in the PROC OPTGRAPH statement (or BASIC if that option is not specified).\",\"help\":\"LOGLEVEL=NONE | BASIC | MODERATE | AGGRESSIVE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NONE\",\"aliases\":[\"0\"],\"description\":\"turns off all algorithm-related messages in the SAS log\",\"type\":\"standalone\"},{\"name\":\"BASIC\",\"aliases\":[\"1\"],\"description\":\"displays a basic summary of the algorithmic processing\",\"type\":\"standalone\"},{\"name\":\"MODERATE\",\"aliases\":[\"2\"],\"description\":\"displays a summary of the algorithmic processing\",\"type\":\"standalone\"},{\"name\":\"AGGRESSIVE\",\"aliases\":[\"3\"],\"description\":\"displays a detailed summary of the algorithmic processing\",\"type\":\"standalone\"}]},{\"name\":\"OUT=\",\"optional\":true,\"description\":\"specifies the output data set to contain the solution to the linear assignment problem.\",\"help\":\"OUT=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"WEIGHT=\",\"optional\":true,\"description\":\"specifies the data set variable names for the cost matrix.\",\"help\":\"WEIGHT=(&lt;*column1,column2,…*&gt;)\",\"type\":\"standaloneOrValue\"}]},{\"name\":\"MINCOSTFLOW\",\"aliases\":[\"MCF\"],\"description\":\"The MINCOSTFLOW statement invokes an algorithm that solves the minimum-cost network flow problem on an input graph.\",\"help\":\"MINCOSTFLOW &lt;*options*&gt;;    \",\"arguments\":[{\"name\":\"LOGFREQ=\",\"optional\":true,\"description\":\"controls the frequency for displaying iteration logs for minimum-cost network flow calculations that use the network simplex algorithm. For graphs that contain one component, this option displays progress every number simplex iterations, and the default is 10,000.\",\"help\":\"LOGFREQ=*number*\",\"type\":\"value\"},{\"name\":\"LOGLEVEL=\",\"optional\":true,\"description\":\"controls the amount of information that is displayed in the SAS log. The default is the value that is specified in the LOGLEVEL= option in the PROC OPTGRAPH statement (or BASIC if that option is not specified).\",\"help\":\"LOGLEVEL=NONE | BASIC | MODERATE | AGGRESSIVE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NONE\",\"aliases\":[\"0\"],\"description\":\"turns off all algorithm-related messages in the SAS log\",\"type\":\"standalone\"},{\"name\":\"BASIC\",\"aliases\":[\"1\"],\"description\":\"displays a basic summary of the algorithmic processing\",\"type\":\"standalone\"},{\"name\":\"MODERATE\",\"aliases\":[\"2\"],\"description\":\"displays a summary of the algorithmic processing including a progress log using the interval that is specified in the LOGFREQ= option\",\"type\":\"standalone\"},{\"name\":\"AGGRESSIVE\",\"aliases\":[\"3\"],\"description\":\"displays a detailed summary of the algorithmic processing including a progress log using the interval that is specified in the LOGFREQ= option\",\"type\":\"standalone\"}]},{\"name\":\"MAXTIME=\",\"optional\":true,\"description\":\"specifies the maximum amount of time to spend calculating minimum-cost network flows. The type of time (either CPU time or real time) is determined by the value of the TIMETYPE= option. The value of number can be any positive number; the default value is the positive number that has the largest absolute value that can be represented in your operating environment.\",\"help\":\"MAXTIME=*number*\",\"type\":\"value\"}]},{\"name\":\"MINCUT\",\"description\":\"The MINCUT statement invokes an algorithm that finds the minimum link-weighted cut of an input graph.\",\"help\":\"MINCUT &lt;*options*&gt;;    \",\"arguments\":[{\"name\":\"LOGLEVEL=\",\"optional\":true,\"description\":\"controls the amount of information that is displayed in the SAS log. The default is the value that is specified in the LOGLEVEL= option in the PROC OPTGRAPH statement (or BASIC if that option is not specified).\",\"help\":\"LOGLEVEL=NONE | BASIC | MODERATE | AGGRESSIVE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NONE\",\"aliases\":[\"0\"],\"description\":\"turns off all algorithm-related messages in the SAS log\",\"type\":\"standalone\"},{\"name\":\"BASIC\",\"aliases\":[\"1\"],\"description\":\"displays a basic summary of the algorithmic processing\",\"type\":\"standalone\"},{\"name\":\"MODERATE\",\"aliases\":[\"2\"],\"description\":\"displays a summary of the algorithmic processing\",\"type\":\"standalone\"},{\"name\":\"AGGRESSIVE\",\"aliases\":[\"3\"],\"description\":\"displays a detailed summary of the algorithmic processing\",\"type\":\"standalone\"}]},{\"name\":\"MAXNUMCUTS=\",\"optional\":true,\"description\":\"specifies the maximum number of cuts to return from the algorithm. The minimal cut and any others found during the search, up to number, are returned. By default, MAXNUMCUTS=1.\",\"help\":\"MAXNUMCUTS=*number*\",\"type\":\"value\"},{\"name\":\"MAXWEIGHT=\",\"optional\":true,\"description\":\"specifies the maximum weight of the cuts to return from the algorithm. The default is the positive number that has the largest absolute value that can be represented in your operating environment.\",\"help\":\"MAXWEIGHT=*number*\",\"type\":\"value\"},{\"name\":\"OUT=\",\"optional\":true,\"description\":\"specifies the output data set to contain the solution to the minimum-cut problem.\",\"help\":\"OUT=*SAS-data-set*\",\"type\":\"dataSet\"}]},{\"name\":\"MINSPANTREE\",\"aliases\":[\"MST\"],\"description\":\"The MINSPANTREE statement invokes an algorithm that solves the minimum link-weighted spanning tree problem on an input graph.\",\"help\":\"MINSPANTREE &lt;*options*&gt;;    \",\"arguments\":[{\"name\":\"LOGLEVEL=\",\"optional\":true,\"description\":\"controls the amount of information that is displayed in the SAS log. The default is the value that is specified in the LOGLEVEL= option in the PROC OPTGRAPH statement (or BASIC if that option is not specified).\",\"help\":\"LOGLEVEL=NONE | BASIC | MODERATE | AGGRESSIVE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NONE\",\"aliases\":[\"0\"],\"description\":\"turns off all algorithm-related messages in the SAS log\",\"type\":\"standalone\"},{\"name\":\"BASIC\",\"aliases\":[\"1\"],\"description\":\"displays a basic summary of the algorithmic processing\",\"type\":\"standalone\"},{\"name\":\"MODERATE\",\"aliases\":[\"2\"],\"description\":\"displays a summary of the algorithmic processing\",\"type\":\"standalone\"},{\"name\":\"AGGRESSIVE\",\"aliases\":[\"3\"],\"description\":\"displays a detailed summary of the algorithmic processing\",\"type\":\"standalone\"}]},{\"name\":\"OUT=\",\"optional\":true,\"description\":\"specifies the output data set to contain the solution to the minimum link-weighted spanning tree problem.\",\"help\":\"OUT=*SAS-data-set*\",\"type\":\"dataSet\"}]},{\"name\":\"PERFORMANCE\",\"description\":\"The PERFORMANCE statement specifies performance options for multithreaded computing and requests detailed results about the performance characteristics of the OPTGRAPH procedure. The PERFORMANCE statement enables you to control the number of threads used and the output of the ODS table that reports procedure timing.\",\"help\":\"PERFORMANCE &lt;*options*&gt;;    \",\"arguments\":[{\"name\":\"DETAILS\",\"optional\":true,\"description\":\"requests that PROC OPTGRAPH produce the Timing ODS table, which shows a breakdown of the time used in each step of the procedure.\",\"type\":\"standalone\"},{\"name\":\"NTHREADS=\",\"optional\":true,\"description\":\"specifies the number of threads that PROC OPTGRAPH can use. The default value is CPUCOUNT, which sets the thread count to the number determined by the SAS system option CPUCOUNT=.\",\"help\":\"NTHREADS=*number* | CPUCOUNT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"number\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"CPUCOUNT\",\"type\":\"standalone\"}]}]},{\"name\":\"REACH\",\"description\":\"The REACH statement invokes an algorithm that calculates the reach (ego) network on an input graph.\",\"help\":\"REACH &lt;*options*&gt;;    \",\"arguments\":[{\"name\":\"BY_CLUSTER\",\"optional\":true,\"description\":\"decomposes the calculations by cluster (subgraph).\",\"type\":\"standalone\"},{\"name\":\"DIGRAPH\",\"optional\":true,\"description\":\"calculates the directed reach counts when computing the reach networks and includes the directed counts in the resulting output data set that is specified in the OUT_COUNTS= option.\",\"type\":\"standalone\"},{\"name\":\"EACH_SOURCE\",\"optional\":true,\"description\":\"treats each node as a source and calculates a reach network from each one.\",\"type\":\"standalone\"},{\"name\":\"IGNORE_SELF\",\"optional\":true,\"description\":\"ignores the source nodes in the reach network node counts.\",\"type\":\"standalone\"},{\"name\":\"LOGFREQTIME=\",\"optional\":true,\"description\":\"displays iteration logs for the reach algorithm every number seconds. The value of number can be any integer greater than or equal to 1; the default is 5.\",\"help\":\"LOGFREQTIME=*number*\",\"type\":\"value\"},{\"name\":\"LOGLEVEL=\",\"optional\":true,\"description\":\"controls the amount of information that is displayed in the SAS log. The default is the value that is specified in the LOGLEVEL= option in the PROC OPTGRAPH statement (or BASIC if that option is not specified).\",\"help\":\"LOGLEVEL=NONE | BASIC | MODERATE | AGGRESSIVE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NONE\",\"aliases\":[\"0\"],\"description\":\"turns off all algorithm-related messages in the SAS log\",\"type\":\"standalone\"},{\"name\":\"BASIC\",\"aliases\":[\"1\"],\"description\":\"displays a basic summary of the algorithmic processing\",\"type\":\"standalone\"},{\"name\":\"MODERATE\",\"aliases\":[\"2\"],\"description\":\"displays a summary of the algorithmic processing\",\"type\":\"standalone\"},{\"name\":\"AGGRESSIVE\",\"aliases\":[\"3\"],\"description\":\"displays a detailed summary of the algorithmic processing\",\"type\":\"standalone\"}]},{\"name\":\"MAXREACH=\",\"optional\":true,\"description\":\"specifies the maximum number of links to allow from each source node in a reach network. By default, MAXREACH=1.\",\"help\":\"MAXREACH=*number*\",\"type\":\"value\"},{\"name\":\"OUT_COUNTS=\",\"optional\":true,\"description\":\"specifies the output data set to contain the node counts in each reach network.\",\"help\":\"OUT_COUNTS=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"OUT_COUNTS1=\",\"optional\":true,\"description\":\"specifies the output data set to contain the node counts in each reach network for the special case of calculating only counts that have limit 1 and 2. This data set holds the counts with MAXREACH=1.\",\"help\":\"OUT_COUNTS1=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"OUT_COUNTS2=\",\"optional\":true,\"description\":\"specifies the output data set to contain the node counts in each reach network for the special case of calculating only counts that have limit 1 and 2. This data set holds the counts with MAXREACH=2.\",\"help\":\"OUT_COUNTS2=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"OUT_LINKS=\",\"optional\":true,\"description\":\"specifies the output data set to contain the links in each reach network.\",\"help\":\"OUT_LINKS=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"OUT_NODES=\",\"optional\":true,\"description\":\"specifies the output data set to contain the nodes in each reach network.\",\"help\":\"OUT_NODES=*SAS-data-set*\",\"type\":\"dataSet\"}]},{\"name\":\"SHORTPATH\",\"description\":\"The SHORTPATH statement invokes an algorithm that calculates shortest paths between sets of nodes on the input graph.\",\"help\":\"SHORTPATH &lt;*options*&gt;;    \",\"arguments\":[{\"name\":\"LOGFREQ=\",\"optional\":true,\"description\":\"displays iteration logs for shortest path calculations every number nodes. The default is determined automatically based on the size of the graph.\",\"help\":\"LOGFREQ=*number*\",\"type\":\"value\"},{\"name\":\"LOGLEVEL=\",\"optional\":true,\"description\":\"controls the amount of information that is displayed in the SAS log. The default is the value that is specified in the LOGLEVEL= option in the PROC OPTGRAPH statement (or BASIC if that option is not specified).\",\"help\":\"LOGLEVEL=NONE | BASIC | MODERATE | AGGRESSIVE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NONE\",\"aliases\":[\"0\"],\"description\":\"turns off all algorithm-related messages in the SAS log\",\"type\":\"standalone\"},{\"name\":\"BASIC\",\"aliases\":[\"1\"],\"description\":\"displays a basic summary of the algorithmic processing\",\"type\":\"standalone\"},{\"name\":\"MODERATE\",\"aliases\":[\"2\"],\"description\":\"Displays a summary of the algorithmic processing\",\"type\":\"standalone\"},{\"name\":\"AGGRESSIVE\",\"aliases\":[\"3\"],\"description\":\"displays a detailed summary of the algorithmic processing\",\"type\":\"standalone\"}]},{\"name\":\"OUT_PATHS=\",\"optional\":true,\"aliases\":[\"OUT=\"],\"description\":\"specifies the output data set to contain the shortest paths.\",\"help\":\"OUT_PATHS=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"OUT_WEIGHTS=\",\"optional\":true,\"description\":\"specifies the output data set to contain the shortest path summaries.\",\"help\":\"OUT_WEIGHTS=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"PATHS=\",\"optional\":true,\"description\":\"specifies the type of output to produce in the output data set that is specified in the OUT_PATHS= option. By default, PATHS=ALL.\",\"help\":\"PATHS=ALL | LONGEST | SHORTEST\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ALL\",\"description\":\"outputs shortest paths for all pairs of source-sinks.\",\"type\":\"standalone\"},{\"name\":\"LONGEST\",\"description\":\"outputs shortest paths for the source-sink pair with the longest (finite) length. If other source-sink pairs (up to 100) have equally long length, they are also output.\",\"type\":\"standalone\"},{\"name\":\"SHORTEST\",\"description\":\"outputs shortest paths for the source-sink pair with the shortest length. If other source-sink pairs (up to 100) have equally short length, they are also output.\",\"type\":\"standalone\"}]},{\"name\":\"SINK=\",\"optional\":true,\"description\":\"specifies the sink node for shortest paths calculations.\",\"help\":\"SINK=*sink-node*\",\"type\":\"value\"},{\"name\":\"SOURCE=\",\"optional\":true,\"description\":\"specifies the source node for shortest paths calculations.\",\"help\":\"SOURCE=*source-node*\",\"type\":\"value\"},{\"name\":\"USEWEIGHT=\",\"optional\":true,\"description\":\"specifies whether to use link weights (if they exist) in calculating shortest paths. By default, USEWEIGHT=YES.\",\"help\":\"USEWEIGHT=YES | NO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YES\",\"description\":\"uses weights (if they exist) in shortest path calculations.\",\"type\":\"standalone\"},{\"name\":\"NO\",\"description\":\"does not use weights in shortest path calculations.\",\"type\":\"standalone\"}]},{\"name\":\"WEIGHT2=\",\"optional\":true,\"description\":\"specifies the data set variable name for the auxiliary link weights.\",\"help\":\"WEIGHT2=*column*\",\"type\":\"value\"}]},{\"name\":\"SUMMARY\",\"description\":\"The SUMMARY statement invokes an algorithm that calculates various summary metrics on an input graph.\",\"help\":\"SUMMARY &lt;*options*&gt;;    \",\"arguments\":[{\"name\":\"BICONCOMP\",\"optional\":true,\"description\":\"specifies whether to calculate information about biconnected components. The graph must be undirected.\",\"type\":\"standalone\"},{\"name\":\"BY_CLUSTER\",\"optional\":true,\"description\":\"specifies whether to decompose the calculations by cluster (or subgraph).\",\"type\":\"standalone\"},{\"name\":\"CONCOMP\",\"optional\":true,\"description\":\"specifies whether to calculate information about connected components.\",\"type\":\"standalone\"},{\"name\":\"DIAMETER_APPROX=\",\"optional\":true,\"description\":\"specifies whether to calculate information about the approximate diameter and what type of calculations to perform.\",\"help\":\"DIAMETER_APPROX=WEIGHT | UNWEIGHT | BOTH\",\"type\":\"choice\",\"arguments\":[{\"name\":\"WEIGHT\",\"description\":\"calculates approximate diameter based on the weighted graph.\",\"type\":\"standalone\"},{\"name\":\"UNWEIGHT\",\"description\":\"calculates approximate diameter based on the unweighted graph.\",\"type\":\"standalone\"},{\"name\":\"BOTH\",\"description\":\"calculates approximate diameter based on both weighted and unweighted graphs.\",\"type\":\"standalone\"}]},{\"name\":\"LOGFREQNODE=\",\"optional\":true,\"description\":\"controls the frequency for displaying iteration logs for some of the summary metrics. The value of number can be any integer greater than or equal to 1. The default is determined automatically based on the size of the graph.\",\"help\":\"LOGFREQNODE=*number*\",\"type\":\"value\"},{\"name\":\"LOGFREQTIME=\",\"optional\":true,\"description\":\"controls the frequency for displaying iteration logs for some of the summary metrics. The value of number can be any integer greater than or equal to 1; the default is 5.\",\"help\":\"LOGFREQTIME=*number*\",\"type\":\"value\"},{\"name\":\"LOGLEVEL=\",\"optional\":true,\"description\":\"controls the amount of information that is displayed in the SAS log. The default is the value that is specified in the LOGLEVEL= option in the PROC OPTGRAPH statement (or BASIC if that option is not specified).\",\"help\":\"LOGLEVEL=NONE | BASIC | MODERATE | AGGRESSIVE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NONE\",\"aliases\":[\"0\"],\"description\":\"turns off all algorithm-related messages in the SAS log\",\"type\":\"standalone\"},{\"name\":\"BASIC\",\"aliases\":[\"1\"],\"description\":\"displays a basic summary of the algorithmic processing\",\"type\":\"standalone\"},{\"name\":\"MODERATE\",\"aliases\":[\"2\"],\"description\":\"displays a summary of the algorithmic processing\",\"type\":\"standalone\"},{\"name\":\"AGGRESSIVE\",\"aliases\":[\"3\"],\"description\":\"displays a detailed summary of the algorithmic processing\",\"type\":\"standalone\"}]},{\"name\":\"OUT=\",\"optional\":true,\"description\":\"specifies the output data set to contain the summary results.\",\"help\":\"OUT=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"SHORTPATH=\",\"optional\":true,\"description\":\"specifies whether to calculate information about shortest paths and what type of calculations to perform.\",\"help\":\"SHORTPATH=WEIGHT | UNWEIGHT | BOTH\",\"type\":\"choice\",\"arguments\":[{\"name\":\"WEIGHT\",\"description\":\"calculates shortest paths based on the weighted graph.\",\"type\":\"standalone\"},{\"name\":\"UNWEIGHT\",\"description\":\"calculates shortest paths based on the unweighted graph.\",\"type\":\"standalone\"},{\"name\":\"BOTH\",\"description\":\"calculates shortest paths based on both weighted and unweighted graphs.\",\"type\":\"standalone\"}]},{\"name\":\"SUBSIZESWITCH=\",\"optional\":true,\"description\":\"specifies the size of the subgraphs (number of nodes) to run separately when you also specify the BY_CLUSTER option in this statement and a value greater than 1 for the NTHREADS= option in the PERFORMANCE statement. The default is 10,000.\",\"help\":\"SUBSIZESWITCH=*number*\",\"type\":\"value\"}]},{\"name\":\"TRANSITIVE_CLOSURE\",\"aliases\":[\"TRANSCL\"],\"description\":\"The TRANSITIVE_CLOSURE statement invokes an algorithm that calculates the transitive closure of an input graph.\",\"help\":\"TRANSITIVE_CLOSURE &lt;*options*&gt;;    \",\"arguments\":[{\"name\":\"LOGLEVEL=\",\"optional\":true,\"description\":\"controls the amount of information that is displayed in the SAS log. The default is the value that is specified in the LOGLEVEL= option in the PROC OPTGRAPH statement (or BASIC if that option is not specified).\",\"help\":\"LOGLEVEL=NONE | BASIC | MODERATE | AGGRESSIVE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NONE\",\"aliases\":[\"0\"],\"description\":\"turns off all algorithm-related messages in the SAS log\",\"type\":\"standalone\"},{\"name\":\"BASIC\",\"aliases\":[\"1\"],\"description\":\"displays a basic summary of the algorithmic processing\",\"type\":\"standalone\"},{\"name\":\"MODERATE\",\"aliases\":[\"2\"],\"description\":\"displays a summary of the algorithmic processing\",\"type\":\"standalone\"},{\"name\":\"AGGRESSIVE\",\"aliases\":[\"3\"],\"description\":\"displays a detailed summary of the algorithmic processing\",\"type\":\"standalone\"}]},{\"name\":\"OUT=\",\"optional\":true,\"description\":\"specifies the output data set to contain the transitive closure results.\",\"help\":\"OUT=*SAS-data-set*\",\"type\":\"dataSet\"}]},{\"name\":\"TSP\",\"description\":\"The TSP statement invokes an algorithm that solves the traveling salesman problem. The algorithm that is used to solve this problem is built around the same branch-and-cut method as is used in PROC OPTMILP.\",\"help\":\"TSP &lt;*options*&gt;;    \",\"arguments\":[{\"name\":\"ABSOBJGAP=\",\"optional\":true,\"description\":\"specifies a stopping criterion. When the absolute difference between the best integer objective and the objective of the best remaining branch-and-bound node becomes less than the value of number, the solver stops. The value of number can be any nonnegative number; the default value is 1E–6.\",\"help\":\"ABSOBJGAP=*number*\",\"type\":\"value\"},{\"name\":\"CONFLICTSEARCH=\",\"optional\":true,\"description\":\"specifies the level of conflict search that PROC OPTGRAPH performs. The solver performs a conflict search to find clauses that result from infeasible subproblems that arise in the search tree. By default, CONFLICTSEARCH=AUTOMATIC.\",\"help\":\"CONFLICTSEARCH=AUTOMATIC | NONE | MODERATE | AGGRESSIVE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"AUTOMATIC\",\"aliases\":[\"-1\"],\"description\":\"performs a conflict search based on a strategy that is determined by PROC OPTGRAPH\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"aliases\":[\"0\"],\"description\":\"disables conflict search\",\"type\":\"standalone\"},{\"name\":\"MODERATE\",\"aliases\":[\"1\"],\"description\":\"performs a moderate conflict search\",\"type\":\"standalone\"},{\"name\":\"AGGRESSIVE\",\"aliases\":[\"2\"],\"description\":\"performs an aggressive conflict search\",\"type\":\"standalone\"}]},{\"name\":\"CUTOFF=\",\"optional\":true,\"description\":\"cuts off any branch-and-bound nodes in a minimization problem that has an objective value that is greater than number. The value of number can be any number; the default value is the positive number that has the largest absolute value that can be represented in your operating environment.\",\"help\":\"CUTOFF=*number*\",\"type\":\"value\"},{\"name\":\"CUTSTRATEGY=\",\"optional\":true,\"description\":\"specifies the level of mixed integer linear programming cutting planes to be generated by PROC OPTGRAPH. TSP-specific cutting planes are always generated. By default, CUTSTRATEGY=NONE.\",\"help\":\"CUTSTRATEGY=AUTOMATIC | NONE | MODERATE | AGGRESSIVE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"AUTOMATIC\",\"aliases\":[\"-1\"],\"description\":\"generates cutting planes based on a strategy determined by the mixed integer linear programming solver\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"aliases\":[\"0\"],\"description\":\"disables generation of mixed integer linear programming cutting planes (some TSP-specific cutting planes are still active for validity)\",\"type\":\"standalone\"},{\"name\":\"MODERATE\",\"aliases\":[\"1\"],\"description\":\"uses a moderate cut strategy\",\"type\":\"standalone\"},{\"name\":\"AGGRESSIVE\",\"aliases\":[\"2\"],\"description\":\"uses an aggressive cut strategy\",\"type\":\"standalone\"}]},{\"name\":\"EMPHASIS=\",\"optional\":true,\"description\":\"specifies a search emphasis option. By default, EMPHASIS=BALANCE.\",\"help\":\"EMPHASIS=BALANCE | OPTIMAL | FEASIBLE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"BALANCE\",\"aliases\":[\"0\"],\"description\":\"performs a balanced search\",\"type\":\"standalone\"},{\"name\":\"OPTIMAL\",\"aliases\":[\"1\"],\"description\":\"emphasizes optimality over feasibility\",\"type\":\"standalone\"},{\"name\":\"FEASIBLE\",\"aliases\":[\"2\"],\"description\":\"emphasizes feasibility over optimality\",\"type\":\"standalone\"}]},{\"name\":\"HEURISTICS=\",\"optional\":true,\"description\":\"controls the level of initial and primal heuristics that PROC OPTGRAPH applies. By default, HEURISTICS=AUTOMATIC.\",\"help\":\"HEURISTICS=AUTOMATIC | NONE | BASIC | MODERATE | AGGRESSIVE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"AUTOMATIC\",\"aliases\":[\"-1\"],\"description\":\"applies the default level of heuristics\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"aliases\":[\"0\"],\"description\":\"disables all initial and primal heuristics\",\"type\":\"standalone\"},{\"name\":\"BASIC\",\"aliases\":[\"1\"],\"description\":\"applies basic intial and primal heuristics at low frequency\",\"type\":\"standalone\"},{\"name\":\"MODERATE\",\"aliases\":[\"2\"],\"description\":\"applies most intial and primal heuristics at moderate frequency\",\"type\":\"standalone\"},{\"name\":\"AGGRESSIVE\",\"aliases\":[\"3\"],\"description\":\"applies all intitial primal heuristics at high frequency\",\"type\":\"standalone\"}]},{\"name\":\"LOGFREQ=\",\"optional\":true,\"description\":\"specifies how often to print information in the branch-and-bound node log. The value of number can be any nonnegative integer up to the largest four-byte signed integer, which is 2³¹ - 1. The default value is 100.\",\"help\":\"LOGFREQ=*number*\",\"type\":\"value\"},{\"name\":\"LOGLEVEL=\",\"optional\":true,\"description\":\"controls the amount of information displayed in the SAS log by the solver, from a short description of presolve information and summary to details at each branch-and-bound node. The default value is MODERATE.\",\"help\":\"LOGLEVEL=NONE | BASIC | MODERATE | AGGRESSIVE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NONE\",\"aliases\":[\"0\"],\"description\":\"turns off all solver-related messages in the SAS log\",\"type\":\"standalone\"},{\"name\":\"BASIC\",\"aliases\":[\"1\"],\"description\":\"displays a solver summary after stopping\",\"type\":\"standalone\"},{\"name\":\"MODERATE\",\"aliases\":[\"2\"],\"description\":\"prints a solver summary and a node log by using the interval that is specified in the LOGFREQ= option\",\"type\":\"standalone\"},{\"name\":\"AGGRESSIVE\",\"aliases\":[\"3\"],\"description\":\"prints a detailed solver summary and a node log by using the interval that is specified in the LOGFREQ= option\",\"type\":\"standalone\"}]},{\"name\":\"MAXNODES=\",\"optional\":true,\"description\":\"specifies the maximum number of branch-and-bound nodes to be processed. The value of number can be any nonnegative integer up to the largest four-byte signed integer. The default value is 2³¹ - 1.\",\"help\":\"MAXNODES=*number*\",\"type\":\"value\"},{\"name\":\"MAXSOLS=\",\"optional\":true,\"description\":\"specifies a stopping criterion. If number solutions have been found, then the procedure stops. The value of number can be any positive integer up to the largest four-byte signed integer. The default value is 2³¹ - 1.\",\"help\":\"MAXSOLS=*number*\",\"type\":\"value\"},{\"name\":\"MAXTIME=\",\"optional\":true,\"description\":\"specifies the maximum amount of time to spend solving the traveling salesman problem. The type of time (either CPU time or real time) is determined by the value of the TIMETYPE= option. The value of number can be any positive number; the default value is the positive number that has the largest absolute value that can be represented in your operating environment.\",\"help\":\"MAXTIME=*number*\",\"type\":\"value\"},{\"name\":\"MILP=\",\"optional\":true,\"description\":\"specifies whether to use a mixed integer linear programming (MILP) solver for solving the traveling salesman problem. The MILP solver attempts to find the overall best TSP tour by using a branch-and-bound based algorithm. By default, MILP=ON.\",\"help\":\"MILP=ON | OFF\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ON\",\"description\":\"uses a mixed integer linear programming solver\",\"type\":\"standalone\"},{\"name\":\"OFF\",\"description\":\"does not use a mixed-integer linear programming solver\",\"type\":\"standalone\"}]},{\"name\":\"NODESEL=\",\"optional\":true,\"description\":\"specifies the branch-and-bound node selection strategy option. By default, NODESEL=AUTOMATIC.\",\"help\":\"NODESEL=AUTOMATIC | BESTBOUND | BESTESTIMATE | DEPTH\",\"type\":\"choice\",\"arguments\":[{\"name\":\"AUTOMATIC\",\"aliases\":[\"-1\"],\"description\":\"Uses automatic node selection\",\"type\":\"standalone\"},{\"name\":\"BESTBOUND\",\"aliases\":[\"0\"],\"description\":\"chooses the node with the best relaxed objective (best-bound-first strategy)\",\"type\":\"standalone\"},{\"name\":\"BESTESTIMATE\",\"aliases\":[\"1\"],\"description\":\"chooses the node with the best estimate of the integer objective value (best-estimate-first strategy)\",\"type\":\"standalone\"},{\"name\":\"DEPTH\",\"aliases\":[\"2\"],\"description\":\"chooses the most recently created node (depth-first strategy)\",\"type\":\"standalone\"}]},{\"name\":\"OUT=\",\"optional\":true,\"description\":\"specifies the output data set to contain the solution to the traveling salesman problem.\",\"help\":\"OUT=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"PROBE=\",\"optional\":true,\"description\":\"specifies a probing option. By default, PROBE=NONE.\",\"help\":\"PROBE=AUTOMATIC | NONE | MODERATE | AGGRESSIVE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"AUTOMATIC\",\"aliases\":[\"-1\"],\"description\":\"uses an automatic probing strategy\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"aliases\":[\"0\"],\"description\":\"disables probing\",\"type\":\"standalone\"},{\"name\":\"MODERATE\",\"aliases\":[\"1\"],\"description\":\"uses the probing moderately\",\"type\":\"standalone\"},{\"name\":\"AGGRESSIVE\",\"aliases\":[\"2\"],\"description\":\"uses the probing aggressively\",\"type\":\"standalone\"}]},{\"name\":\"RELOBJGAP=\",\"optional\":true,\"description\":\"specifies a stopping criterion that is based on the best integer objective (BestInteger) and the objective of the best remaining node (BestBound). By default, RELOBJGAP=1E–4.\",\"help\":\"RELOBJGAP=*number*\",\"type\":\"value\"},{\"name\":\"STRONGITER=\",\"optional\":true,\"description\":\"specifies the number of simplex iterations that PROC OPTGRAPH performs for each variable in the candidate list when it uses the strong branching variable selection strategy. If you specify the keyword AUTOMATIC or the value –1, PROC OPTGRAPH uses the default value, which it calculates automatically.\",\"help\":\"STRONGITER=*number* | AUTOMATIC\",\"type\":\"choice\",\"arguments\":[{\"name\":\"number\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"AUTOMATIC\",\"type\":\"standalone\"}]},{\"name\":\"STRONGLEN=\",\"optional\":true,\"description\":\"specifies the number of candidates that PROC OPTGRAPH considers when it uses the strong branching variable selection strategy. If you specify the keyword AUTOMATIC or the value –1, PROC OPTGRAPH uses the default value, which it calculates automatically.\",\"help\":\"STRONGLEN=*number* | AUTOMATIC\",\"type\":\"choice\",\"arguments\":[{\"name\":\"number\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"AUTOMATIC\",\"type\":\"standalone\"}]},{\"name\":\"TARGET=\",\"optional\":true,\"description\":\"specifies a stopping criterion for minimization problems. The value of number can be any number; the default is the negative number that has the largest absolute value that can be represented in your operating environment.\",\"help\":\"TARGET=*number*\",\"type\":\"value\"},{\"name\":\"VARSEL=\",\"optional\":true,\"description\":\"specifies the rule for selecting the branching variable. By default, VARSEL=AUTOMATIC.\",\"help\":\"VARSEL=AUTOMATIC |  MAXINFEAS | MININFEAS | PSEUDO | STRONG\",\"type\":\"choice\",\"arguments\":[{\"name\":\"AUTOMATIC\",\"aliases\":[\"-1\"],\"description\":\"uses automatic branching variable selection\",\"type\":\"standalone\"},{\"name\":\"MAXINFEAS\",\"aliases\":[\"0\"],\"description\":\"chooses the variable with maximum infeasibility\",\"help\":\" MAXINFEAS\",\"type\":\"standalone\"},{\"name\":\"MININFEAS\",\"aliases\":[\"1\"],\"description\":\"chooses the variable with minimum infeasibility\",\"type\":\"standalone\"},{\"name\":\"PESUDO\",\"aliases\":[\"2\"],\"description\":\"chooses a branching variable based on pseudocost\",\"type\":\"standalone\"},{\"name\":\"STRONG\",\"aliases\":[\"3\"],\"description\":\"uses strong branching variable selection strategy\",\"type\":\"standalone\"}]}]}],\"supportSiteInformation\":{\"docsetId\":\"procgralg\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"procgralg_optgraph_toc.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/OPTIONS.json",
    "content": "{\"name\":\"OPTIONS\",\"statements\":[{\"name\":\"PROC OPTIONS\",\"description\":\"Lists the current settings of SAS system options in the SAS log.\",\"help\":\"PROC OPTIONS &lt;*options*&gt;;\",\"arguments\":[{\"name\":\"DEFINE\",\"optional\":true,\"description\":\"displays the short description of the option, the option group, and the option type.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0751jckg43s0rn1k5ichokafmi4\"},{\"name\":\"EXPAND\",\"optional\":true,\"description\":\"Returns the value of the specified environment variable.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p10ysa91apun2cn1r8o21vincez7\"},{\"name\":\"GROUP=\",\"optional\":true,\"description\":\"displays the options in one or more groups specified by group-name.\",\"help\":\"GROUP=*group-name* | GROUP=*(group-name–1* ... *group-name-n*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"GROUP=\",\"type\":\"value\"},{\"name\":\"GROUP=\",\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p0p4r1v9dzc5ctn1nv8znys0e2xl\"},{\"name\":\"HEXVALUE\",\"optional\":true,\"description\":\"displays system option character values as hexadecimal values.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0j174a7qbr00fn1vloihaugnmag\"},{\"name\":\"HOST\",\"optional\":true,\"description\":\"displays only host options.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0fwj9ez67r6irn16pistm0lv2ho\"},{\"name\":\"LISTINSERTAPPEND\",\"optional\":true,\"description\":\"lists the system options whose value can be modified by the INSERT and APPEND system options.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p06ozpjcw2gujwn14a1j3zqtfwih\"},{\"name\":\"LISTGROUPS\",\"optional\":true,\"description\":\"lists the system option groups as well as a description of each group.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1xey21bd6efgtn1w4mwfir1teo4\"},{\"name\":\"LISTOPTSAVE\",\"optional\":true,\"description\":\"lists the system options that can be saved with PROC OPTSAVE .\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n05pjrh7enuci4n1w4g8q5jzv0yw\"},{\"name\":\"LISTRESTRICT\",\"optional\":true,\"description\":\"lists the system options that can be restricted by your site administrator.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0dom3y2uc3b1ln19rapejfsjjhs\"},{\"name\":\"LOGNUMBERFORMAT\",\"optional\":true,\"description\":\"includes or omits punctuation in the display of numeric system options values\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0z0al3yx8yn4xn1n6jq12cjg6po\"},{\"name\":\"LONG\",\"optional\":true,\"description\":\"lists each system option on a separate line with a description.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n02o7bsf7gik27n1odosdz4ahoot\"},{\"name\":\"OPTION=\",\"optional\":true,\"description\":\"displays information about one or more system options.\",\"help\":\"OPTION=*option-name* | OPTION=(*option-name-1* ...*option-name-n*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"option-name\",\"placeholder\":true,\"description\":\"specifies the option to use as input to the procedure.\",\"help\":\"*option-name*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0burgbll0fpggn159vfyr8g4noq\"}],\"supportSiteTargetFragment\":\"n1nirmgpiw7pu9n16pi0j8vo636b\"},{\"name\":\"NOEXPAND\",\"optional\":true,\"description\":\"Returns the path for the environment value.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n148u4mnrjvoggn1ttun1u604r7g\"},{\"name\":\"NOHOST\",\"optional\":true,\"aliases\":[\"PORTABLE\",\"PORT\"],\"description\":\"displays only portable options.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n06cxui8b9wd3gn1ammvim3swllk\"},{\"name\":\"NOLOGNUMBERFORMAT\",\"optional\":true,\"description\":\"omits punctuation in the display of numeric system options values\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0048vuzhb0aown1l85g5ohqj5sh\"},{\"name\":\"RESTRICT\",\"optional\":true,\"description\":\"displays system options that the site administrator has restricted from being updated.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n16dp42qzyxf8nn16dn6pvit76yr\"},{\"name\":\"SHORT\",\"optional\":true,\"description\":\"specifies to display a compressed listing of options without descriptions.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1e23ltkmbxdbxn0z68tvk3gqhq3\"},{\"name\":\"VALUE\",\"optional\":true,\"description\":\"displays the option's value and scope, as well as how the value was set.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p04ldef7zhp9d1n1ct8tbc26q4ny\"}],\"supportSiteTargetFile\":\"n18l72ouwixr9un16q91zsfjeu3b.htm\"}],\"supportSiteInformation\":{\"docsetId\":\"lesysoptsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p1kwrbpvinbd5bn1cpha9brh92eg.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/OPTLOAD.json",
    "content": "{\"name\":\"OPTLOAD\",\"statements\":[{\"name\":\"PROC OPTLOAD\",\"description\":\"Loads saved setting of SAS system options that are stored in the SAS registry or in a SAS data set.\",\"help\":\"PROC OPTLOAD &lt;*options*&gt;;\",\"arguments\":[{\"name\":\"DATA=\",\"optional\":true,\"description\":\"Load SAS system option settings from an existing data set.\",\"help\":\"DATA=*libref.dataset*\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"p1ezqfdev5foton1pw08vzxcyl8d\"},{\"name\":\"KEY=\",\"optional\":true,\"description\":\"Load SAS system option settings from an existing registry key.\",\"help\":\"KEY=\\\"*SAS registry key*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n183pm4wr9gii7n1pzcfcu9ljkmo\"}],\"supportSiteTargetFile\":\"p18y99r0z9n3d3n1schuouoyv4tr.htm\"}],\"supportSiteInformation\":{\"docsetId\":\"lesysoptsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n0g8uu2ht7cuqwn1cyxwxed66gin.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/OPTLP.json",
    "content": "{\"name\":\"OPTLP\",\"statements\":[{\"name\":\"PROC OPTLP\",\"description\":\"The OPTLP procedure provides three methods for solving linear programs (LPs). † The following LP solvers are available in the OPTLP procedure: † o primal simplex solver o dual simplex solver o interior point solver (experimental) † The simplex solvers implement the two-phase simplex method. In phase I, the solver tries to find a feasible solution. If no feasible solution is found, the LP is infeasible; otherwise, the solver enters phase II to solve the original LP. The interior point solver implements a primal-dual predictor-corrector interior point algorithm.\",\"help\":\"PROC OPTLP <ALGORITHM2=PRIMAL | DUAL><ALGORITHM=PRIMAL | DUAL | NETWORK... ><BASIS=CRASH | SLACK | WARMSTART><CROSSOVER=OFF | ON><DATA=SAS-data-set | TABLE=SAS-data-set | INSTANCE=SAS-data-set><DUALIN=SAS-data-set><DUALIZE=OFF | ON><DUALOUT=SAS-data-set><FEASTOL=ϵ><IIS=FALSE | TRUE><LOGFREQ=k | PRINTFREQ=k><LOGLEVEL=NONE | BASIC | MODERATE... ><MAXITER=k><MAXTIME=k><OBJSENSE=MIN | MAX><OPTTOL=ε><PRESOLVER=NONE | AUTOMATIC | BASIC... ><PRICETYPE=HYBRID | PARTIAL | FULL... ><PRIMALIN=SAS-data-set><PRIMALOUT=SAS-data-set><PRINTLEVEL=0 | 1 | 2><QUEUESIZE=k><SAVE_ONLY_IF_OPTIMAL><SCALE=NONE | AUTOMATIC><SEED=number><SOLVER=PRIMAL | DUAL | ITERATIVE><STOP_DG=delta><STOP_DI=β><STOP_PI=α><TIMETYPE=CPU | REAL>;     \\n\\tDECOMPMASTER <ALGORITHM=<PRIMAL | DUAL | NETWORK>... ><FEASTOL=ϵ><INITPRESOLVER=<AUTOMATIC|-1 | NONE|0 | BASIC|1>... > ...;\\n\\n\\tDECOMPSUBPROB <ALGORITHM=<PRIMAL | DUAL | NETWORK>... ><FEASTOL=ϵ><INITPRESOLVER=<AUTOMATIC|-1 | NONE|0 | BASIC|1>... > ...;\\n\\n\\tDECOMP <ABSOBJGAP=number><BLOCKS=SAS-data-set><COMPRESSFREQ=number> ...;\\n\\n\\tPERFORMANCE <DETAILS><NTHREADS=<<num> | CPUCOUNT>><PARALLELMODE=<DETERMINISTIC|0 | NONDETERMINISTIC|1>> ...;\\n\",\"arguments\":[{\"name\":\"ALGORITHM2=\",\"optional\":true,\"aliases\":[\"SOLVER2=\"],\"description\":\"Specifies an LP solver if ALGORITHM=NETWORK(NS).\",\"help\":\"ALGORITHM2=PRIMAL | DUAL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"PRIMAL\",\"description\":\"Uses primal simplex solver (after network simplex).\",\"type\":\"standalone\"},{\"name\":\"DUAL\",\"description\":\"Uses dual simplex solver (after network simplex).\",\"type\":\"standalone\"}]},{\"name\":\"ALGORITHM=\",\"optional\":true,\"aliases\":[\"SOLVER=\",\"SOL=\"],\"description\":\"Specifies an LP solver.\",\"help\":\"ALGORITHM=PRIMAL | DUAL | NETWORK | INTERIORPOINT | CONCURRENT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"PRIMAL\",\"description\":\"Uses primal simplex solver.\",\"type\":\"standalone\"},{\"name\":\"DUAL\",\"description\":\"Uses dual simplex solver.\",\"type\":\"standalone\"},{\"name\":\"NETWORK\",\"description\":\"Uses network simplex solver.\",\"type\":\"standalone\"},{\"name\":\"INTERIORPOINT\",\"description\":\"Uses interior point solver.\",\"type\":\"standalone\"},{\"name\":\"CONCURRENT\",\"description\":\"Uses several different algorithms in parallel.\",\"type\":\"standalone\"}]},{\"name\":\"BASIS=\",\"optional\":true,\"description\":\"Specifies one of three available options for generating an initial basis.\",\"help\":\"BASIS=CRASH | SLACK | WARMSTART\",\"type\":\"choice\",\"arguments\":[{\"name\":\"CRASH\",\"description\":\"Generate an initial basis by using crash techniques (Maros 2003). The procedure creates a triangular basic matrix consisting of both decision variables and slack variables. This is the default setting.\",\"type\":\"standalone\"},{\"name\":\"SLACK\",\"description\":\"Generate an initial basis by using all slack variables.\",\"type\":\"standalone\"},{\"name\":\"WARMSTART\",\"description\":\"Start the simplex solvers with a user-specified initial basis. The PRIMALIN= and DUALIN= data sets are required to specify an initial basis.\",\"type\":\"standalone\"}]},{\"name\":\"CROSSOVER=\",\"optional\":true,\"description\":\"Specifies whether to convert the interior point solution to a basic simplex solution. If the interior point algorithm terminates with a solution, the crossover algorithm uses the interior point solution to create an initial basic solution. After performing primal fixing and dual fixing, the crossover algorithm calls a simplex algorithm to locate an optimal basic solution.\",\"help\":\"CROSSOVER=OFF | ON\",\"type\":\"choice\",\"arguments\":[{\"name\":\"OFF\",\"description\":\"Do not convert the interior point solution to a basic simplex solution.\",\"type\":\"standalone\"},{\"name\":\"ON\",\"description\":\"Convert the interior point solution to a basic simplex solution.\",\"type\":\"standalone\"}]},{\"name\":\"DATA=\",\"optional\":true,\"aliases\":[\"TABLE=\",\"INSTANCE=\"],\"description\":\"Specifies the input data set corresponding to the LP model.\",\"type\":\"value\"},{\"name\":\"DUALIN=\",\"optional\":true,\"aliases\":[\"DIN=\"],\"description\":\"Specifies the input data set corresponding to the dual solution that is required for warm starting the simplex solvers.\",\"help\":\"DUALIN=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"DUALIZE=\",\"optional\":true,\"description\":\"Controls the dualization of the problem.\",\"help\":\"DUALIZE=OFF | ON\",\"type\":\"choice\",\"arguments\":[{\"name\":\"OFF\",\"description\":\"Specifies that the presolver use a heuristic to decide whether to dualize the problem or not.\",\"type\":\"standalone\"},{\"name\":\"ON\",\"description\":\"Specifies that the presolver formulate the dual of the linear optimization problem.\",\"type\":\"standalone\"}]},{\"name\":\"DUALOUT=\",\"optional\":true,\"aliases\":[\"DOUT=\"],\"description\":\"Specifies the output data set for the dual solution. This data set contains the dual solution information.\",\"help\":\"DUALOUT=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"FEASTOL=\",\"optional\":true,\"description\":\"Specifies the feasibility tolerance ϵ Є [1E–9, 1E–4] for determining the feasibility of a variable value. The default value is 1E–6. Simplex algorithms use the absolute error and interior point algorithms use the relative error for the computation of feasibility tolerance.\",\"type\":\"value\"},{\"name\":\"IIS=\",\"optional\":true,\"description\":\"Specifies whether PROC OPTLP attempts to identify a set of constraints and variables that form an irreducible infeasible set (IIS).\",\"help\":\"IIS=FALSE | TRUE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"FALSE\",\"description\":\"Disables IIS detection.\",\"type\":\"standalone\"},{\"name\":\"TRUE\",\"description\":\"Enables IIS detection.\",\"type\":\"standalone\"}]},{\"name\":\"LOGFREQ=\",\"optional\":true,\"aliases\":[\"PRINTFREQ=\"],\"description\":\"Specifies that the printing of the solution progress to the iteration log is to occur after every k iterations. The print frequency, k, is an integer between zero and the largest four-byte signed integer, which is 2³¹ - 1. The value k = 0 disables the printing of the progress of the solution.\",\"type\":\"value\"},{\"name\":\"LOGLEVEL=\",\"optional\":true,\"aliases\":[\"PRINTLEVEL2=\"],\"description\":\"Controls the amount of information that is displayed in the SAS log by the LP solver, from a short description of presolve information and summary to details at each iteration.\",\"help\":\"LOGLEVEL=NONE | BASIC | MODERATE | AGGRESSIVE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NONE\",\"description\":\"Turn off all solver-related messages in SAS log.\",\"type\":\"standalone\"},{\"name\":\"BASIC\",\"description\":\"Display a solver summary after stopping.\",\"type\":\"standalone\"},{\"name\":\"MODERATE\",\"description\":\"Print a solver summary and an iteration log by using the interval dictated by the LOGFREQ= option.\",\"type\":\"standalone\"},{\"name\":\"AGGRESSIVE\",\"description\":\"Print a detailed solver summary and an iteration log by using the interval dictated by the LOGFREQ= option.\",\"type\":\"standalone\"}]},{\"name\":\"MAXITER=\",\"optional\":true,\"description\":\"Specifies the maximum number of predictor-corrector iterations performed by the interior point algorithm.\",\"help\":\"MAXITER=*k*\",\"type\":\"value\"},{\"name\":\"MAXTIME=\",\"optional\":true,\"description\":\"Specifies an upper limit of k seconds of real time for reading in the data and performing the optimization process.\",\"help\":\"MAXTIME=*k*\",\"type\":\"value\"},{\"name\":\"OBJSENSE=\",\"optional\":true,\"description\":\"Specifies whether the LP model is a minimization or a maximization problem.\",\"help\":\"OBJSENSE=MIN | MAX\",\"type\":\"choice\",\"arguments\":[{\"name\":\"MIN\",\"description\":\"For a minimization problem.\",\"type\":\"standalone\"},{\"name\":\"MAX\",\"description\":\"For a maximization problem.\",\"type\":\"standalone\"}]},{\"name\":\"OPTTOL=\",\"optional\":true,\"description\":\"Specifies the optimality tolerance for declaring optimality. The default value is 1E-6.\",\"type\":\"value\"},{\"name\":\"PRESOLVER=\",\"optional\":true,\"aliases\":[\"PRESOL=\"],\"description\":\"Specifies a presolve option. The default option is AUTOMATIC (–1).\",\"help\":\"PRESOLVER=NONE | AUTOMATIC | BASIC | MODERATE | AGGRESSIVE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NONE\",\"description\":\"Disables presolver.\",\"type\":\"standalone\"},{\"name\":\"AUTOMATIC\",\"description\":\"Applies presolver by using default setting..\",\"type\":\"standalone\"},{\"name\":\"BASIC\",\"description\":\"Performs basic presolve like removing empty rows, columns, and fixed variables.\",\"type\":\"standalone\"},{\"name\":\"MODERATE\",\"description\":\"Performs basic presolve and apply other inexpensive presolve techniques.\",\"type\":\"standalone\"},{\"name\":\"AGGRESSIVE\",\"description\":\"Performs moderate presolve and apply other aggressive (but expensive) presolve techniques.\",\"type\":\"standalone\"}]},{\"name\":\"PRICETYPE=\",\"optional\":true,\"description\":\"Specifies one of 5 available pricing strategies for the primal and dual simplex solvers.\",\"help\":\"PRICETYPE=HYBRID | PARTIAL | FULL | DEVEX | STEEPESTEDGE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"HYBRID\",\"description\":\"Use a hybrid of Devex and steepest-edge pricing strategies. Available for the primal simplex solver only.\",\"type\":\"standalone\"},{\"name\":\"PARTIAL\",\"description\":\"Use the Dantzig's rule on a queue of decision variables. Optionally, you can specify QUEUESIZE=. Available for the primal simplex solver only.\",\"type\":\"standalone\"},{\"name\":\"FULL\",\"description\":\"Use the Dantzig's rule on all decision variables.\",\"type\":\"standalone\"},{\"name\":\"DEVEX\",\"description\":\"Use Devex pricing strategy.\",\"type\":\"standalone\"},{\"name\":\"STEEPESTEDGE\",\"description\":\"Use steepest-edge pricing strategy.\",\"type\":\"standalone\"}]},{\"name\":\"PRIMALIN=\",\"optional\":true,\"aliases\":[\"PIN=\"],\"description\":\"Specifies the input data set corresponding to the primal solution that is required for warm starting the simplex solvers.\",\"help\":\"PRIMALIN=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"PRIMALOUT=\",\"optional\":true,\"aliases\":[\"POUT=\"],\"description\":\"Specifies the output data set for the primal solution.\",\"help\":\"PRIMALOUT=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"PRINTLEVEL=\",\"optional\":true,\"description\":\"Specifies whether a summary of the problem and solution should be printed.\",\"help\":\"PRINTLEVEL=0 | 1 | 2\",\"type\":\"choice\",\"arguments\":[{\"name\":\"0\",\"description\":\"No ODS tables are produced or printed.\",\"type\":\"standalone\"},{\"name\":\"1\",\"description\":\"If PRINTLEVEL=1, then the ODS (Output Delivery System) tables ProblemSummary, SolutionSummary, and PerformanceInfo are produced and printed.\",\"type\":\"standalone\"},{\"name\":\"2\",\"description\":\"If PRINTLEVEL=2, then these tables are produced and printed along with an additional table called ProblemStatistics.\",\"type\":\"standalone\"}]},{\"name\":\"QUEUESIZE=\",\"optional\":true,\"description\":\"Specifies the queue size. The default value is chosen adaptively based on the number of decision variables. This option is used only when PRICETYPE=PARTIAL.\",\"help\":\"QUEUESIZE=*k*\",\"type\":\"value\"},{\"name\":\"SAVE_ONLY_IF_OPTIMAL\",\"optional\":true,\"description\":\"Specifies that the PRIMALOUT= and DUALOUT= data sets be saved only if the final solution obtained by the solver at termination is optimal.\",\"type\":\"standalone\"},{\"name\":\"SCALE=\",\"optional\":true,\"description\":\"Specifies a scaling option.\",\"help\":\"SCALE=NONE | AUTOMATIC\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NONE\",\"description\":\"Disable scaling.\",\"type\":\"standalone\"},{\"name\":\"AUTOMATIC\",\"description\":\"Automatically apply scaling procedure if necessary.\",\"type\":\"standalone\"}]},{\"name\":\"SEED=\",\"optional\":true,\"description\":\"Specifies the initial seed for the random number generator. Because the seed affects the perturbation in the simplex algorithms, the result might be a different optimal solution and a different solver path, but the effect is usually negligible.\",\"help\":\"SEED=*number*\",\"type\":\"value\"},{\"name\":\"STOP_DG=\",\"optional\":true,\"description\":\"Specifies the desired relative duality gap.\",\"help\":\"STOP_DG=*delta*\",\"type\":\"value\"},{\"name\":\"STOP_DI=\",\"optional\":true,\"description\":\"Specifies the maximum allowed relative dual constraints violation.\",\"type\":\"value\"},{\"name\":\"STOP_PI=\",\"optional\":true,\"description\":\"Specifies the maximum allowed relative bound and primal constraints violation.\",\"type\":\"value\"},{\"name\":\"TIMETYPE=\",\"optional\":true,\"description\":\"Specifies type of the time used in a PROC OPTLP call.\",\"help\":\"TIMETYPE=CPU | REAL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"CPU\",\"description\":\"PROC OPTLP call uses CPU time. This is the default.\",\"type\":\"standalone\"},{\"name\":\"REAL\",\"description\":\"PROC OPTLP call uses real time.\",\"type\":\"standalone\"}]}]},{\"name\":\"DECOMPMASTER\",\"aliases\":[\"DECOMPOSITIONMASTER\",\"MASTER\"],\"description\":\"The DECOMPMASTER|DECOMPOSITIONMASTER|MASTER statement controls the master problem. The default is AUTOMATIC.\",\"help\":\"DECOMPMASTER &lt;ALGORITHM=&lt;PRIMAL | DUAL | NETWORK&gt;... &gt;&lt;FEASTOL=ϵ&gt;&lt;INITPRESOLVER=&lt;AUTOMATIC|-1 | NONE|0 | BASIC|1&gt;... &gt; ...\",\"arguments\":[{\"name\":\"ALGORITHM=\",\"optional\":true,\"aliases\":[\"SOLVER=\",\"SOL=\"],\"description\":\"Specifies an LP solver.\",\"help\":\"ALGORITHM=PRIMAL | DUAL | NETWORK | INTERIORPOINT | CONCURRENT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"PRIMAL\",\"description\":\"Uses primal simplex solver.\",\"type\":\"standalone\"},{\"name\":\"DUAL\",\"description\":\"Uses dual simplex solver.\",\"type\":\"standalone\"},{\"name\":\"NETWORK\",\"description\":\"Uses network simplex solver.\",\"type\":\"standalone\"},{\"name\":\"INTERIORPOINT\",\"description\":\"Uses interior point solver.\",\"type\":\"standalone\"},{\"name\":\"CONCURRENT\",\"description\":\"Uses several different algorithms in parallel.\",\"type\":\"standalone\"}]},{\"name\":\"CROSSOVER=\",\"optional\":true,\"description\":\"Specifies whether to convert the interior point solution to a basic simplex solution. If the interior point algorithm terminates with a solution, the crossover algorithm uses the interior point solution to create an initial basic solution. After performing primal fixing and dual fixing, the crossover algorithm calls a simplex algorithm to locate an optimal basic solution.\",\"help\":\"CROSSOVER=OFF | ON\",\"type\":\"choice\",\"arguments\":[{\"name\":\"OFF\",\"description\":\"Do not convert the interior point solution to a basic simplex solution.\",\"type\":\"standalone\"},{\"name\":\"ON\",\"description\":\"Convert the interior point solution to a basic simplex solution.\",\"type\":\"standalone\"}]},{\"name\":\"FEASTOL=\",\"optional\":true,\"description\":\"Specifies the feasibility tolerance ϵ Є[1E–9, 1E–4] for determining the feasibility of a variable value. The default value is 1E–6.\",\"type\":\"value\"},{\"name\":\"INITPRESOLVER=\",\"optional\":true,\"aliases\":[\"INITPRESOL=\"],\"description\":\"Syntax: INITPRESOLVER=number | string INITPRESOL=number | string\",\"help\":\"INITPRESOLVER=AUTOMATIC | NONE | BASIC | MODERATE | AGGRESSIVE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"AUTOMATIC\",\"aliases\":[\"-1\"],\"description\":\"Applies the default level of presolve processing.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"aliases\":[\"0\"],\"description\":\"Disables presolver.\",\"type\":\"standalone\"},{\"name\":\"BASIC\",\"aliases\":[\"1\"],\"description\":\"Performs minimal presolve processing.\",\"type\":\"standalone\"},{\"name\":\"MODERATE\",\"aliases\":[\"2\"],\"description\":\"Applies a higher level of presolve processing.\",\"type\":\"standalone\"},{\"name\":\"AGGRESSIVE\",\"aliases\":[\"3\"],\"description\":\"Applies the highest level of presolve processing.\",\"type\":\"standalone\"}]},{\"name\":\"LOGLEVEL=\",\"optional\":true,\"aliases\":[\"PRINTLEVEL2=\"],\"description\":\"Syntax: LOGLEVEL=number | string PRINTLEVEL2=number | string Controls the amount of information that is displayed in the SAS log by the LP solver, from a short description of presolve information and summary to details at each iteration.\",\"help\":\"LOGLEVEL=NONE | BASIC | MODERATE | AGGRESSIVE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NONE\",\"aliases\":[\"0\"],\"description\":\"Turn off all solver-related messages in SAS log.\",\"type\":\"standalone\"},{\"name\":\"BASIC\",\"aliases\":[\"1\"],\"description\":\"Display a solver summary after stopping.\",\"type\":\"standalone\"},{\"name\":\"MODERATE\",\"aliases\":[\"2\"],\"description\":\"Print a solver summary and an iteration log by using the interval dictated by the LOGFREQ= option.\",\"type\":\"standalone\"},{\"name\":\"AGGRESSIVE\",\"aliases\":[\"3\"],\"description\":\"Print a detailed solver summary and an iteration log by using the interval dictated by the LOGFREQ= option.\",\"type\":\"standalone\"}]},{\"name\":\"MAXITER=\",\"optional\":true,\"description\":\"Specifies the maximum number of iterations. The value k can be any integer between one and the largest four-byte signed integer, which is 2³¹ - 1. If you do not specify this option, the procedure does not stop based on the number of iterations performed. For network simplex, this iteration limit corresponds to the solver called after network simplex (either primal or dual simplex).\",\"help\":\"MAXITER=*k*\",\"type\":\"value\"},{\"name\":\"MAXTIME=\",\"optional\":true,\"description\":\"Specifies an upper limit of t seconds of time for reading in the data and performing the optimization process. The value of the TIMETYPE= option determines the type of units used. If you do not specify this option, the procedure does not stop based on the amount of time elapsed. The value of t can be any positive number; the default value is the positive number that has the largest absolute value that can be represented in your operating environment.\",\"help\":\"MAXTIME=*t*\",\"type\":\"value\"},{\"name\":\"OPTTOL=\",\"optional\":true,\"description\":\"Specifies the optimality tolerance ϵ Є[1E–9, 1E–4] for declaring optimality. The default value is 1E–6.\",\"type\":\"value\"},{\"name\":\"PRICETYPE=\",\"optional\":true,\"description\":\"Specifies a pricing strategy for the primal and dual simplex solvers.\",\"help\":\"PRICETYPE=HYBRID | PARTIAL | FULL | DEVEX | STEEPESTEDGE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"HYBRID\",\"description\":\"Use a hybrid of Devex and steepest-edge pricing strategies. Available for the primal simplex solver only.\",\"type\":\"standalone\"},{\"name\":\"PARTIAL\",\"description\":\"Use Dantzig’s rule on a queue of decision variables. Optionally, you can specify QUEUESIZE=. Available for the primal simplex solver only.\",\"type\":\"standalone\"},{\"name\":\"FULL\",\"description\":\"Use Dantzig’s rule on all decision variables.\",\"type\":\"standalone\"},{\"name\":\"DEVEX\",\"description\":\"Use Devex pricing strategy.\",\"type\":\"standalone\"},{\"name\":\"STEEPESTEDGE\",\"description\":\"Use steepest-edge pricing strategy.\",\"type\":\"standalone\"}]},{\"name\":\"PRINTLEVEL=\",\"optional\":true,\"description\":\"Specifies whether a summary of the problem and solution should be printed. If PRINTLEVEL=1, then the ODS (Output Delivery System) tables ProblemSummary, SolutionSummary, and PerformanceInfo are produced and printed. If PRINTLEVEL=2, then these tables are produced and printed along with an additional table called ProblemStatistics. If PRINTLEVEL=0, then no ODS tables are produced or printed. The default value is 1.\",\"help\":\"PRINTLEVEL=0 | 1 | 2\",\"type\":\"choice\",\"arguments\":[{\"name\":\"0\",\"description\":\"If PRINTLEVEL=0, then no ODS tables are produced or printed.\",\"type\":\"standalone\"},{\"name\":\"1\",\"description\":\"If PRINTLEVEL=1, then the ODS (Output Delivery System) tables ProblemSummary, SolutionSummary, and PerformanceInfo are produced and printed.\",\"type\":\"standalone\"},{\"name\":\"2\",\"description\":\"If PRINTLEVEL=2, then these tables are produced and printed along with an additional table called ProblemStatistics.\",\"type\":\"standalone\"}]},{\"name\":\"QUEUESIZE=\",\"optional\":true,\"description\":\"Specifies the queue size k Є [1, n], where n is the number of decision variables. This queue is used for finding an entering variable in the simplex iteration. The default value is chosen adaptively based on the number of decision variables. This option is used only when PRICETYPE=PARTIAL.\",\"help\":\"QUEUESIZE=*k*\",\"type\":\"value\"},{\"name\":\"SCALE=\",\"optional\":true,\"description\":\"Specifies one of the following scaling options: NONE(0), AUTOMATIC(-1).\",\"help\":\"SCALE=NONE | AUTOMATIC\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NONE\",\"description\":\"Disable scaling.\",\"type\":\"standalone\"},{\"name\":\"AUTOMATIC\",\"description\":\"Automatically apply scaling procedure if necessary.\",\"type\":\"standalone\"}]},{\"name\":\"STOP_DG=\",\"optional\":true,\"description\":\"Specifies the desired relative duality gap δ Є[1E–9, 1E–4]. This is the relative difference between the primal and dual objective function values and is the primary solution quality parameter. The default value is 1E–6.\",\"type\":\"value\"},{\"name\":\"STOP_DI=\",\"optional\":true,\"description\":\"Specifies the maximum allowed relative dual constraints violation β Є[1E–9, 1E–4]. The default value is 1E–6.\",\"type\":\"value\"},{\"name\":\"STOP_PI=\",\"optional\":true,\"description\":\"Specifies the maximum allowed relative bound and primal constraints violation α Є[1E–9, 1E–4]. The default value is 1E–6.\",\"type\":\"value\"},{\"name\":\"TIMETYPE=\",\"optional\":true,\"description\":\"Specifies whether CPU time or real time is used for the MAXTIME= option and the _OROPTLP_ macro variable in a PROC OPTLP call.\",\"help\":\"TIMETYPE=CPU | REAL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"CPU\",\"description\":\"Specifies units of CPU time.\",\"type\":\"standalone\"},{\"name\":\"REAL\",\"description\":\"Specifies units of real time.\",\"type\":\"standalone\"}]}]},{\"name\":\"DECOMPSUBPROB\",\"aliases\":[\"DECOMPOSITIONSUBPROB\",\"SUBPROB\"],\"description\":\"The DECOMPSUBPROB|DECOMPOSITIONSUBPROB|SUBPROB statement controls the subproblem. The default is AUTOMATIC.\",\"help\":\"DECOMPSUBPROB &lt;ALGORITHM=&lt;PRIMAL | DUAL | NETWORK&gt;... &gt;&lt;FEASTOL=ϵ&gt;&lt;INITPRESOLVER=&lt;AUTOMATIC|-1 | NONE|0 | BASIC|1&gt;... &gt; ...\",\"arguments\":[{\"name\":\"ABSOBJGAP=\",\"optional\":true,\"description\":\"[Used with MILP Algorithm]\",\"help\":\"ABSOBJGAP=*number*\",\"type\":\"value\"},{\"name\":\"ALGORITHM=\",\"optional\":true,\"aliases\":[\"SOLVER=\",\"SOL=\"],\"description\":\"[Used with LP and MILP Algorithms]\",\"help\":\"ALGORITHM=PRIMAL | DUAL | NETWORK | INTERIORPOINT | CONCURRENT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"PRIMAL\",\"description\":\"Uses primal simplex solver.\",\"type\":\"standalone\"},{\"name\":\"DUAL\",\"description\":\"Uses dual simplex solver.\",\"type\":\"standalone\"},{\"name\":\"NETWORK\",\"description\":\"Uses network simplex solver.\",\"type\":\"standalone\"},{\"name\":\"INTERIORPOINT\",\"description\":\"Uses interior point solver.\",\"type\":\"standalone\"},{\"name\":\"CONCURRENT\",\"description\":\"Uses several different algorithms in parallel.\",\"type\":\"standalone\"}]},{\"name\":\"ALLCUTS=\",\"optional\":true,\"description\":\"[Used with MILP Algorithm] Provides a shorthand way of setting all the cuts-related options in one setting. In other words, ALLCUTS=num is equivalent to setting each of the individual cuts parameters to the same value num.\",\"help\":\"ALLCUTS=AUTOMATIC | NONE | MODERATE | AGGRESSIVE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"AUTOMATIC\",\"description\":\"Generate cutting planes based on a strategy determined by PROC OPTMILP.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"Disable generation of cutting planes.\",\"type\":\"standalone\"},{\"name\":\"MODERATE\",\"description\":\"Use a moderate cut strategy.\",\"type\":\"standalone\"},{\"name\":\"AGGRESSIVE\",\"description\":\"Use an aggressive cut strategy.\",\"type\":\"standalone\"}]},{\"name\":\"BASIS=\",\"optional\":true,\"description\":\"[Used with LP Algorithm] Specifies the following options for generating an initial basis: 0 CRASH -- Generate an initial basis by using crash techniques (Maros 2003). The procedure creates a triangular basic matrix consisting of both decision variables and slack variables. 1 SLACK -- Generate an initial basis by using all slack variables. 2 WARMSTART -- Start the primal and dual simplex solvers with a userspecified initial basis. The PRIMALIN= and DUALIN= data sets are required to specify an initial basis.\",\"help\":\"BASIS=CRASH | SLACK | WARMSTART\",\"type\":\"choice\",\"arguments\":[{\"name\":\"CRASH\",\"description\":\"Generate an initial basis by using crash techniques (Maros 2003). The procedure creates a triangular basic matrix consisting of both decision variables and slack variables.\",\"type\":\"standalone\"},{\"name\":\"SLACK\",\"description\":\"Generate an initial basis by using all slack variables.\",\"type\":\"standalone\"},{\"name\":\"WARMSTART\",\"description\":\"Start the primal and dual simplex solvers with a userspecified initial basis. The PRIMALIN= and DUALIN= data sets are required to specify an initial basis.\",\"type\":\"standalone\"}]},{\"name\":\"CONFLICTSEARCH=\",\"optional\":true,\"description\":\"[Used with MILP Algorithm] Specifies the level of conflict search performed by PROC OPTMILP. Conflict search is used to find clauses resulting from infeasible subproblems that arise in the search tree.\",\"help\":\"CONFLICTSEARCH=AUTOMATIC | NONE | MODERATE | AGGRESSIVE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"AUTOMATIC\",\"description\":\"Performs conflict search based on a strategy determined by PROC OPTMILP\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"Disables conflict search\",\"type\":\"standalone\"},{\"name\":\"MODERATE\",\"description\":\"Performs a moderate conflict search\",\"type\":\"standalone\"},{\"name\":\"AGGRESSIVE\",\"description\":\"Performs an aggressive conflict search\",\"type\":\"standalone\"}]},{\"name\":\"CROSSOVER=\",\"optional\":true,\"description\":\"[Used with LP Algorithm]\",\"help\":\"CROSSOVER=OFF | ON\",\"type\":\"choice\",\"arguments\":[{\"name\":\"OFF\",\"description\":\"Do not convert the interior point solution to a basic simplex solution.\",\"type\":\"standalone\"},{\"name\":\"ON\",\"description\":\"Convert the interior point solution to a basic simplex solution.\",\"type\":\"standalone\"}]},{\"name\":\"CUTCLIQUE=\",\"optional\":true,\"description\":\"[Used with MILP Algorithm] Specifies the level of clique cuts generated by PROC OPTMILP. The CUTCLIQUE= option overrides the ALLCUTS= option. The default value is AUTOMATIC.\",\"help\":\"CUTCLIQUE=AUTOMATIC | NONE | MODERATE | AGGRESSIVE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"AUTOMATIC\",\"description\":\"Generate cutting planes based on a strategy determined by PROC OPTMILP.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"Disable generation of cutting planes.\",\"type\":\"standalone\"},{\"name\":\"MODERATE\",\"description\":\"Use a moderate cut strategy.\",\"type\":\"standalone\"},{\"name\":\"AGGRESSIVE\",\"description\":\"Use an aggressive cut strategy.\",\"type\":\"standalone\"}]},{\"name\":\"CUTFLOWCOVER=\",\"optional\":true,\"description\":\"[Used with MILP Algorithm] Specifies the level of flow cover cuts generated by PROC OPTMILP. The CUTFLOWCOVER= option overrides the ALLCUTS= option. The default value is AUTOMATIC.\",\"help\":\"CUTFLOWCOVER=AUTOMATIC | NONE | MODERATE | AGGRESSIVE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"AUTOMATIC\",\"description\":\"Generate cutting planes based on a strategy determined by PROC OPTMILP.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"Disable generation of cutting planes.\",\"type\":\"standalone\"},{\"name\":\"MODERATE\",\"description\":\"Use a moderate cut strategy.\",\"type\":\"standalone\"},{\"name\":\"AGGRESSIVE\",\"description\":\"Use an aggressive cut strategy.\",\"type\":\"standalone\"}]},{\"name\":\"CUTFLOWPATH=\",\"optional\":true,\"description\":\"[Used with MILP Algorithm] Specifies the level of flow path cuts generated by PROC OPTMILP. The CUTFLOWPATH= option overrides the ALLCUTS= option. The default value is AUTOMATIC.\",\"help\":\"CUTFLOWPATH=AUTOMATIC | NONE | MODERATE | AGGRESSIVE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"AUTOMATIC\",\"description\":\"Generate cutting planes based on a strategy determined by PROC OPTMILP.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"Disable generation of cutting planes.\",\"type\":\"standalone\"},{\"name\":\"MODERATE\",\"description\":\"Use a moderate cut strategy.\",\"type\":\"standalone\"},{\"name\":\"AGGRESSIVE\",\"description\":\"Use an aggressive cut strategy.\",\"type\":\"standalone\"}]},{\"name\":\"CUTGOMORY=\",\"optional\":true,\"description\":\"[Used with MILP Algorithm] Specifies the level of Gomory cuts generated by PROC OPTMILP. The CUTGOMORY= option overrides the ALLCUTS= option. The default value is AUTOMATIC.\",\"help\":\"CUTGOMORY=AUTOMATIC | NONE | MODERATE | AGGRESSIVE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"AUTOMATIC\",\"description\":\"Generate cutting planes based on a strategy determined by PROC OPTMILP.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"Disable generation of cutting planes.\",\"type\":\"standalone\"},{\"name\":\"MODERATE\",\"description\":\"Use a moderate cut strategy.\",\"type\":\"standalone\"},{\"name\":\"AGGRESSIVE\",\"description\":\"Use an aggressive cut strategy.\",\"type\":\"standalone\"}]},{\"name\":\"CUTGUB=\",\"optional\":true,\"description\":\"[Used with MILP Algorithm] Specifies the level of generalized upper bound (GUB) cover cuts generated by PROC OPTMILP. The CUTGUB= option overrides the ALLCUTS= option. The default value is AUTOMATIC.\",\"help\":\"CUTGUB=AUTOMATIC | NONE | MODERATE | AGGRESSIVE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"AUTOMATIC\",\"description\":\"Generate cutting planes based on a strategy determined by PROC OPTMILP.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"Disable generation of cutting planes.\",\"type\":\"standalone\"},{\"name\":\"MODERATE\",\"description\":\"Use a moderate cut strategy.\",\"type\":\"standalone\"},{\"name\":\"AGGRESSIVE\",\"description\":\"Use an aggressive cut strategy.\",\"type\":\"standalone\"}]},{\"name\":\"CUTIMPLIED=\",\"optional\":true,\"description\":\"[Used with MILP Algorithm] Specifies the level of implied bound cuts generated by PROC OPTMILP. The CUTIMPLIED= option overrides the ALLCUTS= option. The default value is AUTOMATIC.\",\"help\":\"CUTIMPLIED=AUTOMATIC | NONE | MODERATE | AGGRESSIVE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"AUTOMATIC\",\"description\":\"Generate cutting planes based on a strategy determined by PROC OPTMILP.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"Disable generation of cutting planes.\",\"type\":\"standalone\"},{\"name\":\"MODERATE\",\"description\":\"Use a moderate cut strategy.\",\"type\":\"standalone\"},{\"name\":\"AGGRESSIVE\",\"description\":\"Use an aggressive cut strategy.\",\"type\":\"standalone\"}]},{\"name\":\"CUTKNAPSACK=\",\"optional\":true,\"description\":\"[Used with MILP Algorithm] Specifies the level of knapsack cover cuts generated by PROC OPTMILP. The CUTKNAPSACK= option overrides the ALLCUTS= option. The default value is AUTOMATIC.\",\"help\":\"CUTKNAPSACK=AUTOMATIC | NONE | MODERATE | AGGRESSIVE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"AUTOMATIC\",\"description\":\"Generate cutting planes based on a strategy determined by PROC OPTMILP.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"Disable generation of cutting planes.\",\"type\":\"standalone\"},{\"name\":\"MODERATE\",\"description\":\"Use a moderate cut strategy.\",\"type\":\"standalone\"},{\"name\":\"AGGRESSIVE\",\"description\":\"Use an aggressive cut strategy.\",\"type\":\"standalone\"}]},{\"name\":\"CUTLAP=\",\"optional\":true,\"description\":\"Specifies the level of lift-and-project (LAP) cuts generated by PROC OPTMILP.\",\"help\":\"CUTLAP=AUTOMATIC | NONE | MODERATE | AGGRESSIVE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"AUTOMATIC\",\"description\":\"Generate cutting planes based on a strategy determined by PROC OPTMILP.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"Disable generation of cutting planes.\",\"type\":\"standalone\"},{\"name\":\"MODERATE\",\"description\":\"Use a moderate cut strategy.\",\"type\":\"standalone\"},{\"name\":\"AGGRESSIVE\",\"description\":\"Use an aggressive cut strategy.\",\"type\":\"standalone\"}]},{\"name\":\"CUTMILIFTED=\",\"optional\":true,\"description\":\"[Used with MILP Algorithm] Specifies the level of mixed lifted 0-1 cuts that are generated by PROC OPTMILP. \\\\ The CUTMILIFTED= option overrides the ALLCUTS=option. The default value is AUTOMATIC.\",\"help\":\"CUTMILIFTED=AUTOMATIC | NONE | MODERATE | AGGRESSIVE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"AUTOMATIC\",\"description\":\"Generate cutting planes based on a strategy determined by PROC OPTMILP.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"Disable generation of cutting planes.\",\"type\":\"standalone\"},{\"name\":\"MODERATE\",\"description\":\"Use a moderate cut strategy.\",\"type\":\"standalone\"},{\"name\":\"AGGRESSIVE\",\"description\":\"Use an aggressive cut strategy.\",\"type\":\"standalone\"}]},{\"name\":\"CUTMIR=\",\"optional\":true,\"description\":\"[Used with MILP Algorithm] Specifies the level of mixed integer rounding (MIR) cuts generated by PROC OPTMILP. The CUTMIR= option overrides the ALLCUTS= option. The default value is AUTOMATIC.\",\"help\":\"CUTMIR=AUTOMATIC | NONE | MODERATE | AGGRESSIVE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"AUTOMATIC\",\"description\":\"Generate cutting planes based on a strategy determined by PROC OPTMILP.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"Disable generation of cutting planes.\",\"type\":\"standalone\"},{\"name\":\"MODERATE\",\"description\":\"Use a moderate cut strategy.\",\"type\":\"standalone\"},{\"name\":\"AGGRESSIVE\",\"description\":\"Use an aggressive cut strategy.\",\"type\":\"standalone\"}]},{\"name\":\"CUTOFF=\",\"optional\":true,\"description\":\"[Used with MILP Algorithm]\",\"help\":\"CUTOFF=*number*\",\"type\":\"value\"},{\"name\":\"CUTSFACTOR=\",\"optional\":true,\"description\":\"[Used with MILP Algorithm] Specifies a row multiplier factor for cuts. The number of cuts added is limited to num times the original number of rows. The value of num can be any nonnegative number less than or equal to 100; the default value is 3.0.\",\"help\":\"CUTSFACTOR=AUTOMATIC | NONE | MODERATE | AGGRESSIVE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"AUTOMATIC\",\"description\":\"Generate cutting planes based on a strategy determined by PROC OPTMILP.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"Disable generation of cutting planes.\",\"type\":\"standalone\"},{\"name\":\"MODERATE\",\"description\":\"Use a moderate cut strategy.\",\"type\":\"standalone\"},{\"name\":\"AGGRESSIVE\",\"description\":\"Use an aggressive cut strategy.\",\"type\":\"standalone\"}]},{\"name\":\"CUTSTRATEGY=\",\"optional\":true,\"aliases\":[\"CUTS=\"],\"description\":\"[Used with MILP Algorithm]\",\"help\":\"CUTSTRATEGY=AUTOMATIC | NONE | MODERATE | AGGRESSIVE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"AUTOMATIC\",\"description\":\"Generate cutting planes based on a strategy determined by PROC OPTMILP.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"Disable generation of cutting planes.\",\"type\":\"standalone\"},{\"name\":\"MODERATE\",\"description\":\"Use a moderate cut strategy.\",\"type\":\"standalone\"},{\"name\":\"AGGRESSIVE\",\"description\":\"Use an aggressive cut strategy.\",\"type\":\"standalone\"}]},{\"name\":\"CUTZEROHALF=\",\"optional\":true,\"description\":\"[Used with MILP Algorithm] Specifies the level of zero-half cuts that are generated by PROC OPTMILP.\",\"help\":\"CUTZEROHALF=AUTOMATIC | NONE | MODERATE | AGGRESSIVE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"AUTOMATIC\",\"description\":\"Generate cutting planes based on a strategy determined by PROC OPTMILP.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"Disable generation of cutting planes.\",\"type\":\"standalone\"},{\"name\":\"MODERATE\",\"description\":\"Use a moderate cut strategy.\",\"type\":\"standalone\"},{\"name\":\"AGGRESSIVE\",\"description\":\"Use an aggressive cut strategy.\",\"type\":\"standalone\"}]},{\"name\":\"EMPHASIS=\",\"optional\":true,\"description\":\"[Used with MILP Algorithm] Specifies a search emphasis string or its corresponding value number: 0 BALANCE -- Performs a balanced search 1 OPTIMAL -- Emphasizes optimality over feasibility 2 FEASIBLE -- Emphasizes feasibility over optimality\",\"help\":\"EMPHASIS=BALANCE | OPTIMAL | FEASIBLE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"BALANCE\",\"description\":\"Performs a balanced search\",\"type\":\"standalone\"},{\"name\":\"OPTIMAL\",\"description\":\"Emphasizes optimality over feasibility\",\"type\":\"standalone\"},{\"name\":\"FEASIBLE\",\"description\":\"Emphasizes feasibility over optimality\",\"type\":\"standalone\"}]},{\"name\":\"FEASTOL=\",\"optional\":true,\"description\":\"[Used with LP and MILP Algorithms] Specifies the feasibility tolerance ϵ Є[1E–9, 1E–4] for determining the feasibility of a variable value. The default value is 1E–6.\",\"type\":\"value\"},{\"name\":\"HEURISTICS=\",\"optional\":true,\"description\":\"[Used with MILP Algorithm] Controls the level of primal heuristics applied by PROC OPTMILP. This level determines how frequently primal heuristics are applied during the branch-and-bound tree search. It also affects the maximum number of iterations allowed in iterative heuristics. Some computationally expensive heuristics might be disabled by the solver at less aggressive levels. Setting HEURISTICS=NONE does not disable the heuristics that repair an infeasible input solution that is specified in a PRIMALIN= data set.\",\"help\":\"HEURISTICS=AUTOMATIC | NONE | BASIC | MODERATE | AGGRESSIVE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"AUTOMATIC\",\"description\":\"Apply default level of heuristics, similar to MODERATE.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"Disable all primal heuristics.\",\"type\":\"standalone\"},{\"name\":\"BASIC\",\"description\":\"Apply basic primal heuristics at low frequency.\",\"type\":\"standalone\"},{\"name\":\"MODERATE\",\"description\":\"Apply most primal heuristics at moderate frequency.\",\"type\":\"standalone\"},{\"name\":\"AGGRESSIVE\",\"description\":\"Apply all primal heuristics at high frequency.\",\"type\":\"standalone\"}]},{\"name\":\"INITPRESOLVER=\",\"optional\":true,\"aliases\":[\"INITPRESOL=\"],\"description\":\"Syntax: INITPRESOLVER=number | string INITPRESOL=number | string [Used with LP and MILP Algorithms]\",\"help\":\"INITPRESOLVER=AUTOMATIC | NONE | BASIC | MODERATE | AGGRESSIVE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"AUTOMATIC\",\"aliases\":[\"-1\"],\"description\":\"Applies the default level of presolve processing.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"aliases\":[\"0\"],\"description\":\"Disables presolver.\",\"type\":\"standalone\"},{\"name\":\"BASIC\",\"aliases\":[\"1\"],\"description\":\"Performs minimal presolve processing.\",\"type\":\"standalone\"},{\"name\":\"MODERATE\",\"aliases\":[\"2\"],\"description\":\"Applies a higher level of presolve processing.\",\"type\":\"standalone\"},{\"name\":\"AGGRESSIVE\",\"aliases\":[\"3\"],\"description\":\"Applies the highest level of presolve processing.\",\"type\":\"standalone\"}]},{\"name\":\"INTTOL=\",\"optional\":true,\"description\":\"[Used with MILP Algorithm]\",\"help\":\"INTTOL=*number*\",\"type\":\"value\"},{\"name\":\"LOGLEVEL=\",\"optional\":true,\"aliases\":[\"PRINTLEVEL2=\"],\"description\":\"Syntax: LOGLEVEL=number | string PRINTLEVEL2=number | string [Used with LP and MILP Algorithms] Controls the amount of information displayed in the SAS log by the solver, from a short description of presolve information and summary to details at each node.\",\"help\":\"LOGLEVEL=NONE |  | BASIC | MODERATE | AGGRESSIVE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NONE\",\"aliases\":[\"0\"],\"description\":\"Turns off all solver-related messages in the SAS log.\",\"type\":\"standalone\"},{\"name\":\"BASIC\",\"aliases\":[\"1\"],\"description\":\"Displays a solver summary after stopping.\",\"type\":\"standalone\"},{\"name\":\"MODERATE\",\"aliases\":[\"2\"],\"description\":\"Prints a solver summary and a node log by using the interval dictated by the LOGFREQ= option.\",\"type\":\"standalone\"},{\"name\":\"AGGRESSIVE\",\"aliases\":[\"3\"],\"description\":\"Prints a detailed solver summary and a node log by using the interval dictated by the LOGFREQ= option.\",\"type\":\"standalone\"}]},{\"name\":\"MAXITER=\",\"optional\":true,\"description\":\"[Used with LP Algorithm]\",\"help\":\"MAXITER=*k*\",\"type\":\"value\"},{\"name\":\"MAXNODES=\",\"optional\":true,\"description\":\"[Used with MILP Algorithm]\",\"help\":\"MAXNODES=*number*\",\"type\":\"value\"},{\"name\":\"MAXSOLS=\",\"optional\":true,\"description\":\"[Used with MILP Algorithm]\",\"help\":\"MAXSOLS=*number*\",\"type\":\"value\"},{\"name\":\"MAXTIME=\",\"optional\":true,\"description\":\"[Used with LP and MILP Algorithms]\",\"help\":\"MAXTIME=*t*\",\"type\":\"value\"},{\"name\":\"NODESEL=\",\"optional\":true,\"description\":\"[Used with MILP Algorithm] Specifies the node selection strategy string or its corresponding value number: –1 AUTOMATIC -- Uses automatic node selection 0 BESTBOUND -- Chooses the node with the best relaxed objective (best-bound-first strategy) 1 BESTESTIMATE -- Chooses the node with the best estimate of the integer objective value (best-estimate-first strategy) 2 DEPTH -- Chooses the most recently created node (depthfirst strategy)\",\"help\":\"NODESEL=AUTOMATIC | BESTBOUND | BESTESTIMATE | DEPTH\",\"type\":\"choice\",\"arguments\":[{\"name\":\"AUTOMATIC\",\"description\":\"Use automatic node selection.\",\"type\":\"standalone\"},{\"name\":\"BESTBOUND\",\"description\":\"Choose the node with the best relaxed objective (best-bound-first strategy).\",\"type\":\"standalone\"},{\"name\":\"BESTESTIMATE\",\"description\":\"Choose the node with the best estimate of the integer objective value (best-estimate-first strategy).\",\"type\":\"standalone\"},{\"name\":\"DEPTH\",\"description\":\"Choose the most recently created node (depth-first strategy).\",\"type\":\"standalone\"}]},{\"name\":\"OPTTOL=\",\"optional\":true,\"description\":\"[Used with LP and MILP Algorithms]\",\"type\":\"value\"},{\"name\":\"PRICETYPE=\",\"optional\":true,\"description\":\"[Used with LP Algorithm] Specifies a pricing strategy for the primal and dual simplex solvers.\",\"help\":\"PRICETYPE=HYBRID | PARTIAL | FULL | DEVEX | STEEPESTEDGE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"HYBRID\",\"description\":\"Use a hybrid of Devex and steepest-edge pricing strategies. Available for the primal simplex solver only.\",\"type\":\"standalone\"},{\"name\":\"PARTIAL\",\"description\":\"Use Dantzig’s rule on a queue of decision variables. Optionally, you can specify QUEUESIZE=. Available for the primal simplex solver only.\",\"type\":\"standalone\"},{\"name\":\"FULL\",\"description\":\"Use Dantzig’s rule on all decision variables.\",\"type\":\"standalone\"},{\"name\":\"DEVEX\",\"description\":\"Use Devex pricing strategy.\",\"type\":\"standalone\"},{\"name\":\"STEEPESTEDGE\",\"description\":\"Use steepest-edge pricing strategy.\",\"type\":\"standalone\"}]},{\"name\":\"PRIMALIN=\",\"optional\":true,\"aliases\":[\"PIN=\"],\"description\":\"Syntax: PRIMALIN=number | string PIN=number | string [Used with MILP Algorithm]\",\"help\":\"PRIMALIN=OFF | ON\",\"type\":\"choice\",\"arguments\":[{\"name\":\"OFF\",\"description\":\"Ignores the previous solution.\",\"type\":\"standalone\"},{\"name\":\"ON\",\"description\":\"Starts from the previous solution.\",\"type\":\"standalone\"}]},{\"name\":\"PRINTLEVEL=\",\"optional\":true,\"description\":\"[Used with LP Algorithm] Specifies whether a summary of the problem and solution should be printed. If PRINTLEVEL=1, then the ODS (Output Delivery System) tables ProblemSummary, SolutionSummary, and PerformanceInfo are produced and printed. If PRINTLEVEL=2, then these tables are produced and printed along with an additional table called ProblemStatistics. If PRINTLEVEL=0, then no ODS tables are produced or printed. The default value is 1.\",\"help\":\"PRINTLEVEL=0 | 1 | 2\",\"type\":\"choice\",\"arguments\":[{\"name\":\"0\",\"description\":\"If PRINTLEVEL=0, then no ODS tables are produced or printed.\",\"type\":\"standalone\"},{\"name\":\"1\",\"description\":\"If PRINTLEVEL=1, then the ODS (Output Delivery System) tables ProblemSummary, SolutionSummary, and PerformanceInfo are produced and printed.\",\"type\":\"standalone\"},{\"name\":\"2\",\"description\":\"If PRINTLEVEL=2, then these tables are produced and printed along with an additional table called ProblemStatistics.\",\"type\":\"standalone\"}]},{\"name\":\"PROBE=\",\"optional\":true,\"description\":\"[Used with MILP Algorithm] Specifies a probing string or its corresponding value number: –1 AUTOMATIC -- Uses the probing strategy determined by PROC OPTMILP 0 NONE -- Disables probing 1 MODERATE -- Uses the probing moderately 2 AGGRESSIVE -- Uses the probing aggressively\",\"help\":\"PROBE=AUTOMATIC | NONE | MODERATE | AGGRESSIVE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"AUTOMATIC\",\"aliases\":[\"-1\"],\"description\":\"Uses the probing strategy determined by PROC OPTMILP\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"aliases\":[\"0\"],\"description\":\"Disables probing\",\"type\":\"standalone\"},{\"name\":\"MODERATE\",\"aliases\":[\"1\"],\"description\":\"Uses the probing moderately\",\"type\":\"standalone\"},{\"name\":\"AGGRESSIVE\",\"aliases\":[\"2\"],\"description\":\"Uses the probing aggressively\",\"type\":\"standalone\"}]},{\"name\":\"QUEUESIZE=\",\"optional\":true,\"description\":\"[Used with LP Algorithm]\",\"help\":\"QUEUESIZE=*k*\",\"type\":\"value\"},{\"name\":\"RELOBJGAP=\",\"optional\":true,\"description\":\"[Used with MILP Algorithm] Specifies a stopping criterion based on the best integer objective (BestInteger) and the objective of the best remaining node (BestBound). The relative objective gap is equal to | BestInteger - BestBound | / (1E-10 + | BestBound |)\",\"help\":\"RELOBJGAP=*number*\",\"type\":\"value\"},{\"name\":\"SCALE=\",\"optional\":true,\"description\":\"[Used with LP and MILP Algorithms] Specifies one of the following scaling options: NONE(0), AUTOMATIC(-1).\",\"help\":\"SCALE=NONE | AUTOMATIC\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NONE\",\"description\":\"Disable scaling.\",\"type\":\"standalone\"},{\"name\":\"AUTOMATIC\",\"description\":\"Automatically apply scaling procedure if necessary.\",\"type\":\"standalone\"}]},{\"name\":\"STOP_DG=\",\"optional\":true,\"description\":\"[Used with LP Algorithm]\",\"type\":\"value\"},{\"name\":\"STOP_DI=\",\"optional\":true,\"description\":\"[Used with LP Algorithm]\",\"type\":\"value\"},{\"name\":\"STOP_PI=\",\"optional\":true,\"description\":\"[Used with LP Algorithm]\",\"type\":\"value\"},{\"name\":\"STRONGLEN=\",\"optional\":true,\"description\":\"[Used with MILP Algorithm]\",\"help\":\"STRONGLEN=&lt;*number*&gt; | AUTOMATIC\",\"type\":\"choice\",\"arguments\":[{\"name\":\"number\",\"placeholder\":true,\"description\":\"Replace <number> with any positive integer up to the largest four-byte signed integer, which is 2³¹ - 1.\",\"type\":\"value\"},{\"name\":\"AUTOMATIC\",\"description\":\"Tells PROC OPTMILP to use the default value; this value is calculated automatically.\",\"type\":\"standalone\"}]},{\"name\":\"TARGET=\",\"optional\":true,\"description\":\"[Used with MILP Algorithm]\",\"help\":\"TARGET=*number*\",\"type\":\"value\"},{\"name\":\"TIMETYPE=\",\"optional\":true,\"description\":\"[Used with LP and MILP Algorithms]\",\"help\":\"TIMETYPE=CPU | REAL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"CPU\",\"description\":\"Specifies units of CPU time.\",\"type\":\"standalone\"},{\"name\":\"REAL\",\"description\":\"Specifies units of real time.\",\"type\":\"standalone\"}]},{\"name\":\"VARSEL=\",\"optional\":true,\"description\":\"Specifies the rule for selecting the branching variable. [Used with MILP Algorithm]\",\"help\":\"VARSEL=AUTOMATIC | MAXINFEAS | MININFEAS | PSEUDO | STRONG\",\"type\":\"choice\",\"arguments\":[{\"name\":\"AUTOMATIC\",\"description\":\"Use automatic branching variable selection.\",\"type\":\"standalone\"},{\"name\":\"MAXINFEAS\",\"description\":\"Choose the variable with maximum infeasibility.\",\"type\":\"standalone\"},{\"name\":\"MININFEAS\",\"description\":\"Choose the variable with minimum infeasibility.\",\"type\":\"standalone\"},{\"name\":\"PSEUDO\",\"description\":\"Choose a branching variable based on pseudocost.\",\"type\":\"standalone\"},{\"name\":\"STRONG\",\"description\":\"Use strong branching variable selection strategy.\",\"type\":\"standalone\"}]}]},{\"name\":\"DECOMP\",\"aliases\":[\"DECOMPOSITION\"],\"description\":\"The DECOMP|DECOMPOSITION statement controls the overall decomposition algorithm.\",\"help\":\"DECOMP &lt;ABSOBJGAP=number&gt;&lt;BLOCKS=SAS-data-set&gt;&lt;COMPRESSFREQ=number&gt; ...\",\"arguments\":[{\"name\":\"ABSOBJGAP=\",\"optional\":true,\"description\":\"Specifies a stopping criterion for the continuous bound of the decomposition. When the absolute difference between the master objective and the best dual bound falls below the value of number, the decomposition algorithm stops adding columns. The value of number can be any nonnegative number. The default value is the value of the OPTTOL= main solver option.\",\"help\":\"ABSOBJGAP=*number*\",\"type\":\"value\"},{\"name\":\"BLOCKS=\",\"optional\":true,\"description\":\"Specifies (for OPTLP and OPTMILP procedures only) the input data set that contains block definitions to be used by the decomposition algorithm if METHOD=USER. To specify blocks in PROC OPTMODEL, use the .block constraint suffix instead.\",\"help\":\"BLOCKS=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"COMPRESSFREQ=\",\"optional\":true,\"description\":\"Removes ineffective columns from the master LP after every number of iterations. The frequency, number, is an integer between 0 and the largest four-byte signed integer, which is 2³¹ - 1. The default value is 0.\",\"help\":\"COMPRESSFREQ=*number*\",\"type\":\"value\"},{\"name\":\"INITVARS=\",\"optional\":true,\"description\":\"Specifies whether to initialize the columns by using the original cost vector to solve each block.\",\"help\":\"INITVARS=OFF | ON\",\"type\":\"choice\",\"arguments\":[{\"name\":\"OFF\",\"description\":\"Disables initializing the columns by using the original cost vector to solve each block.\",\"type\":\"standalone\"},{\"name\":\"ON\",\"description\":\"Enables initializing the columns by using the original cost vector to solve each block.\",\"type\":\"standalone\"}]},{\"name\":\"LOGFREQ=\",\"optional\":true,\"description\":\"Specifies (for MILP problems only) how often to print information in the continuous iteration log. The value of number can be any nonnegative number up to the largest four-byte signed integer, which is 2³¹ - 1. The default value of number is 10. If number is set to 0, then the iteration log is disabled. If number is positive, then an entry is made in the log at the first iteration, at the last iteration, and at intervals that are dictated by the value of number. An entry is also made each time a better integer solution or improved bound is found.\",\"help\":\"LOGFREQ=*number*\",\"type\":\"value\"},{\"name\":\"LOGLEVEL=\",\"optional\":true,\"description\":\"Controls the amount of information that is displayed in the SAS log by the decomposition algorithm.\",\"help\":\"LOGLEVEL=AUTOMATIC | NONE | BASIC | MODERATE | AGGRESSIVE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"AUTOMATIC\",\"aliases\":[\"-1\"],\"description\":\"Prints the continuous iteration log for the root node at the interval dictated by the LOGFREQ= option in the DECOMP statement. Prints the branch-and-bound node log at the interval dictated by the LOGFREQ= main solver option.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"aliases\":[\"0\"],\"description\":\"Turns off printing of all of the decomposition algorithm messages to the SAS log.\",\"type\":\"standalone\"},{\"name\":\"BASIC\",\"aliases\":[\"1\"],\"description\":\"Prints the continuous iteration log for each branch-andbound node at the interval dictated by the LOGFREQ= option in the DECOMP statement.\",\"type\":\"standalone\"},{\"name\":\"MODERATE\",\"aliases\":[\"2\"],\"description\":\"Prints the continuous iteration log and summary information for each iteration of each branch-and-bound node at the interval dictated by the LOGFREQ= option in the DECOMP statement.\",\"type\":\"standalone\"},{\"name\":\"AGGRESSIVE\",\"aliases\":[\"3\"],\"description\":\"Prints the continuous iteration log and detailed information for each iteration of each branch-and-bound node at the interval dictated by the LOGFREQ= option in the DECOMP statement.\",\"type\":\"standalone\"}]},{\"name\":\"MASTER_IP_BEG=\",\"optional\":true,\"description\":\"Specifies (for MILP problems only) whether the master problem is solved as a MILP with the current set of columns at the beginning of phase II.\",\"help\":\"MASTER_IP_BEG=OFF | ON\",\"type\":\"choice\",\"arguments\":[{\"name\":\"OFF\",\"aliases\":[\"0\"],\"description\":\"Disables solving the master as a MILP at the beginning of phase II.\",\"type\":\"standalone\"},{\"name\":\"ON\",\"aliases\":[\"1\"],\"description\":\"Enables solving the master as a MILP at the beginning of phase II.\",\"type\":\"standalone\"}]},{\"name\":\"MASTER_IP_END=\",\"optional\":true,\"description\":\"Specifies (for MILP problems only) whether the master problem is solved as a MILP with the current set of columns at the end of phase II.\",\"help\":\"MASTER_IP_END=OFF | ON\",\"type\":\"choice\",\"arguments\":[{\"name\":\"OFF\",\"aliases\":[\"0\"],\"description\":\"Disables solving the master as a MILP at the end of phase II.\",\"type\":\"standalone\"},{\"name\":\"ON\",\"aliases\":[\"1\"],\"description\":\"Enables solving the master as a MILP at the end of phase II.\",\"type\":\"standalone\"}]},{\"name\":\"MASTER_IP_FREQ=\",\"optional\":true,\"description\":\"Solves the master problem (for MILP problems only) as a MILP with the current set of columns after every number iterations. The frequency, number, is an integer between 0 and the largest four-byte signed integer, which is 2³¹ - 1. The default is 10 in the root node and 0 elsewhere.\",\"help\":\"MASTER_IP_FREQ=*number*\",\"type\":\"value\"},{\"name\":\"MAXBLOCKS=\",\"optional\":true,\"description\":\"Specifies the maximum number of blocks to allow. If the defined number of blocks exceeds number, the algorithm creates superblocks using a very simple round-robin scheme. The value of number can be any positive number; the default value is the positive number that has the largest absolute value that can be represented in your operating environment.\",\"help\":\"MAXBLOCKS=*number*\",\"type\":\"value\"},{\"name\":\"MAXCOLSPASS=\",\"optional\":true,\"description\":\"Specifies the maximum number of new columns to allow into the master at each pass. This option is disabled on the initial pass if INITVARS=1. The default is 100.\",\"help\":\"MAXCOLSPASS=*number*\",\"type\":\"value\"},{\"name\":\"MAXITER=\",\"optional\":true,\"description\":\"Specifies (for MILP problems only) the maximum number of outer iterations for the decomposition algorithm. The value number can be any integer between 1 and the largest four-byte signed integer, which is 2³¹ - 1. If you do not specify this option, the procedure does not stop based on the number of iterations performed.\",\"help\":\"MAXITER=*number*\",\"type\":\"value\"},{\"name\":\"MAXTIME=\",\"optional\":true,\"description\":\"Specifies an upper limit of number seconds of time for the decomposition algorithm. The value of the TIMETYPE= main solver option determines the type of units used. If you do not specify this option, the procedure does not stop based on the amount of time elapsed. The value of number can be any positive number; the default value is the positive number that has the largest absolute value that can be represented in your operating environment.\",\"help\":\"MAXTIME=*number*\",\"type\":\"value\"},{\"name\":\"METHOD=\",\"optional\":true,\"description\":\"Specifies the decomposition algorithm method. The default is USER if blocks are defined and NETWORK otherwise.\",\"help\":\"METHOD=USER | NETWORK | AUTO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"USER\",\"description\":\"The user defines which rows belong to which blocks (subproblems). In PROC OPTMODEL, use the .block constraint suffix. In PROC OPTLP and PROC OPTMILP, use the BLOCKS= data set instead.\",\"type\":\"standalone\"},{\"name\":\"NETWORK\",\"description\":\"The algorithm attempts to find an embedded network similar to what is described in “The Network Simplex Algorithm”. The weakly connected components of this network are used as the blocks.\",\"type\":\"standalone\"},{\"name\":\"AUTO\",\"description\":\"The algorithm attempts to find a block structure in the constraint matrix. For the current release, METHOD=AUTO finds block-diagonal structure only (not block-angular structures); unless your problem separates into completely independent problems with no linking constraints, this method finds only one block and hence is equivalent to calling the MILP solver directly.\",\"type\":\"standalone\"}]},{\"name\":\"RELOBJGAP=\",\"optional\":true,\"description\":\"Specifies the relative objective gap as a stopping criterion. The relative objective gap is based on the master objective (MasterObjective) and the best dual bound (BestBound); it is equal to | MasterObjective - BestBound | / (1E-10 + | BestBound |)\",\"help\":\"RELOBJGAP=*number*\",\"type\":\"value\"}]},{\"name\":\"PERFORMANCE\",\"description\":\"The PERFORMANCE statement defines performance parameters for multithreaded and distributed computing, passes variables about the distributed computing environment, and requests detailed results about the performance characteristics of a High-Performance Analytics procedure. With the PERFORMANCE statement, you can also control whether the HPNLIN procedure executes in SMP or MPP mode.\",\"help\":\"PERFORMANCE &lt;DETAILS&gt;&lt;NTHREADS=&lt;&lt;num&gt; | CPUCOUNT&gt;&gt;&lt;PARALLELMODE=&lt;DETERMINISTIC|0 | NONDETERMINISTIC|1&gt;&gt; ...\",\"arguments\":[{\"name\":\"DETAILS\",\"optional\":true,\"description\":\"Requests that the procedure produce the Timing ODS table. This table shows a breakdown of the time used in each step of the procedure.\",\"type\":\"standalone\"},{\"name\":\"NTHREADS=\",\"optional\":true,\"description\":\"Specifies the number of threads that a procedure can use. It overrides the SAS system option THREADS | NOTHREADS. The value of number can be any integer between 1 and 256 inclusive. The default value is CPUCOUNT, which sets the thread count to the number that is determined by the SAS system option CPUCOUNT=.\",\"help\":\"NTHREADS=&lt;*num*&gt; | CPUCOUNT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"num\",\"placeholder\":true,\"description\":\"Replace <num> with an actual number. The value of number can be any integer between 1 and 256 inclusive. The default value is CPUCOUNT, which sets the thread count to the number that is determined by the SAS system option CPUCOUNT=.\",\"type\":\"value\"},{\"name\":\"CPUCOUNT\",\"description\":\"The default value is CPUCOUNT, which sets the thread count to the number that is determined by the SAS system option CPUCOUNT=\",\"type\":\"standalone\"}]},{\"name\":\"PARALLELMODE=\",\"optional\":true,\"description\":\"Specifies the parallel processing mode. This mode determines the solution results that are obtained from running the same model with the same option values on the same platform multiple times.\",\"help\":\"PARALLELMODE=DETERMINISTIC | NONDETERMINISTIC\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DETERMINISTIC\",\"aliases\":[\"0\"],\"description\":\"Requires algorithms to produce the same results every time.\",\"type\":\"standalone\"},{\"name\":\"NONDETERMINISTIC\",\"aliases\":[\"1\"],\"description\":\"Permits algorithms to produce different solution results. This mode requires less synchronization and might attain better performance than DETERMINISTIC mode.\",\"type\":\"standalone\"}]}]}],\"supportSiteInformation\":{\"docsetId\":\"casmopt\",\"docsetVersion\":\"latest\",\"docsetTargetFile\":\"casmopt_optlp_toc.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/OPTLSO.json",
    "content": "{\"name\":\"OPTLSO\",\"statements\":[{\"name\":\"PROC OPTLSO\",\"description\":\"The OPTLSO procedure performs optimization of general nonlinear functions that are defined by the FCMP procedure in Base SAS over both continuous and integer variables. These functions do not need to be expressed in analytic closed form, and they can be non-smooth, discontinuous, and computationally expensive to evaluate. Problem types can be single-objective or multiobjective. PROC OPTLSO runs in either single-machine mode or distributed mode.\",\"help\":\"PROC OPTLSO *CACHEIN=SAS-data-set**FIRSTGEN=SAS-data-set**MPSDATA=SAS-data-set*MPSDATA=SAS-data-set*NLINCON=SAS-data-set**OBJECTIVE=SAS-data-set**PRIMALIN=SAS-data-set**QPSDATA=SAS-data-set**VARIABLES=SAS-data-set**CACHEOUT=SAS-data-set**LASTGEN=SAS-data-set**PRIMALOUT=SAS-data-set**ABSFCONV=r[n]**MAXFUNC=i**MAXGEN=i**MAXTIME=r**FEASTOL=r**NGLOBAL=i**NLOCAL=i**POPSIZE=i**CACHEMAX=i**PARETOMAX=i**CACHETOL=r**LOGFREQ=i**LOGLEVEL=0 | 1**PRINTLEVEL=0 | 1**SEED=i*\",\"arguments\":[{\"name\":\"CACHEIN=\",\"optional\":true,\"description\":\"names a previously computed sample set. Using a previously computed sample set enables PROC OPTLSO to warm-start. It is crucial that the nonlinear objective and function values be identical to those that were used when the cache data set was generated. For more information, see the section Specifying and Returning Trial Points.\",\"help\":\"CACHEIN=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"FIRSTGEN=\",\"optional\":true,\"description\":\"specifies an initial sample set that defines a subset of the initial population. The columns of this data set should coincide with the same format that is used by the PRIMALIN= data set. If the population size p is smaller than the size of this set, only the first p points of this set are used. For more information, see the section Specifying and Returning Trial Points.\",\"help\":\"FIRSTGEN=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"LINCON=\",\"optional\":true,\"description\":\"uses a dense format to describe the optimization problem’s linear constraints. The corresponding data set should have columns _LB_ and _UB_ to describe lower and upper bounds, respectively. The column _ID_ is reserved for the corresponding constraint name. The remaining columns must correspond to the linear coefficients of the variables that are listed in the VARIABLES= option. For more information, see the section Describing Linear Constraints.\",\"help\":\"LINCON=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"MPSDATA=\",\"optional\":true,\"description\":\"specifies a data set that can be used as a sparse alternative to the LINCON= option, which uses a dense format to define variables. Mathematical programming system (MPS) is a common file format for representing linear and mixed-integer mathematical programs. For an example of using the OPTMODEL procedure to create the corresponding MPS file, see Using MPS Format. Internally, binary variables are converted into integer variables with lower and upper bounds of 0 and 1, respectively. For more information, see the section Describing Linear Constraints.\",\"help\":\"MPSDATA=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"NLINCON=\",\"optional\":true,\"description\":\"names the FCMP functions to be used from the current library as nonlinear constraints, along with respective bounds. This data set should contain three columns: _ID_ to specify the corresponding FCMP function names and _LB_ and _UB_ to specify the lower and upper bounds for the corresponding constraints, respectively. For more information, see the section Describing Nonlinear Constraints.\",\"help\":\"NLINCON=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"OBJECTIVE=\",\"optional\":true,\"description\":\"names the FCMP functions to be used from the current library to form the objective. At a minimum, this data set should have three columns: _ID_ to specify the function name to be used internally by the solver, _FUNCTION_ to specify the corresponding FCMP function, and _SENSE_ to specify whether the objective is to be minimized or maximized. PROC OPTLSO enables you to implicitly define your objective function by using an external data set and an intermediate FCMP function definition that can be used as placeholders to store temporary terms with respect to the external data set. For more information, see the section Describing the Objective Function.\",\"help\":\"OBJECTIVE=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"PRIMALIN=\",\"optional\":true,\"description\":\"specifies an initial sample set to be evaluated. Initial data sets might be useful over a sequence of runs when you want to ensure that PROC OPTLSO generates points that are at least as good as your current best solution. This option is more general than the FIRSTGEN= option because points that are defined in this data set might or might not be used to define the initial population for the genetic algorithm (GA). For more information, see the section Specifying and Returning Trial Points.\",\"help\":\"PRIMALIN=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"QPSDATA=\",\"optional\":true,\"description\":\"specifies a data set that can be used as a sparse alternative to the LINCON= option, which uses a dense format to define variables. Quadratic programming system (QPS) is a common file format for representing linear and mixed-integer mathematical programs that have quadratic terms in the objective function. This option differs from the MPSDATA= option in that any quadratic terms in the objective can be included in the data set. Do not use this option if the problem does not have quadratic terms. For an example of using PROC OPTMODEL to create the corresponding QPS file, see Using QPS Format. Internally, binary variables are converted into integer variables with lower and upper bounds of 0 and 1, respectively.\",\"help\":\"QPSDATA=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"VARIABLES=\",\"optional\":true,\"description\":\"stores the variable names, bounds, type, and scale. These names must match corresponding names, FCMP functions, and related data sets. For more information, see the section The Variable Data Set.\",\"help\":\"VARIABLES=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"CACHEOUT=\",\"optional\":true,\"description\":\"specifies the data set to which all completed function evaluations are output. For more information, see the section Specifying and Returning Trial Points.\",\"help\":\"CACHEOUT=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"LASTGEN=\",\"optional\":true,\"description\":\"specifies the data set to which the members of the current genetic algorithm population are returned on exit. If more than one genetic algorithm is used, the data set combines the members from each population into a single data set.\",\"help\":\"LASTGEN=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"PRIMALOUT=\",\"optional\":true,\"description\":\"specifies the output solution set. You can use this data set in future solves as the input set for the PRIMALIN= option. For more information, see the section Specifying and Returning Trial Points.\",\"help\":\"PRIMALOUT=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"ABSFCONV=\",\"optional\":true,\"description\":\"specifies an absolute function convergence criterion. PROC OPTLSO stops when the changes in the objective function and constraint violation values in successive iterations meet the criterion. The optional integer value n specifies the number of successive iterations for which the criterion must be satisfied before the process is terminated. The default is r=1E–6 and n=10. To cause an early exit, you must specify a value for n that is less than the value of the MAXGEN= option.\",\"help\":\"ABSFCONV=*r[n]*\",\"type\":\"value\"},{\"name\":\"MAXFUNC=\",\"optional\":true,\"description\":\"specifies the maximum number of function calls in the optimization process. The actual number of function evaluations can exceed this number in order to ensure deterministic results.\",\"help\":\"MAXFUNC=*i*\",\"type\":\"value\"},{\"name\":\"MAXGEN=\",\"optional\":true,\"description\":\"specifies the maximum number of genetic algorithm iterations. The default is 500.\",\"help\":\"MAXGEN=*i*\",\"type\":\"value\"},{\"name\":\"MAXTIME=\",\"optional\":true,\"description\":\"specifies an upper limit in seconds on the real time used in the optimization process. The actual running time of PROC OPTLSO optimization might be longer because the actual running time includes the remaining time needed to finish current function evaluations, the time for the output of the (temporary) results, and (if required) the time for saving the results to appropriate data sets. By default, the MAXTIME= option is not used.\",\"help\":\"MAXTIME=*r*\",\"type\":\"value\"},{\"name\":\"FEASTOL=\",\"optional\":true,\"description\":\"specifies a feasibility tolerance for provided constraints. Specify r1E–9. The default is r=1E–3.\",\"help\":\"FEASTOL=*r*\",\"type\":\"value\"},{\"name\":\"NGLOBAL=\",\"optional\":true,\"description\":\"specifies the number of genetic algorithms to create, with each algorithm working on a separate population of the size specified by the POPSIZE= option. Specify i as an integer greater than 0.\",\"help\":\"NGLOBAL=*i*\",\"type\":\"value\"},{\"name\":\"NLOCAL=\",\"optional\":true,\"description\":\"specifies the number of local solvers to create. Specify i as an integer greater than 0. The default is twice the number of variables in the problem.\",\"help\":\"NLOCAL=*i*\",\"type\":\"value\"},{\"name\":\"POPSIZE=\",\"optional\":true,\"description\":\"specifies the population size for the genetic algorithm to use. The default is 40 x ceil(log(n)+1), where n denotes the number of variables.\",\"help\":\"POPSIZE=*i*\",\"type\":\"value\"},{\"name\":\"CACHEMAX=\",\"optional\":true,\"description\":\"specifies the maximum number of points that can be cached. By default, PROC OPTLSO automatically calculates the maximum number of points.\",\"help\":\"CACHEMAX=*i*\",\"type\":\"value\"},{\"name\":\"PARETOMAX=\",\"optional\":true,\"description\":\"specifies the maximum number of points in the Pareto-optimal set. The default is 5,000.\",\"help\":\"PARETOMAX=*i*\",\"type\":\"value\"},{\"name\":\"CACHETOL=\",\"optional\":true,\"description\":\"specifies the cache tolerance to be used for caching and referencing previously evaluated points. For more information about this tolerance, see the section Function Value Caching. The value of r can be any number in the interval [0,1] . The default is 1E–9.\",\"help\":\"CACHETOL=*r*\",\"type\":\"value\"},{\"name\":\"LOGFREQ=\",\"optional\":true,\"description\":\"requests that the solution progress be printed to the iteration log after every i iterations if the value of the LOGLEVEL= option is greater than or equal to 0. The value i=0 disables the printing of the solution progress. The final iteration is always printed if i 1 and LOGLEVEL is nonzero. The default is 1.\",\"help\":\"LOGFREQ=*i*\",\"type\":\"value\"},{\"name\":\"LOGLEVEL=\",\"optional\":true,\"description\":\"controls how much information is printed to the log file. If LOGLEVEL=0, nothing is printed. If LOGLEVEL=1, a short summary of the problem description and final solution status is printed. If LOGLEVEL=0, this option overrides the LOGFREQ= option. By default, LOGLEVEL=1.\",\"help\":\"LOGLEVEL=*0 | 1*\",\"type\":\"value\"},{\"name\":\"PRINTLEVEL=\",\"optional\":true,\"description\":\"specifies whether to print a summary of the problem and solution. If PRINTLEVEL=1, then the Output Delivery System (ODS) tables ProblemSummary, SolutionSummary, and PerformanceInfo are produced and printed. If PRINTLEVEL=0, then no ODS tables are produced. By default, PRINTLEVEL=1. For more information about the ODS tables that are created by PROC OPTLSO, see the section ODS Tables.\",\"help\":\"PRINTLEVEL=*0 | 1*\",\"type\":\"value\"},{\"name\":\"SEED=\",\"optional\":true,\"description\":\"specifies a nonnegative integer as a seed value for the pseudorandom number generator. Pseudorandom numbers are used within the genetic algorithm.\",\"help\":\"SEED=*i*\",\"type\":\"value\"}]},{\"name\":\"PERFORMANCE\",\"description\":\"The PERFORMANCE statement defines performance parameters for multithreaded and distributed computing, passes variables that describe the distributed computing environment, and requests detailed results about the performance characteristics of a SAS high-performance analytics procedure. Note that the SAS High-Performance Optimization license is required to invoke PROC OPTLSO in distributed mode.\"},{\"name\":\"READARRAY\",\"description\":\"PROC FCMP (see The FCMP Procedure) provides the READ_ARRAY function to read data from a SAS data set into array variables. In order to ensure that the referenced data sets are available, PROC OPTLSO also requires that the names of these data sets be provided as a list of names in the READARRAY statement.\"}],\"supportSiteInformation\":{\"docsetId\":\"orlsoug\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"orlsoug_hplso_toc.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/OPTMILP.json",
    "content": "{\"name\":\"OPTMILP\",\"statements\":[{\"name\":\"PROC OPTMILP\",\"description\":\"The OPTMILP procedure is a solver for general mixed integer linear programs (MILPs). † The OPTMILP procedure implements an LP-based branch-and-bound algorithm. This divide-and-conquer approach attempts to solve the original problem by solving linear programming relaxations of a sequence of smaller subproblems. The OPTMILP procedure also implements advanced techniques such as presolving, generating cutting planes, and applying primal heuristics to improve the efficiency of the overall algorithm.\",\"help\":\"PROC OPTMILP <ABSOBJGAP=number | ABSOLUTEOBJECTIVEGAP=number><ALLCUTS=AUTOMATIC | NONE | MODERATE... ><BASIS=CRASH | SLACK | WARMSTART><CONFLICTSEARCH=AUTOMATIC | NONE | MODERATE... ><CUTCLIQUE=AUTOMATIC | NONE | MODERATE... ><CUTFLOWCOVER=AUTOMATIC | NONE | MODERATE... ><CUTFLOWPATH=AUTOMATIC | NONE | MODERATE... ><CUTGOMORY=AUTOMATIC | NONE | MODERATE... ><CUTGUB=AUTOMATIC | NONE | MODERATE... ><CUTIMPLIED=AUTOMATIC | NONE | MODERATE... ><CUTKNAPSACK=AUTOMATIC | NONE | MODERATE... ><CUTLAP=AUTOMATIC | NONE | MODERATE... ><CUTMILIFTED=AUTOMATIC | NONE | MODERATE... ><CUTMIR=AUTOMATIC | NONE | MODERATE... ><CUTMULTICOMMODITY=AUTOMATIC | NONE | MODERATE... ><CUTOFF=number><CUTSFACTOR=AUTOMATIC | NONE | MODERATE... ><CUTSTRATEGY=AUTOMATIC | NONE | MODERATE... ><CUTZEROHALF=AUTOMATIC | NONE | MODERATE... ><DATA=SAS-data-set><DUALOUT=SAS-data-set | DOUT=SAS-data-set><EMPHASIS=BALANCE | OPTIMAL | FEASIBLE><HEURISTICS=AUTOMATIC | NONE | BASIC... ><INTTOL=number><MAXNODES=number><MAXSOLS=number><MAXTIME=k><NODESEL=AUTOMATIC | BESTBOUND | BESTESTIMATE... ><NTHREADS=number><OBJSENSE=MIN | MAX><PRESOLVER=NONE | AUTOMATIC | BASIC... ><PRICETYPE=HYBRID | PARTIAL | FULL... ><PRIMALIN=SAS-data-set><PRIMALOUT=SAS-data-set><PRINTFREQ=k><PRINTLEVEL2=NONE | BASIC | MODERATE... ><PRINTLEVEL=0 | 1 | 2><PRIORITY=TRUE | FALSE><PROBE=AUTOMATIC | NONE | MODERATE... ><RELOBJGAP=number><RESTARTS=AUTOMATIC | NONE | BASIC... ><SCALE=NONE | AUTOMATIC><SEED=number><STRONGITER=STRONGITER=number | AUTOMATIC><STRONGLEN=number | AUTOMATIC><SYMMETRY=AUTOMATIC | NONE | BASIC... ><TARGET=number><TIMETYPE=CPU | REAL><VARSEL=AUTOMATIC | MAXINFEAS | MININFEAS... >;     \\n\\tDECOMPMASTERIP <ABSOBJGAP=number><CUTOFF=number><PRESOLVER=<AUTOMATIC|-1 | NONE|0 | BASIC|1>... > ...;\\n\\n\\tDECOMPMASTER <ALGORITHM=<PRIMAL | DUAL | NETWORK>... ><FEASTOL=ϵ><INITPRESOLVER=<AUTOMATIC|-1 | NONE|0 | BASIC|1>... > ...;\\n\\n\\tDECOMPSUBPROB <ALGORITHM=<PRIMAL | DUAL | NETWORK>... ><FEASTOL=ϵ><INITPRESOLVER=<AUTOMATIC|-1 | NONE|0 | BASIC|1>... > ...;\\n\\n\\tDECOMP <ABSOBJGAP=number><BLOCKS=SAS-data-set><COMPRESSFREQ=number> ...;\\n\\n\\tPERFORMANCE <DETAILS><NTHREADS=<<num> | CPUCOUNT>><PARALLELMODE=<DETERMINISTIC|0 | NONDETERMINISTIC|1>> ...;\\n\\n\\tTUNER <GOAL=<GEOMEAN | SUM>><MAXCONFIGS=number><MAXTIME=number> ...;\\n\",\"arguments\":[{\"name\":\"ABSOBJGAP=\",\"optional\":true,\"aliases\":[\"ABSOLUTEOBJECTIVEGAP=\"],\"description\":\"Specifies a stopping criterion. When the absolute difference between the best integer objective and the objective of the best remaining node becomes smaller than the value of number, the procedure stops. The value of number can be any nonnegative number; the default value is 1E–6.\",\"type\":\"value\"},{\"name\":\"ALLCUTS=\",\"optional\":true,\"description\":\"Provides a shorthand way of setting all the cuts-related options in one setting. In other words, ALLCUTS=num is equivalent to setting each of the individual cuts parameters to the same value num.\",\"help\":\"ALLCUTS=AUTOMATIC | NONE | MODERATE | AGGRESSIVE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"AUTOMATIC\",\"description\":\"Generate cutting planes based on a strategy determined by PROC OPTMILP.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"Disable generation of cutting planes.\",\"type\":\"standalone\"},{\"name\":\"MODERATE\",\"description\":\"Use a moderate cut strategy.\",\"type\":\"standalone\"},{\"name\":\"AGGRESSIVE\",\"description\":\"Use an aggressive cut strategy.\",\"type\":\"standalone\"}]},{\"name\":\"BASIS=\",\"optional\":true,\"description\":\"Specifies one of three available options for generating an initial basis.\",\"help\":\"BASIS=CRASH | SLACK | WARMSTART\",\"type\":\"choice\",\"arguments\":[{\"name\":\"CRASH\",\"description\":\"Generate an initial basis by using crash techniques (Maros 2003). The procedure creates a triangular basic matrix consisting of both decision variables and slack variables. This is the default setting.\",\"type\":\"standalone\"},{\"name\":\"SLACK\",\"description\":\"Generate an initial basis by using all slack variables.\",\"type\":\"standalone\"},{\"name\":\"WARMSTART\",\"description\":\"Start the simplex solvers with a user-specified initial basis. The PRIMALIN= and DUALIN= data sets are required to specify an initial basis.\",\"type\":\"standalone\"}]},{\"name\":\"CONFLICTSEARCH=\",\"optional\":true,\"description\":\"Specifies the level of conflict search performed by PROC OPTMILP. Conflict search is used to find clauses resulting from infeasible subproblems that arise in the search tree.\",\"help\":\"CONFLICTSEARCH=AUTOMATIC | NONE | MODERATE | AGGRESSIVE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"AUTOMATIC\",\"description\":\"Performs conflict search based on a strategy determined by PROC OPTMILP\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"Disables conflict search\",\"type\":\"standalone\"},{\"name\":\"MODERATE\",\"description\":\"Performs a moderate conflict search\",\"type\":\"standalone\"},{\"name\":\"AGGRESSIVE\",\"description\":\"Performs an aggressive conflict search\",\"type\":\"standalone\"}]},{\"name\":\"CUTCLIQUE=\",\"optional\":true,\"description\":\"Specifies the level of clique cuts generated by PROC OPTMILP. The CUTCLIQUE= option overrides the ALLCUTS= option. The default value is AUTOMATIC.\",\"help\":\"CUTCLIQUE=AUTOMATIC | NONE | MODERATE | AGGRESSIVE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"AUTOMATIC\",\"description\":\"Generate cutting planes based on a strategy determined by PROC OPTMILP.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"Disable generation of cutting planes.\",\"type\":\"standalone\"},{\"name\":\"MODERATE\",\"description\":\"Use a moderate cut strategy.\",\"type\":\"standalone\"},{\"name\":\"AGGRESSIVE\",\"description\":\"Use an aggressive cut strategy.\",\"type\":\"standalone\"}]},{\"name\":\"CUTFLOWCOVER=\",\"optional\":true,\"description\":\"Specifies the level of flow cover cuts generated by PROC OPTMILP. The CUTFLOWCOVER= option overrides the ALLCUTS= option. The default value is AUTOMATIC.\",\"help\":\"CUTFLOWCOVER=AUTOMATIC | NONE | MODERATE | AGGRESSIVE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"AUTOMATIC\",\"description\":\"Generate cutting planes based on a strategy determined by PROC OPTMILP.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"Disable generation of cutting planes.\",\"type\":\"standalone\"},{\"name\":\"MODERATE\",\"description\":\"Use a moderate cut strategy.\",\"type\":\"standalone\"},{\"name\":\"AGGRESSIVE\",\"description\":\"Use an aggressive cut strategy.\",\"type\":\"standalone\"}]},{\"name\":\"CUTFLOWPATH=\",\"optional\":true,\"description\":\"Specifies the level of flow path cuts generated by PROC OPTMILP. The CUTFLOWPATH= option overrides the ALLCUTS= option. The default value is AUTOMATIC.\",\"help\":\"CUTFLOWPATH=AUTOMATIC | NONE | MODERATE | AGGRESSIVE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"AUTOMATIC\",\"description\":\"Generate cutting planes based on a strategy determined by PROC OPTMILP.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"Disable generation of cutting planes.\",\"type\":\"standalone\"},{\"name\":\"MODERATE\",\"description\":\"Use a moderate cut strategy.\",\"type\":\"standalone\"},{\"name\":\"AGGRESSIVE\",\"description\":\"Use an aggressive cut strategy.\",\"type\":\"standalone\"}]},{\"name\":\"CUTGOMORY=\",\"optional\":true,\"description\":\"Specifies the level of Gomory cuts generated by PROC OPTMILP. The CUTGOMORY= option overrides the ALLCUTS= option. The default value is AUTOMATIC.\",\"help\":\"CUTGOMORY=AUTOMATIC | NONE | MODERATE | AGGRESSIVE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"AUTOMATIC\",\"description\":\"Generate cutting planes based on a strategy determined by PROC OPTMILP.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"Disable generation of cutting planes.\",\"type\":\"standalone\"},{\"name\":\"MODERATE\",\"description\":\"Use a moderate cut strategy.\",\"type\":\"standalone\"},{\"name\":\"AGGRESSIVE\",\"description\":\"Use an aggressive cut strategy.\",\"type\":\"standalone\"}]},{\"name\":\"CUTGUB=\",\"optional\":true,\"description\":\"Specifies the level of generalized upper bound (GUB) cover cuts generated by PROC OPTMILP. The CUTGUB= option overrides the ALLCUTS= option. The default value is AUTOMATIC.\",\"help\":\"CUTGUB=AUTOMATIC | NONE | MODERATE | AGGRESSIVE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"AUTOMATIC\",\"description\":\"Generate cutting planes based on a strategy determined by PROC OPTMILP.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"Disable generation of cutting planes.\",\"type\":\"standalone\"},{\"name\":\"MODERATE\",\"description\":\"Use a moderate cut strategy.\",\"type\":\"standalone\"},{\"name\":\"AGGRESSIVE\",\"description\":\"Use an aggressive cut strategy.\",\"type\":\"standalone\"}]},{\"name\":\"CUTIMPLIED=\",\"optional\":true,\"description\":\"Specifies the level of implied bound cuts generated by PROC OPTMILP. The CUTIMPLIED= option overrides the ALLCUTS= option. The default value is AUTOMATIC.\",\"help\":\"CUTIMPLIED=AUTOMATIC | NONE | MODERATE | AGGRESSIVE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"AUTOMATIC\",\"description\":\"Generate cutting planes based on a strategy determined by PROC OPTMILP.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"Disable generation of cutting planes.\",\"type\":\"standalone\"},{\"name\":\"MODERATE\",\"description\":\"Use a moderate cut strategy.\",\"type\":\"standalone\"},{\"name\":\"AGGRESSIVE\",\"description\":\"Use an aggressive cut strategy.\",\"type\":\"standalone\"}]},{\"name\":\"CUTKNAPSACK=\",\"optional\":true,\"description\":\"Specifies the level of knapsack cover cuts generated by PROC OPTMILP. The CUTKNAPSACK= option overrides the ALLCUTS= option. The default value is AUTOMATIC.\",\"help\":\"CUTKNAPSACK=AUTOMATIC | NONE | MODERATE | AGGRESSIVE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"AUTOMATIC\",\"description\":\"Generate cutting planes based on a strategy determined by PROC OPTMILP.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"Disable generation of cutting planes.\",\"type\":\"standalone\"},{\"name\":\"MODERATE\",\"description\":\"Use a moderate cut strategy.\",\"type\":\"standalone\"},{\"name\":\"AGGRESSIVE\",\"description\":\"Use an aggressive cut strategy.\",\"type\":\"standalone\"}]},{\"name\":\"CUTLAP=\",\"optional\":true,\"description\":\"Specifies the level of lift-and-project (LAP) cuts generated by PROC OPTMILP.\",\"help\":\"CUTLAP=AUTOMATIC | NONE | MODERATE | AGGRESSIVE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"AUTOMATIC\",\"description\":\"Generate cutting planes based on a strategy determined by PROC OPTMILP.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"Disable generation of cutting planes.\",\"type\":\"standalone\"},{\"name\":\"MODERATE\",\"description\":\"Use a moderate cut strategy.\",\"type\":\"standalone\"},{\"name\":\"AGGRESSIVE\",\"description\":\"Use an aggressive cut strategy.\",\"type\":\"standalone\"}]},{\"name\":\"CUTMILIFTED=\",\"optional\":true,\"description\":\"Specifies the level of mixed lifted 0-1 cuts that are generated by PROC OPTMILP. \\\\ The CUTMILIFTED= option overrides the ALLCUTS=option. The default value is AUTOMATIC.\",\"help\":\"CUTMILIFTED=AUTOMATIC | NONE | MODERATE | AGGRESSIVE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"AUTOMATIC\",\"description\":\"Generate cutting planes based on a strategy determined by PROC OPTMILP.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"Disable generation of cutting planes.\",\"type\":\"standalone\"},{\"name\":\"MODERATE\",\"description\":\"Use a moderate cut strategy.\",\"type\":\"standalone\"},{\"name\":\"AGGRESSIVE\",\"description\":\"Use an aggressive cut strategy.\",\"type\":\"standalone\"}]},{\"name\":\"CUTMIR=\",\"optional\":true,\"description\":\"Specifies the level of mixed integer rounding (MIR) cuts generated by PROC OPTMILP. The CUTMIR= option overrides the ALLCUTS= option. The default value is AUTOMATIC.\",\"help\":\"CUTMIR=AUTOMATIC | NONE | MODERATE | AGGRESSIVE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"AUTOMATIC\",\"description\":\"Generate cutting planes based on a strategy determined by PROC OPTMILP.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"Disable generation of cutting planes.\",\"type\":\"standalone\"},{\"name\":\"MODERATE\",\"description\":\"Use a moderate cut strategy.\",\"type\":\"standalone\"},{\"name\":\"AGGRESSIVE\",\"description\":\"Use an aggressive cut strategy.\",\"type\":\"standalone\"}]},{\"name\":\"CUTMULTICOMMODITY=\",\"optional\":true,\"description\":\"Specifies the level of multicommodity network flow cuts generated by PROC OPTMILP. This option overrides the ALLCUTS= option. By default, CUTMULTICOMMODITY=AUTOMATIC.\",\"help\":\"CUTMULTICOMMODITY=AUTOMATIC | NONE | MODERATE | AGGRESSIVE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"AUTOMATIC\",\"description\":\"Generate cutting planes based on a strategy determined by PROC OPTMILP.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"Disable generation of cutting planes.\",\"type\":\"standalone\"},{\"name\":\"MODERATE\",\"description\":\"Use a moderate cut strategy.\",\"type\":\"standalone\"},{\"name\":\"AGGRESSIVE\",\"description\":\"Use an aggressive cut strategy.\",\"type\":\"standalone\"}]},{\"name\":\"CUTOFF=\",\"optional\":true,\"description\":\"Cuts off any nodes in a minimization (maximization) problem with an objective value above (below) num. The value of num can be any number; the default value is the positive (negative) number that has the largest absolute value representable in your operating environment.\",\"help\":\"CUTOFF=*number*\",\"type\":\"value\"},{\"name\":\"CUTSFACTOR=\",\"optional\":true,\"description\":\"Specifies a row multiplier factor for cuts. The number of cuts added is limited to num times the original number of rows. The value of num can be any nonnegative number less than or equal to 100; the default value is 3.0.\",\"help\":\"CUTSFACTOR=AUTOMATIC | NONE | MODERATE | AGGRESSIVE*m*\",\"type\":\"value\",\"arguments\":[{\"name\":\"AUTOMATIC\",\"description\":\"Generate cutting planes based on a strategy determined by PROC OPTMILP.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"Disable generation of cutting planes.\",\"type\":\"standalone\"},{\"name\":\"MODERATE\",\"description\":\"Use a moderate cut strategy.\",\"type\":\"standalone\"},{\"name\":\"AGGRESSIVE\",\"description\":\"Use an aggressive cut strategy.\",\"type\":\"standalone\"}]},{\"name\":\"CUTSTRATEGY=\",\"optional\":true,\"aliases\":[\"CUTS=\"],\"description\":\"Specifies the overall aggressiveness of the cut generation in the solver. Setting a nondefault value adjusts a number of cut parameters such that the cut generation is basic, moderate, or aggressive compared to the default value.\",\"help\":\"CUTSTRATEGY=AUTOMATIC | NONE | MODERATE | AGGRESSIVE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"AUTOMATIC\",\"description\":\"Generate cutting planes based on a strategy determined by PROC OPTMILP.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"Disable generation of cutting planes.\",\"type\":\"standalone\"},{\"name\":\"MODERATE\",\"description\":\"Use a moderate cut strategy.\",\"type\":\"standalone\"},{\"name\":\"AGGRESSIVE\",\"description\":\"Use an aggressive cut strategy.\",\"type\":\"standalone\"}]},{\"name\":\"CUTZEROHALF=\",\"optional\":true,\"description\":\"Specifies the level of zero-half cuts that are generated by PROC OPTMILP.\",\"help\":\"CUTZEROHALF=AUTOMATIC | NONE | MODERATE | AGGRESSIVE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"AUTOMATIC\",\"description\":\"Generate cutting planes based on a strategy determined by PROC OPTMILP.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"Disable generation of cutting planes.\",\"type\":\"standalone\"},{\"name\":\"MODERATE\",\"description\":\"Use a moderate cut strategy.\",\"type\":\"standalone\"},{\"name\":\"AGGRESSIVE\",\"description\":\"Use an aggressive cut strategy.\",\"type\":\"standalone\"}]},{\"name\":\"DATA=\",\"optional\":true,\"aliases\":[\"TABLE=\",\"INSTANCE=\"],\"description\":\"Specifies the input data set corresponding to the MILP model. If this option is not specified, PROC OPTMILP uses the most recently created SAS data set.\",\"help\":\"DATA=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"DUALOUT=\",\"optional\":true,\"aliases\":[\"DOUT=\"],\"description\":\"Specifies the output data set to contain the constraint activities.\",\"type\":\"value\"},{\"name\":\"EMPHASIS=\",\"optional\":true,\"description\":\"Specifies a search emphasis option.\",\"help\":\"EMPHASIS=BALANCE | OPTIMAL | FEASIBLE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"BALANCE\",\"description\":\"Perform a balanced search.\",\"type\":\"standalone\"},{\"name\":\"OPTIMAL\",\"description\":\"Emphasize optimality over feasibility.\",\"type\":\"standalone\"},{\"name\":\"FEASIBLE\",\"description\":\"Emphasize feasibility over optimality.\",\"type\":\"standalone\"}]},{\"name\":\"HEURISTICS=\",\"optional\":true,\"description\":\"Enables the user to control the level of primal heuristics applied by PROC OPTMILP.\",\"help\":\"HEURISTICS=AUTOMATIC | NONE | BASIC | MODERATE | AGGRESSIVE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"AUTOMATIC\",\"description\":\"Apply default level of heuristics, similar to MODERATE.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"Disable all primal heuristics.\",\"type\":\"standalone\"},{\"name\":\"BASIC\",\"description\":\"Apply basic primal heuristics at low frequency.\",\"type\":\"standalone\"},{\"name\":\"MODERATE\",\"description\":\"Apply most primal heuristics at moderate frequency.\",\"type\":\"standalone\"},{\"name\":\"AGGRESSIVE\",\"description\":\"Apply all primal heuristics at high frequency.\",\"type\":\"standalone\"}]},{\"name\":\"INTTOL=\",\"optional\":true,\"description\":\"Specifies the amount by which an integer variable value can differ from an integer and still be considered integer feasible. The value of num can be any number between 0.0 and 1.0; the default value is 1E-5.\",\"help\":\"INTTOL=*number*\",\"type\":\"value\"},{\"name\":\"MAXNODES=\",\"optional\":true,\"description\":\"Specifies the maximum number of branch-and-bound nodes to be processed. The value of num can be any nonnegative integer up to the largest four-byte signed integer, which is 2³¹-1. The default value is 2³¹-1.\",\"help\":\"MAXNODES=*number*\",\"type\":\"value\"},{\"name\":\"MAXSOLS=\",\"optional\":true,\"description\":\"Specifies a stopping criterion. If num solutions have been found, then the procedure stops. The value of num can be any positive integer up to the largest four-byte signed integer, which is 2³¹-1. The default value is 2³¹-1.\",\"help\":\"MAXSOLS=*number*\",\"type\":\"value\"},{\"name\":\"MAXTIME=\",\"optional\":true,\"description\":\"Specifies the maximum time allowed for PROC OPTMILP to read in the data and find a solution.\",\"help\":\"MAXTIME=*k*\",\"type\":\"value\"},{\"name\":\"NODESEL=\",\"optional\":true,\"description\":\"Specifies the node selection strategy option.\",\"help\":\"NODESEL=AUTOMATIC | BESTBOUND | BESTESTIMATE | DEPTH\",\"type\":\"choice\",\"arguments\":[{\"name\":\"AUTOMATIC\",\"description\":\"Use automatic node selection.\",\"type\":\"standalone\"},{\"name\":\"BESTBOUND\",\"description\":\"Choose the node with the best relaxed objective (best-bound-first strategy).\",\"type\":\"standalone\"},{\"name\":\"BESTESTIMATE\",\"description\":\"Choose the node with the best estimate of the integer objective value (best-estimate-first strategy).\",\"type\":\"standalone\"},{\"name\":\"DEPTH\",\"description\":\"Choose the most recently created node (depth-first strategy).\",\"type\":\"standalone\"}]},{\"name\":\"NTHREADS=\",\"optional\":true,\"description\":\"Specifies the maximum number of threads to use for multithreaded processing. The branch-and-cut algorithm can take advantage of multicore machines and can potentially run faster when number is greater than 1. The value of number can be any integer between 1 and 256, inclusive. The default is the number of cores on the machine that executes the process or the number of cores permissible based on your installation (whichever is less). The number of simultaneously active CPUs is limited by your installation and license configuration.\",\"help\":\"NTHREADS=*number*\",\"type\":\"value\"},{\"name\":\"OBJSENSE=\",\"optional\":true,\"description\":\"Specifies whether the MILP model is a minimization or a maximization problem.\",\"help\":\"OBJSENSE=MIN | MAX\",\"type\":\"choice\",\"arguments\":[{\"name\":\"MIN\",\"description\":\"For a minimization problem.\",\"type\":\"standalone\"},{\"name\":\"MAX\",\"description\":\"For a maximization problem.\",\"type\":\"standalone\"}]},{\"name\":\"PRESOLVER=\",\"optional\":true,\"description\":\"Specifies a presolve option.\",\"help\":\"PRESOLVER=NONE | AUTOMATIC | BASIC | MODERATE | AGGRESSIVE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NONE\",\"description\":\"Disable presolver.\",\"type\":\"standalone\"},{\"name\":\"AUTOMATIC\",\"description\":\"Applies the default level of presolve processing.\",\"type\":\"standalone\"},{\"name\":\"BASIC\",\"description\":\"Performs minimal presolve processing.\",\"type\":\"standalone\"},{\"name\":\"MODERATE\",\"description\":\"Applies a higher level of presolve processing.\",\"type\":\"standalone\"},{\"name\":\"AGGRESSIVE\",\"description\":\"Applies the highest level of presolve processing.\",\"type\":\"standalone\"}]},{\"name\":\"PRICETYPE=\",\"optional\":true,\"description\":\"Specifies one of 5 available pricing strategies for the simplex solvers.\",\"help\":\"PRICETYPE=HYBRID | PARTIAL | FULL | DEVEX | STEEPESTEDGE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"HYBRID\",\"description\":\"Use a hybrid of Devex and steepest-edge pricing strategies. Available for the primal simplex solver only.\",\"type\":\"standalone\"},{\"name\":\"PARTIAL\",\"description\":\"Use the Dantzig's rule on a queue of decision variables. Optionally, you can specify QUEUESIZE=. Available for the primal simplex solver only.\",\"type\":\"standalone\"},{\"name\":\"FULL\",\"description\":\"Use the Dantzig's rule on all decision variables.\",\"type\":\"standalone\"},{\"name\":\"DEVEX\",\"description\":\"Use Devex pricing strategy.\",\"type\":\"standalone\"},{\"name\":\"STEEPESTEDGE\",\"description\":\"Use steepest-edge pricing strategy.\",\"type\":\"standalone\"}]},{\"name\":\"PRIMALIN=\",\"optional\":true,\"description\":\"Enables you to input an integer feasible solution in a SAS data set. PROC OPTMILP validates both the data set and the solution stored in the data set. If both are valid, then the input solution provides an incumbent solution and a bound for the branch-and-bound algorithm. If either the data set or the solution is not valid, then the PRIMALIN= data are ignored.\",\"help\":\"PRIMALIN=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"PRIMALOUT=\",\"optional\":true,\"aliases\":[\"POUT=\"],\"description\":\"Specifies the output data set for the primal solution.\",\"help\":\"PRIMALOUT=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"PRINTFREQ=\",\"optional\":true,\"description\":\"Specifies how often information is printed in the node log. The value of num can be any nonnegative integer up to the largest four-byte signed integer, which is 2³¹-1.\",\"help\":\"PRINTFREQ=*k*\",\"type\":\"value\"},{\"name\":\"PRINTLEVEL2=\",\"optional\":true,\"description\":\"Controls the amount of information displayed in the SAS log by the solver, from a short description of presolve information and summary to details at each node.\",\"help\":\"PRINTLEVEL2=NONE | BASIC | MODERATE | AGGRESSIVE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NONE\",\"description\":\"Turn off all solver-related messages in SAS log.\",\"type\":\"standalone\"},{\"name\":\"BASIC\",\"description\":\"Display a solver summary after stopping.\",\"type\":\"standalone\"},{\"name\":\"MODERATE\",\"description\":\"Print a solver summary and a node log by using the interval dictated by the PRINTFREQ= option.\",\"type\":\"standalone\"},{\"name\":\"AGGRESSIVE\",\"description\":\"Print a detailed solver summary and a node log by using the interval dictated by the PRINTFREQ= option.\",\"type\":\"standalone\"}]},{\"name\":\"PRINTLEVEL=\",\"optional\":true,\"description\":\"Specifies whether a summary of the problem and solution should be printed.\",\"help\":\"PRINTLEVEL=0 | 1 | 2\",\"type\":\"choice\",\"arguments\":[{\"name\":\"0\",\"description\":\"No ODS tables are produced or printed.\",\"type\":\"standalone\"},{\"name\":\"1\",\"description\":\"Two ODS (Output Delivery System) tables named \\\"ProblemSummary\\\" and \\\"SolutionSummary\\\" are produced and printed. This is the default.\",\"type\":\"standalone\"},{\"name\":\"2\",\"description\":\"The \\\"ProblemSummary\\\" and \\\"SolutionSummary\\\" tables are produced and printed along with a third table called \\\"ProblemStatistics.\\\"\",\"type\":\"standalone\"}]},{\"name\":\"PRIORITY=\",\"optional\":true,\"description\":\"Indicates whether or not to use specified branching priorities for integer variables.\",\"help\":\"PRIORITY=TRUE | FALSE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"TRUE\",\"description\":\"Uses priorities when they exist.\",\"type\":\"standalone\"},{\"name\":\"FALSE\",\"description\":\"Ignores variable priorities\",\"type\":\"standalone\"}]},{\"name\":\"PROBE=\",\"optional\":true,\"description\":\"Specifies a probing option.\",\"help\":\"PROBE=AUTOMATIC | NONE | MODERATE | AGGRESSIVE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"AUTOMATIC\",\"description\":\"Probing strategy determined by PROC OPTMILP.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"Disable probing.\",\"type\":\"standalone\"},{\"name\":\"MODERATE\",\"description\":\"Use probing moderately.\",\"type\":\"standalone\"},{\"name\":\"AGGRESSIVE\",\"description\":\"Use probing aggressively.\",\"type\":\"standalone\"}]},{\"name\":\"RELOBJGAP=\",\"optional\":true,\"description\":\"Specifies a stopping criterion based on the best integer objective (BestInteger) and the objective of the best remaining node (BestBound).\",\"help\":\"RELOBJGAP=*number*\",\"type\":\"value\"},{\"name\":\"RESTARTS=\",\"optional\":true,\"description\":\"Specifies the strategy for restarting the processing of the root node.\",\"help\":\"RESTARTS=AUTOMATIC | NONE | BASIC | MODERATE | AGGRESSIVE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"AUTOMATIC\",\"description\":\"Uses a restarting strategy determined by PROC OPTMILP.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"Disables restarting.\",\"type\":\"standalone\"},{\"name\":\"BASIC\",\"description\":\"Uses a basic restarting strategy.\",\"type\":\"standalone\"},{\"name\":\"MODERATE\",\"description\":\"Uses a moderate restarting strategy.\",\"type\":\"standalone\"},{\"name\":\"AGGRESSIVE\",\"description\":\"Uses an aggressive restarting strategy.\",\"type\":\"standalone\"}]},{\"name\":\"SCALE=\",\"optional\":true,\"description\":\"Indicates whether or not to scale the problem matrix.\",\"help\":\"SCALE=NONE | AUTOMATIC\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NONE\",\"description\":\"Disables scaling.\",\"type\":\"standalone\"},{\"name\":\"AUTOMATIC\",\"description\":\"Scales the matrix as determined by PROC OPTMILP. This is the default.\",\"type\":\"standalone\"}]},{\"name\":\"SEED=\",\"optional\":true,\"description\":\"Specifies the initial seed for the random number generator. Because the seed affects the perturbation in the simplex algorithms, the result might be a different optimal solution and a different solver path, but the effect is usually negligible.\",\"help\":\"SEED=*number*\",\"type\":\"value\"},{\"name\":\"STRONGITER=\",\"optional\":true,\"description\":\"Specifies the number of simplex iterations performed for each variable in the candidate list when using the strong branching variable selection strategy. If you specify the keyword AUTOMATIC, PROC OPTMILP uses the default value; this value is calculated automatically.\",\"type\":\"value\"},{\"name\":\"STRONGLEN=\",\"optional\":true,\"description\":\"Specifies the number of candidates used when performing the strong branching variable selection strategy. The value of num can be any positive integer up to the largest four-byte signed integer, which is 2³¹-1. If you specify the keyword AUTOMATIC, PROC OPTMILP uses the default value; this value is calculated automatically.\",\"type\":\"value\"},{\"name\":\"SYMMETRY=\",\"optional\":true,\"description\":\"Specifies the level of symmetry detection. Symmetry detection identifies groups of equivalent decision variables and uses this information to solve the problem more efficiently.\",\"help\":\"SYMMETRY=AUTOMATIC | NONE | BASIC | MODERATE | AGGRESSIVE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"AUTOMATIC\",\"description\":\"performs symmetry detection based on a strategy that is determined by PROC OPTMILP.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"disables symmetry detection.\",\"type\":\"standalone\"},{\"name\":\"BASIC\",\"description\":\"performs a basic symmetry detection.\",\"type\":\"standalone\"},{\"name\":\"MODERATE\",\"description\":\"performs a moderate symmetry detection.\",\"type\":\"standalone\"},{\"name\":\"AGGRESSIVE\",\"description\":\"performs an aggressive symmetry detection.\",\"type\":\"standalone\"}]},{\"name\":\"TARGET=\",\"optional\":true,\"description\":\"Specifies a stopping criterion for minimization (maximization) problems. If the best integer objective is better than or equal to num, the procedure stops. The value of num can be any number; the default value is the negative (positive) number that has the largest absolute value representable in your operating environment.\",\"help\":\"TARGET=*number*\",\"type\":\"value\"},{\"name\":\"TIMETYPE=\",\"optional\":true,\"description\":\"Specifies whether CPU time or real time is used for the MAXTIME= option and the _OROPTMILP_ macro variable in a PROC OPTMILP call.\",\"help\":\"TIMETYPE=CPU | REAL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"CPU\",\"description\":\"Specifies that units are in CPU time.\",\"type\":\"standalone\"},{\"name\":\"REAL\",\"description\":\"Specifies that units are in real time.\",\"type\":\"standalone\"}]},{\"name\":\"VARSEL=\",\"optional\":true,\"description\":\"Specifies the rule for selecting the branching variable.\",\"help\":\"VARSEL=AUTOMATIC | MAXINFEAS | MININFEAS | PSEUDO | STRONG\",\"type\":\"choice\",\"arguments\":[{\"name\":\"AUTOMATIC\",\"description\":\"Uses automatic branching variable selection.\",\"type\":\"standalone\"},{\"name\":\"MAXINFEAS\",\"description\":\"Chooses the variable with maximum infeasibility.\",\"type\":\"standalone\"},{\"name\":\"MININFEAS\",\"description\":\"Chooses the variable with minimum infeasibility.\",\"type\":\"standalone\"},{\"name\":\"PSEUDO\",\"description\":\"Chooses a branching variable based on pseudocost.\",\"type\":\"standalone\"},{\"name\":\"STRONG\",\"description\":\"Uses strong branching variable selection strategy.\",\"type\":\"standalone\"}]}]},{\"name\":\"DECOMPMASTERIP\",\"aliases\":[\"DECOMPOSITIONMASTERIP\",\"MASTERIP\"],\"description\":\"For mixed integer linear programming problems, the DECOMPMASTERIP|DECOMPOSITIONMASTERIP|MASTERIP statement controls the (restricted) master problem, which is solved as a MILP with the current set of columns in an effort to obtain an integer-feasible solution.\",\"help\":\"DECOMPMASTERIP &lt;ABSOBJGAP=number&gt;&lt;CUTOFF=number&gt;&lt;PRESOLVER=&lt;AUTOMATIC|-1 | NONE|0 | BASIC|1&gt;... &gt; ...\",\"arguments\":[{\"name\":\"ABSOBJGAP=\",\"optional\":true,\"description\":\"Specifies a stopping criterion. When the absolute difference between the best integer objective and the objective of the best remaining node becomes smaller than the value of number, the procedure stops. The value of number can be any nonnegative number; the default value is 1E–6.\",\"help\":\"ABSOBJGAP=*number*\",\"type\":\"value\"},{\"name\":\"ALLCUTS=\",\"optional\":true,\"description\":\"Provides a shorthand way of setting all the cuts-related options in one setting. In other words, ALLCUTS=num is equivalent to setting each of the individual cuts parameters to the same value num.\",\"help\":\"ALLCUTS=AUTOMATIC | NONE | MODERATE | AGGRESSIVE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"AUTOMATIC\",\"description\":\"Generate cutting planes based on a strategy determined by PROC OPTMILP.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"Disable generation of cutting planes.\",\"type\":\"standalone\"},{\"name\":\"MODERATE\",\"description\":\"Use a moderate cut strategy.\",\"type\":\"standalone\"},{\"name\":\"AGGRESSIVE\",\"description\":\"Use an aggressive cut strategy.\",\"type\":\"standalone\"}]},{\"name\":\"CONFLICTSEARCH=\",\"optional\":true,\"description\":\"Specifies the level of conflict search performed by PROC OPTMILP. Conflict search is used to find clauses resulting from infeasible subproblems that arise in the search tree.\",\"help\":\"CONFLICTSEARCH=AUTOMATIC | NONE | MODERATE | AGGRESSIVE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"AUTOMATIC\",\"description\":\"Performs conflict search based on a strategy determined by PROC OPTMILP\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"Disables conflict search\",\"type\":\"standalone\"},{\"name\":\"MODERATE\",\"description\":\"Performs a moderate conflict search\",\"type\":\"standalone\"},{\"name\":\"AGGRESSIVE\",\"description\":\"Performs an aggressive conflict search\",\"type\":\"standalone\"}]},{\"name\":\"CUTCLIQUE=\",\"optional\":true,\"description\":\"Specifies the level of clique cuts generated by PROC OPTMILP. The CUTCLIQUE= option overrides the ALLCUTS= option. The default value is AUTOMATIC.\",\"help\":\"CUTCLIQUE=AUTOMATIC | NONE | MODERATE | AGGRESSIVE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"AUTOMATIC\",\"description\":\"Generate cutting planes based on a strategy determined by PROC OPTMILP.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"Disable generation of cutting planes.\",\"type\":\"standalone\"},{\"name\":\"MODERATE\",\"description\":\"Use a moderate cut strategy.\",\"type\":\"standalone\"},{\"name\":\"AGGRESSIVE\",\"description\":\"Use an aggressive cut strategy.\",\"type\":\"standalone\"}]},{\"name\":\"CUTFLOWCOVER=\",\"optional\":true,\"description\":\"Specifies the level of flow cover cuts generated by PROC OPTMILP. The CUTFLOWCOVER= option overrides the ALLCUTS= option. The default value is AUTOMATIC.\",\"help\":\"CUTFLOWCOVER=AUTOMATIC | NONE | MODERATE | AGGRESSIVE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"AUTOMATIC\",\"description\":\"Generate cutting planes based on a strategy determined by PROC OPTMILP.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"Disable generation of cutting planes.\",\"type\":\"standalone\"},{\"name\":\"MODERATE\",\"description\":\"Use a moderate cut strategy.\",\"type\":\"standalone\"},{\"name\":\"AGGRESSIVE\",\"description\":\"Use an aggressive cut strategy.\",\"type\":\"standalone\"}]},{\"name\":\"CUTFLOWPATH=\",\"optional\":true,\"description\":\"Specifies the level of flow path cuts generated by PROC OPTMILP. The CUTFLOWPATH= option overrides the ALLCUTS= option. The default value is AUTOMATIC.\",\"help\":\"CUTFLOWPATH=AUTOMATIC | NONE | MODERATE | AGGRESSIVE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"AUTOMATIC\",\"description\":\"Generate cutting planes based on a strategy determined by PROC OPTMILP.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"Disable generation of cutting planes.\",\"type\":\"standalone\"},{\"name\":\"MODERATE\",\"description\":\"Use a moderate cut strategy.\",\"type\":\"standalone\"},{\"name\":\"AGGRESSIVE\",\"description\":\"Use an aggressive cut strategy.\",\"type\":\"standalone\"}]},{\"name\":\"CUTGOMORY=\",\"optional\":true,\"description\":\"Specifies the level of Gomory cuts generated by PROC OPTMILP. The CUTGOMORY= option overrides the ALLCUTS= option. The default value is AUTOMATIC.\",\"help\":\"CUTGOMORY=AUTOMATIC | NONE | MODERATE | AGGRESSIVE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"AUTOMATIC\",\"description\":\"Generate cutting planes based on a strategy determined by PROC OPTMILP.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"Disable generation of cutting planes.\",\"type\":\"standalone\"},{\"name\":\"MODERATE\",\"description\":\"Use a moderate cut strategy.\",\"type\":\"standalone\"},{\"name\":\"AGGRESSIVE\",\"description\":\"Use an aggressive cut strategy.\",\"type\":\"standalone\"}]},{\"name\":\"CUTGUB=\",\"optional\":true,\"description\":\"Specifies the level of generalized upper bound (GUB) cover cuts generated by PROC OPTMILP. The CUTGUB= option overrides the ALLCUTS= option. The default value is AUTOMATIC.\",\"help\":\"CUTGUB=AUTOMATIC | NONE | MODERATE | AGGRESSIVE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"AUTOMATIC\",\"description\":\"Generate cutting planes based on a strategy determined by PROC OPTMILP.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"Disable generation of cutting planes.\",\"type\":\"standalone\"},{\"name\":\"MODERATE\",\"description\":\"Use a moderate cut strategy.\",\"type\":\"standalone\"},{\"name\":\"AGGRESSIVE\",\"description\":\"Use an aggressive cut strategy.\",\"type\":\"standalone\"}]},{\"name\":\"CUTIMPLIED=\",\"optional\":true,\"description\":\"Specifies the level of implied bound cuts generated by PROC OPTMILP. The CUTIMPLIED= option overrides the ALLCUTS= option. The default value is AUTOMATIC.\",\"help\":\"CUTIMPLIED=AUTOMATIC | NONE | MODERATE | AGGRESSIVE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"AUTOMATIC\",\"description\":\"Generate cutting planes based on a strategy determined by PROC OPTMILP.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"Disable generation of cutting planes.\",\"type\":\"standalone\"},{\"name\":\"MODERATE\",\"description\":\"Use a moderate cut strategy.\",\"type\":\"standalone\"},{\"name\":\"AGGRESSIVE\",\"description\":\"Use an aggressive cut strategy.\",\"type\":\"standalone\"}]},{\"name\":\"CUTKNAPSACK=\",\"optional\":true,\"description\":\"Specifies the level of knapsack cover cuts generated by PROC OPTMILP. The CUTKNAPSACK= option overrides the ALLCUTS= option. The default value is AUTOMATIC.\",\"help\":\"CUTKNAPSACK=AUTOMATIC | NONE | MODERATE | AGGRESSIVE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"AUTOMATIC\",\"description\":\"Generate cutting planes based on a strategy determined by PROC OPTMILP.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"Disable generation of cutting planes.\",\"type\":\"standalone\"},{\"name\":\"MODERATE\",\"description\":\"Use a moderate cut strategy.\",\"type\":\"standalone\"},{\"name\":\"AGGRESSIVE\",\"description\":\"Use an aggressive cut strategy.\",\"type\":\"standalone\"}]},{\"name\":\"CUTLAP=\",\"optional\":true,\"description\":\"Specifies the level of lift-and-project (LAP) cuts generated by PROC OPTMILP.\",\"help\":\"CUTLAP=AUTOMATIC | NONE | MODERATE | AGGRESSIVE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"AUTOMATIC\",\"description\":\"Generate cutting planes based on a strategy determined by PROC OPTMILP.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"Disable generation of cutting planes.\",\"type\":\"standalone\"},{\"name\":\"MODERATE\",\"description\":\"Use a moderate cut strategy.\",\"type\":\"standalone\"},{\"name\":\"AGGRESSIVE\",\"description\":\"Use an aggressive cut strategy.\",\"type\":\"standalone\"}]},{\"name\":\"CUTMILIFTED=\",\"optional\":true,\"description\":\"Specifies the level of mixed lifted 0-1 cuts that are generated by PROC OPTMILP. \\\\ The CUTMILIFTED= option overrides the ALLCUTS=option. The default value is AUTOMATIC.\",\"help\":\"CUTMILIFTED=AUTOMATIC | NONE | MODERATE | AGGRESSIVE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"AUTOMATIC\",\"description\":\"Generate cutting planes based on a strategy determined by PROC OPTMILP.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"Disable generation of cutting planes.\",\"type\":\"standalone\"},{\"name\":\"MODERATE\",\"description\":\"Use a moderate cut strategy.\",\"type\":\"standalone\"},{\"name\":\"AGGRESSIVE\",\"description\":\"Use an aggressive cut strategy.\",\"type\":\"standalone\"}]},{\"name\":\"CUTMIR=\",\"optional\":true,\"description\":\"Specifies the level of mixed integer rounding (MIR) cuts generated by PROC OPTMILP. The CUTMIR= option overrides the ALLCUTS= option. The default value is AUTOMATIC.\",\"help\":\"CUTMIR=AUTOMATIC | NONE | MODERATE | AGGRESSIVE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"AUTOMATIC\",\"description\":\"Generate cutting planes based on a strategy determined by PROC OPTMILP.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"Disable generation of cutting planes.\",\"type\":\"standalone\"},{\"name\":\"MODERATE\",\"description\":\"Use a moderate cut strategy.\",\"type\":\"standalone\"},{\"name\":\"AGGRESSIVE\",\"description\":\"Use an aggressive cut strategy.\",\"type\":\"standalone\"}]},{\"name\":\"CUTOFF=\",\"optional\":true,\"description\":\"Cuts off any nodes in a minimization (maximization) problem with an objective value above (below) number. The value of number can be any number; the default value is the positive (negative) number that has the largest absolute value that can be represented in your operating environment.\",\"help\":\"CUTOFF=*number*\",\"type\":\"value\"},{\"name\":\"CUTSFACTOR=\",\"optional\":true,\"description\":\"Specifies a row multiplier factor for cuts. The number of cuts added is limited to num times the original number of rows. The value of num can be any nonnegative number less than or equal to 100; the default value is 3.0.\",\"help\":\"CUTSFACTOR=AUTOMATIC | NONE | MODERATE | AGGRESSIVE*m*\",\"type\":\"value\",\"arguments\":[{\"name\":\"AUTOMATIC\",\"description\":\"Generate cutting planes based on a strategy determined by PROC OPTMILP.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"Disable generation of cutting planes.\",\"type\":\"standalone\"},{\"name\":\"MODERATE\",\"description\":\"Use a moderate cut strategy.\",\"type\":\"standalone\"},{\"name\":\"AGGRESSIVE\",\"description\":\"Use an aggressive cut strategy.\",\"type\":\"standalone\"}]},{\"name\":\"CUTSTRATEGY=\",\"optional\":true,\"aliases\":[\"CUTS=\"],\"description\":\"Specifies the overall aggressiveness of the cut generation in the solver. Setting a nondefault value adjusts a number of cut parameters such that the cut generation is basic, moderate, or aggressive compared to the default value.\",\"help\":\"CUTSTRATEGY=AUTOMATIC | NONE | MODERATE | AGGRESSIVE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"AUTOMATIC\",\"description\":\"Generate cutting planes based on a strategy determined by PROC OPTMILP.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"Disable generation of cutting planes.\",\"type\":\"standalone\"},{\"name\":\"MODERATE\",\"description\":\"Use a moderate cut strategy.\",\"type\":\"standalone\"},{\"name\":\"AGGRESSIVE\",\"description\":\"Use an aggressive cut strategy.\",\"type\":\"standalone\"}]},{\"name\":\"CUTZEROHALF=\",\"optional\":true,\"description\":\"Specifies the level of zero-half cuts that are generated by PROC OPTMILP.\",\"help\":\"CUTZEROHALF=AUTOMATIC | NONE | MODERATE | AGGRESSIVE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"AUTOMATIC\",\"description\":\"Generate cutting planes based on a strategy determined by PROC OPTMILP.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"Disable generation of cutting planes.\",\"type\":\"standalone\"},{\"name\":\"MODERATE\",\"description\":\"Use a moderate cut strategy.\",\"type\":\"standalone\"},{\"name\":\"AGGRESSIVE\",\"description\":\"Use an aggressive cut strategy.\",\"type\":\"standalone\"}]},{\"name\":\"EMPHASIS=\",\"optional\":true,\"description\":\"specifies the type of search emphasis.\",\"help\":\"EMPHASIS=BALANCE | OPTIMAL | FEASIBLE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"BALANCE\",\"description\":\"Performs a balanced search\",\"type\":\"standalone\"},{\"name\":\"OPTIMAL\",\"description\":\"Emphasizes optimality over feasibility\",\"type\":\"standalone\"},{\"name\":\"FEASIBLE\",\"description\":\"Emphasizes feasibility over optimality\",\"type\":\"standalone\"}]},{\"name\":\"FEASTOL=\",\"optional\":true,\"description\":\"specifies the tolerance used to check the feasibility of a solution. This tolerance applies both to the maximum violation of bounds on variables and to the difference between the right-hand sides and left-hand sides of constraints. The value of number can be any value between (and including) 1E–4 and 1E–9. The default value is 1E–6.\",\"help\":\"FEASTOL=*number*\",\"type\":\"value\"},{\"name\":\"HEURISTICS=\",\"optional\":true,\"description\":\"Controls the level of primal heuristics applied by PROC OPTMILP. This level determines how frequently primal heuristics are applied during the branch-and-bound tree search. It also affects the maximum number of iterations allowed in iterative heuristics. Some computationally expensive heuristics might be disabled by the solver at less aggressive levels. Setting HEURISTICS=NONE does not disable the heuristics that repair an infeasible input solution that is specified in a PRIMALIN= data set.\",\"help\":\"HEURISTICS=AUTOMATIC | NONE | BASIC | MODERATE | AGGRESSIVE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"AUTOMATIC\",\"description\":\"Apply default level of heuristics, similar to MODERATE.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"Disable all primal heuristics.\",\"type\":\"standalone\"},{\"name\":\"BASIC\",\"description\":\"Apply basic primal heuristics at low frequency.\",\"type\":\"standalone\"},{\"name\":\"MODERATE\",\"description\":\"Apply most primal heuristics at moderate frequency.\",\"type\":\"standalone\"},{\"name\":\"AGGRESSIVE\",\"description\":\"Apply all primal heuristics at high frequency.\",\"type\":\"standalone\"}]},{\"name\":\"INTTOL=\",\"optional\":true,\"aliases\":[\"INTEGERTOLERANCE=\"],\"description\":\"Specifies the amount by which an integer variable value can differ from an integer and still be considered integer feasible. The value of number can be any number between 0.0 and 1.0; the default value is 1E–5. PROC OPTMILP attempts to find an optimal solution with integer infeasibility less than number. If you assign a value smaller than 1E–10 to number and the best solution found by PROC OPTMILP has integer infeasibility between number and 1E–10, then PROC OPTMILP ends with a solution status of OPTIMAL_COND.\",\"type\":\"value\"},{\"name\":\"LOGFREQ=\",\"optional\":true,\"aliases\":[\"PRINTFREQ=\"],\"description\":\"Specifies how often information is printed in the node log. The value of number can be any nonnegative integer up to the largest four-byte signed integer, which is 2³¹ - 1. The default value is 100. If number is set to 0, then the node log is disabled. If number is positive, then an entry is made in the node log at the first node, at the last node, and at intervals dictated by the value of number. An entry is also made each time a better integer solution is found.\",\"type\":\"value\"},{\"name\":\"LOGLEVEL=\",\"optional\":true,\"aliases\":[\"PRINTLEVEL2=\"],\"description\":\"Controls the amount of information displayed in the SAS log by the solver, from a short description of presolve information and summary to details at each node.\",\"help\":\"LOGLEVEL=NONE | BASIC | MODERATE | AGGRESSIVE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NONE\",\"description\":\"Turns off all solver-related messages in the SAS log.\",\"type\":\"standalone\"},{\"name\":\"BASIC\",\"description\":\"Displays a solver summary after stopping.\",\"type\":\"standalone\"},{\"name\":\"MODERATE\",\"description\":\"Prints a solver summary and a node log by using the interval dictated by the LOGFREQ= option.\",\"type\":\"standalone\"},{\"name\":\"AGGRESSIVE\",\"description\":\"Prints a detailed solver summary and a node log by using the interval dictated by the LOGFREQ= option.\",\"type\":\"standalone\"}]},{\"name\":\"MAXNODES=\",\"optional\":true,\"description\":\"Specifies the maximum number of branch-and-bound nodes to be processed. The value of number can be any nonnegative integer up to the largest four-byte signed integer, which is 2³¹ - 1. The default value is 2³¹ - 1.\",\"help\":\"MAXNODES=*number*\",\"type\":\"value\"},{\"name\":\"MAXSOLS=\",\"optional\":true,\"description\":\"Specifies a stopping criterion. If number solutions have been found, then the procedure stops. The value of number can be any positive integer up to the largest four-byte signed integer, which is 2³¹ - 1. The default value is 2³¹ - 1.\",\"help\":\"MAXSOLS=*number*\",\"type\":\"value\"},{\"name\":\"MAXTIME=\",\"optional\":true,\"description\":\"Specifies an upper limit of t seconds of time for reading in the data and performing the optimization process. The value of the TIMETYPE= option determines the type of units used. If you do not specify this option, the procedure does not stop based on the amount of time elapsed. The value of t can be any positive number; the default value is the positive number that has the largest absolute value that can be represented in your operating environment.\",\"help\":\"MAXTIME=*t*\",\"type\":\"value\"},{\"name\":\"NODESEL=\",\"optional\":true,\"description\":\"Specifies the node selection strategy string or its corresponding value number: –1 AUTOMATIC -- Uses automatic node selection 0 BESTBOUND -- Chooses the node with the best relaxed objective (best-bound-first strategy) 1 BESTESTIMATE -- Chooses the node with the best estimate of the integer objective value (best-estimate-first strategy) 2 DEPTH -- Chooses the most recently created node (depthfirst strategy)\",\"help\":\"NODESEL=AUTOMATIC | BESTBOUND | BESTESTIMATE | DEPTH\",\"type\":\"choice\",\"arguments\":[{\"name\":\"AUTOMATIC\",\"description\":\"Use automatic node selection.\",\"type\":\"standalone\"},{\"name\":\"BESTBOUND\",\"description\":\"Choose the node with the best relaxed objective (best-bound-first strategy).\",\"type\":\"standalone\"},{\"name\":\"BESTESTIMATE\",\"description\":\"Choose the node with the best estimate of the integer objective value (best-estimate-first strategy).\",\"type\":\"standalone\"},{\"name\":\"DEPTH\",\"description\":\"Choose the most recently created node (depth-first strategy).\",\"type\":\"standalone\"}]},{\"name\":\"OPTTOL=\",\"optional\":true,\"description\":\"Specifies the tolerance used to determine the optimality of nodes in the branch-and-bound tree. The value of number can be any value between (and including) 1E–4 and 1E–9. The default is 1E–6.\",\"help\":\"OPTTOL=*number*\",\"type\":\"value\"},{\"name\":\"PRESOLVER=\",\"optional\":true,\"description\":\"Specifies a presolve string or its corresponding value number. –1 AUTOMATIC -- Applies the default level of presolve processing 0 NONE -- Disables presolver 1 BASIC -- Performs minimal presolve processing 2 MODERATE -- Applies a higher level of presolve processing 3 AGGRESSIVE -- Applies the highest level of presolve processing\",\"help\":\"PRESOLVER=AUTOMATIC | NONE | BASIC | MODERATE | AGGRESSIVE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"AUTOMATIC\",\"aliases\":[\"-1\"],\"description\":\"Applies the default level of presolve processing.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"aliases\":[\"0\"],\"description\":\"Disables presolver.\",\"type\":\"standalone\"},{\"name\":\"BASIC\",\"aliases\":[\"1\"],\"description\":\"Performs minimal presolve processing.\",\"type\":\"standalone\"},{\"name\":\"MODERATE\",\"aliases\":[\"2\"],\"description\":\"Applies a higher level of presolve processing.\",\"type\":\"standalone\"},{\"name\":\"AGGRESSIVE\",\"aliases\":[\"3\"],\"description\":\"Applies the highest level of presolve processing.\",\"type\":\"standalone\"}]},{\"name\":\"PRINTLEVEL=\",\"optional\":true,\"description\":\"Specifies whether a summary of the problem and solution should be printed. If PRINTLEVEL=1, then the ODS (Output Delivery System) tables ProblemSummary, SolutionSummary, and PerformanceInfo are produced and printed. If PRINTLEVEL=2, then these tables are produced and printed along with an additional table called ProblemStatistics. If PRINTLEVEL=0, then no ODS tables are produced or printed. The default value is 1.\",\"help\":\"PRINTLEVEL=0 | 1 | 2\",\"type\":\"choice\",\"arguments\":[{\"name\":\"0\",\"description\":\"Does not produce or print any Output Delivery System (ODS) tables.\",\"type\":\"standalone\"},{\"name\":\"1\",\"description\":\"Produces and prints the following ODS tables: ProblemSummary and SolutionSummary.\",\"type\":\"standalone\"},{\"name\":\"2\",\"description\":\"Produces and prints the following ODS tables: ProblemSummary, SolutionSummary, ProblemStatistics, and Timing table.\",\"type\":\"standalone\"}]},{\"name\":\"PRIORITY=\",\"optional\":true,\"description\":\"Indicates whether to use specified branching priorities for integer variables. PRIORITY=0 ignores variable priorities; PRIORITY=1 uses priorities when they exist. The default value is 1.\",\"help\":\"PRIORITY=0 | 1\",\"type\":\"choice\",\"arguments\":[{\"name\":\"0\",\"description\":\"Ignores variable priorities.\",\"type\":\"standalone\"},{\"name\":\"1\",\"description\":\"Uses priorities when they exist. This is the default.\",\"type\":\"standalone\"}]},{\"name\":\"PROBE=\",\"optional\":true,\"description\":\"Specifies the probing strategy.\",\"help\":\"PROBE=AUTOMATIC | NONE | MODERATE | AGGRESSIVE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"AUTOMATIC\",\"description\":\"Uses the probing strategy determined by PROC OPTMILP\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"Disables probing\",\"type\":\"standalone\"},{\"name\":\"MODERATE\",\"description\":\"Uses the probing moderately\",\"type\":\"standalone\"},{\"name\":\"AGGRESSIVE\",\"description\":\"Uses the probing aggressively\",\"type\":\"standalone\"}]},{\"name\":\"RELOBJGAP=\",\"optional\":true,\"description\":\"Specifies a stopping criterion based on the best integer objective (BestInteger) and the objective of the best remaining node (BestBound). The relative objective gap is equal to | BestInteger - BestBound | / (1E-10 + | BestBound |)\",\"help\":\"RELOBJGAP=*number*\",\"type\":\"value\"},{\"name\":\"SCALE=\",\"optional\":true,\"description\":\"Indicates whether to scale the problem matrix. SCALE= can take either of the values AUTOMATIC (–1) and NONE (0). SCALE=AUTOMATIC scales the matrix as determined by PROC OPTMILP; SCALE=NONE disables scaling. The default value is AUTOMATIC.\",\"help\":\"SCALE=NONE | AUTOMATIC\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NONE\",\"description\":\"Disables scaling\",\"type\":\"standalone\"},{\"name\":\"AUTOMATIC\",\"description\":\"Scales the matrix as determined by PROC OPTMILP\",\"type\":\"standalone\"}]},{\"name\":\"STRONGITER=\",\"optional\":true,\"description\":\"Specifies the number of simplex iterations performed for each variable in the candidate list when using the strong branching variable selection strategy. The value of number can be any positive integer up to the largest four-byte signed integer, which is 2³¹ - 1. If you specify the keyword AUTOMATIC or the value –1, PROC OPTMILP uses the default value; this value is calculated automatically.\",\"help\":\"STRONGITER=&lt;*number*&gt; | AUTOMATIC\",\"type\":\"choice\",\"arguments\":[{\"name\":\"number\",\"placeholder\":true,\"description\":\"Replace <number> with any positive integer up to the largest four-byte signed integer, which is 2³¹ - 1.\",\"type\":\"value\"},{\"name\":\"AUTOMATIC\",\"description\":\"Tells PROC OPTMILP to use the default value; this value is calculated automatically.\",\"type\":\"standalone\"}]},{\"name\":\"STRONGLEN=\",\"optional\":true,\"description\":\"Specifies the number of candidates used when performing the strong branching variable selection strategy. The value of number can be any positive integer up to the largest four-byte signed integer, which is 2³¹ - 1. If you specify the keyword AUTOMATIC or the value –1, PROC OPTMILP uses the default value; this value is calculated automatically.\",\"help\":\"STRONGLEN=&lt;*number*&gt; | AUTOMATIC\",\"type\":\"choice\",\"arguments\":[{\"name\":\"number\",\"placeholder\":true,\"description\":\"Replace <number> with any positive integer up to the largest four-byte signed integer, which is 2³¹ - 1.\",\"type\":\"value\"},{\"name\":\"AUTOMATIC\",\"description\":\"Tells PROC OPTMILP to use the default value; this value is calculated automatically.\",\"type\":\"standalone\"}]},{\"name\":\"TARGET=\",\"optional\":true,\"description\":\"Specifies a stopping criterion for minimization (maximization) problems. If the best integer objective is better than or equal to number, the procedure stops. The value of number can be any number; the default value is the negative (positive) number that has the largest absolute value representable in your operating environment.\",\"help\":\"TARGET=*number*\",\"type\":\"value\"},{\"name\":\"TIMETYPE=\",\"optional\":true,\"description\":\"Specifies whether CPU time or real time is used for the MAXTIME= option and the _OROPTMILP_ macro variable in a PROC OPTMILP call.\",\"help\":\"TIMETYPE=CPU | REAL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"CPU\",\"description\":\"Specifies units of CPU time.\",\"type\":\"standalone\"},{\"name\":\"REAL\",\"description\":\"Specifies units of real time.\",\"type\":\"standalone\"}]},{\"name\":\"VARSEL=\",\"optional\":true,\"description\":\"Specifies the rule for selecting the branching variable. The default value is AUTOMATIC.\",\"help\":\"VARSEL=AUTOMATIC | MAXINFEAS | MININFEAS | PSEUDO | STRONG\",\"type\":\"choice\",\"arguments\":[{\"name\":\"AUTOMATIC\",\"description\":\"Use automatic branching variable selection.\",\"type\":\"standalone\"},{\"name\":\"MAXINFEAS\",\"description\":\"Choose the variable with maximum infeasibility.\",\"type\":\"standalone\"},{\"name\":\"MININFEAS\",\"description\":\"Choose the variable with minimum infeasibility.\",\"type\":\"standalone\"},{\"name\":\"PSEUDO\",\"description\":\"Choose a branching variable based on pseudocost.\",\"type\":\"standalone\"},{\"name\":\"STRONG\",\"description\":\"Use strong branching variable selection strategy.\",\"type\":\"standalone\"}]}]},{\"name\":\"DECOMPMASTER\",\"aliases\":[\"DECOMPOSITIONMASTER\",\"MASTER\"],\"description\":\"The DECOMPMASTER|DECOMPOSITIONMASTER|MASTER statement controls the master problem. The default is AUTOMATIC.\",\"help\":\"DECOMPMASTER &lt;ALGORITHM=&lt;PRIMAL | DUAL | NETWORK&gt;... &gt;&lt;FEASTOL=ϵ&gt;&lt;INITPRESOLVER=&lt;AUTOMATIC|-1 | NONE|0 | BASIC|1&gt;... &gt; ...\",\"arguments\":[{\"name\":\"ALGORITHM=\",\"optional\":true,\"aliases\":[\"SOLVER=\",\"SOL=\"],\"description\":\"Specifies an LP solver.\",\"help\":\"ALGORITHM=PRIMAL | DUAL | NETWORK | INTERIORPOINT | CONCURRENT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"PRIMAL\",\"description\":\"Uses primal simplex solver.\",\"type\":\"standalone\"},{\"name\":\"DUAL\",\"description\":\"Uses dual simplex solver.\",\"type\":\"standalone\"},{\"name\":\"NETWORK\",\"description\":\"Uses network simplex solver.\",\"type\":\"standalone\"},{\"name\":\"INTERIORPOINT\",\"description\":\"Uses interior point solver.\",\"type\":\"standalone\"},{\"name\":\"CONCURRENT\",\"description\":\"Uses several different algorithms in parallel.\",\"type\":\"standalone\"}]},{\"name\":\"CROSSOVER=\",\"optional\":true,\"description\":\"Specifies whether to convert the interior point solution to a basic simplex solution. If the interior point algorithm terminates with a solution, the crossover algorithm uses the interior point solution to create an initial basic solution. After performing primal fixing and dual fixing, the crossover algorithm calls a simplex algorithm to locate an optimal basic solution.\",\"help\":\"CROSSOVER=OFF | ON\",\"type\":\"choice\",\"arguments\":[{\"name\":\"OFF\",\"description\":\"Do not convert the interior point solution to a basic simplex solution.\",\"type\":\"standalone\"},{\"name\":\"ON\",\"description\":\"Convert the interior point solution to a basic simplex solution.\",\"type\":\"standalone\"}]},{\"name\":\"FEASTOL=\",\"optional\":true,\"description\":\"Specifies the feasibility tolerance ϵ Є[1E–9, 1E–4] for determining the feasibility of a variable value. The default value is 1E–6.\",\"type\":\"value\"},{\"name\":\"INITPRESOLVER=\",\"optional\":true,\"aliases\":[\"INITPRESOL=\"],\"description\":\"Syntax: INITPRESOLVER=number | string INITPRESOL=number | string\",\"help\":\"INITPRESOLVER=AUTOMATIC | NONE | BASIC | MODERATE | AGGRESSIVE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"AUTOMATIC\",\"aliases\":[\"-1\"],\"description\":\"Applies the default level of presolve processing.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"aliases\":[\"0\"],\"description\":\"Disables presolver.\",\"type\":\"standalone\"},{\"name\":\"BASIC\",\"aliases\":[\"1\"],\"description\":\"Performs minimal presolve processing.\",\"type\":\"standalone\"},{\"name\":\"MODERATE\",\"aliases\":[\"2\"],\"description\":\"Applies a higher level of presolve processing.\",\"type\":\"standalone\"},{\"name\":\"AGGRESSIVE\",\"aliases\":[\"3\"],\"description\":\"Applies the highest level of presolve processing.\",\"type\":\"standalone\"}]},{\"name\":\"LOGLEVEL=\",\"optional\":true,\"aliases\":[\"PRINTLEVEL2=\"],\"description\":\"Syntax: LOGLEVEL=number | string PRINTLEVEL2=number | string Controls the amount of information that is displayed in the SAS log by the LP solver, from a short description of presolve information and summary to details at each iteration.\",\"help\":\"LOGLEVEL=NONE | BASIC | MODERATE | AGGRESSIVE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NONE\",\"aliases\":[\"0\"],\"description\":\"Turn off all solver-related messages in SAS log.\",\"type\":\"standalone\"},{\"name\":\"BASIC\",\"aliases\":[\"1\"],\"description\":\"Display a solver summary after stopping.\",\"type\":\"standalone\"},{\"name\":\"MODERATE\",\"aliases\":[\"2\"],\"description\":\"Print a solver summary and an iteration log by using the interval dictated by the LOGFREQ= option.\",\"type\":\"standalone\"},{\"name\":\"AGGRESSIVE\",\"aliases\":[\"3\"],\"description\":\"Print a detailed solver summary and an iteration log by using the interval dictated by the LOGFREQ= option.\",\"type\":\"standalone\"}]},{\"name\":\"MAXITER=\",\"optional\":true,\"description\":\"Specifies the maximum number of iterations. The value k can be any integer between one and the largest four-byte signed integer, which is 2³¹ - 1. If you do not specify this option, the procedure does not stop based on the number of iterations performed. For network simplex, this iteration limit corresponds to the solver called after network simplex (either primal or dual simplex).\",\"help\":\"MAXITER=*k*\",\"type\":\"value\"},{\"name\":\"MAXTIME=\",\"optional\":true,\"description\":\"Specifies an upper limit of t seconds of time for reading in the data and performing the optimization process. The value of the TIMETYPE= option determines the type of units used. If you do not specify this option, the procedure does not stop based on the amount of time elapsed. The value of t can be any positive number; the default value is the positive number that has the largest absolute value that can be represented in your operating environment.\",\"help\":\"MAXTIME=*t*\",\"type\":\"value\"},{\"name\":\"OPTTOL=\",\"optional\":true,\"description\":\"Specifies the optimality tolerance ϵ Є[1E–9, 1E–4] for declaring optimality. The default value is 1E–6.\",\"type\":\"value\"},{\"name\":\"PRICETYPE=\",\"optional\":true,\"description\":\"Specifies a pricing strategy for the primal and dual simplex solvers.\",\"help\":\"PRICETYPE=HYBRID | PARTIAL | FULL | DEVEX | STEEPESTEDGE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"HYBRID\",\"description\":\"Use a hybrid of Devex and steepest-edge pricing strategies. Available for the primal simplex solver only.\",\"type\":\"standalone\"},{\"name\":\"PARTIAL\",\"description\":\"Use Dantzig’s rule on a queue of decision variables. Optionally, you can specify QUEUESIZE=. Available for the primal simplex solver only.\",\"type\":\"standalone\"},{\"name\":\"FULL\",\"description\":\"Use Dantzig’s rule on all decision variables.\",\"type\":\"standalone\"},{\"name\":\"DEVEX\",\"description\":\"Use Devex pricing strategy.\",\"type\":\"standalone\"},{\"name\":\"STEEPESTEDGE\",\"description\":\"Use steepest-edge pricing strategy.\",\"type\":\"standalone\"}]},{\"name\":\"PRINTLEVEL=\",\"optional\":true,\"description\":\"Specifies whether a summary of the problem and solution should be printed. If PRINTLEVEL=1, then the ODS (Output Delivery System) tables ProblemSummary, SolutionSummary, and PerformanceInfo are produced and printed. If PRINTLEVEL=2, then these tables are produced and printed along with an additional table called ProblemStatistics. If PRINTLEVEL=0, then no ODS tables are produced or printed. The default value is 1.\",\"help\":\"PRINTLEVEL=0 | 1 | 2\",\"type\":\"choice\",\"arguments\":[{\"name\":\"0\",\"description\":\"If PRINTLEVEL=0, then no ODS tables are produced or printed.\",\"type\":\"standalone\"},{\"name\":\"1\",\"description\":\"If PRINTLEVEL=1, then the ODS (Output Delivery System) tables ProblemSummary, SolutionSummary, and PerformanceInfo are produced and printed.\",\"type\":\"standalone\"},{\"name\":\"2\",\"description\":\"If PRINTLEVEL=2, then these tables are produced and printed along with an additional table called ProblemStatistics.\",\"type\":\"standalone\"}]},{\"name\":\"QUEUESIZE=\",\"optional\":true,\"description\":\"Specifies the queue size k Є [1, n], where n is the number of decision variables. This queue is used for finding an entering variable in the simplex iteration. The default value is chosen adaptively based on the number of decision variables. This option is used only when PRICETYPE=PARTIAL.\",\"help\":\"QUEUESIZE=*k*\",\"type\":\"value\"},{\"name\":\"SCALE=\",\"optional\":true,\"description\":\"Specifies one of the following scaling options: NONE(0), AUTOMATIC(-1).\",\"help\":\"SCALE=NONE | AUTOMATIC\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NONE\",\"description\":\"Disable scaling.\",\"type\":\"standalone\"},{\"name\":\"AUTOMATIC\",\"description\":\"Automatically apply scaling procedure if necessary.\",\"type\":\"standalone\"}]},{\"name\":\"STOP_DG=\",\"optional\":true,\"description\":\"Specifies the desired relative duality gap δ Є[1E–9, 1E–4]. This is the relative difference between the primal and dual objective function values and is the primary solution quality parameter. The default value is 1E–6.\",\"type\":\"value\"},{\"name\":\"STOP_DI=\",\"optional\":true,\"description\":\"Specifies the maximum allowed relative dual constraints violation β Є[1E–9, 1E–4]. The default value is 1E–6.\",\"type\":\"value\"},{\"name\":\"STOP_PI=\",\"optional\":true,\"description\":\"Specifies the maximum allowed relative bound and primal constraints violation α Є[1E–9, 1E–4]. The default value is 1E–6.\",\"type\":\"value\"},{\"name\":\"TIMETYPE=\",\"optional\":true,\"description\":\"Specifies whether CPU time or real time is used for the MAXTIME= option and the _OROPTLP_ macro variable in a PROC OPTLP call.\",\"help\":\"TIMETYPE=CPU | REAL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"CPU\",\"description\":\"Specifies units of CPU time.\",\"type\":\"standalone\"},{\"name\":\"REAL\",\"description\":\"Specifies units of real time.\",\"type\":\"standalone\"}]}]},{\"name\":\"DECOMPSUBPROB\",\"aliases\":[\"DECOMPOSITIONSUBPROB\",\"SUBPROB\"],\"description\":\"The DECOMPSUBPROB|DECOMPOSITIONSUBPROB|SUBPROB statement controls the subproblem. The default is AUTOMATIC.\",\"help\":\"DECOMPSUBPROB &lt;ALGORITHM=&lt;PRIMAL | DUAL | NETWORK&gt;... &gt;&lt;FEASTOL=ϵ&gt;&lt;INITPRESOLVER=&lt;AUTOMATIC|-1 | NONE|0 | BASIC|1&gt;... &gt; ...\",\"arguments\":[{\"name\":\"ABSOBJGAP=\",\"optional\":true,\"description\":\"[Used with MILP Algorithm]\",\"help\":\"ABSOBJGAP=*number*\",\"type\":\"value\"},{\"name\":\"ALGORITHM=\",\"optional\":true,\"aliases\":[\"SOLVER=\",\"SOL=\"],\"description\":\"[Used with LP and MILP Algorithms]\",\"help\":\"ALGORITHM=PRIMAL | DUAL | NETWORK | INTERIORPOINT | CONCURRENT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"PRIMAL\",\"description\":\"Uses primal simplex solver.\",\"type\":\"standalone\"},{\"name\":\"DUAL\",\"description\":\"Uses dual simplex solver.\",\"type\":\"standalone\"},{\"name\":\"NETWORK\",\"description\":\"Uses network simplex solver.\",\"type\":\"standalone\"},{\"name\":\"INTERIORPOINT\",\"description\":\"Uses interior point solver.\",\"type\":\"standalone\"},{\"name\":\"CONCURRENT\",\"description\":\"Uses several different algorithms in parallel.\",\"type\":\"standalone\"}]},{\"name\":\"ALLCUTS=\",\"optional\":true,\"description\":\"[Used with MILP Algorithm] Provides a shorthand way of setting all the cuts-related options in one setting. In other words, ALLCUTS=num is equivalent to setting each of the individual cuts parameters to the same value num.\",\"help\":\"ALLCUTS=AUTOMATIC | NONE | MODERATE | AGGRESSIVE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"AUTOMATIC\",\"description\":\"Generate cutting planes based on a strategy determined by PROC OPTMILP.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"Disable generation of cutting planes.\",\"type\":\"standalone\"},{\"name\":\"MODERATE\",\"description\":\"Use a moderate cut strategy.\",\"type\":\"standalone\"},{\"name\":\"AGGRESSIVE\",\"description\":\"Use an aggressive cut strategy.\",\"type\":\"standalone\"}]},{\"name\":\"BASIS=\",\"optional\":true,\"description\":\"[Used with LP Algorithm] Specifies the following options for generating an initial basis: 0 CRASH -- Generate an initial basis by using crash techniques (Maros 2003). The procedure creates a triangular basic matrix consisting of both decision variables and slack variables. 1 SLACK -- Generate an initial basis by using all slack variables. 2 WARMSTART -- Start the primal and dual simplex solvers with a userspecified initial basis. The PRIMALIN= and DUALIN= data sets are required to specify an initial basis.\",\"help\":\"BASIS=CRASH | SLACK | WARMSTART\",\"type\":\"choice\",\"arguments\":[{\"name\":\"CRASH\",\"description\":\"Generate an initial basis by using crash techniques (Maros 2003). The procedure creates a triangular basic matrix consisting of both decision variables and slack variables.\",\"type\":\"standalone\"},{\"name\":\"SLACK\",\"description\":\"Generate an initial basis by using all slack variables.\",\"type\":\"standalone\"},{\"name\":\"WARMSTART\",\"description\":\"Start the primal and dual simplex solvers with a userspecified initial basis. The PRIMALIN= and DUALIN= data sets are required to specify an initial basis.\",\"type\":\"standalone\"}]},{\"name\":\"CONFLICTSEARCH=\",\"optional\":true,\"description\":\"[Used with MILP Algorithm] Specifies the level of conflict search performed by PROC OPTMILP. Conflict search is used to find clauses resulting from infeasible subproblems that arise in the search tree.\",\"help\":\"CONFLICTSEARCH=AUTOMATIC | NONE | MODERATE | AGGRESSIVE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"AUTOMATIC\",\"description\":\"Performs conflict search based on a strategy determined by PROC OPTMILP\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"Disables conflict search\",\"type\":\"standalone\"},{\"name\":\"MODERATE\",\"description\":\"Performs a moderate conflict search\",\"type\":\"standalone\"},{\"name\":\"AGGRESSIVE\",\"description\":\"Performs an aggressive conflict search\",\"type\":\"standalone\"}]},{\"name\":\"CROSSOVER=\",\"optional\":true,\"description\":\"[Used with LP Algorithm]\",\"help\":\"CROSSOVER=OFF | ON\",\"type\":\"choice\",\"arguments\":[{\"name\":\"OFF\",\"description\":\"Do not convert the interior point solution to a basic simplex solution.\",\"type\":\"standalone\"},{\"name\":\"ON\",\"description\":\"Convert the interior point solution to a basic simplex solution.\",\"type\":\"standalone\"}]},{\"name\":\"CUTCLIQUE=\",\"optional\":true,\"description\":\"[Used with MILP Algorithm] Specifies the level of clique cuts generated by PROC OPTMILP. The CUTCLIQUE= option overrides the ALLCUTS= option. The default value is AUTOMATIC.\",\"help\":\"CUTCLIQUE=AUTOMATIC | NONE | MODERATE | AGGRESSIVE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"AUTOMATIC\",\"description\":\"Generate cutting planes based on a strategy determined by PROC OPTMILP.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"Disable generation of cutting planes.\",\"type\":\"standalone\"},{\"name\":\"MODERATE\",\"description\":\"Use a moderate cut strategy.\",\"type\":\"standalone\"},{\"name\":\"AGGRESSIVE\",\"description\":\"Use an aggressive cut strategy.\",\"type\":\"standalone\"}]},{\"name\":\"CUTFLOWCOVER=\",\"optional\":true,\"description\":\"[Used with MILP Algorithm] Specifies the level of flow cover cuts generated by PROC OPTMILP. The CUTFLOWCOVER= option overrides the ALLCUTS= option. The default value is AUTOMATIC.\",\"help\":\"CUTFLOWCOVER=AUTOMATIC | NONE | MODERATE | AGGRESSIVE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"AUTOMATIC\",\"description\":\"Generate cutting planes based on a strategy determined by PROC OPTMILP.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"Disable generation of cutting planes.\",\"type\":\"standalone\"},{\"name\":\"MODERATE\",\"description\":\"Use a moderate cut strategy.\",\"type\":\"standalone\"},{\"name\":\"AGGRESSIVE\",\"description\":\"Use an aggressive cut strategy.\",\"type\":\"standalone\"}]},{\"name\":\"CUTFLOWPATH=\",\"optional\":true,\"description\":\"[Used with MILP Algorithm] Specifies the level of flow path cuts generated by PROC OPTMILP. The CUTFLOWPATH= option overrides the ALLCUTS= option. The default value is AUTOMATIC.\",\"help\":\"CUTFLOWPATH=AUTOMATIC | NONE | MODERATE | AGGRESSIVE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"AUTOMATIC\",\"description\":\"Generate cutting planes based on a strategy determined by PROC OPTMILP.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"Disable generation of cutting planes.\",\"type\":\"standalone\"},{\"name\":\"MODERATE\",\"description\":\"Use a moderate cut strategy.\",\"type\":\"standalone\"},{\"name\":\"AGGRESSIVE\",\"description\":\"Use an aggressive cut strategy.\",\"type\":\"standalone\"}]},{\"name\":\"CUTGOMORY=\",\"optional\":true,\"description\":\"[Used with MILP Algorithm] Specifies the level of Gomory cuts generated by PROC OPTMILP. The CUTGOMORY= option overrides the ALLCUTS= option. The default value is AUTOMATIC.\",\"help\":\"CUTGOMORY=AUTOMATIC | NONE | MODERATE | AGGRESSIVE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"AUTOMATIC\",\"description\":\"Generate cutting planes based on a strategy determined by PROC OPTMILP.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"Disable generation of cutting planes.\",\"type\":\"standalone\"},{\"name\":\"MODERATE\",\"description\":\"Use a moderate cut strategy.\",\"type\":\"standalone\"},{\"name\":\"AGGRESSIVE\",\"description\":\"Use an aggressive cut strategy.\",\"type\":\"standalone\"}]},{\"name\":\"CUTGUB=\",\"optional\":true,\"description\":\"[Used with MILP Algorithm] Specifies the level of generalized upper bound (GUB) cover cuts generated by PROC OPTMILP. The CUTGUB= option overrides the ALLCUTS= option. The default value is AUTOMATIC.\",\"help\":\"CUTGUB=AUTOMATIC | NONE | MODERATE | AGGRESSIVE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"AUTOMATIC\",\"description\":\"Generate cutting planes based on a strategy determined by PROC OPTMILP.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"Disable generation of cutting planes.\",\"type\":\"standalone\"},{\"name\":\"MODERATE\",\"description\":\"Use a moderate cut strategy.\",\"type\":\"standalone\"},{\"name\":\"AGGRESSIVE\",\"description\":\"Use an aggressive cut strategy.\",\"type\":\"standalone\"}]},{\"name\":\"CUTIMPLIED=\",\"optional\":true,\"description\":\"[Used with MILP Algorithm] Specifies the level of implied bound cuts generated by PROC OPTMILP. The CUTIMPLIED= option overrides the ALLCUTS= option. The default value is AUTOMATIC.\",\"help\":\"CUTIMPLIED=AUTOMATIC | NONE | MODERATE | AGGRESSIVE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"AUTOMATIC\",\"description\":\"Generate cutting planes based on a strategy determined by PROC OPTMILP.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"Disable generation of cutting planes.\",\"type\":\"standalone\"},{\"name\":\"MODERATE\",\"description\":\"Use a moderate cut strategy.\",\"type\":\"standalone\"},{\"name\":\"AGGRESSIVE\",\"description\":\"Use an aggressive cut strategy.\",\"type\":\"standalone\"}]},{\"name\":\"CUTKNAPSACK=\",\"optional\":true,\"description\":\"[Used with MILP Algorithm] Specifies the level of knapsack cover cuts generated by PROC OPTMILP. The CUTKNAPSACK= option overrides the ALLCUTS= option. The default value is AUTOMATIC.\",\"help\":\"CUTKNAPSACK=AUTOMATIC | NONE | MODERATE | AGGRESSIVE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"AUTOMATIC\",\"description\":\"Generate cutting planes based on a strategy determined by PROC OPTMILP.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"Disable generation of cutting planes.\",\"type\":\"standalone\"},{\"name\":\"MODERATE\",\"description\":\"Use a moderate cut strategy.\",\"type\":\"standalone\"},{\"name\":\"AGGRESSIVE\",\"description\":\"Use an aggressive cut strategy.\",\"type\":\"standalone\"}]},{\"name\":\"CUTLAP=\",\"optional\":true,\"description\":\"Specifies the level of lift-and-project (LAP) cuts generated by PROC OPTMILP.\",\"help\":\"CUTLAP=AUTOMATIC | NONE | MODERATE | AGGRESSIVE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"AUTOMATIC\",\"description\":\"Generate cutting planes based on a strategy determined by PROC OPTMILP.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"Disable generation of cutting planes.\",\"type\":\"standalone\"},{\"name\":\"MODERATE\",\"description\":\"Use a moderate cut strategy.\",\"type\":\"standalone\"},{\"name\":\"AGGRESSIVE\",\"description\":\"Use an aggressive cut strategy.\",\"type\":\"standalone\"}]},{\"name\":\"CUTMILIFTED=\",\"optional\":true,\"description\":\"[Used with MILP Algorithm] Specifies the level of mixed lifted 0-1 cuts that are generated by PROC OPTMILP. \\\\ The CUTMILIFTED= option overrides the ALLCUTS=option. The default value is AUTOMATIC.\",\"help\":\"CUTMILIFTED=AUTOMATIC | NONE | MODERATE | AGGRESSIVE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"AUTOMATIC\",\"description\":\"Generate cutting planes based on a strategy determined by PROC OPTMILP.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"Disable generation of cutting planes.\",\"type\":\"standalone\"},{\"name\":\"MODERATE\",\"description\":\"Use a moderate cut strategy.\",\"type\":\"standalone\"},{\"name\":\"AGGRESSIVE\",\"description\":\"Use an aggressive cut strategy.\",\"type\":\"standalone\"}]},{\"name\":\"CUTMIR=\",\"optional\":true,\"description\":\"[Used with MILP Algorithm] Specifies the level of mixed integer rounding (MIR) cuts generated by PROC OPTMILP. The CUTMIR= option overrides the ALLCUTS= option. The default value is AUTOMATIC.\",\"help\":\"CUTMIR=AUTOMATIC | NONE | MODERATE | AGGRESSIVE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"AUTOMATIC\",\"description\":\"Generate cutting planes based on a strategy determined by PROC OPTMILP.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"Disable generation of cutting planes.\",\"type\":\"standalone\"},{\"name\":\"MODERATE\",\"description\":\"Use a moderate cut strategy.\",\"type\":\"standalone\"},{\"name\":\"AGGRESSIVE\",\"description\":\"Use an aggressive cut strategy.\",\"type\":\"standalone\"}]},{\"name\":\"CUTOFF=\",\"optional\":true,\"description\":\"[Used with MILP Algorithm]\",\"help\":\"CUTOFF=*number*\",\"type\":\"value\"},{\"name\":\"CUTSFACTOR=\",\"optional\":true,\"description\":\"[Used with MILP Algorithm] Specifies a row multiplier factor for cuts. The number of cuts added is limited to num times the original number of rows. The value of num can be any nonnegative number less than or equal to 100; the default value is 3.0.\",\"help\":\"CUTSFACTOR=AUTOMATIC | NONE | MODERATE | AGGRESSIVE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"AUTOMATIC\",\"description\":\"Generate cutting planes based on a strategy determined by PROC OPTMILP.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"Disable generation of cutting planes.\",\"type\":\"standalone\"},{\"name\":\"MODERATE\",\"description\":\"Use a moderate cut strategy.\",\"type\":\"standalone\"},{\"name\":\"AGGRESSIVE\",\"description\":\"Use an aggressive cut strategy.\",\"type\":\"standalone\"}]},{\"name\":\"CUTSTRATEGY=\",\"optional\":true,\"aliases\":[\"CUTS=\"],\"description\":\"[Used with MILP Algorithm]\",\"help\":\"CUTSTRATEGY=AUTOMATIC | NONE | MODERATE | AGGRESSIVE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"AUTOMATIC\",\"description\":\"Generate cutting planes based on a strategy determined by PROC OPTMILP.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"Disable generation of cutting planes.\",\"type\":\"standalone\"},{\"name\":\"MODERATE\",\"description\":\"Use a moderate cut strategy.\",\"type\":\"standalone\"},{\"name\":\"AGGRESSIVE\",\"description\":\"Use an aggressive cut strategy.\",\"type\":\"standalone\"}]},{\"name\":\"CUTZEROHALF=\",\"optional\":true,\"description\":\"[Used with MILP Algorithm] Specifies the level of zero-half cuts that are generated by PROC OPTMILP.\",\"help\":\"CUTZEROHALF=AUTOMATIC | NONE | MODERATE | AGGRESSIVE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"AUTOMATIC\",\"description\":\"Generate cutting planes based on a strategy determined by PROC OPTMILP.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"Disable generation of cutting planes.\",\"type\":\"standalone\"},{\"name\":\"MODERATE\",\"description\":\"Use a moderate cut strategy.\",\"type\":\"standalone\"},{\"name\":\"AGGRESSIVE\",\"description\":\"Use an aggressive cut strategy.\",\"type\":\"standalone\"}]},{\"name\":\"EMPHASIS=\",\"optional\":true,\"description\":\"[Used with MILP Algorithm] Specifies a search emphasis string or its corresponding value number: 0 BALANCE -- Performs a balanced search 1 OPTIMAL -- Emphasizes optimality over feasibility 2 FEASIBLE -- Emphasizes feasibility over optimality\",\"help\":\"EMPHASIS=BALANCE | OPTIMAL | FEASIBLE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"BALANCE\",\"description\":\"Performs a balanced search\",\"type\":\"standalone\"},{\"name\":\"OPTIMAL\",\"description\":\"Emphasizes optimality over feasibility\",\"type\":\"standalone\"},{\"name\":\"FEASIBLE\",\"description\":\"Emphasizes feasibility over optimality\",\"type\":\"standalone\"}]},{\"name\":\"FEASTOL=\",\"optional\":true,\"description\":\"[Used with LP and MILP Algorithms] Specifies the feasibility tolerance ϵ Є [1E–9, 1E–4] for determining the feasibility of a variable value. The default value is 1E–6.\",\"type\":\"value\"},{\"name\":\"HEURISTICS=\",\"optional\":true,\"description\":\"[Used with MILP Algorithm] Controls the level of primal heuristics applied by PROC OPTMILP. This level determines how frequently primal heuristics are applied during the branch-and-bound tree search. It also affects the maximum number of iterations allowed in iterative heuristics. Some computationally expensive heuristics might be disabled by the solver at less aggressive levels. Setting HEURISTICS=NONE does not disable the heuristics that repair an infeasible input solution that is specified in a PRIMALIN= data set.\",\"help\":\"HEURISTICS=AUTOMATIC | NONE | BASIC | MODERATE | AGGRESSIVE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"AUTOMATIC\",\"description\":\"Apply default level of heuristics, similar to MODERATE.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"Disable all primal heuristics.\",\"type\":\"standalone\"},{\"name\":\"BASIC\",\"description\":\"Apply basic primal heuristics at low frequency.\",\"type\":\"standalone\"},{\"name\":\"MODERATE\",\"description\":\"Apply most primal heuristics at moderate frequency.\",\"type\":\"standalone\"},{\"name\":\"AGGRESSIVE\",\"description\":\"Apply all primal heuristics at high frequency.\",\"type\":\"standalone\"}]},{\"name\":\"INITPRESOLVER=\",\"optional\":true,\"aliases\":[\"INITPRESOL=\"],\"description\":\"Syntax: INITPRESOLVER=number | string INITPRESOL=number | string [Used with LP and MILP Algorithms]\",\"help\":\"INITPRESOLVER=AUTOMATIC | NONE | BASIC | MODERATE | AGGRESSIVE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"AUTOMATIC\",\"aliases\":[\"-1\"],\"description\":\"Applies the default level of presolve processing.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"aliases\":[\"0\"],\"description\":\"Disables presolver.\",\"type\":\"standalone\"},{\"name\":\"BASIC\",\"aliases\":[\"1\"],\"description\":\"Performs minimal presolve processing.\",\"type\":\"standalone\"},{\"name\":\"MODERATE\",\"aliases\":[\"2\"],\"description\":\"Applies a higher level of presolve processing.\",\"type\":\"standalone\"},{\"name\":\"AGGRESSIVE\",\"aliases\":[\"3\"],\"description\":\"Applies the highest level of presolve processing.\",\"type\":\"standalone\"}]},{\"name\":\"INTTOL=\",\"optional\":true,\"description\":\"[Used with MILP Algorithm]\",\"help\":\"INTTOL=*number*\",\"type\":\"value\"},{\"name\":\"LOGLEVEL=\",\"optional\":true,\"aliases\":[\"PRINTLEVEL2=\"],\"description\":\"Controls the amount of information displayed in the SAS log by the solver, from a short description of presolve information and summary to details at each node.\",\"help\":\"LOGLEVEL=NONE | BASIC | MODERATE | AGGRESSIVE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NONE\",\"description\":\"Turns off all solver-related messages in the SAS log.\",\"type\":\"standalone\"},{\"name\":\"BASIC\",\"description\":\"Displays a solver summary after stopping.\",\"type\":\"standalone\"},{\"name\":\"MODERATE\",\"description\":\"Prints a solver summary and a node log by using the interval dictated by the LOGFREQ= option.\",\"type\":\"standalone\"},{\"name\":\"AGGRESSIVE\",\"description\":\"Prints a detailed solver summary and a node log by using the interval dictated by the LOGFREQ= option.\",\"type\":\"standalone\"}]},{\"name\":\"MAXITER=\",\"optional\":true,\"description\":\"[Used with LP Algorithm]\",\"help\":\"MAXITER=*k*\",\"type\":\"value\"},{\"name\":\"MAXNODES=\",\"optional\":true,\"description\":\"[Used with MILP Algorithm]\",\"help\":\"MAXNODES=*number*\",\"type\":\"value\"},{\"name\":\"MAXSOLS=\",\"optional\":true,\"description\":\"[Used with MILP Algorithm]\",\"help\":\"MAXSOLS=*number*\",\"type\":\"value\"},{\"name\":\"MAXTIME=\",\"optional\":true,\"description\":\"[Used with LP and MILP Algorithms]\",\"help\":\"MAXTIME=*t*\",\"type\":\"value\"},{\"name\":\"NODESEL=\",\"optional\":true,\"description\":\"[Used with MILP Algorithm] Specifies the node selection strategy string or its corresponding value number: –1 AUTOMATIC -- Uses automatic node selection 0 BESTBOUND -- Chooses the node with the best relaxed objective (best-bound-first strategy) 1 BESTESTIMATE -- Chooses the node with the best estimate of the integer objective value (best-estimate-first strategy) 2 DEPTH -- Chooses the most recently created node (depthfirst strategy)\",\"help\":\"NODESEL=AUTOMATIC | BESTBOUND | BESTESTIMATE | DEPTH\",\"type\":\"choice\",\"arguments\":[{\"name\":\"AUTOMATIC\",\"description\":\"Use automatic node selection.\",\"type\":\"standalone\"},{\"name\":\"BESTBOUND\",\"description\":\"Choose the node with the best relaxed objective (best-bound-first strategy).\",\"type\":\"standalone\"},{\"name\":\"BESTESTIMATE\",\"description\":\"Choose the node with the best estimate of the integer objective value (best-estimate-first strategy).\",\"type\":\"standalone\"},{\"name\":\"DEPTH\",\"description\":\"Choose the most recently created node (depth-first strategy).\",\"type\":\"standalone\"}]},{\"name\":\"OPTTOL=\",\"optional\":true,\"description\":\"[Used with LP and MILP Algorithms]\",\"type\":\"value\"},{\"name\":\"PRICETYPE=\",\"optional\":true,\"description\":\"[Used with LP Algorithm] Specifies a pricing strategy for the primal and dual simplex solvers.\",\"help\":\"PRICETYPE=HYBRID | PARTIAL | FULL | DEVEX | STEEPESTEDGE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"HYBRID\",\"description\":\"Use a hybrid of Devex and steepest-edge pricing strategies. Available for the primal simplex solver only.\",\"type\":\"standalone\"},{\"name\":\"PARTIAL\",\"description\":\"Use Dantzig’s rule on a queue of decision variables. Optionally, you can specify QUEUESIZE=. Available for the primal simplex solver only.\",\"type\":\"standalone\"},{\"name\":\"FULL\",\"description\":\"Use Dantzig’s rule on all decision variables.\",\"type\":\"standalone\"},{\"name\":\"DEVEX\",\"description\":\"Use Devex pricing strategy.\",\"type\":\"standalone\"},{\"name\":\"STEEPESTEDGE\",\"description\":\"Use steepest-edge pricing strategy.\",\"type\":\"standalone\"}]},{\"name\":\"PRIMALIN=\",\"optional\":true,\"aliases\":[\"PIN=\"],\"description\":\"Syntax: PRIMALIN=number | string PIN=number | string [Used with MILP Algorithm]\",\"help\":\"PRIMALIN=OFF | ON\",\"type\":\"choice\",\"arguments\":[{\"name\":\"OFF\",\"description\":\"Ignores the previous solution.\",\"type\":\"standalone\"},{\"name\":\"ON\",\"description\":\"Starts from the previous solution.\",\"type\":\"standalone\"}]},{\"name\":\"PRINTLEVEL=\",\"optional\":true,\"description\":\"Specifies whether a summary of the problem and solution should be printed. If PRINTLEVEL=1, then the ODS (Output Delivery System) tables ProblemSummary, SolutionSummary, and PerformanceInfo are produced and printed. If PRINTLEVEL=2, then these tables are produced and printed along with an additional table called ProblemStatistics. If PRINTLEVEL=0, then no ODS tables are produced or printed. The default value is 1.\",\"help\":\"PRINTLEVEL=0 | 1 | 2\",\"type\":\"choice\",\"arguments\":[{\"name\":\"0\",\"description\":\"If PRINTLEVEL=0, then no ODS tables are produced or printed.\",\"type\":\"standalone\"},{\"name\":\"1\",\"description\":\"If PRINTLEVEL=1, then the ODS (Output Delivery System) tables ProblemSummary, SolutionSummary, and PerformanceInfo are produced and printed.\",\"type\":\"standalone\"},{\"name\":\"2\",\"description\":\"If PRINTLEVEL=2, then these tables are produced and printed along with an additional table called ProblemStatistics.\",\"type\":\"standalone\"}]},{\"name\":\"PROBE=\",\"optional\":true,\"description\":\"[Used with MILP Algorithm] Specifies a probing string or its corresponding value number: –1 AUTOMATIC -- Uses the probing strategy determined by PROC OPTMILP 0 NONE -- Disables probing 1 MODERATE -- Uses the probing moderately 2 AGGRESSIVE -- Uses the probing aggressively\",\"help\":\"PROBE=AUTOMATIC | NONE | MODERATE | AGGRESSIVE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"AUTOMATIC\",\"aliases\":[\"-1\"],\"description\":\"Uses the probing strategy determined by PROC OPTMILP\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"aliases\":[\"0\"],\"description\":\"Disables probing\",\"type\":\"standalone\"},{\"name\":\"MODERATE\",\"aliases\":[\"1\"],\"description\":\"Uses the probing moderately\",\"type\":\"standalone\"},{\"name\":\"AGGRESSIVE\",\"aliases\":[\"2\"],\"description\":\"Uses the probing aggressively\",\"type\":\"standalone\"}]},{\"name\":\"QUEUESIZE=\",\"optional\":true,\"description\":\"[Used with LP Algorithm]\",\"help\":\"QUEUESIZE=*k*\",\"type\":\"value\"},{\"name\":\"RELOBJGAP=\",\"optional\":true,\"description\":\"[Used with MILP Algorithm] Specifies a stopping criterion based on the best integer objective (BestInteger) and the objective of the best remaining node (BestBound). The relative objective gap is equal to | BestInteger - BestBound | / (1E-10 + | BestBound |)\",\"help\":\"RELOBJGAP=*number*\",\"type\":\"value\"},{\"name\":\"SCALE=\",\"optional\":true,\"description\":\"[Used with LP and MILP Algorithms] Specifies one of the following scaling options: NONE(0), AUTOMATIC(-1).\",\"help\":\"SCALE=NONE | AUTOMATIC\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NONE\",\"description\":\"Disable scaling.\",\"type\":\"standalone\"},{\"name\":\"AUTOMATIC\",\"description\":\"Automatically apply scaling procedure if necessary.\",\"type\":\"standalone\"}]},{\"name\":\"STOP_DG=\",\"optional\":true,\"description\":\"[Used with LP Algorithm]\",\"type\":\"value\"},{\"name\":\"STOP_DI=\",\"optional\":true,\"description\":\"[Used with LP Algorithm]\",\"type\":\"value\"},{\"name\":\"STOP_PI=\",\"optional\":true,\"description\":\"[Used with LP Algorithm]\",\"type\":\"value\"},{\"name\":\"STRONGLEN=\",\"optional\":true,\"description\":\"[Used with MILP Algorithm]\",\"help\":\"STRONGLEN=&lt;*number*&gt; | AUTOMATIC\",\"type\":\"choice\",\"arguments\":[{\"name\":\"number\",\"placeholder\":true,\"description\":\"Replace <number> with any positive integer up to the largest four-byte signed integer, which is 2³¹ - 1.\",\"type\":\"value\"},{\"name\":\"AUTOMATIC\",\"description\":\"Tells PROC OPTMILP to use the default value; this value is calculated automatically.\",\"type\":\"standalone\"}]},{\"name\":\"TARGET=\",\"optional\":true,\"description\":\"[Used with MILP Algorithm]\",\"help\":\"TARGET=*number*\",\"type\":\"value\"},{\"name\":\"TIMETYPE=\",\"optional\":true,\"description\":\"[Used with LP and MILP Algorithms]\",\"help\":\"TIMETYPE=CPU | REAL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"CPU\",\"description\":\"Specifies units of CPU time.\",\"type\":\"standalone\"},{\"name\":\"REAL\",\"description\":\"Specifies units of real time.\",\"type\":\"standalone\"}]},{\"name\":\"VARSEL=\",\"optional\":true,\"description\":\"Specifies the rule for selecting the branching variable. [Used with MILP Algorithm]\",\"help\":\"VARSEL=AUTOMATIC | MAXINFEAS | MININFEAS | PSEUDO | STRONG\",\"type\":\"choice\",\"arguments\":[{\"name\":\"AUTOMATIC\",\"description\":\"Use automatic branching variable selection.\",\"type\":\"standalone\"},{\"name\":\"MAXINFEAS\",\"description\":\"Choose the variable with maximum infeasibility.\",\"type\":\"standalone\"},{\"name\":\"MININFEAS\",\"description\":\"Choose the variable with minimum infeasibility.\",\"type\":\"standalone\"},{\"name\":\"PSEUDO\",\"description\":\"Choose a branching variable based on pseudocost.\",\"type\":\"standalone\"},{\"name\":\"STRONG\",\"description\":\"Use strong branching variable selection strategy.\",\"type\":\"standalone\"}]}]},{\"name\":\"DECOMP\",\"aliases\":[\"DECOMPOSITION\"],\"description\":\"The DECOMP|DECOMPOSITION statement controls the overall decomposition algorithm.\",\"help\":\"DECOMP &lt;ABSOBJGAP=number&gt;&lt;BLOCKS=SAS-data-set&gt;&lt;COMPRESSFREQ=number&gt; ...\",\"arguments\":[{\"name\":\"ABSOBJGAP=\",\"optional\":true,\"description\":\"Specifies a stopping criterion for the continuous bound of the decomposition. When the absolute difference between the master objective and the best dual bound falls below the value of number, the decomposition algorithm stops adding columns. The value of number can be any nonnegative number. The default value is the value of the OPTTOL= main solver option.\",\"help\":\"ABSOBJGAP=*number*\",\"type\":\"value\"},{\"name\":\"BLOCKS=\",\"optional\":true,\"description\":\"Specifies (for OPTLP and OPTMILP procedures only) the input data set that contains block definitions to be used by the decomposition algorithm if METHOD=USER. To specify blocks in PROC OPTMODEL, use the .block constraint suffix instead.\",\"help\":\"BLOCKS=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"COMPRESSFREQ=\",\"optional\":true,\"description\":\"Removes ineffective columns from the master LP after every number of iterations. The frequency, number, is an integer between 0 and the largest four-byte signed integer, which is 2³¹ - 1. The default value is 0.\",\"help\":\"COMPRESSFREQ=*number*\",\"type\":\"value\"},{\"name\":\"INITVARS=\",\"optional\":true,\"description\":\"Specifies whether to initialize the columns by using the original cost vector to solve each block.\",\"help\":\"INITVARS=OFF | ON\",\"type\":\"choice\",\"arguments\":[{\"name\":\"OFF\",\"description\":\"Disables initializing the columns by using the original cost vector to solve each block.\",\"type\":\"standalone\"},{\"name\":\"ON\",\"description\":\"Enables initializing the columns by using the original cost vector to solve each block.\",\"type\":\"standalone\"}]},{\"name\":\"LOGFREQ=\",\"optional\":true,\"description\":\"Specifies (for MILP problems only) how often to print information in the continuous iteration log. The value of number can be any nonnegative number up to the largest four-byte signed integer, which is 2³¹ - 1. The default value of number is 10. If number is set to 0, then the iteration log is disabled. If number is positive, then an entry is made in the log at the first iteration, at the last iteration, and at intervals that are dictated by the value of number. An entry is also made each time a better integer solution or improved bound is found.\",\"help\":\"LOGFREQ=*number*\",\"type\":\"value\"},{\"name\":\"LOGLEVEL=\",\"optional\":true,\"description\":\"Controls the amount of information that is displayed in the SAS log by the decomposition algorithm.\",\"help\":\"LOGLEVEL=AUTOMATIC | NONE | BASIC | MODERATE | AGGRESSIVE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"AUTOMATIC\",\"aliases\":[\"-1\"],\"description\":\"Prints the continuous iteration log for the root node at the interval dictated by the LOGFREQ= option in the DECOMP statement. Prints the branch-and-bound node log at the interval dictated by the LOGFREQ= main solver option.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"aliases\":[\"0\"],\"description\":\"Turns off printing of all of the decomposition algorithm messages to the SAS log.\",\"type\":\"standalone\"},{\"name\":\"BASIC\",\"aliases\":[\"1\"],\"description\":\"Prints the continuous iteration log for each branch-andbound node at the interval dictated by the LOGFREQ= option in the DECOMP statement.\",\"type\":\"standalone\"},{\"name\":\"MODERATE\",\"aliases\":[\"2\"],\"description\":\"Prints the continuous iteration log and summary information for each iteration of each branch-and-bound node at the interval dictated by the LOGFREQ= option in the DECOMP statement.\",\"type\":\"standalone\"},{\"name\":\"AGGRESSIVE\",\"aliases\":[\"3\"],\"description\":\"Prints the continuous iteration log and detailed information for each iteration of each branch-and-bound node at the interval dictated by the LOGFREQ= option in the DECOMP statement.\",\"type\":\"standalone\"}]},{\"name\":\"MASTER_IP_BEG=\",\"optional\":true,\"description\":\"Specifies (for MILP problems only) whether the master problem is solved as a MILP with the current set of columns at the beginning of phase II.\",\"help\":\"MASTER_IP_BEG=OFF | ON\",\"type\":\"choice\",\"arguments\":[{\"name\":\"OFF\",\"aliases\":[\"0\"],\"description\":\"Disables solving the master as a MILP at the beginning of phase II.\",\"type\":\"standalone\"},{\"name\":\"ON\",\"aliases\":[\"1\"],\"description\":\"Enables solving the master as a MILP at the beginning of phase II.\",\"type\":\"standalone\"}]},{\"name\":\"MASTER_IP_END=\",\"optional\":true,\"description\":\"Specifies (for MILP problems only) whether the master problem is solved as a MILP with the current set of columns at the end of phase II.\",\"help\":\"MASTER_IP_END=OFF | ON\",\"type\":\"choice\",\"arguments\":[{\"name\":\"OFF\",\"aliases\":[\"0\"],\"description\":\"Disables solving the master as a MILP at the end of phase II.\",\"type\":\"standalone\"},{\"name\":\"ON\",\"aliases\":[\"1\"],\"description\":\"Enables solving the master as a MILP at the end of phase II.\",\"type\":\"standalone\"}]},{\"name\":\"MASTER_IP_FREQ=\",\"optional\":true,\"description\":\"Solves the master problem (for MILP problems only) as a MILP with the current set of columns after every number iterations. The frequency, number, is an integer between 0 and the largest four-byte signed integer, which is 2³¹ - 1. The default is 10 in the root node and 0 elsewhere.\",\"help\":\"MASTER_IP_FREQ=*number*\",\"type\":\"value\"},{\"name\":\"MAXBLOCKS=\",\"optional\":true,\"description\":\"Specifies the maximum number of blocks to allow. If the defined number of blocks exceeds number, the algorithm creates superblocks using a very simple round-robin scheme. The value of number can be any positive number; the default value is the positive number that has the largest absolute value that can be represented in your operating environment.\",\"help\":\"MAXBLOCKS=*number*\",\"type\":\"value\"},{\"name\":\"MAXCOLSPASS=\",\"optional\":true,\"description\":\"Specifies the maximum number of new columns to allow into the master at each pass. This option is disabled on the initial pass if INITVARS=1. The default is 100.\",\"help\":\"MAXCOLSPASS=*number*\",\"type\":\"value\"},{\"name\":\"MAXITER=\",\"optional\":true,\"description\":\"Specifies (for MILP problems only) the maximum number of outer iterations for the decomposition algorithm. The value number can be any integer between 1 and the largest four-byte signed integer, which is 2³¹ - 1. If you do not specify this option, the procedure does not stop based on the number of iterations performed.\",\"help\":\"MAXITER=*number*\",\"type\":\"value\"},{\"name\":\"MAXTIME=\",\"optional\":true,\"description\":\"Specifies an upper limit of number seconds of time for the decomposition algorithm. The value of the TIMETYPE= main solver option determines the type of units used. If you do not specify this option, the procedure does not stop based on the amount of time elapsed. The value of number can be any positive number; the default value is the positive number that has the largest absolute value that can be represented in your operating environment.\",\"help\":\"MAXTIME=*number*\",\"type\":\"value\"},{\"name\":\"METHOD=\",\"optional\":true,\"description\":\"Specifies the decomposition algorithm method. The default is USER if blocks are defined and NETWORK otherwise.\",\"help\":\"METHOD=USER | NETWORK | AUTO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"USER\",\"description\":\"The user defines which rows belong to which blocks (subproblems). In PROC OPTMODEL, use the .block constraint suffix. In PROC OPTLP and PROC OPTMILP, use the BLOCKS= data set instead.\",\"type\":\"standalone\"},{\"name\":\"NETWORK\",\"description\":\"The algorithm attempts to find an embedded network similar to what is described in “The Network Simplex Algorithm”. The weakly connected components of this network are used as the blocks.\",\"type\":\"standalone\"},{\"name\":\"AUTO\",\"description\":\"The algorithm attempts to find a block structure in the constraint matrix. For the current release, METHOD=AUTO finds block-diagonal structure only (not block-angular structures); unless your problem separates into completely independent problems with no linking constraints, this method finds only one block and hence is equivalent to calling the MILP solver directly.\",\"type\":\"standalone\"}]},{\"name\":\"RELOBJGAP=\",\"optional\":true,\"description\":\"Specifies the relative objective gap as a stopping criterion. The relative objective gap is based on the master objective (MasterObjective) and the best dual bound (BestBound); it is equal to | MasterObjective - BestBound | / (1E-10 + | BestBound |)\",\"help\":\"RELOBJGAP=*number*\",\"type\":\"value\"}]},{\"name\":\"PERFORMANCE\",\"description\":\"The PERFORMANCE statement defines performance parameters for multithreaded and distributed computing, passes variables about the distributed computing environment, and requests detailed results about the performance characteristics of a High-Performance Analytics procedure. With the PERFORMANCE statement, you can also control whether the HPNLIN procedure executes in SMP or MPP mode.\",\"help\":\"PERFORMANCE &lt;DETAILS&gt;&lt;NTHREADS=&lt;&lt;num&gt; | CPUCOUNT&gt;&gt;&lt;PARALLELMODE=&lt;DETERMINISTIC|0 | NONDETERMINISTIC|1&gt;&gt; ...\",\"arguments\":[{\"name\":\"DETAILS\",\"optional\":true,\"description\":\"Requests that the procedure produce the Timing ODS table. This table shows a breakdown of the time used in each step of the procedure.\",\"type\":\"standalone\"},{\"name\":\"NTHREADS=\",\"optional\":true,\"description\":\"Specifies the number of threads that a procedure can use. It overrides the SAS system option THREADS | NOTHREADS. The value of number can be any integer between 1 and 256 inclusive. The default value is CPUCOUNT, which sets the thread count to the number that is determined by the SAS system option CPUCOUNT=.\",\"help\":\"NTHREADS=&lt;*num*&gt; | CPUCOUNT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"num\",\"placeholder\":true,\"description\":\"Replace <num> with an actual number. The value of number can be any integer between 1 and 256 inclusive. The default value is CPUCOUNT, which sets the thread count to the number that is determined by the SAS system option CPUCOUNT=.\",\"type\":\"value\"},{\"name\":\"CPUCOUNT\",\"description\":\"The default value is CPUCOUNT, which sets the thread count to the number that is determined by the SAS system option CPUCOUNT=\",\"type\":\"standalone\"}]},{\"name\":\"PARALLELMODE=\",\"optional\":true,\"description\":\"Specifies the parallel processing mode. This mode determines the solution results that are obtained from running the same model with the same option values on the same platform multiple times.\",\"help\":\"PARALLELMODE=DETERMINISTIC | NONDETERMINISTIC\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DETERMINISTIC\",\"aliases\":[\"0\"],\"description\":\"Requires algorithms to produce the same results every time.\",\"type\":\"standalone\"},{\"name\":\"NONDETERMINISTIC\",\"aliases\":[\"1\"],\"description\":\"Permits algorithms to produce different solution results. This mode requires less synchronization and might attain better performance than DETERMINISTIC mode.\",\"type\":\"standalone\"}]}]},{\"name\":\"TUNER\",\"description\":\"The TUNER statement invokes the OPTMILP option tuner. The option tuner is a tool that enables you to explore alternative (and potentially better) option configurations for your optimization problems.\",\"help\":\"TUNER &lt;GOAL=&lt;GEOMEAN | SUM&gt;&gt;&lt;MAXCONFIGS=number&gt;&lt;MAXTIME=number&gt; ...\",\"arguments\":[{\"name\":\"GOAL=\",\"optional\":true,\"description\":\"Specifies a goal for the option tuner. Every attempt to solve a tuning problem with an option configuration is counted toward the measure specified by the GOAL= option.\",\"help\":\"GOAL=GEOMEAN | SUM\",\"type\":\"choice\",\"arguments\":[{\"name\":\"GEOMEAN\",\"description\":\"Minimizes the geometric mean of the solution times of the tuning problems\",\"type\":\"standalone\"},{\"name\":\"SUM\",\"description\":\"Minimizes the sum of the solution times of the tuning problems\",\"type\":\"standalone\"}]},{\"name\":\"LOGFREQ=\",\"optional\":true,\"description\":\"Specifies how often tuning information is printed in the log. The value of number represents the number of problems solved by the tuner between log updates. The value of number can be any nonnegative integer. Specifying LOGFREQ=0 disables log updates. The default is 1.\",\"help\":\"LOGFREQ=*number*\",\"type\":\"value\"},{\"name\":\"LOGLEVEL=\",\"optional\":true,\"description\":\"Controls the amount of information that the tuner displays in the SAS log.\",\"help\":\"LOGLEVEL=NONE | BASIC | MODERATE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NONE\",\"description\":\"Disables tuner-related messages in the SAS log\",\"type\":\"standalone\"},{\"name\":\"BASIC\",\"description\":\"Displays a tuner summary after stopping\",\"type\":\"standalone\"},{\"name\":\"MODERATE\",\"description\":\"Prints a tuner summary and a tuning log by using the interval dictated by the LOGFREQ= option\",\"type\":\"standalone\"}]},{\"name\":\"MAXCONFIGS=\",\"optional\":true,\"description\":\"Specifies the maximum number of option configurations that the tuner can evaluate in each problem in the PROBLEMS= data set. The value of number can be any nonnegative integer up to the largest four-byte signed integer, which is 2³¹ - 1. The default is 2³¹ - 1.\",\"help\":\"MAXCONFIGS=*number*\",\"type\":\"value\"},{\"name\":\"MAXTIME=\",\"optional\":true,\"description\":\"Specifies the maximum time allowed for the tuner to evaluate option configurations in tuning problems. The default is 36,000 seconds.\",\"help\":\"MAXTIME=*number*\",\"type\":\"value\"},{\"name\":\"OPTIONMODE=\",\"optional\":true,\"description\":\"Specifies which set of options to tune.\",\"help\":\"OPTIONMODE=AUTOMATIC | NONE | USER | FULL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"AUTOMATIC\",\"description\":\"Uses an option set determined by the tuner\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"Solves the problems specified by the PROBLEMS= option without tuning any OPTMILP options\",\"type\":\"standalone\"},{\"name\":\"USER\",\"description\":\"Uses the option set specified by the OPTIONVALUES= option\",\"type\":\"standalone\"},{\"name\":\"FULL\",\"description\":\"Uses the full set of solver options that are available for tuning\",\"type\":\"standalone\"}]},{\"name\":\"OPTIONVALUES=\",\"optional\":true,\"aliases\":[\"OPTVALS=\"],\"description\":\"Specifies an input data set that contains a list of options to be tuned and ranges of values over which each option should be tuned. You can specify an initial tuning value for each option in the list. If you do not specify a range for a tuning option, the tuner uses the default range of that option. If you do not specify an initial value for a tuning option, the tuner uses the default value of that option. If the option’s default value is not in the specified tuning range, the tuner uses the first (smallest) value in the tuning range. If the data set that is specified by the OPTIONVALUES= option is not found, a default set of options is used.\",\"type\":\"value\"},{\"name\":\"PROBLEMS=\",\"optional\":true,\"aliases\":[\"PROBS=\"],\"description\":\"Specifies the input data set that contains a list of MILP problems to be used for option tuning. This list includes the name of each problem, its library location, and (optionally) its objective sense.\",\"type\":\"value\"},{\"name\":\"TUNEROUT=\",\"optional\":true,\"aliases\":[\"TOUT=\"],\"description\":\"Specifies the output data set that contains detailed results for each tuning problem over all the option configurations that are evaluated.\",\"type\":\"value\"}]}],\"supportSiteInformation\":{\"docsetId\":\"casmopt\",\"docsetVersion\":\"latest\",\"docsetTargetFile\":\"casmopt_optmilp_toc.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/OPTMODEL.json",
    "content": "{\"name\":\"OPTMODEL\",\"statements\":[{\"name\":\"PROC OPTMODEL\",\"description\":\"Declaration Statements... Programming Statements... parameter = expression ; (Assignment) ... † The OPTMODEL procedure comprises the powerful OPTMODEL modeling language and state-of-the-art solvers for several classes of mathematical programming problems: † Linear Programming (LP) Mixed Integer Linear Programming (MILP) Quadratic Programming (QP) (experimental) Nonlinear Programming, Unconstrained (NLPU) General Nonlinear Programming (NLPC) General Nonlinear Programming (SQP) General Nonlinear Programming (IPNLP)\",\"help\":\"PROC OPTMODEL <CDIGITS=number><ERRORLIMIT=<number> | NONE><FD=FORWARD | CENTRAL><FDIGITS=number><FORCEFD=ALL | CON | NONE... ><FORCEPRESOLVE=number | string><INITVAR><INTFUZZ=number><MAXLABLEN=number><MISSCHECK><MSGLIMIT=<number> | NONE><NOINITVAR><NOMISSCHECK><PDIGITS=number><PMATRIX=number><PRESOLVER=NONE | AUTOMATIC | BASIC... ><PRESTOL=number><PRINTLEVEL=0 | 1 | 2><PWIDTH=number><VARFUZZ=number>;     \\n\\tCALL name ( argument-1 [, ...argument-n] );\\n\\n\\tCLOSEFILE file-specification(s);\\n\\n\\tCOFOR { index-set } statement;\\n\\n\\tCONSTRAINT constraint [, ...constraint];\\n\\n\\tCONTINUE ;\\n\\n\\tCREATE DATA <FROM [[ key-column(s) ] [ =key-set ] ] column(s)> ;\\n\\n\\tDO ; statement(s) ; END;\\n\\n\\tDO UNTIL ( logic-expression ) ; statement(s) ; END;\\n\\n\\tDO WHILE ( logic-expression ) ; statement(s) ; END;\\n\\n\\tDROP identifier-expression;\\n\\n\\tELSE <DO><IF><THEN> ...;\\n\\n\\tEND;\\n\\n\\tENDSUBMIT;\\n\\n\\tEXPAND <FIX><SOLVE><VAR> ...;\\n\\n\\tFILE <LRECL=value> ;\\n\\n\\tFIX identifier-list [ =( expression ) ];\\n\\n\\tFOR { index-set } statement ;\\n\\n\\tIF <DO><THEN><WHEN> ...;\\n\\n\\tIMPVAR impvar-decl [, ...impvar-decl] ;\\n\\n\\tLEAVE ;\\n\\n\\tMAX name = expression;\\n\\n\\tMIN name = expression;\\n\\n\\tNUMBER <INIT expression> ;\\n\\n\\tPERFORMANCE <DETAILS><NTHREADS=<<num> | CPUCOUNT>><PARALLELMODE=<DETERMINISTIC|0 | NONDETERMINISTIC|1>> ...;\\n\\n\\tPRINT <_PAGE_> ;\\n\\n\\tPROBLEM <FROM><INCLUDE> ;\\n\\n\\tPROFILE <OFF><ON><PRINT> ...;\\n\\n\\tPUT <_PAGE_> ;\\n\\n\\tREAD DATA <INTO> NOMISS <TRIM> ...;\\n\\n\\tRESET OPTIONS <CDIGITS=number><ERRORLIMIT=<<number> | NONE>><FD=<FORWARD | CENTRAL>> ...;\\n\\n\\tRESTORE identifier-expression;\\n\\n\\tSAVE MPS SAS-data-set  ( OBJECTIVE | OBJ ) name  ;\\n\\n\\tSAVE QPS NOOBJECTIVE OBJECTIVE ;\\n\\n\\tSET <INIT expression><NUMBER><STRING> ...;\\n\\n\\tSOLVE OBJECTIVE RELAXINT WITH ...;\\n\\n\\tSOLVE WITH CLP NOOBJECTIVE OBJECTIVE RELAXINT ...;\\n\\n\\tSOLVE WITH IPNLP NOOBJECTIVE OBJECTIVE RELAXINT ...;\\n\\n\\tSOLVE WITH LP NOOBJECTIVE OBJECTIVE RELAXINT ...;\\n\\n\\tSOLVE WITH MILP NOOBJECTIVE OBJECTIVE RELAXINT ...;\\n\\n\\tSOLVE WITH NETWORK NOOBJECTIVE OBJECTIVE RELAXINT ...;\\n\\n\\tSOLVE WITH NLP NOOBJECTIVE OBJECTIVE RELAXINT ...;\\n\\n\\tSOLVE WITH NLPC NOOBJECTIVE OBJECTIVE RELAXINT ...;\\n\\n\\tSOLVE WITH NLPU NOOBJECTIVE OBJECTIVE RELAXINT ...;\\n\\n\\tSOLVE WITH QP NOOBJECTIVE OBJECTIVE RELAXINT ...;\\n\\n\\tSOLVE WITH SQP NOOBJECTIVE OBJECTIVE RELAXINT ...;\\n\\n\\tSTOP ;\\n\\n\\tSTRING <INIT expression> ;\\n\\n\\tSUBMIT <OK = identifier-expression><OUT[=] output-argument | (output-arguments)> ;\\n\\n\\tUNFIX identifier-list [ =( expression ) ];\\n\\n\\tUSE PROBLEM identifier-expression ;\\n\\n\\tVAR <BINARY><INIT expression><INTEGER> ...;\\n\",\"arguments\":[{\"name\":\"CDIGITS=\",\"optional\":true,\"description\":\"Specifies the expected number of decimal digits of accuracy for nonlinear constraints. The value can be fractional. PROC OPTMODEL uses this option to choose a step length when numeric derivative approximations are required to evaluate the Jacobian of nonlinear constraints. The default value depends on your operating environment. It is assumed that constraint values are accurate to the limits of machine precision.\",\"help\":\"CDIGITS=*number*\",\"type\":\"value\"},{\"name\":\"ERRORLIMIT=\",\"optional\":true,\"description\":\"Specifies the maximum number of error messages that can be displayed. Specifying a value of number in the range 1 to 2³¹-1 sets a specific limit. Specifying ERRORLIMIT=NONE removes any existing limit.\",\"help\":\"ERRORLIMIT=&lt;*number*&gt; | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"number\",\"placeholder\":true,\"description\":\"Replace <number> with an actual number in the range 1 to 2³¹-1 to set a specific limit.\",\"type\":\"value\"},{\"name\":\"NONE\",\"description\":\"Specifying ERRORLIMIT=NONE removes any existing limit.\",\"type\":\"standalone\"}]},{\"name\":\"FD=\",\"optional\":true,\"description\":\"Selects the method used to approximate numeric derivatives when analytic derivatives are unavailable. Most solvers require the derivatives of the objective and constraints. The methods available are as follows:\",\"help\":\"FD=FORWARD | CENTRAL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"FORWARD\",\"description\":\"Uses forward differences\",\"type\":\"standalone\"},{\"name\":\"CENTRAL\",\"description\":\"Uses central differences\",\"type\":\"standalone\"}]},{\"name\":\"FDIGITS=\",\"optional\":true,\"description\":\"Specifies the expected number of decimal digits of accuracy for the objective function. The value can be fractional.\",\"help\":\"FDIGITS=*number*\",\"type\":\"value\"},{\"name\":\"FORCEFD=\",\"optional\":true,\"description\":\"Forces PROC OPTMODEL to use finite differences instead of analytic derivatives for the specified set of nonlinear expressions. This option can be useful with FCMP functions to provide more control over derivative computation.\",\"help\":\"FORCEFD=ALL | CON | NONE | OBJ\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ALL\",\"description\":\"Restricts all derivative computations to use finite differences.\",\"type\":\"standalone\"},{\"name\":\"CON\",\"description\":\"Restricts derivative computations for the nonlinear constraint expressions and any IMPVAR expressions they reference to use finite differences.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"Requests analytic derivatives where they are available.\",\"type\":\"standalone\"},{\"name\":\"OBJ\",\"description\":\"Restricts derivative computations for the objective and any IMPVAR expressions it references to use finite differences.\",\"type\":\"standalone\"}]},{\"name\":\"FORCEPRESOLVE=\",\"optional\":true,\"description\":\"specifies whether PROC OPTMODEL can use the OPTMODEL presolver with the CLP, LP, MILP, and QP solvers. By default, the OPTMODEL presolver is disabled when PROC OPTMODEL solves linear problems or problems with predicates, or when the CLP, LP, MILP, or QP solver is specified in the SOLVE statement. Table 5.4 shows the valid values for this option. Table 5.4: Values for the FORCEPRESOLVE= Option number string Description 0 OFF Restores the default behavior. 1 ON Enables PROC OPTMODEL to use the OPTMODEL presolver when the CLP, LP, MILP, or QP solver is specified in the SOLVE statement.\",\"type\":\"value\"},{\"name\":\"INITVAR\",\"optional\":true,\"description\":\"Selects to pass initial values for variables to the solver when the SOLVE statement is executed.\",\"type\":\"standalone\"},{\"name\":\"INTFUZZ=\",\"optional\":true,\"description\":\"Specifies the tolerance for rounding the bounds on integer and binary variables to integer values.\",\"help\":\"INTFUZZ=*number*\",\"type\":\"value\"},{\"name\":\"MAXLABLEN=\",\"optional\":true,\"description\":\"Specifies the maximum length for MPS row and column labels. The allowed range is 8 to 256, with 32 as the default.\",\"help\":\"MAXLABLEN=*number*\",\"type\":\"value\"},{\"name\":\"MISSCHECK\",\"optional\":true,\"description\":\"Requests that a message be produced each time PROC OPTMODEL evaluates an arithmetic operation or built-in function that has missing value operands (except when the operation or function specifically supports missing values).\",\"type\":\"standalone\"},{\"name\":\"MSGLIMIT=\",\"optional\":true,\"description\":\"Specifies the maximum number of non-error messages that can be displayed, including notes and warnings. Specifying a value of number in the range 1 to 2³¹-1 sets a specific limit. Specifying ERRORLIMIT=NONE removes any existing limit.\",\"help\":\"MSGLIMIT=&lt;*number*&gt; | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"number\",\"placeholder\":true,\"description\":\"Replace <number> with an actual number in the range 1 to 2³¹-1 to set a specific limit.\",\"type\":\"value\"},{\"name\":\"NONE\",\"description\":\"Specifying ERRORLIMIT=NONE removes any existing limit.\",\"type\":\"standalone\"}]},{\"name\":\"NOINITVAR\",\"optional\":true,\"description\":\"Causes the solver to be invoked without any specific initial values for variables.\",\"type\":\"standalone\"},{\"name\":\"NOMISSCHECK\",\"optional\":true,\"description\":\"Turns off detailed checking of missing values in expressions. This is the default.\",\"type\":\"standalone\"},{\"name\":\"PDIGITS=\",\"optional\":true,\"description\":\"Requests that the PRINT statement display num significant digits for numeric columns for which no format is specified. The value can range from 1 to 9. The default is 5.\",\"help\":\"PDIGITS=*number*\",\"type\":\"value\"},{\"name\":\"PMATRIX=\",\"optional\":true,\"description\":\"Adjusts the density evaluation of a two-dimensional array to affect how it is displayed. The value num scales the total number of nonempty array elements and is used by the PRINT statement to evaluate whether a two-dimensional array is \\\"sparse\\\" or \\\"dense\\\".\",\"help\":\"PMATRIX=*number*\",\"type\":\"value\"},{\"name\":\"PRESOLVER=\",\"optional\":true,\"description\":\"Specifies a presolve option.\",\"help\":\"PRESOLVER=NONE | AUTOMATIC | BASIC | MODERATE | AGGRESSIVE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NONE\",\"description\":\"Specifies to disable the presolver.\",\"type\":\"standalone\"},{\"name\":\"AUTOMATIC\",\"description\":\"Specifies to apply presolver using default setting.\",\"type\":\"standalone\"},{\"name\":\"BASIC\",\"description\":\"Specifies to perform minimal processing, only substituting fixed variables and removing empty feasible constraints.\",\"type\":\"standalone\"},{\"name\":\"MODERATE\",\"description\":\"Specifies to apply a higher level of presolve processing..\",\"type\":\"standalone\"},{\"name\":\"AGGRESSIVE\",\"description\":\"Specifies to apply the highest level of presolve processing.\",\"type\":\"standalone\"}]},{\"name\":\"PRESTOL=\",\"optional\":true,\"description\":\"Provides a tolerance so that slightly infeasible constraints can be eliminated by the OPTMODEL presolver.\",\"help\":\"PRESTOL=*number*\",\"type\":\"value\"},{\"name\":\"PRINTLEVEL=\",\"optional\":true,\"description\":\"Controls the level of listing output during a SOLVE command.\",\"help\":\"PRINTLEVEL=0 | 1 | 2\",\"type\":\"choice\",\"arguments\":[{\"name\":\"0\",\"description\":\"Disable all tables.\",\"type\":\"standalone\"},{\"name\":\"1\",\"description\":\"Print Problem Summary and Solution Summary.\",\"type\":\"standalone\"},{\"name\":\"2\",\"description\":\"Print Problem Summary, Solution Summary, Methods of Derivative Computation (for NLP solvers), Solver Options, Optimization Statistics and solver-specific ODS tables.\",\"type\":\"standalone\"}]},{\"name\":\"PWIDTH=\",\"optional\":true,\"description\":\"Sets the width used by the PRINT statement to display numeric columns when no format is specified. The smallest value num can take is the value of the PDIGITS= option plus 7; the largest value num can take is 16. The default value is equal to the value of the PDIGITS= option plus 7.\",\"help\":\"PWIDTH=*number*\",\"type\":\"value\"},{\"name\":\"VARFUZZ=\",\"optional\":true,\"description\":\"Specifies the smallest difference that is permitted by the OPTMODEL presolver between the upper and lower bounds of an unfixed variable.\",\"help\":\"VARFUZZ=*number*\",\"type\":\"value\"}]},{\"name\":\"CALL\",\"description\":\"The CALL statement invokes the named library subroutine. The values that are determined for each argument expression are passed to the subroutine when the subroutine is invoked. The subroutine can update the values of PROC OPTMODEL parameters and variables when an argument is an identifier-expression.\",\"help\":\"CALL name ( argument-1 [, ...argument-n] )\"},{\"name\":\"CLOSEFILE\",\"description\":\"The CLOSEFILE statement closes files that were opened by the FILE statement. Each file is specified by a logical name, a physical filename in quotation marks, or an expression enclosed in parentheses that evaluates to a physical filename.\",\"help\":\"CLOSEFILE file-specification(s)\"},{\"name\":\"COFOR\",\"description\":\"The COFOR statement executes its statement for each member of the specified index-set , similar to how the FOR statement executes. However, in a COFOR statement, PROC OPTMODEL can execute the SOLVE statement concurrently with other statements. The execution of the COFOR substatement is interleaved between loop iterations so that other iterations can be processed while an iteration waits for a SOLVE statement to complete. Multiple solvers can run concurrently. This interleaving is managed so that in many cases a FOR loop can be replaced by a COFOR loop to achieve concurrency with minimal or no other changes to the code.\",\"help\":\"COFOR { index-set } statement\"},{\"name\":\"CONSTRAINT\",\"aliases\":[\"CON\"],\"description\":\"The constraint declaration defines one or more constraints on expressions in terms of the optimization variables. You can specify multiple constraint declaration statements. Constraints can have an upper bound, a lower bound, or both bounds. The allowed forms are as follows: [ name [ { index-set } ] : ] expression = expression [ name [ { index-set } ] : ] expression relation expression [ name [ { index-set } ] : ] bound relation body relation bound where: name defines the name for the constraint. relation is the ≤ or ≥ operator. index-set declares a family of equality/inequality/range constraints expression is any valid SAS expression bound defines the lower/upper bound body refers to a body expression\",\"help\":\"CONSTRAINT constraint [, ...constraint]\"},{\"name\":\"CONTINUE\",\"description\":\"The CONTINUE statement terminates the current iteration of the loop statement (iterative DO, DO UNTIL, DO WHILE, or FOR) that immediately contains the CONTINUE statement. Execution resumes at the start of the loop after checking WHILE or UNTIL tests. The FOR or iterative DO loops apply new iteration values.\",\"help\":\"CONTINUE \"},{\"name\":\"CREATE DATA\",\"description\":\"The CREATE DATA statement creates a new SAS data set and copies data into it from PROC OPTMODEL parameters and variables. The arguments to the CREATE DATA statement are as follows: SAS-data-set specifies the output data set name and options. You can specify the data set name and options directly or as the string value of an expression enclosed in parentheses. key-columns declares index values and their corresponding data set variables. The values are used to index array locations in columns. key-set specifies a set of index values for the key-columns. columns specifies data set variables as well as the PROC OPTMODEL source data for the variables.\",\"help\":\"CREATE DATA &lt;FROM [[ key-column(s) ] [ =key-set ] ] column(s)&gt;\",\"arguments\":[{\"name\":\"FROM\",\"optional\":true,\"description\":\"Keyword for specifying the source columns from which the data is created.\",\"type\":\"standalone\"}]},{\"name\":\"DO\",\"description\":\"The DO statement groups a sequence of statements together as a single statement.\",\"help\":\"DO ; statement(s) ; END\"},{\"name\":\"DO UNTIL\",\"description\":\"The DO UNTIL loop executes the specified sequence of statements repeatedly until the logic-expression, evaluated after the statements, returns true (a nonmissing nonzero value).\",\"help\":\"DO UNTIL ( logic-expression ) ; statement(s) ; END\"},{\"name\":\"DO WHILE\",\"description\":\"The DO WHILE loop executes the specified sequence of statements repeatedly as long as the logic-expression, evaluated before the statements, returns true (a nonmissing nonzero value).\",\"help\":\"DO WHILE ( logic-expression ) ; statement(s) ; END\"},{\"name\":\"DROP\",\"description\":\"The DROP statement causes the solver to ignore the specified constraint, constraint array, or constraint array location. The identifier-expression specifies the dropped constraint.\",\"help\":\"DROP identifier-expression\"},{\"name\":\"ELSE\",\"description\":\"If the condition in a IF-THEN statement is false and an ELSE statement is present, then the ELSE action is carried out.\",\"help\":\"ELSE &lt;DO&gt;&lt;IF&gt;&lt;THEN&gt; ...\",\"arguments\":[{\"name\":\"AND\",\"optional\":true,\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"DO\",\"optional\":true,\"description\":\"Action statement in an IF-THEN-ELSE construct.\",\"type\":\"standalone\"},{\"name\":\"IF\",\"optional\":true,\"description\":\"Executes a SAS statement for observations that meet specific conditions.\",\"type\":\"standalone\"},{\"name\":\"NOT\",\"optional\":true,\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"OR\",\"optional\":true,\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"OUTPUT\",\"optional\":true,\"description\":\"Action statement in an IF-THEN-ELSE construct.\",\"type\":\"standalone\"},{\"name\":\"THEN\",\"optional\":true,\"description\":\"If the conditions that are specified in the IF clause are met, the IF-THEN statement executes a SAS statement for observations that are read from a SAS data set, for records in an external file, or for computed values.\",\"type\":\"standalone\"}]},{\"name\":\"END\",\"description\":\"Ends DO group processing.\",\"help\":\"END\"},{\"name\":\"ENDSUBMIT\",\"description\":\"Ends a SUBMIT block.\",\"help\":\"ENDSUBMIT\"},{\"name\":\"EXPAND\",\"description\":\"The EXPAND statement prints the specified constraint, variable, or objective declaration expressions after expanding aggregation operators, substituting the current value for parameters and indices, and resolving constant subexpressions. Identifier-expression is the name of a variable, objective, or constraint.\",\"help\":\"EXPAND &lt;FIX&gt;&lt;SOLVE&gt;&lt;VAR&gt; ...\",\"arguments\":[{\"name\":\"CONSTRAINT\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"CON\"],\"description\":\"Requests the output of undropped constraints.\",\"type\":\"standalone\"},{\"name\":\"FIX\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests the output of fixed variables. These variables might have been fixed by the FIX statement (or by the presolver if the SOLVE option is specified).\",\"type\":\"standalone\"},{\"name\":\"IIS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Restricts the display to items found in the irreducible infeasible set (IIS) after the most recent SOLVE performed by the LP solver with the IIS=ON option.\",\"type\":\"standalone\"},{\"name\":\"IMPVAR\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests the output of implicit variables referenced in the current problem.\",\"type\":\"standalone\"},{\"name\":\"OBJECTIVE\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"OBJ\"],\"description\":\"Requests the output of objectives. Only the most recent objective seen in a MAX or MIN declaration or specified in a SOLVE statement is considered when the SOLVE option is used.\",\"type\":\"standalone\"},{\"name\":\"OMITTED\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests the output of variables that are referenced by problem equations but were not included in the current USE PROBLEM instance. The OPTMODEL procedure omits these variables from the generated problem.\",\"type\":\"standalone\"},{\"name\":\"SOLVE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Causes the EXPAND statement to print the variables, objectives, and constraints in the same form that would be seen by the solver if a SOLVE statement were executed.\",\"type\":\"standalone\"},{\"name\":\"VAR\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests the output of unfixed variables.\",\"type\":\"standalone\"}]},{\"name\":\"FILE\",\"description\":\"The FILE statement selects the current output file for the PUT statement.\",\"help\":\"FILE &lt;LRECL=value&gt;\",\"arguments\":[{\"name\":\"LRECL=\",\"optional\":true,\"description\":\"Sets the line length of the output file. If the option is omitted, then the line length defaults to 256 characters.\",\"help\":\"LRECL=*value*\",\"type\":\"value\"}]},{\"name\":\"FIX\",\"description\":\"The FIX statement causes the solver to treat a list of variables, variable arrays, or variable array locations as fixed in value. The identifier-list consists of one or more variable names separated by spaces. Each member of the identifier-list is fixed to the same expression.\",\"help\":\"FIX identifier-list [ =( expression ) ]\"},{\"name\":\"FOR\",\"description\":\"The FOR statement executes its substatement for each member of the specified index-set. The index set can declare local dummy parameters. You can reference the value of these parameters in the substatement. CAUTION: Avoid modifying the parameters that are used by the FOR statement index set from within the substatement. The set value that is used for the left-most index set item is not affected by such changes. However, the effect of parameter changes on later index set items cannot be predicted.\",\"help\":\"FOR { index-set } statement \"},{\"name\":\"IF\",\"description\":\"\",\"help\":\"IF &lt;DO&gt;&lt;THEN&gt;&lt;WHEN&gt; ...\",\"arguments\":[{\"name\":\"AND\",\"optional\":true,\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"DO\",\"optional\":true,\"description\":\"Action statement in an IF-THEN construct.\",\"type\":\"standalone\"},{\"name\":\"GO\",\"optional\":true,\"aliases\":[\"GOTO\"],\"description\":\"Jumps to a new statement.\",\"help\":\"GO TO\",\"type\":\"standalone\"},{\"name\":\"NOT\",\"optional\":true,\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"OR\",\"optional\":true,\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"OUTPUT\",\"optional\":true,\"description\":\"Action statement in an IF-THEN construct.\",\"type\":\"standalone\"},{\"name\":\"PUT\",\"optional\":true,\"description\":\"Action statement in an IF-THEN construct.\",\"type\":\"standalone\"},{\"name\":\"SET\",\"optional\":true,\"description\":\"Reads an observation from one or more SAS data sets.\",\"type\":\"standalone\"},{\"name\":\"STOP\",\"optional\":true,\"description\":\"Action statement in an IF-THEN construct. Stops execution of the current DATA step.\",\"type\":\"standalone\"},{\"name\":\"THEN\",\"optional\":true,\"description\":\"If the conditions that are specified in the IF clause are met, the IF-THEN statement executes a SAS statement for observations that are read from a SAS data set, for records in an external file, or for computed values.\",\"type\":\"standalone\"},{\"name\":\"WHEN\",\"optional\":true,\"description\":\"WHEN statement in an IF-THEN-WHEN construct.\",\"type\":\"standalone\"}]},{\"name\":\"IMPVAR\",\"description\":\"The IMPVAR statement declares one or more names that refer to optimization expressions in the model. The declared name is called an implicit variable. An implicit variable is useful for structuring models so that complex expressions do not need to be repeated each time they are used. The value of an implicit variable needs to be computed only once instead 'of at each place where the original expression is used, which helps reduce computational overhead. Implicit variables are evaluated without intervention from the solver. Multiple IMPVAR statements are allowed. The names of implicit variables must be distinct from other model declarations, such as variables and constraints. Implicit variables can be used in model expressions in the same places where ordinary variables are allowed. This is the syntax for an impvar-decl: name [ { index-set } ] = expression ; Each impvar-decl declares a name for an implicit variable. The name can be followed by an index-set specification to declare a family of implicit variables. The expression referenced by the name follows. Dummy parameters declared in the index-set specification can be used in the expression. The expression can reference other model components, including variables and other implicit variables.\",\"help\":\"IMPVAR impvar-decl [, ...impvar-decl] \"},{\"name\":\"LEAVE\",\"description\":\"The LEAVE statement terminates the execution of the entire loop body (iterative DO, DO UNTIL, DO WHILE, or FOR) that immediately contains the LEAVE statement. Execution resumes at the statement that follows the loop.\",\"help\":\"LEAVE \"},{\"name\":\"MAX\",\"aliases\":[\"MAXIMIZE\"],\"description\":\"The MAX or MIN declaration specifies an objective for the solver. The name names the objective function for later reference. The solver maximizes an objective specified with the MAX keyword.\",\"help\":\"MAX name = expression\"},{\"name\":\"MIN\",\"aliases\":[\"MINIMIZE\"],\"description\":\"The MIN declaration specifies an objective for the solver. The name names the objective function for later reference. The solver minimizes an objective specified with the MIN keyword.\",\"help\":\"MIN name = expression\"},{\"name\":\"NUMBER\",\"aliases\":[\"NUM\"],\"description\":\"Declaration of parameters that have a NUMBER type.\",\"help\":\"NUMBER &lt;INIT expression&gt;\",\"arguments\":[{\"name\":\"INIT\",\"optional\":true,\"description\":\"Specifies a default value that is used when a parameter value is required but no other value has been supplied.\",\"type\":\"standalone\"}]},{\"name\":\"PERFORMANCE\",\"description\":\"The PERFORMANCE statement defines performance parameters for multithreaded and distributed computing, passes variables about the distributed computing environment, and requests detailed results about the performance characteristics of a High-Performance Analytics procedure. With the PERFORMANCE statement, you can also control whether the HPNLIN procedure executes in SMP or MPP mode.\",\"help\":\"PERFORMANCE &lt;DETAILS&gt;&lt;NTHREADS=&lt;&lt;num&gt; | CPUCOUNT&gt;&gt;&lt;PARALLELMODE=&lt;DETERMINISTIC|0 | NONDETERMINISTIC|1&gt;&gt; ...\",\"arguments\":[{\"name\":\"DETAILS\",\"optional\":true,\"description\":\"Requests that the procedure produce the Timing ODS table. This table shows a breakdown of the time used in each step of the procedure.\",\"type\":\"standalone\"},{\"name\":\"NTHREADS=\",\"optional\":true,\"description\":\"Specifies the number of threads that a procedure can use. It overrides the SAS system option THREADS | NOTHREADS. The value of number can be any integer between 1 and 256 inclusive. The default value is CPUCOUNT, which sets the thread count to the number that is determined by the SAS system option CPUCOUNT=.\",\"help\":\"NTHREADS=&lt;*num*&gt; | CPUCOUNT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"num\",\"placeholder\":true,\"description\":\"Replace <num> with an actual number. The value of number can be any integer between 1 and 256 inclusive. The default value is CPUCOUNT, which sets the thread count to the number that is determined by the SAS system option CPUCOUNT=.\",\"type\":\"value\"},{\"name\":\"CPUCOUNT\",\"description\":\"The default value is CPUCOUNT, which sets the thread count to the number that is determined by the SAS system option CPUCOUNT=\",\"type\":\"standalone\"}]},{\"name\":\"PARALLELMODE=\",\"optional\":true,\"description\":\"Specifies the parallel processing mode. This mode determines the solution results that are obtained from running the same model with the same option values on the same platform multiple times.\",\"help\":\"PARALLELMODE=DETERMINISTIC|0 | NONDETERMINISTIC|1\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DETERMINISTIC\",\"description\":\"Requires algorithms to produce the same results every time.\",\"help\":\"DETERMINISTIC|0\",\"type\":\"choice\"},{\"name\":\"NONDETERMINISTIC\",\"description\":\"Permits algorithms to produce different solution results. This mode requires less synchronization and might attain better performance than DETERMINISTIC mode.\",\"help\":\"NONDETERMINISTIC|1\",\"type\":\"choice\"}]}]},{\"name\":\"PRINT\",\"description\":\"The PRINT statement outputs string and numeric data in tabular form. The statement specifies a list of arrays or other data items to print. Multiple items can be output together as data columns in the same table.\",\"help\":\"PRINT &lt;_PAGE_&gt;\",\"arguments\":[{\"name\":\"_PAGE_\",\"optional\":true,\"description\":\"Specifies a page break.\",\"type\":\"standalone\"}]},{\"name\":\"PROBLEM\",\"description\":\"Problems are declared with the PROBLEM declaration. Problem declarations track an objective, a set of included variables and constraints, and some status information that is associated with the variables and constraints. The problem name can optionally be followed by an index-set to create a family of problems. When a problem is first used (via the USE PROBLEM statement), the specifications from the optional FROM and INCLUDE clauses create the initial set of included variables, constraints, and the problem objective. An empty problem is created if neither clause is specified. The clauses are applied only when the problem is first used with the USE PROBLEM statement.\",\"help\":\"PROBLEM &lt;FROM&gt;&lt;INCLUDE&gt;\",\"arguments\":[{\"name\":\"FROM\",\"optional\":true,\"description\":\"Specifies an existing problem from which to copy the included symbols. The problem-id is an identifier expression. The dropped and fixed status for these symbols in the specified problem is also copied.\",\"type\":\"standalone\"},{\"name\":\"INCLUDE\",\"optional\":true,\"description\":\"Specifies a list of variables, constraints, and objectives to include in the problem. These items are included with default status (unfixed and undropped) which overrides the status from the FROM clause, if it exists. Each item is specified with one of the following forms: identifier-expression includes the specified items in the problem. The identifier-expression can be a symbol name or an array symbol with explicit index. If an array symbol is used without an index, then all array elements are included.\",\"type\":\"standalone\"}]},{\"name\":\"PROFILE\",\"description\":\"Syntax:\",\"help\":\"PROFILE &lt;OFF&gt;&lt;ON&gt;&lt;PRINT&gt; ...\",\"arguments\":[{\"name\":\"OFF\",\"optional\":true,\"description\":\"Disables the profiler. Note that the profiler is disabled when PROC OPTMODEL begins execution.\",\"type\":\"standalone\"},{\"name\":\"ON\",\"optional\":true,\"description\":\"Enables the profiler. Data are collected until the profiler is disabled or PROC OPTMODEL terminates. The profiler is also enabled when no mode is specified in a PROFILE statement.\",\"type\":\"standalone\"},{\"name\":\"PERCENT=\",\"optional\":true,\"description\":\"Restricts the output for PROFILE PRINT to items whose net times account for at least the specified percentage of total profiled time, (total time x number) / 100. Items that have smaller times are aggregated into a single item at the end of the table. You can set this option before the display of profile data, and it does not affect the data collection. The value of number can range from 0 to 100. The default value is 1.\",\"help\":\"PERCENT=*number*\",\"type\":\"value\"},{\"name\":\"PRINT\",\"optional\":true,\"description\":\"Prints the current accumulated profiler data. Items for declarations and statements are displayed in a table in descending order of their net time. Accumulated data are printed automatically when PROC OPTMODEL terminates.\",\"type\":\"standalone\"},{\"name\":\"RESET\",\"optional\":true,\"description\":\"Discards accumulated profiler data when the PROFILE statement completes execution. Accumulated data are retained until they are explicitly reset.\",\"type\":\"standalone\"},{\"name\":\"STMTDEPTH=\",\"optional\":true,\"description\":\"Allows collection of profiler data for nested statements. With the default option, STMTDEPTH=1, profiler data are collected only for top-level statements. The elapsed time for nested statement timing is included in the top-level statement timing. For example, time for a top-level FOR statement would include the execution of its substatement. Use the STMTDEPTH= option to profile the nested statements individually. The value number specifies the maximum nesting depth at which to profile statements individually. The nesting depth of a top-level statement is 1. Otherwise the nesting depth of a statement is one more than the nesting depth of the statement that encloses it, such as a DO , IF , or FOR statement.\",\"help\":\"STMTDEPTH=&lt;*number*&gt; | ALL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"number\",\"placeholder\":true,\"description\":\"Replace <num> with an actual number. The value of number can be any integer between 1 and 256 inclusive. The default value is CPUCOUNT, which sets the thread count to the number that is determined by the SAS system option CPUCOUNT=.\",\"type\":\"value\"},{\"name\":\"ALL\",\"description\":\"The default value is CPUCOUNT, which sets the thread count to the number that is determined by the SAS system option CPUCOUNT=\",\"type\":\"standalone\"}]}]},{\"name\":\"PUT\",\"description\":\"The PUT statement writes text data to the current output file. The syntax of the PUT statement in PROC OPTMODEL is similar to the syntax of the PROC IML and DATA step PUT statements.\",\"help\":\"PUT &lt;_PAGE_&gt;\",\"arguments\":[{\"name\":\"_PAGE_\",\"optional\":true,\"description\":\"Outputs any pending line data and moves to the top of the next page.\",\"type\":\"standalone\"}]},{\"name\":\"READ DATA\",\"description\":\"The READ DATA statement reads data from a SAS data set into PROC OPTMODEL parameter and variable locations. The arguments to the READ DATA statement are as follows: SAS-data-set specifies the input data set name and options. You can specify the data set name and options directly or as the string value of an expression enclosed in parentheses. set-name specifies a set parameter in which to save the set of observation key values read from the input data set. read-key-columns provide the index values for array destinations. read-columns specify the data values to read and the destination locations.\",\"help\":\"READ DATA &lt;INTO&gt; NOMISS &lt;TRIM&gt; ...\",\"arguments\":[{\"name\":\"NOMISS\",\"description\":\"Exclude missing values.\",\"type\":\"standalone\"},{\"name\":\"INTO\",\"optional\":true,\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"LTRIM\",\"optional\":true,\"aliases\":[\"LT\"],\"description\":\"Removes only leading blanks from the data set value.\",\"type\":\"standalone\"},{\"name\":\"NOTRIM\",\"optional\":true,\"aliases\":[\"NT\"],\"description\":\"Copies the data set value with no changes.\",\"type\":\"standalone\"},{\"name\":\"RTRIM\",\"optional\":true,\"aliases\":[\"RT\"],\"description\":\"Removes only trailing blanks from the data set value.\",\"type\":\"standalone\"},{\"name\":\"TRIM\",\"optional\":true,\"aliases\":[\"TR\"],\"description\":\"Removes leading and trailing blanks from the data set value. This is the default behavior.\",\"type\":\"standalone\"}]},{\"name\":\"RESET OPTIONS\",\"aliases\":[\"RESET OPTION\"],\"description\":\"The RESET OPTIONS statement sets PROC OPTMODEL option values or restores them to their defaults. Options can be specified by using the same syntax as in the PROC OPTMODEL statement. The RESET OPTIONS statement provides two extensions to the option syntax. If an option normally requires a value (specified with an equal sign (=) operator), then specifying the option name alone resets it to its default value. You can also specify an expression enclosed in parentheses in place of a literal value.\",\"help\":\"RESET OPTIONS &lt;CDIGITS=number&gt;&lt;ERRORLIMIT=&lt;&lt;number&gt; | NONE&gt;&gt;&lt;FD=&lt;FORWARD | CENTRAL&gt;&gt; ...\",\"arguments\":[{\"name\":\"CDIGITS=\",\"optional\":true,\"description\":\"Specifies the expected number of decimal digits of accuracy for nonlinear constraints. The value can be fractional.\",\"help\":\"CDIGITS=*number*\",\"type\":\"value\"},{\"name\":\"ERRORLIMIT=\",\"optional\":true,\"description\":\"Specifies the maximum number of error messages that can be displayed. Specifying a value of number in the range 1 to 2³¹-1 sets a specific limit. Specifying ERRORLIMIT=NONE removes any existing limit.\",\"help\":\"ERRORLIMIT=&lt;*number*&gt; | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"number\",\"placeholder\":true,\"description\":\"Replace <number> with an actual number in the range 1 to 2³¹-1 to set a specific limit.\",\"type\":\"value\"},{\"name\":\"NONE\",\"description\":\"Specifying ERRORLIMIT=NONE removes any existing limit.\",\"type\":\"standalone\"}]},{\"name\":\"FD=\",\"optional\":true,\"description\":\"Selects the method used to approximate numeric derivatives when analytic derivatives are unavailable.\",\"help\":\"FD=FORWARD | CENTRAL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"FORWARD\",\"description\":\"Use forward differences\",\"type\":\"standalone\"},{\"name\":\"CENTRAL\",\"description\":\"Use central differences\",\"type\":\"standalone\"}]},{\"name\":\"FDIGITS=\",\"optional\":true,\"description\":\"Specifies the expected number of decimal digits of accuracy for the objective function. The value can be fractional.\",\"help\":\"FDIGITS=*number*\",\"type\":\"value\"},{\"name\":\"FORCEFD=\",\"optional\":true,\"description\":\"Forces PROC OPTMODEL to use finite differences instead of analytic derivatives for the specified set of nonlinear expressions. This option can be useful with FCMP functions to provide more control over derivative computation.\",\"help\":\"FORCEFD=ALL | CON | NONE | OBJ\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ALL\",\"description\":\"Restricts all derivative computations to use finite differences.\",\"type\":\"standalone\"},{\"name\":\"CON\",\"description\":\"Restricts derivative computations for the nonlinear constraint expressions and any IMPVAR expressions they reference to use finite differences.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"Requests analytic derivatives where they are available.\",\"type\":\"standalone\"},{\"name\":\"OBJ\",\"description\":\"Restricts derivative computations for the objective and any IMPVAR expressions it references to use finite differences.\",\"type\":\"standalone\"}]},{\"name\":\"FORCEPRESOLVE=\",\"optional\":true,\"description\":\"specifies whether PROC OPTMODEL can use the OPTMODEL presolver with the CLP, LP, MILP, and QP solvers. By default, the OPTMODEL presolver is disabled when PROC OPTMODEL solves linear problems or problems with predicates, or when the CLP, LP, MILP, or QP solver is specified in the SOLVE statement. Table 5.4 shows the valid values for this option. Table 5.4: Values for the FORCEPRESOLVE= Option number string Description 0 OFF Restores the default behavior. 1 ON Enables PROC OPTMODEL to use the OPTMODEL presolver when the CLP, LP, MILP, or QP solver is specified in the SOLVE statement.\",\"type\":\"value\"},{\"name\":\"INITVAR\",\"optional\":true,\"description\":\"Selects to pass initial values for variables to the solver when the SOLVE statement is executed.\",\"type\":\"standalone\"},{\"name\":\"INTFUZZ=\",\"optional\":true,\"description\":\"Specifies the tolerance for rounding the bounds on integer and binary variables to integer values.\",\"help\":\"INTFUZZ=*number*\",\"type\":\"value\"},{\"name\":\"MAXLABLEN=\",\"optional\":true,\"description\":\"Specifies the maximum length for MPS row and column labels. The allowed range is 8 to 256, with 32 as the default.\",\"help\":\"MAXLABLEN=*number*\",\"type\":\"value\"},{\"name\":\"MISSCHECK\",\"optional\":true,\"description\":\"Requests that a message be produced each time PROC OPTMODEL evaluates an arithmetic operation or built-in function that has missing value operands (except when the operation or function specifically supports missing values).\",\"type\":\"standalone\"},{\"name\":\"MSGLIMIT=\",\"optional\":true,\"description\":\"Specifies the maximum number of non-error messages that can be displayed, including notes and warnings. Specifying a value of number in the range 1 to 2³¹-1 sets a specific limit. Specifying ERRORLIMIT=NONE removes any existing limit.\",\"help\":\"MSGLIMIT=&lt;*number*&gt; | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"number\",\"placeholder\":true,\"description\":\"Replace <number> with an actual number in the range 1 to 2³¹-1 to set a specific limit.\",\"type\":\"value\"},{\"name\":\"NONE\",\"description\":\"Specifying ERRORLIMIT=NONE removes any existing limit.\",\"type\":\"standalone\"}]},{\"name\":\"NOINITVAR\",\"optional\":true,\"description\":\"Causes the solver to be invoked without any specific initial values for variables.\",\"type\":\"standalone\"},{\"name\":\"NOMISSCHECK\",\"optional\":true,\"description\":\"Turns off detailed checking of missing values in expressions. This is the default.\",\"type\":\"standalone\"},{\"name\":\"PDIGITS=\",\"optional\":true,\"description\":\"Requests that the PRINT statement display num significant digits for numeric columns for which no format is specified. The value can range from 1 to 9. The default is 5.\",\"help\":\"PDIGITS=*number*\",\"type\":\"value\"},{\"name\":\"PMATRIX=\",\"optional\":true,\"description\":\"Adjusts the density evaluation of a two-dimensional array to affect how it is displayed. The value num scales the total number of nonempty array elements and is used by the PRINT statement to evaluate whether a two-dimensional array is \\\"sparse\\\" or \\\"dense\\\".\",\"help\":\"PMATRIX=*number*\",\"type\":\"value\"},{\"name\":\"PRESOLVER=\",\"optional\":true,\"description\":\"Specifies a presolve option.\",\"help\":\"PRESOLVER=NONE | AUTOMATIC | BASIC | MODERATE | AGGRESSIVE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NONE\",\"description\":\"Disable presolver.\",\"type\":\"standalone\"},{\"name\":\"AUTOMATIC\",\"description\":\"Apply presolver using default setting.\",\"type\":\"standalone\"},{\"name\":\"BASIC\",\"description\":\"Perform minimal processing, only substituting fixed variables and removing empty feasible constraints.\",\"type\":\"standalone\"},{\"name\":\"MODERATE\",\"description\":\"Apply a higher level of presolve processing..\",\"type\":\"standalone\"},{\"name\":\"AGGRESSIVE\",\"description\":\"Apply the highest level of presolve processing.\",\"type\":\"standalone\"}]},{\"name\":\"PRESTOL=\",\"optional\":true,\"description\":\"Provides a tolerance so that slightly infeasible constraints can be eliminated by the OPTMODEL presolver.\",\"help\":\"PRESTOL=*number*\",\"type\":\"value\"},{\"name\":\"PRINTLEVEL=\",\"optional\":true,\"description\":\"Controls the level of listing output during a SOLVE command.\",\"help\":\"PRINTLEVEL=0 | 1 | 2\",\"type\":\"choice\",\"arguments\":[{\"name\":\"0\",\"description\":\"Disable all tables.\",\"type\":\"standalone\"},{\"name\":\"1\",\"description\":\"Print Problem Summary and Solution Summary.\",\"type\":\"standalone\"},{\"name\":\"2\",\"description\":\"Print Problem Summary, Solution Summary, Methods of Derivative Computation (for NLP solvers), Solver Options, Optimization Statistics and solver-specific ODS tables.\",\"type\":\"standalone\"}]},{\"name\":\"PWIDTH=\",\"optional\":true,\"description\":\"Sets the width used by the PRINT statement to display numeric columns when no format is specified. The smallest value num can take is the value of the PDIGITS= option plus 7; the largest value num can take is 16. The default value is equal to the value of the PDIGITS= option plus 7.\",\"help\":\"PWIDTH=*number*\",\"type\":\"value\"},{\"name\":\"VARFUZZ=\",\"optional\":true,\"description\":\"Specifies the smallest difference that is permitted by the OPTMODEL presolver between the upper and lower bounds of an unfixed variable.\",\"help\":\"VARFUZZ=*number*\",\"type\":\"value\"}]},{\"name\":\"RESTORE\",\"description\":\"The RESTORE statement adds a constraint, constraint array, or constraint array location that was dropped by the DROP statement back into the solver model. Identifier-expression specifies the constraint. An entire constraint array is restored if the identifier-expression omits the index from an array name.\",\"help\":\"RESTORE identifier-expression\"},{\"name\":\"SAVE MPS\",\"description\":\"The SAVE MPS statement saves the structure and coefficients for a linear programming model into a SAS data set. This data set can be used as input data for the OPTLP or OPTMILP procedure. NOTE: The OPTMODEL presolver is automatically bypassed so that the statement saves the original model without eliminating fixed variables, tightening bounds, and so on. The SAS-data-set argument specifies the output data set name and options. The generated data set contains observations that define different parts of the linear program. Variables, constraints, and objectives are referenced in the data set by using label text from the corresponding .label suffix value. The default text is based on the name in the model. Labels are limited by default to 32 characters and are abbreviated to fit. You can change the maximum length for labels by using the MAXLABLEN= option. When needed, a programmatically generated number is added to labels to avoid duplication. The current problem objective is included in the data set. If the OBJECTIVE keyword is used, then the problem objective becomes the specified objective.\",\"help\":\"SAVE MPS SAS-data-set  ( OBJECTIVE | OBJ ) name  \"},{\"name\":\"SAVE QPS\",\"description\":\"The SAVE QPS statement saves the structure and coefficients for a quadratic programming model into a SAS data set. This data set can be used as input data for the OPTQP procedure. NOTE: The OPTMODEL presolver is automatically bypassed so that the statement saves the original model without eliminating fixed variables, tightening bounds, and so on. The SAS-data-set argument specifies the output data set name and options. The generated data set contains observations that define different parts of the quadratic program. Variables, constraints, and objectives are referenced in the data set by using label text from the corresponding .label suffix value. The default text is based on the name in the model. Labels are limited by default to 32 characters and are abbreviated to fit. You can change the maximum length for labels by using the MAXLABLEN= option. When needed, a programmatically generated number is added to labels to avoid duplication. If the OBJECTIVE keyword is used, the objective name becomes the current problem objective. If the NOOBJECTIVE keyword is used or the current problem does not have an objective, then the data set includes a default constant zero objective. Otherwise, the current problem objective is included in the data set. The quadratic coefficients of the objective function appear in the QSECTION section of the output data set.\",\"help\":\"SAVE QPS NOOBJECTIVE OBJECTIVE \",\"arguments\":[{\"name\":\"NOOBJECTIVE\",\"aliases\":[\"NOOBJ\"],\"description\":\"If the NOOBJECTIVE keyword is used or the current problem does not have an objective, then the data set includes a default constant zero objective. Otherwise, the current problem objective is included in the data set.\",\"type\":\"standalone\"},{\"name\":\"OBJECTIVE\",\"aliases\":[\"OBJ\"],\"description\":\"If the OBJECTIVE keyword is used, the objective name becomes the current problem objective.\",\"type\":\"standalone\"}]},{\"name\":\"SET\",\"description\":\"Declaration of parameters that have a SET type.\",\"help\":\"SET &lt;INIT expression&gt;&lt;NUMBER&gt;&lt;STRING&gt; ...\",\"arguments\":[{\"name\":\"INIT\",\"optional\":true,\"description\":\"Specifies a default value that is used when a parameter value is required but no other value has been supplied.\",\"type\":\"standalone\"},{\"name\":\"NUMBER\",\"optional\":true,\"aliases\":[\"NUM\"],\"description\":\"[Number type declaration\",\"type\":\"standalone\"},{\"name\":\"STRING\",\"optional\":true,\"aliases\":[\"STR\"],\"description\":\"[String type declaration\",\"type\":\"standalone\"}]},{\"name\":\"SOLVE\",\"description\":\"The SOLVE statement invokes a PROC OPTMODEL solver. solver selects the named solver: LP, MILP, QP, or NLP. If no WITH clause is specified, then a solver is chosen automatically, depending on the problem type. name specifies the objective to use. This sets the current objective for the problem. You can abbreviate the OBJECTIVE keyword as OBJ. If this argument is not specified, then the problem objective is unchanged. RELAXINT requests that any integral variables be relaxed to be continuous. RELAXINT can be used with linear and nonlinear problems in addition to any solver. options specifies solver options. You can specify solver options directly only when you use the WITH clause. A list of the options available with the solver is provided in the individual chapters that describe each solver.\",\"help\":\"SOLVE OBJECTIVE RELAXINT WITH ...\",\"arguments\":[{\"name\":\"CLP\",\"description\":\"Solver for Constraint Programming using constraint propagation and backtracking search algorithm\",\"type\":\"standalone\"},{\"name\":\"IPNLP\",\"description\":\"Solver for General Nonlinear Programming.\",\"type\":\"standalone\"},{\"name\":\"LP\",\"description\":\"Solver for Linear Programming using dual simplex algorithm.\",\"type\":\"standalone\"},{\"name\":\"MILP\",\"description\":\"Solver for Mixed Integer Linear Programming using branch-and-cut algorithm.\",\"type\":\"standalone\"},{\"name\":\"NLP\",\"description\":\"The sparse nonlinear programming (NLP) solver is a component of the OPTMODEL procedure that can solve optimization problems containing both nonlinear equality and inequality constraints.\",\"type\":\"standalone\"},{\"name\":\"NLPC\",\"description\":\"Solver for General Nonlinear Programming.\",\"type\":\"standalone\"},{\"name\":\"NLPU\",\"description\":\"Solver for Nonlinear Programming, Unconstrained.\",\"type\":\"standalone\"},{\"name\":\"NOOBJECTIVE\",\"aliases\":[\"NOOBJ\"],\"description\":\"Requests that the solver ignore the current objective for the problem and use a constant zero objective instead. This keyword enables the solver to process the current model as a feasibility problem.\",\"type\":\"standalone\"},{\"name\":\"OBJECTIVE\",\"aliases\":[\"OBJ\"],\"description\":\"A keyword used when specifying the name of the objective to use.\",\"type\":\"standalone\"},{\"name\":\"QP\",\"description\":\"Solver for Quadratic Programming.\",\"type\":\"standalone\"},{\"name\":\"RELAXINT\",\"description\":\"Requests that any integral variables be relaxed to be continuous. RELAXINT can be used with linear and nonlinear problems in addition to any solver.\",\"type\":\"standalone\"},{\"name\":\"SQP\",\"description\":\"Solver for General Nonlinear Programming.\",\"type\":\"standalone\"},{\"name\":\"WITH\",\"description\":\"A keyword used when specifying the name of the solver to use.\",\"type\":\"standalone\"}]},{\"name\":\"SOLVE WITH CLP\",\"description\":\"The SOLVE WITH CLP statement invokes the CLP solver.\",\"help\":\"SOLVE WITH CLP NOOBJECTIVE OBJECTIVE RELAXINT ...\",\"arguments\":[{\"name\":\"NOOBJECTIVE\",\"aliases\":[\"NOOBJ\"],\"description\":\"Requests that the solver ignore the current objective for the problem and use a constant zero objective instead. This keyword enables the solver to process the current model as a feasibility problem.\",\"type\":\"standalone\"},{\"name\":\"OBJECTIVE\",\"aliases\":[\"OBJ\"],\"description\":\"A keyword used when specifying the name of the objective to use.\",\"type\":\"standalone\"},{\"name\":\"RELAXINT\",\"description\":\"Requests that any integral variables be relaxed to be continuous. RELAXINT can be used with linear and nonlinear problems in addition to any solver.\",\"type\":\"standalone\"},{\"name\":\"FINDALLSOLNS\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"ALLSOLNS\",\"FINDALL\"],\"description\":\"Attempts to find all possible solutions to the CSP.\",\"type\":\"standalone\"},{\"name\":\"MAXSOLNS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the number of solution attempts to be generated for the CSP. By default, MAXSOLNS=1.\",\"help\":\"MAXSOLNS=*number*\",\"type\":\"value\"},{\"name\":\"MAXTIME=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the maximum time to spend calculating results. The type of time (either CPU time or real time) is determined by the value of the TIMETYPE= option. The value of number can be any positive number; the default value is the positive number that has the largest absolute value that can be represented in your operating environment.\",\"help\":\"MAXTIME=*number*\",\"type\":\"value\"},{\"name\":\"NOPREPROCESS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"[Suppresses any preprocessing that would usually be performed for the problem.\",\"type\":\"standalone\"},{\"name\":\"OBJTOL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the tolerance of the objective value. By default, OBJTOL=1E–6.\",\"help\":\"OBJTOL=*number*\",\"type\":\"value\"},{\"name\":\"PREPROCESS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"[Permits any preprocessing that would usually be performed for the problem.\",\"type\":\"standalone\"},{\"name\":\"SHOWPROGRESS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Prints a message to the log whenever a solution is found.\",\"type\":\"standalone\"},{\"name\":\"TIMETYPE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies whether to use CPU time or real time for the MAXTIME= option. The following describes the valid values of the TIMETYPE= option. number string Description 0 CPU Specifies units of CPU time 1 REAL Specifies units of real time\",\"type\":\"value\"},{\"name\":\"VARASSIGN=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the variable assignment strategy. You can specify two value selection strategies: MAX, which selects the maximum value from the domain of the selected variable MIN, which selects the minimum value from the domain of the selected variable\",\"help\":\"VARASSIGN=MAX | MIN*string*\",\"type\":\"value\",\"arguments\":[{\"name\":\"MAX\",\"followsDelimiter\":\"/\",\"description\":\"Selects the maximum value from the domain of the selected variable.\",\"type\":\"standalone\"},{\"name\":\"MIN\",\"followsDelimiter\":\"/\",\"description\":\"Selects the minimum value from the domain of the selected variable.\",\"type\":\"standalone\"}]},{\"name\":\"VARSELECT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the variable selection strategy. The strategy could be static, dynamic, or conflict-directed. Typically, static strategies exploit information about the initial state of the search, whereas dynamic strategies exploit information about the current state of the search process. Conflict-directed strategies exploit information from previous states of the search process as well as the current state (Boussemart et al. 2004).\",\"help\":\"VARSELECT=FIFO | MAXCS | DOMDDEG | DOMDEG | MAXC | MINR | MINRMAXC | DOMWDEG | WDEG*string*\",\"type\":\"value\",\"arguments\":[{\"name\":\"FIFO\",\"followsDelimiter\":\"/\",\"description\":\"Uses the first-in, first-out ordering of the variables as encountered by the procedure after adjusting for the values in the .priority suffix\",\"type\":\"standalone\"},{\"name\":\"MAXCS\",\"followsDelimiter\":\"/\",\"description\":\"Selects the variable that has the maximum number of constraints\",\"type\":\"standalone\"},{\"name\":\"DOMDDEG\",\"followsDelimiter\":\"/\",\"description\":\"Selects the variable that has the smallest ratio of domain size to dynamic degree\",\"type\":\"standalone\"},{\"name\":\"DOMDEG\",\"followsDelimiter\":\"/\",\"description\":\"Selects the variable that has the smallest ratio of domain size to degree\",\"type\":\"standalone\"},{\"name\":\"MAXC\",\"followsDelimiter\":\"/\",\"description\":\"Selects the variable that has the largest number of active constraints\",\"type\":\"standalone\"},{\"name\":\"MINR\",\"followsDelimiter\":\"/\",\"description\":\"Selects the variable that has the smallest range (that is, the minimum value of the upper bound minus the lower bound)\",\"type\":\"standalone\"},{\"name\":\"MINRMAXC\",\"followsDelimiter\":\"/\",\"description\":\"Selects the variable that has the smallest range, breaking ties by selecting one that has the largest number of active constraints\",\"type\":\"standalone\"},{\"name\":\"DOMWDEG\",\"followsDelimiter\":\"/\",\"description\":\"Selects the variable that has the smallest ratio of domain size to weighted degree\",\"type\":\"standalone\"},{\"name\":\"WDEG\",\"followsDelimiter\":\"/\",\"description\":\"Selects the variable that has the largest weighted degree\",\"type\":\"standalone\"}]}]},{\"name\":\"SOLVE WITH IPNLP\",\"description\":\"The interior point nonlinear programming (IPNLP) solver component of the OPTMODEL procedure can solve nonlinear programming (NLP) problems that contain both nonlinear equality and inequality constraints.\",\"help\":\"SOLVE WITH IPNLP NOOBJECTIVE OBJECTIVE RELAXINT ...\",\"arguments\":[{\"name\":\"NOOBJECTIVE\",\"aliases\":[\"NOOBJ\"],\"description\":\"Requests that the solver ignore the current objective for the problem and use a constant zero objective instead. This keyword enables the solver to process the current model as a feasibility problem.\",\"type\":\"standalone\"},{\"name\":\"OBJECTIVE\",\"aliases\":[\"OBJ\"],\"description\":\"A keyword used when specifying the name of the objective to use.\",\"type\":\"standalone\"},{\"name\":\"RELAXINT\",\"description\":\"Requests that any integral variables be relaxed to be continuous. RELAXINT can be used with linear and nonlinear problems in addition to any solver.\",\"type\":\"standalone\"},{\"name\":\"MAXITER=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies that the solver take at most N major iterations to determine an optimum of the NLP problem. The value of N is an integer between zero and the largest four-byte, signed integer, which is 2^31-1. A major iteration in IPNLP consists of finding a descent direction and a step size along which the next approximation of the optimum will reside. The default value of N is 5,000 iterations.\",\"help\":\"MAXITER=*N*\",\"type\":\"value\"},{\"name\":\"MAXTIME=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies an upper limit of T seconds of real time for the solver to find a local optimum. Note that the time specified by the MAXTIME= option is checked only once at the end of each major iteration. The default value is 7,200 seconds (two hours).\",\"help\":\"MAXTIME=*T*\",\"type\":\"value\"},{\"name\":\"OBJLIMIT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies an upper limit on the magnitude of the objective value. For a minimization problem, the algorithm terminates when the objective value becomes less than -M; for a maximization problem, the algorithm stops when the objective value exceeds M.\",\"help\":\"OBJLIMIT=*M*\",\"type\":\"value\"},{\"name\":\"OPTOL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"RELOPTOL=\"],\"description\":\"Defines the measure by which you can decide whether the current iterate is an acceptable approximation of a local minimum. The value of this option is a positive real number. The IPNLP solver determines that the current iterate is a local minimum when the norm of the scaled vector of the optimality conditions is less than є. The default value is є=1E–6.\",\"type\":\"value\"},{\"name\":\"TECHNIQUE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"TECH=\",\"SOLVER=\"],\"description\":\"Specifies the optimization technique.\",\"help\":\"TECHNIQUE=IPKRYLOV | IPQN\",\"type\":\"choice\",\"arguments\":[{\"name\":\"IPKRYLOV\",\"followsDelimiter\":\"/\",\"description\":\"Uses a trust-region interior point method. This technique is recommended for large-scale optimization problems (that is, problems with many variables and constraints).\",\"type\":\"standalone\"},{\"name\":\"IPQN\",\"followsDelimiter\":\"/\",\"description\":\"Uses a quasi-Newton interior point method. This technique can efficiently solve small-to-medium size optimization problems (that is, problems that contain up to 1,000 variables and constraints). It is recommended for problems whose second derivatives are computationally expensive to compute.\",\"type\":\"standalone\"}]}]},{\"name\":\"SOLVE WITH LP\",\"description\":\"Statement for specifying and solving linear programs (LPs).\",\"help\":\"SOLVE WITH LP NOOBJECTIVE OBJECTIVE RELAXINT ...\",\"arguments\":[{\"name\":\"NOOBJECTIVE\",\"aliases\":[\"NOOBJ\"],\"description\":\"Requests that the solver ignore the current objective for the problem and use a constant zero objective instead. This keyword enables the solver to process the current model as a feasibility problem.\",\"type\":\"standalone\"},{\"name\":\"OBJECTIVE\",\"aliases\":[\"OBJ\"],\"description\":\"A keyword used when specifying the name of the objective to use.\",\"type\":\"standalone\"},{\"name\":\"RELAXINT\",\"description\":\"Requests that any integral variables be relaxed to be continuous. RELAXINT can be used with linear and nonlinear problems in addition to any solver.\",\"type\":\"standalone\"},{\"name\":\"ALGORITHM2=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"SOLVER2=\",\"SOL2=\"],\"description\":\"Specifies an LP algorithm if ALGORITHM=NETWORK (NS):.\",\"help\":\"ALGORITHM2=PRIMAL | DUAL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"PRIMAL\",\"followsDelimiter\":\"/\",\"description\":\"Uses primal simplex algorithm (after network simplex).\",\"type\":\"standalone\"},{\"name\":\"DUAL\",\"followsDelimiter\":\"/\",\"description\":\"Uses dual simplex algorithm (after network simplex).\",\"type\":\"standalone\"}]},{\"name\":\"ALGORITHM=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"SOLVER=\",\"SOL=\"],\"description\":\"Specifies an LP algorithm.\",\"help\":\"ALGORITHM=PRIMAL | DUAL | NETWORK | INTERIORPOINT | CONCURRENT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"PRIMAL\",\"followsDelimiter\":\"/\",\"description\":\"Uses primal simplex algorithm.\",\"type\":\"standalone\"},{\"name\":\"DUAL\",\"followsDelimiter\":\"/\",\"description\":\"Uses dual simplex algorithm.\",\"type\":\"standalone\"},{\"name\":\"NETWORK\",\"followsDelimiter\":\"/\",\"description\":\"Uses network simplex algorithm.\",\"type\":\"standalone\"},{\"name\":\"INTERIORPOINT\",\"followsDelimiter\":\"/\",\"description\":\"Uses interior point algorithm.\",\"type\":\"standalone\"},{\"name\":\"CONCURRENT\",\"followsDelimiter\":\"/\",\"description\":\"Uses several different algorithms in parallel.\",\"type\":\"standalone\"}]},{\"name\":\"BASIS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies one of three available options for generating an initial basis.\",\"help\":\"BASIS=CRASH | SLACK | WARMSTART\",\"type\":\"choice\",\"arguments\":[{\"name\":\"CRASH\",\"followsDelimiter\":\"/\",\"description\":\"Generate an initial basis by using crash techniques (Maros 2003). The procedure creates a triangular basic matrix consisting of both decision variables and slack variables. This is the default setting.\",\"type\":\"standalone\"},{\"name\":\"SLACK\",\"followsDelimiter\":\"/\",\"description\":\"Generate an initial basis by using all slack variables.\",\"type\":\"standalone\"},{\"name\":\"WARMSTART\",\"followsDelimiter\":\"/\",\"description\":\"Start the simplex solvers with a user-specified initial basis. The PRIMALIN= and DUALIN= data sets are required to specify an initial basis.\",\"type\":\"standalone\"}]},{\"name\":\"CROSSOVER=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies whether to convert the interior point solution to a basic simplex solution.\",\"help\":\"CROSSOVER=OFF | ON\",\"type\":\"choice\",\"arguments\":[{\"name\":\"OFF\",\"followsDelimiter\":\"/\",\"description\":\"Disable crossover.\",\"type\":\"standalone\"},{\"name\":\"ON\",\"followsDelimiter\":\"/\",\"description\":\"Apply the crossover algorithm to the interior point solution.\",\"type\":\"standalone\"}]},{\"name\":\"DECOMP=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Enables the decomposition algorithm and specifies overall control options for the algorithm.\",\"help\":\"DECOMP=BLOCKS= | ABSOBJGAP= | COMPRESSFREQ= | HYBRID= | INITVARS= | LOGLEVEL= | MAXBLOCKS= | MAXCOLSPASS= | MAXTIME= | METHOD= | NBLOCKS= | NTHREADS= | RELOBJGAP= | LOGFREQ= | MASTER_IP_BEG= | MASTER_IP_END= | MASTER_IP_FREQ= | MAXITER=\",\"type\":\"choice\",\"arguments\":[{\"name\":\"BLOCKS=\",\"type\":\"value\"},{\"name\":\"ABSOBJGAP=\",\"type\":\"value\"},{\"name\":\"COMPRESSFREQ=\",\"type\":\"value\"},{\"name\":\"HYBRID=\",\"type\":\"value\"},{\"name\":\"INITVARS=\",\"type\":\"value\"},{\"name\":\"LOGLEVEL=\",\"type\":\"value\"},{\"name\":\"MAXBLOCKS=\",\"type\":\"value\"},{\"name\":\"MAXCOLSPASS=\",\"type\":\"value\"},{\"name\":\"MAXTIME=\",\"type\":\"value\"},{\"name\":\"METHOD=\",\"type\":\"value\"},{\"name\":\"NBLOCKS=\",\"type\":\"value\"},{\"name\":\"NTHREADS=\",\"type\":\"value\"},{\"name\":\"RELOBJGAP=\",\"type\":\"value\"},{\"name\":\"LOGFREQ=\",\"type\":\"value\"},{\"name\":\"MASTER_IP_BEG=\",\"type\":\"value\"},{\"name\":\"MASTER_IP_END=\",\"type\":\"value\"},{\"name\":\"MASTER_IP_FREQ=\",\"type\":\"value\"},{\"name\":\"MAXITER=\",\"type\":\"value\"}]},{\"name\":\"DECOMPMASTER=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies options for the master problem.\",\"help\":\"DECOMPMASTER=BLOCKS= | ABSOBJGAP= | COMPRESSFREQ= | HYBRID= | INITVARS= | LOGLEVEL= | MAXBLOCKS= | MAXCOLSPASS= | MAXTIME= | METHOD= | NBLOCKS= | NTHREADS= | RELOBJGAP= | LOGFREQ= | MASTER_IP_BEG= | MASTER_IP_END= | MASTER_IP_FREQ= | MAXITER= | INITPRESOLVER= | INITPRESOL=\",\"type\":\"choice\",\"arguments\":[{\"name\":\"BLOCKS=\",\"type\":\"value\"},{\"name\":\"ABSOBJGAP=\",\"type\":\"value\"},{\"name\":\"COMPRESSFREQ=\",\"type\":\"value\"},{\"name\":\"HYBRID=\",\"type\":\"value\"},{\"name\":\"INITVARS=\",\"type\":\"value\"},{\"name\":\"LOGLEVEL=\",\"type\":\"value\"},{\"name\":\"MAXBLOCKS=\",\"type\":\"value\"},{\"name\":\"MAXCOLSPASS=\",\"type\":\"value\"},{\"name\":\"MAXTIME=\",\"type\":\"value\"},{\"name\":\"METHOD=\",\"type\":\"value\"},{\"name\":\"NBLOCKS=\",\"type\":\"value\"},{\"name\":\"NTHREADS=\",\"type\":\"value\"},{\"name\":\"RELOBJGAP=\",\"type\":\"value\"},{\"name\":\"LOGFREQ=\",\"type\":\"value\"},{\"name\":\"MASTER_IP_BEG=\",\"type\":\"value\"},{\"name\":\"MASTER_IP_END=\",\"type\":\"value\"},{\"name\":\"MASTER_IP_FREQ=\",\"type\":\"value\"},{\"name\":\"MAXITER=\",\"type\":\"value\"},{\"name\":\"INITPRESOLVER=\",\"type\":\"value\"},{\"name\":\"INITPRESOL=\",\"type\":\"value\"}]},{\"name\":\"DECOMPMASTERIP=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies options for the (restricted) master problem solved as a MILP with the current set of columns in an effort to obtain an integer feasible solution.\",\"help\":\"DECOMPMASTERIP=BLOCKS= | ABSOBJGAP= | COMPRESSFREQ= | HYBRID= | INITVARS= | LOGLEVEL= | MAXBLOCKS= | MAXCOLSPASS= | MAXTIME= | METHOD= | NBLOCKS= | NTHREADS= | RELOBJGAP= | LOGFREQ= | MASTER_IP_BEG= | MASTER_IP_END= | MASTER_IP_FREQ= | MAXITER=\",\"type\":\"choice\",\"arguments\":[{\"name\":\"BLOCKS=\",\"type\":\"value\"},{\"name\":\"ABSOBJGAP=\",\"type\":\"value\"},{\"name\":\"COMPRESSFREQ=\",\"type\":\"value\"},{\"name\":\"HYBRID=\",\"type\":\"value\"},{\"name\":\"INITVARS=\",\"type\":\"value\"},{\"name\":\"LOGLEVEL=\",\"type\":\"value\"},{\"name\":\"MAXBLOCKS=\",\"type\":\"value\"},{\"name\":\"MAXCOLSPASS=\",\"type\":\"value\"},{\"name\":\"MAXTIME=\",\"type\":\"value\"},{\"name\":\"METHOD=\",\"type\":\"value\"},{\"name\":\"NBLOCKS=\",\"type\":\"value\"},{\"name\":\"NTHREADS=\",\"type\":\"value\"},{\"name\":\"RELOBJGAP=\",\"type\":\"value\"},{\"name\":\"LOGFREQ=\",\"type\":\"value\"},{\"name\":\"MASTER_IP_BEG=\",\"type\":\"value\"},{\"name\":\"MASTER_IP_END=\",\"type\":\"value\"},{\"name\":\"MASTER_IP_FREQ=\",\"type\":\"value\"},{\"name\":\"MAXITER=\",\"type\":\"value\"}]},{\"name\":\"DECOMPSUBPROB=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies option for the subproblem.\",\"help\":\"DECOMPSUBPROB=BLOCKS= | ABSOBJGAP= | COMPRESSFREQ= | HYBRID= | INITVARS= | LOGLEVEL= | MAXBLOCKS= | MAXCOLSPASS= | MAXTIME= | METHOD= | NBLOCKS= | NTHREADS= | RELOBJGAP= | LOGFREQ= | MASTER_IP_BEG= | MASTER_IP_END= | MASTER_IP_FREQ= | MAXITER=\",\"type\":\"choice\",\"arguments\":[{\"name\":\"BLOCKS=\",\"type\":\"value\"},{\"name\":\"ABSOBJGAP=\",\"type\":\"value\"},{\"name\":\"COMPRESSFREQ=\",\"type\":\"value\"},{\"name\":\"HYBRID=\",\"type\":\"value\"},{\"name\":\"INITVARS=\",\"type\":\"value\"},{\"name\":\"LOGLEVEL=\",\"type\":\"value\"},{\"name\":\"MAXBLOCKS=\",\"type\":\"value\"},{\"name\":\"MAXCOLSPASS=\",\"type\":\"value\"},{\"name\":\"MAXTIME=\",\"type\":\"value\"},{\"name\":\"METHOD=\",\"type\":\"value\"},{\"name\":\"NBLOCKS=\",\"type\":\"value\"},{\"name\":\"NTHREADS=\",\"type\":\"value\"},{\"name\":\"RELOBJGAP=\",\"type\":\"value\"},{\"name\":\"LOGFREQ=\",\"type\":\"value\"},{\"name\":\"MASTER_IP_BEG=\",\"type\":\"value\"},{\"name\":\"MASTER_IP_END=\",\"type\":\"value\"},{\"name\":\"MASTER_IP_FREQ=\",\"type\":\"value\"},{\"name\":\"MAXITER=\",\"type\":\"value\"}]},{\"name\":\"DUALIZE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Controls the dualization of the problem.\",\"help\":\"DUALIZE=AUTOMATIC | OFF | ON\",\"type\":\"choice\",\"arguments\":[{\"name\":\"AUTOMATIC\",\"followsDelimiter\":\"/\",\"description\":\"The presolver uses a heuristic to decide whether to dualize the problem or not.\",\"type\":\"standalone\"},{\"name\":\"OFF\",\"followsDelimiter\":\"/\",\"description\":\"Disables dualization. The optimization problem is solved in the form that you specify.\",\"type\":\"standalone\"},{\"name\":\"ON\",\"followsDelimiter\":\"/\",\"description\":\"The presolver formulates the dual of the linear optimization problem.\",\"type\":\"standalone\"}]},{\"name\":\"FEASTOL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the feasibility tolerance for determining the feasibility of a variable value. The default value is 1E-6.\",\"type\":\"value\"},{\"name\":\"IIS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies whether the LP solver attempts to identify a set of constraints and variables that form an irreducible infeasible set (IIS).\",\"help\":\"IIS=OFF | ON\",\"type\":\"choice\",\"arguments\":[{\"name\":\"OFF\",\"followsDelimiter\":\"/\",\"description\":\"Disables IIS detection. This is the default.\",\"type\":\"standalone\"},{\"name\":\"ON\",\"followsDelimiter\":\"/\",\"description\":\"Enables IIS detection.\",\"type\":\"standalone\"}]},{\"name\":\"LOGFREQ=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"PRINTFREQ=\"],\"description\":\"Specifies that the printing of the solution progress to the iteration log is to occur after every k iterations.\",\"type\":\"value\"},{\"name\":\"LOGLEVEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"PRINTFREQ2=\"],\"description\":\"Controls the amount of information displayed in the SAS log by the LP solver, from a short description of presolve information and summary to details at each iteration.\",\"help\":\"LOGLEVEL=NONE | BASIC | MODERATE | AGGRESSIVE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NONE\",\"followsDelimiter\":\"/\",\"description\":\"Turns off all solver-related messages to SAS log.\",\"type\":\"standalone\"},{\"name\":\"BASIC\",\"followsDelimiter\":\"/\",\"description\":\"Displays a solver summary after stopping.\",\"type\":\"standalone\"},{\"name\":\"MODERATE\",\"followsDelimiter\":\"/\",\"description\":\"Prints a solver summary and an iteration log by using the interval dictated by the LOGFREQ= option.\",\"type\":\"standalone\"},{\"name\":\"AGGRESSIVE\",\"followsDelimiter\":\"/\",\"description\":\"Prints a detailed solver summary and an iteration log by using the interval dictated by the LOGFREQ= option.\",\"type\":\"standalone\"}]},{\"name\":\"MAXITER=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the maximum number of iterations.\",\"help\":\"MAXITER=*k*\",\"type\":\"value\"},{\"name\":\"MAXTIME=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies an upper limit of k seconds of real time for reading in the data and performing the optimization process.\",\"help\":\"MAXTIME=*k*\",\"type\":\"value\"},{\"name\":\"OPTTOL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the optimality tolerance for declaring optimality. The default value is 1E-6.\",\"type\":\"value\"},{\"name\":\"PRESOLVER=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies a presolve option.\",\"help\":\"PRESOLVER=NONE | AUTOMATIC | BASIC | MODERATE | AGGRESSIVE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NONE\",\"followsDelimiter\":\"/\",\"description\":\"Disable presolver.\",\"type\":\"standalone\"},{\"name\":\"AUTOMATIC\",\"followsDelimiter\":\"/\",\"description\":\"Apply presolver by using default setting.\",\"type\":\"standalone\"},{\"name\":\"BASIC\",\"followsDelimiter\":\"/\",\"description\":\"Perform basic presolve like removing empty rows, columns, and fixed variables.\",\"type\":\"standalone\"},{\"name\":\"MODERATE\",\"followsDelimiter\":\"/\",\"description\":\"Perform basic presolve and apply other inexpensive presolve techniques.\",\"type\":\"standalone\"},{\"name\":\"AGGRESSIVE\",\"followsDelimiter\":\"/\",\"description\":\"Perform moderate presolve and apply other aggressive (but expensive) presolve techniques.\",\"type\":\"standalone\"}]},{\"name\":\"PRICETYPE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies one of 5 available pricing strategies for the simplex solvers.\",\"help\":\"PRICETYPE=HYBRID | PARTIAL | FULL | DEVEX | STEEPESTEDGE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"HYBRID\",\"followsDelimiter\":\"/\",\"description\":\"Use a hybrid of Devex and steepest-edge pricing strategies. Available for the primal simplex solver only.\",\"type\":\"standalone\"},{\"name\":\"PARTIAL\",\"followsDelimiter\":\"/\",\"description\":\"Use the Dantzig's rule on a queue of decision variables. Optionally, you can specify QUEUESIZE=. Available for the primal simplex solver only.\",\"type\":\"standalone\"},{\"name\":\"FULL\",\"followsDelimiter\":\"/\",\"description\":\"Use the Dantzig's rule on all decision variables.\",\"type\":\"standalone\"},{\"name\":\"DEVEX\",\"followsDelimiter\":\"/\",\"description\":\"Use Devex pricing strategy.\",\"type\":\"standalone\"},{\"name\":\"STEEPESTEDGE\",\"followsDelimiter\":\"/\",\"description\":\"Use steepest-edge pricing strategy.\",\"type\":\"standalone\"}]},{\"name\":\"QUEUESIZE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the queue size. The default value is chosen adaptively based on the number of decision variables. This option is used only when PRICETYPE=PARTIAL.\",\"help\":\"QUEUESIZE=*k*\",\"type\":\"value\"},{\"name\":\"SCALE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies a scaling option.\",\"help\":\"SCALE=NONE | AUTOMATIC\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NONE\",\"followsDelimiter\":\"/\",\"description\":\"Disable scaling.\",\"type\":\"standalone\"},{\"name\":\"AUTOMATIC\",\"followsDelimiter\":\"/\",\"description\":\"Automatically apply scaling procedure if necessary.\",\"type\":\"standalone\"}]},{\"name\":\"SEED=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the initial seed for the random number generator.\",\"help\":\"SEED=*number*\",\"type\":\"value\"},{\"name\":\"STOP_DG=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the desired relative duality gap, δ ϵ [1E–9, 1E–4]. This is the relative difference between the primal and dual objective function values and is the primary solution quality parameter. The default value is 1E–6.\",\"type\":\"value\"},{\"name\":\"STOP_DI=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the maximum allowed relative dual constraints violation, β ϵ [1E–9, 1E–4]. The default value is 1E–6.\",\"type\":\"value\"},{\"name\":\"STOP_PI=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the maximum allowed relative bound and primal constraints violation, α ϵ [1E–9, 1E–4]. The default value is 1E–6.\",\"type\":\"value\"},{\"name\":\"TIMETYPE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the units of time used by the MAXTIME= option and reported by the PRESOLVE_TIME and SOLUTION_TIME terms in the _OROPTMODEL_ macro variable.\",\"help\":\"TIMETYPE=CPU | REAL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"CPU\",\"followsDelimiter\":\"/\",\"description\":\"Uses CPU time. This is the default.\",\"type\":\"standalone\"},{\"name\":\"REAL\",\"followsDelimiter\":\"/\",\"description\":\"Uses real time.\",\"type\":\"standalone\"}]}]},{\"name\":\"SOLVE WITH MILP\",\"description\":\"Statement for specifying and solving mixed integer linear programs (MILPs).\",\"help\":\"SOLVE WITH MILP NOOBJECTIVE OBJECTIVE RELAXINT ...\",\"arguments\":[{\"name\":\"NOOBJECTIVE\",\"aliases\":[\"NOOBJ\"],\"description\":\"Requests that the solver ignore the current objective for the problem and use a constant zero objective instead. This keyword enables the solver to process the current model as a feasibility problem.\",\"type\":\"standalone\"},{\"name\":\"OBJECTIVE\",\"aliases\":[\"OBJ\"],\"description\":\"A keyword used when specifying the name of the objective to use.\",\"type\":\"standalone\"},{\"name\":\"RELAXINT\",\"description\":\"Requests that any integral variables be relaxed to be continuous. RELAXINT can be used with linear and nonlinear problems in addition to any solver.\",\"type\":\"standalone\"},{\"name\":\"ABSOBJGAP=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies a stopping criterion. When the absolute difference between the best integer objective and the objective of the best node remaining falls below the value of num, the procedure stops. The value of num can be any positive number; the default value is 1E-6.\",\"help\":\"ABSOBJGAP=*number*\",\"type\":\"value\"},{\"name\":\"ALLCUTS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Provides a shorthand way of setting all the cuts-related options in one setting. In other words, ALLCUTS=num is equivalent to setting each of the individual cuts parameters to the same value num.\",\"help\":\"ALLCUTS=AUTOMATIC | NONE | MODERATE | AGGRESSIVE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"AUTOMATIC\",\"followsDelimiter\":\"/\",\"description\":\"Generate cutting planes based on a strategy determined by the MILP solver.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"followsDelimiter\":\"/\",\"description\":\"Disable generation of cutting planes.\",\"type\":\"standalone\"},{\"name\":\"MODERATE\",\"followsDelimiter\":\"/\",\"description\":\"Use a moderate cut strategy.\",\"type\":\"standalone\"},{\"name\":\"AGGRESSIVE\",\"followsDelimiter\":\"/\",\"description\":\"Use an aggressive cut strategy.\",\"type\":\"standalone\"}]},{\"name\":\"CONFLICTSEARCH=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the level of conflict search performed by the MILP solver.\",\"help\":\"CONFLICTSEARCH=AUTOMATIC | NONE | MODERATE | AGGRESSIVE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"AUTOMATIC\",\"followsDelimiter\":\"/\",\"description\":\"Performs conflict search based on a strategy determined by the MILP solver\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"followsDelimiter\":\"/\",\"description\":\"Disables conflict search\",\"type\":\"standalone\"},{\"name\":\"MODERATE\",\"followsDelimiter\":\"/\",\"description\":\"Performs a moderate conflict search\",\"type\":\"standalone\"},{\"name\":\"AGGRESSIVE\",\"followsDelimiter\":\"/\",\"description\":\"Performs an aggressive conflict search\",\"type\":\"standalone\"}]},{\"name\":\"CUTCLIQUE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the level of clique cuts generated by the MILP solver.\",\"help\":\"CUTCLIQUE=AUTOMATIC | NONE | MODERATE | AGGRESSIVE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"AUTOMATIC\",\"followsDelimiter\":\"/\",\"description\":\"Generate cutting planes based on a strategy determined by the MILP solver.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"followsDelimiter\":\"/\",\"description\":\"Disable generation of cutting planes.\",\"type\":\"standalone\"},{\"name\":\"MODERATE\",\"followsDelimiter\":\"/\",\"description\":\"Use a moderate cut strategy.\",\"type\":\"standalone\"},{\"name\":\"AGGRESSIVE\",\"followsDelimiter\":\"/\",\"description\":\"Use an aggressive cut strategy.\",\"type\":\"standalone\"}]},{\"name\":\"CUTFLOWCOVER=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the level of flow cover cuts generated by the MILP solver.\",\"help\":\"CUTFLOWCOVER=AUTOMATIC | NONE | MODERATE | AGGRESSIVE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"AUTOMATIC\",\"followsDelimiter\":\"/\",\"description\":\"Generate cutting planes based on a strategy determined by the MILP solver.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"followsDelimiter\":\"/\",\"description\":\"Disable generation of cutting planes.\",\"type\":\"standalone\"},{\"name\":\"MODERATE\",\"followsDelimiter\":\"/\",\"description\":\"Use a moderate cut strategy.\",\"type\":\"standalone\"},{\"name\":\"AGGRESSIVE\",\"followsDelimiter\":\"/\",\"description\":\"Use an aggressive cut strategy.\",\"type\":\"standalone\"}]},{\"name\":\"CUTFLOWPATH=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the level of flow path cuts generated by the MILP solver.\",\"help\":\"CUTFLOWPATH=AUTOMATIC | NONE | MODERATE | AGGRESSIVE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"AUTOMATIC\",\"followsDelimiter\":\"/\",\"description\":\"Generate cutting planes based on a strategy determined by the MILP solver.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"followsDelimiter\":\"/\",\"description\":\"Disable generation of cutting planes.\",\"type\":\"standalone\"},{\"name\":\"MODERATE\",\"followsDelimiter\":\"/\",\"description\":\"Use a moderate cut strategy.\",\"type\":\"standalone\"},{\"name\":\"AGGRESSIVE\",\"followsDelimiter\":\"/\",\"description\":\"Use an aggressive cut strategy.\",\"type\":\"standalone\"}]},{\"name\":\"CUTGOMORY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the level of Gomory cuts generated by the MILP solver.\",\"help\":\"CUTGOMORY=AUTOMATIC | NONE | MODERATE | AGGRESSIVE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"AUTOMATIC\",\"followsDelimiter\":\"/\",\"description\":\"Generate cutting planes based on a strategy determined by the MILP solver.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"followsDelimiter\":\"/\",\"description\":\"Disable generation of cutting planes.\",\"type\":\"standalone\"},{\"name\":\"MODERATE\",\"followsDelimiter\":\"/\",\"description\":\"Use a moderate cut strategy.\",\"type\":\"standalone\"},{\"name\":\"AGGRESSIVE\",\"followsDelimiter\":\"/\",\"description\":\"Use an aggressive cut strategy.\",\"type\":\"standalone\"}]},{\"name\":\"CUTGUB=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the level of generalized upper bound (GUB) cover cuts generated by the MILP solver.\",\"help\":\"CUTGUB=AUTOMATIC | NONE | MODERATE | AGGRESSIVE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"AUTOMATIC\",\"followsDelimiter\":\"/\",\"description\":\"Generate cutting planes based on a strategy determined by the MILP solver.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"followsDelimiter\":\"/\",\"description\":\"Disable generation of cutting planes.\",\"type\":\"standalone\"},{\"name\":\"MODERATE\",\"followsDelimiter\":\"/\",\"description\":\"Use a moderate cut strategy.\",\"type\":\"standalone\"},{\"name\":\"AGGRESSIVE\",\"followsDelimiter\":\"/\",\"description\":\"Use an aggressive cut strategy.\",\"type\":\"standalone\"}]},{\"name\":\"CUTIMPLIED=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the level of implied bound cuts generated by the MILP solver.\",\"help\":\"CUTIMPLIED=AUTOMATIC | NONE | MODERATE | AGGRESSIVE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"AUTOMATIC\",\"followsDelimiter\":\"/\",\"description\":\"Generate cutting planes based on a strategy determined by the MILP solver.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"followsDelimiter\":\"/\",\"description\":\"Disable generation of cutting planes.\",\"type\":\"standalone\"},{\"name\":\"MODERATE\",\"followsDelimiter\":\"/\",\"description\":\"Use a moderate cut strategy.\",\"type\":\"standalone\"},{\"name\":\"AGGRESSIVE\",\"followsDelimiter\":\"/\",\"description\":\"Use an aggressive cut strategy.\",\"type\":\"standalone\"}]},{\"name\":\"CUTKNAPSACK=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the level of knapsack cover cuts generated by the MILP solver.\",\"help\":\"CUTKNAPSACK=AUTOMATIC | NONE | MODERATE | AGGRESSIVE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"AUTOMATIC\",\"followsDelimiter\":\"/\",\"description\":\"Generate cutting planes based on a strategy determined by the MILP solver.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"followsDelimiter\":\"/\",\"description\":\"Disable generation of cutting planes.\",\"type\":\"standalone\"},{\"name\":\"MODERATE\",\"followsDelimiter\":\"/\",\"description\":\"Use a moderate cut strategy.\",\"type\":\"standalone\"},{\"name\":\"AGGRESSIVE\",\"followsDelimiter\":\"/\",\"description\":\"Use an aggressive cut strategy.\",\"type\":\"standalone\"}]},{\"name\":\"CUTLAP=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the level of lift-and-project (LAP) cuts generated by the MILP solver.\",\"help\":\"CUTLAP=AUTOMATIC | NONE | MODERATE | AGGRESSIVE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"AUTOMATIC\",\"followsDelimiter\":\"/\",\"description\":\"Generate cutting planes based on a strategy determined by the MILP solver.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"followsDelimiter\":\"/\",\"description\":\"Disable generation of cutting planes.\",\"type\":\"standalone\"},{\"name\":\"MODERATE\",\"followsDelimiter\":\"/\",\"description\":\"Use a moderate cut strategy.\",\"type\":\"standalone\"},{\"name\":\"AGGRESSIVE\",\"followsDelimiter\":\"/\",\"description\":\"Use an aggressive cut strategy.\",\"type\":\"standalone\"}]},{\"name\":\"CUTMILIFTED=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the level of mixed lifted 0-1 cuts that are generated by the MILP solver.\",\"help\":\"CUTMILIFTED=AUTOMATIC | NONE | MODERATE | AGGRESSIVE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"AUTOMATIC\",\"followsDelimiter\":\"/\",\"description\":\"Generate cutting planes based on a strategy determined by the MILP solver.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"followsDelimiter\":\"/\",\"description\":\"Disable generation of cutting planes.\",\"type\":\"standalone\"},{\"name\":\"MODERATE\",\"followsDelimiter\":\"/\",\"description\":\"Use a moderate cut strategy.\",\"type\":\"standalone\"},{\"name\":\"AGGRESSIVE\",\"followsDelimiter\":\"/\",\"description\":\"Use an aggressive cut strategy.\",\"type\":\"standalone\"}]},{\"name\":\"CUTMIR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the level of mixed integer rounding (MIR) cuts generated by the MILP solver.\",\"help\":\"CUTMIR=AUTOMATIC | NONE | MODERATE | AGGRESSIVE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"AUTOMATIC\",\"followsDelimiter\":\"/\",\"description\":\"Generate cutting planes based on a strategy determined by the MILP solver.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"followsDelimiter\":\"/\",\"description\":\"Disable generation of cutting planes.\",\"type\":\"standalone\"},{\"name\":\"MODERATE\",\"followsDelimiter\":\"/\",\"description\":\"Use a moderate cut strategy.\",\"type\":\"standalone\"},{\"name\":\"AGGRESSIVE\",\"followsDelimiter\":\"/\",\"description\":\"Use an aggressive cut strategy.\",\"type\":\"standalone\"}]},{\"name\":\"CUTMULTICOMMODITY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"\",\"help\":\"CUTMULTICOMMODITY=AUTOMATIC | NONE | MODERATE | AGGRESSIVE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"AUTOMATIC\",\"followsDelimiter\":\"/\",\"description\":\"Generate cutting planes based on a strategy determined by the MILP solver.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"followsDelimiter\":\"/\",\"description\":\"Disable generation of cutting planes.\",\"type\":\"standalone\"},{\"name\":\"MODERATE\",\"followsDelimiter\":\"/\",\"description\":\"Use a moderate cut strategy.\",\"type\":\"standalone\"},{\"name\":\"AGGRESSIVE\",\"followsDelimiter\":\"/\",\"description\":\"Use an aggressive cut strategy.\",\"type\":\"standalone\"}]},{\"name\":\"CUTOFF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Cuts off any nodes in a minimization (maximization) problem with an objective value above (below) num. The value of num can be any number; the default value is the positive (negative) number that has the largest absolute value representable in your operating environment.\",\"help\":\"CUTOFF=*number*\",\"type\":\"value\"},{\"name\":\"CUTSFACTOR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies a row multiplier factor for cuts. The number of cuts added is limited to num times the original number of rows. The value of num can be any nonnegative number less than or equal to 100; the default value is 3.0.\",\"help\":\"CUTSFACTOR=*m*\",\"type\":\"value\"},{\"name\":\"CUTSTRATEGY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"CUTS=\"],\"description\":\"Specifies the overall aggressiveness of the cut generation in the solver. Setting a nondefault value adjusts a number of cut parameters such that the cut generation is basic, moderate, or aggressive compared to the default value.\",\"help\":\"CUTSTRATEGY=AUTOMATIC | NONE | MODERATE | AGGRESSIVE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"AUTOMATIC\",\"followsDelimiter\":\"/\",\"description\":\"Generate cutting planes based on a strategy determined by the MILP solver.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"followsDelimiter\":\"/\",\"description\":\"Disable generation of cutting planes.\",\"type\":\"standalone\"},{\"name\":\"MODERATE\",\"followsDelimiter\":\"/\",\"description\":\"Use a moderate cut strategy.\",\"type\":\"standalone\"},{\"name\":\"AGGRESSIVE\",\"followsDelimiter\":\"/\",\"description\":\"Use an aggressive cut strategy.\",\"type\":\"standalone\"}]},{\"name\":\"CUTZEROHALF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"\",\"help\":\"CUTZEROHALF=AUTOMATIC | NONE | MODERATE | AGGRESSIVE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"AUTOMATIC\",\"followsDelimiter\":\"/\",\"description\":\"Generate cutting planes based on a strategy determined by the MILP solver.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"followsDelimiter\":\"/\",\"description\":\"Disable generation of cutting planes.\",\"type\":\"standalone\"},{\"name\":\"MODERATE\",\"followsDelimiter\":\"/\",\"description\":\"Use a moderate cut strategy.\",\"type\":\"standalone\"},{\"name\":\"AGGRESSIVE\",\"followsDelimiter\":\"/\",\"description\":\"Use an aggressive cut strategy.\",\"type\":\"standalone\"}]},{\"name\":\"DECOMP=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Enables the decomposition algorithm and specifies overall control options for the algorithm.\",\"help\":\"DECOMP=BLOCKS= | ABSOBJGAP= | COMPRESSFREQ= | HYBRID= | INITVARS= | LOGLEVEL= | MAXBLOCKS= | MAXCOLSPASS= | MAXTIME= | METHOD= | NBLOCKS= | NTHREADS= | RELOBJGAP= | LOGFREQ= | MASTER_IP_BEG= | MASTER_IP_END= | MASTER_IP_FREQ= | MAXITER=\",\"type\":\"choice\",\"arguments\":[{\"name\":\"BLOCKS=\",\"type\":\"value\"},{\"name\":\"ABSOBJGAP=\",\"type\":\"value\"},{\"name\":\"COMPRESSFREQ=\",\"type\":\"value\"},{\"name\":\"HYBRID=\",\"type\":\"value\"},{\"name\":\"INITVARS=\",\"type\":\"value\"},{\"name\":\"LOGLEVEL=\",\"type\":\"value\"},{\"name\":\"MAXBLOCKS=\",\"type\":\"value\"},{\"name\":\"MAXCOLSPASS=\",\"type\":\"value\"},{\"name\":\"MAXTIME=\",\"type\":\"value\"},{\"name\":\"METHOD=\",\"type\":\"value\"},{\"name\":\"NBLOCKS=\",\"type\":\"value\"},{\"name\":\"NTHREADS=\",\"type\":\"value\"},{\"name\":\"RELOBJGAP=\",\"type\":\"value\"},{\"name\":\"LOGFREQ=\",\"type\":\"value\"},{\"name\":\"MASTER_IP_BEG=\",\"type\":\"value\"},{\"name\":\"MASTER_IP_END=\",\"type\":\"value\"},{\"name\":\"MASTER_IP_FREQ=\",\"type\":\"value\"},{\"name\":\"MAXITER=\",\"type\":\"value\"}]},{\"name\":\"DECOMPMASTER=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies options for the master problem.\",\"help\":\"DECOMPMASTER=BLOCKS= | ABSOBJGAP= | COMPRESSFREQ= | HYBRID= | INITVARS= | LOGLEVEL= | MAXBLOCKS= | MAXCOLSPASS= | MAXTIME= | METHOD= | NBLOCKS= | NTHREADS= | RELOBJGAP= | LOGFREQ= | MASTER_IP_BEG= | MASTER_IP_END= | MASTER_IP_FREQ= | MAXITER= | INITPRESOLVER= | INITPRESOL=\",\"type\":\"choice\",\"arguments\":[{\"name\":\"BLOCKS=\",\"type\":\"value\"},{\"name\":\"ABSOBJGAP=\",\"type\":\"value\"},{\"name\":\"COMPRESSFREQ=\",\"type\":\"value\"},{\"name\":\"HYBRID=\",\"type\":\"value\"},{\"name\":\"INITVARS=\",\"type\":\"value\"},{\"name\":\"LOGLEVEL=\",\"type\":\"value\"},{\"name\":\"MAXBLOCKS=\",\"type\":\"value\"},{\"name\":\"MAXCOLSPASS=\",\"type\":\"value\"},{\"name\":\"MAXTIME=\",\"type\":\"value\"},{\"name\":\"METHOD=\",\"type\":\"value\"},{\"name\":\"NBLOCKS=\",\"type\":\"value\"},{\"name\":\"NTHREADS=\",\"type\":\"value\"},{\"name\":\"RELOBJGAP=\",\"type\":\"value\"},{\"name\":\"LOGFREQ=\",\"type\":\"value\"},{\"name\":\"MASTER_IP_BEG=\",\"type\":\"value\"},{\"name\":\"MASTER_IP_END=\",\"type\":\"value\"},{\"name\":\"MASTER_IP_FREQ=\",\"type\":\"value\"},{\"name\":\"MAXITER=\",\"type\":\"value\"},{\"name\":\"INITPRESOLVER=\",\"type\":\"value\"},{\"name\":\"INITPRESOL=\",\"type\":\"value\"}]},{\"name\":\"DECOMPMASTERIP=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies options for the (restricted) master problem solved as a MILP with the current set of columns in an effort to obtain an integer feasible solution.\",\"help\":\"DECOMPMASTERIP=BLOCKS= | ABSOBJGAP= | COMPRESSFREQ= | HYBRID= | INITVARS= | LOGLEVEL= | MAXBLOCKS= | MAXCOLSPASS= | MAXTIME= | METHOD= | NBLOCKS= | NTHREADS= | RELOBJGAP= | LOGFREQ= | MASTER_IP_BEG= | MASTER_IP_END= | MASTER_IP_FREQ= | MAXITER=\",\"type\":\"choice\",\"arguments\":[{\"name\":\"BLOCKS=\",\"type\":\"value\"},{\"name\":\"ABSOBJGAP=\",\"type\":\"value\"},{\"name\":\"COMPRESSFREQ=\",\"type\":\"value\"},{\"name\":\"HYBRID=\",\"type\":\"value\"},{\"name\":\"INITVARS=\",\"type\":\"value\"},{\"name\":\"LOGLEVEL=\",\"type\":\"value\"},{\"name\":\"MAXBLOCKS=\",\"type\":\"value\"},{\"name\":\"MAXCOLSPASS=\",\"type\":\"value\"},{\"name\":\"MAXTIME=\",\"type\":\"value\"},{\"name\":\"METHOD=\",\"type\":\"value\"},{\"name\":\"NBLOCKS=\",\"type\":\"value\"},{\"name\":\"NTHREADS=\",\"type\":\"value\"},{\"name\":\"RELOBJGAP=\",\"type\":\"value\"},{\"name\":\"LOGFREQ=\",\"type\":\"value\"},{\"name\":\"MASTER_IP_BEG=\",\"type\":\"value\"},{\"name\":\"MASTER_IP_END=\",\"type\":\"value\"},{\"name\":\"MASTER_IP_FREQ=\",\"type\":\"value\"},{\"name\":\"MAXITER=\",\"type\":\"value\"}]},{\"name\":\"DECOMPSUBPROB=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies option for the subproblem.\",\"help\":\"DECOMPSUBPROB=BLOCKS= | ABSOBJGAP= | COMPRESSFREQ= | HYBRID= | INITVARS= | LOGLEVEL= | MAXBLOCKS= | MAXCOLSPASS= | MAXTIME= | METHOD= | NBLOCKS= | NTHREADS= | RELOBJGAP= | LOGFREQ= | MASTER_IP_BEG= | MASTER_IP_END= | MASTER_IP_FREQ= | MAXITER=\",\"type\":\"choice\",\"arguments\":[{\"name\":\"BLOCKS=\",\"type\":\"value\"},{\"name\":\"ABSOBJGAP=\",\"type\":\"value\"},{\"name\":\"COMPRESSFREQ=\",\"type\":\"value\"},{\"name\":\"HYBRID=\",\"type\":\"value\"},{\"name\":\"INITVARS=\",\"type\":\"value\"},{\"name\":\"LOGLEVEL=\",\"type\":\"value\"},{\"name\":\"MAXBLOCKS=\",\"type\":\"value\"},{\"name\":\"MAXCOLSPASS=\",\"type\":\"value\"},{\"name\":\"MAXTIME=\",\"type\":\"value\"},{\"name\":\"METHOD=\",\"type\":\"value\"},{\"name\":\"NBLOCKS=\",\"type\":\"value\"},{\"name\":\"NTHREADS=\",\"type\":\"value\"},{\"name\":\"RELOBJGAP=\",\"type\":\"value\"},{\"name\":\"LOGFREQ=\",\"type\":\"value\"},{\"name\":\"MASTER_IP_BEG=\",\"type\":\"value\"},{\"name\":\"MASTER_IP_END=\",\"type\":\"value\"},{\"name\":\"MASTER_IP_FREQ=\",\"type\":\"value\"},{\"name\":\"MAXITER=\",\"type\":\"value\"}]},{\"name\":\"EMPHASIS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies a search emphasis option.\",\"help\":\"EMPHASIS=BALANCE | OPTIMAL | FEASIBLE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"BALANCE\",\"followsDelimiter\":\"/\",\"description\":\"Perform a balanced search.\",\"type\":\"standalone\"},{\"name\":\"OPTIMAL\",\"followsDelimiter\":\"/\",\"description\":\"Emphasize optimality over feasibility.\",\"type\":\"standalone\"},{\"name\":\"FEASIBLE\",\"followsDelimiter\":\"/\",\"description\":\"Emphasize feasibility over optimality.\",\"type\":\"standalone\"}]},{\"name\":\"FEASTOL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the tolerance that the MILP solver uses to check the feasibility of a solution.\",\"help\":\"FEASTOL=*number*\",\"type\":\"value\"},{\"name\":\"HEURISTICS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Enables the user to control the level of primal heuristics applied by the MILP solver.\",\"help\":\"HEURISTICS=AUTOMATIC | NONE | BASIC | MODERATE | AGGRESSIVE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"AUTOMATIC\",\"followsDelimiter\":\"/\",\"description\":\"Apply default level of heuristics, similar to MODERATE.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"followsDelimiter\":\"/\",\"description\":\"Disable all primal heuristics.\",\"type\":\"standalone\"},{\"name\":\"BASIC\",\"followsDelimiter\":\"/\",\"description\":\"Apply basic primal heuristics at low frequency.\",\"type\":\"standalone\"},{\"name\":\"MODERATE\",\"followsDelimiter\":\"/\",\"description\":\"Apply most primal heuristics at moderate frequency.\",\"type\":\"standalone\"},{\"name\":\"AGGRESSIVE\",\"followsDelimiter\":\"/\",\"description\":\"Apply all primal heuristics at high frequency.\",\"type\":\"standalone\"}]},{\"name\":\"INTTOL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the amount by which an integer variable value can differ from an integer and still be considered integer feasible. The value of num can be any number between 0.0 and 1.0; the default value is 1E-5.\",\"help\":\"INTTOL=*number*\",\"type\":\"value\"},{\"name\":\"LOGFREQ=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"PRINTFREQ=\"],\"description\":\"Specifies how often information is printed in the node log. The value of number can be any nonnegative integer up to the largest four-byte signed integer, which is 2³¹-1.\",\"type\":\"value\"},{\"name\":\"LOGLEVEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"PRINTLEVEL2=\"],\"description\":\"Controls the amount of information displayed in the SAS log by the MILP solver, from a short description of presolve information and summary to details at each node.\",\"help\":\"LOGLEVEL=NONE | BASIC | MODERATE | AGGRESSIVE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NONE\",\"followsDelimiter\":\"/\",\"description\":\"Turn off all solver-related messages in SAS log.\",\"type\":\"standalone\"},{\"name\":\"BASIC\",\"followsDelimiter\":\"/\",\"description\":\"Display a solver summary after stopping.\",\"type\":\"standalone\"},{\"name\":\"MODERATE\",\"followsDelimiter\":\"/\",\"description\":\"Print a solver summary and a node log by using the interval dictated by the PRINTFREQ= option.\",\"type\":\"standalone\"},{\"name\":\"AGGRESSIVE\",\"followsDelimiter\":\"/\",\"description\":\"Print a detailed solver summary and a node log by using the interval dictated by the PRINTFREQ= option.\",\"type\":\"standalone\"}]},{\"name\":\"MAXNODES=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the maximum number of branch-and-bound nodes to be processed. The value of num can be any nonnegative integer up to the largest four-byte signed integer, which is 2³¹-1. The default value is 2³¹-1.\",\"help\":\"MAXNODES=*number*\",\"type\":\"value\"},{\"name\":\"MAXSOLS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies a stopping criterion. If num solutions have been found, then the procedure stops. The value of num can be any positive integer up to the largest four-byte signed integer, which is 2³¹-1. The default value is 2³¹-1.\",\"help\":\"MAXSOLS=*number*\",\"type\":\"value\"},{\"name\":\"MAXTIME=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the maximum time allowed for the MILP solver to find a solution.\",\"help\":\"MAXTIME=*k*\",\"type\":\"value\"},{\"name\":\"NODESEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the node selection strategy string or its corresponding value number. Specifies the node selection strategy option.\",\"help\":\"NODESEL=AUTOMATIC | BESTBOUND | BESTESTIMATE | DEPTH\",\"type\":\"choice\",\"arguments\":[{\"name\":\"AUTOMATIC\",\"followsDelimiter\":\"/\",\"description\":\"Use automatic node selection.\",\"type\":\"standalone\"},{\"name\":\"BESTBOUND\",\"followsDelimiter\":\"/\",\"description\":\"Choose the node with the best relaxed objective (best-bound-first strategy).\",\"type\":\"standalone\"},{\"name\":\"BESTESTIMATE\",\"followsDelimiter\":\"/\",\"description\":\"Choose the node with the best estimate of the integer objective value (best-estimate-first strategy).\",\"type\":\"standalone\"},{\"name\":\"DEPTH\",\"followsDelimiter\":\"/\",\"description\":\"Choose the most recently created node (depth-first strategy).\",\"type\":\"standalone\"}]},{\"name\":\"OPTTOL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the tolerance used to determine the optimality of nodes in the branch-and-bound tree. The value of number can be any value between (and including) 1E–4 and 1E–9. The default is 1E–6.\",\"help\":\"OPTTOL=*number*\",\"type\":\"value\"},{\"name\":\"PRESOLVER=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies a presolve option.\",\"help\":\"PRESOLVER=NONE | AUTOMATIC | BASIC | MODERATE | AGGRESSIVE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NONE\",\"followsDelimiter\":\"/\",\"description\":\"Disable presolver.\",\"type\":\"standalone\"},{\"name\":\"AUTOMATIC\",\"followsDelimiter\":\"/\",\"description\":\"Apply the default level of presolve processing.\",\"type\":\"standalone\"},{\"name\":\"BASIC\",\"followsDelimiter\":\"/\",\"description\":\"Perform minimal presolve processing.\",\"type\":\"standalone\"},{\"name\":\"MODERATE\",\"followsDelimiter\":\"/\",\"description\":\"Apply a higher level of presolve processing.\",\"type\":\"standalone\"},{\"name\":\"AGGRESSIVE\",\"followsDelimiter\":\"/\",\"description\":\"Apply the highest level of presolve processing.\",\"type\":\"standalone\"}]},{\"name\":\"PRIMALIN\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Enables you to input an integer feasible solution in PROC OPTMODEL before invoking the MILP solver. Adding the PRIMALIN option to the SOLVE statement requests that the MILP solver use the current variable values as a starting integer feasible solution (warm start). If the MILP solver finds that the input solution is valid, then the input solution provides an incumbent solution and a bound for the branch-and-bound algorithm. If the solution is not valid, then the PRIMALIN data are ignored.\",\"type\":\"standalone\"},{\"name\":\"PRIORITY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Indicates whether to use specified branching priorities for integer variables.\",\"help\":\"PRIORITY=0 | 1\",\"type\":\"choice\",\"arguments\":[{\"name\":\"0\",\"followsDelimiter\":\"/\",\"description\":\"Ignores variable priorities.\",\"type\":\"standalone\"},{\"name\":\"1\",\"followsDelimiter\":\"/\",\"description\":\"Uses priorities when they exist. This is the default.\",\"type\":\"standalone\"}]},{\"name\":\"PROBE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies a probing option.\",\"help\":\"PROBE=AUTOMATIC | NONE | MODERATE | AGGRESSIVE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"AUTOMATIC\",\"followsDelimiter\":\"/\",\"description\":\"Probing strategy determined by the MILP solver.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"followsDelimiter\":\"/\",\"description\":\"Disable probing.\",\"type\":\"standalone\"},{\"name\":\"MODERATE\",\"followsDelimiter\":\"/\",\"description\":\"Use probing moderately.\",\"type\":\"standalone\"},{\"name\":\"AGGRESSIVE\",\"followsDelimiter\":\"/\",\"description\":\"Use probing aggressively.\",\"type\":\"standalone\"}]},{\"name\":\"RELOBJGAP=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies a stopping criterion based on the best integer objective (BestInteger) and the objective of the best remaining node (BestBound).\",\"help\":\"RELOBJGAP=*number*\",\"type\":\"value\"},{\"name\":\"RESTARTS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the strategy for restarting the processing of the root node.\",\"help\":\"RESTARTS=AUTOMATIC | NONE | BASIC | MODERATE | AGGRESSIVE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"AUTOMATIC\",\"followsDelimiter\":\"/\",\"description\":\"Uses a restarting strategy determined by the MILP solver\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"followsDelimiter\":\"/\",\"description\":\"Disables restarting\",\"type\":\"standalone\"},{\"name\":\"BASIC\",\"followsDelimiter\":\"/\",\"description\":\"Uses a basic restarting strategy\",\"type\":\"standalone\"},{\"name\":\"MODERATE\",\"followsDelimiter\":\"/\",\"description\":\"Uses a moderate restarting strategy\",\"type\":\"standalone\"},{\"name\":\"AGGRESSIVE\",\"followsDelimiter\":\"/\",\"description\":\"Uses an aggressive restarting strategy\",\"type\":\"standalone\"}]},{\"name\":\"SCALE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Indicates whether or not to scale the problem matrix.\",\"help\":\"SCALE=NONE | AUTOMATIC\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NONE\",\"followsDelimiter\":\"/\",\"description\":\"Disables scaling.\",\"type\":\"standalone\"},{\"name\":\"AUTOMATIC\",\"followsDelimiter\":\"/\",\"description\":\"Scales the matrix as determined by the MILP solver. This is the default.\",\"type\":\"standalone\"}]},{\"name\":\"SEED=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the initial seed of the random number generator.\",\"help\":\"SEED=*number*\",\"type\":\"value\"},{\"name\":\"STRONGITER=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the number of simplex iterations performed for each variable in the candidate list when using the strong branching variable selection strategy. The value of num can be any positive number up to the largest four-byte signed integer, which is 2^31 - 1. If you specify the keyword AUTOMATIC or the value –1, the MILP solver uses the default value; this value is calculated automatically.\",\"type\":\"value\"},{\"name\":\"STRONGLEN=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the number of candidates used when the strong branching variable selection strategy is performed. The value of number can be any positive integer up to the largest four-byte signed integer, which is 2^31 - 1. If you specify the keyword AUTOMATIC or the value –1, the MILP solver uses the default value; this value is calculated automatically.\",\"type\":\"value\"},{\"name\":\"SYMMETRY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the level of symmetry detection. Symmetry detection identifies groups of equivalent decision variables and uses this information to solve the problem more efficiently.\",\"help\":\"SYMMETRY=AUTOMATIC | NONE | BASIC | MODERATE | AGGRESSIVE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"AUTOMATIC\",\"followsDelimiter\":\"/\",\"description\":\"Performs symmetry detection based on a strategy that is determined by the MILP solver\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"followsDelimiter\":\"/\",\"description\":\"Disables symmetry detection\",\"type\":\"standalone\"},{\"name\":\"BASIC\",\"followsDelimiter\":\"/\",\"description\":\"Performs a basic symmetry detection\",\"type\":\"standalone\"},{\"name\":\"MODERATE\",\"followsDelimiter\":\"/\",\"description\":\"Performs a moderate symmetry detection\",\"type\":\"standalone\"},{\"name\":\"AGGRESSIVE\",\"followsDelimiter\":\"/\",\"description\":\"Performs an aggressive symmetry detection\",\"type\":\"standalone\"}]},{\"name\":\"TARGET=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies a stopping criterion for minimization (maximization) problems. If the best integer objective is better than or equal to num, the procedure stops. The value of num can be any number; the default value is the negative (positive) number that has the largest absolute value representable in your operating environment.\",\"help\":\"TARGET=*number*\",\"type\":\"value\"},{\"name\":\"TIMETYPE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the measurement of time used by the MILP solver.\",\"help\":\"TIMETYPE=CPU | REAL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"CPU\",\"followsDelimiter\":\"/\",\"description\":\"Uses CPU time. This is the default.\",\"type\":\"standalone\"},{\"name\":\"REAL\",\"followsDelimiter\":\"/\",\"description\":\"Uses real time.\",\"type\":\"standalone\"}]},{\"name\":\"VARSEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the rule for selecting the branching variable.\",\"help\":\"VARSEL=AUTOMATIC | MAXINFEAS | MININFEAS | PSEUDO | STRONG\",\"type\":\"choice\",\"arguments\":[{\"name\":\"AUTOMATIC\",\"followsDelimiter\":\"/\",\"description\":\"Use automatic branching variable selection.\",\"type\":\"standalone\"},{\"name\":\"MAXINFEAS\",\"followsDelimiter\":\"/\",\"description\":\"Choose the variable with maximum infeasibility.\",\"type\":\"standalone\"},{\"name\":\"MININFEAS\",\"followsDelimiter\":\"/\",\"description\":\"Choose the variable with minimum infeasibility.\",\"type\":\"standalone\"},{\"name\":\"PSEUDO\",\"followsDelimiter\":\"/\",\"description\":\"Choose a branching variable based on pseudocost.\",\"type\":\"standalone\"},{\"name\":\"STRONG\",\"followsDelimiter\":\"/\",\"description\":\"Use strong branching variable selection strategy.\",\"type\":\"standalone\"}]}]},{\"name\":\"SOLVE WITH NETWORK\",\"description\":\"The SOLVE WITH NETWORK statement invokes the network solver.\",\"help\":\"SOLVE WITH NETWORK NOOBJECTIVE OBJECTIVE RELAXINT ...\",\"arguments\":[{\"name\":\"NOOBJECTIVE\",\"aliases\":[\"NOOBJ\"],\"description\":\"Requests that the solver ignore the current objective for the problem and use a constant zero objective instead. This keyword enables the solver to process the current model as a feasibility problem.\",\"type\":\"standalone\"},{\"name\":\"OBJECTIVE\",\"aliases\":[\"OBJ\"],\"description\":\"A keyword used when specifying the name of the objective to use.\",\"type\":\"standalone\"},{\"name\":\"RELAXINT\",\"description\":\"Requests that any integral variables be relaxed to be continuous. RELAXINT can be used with linear and nonlinear problems in addition to any solver.\",\"type\":\"standalone\"},{\"name\":\"BICONCOMP\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Finds biconnected components and articulation points of an undirected input graph.\",\"type\":\"standalone\"},{\"name\":\"CLIQUE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Finds maximal cliques in the input graph. You can specify the following suboption:\",\"help\":\"CLIQUE=MAXCLIQUES=\",\"type\":\"choice\",\"arguments\":[{\"name\":\"MAXCLIQUES=\",\"type\":\"value\"}]},{\"name\":\"CONCOMP=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Finds the connected components of the input graph. You can specify the following suboption:\",\"help\":\"CONCOMP=ALGORITHM=\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ALGORITHM=\",\"type\":\"value\"}]},{\"name\":\"CYCLE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Finds the cycles (or the existence of a cycle) in the input graph. You can specify the following suboptions in the CYCLE= option:\",\"help\":\"CYCLE=MAXCYCLES= | MAXLENGTH= | MAXLINKWEIGHT= | MAXNODEWEIGHT= | MINLENGTH= | MINLINKWEIGHT= | MINNODEWEIGHT= | MODE=\",\"type\":\"choice\",\"arguments\":[{\"name\":\"MAXCYCLES=\",\"type\":\"value\"},{\"name\":\"MAXLENGTH=\",\"type\":\"value\"},{\"name\":\"MAXLINKWEIGHT=\",\"type\":\"value\"},{\"name\":\"MAXNODEWEIGHT=\",\"type\":\"value\"},{\"name\":\"MINLENGTH=\",\"type\":\"value\"},{\"name\":\"MINLINKWEIGHT=\",\"type\":\"value\"},{\"name\":\"MINNODEWEIGHT=\",\"type\":\"value\"},{\"name\":\"MODE=\",\"type\":\"value\"}]},{\"name\":\"GRAPH_DIRECTION=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"DIRECTION=\"],\"description\":\"Specifies directed or undirected graphs.\",\"help\":\"GRAPH_DIRECTION=DIRECTED | UNDIRECTED\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DIRECTED\",\"followsDelimiter\":\"/\",\"description\":\"Requests a directed graph.\",\"type\":\"standalone\"},{\"name\":\"UNDIRECTED\",\"followsDelimiter\":\"/\",\"description\":\"Requests an undirected graph.\",\"type\":\"standalone\"}]},{\"name\":\"INCLUDE_SELFLINK\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Includes self links in the graph definition—for example, $(i,i)$—when an input graph is read. By default, when the network solver reads the LINKS= data, it removes all self links.\",\"type\":\"standalone\"},{\"name\":\"LINEAR_ASSIGNMENT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"LAP<=() >\",\"help\":\"LINEAR_ASSIGNMENT=LAP\",\"type\":\"choice\",\"arguments\":[{\"name\":\"LAP\",\"type\":\"standalone\"}]},{\"name\":\"LINKS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Groups link-indexed data. You can specify the following suboptions: INCLUDE=set-name names a set of links to include in the graph definition even if no weights or bounds are available for them. LOWER=array-name specifies the flow lower bound for each link. The array must be numeric, and it must be indexed over a subset of the inks of the graph. UPPER=array-name specifies the flow upper bound for each link. The array must be numeric, and it must be indexed over a subset of the links of the graph.\",\"help\":\"LINKS=INCLUDE= | LOWER= | UPPER= | WEIGHT=\",\"type\":\"choice\",\"arguments\":[{\"name\":\"INCLUDE=\",\"type\":\"value\"},{\"name\":\"LOWER=\",\"type\":\"value\"},{\"name\":\"UPPER=\",\"type\":\"value\"},{\"name\":\"WEIGHT=\",\"type\":\"value\"}]},{\"name\":\"LOGFREQ=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Controls the frequency with which an algorithm reports progress from its underlying solver. This setting is recognized by the traveling salesman problem and minimum-cost flow algorithms. You can set number to 0 to turn off log updates from underlying algorithms.\",\"help\":\"LOGFREQ=*number*\",\"type\":\"value\"},{\"name\":\"LOGLEVEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Controls the amount of information that is displayed in the SAS log. This setting sets the log level for all algorithms. The following describes the valid values of the this option. number string Description 0 NONE Turns off all procedure-related messages in the SAS log 1 BASIC Displays a basic summary of the input, output, and algorithmic processing 2 MODERATE Displays a summary of the input, output, and algorithmic processing 3 AGGRESSIVE Displays a detailed summary of the input, output, and algorithmic processing\",\"type\":\"value\"},{\"name\":\"MAXTIME=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the maximum time to spend calculating results. The type of time (either CPU time or real time) is determined by the value of the TIMETYPE= option. The value of number can be any positive number; the default value is the positive number that has the largest absolute value that can be represented in your operating environment.\",\"help\":\"MAXTIME=*number*\",\"type\":\"value\"},{\"name\":\"MINCOSTFLOW=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Solves the minimum-cost network flow problem.\",\"help\":\"MINCOSTFLOW=MCF\",\"type\":\"choice\",\"arguments\":[{\"name\":\"MCF\",\"type\":\"standalone\"}]},{\"name\":\"MINCUT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Finds the minimum link-weighted cut of an input graph. You can specify the following suboptions in the MINCUT= option: MAXNUMCUTS=number specifies the maximum number of cuts to return from the algorithm. The minimal cut and any others found during the search, up to number, are returned. By default, MAXNUMCUTS=1.\",\"help\":\"MINCUT=MAXNUMCUTS= | MAXWEIGHT=\",\"type\":\"choice\",\"arguments\":[{\"name\":\"MAXNUMCUTS=\",\"type\":\"value\"},{\"name\":\"MAXWEIGHT=\",\"type\":\"value\"}]},{\"name\":\"MINSPANTREE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Solves the minimum link-weighted spanning tree problem on an input graph.\",\"help\":\"MINSPANTREE=MST\",\"type\":\"choice\",\"arguments\":[{\"name\":\"MST\",\"type\":\"standalone\"}]},{\"name\":\"NODES=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Groups node-indexed data. You can specify the following suboptions: INCLUDE=set-name names a set of nodes to include in the graph definition even if no weights are available for them. WEIGHT=array-name specifies node weights. The array must be numeric, and it must be indexed over a subset of the nodes of the graph.\",\"help\":\"NODES=INCLUDE= | WEIGHT= | WEIGHT2=\",\"type\":\"choice\",\"arguments\":[{\"name\":\"INCLUDE=\",\"type\":\"value\"},{\"name\":\"WEIGHT=\",\"type\":\"value\"},{\"name\":\"WEIGHT2=\",\"type\":\"value\"}]},{\"name\":\"OUT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the output sets or arrays for each algorithm. You can specify the following suboptions:\",\"help\":\"OUT=ARTPOINTS= | ASSIGNMENTS= | BICONCOMP= | CLIQUES= | CONCOMP= | CUTSETS= | CYCLES= | FLOW= | FOREST= | LINKS= | NODES= | ORDER= | PARTITIONS= | SPPATHS= | TOUR= | SPWEIGHTS= | TRANSCL=\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ARTPOINTS=\",\"type\":\"value\"},{\"name\":\"ASSIGNMENTS=\",\"type\":\"value\"},{\"name\":\"BICONCOMP=\",\"type\":\"value\"},{\"name\":\"CLIQUES=\",\"type\":\"value\"},{\"name\":\"CONCOMP=\",\"type\":\"value\"},{\"name\":\"CUTSETS=\",\"type\":\"value\"},{\"name\":\"CYCLES=\",\"type\":\"value\"},{\"name\":\"FLOW=\",\"type\":\"value\"},{\"name\":\"FOREST=\",\"type\":\"value\"},{\"name\":\"LINKS=\",\"type\":\"value\"},{\"name\":\"NODES=\",\"type\":\"value\"},{\"name\":\"ORDER=\",\"type\":\"value\"},{\"name\":\"PARTITIONS=\",\"type\":\"value\"},{\"name\":\"SPPATHS=\",\"type\":\"value\"},{\"name\":\"TOUR=\",\"type\":\"value\"},{\"name\":\"SPWEIGHTS=\",\"type\":\"value\"},{\"name\":\"TRANSCL=\",\"type\":\"value\"}]},{\"name\":\"SHORTPATH=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Calculates shortest paths between sets of nodes on the input graph. You can specify the following suboptions:\",\"help\":\"SHORTPATH=PATHS= | SINK= | SOURCE= | USEWEIGHT=\",\"type\":\"choice\",\"arguments\":[{\"name\":\"PATHS=\",\"type\":\"value\"},{\"name\":\"SINK=\",\"type\":\"value\"},{\"name\":\"SOURCE=\",\"type\":\"value\"},{\"name\":\"USEWEIGHT=\",\"type\":\"value\"}]},{\"name\":\"SUBGRAPH=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the input sets that enable you to solve a problem over a subgraph. You can specify the following suboptions: LINKS=set-name specifies the subset of links to use. If you specify a node pair that is not referenced in any of the suboptions of the LINKS= option, then the network solver returns an error.\",\"help\":\"SUBGRAPH=LINKS= | NODES=\",\"type\":\"choice\",\"arguments\":[{\"name\":\"LINKS=\",\"type\":\"value\"},{\"name\":\"NODES=\",\"type\":\"value\"}]},{\"name\":\"TIMETYPE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies whether to use CPU time or real time for the MAXTIME= option. The following describes the valid values of the TIMETYPE= option. number string Description 0 CPU Specifies units of CPU time 1 REAL Specifies units of real time\",\"type\":\"value\"},{\"name\":\"TRANSITIVE_CLOSURE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Calculates the transitive closure of an input graph.\",\"help\":\"TRANSITIVE_CLOSURE=TRANSCL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"TRANSCL\",\"type\":\"standalone\"}]},{\"name\":\"TSP=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Solves the traveling salesman problem. The algorithm that is used to solve this problem is built around the same method as is used in PROC OPTMILP: a branch-and-cut algorithm. Many of the following suboptions are the same as those described for the OPTMILP procedure in the SAS/OR User's Guide: Mathematical Programming. You can specify the following suboptions:\",\"help\":\"TSP=ABSOBJGAP= | CONFLICTSEARCH= | CUTOFF= | CUTSTRATEGY= | EMPHASIS= | HEURISTICS= | MAXNODES= | MAXSOLS= | MILP= | NODESEL= | PROBE= | RELOBJGAP= | STRONGITER= | STRONGLEN= | TARGET= | VARSEL=\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ABSOBJGAP=\",\"type\":\"value\"},{\"name\":\"CONFLICTSEARCH=\",\"type\":\"value\"},{\"name\":\"CUTOFF=\",\"type\":\"value\"},{\"name\":\"CUTSTRATEGY=\",\"type\":\"value\"},{\"name\":\"EMPHASIS=\",\"type\":\"value\"},{\"name\":\"HEURISTICS=\",\"type\":\"value\"},{\"name\":\"MAXNODES=\",\"type\":\"value\"},{\"name\":\"MAXSOLS=\",\"type\":\"value\"},{\"name\":\"MILP=\",\"type\":\"value\"},{\"name\":\"NODESEL=\",\"type\":\"value\"},{\"name\":\"PROBE=\",\"type\":\"value\"},{\"name\":\"RELOBJGAP=\",\"type\":\"value\"},{\"name\":\"STRONGITER=\",\"type\":\"value\"},{\"name\":\"STRONGLEN=\",\"type\":\"value\"},{\"name\":\"TARGET=\",\"type\":\"value\"},{\"name\":\"VARSEL=\",\"type\":\"value\"}]}]},{\"name\":\"SOLVE WITH NLP\",\"description\":\"where options specify the technique name, termination criteria, and how to display the results in the iteration log. The sparse nonlinear programming (NLP) solver is a component of the OPTMODEL procedure that can solve optimization problems containing both nonlinear equality and inequality constraints.\",\"help\":\"SOLVE WITH NLP NOOBJECTIVE OBJECTIVE RELAXINT ...\",\"arguments\":[{\"name\":\"NOOBJECTIVE\",\"aliases\":[\"NOOBJ\"],\"description\":\"Requests that the solver ignore the current objective for the problem and use a constant zero objective instead. This keyword enables the solver to process the current model as a feasibility problem.\",\"type\":\"standalone\"},{\"name\":\"OBJECTIVE\",\"aliases\":[\"OBJ\"],\"description\":\"A keyword used when specifying the name of the objective to use.\",\"type\":\"standalone\"},{\"name\":\"RELAXINT\",\"description\":\"Requests that any integral variables be relaxed to be continuous. RELAXINT can be used with linear and nonlinear problems in addition to any solver.\",\"type\":\"standalone\"},{\"name\":\"ALGORITHM=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"TECHNIQUE=\",\"TECH=\",\"SOLVER=\"],\"description\":\"Specifies the optimization technique to be used to solve the problem.\",\"help\":\"ALGORITHM=INTERIORPOINT | ACTIVESET | CONCURRENT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"INTERIORPOINT\",\"followsDelimiter\":\"/\",\"description\":\"Uses a primal-dual interior point method. This technique is recommended for both small- and large-scale nonlinear optimization problems. This is the preferred solver if the problem includes a large number of inactive constraints.\",\"type\":\"standalone\"},{\"name\":\"ACTIVESET\",\"followsDelimiter\":\"/\",\"description\":\"Uses a primal-dual active-set method. This technique is recommended for both small- and largescale nonlinear optimization problems. This is the preferred solver if the problem includes only bound constraints or if the optimal active set can be quickly determined by the solver.\",\"type\":\"standalone\"},{\"name\":\"CONCURRENT\",\"followsDelimiter\":\"/\",\"description\":\"Runs the INTERIORPOINT and ACTIVESET techniques in parallel, with one thread using the INTERIORPOINT technique and the other thread using the ACTIVESET technique. The solution is returned by the first method that terminates.\",\"type\":\"standalone\"}]},{\"name\":\"COVEST=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that the NLP solver produce a covariance matrix. When this option is applied, the following PROC OPTMODEL options are automatically set: PRESOLVER=NONE and SOLTYPE=0. You can specify the following suboptions:\",\"help\":\"COVEST=ASINGULAR= | COV= | COVOUT= | COVSING= | MSINGULAR= | NDF= | NTERMS= | SIGSQ= | VARDEF=\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ASINGULAR=\",\"type\":\"value\"},{\"name\":\"COV=\",\"type\":\"value\"},{\"name\":\"COVOUT=\",\"type\":\"value\"},{\"name\":\"COVSING=\",\"type\":\"value\"},{\"name\":\"MSINGULAR=\",\"type\":\"value\"},{\"name\":\"NDF=\",\"type\":\"value\"},{\"name\":\"NTERMS=\",\"type\":\"value\"},{\"name\":\"SIGSQ=\",\"type\":\"value\"},{\"name\":\"VARDEF=\",\"type\":\"value\"}]},{\"name\":\"FEASTOL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Defines the feasible tolerance. The solver will exit if the constraint violation is less than FEASTOL and the scaled optimality conditions are less than OPTTOL. The default is ɛ=1E–6.\",\"type\":\"value\"},{\"name\":\"HESSTYPE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the type of Hessian to be used by the solver. The valid keywords for this option are FULL and PRODUCT.\",\"help\":\"HESSTYPE=FULL | PRODUCT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"FULL\",\"followsDelimiter\":\"/\",\"description\":\"If HESSTYPE=FULL, the solver uses a full Hessian.\",\"type\":\"standalone\"},{\"name\":\"PRODUCT\",\"followsDelimiter\":\"/\",\"description\":\"If HESSTYPE=PRODUCT, the solver uses only Hessian-vector products, not the full Hessian.\",\"type\":\"standalone\"}]},{\"name\":\"IIS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"IIS=number | string Specifies whether the NLP solver attempts to identify a set of linear constraints and variables that form an irreducible infeasible set (IIS).\",\"help\":\"IIS=OFF | ON\",\"type\":\"choice\",\"arguments\":[{\"name\":\"OFF\",\"followsDelimiter\":\"/\",\"description\":\"Disables IIS detection.\",\"type\":\"standalone\"},{\"name\":\"ON\",\"followsDelimiter\":\"/\",\"description\":\"Enables IIS detection.\",\"type\":\"standalone\"}]},{\"name\":\"LOGFREQ=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"PRINTFREQ=\"],\"description\":\"Specifies how often the iterations are displayed in the SAS log. N should be an integer between zero and the largest four-byte, signed integer, which is 2³¹ - 1. If N >= 1, the solver prints only those iterations that are a multiple of N. If N = 0, no iteration is displayed in the log. The default value is 1.\",\"type\":\"value\"},{\"name\":\"MAXITER=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies that the solver take at most N major iterations to determine an optimum of the NLP problem. The value of N is an integer between zero and the largest four-byte, signed integer, which is 2ⁿ - 1 (where n-31). A major iteration in NLP consists of finding a descent direction and a step size along which the next approximation of the optimum resides. The default is 5,000 iterations.\",\"help\":\"MAXITER=*N*\",\"type\":\"value\"},{\"name\":\"MAXTIME=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies an upper limit of t units of time for the optimization process, including problem generation time and solution time. The value of the TIMETYPE= option determines the type of units used. If you do not specify the MAXTIME= option, the solver does not stop based on the amount of time elapsed. The value of t can be any positive number; the default value is the positive number that has the largest absolute value that can be represented in your operating environment.\",\"help\":\"MAXTIME=*t*\",\"type\":\"value\"},{\"name\":\"MSBNDRANGE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Defines the range from which each variable can take values during the sampling process. This option affects only the sampling process that determines starting points for the local solver. It does not affect the bounds of the original nonlinear optimization problem.\",\"help\":\"MSBNDRANGE=*M*\",\"type\":\"value\"},{\"name\":\"MSDISTTOL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"defines the tolerance by which two optimal points are considered distinct. Optimal points are considered distinct if the Euclidean distance between them is at least ϵ. This option is effective only when the MULTISTART option is specified. The default is ϵ=1.0E–6.\",\"type\":\"value\"},{\"name\":\"MSLOGLEVEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"MSPRINTLEVEL=\"],\"description\":\"Defines the amount of information displayed in the SAS log by the MULTISTART option.\",\"help\":\"MSLOGLEVEL=0 | 1 | 2 | 3\",\"type\":\"choice\",\"arguments\":[{\"name\":\"0\",\"followsDelimiter\":\"/\",\"description\":\"Turns off all solver-related messages to SAS log\",\"type\":\"standalone\"},{\"name\":\"1\",\"followsDelimiter\":\"/\",\"description\":\"Displays multistart summary information when the algorithm terminates\",\"type\":\"standalone\"},{\"name\":\"2\",\"followsDelimiter\":\"/\",\"description\":\"Displays multistart iteration log and summary information when the algorithm terminates\",\"type\":\"standalone\"},{\"name\":\"3\",\"followsDelimiter\":\"/\",\"description\":\"Displays the same information as MSLOGLEVEL=2 and might display additional information\",\"type\":\"standalone\"}]},{\"name\":\"MSMAXSTARTS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Defines the maximum number of starting points to be used for local optimization. That is, there will be no more than N local optimization calls in the multistart algorithm. You can specify N to be any nonnegative integer. When N = 0, the algorithm uses the default value of this option. In a shared memory computing environment, the default value is 100. In a distributed computing environment, the default value is a number proportional to the number of threads across all the grid nodes (usually more than 100). This option is effective only when the MULTISTART option is specified.\",\"help\":\"MSMAXSTARTS=*N*\",\"type\":\"value\"},{\"name\":\"MSMAXTIME=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Defines the maximum allowable time T (in seconds) for the NLP solver to locate the best local optimum in multistart mode. The value of the TIMETYPE= option determines the type of units used.\",\"help\":\"MSMAXTIME=*T*\",\"type\":\"value\"},{\"name\":\"MULTISTART=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"MS=\"],\"description\":\"Enables multistart mode. In this mode, the local solver solves the problem from multiple starting points, possibly finding a better local minimum as a result. This option is disabled by default.\",\"help\":\"MULTISTART=BNDRANGE= | DISTTOL= | LOGLEVEL= | PRINTLEVEL= | MAXTIME= | MAXSTARTS=\",\"type\":\"choice\",\"arguments\":[{\"name\":\"BNDRANGE=\",\"type\":\"value\"},{\"name\":\"DISTTOL=\",\"type\":\"value\"},{\"name\":\"LOGLEVEL=\",\"type\":\"value\"},{\"name\":\"PRINTLEVEL=\",\"type\":\"value\"},{\"name\":\"MAXTIME=\",\"type\":\"value\"},{\"name\":\"MAXSTARTS=\",\"type\":\"value\"}]},{\"name\":\"OBJLIMIT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies an upper limit on the magnitude of the objective value. For a minimization problem, the algorithm terminates when the objective value becomes less than -M; for a maximization problem, \\\\ the algorithm stops when the objective value exceeds M. The algorithm stopping implies that either the problem is unbounded or the algorithm diverges. If optimization were allowed to continue, numerical difficulty might be encountered. The default is M=1E+20. The minimum acceptable value of M is 1E+8. If the specified value of M is less than 1E+8, the value is reset to the default value 1E+20.\",\"help\":\"OBJLIMIT=*M*\",\"type\":\"value\"},{\"name\":\"OPTTOL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"RELOPTTOL=\"],\"description\":\"Defines the measure by which you can decide whether the current iterate is an acceptable approximation of a local minimum. The value of this option is a positive real number. The NLP solver determines that the current iterate is a local minimum when the norm of the scaled vector of the optimality conditions is less than ϵ and the true constraint violation is less than FEASTOL. The default is ɛ=1E–6.\",\"type\":\"value\"},{\"name\":\"SEED=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies a positive integer to be used as the seed for generating random number sequences. You can use this option to replicate results from different runs.\",\"help\":\"SEED=*N*\",\"type\":\"value\"},{\"name\":\"SOLTYPE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies whether the NLP solver should return only a solution that is locally optimal. If SOLTYPE=0, the solver returns a locally optimal solution, provided it locates one. If SOLTYPE=1, the solver returns the best feasible solution found, provided its objective value is better than that of the locally optimal solution found. The default is 1.\",\"help\":\"SOLTYPE=0 | 1\",\"type\":\"choice\",\"arguments\":[{\"name\":\"0\",\"followsDelimiter\":\"/\",\"description\":\"The solver returns a locally optimal solution, provided it locates one.\",\"type\":\"standalone\"},{\"name\":\"1\",\"followsDelimiter\":\"/\",\"description\":\"The solver returns the best feasible solution found, provided its objective value is better than that of the locally optimal solution found.\",\"type\":\"standalone\"}]},{\"name\":\"TIMETYPE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the units of time used by the MAXTIME= option and reported by the PRESOLVE_TIME and SOLUTION_TIME terms in the _OROPTMODEL_ macro variable.\",\"help\":\"TIMETYPE=CPU|0 | REAL|1\",\"type\":\"choice\",\"arguments\":[{\"name\":\"CPU\",\"followsDelimiter\":\"/\",\"description\":\"Specifies units of CPU time\",\"help\":\"CPU|0\",\"type\":\"choice\"},{\"name\":\"REAL\",\"followsDelimiter\":\"/\",\"description\":\"Specifies units of real time\",\"help\":\"REAL|1\",\"type\":\"choice\"}]}]},{\"name\":\"SOLVE WITH NLPC\",\"description\":\"Statement for specifying and solving general nonlinear programming problems.\",\"help\":\"SOLVE WITH NLPC NOOBJECTIVE OBJECTIVE RELAXINT ...\",\"arguments\":[{\"name\":\"NOOBJECTIVE\",\"aliases\":[\"NOOBJ\"],\"description\":\"Requests that the solver ignore the current objective for the problem and use a constant zero objective instead. This keyword enables the solver to process the current model as a feasibility problem.\",\"type\":\"standalone\"},{\"name\":\"OBJECTIVE\",\"aliases\":[\"OBJ\"],\"description\":\"A keyword used when specifying the name of the objective to use.\",\"type\":\"standalone\"},{\"name\":\"RELAXINT\",\"description\":\"Requests that any integral variables be relaxed to be continuous. RELAXINT can be used with linear and nonlinear problems in addition to any solver.\",\"type\":\"standalone\"},{\"name\":\"ABSOPTTOL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the tolerance for the absolute optimality error.\",\"help\":\"ABSOPTTOL=*delta*\",\"type\":\"value\"},{\"name\":\"MAXFEVAL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"\",\"type\":\"value\"},{\"name\":\"MAXFUNC=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies that the optimization process stop after a maximum of N function calls.\",\"help\":\"MAXFUNC=*N*\",\"type\":\"value\"},{\"name\":\"MAXITER=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies that the optimization process stop after a maximum of N iterations.\",\"help\":\"MAXITER=*N*\",\"type\":\"value\"},{\"name\":\"MAXTIME=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies an upper limit of M seconds of real time for the optimization process.\",\"help\":\"MAXTIME=*M*\",\"type\":\"value\"},{\"name\":\"OBJLIMIT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies an upper limit on the magnitude of the objective value. For a minimization problem, the algorithm terminates when the objective value becomes less than -M; for a maximization problem, \\\\ the algorithm stops when the objective value exceeds M.\",\"help\":\"OBJLIMIT=*M*\",\"type\":\"value\"},{\"name\":\"PRINTFREQ=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies that the printing of the solution progress to the iteration log should occur after every j iterations.\",\"help\":\"PRINTFREQ=*j*\",\"type\":\"value\"},{\"name\":\"RELOPTTOL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the tolerance for the relative optimality error.\",\"help\":\"RELOPTTOL=*delta*\",\"type\":\"value\"},{\"name\":\"TECHNIQUE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the optimization technique.\",\"help\":\"TECHNIQUE=CONGRA | NEWTYP | TRUREG | QUANEW\",\"type\":\"choice\",\"arguments\":[{\"name\":\"CONGRA\",\"followsDelimiter\":\"/\",\"description\":\"Uses a conjugate gradient method.\",\"type\":\"standalone\"},{\"name\":\"NEWTYP\",\"followsDelimiter\":\"/\",\"description\":\"Uses a Newton-type method with line search.\",\"type\":\"standalone\"},{\"name\":\"TRUREG\",\"followsDelimiter\":\"/\",\"description\":\"Uses a trust region method.\",\"type\":\"standalone\"},{\"name\":\"QUANEW\",\"followsDelimiter\":\"/\",\"description\":\"Uses a quasi-Newton method with the BFGS update. QUANEW is the optimization technique in the NLPC solver to solve problems with nonlinear constraints.\",\"type\":\"standalone\"}]}]},{\"name\":\"SOLVE WITH NLPU\",\"description\":\"Statement for specifying and solving unconstrained nonlinear programming problems.\",\"help\":\"SOLVE WITH NLPU NOOBJECTIVE OBJECTIVE RELAXINT ...\",\"arguments\":[{\"name\":\"NOOBJECTIVE\",\"aliases\":[\"NOOBJ\"],\"description\":\"Requests that the solver ignore the current objective for the problem and use a constant zero objective instead. This keyword enables the solver to process the current model as a feasibility problem.\",\"type\":\"standalone\"},{\"name\":\"OBJECTIVE\",\"aliases\":[\"OBJ\"],\"description\":\"A keyword used when specifying the name of the objective to use.\",\"type\":\"standalone\"},{\"name\":\"RELAXINT\",\"description\":\"Requests that any integral variables be relaxed to be continuous. RELAXINT can be used with linear and nonlinear problems in addition to any solver.\",\"type\":\"standalone\"},{\"name\":\"LBFGSCORR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the number of Hessian corrections for the L-BFGS algorithms. The value of n can be any integer between 2 and 100. The default value is 7 corrections.\",\"help\":\"LBFGSCORR=*n*\",\"type\":\"value\"},{\"name\":\"LSARMIJO=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the Armijo parameter c1 for the line-search technique. The default value is 2.0E-3.\",\"help\":\"LSARMIJO=*c1*\",\"type\":\"value\"},{\"name\":\"LSMAXITER=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the maximum number of line-search iterations within one L-BFGS or conjugate gradient method.\",\"type\":\"value\"},{\"name\":\"LSWOLFE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the Wolfe parameter c2 for the line-search technique. The default value is 0.7.\",\"help\":\"LSWOLFE=*c2*\",\"type\":\"value\"},{\"name\":\"MAXITER=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies that the optimization process stop after a maximum of N iterations.\",\"help\":\"MAXITER=*N*\",\"type\":\"value\"},{\"name\":\"MAXTIME=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies an upper limit of M seconds of real time for the optimization process.\",\"help\":\"MAXTIME=*M*\",\"type\":\"value\"},{\"name\":\"OBJLIMIT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies an upper limit on the magnitude of the objective value. For a minimization problem, the algorithm terminates when the objective value becomes less than -M; for a maximization problem, the algorithm stops when the objective value exceeds M.\",\"help\":\"OBJLIMIT=*M*\",\"type\":\"value\"},{\"name\":\"OPTTOL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the desired tolerance of the relative gradient norm.\",\"type\":\"value\"},{\"name\":\"PRINTFREQ=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies that the printing of the solution progress to the iteration log should occur after every j iterations.\",\"help\":\"PRINTFREQ=*j*\",\"type\":\"value\"},{\"name\":\"TECHNIQUE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the optimization technique.\",\"help\":\"TECHNIQUE=FLETREEV | LBFGS | POLRIB | CGTR\",\"type\":\"choice\",\"arguments\":[{\"name\":\"FLETREEV\",\"followsDelimiter\":\"/\",\"description\":\"Uses the Fletcher-Reeves nonlinear conjugate gradient algorithm.\",\"type\":\"standalone\"},{\"name\":\"LBFGS\",\"followsDelimiter\":\"/\",\"description\":\"Uses the limited-memory Broyden-Fletcher-Goldfarb-Shanno algorithm. This is the default solver.\",\"type\":\"standalone\"},{\"name\":\"POLRIB\",\"followsDelimiter\":\"/\",\"description\":\"Uses the Polak-Ribière nonlinear conjugate gradient algorithm.\",\"type\":\"standalone\"},{\"name\":\"CGTR\",\"followsDelimiter\":\"/\",\"description\":\"Uses the conjugate gradient method and a trust-region method to solve bound-constrained optimization problems.\",\"type\":\"standalone\"}]}]},{\"name\":\"SOLVE WITH QP\",\"description\":\"Statement for specifying and solving quadratic programs.\",\"help\":\"SOLVE WITH QP NOOBJECTIVE OBJECTIVE RELAXINT ...\",\"arguments\":[{\"name\":\"NOOBJECTIVE\",\"aliases\":[\"NOOBJ\"],\"description\":\"Requests that the solver ignore the current objective for the problem and use a constant zero objective instead. This keyword enables the solver to process the current model as a feasibility problem.\",\"type\":\"standalone\"},{\"name\":\"OBJECTIVE\",\"aliases\":[\"OBJ\"],\"description\":\"A keyword used when specifying the name of the objective to use.\",\"type\":\"standalone\"},{\"name\":\"RELAXINT\",\"description\":\"Requests that any integral variables be relaxed to be continuous. RELAXINT can be used with linear and nonlinear problems in addition to any solver.\",\"type\":\"standalone\"},{\"name\":\"IIS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"IIS=number | string Specifies whether the NLP solver attempts to identify a set of linear constraints and variables that form an irreducible infeasible set (IIS).\",\"help\":\"IIS=OFF | ON\",\"type\":\"choice\",\"arguments\":[{\"name\":\"OFF\",\"followsDelimiter\":\"/\",\"description\":\"Disables IIS detection.\",\"type\":\"standalone\"},{\"name\":\"ON\",\"followsDelimiter\":\"/\",\"description\":\"Enables IIS detection.\",\"type\":\"standalone\"}]},{\"name\":\"LOGFREQ=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"PRINTFREQ=\"],\"description\":\"Specifies that the printing of the solution progress to the iteration log is to occur after every k iterations.\",\"type\":\"value\"},{\"name\":\"MAXITER=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the maximum number of iterations.\",\"help\":\"MAXITER=*k*\",\"type\":\"value\"},{\"name\":\"MAXTIME=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies an upper limit of k seconds of real time for the optimization process.\",\"help\":\"MAXTIME=*k*\",\"type\":\"value\"},{\"name\":\"PRESOLVER=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"PRESOL=\"],\"description\":\"Specifies one of the following presolve options:\",\"help\":\"PRESOLVER=NONE | AUTOMATIC\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NONE\",\"followsDelimiter\":\"/\",\"description\":\"Disable presolver.\",\"type\":\"standalone\"},{\"name\":\"AUTOMATIC\",\"followsDelimiter\":\"/\",\"description\":\"Apply presolver by using default setting.\",\"type\":\"standalone\"}]},{\"name\":\"STOP_DG=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the desired relative duality gap, δ ϵ [1E–9, 1E–4]. This is the relative difference between the primal and dual objective function values and is the primary solution quality parameter. The default value is 1E–6.\",\"type\":\"value\"},{\"name\":\"STOP_DI=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the maximum allowed relative dual constraints violation, β ϵ [1E–9, 1E–4]. The default value is 1E–6.\",\"type\":\"value\"},{\"name\":\"STOP_PI=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the maximum allowed relative bound and primal constraints violation, α ϵ [1E–9, 1E–4]. The default value is 1E–6.\",\"type\":\"value\"},{\"name\":\"TIMETYPE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the units of time used by the MAXTIME= option and reported by the PRESOLVE_TIME and SOLUTION_TIME terms in the _OROPTMODEL_ macro variable.\",\"help\":\"TIMETYPE=CPU|0 | REAL|1\",\"type\":\"choice\",\"arguments\":[{\"name\":\"CPU\",\"followsDelimiter\":\"/\",\"description\":\"Specifies units of CPU time\",\"help\":\"CPU|0\",\"type\":\"choice\"},{\"name\":\"REAL\",\"followsDelimiter\":\"/\",\"description\":\"Specifies units of real time\",\"help\":\"REAL|1\",\"type\":\"choice\"}]}]},{\"name\":\"SOLVE WITH SQP\",\"description\":\"The sequential quadratic programming (SQP) solver is a component of the OPTMODEL procedure, and it can be used for solving general nonlinear programming (NLP) problems.\",\"help\":\"SOLVE WITH SQP NOOBJECTIVE OBJECTIVE RELAXINT ...\",\"arguments\":[{\"name\":\"NOOBJECTIVE\",\"aliases\":[\"NOOBJ\"],\"description\":\"Requests that the solver ignore the current objective for the problem and use a constant zero objective instead. This keyword enables the solver to process the current model as a feasibility problem.\",\"type\":\"standalone\"},{\"name\":\"OBJECTIVE\",\"aliases\":[\"OBJ\"],\"description\":\"A keyword used when specifying the name of the objective to use.\",\"type\":\"standalone\"},{\"name\":\"RELAXINT\",\"description\":\"Requests that any integral variables be relaxed to be continuous. RELAXINT can be used with linear and nonlinear problems in addition to any solver.\",\"type\":\"standalone\"},{\"name\":\"FEASTOL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the convergence tolerance for feasibility. The value of this option is a positive real number. The default value is 1E-6.\",\"type\":\"value\"},{\"name\":\"HESCHECK\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies that the solver check the second-order optimality of the solution found - i.e., the nonnegativity of the projected Hessian of the Lagrangian function at the solution.\",\"type\":\"standalone\"},{\"name\":\"MAXITER=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies that the optimization process stop after a maximum of N iterations.\",\"help\":\"MAXITER=*N*\",\"type\":\"value\"},{\"name\":\"MAXTIME=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies an upper limit of r seconds of real time for the optimization process.\",\"help\":\"MAXTIME=*r*\",\"type\":\"value\"},{\"name\":\"NOHESCHECK\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies that the solver does not check the second-order optimality of the solution found.\",\"type\":\"standalone\"},{\"name\":\"OPTTOL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the convergence tolerance for both stationary and complementary conditions. The value of this option is a positive real number. The default value is 1E-5.\",\"type\":\"value\"},{\"name\":\"PENALTY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the rate at which the penalty parameters used in the Lagrangian function are reduced. The default value for the PENALTY= option is 0.75.\",\"type\":\"value\"},{\"name\":\"PRINTFREQ=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies that the printing of the solution progress to the iteration log should occur after every j iterations.\",\"help\":\"PRINTFREQ=*j*\",\"type\":\"value\"}]},{\"name\":\"STOP\",\"description\":\"The STOP statement halts the execution of all statements that contain it, including DO statements and other control or looping statements. Execution continues with the next top-level source statement.\",\"help\":\"STOP \"},{\"name\":\"STRING\",\"aliases\":[\"STR\"],\"description\":\"Declaration of parameters that have a STRING type.\",\"help\":\"STRING &lt;INIT expression&gt;\",\"arguments\":[{\"name\":\"INIT\",\"optional\":true,\"description\":\"Specifies a default value that is used when a parameter value is required but no other value has been supplied.\",\"type\":\"standalone\"}]},{\"name\":\"SUBMIT\",\"description\":\"The SUBMIT statement allows SAS code to be executed before PROC OPTMODEL processing continues. For example, you can use the SUBMIT statement to invoke other SAS procedures to perform analysis or to display results. The arguments list specifies macro variables to initialize in the SUBMIT block environment before the SUBMIT block is executed. List items are separated by spaces. Each of the arguments takes one of the following forms: name copies the value of the PROC OPTMODEL parameter name to the macro variable that has the same name. name = identifier-expression copies the value of the PROC OPTMODEL parameter specified by identifier-expression to the macro variable name. name = number | “string” | ‘string’ copies the value of the specified number or string constant to the macro variable name. name = ( expression ) copies the result of evaluating expression to the macro variable name.\",\"help\":\"SUBMIT &lt;OK = identifier-expression&gt;&lt;OUT[=] output-argument | (output-arguments)&gt;\",\"arguments\":[{\"name\":\"OK=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a PROC OPTMODEL numeric parameter location, identifier-expression, that is updated to indicate the success of the SUBMIT block execution. The location is set to 1 if execution is successful or 0 if errors are detected. PROC OPTMODEL continues execution when the SUBMIT block encounters errors only if the OK= option is specified.\",\"type\":\"value\"},{\"name\":\"OUT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a single output-argument for retrieving macro variable values from the SUBMIT block environment after each execution of the block, or a list of space-delimited output-arguments for retrieving macro variable values from the SUBMIT block environment after the block is executed. Each output-argument item specifies a macro variable to copy out of the SUBMIT block environment after the block is executed. Each item takes one of the following two forms:\",\"type\":\"value\"}]},{\"name\":\"UNFIX\",\"description\":\"The UNFIX statement reverses the effect of FIX statements.\",\"help\":\"UNFIX identifier-list [ =( expression ) ]\"},{\"name\":\"USE PROBLEM\",\"description\":\"The USE PROBLEM programming statement makes the problem specified by the identifier-expression be the current problem. If the problem has not been previously used, the problem is created using the PROBLEM declaration corresponding to the name. The problem must have been previously declared.\",\"help\":\"USE PROBLEM identifier-expression \"},{\"name\":\"VAR\",\"description\":\"The VAR statement declares one or more optimization variables. Multiple VAR statements are permitted. A variable is not allowed to have the same name as a parameter or constraint.\",\"help\":\"VAR &lt;BINARY&gt;&lt;INIT expression&gt;&lt;INTEGER&gt; ...\",\"arguments\":[{\"name\":\"BINARY\",\"optional\":true,\"description\":\"Requests that the solver assign the variable a value of either 0 or 1.\",\"type\":\"standalone\"},{\"name\":\"INIT\",\"optional\":true,\"description\":\"Sets an initial value for the variable. The expression is used only the first time the value is required. If no initial value is specified, then 0 is used by default.\",\"type\":\"standalone\"},{\"name\":\"INTEGER\",\"optional\":true,\"description\":\"Requests that the solver assign the variable an integer value.\",\"type\":\"standalone\"}]}],\"interactive\":true,\"supportSiteInformation\":{\"docsetId\":\"casmopt\",\"docsetVersion\":\"latest\",\"docsetTargetFile\":\"casmopt_optmodel_toc.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/OPTNET.json",
    "content": "{\"name\":\"OPTNET\",\"statements\":[{\"name\":\"PROC OPTNET\",\"description\":\"The OPTNET procedure includes a number of graph theory, combinatorial optimization, and network analysis algorithms that can be used to analyze relationships between entities. These relationships are typically defined by using a graph.\",\"help\":\"PROC OPTNET <options>;\\n\\tBICONCOMP <option>;    \\n\\n\\tCLIQUE <options>;    \\n\\n\\tCONCOMP <options>;    \\n\\n\\tCYCLE <options>;    \\n\\n\\tDATA_LINKS_VAR <options>;    \\n\\n\\tDATA_MATRIX_VAR <column1,column2,...>;    \\n\\n\\tDATA_NODES_VAR <options>;    \\n\\n\\tLINEAR_ASSIGNMENT <options>;    \\n\\n\\tMINCOSTFLOW <options>;    \\n\\n\\tMINCUT <options>;    \\n\\n\\tMINSPANTREE <options>;    \\n\\n\\tPERFORMANCE <options>;    \\n\\n\\tSHORTPATH <options>;    \\n\\n\\tTRANSITIVE_CLOSURE <options>;    \\n\\n\\tTSP <options>;    \\n\",\"arguments\":[{\"name\":\"DATA_LINKS=\",\"optional\":true,\"aliases\":[\"LINKS=\"],\"description\":\"specifies the input data set that contains the graph link information, where the links are defined as a list.\",\"help\":\"DATA_LINKS=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"DATA_MATRIX=\",\"optional\":true,\"aliases\":[\"MATRIX=\"],\"description\":\"specifies the input data set that contains the matrix to be processed. This is a generic matrix (as opposed to an adjacency matrix, which defines an underlying graph).\",\"help\":\"DATA_MATRIX=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"DATA_NODES=\",\"optional\":true,\"aliases\":[\"NODES=\"],\"description\":\"specifies the input data set that contains the graph node information.\",\"help\":\"DATA_NODES=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"DATA_NODES_SUB=\",\"optional\":true,\"aliases\":[\"NODES_SUB=\"],\"description\":\"specifies the input data set that contains the graph node subset information.\",\"help\":\"DATA_NODES_SUB=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"GRAPH_DIRECTION=\",\"optional\":true,\"aliases\":[\"DIRECTION=\"],\"description\":\"specifies whether the input graph should be considered directed or undirected. By default, GRAPH_DIRECTION=UNDIRECTED.\",\"help\":\"GRAPH_DIRECTION=DIRECTED | UNDIRECTED\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DIRECTED\",\"description\":\"specifies the graph as directed.\",\"type\":\"standalone\"},{\"name\":\"UNDIRECTED\",\"description\":\"specifies the graph as undirected.\",\"type\":\"standalone\"}]},{\"name\":\"GRAPH_INTERNAL_FORMAT=\",\"optional\":true,\"aliases\":[\"INTERNAL_FORMAT=\"],\"description\":\"requests the internal graph format for the algorithms to use. By default, GRAPH_INTERNAL_FORMAT=FULL.\",\"help\":\"GRAPH_INTERNAL_FORMAT=THIN | FULL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"THIN\",\"description\":\"stores the graph in thin format.\",\"type\":\"standalone\"},{\"name\":\"FULL\",\"description\":\"stores the graph in standard (full) format.\",\"type\":\"standalone\"}]},{\"name\":\"INCLUDE_SELFLINK\",\"optional\":true,\"description\":\"includes self links when an input graph is read. By default, when PROC OPTNET reads the DATA_LINKS= data set, it removes all self links.\",\"type\":\"standalone\"},{\"name\":\"LOGLEVEL=\",\"optional\":true,\"description\":\"controls the amount of information that is displayed in the SAS log. By default, LOGLEVEL=BASIC.\",\"help\":\"LOGLEVEL=NONE | BASIC | MODERATE | AGGRESSIVE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NONE\",\"aliases\":[\"0\"],\"description\":\"turns off all procedure-related messages in the SAS log\",\"type\":\"standalone\"},{\"name\":\"BASIC\",\"aliases\":[\"1\"],\"description\":\"displays a basic summary of the input, output, and algorithmic processing\",\"type\":\"standalone\"},{\"name\":\"MODERATE\",\"aliases\":[\"2\"],\"description\":\"displays a summary of the input, output, and algorithmic processing\",\"type\":\"standalone\"},{\"name\":\"AGGRESSIVE\",\"aliases\":[\"3\"],\"description\":\"displays a detailed summary of the input, output, and algorithmic processing\",\"type\":\"standalone\"}]},{\"name\":\"OUT_LINKS=\",\"optional\":true,\"description\":\"specifies the output data set to contain the graph link information along with any results from the various algorithms that calculate metrics on links.\",\"help\":\"OUT_LINKS=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"OUT_NODES=\",\"optional\":true,\"description\":\"specifies the output data set to contain the graph node information along with any results from the various algorithms that calculate metrics on nodes.\",\"help\":\"OUT_NODES=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"STANDARDIZED_LABELS\",\"optional\":true,\"description\":\"specifies that the input graph data is in a standardized format described in section Standardized Labels.\",\"type\":\"standalone\"},{\"name\":\"TIMETYPE=\",\"optional\":true,\"description\":\"specifies whether CPU time or real time is used for the MAXTIME= option for each applicable algorithm. By default, TIMETYPE=CPU.\",\"help\":\"TIMETYPE=CPU | REAL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"CPU\",\"aliases\":[\"0\"],\"description\":\"specifies units of CPU time\",\"type\":\"standalone\"},{\"name\":\"REAL\",\"aliases\":[\"1\"],\"description\":\"specifies units of real time\",\"type\":\"standalone\"}]}]},{\"name\":\"BICONCOMP\",\"description\":\"The BICONCOMP statement requests that PROC OPTNET find biconnected components and articulation points of an undirected input graph.\",\"help\":\"BICONCOMP &lt;*option*&gt;;    \",\"arguments\":[{\"name\":\"LOGLEVEL=\",\"optional\":true,\"description\":\"controls the amount of information that is displayed in the SAS log. The default is the value that is specified in the LOGLEVEL= option in the PROC OPTNET statement (or BASIC if that option is not specified).\",\"help\":\"LOGLEVEL=NONE | BASIC | MODERATE | AGGRESSIVE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NONE\",\"aliases\":[\"0\"],\"description\":\"turns off all algorithm-related messages in the SAS log\",\"type\":\"standalone\"},{\"name\":\"BASIC\",\"aliases\":[\"1\"],\"description\":\"displays a basic summary of the algorithmic processing\",\"type\":\"standalone\"},{\"name\":\"MODERATE\",\"aliases\":[\"2\"],\"description\":\"displays a summary of the algorithmic processing\",\"type\":\"standalone\"},{\"name\":\"AGGRESSIVE\",\"aliases\":[\"3\"],\"description\":\"displays a detailed summary of the algorithmic processing\",\"type\":\"standalone\"}]}]},{\"name\":\"CLIQUE\",\"description\":\"The CLIQUE statement invokes an algorithm that finds maximal cliques on the input graph.\",\"help\":\"CLIQUE &lt;*options*&gt;;    \",\"arguments\":[{\"name\":\"LOGLEVEL=\",\"optional\":true,\"description\":\"controls the amount of information that is displayed in the SAS log. The default is the value that is specified in the LOGLEVEL= option in the PROC OPTNET statement (or BASIC if that option is not specified).\",\"help\":\"LOGLEVEL=NONE | BASIC | MODERATE | AGGRESSIVE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NONE\",\"aliases\":[\"0\"],\"description\":\"turns off all algorithm-related messages in the SAS log\",\"type\":\"standalone\"},{\"name\":\"BASIC\",\"aliases\":[\"1\"],\"description\":\"displays a basic summary of the algorithmic processing\",\"type\":\"standalone\"},{\"name\":\"MODERATE\",\"aliases\":[\"2\"],\"description\":\"displays a summary of the algorithmic processing\",\"type\":\"standalone\"},{\"name\":\"AGGRESSIVE\",\"aliases\":[\"3\"],\"description\":\"displays a detailed summary of the algorithmic processing\",\"type\":\"standalone\"}]},{\"name\":\"MAXCLIQUES=\",\"optional\":true,\"description\":\"specifies the maximum number of cliques to return during clique calculations. The default is the positive number that has the largest absolute value that can be represented in your operating environment.\",\"help\":\"MAXCLIQUES=*number*\",\"type\":\"value\"},{\"name\":\"MAXTIME=\",\"optional\":true,\"description\":\"specifies the maximum amount of time to spend calculating cliques. The value of number can be any positive number; the default value is the positive number that has the largest absolute value that can be represented in your operating environment.\",\"help\":\"MAXTIME=*number*\",\"type\":\"value\"},{\"name\":\"OUT=\",\"optional\":true,\"description\":\"specifies the output data set to contain the maximal cliques.\",\"help\":\"OUT=*SAS-data-set*\",\"type\":\"dataSet\"}]},{\"name\":\"CONCOMP\",\"description\":\"The CONCOMP statement invokes an algorithm that finds the connected components of the input graph.\",\"help\":\"CONCOMP &lt;*options*&gt;;    \",\"arguments\":[{\"name\":\"ALGORITHM=\",\"optional\":true,\"description\":\"specifies the algorithm to use for calculating connected components. By default, ALGORITHM=UNION_FIND for undirected graphs, and ALGORITHM=DFS for directed graphs.\",\"help\":\"ALGORITHM=DFS | UNION_FIND\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DFS\",\"description\":\"uses the depth-first search algorithm for connected components.\",\"type\":\"standalone\"},{\"name\":\"UNION_FIND\",\"description\":\"uses the union-find algorithm for connected components.\",\"type\":\"standalone\"}]},{\"name\":\"LOGLEVEL=\",\"optional\":true,\"description\":\"controls the amount of information that is displayed in the SAS log. The default is the value that is specified in the LOGLEVEL= option in the PROC OPTNET statement (or BASIC if that option is not specified).\",\"help\":\"LOGLEVEL=NONE | BASIC | MODERATE | AGGRESSIVE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NONE\",\"aliases\":[\"0\"],\"description\":\"turns off all algorithm-related messages in the SAS log.\",\"type\":\"standalone\"},{\"name\":\"BASIC\",\"aliases\":[\"1\"],\"description\":\"displays a basic summary of the algorithmic processing\",\"type\":\"standalone\"},{\"name\":\"MODERATE\",\"aliases\":[\"2\"],\"description\":\"displays a summary of the algorithmic processing\",\"type\":\"standalone\"},{\"name\":\"AGGRESSIVE\",\"aliases\":[\"3\"],\"description\":\"displays a detailed summary of the algorithmic processing\",\"type\":\"standalone\"}]}]},{\"name\":\"CYCLE\",\"description\":\"The CYCLE statement invokes an algorithm that finds the cycles (or the existence of a cycle) in the input graph.\",\"help\":\"CYCLE &lt;*options*&gt;;    \",\"arguments\":[{\"name\":\"LOGLEVEL=\",\"optional\":true,\"description\":\"controls the amount of information that is displayed in the SAS log. The default is the value that is specified in the LOGLEVEL= option in the PROC OPTNET statement (or BASIC if that option is not specified).\",\"help\":\"LOGLEVEL=NONE | BASIC | MODERATE | AGGRESSIVE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NONE\",\"aliases\":[\"0\"],\"description\":\"turns off all algorithm-related messages in the SAS log\",\"type\":\"standalone\"},{\"name\":\"BASIC\",\"aliases\":[\"1\"],\"description\":\"displays a basic summary of the algorithmic processing\",\"type\":\"standalone\"},{\"name\":\"MODERATE\",\"aliases\":[\"2\"],\"description\":\"displays a summary of the algorithmic processing\",\"type\":\"standalone\"},{\"name\":\"AGGRESSIVE\",\"aliases\":[\"3\"],\"description\":\"displays a detailed summary of the algorithmic processing\",\"type\":\"standalone\"}]},{\"name\":\"MAXCYCLES=\",\"optional\":true,\"description\":\"specifies the maximum number of cycles to return. The default is the positive number that has the largest absolute value representable in your operating environment.\",\"help\":\"MAXCYCLES=*number*\",\"type\":\"value\"},{\"name\":\"MAXLENGTH=\",\"optional\":true,\"description\":\"specifies the maximum number of links to allow in a cycle. The default is the positive number that has the largest absolute value that can be represented in your operating environment. By default, nothing is removed from the results.\",\"help\":\"MAXLENGTH=*number*\",\"type\":\"value\"},{\"name\":\"MAXLINKWEIGHT=\",\"optional\":true,\"description\":\"specifies the maximum sum of link weights to allow in a cycle. The default is the positive number that has the largest absolute value that can be represented in your operating environment. By default, nothing is filtered.\",\"help\":\"MAXLINKWEIGHT=*number*\",\"type\":\"value\"},{\"name\":\"MAXNODEWEIGHT=\",\"optional\":true,\"description\":\"specifies the maximum sum of node weights to allow in a cycle. The default is the positive number that has the largest absolute value that can be represented in your operating environment. By default, nothing is filtered.\",\"help\":\"MAXNODEWEIGHT=*number*\",\"type\":\"value\"},{\"name\":\"MAXTIME=\",\"optional\":true,\"description\":\"specifies the maximum amount of time to spend finding cycles. The value of number can be any positive number; the default value is the positive number that has the largest absolute value that can be represented in your operating environment.\",\"help\":\"MAXTIME=*number*\",\"type\":\"value\"},{\"name\":\"MINLENGTH=\",\"optional\":true,\"description\":\"specifies the minimum number of links to allow in a cycle. By default MINLENGTH=1 and nothing is filtered.\",\"help\":\"MINLENGTH=*number*\",\"type\":\"value\"},{\"name\":\"MINLINKWEIGHT=\",\"optional\":true,\"description\":\"specifies the minimum sum of link weights to allow in a cycle. The default is the negative number that has the largest absolute value that can be represented in your operating environment. By default, nothing is filtered.\",\"help\":\"MINLINKWEIGHT=*number*\",\"type\":\"value\"},{\"name\":\"MINNODEWEIGHT=\",\"optional\":true,\"description\":\"specifies the minimum sum of node weights to allow in a cycle. The default is the negative number that has the largest absolute value that can be represented in your operating environment. By default, nothing is filtered.\",\"help\":\"MINNODEWEIGHT=*number*\",\"type\":\"value\"},{\"name\":\"MODE=\",\"optional\":true,\"description\":\"specifies the mode for processing cycles. By default, MODE=FIRST_CYCLE.\",\"help\":\"MODE=ALL_CYCLES | FIRST_CYCLE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ALL_CYCLES\",\"description\":\"returns all (unique, elementary) cycles found.\",\"type\":\"standalone\"},{\"name\":\"FIRST_CYCLE\",\"description\":\"returns the first cycle found.\",\"type\":\"standalone\"}]},{\"name\":\"OUT=\",\"optional\":true,\"description\":\"specifies the output data set to contain the cycles found.\",\"help\":\"OUT=*SAS-data-set*\",\"type\":\"dataSet\"}]},{\"name\":\"DATA_LINKS_VAR\",\"aliases\":[\"LINKS_VAR\"],\"description\":\"The DATA_LINKS_VAR statement enables you to explicitly define the data set variable names for PROC OPTNET to use when it reads the data set that is specified in the DATA_LINKS= option in the PROC OPTNET statement.\",\"help\":\"DATA_LINKS_VAR &lt;*options*&gt;;    \",\"arguments\":[{\"name\":\"FROM=\",\"optional\":true,\"description\":\"specifies the data set variable name forfrom nodes.\",\"help\":\"FROM=*column*\",\"type\":\"value\"},{\"name\":\"LOWER=\",\"optional\":true,\"description\":\"specifies the data set variable name for link flow lower bounds.\",\"help\":\"LOWER=*column*\",\"type\":\"value\"},{\"name\":\"TO=\",\"optional\":true,\"description\":\"specifies the data set variable name for to node.\",\"help\":\"TO=*column*\",\"type\":\"value\"},{\"name\":\"UPPER=\",\"optional\":true,\"description\":\"specifies the data set variable name for link flow upper bounds.\",\"help\":\"UPPER=*column*\",\"type\":\"value\"},{\"name\":\"WEIGHT=\",\"optional\":true,\"description\":\"specifies the data set variable name for link weights.\",\"help\":\"WEIGHT=*column*\",\"type\":\"value\"}]},{\"name\":\"DATA_MATRIX_VAR\",\"aliases\":[\"MATRIX_VAR\"],\"description\":\"The DATA_MATRIX_VAR statement enables you to explicitly define the data set variable names for PROC OPTNET to use when it reads the data set that is specified in the DATA_MATRIX= option in the PROC OPTNET statement.\",\"help\":\"DATA_MATRIX_VAR &lt;*column1,column2,...*&gt;;    \"},{\"name\":\"DATA_NODES_VAR\",\"aliases\":[\"NODES_VAR\"],\"description\":\"The DATA_NODES_VAR statement enables you to explicitly define the data set variable names for PROC OPTNET to use when it reads the data set that is specified in the DATA_NODES= option in the PROC OPTNET statement.\",\"help\":\"DATA_NODES_VAR &lt;*options*&gt;;    \",\"arguments\":[{\"name\":\"NODE=\",\"optional\":true,\"description\":\"specifies the data set variable name for the nodes.\",\"help\":\"NODE=*column*\",\"type\":\"value\"},{\"name\":\"WEIGHT=\",\"optional\":true,\"description\":\"specifies the data set variable name for node weights.\",\"help\":\"WEIGHT=*column*\",\"type\":\"value\"},{\"name\":\"WEIGHT2=\",\"optional\":true,\"description\":\"specifies the data set variable name for auxiliary node weights.\",\"help\":\"WEIGHT2=*column*\",\"type\":\"value\"}]},{\"name\":\"LINEAR_ASSIGNMENT\",\"aliases\":[\"LAP\"],\"description\":\"The LINEAR_ASSIGNMENT statement invokes an algorithm that solves the minimal-cost linear assignment problem. In graph terms, this problem is also known as the minimum link-weighted matching problem on a bipartite graph.\",\"help\":\"LINEAR_ASSIGNMENT &lt;*options*&gt;;    \",\"arguments\":[{\"name\":\"ID=\",\"optional\":true,\"description\":\"specifies the data set variable names that identify the matrix rows (from nodes).\",\"help\":\"ID=(&lt;*column1,column2,…*&gt;)\",\"type\":\"standaloneOrValue\"},{\"name\":\"LOGLEVEL=\",\"optional\":true,\"description\":\"controls the amount of information that is displayed in the SAS log. The default is the value that is specified in the LOGLEVEL= option in the PROC OPTNET statement (or BASIC if that option is not specified).\",\"help\":\"LOGLEVEL=NONE | BASIC | MODERATE | AGGRESSIVE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NONE\",\"aliases\":[\"0\"],\"description\":\"turns off all algorithm-related messages in the SAS log\",\"type\":\"standalone\"},{\"name\":\"BASIC\",\"aliases\":[\"1\"],\"description\":\"displays a basic summary of the algorithmic processing\",\"type\":\"standalone\"},{\"name\":\"MODERATE\",\"aliases\":[\"2\"],\"description\":\"displays a summary of the algorithmic processing\",\"type\":\"standalone\"},{\"name\":\"AGGRESSIVE\",\"aliases\":[\"3\"],\"description\":\"displays a detailed summary of the algorithmic processing\",\"type\":\"standalone\"}]},{\"name\":\"OUT=\",\"optional\":true,\"description\":\"specifies the output data set to contain the solution to the linear assignment problem.\",\"help\":\"OUT=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"WEIGHT=\",\"optional\":true,\"description\":\"specifies the data set variable names for the cost matrix.\",\"help\":\"WEIGHT=(&lt;*column1,column2,…*&gt;)\",\"type\":\"standaloneOrValue\"}]},{\"name\":\"MINCOSTFLOW\",\"aliases\":[\"MCF\"],\"description\":\"The MINCOSTFLOW statement invokes an algorithm that solves the minimum-cost network flow problem on an input graph.\",\"help\":\"MINCOSTFLOW &lt;*options*&gt;;    \",\"arguments\":[{\"name\":\"LOGFREQ=\",\"optional\":true,\"description\":\"controls the frequency for displaying iteration logs for minimum-cost network flow calculations that use the network simplex algorithm. For graphs that contain one component, this option displays progress every number simplex iterations, and the default is 10,000.\",\"help\":\"LOGFREQ=*number*\",\"type\":\"value\"},{\"name\":\"LOGLEVEL=\",\"optional\":true,\"description\":\"controls the amount of information that is displayed in the SAS log. The default is the value that is specified in the LOGLEVEL= option in the PROC OPTNET statement (or BASIC if that option is not specified).\",\"help\":\"LOGLEVEL=NONE | BASIC | MODERATE | AGGRESSIVE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NONE\",\"aliases\":[\"0\"],\"description\":\"turns off all algorithm-related messages in the SAS log\",\"type\":\"standalone\"},{\"name\":\"BASIC\",\"aliases\":[\"1\"],\"description\":\"displays a basic summary of the algorithmic processing\",\"type\":\"standalone\"},{\"name\":\"MODERATE\",\"aliases\":[\"2\"],\"description\":\"displays a summary of the algorithmic processing including a progress log using the interval that is specified in the LOGFREQ= option\",\"type\":\"standalone\"},{\"name\":\"AGGRESSIVE\",\"aliases\":[\"3\"],\"description\":\"displays a detailed summary of the algorithmic processing including a progress log using the interval that is specified in the LOGFREQ= option\",\"type\":\"standalone\"}]},{\"name\":\"MAXTIME=\",\"optional\":true,\"description\":\"specifies the maximum amount of time to spend calculating minimum-cost network flows. The type of time (either CPU time or real time) is determined by the value of the TIMETYPE= option. The value of number can be any positive number; the default value is the positive number that has the largest absolute value that can be represented in your operating environment.\",\"help\":\"MAXTIME=*number*\",\"type\":\"value\"}]},{\"name\":\"MINCUT\",\"description\":\"The MINCUT statement invokes an algorithm that finds the minimum link-weighted cut of an input graph.\",\"help\":\"MINCUT &lt;*options*&gt;;    \",\"arguments\":[{\"name\":\"LOGLEVEL=\",\"optional\":true,\"description\":\"controls the amount of information that is displayed in the SAS log. The default is the value that is specified in the LOGLEVEL= option in the PROC OPTNET statement (or BASIC if that option is not specified).\",\"help\":\"LOGLEVEL=NONE | BASIC | MODERATE | AGGRESSIVE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NONE\",\"aliases\":[\"0\"],\"description\":\"turns off all algorithm-related messages in the SAS log\",\"type\":\"standalone\"},{\"name\":\"BASIC\",\"aliases\":[\"1\"],\"description\":\"displays a basic summary of the algorithmic processing\",\"type\":\"standalone\"},{\"name\":\"MODERATE\",\"aliases\":[\"2\"],\"description\":\"displays a summary of the algorithmic processing\",\"type\":\"standalone\"},{\"name\":\"AGGRESSIVE\",\"aliases\":[\"3\"],\"description\":\"displays a detailed summary of the algorithmic processing\",\"type\":\"standalone\"}]},{\"name\":\"MAXNUMCUTS=\",\"optional\":true,\"description\":\"specifies the maximum number of cuts to return from the algorithm. The minimal cut and any others found during the search, up to number, are returned. By default, MAXNUMCUTS=1.\",\"help\":\"MAXNUMCUTS=*number*\",\"type\":\"value\"},{\"name\":\"MAXWEIGHT=\",\"optional\":true,\"description\":\"specifies the maximum weight of the cuts to return from the algorithm. The default is the positive number that has the largest absolute value that can be represented in your operating environment.\",\"help\":\"MAXWEIGHT=*number*\",\"type\":\"value\"},{\"name\":\"OUT=\",\"optional\":true,\"description\":\"specifies the output data set to contain the solution to the minimum-cut problem.\",\"help\":\"OUT=*SAS-data-set*\",\"type\":\"dataSet\"}]},{\"name\":\"MINSPANTREE\",\"aliases\":[\"MST\"],\"description\":\"The MINSPANTREE statement invokes an algorithm that solves the minimum link-weighted spanning tree problem on an input graph.\",\"help\":\"MINSPANTREE &lt;*options*&gt;;    \",\"arguments\":[{\"name\":\"LOGLEVEL=\",\"optional\":true,\"description\":\"controls the amount of information that is displayed in the SAS log. The default is the value that is specified in the LOGLEVEL= option in the PROC OPTNET statement (or BASIC if that option is not specified).\",\"help\":\"LOGLEVEL=NONE | BASIC | MODERATE | AGGRESSIVE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NONE\",\"aliases\":[\"0\"],\"description\":\"turns off all algorithm-related messages in the SAS log\",\"type\":\"standalone\"},{\"name\":\"BASIC\",\"aliases\":[\"1\"],\"description\":\"displays a basic summary of the algorithmic processing\",\"type\":\"standalone\"},{\"name\":\"MODERATE\",\"aliases\":[\"2\"],\"description\":\"displays a summary of the algorithmic processing\",\"type\":\"standalone\"},{\"name\":\"AGGRESSIVE\",\"aliases\":[\"3\"],\"description\":\"displays a detailed summary of the algorithmic processing\",\"type\":\"standalone\"}]},{\"name\":\"OUT=\",\"optional\":true,\"description\":\"specifies the output data set to contain the solution to the minimum link-weighted spanning tree problem.\",\"help\":\"OUT=*SAS-data-set*\",\"type\":\"dataSet\"}]},{\"name\":\"PERFORMANCE\",\"description\":\"The PERFORMANCE statement specifies performance options for multithreaded computing and requests detailed results about the performance characteristics of the OPTNET procedure. The PERFORMANCE statement enables you to control the number of threads used and the output of the ODS table that reports procedure timing.\",\"help\":\"PERFORMANCE &lt;*options*&gt;;    \",\"arguments\":[{\"name\":\"DETAILS\",\"optional\":true,\"description\":\"requests that PROC OPTNET produce the Timing ODS table, which shows a breakdown of the time used in each step of the procedure.\",\"type\":\"standalone\"},{\"name\":\"NTHREADS=\",\"optional\":true,\"description\":\"specifies the number of threads that PROC OPTNET can use. The default value is CPUCOUNT, which sets the thread count to the number determined by the SAS system option CPUCOUNT=.\",\"help\":\"NTHREADS=*number* | CPUCOUNT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"number\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"CPUCOUNT\",\"type\":\"standalone\"}]}]},{\"name\":\"SHORTPATH\",\"description\":\"The SHORTPATH statement invokes an algorithm that calculates shortest paths between sets of nodes on the input graph.\",\"help\":\"SHORTPATH &lt;*options*&gt;;    \",\"arguments\":[{\"name\":\"LOGFREQ=\",\"optional\":true,\"description\":\"displays iteration logs for shortest path calculations every number nodes. The default is determined automatically based on the size of the graph.\",\"help\":\"LOGFREQ=*number*\",\"type\":\"value\"},{\"name\":\"LOGLEVEL=\",\"optional\":true,\"description\":\"controls the amount of information that is displayed in the SAS log. The default is the value that is specified in the LOGLEVEL= option in the PROC OPTNET statement (or BASIC if that option is not specified).\",\"help\":\"LOGLEVEL=NONE | BASIC | MODERATE | AGGRESSIVE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NONE\",\"aliases\":[\"0\"],\"description\":\"turns off all algorithm-related messages in the SAS log\",\"type\":\"standalone\"},{\"name\":\"BASIC\",\"aliases\":[\"1\"],\"description\":\"displays a basic summary of the algorithmic processing\",\"type\":\"standalone\"},{\"name\":\"MODERATE\",\"aliases\":[\"2\"],\"description\":\"Displays a summary of the algorithmic processing\",\"type\":\"standalone\"},{\"name\":\"AGGRESSIVE\",\"aliases\":[\"3\"],\"description\":\"displays a detailed summary of the algorithmic processing\",\"type\":\"standalone\"}]},{\"name\":\"OUT_PATHS=\",\"optional\":true,\"aliases\":[\"OUT=\"],\"description\":\"specifies the output data set to contain the shortest paths.\",\"help\":\"OUT_PATHS=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"OUT_WEIGHTS=\",\"optional\":true,\"description\":\"specifies the output data set to contain the shortest path summaries.\",\"help\":\"OUT_WEIGHTS=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"PATHS=\",\"optional\":true,\"description\":\"specifies the type of output to produce in the output data set that is specified in the OUT_PATHS= option. By default, PATHS=ALL.\",\"help\":\"PATHS=ALL | LONGEST | SHORTEST\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ALL\",\"description\":\"outputs shortest paths for all pairs of source-sinks.\",\"type\":\"standalone\"},{\"name\":\"LONGEST\",\"description\":\"outputs shortest paths for the source-sink pair with the longest (finite) length. If other source-sink pairs (up to 100) have equally long length, they are also output.\",\"type\":\"standalone\"},{\"name\":\"SHORTEST\",\"description\":\"outputs shortest paths for the source-sink pair with the shortest length. If other source-sink pairs (up to 100) have equally short length, they are also output.\",\"type\":\"standalone\"}]},{\"name\":\"SINK=\",\"optional\":true,\"description\":\"specifies the sink node for shortest paths calculations.\",\"help\":\"SINK=*sink-node*\",\"type\":\"value\"},{\"name\":\"SOURCE=\",\"optional\":true,\"description\":\"specifies the source node for shortest paths calculations.\",\"help\":\"SOURCE=*source-node*\",\"type\":\"value\"},{\"name\":\"USEWEIGHT=\",\"optional\":true,\"description\":\"specifies whether to use link weights (if they exist) in calculating shortest paths. By default, USEWEIGHT=YES.\",\"help\":\"USEWEIGHT=YES | NO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YES\",\"description\":\"uses weights (if they exist) in shortest path calculations.\",\"type\":\"standalone\"},{\"name\":\"NO\",\"description\":\"does not use weights in shortest path calculations.\",\"type\":\"standalone\"}]},{\"name\":\"WEIGHT2=\",\"optional\":true,\"description\":\"specifies the data set variable name for the auxiliary link weights.\",\"help\":\"WEIGHT2=*column*\",\"type\":\"value\"}]},{\"name\":\"TRANSITIVE_CLOSURE\",\"aliases\":[\"TRANSCL\"],\"description\":\"The TRANSITIVE_CLOSURE statement invokes an algorithm that calculates the transitive closure of an input graph.\",\"help\":\"TRANSITIVE_CLOSURE &lt;*options*&gt;;    \",\"arguments\":[{\"name\":\"LOGLEVEL=\",\"optional\":true,\"description\":\"controls the amount of information that is displayed in the SAS log. The default is the value that is specified in the LOGLEVEL= option in the PROC OPTNET statement (or BASIC if that option is not specified).\",\"help\":\"LOGLEVEL=NONE | BASIC | MODERATE | AGGRESSIVE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NONE\",\"aliases\":[\"0\"],\"description\":\"turns off all algorithm-related messages in the SAS log\",\"type\":\"standalone\"},{\"name\":\"BASIC\",\"aliases\":[\"1\"],\"description\":\"displays a basic summary of the algorithmic processing\",\"type\":\"standalone\"},{\"name\":\"MODERATE\",\"aliases\":[\"2\"],\"description\":\"displays a summary of the algorithmic processing\",\"type\":\"standalone\"},{\"name\":\"AGGRESSIVE\",\"aliases\":[\"3\"],\"description\":\"displays a detailed summary of the algorithmic processing\",\"type\":\"standalone\"}]},{\"name\":\"OUT=\",\"optional\":true,\"description\":\"specifies the output data set to contain the transitive closure results.\",\"help\":\"OUT=*SAS-data-set*\",\"type\":\"dataSet\"}]},{\"name\":\"TSP\",\"description\":\"The TSP statement invokes an algorithm that solves the traveling salesman problem. The algorithm that is used to solve this problem is built around the same branch-and-cut method as is used in PROC OPTMILP.\",\"help\":\"TSP &lt;*options*&gt;;    \",\"arguments\":[{\"name\":\"ABSOBJGAP=\",\"optional\":true,\"description\":\"specifies a stopping criterion. When the absolute difference between the best integer objective and the objective of the best remaining branch-and-bound node becomes less than the value of number, the solver stops. The value of number can be any nonnegative number; the default value is 1E–6.\",\"help\":\"ABSOBJGAP=*number*\",\"type\":\"value\"},{\"name\":\"CONFLICTSEARCH=\",\"optional\":true,\"description\":\"specifies the level of conflict search that PROC OPTNET performs. The solver performs a conflict search to find clauses that result from infeasible subproblems that arise in the search tree. By default, CONFLICTSEARCH=AUTOMATIC.\",\"help\":\"CONFLICTSEARCH=AUTOMATIC | NONE | MODERATE | AGGRESSIVE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"AUTOMATIC\",\"aliases\":[\"-1\"],\"description\":\"performs a conflict search based on a strategy that is determined by PROC OPTNET\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"aliases\":[\"0\"],\"description\":\"disables conflict search\",\"type\":\"standalone\"},{\"name\":\"MODERATE\",\"aliases\":[\"1\"],\"description\":\"performs a moderate conflict search\",\"type\":\"standalone\"},{\"name\":\"AGGRESSIVE\",\"aliases\":[\"2\"],\"description\":\"performs an aggressive conflict search\",\"type\":\"standalone\"}]},{\"name\":\"CUTOFF=\",\"optional\":true,\"description\":\"cuts off any branch-and-bound nodes in a minimization problem that has an objective value that is greater than number. The value of number can be any number; the default value is the positive number that has the largest absolute value that can be represented in your operating environment.\",\"help\":\"CUTOFF=*number*\",\"type\":\"value\"},{\"name\":\"CUTSTRATEGY=\",\"optional\":true,\"description\":\"specifies the level of mixed integer linear programming cutting planes to be generated by PROC OPTNET. TSP-specific cutting planes are always generated. By default, CUTSTRATEGY=NONE.\",\"help\":\"CUTSTRATEGY=AUTOMATIC | NONE | MODERATE | AGGRESSIVE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"AUTOMATIC\",\"aliases\":[\"-1\"],\"description\":\"generates cutting planes based on a strategy determined by the mixed integer linear programming solver\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"aliases\":[\"0\"],\"description\":\"disables generation of mixed integer linear programming cutting planes (some TSP-specific cutting planes are still active for validity)\",\"type\":\"standalone\"},{\"name\":\"MODERATE\",\"aliases\":[\"1\"],\"description\":\"uses a moderate cut strategy\",\"type\":\"standalone\"},{\"name\":\"AGGRESSIVE\",\"aliases\":[\"2\"],\"description\":\"uses an aggressive cut strategy\",\"type\":\"standalone\"}]},{\"name\":\"EMPHASIS=\",\"optional\":true,\"description\":\"specifies a search emphasis option. By default, EMPHASIS=BALANCE.\",\"help\":\"EMPHASIS=BALANCE | OPTIMAL | FEASIBLE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"BALANCE\",\"aliases\":[\"0\"],\"description\":\"performs a balanced search\",\"type\":\"standalone\"},{\"name\":\"OPTIMAL\",\"aliases\":[\"1\"],\"description\":\"emphasizes optimality over feasibility\",\"type\":\"standalone\"},{\"name\":\"FEASIBLE\",\"aliases\":[\"2\"],\"description\":\"emphasizes feasibility over optimality\",\"type\":\"standalone\"}]},{\"name\":\"HEURISTICS=\",\"optional\":true,\"description\":\"controls the level of initial and primal heuristics that PROC OPTNET applies. By default, HEURISTICS=AUTOMATIC.\",\"help\":\"HEURISTICS=AUTOMATIC | NONE | BASIC | MODERATE | AGGRESSIVE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"AUTOMATIC\",\"aliases\":[\"-1\"],\"description\":\"applies the default level of heuristics\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"aliases\":[\"0\"],\"description\":\"disables all initial and primal heuristics\",\"type\":\"standalone\"},{\"name\":\"BASIC\",\"aliases\":[\"1\"],\"description\":\"applies basic intial and primal heuristics at low frequency\",\"type\":\"standalone\"},{\"name\":\"MODERATE\",\"aliases\":[\"2\"],\"description\":\"applies most intial and primal heuristics at moderate frequency\",\"type\":\"standalone\"},{\"name\":\"AGGRESSIVE\",\"aliases\":[\"3\"],\"description\":\"applies all intitial primal heuristics at high frequency\",\"type\":\"standalone\"}]},{\"name\":\"LOGFREQ=\",\"optional\":true,\"description\":\"specifies how often to print information in the branch-and-bound node log. The value of number can be any nonnegative integer up to the largest four-byte signed integer, which is 2³¹ - 1. The default value is 100.\",\"help\":\"LOGFREQ=*number*\",\"type\":\"value\"},{\"name\":\"LOGLEVEL=\",\"optional\":true,\"description\":\"controls the amount of information displayed in the SAS log by the solver, from a short description of presolve information and summary to details at each branch-and-bound node. The default value is MODERATE.\",\"help\":\"LOGLEVEL=NONE | BASIC | MODERATE | AGGRESSIVE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NONE\",\"aliases\":[\"0\"],\"description\":\"turns off all solver-related messages in the SAS log\",\"type\":\"standalone\"},{\"name\":\"BASIC\",\"aliases\":[\"1\"],\"description\":\"displays a solver summary after stopping\",\"type\":\"standalone\"},{\"name\":\"MODERATE\",\"aliases\":[\"2\"],\"description\":\"prints a solver summary and a node log by using the interval that is specified in the LOGFREQ= option\",\"type\":\"standalone\"},{\"name\":\"AGGRESSIVE\",\"aliases\":[\"3\"],\"description\":\"prints a detailed solver summary and a node log by using the interval that is specified in the LOGFREQ= option\",\"type\":\"standalone\"}]},{\"name\":\"MAXNODES=\",\"optional\":true,\"description\":\"specifies the maximum number of branch-and-bound nodes to be processed. The value of number can be any nonnegative integer up to the largest four-byte signed integer. The default value is 2³¹ - 1.\",\"help\":\"MAXNODES=*number*\",\"type\":\"value\"},{\"name\":\"MAXSOLS=\",\"optional\":true,\"description\":\"specifies a stopping criterion. If number solutions have been found, then the procedure stops. The value of number can be any positive integer up to the largest four-byte signed integer. The default value is 2³¹ - 1.\",\"help\":\"MAXSOLS=*number*\",\"type\":\"value\"},{\"name\":\"MAXTIME=\",\"optional\":true,\"description\":\"specifies the maximum amount of time to spend solving the traveling salesman problem. The type of time (either CPU time or real time) is determined by the value of the TIMETYPE= option. The value of number can be any positive number; the default value is the positive number that has the largest absolute value that can be represented in your operating environment.\",\"help\":\"MAXTIME=*number*\",\"type\":\"value\"},{\"name\":\"MILP=\",\"optional\":true,\"description\":\"specifies whether to use a mixed integer linear programming (MILP) solver for solving the traveling salesman problem. The MILP solver attempts to find the overall best TSP tour by using a branch-and-bound based algorithm. By default, MILP=ON.\",\"help\":\"MILP=ON | OFF\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ON\",\"description\":\"uses a mixed integer linear programming solver\",\"type\":\"standalone\"},{\"name\":\"OFF\",\"description\":\"does not use a mixed-integer linear programming solver\",\"type\":\"standalone\"}]},{\"name\":\"NODESEL=\",\"optional\":true,\"description\":\"specifies the branch-and-bound node selection strategy option. By default, NODESEL=AUTOMATIC.\",\"help\":\"NODESEL=AUTOMATIC | BESTBOUND | BESTESTIMATE | DEPTH\",\"type\":\"choice\",\"arguments\":[{\"name\":\"AUTOMATIC\",\"aliases\":[\"-1\"],\"description\":\"Uses automatic node selection\",\"type\":\"standalone\"},{\"name\":\"BESTBOUND\",\"aliases\":[\"0\"],\"description\":\"chooses the node with the best relaxed objective (best-bound-first strategy)\",\"type\":\"standalone\"},{\"name\":\"BESTESTIMATE\",\"aliases\":[\"1\"],\"description\":\"chooses the node with the best estimate of the integer objective value (best-estimate-first strategy)\",\"type\":\"standalone\"},{\"name\":\"DEPTH\",\"aliases\":[\"2\"],\"description\":\"chooses the most recently created node (depth-first strategy)\",\"type\":\"standalone\"}]},{\"name\":\"OUT=\",\"optional\":true,\"description\":\"specifies the output data set to contain the solution to the traveling salesman problem.\",\"help\":\"OUT=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"PROBE=\",\"optional\":true,\"description\":\"specifies a probing option. By default, PROBE=NONE.\",\"help\":\"PROBE=AUTOMATIC | NONE | MODERATE | AGGRESSIVE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"AUTOMATIC\",\"aliases\":[\"-1\"],\"description\":\"uses an automatic probing strategy\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"aliases\":[\"0\"],\"description\":\"disables probing\",\"type\":\"standalone\"},{\"name\":\"MODERATE\",\"aliases\":[\"1\"],\"description\":\"uses the probing moderately\",\"type\":\"standalone\"},{\"name\":\"AGGRESSIVE\",\"aliases\":[\"2\"],\"description\":\"uses the probing aggressively\",\"type\":\"standalone\"}]},{\"name\":\"RELOBJGAP=\",\"optional\":true,\"description\":\"specifies a stopping criterion that is based on the best integer objective (BestInteger) and the objective of the best remaining node (BestBound). By default, RELOBJGAP=1E–4.\",\"help\":\"RELOBJGAP=*number*\",\"type\":\"value\"},{\"name\":\"STRONGITER=\",\"optional\":true,\"description\":\"specifies the number of simplex iterations that PROC OPTNET performs for each variable in the candidate list when it uses the strong branching variable selection strategy. If you specify the keyword AUTOMATIC or the value –1, PROC OPTNET uses the default value, which it calculates automatically.\",\"help\":\"STRONGITER=*number* | AUTOMATIC\",\"type\":\"choice\",\"arguments\":[{\"name\":\"number\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"AUTOMATIC\",\"type\":\"standalone\"}]},{\"name\":\"STRONGLEN=\",\"optional\":true,\"description\":\"specifies the number of candidates that PROC OPTNET considers when it uses the strong branching variable selection strategy. If you specify the keyword AUTOMATIC or the value –1, PROC OPTNET uses the default value, which it calculates automatically.\",\"help\":\"STRONGLEN=*number* | AUTOMATIC\",\"type\":\"choice\",\"arguments\":[{\"name\":\"number\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"AUTOMATIC\",\"type\":\"standalone\"}]},{\"name\":\"TARGET=\",\"optional\":true,\"description\":\"specifies a stopping criterion for minimization problems. The value of number can be any number; the default is the negative number that has the largest absolute value that can be represented in your operating environment.\",\"help\":\"TARGET=*number*\",\"type\":\"value\"},{\"name\":\"VARSEL=\",\"optional\":true,\"description\":\"specifies the rule for selecting the branching variable. By default, VARSEL=AUTOMATIC.\",\"help\":\"VARSEL=AUTOMATIC |  MAXINFEAS | MININFEAS | PSEUDO | STRONG\",\"type\":\"choice\",\"arguments\":[{\"name\":\"AUTOMATIC\",\"aliases\":[\"-1\"],\"description\":\"uses automatic branching variable selection\",\"type\":\"standalone\"},{\"name\":\"MAXINFEAS\",\"aliases\":[\"0\"],\"description\":\"chooses the variable with maximum infeasibility\",\"help\":\" MAXINFEAS\",\"type\":\"standalone\"},{\"name\":\"MININFEAS\",\"aliases\":[\"1\"],\"description\":\"chooses the variable with minimum infeasibility\",\"type\":\"standalone\"},{\"name\":\"PESUDO\",\"aliases\":[\"2\"],\"description\":\"chooses a branching variable based on pseudocost\",\"type\":\"standalone\"},{\"name\":\"STRONG\",\"aliases\":[\"3\"],\"description\":\"uses strong branching variable selection strategy\",\"type\":\"standalone\"}]}]}],\"supportSiteInformation\":{\"docsetId\":\"ornoaug\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"ornoaug_optnet_toc.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/OPTNETWORK.json",
    "content": "{\"name\":\"OPTNETWORK\",\"statements\":[{\"name\":\"PROC OPTNETWORK\",\"description\":\"The OPTNETWORK procedure includes a number of graph theory and network optimization algorithms that can augment more generic mathematical optimization approaches. Many practical applications of optimization depend on an underlying network.\",\"help\":\"PROC OPTNETWORK <options>;\\n\\tBICONNECTEDCOMPONENTS <options>;    \\n\\n\\tBY variables;    \\n\\n\\tCLIQUE <options>;    \\n\\n\\tCONNECTEDCOMPONENTS <options>;    \\n\\n\\tCYCLE <options>;    \\n\\n\\tDISPLAY <table-list></ options>;    \\n\\n\\tDISPLAYOUT table-spec-list</ options>;    \\n\\n\\tLINEARASSIGNMENT <options>;    \\n\\n\\tLINKSVAR <options>;    \\n\\n\\tLOADGRAPH ;    \\n\\n\\tMAXFLOW <options>;    \\n\\n\\tMINCOSTFLOW <options>;    \\n\\n\\tMINCUT <options>;    \\n\\n\\tMINSPANTREE <options>;    \\n\\n\\tNODESSUBSETVAR <options>;    \\n\\n\\tNODESVAR <options>;    \\n\\n\\tPATH <options>;    \\n\\n\\tSHORTESTPATH <options>;    \\n\\n\\tSMILESOPTIONS <option>;    \\n\\n\\tSUMMARY <options>;    \\n\\n\\tTOPOLOGICALSORT ;    \\n\\n\\tTRANSITIVECLOSURE <option>;    \\n\\n\\tTSP <options>;    \\n\\n\\tUNLOADGRAPH ;    \\n\\n\\tVRP <options>;    \\n\",\"arguments\":[{\"name\":\"DETERMINISTIC=\",\"optional\":true,\"description\":\"specifies whether to enforce determinism. By default, DETERMINISTIC=TRUE, which ensures that each invocation (with the same machine configuration and parameter settings) produces the same final result.\",\"help\":\"DETERMINISTIC=TRUE |  FALSE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"TRUE\",\"type\":\"standalone\"},{\"name\":\"FALSE\",\"type\":\"standalone\"}]},{\"name\":\"DIRECTION=\",\"optional\":true,\"description\":\"specifies whether the input graph should be considered directed or undirected. By default, DIRECTION=UNDIRECTED.\",\"help\":\"DIRECTION=DIRECTED | UNDIRECTED\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DIRECTED\",\"description\":\"considers the input graph to be directed.\",\"type\":\"standalone\"},{\"name\":\"UNDIRECTED\",\"description\":\"considers the input graph to be undirected.\",\"type\":\"standalone\"}]},{\"name\":\"DISTRIBUTED=\",\"optional\":true,\"description\":\"specifies whether to use a distributed graph. By default, DISTRIBUTED=FALSE, which means that a distributed graph is not used.\",\"help\":\"DISTRIBUTED=TRUE |  FALSE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"TRUE\",\"type\":\"standalone\"},{\"name\":\"FALSE\",\"type\":\"standalone\"}]},{\"name\":\"GRAPH=\",\"optional\":true,\"description\":\"specifies the in-memory graph to use. This option can be used with any algorithm that supports in-memory execution.\",\"help\":\"GRAPH=*number*\",\"type\":\"value\"},{\"name\":\"INDEXOFFSET=\",\"optional\":true,\"description\":\"specifies the index offset for identifiers in the log and results output data tables.\",\"help\":\"INDEXOFFSET=*number*\",\"type\":\"value\"},{\"name\":\"LINKS=\",\"optional\":true,\"description\":\"specifies the input data table that contains the graph link information.\",\"help\":\"LINKS=*libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"LOGFREQUENCYTIME=\",\"optional\":true,\"aliases\":[\"LOGFREQTIME=\"],\"description\":\"controls the frequency (in number of seconds) for displaying iteration logs for some algorithms, where number can be any integer greater than or equal to 1. By default, LOGFREQTIME=5.\",\"help\":\"LOGFREQUENCYTIME=*number*\",\"type\":\"value\"},{\"name\":\"LOGLEVEL=\",\"optional\":true,\"description\":\"controls the amount of information that is displayed in the SAS log. By default, LOGLEVEL=BASIC.\",\"help\":\"LOGLEVEL=NONE | BASIC | MODERATE | AGGRESSIVE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NONE\",\"description\":\"turns off all procedure-related messages in the SAS log.\",\"type\":\"standalone\"},{\"name\":\"BASIC\",\"description\":\"displays a brief summary of the algorithmic processing.\",\"type\":\"standalone\"},{\"name\":\"MODERATE\",\"description\":\"displays a moderately detailed summary of the input, output, and algorithmic processing.\",\"type\":\"standalone\"},{\"name\":\"AGGRESSIVE\",\"description\":\"displays a more detailed summary of the input, output, and algorithmic processing.\",\"type\":\"standalone\"}]},{\"name\":\"MULTILINKS=\",\"optional\":true,\"description\":\"specifies whether to include or aggregate multilinks when an input graph (specified by the LINKS= or LINKSQUERY= option) is read. By default, MULTILINKS=TRUE for algorithms that support multilinks.\",\"help\":\"MULTILINKS=TRUE |  FALSE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"TRUE\",\"description\":\"includes multilinks.\",\"type\":\"standalone\"},{\"name\":\"FALSE\",\"description\":\"aggregates multilinks.\",\"type\":\"standalone\"}]},{\"name\":\"NODES=\",\"optional\":true,\"description\":\"specifies the input data table that contains the graph node information.\",\"help\":\"NODES=*libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"NODESSUBSET=\",\"optional\":true,\"description\":\"specifies the input data table that contains the graph node subset information.\",\"help\":\"NODESSUBSET=*libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"NTHREADS=\",\"optional\":true,\"description\":\"specifies the maximum number of threads to use for multithreaded processing. Some of the algorithms can take advantage of multicore machines and can run faster when number is greater than 1.\",\"help\":\"NTHREADS=*number*\",\"type\":\"value\"},{\"name\":\"OUTGRAPHLIST=\",\"optional\":true,\"description\":\"specifies the output data table to contain summary information about in-memory graphs.\",\"help\":\"OUTGRAPHLIST=*libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"OUTLINKS=\",\"optional\":true,\"description\":\"specifies the output data table to contain the graph link information along with any results from the algorithms that calculate metrics on links.\",\"help\":\"OUTLINKS=*libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"OUTNODES=\",\"optional\":true,\"description\":\"specifies the output data table to contain the graph node information along with any results from the algorithms that calculate metrics on nodes.\",\"help\":\"OUTNODES=*libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"SELFLINKS=\",\"optional\":true,\"description\":\"specifies whether to include or remove self-links when an input graph (specified by the LINKS= or LINKSQUERY= option) is read. By default, SELFLINKS=TRUE for algorithms that support self-links.\",\"help\":\"SELFLINKS=TRUE |  FALSE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"TRUE\",\"description\":\"includes self-links.\",\"type\":\"standalone\"},{\"name\":\"FALSE\",\"description\":\"removes self-links.\",\"type\":\"standalone\"}]},{\"name\":\"SMILES=\",\"optional\":true,\"description\":\"specifies the SMILES string input for a molecular graph.\",\"help\":\"SMILES=*string*\",\"type\":\"value\"},{\"name\":\"STANDARDIZEDLABELS\",\"optional\":true,\"description\":\"specifies that the input graph data are in a standardized format.\",\"type\":\"standalone\"},{\"name\":\"STANDARDIZEDLABELSOUT\",\"optional\":true,\"description\":\"specifies that the output graph data include standardized format.\",\"type\":\"standalone\"},{\"name\":\"TIMETYPE=\",\"optional\":true,\"description\":\"specifies whether CPU time or real time is used for each algorithm’s MAXTIME= option (where applicable). By default, TIMETYPE=REAL.\",\"help\":\"TIMETYPE=CPU | REAL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"CPU\",\"description\":\"specifies units of CPU time. The time restriction is applied per processing machine (not across all machines).\",\"type\":\"standalone\"},{\"name\":\"REAL\",\"description\":\"specifies units of real time.\",\"type\":\"standalone\"}]}]},{\"name\":\"BICONNECTEDCOMPONENTS\",\"description\":\"The BICONNECTEDCOMPONENTS statement requests that PROC NETWORK find biconnected components and articulation points of an undirected input graph.\",\"help\":\"BICONNECTEDCOMPONENTS &lt;*options*&gt;;    \",\"arguments\":[{\"name\":\"OUT=\",\"optional\":true,\"description\":\"specifies the output data table to contain the biconnected components summary results.\",\"help\":\"OUT=*libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"OUTBCTREELINKS=\",\"optional\":true,\"description\":\"specifies the output data table to contain the links of the block-cut tree.\",\"help\":\"OUTBCTREELINKS=*libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"OUTBCTREENODES=\",\"optional\":true,\"description\":\"specifies the output data table to contain the nodes of the block-cut tree.\",\"help\":\"OUTBCTREENODES=*libref.data-table*\",\"type\":\"dataSet\"}]},{\"name\":\"BY\",\"description\":\"You can specify a BY statement in PROC NETWORK to obtain separate analyses of observations in groups that are defined by the values of the BY variables.\",\"help\":\"BY *variables*;    \"},{\"name\":\"CLIQUE\",\"description\":\"The CLIQUE statement invokes an algorithm that finds maximal cliques in the input graph.\",\"help\":\"CLIQUE &lt;*options*&gt;;    \",\"arguments\":[{\"name\":\"CLIQUENUMBER=\",\"optional\":true,\"description\":\"specifies whether to calculate the clique number of the graph. By default, CLIQUENUMBER=FALSE.\",\"help\":\"CLIQUENUMBER=TRUE | FALSE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"TRUE\",\"type\":\"standalone\"},{\"name\":\"FALSE\",\"type\":\"standalone\"}]},{\"name\":\"MAXCLIQUES=\",\"optional\":true,\"description\":\"specifies the maximum number of cliques for clique enumeration to return. By default, MAXCLIQUES=1 when CLIQUENUMBER=FALSE; otherwise, MAXCLIQUES=ALL.\",\"help\":\"MAXCLIQUES=*number* | ALL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"number\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"ALL\",\"type\":\"standalone\"}]},{\"name\":\"MAXLINKWEIGHT=\",\"optional\":true,\"description\":\"specifies the maximum sum of link weights in a clique. The default is the largest number that can be represented by a double. When the default is used, no cliques are removed from the results.\",\"help\":\"MAXLINKWEIGHT=*number*\",\"type\":\"value\"},{\"name\":\"MAXNODEWEIGHT=\",\"optional\":true,\"description\":\"specifies the maximum sum of node weights in a clique. The default is the largest number that can be represented by a double. When the default is used, no cliques are removed from the results.\",\"help\":\"MAXNODEWEIGHT=*number*\",\"type\":\"value\"},{\"name\":\"MAXSIZE=\",\"optional\":true,\"description\":\"specifies the maximum number of nodes in a clique. The default is the largest number that can be represented by a 32-bit integer. When the default is used, no cliques are removed from the results.\",\"help\":\"MAXSIZE=*number*\",\"type\":\"value\"},{\"name\":\"MAXTIME=\",\"optional\":true,\"description\":\"specifies the maximum amount of time to spend finding cliques. The default is the largest number that can be represented by a double.\",\"help\":\"MAXTIME=*number*\",\"type\":\"value\"},{\"name\":\"MINLINKWEIGHT=\",\"optional\":true,\"description\":\"specifies the minimum sum of link weights in a clique. The default is the largest (in magnitude) negative number that can be represented by a double. When the default is used, no cliques are removed from the results.\",\"help\":\"MINLINKWEIGHT=*number*\",\"type\":\"value\"},{\"name\":\"MINNODEWEIGHT=\",\"optional\":true,\"description\":\"specifies the minimum sum of node weights in a clique. The default is the largest (in magnitude) negative number that can be represented by a double, which causes no cliques to be removed from the results.\",\"help\":\"MINNODEWEIGHT=*number*\",\"type\":\"value\"},{\"name\":\"MINSIZE=\",\"optional\":true,\"description\":\"specifies the minimum number of nodes in a clique. By default, MINSIZE=1 and no cliques are removed from the results.\",\"help\":\"MINSIZE=*number*\",\"type\":\"value\"},{\"name\":\"OUT=\",\"optional\":true,\"description\":\"specifies the output data table to contain the maximal cliques.\",\"help\":\"OUT=*libref.data-table*\",\"type\":\"dataSet\"}]},{\"name\":\"CONNECTEDCOMPONENTS\",\"description\":\"The CONNECTEDCOMPONENTS statement invokes an algorithm that finds the connected components of the input graph.\",\"help\":\"CONNECTEDCOMPONENTS &lt;*options*&gt;;    \",\"arguments\":[{\"name\":\"ALGORITHM=\",\"optional\":true,\"description\":\"specifies the algorithm to use for calculating connected components. By default, ALGORITHM=AUTOMATIC.\",\"help\":\"ALGORITHM=AUTOMATIC | AFFOREST | DFS | UNIONFIND\",\"type\":\"choice\",\"arguments\":[{\"name\":\"AUTOMATIC\",\"description\":\"uses the union-find or afforest algorithm for undirected graphs and the depth-first search algorithm for directed graphs.\",\"type\":\"standalone\"},{\"name\":\"AFFOREST\",\"description\":\"uses the afforest algorithm for connected components. You can use this algorithm only with undirected graphs.\",\"type\":\"standalone\"},{\"name\":\"DFS\",\"description\":\"uses the depth-first search algorithm for connected components.\",\"type\":\"standalone\"},{\"name\":\"UNIONFIND\",\"description\":\"uses the union-find algorithm for connected components. You can use this algorithm only with undirected graphs.\",\"type\":\"standalone\"}]},{\"name\":\"OUT=\",\"optional\":true,\"description\":\"specifies the output data table to contain the connected components summary results.\",\"help\":\"OUT=*libref.data-table*\",\"type\":\"dataSet\"}]},{\"name\":\"CYCLE\",\"description\":\"The CYCLE statement invokes an algorithm that finds the cycles (or the existence of a cycle) in the input graph.\",\"help\":\"CYCLE &lt;*options*&gt;;    \",\"arguments\":[{\"name\":\"ALGORITHM=\",\"optional\":true,\"description\":\"specifies which algorithm to use in enumerating cycles. By default, ALGORITHM=BACKTRACK for MAXLENGTH greater than 20; otherwise, ALGORITHM=BUILD.\",\"help\":\"ALGORITHM=BACKTRACK | BUILD\",\"type\":\"choice\",\"arguments\":[{\"name\":\"BACKTRACK\",\"description\":\"uses a backtracking algorithm based on Johnson (1975).\",\"type\":\"standalone\"},{\"name\":\"BUILD\",\"description\":\"uses a building algorithm based on Liu and Wang (2006).\",\"type\":\"standalone\"}]},{\"name\":\"MAXCYCLES=\",\"optional\":true,\"description\":\"specifies the maximum number of cycles for cycle enumeration to return. By default, MAXCYCLES=1.\",\"help\":\"MAXCYCLES=*number* | ALL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"number\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"ALL\",\"type\":\"standalone\"}]},{\"name\":\"MAXLENGTH=\",\"optional\":true,\"description\":\"specifies the maximum number of links in a cycle. The default is the largest number that can be represented by a 32-bit integer, which causes no cycles to be removed from the results.\",\"help\":\"MAXLENGTH=*number*\",\"type\":\"value\"},{\"name\":\"MAXLINKWEIGHT=\",\"optional\":true,\"description\":\"specifies the maximum sum of link weights in a cycle. The default is the largest number that can be represented by a double. When the default is used, no cycles are removed from the results.\",\"help\":\"MAXLINKWEIGHT=*number*\",\"type\":\"value\"},{\"name\":\"MAXNODEWEIGHT=\",\"optional\":true,\"description\":\"specifies the maximum sum of node weights in a cycle. The default is the largest number that can be represented by a double. When the default is used, no cycles are removed from the results.\",\"help\":\"MAXNODEWEIGHT=*number*\",\"type\":\"value\"},{\"name\":\"MAXTIME\",\"optional\":true,\"description\":\"specifies the maximum amount of time to spend finding cycles. The default is the largest number that can be represented by a double.\",\"type\":\"standalone\"},{\"name\":\"MINLENGTH=\",\"optional\":true,\"description\":\"specifies the minimum number of links in a cycle. By default, MINLENGTH=1 and no cycles are removed from the results.\",\"help\":\"MINLENGTH=*number*\",\"type\":\"value\"},{\"name\":\"MINLINKWEIGHT=\",\"optional\":true,\"description\":\"specifies the minimum sum of link weights in a cycle. The default is the largest (in magnitude) negative number that can be represented by a double. When the default is used, no cycles are removed from the results.\",\"help\":\"MINLINKWEIGHT=*number*\",\"type\":\"value\"},{\"name\":\"MINNODEWEIGHT=\",\"optional\":true,\"description\":\"specifies the minimum sum of node weights in a cycle. The default is the largest (in magnitude) negative number that can be represented by a double, which causes no cycles to be removed from the results.\",\"help\":\"MINNODEWEIGHT=*number*\",\"type\":\"value\"},{\"name\":\"OUTCYCLESLINKS=\",\"optional\":true,\"description\":\"specifies the output data table to contain the links of the cycles found.\",\"help\":\"OUTCYCLESLINKS=*libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"OUT=\",\"optional\":true,\"aliases\":[\"OUTCYCLESNODES=\"],\"description\":\"specifies the output data table to contain the nodes of the cycles found.\",\"help\":\"OUT=*libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"SOURCE=\",\"optional\":true,\"description\":\"specifies the source node for cycle calculations.\",\"help\":\"SOURCE=*source-node*\",\"type\":\"value\"}]},{\"name\":\"DISPLAY\",\"description\":\"The DISPLAY statement enables you to specify a list of display tables to display or exclude.\",\"help\":\"DISPLAY &lt;*table-list*&gt;&lt;*/ options*&gt;;    \",\"arguments\":[{\"name\":\"CASESENSITIVE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"performs a case-sensitive comparison of table names in the table-list to display table names when tables are subsetted for display. To preserve case, you must enclose table names in the table-list in quotation marks.\",\"type\":\"standalone\"},{\"name\":\"EXCLUDE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"displays all display tables except those that you specify in the table-list.\",\"type\":\"standalone\"},{\"name\":\"EXCLUDEALL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses display of all tables. This option takes precedence over the other options.\",\"type\":\"standalone\"},{\"name\":\"TRACE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"displays the display table names, labels, and paths.\",\"type\":\"standalone\"}]},{\"name\":\"DISPLAYOUT\",\"description\":\"The DISPLAYOUT statement enables you to create output tables from your displayed output.\",\"help\":\"DISPLAYOUT *table-spec-list*&lt;*/ options*&gt;;    \",\"arguments\":[{\"name\":\"INCLUDEALL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"creates output tables for all display tables.\",\"type\":\"standalone\"},{\"name\":\"NOREPLACE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"does not replace any existing output table of the same name.\",\"type\":\"standalone\"},{\"name\":\"REPEATED\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"replicates all output tables on all nodes.\",\"type\":\"standalone\"}]},{\"name\":\"LINEARASSIGNMENT\",\"aliases\":[\"LAP\"],\"description\":\"The LINEARASSIGNMENT statement invokes an algorithm that solves the minimal-cost linear assignment problem. In graph terms, this problem is also known as the minimum link-weighted matching problem on a bipartite graph.\",\"help\":\"LINEARASSIGNMENT &lt;*options*&gt;;    \",\"arguments\":[{\"name\":\"MAXTIME=\",\"optional\":true,\"description\":\"specifies the maximum amount of time to spend for linear assignment. The default is the largest number that can be represented by a double.\",\"help\":\"MAXTIME=*number*\",\"type\":\"value\"},{\"name\":\"OUT=\",\"optional\":true,\"description\":\"specifies the output data table to contain the solution to the linear assignment problem.\",\"help\":\"OUT=*libref.data-table*\",\"type\":\"dataSet\"}]},{\"name\":\"LINKSVAR\",\"description\":\"The LINKSVAR statement enables you to explicitly specify the data variable names for PROC NETWORK to use when it reads the data table that you specify in the LINKS= option in the PROC NETWORK statement.\",\"help\":\"LINKSVAR &lt;*options*&gt;;    \",\"arguments\":[{\"name\":\"AUXWEIGHT=\",\"optional\":true,\"description\":\"specifies the name of the data variable for the auxiliary link weights. The value of the column variable must be numeric.\",\"help\":\"AUXWEIGHT=*column*\",\"type\":\"value\"},{\"name\":\"FROM=\",\"optional\":true,\"aliases\":[\"FROMVAR=\"],\"description\":\"specifies the name of the data variable for the from nodes. The default name is from.\",\"help\":\"FROM=*column*\",\"type\":\"value\"},{\"name\":\"LOWER=\",\"optional\":true,\"description\":\"specifies the name of the data variable for the link lower bounds. The default name is lower.\",\"help\":\"LOWER=*column*\",\"type\":\"value\"},{\"name\":\"TO=\",\"optional\":true,\"aliases\":[\"TOVAR=\"],\"description\":\"specifies the name of the data variable for the to nodes. The default name is to.\",\"help\":\"TO=*column*\",\"type\":\"value\"},{\"name\":\"UPPER=\",\"optional\":true,\"description\":\"specifies the name of the data variable for the link upper bounds. The default name is upper.\",\"help\":\"UPPER=*column*\",\"type\":\"value\"},{\"name\":\"VARS=\",\"optional\":true,\"description\":\"specifies the names of the additional data variables to read.\",\"help\":\"VARS=(*columns*)\",\"type\":\"value\"},{\"name\":\"VARSOUT=\",\"optional\":true,\"description\":\"specifies the names of the additional data variables to write to the output results. By default, the variables to write are the same as the variables read (as specified in the VARS= option).\",\"help\":\"VARSOUT=(*columns*)\",\"type\":\"value\"},{\"name\":\"WEIGHT=\",\"optional\":true,\"description\":\"specifies the name of the data variable for the link weights. The default name is weight.\",\"help\":\"WEIGHT=*column*\",\"type\":\"value\"}]},{\"name\":\"LOADGRAPH\",\"description\":\"The LOADGRAPH statement reads the input graph from tables that are specified by the LINKS= option or the NODES= option (or both) in the PROC NETWORK statement, and it retains the graph in memory.\",\"help\":\"LOADGRAPH ;    \"},{\"name\":\"MAXFLOW\",\"description\":\"The MAXFLOW statement invokes an algorithm that solves the maximum network flow problem on an input graph.\",\"help\":\"MAXFLOW &lt;*options*&gt;;    \",\"arguments\":[{\"name\":\"SINK=\",\"optional\":true,\"description\":\"specifies the sink node for maximum network flow calculations.\",\"help\":\"SINK=*t* \",\"type\":\"value\"},{\"name\":\"SOURCE=\",\"optional\":true,\"description\":\"specifies the source node for maximum network flow calculations.\",\"help\":\"SOURCE=*s*\",\"type\":\"value\"}]},{\"name\":\"MINCOSTFLOW\",\"aliases\":[\"MCF\"],\"description\":\"The MINCOSTFLOW statement invokes an algorithm that solves the minimum-cost network flow problem on an input graph.\",\"help\":\"MINCOSTFLOW &lt;*options*&gt;;    \",\"arguments\":[{\"name\":\"LOGFREQUENCY=\",\"optional\":true,\"aliases\":[\"LOGFREQ=\"],\"description\":\"controls the frequency for displaying iteration logs for minimum-cost network flow calculations that use the network simplex algorithm. For graphs that contain one component, this option displays progress every number of simplex iterations, and the default is 10,000. For graphs that contain multiple components, when you also specify LOGLEVEL=MODERATE, this option displays progress after processing every number of components, and the default is based on the number of components.\",\"help\":\"LOGFREQUENCY=*number*\",\"type\":\"value\"},{\"name\":\"MAXTIME=\",\"optional\":true,\"description\":\"specifies the maximum amount of time to spend calculating minimum-cost network flows. The default is the largest number that can be represented by a double.\",\"help\":\"MAXTIME=*number*\",\"type\":\"value\"}]},{\"name\":\"MINCUT\",\"description\":\"The MINCUT statement invokes an algorithm that finds the minimum link-weighted cut of an input graph.\",\"help\":\"MINCUT &lt;*options*&gt;;    \",\"arguments\":[{\"name\":\"MAXCUTS=\",\"optional\":true,\"description\":\"specifies the maximum number of cuts for the algorithm to return. By default, MAXCUTS=1.\",\"help\":\"MAXCUTS=*number*\",\"type\":\"value\"},{\"name\":\"MAXWEIGHT=\",\"optional\":true,\"description\":\"specifies the maximum weight of the cuts for the algorithm to return. The default is the largest number that can be represented by a double.\",\"help\":\"MAXWEIGHT=*number*\",\"type\":\"value\"},{\"name\":\"OUTCUTSETS=\",\"optional\":true,\"aliases\":[\"OUT=\"],\"description\":\"specifies the output data table to contain the minimum cut sets to the minimum-cut problem.\",\"type\":\"value\"},{\"name\":\"OUTPARTITIONS=\",\"optional\":true,\"description\":\"specifies the output data table to contain the minimum cut partitions to the minimum-cut problem.\",\"help\":\"OUTPARTITIONS=*libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"SINK=\",\"optional\":true,\"description\":\"specifies the sink node for minimum cut calculations. If this option is specified, the SOURCE= option must also be specified.\",\"help\":\"SINK=*t*\",\"type\":\"value\"},{\"name\":\"SOURCE=\",\"optional\":true,\"description\":\"specifies the source node for minimum cut calculations. If this option is specified, the SINK= option must also be specified.\",\"help\":\"SOURCE=*s*\",\"type\":\"value\"}]},{\"name\":\"MINSPANTREE\",\"aliases\":[\"MST\"],\"description\":\"The MINSPANTREE statement invokes an algorithm that solves the minimum link-weighted spanning tree problem on an input graph.\",\"help\":\"MINCUT &lt;*options*&gt;;    \",\"arguments\":[{\"name\":\"OUT=\",\"optional\":true,\"description\":\"specifies the output data table to contain the solution to the minimum link-weighted spanning tree problem.\",\"help\":\"OUT=*libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"SOURCE=\",\"optional\":true,\"description\":\"specifies a source node for directed graphs. If the graph is undirected, this option is ignored.\",\"help\":\"SOURCE=*s*\",\"type\":\"value\"}]},{\"name\":\"NODESSUBSETVAR\",\"description\":\"The NODESSUBSETVAR statement enables you to explicitly specify the data variable names for PROC NETWORK to use when it reads the data table that you specify in the NODESSUBSET= option in the PROC NETWORK statement.\",\"help\":\"NODESSUBSETVAR &lt;*options*&gt;;    \",\"arguments\":[{\"name\":\"NODE=\",\"optional\":true,\"description\":\"specifies the name of the data variable for the nodes. The value of the column variable can be numeric or character.\",\"help\":\"NODE=*column*\",\"type\":\"value\"},{\"name\":\"SINK=\",\"optional\":true,\"description\":\"specifies the name of the data variable for the sink indicator. The value of the column variable must be numeric.\",\"help\":\"SINK=*column*\",\"type\":\"value\"},{\"name\":\"SOURCE=\",\"optional\":true,\"description\":\"specifies the name of the data variable for the source indicator. The value of the column variable must be numeric.\",\"help\":\"SOURCE=*column*\",\"type\":\"value\"}]},{\"name\":\"NODESVAR\",\"description\":\"The NODESVAR statement enables you to explicitly specify the data variable names for PROC NETWORK to use when it reads the data table that you specify in the NODES= option in the PROC NETWORK statement.\",\"help\":\"NODESVAR &lt;*options*&gt;;    \",\"arguments\":[{\"name\":\"LOWER=\",\"optional\":true,\"description\":\"specifies the name of the data variable for the node lower bounds. The default name is lower.\",\"help\":\"LOWER=*column*\",\"type\":\"value\"},{\"name\":\"NODE=\",\"optional\":true,\"description\":\"specifies the name of the data variable for the nodes. The value of the column variable can be numeric or character. The default name is node.\",\"help\":\"NODE=*column*\",\"type\":\"value\"},{\"name\":\"UPPER=\",\"optional\":true,\"description\":\"specifies the name of the data variable for the node upper bounds. The default name is upper.\",\"help\":\"UPPER=*column*\",\"type\":\"value\"},{\"name\":\"VARS=\",\"optional\":true,\"description\":\"specifies the names of the additional data variables to read. The value of the variables can be numeric or character.\",\"help\":\"VARS=(*column(s)*)\",\"type\":\"value\"},{\"name\":\"VARSOUT=\",\"optional\":true,\"description\":\"specifies the names of the additional data variables to write to the output results. The value of the variables can be numeric or character. By default, the variables to write are the same as the variables read (as specified in the VARS= option).\",\"help\":\"VARSOUT=(*column(s)*)\",\"type\":\"value\"},{\"name\":\"WEIGHT=\",\"optional\":true,\"description\":\"specifies the name of the data variable for the node weights. The value of the column variable must be numeric. The default name is weight.\",\"help\":\"WEIGHT=*column*\",\"type\":\"value\"}]},{\"name\":\"PATH\",\"description\":\"The PATH statement invokes an algorithm that finds the paths in the input graph.\",\"help\":\"PATH &lt;*options*&gt;;    \",\"arguments\":[{\"name\":\"MAXLENGTH=\",\"optional\":true,\"description\":\"specifies the maximum number of links in a path. The default is the largest number that can be represented by a 32-bit integer. When the default is used, no paths are removed from the results.\",\"help\":\"MAXLENGTH=*number*\",\"type\":\"value\"},{\"name\":\"MAXLINKWEIGHT=\",\"optional\":true,\"description\":\"specifies the maximum sum of link weights in a path. The default is the largest number that can be represented by a double. When the default is used, no paths are removed from the results.\",\"help\":\"MAXLINKWEIGHT=*number*\",\"type\":\"value\"},{\"name\":\"MAXNODEWEIGHT=\",\"optional\":true,\"description\":\"specifies the maximum sum of node weights in a path. The default is the largest number that can be represented by a double. When the default is used, no paths are removed from the results.\",\"help\":\"MAXNODEWEIGHT=*number*\",\"type\":\"value\"},{\"name\":\"MAXTIME=\",\"optional\":true,\"description\":\"specifies the maximum amount of time to spend finding paths. The default is the largest number that can be represented by a double.\",\"help\":\"MAXTIME=*number*\",\"type\":\"value\"},{\"name\":\"MINLENGTH=\",\"optional\":true,\"description\":\"specifies the minimum number of links in a path. By default, MINLENGTH=1 and no paths are removed from the results.\",\"help\":\"MINLENGTH=*number*\",\"type\":\"value\"},{\"name\":\"MINLINKWEIGHT=\",\"optional\":true,\"description\":\"specifies the minimum sum of link weights in a path. The default is the largest (in magnitude) negative number that can be represented by a double. When the default is used, no paths are removed from the results.\",\"help\":\"MINLINKWEIGHT=*number*\",\"type\":\"value\"},{\"name\":\"MINNODEWEIGHT=\",\"optional\":true,\"description\":\"specifies the minimum sum of node weights in a path. The default is the largest (in magnitude) negative number that can be represented by a double, which causes no paths to be removed from the results.\",\"help\":\"MINNODEWEIGHT=number\",\"type\":\"value\"},{\"name\":\"OUTPATHSLINKS=\",\"optional\":true,\"aliases\":[\"OUTPATHS=\"],\"description\":\"specifies the output data table to contain the path links.\",\"help\":\"OUTPATHSLINKS=*libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"OUTPATHSNODES=\",\"optional\":true,\"description\":\"specifies the output data table to contain the path nodes.\",\"help\":\"OUTPATHSNODES=*libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"SINK=\",\"optional\":true,\"description\":\"specifies the sink node for path calculations.\",\"help\":\"SINK=*sink-node*\",\"type\":\"value\"},{\"name\":\"SOURCE=\",\"optional\":true,\"description\":\"specifies the source node for path calculations.\",\"help\":\"SOURCE=*source-node*\",\"type\":\"value\"}]},{\"name\":\"SHORTESTPATH\",\"description\":\"The SHORTESTPATH statement invokes an algorithm that calculates shortest paths between pairs of nodes in the input graph. By default, PROC NETWORK finds a shortest path for each possible combination of source and sink nodes.\",\"help\":\"SHORTESTPATH &lt;*options*&gt;;    \",\"arguments\":[{\"name\":\"MAXABSOLUTEOBJECTIVEGAP=\",\"optional\":true,\"aliases\":[\"MAXABSOBJGAP=\"],\"description\":\"specifies an acceptance criterion for the sum of link weights (CandidatePath) in paths relative to the sum of link weights in the shortest path (ShortestPath). The default is the largest number that can be represented by a double. When the default is used, no paths are removed from the results.\",\"help\":\"MAXABSOLUTEOBJECTIVEGAP=*number*\",\"type\":\"value\"},{\"name\":\"MAXPATHWEIGHT=\",\"optional\":true,\"aliases\":[\"MAXLINKWEIGHT=\"],\"description\":\"specifies the maximum path weight. The default is the largest number that can be represented by a double, which causes no paths to be removed from the results.\",\"help\":\"MAXPATHWEIGHT=*number*\",\"type\":\"value\"},{\"name\":\"MAXPATHSPERPAIR=\",\"optional\":true,\"description\":\"specifies the maximum number of ranked paths to find for each source-sink pair. By default, MAXPATHSPERPAIR=1 and the algorithm finds one shortest path between each source-sink pair.\",\"help\":\"MAXPATHSPERPAIR=*number*\",\"type\":\"value\"},{\"name\":\"MAXRELATIVEOBJECTIVEGAP=\",\"optional\":true,\"aliases\":[\"MAXRELOBJGAP=\"],\"description\":\"specifies an acceptance criterion for the sum of link weights (CandidatePath) in paths relative to the sum of link weights in the shortest path (ShortestPath). The default is the largest number that can be represented by a double. When the default is used, no paths are removed from the results.\",\"help\":\"MAXRELATIVEOBJECTIVEGAP=*number*\",\"type\":\"value\"},{\"name\":\"MINPATHWEIGHT=\",\"optional\":true,\"aliases\":[\"MINLINKWEIGHT=\"],\"description\":\"specifies the minimum sum of link weights in a path. The default is the largest (in magnitude) negative number that can be represented by a double. When the default is used, no paths are removed from the results.\",\"help\":\"MINPATHWEIGHT=*number*\",\"type\":\"value\"},{\"name\":\"OUTPATHS=\",\"optional\":true,\"aliases\":[\"OUT=\",\"OUTPATHSLINKS=\"],\"description\":\"specifies the output data table to contain the shortest path links.\",\"help\":\"OUTPATHS=*libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"OUTPATHSNODES=\",\"optional\":true,\"description\":\"specifies the output data table to contain the shortest path nodes.\",\"help\":\"OUTPATHSNODES=*libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"OUTSUMMARY=\",\"optional\":true,\"description\":\"specifies the output data table to contain descriptive statistics of the finite shortest paths for each source.\",\"help\":\"OUTSUMMARY=*libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"OUTWEIGHTS=\",\"optional\":true,\"description\":\"specifies the output data table to contain the total weight of the shortest path for each source-sink pair.\",\"help\":\"OUTWEIGHTS=*libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"SEQUENCE=\",\"optional\":true,\"description\":\"specifies which data variable in the nodes subset table defines the sequence of nodes to visit.\",\"help\":\"SEQUENCE=*column*\",\"type\":\"value\"},{\"name\":\"SINK=\",\"optional\":true,\"description\":\"specifies the sink node for shortest path calculations.\",\"help\":\"SINK=*sink-node*\",\"type\":\"value\"},{\"name\":\"SOURCE=\",\"optional\":true,\"description\":\"specifies the source node for shortest path calculations.\",\"help\":\"SOURCE=*source-node*\",\"type\":\"value\"}]},{\"name\":\"SMILESOPTIONS\",\"description\":\"The SMILESOPTIONS statement provides additional specifications for the molecular graph input that you specify in the SMILES= option.\",\"help\":\"SMILESOPTIONS &lt;*option*&gt;;    \",\"arguments\":[{\"name\":\"ADDHYDROGENS=\",\"optional\":true,\"description\":\"specifies whether or not to include hydrogen atoms when a molecular graph is generated from a SMILES string input. By default, ADDHYDROGENS=FALSE.\",\"help\":\"ADDHYDROGENS=TRUE | FALSE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"TRUE\",\"type\":\"standalone\"},{\"name\":\"FALSE\",\"type\":\"standalone\"}]}]},{\"name\":\"SUMMARY\",\"description\":\"The SUMMARY statement invokes an algorithm that calculates various summary metrics for an input graph.\",\"help\":\"SUMMARY &lt;*options*&gt;;    \",\"arguments\":[{\"name\":\"ASSORTATIVITYDEGREE=\",\"optional\":true,\"description\":\"calculates degree assortativity and specifies which type of calculation to perform.\",\"help\":\"ASSORTATIVITYDEGREE=WEIGHT | UNWEIGHT | BOTH\",\"type\":\"choice\",\"arguments\":[{\"name\":\"WEIGHT\",\"description\":\"calculates degree assortativity by using the weighted graph.\",\"type\":\"standalone\"},{\"name\":\"UNWEIGHT\",\"description\":\"calculates degree assortativity by using the unweighted graph.\",\"type\":\"standalone\"},{\"name\":\"BOTH\",\"description\":\"calculates degree assortativity by using both the weighted and unweighted graphs.\",\"type\":\"standalone\"}]},{\"name\":\"ASSORTATIVITYNOMINAL=\",\"optional\":true,\"description\":\"specifies the name of the data variable for computing the nominal assortativity.\",\"help\":\"ASSORTATIVITYNOMINAL=*column*\",\"type\":\"value\"},{\"name\":\"ASSORTATIVITYNUMERIC=\",\"optional\":true,\"description\":\"specifies the name of the data variable for computing the numeric assortativity.\",\"help\":\"ASSORTATIVITYNUMERIC=*column*\",\"type\":\"value\"},{\"name\":\"BICONNECTEDCOMPONENTS\",\"optional\":true,\"description\":\"calculates information about biconnected components. You can use this option only for an undirected graph.\",\"type\":\"standalone\"},{\"name\":\"CLUSTERINGCOEFFICIENT\",\"optional\":true,\"aliases\":[\"CLUSTERINGCOEF\"],\"description\":\"calculates information about clustering coefficients. You can use this option only for an undirected graph.\",\"type\":\"standalone\"},{\"name\":\"CONNECTEDCOMPONENTS\",\"optional\":true,\"description\":\"calculates information about connected components.\",\"type\":\"standalone\"},{\"name\":\"DIAMETERAPPROX=\",\"optional\":true,\"description\":\"calculates information about the approximate diameter and specifies which type of calculation to perform.\",\"help\":\"DIAMETERAPPROX=WEIGHT | UNWEIGHT | BOTH\",\"type\":\"choice\",\"arguments\":[{\"name\":\"WEIGHT\",\"description\":\"calculates the approximate diameter by using the weighted graph.\",\"type\":\"standalone\"},{\"name\":\"UNWEIGHT\",\"description\":\"calculates the approximate diameter by using the unweighted graph.\",\"type\":\"standalone\"},{\"name\":\"BOTH\",\"description\":\"calculates the approximate diameter by using both the weighted and unweighted graphs.\",\"type\":\"standalone\"}]},{\"name\":\"FINITEPATH\",\"optional\":true,\"description\":\"includes only finite values when calculating descriptive statistics that are related to shortest paths (eccentricity, diameter, and so on).\",\"type\":\"standalone\"},{\"name\":\"OUT=\",\"optional\":true,\"description\":\"specifies the output data table to contain the summary results.\",\"help\":\"OUT=*libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"SHORTESTPATH=\",\"optional\":true,\"description\":\"calculates information about shortest paths and specifies which type of calculation to perform.\",\"help\":\"SHORTESTPATH=WEIGHT | UNWEIGHT | BOTH\",\"type\":\"choice\",\"arguments\":[{\"name\":\"WEIGHT\",\"description\":\"calculates shortest paths by using the weighted graph.\",\"type\":\"standalone\"},{\"name\":\"UNWEIGHT\",\"description\":\"calculates shortest paths by using the unweighted graph.\",\"type\":\"standalone\"},{\"name\":\"BOTH\",\"description\":\"calculates shortest paths by using both the weighted and unweighted graphs.\",\"type\":\"standalone\"}]}]},{\"name\":\"TOPOLOGICALSORT\",\"description\":\"The TOPOLOGICALSORT statement calculates a topological ordering of the nodes of a directed acyclic input graph.\",\"help\":\"TOPOLOGICALSORT ;    \"},{\"name\":\"TRANSITIVECLOSURE\",\"description\":\"The TRANSITIVECLOSURE statement invokes an algorithm that calculates the transitive closure of an input graph.\",\"help\":\"TRANSITIVECLOSURE &lt;*option*&gt;;    \",\"arguments\":[{\"name\":\"OUT=\",\"optional\":true,\"description\":\"specifies the output data table to contain the transitive closure results.\",\"help\":\"OUT=*libref.data-table*\",\"type\":\"dataSet\"}]},{\"name\":\"TSP\",\"description\":\"The TSP statement invokes an algorithm that solves the traveling salesman problem, which is described in the section Traveling Salesman Problem.\",\"help\":\"TSP &lt;*options*&gt;;    \",\"arguments\":[{\"name\":\"ABSOBJGAP=\",\"optional\":true,\"aliases\":[\"ABSOLUTEOBJECTIVEGAP=\"],\"description\":\"specifies a stopping criterion. When the absolute difference between the best integer objective and the objective of the best remaining branch-and-bound node becomes less than the value of number, the solver stops. The default value is 1E–6.\",\"type\":\"value\"},{\"name\":\"CUTOFF=\",\"optional\":true,\"description\":\"cuts off any branch-and-bound nodes in a minimization problem that has an objective value greater than number. The default is the largest number that can be represented by a double.\",\"help\":\"CUTOFF=*number*\",\"type\":\"value\"},{\"name\":\"CUTSTRATEGY=\",\"optional\":true,\"description\":\"specifies the level of mixed integer linear programming cutting planes to be generated. By default, CUTSTRATEGY=NONE.\",\"help\":\"CUTSTRATEGY=AUTOMATIC | NONE | MODERATE | AGGRESSIVE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"AUTOMATIC\",\"description\":\"generates cutting planes on the basis of a strategy that is determined by the mixed integer linear programming solver.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"disables the generation of mixed integer linear programming cutting planes (some TSP-specific cutting planes are still active for validity).\",\"type\":\"standalone\"},{\"name\":\"MODERATE\",\"description\":\"uses a moderate cutting strategy.\",\"type\":\"standalone\"},{\"name\":\"AGGRESSIVE\",\"description\":\"uses an aggressive cutting strategy.\",\"type\":\"standalone\"}]},{\"name\":\"HEURISTICS=\",\"optional\":true,\"description\":\"determines how frequently to apply primal heuristics during the branch-and-bound tree search, and affects the maximum number of iterations that are allowed in iterative heuristics. By default, HEURISTICS=AUTOMATIC.\",\"help\":\"HEURISTICS=AUTOMATIC | NONE | BASIC | MODERATE | AGGRESSIVE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"AUTOMATIC\",\"description\":\"applies the default level of heuristics.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"disables all primal heuristics.\",\"type\":\"standalone\"},{\"name\":\"BASIC\",\"description\":\"applies basic primal heuristics at low frequency.\",\"type\":\"standalone\"},{\"name\":\"MODERATE\",\"description\":\"applies most primal heuristics at moderate frequency.\",\"type\":\"standalone\"},{\"name\":\"AGGRESSIVE\",\"description\":\"applies most primal heuristics at moderate frequency.\",\"type\":\"standalone\"}]},{\"name\":\"LOGFREQUENCY=\",\"optional\":true,\"aliases\":[\"LOGFREQ=\"],\"description\":\"specifies the time interval (in seconds) for printing information in the node log, where number can be any integer greater than or equal to 0. By default, LOGFREQ=5.\",\"help\":\"LOGFREQUENCY=*number*\",\"type\":\"value\"},{\"name\":\"MAXNODES=\",\"optional\":true,\"description\":\"specifies the maximum number of branch-and-bound nodes to be processed. The default is the largest number that can be represented by a 32-bit integer.\",\"help\":\"MAXNODES=*number*\",\"type\":\"value\"},{\"name\":\"MAXSOLS=\",\"optional\":true,\"description\":\"specifies a stopping criterion. When the number of solutions are found, the procedure stops. The default is the largest number that can be represented by a 32-bit integer.\",\"help\":\"MAXSOLS=*number*\",\"type\":\"value\"},{\"name\":\"MAXTIME=\",\"optional\":true,\"description\":\"specifies the maximum amount of time to spend solving the traveling salesman problem. The default is the largest number that can be represented by a double.\",\"help\":\"MAXTIME=*number*\",\"type\":\"value\"},{\"name\":\"MILP=\",\"optional\":true,\"description\":\"specifies whether to use a mixed integer linear programming (MILP) solver to solve the traveling salesman problem (TSP). By default, MILP=TRUE.\",\"help\":\"MILP=TRUE | FALSE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"TRUE\",\"description\":\"uses a mixed integer linear programming\",\"type\":\"standalone\"},{\"name\":\"FALSE\",\"description\":\"does not use a mixed integer linear programming solver\",\"type\":\"standalone\"}]},{\"name\":\"OUT=\",\"optional\":true,\"description\":\"specifies the output data table to contain the solution to the traveling salesman problem.\",\"help\":\"OUT=*libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"RELOBJGAP=\",\"optional\":true,\"aliases\":[\"RELATIVEOBJECTIVEGAP=\"],\"description\":\"specifies a stopping criterion that is based on the best integer objective (BestInteger) and the objective of the best remaining node (BestBound). By default, RELOBJGAP=1E–4.\",\"help\":\"RELOBJGAP=*number*\",\"type\":\"value\"},{\"name\":\"TARGET=\",\"optional\":true,\"description\":\"specifies a stopping criterion for minimization problems. If the best integer objective is less than or equal to number, the solver stops. The default is the largest (in magnitude) negative number that can be represented by a double.\",\"help\":\"TARGET=*number*\",\"type\":\"value\"}]},{\"name\":\"UNLOADGRAPH\",\"description\":\"The UNLOADGRAPH statement deletes the in-memory graph that is specified in the GRAPH= option in the PROC NETWORK statement.\",\"help\":\"UNLOADGRAPH ;    \"},{\"name\":\"VRP\",\"description\":\"The VRP statement invokes an algorithm that solves the vehicle routing problem. The algorithm that is used to solve this problem is built around the same branch-and-cut algorithm that the OPTMILP procedure uses.\",\"help\":\"VRP &lt;*options*&gt;;    \",\"arguments\":[{\"name\":\"ABSOBJGAP=\",\"optional\":true,\"aliases\":[\"ABSOLUTEOBJECTIVEGAP=\"],\"description\":\"specifies a stopping criterion. When the absolute difference between the best integer objective and the objective of the best remaining branch-and-bound node becomes less than the value of number, the solver stops. The default value is 1E–6.\",\"help\":\"ABSOBJGAP=*number*\",\"type\":\"value\"},{\"name\":\"CAPACITY=\",\"optional\":true,\"description\":\"specifies the capacity of each vehicle. The capacity is the maximum amount of goods that a vehicle can pick up from the depot to be delivered to customers.The default is the largest number that can be represented by a double.\",\"help\":\"CAPACITY=*number*\",\"type\":\"value\"},{\"name\":\"CUTOFF=\",\"optional\":true,\"description\":\"cuts off any branch-and-bound nodes in a minimization problem that have an objective value at or above number. The default is the largest number that can be represented by a double..\",\"help\":\"CUTOFF=*number*\",\"type\":\"value\"},{\"name\":\"CUTSTRATEGY=\",\"optional\":true,\"description\":\"specifies the level of mixed integer linear programming cutting planes to be generated. VRP-specific cutting planes are always generated. By default, CUTSTRATEGY=NONE.\",\"help\":\"CUTSTRATEGY=AUTOMATIC | NONE | MODERATE | AGGRESSIVE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"AUTOMATIC\",\"description\":\"generate cutting planes based on a strategy determined by the mixed integer linear programming solver.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"disables the generation of mixed integer linear programming cutting planes (some VRP-specific cutting planes are still active for validity).\",\"type\":\"standalone\"},{\"name\":\"MODERATE\",\"description\":\"uses a moderate cutting strategy.\",\"type\":\"standalone\"},{\"name\":\"AGGRESSIVE\",\"description\":\"uses an aggressive cutting strategy.\",\"type\":\"standalone\"}]},{\"name\":\"DEMAND=\",\"optional\":true,\"description\":\"specifies which data variable in the nodes table defines the demand values. The demand represents a quantity of goods to be delivered to or picked up from a customer.\",\"help\":\"DEMAND=*column*\",\"type\":\"value\"},{\"name\":\"DEPOT=\",\"optional\":true,\"description\":\"specifies the depot node for the vehicle routing problem. The centralized depot is the source of goods to be delivered to customers (nodes). This option is required, because the depot must be specified..\",\"help\":\"DEPOT=*depot-node*\",\"type\":\"value\"},{\"name\":\"HEURISTICS=\",\"optional\":true,\"description\":\"determines the level of heuristics that the algorithm uses. The value AUTOMATIC gives a balanced level of heuristics that is based on the algorithm. By default, HEURISTICS=AUTOMATIC.\",\"help\":\"HEURISTICS=AUTOMATIC | NONE | BASIC | MODERATE | AGGRESSIVE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"AUTOMATIC\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"type\":\"standalone\"},{\"name\":\"BASIC\",\"type\":\"standalone\"},{\"name\":\"MODERATE\",\"type\":\"standalone\"},{\"name\":\"AGGRESSIVE\",\"type\":\"standalone\"}]},{\"name\":\"LOGFREQUENCY=\",\"optional\":true,\"aliases\":[\"LOGFREQ=\"],\"description\":\"specifies the time interval (in seconds) for printing information in the node log, where number can be any integer greater than or equal to 0. By default, LOGFREQ=5.\",\"help\":\"LOGFREQUENCY=*number*\",\"type\":\"value\"},{\"name\":\"MAXNODES=\",\"optional\":true,\"description\":\"specifies the maximum number of branch-and-bound nodes to be processed. The default is the largest number that can be represented by a 32-bit integer.\",\"help\":\"MAXNODES=*number*\",\"type\":\"value\"},{\"name\":\"MAXROUTES=\",\"optional\":true,\"description\":\"specifies the maximum number of routes allowed to service demand. The default is the largest number that can be represented by a 32-bit integer.\",\"help\":\"MAXROUTES=*number*\",\"type\":\"value\"},{\"name\":\"MAXSOLS=\",\"optional\":true,\"description\":\"specifies a stopping criterion. When the number of solutions are found, the procedure stops. The default is the largest number that can be represented by a 32-bit integer.\",\"help\":\"MAXSOLS=*number*\",\"type\":\"value\"},{\"name\":\"MAXTIME=\",\"optional\":true,\"description\":\"specifies the maximum amount of time to spend solving the vehicle routing problem. The default is the largest number that can be represented by a double.\",\"help\":\"MAXTIME=*number*\",\"type\":\"value\"},{\"name\":\"MILP=\",\"optional\":true,\"description\":\"specifies whether to use a mixed integer linear programming (MILP) solver to solve the vehicle routing problem (VRP). The MILP solver attempts to find the overall best VRP solution by using a branch-and-cut algorithm. By default, MILP=TRUE.\",\"help\":\"MILP=TRUE | FALSE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"TRUE\",\"description\":\"uses a mixed-integer linear programming\",\"type\":\"standalone\"},{\"name\":\"FALSE\",\"description\":\"does not use a mixed-integer linear programming solver\",\"type\":\"standalone\"}]},{\"name\":\"MINROUTES=\",\"optional\":true,\"description\":\"specifies the minimum number of routes allowed to service demand. By default, MINROUTES=1..\",\"help\":\"MINROUTES=*number*\",\"type\":\"value\"},{\"name\":\"OUT=\",\"optional\":true,\"description\":\"specifies the output data table to contain the solution to the vehicle routing problem.\",\"help\":\"OUT=*libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"RELOBJGAP=\",\"optional\":true,\"aliases\":[\"RELATIVEOBJECTIVEGAP=\"],\"description\":\"specifies a stopping criterion that is based on the best integer objective (BestInteger) and the objective of the best remaining node (BestBound). By default, RELOBJGAP=1E–4.\",\"help\":\"RELOBJGAP=*number*\",\"type\":\"value\"},{\"name\":\"SERVICETIME=\",\"optional\":true,\"description\":\"specifies which data variable in the nodes table defines the service time of the customers (nodes).\",\"help\":\"SERVICETIME=*column*\",\"type\":\"value\"},{\"name\":\"TARGET=\",\"optional\":true,\"description\":\"specifies a stopping criterion for minimization problems. If the best integer objective is less than or equal to number, the solver stops. The default is the largest (in magnitude) negative number that can be represented by a double.\",\"help\":\"TARGET=*number*\",\"type\":\"value\"},{\"name\":\"TIMEWINDOWLOWER=\",\"optional\":true,\"description\":\"specifies which data variable in the nodes table defines the lower time limits within which a delivery vehicle can arrive at the customer locations (nodes).\",\"help\":\"TIMEWINDOWLOWER=*column*\",\"type\":\"value\"},{\"name\":\"TIMEWINDOWUPPER=\",\"optional\":true,\"description\":\"specifies which data variable in the nodes table defines the upper time limits within which a delivery vehicle can arrive at the customer locations (nodes).\",\"help\":\"TIMEWINDOWUPPER=*column*\",\"type\":\"value\"},{\"name\":\"TRAVELTIME=\",\"optional\":true,\"description\":\"specifies which data variable in the links table defines the travel times of the links.\",\"help\":\"TRAVELTIME=*column*\",\"type\":\"value\"}]}],\"supportSiteInformation\":{\"docsetId\":\"casnopt\",\"docsetVersion\":\"v_013\",\"docsetTargetFile\":\"casnopt_optnet_toc.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/OPTQP.json",
    "content": "{\"name\":\"OPTQP\",\"statements\":[{\"name\":\"PROC OPTQP\",\"description\":\"The OPTQP procedure solves quadratic programs - problems with quadratic objective function and a collection of linear constraints, including lower and/or upper bounds on the decision variables.\",\"help\":\"PROC OPTQP <DATA=SAS-data-set><DUALITYGAP=δ><DUALOUT=SAS-data-set><DUALTOL=β | OPTTOL=β><IIS=FALSE | TRUE><LOGFREQ=k | PRINTFREQ=k><LOGLEVEL=NONE | BASIC | MODERATE... ><MAXITER=k><MAXTIME=k><NTHREADS=k | NUMTHREADS=k><OBJSENSE=MIN | MAX><PRESOLVER=NONE | AUTOMATIC | BASIC... ><PRIMALOUT=SAS-data-set><PRIMALTOL=α | FEASTOL=α><PRINTLEVEL=0 | 1 | 2><SAVE_ONLY_IF_OPTIMAL><STOP_DG=δ><STOP_DI=β><STOP_PI=α><TIMETYPE=CPU | REAL>;     \\n\\tPERFORMANCE <DETAILS><NTHREADS=<<num> | CPUCOUNT>><PARALLELMODE=<DETERMINISTIC|0 | NONDETERMINISTIC|1>> ...;\\n\",\"arguments\":[{\"name\":\"DATA=\",\"optional\":true,\"aliases\":[\"TABLE=\",\"INSTANCE=\"],\"description\":\"Specifies the input SAS data set. This data set can also be created from a QPS-format flat file by using the SAS macro %MPS2SASD. If the DATA= option is not specified, PROC OPTQP uses the most recently created SAS data set.\",\"help\":\"DATA=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"DUALITYGAP=\",\"optional\":true,\"description\":\"Specifies the desired relative duality gap, δ ϵ [1E–9, 1E–4]. This is the relative difference between the primal and dual objective function values and is the primary solution quality parameter.\",\"type\":\"value\"},{\"name\":\"DUALOUT=\",\"optional\":true,\"aliases\":[\"DOUT=\"],\"description\":\"Specifies the output data set containing the dual solution.\",\"help\":\"DUALOUT=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"DUALTOL=\",\"optional\":true,\"aliases\":[\"OPTOL=\"],\"description\":\"Specifies the maximum relative dual constraints violation, β ϵ [1E–9, 1E–4].\",\"type\":\"value\"},{\"name\":\"IIS=\",\"optional\":true,\"description\":\"Specifies whether to attempt to identify a set of constraints and variables that form an irreducible infeasible set (IIS).\",\"help\":\"IIS=FALSE | TRUE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"FALSE\",\"description\":\"Disables IIS detection.\",\"type\":\"standalone\"},{\"name\":\"TRUE\",\"description\":\"Enables IIS detection.\",\"type\":\"standalone\"}]},{\"name\":\"LOGFREQ=\",\"optional\":true,\"aliases\":[\"PRINTFREQ=\"],\"description\":\"Specifies that the printing of the solution progress to the iteration log should occur after every k iterations. The print frequency, k, is an integer between zero and the largest four-byte, signed integer, which is 2³¹ - 1. The value k = 0 disables the printing of the progress of the solution. The default value of this option is 1.\",\"type\":\"value\"},{\"name\":\"LOGLEVEL=\",\"optional\":true,\"aliases\":[\"PRINTLEVEL2=\"],\"description\":\"Controls the amount of information that is displayed in the SAS log.\",\"help\":\"LOGLEVEL=NONE | BASIC | MODERATE | AGGRESSIVE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NONE\",\"description\":\"Turns off all solver-related messages in SAS log.\",\"type\":\"standalone\"},{\"name\":\"BASIC\",\"description\":\"Displays a solver summary after stopping.\",\"type\":\"standalone\"},{\"name\":\"MODERATE\",\"description\":\"Prints a solver summary and an iteration log by using the interval dictated by the LOGFREQ= option.\",\"type\":\"standalone\"},{\"name\":\"AGGRESSIVE\",\"description\":\"Prints a detailed solver summary and an iteration log by using the interval dictated by the LOGFREQ= option.\",\"type\":\"standalone\"}]},{\"name\":\"MAXITER=\",\"optional\":true,\"description\":\"Specifies the maximum number of predictor-corrector iterations performed by the interior point algorithm. The value k is an integer between 1 and the largest four-byte, signed integer, which is 2³¹ - 1. If you do not specify this option, the procedure does not stop based on the number of iterations performed.\",\"help\":\"MAXITER=*k*\",\"type\":\"value\"},{\"name\":\"MAXTIME=\",\"optional\":true,\"description\":\"Specifies an upper limit of t seconds of time for reading in the data and performing the optimization process. The value of the TIMETYPE= option determines the type of units used. If you do not specify this option, the procedure does not stop based on the amount of time elapsed. The value of t can be any positive number; the default value is the positive number that has the largest absolute value that can be represented in your operating environment.\",\"help\":\"MAXTIME=*k*\",\"type\":\"value\"},{\"name\":\"NTHREADS=\",\"optional\":true,\"aliases\":[\"NUMTHREADS=\"],\"description\":\"Specifies the number of threads that PROC OPTQP can use, where k can be any integer between 1 and 256, inclusive. This option overrides the THREADS | NOTHREADS SAS system option. The default value of this option is the value of the CPUCOUNT= SAS system option.\",\"type\":\"value\"},{\"name\":\"OBJSENSE=\",\"optional\":true,\"description\":\"Specifies whether the QP model is a minimization or a maximization problem. You specify OBJSENSE= MIN for a minimization problem and OBJSENSE=MAX for a maximization problem. Alternatively, you can specify the objective sense in the input data set. If the objective sense is specified differently in these two places, this option supersedes the objective sense specified in the input data set. If the objective sense is not specified anywhere, then PROC OPTQP interprets and solves the quadratic program as a minimization problem.\",\"help\":\"OBJSENSE=MIN | MAX*option*\",\"type\":\"value\",\"arguments\":[{\"name\":\"MIN\",\"description\":\"For a minimization problem.\",\"type\":\"standalone\"},{\"name\":\"MAX\",\"description\":\"For a maximization problem.\",\"type\":\"standalone\"}]},{\"name\":\"PRESOLVER=\",\"optional\":true,\"aliases\":[\"PRESOL=\"],\"description\":\"Specifies a presolve option.\",\"help\":\"PRESOLVER=NONE | AUTOMATIC | BASIC | MODERATE | AGGRESSIVE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NONE\",\"description\":\"Disables the presolver.\",\"type\":\"standalone\"},{\"name\":\"AUTOMATIC\",\"description\":\"Applies the presolver by using default setting.\",\"type\":\"standalone\"},{\"name\":\"BASIC\",\"description\":\"Applies the basic presolver.\",\"type\":\"standalone\"},{\"name\":\"MODERATE\",\"description\":\"Applies the moderate presolver.\",\"type\":\"standalone\"},{\"name\":\"AGGRESSIVE\",\"description\":\"Applies the aggressive presolver.\",\"type\":\"standalone\"}]},{\"name\":\"PRIMALOUT=\",\"optional\":true,\"aliases\":[\"POUT=\"],\"description\":\"Specifies the output data set containing the primal solution.\",\"help\":\"PRIMALOUT=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"PRIMALTOL=\",\"optional\":true,\"aliases\":[\"FEASTOL=\"],\"description\":\"Specifies the maximum relative bound and primal constraints violation, α ϵ [1E–9, 1E–4].\",\"type\":\"value\"},{\"name\":\"PRINTLEVEL=\",\"optional\":true,\"description\":\"Specifies whether a summary of the problem and solution should be printed.\",\"help\":\"PRINTLEVEL=0 | 1 | 2\",\"type\":\"choice\",\"arguments\":[{\"name\":\"0\",\"description\":\"Does not produce or print any ODS tables.\",\"type\":\"standalone\"},{\"name\":\"1\",\"description\":\"Produces and prints the following ODS tables: ProblemSummary, SolutionSummary, and optional OutputCasTables.\",\"type\":\"standalone\"},{\"name\":\"2\",\"description\":\"Produces and prints the following ODS tables: ProblemSummary, SolutionSummary, ProblemStatistics, Timing, and optional OutputCasTables.\",\"type\":\"standalone\"}]},{\"name\":\"SAVE_ONLY_IF_OPTIMAL\",\"optional\":true,\"description\":\"Specifies that the PRIMALOUT= and DUALOUT= data sets be saved only if the final solution obtained by the solver at termination is optimal. If the PRIMALOUT= or DUALOUT= option is specified, and this option is not specified, then the output data sets will only contain solution values at optimality. If the SAVE_ONLY_IF_OPTIMAL option is not specified, the output data sets will not contain an intermediate solution.\",\"type\":\"standalone\"},{\"name\":\"STOP_DG=\",\"optional\":true,\"description\":\"Specifies the desired relative duality gap, δ Є[1E–9, 1E–4]. This is the relative difference between the primal and dual objective function values and is the primary solution quality parameter. The default value is 1E–6.\",\"type\":\"value\"},{\"name\":\"STOP_DI=\",\"optional\":true,\"description\":\"Specifies the maximum allowed relative dual constraints violation, β Є[1E–9, 1E–4]. The default value is 1E–6.\",\"type\":\"value\"},{\"name\":\"STOP_PI=\",\"optional\":true,\"description\":\"Specifies the maximum allowed relative bound and primal constraints violation, α Є[1E–9, 1E–4]. The default value is 1E–6.\",\"type\":\"value\"},{\"name\":\"TIMETYPE=\",\"optional\":true,\"description\":\"Specifies whether CPU time or real time is used for the MAXTIME= option and the _OROPTQP_ macro variable in a PROC OPTQP call.\",\"help\":\"TIMETYPE=CPU | REAL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"CPU\",\"description\":\"Specifies that units are in CPU time.\",\"type\":\"standalone\"},{\"name\":\"REAL\",\"description\":\"Specifies that units are in real time.\",\"type\":\"standalone\"}]}]},{\"name\":\"PERFORMANCE\",\"description\":\"The PERFORMANCE statement defines performance parameters for multithreaded and distributed computing, passes variables about the distributed computing environment, and requests detailed results about the performance characteristics of a High-Performance Analytics procedure. With the PERFORMANCE statement, you can also control whether the HPNLIN procedure executes in SMP or MPP mode.\",\"help\":\"PERFORMANCE &lt;DETAILS&gt;&lt;NTHREADS=&lt;&lt;num&gt; | CPUCOUNT&gt;&gt;&lt;PARALLELMODE=&lt;DETERMINISTIC|0 | NONDETERMINISTIC|1&gt;&gt; ...\",\"arguments\":[{\"name\":\"DETAILS\",\"optional\":true,\"description\":\"Requests that the procedure produce the Timing ODS table. This table shows a breakdown of the time used in each step of the procedure.\",\"type\":\"standalone\"},{\"name\":\"NTHREADS=\",\"optional\":true,\"description\":\"Specifies the number of threads that a procedure can use. It overrides the SAS system option THREADS | NOTHREADS. The value of number can be any integer between 1 and 256 inclusive. The default value is CPUCOUNT, which sets the thread count to the number that is determined by the SAS system option CPUCOUNT=.\",\"help\":\"NTHREADS=&lt;*num*&gt; | CPUCOUNT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"num\",\"placeholder\":true,\"description\":\"Replace <num> with an actual number. The value of number can be any integer between 1 and 256 inclusive. The default value is CPUCOUNT, which sets the thread count to the number that is determined by the SAS system option CPUCOUNT=.\",\"type\":\"value\"},{\"name\":\"CPUCOUNT\",\"description\":\"The default value is CPUCOUNT, which sets the thread count to the number that is determined by the SAS system option CPUCOUNT=\",\"type\":\"standalone\"}]},{\"name\":\"PARALLELMODE=\",\"optional\":true,\"description\":\"Specifies the parallel processing mode. This mode determines the solution results that are obtained from running the same model with the same option values on the same platform multiple times.\",\"help\":\"PARALLELMODE=DETERMINISTIC | NONDETERMINISTIC\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DETERMINISTIC\",\"aliases\":[\"0\"],\"description\":\"Requires algorithms to produce the same results every time.\",\"type\":\"standalone\"},{\"name\":\"NONDETERMINISTIC\",\"aliases\":[\"1\"],\"description\":\"Permits algorithms to produce different solution results. This mode requires less synchronization and might attain better performance than DETERMINISTIC mode.\",\"type\":\"standalone\"}]}]}],\"supportSiteInformation\":{\"docsetId\":\"casmopt\",\"docsetVersion\":\"latest\",\"docsetTargetFile\":\"casmopt_optqp_toc.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/OPTSAVE.json",
    "content": "{\"name\":\"OPTSAVE\",\"statements\":[{\"name\":\"PROC OPTSAVE\",\"description\":\"Saves the current SAS system option settings in the SAS registry or in a SAS data set.\",\"help\":\"PROC OPTSAVE &lt;*options*&gt;;\",\"arguments\":[{\"name\":\"KEY=\",\"optional\":true,\"description\":\"Save SAS system option settings to a registry key.\",\"help\":\"KEY=\\\"*SAS registry key*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1eb2imd8fvg2jn1gygeamhszvcv\"},{\"name\":\"OUT=\",\"optional\":true,\"description\":\"Save SAS system option settings to a SAS data set.\",\"help\":\"OUT=*libref.dataset*\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"n1jzruyimjcqzen1ki6vs1zbmh5d\"}],\"supportSiteTargetFile\":\"n0qx6so0ctrt1vn16jmiaxznhx7z.htm\"}],\"supportSiteInformation\":{\"docsetId\":\"lesysoptsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n0rmbvyiga95zcn1mrmt10xkrobu.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/ORTHOREG.json",
    "content": "{\"name\":\"ORTHOREG\",\"statements\":[{\"name\":\"PROC ORTHOREG\",\"description\":\"The ORTHOREG procedure fits general linear models by the method of least squares. Other SAS/STAT software procedures, such as GLM and REG, fit the same types of models, but PROC ORTHOREG can produce more accurate estimates than other regression procedures when your data are ill conditioned. Instead of collecting crossproducts, PROC ORTHOREG uses Gentleman-Givens transformations to update and compute the upper triangular matrix R of the QR decomposition of the data matrix, with special care for scaling (Gentleman; 1972, 1973). This method has the advantage over other orthogonalization methods (for example, Householder transformations) of not requiring the data matrix to be stored in memory.\",\"help\":\"PROC ORTHOREG <DATA=SAS-data-set><NOPRINT><ORDER=DATA | FORMATTED | FREQ... ><OUTEST=SAS-data-set><SINGULAR=s>;     \\n\\tBY <DESCENDING><NOTSORTED> ;\\n\\n\\tCLASS <TRUNCATE> ;\\n\\n\\tEFFECT EFFECT-NAME=COLLECTION|LAG|MULTIMEMBER|MM...  <PERIOD=variable><WITHIN=(variables) | WITHIN=variable> ...;\\n\\n\\tEFFECTPLOT BOX CONTOUR FIT ...;\\n\\n\\tESTIMATE <ADJDFE=<SOURCE | ROW>><ADJUST=<BON | SCHEFFE | SIDAK>... ><ALPHA=number> ...;\\n\\n\\tLSMEANS <ADJDFE=<SOURCE | ROW>><ADJUST=<BON | DUNNETT | NELSON>... ><ALPHA=number> ...;\\n\\n\\tLSMESTIMATE <ADJDFE=<SOURCE | ROW>><ADJUST=<BON | SCHEFFE | SIDAK>... ><ALPHA=number> ...;\\n\\n\\tMODEL <NOINT> ;\\n\\n\\tSLICE <ADJDFE=<SOURCE | ROW>><ADJUST=<BON | DUNNETT | NELSON>... ><ALPHA=number> ...;\\n\\n\\tSTORE <LABEL='label'> ;\\n\\n\\tTEST <CHISQ><DDF=value-list><E> ...;\\n\\n\\tWEIGHT variable ;\\n\",\"arguments\":[{\"name\":\"DATA=\",\"optional\":true,\"description\":\"Specifies the input SAS data set to use. By default, the procedure uses the most recently created SAS data set.\",\"help\":\"DATA=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"NOPRINT\",\"optional\":true,\"description\":\"Suppresses the normal display of results. Note that this option temporarily disables the Output Delivery System (ODS).\",\"type\":\"standalone\"},{\"name\":\"ORDER=\",\"optional\":true,\"description\":\"Specifies the order in which to sort the levels of the classification variables (which are specified in the CLASS statement).\",\"help\":\"ORDER=DATA | FORMATTED | FREQ | INTERNAL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DATA\",\"description\":\"Levels sorted by the order of appearance in the input data set.\",\"type\":\"standalone\"},{\"name\":\"FORMATTED\",\"description\":\"Levels sorted by the external formatted value, except for numeric variables with no explicit format, which are sorted by their unformatted (internal) value.\",\"type\":\"standalone\"},{\"name\":\"FREQ\",\"description\":\"Levels sorted by the descending frequency count; levels with the most observations come first in the order.\",\"type\":\"standalone\"},{\"name\":\"INTERNAL\",\"description\":\"Levels sorted by the unformatted value.\",\"type\":\"standalone\"}]},{\"name\":\"OUTEST=\",\"optional\":true,\"description\":\"Produces an output data set containing the parameter estimates, the BY variables, and the special variables _TYPE_ (value \\\"PARMS\\\"), _NAME_ (blank), and _RMSE_ (root mean squared error).\",\"help\":\"OUTEST=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"SINGULAR=\",\"optional\":true,\"description\":\"Specifies a singularity criterion (s ≥ 0) for the inversion of the triangular matrix R. By default, SINGULAR=10E-12.\",\"help\":\"SINGULAR=*s*\",\"type\":\"value\"}]},{\"name\":\"BY\",\"description\":\"You can specify a BY statement with PROC ORTHOREG to obtain separate analyses on observations in groups that are defined by the BY variables. When a BY statement appears, the procedure expects the input data set to be sorted in order of the BY variables. If you specify more than one BY statement, only the last one specified is used.\",\"help\":\"BY &lt;DESCENDING&gt;&lt;NOTSORTED&gt;\",\"arguments\":[{\"name\":\"DESCENDING\",\"optional\":true,\"description\":\"Specifies that the observations are sorted in descending order by the variable that immediately follows the word DESCENDING in the BY statement.\",\"type\":\"standalone\"},{\"name\":\"NOTSORTED\",\"optional\":true,\"description\":\"Specifies that observations are not necessarily sorted in alphabetic or numeric order.\",\"type\":\"standalone\"}]},{\"name\":\"CLASS\",\"description\":\"The CLASS statement names the classification variables to be used in the model. Typical classification variables are Treatment, Sex, Race, Group, and Replication. If you use the CLASS statement, it must appear before the MODEL statement.\",\"help\":\"CLASS &lt;TRUNCATE&gt;\",\"arguments\":[{\"name\":\"TRUNCATE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies that class levels should be determined by using only up to the first 16 characters of the formatted values of CLASS variables.\",\"type\":\"standalone\"}]},{\"name\":\"EFFECT\",\"description\":\"The name of the effect is specified after the EFFECT keyword. This name can appear in only one EFFECT statement and cannot be the name of a variable in the input data set. The effect-type is specified after an equal sign, followed by a list of variables within parentheses which are used in constructing the effect. Effect-options that are specific to an effect-type can be specified after a slash (/) following the variable list. The EFFECT statement enables you to construct special collections of columns for design matrices. These collections are referred to as constructed effects to distinguish them from the usual model effects formed from continuous or classification variables.\",\"help\":\"EFFECT EFFECT-NAME=COLLECTION|LAG|MULTIMEMBER|MM...  &lt;PERIOD=variable&gt;&lt;WITHIN=(variables) | WITHIN=variable&gt; ...\",\"arguments\":[{\"name\":\"EFFECT-NAME=\",\"placeholder\":true,\"description\":\"Replace 'EFFECT-NAME' with the name of the effect, specified after the EFFECT keyword. This name can appear in only one EFFECT statement and cannot be the name of a variable in the input data set. These values can be used: COLLECTION, LAG, MULTIMEMBER, POLYNOMIAL, or SPLINE.\",\"type\":\"value\"},{\"name\":\"BASIS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"[For the SPLINE effect-type only] Specifies a basis for the spline expansion.\",\"help\":\"BASIS=BSPLINE | TPF\",\"type\":\"choice\",\"arguments\":[{\"name\":\"BSPLINE\",\"followsDelimiter\":\"/\",\"description\":\"Specifies a B-spline basis for the spline expansion.\",\"type\":\"standalone\"},{\"name\":\"TPF\",\"followsDelimiter\":\"/\",\"description\":\"Syntax: TPF(options) Specifies a truncated power function basis for the spline expansion. You can modify the number of columns when you request BASIS=TPF with the following options: NOINT excludes the intercept column. NOPOWERS excludes the intercept and polynomial columns.\",\"type\":\"standalone\"}]},{\"name\":\"DATABOUNDARY\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"[For the SPLINE effect-type only] Specifies that the extremes of the data be used as boundary knots when building a B-spline basis.\",\"type\":\"standalone\"},{\"name\":\"DEGREE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"\",\"help\":\"DEGREE=*n*\",\"type\":\"value\"},{\"name\":\"DESIGNROLE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"\",\"help\":\"DESIGNROLE=*variable*\",\"type\":\"value\"},{\"name\":\"DETAILS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"[For the LAG | COLLECTION | MULTIMEMBER | POLYNOMIAL |SPLINE effect-type] Requests a table that shows the (1) lag design matrix of the lag effect, or (2) constituents of the collection effect, or (3) levels of the multimember effect, or (4) details of the specified polynomial, or (5) knot locations and the knots associated with each spline basis function.\",\"type\":\"standalone\"},{\"name\":\"KNOTMAX=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"\",\"help\":\"KNOTMAX=*value*\",\"type\":\"value\"},{\"name\":\"KNOTMETHOD=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"[For the SPLINE effect-type only] Specifies how to construct the knots for spline effects.\",\"help\":\"KNOTMETHOD=EQUAL | LIST | LISTWITHBOUNDARY | MULTISCALE | PERCENTILES | RANGEFRACTIONS\",\"type\":\"choice\",\"arguments\":[{\"name\":\"EQUAL\",\"followsDelimiter\":\"/\",\"description\":\"Syntax: EQUAL<(n)> Specifies that n equally spaced knots be positioned between the extremes of the data. The default is n=3. For a B-spline basis, any needed boundary knots continue to be equally spaced unless the DATABOUNDARY option has also been specified. KNOTMETHOD=EQUAL is the default if no knot-method is specified.\",\"type\":\"standalone\"},{\"name\":\"LIST\",\"followsDelimiter\":\"/\",\"description\":\"Syntax: LIST(number-list) Specifies the list of internal knots to be used in forming the spline basis columns. For a B-spline basis, the data extremes are used as boundary knots.\",\"type\":\"standalone\"},{\"name\":\"LISTWITHBOUNDARY\",\"followsDelimiter\":\"/\",\"description\":\"Syntax: LISTWITHBOUNDARY(number-list) Specifies the list of all knots that are used in forming the spline basis columns.\",\"type\":\"standalone\"},{\"name\":\"MULTISCALE\",\"followsDelimiter\":\"/\",\"description\":\"Syntax: MULTISCALE<(multiscale-options)> Specifies that multiple B-spline bases be generated, corresponding to sets with an increasing number of internal knots. You can control which scales are included with the following multiscale-options: STARTSCALE=n specifies the start scale, where n is a positive integer. The default is STARTSCALE=0. ENDSCALE=n specifies the end scale, where n is a positive integer. The default is ENDSCALE=7.\",\"type\":\"standalone\"},{\"name\":\"PERCENTILES\",\"followsDelimiter\":\"/\",\"description\":\"Syntax: PERCENTILES(n) Requests that internal knots be placed at n equally spaced percentiles of the variable or variables named in the EFFECT statement.\",\"type\":\"standalone\"},{\"name\":\"RANGEFRACTIONS\",\"followsDelimiter\":\"/\",\"description\":\"Syntax: RANGEFRACTIONS(fraction-list) Requests that internal knots be placed at each fraction of the ranges of the variables in the EFFECT statement.\",\"type\":\"standalone\"}]},{\"name\":\"KNOTMIN=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"\",\"help\":\"KNOTMIN=*value*\",\"type\":\"value\"},{\"name\":\"LABELSTYLE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"\",\"help\":\"LABELSTYLE=EXPAND | EXPONENT | INCLUDENAME | PRODUCTSYMBOL=\",\"type\":\"choice\",\"arguments\":[{\"name\":\"EXPAND\",\"followsDelimiter\":\"/\",\"description\":\"Specifies that each variable with an exponent greater than 1 be written as products of that variable.\",\"type\":\"standalone\"},{\"name\":\"EXPONENT\",\"followsDelimiter\":\"/\",\"description\":\"Syntax: EXPONENT <=quoted string> Specifies that each variable with an exponent greater than 1 be written using exponential notation. By default, the symbol ^ is used as the exponentiation operator. If you supply the optional quoted string after an equal sign, then that string is used as the exponentiation operator.\",\"type\":\"standalone\"},{\"name\":\"INCLUDENAME\",\"followsDelimiter\":\"/\",\"description\":\"Specifies that the name of the effect followed by an underscore be used as a prefix for term labels.\",\"type\":\"standalone\"},{\"name\":\"PRODUCTSYMBOL=\",\"followsDelimiter\":\"/\",\"description\":\"Syntax: PRODUCTSYMBOL=NONE | quoted string Specifies that the supplied string be used as the product symbol.\",\"type\":\"value\"}]},{\"name\":\"MDEGREE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"\",\"help\":\"MDEGREE=*n*\",\"type\":\"value\"},{\"name\":\"NLAG=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"\",\"type\":\"value\"},{\"name\":\"NOEFFECT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"[For the MULTIMEMBER effect-type only] Specifies that, for observations with all missing levels of the multimember variables, the values in the corresponding design matrix columns be set to zero.\",\"type\":\"standalone\"},{\"name\":\"NOSEPARATE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"[For the POLYNOMIAL effect-type only] Specifies that the polynomial be treated as a single effect with multiple degrees of freedom. The effect name that you specify is used as the constructed effect name, and the labels of the terms are used as labels of the corresponding parameters.\",\"type\":\"standalone\"},{\"name\":\"PERIOD=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the period variable of the LAG design. The number of periods is the number of unique formatted values of the PERIOD= variable, and the ordering of the period is formed by sorting these formatted values in ascending order. You must specify a PERIOD= variable.\",\"help\":\"PERIOD=*variable*\",\"type\":\"value\"},{\"name\":\"SEPARATE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"[For the SPLINE effect-type only] Specifies that when multiple variables are specified in the EFFECT statement, the spline basis for each variable be treated as a separate effect. The names of these separated effects are formed by appending an underscore followed by the name of the variable to the name that you specify in the EFFECT statement.\",\"type\":\"standalone\"},{\"name\":\"SPLIT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"[For the SPLINE effect-type only] Specifies that each individual column in the design matrix that corresponds to the spline effect be treated as a separate effect that can enter or leave the model independently. Names for these split effects are generated by appending the variable name and an index for each column to the name that you specify in the EFFECT statement.\",\"type\":\"standalone\"},{\"name\":\"STANDARDIZE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies that the variables that define the polynomial be standardized. By default, the standardized variables receive prefix \\\"s_\\\" in the variable names. You can use the following centerscale-opts to specify how the center and scale are estimated: METHOD=MOMENTS specifies that the center be estimated by the variable mean and the scale be estimated by the standard deviation. METHOD=RANGE specifies that the center be estimated by the midpoint of the variable range and the scale be estimated as half the variable range. METHOD=WMOMENTS is the same as METHOD=MOMENTS except that weighted means and weighted standard deviations are used.\",\"help\":\"STANDARDIZECENTER | CENTERSCALE | NONE | SCALE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"CENTER\",\"followsDelimiter\":\"/\",\"description\":\"Specifies that variables be centered but not scaled.\",\"type\":\"standalone\"},{\"name\":\"CENTERSCALE\",\"followsDelimiter\":\"/\",\"description\":\"Specifies that variables be centered and scaled. This is the default if you do not specify a standardization-opt.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"followsDelimiter\":\"/\",\"description\":\"Specifies that no standardization be performed.\",\"type\":\"standalone\"},{\"name\":\"SCALE\",\"followsDelimiter\":\"/\",\"description\":\"Specifies that variables be scaled but not centered.\",\"type\":\"standalone\"}]},{\"name\":\"STDIZE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"[For the MULTIMEMBER effect-type only] Specifies that for each observation, the entries in the design matrix that corresponds to the multimember effect be scaled to have a sum of one.\",\"type\":\"standalone\"},{\"name\":\"WEIGHT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"\",\"help\":\"WEIGHT=*wght-list*\",\"type\":\"value\"},{\"name\":\"WITHIN=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"\",\"type\":\"value\"}]},{\"name\":\"EFFECTPLOT\",\"description\":\"The EFFECTPLOT statement produces a display of the fitted model and provides options for changing and enhancing the displays.\",\"help\":\"EFFECTPLOT BOX CONTOUR FIT ...\",\"arguments\":[{\"name\":\"BOX=\",\"description\":\"Displays a box plot of continuous response data at each level of a CLASS effect, with predicted values superimposed and connected by a line. This is an alternative to the INTERACTION plot-type.\",\"help\":\"BOX=PLOTBY= | X=\",\"type\":\"choice\",\"arguments\":[{\"name\":\"PLOTBY=\",\"type\":\"value\"},{\"name\":\"X=\",\"type\":\"value\"}]},{\"name\":\"CONTOUR=\",\"description\":\"Displays a contour plot of predicted values against two continuous covariates.\",\"help\":\"CONTOUR=PLOTBY= | X= | Y=\",\"type\":\"choice\",\"arguments\":[{\"name\":\"PLOTBY=\",\"type\":\"value\"},{\"name\":\"X=\",\"type\":\"value\"},{\"name\":\"Y=\",\"type\":\"value\"}]},{\"name\":\"FIT=\",\"description\":\"Displays a curve of predicted values versus a continuous variable.\",\"help\":\"FIT=PLOTBY= | X=\",\"type\":\"choice\",\"arguments\":[{\"name\":\"PLOTBY=\",\"type\":\"value\"},{\"name\":\"X=\",\"type\":\"value\"}]},{\"name\":\"INTERACTION=\",\"description\":\"Displays a curve of predicted values versus a continuous variable grouped by the levels of a CLASS effect.\",\"help\":\"INTERACTION=PLOTBY= | SLICEBY= | X=\",\"type\":\"choice\",\"arguments\":[{\"name\":\"PLOTBY=\",\"type\":\"value\"},{\"name\":\"SLICEBY=\",\"type\":\"value\"},{\"name\":\"X=\",\"type\":\"value\"}]},{\"name\":\"SLICEFIT=\",\"description\":\"\",\"help\":\"SLICEFIT=PLOTBY= | SLICEBY= | X=\",\"type\":\"choice\",\"arguments\":[{\"name\":\"PLOTBY=\",\"type\":\"value\"},{\"name\":\"SLICEBY=\",\"type\":\"value\"},{\"name\":\"X=\",\"type\":\"value\"}]},{\"name\":\"ALPHA=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the significance level, 0 ≥ value ≥ 1, for producing 100(1-value/2)% prediction and confidence limits. By default, value=0.05.\",\"help\":\"ALPHA=*value*\",\"type\":\"value\"},{\"name\":\"AT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"where contopt= MEAN | MIN | MAX | MIDRANGE classopt= ALL | REF varopt= contopts | number-list | classopts | ’class-level’...’class-level’]\",\"type\":\"standalone\"},{\"name\":\"ATLEN=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the maximum length (1 < n < 256) of the levels of the AT variables that are displayed in footnotes and headers. By default, up to 256 characters of the CLASS levels are displayed, and the continuous AT levels are displayed with a BEST format that has a width greater than or equal to 5, which distinguishes each level. Caution:If the levels of your AT variables are not unique when the first n characters are displayed, then the levels are combined in the plots but not in the underlying computations. Also, at most n characters for continuous AT variables are displayed.\",\"help\":\"ATLEN=*n*\",\"type\":\"value\"},{\"name\":\"ATORDER=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Uses the AT values for continuous variables in ascending or descending order as specified. By default, values are used in the order of their first appearance in the AT option.\",\"help\":\"ATORDER=ASCENDING | DESCENDING\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ASCENDING\",\"followsDelimiter\":\"/\",\"description\":\"Uses the AT values for continuous variables in ascending order\",\"type\":\"standalone\"},{\"name\":\"DESCENDING\",\"followsDelimiter\":\"/\",\"description\":\"Uses the AT values for continuous variables in descending order\",\"type\":\"standalone\"}]},{\"name\":\"CLI\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays normal (Wald) prediction limits. This option is available only for normal distributions with identity links. If your model is from a Bayesian analysis, then sampling-based intervals are computed.\",\"type\":\"standalone\"},{\"name\":\"CLM\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays confidence limits. These are computed as the normal (Wald) confidence limits for the linear predictor, and if the ILINK option is specified, the limits are also back-transformed by the inverse link function. If your model is from a Bayesian analysis, then sampling-based intervals are computed.\",\"type\":\"standalone\"},{\"name\":\"CLUSTER\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Modifies the BOX and INTERACTION plot-types by displaying the levels of the SLICEBY= effect in a side-by-side fashion. You can specify percent as a percentage of half the distance between X levels. The percent value must be between 0.1 and 1; the default percent depends on the number of X levels, the number of SLICEBY levels, and the number of PLOTBY levels for INTERACTION plot-types. Default clustering can be removed by specifying the NOCLUSTER option.\",\"type\":\"standalone\"},{\"name\":\"CONNECT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Modifies the BOX and INTERACTION plot-types by connecting the predicted values with a line. Default connecting lines can be removed by specifying the NOCONNECT option.\",\"type\":\"standalone\"},{\"name\":\"EXTEND=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Extends continuous covariate axes by value x ½range in both directions, where range is the range of the X axis.\",\"help\":\"EXTEND=DATA | &lt;*value*&gt;\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DATA\",\"followsDelimiter\":\"/\",\"description\":\"Displays curves to the range of the data within the appropriate SLICEBY=, PLOTBY=, and AT level.\",\"type\":\"standalone\"},{\"name\":\"value\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"Replace <value> with an actual value.\",\"type\":\"value\"}]},{\"name\":\"GRIDSIZE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the resolution of curves by computing the predicted values at n equally spaced x-values and specifies the resolution of surfaces by computing the predicted values on an nxn grid of points. Default values are n=200 for curves and bands, n=50 for surfaces, and n=2 for lines. If results of a Bayesian or bootstrap analysis are being displayed, then the defaults are n=500000/B, where B is the number of samples, the upper limit is equal to the usual defaults, and the lower limit equal to 20.\",\"help\":\"GRIDSIZE=*n*\",\"type\":\"value\"},{\"name\":\"ILINK\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays the fit on the scale of the inverse link function. In particular, the results are displayed on the probability scale for logistic regression. By default, a procedure displays the fit on either the link or inverse link scale.\",\"type\":\"standalone\"},{\"name\":\"INDIVIDUAL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays individual probabilities for polytomous response models with cumulative links on the scale of the inverse link function. This option is not available when the LINK option is specified, and confidence limits are not available with this option.\",\"type\":\"standalone\"},{\"name\":\"LIMITS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Invokes the CLI and CLM options.\",\"type\":\"standalone\"},{\"name\":\"LINK\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays the fit on the scale of the link function; that is, the linear predictor. Note that probabilities or observed proportions near 0 and 1 are transformed to . By default, a procedure displays the fit on either the link or inverse link scale.\",\"type\":\"standalone\"},{\"name\":\"MOFF\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Moves the offset for a Poisson regression model to the response side of the equation. If the ILINK option is also in effect, then the rate is displayed on the Y axis, while the LINK option displays the log of the rate on the Y axis. Without this option, the predicted values are computed and displayed only for the observations.\",\"type\":\"standalone\"},{\"name\":\"NCOLS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the maximum number of columns in a paneled plot. This option is not available with the BOX plot-type. The default choice of NROWS= and NCOLS= is based on the number of PLOTBY= and AT levels. If there is only one plot being displayed in a panel, then NROWS=1 and NCOLS=1 and the plots are produced as if you specified only the UNPACK option. If only two plots are displayed in a panel, then NROWS=1 and NCOLS=2. For all other cases, a 2x2, 2x3, or 3x3 panel is chosen based on how much of the last panel is used, with ties going to the larger panels. For example, if 14 plots are being created, then this requires either four 2x2 panels with 50% of the last panel filled, three 2x3 panels with 33% of the last panel filled, or two 3x3 panels with 55% of the last panel filled; in this case, the 3x3 panels are chosen.\",\"help\":\"NCOLS=*n*\",\"type\":\"value\"},{\"name\":\"NOCLI\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Suppresses the prediction limits.\",\"type\":\"standalone\"},{\"name\":\"NOCLM\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Suppresses the confidence limits.\",\"type\":\"standalone\"},{\"name\":\"NOLIMITS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Invokes the NOCLI and NOCLM options.\",\"type\":\"standalone\"},{\"name\":\"NOOBS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Suppresses the display of observations and overrides the specification of the OBS= option.\",\"type\":\"standalone\"},{\"name\":\"NROWS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the maximum number of rows in a paneled plot. This option is not available with the BOX plot-type. See the NCOLS= option for more details.\",\"help\":\"NROWS=*n*\",\"type\":\"value\"},{\"name\":\"OBS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays observations on the effect plots. An input data set is required; hence the OBS option is not available with PROC PLM. The OBS option is overridden by the NOOBS option. When the ILINK option is specified with binary response variables, then either the observed proportions or a coded value of the response is displayed. For polytomous response variables, the observed values are overlaid onto the fitted curves unless the LOCATION= option is specified. Whether observations are displayed by default or not depends upon the procedure. If the PLOTBY= option is specified, then the observations displayed on each plot are from the corresponding PLOTBY= level for classification effects; for continuous effects, all observations are displayed on every plot. The following options are available: BYAT -- subsets the observations by AT level and by the PLOTBY= level. CDISPLAY=NONE | OUTLINE | GRADIENT | OUTLINEGRADIENT controls the display of observations on contour plots. CGRADIENT=RESIDUAL | DEPENDENT specifies what the gradient-shading of the observed values on the CONTOUR plot-type represents. DEPTH=depth (you can specify 1 ≤ depth ≤ 100. By default, DEPTH=1) specifies the number of overlapping observations that can be distinguished by adjusting their transparency. DISTANCE displays observations on FIT plot-types with a color-gradient that indicates how far the observation is from the AT and PLOTBY= level. FITATCLASS -- computes fitted values only for class levels that are observed in the data set. FRINGE -- displays observations in a fringe (rug) plot at the bottom of the plot. JITTER<(FACTOR=factor SEED=seed X=x-jitter Y=y-jitter)> -- shifts (jitters) the observations. LABEL<=OBS> -- labels markers with their observation number.\",\"help\":\"OBS=BYAT | CDISPLAY= | CGRADIENT= | DEPTH= | DISTANCE | FITATCLASS | FRINGE | JITTER | FACTOR= | SEED= | X= | Y= | LABEL | LABEL= | LOCATION=\",\"type\":\"choice\",\"arguments\":[{\"name\":\"BYAT\",\"type\":\"standalone\"},{\"name\":\"CDISPLAY=\",\"type\":\"value\"},{\"name\":\"CGRADIENT=\",\"type\":\"value\"},{\"name\":\"DEPTH=\",\"type\":\"value\"},{\"name\":\"DISTANCE\",\"type\":\"standalone\"},{\"name\":\"FITATCLASS\",\"type\":\"standalone\"},{\"name\":\"FRINGE\",\"type\":\"standalone\"},{\"name\":\"JITTER\",\"type\":\"standalone\"},{\"name\":\"FACTOR=\",\"type\":\"value\"},{\"name\":\"SEED=\",\"type\":\"value\"},{\"name\":\"X=\",\"type\":\"value\"},{\"name\":\"Y=\",\"type\":\"value\"},{\"name\":\"LABEL\",\"type\":\"standalone\"},{\"name\":\"LABEL=\",\"type\":\"value\"},{\"name\":\"LOCATION=\",\"type\":\"value\"}]},{\"name\":\"PLOTBY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies a variable or CLASS effect at whose levels the predicted values are computed and the plots are displayed. You can specify the response variable as the effect for polytomous response models. The panel-type argument specifies the method in which the plots are grouped for the display. The following panel-types are available. COLUMNS specifies that the columns within each panel correspond to different levels of the PLOTBY= effect and hence the rows correspond to different AT levels. PACK specifies that plots be displayed in the panels as they are produced with no control over the placement of the PLOTBY= and AT levels. PANELS | LEVELS specifies that each level of the PLOTBY= effect begin a new panel of plots and the AT levels define the plots within the panels. ROWS specifies that the rows within each panel correspond to different levels of the PLOTBY= effect and hence the columns correspond to different AT levels.\",\"help\":\"PLOTBY=COLUMNS | PACK | PANELS | LEVELS | ROWS\",\"type\":\"choice\",\"arguments\":[{\"name\":\"COLUMNS\",\"type\":\"standalone\"},{\"name\":\"PACK\",\"type\":\"standalone\"},{\"name\":\"PANELS\",\"type\":\"standalone\"},{\"name\":\"LEVELS\",\"type\":\"standalone\"},{\"name\":\"ROWS\",\"type\":\"standalone\"}]},{\"name\":\"PLOTBYLEN=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the maximum length (1 ≤ n ≤ 256) of the levels of the PLOTBY= variables, which are displayed in footnotes and headers. By default, up to 256 characters of the CLASS levels are displayed.\",\"help\":\"PLOTBYLEN=*n*\",\"type\":\"value\"},{\"name\":\"POLYBAR\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays polytomous response data as a stacked histogram with bar heights defined by the individual predicted value. Your response variable must be the SLICEBY= variable, and the INDIVIDUAL and ILINK options must be in effect; otherwise, the option is ignored. Confidence limits are ignored.\",\"type\":\"standalone\"},{\"name\":\"PREDLABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies a label to be displayed on the Y axis. The default Y axis label is determined by your model. For the CONTOUR plot-type, this option changes the title to \\\"label for Y.\\\"\",\"help\":\"PREDLABEL=*label*\",\"type\":\"value\"},{\"name\":\"SHOWCLEGEND\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays the gradient-legend for the CONTOUR plot-type. This option has no effect when the OBS(CGRADIENT=RESIDUAL) option is also specified.\",\"type\":\"standalone\"},{\"name\":\"SLICEBY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays the fitted values at the different levels of the specified variable or CLASS effect.\",\"help\":\"SLICEBY=NONE | effect&lt;=numeric-list&gt;\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NONE\",\"followsDelimiter\":\"/\",\"description\":\"Preventing the INTERACTION plot-type from slicing by a second class covariate. Note that the SLICEBY=NONE option is not available for the SLICEFIT plot-type, since that is the same as the FIT plot-type.\",\"type\":\"standalone\"},{\"name\":\"effect\",\"followsDelimiter\":\"/\",\"description\":\"You can specify the response variable as the effect for polytomous response models. Use this option to modify SLICEFIT and INTERACTION plot-types. If you specify a continuous variable as the effect, then you can either specify a numeric-list of values at which to display that variable or, by default, five equally spaced values from the minimum variable value to its maximum are displayed.\",\"help\":\"effect&lt;=numeric-list&gt;\",\"type\":\"value\"}]},{\"name\":\"SMOOTH\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Overlays a loess smooth on the FIT plot-type for models that have only one continuous predictor. This option is not available for binary or polytomous response models.\",\"type\":\"standalone\"},{\"name\":\"UNPACK\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Suppresses paneling. By default, multiple plots can appear in some output panels. Specify UNPACK to display each plot separately.]\",\"type\":\"standalone\"},{\"name\":\"X=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies values to display on the X axis. For BOX and INTERACTION plot-types, effect can be a CLASS effect in the MODEL statement. For FIT, SLICEFIT, and CONTOUR plot-types, effect can be any continuous variable in the model.\",\"help\":\"X=*effect*\",\"type\":\"value\"},{\"name\":\"Y=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies values to display on the Y axis for the CONTOUR plot-type. The Y= argument can be any continuous variable in the model.\",\"help\":\"Y=*args*\",\"type\":\"value\"},{\"name\":\"YRANGE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays the predicted values on the Y axis in the range [min,max]. By default, when the Y axis displays predicted probabilities, the entire Y axis, [0,1], is displayed. This option is useful if your predicted probabilities are all contained in some subset of this range. This option is not available with the CONTOUR plot-type.\",\"help\":\"YRANGE=CLIP | &lt;(&lt;*min*&gt;&lt;,*max*&gt;)&gt;\",\"type\":\"choice\",\"arguments\":[{\"name\":\"CLIP\",\"followsDelimiter\":\"/\",\"description\":\"Has the same effect as specifying the minimum predicted value as min and the maximum predicted value as max.\",\"type\":\"standalone\"},{\"name\":\"(min,max)\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"Replace min and max with actual values.\",\"type\":\"standaloneOrValue\"}]}]},{\"name\":\"ESTIMATE\",\"description\":\"The ESTIMATE statement provides a mechanism for obtaining custom hypothesis tests. Estimates are formed as linear estimable functions of the form Lβ. You can perform hypothesis tests for the estimable functions, construct confidence limits, and obtain specific nonlinear transformations. The basic element of the ESTIMATE statement is the estimate-specification, which consists of model effects and their coefficients. A estimate-specification takes the general form effect name <effect values ...> The following variables can appear in the ESTIMATE statement: label is an optional label that identifies the particular row of the estimate in the output. effect identifies an effect that appears in the MODEL statement. The keyword INTERCEPT can be used as an effect when an intercept is fitted in the model. You do not need to include all effects that are in the MODEL statement. values are constants that are elements of the L matrix and are associated with the fixed and random effects.\",\"help\":\"ESTIMATE &lt;ADJDFE=&lt;SOURCE | ROW&gt;&gt;&lt;ADJUST=&lt;BON | SCHEFFE | SIDAK&gt;... &gt;&lt;ALPHA=number&gt; ...\",\"arguments\":[{\"name\":\"ADJDFE=\",\"optional\":true,\"description\":\"Specifies how denominator degrees of freedom are determined when p-values and confidence limits are adjusted for multiple comparisons with the ADJUST= option.\",\"help\":\"ADJDFE=SOURCE | ROW\",\"type\":\"choice\",\"arguments\":[{\"name\":\"SOURCE\",\"description\":\"The denominator degrees of freedom for multiplicity-adjusted results are the denominator degrees of freedom for the final effect listed in the ESTIMATE statement from the 'Type III' table.\",\"type\":\"standalone\"},{\"name\":\"ROW\",\"description\":\"Useful if you want multiplicity adjustments to take into account that denominator degrees of freedom are not constant across estimates.\",\"type\":\"standalone\"}]},{\"name\":\"ADJUST=\",\"optional\":true,\"description\":\"Requests a multiple comparison adjustment for the p-values and confidence limits for the estimates.\",\"help\":\"ADJUST=BON | SCHEFFE | SIDAK | SIMULATE&lt;(simoptions)&gt; | T\",\"type\":\"choice\",\"arguments\":[{\"name\":\"BON\",\"description\":\"Bonferroni adjustment\",\"type\":\"standalone\"},{\"name\":\"SCHEFFE\",\"description\":\"Scheffe's adjustment\",\"type\":\"standalone\"},{\"name\":\"SIDAK\",\"description\":\"Sidak adjustment\",\"type\":\"standalone\"},{\"name\":\"SIMULATE\",\"description\":\"Computes adjusted p-values and confidence limits from the simulated distribution of the maximum or maximum absolute value of a multivariate t random vector.\",\"help\":\"SIMULATE&lt;(simoptions)&gt;\",\"type\":\"standalone\"},{\"name\":\"T\",\"description\":\"The default, which really signifies no adjustment for multiple comparisons.\",\"type\":\"standalone\"}]},{\"name\":\"ALPHA=\",\"optional\":true,\"description\":\"Requests that a t-type confidence interval be constructed with confidence level 1-number. The value of number must be between 0 and 1; the default is 0.05.\",\"help\":\"ALPHA=*number*\",\"type\":\"value\"},{\"name\":\"CATEGORY=\",\"optional\":true,\"description\":\"Specifies how to construct estimates and multiplicity corrections for models with multinomial data (ordinal or nominal). This option is also important for constructing sets of estimable functions for F or chi-square tests with the JOINT option.\",\"help\":\"CATEGORY=JOINT | SEPARATE | &lt;*quoted-value-list*&gt;\",\"type\":\"choice\",\"arguments\":[{\"name\":\"JOINT\",\"description\":\"Computes the estimable functions for every nonredundant category and treats them as a set. For example, a three-row ESTIMATE statement in a model with three response categories leads to six estimable functions.\",\"type\":\"standalone\"},{\"name\":\"SEPARATE\",\"description\":\"Computes the estimable functions for every nonredundant category in turn. For example, a three-row ESTIMATE statement in a model with three response categories leads to two sets of three estimable functions.\",\"type\":\"standalone\"},{\"name\":\"quoted-value-list\",\"placeholder\":true,\"description\":\"Computes the estimable functions only for the list of values given. The list must consist of formatted values of the response categories.\",\"type\":\"value\"}]},{\"name\":\"CHISQ\",\"optional\":true,\"description\":\"Requests that chi-square tests be performed in addition to F tests, when you request an F test with the JOINT option. This option has no effect in procedures that produce chi-square statistics by default.\",\"type\":\"standalone\"},{\"name\":\"CL\",\"optional\":true,\"description\":\"Requests that t-type confidence limits be constructed. If the procedure shows the degrees of freedom in the \\\"Estimates\\\" table as infinite, then the confidence limits are z intervals. The confidence level is 0.95 by default, and you can change the confidence level with the ALPHA= option. The confidence intervals are adjusted for multiplicity when you specify the ADJUST= option. However, if a step-down p-value adjustment is requested with the STEPDOWN option, only the p-values are adjusted for multiplicity.\",\"type\":\"standalone\"},{\"name\":\"DF=\",\"optional\":true,\"description\":\"Specifies the degrees of freedom for the t test and confidence limits. This option is not supported by the procedures that perform chi-square-based inference (LOGISTIC, PHREG, and SUVEYLOGISTIC).\",\"help\":\"DF=*number*\",\"type\":\"value\"},{\"name\":\"DIVISOR=\",\"optional\":true,\"description\":\"Specifies a list of values by which to divide the coefficients so that fractional coefficients can be entered as integer numerators. If you do not specify value-list, a default value of 1.0 is assumed. Missing values in the value-list are converted to 1.0. If the number of elements in value-list exceeds the number of rows of the estimate, the extra values are ignored. If the number of elements in value-list is less than the number of rows of the estimate, the last value in value-list is copied forward. If you specify a row-specific divisor as part of the specification of the estimate row, this value multiplies the corresponding divisor that is implied by the value-list. For example, the following statement divides the coefficients in the first row by 8, and the coefficients in the third and fourth row by 3: estimate 'One vs. two' A 2 -2 (divisor=2), 'One vs. three' A 1 0 -1 , 'One vs. four' A 3 0 0 -3 , 'One vs. five' A 1 0 0 0 -1 / divisor=4,.,3;\",\"help\":\"DIVISOR=*value-list*\",\"type\":\"value\"},{\"name\":\"E\",\"optional\":true,\"description\":\"Requests that the L matrix coefficients be displayed.\",\"type\":\"standalone\"},{\"name\":\"EXP\",\"optional\":true,\"description\":\"Requests exponentiation of the estimate. When you model data with the logit, cumulative logit, or generalized logit link functions, and the estimate represents a log odds ratio or log cumulative odds ratio, the EXP option produces an odds ratio. In proportional hazards model, this option produces estimates of hazard ratios. If you specify the CL or ALPHA= option, the (adjusted) confidence bounds are also exponentiated.\",\"type\":\"standalone\"},{\"name\":\"ILINK\",\"optional\":true,\"description\":\"Requests that the estimate and its standard error are also reported on the scale of the mean (the inverse linked scale).\",\"type\":\"standalone\"},{\"name\":\"JOINT=\",\"optional\":true,\"description\":\"Requests that a joint F or chi-square test be produced for the rows of the estimate. The JOINT option in the ESTIMATE statement essentially replaces the CONTRAST statement. When the LOWERTAILED or the UPPERTAILED options are in effect, or if the BOUNDS option described below is in effect, the JOINT option produces the chi-bar-square statistic according to Silvapulle and Sen (2004). This statistic uses a simulation-based approach to compute p-values in situations where the alternative hypotheses of the estimable functions are not simple two-sided hypotheses. You can specify the following joint-test-options in parentheses: ACC=γ specifies the accuracy radius for determining the necessary sample size in the simulation-based approach of Silvapulle and Sen (2004) for tests with order restrictions. The value of γ must be strictly between 0 and 1; the default value is 0.005. EPS=є specifies the accuracy confidence level for determining the necessary sample size in the simulation-based approach of Silvapulle and Sen (2004) for tests with order restrictions. The value of є must be strictly between 0 and 1; the default value is 0.01. LABEL='label' assigns an identifying label to the joint test. If you do not specify a label, the first non-default label for the ESTIMATE rows is used to label the joint test. NOEST | ONLY performs only the F or chi-square test and suppresses other results from the ESTIMATE statement. This option is useful for emulating the CONTRAST statement that is available in other procedures. NSAMP=n specifies the number of samples for the simulation-based method of Silvapulle and Sen (2004). CHISQ -- adds a chi-square test if the procedure produces an F test by default.\",\"help\":\"JOINT=ACC= | EPS= | LABEL= | NOEST | ONLY | NSAMP= | CHISQ | BOUNDS=\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ACC=\",\"type\":\"value\"},{\"name\":\"EPS=\",\"type\":\"value\"},{\"name\":\"LABEL=\",\"type\":\"value\"},{\"name\":\"NOEST\",\"type\":\"standalone\"},{\"name\":\"ONLY\",\"type\":\"standalone\"},{\"name\":\"NSAMP=\",\"type\":\"value\"},{\"name\":\"CHISQ\",\"type\":\"standalone\"},{\"name\":\"BOUNDS=\",\"type\":\"value\"}]},{\"name\":\"LOWER\",\"optional\":true,\"aliases\":[\"LOWERTAILED\"],\"description\":\"Requests that the p-value for the t test be based only on values less than the test statistic. A two-tailed test is the default. A lower-tailed confidence limit is also produced if you specify the CL or ALPHA= option.\",\"type\":\"standalone\"},{\"name\":\"NOFILL\",\"optional\":true,\"description\":\"Suppresses the automatic fill-in of coefficients of higher-order effects.\",\"type\":\"standalone\"},{\"name\":\"PLOTS=\",\"optional\":true,\"description\":\"Produces ODS statistical graphics of the distribution of estimable functions if the procedure performs the analysis in a sampling-based mode.\",\"help\":\"PLOTS=ALL | BOXPLOT | DISTPLOT | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ALL\",\"description\":\"Produces all possible plots with their default settings.\",\"type\":\"standalone\"},{\"name\":\"BOXPLOT\",\"description\":\"Syntax: BOXPLOT<(boxplot-options)> Produces box plots of the distribution of the estimable function across the posterior sample. A separate box is generated for each estimable function, and all boxes appear on a single graph by default. You can affect the appearance of the box plot graph with the following options: ORIENTATION=VERTICAL|HORIZONTAL ORIENT=VERT|HORIZ specifies the orientation of the boxes. The default is vertical orientation of the box plots. NPANELPOS=number specifies how to break the series of box plots across multiple panels. If the NPANELPOS option is not specified, or if number equals zero, then all box plots are displayed in a single graph; this is the default.\",\"type\":\"standalone\"},{\"name\":\"DISTPLOT\",\"aliases\":[\"DIST\"],\"description\":\"Syntax: DISTPLOT<(distplot-options)> Generates panels of histograms with a kernel density overlaid. A separate plot in each panel contains the results for each estimable function. You can specify the following distplot-options in parentheses: BOX|NOBOX controls the display of a horizontal box plot of the estimable function’s distribution across the posterior sample below the graph. The BOX option is enabled by default. HIST|NOHIST controls the display of the histogram of the estimable function’s distribution across the posterior sample. The HIST option is enabled by default. NORMAL|NONORMAL controls the display of a normal density estimate on the graph. The NONORMAL option is enabled by default. KERNEL|NOKERNEL controls the display of a kernel density estimate on the graph. The KERNEL option is enabled by default. NROWS=number specifies the highest number of rows in a panel. The default is 3. NCOLS=number specifies the highest number of columns in a panel. The default is 3. UNPACK unpacks the panel into separate graphics.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"Does not produce any plots.\",\"type\":\"standalone\"}]},{\"name\":\"SEED=\",\"optional\":true,\"description\":\"Specifies the seed for the sampling-based components of the computations for the ESTIMATE statement (for example, chi-bar-square statistics and simulated p-values). number specifies an integer that is used to start the pseudo-random number generator for the simulation. If you do not specify a seed, or if you specify a value less than or equal to zero, the seed is generated from reading the time of day from the computer clock. There could be multiple ESTIMATE statements with SEED= specifications and there could be other statements that can supply a random number seed. Since the procedure has only one random number stream, the initial seed is shown in the SAS log.\",\"help\":\"SEED=*number*\",\"type\":\"value\"},{\"name\":\"SINGULAR=\",\"optional\":true,\"description\":\"Tunes the estimability checking. The value for number must be between 0 and 1; the default is 1E-4.\",\"help\":\"SINGULAR=*number*\",\"type\":\"value\"},{\"name\":\"STEPDOWN\",\"optional\":true,\"description\":\"Requests that multiplicity adjustments for the p-values of estimates be further adjusted in a step-down fashion. Step-down methods increase the power of multiple testing procedures by taking advantage of the fact that a p-value is never declared significant unless all smaller p-values are also declared significant. You can specify the following step-down-options in parentheses after the STEPDOWN option: MAXTIME=n specifies the time (in seconds) to be spent computing the maximal logically consistent sequential subsets of equality hypotheses for TYPE=LOGICAL. The default is MAXTIME=60. ORDER=PVALUE | ORDER=ROWS specifies the order in which the step-down tests to be performed. ORDER=PVALUE is the default, with estimates being declared significant only if all estimates with smaller (unadjusted) p-values are significant. If you specify ORDER=ROWS, then significances are evaluated in the order in which they are specified in the syntax. REPORT specifies that a report on the step-down adjustment be displayed, including a listing of the sequential subsets (Westfall 1997) and, for ADJUST=SIMULATE, the step-down simulation results.\",\"type\":\"standalone\"},{\"name\":\"TESTVALUE=\",\"optional\":true,\"aliases\":[\"TESTMEAN=\"],\"description\":\"Specifies the value under the null hypothesis for testing the estimable functions in the ESTIMATE statement. The rules for specifying the value-list are very similar to those for specifying the divisor list in the DIVISOR= option. If no TESTVALUE= is specified, all tests are performed as H: Lβ=0. Missing values in the value-list also are translated to zeros. If you specify fewer values than rows in the ESTIMATE statement, the last value in value-list is carried forward. The TESTVALUE= option affects only p-values from individual, joint, and multiplicity-adjusted tests. It does not affect confidence intervals.\",\"help\":\"TESTVALUE=*value-list*\",\"type\":\"value\"},{\"name\":\"UPPER\",\"optional\":true,\"aliases\":[\"UPPERTAILED\"],\"description\":\"Requests that the p-value for the t test be based only on values greater than the test statistic. A two-tailed test is the default. An upper-tailed confidence limit is also produced if you specify the CL or ALPHA= option.\",\"type\":\"standalone\"}]},{\"name\":\"LSMEANS\",\"description\":\"The LSMEANS statement computes and compares least squares means (LS-means) of fixed effects. LS-means are predicted population margins—that is, they estimate the marginal means over a balanced population. In a sense, LS-means are to unbalanced designs as class and subclass arithmetic means are to balanced designs.\",\"help\":\"LSMEANS &lt;ADJDFE=&lt;SOURCE | ROW&gt;&gt;&lt;ADJUST=&lt;BON | DUNNETT | NELSON&gt;... &gt;&lt;ALPHA=number&gt; ...\",\"arguments\":[{\"name\":\"ADJDFE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies how denominator degrees of freedom are determined when p-values and confidence limits are adjusted for multiple comparisons with the ADJUST= option.\",\"help\":\"ADJDFE=SOURCE | ROW\",\"type\":\"choice\",\"arguments\":[{\"name\":\"SOURCE\",\"followsDelimiter\":\"/\",\"description\":\"The denominator degrees of freedom for multiplicity-adjusted results are the denominator degrees of freedom for the LS-mean effect in the \\\"Type III Tests of Fixed Effects\\\" table.\",\"type\":\"standalone\"},{\"name\":\"ROW\",\"followsDelimiter\":\"/\",\"description\":\"Useful if you want multiplicity adjustments to take into account that denominator degrees of freedom are not constant across LS-mean differences.\",\"type\":\"standalone\"}]},{\"name\":\"ADJUST=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests a multiple comparison adjustment for the p-values and confidence limits for the differences of LS-means.\",\"help\":\"ADJUST=BON | DUNNETT | NELSON | SCHEFFE | SIDAK | SIMULATE | SMM | TUKEY\",\"type\":\"choice\",\"arguments\":[{\"name\":\"BON\",\"followsDelimiter\":\"/\",\"description\":\"Bonferroni adjustment\",\"type\":\"standalone\"},{\"name\":\"DUNNETT\",\"followsDelimiter\":\"/\",\"description\":\"Dunnett adjustment (in which the procedure analyzes all differences with a control level)\",\"type\":\"standalone\"},{\"name\":\"NELSON\",\"followsDelimiter\":\"/\",\"description\":\"Nelson adjustment (in which ANOM differences are taken)\",\"type\":\"standalone\"},{\"name\":\"SCHEFFE\",\"followsDelimiter\":\"/\",\"description\":\"Scheffe's adjustment\",\"type\":\"standalone\"},{\"name\":\"SIDAK\",\"followsDelimiter\":\"/\",\"description\":\"Sidak adjustment\",\"type\":\"standalone\"},{\"name\":\"SIMULATE\",\"followsDelimiter\":\"/\",\"description\":\"Computes adjusted p-values and confidence limits from the simulated distribution of the maximum or maximum absolute value of a multivariate t random vector. Syntax: SIMULATE<(simoptions)> You can specify the following simoptions in parentheses after the ADJUST=SIMULATE option. ACC=value specifies the target accuracy radius γ of a 100(1-ε)% confidence interval for the true probability content of the estimated (1-α)th quantile. The default value is ACC=0.005. EPS=value specifies the value ε for a 100(1-ε)% confidence interval for the true probability content of the estimated (1-α)th quantile. The default value is ACC=0.005. NSAMP=n specifies the sample size for the simulation. SEED=number specifies an integer that is used to start the pseudo-random number generator for the simulation. THREADS specifies that the computational work for the simulation be divided into parallel threads, where the number of threads is the value of the SAS system option CPUCOUNT=. NOTHREADS specifies that the computational work for the simulation be performed in sequence rather than in parallel. NOTHREADS is the default. This option overrides the SAS system option THREADS|NOTHREADS.\",\"type\":\"standalone\"},{\"name\":\"SMM\",\"followsDelimiter\":\"/\",\"aliases\":[\"GT2\"],\"description\":\"SMM adjustment\",\"type\":\"standalone\"},{\"name\":\"TUKEY\",\"followsDelimiter\":\"/\",\"description\":\"If your data are unbalanced, PROC GLIMMIX uses the approximation described in Kramer (1956) and identifies the adjustment as \\\"Tukey-Kramer\\\" in the results.\",\"type\":\"standalone\"}]},{\"name\":\"ALPHA=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that a t-type confidence interval be constructed for each of the LS-means with confidence level (1-number)x100%. The value of number must be between 0 and 1; the default is 0.05.\",\"help\":\"ALPHA=*number*\",\"type\":\"value\"},{\"name\":\"AT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Modifies the values of the covariates that are used in computing LS-means. By default, all covariate effects are set equal to their mean values for computation of standard LS-means. The AT option enables you to assign arbitrary values to the covariates. Additional columns in the output table indicate the values of the covariates.\",\"help\":\"AT=MEANS\",\"type\":\"choice\",\"arguments\":[{\"name\":\"MEANS\",\"type\":\"standalone\"}]},{\"name\":\"BYLEVEL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that separate margins be computed for each level of the LSMEANS effect.\",\"type\":\"standalone\"},{\"name\":\"CL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that t-type confidence limits be constructed for each of the LS-means. The confidence level is 0.95 by default; this can be changed with the ALPHA= option.\",\"type\":\"standalone\"},{\"name\":\"CORR\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays the estimated correlation matrix of the least squares means as part of the \\\"Least Squares Means\\\" table.\",\"type\":\"standalone\"},{\"name\":\"COV\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays the estimated covariance matrix of the least squares means as part of the \\\"Least Squares Means\\\" table.\",\"type\":\"standalone\"},{\"name\":\"DF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the degrees of freedom for the t test and confidence limits. The default is the denominator degrees of freedom taken from the \\\"Type III Tests\\\" table that corresponds to the LS-means effect.\",\"help\":\"DF=*number*\",\"type\":\"value\"},{\"name\":\"DIFF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"PDIFF=\"],\"description\":\"Requests that differences of the LS-means be displayed.\",\"help\":\"DIFF=ALL | ANOM | CONTROL | CONTROLL | CONTROLU\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ALL\",\"followsDelimiter\":\"/\",\"description\":\"Requests all pairwise differences; this is the default.\",\"type\":\"standalone\"},{\"name\":\"ANOM\",\"followsDelimiter\":\"/\",\"description\":\"Requests differences between each LS-mean and the average LS-mean, as in the analysis of means (Ott 1967).\",\"type\":\"standalone\"},{\"name\":\"CONTROL\",\"followsDelimiter\":\"/\",\"description\":\"Requests the differences with a control, which, by default, is the first level of each of the specified LSMEANS effects.\",\"type\":\"standalone\"},{\"name\":\"CONTROLL\",\"followsDelimiter\":\"/\",\"description\":\"Tests whether the noncontrol levels are significantly smaller than the control; the upper confidence limits for the control minus the noncontrol levels are considered to be infinity and are displayed as missing.\",\"type\":\"standalone\"},{\"name\":\"CONTROLU\",\"followsDelimiter\":\"/\",\"description\":\"Tests whether the noncontrol levels are significantly larger than the control; the upper confidence limits for the noncontrol levels minus the control are considered to be infinity and are displayed as missing.\",\"type\":\"standalone\"}]},{\"name\":\"E\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that the L matrix coefficients for the LSMEANS effects be displayed.\",\"type\":\"standalone\"},{\"name\":\"EXP\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests exponentiation of the LS-means or LS-mean differences. When you model data with the logit, cumulative logit, or generalized logit link functions, and the estimate represents a log odds ratio or log cumulative odds ratio, the EXP option produces an odds ratio. In proportional hazards model, the exponentiation of the LS-mean differences produces estimates of hazard ratios. If you specify the CL or ALPHA= option, the (adjusted) confidence bounds are also exponentiated.\",\"type\":\"standalone\"},{\"name\":\"ILINK\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that estimates and their standard errors in the \\\"Least Squares Means\\\" table also be reported on the scale of the mean (the inverse linked scale).\",\"type\":\"standalone\"},{\"name\":\"LINES\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Presents results of comparisons between all pairs of least squares means by listing the means in descending order and indicating nonsignificant subsets by line segments beside the corresponding LS-means.\",\"type\":\"standalone\"},{\"name\":\"MEANS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies to produce the table of least squares means. This is the default.\",\"type\":\"standalone\"},{\"name\":\"NOMEANS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies not to produce the table of least squares means.\",\"type\":\"standalone\"},{\"name\":\"OBSMARGINS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"OM=\"],\"description\":\"Specifies a potentially different weighting scheme for the computation of LS-means coefficients. The standard LS-means have equal coefficients across classification effects; however, the OM option changes these coefficients to be proportional to those found in the OM-data-set. This adjustment is reasonable when you want your inferences to apply to a population that is not necessarily balanced but has the margins that are observed in OM-data-set.\",\"type\":\"value\"},{\"name\":\"ODDSRATIO\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"OR\"],\"description\":\"Requests that LS-mean differences (DIFF, ADJUST= options) are also reported in terms of odds ratios. The ODDSRATIO option is ignored unless you use either the logit, cumulative logit, or generalized logit link function. If you specify the CL or ALPHA= option, confidence intervals for the odds ratios are also computed. These intervals are adjusted for multiplicity when you specify the ADJUST= option.\",\"type\":\"standalone\"},{\"name\":\"PDIFF\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Is the same as the DIFF option.\",\"type\":\"standalone\"},{\"name\":\"PLOT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"PLOTS=\"],\"description\":\"Requests that least squares means related graphics are produced via ODS Graphics, provided that the ODS GRAPHICS statement has been specified and the plot request does not conflict with other options in the LSMEANS statement.\",\"help\":\"PLOT=ALL | ANOMPLOT | BOXPLOT | CONTROLPLOT | DIFFPLOT | DISTPLOT | MEANPLOT | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ALL\",\"followsDelimiter\":\"/\",\"description\":\"Requests that the default plots corresponding to this LSMEANS statement be produced.\",\"type\":\"standalone\"},{\"name\":\"ANOMPLOT\",\"followsDelimiter\":\"/\",\"aliases\":[\"ANOM\"],\"description\":\"Requests an analysis of means display in which least squares means are compared to an average least squares mean.\",\"type\":\"standalone\"},{\"name\":\"BOXPLOT\",\"followsDelimiter\":\"/\",\"description\":\"Syntax: BOXPLOT<boxplot-options>> Produces box plots of the distribution of the least squares mean or least squares mean differences across a posterior sample. For example, this plot is available in procedures that support a Bayesian analysis through the BAYES statement. A separate box is generated for each estimable function, and all boxes appear on a single graph by default. You can affect the appearance of the box plot graph with the following options: ORIENTATION=VERTICAL|HORIZONTAL ORIENT=VERT|HORIZ specifies the orientation of the boxes. The default is vertical orientation of the box plots. NPANELPOS=number specifies how to break the series of box plots across multiple panels. If the NPANELPOS option is not specified, or if number equals zero, then all box plots are displayed in a single graph; this is the default.\",\"type\":\"standalone\"},{\"name\":\"CONTROLPLOT\",\"followsDelimiter\":\"/\",\"aliases\":[\"CONTROL\"],\"description\":\"Requests a display in which least squares means are visually compared against a reference level.\",\"type\":\"standalone\"},{\"name\":\"DIFFPLOT\",\"followsDelimiter\":\"/\",\"aliases\":[\"DIFFOGRAM\",\"DIFF\"],\"description\":\"Requests a display of all pairwise least squares mean differences and their significance. Syntax: DIFFPLOT<(diffplot-options)> You can specify the following diffplot-options: ABS all line segments are shown on the same side of the reference line. NOABS separates comparisons according to the sign of the difference. CENTER marks the center point for each comparison. NOLINES suppresses the display of the line segments that represent the confidence bounds for the differences of the least squares means. The NOLINES option implies the CENTER option.\",\"type\":\"standalone\"},{\"name\":\"DISTPLOT\",\"followsDelimiter\":\"/\",\"aliases\":[\"DIST\"],\"description\":\"Syntax: DISTPLOT<distplot-options> Generates panels of histograms with a kernel density overlaid if the analysis has access to a set of posterior parameter estimates. You can sepcify the following distplot-options in parentheses: BOX|NOBOX controls the display of a horizontal box plot of the estimable function’s distribution across the posterior sample below the graph. The BOX option is enabled by default. HIST|NOHIST controls the display of the histogram of the estimable function’s distribution across the posterior sample. The HIST option is enabled by default. NORMAL|NONORMAL controls the display of a normal density estimate on the graph. The NONORMAL option is enabled by default. KERNEL|NOKERNEL controls the display of a kernel density estimate on the graph. The KERNEL option is enabled by default. NROWS=number specifies the highest number of rows in a panel. The default is 3. NCOLS=number specifies the highest number of columns in a panel. The default is 3. UNPACK unpacks the panel into separate graphics.\",\"type\":\"standalone\"},{\"name\":\"MEANPLOT\",\"followsDelimiter\":\"/\",\"description\":\"Syntax: MEANPLOT<(meanplot-options)> Requests displays of the least squares means. The following meanplot-options control the display of the least squares means: ASCENDING displays the least squares means in ascending order. This option has no effect if means are sliced or displayed in separate plots. CL displays upper and lower confidence limits for the least squares means. By default, 95% limits are drawn. CLBAND displays confidence limits as bands. This option implies the JOIN option. DESCENDING displays the least squares means in descending order. This option has no effect if means are sliced or displayed in separate plots. ILINK requests that means (and confidence limits) are displayed on the inverse linked scale. JOIN | CONNECT connects the least squares means with lines. This option is implied by the CLBAND option. SLICEBY=fixed-effect specifies an effect by which to group the means in a single plot. PLOTBY=fixed-effect specifies an effect by which to break interaction plots into separate displays.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"followsDelimiter\":\"/\",\"description\":\"Requests that no plots be produced.\",\"type\":\"standalone\"}]},{\"name\":\"SEED=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the seed for the sampling-based components of the computations for the LSMEANS statement (for example, chi-bar-square statistics and simulated p-values). number specifies an integer that is used to start the pseudo-random-number generator for the simulation. If you do not specify a seed, or if you specify a value less than or equal to zero, the seed is generated from reading the time of day from the computer clock.\",\"help\":\"SEED=*number*\",\"type\":\"value\"},{\"name\":\"SINGULAR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Tunes the estimability checking. The value for number must be between 0 and 1; the default is 1E-4.\",\"help\":\"SINGULAR=*number*\",\"type\":\"value\"},{\"name\":\"STEPDOWN=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that multiple comparison adjustments for the p-values of LS-mean differences be further adjusted in a step-down fashion. Step-down methods increase the power of multiple comparisons by taking advantage of the fact that a p-value is never declared significant unless all smaller p-values are also declared significant. You can specify the following step-down options in parentheses: MAXTIME=n specifies the time (in seconds) to spend computing the maximal logically consistent sequential subsets of equality hypotheses for TYPE=LOGICAL. REPORT specifies that a report on the step-down adjustment should be displayed, including a listing of the sequential subsets (Westfall 1997) and, for ADJUST=SIMULATE, the step-down simulation results.\",\"help\":\"STEPDOWN=MAXTIME= | REPORT | TYPE=\",\"type\":\"choice\",\"arguments\":[{\"name\":\"MAXTIME=\",\"type\":\"value\"},{\"name\":\"REPORT\",\"type\":\"standalone\"},{\"name\":\"TYPE=\",\"type\":\"value\"}]}]},{\"name\":\"LSMESTIMATE\",\"description\":\"The LSMESTIMATE statement provides a mechanism for obtaining custom hypothesis tests among least squares means.\",\"help\":\"LSMESTIMATE &lt;ADJDFE=&lt;SOURCE | ROW&gt;&gt;&lt;ADJUST=&lt;BON | SCHEFFE | SIDAK&gt;... &gt;&lt;ALPHA=number&gt; ...\",\"arguments\":[{\"name\":\"ADJDFE=\",\"optional\":true,\"description\":\"Specifies how denominator degrees of freedom are determined when p-values and confidence limits are adjusted for multiple comparisons with the ADJUST= option.\",\"help\":\"ADJDFE=SOURCE | ROW\",\"type\":\"choice\",\"arguments\":[{\"name\":\"SOURCE\",\"description\":\"The denominator degrees of freedom for multiplicity-adjusted results are the denominator degrees of freedom for the LS-mean effect in the \\\"Type III Tests of Fixed Effects\\\" table.\",\"type\":\"standalone\"},{\"name\":\"ROW\",\"description\":\"Useful if you want multiplicity adjustments to take into account that denominator degrees of freedom are not constant across estimates.\",\"type\":\"standalone\"}]},{\"name\":\"ADJUST=\",\"optional\":true,\"description\":\"Requests a multiple comparison adjustment for the p-values and confidence limits for the LS-mean estimates. The adjusted quantities are produced in addition to the unadjusted p-values and confidence limits. Adjusted confidence limits are produced if the CL or ALPHA= option is in effect.\",\"help\":\"ADJUST=BON | SCHEFFE | SIDAK | SIMULATE | T\",\"type\":\"choice\",\"arguments\":[{\"name\":\"BON\",\"description\":\"Bonferroni adjustment\",\"type\":\"standalone\"},{\"name\":\"SCHEFFE\",\"description\":\"Scheffe's adjustment\",\"type\":\"standalone\"},{\"name\":\"SIDAK\",\"description\":\"Sidak adjustment\",\"type\":\"standalone\"},{\"name\":\"SIMULATE\",\"description\":\"Computes adjusted p-values and confidence limits from the simulated distribution of the maximum or maximum absolute value of a multivariate t random vector. Syntax: SIMULATE<(simoptions)> You can specify the following simoptions in parentheses after the ADJUST=SIMULATE option. ACC=value specifies the target accuracy radius γ of a 100(1-ε)% confidence interval for the true probability content of the estimated (1-α)th quantile. The default value is ACC=0.005. EPS=value specifies the value ε for a 100(1-ε)% confidence interval for the true probability content of the estimated (1-α)th quantile. The default value is ACC=0.005. NSAMP=n specifies the sample size for the simulation. SEED=number specifies an integer that is used to start the pseudo-random number generator for the simulation. THREADS specifies that the computational work for the simulation be divided into parallel threads, where the number of threads is the value of the SAS system option CPUCOUNT=. NOTHREADS specifies that the computational work for the simulation be performed in sequence rather than in parallel. NOTHREADS is the default. This option overrides the SAS system option THREADS|NOTHREADS.\",\"type\":\"standalone\"},{\"name\":\"T\",\"description\":\"The default, which really signifies no adjustment for multiple comparisons.\",\"type\":\"standalone\"}]},{\"name\":\"ALPHA=\",\"optional\":true,\"description\":\"Requests that a t-type confidence interval be constructed for each of the LS-means with confidence level 1-number. The value of number must be between 0 and 1; the default is 0.05.\",\"help\":\"ALPHA=*number*\",\"type\":\"value\"},{\"name\":\"AT=\",\"optional\":true,\"description\":\"Modifies the values of the covariates used in computing LS-means. By default, all covariate effects are set equal to their mean values for computation of standard LS-means. The AT option enables you to assign arbitrary values to the covariates. Additional columns in the output table indicate the values of the covariates.\",\"help\":\"AT=MEANS\",\"type\":\"choice\",\"arguments\":[{\"name\":\"MEANS\",\"type\":\"standalone\"}]},{\"name\":\"BYLEVEL\",\"optional\":true,\"description\":\"Requests that the procedure compute separate margins for each level of the LSMEANS effect.\",\"type\":\"standalone\"},{\"name\":\"CATEGORY=\",\"optional\":true,\"description\":\"Specifies how to construct estimates and multiplicity corrections for models with multinomial data (ordinal or nominal). This option is also important for constructing sets of estimable functions for F tests with the JOINT option.\",\"help\":\"CATEGORY=JOINT | SEPARATE | &lt;*quoted-value-list*&gt;\",\"type\":\"choice\",\"arguments\":[{\"name\":\"JOINT\",\"description\":\"Computes the estimable functions for every nonredundant category and treats them as a set. For example, a three-row LSESTIMATE statement in a model with three response categories leads to six estimable functions.\",\"type\":\"standalone\"},{\"name\":\"SEPARATE\",\"description\":\"Computes the estimable functions for every nonredundant category in turn. For example, a three-row LSESTIMATE statement in a model with three response categories leads to two sets of three estimable functions.\",\"type\":\"standalone\"},{\"name\":\"quoted-value-list\",\"placeholder\":true,\"description\":\"Computes the estimable functions only for the list of values given. The list must consist of formatted values of the response categories.\",\"type\":\"value\"}]},{\"name\":\"CHISQ\",\"optional\":true,\"description\":\"Requests that chi-square tests be performed in addition to F tests, when you request an F test with the JOINT option. This option has no effect in procedures that produce chi-square statistics by default.\",\"type\":\"standalone\"},{\"name\":\"CL\",\"optional\":true,\"description\":\"Requests that t-type confidence limits be constructed for each of the LS-means. The confidence level is 0.95 by default; this can be changed with the ALPHA= option.\",\"type\":\"standalone\"},{\"name\":\"CORR\",\"optional\":true,\"description\":\"Displays the estimated correlation matrix of the linear combination of the least squares means.\",\"type\":\"standalone\"},{\"name\":\"COV\",\"optional\":true,\"description\":\"Displays the estimated covariance matrix of the linear combination of the least squares means.\",\"type\":\"standalone\"},{\"name\":\"DF=\",\"optional\":true,\"description\":\"Specifies the degrees of freedom for the t test and confidence limits.\",\"help\":\"DF=*number*\",\"type\":\"value\"},{\"name\":\"DIVISOR=\",\"optional\":true,\"description\":\"Specifies a list of values by which to divide the coefficients so that fractional coefficients can be entered as integer numerators. If you do not specify value-list, a default value of 1.0 is assumed. Missing values in the value-list are converted to 1.0.\",\"help\":\"DIVISOR=*value-list*\",\"type\":\"value\"},{\"name\":\"E\",\"optional\":true,\"description\":\"Requests that the L coefficients of the estimable function be displayed.\",\"type\":\"standalone\"},{\"name\":\"ELSM\",\"optional\":true,\"description\":\"Requests that the K matrix coefficients be displayed. These are the coefficients that apply to the LS-means. This option is useful to ensure that you assigned the coefficients correctly to the LS-means.\",\"type\":\"standalone\"},{\"name\":\"EXP\",\"optional\":true,\"description\":\"Requests exponentiation of the least squares means estimate. When you model data with the logit link function and the estimate represents a log odds ratio, the EXP option produces an odds ratio. If you specify the CL or ALPHA= option, the (adjusted) confidence limits for the estimate are also exponentiated.\",\"type\":\"standalone\"},{\"name\":\"ILINK\",\"optional\":true,\"description\":\"Requests that the estimate and its standard error are also reported on the scale of the mean (the inverse linked scale).\",\"type\":\"standalone\"},{\"name\":\"JOINT=\",\"optional\":true,\"description\":\"Requests that a joint F or chi-square test be produced for the rows of the estimate. You can specify the following joint-test-options in parentheses: ACC=γ specifies the accuracy radius for determining the necessary sample size in the simulation-based approach of Silvapulle and Sen (2004) for tests with order restrictions. The value of γ must be strictly between 0 and 1; the default value is 0.005. EPS=є specifies the accuracy confidence level for determining the necessary sample size in the simulation-based approach of Silvapulle and Sen (2004) for tests with order restrictions. The value of є must be strictly between 0 and 1; the default value is 0.01. LABEL='label' assigns an identifying label to the joint test. If you do not specify a label, the first non-default label for the ESTIMATE rows is used to label the joint test. NOEST | ONLY performs only the F or chi-square test and suppresses other results from the ESTIMATE statement. This option is useful for emulating the CONTRAST statement that is available in other procedures. NSAMP=n specifies the number of samples for the simulation-based method of Silvapulle and Sen (2004). CHISQ -- adds a chi-square test if the procedure produces an F test by default.\",\"help\":\"JOINT=ACC= | EPS= | LABEL= | NOEST | ONLY | NSAMP= | CHISQ | BOUNDS=\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ACC=\",\"type\":\"value\"},{\"name\":\"EPS=\",\"type\":\"value\"},{\"name\":\"LABEL=\",\"type\":\"value\"},{\"name\":\"NOEST\",\"type\":\"standalone\"},{\"name\":\"ONLY\",\"type\":\"standalone\"},{\"name\":\"NSAMP=\",\"type\":\"value\"},{\"name\":\"CHISQ\",\"type\":\"standalone\"},{\"name\":\"BOUNDS=\",\"type\":\"value\"}]},{\"name\":\"LOWER\",\"optional\":true,\"aliases\":[\"LOWERTAILED\"],\"description\":\"Requests that the p-value for the t test be based only on values less than the test statistic. A two-tailed test is the default. A lower-tailed confidence limit is also produced if you specify the CL or ALPHA= option.\",\"type\":\"standalone\"},{\"name\":\"OBSMARGINS=\",\"optional\":true,\"aliases\":[\"OM=\"],\"description\":\"Specifies a potentially different weighting scheme for the computation of LS-means coefficients. The standard LS-means have equal coefficients across classification effects; however, the OM option changes these coefficients to be proportional to those found in the OM-data-set. This adjustment is reasonable when you want your inferences to apply to a population that is not necessarily balanced but has the margins observed in OM-data-set.\",\"type\":\"value\"},{\"name\":\"PLOTS=\",\"optional\":true,\"description\":\"Produces ODS statistical graphics of the distribution of estimable functions if the procedure performs the analysis in a sampling-based mode.\",\"help\":\"PLOTS=ALL | BOXPLOT | DISTPLOT | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ALL\",\"description\":\"Requests that the default plots corresponding to this LSMEANS statement be produced.\",\"type\":\"standalone\"},{\"name\":\"BOXPLOT\",\"description\":\"Syntax: BOXPLOT<boxplot-options>> Produces box plots of the distribution of the least squares mean or least squares mean differences across a posterior sample. For example, this plot is available in procedures that support a Bayesian analysis through the BAYES statement. A separate box is generated for each estimable function, and all boxes appear on a single graph by default. You can affect the appearance of the box plot graph with the following options: ORIENTATION=VERTICAL|HORIZONTAL ORIENT=VERT|HORIZ specifies the orientation of the boxes. The default is vertical orientation of the box plots. NPANELPOS=number specifies how to break the series of box plots across multiple panels. If the NPANELPOS option is not specified, or if number equals zero, then all box plots are displayed in a single graph; this is the default.\",\"type\":\"standalone\"},{\"name\":\"DISTPLOT\",\"aliases\":[\"DIST\"],\"description\":\"Syntax: DISTPLOT<distplot-options> Generates panels of histograms with a kernel density overlaid if the analysis has access to a set of posterior parameter estimates. You can sepcify the following distplot-options in parentheses: BOX|NOBOX controls the display of a horizontal box plot of the estimable function’s distribution across the posterior sample below the graph. The BOX option is enabled by default. HIST|NOHIST controls the display of the histogram of the estimable function’s distribution across the posterior sample. The HIST option is enabled by default. NORMAL|NONORMAL controls the display of a normal density estimate on the graph. The NONORMAL option is enabled by default. KERNEL|NOKERNEL controls the display of a kernel density estimate on the graph. The KERNEL option is enabled by default. NROWS=number specifies the highest number of rows in a panel. The default is 3. NCOLS=number specifies the highest number of columns in a panel. The default is 3. UNPACK unpacks the panel into separate graphics.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"Requests that no plots be produced.\",\"type\":\"standalone\"}]},{\"name\":\"SINGULAR=\",\"optional\":true,\"description\":\"Tunes the estimability checking as documented for the ESTIMATE statement.\",\"help\":\"SINGULAR=*number*\",\"type\":\"value\"},{\"name\":\"STEPDOWN\",\"optional\":true,\"description\":\"Requests that multiplicity adjustments for the p-values of estimates be further adjusted in a step-down fashion. Step-down methods increase the power of multiple testing procedures by taking advantage of the fact that a p-value is never declared significant unless all smaller p-values are also declared significant. You can specify the following step-down-options in parentheses: MAXTIME=n specifies the time (in seconds) to spend computing the maximal logically consistent sequential subsets of equality hypotheses for TYPE=LOGICAL. The default is MAXTIME=60. ORDER=PVALUE ORDER=ROWS specifies the order in which the step-down tests are performed. ORDER=PVALUE is the default, with LS-mean estimates being declared significant only if all LS-mean estimates with smaller (unadjusted) p-values are significant. If you specify ORDER=ROWS, then significances are evaluated in the order in which they are specified. REPORT specifies that a report on the step-down adjustment be displayed, including a listing of the sequential subsets (Westfall 1997) and, for ADJUST=SIMULATE, the step-down simulation results.\",\"type\":\"standalone\"},{\"name\":\"TESTVALUE=\",\"optional\":true,\"aliases\":[\"TESTMEAN=\"],\"description\":\"Specifies the value under the null hypothesis for testing the estimable functions in the LSMESTIMATE statement. The rules for specifying the value-list are very similar to those for specifying the divisor list in the DIVISOR= option. If no TESTVALUE= is specified, all tests are performed as H: Lβ=0. Missing values in the value-list also are translated to zeros. If you specify fewer values than rows in the ESTIMATE statement, the last value in value-list is carried forward. The TESTVALUE= option affects only p-values from individual, joint, and multiplicity-adjusted tests. It does not affect confidence intervals.\",\"help\":\"TESTVALUE=*value-list*\",\"type\":\"value\"},{\"name\":\"UPPER\",\"optional\":true,\"aliases\":[\"UPPERTAILED\"],\"description\":\"Requests that the p-value for the t test be based only on values greater than the test statistic. A two-tailed test is the default. An upper-tailed confidence limit is also produced if you specify the CL or ALPHA= option.\",\"type\":\"standalone\"}]},{\"name\":\"MODEL\",\"description\":\"The MODEL statement names the dependent variable and the independent effects. Only one MODEL statement is allowed. The specification of effects and the parameterization of the linear model are the same as in the GLM procedure.\",\"help\":\"MODEL &lt;NOINT&gt;\",\"arguments\":[{\"name\":\"NOINT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Omits the intercept term from the model.\",\"type\":\"standalone\"}]},{\"name\":\"SLICE\",\"description\":\"The SLICE statement provides a general mechanism for performing a partitioned analysis of the LS-means for an interaction. This analysis is also known as an analysis of simple effects. The SLICE statement uses the same options as the LSMEANS statement.\",\"help\":\"SLICE &lt;ADJDFE=&lt;SOURCE | ROW&gt;&gt;&lt;ADJUST=&lt;BON | DUNNETT | NELSON&gt;... &gt;&lt;ALPHA=number&gt; ...\",\"arguments\":[{\"name\":\"ADJDFE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies how denominator degrees of freedom are determined when p-values and confidence limits are adjusted for multiple comparisons with the ADJUST= option.\",\"help\":\"ADJDFE=SOURCE | ROW\",\"type\":\"choice\",\"arguments\":[{\"name\":\"SOURCE\",\"followsDelimiter\":\"/\",\"description\":\"The denominator degrees of freedom for multiplicity-adjusted results are the denominator degrees of freedom for the LS-mean effect in the \\\"Type III Tests of Fixed Effects\\\" table.\",\"type\":\"standalone\"},{\"name\":\"ROW\",\"followsDelimiter\":\"/\",\"description\":\"Useful if you want multiplicity adjustments to take into account that denominator degrees of freedom are not constant across LS-mean differences.\",\"type\":\"standalone\"}]},{\"name\":\"ADJUST=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests a multiple comparison adjustment for the p-values and confidence limits for the differences of LS-means.\",\"help\":\"ADJUST=BON | DUNNETT | NELSON | SCHEFFE | SIDAK | SIMULATE | SMM | TUKEY\",\"type\":\"choice\",\"arguments\":[{\"name\":\"BON\",\"followsDelimiter\":\"/\",\"description\":\"Bonferroni adjustment\",\"type\":\"standalone\"},{\"name\":\"DUNNETT\",\"followsDelimiter\":\"/\",\"description\":\"Dunnett adjustment (in which the procedure analyzes all differences with a control level)\",\"type\":\"standalone\"},{\"name\":\"NELSON\",\"followsDelimiter\":\"/\",\"description\":\"Nelson adjustment (in which ANOM differences are taken)\",\"type\":\"standalone\"},{\"name\":\"SCHEFFE\",\"followsDelimiter\":\"/\",\"description\":\"Scheffe's adjustment\",\"type\":\"standalone\"},{\"name\":\"SIDAK\",\"followsDelimiter\":\"/\",\"description\":\"Sidak adjustment\",\"type\":\"standalone\"},{\"name\":\"SIMULATE\",\"followsDelimiter\":\"/\",\"description\":\"Computes adjusted p-values and confidence limits from the simulated distribution of the maximum or maximum absolute value of a multivariate t random vector. Syntax: SIMULATE<(simoptions)> You can specify the following simoptions in parentheses after the ADJUST=SIMULATE option. ACC=value specifies the target accuracy radius γ of a 100(1-ε)% confidence interval for the true probability content of the estimated (1-α)th quantile. The default value is ACC=0.005. EPS=value specifies the value ε for a 100(1-ε)% confidence interval for the true probability content of the estimated (1-α)th quantile. The default value is ACC=0.005. NSAMP=n specifies the sample size for the simulation. SEED=number specifies an integer that is used to start the pseudo-random number generator for the simulation. THREADS specifies that the computational work for the simulation be divided into parallel threads, where the number of threads is the value of the SAS system option CPUCOUNT=. NOTHREADS specifies that the computational work for the simulation be performed in sequence rather than in parallel. NOTHREADS is the default. This option overrides the SAS system option THREADS|NOTHREADS.\",\"type\":\"standalone\"},{\"name\":\"SMM\",\"followsDelimiter\":\"/\",\"aliases\":[\"GT2\"],\"description\":\"SMM adjustment\",\"type\":\"standalone\"},{\"name\":\"TUKEY\",\"followsDelimiter\":\"/\",\"description\":\"If your data are unbalanced, PROC GLIMMIX uses the approximation described in Kramer (1956) and identifies the adjustment as \\\"Tukey-Kramer\\\" in the results.\",\"type\":\"standalone\"}]},{\"name\":\"ALPHA=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that a t-type confidence interval be constructed for each of the LS-means with confidence level (1-number)x100%. The value of number must be between 0 and 1; the default is 0.05.\",\"help\":\"ALPHA=*number*\",\"type\":\"value\"},{\"name\":\"AT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Modifies the values of the covariates that are used in computing LS-means. By default, all covariate effects are set equal to their mean values for computation of standard LS-means. The AT option enables you to assign arbitrary values to the covariates. Additional columns in the output table indicate the values of the covariates.\",\"help\":\"AT=MEANS\",\"type\":\"choice\",\"arguments\":[{\"name\":\"MEANS\",\"type\":\"standalone\"}]},{\"name\":\"BYLEVEL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that separate margins be computed for each level of the SLICE model-effect.\",\"type\":\"standalone\"},{\"name\":\"CL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that t-type confidence limits be constructed for each of the LS-means. The confidence level is 0.95 by default; this can be changed with the ALPHA= option.\",\"type\":\"standalone\"},{\"name\":\"CORR\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays the estimated correlation matrix of the least squares means as part of the \\\"Least Squares Means\\\" table.\",\"type\":\"standalone\"},{\"name\":\"COV\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays the estimated covariance matrix of the least squares means as part of the \\\"Least Squares Means\\\" table.\",\"type\":\"standalone\"},{\"name\":\"DF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the degrees of freedom for the t test and confidence limits. The default is the denominator degrees of freedom taken from the \\\"Type III Tests\\\" table that corresponds to the LS-means effect.\",\"help\":\"DF=*number*\",\"type\":\"value\"},{\"name\":\"DIFF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"PDIFF=\"],\"description\":\"Requests that differences of the LS-means be displayed.\",\"help\":\"DIFF=ALL | ANOM | CONTROL | CONTROLL | CONTROLU\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ALL\",\"followsDelimiter\":\"/\",\"description\":\"Requests all pairwise differences; this is the default.\",\"type\":\"standalone\"},{\"name\":\"ANOM\",\"followsDelimiter\":\"/\",\"description\":\"Requests differences between each LS-mean and the average LS-mean, as in the analysis of means (Ott 1967).\",\"type\":\"standalone\"},{\"name\":\"CONTROL\",\"followsDelimiter\":\"/\",\"description\":\"Requests the differences with a control, which, by default, is the first level of each of the specified SLICE effects.\",\"type\":\"standalone\"},{\"name\":\"CONTROLL\",\"followsDelimiter\":\"/\",\"description\":\"Tests whether the noncontrol levels are significantly smaller than the control; the upper confidence limits for the control minus the noncontrol levels are considered to be infinity and are displayed as missing.\",\"type\":\"standalone\"},{\"name\":\"CONTROLU\",\"followsDelimiter\":\"/\",\"description\":\"Tests whether the noncontrol levels are significantly larger than the control; the upper confidence limits for the noncontrol levels minus the control are considered to be infinity and are displayed as missing.\",\"type\":\"standalone\"}]},{\"name\":\"E\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that the L matrix coefficients for the SLICE effects be displayed.\",\"type\":\"standalone\"},{\"name\":\"EXP\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests exponentiation of the LS-means or LS-mean differences. When you model data with the logit, cumulative logit, or generalized logit link functions, and the estimate represents a log odds ratio or log cumulative odds ratio, the EXP option produces an odds ratio. In proportional hazards model, the exponentiation of the LS-mean differences produces estimates of hazard ratios. If you specify the CL or ALPHA= option, the (adjusted) confidence bounds are also exponentiated.\",\"type\":\"standalone\"},{\"name\":\"ILINK\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that estimates and their standard errors in the \\\"Least Squares Means\\\" table also be reported on the scale of the mean (the inverse linked scale).\",\"type\":\"standalone\"},{\"name\":\"LINES\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Presents results of comparisons between all pairs of least squares means by listing the means in descending order and indicating nonsignificant subsets by line segments beside the corresponding LS-means.\",\"type\":\"standalone\"},{\"name\":\"MEANS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies to produce the table of least squares means.\",\"type\":\"standalone\"},{\"name\":\"NOF\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Suppresses the F test for testing the mutual equality of the estimable functions in the partition.\",\"type\":\"standalone\"},{\"name\":\"NOMEANS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies not to produce the table of least squares means. This is the default.\",\"type\":\"standalone\"},{\"name\":\"OBSMARGINS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"OM=\"],\"description\":\"Specifies a potentially different weighting scheme for the computation of LS-means coefficients. The standard LS-means have equal coefficients across classification effects; however, the OM option changes these coefficients to be proportional to those found in the OM-data-set. This adjustment is reasonable when you want your inferences to apply to a population that is not necessarily balanced but has the margins that are observed in OM-data-set.\",\"type\":\"value\"},{\"name\":\"ODDSRATIO\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"OR\"],\"description\":\"Requests that LS-mean differences (DIFF, ADJUST= options) are also reported in terms of odds ratios. The ODDSRATIO option is ignored unless you use either the logit, cumulative logit, or generalized logit link function. If you specify the CL or ALPHA= option, confidence intervals for the odds ratios are also computed. These intervals are adjusted for multiplicity when you specify the ADJUST= option.\",\"type\":\"standalone\"},{\"name\":\"PDIFF\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Is the same as the DIFF option.\",\"type\":\"standalone\"},{\"name\":\"PLOT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"PLOTS=\"],\"description\":\"Requests that least squares means related graphics are produced via ODS Graphics, provided that the ODS GRAPHICS statement has been specified and the plot request does not conflict with other options in the SLICE statement.\",\"help\":\"PLOT=ALL | ANOMPLOT | BOXPLOT | CONTROLPLOT | DIFFPLOT | DISTPLOT | MEANPLOT | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ALL\",\"followsDelimiter\":\"/\",\"description\":\"Requests that the default plots corresponding to this SLICE statement be produced.\",\"type\":\"standalone\"},{\"name\":\"ANOMPLOT\",\"followsDelimiter\":\"/\",\"aliases\":[\"ANOM\"],\"description\":\"Requests an analysis of means display in which least squares means are compared to an average least squares mean.\",\"type\":\"standalone\"},{\"name\":\"BOXPLOT\",\"followsDelimiter\":\"/\",\"description\":\"Syntax: BOXPLOT<boxplot-options>> Produces box plots of the distribution of the least squares mean or least squares mean differences across a posterior sample. For example, this plot is available in procedures that support a Bayesian analysis through the BAYES statement. A separate box is generated for each estimable function, and all boxes appear on a single graph by default. You can affect the appearance of the box plot graph with the following options: ORIENTATION=VERTICAL|HORIZONTAL ORIENT=VERT|HORIZ specifies the orientation of the boxes. The default is vertical orientation of the box plots. NPANELPOS=number specifies how to break the series of box plots across multiple panels. If the NPANELPOS option is not specified, or if number equals zero, then all box plots are displayed in a single graph; this is the default.\",\"type\":\"standalone\"},{\"name\":\"CONTROLPLOT\",\"followsDelimiter\":\"/\",\"aliases\":[\"CONTROL\"],\"description\":\"Requests a display in which least squares means are visually compared against a reference level.\",\"type\":\"standalone\"},{\"name\":\"DIFFPLOT\",\"followsDelimiter\":\"/\",\"aliases\":[\"DIFFOGRAM\",\"DIFF\"],\"description\":\"Requests a display of all pairwise least squares mean differences and their significance. Syntax: DIFFPLOT<(diffplot-options)> You can specify the following diffplot-options: ABS all line segments are shown on the same side of the reference line. NOABS separates comparisons according to the sign of the difference. CENTER marks the center point for each comparison. NOLINES suppresses the display of the line segments that represent the confidence bounds for the differences of the least squares means. The NOLINES option implies the CENTER option.\",\"type\":\"standalone\"},{\"name\":\"DISTPLOT\",\"followsDelimiter\":\"/\",\"aliases\":[\"DIST\"],\"description\":\"Syntax: DISTPLOT<distplot-options> Generates panels of histograms with a kernel density overlaid if the analysis has access to a set of posterior parameter estimates. You can sepcify the following distplot-options in parentheses: BOX|NOBOX controls the display of a horizontal box plot of the estimable function’s distribution across the posterior sample below the graph. The BOX option is enabled by default. HIST|NOHIST controls the display of the histogram of the estimable function’s distribution across the posterior sample. The HIST option is enabled by default. NORMAL|NONORMAL controls the display of a normal density estimate on the graph. The NONORMAL option is enabled by default. KERNEL|NOKERNEL controls the display of a kernel density estimate on the graph. The KERNEL option is enabled by default. NROWS=number specifies the highest number of rows in a panel. The default is 3. NCOLS=number specifies the highest number of columns in a panel. The default is 3. UNPACK unpacks the panel into separate graphics.\",\"type\":\"standalone\"},{\"name\":\"MEANPLOT\",\"followsDelimiter\":\"/\",\"description\":\"Syntax: MEANPLOT<(meanplot-options)> Requests displays of the least squares means. The following meanplot-options control the display of the least squares means: ASCENDING displays the least squares means in ascending order. This option has no effect if means are sliced or displayed in separate plots. CL displays upper and lower confidence limits for the least squares means. By default, 95% limits are drawn. CLBAND displays confidence limits as bands. This option implies the JOIN option. DESCENDING displays the least squares means in descending order. This option has no effect if means are sliced or displayed in separate plots. ILINK requests that means (and confidence limits) are displayed on the inverse linked scale. JOIN | CONNECT connects the least squares means with lines. This option is implied by the CLBAND option. SLICEBY=fixed-effect specifies an effect by which to group the means in a single plot. PLOTBY=fixed-effect specifies an effect by which to break interaction plots into separate displays.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"followsDelimiter\":\"/\",\"description\":\"Requests that no plots be produced.\",\"type\":\"standalone\"}]},{\"name\":\"SEED=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the seed for the sampling-based components of the computations for the SLICE statement (for example, chi-bar-square statistics and simulated p-values). number specifies an integer that is used to start the pseudo-random-number generator for the simulation. If you do not specify a seed, or if you specify a value less than or equal to zero, the seed is generated from reading the time of day from the computer clock.\",\"help\":\"SEED=*number*\",\"type\":\"value\"},{\"name\":\"SINGULAR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Tunes the estimability checking. The value for number must be between 0 and 1; the default is 1E-4.\",\"help\":\"SINGULAR=*number*\",\"type\":\"value\"},{\"name\":\"SLICEBY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"\",\"type\":\"value\"},{\"name\":\"STEPDOWN=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that multiple comparison adjustments for the p-values of LS-mean differences be further adjusted in a step-down fashion. Step-down methods increase the power of multiple comparisons by taking advantage of the fact that a p-value is never declared significant unless all smaller p-values are also declared significant. You can specify the following step-down options in parentheses: MAXTIME=n specifies the time (in seconds) to spend computing the maximal logically consistent sequential subsets of equality hypotheses for TYPE=LOGICAL. REPORT specifies that a report on the step-down adjustment should be displayed, including a listing of the sequential subsets (Westfall 1997) and, for ADJUST=SIMULATE, the step-down simulation results.\",\"help\":\"STEPDOWN=MAXTIME= | REPORT | TYPE=\",\"type\":\"choice\",\"arguments\":[{\"name\":\"MAXTIME=\",\"type\":\"value\"},{\"name\":\"REPORT\",\"type\":\"standalone\"},{\"name\":\"TYPE=\",\"type\":\"value\"}]}]},{\"name\":\"STORE\",\"aliases\":[\"ITEMSTORE\"],\"description\":\"The STORE statement requests that the procedure save the context and results of the statistical analysis. The resulting item store is a binary file format that cannot be modified. The contents of the item store can be processed with the PLM procedure. The item-store-name is a usual one- or two-level SAS name, like the names that are used for SAS data sets. If you specify a one-level name, then the item store resides in the WORK library and is deleted at the end of the SAS session. Since item stores usually are used to perform postprocessing tasks, typical usage specifies a two-level name of the form libname.membername. If an item store by the same name as specified in the STORE statement already exists, the existing store is replaced.\",\"help\":\"STORE &lt;LABEL='label'&gt;\",\"arguments\":[{\"name\":\"LABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Adds a custom label. When the PLM procedure processes an item store, the label appears in the PROC PLM output along with other identifying information.\",\"help\":\"LABEL='*label*'\",\"type\":\"value\"}]},{\"name\":\"TEST\",\"description\":\"The TEST statement enables you to perform F tests for model effects that test Type I, II, or Type III hypotheses.\",\"help\":\"TEST &lt;CHISQ&gt;&lt;DDF=value-list&gt;&lt;E&gt; ...\",\"arguments\":[{\"name\":\"CHISQ\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that chi-square tests be performed for the relevant effects in addition to the F tests. Type III tests are the default; you can produce the Type I and Type II tests by using the HTYPE= option. This option has no effect when the procedure produces chi-square statistics by default.\",\"type\":\"standalone\"},{\"name\":\"DDF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"DF=\"],\"description\":\"Specifies the denominator degrees of freedom for the fixed effects. The value-list specification is a list of numbers or missing values (.) separated by commas. The order of degrees of freedom should match the order of the fixed effects that are specified in the TEST statement; otherwise it should match the order in which the effects appear in the \\\"Type III Tests of Fixed Effects\\\" table.\",\"help\":\"DDF=*value-list*\",\"type\":\"value\"},{\"name\":\"E\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that Type I, Type II, and Type III L matrix coefficients be displayed for all relevant effects.\",\"type\":\"standalone\"},{\"name\":\"E1\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"EI\"],\"description\":\"Requests that Type I L matrix coefficients be displayed for all relevant effects.\",\"type\":\"standalone\"},{\"name\":\"E2\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"EII\"],\"description\":\"Requests that Type II L matrix coefficients be displayed for all relevant effects.]\",\"type\":\"standalone\"},{\"name\":\"E3\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"EIII\"],\"description\":\"Requests that Type III L matrix coefficients be displayed for all relevant effects.\",\"type\":\"standalone\"},{\"name\":\"HTYPE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Indicates the type of hypothesis test to perform on the fixed effects. Valid entries for values in the value-list are 1, 2, and 3, which correspond to Type I, Type II, and Type III tests, respectively. The default value is 3.\",\"help\":\"HTYPE=*value-list*\",\"type\":\"value\"},{\"name\":\"INTERCEPT\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"INT\"],\"description\":\"Adds a row to the tables for Type I, II, and III tests that correspond to the overall intercept.\",\"type\":\"standalone\"}]},{\"name\":\"WEIGHT\",\"aliases\":[\"WGT\"],\"description\":\"A WEIGHT statement names a variable in the input data set whose values are relative weights for a weighted least squares regression.\",\"help\":\"WEIGHT variable \"}],\"supportSiteInformation\":{\"docsetId\":\"statug\",\"docsetVersion\":\"latest\",\"docsetTargetFile\":\"statug_orthoreg_toc.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/PANEL.json",
    "content": "{\"name\":\"PANEL\",\"statements\":[{\"name\":\"PROC PANEL\",\"description\":\"The PANEL procedure analyzes a class of linear econometric models that commonly arise when time series and cross-sectional data are combined. This type of pooled data on time series cross-sectional bases is often referred to as panel data. Typical examples of panel data include observations in time on households, countries, firms, trade, and so on. For example, in the case of survey data on household income, the panel is created by repeatedly surveying the same households in different time periods (years). † The panel data models can be grouped into several categories depending on the structure of the error term. The error structures and the corresponding methods that the PANEL procedure uses to analyze data are as follows: † o one-way and two-way models o fixed-effects and random-effects models o autoregressive models o moving-average models\",\"help\":\"PROC PANEL <BTWNG><BTWNT><CORRB><COVB><DASILVA><DATA=SAS-data-set><FIXONE><FIXONETIME><FIXTWO><FULLER><M=number><NOINT><NOPRINT><OUTCORR><OUTCOV><OUTEST=SAS-data-set><OUTTRANS=SAS-data-set><PARKS><PHI><PLOTS=ACTSURFACE | ALL | FITPLOT... ><POOLED><RANONE><RANTWO><RHO><SINGULAR=number><VCOMP=FB | NL | WH... >;     \\n\\tBY variables ;\\n\\n\\tCLAG <OUT= SAS-data-set> ;\\n\\n\\tCLASS <out= SAS-data-set> ;\\n\\n\\tFLATDATA BASE=(variable, variable, ..., variable) INDID=variable KEEP=(variable, variable, ..., variable) ...;\\n\\n\\tID cross-section-id time-series-id ;\\n\\n\\tINSTRUMENTS <CONSTANT><CORRELATED=(variable, variable, ..., variable)><DEPVAR> ...;\\n\\n\\tLAG <OUT= SAS-data-set> ;\\n\\n\\tMODEL <ARTEST=integer><ATOL=number><BANDOPT=<TRAILING | CENTERED | LEADING>> ...;\\n\\n\\tOUTPUT <OUT=SAS-data-set><PREDICTED=name><RESIDUAL=name> ...;\\n\\n\\tRESTRICT \\\"string\\\" equation <,equation2...> ;\\n\\n\\tSLAG <OUT= SAS-data-set> ;\\n\\n\\tTEST <ALL><LM><WALD> ...;\\n\\n\\tXLAG <OUT= SAS-data-set> ;\\n\\n\\tZLAG <OUT= SAS-data-set> ;\\n\",\"arguments\":[{\"name\":\"BTWNG\",\"optional\":true,\"description\":\"Specifies that a between-groups model be estimated.\",\"type\":\"standalone\"},{\"name\":\"BTWNT\",\"optional\":true,\"description\":\"Specifies that a between-time-periods model be estimated.\",\"type\":\"standalone\"},{\"name\":\"CORRB\",\"optional\":true,\"description\":\"Prints the matrix of estimated correlations between the parameter estimates.\",\"type\":\"standalone\"},{\"name\":\"COVB\",\"optional\":true,\"description\":\"Prints the matrix of estimated covariances between the parameter estimates.\",\"type\":\"standalone\"},{\"name\":\"DASILVA\",\"optional\":true,\"description\":\"Specifies that the model be estimated by using the Da Silva method, which assumes a mixed variance-component moving-average model for the error structure.\",\"type\":\"standalone\"},{\"name\":\"DATA=\",\"optional\":true,\"description\":\"Names the input data set. The input data set must be sorted by cross section and by time period within cross section. If you omit the DATA= option, the most recently created SAS data set is used.\",\"help\":\"DATA=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"FIXONE\",\"optional\":true,\"description\":\"Specifies that a one-way fixed-effects model be estimated with the one-way model corresponding to cross-sectional effects only.\",\"type\":\"standalone\"},{\"name\":\"FIXONETIME\",\"optional\":true,\"description\":\"Specifies that a one-way fixed-effects model be estimated with the one-way model corresponding to time effects only.\",\"type\":\"standalone\"},{\"name\":\"FIXTWO\",\"optional\":true,\"description\":\"Specifies that a two-way fixed-effects model be estimated.\",\"type\":\"standalone\"},{\"name\":\"FULLER\",\"optional\":true,\"description\":\"Specifies that the model be estimated by using the Fuller-Battese method, which assumes a variance components model for the error structure.\",\"type\":\"standalone\"},{\"name\":\"M=\",\"optional\":true,\"description\":\"Specifies the order of the moving-average process in the Da Silva method. The value of the M=option must be less than T-1. The default is M=1.\",\"help\":\"M=*number*\",\"type\":\"value\"},{\"name\":\"NOINT\",\"optional\":true,\"description\":\"Suppresses the intercept parameter from the model.\",\"type\":\"standalone\"},{\"name\":\"NOPRINT\",\"optional\":true,\"description\":\"Suppresses the normal printed output.\",\"type\":\"standalone\"},{\"name\":\"OUTCORR\",\"optional\":true,\"aliases\":[\"CORROUT\"],\"description\":\"Writes the correlation matrix of the parameter estimates to the OUTEST= data set.\",\"type\":\"standalone\"},{\"name\":\"OUTCOV\",\"optional\":true,\"aliases\":[\"COVOUT\"],\"description\":\"Writes the covariance matrix of the parameter estimates to the OUTEST= data set.\",\"type\":\"standalone\"},{\"name\":\"OUTEST=\",\"optional\":true,\"description\":\"Names an output data set to contain the parameter estimates. When the OUTEST= option is not specified, the OUTEST= data set is not created.\",\"help\":\"OUTEST=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"OUTTRANS=\",\"optional\":true,\"description\":\"Names an output data set to contain the transformed series for further analysis and computation of models with time observations greater than two.\",\"help\":\"OUTTRANS=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"PARKS\",\"optional\":true,\"description\":\"Specifies that the model be estimated by using the Parks method, which assumes a first-order autoregressive model for the error structure.\",\"type\":\"standalone\"},{\"name\":\"PHI\",\"optional\":true,\"description\":\"Prints the Φ matrix of estimated covariances of the observations for the Parks method. The PHI option is relevant only when the PARKS option is used.\",\"type\":\"standalone\"},{\"name\":\"PLOTS=\",\"optional\":true,\"description\":\"Requests that the PANEL procedure produce statistical graphics via the Output Delivery System, provided that the ODS GRAPHICS statement has been specified. The global plot options supported by the PANEL procedure are: ONLY suppresses the default plots. Only the plots specifically requested are produced.\",\"help\":\"PLOTS=ACTSURFACE | ALL | FITPLOT | NONE | PREDSURFACE | QQ | RESIDSTACK | RESIDSURFACE | RESIDUAL | RESIDUALHISTOGRAM\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ACTSURFACE\",\"description\":\"Produces surface plot of actual values.\",\"type\":\"standalone\"},{\"name\":\"ALL\",\"description\":\"Produces all appropriate plots.\",\"type\":\"standalone\"},{\"name\":\"FITPLOT\",\"description\":\"Plots the predicted and actual values.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"Suppresses all plots.\",\"type\":\"standalone\"},{\"name\":\"PREDSURFACE\",\"description\":\"Produces surface plot of predicted values.\",\"type\":\"standalone\"},{\"name\":\"QQ\",\"description\":\"Produces QQ plot of residuals.\",\"type\":\"standalone\"},{\"name\":\"RESIDSTACK\",\"description\":\"Produces a stacked plot of residuals.\",\"type\":\"standalone\"},{\"name\":\"RESIDSURFACE\",\"description\":\"Produces surface plot of residual values.\",\"type\":\"standalone\"},{\"name\":\"RESIDUAL\",\"description\":\"Plots the residuals.\",\"type\":\"standalone\"},{\"name\":\"RESIDUALHISTOGRAM\",\"description\":\"Plots the histogram of residuals.\",\"type\":\"standalone\"}]},{\"name\":\"POOLED\",\"optional\":true,\"description\":\"Specifies that a pooled (OLS) model be estimated.\",\"type\":\"standalone\"},{\"name\":\"RANONE\",\"optional\":true,\"description\":\"Specifies that a one-way random-effects model be estimated.\",\"type\":\"standalone\"},{\"name\":\"RANTWO\",\"optional\":true,\"description\":\"Specifies that a two-way random-effects model be estimated.\",\"type\":\"standalone\"},{\"name\":\"RHO\",\"optional\":true,\"description\":\"Prints the estimated autocorrelation coefficients for the Parks method.\",\"type\":\"standalone\"},{\"name\":\"SINGULAR=\",\"optional\":true,\"description\":\"Specifies a singularity criterion for the inversion of the matrix. The default depends on the precision of the computer system.\",\"help\":\"SINGULAR=*number*\",\"type\":\"value\"},{\"name\":\"VCOMP=\",\"optional\":true,\"description\":\"Specifies the type of variance component estimate to use. The default is VCOMP=FB for balanced data and VCOMP=WK for unbalanced data.\",\"help\":\"VCOMP=FB | NL | WH | WK\",\"type\":\"choice\",\"arguments\":[{\"name\":\"FB\",\"description\":\"Uses the Fuller and Battese method for estimating variance components.\",\"type\":\"standalone\"},{\"name\":\"NL\",\"description\":\"Uses the Nerlove method for estimating variance components.\",\"type\":\"standalone\"},{\"name\":\"WH\",\"description\":\"Uses the Wallace and Hussain method for estimating variance components.\",\"type\":\"standalone\"},{\"name\":\"WK\",\"description\":\"Uses the Wansbeek and Kapteyn method for estimating variance components.\",\"type\":\"standalone\"}]}]},{\"name\":\"BY\",\"description\":\"A BY statement can be used with PROC PANEL to obtain separate analyses on observations in groups defined by the BY variables. When a BY statement appears, the input data set must be sorted by the BY variables as well as by cross section and time period within the BY groups.\",\"help\":\"BY variables \"},{\"name\":\"CLAG\",\"description\":\"Replaces missing values with the cross section mean for that variable in that cross section. Note that missing values are replaced only if they are in the generated (lagged) series. Missing variables in the original variables are not changed.\",\"help\":\"CLAG &lt;OUT= SAS-data-set&gt;\",\"arguments\":[{\"name\":\"OUT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the output data set. The output data set includes all variables in the input set, plus the lags that are denoted with the convention originalvar_lag.\",\"type\":\"value\"}]},{\"name\":\"CLASS\",\"description\":\"The CLASS statement names the classification variables to be used in the analysis. Classification variables can be either character or numeric. In PROC PANEL, the CLASS statement enables you to output class variables to a data set that contains a copy of the original data.\",\"help\":\"CLASS &lt;out= SAS-data-set&gt;\",\"arguments\":[{\"name\":\"OUT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the output data set.\",\"type\":\"value\"}]},{\"name\":\"FLATDATA\",\"description\":\"\",\"help\":\"FLATDATA BASE=(variable, variable, ..., variable) INDID=variable KEEP=(variable, variable, ..., variable) ...\",\"arguments\":[{\"name\":\"BASE=\",\"description\":\"Specifies the variables that are to be transformed into a proper PROC PANEL format. All variables to be transformed must be named according to the convention: basename_timeperiod. You supply just the basename, and the procedure extracts the appropriate variables to transform. If some year’s data are missing for a variable, then PROC PANEL detects this and fills in with missing values.\",\"type\":\"value\"},{\"name\":\"INDID=\",\"description\":\"Names the variable in the input data set that uniquely identifies each individual. The INDID variable can be a character or numeric variable.\",\"help\":\"INDID=*variable*\",\"type\":\"value\"},{\"name\":\"KEEP=\",\"description\":\"Specifies the variables that are to be copied without any transformation. These variables remain constant with respect to time when the data are converted to PROC PANEL format. This is an optional item.\",\"type\":\"value\"},{\"name\":\"TSNAME=\",\"description\":\"Specifies a name for the generated time identifier. The name must satisfy the requirements for the name of a SAS variable. The name can be quoted, but it must not be the name of a variable in the input data set.\",\"help\":\"TSNAME=*name*\",\"type\":\"value\"},{\"name\":\"OUT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Saves the converted flat data set to a PROC PANEL formatted data set.\",\"help\":\"OUT=*SAS-data-set*\",\"type\":\"dataSet\"}]},{\"name\":\"ID\",\"description\":\"The ID statement is used to specify variables in the input data set that identify the cross section and time period for each observation. When an ID statement is used, the PANEL procedure verifies that the input data set is sorted by the cross section ID variable and by the time series ID variable within each cross section. The PANEL procedure also verifies that the time series ID values are the same for all cross sections. Use PROC SORT to sort the input data set with a BY statement with the variables listed exactly as they are listed in the ID statement\",\"help\":\"ID cross-section-id time-series-id \"},{\"name\":\"INSTRUMENTS\",\"description\":\"The INSTRUMENTS statement denotes which variables are used in the moment condition equations of the dynamic panel estimator.\",\"help\":\"INSTRUMENTS &lt;CONSTANT&gt;&lt;CORRELATED=(variable, variable, ..., variable)&gt;&lt;DEPVAR&gt; ...\",\"arguments\":[{\"name\":\"CONSTANT\",\"optional\":true,\"description\":\"Includes an intercept (column of ones) as an uncorrelated exogenous instrument.\",\"type\":\"standalone\"},{\"name\":\"CORRELATED=\",\"optional\":true,\"description\":\"Specifies a list of variables correlated with the error term. These variables are not used in forming moment conditions from level equations.\",\"type\":\"value\"},{\"name\":\"DEPVAR\",\"optional\":true,\"description\":\"Specifies that a dependent variable be used at an appropriate lag as an instrument.\",\"type\":\"standalone\"},{\"name\":\"EXOGENOUS=\",\"optional\":true,\"description\":\"Specifies a list of variables that are not correlated with the error term.\",\"type\":\"value\"},{\"name\":\"PREDETERMINED=\",\"optional\":true,\"description\":\"Specifies a list of variables whose future realizations can be correlated with the error term but whose present and past realizations are not.\",\"type\":\"value\"}]},{\"name\":\"LAG\",\"description\":\"Generally, creating lags of variables in a panel setting is a tedious process in which you must generate many DATA STEP statements. The PANEL procedure now enables you to generate lags of any series without jumping across any individual’s boundary. The lag statement is a data set generation tool.\",\"help\":\"LAG &lt;OUT= SAS-data-set&gt;\",\"arguments\":[{\"name\":\"OUT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the output data set. The output data set includes all variables in the input set, plus the lags that are denoted with the convention originalvar_lag.\",\"type\":\"value\"}]},{\"name\":\"MODEL\",\"description\":\"The MODEL statement specifies the regression model and the error structure assumed for the regression residuals. The response variable on the left side of the equal sign is regressed on the independent variables listed after the equal sign. Any number of MODEL statements can be used. For each model statement, only one response variable can be specified on the left side of the equal sign.\",\"help\":\"MODEL &lt;ARTEST=integer&gt;&lt;ATOL=number&gt;&lt;BANDOPT=&lt;TRAILING | CENTERED | LEADING&gt;&gt; ...\",\"arguments\":[{\"name\":\"ARTEST=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the maximum order of the test for the presence of AR effects in the residual. The acceptable range of values for this option is 1 to t-3.\",\"help\":\"ARTEST=*integer*\",\"type\":\"value\"},{\"name\":\"ATOL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the convergence criterion for iterated GMM when convergence of the method is determined by convergence in the weighting matrix. The convergence criterion must be positive.\",\"help\":\"ATOL=*number*\",\"type\":\"value\"},{\"name\":\"BANDOPT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies which observations are included in the instrument list when the MAXBAND option is employed.\",\"help\":\"BANDOPT=TRAILING | CENTERED | LEADING\",\"type\":\"choice\",\"arguments\":[{\"name\":\"TRAILING\",\"followsDelimiter\":\"/\",\"description\":\"(No description available)\",\"type\":\"standalone\"},{\"name\":\"CENTERED\",\"followsDelimiter\":\"/\",\"description\":\"(No description available)\",\"type\":\"standalone\"},{\"name\":\"LEADING\",\"followsDelimiter\":\"/\",\"description\":\"(No description available)\",\"type\":\"standalone\"}]},{\"name\":\"BP\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests the Breusch-Pagan one-way test for random effects.\",\"type\":\"standalone\"},{\"name\":\"BP2\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests the Breusch-Pagan two-way test for random effects.\",\"type\":\"standalone\"},{\"name\":\"BTOL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the convergence criterion for iterated GMM when convergence of the method is determined by convergence in the parameter matrix. The convergence criterion must be positive. The default is BTOL=1e–8.\",\"help\":\"BTOL=*number*\",\"type\":\"value\"},{\"name\":\"BTWNG\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies that a between-groups model be estimated.\",\"type\":\"standalone\"},{\"name\":\"BTWNT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies that a between-time-periods model be estimated.\",\"type\":\"standalone\"},{\"name\":\"CORRB\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"CORR\"],\"description\":\"Prints the matrix of estimated correlations between the parameter estimates.\",\"type\":\"standalone\"},{\"name\":\"COVB\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"VAR\"],\"description\":\"Prints the matrix of estimated covariances between the parameter estimates.\",\"type\":\"standalone\"},{\"name\":\"DASILVA\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies that the model be estimated by using the Da Silva method, which assumes a mixed variance-component moving-average model for the error structure.\",\"type\":\"standalone\"},{\"name\":\"FIXONE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies that a one-way fixed-effects model be estimated with the one-way model corresponding to cross-sectional effects only.\",\"type\":\"standalone\"},{\"name\":\"FIXONETIME\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies that a one-way fixed-effects model be estimated with the one-way model corresponding to time effects only.\",\"type\":\"standalone\"},{\"name\":\"FIXTWO\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies that a two-way fixed-effects model be estimated.\",\"type\":\"standalone\"},{\"name\":\"FULLER\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies that the model be estimated by using the Fuller-Battese method, which assumes a variance components model for the error structure.\",\"type\":\"standalone\"},{\"name\":\"GINV=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies what type of generalized inverse to use. The default is a G2 inverse.\",\"help\":\"GINV=G2 | G4\",\"type\":\"choice\",\"arguments\":[{\"name\":\"G2\",\"followsDelimiter\":\"/\",\"description\":\"G2 inverse. This is the default.\",\"type\":\"standalone\"},{\"name\":\"G4\",\"followsDelimiter\":\"/\",\"description\":\"G4 inverse.\",\"type\":\"standalone\"}]},{\"name\":\"GMM\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies that the model be estimated by using the dynamic panel estimator method, which allows for autoregressive processes. This is the single-step model.\",\"type\":\"standalone\"},{\"name\":\"HCCME=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the type of HCCME variance-covariance matrix requested. The expected range of values is no or 0 to 4. The default is zero, no correction.\",\"help\":\"HCCME=*number*\",\"type\":\"value\"},{\"name\":\"ITGMM\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies that the model be estimated by using the dynamic panel estimator method, but that PROC PANEL keep updating the weighting matrix until either the parameter vector converges or the weighting matrix converges.\",\"type\":\"standalone\"},{\"name\":\"ITPRINT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Prints out the iteration history of the parameter and transformed sum of error squared.\",\"type\":\"standalone\"},{\"name\":\"M=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the order of the moving-average process in the Da Silva method. The value of the M=option must be less than . The default is M=1.\",\"help\":\"M=*number*\",\"type\":\"value\"},{\"name\":\"MAXBAND=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the maximum number of time periods (per instrumental variable) that are allowed into the moment condition. The acceptable range of values for this option is 1 to t-1. The default value is MAXBAND=1 or MAXBAND=2, depending on the BANDOPT option.\",\"help\":\"MAXBAND=*integer*\",\"type\":\"value\"},{\"name\":\"MAXITER=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the maximum number of iterations allowed for the iterated GMM option. The default value is MAXITER=200.\",\"type\":\"value\"},{\"name\":\"NODIFFS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies that the dynamic panel model be estimated without moment conditions from the difference equations.\",\"type\":\"standalone\"},{\"name\":\"NOESTIM\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Limits the estimation of a FIXONE, FIXONETIME, RANONE model to the generation of the transformed series. This option is intended for use with an OUTTRANS= data set.\",\"type\":\"standalone\"},{\"name\":\"NOINT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Suppresses the intercept parameter from the model.\",\"type\":\"standalone\"},{\"name\":\"NOLOEVELS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies that the dynamic panel model be estimated without moment conditions from the level equations.\",\"type\":\"standalone\"},{\"name\":\"NOPRINT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Suppresses the normal printed output.\",\"type\":\"standalone\"},{\"name\":\"PARKS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies that the model be estimated by using the Parks method, which assumes a first-order autoregressive model for the error structure.\",\"type\":\"standalone\"},{\"name\":\"PHI\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Prints the Φ matrix of estimated covariances of the observations for the Parks method. The PHI option is relevant only when the PARKS option is used.\",\"type\":\"standalone\"},{\"name\":\"POOLED\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies that a pooled (OLS) model be estimated.\",\"type\":\"standalone\"},{\"name\":\"RANONE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies that a one-way random-effects model be estimated.\",\"type\":\"standalone\"},{\"name\":\"RANTWO\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies that a two-way random-effects model be estimated.\",\"type\":\"standalone\"},{\"name\":\"RHO\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Prints the estimated autocorrelation coefficients for the Parks method.\",\"type\":\"standalone\"},{\"name\":\"ROBUST\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies that robust weighting matrix be used in the calculation of the variance-covariance matrix of the single step estimator.\",\"type\":\"standalone\"},{\"name\":\"SINGULAR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies a singularity criterion for the inversion of the matrix. The default depends on the precision of the computer system.\",\"help\":\"SINGULAR=*number*\",\"type\":\"value\"},{\"name\":\"TIME\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies that the model be estimated by using the dynamic panel estimator method, but that PROC PANEL includes time dummy variables to model any time effects present in the data.\",\"type\":\"standalone\"},{\"name\":\"TWOSTEP\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies that the model be estimated by using the dynamic panel estimator method, but that two steps be used in the estimation. An initial first step is used to form an estimator for the weighting matrix used in the second step.\",\"type\":\"standalone\"},{\"name\":\"VCOMP=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the type of variance component estimate to use. The default is VCOMP=FB for balanced data and VCOMP=WK for unbalanced data.\",\"help\":\"VCOMP=FB | NL | WH | WK\",\"type\":\"choice\",\"arguments\":[{\"name\":\"FB\",\"followsDelimiter\":\"/\",\"description\":\"Uses the Fuller and Battese method for estimating variance components.\",\"type\":\"standalone\"},{\"name\":\"NL\",\"followsDelimiter\":\"/\",\"description\":\"Uses the Nerlove method for estimating variance components.\",\"type\":\"standalone\"},{\"name\":\"WH\",\"followsDelimiter\":\"/\",\"description\":\"Uses the Wallace and Hussain method for estimating variance components.\",\"type\":\"standalone\"},{\"name\":\"WK\",\"followsDelimiter\":\"/\",\"description\":\"Uses the Wansbeek and Kapteyn method for estimating variance components.\",\"type\":\"standalone\"}]}]},{\"name\":\"OUTPUT\",\"description\":\"The OUTPUT statement creates an output SAS data set.\",\"help\":\"OUTPUT &lt;OUT=SAS-data-set&gt;&lt;PREDICTED=name&gt;&lt;RESIDUAL=name&gt; ...\",\"arguments\":[{\"name\":\"OUT=\",\"optional\":true,\"description\":\"Names the output SAS data set to contain the predicted and transformed values. If the OUT= option is not specified, the new data set is named according to the DATAn convention.\",\"help\":\"OUT=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"PREDICTED=\",\"optional\":true,\"aliases\":[\"P=\"],\"description\":\"Writes the predicted values to the output data set.\",\"help\":\"PREDICTED=*name*\",\"type\":\"value\"},{\"name\":\"RESIDUAL=\",\"optional\":true,\"aliases\":[\"R=\"],\"description\":\"Writes the residuals from the predicted values based on both the structural and time series parts of the model to the output data set.\",\"help\":\"RESIDUAL=*name*\",\"type\":\"value\"}]},{\"name\":\"RESTRICT\",\"description\":\"The RESTRICT statement specifies linear equality restrictions on the parameters in the previous model statement. There can be as many unique restrictions as the number of parameters in the preceding model statement. Multiple RESTRICT statements are understood as joint restrictions on a model’s parameters. Restrictions on the intercept are obtained by the use of the keyword INTERCEPT.\",\"help\":\"RESTRICT \\\"string\\\" equation &lt;,equation2...&gt; \"},{\"name\":\"SLAG\",\"description\":\"Replaces missing values with the time mean for that variable in that time period. Note that missing values are replaced only if they are in the generated (lagged) series. Missing variables in the original variables are not changed.\",\"help\":\"SLAG &lt;OUT= SAS-data-set&gt;\",\"arguments\":[{\"name\":\"OUT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the output data set. The output data set includes all variables in the input set, plus the lags that are denoted with the convention originalvar_lag.\",\"type\":\"value\"}]},{\"name\":\"TEST\",\"description\":\"The TEST statement performs Wald, Lagrange multiplier and likelihood ratio tests of linear hypotheses about the regression parameters in the preceding MODEL statement. Each equation specifies a linear hypothesis to be tested. All hypotheses in one TEST statement are tested jointly. Variable names in the equations must correspond to regressors in the preceding MODEL statement, and each name represents the coefficient of the corresponding regressor. The keyword INTERCEPT refers to the coefficient of the intercept.\",\"help\":\"TEST &lt;ALL&gt;&lt;LM&gt;&lt;WALD&gt; ...\",\"arguments\":[{\"name\":\"ALL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies Wald, Lagrange multiplier and likelihood ratio tests.\",\"type\":\"standalone\"},{\"name\":\"LM\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the Lagrange multiplier test.\",\"type\":\"standalone\"},{\"name\":\"LR\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the likelihood ratio test.\",\"type\":\"standalone\"},{\"name\":\"WALD\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the WALD test.\",\"type\":\"standalone\"}]},{\"name\":\"XLAG\",\"description\":\"Replaces missing values with the overall mean for that variable. Note that missing values are replaced only if they are in the generated (lagged) series. Missing variables in the original variables are not changed.\",\"help\":\"XLAG &lt;OUT= SAS-data-set&gt;\",\"arguments\":[{\"name\":\"OUT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the output data set. The output data set includes all variables in the input set, plus the lags that are denoted with the convention originalvar_lag.\",\"type\":\"value\"}]},{\"name\":\"ZLAG\",\"description\":\"Replaces missing values with zero for that variable. Note that missing values are replaced only if they are in the generated (lagged) series. Missing variables in the original variables are not changed.\",\"help\":\"ZLAG &lt;OUT= SAS-data-set&gt;\",\"arguments\":[{\"name\":\"OUT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the output data set. The output data set includes all variables in the input set, plus the lags that are denoted with the convention originalvar_lag.\",\"type\":\"value\"}]}],\"supportSiteInformation\":{\"docsetId\":\"etsug\",\"docsetVersion\":\"latest\",\"docsetTargetFile\":\"etsug_panel_toc.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/PARETO.json",
    "content": "{\"name\":\"PARETO\",\"statements\":[{\"name\":\"PROC PARETO\",\"description\":\"The PARETO procedure creates Pareto charts, which display the relative frequency of quality-related problems in a process or operation. The frequencies are represented by bars that are ordered in decreasing magnitude. Thus, a Pareto chart can be used to decide which subset of problems should be solved first or which problem areas deserve the most attention. Pareto charts provide a tool for visualizing the Pareto principle, which states that a small subset of problems tend to occur much more frequently than the remaining problems. In Japanese industry, the Pareto chart is one of the \\\"seven basic QC tools\\\" heavily used by workers and engineers. † You can use the PARETO procedure to: † o construct Pareto charts from unsorted raw data (for instance, a set of quality problems that have not been classified into categories) or from a set of distinct categories and corresponding frequencies o construct Pareto charts based on the percentage of occurrence of each problem, the frequency (number of occurrences), or a weighted frequency (such as frequency weighted by the cost of each problem) o add a curve indicating the cumulative percentage across categories o construct side-by-side Pareto charts or stacked Pareto charts o construct comparative Pareto charts that enable you to compare the Pareto frequencies across levels of one or two classification variables. For example, you can compare the frequencies of problems encountered with three different machines for five consecutive days. o highlight the \\\"vital few\\\" and the \\\"useful many\\\"* categories by using different colors for bars corresponding to the n most frequently occurring categories or the m least frequently occurring categories. o create charts with bars oriented vertically or horizontally o highlight special categories by using different colors for specific bars o create charts as traditional graphics, ODS Graphics output, or legacy line printer charts o annotate traditional graphics charts o inset summary statistics in graphical output o save traditional graphics output in a graphics catalog for subsequent replay o display sample sizes on Pareto charts o display frequencies above the bars o define characters used for features of line printer charts o save information associated with the categories (such as the frequencies) in an output data set o restrict the number of categories displayed to the n most frequently occurring categories\",\"help\":\"PROC PARETO <ANNOTATE2=SAS-data-set><ANNOTATE=SAS-data-set><DATA=SAS-data-set><FORMCHAR='string'><GOUT=graphics-catalog><LINEPRINTER>;     \\n\\tHBAR <ANCHOR=<BR | LC | RC>... ><ANGLE=value><ANNOKEY> ...;\\n\\n\\tINSET <CFILL=color | BLANK><CFILL=BLANK><CFILLH=color> ...;\\n\\n\\tVBAR <ANCHOR=<BC | BL | TC>... ><ANGLE=value><ANNOKEY> ...;\\n\",\"arguments\":[{\"name\":\"ANNOTATE2=\",\"optional\":true,\"aliases\":[\"ANNO2=\"],\"description\":\"Specifies an input data set that contains annotate variables. You can use this data set to customize traditional graphics charts with features such as labels explaining critical categories.\",\"help\":\"ANNOTATE2=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"ANNOTATE=\",\"optional\":true,\"aliases\":[\"ANNO=\"],\"description\":\"Specifies an input data set that contains appropriate annotate variables.\",\"help\":\"ANNOTATE=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"DATA=\",\"optional\":true,\"description\":\"Specifies an input data set that contains the process variables and related variables.\",\"help\":\"DATA=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"FORMCHAR=\",\"optional\":true,\"description\":\"Specifies a form character list that enhances the appearance of line printer charts with corner characters and other special characters.\",\"help\":\"FORMCHAR='*string*'\",\"type\":\"value\"},{\"name\":\"GOUT=\",\"optional\":true,\"description\":\"Specifies the graphics catalog in which to save traditional graphics output.\",\"help\":\"GOUT=*graphics-catalog*\",\"type\":\"dataSet\"},{\"name\":\"LINEPRINTER\",\"optional\":true,\"description\":\"Requests that line printer charts be produced. By default, the procedure creates traditional graphics.\",\"type\":\"standalone\"}]},{\"name\":\"HBAR\",\"description\":\"The HBAR statement creates a Pareto chart with horizontal bars representing the frequencies of problems in a process or operation.\",\"help\":\"HBAR &lt;ANCHOR=&lt;BR | LC | RC&gt;... &gt;&lt;ANGLE=value&gt;&lt;ANNOKEY&gt; ...\",\"arguments\":[{\"name\":\"ANCHOR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies where the Pareto curve is anchored to the topmost bar on the chart.\",\"help\":\"ANCHOR=BR | LC | RC | TL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"BR\",\"followsDelimiter\":\"/\",\"description\":\"Bottom right cornerr\",\"type\":\"standalone\"},{\"name\":\"LC\",\"followsDelimiter\":\"/\",\"description\":\"Left center\",\"type\":\"standalone\"},{\"name\":\"RC\",\"followsDelimiter\":\"/\",\"description\":\"Right center\",\"type\":\"standalone\"},{\"name\":\"TL\",\"followsDelimiter\":\"/\",\"description\":\"Top left corner\",\"type\":\"standalone\"}]},{\"name\":\"ANGLE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies an angle in degrees for rotating the Pareto category labels on the vertical axis. The value is the angle between the baseline of the label and the horizontal axis.\",\"help\":\"ANGLE=*value*\",\"type\":\"value\"},{\"name\":\"ANNOKEY\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies that annotation requested with the ANNOTATE= and ANNOTATE2= options is to be applied only to the key cell in a comparative Pareto chart.\",\"type\":\"standalone\"},{\"name\":\"ANNOTATE2=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"ANNO2=\"],\"description\":\"Specifies an input data set that contains annotate variables. This data set is associated with the secondary vertical axis.\",\"help\":\"ANNOTATE2=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"ANNOTATE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"ANNO=\"],\"description\":\"Specifies an input data set that contains annotate variables. This data set is associated with the primary vertical axis.\",\"help\":\"ANNOTATE=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"AXISFACTOR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies a factor used in scaling the primary horizontal axis.\",\"help\":\"AXISFACTOR=*value*\",\"type\":\"value\"},{\"name\":\"BARLABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies that a label is to be displayed to the right of each bar.\",\"help\":\"BARLABEL=VALUE | CMPCT | (*variable*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"VALUE\",\"followsDelimiter\":\"/\",\"description\":\"The label indicates the length of the bar in the units used by the primary horizontal axis.\",\"type\":\"standalone\"},{\"name\":\"CMPCT\",\"followsDelimiter\":\"/\",\"description\":\"The label indicates the cumulative percent for that bar.\",\"type\":\"standalone\"},{\"name\":\"(variable)\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"The label indicates the values of the variable specified in parentheses.\",\"type\":\"value\"}]},{\"name\":\"BARLABPOS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the position for labels requested with the BARLABEL= option.\",\"help\":\"BARLABPOS=HBAR | HFIT | HRIGHT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"HBAR\",\"followsDelimiter\":\"/\",\"description\":\"Displays the labels on the bars.\",\"type\":\"standalone\"},{\"name\":\"HFIT\",\"followsDelimiter\":\"/\",\"description\":\"Displays the labels on or to the right of the bars, depending on the available space.\",\"type\":\"standalone\"},{\"name\":\"HRIGHT\",\"followsDelimiter\":\"/\",\"description\":\"Displays the labels to the right of the bars.\",\"type\":\"standalone\"}]},{\"name\":\"BARLEGEND=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies that a legend is to be added to the chart to explain colors for bars specified with the CBARS=(variable-list) options, or patterns for bars specified with the PBARS=(variable-list) option. The variable-list must be enclosed in parentheses even if only one variable is specified.\",\"type\":\"value\"},{\"name\":\"BARLEGLABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the label displayed to the left of the legend created with the BARLEGEND= option.\",\"help\":\"BARLEGLABEL='*label*'\",\"type\":\"value\"},{\"name\":\"BARS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Groups bars of the Pareto chart for display using colors from the current ODS style.\",\"type\":\"value\"},{\"name\":\"BARWIDTH=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the width of the bars in percent screen units. By default, the bars are as wide as possible.\",\"help\":\"BARWIDTH=*value*\",\"type\":\"value\"},{\"name\":\"CATLEGLABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies a label for the category legend that is added when there is insufficient space to label the categories along the horizontal axis. The label can be up to 16 characters and must be enclosed in quotes.\",\"help\":\"CATLEGLABEL='*label*'\",\"type\":\"value\"},{\"name\":\"CAXIS2=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the color for the tick mark labels and axis label associated with the secondary axis.\",\"type\":\"value\"},{\"name\":\"CAXIS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"CAXES=\",\"CA=\"],\"description\":\"Specifies the color for the axis line and tick marks on the chart.\",\"help\":\"CAXIS=*color*\",\"type\":\"color\"},{\"name\":\"CBARLINE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the color for bar outlines.\",\"help\":\"CBARLINE=*color*\",\"type\":\"color\"},{\"name\":\"CBARS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies how the bars of the Pareto chart are to be colored.\",\"help\":\"CBARS=*color*\",\"type\":\"color\"},{\"name\":\"CCONNECT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the color for line segments connecting points on the cumulative percent curve.\",\"help\":\"CCONNECT=*color*\",\"type\":\"color\"},{\"name\":\"CFRAME=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the color for filling the area enclosed by the axes and the frame. The CFRAME= option cannot be used in conjunction with the NOFRAME option or the CTILES= option.\",\"help\":\"CFRAME=*color*\",\"type\":\"color\"},{\"name\":\"CFRAMENLEG\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies that the legend requested with the NLEGEND option be framed and that the frame be filled with a color from the ODS style.\",\"type\":\"color\"},{\"name\":\"CFRAMENLEG=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies that the legend requested with the NLEGEND option be framed and that the frame be filled with the color indicated.\",\"help\":\"CFRAMENLEG=*color*\",\"type\":\"color\"},{\"name\":\"CFRAMESIDE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the color for filling the frame area for the row labels displayed along the left side of a comparative Pareto chart requested with the CLASS= option.\",\"help\":\"CFRAMESIDE=*color*\",\"type\":\"color\"},{\"name\":\"CFRAMETOP=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the color for filling the frame area for the column labels displayed across the top of a comparative Pareto chart requested with the CLASS= option.\",\"help\":\"CFRAMETOP=*color*\",\"type\":\"color\"},{\"name\":\"CGRID2=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the color for grid lines requested with the GRID2 option.\",\"type\":\"value\"},{\"name\":\"CGRID=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the color for grid lines requested with the GRID option.\",\"help\":\"CGRID=*color*\",\"type\":\"color\"},{\"name\":\"CHIGH=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the color used to fill the bars with the n highest values.\",\"type\":\"value\"},{\"name\":\"CHREF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the color for the lines requested with the HREF= option.\",\"help\":\"CHREF=*color*\",\"type\":\"color\"},{\"name\":\"CLASS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Creates a comparative Pareto chart using the levels of the variables. You must enclose two variables in parentheses.\",\"type\":\"value\"},{\"name\":\"CLASSKEY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the key cell in a comparative Pareto chart requested with the CLASS= option.\",\"type\":\"value\"},{\"name\":\"CLIPREF\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Draws reference lines requested with the HREF= and VREF= options behind the bars on the Pareto chart.\",\"type\":\"standalone\"},{\"name\":\"CLOW\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies to fill the bars with the n lowest values with a color from the ODS style.\",\"type\":\"color\"},{\"name\":\"CLOW=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the color used to fill the bars with the n lowest values.\",\"type\":\"value\"},{\"name\":\"CMPCTLABEL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Labels points on the cumulative percent curve with their values. By default, the points are not labeled.\",\"type\":\"standalone\"},{\"name\":\"COTHER=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the color for the bar defined by the OTHER= option.\",\"help\":\"COTHER=*color*\",\"type\":\"color\"},{\"name\":\"CPROP\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests a proportion-of-frequency bar filled with a color from the ODS style to be displayed vertically along the right side of each tile in a comparative Pareto chart.\",\"type\":\"color\"},{\"name\":\"CPROP=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests a proportion-of-frequency bar of the specified color displayed vertically along the right side of each tile in a comparative Pareto chart.\",\"help\":\"CPROP=*color*\",\"type\":\"color\"},{\"name\":\"CTEXT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"CT=\"],\"description\":\"Specifies the color for text, such as tick mark labels, axis labels, and legends.\",\"help\":\"CTEXT=*color*\",\"type\":\"color\"},{\"name\":\"CTEXTSIDE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the color for row labels displayed along the left side of a comparative Pareto chart requested with the CLASS= option.\",\"help\":\"CTEXTSIDE=*color*\",\"type\":\"color\"},{\"name\":\"CTEXTTOP=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the color for column labels displayed across the top of a comparative Pareto chart requested with the CLASS= option.\",\"help\":\"CTEXTTOP=*color*\",\"type\":\"color\"},{\"name\":\"CTILES=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies a character variable of length eight whose values are the fill colors for the tiles in a comparative Pareto chart.\",\"type\":\"value\"},{\"name\":\"CVREF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the color for the lines requested by the VREF= and VREF2= options.\",\"help\":\"CVREF=*color*\",\"type\":\"color\"},{\"name\":\"DESCRIPTION=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"DES=\"],\"description\":\"Specifies a descriptive string, up to 256 characters, that appears in the description field of the PROC GREPLAY master menu for traditional graphics output.\",\"help\":\"DESCRIPTION='*string*'\",\"type\":\"value\"},{\"name\":\"FONT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies a software font for text used in labels and legends.\",\"help\":\"FONT=*font*\",\"type\":\"value\"},{\"name\":\"FREQ=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies a frequency variable whose value provides the counts (numbers of occurrences) of the values of the process variable.\",\"help\":\"FREQ=*variable*\",\"type\":\"value\"},{\"name\":\"FRONTREF\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Draws reference lines specified with the HREF= and VREF= options in front of the bars on the Pareto chart.\",\"type\":\"standalone\"},{\"name\":\"GRID\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Adds a grid to the Pareto chart corresponding to the primary vertical axis.\",\"type\":\"standalone\"},{\"name\":\"GRID2\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Adds a grid to the Pareto chart corresponding to the secondary vertical axis.\",\"type\":\"standalone\"},{\"name\":\"HAXIS2=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies tick mark values for the secondary horizontal axis.\",\"type\":\"value\"},{\"name\":\"HAXIS2LABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies a label, up to 40 characters, for the secondary horizontal axis.\",\"type\":\"value\"},{\"name\":\"HAXIS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies tick mark values for the primary horizontal axis.\",\"help\":\"HAXIS=*value-list*\",\"type\":\"value\"},{\"name\":\"HAXISLABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies a label, up to 40 characters, for the primary horizontal axis.\",\"help\":\"HAXISLABEL='*label*'\",\"type\":\"value\"},{\"name\":\"HEIGHT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the height in percent screen units of text for labels and legends.\",\"help\":\"HEIGHT=*value*\",\"type\":\"value\"},{\"name\":\"HLLEGLABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies a label displayed to the left of the legend that is automatically created when you use a combination of the CHIGH, CLOW, PHIGH, and PLOW options.\",\"help\":\"HLLEGLABEL='*label*'\",\"type\":\"value\"},{\"name\":\"HOFFSET=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the length (in percent screen units) of the offset at the right end of the primary horizontal axis. You can eliminate the offset by specifying HOFFSET=0.\",\"help\":\"HOFFSET=*value*\",\"type\":\"value\"},{\"name\":\"HREF2=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies where reference lines perpendicular to the secondary horizontal axis are to appear on the chart. Character values can be up to 64 characters and must be enclosed in quotes.\",\"type\":\"value\"},{\"name\":\"HREF2LABELS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies labels for the lines requested with the HREF2= option.\",\"type\":\"value\"},{\"name\":\"HREF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies where reference lines perpendicular to the primary horizontal axis are to appear on the chart. Character values can be up to 64 characters and must be enclosed in quotes.\",\"help\":\"HREF='*value-list*'\",\"type\":\"value\"},{\"name\":\"HREFLABELS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies labels for the lines requested with the HREF= option.\",\"type\":\"value\"},{\"name\":\"HREFLABPOS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the vertical position of the HREFLABELS= labels.\",\"help\":\"HREFLABPOS=1 | 2 | 3 | 4\",\"type\":\"choice\",\"arguments\":[{\"name\":\"1\",\"followsDelimiter\":\"/\",\"description\":\"Along top of chart\",\"type\":\"standalone\"},{\"name\":\"2\",\"followsDelimiter\":\"/\",\"description\":\"Staggered from top to bottom of chart\",\"type\":\"standalone\"},{\"name\":\"3\",\"followsDelimiter\":\"/\",\"description\":\"Along bottom of chart\",\"type\":\"standalone\"},{\"name\":\"4\",\"followsDelimiter\":\"/\",\"description\":\"Staggered from bottom to top of chart\",\"type\":\"standalone\"}]},{\"name\":\"HTML=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies URLs as values of the specified character variable (or formatted values of a numeric variable). These URLs are associated with bars on the Pareto chart when traditional graphics output is directed into HTML.\",\"help\":\"HTML=*variable*\",\"type\":\"value\"},{\"name\":\"INFONT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies a software font for text used inside the frame of the chart, such as sample size legends.\",\"help\":\"INFONT=*font*\",\"type\":\"value\"},{\"name\":\"INHEIGHT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the height in percent screen units of text used inside the frame of the chart, such as sample size legends and bar labels.\",\"type\":\"value\"},{\"name\":\"INTERBAR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the distance in percent screen units between bars on the chart.\",\"help\":\"INTERBAR=*value*\",\"type\":\"value\"},{\"name\":\"INTERTILE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the distance in horizontal percent screen units between tiles (cells) in a comparative Pareto chart.\",\"help\":\"INTERTILE=*value*\",\"type\":\"value\"},{\"name\":\"LABOTHER=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Is used in conjunction with the BARLABEL=(variable) option and specifies a label for the \\\"other\\\" category that is optionally specified with the OTHER= option.\",\"type\":\"value\"},{\"name\":\"LAST=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies that the bar corresponding to the category is to be displayed at the bottom of the chart regardless of the percent associated with this category\",\"help\":\"LAST='*category*'\",\"type\":\"value\"},{\"name\":\"LGRID2=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the line type for the grid requested with the GRID2 option.\",\"type\":\"value\"},{\"name\":\"LGRID=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the line type for the grid requested with the GRID option.\",\"help\":\"LGRID=*line-type*\",\"type\":\"value\"},{\"name\":\"LHREF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"LH=\"],\"description\":\"Specifies the line type for lines requested with the HREF= option.\",\"help\":\"LHREF=*line-type*\",\"type\":\"value\"},{\"name\":\"LOTHER=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies a label for the bar defined with the OTHER= option.\",\"help\":\"LOTHER='*label*'\",\"type\":\"value\"},{\"name\":\"LVREF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"LV=\"],\"description\":\"Specifies the line type for lines requested by the VREF= and VREF2= options.\",\"help\":\"LVREF=*line-type*\",\"type\":\"value\"},{\"name\":\"MARKERS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies that the points on the cumulative percent curve be plotted with markers in ODS Graphics output.\",\"type\":\"standalone\"},{\"name\":\"MAXCMPCT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies that only the Pareto categories with the n highest frequency counts are to be displayed, where the sum of the n corresponding percents is less than or equal to the specified percent.\",\"help\":\"MAXCMPCT=*percent*\",\"type\":\"value\"},{\"name\":\"MAXNCAT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies that only the Pareto categories with the n highest frequencies are to be displayed.\",\"help\":\"MAXNCAT=*n*\",\"type\":\"value\"},{\"name\":\"MINPCT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies that only the Pareto categories with frequency percents greater than or equal to the specified percent are to be displayed.\",\"help\":\"MINPCT=*percent*\",\"type\":\"value\"},{\"name\":\"MISSING\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies that missing values of the process variable are to be treated as a Pareto category represented with a bar on the chart.\",\"type\":\"standalone\"},{\"name\":\"MISSING1\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies that missing values of the first CLASS= variable are to be treated as a level of the CLASS= variable.\",\"type\":\"standalone\"},{\"name\":\"MISSING2\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies that missing values of the second CLASS= variable are to be treated as a level of the CLASS= variable.\",\"type\":\"standalone\"},{\"name\":\"NAME=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies a name for a traditional graphics chart, up to eight characters, that appears in the PROC GREPLAY master menu. The default name is 'PARETO'.\",\"help\":\"NAME='*string*'\",\"type\":\"value\"},{\"name\":\"NCOLS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"NCOL=\"],\"description\":\"Specifies the number of columns in a comparative Pareto chart.\",\"help\":\"NCOLS=*n*\",\"type\":\"value\"},{\"name\":\"NLEGEND\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests a sample size legend and specifies its form as N=n, where n is the total count for the Pareto categories. In a comparative Pareto chart, a legend is displayed in each tile, and n is the total count for that particular cell.\",\"type\":\"standalone\"},{\"name\":\"NLEGEND=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests a sample size legend and specifies its form as label=n, where n is the total count for the Pareto categories. If you specify the NLEGEND=(variable) option, the legend is the value of the variable, which must be a variable in the DATA= data set whose formatted length does not exceed 32.\",\"type\":\"value\"},{\"name\":\"NOCHART\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Suppresses the creation of a Pareto chart.\",\"type\":\"standalone\"},{\"name\":\"NOCURVE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Suppresses the display of the cumulative percent curve and the secondary vertical axis.\",\"type\":\"standalone\"},{\"name\":\"NOFRAME\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Suppresses the frame that is drawn around the chart by default\",\"type\":\"standalone\"},{\"name\":\"NOHLABEL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Suppresses the label for the primary horizontal axis.\",\"type\":\"standalone\"},{\"name\":\"NOHLABEL2\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Suppresses the label for the secondary horizontal axis.\",\"type\":\"standalone\"},{\"name\":\"NOHLLEG\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Suppresses the legend generated by the CHIGH(n)=, CLOW(n)=, PHIGH(n)=, and PLOW(n)= options.\",\"type\":\"standalone\"},{\"name\":\"NOHTICK\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Suppresses the primary horizontal axis label, tick marks, and tick mark labels.\",\"type\":\"standalone\"},{\"name\":\"NOHTICK2\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Suppresses the secondary horizontal axis label, tick marks, and tick mark labels.\",\"type\":\"standalone\"},{\"name\":\"NOKEYMOVE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Suppresses the rearrangement of cells within a comparative Pareto chart that occurs when you use the CLASSKEY= option.\",\"type\":\"standalone\"},{\"name\":\"NOVLABEL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Suppresses the label for the vertical axis.\",\"type\":\"standalone\"},{\"name\":\"NROWS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"NROW=\"],\"description\":\"Specifies the number of rows in a comparative Pareto chart.\",\"help\":\"NROWS=*n*\",\"type\":\"value\"},{\"name\":\"ORDER1=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the display order for the values of the first CLASS= variable.\",\"help\":\"ORDER1=INTERNAL | FORMATTED | DATA | FREQ\",\"type\":\"choice\",\"arguments\":[{\"name\":\"INTERNAL\",\"followsDelimiter\":\"/\",\"description\":\"The rows (columns) are displayed from top to bottom (left to right) in increasing order of the internal, or unformatted, values of the first CLASS= variable.\",\"type\":\"standalone\"},{\"name\":\"FORMATTED\",\"followsDelimiter\":\"/\",\"description\":\"The rows (columns) are displayed from top to bottom (left to right) in increasing order of the formatted values of the first CLASS= variable.\",\"type\":\"standalone\"},{\"name\":\"DATA\",\"followsDelimiter\":\"/\",\"description\":\"The rows (columns) are displayed from top to bottom (left to right) in the order in which the values of the first CLASS= variable first appear in the input data set.\",\"type\":\"standalone\"},{\"name\":\"FREQ\",\"followsDelimiter\":\"/\",\"description\":\"The rows (columns) are displayed from top to bottom (left to right) in order of decreasing frequency count.\",\"type\":\"standalone\"}]},{\"name\":\"ORDER2=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the display order for the values of the second CLASS= variable.\",\"help\":\"ORDER2=INTERNAL | FORMATTED | DATA | FREQ\",\"type\":\"choice\",\"arguments\":[{\"name\":\"INTERNAL\",\"followsDelimiter\":\"/\",\"description\":\"The rows (columns) are displayed from top to bottom (left to right) in increasing order of the internal, or unformatted, values of the first CLASS= variable.\",\"type\":\"standalone\"},{\"name\":\"FORMATTED\",\"followsDelimiter\":\"/\",\"description\":\"The rows (columns) are displayed from top to bottom (left to right) in increasing order of the formatted values of the first CLASS= variable.\",\"type\":\"standalone\"},{\"name\":\"DATA\",\"followsDelimiter\":\"/\",\"description\":\"The rows (columns) are displayed from top to bottom (left to right) in the order in which the values of the first CLASS= variable first appear in the input data set.\",\"type\":\"standalone\"},{\"name\":\"FREQ\",\"followsDelimiter\":\"/\",\"description\":\"The rows (columns) are displayed from top to bottom (left to right) in order of decreasing frequency count.\",\"type\":\"standalone\"}]},{\"name\":\"OTHER=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies a new category that merges all categories not selected with the MAXNCAT=, MINPCT=, or MAXCMPCT= options.\",\"help\":\"OTHER='*category*'\",\"type\":\"value\"},{\"name\":\"OTHERCVAL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the internal (unformatted) value for a character process variable in the OUT= data set that corresponds to the category created with the OTHER= option.\",\"help\":\"OTHERCVAL='*value*'\",\"type\":\"value\"},{\"name\":\"OTHERNVAL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the internal (unformatted) value for a numeric process variable in the OUT= data set that corresponds to the category created with the OTHER= option.\",\"help\":\"OTHERNVAL=*value*\",\"type\":\"value\"},{\"name\":\"OUT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Creates an output data set that contains the information displayed in the Pareto chart.\",\"help\":\"OUT=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"PBARS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies pattern fills for the bars.\",\"type\":\"value\"},{\"name\":\"PHIGH=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the pattern used to fill the bars with the n highest values.\",\"type\":\"value\"},{\"name\":\"PLOW=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the pattern used to fill the bars with the n lowest values.\",\"type\":\"value\"},{\"name\":\"POTHER=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the pattern used for the bar defined by the OTHER= option.\",\"help\":\"POTHER=*pattern*\",\"type\":\"value\"},{\"name\":\"SCALE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the scale for the primary horizontal axis.\",\"help\":\"SCALE=PERCENT | COUNT | WEIGHT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"PERCENT\",\"followsDelimiter\":\"/\",\"description\":\"The scale is percent of total frequency; this is the default.\",\"type\":\"standalone\"},{\"name\":\"COUNT\",\"followsDelimiter\":\"/\",\"description\":\"The scale is counts.\",\"type\":\"standalone\"},{\"name\":\"WEIGHT\",\"followsDelimiter\":\"/\",\"description\":\"The vertical axis is scaled in the same units as the WEIGHT= variable.\",\"type\":\"standalone\"}]},{\"name\":\"TILELEGEND=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies a variable used to add a legend for CTILES= colors.\",\"type\":\"value\"},{\"name\":\"TILELEGLABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies a label displayed to the left of the legend that is created when you specify a TILELEGEND= variable.\",\"help\":\"TILELEGLABEL='*label*'\",\"type\":\"value\"},{\"name\":\"VOFFSET=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the length in percent screen units of the offset at both ends of the vertical axis.\",\"help\":\"VOFFSET=*value*\",\"type\":\"value\"},{\"name\":\"VREF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies where reference lines perpendicular to the vertical (Pareto category) axis are to appear on the chart.\",\"help\":\"VREF=*value-list*\",\"type\":\"value\"},{\"name\":\"VREFLABELS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies labels for the lines requested with the VREF= option.\",\"type\":\"value\"},{\"name\":\"VREFLABPOS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the vertical positioning of the VREFLABEL= and VREF2LABEL= labels.\",\"help\":\"VREFLABPOS=1 | 2 | 3\",\"type\":\"choice\",\"arguments\":[{\"name\":\"1\",\"followsDelimiter\":\"/\",\"description\":\"Left-justified in chart\",\"type\":\"standalone\"},{\"name\":\"2\",\"followsDelimiter\":\"/\",\"description\":\"Right-justified in chart\",\"type\":\"standalone\"},{\"name\":\"3\",\"followsDelimiter\":\"/\",\"description\":\"Left-justified in right margin\",\"type\":\"standalone\"}]},{\"name\":\"WAXIS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the line thickness (in pixels) for the axes and frame.\",\"help\":\"WAXIS=*n*\",\"type\":\"value\"},{\"name\":\"WBARLINE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the width for bar outlines.\",\"help\":\"WBARLINE=*n*\",\"type\":\"value\"},{\"name\":\"WEIGHT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies weight variables used to construct weighted Pareto charts.\",\"help\":\"WEIGHT=*variable-list*\",\"type\":\"value\"},{\"name\":\"WGRID2=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the width of the secondary chart grid lines.\",\"type\":\"value\"},{\"name\":\"WGRID=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the width of the primary chart grid lines.\",\"help\":\"WGRID=*n*\",\"type\":\"value\"}]},{\"name\":\"INSET\",\"description\":\"The INSET statement enables you to enhance a Pareto chart by adding a box or table (referred to as an inset) of summary statistics directly to the graph.\",\"help\":\"INSET &lt;CFILL=color | BLANK&gt;&lt;CFILL=BLANK&gt;&lt;CFILLH=color&gt; ...\",\"arguments\":[{\"name\":\"N\",\"description\":\"Sample size\",\"type\":\"standalone\"},{\"name\":\"NEXCL\",\"description\":\"Observations excluded in restricted Pareto chart\",\"type\":\"standalone\"},{\"name\":\"NOTHER\",\"description\":\"Number of observations in OTHER= category\",\"type\":\"standalone\"},{\"name\":\"NOTHERCAT\",\"description\":\"Number of categories merged to form OTHER= category in restricted Pareto chart\",\"type\":\"standalone\"},{\"name\":\"SUMWGTS\",\"description\":\"Sum across all categories of weighted frequencies\",\"type\":\"standalone\"},{\"name\":\"CFILL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the color of the background (including the header background if you do not specify the CFILLH= option). CFILL=BLANK leaves the background uncolored and prevents items from showing through the inset.\",\"help\":\"CFILL=*color* | BLANK\",\"type\":\"choice\",\"arguments\":[{\"name\":\"color\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the color of the background (including the header background if you do not specify the CFILLH= option).\",\"type\":\"color\"},{\"name\":\"BLANK\",\"followsDelimiter\":\"/\",\"description\":\"Leaves the background uncolored and prevents items from showing through the inset.\",\"type\":\"standalone\"}]},{\"name\":\"CFILLH=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the color of the header background. By default, if you do not specify a CFILLH= color, the CFILL= color is used.\",\"help\":\"CFILLH=*color*\",\"type\":\"color\"},{\"name\":\"CFRAME=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the color of the frame. By default, the frame is the same color as the axis of the plot.\",\"help\":\"CFRAME=*color*\",\"type\":\"color\"},{\"name\":\"CHEADER=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the color of the header text. By default, if you do not specify a CHEADER= color, the CTEXT= color is used.\",\"help\":\"CHEADER=*color*\",\"type\":\"color\"},{\"name\":\"CSHADOW=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the color of the drop shadow.\",\"help\":\"CSHADOW=*color*\",\"type\":\"color\"},{\"name\":\"CTEXT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the color of the text. By default, the inset text color is the same as the other text on the plot.\",\"help\":\"CTEXT=*color*\",\"type\":\"color\"},{\"name\":\"DATA\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies that data coordinates are to be used in positioning the inset with the POSITION= option.\",\"type\":\"standalone\"},{\"name\":\"DATA=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"(label, value) pairs from SAS-data-set\",\"type\":\"value\"},{\"name\":\"FONT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the font of the text. By default, the font is SIMPLEX if the inset is located in the interior of the plot, and the font is the same as the other text displayed on the plot if the inset is located in the exterior of the plot.\",\"help\":\"FONT=*font*\",\"type\":\"value\"},{\"name\":\"FORMAT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies a format for all the values displayed in an inset.\",\"help\":\"FORMAT=*format*\",\"type\":\"value\"},{\"name\":\"HEADER=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the header text. The string cannot exceed 40 characters.\",\"type\":\"value\"},{\"name\":\"HEIGHT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the height of the text in screen percent units.\",\"help\":\"HEIGHT=*value*\",\"type\":\"value\"},{\"name\":\"NOFRAME\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Suppresses the frame drawn around the text.\",\"type\":\"standalone\"},{\"name\":\"POSITION=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Determines the position of the inset. The position can be a compass point keyword, a margin keyword, or a pair of coordinates (x,y). You can specify coordinates in axis percent units or axis data units.\",\"help\":\"POSITION=*position*\",\"type\":\"value\"},{\"name\":\"REFPOINT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the reference point for an inset that is positioned by a pair of coordinates with the POSITION= option.\",\"help\":\"REFPOINT=BR | BL | TR | TL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"BR\",\"followsDelimiter\":\"/\",\"description\":\"Bottom right\",\"type\":\"standalone\"},{\"name\":\"BL\",\"followsDelimiter\":\"/\",\"description\":\"Bottom left\",\"type\":\"standalone\"},{\"name\":\"TR\",\"followsDelimiter\":\"/\",\"description\":\"Top right\",\"type\":\"standalone\"},{\"name\":\"TL\",\"followsDelimiter\":\"/\",\"description\":\"Top left\",\"type\":\"standalone\"}]}]},{\"name\":\"VBAR\",\"description\":\"The VBAR statement creates a Pareto chart with vertical bars representing the frequencies of problems in a process or operation. A vertical Pareto chart has one horizontal axis on which the Pareto categories are listed.\",\"help\":\"VBAR &lt;ANCHOR=&lt;BC | BL | TC&gt;... &gt;&lt;ANGLE=value&gt;&lt;ANNOKEY&gt; ...\",\"arguments\":[{\"name\":\"ANCHOR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies where the Pareto curve is anchored to the leftmost bar on the chart.\",\"help\":\"ANCHOR=BC | BL | TC | TR\",\"type\":\"choice\",\"arguments\":[{\"name\":\"BC\",\"followsDelimiter\":\"/\",\"description\":\"Bottom center\",\"type\":\"standalone\"},{\"name\":\"BL\",\"followsDelimiter\":\"/\",\"description\":\"Bottom left corner\",\"type\":\"standalone\"},{\"name\":\"TC\",\"followsDelimiter\":\"/\",\"description\":\"Top center\",\"type\":\"standalone\"},{\"name\":\"TR\",\"followsDelimiter\":\"/\",\"description\":\"Top right corner\",\"type\":\"standalone\"}]},{\"name\":\"ANGLE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies an angle in degrees for rotating the Pareto category labels on the horizontal axis. The value is the angle between the baseline of the label and the horizontal axis.\",\"help\":\"ANGLE=*value*\",\"type\":\"value\"},{\"name\":\"ANNOKEY\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies that annotation requested with the ANNOTATE= and ANNOTATE2= options is to be applied only to the key cell in a comparative Pareto chart.\",\"type\":\"standalone\"},{\"name\":\"ANNOTATE2=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"ANNO2=\"],\"description\":\"Specifies an input data set that contains annotate variables. This data set is associated with the secondary vertical axis.\",\"help\":\"ANNOTATE2=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"ANNOTATE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"ANNO=\"],\"description\":\"Specifies an input data set that contains annotate variables. This data set is associated with the primary vertical axis.\",\"help\":\"ANNOTATE=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"AXISFACTOR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies a factor used in scaling the primary vertical axis.\",\"help\":\"AXISFACTOR=*value*\",\"type\":\"value\"},{\"name\":\"BARLABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies that a label is to be displayed above each bar.\",\"help\":\"BARLABEL=VALUE | CMPCT | (*variable*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"VALUE\",\"followsDelimiter\":\"/\",\"description\":\"The label indicates the height of the bar in the units used by the primary vertical axis.\",\"type\":\"standalone\"},{\"name\":\"CMPCT\",\"followsDelimiter\":\"/\",\"description\":\"The label indicates the cumulative percent for that bar.\",\"type\":\"standalone\"},{\"name\":\"(variable)\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"The label indicates the values of the variable specified in parentheses.\",\"type\":\"value\"}]},{\"name\":\"BARLABPOS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the position for labels requested with the BARLABEL= option.\",\"help\":\"BARLABPOS=VFIT | HCENTER | VBAR | LJUST\",\"type\":\"choice\",\"arguments\":[{\"name\":\"VFIT\",\"followsDelimiter\":\"/\",\"description\":\"Displays the labels vertically on or above the bars, depending on the available space (the labels are truncated if necessary).\",\"type\":\"standalone\"},{\"name\":\"HCENTER\",\"followsDelimiter\":\"/\",\"description\":\"Centers the labels horizontally above the bars.\",\"type\":\"standalone\"},{\"name\":\"VBAR\",\"followsDelimiter\":\"/\",\"description\":\"Displays the labels vertically on the bars (the labels are truncated if necessary).\",\"type\":\"standalone\"},{\"name\":\"LJUST\",\"followsDelimiter\":\"/\",\"description\":\"Left-justifies the labels horizontally above the bars.\",\"type\":\"standalone\"}]},{\"name\":\"BARLEGEND=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies that a legend is to be added to the chart to explain colors for bars specified with the BARS= or CBARS=(variable-list) options, or patterns for bars specified with the PBARS=(variable-list) option. The variable-list must be enclosed in parentheses even if only one variable is specified.\",\"type\":\"value\"},{\"name\":\"BARLEGLABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the label displayed to the left of the legend created with the BARLEGEND= option.\",\"help\":\"BARLEGLABEL='*label*'\",\"type\":\"value\"},{\"name\":\"BARS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Groups bars of the Pareto chart for display using colors from the current ODS style.\",\"type\":\"value\"},{\"name\":\"BARWIDTH=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the width of the bars in percent screen units. By default, the bars are as wide as possible.\",\"help\":\"BARWIDTH=*value*\",\"type\":\"value\"},{\"name\":\"CATLEGLABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies a label for the category legend that is added when there is insufficient space to label the categories along the horizontal axis. The label can be up to 16 characters and must be enclosed in quotes.\",\"help\":\"CATLEGLABEL='*label*'\",\"type\":\"value\"},{\"name\":\"CAXIS2=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the color for the tick mark labels and axis label associated with the secondary axis.\",\"type\":\"value\"},{\"name\":\"CAXIS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"CAXES=\",\"CA=\"],\"description\":\"Specifies the color for the axis line and tick marks on the chart.\",\"help\":\"CAXIS=*color*\",\"type\":\"color\"},{\"name\":\"CBARLINE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the color for bar outlines.\",\"help\":\"CBARLINE=*color*\",\"type\":\"color\"},{\"name\":\"CBARS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies how the bars of the Pareto chart are to be colored.\",\"help\":\"CBARS=*color*\",\"type\":\"color\"},{\"name\":\"CCONNECT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the color for line segments connecting points on the cumulative percent curve.\",\"help\":\"CCONNECT=*color*\",\"type\":\"color\"},{\"name\":\"CFRAME=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the color for filling the area enclosed by the axes and the frame. The CFRAME= option cannot be used in conjunction with the NOFRAME option or the CTILES= option.\",\"help\":\"CFRAME=*color*\",\"type\":\"color\"},{\"name\":\"CFRAMENLEG\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies that the legend requested with the NLEGEND option be framed and that the frame be filled with a color from the ODS style.\",\"type\":\"color\"},{\"name\":\"CFRAMENLEG=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies that the legend requested with the NLEGEND option be framed and that the frame be filled with the color indicated.\",\"help\":\"CFRAMENLEG=*color*\",\"type\":\"color\"},{\"name\":\"CFRAMESIDE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the color for filling the frame area for the row labels displayed along the left side of a comparative Pareto chart requested with the CLASS= option.\",\"help\":\"CFRAMESIDE=*color*\",\"type\":\"color\"},{\"name\":\"CFRAMETOP=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the color for filling the frame area for the column labels displayed across the top of a comparative Pareto chart requested with the CLASS= option.\",\"help\":\"CFRAMETOP=*color*\",\"type\":\"color\"},{\"name\":\"CGRID2=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the color for grid lines requested with the GRID2 option.\",\"type\":\"value\"},{\"name\":\"CGRID=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the color for grid lines requested with the GRID option.\",\"help\":\"CGRID=*color*\",\"type\":\"color\"},{\"name\":\"CHIGH=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the color used to fill the bars with the n highest values.\",\"type\":\"value\"},{\"name\":\"CHREF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the color for the lines requested with the HREF= option.\",\"help\":\"CHREF=*color*\",\"type\":\"color\"},{\"name\":\"CLASS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Creates a comparative Pareto chart using the levels of the variables. You must enclose two variables in parentheses.\",\"type\":\"value\"},{\"name\":\"CLASSKEY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the key cell in a comparative Pareto chart requested with the CLASS= option.\",\"type\":\"value\"},{\"name\":\"CLIPCHAR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies a plot character that identifies clipped points, as requested with the CLIPFACTOR= option.\",\"help\":\"CLIPCHAR='*character*'\",\"type\":\"value\"},{\"name\":\"CLIPREF\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Draws reference lines requested with the HREF= and VREF= options behind the bars on the Pareto chart.\",\"type\":\"standalone\"},{\"name\":\"CLOW=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the color used to fill the bars with the n lowest values.\",\"type\":\"value\"},{\"name\":\"CMPCTLABEL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Labels points on the cumulative percent curve with their values. By default, the points are not labeled.\",\"type\":\"standalone\"},{\"name\":\"CONNECTCHAR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"CCHAR=\"],\"description\":\"Specifies the plot character for line segments that connect points on the cumulative percent curve. The default character is a plus sign (+).\",\"help\":\"CONNECTCHAR='*character*'\",\"type\":\"value\"},{\"name\":\"COTHER=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the color for the bar defined by the OTHER= option.\",\"help\":\"COTHER=*color*\",\"type\":\"color\"},{\"name\":\"CPROP=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests a proportion-of-frequency bar of the specified color displayed horizontally across the top of each tile in a comparative Pareto chart.\",\"help\":\"CPROP=*color*\",\"type\":\"color\"},{\"name\":\"CTEXT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"CT=\"],\"description\":\"Specifies the color for text, such as tick mark labels, axis labels, and legends.\",\"help\":\"CTEXT=*color*\",\"type\":\"color\"},{\"name\":\"CTEXTSIDE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the color for row labels displayed along the left side of a comparative Pareto chart requested with the CLASS= option.\",\"help\":\"CTEXTSIDE=*color*\",\"type\":\"color\"},{\"name\":\"CTEXTTOP=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the color for column labels displayed across the top of a comparative Pareto chart requested with the CLASS= option.\",\"help\":\"CTEXTTOP=*color*\",\"type\":\"color\"},{\"name\":\"CTILES=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies a character variable of length eight whose values are the fill colors for the tiles in a comparative Pareto chart.\",\"type\":\"value\"},{\"name\":\"CVREF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the color for the lines requested by the VREF= and VREF2= options.\",\"help\":\"CVREF=*color*\",\"type\":\"color\"},{\"name\":\"DESCRIPTION=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies a descriptive string, up to 256 characters, that appears in the description field of the PROC GREPLAY master menu for traditional graphics output.\",\"help\":\"DESCRIPTION='*string*'\",\"type\":\"value\"},{\"name\":\"FONT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies a software font for text used in labels and legends.\",\"help\":\"FONT=*font*\",\"type\":\"value\"},{\"name\":\"FREQ=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies a frequency variable whose value provides the counts (numbers of occurrences) of the values of the process variable.\",\"help\":\"FREQ=*variable*\",\"type\":\"value\"},{\"name\":\"FRONTREF\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Draws reference lines specified with the HREF= and VREF= options in front of the bars on the Pareto chart.\",\"type\":\"standalone\"},{\"name\":\"GRID\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Adds a grid to the Pareto chart corresponding to the primary vertical axis.\",\"type\":\"standalone\"},{\"name\":\"GRID2\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Adds a grid to the Pareto chart corresponding to the secondary vertical axis.\",\"type\":\"standalone\"},{\"name\":\"HEIGHT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the height in percent screen units of text for labels and legends.\",\"help\":\"HEIGHT=*value*\",\"type\":\"value\"},{\"name\":\"HLLEGLABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies a label displayed to the left of the legend that is automatically created when you use a combination of the CHIGH, CLOW, PHIGH, and PLOW options.\",\"help\":\"HLLEGLABEL='*label*'\",\"type\":\"value\"},{\"name\":\"HOFFSET=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the length (in percent screen units) of the offset at both ends of the horizontal axis. You can eliminate the offset by specifying HOFFSET=0.\",\"help\":\"HOFFSET=*value*\",\"type\":\"value\"},{\"name\":\"HREF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies where reference lines perpendicular to the horizontal (Pareto category) axis are to appear on the chart. Character values can be up to 64 characters and must be enclosed in quotes.\",\"help\":\"HREF='*value-list*'\",\"type\":\"value\"},{\"name\":\"HREFCHAR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the plot character used to form the lines requested with the HREF= option. The default character is a vertical bar (|).\",\"help\":\"HREFCHAR='*character*'\",\"type\":\"value\"},{\"name\":\"HREFLABELS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies labels for the lines requested with the HREF= option.\",\"type\":\"value\"},{\"name\":\"HREFLABPOS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the vertical position of the HREFLABEL= labels.\",\"help\":\"HREFLABPOS=1 | 2 | 3 | 4\",\"type\":\"choice\",\"arguments\":[{\"name\":\"1\",\"followsDelimiter\":\"/\",\"description\":\"Along top of chart\",\"type\":\"standalone\"},{\"name\":\"2\",\"followsDelimiter\":\"/\",\"description\":\"Staggered from top to bottom of chart\",\"type\":\"standalone\"},{\"name\":\"3\",\"followsDelimiter\":\"/\",\"description\":\"Along bottom of chart\",\"type\":\"standalone\"},{\"name\":\"4\",\"followsDelimiter\":\"/\",\"description\":\"Staggered from bottom to top of chart\",\"type\":\"standalone\"}]},{\"name\":\"HTML=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies URLs as values of the specified character variable (or formatted values of a numeric variable). These URLs are associated with bars on the Pareto chart when traditional graphics output is directed into HTML.\",\"help\":\"HTML=*variable*\",\"type\":\"value\"},{\"name\":\"INFONT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies a software font for text used inside the frame of the chart, such as sample size legends.\",\"help\":\"INFONT=*font*\",\"type\":\"value\"},{\"name\":\"INHEIGHT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the height in percent screen units of text used inside the frame of the chart, such as sample size legends and bar labels.\",\"type\":\"value\"},{\"name\":\"INTERBAR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the distance in percent screen units between bars on the chart.\",\"help\":\"INTERBAR=*value*\",\"type\":\"value\"},{\"name\":\"INTERTILE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the distance in horizontal percent screen units between tiles (cells) in a comparative Pareto chart.\",\"help\":\"INTERTILE=*value*\",\"type\":\"value\"},{\"name\":\"LABOTHER=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Is used in conjunction with the BARLABEL=(variable) option and specifies a label for the \\\"other\\\" category that is optionally specified with the OTHER= option.\",\"type\":\"value\"},{\"name\":\"LAST=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies that the bar corresponding to the category is to be displayed at the right end of the chart regardless of the percent associated with this category\",\"help\":\"LAST='*category*'\",\"type\":\"value\"},{\"name\":\"LGRID2=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the line type for the grid requested with the GRID2 option.\",\"type\":\"value\"},{\"name\":\"LGRID=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the line type for the grid requested with the GRID option.\",\"help\":\"LGRID=*line-type*\",\"type\":\"value\"},{\"name\":\"LHREF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"LH=\"],\"description\":\"Specifies the line type for lines requested with the HREF= option.\",\"help\":\"LHREF=*line-type*\",\"type\":\"value\"},{\"name\":\"LOTHER=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies a label for the bar defined with the OTHER= option.\",\"help\":\"LOTHER='*label*'\",\"type\":\"value\"},{\"name\":\"LVREF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"LV=\"],\"description\":\"Specifies the line type for lines requested by the VREF= and VREF2= options.\",\"help\":\"LVREF=*line-type*\",\"type\":\"value\"},{\"name\":\"MARKERS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies that the points on the cumulative percent curve be plotted with markers in ODS Graphics output.\",\"type\":\"standalone\"},{\"name\":\"MAXCMPCT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies that only the Pareto categories with the n highest frequency counts are to be displayed, where the sum of the n corresponding percents is less than or equal to the specified percent.\",\"help\":\"MAXCMPCT=*percent*\",\"type\":\"value\"},{\"name\":\"MAXNCAT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies that only the Pareto categories with the n highest frequencies are to be displayed.\",\"help\":\"MAXNCAT=*n*\",\"type\":\"value\"},{\"name\":\"MINPCT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies that only the Pareto categories with frequency percents greater than or equal to the specified percent are to be displayed.\",\"help\":\"MINPCT=*percent*\",\"type\":\"value\"},{\"name\":\"MISSING\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies that missing values of the process variable are to be treated as a Pareto category represented with a bar on the chart.\",\"type\":\"standalone\"},{\"name\":\"MISSING1\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies that missing values of the first CLASS= variable are to be treated as a level of the CLASS= variable.\",\"type\":\"standalone\"},{\"name\":\"MISSING2\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies that missing values of the second CLASS= variable are to be treated as a level of the CLASS= variable.\",\"type\":\"standalone\"},{\"name\":\"NAME=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies a name for a traditional graphics chart, up to eight characters, that appears in the PROC GREPLAY master menu. The default name is 'PARETO'.\",\"help\":\"NAME='*string*'\",\"type\":\"value\"},{\"name\":\"NCOLS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"NCOL=\"],\"description\":\"Specifies the number of columns in a comparative Pareto chart.\",\"help\":\"NCOLS=*n*\",\"type\":\"value\"},{\"name\":\"NLEGEND\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests a sample size legend and specifies its form as N=n, where n is the total count for the Pareto categories. In a comparative Pareto chart, a legend is displayed in each tile, and n is the total count for that particular cell.\",\"type\":\"standalone\"},{\"name\":\"NLEGEND=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests a sample size legend and specifies its form as label=n, where n is the total count for the Pareto categories. If you specify the NLEGEND=(variable) option, the legend is the value of the variable, which must be a variable in the DATA= data set whose formatted length does not exceed 32.\",\"type\":\"value\"},{\"name\":\"NOCHART\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Suppresses the creation of a Pareto chart.\",\"type\":\"standalone\"},{\"name\":\"NOCTL2\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Suppresses the display of the central line in a secondary chart.\",\"type\":\"standalone\"},{\"name\":\"NOCURVE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Suppresses the display of the cumulative percent curve and the secondary vertical axis.\",\"type\":\"standalone\"},{\"name\":\"NOFRAME\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Suppresses the frame that is drawn around the chart by default\",\"type\":\"standalone\"},{\"name\":\"NOHLABEL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Suppresses the label for the horizontal axis.\",\"type\":\"standalone\"},{\"name\":\"NOHLLEG\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Suppresses the legend generated by the CHIGH(n)=, CLOW(n)=, PHIGH(n)=, and PLOW(n)= options.\",\"type\":\"standalone\"},{\"name\":\"NOKEYMOVE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Suppresses the rearrangement of cells within a comparative Pareto chart that occurs when you use the CLASSKEY= option.\",\"type\":\"standalone\"},{\"name\":\"NOVLABEL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Suppresses the label for the primary vertical axis.\",\"type\":\"standalone\"},{\"name\":\"NOVLABEL2\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Suppresses the label for the secondary vertical axis.\",\"type\":\"standalone\"},{\"name\":\"NOVTICK\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Suppresses the primary vertical axis label, tick marks, and tick mark labels.\",\"type\":\"standalone\"},{\"name\":\"NROWS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"NROW=\"],\"description\":\"Specifies the number of rows in a comparative Pareto chart.\",\"help\":\"NROWS=*n*\",\"type\":\"value\"},{\"name\":\"ORDER1=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the display order for the values of the first CLASS= variable.\",\"help\":\"ORDER1=INTERNAL | FORMATTED | DATA | FREQ\",\"type\":\"choice\",\"arguments\":[{\"name\":\"INTERNAL\",\"followsDelimiter\":\"/\",\"description\":\"The rows (columns) are displayed from top to bottom (left to right) in increasing order of the internal, or unformatted, values of the first CLASS= variable.\",\"type\":\"standalone\"},{\"name\":\"FORMATTED\",\"followsDelimiter\":\"/\",\"description\":\"The rows (columns) are displayed from top to bottom (left to right) in increasing order of the formatted values of the first CLASS= variable.\",\"type\":\"standalone\"},{\"name\":\"DATA\",\"followsDelimiter\":\"/\",\"description\":\"The rows (columns) are displayed from top to bottom (left to right) in the order in which the values of the first CLASS= variable first appear in the input data set.\",\"type\":\"standalone\"},{\"name\":\"FREQ\",\"followsDelimiter\":\"/\",\"description\":\"The rows (columns) are displayed from top to bottom (left to right) in order of decreasing frequency count.\",\"type\":\"standalone\"}]},{\"name\":\"ORDER2=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the display order for the values of the second CLASS= variable.\",\"help\":\"ORDER2=INTERNAL | FORMATTED | DATA | FREQ\",\"type\":\"choice\",\"arguments\":[{\"name\":\"INTERNAL\",\"followsDelimiter\":\"/\",\"description\":\"The rows (columns) are displayed from top to bottom (left to right) in increasing order of the internal, or unformatted, values of the first CLASS= variable.\",\"type\":\"standalone\"},{\"name\":\"FORMATTED\",\"followsDelimiter\":\"/\",\"description\":\"The rows (columns) are displayed from top to bottom (left to right) in increasing order of the formatted values of the first CLASS= variable.\",\"type\":\"standalone\"},{\"name\":\"DATA\",\"followsDelimiter\":\"/\",\"description\":\"The rows (columns) are displayed from top to bottom (left to right) in the order in which the values of the first CLASS= variable first appear in the input data set.\",\"type\":\"standalone\"},{\"name\":\"FREQ\",\"followsDelimiter\":\"/\",\"description\":\"The rows (columns) are displayed from top to bottom (left to right) in order of decreasing frequency count.\",\"type\":\"standalone\"}]},{\"name\":\"OTHER=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies a new category that merges all categories not selected with the MAXNCAT=, MINPCT=, or MAXCMPCT= options.\",\"help\":\"OTHER='*category*'\",\"type\":\"value\"},{\"name\":\"OTHERCVAL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the internal (unformatted) value for a character process variable in the OUT= data set that corresponds to the category created with the OTHER= option.\",\"help\":\"OTHERCVAL='*value*'\",\"type\":\"value\"},{\"name\":\"OTHERNVAL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the internal (unformatted) value for a numeric process variable in the OUT= data set that corresponds to the category created with the OTHER= option.\",\"help\":\"OTHERNVAL=*value*\",\"type\":\"value\"},{\"name\":\"OUT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Creates an output data set that contains the information displayed in the Pareto chart.\",\"help\":\"OUT=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"PBARS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies pattern fills for the bars.\",\"type\":\"value\"},{\"name\":\"PHIGH=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the pattern used to fill the bars with the n highest values.\",\"type\":\"value\"},{\"name\":\"PLOW=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the pattern used to fill the bars with the n lowest values.\",\"type\":\"value\"},{\"name\":\"POTHER=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the pattern used for the bar defined by the OTHER= option.\",\"help\":\"POTHER=*pattern*\",\"type\":\"value\"},{\"name\":\"SCALE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the scale for the primary vertical axis.\",\"help\":\"SCALE=PERCENT | COUNT | WEIGHT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"PERCENT\",\"followsDelimiter\":\"/\",\"description\":\"The scale is percent of total frequency; this is the default.\",\"type\":\"standalone\"},{\"name\":\"COUNT\",\"followsDelimiter\":\"/\",\"description\":\"The scale is counts.\",\"type\":\"standalone\"},{\"name\":\"WEIGHT\",\"followsDelimiter\":\"/\",\"description\":\"The vertical axis is scaled in the same units as the WEIGHT= variable.\",\"type\":\"standalone\"}]},{\"name\":\"SYMBOLCHAR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the plot character for points on the cumulative percent curve. The default character is an asterisk (*).\",\"help\":\"SYMBOLCHAR='*character*'\",\"type\":\"value\"},{\"name\":\"TILELEGEND=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies a variable used to add a legend for CTILES= colors.\",\"type\":\"value\"},{\"name\":\"TILELEGLABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies a label displayed to the left of the legend that is created when you specify a TILELEGEND= variable.\",\"help\":\"TILELEGLABEL='*label*'\",\"type\":\"value\"},{\"name\":\"TURNVLABEL\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"TURNVLABELS\"],\"description\":\"Turns and strings out vertically the characters in the labels for the primary and secondary vertical axes.\",\"type\":\"standalone\"},{\"name\":\"VAXIS2=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies tick mark values for the secondary vertical axis.\",\"help\":\"VAXIS2=*value-list*\",\"type\":\"value\"},{\"name\":\"VAXIS2LABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies a label, up to 40 characters, for the secondary vertical axis.\",\"type\":\"value\"},{\"name\":\"VAXIS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies tick mark values for the primary vertical axis.\",\"help\":\"VAXIS=*value-list*\",\"type\":\"value\"},{\"name\":\"VAXISLABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies a label, up to 40 characters, for the primary vertical axis.\",\"help\":\"VAXISLABEL='*label*'\",\"type\":\"value\"},{\"name\":\"VOFFSET=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the length in percent screen units of the offset at the upper end of the primary vertical axis.\",\"help\":\"VOFFSET=*value*\",\"type\":\"value\"},{\"name\":\"VREF2=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies where reference lines perpendicular to the secondary vertical axis are to appear on the chart.\",\"help\":\"VREF2=*value-list*\",\"type\":\"value\"},{\"name\":\"VREF2LABELS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies labels for the lines requested with the VREF2= option.\",\"type\":\"value\"},{\"name\":\"VREF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies where reference lines perpendicular to the primary vertical axis are to appear on the chart.\",\"help\":\"VREF=*value-list*\",\"type\":\"value\"},{\"name\":\"VREFCHAR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the character used to form the lines requested with the VREF= and VREF2= options. The default character is a dash (-).\",\"help\":\"VREFCHAR='*character*'\",\"type\":\"value\"},{\"name\":\"VREFLABELS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies labels for the lines requested with the VREF= option.\",\"type\":\"value\"},{\"name\":\"VREFLABPOS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the vertical positioning of the VREFLABEL= and VREF2LABEL= labels.\",\"help\":\"VREFLABPOS=1 | 2 | 3\",\"type\":\"choice\",\"arguments\":[{\"name\":\"1\",\"followsDelimiter\":\"/\",\"description\":\"Left-justified in chart\",\"type\":\"standalone\"},{\"name\":\"2\",\"followsDelimiter\":\"/\",\"description\":\"Right-justified in chart\",\"type\":\"standalone\"},{\"name\":\"3\",\"followsDelimiter\":\"/\",\"description\":\"Left-justified in right margin\",\"type\":\"standalone\"}]},{\"name\":\"WAXIS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the line thickness (in pixels) for the axes and frame.\",\"help\":\"WAXIS=*n*\",\"type\":\"value\"},{\"name\":\"WBARLINE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the width for bar outlines.\",\"help\":\"WBARLINE=*n*\",\"type\":\"value\"},{\"name\":\"WEIGHT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies weight variables used to construct weighted Pareto charts.\",\"help\":\"WEIGHT=*variable-list*\",\"type\":\"value\"},{\"name\":\"WGRID2=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the width of the secondary chart grid lines.\",\"type\":\"value\"},{\"name\":\"WGRID=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the width of the primary chart grid lines.\",\"help\":\"WGRID=*n*\",\"type\":\"value\"}]}],\"supportSiteInformation\":{\"docsetId\":\"qcug\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"qcug_pareto_toc.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/PARTITION.json",
    "content": "{\"name\":\"PARTITION\",\"statements\":[{\"name\":\"PROC PARTITION\",\"description\":\"The PARTITION procedure performs simple random sampling, stratified sampling, and oversampling to produce a table with a subset of the observations or with observations partitioned. † The PARTITION procedure creates the following: † o one output data table, which contains the sampled or partitioned data table o one summary table, which contains the numbers of observations and variables in the data table o one frequency table, which contains the frequency information for the population and sample\",\"help\":\"PROC PARTITION <DATA=CAS-libref.data-table><EVENT=“rare-event-level”><EVENTPROP=event-proportion><NTHREADS=number-of-threads><PARTIND><SAMPPCT2=sample-percentage><SAMPPCT=sample-percentage><SAMPPCTEVT=sample-event-percentage><SEED=random-seed>;     \\n\\tBY variable< variable ... variable > ;\\n\\n\\tDISPLAY <CASESENSITIVE><EXCLUDE><EXCLUDEALL> ...;\\n\\n\\tOUTPUT <COPYVAR=variable | COPYVARS = ( variables )><FREQNAME=freq-name> OUT=CAS-libref.data-table ...;\\n\",\"arguments\":[{\"name\":\"DATA=\",\"optional\":true,\"description\":\"Syntax: DATA=CAS-libref.data-table names the input data table for PROC PARTITION to use. CAS-libref.data-table is a two-level name, where\",\"help\":\"DATA=*CAS-libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"EVENT=\",\"optional\":true,\"description\":\"[For oversampling only]\",\"type\":\"value\"},{\"name\":\"EVENTPROP=\",\"optional\":true,\"description\":\"[For oversampling only]\",\"help\":\"EVENTPROP=*event-proportion*\",\"type\":\"value\"},{\"name\":\"NTHREADS=\",\"optional\":true,\"description\":\"Specifies the number of threads to be used. The default is the CPU count on each node.\",\"help\":\"NTHREADS=*number-of-threads*\",\"type\":\"value\"},{\"name\":\"PARTIND\",\"optional\":true,\"description\":\"Adds to the output data table a partition indicator, _PartInd_, which indicates whether an observation is selected to a partition (1 or 2) or not (0).\",\"type\":\"standalone\"},{\"name\":\"SAMPPCT2=\",\"optional\":true,\"description\":\"[For simple random sampling and stratified sampling only]\",\"help\":\"SAMPPCT2=*sample-percentage*\",\"type\":\"value\"},{\"name\":\"SAMPPCT=\",\"optional\":true,\"description\":\"[For simple random sampling and stratified sampling only]\",\"help\":\"SAMPPCT=*sample-percentage*\",\"type\":\"value\"},{\"name\":\"SAMPPCTEVT=\",\"optional\":true,\"description\":\"[For oversampling only]\",\"help\":\"SAMPPCTEVT=*sample-event-percentage*\",\"type\":\"value\"},{\"name\":\"SEED=\",\"optional\":true,\"description\":\"Specifies an integer that is used to start the pseudorandom number generator. If you do not specify a seed or you specify a value less than or equal to 0, the seed is generated from reading the time of day from the computer’s clock. The SEED= option enables you to reproduce the same sample output.\",\"help\":\"SEED=*random-seed*\",\"type\":\"value\"}]},{\"name\":\"BY\",\"description\":\"The BY statement specifies classification variables to be used for stratification. There is no limit on the by variables for stratified sampling, but only one by variable is allowed for oversampling.\",\"help\":\"BY variable&lt; variable ... variable &gt; \"},{\"name\":\"DISPLAY\",\"description\":\"The DISPLAY statement enables you to specify a list of ODS tables to display or exclude. This statement is similar to the ODS SELECT, ODS EXCLUDE, and ODS TRACE statements.\",\"help\":\"DISPLAY &lt;CASESENSITIVE&gt;&lt;EXCLUDE&gt;&lt;EXCLUDEALL&gt; ...\",\"arguments\":[{\"name\":\"CASESENSITIVE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Indicates that a case-sensitive compare must be done when filtering tables for display. Note that unquoted table names are always uppercased. So table names must be quoted to preserve case.\",\"type\":\"standalone\"},{\"name\":\"EXCLUDE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays all tables except the specified list.\",\"type\":\"standalone\"},{\"name\":\"EXCLUDEALL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Suppresses display of all tables. This option takes precedence over the other options.\",\"type\":\"standalone\"},{\"name\":\"TRACE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays the table names, labels, and paths.\",\"type\":\"standalone\"}]},{\"name\":\"OUTPUT\",\"description\":\"The OUTPUT statement creates a data table to contain the sample observations and stratification information for the sample.\",\"help\":\"OUTPUT &lt;COPYVAR=variable | COPYVARS = ( variables )&gt;&lt;FREQNAME=freq-name&gt; OUT=CAS-libref.data-table ...\",\"arguments\":[{\"name\":\"OUT=\",\"description\":\"Names the output data table for PROC PARTITION to use. CAS-libref.data-table is a two-level name, where\",\"help\":\"OUT=*CAS-libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"COPYVAR=\",\"optional\":true,\"aliases\":[\"COPYVARS=\"],\"description\":\"Lists one or more variables from the input data table to be transferred to the output data table.\",\"type\":\"value\"},{\"name\":\"FREQNAME=\",\"optional\":true,\"description\":\"Renames the _Freq_ variable (which is generated in the oversampling case) to the specified freq-name.\",\"help\":\"FREQNAME=*freq-name*\",\"type\":\"value\"},{\"name\":\"PARTINDNAME=\",\"optional\":true,\"description\":\"Renames the generated partition indicator ,_PartInd_, to the specified partition-indicator-name.\",\"help\":\"PARTINDNAME=*partition-indicator-name*\",\"type\":\"value\"}]}],\"supportSiteInformation\":{\"docsetId\":\"casstat\",\"docsetVersion\":\"latest\",\"docsetTargetFile\":\"casstat_partition_toc.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/PATHING.json",
    "content": "{\"name\":\"PATHING\",\"statements\":[{\"name\":\"PROC PATHING\",\"description\":\"The PROC PATHING statement performs pathing analysis.\",\"help\":\"PROC PATHING DATA=libref.data-table <options>;\\n\\tCUSTOMER variable-name<options>                     ;\\n\\n\\tTARGET variable-name<options>;\\n\\n\\tVISIT variable-name<options>;\\n\\n\\t<OUTPUT OUT=libref.data-table>;\\n\\n\\t<FREQ variable-name>;\\n\\n\\t<SCORE ><RANGE=value-range>;\\n\\n\\t<WEIGHT variable-name>;\\n\",\"arguments\":[{\"name\":\"DATA=\",\"aliases\":[\"TABLE\"],\"description\":\"specifies the input transactional table.\",\"help\":\"DATA=*libref.data-table*\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"p00qsxh3mjm48jn1uphj89y1j4m8\"},{\"name\":\"ADJACENT\",\"optional\":true,\"description\":\"specifies that any adjacent items in a sequence must be adjacent in their transactions.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p06294t2ljg415n1hflj5a55mcx1\"},{\"name\":\"ENCODEITEM\",\"optional\":true,\"description\":\"replaces item substring separators ('-->', '==>', and '&') with XML-style encoding.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1om77pm21wnzwn1ump4ib3yq7in\"},{\"name\":\"FILTERINNEROPS=\",\"optional\":true,\"description\":\"specifies a list of AND or OR logic operators. Each element controls the logical operation among the filter elements in an inner list of filters.\",\"help\":\"FILTERINNEROPS=*enumlist*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n03x93ndrfzs0in1ak837att9b60\"},{\"name\":\"FILTEROUTEROPS=\",\"optional\":true,\"description\":\"specifies whether the outer operator is AND or OR.\",\"help\":\"FILTEROUTEROPS=AND | OR\",\"type\":\"choice\",\"arguments\":[{\"name\":\"AND\",\"type\":\"standalone\"},{\"name\":\"OR\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"n039p4k3cidgu5n1vbi5len6pi3l\"},{\"name\":\"FILTERS=\",\"optional\":true,\"description\":\"specifies a list of regular expression strings as constraints that sequences must follow.\",\"help\":\"FILTERS=*regex-list*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1bqw2q6v3rkd5n1gbmnzlcw9yws\"},{\"name\":\"HASHFUNCTION=\",\"optional\":true,\"description\":\"specifies the 32-bit hash function to be used to generate the hash value for a sequence string.\",\"help\":\"HASHFUNCTION=BERNSTEIN | CAS | DBJ2 | ELF | FNV1A | JENKIN | MURMUR3 | PJW | SDBM | SUPERFAST\",\"type\":\"choice\",\"arguments\":[{\"name\":\"BERNSTEIN\",\"type\":\"standalone\"},{\"name\":\"CAS\",\"type\":\"standalone\"},{\"name\":\"DBJ2\",\"type\":\"standalone\"},{\"name\":\"ELF\",\"type\":\"standalone\"},{\"name\":\"FNV1A\",\"type\":\"standalone\"},{\"name\":\"JENKIN\",\"type\":\"standalone\"},{\"name\":\"MURMUR3\",\"type\":\"standalone\"},{\"name\":\"PJW\",\"type\":\"standalone\"},{\"name\":\"SDBM\",\"type\":\"standalone\"},{\"name\":\"SUPERFAST\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"p0qepkks6pnpkxn1h9xmje9sm5jg\"},{\"name\":\"NOMERGE\",\"optional\":true,\"description\":\"specifies that each transaction constructs a sequence for each sub-sequence within it.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n04oi181iphigqn1rxa7m52i6tqz\"},{\"name\":\"OMITDUPLICATE\",\"optional\":true,\"description\":\"omits duplicate items within a sequence.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1g9bini5haiirn18m92e83kannx\"},{\"name\":\"OMITLEADINGBLANKS\",\"optional\":true,\"description\":\"omits the leading blanks of each item value in the sequence string. This option does not alter the values of the individual item columns in the output tables.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0020sixnye4fyn16ogq12vqzaff\"},{\"name\":\"OMITTRAILINGBLANKS\",\"optional\":true,\"description\":\"omits the trailing blanks of each item value in the sequence string. This option does not alter the values of the individual item columns in the output tables.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p074k0x41jpixpn1fsss1nskupa5\"},{\"name\":\"SAVEHASH\",\"optional\":true,\"description\":\"saves in the result table or CAS output table a hash value for the final sequence string according to the value of the hash function.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1l9w7u84a648vn1gbuv9dhil51j\"},{\"name\":\"SAVESEQUTRANSMAP\",\"optional\":true,\"description\":\"saves an additional sequence ID column in the results summary table or the output table.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0l7wl8gv7feh1n0zxwqstkqwd2i\"},{\"name\":\"SAVETRANSACTIONS\",\"optional\":true,\"description\":\"saves the list of hosting transactions where each sequence appears.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n19r7p4nntoeb5n1k369bias9q9c\"},{\"name\":\"SUPPORTRANGE=\",\"optional\":true,\"description\":\"specifies the minimum and maximum support values as integers for a sequential rule. Rules whose support is outside this range are rejected.\",\"help\":\"SUPPORTRANGE=*value-range*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1rpip43qjk9vmn12kbothn78d54\"},{\"name\":\"TRANSACTIONSEPARATOR\",\"optional\":true,\"description\":\"specifies the separator string for transactions per sequence.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1k7mwqgjwhgv1n1gqeavzmko9je\"}],\"supportSiteTargetFile\":\"p070mahztyqew2n1tg7gs77p6l04.htm\"},{\"name\":\"CUSTOMER\",\"description\":\"The CUSTOMER statement specifies the sequence or customer column of the input table.\",\"help\":\"CUSTOMER *variable*;\",\"arguments\":[{\"name\":\"variable\",\"placeholder\":true,\"description\":\"specifies the sequence or customer column of the input table.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0ry6ay083asdcn1ob4ph1yyx32x\"},{\"name\":\"AGGREGATE=\",\"optional\":true,\"description\":\"specifies the aggregation function to be applied to a sequence at each occurrence in the data set to create a final score for the sequence.\",\"help\":\"AGGREGATE=AVERAGE | MAXIMUM | MINIMUM | TOTAL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"AVERAGE\",\"type\":\"standalone\"},{\"name\":\"MAXIMUM\",\"type\":\"standalone\"},{\"name\":\"MINIMUM\",\"type\":\"standalone\"},{\"name\":\"TOTAL\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"n0b74ch20bak8vn1omr7obfv0lrh\"},{\"name\":\"FORMAT=\",\"optional\":true,\"aliases\":[\"TRANFORMAT\"],\"description\":\"specifies the format of the CUSTOMER variable.\",\"help\":\"FORMAT=*format*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0ukl3vroilzvhn1lbsyvln3wzj7\"},{\"name\":\"OMITMISSING\",\"optional\":true,\"description\":\"omits the observations that have missing values for the CUSTOMER variable.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1ka7byfo04rlln1vj04faaqpuwi\"}],\"supportSiteTargetFile\":\"n1hjpic2se6wacn1d1ky5naaymd0.htm\"},{\"name\":\"FREQ\",\"description\":\"The FREQ statement specifies the frequency variable to be used to compute the score of each sequence by using the WEIGHT statement. If you omit this option, the score of a sequence equals the weight scaled by 1.\",\"help\":\"FREQ *variable*\",\"arguments\":[{\"name\":\"variable\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the frequency variable to be used to compute the score of each sequence by using the WEIGHT option. If you omit this option, the score of a sequence equals the weight scaled by 1.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1c6thhbgmoy0in1b9tmd0kftmvv\"}],\"supportSiteTargetFile\":\"p0ca301mgvqibvn1vjaz7qv9z35n.htm\"},{\"name\":\"OUTPUT\",\"description\":\"The OUTPUT statement specifies the in-memory table to store the pathing information, such as the support, chain length, absolute length, and count, for every sequence in the data set.\",\"help\":\"OUTPUT OUT=*libref.table-name*;\",\"arguments\":[{\"name\":\"OUT=\",\"optional\":true,\"description\":\"specifies the in-memory table to store the pathing information, such as the support, chain length, absolute length, and count, for every sequence in the data set.\",\"help\":\"OUT=*libref.table-name*\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"p1ox1tyxg0lm3pn1t8514rfixcns\"},{\"name\":\"SEQUTRANSMAPOUT=\",\"optional\":true,\"description\":\"creates a second table to save the map between every sequence index and the associated transactions.\",\"help\":\"SEQUTRANSMAPOUT=*libref.table-name*\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"n1ssakqqb8yjsmn1o8sa1y60k8up\"}],\"supportSiteTargetFile\":\"n145cwfsa1bjkon137bwu6pwhji1.htm\"},{\"name\":\"SCORE\",\"description\":\"The SCORE statement specifies the minimum and maximum scores for a sequence. If you do not specify a WEIGHT variable, this statement is ignored.\",\"help\":\"SCORE *value-range*\",\"arguments\":[{\"name\":\"RANGE=\",\"optional\":true,\"description\":\"specifies the minimum and maximum scores for a sequence.\",\"help\":\"RANGE=*value-range*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1agvt96b9rbugn1w6pt8u2i5zjn\"}],\"supportSiteTargetFile\":\"p012c0wzy1eyi5n1b2x6hc6ktv6f.htm\"},{\"name\":\"TARGET\",\"description\":\"The TARGET statement specifies the target column of the input table.\",\"help\":\"TARGET *variable*\",\"arguments\":[{\"name\":\"variable\",\"placeholder\":true,\"description\":\"specifies the target column of the input table.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0evo1pqp8i231n1i46wq5p7h7jn\"},{\"name\":\"FORMAT=\",\"optional\":true,\"aliases\":[\"ITEMFORMAT\"],\"description\":\"specifies the format of the TARGET or ITEM variable.\",\"help\":\"FORMAT=*format*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1mymwdvlb8ra3n1q0ucx2csrdp1\"},{\"name\":\"AGGREGATE=\",\"optional\":true,\"description\":\"specifies the aggregation function to be applied to the WEIGHT variables to create a score for the sequence.\",\"help\":\"AGGREGATE=AVERAGE | MAXIMUM | MINIMUM | TOTAL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"AVERAGE\",\"type\":\"standalone\"},{\"name\":\"MAXIMUM\",\"type\":\"standalone\"},{\"name\":\"MINIMUM\",\"type\":\"standalone\"},{\"name\":\"TOTAL\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"n1ckjs5kkn712tn1s6s5tkdh0lb2\"},{\"name\":\"RANGE=\",\"optional\":true,\"description\":\"specifies the minimum and maximum number of nonconcurrent items that a sequence can contain.\",\"help\":\"RANGE=*value-list*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0d61kza5ohnu9n183w76f6h6743\"},{\"name\":\"NOSAVE\",\"optional\":true,\"description\":\"specifies that items and separators not be saved.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1vzp5hknv7qxjn1bkbv12irqi71\"},{\"name\":\"OMITMISSING\",\"optional\":true,\"description\":\"omits the observations that have missing values for the TARGET or ITEM variable.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0kbvm577tacdqn1fhfku659rk0r\"}],\"supportSiteTargetFile\":\"p00tzmzhkurop0n1pv8wkgwdjwcr.htm\"},{\"name\":\"VISIT\",\"description\":\"The VISIT statement specifies the event or time column of the input table.\",\"help\":\"VISIT *variable*\",\"arguments\":[{\"name\":\"variable\",\"placeholder\":true,\"description\":\"specifies the event or time column of the input table.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n05qmlw1kjntrcn0zo7m5l7xm1gw\"},{\"name\":\"AGGREGATE=\",\"optional\":true,\"description\":\"specifies the aggregation function that, when paired with the window option, updates the anchor time.\",\"help\":\"AGGREGATE=AVERAGE | MAXIMUM | MINIMUM\",\"type\":\"choice\",\"arguments\":[{\"name\":\"AVERAGE\",\"type\":\"standalone\"},{\"name\":\"MAXIMUM\",\"type\":\"standalone\"},{\"name\":\"MINIMUM\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"n0yhrb6lne7o3bn19zab7yj7nx0e\"},{\"name\":\"OMITMISSING\",\"optional\":true,\"description\":\"omits the observations that have missing values for the VISIT variable.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1ufrmz2ql0prjn15v83f903y436\"},{\"name\":\"DURATIONRANGE=\",\"optional\":true,\"description\":\"specifies the range of elapsed time between the time values for the first and last items in a sequence. If the elapsed time is outside this specified range, the sequence is excluded.\",\"help\":\"DURATIONRANGE=*value-range*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1w6bal8u7i2mbn1kyh2xlu341kq\"},{\"name\":\"WINDOWRANGE=\",\"optional\":true,\"description\":\"specifies the range of elapsed time between two adjacent items in a sequence. If the elapsed time is outside this range, the two items are not in the same sequence.\",\"help\":\"WINDOWRANGE=*value-range*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1wnn5s2osml5qn12w1si447u9m4\"}],\"supportSiteTargetFile\":\"n0678uquzul9n2n1inpynvvyabby.htm\"},{\"name\":\"WEIGHT\",\"description\":\"The WEIGHT statement specifies the numeric weight variable to be used to compute the score of each sequence by using the FREQ statement.\",\"help\":\"WEIGHT *variable*\",\"arguments\":[{\"name\":\"variable\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the numeric weight variable to be used to compute the score of each sequence by using the FREQ statement.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p11q4ik3dleptpn18actkxovaat6\"}],\"supportSiteTargetFile\":\"p1m8419jgjrh6on1xemzump3scfe.htm\"}],\"supportSiteInformation\":{\"docsetId\":\"casmlproc\",\"docsetVersion\":\"v_005\",\"docsetTargetFile\":\"p1aiwzz63dclfgn1ndggg0i2wtqd.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/PCA.json",
    "content": "{\"name\":\"PCA\",\"statements\":[{\"name\":\"PROC PCA\",\"description\":\"The PCA procedure performs principal component analysis in SAS Viya. Principal component analysis is a multivariate technique for examining relationships among several quantitative variables. It provides an optimal way to reduce dimensionality by projecting the data onto a lower-dimensional orthogonal subspace that explains as much variation in those variables as possible. The choice between using factor analysis and using principal component analysis depends in part on your research objectives. You should use the PCA procedure if you are interested in summarizing data and detecting linear relationships. You can use principal component analysis to reduce the number of variables in regression, clustering, and so on.\",\"help\":\"PROC PCA <COVARIANCE><DATA=CAS-libref.data-table><METHOD=EIG | ITERGS | NIPALS><N=number><NOINT><OUTSTAT=CAS-libref.data-table><PARPREFIX=name | PPREFIX=name | RPREFIX=name><PLOTS=ALL | EIGEN | PATTERNPROFILE... ><PREFIX=name><SINGULAR=p | SING=p |><STANDARD><VARDEF=DF | N | WEIGHT... >;                     \\n\\tBY variables ;\\n\\n\\tCODE <COMMENT><FILE=filename><FORMATWIDTH=width> ...;\\n\\n\\tDISPLAY <CASESENSITIVE><EXCLUDE><EXCLUDEALL> ...;\\n\\n\\tDISPLAYOUT <NOREPLACE><REPEATED> ;\\n\\n\\tFREQ variable ;\\n\\n\\tOUTPUT <COPYVAR=variable | COPYVARS=(variables)><H< =prefix >><OUT=CAS-libref.data-table> ...;\\n\\n\\tPARTIAL variables ;\\n\\n\\tVAR variables ;\\n\\n\\tWEIGHT variable ;\\n\",\"arguments\":[{\"name\":\"COVARIANCE\",\"optional\":true,\"aliases\":[\"COV\"],\"description\":\"Computes the principal components from the covariance matrix. If you omit this option, the correlation matrix is analyzed. The COV option causes variables that have large variances to be more strongly associated with components that have large eigenvalues, and it causes variables that have small variances to be more strongly associated with components that have small eigenvalues. You should not specify this option unless the units in which the variables are measured are comparable or the variables are standardized in some way.\",\"type\":\"standalone\"},{\"name\":\"DATA=\",\"optional\":true,\"description\":\"Names the input data table to be used by PROC PCA. The default is the most recently created data table. CAS-libref specifies the CAS library where the input data table resides, and data-table specifies the name of the input data table.\",\"help\":\"DATA=*CAS-libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"METHOD=\",\"optional\":true,\"description\":\"Specifies the principal component extraction method to be used.\",\"help\":\"METHOD=EIG | ITERGS | NIPALS | RANDOM &lt;(*rand-options*)&gt;\",\"type\":\"choice\",\"arguments\":[{\"name\":\"EIG\",\"description\":\"Requests eigenvalue decomposition.\",\"type\":\"standalone\"},{\"name\":\"ITERGS\",\"description\":\"Syntax: ITERGS< (iter-options) > Requests the iterative method based on Gram-Schmidt orthogonalization (ITERGS) of Andrecut (2009). You can also specify the following optional iter-options in parentheses after METHOD=ITERGS: EPSILON=n specifies the convergence criterion for the iterative method. By default, EPSILON=1E–12. MAXITER=n specifies the maximum number of iterations for the iterative method. By default, MAXITER= 500. NOCENTER suppresses centering of the numeric variables to be analyzed. This option is useful if the analysis variables are already centered and scaled. NOSCALE suppresses scaling of the numeric variables to be analyzed. This option is useful if the analysis variables are already centered and scaled.\",\"type\":\"standalone\"},{\"name\":\"NIPALS\",\"description\":\"Syntax: NIPALS< (iter-options) > requests the nonlinear iterative partial least squares (NIPALS) method. You can also specify the optional iter-options in parentheses after METHOD=NIPALS.\",\"type\":\"standalone\"},{\"name\":\"RANDOM\",\"description\":\"requests the iterative method based on random projection (RANDOM) of Halko, Martinsson, and Tropp (2011). Valid rand-options are NITER=n, NOCENTER, NOSCALE, and SEED=n. By default, METHOD=EIG. If you specify METHOD=ITERGS, METHOD=NIPALS, or METHOD=RANDOM, the following options in the PROC PCA statement are not supported: COV, NOINT, OUTSTAT=, PARPREFIX=, SINGULAR=, and STD.\",\"help\":\"RANDOM \",\"type\":\"standalone\"}]},{\"name\":\"N=\",\"optional\":true,\"description\":\"Specifies the number of principal components to be computed. The default is the number of variables. The number must be an integer greater than or equal to 0. If N=0, the default is used.\",\"help\":\"N=*number*\",\"type\":\"value\"},{\"name\":\"NOINT\",\"optional\":true,\"description\":\"Omits the intercept from the model. In other words, this option requests that the covariance or correlation matrix not be corrected for the mean. When you specify this option, the covariance matrix and, hence, the standard deviations are not corrected for the mean. If you want to obtain the standard deviations corrected for the mean, you can obtain them by using a procedure such as PROC MEANS in Base SAS.\",\"type\":\"standalone\"},{\"name\":\"OUTSTAT=\",\"optional\":true,\"description\":\"Creates an output data table to contain means, standard deviations, number of observations, correlations or covariances, eigenvalues, and eigenvectors. CAS-libref specifies the CAS library where the output data table is to be created, and data-table specifies the name of the output data table. If you specify the COV option, the data table’s type is COV or UCOV, depending on the NOINT option, and it contains covariances; otherwise, the data table’s type is CORR or UCORR, depending on the NOINT option, and it contains correlations. If you specify the PARTIAL statement, the OUTSTAT= data table also contains R-squares.\",\"help\":\"OUTSTAT=*CAS-libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"PARPREFIX=\",\"optional\":true,\"aliases\":[\"PPREFIX=\",\"RPREFIX=\"],\"description\":\"Specifies a prefix for naming the residual variables in the OUTSTAT= data table. By default, the prefix is R_. The number of characters in the prefix plus the maximum length of the variable names should not exceed the current name length that is defined by the VALIDVARNAME= system option.\",\"type\":\"value\"},{\"name\":\"PLOTS=\",\"optional\":true,\"description\":\"Controls the plots that are produced through ODS Graphics. When you specify only one plot-request, you can omit the parentheses around it.\",\"help\":\"PLOTS=ALL | EIGEN | PATTERNPROFILE | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ALL\",\"description\":\"produces all appropriate plots. You can specify other options along with ALL; for example, to request all plots and unpack only the scree plot, specify PLOTS=(ALL SCREE(UNPACKPANEL)).\",\"type\":\"standalone\"},{\"name\":\"EIGEN\",\"description\":\"Syntax: EIGEN < ( UNPACKPANEL ) > | EIGENVALUE < ( UNPACKPANEL ) > | SCREE < ( UNPACKPANEL ) > Produces the scree plot of eigenvalues and proportion variance explained. By default, both plots appear in the same panel. Specify PLOTS= SCREE(UNPACKPANEL) if you want each plot to appear in a separate panel.\",\"type\":\"standalone\"},{\"name\":\"PATTERNPROFILE\",\"description\":\"Produces the pattern profile plot. Each component has its own profile. The Y-axis value represents the correlation between the variable (corresponding to the X-axis value) and the profiled principal component.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"Suppresses the display of all plots.\",\"type\":\"standalone\"}]},{\"name\":\"PREFIX=\",\"optional\":true,\"description\":\"Specifies a prefix for naming the principal components. By default, the names are Prin1, Prin2, . . . , Prinn. If you specify PREFIX=Abc, the components are named Abc1, Abc2, Abc3, and so on. The number of characters in the prefix plus the number of digits required to designate the variables should not exceed the current name length that is defined by the VALIDVARNAME= system option.\",\"help\":\"PREFIX=*name*\",\"type\":\"value\"},{\"name\":\"SINGULAR=\",\"optional\":true,\"aliases\":[\"SING=\"],\"description\":\"Specifies the singularity criterion, where 0 < p < 1. If a variable in a PARTIAL statement has an R-square as large as 1 - p when predicted from the variables listed before it in the statement, the variable is assigned a standardized coefficient of 0. By default, SINGULAR=1E–8.\",\"type\":\"value\"},{\"name\":\"STANDARD\",\"optional\":true,\"aliases\":[\"STD\"],\"description\":\"Standardizes the principal component scores in the OUT= data table in the OUTPUT statement to unit variance. If you omit this option, the scores have a variance equal to the corresponding eigenvalue. Note that this option has no effect on the eigenvalues themselves.\",\"type\":\"standalone\"},{\"name\":\"VARDEF=\",\"optional\":true,\"description\":\"Specifies the divisor to be used to calculate variances and standard deviations. By default, VARDEF=DF.\",\"help\":\"VARDEF=DF | N | WEIGHT | WDF\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DF\",\"description\":\"Specifies the error degrees of freedom as the divisor.\",\"type\":\"standalone\"},{\"name\":\"N\",\"description\":\"Specifies the number of observations as the divisor.\",\"type\":\"standalone\"},{\"name\":\"WEIGHT\",\"description\":\"Specifies the sum of weights as the divisor.\",\"type\":\"standalone\"},{\"name\":\"WDF\",\"description\":\"Specifies the sum of weights minus one as the divisor.\",\"type\":\"standalone\"}]}]},{\"name\":\"BY\",\"description\":\"You can specify a BY statement in PROC PCA to obtain separate analyses of observations in groups that are defined by the BY variables. If you specify more than one BY statement, only the last one specified is used.\",\"help\":\"BY variables \"},{\"name\":\"CODE\",\"description\":\"The CODE statement writes SAS DATA step code for computing predicted values of the fitted model either to a file or to a catalog entry. This code can then be included in a DATA step to score new data. The CODE statement is not supported when you specify the PARTIAL statement. If you specify more than one CODE statement, only the first one specified is used.\",\"help\":\"CODE &lt;COMMENT&gt;&lt;FILE=filename&gt;&lt;FORMATWIDTH=width&gt; ...\",\"arguments\":[{\"name\":\"COMMENT\",\"optional\":true,\"description\":\"Adds comments to the generated code.\",\"type\":\"standalone\"},{\"name\":\"FILE=\",\"optional\":true,\"description\":\"Names the external file that saves the generated code. When enclosed in a quoted string (for example, FILE=\\\"c:nmydirnscorecode.sas\\\"), this option specifies the path and filename for writing the code to an external file. If you do not specify a path but your SAS client has a default path, then the code is written to an external file named filename at that location. You can also specify an unquoted filename of no more than eight characters. If the filename is assigned as a fileref in a Base SAS FILENAME statement, the file specified in the FILENAME statement is opened; otherwise, if your SAS client has a default path, an external file named filename is created.\",\"help\":\"FILE=*filename*\",\"type\":\"value\"},{\"name\":\"FORMATWIDTH=\",\"optional\":true,\"description\":\"Specifies the width to use in formatting derived numbers such as parameter estimates. You can specify a value in the range 4 to 32; the default is 20.\",\"help\":\"FORMATWIDTH=*width*\",\"type\":\"value\"},{\"name\":\"INDENTSIZE=\",\"optional\":true,\"description\":\"Specifies the number of spaces to indent the generated code. You can specify a value in the range 0 to 10; the default is 3.\",\"help\":\"INDENTSIZE=*n*\",\"type\":\"value\"},{\"name\":\"LABELID=\",\"optional\":true,\"description\":\"Specifies a number used to construct array names and statement labels in the generated code. You can specify a value in the range 0 to 1024; the default is randomly chosen.\",\"help\":\"LABELID=*value*\",\"type\":\"value\"},{\"name\":\"LINESIZE=\",\"optional\":true,\"aliases\":[\"LS=\"],\"description\":\"Specifies the line size for the generated code. You can specify a value in the range 64 to 254; the default is 120.\",\"type\":\"value\"},{\"name\":\"NOTRIM\",\"optional\":true,\"description\":\"Bases comparisons of formatted values on the full format width, including blank padding. By default, blanks at the beginning and end of strings are ignored.\",\"type\":\"standalone\"}]},{\"name\":\"DISPLAY\",\"description\":\"The DISPLAY statement enables you to specify a list of ODS tables to display or exclude. This statement is similar to the ODS SELECT, ODS EXCLUDE, and ODS TRACE statements. However, the DISPLAY statement can improve performance when a large number of tables could be generated (such as in BY-group processing). The statement processes the DISPLAY statement on a CAS server and thus sends only a subset of ODS tables to the SAS client. Because ODS statements are processed on a SAS client, all ODS tables are sent to the client and then the client creates a subset. If both DISPLAY and ODS statements are used together, the DISPLAY statement takes precedence over the ODS statements.\",\"help\":\"DISPLAY &lt;CASESENSITIVE&gt;&lt;EXCLUDE&gt;&lt;EXCLUDEALL&gt; ...\",\"arguments\":[{\"name\":\"CASESENSITIVE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Performs a case-sensitive comparison of table names in the table-list to ODS table names when tables are subsetted for display. To preserve case, you must enclose table names in the table-list in quotation marks.\",\"type\":\"standalone\"},{\"name\":\"EXCLUDE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays all ODS tables except those specified in the table-list.\",\"type\":\"standalone\"},{\"name\":\"EXCLUDEALL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Suppresses display of all tables. This option takes precedence over the other options.\",\"type\":\"standalone\"},{\"name\":\"TRACE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays the ODS table names, labels, and paths.\",\"type\":\"standalone\"}]},{\"name\":\"DISPLAYOUT\",\"description\":\"The DISPLAYOUT statement enables you to create CAS output tables from your displayed output. This statement is similar to the ODS OUTPUT statement. The table-spec-list specifies a list of CAS output tables to create. Each entry in the list has either a key or a key=value format: key=value specifies key as the ODS table name, path, or partial pathname, and specifies value as the CAS output table name. key specifies key as the ODS table name and also as the CAS output table name. Table names and partial pathnames are discussed under the DISPLAY statement. The DISPLAYOUT statement does not support regular expressions.\",\"help\":\"DISPLAYOUT &lt;NOREPLACE&gt;&lt;REPEATED&gt;\",\"arguments\":[{\"name\":\"NOREPLACE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Does not replace an existing CAS output table of the same name.\",\"type\":\"standalone\"},{\"name\":\"REPEATED\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Replicates the CAS output tables on all nodes.\",\"type\":\"standalone\"}]},{\"name\":\"FREQ\",\"description\":\"The variable in the FREQ statement identifies a numeric variable in the data set that contains the frequency of occurrence of each observation. PROC REGSELECT treats each observation as if it appears f times, where f is the value of the FREQ variable for the observation. If f is not an integer, it is truncated to an integer. If f is less than 1 or missing, the observation is not used in the analysis. When the FREQ statement is not specified, each observation is assigned a frequency of 1.\",\"help\":\"FREQ variable \"},{\"name\":\"OUTPUT\",\"description\":\"however, variables that you specify in the COPYVARS= option are included.\",\"help\":\"OUTPUT &lt;COPYVAR=variable | COPYVARS=(variables)&gt;&lt;H&lt; =prefix &gt;&gt;&lt;OUT=CAS-libref.data-table&gt; ...\",\"arguments\":[{\"name\":\"COPYVAR=\",\"optional\":true,\"aliases\":[\"COPYVARS=\"],\"description\":\"Lists one or more variables from the input data table that are transferred to the scored output data table, provided that the output data table produces one or more records per input observation. By default, the KCLUS statement does not transfer any variables from the input data table to the output data table. The COPYVARS= option accepts numeric and character variables.\",\"type\":\"value\"},{\"name\":\"HH\",\"optional\":true,\"description\":\"Requests the approximate leverage. The default prefix is H.\",\"type\":\"standalone\"},{\"name\":\"OUT=\",\"optional\":true,\"description\":\"names the output data table for PROC PCA to use. CAS-libref.data-table is a two-level name, where CAS-libref refers to a collection of information that is defined in the LIBNAME statement and includes the caslib, which includes a path to where the data table is to be stored, and a session identifier, which defaults to the active session but which can be explicitly defined in the LIBNAME statement.\",\"help\":\"OUT=*CAS-libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"RESIDUAL\",\"optional\":true,\"aliases\":[\"RESID\"],\"description\":\"Requests residuals for each VAR statement variable. The default prefix is R.\",\"type\":\"standalone\"},{\"name\":\"SCORE\",\"optional\":true,\"description\":\"Requests principal component scores for each principal component. The default prefix is Score.\",\"type\":\"standalone\"},{\"name\":\"STD\",\"optional\":true,\"description\":\"Requests standardized (centered and scaled) VAR statement variable values for each VAR statement variable. The default prefix is Std.\",\"type\":\"standalone\"},{\"name\":\"STDSSE\",\"optional\":true,\"description\":\"Requests the sum of squares of residuals for standardized VAR statement variables. The default prefix is StdSSE.\",\"type\":\"standalone\"},{\"name\":\"TSQUARE\",\"optional\":true,\"aliases\":[\"T2\"],\"description\":\"Requests scaled sum of squares of score values. The default prefix is TSquare.\",\"type\":\"standalone\"}]},{\"name\":\"PARTIAL\",\"description\":\"If you want to analyze a partial correlation or covariance matrix, use the PARTIAL statement to specify the names of the numeric variables to be partialed out. The PCA procedure computes the principal components of the residuals by predicting the VAR statement variables from the PARTIAL statement variables. If you request an OUTSTAT= data table, the residual variables are named by prefixing either the characters R_ (by default) or the string specified in the PARPREFIX= option to the VAR statement variable names. The PARTIAL statement is not supported if you specify METHOD=NIPALS or METHOD=ITERGS in the PROC PCA statement.\",\"help\":\"PARTIAL variables \"},{\"name\":\"VAR\",\"description\":\"The VAR statement lists the numeric variables to be analyzed. If you omit the VAR statement, all numeric variables that are not specified in other statements are analyzed.\",\"help\":\"VAR variables \"},{\"name\":\"WEIGHT\",\"description\":\"The variable in the WEIGHT statement is used as a weight to perform a weighted analysis of the data. Observations that have nonpositive or missing weights are not included in the analysis. If a WEIGHT statement is not included, all observations that are used in the analysis are assigned a weight of 1. The WEIGHT statement is not supported if you specify METHOD=NIPALS or METHOD=ITERGS in the PROC PCA statement..\",\"help\":\"WEIGHT variable \"}],\"supportSiteInformation\":{\"docsetId\":\"casstat\",\"docsetVersion\":\"latest\",\"docsetTargetFile\":\"casstat_pca_toc.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/PDLREG.json",
    "content": "{\"name\":\"PDLREG\",\"statements\":[{\"name\":\"PROC PDLREG\",\"description\":\"PROC PDLREG option ; BY variables ; MODEL dependents = effects / options ; OUTPUT OUT= SAS-data-set keyword = variables ; RESTRICT restrictions ; † The PDLREG procedure estimates regression models for time series data in which the effects of some of the regressor variables are distributed across time. The distributed lag model assumes that the effect of an input variable X on an output Y is distributed over time. If you change the value of X at time t, Y will experience some immediate effect at time t, and it will also experience a delayed effect at times t+1, t+2, and so on up to time t+p for some limit p.\",\"help\":\"PROC PDLREG <ALL><CONVERGE= value><CORRB><COVB><DATA= SAS-data-set><DW= j><DWPROB><ITPRINT><MAXITER= number><METHOD=ML | ULS | YW... ><NOINT><NOPRINT><PARTIAL>;     \\n\\tBY variables ;\\n\\n\\tMODEL <ALL><CORRB><COVB> ...;\\n\\n\\tOUTPUT <ALPHACLI= number><ALPHACLM= number><OUT= SAS-data-set> ...;\\n\\n\\t<label:> RESTRICT equation , ..., equation ;\\n\",\"arguments\":[{\"name\":\"ALL\",\"optional\":true,\"description\":\"Prints all the matrices computed during the analysis of the model.\",\"type\":\"standalone\"},{\"name\":\"CONVERGE=\",\"optional\":true,\"description\":\"Sets the convergence criterion. If the maximum absolute value of the change in the autoregressive parameter estimates between iterations is less than this amount, then convergence is assumed. The default is CONVERGE=.001.\",\"type\":\"value\"},{\"name\":\"CORRB\",\"optional\":true,\"description\":\"Prints the matrix of estimated correlations between the parameter estimates.\",\"type\":\"standalone\"},{\"name\":\"COVB\",\"optional\":true,\"description\":\"Prints the matrix of estimated covariances between the parameter estimates.\",\"type\":\"standalone\"},{\"name\":\"DATA=\",\"optional\":true,\"description\":\"Specifies the name of the SAS data set containing the input data. If you do not specify the DATA= option, the most recently created SAS data set is used.\",\"type\":\"value\"},{\"name\":\"DW=\",\"optional\":true,\"description\":\"Prints the generalized Durbin-Watson statistics up to the order of j. The default is DW=1. When you specify the LAGDEP or LAGDEP=name option, the Durbin-Watson statistic is not printed unless you specify the DW= option.\",\"type\":\"value\"},{\"name\":\"DWPROB\",\"optional\":true,\"description\":\"Prints the marginal probability of the Durbin-Watson statistic.\",\"type\":\"standalone\"},{\"name\":\"ITPRINT\",\"optional\":true,\"description\":\"Prints information on each iteration.\",\"type\":\"standalone\"},{\"name\":\"MAXITER=\",\"optional\":true,\"description\":\"Sets the maximum number of iterations allowed. The default is MAXITER=50.\",\"type\":\"value\"},{\"name\":\"METHOD=\",\"optional\":true,\"description\":\"Specifies the type of estimates for the autoregressive component.\",\"help\":\"METHOD=ML | ULS | YW | ITYW\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ML\",\"description\":\"Specifies the maximum likelihood method.\",\"type\":\"standalone\"},{\"name\":\"ULS\",\"description\":\"Specifies unconditional least squares.\",\"type\":\"standalone\"},{\"name\":\"YW\",\"description\":\"Specifies the Yule-Walker method.\",\"type\":\"standalone\"},{\"name\":\"ITYW\",\"description\":\"Specifies iterative Yule-Walker estimates.\",\"type\":\"standalone\"}]},{\"name\":\"NOINT\",\"optional\":true,\"description\":\"Suppresses the intercept parameter from the model.\",\"type\":\"standalone\"},{\"name\":\"NOPRINT\",\"optional\":true,\"description\":\"Suppresses the printed output.\",\"type\":\"standalone\"},{\"name\":\"PARTIAL\",\"optional\":true,\"description\":\"Prints partial autocorrelations if the NLAG= option is specified.\",\"type\":\"standalone\"}]},{\"name\":\"BY\",\"description\":\"A BY statement can be used with PROC PDLREG to obtain separate analyses on observations in groups defined by the BY variables.\",\"help\":\"BY variables \"},{\"name\":\"MODEL\",\"description\":\"The MODEL statement specifies the regression model. The keyword MODEL is followed by the dependent variable name, an equal sign, and a list of independent effects. Only one MODEL statement is allowed. The general form of an effect is variable ( length, degree, minimum-degree, constraint ) The term in parentheses following the variable name specifies a polynomial distributed lag (PDL) for the variable. The PDL specification is as follows: length specifies the number of lags of the variable to include in the lag distribution. degree specifies the maximum degree of the distribution polynomial. If not specified, the degree defaults to the lag length. minimum-degree specifies the minimum degree of the polynomial. By default minimum-degree is the same as degree. constraint specifies endpoint restrictions on the polynomial. The value of constraint can be FIRST, LAST, or BOTH. If a value is not specified, there are no endpoint restrictions.\",\"help\":\"MODEL &lt;ALL&gt;&lt;CORRB&gt;&lt;COVB&gt; ...\",\"arguments\":[{\"name\":\"ALL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Prints all the matrices computed during the analysis of the model.\",\"type\":\"standalone\"},{\"name\":\"CONVERGE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Sets the convergence criterion. If the maximum absolute value of the change in the autoregressive parameter estimates between iterations is less than this amount, then convergence is assumed. The default is CONVERGE=.001.\",\"type\":\"value\"},{\"name\":\"CORRB\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Prints the matrix of estimated correlations between the parameter estimates.\",\"type\":\"standalone\"},{\"name\":\"COVB\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Prints the matrix of estimated covariances between the parameter estimates.\",\"type\":\"standalone\"},{\"name\":\"DW=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Prints the generalized Durbin-Watson statistics up to the order of j. The default is DW=1. When you specify the LAGDEP or LAGDEP=name option, the Durbin-Watson statistic is not printed unless you specify the DW= option.\",\"type\":\"value\"},{\"name\":\"DWPROB\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Prints the marginal probability of the Durbin-Watson statistic.\",\"type\":\"standalone\"},{\"name\":\"I\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Prints (X'X)⁻¹, the inverse of the crossproducts matrix for the model; or, if restrictions are specified, it prints (X'X)⁻¹ adjusted for the restrictions.\",\"type\":\"standalone\"},{\"name\":\"ITPRINT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Prints information on each iteration.\",\"type\":\"standalone\"},{\"name\":\"LAGDEP=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"LAGDV=\"],\"description\":\"Prints the Durbin h statistic for testing the presence of first-order autocorrelation when regressors contain the lagged dependent variable whose name is specified as LAGDEP=name. When the h statistic cannot be computed, the asymptotically equivalent t statistic is given.\",\"type\":\"value\"},{\"name\":\"LAGDEP\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"LAGDV\"],\"description\":\"Prints the t statistic for testing residual autocorrelation when regressors contain lagged dependent variables.\",\"type\":\"standalone\"},{\"name\":\"MAXITER=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Sets the maximum number of iterations allowed. The default is MAXITER=50.\",\"type\":\"value\"},{\"name\":\"METHOD=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the type of estimates for the autoregressive component.\",\"help\":\"METHOD=ML | ULS | YW | ITYW\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ML\",\"followsDelimiter\":\"/\",\"description\":\"Specifies the maximum likelihood method.\",\"type\":\"standalone\"},{\"name\":\"ULS\",\"followsDelimiter\":\"/\",\"description\":\"Specifies unconditional least squares.\",\"type\":\"standalone\"},{\"name\":\"YW\",\"followsDelimiter\":\"/\",\"description\":\"Specifies the Yule-Walker method.\",\"type\":\"standalone\"},{\"name\":\"ITYW\",\"followsDelimiter\":\"/\",\"description\":\"Specifies iterative Yule-Walker estimates.\",\"type\":\"standalone\"}]},{\"name\":\"NLAG=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the order of the autoregressive process or the subset of autoregressive lags to be fit. If you do not specify the NLAG= option, PROC PDLREG does not fit an autoregressive model.\",\"type\":\"value\"},{\"name\":\"NOINT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Suppresses the intercept parameter from the model.\",\"type\":\"standalone\"},{\"name\":\"NOPRINT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Suppresses the printed output.\",\"type\":\"standalone\"},{\"name\":\"PARTIAL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Prints partial autocorrelations if the NLAG= option is specified.\",\"type\":\"standalone\"},{\"name\":\"STB\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Prints standardized parameter estimates. Sometimes known as a standard partial regression coefficient, a standardized parameter estimate is a parameter estimate multiplied by the standard deviation of the associated regressor and divided by the standard deviation of the regressed variable.\",\"type\":\"standalone\"},{\"name\":\"XPX\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"[Prints the crossproducts matrix, X'X, used for the model. X refers to the transformed matrix of regressors for the regression.\",\"type\":\"standalone\"}]},{\"name\":\"OUTPUT\",\"description\":\"The OUTPUT statement creates an output SAS data set with variables as specified by the keyword options.\",\"help\":\"OUTPUT &lt;ALPHACLI= number&gt;&lt;ALPHACLM= number&gt;&lt;OUT= SAS-data-set&gt; ...\",\"arguments\":[{\"name\":\"ALPHACLI=\",\"optional\":true,\"description\":\"Sets the confidence limit size for the estimates of future values of the current realization of the response time series to number, where number is less than one and greater than zero. The resulting confidence interval has 1-number confidence. The default value for number is 0.05, corresponding to a 95% confidence interval.\",\"type\":\"value\"},{\"name\":\"ALPHACLM=\",\"optional\":true,\"description\":\"Sets the confidence limit size for the estimates of the structural or regression part of the model to number, where number is less than one and greater than zero. The resulting confidence interval has 1-number confidence. The default value for number is 0.05, corresponding to a 95% confidence interval.\",\"type\":\"value\"},{\"name\":\"CONSTANT=\",\"optional\":true,\"description\":\"Writes the transformed intercept to the output data set.\",\"type\":\"value\"},{\"name\":\"LCL=\",\"optional\":true,\"description\":\"Requests that the lower confidence limit for the predicted value (specified in the PREDICTED= option) be added to the output data set under the name given.\",\"type\":\"value\"},{\"name\":\"LCLM=\",\"optional\":true,\"description\":\"Requests that the lower confidence limit for the structural predicted value (specified in the PREDICTEDM= option) be added to the output data set under the name given.\",\"type\":\"value\"},{\"name\":\"OUT=\",\"optional\":true,\"description\":\"Names the output data.\",\"type\":\"value\"},{\"name\":\"PREDICTED=\",\"optional\":true,\"aliases\":[\"P=\"],\"description\":\"Stores the predicted values in the output data set under the name given.\",\"type\":\"value\"},{\"name\":\"PREDICTEDM=\",\"optional\":true,\"aliases\":[\"PM=\"],\"description\":\"Stores the structural predicted values in the output data set under the name given. These values are formed from only the structural part of the model.\",\"type\":\"value\"},{\"name\":\"RESIDUAL=\",\"optional\":true,\"aliases\":[\"R=\"],\"description\":\"Stores the residuals from the predicted values based on both the structural and time series parts of the model in the output data set under the name given.\",\"type\":\"value\"},{\"name\":\"RESIDUALM=\",\"optional\":true,\"aliases\":[\"RM=\"],\"description\":\"Requests that the residuals from the structural prediction be given.\",\"type\":\"value\"},{\"name\":\"TRANSFORM=\",\"optional\":true,\"description\":\"Requests that the specified variables from the input data set be transformed by the autoregressive model and put in the output data set. If you need to reproduce the data suitable for reestimation, you must also transform an intercept variable. To do this, transform a variable that only takes the value 1 or use the CONSTANT= option.\",\"type\":\"value\"},{\"name\":\"UCL=\",\"optional\":true,\"description\":\"Stores the upper confidence limit for the predicted value (specified in the PREDICTED= option) in the output data set under the name given.\",\"type\":\"value\"},{\"name\":\"UCLM=\",\"optional\":true,\"description\":\"Stores the upper confidence limit for the structural predicted value (specified in the PREDICTEDM= option) in the output data set under the name given.\",\"type\":\"value\"}]},{\"name\":\"RESTRICT\",\"description\":\"The RESTRICT statement places restrictions on the parameter estimates for covariates in the preceding MODEL statement. A parameter produced by a distributed lag cannot be restricted with the RESTRICT statement. Each restriction is written as a linear equation. If you specify more than one restriction in a RESTRICT statement, the restrictions are separated by commas. You can refer to parameters by the name of the corresponding regressor variable. Each name used in the equation must be a regressor in the preceding MODEL statement. Use the keyword INTERCEPT to refer to the intercept parameter in the model.\",\"help\":\"&lt;label:&gt; RESTRICT equation , ..., equation \"}],\"supportSiteInformation\":{\"docsetId\":\"etsug\",\"docsetVersion\":\"latest\",\"docsetTargetFile\":\"etsug_pdlreg_toc.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/PHREG.json",
    "content": "{\"name\":\"PHREG\",\"statements\":[{\"name\":\"PROC PHREG\",\"description\":\"RANDOM variable </ options> ; SLICE model-effect </ options> ; STORE <OUT=> item-store-name </ LABEL='label'> ; STRATA variable <(list)> <...variable <(list)>> < / option> ; <label:>TEST equation <,..., equation >< / options> ; WEIGHT variable </ option> ; † The analysis of survival data requires special techniques because the data are almost always incomplete and familiar parametric assumptions might be unjustifiable. Investigators follow subjects until they reach a prespecified endpoint (for example, death). However, subjects sometimes withdraw from a study, or the study is completed before the endpoint is reached. In these cases, the survival times (also known as failure times) are censored; subjects survived to a certain time beyond which their status is unknown. The uncensored survival times are sometimes referred to as event times. Methods of survival analysis must account for both censored and uncensored data. † The PHREG procedure performs regression analysis of survival data based on the Cox proportional hazards model.\",\"help\":\"PROC PHREG <ALPHA=number><ATRISK><COVM><COVOUT><COVSANDWICH <(AGGREGATE)>><DATA=SAS-data-set><INEST=SAS-data-set><MULTIPASS><NAMELEN=n><NOPRINT><NOSUMMARY><OUTEST=SAS-data-set><PLOTS=CUMHAZ | MCF | NONE... ><SIMPLE>;     \\n\\tABORT <ABEND><CANCEL><CANCEL FILE> ...;\\n\\n\\tARRAY <_ALL_><_NUMERIC_><_TEMPORARY_> ...;\\n\\n\\tASSESS <NPATHS=n> PROPORTIONALHAZARDS VAR=(variable-list) ...;\\n\\n\\tBASELINE COVARIATES=SAS-data-set OUT=SAS-data-set OUTDIFF=SAS-data-set ...;\\n\\n\\tBAYES <COEFFPRIOR=<UNIFORM | NORMAL | ZELLNER>><DIAGNOSTICS=<ALL | NONE | AUTOCORR>... ><DISPERSIONPRIOR=<GAMMA | IGAMMA | IMPROPER>> ...;\\n\\n\\tBY <DESCENDING><NOTSORTED> ;\\n\\n\\tCALL routine(parameter-1<, ...parameter-n>);\\n\\n\\tCLASS <CPREFIX=n><DESCENDING><LPREFIX=n> ...;\\n\\n\\tCONTRAST <ALPHA=p><E><SINGULAR=number> ...;\\n\\n\\tDO <OVER><><> ...;\\n\\n\\tEFFECT EFFECT-NAME=COLLECTION|LAG|MULTIMEMBER|MM...  <PERIOD=variable><WITHIN=(variables) | WITHIN=variable> ...;\\n\\n\\tELSE <DO><IF><THEN> ...;\\n\\n\\tEND;\\n\\n\\tESTIMATE <ADJDFE=<SOURCE | ROW>><ADJUST=<BON | SCHEFFE | SIDAK>... ><ALPHA=number> ...;\\n\\n\\tFREQ <NOTRUNCATE> ;\\n\\n\\tGOTO label;\\n\\n\\tHAZARDRATIO <ALPHA=number><AT (variable=ALL | REF | list <...variable=ALL | REF| list> )><CL=<WALD | PL | BOTH>> ...;\\n\\n\\tID variables ;\\n\\n\\tIF <DO><THEN><WHEN> ...;\\n\\n\\tLINK statement-label;\\n\\n\\tLSMEANS <ADJDFE=<SOURCE | ROW>><ADJUST=<BON | DUNNETT | NELSON>... ><ALPHA=number> ...;\\n\\n\\tLSMESTIMATE <ADJDFE=<SOURCE | ROW>><ADJUST=<BON | SCHEFFE | SIDAK>... ><ALPHA=number> ...;\\n\\n\\tMODEL <ABSFCONV=value | CONVERGELIKE=value><ALPHA=number><BEST=n> ...;\\n\\n\\tOUTPUT ATRISK= DFBETA= OUT=SAS-data-set ...;\\n\\n\\tPUT <_PAGE_> ;\\n\\n\\tRANDOM <ABSPCONV=r><ALPHA=value><DIST=<GAMMA | LOGNORMAL>> ...;\\n\\n\\tRETURN;\\n\\n\\t;\\n\\n\\tSLICE <ADJDFE=<SOURCE | ROW>><ADJUST=<BON | DUNNETT | NELSON>... ><ALPHA=number> ...;\\n\\n\\tSTORE <LABEL='label'> OUT=item-store-name ;\\n\\n\\tSTRATA <MISSING> ;\\n\\n\\tTEST <AVERAGE><E><PRINT> ...;\\n\\n\\tWEIGHT <NORMALIZE> ;\\n\",\"arguments\":[{\"name\":\"ALPHA=\",\"optional\":true,\"description\":\"Specifies the level of significance α for 100(1 - α)% confidence intervals. The value number must be between 0 and 1; the default value is 0.05, which results in 95% intervals.\",\"help\":\"ALPHA=*number*\",\"type\":\"value\"},{\"name\":\"ATRISK\",\"optional\":true,\"description\":\"Displays a table that contains the number of units at risk at each event time and the corresponding number of events in the risk sets.\",\"type\":\"standalone\"},{\"name\":\"COVM\",\"optional\":true,\"description\":\"Requests that the model-based covariance matrix (which is the inverse of the observed information matrix) be used in the analysis if the COVS option is also specified.\",\"type\":\"standalone\"},{\"name\":\"COVOUT\",\"optional\":true,\"description\":\"Adds the estimated covariance matrix to the OUTEST= data set. For the COVOUT option to have an effect, the OUTEST= option must be specified.\",\"type\":\"standalone\"},{\"name\":\"COVSANDWICH=\",\"optional\":true,\"aliases\":[\"COVS\"],\"description\":\"Requests the robust sandwich estimate of Lin and Wei (1989) for the covariance matrix.\",\"help\":\"COVSANDWICH=AGGREGATE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"AGGREGATE\",\"type\":\"standalone\"}]},{\"name\":\"DATA=\",\"optional\":true,\"description\":\"Names the SAS data set containing the data to be analyzed. If you omit the DATA= option, the procedure uses the most recently created SAS data set.\",\"help\":\"DATA=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"INEST=\",\"optional\":true,\"description\":\"Names the SAS data set that contains initial estimates for all the parameters in the model.\",\"help\":\"INEST=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"MULTIPASS\",\"optional\":true,\"description\":\"Requests that, for each Newton-Raphson iteration, PROC PHREG recompile the risk sets corresponding to the event times for the (start,stop) style of response and recomputes the values of the time- dependent variables defined by the programming statements for each observation in the risk sets.\",\"type\":\"standalone\"},{\"name\":\"NAMELEN=\",\"optional\":true,\"description\":\"Specifies the maximum length of effect names in tables and output data sets to be n characters, where n is a value between 20 and 200. The default length is 20 characters.\",\"help\":\"NAMELEN=*n*\",\"type\":\"value\"},{\"name\":\"NOPRINT\",\"optional\":true,\"description\":\"Suppresses all displayed output. Note that this option temporarily disables the Output Delivery System (ODS).\",\"type\":\"standalone\"},{\"name\":\"NOSUMMARY\",\"optional\":true,\"description\":\"Suppresses the summary display of the event and censored observation frequencies.\",\"type\":\"standalone\"},{\"name\":\"OUTEST=\",\"optional\":true,\"description\":\"Creates an output SAS data set that contains estimates of the regression coefficients.\",\"help\":\"OUTEST=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"PLOTS=\",\"optional\":true,\"description\":\"Controls the baseline functions plots produced through ODS Graphics. Syntax: (1) PLOTS<(global-plot-options)> = plot-request (2) PLOTS<(global-plot-options)> = (plot-request <...<plot-request>>) The following global-plot-options are available: CL<=EQTAIL | HPD> displays the pointwise interval limits for the specified curves\",\"help\":\"PLOTS=CUMHAZ | MCF | NONE | SURVIVAL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"CUMHAZ\",\"description\":\"Plots the estimated cumulative hazard function for each set of covariates in the COVARIATES= data set in the BASELINE statement.\",\"type\":\"standalone\"},{\"name\":\"MCF\",\"description\":\"Plots the estimated mean cumulative function for each set of covariates in the COVARIATES= data set in the BASELINE statement.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"Suppresses all the plots in the procedure. Specifying this option is equivalent to disabling ODS Graphics for the entire procedure.\",\"type\":\"standalone\"},{\"name\":\"SURVIVAL\",\"description\":\"Plots the estimated survivor function for each set of covariates in the COVARIATES= data set in the BASELINE statement.\",\"type\":\"standalone\"}]},{\"name\":\"SIMPLE\",\"optional\":true,\"description\":\"Displays simple descriptive statistics (mean, standard deviation, minimum and maximum) for each explanatory variable in the MODEL statement.\",\"type\":\"standalone\"}]},{\"name\":\"ABORT\",\"description\":\"Stops executing the current DATA step, SAS job, or SAS session.\",\"help\":\"ABORT &lt;ABEND&gt;&lt;CANCEL&gt;&lt;CANCEL FILE&gt; ...\",\"arguments\":[{\"name\":\"ABEND\",\"optional\":true,\"description\":\"Causes abnormal termination of the current SAS job or session. Results depend on the method of operation: o batch mode and noninteractive mode o stops processing immediately o sends an error message to the SAS log that states that execution was terminated by the ABEND option of the ABORT macro statement o does not execute any subsequent statements or check syntax o returns control to the operating environment; further action is based on how your operating environment and your site treat jobs that end abnormally. o windowing environment and interactive line mode\",\"type\":\"standalone\"},{\"name\":\"CANCEL\",\"optional\":true,\"description\":\"Causes the cancellation of the current submitted statements. The results depend on the method of operation: o batch mode and noninteractive mode o The entire SAS program and SAS system are terminated. o The error message is written to the SAS log. o windowing environment and interactive line mode o It only clears the current submitted program. o Other subsequent submitted programs are not affected. o The error message is written to the SAS log. o workspace server and stored process server o It only clears currently submitted program. o Other subsequent submit calls are not affected. o The error message is written to the SAS log. o SAS IntrNet application server\",\"type\":\"standalone\"},{\"name\":\"CANCEL FILE\",\"optional\":true,\"description\":\"Causes only the contents of the autoexec file or %INCLUDE file to be cleared by the %ABORT statement. Other submitted source statements will be executed after the autoexec or %INCLUDE file.\",\"type\":\"standalone\"},{\"name\":\"NOLIST\",\"optional\":true,\"description\":\"suppresses the output of all variables to the SAS log.\",\"type\":\"standalone\"},{\"name\":\"RETURN\",\"optional\":true,\"description\":\"Causes abnormal termination of the current SAS job or session. Results depend on the method of operation: o batch mode and noninteractive mode o stops processing immediately o sends an error message to the SAS log that states that execution was terminated by the RETURN option in the ABORT macro statement o does not execute any subsequent statements or check syntax o returns control to the operating environment with a condition code indicating an error. o windowing environment and interactive line mode\",\"type\":\"standalone\"}]},{\"name\":\"ARRAY\",\"description\":\"Defines the elements of an array.\",\"help\":\"ARRAY &lt;_ALL_&gt;&lt;_NUMERIC_&gt;&lt;_TEMPORARY_&gt; ...\",\"arguments\":[{\"name\":\"_ALL_\",\"optional\":true,\"description\":\"Specifies all variables.\",\"type\":\"standalone\"},{\"name\":\"_CHARACTER_\",\"optional\":true,\"description\":\"Specifies all character variables.\",\"type\":\"standalone\"},{\"name\":\"_NUMERIC_\",\"optional\":true,\"description\":\"Specifies all numeric variables.\",\"type\":\"standalone\"},{\"name\":\"_TEMPORARY_\",\"optional\":true,\"description\":\"Creates a list of temporary data elements.\",\"type\":\"standalone\"}]},{\"name\":\"ASSESS\",\"description\":\"The ASSESS statement performs the graphical and numerical methods of Lin, Wei, and Ying (1993) for checking the adequacy of the Cox regression model. The methods are derived from cumulative sums of martingale residuals over follow-up times or covariate values. You can assess the functional form of a covariate or you can check the proportional hazards assumption for each covariate in the Cox model.\",\"help\":\"ASSESS &lt;NPATHS=n&gt; PROPORTIONALHAZARDS VAR=(variable-list) ...\",\"arguments\":[{\"name\":\"PROPORTIONALHAZARDS\",\"aliases\":[\"PH\"],\"description\":\"Requests the checking of the proportional hazards assumption.\",\"type\":\"standalone\"},{\"name\":\"VAR=\",\"description\":\"Specifies the list of explanatory variables for which their functional forms are assessed.\",\"type\":\"value\"},{\"name\":\"CRPANEL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that a plot with four panels, each containing the observed cumulative martingale residuals and two simulated residual patterns, be created.\",\"type\":\"standalone\"},{\"name\":\"NPATHS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the number of simulated residual patterns to be displayed in a cumulative martingale residual plot or a score process plot. The default is n=20.\",\"help\":\"NPATHS=*n*\",\"type\":\"value\"},{\"name\":\"RESAMPLE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that the Kolmogorov-type supremum test be computed on 1,000 simulated patterns or on n simulated patterns if n is specified.\",\"type\":\"value\"},{\"name\":\"SEED=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies an integer seed for the random number generator used in creating simulated realizations for plots and for the Kolmogorov-type supremum tests.\",\"help\":\"SEED=*n*\",\"type\":\"value\"}]},{\"name\":\"BASELINE\",\"description\":\"The BASELINE statement creates a new SAS data set that contains the baseline function estimates at the event times of each stratum for every set of covariates (x) given in the COVARIATES= data set.\",\"help\":\"BASELINE COVARIATES=SAS-data-set OUT=SAS-data-set OUTDIFF=SAS-data-set ...\",\"arguments\":[{\"name\":\"CMF=\",\"aliases\":[\"MCF=\"],\"description\":\"Specifies the cumulative mean function estimate for recurrent events data.\",\"help\":\"CMF=&lt;*name*&gt; | _ALL_\",\"type\":\"choice\",\"arguments\":[{\"name\":\"name\",\"placeholder\":true,\"description\":\"Replace <name> with the name of the variable for the statistic.\",\"type\":\"value\"},{\"name\":\"_ALL_\",\"description\":\"Equivalent to specifying CMF=CMF, STDCMF=StdErrCMF, LOWERCMF=LowerCMF, and UPPERCMF=UpperCMF. Nelson (2002) refers to the mean function estimate as MCF (mean cumulative function).\",\"type\":\"standalone\"}]},{\"name\":\"COVARIATES=\",\"description\":\"Names the SAS data set that contains the sets of explanatory variable values for which the quantities of interest are estimated.\",\"help\":\"COVARIATES=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"CUMHAZ=\",\"description\":\"Specifies the cumulative hazard function estimate.\",\"type\":\"value\"},{\"name\":\"LOGLOGS=\",\"description\":\"Specifies the log of the negative log of SURVIVAL.\",\"help\":\"LOGLOGS=*name*\",\"type\":\"value\"},{\"name\":\"LOGSURV=\",\"description\":\"Specifies the log of SURVIVAL.\",\"type\":\"value\"},{\"name\":\"LOWER=\",\"aliases\":[\"L=\"],\"description\":\"Specifies the lower pointwise confidence limit for the survivor function. For a Bayesian analysis, this is the lower limit of the equal-tail credible interval for the survivor function. The confidence level is determined by the ALPHA= option.\",\"help\":\"LOWER=*name*\",\"type\":\"value\"},{\"name\":\"LOWERCMF=\",\"aliases\":[\"LOWERMCF=\"],\"description\":\"Specifies the lower pointwise confidence limit for the cumulative mean function. The confidence level is determined by the ALPHA= option.\",\"type\":\"value\"},{\"name\":\"LOWERCUMHAZ=\",\"description\":\"Specifies the lower pointwise confidence limit for the cumulative hazard function. For a Bayesian analysis, this is the lower limit of the equal-tail credible interval for the cumulative hazard function. The confidence level is determined by the ALPHA= option.\",\"help\":\"LOWERCUMHAZ=*name*\",\"type\":\"value\"},{\"name\":\"LOWERHPD=\",\"description\":\"Specifies the lower limit of the HPD interval for the survivor function. The confidence level is determined by the ALPHA= option.\",\"help\":\"LOWERHPD=*name*\",\"type\":\"value\"},{\"name\":\"LOWERHPDCUMHAZ=\",\"description\":\"Specifies the lower limit of the HPD interval for the cumulative hazard function. The confidence level is determined by the ALPHA= option.\",\"help\":\"LOWERHPDCUMHAZ=*name*\",\"type\":\"value\"},{\"name\":\"OUT=\",\"description\":\"Names the output BASELINE data set. If you omit the OUT= option, the data set is created and given a default name by using the DATAn convention.\",\"help\":\"OUT=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"OUTDIFF=\",\"description\":\"Names the output data set that contains all pairwise differences of direct adjusted probabilities between groups if the GROUP= variable is specified, or between strata if the GROUP= variable is not specified. It is required that the DIRADJ option be specified to use the OUTDIFF= option.\",\"help\":\"OUTDIFF=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"STDCMF=\",\"aliases\":[\"STDMCF=\"],\"description\":\"Specifies the estimated standard error of the cumulative mean function estimator.\",\"type\":\"value\"},{\"name\":\"STDCUMHAZ=\",\"description\":\"Specifies the estimated standard error of the cumulative hazard function estimator. For a Bayesian analysis, this is the standard deviation of the posterior distribution of the cumulative hazard function.\",\"help\":\"STDCUMHAZ=*name*\",\"type\":\"value\"},{\"name\":\"STDERR=\",\"description\":\"Specifies the standard error of the survivor function estimator. For a Bayesian analysis, this is the standard deviation of the posterior distribution of the survivor function.\",\"help\":\"STDERR=*name*\",\"type\":\"value\"},{\"name\":\"STDXBETA=\",\"description\":\"Specifies the estimated standard error of the linear predictor estimator. For a Bayesian analysis, this is the standard deviation of the posterior distribution of the linear predictor.\",\"help\":\"STDXBETA=*name*\",\"type\":\"value\"},{\"name\":\"SURVIVAL=\",\"description\":\"Specifies a survivor function estimate.\",\"help\":\"SURVIVAL=&lt;*name*&gt; | _ALL_\",\"type\":\"choice\",\"arguments\":[{\"name\":\"name\",\"placeholder\":true,\"description\":\"Replace <name> with the name of the variable for the statistic.\",\"type\":\"value\"},{\"name\":\"_ALL_\",\"description\":\"Equivalent to specifying SURVIVAL=Survival, STDERR=StdErrSurvival, LOWER=LowerSurvival, and UPPER=UpperSurvival; and for a Bayesian analyis, SURVIVAL=_ALL_ also specifies LOWERHPD= LowerHPDSurvival and UPPERHPD=UpperHPDSurvival.\",\"type\":\"standalone\"}]},{\"name\":\"TIMELIST=\",\"description\":\"Specifies a list of time points at which the survival function estimates, cumulative function estimates, or MCF estimates are computed.\",\"help\":\"TIMELIST=*list*\",\"type\":\"value\"},{\"name\":\"UPPER=\",\"aliases\":[\"U=\"],\"description\":\"Specifies the upper pointwise confidence limit for the survivor function. For a Bayesian analysis, this is the upper limit of the equal-tail credible interval for the survivor function. The confidence level is determined by the ALPHA= option.\",\"help\":\"UPPER=*name*\",\"type\":\"value\"},{\"name\":\"UPPERCMF=\",\"aliases\":[\"UPPERMCF=\"],\"description\":\"Specifies the upper pointwise confidence limit for the cumulative mean function. The confidence level is determined by the ALPHA= option.\",\"help\":\"UPPERCMF=*name*\",\"type\":\"value\"},{\"name\":\"UPPERCUMHAZ=\",\"description\":\"Specifies the upper pointwise confidence limit for the cumulative hazard function. For a Bayesian analysis, this is the upper limit of the equal-tail credible interval for the cumulative hazard function. The confidence level is determined by the ALPHA= option.\",\"help\":\"UPPERCUMHAZ=*name*\",\"type\":\"value\"},{\"name\":\"UPPERHPD=\",\"description\":\"Specifies the upper limit of the equal-tail credible interval for the survivor function. The confidence level is determined by the ALPHA= option.\",\"help\":\"UPPERHPD=*name*\",\"type\":\"value\"},{\"name\":\"UPPERHPDCUMHAZ=\",\"description\":\"Specifies the upper limit of the equal-tail credible interval for the cumulative hazard function. The confidence level is determined by the ALPHA= option.\",\"type\":\"value\"},{\"name\":\"XBETA=\",\"description\":\"Specifies the estimate of the linear predictor x'β.\",\"help\":\"XBETA=*name*\",\"type\":\"value\"},{\"name\":\"ALPHA=\",\"optional\":true,\"description\":\"Specifies the significance level of the confidence interval for the survivor function. The value must be between 0 and 1.\",\"help\":\"ALPHA=*value*\",\"type\":\"value\"},{\"name\":\"CLTYPE=\",\"optional\":true,\"description\":\"Specifies the method used to compute the confidence limits for S(t,z), the survivor function for a subject with a fixed covariate vector z at event time t.\",\"help\":\"CLTYPE=LOG | LOGLOG | NORMAL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"LOG\",\"description\":\"Specifies that the confidence limits for log(S(t,z)) be computed using the normal theory approximation.\",\"type\":\"standalone\"},{\"name\":\"LOGLOG\",\"description\":\"Specifies that the confidence limits for the log(-log(S(t,z))) be computed using normal theory approximation.\",\"type\":\"standalone\"},{\"name\":\"NORMAL\",\"description\":\"Specifies that the confidence limits for S(t,z) be computed directly using normal theory approximation.\",\"type\":\"standalone\"}]},{\"name\":\"DIRADJ\",\"optional\":true,\"description\":\"Computes direct adjusted survival curves (Makuch 1982; Gail and Byar 1986; Zhang et al. 2007) by averaging the estimated survival curves for the observations in the COVARIATES= data set. If the COVARIATES= data set is not specified, the input data set specified in the DATA= option in the PROC PHREG statement is used instead. If you also specify the GROUP= option, PROC PHREG computes an adjusted survival curve for each value of the GROUP= variable.\",\"type\":\"standalone\"},{\"name\":\"GROUP=\",\"optional\":true,\"description\":\"Names a numeric variable in the COVARIATES= data set to group the baseline function curves for the observations into separate plots.\",\"help\":\"GROUP=*variable*\",\"type\":\"value\"},{\"name\":\"METHOD=\",\"optional\":true,\"description\":\"Specifies the method used to compute the survivor function estimates.\",\"help\":\"METHOD=BRESLOW | FH | PL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"BRESLOW\",\"aliases\":[\"CH\",\"EMP\"],\"description\":\"Specifies that the Breslow (1972) method be used to compute the survivor function—that is, that the survivor function be estimated by exponentiating the negative empirical cumulative hazard function.\",\"type\":\"standalone\"},{\"name\":\"FH\",\"description\":\"Specifies that the Fleming-Harrington (FH) estimates be computed. The FH estimator is a tie-breaking modification of the Breslow estimator. If there are no tied event times, this estimator is the same as the Breslow estimator.\",\"type\":\"standalone\"},{\"name\":\"PL\",\"description\":\"Specifies that the product-limit estimate of the survivor function be computed. This estimator is not available if you use the model syntax that allows two time variables for counting process style of input; in such a case the Breslow estimator (METHOD=BRESLOW) is used instead.\",\"type\":\"standalone\"}]},{\"name\":\"ROWID=\",\"optional\":true,\"aliases\":[\"ID=\",\"ROW=\"],\"description\":\"Names a variable in the COVARIATES= data set for identifying the baseline function curves in the plots.\",\"help\":\"ROWID=*variable*\",\"type\":\"value\"}]},{\"name\":\"BAYES\",\"description\":\"The BAYES statement requests a Bayesian analysis of the regression model by using Gibbs sampling. The Bayesian posterior samples (also known as the chain) for the regression parameters can be output to a SAS data set.\",\"help\":\"BAYES &lt;COEFFPRIOR=&lt;UNIFORM | NORMAL | ZELLNER&gt;&gt;&lt;DIAGNOSTICS=&lt;ALL | NONE | AUTOCORR&gt;... &gt;&lt;DISPERSIONPRIOR=&lt;GAMMA | IGAMMA | IMPROPER&gt;&gt; ...\",\"arguments\":[{\"name\":\"COEFFPRIOR=\",\"optional\":true,\"aliases\":[\"CPRIOR=\",\"COEFF=\"],\"description\":\"Specifies the prior distribution for the regression coefficients.\",\"help\":\"COEFFPRIOR=UNIFORM | NORMAL | ZELLNER\",\"type\":\"choice\",\"arguments\":[{\"name\":\"UNIFORM\",\"description\":\"Specifies a flat prior—that is, the prior that is proportional to a constant.\",\"type\":\"standalone\"},{\"name\":\"NORMAL\",\"description\":\"Syntax: NORMAL<(normal-option)< Specifies a normal distribution. The normal-options include the following: INPUT=SAS-data-set specifies a SAS data set containing the mean and covariance information of the normal prior. RELVAR<=c> specifies a normal prior N(O,cJ), where J is a diagonal matrix with diagonal elements equal to the variances of the corresponding ML estimator. VAR=c specifies the normal prior N(O,cI), where I is the identity matrix.\",\"type\":\"standalone\"},{\"name\":\"ZELLNER\",\"description\":\"Syntax: ZELLNER<(g= g-option)> Specifies the Zellner g-prior for the regression coefficients. The g-prior is a multivariate normal prior distribution with mean zero and covariance matrix equal to (gX'X)ˉ¹, where you can specify one of the following g-options: number specifies a constant number for g. The default is 1E-6. GAMMA<SHAPE=a ISCALE=b)> specifies that g has a gamma distibution\",\"type\":\"standalone\"}]},{\"name\":\"DIAGNOSTICS=\",\"optional\":true,\"aliases\":[\"DIAG=\",\"DIAGNOSTIC=\"],\"description\":\"Controls the number of diagnostics produced.\",\"help\":\"DIAGNOSTICS=ALL | NONE | AUTOCORR | ESS | MCSE | HEIDELBERGER | GELMAN | GEWEKE | RAFTERY\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ALL\",\"description\":\"Requests all the diagnostics.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"Specify this if you do not want any of the diagnostics.\",\"type\":\"standalone\"},{\"name\":\"AUTOCORR\",\"description\":\"Syntax: AUTOCORR<(LAGS= numeric-list)> Computes the autocorrelations of lags given by LAGS= list for each parameter.\",\"type\":\"standalone\"},{\"name\":\"ESS\",\"description\":\"Computes the effective sample size of Kass et al. (1998), the correlation time, and the efficiency of the chain for each parameter.\",\"type\":\"standalone\"},{\"name\":\"MCSE\",\"description\":\"Computes the Monte Carlo standard error for each parameter.\",\"type\":\"standalone\"},{\"name\":\"HEIDELBERGER\",\"description\":\"Syntax: HEIDELBERGER<(heidel-options)> Computes the Heidelberger and Welch tests for each parameter. Optionally, you can specify one or more of the following heidel-options: SALPHA=value specifies the α level (0 < α < 1) for the stationarity test. HALPHA=value specifies the α level (0 < α < 1) for the halfwidth test. EPS=value specifies a small positive number ε such that if the halfwidth is less than ε times the sample mean of the retaining samples, the halfwidth test is passed.\",\"type\":\"standalone\"},{\"name\":\"GELMAN\",\"description\":\"Syntax: GELMAN<=(gelman-options)> Computes the Gelman and Rubin convergence diagnostics. You can specify one or more of the following gelman-options: NCHAIN=number specifies the number of parallel chains used to compute the diagnostic and has to be 2 or larger. ALPHA=value specifies the significance level for the upper bound.\",\"type\":\"standalone\"},{\"name\":\"GEWEKE\",\"description\":\"Syntax: GEWEKE<=geweke-options> Computes the Geweke diagnostics. The diagnostic is essentially a two-sample t-test between the first f1 portion and the last f2 portion of the chain. The default is f1=0.1 and f2=0.5, but you can choose other fractions by using the following geweke-options: FRAC1=value specifies the early f1 fraction of the Markov chain. FRAC2=value specifies the latter f2 fraction of the Markov chain.\",\"type\":\"standalone\"},{\"name\":\"RAFTERY\",\"description\":\"Syntax: RAFTERY<(raftery-options)> Computes the Raftery and Lewis diagnostics. The following are available raftery-options: QUANTILE=value Q=value specifies the order (a value between 0 and 1) of the quantile of interest. The default is 0.025. ACCURACY=value R=value specifies a small positive number as the margin of error for measuring the accuracy of estimation of the quantile. The default is 0.005. PROBABILITY=value value specifies the probability of attaining the accuracy of the estimation of the quantile. The default is 0.95. EPSILON=value EPS=value specifies the tolerance level (a small positive number) for the test. The default is 0.001.\",\"type\":\"standalone\"}]},{\"name\":\"DISPERSIONPRIOR=\",\"optional\":true,\"aliases\":[\"DPRIOR=\"],\"description\":\"for lognormal frailty, the dispersion parameter is the variance of the normal random component. The default is DISPERSIONPRIOR=IMPROPER.\",\"help\":\"DISPERSIONPRIOR=GAMMA | IGAMMA | IMPROPER\",\"type\":\"choice\",\"arguments\":[{\"name\":\"GAMMA\",\"description\":\"Syntax: GAMMA<(options)> Specifies the gamma prior. You can use the following gamma-options enclosed in parentheses to specify the hyperparameters: SHAPE=α and ISCALE=b results in a G(a,b) prior when both gamma-options are specified. SHAPE=c results in G(c,c) prior when specified alone. ISCALE=c results in G(c,c) prior when specified alone. The default is SHAPE=1E–4 and ISCALE=1E–4.\",\"type\":\"standalone\"},{\"name\":\"IGAMMA\",\"description\":\"Syntax: IGAMMA<(options)> Specifies the inverse-gamma prior. You can use the following gamma-options enclosed in parentheses to specify the hyperparameters: SHAPE=α and ISCALE=b results in a IG(a,b) prior when both gamma-options are specified. SHAPE=c results in IG(c,c) prior when specified alone. ISCALE=c results in IG(c,c) prior when specified alone. The default is SHAPE=2.001 AND SCALE=0.01.\",\"type\":\"standalone\"},{\"name\":\"IMPROPER\",\"description\":\"Specifies the improper prior, which has a density f(θ) proportional to θ⁻ⁿ (where n=1).\",\"type\":\"standalone\"}]},{\"name\":\"INITIAL=\",\"optional\":true,\"description\":\"Specifies the SAS data set that contains the initial values of the Markov chains.\",\"help\":\"INITIAL=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"NBI=\",\"optional\":true,\"description\":\"Specifies the number of burn-in iterations before the chains are saved. The default is 2000.\",\"help\":\"NBI=*number*\",\"type\":\"value\"},{\"name\":\"NMC=\",\"optional\":true,\"description\":\"Specifies the number of iterations after the burn-in. The default is 10000.\",\"help\":\"NMC=*number*\",\"type\":\"value\"},{\"name\":\"OUTPOST=\",\"optional\":true,\"aliases\":[\"OUT=\"],\"description\":\"Names the SAS data set that contains the posterior samples.\",\"help\":\"OUTPOST=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"PIECEWISE=\",\"optional\":true,\"description\":\"Specifies that the piecewise constant baseline hazard model be used in the Bayesian analysis. Specifying PIECEWISE by itself is the same as specifying PIECEWISE=LOGHAZARD.\",\"help\":\"PIECEWISE=HAZARD&lt;(&lt;NINTERVAL=number&gt; &lt;INTERVAL=(numeric-list)&gt; &lt;PRIOR=option&gt;)&gt;&gt; | LOGHAZARD&lt;(&lt;NINTERVAL=number&gt; &lt;INTERVAL=(numeric-list)&gt; &lt;PRIOR=option&gt;)&gt;&gt;\",\"type\":\"choice\",\"arguments\":[{\"name\":\"HAZARD\",\"description\":\"Syntax: HAZARD<(<NINTERVAL=number> <INTERVAL=(numeric-list)> <PRIOR=option>)>> Models the baseline hazard parameters in the original scale. Hazard parameters are named Lambda1, Lambda2, ..., and so on. Use the following two options to specify the partition of the time axis into intervals of constant baseline hazards: NINTERVAL=number | N=number -- specifies the number of intervals with constant baseline hazard rates. PROC PHREG partitions the time axis into the given number of intervals with approximately equal number of events in each interval. INTERVAL=(numeric-list) -- specifies the list of numbers that partition the time axis into disjoint intervals with constant baseline hazard in each interval. For example, INTERVAL=(100, 150, 200, 250, 300) specifies a model with a constant hazard in the intervals [0,100), [100,150), [150,200), [200,250), [250,300), and [300,∞). PRIOR = IMPROPER | UNIFORM | GAMMA<(gamma-option)> | ARGAMMA<(argamma-option)> The default is PRIOR=IMPROPER. The available prior options include the following: IMPROPER -- specifies a noninformative and improper prior. UNIFORM -- specifies a uniform prior on the real line. GAMMA <(gamma-option)> -- specifies an independent gamma prior G(a,b) which can be followed by one of the following gamma-options: INPUT=SAS-data-set -- specifies a data set containing the hyperparameters of the independent gamma prior. RELSHAPE<=c> -- specifies independent G(cλj,c) distribution, where λj’s are the MLEs of the hazard rates. default, c=10⁻⁴. SHAPE=a and SCALE=b -- together specify the Gamma prior. SHAPE=c ISCALE=c -- specifies the G(c,c) prior. ARGAMMA <(argamma-option)> -- specifies an autoregressive gamma prior of order 1, which can be followed by one of the following argamma-options. INPUT=SAS-data-set -- specifies a data set containing the hyperparameters of the correlated gamma prior. SHAPE=a and SCALE=b -- together specify that λ1 ~ G(a,b) and λj ~ G(a,b/λj-1) for 2 ≤ j ≤ J. SHAPE=c ISCALE=c -- specifies that λ1 ~ G(c,c) and λj ~ G(c,c/λj-1) for 2 ≤ j ≤ J.\",\"help\":\"HAZARD&lt;(&lt;NINTERVAL=number&gt; &lt;INTERVAL=(numeric-list)&gt; &lt;PRIOR=option&gt;)&gt;&gt;\",\"type\":\"value\"},{\"name\":\"LOGHAZARD\",\"description\":\"Syntax: LOGHAZARD<(<NINTERVAL=number> <INTERVAL=(numeric-list)> <PRIOR=option>)>> Models the baseline hazard parameters in the log scale. The log-hazard parameters are named Alpha1, Alpha2, ..., and so on. Use the following two options to specify the partition of the time axis into intervals of constant baseline hazards: NINTERVAL=number | N=number -- specifies the number of intervals with constant baseline hazard rates. PROC PHREG partitions the time axis into the given number of intervals with approximately equal number of events in each interval. INTERVAL=(numeric-list) -- specifies the list of numbers that partition the time axis into disjoint intervals with constant baseline hazard in each interval. For example, INTERVAL=(100, 150, 200, 250, 300) specifies a model with a constant hazard in the intervals [0,100), [100,150), [150,200), [200,250), [250,300), and [300,∞). To specify the prior for α1,...,αj, the hazard parameters in the log scale, you specifying the following: PRIOR=UNIFORM | NORMAL<(normal-option)< The default is PRIOR=UNIFORM. The available prior options are as follows: UNIFORM -- specifies the uniform prior on the real line; NORMAL<(normal-option)< specifies a normal prior distribution on the log-hazard parameters. The normal options include the following: INPUT=SAS-data-set -- specifies a SAS data set containing the mean and covariance information of the normal prior. RELVAR <=c< -- specifies the normal prior N(0,cJ), where J is a diagonal matrix with diagonal elements equal to the variances of the corresponding ML estimator. By default, c=10⁶. VAR=c -- specifies the normal prior N(0,cI), where I is the identity matrix.\",\"help\":\"LOGHAZARD&lt;(&lt;NINTERVAL=number&gt; &lt;INTERVAL=(numeric-list)&gt; &lt;PRIOR=option&gt;)&gt;&gt;\",\"type\":\"value\"}]},{\"name\":\"PLOTS=\",\"optional\":true,\"description\":\"Controls the display of diagnostic plots. Syntax: PLOTS <(global-plot-options)> = plot-request PLOTS <(global-plot-options)> = (plot-requests) The global plot options include the following: FRINGE creates a fringe plot on the X axis of the density plot. GROUPBY = PARAMETER | TYPE specifies how the plots are to be grouped when there is more than one type of plots. The choices are as follows: TYPE specifies that the plots be grouped by type. PARAMETER specifies that the plots be grouped by parameter. GROUPBY=PARAMETER is the default. SMOOTH displays a fitted penalized B-spline curve each trace plot.\",\"help\":\"PLOTS=ALL | AUTOCORR | DENSITY | NONE | TRACE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ALL\",\"description\":\"Specifies all types of plots.\",\"type\":\"standalone\"},{\"name\":\"AUTOCORR\",\"description\":\"Displays the autocorrelation function plots for the parameters.\",\"type\":\"standalone\"},{\"name\":\"DENSITY\",\"description\":\"Displays the kernel density plots for the parameters.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"Suppresses all diagnostic plots.\",\"type\":\"standalone\"},{\"name\":\"TRACE\",\"description\":\"Displays the trace plots for the parameters.\",\"type\":\"standalone\"}]},{\"name\":\"SAMPLING=\",\"optional\":true,\"description\":\"Specifies the sampling algorithm used in the Markov chain Monte Carlo (MCMC) simulations.\",\"help\":\"SAMPLING=ARMS | RWM\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ARMS\",\"description\":\"Requests the use of the adaptive rejection Metropolis sampling (ARMS) algorithm to draw the Gibbs samples. ALGORITHM=ARMS is the default.\",\"type\":\"standalone\"},{\"name\":\"RWM\",\"description\":\"Requests the use of the random walk Metropolis (RWM) algorithm to draw the samples.\",\"type\":\"standalone\"}]},{\"name\":\"SEED=\",\"optional\":true,\"description\":\"Specifies an integer seed in the range 1 to 2³¹-1 for the random number generator in the simulation.\",\"help\":\"SEED=*number*\",\"type\":\"value\"},{\"name\":\"STATISTICS=\",\"optional\":true,\"aliases\":[\"STATS=\"],\"description\":\"Controls the number of posterior statistics produced. Syntax: (1) STATISTICS <(global-options)> = ALL | NONE | keyword | (keyword-list) (2) STATS <(global-statoptions)> = ALL | NONE | keyword | (keyword-list) The global-options include the following: ALPHA=numeric-list controls the probabilities of the credible intervals. The ALPHA= values must be between 0 and 1.\",\"help\":\"STATISTICS=ALL | NONE | CORR | COV | SUMMARY | INTERVAL | &lt;(keyword-list)&gt;\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ALL\",\"description\":\"Requests all posterior statistics. Equivalent to specifying STATISTICS= (SUMMARY INTERVAL COV CORR).\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"Requests no posterior statistics\",\"type\":\"standalone\"},{\"name\":\"CORR\",\"description\":\"Produces the posterior correlation matrix.\",\"type\":\"standalone\"},{\"name\":\"COV\",\"description\":\"Produces the posterior covariance matrix.\",\"type\":\"standalone\"},{\"name\":\"SUMMARY\",\"description\":\"Produces the means, standard deviations, and percentile points for the posterior samples. The default is to produce the 25th, 50th, and 75th percentile points, but you can use the global PERCENT= option to request specific percentile points.\",\"type\":\"standalone\"},{\"name\":\"INTERVAL\",\"description\":\"Produces equal-tail credible intervals and HPD intervals. The defult is to produce the 95% equal-tail credible intervals and 95% HPD intervals, but you can use the global ALPHA= option to request intervals of any probabilities.\",\"type\":\"standalone\"},{\"name\":\"<(keyword-list)>\",\"description\":\"If you want some but not all of the posterior statistics, specify a subset of the following keywords: SUMMARY INTERVAL COV CORR\",\"type\":\"standalone\"}]},{\"name\":\"THINNING=\",\"optional\":true,\"aliases\":[\"THIN=\"],\"description\":\"Controls the thinning of the Markov chain.\",\"help\":\"THINNING=*number*\",\"type\":\"value\"}]},{\"name\":\"BY\",\"description\":\"You can specify a BY statement with PROC PHREG to obtain separate analyses on observations in groups that are defined by the BY variables. When a BY statement appears, the procedure expects the input data set to be sorted in order of the BY variables. If you specify more than one BY statement, only the last one specified is used.\",\"help\":\"BY &lt;DESCENDING&gt;&lt;NOTSORTED&gt;\",\"arguments\":[{\"name\":\"DESCENDING\",\"optional\":true,\"description\":\"Specifies that the observations are sorted in descending order by the variable that immediately follows the word DESCENDING in the BY statement.\",\"type\":\"standalone\"},{\"name\":\"NOTSORTED\",\"optional\":true,\"description\":\"Specifies that observations are not necessarily sorted in alphabetic or numeric order.\",\"type\":\"standalone\"}]},{\"name\":\"CALL\",\"description\":\"Invokes a SAS CALL routine.\",\"help\":\"CALL routine(parameter-1&lt;, ...parameter-n&gt;)\"},{\"name\":\"CLASS\",\"description\":\"The CLASS statement names the classification variables to be used in the analysis. The CLASS statement must precede the MODEL statement.\",\"help\":\"CLASS &lt;CPREFIX=n&gt;&lt;DESCENDING&gt;&lt;LPREFIX=n&gt; ...\",\"arguments\":[{\"name\":\"CPREFIX=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies that, at most, the first n characters of a CLASS variable name be used in creating names for the corresponding design variables.\",\"help\":\"CPREFIX=*n*\",\"type\":\"value\"},{\"name\":\"DESCENDING\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"DESC\"],\"description\":\"Reverses the sorting order of the classification variable.\",\"type\":\"standalone\"},{\"name\":\"LPREFIX=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies that, at most, the first n characters of a CLASS variable name be used in creating labels for the corresponding design variables.\",\"help\":\"LPREFIX=*n*\",\"type\":\"value\"},{\"name\":\"MISSING\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Treats missing value (\\\".\\\", \\\".A\\\", ..., \\\".Z\\\" for numeric variables and blanks for character variables) as valid values for the CLASS variable.\",\"type\":\"standalone\"},{\"name\":\"ORDER=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the sorting order for the levels of classification variables.\",\"help\":\"ORDER=DATA | FORMATTED | FREQ | INTERNAL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DATA\",\"followsDelimiter\":\"/\",\"description\":\"Levels sorted by the order of appearance in the input data set.\",\"type\":\"standalone\"},{\"name\":\"FORMATTED\",\"followsDelimiter\":\"/\",\"description\":\"Levels sorted by the external formatted values, except for numeric variables with no explicit format, which are sorted by their unformatted (internal) values.\",\"type\":\"standalone\"},{\"name\":\"FREQ\",\"followsDelimiter\":\"/\",\"description\":\"Levels sorted by the descending frequency count; levels with more observations come earlier in the order.\",\"type\":\"standalone\"},{\"name\":\"INTERNAL\",\"followsDelimiter\":\"/\",\"description\":\"Levels sorted by the unformatted value.\",\"type\":\"standalone\"}]},{\"name\":\"PARAM=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the parameterization method for the classification variable or variables.\",\"help\":\"PARAM=EFFECT | GLM | ORDINAL | POLYNOMIAL | REFERENCE | ORTHEFFECT | ORTHORDINAL | ORTHPOLY | ORTHREF\",\"type\":\"choice\",\"arguments\":[{\"name\":\"EFFECT\",\"followsDelimiter\":\"/\",\"description\":\"Specifies effect coding.\",\"type\":\"standalone\"},{\"name\":\"GLM\",\"followsDelimiter\":\"/\",\"description\":\"Specifies less-than-full-rank, reference-cell coding; this option can be used only as a global option.\",\"type\":\"standalone\"},{\"name\":\"ORDINAL\",\"followsDelimiter\":\"/\",\"aliases\":[\"THERMOMETER\"],\"description\":\"Specifies the cumulative parameterization for an ordinal CLASS variable.\",\"type\":\"standalone\"},{\"name\":\"POLYNOMIAL\",\"followsDelimiter\":\"/\",\"aliases\":[\"POLY\"],\"description\":\"Specifies polynomial coding.\",\"type\":\"standalone\"},{\"name\":\"REFERENCE\",\"followsDelimiter\":\"/\",\"aliases\":[\"REF\"],\"description\":\"Specifies reference cell coding.\",\"type\":\"standalone\"},{\"name\":\"ORTHEFFECT\",\"followsDelimiter\":\"/\",\"description\":\"Orthogonalizes PARAM=EFFECT.\",\"type\":\"standalone\"},{\"name\":\"ORTHORDINAL\",\"followsDelimiter\":\"/\",\"description\":\"Orthogonalizes PARAM=ORDINAL.\",\"type\":\"standalone\"},{\"name\":\"ORTHPOLY\",\"followsDelimiter\":\"/\",\"description\":\"Orthogonalizes PARAM=POLYNOMIAL.\",\"type\":\"standalone\"},{\"name\":\"ORTHREF\",\"followsDelimiter\":\"/\",\"description\":\"Orthogonalizes PARAM=REFERENCE.\",\"type\":\"standalone\"}]},{\"name\":\"REF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the reference level for PARAM=EFFECT, PARAM=REFERENCE, and their orthogonalizations.\",\"help\":\"REF=&lt;*level*&gt; | FIRST | LAST\",\"type\":\"choice\",\"arguments\":[{\"name\":\"level\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the level of the variable to use as the reference level. Replace <level> with an actual value.\",\"type\":\"value\"},{\"name\":\"FIRST\",\"followsDelimiter\":\"/\",\"description\":\"Designates the first ordered level as reference.\",\"type\":\"standalone\"},{\"name\":\"LAST\",\"followsDelimiter\":\"/\",\"description\":\"Designates the last ordered level as reference.\",\"type\":\"standalone\"}]},{\"name\":\"TRUNCATE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies that length n of CLASS variable values to use in determining CLASS variable levels. The default is to use the full formatted length of the CLASS variable. If you specify TRUNCATE without the length n, the first 16 characters of the formatted values are used.\",\"type\":\"standalone\"}]},{\"name\":\"CONTRAST\",\"description\":\"where a row-description is: effect values <,...effect values> The CONTRAST statement provides a mechanism for obtaining customized hypothesis tests. It is similar to the CONTRAST statement in PROC GLM and PROC CATMOD, depending on the coding schemes used with any categorical variables involved.\",\"help\":\"CONTRAST &lt;ALPHA=p&gt;&lt;E&gt;&lt;SINGULAR=number&gt; ...\",\"arguments\":[{\"name\":\"ALPHA=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the level of significance p for the 100(1 - p)% confidence interval for each contrast when the ESTIMATE option is specified. The value p must be between 0 and 1. By default, p is equal to the value of the ALPHA= option in the PROC PHREG statement, or 0.05 if that option is not specified.\",\"help\":\"ALPHA=*p*\",\"type\":\"value\"},{\"name\":\"E\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that the L matrix be displayed.\",\"type\":\"standalone\"},{\"name\":\"ESTIMATE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that each individual contrast or exponentiated contrast be estimated and tested.\",\"help\":\"ESTIMATE=PARM | EXP | BOTH\",\"type\":\"choice\",\"arguments\":[{\"name\":\"PARM\",\"followsDelimiter\":\"/\",\"description\":\"Specifies that the contrast itself be estimated.\",\"type\":\"standalone\"},{\"name\":\"EXP\",\"followsDelimiter\":\"/\",\"description\":\"Specifies that the exponentiated contrast be estimated.\",\"type\":\"standalone\"},{\"name\":\"BOTH\",\"followsDelimiter\":\"/\",\"description\":\"Specifies that both the contrast and the exponentiated contrast be estimated.\",\"type\":\"standalone\"}]},{\"name\":\"SINGULAR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Tunes the estimability checking.\",\"help\":\"SINGULAR=*number*\",\"type\":\"value\"},{\"name\":\"TEST=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests a Type 3 test for each contrast. The default is to use the Wald statistic, but you can requests other statistics by specifying one or more of the following keywords: ALL requests the likelihood ratio tests, the score tests, and the Wald tests. Specifying TEST(ALL) is equivalent to specifying TEST=(LR SCORE WALD). NONE suppresses the Type 3 analysis. Even if the TEST option is not specified, PROC PHREG displays the Wald test results for each model effect if a CLASS variable is involved in a MODEL effect. The NONE option can be used to suppress such display. LR requests the likelihood ratio tests. This request is not honored if the COVS option is also specified. SCORE requests the score tests. This request is not honored if the COVS option is also specified.\",\"help\":\"TEST=ALL | NONE | LR | SCORE | WALD\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ALL\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"type\":\"standalone\"},{\"name\":\"LR\",\"type\":\"standalone\"},{\"name\":\"SCORE\",\"type\":\"standalone\"},{\"name\":\"WALD\",\"type\":\"standalone\"}]}]},{\"name\":\"DO\",\"description\":\"\",\"help\":\"DO &lt;OVER&gt;&lt;&gt;&lt;&gt; ...\",\"arguments\":[{\"name\":\"BY\",\"optional\":true,\"description\":\"Precedes an increment integer (other than 0) or an expression that generates an integer to be added to the value of the index variable in each iteration of the DO loop.\",\"type\":\"standalone\"},{\"name\":\"OVER\",\"optional\":true,\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"TO\",\"optional\":true,\"description\":\"Separates the start and stop integers or expressions that control the number of times the portion of the DATA step between the iterative DO and END statements is processed.\",\"type\":\"standalone\"},{\"name\":\"UNTIL\",\"optional\":true,\"description\":\"...more SAS statements... END\",\"type\":\"standalone\"},{\"name\":\"WHILE\",\"optional\":true,\"description\":\"\",\"type\":\"standalone\"}]},{\"name\":\"EFFECT\",\"description\":\"The name of the effect is specified after the EFFECT keyword. This name can appear in only one EFFECT statement and cannot be the name of a variable in the input data set. The effect-type is specified after an equal sign, followed by a list of variables within parentheses which are used in constructing the effect. Effect-options that are specific to an effect-type can be specified after a slash (/) following the variable list. The EFFECT statement enables you to construct special collections of columns for design matrices. These collections are referred to as constructed effects to distinguish them from the usual model effects formed from continuous or classification variables.\",\"help\":\"EFFECT EFFECT-NAME=COLLECTION|LAG|MULTIMEMBER|MM...  &lt;PERIOD=variable&gt;&lt;WITHIN=(variables) | WITHIN=variable&gt; ...\",\"arguments\":[{\"name\":\"EFFECT-NAME=\",\"placeholder\":true,\"description\":\"Replace 'EFFECT-NAME' with the name of the effect, specified after the EFFECT keyword. This name can appear in only one EFFECT statement and cannot be the name of a variable in the input data set. These values can be used: COLLECTION, LAG, MULTIMEMBER, POLYNOMIAL, or SPLINE.\",\"type\":\"value\"},{\"name\":\"BASIS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"[For the SPLINE effect-type only] Specifies a basis for the spline expansion.\",\"help\":\"BASIS=BSPLINE | TPF\",\"type\":\"choice\",\"arguments\":[{\"name\":\"BSPLINE\",\"followsDelimiter\":\"/\",\"description\":\"Specifies a B-spline basis for the spline expansion.\",\"type\":\"standalone\"},{\"name\":\"TPF\",\"followsDelimiter\":\"/\",\"description\":\"Syntax: TPF(options) Specifies a truncated power function basis for the spline expansion. You can modify the number of columns when you request BASIS=TPF with the following options: NOINT excludes the intercept column. NOPOWERS excludes the intercept and polynomial columns.\",\"type\":\"standalone\"}]},{\"name\":\"DATABOUNDARY\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"[For the SPLINE effect-type only] Specifies that the extremes of the data be used as boundary knots when building a B-spline basis.\",\"type\":\"standalone\"},{\"name\":\"DEGREE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"\",\"help\":\"DEGREE=*n*\",\"type\":\"value\"},{\"name\":\"DESIGNROLE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"\",\"help\":\"DESIGNROLE=*variable*\",\"type\":\"value\"},{\"name\":\"DETAILS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"[For the LAG | COLLECTION | MULTIMEMBER | POLYNOMIAL |SPLINE effect-type] Requests a table that shows the (1) lag design matrix of the lag effect, or (2) constituents of the collection effect, or (3) levels of the multimember effect, or (4) details of the specified polynomial, or (5) knot locations and the knots associated with each spline basis function.\",\"type\":\"standalone\"},{\"name\":\"KNOTMAX=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"\",\"help\":\"KNOTMAX=*value*\",\"type\":\"value\"},{\"name\":\"KNOTMETHOD=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"[For the SPLINE effect-type only] Specifies how to construct the knots for spline effects.\",\"help\":\"KNOTMETHOD=EQUAL | LIST | LISTWITHBOUNDARY | MULTISCALE | PERCENTILES | RANGEFRACTIONS\",\"type\":\"choice\",\"arguments\":[{\"name\":\"EQUAL\",\"followsDelimiter\":\"/\",\"description\":\"Syntax: EQUAL<(n)> Specifies that n equally spaced knots be positioned between the extremes of the data. The default is n=3. For a B-spline basis, any needed boundary knots continue to be equally spaced unless the DATABOUNDARY option has also been specified. KNOTMETHOD=EQUAL is the default if no knot-method is specified.\",\"type\":\"standalone\"},{\"name\":\"LIST\",\"followsDelimiter\":\"/\",\"description\":\"Syntax: LIST(number-list) Specifies the list of internal knots to be used in forming the spline basis columns. For a B-spline basis, the data extremes are used as boundary knots.\",\"type\":\"standalone\"},{\"name\":\"LISTWITHBOUNDARY\",\"followsDelimiter\":\"/\",\"description\":\"Syntax: LISTWITHBOUNDARY(number-list) Specifies the list of all knots that are used in forming the spline basis columns.\",\"type\":\"standalone\"},{\"name\":\"MULTISCALE\",\"followsDelimiter\":\"/\",\"description\":\"Syntax: MULTISCALE<(multiscale-options)> Specifies that multiple B-spline bases be generated, corresponding to sets with an increasing number of internal knots. You can control which scales are included with the following multiscale-options: STARTSCALE=n specifies the start scale, where n is a positive integer. The default is STARTSCALE=0. ENDSCALE=n specifies the end scale, where n is a positive integer. The default is ENDSCALE=7.\",\"type\":\"standalone\"},{\"name\":\"PERCENTILES\",\"followsDelimiter\":\"/\",\"description\":\"Syntax: PERCENTILES(n) Requests that internal knots be placed at n equally spaced percentiles of the variable or variables named in the EFFECT statement.\",\"type\":\"standalone\"},{\"name\":\"RANGEFRACTIONS\",\"followsDelimiter\":\"/\",\"description\":\"Syntax: RANGEFRACTIONS(fraction-list) Requests that internal knots be placed at each fraction of the ranges of the variables in the EFFECT statement.\",\"type\":\"standalone\"}]},{\"name\":\"KNOTMIN=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"\",\"help\":\"KNOTMIN=*value*\",\"type\":\"value\"},{\"name\":\"LABELSTYLE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"\",\"help\":\"LABELSTYLE=EXPAND | EXPONENT | INCLUDENAME | PRODUCTSYMBOL=\",\"type\":\"choice\",\"arguments\":[{\"name\":\"EXPAND\",\"followsDelimiter\":\"/\",\"description\":\"Specifies that each variable with an exponent greater than 1 be written as products of that variable.\",\"type\":\"standalone\"},{\"name\":\"EXPONENT\",\"followsDelimiter\":\"/\",\"description\":\"Syntax: EXPONENT <=quoted string> Specifies that each variable with an exponent greater than 1 be written using exponential notation. By default, the symbol ^ is used as the exponentiation operator. If you supply the optional quoted string after an equal sign, then that string is used as the exponentiation operator.\",\"type\":\"standalone\"},{\"name\":\"INCLUDENAME\",\"followsDelimiter\":\"/\",\"description\":\"Specifies that the name of the effect followed by an underscore be used as a prefix for term labels.\",\"type\":\"standalone\"},{\"name\":\"PRODUCTSYMBOL=\",\"followsDelimiter\":\"/\",\"description\":\"Syntax: PRODUCTSYMBOL=NONE | quoted string Specifies that the supplied string be used as the product symbol.\",\"type\":\"value\"}]},{\"name\":\"MDEGREE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"\",\"help\":\"MDEGREE=*n*\",\"type\":\"value\"},{\"name\":\"NLAG=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"\",\"type\":\"value\"},{\"name\":\"NOEFFECT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"[For the MULTIMEMBER effect-type only] Specifies that, for observations with all missing levels of the multimember variables, the values in the corresponding design matrix columns be set to zero.\",\"type\":\"standalone\"},{\"name\":\"NOSEPARATE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"[For the POLYNOMIAL effect-type only] Specifies that the polynomial be treated as a single effect with multiple degrees of freedom. The effect name that you specify is used as the constructed effect name, and the labels of the terms are used as labels of the corresponding parameters.\",\"type\":\"standalone\"},{\"name\":\"PERIOD=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the period variable of the LAG design. The number of periods is the number of unique formatted values of the PERIOD= variable, and the ordering of the period is formed by sorting these formatted values in ascending order. You must specify a PERIOD= variable.\",\"help\":\"PERIOD=*variable*\",\"type\":\"value\"},{\"name\":\"SEPARATE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"[For the SPLINE effect-type only] Specifies that when multiple variables are specified in the EFFECT statement, the spline basis for each variable be treated as a separate effect. The names of these separated effects are formed by appending an underscore followed by the name of the variable to the name that you specify in the EFFECT statement.\",\"type\":\"standalone\"},{\"name\":\"SPLIT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"[For the SPLINE effect-type only] Specifies that each individual column in the design matrix that corresponds to the spline effect be treated as a separate effect that can enter or leave the model independently. Names for these split effects are generated by appending the variable name and an index for each column to the name that you specify in the EFFECT statement.\",\"type\":\"standalone\"},{\"name\":\"STANDARDIZE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies that the variables that define the polynomial be standardized. By default, the standardized variables receive prefix \\\"s_\\\" in the variable names. You can use the following centerscale-opts to specify how the center and scale are estimated: METHOD=MOMENTS specifies that the center be estimated by the variable mean and the scale be estimated by the standard deviation. METHOD=RANGE specifies that the center be estimated by the midpoint of the variable range and the scale be estimated as half the variable range. METHOD=WMOMENTS is the same as METHOD=MOMENTS except that weighted means and weighted standard deviations are used.\",\"help\":\"STANDARDIZECENTER | CENTERSCALE | NONE | SCALE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"CENTER\",\"followsDelimiter\":\"/\",\"description\":\"Specifies that variables be centered but not scaled.\",\"type\":\"standalone\"},{\"name\":\"CENTERSCALE\",\"followsDelimiter\":\"/\",\"description\":\"Specifies that variables be centered and scaled. This is the default if you do not specify a standardization-opt.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"followsDelimiter\":\"/\",\"description\":\"Specifies that no standardization be performed.\",\"type\":\"standalone\"},{\"name\":\"SCALE\",\"followsDelimiter\":\"/\",\"description\":\"Specifies that variables be scaled but not centered.\",\"type\":\"standalone\"}]},{\"name\":\"STDIZE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"[For the MULTIMEMBER effect-type only] Specifies that for each observation, the entries in the design matrix that corresponds to the multimember effect be scaled to have a sum of one.\",\"type\":\"standalone\"},{\"name\":\"WEIGHT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"\",\"help\":\"WEIGHT=*wght-list*\",\"type\":\"value\"},{\"name\":\"WITHIN=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"\",\"type\":\"value\"}]},{\"name\":\"ELSE\",\"description\":\"If the condition in a IF-THEN statement is false and an ELSE statement is present, then the ELSE action is carried out.\",\"help\":\"ELSE &lt;DO&gt;&lt;IF&gt;&lt;THEN&gt; ...\",\"arguments\":[{\"name\":\"AND\",\"optional\":true,\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"DO\",\"optional\":true,\"description\":\"Action statement in an IF-THEN-ELSE construct.\",\"type\":\"standalone\"},{\"name\":\"IF\",\"optional\":true,\"description\":\"Executes a SAS statement for observations that meet specific conditions.\",\"type\":\"standalone\"},{\"name\":\"NOT\",\"optional\":true,\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"OR\",\"optional\":true,\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"OUTPUT\",\"optional\":true,\"description\":\"Action statement in an IF-THEN-ELSE construct.\",\"type\":\"standalone\"},{\"name\":\"THEN\",\"optional\":true,\"description\":\"If the conditions that are specified in the IF clause are met, the IF-THEN statement executes a SAS statement for observations that are read from a SAS data set, for records in an external file, or for computed values.\",\"type\":\"standalone\"}]},{\"name\":\"END\",\"description\":\"Ends a DO group or SELECT group processing.\",\"help\":\"END\"},{\"name\":\"ESTIMATE\",\"description\":\"The ESTIMATE statement provides a mechanism for obtaining custom hypothesis tests. Estimates are formed as linear estimable functions of the form Lβ. You can perform hypothesis tests for the estimable functions, construct confidence limits, and obtain specific nonlinear transformations. The basic element of the ESTIMATE statement is the estimate-specification, which consists of model effects and their coefficients. A estimate-specification takes the general form effect name <effect values ...> The following variables can appear in the ESTIMATE statement: label is an optional label that identifies the particular row of the estimate in the output. effect identifies an effect that appears in the MODEL statement. The keyword INTERCEPT can be used as an effect when an intercept is fitted in the model. You do not need to include all effects that are in the MODEL statement. values are constants that are elements of the L matrix and are associated with the fixed and random effects.\",\"help\":\"ESTIMATE &lt;ADJDFE=&lt;SOURCE | ROW&gt;&gt;&lt;ADJUST=&lt;BON | SCHEFFE | SIDAK&gt;... &gt;&lt;ALPHA=number&gt; ...\",\"arguments\":[{\"name\":\"ADJDFE=\",\"optional\":true,\"description\":\"Specifies how denominator degrees of freedom are determined when p-values and confidence limits are adjusted for multiple comparisons with the ADJUST= option.\",\"help\":\"ADJDFE=SOURCE | ROW\",\"type\":\"choice\",\"arguments\":[{\"name\":\"SOURCE\",\"description\":\"The denominator degrees of freedom for multiplicity-adjusted results are the denominator degrees of freedom for the final effect listed in the ESTIMATE statement from the 'Type III' table.\",\"type\":\"standalone\"},{\"name\":\"ROW\",\"description\":\"Useful if you want multiplicity adjustments to take into account that denominator degrees of freedom are not constant across estimates.\",\"type\":\"standalone\"}]},{\"name\":\"ADJUST=\",\"optional\":true,\"description\":\"Requests a multiple comparison adjustment for the p-values and confidence limits for the estimates.\",\"help\":\"ADJUST=BON | SCHEFFE | SIDAK | SIMULATE&lt;(simoptions)&gt; | T\",\"type\":\"choice\",\"arguments\":[{\"name\":\"BON\",\"description\":\"Bonferroni adjustment\",\"type\":\"standalone\"},{\"name\":\"SCHEFFE\",\"description\":\"Scheffe's adjustment\",\"type\":\"standalone\"},{\"name\":\"SIDAK\",\"description\":\"Sidak adjustment\",\"type\":\"standalone\"},{\"name\":\"SIMULATE\",\"description\":\"Computes adjusted p-values and confidence limits from the simulated distribution of the maximum or maximum absolute value of a multivariate t random vector.\",\"help\":\"SIMULATE&lt;(simoptions)&gt;\",\"type\":\"standalone\"},{\"name\":\"T\",\"description\":\"The default, which really signifies no adjustment for multiple comparisons.\",\"type\":\"standalone\"}]},{\"name\":\"ALPHA=\",\"optional\":true,\"description\":\"Requests that a t-type confidence interval be constructed with confidence level 1-number. The value of number must be between 0 and 1; the default is 0.05.\",\"help\":\"ALPHA=*number*\",\"type\":\"value\"},{\"name\":\"CATEGORY=\",\"optional\":true,\"description\":\"Specifies how to construct estimates and multiplicity corrections for models with multinomial data (ordinal or nominal). This option is also important for constructing sets of estimable functions for F or chi-square tests with the JOINT option.\",\"help\":\"CATEGORY=JOINT | SEPARATE | &lt;*quoted-value-list*&gt;\",\"type\":\"choice\",\"arguments\":[{\"name\":\"JOINT\",\"description\":\"Computes the estimable functions for every nonredundant category and treats them as a set. For example, a three-row ESTIMATE statement in a model with three response categories leads to six estimable functions.\",\"type\":\"standalone\"},{\"name\":\"SEPARATE\",\"description\":\"Computes the estimable functions for every nonredundant category in turn. For example, a three-row ESTIMATE statement in a model with three response categories leads to two sets of three estimable functions.\",\"type\":\"standalone\"},{\"name\":\"quoted-value-list\",\"placeholder\":true,\"description\":\"Computes the estimable functions only for the list of values given. The list must consist of formatted values of the response categories.\",\"type\":\"value\"}]},{\"name\":\"CHISQ\",\"optional\":true,\"description\":\"Requests that chi-square tests be performed in addition to F tests, when you request an F test with the JOINT option. This option has no effect in procedures that produce chi-square statistics by default.\",\"type\":\"standalone\"},{\"name\":\"CL\",\"optional\":true,\"description\":\"Requests that t-type confidence limits be constructed. If the procedure shows the degrees of freedom in the \\\"Estimates\\\" table as infinite, then the confidence limits are z intervals. The confidence level is 0.95 by default, and you can change the confidence level with the ALPHA= option. The confidence intervals are adjusted for multiplicity when you specify the ADJUST= option. However, if a step-down p-value adjustment is requested with the STEPDOWN option, only the p-values are adjusted for multiplicity.\",\"type\":\"standalone\"},{\"name\":\"DF=\",\"optional\":true,\"description\":\"Specifies the degrees of freedom for the t test and confidence limits. This option is not supported by the procedures that perform chi-square-based inference (LOGISTIC, PHREG, and SUVEYLOGISTIC).\",\"help\":\"DF=*number*\",\"type\":\"value\"},{\"name\":\"DIVISOR=\",\"optional\":true,\"description\":\"Specifies a list of values by which to divide the coefficients so that fractional coefficients can be entered as integer numerators. If you do not specify value-list, a default value of 1.0 is assumed. Missing values in the value-list are converted to 1.0. If the number of elements in value-list exceeds the number of rows of the estimate, the extra values are ignored. If the number of elements in value-list is less than the number of rows of the estimate, the last value in value-list is copied forward. If you specify a row-specific divisor as part of the specification of the estimate row, this value multiplies the corresponding divisor that is implied by the value-list. For example, the following statement divides the coefficients in the first row by 8, and the coefficients in the third and fourth row by 3: estimate 'One vs. two' A 2 -2 (divisor=2), 'One vs. three' A 1 0 -1 , 'One vs. four' A 3 0 0 -3 , 'One vs. five' A 1 0 0 0 -1 / divisor=4,.,3;\",\"help\":\"DIVISOR=*value-list*\",\"type\":\"value\"},{\"name\":\"E\",\"optional\":true,\"description\":\"Requests that the L matrix coefficients be displayed.\",\"type\":\"standalone\"},{\"name\":\"EXP\",\"optional\":true,\"description\":\"Requests exponentiation of the estimate. When you model data with the logit, cumulative logit, or generalized logit link functions, and the estimate represents a log odds ratio or log cumulative odds ratio, the EXP option produces an odds ratio. In proportional hazards model, this option produces estimates of hazard ratios. If you specify the CL or ALPHA= option, the (adjusted) confidence bounds are also exponentiated.\",\"type\":\"standalone\"},{\"name\":\"ILINK\",\"optional\":true,\"description\":\"Requests that the estimate and its standard error are also reported on the scale of the mean (the inverse linked scale).\",\"type\":\"standalone\"},{\"name\":\"JOINT=\",\"optional\":true,\"description\":\"Requests that a joint F or chi-square test be produced for the rows of the estimate. The JOINT option in the ESTIMATE statement essentially replaces the CONTRAST statement. When the LOWERTAILED or the UPPERTAILED options are in effect, or if the BOUNDS option described below is in effect, the JOINT option produces the chi-bar-square statistic according to Silvapulle and Sen (2004). This statistic uses a simulation-based approach to compute p-values in situations where the alternative hypotheses of the estimable functions are not simple two-sided hypotheses. You can specify the following joint-test-options in parentheses: ACC=γ specifies the accuracy radius for determining the necessary sample size in the simulation-based approach of Silvapulle and Sen (2004) for tests with order restrictions. The value of γ must be strictly between 0 and 1; the default value is 0.005. EPS=є specifies the accuracy confidence level for determining the necessary sample size in the simulation-based approach of Silvapulle and Sen (2004) for tests with order restrictions. The value of є must be strictly between 0 and 1; the default value is 0.01. LABEL='label' assigns an identifying label to the joint test. If you do not specify a label, the first non-default label for the ESTIMATE rows is used to label the joint test. NOEST | ONLY performs only the F or chi-square test and suppresses other results from the ESTIMATE statement. This option is useful for emulating the CONTRAST statement that is available in other procedures. NSAMP=n specifies the number of samples for the simulation-based method of Silvapulle and Sen (2004). CHISQ -- adds a chi-square test if the procedure produces an F test by default.\",\"help\":\"JOINT=ACC= | EPS= | LABEL= | NOEST | ONLY | NSAMP= | CHISQ | BOUNDS=\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ACC=\",\"type\":\"value\"},{\"name\":\"EPS=\",\"type\":\"value\"},{\"name\":\"LABEL=\",\"type\":\"value\"},{\"name\":\"NOEST\",\"type\":\"standalone\"},{\"name\":\"ONLY\",\"type\":\"standalone\"},{\"name\":\"NSAMP=\",\"type\":\"value\"},{\"name\":\"CHISQ\",\"type\":\"standalone\"},{\"name\":\"BOUNDS=\",\"type\":\"value\"}]},{\"name\":\"LOWER\",\"optional\":true,\"aliases\":[\"LOWERTAILED\"],\"description\":\"Requests that the p-value for the t test be based only on values less than the test statistic. A two-tailed test is the default. A lower-tailed confidence limit is also produced if you specify the CL or ALPHA= option.\",\"type\":\"standalone\"},{\"name\":\"NOFILL\",\"optional\":true,\"description\":\"Suppresses the automatic fill-in of coefficients of higher-order effects.\",\"type\":\"standalone\"},{\"name\":\"PLOTS=\",\"optional\":true,\"description\":\"Produces ODS statistical graphics of the distribution of estimable functions if the procedure performs the analysis in a sampling-based mode.\",\"help\":\"PLOTS=ALL | BOXPLOT | DISTPLOT | NONE *plot-options*\",\"type\":\"value\",\"arguments\":[{\"name\":\"ALL\",\"description\":\"Produces all possible plots with their default settings.\",\"type\":\"standalone\"},{\"name\":\"BOXPLOT\",\"description\":\"Syntax: BOXPLOT<(boxplot-options)> Produces box plots of the distribution of the estimable function across the posterior sample. A separate box is generated for each estimable function, and all boxes appear on a single graph by default. You can affect the appearance of the box plot graph with the following options: ORIENTATION=VERTICAL|HORIZONTAL ORIENT=VERT|HORIZ specifies the orientation of the boxes. The default is vertical orientation of the box plots. NPANELPOS=number specifies how to break the series of box plots across multiple panels. If the NPANELPOS option is not specified, or if number equals zero, then all box plots are displayed in a single graph; this is the default.\",\"type\":\"standalone\"},{\"name\":\"DISTPLOT\",\"aliases\":[\"DIST\"],\"description\":\"Syntax: DISTPLOT<(distplot-options)> Generates panels of histograms with a kernel density overlaid. A separate plot in each panel contains the results for each estimable function. You can specify the following distplot-options in parentheses: BOX|NOBOX controls the display of a horizontal box plot of the estimable function’s distribution across the posterior sample below the graph. The BOX option is enabled by default. HIST|NOHIST controls the display of the histogram of the estimable function’s distribution across the posterior sample. The HIST option is enabled by default. NORMAL|NONORMAL controls the display of a normal density estimate on the graph. The NONORMAL option is enabled by default. KERNEL|NOKERNEL controls the display of a kernel density estimate on the graph. The KERNEL option is enabled by default. NROWS=number specifies the highest number of rows in a panel. The default is 3. NCOLS=number specifies the highest number of columns in a panel. The default is 3. UNPACK unpacks the panel into separate graphics.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"Does not produce any plots.\",\"type\":\"standalone\"}]},{\"name\":\"SEED=\",\"optional\":true,\"description\":\"Specifies the seed for the sampling-based components of the computations for the ESTIMATE statement (for example, chi-bar-square statistics and simulated p-values). number specifies an integer that is used to start the pseudo-random number generator for the simulation. If you do not specify a seed, or if you specify a value less than or equal to zero, the seed is generated from reading the time of day from the computer clock. There could be multiple ESTIMATE statements with SEED= specifications and there could be other statements that can supply a random number seed. Since the procedure has only one random number stream, the initial seed is shown in the SAS log.\",\"help\":\"SEED=*number*\",\"type\":\"value\"},{\"name\":\"SINGULAR=\",\"optional\":true,\"description\":\"Tunes the estimability checking. The value for number must be between 0 and 1; the default is 1E-4.\",\"help\":\"SINGULAR=*number*\",\"type\":\"value\"},{\"name\":\"STEPDOWN\",\"optional\":true,\"description\":\"Requests that multiplicity adjustments for the p-values of estimates be further adjusted in a step-down fashion. Step-down methods increase the power of multiple testing procedures by taking advantage of the fact that a p-value is never declared significant unless all smaller p-values are also declared significant. You can specify the following step-down-options in parentheses after the STEPDOWN option: MAXTIME=n specifies the time (in seconds) to be spent computing the maximal logically consistent sequential subsets of equality hypotheses for TYPE=LOGICAL. The default is MAXTIME=60. ORDER=PVALUE | ORDER=ROWS specifies the order in which the step-down tests to be performed. ORDER=PVALUE is the default, with estimates being declared significant only if all estimates with smaller (unadjusted) p-values are significant. If you specify ORDER=ROWS, then significances are evaluated in the order in which they are specified in the syntax. REPORT specifies that a report on the step-down adjustment be displayed, including a listing of the sequential subsets (Westfall 1997) and, for ADJUST=SIMULATE, the step-down simulation results.\",\"type\":\"standalone\"},{\"name\":\"TESTVALUE=\",\"optional\":true,\"aliases\":[\"TESTMEAN=\"],\"description\":\"Specifies the value under the null hypothesis for testing the estimable functions in the ESTIMATE statement. The rules for specifying the value-list are very similar to those for specifying the divisor list in the DIVISOR= option. If no TESTVALUE= is specified, all tests are performed as H: Lβ=0. Missing values in the value-list also are translated to zeros. If you specify fewer values than rows in the ESTIMATE statement, the last value in value-list is carried forward. The TESTVALUE= option affects only p-values from individual, joint, and multiplicity-adjusted tests. It does not affect confidence intervals.\",\"help\":\"TESTVALUE=*value-list*\",\"type\":\"value\"},{\"name\":\"UPPER\",\"optional\":true,\"aliases\":[\"UPPERTAILED\"],\"description\":\"Requests that the p-value for the t test be based only on values greater than the test statistic. A two-tailed test is the default. An upper-tailed confidence limit is also produced if you specify the CL or ALPHA= option.\",\"type\":\"standalone\"}]},{\"name\":\"FREQ\",\"description\":\"The variable in the FREQ statement identifies the variable (in the input data set) containing the frequency of occurrence of each observation. PROC PHREG treats each observation as if it appears n times, where n is the value of the FREQ variable for the observation.\",\"help\":\"FREQ &lt;NOTRUNCATE&gt;\",\"arguments\":[{\"name\":\"NOTRUNCATE\",\"optional\":true,\"aliases\":[\"NOTRUNC\"],\"description\":\"Specifies that frequency values are not truncated to integers.\",\"type\":\"standalone\"}]},{\"name\":\"GOTO\",\"description\":\"Jumps to a new statement.\",\"help\":\"GOTO label\"},{\"name\":\"HAZARDRATIO\",\"description\":\"The HAZARDRATIO statement enables you to request hazard ratios for any variable in the model at customized settings.\",\"help\":\"HAZARDRATIO &lt;ALPHA=number&gt;&lt;AT (variable=ALL | REF | list &lt;...variable=ALL | REF| list&gt; )&gt;&lt;CL=&lt;WALD | PL | BOTH&gt;&gt; ...\",\"arguments\":[{\"name\":\"ALPHA=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the alpha level of the interval estimates for the hazard ratios. The value must be between 0 and 1. The default is the value of the ALPHA= option in the PROC PHREG statement, or 0.05 if that option is not specified.\",\"help\":\"ALPHA=*number*\",\"type\":\"value\"},{\"name\":\"AT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the variables that interact with the variable of interest and the corresponding values of the interacting variables. If the interacting variable is continuous and a numeric list is specified after the equal sign, hazard ratios are computed for each value in the list. If the interacting variable is a CLASS variable, you can specify, after the equal sign, a list of quoted strings corresponding to various levels of the CLASS variable, or you can specify the keyword ALL or REF. Hazard ratios are computed at each value of the list if the list is specified, or at each level of the interacting variable if ALL is specified, or at the reference level of the interacting variable if REF is specified.\",\"type\":\"standalone\"},{\"name\":\"CL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies whether to create the Wald or profile-likelihood confidence limits, or both for the classical analyis.\",\"help\":\"CL=WALD | PL | BOTH\",\"type\":\"choice\",\"arguments\":[{\"name\":\"WALD\",\"followsDelimiter\":\"/\",\"description\":\"Specifies to create the Wald confidence limits for the classical analyis..\",\"type\":\"standalone\"},{\"name\":\"PL\",\"followsDelimiter\":\"/\",\"description\":\"Specifies to create the profile-likelihood confidence limits for the classical analyis..\",\"type\":\"standalone\"},{\"name\":\"BOTH\",\"followsDelimiter\":\"/\",\"description\":\"Specifies to create both the Wald and profile-likelihood confidence limits for the classical analyis.\",\"type\":\"standalone\"}]},{\"name\":\"DIFF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies which differences to consider for the level comparisons of a CLASS variable. The default is DIFF=ALL.\",\"help\":\"DIFF=ALL | REF\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ALL\",\"followsDelimiter\":\"/\",\"description\":\"Requests all differences.\",\"type\":\"standalone\"},{\"name\":\"REF\",\"followsDelimiter\":\"/\",\"description\":\"Requests comparisons between the reference level and all other levels of the CLASS variable.\",\"type\":\"standalone\"}]},{\"name\":\"E\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays the vector h of linear coefficients such that h'β is the log-hazard ratio, with β being the vector of regression coefficients.\",\"type\":\"standalone\"},{\"name\":\"PLCONV=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Controls the convergence criterion for the profile-likelihood confidence limits.\",\"help\":\"PLCONV=*value*\",\"type\":\"value\"},{\"name\":\"PLMAXIT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the maximum number of iterations to achieve the convergence of the profile-likelihood confidence limits.\",\"help\":\"PLMAXIT=*n*\",\"type\":\"value\"},{\"name\":\"PLSINGULAR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the tolerance for testing the singularity of the Hessian matrix in the computation of the profile-likelihood confidence limits.\",\"help\":\"PLSINGULAR=*value*\",\"type\":\"value\"},{\"name\":\"UNITS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the units of change in the continuous explanatory variable for which the customized hazard ratio is estimated.\",\"help\":\"UNITS=*value*\",\"type\":\"value\"}]},{\"name\":\"ID\",\"description\":\"The ID statement specifies additional variables for identifying observations in the input data. These variables are placed in the OUT= data set created by the OUTPUT statement. In the computation of the robust sandwich variance estimate, you can aggregate over distinct values of these ID variables. Only variables in the input data set can be included in the ID statement.\",\"help\":\"ID variables \"},{\"name\":\"IF\",\"description\":\"\",\"help\":\"IF &lt;DO&gt;&lt;THEN&gt;&lt;WHEN&gt; ...\",\"arguments\":[{\"name\":\"AND\",\"optional\":true,\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"DO\",\"optional\":true,\"description\":\"Action statement in an IF-THEN construct.\",\"type\":\"standalone\"},{\"name\":\"GO\",\"optional\":true,\"aliases\":[\"GOTO\"],\"description\":\"Jumps to a new statement.\",\"help\":\"GO TO\",\"type\":\"standalone\"},{\"name\":\"NOT\",\"optional\":true,\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"OR\",\"optional\":true,\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"OUTPUT\",\"optional\":true,\"description\":\"Action statement in an IF-THEN construct.\",\"type\":\"standalone\"},{\"name\":\"PUT\",\"optional\":true,\"description\":\"Action statement in an IF-THEN construct.\",\"type\":\"standalone\"},{\"name\":\"SET\",\"optional\":true,\"description\":\"Reads an observation from one or more SAS data sets.\",\"type\":\"standalone\"},{\"name\":\"STOP\",\"optional\":true,\"description\":\"Action statement in an IF-THEN construct. Stops execution of the current DATA step.\",\"type\":\"standalone\"},{\"name\":\"THEN\",\"optional\":true,\"description\":\"If the conditions that are specified in the IF clause are met, the IF-THEN statement executes a SAS statement for observations that are read from a SAS data set, for records in an external file, or for computed values.\",\"type\":\"standalone\"},{\"name\":\"WHEN\",\"optional\":true,\"description\":\"WHEN statement in an IF-THEN-WHEN construct.\",\"type\":\"standalone\"}]},{\"name\":\"LINK\",\"description\":\"Directs program execution immediately to the statement label that is specified and, if followed by a RETURN statement, returns execution to the statement that follows the LINK statement.\",\"help\":\"LINK statement-label\"},{\"name\":\"LSMEANS\",\"description\":\"The LSMEANS statement computes and compares least squares means (LS-means) of fixed effects. LS-means are predicted population margins—that is, they estimate the marginal means over a balanced population. In a sense, LS-means are to unbalanced designs as class and subclass arithmetic means are to balanced designs.\",\"help\":\"LSMEANS &lt;ADJDFE=&lt;SOURCE | ROW&gt;&gt;&lt;ADJUST=&lt;BON | DUNNETT | NELSON&gt;... &gt;&lt;ALPHA=number&gt; ...\",\"arguments\":[{\"name\":\"ADJDFE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies how denominator degrees of freedom are determined when p-values and confidence limits are adjusted for multiple comparisons with the ADJUST= option.\",\"help\":\"ADJDFE=SOURCE | ROW\",\"type\":\"choice\",\"arguments\":[{\"name\":\"SOURCE\",\"followsDelimiter\":\"/\",\"description\":\"The denominator degrees of freedom for multiplicity-adjusted results are the denominator degrees of freedom for the LS-mean effect in the \\\"Type III Tests of Fixed Effects\\\" table.\",\"type\":\"standalone\"},{\"name\":\"ROW\",\"followsDelimiter\":\"/\",\"description\":\"Useful if you want multiplicity adjustments to take into account that denominator degrees of freedom are not constant across LS-mean differences.\",\"type\":\"standalone\"}]},{\"name\":\"ADJUST=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests a multiple comparison adjustment for the p-values and confidence limits for the differences of LS-means.\",\"help\":\"ADJUST=BON | DUNNETT | NELSON | SCHEFFE | SIDAK | SIMULATE | SMM | TUKEY\",\"type\":\"choice\",\"arguments\":[{\"name\":\"BON\",\"followsDelimiter\":\"/\",\"description\":\"Bonferroni adjustment\",\"type\":\"standalone\"},{\"name\":\"DUNNETT\",\"followsDelimiter\":\"/\",\"description\":\"Dunnett adjustment (in which the procedure analyzes all differences with a control level)\",\"type\":\"standalone\"},{\"name\":\"NELSON\",\"followsDelimiter\":\"/\",\"description\":\"Nelson adjustment (in which ANOM differences are taken)\",\"type\":\"standalone\"},{\"name\":\"SCHEFFE\",\"followsDelimiter\":\"/\",\"description\":\"Scheffe's adjustment\",\"type\":\"standalone\"},{\"name\":\"SIDAK\",\"followsDelimiter\":\"/\",\"description\":\"Sidak adjustment\",\"type\":\"standalone\"},{\"name\":\"SIMULATE\",\"followsDelimiter\":\"/\",\"description\":\"Computes adjusted p-values and confidence limits from the simulated distribution of the maximum or maximum absolute value of a multivariate t random vector. Syntax: SIMULATE<(simoptions)> You can specify the following simoptions in parentheses after the ADJUST=SIMULATE option. ACC=value specifies the target accuracy radius γ of a 100(1-ε)% confidence interval for the true probability content of the estimated (1-α)th quantile. The default value is ACC=0.005. EPS=value specifies the value ε for a 100(1-ε)% confidence interval for the true probability content of the estimated (1-α)th quantile. The default value is ACC=0.005. NSAMP=n specifies the sample size for the simulation. SEED=number specifies an integer that is used to start the pseudo-random number generator for the simulation. THREADS specifies that the computational work for the simulation be divided into parallel threads, where the number of threads is the value of the SAS system option CPUCOUNT=. NOTHREADS specifies that the computational work for the simulation be performed in sequence rather than in parallel. NOTHREADS is the default. This option overrides the SAS system option THREADS|NOTHREADS.\",\"type\":\"standalone\"},{\"name\":\"SMM\",\"followsDelimiter\":\"/\",\"aliases\":[\"GT2\"],\"description\":\"SMM adjustment\",\"type\":\"standalone\"},{\"name\":\"TUKEY\",\"followsDelimiter\":\"/\",\"description\":\"If your data are unbalanced, PROC GLIMMIX uses the approximation described in Kramer (1956) and identifies the adjustment as \\\"Tukey-Kramer\\\" in the results.\",\"type\":\"standalone\"}]},{\"name\":\"ALPHA=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that a t-type confidence interval be constructed for each of the LS-means with confidence level (1-number)x100%. The value of number must be between 0 and 1; the default is 0.05.\",\"help\":\"ALPHA=*number*\",\"type\":\"value\"},{\"name\":\"AT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Modifies the values of the covariates that are used in computing LS-means. By default, all covariate effects are set equal to their mean values for computation of standard LS-means. The AT option enables you to assign arbitrary values to the covariates. Additional columns in the output table indicate the values of the covariates.\",\"help\":\"AT=MEANS\",\"type\":\"choice\",\"arguments\":[{\"name\":\"MEANS\",\"type\":\"standalone\"}]},{\"name\":\"BYLEVEL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that separate margins be computed for each level of the LSMEANS effect.\",\"type\":\"standalone\"},{\"name\":\"CL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that t-type confidence limits be constructed for each of the LS-means. The confidence level is 0.95 by default; this can be changed with the ALPHA= option.\",\"type\":\"standalone\"},{\"name\":\"CORR\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays the estimated correlation matrix of the least squares means as part of the \\\"Least Squares Means\\\" table.\",\"type\":\"standalone\"},{\"name\":\"COV\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays the estimated covariance matrix of the least squares means as part of the \\\"Least Squares Means\\\" table.\",\"type\":\"standalone\"},{\"name\":\"DF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the degrees of freedom for the t test and confidence limits. The default is the denominator degrees of freedom taken from the \\\"Type III Tests\\\" table that corresponds to the LS-means effect.\",\"help\":\"DF=*number*\",\"type\":\"value\"},{\"name\":\"DIFF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"PDIFF=\"],\"description\":\"Requests that differences of the LS-means be displayed.\",\"help\":\"DIFF=ALL | ANOM | CONTROL | CONTROLL | CONTROLU\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ALL\",\"followsDelimiter\":\"/\",\"description\":\"Requests all pairwise differences; this is the default.\",\"type\":\"standalone\"},{\"name\":\"ANOM\",\"followsDelimiter\":\"/\",\"description\":\"Requests differences between each LS-mean and the average LS-mean, as in the analysis of means (Ott 1967).\",\"type\":\"standalone\"},{\"name\":\"CONTROL\",\"followsDelimiter\":\"/\",\"description\":\"Requests the differences with a control, which, by default, is the first level of each of the specified LSMEANS effects.\",\"type\":\"standalone\"},{\"name\":\"CONTROLL\",\"followsDelimiter\":\"/\",\"description\":\"Tests whether the noncontrol levels are significantly smaller than the control; the upper confidence limits for the control minus the noncontrol levels are considered to be infinity and are displayed as missing.\",\"type\":\"standalone\"},{\"name\":\"CONTROLU\",\"followsDelimiter\":\"/\",\"description\":\"Tests whether the noncontrol levels are significantly larger than the control; the upper confidence limits for the noncontrol levels minus the control are considered to be infinity and are displayed as missing.\",\"type\":\"standalone\"}]},{\"name\":\"E\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that the L matrix coefficients for the LSMEANS effects be displayed.\",\"type\":\"standalone\"},{\"name\":\"EXP\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests exponentiation of the LS-means or LS-mean differences. When you model data with the logit, cumulative logit, or generalized logit link functions, and the estimate represents a log odds ratio or log cumulative odds ratio, the EXP option produces an odds ratio. In proportional hazards model, the exponentiation of the LS-mean differences produces estimates of hazard ratios. If you specify the CL or ALPHA= option, the (adjusted) confidence bounds are also exponentiated.\",\"type\":\"standalone\"},{\"name\":\"ILINK\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that estimates and their standard errors in the \\\"Least Squares Means\\\" table also be reported on the scale of the mean (the inverse linked scale).\",\"type\":\"standalone\"},{\"name\":\"LINES\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Presents results of comparisons between all pairs of least squares means by listing the means in descending order and indicating nonsignificant subsets by line segments beside the corresponding LS-means.\",\"type\":\"standalone\"},{\"name\":\"MEANS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies to produce the table of least squares means. This is the default.\",\"type\":\"standalone\"},{\"name\":\"NOMEANS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies not to produce the table of least squares means.\",\"type\":\"standalone\"},{\"name\":\"OBSMARGINS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"OM=\"],\"description\":\"Specifies a potentially different weighting scheme for the computation of LS-means coefficients. The standard LS-means have equal coefficients across classification effects; however, the OM option changes these coefficients to be proportional to those found in the OM-data-set. This adjustment is reasonable when you want your inferences to apply to a population that is not necessarily balanced but has the margins that are observed in OM-data-set.\",\"type\":\"value\"},{\"name\":\"ODDSRATIO\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"OR\"],\"description\":\"Requests that LS-mean differences (DIFF, ADJUST= options) are also reported in terms of odds ratios. The ODDSRATIO option is ignored unless you use either the logit, cumulative logit, or generalized logit link function. If you specify the CL or ALPHA= option, confidence intervals for the odds ratios are also computed. These intervals are adjusted for multiplicity when you specify the ADJUST= option.\",\"type\":\"standalone\"},{\"name\":\"PDIFF\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Is the same as the DIFF option.\",\"type\":\"standalone\"},{\"name\":\"PLOT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"PLOTS=\"],\"description\":\"Requests that least squares means related graphics are produced via ODS Graphics, provided that the ODS GRAPHICS statement has been specified and the plot request does not conflict with other options in the LSMEANS statement.\",\"help\":\"PLOT=ALL | ANOMPLOT | BOXPLOT | CONTROLPLOT | DIFFPLOT | DISTPLOT | MEANPLOT | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ALL\",\"followsDelimiter\":\"/\",\"description\":\"Requests that the default plots corresponding to this LSMEANS statement be produced.\",\"type\":\"standalone\"},{\"name\":\"ANOMPLOT\",\"followsDelimiter\":\"/\",\"aliases\":[\"ANOM\"],\"description\":\"Requests an analysis of means display in which least squares means are compared to an average least squares mean.\",\"type\":\"standalone\"},{\"name\":\"BOXPLOT\",\"followsDelimiter\":\"/\",\"description\":\"Syntax: BOXPLOT<boxplot-options>> Produces box plots of the distribution of the least squares mean or least squares mean differences across a posterior sample. For example, this plot is available in procedures that support a Bayesian analysis through the BAYES statement. A separate box is generated for each estimable function, and all boxes appear on a single graph by default. You can affect the appearance of the box plot graph with the following options: ORIENTATION=VERTICAL|HORIZONTAL ORIENT=VERT|HORIZ specifies the orientation of the boxes. The default is vertical orientation of the box plots. NPANELPOS=number specifies how to break the series of box plots across multiple panels. If the NPANELPOS option is not specified, or if number equals zero, then all box plots are displayed in a single graph; this is the default.\",\"type\":\"standalone\"},{\"name\":\"CONTROLPLOT\",\"followsDelimiter\":\"/\",\"aliases\":[\"CONTROL\"],\"description\":\"Requests a display in which least squares means are visually compared against a reference level.\",\"type\":\"standalone\"},{\"name\":\"DIFFPLOT\",\"followsDelimiter\":\"/\",\"aliases\":[\"DIFFOGRAM\",\"DIFF\"],\"description\":\"Requests a display of all pairwise least squares mean differences and their significance. Syntax: DIFFPLOT<(diffplot-options)> You can specify the following diffplot-options: ABS all line segments are shown on the same side of the reference line. NOABS separates comparisons according to the sign of the difference. CENTER marks the center point for each comparison. NOLINES suppresses the display of the line segments that represent the confidence bounds for the differences of the least squares means. The NOLINES option implies the CENTER option.\",\"type\":\"standalone\"},{\"name\":\"DISTPLOT\",\"followsDelimiter\":\"/\",\"aliases\":[\"DIST\"],\"description\":\"Syntax: DISTPLOT<distplot-options> Generates panels of histograms with a kernel density overlaid if the analysis has access to a set of posterior parameter estimates. You can sepcify the following distplot-options in parentheses: BOX|NOBOX controls the display of a horizontal box plot of the estimable function’s distribution across the posterior sample below the graph. The BOX option is enabled by default. HIST|NOHIST controls the display of the histogram of the estimable function’s distribution across the posterior sample. The HIST option is enabled by default. NORMAL|NONORMAL controls the display of a normal density estimate on the graph. The NONORMAL option is enabled by default. KERNEL|NOKERNEL controls the display of a kernel density estimate on the graph. The KERNEL option is enabled by default. NROWS=number specifies the highest number of rows in a panel. The default is 3. NCOLS=number specifies the highest number of columns in a panel. The default is 3. UNPACK unpacks the panel into separate graphics.\",\"type\":\"standalone\"},{\"name\":\"MEANPLOT\",\"followsDelimiter\":\"/\",\"description\":\"Syntax: MEANPLOT<(meanplot-options)> Requests displays of the least squares means. The following meanplot-options control the display of the least squares means: ASCENDING displays the least squares means in ascending order. This option has no effect if means are sliced or displayed in separate plots. CL displays upper and lower confidence limits for the least squares means. By default, 95% limits are drawn. CLBAND displays confidence limits as bands. This option implies the JOIN option. DESCENDING displays the least squares means in descending order. This option has no effect if means are sliced or displayed in separate plots. ILINK requests that means (and confidence limits) are displayed on the inverse linked scale. JOIN | CONNECT connects the least squares means with lines. This option is implied by the CLBAND option. SLICEBY=fixed-effect specifies an effect by which to group the means in a single plot. PLOTBY=fixed-effect specifies an effect by which to break interaction plots into separate displays.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"followsDelimiter\":\"/\",\"description\":\"Requests that no plots be produced.\",\"type\":\"standalone\"}]},{\"name\":\"SEED=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the seed for the sampling-based components of the computations for the LSMEANS statement (for example, chi-bar-square statistics and simulated p-values). number specifies an integer that is used to start the pseudo-random-number generator for the simulation. If you do not specify a seed, or if you specify a value less than or equal to zero, the seed is generated from reading the time of day from the computer clock.\",\"help\":\"SEED=*number*\",\"type\":\"value\"},{\"name\":\"SINGULAR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Tunes the estimability checking. The value for number must be between 0 and 1; the default is 1E-4.\",\"help\":\"SINGULAR=*number*\",\"type\":\"value\"},{\"name\":\"STEPDOWN=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that multiple comparison adjustments for the p-values of LS-mean differences be further adjusted in a step-down fashion. Step-down methods increase the power of multiple comparisons by taking advantage of the fact that a p-value is never declared significant unless all smaller p-values are also declared significant. You can specify the following step-down options in parentheses: MAXTIME=n specifies the time (in seconds) to spend computing the maximal logically consistent sequential subsets of equality hypotheses for TYPE=LOGICAL. REPORT specifies that a report on the step-down adjustment should be displayed, including a listing of the sequential subsets (Westfall 1997) and, for ADJUST=SIMULATE, the step-down simulation results.\",\"help\":\"STEPDOWN=MAXTIME= | REPORT | TYPE=\",\"type\":\"choice\",\"arguments\":[{\"name\":\"MAXTIME=\",\"type\":\"value\"},{\"name\":\"REPORT\",\"type\":\"standalone\"},{\"name\":\"TYPE=\",\"type\":\"value\"}]}]},{\"name\":\"LSMESTIMATE\",\"description\":\"The LSMESTIMATE statement provides a mechanism for obtaining custom hypothesis tests among least squares means.\",\"help\":\"LSMESTIMATE &lt;ADJDFE=&lt;SOURCE | ROW&gt;&gt;&lt;ADJUST=&lt;BON | SCHEFFE | SIDAK&gt;... &gt;&lt;ALPHA=number&gt; ...\",\"arguments\":[{\"name\":\"ADJDFE=\",\"optional\":true,\"description\":\"Specifies how denominator degrees of freedom are determined when p-values and confidence limits are adjusted for multiple comparisons with the ADJUST= option.\",\"help\":\"ADJDFE=SOURCE | ROW\",\"type\":\"choice\",\"arguments\":[{\"name\":\"SOURCE\",\"description\":\"The denominator degrees of freedom for multiplicity-adjusted results are the denominator degrees of freedom for the LS-mean effect in the \\\"Type III Tests of Fixed Effects\\\" table.\",\"type\":\"standalone\"},{\"name\":\"ROW\",\"description\":\"Useful if you want multiplicity adjustments to take into account that denominator degrees of freedom are not constant across estimates.\",\"type\":\"standalone\"}]},{\"name\":\"ADJUST=\",\"optional\":true,\"description\":\"Requests a multiple comparison adjustment for the p-values and confidence limits for the LS-mean estimates. The adjusted quantities are produced in addition to the unadjusted p-values and confidence limits. Adjusted confidence limits are produced if the CL or ALPHA= option is in effect.\",\"help\":\"ADJUST=BON | SCHEFFE | SIDAK | SIMULATE | T\",\"type\":\"choice\",\"arguments\":[{\"name\":\"BON\",\"description\":\"Bonferroni adjustment\",\"type\":\"standalone\"},{\"name\":\"SCHEFFE\",\"description\":\"Scheffe's adjustment\",\"type\":\"standalone\"},{\"name\":\"SIDAK\",\"description\":\"Sidak adjustment\",\"type\":\"standalone\"},{\"name\":\"SIMULATE\",\"description\":\"Computes adjusted p-values and confidence limits from the simulated distribution of the maximum or maximum absolute value of a multivariate t random vector. Syntax: SIMULATE<(simoptions)> You can specify the following simoptions in parentheses after the ADJUST=SIMULATE option. ACC=value specifies the target accuracy radius γ of a 100(1-ε)% confidence interval for the true probability content of the estimated (1-α)th quantile. The default value is ACC=0.005. EPS=value specifies the value ε for a 100(1-ε)% confidence interval for the true probability content of the estimated (1-α)th quantile. The default value is ACC=0.005. NSAMP=n specifies the sample size for the simulation. SEED=number specifies an integer that is used to start the pseudo-random number generator for the simulation. THREADS specifies that the computational work for the simulation be divided into parallel threads, where the number of threads is the value of the SAS system option CPUCOUNT=. NOTHREADS specifies that the computational work for the simulation be performed in sequence rather than in parallel. NOTHREADS is the default. This option overrides the SAS system option THREADS|NOTHREADS.\",\"type\":\"standalone\"},{\"name\":\"T\",\"description\":\"The default, which really signifies no adjustment for multiple comparisons.\",\"type\":\"standalone\"}]},{\"name\":\"ALPHA=\",\"optional\":true,\"description\":\"Requests that a t-type confidence interval be constructed for each of the LS-means with confidence level 1-number. The value of number must be between 0 and 1; the default is 0.05.\",\"help\":\"ALPHA=*number*\",\"type\":\"value\"},{\"name\":\"AT=\",\"optional\":true,\"description\":\"Modifies the values of the covariates used in computing LS-means. By default, all covariate effects are set equal to their mean values for computation of standard LS-means. The AT option enables you to assign arbitrary values to the covariates. Additional columns in the output table indicate the values of the covariates.\",\"help\":\"AT=MEANS\",\"type\":\"choice\",\"arguments\":[{\"name\":\"MEANS\",\"type\":\"standalone\"}]},{\"name\":\"BYLEVEL\",\"optional\":true,\"description\":\"Requests that the procedure compute separate margins for each level of the LSMEANS effect.\",\"type\":\"standalone\"},{\"name\":\"CATEGORY=\",\"optional\":true,\"description\":\"Specifies how to construct estimates and multiplicity corrections for models with multinomial data (ordinal or nominal). This option is also important for constructing sets of estimable functions for F tests with the JOINT option.\",\"help\":\"CATEGORY=JOINT | SEPARATE | &lt;*quoted-value-list*&gt;\",\"type\":\"choice\",\"arguments\":[{\"name\":\"JOINT\",\"description\":\"Computes the estimable functions for every nonredundant category and treats them as a set. For example, a three-row LSESTIMATE statement in a model with three response categories leads to six estimable functions.\",\"type\":\"standalone\"},{\"name\":\"SEPARATE\",\"description\":\"Computes the estimable functions for every nonredundant category in turn. For example, a three-row LSESTIMATE statement in a model with three response categories leads to two sets of three estimable functions.\",\"type\":\"standalone\"},{\"name\":\"quoted-value-list\",\"placeholder\":true,\"description\":\"Computes the estimable functions only for the list of values given. The list must consist of formatted values of the response categories.\",\"type\":\"value\"}]},{\"name\":\"CHISQ\",\"optional\":true,\"description\":\"Requests that chi-square tests be performed in addition to F tests, when you request an F test with the JOINT option. This option has no effect in procedures that produce chi-square statistics by default.\",\"type\":\"standalone\"},{\"name\":\"CL\",\"optional\":true,\"description\":\"Requests that t-type confidence limits be constructed for each of the LS-means. The confidence level is 0.95 by default; this can be changed with the ALPHA= option.\",\"type\":\"standalone\"},{\"name\":\"CORR\",\"optional\":true,\"description\":\"Displays the estimated correlation matrix of the linear combination of the least squares means.\",\"type\":\"standalone\"},{\"name\":\"COV\",\"optional\":true,\"description\":\"Displays the estimated covariance matrix of the linear combination of the least squares means.\",\"type\":\"standalone\"},{\"name\":\"DF=\",\"optional\":true,\"description\":\"Specifies the degrees of freedom for the t test and confidence limits.\",\"help\":\"DF=*number*\",\"type\":\"value\"},{\"name\":\"DIVISOR=\",\"optional\":true,\"description\":\"Specifies a list of values by which to divide the coefficients so that fractional coefficients can be entered as integer numerators. If you do not specify value-list, a default value of 1.0 is assumed. Missing values in the value-list are converted to 1.0.\",\"help\":\"DIVISOR=*value-list*\",\"type\":\"value\"},{\"name\":\"E\",\"optional\":true,\"description\":\"Requests that the L coefficients of the estimable function be displayed.\",\"type\":\"standalone\"},{\"name\":\"ELSM\",\"optional\":true,\"description\":\"Requests that the K matrix coefficients be displayed. These are the coefficients that apply to the LS-means. This option is useful to ensure that you assigned the coefficients correctly to the LS-means.\",\"type\":\"standalone\"},{\"name\":\"EXP\",\"optional\":true,\"description\":\"Requests exponentiation of the least squares means estimate. When you model data with the logit link function and the estimate represents a log odds ratio, the EXP option produces an odds ratio. If you specify the CL or ALPHA= option, the (adjusted) confidence limits for the estimate are also exponentiated.\",\"type\":\"standalone\"},{\"name\":\"ILINK\",\"optional\":true,\"description\":\"Requests that the estimate and its standard error are also reported on the scale of the mean (the inverse linked scale).\",\"type\":\"standalone\"},{\"name\":\"JOINT=\",\"optional\":true,\"description\":\"Requests that a joint F or chi-square test be produced for the rows of the estimate. You can specify the following joint-test-options in parentheses: ACC=γ specifies the accuracy radius for determining the necessary sample size in the simulation-based approach of Silvapulle and Sen (2004) for tests with order restrictions. The value of γ must be strictly between 0 and 1; the default value is 0.005. EPS=є specifies the accuracy confidence level for determining the necessary sample size in the simulation-based approach of Silvapulle and Sen (2004) for tests with order restrictions. The value of є must be strictly between 0 and 1; the default value is 0.01. LABEL='label' assigns an identifying label to the joint test. If you do not specify a label, the first non-default label for the ESTIMATE rows is used to label the joint test. NOEST | ONLY performs only the F or chi-square test and suppresses other results from the ESTIMATE statement. This option is useful for emulating the CONTRAST statement that is available in other procedures. NSAMP=n specifies the number of samples for the simulation-based method of Silvapulle and Sen (2004). CHISQ -- adds a chi-square test if the procedure produces an F test by default.\",\"help\":\"JOINT=ACC= | EPS= | LABEL= | NOEST | ONLY | NSAMP= | CHISQ | BOUNDS=\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ACC=\",\"type\":\"value\"},{\"name\":\"EPS=\",\"type\":\"value\"},{\"name\":\"LABEL=\",\"type\":\"value\"},{\"name\":\"NOEST\",\"type\":\"standalone\"},{\"name\":\"ONLY\",\"type\":\"standalone\"},{\"name\":\"NSAMP=\",\"type\":\"value\"},{\"name\":\"CHISQ\",\"type\":\"standalone\"},{\"name\":\"BOUNDS=\",\"type\":\"value\"}]},{\"name\":\"LOWER\",\"optional\":true,\"aliases\":[\"LOWERTAILED\"],\"description\":\"Requests that the p-value for the t test be based only on values less than the test statistic. A two-tailed test is the default. A lower-tailed confidence limit is also produced if you specify the CL or ALPHA= option.\",\"type\":\"standalone\"},{\"name\":\"OBSMARGINS=\",\"optional\":true,\"aliases\":[\"OM=\"],\"description\":\"Specifies a potentially different weighting scheme for the computation of LS-means coefficients. The standard LS-means have equal coefficients across classification effects; however, the OM option changes these coefficients to be proportional to those found in the OM-data-set. This adjustment is reasonable when you want your inferences to apply to a population that is not necessarily balanced but has the margins observed in OM-data-set.\",\"type\":\"value\"},{\"name\":\"PLOTS=\",\"optional\":true,\"description\":\"Produces ODS statistical graphics of the distribution of estimable functions if the procedure performs the analysis in a sampling-based mode.\",\"help\":\"PLOTS=ALL | BOXPLOT | DISTPLOT | NONE*plot-options*\",\"type\":\"value\",\"arguments\":[{\"name\":\"ALL\",\"description\":\"Requests that the default plots corresponding to this LSMEANS statement be produced.\",\"type\":\"standalone\"},{\"name\":\"BOXPLOT\",\"description\":\"Syntax: BOXPLOT<boxplot-options>> Produces box plots of the distribution of the least squares mean or least squares mean differences across a posterior sample. For example, this plot is available in procedures that support a Bayesian analysis through the BAYES statement. A separate box is generated for each estimable function, and all boxes appear on a single graph by default. You can affect the appearance of the box plot graph with the following options: ORIENTATION=VERTICAL|HORIZONTAL ORIENT=VERT|HORIZ specifies the orientation of the boxes. The default is vertical orientation of the box plots. NPANELPOS=number specifies how to break the series of box plots across multiple panels. If the NPANELPOS option is not specified, or if number equals zero, then all box plots are displayed in a single graph; this is the default.\",\"type\":\"standalone\"},{\"name\":\"DISTPLOT\",\"aliases\":[\"DIST\"],\"description\":\"Syntax: DISTPLOT<distplot-options> Generates panels of histograms with a kernel density overlaid if the analysis has access to a set of posterior parameter estimates. You can sepcify the following distplot-options in parentheses: BOX|NOBOX controls the display of a horizontal box plot of the estimable function’s distribution across the posterior sample below the graph. The BOX option is enabled by default. HIST|NOHIST controls the display of the histogram of the estimable function’s distribution across the posterior sample. The HIST option is enabled by default. NORMAL|NONORMAL controls the display of a normal density estimate on the graph. The NONORMAL option is enabled by default. KERNEL|NOKERNEL controls the display of a kernel density estimate on the graph. The KERNEL option is enabled by default. NROWS=number specifies the highest number of rows in a panel. The default is 3. NCOLS=number specifies the highest number of columns in a panel. The default is 3. UNPACK unpacks the panel into separate graphics.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"Requests that no plots be produced.\",\"type\":\"standalone\"}]},{\"name\":\"SINGULAR=\",\"optional\":true,\"description\":\"Tunes the estimability checking as documented for the ESTIMATE statement.\",\"help\":\"SINGULAR=*number*\",\"type\":\"value\"},{\"name\":\"STEPDOWN\",\"optional\":true,\"description\":\"Requests that multiplicity adjustments for the p-values of estimates be further adjusted in a step-down fashion. Step-down methods increase the power of multiple testing procedures by taking advantage of the fact that a p-value is never declared significant unless all smaller p-values are also declared significant. You can specify the following step-down-options in parentheses: MAXTIME=n specifies the time (in seconds) to spend computing the maximal logically consistent sequential subsets of equality hypotheses for TYPE=LOGICAL. The default is MAXTIME=60. ORDER=PVALUE ORDER=ROWS specifies the order in which the step-down tests are performed. ORDER=PVALUE is the default, with LS-mean estimates being declared significant only if all LS-mean estimates with smaller (unadjusted) p-values are significant. If you specify ORDER=ROWS, then significances are evaluated in the order in which they are specified. REPORT specifies that a report on the step-down adjustment be displayed, including a listing of the sequential subsets (Westfall 1997) and, for ADJUST=SIMULATE, the step-down simulation results.\",\"type\":\"standalone\"},{\"name\":\"TESTVALUE=\",\"optional\":true,\"aliases\":[\"TESTMEAN=\"],\"description\":\"Specifies the value under the null hypothesis for testing the estimable functions in the LSMESTIMATE statement. The rules for specifying the value-list are very similar to those for specifying the divisor list in the DIVISOR= option. If no TESTVALUE= is specified, all tests are performed as H: Lβ=0. Missing values in the value-list also are translated to zeros. If you specify fewer values than rows in the ESTIMATE statement, the last value in value-list is carried forward. The TESTVALUE= option affects only p-values from individual, joint, and multiplicity-adjusted tests. It does not affect confidence intervals.\",\"help\":\"TESTVALUE=*value-list*\",\"type\":\"value\"},{\"name\":\"UPPER\",\"optional\":true,\"aliases\":[\"UPPERTAILED\"],\"description\":\"Requests that the p-value for the t test be based only on values greater than the test statistic. A two-tailed test is the default. An upper-tailed confidence limit is also produced if you specify the CL or ALPHA= option.\",\"type\":\"standalone\"}]},{\"name\":\"MODEL\",\"description\":\"\",\"help\":\"MODEL &lt;ABSFCONV=value | CONVERGELIKE=value&gt;&lt;ALPHA=number&gt;&lt;BEST=n&gt; ...\",\"arguments\":[{\"name\":\"ABSFCONV=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"CONVERGELIKE=\"],\"description\":\"Specifies the absolute function convergence criterion.\",\"type\":\"value\"},{\"name\":\"ALPHA=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Sets the significance level used for the confidence limits for the hazard ratios. The value of number must be between 0 and 1.\",\"help\":\"ALPHA=*number*\",\"type\":\"value\"},{\"name\":\"BEST=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Is used exclusively with the SCORE model selection method. Specifies that n models with the highest score chi-square statistics are to be displayed for each model size.\",\"help\":\"BEST=*n*\",\"type\":\"value\"},{\"name\":\"CORRB\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays the estimated correlation matrix of the parameter estimates.\",\"type\":\"standalone\"},{\"name\":\"COVB\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays the estimated covariance matrix of the parameter estimates.\",\"type\":\"standalone\"},{\"name\":\"DETAILS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Produces a detailed display at each step of the model-building process.\",\"type\":\"standalone\"},{\"name\":\"ENTRYTIME=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"ENTRY=\"],\"description\":\"Specifies the name of the variable that represents the left truncation time.\",\"help\":\"ENTRYTIME=*variable*\",\"type\":\"value\"},{\"name\":\"FAST\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Uses a computational algorithm of Lawless and Singhal (1978) to compute a first-order approximation to the remaining slope estimates for each subsequent elimination of a variable from the model.\",\"type\":\"standalone\"},{\"name\":\"FCONV=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the relative function convergence criterion.\",\"help\":\"FCONV=*value*\",\"type\":\"value\"},{\"name\":\"FIRTH\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Performs Firth’s penalized maximum likelihood estimation to reduce bias in the parameter estimates.\",\"type\":\"standalone\"},{\"name\":\"GCONV=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the relative gradient convergence criterion.\",\"help\":\"GCONV=*value*\",\"type\":\"value\"},{\"name\":\"HIERARCHY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"HIER=\"],\"description\":\"Specifies whether and how the model hierarchy requirement is applied and whether a single effect or multiple effects are allowed to enter or leave the model in one step.\",\"help\":\"HIERARCHY=NONE | SINGLE | SINGLECLASS | MULTIPLE | MULTIPLECLASS\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NONE\",\"followsDelimiter\":\"/\",\"description\":\"Indicates that the model hierarchy is not maintained.\",\"type\":\"standalone\"},{\"name\":\"SINGLE\",\"followsDelimiter\":\"/\",\"description\":\"Indicates that only one effect can enter or leave the model at one time, subject to the model hierarchy requirement.\",\"type\":\"standalone\"},{\"name\":\"SINGLECLASS\",\"followsDelimiter\":\"/\",\"description\":\"Is the same as HIERARCHY=SINGLE except that only CLASS effects are subject to the hierarchy requirement.\",\"type\":\"standalone\"},{\"name\":\"MULTIPLE\",\"followsDelimiter\":\"/\",\"description\":\"Indicates that more than one effect can enter or leave the model at one time\",\"type\":\"standalone\"},{\"name\":\"MULTIPLECLASS\",\"followsDelimiter\":\"/\",\"description\":\"Is the same as HIERARCHY=MULTIPLE except that only CLASS effects are subject to the hierarchy requirement.\",\"type\":\"standalone\"}]},{\"name\":\"INCLUDE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Includes the first n effects in the MODEL statement in every model.\",\"help\":\"INCLUDE=*n*\",\"type\":\"value\"},{\"name\":\"ITPRINT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays the iteration history, including the last evaluation of the gradient vector.\",\"type\":\"standalone\"},{\"name\":\"MAXITER=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the maximum number of iterations allowed. By default, MAXITER=25.\",\"help\":\"MAXITER=*number*\",\"type\":\"value\"},{\"name\":\"MAXSTEP=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the maximum number of times the explanatory variables can move in and out of the model before the STEPWISE model-building process ends.\",\"help\":\"MAXSTEP=*n*\",\"type\":\"value\"},{\"name\":\"NODUMMYPRINT\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"NODESIGNPRINT\",\"NODP\"],\"description\":\"Suppresses the \\\"Class Level Information\\\" table, which shows how the design matrix columns for the CLASS variables are coded.\",\"type\":\"standalone\"},{\"name\":\"NOFIT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Performs the global score test, which tests the joint significance of all the explanatory variables in the MODEL statement.\",\"type\":\"standalone\"},{\"name\":\"OFFSET=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the name of an offset variable, which is an explanatory variable with a regression coefficient fixed as one.\",\"help\":\"OFFSET=*name*\",\"type\":\"value\"},{\"name\":\"PLCONV=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Controls the convergence criterion for confidence intervals based on the profile-likelihood function. The quantity value must be a positive number, with a default value of 1E–4.\",\"help\":\"PLCONV=*value*\",\"type\":\"value\"},{\"name\":\"RIDGEINIT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the initial ridge value. The maximum ridge value is 2000 times the maximum of 1 and the initial ridge value.\",\"help\":\"RIDGEINIT=*value*\",\"type\":\"value\"},{\"name\":\"RIDGING=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the technique used to improve the log-likelihood function when its value is worse than that of the previous step.\",\"help\":\"RIDGING=ABSOLUTE | RELATIVE | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ABSOLUTE\",\"followsDelimiter\":\"/\",\"description\":\"The diagonal elements of the negative (expected) Hessian are inflated by adding the ridge value.\",\"type\":\"standalone\"},{\"name\":\"RELATIVE\",\"followsDelimiter\":\"/\",\"description\":\"The diagonal elements are inflated by a factor of 1 plus the ridge value. This is the default.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"followsDelimiter\":\"/\",\"description\":\"The crude line search method of taking half a step is used instead of ridging.\",\"type\":\"standalone\"}]},{\"name\":\"RISKLIMITS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"RL=\"],\"description\":\"Produces confidence intervals for hazard ratios of main effects not involved in interactions or nestings.\",\"help\":\"RISKLIMITS=PL | WALD | BOTH\",\"type\":\"choice\",\"arguments\":[{\"name\":\"PL\",\"followsDelimiter\":\"/\",\"description\":\"Requests profile-likelihood confidence limits.\",\"type\":\"standalone\"},{\"name\":\"WALD\",\"followsDelimiter\":\"/\",\"description\":\"Requests confidence limits based on the Wald tests.\",\"type\":\"standalone\"},{\"name\":\"BOTH\",\"followsDelimiter\":\"/\",\"description\":\"Request both profile-likelihood and Wald confidence limits.\",\"type\":\"standalone\"}]},{\"name\":\"SELECTION=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the method used to select the variables in the model.\",\"help\":\"SELECTION=BACKWARD | FORWARD | NONE | STEPWISE | SCORE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"BACKWARD\",\"followsDelimiter\":\"/\",\"aliases\":[\"B\"],\"description\":\"Requests backward elimination\",\"type\":\"standalone\"},{\"name\":\"FORWARD\",\"followsDelimiter\":\"/\",\"aliases\":[\"F\"],\"description\":\"Requests forward selection\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"followsDelimiter\":\"/\",\"aliases\":[\"N\"],\"description\":\"Fits the complete model specified in the MODEL statement. This is the default.\",\"type\":\"standalone\"},{\"name\":\"STEPWISE\",\"followsDelimiter\":\"/\",\"aliases\":[\"S\"],\"description\":\"Requests stepwise selection\",\"type\":\"standalone\"},{\"name\":\"SCORE\",\"followsDelimiter\":\"/\",\"description\":\"Requests best subset selection\",\"type\":\"standalone\"}]},{\"name\":\"SEQUENTIAL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Forces variables to be added to the model in the order specified in the MODEL statement or eliminated from the model in the reverse order of that specified in the MODEL statement.\",\"type\":\"standalone\"},{\"name\":\"SINGULAR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the singularity criterion for determining linear dependencies in the set of explanatory variables.\",\"help\":\"SINGULAR=*value*\",\"type\":\"value\"},{\"name\":\"SLENTRY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"SLE=\"],\"description\":\"Specifies the significance level (a value between 0 and 1) for entering an explanatory variable into the model in the FORWARD or STEPWISE method.\",\"help\":\"SLENTRY=*value*\",\"type\":\"value\"},{\"name\":\"SLSTAY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"SLS=\"],\"description\":\"Specifies the significance level (a value between 0 and 1) for removing an explanatory variable from the model in the BACKWARD or STEPWISE method.\",\"help\":\"SLSTAY=*value*\",\"type\":\"value\"},{\"name\":\"START=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Begins the FORWARD, BACKWARD, or STEPWISE effect selection process with the first n effects listed in the MODEL statement.\",\"help\":\"START=*n*\",\"type\":\"value\"},{\"name\":\"STOP=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the maximum (FORWARD method) or minimum (BACKWARD method) number of effects to be included in the final model.\",\"help\":\"STOP=*n*\",\"type\":\"value\"},{\"name\":\"STOPRES\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"SR\"],\"description\":\"Specifies that the addition and deletion of variables be based on the result of the likelihood score test for testing the joint significance of variables not in the model.\",\"type\":\"standalone\"},{\"name\":\"TIES=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the optimization technique for estimating the regression parameters.\",\"help\":\"TIES=BRESLOW | DISCRETE | EFRON | EXACT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"BRESLOW\",\"followsDelimiter\":\"/\",\"description\":\"Uses the approximate likelihood of Breslow (1974). This is the default value.\",\"type\":\"standalone\"},{\"name\":\"DISCRETE\",\"followsDelimiter\":\"/\",\"description\":\"Replaces the proportional hazards model by the discrete logistic model\",\"type\":\"standalone\"},{\"name\":\"EFRON\",\"followsDelimiter\":\"/\",\"description\":\"Uses the approximate likelihood of Efron (1977).\",\"type\":\"standalone\"},{\"name\":\"EXACT\",\"followsDelimiter\":\"/\",\"description\":\"Computes the exact conditional probability under the proportional hazards assumption that all tied event times occur before censored times of the same value or before larger values.\",\"type\":\"standalone\"}]},{\"name\":\"TYPE1\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that a Type 1 (sequential) analysis of likelihood ratio test be performed. This consists of sequentially fitting models, beginning with the null model and continuing up to the model specified in the MODEL statement. The likelihood ratio statistic for each successive pair of models is computed and displayed in a table.\",\"type\":\"standalone\"},{\"name\":\"TYPE3\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests a Type 3 test for each effect that is specified in the MODEL statement. The default is to use the Wald statistic, but you can requests other statistics by specifying one or more of the following keywords: ALL requests the likelihood ratio tests, the score tests, and the Wald tests. Specifying TYPE3(ALL) is equivalent to specifying TYPE3=(LR SCORE WALD). NONE suppresses the Type 3 analysis. Even if the TYPE3 option is not specified, PROC PHREG displays the Wald test results for each model effect if a CLASS variable is involved in a MODEL effect. The NONE option can be used to suppress such display. LR requests the likelihood ratio tests. This request is not honored if the COVS option is also specified. SCORE requests the score tests. This request is not honored if the COVS option is also specified.\",\"type\":\"standalone\"},{\"name\":\"XCONV=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"CONVEREPARM=\"],\"description\":\"Specifies the relative parameter convergence criterion.\",\"help\":\"XCONV=*value*\",\"type\":\"value\"}]},{\"name\":\"OUTPUT\",\"description\":\"The OUTPUT statement creates a new SAS data set containing statistics calculated for each observation.\",\"help\":\"OUTPUT ATRISK= DFBETA= OUT=SAS-data-set ...\",\"arguments\":[{\"name\":\"ATRISK=\",\"description\":\"Specifies the number of subjects at risk at the observation time ti (or at the right endpoint of the at-risk interval when a counting process MODEL specification is used).\",\"type\":\"value\"},{\"name\":\"DFBETA=\",\"description\":\"Specifies the approximate changes in the parameter estimates (β-β(j)) when the j-th observation is omitted.\",\"type\":\"value\"},{\"name\":\"LD=\",\"description\":\"Specifies the approximate likelihood displacement when the observation is left out.\",\"type\":\"value\"},{\"name\":\"LMAX=\",\"description\":\"Specifies the relative influence of observations on the overall fit of the model.\",\"type\":\"value\"},{\"name\":\"LOGLOGS=\",\"description\":\"Specifies the log of the negative log of SURVIVAL.\",\"type\":\"value\"},{\"name\":\"LOGSURV=\",\"description\":\"Specifies the log of SURVIVAL.\",\"type\":\"value\"},{\"name\":\"OUT=\",\"description\":\"Names the output data set. If you omit the OUT= option, the output data set is created and given a default name by using the DATAn convention.\",\"help\":\"OUT=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"RESDEV=\",\"description\":\"Specifies the deviance residual Dj\",\"type\":\"value\"},{\"name\":\"RESMART=\",\"description\":\"Specifies the martingale residual Mj.\",\"type\":\"value\"},{\"name\":\"RESSCH=\",\"description\":\"Specifies the Schoenfeld residuals.\",\"type\":\"value\"},{\"name\":\"RESSCO=\",\"description\":\"Specifies the score residuals.\",\"type\":\"value\"},{\"name\":\"STDXBETA=\",\"description\":\"Specifies the standard error of an estimated linear predictor.\",\"type\":\"value\"},{\"name\":\"SURVIVAL=\",\"description\":\"Specifies the survivor function estimate.\",\"type\":\"value\"},{\"name\":\"WTRESSCH=\",\"description\":\"Specifies the weighted Schoenfeld residuals.\",\"type\":\"value\"},{\"name\":\"XBETA=\",\"description\":\"Specifies the estimate of the linear predictor, zj'β\",\"type\":\"value\"},{\"name\":\"METHOD=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the method used to compute the survivor function estimates. The default is METHOD=BRESLOW.\",\"help\":\"METHOD=BRESLOW | FH | PL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"BRESLOW\",\"followsDelimiter\":\"/\",\"aliases\":[\"CH\",\"EMP\"],\"description\":\"Specifies that the empirical cumulative hazard function estimate of the survivor function be computed; that is, the survivor function is estimated by exponentiating the negative empirical cumulative hazard function.\",\"type\":\"standalone\"},{\"name\":\"FH\",\"followsDelimiter\":\"/\",\"description\":\"Specifies that the Fleming-Harrington (FH) estimates be computed. The FH estimator is a tie-breaking modification of the Breslow estimator. If there are no tied event times, this estimator is the same as the Breslow estimator.\",\"type\":\"standalone\"},{\"name\":\"PL\",\"followsDelimiter\":\"/\",\"description\":\"Specifies that the product-limit estimate of the survivor function be computed. This estimator is not available if you use the model syntax that allows two time variables for the counting process style of input; in such a case, the Breslow estimator (METHOD=BRESLOW) is used instead.\",\"type\":\"standalone\"}]},{\"name\":\"ORDER=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the order of the observations in the OUTPUT data set.\",\"help\":\"ORDER=DATA | SORTED\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DATA\",\"followsDelimiter\":\"/\",\"description\":\"Requests that the output observations be sorted the same as the input data set.\",\"type\":\"standalone\"},{\"name\":\"SORTED\",\"followsDelimiter\":\"/\",\"description\":\"Requests that the output observations be sorted by strata and descending order of the time variable within each stratum.\",\"type\":\"standalone\"}]}]},{\"name\":\"PUT\",\"description\":\"The PUT statement writes text data to the current output file.\",\"help\":\"PUT &lt;_PAGE_&gt;\",\"arguments\":[{\"name\":\"_PAGE_\",\"optional\":true,\"description\":\"Outputs any pending line data and moves to the top of the next page.\",\"type\":\"standalone\"}]},{\"name\":\"RANDOM\",\"description\":\"The RANDOM statement enables you to fit a shared frailty model for clustered data with normal distributed random effects (see the section The Frailty Model for details). The variable that represents the clusters must be a CLASS variable (declared in the CLASS statement). Currently, Bayesian analysis is not available for the frailty model.\",\"help\":\"RANDOM &lt;ABSPCONV=r&gt;&lt;ALPHA=value&gt;&lt;DIST=&lt;GAMMA | LOGNORMAL&gt;&gt; ...\",\"arguments\":[{\"name\":\"ABSPCONV=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies an absolute variance estimate convergence criterion for the doubly iterative estimation process. The PHREG procedure applies this criterion to the variance parameter estimate of the random effects.\",\"help\":\"ABSPCONV=*r*\",\"type\":\"value\"},{\"name\":\"ALPHA=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the α level of the confidence limits for the random effects. The default is the value of the ALPHA= option in the PROC PHREG statement, or 0.05 if that option is not specified. This option is ignored if the SOLUTION option is not also specified.\",\"help\":\"ALPHA=*value*\",\"type\":\"value\"},{\"name\":\"DIST=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the distribution of the shared frailty. DIST=GAMMA specifies a gamma frailty model. DIST=LOGNORMAL specifies a lognormal frailty model; that is, the log-frailty random variable has a normal distribution with mean zero. The default is DIST=LOGNORMAL.\",\"help\":\"DIST=GAMMA | LOGNORMAL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"GAMMA\",\"followsDelimiter\":\"/\",\"description\":\"Specifies a gamma frailty model.\",\"type\":\"standalone\"},{\"name\":\"LOGNORMAL\",\"followsDelimiter\":\"/\",\"description\":\"Specifies a lognormal frailty model; that is, the log-frailty random variable has a normal distribution with mean zero.\",\"type\":\"standalone\"}]},{\"name\":\"INITIALVARIANCE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"INITIAL=\"],\"description\":\"Specifies an inital value of the variance estimate. The default is INITIAL=1.\",\"type\":\"value\"},{\"name\":\"METHOD=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the estimation method for the variance parameter. The REML specifications performs the residual maximum likelihood; this is the default method. The ML specification performs maximum likelihood.\",\"help\":\"METHOD=REML | ML\",\"type\":\"choice\",\"arguments\":[{\"name\":\"REML\",\"followsDelimiter\":\"/\",\"description\":\"Performs the residual maximum likelihood; this is the default method.\",\"type\":\"standalone\"},{\"name\":\"ML\",\"followsDelimiter\":\"/\",\"description\":\"Performs maximum likelihood.\",\"type\":\"standalone\"}]},{\"name\":\"NOCLPRINT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Suppresses the display of the \\\"Class Level Information for Random Effects\\\" table.\",\"type\":\"standalone\"},{\"name\":\"PCONV=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the variance estimate convergence criterion for the doubly iterative estimation process. The PHREG procedure applies this criterion to the variance estimate of the random effects.\",\"help\":\"PCONV=*r*\",\"type\":\"value\"},{\"name\":\"SOLUTION\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays estimates of the normal random effects. Also displayed are estimates of the lognormal frailites, which are the exponentiated estimates of the normal random effects.\",\"type\":\"standalone\"}]},{\"name\":\"RETURN\",\"description\":\"Stops executing statements at the current point in the DATA step and returns to a predetermined point in the step.\",\"help\":\"RETURN\"},{\"name\":\"SELECT\",\"description\":\"\",\"help\":\"\"},{\"name\":\"SLICE\",\"description\":\"The SLICE statement provides a general mechanism for performing a partitioned analysis of the LS-means for an interaction. This analysis is also known as an analysis of simple effects. The SLICE statement uses the same options as the LSMEANS statement.\",\"help\":\"SLICE &lt;ADJDFE=&lt;SOURCE | ROW&gt;&gt;&lt;ADJUST=&lt;BON | DUNNETT | NELSON&gt;... &gt;&lt;ALPHA=number&gt; ...\",\"arguments\":[{\"name\":\"ADJDFE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies how denominator degrees of freedom are determined when p-values and confidence limits are adjusted for multiple comparisons with the ADJUST= option.\",\"help\":\"ADJDFE=SOURCE | ROW\",\"type\":\"choice\",\"arguments\":[{\"name\":\"SOURCE\",\"followsDelimiter\":\"/\",\"description\":\"The denominator degrees of freedom for multiplicity-adjusted results are the denominator degrees of freedom for the LS-mean effect in the \\\"Type III Tests of Fixed Effects\\\" table.\",\"type\":\"standalone\"},{\"name\":\"ROW\",\"followsDelimiter\":\"/\",\"description\":\"Useful if you want multiplicity adjustments to take into account that denominator degrees of freedom are not constant across LS-mean differences.\",\"type\":\"standalone\"}]},{\"name\":\"ADJUST=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests a multiple comparison adjustment for the p-values and confidence limits for the differences of LS-means.\",\"help\":\"ADJUST=BON | DUNNETT | NELSON | SCHEFFE | SIDAK | SIMULATE | SMM | TUKEY\",\"type\":\"choice\",\"arguments\":[{\"name\":\"BON\",\"followsDelimiter\":\"/\",\"description\":\"Bonferroni adjustment\",\"type\":\"standalone\"},{\"name\":\"DUNNETT\",\"followsDelimiter\":\"/\",\"description\":\"Dunnett adjustment (in which the procedure analyzes all differences with a control level)\",\"type\":\"standalone\"},{\"name\":\"NELSON\",\"followsDelimiter\":\"/\",\"description\":\"Nelson adjustment (in which ANOM differences are taken)\",\"type\":\"standalone\"},{\"name\":\"SCHEFFE\",\"followsDelimiter\":\"/\",\"description\":\"Scheffe's adjustment\",\"type\":\"standalone\"},{\"name\":\"SIDAK\",\"followsDelimiter\":\"/\",\"description\":\"Sidak adjustment\",\"type\":\"standalone\"},{\"name\":\"SIMULATE\",\"followsDelimiter\":\"/\",\"description\":\"Computes adjusted p-values and confidence limits from the simulated distribution of the maximum or maximum absolute value of a multivariate t random vector. Syntax: SIMULATE<(simoptions)> You can specify the following simoptions in parentheses after the ADJUST=SIMULATE option. ACC=value specifies the target accuracy radius γ of a 100(1-ε)% confidence interval for the true probability content of the estimated (1-α)th quantile. The default value is ACC=0.005. EPS=value specifies the value ε for a 100(1-ε)% confidence interval for the true probability content of the estimated (1-α)th quantile. The default value is ACC=0.005. NSAMP=n specifies the sample size for the simulation. SEED=number specifies an integer that is used to start the pseudo-random number generator for the simulation. THREADS specifies that the computational work for the simulation be divided into parallel threads, where the number of threads is the value of the SAS system option CPUCOUNT=. NOTHREADS specifies that the computational work for the simulation be performed in sequence rather than in parallel. NOTHREADS is the default. This option overrides the SAS system option THREADS|NOTHREADS.\",\"type\":\"standalone\"},{\"name\":\"SMM\",\"followsDelimiter\":\"/\",\"aliases\":[\"GT2\"],\"description\":\"SMM adjustment\",\"type\":\"standalone\"},{\"name\":\"TUKEY\",\"followsDelimiter\":\"/\",\"description\":\"If your data are unbalanced, PROC GLIMMIX uses the approximation described in Kramer (1956) and identifies the adjustment as \\\"Tukey-Kramer\\\" in the results.\",\"type\":\"standalone\"}]},{\"name\":\"ALPHA=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that a t-type confidence interval be constructed for each of the LS-means with confidence level (1-number)x100%. The value of number must be between 0 and 1; the default is 0.05.\",\"help\":\"ALPHA=*number*\",\"type\":\"value\"},{\"name\":\"AT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Modifies the values of the covariates that are used in computing LS-means. By default, all covariate effects are set equal to their mean values for computation of standard LS-means. The AT option enables you to assign arbitrary values to the covariates. Additional columns in the output table indicate the values of the covariates.\",\"help\":\"AT=MEANS\",\"type\":\"choice\",\"arguments\":[{\"name\":\"MEANS\",\"type\":\"standalone\"}]},{\"name\":\"BYLEVEL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that separate margins be computed for each level of the SLICE model-effect.\",\"type\":\"standalone\"},{\"name\":\"CL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that t-type confidence limits be constructed for each of the LS-means. The confidence level is 0.95 by default; this can be changed with the ALPHA= option.\",\"type\":\"standalone\"},{\"name\":\"CORR\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays the estimated correlation matrix of the least squares means as part of the \\\"Least Squares Means\\\" table.\",\"type\":\"standalone\"},{\"name\":\"COV\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays the estimated covariance matrix of the least squares means as part of the \\\"Least Squares Means\\\" table.\",\"type\":\"standalone\"},{\"name\":\"DF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the degrees of freedom for the t test and confidence limits. The default is the denominator degrees of freedom taken from the \\\"Type III Tests\\\" table that corresponds to the LS-means effect.\",\"help\":\"DF=*number*\",\"type\":\"value\"},{\"name\":\"DIFF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"PDIFF=\"],\"description\":\"Requests that differences of the LS-means be displayed.\",\"help\":\"DIFF=ALL | ANOM | CONTROL | CONTROLL | CONTROLU\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ALL\",\"followsDelimiter\":\"/\",\"description\":\"Requests all pairwise differences; this is the default.\",\"type\":\"standalone\"},{\"name\":\"ANOM\",\"followsDelimiter\":\"/\",\"description\":\"Requests differences between each LS-mean and the average LS-mean, as in the analysis of means (Ott 1967).\",\"type\":\"standalone\"},{\"name\":\"CONTROL\",\"followsDelimiter\":\"/\",\"description\":\"Requests the differences with a control, which, by default, is the first level of each of the specified SLICE effects.\",\"type\":\"standalone\"},{\"name\":\"CONTROLL\",\"followsDelimiter\":\"/\",\"description\":\"Tests whether the noncontrol levels are significantly smaller than the control; the upper confidence limits for the control minus the noncontrol levels are considered to be infinity and are displayed as missing.\",\"type\":\"standalone\"},{\"name\":\"CONTROLU\",\"followsDelimiter\":\"/\",\"description\":\"Tests whether the noncontrol levels are significantly larger than the control; the upper confidence limits for the noncontrol levels minus the control are considered to be infinity and are displayed as missing.\",\"type\":\"standalone\"}]},{\"name\":\"E\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that the L matrix coefficients for the SLICE effects be displayed.\",\"type\":\"standalone\"},{\"name\":\"EXP\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests exponentiation of the LS-means or LS-mean differences. When you model data with the logit, cumulative logit, or generalized logit link functions, and the estimate represents a log odds ratio or log cumulative odds ratio, the EXP option produces an odds ratio. In proportional hazards model, the exponentiation of the LS-mean differences produces estimates of hazard ratios. If you specify the CL or ALPHA= option, the (adjusted) confidence bounds are also exponentiated.\",\"type\":\"standalone\"},{\"name\":\"ILINK\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that estimates and their standard errors in the \\\"Least Squares Means\\\" table also be reported on the scale of the mean (the inverse linked scale).\",\"type\":\"standalone\"},{\"name\":\"LINES\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Presents results of comparisons between all pairs of least squares means by listing the means in descending order and indicating nonsignificant subsets by line segments beside the corresponding LS-means.\",\"type\":\"standalone\"},{\"name\":\"MEANS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies to produce the table of least squares means.\",\"type\":\"standalone\"},{\"name\":\"NOF\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Suppresses the F test for testing the mutual equality of the estimable functions in the partition.\",\"type\":\"standalone\"},{\"name\":\"NOMEANS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies not to produce the table of least squares means. This is the default.\",\"type\":\"standalone\"},{\"name\":\"OBSMARGINS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"OM=\"],\"description\":\"Specifies a potentially different weighting scheme for the computation of LS-means coefficients. The standard LS-means have equal coefficients across classification effects; however, the OM option changes these coefficients to be proportional to those found in the OM-data-set. This adjustment is reasonable when you want your inferences to apply to a population that is not necessarily balanced but has the margins that are observed in OM-data-set.\",\"type\":\"value\"},{\"name\":\"ODDSRATIO\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"OR\"],\"description\":\"Requests that LS-mean differences (DIFF, ADJUST= options) are also reported in terms of odds ratios. The ODDSRATIO option is ignored unless you use either the logit, cumulative logit, or generalized logit link function. If you specify the CL or ALPHA= option, confidence intervals for the odds ratios are also computed. These intervals are adjusted for multiplicity when you specify the ADJUST= option.\",\"type\":\"standalone\"},{\"name\":\"PDIFF\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Is the same as the DIFF option.\",\"type\":\"standalone\"},{\"name\":\"PLOT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"PLOTS=\"],\"description\":\"Requests that least squares means related graphics are produced via ODS Graphics, provided that the ODS GRAPHICS statement has been specified and the plot request does not conflict with other options in the SLICE statement.\",\"help\":\"PLOT=ALL | ANOMPLOT | BOXPLOT | CONTROLPLOT | DIFFPLOT | DISTPLOT | MEANPLOT | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ALL\",\"followsDelimiter\":\"/\",\"description\":\"Requests that the default plots corresponding to this SLICE statement be produced.\",\"type\":\"standalone\"},{\"name\":\"ANOMPLOT\",\"followsDelimiter\":\"/\",\"aliases\":[\"ANOM\"],\"description\":\"Requests an analysis of means display in which least squares means are compared to an average least squares mean.\",\"type\":\"standalone\"},{\"name\":\"BOXPLOT\",\"followsDelimiter\":\"/\",\"description\":\"Syntax: BOXPLOT<boxplot-options>> Produces box plots of the distribution of the least squares mean or least squares mean differences across a posterior sample. For example, this plot is available in procedures that support a Bayesian analysis through the BAYES statement. A separate box is generated for each estimable function, and all boxes appear on a single graph by default. You can affect the appearance of the box plot graph with the following options: ORIENTATION=VERTICAL|HORIZONTAL ORIENT=VERT|HORIZ specifies the orientation of the boxes. The default is vertical orientation of the box plots. NPANELPOS=number specifies how to break the series of box plots across multiple panels. If the NPANELPOS option is not specified, or if number equals zero, then all box plots are displayed in a single graph; this is the default.\",\"type\":\"standalone\"},{\"name\":\"CONTROLPLOT\",\"followsDelimiter\":\"/\",\"aliases\":[\"CONTROL\"],\"description\":\"Requests a display in which least squares means are visually compared against a reference level.\",\"type\":\"standalone\"},{\"name\":\"DIFFPLOT\",\"followsDelimiter\":\"/\",\"aliases\":[\"DIFFOGRAM\",\"DIFF\"],\"description\":\"Requests a display of all pairwise least squares mean differences and their significance. Syntax: DIFFPLOT<(diffplot-options)> You can specify the following diffplot-options: ABS all line segments are shown on the same side of the reference line. NOABS separates comparisons according to the sign of the difference. CENTER marks the center point for each comparison. NOLINES suppresses the display of the line segments that represent the confidence bounds for the differences of the least squares means. The NOLINES option implies the CENTER option.\",\"type\":\"standalone\"},{\"name\":\"DISTPLOT\",\"followsDelimiter\":\"/\",\"aliases\":[\"DIST\"],\"description\":\"Syntax: DISTPLOT<distplot-options> Generates panels of histograms with a kernel density overlaid if the analysis has access to a set of posterior parameter estimates. You can sepcify the following distplot-options in parentheses: BOX|NOBOX controls the display of a horizontal box plot of the estimable function’s distribution across the posterior sample below the graph. The BOX option is enabled by default. HIST|NOHIST controls the display of the histogram of the estimable function’s distribution across the posterior sample. The HIST option is enabled by default. NORMAL|NONORMAL controls the display of a normal density estimate on the graph. The NONORMAL option is enabled by default. KERNEL|NOKERNEL controls the display of a kernel density estimate on the graph. The KERNEL option is enabled by default. NROWS=number specifies the highest number of rows in a panel. The default is 3. NCOLS=number specifies the highest number of columns in a panel. The default is 3. UNPACK unpacks the panel into separate graphics.\",\"type\":\"standalone\"},{\"name\":\"MEANPLOT\",\"followsDelimiter\":\"/\",\"description\":\"Syntax: MEANPLOT<(meanplot-options)> Requests displays of the least squares means. The following meanplot-options control the display of the least squares means: ASCENDING displays the least squares means in ascending order. This option has no effect if means are sliced or displayed in separate plots. CL displays upper and lower confidence limits for the least squares means. By default, 95% limits are drawn. CLBAND displays confidence limits as bands. This option implies the JOIN option. DESCENDING displays the least squares means in descending order. This option has no effect if means are sliced or displayed in separate plots. ILINK requests that means (and confidence limits) are displayed on the inverse linked scale. JOIN | CONNECT connects the least squares means with lines. This option is implied by the CLBAND option. SLICEBY=fixed-effect specifies an effect by which to group the means in a single plot. PLOTBY=fixed-effect specifies an effect by which to break interaction plots into separate displays.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"followsDelimiter\":\"/\",\"description\":\"Requests that no plots be produced.\",\"type\":\"standalone\"}]},{\"name\":\"SEED=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the seed for the sampling-based components of the computations for the SLICE statement (for example, chi-bar-square statistics and simulated p-values). number specifies an integer that is used to start the pseudo-random-number generator for the simulation. If you do not specify a seed, or if you specify a value less than or equal to zero, the seed is generated from reading the time of day from the computer clock.\",\"help\":\"SEED=*number*\",\"type\":\"value\"},{\"name\":\"SINGULAR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Tunes the estimability checking. The value for number must be between 0 and 1; the default is 1E-4.\",\"help\":\"SINGULAR=*number*\",\"type\":\"value\"},{\"name\":\"SLICEBY\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"SIMPLE\"],\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"STEPDOWN=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that multiple comparison adjustments for the p-values of LS-mean differences be further adjusted in a step-down fashion. Step-down methods increase the power of multiple comparisons by taking advantage of the fact that a p-value is never declared significant unless all smaller p-values are also declared significant. You can specify the following step-down options in parentheses: MAXTIME=n specifies the time (in seconds) to spend computing the maximal logically consistent sequential subsets of equality hypotheses for TYPE=LOGICAL. REPORT specifies that a report on the step-down adjustment should be displayed, including a listing of the sequential subsets (Westfall 1997) and, for ADJUST=SIMULATE, the step-down simulation results.\",\"help\":\"STEPDOWN=MAXTIME= | REPORT | TYPE=\",\"type\":\"choice\",\"arguments\":[{\"name\":\"MAXTIME=\",\"type\":\"value\"},{\"name\":\"REPORT\",\"type\":\"standalone\"},{\"name\":\"TYPE=\",\"type\":\"value\"}]}]},{\"name\":\"STORE\",\"aliases\":[\"ITEMSTORE\"],\"description\":\"The STORE statement requests that the procedure save the context and results of the statistical analysis. The resulting item store is a binary file format that cannot be modified. The contents of the item store can be processed with the PLM procedure. The item-store-name is a usual one- or two-level SAS name, like the names that are used for SAS data sets. If you specify a one-level name, then the item store resides in the WORK library and is deleted at the end of the SAS session. Since item stores usually are used to perform postprocessing tasks, typical usage specifies a two-level name of the form libname.membername. If an item store by the same name as specified in the STORE statement already exists, the existing store is replaced.\",\"help\":\"STORE &lt;LABEL='label'&gt; OUT=item-store-name \",\"arguments\":[{\"name\":\"OUT=\",\"description\":\"The item-store-name is a usual one- or two-level SAS name, like the names that are used for SAS data sets. If you specify a one-level name, then the item store resides in the WORK library and is deleted at the end of the SAS session.\",\"help\":\"OUT=*item-store-name*\",\"type\":\"value\"},{\"name\":\"LABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Adds a custom label. When the PLM procedure processes an item store, the label appears in the PROC PLM output along with other identifying information.\",\"help\":\"LABEL='*label*'\",\"type\":\"value\"}]},{\"name\":\"STRATA\",\"aliases\":[\"STRATUM\"],\"description\":\"The proportional hazards assumption might not be realistic for all data. If so, it might still be reasonable to perform a stratified analysis. The STRATA statement names the variables that determine the stratification. Strata are formed according to the nonmissing values of the STRATA variables unless the MISSING option is specified. In the STRATA statement, variable is a variable with values that are used to determine the strata levels, and list is an optional list of values for a numeric variable. Multiple variables can appear in the STRATA statement.\",\"help\":\"STRATA &lt;MISSING&gt;\",\"arguments\":[{\"name\":\"MISSING\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Treats missing values (‘.’,‘.A’,...,‘.Z’ for numeric variables and blanks for character variables) as valid STRATA variable values.\",\"type\":\"standalone\"}]},{\"name\":\"TEST\",\"description\":\"The TEST statement tests linear hypotheses about the regression coefficients. PROC PHREG performs a Wald test for the joint hypothesis specified in a single TEST statement.\",\"help\":\"TEST &lt;AVERAGE&gt;&lt;E&gt;&lt;PRINT&gt; ...\",\"arguments\":[{\"name\":\"AVERAGE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Enables you to assess the average effect of the variables in the given TEST statement.\",\"type\":\"standalone\"},{\"name\":\"E\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies that the linear coefficients and constants be printed.\",\"type\":\"standalone\"},{\"name\":\"PRINT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays intermediate calculations.\",\"type\":\"standalone\"}]},{\"name\":\"WEIGHT\",\"description\":\"The variable in the WEIGHT statement identifies the variable in the input data set that contains the case weights. When a WEIGHT statement appears, each observation in the input data set is weighted by the value of the WEIGHT variable.\",\"help\":\"WEIGHT &lt;NORMALIZE&gt;\",\"arguments\":[{\"name\":\"NORMALIZE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Causes the weights specified by the WEIGHT variable to be normalized so that they add up to the actual sample size.\",\"type\":\"standalone\"}]}],\"supportSiteInformation\":{\"docsetId\":\"statug\",\"docsetVersion\":\"latest\",\"docsetTargetFile\":\"statug_phreg_toc.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/PHSELECT.json",
    "content": "{\"name\":\"PHSELECT\",\"statements\":[{\"name\":\"PROC PHSELECT\",\"description\":\"The PHSELECT procedure fits the Cox proportional hazards regression models for survival data and performs variable selection in SAS Viya. † The models that PROC PHSELECT supports can contain main effects that consist of both continuous and classification variables and interaction effects of these variables. The models can also include constructed effects such as splines. The procedure offers a number of effect-selection methods, including stepwise methods and modern LASSO methods. It also offers extensive capabilities for customizing the model selection by using a wide variety of selection and stopping criteria, from computationally efficient significance-level-based criteria to modern, computationally intensive validation-based criteria. PROC PHSELECT also provides a variety of Cox regression diagnostics that are conditional on the selected model.\",\"help\":\"PROC PHSELECT <ABSCONV=r | ABSTOL=r><ABSFCONV= r <n> | ABSFTOL=r <n>><ABSGCONV=r <n> | ABSGTOL=r <n>><ABSXCONV=r <n> | ABSXTOL=r <n>><ALPHA=number><CORRB><COVB><DATA=CAS-libref.data-table><FCONV2=r <n> | FTOL2=r <n>><FCONV=r <n> | FTOL=r <n>><GCONV2=r <n> | GTOL2=r <n>><GCONV=r <n> | GTOL=r <n>><HESSIAN><ITHIST><LASSORHO=r><LASSOSTEPS=n><LASSOTOL=r><LOGLIKENULL><MAXFUNC=n | MAXFU=n><MAXITER=n | MAXIT=n><MAXTIME=r><MINITER=n | MINIT=n><NOCLPRINT< =number >><NORMALIZE=YES | NO><NOSTDERR><PARTFIT><TECHNIQUE=CONGRA | DBLDOG | LEVMAR... ><XCONV=r | XTOL=r>;     \\n\\tBY variables;\\n\\n\\tCLASS <DESCENDING><MISSING><ORDER=<FORMATTED | FREQ | INTERNAL>> ...;\\n\\n\\tCODE <COMMENT><CUMHAZ><FILE=filename> ...;\\n\\n\\tDISPLAY <CASESENSITIVE><EXCLUDE><EXCLUDEALL> ...;\\n\\n\\tDISPLAYOUT <INCLUDEALL><NOREPLACE><REPEATED> ...;\\n\\n\\tEFFECT <DETAILS> NAME=COLLECTION|MULTIMEMBER|MM|POLYNOMIAL|POLY...  <NOEFFECT> ...;\\n\\n\\tFREQ variable ;\\n\\n\\tMODEL <CLB><ENTRY=variable><INCLUDE=n | single-effect | (effects)> ...;\\n\\n\\tOUTPUT <COPYVAR=variable | COPYVARS=(variables)> CUMHAZ= <OUT=CAS-libref.data-table> ...;\\n\\n\\tPARTITION <FRACTION(< TEST=fraction > < VALIDATE=fraction > < SEED=number >)><ROLE=|ROLEVAR=variable (< TEST='value' > < TRAIN='value' > < VALIDATE='value' >)> ;\\n\\n\\tSELECTION <ADAPTIVE <(GAMMA=nonnegative number)>><CHOOSE=<AIC | AICC | SBC>><METHOD=<BACKWARD | FORWARD | FORWARDSWAP>... > ...;\\n\\n\\tSTRATA <MISSING> ;\\n\\n\\tWEIGHT variable;\\n\",\"arguments\":[{\"name\":\"ABSCONV=\",\"optional\":true,\"aliases\":[\"ABSTOL=\"],\"description\":\"Specifies an absolute function convergence criterion. The default value of r is the negative square root of the largest double-precision value, which serves only as a protection against overflows.\",\"type\":\"value\"},{\"name\":\"ABSFCONV=\",\"optional\":true,\"aliases\":[\"ABSFTOL=\"],\"description\":\"Specifies an absolute function difference convergence criterion. For all techniques except NMSIMP, termination requires a small change of the function value in successive iterations.\",\"type\":\"value\"},{\"name\":\"ABSGCONV=\",\"optional\":true,\"aliases\":[\"ABSGTOL=\"],\"description\":\"Specifies an absolute gradient convergence criterion. This criterion is not used by the NMSIMP technique. The optional integer value n specifies the number of successive iterations for which the criterion must be satisfied before the process can be terminated. By default, ABSGCONV=1E–5.\",\"type\":\"value\"},{\"name\":\"ABSXCONV=\",\"optional\":true,\"aliases\":[\"ABSXTOL=\"],\"description\":\"Specifies the absolute parameter convergence criterion.\",\"type\":\"value\"},{\"name\":\"ALPHA=\",\"optional\":true,\"description\":\"Specifies a global significance level for the construction of confidence intervals. The confidence level is 1 – number. The value of number must be between 0 and 1. You can override this global significance level by specifying this option in the OUTPUT Procedure. By default, ALPHA=0.05.\",\"help\":\"ALPHA=*number*\",\"type\":\"value\"},{\"name\":\"CORRB\",\"optional\":true,\"description\":\"Creates the \\\"Parameter Estimates Correlation Matrix\\\" table.\",\"type\":\"standalone\"},{\"name\":\"COVB\",\"optional\":true,\"description\":\"Creates the \\\"Parameter Estimates Covariance Matrix\\\" table.\",\"type\":\"standalone\"},{\"name\":\"DATA=\",\"optional\":true,\"description\":\"Names the input data table for PROC PHSELECT to use. The default is the most recently created data table. CAS-libref.data-table is a two-level name, where\",\"help\":\"DATA=*CAS-libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"FCONV2=\",\"optional\":true,\"aliases\":[\"FTOL2=\"],\"description\":\"Specifies a second function convergence criterion.\",\"type\":\"value\"},{\"name\":\"FCONV=\",\"optional\":true,\"aliases\":[\"FTOL=\"],\"description\":\"Specifies a relative function convergence criterion.\",\"type\":\"value\"},{\"name\":\"GCONV2=\",\"optional\":true,\"aliases\":[\"GTOL2=\"],\"description\":\"Specifies another relative gradient convergence criterion.\",\"type\":\"value\"},{\"name\":\"GCONV=\",\"optional\":true,\"aliases\":[\"GTOL=\"],\"description\":\"Specifies a relative gradient convergence criterion.\",\"type\":\"value\"},{\"name\":\"HESSIAN\",\"optional\":true,\"description\":\"Computes the Hessian matrix by using the analytic expression for the second-order derivatives of the log partial likelihood function instead of using the finite-difference method.\",\"type\":\"standalone\"},{\"name\":\"ITHIST\",\"optional\":true,\"description\":\"Generates the “Iteration History” table.\",\"type\":\"standalone\"},{\"name\":\"LASSORHO=\",\"optional\":true,\"description\":\"Specifies the base regularization parameter for the LASSO model selection method. By default, LASSORHO=0.8.\",\"help\":\"LASSORHO=*r*\",\"type\":\"value\"},{\"name\":\"LASSOSTEPS=\",\"optional\":true,\"description\":\"Specifies the maximum number of steps for LASSO model selection. By default, LASSOSTEPS=20.\",\"help\":\"LASSOSTEPS=*n*\",\"type\":\"value\"},{\"name\":\"LASSOTOL=\",\"optional\":true,\"description\":\"Specifies the convergence tolerance for the optimization algorithm that solves for the LASSO parameter estimates at each step of LASSO model selection. By default, LASSOTOL=1E–6.\",\"help\":\"LASSOTOL=*r*\",\"type\":\"value\"},{\"name\":\"LOGLIKENULL\",\"optional\":true,\"description\":\"Creates the \\\"–2 Log Likelihood for the Null Model\\\" table. If you also specify the PARTITION statement, the table displays the –2 log likelihood for the null model for each data partition.\",\"type\":\"standalone\"},{\"name\":\"MAXFUNC=\",\"optional\":true,\"aliases\":[\"MAXFU=\"],\"description\":\"Specifies the maximum number n of function calls in the optimization process. The default values are as follows, depending on the optimization technique: o TRUREG, NRRIDG, and NEWRAP: 125 o QUANEW and DBLDOG: 500 o CONGRA: 1,000 o NMSIMP: 3,000\",\"type\":\"value\"},{\"name\":\"MAXITER=\",\"optional\":true,\"aliases\":[\"MAXIT=\"],\"description\":\"Specifies the maximum number n of iterations in the optimization process. The default values are as follows, depending on the optimization technique: o TRUREG, NRRIDG, and NEWRAP: 50 o QUANEW and DBLDOG: 200 o CONGRA: 400 o NMSIMP: 1,000\",\"type\":\"value\"},{\"name\":\"MAXTIME=\",\"optional\":true,\"description\":\"Specifies an upper limit of r seconds of CPU time for the optimization process. The time specified by r is checked only once at the end of each iteration. Therefore, the actual running time can be longer than r . The default value is the largest floating-point double representation of your computer.\",\"help\":\"MAXTIME=*r*\",\"type\":\"value\"},{\"name\":\"MINITER=\",\"optional\":true,\"aliases\":[\"MINIT=\"],\"description\":\"Specifies the minimum number of iterations. If you request more iterations than are actually needed for convergence to a stationary point, the optimization algorithms can behave strangely. For example, the effect of rounding errors can prevent the algorithm from continuing for the required number of iterations. By default, MINITER=0.\",\"type\":\"value\"},{\"name\":\"NOCLPRINT\",\"optional\":true,\"description\":\"Suppresses the display of the “Class Level Information” table if you do not specify number. If you specify number, the values of the classification variables are displayed for only those variables whose number of levels is less than number. Specifying number helps to reduce the size of the “Class Level Information” table if some classification variables have a large number of levels.\",\"type\":\"standalone\"},{\"name\":\"NORMALIZE=\",\"optional\":true,\"description\":\"Specifies whether the objective function should be normalized during the optimization by the reciprocal of the used frequency count. This option affects the values reported in the “Iteration History” table. The results reported in the “Fit Statistics” are always displayed for the nonnormalized log-likelihood function. The default is to normalize the objective function.\",\"help\":\"NORMALIZE=YES | NO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YES\",\"description\":\"Specifies that the objective function should be normalized during the optimization by the reciprocal of the used frequency count. This is the default.\",\"type\":\"standalone\"},{\"name\":\"NO\",\"description\":\"Specifies that the objective function should not be normalized during the optimization by the reciprocal of the used frequency count.\",\"type\":\"standalone\"}]},{\"name\":\"NOSTDERR\",\"optional\":true,\"description\":\"Suppresses the display of the \\\"Class Level Information\\\" table if you do not specify number.\",\"type\":\"standalone\"},{\"name\":\"PARTFIT\",\"optional\":true,\"description\":\"Displays fit statistics in the “Fit Statistics” table that are usually produced when your data are partitioned. This option is not required when you specify a PARTITION Procedure. The statistic that is added to the table is the average square error (or Brier score).\",\"type\":\"standalone\"},{\"name\":\"TECHNIQUE=\",\"optional\":true,\"aliases\":[\"TECH=\"],\"description\":\"Specifies the optimization technique for obtaining maximum likelihood estimates.\",\"help\":\"TECHNIQUE=CONGRA | DBLDOG | LEVMAR | NEWRAP | NMSIMP | NRRIDG | QUANEW | TRUREG | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"CONGRA\",\"description\":\"Performs a conjugate-gradient optimization..\",\"type\":\"standalone\"},{\"name\":\"DBLDOG\",\"description\":\"Performs a version of double-dogleg optimization.\",\"type\":\"standalone\"},{\"name\":\"LEVMAR\",\"description\":\"Performs a Levenberg-Marquardt nonlinear least-squares minimization. This technique is available only with PROC NLMOD.\",\"type\":\"standalone\"},{\"name\":\"NEWRAP\",\"description\":\"Performs a Newton-Raphson optimization with line search.\",\"type\":\"standalone\"},{\"name\":\"NMSIMP\",\"description\":\"Performs a Nelder-Mead simplex optimization.\",\"type\":\"standalone\"},{\"name\":\"NRRIDG\",\"description\":\"Performs a Newton-Raphson optimization with ridging.\",\"type\":\"standalone\"},{\"name\":\"QUANEW\",\"description\":\"Performs a dual quasi-Newton optimization.\",\"type\":\"standalone\"},{\"name\":\"TRUREG\",\"description\":\"Performs a trust-region optimization\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"Performs no optimization.\",\"type\":\"standalone\"}]},{\"name\":\"XCONV=\",\"optional\":true,\"aliases\":[\"XTOL=\"],\"description\":\"Specifies the relative parameter convergence criterion. Convergence requires a small relative parameter change in subsequent iterations.\",\"type\":\"value\"}]},{\"name\":\"BY\",\"description\":\"You can specify a BY statement in PROC PHSELECT to obtain separate analyses of observations in groups that are defined by the values of the BY variables. If you specify more than one BY statement, only the last one specified is used.\",\"help\":\"BY variables\"},{\"name\":\"CLASS\",\"description\":\"The CLASS statement names the classification variables to be used as explanatory variables in the analysis. You can list the response variable for binary models in the CLASS statement, but this is not required.\",\"help\":\"CLASS &lt;DESCENDING&gt;&lt;MISSING&gt;&lt;ORDER=&lt;FORMATTED | FREQ | INTERNAL&gt;&gt; ...\",\"arguments\":[{\"name\":\"DESCENDING\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"DESC\"],\"description\":\"Reverses the sort order of the classification variable. If both the DESCENDING and ORDER= options are specified, the procedure orders the categories according to the ORDER= option and then reverse that order.\",\"type\":\"standalone\"},{\"name\":\"MISSING\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Treats missing values (“.”, “.A”, . . . , “.Z” for numeric variables and blanks for character variables) as valid values for the CLASS variable.\",\"type\":\"standalone\"},{\"name\":\"ORDER=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the sort order for the levels of classification variables. This ordering determines which parameters in the model correspond to each level in the data.\",\"help\":\"ORDER=FORMATTED | FREQ | INTERNAL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"FORMATTED\",\"followsDelimiter\":\"/\",\"description\":\"External formatted values, except for numeric variables that have no explicit format, which are sorted by their unformatted (internal) values. The sort order is machine-dependent. For numeric variables for which you have supplied no explicit format, the levels are ordered by their internal values.\",\"type\":\"standalone\"},{\"name\":\"FREQ\",\"followsDelimiter\":\"/\",\"description\":\"Descending frequency count (levels that have more observations come earlier in the order)\",\"type\":\"standalone\"},{\"name\":\"INTERNAL\",\"followsDelimiter\":\"/\",\"description\":\"Unformatted value. The sort order is machine-dependent.\",\"type\":\"standalone\"}]},{\"name\":\"PARAM=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the parameterization method for the classification variable or variables.\",\"help\":\"PARAM=EFFECT | GLM | ORDINAL | POLYNOMIAL | REFERENCE | ORTHEFFECT | ORTHORDINAL | ORTHPOLY | ORTHREF\",\"type\":\"choice\",\"arguments\":[{\"name\":\"EFFECT\",\"followsDelimiter\":\"/\",\"description\":\"Specifies effect coding.\",\"type\":\"standalone\"},{\"name\":\"GLM\",\"followsDelimiter\":\"/\",\"description\":\"Specifies less-than-full-rank, reference-cell coding; this option can be used only as a global option.\",\"type\":\"standalone\"},{\"name\":\"ORDINAL\",\"followsDelimiter\":\"/\",\"aliases\":[\"THERMOMETER\"],\"description\":\"Specifies the cumulative parameterization for an ordinal CLASS variable.\",\"type\":\"standalone\"},{\"name\":\"POLYNOMIAL\",\"followsDelimiter\":\"/\",\"aliases\":[\"POLY\"],\"description\":\"Specifies polynomial coding.\",\"type\":\"standalone\"},{\"name\":\"REFERENCE\",\"followsDelimiter\":\"/\",\"aliases\":[\"REF\"],\"description\":\"Specifies reference-cell coding.\",\"type\":\"standalone\"},{\"name\":\"ORTHEFFECT\",\"followsDelimiter\":\"/\",\"description\":\"Orthogonalizes PARAM=EFFECT.\",\"type\":\"standalone\"},{\"name\":\"ORTHORDINAL\",\"followsDelimiter\":\"/\",\"aliases\":[\"ORTHOTHERM\"],\"description\":\"Orthogonalizes PARAM=ORDINAL.\",\"type\":\"standalone\"},{\"name\":\"ORTHPOLY\",\"followsDelimiter\":\"/\",\"description\":\"Orthogonalizes PARAM=POLYNOMIAL.\",\"type\":\"standalone\"},{\"name\":\"ORTHREF\",\"followsDelimiter\":\"/\",\"description\":\"Orthogonalizes PARAM=REFERENCE.\",\"type\":\"standalone\"}]},{\"name\":\"REFERENCE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"REF=\"],\"description\":\"Specifies the reference level that is used when you specify a nonsingular parameterization.\",\"help\":\"REFERENCE=&lt;'*level*'&gt; | FIRST | LAST\",\"type\":\"choice\",\"arguments\":[{\"name\":\"'level'\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the level of the variable to use as the reference level. Replace <'level'> with an actual value.\",\"type\":\"value\"},{\"name\":\"FIRST\",\"followsDelimiter\":\"/\",\"description\":\"Designates the first ordered level as reference. You can specify this value either for an individual variable option or for a global-option.\",\"type\":\"standalone\"},{\"name\":\"LAST\",\"followsDelimiter\":\"/\",\"description\":\"Designates the last ordered level as reference. You can specify this value either for an individual variable option or for a global-option.\",\"type\":\"standalone\"}]},{\"name\":\"SPLIT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies that design matrix columns that correspond to any effect that contains a split classification variable can be selected to enter or leave a model independently of the other design columns of that effect.\",\"type\":\"standalone\"}]},{\"name\":\"CODE\",\"description\":\"The CODE statement writes SAS DATA step code for computing predicted values of the fitted model either to a file or to a catalog entry. This code can then be included in a DATA step to score new data.\",\"help\":\"CODE &lt;COMMENT&gt;&lt;CUMHAZ&gt;&lt;FILE=filename&gt; ...\",\"arguments\":[{\"name\":\"COMMENT\",\"optional\":true,\"description\":\"Adds comments to the generated code.\",\"type\":\"standalone\"},{\"name\":\"CUMHAZ\",\"optional\":true,\"description\":\"Generates SAS code to predict the cumulative hazard function at the time points that you specify in the TIMEPOINT= option.\",\"type\":\"standalone\"},{\"name\":\"FILE=\",\"optional\":true,\"description\":\"Names the external file that saves the generated code. When enclosed in a quoted string (for example, FILE=\\\"c:nmydirnscorecode.sas\\\"), this option specifies the path and filename for writing the code to an external file. If you do not specify a path but your SAS client has a default path, then the code is written to an external file named filename at that location. You can also specify an unquoted filename of no more than eight characters. If the filename is assigned as a fileref in a Base SAS FILENAME statement, the file specified in the FILENAME statement is opened; otherwise, if your SAS client has a default path, an external file named filename is created.\",\"help\":\"FILE=*filename*\",\"type\":\"value\"},{\"name\":\"FORMATWIDTH=\",\"optional\":true,\"description\":\"Specifies the width to use in formatting derived numbers such as parameter estimates. You can specify a value in the range 4 to 32; the default is 20.\",\"help\":\"FORMATWIDTH=*width*\",\"type\":\"value\"},{\"name\":\"INDENTSIZE=\",\"optional\":true,\"description\":\"Specifies the number of spaces to indent the generated code. You can specify a value in the range 0 to 10; the default is 3.\",\"help\":\"INDENTSIZE=*n*\",\"type\":\"value\"},{\"name\":\"LABELID=\",\"optional\":true,\"description\":\"Specifies a number used to construct array names and statement labels in the generated code. You can specify a value in the range 0 to 1024; the default is randomly chosen.\",\"help\":\"LABELID=*value*\",\"type\":\"value\"},{\"name\":\"LINESIZE=\",\"optional\":true,\"aliases\":[\"LS=\"],\"description\":\"Specifies the line size for the generated code. You can specify a value in the range 64 to 254; the default is 120.\",\"type\":\"value\"},{\"name\":\"NOSURVIVAL\",\"optional\":true,\"description\":\"Suppresses SAS code for survival probabilities prediction. If you do not specify this option, PROC PHSELECT generates SAS code to predict survival probabilities at the time points that you specify in the TIMEPOINT= option.\",\"type\":\"standalone\"},{\"name\":\"NOTRIM\",\"optional\":true,\"description\":\"Bases comparisons of formatted values on the full format width, including blank padding. By default, blanks at the beginning and end of strings are ignored.\",\"type\":\"standalone\"},{\"name\":\"SHOWTIME\",\"optional\":true,\"description\":\"Creates variables that contain the time points at which predictions are made. If T is the name of the failure time variable, these time point variables are named T_1, T_2, and so on.\",\"type\":\"standalone\"},{\"name\":\"TIMEPOINT=\",\"optional\":true,\"aliases\":[\"TIME=\"],\"description\":\"Specifies the time points at which survival probabilities or cumulative hazards are predicted. You can specify a list of numbers that represent exact time points.\",\"type\":\"value\"}]},{\"name\":\"DISPLAY\",\"description\":\"The DISPLAY statement enables you to specify a list of ODS tables to display or exclude. This statement is similar to the ODS SELECT, ODS EXCLUDE, and ODS TRACE statements. However, the DISPLAY statement can improve performance when a large number of tables could be generated (such as in BY-group processing). The procedure processes the DISPLAY statement on a CAS server and thus sends only a subset of ODS tables to the SAS client. Because ODS statements are processed on a SAS client, all ODS tables are sent to the client and then the client creates a subset. If both DISPLAY and ODS statements are used together, the DISPLAY statement takes precedence over the ODS statements.\",\"help\":\"DISPLAY &lt;CASESENSITIVE&gt;&lt;EXCLUDE&gt;&lt;EXCLUDEALL&gt; ...\",\"arguments\":[{\"name\":\"CASESENSITIVE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Performs a case-sensitive comparison of table names in the table-list to ODS table names when tables are subsetted for display. To preserve case, you must enclose table names in the table-list in quotation marks.\",\"type\":\"standalone\"},{\"name\":\"EXCLUDE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays all ODS tables except those specified in the table-list.\",\"type\":\"standalone\"},{\"name\":\"EXCLUDEALL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Suppresses display of all tables. This option takes precedence over the other options.\",\"type\":\"standalone\"},{\"name\":\"TRACE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays the ODS table names, labels, and paths.\",\"type\":\"standalone\"}]},{\"name\":\"DISPLAYOUT\",\"description\":\"The DISPLAYOUT statement enables you to create CAS output tables from your displayed output. This statement is similar to the ODS OUTPUT statement. The table-spec-list specifies a list of CAS output tables to create. Each entry in the list has either a key or a key=value format: key=value specifies key as the ODS table name, path, or partial pathname, and specifies value as the CAS output table name. key specifies key as the ODS table name and also as the CAS output table name. Table names and partial pathnames are discussed under the DISPLAY statement. The DISPLAYOUT statement does not support regular expressions.\",\"help\":\"DISPLAYOUT &lt;INCLUDEALL&gt;&lt;NOREPLACE&gt;&lt;REPEATED&gt; ...\",\"arguments\":[{\"name\":\"INCLUDEALL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Creates output CAS tables for all display tables. The name of the created output CAS table is the same as the corresponding display table name. If you specify this option, the table-spec-list specification is ignored.\",\"type\":\"standalone\"},{\"name\":\"NOREPLACE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Does not replace an existing CAS output table of the same name.\",\"type\":\"standalone\"},{\"name\":\"REPEATED\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Replicates the CAS output tables on all nodes.\",\"type\":\"standalone\"}]},{\"name\":\"EFFECT\",\"description\":\"The EFFECT statement enables you to construct special collections of columns for design matrices. These collections are referred to as constructed effects to distinguish them from the usual model effects that are formed from continuous or classification variables.\",\"help\":\"EFFECT &lt;DETAILS&gt; NAME=COLLECTION|MULTIMEMBER|MM|POLYNOMIAL|POLY...  &lt;NOEFFECT&gt; ...\",\"arguments\":[{\"name\":\"NAME=\",\"placeholder\":true,\"description\":\"Replace 'NAME' with the name of the effect, specified after the EFFECT keyword. This name can appear in only one EFFECT statement and cannot be the name of a variable in the input data set. These values can be used: COLLECTION, MULTIMEMBER, POLYNOMIAL, or SPLINE.\",\"type\":\"value\"},{\"name\":\"BASIS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"[For the SPLINE effect-type only] Specifies a basis for the spline expansion.\",\"help\":\"BASIS=BSPLINE | TPF\",\"type\":\"choice\",\"arguments\":[{\"name\":\"BSPLINE\",\"followsDelimiter\":\"/\",\"description\":\"Specifies a B-spline basis for the spline expansion.\",\"type\":\"standalone\"},{\"name\":\"TPF\",\"followsDelimiter\":\"/\",\"description\":\"Syntax: TPF(options) Specifies a truncated power function basis for the spline expansion. You can modify the number of columns when you request BASIS=TPF with the following options: NOINT excludes the intercept column. NOPOWERS excludes the intercept and polynomial columns.\",\"type\":\"standalone\"}]},{\"name\":\"DATABOUNDARY\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"[For the SPLINE effect-type only] Specifies that the extremes of the data be used as boundary knots when building a B-spline basis.\",\"type\":\"standalone\"},{\"name\":\"DEGREE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"\",\"help\":\"DEGREE=*n*\",\"type\":\"value\"},{\"name\":\"DETAILS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"[For the COLLECTION | MULTIMEMBER | POLYNOMIAL |SPLINE effect-type] Requests a table that shows the: (1) constituents of the collection effect, or (2) levels of the multimember effect, or (3) details of the specified polynomial, or (4) knot locations and the knots associated with each spline basis function.\",\"type\":\"standalone\"},{\"name\":\"KNOTMAX=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"\",\"help\":\"KNOTMAX=*value*\",\"type\":\"value\"},{\"name\":\"KNOTMETHOD=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"[For the SPLINE effect-type only] Specifies how to construct the knots for spline effects.\",\"help\":\"KNOTMETHOD=EQUAL | LIST | LISTWITHBOUNDARY | MULTISCALE | PERCENTILES | RANGEFRACTIONS\",\"type\":\"choice\",\"arguments\":[{\"name\":\"EQUAL\",\"followsDelimiter\":\"/\",\"description\":\"Syntax: EQUAL<(n)> Specifies that n equally spaced knots be positioned between the extremes of the data. The default is n=3. For a B-spline basis, any needed boundary knots continue to be equally spaced unless the DATABOUNDARY option has also been specified. KNOTMETHOD=EQUAL is the default if no knot-method is specified.\",\"type\":\"standalone\"},{\"name\":\"LIST\",\"followsDelimiter\":\"/\",\"description\":\"Syntax: LIST(number-list) Specifies the list of internal knots to be used in forming the spline basis columns. For a B-spline basis, the data extremes are used as boundary knots.\",\"type\":\"standalone\"},{\"name\":\"LISTWITHBOUNDARY\",\"followsDelimiter\":\"/\",\"description\":\"Syntax: LISTWITHBOUNDARY(number-list) Specifies the list of all knots that are used in forming the spline basis columns.\",\"type\":\"standalone\"},{\"name\":\"MULTISCALE\",\"followsDelimiter\":\"/\",\"description\":\"Syntax: MULTISCALE<(multiscale-options)> Specifies that multiple B-spline bases be generated, corresponding to sets with an increasing number of internal knots. You can control which scales are included with the following multiscale-options: STARTSCALE=n specifies the start scale, where n is a positive integer. The default is STARTSCALE=0. ENDSCALE=n specifies the end scale, where n is a positive integer. The default is ENDSCALE=7.\",\"type\":\"standalone\"},{\"name\":\"PERCENTILES\",\"followsDelimiter\":\"/\",\"description\":\"Syntax: PERCENTILES(n) Requests that internal knots be placed at n equally spaced percentiles of the variable or variables named in the EFFECT statement.\",\"type\":\"standalone\"},{\"name\":\"RANGEFRACTIONS\",\"followsDelimiter\":\"/\",\"description\":\"Syntax: RANGEFRACTIONS(fraction-list) Requests that internal knots be placed at each fraction of the ranges of the variables in the EFFECT statement.\",\"type\":\"standalone\"}]},{\"name\":\"KNOTMIN=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"\",\"help\":\"KNOTMIN=*value*\",\"type\":\"value\"},{\"name\":\"MDEGREE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"\",\"help\":\"MDEGREE=*n*\",\"type\":\"value\"},{\"name\":\"NATURALCUBIC\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"[For the SPLINE effect-type only] Uses a natural cubic spline basis for the spline expansion. Natural cubic splines, also known as restricted cubic splines, are cubic splines that are constrained to be linear beyond the extreme knots.\",\"type\":\"standalone\"},{\"name\":\"NOEFFECT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"[For the MULTIMEMBER effect-type only] Specifies that observations whose levels are all missing for the multimember variables should have 0 values in the corresponding design matrix columns.\",\"type\":\"standalone\"},{\"name\":\"NOSEPARATE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"[For the POLYNOMIAL effect-type only] Specifies that the polynomial be treated as a single effect with multiple degrees of freedom. The effect name that you specify is used as the constructed effect name, and the labels of the terms are used as labels of the corresponding parameters.\",\"type\":\"standalone\"},{\"name\":\"SEPARATE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"[For the SPLINE effect-type only] Specifies that when multiple variables are specified in the EFFECT statement, the spline basis for each variable be treated as a separate effect. The names of these separated effects are formed by appending an underscore followed by the name of the variable to the name that you specify in the EFFECT statement.\",\"type\":\"standalone\"},{\"name\":\"SPLIT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"[For the SPLINE effect-type only] Specifies that each individual column in the design matrix that corresponds to the spline effect be treated as a separate effect that can enter or leave the model independently. Names for these split effects are generated by appending the variable name and an index for each column to the name that you specify in the EFFECT statement.\",\"type\":\"standalone\"},{\"name\":\"STANDARDIZE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies that the variables that define the polynomial be standardized. By default, the standardized variables receive prefix \\\"s_\\\" in the variable names. You can use the following centerscale-opts to specify how the center and scale are estimated: METHOD=MOMENTS specifies that the center be estimated by the variable mean and the scale be estimated by the standard deviation. METHOD=RANGE specifies that the center be estimated by the midpoint of the variable range and the scale be estimated as half the variable range. METHOD=WMOMENTS is the same as METHOD=MOMENTS except that weighted means and weighted standard deviations are used.\",\"help\":\"STANDARDIZECENTER | CENTERSCALE | NONE | SCALE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"CENTER\",\"followsDelimiter\":\"/\",\"description\":\"Specifies that variables be centered but not scaled.\",\"type\":\"standalone\"},{\"name\":\"CENTERSCALE\",\"followsDelimiter\":\"/\",\"description\":\"Specifies that variables be centered and scaled. This is the default if you do not specify a standardization-opt.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"followsDelimiter\":\"/\",\"description\":\"Specifies that no standardization be performed.\",\"type\":\"standalone\"},{\"name\":\"SCALE\",\"followsDelimiter\":\"/\",\"description\":\"Specifies that variables be scaled but not centered.\",\"type\":\"standalone\"}]},{\"name\":\"STDIZE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"[For the MULTIMEMBER effect-type only] Specifies that for each observation, the entries in the design matrix that corresponds to the multimember effect be scaled to have a sum of one.\",\"type\":\"standalone\"},{\"name\":\"WEIGHT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"\",\"help\":\"WEIGHT=*wght-list*\",\"type\":\"value\"}]},{\"name\":\"FREQ\",\"description\":\"The variable in the FREQ statement identifies a numeric variable in the data set that contains the frequency of occurrence of each observation. PROC PHSELECT treats each observation as if it appears f times, where f is the value of the FREQ variable for the observation. If f is not an integer, it is truncated to an integer. If f is less than 1 or missing, the observation is not used in the analysis. When the FREQ statement is not specified, each observation is assigned a frequency of 1.\",\"help\":\"FREQ variable \"},{\"name\":\"MODEL\",\"description\":\"The MODEL statement identifies the variables to be used as the failure time variable, the optional censoring variable, and the explanatory effects, including covariates, main effects, interactions, and nested effects.\",\"help\":\"MODEL &lt;CLB&gt;&lt;ENTRY=variable&gt;&lt;INCLUDE=n | single-effect | (effects)&gt; ...\",\"arguments\":[{\"name\":\"CLB\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Constructs confidence limits for each of the parameter estimates. The confidence level is 0.95 by default; you can change it by specifying the ALPHA= option.\",\"type\":\"standalone\"},{\"name\":\"ENTRY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the left-truncation variable.\",\"help\":\"ENTRY=*variable*\",\"type\":\"value\"},{\"name\":\"INCLUDE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Forces effects to be included in all models. If you specify INCLUDE=n, then the first n effects that you list in the MODEL statement are included in all models. If you specify INCLUDE=single-effect or INCLUDE=(effects), then the specified effects are forced into all models.\",\"type\":\"value\"},{\"name\":\"INFORMATIVE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Models missing values by using extra model effects. These effects consist of dummy variables that take the value 1 when the value of a continuous model variable involved in the effect is missing, and take the value 0 otherwise. The missing value in the original model effect is replaced by the average value of the effect for the nonmissing values. For continuous-by-class effects, such as A*x, where A is a classification variable and x is a continuous variable, informative missingness creates multiple dummy columns and substitutes the effect mean of x that corresponds to the respective level of A. Missing values for classification variables are treated as valid levels.\",\"type\":\"standalone\"},{\"name\":\"OFFSET=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies a variable to be used as an offset to the linear predictor. An offset plays the role of an effect whose coefficient is known to be 1. The offset variable cannot appear in the CLASS statement or elsewhere in the MODEL statement. Observations that have missing values for the offset variable are excluded from the analysis.\",\"help\":\"OFFSET=*variable*\",\"type\":\"value\"},{\"name\":\"START=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Begins the selection process from the designated initial model for the forward and stepwise selection methods. If you specify START=n, then the starting model includes the first n effects that you list in the MODEL statement. If you specify START=single-effect or START=(effects), then the starting model includes those specified effects. The effects that you specify in the START= option must be explanatory effects that you specify in the MODEL statement before the slash (/). This option is not available when you specify METHOD=BACKWARD in the SELECTION statement.\",\"type\":\"value\"},{\"name\":\"TYPE3\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that Wald statistics for Type 3 contrasts be computed for each effect that you specify in the MODEL statement.\",\"type\":\"standalone\"}]},{\"name\":\"OUTPUT\",\"description\":\"The OUTPUT statement creates a data table that contains observationwise statistics that PROC PHSELECT computes after fitting the model. In order to avoid data duplication for large data tables, the variables in the input data table are not included in the output data table unless you specify them in the COPYVAR= option.\",\"help\":\"OUTPUT &lt;COPYVAR=variable | COPYVARS=(variables)&gt; CUMHAZ= &lt;OUT=CAS-libref.data-table&gt; ...\",\"arguments\":[{\"name\":\"CUMHAZ=\",\"description\":\"Specifies the predicted cumulative hazard function at the observed time. The default name is _CUMHAZ_.\",\"type\":\"value\"},{\"name\":\"DFBETA=\",\"description\":\"Requests the approximate changes in the parameter estimates (β-β(j)) when the j-th observation is omitted.\",\"type\":\"value\"},{\"name\":\"LD=\",\"description\":\"Specifies the approximate likelihood displacement when the observation is left out.\",\"type\":\"value\"},{\"name\":\"RESDEV=\",\"description\":\"Specifies the deviance residual. This variable is a transform of RESMART to achieve a more symmetric distribution. The default name is _RESDEV_.\",\"type\":\"value\"},{\"name\":\"RESMART=\",\"description\":\"Specifies the martingale residual, which, at the observed time t, can be interpreted as the difference over [0,t] in the observed number of events minus the expected number of events. The default name is _RESMART_.\",\"type\":\"value\"},{\"name\":\"RESSCH=\",\"description\":\"Requests the Schoenfeld residuals, which are useful in assessing the proportional hazards assumption. The default name that is used as a prefix is _RESSCH_.\",\"type\":\"value\"},{\"name\":\"RESSCO=\",\"description\":\"Requests the score residuals, which are a decomposition of the first partial derivative of the log likelihood. The default name that is used as a prefix is _RESSCO_.\",\"type\":\"value\"},{\"name\":\"ROLE=\",\"description\":\"Specifies the numeric variable that indicates the role that each observation plays in fitting the model. The default name is _ROLE_.\",\"type\":\"value\"},{\"name\":\"STDXBETA=\",\"description\":\"Specifies the standard error estimates of XBETA. The default name is _STDXBETA_.\",\"type\":\"value\"},{\"name\":\"SURVIVAL=\",\"description\":\"Requests the predicted survival probabilities at the observed times. The default name is _SURVIVAL_.\",\"type\":\"value\"},{\"name\":\"WTRESSCH=\",\"description\":\"Requests the weighted Schoenfeld residuals, which are useful in investigating the nature of nonproportionality if the proportional hazard assumption does not hold. The default name that is used as a prefix is _WTRESSCH_.\",\"type\":\"value\"},{\"name\":\"XBETA=\",\"description\":\"Specifiesthe linear predictor. The default name is _XBETA_.\",\"type\":\"value\"},{\"name\":\"COPYVAR=\",\"optional\":true,\"aliases\":[\"COPYVARS=\"],\"description\":\"Transfers one or more variables from the input data table to the output data table.\",\"type\":\"value\"},{\"name\":\"OUT=\",\"optional\":true,\"description\":\"Names the output data table for PROC PHSELECT to use. You must specify this option before any other options. CAS-libref.data-table is a two-level name, where CAS-libref refers to a collection of information that is defined in the LIBNAME statement and includes the caslib, which includes a path to where the data table is to be stored, and a session identifier, which defaults to the active session but which can be explicitly defined in the LIBNAME statement.\",\"help\":\"OUT=*CAS-libref.data-table*\",\"type\":\"dataSet\"}]},{\"name\":\"PARTITION\",\"description\":\"The PARTITION statement specifies how observations in the input data set are logically partitioned into disjoint subsets for model training, validation, and testing.\",\"help\":\"PARTITION &lt;FRACTION(&lt; TEST=fraction &gt; &lt; VALIDATE=fraction &gt; &lt; SEED=number &gt;)&gt;&lt;ROLE=|ROLEVAR=variable (&lt; TEST='value' &gt; &lt; TRAIN='value' &gt; &lt; VALIDATE='value' &gt;)&gt;\",\"arguments\":[{\"name\":\"FRACTION=\",\"optional\":true,\"description\":\"Randomly assigns specified proportions of the observations in the input data table to the roles. You specify the proportions for testing and validation by using the TEST= and VALIDATE= suboptions. If you specify both the TEST= and VALIDATE= suboptions, then the sum of the specified fractions must be less than 1 and the remaining fraction of the observations are assigned to the training role. The SEED= option specifies an integer that is used to start the pseudorandom number generator for random partitioning of data for training, testing, and validation. If you do not specify SEED=number or if number is less than or equal to 0, the seed is generated by reading the time of day from the computer’s clock.\",\"help\":\"FRACTION=VALIDATE= | TEST= | SEED=\",\"type\":\"choice\",\"arguments\":[{\"name\":\"VALIDATE=\",\"type\":\"value\"},{\"name\":\"TEST=\",\"type\":\"value\"},{\"name\":\"SEED=\",\"type\":\"value\"}]},{\"name\":\"ROLE=\",\"optional\":true,\"aliases\":[\"ROLEVAR=\"],\"description\":\"Names the variable in the input data table whose values are used to assign roles to each observation. This variable cannot also appear as an analysis variable in other statements or options. The TEST=, TRAIN=, and VALIDATE= suboptions specify the formatted values of this variable that are used to assign observation roles. If you do not specify the TRAIN= suboption, then all observations whose role is not determined by the TEST= or VALIDATE= suboption are assigned to the training role.\",\"help\":\"ROLE=TRAIN= | VALIDATE= | TEST=\",\"type\":\"choice\",\"arguments\":[{\"name\":\"TRAIN=\",\"type\":\"value\"},{\"name\":\"VALIDATE=\",\"type\":\"value\"},{\"name\":\"TEST=\",\"type\":\"value\"}]}]},{\"name\":\"SELECTION\",\"description\":\"The SELECTION statement performs model selection by examining whether effects should be added to or removed from the model according to rules that are defined by model selection methods.\",\"help\":\"SELECTION &lt;ADAPTIVE &lt;(GAMMA=nonnegative number)&gt;&gt;&lt;CHOOSE=&lt;AIC | AICC | SBC&gt;&gt;&lt;METHOD=&lt;BACKWARD | FORWARD | FORWARDSWAP&gt;... &gt; ...\",\"arguments\":[{\"name\":\"ADAPTIVE=\",\"optional\":true,\"description\":\"Applies adaptive weights to each of the coefficients when METHOD=LASSO. Ordinary least squares estimates of the model parameters are used to form the adaptive weights. You use the GAMMA= option to specify the power transformation that is applied to the parameters in forming the adaptive weights. By default, GAMMA=1.\",\"help\":\"ADAPTIVE=GAMMA=\",\"type\":\"choice\",\"arguments\":[{\"name\":\"GAMMA=\",\"type\":\"value\"}]},{\"name\":\"CHOOSE=\",\"optional\":true,\"description\":\"Chooses from the list of models (at each step of the selection process) the model that yields the best value of the specified criterion.\",\"help\":\"CHOOSE=AIC | AICC | SBC*criterion*\",\"type\":\"value\",\"arguments\":[{\"name\":\"AIC\",\"description\":\"Specifies Akaike’s information criterion.\",\"type\":\"standalone\"},{\"name\":\"AICC\",\"description\":\"Specifies the corrected Akaike’s information criterion.\",\"type\":\"standalone\"},{\"name\":\"SBC\",\"description\":\"Specifies the Schwarz Bayesian information criterion.\",\"type\":\"standalone\"}]},{\"name\":\"COMPETITIVE\",\"optional\":true,\"description\":\"[method-option to be enclosed in parenthesis] Is applicable as a method-option only when METHOD=STEPWISE. If you specify the COMPETITIVE option, then the SELECT= criterion is evaluated for all models in which an effect currently in the model is dropped or an effect not yet in the model is added.\",\"type\":\"standalone\"},{\"name\":\"DETAILS=\",\"optional\":true,\"description\":\"Specifies the level of detail to be produced about the selection process. The default is DETAILS= SUMMARY.\",\"help\":\"DETAILS=SUMMARY | STEPS | ALL | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"SUMMARY\",\"description\":\"Produces a summary table that shows the effect that is added or removed at each step along with the criteria specified in the SELECT=, CHOOSE=, and STOP= method-options. The summary table is produced by default if you do not specify the DETAILS= option.\",\"type\":\"standalone\"},{\"name\":\"STEPS\",\"description\":\"Syntax: DETAILS=STEPS<(CANDIDATES(ALL | n))> Produces the preceding summary table and displays the results from fitting each model at each step. If you specify STEPS(CANDIDATES(n)), then the best n candidates are shown. If you specify STEPS(CANDIDATES(ALL)), then all candidates are shown.\",\"type\":\"standalone\"},{\"name\":\"ALL\",\"description\":\"Produces the preceding tables and a detailed listing of all candidates at each step along with their ranking in terms of the selection criterion for addition to or removal from the model.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"Specifies that no details be produced about the selection process.\",\"type\":\"standalone\"}]},{\"name\":\"FAST\",\"optional\":true,\"description\":\"[method-option to be enclosed in parenthesis] Implements the computational algorithm of Lawless and Singhal (1978) to compute a first-order approximation to the remaining slope estimates for each subsequent elimination of a variable from the model. When applied in backward selection, this option essentially leads to approximating the selection process as the selection process of a linear regression model in which the crossproducts matrix equals the Hessian matrix in the full model under consideration. This option is available only when METHOD=BACKWARD is specified. It is computationally efficient because the model is not fit after removal of each effect.\",\"type\":\"standalone\"},{\"name\":\"HIERARCHY=\",\"optional\":true,\"description\":\"Specifies whether and how the model hierarchy requirement is applied. You can specify that only classification effects, or both classification and continuous effects, be subject to the hierarchy requirement. This option is ignored unless you also specify one of the following options: METHOD=FORWARD, METHOD=BACKWARD, or METHOD=STEPWISE.\",\"help\":\"HIERARCHY=NONE | SINGLE | SINGLECLASS\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NONE\",\"description\":\"Specifies that model hierarchy not be maintained. Any single effect can enter or leave the model at any step of the selection process.\",\"type\":\"standalone\"},{\"name\":\"SINGLE\",\"description\":\"Specifies that only one effect enter or leave the model at one time, subject to the model hierarchy requirement.\",\"type\":\"standalone\"},{\"name\":\"SINGLECLASS\",\"description\":\"Is the same as HIERARCHY=SINGLE except that only CLASS effects are subject to the hierarchy requirement.\",\"type\":\"standalone\"}]},{\"name\":\"LSCOEFFS\",\"optional\":true,\"description\":\"[method-option to be enclosed in parenthesis] Requests a hybrid version of the LAR and LASSO methods, in which the sequence of models is determined by the LAR or LASSO algorithm but the coefficients of the parameters for the model at any step are determined by using ordinary least squares.\",\"type\":\"standalone\"},{\"name\":\"MAXEFFECTS=\",\"optional\":true,\"description\":\"Specifies the maximum number of effects in any model that is considered during the selection process. This option is ignored when METHOD=BACKWARD is specified.\",\"help\":\"MAXEFFECTS=*n*\",\"type\":\"value\"},{\"name\":\"MAXSTEPS=\",\"optional\":true,\"description\":\"Specifies the maximum number of selection steps that are performed. The default value of n is the number of effects in the SCALEMODEL or MODEL statement when METHOD=FORWARD or METHOD=BACKWARD.\",\"help\":\"MAXSTEPS=*n*\",\"type\":\"value\"},{\"name\":\"METHOD=\",\"optional\":true,\"aliases\":[\"SELECTION=\"],\"description\":\"Specifies the selection method to use.\",\"help\":\"METHOD=BACKWARD | FORWARD | FORWARDSWAP | STEPWISE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"BACKWARD\",\"description\":\"Specifies the backward elimination method.\",\"type\":\"standalone\"},{\"name\":\"FORWARD\",\"description\":\"Specifies the forward selection method.\",\"type\":\"standalone\"},{\"name\":\"FORWARDSWAP\",\"description\":\"Specifies forward-swap selection, which is an extension of the forward selection method.\",\"type\":\"standalone\"},{\"name\":\"STEPWISE\",\"description\":\"specifies the stepwise regression method.\",\"type\":\"standalone\"}]},{\"name\":\"MINEFFECTS=\",\"optional\":true,\"description\":\"Specifies the minimum number of effects in any model that is considered during backward selection. This option is ignored unless METHOD=BACKWARD is specified.\",\"help\":\"MINEFFECTS=*n*\",\"type\":\"value\"},{\"name\":\"ORDERSELECT\",\"optional\":true,\"description\":\"Specifies that effects in the selected model are displayed in the order in which they first entered the model. If you do not specify the ORDERSELECT option, then effects in the selected model are displayed in the order in which they appear in the MODEL statement.\",\"type\":\"standalone\"},{\"name\":\"PLOT=\",\"optional\":true,\"aliases\":[\"PLOTS=\"],\"description\":\"Controls the selection process plots that are produced through ODS Graphics. Each global-plot-option applies to all plots that the SELECTION statement generates, unless you alter the option by using a specific plot option that follows a plot-request. You can specify the following global-plot-options:\",\"help\":\"PLOT=ALL | COEFFICIENTS | CRITERIA | FITBYROLE  | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ALL\",\"description\":\"produces all relevant plots.\",\"type\":\"standalone\"},{\"name\":\"COEFFICIENTS\",\"description\":\"Syntax: COEFFICIENTS | COEFFICIENTPANEL <(UNPACK | UNPACKPANEL)> Creates a panel of two plots. The upper plot shows the progression of the parameter values as the selection process proceeds. The lower plot shows the progression of the CHOOSE= criterion.\",\"type\":\"standalone\"},{\"name\":\"CRITERIA\",\"description\":\"Syntax: CRITERIA | CRITERIONPANEL <(UNPACK | UNPACKPANEL)> Creates a panel of model fit criteria. If you specify the UNPACK option, then each criterion progression is shown in a separate plot.\",\"type\":\"standalone\"},{\"name\":\"FITBYROLE\",\"description\":\"Plots the progression of a fit statistic on the training, test, and validation data. The fit statistic that is displayed depends on the type of model that is being fit. The fit by role plot is not produced if you do not specify a PARTITION statement.\",\"help\":\"FITBYROLE \",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"Suppress all selection process plots, even if you specify other plot options.\",\"type\":\"standalone\"}]},{\"name\":\"SELECT=\",\"optional\":true,\"aliases\":[\"CRITERION=\"],\"description\":\"Specifies the criterion that the procedure uses to determine the order in which effects enter or leave at each step of the selection method. For each step, the effect whose addition to or removal from the current model yields the maximum improvement in the specified criterion is selected. You can use the traditional significance-level approach by specifying the SL criterion; for other supported criteria, see the chapter for the relevant procedure. This option is not valid when METHOD=LAR or METHOD=LASSO.\",\"help\":\"SELECT=AIC | AICC | SBC\",\"type\":\"choice\",\"arguments\":[{\"name\":\"AIC\",\"description\":\"Specifies Akaike’s information criterion.\",\"type\":\"standalone\"},{\"name\":\"AICC\",\"description\":\"Specifies the corrected Akaike’s information criterion.\",\"type\":\"standalone\"},{\"name\":\"SBC\",\"description\":\"Specifies the Schwarz Bayesian information criterion.\",\"type\":\"standalone\"}]},{\"name\":\"SLENTRY=\",\"optional\":true,\"aliases\":[\"SLE=\"],\"description\":\"Specifies the significance level for entry when STOP=SL or SELECT=SL. By default, SLENTRY=0.05.\",\"type\":\"value\"},{\"name\":\"SLSTAY=\",\"optional\":true,\"aliases\":[\"SLS=\"],\"description\":\"Specifies the significance level for staying in the model when STOP=SL or SELECT=SL.\",\"type\":\"value\"},{\"name\":\"STOP=\",\"optional\":true,\"description\":\"Specifies a criterion that is used to stop the selection process.\",\"help\":\"STOP=SL | NONE | &lt;*criterion*&gt;*criterion*\",\"type\":\"value\",\"arguments\":[{\"name\":\"SL\",\"description\":\"Stops the selection process at the step where the significance level of the candidate for entry is greater than the SLENTRY= value for addition steps when METHOD=FORWARD or METHOD=STEPWISE and where the significance level of the candidate for removal is greater than the SLSTAY= value when METHOD=BACKWARD or METHOD=STEPWISE.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"Stops the selection process if no suitable add or drop candidates can be found or if a size-based limit is reached.\",\"type\":\"standalone\"},{\"name\":\"criterion\",\"placeholder\":true,\"description\":\"Stops the selection process if the selection process produces a local extremum of this criterion or if a size-based limit is reached.\",\"type\":\"value\"}]},{\"name\":\"STOPHORIZON=\",\"optional\":true,\"description\":\"Specifies the number of consecutive steps at which the STOP= criterion must worsen in order for a local extremum to be detected. The stop horizon value is ignored if you also specify STOP=NONE or STOP=SL. For example, suppose that STOP=AIC and the sequence of AIC values at steps 1 to 6 of a selection are 10, 7, 4, 6, 5, 2. If STOPHORIZON=2, then the AIC criterion is deemed to have a local minimum at step 3 because the AIC value at the next two steps are greater than the value 4 that occurs at step 3. However, if STOPHORIZON=3, then the value at step 3 is not deemed to be a local minimum because the AIC value at step 6 is lower than the AIC value at step 3. When METHOD=LAR or METHOD=LASSO, n is ignored and STOPHORIZON=1 is used. By default, STOPHORIZON=3.\",\"help\":\"STOPHORIZON=*n*\",\"type\":\"value\"}]},{\"name\":\"STRATA\",\"description\":\"The STRATA statement specifies a variable whose values determine the stratification of the data. Strata are formed according to the nonmissing values of the STRATA variable unless you specify the MISSING option.\",\"help\":\"STRATA &lt;MISSING&gt;\",\"arguments\":[{\"name\":\"MISSING\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Allows missing values ('.','.A',...,'.Z' for numeric variables and blanks for character variables) as valid STRATA variable values. Otherwise, observations that have missing STRATA variable values are deleted from the analysis.\",\"type\":\"standalone\"}]},{\"name\":\"WEIGHT\",\"description\":\"The variable in the WEIGHT statement is used as a weight to perform a weighted analysis of the data. Observations that have nonpositive or missing weights are not included in the analysis. If a WEIGHT statement is not included, all observations that are used in the analysis are assigned a weight of 1.\",\"help\":\"WEIGHT variable\"}],\"supportSiteInformation\":{\"docsetId\":\"casstat\",\"docsetVersion\":\"latest\",\"docsetTargetFile\":\"casstat_phselect_toc.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/PLAN.json",
    "content": "{\"name\":\"PLAN\",\"statements\":[{\"name\":\"PROC PLAN\",\"description\":\"The PLAN procedure constructs designs and randomizes plans for factorial experiments, especially nested and crossed experiments and randomized block designs.\",\"help\":\"PROC PLAN <ORDERED><SEED=number>;     \\n\\tFACTORS <NOPRINT> ORDERED RANDOM ...;\\n\\n\\tOUTPUT <OUT=SAS-data-set><NVALS=> OUT=SAS-data-set ...;\\n\\n\\tTREATMENTS ORDERED PERM RANDOM ...;\\n\",\"arguments\":[{\"name\":\"ORDERED\",\"optional\":true,\"description\":\"Selects the levels of the factor as the integers 1,2,...,m, in order.\",\"type\":\"standalone\"},{\"name\":\"SEED=\",\"optional\":true,\"description\":\"Specifies an integer used to start the pseudo-random number generator for selecting factor levels randomly.\",\"help\":\"SEED=*number*\",\"type\":\"value\"}]},{\"name\":\"FACTORS\",\"description\":\"The FACTORS statement specifies the factors of the plan and generates the plan. The form of a factor-selection is name = m <OF n> <selection-type> ; where: name is a valid SAS name. This gives the name of a factor in the design. m is a positive integer that gives the number of values to be selected. n is a positive integer that gives the number of values to be selected from. selection-type specifies one of five methods for selecting m values. Possible values are COMB, CYCLIC, ORDERED, PERM, and RANDOM.\",\"help\":\"FACTORS &lt;NOPRINT&gt; ORDERED RANDOM ...\",\"arguments\":[{\"name\":\"COMB\",\"description\":\"[selection-type] Selects the m levels of the factor as a combination of the integers 1,...,n taken m at a time, according to an algorithm that cycles through all n!/(m!(n-m)! combinations.\",\"type\":\"standalone\"},{\"name\":\"CYCLIC\",\"description\":\"Selects the levels of the factor by cyclically permuting the integers 1,2,...,n. Wrapping occurs at m if n is not specified, and at n if n is specified. Additional optional specifications are as follows: With the selection-type CYCLIC, you can optionally specify an initial-block and an increment. The initial-block must be specified within parentheses, and it specifies the block of numbers to permute. The first permutation is the block you specify, the second is the block permuted by 1 (or by the increment you specify), and so on. By default, the initial-block is the integers 1,...,m. If you specify an initial-block, it must have m values. Values specified in the initial- block do not have to be given in increasing order.\",\"type\":\"standalone\"},{\"name\":\"ORDERED\",\"description\":\"[selection-type] Selects the levels of the factor as the integers 1,2,...,m, in that order.\",\"type\":\"standalone\"},{\"name\":\"PERM\",\"description\":\"[selection-type] Selects the m levels of the factor as a permutation of the integers 1,...,m according to an algorithm that cycles through all m! permutations.\",\"type\":\"standalone\"},{\"name\":\"RANDOM\",\"description\":\"[selection-type] Selects the levels of the factor randomly without replacement from the integers 1,2,...,n.\",\"type\":\"standalone\"},{\"name\":\"NOPRINT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Suppresses the display of the plan.\",\"type\":\"standalone\"},{\"name\":\"OF\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"\",\"type\":\"standalone\"}]},{\"name\":\"OUTPUT\",\"description\":\"The OUTPUT statement applies only to the last plan generated.\",\"help\":\"OUTPUT &lt;OUT=SAS-data-set&gt;&lt;NVALS=&gt; OUT=SAS-data-set ...\",\"arguments\":[{\"name\":\"OUT=\",\"description\":\"When you specify only the OUT= option in the OUTPUT statement, PROC PLAN saves the last plan generated to the specified data set.\",\"help\":\"OUT=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"CVALS=\",\"optional\":true,\"description\":\"Lists n character strings for the factor. Each string can have up to 40 characters, and each string must be enclosed in quotes. Warning:When you use the CVALS= option, the variable created in the output data set has a length equal to the length of the longest string given as a value; shorter strings are padded with trailing blanks. For example, the values output for the first level of a two-level factor with the following two different specifications are not the same. CVALS=('String 1' \\\"String 2\\\") CVALS=('String 1' \\\"A longer string\\\")\",\"type\":\"value\"},{\"name\":\"DATA=\",\"optional\":true,\"description\":\"When you specify both the DATA= and OUT= options in the OUTPUT statement, then PROC PLAN uses the last plan generated to randomize the input data set (DATA=), saving the results to the output data set (OUT=).\",\"type\":\"value\"},{\"name\":\"NVALS=\",\"optional\":true,\"description\":\"Lists n numeric values for the factor. By default, the procedure uses NVALS=(1 2 3...n).\",\"type\":\"value\"},{\"name\":\"ORDERED\",\"optional\":true,\"description\":\"The default association type is ORDERED, for which the first value specified is output for a factor level setting of 1, the second value specified is output for a level of 2, and so on.\",\"type\":\"standalone\"},{\"name\":\"RANDOM\",\"optional\":true,\"description\":\"You can also specify an association type of RANDOM, for which the levels are associated with the values in a random order.\",\"type\":\"standalone\"}]},{\"name\":\"TREATMENTS\",\"description\":\"The TREATMENTS statement specifies the treatments of the plan to generate, but it does not generate a plan. The form of a factor-selection is name = m <OF n> <selection-type> ; where: name is a valid SAS name. This gives the name of a factor in the design. m is a positive integer that gives the number of values to be selected. n is a positive integer that gives the number of values to be selected from. selection-type specifies one of five methods for selecting m values. Possible values are COMB, CYCLIC, ORDERED, PERM, and RANDOM.\",\"help\":\"TREATMENTS ORDERED PERM RANDOM ...\",\"arguments\":[{\"name\":\"COMB\",\"description\":\"[selection-type] Selects the m levels of the factor as a combination of the integers 1,...,n taken m at a time, according to an algorithm that cycles through all n!/(m!(n-m)! combinations.\",\"type\":\"standalone\"},{\"name\":\"CYCLIC\",\"description\":\"Selects the levels of the factor by cyclically permuting the integers 1,2,...,n. Wrapping occurs at m if n is not specified, and at n if n is specified. Additional optional specifications are as follows: With the selection-type CYCLIC, you can optionally specify an initial-block and an increment. The initial-block must be specified within parentheses, and it specifies the block of numbers to permute. The first permutation is the block you specify, the second is the block permuted by 1 (or by the increment you specify), and so on. By default, the initial-block is the integers 1,...,m. If you specify an initial-block, it must have m values. Values specified in the initial- block do not have to be given in increasing order.\",\"type\":\"standalone\"},{\"name\":\"ORDERED\",\"description\":\"[selection-type] Selects the levels of the factor as the integers 1,2,...,m, in that order.\",\"type\":\"standalone\"},{\"name\":\"PERM\",\"description\":\"[selection-type] Selects the m levels of the factor as a permutation of the integers 1,...,m according to an algorithm that cycles through all m! permutations.\",\"type\":\"standalone\"},{\"name\":\"RANDOM\",\"description\":\"[selection-type] Selects the levels of the factor randomly without replacement from the integers 1,2,...,n.\",\"type\":\"standalone\"},{\"name\":\"OF\",\"optional\":true,\"description\":\"\",\"type\":\"standalone\"}]}],\"supportSiteInformation\":{\"docsetId\":\"statug\",\"docsetVersion\":\"latest\",\"docsetTargetFile\":\"statug_plan_toc.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/PLM.json",
    "content": "{\"name\":\"PLM\",\"statements\":[{\"name\":\"PROC PLM\",\"description\":\"(New in SAS/STAT 9.22!) † The PLM procedure performs postfitting statistical analyses for the contents of a SAS item store that was previously created with the STORE statement in some other SAS/STAT procedure. An item store is a special SAS-defined binary file format used to store and restore information with a hierarchical structure. † The statements available in the PLM procedure are designed to reveal the contents of the source item store via the Output Delivery System (ODS) and to perform postfitting tasks such as the following: † o testing hypotheses o computing confidence intervals o producing prediction plots o scoring a new data set\",\"help\":\"PROC PLM <ALPHA=α><DDFMETHOD=RESIDUAL|RES|ERROR | NONE | KENROG|KR|KENWARDROGER... ><ESTEPS=℮><FORMAT=NOLOAD | RELOAD><MAXLEN=n><NOCLPRINT<=number>><NOINFO><NOPRINT><PERCENTILES=value-list><PLOTS=ALL | NONE><SEED=number><SINGCHOL=number><SINGRES=number><SINGULAR=number><SOURCE=item-store-specification><STMTORDER=SYNTAX | GROUP><WHEREFORMAT><ZETA=number>;     \\n\\tEFFECTPLOT BOX CONTOUR FIT ...;\\n\\n\\tESTIMATE <ADJDFE=<SOURCE | ROW>><ADJUST=<BON | SCHEFFE | SIDAK>... ><ALPHA=number> ...;\\n\\n\\tFILTER <Prob><ProbChi><ProbF> ...;\\n\\n\\tLSMEANS <ADJDFE=<SOURCE | ROW>><ADJUST=<BON | DUNNETT | NELSON>... ><ALPHA=number> ...;\\n\\n\\tLSMESTIMATE <ADJDFE=<SOURCE | ROW>><ADJUST=<BON | SCHEFFE | SIDAK>... ><ALPHA=number> ...;\\n\\n\\tSCORE DATA=SAS-data-set OUT=SAS-data-set PREDICTED= ...;\\n\\n\\tSHOW <ALL><BYVAR><CLASSLEVELS> ...;\\n\\n\\tSLICE <ADJDFE=<SOURCE | ROW>><ADJUST=<BON | DUNNETT | NELSON>... ><ALPHA=number> ...;\\n\\n\\tTEST <CHISQ><DDF=value-list><E> ...;\\n\\n\\tWHERE expression ;\\n\",\"arguments\":[{\"name\":\"ALPHA=\",\"optional\":true,\"description\":\"Specifies the nominal significance level for multiplicity corrections and for the construction of confidence intervals. The value of α must be between 0 and 1. The default is the value specified in the source item store, or 0.05 if the item store does not provide a value. The confidence level based on α is 1-α.\",\"type\":\"value\"},{\"name\":\"DDFMETHOD=\",\"optional\":true,\"description\":\"Specifies the method for determining denominator degrees of freedom for tests and confidence intervals. The default degree-of-freedom method is determined by the contents of the item store. You can override the default to some extent with the DDFMETHOD= option.\",\"help\":\"DDFMETHOD=RESIDUAL | NONE | KENWARDROGER | SATTERTHWAITE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"RESIDUAL\",\"aliases\":[\"RES\",\"ERROR\"],\"description\":\"Denominator degrees of freedom for tests and confidence intervals are based on residual errors.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"Infinite denominator degrees of freedom are assumed for tests and confidence intervals. This essentially produces z tests and intervals instead of t tests and intervals and chi-square tests instead of F tests.\",\"type\":\"standalone\"},{\"name\":\"KENWARDROGER\",\"aliases\":[\"KR\",\"KENROG\"],\"description\":\"KENWARDROGER method for determining denominator degrees of freedom for tests and confidence intervals.\",\"type\":\"standalone\"},{\"name\":\"SATTERTHWAITE\",\"aliases\":[\"SAT\",\"SATTERTH\"],\"description\":\"SATTERTHWAITE method for determining denominator degrees of freedom for tests and confidence intervals.\",\"type\":\"standalone\"}]},{\"name\":\"ESTEPS=\",\"optional\":true,\"description\":\"Specifies the tolerance value used in determining the estimability of linear functions. The default value is determined by the contents of the source item store; it is usually 1E-4.\",\"type\":\"value\"},{\"name\":\"FORMAT=\",\"optional\":true,\"description\":\"Specifies how the PLM procedure handles user-defined formats, which are not permanent. When the item store is created, user-defined formats are stored. When the PLM procedure opens an item store, these formats are loaded by default. If the format already exists in your SAS session, this operation amounts to a reloading of the format (FORMAT=RELOAD) that replaces the existing format.\",\"help\":\"FORMAT=NOLOAD | RELOAD\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NOLOAD\",\"description\":\"Prevents the PLM procedure from reloading the format from the item store. As a consequence, PLM statements might fail if a format was present at the item store creation and is not available in your SAS session.\",\"type\":\"standalone\"},{\"name\":\"RELOAD\",\"description\":\"Allows the PLM procedure to reload the format from the item store.\",\"type\":\"standalone\"}]},{\"name\":\"MAXLEN=\",\"optional\":true,\"description\":\"Determines the maximum length of informational strings in the \\\"Store Information\\\" table. This table displays, for example, lists of classification or BY variables and lists of model effects. The value of n determines the truncation length for these strings. The minimum and maximum values for n are 20 and 256, respectively. The default is n=100.\",\"help\":\"MAXLEN=*n*\",\"type\":\"value\"},{\"name\":\"NOCLPRINT\",\"optional\":true,\"description\":\"Suppresses the display of the \\\"Class Level Information\\\" table if you do not specify number. If you specify number, only levels with totals that are less than number are listed in the table. The PLM procedure produces the \\\"Class Level Information\\\" table by default when the model contains effects that depend on classification variables.\",\"type\":\"standalone\"},{\"name\":\"NOINFO\",\"optional\":true,\"description\":\"Suppresses the display of the \\\"Store Information\\\" table.\",\"type\":\"standalone\"},{\"name\":\"NOPRINT\",\"optional\":true,\"description\":\"Suppresses the generation of tabular and graphical output. When the NOPRINT option is in effect, ODS tables are also not produced.\",\"type\":\"standalone\"},{\"name\":\"PERCENTILES=\",\"optional\":true,\"aliases\":[\"PERCENTILE=\"],\"description\":\"Supplies a list of percentiles for the construction of highest posterior density (HPD) intervals when the PLM procedure performs a sampling-based analysis (for example, when processing an item store that contains posterior parameter estimates from a Bayesian analysis). The default set of percentiles depends on the contents of the source item store; it is typically PERCENTILES=25, 50, 75. The entries in value-list must be strictly between 0 and 100.\",\"help\":\"PERCENTILES=*value-list*\",\"type\":\"value\"},{\"name\":\"PLOTS=\",\"optional\":true,\"description\":\"Requests that the PLM procedure produce statistical graphics via the Output Delivery System, provided that the ODS GRAPHICS ON statement has been specified. The following global-plot-option applies to all plots produced by PROC PLM.\",\"help\":\"PLOTS=ALL | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ALL\",\"description\":\"Requests that all the appropriate plots be produced.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"Suppresses all plots.\",\"type\":\"standalone\"}]},{\"name\":\"SEED=\",\"optional\":true,\"description\":\"Specifies the random number seed for analyses that depend on a random number stream. You can also specify the random number seed through some PLM statements (for example, through the SEED= options in the ESTIMATE, LSMEANS, and LSMESTIMATE statements). However, note that there is only a single random number stream per procedure run. Specifying the SEED= option in the PROC PLM statement initializes the stream for all subsequent statements. If you do not specify a random number seed, the source item store might supply one for you. If a seed is in effect when the PLM procedure opens the source store, the \\\"Store Information\\\" table displays its value.\",\"help\":\"SEED=*number*\",\"type\":\"value\"},{\"name\":\"SINGCHOL=\",\"optional\":true,\"description\":\"Tunes the singularity criterion in Cholesky decompositions. The default value depends on the contents of the source item store. The default value is typically 1E4 times the machine epsilon; this product is approximately 1E-12 on most computers.\",\"help\":\"SINGCHOL=*number*\",\"type\":\"value\"},{\"name\":\"SINGRES=\",\"optional\":true,\"description\":\"Sets the tolerance for which the residual variance or scale parameter is considered to be zero. The default value depends on the contents of the source item store. The default value is typically 1E4 times the machine epsilon; this product is approximately 1E-12 on most computers.\",\"help\":\"SINGRES=*number*\",\"type\":\"value\"},{\"name\":\"SINGULAR=\",\"optional\":true,\"description\":\"Tunes the general singularity criterion applied by the PLM procedure in divisions and inversions. The default value used by the PLM procedure depends on the contents of the item store. The default value is typically 1E4 times the machine epsilon; this product is approximately 1E-12 on most computers.\",\"help\":\"SINGULAR=*number*\",\"type\":\"value\"},{\"name\":\"SOURCE=\",\"optional\":true,\"aliases\":[\"RESTORE=\"],\"description\":\"Specifies the source item store for processing. This option is required because, in contrast to SAS data sets, there is no default item store. An item-store-specification consists of a one- or two-level name as with SAS data sets. As with data sets, the default library association of an item store is with the WORK library, and any stores created in this library are deleted when the SAS session concludes.\",\"help\":\"SOURCE=*item-store-specification*\",\"type\":\"value\"},{\"name\":\"STMTORDER=\",\"optional\":true,\"description\":\"Affects the order in which statements are grouped during processing. The default behavior depends on the contents of the source item store and can be modified with the STMTORDER= option.\",\"help\":\"STMTORDER=SYNTAX | GROUP\",\"type\":\"choice\",\"arguments\":[{\"name\":\"SYNTAX\",\"description\":\"The statements are processed in the order in which they appear. Note that this precludes the hierarchical grouping of ODS objects.\",\"type\":\"standalone\"},{\"name\":\"GROUP\",\"description\":\"The statements are processed in groups and in the following order: SHOW, TEST, LSMEANS, SLICE, LSMESTIMATE, ESTIMATE, and SCORE.\",\"type\":\"standalone\"}]},{\"name\":\"WHEREFORMAT\",\"optional\":true,\"description\":\"Specifies that the constants (literals) specified in WHERE expressions for group selection are in terms of the formatted values of the BY variables. By default, WHERE expressions are specified in terms of the unformatted (raw) values of the BY variables, as in the SAS DATA step.\",\"type\":\"standalone\"},{\"name\":\"ZETA=\",\"optional\":true,\"description\":\"Tunes the sensitivity in forming Type III functions. Any element in the estimable function basis with an absolute value less than number is set to 0. The default depends on the contents of the source item store; it usually is 1E-8.\",\"help\":\"ZETA=*number*\",\"type\":\"value\"}]},{\"name\":\"EFFECTPLOT\",\"description\":\"The EFFECTPLOT statement produces a display of the fitted model and provides options for changing and enhancing the displays.\",\"help\":\"EFFECTPLOT BOX CONTOUR FIT ...\",\"arguments\":[{\"name\":\"BOX=\",\"description\":\"Displays a box plot of continuous response data at each level of a CLASS effect, with predicted values superimposed and connected by a line. This is an alternative to the INTERACTION plot-type.\",\"help\":\"BOX=PLOTBY= | X=\",\"type\":\"choice\",\"arguments\":[{\"name\":\"PLOTBY=\",\"type\":\"value\"},{\"name\":\"X=\",\"type\":\"value\"}]},{\"name\":\"CONTOUR=\",\"description\":\"Displays a contour plot of predicted values against two continuous covariates.\",\"help\":\"CONTOUR=PLOTBY= | X= | Y=\",\"type\":\"choice\",\"arguments\":[{\"name\":\"PLOTBY=\",\"type\":\"value\"},{\"name\":\"X=\",\"type\":\"value\"},{\"name\":\"Y=\",\"type\":\"value\"}]},{\"name\":\"FIT=\",\"description\":\"Displays a curve of predicted values versus a continuous variable.\",\"help\":\"FIT=PLOTBY= | X=\",\"type\":\"choice\",\"arguments\":[{\"name\":\"PLOTBY=\",\"type\":\"value\"},{\"name\":\"X=\",\"type\":\"value\"}]},{\"name\":\"INTERACTION=\",\"description\":\"Displays a curve of predicted values versus a continuous variable grouped by the levels of a CLASS effect.\",\"help\":\"INTERACTION=PLOTBY= | SLICEBY= | X=\",\"type\":\"choice\",\"arguments\":[{\"name\":\"PLOTBY=\",\"type\":\"value\"},{\"name\":\"SLICEBY=\",\"type\":\"value\"},{\"name\":\"X=\",\"type\":\"value\"}]},{\"name\":\"SLICEFIT=\",\"description\":\"Displays a curve of predicted values versus a continuous variable grouped by the levels of a CLASS effect.\",\"help\":\"SLICEFIT=PLOTBY= | SLICEBY= | X=\",\"type\":\"choice\",\"arguments\":[{\"name\":\"PLOTBY=\",\"type\":\"value\"},{\"name\":\"SLICEBY=\",\"type\":\"value\"},{\"name\":\"X=\",\"type\":\"value\"}]},{\"name\":\"ALPHA=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the significance level, 0 ≥ value ≥ 1, for producing 100(1-value/2)% prediction and confidence limits. By default, value=0.05.\",\"help\":\"ALPHA=*value*\",\"type\":\"value\"},{\"name\":\"AT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"where contopt= MEAN | MIN | MAX | MIDRANGE classopt= ALL | REF varopt= contopts | number-list | classopts | ’class-level’...’class-level’]\",\"type\":\"standalone\"},{\"name\":\"ATLEN=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the maximum length (1 < n < 256) of the levels of the AT variables that are displayed in footnotes and headers. By default, up to 256 characters of the CLASS levels are displayed, and the continuous AT levels are displayed with a BEST format that has a width greater than or equal to 5, which distinguishes each level. Caution:If the levels of your AT variables are not unique when the first n characters are displayed, then the levels are combined in the plots but not in the underlying computations. Also, at most n characters for continuous AT variables are displayed.\",\"help\":\"ATLEN=*n*\",\"type\":\"value\"},{\"name\":\"ATORDER=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Uses the AT values for continuous variables in ascending or descending order as specified. By default, values are used in the order of their first appearance in the AT option.\",\"help\":\"ATORDER=ASCENDING | DESCENDING\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ASCENDING\",\"followsDelimiter\":\"/\",\"description\":\"Uses the AT values for continuous variables in ascending order\",\"type\":\"standalone\"},{\"name\":\"DESCENDING\",\"followsDelimiter\":\"/\",\"description\":\"Uses the AT values for continuous variables in descending order\",\"type\":\"standalone\"}]},{\"name\":\"CLI\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays normal (Wald) prediction limits. This option is available only for normal distributions with identity links. If your model is from a Bayesian analysis, then sampling-based intervals are computed.\",\"type\":\"standalone\"},{\"name\":\"CLM\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays confidence limits. These are computed as the normal (Wald) confidence limits for the linear predictor, and if the ILINK option is specified, the limits are also back-transformed by the inverse link function. If your model is from a Bayesian analysis, then sampling-based intervals are computed.\",\"type\":\"standalone\"},{\"name\":\"CLUSTER\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Modifies the BOX and INTERACTION plot-types by displaying the levels of the SLICEBY= effect in a side-by-side fashion. You can specify percent as a percentage of half the distance between X levels. The percent value must be between 0.1 and 1; the default percent depends on the number of X levels, the number of SLICEBY levels, and the number of PLOTBY levels for INTERACTION plot-types. Default clustering can be removed by specifying the NOCLUSTER option.\",\"type\":\"standalone\"},{\"name\":\"CONNECT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Modifies the BOX and INTERACTION plot-types by connecting the predicted values with a line. Default connecting lines can be removed by specifying the NOCONNECT option.\",\"type\":\"standalone\"},{\"name\":\"EXTEND=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Extends continuous covariate axes by value x ½range in both directions, where range is the range of the X axis.\",\"help\":\"EXTEND=DATA | &lt;value&gt;\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DATA\",\"followsDelimiter\":\"/\",\"description\":\"Displays curves to the range of the data within the appropriate SLICEBY=, PLOTBY=, and AT level.\",\"type\":\"standalone\"},{\"name\":\"<value>\",\"followsDelimiter\":\"/\",\"description\":\"Replace <value> with an actual value.\",\"type\":\"standalone\"}]},{\"name\":\"GRIDSIZE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the resolution of curves by computing the predicted values at n equally spaced x-values and specifies the resolution of surfaces by computing the predicted values on an nxn grid of points. Default values are n=200 for curves and bands, n=50 for surfaces, and n=2 for lines. If results of a Bayesian or bootstrap analysis are being displayed, then the defaults are n=500000/B, where B is the number of samples, the upper limit is equal to the usual defaults, and the lower limit equal to 20.\",\"help\":\"GRIDSIZE=*n*\",\"type\":\"value\"},{\"name\":\"ILINK\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays the fit on the scale of the inverse link function. In particular, the results are displayed on the probability scale for logistic regression. By default, a procedure displays the fit on either the link or inverse link scale.\",\"type\":\"standalone\"},{\"name\":\"INDIVIDUAL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays individual probabilities for polytomous response models with cumulative links on the scale of the inverse link function. This option is not available when the LINK option is specified, and confidence limits are not available with this option.\",\"type\":\"standalone\"},{\"name\":\"LIMITS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Invokes the CLI and CLM options.\",\"type\":\"standalone\"},{\"name\":\"LINK\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays the fit on the scale of the link function; that is, the linear predictor. Note that probabilities or observed proportions near 0 and 1 are transformed to . By default, a procedure displays the fit on either the link or inverse link scale.\",\"type\":\"standalone\"},{\"name\":\"MOFF\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Moves the offset for a Poisson regression model to the response side of the equation. If the ILINK option is also in effect, then the rate is displayed on the Y axis, while the LINK option displays the log of the rate on the Y axis. Without this option, the predicted values are computed and displayed only for the observations.\",\"type\":\"standalone\"},{\"name\":\"NCOLS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the maximum number of columns in a paneled plot. This option is not available with the BOX plot-type. The default choice of NROWS= and NCOLS= is based on the number of PLOTBY= and AT levels. If there is only one plot being displayed in a panel, then NROWS=1 and NCOLS=1 and the plots are produced as if you specified only the UNPACK option. If only two plots are displayed in a panel, then NROWS=1 and NCOLS=2. For all other cases, a 2x2, 2x3, or 3x3 panel is chosen based on how much of the last panel is used, with ties going to the larger panels. For example, if 14 plots are being created, then this requires either four 2x2 panels with 50% of the last panel filled, three 2x3 panels with 33% of the last panel filled, or two 3x3 panels with 55% of the last panel filled; in this case, the 3x3 panels are chosen.\",\"help\":\"NCOLS=*n*\",\"type\":\"value\"},{\"name\":\"NOCLI\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Suppresses the prediction limits.\",\"type\":\"standalone\"},{\"name\":\"NOCLM\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Suppresses the confidence limits.\",\"type\":\"standalone\"},{\"name\":\"NOLIMITS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Invokes the NOCLI and NOCLM options.\",\"type\":\"standalone\"},{\"name\":\"NOOBS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Suppresses the display of observations and overrides the specification of the OBS= option.\",\"type\":\"standalone\"},{\"name\":\"NROWS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the maximum number of rows in a paneled plot. This option is not available with the BOX plot-type. See the NCOLS= option for more details.\",\"help\":\"NROWS=*n*\",\"type\":\"value\"},{\"name\":\"OBS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays observations on the effect plots. An input data set is required; hence the OBS option is not available with PROC PLM. The OBS option is overridden by the NOOBS option. When the ILINK option is specified with binary response variables, then either the observed proportions or a coded value of the response is displayed. For polytomous response variables, the observed values are overlaid onto the fitted curves unless the LOCATION= option is specified. Whether observations are displayed by default or not depends upon the procedure. If the PLOTBY= option is specified, then the observations displayed on each plot are from the corresponding PLOTBY= level for classification effects; for continuous effects, all observations are displayed on every plot. The following options are available: BYAT -- subsets the observations by AT level and by the PLOTBY= level. CDISPLAY=NONE | OUTLINE | GRADIENT | OUTLINEGRADIENT controls the display of observations on contour plots. CGRADIENT=RESIDUAL | DEPENDENT specifies what the gradient-shading of the observed values on the CONTOUR plot-type represents. DEPTH=depth (you can specify 1 ≤ depth ≤ 100. By default, DEPTH=1) specifies the number of overlapping observations that can be distinguished by adjusting their transparency. DISTANCE displays observations on FIT plot-types with a color-gradient that indicates how far the observation is from the AT and PLOTBY= level. FITATCLASS -- computes fitted values only for class levels that are observed in the data set. FRINGE -- displays observations in a fringe (rug) plot at the bottom of the plot. JITTER<(FACTOR=factor SEED=seed X=x-jitter Y=y-jitter)> -- shifts (jitters) the observations. LABEL<=OBS> -- labels markers with their observation number.\",\"help\":\"OBS=BYAT | CDISPLAY= | CGRADIENT= | DEPTH= | DISTANCE | FITATCLASS | FRINGE | JITTER | FACTOR= | SEED= | X= | Y= | LABEL | LABEL= | LOCATION=\",\"type\":\"choice\",\"arguments\":[{\"name\":\"BYAT\",\"type\":\"standalone\"},{\"name\":\"CDISPLAY=\",\"type\":\"value\"},{\"name\":\"CGRADIENT=\",\"type\":\"value\"},{\"name\":\"DEPTH=\",\"type\":\"value\"},{\"name\":\"DISTANCE\",\"type\":\"standalone\"},{\"name\":\"FITATCLASS\",\"type\":\"standalone\"},{\"name\":\"FRINGE\",\"type\":\"standalone\"},{\"name\":\"JITTER\",\"type\":\"standalone\"},{\"name\":\"FACTOR=\",\"type\":\"value\"},{\"name\":\"SEED=\",\"type\":\"value\"},{\"name\":\"X=\",\"type\":\"value\"},{\"name\":\"Y=\",\"type\":\"value\"},{\"name\":\"LABEL\",\"type\":\"standalone\"},{\"name\":\"LABEL=\",\"type\":\"value\"},{\"name\":\"LOCATION=\",\"type\":\"value\"}]},{\"name\":\"PLOTBY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies a variable or CLASS effect at whose levels the predicted values are computed and the plots are displayed. You can specify the response variable as the effect for polytomous response models. The panel-type argument specifies the method in which the plots are grouped for the display. The following panel-types are available. COLUMNS specifies that the columns within each panel correspond to different levels of the PLOTBY= effect and hence the rows correspond to different AT levels. PACK specifies that plots be displayed in the panels as they are produced with no control over the placement of the PLOTBY= and AT levels. PANELS | LEVELS specifies that each level of the PLOTBY= effect begin a new panel of plots and the AT levels define the plots within the panels. ROWS specifies that the rows within each panel correspond to different levels of the PLOTBY= effect and hence the columns correspond to different AT levels.\",\"help\":\"PLOTBY=COLUMNS | PACK | PANELS | LEVELS | ROWS\",\"type\":\"choice\",\"arguments\":[{\"name\":\"COLUMNS\",\"type\":\"standalone\"},{\"name\":\"PACK\",\"type\":\"standalone\"},{\"name\":\"PANELS\",\"type\":\"standalone\"},{\"name\":\"LEVELS\",\"type\":\"standalone\"},{\"name\":\"ROWS\",\"type\":\"standalone\"}]},{\"name\":\"PLOTBYLEN=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the maximum length (1 ≤ n ≤ 256) of the levels of the PLOTBY= variables, which are displayed in footnotes and headers. By default, up to 256 characters of the CLASS levels are displayed.\",\"help\":\"PLOTBYLEN=*n*\",\"type\":\"value\"},{\"name\":\"POLYBAR\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays polytomous response data as a stacked histogram with bar heights defined by the individual predicted value. Your response variable must be the SLICEBY= variable, and the INDIVIDUAL and ILINK options must be in effect; otherwise, the option is ignored. Confidence limits are ignored.\",\"type\":\"standalone\"},{\"name\":\"PREDLABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies a label to be displayed on the Y axis. The default Y axis label is determined by your model. For the CONTOUR plot-type, this option changes the title to \\\"label for Y.\\\"\",\"help\":\"PREDLABEL=*label*\",\"type\":\"value\"},{\"name\":\"SHOWCLEGEND\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays the gradient-legend for the CONTOUR plot-type. This option has no effect when the OBS(CGRADIENT=RESIDUAL) option is also specified.\",\"type\":\"standalone\"},{\"name\":\"SLICEBY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays the fitted values at the different levels of the specified variable or CLASS effect.\",\"help\":\"SLICEBY=NONE | effect&lt;=numeric-list&gt;\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NONE\",\"followsDelimiter\":\"/\",\"description\":\"Preventing the INTERACTION plot-type from slicing by a second class covariate. Note that the SLICEBY=NONE option is not available for the SLICEFIT plot-type, since that is the same as the FIT plot-type.\",\"type\":\"standalone\"},{\"name\":\"effect\",\"followsDelimiter\":\"/\",\"description\":\"You can specify the response variable as the effect for polytomous response models. Use this option to modify SLICEFIT and INTERACTION plot-types. If you specify a continuous variable as the effect, then you can either specify a numeric-list of values at which to display that variable or, by default, five equally spaced values from the minimum variable value to its maximum are displayed.\",\"help\":\"effect&lt;=numeric-list&gt;\",\"type\":\"value\"}]},{\"name\":\"SMOOTH\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Overlays a loess smooth on the FIT plot-type for models that have only one continuous predictor. This option is not available for binary or polytomous response models.\",\"type\":\"standalone\"},{\"name\":\"UNPACK\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Suppresses paneling. By default, multiple plots can appear in some output panels. Specify UNPACK to display each plot separately.]\",\"type\":\"standalone\"},{\"name\":\"X=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies values to display on the X axis. For BOX and INTERACTION plot-types, effect can be a CLASS effect in the MODEL statement. For FIT, SLICEFIT, and CONTOUR plot-types, effect can be any continuous variable in the model.\",\"help\":\"X=*effect*\",\"type\":\"value\"},{\"name\":\"Y=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies values to display on the Y axis for the CONTOUR plot-type. The Y= argument can be any continuous variable in the model.\",\"help\":\"Y=*args*\",\"type\":\"value\"},{\"name\":\"YRANGE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays the predicted values on the Y axis in the range [min,max]. By default, when the Y axis displays predicted probabilities, the entire Y axis, [0,1], is displayed. This option is useful if your predicted probabilities are all contained in some subset of this range. This option is not available with the CONTOUR plot-type.\",\"help\":\"YRANGE=CLIP | &lt;(&lt;min&gt;&lt;,max&gt;)&gt;\",\"type\":\"choice\",\"arguments\":[{\"name\":\"CLIP\",\"followsDelimiter\":\"/\",\"description\":\"Has the same effect as specifying the minimum predicted value as min and the maximum predicted value as max.\",\"type\":\"standalone\"},{\"name\":\"<(<min><,max>)>\",\"followsDelimiter\":\"/\",\"description\":\"Replace min and max with actual values.\",\"type\":\"standalone\"}]}]},{\"name\":\"ESTIMATE\",\"description\":\"The ESTIMATE statement provides a mechanism for obtaining custom hypothesis tests. Estimates are formed as linear estimable functions of the form Lβ. You can perform hypothesis tests for the estimable functions, construct confidence limits, and obtain specific nonlinear transformations. The basic element of the ESTIMATE statement is the estimate-specification, which consists of model effects and their coefficients. A estimate-specification takes the general form effect name <effect values ...> The following variables can appear in the ESTIMATE statement: label is an optional label that identifies the particular row of the estimate in the output. effect identifies an effect that appears in the MODEL statement. The keyword INTERCEPT can be used as an effect when an intercept is fitted in the model. You do not need to include all effects that are in the MODEL statement. values are constants that are elements of the L matrix and are associated with the fixed and random effects.\",\"help\":\"ESTIMATE &lt;ADJDFE=&lt;SOURCE | ROW&gt;&gt;&lt;ADJUST=&lt;BON | SCHEFFE | SIDAK&gt;... &gt;&lt;ALPHA=number&gt; ...\",\"arguments\":[{\"name\":\"ADJDFE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies how denominator degrees of freedom are determined when p-values and confidence limits are adjusted for multiple comparisons with the ADJUST= option.\",\"help\":\"ADJDFE=SOURCE | ROW\",\"type\":\"choice\",\"arguments\":[{\"name\":\"SOURCE\",\"followsDelimiter\":\"/\",\"description\":\"The denominator degrees of freedom for multiplicity-adjusted results are the denominator degrees of freedom for the final effect listed in the ESTIMATE statement from the 'Type III' table.\",\"type\":\"standalone\"},{\"name\":\"ROW\",\"followsDelimiter\":\"/\",\"description\":\"Useful if you want multiplicity adjustments to take into account that denominator degrees of freedom are not constant across estimates.\",\"type\":\"standalone\"}]},{\"name\":\"ADJUST=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests a multiple comparison adjustment for the p-values and confidence limits for the estimates.\",\"help\":\"ADJUST=BON | SCHEFFE | SIDAK | SIMULATE&lt;(simoptions)&gt; | T\",\"type\":\"choice\",\"arguments\":[{\"name\":\"BON\",\"followsDelimiter\":\"/\",\"description\":\"Bonferroni adjustment\",\"type\":\"standalone\"},{\"name\":\"SCHEFFE\",\"followsDelimiter\":\"/\",\"description\":\"Scheffe's adjustment\",\"type\":\"standalone\"},{\"name\":\"SIDAK\",\"followsDelimiter\":\"/\",\"description\":\"Sidak adjustment\",\"type\":\"standalone\"},{\"name\":\"SIMULATE\",\"followsDelimiter\":\"/\",\"description\":\"Computes adjusted p-values and confidence limits from the simulated distribution of the maximum or maximum absolute value of a multivariate t random vector.\",\"help\":\"SIMULATE&lt;(simoptions)&gt;\",\"type\":\"standalone\"},{\"name\":\"T\",\"followsDelimiter\":\"/\",\"description\":\"The default, which really signifies no adjustment for multiple comparisons.\",\"type\":\"standalone\"}]},{\"name\":\"ALPHA=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that a t-type confidence interval be constructed with confidence level 1-number. The value of number must be between 0 and 1; the default is 0.05.\",\"help\":\"ALPHA=*number*\",\"type\":\"value\"},{\"name\":\"CATEGORY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies how to construct estimates and multiplicity corrections for models with multinomial data (ordinal or nominal). This option is also important for constructing sets of estimable functions for F or chi-square tests with the JOINT option.\",\"help\":\"CATEGORY=JOINT | SEPARATE | &lt;quoted-value-list&gt;\",\"type\":\"choice\",\"arguments\":[{\"name\":\"JOINT\",\"followsDelimiter\":\"/\",\"description\":\"Computes the estimable functions for every nonredundant category and treats them as a set. For example, a three-row ESTIMATE statement in a model with three response categories leads to six estimable functions.\",\"type\":\"standalone\"},{\"name\":\"SEPARATE\",\"followsDelimiter\":\"/\",\"description\":\"Computes the estimable functions for every nonredundant category in turn. For example, a three-row ESTIMATE statement in a model with three response categories leads to two sets of three estimable functions.\",\"type\":\"standalone\"},{\"name\":\"<quoted-value-list>\",\"followsDelimiter\":\"/\",\"description\":\"Computes the estimable functions only for the list of values given. The list must consist of formatted values of the response categories.\",\"type\":\"standalone\"}]},{\"name\":\"CHISQ\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that chi-square tests be performed in addition to F tests, when you request an F test with the JOINT option. This option has no effect in procedures that produce chi-square statistics by default.\",\"type\":\"standalone\"},{\"name\":\"CL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that t-type confidence limits be constructed. If the procedure shows the degrees of freedom in the \\\"Estimates\\\" table as infinite, then the confidence limits are z intervals. The confidence level is 0.95 by default, and you can change the confidence level with the ALPHA= option. The confidence intervals are adjusted for multiplicity when you specify the ADJUST= option. However, if a step-down p-value adjustment is requested with the STEPDOWN option, only the p-values are adjusted for multiplicity.\",\"type\":\"standalone\"},{\"name\":\"DF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the degrees of freedom for the t test and confidence limits. This option is not supported by the procedures that perform chi-square-based inference (LOGISTIC, PHREG, and SUVEYLOGISTIC).\",\"help\":\"DF=*number*\",\"type\":\"value\"},{\"name\":\"DIVISOR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies a list of values by which to divide the coefficients so that fractional coefficients can be entered as integer numerators. If you do not specify value-list, a default value of 1.0 is assumed. Missing values in the value-list are converted to 1.0. If the number of elements in value-list exceeds the number of rows of the estimate, the extra values are ignored. If the number of elements in value-list is less than the number of rows of the estimate, the last value in value-list is copied forward. If you specify a row-specific divisor as part of the specification of the estimate row, this value multiplies the corresponding divisor that is implied by the value-list. For example, the following statement divides the coefficients in the first row by 8, and the coefficients in the third and fourth row by 3: estimate 'One vs. two' A 2 -2 (divisor=2), 'One vs. three' A 1 0 -1 , 'One vs. four' A 3 0 0 -3 , 'One vs. five' A 1 0 0 0 -1 / divisor=4,.,3;\",\"help\":\"DIVISOR=*value-list*\",\"type\":\"value\"},{\"name\":\"E\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that the L matrix coefficients be displayed.\",\"type\":\"standalone\"},{\"name\":\"EXP\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests exponentiation of the estimate. When you model data with the logit, cumulative logit, or generalized logit link functions, and the estimate represents a log odds ratio or log cumulative odds ratio, the EXP option produces an odds ratio. In proportional hazards model, this option produces estimates of hazard ratios. If you specify the CL or ALPHA= option, the (adjusted) confidence bounds are also exponentiated.\",\"type\":\"standalone\"},{\"name\":\"ILINK\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that the estimate and its standard error are also reported on the scale of the mean (the inverse linked scale).\",\"type\":\"standalone\"},{\"name\":\"JOINT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that a joint F or chi-square test be produced for the rows of the estimate. The JOINT option in the ESTIMATE statement essentially replaces the CONTRAST statement. When the LOWERTAILED or the UPPERTAILED options are in effect, or if the BOUNDS option described below is in effect, the JOINT option produces the chi-bar-square statistic according to Silvapulle and Sen (2004). This statistic uses a simulation-based approach to compute p-values in situations where the alternative hypotheses of the estimable functions are not simple two-sided hypotheses. You can specify the following joint-test-options in parentheses: ACC=γ specifies the accuracy radius for determining the necessary sample size in the simulation-based approach of Silvapulle and Sen (2004) for tests with order restrictions. The value of γ must be strictly between 0 and 1; the default value is 0.005. EPS=є specifies the accuracy confidence level for determining the necessary sample size in the simulation-based approach of Silvapulle and Sen (2004) for tests with order restrictions. The value of є must be strictly between 0 and 1; the default value is 0.01. LABEL='label' assigns an identifying label to the joint test. If you do not specify a label, the first non-default label for the ESTIMATE rows is used to label the joint test. NOEST | ONLY performs only the F or chi-square test and suppresses other results from the ESTIMATE statement. This option is useful for emulating the CONTRAST statement that is available in other procedures. NSAMP=n specifies the number of samples for the simulation-based method of Silvapulle and Sen (2004). CHISQ -- adds a chi-square test if the procedure produces an F test by default.\",\"help\":\"JOINT=ACC= | EPS= | LABEL= | NOEST | ONLY | NSAMP= | CHISQ | BOUNDS=\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ACC=\",\"type\":\"value\"},{\"name\":\"EPS=\",\"type\":\"value\"},{\"name\":\"LABEL=\",\"type\":\"value\"},{\"name\":\"NOEST\",\"type\":\"standalone\"},{\"name\":\"ONLY\",\"type\":\"standalone\"},{\"name\":\"NSAMP=\",\"type\":\"value\"},{\"name\":\"CHISQ\",\"type\":\"standalone\"},{\"name\":\"BOUNDS=\",\"type\":\"value\"}]},{\"name\":\"LOWER\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"LOWERTAILED\"],\"description\":\"Requests that the p-value for the t test be based only on values less than the test statistic. A two-tailed test is the default. A lower-tailed confidence limit is also produced if you specify the CL or ALPHA= option.\",\"type\":\"standalone\"},{\"name\":\"NOFILL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Suppresses the automatic fill-in of coefficients of higher-order effects.\",\"type\":\"standalone\"},{\"name\":\"PLOTS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Produces ODS statistical graphics of the distribution of estimable functions if the procedure performs the analysis in a sampling-based mode.\",\"help\":\"PLOTS=ALL | BOXPLOT | DISTPLOT | NONE*plot-options*\",\"type\":\"value\",\"arguments\":[{\"name\":\"ALL\",\"followsDelimiter\":\"/\",\"description\":\"Produces all possible plots with their default settings.\",\"type\":\"standalone\"},{\"name\":\"BOXPLOT\",\"followsDelimiter\":\"/\",\"description\":\"Syntax: BOXPLOT<(boxplot-options)> Produces box plots of the distribution of the estimable function across the posterior sample. A separate box is generated for each estimable function, and all boxes appear on a single graph by default. You can affect the appearance of the box plot graph with the following options: ORIENTATION=VERTICAL|HORIZONTAL ORIENT=VERT|HORIZ specifies the orientation of the boxes. The default is vertical orientation of the box plots. NPANELPOS=number specifies how to break the series of box plots across multiple panels. If the NPANELPOS option is not specified, or if number equals zero, then all box plots are displayed in a single graph; this is the default.\",\"type\":\"standalone\"},{\"name\":\"DISTPLOT\",\"followsDelimiter\":\"/\",\"aliases\":[\"DIST\"],\"description\":\"Syntax: DISTPLOT<(distplot-options)> Generates panels of histograms with a kernel density overlaid. A separate plot in each panel contains the results for each estimable function. You can specify the following distplot-options in parentheses: BOX|NOBOX controls the display of a horizontal box plot of the estimable function’s distribution across the posterior sample below the graph. The BOX option is enabled by default. HIST|NOHIST controls the display of the histogram of the estimable function’s distribution across the posterior sample. The HIST option is enabled by default. NORMAL|NONORMAL controls the display of a normal density estimate on the graph. The NONORMAL option is enabled by default. KERNEL|NOKERNEL controls the display of a kernel density estimate on the graph. The KERNEL option is enabled by default. NROWS=number specifies the highest number of rows in a panel. The default is 3. NCOLS=number specifies the highest number of columns in a panel. The default is 3. UNPACK unpacks the panel into separate graphics.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"followsDelimiter\":\"/\",\"description\":\"Does not produce any plots.\",\"type\":\"standalone\"}]},{\"name\":\"SEED=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the seed for the sampling-based components of the computations for the ESTIMATE statement (for example, chi-bar-square statistics and simulated p-values). number specifies an integer that is used to start the pseudo-random number generator for the simulation. If you do not specify a seed, or if you specify a value less than or equal to zero, the seed is generated from reading the time of day from the computer clock. There could be multiple ESTIMATE statements with SEED= specifications and there could be other statements that can supply a random number seed. Since the procedure has only one random number stream, the initial seed is shown in the SAS log.\",\"help\":\"SEED=*number*\",\"type\":\"value\"},{\"name\":\"SINGULAR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Tunes the estimability checking. The value for number must be between 0 and 1; the default is 1E-4.\",\"help\":\"SINGULAR=*number*\",\"type\":\"value\"},{\"name\":\"STEPDOWN\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that multiplicity adjustments for the p-values of estimates be further adjusted in a step-down fashion. Step-down methods increase the power of multiple testing procedures by taking advantage of the fact that a p-value is never declared significant unless all smaller p-values are also declared significant. You can specify the following step-down-options in parentheses after the STEPDOWN option: MAXTIME=n specifies the time (in seconds) to be spent computing the maximal logically consistent sequential subsets of equality hypotheses for TYPE=LOGICAL. The default is MAXTIME=60. ORDER=PVALUE | ORDER=ROWS specifies the order in which the step-down tests to be performed. ORDER=PVALUE is the default, with estimates being declared significant only if all estimates with smaller (unadjusted) p-values are significant. If you specify ORDER=ROWS, then significances are evaluated in the order in which they are specified in the syntax. REPORT specifies that a report on the step-down adjustment be displayed, including a listing of the sequential subsets (Westfall 1997) and, for ADJUST=SIMULATE, the step-down simulation results.\",\"type\":\"standalone\"},{\"name\":\"TESTVALUE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"TESTMEAN=\"],\"description\":\"Specifies the value under the null hypothesis for testing the estimable functions in the ESTIMATE statement. The rules for specifying the value-list are very similar to those for specifying the divisor list in the DIVISOR= option. If no TESTVALUE= is specified, all tests are performed as H: Lβ=0. Missing values in the value-list also are translated to zeros. If you specify fewer values than rows in the ESTIMATE statement, the last value in value-list is carried forward. The TESTVALUE= option affects only p-values from individual, joint, and multiplicity-adjusted tests. It does not affect confidence intervals.\",\"help\":\"TESTVALUE=*value-list*\",\"type\":\"value\"},{\"name\":\"UPPER\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"UPPERTAILED\"],\"description\":\"Requests that the p-value for the t test be based only on values greater than the test statistic. A two-tailed test is the default. An upper-tailed confidence limit is also produced if you specify the CL or ALPHA= option.\",\"type\":\"standalone\"}]},{\"name\":\"FILTER\",\"description\":\"The FILTER statement enables you to filter the results of the PLM procedure, specifically the contents of ODS tables and the output data sets. There can be at most one FILTER statement per PROC PLM run, and the filter is applied to all BY groups and to all queries generated through WHERE expressions. A filter expression follows the same pattern as a where-expression in the WHERE statement. The expressions consist of operands and operators.\",\"help\":\"FILTER &lt;Prob&gt;&lt;ProbChi&gt;&lt;ProbF&gt; ...\",\"arguments\":[{\"name\":\"AdjLower\",\"optional\":true,\"description\":\"The adjusted lower confidence limit displayed in ODS tables\",\"type\":\"standalone\"},{\"name\":\"AdjLowerMu\",\"optional\":true,\"description\":\"The adjusted lower confidence limit for the mean displayed in ODS tables\",\"type\":\"standalone\"},{\"name\":\"AdjP\",\"optional\":true,\"description\":\"Adjusted p-values]\",\"type\":\"standalone\"},{\"name\":\"AdjUpper\",\"optional\":true,\"description\":\"The adjusted upper confidence limit displayed in ODS tables\",\"type\":\"standalone\"},{\"name\":\"AdjUpperMu\",\"optional\":true,\"description\":\"The adjusted upper confidence limit for the mean displayed in ODS tables\",\"type\":\"standalone\"},{\"name\":\"Chisq\",\"optional\":true,\"description\":\"The value of the chi-square statistic\",\"type\":\"standalone\"},{\"name\":\"Estimate\",\"optional\":true,\"description\":\"Results displayed in \\\"Estimates\\\" column of ODS tables\",\"type\":\"standalone\"},{\"name\":\"FValue\",\"optional\":true,\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"Lower\",\"optional\":true,\"description\":\"The lower confidence limit displayed in ODS tables\",\"type\":\"standalone\"},{\"name\":\"LowerMu\",\"optional\":true,\"description\":\"The lower confidence limit for the mean displayed in ODS tables\",\"type\":\"standalone\"},{\"name\":\"Mu\",\"optional\":true,\"description\":\"Results displayed in the \\\"Mean\\\" column of ODS tables (this column is typically produced by the ILINK option)\",\"type\":\"standalone\"},{\"name\":\"Pred\",\"optional\":true,\"description\":\"Predicted values in SCORE output data sets\",\"type\":\"standalone\"},{\"name\":\"Prob\",\"optional\":true,\"description\":\"Regular (unadjusted) p-values from t, F, or chi-square tests\",\"type\":\"standalone\"},{\"name\":\"ProbChi\",\"optional\":true,\"description\":\"Regular (unadjusted) p-values from chi-square tests\",\"type\":\"standalone\"},{\"name\":\"ProbF\",\"optional\":true,\"description\":\"Regular (unadjusted) p-values from F tests\",\"type\":\"standalone\"},{\"name\":\"ProbT\",\"optional\":true,\"description\":\"Regular (unadjusted) p-values from t tests\",\"type\":\"standalone\"},{\"name\":\"Resid\",\"optional\":true,\"description\":\"Residuals in SCORE output data sets.\",\"type\":\"standalone\"},{\"name\":\"Std\",\"optional\":true,\"description\":\"Standard errors in ODS tables and in SCORE results\",\"type\":\"standalone\"},{\"name\":\"Upper\",\"optional\":true,\"description\":\"The upper confidence limit displayed in ODS tables\",\"type\":\"standalone\"},{\"name\":\"UpperMu\",\"optional\":true,\"description\":\"The upper confidence limit for the mean displayed in ODS tables\",\"type\":\"standalone\"},{\"name\":\"tValue\",\"optional\":true,\"description\":\"The value of the usual t statistic\",\"type\":\"standalone\"},{\"name\":\"testStat\",\"optional\":true,\"description\":\"The value of the test statistic (a generic keyword for the 'tValue', 'FValue', and 'Chisq' tokens)\",\"type\":\"standalone\"}]},{\"name\":\"LSMEANS\",\"description\":\"The LSMEANS statement computes and compares least squares means (LS-means) of fixed effects. LS-means are predicted population margins—that is, they estimate the marginal means over a balanced population. In a sense, LS-means are to unbalanced designs as class and subclass arithmetic means are to balanced designs.\",\"help\":\"LSMEANS &lt;ADJDFE=&lt;SOURCE | ROW&gt;&gt;&lt;ADJUST=&lt;BON | DUNNETT | NELSON&gt;... &gt;&lt;ALPHA=number&gt; ...\",\"arguments\":[{\"name\":\"ADJDFE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies how denominator degrees of freedom are determined when p-values and confidence limits are adjusted for multiple comparisons with the ADJUST= option.\",\"help\":\"ADJDFE=SOURCE | ROW\",\"type\":\"choice\",\"arguments\":[{\"name\":\"SOURCE\",\"followsDelimiter\":\"/\",\"description\":\"The denominator degrees of freedom for multiplicity-adjusted results are the denominator degrees of freedom for the LS-mean effect in the \\\"Type III Tests of Fixed Effects\\\" table.\",\"type\":\"standalone\"},{\"name\":\"ROW\",\"followsDelimiter\":\"/\",\"description\":\"Useful if you want multiplicity adjustments to take into account that denominator degrees of freedom are not constant across LS-mean differences.\",\"type\":\"standalone\"}]},{\"name\":\"ADJUST=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests a multiple comparison adjustment for the p-values and confidence limits for the differences of LS-means.\",\"help\":\"ADJUST=BON | DUNNETT | NELSON | SCHEFFE | SIDAK | SIMULATE | SMM | TUKEY\",\"type\":\"choice\",\"arguments\":[{\"name\":\"BON\",\"followsDelimiter\":\"/\",\"description\":\"Bonferroni adjustment\",\"type\":\"standalone\"},{\"name\":\"DUNNETT\",\"followsDelimiter\":\"/\",\"description\":\"Dunnett adjustment (in which the procedure analyzes all differences with a control level)\",\"type\":\"standalone\"},{\"name\":\"NELSON\",\"followsDelimiter\":\"/\",\"description\":\"Nelson adjustment (in which ANOM differences are taken)\",\"type\":\"standalone\"},{\"name\":\"SCHEFFE\",\"followsDelimiter\":\"/\",\"description\":\"Scheffe's adjustment\",\"type\":\"standalone\"},{\"name\":\"SIDAK\",\"followsDelimiter\":\"/\",\"description\":\"Sidak adjustment\",\"type\":\"standalone\"},{\"name\":\"SIMULATE\",\"followsDelimiter\":\"/\",\"description\":\"Computes adjusted p-values and confidence limits from the simulated distribution of the maximum or maximum absolute value of a multivariate t random vector. Syntax: SIMULATE<(simoptions)> You can specify the following simoptions in parentheses after the ADJUST=SIMULATE option. ACC=value specifies the target accuracy radius γ of a 100(1-ε)% confidence interval for the true probability content of the estimated (1-α)th quantile. The default value is ACC=0.005. EPS=value specifies the value ε for a 100(1-ε)% confidence interval for the true probability content of the estimated (1-α)th quantile. The default value is ACC=0.005. NSAMP=n specifies the sample size for the simulation. SEED=number specifies an integer that is used to start the pseudo-random number generator for the simulation. THREADS specifies that the computational work for the simulation be divided into parallel threads, where the number of threads is the value of the SAS system option CPUCOUNT=. NOTHREADS specifies that the computational work for the simulation be performed in sequence rather than in parallel. NOTHREADS is the default. This option overrides the SAS system option THREADS|NOTHREADS.\",\"type\":\"standalone\"},{\"name\":\"SMM\",\"followsDelimiter\":\"/\",\"aliases\":[\"GT2\"],\"description\":\"SMM adjustment\",\"type\":\"standalone\"},{\"name\":\"TUKEY\",\"followsDelimiter\":\"/\",\"description\":\"If your data are unbalanced, PROC GLIMMIX uses the approximation described in Kramer (1956) and identifies the adjustment as \\\"Tukey-Kramer\\\" in the results.\",\"type\":\"standalone\"}]},{\"name\":\"ALPHA=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that a t-type confidence interval be constructed for each of the LS-means with confidence level (1-number)x100%. The value of number must be between 0 and 1; the default is 0.05.\",\"help\":\"ALPHA=*number*\",\"type\":\"value\"},{\"name\":\"AT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Modifies the values of the covariates that are used in computing LS-means. By default, all covariate effects are set equal to their mean values for computation of standard LS-means. The AT option enables you to assign arbitrary values to the covariates. Additional columns in the output table indicate the values of the covariates.\",\"help\":\"AT=MEANS\",\"type\":\"choice\",\"arguments\":[{\"name\":\"MEANS\",\"type\":\"standalone\"}]},{\"name\":\"BYLEVEL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that separate margins be computed for each level of the LSMEANS effect.\",\"type\":\"standalone\"},{\"name\":\"CL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that t-type confidence limits be constructed for each of the LS-means. The confidence level is 0.95 by default; this can be changed with the ALPHA= option.\",\"type\":\"standalone\"},{\"name\":\"CORR\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays the estimated correlation matrix of the least squares means as part of the \\\"Least Squares Means\\\" table.\",\"type\":\"standalone\"},{\"name\":\"COV\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays the estimated covariance matrix of the least squares means as part of the \\\"Least Squares Means\\\" table.\",\"type\":\"standalone\"},{\"name\":\"DF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the degrees of freedom for the t test and confidence limits. The default is the denominator degrees of freedom taken from the \\\"Type III Tests\\\" table that corresponds to the LS-means effect.\",\"help\":\"DF=*number*\",\"type\":\"value\"},{\"name\":\"DIFF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"PDIFF=\"],\"description\":\"Requests that differences of the LS-means be displayed.\",\"help\":\"DIFF=ALL | ANOM | CONTROL | CONTROLL | CONTROLU\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ALL\",\"followsDelimiter\":\"/\",\"description\":\"Requests all pairwise differences; this is the default.\",\"type\":\"standalone\"},{\"name\":\"ANOM\",\"followsDelimiter\":\"/\",\"description\":\"Requests differences between each LS-mean and the average LS-mean, as in the analysis of means (Ott 1967).\",\"type\":\"standalone\"},{\"name\":\"CONTROL\",\"followsDelimiter\":\"/\",\"description\":\"Requests the differences with a control, which, by default, is the first level of each of the specified LSMEANS effects.\",\"type\":\"standalone\"},{\"name\":\"CONTROLL\",\"followsDelimiter\":\"/\",\"description\":\"Tests whether the noncontrol levels are significantly smaller than the control; the upper confidence limits for the control minus the noncontrol levels are considered to be infinity and are displayed as missing.\",\"type\":\"standalone\"},{\"name\":\"CONTROLU\",\"followsDelimiter\":\"/\",\"description\":\"Tests whether the noncontrol levels are significantly larger than the control; the upper confidence limits for the noncontrol levels minus the control are considered to be infinity and are displayed as missing.\",\"type\":\"standalone\"}]},{\"name\":\"E\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that the L matrix coefficients for the LSMEANS effects be displayed.\",\"type\":\"standalone\"},{\"name\":\"EXP\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests exponentiation of the LS-means or LS-mean differences. When you model data with the logit, cumulative logit, or generalized logit link functions, and the estimate represents a log odds ratio or log cumulative odds ratio, the EXP option produces an odds ratio. In proportional hazards model, the exponentiation of the LS-mean differences produces estimates of hazard ratios. If you specify the CL or ALPHA= option, the (adjusted) confidence bounds are also exponentiated.\",\"type\":\"standalone\"},{\"name\":\"ILINK\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that estimates and their standard errors in the \\\"Least Squares Means\\\" table also be reported on the scale of the mean (the inverse linked scale).\",\"type\":\"standalone\"},{\"name\":\"LINES\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Presents results of comparisons between all pairs of least squares means by listing the means in descending order and indicating nonsignificant subsets by line segments beside the corresponding LS-means.\",\"type\":\"standalone\"},{\"name\":\"MEANS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies to produce the table of least squares means. This is the default.\",\"type\":\"standalone\"},{\"name\":\"NOMEANS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies not to produce the table of least squares means.\",\"type\":\"standalone\"},{\"name\":\"OBSMARGINS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"OM=\"],\"description\":\"Specifies a potentially different weighting scheme for the computation of LS-means coefficients. The standard LS-means have equal coefficients across classification effects; however, the OM option changes these coefficients to be proportional to those found in the OM-data-set. This adjustment is reasonable when you want your inferences to apply to a population that is not necessarily balanced but has the margins that are observed in OM-data-set.\",\"type\":\"value\"},{\"name\":\"ODDSRATIO\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"OR\"],\"description\":\"Requests that LS-mean differences (DIFF, ADJUST= options) are also reported in terms of odds ratios. The ODDSRATIO option is ignored unless you use either the logit, cumulative logit, or generalized logit link function. If you specify the CL or ALPHA= option, confidence intervals for the odds ratios are also computed. These intervals are adjusted for multiplicity when you specify the ADJUST= option.\",\"type\":\"standalone\"},{\"name\":\"PDIFF\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Is the same as the DIFF option.\",\"type\":\"standalone\"},{\"name\":\"PLOT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"PLOTS=\"],\"description\":\"Requests that least squares means related graphics are produced via ODS Graphics, provided that the ODS GRAPHICS statement has been specified and the plot request does not conflict with other options in the LSMEANS statement.\",\"help\":\"PLOT=ALL | ANOMPLOT | BOXPLOT | CONTROLPLOT | DIFFPLOT | DISTPLOT | MEANPLOT | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ALL\",\"followsDelimiter\":\"/\",\"description\":\"Requests that the default plots corresponding to this LSMEANS statement be produced.\",\"type\":\"standalone\"},{\"name\":\"ANOMPLOT\",\"followsDelimiter\":\"/\",\"aliases\":[\"ANOM\"],\"description\":\"Requests an analysis of means display in which least squares means are compared to an average least squares mean.\",\"type\":\"standalone\"},{\"name\":\"BOXPLOT\",\"followsDelimiter\":\"/\",\"description\":\"Syntax: BOXPLOT<boxplot-options>> Produces box plots of the distribution of the least squares mean or least squares mean differences across a posterior sample. For example, this plot is available in procedures that support a Bayesian analysis through the BAYES statement. A separate box is generated for each estimable function, and all boxes appear on a single graph by default. You can affect the appearance of the box plot graph with the following options: ORIENTATION=VERTICAL|HORIZONTAL ORIENT=VERT|HORIZ specifies the orientation of the boxes. The default is vertical orientation of the box plots. NPANELPOS=number specifies how to break the series of box plots across multiple panels. If the NPANELPOS option is not specified, or if number equals zero, then all box plots are displayed in a single graph; this is the default.\",\"type\":\"standalone\"},{\"name\":\"CONTROLPLOT\",\"followsDelimiter\":\"/\",\"aliases\":[\"CONTROL\"],\"description\":\"Requests a display in which least squares means are visually compared against a reference level.\",\"type\":\"standalone\"},{\"name\":\"DIFFPLOT\",\"followsDelimiter\":\"/\",\"aliases\":[\"DIFFOGRAM\",\"DIFF\"],\"description\":\"Requests a display of all pairwise least squares mean differences and their significance. Syntax: DIFFPLOT<(diffplot-options)> You can specify the following diffplot-options: ABS all line segments are shown on the same side of the reference line. NOABS separates comparisons according to the sign of the difference. CENTER marks the center point for each comparison. NOLINES suppresses the display of the line segments that represent the confidence bounds for the differences of the least squares means. The NOLINES option implies the CENTER option.\",\"type\":\"standalone\"},{\"name\":\"DISTPLOT\",\"followsDelimiter\":\"/\",\"aliases\":[\"DIST\"],\"description\":\"Syntax: DISTPLOT<distplot-options> Generates panels of histograms with a kernel density overlaid if the analysis has access to a set of posterior parameter estimates. You can sepcify the following distplot-options in parentheses: BOX|NOBOX controls the display of a horizontal box plot of the estimable function’s distribution across the posterior sample below the graph. The BOX option is enabled by default. HIST|NOHIST controls the display of the histogram of the estimable function’s distribution across the posterior sample. The HIST option is enabled by default. NORMAL|NONORMAL controls the display of a normal density estimate on the graph. The NONORMAL option is enabled by default. KERNEL|NOKERNEL controls the display of a kernel density estimate on the graph. The KERNEL option is enabled by default. NROWS=number specifies the highest number of rows in a panel. The default is 3. NCOLS=number specifies the highest number of columns in a panel. The default is 3. UNPACK unpacks the panel into separate graphics.\",\"type\":\"standalone\"},{\"name\":\"MEANPLOT\",\"followsDelimiter\":\"/\",\"description\":\"Syntax: MEANPLOT<(meanplot-options)> Requests displays of the least squares means. The following meanplot-options control the display of the least squares means: ASCENDING displays the least squares means in ascending order. This option has no effect if means are sliced or displayed in separate plots. CL displays upper and lower confidence limits for the least squares means. By default, 95% limits are drawn. CLBAND displays confidence limits as bands. This option implies the JOIN option. DESCENDING displays the least squares means in descending order. This option has no effect if means are sliced or displayed in separate plots. ILINK requests that means (and confidence limits) are displayed on the inverse linked scale. JOIN | CONNECT connects the least squares means with lines. This option is implied by the CLBAND option. SLICEBY=fixed-effect specifies an effect by which to group the means in a single plot. PLOTBY=fixed-effect specifies an effect by which to break interaction plots into separate displays.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"followsDelimiter\":\"/\",\"description\":\"Requests that no plots be produced.\",\"type\":\"standalone\"}]},{\"name\":\"SEED=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the seed for the sampling-based components of the computations for the LSMEANS statement (for example, chi-bar-square statistics and simulated p-values). number specifies an integer that is used to start the pseudo-random-number generator for the simulation. If you do not specify a seed, or if you specify a value less than or equal to zero, the seed is generated from reading the time of day from the computer clock.\",\"help\":\"SEED=*number*\",\"type\":\"value\"},{\"name\":\"SINGULAR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Tunes the estimability checking. The value for number must be between 0 and 1; the default is 1E-4.\",\"help\":\"SINGULAR=*number*\",\"type\":\"value\"},{\"name\":\"STEPDOWN=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that multiple comparison adjustments for the p-values of LS-mean differences be further adjusted in a step-down fashion. Step-down methods increase the power of multiple comparisons by taking advantage of the fact that a p-value is never declared significant unless all smaller p-values are also declared significant. You can specify the following step-down options in parentheses: MAXTIME=n specifies the time (in seconds) to spend computing the maximal logically consistent sequential subsets of equality hypotheses for TYPE=LOGICAL. REPORT specifies that a report on the step-down adjustment should be displayed, including a listing of the sequential subsets (Westfall 1997) and, for ADJUST=SIMULATE, the step-down simulation results.\",\"help\":\"STEPDOWN=MAXTIME= | REPORT | TYPE=\",\"type\":\"choice\",\"arguments\":[{\"name\":\"MAXTIME=\",\"type\":\"value\"},{\"name\":\"REPORT\",\"type\":\"standalone\"},{\"name\":\"TYPE=\",\"type\":\"value\"}]}]},{\"name\":\"LSMESTIMATE\",\"description\":\"The LSMESTIMATE statement provides a mechanism for obtaining custom hypothesis tests among least squares means.\",\"help\":\"LSMESTIMATE &lt;ADJDFE=&lt;SOURCE | ROW&gt;&gt;&lt;ADJUST=&lt;BON | SCHEFFE | SIDAK&gt;... &gt;&lt;ALPHA=number&gt; ...\",\"arguments\":[{\"name\":\"ADJDFE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies how denominator degrees of freedom are determined when p-values and confidence limits are adjusted for multiple comparisons with the ADJUST= option.\",\"help\":\"ADJDFE=SOURCE | ROW\",\"type\":\"choice\",\"arguments\":[{\"name\":\"SOURCE\",\"followsDelimiter\":\"/\",\"description\":\"The denominator degrees of freedom for multiplicity-adjusted results are the denominator degrees of freedom for the LS-mean effect in the \\\"Type III Tests of Fixed Effects\\\" table.\",\"type\":\"standalone\"},{\"name\":\"ROW\",\"followsDelimiter\":\"/\",\"description\":\"Useful if you want multiplicity adjustments to take into account that denominator degrees of freedom are not constant across estimates.\",\"type\":\"standalone\"}]},{\"name\":\"ADJUST=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests a multiple comparison adjustment for the p-values and confidence limits for the LS-mean estimates. The adjusted quantities are produced in addition to the unadjusted p-values and confidence limits. Adjusted confidence limits are produced if the CL or ALPHA= option is in effect.\",\"help\":\"ADJUST=BON | SCHEFFE | SIDAK | SIMULATE | T\",\"type\":\"choice\",\"arguments\":[{\"name\":\"BON\",\"followsDelimiter\":\"/\",\"description\":\"Bonferroni adjustment\",\"type\":\"standalone\"},{\"name\":\"SCHEFFE\",\"followsDelimiter\":\"/\",\"description\":\"Scheffe's adjustment\",\"type\":\"standalone\"},{\"name\":\"SIDAK\",\"followsDelimiter\":\"/\",\"description\":\"Sidak adjustment\",\"type\":\"standalone\"},{\"name\":\"SIMULATE\",\"followsDelimiter\":\"/\",\"description\":\"Computes adjusted p-values and confidence limits from the simulated distribution of the maximum or maximum absolute value of a multivariate t random vector. Syntax: SIMULATE<(simoptions)> You can specify the following simoptions in parentheses after the ADJUST=SIMULATE option. ACC=value specifies the target accuracy radius γ of a 100(1-ε)% confidence interval for the true probability content of the estimated (1-α)th quantile. The default value is ACC=0.005. EPS=value specifies the value ε for a 100(1-ε)% confidence interval for the true probability content of the estimated (1-α)th quantile. The default value is ACC=0.005. NSAMP=n specifies the sample size for the simulation. SEED=number specifies an integer that is used to start the pseudo-random number generator for the simulation. THREADS specifies that the computational work for the simulation be divided into parallel threads, where the number of threads is the value of the SAS system option CPUCOUNT=. NOTHREADS specifies that the computational work for the simulation be performed in sequence rather than in parallel. NOTHREADS is the default. This option overrides the SAS system option THREADS|NOTHREADS.\",\"type\":\"standalone\"},{\"name\":\"T\",\"followsDelimiter\":\"/\",\"description\":\"The default, which really signifies no adjustment for multiple comparisons.\",\"type\":\"standalone\"}]},{\"name\":\"ALPHA=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that a t-type confidence interval be constructed for each of the LS-means with confidence level 1-number. The value of number must be between 0 and 1; the default is 0.05.\",\"help\":\"ALPHA=*number*\",\"type\":\"value\"},{\"name\":\"AT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Modifies the values of the covariates used in computing LS-means. By default, all covariate effects are set equal to their mean values for computation of standard LS-means. The AT option enables you to assign arbitrary values to the covariates. Additional columns in the output table indicate the values of the covariates.\",\"help\":\"AT=MEANS\",\"type\":\"choice\",\"arguments\":[{\"name\":\"MEANS\",\"type\":\"standalone\"}]},{\"name\":\"BYLEVEL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that the procedure compute separate margins for each level of the LSMEANS effect.\",\"type\":\"standalone\"},{\"name\":\"CATEGORY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies how to construct estimates and multiplicity corrections for models with multinomial data (ordinal or nominal). This option is also important for constructing sets of estimable functions for F tests with the JOINT option.\",\"help\":\"CATEGORY=JOINT | SEPARATE | &lt;quoted-value-list&gt;\",\"type\":\"choice\",\"arguments\":[{\"name\":\"JOINT\",\"followsDelimiter\":\"/\",\"description\":\"Computes the estimable functions for every nonredundant category and treats them as a set. For example, a three-row LSESTIMATE statement in a model with three response categories leads to six estimable functions.\",\"type\":\"standalone\"},{\"name\":\"SEPARATE\",\"followsDelimiter\":\"/\",\"description\":\"Computes the estimable functions for every nonredundant category in turn. For example, a three-row LSESTIMATE statement in a model with three response categories leads to two sets of three estimable functions.\",\"type\":\"standalone\"},{\"name\":\"<quoted-value-list>\",\"followsDelimiter\":\"/\",\"description\":\"Computes the estimable functions only for the list of values given. The list must consist of formatted values of the response categories.\",\"type\":\"standalone\"}]},{\"name\":\"CHISQ\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that chi-square tests be performed in addition to F tests, when you request an F test with the JOINT option. This option has no effect in procedures that produce chi-square statistics by default.\",\"type\":\"standalone\"},{\"name\":\"CL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that t-type confidence limits be constructed for each of the LS-means. The confidence level is 0.95 by default; this can be changed with the ALPHA= option.\",\"type\":\"standalone\"},{\"name\":\"CORR\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays the estimated correlation matrix of the linear combination of the least squares means.\",\"type\":\"standalone\"},{\"name\":\"COV\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays the estimated covariance matrix of the linear combination of the least squares means.\",\"type\":\"standalone\"},{\"name\":\"DF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the degrees of freedom for the t test and confidence limits.\",\"help\":\"DF=*number*\",\"type\":\"value\"},{\"name\":\"DIVISOR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies a list of values by which to divide the coefficients so that fractional coefficients can be entered as integer numerators. If you do not specify value-list, a default value of 1.0 is assumed. Missing values in the value-list are converted to 1.0.\",\"help\":\"DIVISOR=*value-list*\",\"type\":\"value\"},{\"name\":\"E\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that the L coefficients of the estimable function be displayed.\",\"type\":\"standalone\"},{\"name\":\"ELSM\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that the K matrix coefficients be displayed. These are the coefficients that apply to the LS-means. This option is useful to ensure that you assigned the coefficients correctly to the LS-means.\",\"type\":\"standalone\"},{\"name\":\"EXP\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests exponentiation of the least squares means estimate. When you model data with the logit link function and the estimate represents a log odds ratio, the EXP option produces an odds ratio. If you specify the CL or ALPHA= option, the (adjusted) confidence limits for the estimate are also exponentiated.\",\"type\":\"standalone\"},{\"name\":\"ILINK\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that the estimate and its standard error are also reported on the scale of the mean (the inverse linked scale).\",\"type\":\"standalone\"},{\"name\":\"JOINT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that a joint F or chi-square test be produced for the rows of the estimate. You can specify the following joint-test-options in parentheses: ACC=γ specifies the accuracy radius for determining the necessary sample size in the simulation-based approach of Silvapulle and Sen (2004) for tests with order restrictions. The value of γ must be strictly between 0 and 1; the default value is 0.005. EPS=є specifies the accuracy confidence level for determining the necessary sample size in the simulation-based approach of Silvapulle and Sen (2004) for tests with order restrictions. The value of є must be strictly between 0 and 1; the default value is 0.01. LABEL='label' assigns an identifying label to the joint test. If you do not specify a label, the first non-default label for the ESTIMATE rows is used to label the joint test. NOEST | ONLY performs only the F or chi-square test and suppresses other results from the ESTIMATE statement. This option is useful for emulating the CONTRAST statement that is available in other procedures. NSAMP=n specifies the number of samples for the simulation-based method of Silvapulle and Sen (2004). CHISQ -- adds a chi-square test if the procedure produces an F test by default.\",\"help\":\"JOINT=ACC= | EPS= | LABEL= | NOEST | ONLY | NSAMP= | CHISQ | BOUNDS=\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ACC=\",\"type\":\"value\"},{\"name\":\"EPS=\",\"type\":\"value\"},{\"name\":\"LABEL=\",\"type\":\"value\"},{\"name\":\"NOEST\",\"type\":\"standalone\"},{\"name\":\"ONLY\",\"type\":\"standalone\"},{\"name\":\"NSAMP=\",\"type\":\"value\"},{\"name\":\"CHISQ\",\"type\":\"standalone\"},{\"name\":\"BOUNDS=\",\"type\":\"value\"}]},{\"name\":\"LOWER\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"LOWERTAILED\"],\"description\":\"Requests that the p-value for the t test be based only on values less than the test statistic. A two-tailed test is the default. A lower-tailed confidence limit is also produced if you specify the CL or ALPHA= option.\",\"type\":\"standalone\"},{\"name\":\"OBSMARGINS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"OM=\"],\"description\":\"Specifies a potentially different weighting scheme for the computation of LS-means coefficients. The standard LS-means have equal coefficients across classification effects; however, the OM option changes these coefficients to be proportional to those found in the OM-data-set. This adjustment is reasonable when you want your inferences to apply to a population that is not necessarily balanced but has the margins observed in OM-data-set.\",\"type\":\"value\"},{\"name\":\"PLOTS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Produces ODS statistical graphics of the distribution of estimable functions if the procedure performs the analysis in a sampling-based mode.\",\"help\":\"PLOTS=ALL | BOXPLOT | DISTPLOT | NONE*plot-options*\",\"type\":\"value\",\"arguments\":[{\"name\":\"ALL\",\"followsDelimiter\":\"/\",\"description\":\"Requests that the default plots corresponding to this LSMEANS statement be produced.\",\"type\":\"standalone\"},{\"name\":\"BOXPLOT\",\"followsDelimiter\":\"/\",\"description\":\"Syntax: BOXPLOT<boxplot-options>> Produces box plots of the distribution of the least squares mean or least squares mean differences across a posterior sample. For example, this plot is available in procedures that support a Bayesian analysis through the BAYES statement. A separate box is generated for each estimable function, and all boxes appear on a single graph by default. You can affect the appearance of the box plot graph with the following options: ORIENTATION=VERTICAL|HORIZONTAL ORIENT=VERT|HORIZ specifies the orientation of the boxes. The default is vertical orientation of the box plots. NPANELPOS=number specifies how to break the series of box plots across multiple panels. If the NPANELPOS option is not specified, or if number equals zero, then all box plots are displayed in a single graph; this is the default.\",\"type\":\"standalone\"},{\"name\":\"DISTPLOT\",\"followsDelimiter\":\"/\",\"aliases\":[\"DIST\"],\"description\":\"Syntax: DISTPLOT<distplot-options> Generates panels of histograms with a kernel density overlaid if the analysis has access to a set of posterior parameter estimates. You can sepcify the following distplot-options in parentheses: BOX|NOBOX controls the display of a horizontal box plot of the estimable function’s distribution across the posterior sample below the graph. The BOX option is enabled by default. HIST|NOHIST controls the display of the histogram of the estimable function’s distribution across the posterior sample. The HIST option is enabled by default. NORMAL|NONORMAL controls the display of a normal density estimate on the graph. The NONORMAL option is enabled by default. KERNEL|NOKERNEL controls the display of a kernel density estimate on the graph. The KERNEL option is enabled by default. NROWS=number specifies the highest number of rows in a panel. The default is 3. NCOLS=number specifies the highest number of columns in a panel. The default is 3. UNPACK unpacks the panel into separate graphics.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"followsDelimiter\":\"/\",\"description\":\"Requests that no plots be produced.\",\"type\":\"standalone\"}]},{\"name\":\"SINGULAR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Tunes the estimability checking as documented for the ESTIMATE statement.\",\"help\":\"SINGULAR=*number*\",\"type\":\"value\"},{\"name\":\"STEPDOWN\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that multiplicity adjustments for the p-values of estimates be further adjusted in a step-down fashion. Step-down methods increase the power of multiple testing procedures by taking advantage of the fact that a p-value is never declared significant unless all smaller p-values are also declared significant. You can specify the following step-down-options in parentheses: MAXTIME=n specifies the time (in seconds) to spend computing the maximal logically consistent sequential subsets of equality hypotheses for TYPE=LOGICAL. The default is MAXTIME=60. ORDER=PVALUE ORDER=ROWS specifies the order in which the step-down tests are performed. ORDER=PVALUE is the default, with LS-mean estimates being declared significant only if all LS-mean estimates with smaller (unadjusted) p-values are significant. If you specify ORDER=ROWS, then significances are evaluated in the order in which they are specified. REPORT specifies that a report on the step-down adjustment be displayed, including a listing of the sequential subsets (Westfall 1997) and, for ADJUST=SIMULATE, the step-down simulation results.\",\"type\":\"standalone\"},{\"name\":\"TESTVALUE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"TESTMEAN=\"],\"description\":\"Specifies the value under the null hypothesis for testing the estimable functions in the LSMESTIMATE statement. The rules for specifying the value-list are very similar to those for specifying the divisor list in the DIVISOR= option. If no TESTVALUE= is specified, all tests are performed as H: Lβ=0. Missing values in the value-list also are translated to zeros. If you specify fewer values than rows in the ESTIMATE statement, the last value in value-list is carried forward. The TESTVALUE= option affects only p-values from individual, joint, and multiplicity-adjusted tests. It does not affect confidence intervals.\",\"help\":\"TESTVALUE=*value-list*\",\"type\":\"value\"},{\"name\":\"UPPER\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"UPPERTAILED\"],\"description\":\"Requests that the p-value for the t test be based only on values greater than the test statistic. A two-tailed test is the default. An upper-tailed confidence limit is also produced if you specify the CL or ALPHA= option.\",\"type\":\"standalone\"}]},{\"name\":\"SCORE\",\"description\":\"The SCORE statement applies the contents of the source item store to compute predicted values and other observation-wise statistics for a SAS data set.\",\"help\":\"SCORE DATA=SAS-data-set OUT=SAS-data-set PREDICTED= ...\",\"arguments\":[{\"name\":\"DATA=\",\"description\":\"Specifies the input data set for scoring. This option is required, and the data set is examined for congruity with the previously fitted (and stored) model.\",\"help\":\"DATA=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"LCL=\",\"description\":\"[Keyword for output statistics] Lower prediction limit for the linear predictor\",\"type\":\"value\"},{\"name\":\"LCLM=\",\"description\":\"[Keyword for output statistics] Lower confidence limit for the linear predictor\",\"type\":\"value\"},{\"name\":\"OUT=\",\"description\":\"Specifies the name of the output data set. If you do not specify an output data set with the OUT= option, the PLM procedure uses the DATAn convention to name the output data set.\",\"help\":\"OUT=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"PREDICTED=\",\"description\":\"[Keyword for output statistics] Linear predictor\",\"type\":\"value\"},{\"name\":\"RESIDUAL=\",\"description\":\"[Keyword for output statistics] Residual\",\"type\":\"value\"},{\"name\":\"STDERR=\",\"description\":\"[Keyword for output statistics] Standard deviation of linear predictor\",\"type\":\"value\"},{\"name\":\"UCL=\",\"description\":\"[Keyword for output statistics] Upper prediction limit for the linear predictor\",\"type\":\"value\"},{\"name\":\"UCLM=\",\"description\":\"[Keyword for output statistics] Upper confidence limit for the linear predictor\",\"type\":\"value\"},{\"name\":\"ALPHA=\",\"optional\":true,\"description\":\"Determines the coverage probability for two-sided confidence and prediction intervals. The coverage probability is computed as 1 - number. The value of number must be between 0 and 1; the default is 0.05.\",\"help\":\"ALPHA=*number*\",\"type\":\"value\"},{\"name\":\"DF=\",\"optional\":true,\"description\":\"Specifies the degrees of freedom to use in the construction of prediction and confidence limits.\",\"help\":\"DF=*number*\",\"type\":\"value\"},{\"name\":\"ILINK\",\"optional\":true,\"description\":\"Requests that predicted values be inversely linked to produce predictions on the data scale. By default, predictions are produced on the linear scale where covariate effects are additive.\",\"type\":\"standalone\"},{\"name\":\"NOUNIQUE\",\"optional\":true,\"description\":\"Requests that names not be made unique in the case of naming conflicts. By default, the PLM procedure avoids naming conflicts by assigning a unique name to each output variable. If you specify the NOUNIQUE option, variables with conflicting names are not renamed. In that case, the first variable added to the output data set takes precedence.\",\"type\":\"standalone\"},{\"name\":\"NOVAR\",\"optional\":true,\"description\":\"Requests that variables from the input data set not be added to the output data set.\",\"type\":\"standalone\"},{\"name\":\"OBSCAT\",\"optional\":true,\"description\":\"Requests that statistics in models for multinomial data be written to the output data set only for the response level that corresponds to the observed level of the observation.\",\"type\":\"standalone\"},{\"name\":\"SAMPLE\",\"optional\":true,\"description\":\"Requests that the sample of parameter estimates in the item store be used to form scoring statistics. This option is useful when the item store contains the results of a Bayesian analysis and a posterior sample of parameter estimates.\",\"type\":\"standalone\"}]},{\"name\":\"SHOW\",\"description\":\"The SHOW statement uses the Output Delivery System to display contents of the item store. This statement is useful for verifying that the contents of the item store apply to the analysis and for generating ODS tables.\",\"help\":\"SHOW &lt;ALL&gt;&lt;BYVAR&gt;&lt;CLASSLEVELS&gt; ...\",\"arguments\":[{\"name\":\"ALL\",\"optional\":true,\"aliases\":[\"_ALL\"],\"description\":\"Displays all applicable contents.\",\"type\":\"standalone\"},{\"name\":\"BYVAR\",\"optional\":true,\"aliases\":[\"BY\"],\"description\":\"Displays information about the BY variables in the source item store. If a BY statement was present when the item store was created, the PLM procedure performs the analysis separately for each BY group.\",\"type\":\"standalone\"},{\"name\":\"CLASSLEVELS\",\"optional\":true,\"aliases\":[\"CLASS\"],\"description\":\"Displays the \\\"Class Level Information\\\" table. This table is produced by the PLM procedure by default if the model contains effects that depend on classification variables.\",\"type\":\"standalone\"},{\"name\":\"CORRELATION\",\"optional\":true,\"aliases\":[\"CORR\",\"CORRB\"],\"description\":\"Produces the correlation matrix of the parameter estimates. If the source item store contains a posterior sample of parameter estimates, the computed matrix is the correlation matrix of the sample covariance matrix.\",\"type\":\"standalone\"},{\"name\":\"COVARIANCE\",\"optional\":true,\"aliases\":[\"COV\",\"COVB\"],\"description\":\"Produces the covariance matrix of the parameter estimates. If the source item store contains a posterior sample of parameter estimates, the PLM procedure computes the empirical sample covariance matrix from the posterior estimates. You can convert this matrix into a sample correlation matrix with the CORRELATION option in the SHOW statement.\",\"type\":\"standalone\"},{\"name\":\"EFFECTS\",\"optional\":true,\"description\":\"Displays information about the constructed effects in the model. Constructed effects are those that were created with the EFFECT statement in the procedure run that generated the source item store.\",\"type\":\"standalone\"},{\"name\":\"FITSTATS\",\"optional\":true,\"aliases\":[\"FIT\"],\"description\":\"Displays the fit statistics from the item store.\",\"type\":\"standalone\"},{\"name\":\"HERMITE\",\"optional\":true,\"aliases\":[\"HERM\"],\"description\":\"Generates the Hermite matrix H=(X'X)-(X'X). The PLM procedure chooses a reflexive, g2-inverse for the generalized inverse of the crossproduct matrix X'X.\",\"type\":\"standalone\"},{\"name\":\"HESSIAN\",\"optional\":true,\"aliases\":[\"HESS\"],\"description\":\"Displays the Hessian matrix.\",\"type\":\"standalone\"},{\"name\":\"PARAMETERS=\",\"optional\":true,\"aliases\":[\"PARMS=\"],\"description\":\"Displays the parameter estimates. The structure of the display depends on whether a posterior sample of parameter estimates is available in the source item store. If such a sample is present, up to the first 20 parameter vectors are shown in wide format. You can modify this number with the n argument.\",\"type\":\"value\"},{\"name\":\"PROGRAM=\",\"optional\":true,\"aliases\":[\"PROG\"],\"description\":\"Displays the SAS program that generated the item store, provided that this was stored at store generation time. The program does not include comments, titles, or some other global statements. The optional width parameter n determines the display width of the source code.\",\"help\":\"PROGRAM=WIDTH=\",\"type\":\"choice\",\"arguments\":[{\"name\":\"WIDTH=\",\"type\":\"value\"}]},{\"name\":\"XPXI\",\"optional\":true,\"description\":\"Displays the generalized inverse of the crossproduct matrix X'X. The PLM procedure obtains a reflexive g2-inverse by sweeping.\",\"type\":\"standalone\"},{\"name\":\"XPX\",\"optional\":true,\"aliases\":[\"CROSSPRODUCT\"],\"description\":\"Displays the crossproduct matrix X'X.\",\"type\":\"standalone\"}]},{\"name\":\"SLICE\",\"description\":\"The SLICE statement provides a general mechanism for performing a partitioned analysis of the LS-means for an interaction. This analysis is also known as an analysis of simple effects. The SLICE statement uses the same options as the LSMEANS statement.\",\"help\":\"SLICE &lt;ADJDFE=&lt;SOURCE | ROW&gt;&gt;&lt;ADJUST=&lt;BON | DUNNETT | NELSON&gt;... &gt;&lt;ALPHA=number&gt; ...\",\"arguments\":[{\"name\":\"ADJDFE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies how denominator degrees of freedom are determined when p-values and confidence limits are adjusted for multiple comparisons with the ADJUST= option.\",\"help\":\"ADJDFE=SOURCE | ROW\",\"type\":\"choice\",\"arguments\":[{\"name\":\"SOURCE\",\"followsDelimiter\":\"/\",\"description\":\"The denominator degrees of freedom for multiplicity-adjusted results are the denominator degrees of freedom for the LS-mean effect in the \\\"Type III Tests of Fixed Effects\\\" table.\",\"type\":\"standalone\"},{\"name\":\"ROW\",\"followsDelimiter\":\"/\",\"description\":\"Useful if you want multiplicity adjustments to take into account that denominator degrees of freedom are not constant across LS-mean differences.\",\"type\":\"standalone\"}]},{\"name\":\"ADJUST=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests a multiple comparison adjustment for the p-values and confidence limits for the differences of LS-means.\",\"help\":\"ADJUST=BON | DUNNETT | NELSON | SCHEFFE | SIDAK | SIMULATE | SMM | TUKEY\",\"type\":\"choice\",\"arguments\":[{\"name\":\"BON\",\"followsDelimiter\":\"/\",\"description\":\"Bonferroni adjustment\",\"type\":\"standalone\"},{\"name\":\"DUNNETT\",\"followsDelimiter\":\"/\",\"description\":\"Dunnett adjustment (in which the procedure analyzes all differences with a control level)\",\"type\":\"standalone\"},{\"name\":\"NELSON\",\"followsDelimiter\":\"/\",\"description\":\"Nelson adjustment (in which ANOM differences are taken)\",\"type\":\"standalone\"},{\"name\":\"SCHEFFE\",\"followsDelimiter\":\"/\",\"description\":\"Scheffe's adjustment\",\"type\":\"standalone\"},{\"name\":\"SIDAK\",\"followsDelimiter\":\"/\",\"description\":\"Sidak adjustment\",\"type\":\"standalone\"},{\"name\":\"SIMULATE\",\"followsDelimiter\":\"/\",\"description\":\"Computes adjusted p-values and confidence limits from the simulated distribution of the maximum or maximum absolute value of a multivariate t random vector. Syntax: SIMULATE<(simoptions)> You can specify the following simoptions in parentheses after the ADJUST=SIMULATE option. ACC=value specifies the target accuracy radius γ of a 100(1-ε)% confidence interval for the true probability content of the estimated (1-α)th quantile. The default value is ACC=0.005. EPS=value specifies the value ε for a 100(1-ε)% confidence interval for the true probability content of the estimated (1-α)th quantile. The default value is ACC=0.005. NSAMP=n specifies the sample size for the simulation. SEED=number specifies an integer that is used to start the pseudo-random number generator for the simulation. THREADS specifies that the computational work for the simulation be divided into parallel threads, where the number of threads is the value of the SAS system option CPUCOUNT=. NOTHREADS specifies that the computational work for the simulation be performed in sequence rather than in parallel. NOTHREADS is the default. This option overrides the SAS system option THREADS|NOTHREADS.\",\"type\":\"standalone\"},{\"name\":\"SMM\",\"followsDelimiter\":\"/\",\"aliases\":[\"GT2\"],\"description\":\"SMM adjustment\",\"type\":\"standalone\"},{\"name\":\"TUKEY\",\"followsDelimiter\":\"/\",\"description\":\"If your data are unbalanced, PROC GLIMMIX uses the approximation described in Kramer (1956) and identifies the adjustment as \\\"Tukey-Kramer\\\" in the results.\",\"type\":\"standalone\"}]},{\"name\":\"ALPHA=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that a t-type confidence interval be constructed for each of the LS-means with confidence level (1-number)x100%. The value of number must be between 0 and 1; the default is 0.05.\",\"help\":\"ALPHA=*number*\",\"type\":\"value\"},{\"name\":\"AT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Modifies the values of the covariates that are used in computing LS-means. By default, all covariate effects are set equal to their mean values for computation of standard LS-means. The AT option enables you to assign arbitrary values to the covariates. Additional columns in the output table indicate the values of the covariates.\",\"help\":\"AT=MEANS\",\"type\":\"choice\",\"arguments\":[{\"name\":\"MEANS\",\"type\":\"standalone\"}]},{\"name\":\"BYLEVEL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that separate margins be computed for each level of the SLICE model-effect.\",\"type\":\"standalone\"},{\"name\":\"CL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that t-type confidence limits be constructed for each of the LS-means. The confidence level is 0.95 by default; this can be changed with the ALPHA= option.\",\"type\":\"standalone\"},{\"name\":\"CORR\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays the estimated correlation matrix of the least squares means as part of the \\\"Least Squares Means\\\" table.\",\"type\":\"standalone\"},{\"name\":\"COV\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays the estimated covariance matrix of the least squares means as part of the \\\"Least Squares Means\\\" table.\",\"type\":\"standalone\"},{\"name\":\"DF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the degrees of freedom for the t test and confidence limits. The default is the denominator degrees of freedom taken from the \\\"Type III Tests\\\" table that corresponds to the LS-means effect.\",\"help\":\"DF=*number*\",\"type\":\"value\"},{\"name\":\"DIFF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"PDIFF=\"],\"description\":\"Requests that differences of the LS-means be displayed.\",\"help\":\"DIFF=ALL | ANOM | CONTROL | CONTROLL | CONTROLU\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ALL\",\"followsDelimiter\":\"/\",\"description\":\"Requests all pairwise differences; this is the default.\",\"type\":\"standalone\"},{\"name\":\"ANOM\",\"followsDelimiter\":\"/\",\"description\":\"Requests differences between each LS-mean and the average LS-mean, as in the analysis of means (Ott 1967).\",\"type\":\"standalone\"},{\"name\":\"CONTROL\",\"followsDelimiter\":\"/\",\"description\":\"Requests the differences with a control, which, by default, is the first level of each of the specified SLICE effects.\",\"type\":\"standalone\"},{\"name\":\"CONTROLL\",\"followsDelimiter\":\"/\",\"description\":\"Tests whether the noncontrol levels are significantly smaller than the control; the upper confidence limits for the control minus the noncontrol levels are considered to be infinity and are displayed as missing.\",\"type\":\"standalone\"},{\"name\":\"CONTROLU\",\"followsDelimiter\":\"/\",\"description\":\"Tests whether the noncontrol levels are significantly larger than the control; the upper confidence limits for the noncontrol levels minus the control are considered to be infinity and are displayed as missing.\",\"type\":\"standalone\"}]},{\"name\":\"E\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that the L matrix coefficients for the SLICE effects be displayed.\",\"type\":\"standalone\"},{\"name\":\"EXP\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests exponentiation of the LS-means or LS-mean differences. When you model data with the logit, cumulative logit, or generalized logit link functions, and the estimate represents a log odds ratio or log cumulative odds ratio, the EXP option produces an odds ratio. In proportional hazards model, the exponentiation of the LS-mean differences produces estimates of hazard ratios. If you specify the CL or ALPHA= option, the (adjusted) confidence bounds are also exponentiated.\",\"type\":\"standalone\"},{\"name\":\"ILINK\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that estimates and their standard errors in the \\\"Least Squares Means\\\" table also be reported on the scale of the mean (the inverse linked scale).\",\"type\":\"standalone\"},{\"name\":\"LINES\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Presents results of comparisons between all pairs of least squares means by listing the means in descending order and indicating nonsignificant subsets by line segments beside the corresponding LS-means.\",\"type\":\"standalone\"},{\"name\":\"MEANS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies to produce the table of least squares means.\",\"type\":\"standalone\"},{\"name\":\"NOF\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Suppresses the F test for testing the mutual equality of the estimable functions in the partition.\",\"type\":\"standalone\"},{\"name\":\"NOMEANS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies not to produce the table of least squares means. This is the default.\",\"type\":\"standalone\"},{\"name\":\"OBSMARGINS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"OM=\"],\"description\":\"Specifies a potentially different weighting scheme for the computation of LS-means coefficients. The standard LS-means have equal coefficients across classification effects; however, the OM option changes these coefficients to be proportional to those found in the OM-data-set. This adjustment is reasonable when you want your inferences to apply to a population that is not necessarily balanced but has the margins that are observed in OM-data-set.\",\"type\":\"value\"},{\"name\":\"ODDSRATIO\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"OR\"],\"description\":\"Requests that LS-mean differences (DIFF, ADJUST= options) are also reported in terms of odds ratios. The ODDSRATIO option is ignored unless you use either the logit, cumulative logit, or generalized logit link function. If you specify the CL or ALPHA= option, confidence intervals for the odds ratios are also computed. These intervals are adjusted for multiplicity when you specify the ADJUST= option.\",\"type\":\"standalone\"},{\"name\":\"PDIFF\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Is the same as the DIFF option.\",\"type\":\"standalone\"},{\"name\":\"PLOT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"PLOTS=\"],\"description\":\"Requests that least squares means related graphics are produced via ODS Graphics, provided that the ODS GRAPHICS statement has been specified and the plot request does not conflict with other options in the SLICE statement.\",\"help\":\"PLOT=ALL | ANOMPLOT | BOXPLOT | CONTROLPLOT | DIFFPLOT | DISTPLOT | MEANPLOT | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ALL\",\"followsDelimiter\":\"/\",\"description\":\"Requests that the default plots corresponding to this SLICE statement be produced.\",\"type\":\"standalone\"},{\"name\":\"ANOMPLOT\",\"followsDelimiter\":\"/\",\"aliases\":[\"ANOM\"],\"description\":\"Requests an analysis of means display in which least squares means are compared to an average least squares mean.\",\"type\":\"standalone\"},{\"name\":\"BOXPLOT\",\"followsDelimiter\":\"/\",\"description\":\"Syntax: BOXPLOT<boxplot-options>> Produces box plots of the distribution of the least squares mean or least squares mean differences across a posterior sample. For example, this plot is available in procedures that support a Bayesian analysis through the BAYES statement. A separate box is generated for each estimable function, and all boxes appear on a single graph by default. You can affect the appearance of the box plot graph with the following options: ORIENTATION=VERTICAL|HORIZONTAL ORIENT=VERT|HORIZ specifies the orientation of the boxes. The default is vertical orientation of the box plots. NPANELPOS=number specifies how to break the series of box plots across multiple panels. If the NPANELPOS option is not specified, or if number equals zero, then all box plots are displayed in a single graph; this is the default.\",\"type\":\"standalone\"},{\"name\":\"CONTROLPLOT\",\"followsDelimiter\":\"/\",\"aliases\":[\"CONTROL\"],\"description\":\"Requests a display in which least squares means are visually compared against a reference level.\",\"type\":\"standalone\"},{\"name\":\"DIFFPLOT\",\"followsDelimiter\":\"/\",\"aliases\":[\"DIFFOGRAM\",\"DIFF\"],\"description\":\"Requests a display of all pairwise least squares mean differences and their significance. Syntax: DIFFPLOT<(diffplot-options)> You can specify the following diffplot-options: ABS all line segments are shown on the same side of the reference line. NOABS separates comparisons according to the sign of the difference. CENTER marks the center point for each comparison. NOLINES suppresses the display of the line segments that represent the confidence bounds for the differences of the least squares means. The NOLINES option implies the CENTER option.\",\"type\":\"standalone\"},{\"name\":\"DISTPLOT\",\"followsDelimiter\":\"/\",\"aliases\":[\"DIST\"],\"description\":\"Syntax: DISTPLOT<distplot-options> Generates panels of histograms with a kernel density overlaid if the analysis has access to a set of posterior parameter estimates. You can sepcify the following distplot-options in parentheses: BOX|NOBOX controls the display of a horizontal box plot of the estimable function’s distribution across the posterior sample below the graph. The BOX option is enabled by default. HIST|NOHIST controls the display of the histogram of the estimable function’s distribution across the posterior sample. The HIST option is enabled by default. NORMAL|NONORMAL controls the display of a normal density estimate on the graph. The NONORMAL option is enabled by default. KERNEL|NOKERNEL controls the display of a kernel density estimate on the graph. The KERNEL option is enabled by default. NROWS=number specifies the highest number of rows in a panel. The default is 3. NCOLS=number specifies the highest number of columns in a panel. The default is 3. UNPACK unpacks the panel into separate graphics.\",\"type\":\"standalone\"},{\"name\":\"MEANPLOT\",\"followsDelimiter\":\"/\",\"description\":\"Syntax: MEANPLOT<(meanplot-options)> Requests displays of the least squares means. The following meanplot-options control the display of the least squares means: ASCENDING displays the least squares means in ascending order. This option has no effect if means are sliced or displayed in separate plots. CL displays upper and lower confidence limits for the least squares means. By default, 95% limits are drawn. CLBAND displays confidence limits as bands. This option implies the JOIN option. DESCENDING displays the least squares means in descending order. This option has no effect if means are sliced or displayed in separate plots. ILINK requests that means (and confidence limits) are displayed on the inverse linked scale. JOIN | CONNECT connects the least squares means with lines. This option is implied by the CLBAND option. SLICEBY=fixed-effect specifies an effect by which to group the means in a single plot. PLOTBY=fixed-effect specifies an effect by which to break interaction plots into separate displays.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"followsDelimiter\":\"/\",\"description\":\"Requests that no plots be produced.\",\"type\":\"standalone\"}]},{\"name\":\"SEED=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the seed for the sampling-based components of the computations for the SLICE statement (for example, chi-bar-square statistics and simulated p-values). number specifies an integer that is used to start the pseudo-random-number generator for the simulation. If you do not specify a seed, or if you specify a value less than or equal to zero, the seed is generated from reading the time of day from the computer clock.\",\"help\":\"SEED=*number*\",\"type\":\"value\"},{\"name\":\"SINGULAR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Tunes the estimability checking. The value for number must be between 0 and 1; the default is 1E-4.\",\"help\":\"SINGULAR=*number*\",\"type\":\"value\"},{\"name\":\"SLICEBY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"\",\"type\":\"value\"},{\"name\":\"STEPDOWN=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that multiple comparison adjustments for the p-values of LS-mean differences be further adjusted in a step-down fashion. Step-down methods increase the power of multiple comparisons by taking advantage of the fact that a p-value is never declared significant unless all smaller p-values are also declared significant. You can specify the following step-down options in parentheses: MAXTIME=n specifies the time (in seconds) to spend computing the maximal logically consistent sequential subsets of equality hypotheses for TYPE=LOGICAL. REPORT specifies that a report on the step-down adjustment should be displayed, including a listing of the sequential subsets (Westfall 1997) and, for ADJUST=SIMULATE, the step-down simulation results.\",\"help\":\"STEPDOWN=MAXTIME= | REPORT | TYPE=\",\"type\":\"choice\",\"arguments\":[{\"name\":\"MAXTIME=\",\"type\":\"value\"},{\"name\":\"REPORT\",\"type\":\"standalone\"},{\"name\":\"TYPE=\",\"type\":\"value\"}]}]},{\"name\":\"TEST\",\"description\":\"The TEST statement enables you to perform F tests for model effects that test Type I, II, or Type III hypotheses.\",\"help\":\"TEST &lt;CHISQ&gt;&lt;DDF=value-list&gt;&lt;E&gt; ...\",\"arguments\":[{\"name\":\"CHISQ\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that chi-square tests be performed for the relevant effects in addition to the F tests. Type III tests are the default; you can produce the Type I and Type II tests by using the HTYPE= option. This option has no effect when the procedure produces chi-square statistics by default.\",\"type\":\"standalone\"},{\"name\":\"DDF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"DF=\"],\"description\":\"Specifies the denominator degrees of freedom for the fixed effects. The value-list specification is a list of numbers or missing values (.) separated by commas. The order of degrees of freedom should match the order of the fixed effects that are specified in the TEST statement; otherwise it should match the order in which the effects appear in the \\\"Type III Tests of Fixed Effects\\\" table.\",\"help\":\"DDF=*value-list*\",\"type\":\"value\"},{\"name\":\"E\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that Type I, Type II, and Type III L matrix coefficients be displayed for all relevant effects.\",\"type\":\"standalone\"},{\"name\":\"E1\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"EI\"],\"description\":\"Requests that Type I L matrix coefficients be displayed for all relevant effects.\",\"type\":\"standalone\"},{\"name\":\"E2\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"EII\"],\"description\":\"Requests that Type II L matrix coefficients be displayed for all relevant effects.]\",\"type\":\"standalone\"},{\"name\":\"E3\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"EIII\"],\"description\":\"Requests that Type III L matrix coefficients be displayed for all relevant effects.\",\"type\":\"standalone\"},{\"name\":\"HTYPE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Indicates the type of hypothesis test to perform on the fixed effects. Valid entries for values in the value-list are 1, 2, and 3, which correspond to Type I, Type II, and Type III tests, respectively. The default value is 3.\",\"help\":\"HTYPE=*value-list*\",\"type\":\"value\"},{\"name\":\"INTERCEPT\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"INT\"],\"description\":\"Adds a row to the tables for Type I, II, and III tests that correspond to the overall intercept.\",\"type\":\"standalone\"}]},{\"name\":\"WHERE\",\"description\":\"The WHERE statement in the PLM procedure is helpful when the item store contains BY-variable information and you want to apply the PROC PLM statements to only a subset of the BY groups. A WHERE expression is a type of SAS expression that defines a condition. In the DATA step and in procedures that use SAS data sets as input source, the WHERE expression is used to select observations for inclusion in the DATA step or in the analysis. In the PLM procedure, which does not accept a SAS data set but rather takes an item store that was created by a qualifying SAS/STAT procedure, the WHERE statement is also used to specify conditions. The conditional selection does not apply to observations in PROC PLM, however. Instead, you use the WHERE statement in the PLM procedure to select a subset of BY groups from the item store to which to apply the PROC PLM statements. The general syntax of the WHERE statement is WHERE operand <operator> <operand> ; where o operand is something to be operated on. The operand can be the name of a BY variable in the item store, a SAS function, a constant, or a predefined name to identify columns in result tables. o operator is a symbol that requests a comparison, logical operation, or arithmetic calculation. All SAS expression operators are valid for a WHERE expression.\",\"help\":\"WHERE expression \"}],\"supportSiteInformation\":{\"docsetId\":\"statug\",\"docsetVersion\":\"latest\",\"docsetTargetFile\":\"statug_plm_toc.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/PLS.json",
    "content": "{\"name\":\"PLS\",\"statements\":[{\"name\":\"PROC PLS\",\"description\":\"The PLS procedure fits models by using any one of a number of linear predictive methods, including partial least squares (PLS). Ordinary least squares regression, as implemented in SAS/STAT procedures such as PROC GLM and PROC REG, has the single goal of minimizing sample response prediction error, seeking linear functions of the predictors that explain as much variation in each response as possible. The techniques implemented in the PLS procedure have the additional goal of accounting for variation in the predictors, under the assumption that directions in the predictor space that are well sampled should provide better prediction for new observations when the predictors are highly correlated. All of the techniques implemented in the PLS procedure work by extracting successive linear combinations of the predictors, called factors (also called components, latent vectors, or latent variables), which optimally address one or both of these two goals—explaining response variation and explaining predictor variation. In particular, the method of partial least squares balances the two objectives, seeking factors that explain both response and predictor variation.\",\"help\":\"PROC PLS <CENSCALE><CV=ONE | SPLIT | BLOCK... ><CVTEST <(cvtest-options)>><DATA=SAS-data-set><DETAILS><METHOD=PLS | SIMPLS | PCR... ><MISSING=NONE | AVG | EM<(EM-options)>><NFAC=n><NOCENTER><NOCVSTDIZE><NOPRINT><NOSCALE><PLOTS=ALL | CORRLOAD | CVPLOT... ><VARSCALE><VARSS>;     \\n\\tBY <DESCENDING><NOTSORTED> ;\\n\\n\\tCLASS <TRUNCATE> ;\\n\\n\\tEFFECT EFFECT-NAME=COLLECTION|LAG|MULTIMEMBER|MM...  <PERIOD=variable><WITHIN=(variables) | WITHIN=variable> ...;\\n\\n\\tID variables ;\\n\\n\\tMODEL <INTERCEPT><SOLUTION> ;\\n\\n\\tOUTPUT <OUT= SAS-data-set><PREDICTED=><YRESIDUAL=> ...;\\n\",\"arguments\":[{\"name\":\"CENSCALE\",\"optional\":true,\"description\":\"Lists the centering and scaling information for each response and predictor.\",\"type\":\"standalone\"},{\"name\":\"CV=\",\"optional\":true,\"description\":\"Specifies the cross validation method to be used. By default, no cross validation is performed.\",\"help\":\"CV=ONE | SPLIT | BLOCK | RANDOM | TESTSET\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ONE\",\"description\":\"Requests one-at-a-time cross validation\",\"type\":\"standalone\"},{\"name\":\"SPLIT\",\"description\":\"Syntax: SPLIT<(n)> Requests that every n-th observation be excluded\",\"type\":\"standalone\"},{\"name\":\"BLOCK\",\"description\":\"Syntax: BLOCK<(n)> Requests that n blocks of consecutive observations be excluded\",\"type\":\"standalone\"},{\"name\":\"RANDOM\",\"description\":\"Syntax: RANDOM<(cv-random-opts)> Requests that observations be excluded at random. You can specify the following optional cv-random-options in parentheses: NITER=n specifies the number of random subsets to exclude. The default value is 10. NTEST=n specifies the number of observations in each random subset chosen for exclusion. SEED=n specifies an integer used to start the pseudo-random number generator for selecting the random test set.\",\"type\":\"standalone\"},{\"name\":\"TESTSET\",\"description\":\"Syntax: TESTSET(SAS-data-set) Specifies a test set of observations to be used for validation (formally, this is called \\\"test set validation\\\" rather than \\\"cross validation\\\").\",\"type\":\"standalone\"}]},{\"name\":\"CVTEST=\",\"optional\":true,\"description\":\"Specifies that van der Voet’s (1994) randomization-based model comparison test be performed to test models with different numbers of extracted factors against the model that minimizes the predicted residual sum of squares. You can specify the following cv-test-options: PVAL=n specifies the cutoff probability for declaring an insignificant difference. The default value is 0.10. STAT=test-statistic specifies the test statistic for the model comparison. NSAMP=n specifies the number of randomizations to perform. The default value is 1000.\",\"help\":\"CVTEST=PVAL= | STAT= | NSAMP= | SEED=\",\"type\":\"choice\",\"arguments\":[{\"name\":\"PVAL=\",\"type\":\"value\"},{\"name\":\"STAT=\",\"type\":\"value\"},{\"name\":\"NSAMP=\",\"type\":\"value\"},{\"name\":\"SEED=\",\"type\":\"value\"}]},{\"name\":\"DATA=\",\"optional\":true,\"description\":\"Names the SAS data set to be used by PROC PLS. The default is the most recently created data set.\",\"help\":\"DATA=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"DETAILS\",\"optional\":true,\"description\":\"Lists the details of the fitted model for each successive factor.\",\"type\":\"standalone\"},{\"name\":\"METHOD=\",\"optional\":true,\"description\":\"Specifies the general factor extraction method to be used.\",\"help\":\"METHOD=PLS | SIMPLS | PCR | RRR\",\"type\":\"choice\",\"arguments\":[{\"name\":\"PLS\",\"description\":\"Syntax: PLS<(PLS-options)> Requests partial least squares. You can specify the following optional PLS-options in parentheses: ALGORITHM=NIPALS | SVD | EIG | RLGW names the specific algorithm used to compute extracted PLS factors. NIPALS requests the usual iterative NIPALS algorithm, SVD bases the extraction on the singular value decomposition of X'Y, EIG bases the extraction on the eigenvalue decomposition of Y'XX'Y, and RLGW is an iterative approach that is efficient when there are many predictors. MAXITER=n specifies the maximum number of iterations for the NIPALS and RLGW algorithms. The default value is 200. EPSILON=n specifies the convergence criterion for the NIPALS and RLGW algorithms. The default value is 10⁻¹².\",\"type\":\"standalone\"},{\"name\":\"SIMPLS\",\"description\":\"Requests the SIMPLS method of de Jong (1993)\",\"type\":\"standalone\"},{\"name\":\"PCR\",\"description\":\"Requests principal components regression\",\"type\":\"standalone\"},{\"name\":\"RRR\",\"description\":\"Requests reduced rank regression\",\"type\":\"standalone\"}]},{\"name\":\"MISSING=\",\"optional\":true,\"description\":\"Specifies how observations with missing values are to be handled in computing the fit.\",\"help\":\"MISSING=NONE | AVG | EM&lt;(EM-options)&gt;\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NONE\",\"description\":\"Observations with any missing variables (dependent or independent) are excluded from the analysis.\",\"type\":\"standalone\"},{\"name\":\"AVG\",\"description\":\"Specifies that the fit be computed by filling in missing values with the average of the nonmissing values for the corresponding variable.\",\"type\":\"standalone\"},{\"name\":\"EM\",\"description\":\"The procedure first computes the model with MISSING=AVG and then fills in missing values by their predicted values based on that model and computes the model again. You can specify the following optional EM-options in parentheses: MAXITER=n specifies the maximum number of iterations for the imputation/fit loop. EPSILON=n specifies the convergence criterion for the imputation/fit loop. The default value for is 10⁻⁸.\",\"help\":\"EM&lt;(EM-options)&gt;\",\"type\":\"standalone\"}]},{\"name\":\"NFAC=\",\"optional\":true,\"description\":\"Specifies the number of factors to extract.\",\"help\":\"NFAC=*n*\",\"type\":\"value\"},{\"name\":\"NOCENTER\",\"optional\":true,\"description\":\"Suppresses centering of the responses and predictors before fitting. This is useful if the analysis variables are already centered and scaled.\",\"type\":\"standalone\"},{\"name\":\"NOCVSTDIZE\",\"optional\":true,\"description\":\"Suppresses re-centering and rescaling of the responses and predictors before each model is fit in the cross validation.\",\"type\":\"standalone\"},{\"name\":\"NOPRINT\",\"optional\":true,\"description\":\"Suppresses the normal display of results.\",\"type\":\"standalone\"},{\"name\":\"NOSCALE\",\"optional\":true,\"description\":\"Suppresses scaling of the responses and predictors before fitting. This is useful if the analysis variables are already centered and scaled.\",\"type\":\"standalone\"},{\"name\":\"PLOTS=\",\"optional\":true,\"description\":\"Controls the plots produced through ODS Graphics. Syntax: (1) PLOTS <(global-plot-options)> <= plot-request <(options)>> (2)PLOTS <(global-plot-options)> <= (plot-request <(options)> <... plot-request <(options)>>)> The global plot options include the following: FLIP interchanges the X-axis and Y-axis dimensions for the score, weight, and loading plots. ONLY suppresses the default plots. Only plots specifically requested are displayed.\",\"help\":\"PLOTS=ALL | CORRLOAD | CVPLOT | DIAGNOSTICS | DMOD | DMODX | DMODXY | DMODY | FIT | NONE | PARMPROFILES | SCORES | RESIDUALS | VIP | WEIGHTS | XLOADINGPLOT | XLOADINGPROFILES | XSCORES | XWEIGHTPLOT | XWEIGHTPROFILES | XYSCORES | YSCORES | YWEIGHTPLOT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ALL\",\"description\":\"Produces all appropriate plots.\",\"type\":\"standalone\"},{\"name\":\"CORRLOAD\",\"description\":\"Syntax: CORRLOAD<(TRACE = ON | OFF)> Produces a correlation loading plot (default).\",\"type\":\"standalone\"},{\"name\":\"CVPLOT\",\"description\":\"Produces a cross validation and R-square analysis.\",\"type\":\"standalone\"},{\"name\":\"DIAGNOSTICS\",\"description\":\"Syntax: DIAGNOSTICS<(UNPACK)> Produces a summary panel of the fit for each dependent variable.\",\"type\":\"standalone\"},{\"name\":\"DMOD\",\"description\":\"Produces the DMODX, DMODY, and DMODXY plots.\",\"type\":\"standalone\"},{\"name\":\"DMODX\",\"description\":\"Produces a plot of the distance of each observation to the X model.\",\"type\":\"standalone\"},{\"name\":\"DMODXY\",\"description\":\"Produces plots of the distance of each observation to the X and Y models.\",\"type\":\"standalone\"},{\"name\":\"DMODY\",\"description\":\"Produces a plot of the distance of each observation to the Y model.\",\"type\":\"standalone\"},{\"name\":\"FIT\",\"description\":\"Produces both the fit diagnostics and the ParmProfiles plot.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"Suppresses the display of graphics.\",\"type\":\"standalone\"},{\"name\":\"PARMPROFILES\",\"description\":\"Produces profiles of the regression coefficients.\",\"type\":\"standalone\"},{\"name\":\"SCORES\",\"description\":\"Syntax: SCORES<(UNPACK|FLIP)> Produces the XScores, YScores, XYScores, and DModXY plots.\",\"type\":\"standalone\"},{\"name\":\"RESIDUALS\",\"description\":\"Syntax: RESIDUALS<(UNPACK)> Plots the residuals for each dependent variable against each independent variable.\",\"type\":\"standalone\"},{\"name\":\"VIP\",\"description\":\"Produces profiles of variable importance factors.\",\"type\":\"standalone\"},{\"name\":\"WEIGHTS\",\"description\":\"Syntax: WEIGHTS<(UNPACK|FLIP)> Produces all X and Y loading and weight plots, as well as the VIP plot.\",\"type\":\"standalone\"},{\"name\":\"XLOADINGPLOT\",\"description\":\"Syntax: XLOADINGPLOT<(UNPACK|FLIP)> Produces a scatter plot matrix of X-loadings against each other.\",\"type\":\"standalone\"},{\"name\":\"XLOADINGPROFILES\",\"description\":\"Produces profiles of the X-loadings.\",\"type\":\"standalone\"},{\"name\":\"XSCORES\",\"description\":\"Syntax: XSCORES<(UNPACK|FLIP)> Produces a scatter plot matrix of X-scores against each other.\",\"type\":\"standalone\"},{\"name\":\"XWEIGHTPLOT\",\"description\":\"Syntax: XWEIGHTPLOT<(UNPACK|FLIP)> Produces a scatter plot matrix of X-weights against each other.\",\"type\":\"standalone\"},{\"name\":\"XWEIGHTPROFILES\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"XYSCORES\",\"description\":\"Syntax: XYSCORES<(UNPACK)> Produces profiles of the X-weights.\",\"type\":\"standalone\"},{\"name\":\"YSCORES\",\"description\":\"YSCORES<(UNPACK|FLIP)> Produces a scatter plot matrix of Y-scores against each other.\",\"type\":\"standalone\"},{\"name\":\"YWEIGHTPLOT\",\"description\":\"Syntax: YWEIGHTPLOT<(UNPACK|FLIP)> Produces a scatter plot matrix of Y-weights against each other.\",\"type\":\"standalone\"}]},{\"name\":\"VARSCALE\",\"optional\":true,\"description\":\"Specifies that continuous model variables be centered and scaled prior to centering and scaling the model effects in which they are involved.\",\"type\":\"standalone\"},{\"name\":\"VARSS\",\"optional\":true,\"description\":\"Lists, in addition to the average response and predictor sum of squares accounted for by each successive factor, the amount of variation accounted for in each response and predictor.\",\"type\":\"standalone\"}]},{\"name\":\"BY\",\"description\":\"You can specify a BY statement with PROC PLS to obtain separate analyses on observations in groups that are defined by the BY variables. When a BY statement appears, the procedure expects the input data set to be sorted in order of the BY variables. If you specify more than one BY statement, only the last one specified is used.\",\"help\":\"BY &lt;DESCENDING&gt;&lt;NOTSORTED&gt;\",\"arguments\":[{\"name\":\"DESCENDING\",\"optional\":true,\"description\":\"Specifies that the observations are sorted in descending order by the variable that immediately follows the word DESCENDING in the BY statement.\",\"type\":\"standalone\"},{\"name\":\"NOTSORTED\",\"optional\":true,\"description\":\"Specifies that observations are not necessarily sorted in alphabetic or numeric order.\",\"type\":\"standalone\"}]},{\"name\":\"CLASS\",\"description\":\"The CLASS statement names the classification variables to be used in the analysis. The CLASS statement must precede the MODEL statement.\",\"help\":\"CLASS &lt;TRUNCATE&gt;\",\"arguments\":[{\"name\":\"TRUNCATE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies that class levels should be determined by using no more than the first 16 characters of the formatted values of CLASS variables.\",\"type\":\"standalone\"}]},{\"name\":\"EFFECT\",\"description\":\"The name of the effect is specified after the EFFECT keyword. This name can appear in only one EFFECT statement and cannot be the name of a variable in the input data set. The effect-type is specified after an equal sign, followed by a list of variables within parentheses which are used in constructing the effect. Effect-options that are specific to an effect-type can be specified after a slash (/) following the variable list. The EFFECT statement enables you to construct special collections of columns for design matrices. These collections are referred to as constructed effects to distinguish them from the usual model effects formed from continuous or classification variables.\",\"help\":\"EFFECT EFFECT-NAME=COLLECTION|LAG|MULTIMEMBER|MM...  &lt;PERIOD=variable&gt;&lt;WITHIN=(variables) | WITHIN=variable&gt; ...\",\"arguments\":[{\"name\":\"EFFECT-NAME=\",\"description\":\"Replace 'EFFECT-NAME' with the name of the effect, specified after the EFFECT keyword. This name can appear in only one EFFECT statement and cannot be the name of a variable in the input data set. These values can be used: COLLECTION, MULTIMEMBER, POLYNOMIAL, or SPLINE.\",\"type\":\"value\"},{\"name\":\"BASIS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"[For the SPLINE effect-type only] Specifies a basis for the spline expansion.\",\"help\":\"BASIS=BSPLINE | TPF\",\"type\":\"choice\",\"arguments\":[{\"name\":\"BSPLINE\",\"followsDelimiter\":\"/\",\"description\":\"Specifies a B-spline basis for the spline expansion.\",\"type\":\"standalone\"},{\"name\":\"TPF\",\"followsDelimiter\":\"/\",\"description\":\"Syntax: TPF(options) Specifies a truncated power function basis for the spline expansion. You can modify the number of columns when you request BASIS=TPF with the following options: NOINT excludes the intercept column. NOPOWERS excludes the intercept and polynomial columns.\",\"type\":\"standalone\"}]},{\"name\":\"DATABOUNDARY\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"[For the SPLINE effect-type only] Specifies that the extremes of the data be used as boundary knots when building a B-spline basis.\",\"type\":\"standalone\"},{\"name\":\"DEGREE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"\",\"help\":\"DEGREE=*n*\",\"type\":\"value\"},{\"name\":\"DESIGNROLE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"\",\"help\":\"DESIGNROLE=*variable*\",\"type\":\"value\"},{\"name\":\"DETAILS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"[For the LAG | COLLECTION | MULTIMEMBER | POLYNOMIAL |SPLINE effect-type] Requests a table that shows the (1) lag design matrix of the lag effect, or (2) constituents of the collection effect, or (3) levels of the multimember effect, or (4) details of the specified polynomial, or (5) knot locations and the knots associated with each spline basis function.\",\"type\":\"standalone\"},{\"name\":\"KNOTMAX=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"\",\"help\":\"KNOTMAX=*value*\",\"type\":\"value\"},{\"name\":\"KNOTMETHOD=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"[For the SPLINE effect-type only] Specifies how to construct the knots for spline effects.\",\"help\":\"KNOTMETHOD=EQUAL | LIST | LISTWITHBOUNDARY | MULTISCALE | PERCENTILES | RANGEFRACTIONS\",\"type\":\"choice\",\"arguments\":[{\"name\":\"EQUAL\",\"followsDelimiter\":\"/\",\"description\":\"Syntax: EQUAL<(n)> Specifies that n equally spaced knots be positioned between the extremes of the data. The default is n=3. For a B-spline basis, any needed boundary knots continue to be equally spaced unless the DATABOUNDARY option has also been specified. KNOTMETHOD=EQUAL is the default if no knot-method is specified.\",\"type\":\"standalone\"},{\"name\":\"LIST\",\"followsDelimiter\":\"/\",\"description\":\"Syntax: LIST(number-list) Specifies the list of internal knots to be used in forming the spline basis columns. For a B-spline basis, the data extremes are used as boundary knots.\",\"type\":\"standalone\"},{\"name\":\"LISTWITHBOUNDARY\",\"followsDelimiter\":\"/\",\"description\":\"Syntax: LISTWITHBOUNDARY(number-list) Specifies the list of all knots that are used in forming the spline basis columns.\",\"type\":\"standalone\"},{\"name\":\"MULTISCALE\",\"followsDelimiter\":\"/\",\"description\":\"Syntax: MULTISCALE<(multiscale-options)> Specifies that multiple B-spline bases be generated, corresponding to sets with an increasing number of internal knots. You can control which scales are included with the following multiscale-options: STARTSCALE=n specifies the start scale, where n is a positive integer. The default is STARTSCALE=0. ENDSCALE=n specifies the end scale, where n is a positive integer. The default is ENDSCALE=7.\",\"type\":\"standalone\"},{\"name\":\"PERCENTILES\",\"followsDelimiter\":\"/\",\"description\":\"Syntax: PERCENTILES(n) Requests that internal knots be placed at n equally spaced percentiles of the variable or variables named in the EFFECT statement.\",\"type\":\"standalone\"},{\"name\":\"RANGEFRACTIONS\",\"followsDelimiter\":\"/\",\"description\":\"Syntax: RANGEFRACTIONS(fraction-list) Requests that internal knots be placed at each fraction of the ranges of the variables in the EFFECT statement.\",\"type\":\"standalone\"}]},{\"name\":\"KNOTMIN=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"\",\"help\":\"KNOTMIN=*value*\",\"type\":\"value\"},{\"name\":\"LABELSTYLE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"\",\"help\":\"LABELSTYLE=EXPAND | EXPONENT | INCLUDENAME | PRODUCTSYMBOL=\",\"type\":\"choice\",\"arguments\":[{\"name\":\"EXPAND\",\"followsDelimiter\":\"/\",\"description\":\"Specifies that each variable with an exponent greater than 1 be written as products of that variable.\",\"type\":\"standalone\"},{\"name\":\"EXPONENT\",\"followsDelimiter\":\"/\",\"description\":\"Syntax: EXPONENT <=quoted string> Specifies that each variable with an exponent greater than 1 be written using exponential notation. By default, the symbol ^ is used as the exponentiation operator. If you supply the optional quoted string after an equal sign, then that string is used as the exponentiation operator.\",\"type\":\"standalone\"},{\"name\":\"INCLUDENAME\",\"followsDelimiter\":\"/\",\"description\":\"Specifies that the name of the effect followed by an underscore be used as a prefix for term labels.\",\"type\":\"standalone\"},{\"name\":\"PRODUCTSYMBOL=\",\"followsDelimiter\":\"/\",\"description\":\"Syntax: PRODUCTSYMBOL=NONE | quoted string Specifies that the supplied string be used as the product symbol.\",\"type\":\"value\"}]},{\"name\":\"MDEGREE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"\",\"help\":\"MDEGREE=*n*\",\"type\":\"value\"},{\"name\":\"NLAG=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"\",\"type\":\"value\"},{\"name\":\"NOEFFECT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"[For the MULTIMEMBER effect-type only] Specifies that, for observations with all missing levels of the multimember variables, the values in the corresponding design matrix columns be set to zero.\",\"type\":\"standalone\"},{\"name\":\"NOSEPARATE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"[For the POLYNOMIAL effect-type only] Specifies that the polynomial be treated as a single effect with multiple degrees of freedom. The effect name that you specify is used as the constructed effect name, and the labels of the terms are used as labels of the corresponding parameters.\",\"type\":\"standalone\"},{\"name\":\"PERIOD=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the period variable of the LAG design. The number of periods is the number of unique formatted values of the PERIOD= variable, and the ordering of the period is formed by sorting these formatted values in ascending order. You must specify a PERIOD= variable.\",\"help\":\"PERIOD=*variable*\",\"type\":\"value\"},{\"name\":\"SEPARATE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"[For the SPLINE effect-type only] Specifies that when multiple variables are specified in the EFFECT statement, the spline basis for each variable be treated as a separate effect. The names of these separated effects are formed by appending an underscore followed by the name of the variable to the name that you specify in the EFFECT statement.\",\"type\":\"standalone\"},{\"name\":\"SPLIT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"[For the SPLINE effect-type only] Specifies that each individual column in the design matrix that corresponds to the spline effect be treated as a separate effect that can enter or leave the model independently. Names for these split effects are generated by appending the variable name and an index for each column to the name that you specify in the EFFECT statement.\",\"type\":\"standalone\"},{\"name\":\"STANDARDIZE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies that the variables that define the polynomial be standardized. By default, the standardized variables receive prefix \\\"s_\\\" in the variable names. You can use the following centerscale-opts to specify how the center and scale are estimated: METHOD=MOMENTS specifies that the center be estimated by the variable mean and the scale be estimated by the standard deviation. METHOD=RANGE specifies that the center be estimated by the midpoint of the variable range and the scale be estimated as half the variable range. METHOD=WMOMENTS is the same as METHOD=MOMENTS except that weighted means and weighted standard deviations are used.\",\"help\":\"STANDARDIZECENTER | CENTERSCALE | NONE | SCALE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"CENTER\",\"followsDelimiter\":\"/\",\"description\":\"Specifies that variables be centered but not scaled.\",\"type\":\"standalone\"},{\"name\":\"CENTERSCALE\",\"followsDelimiter\":\"/\",\"description\":\"Specifies that variables be centered and scaled. This is the default if you do not specify a standardization-opt.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"followsDelimiter\":\"/\",\"description\":\"Specifies that no standardization be performed.\",\"type\":\"standalone\"},{\"name\":\"SCALE\",\"followsDelimiter\":\"/\",\"description\":\"Specifies that variables be scaled but not centered.\",\"type\":\"standalone\"}]},{\"name\":\"STDIZE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"[For the MULTIMEMBER effect-type only] Specifies that for each observation, the entries in the design matrix that corresponds to the multimember effect be scaled to have a sum of one.\",\"type\":\"standalone\"},{\"name\":\"WEIGHT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"\",\"help\":\"WEIGHT=*wght-list*\",\"type\":\"value\"},{\"name\":\"WITHIN=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"\",\"type\":\"value\"}]},{\"name\":\"ID\",\"description\":\"The ID statement names variables whose values are used to label observations in plots. If you do not specify an ID statement, then each observations is labeled in plots by its corresponding observation number.\",\"help\":\"ID variables \"},{\"name\":\"MODEL\",\"description\":\"The MODEL statement names the responses and the predictors, which determine the Y and X matrices of the model, respectively. Usually you simply list the names of the predictor variables as the model effects, but you can also use the effects notation of PROC GLM to specify polynomial effects and interactions. The MODEL statement is required. You can specify only one MODEL statement (in contrast to the REG procedure, for example, which allows several MODEL statements in the same PROC REG run).\",\"help\":\"MODEL &lt;INTERCEPT&gt;&lt;SOLUTION&gt;\",\"arguments\":[{\"name\":\"INTERCEPT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"By default, the responses and predictors are centered; thus, no intercept is required in the model. You can specify the INTERCEPT option to override the default.\",\"type\":\"standalone\"},{\"name\":\"SOLUTION\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Lists the coefficients of the final predictive model for the responses.\",\"type\":\"standalone\"}]},{\"name\":\"OUTPUT\",\"description\":\"You use the OUTPUT statement to specify a data set to receive quantities that can be computed for every input observation, such as extracted factors and predicted values.\",\"help\":\"OUTPUT &lt;OUT= SAS-data-set&gt;&lt;PREDICTED=&gt;&lt;YRESIDUAL=&gt; ...\",\"arguments\":[{\"name\":\"H=\",\"optional\":true,\"description\":\"Approximate leverage\",\"type\":\"value\"},{\"name\":\"OUT=\",\"optional\":true,\"description\":\"Specifies the output data set.\",\"type\":\"value\"},{\"name\":\"PREDICTED=\",\"optional\":true,\"description\":\"Predicted values for responses\",\"type\":\"value\"},{\"name\":\"PRESS=\",\"optional\":true,\"description\":\"Approximate predicted residuals\",\"type\":\"value\"},{\"name\":\"STDX=\",\"optional\":true,\"description\":\"Standardized (centered and scaled) predictors\",\"type\":\"value\"},{\"name\":\"STDXSSE\",\"optional\":true,\"description\":\"Sum of squares of residuals for standardized predictors\",\"type\":\"standalone\"},{\"name\":\"STDY=\",\"optional\":true,\"description\":\"Standardized (centered and scaled) responses\",\"type\":\"value\"},{\"name\":\"STDYSSE=\",\"optional\":true,\"description\":\"Sum of squares of residuals for standardized responses\",\"type\":\"value\"},{\"name\":\"TSQUARE=\",\"optional\":true,\"description\":\"Scaled sum of squares of score values\",\"type\":\"value\"},{\"name\":\"XRESIDUAL=\",\"optional\":true,\"description\":\"Residuals for predictors\",\"type\":\"value\"},{\"name\":\"XSCORE=\",\"optional\":true,\"description\":\"Extracted factors (X-scores, latent vectors, latent variables, T)\",\"type\":\"value\"},{\"name\":\"YRESIDUAL=\",\"optional\":true,\"description\":\"Residuals for responses\",\"type\":\"value\"},{\"name\":\"YSCORE=\",\"optional\":true,\"description\":\"Extracted responses (Y-scores, U)\",\"type\":\"value\"}]}],\"supportSiteInformation\":{\"docsetId\":\"statug\",\"docsetVersion\":\"latest\",\"docsetTargetFile\":\"statug_pls_toc.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/PLSMOD.json",
    "content": "{\"name\":\"PLSMOD\",\"statements\":[{\"name\":\"PROC PLSMOD\",\"description\":\"The PLSMOD procedure fits reduced-rank linear models in SAS Viya by using any one of a number of linear predictive methods, including partial least squares (PLS).\",\"help\":\"PROC PLSMOD <CENSCALE><CVTEST <(cvtest-options)>><DATA=CAS-libref.data-table><DETAILS><METHOD=PLS | SIMPLS | PCR... ><NFAC=number><NOCENTER><NOCLPRINT<=number>><NOCVSTDIZE><NOSCALE><VARSS>;     \\n\\tBY <DESCENDING><NOTSORTED> ;\\n\\n\\tCLASS <DESCENDING><MISSING><ORDER=<FORMATTED | FREQ | INTERNAL>> ...;\\n\\n\\tDISPLAY <CASESENSITIVE><EXCLUDE><EXCLUDEALL> ...;\\n\\n\\tDISPLAYOUT <NOREPLACE><REPEATED> ;\\n\\n\\tEFFECT EFFECT-NAME=COLLECTION|MULTIMEMBER|MM|POLYNOMIAL|POLY...  <PERIOD=variable><WITHIN=(variables) | WITHIN=variable> ...;\\n\\n\\tMODEL <INTERCEPT><SOLUTION> ;\\n\\n\\tOUTPUT <COPYVAR=variable | COPYVARS=(variables)><H><OUT=CAS-libref.data-table> ...;\\n\\n\\tPARTITION <FRACTION( <TEST=fraction> <SEED=number> )><ROLEVAR | ROLE=variable (<TEST='value'> <TRAIN='value'>)> ;\\n\",\"arguments\":[{\"name\":\"CENSCALE\",\"optional\":true,\"description\":\"Lists the centering and scaling information for each response and predictor.\",\"type\":\"standalone\"},{\"name\":\"CVTEST=\",\"optional\":true,\"description\":\"Specifies that van der Voet’s (1994) randomization-based model comparison test be performed to test models with different numbers of extracted factors against the model that minimizes the predicted residual sum of squares. You can specify the following cv-test-options in parentheses: NSAMP=n specifies the number of randomizations to perform. By default, NSAMP=1000. PVAL=n specifies the cutoff probability for declaring an insignificant difference. By default, PVAL=0.10. SEED=number specifies the seed value for the random number stream.\",\"help\":\"CVTEST=PVAL= | STAT= | NSAMP= | SEED=\",\"type\":\"choice\",\"arguments\":[{\"name\":\"PVAL=\",\"type\":\"value\"},{\"name\":\"STAT=\",\"type\":\"value\"},{\"name\":\"NSAMP=\",\"type\":\"value\"},{\"name\":\"SEED=\",\"type\":\"value\"}]},{\"name\":\"DATA=\",\"optional\":true,\"description\":\"Names the input data table for PROC PLSMOD to use. The default is the most recently created data table. CAS-libref.data-table is a two-level name, where\",\"help\":\"DATA=*CAS-libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"DETAILS\",\"optional\":true,\"description\":\"Lists the details of the fitted model for each successive factor. The listed details are different for different extraction methods.\",\"type\":\"standalone\"},{\"name\":\"METHOD=\",\"optional\":true,\"description\":\"Specifies the general factor extraction method to be used.\",\"help\":\"METHOD=PLS | SIMPLS | PCR | RRR\",\"type\":\"choice\",\"arguments\":[{\"name\":\"PLS\",\"description\":\"Syntax: PLS<(PLS-options)> Requests partial least squares. You can specify the following optional PLS-options in parentheses: ALGORITHM=NIPALS | SVD | EIG names the specific algorithm used to compute extracted PLS factors. NIPALS requests the usual iterative NIPALS algorithm, SVD bases the extraction on the singular value decomposition of X'Y, and EIG bases the extraction on the eigenvalue decomposition of Y'XX'Y. EPSILON=n specifies the convergence criterion for the NIPALS algorithm. By default, EPSILON=10⁻¹². MAXITER=n specifies the maximum number of iterations for the NIPALS algorithm. By default, MAXITER=200.\",\"type\":\"standalone\"},{\"name\":\"SIMPLS\",\"description\":\"Requests the SIMPLS method of de Jong (1993)\",\"type\":\"standalone\"},{\"name\":\"PCR\",\"description\":\"Requests principal components regression\",\"type\":\"standalone\"},{\"name\":\"RRR\",\"description\":\"Requests reduced rank regression\",\"type\":\"standalone\"}]},{\"name\":\"NFAC=\",\"optional\":true,\"description\":\"Specifies the number of factors to extract.\",\"help\":\"NFAC=*number*\",\"type\":\"value\"},{\"name\":\"NOCENTER\",\"optional\":true,\"description\":\"Suppresses centering of the responses and predictors before fitting. This is useful if the analysis variables are already centered and scaled.\",\"type\":\"standalone\"},{\"name\":\"NOCLPRINT\",\"optional\":true,\"description\":\"Suppresses the display of the \\\"Class Level Information\\\" table if you do not specify number. If you specify number, the values of the classification variables are displayed only for variables whose number of levels is less than number.\",\"type\":\"standalone\"},{\"name\":\"NOCVSTDIZE\",\"optional\":true,\"description\":\"Suppresses re-centering and rescaling of the responses and predictors before each model is fit in the cross validation.\",\"type\":\"standalone\"},{\"name\":\"NOSCALE\",\"optional\":true,\"description\":\"Suppresses scaling of the responses and predictors before fitting. This is useful if the analysis variables are already centered and scaled.\",\"type\":\"standalone\"},{\"name\":\"VARSS\",\"optional\":true,\"description\":\"Lists, in addition to the average response and predictor sum of squares accounted for by each successive factor, the amount of variation accounted for in each response and predictor.\",\"type\":\"standalone\"}]},{\"name\":\"BY\",\"description\":\"You can specify a BY statement in PROC PLSMOD to obtain separate analyses of observations in groups that are defined by the values of the BY variables. If you specify more than one BY statement, only the last one specified is used.\",\"help\":\"BY &lt;DESCENDING&gt;&lt;NOTSORTED&gt;\",\"arguments\":[{\"name\":\"DESCENDING\",\"optional\":true,\"description\":\"Specifies that the observations are sorted in descending order by the variable that immediately follows the word DESCENDING in the BY statement.\",\"type\":\"standalone\"},{\"name\":\"NOTSORTED\",\"optional\":true,\"description\":\"Specifies that observations are not necessarily sorted in alphabetic or numeric order.\",\"type\":\"standalone\"}]},{\"name\":\"CLASS\",\"description\":\"The CLASS statement names the classification variables to be used as explanatory variables in the analysis. You can list the response variable for binary models in the CLASS statement, but this is not required.\",\"help\":\"CLASS &lt;DESCENDING&gt;&lt;MISSING&gt;&lt;ORDER=&lt;FORMATTED | FREQ | INTERNAL&gt;&gt; ...\",\"arguments\":[{\"name\":\"DESCENDING\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"DESC\"],\"description\":\"Reverses the sort order of the classification variable. If both the DESCENDING and ORDER= options are specified, the procedure orders the categories according to the ORDER= option and then reverses that order.\",\"type\":\"standalone\"},{\"name\":\"MISSING\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Treats missing values (\\\".\\\", \\\".A\\\", …, \\\".Z\\\" for numeric variables and blanks for character variables) as valid values for the CLASS variable.\",\"type\":\"standalone\"},{\"name\":\"ORDER=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the sort order for the levels of classification variables. This ordering determines which parameters in the model correspond to each level in the data.\",\"help\":\"ORDER=FORMATTED | FREQ | INTERNAL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"FORMATTED\",\"followsDelimiter\":\"/\",\"description\":\"External formatted values, except for numeric variables that have no explicit format, which are sorted by their unformatted (internal) values. The sort order is machine-dependent. For numeric variables for which you have supplied no explicit format, the levels are ordered by their internal values.\",\"type\":\"standalone\"},{\"name\":\"FREQ\",\"followsDelimiter\":\"/\",\"description\":\"Descending frequency count (levels that have more observations come earlier in the order).\",\"type\":\"standalone\"},{\"name\":\"INTERNAL\",\"followsDelimiter\":\"/\",\"description\":\"Unformatted value. The sort order is machine-dependent.\",\"type\":\"standalone\"}]},{\"name\":\"PARAM=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the parameterization method for the classification variable or variables.\",\"help\":\"PARAM=EFFECT | GLM | ORDINAL|THERMOMETER | POLYNOMIAL|POLY | REFERENCE|REF | ORTHEFFECT | ORTHORDINAL|ORTHOTHERM | ORTHPOLY | ORTHREF\",\"type\":\"choice\",\"arguments\":[{\"name\":\"EFFECT\",\"followsDelimiter\":\"/\",\"description\":\"Specifies effect coding.\",\"type\":\"standalone\"},{\"name\":\"GLM\",\"followsDelimiter\":\"/\",\"description\":\"Specifies less-than-full-rank, reference-cell coding; this option can be used only as a global option.\",\"type\":\"standalone\"},{\"name\":\"ORDINAL\",\"followsDelimiter\":\"/\",\"description\":\"Specifies the cumulative parameterization for an ordinal CLASS variable.\",\"help\":\"ORDINAL|THERMOMETER\",\"type\":\"choice\"},{\"name\":\"POLYNOMIAL\",\"followsDelimiter\":\"/\",\"description\":\"Specifies polynomial coding.\",\"help\":\"POLYNOMIAL|POLY\",\"type\":\"choice\"},{\"name\":\"REFERENCE\",\"followsDelimiter\":\"/\",\"description\":\"Specifies reference-cell coding.\",\"help\":\"REFERENCE|REF\",\"type\":\"choice\"},{\"name\":\"ORTHEFFECT\",\"followsDelimiter\":\"/\",\"description\":\"Orthogonalizes PARAM=EFFECT.\",\"type\":\"standalone\"},{\"name\":\"ORTHORDINAL\",\"followsDelimiter\":\"/\",\"description\":\"Orthogonalizes PARAM=ORDINAL.\",\"help\":\"ORTHORDINAL|ORTHOTHERM\",\"type\":\"choice\"},{\"name\":\"ORTHPOLY\",\"followsDelimiter\":\"/\",\"description\":\"Orthogonalizes PARAM=POLYNOMIAL.\",\"type\":\"standalone\"},{\"name\":\"ORTHREF\",\"followsDelimiter\":\"/\",\"description\":\"Orthogonalizes PARAM=REFERENCE.\",\"type\":\"standalone\"}]},{\"name\":\"REF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"REFERENCE=\"],\"description\":\"Specifies the reference level that is used when you specify a nonsingular parameterization.\",\"help\":\"REF='&lt;level&gt;' | FIRST | LAST\",\"type\":\"choice\",\"arguments\":[{\"name\":\"'\",\"followsDelimiter\":\"/\",\"description\":\"The level of the variable to use as the reference level. Specify the formatted value of the variable if a format is assigned. Replace <level> with an actual value.\",\"help\":\"'&lt;level&gt;'\",\"type\":\"standalone\"},{\"name\":\"FIRST\",\"followsDelimiter\":\"/\",\"description\":\"Designates the first ordered level as reference.\",\"type\":\"standalone\"},{\"name\":\"LAST\",\"followsDelimiter\":\"/\",\"description\":\"Designates the last ordered level as reference.\",\"type\":\"standalone\"}]},{\"name\":\"SPLIT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies that design matrix columns that correspond to any effect that contains a split classification variable can be selected to enter or leave a model independently of the other design columns of that effect.\",\"type\":\"standalone\"}]},{\"name\":\"DISPLAY\",\"description\":\"The DISPLAY statement enables you to specify a list of display tables to display or exclude. This statement is similar to the ODS SELECT, ODS EXCLUDE, and ODS TRACE statements. However, the DISPLAY statement can improve performance when a large number of tables could be generated (such as in BY-group processing). The procedure processes the DISPLAY statement on a CAS server and thus sends only a subset of ODS tables to the SAS client. Because ODS statements are processed on a SAS client, all the display tables generated are first sent to the client and then the client creates a subset. If both DISPLAY and ODS statements are used together, the DISPLAY statement takes precedence over the ODS statements.\",\"help\":\"DISPLAY &lt;CASESENSITIVE&gt;&lt;EXCLUDE&gt;&lt;EXCLUDEALL&gt; ...\",\"arguments\":[{\"name\":\"CASESENSITIVE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Performs a case-sensitive comparison of table names in the table-list to display table names when tables are subsetted for display. To preserve case, you must enclose table names in the table-list in quotation marks.\",\"type\":\"standalone\"},{\"name\":\"EXCLUDE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays all display tables except those specified in the table-list.\",\"type\":\"standalone\"},{\"name\":\"EXCLUDEALL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Suppresses display of all tables. This option takes precedence over the other options.\",\"type\":\"standalone\"},{\"name\":\"TRACE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays the display table names, labels, and paths.\",\"type\":\"standalone\"}]},{\"name\":\"DISPLAYOUT\",\"description\":\"The DISPLAYOUT statement enables you to create CAS output tables from your displayed output. This statement is similar to the ODS OUTPUT statement. The table-spec-list specifies a list of CAS output tables to create. Each entry in the list has either a key or a key=value format: key=value specifies key as the ODS table name, path, or partial pathname, and specifies value as the CAS output table name. key specifies key as the ODS table name and also as the CAS output table name. Table names and partial pathnames are discussed under the DISPLAY statement. The DISPLAYOUT statement does not support regular expressions.\",\"help\":\"DISPLAYOUT &lt;NOREPLACE&gt;&lt;REPEATED&gt;\",\"arguments\":[{\"name\":\"NOREPLACE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Does not replace an existing CAS output table of the same name.\",\"type\":\"standalone\"},{\"name\":\"REPEATED\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Replicates the CAS output tables on all nodes.\",\"type\":\"standalone\"}]},{\"name\":\"EFFECT\",\"description\":\"The EFFECT statement enables you to construct special collections of columns for design matrices. These collections are referred to as constructed effects to distinguish them from the usual model effects that are formed from continuous or classification variables.\",\"help\":\"EFFECT EFFECT-NAME=COLLECTION|MULTIMEMBER|MM|POLYNOMIAL|POLY...  &lt;PERIOD=variable&gt;&lt;WITHIN=(variables) | WITHIN=variable&gt; ...\",\"arguments\":[{\"name\":\"EFFECT-NAME=\",\"description\":\"Replace 'EFFECT-NAME' with the name of the effect, specified after the EFFECT keyword. This name can appear in only one EFFECT statement and cannot be the name of a variable in the input data set.\",\"help\":\"EFFECT-NAME=COLLECTION | MULTIMEMBER|MM | POLYNOMIAL|POLY | SPLINE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"COLLECTION\",\"description\":\"Is a collection effect that defines one or more variables as a single effect with multiple degrees of freedom. The variables in a collection are considered as a unit for estimation and inference. Option(s) available (specified after a slash (/) following the variable list): DETAILS Displays the constituents of the collection effect\",\"type\":\"standalone\"},{\"name\":\"MULTIMEMBER\",\"description\":\"Is a multimember classification effect whose levels are determined by one or more variables that appear in a CLASS statement. Options available (specified after a slash (/) following the variable list): NOEFFECT Specifies that observations with all missing levels for the multimember variables should have zero values in the corresponding design matrix columns STDIZE Standardizes the design matrix entries so that each observation has a sum of 1 WEIGHT= Specifies the weight variable for the contributions of each of the classification effects\",\"help\":\"MULTIMEMBER|MM\",\"type\":\"choice\"},{\"name\":\"POLYNOMIAL\",\"description\":\"Is a multivariate polynomial effect in the specified numeric variables. Options available (specified after a slash (/) following the variable list): DEGREE= Specifies the degree of the polynomial DETAILS Displays details of the specified polynomial MDEGREE= Specifies the maximum degree of any variable in a term of the polynomial NOSEPARATE Treats the polynomial as a single effect with multiple degrees of freedom STANDARDIZE= Specifies centering and scaling suboptions for the variables that define the polynomial\",\"help\":\"POLYNOMIAL|POLY\",\"type\":\"choice\"},{\"name\":\"SPLINE\",\"description\":\"Is a regression spline effect whose columns are univariate spline expansions of one or more variables. A spline expansion replaces the original variable with an expanded or larger set of new variables. Options available (specified after a slash (/) following the variable list): BASIS= Specifies the type of basis (B-spline basis or truncated power function basis) for the spline expansion DATABOUNDARY Uses the extremes of the data as boundary knots for a B-spline basis DEGREE= Specifies the degree of the spline transformation DETAILS Displays the knots and locations for each spline basis function KNOTMAX= Requests equally spaced right-side boundary knots starting at the variables’ maximum and ending at the KNOTMAX= value KNOTMETHOD= Specifies how to construct the knots for spline effects KNOTMIN= Requests equally spaced left-side boundary knots starting at the KNOTMIN= value and ending at the variables’ minimum value NATURALCUBIC Specifies a natural cubic spline basis for the spline effect SEPARATE Treats the spline basis for each variable as a separate effect when multiple variables are specified SPLIT Treats each design matrix column as a separate effect for selection methods\",\"type\":\"standalone\"}]},{\"name\":\"BASIS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"[For the SPLINE effect-type only] Specifies a basis for the spline expansion.\",\"help\":\"BASIS=BSPLINE | TPF\",\"type\":\"choice\",\"arguments\":[{\"name\":\"BSPLINE\",\"followsDelimiter\":\"/\",\"description\":\"Specifies a B-spline basis for the spline expansion.\",\"type\":\"standalone\"},{\"name\":\"TPF\",\"followsDelimiter\":\"/\",\"description\":\"Syntax: TPF(options) Specifies a truncated power function basis for the spline expansion. You can modify the number of columns when you request BASIS=TPF with the following options: NOINT excludes the intercept column. NOPOWERS excludes the intercept and polynomial columns.\",\"type\":\"standalone\"}]},{\"name\":\"DATABOUNDARY\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"[For the SPLINE effect-type only] Specifies that the extremes of the data be used as boundary knots when building a B-spline basis.\",\"type\":\"standalone\"},{\"name\":\"DEGREE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"\",\"help\":\"DEGREE=*n*\",\"type\":\"value\"},{\"name\":\"DESIGNROLE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"\",\"help\":\"DESIGNROLE=*variable*\",\"type\":\"value\"},{\"name\":\"DETAILS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"[For the LAG | COLLECTION | MULTIMEMBER | POLYNOMIAL |SPLINE effect-type] Requests a table that shows the (1) lag design matrix of the lag effect, or (2) constituents of the collection effect, or (3) levels of the multimember effect, or (4) details of the specified polynomial, or (5) knot locations and the knots associated with each spline basis function.\",\"type\":\"standalone\"},{\"name\":\"KNOTMAX=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"\",\"help\":\"KNOTMAX=*value*\",\"type\":\"value\"},{\"name\":\"KNOTMETHOD=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"[For the SPLINE effect-type only] Specifies how to construct the knots for spline effects.\",\"help\":\"KNOTMETHOD=EQUAL | LIST | LISTWITHBOUNDARY | MULTISCALE | PERCENTILES | RANGEFRACTIONS\",\"type\":\"choice\",\"arguments\":[{\"name\":\"EQUAL\",\"followsDelimiter\":\"/\",\"description\":\"Syntax: EQUAL<(n)> Specifies that n equally spaced knots be positioned between the extremes of the data. The default is n=3. For a B-spline basis, any needed boundary knots continue to be equally spaced unless the DATABOUNDARY option has also been specified. KNOTMETHOD=EQUAL is the default if no knot-method is specified.\",\"type\":\"standalone\"},{\"name\":\"LIST\",\"followsDelimiter\":\"/\",\"description\":\"Syntax: LIST(number-list) Specifies the list of internal knots to be used in forming the spline basis columns. For a B-spline basis, the data extremes are used as boundary knots.\",\"type\":\"standalone\"},{\"name\":\"LISTWITHBOUNDARY\",\"followsDelimiter\":\"/\",\"description\":\"Syntax: LISTWITHBOUNDARY(number-list) Specifies the list of all knots that are used in forming the spline basis columns.\",\"type\":\"standalone\"},{\"name\":\"MULTISCALE\",\"followsDelimiter\":\"/\",\"description\":\"Syntax: MULTISCALE<(multiscale-options)> Specifies that multiple B-spline bases be generated, corresponding to sets with an increasing number of internal knots. You can control which scales are included with the following multiscale-options: STARTSCALE=n specifies the start scale, where n is a positive integer. The default is STARTSCALE=0. ENDSCALE=n specifies the end scale, where n is a positive integer. The default is ENDSCALE=7.\",\"type\":\"standalone\"},{\"name\":\"PERCENTILES\",\"followsDelimiter\":\"/\",\"description\":\"Syntax: PERCENTILES(n) Requests that internal knots be placed at n equally spaced percentiles of the variable or variables named in the EFFECT statement.\",\"type\":\"standalone\"},{\"name\":\"RANGEFRACTIONS\",\"followsDelimiter\":\"/\",\"description\":\"Syntax: RANGEFRACTIONS(fraction-list) Requests that internal knots be placed at each fraction of the ranges of the variables in the EFFECT statement.\",\"type\":\"standalone\"}]},{\"name\":\"KNOTMIN=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"\",\"help\":\"KNOTMIN=*value*\",\"type\":\"value\"},{\"name\":\"LABELSTYLE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"\",\"help\":\"LABELSTYLE=EXPAND | EXPONENT | INCLUDENAME | PRODUCTSYMBOL=\",\"type\":\"choice\",\"arguments\":[{\"name\":\"EXPAND\",\"followsDelimiter\":\"/\",\"description\":\"Specifies that each variable with an exponent greater than 1 be written as products of that variable.\",\"type\":\"standalone\"},{\"name\":\"EXPONENT\",\"followsDelimiter\":\"/\",\"description\":\"Syntax: EXPONENT <=quoted string> Specifies that each variable with an exponent greater than 1 be written using exponential notation. By default, the symbol ^ is used as the exponentiation operator. If you supply the optional quoted string after an equal sign, then that string is used as the exponentiation operator.\",\"type\":\"standalone\"},{\"name\":\"INCLUDENAME\",\"followsDelimiter\":\"/\",\"description\":\"Specifies that the name of the effect followed by an underscore be used as a prefix for term labels.\",\"type\":\"standalone\"},{\"name\":\"PRODUCTSYMBOL=\",\"followsDelimiter\":\"/\",\"description\":\"Syntax: PRODUCTSYMBOL=NONE | quoted string Specifies that the supplied string be used as the product symbol.\",\"type\":\"value\"}]},{\"name\":\"MDEGREE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"\",\"help\":\"MDEGREE=*n*\",\"type\":\"value\"},{\"name\":\"NLAG=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"\",\"type\":\"value\"},{\"name\":\"NOEFFECT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"[For the MULTIMEMBER effect-type only] Specifies that, for observations with all missing levels of the multimember variables, the values in the corresponding design matrix columns be set to zero.\",\"type\":\"standalone\"},{\"name\":\"NOSEPARATE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"[For the POLYNOMIAL effect-type only] Specifies that the polynomial be treated as a single effect with multiple degrees of freedom. The effect name that you specify is used as the constructed effect name, and the labels of the terms are used as labels of the corresponding parameters.\",\"type\":\"standalone\"},{\"name\":\"PERIOD=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the period variable of the LAG design. The number of periods is the number of unique formatted values of the PERIOD= variable, and the ordering of the period is formed by sorting these formatted values in ascending order. You must specify a PERIOD= variable.\",\"help\":\"PERIOD=*variable*\",\"type\":\"value\"},{\"name\":\"SEPARATE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"[For the SPLINE effect-type only] Specifies that when multiple variables are specified in the EFFECT statement, the spline basis for each variable be treated as a separate effect. The names of these separated effects are formed by appending an underscore followed by the name of the variable to the name that you specify in the EFFECT statement.\",\"type\":\"standalone\"},{\"name\":\"SPLIT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"[For the SPLINE effect-type only] Specifies that each individual column in the design matrix that corresponds to the spline effect be treated as a separate effect that can enter or leave the model independently. Names for these split effects are generated by appending the variable name and an index for each column to the name that you specify in the EFFECT statement.\",\"type\":\"standalone\"},{\"name\":\"STANDARDIZE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies that the variables that define the polynomial be standardized. By default, the standardized variables receive prefix \\\"s_\\\" in the variable names. You can use the following centerscale-opts to specify how the center and scale are estimated: METHOD=MOMENTS specifies that the center be estimated by the variable mean and the scale be estimated by the standard deviation. METHOD=RANGE specifies that the center be estimated by the midpoint of the variable range and the scale be estimated as half the variable range. METHOD=WMOMENTS is the same as METHOD=MOMENTS except that weighted means and weighted standard deviations are used.\",\"help\":\"STANDARDIZECENTER | CENTERSCALE | NONE | SCALE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"CENTER\",\"followsDelimiter\":\"/\",\"description\":\"Specifies that variables be centered but not scaled.\",\"type\":\"standalone\"},{\"name\":\"CENTERSCALE\",\"followsDelimiter\":\"/\",\"description\":\"Specifies that variables be centered and scaled. This is the default if you do not specify a standardization-opt.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"followsDelimiter\":\"/\",\"description\":\"Specifies that no standardization be performed.\",\"type\":\"standalone\"},{\"name\":\"SCALE\",\"followsDelimiter\":\"/\",\"description\":\"Specifies that variables be scaled but not centered.\",\"type\":\"standalone\"}]},{\"name\":\"STDIZE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"[For the MULTIMEMBER effect-type only] Specifies that for each observation, the entries in the design matrix that corresponds to the multimember effect be scaled to have a sum of one.\",\"type\":\"standalone\"},{\"name\":\"WEIGHT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"\",\"help\":\"WEIGHT=*wght-list*\",\"type\":\"value\"},{\"name\":\"WITHIN=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"\",\"type\":\"value\"}]},{\"name\":\"MODEL\",\"description\":\"The MODEL statement names the responses and the predictors, which determine the Y and X matrices of the model, respectively. Usually you simply list the names of the predictor variables as the model effects, but you can also use the effects notation of PROC GLM to specify polynomial effects and interactions. The MODEL statement is required. You can specify only one MODEL statement (in contrast to the REG procedure, for example, which allows several MODEL statements in the same PROC REG run).\",\"help\":\"MODEL &lt;INTERCEPT&gt;&lt;SOLUTION&gt;\",\"arguments\":[{\"name\":\"INTERCEPT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Overrides the default, in which the responses and predictors are centered. When responses and predictors are centered, no intercept is required in the model.\",\"type\":\"standalone\"},{\"name\":\"SOLUTION\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Lists the coefficients of the final predictive model for the responses.\",\"type\":\"standalone\"}]},{\"name\":\"OUTPUT\",\"description\":\"The OUTPUT statement creates a data table that contains observationwise statistics, which are computed after fitting the model. If you do not specify any keywords, then only the predicted values for responses are included.\",\"help\":\"OUTPUT &lt;COPYVAR=variable | COPYVARS=(variables)&gt;&lt;H&gt;&lt;OUT=CAS-libref.data-table&gt; ...\",\"arguments\":[{\"name\":\"COPYVAR=\",\"optional\":true,\"aliases\":[\"COPYVARS=\"],\"description\":\"Copies one or more variables from the input data table to the output data table.\",\"type\":\"value\"},{\"name\":\"H\",\"optional\":true,\"description\":\"Requests the approximate leverage. The default prefix is H.\",\"type\":\"standalone\"},{\"name\":\"OUT=\",\"optional\":true,\"description\":\"Names the output data table for PROC PLSMOD to use. You must specify this option before any other options. CAS-libref.data-table is a two-level name, where CAS-libref refers to a collection of information that is defined in the LIBNAME statement and includes the caslib, which includes a path to where the data table is to be stored, and a session identifier, which defaults to the active session but which can be explicitly defined in the LIBNAME statement.\",\"help\":\"OUT=*CAS-libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"PREDICTED=\",\"optional\":true,\"aliases\":[\"PRED=\",\"P=\"],\"description\":\"Requests predicted values for each response. The default prefix is Pred.\",\"type\":\"value\"},{\"name\":\"PRESS=\",\"optional\":true,\"description\":\"Requests approximate predicted residuals for each response. The default prefix is PRESS.\",\"type\":\"value\"},{\"name\":\"ROLE=\",\"optional\":true,\"description\":\"Requests numeric values that indicate the role played by each observation in fitting the model. The default prefix is _ROLE_.\",\"type\":\"value\"},{\"name\":\"STDX=\",\"optional\":true,\"description\":\"Requests standardized (centered and scaled) predictor values for each predictor. The default prefix is StdX.\",\"type\":\"value\"},{\"name\":\"STDXSSE=\",\"optional\":true,\"description\":\"Requests the sum of squares of residuals for standardized predictors. The default prefix is StdXSSE.\",\"type\":\"value\"},{\"name\":\"STDY=\",\"optional\":true,\"description\":\"Requests standardized (centered and scaled) response values for each response. The default prefix is StdY.\",\"type\":\"value\"},{\"name\":\"STDYSSE=\",\"optional\":true,\"description\":\"Requests the sum of squares of residuals for standardized responses. The default prefix is StdYSSE.\",\"type\":\"value\"},{\"name\":\"TSQUARE=\",\"optional\":true,\"aliases\":[\"T2=\"],\"description\":\"Requests a scaled sum of squares of score values. The default prefix is TSquare.\",\"type\":\"value\"},{\"name\":\"XRESIDUAL=\",\"optional\":true,\"aliases\":[\"XRESID=\",\"XR=\"],\"description\":\"Requests residuals for each predictor. The default prefix is XResid.\",\"type\":\"value\"},{\"name\":\"XSCORE=\",\"optional\":true,\"description\":\"Requests extracted factors (X-scores, latent vectors, latent variables, and T) for each selected model factor. The default prefix is XScore.)\",\"type\":\"value\"},{\"name\":\"YRESIDUAL=\",\"optional\":true,\"aliases\":[\"YRESID=\",\"YR=\"],\"description\":\"Requests residuals for each response. The default prefix is YResid.\",\"type\":\"value\"},{\"name\":\"YSCORE=\",\"optional\":true,\"description\":\"Requests extracted responses (Y-scores and U) for each selected model factor. The default prefix is YScore.\",\"type\":\"value\"}]},{\"name\":\"PARTITION\",\"description\":\"The PARTITION statement specifies how to logically partition observations in the input data table into disjoint subsets for model training and testing. Either you can designate a variable in the input data table and a set of formatted values of that variable to determine the role of each observation, or you can specify proportions to use for random assignment of observations to each role.\",\"help\":\"PARTITION &lt;FRACTION( &lt;TEST=fraction&gt; &lt;SEED=number&gt; )&gt;&lt;ROLEVAR | ROLE=variable (&lt;TEST='value'&gt; &lt;TRAIN='value'&gt;)&gt;\",\"arguments\":[{\"name\":\"FRACTION=\",\"optional\":true,\"description\":\"Requests that specified proportions of the observations in the input data table be randomly assigned training and testing roles. You specify the proportions for testing by using the TEST= suboption; the specified fraction must be less than 1 and the remaining fraction of the observations are assigned to the training role. If you do not specify the TEST= suboption, all observations are assigned to the training role. The SEED= suboption specifies an integer that is used to start the pseudorandom number generator for random partitioning of data for training and testing. If you do not specify SEED=number or if number is less than or equal to 0, the seed is generated by reading the time of day from the computer’s clock.\",\"help\":\"FRACTION=TEST= | SEED=\",\"type\":\"choice\",\"arguments\":[{\"name\":\"TEST=\",\"type\":\"value\"},{\"name\":\"SEED=\",\"type\":\"value\"}]},{\"name\":\"ROLEVAR=\",\"optional\":true,\"aliases\":[\"ROLE=\"],\"description\":\"Names the variable in the input data table whose values are used to assign roles to each observation. This variable cannot also appear as an analysis variable in other statements or options. The TEST= and TRAIN= suboptions specify the formatted values of this variable that are used to assign observation roles. If you specify only the TEST= suboption, then all observations whose role is not determined by the TEST= suboption are assigned to training.\",\"help\":\"ROLEVAR=TRAIN= | TEST=\",\"type\":\"choice\",\"arguments\":[{\"name\":\"TRAIN=\",\"type\":\"value\"},{\"name\":\"TEST=\",\"type\":\"value\"}]}]}],\"supportSiteInformation\":{\"docsetId\":\"casstat\",\"docsetVersion\":\"latest\",\"docsetTargetFile\":\"casstat_plsmod_toc.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/PM.json",
    "content": "{\"name\":\"PM\",\"statements\":[{\"name\":\"PROC PM\",\"description\":\"The PM procedure is an interactive procedure that can be used for planning, controlling, and monitoring a project. The syntax and the scheduling features of PROC PM are virtually the same as those of the CPM procedure. However, because the PM procedure is interactive, there are a few extra options that are available and a few other options that have a default behavior that is different from the CPM procedure.\",\"help\":\"PROC PM <CALEDATA=SAS-data-set><COLLAPSE><DATA=SAS-data-set><DATE=><DAYLENGTH=daylength><DAYSTART=daystart><FBDATE=fbdate><FINISHBEFORE><FIXFINISH><HOLIDATA=SAS-data-set><INTERVAL=DAY | WEEK | WEEKDAY... ><INTPER=period><NACTS=nacts><NADJ=nadj><NNODES=nnodes><NODISPLAY><NOUTIL><NRESREQ=nres><OUT=SAS-data-set><PROJECT=SAS-data-set><PROJECTNAME='string'><RESOURCEIN= |RESIN=| RIN= | RESLEVEL= SAS-data-set><RESOURCEOUT=SAS-data-set><RESOURCESCHED=SAS-data-set><SETFINISHMILESTONE><SUMMARYNAME='string'><SUPPRESSOBSWARN><WORKDATA=SAS-data-set>;     \\n\\tACTIVITY | ACT variable ;\\n\\n\\tACTUAL <A_FINISH=variable | AF=variable><A_START=variable | AS=variable><FIXASTART> ...;\\n\\n\\tALIGNDATE | DATE | ADATE variable ;\\n\\n\\tALIGNTYPE | ALIGN | ATYPE variable ;\\n\\n\\tBASELINE <B_FINISH= | BF= variable><B_START= | BS= variable><COMPARE=schedule> ...;\\n\\n\\tCALID variable ;\\n\\n\\tDURATION <FINISH=variable><OVERRIDEDUR><START=variable> ...;\\n\\n\\tHOLIDAY <HOLIDUR= | HDURATION= variable><HOLIFIN=variable | HOLIEND=variable> ;\\n\\n\\tID variables ;\\n\\n\\tPROJECT <AGGREGATEPARENTRES><IGNOREPARENTRES><RSCHEDORDER> ...;\\n\\n\\tRESOURCE <ACTDELAY=variable><ACTIVITYPRTY=variable><ADDCAL> ...;\\n\\n\\tSUCCESSOR <ALAGCAL=calname><LAG=variables><NLAGCAL=calnum> ...;\\n\",\"arguments\":[{\"name\":\"CALEDATA=\",\"optional\":true,\"aliases\":[\"CALENDAR=\"],\"description\":\"Identifies a SAS data set that specifies the work pattern during a standard week for each of the calendars that are to be used in the project.\",\"help\":\"CALEDATA=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"COLLAPSE\",\"optional\":true,\"description\":\"Creates only one observation per activity in the output data set when the input data set for a network in AON format contains multiple observations for the same activity.\",\"type\":\"standalone\"},{\"name\":\"DATA=\",\"optional\":true,\"description\":\"Names the SAS data set that contains the network specification and activity information.\",\"help\":\"DATA=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"DATE=\",\"optional\":true,\"description\":\"Specifies the SAS date, time, or datetime that is to be used as an alignment date for the project.\",\"type\":\"value\"},{\"name\":\"DAYLENGTH=\",\"optional\":true,\"description\":\"Specifies the length of the workday. On each day, work is scheduled starting at the beginning of the day as specified in the DAYSTART= option and ending daylength hours later. The DAYLENGTH= value should be a SAS time value.\",\"help\":\"DAYLENGTH=*daylength*\",\"type\":\"value\"},{\"name\":\"DAYSTART=\",\"optional\":true,\"description\":\"Specifies the start of the workday. The DAYSTART= value should be a SAS time value. This parameter should be specified only when interval is one of the following: DTDAY, WORKDAY, DTWRKDAY, DTHOUR, DTMINUTE, or DTSECOND; in other words, this parameter should be specified only if the schedule produced by the CPM procedure is in SAS datetime values. The default value of daystart is 9 a.m. if INTERVAL is WORKDAY; otherwise, the value of daystart is equal to the time part of the SAS datetime value specified for the DATE= option.\",\"help\":\"DAYSTART=*daystart*\",\"type\":\"value\"},{\"name\":\"FBDATE=\",\"optional\":true,\"description\":\"Specifies a finish-before date that can be specified in addition to the DATE= option.\",\"help\":\"FBDATE=*fbdate*\",\"type\":\"value\"},{\"name\":\"FINISHBEFORE\",\"optional\":true,\"description\":\"Specifies that the project be scheduled to complete before the date given in the DATE= option.\",\"type\":\"standalone\"},{\"name\":\"FIXFINISH\",\"optional\":true,\"description\":\"Specifies that all finish tasks are to be constrained by their respective early finish times. In other words, the late finish times of all finish tasks do not float to the project completion time.\",\"type\":\"standalone\"},{\"name\":\"HOLIDATA=\",\"optional\":true,\"aliases\":[\"HOLIDAY=\"],\"description\":\"Identifies a SAS data set that specifies holidays.\",\"help\":\"HOLIDATA=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"INTERVAL=\",\"optional\":true,\"description\":\"Requests that each unit of duration be measured in interval units.\",\"help\":\"INTERVAL=DAY | WEEK | WEEKDAY | WORKDAY | MONTH | QTR | YEAR | HOUR | MINUTE | SECOND | DTDAY | DTWRKDAY | DTWEEK | DTMONTH | DTQTR | DTYEAR | DTHOUR | DTMINUTE | DTSECOND\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DAY\",\"description\":\"Day\",\"type\":\"standalone\"},{\"name\":\"WEEK\",\"description\":\"Week\",\"type\":\"standalone\"},{\"name\":\"WEEKDAY\",\"description\":\"Day (5-day week)\",\"type\":\"standalone\"},{\"name\":\"WORKDAY\",\"description\":\"Day (5-day week: 9-5 day)\",\"type\":\"standalone\"},{\"name\":\"MONTH\",\"description\":\"Month\",\"type\":\"standalone\"},{\"name\":\"QTR\",\"description\":\"Quarter\",\"type\":\"standalone\"},{\"name\":\"YEAR\",\"description\":\"Year\",\"type\":\"standalone\"},{\"name\":\"HOUR\",\"description\":\"Hour\",\"type\":\"standalone\"},{\"name\":\"MINUTE\",\"description\":\"Minute\",\"type\":\"standalone\"},{\"name\":\"SECOND\",\"description\":\"Second\",\"type\":\"standalone\"},{\"name\":\"DTDAY\",\"description\":\"Day (7-day week)\",\"type\":\"standalone\"},{\"name\":\"DTWRKDAY\",\"description\":\"Day (5-day week)\",\"type\":\"standalone\"},{\"name\":\"DTWEEK\",\"description\":\"Week\",\"type\":\"standalone\"},{\"name\":\"DTMONTH\",\"description\":\"Month\",\"type\":\"standalone\"},{\"name\":\"DTQTR\",\"description\":\"Quarter\",\"type\":\"standalone\"},{\"name\":\"DTYEAR\",\"description\":\"Year\",\"type\":\"standalone\"},{\"name\":\"DTHOUR\",\"description\":\"Hour\",\"type\":\"standalone\"},{\"name\":\"DTMINUTE\",\"description\":\"Minute\",\"type\":\"standalone\"},{\"name\":\"DTSECOND\",\"description\":\"Second\",\"type\":\"standalone\"}]},{\"name\":\"INTPER=\",\"optional\":true,\"description\":\"Requests that each unit of duration be equivalent to period units of duration. The default value is 1.\",\"help\":\"INTPER=*period*\",\"type\":\"value\"},{\"name\":\"NACTS=\",\"optional\":true,\"description\":\"Specifies the number of activities for which memory is allocated in core by the procedure.\",\"help\":\"NACTS=*nacts*\",\"type\":\"value\"},{\"name\":\"NADJ=\",\"optional\":true,\"description\":\"Specifies the number of precedence constraints (adjacencies) in the project network.\",\"help\":\"NADJ=*nadj*\",\"type\":\"value\"},{\"name\":\"NNODES=\",\"optional\":true,\"description\":\"Specifies the size of the symbolic table used to look up the activity names (node names) for the network specification in AON (AOA) format.\",\"help\":\"NNODES=*nnodes*\",\"type\":\"value\"},{\"name\":\"NODISPLAY\",\"optional\":true,\"description\":\"Invokes the procedure in a noninteractive mode. The schedule for the project is still computed and the requested output data sets are created and saved. However, the PM window is not displayed. This option is useful for scheduling large projects that do not need to be updated interactively.\",\"type\":\"standalone\"},{\"name\":\"NOUTIL\",\"optional\":true,\"description\":\"Specifies that the procedure should not use utility data sets for memory management.\",\"type\":\"standalone\"},{\"name\":\"NRESREQ=\",\"optional\":true,\"description\":\"Specifies the number of distinct resource requirements corresponding to all activities and resources in the project.\",\"help\":\"NRESREQ=*nres*\",\"type\":\"value\"},{\"name\":\"OUT=\",\"optional\":true,\"description\":\"Specifies a name for the output data set that contains the schedule determined by PROC PM.\",\"help\":\"OUT=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"PROJECT=\",\"optional\":true,\"description\":\"Identifies a SAS data set that can be used to save and restore preferences that control the project view.\",\"help\":\"PROJECT=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"PROJECTNAME=\",\"optional\":true,\"aliases\":[\"PROJNAME=\",\"NAME=\"],\"description\":\"Specifies a descriptive string identifying the name of the project. This string is used to label the PM window.\",\"help\":\"PROJECTNAME='*string*'\",\"type\":\"value\"},{\"name\":\"RESOURCEIN=\",\"optional\":true,\"aliases\":[\"RESIN=\",\"SIN=\",\"RESLEVEL=\"],\"description\":\"Names the SAS data set that contains the levels available for the different resources used by the activities in the project.\",\"type\":\"value\"},{\"name\":\"RESOURCEOUT=\",\"optional\":true,\"aliases\":[\"RESOUT=\",\"ROUT=\",\"RESUSAGE=\"],\"description\":\"Names the SAS data set in which you can save resource usage profiles for each of the resources specified in the RESOURCE statement. This data set is also referred to as the Usage data set.\",\"help\":\"RESOURCEOUT=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"RESOURCESCHED=\",\"optional\":true,\"aliases\":[\"RESSCHED=\",\"RSCHEDULE=\",\"RSCHED=\"],\"description\":\"Names the SAS data set in which you can save the schedules for each resource used by any activity.\",\"help\":\"RESOURCESCHED=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"SETFINISHMILESTONE\",\"optional\":true,\"description\":\"Specifies that milestones (zero duration activities) should have the same start and finish times as the finish time of their predecessor.\",\"type\":\"standalone\"},{\"name\":\"SUMMARYNAME=\",\"optional\":true,\"aliases\":[\"SUMMARY=\",\"PROJECTSUMMARY=\"],\"description\":\"Specifies a descriptive string identifying the summary task.\",\"help\":\"SUMMARYNAME='*string*'\",\"type\":\"value\"},{\"name\":\"SUPPRESSOBSWARN\",\"optional\":true,\"description\":\"Turns off the display of warnings and notes for every observation with invalid or missing specifications.\",\"type\":\"standalone\"},{\"name\":\"WORKDATA=\",\"optional\":true,\"description\":\"Identifies a SAS data set that defines the work pattern during a standard working day.\",\"help\":\"WORKDATA=*SAS-data-set*\",\"type\":\"dataSet\"}]},{\"name\":\"ACTIVITY\",\"aliases\":[\"ACT\"],\"description\":\"The ACTIVITY statement is required when data are input in an AON format; this statement identifies the variable that contains the names of the nodes in the network.\",\"help\":\"ACTIVITY | ACT variable \"},{\"name\":\"ACTUAL\",\"description\":\"The ACTUAL statement identifies variables in the Activity data set that contain progress information about the activities in the project.\",\"help\":\"ACTUAL &lt;A_FINISH=variable | AF=variable&gt;&lt;A_START=variable | AS=variable&gt;&lt;FIXASTART&gt; ...\",\"arguments\":[{\"name\":\"A_FINISH=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"AF=\"],\"description\":\"Identifies a variable in the Activity data set that specifies the actual finish times of activities that are already completed. The actual finish time of an activity must be less than TIMENOW.\",\"type\":\"value\"},{\"name\":\"A_START=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"AS=\"],\"description\":\"Identifies a variable in the Activity data set that specifies the actual start times of activities that are in progress or that are already completed. The actual start time of an activity must be less than TIMENOW.\",\"type\":\"value\"},{\"name\":\"FIXASTART\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies that the actual start time of an activity should not be overwritten if it is specified to be on a non-work day.\",\"type\":\"standalone\"},{\"name\":\"NOAUTOUPDT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that PROC PM should not assume automatic completion of activities. (The NOAUTOUPDT option is the reverse of the AUTOUPDT option.)\",\"type\":\"standalone\"},{\"name\":\"PCTCOMPLETE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"PCTCOMP=\",\"PCOMP=\"],\"description\":\"Identifies a variable in the Activity data set that specifies the percentage of the work that has been completed for the current activity. The values for this variable must be between 0 and 100. A value of 0 for this variable means that the current activity has not yet started. A value of 100 means that the activity is already complete.\",\"type\":\"value\"},{\"name\":\"RDURATION=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"See the REMDUR= option.\",\"type\":\"value\"},{\"name\":\"REMDUR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Identifies a variable in the Activity data set that specifies the remaining duration of activities that are in progress.\",\"help\":\"REMDUR=*variable*\",\"type\":\"value\"},{\"name\":\"TIMENOW=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"CURRDATE=\"],\"description\":\"Specifies the SAS date, time, or datetime value that is used as a reference point to resolve the values of the remaining duration and percent completion times when the ACTUAL statement is used.\",\"help\":\"TIMENOW=*timenow*\",\"type\":\"value\"},{\"name\":\"TIMENOWSPLT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Indicates that activities that are in progress at TIMENOW can be split at TIMENOW if they cause resource infeasibilities.\",\"type\":\"standalone\"}]},{\"name\":\"ALIGNDATE\",\"aliases\":[\"DATE\",\"ADATE\"],\"description\":\"The ALIGNDATE statement identifies the variable in the Activity data set that specifies the dates to be used to constrain each activity to start or finish on a particular date. The ALIGNDATE statement is used in conjunction with the ALIGNTYPE statement, which specifies the type of alignment. A missing value for the variables specified in the ALIGNDATE statement indicates that the particular activity has no restriction imposed on it. PROC PM requires that if the ALIGNDATE statement is used, then all start activities (activities with no predecessors) have nonmissing values for the ALIGNDATE variable. If any start activity has a missing ALIGNDATE value, it is assumed to start on the date specified in the PROC PM statement (if such a date is given) or, if no date is given, on the earliest specified start date of all start activities. If none of the start activities has a start date specified and a project start date is not specified in the PROC PM statement, the procedure stops execution and returns an error message.\",\"help\":\"ALIGNDATE | DATE | ADATE variable \"},{\"name\":\"ALIGNTYPE\",\"aliases\":[\"ALIGN\",\"ATYPE\"],\"description\":\"The ALIGNTYPE statement is used to specify whether the date value in the ALIGNDATE statement is the earliest start date, the latest finish date, and so forth, for the activity in the observation. The values allowed for the variable specified in the ALIGNTYPE statement are: SEQ Start equal to SGE Start greater than or equal to SLE Start less than or equal to FEQ Finish equal to FGE Finish greater than or equal to FLE Finish less than or equal to MS Mandatory start equal to MF Mandatory finish equal to\",\"help\":\"ALIGNTYPE | ALIGN | ATYPE variable \"},{\"name\":\"BASELINE\",\"description\":\"The BASELINE statement enables you to save a specific schedule as a baseline or target schedule and compare another schedule, such as an updated schedule or resource constrained schedule, against it.\",\"help\":\"BASELINE &lt;B_FINISH= | BF= variable&gt;&lt;B_START= | BS= variable&gt;&lt;COMPARE=schedule&gt; ...\",\"arguments\":[{\"name\":\"B_FINISH=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"BF=\"],\"description\":\"Specifies the numeric-valued variable in the Activity data set that sets B_FINISH.\",\"type\":\"value\"},{\"name\":\"B_START=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"BS=\"],\"description\":\"Specifies the numeric-valued variable in the Activity data set that sets B_START.\",\"type\":\"value\"},{\"name\":\"COMPARE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Compares a specific schedule (EARLY, LATE, RESOURCE or ACTUAL) in the Activity data set with the baseline schedule.\",\"help\":\"COMPARE=*schedule*\",\"type\":\"value\"},{\"name\":\"SET=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies which of the four schedules (EARLY, LATE, RESOURCE, or ACTUAL) to set the baseline schedule equal to. The SET= option causes the addition of two new variables in the Schedule data set; these are the B_START and B_FINISH variables.\",\"help\":\"SET=*schedule*\",\"type\":\"value\"},{\"name\":\"UPDATE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the name of the schedule (EARLY, LATE, ACTUAL, or RESOURCE) that can be used to update the B_START and B_FINISH variables.\",\"help\":\"UPDATE=*schedule*\",\"type\":\"value\"}]},{\"name\":\"CALID\",\"description\":\"The CALID statement specifies the name of a SAS variable that is used in the Activity, Holiday, and Calendar data sets to identify the calendar to which each observation refers. This variable can be either numeric or character depending on whether the different calendars are identified by unique numbers or names. If this variable is not found in any of the three data sets, PROC PM looks for a default variable named _CAL_ in each data set (a warning message is then printed to the log).\",\"help\":\"CALID variable \"},{\"name\":\"DURATION\",\"aliases\":[\"DUR\"],\"description\":\"The DURATION statement identifies the variable in the Activity data set that contains the length of time necessary to complete the activity. If the network is input in AOA format, then the variable identifies the duration of the activity denoted by the arc joining the TAILNODE and the HEADNODE. If the network is input in AON format, then the variable identifies the duration of the activity specified in the ACTIVITY statement. The variable specified must be numeric. The DURATION statement must be specified. The values of the DURATION variable are assumed to be in interval units, where interval is the value of the INTERVAL= option.\",\"help\":\"DURATION &lt;FINISH=variable&gt;&lt;OVERRIDEDUR&gt;&lt;START=variable&gt; ...\",\"arguments\":[{\"name\":\"FINISH=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies a variable in the Activity data set that is to be used in conjunction with the START variable to determine the activity's duration.\",\"help\":\"FINISH=*variable*\",\"type\":\"value\"},{\"name\":\"OVERRIDEDUR\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies that if the START= and FINISH= values are not missing, the duration computed from these values is to be used in place of the duration specified for the activity. In other words, the computed duration is used in place of the duration specified for the activity.\",\"type\":\"standalone\"},{\"name\":\"START=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies a variable in the Activity data set that is to be used in conjunction with the FINISH variable to determine the activity's duration.\",\"help\":\"START=*variable*\",\"type\":\"value\"}]},{\"name\":\"HOLIDAY\",\"aliases\":[\"HOLIDAYS\"],\"description\":\"The HOLIDAY statement specifies the names of variables used to describe non-workdays in the Holiday data set. PROC PM accounts for holidays only when the INTERVAL= option has one of the following values: DAY, WORKDAY, WEEKDAY, DTDAY, DTWRKDAY, DTHOUR, DTMINUTE, or DTSECOND. The HOLIDAY statement must be used with the HOLIDATA= option in the PROC PM statement. Recall that the HOLIDATA= option identifies the SAS data set that contains a list of the holidays and non-workdays around which you schedule your project. Holidays are defined by specifying the start of the holiday (the HOLIDAY variable) and either the length of the holiday (the HOLIDUR variable) or the finish time of the holiday (the HOLIFIN variable). The HOLIDAY variable is mandatory with the HOLIDAY statement; the HOLIDUR and HOLIFIN variables are optional.\",\"help\":\"HOLIDAY &lt;HOLIDUR= | HDURATION= variable&gt;&lt;HOLIFIN=variable | HOLIEND=variable&gt;\",\"arguments\":[{\"name\":\"HOLIDUR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"HDURATION=\"],\"description\":\"Identifies a variable in the Holiday data set that specifies the duration of the holiday. The INTERVAL= option specified on the PROC PM statement is used to interpret the value of the holiday duration variables.\",\"type\":\"value\"},{\"name\":\"HOLIFIN=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"HOLIEND=\"],\"description\":\"Identifies a variable in the Holiday data set that specifies the finish time of the holiday defined in that observation. If a particular observation contains both the duration as well as the finish time of the holiday, only the finish time is used; the duration is ignored.\",\"type\":\"value\"}]},{\"name\":\"ID\",\"description\":\"The ID statement identifies variables not specified in the TAILNODE, HEADNODE, ACTIVITY, SUCCESSOR, or DURATION statements that are to be included in the Schedule data set. This statement is useful for carrying any relevant information about each activity from the Activity data set to the Schedule data set.\",\"help\":\"ID variables \"},{\"name\":\"PROJECT\",\"aliases\":[\"PARENT\"],\"description\":\"The PROJECT statement specifies the variable in the Activity data set that identifies the project to which an activity belongs. This variable must be of the same type and length as the variable defined in the ACTIVITY statement. A project can also be treated as an activity with precedence and time constraints. In other words, any value of the PROJECT variable can appear as a value of the ACTIVITY variable, and it can have specifications for the DURATION, ALIGNDATE, ALIGNTYPE, ACTUAL, RESOURCE, and SUCCESSOR variables. However, some of the interpretations of these variables for a project (or supertask) may be different from the corresponding interpretation for an activity at the lowest level.\",\"help\":\"PROJECT &lt;AGGREGATEPARENTRES&gt;&lt;IGNOREPARENTRES&gt;&lt;RSCHEDORDER&gt; ...\",\"arguments\":[{\"name\":\"AGGREGATEPARENTRES\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"AGGREGATEP_RES\",\"AGGREGPR\"],\"description\":\"Indicates that the resource requirements for all supertasks are to be used only for aggregation purposes and not for resource-constrained scheduling.\",\"type\":\"standalone\"},{\"name\":\"IGNOREPARENTRES\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"IGNOREP_RES\",\"IGNOREPR\"],\"description\":\"Indicates that the resource requirements for all supertasks are to be ignored.\",\"type\":\"standalone\"},{\"name\":\"RSCHEDORDER\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"RSCHDORD\",\"RSORDER\"],\"description\":\"Indicates that the order variables that are included in the Schedule output data set are also to be included in the Resource Schedule output data set.\",\"type\":\"standalone\"},{\"name\":\"RSCHEDWBS\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"RSCHDWBS\",\"RSWBS\"],\"description\":\"Indicates that the WBS code is also to be included in the Resource Schedule data set.\",\"type\":\"standalone\"},{\"name\":\"SEPCRIT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Computes individual critical paths for each project.\",\"type\":\"standalone\"},{\"name\":\"USEPROJDUR\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"USEPROJDURSPEC\",\"USESPECDUR\"],\"description\":\"Uses the specified subproject duration to compute the maximum allowed late finish for each subproject. This is similar to the SEPCRIT option, except that the specified project duration is used to set an upper bound on each subproject's late finish time instead of the project span as computed from the span of all the subtasks of the project.\",\"type\":\"standalone\"}]},{\"name\":\"RESOURCE\",\"aliases\":[\"RES\"],\"description\":\"The RESOURCE statement identifies the variables in the Activity data set that contain the levels of the various resources required by the different activities. This statement is necessary if the procedure is required to summarize resource utilization for various resources.\",\"help\":\"RESOURCE &lt;ACTDELAY=variable&gt;&lt;ACTIVITYPRTY=variable&gt;&lt;ADDCAL&gt; ...\",\"arguments\":[{\"name\":\"ACTDELAY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the name of a variable in the Activity data set that specifies a value for the maximum amount of delay allowed for each activity. The values of this variable should be greater than or equal to 0. If a value is missing, the value of the DELAY= option is used instead.\",\"help\":\"ACTDELAY=*variable*\",\"type\":\"value\"},{\"name\":\"ACTIVITYPRTY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"ACTPRTY=\"],\"description\":\"Identifies the variable in the Activity data set that contains the priority of each activity. This option is required if resource-constrained scheduling is to be performed and the scheduling rule specified is ACTPRTY.\",\"help\":\"ACTIVITYPRTY=*variable*\",\"type\":\"value\"},{\"name\":\"ADDCAL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that a variable, _CAL_, be added to the Resource Schedule data set that identifies the resource calendar for each resource used by each activity. For observations that summarize the activity's schedule, this variable identifies the activity's calendar.\",\"type\":\"standalone\"},{\"name\":\"ALL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Is equivalent to specifying the ESPROFILE and LSPROFILE options when an unconstrained schedule is obtained and is equivalent to specifying all four options, AVPROFILE (AVP), ESPROFILE (ESP), LSPROFILE (LSP), and RCPROFILE (RCP), when a resource-constrained schedule is obtained.\",\"type\":\"standalone\"},{\"name\":\"ALTBEFORESUP\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Indicates that all alternate resources are to be checked first before using supplementary resources.\",\"type\":\"standalone\"},{\"name\":\"APPEND\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"APPENDINTXRATE\",\"APPENDRATEXINT\",\"APPENDUSAGE\"],\"description\":\"Indicates that the Usage data set is to contain two sets of observations: the first set indicates the rate of usage for each resource at the beginning of the current time period, and the second set contains the total usage of each resource for the current time period.\",\"type\":\"standalone\"},{\"name\":\"AROUTCAL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the name of the calendar to be used for incrementing the _TIME_ variable in the Usage data set.\",\"help\":\"AROUTCAL=*calname*\",\"type\":\"value\"},{\"name\":\"AVPROFILE\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"AVP\",\"AVL\"],\"description\":\"Creates one variable in the Usage data set corresponding to each variable in the RESOURCE statement.\",\"type\":\"standalone\"},{\"name\":\"AWAITDELAY\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Forces PROC PM to wait until L_STARTdelay, where delay is the maximum delay allowed for the activity (which is the value of the ACTDELAY= variable or the DELAY= option), before an activity is scheduled using supplementary levels of resources.\",\"type\":\"standalone\"},{\"name\":\"CUMUSAGE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies that the Usage data set should indicate the cumulative usage of consumable resources.\",\"type\":\"standalone\"},{\"name\":\"DELAYANALYSIS\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"SLIPINF\"],\"description\":\"Causes the addition of three new variables to the Schedule data set. The variables are R_DELAY, DELAY_R and SUPPL_R.\",\"type\":\"standalone\"},{\"name\":\"ESPROFILE\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"ESP\",\"ESS\"],\"description\":\"Creates one variable in the Usage data set corresponding to each variable in the RESOURCE statement. Each new variable denotes the resource usage based on the early start schedule for the corresponding resource variable.\",\"type\":\"standalone\"},{\"name\":\"EXCLUNSCHED\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Excludes the resource consumption corresponding to unscheduled activities from the daily resource usage reported for each time period in the Usage data set.\",\"type\":\"standalone\"},{\"name\":\"E_START\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that the E_START and E_FINISH variables, namely the variables specifying the early start schedule, be included in the Schedule data set in addition to the S_START and S_FINISH variables.\",\"type\":\"standalone\"},{\"name\":\"FILLUNSCHED\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"FILLMISSING\"],\"description\":\"Fills in S_START and S_FINISH values for activities that are still unscheduled when resource constrained scheduling is stopped either by the STOPDATE= option or due to resource infeasibilities.\",\"type\":\"standalone\"},{\"name\":\"F_FLOAT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that the Schedule data set include the F_FLOAT variable computed using the unconstrained early and late start schedules.\",\"type\":\"standalone\"},{\"name\":\"INCLUNSCHED\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Enables the inclusion of activities that are still unscheduled in the computation of daily (or cumulative) resource usage in the Usage data set when resource-constrained scheduling is stopped either by the STOPDATE= option or due to resource infeasibilities.\",\"type\":\"standalone\"},{\"name\":\"INDEPENDENTALLOC\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"INDEPALLOC\"],\"description\":\"Enables each resource to be scheduled independently for each activity during resource-constrained scheduling.\",\"type\":\"standalone\"},{\"name\":\"LSPROFILE\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"LSP\",\"LSS\"],\"description\":\"Creates one variable in the Usage data set corresponding to each variable in the RESOURCE statement.\",\"type\":\"standalone\"},{\"name\":\"L_START\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that the L_START and L_FINISH variables, namely the variables specifying the late start schedule, be included in the Schedule data set in addition to the S_START and S_FINISH variables.\",\"type\":\"standalone\"},{\"name\":\"MAXDATE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the maximum value of the _TIME_ variable in the Usage data set. The default value of maxdate is the maximum finish time for all of the schedules for which a usage profile was requested.\",\"help\":\"MAXDATE=*maxdate*\",\"type\":\"value\"},{\"name\":\"MAXNSEGMT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"MAXNSEG=\"],\"description\":\"Specifies a variable in the Activity data set that indicates the maximum number of segments that the current activity can be split into.\",\"help\":\"MAXNSEGMT=*variable*\",\"type\":\"value\"},{\"name\":\"MILESTONENORESOURCE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies that milestone activities do not consume resources. This implies that all resource requirements are ignored for milestone activities. This is the default behavior.\",\"type\":\"standalone\"},{\"name\":\"MILESTONERESOURCE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies that milestone activities consume resources. If a nonzero requirement is specified for a milestone, the corresponding consumable resources are used at the scheduled time of that milestone.\",\"type\":\"standalone\"},{\"name\":\"MINDATE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the minimum value of the _TIME_ variable in the Usage data set. The default value of mindate is the minimum start time for all of the schedules for which a usage profile is requested.\",\"help\":\"MINDATE=*mindate*\",\"type\":\"value\"},{\"name\":\"MINSEGMTDUR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"MINSEGD=\"],\"description\":\"Specifies a variable in the Activity data set that indicates the minimum duration of any segment of the current activity. A missing value for this variable is set to a value equal to one fifth of the activity's duration.\",\"help\":\"MINSEGMTDUR=*variable*\",\"type\":\"value\"},{\"name\":\"MULTIPLEALTERNATES\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"MULTALT\"],\"description\":\"Indicates that multiple alternate resources can be used to substitute for a single resource.\",\"type\":\"standalone\"},{\"name\":\"NOE_START\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that the E_START and E_FINISH variables, namely the variables specifying the early start schedule, be dropped from the Schedule data set. Note that the default is E_START.\",\"type\":\"standalone\"},{\"name\":\"NOF_FLOAT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that the F_FLOAT variable be dropped from the Schedule data set when resource-constrained scheduling is requested. This is the default behavior.\",\"type\":\"standalone\"},{\"name\":\"NORESOURCEVARS\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"NORESVARSOUT\",\"NORESVARS\"],\"description\":\"Requests that the variables specified in the RESOURCE statement be dropped from the Schedule data set.\",\"type\":\"standalone\"},{\"name\":\"NOT_FLOAT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that the T_FLOAT variable be dropped from the Schedule data set when resource-constrained scheduling is requested. This is the default behavior.\",\"type\":\"standalone\"},{\"name\":\"NROUTCAL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the number of the calendar to be used for incrementing the _TIME_ variable in the Usage data set.\",\"help\":\"NROUTCAL=*calnum*\",\"type\":\"value\"},{\"name\":\"OBSTYPE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies a character variable in the Resource data set that contains the type identifier for each observation.\",\"help\":\"OBSTYPE=RESLEVEL | RESTYPE | RESUSAGE | RESPRTY | SUPLEVEL | ALTRATE | ALTPRTY | RESRCDUR | CALENDAR | MULTALT | MINARATE | AUXRES\",\"type\":\"choice\",\"arguments\":[{\"name\":\"RESLEVEL\",\"followsDelimiter\":\"/\",\"description\":\"RESLEVEL variable\",\"type\":\"standalone\"},{\"name\":\"RESTYPE\",\"followsDelimiter\":\"/\",\"description\":\"RESTYPE variable\",\"type\":\"standalone\"},{\"name\":\"RESUSAGE\",\"followsDelimiter\":\"/\",\"description\":\"RESUSAGE variable\",\"type\":\"standalone\"},{\"name\":\"RESPRTY\",\"followsDelimiter\":\"/\",\"description\":\"RESPRTY variable\",\"type\":\"standalone\"},{\"name\":\"SUPLEVEL\",\"followsDelimiter\":\"/\",\"description\":\"SUPLEVEL variable\",\"type\":\"standalone\"},{\"name\":\"ALTRATE\",\"followsDelimiter\":\"/\",\"description\":\"ALTRATE variable\",\"type\":\"standalone\"},{\"name\":\"ALTPRTY\",\"followsDelimiter\":\"/\",\"description\":\"ALTPRTY variable\",\"type\":\"standalone\"},{\"name\":\"RESRCDUR\",\"followsDelimiter\":\"/\",\"description\":\"RESRCDUR variable\",\"type\":\"standalone\"},{\"name\":\"CALENDAR\",\"followsDelimiter\":\"/\",\"description\":\"CALENDAR variable\",\"type\":\"standalone\"},{\"name\":\"MULTALT\",\"followsDelimiter\":\"/\",\"description\":\"MULTALT variable\",\"type\":\"standalone\"},{\"name\":\"MINARATE\",\"followsDelimiter\":\"/\",\"description\":\"MINARATE variable\",\"type\":\"standalone\"},{\"name\":\"AUXRES\",\"followsDelimiter\":\"/\",\"description\":\"AUXRES variable\",\"type\":\"standalone\"}]},{\"name\":\"PERIOD=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"PER=\"],\"description\":\"Identifies the variable in the RESOURCEIN= data set that specifies the date from which a specified level of the resource is available for each observation with the OBSTYPE variable equal to 'RESLEVEL'.\",\"help\":\"PERIOD=*variable*\",\"type\":\"value\"},{\"name\":\"RCPROFILE\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"RCP\",\"RCS\"],\"description\":\"Creates one variable in the Usage data set corresponding to each variable in the RESOURCE statement.\",\"type\":\"standalone\"},{\"name\":\"RESID=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies a variable in the RESOURCEIN= data set that indicates the name of the resource variable for which alternate resource information or auxiliary resource information is being specified in that observation.\",\"help\":\"RESID=*variable*\",\"type\":\"value\"},{\"name\":\"RESOURCEVARS\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"RESVARSOUT\"],\"description\":\"Requests that the variables specified in the RESOURCE statement be included in the Schedule data set.\",\"type\":\"standalone\"},{\"name\":\"ROUTINTERVAL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"STEPINT=\"],\"description\":\"Specifies the units to be used to determine the time interval between two successive values of the _TIME_ variable in the Usage data set.\",\"help\":\"ROUTINTERVAL=*routinterval*\",\"type\":\"value\"},{\"name\":\"ROUTINTPER=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"STEPSIZE=\",\"STEP=\"],\"description\":\"Specifies the number of routinterval units between successive observations in the Usage data set where routinterval is the value of the ROUTINTERVAL= option.\",\"help\":\"ROUTINTPER=*routintper*\",\"type\":\"value\"},{\"name\":\"ROUTNOBREAK\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"ROUTCONT\"],\"description\":\"Specifies that the _TIME_ variable is to be incremented using a calendar with no breaks or holidays.\",\"type\":\"standalone\"},{\"name\":\"RSCHEDID=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"RSID=\"],\"description\":\"Identifies variables not specified in the TAILNODE, HEADNODE, or ACTIVITY statements that are to be included in the Resource Schedule data set. This option is useful for carrying any relevant information about each activity from the Activity data set to the Resource Schedule data set.\",\"type\":\"value\"},{\"name\":\"SCHEDRULE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"RULE=\"],\"description\":\"Specifies the rule to be used to order the list of activities whose predecessor activities have been completed while scheduling activities subject to resource constraints.\",\"help\":\"SCHEDRULE=LST | LFT | SHORTDUR | ACTPRTY | RESPRTY | DELAYLST\",\"type\":\"choice\",\"arguments\":[{\"name\":\"LST\",\"followsDelimiter\":\"/\",\"description\":\"Specifies that the activities in the waiting list are sorted in the order of increasing L_START time.\",\"type\":\"standalone\"},{\"name\":\"LFT\",\"followsDelimiter\":\"/\",\"description\":\"Specifies that the activities in the waiting list are sorted in the order of increasing L_FINISH time.\",\"type\":\"standalone\"},{\"name\":\"SHORTDUR\",\"followsDelimiter\":\"/\",\"description\":\"Specifies that the activities in the waiting list are sorted in the order of increasing durations.\",\"type\":\"standalone\"},{\"name\":\"ACTPRTY\",\"followsDelimiter\":\"/\",\"description\":\"Specifies that PROC PM should sort the activities in the waiting list in the order of increasing values of the variable specified in the ACTIVITYPRTY= option in the RESOURCE statement.\",\"type\":\"standalone\"},{\"name\":\"RESPRTY\",\"followsDelimiter\":\"/\",\"description\":\"Specifies that PROC PM should sort the activities in the waiting list in the order of increasing values of the resource priority for the most important resource used by each activity.\",\"type\":\"standalone\"},{\"name\":\"DELAYLST\",\"followsDelimiter\":\"/\",\"description\":\"Specifies that the activities in the waiting list are sorted in the order of increasing L_START + ACTDELAY, where ACTDELAY is the value of the ACTDELAY variable for that activity.\",\"type\":\"standalone\"}]},{\"name\":\"SPLITFLAG\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Indicates that activities are allowed to be split into segments during resource allocation.\",\"type\":\"standalone\"},{\"name\":\"STOPDATE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the cutoff date for resource-constrained scheduling. When such a date is specified, S_START and S_FINISH are set to missing beyond the cutoff date.\",\"help\":\"STOPDATE=*stdate*\",\"type\":\"value\"},{\"name\":\"TOTUSAGE\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"INTXRATE\",\"INTUSAGE\",\"RATEXINT\"],\"description\":\"Specifies that the Usage data set is to indicate the total usage of the resource for the current time period.\",\"type\":\"standalone\"},{\"name\":\"T_FLOAT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that the Schedule data set include the T_FLOAT variable computed using the unconstrained early and late start schedules.\",\"type\":\"standalone\"},{\"name\":\"UNSCHEDMISS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Sets the S_START and S_FINISH values to missing for activities that are still unscheduled when resource constrained scheduling is stopped either by the STOPDATE= option or due to resource infeasibilities. This is the default and can be turned off by specifying the FILLUNSCHED option.\",\"type\":\"standalone\"},{\"name\":\"UPDTUNSCHED\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Causes the procedure to use the S_START and S_FINISH times of scheduled activities to update the projected start and finish times for the activities that are still unscheduled when resource constrained scheduling is stopped either by the STOPDATE= option or due to resource infeasibilities.\",\"type\":\"standalone\"},{\"name\":\"WORK=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Identifies a variable in the Activity data set that specifies the total amount of work required by one unit of a resource. This work is represented in units of the INTERVAL parameter.\",\"help\":\"WORK=*variable*\",\"type\":\"value\"}]},{\"name\":\"SUCCESSOR\",\"description\":\"The SUCCESSOR statement is required when data are input in an AON format. This statement specifies the variables that contain the names of the immediate successor nodes (activities) to the ACTIVITY node. These variables must be of the same type and length as those defined in the ACTIVITY statement.\",\"help\":\"SUCCESSOR &lt;ALAGCAL=calname&gt;&lt;LAG=variables&gt;&lt;NLAGCAL=calnum&gt; ...\",\"arguments\":[{\"name\":\"ALAGCAL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the name of the calendar to be used for all lags. The default value for this option is the DEFAULT calendar.\",\"help\":\"ALAGCAL=*calname*\",\"type\":\"value\"},{\"name\":\"LAG=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the variables in the Activity data set used to identify the lag relationship (lag type, duration, and calendar) between the activity and its successor. The LAG variables must be character variables. You can specify as many LAG variables as there are SUCCESSOR variables; each SUCCESSOR variable is matched with the corresponding LAG variable.\",\"help\":\"LAG=*variables*\",\"type\":\"value\"},{\"name\":\"NLAGCAL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the number of the calendar to be used for all lags. The default value for this option is the DEFAULT calendar.\",\"help\":\"NLAGCAL=*calnum*\",\"type\":\"value\"}]}],\"interactive\":true,\"supportSiteInformation\":{\"docsetId\":\"orpmug\",\"docsetVersion\":\"latest\",\"docsetTargetFile\":\"orpmug_pm_toc.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/POWER.json",
    "content": "{\"name\":\"POWER\",\"statements\":[{\"name\":\"PROC POWER\",\"description\":\"Power and sample size analysis optimizes the resource usage and design of a study, improving chances of conclusive results with maximum efficiency. The POWER procedure performs prospective power and sample size analyses for a variety of goals, such as the following: o determining the sample size required to get a significant result with adequate probability (power) o characterizing the power of a study to detect a meaningful effect o conducting what-if analyses to assess sensitivity of the power or required sample size to other factors † Here prospective indicates that the analysis pertains to planning for a future study. This is in contrast to retrospective power analysis for a past study, which is not supported by the procedure. † A variety of statistical analyses are covered: o tests, equivalence tests, and confidence intervals for means o tests, equivalence tests, and confidence intervals for binomial proportions o multiple regression o tests of correlation and partial correlation o one-way analysis of variance o rank tests for comparing two survival curves o logistic regression with binary response o Wilcoxon-Mann-Whitney (rank-sum) test\",\"help\":\"PROC POWER <PLOTONLY>;     \\n\\tCOXREG <ALPHA=number-list><EVENTPROB=number-list><EVENTSTOTAL=number-list | EVENTTOTAL=number-list | EETOTAL=number-list> ...;\\n\\n\\tLOGISTIC <ALPHA=number-list><CORR=number-list><COVARIATES=grouped-name-list> ...;\\n\\n\\tMULTREG <ALPHA=number-list><MODEL=<FIXED|CONDITIONAL | RANDOM|UNCONDITIONAL>><NFRACTIONAL> ...;\\n\\n\\tONECORR <ALPHA=number-list><CORR=number-list><DIST=<FISHERZ | T>> ...;\\n\\n\\tONESAMPLEFREQ <ALPHA=number-list><CI=<AGRESTICOULL|AC | JEFFREYS | EXACT|CLOPPERPEARSON|CP>... ><EQUIVBOUNDS=grouped-number-list> ...;\\n\\n\\tONESAMPLEMEANS <ALPHA=number-list><CI><CI=<T>> ...;\\n\\n\\tONEWAYANOVA <ALPHA=number-list><CONTRAST= ( values ) < ( ...values ) >><GROUPMEANS=grouped-number-list> ...;\\n\\n\\tPAIREDFREQ <ALPHA=number-list><CORR=number-list><DISCPROPORTIONS=grouped-number-list> ...;\\n\\n\\tPAIREDMEANS <ALPHA=number-list><CI | CI=DIFF><CORR=number-list> ...;\\n\\n\\tPLOT INTERPOL=JOIN|NONE  KEY=BYCURVE|BYFEATURE|ONCURVES  MARKERS=ANALYSIS|COMPUTED|NICE...  ...;\\n\\n\\tTWOSAMPLEFREQ <ALPHA=number-list><GROUPNS=grouped-number-list><GROUPNS=grouped-number-list> ...;\\n\\n\\tTWOSAMPLEMEANS <ALPHA=number-list><CI | CI=DIFF><CV=number-list> ...;\\n\\n\\tTWOSAMPLESURVIVAL <ACCRUALRATEPERGROUP=number-list><ACCRUALRATETOTAL=number-list><ACCRUALTIME=<<number-list> | MAX>> ...;\\n\\n\\tTWOSAMPLEWILCOXON <ALPHA=number-list><GROUPNS=grouped-number-list><GROUPWEIGHTS=grouped-number-list> ...;\\n\",\"arguments\":[{\"name\":\"PLOTONLY\",\"optional\":true,\"description\":\"Specifies that only graphical results from the PLOT statement be produced.\",\"type\":\"standalone\"}]},{\"name\":\"COXREG\",\"description\":\"The COXREG statement performs power and sample size analyses for the score test of a single scalar predictor in Cox proportional hazards regression for survival data, possibly in the presence of one or more covariates that might be correlated with the tested predictor.\",\"help\":\"COXREG &lt;ALPHA=number-list&gt;&lt;EVENTPROB=number-list&gt;&lt;EVENTSTOTAL=number-list | EVENTTOTAL=number-list | EETOTAL=number-list&gt; ...\",\"arguments\":[{\"name\":\"ALPHA=\",\"optional\":true,\"description\":\"Specifies the level of significance of the statistical test. The default is 0.05, corresponding to the usual 0.05 x 100% = 5% level of significance.\",\"help\":\"ALPHA=*number-list*\",\"type\":\"value\"},{\"name\":\"EVENTPROB=\",\"optional\":true,\"description\":\"Specifies the probability that an uncensored event occurs. You must specify this option when you use the NTOTAL= option, and it is ignored when you use the EVENTSTOTAL= option.\",\"help\":\"EVENTPROB=*number-list*\",\"type\":\"value\"},{\"name\":\"EVENTSTOTAL=\",\"optional\":true,\"aliases\":[\"EVENTTOTAL=\",\"EETOTAL=\"],\"description\":\"Specifies the expected number of uncensored events, or requests a solution for this parameter by specifying a missing value (EVENTSTOTAL= .). The NFRACTIONAL option is automatically enabled when you use the EVENTSTOTAL= option. You must use either the EVENTSTOTAL= option or the NTOTAL= option, and you cannot use both.\",\"type\":\"value\"},{\"name\":\"HAZARDRATIO=\",\"optional\":true,\"aliases\":[\"HR=\"],\"description\":\"Specifies the hazard ratio for a one-unit increase in the predictor of interest x1, holding any other predictors constant. The hazard ratio is equal to exp(β1), where β1 is the regression coefficient of x1.\",\"type\":\"value\"},{\"name\":\"NFRACTIONAL\",\"optional\":true,\"aliases\":[\"NFRAC\"],\"description\":\"Enables fractional input and output for sample sizes.\",\"type\":\"standalone\"},{\"name\":\"NTOTAL=\",\"optional\":true,\"description\":\"Specifies the sample size or requests a solution for the sample size with a missing value (NTOTAL=.). The minimum acceptable value for the sample size depends on the MODEL=, NOINT, NFULLPREDICTORS=, NTESTPREDICTORS=, and NREDUCEDPREDICTORS= options. It ranges from p+1 to p+3, where p is the value of the NFULLPREDICTORS option.\",\"help\":\"NTOTAL=*number-list*\",\"type\":\"value\"},{\"name\":\"OUTPUTORDER=\",\"optional\":true,\"description\":\"OUTPUTORDER=INTERNAL | REVERSE | SYNTAX Controls how the input and default analysis parameters are ordered in the output. OUTPUTORDER=INTERNAL is the default.\",\"help\":\"OUTPUTORDER=INTERNAL | REVERSE | SYNTAX\",\"type\":\"choice\",\"arguments\":[{\"name\":\"INTERNAL\",\"description\":\"Arranges the parameters in the output according to the following order of their corresponding options: •SIDES= •ALPHA= •EVENTPROB= •RSQUARE= •HAZARDRATIO= •STDDEV= •NTOTAL= •EVENTSTOTAL= •POWER=\",\"type\":\"standalone\"},{\"name\":\"REVERSE\",\"description\":\"Arranges the parameters in the output in the reverse of the order in which their corresponding options are specified in the COXREG statement.\",\"type\":\"standalone\"},{\"name\":\"SYNTAX\",\"description\":\"Arranges the parameters in the output in the same order in which their corresponding options are specified in the COXREG statement.\",\"type\":\"standalone\"}]},{\"name\":\"POWER=\",\"optional\":true,\"description\":\"Specifies the desired power of the test or requests a solution for the power with a missing value (POWER=.). The power is expressed as a probability, a number between 0 and 1, rather than as a percentage.\",\"help\":\"POWER=*number-list*\",\"type\":\"value\"},{\"name\":\"RSQUARE=\",\"optional\":true,\"description\":\"\",\"help\":\"RSQUARE=*number-list*\",\"type\":\"value\"},{\"name\":\"SIDES=\",\"optional\":true,\"description\":\"Specifies the number of sides (or tails) and the direction of the statistical test or confidence interval.\",\"help\":\"SIDES=12 |  | U | L*keyword-list*\",\"type\":\"value\",\"arguments\":[{\"name\":\"12\",\"description\":\"Specifies a one-sided test, with the alternative hypothesis in the same direction as the effect.\",\"type\":\"standalone\"},{\"name\":\"U\",\"description\":\"Specifies an upper one-sided test, with the alternative hypothesis indicating a positive correlation between the tested predictor and survival—that is, a hazard ratio less than 1.\",\"type\":\"standalone\"},{\"name\":\"L\",\"description\":\"Specifies a lower one-sided test, with the alternative hypothesis indicating a negative correlation between the tested predictor and survival—that is, a hazard ratio greater than 1.\",\"type\":\"standalone\"}]},{\"name\":\"STDDEV=\",\"optional\":true,\"aliases\":[\"STD=\"],\"description\":\"Specifies the standard deviation of the predictor of interest.\",\"type\":\"value\"},{\"name\":\"TEST=\",\"optional\":true,\"description\":\"Specifies the type of test in Cox proportional hazards regression.\",\"help\":\"TEST=SCORE*SCORE*\",\"type\":\"value\",\"arguments\":[{\"name\":\"SCORE\",\"description\":\"Specifies the score test in Cox proportional hazards regression. This is the default test option.\",\"type\":\"standalone\"}]}]},{\"name\":\"LOGISTIC\",\"description\":\"The LOGISTIC statement performs power and sample size analyses for the likelihood ratio chi-square test of a single predictor in binary logistic regression, possibly in the presence of one or more covariates. All predictor variables are assumed to be independent of each other. So, this analysis is not applicable to studies with correlated predictors—for example, most observational studies (as opposed to randomized studies).\",\"help\":\"LOGISTIC &lt;ALPHA=number-list&gt;&lt;CORR=number-list&gt;&lt;COVARIATES=grouped-name-list&gt; ...\",\"arguments\":[{\"name\":\"ALPHA=\",\"optional\":true,\"description\":\"Specifies the level of significance of the statistical test. The default is 0.05, corresponding to the usual 0.05 x 100% = 5% level of significance.\",\"help\":\"ALPHA=*number-list*\",\"type\":\"value\"},{\"name\":\"CORR=\",\"optional\":true,\"description\":\"Specifies the multiple correlation (ρ) between the tested predictor and the covariates. If you also specify the COVARIATES= option, then the sample size is either multiplied (if you are computing power) or divided (if you are computing sample size) by a factor of (1-ρ²).\",\"help\":\"CORR=*number-list*\",\"type\":\"value\"},{\"name\":\"COVARIATES=\",\"optional\":true,\"description\":\"Specifies the distributions of any predictor variables in the model but not being tested, using labels specified with the VARDIST= option. The distributions are assumed to be independent of each other and of the tested predictor. If this option is omitted, then the tested predictor specified by the TESTEDPREDICTOR= option is assumed to be the only predictor in the model.\",\"help\":\"COVARIATES=*grouped-name-list*\",\"type\":\"value\"},{\"name\":\"COVODDSRATIOS=\",\"optional\":true,\"description\":\"Specifies the odds ratios for the covariates in the full model (including variables in the TESTPREDICTOR= and COVARIATES= options). The ordering of the values corresponds to the ordering in the COVARIATES= option. If the response variable is coded as Y=1 for success and Y=0 for failure, then the odds ratio for each covariate X is the odds of Y=1 when X=a divided by the odds of Y=1 when X=b, where a and b are determined from the DEFAULTUNIT= and UNITS= options. Values must be greater than zero.\",\"help\":\"COVODDSRATIOS=*grouped-number-list*\",\"type\":\"value\"},{\"name\":\"COVREGCOEFFS=\",\"optional\":true,\"description\":\"Specifies the regression coefficients for the covariates in the full model including the test predictor (as specified by the TESTPREDICTOR= option). The ordering of the values corresponds to the ordering in the COVARIATES= option.\",\"help\":\"COVREGCOEFFS=*grouped-number-list*\",\"type\":\"value\"},{\"name\":\"DEFAULTNBINS=\",\"optional\":true,\"description\":\"Specifies the default number of categories (or \\\"bins\\\") into which the distribution for each predictor variable is divided in internal calculations. Higher values increase computational time and memory requirements but generally lead to more accurate results. Each test predictor or covariate that is absent from the NBINS= option derives its bin number from the DEFAULTNBINS= option. The default value is DEFAULTNBINS=10.\",\"help\":\"DEFAULTNBINS=*number*\",\"type\":\"value\"},{\"name\":\"DEFAULTUNIT=\",\"optional\":true,\"description\":\"Specifies the default change in the predictor variables assumed for odds ratios specified with the COVODDSRATIOS= and TESTODDSRATIO= options. Each test predictor or covariate that is absent from the UNITS= option derives its change value from the DEFAULTUNIT= option. The value must be nonzero. The default value is DEFAULTUNIT=1. This option can be used only if at least one of the COVODDSRATIOS= and TESTODDSRATIO= options is used. Valid specifications for change-spec are as follows: number defines the odds ratio as the ratio of the response variable odds when X=a to the odds when X=a-number for any constant a. <+ | ->SD defines the odds ratio as the ratio of the odds when X=a to the odds when X=a-σ (or X=a+σ, if SD is preceded by a minus sign (–)) for any constant a, where σ is the standard deviation of X (as determined from the VARDIST= option). multiple*SD defines the odds ratio as the ratio of the odds when X=a to the odds when X=a-multiple*σ for any constant a, where σ is the standard deviation of X (as determined from the VARDIST= option).\",\"help\":\"DEFAULTUNIT=*change-spec*\",\"type\":\"value\"},{\"name\":\"INTERCEPT=\",\"optional\":true,\"description\":\"Specifies the intercept in the full model (including variables in the TESTPREDICTOR= and COVARIATES= options).\",\"help\":\"INTERCEPT=*number-list*\",\"type\":\"value\"},{\"name\":\"NBINS=\",\"optional\":true,\"description\":\"Specifies the number of categories (or \\\"bins\\\") into which the distribution for each predictor variable (identified by its name from the VARDIST= option) is divided in internal calculations. Higher values increase computational time and memory requirements but generally lead to more accurate results. Each predictor variable that is absent from the NBINS= option derives its bin number from the DEFAULTNBINS= option.\",\"type\":\"value\"},{\"name\":\"NFRACTIONAL\",\"optional\":true,\"aliases\":[\"NFRAC\"],\"description\":\"Enables fractional input and output for sample sizes.\",\"type\":\"standalone\"},{\"name\":\"NTOTAL=\",\"optional\":true,\"description\":\"Specifies the sample size or requests a solution for the sample size with a missing value (NTOTAL=.). Values must be at least one.\",\"help\":\"NTOTAL=*number-list*\",\"type\":\"value\"},{\"name\":\"OUTPUTORDER=\",\"optional\":true,\"description\":\"Controls how the input and default analysis parameters are ordered in the output. OUTPUTORDER=INTERNAL is the default.\",\"help\":\"OUTPUTORDER=INTERNAL | REVERSE | SYNTAX\",\"type\":\"choice\",\"arguments\":[{\"name\":\"INTERNAL\",\"description\":\"Arranges the parameters in the output according to the following order of their corresponding options: DEFAULTNBINS= NBINS= ALPHA= RESPONSEPROB= INTERCEPT= TESTPREDICTOR= TESTODDSRATIO= TESTREGCOEFF= COVARIATES= COVODDSRATIOS= COVREGCOEFFS= NTOTAL= POWER=\",\"type\":\"standalone\"},{\"name\":\"REVERSE\",\"description\":\"Arranges the parameters in the output in the reverse of the order in which their corresponding options are specified in the LOGISTIC statement.\",\"type\":\"standalone\"},{\"name\":\"SYNTAX\",\"description\":\"Arranges the parameters in the output in the same order in which their corresponding options are specified in the LOGISTIC statement.\",\"type\":\"standalone\"}]},{\"name\":\"POWER=\",\"optional\":true,\"description\":\"Specifies the desired power of the test or requests a solution for the power with a missing value (POWER=.). The power is expressed as a probability, a number between 0 and 1, rather than as a percentage.\",\"help\":\"POWER=*number-list*\",\"type\":\"value\"},{\"name\":\"RESPONSEPROB=\",\"optional\":true,\"description\":\"Specifies the response probability in the full model when all predictor variables (including variables in the TESTPREDICTOR= and COVARIATES= options) are equal to their means. The log odds of this probability are equal to the intercept in the full model where all predictor are centered at their means. If the response variable is coded as Y=1 for success and Y=0 for failure, then this probability is equal to the mean of Y in the full model when all Xs are equal to their means. Values must be strictly between zero and one.\",\"help\":\"RESPONSEPROB=*number-list*\",\"type\":\"value\"},{\"name\":\"TEST=\",\"optional\":true,\"description\":\"Specifies a test of a single model parameter in binary logistic regression.\",\"help\":\"TEST=LRCHI\",\"type\":\"choice\",\"arguments\":[{\"name\":\"LRCHI\",\"description\":\"Specifies the likelihood ratio chi-square test of a single model parameter in binary logistic regression. This is the default test option.\",\"type\":\"standalone\"}]},{\"name\":\"TESTODDSRATIO=\",\"optional\":true,\"description\":\"Specifies the odds ratio for the predictor variable being tested in the full model (including variables in the TESTPREDICTOR= and COVARIATES= options). If the response variable is coded as Y=1 for success and Y=0 for failure, then the odds ratio for the X being tested is the odds of Y=1 when X=a divided by the odds of Y=1 when X=b, where a and b are determined from the DEFAULTUNIT= and UNITS= options. Values must be greater than zero.\",\"help\":\"TESTODDSRATIO=*number-list*\",\"type\":\"value\"},{\"name\":\"TESTPREDICTOR=\",\"optional\":true,\"description\":\"Specifies the distribution of the predictor variable being tested, using labels specified with the VARDIST= option. This distribution is assumed to be independent of the distributions of the covariates as defined in the COVARIATES= option.\",\"help\":\"TESTPREDICTOR=*name-list*\",\"type\":\"value\"},{\"name\":\"TESTREGCOEFF=\",\"optional\":true,\"description\":\"Specifies the regression coefficient for the predictor variable being tested in the full model including the covariates specified by the COVARIATES= option.\",\"help\":\"TESTREGCOEFF=*number-list*\",\"type\":\"value\"},{\"name\":\"UNITS=\",\"optional\":true,\"description\":\"Specifies the changes in the predictor variables assumed for odds ratios specified with the COVODDSRATIOS= and TESTODDSRATIO= options. Each predictor variable whose name (from the VARDIST= option) is absent from the UNITS option derives its change value from the DEFAULTUNIT= option. This option can be used only if at least one of the COVODDSRATIOS= and TESTODDSRATIO= options is used. Valid specifications for change-spec are as follows: number defines the odds ratio as the ratio of the response variable odds when X=a to the odds when X=a-number for any constant a. <+ | ->SD defines the odds ratio as the ratio of the odds when X=a to the odds when X=a-σ (or X=a+σ, if SD is preceded by a minus sign (–)) for any constant a, where σ is the standard deviation of X (as determined from the VARDIST= option). multiple*SD defines the odds ratio as the ratio of the odds when X=a to the odds when X=a-multiple*σ for any constant a, where σ is the standard deviation of X (as determined from the VARDIST= option).\",\"type\":\"value\"},{\"name\":\"VARDIST=\",\"optional\":true,\"description\":\"Defines a distribution for a predictor variable, where label identifies the variable distribution in the output and with the COVARIATES= and TESTPREDICTOR= options. distribution specifies the distributional form of the variable.\",\"help\":\"VARDIST=ORDINAL | BETA | BINOMIAL | EXPONENTIAL | GAMMA | LAPLACE | LOGISTIC | LOGNORMAL | NORMAL | POISSON | UNIFORM\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ORDINAL\",\"description\":\"Syntax: ORDINAL((values) : (probabilities)) Is an ordered categorical distribution. The values are any numbers separated by spaces. The probabilities are numbers between 0 and 1 (inclusive) separated by spaces. Their sum must be exactly 1. The number of probabilities must match the number of values.\",\"type\":\"standalone\"},{\"name\":\"BETA\",\"description\":\"Syntax: BETA (a, b <, l, r >) Is a beta distribution with shape parameters a and b and optional location parameters l and r. The values of a and b must be greater than 0, and l must be less than r. The default values for l and r are 0 and 1, respectively.\",\"type\":\"standalone\"},{\"name\":\"BINOMIAL\",\"description\":\"Syntax: BINOMIAL(p, n) Is a binomial distribution with probability of success p and number of independent Bernoulli trials n. The value of p must be greater than 0 and less than 1, and n must be an integer greater than 0.\",\"type\":\"standalone\"},{\"name\":\"EXPONENTIAL\",\"description\":\"Syntax: EXPONENTIAL(λ) Is an exponential distribution with scale λ, which must be greater than 0.\",\"type\":\"standalone\"},{\"name\":\"GAMMA\",\"description\":\"Syntax: GAMMA (α, λ) is a gamma distribution with shape α and scale λ. The values of a and λ must be greater than 0.\",\"type\":\"standalone\"},{\"name\":\"LAPLACE\",\"description\":\"Syntax: LAPLACE(θ, λ) Is a Laplace distribution with location θ and scale λ. The value of λ must be greater than 0.\",\"type\":\"standalone\"},{\"name\":\"LOGISTIC\",\"description\":\"Syntax: LOGISTIC(θ, λ) Is a logistic distribution with location θ and scale λ. The value of λ must be greater than 0.\",\"type\":\"standalone\"},{\"name\":\"LOGNORMAL\",\"description\":\"Syntax: LOGNORMAL(θ, λ) Is a lognormal distribution with location θ and scale λ. The value of λ must be greater than 0.\",\"type\":\"standalone\"},{\"name\":\"NORMAL\",\"description\":\"Syntax: NORMAL(θ, λ) Is a normal distribution with mean θ and standard deviation λ. The value of λ must be greater than 0.\",\"type\":\"standalone\"},{\"name\":\"POISSON\",\"description\":\"Syntax: POISSON(m) Is a Poisson distribution with mean m. The value of m must be greater than 0.\",\"type\":\"standalone\"},{\"name\":\"UNIFORM\",\"description\":\"Syntax: UNIFORM(l, r) Is a uniform distribution on the interval [l,r], where l < r.\",\"type\":\"standalone\"}]}]},{\"name\":\"MULTREG\",\"description\":\"The MULTREG statement performs power and sample size analyses for Type III F tests of sets of predictors in multiple linear regression, assuming either fixed or normally distributed predictors.\",\"help\":\"MULTREG &lt;ALPHA=number-list&gt;&lt;MODEL=&lt;FIXED|CONDITIONAL | RANDOM|UNCONDITIONAL&gt;&gt;&lt;NFRACTIONAL&gt; ...\",\"arguments\":[{\"name\":\"ALPHA=\",\"optional\":true,\"description\":\"Specifies the level of significance of the statistical test. The default is 0.05, corresponding to the usual 0.05 x 100% = 5% level of significance.\",\"help\":\"ALPHA=*number-list*\",\"type\":\"value\"},{\"name\":\"MODEL=\",\"optional\":true,\"description\":\"Specifies the assumed distribution of the tested predictors.\",\"help\":\"MODEL=FIXED | RANDOM\",\"type\":\"choice\",\"arguments\":[{\"name\":\"FIXED\",\"aliases\":[\"CONDITIONAL\"],\"description\":\"Indicates a fixed predictor distribution.\",\"type\":\"standalone\"},{\"name\":\"RANDOM\",\"aliases\":[\"UNCONDITIONAL\"],\"description\":\"Indicates a joint multivariate normal distribution for the response and tested predictors.\",\"type\":\"standalone\"}]},{\"name\":\"NFRACTIONAL\",\"optional\":true,\"aliases\":[\"NFRAC\"],\"description\":\"Enables fractional input and output for sample sizes.\",\"type\":\"standalone\"},{\"name\":\"NFULLPREDICTORS=\",\"optional\":true,\"aliases\":[\"NFULLPRED=\"],\"description\":\"Specifies the number of predictors in the full model, not counting the intercept.\",\"help\":\"NFULLPREDICTORS=*number-list*\",\"type\":\"value\"},{\"name\":\"NOINT\",\"optional\":true,\"description\":\"Specifies a no-intercept model (for both full and reduced models). By default, the intercept is included in the model. If you want to test the intercept, you can specify the NOINT option and simply consider the intercept to be one of the predictors being tested.\",\"type\":\"standalone\"},{\"name\":\"NREDUCEDPREDICTORS=\",\"optional\":true,\"aliases\":[\"NREDUCEDPRED=\",\"NREDPRED=\"],\"description\":\"Specifies the number of predictors in the reduced model, not counting the intercept. This is the same as the difference between values of the NFULLPREDICTORS= and NTESTPREDICTORS= options. Note that supplying a value of 0 is the same as specifying an F test of a Pearson correlation. This option cannot be used at the same time as the NTESTPREDICTORS= option.\",\"help\":\"NREDUCEDPREDICTORS=*number-list*\",\"type\":\"value\"},{\"name\":\"NTESTPREDICTORS=\",\"optional\":true,\"aliases\":[\"NTESTPRED=\"],\"description\":\"Specifies the number of predictors being tested. This is the same as the difference between values of the NFULLPREDICTORS= and NREDUCEDPREDICTORS= options. Note that supplying identical values for the NTESTPREDICTORS= and NFULLPREDICTORS= options is the same as specifying an F test of a Pearson correlation. This option cannot be used at the same time as the NREDUCEDPREDICTORS= option.\",\"help\":\"NTESTPREDICTORS=*number-list*\",\"type\":\"value\"},{\"name\":\"NTOTAL=\",\"optional\":true,\"description\":\"Specifies the sample size or requests a solution for the sample size with a missing value (NTOTAL=.). The minimum acceptable value for the sample size depends on the MODEL=, NOINT, NFULLPREDICTORS=, NTESTPREDICTORS=, and NREDUCEDPREDICTORS= options. It ranges from p+1 to p+3, where p is the value of the NFULLPREDICTORS option.\",\"help\":\"NTOTAL=*number-list*\",\"type\":\"value\"},{\"name\":\"OUTPUTORDER=\",\"optional\":true,\"description\":\"Controls how the input and default analysis parameters are ordered in the output. OUTPUTORDER=INTERNAL is the default.\",\"help\":\"OUTPUTORDER=INTERNAL | REVERSE | SYNTAX\",\"type\":\"choice\",\"arguments\":[{\"name\":\"INTERNAL\",\"description\":\"Arranges the parameters in the output according to the following order of their corresponding options: MODEL= NFULLPREDICTORS= NTESTPREDICTORS= NREDUCEDPREDICTORS= ALPHA= PARTIALCORR= RSQUAREFULL= RSQUAREREDUCED= RSQUAREDIFF= NTOTAL= POWER=\",\"type\":\"standalone\"},{\"name\":\"REVERSE\",\"description\":\"Arranges the parameters in the output in the reverse of the order in which their corresponding options are specified in the MULTREG statement.\",\"type\":\"standalone\"},{\"name\":\"SYNTAX\",\"description\":\"Arranges the parameters in the output in the same order in which their corresponding options are specified in the MULTREG statement.\",\"type\":\"standalone\"}]},{\"name\":\"PARTIALCORR=\",\"optional\":true,\"aliases\":[\"PCORR=\"],\"description\":\"Specifies the partial correlation between the tested predictors and the response, adjusting for any other predictors in the model.\",\"help\":\"PARTIALCORR=*number-list*\",\"type\":\"value\"},{\"name\":\"POWER=\",\"optional\":true,\"description\":\"Specifies the desired power of the test or requests a solution for the power with a missing value (POWER=.). The power is expressed as a probability, a number between 0 and 1, rather than as a percentage.\",\"help\":\"POWER=*number-list*\",\"type\":\"value\"},{\"name\":\"RSQUAREDIFF=\",\"optional\":true,\"aliases\":[\"RSQDIFF=\"],\"description\":\"Specifies the difference in R² between the full and reduced models. This is equivalent to the proportion of variation explained by the predictors you are testing. It is also equivalent to the squared semipartial correlation of the tested predictors with the response.\",\"help\":\"RSQUAREDIFF=*number-list*\",\"type\":\"value\"},{\"name\":\"RSQUAREFULL=\",\"optional\":true,\"aliases\":[\"RSQFULL=\"],\"description\":\"Specifies the R² of the full model, where R² is the proportion of variation explained by the model.\",\"help\":\"RSQUAREFULL=*number-list*\",\"type\":\"value\"},{\"name\":\"RSQUAREREDUCED=\",\"optional\":true,\"aliases\":[\"RSQREDUCED=\",\"RSQRED=\"],\"description\":\"Specifies the R² of the reduced model, where R² is the proportion of variation explained by the model. If the reduced model is an empty or intercept-only model (in other words, if NREDUCEDPREDICTORS=0 or NTESTPREDICTORS=NFULLPREDICTORS), then RSQUAREREDUCED=0 is assumed.\",\"help\":\"RSQUAREREDUCED=*number-list*\",\"type\":\"value\"},{\"name\":\"TEST=\",\"optional\":true,\"description\":\"Specifies a test of a set of predictors adjusting for any other predictors in the model.\",\"help\":\"TEST=TYPE3\",\"type\":\"choice\",\"arguments\":[{\"name\":\"TYPE3\",\"description\":\"Specifies a Type III F test of a set of predictors adjusting for any other predictors in the model. This is the default test option.\",\"type\":\"standalone\"}]}]},{\"name\":\"ONECORR\",\"description\":\"The ONECORR statement performs power and sample size analyses for tests of simple and partial Pearson correlation between two variables. Both Fisher's z test and the t test are supported.\",\"help\":\"ONECORR &lt;ALPHA=number-list&gt;&lt;CORR=number-list&gt;&lt;DIST=&lt;FISHERZ | T&gt;&gt; ...\",\"arguments\":[{\"name\":\"ALPHA=\",\"optional\":true,\"description\":\"Specifies the level of significance of the statistical test. The default is 0.05, corresponding to the usual 0.05 x 100% = 5% level of significance.\",\"help\":\"ALPHA=*number-list*\",\"type\":\"value\"},{\"name\":\"CORR=\",\"optional\":true,\"description\":\"Specifies the correlation between two variables, possibly adjusting for other variables as determined by the NPARTIALVARS= option.\",\"help\":\"CORR=*number-list*\",\"type\":\"value\"},{\"name\":\"DIST=\",\"optional\":true,\"description\":\"Specifies the underlying distribution assumed for the test statistic.\",\"help\":\"DIST=FISHERZ | T\",\"type\":\"choice\",\"arguments\":[{\"name\":\"FISHERZ\",\"description\":\"Corresponds to Fisher's z normalizing transformation of the correlation coefficient.\",\"type\":\"standalone\"},{\"name\":\"T\",\"description\":\"Corresponds to the t transformation of the correlation coefficient.\",\"type\":\"standalone\"}]},{\"name\":\"MODEL=\",\"optional\":true,\"description\":\"Specifies the assumed distribution of the first variable when DIST=T. The second variable is assumed to have a normal distribution.\",\"help\":\"MODEL=FIXED | RANDOM\",\"type\":\"choice\",\"arguments\":[{\"name\":\"FIXED\",\"aliases\":[\"CONDITIONAL\"],\"description\":\"Indicates a fixed distribution.\",\"type\":\"standalone\"},{\"name\":\"RANDOM\",\"aliases\":[\"UNCONDITIONAL\"],\"description\":\"Indicates a joint bivariate normal distribution with the second variable.\",\"type\":\"standalone\"}]},{\"name\":\"NFRACTIONAL\",\"optional\":true,\"aliases\":[\"NFRAC\"],\"description\":\"Enables fractional input and output for sample sizes.\",\"type\":\"standalone\"},{\"name\":\"NPARTIALVARS=\",\"optional\":true,\"aliases\":[\"NPVARS=\"],\"description\":\"Specifies the number of variables adjusted for in the correlation between the two primary variables. The default value is 0, corresponding to a simple correlation.\",\"help\":\"NPARTIALVARS=*number-list*\",\"type\":\"value\"},{\"name\":\"NTOTAL=\",\"optional\":true,\"description\":\"Specifies the sample size or requests a solution for the sample size with a missing value (NTOTAL=.). Values for the sample size must be at least p + 3 when DIST=T and MODEL=CONDITIONAL, and at least p + 4 when either DIST=FISHER or when DIST=T and MODEL=UNCONDITIONAL, where p is the value of the NPARTIALVARS option.\",\"help\":\"NTOTAL=*number-list*\",\"type\":\"value\"},{\"name\":\"NULLCORR=\",\"optional\":true,\"aliases\":[\"NULLC=\"],\"description\":\"Specifies the null value of the correlation. The default value is 0. This option can be used only with the DIST=FISHERZ analysis.\",\"help\":\"NULLCORR=*number-list*\",\"type\":\"value\"},{\"name\":\"OUTPUTORDER=\",\"optional\":true,\"description\":\"Controls how the input and default analysis parameters are ordered in the output. OUTPUTORDER=INTERNAL is the default.\",\"help\":\"OUTPUTORDER=INTERNAL | REVERSE | SYNTAX\",\"type\":\"choice\",\"arguments\":[{\"name\":\"INTERNAL\",\"description\":\"Arranges the parameters in the output according to the following order of their corresponding options: MODEL= SIDES= NULL= ALPHA= NPARTIALVARS= CORR= NTOTAL= POWER=\",\"type\":\"standalone\"},{\"name\":\"REVERSE\",\"description\":\"Arranges the parameters in the output in the reverse of the order in which their corresponding options are specified in the ONECORR statement.\",\"type\":\"standalone\"},{\"name\":\"SYNTAX\",\"description\":\"Arranges the parameters in the output in the same order in which their corresponding options are specified in the ONECORR statement.\",\"type\":\"standalone\"}]},{\"name\":\"POWER=\",\"optional\":true,\"description\":\"Specifies the desired power of the test or requests a solution for the power with a missing value (POWER=.). The power is expressed as a probability, a number between 0 and 1, rather than as a percentage.\",\"help\":\"POWER=*number-list*\",\"type\":\"value\"},{\"name\":\"SIDES=\",\"optional\":true,\"description\":\"Specifies the number of sides (or tails) and the direction of the statistical test. The default value is 2.\",\"help\":\"SIDES=1 | 2 | U | L\",\"type\":\"choice\",\"arguments\":[{\"name\":\"1\",\"description\":\"One-sided with alternative hypothesis in same direction as effect\",\"type\":\"standalone\"},{\"name\":\"2\",\"description\":\"Two-sided\",\"type\":\"standalone\"},{\"name\":\"U\",\"description\":\"Upper one-sided with alternative greater than null value\",\"type\":\"standalone\"},{\"name\":\"L\",\"description\":\"Lower one-sided with alternative less than null value\",\"type\":\"standalone\"}]},{\"name\":\"TEST=\",\"optional\":true,\"description\":\"Specifies a test of the Pearson correlation coefficient between two variables, possibly adjusting for other variables. This is the default test option.\",\"help\":\"TEST=PEARSON\",\"type\":\"choice\",\"arguments\":[{\"name\":\"PEARSON\",\"description\":\"Specifies a test of the Pearson correlation coefficient between two variables, possibly adjusting for other variables.\",\"type\":\"standalone\"}]}]},{\"name\":\"ONESAMPLEFREQ\",\"description\":\"The ONESAMPLEFREQ statement performs power and sample size analyses for exact and approximate tests (including equivalence, noninferiority, and superiority) and confidence interval precision for a single binomial proportion.\",\"help\":\"ONESAMPLEFREQ &lt;ALPHA=number-list&gt;&lt;CI=&lt;AGRESTICOULL|AC | JEFFREYS | EXACT|CLOPPERPEARSON|CP&gt;... &gt;&lt;EQUIVBOUNDS=grouped-number-list&gt; ...\",\"arguments\":[{\"name\":\"ALPHA=\",\"optional\":true,\"description\":\"Specifies the level of significance of the statistical test. The default is 0.05, corresponding to the usual 0.05 x 100% = 5% level of significance.\",\"help\":\"ALPHA=*number-list*\",\"type\":\"value\"},{\"name\":\"CI=\",\"optional\":true,\"description\":\"Specifies an analysis of precision of a confidence interval for the sample binomial proportion.\",\"help\":\"CI=AGRESTICOULL | JEFFREYS | EXACT | WALD | WALD_CORRECT | WILSON\",\"type\":\"choice\",\"arguments\":[{\"name\":\"AGRESTICOULL\",\"aliases\":[\"AC\"],\"description\":\"Is a generalization of the \\\"Adjusted Wald / add 2 successes and 2 failures\\\" interval of Agresti and Coull (1998) and is presented in Brown, Cai, and DasGupta (2001). It corresponds to the TABLES / BINOMIAL (AGRESTICOULL) option in PROC FREQ.\",\"type\":\"standalone\"},{\"name\":\"JEFFREYS\",\"description\":\"Specifies the equal-tailed Jeffreys prior Bayesian interval, corresponding to the TABLES / BINOMIAL (JEFFREYS) option in PROC FREQ.\",\"type\":\"standalone\"},{\"name\":\"EXACT\",\"aliases\":[\"CLOPPERPEARSON\",\"CP\"],\"description\":\"Specifies the exact Clopper-Pearson confidence interval based on enumeration, corresponding to the TABLES / BINOMIAL (EXACT) option in PROC FREQ.\",\"type\":\"standalone\"},{\"name\":\"WALD\",\"description\":\"Specifies the confidence interval based on the Wald test (also commonly called the z test or normal-approximation test), corresponding to the TABLES / BINOMIAL (WALD) option in PROC FREQ.\",\"type\":\"standalone\"},{\"name\":\"WALD_CORRECT\",\"description\":\"Specifies the confidence interval based on the Wald test with continuity correction, corresponding to the TABLES / BINOMIAL (CORRECT WALD) option in PROC FREQ.\",\"type\":\"standalone\"},{\"name\":\"WILSON\",\"aliases\":[\"SCORE\"],\"description\":\"Specifies the confidence interval based on the score statistic, corresponding to the TABLES / BINOMIAL (WILSON) option in PROC FREQ.\",\"type\":\"standalone\"}]},{\"name\":\"EQUIVBOUNDS=\",\"optional\":true,\"description\":\"Specifies the lower and upper equivalence bounds, representing the same information as the combination of the LOWER= and UPPER= options but grouping them together. The EQUIVBOUNDS= option can be used only with equivalence analyses (TEST=EQUIV_ADJZ | EQUIV_EXACT | EQUIV_Z). Values must be strictly between 0 and 1.\",\"help\":\"EQUIVBOUNDS=*grouped-number-list*\",\"type\":\"value\"},{\"name\":\"HALFWIDTH=\",\"optional\":true,\"description\":\"Specifies the desired confidence interval half-width. The half-width for a two-sided interval is the length of the confidence interval divided by two. This option can be used only with the CI= analysis.\",\"help\":\"HALFWIDTH=*number-list*\",\"type\":\"value\"},{\"name\":\"LOWER=\",\"optional\":true,\"description\":\"Specifies the lower equivalence bound for the binomial proportion. The LOWER= option can be used only with equivalence analyses (TEST=EQUIV_ADJZ | EQUIV_EXACT | EQUIV_Z). Values must be strictly between 0 and 1.\",\"help\":\"LOWER=*number-list*\",\"type\":\"value\"},{\"name\":\"MARGIN=\",\"optional\":true,\"description\":\"Specifies the equivalence or noninferiority or superiority margin, depending on the analysis.\",\"help\":\"MARGIN=*number-list*\",\"type\":\"value\"},{\"name\":\"METHOD=\",\"optional\":true,\"description\":\"Specifies the computational method.\",\"help\":\"METHOD=EXACT | NORMAL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"EXACT\",\"description\":\"Computes exact results by using the binomial distribution. This is the default.\",\"type\":\"standalone\"},{\"name\":\"NORMAL\",\"description\":\"Computes approximate results by using the normal approximation to the binomial distribution.\",\"type\":\"standalone\"}]},{\"name\":\"NFRACTIONAL\",\"optional\":true,\"aliases\":[\"NFRAC\"],\"description\":\"Enables fractional input and output for sample sizes. This option is invalid when the METHOD=EXACT option is specified.\",\"type\":\"standalone\"},{\"name\":\"NTOTAL=\",\"optional\":true,\"description\":\"Specifies the sample size or requests a solution for the sample size with a missing value (NTOTAL=.).\",\"help\":\"NTOTAL=*number-list*\",\"type\":\"value\"},{\"name\":\"NULLPROPORTION=\",\"optional\":true,\"aliases\":[\"NULLP=\"],\"description\":\"Specifies the null proportion. A value of 0.5 corresponds to the sign test.\",\"help\":\"NULLPROPORTION=*number-list*\",\"type\":\"value\"},{\"name\":\"OUTPUTORDER=\",\"optional\":true,\"description\":\"Controls how the input and default analysis parameters are ordered in the output. OUTPUTORDER=INTERNAL is the default.\",\"help\":\"OUTPUTORDER=INTERNAL | REVERSE | SYNTAX\",\"type\":\"choice\",\"arguments\":[{\"name\":\"INTERNAL\",\"description\":\"Arranges the parameters in the output according to the following order of their corresponding options: SIDES= NULLPROPORTION= ALPHA= PROPORTION= NTOTAL= POWER=\",\"type\":\"standalone\"},{\"name\":\"REVERSE\",\"description\":\"Arranges the parameters in the output in the reverse of the order in which their corresponding options are specified in the ONESAMPLEFREQ statement.\",\"type\":\"standalone\"},{\"name\":\"SYNTAX\",\"description\":\"Arranges the parameters in the output in the same order in which their corresponding options are specified in the ONESAMPLEFREQ statement.\",\"type\":\"standalone\"}]},{\"name\":\"POWER=\",\"optional\":true,\"description\":\"Specifies the desired power of the test or requests a solution for the power with a missing value (POWER=.). The power is expressed as a probability, a number between 0 and 1, rather than as a percentage.\",\"help\":\"POWER=*number-list*\",\"type\":\"value\"},{\"name\":\"PROBWIDTH=\",\"optional\":true,\"description\":\"Specifies the desired probability of obtaining a confidence interval half-width less than or equal to the value specified by the HALFWIDTH= option. A missing value (PROBWIDTH=.) requests a solution for this probability. Values are expressed as probabilities (for example, 0.9) rather than percentages. This option can be used only with the CI= analysis.\",\"help\":\"PROBWIDTH=*number-list*\",\"type\":\"value\"},{\"name\":\"PROPORTION=\",\"optional\":true,\"aliases\":[\"P=\"],\"description\":\"Specifies the binomial proportion—that is, the expected proportion of successes in the hypothetical binomial trial.\",\"help\":\"PROPORTION=*number-list*\",\"type\":\"value\"},{\"name\":\"SIDES=\",\"optional\":true,\"description\":\"Specifies the number of sides (or tails) and the direction of the statistical test. The default value is 2.\",\"help\":\"SIDES=1 | 2 | U | L\",\"type\":\"choice\",\"arguments\":[{\"name\":\"1\",\"description\":\"One-sided with alternative hypothesis in same direction as effect\",\"type\":\"standalone\"},{\"name\":\"2\",\"description\":\"Two-sided\",\"type\":\"standalone\"},{\"name\":\"U\",\"description\":\"Upper one-sided with alternative greater than null value\",\"type\":\"standalone\"},{\"name\":\"L\",\"description\":\"Lower one-sided with alternative less than null value\",\"type\":\"standalone\"}]},{\"name\":\"TEST=\",\"optional\":true,\"description\":\"Specifies the statistical analysis.\",\"help\":\"TEST=ADJZ | EQUIV_ADJZ | EQUIV_EXACT | EQUIV_Z | EXACT | Z\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ADJZ\",\"description\":\"Specifies a normal-approximate z test with continuity adjustment.\",\"type\":\"standalone\"},{\"name\":\"EQUIV_ADJZ\",\"description\":\"Specifies a normal-approximate two-sided equivalence test based on the z statistic with continuity adjustment and a TOST (two one-sided tests) procedure.\",\"type\":\"standalone\"},{\"name\":\"EQUIV_EXACT\",\"description\":\"Specifies the exact binomial two-sided equivalence test based on a TOST (two one-sided tests)' procedure.\",\"type\":\"standalone\"},{\"name\":\"EQUIV_Z\",\"description\":\"Specifies a normal-approximate two-sided equivalence test based on the z statistic without any continuity adjustment, which is the same as the chi-square statistic, and a TOST (two one-sided tests) procedure\",\"type\":\"standalone\"},{\"name\":\"EXACT\",\"description\":\"Specifies the exact binomial test. This is the default.\",\"type\":\"standalone\"},{\"name\":\"Z\",\"description\":\"Specifies a normal-approximate z test without any continuity adjustment, which is the same as the chi-square test when SIDES=2.\",\"type\":\"standalone\"}]},{\"name\":\"UPPER=\",\"optional\":true,\"description\":\"Specifies the upper equivalence bound for the binomial proportion. The UPPER= option can be used only with equivalence analyses (TEST=EQUIV_ADJZ | EQUIV_EXACT | EQUIV_Z). Values must be strictly between 0 and 1.\",\"help\":\"UPPER=*number-list*\",\"type\":\"value\"},{\"name\":\"VAREST=\",\"optional\":true,\"description\":\"Specifies how the variance is computed in the test statistic for the TEST=Z, TEST=ADJZ, TEST=EQUIV_Z, and TEST=EQUIV_ADJZ analyses.\",\"help\":\"VAREST=NULL | SAMPLE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NULL\",\"description\":\"Estimates the variance by using the null proportion(s) (specified by some combination of the NULLPROPORTION=, MARGIN=, LOWER=, and UPPER= options). For TEST=Z and TEST=ADJZ, the null proportion is the value of the NULLPROPORTION= option plus the value of the MARGIN= option (if it is used). For TEST=EQUIV_Z and TEST=EQUIV_ADJZ, there are two null proportions, corresponding to the lower and upper equivalence bounds, one for each test in the TOST (two one-sided tests) procedure. This is the default.\",\"type\":\"standalone\"},{\"name\":\"SAMPLE\",\"description\":\"Estimates the variance by using the observed sample proportion.\",\"type\":\"standalone\"}]}]},{\"name\":\"ONESAMPLEMEANS\",\"description\":\"The ONESAMPLEMEANS statement performs power and sample size analyses for t tests, equivalence tests, and confidence interval precision involving one sample.\",\"help\":\"ONESAMPLEMEANS &lt;ALPHA=number-list&gt;&lt;CI&gt;&lt;CI=&lt;T&gt;&gt; ...\",\"arguments\":[{\"name\":\"ALPHA=\",\"optional\":true,\"description\":\"Specifies the level of significance of the statistical test. The default is 0.05, corresponding to the usual 0.05 x 100% = 5% level of significance.\",\"help\":\"ALPHA=*number-list*\",\"type\":\"value\"},{\"name\":\"CI\",\"optional\":true,\"description\":\"Specifies an analysis of precision of the confidence interval for the mean. Instead of power, the relevant probability for this analysis is the probability of achieving a desired precision. Specifically, it is the probability that the half-width of the confidence interval will be at most the value specified by the HALFWIDTH= option. If neither the CI= option nor the TEST= option is used, the default is TEST=T.\",\"type\":\"standalone\"},{\"name\":\"CI=\",\"optional\":true,\"description\":\"Specifies an analysis of precision of the confidence interval for the mean. Instead of power, the relevant probability for this analysis is the probability of achieving a desired precision. Specifically, it is the probability that the half-width of the confidence interval will be at most the value specified by the HALFWIDTH= option. If neither the CI= option nor the TEST= option is used, the default is TEST=T.\",\"help\":\"CI=T\",\"type\":\"choice\",\"arguments\":[{\"name\":\"T\",\"description\":\"Specifies an analysis of precision of the confidence interval for the mean based on a t test.\",\"type\":\"standalone\"}]},{\"name\":\"CV=\",\"optional\":true,\"description\":\"Specifies the coefficient of variation, defined as the ratio of the standard deviation to the mean. You can use this option only with DIST=LOGNORMAL.\",\"help\":\"CV=*number-list*\",\"type\":\"value\"},{\"name\":\"DIST=\",\"optional\":true,\"description\":\"Specifies the underlying distribution assumed for the test statistic.\",\"help\":\"DIST=LOGNORMAL | NORMAL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"LOGNORMAL\",\"description\":\"Corresponds to the lognormal distribution.\",\"type\":\"standalone\"},{\"name\":\"NORMAL\",\"description\":\"Corresponds to the normal distribution\",\"type\":\"standalone\"}]},{\"name\":\"HALFWIDTH=\",\"optional\":true,\"description\":\"Specifies the desired confidence interval half-width. The half-width is defined as the distance between the point estimate and a finite endpoint. This option can be used only with the CI=T analysis.\",\"help\":\"HALFWIDTH=*number-list*\",\"type\":\"value\"},{\"name\":\"LOWER=\",\"optional\":true,\"description\":\"Specifies the lower equivalence bound for the mean. This option can be used only with the TEST=EQUIV analysis.\",\"help\":\"LOWER=*number-list*\",\"type\":\"value\"},{\"name\":\"MEAN=\",\"optional\":true,\"description\":\"Specifies the mean, in the original scale, or requests a solution for the mean with a missing value (MEAN=.). The mean is arithmetic if DIST=NORMAL and geometric if DIST=LOGNORMAL. This option can be used only with the TEST=T and TEST=EQUIV analyses.\",\"help\":\"MEAN=*number-list*\",\"type\":\"value\"},{\"name\":\"NFRACTIONAL\",\"optional\":true,\"aliases\":[\"NFRAC\"],\"description\":\"Enables fractional input and output for sample sizes. This option is invalid when the METHOD=EXACT option is specified.\",\"type\":\"standalone\"},{\"name\":\"NTOTAL=\",\"optional\":true,\"description\":\"Specifies the sample size or requests a solution for the sample size with a missing value (NTOTAL=.).\",\"help\":\"NTOTAL=*number-list*\",\"type\":\"value\"},{\"name\":\"NULLMEAN=\",\"optional\":true,\"aliases\":[\"NULLM=\"],\"description\":\"Specifies the null mean, in the original scale (whether DIST=NORMAL or DIST=LOGNORMAL). The default value is 0 when DIST=NORMAL and 1 when DIST=LOGNORMAL. This option can be used only with the TEST=T analysis.\",\"help\":\"NULLMEAN=*number-list*\",\"type\":\"value\"},{\"name\":\"OUTPUTORDER=\",\"optional\":true,\"description\":\"Controls how the input and default analysis parameters are ordered in the output. OUTPUTORDER=INTERNAL is the default.\",\"help\":\"OUTPUTORDER=INTERNAL | REVERSE | SYNTAX\",\"type\":\"choice\",\"arguments\":[{\"name\":\"INTERNAL\",\"description\":\"Arranges the parameters in the output according to the following order of their corresponding options: SIDES= NULLMEAN= LOWER= UPPER= ALPHA= MEAN= HALFWIDTH= STDDEV= CV= NTOTAL= POWER= PROBTYPE= PROBWIDTH=\",\"type\":\"standalone\"},{\"name\":\"REVERSE\",\"description\":\"Arranges the parameters in the output in the reverse of the order in which their corresponding options are specified in the ONESAMPLEMEANS statement.\",\"type\":\"standalone\"},{\"name\":\"SYNTAX\",\"description\":\"Arranges the parameters in the output in the same order in which their corresponding options are specified in the ONESAMPLEMEANS statement.\",\"type\":\"standalone\"}]},{\"name\":\"POWER=\",\"optional\":true,\"description\":\"Specifies the desired power of the test or requests a solution for the power with a missing value (POWER=.). The power is expressed as a probability, a number between 0 and 1, rather than as a percentage. This option can be used only with the TEST=T and TEST=EQUIV analyses.\",\"help\":\"POWER=*number-list*\",\"type\":\"value\"},{\"name\":\"PROBTYPE=\",\"optional\":true,\"description\":\"Specifies the type of probability for the PROBWIDTH= option.\",\"help\":\"PROBTYPE=CONDITIONAL | UNCONDITIONAL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"CONDITIONAL\",\"description\":\"Width probability conditional on interval containing the mean\",\"type\":\"standalone\"},{\"name\":\"UNCONDITIONAL\",\"description\":\"Unconditional width probability\",\"type\":\"standalone\"}]},{\"name\":\"PROBWIDTH=\",\"optional\":true,\"description\":\"Specifies the desired probability of obtaining a confidence interval half-width less than or equal to the value specified by the HALFWIDTH= option. A missing value (PROBWIDTH=.) requests a solution for this probability. The type of probability is controlled with the PROBTYPE= option. Values are expressed as probabilities (for example, 0.9) rather than percentages. This option can be used only with the CI=T analysis.\",\"help\":\"PROBWIDTH=*number-list*\",\"type\":\"value\"},{\"name\":\"SIDES=\",\"optional\":true,\"description\":\"Specifies the number of sides (or tails) and the direction of the statistical test or confidence interval. The default value is 2.\",\"help\":\"SIDES=1 | 2 | U | L\",\"type\":\"choice\",\"arguments\":[{\"name\":\"1\",\"description\":\"One-sided with alternative hypothesis in same direction as effect\",\"type\":\"standalone\"},{\"name\":\"2\",\"description\":\"Two-sided\",\"type\":\"standalone\"},{\"name\":\"U\",\"description\":\"Upper one-sided with alternative greater than null value\",\"type\":\"standalone\"},{\"name\":\"L\",\"description\":\"Lower one-sided with alternative less than null value\",\"type\":\"standalone\"}]},{\"name\":\"STDDEV=\",\"optional\":true,\"aliases\":[\"STD=\"],\"description\":\"Specifies the standard deviation, or requests a solution for the standard deviation with a missing value (STDDEV=.). You can use this option only with DIST=NORMAL.\",\"help\":\"STDDEV=*number-list*\",\"type\":\"value\"},{\"name\":\"TEST=\",\"optional\":true,\"description\":\"Specifies the statistical analysis.\",\"help\":\"TEST=EQUIV | T\",\"type\":\"choice\",\"arguments\":[{\"name\":\"EQUIV\",\"description\":\"Specifies an equivalence test of the mean by using a two one-sided tests (TOST) analysis (Schuirmann 1987).\",\"type\":\"standalone\"},{\"name\":\"T\",\"description\":\"Specifies a t test on the mean. If neither the TEST= option nor the CI= option is used, the default is TEST=T. This is the default.\",\"type\":\"standalone\"}]},{\"name\":\"UPPER=\",\"optional\":true,\"description\":\"Specifies the upper equivalence bound for the mean, in the original scale (whether DIST=NORMAL or DIST=LOGNORMAL). This option can be used only with the TEST=EQUIV analysis.\",\"help\":\"UPPER=*number-list*\",\"type\":\"value\"}]},{\"name\":\"ONEWAYANOVA\",\"description\":\"The ONEWAYANOVA statement performs power and sample size analyses for one-degree-of-freedom contrasts and the overall F test in one-way analysis of variance.\",\"help\":\"ONEWAYANOVA &lt;ALPHA=number-list&gt;&lt;CONTRAST= ( values ) &lt; ( ...values ) &gt;&gt;&lt;GROUPMEANS=grouped-number-list&gt; ...\",\"arguments\":[{\"name\":\"ALPHA=\",\"optional\":true,\"description\":\"Specifies the level of significance of the statistical test. The default is 0.05, corresponding to the usual 0.05 x 100% = 5% level of significance.\",\"help\":\"ALPHA=*number-list*\",\"type\":\"value\"},{\"name\":\"CONTRAST=\",\"optional\":true,\"description\":\"Specifies coefficients for single-degree-of-freedom hypothesis tests. You must provide a coefficient for every mean appearing in the GROUPMEANS= option. Specify multiple contrasts either with additional sets of coefficients or with additional CONTRAST= options. For example, you can specify two different contrasts of five means by using the following:\",\"type\":\"value\"},{\"name\":\"GROUPMEANS=\",\"optional\":true,\"aliases\":[\"GMEANS=\"],\"description\":\"Specifies the group means. This option is used to implicitly set the number of groups.\",\"help\":\"GROUPMEANS=*grouped-number-list*\",\"type\":\"value\"},{\"name\":\"GROUPNS=\",\"optional\":true,\"aliases\":[\"GNS=\"],\"description\":\"Specifies the group sample sizes. The number of groups represented must be the same as with the GROUPMEANS= option.\",\"help\":\"GROUPNS=*grouped-number-list*\",\"type\":\"value\"},{\"name\":\"GROUPWEIGHTS=\",\"optional\":true,\"aliases\":[\"GWEIGHTS=\"],\"description\":\"Specifies the sample size allocation weights for the groups. This option controls how the total sample size is divided between the groups. Each set of values across all groups represents relative allocation weights.\",\"help\":\"GROUPWEIGHTS=*grouped-number-list*\",\"type\":\"value\"},{\"name\":\"NFRACTIONAL\",\"optional\":true,\"aliases\":[\"NFRAC\"],\"description\":\"Enables fractional input and output for sample sizes. This option is invalid when the METHOD=EXACT option is specified.\",\"type\":\"standalone\"},{\"name\":\"NPERGROUP=\",\"optional\":true,\"aliases\":[\"NPERG=\"],\"description\":\"Specifies the common sample size per group or requests a solution for the common sample size per group with a missing value (NPERGROUP==.). Use of this option implicitly specifies a balanced design.\",\"help\":\"NPERGROUP=*number-list*\",\"type\":\"value\"},{\"name\":\"NTOTAL=\",\"optional\":true,\"description\":\"Specifies the sample size or requests a solution for the sample size with a missing value (NTOTAL=.).\",\"help\":\"NTOTAL=*number-list*\",\"type\":\"value\"},{\"name\":\"NULLCONTRAST=\",\"optional\":true,\"aliases\":[\"NULLC=\"],\"description\":\"Specifies the null value of the contrast. The default value is 0. This option can be used only with the TEST=CONTRAST analysis.\",\"help\":\"NULLCONTRAST=*number-list*\",\"type\":\"value\"},{\"name\":\"OUTPUTORDER=\",\"optional\":true,\"description\":\"Controls how the input and default analysis parameters are ordered in the output. OUTPUTORDER=INTERNAL is the default.\",\"help\":\"OUTPUTORDER=INTERNAL | REVERSE | SYNTAX\",\"type\":\"choice\",\"arguments\":[{\"name\":\"INTERNAL\",\"description\":\"Arranges the parameters in the output according to the following order of their corresponding options: CONTRAST= SIDES= NULLCONTRAST= ALPHA= GROUPMEANS= STDDEV= GROUPWEIGHTS= NTOTAL= NPERGROUP= GROUPNS= POWER=\",\"type\":\"standalone\"},{\"name\":\"REVERSE\",\"description\":\"Arranges the parameters in the output in the reverse of the order in which their corresponding options are specified in the ONEWAYANOVA statement.\",\"type\":\"standalone\"},{\"name\":\"SYNTAX\",\"description\":\"Arranges the parameters in the output in the same order in which their corresponding options are specified in the ONEWAYANOVA statement.\",\"type\":\"standalone\"}]},{\"name\":\"POWER=\",\"optional\":true,\"description\":\"Specifies the desired power of the test or requests a solution for the power with a missing value (POWER=.). The power is expressed as a probability, a number between 0 and 1, rather than as a percentage. This option can be used only with the TEST=T and TEST=EQUIV analyses.\",\"help\":\"POWER=*number-list*\",\"type\":\"value\"},{\"name\":\"SIDES=\",\"optional\":true,\"description\":\"Specifies the number of sides (or tails) and the direction of the statistical test or confidence interval. The default value is 2.\",\"help\":\"SIDES=1 | 2 | U | L\",\"type\":\"choice\",\"arguments\":[{\"name\":\"1\",\"description\":\"One-sided with alternative hypothesis in same direction as effect\",\"type\":\"standalone\"},{\"name\":\"2\",\"description\":\"Two-sided\",\"type\":\"standalone\"},{\"name\":\"U\",\"description\":\"Upper one-sided with alternative greater than null value\",\"type\":\"standalone\"},{\"name\":\"L\",\"description\":\"Lower one-sided with alternative less than null value\",\"type\":\"standalone\"}]},{\"name\":\"STDDEV=\",\"optional\":true,\"aliases\":[\"STD=\"],\"description\":\"Specifies the error standard deviation.\",\"help\":\"STDDEV=*number-list*\",\"type\":\"value\"},{\"name\":\"TEST=\",\"optional\":true,\"description\":\"Specifies the statistical analysis. The default is TEST=CONTRAST if the CONTRAST= option is used, and TEST=OVERALL otherwise.\",\"help\":\"TEST=CONTRAST | OVERALL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"CONTRAST\",\"description\":\"Specifies a one-degree-of-freedom test of a contrast of means. The test is the usual F test for the two-sided case and the usual t test for the one-sided case.\",\"type\":\"standalone\"},{\"name\":\"OVERALL\",\"description\":\"Specifies the overall F test of equality of all means.\",\"type\":\"standalone\"}]}]},{\"name\":\"PAIREDFREQ\",\"description\":\"The PAIREDFREQ statement performs power and sample size analyses for McNemar's test for paired proportions.\",\"help\":\"PAIREDFREQ &lt;ALPHA=number-list&gt;&lt;CORR=number-list&gt;&lt;DISCPROPORTIONS=grouped-number-list&gt; ...\",\"arguments\":[{\"name\":\"ALPHA=\",\"optional\":true,\"description\":\"Specifies the level of significance of the statistical test. The default is 0.05, corresponding to the usual 0.05 x 100% = 5% level of significance.\",\"help\":\"ALPHA=*number-list*\",\"type\":\"value\"},{\"name\":\"CORR=\",\"optional\":true,\"description\":\"Specifies the correlation φ between members of a pair.\",\"help\":\"CORR=*number-list*\",\"type\":\"value\"},{\"name\":\"DISCPROPDIFF=\",\"optional\":true,\"aliases\":[\"DISCPDIFF=\"],\"description\":\"Specifies the difference p01 - p10 between discordant proportions.\",\"help\":\"DISCPROPDIFF=*number-list*\",\"type\":\"value\"},{\"name\":\"DISCPROPORTIONS=\",\"optional\":true,\"aliases\":[\"DISCPS=\"],\"description\":\"Specifies the two discordant proportions, p10 and p01.\",\"help\":\"DISCPROPORTIONS=*grouped-number-list*\",\"type\":\"value\"},{\"name\":\"DISCPROPRATIO=\",\"optional\":true,\"aliases\":[\"DISCPRATIO=\"],\"description\":\"Specifies the ratio p01 / p10 of discordant proportions.\",\"help\":\"DISCPROPRATIO=*number-list*\",\"type\":\"value\"},{\"name\":\"DIST=\",\"optional\":true,\"description\":\"Specifies the underlying distribution assumed for the test statistic. The default value is EXACT_COND.\",\"help\":\"DIST=EXACT_COND  | NORMAL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"EXACT_COND\",\"description\":\"Corresponds to the exact conditional test, based on the exact binomial distribution of the two types of discordant pairs given the total number of discordant pairs.\",\"help\":\"EXACT_COND \",\"type\":\"standalone\"},{\"name\":\"NORMAL\",\"description\":\"Corresponds to the conditional test based on the normal approximation to the binomial distribution of the two types of discordant pairs given the total number of discordant pairs.\",\"type\":\"standalone\"}]},{\"name\":\"METHOD=\",\"optional\":true,\"description\":\"Specifies the computational method.\",\"help\":\"METHOD=CONNOR | EXACT | MIETTINEN\",\"type\":\"choice\",\"arguments\":[{\"name\":\"CONNOR\",\"description\":\"Uses an approximation from Connor (1987). Valid only for DIST=NORMAL\",\"type\":\"standalone\"},{\"name\":\"EXACT\",\"description\":\"Uses the exact binomial distributions of the total number of discordant pairs and the two types of discordant pairs. This is the default.\",\"type\":\"standalone\"},{\"name\":\"MIETTINEN\",\"description\":\"Uses an approximation from Miettinen (1968). Valid only for DIST=NORMAL.\",\"type\":\"standalone\"}]},{\"name\":\"NFRACTIONAL\",\"optional\":true,\"aliases\":[\"NFRAC\"],\"description\":\"Enables fractional input and output for sample sizes. This option cannot be used with METHOD=EXACT.\",\"type\":\"standalone\"},{\"name\":\"NPAIRS=\",\"optional\":true,\"description\":\"Specifies the total number of proportion pairs (concordant and discordant) or requests a solution for the number of pairs with a missing value (NPAIRS=.).\",\"help\":\"NPAIRS=*number-list*\",\"type\":\"value\"},{\"name\":\"NULLDISCPROPRATIO=\",\"optional\":true,\"aliases\":[\"NULLDISCPRATIO=\",\"NULLRATIO=\",\"NULLR=\"],\"description\":\"Specifies the null value of the ratio of discordant proportions. The default value is 1.\",\"help\":\"NULLDISCPROPRATIO=*number-list*\",\"type\":\"value\"},{\"name\":\"ODDSRATIO=\",\"optional\":true,\"aliases\":[\"OR=\"],\"description\":\"Specifies the odds ratio [p.1/(1-p.1)]/[p1./(1-p1.)].\",\"help\":\"ODDSRATIO=*number-list*\",\"type\":\"value\"},{\"name\":\"OUTPUTORDER=\",\"optional\":true,\"description\":\"Controls how the input and default analysis parameters are ordered in the output. OUTPUTORDER=INTERNAL is the default.\",\"help\":\"OUTPUTORDER=INTERNAL | REVERSE | SYNTAX\",\"type\":\"choice\",\"arguments\":[{\"name\":\"INTERNAL\",\"description\":\"Arranges the parameters in the output according to the following order of their corresponding options: SIDES= NULLDISCPROPRATIO= ALPHA= PAIREDPROPORTIONS= PROPORTIONDIFF= ODDSRATIO= RELATIVERISK= CORR= DISCPROPORTIONS= DISCPROPDIFF= TOTALPROPDISC= REFPROPORTION= DISCPROPRATIO= NPAIRS= POWER=\",\"type\":\"standalone\"},{\"name\":\"REVERSE\",\"description\":\"Arranges the parameters in the output in the reverse of the order in which their corresponding options are specified in the PAIREDFREQ statement.\",\"type\":\"standalone\"},{\"name\":\"SYNTAX\",\"description\":\"Arranges the parameters in the output in the same order in which their corresponding options are specified in the PAIREDFREQ statement.\",\"type\":\"standalone\"}]},{\"name\":\"PAIREDPROPORTIONS=\",\"optional\":true,\"aliases\":[\"PPROPORTIONS=\",\"PAIREDPS=\",\"PPS=\"],\"description\":\"Specifies the two paired proportions, p1. and p.1.\",\"help\":\"PAIREDPROPORTIONS=*grouped-number-list*\",\"type\":\"value\"},{\"name\":\"POWER=\",\"optional\":true,\"description\":\"Specifies the desired power of the test or requests a solution for the power with a missing value (POWER=.). The power is expressed as a probability, a number between 0 and 1, rather than as a percentage.\",\"help\":\"POWER=*number-list*\",\"type\":\"value\"},{\"name\":\"PROPORTIONDIFF=\",\"optional\":true,\"aliases\":[\"PDIFF=\"],\"description\":\"Specifies the proportion difference p.1 - p1..\",\"help\":\"PROPORTIONDIFF=*number-list*\",\"type\":\"value\"},{\"name\":\"REFPROPORTION=\",\"optional\":true,\"aliases\":[\"REFP=\"],\"description\":\"Specifies either the reference first proportion p.1 - p1.. (when used in conjunction with the PROPORTIONDIFF=, ODDSRATIO=, or RELATIVERISK= option) or the reference discordant proportion p10 (when used in conjunction with the DISCPROPDIFF= or DISCPROPRATIO= option).\",\"help\":\"REFPROPORTION=*number-list*\",\"type\":\"value\"},{\"name\":\"RELATIVERISK=\",\"optional\":true,\"aliases\":[\"RR=\"],\"description\":\"Specifies the relative risk p.1/p1..\",\"help\":\"RELATIVERISK=*number-list*\",\"type\":\"value\"},{\"name\":\"SIDES=\",\"optional\":true,\"description\":\"Specifies the number of sides (or tails) and the direction of the statistical test or confidence interval. The default value is 2.\",\"help\":\"SIDES=1 | 2 | U | L\",\"type\":\"choice\",\"arguments\":[{\"name\":\"1\",\"description\":\"One-sided with alternative hypothesis in same direction as effect\",\"type\":\"standalone\"},{\"name\":\"2\",\"description\":\"Two-sided\",\"type\":\"standalone\"},{\"name\":\"U\",\"description\":\"Upper one-sided with alternative greater than null value\",\"type\":\"standalone\"},{\"name\":\"L\",\"description\":\"Lower one-sided with alternative less than null value\",\"type\":\"standalone\"}]},{\"name\":\"TEST=\",\"optional\":true,\"description\":\"Specifies a test of paired proportions. The McNemar test of paired proportions is the default test option.\",\"help\":\"TEST=MCNEMAR\",\"type\":\"choice\",\"arguments\":[{\"name\":\"MCNEMAR\",\"description\":\"Specifies the McNemar test of paired proportions.\",\"type\":\"standalone\"}]},{\"name\":\"TOTALPROPDISC=\",\"optional\":true,\"aliases\":[\"TOTALPDISC=\",\"PDISC=\"],\"description\":\"Specifies the sum of the two discordant proportions, p10 + p01.\",\"help\":\"TOTALPROPDISC=*number-list*\",\"type\":\"value\"}]},{\"name\":\"PAIREDMEANS\",\"description\":\"The PAIREDMEANS statement performs power and sample size analyses for t tests, equivalence tests, and confidence interval precision involving paired samples.\",\"help\":\"PAIREDMEANS &lt;ALPHA=number-list&gt;&lt;CI | CI=DIFF&gt;&lt;CORR=number-list&gt; ...\",\"arguments\":[{\"name\":\"ALPHA=\",\"optional\":true,\"description\":\"Specifies the level of significance of the statistical test. The default is 0.05, corresponding to the usual 0.05 x 100% = 5% level of significance.\",\"help\":\"ALPHA=*number-list*\",\"type\":\"value\"},{\"name\":\"CI\",\"optional\":true,\"description\":\"Specifies an analysis of precision of the confidence interval for the mean difference. Instead of power, the relevant probability for this analysis is the probability of achieving a desired precision. Specifically, it is the probability that the half-width of the observed confidence interval will be at most the value specified by the HALFWIDTH= option. If neither the CI= option nor the TEST= option is used, the default is TEST= DIFF.\",\"type\":\"standalone\"},{\"name\":\"CORR=\",\"optional\":true,\"description\":\"Specifies the correlation between members of a pair.\",\"help\":\"CORR=*number-list*\",\"type\":\"value\"},{\"name\":\"CV=\",\"optional\":true,\"description\":\"Specifies the coefficient of variation, defined as the ratio of the standard deviation to the mean. You can use this option only with DIST=LOGNORMAL.\",\"help\":\"CV=*number-list*\",\"type\":\"value\"},{\"name\":\"DIST=\",\"optional\":true,\"description\":\"Specifies the underlying distribution assumed for the test statistic.\",\"help\":\"DIST=LOGNORMAL | NORMAL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"LOGNORMAL\",\"description\":\"Corresponds to the lognormal distribution.\",\"type\":\"standalone\"},{\"name\":\"NORMAL\",\"description\":\"Corresponds to the normal distribution\",\"type\":\"standalone\"}]},{\"name\":\"HALFWIDTH=\",\"optional\":true,\"description\":\"Specifies the desired confidence interval half-width. The half-width is defined as the distance between the point estimate and a finite endpoint. This option can be used only with the CI=T analysis.\",\"help\":\"HALFWIDTH=*number-list*\",\"type\":\"value\"},{\"name\":\"LOWER=\",\"optional\":true,\"description\":\"Specifies the lower equivalence bound for the mean. This option can be used only with the TEST=EQUIV analysis.\",\"help\":\"LOWER=*number-list*\",\"type\":\"value\"},{\"name\":\"MEANDIFF=\",\"optional\":true,\"description\":\"Specifies the mean difference, defined as the mean of the difference between the second and first members of a pair, µ2 - µ1 . This option can be used only with the TEST= DIFF and TEST= EQUIV_DIFF analyses. When TEST= EQUIV_DIFF, the mean difference is interpreted as the treatment mean minus the reference mean.\",\"help\":\"MEANDIFF=*number-list*\",\"type\":\"value\"},{\"name\":\"MEANRATIO=\",\"optional\":true,\"description\":\"Specifies the geometric mean ratio, defined as γ2/γ1. This option can be used only with the TEST= RATIO and TEST= EQUIV_RATIO analyses. When TEST= EQUIV_RATIO, the mean ratio is interpreted as the treatment mean divided by the reference mean.\",\"help\":\"MEANRATIO=*number-list*\",\"type\":\"value\"},{\"name\":\"NFRACTIONAL\",\"optional\":true,\"aliases\":[\"NFRAC\"],\"description\":\"Enables fractional input and output for sample sizes. This option is invalid when the METHOD=EXACT option is specified.\",\"type\":\"standalone\"},{\"name\":\"NPAIRS=\",\"optional\":true,\"description\":\"Specifies the total number of proportion pairs (concordant and discordant) or requests a solution for the number of pairs with a missing value (NPAIRS=.).\",\"help\":\"NPAIRS=*number-list*\",\"type\":\"value\"},{\"name\":\"NULLRATIO=\",\"optional\":true,\"aliases\":[\"NULLR=\"],\"description\":\"Specifies the null value of the ratio of discordant proportions. The default value is 1.\",\"help\":\"NULLRATIO=*number-list*\",\"type\":\"value\"},{\"name\":\"OUTPUTORDER=\",\"optional\":true,\"description\":\"Controls how the input and default analysis parameters are ordered in the output. OUTPUTORDER=INTERNAL is the default.\",\"help\":\"OUTPUTORDER=INTERNAL | REVERSE | SYNTAX\",\"type\":\"choice\",\"arguments\":[{\"name\":\"INTERNAL\",\"description\":\"Arranges the parameters in the output according to the following order of their corresponding options: SIDES= NULLDIFF= NULLRATIO= LOWER= UPPER= ALPHA= PAIREDMEANS= MEANDIFF= MEANRATIO= HALFWIDTH= STDDEV= PAIREDSTDDEVS= CV= PAIREDCVS= CORR= NPAIRS= POWER= PROBTYPE= PROBWIDTH=\",\"type\":\"standalone\"},{\"name\":\"REVERSE\",\"description\":\"Arranges the parameters in the output in the reverse of the order in which their corresponding options are specified in the PAIREDMEANS statement.\",\"type\":\"standalone\"},{\"name\":\"SYNTAX\",\"description\":\"Arranges the parameters in the output in the same order in which their corresponding options are specified in the PAIREDMEANS statement.\",\"type\":\"standalone\"}]},{\"name\":\"PAIREDCVS=\",\"optional\":true,\"description\":\"Specifies the coefficient of variation for each member of a pair. Unlike the CV= option, the PAIREDCVS= option supports different values for each member of a pair. Values must be nonnegative (unless both are equal to zero, which is permitted). This option can be used only with DIST=LOGNORMAL\",\"help\":\"PAIREDCVS=*grouped-number-list*\",\"type\":\"value\"},{\"name\":\"PAIREDMEANS=\",\"optional\":true,\"aliases\":[\"PMEANS=\"],\"description\":\"Specifies the two paired means, in the original scale. The means are arithmetic if DIST=NORMAL and geometric if DIST=LOGNORMAL. This option cannot be used with the CI=DIFF analysis. When TEST=EQUIV_DIFF, the means are interpreted as the reference mean (first) and the treatment mean (second).\",\"help\":\"PAIREDMEANS=*grouped-number-list*\",\"type\":\"value\"},{\"name\":\"PAIREDSTDDEVS=\",\"optional\":true,\"aliases\":[\"PAIREDSTDS=\",\"PSTDDEVS\",\"PSTDS=\"],\"description\":\"Specifies the standard deviation of each member of a pair. Unlike the STDDEV= option, the PAIREDSTDDEVS= option supports different values for each member of a pair. This option can be used only with DIST=NORMAL.\",\"help\":\"PAIREDSTDDEVS=*grouped-number-list*\",\"type\":\"value\"},{\"name\":\"POWER=\",\"optional\":true,\"description\":\"Specifies the desired power of the test or requests a solution for the power with a missing value (POWER=.). The power is expressed as a probability, a number between 0 and 1, rather than as a percentage. This option cannot be used with the CI=DIFF analysis.\",\"help\":\"POWER=*number-list*\",\"type\":\"value\"},{\"name\":\"PROBTYPE=\",\"optional\":true,\"description\":\"Specifies the type of probability for the PROBWIDTH= option.\",\"help\":\"PROBTYPE=CONDITIONAL | UNCONDITIONAL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"CONDITIONAL\",\"aliases\":[\"GIVENVALIDITY\"],\"description\":\"Indicates the conditional probability that the confidence interval half-width is at most the value specified by the HALFWIDTH= option, given that the true mean difference is captured by the confidence interval.\",\"type\":\"standalone\"},{\"name\":\"UNCONDITIONAL\",\"description\":\"Indicates the unconditional probability that the confidence interval half-width is at most the value specified by the HALFWIDTH= option.\",\"type\":\"standalone\"}]},{\"name\":\"PROBWIDTH=\",\"optional\":true,\"description\":\"Specifies the desired probability of obtaining a confidence interval half-width less than or equal to the value specified by the HALFWIDTH= option. A missing value (PROBWIDTH=.) requests a solution for this probability. The type of probability is controlled with the PROBTYPE= option. Values are expressed as probabilities (for example, 0.9) rather than percentages. This option can be used only with the CI=DIFF analysis.\",\"help\":\"PROBWIDTH=*number-list*\",\"type\":\"value\"},{\"name\":\"SIDES=\",\"optional\":true,\"description\":\"Specifies the number of sides (or tails) and the direction of the statistical test or confidence interval. The default value is 2.\",\"help\":\"SIDES=1 | 2 | U | L\",\"type\":\"choice\",\"arguments\":[{\"name\":\"1\",\"description\":\"One-sided with alternative hypothesis in same direction as effect\",\"type\":\"standalone\"},{\"name\":\"2\",\"description\":\"Two-sided\",\"type\":\"standalone\"},{\"name\":\"U\",\"description\":\"Upper one-sided with alternative greater than null value\",\"type\":\"standalone\"},{\"name\":\"L\",\"description\":\"Lower one-sided with alternative less than null value\",\"type\":\"standalone\"}]},{\"name\":\"STDDEV=\",\"optional\":true,\"aliases\":[\"STD=\"],\"description\":\"Specifies the standard deviation assumed to be common to both members of a pair. This option can be used only with DIST=NORMAL.\",\"help\":\"STDDEV=*number-list*\",\"type\":\"value\"},{\"name\":\"TEST=\",\"optional\":true,\"description\":\"Specifies the statistical analysis. If neither the TEST= option nor the CI= option is used, the default is TEST=DIFF.\",\"help\":\"TEST=DIFF | EQUIV_DIFF | EQUIV_RATIO | RATIO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DIFF\",\"description\":\"Specifies a paired t test on the mean difference. This is the default.\",\"type\":\"standalone\"},{\"name\":\"EQUIV_DIFF\",\"description\":\"Specifies an additive equivalence test of the mean difference by using a two one-sided tests (TOST) analysis (Schuirmann 1987).\",\"type\":\"standalone\"},{\"name\":\"EQUIV_RATIO\",\"description\":\"Specifies a multiplicative equivalence test of the mean ratio by using a TOST analysis.\",\"type\":\"standalone\"},{\"name\":\"RATIO\",\"description\":\"Specifies a paired t test on the geometric mean ratio.\",\"type\":\"standalone\"}]},{\"name\":\"UPPER=\",\"optional\":true,\"description\":\"Specifies the upper equivalence bound for the mean difference or mean ratio, in the original scale (whether DIST=NORMAL or DIST=LOGNORMAL). This option can be used only with the TEST=EQUIV_DIFF and TEST=EQUIV_RATIO analyses.\",\"help\":\"UPPER=*number-list*\",\"type\":\"value\"}]},{\"name\":\"PLOT\",\"description\":\"The PLOT statement produces a graph or set of graphs for the sample size analysis defined by the previous analysis statement. The plot-options define the plot characteristics, and the graph-options are SAS/GRAPH-style options.\",\"help\":\"PLOT INTERPOL=JOIN|NONE  KEY=BYCURVE|BYFEATURE|ONCURVES  MARKERS=ANALYSIS|COMPUTED|NICE...  ...\",\"arguments\":[{\"name\":\"INTERPOL=\",\"description\":\"Specifies the type of curve to draw through the computed points.\",\"help\":\"INTERPOL=JOIN | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"JOIN\",\"description\":\"Connects computed points with straight lines.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"Leaves computed points unconnected.\",\"type\":\"standalone\"}]},{\"name\":\"KEY=\",\"description\":\"Specifies the style of key (or \\\"legend\\\") for the plot. The default is KEY=BYFEATURE.\",\"help\":\"KEY=BYCURVE | BYFEATURE | ONCURVES\",\"type\":\"choice\",\"arguments\":[{\"name\":\"BYCURVE\",\"description\":\"Specifies a key with each row identifying a distinct curve in the plot. Syntax: BYCURVE <(bycurve-options)> You can specify the following bycurve-options in parentheses after the KEY=BYCURVE option. NUMBERS=OFF | ON specifies how the key should identify curves. If NUMBERS=OFF, then the key includes symbol, color, and line style samples to identify the curves. If NUMBERS=ON, then the key includes numbers matching numeric labels placed adjacent to the curves. The default is NUMBERS=ON. POS=BOTTOM | INSET specifies the position of the key. The POS=BOTTOM option places the key below the X axis. The POS=INSET option places the key inside the plotting region and attempts to choose the least crowded corner. The default is POS=BOTTOM.\",\"type\":\"standalone\"},{\"name\":\"BYFEATURE\",\"description\":\"Specifies a key with a column of entries for each plot feature (line style, color, and/or symbol). Syntax: BYFEATURE <(byfeature-options)> You can specify the following byfeature-options in parentheses after KEY=BYFEATURE option. POS=BOTTOM | INSET specifies the position of the key. The POS=BOTTOM option places the key below the X axis. The POS=INSET option places the key inside the plotting region and attempts to choose the least crowded corner. The default is POS=BOTTOM.\",\"type\":\"standalone\"},{\"name\":\"ONCURVES\",\"description\":\"Places a curve-specific label adjacent to each curve.\",\"type\":\"standalone\"}]},{\"name\":\"MARKERS=\",\"description\":\"Specifies the locations for plotting symbols.\",\"help\":\"MARKERS=ANALYSIS | COMPUTED | NICE | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ANALYSIS\",\"description\":\"Places plotting symbols at locations corresponding to the values of the relevant input parameter from the POWER statement preceding the PLOT statement.\",\"type\":\"standalone\"},{\"name\":\"COMPUTED\",\"description\":\"Places plotting symbols at the locations of actual computed points from the sample size analysis. This is the default.\",\"type\":\"standalone\"},{\"name\":\"NICE\",\"description\":\"Places plotting symbols at tick mark locations (corresponding to the argument axis).\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"Disables plotting symbols.\",\"type\":\"standalone\"}]},{\"name\":\"MAX=\",\"description\":\"Specifies the maximum of the range of values for the parameter associated with the \\\"argument\\\" axis (the axis that is not representing the parameter being solved for).\",\"help\":\"MAX=&lt;*number*&gt; | DATAMAX\",\"type\":\"choice\",\"arguments\":[{\"name\":\"number\",\"placeholder\":true,\"description\":\"Replace <number> with an actual value.\",\"type\":\"value\"},{\"name\":\"DATAMAX\",\"description\":\"Specifies the maximum value that occurs for this parameter in the POWER statement that precedes the PLOT statement. This is the default.\",\"type\":\"standalone\"}]},{\"name\":\"MIN=\",\"description\":\"Specifies the minimum of the range of values for the parameter associated with the \\\"argument\\\" axis (the axis that is not representing the parameter being solved for).\",\"help\":\"MIN=&lt;*number*&gt; | DATAMIN\",\"type\":\"choice\",\"arguments\":[{\"name\":\"number\",\"placeholder\":true,\"description\":\"Replace <number> with an actual value.\",\"type\":\"value\"},{\"name\":\"DATAMIN\",\"description\":\"Specifies the minimum value that occurs for this parameter in the POWER statement that precedes the PLOT statement. This is the default.\",\"type\":\"standalone\"}]},{\"name\":\"NPOINTS=\",\"aliases\":[\"NPTS=\"],\"description\":\"Specifies the number of values for the parameter associated with the \\\"argument\\\" axis (the axis that is not representing the parameter being solved for). You cannot use the NPOINTS= and STEP= options simultaneously. The default value for typical situations is 20.\",\"help\":\"NPOINTS=*number*\",\"type\":\"value\"},{\"name\":\"STEP=\",\"description\":\"Specifies the increment between values of the parameter associated with the \\\"argument\\\" axis (the axis that is not representing the parameter being solved for).\",\"help\":\"STEP=*number*\",\"type\":\"value\"},{\"name\":\"VARY=\",\"description\":\"Specifies how plot features should be linked to varying analysis parameters. Available plot features are COLOR, LINESTYLE, PANEL, and SYMBOL. A \\\"panel\\\" refers to a separate plot with a heading identifying the subset of values represented in the plot. The parameter-list is a list of one or more names separated by spaces. Each name must match the name of an analysis option used in the analysis statement preceding the PLOT statement. Also, the name must be the primary name for the analysis option—that is, the one listed first in the syntax description.\",\"help\":\"VARY=BY\",\"type\":\"choice\",\"arguments\":[{\"name\":\"BY\",\"type\":\"standalone\"}]},{\"name\":\"X=\",\"description\":\"Specifies a plot with the requested type of parameter on the X axis and the parameter being solved for on the Y axis. The default is X=POWER, unless the result parameter is power or Prob(Width), in which case the default is X=N.\",\"help\":\"X=EFFECT | N | POWER\",\"type\":\"choice\",\"arguments\":[{\"name\":\"EFFECT\",\"description\":\"The parameter assigned to the X axis is the one most representative of \\\"effect size\\\".\",\"type\":\"standalone\"},{\"name\":\"N\",\"description\":\"The parameter assigned to the X axis is the sample size.\",\"type\":\"standalone\"},{\"name\":\"POWER\",\"description\":\"The parameter assigned to the X axis is the one most representative of \\\"power\\\" (either power itself or a similar probability, such as Prob(Width) for confidence interval analyses).\",\"type\":\"standalone\"}]},{\"name\":\"XOPTS=\",\"description\":\"Specifies plot characteristics pertaining to the X axis. You can specify the following x-options in parentheses. CROSSREF=NO | YES specifies whether the reference lines defined by the REF= y-option should be crossed with a reference line on the Y axis that indicates the solution point on the curve.\",\"help\":\"XOPTS=CROSSREF= | REF=\",\"type\":\"choice\",\"arguments\":[{\"name\":\"CROSSREF=\",\"type\":\"value\"},{\"name\":\"REF=\",\"type\":\"value\"}]},{\"name\":\"Y=\",\"description\":\"Specifies a plot with the requested type of parameter on the Y axis and the parameter being solved for on the X axis. You cannot use the Y= and X= options simultaneously. By default, the X= option is used instead of the Y= option.\",\"help\":\"Y=EFFECT | N | POWER\",\"type\":\"choice\",\"arguments\":[{\"name\":\"EFFECT\",\"description\":\"The parameter assigned to the Y axis is the one most representative of \\\"effect size\\\".\",\"type\":\"standalone\"},{\"name\":\"N\",\"description\":\"The parameter assigned to the Y axis is the sample size.\",\"type\":\"standalone\"},{\"name\":\"POWER\",\"description\":\"The parameter assigned to the Y axis is the one most representative of \\\"power\\\" (either power itself or a similar probability, such as Prob(Width) for confidence interval analyses).\",\"type\":\"standalone\"}]},{\"name\":\"YOPTS=\",\"description\":\"Specifies plot characteristics pertaining to the Y axis. You can specify the following y-options in parentheses. CROSSREF=NO | YES specifies whether the reference lines defined by the REF= y-option should be crossed with a reference line on the X axis that indicates the solution point on the curve.\",\"help\":\"YOPTS=CROSSREF= | REF=\",\"type\":\"choice\",\"arguments\":[{\"name\":\"CROSSREF=\",\"type\":\"value\"},{\"name\":\"REF=\",\"type\":\"value\"}]},{\"name\":\"DESCRIPTION=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies a descriptive string of up to 40 characters that appears in the \\\"Description\\\" field of the graphics catalog.\",\"help\":\"DESCRIPTION='*string*'\",\"type\":\"value\"},{\"name\":\"NAME=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies a name of up to eight characters for the catalog entry for the plot. The default name is PLOTn, where n is the number of the plot statement within the current invocation of PROC POWER. If the name duplicates the name of an existing entry, SAS/GRAPH software adds a number to the duplicate name to create a unique entry—for example, PLOT11 and PLOT12 for the second and third panels of a multipanel plot generated in the first PLOT statement in an invocation of PROC POWER.\",\"help\":\"NAME='*string*'\",\"type\":\"value\"}]},{\"name\":\"TWOSAMPLEFREQ\",\"description\":\"The TWOSAMPLEFREQ statement performs power and sample size analyses for tests of two independent proportions. Pearson's chi-square, Fisher's exact, and likelihood ratio chi-square tests are supported.\",\"help\":\"TWOSAMPLEFREQ &lt;ALPHA=number-list&gt;&lt;GROUPNS=grouped-number-list&gt;&lt;GROUPNS=grouped-number-list&gt; ...\",\"arguments\":[{\"name\":\"ALPHA=\",\"optional\":true,\"description\":\"Specifies the level of significance of the statistical test. The default is 0.05, corresponding to the usual 0.05 x 100% = 5% level of significance.\",\"help\":\"ALPHA=*number-list*\",\"type\":\"value\"},{\"name\":\"GROUPNS=\",\"optional\":true,\"aliases\":[\"GNS=\"],\"description\":\"Specifies the two group sample sizes.\",\"help\":\"GROUPNS=*grouped-number-list*\",\"type\":\"value\"},{\"name\":\"GROUPPROPORTIONS=\",\"optional\":true,\"aliases\":[\"GPROPORTIONS=\",\"GROUPPS=\",\"GPS=\"],\"description\":\"Specifies the two independent proportions, p1 and p2.\",\"type\":\"value\"},{\"name\":\"GROUPWEIGHTS=\",\"optional\":true,\"aliases\":[\"GWEIGHTS=\"],\"description\":\"Specifies the sample size allocation weights for the groups. This option controls how the total sample size is divided between the groups. Each set of values across all groups represents relative allocation weights.\",\"help\":\"GROUPWEIGHTS=*grouped-number-list*\",\"type\":\"value\"},{\"name\":\"NFRACTIONAL\",\"optional\":true,\"aliases\":[\"NFRAC\"],\"description\":\"Enables fractional input and output for sample sizes.\",\"type\":\"standalone\"},{\"name\":\"NPERGROUP=\",\"optional\":true,\"aliases\":[\"NPERG=\"],\"description\":\"Specifies the common sample size per group or requests a solution for the common sample size per group with a missing value (NPERGROUP==.). Use of this option implicitly specifies a balanced design.\",\"help\":\"NPERGROUP=*number-list*\",\"type\":\"value\"},{\"name\":\"NTOTAL=\",\"optional\":true,\"description\":\"Specifies the sample size or requests a solution for the sample size with a missing value (NTOTAL=.).\",\"help\":\"NTOTAL=*number-list*\",\"type\":\"value\"},{\"name\":\"NULLODDSRATIO=\",\"optional\":true,\"aliases\":[\"NULLOR=\"],\"description\":\"Specifies the null odds ratio. The default value is 1. This option can be used only with the ODDSRATIO= option in the TEST=PCHI analysis.\",\"help\":\"NULLODDSRATIO=*number-list*\",\"type\":\"value\"},{\"name\":\"NULLPROPORTIONDIFF=\",\"optional\":true,\"aliases\":[\"NULLPDIFF=\"],\"description\":\"Specifies the null proportion difference. The default value is 0. This option can be used only with the GROUPPROPORTIONS= or PROPORTIONDIFF= option in the TEST=PCHI analysis.\",\"help\":\"NULLPROPORTIONDIFF=*number-list*\",\"type\":\"value\"},{\"name\":\"NULLRELATIVERISK=\",\"optional\":true,\"aliases\":[\"NULLRR=\"],\"description\":\"Specifies the null relative risk. The default value is 1. This option can be used only with the RELATIVERISK= option in the TEST=PCHI analysis.\",\"help\":\"NULLRELATIVERISK=*number-list*\",\"type\":\"value\"},{\"name\":\"ODDSRATIO=\",\"optional\":true,\"aliases\":[\"OR=\"],\"description\":\"Specifies the odds ratio [p2/(1-p2)]/[p1/(1-p1)].\",\"help\":\"ODDSRATIO=*number-list*\",\"type\":\"value\"},{\"name\":\"OUTPUTORDER=\",\"optional\":true,\"description\":\"Controls how the input and default analysis parameters are ordered in the output. OUTPUTORDER=INTERNAL is the default.\",\"help\":\"OUTPUTORDER=INTERNAL | REVERSE | SYNTAX\",\"type\":\"choice\",\"arguments\":[{\"name\":\"INTERNAL\",\"description\":\"Arranges the parameters in the output according to the following order of their corresponding options: SIDES= NULLPROPORTIONDIFF= NULLODDSRATIO= NULLRELATIVERISK= ALPHA= GROUPPROPORTIONS= REFPROPORTION= PROPORTIONDIFF= ODDSRATIO= RELATIVERISK= GROUPWEIGHTS= NTOTAL= NPERGROUP= GROUPNS= POWER=\",\"type\":\"standalone\"},{\"name\":\"REVERSE\",\"description\":\"Arranges the parameters in the output in the reverse of the order in which their corresponding options are specified in the TWOSAMPLEFREQ statement.\",\"type\":\"standalone\"},{\"name\":\"SYNTAX\",\"description\":\"Arranges the parameters in the output in the same order in which their corresponding options are specified in the TWOSAMPLEFREQ statement.\",\"type\":\"standalone\"}]},{\"name\":\"POWER=\",\"optional\":true,\"description\":\"Specifies the desired power of the test or requests a solution for the power with a missing value (POWER=.). The power is expressed as a probability, a number between 0 and 1, rather than as a percentage.\",\"help\":\"POWER=*number-list*\",\"type\":\"value\"},{\"name\":\"PROPORTIONDIFF=\",\"optional\":true,\"aliases\":[\"PDIFF=\"],\"description\":\"Specifies the proportion difference p2 - p1.\",\"help\":\"PROPORTIONDIFF=*number-list*\",\"type\":\"value\"},{\"name\":\"REFPROPORTION=\",\"optional\":true,\"aliases\":[\"REFP=\"],\"description\":\"Specifies either the reference first proportion p1.\",\"help\":\"REFPROPORTION=*number-list*\",\"type\":\"value\"},{\"name\":\"RELATIVERISK=\",\"optional\":true,\"aliases\":[\"RR=\"],\"description\":\"Specifies the relative risk p2/p1.\",\"help\":\"RELATIVERISK=*number-list*\",\"type\":\"value\"},{\"name\":\"SIDES=\",\"optional\":true,\"description\":\"Specifies the number of sides (or tails) and the direction of the statistical test or confidence interval. The default value is 2.\",\"help\":\"SIDES=1 | 2 | U | L\",\"type\":\"choice\",\"arguments\":[{\"name\":\"1\",\"description\":\"One-sided with alternative hypothesis in same direction as effect\",\"type\":\"standalone\"},{\"name\":\"2\",\"description\":\"Two-sided\",\"type\":\"standalone\"},{\"name\":\"U\",\"description\":\"Upper one-sided with alternative greater than null value\",\"type\":\"standalone\"},{\"name\":\"L\",\"description\":\"Lower one-sided with alternative less than null value\",\"type\":\"standalone\"}]},{\"name\":\"TEST=\",\"optional\":true,\"description\":\"Specifies the statistical analysis.\",\"help\":\"TEST=FISHER | FM | FM_RR | LRCHI | PCHI\",\"type\":\"choice\",\"arguments\":[{\"name\":\"FISHER\",\"description\":\"Specifies the Fisher's exact test.\",\"type\":\"standalone\"},{\"name\":\"FM\",\"description\":\"Specifies the score test of Farrington and Manning (1990) for proportion difference.\",\"type\":\"standalone\"},{\"name\":\"FM_RR\",\"description\":\"Specifies the score test of Farrington and Manning (1990) for relative risk.\",\"type\":\"standalone\"},{\"name\":\"LRCHI\",\"description\":\"Specifies the likelihood ratio chi-square test.\",\"type\":\"standalone\"},{\"name\":\"PCHI\",\"description\":\"Specifies Pearson’s chi-square test for proportion difference. This is the default.\",\"type\":\"standalone\"}]}]},{\"name\":\"TWOSAMPLEMEANS\",\"description\":\"The TWOSAMPLEMEANS statement performs power and sample size analyses for pooled and unpooled t tests, equivalence tests, and confidence interval precision involving two independent samples.\",\"help\":\"TWOSAMPLEMEANS &lt;ALPHA=number-list&gt;&lt;CI | CI=DIFF&gt;&lt;CV=number-list&gt; ...\",\"arguments\":[{\"name\":\"ALPHA=\",\"optional\":true,\"description\":\"Specifies the level of significance of the statistical test. The default is 0.05, corresponding to the usual 0.05 x 100% = 5% level of significance.\",\"help\":\"ALPHA=*number-list*\",\"type\":\"value\"},{\"name\":\"CI\",\"optional\":true,\"description\":\"Specifies an analysis of precision of the confidence interval for the mean difference, assuming equal variances. Instead of power, the relevant probability for this analysis is the probability that the interval half-width is at most the value specified by the HALFWIDTH= option. If neither the TEST= option nor the CI= option is used, the default is TEST= DIFF.\",\"type\":\"standalone\"},{\"name\":\"CV=\",\"optional\":true,\"description\":\"Specifies the coefficient of variation assumed to be common to both groups. The coefficient of variation is defined as the ratio of the standard deviation to the mean. You can use this option only with DIST=LOGNORMAL.\",\"help\":\"CV=*number-list*\",\"type\":\"value\"},{\"name\":\"DIST=\",\"optional\":true,\"description\":\"Specifies the underlying distribution assumed for the test statistic. The default value (also the only acceptable value in each case) is NORMAL for TEST=DIFF, TEST=DIFF_SATT, TEST=EQUIV_DIFF, and CI=DIFF; and LOGNORMAL for TEST=RATIO and TEST=EQUIV_RATIO.\",\"help\":\"DIST=LOGNORMAL | NORMAL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"LOGNORMAL\",\"description\":\"Corresponds to the lognormal distribution.\",\"type\":\"standalone\"},{\"name\":\"NORMAL\",\"description\":\"Corresponds to the normal distribution\",\"type\":\"standalone\"}]},{\"name\":\"GROUPMEANS=\",\"optional\":true,\"aliases\":[\"GMEANS=\"],\"description\":\"Specifies the group means. This option is used to implicitly set the number of groups.\",\"help\":\"GROUPMEANS=*grouped-number-list*\",\"type\":\"value\"},{\"name\":\"GROUPNS=\",\"optional\":true,\"aliases\":[\"GNS=\"],\"description\":\"Specifies the group sample sizes. The number of groups represented must be the same as with the GROUPMEANS= option.\",\"help\":\"GROUPNS=*grouped-number-list*\",\"type\":\"value\"},{\"name\":\"GROUPSTDDEVS=\",\"optional\":true,\"aliases\":[\"GSTDDEVS=\",\"GROUPSTDS=\",\"GSTDS=\"],\"description\":\"Specifies tthe two group sample sizes or requests a solution for one group sample size given the other.\",\"help\":\"GROUPSTDDEVS=*grouped-number-list*\",\"type\":\"value\"},{\"name\":\"GROUPWEIGHTS=\",\"optional\":true,\"aliases\":[\"GWEIGHTS=\"],\"description\":\"Specifies the sample size allocation weights for the two groups, or requests a solution for one group weight given the other. This option controls how the total sample size is divided between the two groups. Each pair of values for the two groups represents relative allocation weights.\",\"help\":\"GROUPWEIGHTS=*grouped-number-list*\",\"type\":\"value\"},{\"name\":\"HALFWIDTH=\",\"optional\":true,\"description\":\"Specifies the desired confidence interval half-width. The half-width is defined as the distance between the point estimate and a finite endpoint. This option can be used only with the CI=DIFF analysis.\",\"help\":\"HALFWIDTH=*number-list*\",\"type\":\"value\"},{\"name\":\"LOWER=\",\"optional\":true,\"description\":\"Specifies the lower equivalence bound for the mean difference or mean ratio, in the original scale (whether DIST=NORMAL or DIST=LOGNORMAL). Values must be greater than 0 when DIST=LOGNORMAL. This option can be used only with the TEST=EQUIV_DIFF and TEST=EQUIV_RATIO analyses.\",\"help\":\"LOWER=*number-list*\",\"type\":\"value\"},{\"name\":\"MEANDIFF=\",\"optional\":true,\"description\":\"specifies the mean difference, defined as μ2 - μ1, or requests a solution for the mean difference with a missing value (MEANDIFF=.). This option can be used only with the TEST=DIFF, TEST=DIFF_SATT, and TEST=EQUIV_DIFF analyses. When TEST=EQUIV_DIFF, the mean difference is interpreted as the treatment mean minus the reference mean.\",\"help\":\"MEANDIFF=*number-list*\",\"type\":\"value\"},{\"name\":\"MEANRATIO=\",\"optional\":true,\"description\":\"Specifies the geometric mean ratio, defined as γ2/γ1. This option can be used only with the TEST=RATIO and TEST=EQUIV_RATIO analyses. When TEST=EQUIV_RATIO, the mean ratio is interpreted as the treatment mean divided by the reference mean.\",\"help\":\"MEANRATIO=*number-list*\",\"type\":\"value\"},{\"name\":\"NFRACTIONAL\",\"optional\":true,\"aliases\":[\"NFRAC\"],\"description\":\"Enables fractional input and output for sample sizes.\",\"type\":\"standalone\"},{\"name\":\"NPERGROUP=\",\"optional\":true,\"aliases\":[\"NPERG=\"],\"description\":\"Specifies the common sample size per group or requests a solution for the common sample size per group with a missing value (NPERGROUP==.). Use of this option implicitly specifies a balanced design.\",\"help\":\"NPERGROUP=*number-list*\",\"type\":\"value\"},{\"name\":\"NTOTAL=\",\"optional\":true,\"description\":\"Specifies the sample size or requests a solution for the sample size with a missing value (NTOTAL=.).\",\"help\":\"NTOTAL=*number-list*\",\"type\":\"value\"},{\"name\":\"NULLDIFF=\",\"optional\":true,\"aliases\":[\"NULLD=\"],\"description\":\"Specifies the null mean difference. The default value is 0. This option can be used only with the TEST=DIFF and TEST=DIFF_SATT analyses.\",\"help\":\"NULLDIFF=*number-list*\",\"type\":\"value\"},{\"name\":\"NULLRATIO=\",\"optional\":true,\"aliases\":[\"NULLR=\"],\"description\":\"Specifies the null mean ratio. The default value is 1. This option can be used only with the TEST=RATIO analysis.\",\"help\":\"NULLRATIO=*number-list*\",\"type\":\"value\"},{\"name\":\"OUTPUTORDER=\",\"optional\":true,\"description\":\"Controls how the input and default analysis parameters are ordered in the output. OUTPUTORDER=INTERNAL is the default.\",\"help\":\"OUTPUTORDER=INTERNAL | REVERSE | SYNTAX\",\"type\":\"choice\",\"arguments\":[{\"name\":\"INTERNAL\",\"description\":\"Arranges the parameters in the output according to the following order of their corresponding options: SIDES= NULLDIFF= NULLRATIO= LOWER= UPPER= ALPHA= GROUPMEANS= MEANDIFF= MEANRATIO= HALFWIDTH= STDDEV= GROUPSTDDEVS= CV= GROUPWEIGHTS= NTOTAL= NPERGROUP= GROUPNS= POWER= PROBTYPE= PROBWIDTH=\",\"type\":\"standalone\"},{\"name\":\"REVERSE\",\"description\":\"Arranges the parameters in the output in the reverse of the order in which their corresponding options are specified in the TWOSAMPLEMEANS statement.\",\"type\":\"standalone\"},{\"name\":\"SYNTAX\",\"description\":\"Arranges the parameters in the output in the same order in which their corresponding options are specified in the TWOSAMPLEMEANS statement.\",\"type\":\"standalone\"}]},{\"name\":\"POWER=\",\"optional\":true,\"description\":\"Specifies the desired power of the test or requests a solution for the power with a missing value (POWER=.). The power is expressed as a probability, a number between 0 and 1, rather than as a percentage. This option cannot be used with the CI=DIFF analysis.\",\"help\":\"POWER=*number-list*\",\"type\":\"value\"},{\"name\":\"PROBTYPE=\",\"optional\":true,\"description\":\"Specifies the type of probability for the PROBWIDTH= option.\",\"help\":\"PROBTYPE=CONDITIONAL | UNCONDITIONAL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"CONDITIONAL\",\"aliases\":[\"GIVENVALIDITY\"],\"description\":\"Indicates the conditional probability that the confidence interval half-width is at most the value specified by the HALFWIDTH= option, given that the true mean difference is captured by the confidence interval.\",\"type\":\"standalone\"},{\"name\":\"UNCONDITIONAL\",\"description\":\"Indicates the unconditional probability that the confidence interval half-width is at most the value specified by the HALFWIDTH= option.\",\"type\":\"standalone\"}]},{\"name\":\"PROBWIDTH=\",\"optional\":true,\"description\":\"Specifies the desired probability of obtaining a confidence interval half-width less than or equal to the value specified by the HALFWIDTH= option. A missing value (PROBWIDTH=.) requests a solution for this probability. The type of probability is controlled with the PROBTYPE= option. Values are expressed as probabilities (for example, 0.9) rather than percentages. This option can be used only with the CI=DIFF analysis.\",\"help\":\"PROBWIDTH=*number-list*\",\"type\":\"value\"},{\"name\":\"SIDES=\",\"optional\":true,\"description\":\"Specifies the number of sides (or tails) and the direction of the statistical test or confidence interval. The default value is 2.\",\"help\":\"SIDES=1 | 2 | U | L\",\"type\":\"choice\",\"arguments\":[{\"name\":\"1\",\"description\":\"One-sided with alternative hypothesis in same direction as effect\",\"type\":\"standalone\"},{\"name\":\"2\",\"description\":\"Two-sided\",\"type\":\"standalone\"},{\"name\":\"U\",\"description\":\"Upper one-sided with alternative greater than null value\",\"type\":\"standalone\"},{\"name\":\"L\",\"description\":\"Lower one-sided with alternative less than null value\",\"type\":\"standalone\"}]},{\"name\":\"STDDEV=\",\"optional\":true,\"aliases\":[\"STD=\"],\"description\":\"Specifies the standard deviation assumed to be common to both groups, or requests a solution for the common standard deviation with a missing value (STDDEV=.). This option can be used only with DIST=NORMAL.\",\"help\":\"STDDEV=*number-list*\",\"type\":\"value\"},{\"name\":\"TEST=\",\"optional\":true,\"description\":\"Specifies the statistical analysis. If neither the TEST= option nor the CI= option is used, the default is TEST=DIFF.\",\"help\":\"TEST=DIFF | EQUIV_DIFF | EQUIV_RATIO | RATIO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DIFF\",\"description\":\"Specifies a paired t test on the mean difference. This is the default.\",\"type\":\"standalone\"},{\"name\":\"EQUIV_DIFF\",\"description\":\"Specifies an additive equivalence test of the mean difference by using a two one-sided tests (TOST) analysis (Schuirmann 1987).\",\"type\":\"standalone\"},{\"name\":\"EQUIV_RATIO\",\"description\":\"Specifies a multiplicative equivalence test of the mean ratio by using a TOST analysis.\",\"type\":\"standalone\"},{\"name\":\"RATIO\",\"description\":\"Specifies a paired t test on the geometric mean ratio.\",\"type\":\"standalone\"}]},{\"name\":\"UPPER=\",\"optional\":true,\"description\":\"Specifies the upper equivalence bound for the mean difference or mean ratio, in the original scale (whether DIST=NORMAL or DIST=LOGNORMAL). This option can be used only with the TEST=EQUIV_DIFF and TEST=EQUIV_RATIO analyses.\",\"help\":\"UPPER=*number-list*\",\"type\":\"value\"}]},{\"name\":\"TWOSAMPLESURVIVAL\",\"description\":\"The TWOSAMPLESURVIVAL statement performs power and sample size analyses for comparing two survival curves. The log-rank, Gehan, and Tarone-Ware rank tests are supported.\",\"help\":\"TWOSAMPLESURVIVAL &lt;ACCRUALRATEPERGROUP=number-list&gt;&lt;ACCRUALRATETOTAL=number-list&gt;&lt;ACCRUALTIME=&lt;&lt;number-list&gt; | MAX&gt;&gt; ...\",\"arguments\":[{\"name\":\"ACCRUALRATEPERGROUP=\",\"optional\":true,\"aliases\":[\"ACCRUALRATEPERG=\",\"ARPERGROUP=\",\"ARPERG=\"],\"description\":\"Specifies the common accrual rate per group or requests a solution for the common accrual rate per group with a missing value (ACCRUALRATEPERGROUP=.). The accrual rate per group is the number of subjects in each group that enters the study per time unit during the accrual period. Use of this option implicitly specifies a balanced design. The NFRACTIONAL option is automatically enabled when the ACCRUALRATEPERGROUP= option is used.\",\"help\":\"ACCRUALRATEPERGROUP=*number-list*\",\"type\":\"value\"},{\"name\":\"ACCRUALRATETOTAL=\",\"optional\":true,\"aliases\":[\"ARTOTAL=\"],\"description\":\"Specifies the total accrual rate or requests a solution for the accrual rate with a missing value (ACCRUALRATETOTAL=.). The total accrual rate is the total number of subjects that enter the study per time unit during the accrual period. The NFRACTIONAL option is automatically enabled when the ACCRUALRATETOTAL= option is used.\",\"help\":\"ACCRUALRATETOTAL=*number-list*\",\"type\":\"value\"},{\"name\":\"ACCRUALTIME=\",\"optional\":true,\"aliases\":[\"ACCTIME=\",\"ACCRUALT=\",\"ACCT=\"],\"description\":\"Specifies the accrual time. Accrual is assumed to occur uniformly from time 0 to the time specified by the ACCRUALTIME= option. If the GROUPSURVIVAL= or REFSURVIVAL= option is used, then the value of the total time (the sum of accrual and follow-up times) must be less than or equal to the largest time in each multipoint (piecewise linear) survival curve. If the ACCRUALRATEPERGROUP=, ACCRUALRATETOTAL=, or GROUPACCRUALRATES= option is used, then the accrual time must be greater than 0.\",\"help\":\"ACCRUALTIME=&lt;*number-list*&gt; | MAX\",\"type\":\"choice\",\"arguments\":[{\"name\":\"number-list\",\"placeholder\":true,\"description\":\"Replace <number-list> with an actual accrual time list.\",\"type\":\"value\"},{\"name\":\"MAX\",\"description\":\"Can be used when each scenario in the analysis contains at least one piecewise linear survival curve (in the GROUPSURVIVAL= or REFSURVIVAL= option). It causes the accrual time to be automatically set, separately for each scenario, to the maximum possible time supported by the piecewise linear survival curve(s) in that scenario. It is not compatible with the FOLLOWUPTIME=MAX option or the TOTALTIME= option.\",\"type\":\"standalone\"}]},{\"name\":\"ALPHA=\",\"optional\":true,\"description\":\"Specifies the level of significance of the statistical test. The default is 0.05, corresponding to the usual 0.05 x 100% = 5% level of significance.\",\"help\":\"ALPHA=*number-list*\",\"type\":\"value\"},{\"name\":\"CURVE=\",\"optional\":true,\"description\":\"Defines a survival curve. For the CURVE= option, label identifies the curve in the output and with the GROUPLOSS=, GROUPSURVIVAL=, and REFSURVIVAL= options.\",\"type\":\"value\"},{\"name\":\"EVENTSTOTAL=\",\"optional\":true,\"aliases\":[\"EVENTTOTAL=\",\"EETOTAL=\"],\"description\":\"Specifies the expected total number of events—that is, deaths, whether observed or censored—during the entire study period, or requests a solution for this parameter with a missing value (EVENTSTOTAL=.). The NFRACTIONAL option is automatically enabled when the EVENTSTOTAL= option is used.\",\"help\":\"EVENTSTOTAL=*number-list*\",\"type\":\"value\"},{\"name\":\"FOLLOWUPTIME=\",\"optional\":true,\"aliases\":[\"FUTIME=\",\"FOLLOWUPT=\",\"FUT=\"],\"description\":\"Specifies the follow-up time, the amount of time in the study past the accrual time. If the GROUPSURVIVAL= or REFSURVIVAL= option is used, then the value of the total time (the sum of accrual and follow-up times) must be less than or equal to the largest time in each multipoint (piecewise linear) survival curve.\",\"help\":\"FOLLOWUPTIME=&lt;*number-list*&gt; | MAX\",\"type\":\"choice\",\"arguments\":[{\"name\":\"number-list\",\"placeholder\":true,\"description\":\"Replace <number-list> with an actual follow-up time list.\",\"type\":\"value\"},{\"name\":\"MAX\",\"description\":\"Can be used when each scenario in the analysis contains at least one piecewise linear survival curve (in the GROUPSURVIVAL= or REFSURVIVAL= option). It causes the follow-up time to be automatically set, separately for each scenario, to the maximum possible time supported by the piecewise linear survival curve(s) in that scenario. It is not compatible with the ACCRUALTIME=MAX option or the TOTALTIME= option.\",\"type\":\"standalone\"}]},{\"name\":\"GROUPACCRUALRATES=\",\"optional\":true,\"aliases\":[\"GACCRUALRATES=\",\"GROUPARS=\",\"GARS=\"],\"description\":\"Specifies the accrual rate for each group. The groupwise accrual rates are the numbers of subjects in each group that enters the study per time unit during the accrual period. The NFRACTIONAL option is automatically enabled when the GROUPACCRUALRATES= option is used.\",\"help\":\"GROUPACCRUALRATES=*grouped-number-list*\",\"type\":\"value\"},{\"name\":\"GROUPEVENTS=\",\"optional\":true,\"aliases\":[\"GEVENTS=\",\"GROUPEES=\",\"GEES=\"],\"description\":\"Specifies the expected number of events in each group—that is, deaths, whether observed or censored—during the entire study period. The NFRACTIONAL option is automatically enabled when the GROUPEVENTS= option is used.\",\"help\":\"GROUPEVENTS=*grouped-number-list*\",\"type\":\"value\"},{\"name\":\"GROUPLOSS=\",\"optional\":true,\"aliases\":[\"GLOSS=\"],\"description\":\"Specifies the exponential loss survival curve for each group, by using labels specified with the CURVE= option. Loss is assumed to follow an exponential curve, indicating the expected rate of censoring (in other words, loss to follow-up) over time.\",\"help\":\"GROUPLOSS=*grouped-name-list*\",\"type\":\"value\"},{\"name\":\"GROUPMEDLOSSTIMES=\",\"optional\":true,\"aliases\":[\"GMEDLOSSTIMES=\",\"GROUPMEDLOSSTS=\",\"GMEDLOSSTS=\"],\"description\":\"Specifies the median times of the loss in each group. Loss is assumed to follow an exponential curve, indicating the expected rate of censoring (in other words, loss to follow-up) over time.\",\"help\":\"GROUPMEDLOSSTIMES=*grouped-number-list*\",\"type\":\"value\"},{\"name\":\"GROUPMEDSURVTIMES=\",\"optional\":true,\"aliases\":[\"GMEDSURVTIMES=\",\"GROUPMEDSURVTS=\",\"GMEDSURVTS=\"],\"description\":\"Specifies the median survival times in each group. When the GROUPMEDSURVTIMES= option is used, the survival curve in each group is assumed to be exponential.\",\"help\":\"GROUPMEDSURVTIMES=*grouped-number-list*\",\"type\":\"value\"},{\"name\":\"GROUPNS=\",\"optional\":true,\"aliases\":[\"GNS=\"],\"description\":\"Specifies the two group sample sizes.\",\"help\":\"GROUPNS=*grouped-number-list*\",\"type\":\"value\"},{\"name\":\"GROUPSURVEXPHAZARDS=\",\"optional\":true,\"aliases\":[\"GSURVEXPHAZARDS=\",\"GROUPSURVEXPHS=\",\"GEXPHS=\"],\"description\":\"Specifies exponential hazard rates of the survival curve for each group.\",\"help\":\"GROUPSURVEXPHAZARDS=*grouped-number-list*\",\"type\":\"value\"},{\"name\":\"GROUPSURVIVAL=\",\"optional\":true,\"aliases\":[\"GSURVIVAL=\",\"GROUPSURV=\",\"GSURV=\"],\"description\":\"Specifies the survival curve for each group, by using labels specified with the CURVE= option.\",\"help\":\"GROUPSURVIVAL=*grouped-name-list*\",\"type\":\"value\"},{\"name\":\"GROUPWEIGHTS=\",\"optional\":true,\"aliases\":[\"GWEIGHTS=\"],\"description\":\"Specifies the sample size allocation weights for the two groups. This option controls how the total sample size is divided between the two groups. Each pair of values for the two groups represents relative allocation weights. Additionally, if the NFRACTIONAL option is not used, the total sample size is restricted to be equal to a multiple of the sum of the 'two group weights (so that the resulting design has an integer sample size for each group while adhering exactly to the group allocation weights). Values must be integers unless the NFRACTIONAL option is used. The default value is (1 1), a balanced design with a weight of 1 for each group.\",\"help\":\"GROUPWEIGHTS=*grouped-number-list*\",\"type\":\"value\"},{\"name\":\"HAZARDRATIO=\",\"optional\":true,\"aliases\":[\"HR=\"],\"description\":\"Specifies the hazard ratio of the second group's survival curve to the first group's survival curve.\",\"help\":\"HAZARDRATIO=*number-lis*\",\"type\":\"value\"},{\"name\":\"NFRACTIONAL\",\"optional\":true,\"aliases\":[\"NFRAC\"],\"description\":\"Enables fractional input and output for sample sizes. This option is automatically enabled when any of the following options are used: ACCRUALRATEPERGROUP=, ACCRUALRATETOTAL=, EVENTSPERGROUP=, EVENTSTOTAL=, GROUPACCRUALRATES=, and GROUPEVENTS=.\",\"type\":\"standalone\"},{\"name\":\"NPERGROUP=\",\"optional\":true,\"aliases\":[\"NPERG=\"],\"description\":\"Specifies the common sample size per group or requests a solution for the common sample size per group with a missing value (NPERGROUP==.). Use of this option implicitly specifies a balanced design.\",\"help\":\"NPERGROUP=*number-list*\",\"type\":\"value\"},{\"name\":\"NSUBINTERVAL=\",\"optional\":true,\"aliases\":[\"NSUBINTERVALS=\",\"NSUB=\",\"NSUBS=\"],\"description\":\"Specifies the number of subintervals per unit time to use in internal calculations. Higher values increase computational time and memory requirements but generally lead to more accurate results. The default value is 12.\",\"help\":\"NSUBINTERVAL=*number-list*\",\"type\":\"value\"},{\"name\":\"NTOTAL=\",\"optional\":true,\"description\":\"Specifies the sample size or requests a solution for the sample size with a missing value (NTOTAL=.).\",\"help\":\"NTOTAL=*number-list*\",\"type\":\"value\"},{\"name\":\"OUTPUTORDER=\",\"optional\":true,\"description\":\"Controls how the input and default analysis parameters are ordered in the output. OUTPUTORDER=INTERNAL is the default.\",\"help\":\"OUTPUTORDER=INTERNAL | REVERSE | SYNTAX\",\"type\":\"choice\",\"arguments\":[{\"name\":\"INTERNAL\",\"description\":\"Arranges the parameters in the output according to the following order of their corresponding options: SIDES= ACCRUALTIME= FOLLOWUPTIME= TOTALTIME= NSUBINTERVAL= ALPHA= REFSURVIVAL= GROUPSURVIVAL= REFSURVEXPHAZARD= HAZARDRATIO= GROUPSURVEXPHAZARDS= GROUPMEDSURVTIMES= GROUPLOSSEXPHAZARDS= GROUPLOSS= GROUPMEDLOSSTIMES= GROUPWEIGHTS= NTOTAL= ACCRUALRATETOTAL= EVENTSTOTAL= NPERGROUP= ACCRUALRATEPERGROUP= EVENTSPERGROUP= GROUPNS= GROUPACCRUALRATES= GROUPEVENTS= POWER=\",\"type\":\"standalone\"},{\"name\":\"REVERSE\",\"description\":\"Arranges the parameters in the output in the reverse of the order in which their corresponding options are specified in the TWOSAMPLESURVIVAL statement.\",\"type\":\"standalone\"},{\"name\":\"SYNTAX\",\"description\":\"Arranges the parameters in the output in the same order in which their corresponding options are specified in the TWOSAMPLESURVIVAL statement.\",\"type\":\"standalone\"}]},{\"name\":\"POWER=\",\"optional\":true,\"description\":\"Specifies the desired power of the test or requests a solution for the power with a missing value (POWER=.). The power is expressed as a probability, a number between 0 and 1, rather than as a percentage. This option cannot be used with the CI=DIFF analysis.\",\"help\":\"POWER=*number-list*\",\"type\":\"value\"},{\"name\":\"REFSURVEXPHAZARD=\",\"optional\":true,\"aliases\":[\"REFSURVEXPH=\"],\"description\":\"Specifies the exponential hazard rate of the survival curve for the first (reference) group.\",\"help\":\"REFSURVEXPHAZARD=*number-list*\",\"type\":\"value\"},{\"name\":\"REFSURVIVAL=\",\"optional\":true,\"description\":\"Specifies the survival curve for the first (reference) group, by using labels specified with the CURVE= option.\",\"help\":\"REFSURVIVAL=*name-list*\",\"type\":\"value\"},{\"name\":\"SIDES=\",\"optional\":true,\"description\":\"Specifies the number of sides (or tails) and the direction of the statistical test or confidence interval. The default value is 2.\",\"help\":\"SIDES=1 | 2 | U | L\",\"type\":\"choice\",\"arguments\":[{\"name\":\"1\",\"description\":\"One-sided with alternative hypothesis in same direction as effect\",\"type\":\"standalone\"},{\"name\":\"2\",\"description\":\"Two-sided\",\"type\":\"standalone\"},{\"name\":\"U\",\"description\":\"Upper one-sided with alternative greater than null value\",\"type\":\"standalone\"},{\"name\":\"L\",\"description\":\"Lower one-sided with alternative less than null value\",\"type\":\"standalone\"}]},{\"name\":\"TEST=\",\"optional\":true,\"description\":\"Specifies the statistical analysis.\",\"help\":\"TEST=GEHAN | LOGRANK | TARONEWARE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"GEHAN\",\"description\":\"Specifies the Gehan rank test.\",\"type\":\"standalone\"},{\"name\":\"LOGRANK\",\"description\":\"Specifies the log-rank test. This is the default.\",\"type\":\"standalone\"},{\"name\":\"TARONEWARE\",\"description\":\"Specifies the Tarone-Ware rank test.\",\"type\":\"standalone\"}]},{\"name\":\"TOTALTIME=\",\"optional\":true,\"aliases\":[\"TOTALT=\"],\"description\":\"Specifies the total time, which is equal to the sum of accrual and follow-up times. If the GROUPSURVIVAL= or REFSURVIVAL= option is used, then the value of the total time must be less than or equal to the largest time in each multipoint (piecewise linear) survival curve.\",\"help\":\"TOTALTIME=&lt;*number-list*&gt; | MAX\",\"type\":\"choice\",\"arguments\":[{\"name\":\"number-list\",\"placeholder\":true,\"description\":\"Replace <number-list> with an actual total time list.\",\"type\":\"value\"},{\"name\":\"MAX\",\"description\":\"Can be used when each scenario in the analysis contains at least one piecewise linear survival curve (in the GROUPSURVIVAL= or REFSURVIVAL= option). It causes the total time to be automatically set, separately for each scenario, to the maximum possible time supported by the piecewise linear survival curve(s) in that scenario. It is not compatible with the ACCRUALTIME=MAX option or the FOLLOWUPTIME=MAX option.\",\"type\":\"standalone\"}]}]},{\"name\":\"TWOSAMPLEWILCOXON\",\"description\":\"The TWOSAMPLEWILCOXON statement performs power and sample size analyses for the Wilcoxon-Mann-Whitney test (also called the Wilcoxon rank-sum test, Mann-Whitney-Wilcoxon test, or Mann-Whitney U test) for two independent groups. Note that the O'Brien-Castelloe approach to computing power for the Wilcoxon test is approximate, based on asymptotic behavior as the total sample size gets large. The quality of the power approximation degrades for small sample sizes; conversely, the quality of the sample size approximation degrades if the two distributions are far apart, so that only a small sample is needed to detect a significant difference. But this degradation is rarely a problem in practical situations, in which experiments are usually performed for relatively close distributions.\",\"help\":\"TWOSAMPLEWILCOXON &lt;ALPHA=number-list&gt;&lt;GROUPNS=grouped-number-list&gt;&lt;GROUPWEIGHTS=grouped-number-list&gt; ...\",\"arguments\":[{\"name\":\"ALPHA=\",\"optional\":true,\"description\":\"Specifies the level of significance of the statistical test. The default is 0.05, corresponding to the usual 0.05 x 100% = 5% level of significance.\",\"help\":\"ALPHA=*number-list*\",\"type\":\"value\"},{\"name\":\"GROUPNS=\",\"optional\":true,\"aliases\":[\"GNS=\"],\"description\":\"Specifies the two group sample sizes.\",\"help\":\"GROUPNS=*grouped-number-list*\",\"type\":\"value\"},{\"name\":\"GROUPWEIGHTS=\",\"optional\":true,\"aliases\":[\"GWEIGHTS=\"],\"description\":\"Specifies the sample size allocation weights for the two groups. This option controls how the total sample size is divided between the two groups. Each set of values across all groups represents relative allocation weights.\",\"help\":\"GROUPWEIGHTS=*grouped-number-list*\",\"type\":\"value\"},{\"name\":\"NBINS=\",\"optional\":true,\"description\":\"Specifies the number of categories (or \\\"bins\\\") each variable's distribution is divided into (unless it is ordinal, in which case the categories remain intact) in internal calculations. Higher values increase computational time and memory requirements but generally lead to more accurate results. However, if the value is too high, then numerical instability can occur. The default value is 1000.\",\"help\":\"NBINS=*number-list*\",\"type\":\"value\"},{\"name\":\"NFRACTIONAL\",\"optional\":true,\"aliases\":[\"NFRAC\"],\"description\":\"Enables fractional input and output for sample sizes.\",\"type\":\"standalone\"},{\"name\":\"NPERGROUP=\",\"optional\":true,\"aliases\":[\"NPERG=\"],\"description\":\"Specifies the common sample size per group or requests a solution for the common sample size per group with a missing value (NPERGROUP==.). Use of this option implicitly specifies a balanced design.\",\"help\":\"NPERGROUP=*number-list*\",\"type\":\"value\"},{\"name\":\"NTOTAL=\",\"optional\":true,\"description\":\"Specifies the sample size or requests a solution for the sample size with a missing value (NTOTAL=.).\",\"help\":\"NTOTAL=*number-list*\",\"type\":\"value\"},{\"name\":\"OUTPUTORDER=\",\"optional\":true,\"description\":\"Controls how the input and default analysis parameters are ordered in the output. OUTPUTORDER=INTERNAL is the default.\",\"help\":\"OUTPUTORDER=INTERNAL | REVERSE | SYNTAX\",\"type\":\"choice\",\"arguments\":[{\"name\":\"INTERNAL\",\"description\":\"Arranges the parameters in the output according to the following order of their corresponding options: SIDES NBINS= ALPHA= VARIABLES= GROUPWEIGHTS= NTOTAL= NPERGROUP= GROUPNS= POWER=\",\"type\":\"standalone\"},{\"name\":\"REVERSE\",\"description\":\"Arranges the parameters in the output in the reverse of the order in which their corresponding options are specified in the TWOSAMPLEWILCOXON statement.\",\"type\":\"standalone\"},{\"name\":\"SYNTAX\",\"description\":\"Arranges the parameters in the output in the same order in which their corresponding options are specified in the TWOSAMPLEWILCOXON statement.\",\"type\":\"standalone\"}]},{\"name\":\"POWER=\",\"optional\":true,\"description\":\"Specifies the desired power of the test or requests a solution for the power with a missing value (POWER=.). The power is expressed as a probability, a number between 0 and 1, rather than as a percentage. This option can be used only with the TEST=T and TEST=EQUIV analyses.\",\"help\":\"POWER=*number-list*\",\"type\":\"value\"},{\"name\":\"SIDES=\",\"optional\":true,\"description\":\"Specifies the number of sides (or tails) and the direction of the statistical test or confidence interval. The default value is 2.\",\"help\":\"SIDES=1 | 2 | U | L\",\"type\":\"choice\",\"arguments\":[{\"name\":\"1\",\"description\":\"One-sided with alternative hypothesis in same direction as effect\",\"type\":\"standalone\"},{\"name\":\"2\",\"description\":\"Two-sided\",\"type\":\"standalone\"},{\"name\":\"U\",\"description\":\"Upper one-sided with alternative greater than null value\",\"type\":\"standalone\"},{\"name\":\"L\",\"description\":\"Lower one-sided with alternative less than null value\",\"type\":\"standalone\"}]},{\"name\":\"TEST=\",\"optional\":true,\"description\":\"Specifies the Wilcoxon-Mann-Whitney test for two independent groups. This is the default test option.\",\"help\":\"TEST=WMW\",\"type\":\"choice\",\"arguments\":[{\"name\":\"WMW\",\"description\":\"Specifies the Wilcoxon-Mann-Whitney test for two independent groups.\",\"type\":\"standalone\"}]},{\"name\":\"VARDIST=\",\"optional\":true,\"description\":\"Defines a distribution for a variable, where label identifies the variable distribution in the output and with the VARIABLES= option. distribution specifies the distributional form of the variable.\",\"help\":\"VARDIST=ORDINAL | BETA | BINOMIAL | EXPONENTIAL | GAMMA | LAPLACE | LOGISTIC | LOGNORMAL | NORMAL | POISSON | UNIFORM\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ORDINAL\",\"description\":\"Syntax: ORDINAL((values) : (probabilities)) Is an ordered categorical distribution. The values are any numbers separated by spaces. The probabilities are numbers between 0 and 1 (inclusive) separated by spaces. Their sum must be exactly 1. The number of probabilities must match the number of values.\",\"type\":\"standalone\"},{\"name\":\"BETA\",\"description\":\"Syntax: BETA (a, b <, l, r >) Is a beta distribution with shape parameters a and b and optional location parameters l and r. The values of a and b must be greater than 0, and l must be less than r. The default values for l and r are 0 and 1, respectively.\",\"type\":\"standalone\"},{\"name\":\"BINOMIAL\",\"description\":\"Syntax: BINOMIAL(p, n) Is a binomial distribution with probability of success p and number of independent Bernoulli trials n. The value of p must be greater than 0 and less than 1, and n must be an integer greater than 0.\",\"type\":\"standalone\"},{\"name\":\"EXPONENTIAL\",\"description\":\"Syntax: EXPONENTIAL(λ) Is an exponential distribution with scale λ, which must be greater than 0.\",\"type\":\"standalone\"},{\"name\":\"GAMMA\",\"description\":\"Syntax: GAMMA (α, λ) is a gamma distribution with shape α and scale λ. The values of a and λ must be greater than 0.\",\"type\":\"standalone\"},{\"name\":\"LAPLACE\",\"description\":\"Syntax: LAPLACE(θ, λ) Is a Laplace distribution with location θ and scale λ. The value of λ must be greater than 0.\",\"type\":\"standalone\"},{\"name\":\"LOGISTIC\",\"description\":\"Syntax: LOGISTIC(θ, λ) Is a logistic distribution with location θ and scale λ. The value of λ must be greater than 0.\",\"type\":\"standalone\"},{\"name\":\"LOGNORMAL\",\"description\":\"Syntax: LOGNORMAL(θ, λ) Is a lognormal distribution with location θ and scale λ. The value of λ must be greater than 0.\",\"type\":\"standalone\"},{\"name\":\"NORMAL\",\"description\":\"Syntax: NORMAL(θ, λ) Is a normal distribution with mean θ and standard deviation λ. The value of λ must be greater than 0.\",\"type\":\"standalone\"},{\"name\":\"POISSON\",\"description\":\"Syntax: POISSON(m) Is a Poisson distribution with mean m. The value of m must be greater than 0.\",\"type\":\"standalone\"},{\"name\":\"UNIFORM\",\"description\":\"Syntax: UNIFORM(l, r) Is a uniform distribution on the interval [l,r], where l < r.\",\"type\":\"standalone\"}]},{\"name\":\"VARIABLES=\",\"optional\":true,\"aliases\":[\"VARS=\"],\"description\":\"Specifies the distributions of two or more variables, using labels specified with the VARDIST= option.\",\"help\":\"VARIABLES=*grouped-name-list*\",\"type\":\"value\"}]}],\"supportSiteInformation\":{\"docsetId\":\"statug\",\"docsetVersion\":\"latest\",\"docsetTargetFile\":\"statug_power_toc.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/PREFIXSPAN.json",
    "content": "{\"name\":\"PREFIXSPAN\",\"statements\":[{\"name\":\"PROC PREFIXSPAN\",\"description\":\"The PROC PREFIXSPAN statement performs sequence mining by using the prefixSpan algorithm.\",\"help\":\"PROC PREFIXSPAN DATA=libref.data-tablePCTSUPPORT=doubleSUPPORT=integer<options>;\\n\\tCUSTOMER variable-name;\\n\\n\\tTARGET variable-name;\\n\\n\\tVISIT variable-name;\\n\\n\\t<OUTPUT OUT=libref.data-table>;\\n\",\"arguments\":[{\"name\":\"DATA=\",\"aliases\":[\"TABLE\"],\"description\":\"specifies the name of the two-level input table.\",\"help\":\"DATA=*libref.data-table*\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"p02lbo173gn7a1n1n4g6nzei95zy\"},{\"name\":\"PCTSUP=\",\"aliases\":[\"PCTSUPPORT\",\"SUPPCT\",\"SUP_PCT\"],\"description\":\"specifies the minimum percentage level of support for a sequence.\",\"help\":\"PCTSUP=*double*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p07inwl1w3zvzhn16ldrqymzr33b\"},{\"name\":\"SUPPORT=\",\"description\":\"specifies the minimum number of transactions that must occur in a sequence.\",\"help\":\"SUPPORT=*integer*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0u823zc0dale2n1pkdyegvseyoz\"},{\"name\":\"MAXOUTPUTSEQUENCES=\",\"optional\":true,\"aliases\":[\"MAXOUTSEQ\"],\"description\":\"specifies the approximate maximum number of output sequences to generate per node.\",\"help\":\"MAXOUTPUTSEQUENCES=*integer*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0gp6m1rw4uka7n1jq2sg8btdjve\"},{\"name\":\"MAXLENGTH=\",\"optional\":true,\"aliases\":[\"MAXLEN\"],\"description\":\"specifies the maximum number of elements in a sequence.\",\"help\":\"MAXLENGTH=*integer*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0nosvvxgts02xn16fc6emdduzba\"}],\"supportSiteTargetFile\":\"n0xnprvmsffw8wn1pm4jwgnkq9jk.htm\"},{\"name\":\"CUSTOMER\",\"description\":\"The CUSTOMER statement specifies the sequence or customer column of the input table.\",\"help\":\"CUSTOMER *variable*;\",\"arguments\":[{\"name\":\"variable\",\"placeholder\":true,\"description\":\"specifies the sequence or customer column of the input table.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p157gtk4xudzyzn1o4sdfewmi1ew\"}],\"supportSiteTargetFile\":\"n06o2u1wdte0u1n17zpj888erjl9.htm\"},{\"name\":\"OUTPUT\",\"description\":\"The OUTPUT statement creates a data table that contains information about frequently occurring sequences and about their support.\",\"help\":\"OUTPUT OUT=*libref.data-table*;\",\"arguments\":[{\"name\":\"OUT=\",\"description\":\"specifies the name of the created data table.\",\"help\":\"OUT=*libref.data-table*\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"p0gen4b3oz5grjn1bca33lfp5p98\"}],\"supportSiteTargetFile\":\"n0c0gernnxv17xn11ugrildve6js.htm\"},{\"name\":\"TARGET\",\"description\":\"The TARGET statement specifies the target column of the input table.\",\"help\":\"TARGET *variable*;\",\"arguments\":[{\"name\":\"variable\",\"placeholder\":true,\"description\":\"specifies the target column of the input table.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p14wstigsa6bvkn1fm2wntb39wun\"}],\"supportSiteTargetFile\":\"n1b8engukbcvtjn1wskdf5jdkva0.htm\"},{\"name\":\"VISIT\",\"description\":\"The VISIT statement specifies the event or time column of the input table.\",\"help\":\"VISIT *variable*;\",\"arguments\":[{\"name\":\"variable\",\"placeholder\":true,\"description\":\"specifies the event or time column of the input table.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0exmi1h7gptkxn1pgwd23zvryf8\"}],\"supportSiteTargetFile\":\"n07et1b0ilhapbn1bdeqcmboutgc.htm\"}],\"supportSiteInformation\":{\"docsetId\":\"casmlproc\",\"docsetVersion\":\"v_005\",\"docsetTargetFile\":\"p0wocwg8t9epicn1c17gk3mixx19.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/PRINCOMP.json",
    "content": "{\"name\":\"PRINCOMP\",\"statements\":[{\"name\":\"PROC PRINCOMP\",\"description\":\"The PRINCOMP procedure performs principal component analysis. As input you can use raw data, a correlation matrix, a covariance matrix, or a sum-of-squares-and-crossproducts (SSCP) matrix. You can create output data sets containing eigenvalues, eigenvectors, and standardized or unstandardized principal component scores. † Principal component analysis is a multivariate technique for examining relationships among several quantitative variables. The choice between using factor analysis and using principal component analysis depends in part on your research objectives. You should use the PRINCOMP procedure if you are interested in summarizing data and detecting linear relationships. You can use principal components to reduce the number of variables in regression, clustering, and so on.\",\"help\":\"PROC PRINCOMP <COVARIANCE><DATA=SAS-data-set><N=number><NOINT><NOPRINT><OUT=SAS-data-set><OUTSTAT=SAS-data-set><PARPREFIX=name><PLOTS=ALL | EIGEN|EIGENVALUE|SCREE | MATRIX... ><PREFIX=name><SINGULAR=p><STANDARD><VARDEF=DF | N | WEIGHT|WGT... >;     \\n\\tBY <DESCENDING><NOTSORTED> ;\\n\\n\\tFREQ variable ;\\n\\n\\tID variables ;\\n\\n\\tPARTIAL variables ;\\n\\n\\tVAR variables ;\\n\\n\\tWEIGHT variable;\\n\",\"arguments\":[{\"name\":\"COVARIANCE\",\"optional\":true,\"aliases\":[\"COV\"],\"description\":\"Computes the principal components from the covariance matrix. If you omit the COV option, the correlation matrix is analyzed.\",\"type\":\"standalone\"},{\"name\":\"DATA=\",\"optional\":true,\"description\":\"Specifies the SAS data set to be analyzed.\",\"help\":\"DATA=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"N=\",\"optional\":true,\"description\":\"Specifies the number of principal components to be computed. The default is the number of variables. The value of the N= option must be an integer greater than or equal to zero.\",\"help\":\"N=*number*\",\"type\":\"value\"},{\"name\":\"NOINT\",\"optional\":true,\"description\":\"Omits the intercept from the model. In other words, the NOINT option requests that the covariance or correlation matrix not be corrected for the mean.\",\"type\":\"standalone\"},{\"name\":\"NOPRINT\",\"optional\":true,\"description\":\"Suppresses the display of all output.\",\"type\":\"standalone\"},{\"name\":\"OUT=\",\"optional\":true,\"description\":\"Creates an output SAS data set that contains all the original data as well as the principal component scores.\",\"help\":\"OUT=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"OUTSTAT=\",\"optional\":true,\"description\":\"Creates an output SAS data set that contains means, standard deviations, number of observations, correlations or covariances, eigenvalues, and eigenvectors.\",\"help\":\"OUTSTAT=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"PARPREFIX=\",\"optional\":true,\"aliases\":[\"PPREFIX=\"],\"description\":\"Specifies a prefix for naming the residual variables in the OUT= data set and the OUTSTAT= data set. By default, the prefix is R_.\",\"help\":\"PARPREFIX=*name*\",\"type\":\"value\"},{\"name\":\"PLOTS=\",\"optional\":true,\"description\":\"Controls the plots produced through ODS Graphics. Syntax: (1) PLOTS <(global-plot-options)> <= plot-request <(options)>> (2) PLOTS <(global-plot-options)> <= (plot-request <(options)> <... plot-request <(options)>>)> The global plot options include the following: FLIP flips or interchanges the X-axis and Y-axis dimension for the component score plots and the component pattern plots. NCOMP=n specifies the number of components n to be plotted for the component pattern plots and the component score plots. ONLY suppresses the default plots. Only plots specifically requested are displayed.\",\"help\":\"PLOTS=ALL | EIGEN | MATRIX | NONE | PATTERN | PATTERNPROFILE | SCORE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ALL\",\"description\":\"Produces all appropriate plots.\",\"type\":\"standalone\"},{\"name\":\"EIGEN\",\"aliases\":[\"EIGENVALUE\",\"SCREE\"],\"description\":\"Produces the scree plot of eigenvalues and proportion variance explained.\",\"type\":\"standalone\"},{\"name\":\"MATRIX\",\"description\":\"Produces the matrix plot of principal component scores.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"Suppresses the display of all graphics output.\",\"type\":\"standalone\"},{\"name\":\"PATTERN\",\"description\":\"Produces the pairwise component pattern plots. The available pattern-options are as follows: CIRCLES<= number list> plots the variance percentage circles. FLIP flips or interchanges the X-axis and Y-axis dimensions for the component pattern plots. NCOMP=n specifies the number of components n( ≥ 2) to be plotted. VECTOR plots pattern in a vector form.\",\"type\":\"standalone\"},{\"name\":\"PATTERNPROFILE\",\"aliases\":[\"PROFILE\"],\"description\":\"Produces the pattern profile plot. There is a profile for each component.\",\"type\":\"standalone\"},{\"name\":\"SCORE\",\"description\":\"Produces the pairwise component score plots. The available score-options are as follows: ALPHA=number list specifies a list of numbers for the prediction ellipses to be displayed in the score plots. ELLIPSE requests prediction ellipses for the principal component scores of a new observation to be created in the principal component score plots. FLIP flips or interchanges the X-axis and Y-axis dimensions for the component score plots. NCOMP=n specifies the number of components n( ≥ 2) to be plotted.\",\"type\":\"standalone\"}]},{\"name\":\"PREFIX=\",\"optional\":true,\"description\":\"Specifies a prefix for naming the principal components. By default, the names are Prin1, Prin2, ..., Prinn. If you specify PREFIX=ABC, the components are named ABC1, ABC2, ABC3, and so on. The number of characters in the prefix plus the number of digits required to designate the variables should not exceed the current name length defined by the VALIDVARNAME= system option.\",\"help\":\"PREFIX=*name*\",\"type\":\"value\"},{\"name\":\"SINGULAR=\",\"optional\":true,\"aliases\":[\"SING=\"],\"description\":\"Specifies the singularity criterion, where 0 < p < 1.\",\"help\":\"SINGULAR=*p*\",\"type\":\"value\"},{\"name\":\"STANDARD\",\"optional\":true,\"aliases\":[\"STD\"],\"description\":\"Standardizes the principal component scores in the OUT= data set to unit variance.\",\"type\":\"standalone\"},{\"name\":\"VARDEF=\",\"optional\":true,\"description\":\"Specifies the divisor used in calculating variances and standard deviations.\",\"help\":\"VARDEF=DF | N | WEIGHT | WDF\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DF\",\"description\":\"Error degrees of freedom\",\"type\":\"standalone\"},{\"name\":\"N\",\"description\":\"Number of observations\",\"type\":\"standalone\"},{\"name\":\"WEIGHT\",\"aliases\":[\"WGT\"],\"description\":\"Sum of weights\",\"type\":\"standalone\"},{\"name\":\"WDF\",\"description\":\"Sum of weights minus one\",\"type\":\"standalone\"}]}]},{\"name\":\"BY\",\"description\":\"Obtains separate analyses on observations in groups defined by the BY variables.\",\"help\":\"BY &lt;DESCENDING&gt;&lt;NOTSORTED&gt;\",\"arguments\":[{\"name\":\"DESCENDING\",\"optional\":true,\"description\":\"Specifies that the observations are sorted in descending order by the variable that immediately follows the word DESCENDING in the BY statement.\",\"type\":\"standalone\"},{\"name\":\"NOTSORTED\",\"optional\":true,\"description\":\"Specifies that observations are not necessarily sorted in alphabetic or numeric order.\",\"type\":\"standalone\"}]},{\"name\":\"FREQ\",\"description\":\"The FREQ statement specifies a variable that provides frequencies for each observation in the DATA= data set. Specifically, if n is the value of the FREQ variable for a given observation, then that observation is used n times.\",\"help\":\"FREQ variable \"},{\"name\":\"ID\",\"description\":\"The ID statement labels observations with values from the first ID variable in the principal component score plot. If one or more ID variables are specified, their values are displayed in tooltips of the component score plot and the matrix plot of component scores.\",\"help\":\"ID variables \"},{\"name\":\"PARTIAL\",\"description\":\"If you want to analyze a partial correlation or covariance matrix, specify the names of the numeric variablesto be partialed out in the PARTIAL statement.\",\"help\":\"PARTIAL variables \"},{\"name\":\"VAR\",\"description\":\"The VAR statement lists the numeric variables to be analyzed. If you omit the VAR statement, all numeric variables not specified in other statements are analyzed.\",\"help\":\"VAR variables \"},{\"name\":\"WEIGHT\",\"description\":\"If you want to use relative weights for each observation in the input data set, place the weights in a variable in the data set and specify the name in a WEIGHT statement. This is often done when the variance associated with each observation is different and the values of the weight variable are proportional to the reciprocals of the variances.\",\"help\":\"WEIGHT variable\"}],\"supportSiteInformation\":{\"docsetId\":\"statug\",\"docsetVersion\":\"latest\",\"docsetTargetFile\":\"statug_princomp_toc.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/PRINQUAL.json",
    "content": "{\"name\":\"PRINQUAL\",\"statements\":[{\"name\":\"PROC PRINQUAL\",\"description\":\"The PRINQUAL procedure performs principal component analysis (PCA) of qualitative, quantitative, or mixed data.\",\"help\":\"PROC PRINQUAL <APPROXIMATIONS><APREFIX=name><CCONVERGE=n><CHANGE=n><CONVERGE=n><CORRELATIONS><COVARIANCE><DATA=SAS-data-set><DUMMY><INITITER=n><MAXITER=n><MDPREF<=n>><METHOD=MAC | MGV | MTV><MONOTONE=two-letters><N=n><NOCHECK><NOMISS><NOPRINT><OUT=SAS-data-set><PLOTS=ALL | TRANSFORMATION|TRA | MDPREF|MDP... ><PREFIX=name><REFRESH=n><REITERATE><REPLACE><SCORES><SINGULAR=p><STANDARD><TPREFIX=name><TSTANDARD=CENTER | NOMISS | ORIGINAL... ><TYPE=’text’|name><UNTIE=two-letters>;     \\n\\tBY <DESCENDING><NOTSORTED> ;\\n\\n\\tFREQ variable ;\\n\\n\\tID variables ;\\n\\n\\tTRANSFORM <ARSIN><EXP><LOG> ...;\\n\\n\\tWEIGHT variable;\\n\",\"arguments\":[{\"name\":\"APPROXIMATIONS\",\"optional\":true,\"aliases\":[\"APPROX\",\"APP\"],\"description\":\"Includes principal component approximations to the transformed variables in the output data set.\",\"type\":\"standalone\"},{\"name\":\"APREFIX=\",\"optional\":true,\"aliases\":[\"APR=\"],\"description\":\"Specifies a prefix for naming the approximation variables. By default, APREFIX=A.\",\"help\":\"APREFIX=*name*\",\"type\":\"value\"},{\"name\":\"CCONVERGE=\",\"optional\":true,\"aliases\":[\"CCO=\"],\"description\":\"Specifies the minimum change in the criterion being optimized that is required to continue iterating. By default, CCONVERGE=0.0.\",\"help\":\"CCONVERGE=*n*\",\"type\":\"value\"},{\"name\":\"CHANGE=\",\"optional\":true,\"aliases\":[\"CHA=\"],\"description\":\"Specifies the number of the first iteration to be displayed in the iteration history table. The default is CHANGE=1.\",\"help\":\"CHANGE=*n*\",\"type\":\"value\"},{\"name\":\"CONVERGE=\",\"optional\":true,\"aliases\":[\"CON=\"],\"description\":\"Specifies the minimum average absolute change in standardized variable scores that is required to continue iterating. By default, CONVERGE=0.00001.\",\"help\":\"CONVERGE=*n*\",\"type\":\"value\"},{\"name\":\"CORRELATIONS\",\"optional\":true,\"aliases\":[\"COR\"],\"description\":\"Includes correlations and the component structure matrix in the output data set. By default, this information is not included.\",\"type\":\"standalone\"},{\"name\":\"COVARIANCE\",\"optional\":true,\"aliases\":[\"COV\"],\"description\":\"Computes the principal components from the covariance matrix.\",\"type\":\"standalone\"},{\"name\":\"DATA=\",\"optional\":true,\"description\":\"Specifies the SAS data set to be analyzed.\",\"help\":\"DATA=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"DUMMY\",\"optional\":true,\"aliases\":[\"DUM\"],\"description\":\"Expands variables specified for OPSCORE optimal transformations to dummy variables for the initialization.\",\"type\":\"standalone\"},{\"name\":\"INITITER=\",\"optional\":true,\"aliases\":[\"INI=\"],\"description\":\"Specifies the number of MAC iterations required to initialize the data before starting MTV or MGV iterations. By default, INITITER=0.\",\"help\":\"INITITER=*n*\",\"type\":\"value\"},{\"name\":\"MAXITER=\",\"optional\":true,\"aliases\":[\"MAX=\"],\"description\":\"Specifies the maximum number of iterations. By default, MAXITER=30.\",\"help\":\"MAXITER=*n*\",\"type\":\"value\"},{\"name\":\"MDPREF\",\"optional\":true,\"aliases\":[\"MDP\"],\"description\":\"Specifies a multidimensional preference analysis by implying the STANDARD, SCORES, and CORRELATIONS options.\",\"type\":\"standalone\"},{\"name\":\"METHOD=\",\"optional\":true,\"aliases\":[\"MET=\"],\"description\":\"Specifies the optimization method. By default, METHOD=MTV.\",\"help\":\"METHOD=MAC | MGV | MTV\",\"type\":\"choice\",\"arguments\":[{\"name\":\"MAC\",\"description\":\"Maximum average correlation\",\"type\":\"standalone\"},{\"name\":\"MGV\",\"description\":\"Minimum generalized variance\",\"type\":\"standalone\"},{\"name\":\"MTV\",\"description\":\"Maximum total variance\",\"type\":\"standalone\"}]},{\"name\":\"MONOTONE=\",\"optional\":true,\"aliases\":[\"MON=\"],\"description\":\"Specifies the number of principal components to be computed. By default, N=2.\",\"help\":\"MONOTONE=*two-letters*\",\"type\":\"value\"},{\"name\":\"N=\",\"optional\":true,\"description\":\"Specifies the number of principal components to be computed. By default, N=2.\",\"help\":\"N=*n*\",\"type\":\"value\"},{\"name\":\"NOCHECK\",\"optional\":true,\"aliases\":[\"NOC\"],\"description\":\"Turns off computationally intensive numerical error checking for the MGV method.\",\"type\":\"standalone\"},{\"name\":\"NOMISS\",\"optional\":true,\"aliases\":[\"NOM\"],\"description\":\"Excludes all observations with missing values from the analysis, but does not exclude them from the OUT= data set.\",\"type\":\"standalone\"},{\"name\":\"NOPRINT\",\"optional\":true,\"aliases\":[\"NOP\"],\"description\":\"Suppresses the display of all output.\",\"type\":\"standalone\"},{\"name\":\"OUT=\",\"optional\":true,\"description\":\"Specifies an output SAS data set that contains results of the analysis. If you omit the OUT= option, PROC PRINQUAL still creates an output data set and names it by using the DATA convention.\",\"help\":\"OUT=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"PLOTS=\",\"optional\":true,\"description\":\"Controls the plots produced through ODS Graphics. Syntax: (1) PLOTS <(global-plot-options)> <= plot-request <(options)>> (2) PLOTS <(global-plot-options)> <= (plot-request <(options)> <... plot-request <(options)>>)> The global plot options include the following: FLIP |FLI flips or interchanges the X-axis and Y-axis dimension for MDPREF plots. INTERPOLATE | INT uses observations that are excluded from the analysis for interpolation in the fit and transformation plots. ONLY | ONL suppresses the default plots. Only plots specifically requested are displayed.\",\"help\":\"PLOTS=ALL | TRANSFORMATION | MDPREF | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ALL\",\"description\":\"Produces all appropriate plots.\",\"type\":\"standalone\"},{\"name\":\"TRANSFORMATION\",\"aliases\":[\"TRA\"],\"description\":\"Plots the variable transformations. By default, multiple plots can appear in some output panels. Specify UNPACKPANEL to display each plot in a separate panel.\",\"type\":\"standalone\"},{\"name\":\"MDPREF\",\"aliases\":[\"MDP\"],\"description\":\"Plots multidimensional preference analysis results.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"Suppresses the display of all graphics output.\",\"type\":\"standalone\"}]},{\"name\":\"PREFIX=\",\"optional\":true,\"aliases\":[\"PRE=\"],\"description\":\"Specifies a prefix for naming the principal components. By default, the names are Prin1, Prin2, ..., Prinn.\",\"help\":\"PREFIX=*name*\",\"type\":\"value\"},{\"name\":\"REFRESH=\",\"optional\":true,\"aliases\":[\"REF=\"],\"description\":\"Specifies the number of variables to scale in the MGV method before computing a new inverse. By default, REFRESH=5.\",\"help\":\"REFRESH=*n*\",\"type\":\"value\"},{\"name\":\"REITERATE\",\"optional\":true,\"aliases\":[\"REI\"],\"description\":\"Enables PROC PRINQUAL to use previous transformations as starting points.\",\"type\":\"standalone\"},{\"name\":\"REPLACE\",\"optional\":true,\"aliases\":[\"REP\"],\"description\":\"Replaces the original data with the transformed data in the output data set.\",\"type\":\"standalone\"},{\"name\":\"SCORES\",\"optional\":true,\"aliases\":[\"SCO\"],\"description\":\"Includes principal component scores in the output data set. By default, scores are not included.\",\"type\":\"standalone\"},{\"name\":\"SINGULAR=\",\"optional\":true,\"aliases\":[\"SING=\"],\"description\":\"Specifies the singularity criterion, where 0 < p < 1.\",\"help\":\"SINGULAR=*p*\",\"type\":\"value\"},{\"name\":\"STANDARD\",\"optional\":true,\"aliases\":[\"STD\"],\"description\":\"Standardizes the principal component scores in the output data set to mean zero and variance one instead of the default mean zero and variance equal to the corresponding eigenvalue.\",\"type\":\"standalone\"},{\"name\":\"TPREFIX=\",\"optional\":true,\"aliases\":[\"TPR=\"],\"description\":\"Specifies a prefix for naming the transformed variables. By default, TPREFIX=T.\",\"help\":\"TPREFIX=*name*\",\"type\":\"value\"},{\"name\":\"TSTANDARD=\",\"optional\":true,\"aliases\":[\"TST=\"],\"description\":\"Specifies the standardization of the transformed variables in the OUT= data set.\",\"help\":\"TSTANDARD=CENTER | NOMISS | ORIGINAL | Z\",\"type\":\"choice\",\"arguments\":[{\"name\":\"CENTER\",\"description\":\"Centers the output variables to mean zero, but the variances are the same as the variances of the input variables.\",\"type\":\"standalone\"},{\"name\":\"NOMISS\",\"description\":\"Sets the means and variances of the transformed variables in the OUT= data set, computed over all output values that correspond to nonmissing values in the input data set, to the means and variances computed from the nonmissing observations of the original variables.\",\"type\":\"standalone\"},{\"name\":\"ORIGINAL\",\"description\":\"Sets the means and variances of the transformed variables to the means and variances of the original variables. This is the default.\",\"type\":\"standalone\"},{\"name\":\"Z\",\"description\":\"Standardizes the variables to mean zero, variance one.\",\"type\":\"standalone\"}]},{\"name\":\"TYPE=\",\"optional\":true,\"aliases\":[\"TYP=\"],\"description\":\"Specifies the valid value for the _TYPE_ variable in the input data set. If PROC PRINQUAL finds an input _TYPE_ variable, it uses only observations with a _TYPE_ value that matches the TYPE= value.\",\"type\":\"value\"},{\"name\":\"UNTIE=\",\"optional\":true,\"aliases\":[\"UNT=\"],\"description\":\"Specifies the first and last special missing values in the list of those special missing values that are to be estimated with within-variable order constraints but no category constraints. The two-letters value must consist of two letters in alphabetical order.\",\"help\":\"UNTIE=*two-letters*\",\"type\":\"value\"}]},{\"name\":\"BY\",\"description\":\"Obtains separate analyses on observations in groups defined by the BY variables.\",\"help\":\"BY &lt;DESCENDING&gt;&lt;NOTSORTED&gt;\",\"arguments\":[{\"name\":\"DESCENDING\",\"optional\":true,\"description\":\"Specifies that the observations are sorted in descending order by the variable that immediately follows the word DESCENDING in the BY statement.\",\"type\":\"standalone\"},{\"name\":\"NOTSORTED\",\"optional\":true,\"description\":\"Specifies that observations are not necessarily sorted in alphabetic or numeric order.\",\"type\":\"standalone\"}]},{\"name\":\"FREQ\",\"description\":\"If one variable in the input data set represents the frequency of occurrence for other values in the observation, list the variable’s name in a FREQ statement. PROC PRINQUAL then treats the data set as if each observation appeared n times, where n is the value of the FREQ variable for the observation.\",\"help\":\"FREQ variable \"},{\"name\":\"ID\",\"description\":\"The ID statement includes additional character or numeric variables in the output data set. The variables must be contained in the input data set.\",\"help\":\"ID variables \"},{\"name\":\"TRANSFORM\",\"description\":\"The TRANSFORM statement lists the variables to be analyzed (variables) and specifies the transformation (transform) to apply to each variable listed.\",\"help\":\"TRANSFORM &lt;ARSIN&gt;&lt;EXP&gt;&lt;LOG&gt; ...\",\"arguments\":[{\"name\":\"ARSIN\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"DEGREE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"\",\"type\":\"value\"},{\"name\":\"EVENLY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"\",\"type\":\"value\"},{\"name\":\"EXP\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"IDENTITY\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"KNOTS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"\",\"type\":\"value\"},{\"name\":\"LINEAR\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"LOG\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"LOGIT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"MONOTONE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"MSPLINE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"NAME=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"\",\"type\":\"value\"},{\"name\":\"NKNOTS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"\",\"type\":\"value\"},{\"name\":\"OPSCORE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"ORIGINAL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"PARAMETER=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"\",\"type\":\"value\"},{\"name\":\"POWER\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"RANK\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"REFLECT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"SM=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"\",\"type\":\"value\"},{\"name\":\"SPLINE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"SSPLINE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"TSTANDARD=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"\",\"help\":\"TSTANDARD=CENTER | NOMISS | ORIGINAL | Z\",\"type\":\"choice\",\"arguments\":[{\"name\":\"CENTER\",\"followsDelimiter\":\"/\",\"description\":\"Centers the output variables to mean zero, but the variances are the same as the variances of the input variables.\",\"type\":\"standalone\"},{\"name\":\"NOMISS\",\"followsDelimiter\":\"/\",\"description\":\"Sets the means and variances of the transformed variables in the OUT= data set, computed over all output values that correspond to nonmissing values in the input data set, to the means and variances computed from the nonmissing observations of the original variables.\",\"type\":\"standalone\"},{\"name\":\"ORIGINAL\",\"followsDelimiter\":\"/\",\"description\":\"Sets the means and variances of the transformed variables to the means and variances of the original variables. This is the default.\",\"type\":\"standalone\"},{\"name\":\"Z\",\"followsDelimiter\":\"/\",\"description\":\"Standardizes the variables to mean zero, variance one.\",\"type\":\"standalone\"}]},{\"name\":\"UNTIE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"\",\"type\":\"standalone\"}]},{\"name\":\"WEIGHT\",\"description\":\"When you use a WEIGHT statement, a weighted residual sum of squares is minimized. The WEIGHT statement has no effect on degrees of freedom or number of observations, but the weights affect most other calculations.\",\"help\":\"WEIGHT variable\"}],\"supportSiteInformation\":{\"docsetId\":\"statug\",\"docsetVersion\":\"latest\",\"docsetTargetFile\":\"statug_prinqual_toc.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/PRINT.json",
    "content": "{\"name\":\"PRINT\",\"statements\":[{\"name\":\"PROC PRINT\",\"description\":\"Prints observations in a SAS data set using some or all of the variables.\",\"help\":\"PROC PRINT <options>;  \\n\\tATTRIB  variable-list(s) attribute-list(s);\\n\\n\\tBY <DESCENDING>variable-1<<DESCENDING>variable-2 ...><NOTSORTED>;  \\n\\t\\tPAGEBY BY-variable;\\n\\t\\tSUMBY BY-variable;\\n\\n\\tFORMAT variable-1< ...variable-n><format><DEFAULT=default-format>;\\n\\n\\tID variable(s)\\n\\t\\t</ STYLE <(location(s))>=<style-override>>;\\n\\n\\tLABEL variable-1=label-1< ...variable-n=label-n>;\\n\\n\\tSUM variable(s)\\n\\t\\t</ STYLE <(location(s))>=<style-override>>;\\n\\n\\tVAR variable(s)\\n\\t\\t</ STYLE <(location(s))>=<style-override> >;\\n\\n\\t\\n\\t\\tWHERE where-expression-1\\n\\t\\t\\t<logical-operator where-expression-n>; \",\"arguments\":[{\"name\":\"BLANKLINE=\",\"optional\":true,\"aliases\":[\"BLANK=\"],\"description\":\"writes a blank line after n observations.\",\"help\":\"BLANKLINE=*n* <br/> BLANKLINE=(COUNT=*n* &lt;STYLE=[*style-attibute-specification(s)*]&gt;)\",\"type\":\"value\",\"arguments\":[{\"name\":\"n\",\"placeholder\":true,\"description\":\"specifies the observation number after which SAS inserts a blank line.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1kpszykmlxa99n1aw503h86zaqu\"},{\"name\":\"COUNT=\",\"description\":\"specifies the observation number after which SAS inserts a blank line.\",\"help\":\"COUNT=*n*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1kpszykmlxa99n1aw503h86zaqu\"},{\"name\":\"STYLE=\",\"description\":\"specifies the style attribute to use for the blank line.\",\"help\":\"STYLE=[*style-attribute-specification(s)*]\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0biqnwmwohbvmn1jthbdor3awt7\"}],\"supportSiteTargetFragment\":\"p17i6dzzs6hr5on150zz67ehgk4b\"},{\"name\":\"CONTENTS=\",\"optional\":true,\"description\":\"specifies text for the links in the table of contents.\",\"help\":\"CONTENTS=*link-text* &lt;#BYLINE&gt; &lt;#BYVAL&gt; &lt;#BYVAR&gt;\",\"type\":\"value\",\"arguments\":[{\"name\":\"link-text\",\"placeholder\":true,\"description\":\"specifies text to use in the table of contents.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p002cqiv7k1403n1cz14wn7q1w2e\"},{\"name\":\"#BYLINE\",\"description\":\"substitutes the entire BY line without leading or trailing blanks for #BYLINE in the text string. The BY line uses the format variable-name=value.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p10h3hwk9k6k15n1rjahdlo0lj0i\"},{\"name\":\"#BYVAL\",\"description\":\"substitutes the current value of the specified BY variable for #BYVAL in the text string. Specify the variable with one of these values:\",\"help\":\"#BYVAL*n* <br/> #BYVAL(*BY-variable-name*)\",\"type\":\"value\",\"arguments\":[{\"name\":\"n\",\"placeholder\":true,\"description\":\"specifies a variable by its position in the BY statement. For example, #BYVAL2 specifies the second variable in the BY statement.\",\"help\":\"*n* \",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1xxu2dihz8ffwn1idgylkclu7ip\"},{\"name\":\"BY-variable-name\",\"placeholder\":true,\"description\":\"specifies a variable from the BY statement by its name. For example, #BYVAL(YEAR) specifies the BY variable, YEAR. variable-name is not case sensitive.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0c63jfy5gzb9on15auxdad5bk1x\"}],\"supportSiteTargetFragment\":\"p1s93zchhwv57fn1qu7g3cj51sh2\"},{\"name\":\"#BYVAR\",\"description\":\"substitutes the name of the BY variable or the label associated with the variable (whatever the BY line would normally display) for #BYVAR in the text string. Specify the variable with one of these values:\",\"help\":\"#BYVAR*n* <br/> #BYVAR(*BY-variable-name*)\",\"type\":\"value\",\"arguments\":[{\"name\":\"n\",\"placeholder\":true,\"description\":\"specifies a variable by its position in the BY statement. For example, #BYVAR2 specifies the second variable in the BY statement.\",\"help\":\"*n* \",\"type\":\"value\",\"supportSiteTargetFragment\":\"p09sa8nlkoy6qyn1xm0fnkuv6qve\"},{\"name\":\"BY-variable-name\",\"placeholder\":true,\"description\":\"specifies a variable from the BY statement by its name. For example, #BYVAR(SITES) specifies the BY variable, SITES. variable-name is not case sensitive.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1w2wq51x48un6n1smm4dgmipdy0\"}],\"supportSiteTargetFragment\":\"p1bpeiez6sctxon16ugynr242h2d\"}],\"supportSiteTargetFragment\":\"p01fhv4s1aapmfn11jgzrdkvopc5\"},{\"name\":\"DATA=\",\"optional\":true,\"description\":\"specifies the SAS data set to print.\",\"help\":\"DATA=*SAS-data-set*\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"n14fkplubfs9afn1qg1d3p8pe026\"},{\"name\":\"DOUBLE\",\"optional\":true,\"aliases\":[\"D\"],\"description\":\"writes a blank line between observations.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0ulfaq2atia1cn1r083iwn659vo\"},{\"name\":\"GRANDTOTAL_LABEL=\",\"optional\":true,\"aliases\":[\"GRAND_LABEL=\",\"GRANDTOT_LABEL=\",\"GTOT_LABEL=\",\"GTOTAL_LABEL=\"],\"description\":\"displays a label on the grand total line.\",\"help\":\"GRANDTOTAL_LABEL='*label*'\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1evykie1p2srfn1rgz46i0abs6y\"},{\"name\":\"HEADING=\",\"optional\":true,\"description\":\"controls the orientation of the column headings.\",\"help\":\"HEADING=HORIZONTAL | VERTICAL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"HORIZONTAL\",\"aliases\":[\"H\"],\"description\":\"prints all column headings horizontally.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1mhlq5oe2oacgn13au5t878h000\"},{\"name\":\"VERTICAL\",\"aliases\":[\"V\"],\"description\":\"prints all column headings vertically.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p013jgynb7b459n17a174ke02t8l\"}],\"supportSiteTargetFragment\":\"n01z40i5i01yxwn1gqq89vsuli8x\"},{\"name\":\"LABEL\",\"optional\":true,\"aliases\":[\"L\"],\"description\":\"specifies to use the variables' labels as column headings.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0enjwai891uuyn1rl84ksabp75a\"},{\"name\":\"N\",\"optional\":true,\"description\":\"prints the number of observations in the data set, in BY groups, or both and specifies explanatory text to print with the number.\",\"help\":\"N&lt;=“*string-1*”&gt; &lt;“*string-2*”&gt;\",\"type\":\"standaloneOrValue\",\"supportSiteTargetFragment\":\"p08be7u5moa8b3n142at9ucgapbc\"},{\"name\":\"NOOBS\",\"optional\":true,\"description\":\"suppresses the column in the output that identifies each observation by number.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1izh3lxfu9r9jn1ecsi3rfu4rcn\"},{\"name\":\"OBS=\",\"optional\":true,\"description\":\"specifies a column heading for the column that identifies each observation by number.\",\"help\":\"OBS=“*column-header*”\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n05x2bogpcxy8cn1pwv7zzwyk6jq\"},{\"name\":\"ROUND\",\"optional\":true,\"aliases\":[\"R\"],\"description\":\"rounds unformatted numeric values to two decimal places.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1qm3a57ogcvvdn1o3s31c5qshh0\"},{\"name\":\"ROWS=\",\"optional\":true,\"description\":\"formats the rows on a page.\",\"help\":\"ROWS=*page-format*\",\"type\":\"value\",\"arguments\":[{\"name\":\"PAGE\",\"description\":\"prints only one row of variables for each observation per page. When you use ROWS=PAGE, PROC PRINT does not divide the page into sections; it prints as many observations as possible on each page. If the observations do not fill the last page of the output, PROC PRINT divides the last page into sections and prints all the variables for the last few observations.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0ruemzdu9glr0n127f648z90pvj\"}],\"supportSiteTargetFragment\":\"p06gfsrjz2lzkin1islurehk40xy\"},{\"name\":\"SPLIT=\",\"optional\":true,\"aliases\":[\"S=\"],\"description\":\"specifies the split character, which controls line breaks in column headings.\",\"help\":\"SPLIT='*split-character*'\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1dqpla9j7hqsln1mlywfk558cox\"},{\"name\":\"STYLE\",\"optional\":true,\"description\":\"specify one or more ODS style overrides to modify the default style element and attributes in a specific area of a report.\",\"help\":\"STYLE &lt;(*location(s)*)&gt;=&lt;*style-override(s)*&gt;\",\"type\":\"standaloneOrValue\",\"arguments\":[{\"name\":\"location\",\"placeholder\":true,\"description\":\"identifies the part of the report that the STYLE option affects. If location(s) is not specified, PROC PRINT determines the location to where the style override is applied based on the statement, the specified style element, and the style attribute.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p19hfj7j3tqyihn12bqldt9qa32p\"},{\"name\":\"style-element-name\",\"placeholder\":true,\"description\":\"is the name of a style element in a style template that is registered with the Output Delivery System. SAS provides some style templates. Users can create their own style templates with the TEMPLATE procedure. See .\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0xm3xmbo434dyn1843t6injx5i5\"},{\"name\":\"style-attribute-specification\",\"placeholder\":true,\"description\":\"describes the style attribute to change. Each style-attribute-specification has this general form:\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n061cl6rwb8kktn1nkqrew0tdc6y\"}],\"supportSiteTargetFragment\":\"n02drq5av7q295n1egdu5bjr939p\"},{\"name\":\"SUMLABEL\",\"optional\":true,\"description\":\"specifies whether to display a label on the summary line for a BY group.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1nvawcsemox1sn1t4elbb1ymqse\"},{\"name\":\"NOSUMLABEL\",\"optional\":true,\"description\":\"specifies whether to display a label on the summary line for a BY group.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1nvawcsemox1sn1t4elbb1ymqse\"},{\"name\":\"SUMLABEL=\",\"optional\":true,\"description\":\"specifies whether to display a label on the summary line for a BY group.\",\"help\":\"SUMLABEL='*label*'\",\"type\":\"value\",\"arguments\":[{\"name\":\"SUMLABEL\",\"description\":\"specifies to use the variable label, if it exists, as the label on the summary line in place of the variable name.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0mkmjus5twds4n1jgn4sdclz1a7\"},{\"name\":\"NOSUMLABEL\",\"description\":\"specifies to leave the label on the summary line blank. Alternatively, you can use SUMLABEL=\\\"\\\" (two single or double quotation marks with no space between them) to indicate a blank on the summary line.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0jcc026vn75van1qfmt1r9hh7lb\"},{\"name\":\"SUMLABEL=\",\"description\":\"specifies the text to use as a label on the summary line of a BY group. You can include the #BYVAR and #BYVAL variables in 'label'.\",\"help\":\"SUMLABEL='*label*'\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0y2jw7392t6sxn1qhljbye7odku\"}],\"supportSiteTargetFragment\":\"p1nvawcsemox1sn1t4elbb1ymqse\"},{\"name\":\"UNIFORM\",\"optional\":true,\"description\":\"specifies to use each variable's formatted width as its column width on all pages.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0jiaz66spvwuon1hoyyys1lh7m4\"},{\"name\":\"WIDTH=\",\"optional\":true,\"description\":\"determines the column width for each variable.\",\"help\":\"WIDTH=FULL | MINIMUM | UNIFORM  | UNIFORMBY\",\"type\":\"choice\",\"arguments\":[{\"name\":\"FULL\",\"description\":\"uses a variable's formatted width as the column width. If the variable does not have a format that explicitly specifies a field width, PROC PRINT uses the default width. For a character variable, the default width is the length of the variable. For a numeric variable, the default width is 12. When you use WIDTH=FULL, the column widths do not vary from page to page.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0qyh6tedj9nu8n1q859b9bphztn\"},{\"name\":\"MINIMUM\",\"aliases\":[\"MIN\"],\"description\":\"uses for each variable the minimum column width that accommodates all values of the variable.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1eaglxx1lc0myn1q5e9d1ow2o5i\"},{\"name\":\"UNIFORM\",\"aliases\":[\"U\"],\"description\":\"uses each variable's formatted width as its column width on all pages. If the variable does not have a format that explicitly specifies a field width, PROC PRINT uses the widest data value as the column width. When you specify WIDTH=UNIFORM, PROC PRINT normally needs to read the data set twice. However, if all the variables in the data set have formats that explicitly specify a field width (for example, BEST12. but not BEST.), PROC PRINT reads the data set only once.\",\"help\":\"UNIFORM \",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n12jbwgv6kvfxjn15mjwkruco9gk\"},{\"name\":\"UNIFORMBY\",\"aliases\":[\"UBY\"],\"description\":\"formats all columns uniformly within a BY group, using each variable's formatted width as its column width. If the variable does not have a format that explicitly specifies a field width, PROC PRINT uses the widest data value as the column width.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1r2f8wor7zuxnn12ru9vzpew6b9\"}],\"supportSiteTargetFragment\":\"n1fdxyvx5596zun1ef52j6x4fxwu\"}],\"supportSiteTargetFile\":\"n17dcq1elcvpvkn1pkecj41cva6j.htm\"},{\"name\":\"ATTRIB\",\"description\":\"Associates a format, informat, label, and length with one or more variables.\",\"help\":\"ATTRIB  *variable-list(s)**attribute-list(s)*;\",\"arguments\":[{\"name\":\"variable-list\",\"optional\":true,\"placeholder\":true,\"description\":\"names the variables that you want to associate with the attributes.\",\"help\":\"*variable-list(s)*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1nd0mq22iu6ovn14mz1ot1hwcjid\"},{\"name\":\"FORMAT=\",\"description\":\"associates a format with variables in variable-list.\",\"help\":\"FORMAT=*format*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p08pt9ce6bhq86n18a3zcc97bldzd\"},{\"name\":\"INFORMAT=\",\"description\":\"associates an informat with variables in variable-list.\",\"help\":\"INFORMAT=*informat*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n136glco6ritqdn160792yhk9mv1d\"},{\"name\":\"LABEL=\",\"description\":\"associates a label with variables in variable-list.\",\"help\":\"LABEL='*label*' \",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0a9x9io5pi05mn1i4p2cphc7t0nd\"}],\"supportSiteTargetFile\":\"n04pixwhr1atzln1dow0e10lyibsd.htm\"},{\"name\":\"BY\",\"description\":\"Orders the output according to the BY groups.\",\"help\":\"BY <DESCENDING>variable-1\\n\\t<… <DESCENDING> variable-n>\\n\\t<NOTSORTED>;\",\"arguments\":[{\"name\":\"variable\",\"placeholder\":true,\"description\":\"specifies the variable that the procedure uses to form BY groups. You can specify more than one variable. If you do not use the NOTSORTED option in the BY statement, then either the observations in the data set must be sorted by all the variables that you specify, or they must be indexed appropriately. Variables in a BY statement are called BY variables.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0e9kbav2i9chhn1xectebpz4s14b\"},{\"name\":\"DESCENDING\",\"optional\":true,\"description\":\"specifies that the observations are sorted in descending order by the variable that immediately follows the word DESCENDING in the BY statement.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1au0lhf4hi1h2n1le3cx2tp74l5b\"},{\"name\":\"NOTSORTED\",\"optional\":true,\"description\":\"specifies that observations are not necessarily sorted in alphabetic or numeric order. The observations are grouped in another way (for example, chronological order).\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p068zvjhrpn2awn1bygis4m6hppab\"}],\"supportSiteTargetFile\":\"n13shq4na41y5wn14t67d8l6wgq8b.htm\"},{\"name\":\"FORMAT\",\"description\":\"Associates formats with variables.\",\"help\":\"FORMAT *variable-1*&lt; ...*variable-n*&gt;*format**variable-1*&lt; ...*variable-n*&gt;*format*;\",\"arguments\":[{\"name\":\"variable\",\"optional\":true,\"placeholder\":true,\"description\":\"names one or more variables for SAS to associate with a format. You must specify at least one variable.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1d0cionbspk2tn1ma0m6kjd1ntxd\"},{\"name\":\"format\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the format that is listed for writing the values of the variables.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n15nxwcex8m202n1dp4xwbds95t9d\"}],\"supportSiteTargetFile\":\"p02hzcxsifsk8dn1a53t49zqd82cd.htm\"},{\"name\":\"ID\",\"description\":\"Identifies observations by using the formatted values of the variables that you list instead of by using observation numbers.\",\"help\":\"ID variable(s)\\n< /  STYLE  <(location(s))>=<style-override(s)>>;\",\"arguments\":[{\"name\":\"variable\",\"placeholder\":true,\"description\":\"specifies one or more variables to print instead of the observation number at the beginning of each row of the report.\",\"help\":\"*variable(s)*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1qet2pc410p7gn1jbovh2raj6tu\"},{\"name\":\"STYLE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies one or more style overrides to use for ID columns created with the ID statement.\",\"help\":\"STYLE &lt;(*location(s)*)&gt;=&lt;*style-override(s)*&gt;\",\"type\":\"standaloneOrValue\",\"supportSiteTargetFragment\":\"p1vqk2y8dunzv0n1l8z7yb15s5cj\"}],\"supportSiteTargetFile\":\"n0xulkemc2tbapn1bj3a3invr27o.htm\"},{\"name\":\"LABEL\",\"description\":\"Assigns descriptive labels to variables.\",\"help\":\"LABEL variable-1 = 'text-string' < ...variable-n = 'text-string'>;\\nLABEL variable-1 = ' ' < ...variable-n=’ ‘>; | variable-1 = < ...variable-n= >;\",\"arguments\":[{\"name\":\"text-string\",\"placeholder\":true,\"description\":\"specifies a label of up to 256 bytes.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n09u0k5ydxzgr3n1dfznhvex7uuod\"},{\"name\":\"'\",\"placeholder\":true,\"description\":\"removes a label from a variable. Enclose a single blank space in quotation marks to remove an existing label. You can remove labels from multiple variables in a single LABEL statement:\",\"help\":\"*' '*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1dl99omzes92cn1typpf6yl1ng0d\"}],\"supportSiteTargetFile\":\"p1s0j2pii3oj7fn1f87s02j4zo52d.htm\"},{\"name\":\"PAGEBY\",\"description\":\"Controls page ejects that occur before a page is full.\",\"help\":\"PAGEBY *BY-variable*;\",\"arguments\":[{\"name\":\"BY-variable\",\"placeholder\":true,\"description\":\"identifies a variable appearing in the BY statement in the PROC PRINT step. If the value of the BY variable changes, or if the value of any BY variable that precedes it in the BY statement changes, PROC PRINT begins printing a new page.\",\"help\":\"*BY-variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0o70bm6tlv0jcn1f5d08lazwwri\"}],\"supportSiteTargetFile\":\"n1t3amp49vwackn1bvg5g1vw76jg.htm\"},{\"name\":\"SUM\",\"description\":\"Totals values of numeric variables.\",\"help\":\"SUM variable(s)\\n</ STYLE <(location(s))>=<style-override(s)> >;\",\"arguments\":[{\"name\":\"variable\",\"placeholder\":true,\"description\":\"identifies the numeric variables to total in the report.\",\"help\":\"*variable(s)*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1ialxn4xebpt4n1hr62yac1dt0d\"},{\"name\":\"STYLE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies one or more style overrides to use for cells containing sums that are created with the SUM statement.\",\"help\":\"STYLE &lt;&lt;(*location(s)*)&gt;=&lt;*style-override(s)*&gt; \",\"type\":\"standaloneOrValue\",\"supportSiteTargetFragment\":\"n0banwlw0jby34n1azifaneev7ay\"}],\"supportSiteTargetFile\":\"p1edr041yq1iaqn18uhrks8zkdaw.htm\"},{\"name\":\"SUMBY\",\"description\":\"Limits the number of sums that appear in the report.\",\"help\":\"SUMBY *BY-variable*;\",\"arguments\":[{\"name\":\"BY-variable\",\"placeholder\":true,\"description\":\"identifies a variable that appears in the BY statement in the PROC PRINT step. If the value of the BY variable changes, or if the value of any BY variable that precedes it in the BY statement changes, PROC PRINT prints the sums of all variables listed in the SUM statement.\",\"help\":\"*BY-variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1ttcht3by7l42n1gf327yjgh4fs\"}],\"supportSiteTargetFile\":\"p0r1td239h2yzdn1sedchg1q6pjq.htm\"},{\"name\":\"VAR\",\"aliases\":[\"VARIABLES\"],\"description\":\"Selects variables that appear in the report and determines their order.\",\"help\":\"VAR variable(s)\\n< / STYLE   <(location(s))>=<style-override(s)> >;\",\"arguments\":[{\"name\":\"variable\",\"placeholder\":true,\"description\":\"identifies the variables to print. PROC PRINT prints the variables in the order in which you list them.\",\"help\":\"*variable(s)*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0hoa3cfu9ycgln1bbr9wgtyil8c\"},{\"name\":\"STYLE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies one or more style overrides to use for all columns that are created by a VAR statement.\",\"help\":\"STYLE &lt;(*location(s)*)&gt;=&lt;*style-override(s)*&gt; \",\"type\":\"standaloneOrValue\",\"supportSiteTargetFragment\":\"p0ttnth716ze5cn1izdbz68xs30c\"}],\"supportSiteTargetFile\":\"n1cfqafrw9xvoln1sz5oed59lyf3.htm\"},{\"name\":\"WHERE\",\"description\":\"Subsets the input data set by specifying certain conditions that each observation must meet before it is available for processing.\",\"help\":\"WHERE where-expression-1\\n<logical-operator where-expression-n>; \",\"arguments\":[{\"name\":\"where-expression\",\"optional\":true,\"placeholder\":true,\"description\":\"is an arithmetic or logical expression that generally consists of a sequence of operands and operators.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p04iz9sx1znb6en1ptu9o3h9ns07d\"},{\"name\":\"logical-operator\",\"optional\":true,\"placeholder\":true,\"description\":\"can be AND, AND NOT, OR, or OR NOT.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0xd4nxmu81y3rn1lzcij1t759lnd\"}],\"supportSiteTargetFile\":\"n0yu3xyqnznndnn0z1v515xzfebod.htm\"}],\"supportSiteInformation\":{\"docsetId\":\"proc\",\"docsetVersion\":\"v_002\",\"docsetTargetFile\":\"p10qiuo2yicr4qn17rav8kptnjpu.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/PRINTTO.json",
    "content": "{\"name\":\"PRINTTO\",\"statements\":[{\"name\":\"PROC PRINTTO\",\"description\":\"Defines destinations, other than ODS destinations, for SAS procedure output and for the SAS log.\",\"help\":\"PROC PRINTTO &lt;*options*&gt;;\",\"arguments\":[{\"name\":\"LABEL=\",\"optional\":true,\"description\":\"provides a description for a SAS log or procedure output stored in a SAS catalog entry.\",\"help\":\"LABEL='*description*'\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0ig5pjca4ppmnn1kelr52c9z7nj\"},{\"name\":\"LOG=\",\"optional\":true,\"description\":\"routes the SAS log to a permanent external file or SAS catalog entry.\",\"help\":\"LOG=LOG | *file-specification* | *SAS-catalog-entry*\",\"type\":\"choice\",\"arguments\":[{\"name\":\"LOG\",\"description\":\"routes the SAS log to its default destination.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1pddpa6km9iryn1nn8n73ic2qtq\"},{\"name\":\"'external-file'\",\"placeholder\":true,\"description\":\"the name of an external file specified in quotation marks.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n00xpiwbs09xd5n1fqdyrm0r58je\"},{\"name\":\"log-filename\",\"placeholder\":true,\"description\":\"is an unquoted alphanumeric text string. SAS creates a log that uses log-filename.log as the log filename.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1r9d1juezq958n1ms0bm4vrzcje\"},{\"name\":\"fileref\",\"placeholder\":true,\"description\":\"a fileref previously assigned to an external file.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0m5z8vp61vm2kn17wzbsl3ao0li\"},{\"name\":\"<.LOG>\",\"description\":\"a SAS catalog entry stored in the SAS library and SAS catalog specified.\",\"help\":\"*libref.catalog.entry*&lt;.LOG&gt;\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"n0valsnufie8zon1kqjjeje4ouc1\"},{\"name\":\"fileref\",\"placeholder\":true,\"description\":\"a fileref previously assigned to a SAS catalog entry. See .\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1xtykpx3it53qn124eszt6txgu8\"}],\"supportSiteTargetFragment\":\"p0dr07pomblrkjn1wr4b3x6pqw9u\"},{\"name\":\"NEW\",\"optional\":true,\"description\":\"replaces the file instead of appending to it.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0n896f963mugzn16a0g8kuwxzgp\"},{\"name\":\"PRINT=\",\"optional\":true,\"aliases\":[\"FILE=\",\"NAME=\"],\"description\":\"routes procedure output to a permanent external file or SAS catalog entry or printer.\",\"help\":\"PRINT= PRINT | *file-specification* | *SAS-catalog-entry*\",\"type\":\"choice\",\"arguments\":[{\"name\":\"PRINT\",\"description\":\"routes procedure output to its default destination.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0ibi99qv1zm31n1cfv31376muo3\"},{\"name\":\"'external-file'\",\"placeholder\":true,\"description\":\"the name of an external file specified in quotation marks.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1mz3r4pdck1yhn1jssv9vuzxe3o\"},{\"name\":\"print-filename\",\"placeholder\":true,\"description\":\"is an unquoted alphanumeric text string. SAS creates a print file that uses print-filename as the print filename.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0yiq7q2ruzsjhn1eh9c2e4sk0sl\"},{\"name\":\"fileref\",\"placeholder\":true,\"description\":\"a fileref previously assigned to an external file.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p17eo20me9wp78n1tbahb8t0z3ct\"},{\"name\":\"<.OUTPUT>\",\"description\":\"a SAS catalog entry stored in the SAS library and SAS catalog specified.\",\"help\":\"*libref.catalog.entry*&lt;.OUTPUT&gt;\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"n1owgk30sydknon1nbmcf7vnrp61\"},{\"name\":\"fileref\",\"placeholder\":true,\"description\":\"a fileref previously assigned to a SAS catalog entry. See .\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1ufyaf7bi4exon1kta5g966xmg0\"}],\"supportSiteTargetFragment\":\"p05ygvy1h5gef5n1qvfih3jxtqb3\"},{\"name\":\"UNIT=\",\"optional\":true,\"description\":\"routes the output to the file identified by the fileref.\",\"help\":\"UNIT=*nn*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0s5698dz0234en1n5yonf36x42v\"}],\"supportSiteTargetFile\":\"p1hwvc03z4tqlkn1owzhzo8e7ulu.htm\"}],\"supportSiteInformation\":{\"docsetId\":\"proc\",\"docsetVersion\":\"v_002\",\"docsetTargetFile\":\"p08blwp6gwk25mn1hypjjrncx3bn.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/PROBIT.json",
    "content": "{\"name\":\"PROBIT\",\"statements\":[{\"name\":\"PROC PROBIT\",\"description\":\"The PROBIT procedure calculates maximum likelihood estimates of regression parameters and the natural (or threshold) response rate for quantal response data from biological assays or other discrete event data. This includes probit, logit, ordinal logistic, and extreme value (or gompit) regression models. † Probit analysis developed from the need to analyze qualitative (dichotomous or polytomous) dependent variables within the regression framework. Many response variables are binary by nature (yes/no), while others are measured ordinally rather than continuously (degree of severity). Collett (2003) and Agresti (2002), for example, have shown ordinary least squares (OLS) regression to be inadequate when the dependent variable is discrete. Probit or logit analyses are more appropriate in this case.\",\"help\":\"PROC PROBIT <C=rate><CVOUT><DATA=SAS-data-set><GOUT=graphics-catalog><HPROB=p><INEST=SAS-data-set><INVERSECL><LACKFIT><LOG><LOG10><NAMELEN=n><NOPRINT><OPTC><ORDER=DATA | FORMATTED | FREQ... ><OUTEST=SAS-data-set><PLOTS=ALL | CDFPLOT | IPPPLOT... ><XDATA=SAS-data-set>;     \\n\\tBY <DESCENDING><NOTSORTED> ;\\n\\n\\tCDFPLOT <ANNOTATE=SAS-data-set><CAXIS=color><VAR=variable> ...;\\n\\n\\tCLASS variables ;\\n\\n\\tEFFECTPLOT BOX CONTOUR FIT ...;\\n\\n\\tESTIMATE <ADJDFE=<SOURCE | ROW>><ADJUST=<BON | SCHEFFE | SIDAK>... ><ALPHA=number> ...;\\n\\n\\tINSET <CFILL=color><CFILLH=color><CFRAME=color> ...;\\n\\n\\tIPPPLOT <ANNOTATE=SAS-data-set><CAXIS=color><VAR=variable> ...;\\n\\n\\tLPREDPLOT <ANNOTATE=SAS-data-set><CAXIS=color><VAR=variable> ...;\\n\\n\\tLSMEANS <ADJDFE=<SOURCE | ROW>><ADJUST=<BON | DUNNETT | NELSON>... ><ALPHA=number> ...;\\n\\n\\tLSMESTIMATE <ADJDFE=<SOURCE | ROW>><ADJUST=<BON | SCHEFFE | SIDAK>... ><ALPHA=number> ...;\\n\\n\\tMODEL <AGGREGATE=variable-list><ALPHA=value><CONVERGE=value> ...;\\n\\n\\tOUTPUT OUT=SAS-data-set PROB=name STD= ...;\\n\\n\\tPREDPPLOT <ANNOTATE=SAS-data-set><CAXIS=color><VAR=variable> ...;\\n\\n\\tSLICE <ADJDFE=<SOURCE | ROW>><ADJUST=<BON | DUNNETT | NELSON>... ><ALPHA=number> ...;\\n\\n\\tSTORE <LABEL='label'> ;\\n\\n\\tTEST <CHISQ><DDF=value-list><E> ...;\\n\\n\\tWEIGHT variable;\\n\",\"arguments\":[{\"name\":\"C=\",\"optional\":true,\"description\":\"Sets the natural response rate or to provide the initial estimate of the natural response rate. The natural response rate value must be a number between 0 and 1.\",\"help\":\"C=*rate*\",\"type\":\"value\"},{\"name\":\"CVOUT\",\"optional\":true,\"description\":\"Writes the parameter estimate covariance matrix to the OUTEST= data set.\",\"type\":\"standalone\"},{\"name\":\"DATA=\",\"optional\":true,\"description\":\"Specifies the SAS data set to be used by PROC PROBIT.\",\"help\":\"DATA=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"GOUT=\",\"optional\":true,\"description\":\"Specifies a graphics catalog in which to save graphics output.\",\"help\":\"GOUT=*graphics-catalog*\",\"type\":\"dataSet\"},{\"name\":\"HPROB=\",\"optional\":true,\"description\":\"Specifies a minimum probability level for the Pearson chi-square to indicate a good fit. The default value is 0.10.\",\"help\":\"HPROB=*p*\",\"type\":\"value\"},{\"name\":\"INEST=\",\"optional\":true,\"description\":\"Specifies an input SAS data set that contains initial estimates for all the parameters in the model.\",\"help\":\"INEST=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"INVERSECL\",\"optional\":true,\"description\":\"Computes confidence limits for the values of the first continuous independent variable (such as dose) that yield selected response rates.\",\"type\":\"standalone\"},{\"name\":\"LACKFIT\",\"optional\":true,\"description\":\"Performs two goodness-of-fit tests (a Pearson chi-square test and a log-likelihood ratio chi-square test) for the fitted model.\",\"type\":\"standalone\"},{\"name\":\"LOG\",\"optional\":true,\"description\":\"Analyzes the data by replacing the first continuous independent variable with its natural logarithm.\",\"type\":\"standalone\"},{\"name\":\"LOG10\",\"optional\":true,\"description\":\"Specifies an analysis like that of the LN or LOG option, except that the common logarithm (log to the base 10) of the dose value is used rather than the natural logarithm.\",\"type\":\"standalone\"},{\"name\":\"NAMELEN=\",\"optional\":true,\"description\":\"Specifies the length of effect names in tables and output data sets to be n-characters, where n is a value between 20 and 200. The default length is 20 characters.\",\"help\":\"NAMELEN=*n*\",\"type\":\"value\"},{\"name\":\"NOPRINT\",\"optional\":true,\"description\":\"Suppresses the display of all output including graphics.\",\"type\":\"standalone\"},{\"name\":\"OPTC\",\"optional\":true,\"description\":\"Requests that the natural response rate C be estimated.\",\"type\":\"standalone\"},{\"name\":\"ORDER=\",\"optional\":true,\"description\":\"Specifies the sorting order for the levels of the classification variables specified in the CLASS statement, including the levels of the response variable.\",\"help\":\"ORDER=DATA | FORMATTED | FREQ | INTERNAL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DATA\",\"description\":\"Orders values according to their order in the input data set.\",\"type\":\"standalone\"},{\"name\":\"FORMATTED\",\"description\":\"Orders values by their ascending formatted values. This order depends on your operating environment.\",\"type\":\"standalone\"},{\"name\":\"FREQ\",\"description\":\"Orders values by descending frequency count so that levels with the most observations are listed first.\",\"type\":\"standalone\"},{\"name\":\"INTERNAL\",\"description\":\"Orders values by their unformatted values, which yields the same order as PROC SORT. This order depends on your operating environment.\",\"type\":\"standalone\"}]},{\"name\":\"OUTEST=\",\"optional\":true,\"description\":\"Specifies a SAS data set to contain the parameter estimates and, if the COVOUT option is specified, their estimated covariances.\",\"help\":\"OUTEST=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"PLOTS=\",\"optional\":true,\"aliases\":[\"PLOT=\"],\"description\":\"Specifies options that control details of the plots created by ODS Graphics. Syntax: (1) PLOT | PLOTS <=plot-request> (2) PLOT | PLOTS <=(plot-request < ...plot-request > )>\",\"help\":\"PLOTS=ALL | CDFPLOT | IPPPLOT | LPREDPLOT | NONE | PREDPPLOT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ALL\",\"description\":\"Creates all appropriate plots.\",\"type\":\"standalone\"},{\"name\":\"CDFPLOT\",\"description\":\"Syntax: CDFPLOT<(LEVEL=(character-list))> Requests the plot of predicted cumulative distribution function (CDF) of the multinomial response variable as a function of a single continuous independent variable (dose variable).\",\"type\":\"standalone\"},{\"name\":\"IPPPLOT\",\"description\":\"Requests the inverse plot of the predicted probability against the first single continuous variable (dose variable) in the MODEL statement for the binomial model.\",\"type\":\"standalone\"},{\"name\":\"LPREDPLOT\",\"description\":\"Syntax: LPREDPLOT<(LEVEL=(character-list))> Requests the plot of the linear predictor x'b against the first single continuous variable (dose variable) in the MODEL statement for either the binomial model or the multinomial model.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"Suppresses all plots.\",\"type\":\"standalone\"},{\"name\":\"PREDPPLOT\",\"description\":\"Syntax: PREDPPLOT<(LEVEL=(character-list))> Requests the plot of the predicted probability against the first single continuous variable (dose variable) in the MODEL statement for both the binomial model and the multinomial model.\",\"type\":\"standalone\"}]},{\"name\":\"XDATA=\",\"optional\":true,\"description\":\"Specifies an input SAS data set that contains values for all the independent variables in the MODEL statement and variables in the CLASS statement.\",\"help\":\"XDATA=*SAS-data-set*\",\"type\":\"dataSet\"}]},{\"name\":\"BY\",\"description\":\"You can specify a BY statement with PROC PROBIT to obtain separate analyses on observations in groups that are defined by the BY variables. When a BY statement appears, the procedure expects the input data set to be sorted in order of the BY variables. If you specify more than one BY statement, only the last one specified is used.\",\"help\":\"BY &lt;DESCENDING&gt;&lt;NOTSORTED&gt;\",\"arguments\":[{\"name\":\"DESCENDING\",\"optional\":true,\"description\":\"Specifies that the observations are sorted in descending order by the variable that immediately follows the word DESCENDING in the BY statement.\",\"type\":\"standalone\"},{\"name\":\"NOTSORTED\",\"optional\":true,\"description\":\"Specifies that observations are not necessarily sorted in alphabetic or numeric order.\",\"type\":\"standalone\"}]},{\"name\":\"CDFPLOT\",\"description\":\"The CDFPLOT statement plots the predicted cumulative distribution function (CDF) of the multinomial response variable as a function of a single continuous independent variable (dose variable). You can use this statement only after a multinomial model statement\",\"help\":\"CDFPLOT &lt;ANNOTATE=SAS-data-set&gt;&lt;CAXIS=color&gt;&lt;VAR=variable&gt; ...\",\"arguments\":[{\"name\":\"ANNOTATE=\",\"optional\":true,\"aliases\":[\"ANNO=\"],\"description\":\"Specifies an Annotate data set that enables you to add features to the CDF plot. The ANNOTATE= data set you specify in the CDFPLOT statement is used for all plots created by the statement.\",\"help\":\"ANNOTATE=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"CAXIS=\",\"optional\":true,\"aliases\":[\"CAXES=\",\"CA=\"],\"description\":\"Specifies the color used for the axes and tick marks. This option overrides any COLOR= specifications in an AXIS statement. The default is the first color in the device color list.\",\"help\":\"CAXIS=*color*\",\"type\":\"color\"},{\"name\":\"CFIT=\",\"optional\":true,\"description\":\"Specifies the color for the fitted CDF curves. The default is the first color in the device color list.\",\"help\":\"CFIT=*color*\",\"type\":\"color\"},{\"name\":\"CFRAME=\",\"optional\":true,\"aliases\":[\"CFR=\"],\"description\":\"Specifies the color for the area enclosed by the axes and frame. The area is not shaded by default.\",\"help\":\"CFRAME=*color*\",\"type\":\"color\"},{\"name\":\"CGRID=\",\"optional\":true,\"description\":\"Specifies the color for grid lines. The default is the first color in the device color list.\",\"help\":\"CGRID=*color*\",\"type\":\"color\"},{\"name\":\"CHREF=\",\"optional\":true,\"aliases\":[\"CH=\"],\"description\":\"Specifies the color for lines requested by the HREF= option. The default is the first color in the device color list.\",\"help\":\"CHREF=*color*\",\"type\":\"color\"},{\"name\":\"CLABBOX=\",\"optional\":true,\"description\":\"Specifies the color for the area enclosed by the label box for CDF curves. This area is not shaded by default.\",\"help\":\"CLABBOX=*color*\",\"type\":\"color\"},{\"name\":\"CTEXT=\",\"optional\":true,\"description\":\"Specifies the color for tick mark values and axis labels. The default is the color specified for the CTEXT= option in the most recent GOPTIONS statement.\",\"help\":\"CTEXT=*color*\",\"type\":\"color\"},{\"name\":\"CVREF=\",\"optional\":true,\"aliases\":[\"CV=\"],\"description\":\"Specifies the color for lines requested by the VREF= option. The default is the first color in the device color list.\",\"help\":\"CVREF=*color*\",\"type\":\"color\"},{\"name\":\"DESCRIPTION=\",\"optional\":true,\"aliases\":[\"DES=\"],\"description\":\"Specifies a description, up to 40 characters, that appears in the PROC GREPLAY master menu. The default is the variable name.\",\"help\":\"DESCRIPTION='*string*'\",\"type\":\"value\"},{\"name\":\"FONT=\",\"optional\":true,\"description\":\"Specifies a software font for reference line and axis labels. You can also specify fonts for axis labels in an AXIS statement. The FONT= font takes precedence over the FTEXT= font specified in the GOPTIONS statement.\",\"help\":\"FONT=*font*\",\"type\":\"value\"},{\"name\":\"HAXIS=\",\"optional\":true,\"description\":\"Specifies tick mark values for the horizontal axis; value1, value2, and value3 must be numeric, and value1 must be less than value2. The lower tick mark is value1. Tick marks are drawn at increments of value3. The last tick mark is the greatest value that does not exceed value2. If value3 is omitted, a value of 1 is used.\",\"type\":\"value\"},{\"name\":\"HEIGHT=\",\"optional\":true,\"description\":\"Specifies the height of text used outside framed areas. The default value is 3.846 (in percentage).\",\"help\":\"HEIGHT=*value*\",\"type\":\"value\"},{\"name\":\"HLOWER=\",\"optional\":true,\"description\":\"Specifies the lower limit on the horizontal axis scale. The HLOWER= option specifies value as the lower horizontal axis tick mark. The tick mark interval and the upper axis limit are determined automatically. This option has no effect if the HAXIS= option is used.\",\"help\":\"HLOWER=*value*\",\"type\":\"value\"},{\"name\":\"HOFFSET=\",\"optional\":true,\"description\":\"Specifies offset for horizontal axis. The default value is 1.\",\"help\":\"HOFFSET=*value*\",\"type\":\"value\"},{\"name\":\"HREF\",\"optional\":true,\"description\":\"Requests reference lines perpendicular to the horizontal axis. If (INTERSECT) is specified, a second reference line perpendicular to the vertical axis is drawn that intersects the fit line at the same point as the horizontal axis reference line. If a horizontal axis reference line label is specified, the intersecting vertical axis reference line is labeled with the vertical axis value.\",\"type\":\"standalone\"},{\"name\":\"HREFLABELS=\",\"optional\":true,\"aliases\":[\"HREFLABEL=\",\"HREFLAB=\"],\"description\":\"Specifies labels for the lines requested by the HREF= option. The number of labels must equal the number of lines. Enclose each label in quotes. Labels can have up to 16 characters.\",\"type\":\"value\"},{\"name\":\"HREFLABPOS=\",\"optional\":true,\"description\":\"Specifies the vertical position of the HREFLABELS= labels.\",\"help\":\"HREFLABPOS=1 | 2 | 3 | 4 | 5 | 6\",\"type\":\"choice\",\"arguments\":[{\"name\":\"1\",\"description\":\"Top of plot\",\"type\":\"standalone\"},{\"name\":\"2\",\"description\":\"Staggered from top\",\"type\":\"standalone\"},{\"name\":\"3\",\"description\":\"Bottom of plot\",\"type\":\"standalone\"},{\"name\":\"4\",\"description\":\"Staggered from bottom\",\"type\":\"standalone\"},{\"name\":\"5\",\"description\":\"Alternating from top\",\"type\":\"standalone\"},{\"name\":\"6\",\"description\":\"Alternating from bottom\",\"type\":\"standalone\"}]},{\"name\":\"HUPPER=\",\"optional\":true,\"description\":\"Specifies value as the upper horizontal axis tick mark. The tick mark interval and the lower axis limit are determined automatically. This option has no effect if the HAXIS= option is used.\",\"help\":\"HUPPER=*value*\",\"type\":\"value\"},{\"name\":\"INBORDER\",\"optional\":true,\"description\":\"Requests a border around CDF plots.\",\"type\":\"standalone\"},{\"name\":\"LEVEL=\",\"optional\":true,\"aliases\":[\"ORDINAL=\"],\"description\":\"Specifies the names of the levels for which CDF curves are requested. Names should be quoted and separated by space. If there is no correct name provided, no CDF curve is plotted.\",\"type\":\"value\"},{\"name\":\"LFIT=\",\"optional\":true,\"description\":\"Specifies a line style for fitted curves. By default, fitted curves are drawn by connecting solid lines (linetype = 1).\",\"help\":\"LFIT=*linetype*\",\"type\":\"value\"},{\"name\":\"LGRID=\",\"optional\":true,\"description\":\"Specifies a line style for all grid lines. linetype is between 1 and 46. The default is 35.\",\"help\":\"LGRID=*linetype*\",\"type\":\"value\"},{\"name\":\"LHREF=\",\"optional\":true,\"aliases\":[\"LH=\"],\"description\":\"Specifies the line type for lines requested by the HREF= option. The default is 2, which produces a dashed line.\",\"help\":\"LHREF=*linetype*\",\"type\":\"value\"},{\"name\":\"LVREF=\",\"optional\":true,\"aliases\":[\"LV=\"],\"description\":\"Specifies the line type for lines requested by the VREF= option. The default is 2, which produces a dashed line.\",\"help\":\"LVREF=*linetype*\",\"type\":\"value\"},{\"name\":\"NAME=\",\"optional\":true,\"description\":\"Specifies a name for the plot, up to eight characters, that appears in the PROC GREPLAY master menu. The default value is 'PROBIT'.\",\"help\":\"NAME='*string*'\",\"type\":\"value\"},{\"name\":\"NOFIT\",\"optional\":true,\"description\":\"Suppresses the fitted CDF curves.\",\"type\":\"standalone\"},{\"name\":\"NOFRAME\",\"optional\":true,\"description\":\"Suppresses the frame around plotting areas.\",\"type\":\"standalone\"},{\"name\":\"NOGRID\",\"optional\":true,\"description\":\"Suppresses grid lines.\",\"type\":\"standalone\"},{\"name\":\"NOHLABEL\",\"optional\":true,\"description\":\"Suppresses horizontal labels.\",\"type\":\"standalone\"},{\"name\":\"NOHTICK\",\"optional\":true,\"description\":\"Suppresses horizontal tick marks.\",\"type\":\"standalone\"},{\"name\":\"NOTHRESH\",\"optional\":true,\"description\":\"Suppresses the threshold line.\",\"type\":\"standalone\"},{\"name\":\"NOVLABEL\",\"optional\":true,\"description\":\"Suppresses vertical labels.\",\"type\":\"standalone\"},{\"name\":\"NOVTICK\",\"optional\":true,\"description\":\"Suppresses vertical tick marks.\",\"type\":\"standalone\"},{\"name\":\"THRESHLABPOS=\",\"optional\":true,\"description\":\"Specifies the horizontal position of labels for the threshold line.\",\"help\":\"THRESHLABPOS=1 | 2\",\"type\":\"choice\",\"arguments\":[{\"name\":\"1\",\"description\":\"Labels are placed to the left of the plot.\",\"type\":\"standalone\"},{\"name\":\"2\",\"description\":\"Labels are placed to the right of the plot.\",\"type\":\"standalone\"}]},{\"name\":\"VAR=\",\"optional\":true,\"description\":\"Specifies a single continuous variable (dose variable) in the independent variable list of the MODEL statement. If a VAR= variable is not specified, the first single continuous variable in the independent variable list of the MODEL statement is used. If such a variable does not exist in the independent variable list of the MODEL statement, an error is reported.\",\"help\":\"VAR=*variable*\",\"type\":\"value\"},{\"name\":\"VAXIS=\",\"optional\":true,\"description\":\"Specifies tick mark values for the vertical axis; value1, value2, and value3 must be numeric, and value1 must be less than value2. The lower tick mark is value1. Tick marks are drawn at increments of value3. The last tick mark is the greatest value that does not exceed value2. This method of specification of tick marks is not valid for logarithmic axes. If value3 is omitted, a value of 1 is used.\",\"type\":\"value\"},{\"name\":\"VAXISLABEL=\",\"optional\":true,\"description\":\"Specifies a label for the vertical axis.\",\"help\":\"VAXISLABEL='*string*'\",\"type\":\"value\"},{\"name\":\"VLOWER=\",\"optional\":true,\"description\":\"Specifies the lower limit on the vertical axis scale. The VLOWER= option specifies value as the lower vertical axis tick mark. The tick mark interval and the upper axis limit are determined automatically. This option has no effect if the VAXIS= option is used.\",\"help\":\"VLOWER=*value*\",\"type\":\"value\"},{\"name\":\"VREF=\",\"optional\":true,\"description\":\"Requests reference lines perpendicular to the vertical axis. If (INTERSECT) is specified, a second reference line perpendicular to the horizontal axis is drawn that intersects the fit line at the same point as the vertical axis reference line. If a vertical axis reference line label is specified, the intersecting horizontal axis reference line is labeled with the horizontal axis value.\",\"help\":\"VREF=*value-list*\",\"type\":\"value\"},{\"name\":\"VREFLABELS=\",\"optional\":true,\"aliases\":[\"VREFLABEL=\",\"VREFLAB=\"],\"description\":\"Specifies labels for the lines requested by the VREF= option. The number of labels must equal the number of lines. Enclose each label in quotes. Labels can have up to 16 characters.\",\"type\":\"value\"},{\"name\":\"VREFLABPOS=\",\"optional\":true,\"description\":\"Specifies the horizontal position of labels for VREF= lines.\",\"help\":\"VREFLABPOS=1 | 2\",\"type\":\"choice\",\"arguments\":[{\"name\":\"1\",\"description\":\"Labels are positioned to the left of the plot.\",\"type\":\"standalone\"},{\"name\":\"2\",\"description\":\"Labels are positioned to the right of the plot.\",\"type\":\"standalone\"}]},{\"name\":\"VUPPER=\",\"optional\":true,\"description\":\"Specifies the upper limit on the vertical axis scale. The VUPPER= option specifies value as the upper vertical axis tick mark. The tick mark interval and the lower axis limit are determined automatically. This option has no effect if the VAXIS= option is used.\",\"help\":\"VUPPER=*value*\",\"type\":\"value\"},{\"name\":\"WAXIS=\",\"optional\":true,\"description\":\"Specifies the line thickness for axes and frame. The default value is 1.\",\"help\":\"WAXIS=*n*\",\"type\":\"value\"},{\"name\":\"WFIT=\",\"optional\":true,\"description\":\"Specifies line thickness for fitted curves. The default value is 1.\",\"help\":\"WFIT=*n*\",\"type\":\"value\"},{\"name\":\"WGRID=\",\"optional\":true,\"description\":\"Specifies line thickness for grids. The default value is 1.\",\"help\":\"WGRID=*n*\",\"type\":\"value\"},{\"name\":\"WREFL=\",\"optional\":true,\"description\":\"Specifies line thickness for reference lines. The default value is 1.\",\"help\":\"WREFL=*n*\",\"type\":\"value\"}]},{\"name\":\"CLASS\",\"description\":\"The CLASS statement names the classification variables to be used in the analysis. Classification variables can be either character or numeric. Observations with zero, negative, or missing weights are not used in model estimation.\",\"help\":\"CLASS variables \"},{\"name\":\"EFFECTPLOT\",\"description\":\"The EFFECTPLOT statement produces a display of the fitted model and provides options for changing and enhancing the displays.\",\"help\":\"EFFECTPLOT BOX CONTOUR FIT ...\",\"arguments\":[{\"name\":\"BOX=\",\"description\":\"Displays a box plot of continuous response data at each level of a CLASS effect, with predicted values superimposed and connected by a line. This is an alternative to the INTERACTION plot-type.\",\"help\":\"BOX=PLOTBY= | X=\",\"type\":\"choice\",\"arguments\":[{\"name\":\"PLOTBY=\",\"type\":\"value\"},{\"name\":\"X=\",\"type\":\"value\"}]},{\"name\":\"CONTOUR=\",\"description\":\"Displays a contour plot of predicted values against two continuous covariates.\",\"help\":\"CONTOUR=PLOTBY= | X= | Y=\",\"type\":\"choice\",\"arguments\":[{\"name\":\"PLOTBY=\",\"type\":\"value\"},{\"name\":\"X=\",\"type\":\"value\"},{\"name\":\"Y=\",\"type\":\"value\"}]},{\"name\":\"FIT=\",\"description\":\"Displays a curve of predicted values versus a continuous variable.\",\"help\":\"FIT=PLOTBY= | X=\",\"type\":\"choice\",\"arguments\":[{\"name\":\"PLOTBY=\",\"type\":\"value\"},{\"name\":\"X=\",\"type\":\"value\"}]},{\"name\":\"INTERACTION=\",\"description\":\"Displays a curve of predicted values versus a continuous variable grouped by the levels of a CLASS effect.\",\"help\":\"INTERACTION=PLOTBY= | SLICEBY= | X=\",\"type\":\"choice\",\"arguments\":[{\"name\":\"PLOTBY=\",\"type\":\"value\"},{\"name\":\"SLICEBY=\",\"type\":\"value\"},{\"name\":\"X=\",\"type\":\"value\"}]},{\"name\":\"SLICEFIT=\",\"description\":\"\",\"help\":\"SLICEFIT=PLOTBY= | SLICEBY= | X=\",\"type\":\"choice\",\"arguments\":[{\"name\":\"PLOTBY=\",\"type\":\"value\"},{\"name\":\"SLICEBY=\",\"type\":\"value\"},{\"name\":\"X=\",\"type\":\"value\"}]},{\"name\":\"ALPHA=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the significance level, 0 ≥ value ≥ 1, for producing 100(1-value/2)% prediction and confidence limits. By default, value=0.05.\",\"help\":\"ALPHA=*value*\",\"type\":\"value\"},{\"name\":\"AT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"where contopt= MEAN | MIN | MAX | MIDRANGE classopt= ALL | REF varopt= contopts | number-list | classopts | ’class-level’...’class-level’]\",\"type\":\"standalone\"},{\"name\":\"ATLEN=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the maximum length (1 < n < 256) of the levels of the AT variables that are displayed in footnotes and headers. By default, up to 256 characters of the CLASS levels are displayed, and the continuous AT levels are displayed with a BEST format that has a width greater than or equal to 5, which distinguishes each level. Caution:If the levels of your AT variables are not unique when the first n characters are displayed, then the levels are combined in the plots but not in the underlying computations. Also, at most n characters for continuous AT variables are displayed.\",\"help\":\"ATLEN=*n*\",\"type\":\"value\"},{\"name\":\"ATORDER=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Uses the AT values for continuous variables in ascending or descending order as specified. By default, values are used in the order of their first appearance in the AT option.\",\"help\":\"ATORDER=ASCENDING | DESCENDING\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ASCENDING\",\"followsDelimiter\":\"/\",\"description\":\"Uses the AT values for continuous variables in ascending order\",\"type\":\"standalone\"},{\"name\":\"DESCENDING\",\"followsDelimiter\":\"/\",\"description\":\"Uses the AT values for continuous variables in descending order\",\"type\":\"standalone\"}]},{\"name\":\"CLI\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays normal (Wald) prediction limits. This option is available only for normal distributions with identity links. If your model is from a Bayesian analysis, then sampling-based intervals are computed.\",\"type\":\"standalone\"},{\"name\":\"CLM\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays confidence limits. These are computed as the normal (Wald) confidence limits for the linear predictor, and if the ILINK option is specified, the limits are also back-transformed by the inverse link function. If your model is from a Bayesian analysis, then sampling-based intervals are computed.\",\"type\":\"standalone\"},{\"name\":\"CLUSTER\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Modifies the BOX and INTERACTION plot-types by displaying the levels of the SLICEBY= effect in a side-by-side fashion. You can specify percent as a percentage of half the distance between X levels. The percent value must be between 0.1 and 1; the default percent depends on the number of X levels, the number of SLICEBY levels, and the number of PLOTBY levels for INTERACTION plot-types. Default clustering can be removed by specifying the NOCLUSTER option.\",\"type\":\"standalone\"},{\"name\":\"CONNECT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Modifies the BOX and INTERACTION plot-types by connecting the predicted values with a line. Default connecting lines can be removed by specifying the NOCONNECT option.\",\"type\":\"standalone\"},{\"name\":\"EXTEND=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Extends continuous covariate axes by value x ½range in both directions, where range is the range of the X axis.\",\"help\":\"EXTEND=DATA | &lt;*value*&gt;\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DATA\",\"followsDelimiter\":\"/\",\"description\":\"Displays curves to the range of the data within the appropriate SLICEBY=, PLOTBY=, and AT level.\",\"type\":\"standalone\"},{\"name\":\"value\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"Replace <value> with an actual value.\",\"type\":\"value\"}]},{\"name\":\"GRIDSIZE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the resolution of curves by computing the predicted values at n equally spaced x-values and specifies the resolution of surfaces by computing the predicted values on an nxn grid of points. Default values are n=200 for curves and bands, n=50 for surfaces, and n=2 for lines. If results of a Bayesian or bootstrap analysis are being displayed, then the defaults are n=500000/B, where B is the number of samples, the upper limit is equal to the usual defaults, and the lower limit equal to 20.\",\"help\":\"GRIDSIZE=*n*\",\"type\":\"value\"},{\"name\":\"ILINK\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays the fit on the scale of the inverse link function. In particular, the results are displayed on the probability scale for logistic regression. By default, a procedure displays the fit on either the link or inverse link scale.\",\"type\":\"standalone\"},{\"name\":\"INDIVIDUAL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays individual probabilities for polytomous response models with cumulative links on the scale of the inverse link function. This option is not available when the LINK option is specified, and confidence limits are not available with this option.\",\"type\":\"standalone\"},{\"name\":\"LIMITS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Invokes the CLI and CLM options.\",\"type\":\"standalone\"},{\"name\":\"LINK\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays the fit on the scale of the link function; that is, the linear predictor. Note that probabilities or observed proportions near 0 and 1 are transformed to . By default, a procedure displays the fit on either the link or inverse link scale.\",\"type\":\"standalone\"},{\"name\":\"MOFF\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Moves the offset for a Poisson regression model to the response side of the equation. If the ILINK option is also in effect, then the rate is displayed on the Y axis, while the LINK option displays the log of the rate on the Y axis. Without this option, the predicted values are computed and displayed only for the observations.\",\"type\":\"standalone\"},{\"name\":\"NCOLS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the maximum number of columns in a paneled plot. This option is not available with the BOX plot-type. The default choice of NROWS= and NCOLS= is based on the number of PLOTBY= and AT levels. If there is only one plot being displayed in a panel, then NROWS=1 and NCOLS=1 and the plots are produced as if you specified only the UNPACK option. If only two plots are displayed in a panel, then NROWS=1 and NCOLS=2. For all other cases, a 2x2, 2x3, or 3x3 panel is chosen based on how much of the last panel is used, with ties going to the larger panels. For example, if 14 plots are being created, then this requires either four 2x2 panels with 50% of the last panel filled, three 2x3 panels with 33% of the last panel filled, or two 3x3 panels with 55% of the last panel filled; in this case, the 3x3 panels are chosen.\",\"help\":\"NCOLS=*n*\",\"type\":\"value\"},{\"name\":\"NOCLI\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Suppresses the prediction limits.\",\"type\":\"standalone\"},{\"name\":\"NOCLM\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Suppresses the confidence limits.\",\"type\":\"standalone\"},{\"name\":\"NOLIMITS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Invokes the NOCLI and NOCLM options.\",\"type\":\"standalone\"},{\"name\":\"NOOBS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Suppresses the display of observations and overrides the specification of the OBS= option.\",\"type\":\"standalone\"},{\"name\":\"NROWS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the maximum number of rows in a paneled plot. This option is not available with the BOX plot-type. See the NCOLS= option for more details.\",\"help\":\"NROWS=*n*\",\"type\":\"value\"},{\"name\":\"OBS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays observations on the effect plots. An input data set is required; hence the OBS option is not available with PROC PLM. The OBS option is overridden by the NOOBS option. When the ILINK option is specified with binary response variables, then either the observed proportions or a coded value of the response is displayed. For polytomous response variables, the observed values are overlaid onto the fitted curves unless the LOCATION= option is specified. Whether observations are displayed by default or not depends upon the procedure. If the PLOTBY= option is specified, then the observations displayed on each plot are from the corresponding PLOTBY= level for classification effects; for continuous effects, all observations are displayed on every plot. The following options are available: BYAT -- subsets the observations by AT level and by the PLOTBY= level. CDISPLAY=NONE | OUTLINE | GRADIENT | OUTLINEGRADIENT controls the display of observations on contour plots. CGRADIENT=RESIDUAL | DEPENDENT specifies what the gradient-shading of the observed values on the CONTOUR plot-type represents. DEPTH=depth (you can specify 1 ≤ depth ≤ 100. By default, DEPTH=1) specifies the number of overlapping observations that can be distinguished by adjusting their transparency. DISTANCE displays observations on FIT plot-types with a color-gradient that indicates how far the observation is from the AT and PLOTBY= level. FITATCLASS -- computes fitted values only for class levels that are observed in the data set. FRINGE -- displays observations in a fringe (rug) plot at the bottom of the plot. JITTER<(FACTOR=factor SEED=seed X=x-jitter Y=y-jitter)> -- shifts (jitters) the observations. LABEL<=OBS> -- labels markers with their observation number.\",\"help\":\"OBS=BYAT | CDISPLAY= | CGRADIENT= | DEPTH= | DISTANCE | FITATCLASS | FRINGE | JITTER | FACTOR= | SEED= | X= | Y= | LABEL | LABEL= | LOCATION=\",\"type\":\"choice\",\"arguments\":[{\"name\":\"BYAT\",\"type\":\"standalone\"},{\"name\":\"CDISPLAY=\",\"type\":\"value\"},{\"name\":\"CGRADIENT=\",\"type\":\"value\"},{\"name\":\"DEPTH=\",\"type\":\"value\"},{\"name\":\"DISTANCE\",\"type\":\"standalone\"},{\"name\":\"FITATCLASS\",\"type\":\"standalone\"},{\"name\":\"FRINGE\",\"type\":\"standalone\"},{\"name\":\"JITTER\",\"type\":\"standalone\"},{\"name\":\"FACTOR=\",\"type\":\"value\"},{\"name\":\"SEED=\",\"type\":\"value\"},{\"name\":\"X=\",\"type\":\"value\"},{\"name\":\"Y=\",\"type\":\"value\"},{\"name\":\"LABEL\",\"type\":\"standalone\"},{\"name\":\"LABEL=\",\"type\":\"value\"},{\"name\":\"LOCATION=\",\"type\":\"value\"}]},{\"name\":\"PLOTBY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies a variable or CLASS effect at whose levels the predicted values are computed and the plots are displayed. You can specify the response variable as the effect for polytomous response models. The panel-type argument specifies the method in which the plots are grouped for the display. The following panel-types are available. COLUMNS specifies that the columns within each panel correspond to different levels of the PLOTBY= effect and hence the rows correspond to different AT levels. PACK specifies that plots be displayed in the panels as they are produced with no control over the placement of the PLOTBY= and AT levels. PANELS | LEVELS specifies that each level of the PLOTBY= effect begin a new panel of plots and the AT levels define the plots within the panels. ROWS specifies that the rows within each panel correspond to different levels of the PLOTBY= effect and hence the columns correspond to different AT levels.\",\"help\":\"PLOTBY=COLUMNS | PACK | PANELS | LEVELS | ROWS\",\"type\":\"choice\",\"arguments\":[{\"name\":\"COLUMNS\",\"type\":\"standalone\"},{\"name\":\"PACK\",\"type\":\"standalone\"},{\"name\":\"PANELS\",\"type\":\"standalone\"},{\"name\":\"LEVELS\",\"type\":\"standalone\"},{\"name\":\"ROWS\",\"type\":\"standalone\"}]},{\"name\":\"PLOTBYLEN=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the maximum length (1 ≤ n ≤ 256) of the levels of the PLOTBY= variables, which are displayed in footnotes and headers. By default, up to 256 characters of the CLASS levels are displayed.\",\"help\":\"PLOTBYLEN=*n*\",\"type\":\"value\"},{\"name\":\"POLYBAR\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays polytomous response data as a stacked histogram with bar heights defined by the individual predicted value. Your response variable must be the SLICEBY= variable, and the INDIVIDUAL and ILINK options must be in effect; otherwise, the option is ignored. Confidence limits are ignored.\",\"type\":\"standalone\"},{\"name\":\"PREDLABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies a label to be displayed on the Y axis. The default Y axis label is determined by your model. For the CONTOUR plot-type, this option changes the title to \\\"label for Y.\\\"\",\"help\":\"PREDLABEL=*label*\",\"type\":\"value\"},{\"name\":\"SHOWCLEGEND\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays the gradient-legend for the CONTOUR plot-type. This option has no effect when the OBS(CGRADIENT=RESIDUAL) option is also specified.\",\"type\":\"standalone\"},{\"name\":\"SLICEBY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays the fitted values at the different levels of the specified variable or CLASS effect.\",\"help\":\"SLICEBY=NONE | effect&lt;=numeric-list&gt;\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NONE\",\"followsDelimiter\":\"/\",\"description\":\"Preventing the INTERACTION plot-type from slicing by a second class covariate. Note that the SLICEBY=NONE option is not available for the SLICEFIT plot-type, since that is the same as the FIT plot-type.\",\"type\":\"standalone\"},{\"name\":\"effect\",\"followsDelimiter\":\"/\",\"description\":\"You can specify the response variable as the effect for polytomous response models. Use this option to modify SLICEFIT and INTERACTION plot-types. If you specify a continuous variable as the effect, then you can either specify a numeric-list of values at which to display that variable or, by default, five equally spaced values from the minimum variable value to its maximum are displayed.\",\"help\":\"effect&lt;=numeric-list&gt;\",\"type\":\"value\"}]},{\"name\":\"SMOOTH\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Overlays a loess smooth on the FIT plot-type for models that have only one continuous predictor. This option is not available for binary or polytomous response models.\",\"type\":\"standalone\"},{\"name\":\"UNPACK\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Suppresses paneling. By default, multiple plots can appear in some output panels. Specify UNPACK to display each plot separately.]\",\"type\":\"standalone\"},{\"name\":\"X=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies values to display on the X axis. For BOX and INTERACTION plot-types, effect can be a CLASS effect in the MODEL statement. For FIT, SLICEFIT, and CONTOUR plot-types, effect can be any continuous variable in the model.\",\"help\":\"X=*effect*\",\"type\":\"value\"},{\"name\":\"Y=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies values to display on the Y axis for the CONTOUR plot-type. The Y= argument can be any continuous variable in the model.\",\"help\":\"Y=*args*\",\"type\":\"value\"},{\"name\":\"YRANGE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays the predicted values on the Y axis in the range [min,max]. By default, when the Y axis displays predicted probabilities, the entire Y axis, [0,1], is displayed. This option is useful if your predicted probabilities are all contained in some subset of this range. This option is not available with the CONTOUR plot-type.\",\"help\":\"YRANGE=CLIP | &lt;(&lt;min&gt;&lt;,max&gt;)&gt;\",\"type\":\"choice\",\"arguments\":[{\"name\":\"CLIP\",\"followsDelimiter\":\"/\",\"description\":\"Has the same effect as specifying the minimum predicted value as min and the maximum predicted value as max.\",\"type\":\"standalone\"},{\"name\":\"<(<min><,max>)>\",\"followsDelimiter\":\"/\",\"description\":\"Replace min and max with actual values.\",\"type\":\"standalone\"}]}]},{\"name\":\"ESTIMATE\",\"description\":\"The ESTIMATE statement provides a mechanism for obtaining custom hypothesis tests.\",\"help\":\"ESTIMATE &lt;ADJDFE=&lt;SOURCE | ROW&gt;&gt;&lt;ADJUST=&lt;BON | SCHEFFE | SIDAK&gt;... &gt;&lt;ALPHA=number&gt; ...\",\"arguments\":[{\"name\":\"ADJDFE=\",\"optional\":true,\"description\":\"Specifies how denominator degrees of freedom are determined when p-values and confidence limits are adjusted for multiple comparisons with the ADJUST= option.\",\"help\":\"ADJDFE=SOURCE | ROW\",\"type\":\"choice\",\"arguments\":[{\"name\":\"SOURCE\",\"description\":\"The denominator degrees of freedom for multiplicity-adjusted results are the denominator degrees of freedom for the final effect listed in the ESTIMATE statement from the 'Type III Tests of Fixed Effects' table.\",\"type\":\"standalone\"},{\"name\":\"ROW\",\"description\":\"Useful if you want multiplicity adjustments to take into account that denominator degrees of freedom are not constant across estimates.\",\"type\":\"standalone\"}]},{\"name\":\"ADJUST=\",\"optional\":true,\"description\":\"Requests a multiple comparison adjustment for the p-values and confidence limits for the estimates.\",\"help\":\"ADJUST=BON | SCHEFFE | SIDAK | SIMULATE&lt;(simoptions)&gt; | T\",\"type\":\"choice\",\"arguments\":[{\"name\":\"BON\",\"description\":\"Bonferroni adjustment\",\"type\":\"standalone\"},{\"name\":\"SCHEFFE\",\"description\":\"Scheffe's adjustment\",\"type\":\"standalone\"},{\"name\":\"SIDAK\",\"description\":\"Sidak adjustment\",\"type\":\"standalone\"},{\"name\":\"SIMULATE\",\"description\":\"Computes adjusted p-values and confidence limits from the simulated distribution of the maximum or maximum absolute value of a multivariate t random vector.\",\"help\":\"SIMULATE&lt;(simoptions)&gt;\",\"type\":\"standalone\"},{\"name\":\"T\",\"description\":\"The default, which really signifies no adjustment for multiple comparisons.\",\"type\":\"standalone\"}]},{\"name\":\"ALPHA=\",\"optional\":true,\"description\":\"Requests that a t-type confidence interval be constructed with confidence level 1-number. The value of number must be between 0 and 1; the default is 0.05.\",\"help\":\"ALPHA=*number*\",\"type\":\"value\"},{\"name\":\"BYCATEGORY\",\"optional\":true,\"aliases\":[\"BYCAT\"],\"description\":\"Requests that in models for nominal data (generalized logit models) estimates be reported separately for each category.\",\"type\":\"standalone\"},{\"name\":\"CL\",\"optional\":true,\"description\":\"Requests that t-type confidence limits be constructed.\",\"type\":\"standalone\"},{\"name\":\"DF=\",\"optional\":true,\"description\":\"Specifies the degrees of freedom for the t test and confidence limits.\",\"help\":\"DF=*number*\",\"type\":\"value\"},{\"name\":\"DIVISOR=\",\"optional\":true,\"description\":\"Specifies a list of values by which to divide the coefficients so that fractional coefficients can be entered as integer numerators.\",\"help\":\"DIVISOR=*value-list*\",\"type\":\"value\"},{\"name\":\"E\",\"optional\":true,\"description\":\"Requests that the L matrix coefficients be displayed.\",\"type\":\"standalone\"},{\"name\":\"EXP\",\"optional\":true,\"description\":\"Requests exponentiation of the estimate.\",\"type\":\"standalone\"},{\"name\":\"GROUP\",\"optional\":true,\"description\":\"Sets up random-effect contrasts between different groups when a GROUP= variable appears in the RANDOM statement.\",\"type\":\"standalone\"},{\"name\":\"ILINK\",\"optional\":true,\"description\":\"Requests that the estimate and its standard error are also reported on the scale of the mean (the inverse linked scale).\",\"type\":\"standalone\"},{\"name\":\"LOWER\",\"optional\":true,\"aliases\":[\"LOWERTAILED\"],\"description\":\"Requests that the p-value for the t test be based only on values less than the test statistic.\",\"type\":\"standalone\"},{\"name\":\"SINGULAR=\",\"optional\":true,\"description\":\"Tunes the estimability checking as documented for the CONTRAST statement.\",\"help\":\"SINGULAR=*number*\",\"type\":\"value\"},{\"name\":\"STEPDOWN\",\"optional\":true,\"description\":\"Requests that multiplicity adjustments for the p-values of estimates be further adjusted in a step-down fashion.\",\"type\":\"standalone\"},{\"name\":\"SUBJECT\",\"optional\":true,\"description\":\"Sets up random-effect contrasts between different subjects when a SUBJECT= variable appears in the RANDOM statement.\",\"type\":\"standalone\"},{\"name\":\"UPPER\",\"optional\":true,\"aliases\":[\"UPPERTAILED\"],\"description\":\"Requests that the p-value for the t test be based only on values greater than the test statistic.\",\"type\":\"standalone\"}]},{\"name\":\"INSET\",\"description\":\"The box or table of summary information produced on plots made with the CDFPLOT, IPPPLOT, LPREDPLOT, or PREDPPLOT statement is called an inset. You can use the INSET statement to customize both the information that is printed in the inset in box and the appearance of the inset box. To supply the information that is displayed the inset box, you specify keywords corresponding to the information you want shown.\",\"help\":\"INSET &lt;CFILL=color&gt;&lt;CFILLH=color&gt;&lt;CFRAME=color&gt; ...\",\"arguments\":[{\"name\":\"C\",\"description\":\"User-input threshold\",\"type\":\"standalone\"},{\"name\":\"CONFIDENCE\",\"description\":\"Confidence coefficient for all confidence intervals\",\"type\":\"standalone\"},{\"name\":\"DIST\",\"description\":\"Name of the distribution\",\"type\":\"standalone\"},{\"name\":\"NEVENTS\",\"description\":\"Number of events\",\"type\":\"standalone\"},{\"name\":\"NOBS\",\"description\":\"Number of observations\",\"type\":\"standalone\"},{\"name\":\"NRESPLEV\",\"description\":\"Number of levels of the response variable\",\"type\":\"standalone\"},{\"name\":\"NTRIALS\",\"description\":\"Number of trials\",\"type\":\"standalone\"},{\"name\":\"OPTC\",\"description\":\"Estimated natural threshold\",\"type\":\"standalone\"},{\"name\":\"CFILL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies color for filling box.\",\"help\":\"CFILL=*color*\",\"type\":\"color\"},{\"name\":\"CFILLH=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies color for filling box header.\",\"help\":\"CFILLH=*color*\",\"type\":\"color\"},{\"name\":\"CFRAME=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the color for the frame.\",\"help\":\"CFRAME=*color*\",\"type\":\"color\"},{\"name\":\"CHEADER=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the color for text in header.\",\"help\":\"CHEADER=CHEADER=\",\"type\":\"value\"},{\"name\":\"CTEXT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the color for text.\",\"help\":\"CTEXT=*color*\",\"type\":\"color\"},{\"name\":\"FONT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies software font for text.\",\"help\":\"FONT=*font*\",\"type\":\"value\"},{\"name\":\"HEADER=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies text for header or box title.\",\"help\":\"HEADER='*quoted-string*'\",\"type\":\"value\"},{\"name\":\"HEIGHT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the height of text.\",\"help\":\"HEIGHT=*value*\",\"type\":\"value\"},{\"name\":\"NOFRAME\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Suppresses the frame around the box.\",\"type\":\"standalone\"},{\"name\":\"POS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Determines the position of the inset. The value can be a compass point (N, NE, E, SE, S, SW, W, NW) or a pair of coordinates (x, y) enclosed in parentheses. The coordinates can be specified in axis percentage units or axis data units.\",\"type\":\"value\"},{\"name\":\"REFPOINT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the reference point for an inset that is positioned by a pair of coordinates with the POS= option.\",\"help\":\"REFPOINT=BR | BL | TR | TL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"BR\",\"followsDelimiter\":\"/\",\"description\":\"Bottom right\",\"type\":\"standalone\"},{\"name\":\"BL\",\"followsDelimiter\":\"/\",\"description\":\"Bottom left (the default)\",\"type\":\"standalone\"},{\"name\":\"TR\",\"followsDelimiter\":\"/\",\"description\":\"Top right\",\"type\":\"standalone\"},{\"name\":\"TL\",\"followsDelimiter\":\"/\",\"description\":\"Top left\",\"type\":\"standalone\"}]}]},{\"name\":\"IPPPLOT\",\"description\":\"The IPPPLOT statement plots the inverse of the predicted probability against a single continuous variable (dose variable) in the MODEL statement for the binomial model. You can only use this statement after a binomial model statement. The confidence limits for the predicted values of the dose variable are the computed fiducial limits, not the inverse of the confidence limits of the predicted probabilities.\",\"help\":\"IPPPLOT &lt;ANNOTATE=SAS-data-set&gt;&lt;CAXIS=color&gt;&lt;VAR=variable&gt; ...\",\"arguments\":[{\"name\":\"ANNOTATE=\",\"optional\":true,\"aliases\":[\"ANNO=\"],\"description\":\"Specifies an Annotate data set that enables you to add features to the IPP plot. The ANNOTATE= data set you specify in the IPPPLOT statement is used for all plots created by the statement.\",\"help\":\"ANNOTATE=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"CAXIS=\",\"optional\":true,\"aliases\":[\"CAXES=\",\"CA=\"],\"description\":\"Specifies the color used for the axes and tick marks. This option overrides any COLOR= specifications in an AXIS statement. The default is the first color in the device color list.\",\"help\":\"CAXIS=*color*\",\"type\":\"color\"},{\"name\":\"CFIT=\",\"optional\":true,\"description\":\"Specifies the color for the fitted IPP curves. The default is the first color in the device color list.\",\"help\":\"CFIT=*color*\",\"type\":\"color\"},{\"name\":\"CFRAME=\",\"optional\":true,\"aliases\":[\"CFR=\"],\"description\":\"Specifies the color for the area enclosed by the axes and frame. The area is not shaded by default.\",\"help\":\"CFRAME=*color*\",\"type\":\"color\"},{\"name\":\"CGRID=\",\"optional\":true,\"description\":\"Specifies the color for grid lines. The default is the first color in the device color list.\",\"help\":\"CGRID=*color*\",\"type\":\"color\"},{\"name\":\"CHREF=\",\"optional\":true,\"aliases\":[\"CH=\"],\"description\":\"Specifies the color for lines requested by the HREF= option. The default is the first color in the device color list.\",\"help\":\"CHREF=*color*\",\"type\":\"color\"},{\"name\":\"CTEXT=\",\"optional\":true,\"description\":\"Specifies the color for tick mark values and axis labels. The default is the color specified for the CTEXT= option in the most recent GOPTIONS statement.\",\"help\":\"CTEXT=*color*\",\"type\":\"color\"},{\"name\":\"CVREF=\",\"optional\":true,\"aliases\":[\"CV=\"],\"description\":\"Specifies the color for lines requested by the VREF= option. The default is the first color in the device color list.\",\"help\":\"CVREF=*color*\",\"type\":\"color\"},{\"name\":\"DESCRIPTION=\",\"optional\":true,\"aliases\":[\"DES=\"],\"description\":\"Specifies a description, up to 40 characters, that appears in the PROC GREPLAY master menu. The default is the variable name.\",\"help\":\"DESCRIPTION='*string*'\",\"type\":\"value\"},{\"name\":\"FONT=\",\"optional\":true,\"description\":\"Specifies a software font for reference line and axis labels. You can also specify fonts for axis labels in an AXIS statement. The FONT= font takes precedence over the FTEXT= font specified in the GOPTIONS statement.\",\"help\":\"FONT=*font*\",\"type\":\"value\"},{\"name\":\"HAXIS=\",\"optional\":true,\"description\":\"Specifies tick mark values for the horizontal axis; value1, value2, and value3 must be numeric, and value1 must be less than value2. The lower tick mark is value1. Tick marks are drawn at increments of value3. The last tick mark is the greatest value that does not exceed value2. If value3 is omitted, a value of 1 is used.\",\"type\":\"value\"},{\"name\":\"HEIGHT=\",\"optional\":true,\"description\":\"Specifies the height of text used outside framed areas. The default value is 3.846 (in percentage).\",\"help\":\"HEIGHT=*value*\",\"type\":\"value\"},{\"name\":\"HLOWER=\",\"optional\":true,\"description\":\"Specifies the lower limit on the horizontal axis scale. The HLOWER= option specifies value as the lower horizontal axis tick mark. The tick mark interval and the upper axis limit are determined automatically. This option has no effect if the HAXIS= option is used.\",\"help\":\"HLOWER=*value*\",\"type\":\"value\"},{\"name\":\"HOFFSET=\",\"optional\":true,\"description\":\"Specifies offset for horizontal axis. The default value is 1.\",\"help\":\"HOFFSET=*value*\",\"type\":\"value\"},{\"name\":\"HREF=\",\"optional\":true,\"description\":\"Requests reference lines perpendicular to the horizontal axis. If (INTERSECT) is specified, a second reference line perpendicular to the vertical axis is drawn that intersects the fit line at the same point as the horizontal axis reference line. If a horizontal axis reference line label is specified, the intersecting vertical axis reference line is labeled with the vertical axis value.\",\"help\":\"HREF=INTERSECT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"INTERSECT\",\"type\":\"standalone\"}]},{\"name\":\"HREFLABELS=\",\"optional\":true,\"aliases\":[\"HREFLABEL=\",\"HREFLAB=\"],\"description\":\"Specifies labels for the lines requested by the HREF= option. The number of labels must equal the number of lines. Enclose each label in quotes. Labels can have up to 16 characters.\",\"type\":\"value\"},{\"name\":\"HREFLABPOS=\",\"optional\":true,\"description\":\"Specifies the vertical position of the HREFLABELS= labels.\",\"help\":\"HREFLABPOS=1 | 2 | 3 | 4 | 5 | 6\",\"type\":\"choice\",\"arguments\":[{\"name\":\"1\",\"description\":\"Top of plot\",\"type\":\"standalone\"},{\"name\":\"2\",\"description\":\"Staggered from top\",\"type\":\"standalone\"},{\"name\":\"3\",\"description\":\"Bottom of plot\",\"type\":\"standalone\"},{\"name\":\"4\",\"description\":\"Staggered from bottom\",\"type\":\"standalone\"},{\"name\":\"5\",\"description\":\"Alternating from top\",\"type\":\"standalone\"},{\"name\":\"6\",\"description\":\"Alternating from bottom\",\"type\":\"standalone\"}]},{\"name\":\"HUPPER=\",\"optional\":true,\"description\":\"Specifies value as the upper horizontal axis tick mark. The tick mark interval and the lower axis limit are determined automatically. This option has no effect if the HAXIS= option is used.\",\"help\":\"HUPPER=*value*\",\"type\":\"value\"},{\"name\":\"INBORDER\",\"optional\":true,\"description\":\"Requests a border around IPP plots.\",\"type\":\"standalone\"},{\"name\":\"LFIT=\",\"optional\":true,\"description\":\"Specifies a line style for fitted curves. By default, fitted curves are drawn by connecting solid lines (linetype = 1).\",\"help\":\"LFIT=*linetype*\",\"type\":\"value\"},{\"name\":\"LGRID=\",\"optional\":true,\"description\":\"Specifies a line style for all grid lines. linetype is between 1 and 46. The default is 35.\",\"help\":\"LGRID=*linetype*\",\"type\":\"value\"},{\"name\":\"LHREF=\",\"optional\":true,\"aliases\":[\"LH=\"],\"description\":\"Specifies the line type for lines requested by the HREF= option. The default is 2, which produces a dashed line.\",\"help\":\"LHREF=*linetype*\",\"type\":\"value\"},{\"name\":\"LVREF=\",\"optional\":true,\"aliases\":[\"LV=\"],\"description\":\"Specifies the line type for lines requested by the VREF= option. The default is 2, which produces a dashed line.\",\"help\":\"LVREF=*linetype*\",\"type\":\"value\"},{\"name\":\"NAME=\",\"optional\":true,\"description\":\"Specifies a name for the plot, up to eight characters, that appears in the PROC GREPLAY master menu. The default value is 'PROBIT'.\",\"help\":\"NAME='*string*'\",\"type\":\"value\"},{\"name\":\"NOFIT\",\"optional\":true,\"description\":\"Suppresses the fitted IPP curves.\",\"type\":\"standalone\"},{\"name\":\"NOFRAME\",\"optional\":true,\"description\":\"Suppresses the frame around plotting areas.\",\"type\":\"standalone\"},{\"name\":\"NOGRID\",\"optional\":true,\"description\":\"Suppresses grid lines.\",\"type\":\"standalone\"},{\"name\":\"NOHLABEL\",\"optional\":true,\"description\":\"Suppresses horizontal labels.\",\"type\":\"standalone\"},{\"name\":\"NOHTICK\",\"optional\":true,\"description\":\"Suppresses horizontal tick marks.\",\"type\":\"standalone\"},{\"name\":\"NOTHRESH\",\"optional\":true,\"description\":\"Suppresses the threshold line.\",\"type\":\"standalone\"},{\"name\":\"NOVLABEL\",\"optional\":true,\"description\":\"Suppresses vertical labels.\",\"type\":\"standalone\"},{\"name\":\"NOVTICK\",\"optional\":true,\"description\":\"Suppresses vertical tick marks.\",\"type\":\"standalone\"},{\"name\":\"THRESHLABPOS=\",\"optional\":true,\"description\":\"Specifies the horizontal position of labels for the threshold line.\",\"help\":\"THRESHLABPOS=1 | 2\",\"type\":\"choice\",\"arguments\":[{\"name\":\"1\",\"description\":\"Labels are placed to the left of the plot.\",\"type\":\"standalone\"},{\"name\":\"2\",\"description\":\"Labels are placed to the right of the plot.\",\"type\":\"standalone\"}]},{\"name\":\"VAR=\",\"optional\":true,\"description\":\"Specifies a single continuous variable (dose variable) in the independent variable list of the MODEL statement. If a VAR= variable is not specified, the first single continuous variable in the independent variable list of the MODEL statement is used. If such a variable does not exist in the independent variable list of the MODEL statement, an error is reported.\",\"help\":\"VAR=*variable*\",\"type\":\"value\"},{\"name\":\"VAXIS=\",\"optional\":true,\"description\":\"Specifies tick mark values for the vertical axis; value1, value2, and value3 must be numeric, and value1 must be less than value2. The lower tick mark is value1. Tick marks are drawn at increments of value3. The last tick mark is the greatest value that does not exceed value2. This method of specification of tick marks is not valid for logarithmic axes. If value3 is omitted, a value of 1 is used.\",\"type\":\"value\"},{\"name\":\"VAXISLABEL=\",\"optional\":true,\"description\":\"Specifies a label for the vertical axis.\",\"help\":\"VAXISLABEL='*string*'\",\"type\":\"value\"},{\"name\":\"VLOWER=\",\"optional\":true,\"description\":\"Specifies the lower limit on the vertical axis scale. The VLOWER= option specifies value as the lower vertical axis tick mark. The tick mark interval and the upper axis limit are determined automatically. This option has no effect if the VAXIS= option is used.\",\"help\":\"VLOWER=*value*\",\"type\":\"value\"},{\"name\":\"VREF=\",\"optional\":true,\"description\":\"Requests reference lines perpendicular to the vertical axis. If (INTERSECT) is specified, a second reference line perpendicular to the horizontal axis is drawn that intersects the fit line at the same point as the vertical axis reference line. If a vertical axis reference line label is specified, the intersecting horizontal axis reference line is labeled with the horizontal axis value.\",\"help\":\"VREF=*value-list*\",\"type\":\"value\"},{\"name\":\"VREFLABELS=\",\"optional\":true,\"aliases\":[\"VREFLABEL=\",\"VREFLAB=\"],\"description\":\"Specifies labels for the lines requested by the VREF= option. The number of labels must equal the number of lines. Enclose each label in quotes. Labels can have up to 16 characters.\",\"type\":\"value\"},{\"name\":\"VREFLABPOS=\",\"optional\":true,\"description\":\"Specifies the horizontal position of labels for VREF= lines.\",\"help\":\"VREFLABPOS=1 | 2\",\"type\":\"choice\",\"arguments\":[{\"name\":\"1\",\"description\":\"Labels are positioned to the left of the plot.\",\"type\":\"standalone\"},{\"name\":\"2\",\"description\":\"Labels are positioned to the right of the plot.\",\"type\":\"standalone\"}]},{\"name\":\"VUPPER=\",\"optional\":true,\"description\":\"Specifies the upper limit on the vertical axis scale. The VUPPER= option specifies value as the upper vertical axis tick mark. The tick mark interval and the lower axis limit are determined automatically. This option has no effect if the VAXIS= option is used.\",\"help\":\"VUPPER=*value*\",\"type\":\"value\"},{\"name\":\"WAXIS=\",\"optional\":true,\"description\":\"Specifies the line thickness for axes and frame. The default value is 1.\",\"help\":\"WAXIS=*n*\",\"type\":\"value\"},{\"name\":\"WFIT=\",\"optional\":true,\"description\":\"Specifies line thickness for fitted curves. The default value is 1.\",\"help\":\"WFIT=*n*\",\"type\":\"value\"},{\"name\":\"WGRID=\",\"optional\":true,\"description\":\"Specifies line thickness for grids. The default value is 1.\",\"help\":\"WGRID=*n*\",\"type\":\"value\"},{\"name\":\"WREFL=\",\"optional\":true,\"description\":\"Specifies line thickness for reference lines. The default value is 1.\",\"help\":\"WREFL=*n*\",\"type\":\"value\"}]},{\"name\":\"LPREDPLOT\",\"description\":\"The LPREDPLOT statement plots the linear predictor x'b against a single continuous variable (dose variable) in the MODEL statement for either the binomial model or the multinomial model. The confidence limits for the predicted values are available only for the binomial model.\",\"help\":\"LPREDPLOT &lt;ANNOTATE=SAS-data-set&gt;&lt;CAXIS=color&gt;&lt;VAR=variable&gt; ...\",\"arguments\":[{\"name\":\"ANNOTATE=\",\"optional\":true,\"aliases\":[\"ANNO=\"],\"description\":\"Specifies an Annotate data set that enables you to add features to the LPRED plot. The ANNOTATE= data set you specify in the LPREDPLOT statement is used for all plots created by the statement.\",\"help\":\"ANNOTATE=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"CAXIS=\",\"optional\":true,\"aliases\":[\"CAXES=\",\"CA=\"],\"description\":\"Specifies the color used for the axes and tick marks. This option overrides any COLOR= specifications in an AXIS statement. The default is the first color in the device color list.\",\"help\":\"CAXIS=*color*\",\"type\":\"color\"},{\"name\":\"CFIT=\",\"optional\":true,\"description\":\"Specifies the color for the fitted LPRED curves. The default is the first color in the device color list.\",\"help\":\"CFIT=*color*\",\"type\":\"color\"},{\"name\":\"CFRAME=\",\"optional\":true,\"aliases\":[\"CFR=\"],\"description\":\"Specifies the color for the area enclosed by the axes and frame. The area is not shaded by default.\",\"help\":\"CFRAME=*color*\",\"type\":\"color\"},{\"name\":\"CGRID=\",\"optional\":true,\"description\":\"Specifies the color for grid lines. The default is the first color in the device color list.\",\"help\":\"CGRID=*color*\",\"type\":\"color\"},{\"name\":\"CHREF=\",\"optional\":true,\"aliases\":[\"CH=\"],\"description\":\"Specifies the color for lines requested by the HREF= option. The default is the first color in the device color list.\",\"help\":\"CHREF=*color*\",\"type\":\"color\"},{\"name\":\"CTEXT=\",\"optional\":true,\"description\":\"Specifies the color for tick mark values and axis labels. The default is the color specified for the CTEXT= option in the most recent GOPTIONS statement.\",\"help\":\"CTEXT=*color*\",\"type\":\"color\"},{\"name\":\"CVREF=\",\"optional\":true,\"aliases\":[\"CV=\"],\"description\":\"Specifies the color for lines requested by the VREF= option. The default is the first color in the device color list.\",\"help\":\"CVREF=*color*\",\"type\":\"color\"},{\"name\":\"DESCRIPTION=\",\"optional\":true,\"aliases\":[\"DES=\"],\"description\":\"Specifies a description, up to 40 characters, that appears in the PROC GREPLAY master menu. The default is the variable name.\",\"help\":\"DESCRIPTION='*string*'\",\"type\":\"value\"},{\"name\":\"FONT=\",\"optional\":true,\"description\":\"Specifies a software font for reference line and axis labels. You can also specify fonts for axis labels in an AXIS statement. The FONT= font takes precedence over the FTEXT= font specified in the GOPTIONS statement.\",\"help\":\"FONT=*font*\",\"type\":\"value\"},{\"name\":\"HAXIS=\",\"optional\":true,\"description\":\"Specifies tick mark values for the horizontal axis; value1, value2, and value3 must be numeric, and value1 must be less than value2. The lower tick mark is value1. Tick marks are drawn at increments of value3. The last tick mark is the greatest value that does not exceed value2. If value3 is omitted, a value of 1 is used.\",\"type\":\"value\"},{\"name\":\"HEIGHT=\",\"optional\":true,\"description\":\"Specifies the height of text used outside framed areas. The default value is 3.846 (in percentage).\",\"help\":\"HEIGHT=*value*\",\"type\":\"value\"},{\"name\":\"HLOWER=\",\"optional\":true,\"description\":\"Specifies the lower limit on the horizontal axis scale. The HLOWER= option specifies value as the lower horizontal axis tick mark. The tick mark interval and the upper axis limit are determined automatically. This option has no effect if the HAXIS= option is used.\",\"help\":\"HLOWER=*value*\",\"type\":\"value\"},{\"name\":\"HOFFSET=\",\"optional\":true,\"description\":\"Specifies offset for horizontal axis. The default value is 1.\",\"help\":\"HOFFSET=*value*\",\"type\":\"value\"},{\"name\":\"HREF=\",\"optional\":true,\"description\":\"Requests reference lines perpendicular to the horizontal axis. If (INTERSECT) is specified, a second reference line perpendicular to the vertical axis is drawn that intersects the fit line at the same point as the horizontal axis reference line. If a horizontal axis reference line label is specified, the intersecting vertical axis reference line is labeled with the vertical axis value.\",\"help\":\"HREF=INTERSECT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"INTERSECT\",\"type\":\"standalone\"}]},{\"name\":\"HREFLABELS=\",\"optional\":true,\"aliases\":[\"HREFLABEL=\",\"HREFLAB=\"],\"description\":\"Specifies labels for the lines requested by the HREF= option. The number of labels must equal the number of lines. Enclose each label in quotes. Labels can have up to 16 characters.\",\"type\":\"value\"},{\"name\":\"HREFLABPOS=\",\"optional\":true,\"description\":\"Specifies the vertical position of the HREFLABELS= labels.\",\"help\":\"HREFLABPOS=1 | 2 | 3 | 4 | 5 | 6\",\"type\":\"choice\",\"arguments\":[{\"name\":\"1\",\"description\":\"Top of plot\",\"type\":\"standalone\"},{\"name\":\"2\",\"description\":\"Staggered from top\",\"type\":\"standalone\"},{\"name\":\"3\",\"description\":\"Bottom of plot\",\"type\":\"standalone\"},{\"name\":\"4\",\"description\":\"Staggered from bottom\",\"type\":\"standalone\"},{\"name\":\"5\",\"description\":\"Alternating from top\",\"type\":\"standalone\"},{\"name\":\"6\",\"description\":\"Alternating from bottom\",\"type\":\"standalone\"}]},{\"name\":\"HUPPER=\",\"optional\":true,\"description\":\"Specifies value as the upper horizontal axis tick mark. The tick mark interval and the lower axis limit are determined automatically. This option has no effect if the HAXIS= option is used.\",\"help\":\"HUPPER=*value*\",\"type\":\"value\"},{\"name\":\"INBORDER\",\"optional\":true,\"description\":\"Requests a border around LPRED plots.\",\"type\":\"standalone\"},{\"name\":\"LEVEL=\",\"optional\":true,\"aliases\":[\"ORDINAL=\"],\"description\":\"Specifies the names of the levels for which LPRED curves are requested. Names should be quoted and separated by space. If there is no correct name provided, no LPRED curve is plotted.\",\"type\":\"value\"},{\"name\":\"LFIT=\",\"optional\":true,\"description\":\"Specifies a line style for fitted curves. By default, fitted curves are drawn by connecting solid lines (linetype = 1).\",\"help\":\"LFIT=*linetype*\",\"type\":\"value\"},{\"name\":\"LGRID=\",\"optional\":true,\"description\":\"Specifies a line style for all grid lines. linetype is between 1 and 46. The default is 35.\",\"help\":\"LGRID=*linetype*\",\"type\":\"value\"},{\"name\":\"LHREF=\",\"optional\":true,\"aliases\":[\"LH=\"],\"description\":\"Specifies the line type for lines requested by the HREF= option. The default is 2, which produces a dashed line.\",\"help\":\"LHREF=*linetype*\",\"type\":\"value\"},{\"name\":\"LVREF=\",\"optional\":true,\"aliases\":[\"LV=\"],\"description\":\"Specifies the line type for lines requested by the VREF= option. The default is 2, which produces a dashed line.\",\"help\":\"LVREF=*linetype*\",\"type\":\"value\"},{\"name\":\"NAME=\",\"optional\":true,\"description\":\"Specifies a name for the plot, up to eight characters, that appears in the PROC GREPLAY master menu. The default value is 'PROBIT'.\",\"help\":\"NAME='*string*'\",\"type\":\"value\"},{\"name\":\"NOCONF\",\"optional\":true,\"description\":\"Suppresses confidence limits from the plot. This works only for the binomial model. Confidence limits are not plotted for the multinomial model.\",\"type\":\"standalone\"},{\"name\":\"NODATA\",\"optional\":true,\"description\":\"Suppresses observed data points from the plot. This works only for the binomial model. Data points are not plotted for the multinomial model.\",\"type\":\"standalone\"},{\"name\":\"NOFIT\",\"optional\":true,\"description\":\"Suppresses the fitted LPRED curves.\",\"type\":\"standalone\"},{\"name\":\"NOFRAME\",\"optional\":true,\"description\":\"Suppresses the frame around plotting areas.\",\"type\":\"standalone\"},{\"name\":\"NOGRID\",\"optional\":true,\"description\":\"Suppresses grid lines.\",\"type\":\"standalone\"},{\"name\":\"NOHLABEL\",\"optional\":true,\"description\":\"Suppresses horizontal labels.\",\"type\":\"standalone\"},{\"name\":\"NOHTICK\",\"optional\":true,\"description\":\"Suppresses horizontal tick marks.\",\"type\":\"standalone\"},{\"name\":\"NOTHRESH\",\"optional\":true,\"description\":\"Suppresses the threshold line.\",\"type\":\"standalone\"},{\"name\":\"NOVLABEL\",\"optional\":true,\"description\":\"Suppresses vertical labels.\",\"type\":\"standalone\"},{\"name\":\"NOVTICK\",\"optional\":true,\"description\":\"Suppresses vertical tick marks.\",\"type\":\"standalone\"},{\"name\":\"THRESHLABPOS=\",\"optional\":true,\"description\":\"Specifies the horizontal position of labels for the threshold line.\",\"help\":\"THRESHLABPOS=1 | 2\",\"type\":\"choice\",\"arguments\":[{\"name\":\"1\",\"description\":\"Labels are placed to the left of the plot.\",\"type\":\"standalone\"},{\"name\":\"2\",\"description\":\"Labels are placed to the right of the plot.\",\"type\":\"standalone\"}]},{\"name\":\"VAR=\",\"optional\":true,\"description\":\"Specifies a single continuous variable (dose variable) in the independent variable list of the MODEL statement. If a VAR= variable is not specified, the first single continuous variable in the independent variable list of the MODEL statement is used. If such a variable does not exist in the independent variable list of the MODEL statement, an error is reported.\",\"help\":\"VAR=*variable*\",\"type\":\"value\"},{\"name\":\"VAXIS=\",\"optional\":true,\"description\":\"Specifies tick mark values for the vertical axis; value1, value2, and value3 must be numeric, and value1 must be less than value2. The lower tick mark is value1. Tick marks are drawn at increments of value3. The last tick mark is the greatest value that does not exceed value2. This method of specification of tick marks is not valid for logarithmic axes. If value3 is omitted, a value of 1 is used.\",\"type\":\"value\"},{\"name\":\"VAXISLABEL=\",\"optional\":true,\"description\":\"Specifies a label for the vertical axis.\",\"help\":\"VAXISLABEL='*string*'\",\"type\":\"value\"},{\"name\":\"VLOWER=\",\"optional\":true,\"description\":\"Specifies the lower limit on the vertical axis scale. The VLOWER= option specifies value as the lower vertical axis tick mark. The tick mark interval and the upper axis limit are determined automatically. This option has no effect if the VAXIS= option is used.\",\"help\":\"VLOWER=*value*\",\"type\":\"value\"},{\"name\":\"VREF=\",\"optional\":true,\"description\":\"Requests reference lines perpendicular to the vertical axis. If (INTERSECT) is specified, a second reference line perpendicular to the horizontal axis is drawn that intersects the fit line at the same point as the vertical axis reference line. If a vertical axis reference line label is specified, the intersecting horizontal axis reference line is labeled with the horizontal axis value.\",\"help\":\"VREF=*value-list*\",\"type\":\"value\"},{\"name\":\"VREFLABELS=\",\"optional\":true,\"aliases\":[\"VREFLABEL=\",\"VREFLAB=\"],\"description\":\"Specifies labels for the lines requested by the VREF= option. The number of labels must equal the number of lines. Enclose each label in quotes. Labels can have up to 16 characters.\",\"type\":\"value\"},{\"name\":\"VREFLABPOS=\",\"optional\":true,\"description\":\"Specifies the horizontal position of labels for VREF= lines.\",\"help\":\"VREFLABPOS=1 | 2\",\"type\":\"choice\",\"arguments\":[{\"name\":\"1\",\"description\":\"Labels are positioned to the left of the plot.\",\"type\":\"standalone\"},{\"name\":\"2\",\"description\":\"Labels are positioned to the right of the plot.\",\"type\":\"standalone\"}]},{\"name\":\"VUPPER=\",\"optional\":true,\"description\":\"Specifies the upper limit on the vertical axis scale. The VUPPER= option specifies value as the upper vertical axis tick mark. The tick mark interval and the lower axis limit are determined automatically. This option has no effect if the VAXIS= option is used.\",\"help\":\"VUPPER=*value*\",\"type\":\"value\"},{\"name\":\"WAXIS=\",\"optional\":true,\"description\":\"Specifies the line thickness for axes and frame. The default value is 1.\",\"help\":\"WAXIS=*n*\",\"type\":\"value\"},{\"name\":\"WFIT=\",\"optional\":true,\"description\":\"Specifies line thickness for fitted curves. The default value is 1.\",\"help\":\"WFIT=*n*\",\"type\":\"value\"},{\"name\":\"WGRID=\",\"optional\":true,\"description\":\"Specifies line thickness for grids. The default value is 1.\",\"help\":\"WGRID=*n*\",\"type\":\"value\"},{\"name\":\"WREFL=\",\"optional\":true,\"description\":\"Specifies line thickness for reference lines. The default value is 1.\",\"help\":\"WREFL=*n*\",\"type\":\"value\"}]},{\"name\":\"LSMEANS\",\"description\":\"The LSMEANS statement computes least squares means (LS-means) of fixed effects. As in the GLM and the MIXED procedures, LS-means are predicted population margins—that is, they estimate the marginal means over a balanced population. In a sense, LS-means are to unbalanced designs as class and subclass arithmetic means are to balanced designs.\",\"help\":\"LSMEANS &lt;ADJDFE=&lt;SOURCE | ROW&gt;&gt;&lt;ADJUST=&lt;BON | DUNNETT | NELSON&gt;... &gt;&lt;ALPHA=number&gt; ...\",\"arguments\":[{\"name\":\"ADJDFE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies how denominator degrees of freedom are determined when p-values and confidence limits are adjusted for multiple comparisons with the ADJUST= option.\",\"help\":\"ADJDFE=SOURCE | ROW\",\"type\":\"choice\",\"arguments\":[{\"name\":\"SOURCE\",\"followsDelimiter\":\"/\",\"description\":\"The denominator degrees of freedom for multiplicity-adjusted results are the denominator degrees of freedom for the LS-mean effect in the \\\"Type III Tests of Fixed Effects\\\" table.\",\"type\":\"standalone\"},{\"name\":\"ROW\",\"followsDelimiter\":\"/\",\"description\":\"Useful if you want multiplicity adjustments to take into account that denominator degrees of freedom are not constant across LS-mean differences.\",\"type\":\"standalone\"}]},{\"name\":\"ADJUST=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests a multiple comparison adjustment for the p-values and confidence limits for the differences of LS-means.\",\"help\":\"ADJUST=BON | DUNNETT | NELSON | SCHEFFE | SIDAK | SIMULATE | SMM | TUKEY\",\"type\":\"choice\",\"arguments\":[{\"name\":\"BON\",\"followsDelimiter\":\"/\",\"description\":\"Bonferroni adjustment\",\"type\":\"standalone\"},{\"name\":\"DUNNETT\",\"followsDelimiter\":\"/\",\"description\":\"Dunnett adjustment (in which the procedure analyzes all differences with a control level)\",\"type\":\"standalone\"},{\"name\":\"NELSON\",\"followsDelimiter\":\"/\",\"description\":\"Nelson adjustment (in which ANOM differences are taken)\",\"type\":\"standalone\"},{\"name\":\"SCHEFFE\",\"followsDelimiter\":\"/\",\"description\":\"Scheffe's adjustment\",\"type\":\"standalone\"},{\"name\":\"SIDAK\",\"followsDelimiter\":\"/\",\"description\":\"Sidak adjustment\",\"type\":\"standalone\"},{\"name\":\"SIMULATE\",\"followsDelimiter\":\"/\",\"description\":\"Computes adjusted p-values and confidence limits from the simulated distribution of the maximum or maximum absolute value of a multivariate t random vector. Syntax: SIMULATE<(simoptions)> You can specify the following simoptions in parentheses after the ADJUST=SIMULATE option. ACC=value specifies the target accuracy radius γ of a 100(1-ε)% confidence interval for the true probability content of the estimated (1-α)th quantile. The default value is ACC=0.005. CVADJUST specifies that the quantile should be estimated by the control variate adjustment method of Hsu and Nelson (1998) instead of simply as the quantile of the simulated sample. EPS=value specifies the value ε for a 100(1-ε)% confidence interval for the true probability content of the estimated (1-α)th quantile. NSAMP=n specifies the sample size for the simulation. REPORT specifies that a report on the simulation should be displayed, including a listing of the parameters, such as γ, ε, and α, as well as an analysis of various methods for estimating or approximating the quantile. SEED=number specifies an integer used to start the pseudo-random number generator for the simulation.\",\"type\":\"standalone\"},{\"name\":\"SMM\",\"followsDelimiter\":\"/\",\"aliases\":[\"GT2\"],\"description\":\"SMM adjustment\",\"type\":\"standalone\"},{\"name\":\"TUKEY\",\"followsDelimiter\":\"/\",\"description\":\"If your data are unbalanced, PROC GLIMMIX uses the approximation described in Kramer (1956) and identifies the adjustment as \\\"Tukey-Kramer\\\" in the results.\",\"type\":\"standalone\"}]},{\"name\":\"ALPHA=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that a t-type confidence interval be constructed for each of the LS-means with confidence level (1-number)x100%. The value of number must be between 0 and 1; the default value is 0.05, corresponding to a 95% confidence interval.\",\"help\":\"ALPHA=*number*\",\"type\":\"value\"},{\"name\":\"AT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Enables you to modify the values of the covariates used in computing LS-means.\",\"help\":\"AT=MEANS\",\"type\":\"choice\",\"arguments\":[{\"name\":\"MEANS\",\"type\":\"standalone\"}]},{\"name\":\"BYLEVEL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that separate margins be computed for each level of the LSMEANS effect.\",\"type\":\"standalone\"},{\"name\":\"CL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that t-type confidence limits be constructed for each of the LS-means. The confidence level is 0.95 by default; this can be changed with the ALPHA= option.\",\"type\":\"standalone\"},{\"name\":\"CORR\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays the estimated correlation matrix of the least squares means as part of the \\\"Least Squares Means\\\" table.\",\"type\":\"standalone\"},{\"name\":\"COV\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays the estimated covariance matrix of the least squares means as part of the \\\"Least Squares Means\\\" table.\",\"type\":\"standalone\"},{\"name\":\"DF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the degrees of freedom for the t test and confidence limits.\",\"help\":\"DF=*number*\",\"type\":\"value\"},{\"name\":\"DIFF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"PDIFF=\"],\"description\":\"Requests that differences of the LS-means be displayed.\",\"help\":\"DIFF=ALL | ANOM | CONTROL | CONTROLL | CONTROLU\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ALL\",\"followsDelimiter\":\"/\",\"description\":\"Requests all pairwise differences, and it is the default.\",\"type\":\"standalone\"},{\"name\":\"ANOM\",\"followsDelimiter\":\"/\",\"description\":\"Requests differences between each LS-mean and the average LS-mean, as in the analysis of means (Ott 1967).\",\"type\":\"standalone\"},{\"name\":\"CONTROL\",\"followsDelimiter\":\"/\",\"description\":\"Requests the differences with a control, which, by default, is the first level of each of the specified LSMEANS effects.\",\"type\":\"standalone\"},{\"name\":\"CONTROLL\",\"followsDelimiter\":\"/\",\"description\":\"Tests whether the noncontrol levels are significantly smaller than the control; the upper confidence limits for the control minus the noncontrol levels are considered to be infinity and are displayed as missing.\",\"type\":\"standalone\"},{\"name\":\"CONTROLU\",\"followsDelimiter\":\"/\",\"description\":\"Tests whether the noncontrol levels are significantly larger than the control; the upper confidence limits for the noncontrol levels minus the control are considered to be infinity and are displayed as missing.\",\"type\":\"standalone\"}]},{\"name\":\"E\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that the L matrix coefficients for all LSMEANS effects be displayed.\",\"type\":\"standalone\"},{\"name\":\"ILINK\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that estimates and their standard errors in the \\\"Least Squares Means\\\" table also be reported on the scale of the mean (the inverse linked scale).\",\"type\":\"standalone\"},{\"name\":\"LINES\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Presents results of comparisons between all pairs of least squares means by listing the means in descending order and indicating nonsignificant subsets by line segments beside the corresponding LS-means.\",\"type\":\"standalone\"},{\"name\":\"OBSMARGINS\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"OM\"],\"description\":\"Specifies a potentially different weighting scheme for the computation of LS-means coefficients.\",\"type\":\"standalone\"},{\"name\":\"ODDS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that in models with logit, cumulative logit, and generalized logit link function the odds of the levels of the fixed effects are reported.\",\"type\":\"standalone\"},{\"name\":\"ODDSRATIO\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"OR\"],\"description\":\"Requests that LS-mean differences (DIFF, ADJUST= options) and simple effect comparisons (SLICEDIFF option) are also reported in terms of odds ratios.\",\"type\":\"standalone\"},{\"name\":\"PLOT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"PLOTS=\"],\"description\":\"Requests that least squares means related graphics are produced via ODS Graphics, provided that the ODS GRAPHICS statement has been specified and the plot request does not conflict with other options in the LSMEANS statement.\",\"help\":\"PLOT=ALL | ANOMPLOT | CONTROLPLOT | DIFFPLOT | MEANPLOT | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ALL\",\"followsDelimiter\":\"/\",\"description\":\"Requests that the default plots corresponding to this LSMEANS statement be produced.\",\"type\":\"standalone\"},{\"name\":\"ANOMPLOT\",\"followsDelimiter\":\"/\",\"aliases\":[\"ANOM\"],\"description\":\"Requests an analysis of means display in which least squares means are compared to an average least squares mean.\",\"type\":\"standalone\"},{\"name\":\"CONTROLPLOT\",\"followsDelimiter\":\"/\",\"aliases\":[\"CONTROL\"],\"description\":\"Requests a display in which least squares means are visually compared against a reference level.\",\"type\":\"standalone\"},{\"name\":\"DIFFPLOT\",\"followsDelimiter\":\"/\",\"aliases\":[\"DIFFOGRAM\",\"DIFF\"],\"description\":\"Requests a display of all pairwise least squares mean differences and their significance. Syntax: DIFFPLOT<(diffplot-options)> You can specify the following diffplot-options: ABS all line segments are shown on the same side of the reference line. NOABS separates comparisons according to the sign of the difference. CENTER marks the center point for each comparison. NOLINES suppresses the display of the line segments that represent the confidence bounds for the differences of the least squares means. The NOLINES option implies the CENTER option.\",\"type\":\"standalone\"},{\"name\":\"MEANPLOT\",\"followsDelimiter\":\"/\",\"description\":\"Requests displays of the least squares means. Syntax: MEANPLOT<(meanplot-options)> The following meanplot-options control the display of the least squares means: ASCENDING displays the least squares means in ascending order. This option has no effect if means are sliced or displayed in separate plots. CL displays upper and lower confidence limits for the least squares means. By default, 95% limits are drawn. CLBAND displays confidence limits as bands. This option implies the JOIN option. DESCENDING displays the least squares means in descending order. This option has no effect if means are sliced or displayed in separate plots. ILINK requests that means (and confidence limits) are displayed on the inverse linked scale. JOIN | CONNECT connects the least squares means with lines. This option is implied by the CLBAND option. SLICEBY=fixed-effect specifies an effect by which to group the means in a single plot. PLOTBY=fixed-effect specifies an effect by which to break interaction plots into separate displays.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"followsDelimiter\":\"/\",\"description\":\"Requests that no plots be produced.\",\"type\":\"standalone\"}]},{\"name\":\"SINGULAR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Tunes the estimability checking as documented for the CONTRAST statement.\",\"help\":\"SINGULAR=*number*\",\"type\":\"value\"},{\"name\":\"SLICE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies effects by which to partition interaction LSMEANS effects.\",\"help\":\"SLICE=*fixed-effect*\",\"type\":\"value\"},{\"name\":\"SLICEDIFF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"SIMPLEDIFF=\"],\"description\":\"Requests that differences of simple effects be constructed and tested against zero.\",\"type\":\"value\"},{\"name\":\"SLICEDIFFTYPE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"SIMPLEDIFFTYPE=\"],\"description\":\"Determines the type of simple effect differences produced with the SLICEDIFF= option.\",\"help\":\"SLICEDIFFTYPE=ALL | CONTROL | CONTROLL | CONTROLU\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ALL\",\"followsDelimiter\":\"/\",\"description\":\"Requests all simple effects differences, and it is the default.\",\"type\":\"standalone\"},{\"name\":\"CONTROL\",\"followsDelimiter\":\"/\",\"description\":\"Requests the differences with a control, which, by default, is the first level of each of the specified LSMEANS effects.\",\"type\":\"standalone\"},{\"name\":\"CONTROLL\",\"followsDelimiter\":\"/\",\"description\":\"Tests whether the noncontrol levels are significantly smaller than the control; the upper confidence limits for the control minus the noncontrol levels are considered to be infinity and are displayed as missing.\",\"type\":\"standalone\"},{\"name\":\"CONTROLU\",\"followsDelimiter\":\"/\",\"description\":\"Tests whether the noncontrol levels are significantly larger than the control; the upper confidence limits for the noncontrol levels minus the control are considered to be infinity and are displayed as missing.\",\"type\":\"standalone\"}]},{\"name\":\"STEPDOWN\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that multiple comparison adjustments for the p-values of LS-mean differences be further adjusted in a step-down fashion. You can specify the following step-down options in parentheses: MAXTIME=n specifies the time (in seconds) to spend computing the maximal logically consistent sequential subsets of equality hypotheses for TYPE=LOGICAL. REPORT specifies that a report on the step-down adjustment should be displayed, including a listing of the sequential subsets (Westfall 1997) and, for ADJUST=SIMULATE, the step-down simulation results.\",\"type\":\"standalone\"}]},{\"name\":\"LSMESTIMATE\",\"description\":\"The LSMESTIMATE statement provides a mechanism for obtaining custom hypothesis tests among the least squares means.\",\"help\":\"LSMESTIMATE &lt;ADJDFE=&lt;SOURCE | ROW&gt;&gt;&lt;ADJUST=&lt;BON | SCHEFFE | SIDAK&gt;... &gt;&lt;ALPHA=number&gt; ...\",\"arguments\":[{\"name\":\"ADJDFE=\",\"optional\":true,\"description\":\"Specifies how denominator degrees of freedom are determined when p-values and confidence limits are adjusted for multiple comparisons with the ADJUST= option.\",\"help\":\"ADJDFE=SOURCE | ROW\",\"type\":\"choice\",\"arguments\":[{\"name\":\"SOURCE\",\"description\":\"The denominator degrees of freedom for multiplicity-adjusted results are the denominator degrees of freedom for the LS-mean effect in the \\\"Type III Tests of Fixed Effects\\\" table.\",\"type\":\"standalone\"},{\"name\":\"ROW\",\"description\":\"Useful if you want multiplicity adjustments to take into account that denominator degrees of freedom are not constant across estimates.\",\"type\":\"standalone\"}]},{\"name\":\"ADJUST=\",\"optional\":true,\"description\":\"Requests a multiple comparison adjustment for the p-values and confidence limits for the estimates.\",\"help\":\"ADJUST=BON | SCHEFFE | SIDAK | SIMULATE | T\",\"type\":\"choice\",\"arguments\":[{\"name\":\"BON\",\"description\":\"Bonferroni adjustment\",\"type\":\"standalone\"},{\"name\":\"SCHEFFE\",\"description\":\"Scheffe's adjustment\",\"type\":\"standalone\"},{\"name\":\"SIDAK\",\"description\":\"Sidak adjustment\",\"type\":\"standalone\"},{\"name\":\"SIMULATE\",\"description\":\"Computes adjusted p-values and confidence limits from the simulated distribution of the maximum or maximum absolute value of a multivariate t random vector. Syntax: SIMULATE<(simoptions)> You can specify the following simoptions in parentheses after the ADJUST=SIMULATE option. ACC=value specifies the target accuracy radius γ of a 100(1-ε)% confidence interval for the true probability content of the estimated (1-α)th quantile. The default value is ACC=0.005. CVADJUST specifies that the quantile should be estimated by the control variate adjustment method of Hsu and Nelson (1998) instead of simply as the quantile of the simulated sample. EPS=value specifies the value ε for a 100(1-ε)% confidence interval for the true probability content of the estimated (1-α)th quantile. NSAMP=n specifies the sample size for the simulation. REPORT specifies that a report on the simulation should be displayed, including a listing of the parameters, such as γ, ε, and α, as well as an analysis of various methods for estimating or approximating the quantile. SEED=number specifies an integer used to start the pseudo-random number generator for the simulation.\",\"type\":\"standalone\"},{\"name\":\"T\",\"description\":\"The default, which really signifies no adjustment for multiple comparisons.\",\"type\":\"standalone\"}]},{\"name\":\"ALPHA=\",\"optional\":true,\"description\":\"Requests that a t-type confidence interval be constructed with confidence level 1-number. The value of number must be between 0 and 1; the default is 0.05.\",\"help\":\"ALPHA=*number*\",\"type\":\"value\"},{\"name\":\"AT=\",\"optional\":true,\"description\":\"Enables you to modify the values of the covariates used in computing LS-means.\",\"help\":\"AT=MEANS\",\"type\":\"choice\",\"arguments\":[{\"name\":\"MEANS\",\"type\":\"standalone\"}]},{\"name\":\"BYLEVEL\",\"optional\":true,\"description\":\"Requests that PROC GLIMMIX compute separate margins for each level of the LSMEANS effect.\",\"type\":\"standalone\"},{\"name\":\"CHISQ\",\"optional\":true,\"description\":\"Requests that chi-square tests be performed in addition to F tests, when you request an F test with the FTEST option.\",\"type\":\"standalone\"},{\"name\":\"CL\",\"optional\":true,\"description\":\"Requests that t-type confidence limits be constructed.\",\"type\":\"standalone\"},{\"name\":\"CORR\",\"optional\":true,\"description\":\"Displays the estimated correlation matrix of the linear combination of the least squares means.\",\"type\":\"standalone\"},{\"name\":\"COV\",\"optional\":true,\"description\":\"Displays the estimated covariance matrix of the linear combination of the least squares means.\",\"type\":\"standalone\"},{\"name\":\"DF=\",\"optional\":true,\"description\":\"Specifies the degrees of freedom for the t test and confidence limits.\",\"help\":\"DF=*number*\",\"type\":\"value\"},{\"name\":\"DIVISOR=\",\"optional\":true,\"description\":\"Specifies a list of values by which to divide the coefficients so that fractional coefficients can be entered as integer numerators.\",\"help\":\"DIVISOR=*value-list*\",\"type\":\"value\"},{\"name\":\"E\",\"optional\":true,\"description\":\"Requests that the L matrix coefficients be displayed.\",\"type\":\"standalone\"},{\"name\":\"ELSM\",\"optional\":true,\"description\":\"Requests that the K matrix coefficients be displayed.\",\"type\":\"standalone\"},{\"name\":\"EXP\",\"optional\":true,\"description\":\"Requests exponentiation of the estimate.\",\"type\":\"standalone\"},{\"name\":\"FTEST\",\"optional\":true,\"description\":\"Produces an F test that jointly tests the rows of the LSMESTIMATE against zero.\",\"type\":\"standalone\"},{\"name\":\"ILINK\",\"optional\":true,\"description\":\"Requests that the estimate and its standard error are also reported on the scale of the mean (the inverse linked scale).\",\"type\":\"standalone\"},{\"name\":\"LOWER\",\"optional\":true,\"aliases\":[\"LOWERTAILED\"],\"description\":\"Requests that the p-value for the t test be based only on values less than the test statistic.\",\"type\":\"standalone\"},{\"name\":\"OBSMARGINS\",\"optional\":true,\"aliases\":[\"OM\"],\"description\":\"Specifies a potentially different weighting scheme for the computation of LS-means coefficients.\",\"type\":\"standalone\"},{\"name\":\"SINGULAR=\",\"optional\":true,\"description\":\"Tunes the estimability checking as documented for the CONTRAST statement.\",\"help\":\"SINGULAR=*number*\",\"type\":\"value\"},{\"name\":\"STEPDOWN\",\"optional\":true,\"description\":\"Requests that multiplicity adjustments for the p-values of estimates be further adjusted in a step-down fashion. You can specify the following step-down-options in parentheses: MAXTIME=n specifies the time (in seconds) to spend computing the maximal logically consistent sequential subsets of equality hypotheses for TYPE=LOGICAL. The default is MAXTIME=60. ORDER=PVALUE ORDER=ROWS specifies the order in which the step-down tests are performed. ORDER=PVALUE is the default, with LS-mean estimates being declared significant only if all LS-mean estimates with smaller (unadjusted) p-values are significant. If you specify ORDER=ROWS, then significances are evaluated in the order in which they are specified. REPORT specifies that a report on the step-down adjustment be displayed, including a listing of the sequential subsets (Westfall 1997) and, for ADJUST=SIMULATE, the step-down simulation results.\",\"type\":\"standalone\"},{\"name\":\"UPPER\",\"optional\":true,\"aliases\":[\"UPPERTAILED\"],\"description\":\"Requests that the p-value for the t test be based only on values greater than the test statistic.\",\"type\":\"standalone\"}]},{\"name\":\"MODEL\",\"description\":\"The MODEL statement names the variables used as the response and the independent variables. Additionally, you can specify the distribution used to model the response, as well as other options. Only a single MODEL statement can be used with one invocation of the PROBIT procedure. If multiple MODEL statements are present, only the last is used. Main effects and interaction terms can be specified in the MODEL statement, as in the GLM procedure. The optional label, which must be a valid SAS name, is used to label output from the matching MODEL statement. The response can be a single variable with a value that is used to indicate the level of the observed response. Alternatively, the response can be specified as a pair of variable names separated by a slash (/). The value of the first variable, events, is the number of positive responses (or events). The value of the second variable, trials, is the number of trials. Both variables must be numeric and nonnegative, and the ratio of the first variable value to the second variable value must be between 0 and 1, inclusive. The effects following the equal sign are the covariates in the model. Higher-order effects, such as interactions and nested terms, are allowed in the list, as in the GLM procedure.\",\"help\":\"MODEL &lt;AGGREGATE=variable-list&gt;&lt;ALPHA=value&gt;&lt;CONVERGE=value&gt; ...\",\"arguments\":[{\"name\":\"AGGREGATE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the subpopulations on which the Pearson chi-square test statistic and the log-likelihood ratio chi-square test statistic (deviance) are calculated if the LACKFIT option is specified.\",\"help\":\"AGGREGATE=*variable-list*\",\"type\":\"value\"},{\"name\":\"ALPHA=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Sets the significance level for the confidence intervals for regression parameters, fiducial limits for the predicted values, and confidence intervals for the predicted probabilities. The value must be between 0 and 1. The default value is ALPHA=0.05.\",\"help\":\"ALPHA=*value*\",\"type\":\"value\"},{\"name\":\"CONVERGE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Sets the convergence criterion. Convergence is declared when the maximum change in the parameter estimates between Newton-Raphson steps is less than the value specified.\",\"help\":\"CONVERGE=*value*\",\"type\":\"value\"},{\"name\":\"COORB\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays the estimated correlation matrix of the parameter estimates.\",\"type\":\"standalone\"},{\"name\":\"COVB\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays the estimated covariance matrix of the parameter estimates.\",\"type\":\"standalone\"},{\"name\":\"DISTRIBUTION=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"DIST=\",\"D=\"],\"description\":\"Specifies the cumulative distribution function used to model the response probabilities.\",\"help\":\"DISTRIBUTION=NORMAL | LOGISTIC | EXTREMEVALUE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NORMAL\",\"followsDelimiter\":\"/\",\"description\":\"Normal distribution for the probit model\",\"type\":\"standalone\"},{\"name\":\"LOGISTIC\",\"followsDelimiter\":\"/\",\"description\":\"Logistic distribution for the probit model\",\"type\":\"standalone\"},{\"name\":\"EXTREMEVALUE\",\"followsDelimiter\":\"/\",\"description\":\"Extreme value, or Gompertz distribution for the gompit model\",\"type\":\"standalone\"}]},{\"name\":\"HPROB\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies a minimum probability level for the Pearson chi-square to indicate a good fit.\",\"type\":\"standalone\"},{\"name\":\"INITIAL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Sets initial values for the parameters in the model other than the intercept. The values must be given in the order in which the variables are listed in the MODEL statement.\",\"help\":\"INITIAL=*values*\",\"type\":\"value\"},{\"name\":\"INTERCEPT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Initializes the intercept parameter to value. By default, INTERCEPT=0.\",\"help\":\"INTERCEPT=*value*\",\"type\":\"value\"},{\"name\":\"INVERSECL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Computes confidence limits for the values of the first continuous independent variable (such as dose) that yield selected response rates.\",\"type\":\"standalone\"},{\"name\":\"ITPRINT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays the iteration history, the final evaluation of the gradient, and the second derivative matrix (Hessian).\",\"type\":\"standalone\"},{\"name\":\"LACKFIT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Performs two goodness-of-fit tests (a Pearson chi-square test and a log-likelihood ratio chi-square test) for the fitted model.\",\"type\":\"standalone\"},{\"name\":\"MAXITER=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"MAXIT=\"],\"description\":\"Specifies the maximum number of iterations to be performed in estimating the parameters. By default, MAXITER=50.\",\"help\":\"MAXITER=*value*\",\"type\":\"value\"},{\"name\":\"NOINT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Fits a model with no intercept parameter.\",\"type\":\"standalone\"},{\"name\":\"SCALE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Enables you to specify the method for estimating the dispersion parameter. To correct for overdispersion or underdispersion, the covariance matrix is multiplied by the estimate of the dispersion parameter.\",\"help\":\"SCALE=DEVIANCE | PEARSON\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DEVIANCE\",\"followsDelimiter\":\"/\",\"description\":\"Specifies that the dispersion parameter be estimated by the deviance divided by its degrees of freedom.\",\"type\":\"standalone\"},{\"name\":\"PEARSON\",\"followsDelimiter\":\"/\",\"description\":\"Specifies that the dispersion parameter be estimated by the Pearson chi-square statistic divided by its degrees of freedom. This is set as the default.\",\"type\":\"standalone\"}]},{\"name\":\"SINGULAR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the singularity criterion for determining linear dependencies in the set of independent variables.\",\"help\":\"SINGULAR=*value*\",\"type\":\"value\"}]},{\"name\":\"OUTPUT\",\"description\":\"The OUTPUT statement creates a new SAS data set containing all variables in the input data set and, optionally, the fitted probabilities, the estimate of x'β, and the estimate of its standard error. keyword=name specifies the statistics to include in the output data set and assigns names to the new variables that contain the statistics. Specify a keyword for each desired statistic, an equal sign, and the variable to contain the statistic.\",\"help\":\"OUTPUT OUT=SAS-data-set PROB=name STD= ...\",\"arguments\":[{\"name\":\"OUT=\",\"description\":\"Names the output data set. By default, the new data set is named by using the DATAn convention.\",\"help\":\"OUT=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"PROB=\",\"aliases\":[\"P=\"],\"description\":\"Cumulative probability estimates\",\"help\":\"PROB=*name*\",\"type\":\"value\"},{\"name\":\"STD=\",\"description\":\"[Statistics keyword] Standard error estimates of aj + x'b\",\"type\":\"value\"},{\"name\":\"XBETA=\",\"description\":\"[Statistics keyword] E Estimates of aj + x'β\",\"type\":\"value\"}]},{\"name\":\"PREDPPLOT\",\"description\":\"The PREDPPLOT statement plots the predicted probability against a single continuous variable (dose variable) in the MODEL statement for both the binomial model and the multinomial model. Confidence limits are available only for the binomial model. An attached box on the right side of the plot is used to label predicted probability curves with the names of their levels for the multinomial model. You can specify the color of this box by using the CLABBOX= option.\",\"help\":\"PREDPPLOT &lt;ANNOTATE=SAS-data-set&gt;&lt;CAXIS=color&gt;&lt;VAR=variable&gt; ...\",\"arguments\":[{\"name\":\"ANNOTATE=\",\"optional\":true,\"aliases\":[\"ANNO=\"],\"description\":\"Specifies an Annotate data set that enables you to add features to the PREDP plot. The ANNOTATE= data set you specify in the PREDPPLOT statement is used for all plots created by the statement.\",\"help\":\"ANNOTATE=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"CAXIS=\",\"optional\":true,\"aliases\":[\"CAXES=\",\"CA=\"],\"description\":\"Specifies the color used for the axes and tick marks. This option overrides any COLOR= specifications in an AXIS statement. The default is the first color in the device color list.\",\"help\":\"CAXIS=*color*\",\"type\":\"color\"},{\"name\":\"CFIT=\",\"optional\":true,\"description\":\"Specifies the color for the fitted PREDP curves. The default is the first color in the device color list.\",\"help\":\"CFIT=*color*\",\"type\":\"color\"},{\"name\":\"CFRAME=\",\"optional\":true,\"aliases\":[\"CFR=\"],\"description\":\"Specifies the color for the area enclosed by the axes and frame. The area is not shaded by default.\",\"help\":\"CFRAME=*color*\",\"type\":\"color\"},{\"name\":\"CGRID=\",\"optional\":true,\"description\":\"Specifies the color for grid lines. The default is the first color in the device color list.\",\"help\":\"CGRID=*color*\",\"type\":\"color\"},{\"name\":\"CHREF=\",\"optional\":true,\"aliases\":[\"CH=\"],\"description\":\"Specifies the color for lines requested by the HREF= option. The default is the first color in the device color list.\",\"help\":\"CHREF=*color*\",\"type\":\"color\"},{\"name\":\"CTEXT=\",\"optional\":true,\"description\":\"Specifies the color for tick mark values and axis labels. The default is the color specified for the CTEXT= option in the most recent GOPTIONS statement.\",\"help\":\"CTEXT=*color*\",\"type\":\"color\"},{\"name\":\"CVREF=\",\"optional\":true,\"aliases\":[\"CV=\"],\"description\":\"Specifies the color for lines requested by the VREF= option. The default is the first color in the device color list.\",\"help\":\"CVREF=*color*\",\"type\":\"color\"},{\"name\":\"DESCRIPTION=\",\"optional\":true,\"aliases\":[\"DES=\"],\"description\":\"Specifies a description, up to 40 characters, that appears in the PROC GREPLAY master menu. The default is the variable name.\",\"help\":\"DESCRIPTION='*string*'\",\"type\":\"value\"},{\"name\":\"FONT=\",\"optional\":true,\"description\":\"Specifies a software font for reference line and axis labels. You can also specify fonts for axis labels in an AXIS statement. The FONT= font takes precedence over the FTEXT= font specified in the GOPTIONS statement.\",\"help\":\"FONT=*font*\",\"type\":\"value\"},{\"name\":\"HAXIS=\",\"optional\":true,\"description\":\"Specifies tick mark values for the horizontal axis; value1, value2, and value3 must be numeric, and value1 must be less than value2. The lower tick mark is value1. Tick marks are drawn at increments of value3. The last tick mark is the greatest value that does not exceed value2. If value3 is omitted, a value of 1 is used.\",\"type\":\"value\"},{\"name\":\"HEIGHT=\",\"optional\":true,\"description\":\"Specifies the height of text used outside framed areas. The default value is 3.846 (in percentage).\",\"help\":\"HEIGHT=*value*\",\"type\":\"value\"},{\"name\":\"HLOWER=\",\"optional\":true,\"description\":\"Specifies the lower limit on the horizontal axis scale. The HLOWER= option specifies value as the lower horizontal axis tick mark. The tick mark interval and the upper axis limit are determined automatically. This option has no effect if the HAXIS= option is used.\",\"help\":\"HLOWER=*value*\",\"type\":\"value\"},{\"name\":\"HOFFSET=\",\"optional\":true,\"description\":\"Specifies offset for horizontal axis. The default value is 1.\",\"help\":\"HOFFSET=*value*\",\"type\":\"value\"},{\"name\":\"HREF=\",\"optional\":true,\"description\":\"Requests reference lines perpendicular to the horizontal axis. If (INTERSECT) is specified, a second reference line perpendicular to the vertical axis is drawn that intersects the fit line at the same point as the horizontal axis reference line. If a horizontal axis reference line label is specified, the intersecting vertical axis reference line is labeled with the vertical axis value.\",\"help\":\"HREF=INTERSECT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"INTERSECT\",\"type\":\"standalone\"}]},{\"name\":\"HREFLABELS=\",\"optional\":true,\"aliases\":[\"HREFLABEL=\",\"HREFLAB=\"],\"description\":\"Specifies labels for the lines requested by the HREF= option. The number of labels must equal the number of lines. Enclose each label in quotes. Labels can have up to 16 characters.\",\"type\":\"value\"},{\"name\":\"HREFLABPOS=\",\"optional\":true,\"description\":\"Specifies the vertical position of the HREFLABELS= labels.\",\"help\":\"HREFLABPOS=1 | 2 | 3 | 4 | 5 | 6\",\"type\":\"choice\",\"arguments\":[{\"name\":\"1\",\"description\":\"Top of plot\",\"type\":\"standalone\"},{\"name\":\"2\",\"description\":\"Staggered from top\",\"type\":\"standalone\"},{\"name\":\"3\",\"description\":\"Bottom of plot\",\"type\":\"standalone\"},{\"name\":\"4\",\"description\":\"Staggered from bottom\",\"type\":\"standalone\"},{\"name\":\"5\",\"description\":\"Alternating from top\",\"type\":\"standalone\"},{\"name\":\"6\",\"description\":\"Alternating from bottom\",\"type\":\"standalone\"}]},{\"name\":\"HUPPER=\",\"optional\":true,\"description\":\"Specifies value as the upper horizontal axis tick mark. The tick mark interval and the lower axis limit are determined automatically. This option has no effect if the HAXIS= option is used.\",\"help\":\"HUPPER=*value*\",\"type\":\"value\"},{\"name\":\"INBORDER\",\"optional\":true,\"description\":\"Requests a border around PREDP plots.\",\"type\":\"standalone\"},{\"name\":\"LEVEL=\",\"optional\":true,\"aliases\":[\"ORDINAL=\"],\"description\":\"Specifies the names of the levels for which PREDP curves are requested. Names should be quoted and separated by space. If there is no correct name provided, no PREDP curve is plotted.\",\"type\":\"value\"},{\"name\":\"LFIT=\",\"optional\":true,\"description\":\"Specifies a line style for fitted curves. By default, fitted curves are drawn by connecting solid lines (linetype = 1).\",\"help\":\"LFIT=*linetype*\",\"type\":\"value\"},{\"name\":\"LGRID=\",\"optional\":true,\"description\":\"Specifies a line style for all grid lines. linetype is between 1 and 46. The default is 35.\",\"help\":\"LGRID=*linetype*\",\"type\":\"value\"},{\"name\":\"LHREF=\",\"optional\":true,\"aliases\":[\"LH=\"],\"description\":\"Specifies the line type for lines requested by the HREF= option. The default is 2, which produces a dashed line.\",\"help\":\"LHREF=*linetype*\",\"type\":\"value\"},{\"name\":\"LVREF=\",\"optional\":true,\"aliases\":[\"LV=\"],\"description\":\"Specifies the line type for lines requested by the VREF= option. The default is 2, which produces a dashed line.\",\"help\":\"LVREF=*linetype*\",\"type\":\"value\"},{\"name\":\"NAME=\",\"optional\":true,\"description\":\"Specifies a name for the plot, up to eight characters, that appears in the PROC GREPLAY master menu. The default value is 'PROBIT'.\",\"help\":\"NAME='*string*'\",\"type\":\"value\"},{\"name\":\"NOFIT\",\"optional\":true,\"description\":\"Suppresses the fitted PREDP curves.\",\"type\":\"standalone\"},{\"name\":\"NOFRAME\",\"optional\":true,\"description\":\"Suppresses the frame around plotting areas.\",\"type\":\"standalone\"},{\"name\":\"NOGRID\",\"optional\":true,\"description\":\"Suppresses grid lines.\",\"type\":\"standalone\"},{\"name\":\"NOHLABEL\",\"optional\":true,\"description\":\"Suppresses horizontal labels.\",\"type\":\"standalone\"},{\"name\":\"NOHTICK\",\"optional\":true,\"description\":\"Suppresses horizontal tick marks.\",\"type\":\"standalone\"},{\"name\":\"NOTHRESH\",\"optional\":true,\"description\":\"Suppresses the threshold line.\",\"type\":\"standalone\"},{\"name\":\"NOVLABEL\",\"optional\":true,\"description\":\"Suppresses vertical labels.\",\"type\":\"standalone\"},{\"name\":\"NOVTICK\",\"optional\":true,\"description\":\"Suppresses vertical tick marks.\",\"type\":\"standalone\"},{\"name\":\"THRESHLABPOS=\",\"optional\":true,\"description\":\"Specifies the horizontal position of labels for the threshold line.\",\"help\":\"THRESHLABPOS=1 | 2\",\"type\":\"choice\",\"arguments\":[{\"name\":\"1\",\"description\":\"Labels are placed to the left of the plot.\",\"type\":\"standalone\"},{\"name\":\"2\",\"description\":\"Labels are placed to the right of the plot.\",\"type\":\"standalone\"}]},{\"name\":\"VAR=\",\"optional\":true,\"description\":\"Specifies a single continuous variable (dose variable) in the independent variable list of the MODEL statement. If a VAR= variable is not specified, the first single continuous variable in the independent variable list of the MODEL statement is used. If such a variable does not exist in the independent variable list of the MODEL statement, an error is reported.\",\"help\":\"VAR=*variable*\",\"type\":\"value\"},{\"name\":\"VAXIS=\",\"optional\":true,\"description\":\"Specifies tick mark values for the vertical axis; value1, value2, and value3 must be numeric, and value1 must be less than value2. The lower tick mark is value1. Tick marks are drawn at increments of value3. The last tick mark is the greatest value that does not exceed value2. This method of specification of tick marks is not valid for logarithmic axes. If value3 is omitted, a value of 1 is used.\",\"type\":\"value\"},{\"name\":\"VAXISLABEL=\",\"optional\":true,\"description\":\"Specifies a label for the vertical axis.\",\"help\":\"VAXISLABEL='*string*'\",\"type\":\"value\"},{\"name\":\"VLOWER=\",\"optional\":true,\"description\":\"Specifies the lower limit on the vertical axis scale. The VLOWER= option specifies value as the lower vertical axis tick mark. The tick mark interval and the upper axis limit are determined automatically. This option has no effect if the VAXIS= option is used.\",\"help\":\"VLOWER=*value*\",\"type\":\"value\"},{\"name\":\"VREF=\",\"optional\":true,\"description\":\"Requests reference lines perpendicular to the vertical axis. If (INTERSECT) is specified, a second reference line perpendicular to the horizontal axis is drawn that intersects the fit line at the same point as the vertical axis reference line. If a vertical axis reference line label is specified, the intersecting horizontal axis reference line is labeled with the horizontal axis value.\",\"help\":\"VREF=*value-list*\",\"type\":\"value\"},{\"name\":\"VREFLABELS=\",\"optional\":true,\"aliases\":[\"VREFLABEL=\",\"VREFLAB=\"],\"description\":\"Specifies labels for the lines requested by the VREF= option. The number of labels must equal the number of lines. Enclose each label in quotes. Labels can have up to 16 characters.\",\"type\":\"value\"},{\"name\":\"VREFLABPOS=\",\"optional\":true,\"description\":\"Specifies the horizontal position of labels for VREF= lines.\",\"help\":\"VREFLABPOS=1 | 2\",\"type\":\"choice\",\"arguments\":[{\"name\":\"1\",\"description\":\"Labels are positioned to the left of the plot.\",\"type\":\"standalone\"},{\"name\":\"2\",\"description\":\"Labels are positioned to the right of the plot.\",\"type\":\"standalone\"}]},{\"name\":\"VUPPER=\",\"optional\":true,\"description\":\"Specifies the upper limit on the vertical axis scale. The VUPPER= option specifies value as the upper vertical axis tick mark. The tick mark interval and the lower axis limit are determined automatically. This option has no effect if the VAXIS= option is used.\",\"help\":\"VUPPER=*value*\",\"type\":\"value\"},{\"name\":\"WAXIS=\",\"optional\":true,\"description\":\"Specifies the line thickness for axes and frame. The default value is 1.\",\"help\":\"WAXIS=*n*\",\"type\":\"value\"},{\"name\":\"WFIT=\",\"optional\":true,\"description\":\"Specifies line thickness for fitted curves. The default value is 1.\",\"help\":\"WFIT=*n*\",\"type\":\"value\"},{\"name\":\"WGRID=\",\"optional\":true,\"description\":\"Specifies line thickness for grids. The default value is 1.\",\"help\":\"WGRID=*n*\",\"type\":\"value\"},{\"name\":\"WREFL=\",\"optional\":true,\"description\":\"Specifies line thickness for reference lines. The default value is 1.\",\"help\":\"WREFL=*n*\",\"type\":\"value\"}]},{\"name\":\"SLICE\",\"description\":\"The SLICE statement provides a general mechanism for performing a partitioned analysis of the LS-means for an interaction. This analysis is also known as an analysis of simple effects. The SLICE statement uses the same options as the LSMEANS statement.\",\"help\":\"SLICE &lt;ADJDFE=&lt;SOURCE | ROW&gt;&gt;&lt;ADJUST=&lt;BON | DUNNETT | NELSON&gt;... &gt;&lt;ALPHA=number&gt; ...\",\"arguments\":[{\"name\":\"ADJDFE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies how denominator degrees of freedom are determined when p-values and confidence limits are adjusted for multiple comparisons with the ADJUST= option.\",\"help\":\"ADJDFE=SOURCE | ROW\",\"type\":\"choice\",\"arguments\":[{\"name\":\"SOURCE\",\"followsDelimiter\":\"/\",\"description\":\"The denominator degrees of freedom for multiplicity-adjusted results are the denominator degrees of freedom for the LS-mean effect in the \\\"Type III Tests of Fixed Effects\\\" table.\",\"type\":\"standalone\"},{\"name\":\"ROW\",\"followsDelimiter\":\"/\",\"description\":\"Useful if you want multiplicity adjustments to take into account that denominator degrees of freedom are not constant across LS-mean differences.\",\"type\":\"standalone\"}]},{\"name\":\"ADJUST=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests a multiple comparison adjustment for the p-values and confidence limits for the differences of LS-means.\",\"help\":\"ADJUST=BON | DUNNETT | NELSON | SCHEFFE | SIDAK | SIMULATE | SMM | TUKEY\",\"type\":\"choice\",\"arguments\":[{\"name\":\"BON\",\"followsDelimiter\":\"/\",\"description\":\"Bonferroni adjustment\",\"type\":\"standalone\"},{\"name\":\"DUNNETT\",\"followsDelimiter\":\"/\",\"description\":\"Dunnett adjustment (in which the procedure analyzes all differences with a control level)\",\"type\":\"standalone\"},{\"name\":\"NELSON\",\"followsDelimiter\":\"/\",\"description\":\"Nelson adjustment (in which ANOM differences are taken)\",\"type\":\"standalone\"},{\"name\":\"SCHEFFE\",\"followsDelimiter\":\"/\",\"description\":\"Scheffe's adjustment\",\"type\":\"standalone\"},{\"name\":\"SIDAK\",\"followsDelimiter\":\"/\",\"description\":\"Sidak adjustment\",\"type\":\"standalone\"},{\"name\":\"SIMULATE\",\"followsDelimiter\":\"/\",\"description\":\"Computes adjusted p-values and confidence limits from the simulated distribution of the maximum or maximum absolute value of a multivariate t random vector. Syntax: SIMULATE<(simoptions)> You can specify the following simoptions in parentheses after the ADJUST=SIMULATE option. ACC=value specifies the target accuracy radius γ of a 100(1-ε)% confidence interval for the true probability content of the estimated (1-α)th quantile. The default value is ACC=0.005. EPS=value specifies the value ε for a 100(1-ε)% confidence interval for the true probability content of the estimated (1-α)th quantile. The default value is ACC=0.005. NSAMP=n specifies the sample size for the simulation. SEED=number specifies an integer that is used to start the pseudo-random number generator for the simulation. THREADS specifies that the computational work for the simulation be divided into parallel threads, where the number of threads is the value of the SAS system option CPUCOUNT=. NOTHREADS specifies that the computational work for the simulation be performed in sequence rather than in parallel. NOTHREADS is the default. This option overrides the SAS system option THREADS|NOTHREADS.\",\"type\":\"standalone\"},{\"name\":\"SMM\",\"followsDelimiter\":\"/\",\"aliases\":[\"GT2\"],\"description\":\"SMM adjustment\",\"type\":\"standalone\"},{\"name\":\"TUKEY\",\"followsDelimiter\":\"/\",\"description\":\"If your data are unbalanced, PROC GLIMMIX uses the approximation described in Kramer (1956) and identifies the adjustment as \\\"Tukey-Kramer\\\" in the results.\",\"type\":\"standalone\"}]},{\"name\":\"ALPHA=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that a t-type confidence interval be constructed for each of the LS-means with confidence level (1-number)x100%. The value of number must be between 0 and 1; the default is 0.05.\",\"help\":\"ALPHA=*number*\",\"type\":\"value\"},{\"name\":\"AT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Modifies the values of the covariates that are used in computing LS-means. By default, all covariate effects are set equal to their mean values for computation of standard LS-means. The AT option enables you to assign arbitrary values to the covariates. Additional columns in the output table indicate the values of the covariates.\",\"help\":\"AT=MEANS\",\"type\":\"choice\",\"arguments\":[{\"name\":\"MEANS\",\"type\":\"standalone\"}]},{\"name\":\"BYLEVEL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that separate margins be computed for each level of the SLICE model-effect.\",\"type\":\"standalone\"},{\"name\":\"CL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that t-type confidence limits be constructed for each of the LS-means. The confidence level is 0.95 by default; this can be changed with the ALPHA= option.\",\"type\":\"standalone\"},{\"name\":\"CORR\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays the estimated correlation matrix of the least squares means as part of the \\\"Least Squares Means\\\" table.\",\"type\":\"standalone\"},{\"name\":\"COV\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays the estimated covariance matrix of the least squares means as part of the \\\"Least Squares Means\\\" table.\",\"type\":\"standalone\"},{\"name\":\"DF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the degrees of freedom for the t test and confidence limits. The default is the denominator degrees of freedom taken from the \\\"Type III Tests\\\" table that corresponds to the LS-means effect.\",\"help\":\"DF=*number*\",\"type\":\"value\"},{\"name\":\"DIFF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"PDIFF=\"],\"description\":\"Requests that differences of the LS-means be displayed.\",\"help\":\"DIFF=ALL | ANOM | CONTROL | CONTROLL | CONTROLU\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ALL\",\"followsDelimiter\":\"/\",\"description\":\"Requests all pairwise differences; this is the default.\",\"type\":\"standalone\"},{\"name\":\"ANOM\",\"followsDelimiter\":\"/\",\"description\":\"Requests differences between each LS-mean and the average LS-mean, as in the analysis of means (Ott 1967).\",\"type\":\"standalone\"},{\"name\":\"CONTROL\",\"followsDelimiter\":\"/\",\"description\":\"Requests the differences with a control, which, by default, is the first level of each of the specified SLICE effects.\",\"type\":\"standalone\"},{\"name\":\"CONTROLL\",\"followsDelimiter\":\"/\",\"description\":\"Tests whether the noncontrol levels are significantly smaller than the control; the upper confidence limits for the control minus the noncontrol levels are considered to be infinity and are displayed as missing.\",\"type\":\"standalone\"},{\"name\":\"CONTROLU\",\"followsDelimiter\":\"/\",\"description\":\"Tests whether the noncontrol levels are significantly larger than the control; the upper confidence limits for the noncontrol levels minus the control are considered to be infinity and are displayed as missing.\",\"type\":\"standalone\"}]},{\"name\":\"E\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that the L matrix coefficients for the SLICE effects be displayed.\",\"type\":\"standalone\"},{\"name\":\"EXP\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests exponentiation of the LS-means or LS-mean differences. When you model data with the logit, cumulative logit, or generalized logit link functions, and the estimate represents a log odds ratio or log cumulative odds ratio, the EXP option produces an odds ratio. In proportional hazards model, the exponentiation of the LS-mean differences produces estimates of hazard ratios. If you specify the CL or ALPHA= option, the (adjusted) confidence bounds are also exponentiated.\",\"type\":\"standalone\"},{\"name\":\"ILINK\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that estimates and their standard errors in the \\\"Least Squares Means\\\" table also be reported on the scale of the mean (the inverse linked scale).\",\"type\":\"standalone\"},{\"name\":\"LINES\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Presents results of comparisons between all pairs of least squares means by listing the means in descending order and indicating nonsignificant subsets by line segments beside the corresponding LS-means.\",\"type\":\"standalone\"},{\"name\":\"MEANS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies to produce the table of least squares means.\",\"type\":\"standalone\"},{\"name\":\"NOF\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Suppresses the F test for testing the mutual equality of the estimable functions in the partition.\",\"type\":\"standalone\"},{\"name\":\"NOMEANS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies not to produce the table of least squares means. This is the default.\",\"type\":\"standalone\"},{\"name\":\"OBSMARGINS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"OM=\"],\"description\":\"Specifies a potentially different weighting scheme for the computation of LS-means coefficients. The standard LS-means have equal coefficients across classification effects; however, the OM option changes these coefficients to be proportional to those found in the OM-data-set. This adjustment is reasonable when you want your inferences to apply to a population that is not necessarily balanced but has the margins that are observed in OM-data-set.\",\"type\":\"value\"},{\"name\":\"ODDSRATIO\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"OR\"],\"description\":\"Requests that LS-mean differences (DIFF, ADJUST= options) are also reported in terms of odds ratios. The ODDSRATIO option is ignored unless you use either the logit, cumulative logit, or generalized logit link function. If you specify the CL or ALPHA= option, confidence intervals for the odds ratios are also computed. These intervals are adjusted for multiplicity when you specify the ADJUST= option.\",\"type\":\"standalone\"},{\"name\":\"PDIFF\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Is the same as the DIFF option.\",\"type\":\"standalone\"},{\"name\":\"PLOT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"PLOTS=\"],\"description\":\"Requests that least squares means related graphics are produced via ODS Graphics, provided that the ODS GRAPHICS statement has been specified and the plot request does not conflict with other options in the SLICE statement.\",\"help\":\"PLOT=ALL | ANOMPLOT | BOXPLOT | CONTROLPLOT | DIFFPLOT | DISTPLOT | MEANPLOT | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ALL\",\"followsDelimiter\":\"/\",\"description\":\"Requests that the default plots corresponding to this SLICE statement be produced.\",\"type\":\"standalone\"},{\"name\":\"ANOMPLOT\",\"followsDelimiter\":\"/\",\"aliases\":[\"ANOM\"],\"description\":\"Requests an analysis of means display in which least squares means are compared to an average least squares mean.\",\"type\":\"standalone\"},{\"name\":\"BOXPLOT\",\"followsDelimiter\":\"/\",\"description\":\"Syntax: BOXPLOT<boxplot-options>> Produces box plots of the distribution of the least squares mean or least squares mean differences across a posterior sample. For example, this plot is available in procedures that support a Bayesian analysis through the BAYES statement. A separate box is generated for each estimable function, and all boxes appear on a single graph by default. You can affect the appearance of the box plot graph with the following options: ORIENTATION=VERTICAL|HORIZONTAL ORIENT=VERT|HORIZ specifies the orientation of the boxes. The default is vertical orientation of the box plots. NPANELPOS=number specifies how to break the series of box plots across multiple panels. If the NPANELPOS option is not specified, or if number equals zero, then all box plots are displayed in a single graph; this is the default.\",\"type\":\"standalone\"},{\"name\":\"CONTROLPLOT\",\"followsDelimiter\":\"/\",\"aliases\":[\"CONTROL\"],\"description\":\"Requests a display in which least squares means are visually compared against a reference level.\",\"type\":\"standalone\"},{\"name\":\"DIFFPLOT\",\"followsDelimiter\":\"/\",\"aliases\":[\"DIFFOGRAM\",\"DIFF\"],\"description\":\"Requests a display of all pairwise least squares mean differences and their significance. Syntax: DIFFPLOT<(diffplot-options)> You can specify the following diffplot-options: ABS all line segments are shown on the same side of the reference line. NOABS separates comparisons according to the sign of the difference. CENTER marks the center point for each comparison. NOLINES suppresses the display of the line segments that represent the confidence bounds for the differences of the least squares means. The NOLINES option implies the CENTER option.\",\"type\":\"standalone\"},{\"name\":\"DISTPLOT\",\"followsDelimiter\":\"/\",\"aliases\":[\"DIST\"],\"description\":\"Syntax: DISTPLOT<distplot-options> Generates panels of histograms with a kernel density overlaid if the analysis has access to a set of posterior parameter estimates. You can sepcify the following distplot-options in parentheses: BOX|NOBOX controls the display of a horizontal box plot of the estimable function’s distribution across the posterior sample below the graph. The BOX option is enabled by default. HIST|NOHIST controls the display of the histogram of the estimable function’s distribution across the posterior sample. The HIST option is enabled by default. NORMAL|NONORMAL controls the display of a normal density estimate on the graph. The NONORMAL option is enabled by default. KERNEL|NOKERNEL controls the display of a kernel density estimate on the graph. The KERNEL option is enabled by default. NROWS=number specifies the highest number of rows in a panel. The default is 3. NCOLS=number specifies the highest number of columns in a panel. The default is 3. UNPACK unpacks the panel into separate graphics.\",\"type\":\"standalone\"},{\"name\":\"MEANPLOT\",\"followsDelimiter\":\"/\",\"description\":\"Syntax: MEANPLOT<(meanplot-options)> Requests displays of the least squares means. The following meanplot-options control the display of the least squares means: ASCENDING displays the least squares means in ascending order. This option has no effect if means are sliced or displayed in separate plots. CL displays upper and lower confidence limits for the least squares means. By default, 95% limits are drawn. CLBAND displays confidence limits as bands. This option implies the JOIN option. DESCENDING displays the least squares means in descending order. This option has no effect if means are sliced or displayed in separate plots. ILINK requests that means (and confidence limits) are displayed on the inverse linked scale. JOIN | CONNECT connects the least squares means with lines. This option is implied by the CLBAND option. SLICEBY=fixed-effect specifies an effect by which to group the means in a single plot. PLOTBY=fixed-effect specifies an effect by which to break interaction plots into separate displays.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"followsDelimiter\":\"/\",\"description\":\"Requests that no plots be produced.\",\"type\":\"standalone\"}]},{\"name\":\"SEED=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the seed for the sampling-based components of the computations for the SLICE statement (for example, chi-bar-square statistics and simulated p-values). number specifies an integer that is used to start the pseudo-random-number generator for the simulation. If you do not specify a seed, or if you specify a value less than or equal to zero, the seed is generated from reading the time of day from the computer clock.\",\"help\":\"SEED=*number*\",\"type\":\"value\"},{\"name\":\"SINGULAR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Tunes the estimability checking. The value for number must be between 0 and 1; the default is 1E-4.\",\"help\":\"SINGULAR=*number*\",\"type\":\"value\"},{\"name\":\"SLICEBY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"\",\"type\":\"value\"},{\"name\":\"STEPDOWN=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that multiple comparison adjustments for the p-values of LS-mean differences be further adjusted in a step-down fashion. Step-down methods increase the power of multiple comparisons by taking advantage of the fact that a p-value is never declared significant unless all smaller p-values are also declared significant. You can specify the following step-down options in parentheses: MAXTIME=n specifies the time (in seconds) to spend computing the maximal logically consistent sequential subsets of equality hypotheses for TYPE=LOGICAL. REPORT specifies that a report on the step-down adjustment should be displayed, including a listing of the sequential subsets (Westfall 1997) and, for ADJUST=SIMULATE, the step-down simulation results.\",\"help\":\"STEPDOWN=MAXTIME= | REPORT | TYPE=\",\"type\":\"choice\",\"arguments\":[{\"name\":\"MAXTIME=\",\"type\":\"value\"},{\"name\":\"REPORT\",\"type\":\"standalone\"},{\"name\":\"TYPE=\",\"type\":\"value\"}]}]},{\"name\":\"STORE\",\"aliases\":[\"ITEMSTORE\"],\"description\":\"The STORE statement requests that the procedure save the context and results of the statistical analysis. The resulting item store is a binary file format that cannot be modified. The contents of the item store can be processed with the PLM procedure. The item-store-name is a usual one- or two-level SAS name, like the names that are used for SAS data sets. If you specify a one-level name, then the item store resides in the WORK library and is deleted at the end of the SAS session. Since item stores usually are used to perform postprocessing tasks, typical usage specifies a two-level name of the form libname.membername. If an item store by the same name as specified in the STORE statement already exists, the existing store is replaced.\",\"help\":\"STORE &lt;LABEL='label'&gt;\",\"arguments\":[{\"name\":\"LABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Adds a custom label. When the PLM procedure processes an item store, the label appears in the PROC PLM output along with other identifying information.\",\"help\":\"LABEL='*label*'\",\"type\":\"value\"}]},{\"name\":\"TEST\",\"description\":\"The TEST statement enables you to perform F tests for model effects that test Type I, II, or Type III hypotheses.\",\"help\":\"TEST &lt;CHISQ&gt;&lt;DDF=value-list&gt;&lt;E&gt; ...\",\"arguments\":[{\"name\":\"CHISQ\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that chi-square tests be performed for the relevant effects in addition to the F tests. Type III tests are the default; you can produce the Type I and Type II tests by using the HTYPE= option. This option has no effect when the procedure produces chi-square statistics by default.\",\"type\":\"standalone\"},{\"name\":\"DDF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"DF=\"],\"description\":\"Specifies the denominator degrees of freedom for the fixed effects. The value-list specification is a list of numbers or missing values (.) separated by commas. The order of degrees of freedom should match the order of the fixed effects that are specified in the TEST statement; otherwise it should match the order in which the effects appear in the \\\"Type III Tests of Fixed Effects\\\" table.\",\"help\":\"DDF=*value-list*\",\"type\":\"value\"},{\"name\":\"E\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that Type I, Type II, and Type III L matrix coefficients be displayed for all relevant effects.\",\"type\":\"standalone\"},{\"name\":\"E1\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"EI\"],\"description\":\"Requests that Type I L matrix coefficients be displayed for all relevant effects.\",\"type\":\"standalone\"},{\"name\":\"E2\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"EII\"],\"description\":\"Requests that Type II L matrix coefficients be displayed for all relevant effects.]\",\"type\":\"standalone\"},{\"name\":\"E3\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"EIII\"],\"description\":\"Requests that Type III L matrix coefficients be displayed for all relevant effects.\",\"type\":\"standalone\"},{\"name\":\"HTYPE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Indicates the type of hypothesis test to perform on the fixed effects. Valid entries for values in the value-list are 1, 2, and 3, which correspond to Type I, Type II, and Type III tests, respectively. The default value is 3.\",\"help\":\"HTYPE=*value-list*\",\"type\":\"value\"},{\"name\":\"INTERCEPT\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"INT\"],\"description\":\"Adds a row to the tables for Type I, II, and III tests that correspond to the overall intercept.\",\"type\":\"standalone\"}]},{\"name\":\"WEIGHT\",\"description\":\"A WEIGHT statement can be used with PROC PROBIT to weight each observation by the value of the variable specified. The contribution of each observation to the likelihood function is multiplied by the value of the weight variable.\",\"help\":\"WEIGHT variable\"}],\"supportSiteInformation\":{\"docsetId\":\"statug\",\"docsetVersion\":\"latest\",\"docsetTargetFile\":\"statug_probit_toc.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/PROTO.json",
    "content": "{\"name\":\"PROTO\",\"statements\":[{\"name\":\"PROC PROTO\",\"description\":\"Register, in batch mode, external functions that are written in the C or C++ programming languages.\",\"help\":\"PROC PROTO  PACKAGE=entry<options>;\\n\\tMAPMISS type1=value1type2=value2 ...;\\n\\n\\tLINK load-module<NOUNLOAD>;\\n\\n\\tfunction–prototype–1<function-prototype-n ...;>\",\"arguments\":[{\"name\":\"PACKAGE=\",\"description\":\"specifies the SAS entry where the prototype information is saved. Entry is a three-level name having the following form: library.dataset.package. Package enables you to specify grouping in the GUI.\",\"help\":\"PACKAGE=*entry*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0l8qli5da5ewxn15hwj17972lsd\"},{\"name\":\"function-prototype-1\",\"placeholder\":true,\"description\":\"contains the C code of the function prototypes.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1hl85b4lr9m83n14022ygpm0hp5\"},{\"name\":\"function-prototype-n\",\"placeholder\":true,\"description\":\"contains the C code of the function prototypes.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1hl85b4lr9m83n14022ygpm0hp5\"},{\"name\":\"ENCRYPT\",\"optional\":true,\"description\":\"for XML databases only, enables the code to be encoded within a data set.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1p0k9y7c5s28vn1r3ay8q8jklpf\"},{\"name\":\"HIDE\",\"optional\":true,\"description\":\"for XML databases only, enables the code to be encoded within a data set.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1p0k9y7c5s28vn1r3ay8q8jklpf\"},{\"name\":\"LABEL=\",\"optional\":true,\"description\":\"specifies a text string to describe or label a package.\",\"help\":\"LABEL=*package-label*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0qtbudewno6von17u2idf7h7uvp\"},{\"name\":\"NOSIGNALS\",\"optional\":true,\"description\":\"specifies that none of the functions in a package will produce exceptions.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1j261uqe3hvi4n16qumt0mxdsbh\"},{\"name\":\"STDCALL\",\"optional\":true,\"description\":\"for Windows PC platforms only, indicates that functions be called using the \\\"_ stdcall\\\" convention.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0iuhmer0uikvrn1r4prta5xzeve\"},{\"name\":\"STRUCTPACK\",\"optional\":true,\"aliases\":[\"PACK\"],\"description\":\"for 32 bit Windows PC platforms or Power Architecture platform running on Linux only, specifies that all structures in a package be compiled with a specific N-BYTE packing pragma.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n048eox0sj97w3n1193m8jyaopzy\"}],\"supportSiteTargetFile\":\"n16bo79ptv9kugn16m2x0rrg1uh6.htm\"},{\"name\":\"LINK\",\"description\":\"Specifies the name of the load module that contains your functions. Specifying the path is optional.\",\"help\":\"LINK *load-module*&lt;NOUNLOAD&gt;;\",\"arguments\":[{\"name\":\"load-module\",\"placeholder\":true,\"description\":\"specifies the load module that contains your functions. You can add more LINK statements to include as many libraries as you need for your prototypes. Load-module can have the following forms, depending on your operating environment:\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1gy6cmt5l975un1kcqjt007d88p\"},{\"name\":\"NOUNLOAD\",\"optional\":true,\"description\":\"specifies that selected libraries remain loaded when the SAS session ends.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0rchiqsuw9cu7n1vmlsbpnvouwy\"}],\"supportSiteTargetFile\":\"n0j3osudbixqgmn1dr07my7kyej3.htm\"},{\"name\":\"MAPMISS\",\"description\":\"Specifies alternative values, by type, to pass to functions if values are missing.\",\"help\":\"MAPMISS <POINTER=NULL ><CHARPOINTER=NULL><INT=integer-value ><DOUBLE=double-value>\\n< LONG=long-value ><SHORT=short-value>;\",\"arguments\":[{\"name\":\"POINTER=\",\"optional\":true,\"description\":\"specifies to pass NULL pointers to functions for missing numeric values.\",\"help\":\"POINTER=*NULL*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1vqn1x590sofzn154y142iumqbz\"},{\"name\":\"CHARPOINTER=\",\"optional\":true,\"description\":\"specifies to pass NULL pointers to functions for missing character values\",\"help\":\"CHARPOINTER=*NULL*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1grps4q20y9g8n1hljaa1t89rkj\"},{\"name\":\"INT=\",\"optional\":true,\"description\":\"specifies an integer value to pass to functions for integer values that are missing.\",\"help\":\"INT=*integer-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0kd8utw92ti0pn1c82x2q3jnnj3\"},{\"name\":\"DOUBLE=\",\"optional\":true,\"description\":\"specifies a double value to pass to functions for double values that are missing.\",\"help\":\"DOUBLE=*double-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0pfixxv5woysyn1eauwjbqw19k5\"},{\"name\":\"LONG=\",\"optional\":true,\"description\":\"specifies a long value to pass to functions for long values that are missing.\",\"help\":\"LONG=*long-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1bnfzr772jczen1759nawdsxsul\"},{\"name\":\"SHORT=\",\"optional\":true,\"description\":\"specifies a short value to pass to functions for short values that are missing.\",\"help\":\"SHORT=*short-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0m2qmimnua7ctn15w0vq3uwvq7y\"}],\"supportSiteTargetFile\":\"p18gd7ne3emdipn12ow22qmmhj3t.htm\"},{\"name\":\"FUNCTION-PROTOTYPE-N\",\"description\":\"Registers function prototypes in the PROTO procedure.\",\"help\":\"function-prototype-1 <function-prototype-n ...>return-typefunction-name (argument-type<argument-name> / <iotype>\\n<argument-label>, ...) <options>;\",\"arguments\":[{\"name\":\"return-type\",\"placeholder\":true,\"description\":\"specifies a C language type for the returned value.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p16vkvvc0jno3bn1ph2zesldjsvf\"},{\"name\":\"function-name\",\"placeholder\":true,\"description\":\"specifies the name of the function to be registered.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1je24pht8ptg4n13j3lzezthdpl\"},{\"name\":\"argument-type\",\"placeholder\":true,\"description\":\"specifies the C language type for the function argument.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0gofjqgqdz2e4n1mvsuwxv2fqw6\"},{\"name\":\"argument-name\",\"placeholder\":true,\"description\":\"specifies the name of the argument.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n07edrskd782dxn1dxlj21jzqy53\"},{\"name\":\"iotype\",\"placeholder\":true,\"aliases\":[\"IO\"],\"description\":\"specifies the I/O type of the argument. Use I for input, O for output, and U for update.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p18n92rpbx79wqn1bx9o4d8y0g76\"},{\"name\":\"argument-label\",\"placeholder\":true,\"description\":\"specifies a description or label for the argument.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1l6gizxurvbbun1n84qmhk1yhgm\"},{\"name\":\"LABEL=\",\"description\":\"specifies a description or a label for the function. Enclose the text string in quotation marks.\",\"help\":\"LABEL=\\\"*text-string*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1p0n2u34l0cwen1qogvzbrw4lag\"},{\"name\":\"KIND\",\"description\":\"specifies the group that the function belongs to. The KIND= or GROUP= option allows for convenient grouping of functions in a package.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p09tc15kf8e94in1spr4juc1hyo6\"},{\"name\":\"GROUP=\",\"description\":\"specifies the group that the function belongs to. The KIND= or GROUP= option allows for convenient grouping of functions in a package.\",\"help\":\"GROUP=*group-type*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p09tc15kf8e94in1spr4juc1hyo6\"}],\"supportSiteTargetFile\":\"n07qn8hszsxa1hn196bni5afdc40.htm\"}],\"supportSiteInformation\":{\"docsetId\":\"proc\",\"docsetVersion\":\"v_002\",\"docsetTargetFile\":\"n1dg2tevuowahrn16n6f9o7j7vm4.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/PRTDEF.json",
    "content": "{\"name\":\"PRTDEF\",\"statements\":[{\"name\":\"PROC PRTDEF\",\"description\":\"Creates printer definitions in batch mode.\",\"help\":\"PROC PRTDEF &lt;*options*&gt;;\",\"arguments\":[{\"name\":\"DATA=\",\"optional\":true,\"description\":\"specifies the SAS data set that contains the printer attributes.\",\"help\":\"DATA=*SAS-data-set*\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"n159w6bxybtrhxn1oi7efhfk7q7a\"},{\"name\":\"DELETE\",\"optional\":true,\"description\":\"specifies that the default operation is to delete the printer definitions from the registry.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0df5oqkss47yrn1sw0abws0u9o3\"},{\"name\":\"FOREIGN\",\"optional\":true,\"description\":\"specifies that the registry entries are being created for export to a different host. As a consequence, tests of any host-dependent items, such as the TRANTAB, are skipped.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0w9zq3swbcbtqn17o3fsyrdter3\"},{\"name\":\"LIST\",\"optional\":true,\"description\":\"specifies that a list of printers that is created or replaced is written to the log.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p11kae3ypmzxn1n1a9w3buu1vhnd\"},{\"name\":\"REPLACE\",\"optional\":true,\"description\":\"specifies that the default operation is to modify existing printer definitions. Any printer name that already exists is modified by using the information in the printer attributes data set. Any printer name that does not exist is added.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0cy85jgwjst89n1271viwlsbdp4\"},{\"name\":\"USESASHELP\",\"optional\":true,\"description\":\"specifies that the printer definitions are to be placed in the Sashelp library, where they are available to all users. If the USESASHELP option is not specified, then the printer definitions are placed in the current Sasuser library, where they are available to the local user only.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1nbaxyhq4l24pn1v2vsy56nf72w\"}],\"supportSiteTargetFile\":\"n0iqj7fujgyxa5n12cegrvudi2ll.htm\"}],\"supportSiteInformation\":{\"docsetId\":\"proc\",\"docsetVersion\":\"v_002\",\"docsetTargetFile\":\"n129shvpsowv7an1e4eklmmf68p7.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/PRTEXP.json",
    "content": "{\"name\":\"PRTEXP\",\"statements\":[{\"name\":\"PROC PRTEXP\",\"description\":\"Replicates, modifies, and creates printer definitions.\",\"help\":\"PROC PRTEXP <options>;  \\n\\tSELECT printer(s);\\n\\n\\tEXCLUDE printer(s)\",\"arguments\":[{\"name\":\"USESASHELP\",\"optional\":true,\"description\":\"specifies that SAS search only the SASHELP portion of the registry for printer definitions.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1dl2hy0rkskx3n1qtu2rt3pw3d1\"},{\"name\":\"OUT=\",\"optional\":true,\"description\":\"specifies the SAS data set that contains the printer definitions.\",\"help\":\"OUT=*SAS-data-set*\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"p1r4c3hx3seotyn186pdymlkjzce\"}],\"supportSiteTargetFile\":\"n1apklluhvpjthn10pkrmsg7e085.htm\"},{\"name\":\"EXCLUDE\",\"description\":\"Names the printers whose information does not appear in output.\",\"help\":\"EXCLUDE *printer(s)*;\",\"arguments\":[{\"name\":\"printer\",\"placeholder\":true,\"description\":\"specifies one or more printers that you do not want the output to contain information about.\",\"help\":\"*printer(s)* \",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1u7qp957m86g0n11wr5629yonhq\"}],\"supportSiteTargetFile\":\"p0kqciwgisfnd8n1e2i5goiehp3i.htm\"},{\"name\":\"SELECT\",\"description\":\"Names the printers whose information is contained in the output.\",\"help\":\"SELECT *printer(s)*;\",\"arguments\":[{\"name\":\"printer\",\"placeholder\":true,\"description\":\"specifies one or more printers that you would like the output to contain information about.\",\"help\":\"*printer(s)*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0k1xigt44rvh1n17nbfyxsou96w\"}],\"supportSiteTargetFile\":\"n18n845qvanh0tn1d23r357k67ai.htm\"}],\"supportSiteInformation\":{\"docsetId\":\"proc\",\"docsetVersion\":\"v_002\",\"docsetTargetFile\":\"n1xehxf82gh019n1w77kd1sifrpb.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/PSMATCH.json",
    "content": "{\"name\":\"PSMATCH\",\"statements\":[{\"name\":\"PROC PSMATCH\",\"description\":\"provides tools for propensity score analysis\",\"help\":\"PROC PSMATCH <options>;                 \\n\\tASSESS <ALLCOV><LPS><PS><VAR=(var-list)></ assess-options> ;                 \\n\\n\\tCLASS  variables;                 \\n\\n\\tEWEIGHT  TREATVAR=treatvar<(trt-option)> BALANCEVARS=(variables </moments-option>) <options>;                 \\n\\n\\tFREQ  variable;                 \\n\\n\\tID  variables;                 \\n\\n\\tMATCH <options>;                 \\n\\n\\tOUTPUT  OUT <(OBS=obs-value)>=SAS-data-set<keyword=name<keyword=name...>> ;                 \\n\\n\\tPSDATA  TREATVAR=treatvar<(TREATED='level' | keyword)>ps-option;                 \\n\\n\\tPSMODEL treatvar<(trt-option)> = <effects></ WEIGHT=weight> ;                 \\n\\n\\tSTRATA <options>;                 \\n\",\"arguments\":[{\"name\":\"DATA=\",\"optional\":true,\"description\":\"names the input SAS data set\",\"help\":\"DATA=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"REGION=\",\"optional\":true,\"description\":\"specifies an interval region of propensity scores (or equivalently, logits of propensity scores) that determines which observations are used in stratification and matching\",\"help\":\"REGION=*region* &lt;(*region-options*)&gt; \",\"type\":\"value\",\"arguments\":[{\"name\":\"REGION=\",\"description\":\"selects all available observations\",\"help\":\"REGION=ALLOBS &lt;(*region-options*)&gt;\",\"type\":\"standaloneOrValue\",\"arguments\":[{\"name\":\"PSMIN=\",\"description\":\"specifies the minimum propensity score in the support region, where pmin is greater than or equal to 0\",\"help\":\"PSMIN=*pmin*\",\"type\":\"value\"},{\"name\":\"PSMAX=\",\"description\":\"specifies the maximum propensity score in the support region, where pmax is less than or equal to 1\",\"help\":\"PSMAX=*pmax*\",\"type\":\"value\"}]},{\"name\":\"REGION=\",\"description\":\"selects observations whose propensity scores (or equivalently, logits of propensity scores) lie in the region of common support for the treated and control groups\",\"help\":\"REGION=CS &lt;(*ext-option*)&gt; \",\"type\":\"standaloneOrValue\",\"arguments\":[{\"name\":\"EXTEND\",\"description\":\"extends the lower and upper ends of the common support region for the support region by p, where p is greater than or equal to 0\",\"help\":\"EXTEND &lt;(*type-options*)&gt; = *p* &lt;(LOWER=*l* UPPER=*u*)&gt; \",\"type\":\"value\",\"arguments\":[{\"name\":\"DISTANCE=\",\"description\":\"specifies the type of the distance that is used to extend the support region\",\"help\":\"DISTANCE=LPS | PS\",\"type\":\"choice\",\"arguments\":[{\"name\":\"LPS\",\"description\":\"extends the region by using the logit of the propensity score\",\"type\":\"standalone\"},{\"name\":\"PS\",\"description\":\"extends the region by using the propensity score\",\"type\":\"standalone\"}]},{\"name\":\"MULT=\",\"description\":\"specifies the multiplier for the extension p to extend the support region\",\"help\":\"MULT=ONE | STDDEV\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ONE\",\"description\":\"extends the region by p\",\"type\":\"standalone\"},{\"name\":\"MULT\",\"description\":\"extends the region by p times the pooled estimate of the standard deviation of either LPS (DISTANCE=LPS) or PS (DISTANCE=PS), where this estimate is computed as the square root of the average of the variances in the treated and control groups\",\"type\":\"standalone\"}]},{\"name\":\"LOWER=\",\"description\":\"extends the lower end of the specified region by l, where l is greater than or equal to 0\",\"help\":\"LOWER=*l*\",\"type\":\"value\"},{\"name\":\"UPPER=\",\"description\":\"extends the lower end of the specified region by u, where u is greater than or equal to 0\",\"help\":\"UPPER=*u*\",\"type\":\"value\"}]}]},{\"name\":\"REGION=\",\"description\":\"selects observations whose propensity scores lie in the region of propensity scores for observations in the treated group\",\"help\":\"REGION=TREATED &lt;(*ext-option*)&gt; \",\"type\":\"standaloneOrValue\",\"arguments\":[{\"name\":\"EXTEND\",\"description\":\"extends the lower and upper ends of the common support region for the support region by p, where p is greater than or equal to 0\",\"help\":\"EXTEND &lt;(*type-options*)&gt; = *p* &lt;(LOWER=*l* UPPER=*u*)&gt; \",\"type\":\"value\",\"arguments\":[{\"name\":\"DISTANCE=\",\"description\":\"specifies the type of the distance that is used to extend the support region\",\"help\":\"DISTANCE=LPS | PS\",\"type\":\"choice\",\"arguments\":[{\"name\":\"LPS\",\"description\":\"extends the region by using the logit of the propensity score\",\"type\":\"standalone\"},{\"name\":\"PS\",\"description\":\"extends the region by using the propensity score\",\"type\":\"standalone\"}]},{\"name\":\"MULT=\",\"description\":\"specifies the multiplier for the extension p to extend the support region\",\"help\":\"MULT=ONE | STDDEV\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ONE\",\"description\":\"extends the region by p\",\"type\":\"standalone\"},{\"name\":\"MULT\",\"description\":\"extends the region by p times the pooled estimate of the standard deviation of either LPS (DISTANCE=LPS) or PS (DISTANCE=PS), where this estimate is computed as the square root of the average of the variances in the treated and control groups\",\"type\":\"standalone\"}]},{\"name\":\"LOWER=\",\"description\":\"extends the lower end of the specified region by l, where l is greater than or equal to 0\",\"help\":\"LOWER=*l*\",\"type\":\"value\"},{\"name\":\"LOWER=\",\"description\":\"extends the lower end of the specified region by u, where u is greater than or equal to 0\",\"help\":\"LOWER=*u*\",\"type\":\"value\"}]}]}]}]},{\"name\":\"ASSESS\",\"description\":\"assesses variable differences between the treated and control groups for all observations and for observations in the support region that is specified in the REGION= option\",\"help\":\"ASSESS &lt;ALLCOV&gt;&lt;LPS&gt;&lt;PS&gt;&lt;VAR=(*var-list*)&gt;&lt;/ *assess-options*&gt; ;                                              \",\"arguments\":[{\"name\":\"PLOTS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies options that control the plots\",\"help\":\"PLOTS &lt;(*global-option*)&gt; = (*plot-request* &lt;...*plot-request*&gt;)\",\"type\":\"value\",\"arguments\":[{\"name\":\"NODETAILS\",\"followsDelimiter\":\"/\",\"description\":\"displays plots for only two sets of observations: the set of all observations and a second set that depends on specified statements and options\",\"type\":\"standalone\"},{\"name\":\"ONLY\",\"followsDelimiter\":\"/\",\"description\":\"suppresses the default plots and displays only plots that are specifically requested\",\"type\":\"standalone\"},{\"name\":\"ORIENT=\",\"followsDelimiter\":\"/\",\"description\":\"controls the orientation of the plots\",\"help\":\"ORIENT=HORIZONTAL | VERTICAL\",\"type\":\"choice\"},{\"name\":\"ALL\",\"followsDelimiter\":\"/\",\"description\":\"requests all applicable plots for all variables that are specified in the ASSESS statement\",\"type\":\"standalone\"},{\"name\":\"BAR\",\"followsDelimiter\":\"/\",\"aliases\":[\"BARCHART\"],\"description\":\"requests comparative bar charts for binary classification variables\",\"help\":\"BAR &lt;(&lt;DISPLAY=ALL | (*bar-list*)&gt;&lt;TYPE=FREQ | PROP&gt;)&gt;\",\"type\":\"standaloneOrValue\",\"arguments\":[{\"name\":\"DISPLAY=\",\"followsDelimiter\":\"/\",\"description\":\"requests bar charts for binary classification variables that are specified by the ALLCOV or VAR= option\",\"help\":\"DISPLAY=ALL\",\"type\":\"value\"},{\"name\":\"DISPLAY=\",\"followsDelimiter\":\"/\",\"description\":\"specifies a subset of the binary classification variables for which bar charts are to be displayed\",\"help\":\"DISPLAY=(*bar-list*)\",\"type\":\"value\"},{\"name\":\"TYPE=\",\"followsDelimiter\":\"/\",\"description\":\"displays frequencies of levels for the binary classification variable\",\"help\":\"TYPE=FREQ\",\"type\":\"value\"},{\"name\":\"TYPE=\",\"followsDelimiter\":\"/\",\"description\":\"displays proportions of levels for the binary classification variable\",\"help\":\"TYPE=PROP\",\"type\":\"value\"}]},{\"name\":\"BOX\",\"followsDelimiter\":\"/\",\"aliases\":[\"BOXPLOT\"],\"description\":\"requests box plots for continuous variables\",\"help\":\"BOX &lt;(DISPLAY=ALL | (*box-list*))&gt;\",\"type\":\"standaloneOrValue\",\"arguments\":[{\"name\":\"DISPLAY=\",\"followsDelimiter\":\"/\",\"description\":\"requests box plots for all continuous variables that are specified by the ALLCOV or VAR= option\",\"help\":\"DISPLAY=ALL\",\"type\":\"value\"},{\"name\":\"DISPLAY=\",\"followsDelimiter\":\"/\",\"description\":\"specifies a subset of the continuous variables for which box plots are to be displayed\",\"help\":\"DISPLAY=(*box-list*)\",\"type\":\"value\"}]},{\"name\":\"CDF\",\"followsDelimiter\":\"/\",\"aliases\":[\"CDFPLOT\"],\"description\":\"requests cumulative distribution (CDF) plots for continuous variables\",\"help\":\"CDF &lt;(DISPLAY=ALL | (*cdf-list*))&gt;\",\"type\":\"standaloneOrValue\",\"arguments\":[{\"name\":\"DISPLAY=\",\"followsDelimiter\":\"/\",\"description\":\"requests cumulative distribution (CDF) plots for all continuous variables that are specified by the ALLCOV or VAR= option\",\"help\":\"DISPLAY=ALL\",\"type\":\"value\"},{\"name\":\"DISPLAY=\",\"followsDelimiter\":\"/\",\"description\":\"specifies a subset of the continuous variables for which cumulative distribution (CDF) plots are to be displayed\",\"help\":\"DISPLAY=(*cdf-list*)\",\"type\":\"value\"}]},{\"name\":\"CLOUD\",\"followsDelimiter\":\"/\",\"aliases\":[\"CLOUDPLOT\"],\"description\":\"requests cloud plots for continuous variables\",\"help\":\"CLOUD &lt;(DISPLAY=ALL | (*cloud-list*))&gt;\",\"type\":\"standaloneOrValue\",\"arguments\":[{\"name\":\"DISPLAY=\",\"followsDelimiter\":\"/\",\"description\":\"requests cloud plots for all continuous variables that are specified by the ALLCOV or VAR= option\",\"help\":\"DISPLAY=ALL\",\"type\":\"value\"},{\"name\":\"DISPLAY=\",\"followsDelimiter\":\"/\",\"description\":\"specifies a subset of the continuous variables for which cloud plots are to be displayed\",\"help\":\"DISPLAY=(*cloud-list*)\",\"type\":\"value\"}]},{\"name\":\"NONE\",\"followsDelimiter\":\"/\",\"description\":\"suppresses all plots\",\"type\":\"standalone\"},{\"name\":\"STDDIFF\",\"followsDelimiter\":\"/\",\"aliases\":[\"STDDIFFPLOT\"],\"description\":\"requests a standardized mean differences plot for all variables that are specified by the ALLCOV or VAR= option\",\"help\":\"STDDIFF &lt;(REF=*r*)&gt;\",\"type\":\"standaloneOrValue\"},{\"name\":\"WGTCLOUD\",\"followsDelimiter\":\"/\",\"aliases\":[\"WGTCLOUDPLOT\"],\"description\":\"requests cloud plots for weights\",\"help\":\"WGTCLOUD &lt;(REF=*r*)&gt;\",\"type\":\"standaloneOrValue\"},{\"name\":\"STDBINVAR=\",\"followsDelimiter\":\"/\",\"description\":\"specifies whether to display standardized binary variables in the standardized mean differences table and plot\",\"help\":\"STDBINVAR=YES | NO\",\"type\":\"choice\"},{\"name\":\"STDDEV=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the standard deviation used in computing standardized mean differences\",\"help\":\"STDDEV=POOLED | TREATED &lt;(ALLOBS=YES | NO)&gt;\",\"type\":\"standaloneOrValue\",\"arguments\":[{\"name\":\"POOLED\",\"followsDelimiter\":\"/\",\"description\":\"uses the pooled standard deviation, which is computed as the square root of the average of the sample variances for the treated group and the sample variance for the control group\",\"type\":\"standalone\"},{\"name\":\"TREATED\",\"followsDelimiter\":\"/\",\"description\":\"uses the standard deviation of the variable values in the treated group only\",\"type\":\"standalone\"},{\"name\":\"ALLOBS=\",\"followsDelimiter\":\"/\",\"description\":\"uses the sample variances that are derived from all observations to compute the standardized mean differences for all observations, for observations in the support region, for stratified observations, and for matched observations\",\"help\":\"ALLOBS=YES\",\"type\":\"value\"},{\"name\":\"ALLOBS=\",\"followsDelimiter\":\"/\",\"description\":\"uses the variance derived from all observations to compute the standardized mean differences for all observations, uses the variance derived from observations in the support region to compute the standardized mean differences for observations in the support region, uses the variance derived from stratified observations to compute the standardized mean differences for stratified observations, and uses the variance derived from matched observations to compute the standardized mean differences for matched observations\",\"help\":\"ALLOBS=NO\",\"type\":\"value\"}]},{\"name\":\"VARINFO\",\"followsDelimiter\":\"/\",\"description\":\"requests a variable information table for the treated and control groups\",\"type\":\"standalone\"}]},{\"name\":\"ALLOCV\",\"optional\":true,\"description\":\"requests an assessment of differences in the covariates that are specified in the PSMODEL statement\",\"type\":\"standalone\"},{\"name\":\"LPS\",\"optional\":true,\"description\":\"requests an assessment of differences in the logit of the propensity score\",\"type\":\"standalone\"},{\"name\":\"PS\",\"optional\":true,\"description\":\"requests an assessment of differences in the propensity score\",\"type\":\"standalone\"},{\"name\":\"VAR=\",\"optional\":true,\"description\":\"requests an assessment of differences in the specified list of variables\",\"help\":\"VAR=(*var-list*)\",\"type\":\"value\"}]},{\"name\":\"CLASS\",\"description\":\"specifies the variable to use as the treatment indicator in the PSDATA, PSMODEL, and EWEIGHT statements and the classification variables that you specify in the VAR= option in the ASSESS statement\",\"help\":\"CLASS  variables;                                              \"},{\"name\":\"EWEIGHT\",\"description\":\"performs entropy balancing\",\"help\":\"EWEIGHT  TREATVAR=*treatvar*&lt;(*trt-option*)&gt; BALANCEVARS=(variables &lt;/moments-option&gt;) &lt;options&gt;;                                              \",\"arguments\":[{\"name\":\"BALANCEVARS=\",\"description\":\"specifies the variables to balance and optionally the number of MOMENTS to balance\",\"help\":\"BALANCEVARS=(*variables* &lt;/ MOMENTS= 1 | 2 &gt;)\",\"type\":\"value\"},{\"name\":\"TREATVAR=\",\"description\":\"names the treatment indicator variable, treatvar, and optionally the TREATED level for the binary treatment variable\",\"help\":\"TREATVAR=*treatvar* &lt;(TREATED='*level*' | *keyword*)&gt;\",\"type\":\"value\",\"arguments\":[{\"name\":\"FIRST\",\"description\":\"designates the first ordered level as the treated group\",\"type\":\"standalone\"},{\"name\":\"LAST\",\"description\":\"designates the last ordered level as the treated group\",\"type\":\"standalone\"}]},{\"name\":\"ABSGTOL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"ABSGCONV=\"],\"description\":\"specifies the absolute gradient convergence criterion for the entropy balance dual optimization problem\",\"help\":\"ABSGTOL=*r*\",\"type\":\"value\"},{\"name\":\"BALTOL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"BALANCETOL=\"],\"description\":\"specifies the tolerance value to be used to evaluate the balance constraints and determine acceptance of the entropy balance weights\",\"help\":\"BALTOL=*r*\",\"type\":\"value\"},{\"name\":\"MAXFUNC=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"MAXF=\"],\"description\":\"specifies the maximum number n of function calls in the optimization process\",\"help\":\"MAXFUNC=*n*\",\"type\":\"value\"},{\"name\":\"MAXITER=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"MAXI=\"],\"description\":\"specifies the maximum number n of iterations in the optimization process\",\"help\":\"MAXITER=*n*\",\"type\":\"value\"},{\"name\":\"NLARGESTWGT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"displays a table of the observations that have the n most extreme weights\",\"help\":\"NLARGESTWGT=*n*\",\"type\":\"value\"},{\"name\":\"REFWEIGHT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the variable in the DATA= data set that contains the reference weights to use for the entropy balance optimization problem, and optionally whether or not the target moments and proportions for the entropy balance optimization problem constraints should be weighted by the reference weights\",\"help\":\"REFWEIGHT&lt;(WEIGHTMOMENTS=YES | NO)&gt;=*variable*\",\"type\":\"value\"},{\"name\":\"TOTALWEIGHT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the total of the entropy balance weights that are computed for a treatment condition\",\"help\":\"TOTALWEIGHT=*r*\",\"type\":\"value\"},{\"name\":\"WEIGHT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the observations for which entropy balance weights are computed\",\"help\":\"WEIGHT=CONTROL | ALLOBS\",\"type\":\"choice\",\"arguments\":[{\"name\":\"CONTROL\",\"followsDelimiter\":\"/\",\"description\":\"computes entropy balance weights only for the units in the control condition, and the target moments are determined by the covariate values of the treated units\",\"type\":\"standalone\"},{\"name\":\"ALLOBS\",\"followsDelimiter\":\"/\",\"description\":\"computes entropy balance weights for both the treated and control units by solving two separate optimization problems, and the target moments that define the constraints for both optimization problems are determined by the covariate values of all units\",\"type\":\"standalone\"}]}]},{\"name\":\"FREQ\",\"description\":\"identifies a variable that contains the frequency of occurrence of each observation\",\"help\":\"FREQ  variable;                                              \"},{\"name\":\"ID\",\"description\":\"specifies one or more variables whose values identify the observations that are displayed in tables of extreme weights and most matches\",\"help\":\"ID  variables;                                              \"},{\"name\":\"MATCH\",\"description\":\"matches observations in the control group to observations in the treatment group\",\"help\":\"MATCH &lt;options&gt;;                                              \",\"arguments\":[{\"name\":\"CALIPER\",\"optional\":true,\"description\":\"specifies the caliper width requirement for matching, where r is either missing or greater than 0\",\"help\":\"CALIPER &lt;(*caliper-options*)&gt; = *r*\",\"type\":\"value\",\"arguments\":[{\"name\":\"MULT=\",\"description\":\"specifies the multiplier for the specified caliper width r\",\"help\":\"MULT=ONE | STDDEV\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ONE\",\"description\":\"uses r for the caliper width\",\"type\":\"standalone\"},{\"name\":\"STDDEV\",\"description\":\"uses r times the pooled estimate of the standard deviation of the logit of the propensity score (if you specify DISTANCE=LPS) or the propensity score (if you specify DISTANCE=PS), where this estimate is computed as the square root of the average of the variances in the treated and control groups\",\"type\":\"standalone\"}]},{\"name\":\"MAHDISTANCE=\",\"description\":\"specifies the type of distance to be used in the caliper width computation if you specify the DISTANCE=MAH option in the MATCH statement\",\"help\":\"MAHDISTANCE=LPS | PS\",\"type\":\"choice\"}]},{\"name\":\"DISTANCE=\",\"optional\":true,\"description\":\"specifies the type of distance to be compared when treated units are matched to control units\",\"help\":\"DISTANCE=*distance*\",\"type\":\"value\",\"arguments\":[{\"name\":\"LPS\",\"description\":\"specifies matching that minimizes the difference between the logits of the propensity scores for the two units\",\"type\":\"standalone\"},{\"name\":\"PS\",\"description\":\"specifies matching that minimizes the difference between the propensity scores for the two units\",\"type\":\"standalone\"},{\"name\":\"MAH\",\"description\":\"specifies matching that minimizes the Mahalanobis distance between the two units\",\"help\":\"MAH (*var-options* &lt;/ *mah-options*&gt;)\",\"type\":\"value\",\"arguments\":[{\"name\":\"LPS\",\"description\":\"includes the logit of the propensity score\",\"type\":\"standalone\"},{\"name\":\"PS\",\"description\":\"includes the propensity score\",\"type\":\"standalone\"},{\"name\":\"VAR=\",\"description\":\"includes variables in the specified var-list\",\"help\":\"VAR=(*var-list*)\",\"type\":\"value\"},{\"name\":\"COV=\",\"description\":\"specifies the type of covariance matrix in the Mahalanobis distance\",\"help\":\"COV=CONTROL | IDENTITY | POOLED\",\"type\":\"choice\",\"arguments\":[{\"name\":\"CONTROL\",\"description\":\"uses the covariance matrix that is computed from observations in the control group\",\"type\":\"standalone\"},{\"name\":\"IDENTITY\",\"description\":\"uses the identity matrix, and the resulting distance is the Euclidean distance\",\"type\":\"standalone\"},{\"name\":\"POOLED\",\"description\":\"uses the pooled covariance matrix that is computed from observations in the treated group and observations in the control group\",\"type\":\"standalone\"}]},{\"name\":\"SQRT=\",\"description\":\"specifies whether to apply the square root transformation to the Mahalanobis distance in the difference computation\",\"help\":\"SQRT=YES | NO\",\"type\":\"choice\"}]}]},{\"name\":\"EXACT=\",\"optional\":true,\"description\":\"specifies classification variables that are to be matched exactly\",\"help\":\"EXACT=*variable* | (*variables*)\",\"type\":\"value\"},{\"name\":\"METHOD=\",\"optional\":true,\"description\":\"specifies the method for the matching\",\"help\":\"METHOD=*method* &lt;(*method-options*)&gt;\",\"type\":\"value\",\"arguments\":[{\"name\":\"METHOD=\",\"description\":\"requests optimal full matching\",\"help\":\"METHOD=FULL (KMAX=*kmax* &lt;*full-options*&gt;)\",\"type\":\"value\",\"arguments\":[{\"name\":\"KMAX=\",\"description\":\"specifies the maximum number of control units to be matched with each treated unit, where kmax greater than or equal to 1\",\"help\":\"KMAX=*kmax*\",\"type\":\"value\"},{\"name\":\"KMAXTREATED=\",\"aliases\":[\"KMAXTRT=\"],\"description\":\"specifies the maximum number of treated units for each control, where kmaxtrt greater than or equal to 1\",\"help\":\"KMAXTREATED=*kmaxtrt*\",\"type\":\"value\"},{\"name\":\"KMEAN=\",\"description\":\"specifies the average number of control units to be matched with each treated unit\",\"help\":\"KMEAN=*kmean*\",\"type\":\"value\"},{\"name\":\"PCTCONTROL=\",\"description\":\"specifies the percentage of the total number of control units to be matched\",\"help\":\"PCTCONTROL=*p*\",\"type\":\"value\"}]},{\"name\":\"METHOD=\",\"description\":\"requests greedy nearest neighbor matching, in which each treated unit is sequentially matched with the k nearest control units\",\"help\":\"METHOD=GREEDY &lt;(K=*k* ORDER=*order-option*)&gt;\",\"type\":\"standaloneOrValue\",\"arguments\":[{\"name\":\"K=\",\"description\":\"specifies the number of matching control units, where k greater than 0, for each treated unit\",\"help\":\"K=*k*\",\"type\":\"value\"},{\"name\":\"ORDER=\",\"description\":\"specifies the ordering of treated units that are used to find the matching control units\",\"help\":\"ORDER=ASCENDING | DESCENDING | RANDOM &lt;(SEED=*number*)&gt;\",\"type\":\"standaloneOrValue\",\"arguments\":[{\"name\":\"ASCENDING\",\"description\":\"orders the treated units in ascending order of the propensity score\",\"type\":\"standalone\"},{\"name\":\"DESCENDING\",\"description\":\"orders the treated units in descending order of the propensity score\",\"type\":\"standalone\"},{\"name\":\"RANDOM\",\"description\":\"orders the treated units in random order of the propensity score, and optionally the SEED= to start the pseudorandom number generator\",\"help\":\"RANDOM &lt;(SEED=*number*)&gt;\",\"type\":\"standaloneOrValue\"}]}]},{\"name\":\"METHOD=\",\"description\":\"requests optimal fixed ratio matching and optionally the number of matching control units k for each treated unit\",\"help\":\"METHOD=OPTIMAL &lt;(K=*k*)&gt;\",\"type\":\"standaloneOrValue\"},{\"name\":\"METHOD=\",\"description\":\"requests a fixed number k of unique matching control units for each treated unit, where the matched control units are selected with replacement\",\"help\":\"METHOD=REPLACE &lt;(K=*k*)&gt;\",\"type\":\"standaloneOrValue\"},{\"name\":\"METHOD=\",\"description\":\"requests optimal variable ratio matching\",\"help\":\"METHOD=VARRATIO (KMAX=*kmax* &lt;*vr-options*&gt;)\",\"type\":\"value\",\"arguments\":[{\"name\":\"KMAX=\",\"description\":\"specifies the maximum number of control units to be matched with each treated unit, where kmax greater than or equal to 1\",\"help\":\"KMAX=*kmax*\",\"type\":\"value\"},{\"name\":\"KMEAN=\",\"description\":\"specifies the average number of control units to be matched with each treated unit\",\"help\":\"KMEAN=*kmean*\",\"type\":\"value\"},{\"name\":\"KMIN=\",\"description\":\"specifies the minimum number of control units to be matched with each treated unit\",\"help\":\"KMIN=*kmin*\",\"type\":\"value\"},{\"name\":\"NCONTROL=\",\"description\":\"specifies the total number of control units to be matched\",\"help\":\"NCONTROL=*m*\",\"type\":\"value\"},{\"name\":\"PCTCONTROL=\",\"description\":\"specifies the percentage of total control units to be matched\",\"help\":\"PCTCONTROL=*p*\",\"type\":\"value\"}]}]},{\"name\":\"NMATCHMOST=\",\"optional\":true,\"description\":\"displays a table of the observations that have the greatest numbers of matches, where n is less than 50\",\"help\":\"NMATCHMOST=*n*\",\"type\":\"value\"},{\"name\":\"WEIGHT=\",\"optional\":true,\"description\":\"specifies the type of weight for matched observations\",\"help\":\"WEIGHT=ATEWGT | ATTWGT | EQUAL | MATCHATEWGT | MATCHATTWGT | MATCHWGT | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ATEWGT\",\"description\":\"weights the treatment group up to the total size of the matched set\",\"help\":\"ATEWGT | MATCHATEWGT\",\"type\":\"choice\"},{\"name\":\"ATTWGT\",\"description\":\"weights the control group up to the size of the treatment group in the matched set\",\"help\":\"ATTWGT | MATCHATTWGT | MATCHWGT\",\"type\":\"choice\"},{\"name\":\"EQUAL\",\"description\":\"uses a weight of 1 for all matched observations\",\"help\":\"EQUAL | NONE\",\"type\":\"choice\"}]}]},{\"name\":\"OUTPUT\",\"description\":\"specifies the output data set and variables\",\"help\":\"OUTPUT  OUT &lt;(OBS=*obs-value*)&gt;=*SAS-data-set*&lt;*keyword*=*name*&lt;*keyword*=*name*...&gt;&gt; ;                                              \",\"arguments\":[{\"name\":\"OUT\",\"description\":\"names the output data set, and optionally specifies the observations to include in the output data set\",\"help\":\"OUT &lt;(OBS=ALL | REGION | MATCH)&gt;=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"LPS=\",\"optional\":true,\"description\":\"creates and names the variable that provides the logit of the propensity score\",\"help\":\"LPS=*name*\",\"type\":\"value\"},{\"name\":\"MATCHID=\",\"optional\":true,\"description\":\"creates and names the variable that provides identification numbers for the matched treated and control units\",\"help\":\"MATCHID=*name*\",\"type\":\"value\"},{\"name\":\"PS=\",\"optional\":true,\"description\":\"creates and names the variable that provides the propensity score\",\"help\":\"PS=*name*\",\"type\":\"value\"},{\"name\":\"STRATA=\",\"optional\":true,\"description\":\"creates and names the variable that numbers the strata\",\"help\":\"STRATA=*name*\",\"type\":\"value\"},{\"name\":\"WEIGHT=\",\"optional\":true,\"description\":\"creates and names the weight variable\",\"help\":\"WEIGHT=*name*\",\"type\":\"value\"}]},{\"name\":\"PSDATA\",\"description\":\"specifies the variable in the DATA= data set that is the treatment indicator variable and a variable that contains the propensity scores or logits of the propensity scores\",\"help\":\"PSDATA  TREATVAR=*treatvar*&lt;(TREATED='*level*' | *keyword*)&gt;*ps-option*;                                              \",\"arguments\":[{\"name\":\"TREATVAR=\",\"description\":\"names the treatment indicator variable, treatvar, which must be a binary classification variable that you specify in the CLASS statement\",\"help\":\"TREATVAR=*treatvar* &lt;(TREATED='*level*' | *keyword*)&gt;\",\"type\":\"value\",\"arguments\":[{\"name\":\"FIRST\",\"description\":\"designates the first ordered level as the treated group\",\"type\":\"standalone\"},{\"name\":\"LAST\",\"description\":\"designates the last ordered level as the treated group\",\"type\":\"standalone\"},{\"name\":\"'level'\",\"placeholder\":true,\"description\":\"specifies the treated level for the binary treatment variable in quotation marks\",\"type\":\"value\"}]},{\"name\":\"PS=\",\"optional\":true,\"description\":\"names the variable that contains propensity scores, where the variable name must be a variable in the DATA= data set. You must specify either the PS= or the LPS= option, but not both.\",\"help\":\"PS=*name*\",\"type\":\"value\"},{\"name\":\"LPS=\",\"optional\":true,\"description\":\"names the variable that contains logits of propensity scores, where the variable name must be a variable in the DATA= data set. You must specify either the PS= or the LPS= option, but not both.\",\"help\":\"LPS=*name*\",\"type\":\"value\"}]},{\"name\":\"PSMODEL\",\"description\":\"specifies the logistic regression model for computing propensity scores\",\"help\":\"PSMODEL *treatvar*&lt;(*trt-option*)&gt; = &lt;effects&gt;&lt;/ WEIGHT=*weight*&gt; ;                                              PSWEIGHT &lt;options&gt;\",\"arguments\":[{\"name\":\"WEIGHT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a variable that contains the weight of each observation that is used in fitting the logistic regression model to derive the propensity scores\",\"help\":\"WEIGHT=*weight*\",\"type\":\"value\"},{\"name\":\"NLARGESTWGT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"displays a table of the observations that have the most extreme weights, where n is less than or equal to 50\",\"help\":\"NLARGESTWGT=*n*\",\"type\":\"value\"},{\"name\":\"WEIGHT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the type of weight for observations\",\"help\":\"WEIGHT=ATEWGT | ATTWGT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ATEWGT\",\"followsDelimiter\":\"/\",\"description\":\"uses inverse probability of treatment weighting (IPTW). These weights are appropriate for estimation of the ATE. You can use the STABILIZE= option to request the use of stabilized inverse probability of treatment weights.\",\"help\":\"ATEWGT &lt;(STABILIZE=YES | NO)&gt;\",\"type\":\"standaloneOrValue\"},{\"name\":\"ATTWGT\",\"followsDelimiter\":\"/\",\"description\":\"uses ATT weighting (also called weighting by odds) to weight the control group up to the treatment group. These weights are appropriate for estimation of the ATT.\",\"type\":\"standalone\"}]},{\"name\":\"FIRST\",\"optional\":true,\"description\":\"designates the first ordered level as the treated group\",\"type\":\"standalone\"},{\"name\":\"LAST\",\"optional\":true,\"description\":\"designates the last ordered level as the treated group\",\"type\":\"standalone\"},{\"name\":\"'level'\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the treated level for the binary treatment variable in quotation marks\",\"type\":\"value\"}]},{\"name\":\"STRATA\",\"description\":\"divides observations in the support region into strata based on propensity scores\",\"help\":\"STRATA &lt;options&gt;;                                              \",\"arguments\":[{\"name\":\"KEY=\",\"optional\":true,\"description\":\"specifies how to use the observations to construct the strata\",\"help\":\"KEY=TOTAL | TREATED\",\"type\":\"choice\",\"arguments\":[{\"name\":\"TOTAL\",\"description\":\"requests that each stratum contain approximately the same number of total units, which can be in either the treated group or the control group\",\"type\":\"standalone\"},{\"name\":\"TREATED\",\"description\":\"requests that each stratum contain approximately the same number of units in the treated group\",\"type\":\"standalone\"}]},{\"name\":\"NSTRATA=\",\"optional\":true,\"description\":\"specifies the number of strata, where n is greater than or equal to 2\",\"help\":\"NSTRATA=*n*\",\"type\":\"value\"},{\"name\":\"STRATUMWGT=\",\"optional\":true,\"aliases\":[\"STRATUMWEIGHT=\"],\"description\":\"specifies the type of stratum weights that the PSMATCH procedure uses to combine stratum-specific statistics in the assessment of variable balance after stratification\",\"help\":\"STRATUMWGT=TOTAL | TREATED\",\"type\":\"choice\",\"arguments\":[{\"name\":\"TOTAL\",\"description\":\"uses the proportions of total units (treated and control units combined) in the strata as the weights. These weights sum up to one and are appropriate for estimating the ATE.\",\"type\":\"standalone\"},{\"name\":\"TREATED\",\"description\":\"uses the proportions of treated units in the strata as the weights. These weights sum up to one and are appropriate for estimating the ATT.\",\"type\":\"standalone\"}]}]}],\"supportSiteInformation\":{\"docsetId\":\"statug\",\"docsetVersion\":\"latest\",\"docsetTargetFile\":\"statug_psmatch_toc.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/PWENCODE.json",
    "content": "{\"name\":\"PWENCODE\",\"statements\":[{\"name\":\"PROC PWENCODE\",\"description\":\"Encodes a password.\",\"help\":\"PROC PWENCODE IN='*password*'&lt;OUT=*fileref*&gt;&lt;METHOD=*encoding-method*&gt;;\",\"arguments\":[{\"name\":\"IN=\",\"description\":\"specifies the password to encode. The password can contain up to a maximum of 512 characters, which include alphanumeric characters, spaces, and special characters.\",\"help\":\"IN='*password*'\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n01oh2j8w3v0oin1j9k09ie4la6b\"},{\"name\":\"OUT=\",\"optional\":true,\"description\":\"specifies a fileref to which the output string is to be written. If the OUT= option is not specified, the output string is written to the SAS log.\",\"help\":\"OUT=*fileref*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1o8w483idyvg7n1y2ni3jy8qb1m\"},{\"name\":\"METHOD=\",\"optional\":true,\"description\":\"specifies the encoding method. Here are the supported values for encoding-method.\",\"help\":\"METHOD=*encoding-method*\",\"type\":\"value\",\"arguments\":[{\"name\":\"SAS001\",\"description\":\"uses base64 to encode passwords.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0t7v26h5q99mqn1rpqqdqdmywd3\"},{\"name\":\"SAS002\",\"aliases\":[\"SASENC\"],\"description\":\"uses a 32-bit fixed key. Uses SAS Proprietary encryption.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n05f1qm45rytten1r7ale7u14187\"},{\"name\":\"SAS003\",\"description\":\"uses a 256-bit fixed key plus a 16-bit random salt value. Uses AES encryption.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n09t32q28nixgwn1jymry5mqbdve\"},{\"name\":\"SAS004\",\"description\":\"uses a 256-bit fixed key and a 64-bit random salt value. Uses AES encryption.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1vjwr79ixhtaun0ztqomegs3zqe\"},{\"name\":\"SAS005\",\"description\":\"uses a 256-bit fixed key, a 64-bit random salt value, and is hashed for additional iterations. Uses AES encryption.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0ml07822yg4e1n1rgt4hsas2b7l\"}],\"supportSiteTargetFragment\":\"n0xasq2k8okpayn0zbrnrgmwduse\"}],\"supportSiteTargetFile\":\"n0dc6in0v7nfain1f2whl6f5x66p.htm\"}],\"supportSiteInformation\":{\"docsetId\":\"proc\",\"docsetVersion\":\"v_002\",\"docsetTargetFile\":\"n1vzmasf0tdebfn1xec0k1tevq7q.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/PYTHON.json",
    "content": "{\"name\":\"PYTHON\",\"statements\":[{\"name\":\"PROC PYTHON\",\"description\":\"Runs Python statements within a SAS session.\",\"help\":\"Submit a block of Python codePROC PYTHON <INFILE='file-name' | fileref><RESTART><TERMINATE><TIMEOUT=n>;\\n\\t<SUBMIT;>\\n\\t\\t Python statements                                     \\n\\n\\t<ENDSUBMIT;>\\n                         RUN;Submit Python code interactivelyPROC PYTHON <INFILE='file-name' | fileref><ECHO><RESTART><TERMINATE><TIMEOUT=n>;\\n\\t<INTERACTIVE;>\\n\\t\\t Python statements, submitted                               interactively\\n\\n\\t<ENDINTERACTIVE;>\\n             RUN;\",\"arguments\":[{\"name\":\"ECHO\",\"optional\":true,\"description\":\"specifies that interactively submitted lines of Python code should be included in the SAS log.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1b882ngvgvr4fn13on1a96h3999\"},{\"name\":\"INFILE=\",\"optional\":true,\"description\":\"identifies a source file or fileref that contains Python statements to run within a SAS session.\",\"help\":\"INFILE='*file-name*' | fileref\",\"type\":\"choice\",\"arguments\":[{\"name\":\"'file-name'\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"fileref\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"n0mpc6fgw7xua9n16av37j0ft406\"},{\"name\":\"RESTART\",\"optional\":true,\"description\":\"terminates a PYTHON subprocess if one is running currently, and creates a new subprocess.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p10yoxmdu89eqen15pdzgroq6gn9\"},{\"name\":\"TERMINATE\",\"optional\":true,\"description\":\"stops the PYTHON subprocess when the current PYTHON procedure call completes. The next call to the PYTHON procedure begins a new instance of the PYTHON subprocess.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0h3mrsqzq6vg3n1qfc8aj5wteg8\"},{\"name\":\"TIMEOUT=\",\"optional\":true,\"description\":\"specifies the number of seconds that can elapse before PROC PYTHON terminates when attempting to connect to a Python environment.\",\"help\":\"TIMEOUT=*n*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1dh0muqz7botcn191iuwtn92r1t\"}],\"supportSiteTargetFile\":\"n0asd2rsj9aedgn1828aptww56of.htm\"},{\"name\":\"SUBMIT\",\"description\":\"Identifies the beginning of a block of Python code. Enter Python statements between the SUBMIT and ENDSUBMIT statements.\",\"help\":\"SUBMIT ;\",\"supportSiteTargetFile\":\"p1d800yjyryv66n11uwojd5lai6u.htm\"},{\"name\":\"ENDSUBMIT\",\"description\":\"Specified on a line by itself, this statement identifies the end of a block of Python statements.\",\"help\":\"ENDSUBMIT ;\",\"supportSiteTargetFile\":\"n078tnit7op0hkn1w05saqsuphad.htm\"},{\"name\":\"INTERACTIVE\",\"aliases\":[\"I\"],\"description\":\"Identifies the beginning of Python code that you submit interactively.\",\"help\":\"INTERACTIVE ;\",\"supportSiteTargetFile\":\"n196zz1gt26h8sn1k1r086557rpm.htm\"},{\"name\":\"ENDINTERACTIVE\",\"description\":\"Specified on a line by itself, this statement identifies the end of Python code that you submit interactively.\",\"help\":\"ENDINTERACTIVE ;\",\"supportSiteTargetFile\":\"p1bwh7qlvjj7sbn1b77mtcisbus1.htm\"}],\"supportSiteInformation\":{\"docsetId\":\"proc\",\"docsetVersion\":\"v_002\",\"docsetTargetFile\":\"p1iycdzbxw2787n178ysea5ghk6l.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/QDEVICE.json",
    "content": "{\"name\":\"QDEVICE\",\"statements\":[{\"name\":\"PROC QDEVICE\",\"description\":\"Controls the input data that is examined, the contents of a report, and the type of output to create.\",\"help\":\"PROC QDEVICE \\n<REPORT=GENERAL | FONT | DEVOPTION | LINESTYLE | RECTANGLE |                         SYMBOL>\\n<OUT=SAS-data-set>\\n<CATALOG=catalog-name>\\n<DEVLOC=GDEVICEn | SASHELP |                         _ALL_ | libref>\\n<REGISTRY=SASHELP | SASUSER>\\n<SUPPORT=YES | NO | ALL>\\n<UNITS=IN | CM;>\\n\\tDEVICE <device-name(s)><_ALL_><_HTML_><_LISTING_><_RTF_>; \\n\\n\\tPRINTER  <printer-name(s)><_ALL_><_PCL_><_PDF_><_PRINTER_><_PS_>;\\n\\n\\tVAR  variable-1<variable-2 ...>;\\n\",\"arguments\":[{\"name\":\"CATALOG=\",\"optional\":true,\"aliases\":[\"C=\",\"CAT=\"],\"description\":\"specifies the name of a SAS device catalog to search for a device.\",\"help\":\"CATALOG=*catalog-name*\",\"type\":\"dataSet\"},{\"name\":\"DEVLOC=\",\"optional\":true,\"description\":\"specifies the library or libraries where the device catalog is located.\",\"help\":\"DEVLOC=GDEVICE*n* | SASHELP | _ALL_ | *libref*\",\"type\":\"choice\",\"arguments\":[{\"name\":\"GDEVICE\",\"description\":\"specifies to search one of the SAS/GRAPH device libraries for a device. n can be 0–9.\",\"help\":\"GDEVICE*n*\",\"type\":\"value\"},{\"name\":\"SASHELP\",\"description\":\"specifies to search the Sashelp library for a device.\",\"type\":\"standalone\"},{\"name\":\"_ALL_\",\"description\":\"specifies to search the libraries Gdevice0 – Gdevice9 and the Sashelp library, in this order, for a device. All occurrences of a device from any of these libraries are reported.\",\"type\":\"standalone\"},{\"name\":\"libref\",\"placeholder\":true,\"description\":\"specifies a valid SAS library to search.\",\"type\":\"dataSet\"}]},{\"name\":\"OUT=\",\"optional\":true,\"description\":\"specifies an output SAS data set for the report.\",\"help\":\"OUT=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"REGISTRY=\",\"optional\":true,\"aliases\":[\"REG=\"],\"description\":\"specifies which section of the SAS registry to search when querying a universal printer.\",\"help\":\"REGISTRY=SASHELP | SASUSER\",\"type\":\"choice\",\"arguments\":[{\"name\":\"SASHELP\",\"description\":\"search the SASHELP section of the registry.\",\"type\":\"standalone\"},{\"name\":\"SASUSER\",\"description\":\"search the SASUSER section of the registry.\",\"type\":\"standalone\"}]},{\"name\":\"REPORT=\",\"optional\":true,\"description\":\"specifies the type of report that you want to generate.\",\"help\":\"REPORT=DEVOPTION | FONT | GENERAL | LINESTYLE | RECTANGLE | SYMBOL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DEVOPTION\",\"description\":\"produces a report of the hardware device options supported by the specified device.\",\"type\":\"standalone\"},{\"name\":\"FONT\",\"description\":\"produces a report of all system and device-resident fonts supported by the specified device or printer.\",\"type\":\"standalone\"},{\"name\":\"GENERAL\",\"description\":\"produces a report of general information about the specified device or printer. This report includes information such as destination, margin sizes, default font information, resolution, color information, and size by pixels. This is the default report.\",\"type\":\"standalone\"},{\"name\":\"LINESTYLE\",\"description\":\"produces a report of the hardware line styles supported by the specified device.\",\"type\":\"standalone\"},{\"name\":\"RECTANGLE\",\"description\":\"produces a report of the hardware fill types supported by the specified device.\",\"type\":\"standalone\"},{\"name\":\"SYMBOL\",\"description\":\"produces a report of the hardware symbols supported by the specified device.\",\"type\":\"standalone\"}]},{\"name\":\"SUPPORT=\",\"optional\":true,\"description\":\"specifies whether to report only supported features, only unsupported features, or all features.\",\"help\":\"SUPPORT=YES | NO | ALL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YES\",\"description\":\"reports only hardware features and options that are supported.\",\"type\":\"standalone\"},{\"name\":\"NO\",\"description\":\"reports only the hardware features and options that are not supported.\",\"type\":\"standalone\"},{\"name\":\"ALL\",\"description\":\"reports both supported and unsupported hardware features and options.\",\"type\":\"standalone\"}]},{\"name\":\"UNITS=\",\"optional\":true,\"description\":\"specifies whether the values for the certain variables are reported in inches (IN) or centimeters (CM) in the GENERAL report.\",\"help\":\"UNITS=IN | CM\",\"type\":\"choice\",\"arguments\":[{\"name\":\"IN\",\"type\":\"standalone\"},{\"name\":\"CM\",\"type\":\"standalone\"}]}]},{\"name\":\"DEVICE\",\"description\":\"Specifies which SAS/GRAPH devices to generate a report for.\",\"help\":\"DEVICE &lt;*device-name(s)*&gt;&lt;_ALL_&gt;&lt;_HTML_&gt;&lt;_LISTING_&gt;&lt;_RTF_&gt;;\",\"arguments\":[{\"name\":\"*\",\"description\":\"* represents any number of characters in that position of the device name.\",\"type\":\"standalone\"},{\"name\":\"?\",\"description\":\"? represents one character in the device name. You can specify multiple consecutive ? characters in the device name.\",\"type\":\"standalone\"},{\"name\":\"_ALL_\",\"optional\":true,\"description\":\"generates reports for all devices.\",\"type\":\"standalone\"},{\"name\":\"_HTML_\",\"optional\":true,\"description\":\"determines the default device that is used by the ODS HTML destination and generates a report for that device. The device is based on the default HTML version that is assigned in the ODS key of the SAS registry.\",\"type\":\"standalone\"},{\"name\":\"_LISTING_\",\"optional\":true,\"description\":\"determines the default device that is used by the ODS Listing destination and generates a report for that device. The default value is a host–specific display device.\",\"type\":\"standalone\"},{\"name\":\"_RTF_\",\"optional\":true,\"description\":\"determines the default device that is used by the ODS RTF destination and generates a report for that device.\",\"type\":\"standalone\"}]},{\"name\":\"PRINTER\",\"description\":\"Specifies which universal printers to generate a report for.\",\"help\":\"PRINTER &lt;*printer-name(s)*&gt;&lt;_ALL_&gt;&lt;_PCL_&gt;&lt;_PDF_&gt;&lt;_PRINTER_&gt;&lt;_PS_&gt;;\",\"arguments\":[{\"name\":\"*\",\"description\":\"indicates to report all printers that match any number of characters in the position of the * in the printer name.\",\"type\":\"standalone\"},{\"name\":\"?\",\"description\":\"indicates to report all printers that match the printer name, where the character in the ? position can be any character. You can use multiple ? characters in printer-name to represent the same number of characters in the same position in the printer name.\",\"type\":\"standalone\"},{\"name\":\"_ALL_\",\"optional\":true,\"description\":\"generates reports for all universal printers.\",\"type\":\"standalone\"},{\"name\":\"_PCL_\",\"optional\":true,\"description\":\"determines the default printer that is used by the ODS PCL destination and generates a report for that printer.\",\"type\":\"standalone\"},{\"name\":\"_PDF_\",\"optional\":true,\"description\":\"determines the default printer that is used by the ODS PDF destination and generates a report for that printer.\",\"type\":\"standalone\"},{\"name\":\"_PRINTER_\",\"optional\":true,\"description\":\"determines the default printer that is used by the ODS PRINTER destination and generates a report for that printer.\",\"type\":\"standalone\"},{\"name\":\"_PS_\",\"optional\":true,\"description\":\"determines the default printer that is used by the ODS PS destination and generates a report for that printer.\",\"type\":\"standalone\"}]},{\"name\":\"VAR\",\"description\":\"Specifies which variables to include in a report. The order of the variables in the report is determined by the order in which they are specified in the VAR statement.\",\"help\":\"VAR *variable-1*&lt;*variable-2* ...&gt;;\",\"arguments\":[{\"name\":\"ALIAS\",\"optional\":true,\"description\":\"reports an alternate name for a font that is registered by the FONTREG procedure.\",\"type\":\"standalone\"},{\"name\":\"ANIMATION\",\"optional\":true,\"description\":\"specifies whether animation is active, enabled, disabled, or unsupported for a Universal Printer:\",\"type\":\"standalone\"},{\"name\":\"BIT\",\"optional\":true,\"description\":\"displays the bit position in the DEVOPTS string for the corresponding device option.\",\"type\":\"standalone\"},{\"name\":\"BITSTRING\",\"optional\":true,\"description\":\"displays the bit pattern of the corresponding device option.\",\"type\":\"standalone\"},{\"name\":\"BMIN\",\"optional\":true,\"description\":\"displays the minimum size of the bottom margin.\",\"type\":\"standalone\"},{\"name\":\"BOTTOM\",\"optional\":true,\"description\":\"displays the current size of bottom margin.\",\"type\":\"standalone\"},{\"name\":\"CLRSPACE\",\"optional\":true,\"description\":\"displays the type of color support (color space) such as RGB, RGBA, CMYK, HLS, and so on.\",\"type\":\"standalone\"},{\"name\":\"COLS\",\"optional\":true,\"description\":\"displays the number of horizontal columns in the output.\",\"type\":\"standalone\"},{\"name\":\"COMPRESSION\",\"optional\":true,\"description\":\"indicates the condition under which compression is used. Compression can always be in effect, in effect only when specified by a compression option, or never used by the device or printer.\",\"type\":\"standalone\"},{\"name\":\"COMPMETHOD\",\"optional\":true,\"description\":\"indicates the compression method that is used if compression is supported by device or printer.\",\"type\":\"standalone\"},{\"name\":\"DESC\",\"optional\":true,\"description\":\"displays the default description of the device or printer.\",\"type\":\"standalone\"},{\"name\":\"DEST\",\"optional\":true,\"description\":\"displays the default destination of the device or universal printer if the device or printer does not send output directly to a printer or a display device. If the device sends output directly to a printer or a display device, the value of DEST is blank.\",\"type\":\"standalone\"},{\"name\":\"EMBEDDING\",\"optional\":true,\"description\":\"indicates whether font embedding is supported.\",\"type\":\"standalone\"},{\"name\":\"FHEIGHT\",\"optional\":true,\"description\":\"displays the height, in the respective units, of the default font.\",\"type\":\"standalone\"},{\"name\":\"FILL\",\"optional\":true,\"description\":\"displays the hardware fill types that are supported by the device.\",\"type\":\"standalone\"},{\"name\":\"FONT\",\"optional\":true,\"description\":\"displays the name of the default font.\",\"type\":\"standalone\"},{\"name\":\"FORMAT\",\"optional\":true,\"description\":\"displays the output format type (for example, EMF, EMF Plus, EMF Dual, PostScript, GIF, Host Display, and so on).\",\"type\":\"standalone\"},{\"name\":\"FSTYLE\",\"optional\":true,\"description\":\"displays the font style, such as Roman or Italic, for each font and font weight, in an output data set.\",\"type\":\"standalone\"},{\"name\":\"FTYPE\",\"optional\":true,\"description\":\"displays the type of font, such as Printer Resident, System, or Software.\",\"type\":\"standalone\"},{\"name\":\"FVERSION\",\"optional\":true,\"description\":\"specifies the font version.\",\"type\":\"standalone\"},{\"name\":\"FWEIGHT\",\"optional\":true,\"description\":\"displays the font weight, such as Normal or Bold, for each font and font style, in an output data set.\",\"type\":\"standalone\"},{\"name\":\"HEIGHT\",\"optional\":true,\"description\":\"displays the default vertical height of output (in UNITS) sent to the device or printer.\",\"type\":\"standalone\"},{\"name\":\"HRES\",\"optional\":true,\"description\":\"displays the horizontal resolution (pixels per UNIT) of output sent to the device or printer. Horizontal resolution is calculated by the formula HRES=XPIXELS/WIDTH.\",\"type\":\"standalone\"},{\"name\":\"IOTYPE\",\"optional\":true,\"description\":\"displays the type of input/output used by the device or printer (for example, DISK, PRINTER, PIPE, GTERM, and so on).\",\"type\":\"standalone\"},{\"name\":\"LEFT\",\"optional\":true,\"description\":\"displays the size of the left margin of output.\",\"type\":\"standalone\"},{\"name\":\"LINE\",\"optional\":true,\"description\":\"displays the line styles supported by the device or printer.\",\"type\":\"standalone\"},{\"name\":\"LMIN\",\"optional\":true,\"description\":\"displays the minimum left margin.\",\"type\":\"standalone\"},{\"name\":\"LOCATION\",\"optional\":true,\"description\":\"for the device entry that was found, displays the physical location of the Gdevice0-Gdevice9 library, the Sashelp library, or the library that is specified by the DEVLOC= option. For universal printers, this variable displays the SAS registry (SASHELP or SASUSER) where the printer was found.\",\"type\":\"standalone\"},{\"name\":\"MAXCOLORS\",\"optional\":true,\"description\":\"displays the maximum number of colors that are supported by the device or printer.\",\"type\":\"standalone\"},{\"name\":\"MODULE\",\"optional\":true,\"description\":\"specifies the name of the device driver module.\",\"type\":\"standalone\"},{\"name\":\"NAME\",\"optional\":true,\"description\":\"displays the name of the device or printer.\",\"type\":\"standalone\"},{\"name\":\"ODESC\",\"optional\":true,\"description\":\"displays the descriptions of the hardware options in effect for the device.\",\"type\":\"standalone\"},{\"name\":\"OPTION\",\"optional\":true,\"description\":\"displays the names of the hardware options in effect for the device.\",\"type\":\"standalone\"},{\"name\":\"PROTOTYPE\",\"optional\":true,\"description\":\"displays the prototype (model) that was used to define the universal printer.\",\"type\":\"standalone\"},{\"name\":\"RIGHT\",\"optional\":true,\"description\":\"displays the size of the right margin.\",\"type\":\"standalone\"},{\"name\":\"RMIN\",\"optional\":true,\"description\":\"displays the minimum size of the right margin.\",\"type\":\"standalone\"},{\"name\":\"ROWS\",\"optional\":true,\"description\":\"displays the number of vertical rows in the output.\",\"type\":\"standalone\"},{\"name\":\"SUPPORT\",\"optional\":true,\"description\":\"displays the device options.\",\"type\":\"standalone\"},{\"name\":\"SYMBOL\",\"optional\":true,\"description\":\"specifies the name of hardware symbols.\",\"type\":\"standalone\"},{\"name\":\"TMIN\",\"optional\":true,\"description\":\"displays the minimum top margin of output.\",\"type\":\"standalone\"},{\"name\":\"TOP\",\"optional\":true,\"description\":\"displays the size of the top margin.\",\"type\":\"standalone\"},{\"name\":\"TYPE\",\"optional\":true,\"description\":\"displays the type of device or printer.\",\"type\":\"standalone\"},{\"name\":\"UNITS\",\"optional\":true,\"description\":\"displays the units (IN for inches or CM for centimeters) in which sizes are displayed. In the SAS log, the value of UNITS appears respectively, as inches or centimeters. In an output data set, the value of UNITS appears as IN or CM.\",\"type\":\"standalone\"},{\"name\":\"VISUAL\",\"optional\":true,\"description\":\"displays the visual color type (for example, Indexed Color, Direct Color, True Color, Monochrome, or Gray Scale).\",\"type\":\"standalone\"},{\"name\":\"VRES\",\"optional\":true,\"description\":\"displays the vertical resolution (pixels per UNIT) of output sent to the device or printer.\",\"type\":\"standalone\"},{\"name\":\"WIDTH\",\"optional\":true,\"description\":\"displays the width of output (in UNITS) sent to device or printer.\",\"type\":\"standalone\"},{\"name\":\"XPIXELS\",\"optional\":true,\"description\":\"displays the width of the output in pixels.\",\"type\":\"standalone\"},{\"name\":\"YPIXELS\",\"optional\":true,\"description\":\"displays the height of the output in pixels.\",\"type\":\"standalone\"}]}],\"supportSiteInformation\":{\"docsetId\":\"proc\",\"docsetVersion\":\"v_002\",\"docsetTargetFile\":\"n0cg3x9vvneb5wn1j5fk615wcubp.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/QKB.json",
    "content": "{\"name\":\"QKB\",\"statements\":[{\"name\":\"PROC QKB\",\"description\":\"The QKB procedure lists each QKB that is stored in the QKB repository.\",\"help\":\"PROC QKB \\n\\t<NOPRINT> ;\\n\\tLIST <OUT=output-data-set>;\",\"arguments\":[{\"name\":\"NOPRINT\",\"optional\":true,\"description\":\"stops the output from being displayed in the console.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p123e1f6crixk6n1lhqxuqugnce6\"},{\"name\":\"OUT=\",\"optional\":true,\"description\":\"specifies the storage location of the QKB data set.\",\"help\":\"OUT=*output-data-set*\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"p0f4dzl6vo9fwpn12m2likudr1iv\"}],\"supportSiteTargetFile\":\"p0droqm19z2mo9n12e37toil7xzc.htm\"}],\"supportSiteInformation\":{\"docsetId\":\"dqclref\",\"docsetVersion\":\"v_008\",\"docsetTargetFile\":\"p0un31h958xzbjn1wavwiyq88j70.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/QLIM.json",
    "content": "{\"name\":\"QLIM\",\"statements\":[{\"name\":\"PROC QLIM\",\"description\":\"The QLIM (qualitative and limited dependent variable model) procedure analyzes univariate and multivariate limited dependent variable models where dependent variables take discrete values or dependent variables are observed only in a limited range of values. This procedure includes logit, probit, tobit, selection, and multivariate models. The multivariate model can contain discrete choice and limited endogenous variables as well as continuous endogenous variables. † The QLIM procedure supports the following models: † o linear regression model with heteroscedasticity o Box-Cox regression with heteroscedasticity o probit with heteroscedasticity o logit with heteroscedasticity o tobit (censored and truncated) with heteroscedasticity o bivariate probit o bivariate tobit o sample selection and switching regression models o multivariate limited dependent variables o stochastic frontier production and cost models\",\"help\":\"PROC QLIM <CORRB><CORROUT><COVB><COVEST=OP | HESSIAN | QML><COVOUT><DATA=SAS-data-set><ITPRINT><METHOD=CONGRA | DBLDOG | NMSIMP... ><NDRAW=value><NOPRINT><OUTEST=SAS-data-set><PRINTALL><SEED=value>; \\n\\tBOUNDS bound1 < , bound2 ...>           ;\\n\\n\\tBY variables ;\\n\\n\\tCLASS variables ;\\n\\n\\tENDOGENOUS <CENSORED <(censored-options )>><DISCRETE <(discrete-options)>><CENSORED <(truncated-options )>> ...;\\n\\n\\tFREQ variable ;\\n\\n\\tHETERO               <LINK=<EXP | LINEAR>><NOCONST><SQUARE> ...;\\n\\n\\tINIT initvalue1 < , initvalue2 ...> ;\\n\\n\\tMODEL <BOXCOX (option-list )><LIMIT1=value><NOINT> ...;\\n\\n\\tNLOPTIONS <ABSCONV= | ABSTOL=r><ABSFCONV=r[n] | ABSFTOL=r[n><ABSGCONV=r[n] | ABSGTOL=r[n> ...;\\n\\n\\tOUTPUT <CONDITIONAL><ERRSTD><OUT=SAS-data-set> ...;\\n\\n\\tRESTRICT restriction1 <, restriction2 ...> ;\\n\\n\\tTEST <ALL><LM><WALD> ...;\\n\\n\\tWEIGHT variable ;\\n\",\"arguments\":[{\"name\":\"CORRB\",\"optional\":true,\"description\":\"Prints the correlation matrix of the parameter estimates.\",\"type\":\"standalone\"},{\"name\":\"CORROUT\",\"optional\":true,\"description\":\"Writes the correlation matrix for the parameter estimates to the OUTEST= data set. This option is valid only if the OUTEST= option is specified.\",\"type\":\"standalone\"},{\"name\":\"COVB\",\"optional\":true,\"description\":\"Prints the covariance matrix of the parameter estimates.\",\"type\":\"standalone\"},{\"name\":\"COVEST=\",\"optional\":true,\"description\":\"Specifies the method to calculate the covariance matrix of parameter estimates.\",\"help\":\"COVEST=OP | HESSIAN | QML\",\"type\":\"choice\",\"arguments\":[{\"name\":\"OP\",\"description\":\"Specifies the covariance from the outer product matrix.\",\"type\":\"standalone\"},{\"name\":\"HESSIAN\",\"description\":\"Specifies the covariance from the inverse Hessian matrix.\",\"type\":\"standalone\"},{\"name\":\"QML\",\"description\":\"Specifies the covariance from the outer product and Hessian matrices (the quasi-maximum likelihood estimates).\",\"type\":\"standalone\"}]},{\"name\":\"COVOUT\",\"optional\":true,\"description\":\"Writes the covariance matrix for the parameter estimates to the OUTEST= data set. This option is valid only if the OUTEST= option is specified.\",\"type\":\"standalone\"},{\"name\":\"DATA=\",\"optional\":true,\"description\":\"Specifies the input SAS data set. If the DATA= option is not specified, PROC QLIM uses the most recently created SAS data set.\",\"help\":\"DATA=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"ITPRINT\",\"optional\":true,\"description\":\"Prints the initial parameter estimates, convergence criteria, and all constraints of the optimization. At each iteration, objective function value, step size, maximum gradient, and slope of search direction are printed as well.\",\"type\":\"standalone\"},{\"name\":\"METHOD=\",\"optional\":true,\"description\":\"Specifies the optimization method. If this option is specified, it overwrites the TECH= option in NLOPTIONS statement.\",\"help\":\"METHOD=CONGRA | DBLDOG | NMSIMP | NEWRAP | NRRIDG | QUANEW | TRUREG\",\"type\":\"choice\",\"arguments\":[{\"name\":\"CONGRA\",\"description\":\"Performs a conjugate-gradient optimization\",\"type\":\"standalone\"},{\"name\":\"DBLDOG\",\"description\":\"Performs a version of double dogleg optimization\",\"type\":\"standalone\"},{\"name\":\"NMSIMP\",\"description\":\"Performs a Nelder-Mead simplex optimization\",\"type\":\"standalone\"},{\"name\":\"NEWRAP\",\"description\":\"Performs a Newton-Raphson optimization combining a line-search algorithm with ridging\",\"type\":\"standalone\"},{\"name\":\"NRRIDG\",\"description\":\"Performs a Newton-Raphson optimization with ridging\",\"type\":\"standalone\"},{\"name\":\"QUANEW\",\"description\":\"Performs a quasi-Newton optimization\",\"type\":\"standalone\"},{\"name\":\"TRUREG\",\"description\":\"Performs a trust region optimization\",\"type\":\"standalone\"}]},{\"name\":\"NDRAW=\",\"optional\":true,\"description\":\"Specifies the number of draws for Monte Carlo integration.\",\"help\":\"NDRAW=*value*\",\"type\":\"value\"},{\"name\":\"NOPRINT\",\"optional\":true,\"description\":\"Suppresses the normal printed output but does not suppress error listings. If NOPRINT option is set, then any other print option is turned off.\",\"type\":\"standalone\"},{\"name\":\"OUTEST=\",\"optional\":true,\"description\":\"Writes the parameter estimates to an output data set.\",\"help\":\"OUTEST=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"PRINTALL\",\"optional\":true,\"description\":\"Turns on all the printing-control options. The options set by PRINTALL are COVB and CORRB.\",\"type\":\"standalone\"},{\"name\":\"SEED=\",\"optional\":true,\"description\":\"Specifies a seed for pseudo-random number generation in Monte Carlo integration.\",\"help\":\"SEED=*value*\",\"type\":\"value\"}]},{\"name\":\"BAYES\",\"description\":\"controls the Metropolis sampling scheme that is used to obtain samples from the posterior distribution of the underlying model and data.\",\"help\":\"BAYES             &lt;*options*&gt;\",\"arguments\":[{\"name\":\"AUTOMCMC\",\"optional\":true,\"description\":\"specifies an algorithm for the auto-initialization of the MCMC sampling algorithm.\",\"help\":\"AUTOMCMC&lt;=(*automcmc-options*)&gt;\",\"type\":\"standaloneOrValue\",\"arguments\":[{\"name\":\"ACCURACY=\",\"description\":\"ustomizes the behavior of the AUTOMCMC algorithm when you are searching for an accurate representation of the posterior distribution.\",\"help\":\"ACCURACY=(*accuracy-options*)\",\"type\":\"value\",\"arguments\":[{\"name\":\"ATTEMPTS=\",\"description\":\"specifies the maximum number of attempts that is required in order to obtain accurate samples from the posterior distribution. By default, ATTEMPTS=10.\",\"help\":\"                           ATTEMPTS=*number*\",\"type\":\"value\"},{\"name\":\"TARGETESS=\",\"description\":\"requests that the accuracy search be based on the effective sample size (ESS) analysis. If you specify this option, you must also specify the minimum number of effective samples.\",\"help\":\"TARGETESS=*number*\",\"type\":\"value\"},{\"name\":\"TARGETSTATS\",\"description\":\"requests that the accuracy search be based on the analysis of the posterior mean and a posterior quantile of interest. You can customize the behavior of the analysis of the posterior mean by adjusting HEIDELBERGER sub-options.\",\"help\":\"TARGETSTATS&lt;=(*targetstats-options*)&gt;\",\"type\":\"standaloneOrValue\"},{\"name\":\"TOL=\",\"description\":\"specifies the proportion of parameters that are required to be accurate. By default, TOL=0.95.\",\"help\":\"TOL=*value*\",\"type\":\"value\"}]},{\"name\":\"MAXNMC=\",\"description\":\"specifies the maximum number of posterior samples that the AUTOMCMC option allows.\",\"help\":\"MAXNMC=*number*\",\"type\":\"value\"},{\"name\":\"RANDINIT\",\"description\":\"specifies random starting points for the MCMC algorithm. MULTIPLIER= specifies the radius of the area where the starting points are sampled. PROPORTION= specifies the proportion of the starting points that are sampled around the maximum likelihood estimate and around the prior mean.\",\"help\":\"RANDINIT&lt;=(MULTIPLIER=(*value*) | PROPORTION=(*value*))&gt;\",\"type\":\"standaloneOrValue\",\"arguments\":[{\"name\":\"MULTIPLIER=\",\"description\":\"specifies the radius of the area where the starting points are sampled. For the starting points that are sampled around the maximum likelihood estimate, the radius equals the standard deviation of the maximum likelihood estimate multiplied by the multiplier value. For the starting points that are sampled around the prior mean, the radius equals the standard deviation of the prior distribution multiplied by the multiplier value. By default, MULTIPLIER=2.\",\"help\":\"MULTIPLIER=(*value*)\",\"type\":\"value\"},{\"name\":\"PROPORTION=\",\"description\":\"specifies the proportion of starting points that are sampled around the maximum likelihood estimate and around the prior mean. By default, PROPORTION=0, which implies that all the initial points are sampled around the maximum likelihood estimate. If you use choose to sample starting points around the prior mean, the convergence of the MCMC algorithm could be very slow.\",\"help\":\"PROPORTION=(*value*)\",\"type\":\"value\"}]},{\"name\":\"STATIONARITY=\",\"description\":\"customizes the behavior of the AUTOMCMC algorithm when you are trying to sample from the posterior distribution.\",\"help\":\"STATIONARITY=(ATTEMPTS=*number* | TOL=*value*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ATTEMPTS=\",\"description\":\"specifies the maximum number of attempts that are required in order to obtain stationary samples from the posterior distribution. By default, ATTEMPTS=10.\",\"help\":\"ATTEMPTS=*number*\",\"type\":\"value\"},{\"name\":\"TOL=\",\"description\":\"specifies the proportion of parameter whose samples must to be stationary. By default, TOL=0.95.\",\"help\":\"TOL=*value*\",\"type\":\"value\"}]}]},{\"name\":\"DIAGNOSTICS=\",\"optional\":true,\"aliases\":[\"DIAG\"],\"description\":\"controls which diagnostics are produced. All the following diagnostics are produced with DIAGNOSTICS=ALL. If you do not want any of these diagnostics, specify DIAGNOSTICS=NONE. If you want some but not all of the diagnostics, or if you want to change certain settings of these diagnostics, specify a subset of the following keywords. By default, DIAGNOSTICS=NONE.\",\"help\":\"DIAGNOSTICS=ALL | \\n                NONE | \\n                (keyword-list)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"AUTOCORR\",\"description\":\"computes the autocorrelations at lags that are specified in the numeric-list. Elements in the numeric-list are truncated to integers, and repeated values are removed. If the LAGS= option is not specified, autocorrelations of lags 1, 5, 10, and are computed.\",\"help\":\"AUTOCORR                       &lt;(LAGS=*numeric-list*)&gt;\",\"type\":\"standaloneOrValue\"},{\"name\":\"AUTOMCMCSUM\",\"description\":\"produces a summary table for the AUTOMCMC (automatic MCMC) sampling tool is used.\",\"type\":\"standalone\"},{\"name\":\"ESS\",\"description\":\"computes Carlin’s estimate of the effective sample size, the correlation time, and the efficiency of the chain for each parameter.\",\"type\":\"standalone\"},{\"name\":\"GEWEKE\",\"description\":\"computes the Geweke spectral density diagnostics, which are essentially a two-sample t test between the first f 1 portion and the last f 2 portion of the chain. The default is f 1 equals 0.1 and f 2 equals 0.5.\",\"help\":\"GEWEKE                       &lt;(*geweke-options*)&gt;\",\"type\":\"standaloneOrValue\",\"arguments\":[{\"name\":\"FRAC1=\",\"description\":\"specifies the fraction f 1 for the first window.\",\"help\":\"FRAC1=*value*\",\"type\":\"value\"},{\"name\":\"FRAC2=\",\"description\":\"specifies the fraction f 2 for the second window.\",\"help\":\"FRAC2=*value*\",\"type\":\"value\"}]},{\"name\":\"HEIDELBERGER\",\"description\":\"computes the Heidelberger and Welch diagnostic for each variable, which consists of a stationarity test of the null hypothesis that the sample values form a stationary process.\",\"help\":\"HEIDELBERGER                       &lt;(*heidel-options*)&gt;\",\"type\":\"standaloneOrValue\",\"arguments\":[{\"name\":\"SALPHA=\",\"description\":\"specifies the alpha level for the stationarity test.\",\"help\":\"SALPHA=*value*\",\"type\":\"value\"},{\"name\":\"HALPHA=\",\"description\":\"specifies the alpha level for the halfwidth test.\",\"help\":\"HALPHA=*value*\",\"type\":\"value\"},{\"name\":\"EPS=\",\"description\":\"specifies a positive number epsilon such that if the halfwidth is less than epsilon times the sample mean of the retained iterates, the halfwidth test is passed.\",\"help\":\"EPS=*value*\",\"type\":\"value\"}]},{\"name\":\"MCERROR\",\"aliases\":[\"MCSE\"],\"description\":\"computes the Monte Carlo standard error for each parameter. The Monte Carlo standard error, which measures the simulation accuracy, is the standard error of the posterior mean estimate and is calculated as the posterior standard deviation divided by the square root of the effective sample size.\",\"type\":\"standalone\"},{\"name\":\"RAFTERY\",\"description\":\"computes the Raftery and Lewis diagnostics.\",\"help\":\"RAFTERY&lt;(*raftery-options*)&gt;\",\"type\":\"standaloneOrValue\",\"arguments\":[{\"name\":\"QUANTILE=\",\"aliases\":[\"Q\"],\"description\":\"specifies the order (a value between 0 and 1) of the quantile of interest. The default is 0.025.\",\"help\":\"QUANTILE=value\",\"type\":\"value\"},{\"name\":\"ACCURACY=\",\"aliases\":[\"R\"],\"description\":\"specifies a small positive number as the margin of error for measuring the accuracy of estimation of the quantile. The default is 0.005.\",\"help\":\"ACCURACY=*value*\",\"type\":\"value\"},{\"name\":\"PROBABILITY=\",\"aliases\":[\"S\"],\"description\":\"specifies the probability of attaining the accuracy of the estimation of the quantile. The default is 0.95.\",\"help\":\"PROBABILITY=*value*\",\"type\":\"value\"},{\"name\":\"EPSILON=\",\"aliases\":[\"EPS\"],\"description\":\"specifies the tolerance level (a small positive number) for the stationary test. The default is 0.001.\",\"help\":\"EPSILON=*value*\",\"type\":\"value\"}]}]},{\"name\":\"DELTA=\",\"optional\":true,\"description\":\"specifies the target acceptance rate during the tuning process of the No-U-Turn Sampler (NUTS) algorithm. By default, DELTA=0.6. Increasing the value can often improve mixing, but it can also significantly slow down the sampling.\",\"help\":\"DELTA=*value*\",\"type\":\"value\"},{\"name\":\"MARGINLIKE\",\"optional\":true,\"description\":\"evaluates of the logarithm of the marginal likelihood.\",\"help\":\"MARGINLIKE&lt;(NSIM=*number*)&gt;\",\"type\":\"standaloneOrValue\"},{\"name\":\"MAXHEIGHT=\",\"optional\":true,\"description\":\"specifies the maximum height of the NUTS algorithm tree.\",\"help\":\"MAXHEIGHT=*value*\",\"type\":\"value\"},{\"name\":\"MAXTUNE=\",\"optional\":true,\"description\":\"specifies the maximum number of tuning phases. The default is 24.\",\"help\":\"MAXTUNE=*number*\",\"type\":\"value\"},{\"name\":\"MINTUNE=\",\"optional\":true,\"description\":\"specifies the minimum number of tuning phases. The default is 2.\",\"help\":\"MINTUNE=*number*\",\"type\":\"value\"},{\"name\":\"NBI=\",\"optional\":true,\"description\":\"specifies the number of burn-in iterations before the chains are saved. The default is 1,000.\",\"help\":\"NBI=*number*\",\"type\":\"value\"},{\"name\":\"NMC=\",\"optional\":true,\"description\":\"specifies the number of iterations after the burn-in for both Metropolis and Hamiltonian sampling schemes.\",\"help\":\"NMC=*number*\",\"type\":\"value\"},{\"name\":\"NMCPRIOR=\",\"optional\":true,\"description\":\"specifies the number of samples for the prior predictive analysis when PLOTS(PRIOR)=BAYESPRED is requested. The default is 10,000.\",\"help\":\"NMCPRIOR=*number*\",\"type\":\"value\"},{\"name\":\"THREADS=\",\"optional\":true,\"aliases\":[\"NTRDS\"],\"description\":\"specifies the number of threads to be used. The number of threads cannot exceed the number of computer cores available. Each core samples the number of iterations that is specified by the NMC option. The default is 1.\",\"help\":\"THREADS=*number*\",\"type\":\"value\"},{\"name\":\"NTU=\",\"optional\":true,\"description\":\"specifies the number of samples for each tuning phase for both Metropolis and Hamiltonian sampling schemes. For more information, see the SAMPLING= option. The default is 500.\",\"help\":\"NTU=*number*\",\"type\":\"value\"},{\"name\":\"OUTPOST=\",\"optional\":true,\"description\":\"names the SAS data set to contain the posterior samples.\",\"help\":\"OUTPOST=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"OUTPRIOR=\",\"optional\":true,\"description\":\"names the SAS data set to contain the prior samples used to generate the prior predictive analysis when you request the prior predictive plots\",\"help\":\"OUTPRIOR=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"PROPCOV=\",\"optional\":true,\"description\":\"specifies the method used in constructing the initial covariance matrix for the Metropolis-Hastings algorithm. The QUANEW and NMSIMP methods find numerically approximated covariance matrices at the optimum of the posterior density function with respect to all continuous parameters. The tuning phase starts at the optimized values; in some problems, this can greatly increase convergence performance. If the approximated covariance matrix is not positive definite, then an identity matrix is used instead.\",\"help\":\"PROPCOV=CONGRA | DBLDOG | NEWRAP | NMSIMP | NRRIDG | QUANEW | TRUREG\",\"type\":\"choice\",\"arguments\":[{\"name\":\"CONGRA\",\"description\":\"performs a conjugate-gradient optimization.\",\"type\":\"standalone\"},{\"name\":\"DBLDOG\",\"description\":\"performs a version of double-dogleg optimization.\",\"type\":\"standalone\"},{\"name\":\"NEWRAP\",\"description\":\"performs a Newton-Raphson optimization that combines a line-search algorithm with ridging.\",\"type\":\"standalone\"},{\"name\":\"NMSIMP\",\"description\":\"performs a Nelder-Mead simplex optimization.\",\"type\":\"standalone\"},{\"name\":\"NRRIDG\",\"description\":\"performs a Newton-Raphson optimization with ridging.\",\"type\":\"standalone\"},{\"name\":\"QUANEW\",\"description\":\"performs a quasi-Newton optimization.\",\"type\":\"standalone\"},{\"name\":\"TRUREG\",\"description\":\"performs a trust-region optimization.\",\"type\":\"standalone\"}]},{\"name\":\"SAMPLING=\",\"optional\":true,\"description\":\"specifies how to sample from the posterior distribution.\",\"help\":\"SAMPLING=*value*\",\"type\":\"value\",\"arguments\":[{\"name\":\"MODELMETROPOLIS\",\"description\":\"implements a Metropolis sampling scheme on multiple blocks: one block for each model (all the parameters of the model) plus a block for all the correlation parameters across the models.\",\"type\":\"standalone\"},{\"name\":\"MULTIMETROPOLIS\",\"description\":\"implements a Metropolis sampling scheme on a single block that contains all the parameters of the model. SAMPLING=MULTIMETROPOLIS is the default option.\",\"type\":\"standalone\"},{\"name\":\"UNIMETROPOLIS\",\"description\":\"implements a Metropolis sampling scheme on multiple blocks, one for each parameter of the model.\",\"type\":\"standalone\"}]},{\"name\":\"SEED=\",\"optional\":true,\"description\":\"specifies an integer seed for the random number generator in the simulation. Specifying a seed enables you to reproduce identical Markov chains for the same specification. If you do not specify the SEED= option, or if you specify a nonpositive seed, a random seed is derived from the time of day.\",\"help\":\"SEED=*number*\",\"type\":\"value\"},{\"name\":\"SIMTIME\",\"optional\":true,\"description\":\"prints the time required for the MCMC sampling.\",\"type\":\"standalone\"},{\"name\":\"STATISTICS\",\"optional\":true,\"aliases\":[\"STATS\"],\"description\":\"controls the number of posterior statistics produced. Specifying STATISTICS=ALL is equivalent to specifying STATISTICS= (CORR COV INTERVAL PRIOR SUMMARY). If you do not want any posterior statistics, specify STATISTICS=NONE. The default is STATISTICS=(SUMMARY INTERVAL).\",\"help\":\"STATISTICS                   <(global-options)> =                   ALL | \\n                NONE | \\n                keyword | \\n                (keyword-list)\",\"type\":\"standaloneOrValue\",\"arguments\":[{\"name\":\"ALPHA=\",\"description\":\"controls the probabilities of the credible intervals. The ALPHA= values must be between 0 and 1. Each ALPHA= value produces a pair of 100(1–ALPHA)% equal-tail and HPD intervals for each parameter. The default is ALPHA=0.05, which yields the 95% credible intervals for each parameter.\",\"help\":\"ALPHA=*numeric-list*\",\"type\":\"value\"},{\"name\":\"PERCENT=\",\"description\":\"requests the percentile points of the posterior samples. The PERCENT= values must be between 0 and 100. The default is PERCENT=25, 50, 75, which yields the 25th, 50th, and 75th percentile points, respectively, for each parameter.\",\"help\":\"PERCENT=*numeric-list*\",\"type\":\"value\"},{\"name\":\"ALL\",\"description\":\"equivalent to specifying STATISTICS= (CORR COV INTERVAL PRIOR SUMMARY).\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"suppresses all posterior statistics.\",\"type\":\"standalone\"},{\"name\":\"CORR\",\"description\":\"produces the posterior correlation matrix.\",\"type\":\"standalone\"},{\"name\":\"COV\",\"description\":\"produces the posterior covariance matrix.\",\"type\":\"standalone\"},{\"name\":\"INTERVAL\",\"description\":\"produces equal-tail credible intervals and HPD intervals. The default is to produce the 95% equal-tail credible intervals and 95% HPD intervals, but you can use the ALPHA= global-option to request intervals of any probabilities.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"suppresses printing of all summary statistics.\",\"type\":\"standalone\"},{\"name\":\"PRIOR\",\"description\":\"produces a summary table of the prior distributions used in the Bayesian analysis.\",\"type\":\"standalone\"},{\"name\":\"SUMMARY\",\"description\":\"produces the means, standard deviations, and percentile points (25th, 50th, and 75th) for the posterior samples. You can use the global PERCENT= global-option to request specific percentile points.\",\"type\":\"standalone\"}]},{\"name\":\"THINNING=\",\"optional\":true,\"aliases\":[\"THIN\"],\"description\":\"controls the thinning of the Markov chain.\",\"help\":\"THINNING=*number*\",\"type\":\"value\"}]},{\"name\":\"BOUNDS\",\"description\":\"The BOUNDS statement imposes simple boundary constraints on the parameter estimates. BOUNDS statement constraints refer to the parameters estimated by the QLIM procedure. Any number of BOUNDS statements can be specified. Each bound is composed of parameters and constants and inequality operators. Parameters associated with regressor variables are referred to by the names of the corresponding regressor variables: item operator item < operator item < operator item ...> > Each item is a constant, the name of a parameter, or a list of parameter names. Each operator is ’<’, ’>’, ’≤’, or ’≥’.\",\"help\":\"BOUNDS bound1 &lt; , bound2 ...&gt; \"},{\"name\":\"BY\",\"description\":\"A BY statement can be used with PROC QLIM to obtain separate analyses on observations in groups defined by the BY variables.\",\"help\":\"BY variables \"},{\"name\":\"CLASS\",\"description\":\"The CLASS statement names the classification variables to be used in the analysis. Classification variables can be either character or numeric.\",\"help\":\"CLASS variables \"},{\"name\":\"ENDOGENOUS\",\"description\":\"The ENDOGENOUS statement specifies the type of dependent variables that appear on the left-hand side of the equation. Endogenous variables listed refer to the dependent variables that appear on the left-hand side of the equation. Currently, no right-hand side endogeneity is handled in PROC QLIM. All variables appearing on the right-hand side of the equation are treated as exogenous\",\"help\":\"ENDOGENOUS &lt;CENSORED &lt;(censored-options )&gt;&gt;&lt;DISCRETE &lt;(discrete-options)&gt;&gt;&lt;CENSORED &lt;(truncated-options )&gt;&gt; ...\",\"arguments\":[{\"name\":\"CENSORED=\",\"optional\":true,\"description\":\"Specifies that the endogenous variables in this statement be censored. Valid censored-options are as follows: LB=value or variable LOWERBOUND=value or variable specifies the lower bound of the censored variables. If value is missing or the value in variable is missing, no lower bound is set. By default, no lower bound is set.\",\"help\":\"CENSORED=LB= | LOWERBOUND= | UB= | UPPERBOUND=\",\"type\":\"choice\",\"arguments\":[{\"name\":\"LB=\",\"type\":\"value\"},{\"name\":\"LOWERBOUND=\",\"type\":\"value\"},{\"name\":\"UB=\",\"type\":\"value\"},{\"name\":\"UPPERBOUND=\",\"type\":\"value\"}]},{\"name\":\"DISCRETE=\",\"optional\":true,\"description\":\"Specifies that the endogenous variables in this statement are discrete. Valid discrete-options are as follows: ORDER=DATA | FORMATTED | FREQ | INTERNAL specifies the sorting order for the levels of the discrete variables specified in the ENDOGENOUS statement. DISTRIBUTION=NORMAL|LOGISTIC DIST=NORMAL|LOGISTIC D=NORMAL|LOGISTIC specifies the cumulative distribution function used to model the response probabilities. Valid values are as follows: NORMAL the normal distribution for the probit model\",\"help\":\"DISCRETE=ORDER= | DISTRIBUTION= | DIST= | D=\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ORDER=\",\"type\":\"value\"},{\"name\":\"DISTRIBUTION=\",\"type\":\"value\"},{\"name\":\"DIST=\",\"type\":\"value\"},{\"name\":\"D=\",\"type\":\"value\"}]},{\"name\":\"FRONTIER=\",\"optional\":true,\"description\":\"Specifies that the endogenous variable in this statement follow a production or cost frontier. Valid frontier-options are as follows: TYPE=HALF | EXPONENTIAL | TRUNCATED HALF specifies half-normal model. EXPONENTIAL specifies exponential model. TRUNCATED specifies truncated normal model. PRODUCTION specifies that the model estimated be a production function.\",\"help\":\"FRONTIER=TYPE= | PRODUCTION | COST\",\"type\":\"choice\",\"arguments\":[{\"name\":\"TYPE=\",\"type\":\"value\"},{\"name\":\"PRODUCTION\",\"type\":\"standalone\"},{\"name\":\"COST\",\"type\":\"standalone\"}]},{\"name\":\"SELECT\",\"optional\":true,\"description\":\"Specifies selection criteria for sample selection model. Select-option specifies the condition for the endogenous variable to be selected. It is written as a variable name, followed by an equality operator (=) or an inequality operator (<, >, ≤, ≥), followed by a number: variable operator number The variable is the endogenous variable that the selection is based on. The operator can be =, <, >, ≤ , or ≥. Multiple select-options can be combined with the logic operators: AND, OR. The following example illustrates the use of the SELECT option:\",\"type\":\"standalone\"},{\"name\":\"TRUNCATED=\",\"optional\":true,\"description\":\"Specifies that the endogenous variables in this statement be truncated. Valid truncated-options are as follows: LB=value or variable LOWERBOUND=value or variable specifies the lower bound of the truncated variables. If value is missing or the value in variable is missing, no lower bound is set. By default, no lower bound is set.\",\"help\":\"TRUNCATED=LB= | LOWERBOUND= | UB= | UPPERBOUND=\",\"type\":\"choice\",\"arguments\":[{\"name\":\"LB=\",\"type\":\"value\"},{\"name\":\"LOWERBOUND=\",\"type\":\"value\"},{\"name\":\"UB=\",\"type\":\"value\"},{\"name\":\"UPPERBOUND=\",\"type\":\"value\"}]}]},{\"name\":\"FREQ\",\"description\":\"The FREQ statement identifies a variable that contains the frequency of occurrence of each observation. PROC QLIM treats each observation as if it appears n times, where n is the value of the FREQ variable for the observation. If it is not an integer, the frequency value is truncated to an integer. If the frequency value is less than 1 or missing, the observation is not used in the model fitting. When the FREQ statement is not specified, each observation is assigned a frequency of 1. If you specify more than one FREQ statement, then the first FREQ statement is used.\",\"help\":\"FREQ variable \"},{\"name\":\"HETERO\",\"description\":\"The HETERO statement specifies variables that are related to the heteroscedasticity of the residuals and the way these variables are used to model the error variance.\",\"help\":\"HETERO                 &lt;LINK=&lt;EXP | LINEAR&gt;&gt;&lt;NOCONST&gt;&lt;SQUARE&gt; ...\",\"arguments\":[{\"name\":\"LINK=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"The functional form can be specified using the LINK= option.\",\"help\":\"LINK=EXP | LINEAR\",\"type\":\"choice\",\"arguments\":[{\"name\":\"EXP\",\"followsDelimiter\":\"/\",\"description\":\"Specifies a exponential link function.\",\"type\":\"standalone\"},{\"name\":\"LINEAR\",\"followsDelimiter\":\"/\",\"description\":\"Specifies a linear link function.\",\"type\":\"standalone\"}]},{\"name\":\"NOCONST\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies that there be no constant in the linear or exponential heteroscedasticity model.\",\"type\":\"standalone\"},{\"name\":\"SQUARE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Estimates the model by using the square of linear heteroscedasticity function.\",\"type\":\"standalone\"}]},{\"name\":\"INIT\",\"description\":\"The INIT statement is used to set initial values for parameters in the optimization. Any number of INIT statements can be specified. Each initvalue is written as a parameter or parameter list, followed by an optional equality operator (=), followed by a number: parameter <=> number\",\"help\":\"INIT initvalue1 &lt; , initvalue2 ...&gt; \"},{\"name\":\"MODEL\",\"description\":\"The MODEL statement specifies the dependent variable and independent regressor variables for the regression model.\",\"help\":\"MODEL &lt;BOXCOX (option-list )&gt;&lt;LIMIT1=value&gt;&lt;NOINT&gt; ...\",\"arguments\":[{\"name\":\"BOXCOX\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies options that are used for Box-Cox regression or regressor transformation. For example, the Box-Cox regression is specified as: model y = x1 x2 / boxcox(y=lambda,x1 x2)\",\"type\":\"standalone\"},{\"name\":\"LIMIT1=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the restriction of the threshold value of the first category when the ordinal probit or logit model is estimated. LIMIT1=ZERO is the default option. When LIMIT1=VARYING is specified, the threshold value is estimated.\",\"help\":\"LIMIT1=*value*\",\"type\":\"value\"},{\"name\":\"NOINT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Suppresses the intercept parameter.\",\"type\":\"standalone\"}]},{\"name\":\"NLOPTIONS\",\"description\":\"PROC QLIM uses the be nonlinear optimization (NLO) subsystem to perform nonlinear optimization tasks.\",\"help\":\"NLOPTIONS &lt;ABSCONV= | ABSTOL=r&gt;&lt;ABSFCONV=r[n] | ABSFTOL=r[n&gt;&lt;ABSGCONV=r[n] | ABSGTOL=r[n&gt; ...\",\"arguments\":[{\"name\":\"ABSCONV=\",\"optional\":true,\"aliases\":[\"ABSTOL=\"],\"description\":\"Specifies an absolute function convergence criterion. The default value of r is the negative square root of the largest double-precision value, which serves only as a protection against overflows.\",\"type\":\"value\"},{\"name\":\"ABSFCONV=\",\"optional\":true,\"aliases\":[\"ABSFTOL=\"],\"description\":\"Specifies an absolute function convergence criterion. The default value is r=0. The optional integer value n specifies the number of successive iterations for which the criterion must be satisfied before the process can be terminated.\",\"type\":\"value\"},{\"name\":\"ABSGCONV=\",\"optional\":true,\"aliases\":[\"ABSGTOL=\"],\"description\":\"Specifies an absolute gradient convergence criterion. The default value is r=1E-5. The optional integer value n specifies the number of successive iterations for which the criterion must be satisfied before the process can be terminated.\",\"type\":\"value\"},{\"name\":\"ABSXCONV=\",\"optional\":true,\"aliases\":[\"ABSXTOL=\"],\"description\":\"Specifies the absolute parameter convergence criterion. The default is r=1E-8 for the NMSIMP technique and r=0 otherwise. The optional integer value n specifies the number of successive iterations for which the criterion must be satisfied before the process can terminate.\",\"type\":\"value\"},{\"name\":\"DAMPSTEP=\",\"optional\":true,\"description\":\"Specifies that the initial step length value a⁰ for each line search (used by the QUANEW, HYQUAN, CONGRA, or NEWRAP technique) cannot be larger than r times the step length value used in the former iteration. If the DAMPSTEP option is specified but r is not specified, the default is r=2. The DAMPSTEP=r option can prevent the line-search algorithm from repeatedly stepping into regions where some objective functions are difficult to compute or where they could lead to floating point overflows during the computation of objective functions and their derivatives. The DAMPSTEP=r option can save time-costly function calls during the line searches of objective functions that result in very small steps.\",\"type\":\"value\"},{\"name\":\"FCONV2=\",\"optional\":true,\"aliases\":[\"FTOL2=\"],\"description\":\"Specifies another function convergence criterion.\",\"type\":\"value\"},{\"name\":\"FCONV=\",\"optional\":true,\"aliases\":[\"FTOL=\"],\"description\":\"Specifies a relative function convergence criterion.\",\"type\":\"value\"},{\"name\":\"FSIZE=\",\"optional\":true,\"description\":\"Specifies the FSIZE parameter of the relative function and relative gradient termination criteria. The default value is r=0.\",\"help\":\"FSIZE=*r*\",\"type\":\"value\"},{\"name\":\"GCONV=\",\"optional\":true,\"aliases\":[\"GTOL=\"],\"description\":\"Specifies a relative gradient convergence criterion. The default value is r=1E-8. The optional integer value n specifies the number of successive iterations for which the criterion must be satisfied before the process can terminate.\",\"type\":\"value\"},{\"name\":\"HESCAL=\",\"optional\":true,\"aliases\":[\"HS=\"],\"description\":\"Specifies the scaling version of the Hessian matrix used in NRRIDG, TRUREG, NEWRAP, or DBLDOG optimization.\",\"help\":\"HESCAL=0 | 1 | 2 | 3\",\"type\":\"choice\",\"arguments\":[{\"name\":\"0\",\"description\":\"Specifies that no scaling is done.\",\"type\":\"standalone\"},{\"name\":\"1\",\"description\":\"Specifies the Moré (1978) scaling update\",\"type\":\"standalone\"},{\"name\":\"2\",\"description\":\"Specifies the Dennis, Gay, and Welsch (1981) scaling update\",\"type\":\"standalone\"},{\"name\":\"3\",\"description\":\"Specifies that di is reset in each iteration\",\"type\":\"standalone\"}]},{\"name\":\"INHESSIAN=\",\"optional\":true,\"aliases\":[\"INHESS=\"],\"description\":\"Specifies how the initial estimate of the approximate Hessian is defined for the quasi-Newton techniques QUANEW and DBLDOG.\",\"type\":\"value\"},{\"name\":\"INSTEP=\",\"optional\":true,\"description\":\"Reduces the length of the first trial step during the line search of the first iterations.\",\"help\":\"INSTEP=*r*\",\"type\":\"value\"},{\"name\":\"LINESEARCH=\",\"optional\":true,\"aliases\":[\"LIS=\"],\"description\":\"Specifies the line-search method for the CONGRA, QUANEW, and NEWRAP optimization techniques.\",\"help\":\"LINESEARCH=1 | 2 | 3 | 4 | 5 | 6 | 7 | 8\",\"type\":\"choice\",\"arguments\":[{\"name\":\"1\",\"description\":\"Specifies a line-search method that needs the same number of function and gradient calls for cubic interpolation and cubic extrapolation; this method is similar to one used by the Harwell subroutine library.\",\"type\":\"standalone\"},{\"name\":\"2\",\"description\":\"Specifies a line-search method that needs more function calls than gradient calls for quadratic and cubic interpolation and cubic extrapolation; this method is implemented as shown in Fletcher (1987) and can be modified to an exact line search by using the LSPRECISION= option.\",\"type\":\"standalone\"},{\"name\":\"3\",\"description\":\"Specifies a line-search method that needs the same number of function and gradient calls for cubic interpolation and cubic extrapolation; this method is implemented as shown in Fletcher (1987) and can be modified to an exact line search by using the LSPRECISION= option.\",\"type\":\"standalone\"},{\"name\":\"4\",\"description\":\"Specifies a line-search method that needs the same number of function and gradient calls for stepwise extrapolation and cubic interpolation\",\"type\":\"standalone\"},{\"name\":\"5\",\"description\":\"Specifies a line-search method that is a modified version of LIS=4.\",\"type\":\"standalone\"},{\"name\":\"6\",\"description\":\"Specifies golden section line search (Polak 1971), which uses only function values for linear approximation.\",\"type\":\"standalone\"},{\"name\":\"7\",\"description\":\"Specifies bisection line search (Polak 1971), which uses only function values for linear approximation.\",\"type\":\"standalone\"},{\"name\":\"8\",\"description\":\"Specifies Armijo line-search technique (Polak 1971), which uses only function values for linear approximation.\",\"type\":\"standalone\"}]},{\"name\":\"LSPRECISION=\",\"optional\":true,\"aliases\":[\"LSP=\"],\"description\":\"Specifies the degree of accuracy that should be obtained by the line-search algorithms LIS=2 and LIS=3. The default LSPRECISION= values are:\",\"type\":\"value\"},{\"name\":\"MAXFUNC=\",\"optional\":true,\"aliases\":[\"MAXFU=\"],\"description\":\"Requires the number of function calls to be no larger than i. The default values are:\",\"type\":\"value\"},{\"name\":\"MAXITER=\",\"optional\":true,\"aliases\":[\"MAXIT=\"],\"description\":\"Requires the number of iterations to be no larger than i. The default values are: o For TECH= TRUREG, NRRIDG, NEWRAP: i=50 o For TECH= QUANEW, DBLDOG: i=200 o For TECH= CONGRA: i=400 o For TECH= NMSIMP: i=1000 These default values are also valid when i is specified as a missing value.\",\"type\":\"value\"},{\"name\":\"MAXSTEP=\",\"optional\":true,\"description\":\"Specifies an upper bound for the step length of the line-search algorithms during the first n iterations.\",\"help\":\"MAXSTEP=*r[n*\",\"type\":\"value\"},{\"name\":\"MAXTIME=\",\"optional\":true,\"description\":\"Requires the CPU time to be no larger than r. The default value of the MAXTIME= option is the largest double floating-point number on your computer. Note that the time specified by the MAXTIME= option is checked only once at the end of each iteration. Therefore, the actual running time can be much longer than that specified by the MAXTIME= option. The actual running time includes the rest of the time needed to finish the iteration and the time needed to generate the output of the results.\",\"help\":\"MAXTIME=*r*\",\"type\":\"value\"},{\"name\":\"MINITER=\",\"optional\":true,\"aliases\":[\"MINIT=\"],\"description\":\"Specifies the minimum number of iterations. The default value is 0. If you request more iterations than are actually needed for convergence to a stationary point, the optimization algorithms can behave strangely. For example, the effect of rounding errors can prevent the algorithm from continuing for the required number of iterations.\",\"type\":\"value\"},{\"name\":\"NOPRINT\",\"optional\":true,\"description\":\"Suppresses the output.\",\"type\":\"standalone\"},{\"name\":\"PALL\",\"optional\":true,\"description\":\"[Displays all optional output for optimization.\",\"type\":\"standalone\"},{\"name\":\"PHISTORY\",\"optional\":true,\"description\":\"Displays the optimization history.\",\"type\":\"standalone\"},{\"name\":\"PHISTPARMS\",\"optional\":true,\"description\":\"Display parameter estimates in each iteration.\",\"type\":\"standalone\"},{\"name\":\"PINIT\",\"optional\":true,\"description\":\"Displays the initial values and derivatives (if available).\",\"type\":\"standalone\"},{\"name\":\"PSHORT\",\"optional\":true,\"description\":\"Restricts the amount of default output.\",\"type\":\"standalone\"},{\"name\":\"PSUMMARY\",\"optional\":true,\"description\":\"Restricts the amount of default displayed output to a short form of iteration history and notes, warnings, and errors.\",\"type\":\"standalone\"},{\"name\":\"RESTART=\",\"optional\":true,\"aliases\":[\"REST=\"],\"description\":\"Specifies that the QUANEW or CONGRA algorithm is restarted with a steepest descent/ascent search direction after, at most, i iterations, i > 0.\",\"type\":\"value\"},{\"name\":\"SOCKET=\",\"optional\":true,\"description\":\"Specifies the fileref that contains the information needed for remote monitoring.\",\"type\":\"value\"},{\"name\":\"TECHNIQUE=\",\"optional\":true,\"aliases\":[\"TECH=\"],\"description\":\"Specifies the optimization technique.\",\"help\":\"TECHNIQUE=CONGRA | DBLDOG | NMSIMP | NEWRAP | NRRIDG | QUANEW | TRUREG | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"CONGRA\",\"description\":\"Chooses one of four different conjugate-gradient optimization algorithms, which can be more precisely defined with the UPDATE= option and modified with the LINESEARCH= option.\",\"type\":\"standalone\"},{\"name\":\"DBLDOG\",\"description\":\"Performs a version of double-dogleg optimization, which uses the gradient to update an approximation of the Cholesky factor of the Hessian.\",\"type\":\"standalone\"},{\"name\":\"NMSIMP\",\"description\":\"Performs a Nelder-Mead simplex optimization.\",\"type\":\"standalone\"},{\"name\":\"NEWRAP\",\"description\":\"Performs a usually stable but, for large problems, memory- and time-consuming Newton-Raphson optimization technique. The algorithm combines a line-search algorithm with ridging, and it can be modified with the LINESEARCH= option.\",\"type\":\"standalone\"},{\"name\":\"NRRIDG\",\"description\":\"Performs a usually stable but, for large problems, memory- and time-consuming Newton-Raphson optimization technique. This algorithm does not perform a line search.\",\"type\":\"standalone\"},{\"name\":\"QUANEW\",\"description\":\"Chooses one of four different quasi-Newton optimization algorithms that can be more precisely defined with the UPDATE= option and modified with the LINESEARCH= option.\",\"type\":\"standalone\"},{\"name\":\"TRUREG\",\"description\":\"Performs a usually very stable but, for large problems, memory- and time-consuming trust-region optimization technique. The algorithm is implemented similar to Gay (1983) and Moré and Sorensen (1983).\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"Does not perform any optimization. This option is similar to METHOD=NONE, but TECH=NONE also computes and displays residuals and goodness of fit statistics.\",\"type\":\"standalone\"}]},{\"name\":\"UPDATE=\",\"optional\":true,\"aliases\":[\"UPD=\"],\"description\":\"Specifies the update method for the quasi-Newton, double-dogleg, or conjugate-gradient optimization technique.\",\"help\":\"UPDATE=BFGS | DBFGS | DDFP | DFP | PB | FR | PR | CD\",\"type\":\"choice\",\"arguments\":[{\"name\":\"BFGS\",\"description\":\"Performs the original Broyden, Fletcher, Goldfarb, and Shanno (BFGS) update of the inverse Hessian matrix.\",\"type\":\"standalone\"},{\"name\":\"DBFGS\",\"description\":\"Performs the dual BFGS update of the Cholesky factor of the Hessian matrix. This is the default update method.\",\"type\":\"standalone\"},{\"name\":\"DDFP\",\"description\":\"Performs the dual Davidon, Fletcher, and Powell (DFP) update of the Cholesky factor of the Hessian matrix.\",\"type\":\"standalone\"},{\"name\":\"DFP\",\"description\":\"Performs the original DFP update of the inverse Hessian matrix.\",\"type\":\"standalone\"},{\"name\":\"PB\",\"description\":\"Performs the automatic restart update method of Powell (1977) and Beale (1972).\",\"type\":\"standalone\"},{\"name\":\"FR\",\"description\":\"Performs the Fletcher-Reeves update (Fletcher 1987).\",\"type\":\"standalone\"},{\"name\":\"PR\",\"description\":\"Performs the Polak-Ribiere update (Fletcher 1987).\",\"type\":\"standalone\"},{\"name\":\"CD\",\"description\":\"Performs a conjugate-descent update of Fletcher (1987).\",\"type\":\"standalone\"}]},{\"name\":\"XCONV=\",\"optional\":true,\"aliases\":[\"XTOL=\"],\"description\":\"Specifies the relative parameter convergence criterion. For all techniques except NMSIMP, termination requires a small relative parameter change in subsequent iterations. The default value is r=1E-8 for the NMSIMP technique and r=0 otherwise. The optional integer value n specifies the number of successive iterations for which the criterion must be satisfied before the process can be terminated.\",\"type\":\"value\"},{\"name\":\"XSIZE=\",\"optional\":true,\"description\":\"Specifies the XSIZE parameter of the relative parameter termination criterion. The default value is r=0.\",\"type\":\"value\"}]},{\"name\":\"OUTPUT\",\"description\":\"The OUTPUT statement creates a new SAS data set containing all variables in the input data set and, optionally, the estimates of x'β, predicted value, residual, marginal effects, probability, standard deviation of the error, expected value, conditional expected value, and inverse Mills ratio. When the response values are missing for the observation, all output estimates except residual are still computed as long as none of the explanatory variables is missing. This enables you to compute these statistics for prediction. You can specify only one OUTPUT statement.\",\"help\":\"OUTPUT &lt;CONDITIONAL&gt;&lt;ERRSTD&gt;&lt;OUT=SAS-data-set&gt; ...\",\"arguments\":[{\"name\":\"CONDITIONAL\",\"optional\":true,\"description\":\"Output estimates of conditional expected values of continuous endogenous\",\"type\":\"standalone\"},{\"name\":\"ERRSTD\",\"optional\":true,\"description\":\"Output estimates of σ-j, the standard deviation of the error term.\",\"type\":\"standalone\"},{\"name\":\"EXPECTED\",\"optional\":true,\"description\":\"Output estimates of expected values of continuous endogenous variables.\",\"type\":\"standalone\"},{\"name\":\"MARGINAL\",\"optional\":true,\"description\":\"Output marginal effects.\",\"type\":\"standalone\"},{\"name\":\"MILLS\",\"optional\":true,\"description\":\"Output estimates of inverse Mills ratios of censored or truncated continuous, binary discrete, and selection endogenous variables.\",\"type\":\"standalone\"},{\"name\":\"OUT=\",\"optional\":true,\"description\":\"Names the output data set.\",\"help\":\"OUT=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"PREDICTED\",\"optional\":true,\"description\":\"Output estimates of predicted endogenous variables.\",\"type\":\"standalone\"},{\"name\":\"PROB\",\"optional\":true,\"description\":\"Output estimates of probability of discrete endogenous variables taking the current observed responses.\",\"type\":\"standalone\"},{\"name\":\"PROBALL\",\"optional\":true,\"description\":\"Output estimates of probability of discrete endogenous variables for all possible responses.\",\"type\":\"standalone\"},{\"name\":\"RESIDUAL\",\"optional\":true,\"description\":\"Output estimates of residuals of continuous endogenous variables.\",\"type\":\"standalone\"},{\"name\":\"TE1\",\"optional\":true,\"description\":\"Outputs estimates of technical efficiency for each producer in the stochastic frontier model suggested by Battese and Coelli (1988).\",\"type\":\"standalone\"},{\"name\":\"TE2\",\"optional\":true,\"description\":\"Outputs estimates of technical efficiency for each producer in the stochastic frontier model suggested by Jondrow et al. (1982).\",\"type\":\"standalone\"},{\"name\":\"XBETA\",\"optional\":true,\"description\":\"Output estimates of x'β.\",\"type\":\"standalone\"}]},{\"name\":\"PRIOR\",\"description\":\"The PRIOR statement specifies the prior distribution of the model parameters. You must specify a single parameter or a list of parameters, a tilde ~, and then a distribution with its parameters. Alternately, you can specify the special keyword REGRESSORS to select all the parameters used in the linear regression component of the model. Multiple PRIOR statements are allowed.\",\"help\":\"PRIOR *parameter-list*  ~                   *distribution* | _REGRESSORS;\",\"arguments\":[{\"name\":\"parameter-list\",\"placeholder\":true,\"description\":\"one or more parameters.\",\"type\":\"value\"},{\"name\":\"distribution\",\"placeholder\":true,\"description\":\"Distributions can include NORMAL(MEAN=μ VAR=σ2), GAMMA(SHAPE=a, SCALE=b), SQGAMMA(SHAPE=a, SCALE=b), IGAMMA(SHAPE=a, SCALE=b), SQIGAMMA(SHAPE=a, SCALE=b) UNIFORM(MIN=m, MAX=M), BETA(SHAPE1=a, SHAPE2=b, MIN=m, MAX=M),T(LOCATION=μ, DF=ν)\",\"type\":\"value\"},{\"name\":\"_REGRESSORS\",\"description\":\"select all the parameters used in the linear regression component of the model.\",\"type\":\"standalone\"}]},{\"name\":\"RANDOM\",\"description\":\"The RANDOM statement defines the regressors of the model, including the intercept, that have random coefficients in a random-parameters model. If you have a panel data set, you can use the RANDOM statement to estimate random-parameters models that include binomial probit, binomial logit, ordinal probit, ordinal logit, linear regression, Tobit, truncated regression, and stochastic frontier models. You do not have to have the observations collected in a panel data setting to model the parameter heterogeneity. Random-parameters models can also be applied to cross-sectional data. You can specify only a single RANDOM statement, and if you specify a RANDOM statement, you can specify only one MODEL statement. The RANDOM statement is not supported if a BAYES statement is also specified.\",\"help\":\"RANDOM *regressors*&lt; /                 *options*&gt; ;\",\"arguments\":[{\"name\":\"SUBJECT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"S\"],\"description\":\"determines the variable that specifies the ID of the individuals or groups across which the parameter heterogeneity occurs. In panel data, the variable identifies the cross-sectional units. For example, in panel data, the variable might be household or country. If you do not specify this option, then variable is assumed to have a single realization; that is, there is no variation in the random effects. You should specify this option in order to have a true random-parameters model.\",\"help\":\"SUBJECT=*variable*\",\"type\":\"value\"},{\"name\":\"METHOD=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"M\"],\"description\":\"specifies the method of approximation to the integral that appears in the likelihood function.\",\"help\":\"METHOD=HALTON                       <(halton-options)> | \\n                HERMITE                     <(QPOINTS=value)> | \\n                SIMULATION                       <(simulation-options)>\",\"type\":\"choice\",\"arguments\":[{\"name\":\"HALTON\",\"followsDelimiter\":\"/\",\"aliases\":[\"HALT\",\"QMC\"],\"description\":\"requests a quasi–Monte Carlo integration method that uses the Halton sequences that are defined by the prime numbers starting from 2.\",\"help\":\"HALTON                       &lt;(*halton-options*)&gt;\",\"type\":\"standaloneOrValue\",\"arguments\":[{\"name\":\"NDRAW=\",\"followsDelimiter\":\"/\",\"description\":\"determines the number of elements that the Halton series has for each unique value of the subject variable. Therefore, the total number of elements in the Halton sequence is value times the number of unique values of the variable that you specify in the SUBJECT= option. For more information, see the section QMC Method Using the Halton Sequence. The default value of the NDRAW= option is the number of unique values of the variable that you specify in the SUBJECT= option. For example, if you have a panel data set, the total number of terms in the Halton sequence is the square of the number of cross sections.\",\"help\":\"NDRAW=*value*\",\"type\":\"value\"},{\"name\":\"START=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the starting point of the Halton sequence, where value must be a positive integer. When you specify this option, value–1 extra draws are created and the initial value–1 elements are discarded. By default, START=11.\",\"help\":\"START=*value*\",\"type\":\"value\"}]},{\"name\":\"HERMITE\",\"followsDelimiter\":\"/\",\"aliases\":[\"HERM\",\"GAUSS\"],\"description\":\"requests the Gauss-Hermite quadrature integration method. You can use this method if your model has only one random parameter—that is, if you have a random-effects model or if your model has a single random coefficient. For more information about this method, see the section Approximation by Hermite Quadrature.QPOINTS=value specifies the number of quadrature points to be used during evaluation of the integral. By default, QPOINTS=20.\",\"help\":\"HERMITE                       &lt;(QPOINTS=*value*)&gt;\",\"type\":\"standaloneOrValue\"},{\"name\":\"SIMULATION\",\"followsDelimiter\":\"/\",\"aliases\":[\"SIM\"],\"description\":\"requests Monte Carlo simulation as the method of integration.\",\"help\":\"SIMULATION                       &lt;(*simulation-options*)&gt;\",\"type\":\"standaloneOrValue\",\"arguments\":[{\"name\":\"NDRAW=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the number of draws for the simulation. You can also specify the number of draws in the NDRAW= option in the PROC QLIM statement. If you specify this option in both statements, PROC QLIM uses the value in the RANDOM statement.\",\"help\":\"NDRAW=*value*\",\"type\":\"value\"},{\"name\":\"SEED=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the seed of the random draws, where value must be less than 231 - 1. You can also specify the seed in the SEED= option in the PROC QLIM statement. If you specify this option in both statements, PROC QLIM uses the value in the RANDOM statement. If you do not specify a seed, or if you specify a value less than or equal to zero, the seed is generated randomly.\",\"help\":\"SEED=*value*\",\"type\":\"value\"}]}]},{\"name\":\"NOCORRELATION\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"NOCORR\"],\"description\":\"requests that the random parameters be uncorrelated with one another. If you specify this option, only the diagonal elements of the covariance matrix of the random parameters are estimated.\",\"type\":\"standalone\"}]},{\"name\":\"RESTRICT\",\"description\":\"The RESTRICT statement is used to impose linear restrictions on the parameter estimates. Any number of RESTRICT statements can be specified, but the number of restrictions imposed is limited by the number of regressors. Each restriction is written as an expression, followed by an equality operator (=) or an inequality operator (<, >, ≤, ≥), followed by a second expression: expression operator expression The operator can be =, <, >, ≤ , or ≥. The operator and second expression are optional.\",\"help\":\"RESTRICT restriction1 &lt;, restriction2 ...&gt; \"},{\"name\":\"TEST\",\"description\":\"The TEST statement performs Wald, Lagrange multiplier, and likelihood ratio tests of linear hypotheses about the regression parameters in the preceding MODEL statement. Each equation specifies a linear hypothesis to be tested. All hypotheses in one TEST statement are tested jointly. Variable names in the equations must correspond to regressors in the preceding MODEL statement, and each name represents the coefficient of the corresponding regressor. The keyword INTERCEPT refers to the coefficient of the intercept.\",\"help\":\"TEST &lt;ALL&gt;&lt;LM&gt;&lt;WALD&gt; ...\",\"arguments\":[{\"name\":\"ALL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests Wald, Lagrange multiplier, and likelihood ratio tests.\",\"type\":\"standalone\"},{\"name\":\"LM\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests the Lagrange multiplier test.\",\"type\":\"standalone\"},{\"name\":\"LR\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests the likelihood ratio test.\",\"type\":\"standalone\"},{\"name\":\"WALD\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests the Wald test.\",\"type\":\"standalone\"}]},{\"name\":\"WEIGHT\",\"description\":\"The WEIGHT statement specifies a variable to supply weighting values to use for each observation in estimating parameters. The log likelihood for each observation is multiplied by the corresponding weight variable value. If the weight of an observation is nonpositive, that observation is not used in the estimation.\",\"help\":\"WEIGHT variable \"}],\"supportSiteInformation\":{\"docsetId\":\"etsug\",\"docsetVersion\":\"latest\",\"docsetTargetFile\":\"etsug_qlim_toc.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/QTRSELECT.json",
    "content": "{\"name\":\"QTRSELECT\",\"statements\":[{\"name\":\"PROC QTRSELECT\",\"description\":\"The QTRSELECT procedure fits and performs model selection for quantile regression models in SAS Viya. Quantile regression uses a linear function model to fit the quantiles of a response variable conditional on the explanatory variables. The model does not assume a particular parametric distribution for the response. The models that PROC QTRSELECT supports can contain main effects that consist of both continuous and classification variables and interaction effects of these variables. The models can also include constructed effects such as splines. The procedure offers a number of effect-selection methods, including stepwise methods. It also offers extensive capabilities for customizing the model selection by using a wide variety of selection and stopping criteria, including significance-level-based criteria, information criteria, and modern validation-based criteria. PROC QTRSELECT also provides a variety of quantile regression diagnostics that are conditional on the selected model.\",\"help\":\"PROC QTRSELECT <ALPHA=number><COV=SPARSITY><DATA=CAS-libref.data-table><NOCLPRINT<=number>>;     \\n\\tBY <DESCENDING><NOTSORTED> ;\\n\\n\\tCLASS <DESCENDING><MISSING><ORDER=<FORMATTED | FREQ | INTERNAL>> ...;\\n\\n\\tCODE <COMMENT><FILE=filename><FORMATWIDTH=width> ...;\\n\\n\\tDISPLAY <CASESENSITIVE><EXCLUDE><EXCLUDEALL> ...;\\n\\n\\tDISPLAYOUT <INCLUDEALL><NOREPLACE><REPEATED> ...;\\n\\n\\tEFFECT <DETAILS> EFFECT-NAME=COLLECTION|MULTIMEMBER|MM|POLYNOMIAL|POLY...  <NOEFFECT> ...;\\n\\n\\tMODEL <CLB><INCLUDE=n | INCLUDE=single-effect | INCLUDE=(effects)><INFORMATIVE> ...;\\n\\n\\tOUTPUT <COPYVAR=variable | COPYVARS=(variables)><OUT=CAS-libref.data-table><PREDICTED<=name> | PRED<=name> | P<=name>> ...;\\n\\n\\tPARTITION <FRACTION(< TEST=fraction > < VALIDATE=fraction > < SEED=number >)><ROLE=|ROLEVAR=variable (< TEST='value' > < TRAIN='value' > < VALIDATE='value' >)> ;\\n\\n\\tSELECTION <ADAPTIVE <(GAMMA=nonnegative number)>><CHOOSE=<AIC | AICC | SBC>><METHOD=<BACKWARD | FORWARD | FORWARDSWAP>... > ...;\\n\\n\\tWEIGHT variable;\\n\",\"arguments\":[{\"name\":\"ALPHA=\",\"optional\":true,\"description\":\"Sets the significance level to be used for the construction of confidence intervals. The value must be between 0 and 1; the default value of 0.05 results in 95% intervals. This option affects the keywords LCLM, UCLM, and STDP in the OUTPUT statement and the CLB option in the MODEL statement.\",\"help\":\"ALPHA=*number*\",\"type\":\"value\"},{\"name\":\"COV=\",\"optional\":true,\"description\":\"Specifies the sparsity-function bandwidth method for estimating the covariance matrix of the parameter estimates. You can specify the following suboptions: BF uses the Bofinger bandwidth method. HS uses the Hall-Sheather bandwidth method.\",\"help\":\"COV=SPARSITY\",\"type\":\"choice\",\"arguments\":[{\"name\":\"SPARSITY\",\"description\":\"Syntax: COV=SPARSITY<(BF | HS)> You can specify the following suboptions: BF uses the Bofinger bandwidth method. HS uses the Hall-Sheather bandwidth method.\",\"type\":\"standalone\"}]},{\"name\":\"DATA=\",\"optional\":true,\"description\":\"Names the input data table for PROC QTRSELECT to use. The default is the most recently created data table. CAS-libref.data-table is a two-level name, where\",\"help\":\"DATA=*CAS-libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"NOCLPRINT\",\"optional\":true,\"description\":\"Suppresses the display of the \\\"Class Level Information\\\" table if you do not specify number. If you specify number, the values of the classification variables are displayed only for variables whose number of levels is less than number.\",\"type\":\"standalone\"}]},{\"name\":\"BY\",\"description\":\"You can specify a BY statement in PROC QTRSEKECT to obtain separate analyses of observations in groups that are defined by the values of the BY variables. If you specify more than one BY statement, only the last one specified is used.\",\"help\":\"BY &lt;DESCENDING&gt;&lt;NOTSORTED&gt;\",\"arguments\":[{\"name\":\"DESCENDING\",\"optional\":true,\"description\":\"Specifies that the observations are sorted in descending order by the variable that immediately follows the word DESCENDING in the BY statement.\",\"type\":\"standalone\"},{\"name\":\"NOTSORTED\",\"optional\":true,\"description\":\"Specifies that observations are not necessarily sorted in alphabetic or numeric order.\",\"type\":\"standalone\"}]},{\"name\":\"CLASS\",\"description\":\"The CLASS statement names the classification variables to be used as explanatory variables in the analysis. You can list the response variable for binary models in the CLASS statement, but this is not required.\",\"help\":\"CLASS &lt;DESCENDING&gt;&lt;MISSING&gt;&lt;ORDER=&lt;FORMATTED | FREQ | INTERNAL&gt;&gt; ...\",\"arguments\":[{\"name\":\"DESCENDING\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"DESC\"],\"description\":\"Reverses the sort order of the classification variable. If both the DESCENDING and ORDER= options are specified, the procedure orders the categories according to the ORDER= option and then reverses that order.\",\"type\":\"standalone\"},{\"name\":\"MISSING\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Treats missing values (\\\".\\\", \\\".A\\\", …, \\\".Z\\\" for numeric variables and blanks for character variables) as valid values for the CLASS variable.\",\"type\":\"standalone\"},{\"name\":\"ORDER=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the sort order for the levels of classification variables. This ordering determines which parameters in the model correspond to each level in the data.\",\"help\":\"ORDER=FORMATTED | FREQ | INTERNAL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"FORMATTED\",\"followsDelimiter\":\"/\",\"description\":\"External formatted values, except for numeric variables that have no explicit format, which are sorted by their unformatted (internal) values. The sort order is machine-dependent. For numeric variables for which you have supplied no explicit format, the levels are ordered by their internal values.\",\"type\":\"standalone\"},{\"name\":\"FREQ\",\"followsDelimiter\":\"/\",\"description\":\"Descending frequency count (levels that have more observations come earlier in the order).\",\"type\":\"standalone\"},{\"name\":\"INTERNAL\",\"followsDelimiter\":\"/\",\"description\":\"Unformatted value. The sort order is machine-dependent.\",\"type\":\"standalone\"}]},{\"name\":\"PARAM=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the parameterization method for the classification variable or variables.\",\"help\":\"PARAM=EFFECT | GLM | ORDINAL | POLYNOMIAL | REFERENCE | ORTHEFFECT | ORTHORDINAL | ORTHPOLY | ORTHREF\",\"type\":\"choice\",\"arguments\":[{\"name\":\"EFFECT\",\"followsDelimiter\":\"/\",\"description\":\"Specifies effect coding.\",\"type\":\"standalone\"},{\"name\":\"GLM\",\"followsDelimiter\":\"/\",\"description\":\"Specifies less-than-full-rank, reference-cell coding; this option can be used only as a global option.\",\"type\":\"standalone\"},{\"name\":\"ORDINAL\",\"followsDelimiter\":\"/\",\"aliases\":[\"THERMOMETER\"],\"description\":\"Specifies the cumulative parameterization for an ordinal CLASS variable.\",\"type\":\"standalone\"},{\"name\":\"POLYNOMIAL\",\"followsDelimiter\":\"/\",\"aliases\":[\"POLY\"],\"description\":\"Specifies polynomial coding.\",\"type\":\"standalone\"},{\"name\":\"REFERENCE\",\"followsDelimiter\":\"/\",\"aliases\":[\"REF\"],\"description\":\"Specifies reference-cell coding.\",\"type\":\"standalone\"},{\"name\":\"ORTHEFFECT\",\"followsDelimiter\":\"/\",\"description\":\"Orthogonalizes PARAM=EFFECT.\",\"type\":\"standalone\"},{\"name\":\"ORTHORDINAL\",\"followsDelimiter\":\"/\",\"aliases\":[\"ORTHOTHERM\"],\"description\":\"Orthogonalizes PARAM=ORDINAL.\",\"type\":\"standalone\"},{\"name\":\"ORTHPOLY\",\"followsDelimiter\":\"/\",\"description\":\"Orthogonalizes PARAM=POLYNOMIAL.\",\"type\":\"standalone\"},{\"name\":\"ORTHREF\",\"followsDelimiter\":\"/\",\"description\":\"Orthogonalizes PARAM=REFERENCE.\",\"type\":\"standalone\"}]},{\"name\":\"REF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"REFERENCE=\"],\"description\":\"Specifies the reference level that is used when you specify a nonsingular parameterization.\",\"help\":\"REF=&lt;'*level*'&gt; | FIRST | LAST\",\"type\":\"choice\",\"arguments\":[{\"name\":\"'level'\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"The level of the variable to use as the reference level. Specify the formatted value of the variable if a format is assigned. Replace <level> with an actual value.\",\"type\":\"value\"},{\"name\":\"FIRST\",\"followsDelimiter\":\"/\",\"description\":\"Designates the first ordered level as reference.\",\"type\":\"standalone\"},{\"name\":\"LAST\",\"followsDelimiter\":\"/\",\"description\":\"Designates the last ordered level as reference.\",\"type\":\"standalone\"}]},{\"name\":\"SPLIT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies that design matrix columns that correspond to any effect that contains a split classification variable can be selected to enter or leave a model independently of the other design columns of that effect.\",\"type\":\"standalone\"}]},{\"name\":\"CODE\",\"description\":\"The CODE statement writes SAS DATA step code for computing predicted values of the fitted model either to a file or to a catalog entry. This code can then be included in a DATA step to score new data.\",\"help\":\"CODE &lt;COMMENT&gt;&lt;FILE=filename&gt;&lt;FORMATWIDTH=width&gt; ...\",\"arguments\":[{\"name\":\"COMMENT\",\"optional\":true,\"description\":\"Adds comments to the generated code.\",\"type\":\"standalone\"},{\"name\":\"FILE=\",\"optional\":true,\"description\":\"Names the external file that saves the generated code. When enclosed in a quoted string (for example, FILE=\\\"c:nmydirnscorecode.sas\\\"), this option specifies the path and filename for writing the code to an external file. If you do not specify a path but your SAS client has a default path, then the code is written to an external file named filename at that location. You can also specify an unquoted filename of no more than eight characters. If the filename is assigned as a fileref in a Base SAS FILENAME statement, the file specified in the FILENAME statement is opened; otherwise, if your SAS client has a default path, an external file named filename is created..\",\"help\":\"FILE=*filename*\",\"type\":\"value\"},{\"name\":\"FORMATWIDTH=\",\"optional\":true,\"description\":\"Specifies the width to use in formatting derived numbers such as parameter estimates. You can specify a value in the range 4 to 32; the default is 20.\",\"help\":\"FORMATWIDTH=*width*\",\"type\":\"value\"},{\"name\":\"INDENTSIZE=\",\"optional\":true,\"description\":\"Specifies the number of spaces to indent the generated code. You can specify a value in the range 0 to 10; the default is 3.\",\"help\":\"INDENTSIZE=*n*\",\"type\":\"value\"},{\"name\":\"LABELID=\",\"optional\":true,\"description\":\"Specifies a number used to construct array names and statement labels in the generated code. You can specify a value in the range 0 to 1024; the default is randomly chosen.\",\"help\":\"LABELID=*value*\",\"type\":\"value\"},{\"name\":\"LINESIZE=\",\"optional\":true,\"aliases\":[\"LS=\"],\"description\":\"Specifies the line size for the generated code. You can specify a value in the range 64 to 254; the default is 120.\",\"type\":\"value\"},{\"name\":\"NOTRIM\",\"optional\":true,\"description\":\"Bases comparisons of formatted values on the full format width, including blank padding. By default, blanks at the beginning and end of strings are ignored.\",\"type\":\"standalone\"},{\"name\":\"OUT=\",\"optional\":true,\"description\":\"Creates a CAS table that contains the score code. CAS-libref.data-table is a two-level name, where CAS-libref refers to the caslib and session identifier, and data-table specifies the name of the output data table.\",\"help\":\"OUT=*CAS-libref.data-table*\",\"type\":\"dataSet\"}]},{\"name\":\"DISPLAY\",\"description\":\"The DISPLAY statement enables you to specify a list of display tables to display or exclude. This statement is similar to the ODS SELECT, ODS EXCLUDE, and ODS TRACE statements. However, the DISPLAY statement can improve performance when a large number of tables could be generated (such as in BY-group processing). The procedure processes the DISPLAY statement on a CAS server and thus sends only a subset of ODS tables to the SAS client. Because ODS statements are processed on a SAS client, all the display tables generated are first sent to the client and then the client creates a subset. If both DISPLAY and ODS statements are used together, the DISPLAY statement takes precedence over the ODS statements.\",\"help\":\"DISPLAY &lt;CASESENSITIVE&gt;&lt;EXCLUDE&gt;&lt;EXCLUDEALL&gt; ...\",\"arguments\":[{\"name\":\"CASESENSITIVE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Performs a case-sensitive comparison of table names in the table-list to display table names when tables are subsetted for display. To preserve case, you must enclose table names in the table-list in quotation marks.\",\"type\":\"standalone\"},{\"name\":\"EXCLUDE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays all display tables except those specified in the table-list.\",\"type\":\"standalone\"},{\"name\":\"EXCLUDEALL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Suppresses display of all tables. This option takes precedence over the other options.\",\"type\":\"standalone\"},{\"name\":\"TRACE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays the display table names, labels, and paths.\",\"type\":\"standalone\"}]},{\"name\":\"DISPLAYOUT\",\"description\":\"The DISPLAYOUT statement enables you to create CAS output tables from your displayed output. This statement is similar to the ODS OUTPUT statement. The table-spec-list specifies a list of CAS output tables to create. Each entry in the list has either a key or a key=value format: key=value specifies key as the ODS table name, path, or partial pathname, and specifies value as the CAS output table name. key specifies key as the ODS table name and also as the CAS output table name. Table names and partial pathnames are discussed under the DISPLAY statement. The DISPLAYOUT statement does not support regular expressions.\",\"help\":\"DISPLAYOUT &lt;INCLUDEALL&gt;&lt;NOREPLACE&gt;&lt;REPEATED&gt; ...\",\"arguments\":[{\"name\":\"INCLUDEALL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Creates output CAS tables for all display tables. The name of the created output CAS table is the same as the corresponding display table name. If you specify this option, the table-spec-list specification is ignored.\",\"type\":\"standalone\"},{\"name\":\"NOREPLACE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Does not replace an existing CAS output table of the same name.\",\"type\":\"standalone\"},{\"name\":\"REPEATED\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Replicates the CAS output tables on all nodes.\",\"type\":\"standalone\"}]},{\"name\":\"EFFECT\",\"description\":\"The EFFECT statement enables you to construct special collections of columns for design matrices. These collections are referred to as constructed effects to distinguish them from the usual model effects that are formed from continuous or classification variables.\",\"help\":\"EFFECT &lt;DETAILS&gt; EFFECT-NAME=COLLECTION|MULTIMEMBER|MM|POLYNOMIAL|POLY...  &lt;NOEFFECT&gt; ...\",\"arguments\":[{\"name\":\"EFFECT-NAME=\",\"placeholder\":true,\"description\":\"Replace 'EFFECT-NAME' with the name of the effect, specified after the EFFECT keyword. This name can appear in only one EFFECT statement and cannot be the name of a variable in the input data set. These values can be used: COLLECTION, MULTIMEMBER, POLYNOMIAL, or SPLINE.\",\"type\":\"value\"},{\"name\":\"BASIS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"[For the SPLINE effect-type only] Specifies a basis for the spline expansion.\",\"help\":\"BASIS=BSPLINE | TPF\",\"type\":\"choice\",\"arguments\":[{\"name\":\"BSPLINE\",\"followsDelimiter\":\"/\",\"description\":\"Specifies a B-spline basis for the spline expansion.\",\"type\":\"standalone\"},{\"name\":\"TPF\",\"followsDelimiter\":\"/\",\"description\":\"Syntax: TPF(options) Specifies a truncated power function basis for the spline expansion. You can modify the number of columns when you request BASIS=TPF with the following options: NOINT excludes the intercept column. NOPOWERS excludes the intercept and polynomial columns.\",\"type\":\"standalone\"}]},{\"name\":\"DATABOUNDARY\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"[For the SPLINE effect-type only] Specifies that the extremes of the data be used as boundary knots when building a B-spline basis.\",\"type\":\"standalone\"},{\"name\":\"DEGREE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"\",\"help\":\"DEGREE=*n*\",\"type\":\"value\"},{\"name\":\"DETAILS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"[For the LAG | COLLECTION | MULTIMEMBER | POLYNOMIAL |SPLINE effect-type] Requests a table that shows the (1) lag design matrix of the lag effect, or (2) constituents of the collection effect, or (3) levels of the multimember effect, or (4) details of the specified polynomial, or (5) knot locations and the knots associated with each spline basis function.\",\"type\":\"standalone\"},{\"name\":\"KNOTMAX=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"\",\"help\":\"KNOTMAX=*value*\",\"type\":\"value\"},{\"name\":\"KNOTMETHOD=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"[For the SPLINE effect-type only] Specifies how to construct the knots for spline effects.\",\"help\":\"KNOTMETHOD=EQUAL | LIST | LISTWITHBOUNDARY | MULTISCALE | PERCENTILES | RANGEFRACTIONS\",\"type\":\"choice\",\"arguments\":[{\"name\":\"EQUAL\",\"followsDelimiter\":\"/\",\"description\":\"Syntax: EQUAL<(n)> Specifies that n equally spaced knots be positioned between the extremes of the data. The default is n=3. For a B-spline basis, any needed boundary knots continue to be equally spaced unless the DATABOUNDARY option has also been specified. KNOTMETHOD=EQUAL is the default if no knot-method is specified.\",\"type\":\"standalone\"},{\"name\":\"LIST\",\"followsDelimiter\":\"/\",\"description\":\"Syntax: LIST(number-list) Specifies the list of internal knots to be used in forming the spline basis columns. For a B-spline basis, the data extremes are used as boundary knots.\",\"type\":\"standalone\"},{\"name\":\"LISTWITHBOUNDARY\",\"followsDelimiter\":\"/\",\"description\":\"Syntax: LISTWITHBOUNDARY(number-list) Specifies the list of all knots that are used in forming the spline basis columns.\",\"type\":\"standalone\"},{\"name\":\"MULTISCALE\",\"followsDelimiter\":\"/\",\"description\":\"Syntax: MULTISCALE<(multiscale-options)> Specifies that multiple B-spline bases be generated, corresponding to sets with an increasing number of internal knots. You can control which scales are included with the following multiscale-options: STARTSCALE=n specifies the start scale, where n is a positive integer. The default is STARTSCALE=0. ENDSCALE=n specifies the end scale, where n is a positive integer. The default is ENDSCALE=7.\",\"type\":\"standalone\"},{\"name\":\"PERCENTILES\",\"followsDelimiter\":\"/\",\"description\":\"Syntax: PERCENTILES(n) Requests that internal knots be placed at n equally spaced percentiles of the variable or variables named in the EFFECT statement.\",\"type\":\"standalone\"},{\"name\":\"RANGEFRACTIONS\",\"followsDelimiter\":\"/\",\"description\":\"Syntax: RANGEFRACTIONS(fraction-list) Requests that internal knots be placed at each fraction of the ranges of the variables in the EFFECT statement.\",\"type\":\"standalone\"}]},{\"name\":\"KNOTMIN=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"\",\"help\":\"KNOTMIN=*value*\",\"type\":\"value\"},{\"name\":\"MDEGREE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"\",\"help\":\"MDEGREE=*n*\",\"type\":\"value\"},{\"name\":\"NATURALCUBIC\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"[For the SPLINE effect-type only] Uses a natural cubic spline basis for the spline expansion. Natural cubic splines, also known as restricted cubic splines, are cubic splines that are constrained to be linear beyond the extreme knots.\",\"type\":\"standalone\"},{\"name\":\"NOEFFECT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"[For the MULTIMEMBER effect-type only] Specifies that, for observations with all missing levels of the multimember variables, the values in the corresponding design matrix columns be set to zero.\",\"type\":\"standalone\"},{\"name\":\"NOSEPARATE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"[For the POLYNOMIAL effect-type only] Specifies that the polynomial be treated as a single effect with multiple degrees of freedom. The effect name that you specify is used as the constructed effect name, and the labels of the terms are used as labels of the corresponding parameters.\",\"type\":\"standalone\"},{\"name\":\"SEPARATE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"[For the SPLINE effect-type only] Specifies that when multiple variables are specified in the EFFECT statement, the spline basis for each variable be treated as a separate effect. The names of these separated effects are formed by appending an underscore followed by the name of the variable to the name that you specify in the EFFECT statement.\",\"type\":\"standalone\"},{\"name\":\"SPLIT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"[For the SPLINE effect-type only] Specifies that each individual column in the design matrix that corresponds to the spline effect be treated as a separate effect that can enter or leave the model independently. Names for these split effects are generated by appending the variable name and an index for each column to the name that you specify in the EFFECT statement.\",\"type\":\"standalone\"},{\"name\":\"STANDARDIZE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies that the variables that define the polynomial be standardized. By default, the standardized variables receive prefix \\\"s_\\\" in the variable names. You can use the following centerscale-opts to specify how the center and scale are estimated: METHOD=MOMENTS specifies that the center be estimated by the variable mean and the scale be estimated by the standard deviation. METHOD=RANGE specifies that the center be estimated by the midpoint of the variable range and the scale be estimated as half the variable range. METHOD=WMOMENTS is the same as METHOD=MOMENTS except that weighted means and weighted standard deviations are used.\",\"help\":\"STANDARDIZECENTER | CENTERSCALE | NONE | SCALE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"CENTER\",\"followsDelimiter\":\"/\",\"description\":\"Specifies that variables be centered but not scaled.\",\"type\":\"standalone\"},{\"name\":\"CENTERSCALE\",\"followsDelimiter\":\"/\",\"description\":\"Specifies that variables be centered and scaled. This is the default if you do not specify a standardization-opt.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"followsDelimiter\":\"/\",\"description\":\"Specifies that no standardization be performed.\",\"type\":\"standalone\"},{\"name\":\"SCALE\",\"followsDelimiter\":\"/\",\"description\":\"Specifies that variables be scaled but not centered.\",\"type\":\"standalone\"}]},{\"name\":\"STDIZE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"[For the MULTIMEMBER effect-type only] Specifies that for each observation, the entries in the design matrix that corresponds to the multimember effect be scaled to have a sum of one.\",\"type\":\"standalone\"},{\"name\":\"WEIGHT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"\",\"help\":\"WEIGHT=*wght-list*\",\"type\":\"value\"}]},{\"name\":\"MODEL\",\"description\":\"The MODEL statement names the dependent variable and the explanatory effects, including covariates, main effects, interactions, and nested effects. If you omit the explanatory effects, the procedure fits an intercept-only model.\",\"help\":\"MODEL &lt;CLB&gt;&lt;INCLUDE=n | INCLUDE=single-effect | INCLUDE=(effects)&gt;&lt;INFORMATIVE&gt; ...\",\"arguments\":[{\"name\":\"CLB\",\"optional\":true,\"description\":\"Requests the 100(1-α)% upper and lower confidence limits for the parameter estimates. By default, the 95% limits are computed; you can use the ALPHA= option in the PROC QTRSELECT statement to change the α level.\",\"type\":\"standalone\"},{\"name\":\"INCLUDE=\",\"optional\":true,\"description\":\"Forces effects to be included in all models. If you specify INCLUDE=n, then the first n effects listed in the MODEL statement are included in all models. If you specify INCLUDE=single-effect or INCLUDE=(single-effect), then the specified effects are forced into all models.\",\"type\":\"value\"},{\"name\":\"INFORMATIVE\",\"optional\":true,\"description\":\"Models missing values by using extra model effects. These effects consist of dummy variables that take the value 1 when the value of a continuous model variable involved in the effect is missing, and take the value 0 otherwise. The missing value in the original model effect is replaced by the average value of the effect for the nonmissing values.\",\"type\":\"standalone\"},{\"name\":\"NOINT\",\"optional\":true,\"description\":\"Suppresses the intercept term that is otherwise included in the model.\",\"type\":\"standalone\"},{\"name\":\"QUANTILES=\",\"optional\":true,\"aliases\":[\"QUANTILE\"],\"description\":\"Syntax: QUANTILES<(quantile-level-options)><=number-list> | QUANTILE<(quantile-level-options)><=number-list> | Q<(quantile-level-options)><=number-list> Specifies the quantile levels for the quantile regression. You can request any values of quantile levels in (0,1) by specifying a number-list. By default, the QTRSELECT procedure uses QUANTILES=0.5, which corresponds to median regression.\",\"help\":\"QUANTILES=NTAU= | NQ= | SORT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NTAU=\",\"type\":\"value\"},{\"name\":\"NQ=\",\"type\":\"value\"},{\"name\":\"SORT\",\"type\":\"standalone\"}]},{\"name\":\"START=\",\"optional\":true,\"description\":\"Begins the selection process in the FORWARD and STEPWISE selection methods from the initial model that you designate. If you specify START=n, then the starting model consists of the first n effects listed in the MODEL statement. If you specify START=single-effect or START=(single-effect), then the starting model consists of these specified effects.\",\"type\":\"value\"},{\"name\":\"STB\",\"optional\":true,\"description\":\"Produces standardized regression coefficients. A standardized regression coefficient is computed by dividing a parameter estimate by the ratio of the sample standard deviation of the dependent variable to the sample standard deviation of the regressor.\",\"type\":\"standalone\"}]},{\"name\":\"OUTPUT\",\"description\":\"\",\"help\":\"OUTPUT &lt;COPYVAR=variable | COPYVARS=(variables)&gt;&lt;OUT=CAS-libref.data-table&gt;&lt;PREDICTED&lt;=name&gt; | PRED&lt;=name&gt; | P&lt;=name&gt;&gt; ...\",\"arguments\":[{\"name\":\"COPYVAR=\",\"optional\":true,\"aliases\":[\"COPYVARS=\"],\"description\":\"Copies one or more variables from the input data table to the output data table.\",\"type\":\"value\"},{\"name\":\"OUT=\",\"optional\":true,\"description\":\"Names the output data table for PROC QTRSELECT to use. You must specify this option before any other options. CAS-libref.data-table is a two-level name, where CAS-libref refers to a collection of information that is defined in the LIBNAME statement and includes the caslib, which includes a path to where the data table is to be stored, and a session identifier, which defaults to the active session but which can be explicitly defined in the LIBNAME statement.\",\"help\":\"OUT=*CAS-libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"PREDICTED\",\"optional\":true,\"aliases\":[\"PRED\",\"P\"],\"description\":\"Requests predicted values for each response. The default prefix is Pred.\",\"type\":\"standalone\"},{\"name\":\"RESIDUAL\",\"optional\":true,\"aliases\":[\"RESID\"],\"description\":\"Requests residuals for each predictor. The default prefix is XResid.\",\"type\":\"standalone\"},{\"name\":\"ROLE\",\"optional\":true,\"description\":\"Requests numeric values that indicate the role played by each observation in fitting the model. The default prefix is _ROLE_.\",\"type\":\"standalone\"}]},{\"name\":\"PARTITION\",\"description\":\"The PARTITION statement specifies how observations in the input data set are logically partitioned into disjoint subsets for model training, validation, and testing.\",\"help\":\"PARTITION &lt;FRACTION(&lt; TEST=fraction &gt; &lt; VALIDATE=fraction &gt; &lt; SEED=number &gt;)&gt;&lt;ROLE=|ROLEVAR=variable (&lt; TEST='value' &gt; &lt; TRAIN='value' &gt; &lt; VALIDATE='value' &gt;)&gt;\",\"arguments\":[{\"name\":\"FRACTION=\",\"optional\":true,\"description\":\"Randomly assigns specified proportions of the observations in the input data table to the roles. You specify the proportions for testing and validation by using the TEST= and VALIDATE= suboptions. If you specify both the TEST= and VALIDATE= suboptions, then the sum of the specified fractions must be less than 1 and the remaining fraction of the observations are assigned to the training role. The SEED= option specifies an integer that is used to start the pseudorandom number generator for random partitioning of data for training, testing, and validation. If you do not specify SEED=number or if number is less than or equal to 0, the seed is generated by reading the time of day from the computer’s clock.\",\"help\":\"FRACTION=VALIDATE= | TEST= | SEED=\",\"type\":\"choice\",\"arguments\":[{\"name\":\"VALIDATE=\",\"type\":\"value\"},{\"name\":\"TEST=\",\"type\":\"value\"},{\"name\":\"SEED=\",\"type\":\"value\"}]},{\"name\":\"ROLE=\",\"optional\":true,\"aliases\":[\"ROLEVAR=\"],\"description\":\"Names the variable in the input data table whose values are used to assign roles to each observation. This variable cannot also appear as an analysis variable in other statements or options. The TEST=, TRAIN=, and VALIDATE= suboptions specify the formatted values of this variable that are used to assign observation roles. If you do not specify the TRAIN= suboption, then all observations whose role is not determined by the TEST= or VALIDATE= suboption are assigned to the training role.\",\"help\":\"ROLE=TRAIN= | VALIDATE= | TEST=\",\"type\":\"choice\",\"arguments\":[{\"name\":\"TRAIN=\",\"type\":\"value\"},{\"name\":\"VALIDATE=\",\"type\":\"value\"},{\"name\":\"TEST=\",\"type\":\"value\"}]}]},{\"name\":\"SELECTION\",\"description\":\"The SELECTION statement performs model selection by examining whether effects should be added to or removed from the model according to rules that are defined by model selection methods.\",\"help\":\"SELECTION &lt;ADAPTIVE &lt;(GAMMA=nonnegative number)&gt;&gt;&lt;CHOOSE=&lt;AIC | AICC | SBC&gt;&gt;&lt;METHOD=&lt;BACKWARD | FORWARD | FORWARDSWAP&gt;... &gt; ...\",\"arguments\":[{\"name\":\"ADAPTIVE=\",\"optional\":true,\"description\":\"Applies adaptive weights to each of the coefficients when METHOD=LASSO. Ordinary least squares estimates of the model parameters are used to form the adaptive weights. You use the GAMMA= option to specify the power transformation that is applied to the parameters in forming the adaptive weights. By default, GAMMA=1.\",\"help\":\"ADAPTIVE=GAMMA=\",\"type\":\"choice\",\"arguments\":[{\"name\":\"GAMMA=\",\"type\":\"value\"}]},{\"name\":\"CHOOSE=\",\"optional\":true,\"description\":\"Chooses from the list of models (at each step of the selection process) the model that yields the best value of the specified criterion.\",\"help\":\"CHOOSE=AIC | AICC | SBC*criterion*\",\"type\":\"value\",\"arguments\":[{\"name\":\"AIC\",\"description\":\"Specifies Akaike’s information criterion.\",\"type\":\"standalone\"},{\"name\":\"AICC\",\"description\":\"Specifies the corrected Akaike’s information criterion.\",\"type\":\"standalone\"},{\"name\":\"SBC\",\"description\":\"Specifies the Schwarz Bayesian information criterion.\",\"type\":\"standalone\"}]},{\"name\":\"COMPETITIVE\",\"optional\":true,\"description\":\"[method-option to be enclosed in parenthesis] Is applicable as a method-option only when METHOD=STEPWISE. If you specify the COMPETITIVE option, then the SELECT= criterion is evaluated for all models in which an effect currently in the model is dropped or an effect not yet in the model is added.\",\"type\":\"standalone\"},{\"name\":\"DETAILS=\",\"optional\":true,\"description\":\"Specifies the level of detail to be produced about the selection process. The default is DETAILS= SUMMARY.\",\"help\":\"DETAILS=SUMMARY | STEPS | ALL | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"SUMMARY\",\"description\":\"Produces a summary table that shows the effect that is added or removed at each step along with the criteria specified in the SELECT=, CHOOSE=, and STOP= method-options. The summary table is produced by default if you do not specify the DETAILS= option.\",\"type\":\"standalone\"},{\"name\":\"STEPS\",\"description\":\"Syntax: DETAILS=STEPS<(CANDIDATES(ALL | n))> Produces the preceding summary table and displays the results from fitting each model at each step. If you specify STEPS(CANDIDATES(n)), then the best n candidates are shown. If you specify STEPS(CANDIDATES(ALL)), then all candidates are shown.\",\"type\":\"standalone\"},{\"name\":\"ALL\",\"description\":\"Produces the preceding tables and a detailed listing of all candidates at each step along with their ranking in terms of the selection criterion for addition to or removal from the model.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"Specifies that no details be produced about the selection process.\",\"type\":\"standalone\"}]},{\"name\":\"FAST\",\"optional\":true,\"description\":\"[method-option to be enclosed in parenthesis] Implements the computational algorithm of Lawless and Singhal (1978) to compute a first-order approximation to the remaining slope estimates for each subsequent elimination of a variable from the model. When applied in backward selection, this option essentially leads to approximating the selection process as the selection process of a linear regression model in which the crossproducts matrix equals the Hessian matrix in the full model under consideration. This option is available only when METHOD=BACKWARD is specified. It is computationally efficient because the model is not fit after removal of each effect.\",\"type\":\"standalone\"},{\"name\":\"HIERARCHY=\",\"optional\":true,\"description\":\"Specifies whether and how the model hierarchy requirement is applied. You can specify that only classification effects, or both classification and continuous effects, be subject to the hierarchy requirement. This option is ignored unless you also specify one of the following options: METHOD=FORWARD, METHOD=BACKWARD, or METHOD=STEPWISE.\",\"help\":\"HIERARCHY=NONE | SINGLE | SINGLECLASS\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NONE\",\"description\":\"Specifies that model hierarchy not be maintained. Any single effect can enter or leave the model at any step of the selection process.\",\"type\":\"standalone\"},{\"name\":\"SINGLE\",\"description\":\"Specifies that only one effect enter or leave the model at one time, subject to the model hierarchy requirement.\",\"type\":\"standalone\"},{\"name\":\"SINGLECLASS\",\"description\":\"Is the same as HIERARCHY=SINGLE except that only CLASS effects are subject to the hierarchy requirement.\",\"type\":\"standalone\"}]},{\"name\":\"LSCOEFFS\",\"optional\":true,\"description\":\"[method-option to be enclosed in parenthesis] Requests a hybrid version of the LAR and LASSO methods, in which the sequence of models is determined by the LAR or LASSO algorithm but the coefficients of the parameters for the model at any step are determined by using ordinary least squares.\",\"type\":\"standalone\"},{\"name\":\"MAXEFFECTS=\",\"optional\":true,\"description\":\"Specifies the maximum number of effects in any model that is considered during the selection process. This option is ignored when METHOD=BACKWARD is specified.\",\"help\":\"MAXEFFECTS=*n*\",\"type\":\"value\"},{\"name\":\"MAXSTEPS=\",\"optional\":true,\"description\":\"Specifies the maximum number of selection steps that are performed. The default value of n is the number of effects in the SCALEMODEL or MODEL statement when METHOD=FORWARD or METHOD=BACKWARD.\",\"help\":\"MAXSTEPS=*n*\",\"type\":\"value\"},{\"name\":\"METHOD=\",\"optional\":true,\"aliases\":[\"SELECTION=\"],\"description\":\"Specifies the selection method to use.\",\"help\":\"METHOD=BACKWARD | FORWARD | FORWARDSWAP | STEPWISE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"BACKWARD\",\"description\":\"Specifies the backward elimination method.\",\"type\":\"standalone\"},{\"name\":\"FORWARD\",\"description\":\"Specifies the forward selection method.\",\"type\":\"standalone\"},{\"name\":\"FORWARDSWAP\",\"description\":\"Specifies forward-swap selection, which is an extension of the forward selection method.\",\"type\":\"standalone\"},{\"name\":\"STEPWISE\",\"description\":\"specifies the stepwise regression method.\",\"type\":\"standalone\"}]},{\"name\":\"MINEFFECTS=\",\"optional\":true,\"description\":\"Specifies the minimum number of effects in any model that is considered during backward selection. This option is ignored unless METHOD=BACKWARD is specified.\",\"help\":\"MINEFFECTS=*n*\",\"type\":\"value\"},{\"name\":\"ORDERSELECT\",\"optional\":true,\"description\":\"Specifies that effects in the selected model are displayed in the order in which they first entered the model. If you do not specify the ORDERSELECT option, then effects in the selected model are displayed in the order in which they appear in the MODEL statement.\",\"type\":\"standalone\"},{\"name\":\"PLOT=\",\"optional\":true,\"aliases\":[\"PLOTS=\"],\"description\":\"Controls the selection process plots that are produced through ODS Graphics. Each global-plot-option applies to all plots that the SELECTION statement generates, unless you alter the option by using a specific plot option that follows a plot-request. You can specify the following global-plot-options:\",\"help\":\"PLOT=ALL | COEFFICIENTS | CRITERIA | FITBYROLE  | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ALL\",\"description\":\"produces all relevant plots.\",\"type\":\"standalone\"},{\"name\":\"COEFFICIENTS\",\"description\":\"Syntax: COEFFICIENTS | COEFFICIENTPANEL <(UNPACK | UNPACKPANEL)> Creates a panel of two plots. The upper plot shows the progression of the parameter values as the selection process proceeds. The lower plot shows the progression of the CHOOSE= criterion.\",\"type\":\"standalone\"},{\"name\":\"CRITERIA\",\"description\":\"Syntax: CRITERIA | CRITERIONPANEL <(UNPACK | UNPACKPANEL)> Creates a panel of model fit criteria. If you specify the UNPACK option, then each criterion progression is shown in a separate plot.\",\"type\":\"standalone\"},{\"name\":\"FITBYROLE\",\"description\":\"Plots the progression of a fit statistic on the training, test, and validation data. The fit statistic that is displayed depends on the type of model that is being fit. The fit by role plot is not produced if you do not specify a PARTITION statement.\",\"help\":\"FITBYROLE \",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"Suppress all selection process plots, even if you specify other plot options.\",\"type\":\"standalone\"}]},{\"name\":\"SELECT=\",\"optional\":true,\"aliases\":[\"CRITERION=\"],\"description\":\"Specifies the criterion that the procedure uses to determine the order in which effects enter or leave at each step of the selection method. For each step, the effect whose addition to or removal from the current model yields the maximum improvement in the specified criterion is selected. You can use the traditional significance-level approach by specifying the SL criterion; for other supported criteria, see the chapter for the relevant procedure. This option is not valid when METHOD=LAR or METHOD=LASSO.\",\"help\":\"SELECT=AIC | AICC | SBC\",\"type\":\"choice\",\"arguments\":[{\"name\":\"AIC\",\"description\":\"Specifies Akaike’s information criterion.\",\"type\":\"standalone\"},{\"name\":\"AICC\",\"description\":\"Specifies the corrected Akaike’s information criterion.\",\"type\":\"standalone\"},{\"name\":\"SBC\",\"description\":\"Specifies the Schwarz Bayesian information criterion.\",\"type\":\"standalone\"}]},{\"name\":\"SLENTRY=\",\"optional\":true,\"aliases\":[\"SLE=\"],\"description\":\"Specifies the significance level for entry when STOP=SL or SELECT=SL. By default, SLENTRY=0.05.\",\"type\":\"value\"},{\"name\":\"SLSTAY=\",\"optional\":true,\"aliases\":[\"SLS=\"],\"description\":\"Specifies the significance level for staying in the model when STOP=SL or SELECT=SL.\",\"type\":\"value\"},{\"name\":\"STOP=\",\"optional\":true,\"description\":\"Specifies a criterion that is used to stop the selection process.\",\"help\":\"STOP=SL | NONE | &lt;*criterion*&gt;\",\"type\":\"choice\",\"arguments\":[{\"name\":\"SL\",\"description\":\"Stops the selection process at the step where the significance level of the candidate for entry is greater than the SLENTRY= value for addition steps when METHOD=FORWARD or METHOD=STEPWISE and where the significance level of the candidate for removal is greater than the SLSTAY= value when METHOD=BACKWARD or METHOD=STEPWISE.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"Stops the selection process if no suitable add or drop candidates can be found or if a size-based limit is reached.\",\"type\":\"standalone\"},{\"name\":\"criterion\",\"placeholder\":true,\"description\":\"Stops the selection process if the selection process produces a local extremum of this criterion or if a size-based limit is reached.\",\"type\":\"value\"}]},{\"name\":\"STOPHORIZON=\",\"optional\":true,\"description\":\"Specifies the number of consecutive steps at which the STOP= criterion must worsen in order for a local extremum to be detected. The stop horizon value is ignored if you also specify STOP=NONE or STOP=SL. For example, suppose that STOP=AIC and the sequence of AIC values at steps 1 to 6 of a selection are 10, 7, 4, 6, 5, 2. If STOPHORIZON=2, then the AIC criterion is deemed to have a local minimum at step 3 because the AIC value at the next two steps are greater than the value 4 that occurs at step 3. However, if STOPHORIZON=3, then the value at step 3 is not deemed to be a local minimum because the AIC value at step 6 is lower than the AIC value at step 3. When METHOD=LAR or METHOD=LASSO, n is ignored and STOPHORIZON=1 is used. By default, STOPHORIZON=3.\",\"help\":\"STOPHORIZON=*n*\",\"type\":\"value\"}]},{\"name\":\"WEIGHT\",\"description\":\"The variable in the WEIGHT statement is used as a weight to perform a weighted analysis of the data. Observations that have nonpositive or missing weights are not included in the analysis. If a WEIGHT statement is not included, all observations that are used in the analysis are assigned a weight of 1.\",\"help\":\"WEIGHT variable\"}],\"supportSiteInformation\":{\"docsetId\":\"casstat\",\"docsetVersion\":\"latest\",\"docsetTargetFile\":\"casstat_qtrselect_toc.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/QUANTLIFE.json",
    "content": "{\"name\":\"QUANTLIFE\",\"statements\":[{\"name\":\"PROC QUANTLIFE\",\"description\":\"[SAS/STAT 12.1 Experimental Procedure] † The QUANTLIFE procedure performs quantile regression analysis for survival data, where observations are not always directly observed. † Quantile regression (Koenker and Bassett, 1978) is a type of regression analysis that explores how the conditional quantile of a response variable depends on its covariates. By estimating a set of conditional quantiles, you can gain more insight about the conditional distribution of the response given its covariates. † Quantile regression provides a flexible way to capture heterogeneous effects in the sense that the tails and the central location of the conditional distributions can vary differently with the covariates. Thus, quantile regression offers a powerful tool in survival analysis, where the lifetimes are skewed, and extreme survival times can be of special interest (Koenker and Geling, 2001; Huang, 2010).\",\"help\":\"PROC QUANTLIFE <ALPHA=value><CI=EW | PW | NONE><DATA=SAS-data-set><GRIDSIZE=value><INITTAU=value><KAPPA=value><LOG><MAXIT=n><METHOD=KM | NA><NAMELEN=n><NREP=n><OUTBOOTEST=SAS-data-set><PLOTS=ALL | NONE | QUANTILE... ><SEED=number><TOLERANCE=value>;     \\n\\tBASELINE <COVARIATES=SAS-data-set><OUT=SAS-data-set><SURVIVAL = name> ...;\\n\\n\\tBY <DESCENDING><NOTSORTED> ;\\n\\n\\tCLASS <TRUNCATE> ;\\n\\n\\tEFFECT <EFFECT-NAME>=COLLECTION|LAG|MULTIMEMBER|MM...  <PERIOD=variable><WITHIN=(variables) | WITHIN=variable> ...;\\n\\n\\tMODEL <NOINT><QUANTILE=<number-list | PROCESS>> ;\\n\\n\\tOUTPUT <OUT=SAS-data-set><PREDICTED=><RESIDUAL=> ...;\\n\\n\\tTEST <WALD> ;\\n\\n\\tWEIGHT variable ;\\n\",\"arguments\":[{\"name\":\"ALPHA=\",\"optional\":true,\"description\":\"Specifies the confidence level for the regression parameters. The value must be between 0 and 1. The default is ALPHA=0.05, which corresponds to a 95% confidence interval.\",\"help\":\"ALPHA=*value*\",\"type\":\"value\"},{\"name\":\"CI=\",\"optional\":true,\"description\":\"Specifies the method used to compute confidence intervals for regression parameters. In addition to confidence intervals, the QUANTLIFE procedure also computes standard errors, t values, and p-values for regression parameters. You can suppress these computations by specifying CI=NONE. The QUANTLIFE procedure provides two resampling methods for computing confidence intervals, the exponentially weighted (EW) method and the pairwise (PW) resampling method.\",\"help\":\"CI=EW | PW | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"EW\",\"description\":\"Exponentially weighted (EW) resampling method for computing confidence intervals\",\"type\":\"standalone\"},{\"name\":\"PW\",\"description\":\"Pairwise resampling method for computing confidence intervals\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"Suppresses computations of confidence intervals for regression parameters\",\"type\":\"standalone\"}]},{\"name\":\"DATA=\",\"optional\":true,\"description\":\"Specifies the input SAS data set that the QUANTLIFE procedure uses. By default, the most recently created SAS data set is used.\",\"help\":\"DATA=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"GRIDSIZE=\",\"optional\":true,\"description\":\"Specifies the step size for computing regression quantiles. The value must be between 0 and 1.\",\"help\":\"GRIDSIZE=*value*\",\"type\":\"value\"},{\"name\":\"INITTAU=\",\"optional\":true,\"description\":\"Specifies the first quantile level for computing regression quantiles.\",\"help\":\"INITTAU=*value*\",\"type\":\"value\"},{\"name\":\"KAPPA=\",\"optional\":true,\"description\":\"Specifies the step-length parameter for the interior point algorithm. The value must be between 0 and 1. The interior point method used by the QUANTLIFE is identical to the interior point method used by the QUANTREG procedure.\",\"help\":\"KAPPA=*value*\",\"type\":\"value\"},{\"name\":\"LOG\",\"optional\":true,\"description\":\"Requests that a log transformation of the response variable be performed before the model is fitted.\",\"type\":\"standalone\"},{\"name\":\"MAXIT=\",\"optional\":true,\"description\":\"Specifies the maximum number of iterations for the interior point algorithm. The default is MAXIT= 1000.\",\"help\":\"MAXIT=*n*\",\"type\":\"value\"},{\"name\":\"METHOD=\",\"optional\":true,\"description\":\"Specifies the method used to estimate the regression parameters. KM specifies the Kaplan-Meier-type method (see the section Kaplan-Meier-Type Estimator for Censored Quantile Regression) and NA specifies the Nelson-Aalen-type method (see the section Nelson-Aalen-Type Estimator for Censored Quantile Regression).\",\"help\":\"METHOD=KM | NA\",\"type\":\"choice\",\"arguments\":[{\"name\":\"KM\",\"description\":\"Specifies the Kaplan-Meier-type method (see the section Kaplan-Meier-Type Estimator for Censored Quantile Regression)\",\"type\":\"standalone\"},{\"name\":\"NA\",\"description\":\"Specifies the Nelson-Aalen-type method (see the section Nelson-Aalen-Type Estimator for Censored Quantile Regression).\",\"type\":\"standalone\"}]},{\"name\":\"NAMELEN=\",\"optional\":true,\"description\":\"Specifies the length of effect names in tables and output data sets to be n characters, where n is a value between 20 and 200. The default is NAMELEN=20.\",\"help\":\"NAMELEN=*n*\",\"type\":\"value\"},{\"name\":\"NREP=\",\"optional\":true,\"description\":\"Specifies the number of replications to draw in the resampling method. The default is NREP=200.\",\"help\":\"NREP=*n*\",\"type\":\"value\"},{\"name\":\"OUTBOOTEST=\",\"optional\":true,\"description\":\"Creates a data set to contain the parameter estimates from the resampled data sets.\",\"help\":\"OUTBOOTEST=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"PLOTS=\",\"optional\":true,\"description\":\"Requests various plots. When you specify one plot-request, you can omit the parentheses around the plot request. ODS Graphics must be enabled before plots can be requested. For example:\",\"help\":\"PLOTS=ALL | NONE | QUANTILE | QUANTPLOT | SURVIVAL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ALL\",\"description\":\"Creates all appropriate plots.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"Suppresses all the plots in the procedure. Specifying this option is equivalent to disabling ODS Graphics for the entire procedure.\",\"type\":\"standalone\"},{\"name\":\"QUANTILE\",\"description\":\"Plots the estimated quantile function for each combination of covariate values in the COVARIATES= data set specified in the BASELINE statement. If the COVARIATES= data set is not specified, the estimated quantile function is plotted for the reference set of covariate values that consists of reference levels for the CLASS variables and average values for the continuous variables. When the estimated quantile function is not monotonic, the quantile function (Chernozhukov, Fernandez-Val, and Galichon, 2009) is rearranged to make it monotonic and then plotted.\",\"type\":\"standalone\"},{\"name\":\"QUANTPLOT\",\"description\":\"QUANTPLOT </ UNPACK > Plots the regression quantile process. The estimated coefficient of each specified covariate effect is plotted as a function of the quantile level. You can use the UNPACK option to create individual process plots.\",\"type\":\"standalone\"},{\"name\":\"SURVIVAL\",\"description\":\"Plots the estimated survival function for each combination of covariate values in the COVARIATES= data set specified in the BASELINE statement. If the COVARIATES= data set is not specified, the estimated survival function is plotted for the reference set of covariate values that consists of reference levels for the CLASS variables and average values for the continuous variables.\",\"type\":\"standalone\"}]},{\"name\":\"SEED=\",\"optional\":true,\"description\":\"Specifies a positive integer to start the pseudorandom number generator. The default is a value that is generated from reading the time of day from the computer’s clock. However, to duplicate the results under identical situations, you must specify the same seed in subsequent runs of the QUANTLIFE procedure. The seed information is displayed in the “Model Information” table.\",\"help\":\"SEED=*number*\",\"type\":\"value\"},{\"name\":\"TOLERANCE=\",\"optional\":true,\"description\":\"Specifies the tolerance for the convergence criterion of the interior point algorithm. Both the QUANTLIFE procedure and the QUANTREG procedure use the duality gap as the convergence criterion.\",\"help\":\"TOLERANCE=*value*\",\"type\":\"value\"}]},{\"name\":\"BASELINE\",\"description\":\"The BASELINE statement creates an output data set to contain the survival function estimates or the conditional quantile function estimates for every set of covariates (x) in the COVARIATES= data set. If the COVARIATES= data set is not specified, PROC QUANTLIFE uses a reference set of covariates that consists of the reference levels for the CLASS variables and the average values for the continuous variables.\",\"help\":\"BASELINE &lt;COVARIATES=SAS-data-set&gt;&lt;OUT=SAS-data-set&gt;&lt;SURVIVAL = name&gt; ...\",\"arguments\":[{\"name\":\"COVARIATES=\",\"optional\":true,\"description\":\"Names the SAS data set that contains the sets of explanatory variable values for which the quantities of interest are estimated. All variables in the COVARIATES= data set are copied to the OUT= data set. Thus, the variables in the COVARIATES= data set can be used to identify the covariate sets in the OUT= data set.\",\"help\":\"COVARIATES=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"OUT=\",\"optional\":true,\"description\":\"Names the output data set. If you omit the OUT= option, the data set is created and given a default name by using the DATAn convention.\",\"help\":\"OUT=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"QUANTILE=\",\"optional\":true,\"description\":\"Specifies the estimated quantile function.\",\"type\":\"value\"},{\"name\":\"SURVIVAL=\",\"optional\":true,\"description\":\"Specifies the estimated survival function.\",\"type\":\"value\"},{\"name\":\"TAU=\",\"optional\":true,\"description\":\"Specifies the quantile level, which is the complement of the survival function.\",\"type\":\"value\"}]},{\"name\":\"BY\",\"description\":\"You can specify a BY statement with PROC QUANTLIFE to obtain separate analyses of observations in groups that are defined by the BY variables. When a BY statement appears, the procedure expects the input data set to be sorted in order of the BY variables. If you specify more than one BY statement, only the last one specified is used. If your input data set is not sorted in ascending order, use one of the following alternatives: • Sort the data by using the SORT procedure with a similar BY statement. • Specify the NOTSORTED or DESCENDING option in the BY statement for the QUANTLIFE procedure. The NOTSORTED option does not mean that the data are unsorted but rather that the data are arranged in groups (according to values of the BY variables) and that these groups are not necessarily in alphabetical or increasing numeric order. • Create an index on the BY variables by using the DATASETS procedure (in Base SAS software).\",\"help\":\"BY &lt;DESCENDING&gt;&lt;NOTSORTED&gt;\",\"arguments\":[{\"name\":\"DESCENDING\",\"optional\":true,\"description\":\"Specifies that the observations are sorted in descending order by the variable that immediately follows the word DESCENDING in the BY statement.\",\"type\":\"standalone\"},{\"name\":\"NOTSORTED\",\"optional\":true,\"description\":\"The NOTSORTED option does not mean that the data are unsorted but rather that the data are arranged in groups (according to values of the BY variables) and that these groups are not necessarily in alphabetical or increasing numeric order.\",\"type\":\"standalone\"}]},{\"name\":\"CLASS\",\"description\":\"The CLASS statement names the classification variables to be used in the model. Typical classification variables are Treatment, Sex, Race, Group, and Replication. If you use the CLASS statement, it must appear before the MODEL statement. Classification variables can be either character or numeric. By default, class levels are determined from the entire set of formatted values of the CLASS variables. In any case, you can use formats to group values into levels.\",\"help\":\"CLASS &lt;TRUNCATE&gt;\",\"arguments\":[{\"name\":\"TRUNCATE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies that class levels should be determined by using only up to the first 16 characters of the formatted values of CLASS variables.\",\"type\":\"standalone\"}]},{\"name\":\"EFFECT\",\"description\":\"The EFFECT statement enables you to construct special collections of columns for design matrices. These collections are referred to as constructed effects to distinguish them from the usual model effects that are formed from continuous or classification variables, as discussed in the section GLM Parameterization of Classification Variables and Effects. The name of the effect is specified after the EFFECT keyword. This name can appear in only one EFFECT statement and cannot be the name of a variable in the input data set. The effect-type is specified after an equal sign, followed by a list of variables within parentheses which are used in constructing the effect. Effect-options that are specific to an effect-type can be specified after a slash (/) following the variable list. The EFFECT statement enables you to construct special collections of columns for design matrices. These collections are referred to as constructed effects to distinguish them from the usual model effects formed from continuous or classification variables.\",\"help\":\"EFFECT &lt;EFFECT-NAME&gt;=COLLECTION|LAG|MULTIMEMBER|MM...  &lt;PERIOD=variable&gt;&lt;WITHIN=(variables) | WITHIN=variable&gt; ...\",\"arguments\":[{\"name\":\"EFFECT-NAME=\",\"placeholder\":true,\"description\":\"Replace EFFECT-NAME with the name of the effect, specified after the EFFECT keyword. This name can appear in only one EFFECT statement and cannot be the name of a variable in the input data set. These values can be used: COLLECTION, LAG, MULTIMEMBER, POLYNOMIAL, or SPLINE.\",\"type\":\"value\"},{\"name\":\"BASIS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"[For the SPLINE effect-type only] Specifies a basis for the spline expansion.\",\"help\":\"BASIS=BSPLINE | TPF\",\"type\":\"choice\",\"arguments\":[{\"name\":\"BSPLINE\",\"followsDelimiter\":\"/\",\"description\":\"Specifies a B-spline basis for the spline expansion.\",\"type\":\"standalone\"},{\"name\":\"TPF\",\"followsDelimiter\":\"/\",\"description\":\"Syntax: TPF(options) Specifies a truncated power function basis for the spline expansion. You can modify the number of columns when you request BASIS=TPF with the following options: NOINT excludes the intercept column. NOPOWERS excludes the intercept and polynomial columns.\",\"type\":\"standalone\"}]},{\"name\":\"DATABOUNDARY\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"[For the SPLINE effect-type only] Specifies that the extremes of the data be used as boundary knots when building a B-spline basis.\",\"type\":\"standalone\"},{\"name\":\"DEGREE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"\",\"help\":\"DEGREE=*n*\",\"type\":\"value\"},{\"name\":\"DESIGNROLE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"\",\"help\":\"DESIGNROLE=*variable*\",\"type\":\"value\"},{\"name\":\"DETAILS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"[For the LAG | COLLECTION | MULTIMEMBER | POLYNOMIAL |SPLINE effect-type] Requests a table that shows the (1) lag design matrix of the lag effect, or (2) constituents of the collection effect, or (3) levels of the multimember effect, or (4) details of the specified polynomial, or (5) knot locations and the knots associated with each spline basis function.\",\"type\":\"standalone\"},{\"name\":\"KNOTMAX=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"\",\"help\":\"KNOTMAX=*value*\",\"type\":\"value\"},{\"name\":\"KNOTMETHOD=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"[For the SPLINE effect-type only] Specifies how to construct the knots for spline effects.\",\"help\":\"KNOTMETHOD=EQUAL | LIST | LISTWITHBOUNDARY | MULTISCALE | PERCENTILES | RANGEFRACTIONS\",\"type\":\"choice\",\"arguments\":[{\"name\":\"EQUAL\",\"followsDelimiter\":\"/\",\"description\":\"Syntax: EQUAL<(n)> Specifies that n equally spaced knots be positioned between the extremes of the data. The default is n=3. For a B-spline basis, any needed boundary knots continue to be equally spaced unless the DATABOUNDARY option has also been specified. KNOTMETHOD=EQUAL is the default if no knot-method is specified.\",\"type\":\"standalone\"},{\"name\":\"LIST\",\"followsDelimiter\":\"/\",\"description\":\"Syntax: LIST(number-list) Specifies the list of internal knots to be used in forming the spline basis columns. For a B-spline basis, the data extremes are used as boundary knots.\",\"type\":\"standalone\"},{\"name\":\"LISTWITHBOUNDARY\",\"followsDelimiter\":\"/\",\"description\":\"Syntax: LISTWITHBOUNDARY(number-list) Specifies the list of all knots that are used in forming the spline basis columns.\",\"type\":\"standalone\"},{\"name\":\"MULTISCALE\",\"followsDelimiter\":\"/\",\"description\":\"Syntax: MULTISCALE<(multiscale-options)> Specifies that multiple B-spline bases be generated, corresponding to sets with an increasing number of internal knots. You can control which scales are included with the following multiscale-options: STARTSCALE=n specifies the start scale, where n is a positive integer. The default is STARTSCALE=0. ENDSCALE=n specifies the end scale, where n is a positive integer. The default is ENDSCALE=7.\",\"type\":\"standalone\"},{\"name\":\"PERCENTILES\",\"followsDelimiter\":\"/\",\"description\":\"Syntax: PERCENTILES(n) Requests that internal knots be placed at n equally spaced percentiles of the variable or variables named in the EFFECT statement.\",\"type\":\"standalone\"},{\"name\":\"RANGEFRACTIONS\",\"followsDelimiter\":\"/\",\"description\":\"Syntax: RANGEFRACTIONS(fraction-list) Requests that internal knots be placed at each fraction of the ranges of the variables in the EFFECT statement.\",\"type\":\"standalone\"}]},{\"name\":\"KNOTMIN=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"\",\"help\":\"KNOTMIN=*value*\",\"type\":\"value\"},{\"name\":\"LABELSTYLE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"\",\"help\":\"LABELSTYLE=EXPAND | EXPONENT | INCLUDENAME | PRODUCTSYMBOL=\",\"type\":\"choice\",\"arguments\":[{\"name\":\"EXPAND\",\"followsDelimiter\":\"/\",\"description\":\"Specifies that each variable with an exponent greater than 1 be written as products of that variable.\",\"type\":\"standalone\"},{\"name\":\"EXPONENT\",\"followsDelimiter\":\"/\",\"description\":\"Syntax: EXPONENT <=quoted string> Specifies that each variable with an exponent greater than 1 be written using exponential notation. By default, the symbol ^ is used as the exponentiation operator. If you supply the optional quoted string after an equal sign, then that string is used as the exponentiation operator.\",\"type\":\"standalone\"},{\"name\":\"INCLUDENAME\",\"followsDelimiter\":\"/\",\"description\":\"Specifies that the name of the effect followed by an underscore be used as a prefix for term labels.\",\"type\":\"standalone\"},{\"name\":\"PRODUCTSYMBOL=\",\"followsDelimiter\":\"/\",\"description\":\"Syntax: PRODUCTSYMBOL=NONE | quoted string Specifies that the supplied string be used as the product symbol.\",\"type\":\"value\"}]},{\"name\":\"MDEGREE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"\",\"help\":\"MDEGREE=*n*\",\"type\":\"value\"},{\"name\":\"NLAG=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"\",\"type\":\"value\"},{\"name\":\"NOEFFECT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"[For the MULTIMEMBER effect-type only] Specifies that, for observations with all missing levels of the multimember variables, the values in the corresponding design matrix columns be set to zero.\",\"type\":\"standalone\"},{\"name\":\"NOSEPARATE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"[For the POLYNOMIAL effect-type only] Specifies that the polynomial be treated as a single effect with multiple degrees of freedom. The effect name that you specify is used as the constructed effect name, and the labels of the terms are used as labels of the corresponding parameters.\",\"type\":\"standalone\"},{\"name\":\"PERIOD=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the period variable of the LAG design. The number of periods is the number of unique formatted values of the PERIOD= variable, and the ordering of the period is formed by sorting these formatted values in ascending order. You must specify a PERIOD= variable.\",\"help\":\"PERIOD=*variable*\",\"type\":\"value\"},{\"name\":\"SEPARATE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"[For the SPLINE effect-type only] Specifies that when multiple variables are specified in the EFFECT statement, the spline basis for each variable be treated as a separate effect. The names of these separated effects are formed by appending an underscore followed by the name of the variable to the name that you specify in the EFFECT statement.\",\"type\":\"standalone\"},{\"name\":\"SPLIT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"[For the SPLINE effect-type only] Specifies that each individual column in the design matrix that corresponds to the spline effect be treated as a separate effect that can enter or leave the model independently. Names for these split effects are generated by appending the variable name and an index for each column to the name that you specify in the EFFECT statement.\",\"type\":\"standalone\"},{\"name\":\"STANDARDIZE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies that the variables that define the polynomial be standardized. By default, the standardized variables receive prefix \\\"s_\\\" in the variable names. You can use the following centerscale-opts to specify how the center and scale are estimated: METHOD=MOMENTS specifies that the center be estimated by the variable mean and the scale be estimated by the standard deviation. METHOD=RANGE specifies that the center be estimated by the midpoint of the variable range and the scale be estimated as half the variable range. METHOD=WMOMENTS is the same as METHOD=MOMENTS except that weighted means and weighted standard deviations are used.\",\"help\":\"STANDARDIZECENTER | CENTERSCALE | NONE | SCALE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"CENTER\",\"followsDelimiter\":\"/\",\"description\":\"Specifies that variables be centered but not scaled.\",\"type\":\"standalone\"},{\"name\":\"CENTERSCALE\",\"followsDelimiter\":\"/\",\"description\":\"Specifies that variables be centered and scaled. This is the default if you do not specify a standardization-opt.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"followsDelimiter\":\"/\",\"description\":\"Specifies that no standardization be performed.\",\"type\":\"standalone\"},{\"name\":\"SCALE\",\"followsDelimiter\":\"/\",\"description\":\"Specifies that variables be scaled but not centered.\",\"type\":\"standalone\"}]},{\"name\":\"STDIZE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"[For the MULTIMEMBER effect-type only] Specifies that for each observation, the entries in the design matrix that corresponds to the multimember effect be scaled to have a sum of one.\",\"type\":\"standalone\"},{\"name\":\"WEIGHT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"\",\"help\":\"WEIGHT=*wght-list*\",\"type\":\"value\"},{\"name\":\"WITHIN=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"\",\"type\":\"value\"}]},{\"name\":\"MODEL\",\"description\":\"The MODEL statement identifies the response variable, the optional censoring variable, and the explanatory effects, including covariates, main effects, interactions, and nested effects. In the MODEL statement, the response variable precedes the equal sign. This name can optionally be followed by an asterisk, the name of the censoring variable, and a list of censoring values (separated by blanks or commas if you list more than one value) enclosed in parentheses. If the censoring variable takes on one of these values, the corresponding failure time is considered to be censored. Following the equal sign are the explanatory effects (sometimes called independent variables or covariates) for the model. The censoring variable must be numeric.\",\"help\":\"MODEL &lt;NOINT&gt;&lt;QUANTILE=&lt;number-list | PROCESS&gt;&gt;\",\"arguments\":[{\"name\":\"NOINT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies no intercept regression.\",\"type\":\"standalone\"},{\"name\":\"QUANTILE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the quantile levels of interest for quantile regression analysis. You can specify any number of quantile levels in the interval (0,1). You can also compute the entire quantile process by specifying the PROCESS option.\",\"help\":\"QUANTILE=number-list | PROCESS\",\"type\":\"choice\",\"arguments\":[{\"name\":\"number-list\",\"followsDelimiter\":\"/\",\"description\":\"Replace number-list with any number of quantile levels in the interval (0,1).\",\"type\":\"standalone\"},{\"name\":\"PROCESS\",\"followsDelimiter\":\"/\",\"description\":\"Specifies to compute the entire quantile process.\",\"type\":\"standalone\"}]}]},{\"name\":\"OUTPUT\",\"description\":\"The OUTPUT statement creates a SAS data set to contain statistics that are calculated after fitting models for all quantiles specified by the QUANTILE= option in the MODEL statement. At least one specification of the form keyword=name is required. All variables in the original data set are included in the new data set, along with the variables that are created. These new variables contain fitted values and estimated quantiles. If you want to create a permanent SAS data set, you must specify a two-level name.\",\"help\":\"OUTPUT &lt;OUT=SAS-data-set&gt;&lt;PREDICTED=&gt;&lt;RESIDUAL=&gt; ...\",\"arguments\":[{\"name\":\"OUT=\",\"optional\":true,\"description\":\"Specifies the new data set. By default, the procedure uses the DATAn convention to name the new data set.\",\"help\":\"OUT=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"PREDICTED=\",\"optional\":true,\"aliases\":[\"P=\"],\"description\":\"Specifies a variable to contain the predicted response.\",\"type\":\"value\"},{\"name\":\"RESIDUAL=\",\"optional\":true,\"aliases\":[\"RES=\"],\"description\":\"Specifies a variable to contain residuals.\",\"type\":\"value\"},{\"name\":\"SAMPLEWEIGHT=\",\"optional\":true,\"aliases\":[\"SW=\"],\"description\":\"Specifies variables for sample weights from the bootstrap samples. For the ith sample, a column that contains the weights that are used for that sample is added. The name of this column is formed by appending an index i to the name that you specify. If you do not specify a name, then the default prefix is sw.\",\"type\":\"value\"},{\"name\":\"STDP=\",\"optional\":true,\"description\":\"Specifies a variable to contain the estimates of the standard errors of the estimated response.\",\"type\":\"value\"}]},{\"name\":\"TEST\",\"description\":\"In quantile regression analysis, you might be interested in testing whether a covariate effect is statistically significant for a given quantile. You can include multiple TEST statements, provided that they appear after the MODEL statement. The optional label, which must be a valid SAS name, is used to identify output from the corresponding TEST statement.\",\"help\":\"TEST &lt;WALD&gt;\",\"arguments\":[{\"name\":\"WALD\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests the Wald tests.\",\"type\":\"standalone\"}]},{\"name\":\"WEIGHT\",\"description\":\"The WEIGHT statement specifies a weight variable in the input data set. To request weighted quantile regression, place the weights in a variable and specify the name in the WEIGHT statement. The values of the WEIGHT variable can be nonintegral and are not truncated. Observations with nonpositive or missing values for the weight variable do not contribute to the fit of the model.\",\"help\":\"WEIGHT variable \"}],\"supportSiteInformation\":{\"docsetId\":\"statug\",\"docsetVersion\":\"latest\",\"docsetTargetFile\":\"statug_quantlife_toc.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/QUANTREG.json",
    "content": "{\"name\":\"QUANTREG\",\"statements\":[{\"name\":\"PROC QUANTREG\",\"description\":\"The QUANTREG procedure models the effects of covariates on the conditional quantiles of a response variable by means of quantile regression. † Ordinary least squares (OLS) regression models the relationship between one or more covariates X and the conditional mean of the response variable Y given X=x. Quantile regression, which was introduced by Koenker and Bassett (1978), extends the regression model to conditional quantiles of the response variable, such as the median or the 90th percentile. Quantile regression is particularly useful when the rate of change in the conditional quantile, expressed by the regression coefficients, depends on the quantile.\",\"help\":\"PROC QUANTREG <ALGORITHM=SIMPLEX | INTERIOR | SMOOTH><ALPHA=value><CI=NONE | RANK | SPARSITY... ><DATA=SAS-data-set><INEST=SAS-data-set><NAMELEN=n><ORDER=DATA | FORMATTED | FREQ... ><OUTEST=SAS-data-set><PLOTS=ALL | DDPLOT | FITPLOT... ><PP>;     \\n\\tBY <DESCENDING><NOTSORTED> ;\\n\\n\\tCLASS variables ;\\n\\n\\tEFFECT EFFECT-NAME=COLLECTION|LAG|MULTIMEMBER|MM...  <PERIOD=variable><WITHIN=(variables) | WITHIN=variable> ...;\\n\\n\\tESTIMATE <ADJDFE=<SOURCE | ROW>><ADJUST=<BON | SCHEFFE | SIDAK>... ><ALPHA=number> ...;\\n\\n\\tID variables ;\\n\\n\\tMODEL <CORRB><COVB><CUTOFF=value> ...;\\n\\n\\tOUTPUT <COLUMNWISE> LEVERAGE= OUT=SAS-data-set ...;\\n\\n\\tPERFORMANCE <CPUCOUNT=<<1-1024> | ACTUAL>><DETAILS><THREADS> ...;\\n\\n\\tTEST <LR><QINTERACT><WALD> ...;\\n\\n\\tWEIGHT variable;\\n\",\"arguments\":[{\"name\":\"ALGORITHM=\",\"optional\":true,\"description\":\"Specifies an algorthm to estimate the regression parameters.\",\"help\":\"ALGORITHM=SIMPLEX | INTERIOR | SMOOTH\",\"type\":\"choice\",\"arguments\":[{\"name\":\"SIMPLEX\",\"description\":\"Simplex algorithm\",\"type\":\"standalone\"},{\"name\":\"INTERIOR\",\"description\":\"[Syntax: INTERIOR<(suboptions)>] Interior point algorithm. You can specify the following suboptions: KAPPA=value specifies the step length parameter for the interior point algorithm. MAXIT=n sets the maximum number of iterations for the interior point algorithm. By default, n=1000. TOLERANCE=value specifies the tolerance for the convergence criterion of the interior point algorithm. The default value is 1E-8.\",\"type\":\"standalone\"},{\"name\":\"SMOOTH\",\"description\":\"[Syntax: SMOOTH<(suboptions)>] Smoothing algorithm. You can specify the following suboption: RRATIO=value specifies the reduction ratio for the smoothing algorithm.\",\"type\":\"standalone\"}]},{\"name\":\"ALPHA=\",\"optional\":true,\"description\":\"Sets the confidence level for the confidence intervals for regression parameters. The value must be between 0 and 1. The default is ALPHA=0.05, corresponding to a 0.95 confidence interval.\",\"help\":\"ALPHA=*value*\",\"type\":\"value\"},{\"name\":\"CI=\",\"optional\":true,\"description\":\"Specifies a method to compute confidence intervals for regression parameters.\",\"help\":\"CI=NONE | RANK | SPARSITY | RESAMPLING\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NONE\",\"description\":\"No confidence intervals are computed.\",\"type\":\"standalone\"},{\"name\":\"RANK\",\"description\":\"By inverting rank-score tests.\",\"type\":\"standalone\"},{\"name\":\"SPARSITY\",\"description\":\"[Syntax: SPARSITY<(BF | HS)></IID>] By estimating sparsity function. There are two suboptions for estimating the sparsity function. If you specify the IID suboption, the sparsity function is estimated by assuming that the errors in the linear model are i.i.d. You can specify the Bofinger method with the BF suboption or the Hall-Sheather method with the HS suboption. By default, the Hall-Sheather method is used.\",\"type\":\"standalone\"},{\"name\":\"RESAMPLING\",\"description\":\"[Syntax: RESAMPLING<(NREP=n)>] By resampling. You can specify the number of repeats with the NREP=n suboption.\",\"type\":\"standalone\"}]},{\"name\":\"DATA=\",\"optional\":true,\"description\":\"Specifies the input SAS data set used by PROC ROBUSTREG. By default, the most recently created SAS data set is used.\",\"help\":\"DATA=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"INEST=\",\"optional\":true,\"description\":\"Specifies an input SAS data set that contains initial estimates for all the parameters in the model.\",\"help\":\"INEST=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"NAMELEN=\",\"optional\":true,\"description\":\"Specifies the length of effect names in tables and output data sets to be n characters, where n is a value between 20 and 200. The default length is 20 characters.\",\"help\":\"NAMELEN=*n*\",\"type\":\"value\"},{\"name\":\"ORDER=\",\"optional\":true,\"description\":\"Specifies the order in which to sort the levels of the classification variables (which are specified in the CLASS statement).\",\"help\":\"ORDER=DATA | FORMATTED | FREQ | INTERNAL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DATA\",\"description\":\"Levels sorted by the order of appearance in the input data set.\",\"type\":\"standalone\"},{\"name\":\"FORMATTED\",\"description\":\"Levels sorted by the external formatted value, except for numeric variables with no explicit format, which are sorted by their unformatted (internal) value.\",\"type\":\"standalone\"},{\"name\":\"FREQ\",\"description\":\"Levels sorted by the descending frequency count; levels with the most observations come first in the order.\",\"type\":\"standalone\"},{\"name\":\"INTERNAL\",\"description\":\"Levels sorted by the unformatted value.\",\"type\":\"standalone\"}]},{\"name\":\"OUTEST=\",\"optional\":true,\"description\":\"Specifies an output SAS data set containing the parameter estimates for all quantiles.\",\"help\":\"OUTEST=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"PLOTS=\",\"optional\":true,\"description\":\"Specifies options that control details of the plots. The ONLY option suppresses the default quantile fit plot. Only plots specifically requested are displayed. Syntax: (1) PLOT | PLOTS <(global-plot-options)> <=plot-request> (2) PLOT | PLOTS<(global-plot-options)> <=(plot-request < ...plot-request > )> The following global plot option is available: MAXPOINTS=NONE | number specifies that plots with elements that require processing more than number points be suppressed. The default is MAXPOINTS=5000. This cutoff is ignored if you specify MAXPOINTS=NONE.\",\"help\":\"PLOTS=ALL | DDPLOT | FITPLOT | HISTORGRAM | NONE | QQPLOT | RDPLOT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ALL\",\"description\":\"Creates all appropriate plots.\",\"type\":\"standalone\"},{\"name\":\"DDPLOT\",\"description\":\"[Syntax: DDPLOT<(LABEL=ALL|LEVERAGE|NONE|OUTLIER)>] Creates a plot of robust distance against Mahalanobis distance. The LABEL= option specifies how the points on this plot are to be labeled: LABEL=ALL label all points LABEL=LEVERAGE label leverage points LABEL=NONE no labels LABEL=OUTLIERS label outliers\",\"type\":\"standalone\"},{\"name\":\"FITPLOT\",\"description\":\"[Syntax: FITPLOT<(NOLIMITS)>] Creates a plot of robust fit against the single independent continuous variable specified in the model.\",\"type\":\"standalone\"},{\"name\":\"HISTORGRAM\",\"description\":\"Creates a histogram for the standardized robust residuals.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"Suppresses all plots.\",\"type\":\"standalone\"},{\"name\":\"QQPLOT\",\"description\":\"creates the normal quantile-quantile plot for the standardized robust residuals\",\"type\":\"standalone\"},{\"name\":\"RDPLOT\",\"description\":\"[Syntax: RDPLOT<(LABEL=ALL|LEVERAGE|NONE|OUTLIER)>] Creates the plot of standardized robust residual against robust distance. The LABEL= option specifies how the points on this plot are to be labeled: LABEL=ALL label all points LABEL=LEVERAGE label leverage points LABEL=NONE no labels LABEL=OUTLIERS label outliers\",\"type\":\"standalone\"}]},{\"name\":\"PP\",\"optional\":true,\"description\":\"Requests preprocessing to speed up the interior point algorithm or the smoothing algorithm.\",\"type\":\"standalone\"}]},{\"name\":\"BY\",\"description\":\"You can specify a BY statement with PROC QUANTREG to obtain separate analyses on observations in groups that are defined by the BY variables. When a BY statement appears, the procedure expects the input data set to be sorted in order of the BY variables. If you specify more than one BY statement, only the last one specified is used.\",\"help\":\"BY &lt;DESCENDING&gt;&lt;NOTSORTED&gt;\",\"arguments\":[{\"name\":\"DESCENDING\",\"optional\":true,\"description\":\"Specifies that the observations are sorted in descending order by the variable that immediately follows the word DESCENDING in the BY statement.\",\"type\":\"standalone\"},{\"name\":\"NOTSORTED\",\"optional\":true,\"description\":\"Specifies that observations are not necessarily sorted in alphabetic or numeric order.\",\"type\":\"standalone\"}]},{\"name\":\"CLASS\",\"description\":\"Variables that are classification variables rather than quantitative numeric variables must be listed in the CLASS statement. For each explanatory variable listed in the CLASS statement, indicator variables are generated for the levels assumed by the CLASS variable.\",\"help\":\"CLASS variables \"},{\"name\":\"EFFECT\",\"description\":\"The name of the effect is specified after the EFFECT keyword. This name can appear in only one EFFECT statement and cannot be the name of a variable in the input data set. The effect-type is specified after an equal sign, followed by a list of variables within parentheses which are used in constructing the effect. Effect-options that are specific to an effect-type can be specified after a slash (/) following the variable list. The EFFECT statement enables you to construct special collections of columns for design matrices. These collections are referred to as constructed effects to distinguish them from the usual model effects formed from continuous or classification variables.\",\"help\":\"EFFECT EFFECT-NAME=COLLECTION|LAG|MULTIMEMBER|MM...  &lt;PERIOD=variable&gt;&lt;WITHIN=(variables) | WITHIN=variable&gt; ...\",\"arguments\":[{\"name\":\"EFFECT-NAME=\",\"placeholder\":true,\"description\":\"Replace 'EFFECT-NAME' with the name of the effect, specified after the EFFECT keyword. This name can appear in only one EFFECT statement and cannot be the name of a variable in the input data set. These values can be used: COLLECTION, LAG, MULTIMEMBER, POLYNOMIAL, or SPLINE.\",\"type\":\"value\"},{\"name\":\"BASIS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"[For the SPLINE effect-type only] Specifies a basis for the spline expansion.\",\"help\":\"BASIS=BSPLINE | TPF\",\"type\":\"choice\",\"arguments\":[{\"name\":\"BSPLINE\",\"followsDelimiter\":\"/\",\"description\":\"Specifies a B-spline basis for the spline expansion.\",\"type\":\"standalone\"},{\"name\":\"TPF\",\"followsDelimiter\":\"/\",\"description\":\"Syntax: TPF(options) Specifies a truncated power function basis for the spline expansion. You can modify the number of columns when you request BASIS=TPF with the following options: NOINT excludes the intercept column. NOPOWERS excludes the intercept and polynomial columns.\",\"type\":\"standalone\"}]},{\"name\":\"DATABOUNDARY\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"[For the SPLINE effect-type only] Specifies that the extremes of the data be used as boundary knots when building a B-spline basis.\",\"type\":\"standalone\"},{\"name\":\"DEGREE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"\",\"help\":\"DEGREE=*n*\",\"type\":\"value\"},{\"name\":\"DESIGNROLE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"\",\"help\":\"DESIGNROLE=*variable*\",\"type\":\"value\"},{\"name\":\"DETAILS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"[For the LAG | COLLECTION | MULTIMEMBER | POLYNOMIAL |SPLINE effect-type] Requests a table that shows the (1) lag design matrix of the lag effect, or (2) constituents of the collection effect, or (3) levels of the multimember effect, or (4) details of the specified polynomial, or (5) knot locations and the knots associated with each spline basis function.\",\"type\":\"standalone\"},{\"name\":\"KNOTMAX=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"\",\"help\":\"KNOTMAX=*value*\",\"type\":\"value\"},{\"name\":\"KNOTMETHOD=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"[For the SPLINE effect-type only] Specifies how to construct the knots for spline effects.\",\"help\":\"KNOTMETHOD=EQUAL | LIST | LISTWITHBOUNDARY | MULTISCALE | PERCENTILES | RANGEFRACTIONS\",\"type\":\"choice\",\"arguments\":[{\"name\":\"EQUAL\",\"followsDelimiter\":\"/\",\"description\":\"Syntax: EQUAL<(n)> Specifies that n equally spaced knots be positioned between the extremes of the data. The default is n=3. For a B-spline basis, any needed boundary knots continue to be equally spaced unless the DATABOUNDARY option has also been specified. KNOTMETHOD=EQUAL is the default if no knot-method is specified.\",\"type\":\"standalone\"},{\"name\":\"LIST\",\"followsDelimiter\":\"/\",\"description\":\"Syntax: LIST(number-list) Specifies the list of internal knots to be used in forming the spline basis columns. For a B-spline basis, the data extremes are used as boundary knots.\",\"type\":\"standalone\"},{\"name\":\"LISTWITHBOUNDARY\",\"followsDelimiter\":\"/\",\"description\":\"Syntax: LISTWITHBOUNDARY(number-list) Specifies the list of all knots that are used in forming the spline basis columns.\",\"type\":\"standalone\"},{\"name\":\"MULTISCALE\",\"followsDelimiter\":\"/\",\"description\":\"Syntax: MULTISCALE<(multiscale-options)> Specifies that multiple B-spline bases be generated, corresponding to sets with an increasing number of internal knots. You can control which scales are included with the following multiscale-options: STARTSCALE=n specifies the start scale, where n is a positive integer. The default is STARTSCALE=0. ENDSCALE=n specifies the end scale, where n is a positive integer. The default is ENDSCALE=7.\",\"type\":\"standalone\"},{\"name\":\"PERCENTILES\",\"followsDelimiter\":\"/\",\"description\":\"Syntax: PERCENTILES(n) Requests that internal knots be placed at n equally spaced percentiles of the variable or variables named in the EFFECT statement.\",\"type\":\"standalone\"},{\"name\":\"RANGEFRACTIONS\",\"followsDelimiter\":\"/\",\"description\":\"Syntax: RANGEFRACTIONS(fraction-list) Requests that internal knots be placed at each fraction of the ranges of the variables in the EFFECT statement.\",\"type\":\"standalone\"}]},{\"name\":\"KNOTMIN=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"\",\"help\":\"KNOTMIN=*value*\",\"type\":\"value\"},{\"name\":\"LABELSTYLE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"\",\"help\":\"LABELSTYLE=EXPAND | EXPONENT | INCLUDENAME | PRODUCTSYMBOL=\",\"type\":\"choice\",\"arguments\":[{\"name\":\"EXPAND\",\"followsDelimiter\":\"/\",\"description\":\"Specifies that each variable with an exponent greater than 1 be written as products of that variable.\",\"type\":\"standalone\"},{\"name\":\"EXPONENT\",\"followsDelimiter\":\"/\",\"description\":\"Syntax: EXPONENT <=quoted string> Specifies that each variable with an exponent greater than 1 be written using exponential notation. By default, the symbol ^ is used as the exponentiation operator. If you supply the optional quoted string after an equal sign, then that string is used as the exponentiation operator.\",\"type\":\"standalone\"},{\"name\":\"INCLUDENAME\",\"followsDelimiter\":\"/\",\"description\":\"Specifies that the name of the effect followed by an underscore be used as a prefix for term labels.\",\"type\":\"standalone\"},{\"name\":\"PRODUCTSYMBOL=\",\"followsDelimiter\":\"/\",\"description\":\"Syntax: PRODUCTSYMBOL=NONE | quoted string Specifies that the supplied string be used as the product symbol.\",\"type\":\"value\"}]},{\"name\":\"MDEGREE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"\",\"help\":\"MDEGREE=*n*\",\"type\":\"value\"},{\"name\":\"NLAG=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"\",\"type\":\"value\"},{\"name\":\"NOEFFECT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"[For the MULTIMEMBER effect-type only] Specifies that, for observations with all missing levels of the multimember variables, the values in the corresponding design matrix columns be set to zero.\",\"type\":\"standalone\"},{\"name\":\"NOSEPARATE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"[For the POLYNOMIAL effect-type only] Specifies that the polynomial be treated as a single effect with multiple degrees of freedom. The effect name that you specify is used as the constructed effect name, and the labels of the terms are used as labels of the corresponding parameters.\",\"type\":\"standalone\"},{\"name\":\"PERIOD=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the period variable of the LAG design. The number of periods is the number of unique formatted values of the PERIOD= variable, and the ordering of the period is formed by sorting these formatted values in ascending order. You must specify a PERIOD= variable.\",\"help\":\"PERIOD=*variable*\",\"type\":\"value\"},{\"name\":\"SEPARATE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"[For the SPLINE effect-type only] Specifies that when multiple variables are specified in the EFFECT statement, the spline basis for each variable be treated as a separate effect. The names of these separated effects are formed by appending an underscore followed by the name of the variable to the name that you specify in the EFFECT statement.\",\"type\":\"standalone\"},{\"name\":\"SPLIT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"[For the SPLINE effect-type only] Specifies that each individual column in the design matrix that corresponds to the spline effect be treated as a separate effect that can enter or leave the model independently. Names for these split effects are generated by appending the variable name and an index for each column to the name that you specify in the EFFECT statement.\",\"type\":\"standalone\"},{\"name\":\"STANDARDIZE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies that the variables that define the polynomial be standardized. By default, the standardized variables receive prefix \\\"s_\\\" in the variable names. You can use the following centerscale-opts to specify how the center and scale are estimated: METHOD=MOMENTS specifies that the center be estimated by the variable mean and the scale be estimated by the standard deviation. METHOD=RANGE specifies that the center be estimated by the midpoint of the variable range and the scale be estimated as half the variable range. METHOD=WMOMENTS is the same as METHOD=MOMENTS except that weighted means and weighted standard deviations are used.\",\"help\":\"STANDARDIZECENTER | CENTERSCALE | NONE | SCALE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"CENTER\",\"followsDelimiter\":\"/\",\"description\":\"Specifies that variables be centered but not scaled.\",\"type\":\"standalone\"},{\"name\":\"CENTERSCALE\",\"followsDelimiter\":\"/\",\"description\":\"Specifies that variables be centered and scaled. This is the default if you do not specify a standardization-opt.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"followsDelimiter\":\"/\",\"description\":\"Specifies that no standardization be performed.\",\"type\":\"standalone\"},{\"name\":\"SCALE\",\"followsDelimiter\":\"/\",\"description\":\"Specifies that variables be scaled but not centered.\",\"type\":\"standalone\"}]},{\"name\":\"STDIZE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"[For the MULTIMEMBER effect-type only] Specifies that for each observation, the entries in the design matrix that corresponds to the multimember effect be scaled to have a sum of one.\",\"type\":\"standalone\"},{\"name\":\"WEIGHT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"\",\"help\":\"WEIGHT=*wght-list*\",\"type\":\"value\"},{\"name\":\"WITHIN=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"\",\"type\":\"value\"}]},{\"name\":\"ESTIMATE\",\"description\":\"The ESTIMATE statement provides a mechanism for obtaining custom hypothesis tests. Estimates are formed as linear estimable functions of the form Lβ. You can perform hypothesis tests for the estimable functions, construct confidence limits, and obtain specific nonlinear transformations.\",\"help\":\"ESTIMATE &lt;ADJDFE=&lt;SOURCE | ROW&gt;&gt;&lt;ADJUST=&lt;BON | SCHEFFE | SIDAK&gt;... &gt;&lt;ALPHA=number&gt; ...\",\"arguments\":[{\"name\":\"ADJDFE=\",\"optional\":true,\"description\":\"Specifies how denominator degrees of freedom are determined when p-values and confidence limits are adjusted for multiple comparisons with the ADJUST= option.\",\"help\":\"ADJDFE=SOURCE | ROW\",\"type\":\"choice\",\"arguments\":[{\"name\":\"SOURCE\",\"description\":\"The denominator degrees of freedom for multiplicity-adjusted results are the denominator degrees of freedom for the final effect listed in the ESTIMATE statement from the 'Type III Tests of Fixed Effects' table.\",\"type\":\"standalone\"},{\"name\":\"ROW\",\"description\":\"Useful if you want multiplicity adjustments to take into account that denominator degrees of freedom are not constant across estimates.\",\"type\":\"standalone\"}]},{\"name\":\"ADJUST=\",\"optional\":true,\"description\":\"Requests a multiple comparison adjustment for the p-values and confidence limits for the estimates.\",\"help\":\"ADJUST=BON | SCHEFFE | SIDAK | SIMULATE&lt;(simoptions)&gt; | T\",\"type\":\"choice\",\"arguments\":[{\"name\":\"BON\",\"description\":\"Bonferroni adjustment\",\"type\":\"standalone\"},{\"name\":\"SCHEFFE\",\"description\":\"Scheffe's adjustment\",\"type\":\"standalone\"},{\"name\":\"SIDAK\",\"description\":\"Sidak adjustment\",\"type\":\"standalone\"},{\"name\":\"SIMULATE\",\"description\":\"Computes adjusted p-values and confidence limits from the simulated distribution of the maximum or maximum absolute value of a multivariate t random vector.\",\"help\":\"SIMULATE&lt;(simoptions)&gt;\",\"type\":\"standalone\"},{\"name\":\"T\",\"description\":\"The default, which really signifies no adjustment for multiple comparisons.\",\"type\":\"standalone\"}]},{\"name\":\"ALPHA=\",\"optional\":true,\"description\":\"Requests that a t-type confidence interval be constructed with confidence level 1-number. The value of number must be between 0 and 1; the default is 0.05.\",\"help\":\"ALPHA=*number*\",\"type\":\"value\"},{\"name\":\"BYCATEGORY\",\"optional\":true,\"aliases\":[\"BYCAT\"],\"description\":\"Requests that in models for nominal data (generalized logit models) estimates be reported separately for each category.\",\"type\":\"standalone\"},{\"name\":\"CL\",\"optional\":true,\"description\":\"Requests that t-type confidence limits be constructed.\",\"type\":\"standalone\"},{\"name\":\"DF=\",\"optional\":true,\"description\":\"Specifies the degrees of freedom for the t test and confidence limits.\",\"help\":\"DF=*number*\",\"type\":\"value\"},{\"name\":\"DIVISOR=\",\"optional\":true,\"description\":\"Specifies a list of values by which to divide the coefficients so that fractional coefficients can be entered as integer numerators.\",\"help\":\"DIVISOR=*value-list*\",\"type\":\"value\"},{\"name\":\"E\",\"optional\":true,\"description\":\"Requests that the L matrix coefficients be displayed.\",\"type\":\"standalone\"},{\"name\":\"EXP\",\"optional\":true,\"description\":\"Requests exponentiation of the estimate.\",\"type\":\"standalone\"},{\"name\":\"GROUP\",\"optional\":true,\"description\":\"Sets up random-effect contrasts between different groups when a GROUP= variable appears in the RANDOM statement.\",\"type\":\"standalone\"},{\"name\":\"ILINK\",\"optional\":true,\"description\":\"Requests that the estimate and its standard error are also reported on the scale of the mean (the inverse linked scale).\",\"type\":\"standalone\"},{\"name\":\"LOWER\",\"optional\":true,\"aliases\":[\"LOWERTAILED\"],\"description\":\"Requests that the p-value for the t test be based only on values less than the test statistic.\",\"type\":\"standalone\"},{\"name\":\"SINGULAR=\",\"optional\":true,\"description\":\"Tunes the estimability checking as documented for the CONTRAST statement.\",\"help\":\"SINGULAR=*number*\",\"type\":\"value\"},{\"name\":\"STEPDOWN\",\"optional\":true,\"description\":\"Requests that multiplicity adjustments for the p-values of estimates be further adjusted in a step-down fashion.\",\"type\":\"standalone\"},{\"name\":\"SUBJECT\",\"optional\":true,\"description\":\"Sets up random-effect contrasts between different subjects when a SUBJECT= variable appears in the RANDOM statement.\",\"type\":\"standalone\"},{\"name\":\"UPPER\",\"optional\":true,\"aliases\":[\"UPPERTAILED\"],\"description\":\"Requests that the p-value for the t test be based only on values greater than the test statistic.\",\"type\":\"standalone\"}]},{\"name\":\"ID\",\"description\":\"When the diagnostics table is requested with the DIAGNOSTICS option in the MODEL statement, the variables listed in the ID statement are displayed in addition to the observation number. These values are useful for identifying observations.\",\"help\":\"ID variables \"},{\"name\":\"MODEL\",\"description\":\"Main effects and interaction terms can be specified in the MODEL statement, as in the GLM procedure. Classification variables in the MODEL statement must be specified in the CLASS statement.\",\"help\":\"MODEL &lt;CORRB&gt;&lt;COVB&gt;&lt;CUTOFF=value&gt; ...\",\"arguments\":[{\"name\":\"CORRB\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Produces the estimated correlation matrix of the parameter estimates.\",\"type\":\"standalone\"},{\"name\":\"COVB\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Produces the estimated covariance matrix of the parameter estimates.\",\"type\":\"standalone\"},{\"name\":\"CUTOFF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the multiplier of the cutoff value for outlier detection. By default, CUTOFF=3.\",\"help\":\"CUTOFF=*value*\",\"type\":\"value\"},{\"name\":\"DIAGNOSTICS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests the outlier diagnostics. By default, only observations identified as outliers or leverage points are displayed. To request that all observations be displayed, specify the ALL option.\",\"help\":\"DIAGNOSTICS=ALL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ALL\",\"type\":\"standalone\"}]},{\"name\":\"ITPRINT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays the iteration history for the iteratively reweighted least squares algorithm used by M and MM estimation.\",\"type\":\"standalone\"},{\"name\":\"LEVERAGE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests an analysis of leverage points for the continuous covariates.\",\"help\":\"LEVERAGE=CUTOFF= | CUTOFFALPHA= | QUANTILE=\",\"type\":\"choice\",\"arguments\":[{\"name\":\"CUTOFF=\",\"type\":\"value\"},{\"name\":\"CUTOFFALPHA=\",\"type\":\"value\"},{\"name\":\"QUANTILE=\",\"type\":\"value\"}]},{\"name\":\"NODIAG\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Suppresses the computation for outlier diagnostics. If you specify the NODIAG option, the diagnostics summary table will not be provided.\",\"type\":\"standalone\"},{\"name\":\"NOINT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies no-intercept regression.\",\"type\":\"standalone\"},{\"name\":\"NOSUMMARY\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Suppresses the computation for summary statistics. If you specify the NOSUMMARY option, the summary statistics table will not be provided.\",\"type\":\"standalone\"},{\"name\":\"PLOTS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"PLOT=\"],\"description\":\"You can use the PLOTS= option in the MODEL statement together with the ODS GRAPHICS statement to request the quantile process plot in addition to all plots available with the PLOT= option in the PROC statement. You can specify the following plot option only in the MODEL statement:\",\"help\":\"PLOTS=QUANTPLOT | EFFECTS | NOLIMITS | UNPACK | OLS\",\"type\":\"choice\",\"arguments\":[{\"name\":\"QUANTPLOT\",\"type\":\"standalone\"},{\"name\":\"EFFECTS\",\"type\":\"standalone\"},{\"name\":\"NOLIMITS\",\"type\":\"standalone\"},{\"name\":\"UNPACK\",\"type\":\"standalone\"},{\"name\":\"OLS\",\"type\":\"standalone\"}]},{\"name\":\"QUANTILE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the quantiles for the quantile regression.\",\"help\":\"QUANTILE=&lt;*number-list*&gt; | PROCESS\",\"type\":\"choice\",\"arguments\":[{\"name\":\"number-list\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"The number-list lets you specify any number of quantiles in (0,1).\",\"type\":\"value\"},{\"name\":\"PROCESS\",\"followsDelimiter\":\"/\",\"description\":\"Specifies to compute the entire quantile process.\",\"type\":\"standalone\"}]},{\"name\":\"SCALE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the scale value used to compute the standardized residuals.\",\"help\":\"SCALE=*number*\",\"type\":\"value\"},{\"name\":\"SEED=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the seed for the random number generator used to compute the MCMB confidence intervals.\",\"help\":\"SEED=*number*\",\"type\":\"value\"},{\"name\":\"SINGULAR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Sets the tolerance for testing singularity of the information matrix and the crossproducts matrix for the initial least squares estimates.\",\"help\":\"SINGULAR=*value*\",\"type\":\"value\"}]},{\"name\":\"OUTPUT\",\"description\":\"The OUTPUT statement creates an output SAS data set containing statistics calculated after fitting tmodels for all specified quantiles with the QUANTILE= option in the MODEL statement. At least one specification of the form keyword=name is required.\",\"help\":\"OUTPUT &lt;COLUMNWISE&gt; LEVERAGE= OUT=SAS-data-set ...\",\"arguments\":[{\"name\":\"LEVERAGE=\",\"description\":\"Specifies a variable to indicate leverage points.\",\"type\":\"value\"},{\"name\":\"MAHADIST=\",\"aliases\":[\"MD=\"],\"description\":\"Specifies a variable to contain the Mahalanobis distance.\",\"type\":\"value\"},{\"name\":\"OUT=\",\"description\":\"Specifies the new data set. By default, the procedure uses the DATAn convention to name the new data set.\",\"help\":\"OUT=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"OUTLIER=\",\"description\":\"Specifies a variable to indicate outliers.\",\"type\":\"value\"},{\"name\":\"PREDICTED=\",\"aliases\":[\"P=\"],\"description\":\"Specifies a variable to contain the estimated response.\",\"type\":\"value\"},{\"name\":\"QUANTILE=\",\"aliases\":[\"Q=\"],\"description\":\"Specifies a variable to contain the quantile for which the quantile regression is fitted.\",\"type\":\"value\"},{\"name\":\"RESIDUAL=\",\"aliases\":[\"RES=\"],\"description\":\"Specifies a variable to contain the unstandardized residuals.\",\"type\":\"value\"},{\"name\":\"ROBDIST=\",\"aliases\":[\"RD=\"],\"description\":\"Specifies a variable to contain the robust MCD distance.\",\"type\":\"value\"},{\"name\":\"SPLINE=\",\"aliases\":[\"SP=\"],\"description\":\"Specifies a variable to contain the estimated spline effect, which includes all spline effects in the model and their interactions.\",\"type\":\"value\"},{\"name\":\"SRESIDUAL=\",\"aliases\":[\"SRES=\"],\"description\":\"Specifies a variable to contain the standardized residuals.\",\"type\":\"value\"},{\"name\":\"STDP=\",\"description\":\"Specifies a variable to contain the estimates of the standard errors of the estimated response.\",\"type\":\"value\"},{\"name\":\"COLUMNWISE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"If you specify multiple quantiles in the MODEL statement, the COLUMNWISE option arranges the created OUTPUT data set in column-wise form.\",\"type\":\"standalone\"}]},{\"name\":\"PERFORMANCE\",\"description\":\"The PERFORMANCE statement is used to change default options that affect the performance of PROC QUANTREG and to request tables that show the performance options in effect and timing details.\",\"help\":\"PERFORMANCE &lt;CPUCOUNT=&lt;&lt;1-1024&gt; | ACTUAL&gt;&gt;&lt;DETAILS&gt;&lt;THREADS&gt; ...\",\"arguments\":[{\"name\":\"CPUCOUNT=\",\"optional\":true,\"description\":\"Specifies the number of processors to use for forming crossproduct matrices.\",\"help\":\"CPUCOUNT=&lt;1-1024&gt; | ACTUAL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"1-1024\",\"description\":\"Specify a value between 1 and 1024 (inclusive).\",\"type\":\"standaloneOrValue\"},{\"name\":\"ACTUAL\",\"description\":\"Sets CPUCOUNT to be the number of physical processors available.\",\"type\":\"standalone\"}]},{\"name\":\"DETAILS\",\"optional\":true,\"description\":\"Requests the \\\"PerfSettings\\\" table that shows the performance settings in effect and the \\\"Timing\\\" table that provides a broad timing breakdown of the PROC QUANTTREG step.\",\"type\":\"standalone\"},{\"name\":\"NOTHREADS\",\"optional\":true,\"description\":\"Disables multithreaded computation for the interior point algorithm. This option overrides the SAS system option THREADS | NOTHREADS.\",\"type\":\"standalone\"},{\"name\":\"THREADS\",\"optional\":true,\"description\":\"Enables multithreaded computation for the interior point algorithm. This option overrides the SAS system option THREADS | NOTHREADS.\",\"type\":\"standalone\"}]},{\"name\":\"TEST\",\"description\":\"The TEST statement provides a means of obtaining a test for the canonical linear hypothesis concerning the parameters of the tested effects. You can request Wald tests with the WALD option and likelihood ratio tests with the LR option.\",\"help\":\"TEST &lt;LR&gt;&lt;QINTERACT&gt;&lt;WALD&gt; ...\",\"arguments\":[{\"name\":\"LR\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests the likelihood ratio tests.\",\"type\":\"standalone\"},{\"name\":\"QINTERACT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"[This option is new under SAS 9.3] Enables you to test whether any difference exists among the coefficients across quantiles if several quantiles are specified in the MODEL statement.\",\"type\":\"standalone\"},{\"name\":\"RANKSCORE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests rank tests. The NORMAL, WILCOXON, and SIGN functions are implemented and suitable for iid error models, and the TAU score function is implemented and appropriate for non-iid error models. By default, the TAU score function is used.\",\"help\":\"RANKSCORE=NORMAL | WILCOXON | SIGN\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NORMAL\",\"type\":\"standalone\"},{\"name\":\"WILCOXON\",\"type\":\"standalone\"},{\"name\":\"SIGN\",\"type\":\"standalone\"}]},{\"name\":\"WALD\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests the Wald tests.\",\"type\":\"standalone\"}]},{\"name\":\"WEIGHT\",\"aliases\":[\"WGT\"],\"description\":\"The WEIGHT statement specifies a weight variable in the input data set. To request weighted quantile regression, place the weights in a variable and specify the name in the WEIGHT statement.\",\"help\":\"WEIGHT variable\"}],\"supportSiteInformation\":{\"docsetId\":\"statug\",\"docsetVersion\":\"latest\",\"docsetTargetFile\":\"statug_qreg_toc.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/QUANTSELECT.json",
    "content": "{\"name\":\"QUANTSELECT\",\"statements\":[{\"name\":\"PROC QUANTSELECT\",\"description\":\"[SAS/STAT 12.1 Experimental Procedure] † Quantile regression, which was introduced by Koenker and Bassett (1978), is a modern method that models the effects of covariates on the conditional quantiles of a response variable. The QUANTSELECT procedure performs effect selection in the framework of quantile regression. A variety of effect selection methods are available, including greedy methods and penalty methods. The QUANTSELECT procedure offers extensive capabilities for customizing the effect selection processes with a variety of candidate selecting, effect-selection stopping, and final-model choosing criteria. PROC QUANTSELECT also provides graphical summaries for the effect selection processes. † The QUANTSELECT procedure compares most closely to the GLMSELECT and QUANTREG procedures. PROC GLMSELECT performs effect selection in the framework of general linear models. PROC QUANTREG supports a variety of estimation and inference methods for quantile regression but does not directly provide effect selection facilities. The QUANTSELECT procedure, as a counterpart of PROC GLMSELECT for quantile regression, fills this gap. † The QUANTSELECT procedure focuses on linear quantile models for univariate responses and offers great flexibility for and insight into the effect selection algorithm. The QUANTSELECT procedure inherits most of its syntax from PROC GLMSELECT and PROC QUANTREG. The QUANTSELECT procedure provides results that are similar to those of PROC GLMSELECT and PROC QUANTREG. These results (displayed tables, output data sets, and macro variables) make it easy to explore the selected models in PROC QUANTREG.\",\"help\":\"PROC QUANTSELECT <DATA=SAS-data-set><MAXMACRO=n><NPRINT><OUTDESIGN<(options)=><SAS-data-set>><PLOTS=ALL | ACL|ACLPLOT | COEF|COEFFICIENTS|COEFFICIENTPANEL... ><SEED=number><TESTDATA=SAS-data-set><VALDATA=SAS-data-set>;     \\n\\tBY <DESCENDING><NOTSORTED> ;\\n\\n\\tCLASS <DELIMITER=’c’><DESCENDING><SHOW> ...;\\n\\n\\tEFFECT <EFFECT-NAME>=COLLECTION|LAG|MULTIMEMBER|MM...  <PERIOD=variable><WITHIN=(variables) | WITHIN=variable> ...;\\n\\n\\tMODEL <DETAILS=<ALL | SUMMARY>><HIERARCHY=<NONE | SINGLE | SINGLECLASS>><NOINT> ...;\\n\\n\\tOUTPUT <OUT=SAS-data-set><PREDICTED=><RESIDUAL=> ...;\\n\\n\\tPARTITION <FRACTION(<TEST=fraction> <VALIDATE=fraction>)><ROLEVAR= | ROLE=variable(<TEST=value> <TRAIN=value> <VALIDATE=value>)> ;\\n\\n\\tWEIGHT variable ;\\n\",\"arguments\":[{\"name\":\"DATA=\",\"optional\":true,\"description\":\"Names the SAS data set to be used by PROC QUANTSELECT. If the DATA= option is not specified, PROC QUANTSELECT uses the most recently created SAS data set. If the data set contains a variable named _ROLE_, then this variable is used to assign observations for training, validation, and testing roles.\",\"help\":\"DATA=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"MAXMACRO=\",\"optional\":true,\"description\":\"Specifies the maximum number of macro variables with selected effects to create. By default, MAXMACRO=100. PROC QUANTSELECT saves the list of selected effects in a macro variable, &_QRSIND. For example, suppose your input effect list consists of x1–x10. Then &_QRSIND would be set to x1 x3 x4 x10 if the first, third, fourth, and tenth effects were selected for the model. This list can be used in the MODEL statement of a subsequent procedure.\",\"help\":\"MAXMACRO=*n*\",\"type\":\"value\"},{\"name\":\"NPRINT\",\"optional\":true,\"description\":\"Suppresses all displayed output (including plots).\",\"type\":\"standalone\"},{\"name\":\"OUTDESIGN=\",\"optional\":true,\"description\":\"Creates a data set that contains the design matrix. By default, the QUANTSELECT procedure includes in the OUTDESIGN data set the matrix that corresponds to all the effects in the selected models. Two schemes for naming the columns of the design matrix are available: • In the first scheme, names of the parameters are constructed from the parameter labels that appear in the parameter estimates table. This naming scheme is the default when you do not request BY processing; it is not available when you do use BY processing. • In the second scheme, the design matrix column names consist of a prefix followed by an index. The default name prefix is _X. This scheme is used when you specify the PREFIX= option or a BY statement; otherwise the first scheme is used. You can specify the following options in parentheses to control the contents of the OUTDESIGN= data set:\",\"help\":\"OUTDESIGN=ADDINPUTVARS | ADDVALDATA | ADDTESTDATA | FULLMODEL | NAMES | PREFIX | PREFIX=\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ADDINPUTVARS\",\"type\":\"standalone\"},{\"name\":\"ADDVALDATA\",\"type\":\"standalone\"},{\"name\":\"ADDTESTDATA\",\"type\":\"standalone\"},{\"name\":\"FULLMODEL\",\"type\":\"standalone\"},{\"name\":\"NAMES\",\"type\":\"standalone\"},{\"name\":\"PREFIX\",\"type\":\"standalone\"},{\"name\":\"PREFIX=\",\"type\":\"value\"}]},{\"name\":\"PLOTS=\",\"optional\":true,\"description\":\"Controls the plots produced through ODS Graphics. Syntax: (1) PLOTS <(global-plot-options)> <= plot-request <(options)>> (2) PLOTS <(global-plot-options)> <= (plot-request <(options)> <... plot-request <(options)>>)> Controls the plots that are produced through ODS Graphics. When you specify only one plot-request, you can omit the parentheses around it. You can specify the following global-plot-options, which apply to all plots generated by the QUANTSELECT procedure, unless they are altered by specific plot options: ENDSTEP=n specifies that the step ranges shown on the horizontal axes of plots terminates at specified step. LOGP | LOGPVALUE requests that the natural logarithm of the entry and removal significance levels when the SELECT=SL option is specified in the MODEL statement.. MAXSTEPLABEL=n specifies the maximum number of characters beyond which labels of effects on plots are truncated. MAXPARMLABEL= n specifies the maximum number of characters beyond which parameter labels on plots are truncated. STARTSTEP=n specifies that the step ranges shown on the horizontal axes of plots start at the specified step. STEPAXIS=EFFECT | NORMB | NUMBER specifies the horizontal axis to be used on the plots, where this axis represents the sequence of entering or departing effects.\",\"help\":\"PLOTS=ALL | ACL | COEFFICIENTPANEL | CRITERIONPANEL | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ALL\",\"description\":\"Displays all appropriate graphs.\",\"type\":\"standalone\"},{\"name\":\"ACL\",\"aliases\":[\"ACLPLOT\"],\"description\":\"Syntax: ACL|ACLPLOT<(aclplot-option)> Plots the progression of the average square error on the training data, and the test and validation data whenever these data are provided with the TESTDATA= and VALDATA= options or are produced by using a PARTITION statement. The following aclplot-option option is available: STEPAXIS=EFFECT | NORMB | NUMBER specifies the method for labeling the horizontal plot axis.\",\"type\":\"standalone\"},{\"name\":\"COEFFICIENTPANEL\",\"aliases\":[\"COEFFICIENTS\",\"COEF\"],\"description\":\"Syntax: COEF | COEFFICIENTS | COEFFICIENTPANEL<(coefficient-panel-options)> Displays a panel of two plots for each quantile level. The upper plot shows the progression of the parameter values as the selection process proceeds. The lower plot shows the progression of the CHOOSE= criterion. If no CHOOSE= criterion is in effect, then the AICC criterion is displayed. You can specify the following coefficient-panel-options: LABELGAP=percentage specifies the percentage of the vertical axis range that forms the minimum gap between successive parameter labels at the final step of the coefficient progression plot. LOGPVALUE requests that the natural logarithm of the entry and removal significance levels when the SELECT=SL option is specified in the MODEL statement. STEPAXIS=EFFECT | NORMB | NUMBER specifies the horizontal axis to be used. UNPACK | UNPACKPANEL displays the coefficient progression and the CHOOSE= criterion progression in separate plots.\",\"type\":\"standalone\"},{\"name\":\"CRITERIONPANEL\",\"aliases\":[\"CRITERIA\",\"CRIT\"],\"description\":\"Syntax: CRIT | CRITERIA | CRITERIONPANEL<(criterion-panel-options)> Plots a panel of model fit criteria. If multiple quantile levels apply, the CRITERIA option plots a panel of model fit criteria for each quantile level. The criteria that are displayed are AIC, AICC, and SBC, in addition to any other criteria that are named in the CHOOSE=, SELECT=, STOP=, and STATS= options in the MODEL statement. You can specify the following criterion-panel-options: STEPAXIS=EFFECT | NORMB | NUMBER specifies the horizontal axis to be used. UNPACK | UNPACKPANEL displays each criterion progression on a separate plot.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"Suppresses all plots.\",\"type\":\"standalone\"}]},{\"name\":\"SEED=\",\"optional\":true,\"description\":\"Specifies an integer used to start the pseudo-random number generator for random cross validation and random partitioning of data for training, testing, and validation. If you do not specify a seed or if you specify a value less than or equal to 0, the seed is generated by reading the time of day from the computer’s clock.\",\"help\":\"SEED=*number*\",\"type\":\"value\"},{\"name\":\"TESTDATA=\",\"optional\":true,\"description\":\"Names a SAS data set containing test data. This data set must contain all the variables specified in the MODEL statement. Furthermore, when you also specify a BY statement and the TESTDATA= data set contains any of the BY variables, then the TESTDATA= data set must also contain all the BY variables sorted in the order of the BY variables. In this case, only the test data for a specific BY group are used with the corresponding BY group in the analysis data. If the TESTDATA= data set contains none of the BY variables, then the entire TESTDATA= data set is used with each BY group of the analysis data.\",\"help\":\"TESTDATA=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"VALDATA=\",\"optional\":true,\"description\":\"Names a SAS data set containing validation data. This data set must contain all the variables specified in the MODEL statement. Furthermore, when a BY statement is used and the VALDATA= data set contains any of the BY variables, then the VALDATA= data set must also contain all the BY variables sorted in the order of the BY variables. In this case, only the validation data for a specific BY group are used with the corresponding BY group in the analysis data. If the VALDATA= data set contains none of the BY variables, then the entire VALDATA= data set is used with each BY group of the analysis data.\",\"help\":\"VALDATA=*SAS-data-set*\",\"type\":\"dataSet\"}]},{\"name\":\"BY\",\"description\":\"You can specify a BY statement with PROC QUANTSELECT to obtain separate analyses of observations in groups that are defined by the BY variables. When a BY statement appears, the procedure expects the input data set to be sorted in order of the BY variables. If you specify more than one BY statement, only the last one specified is used. If your input data set is not sorted in ascending order, use one of the following alternatives: • Sort the data by using the SORT procedure with a similar BY statement. • Specify the NOTSORTED or DESCENDING option in the BY statement for the QUANTLIFE procedure. The NOTSORTED option does not mean that the data are unsorted but rather that the data are arranged in groups (according to values of the BY variables) and that these groups are not necessarily in alphabetical or increasing numeric order. • Create an index on the BY variables by using the DATASETS procedure (in Base SAS software).\",\"help\":\"BY &lt;DESCENDING&gt;&lt;NOTSORTED&gt;\",\"arguments\":[{\"name\":\"DESCENDING\",\"optional\":true,\"description\":\"Specifies that the observations are sorted in descending order by the variable that immediately follows the word DESCENDING in the BY statement.\",\"type\":\"standalone\"},{\"name\":\"NOTSORTED\",\"optional\":true,\"description\":\"The NOTSORTED option does not mean that the data are unsorted but rather that the data are arranged in groups (according to values of the BY variables) and that these groups are not necessarily in alphabetical or increasing numeric order.\",\"type\":\"standalone\"}]},{\"name\":\"CLASS\",\"description\":\"The CLASS statement names the classification variables to be used in the analysis. The CLASS statement must precede the MODEL statement. You can specify various v-options for each variable by enclosing them in parentheses after the variable name; these are called individual v-options. You can also specify global v-options by placing them after a slash (/) at the end of the CLASS statement. Global v-options are applied to all the variables specified in the CLASS statement. If you specify more than one CLASS statement, the global v-options specified in any one CLASS statement apply to all CLASS statements. However, individual CLASS variable v-options override the global v-options.\",\"help\":\"CLASS &lt;DELIMITER=’c’&gt;&lt;DESCENDING&gt;&lt;SHOW&gt; ...\",\"arguments\":[{\"name\":\"DELIMITER=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the delimiter character, 'c', to be used between levels of classification variables when parameter names and lists of class level values are built. The default delimiter is a space. This option is useful if the levels of a classification variable contain embedded blanks.\",\"type\":\"value\"},{\"name\":\"DESCENDING\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"DESC\"],\"description\":\"Reverses the sort order of the classification variable.\",\"type\":\"standalone\"},{\"name\":\"MISSING\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Allows missing values, such as . for a numeric variable or a blank for a character variable, as valid values for the CLASS variable.\",\"type\":\"standalone\"},{\"name\":\"ORDER=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the sort order for the levels of classification variables. If ORDER=FORMATTED for numeric variables for which you have supplied no explicit format, the levels are ordered by their internal values.\",\"help\":\"ORDER=DATA | FORMATTED | FREQ | INTERNAL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DATA\",\"followsDelimiter\":\"/\",\"description\":\"Order of appearance in the input data set\",\"type\":\"standalone\"},{\"name\":\"FORMATTED\",\"followsDelimiter\":\"/\",\"description\":\"External formatted value, except for numeric variables with no explicit format, which are sorted by their unformatted (internal) value\",\"type\":\"standalone\"},{\"name\":\"FREQ\",\"followsDelimiter\":\"/\",\"description\":\"Descending frequency count; levels with the most observations come first in the order\",\"type\":\"standalone\"},{\"name\":\"INTERNAL\",\"followsDelimiter\":\"/\",\"description\":\"Unformatted value\",\"type\":\"standalone\"}]},{\"name\":\"PARAM=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the parameterization method for the classification variable or variables. Design matrix columns are created from CLASS variables according to the following coding schemes. The default is PARAM=GLM. If PARAM=ORTHPOLY or PARAM=POLY, and the CLASS levels are numeric, then the ORDER= option in the CLASS statement is ignored, and the internal, unformatted values are used.\",\"help\":\"PARAM=EFFECT | GLM | ORDINAL | POLYNOMIAL | REFERENCE | ORTHEFFECT | ORTHORDINAL | ORTHPOLY | ORTHREF\",\"type\":\"choice\",\"arguments\":[{\"name\":\"EFFECT\",\"followsDelimiter\":\"/\",\"description\":\"Specifies effect coding.\",\"type\":\"standalone\"},{\"name\":\"GLM\",\"followsDelimiter\":\"/\",\"description\":\"Specifies less-than-full-rank coding; this option can be used only as a global V-option (after the slash in the CLASS statement).\",\"type\":\"standalone\"},{\"name\":\"ORDINAL\",\"followsDelimiter\":\"/\",\"aliases\":[\"THERMOMETER\"],\"description\":\"Specifies the cumulative parameterization for an ordinal CLASS variable\",\"type\":\"standalone\"},{\"name\":\"POLYNOMIAL\",\"followsDelimiter\":\"/\",\"aliases\":[\"POLY\"],\"description\":\"Specifies polynomial coding.\",\"type\":\"standalone\"},{\"name\":\"REFERENCE\",\"followsDelimiter\":\"/\",\"aliases\":[\"REF\"],\"description\":\"Specifies reference-cell coding.\",\"type\":\"standalone\"},{\"name\":\"ORTHEFFECT\",\"followsDelimiter\":\"/\",\"description\":\"Orthogonalizes PARAM=EFFECT.\",\"type\":\"standalone\"},{\"name\":\"ORTHORDINAL\",\"followsDelimiter\":\"/\",\"aliases\":[\"ORTHOTHERM\"],\"description\":\"Orthogonalizes PARAM=ORDINAL.\",\"type\":\"standalone\"},{\"name\":\"ORTHPOLY\",\"followsDelimiter\":\"/\",\"description\":\"Orthogonalizes PARAM=POLYNOMIAL.\",\"type\":\"standalone\"},{\"name\":\"ORTHREF\",\"followsDelimiter\":\"/\",\"description\":\"Orthogonalizes PARAM=REFERENCE.\",\"type\":\"standalone\"}]},{\"name\":\"REF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the reference level for PARAM=EFFECT, PARAM=REFERENCE, and their orthogonalizations. For an individual (but not a global) REF= v-option, you can specify the level of the variable to use as the reference level. For a global or individual REF= v-option, you can specify REF=FIRST (which designates the first-ordered level as reference) or REF=LAST (which designates the last-ordered level as reference). The default is REF=LAST.\",\"help\":\"REF=&lt;*level*&gt; | FIRST | LAST\",\"type\":\"choice\",\"arguments\":[{\"name\":\"level\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the level of the variable to use as the reference level. Replace <level> with an actual value.\",\"type\":\"value\"},{\"name\":\"FIRST\",\"followsDelimiter\":\"/\",\"description\":\"=Designates the first ordered level as reference.\",\"type\":\"standalone\"},{\"name\":\"LAST\",\"followsDelimiter\":\"/\",\"description\":\"Designates the last ordered level as reference.\",\"type\":\"standalone\"}]},{\"name\":\"SHOW\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"SHOWCODING\"],\"description\":\"Requests a table that shows the coding used for each classification variable.\",\"type\":\"standalone\"},{\"name\":\"SPLIT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Enables the columns of the design matrix that correspond to any effect that contains a split classification variable to be selected to enter or leave a model independently of the other design columns of that effect.\",\"type\":\"standalone\"}]},{\"name\":\"EFFECT\",\"description\":\"The EFFECT statement enables you to construct special collections of columns for design matrices. These collections are referred to as constructed effects to distinguish them from the usual model effects that are formed from continuous or classification variables, as discussed in the section GLM Parameterization of Classification Variables and Effects. The name of the effect is specified after the EFFECT keyword. This name can appear in only one EFFECT statement and cannot be the name of a variable in the input data set. The effect-type is specified after an equal sign, followed by a list of variables within parentheses which are used in constructing the effect. Effect-options that are specific to an effect-type can be specified after a slash (/) following the variable list. The EFFECT statement enables you to construct special collections of columns for design matrices. These collections are referred to as constructed effects to distinguish them from the usual model effects formed from continuous or classification variables.\",\"help\":\"EFFECT &lt;EFFECT-NAME&gt;=COLLECTION|LAG|MULTIMEMBER|MM...  &lt;PERIOD=variable&gt;&lt;WITHIN=(variables) | WITHIN=variable&gt; ...\",\"arguments\":[{\"name\":\"EFFECT-NAME=\",\"placeholder\":true,\"description\":\"Replace ‘EFFECT-NAME’ with the name of the effect, specified after the EFFECT keyword. This name can appear in only one EFFECT statement and cannot be the name of a variable in the input data set. These values can be used: COLLECTION, LAG, MULTIMEMBER, POLYNOMIAL, or SPLINE.\",\"type\":\"value\"},{\"name\":\"BASIS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"[For the SPLINE effect-type only] Specifies a basis for the spline expansion.\",\"help\":\"BASIS=BSPLINE | TPF\",\"type\":\"choice\",\"arguments\":[{\"name\":\"BSPLINE\",\"followsDelimiter\":\"/\",\"description\":\"Specifies a B-spline basis for the spline expansion.\",\"type\":\"standalone\"},{\"name\":\"TPF\",\"followsDelimiter\":\"/\",\"description\":\"Syntax: TPF(options) Specifies a truncated power function basis for the spline expansion. You can modify the number of columns when you request BASIS=TPF with the following options: NOINT excludes the intercept column. NOPOWERS excludes the intercept and polynomial columns.\",\"type\":\"standalone\"}]},{\"name\":\"DATABOUNDARY\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"[For the SPLINE effect-type only] Specifies that the extremes of the data be used as boundary knots when building a B-spline basis.\",\"type\":\"standalone\"},{\"name\":\"DEGREE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"\",\"help\":\"DEGREE=*n*\",\"type\":\"value\"},{\"name\":\"DESIGNROLE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"\",\"help\":\"DESIGNROLE=*variable*\",\"type\":\"value\"},{\"name\":\"DETAILS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"[For the LAG | COLLECTION | MULTIMEMBER | POLYNOMIAL |SPLINE effect-type] Requests a table that shows the (1) lag design matrix of the lag effect, or (2) constituents of the collection effect, or (3) levels of the multimember effect, or (4) details of the specified polynomial, or (5) knot locations and the knots associated with each spline basis function.\",\"type\":\"standalone\"},{\"name\":\"KNOTMAX=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"\",\"help\":\"KNOTMAX=*value*\",\"type\":\"value\"},{\"name\":\"KNOTMETHOD=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"[For the SPLINE effect-type only] Specifies how to construct the knots for spline effects.\",\"help\":\"KNOTMETHOD=EQUAL | LIST | LISTWITHBOUNDARY | MULTISCALE | PERCENTILES | RANGEFRACTIONS\",\"type\":\"choice\",\"arguments\":[{\"name\":\"EQUAL\",\"followsDelimiter\":\"/\",\"description\":\"Syntax: EQUAL<(n)> Specifies that n equally spaced knots be positioned between the extremes of the data. The default is n=3. For a B-spline basis, any needed boundary knots continue to be equally spaced unless the DATABOUNDARY option has also been specified. KNOTMETHOD=EQUAL is the default if no knot-method is specified.\",\"type\":\"standalone\"},{\"name\":\"LIST\",\"followsDelimiter\":\"/\",\"description\":\"Syntax: LIST(number-list) Specifies the list of internal knots to be used in forming the spline basis columns. For a B-spline basis, the data extremes are used as boundary knots.\",\"type\":\"standalone\"},{\"name\":\"LISTWITHBOUNDARY\",\"followsDelimiter\":\"/\",\"description\":\"Syntax: LISTWITHBOUNDARY(number-list) Specifies the list of all knots that are used in forming the spline basis columns.\",\"type\":\"standalone\"},{\"name\":\"MULTISCALE\",\"followsDelimiter\":\"/\",\"description\":\"Syntax: MULTISCALE<(multiscale-options)> Specifies that multiple B-spline bases be generated, corresponding to sets with an increasing number of internal knots. You can control which scales are included with the following multiscale-options: STARTSCALE=n specifies the start scale, where n is a positive integer. The default is STARTSCALE=0. ENDSCALE=n specifies the end scale, where n is a positive integer. The default is ENDSCALE=7.\",\"type\":\"standalone\"},{\"name\":\"PERCENTILES\",\"followsDelimiter\":\"/\",\"description\":\"Syntax: PERCENTILES(n) Requests that internal knots be placed at n equally spaced percentiles of the variable or variables named in the EFFECT statement.\",\"type\":\"standalone\"},{\"name\":\"RANGEFRACTIONS\",\"followsDelimiter\":\"/\",\"description\":\"Syntax: RANGEFRACTIONS(fraction-list) Requests that internal knots be placed at each fraction of the ranges of the variables in the EFFECT statement.\",\"type\":\"standalone\"}]},{\"name\":\"KNOTMIN=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"\",\"help\":\"KNOTMIN=*value*\",\"type\":\"value\"},{\"name\":\"LABELSTYLE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"\",\"help\":\"LABELSTYLE=EXPAND | EXPONENT | INCLUDENAME | PRODUCTSYMBOL=\",\"type\":\"choice\",\"arguments\":[{\"name\":\"EXPAND\",\"followsDelimiter\":\"/\",\"description\":\"Specifies that each variable with an exponent greater than 1 be written as products of that variable.\",\"type\":\"standalone\"},{\"name\":\"EXPONENT\",\"followsDelimiter\":\"/\",\"description\":\"Syntax: EXPONENT <=quoted string> Specifies that each variable with an exponent greater than 1 be written using exponential notation. By default, the symbol ^ is used as the exponentiation operator. If you supply the optional quoted string after an equal sign, then that string is used as the exponentiation operator.\",\"type\":\"standalone\"},{\"name\":\"INCLUDENAME\",\"followsDelimiter\":\"/\",\"description\":\"Specifies that the name of the effect followed by an underscore be used as a prefix for term labels.\",\"type\":\"standalone\"},{\"name\":\"PRODUCTSYMBOL=\",\"followsDelimiter\":\"/\",\"description\":\"Syntax: PRODUCTSYMBOL=NONE | quoted string Specifies that the supplied string be used as the product symbol.\",\"type\":\"value\"}]},{\"name\":\"MDEGREE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"\",\"help\":\"MDEGREE=*n*\",\"type\":\"value\"},{\"name\":\"NLAG=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"\",\"type\":\"value\"},{\"name\":\"NOEFFECT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"[For the MULTIMEMBER effect-type only] Specifies that, for observations with all missing levels of the multimember variables, the values in the corresponding design matrix columns be set to zero.\",\"type\":\"standalone\"},{\"name\":\"NOSEPARATE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"[For the POLYNOMIAL effect-type only] Specifies that the polynomial be treated as a single effect with multiple degrees of freedom. The effect name that you specify is used as the constructed effect name, and the labels of the terms are used as labels of the corresponding parameters.\",\"type\":\"standalone\"},{\"name\":\"PERIOD=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the period variable of the LAG design. The number of periods is the number of unique formatted values of the PERIOD= variable, and the ordering of the period is formed by sorting these formatted values in ascending order. You must specify a PERIOD= variable.\",\"help\":\"PERIOD=*variable*\",\"type\":\"value\"},{\"name\":\"SEPARATE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"[For the SPLINE effect-type only] Specifies that when multiple variables are specified in the EFFECT statement, the spline basis for each variable be treated as a separate effect. The names of these separated effects are formed by appending an underscore followed by the name of the variable to the name that you specify in the EFFECT statement.\",\"type\":\"standalone\"},{\"name\":\"SPLIT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"[For the SPLINE effect-type only] Specifies that each individual column in the design matrix that corresponds to the spline effect be treated as a separate effect that can enter or leave the model independently. Names for these split effects are generated by appending the variable name and an index for each column to the name that you specify in the EFFECT statement.\",\"type\":\"standalone\"},{\"name\":\"STANDARDIZE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies that the variables that define the polynomial be standardized. By default, the standardized variables receive prefix \\\"s_\\\" in the variable names. You can use the following centerscale-opts to specify how the center and scale are estimated: METHOD=MOMENTS specifies that the center be estimated by the variable mean and the scale be estimated by the standard deviation. METHOD=RANGE specifies that the center be estimated by the midpoint of the variable range and the scale be estimated as half the variable range. METHOD=WMOMENTS is the same as METHOD=MOMENTS except that weighted means and weighted standard deviations are used.\",\"help\":\"STANDARDIZECENTER | CENTERSCALE | NONE | SCALE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"CENTER\",\"followsDelimiter\":\"/\",\"description\":\"Specifies that variables be centered but not scaled.\",\"type\":\"standalone\"},{\"name\":\"CENTERSCALE\",\"followsDelimiter\":\"/\",\"description\":\"Specifies that variables be centered and scaled. This is the default if you do not specify a standardization-opt.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"followsDelimiter\":\"/\",\"description\":\"Specifies that no standardization be performed.\",\"type\":\"standalone\"},{\"name\":\"SCALE\",\"followsDelimiter\":\"/\",\"description\":\"Specifies that variables be scaled but not centered.\",\"type\":\"standalone\"}]},{\"name\":\"STDIZE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"[For the MULTIMEMBER effect-type only] Specifies that for each observation, the entries in the design matrix that corresponds to the multimember effect be scaled to have a sum of one.\",\"type\":\"standalone\"},{\"name\":\"WEIGHT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"\",\"help\":\"WEIGHT=*wght-list*\",\"type\":\"value\"},{\"name\":\"WITHIN=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"\",\"type\":\"value\"}]},{\"name\":\"MODEL\",\"description\":\"The MODEL statement names the dependent variable and the covariate effects, including covariates, main effects, constructed effects, interactions, and nested effects. If you omit the explanatory effects, PROC QUANTSELECT fits an intercept-only model. After the keyword MODEL, specify the dependent (response) variable, followed by an equal sign, followed by the explanatory effects.\",\"help\":\"MODEL &lt;DETAILS=&lt;ALL | SUMMARY&gt;&gt;&lt;HIERARCHY=&lt;NONE | SINGLE | SINGLECLASS&gt;&gt;&lt;NOINT&gt; ...\",\"arguments\":[{\"name\":\"DETAILS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the level of effect selection detail that is displayed. The DETAILS=SUMMARY option produces only the selection summary table. The DETAILS=ALL option produces the following: • entry and removal statistics for each variable that is selected in the model building process • average check loss and parameter estimates • entry and removal statistics for the top five candidates for inclusion or exclusion at each step • a selection summary table\",\"help\":\"DETAILS=ALL | SUMMARY\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ALL\",\"followsDelimiter\":\"/\",\"description\":\"Produces the following: (1) entry and removal statistics for each variable selected in the model building process (2) average check loss and parameter estimates (3) entry and removal statistics for the top five candidates for inclusion or exclusion at each step (4) a selection summary table\",\"type\":\"standalone\"},{\"name\":\"SUMMARY\",\"followsDelimiter\":\"/\",\"description\":\"Produces only the selection summary table.\",\"type\":\"standalone\"}]},{\"name\":\"HIERARCHY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"HIER=\"],\"description\":\"Specifies whether and how the model hierarchy requirement is applied. This option also controls whether a single effect or multiple effects are allowed to enter or leave the model in one step. You can specify that only CLASS effects, or both CLASS and continuous effects, be subject to the hierarchy requirement. This option is ignored unless you also specify one of the following options: SELECTION=FORWARD, SELECTION=BACKWARD, or SELECTION=STEPWISE.\",\"help\":\"HIERARCHY=NONE | SINGLE | SINGLECLASS\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NONE\",\"followsDelimiter\":\"/\",\"description\":\"Specifies that model hierarchy not be maintained. Any single effect can enter or leave the model at any given step of the selection process. This is the default.\",\"type\":\"standalone\"},{\"name\":\"SINGLE\",\"followsDelimiter\":\"/\",\"description\":\"Specifies that only one effect enter or leave the model at one time, subject to the model hierarchy requirement. For example, suppose that the model contains the main effects A and B and the interaction A*B. In the first step of the selection process, either A or B can enter the model. In the second step, the other main effect can enter the model. The interaction effect can enter the model only when both main effects have already entered. Also, before A or B can be removed from the model, the A*B interaction must first be removed. All effects (CLASS and interval) are subject to the hierarchy requirement.\",\"type\":\"standalone\"},{\"name\":\"SINGLECLASS\",\"followsDelimiter\":\"/\",\"description\":\"Is the same as HIERARCHY=SINGLE except that only CLASS effects are subject to the hierarchy requirement.\",\"type\":\"standalone\"}]},{\"name\":\"NOINT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Suppresses the intercept term that is otherwise included in the model.\",\"type\":\"standalone\"},{\"name\":\"QUANTILES=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"QUANTILE=\"],\"description\":\"Specifies the quantile levels for the quantile regression. You can specify any number of quantile levels in (0,1). If you do not specify this option, the QUANTSELECT procedure performs median regression effect selection that corresponds to QUANTILES=0.5. If you specify the QUANTILES=PROCESS option, the QUANTSELECT procedure performs effect selection for quantile process regression. The QUANTILES=PROCESS option cannot be used with LASSO selection methods. You can specify the following option in parentheses after QUANTILES=PROCESS.\",\"help\":\"QUANTILES=number-list | PROCESS\",\"type\":\"choice\",\"arguments\":[{\"name\":\"number-list\",\"followsDelimiter\":\"/\",\"description\":\"Replace number-list with any number of quantile levels in the interval (0,1).\",\"type\":\"standalone\"},{\"name\":\"PROCESS\",\"followsDelimiter\":\"/\",\"description\":\"Specifies the QUANTSELECT procedure to perform effect selection for quantile process regression. The QUANTILES=PROCESS option cannot be used with LASSO selection methods. You can specify the following option in parentheses after QUANTILES=PROCESS. NTAU=n | ALL specifies how many quantile levels that you expect to cover for the quantile process. If you specify NTAU=ALL, the QUANTSELECT procedure performs effect selection for accurate quantile process regression. If you specify NTAU=n, the QUANTSELECT procedure performs effect selection for approximate quantile process regression.\",\"type\":\"standalone\"}]},{\"name\":\"SELECTION=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the method used to select the model, optionally followed by method options (enclosed in parentheses) that apply to the specified method. The default if the SELECTION= option is omitted is SELECTION=STEPWISE.\",\"help\":\"SELECTION=NONE | FORWARD | BACKWARD | STEPWISE | LASSO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NONE\",\"followsDelimiter\":\"/\",\"description\":\"Specifies full model fitting without effect selection.\",\"type\":\"standalone\"},{\"name\":\"FORWARD\",\"followsDelimiter\":\"/\",\"description\":\"Specifies forward selection. This method starts with no effects in the model and adds effects.\",\"type\":\"standalone\"},{\"name\":\"BACKWARD\",\"followsDelimiter\":\"/\",\"description\":\"Specifies backward elimination. This method starts with all effects in the model and deletes effects.\",\"type\":\"standalone\"},{\"name\":\"STEPWISE\",\"followsDelimiter\":\"/\",\"description\":\"Specifies stepwise regression. This is similar to the FORWARD method except that effects already in the model do not necessarily stay there.\",\"type\":\"standalone\"},{\"name\":\"LASSO\",\"followsDelimiter\":\"/\",\"description\":\"Specifies a method that adds and deletes parameters based on a version of estimated check risk where the weighted L1-norm of certain weighted regression coefficients is penalized.\",\"type\":\"standalone\"}]},{\"name\":\"STAT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"STATS=\"],\"description\":\"Specifies which model fit statistics to display in the selection summary table. To specify multiple model fit statistics, specify a list of names in parentheses. If you omit this option, the default set of statistics that are displayed in these tables includes all the criteria that are specified in any of the CHOOSE=, SELECT=, and STOP= method-options.\",\"help\":\"STAT=ADJR1 | AIC | AICC | ACL | R1 | SBC\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ADJR1\",\"followsDelimiter\":\"/\",\"description\":\"Displays the adjusted quantile regression R statistic\",\"type\":\"standalone\"},{\"name\":\"AIC\",\"followsDelimiter\":\"/\",\"description\":\"Displays the Akaike’s information criterion\",\"type\":\"standalone\"},{\"name\":\"AICC\",\"followsDelimiter\":\"/\",\"description\":\"Displays the corrected Akaike’s information criterion\",\"type\":\"standalone\"},{\"name\":\"ACL\",\"followsDelimiter\":\"/\",\"description\":\"Displays the average check losses for the training, test, and validation data. The ACL statistics for the test and validation data are reported only if you have specified the TESTDATA= option or the VALDATA= option in the PROC QUANTSELECT statement or if you have reserved part of the input data for testing or validation by using either a PARTITION statement or a _ROLE_ variable in the input data.\",\"type\":\"standalone\"},{\"name\":\"R1\",\"followsDelimiter\":\"/\",\"description\":\"Displays the quantile regression R statistic\",\"type\":\"standalone\"},{\"name\":\"SBC\",\"followsDelimiter\":\"/\",\"description\":\"Displays the Schwarz Bayesian information criterion\",\"type\":\"standalone\"}]},{\"name\":\"TEST=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the test type for computing significance levels.\",\"help\":\"TEST=LR1 | LR2\",\"type\":\"choice\",\"arguments\":[{\"name\":\"LR1\",\"followsDelimiter\":\"/\",\"description\":\"Specifies the likelihood ratio test Type I\",\"type\":\"standalone\"},{\"name\":\"LR2\",\"followsDelimiter\":\"/\",\"description\":\"Specifies the likelihood ratio test Type II\",\"type\":\"standalone\"}]}]},{\"name\":\"OUTPUT\",\"description\":\"The OUTPUT statement creates a new SAS data set that saves diagnostic measures that are calculated for the selected model. If you do not specify a keyword, then the only diagnostic included is the predicted response. All the variables in the original data set are included in the new data set, along with variables that are created by the keyword options in the OUTPUT statement. These new variables contain the values of a variety of statistics and diagnostic measures that are calculated for each observation in the data set. The OUTPUT data set is created in row-wise form, and the variable _QUANTILE_ is optional. For each appropriate keyword specified in the OUTPUT statement, one variable for each specified quantile level is generated. These variables appear in the sorted order of the specified quantile levels. If you specify a BY statement, then a variable _BY_ that indexes the BY groups is included. For each observation, the value of _BY_ is the index of the BY group to which this observation belongs. This variable is useful for matching BY groups with macro variables that PROC QUANTSELECT creates.\",\"help\":\"OUTPUT &lt;OUT=SAS-data-set&gt;&lt;PREDICTED=&gt;&lt;RESIDUAL=&gt; ...\",\"arguments\":[{\"name\":\"OUT=\",\"optional\":true,\"description\":\"Specifies the new data set. By default, the procedure uses the DATAn convention to name the new data set.\",\"help\":\"OUT=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"PREDICTED=\",\"optional\":true,\"aliases\":[\"PRED=\",\"P=\"],\"description\":\"Includes predicted values in the output data set. The prefix for the default name is p.\",\"type\":\"value\"},{\"name\":\"RESIDUAL=\",\"optional\":true,\"aliases\":[\"RES=\",\"R=\"],\"description\":\"Includes residuals, calculated as ACTUAL – PREDICTED, in the output data set. The prefix for the default name is r.\",\"type\":\"value\"}]},{\"name\":\"PARTITION\",\"description\":\"The PARTITION statement specifies how observations in the input data set are logically partitioned into disjoint subsets for model training, validation, and testing. Either you can designate a variable in the input data set and a set of formatted values of that variable to determine the role of each observation, or you can specify proportions to use for random assignment of observations for each role. An alternative to using a PARTITION statement is to provide a variable named _ROLE_ in the input data set to define roles of observations in the input data. If you specify a PARTITION statement, then any _ROLE_ variable in the input data set is ignored. If you do not use a PARTITION statement and the input data do not contain a variable named _ROLE_, then all observations in the input data set are assigned to model training. You can specify either (but not both) of the following options: ROLEVAR=|ROLE=variable (<TEST=value> <TRAIN=value> <VALIDATE=value>) names the variable in the input data set whose values are used to assign roles to each observation. FRACTION (<TEST=fraction> <VALIDATE=fraction>) requests that specified proportions of the observations in the input data set be randomly assigned training and validation roles.\",\"help\":\"PARTITION &lt;FRACTION(&lt;TEST=fraction&gt; &lt;VALIDATE=fraction&gt;)&gt;&lt;ROLEVAR= | ROLE=variable(&lt;TEST=value&gt; &lt;TRAIN=value&gt; &lt;VALIDATE=value&gt;)&gt;\",\"arguments\":[{\"name\":\"FRACTION=\",\"optional\":true,\"description\":\"FRACTION(<TEST=fraction> <VALIDATE=fraction>)\",\"help\":\"FRACTION=TEST= | VALIDATE=\",\"type\":\"choice\",\"arguments\":[{\"name\":\"TEST=\",\"type\":\"value\"},{\"name\":\"VALIDATE=\",\"type\":\"value\"}]},{\"name\":\"ROLEVAR=\",\"optional\":true,\"aliases\":[\"ROLE=\"],\"description\":\"Names the variable in the input data set whose values are used to assign roles to each observation. The TEST=, TRAIN=, and VALIDATE= suboptions specify the formatted values of this variable that are used to assign observations roles. If you do not specify the TRAIN= suboption, then all observations whose role is not determined by the TEST= or VALIDATE= suboptions are assigned to training. If you specify a TESTDATA= data set in the PROC QUANTSELECT statement, then you cannot also specify the TEST= suboption in the PARTITION statement. If you specify a VALDATA= data set in the PROC QUANTSELECT statement, then you cannot also specify the VALIDATE= suboption in the PARTITION statement.\",\"help\":\"ROLEVAR=TEST= | TRAIN= | VALIDATE=\",\"type\":\"choice\",\"arguments\":[{\"name\":\"TEST=\",\"type\":\"value\"},{\"name\":\"TRAIN=\",\"type\":\"value\"},{\"name\":\"VALIDATE=\",\"type\":\"value\"}]}]},{\"name\":\"WEIGHT\",\"description\":\"A WEIGHT statement names a variable in the input data set with values that are relative weights for a weighted quantile regression fit. Values of the weight variable must be nonnegative. If an observation’s weight is 0, the observation is deleted from the analysis. If a weight is negative or missing, it is set to 0, and the observation is excluded from the analysis.\",\"help\":\"WEIGHT variable \"}],\"supportSiteInformation\":{\"docsetId\":\"statug\",\"docsetVersion\":\"latest\",\"docsetTargetFile\":\"statug_qrsel_toc.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/RANK.json",
    "content": "{\"name\":\"RANK\",\"statements\":[{\"name\":\"PROC RANK\",\"description\":\"Computes the ranks for one or more numeric variables.\",\"help\":\"PROC RANK <options>;                   \\n\\tATTRIB   variable-list(s) attribute-list(s);\\n\\n\\tBY <DESCENDING>variable-1\\n\\t\\t<<DESCENDING>variable-2  ...>\\n\\t\\t<NOTSORTED>;\\n\\n\\tFORMAT variable-1< ...variable-n><format><DEFAULT=default-format>;\\n\\n\\tLABEL variable-1=label-1< ...variable-n=label-n>;\\n\\n\\tVAR data-set-variables(s);\\n\\n\\tRANKS new-variables(s);\\n\\n\\tWHERE where-expression-1\\n\\t\\t<logical-operator where-expression-n>;             \\n\",\"arguments\":[{\"name\":\"DATA=\",\"optional\":true,\"description\":\"specifies the input SAS data set.\",\"help\":\"DATA=*SAS-data-set*\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"p1o0911r1vwjz6n1noh9eukubmd7\"},{\"name\":\"DESCENDING\",\"optional\":true,\"description\":\"reverses the direction of the ranks.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1o4x5q2nuqqx1n1kjks8hktpy5o\"},{\"name\":\"FRACTION\",\"optional\":true,\"aliases\":[\"F\"],\"description\":\"computes fractional ranks by dividing each rank by the number of observations having nonmissing values of the ranking variable.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0i0je16ga4yjon192dhumdhkegc\"},{\"name\":\"GROUPS=\",\"optional\":true,\"description\":\"assigns group values ranging from 0 to number-of-groups minus 1.\",\"help\":\"GROUPS=*number-of-groups*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0ap7rle6oq6fon1209x0i7085jq\"},{\"name\":\"NORMAL=\",\"optional\":true,\"description\":\"computes normal scores from the ranks.\",\"help\":\"NORMAL=BLOM | TUKEY | VW\",\"type\":\"choice\",\"arguments\":[{\"name\":\"BLOM\",\"description\":\"yi=Φ−1((ri−3/8)/(n+1/4))\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0vxj4wsxqic1dn1mqs43ftdzum0\"},{\"name\":\"TUKEY\",\"description\":\"yi=Φ−1((ri−1/3)/(n+1/3))\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0blzrotw3rfo6n17z95zx6kenzt\"},{\"name\":\"VW\",\"description\":\"yi=Φ−1((ri)/(n+1))\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0ohiy8vk9dut3n1mifnb4v5b5ng\"}],\"supportSiteTargetFragment\":\"n16nrr5emjkghnn19yj9rkqqsqam\"},{\"name\":\"NPLUS1\",\"optional\":true,\"aliases\":[\"FN1\",\"N1\"],\"description\":\"computes fractional ranks by dividing each rank by the denominator n+1.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n02hvk0m3dtv3tn186fjbqry6dks\"},{\"name\":\"OUT=\",\"optional\":true,\"description\":\"names the output data set.\",\"help\":\"OUT=*SAS-data-set*\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"n0y6e1hrhp08jvn1j5xjbmvnf0zl\"},{\"name\":\"PRESERVERAWBYVALUES\",\"optional\":true,\"description\":\"preserves raw values of all BY variables.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0qq7zvx5q9ovcn14l8zpb1huan6\"},{\"name\":\"PERCENT\",\"optional\":true,\"aliases\":[\"P\"],\"description\":\"calculates the percentage of observations with nonmissing values in the rank.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0chjpsenwj09mn1juh201i510z6\"},{\"name\":\"SAVAGE\",\"optional\":true,\"description\":\"computes Savage (or exponential) scores from the ranks.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0zpl5gkm3ixa7n1mgzs6mmagrs4\"},{\"name\":\"TIES=\",\"optional\":true,\"description\":\"specifies how to compute normal scores or ranks for tied data values.\",\"help\":\"TIES=HIGH | LOW | MEAN | DENSE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"HIGH\",\"description\":\"assigns the largest of the corresponding ranks (or largest of the normal scores when NORMAL= is specified).\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n165gw9igkhl2ln19p8tjd3uweh3\"},{\"name\":\"LOW\",\"description\":\"assigns the smallest of the corresponding ranks (or smallest of the normal scores when NORMAL= is specified).\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1s9kr5fgd2brgn1kariq2xmocl9\"},{\"name\":\"MEAN\",\"description\":\"assigns the mean of the corresponding rank (or mean of the normal scores when NORMAL= is specified).\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1ft3sydzrb8s2n1n18pdbgm30kn\"},{\"name\":\"DENSE\",\"description\":\"computes scores and ranks by treating tied values as a single-order statistic. For the default method, ranks are consecutive integers that begin with the number one and end with the number of unique, nonmissing values of the variable that is being ranked. Tied values are assigned the same rank.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n03ccw4ijqs5i5n11l4ju63vhyfs\"}],\"supportSiteTargetFragment\":\"n128utp0vvfmlrn1lr0nbu0kf6nu\"}],\"supportSiteTargetFile\":\"p16s2o8e4bnqrin1phywxdaxqba7.htm\"},{\"name\":\"ATTRIB\",\"description\":\"Associates a format, informat, label, and length with one or more variables.\",\"help\":\"ATTRIB  *variable-list(s)**attribute-list(s)*;\",\"arguments\":[{\"name\":\"variable-list\",\"optional\":true,\"placeholder\":true,\"description\":\"names the variables that you want to associate with the attributes.\",\"help\":\"*variable-list(s)*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1nd0mq22iu6ovn14mz1ot1hwcjie\"},{\"name\":\"FORMAT=\",\"description\":\"associates a format with variables in variable-list.\",\"help\":\"FORMAT=*format*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p08pt9ce6bhq86n18a3zcc97bldze\"},{\"name\":\"INFORMAT=\",\"description\":\"associates an informat with variables in variable-list.\",\"help\":\"INFORMAT=*informat*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n136glco6ritqdn160792yhk9mv1e\"},{\"name\":\"LABEL=\",\"description\":\"associates a label with variables in variable-list.\",\"help\":\"LABEL='*label*' \",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0a9x9io5pi05mn1i4p2cphc7t0ne\"}],\"supportSiteTargetFile\":\"n04pixwhr1atzln1dow0e10lyibse.htm\"},{\"name\":\"BY\",\"description\":\"Produces a separate set of ranks for each BY group.\",\"help\":\"BY <DESCENDING>variable-1\\n\\n\\t<<DESCENDING>variable-2  ...>\\n\\n\\n\\t<NOTSORTED>;\",\"arguments\":[{\"name\":\"variable\",\"placeholder\":true,\"description\":\"specifies the variable that the procedure uses to form BY groups. You can specify more than one variable. If you do not use the NOTSORTED option in the BY statement, then the observations in the data set must either be sorted by all the variables that you specify or be indexed appropriately. Variables in a BY statement are called BY variables.\",\"help\":\"*variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1bpm9pv6fb0ftn1h1v5p0xbq18o\"},{\"name\":\"DESCENDING\",\"optional\":true,\"description\":\"specifies that the observations are sorted in descending order by the variable that immediately follows the word DESCENDING in the BY statement.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0my4fm92eo2chn1fdwuhhhvueqf\"},{\"name\":\"NOTSORTED\",\"optional\":true,\"description\":\"specifies that observations are not necessarily sorted in alphabetic or numeric order. The observations are grouped in another way, such as chronological order.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p06is21cer4oqdn17suuaep16uia\"}],\"supportSiteTargetFile\":\"p15ui4w8gc9uj7n1ftnkq17dgijd.htm\"},{\"name\":\"FORMAT\",\"description\":\"Associates formats with variables.\",\"help\":\"FORMAT *variable-1*&lt; ...*variable-n*&gt;*format**variable-1*&lt; ...*variable-n*&gt;*format*;\",\"arguments\":[{\"name\":\"variable\",\"optional\":true,\"placeholder\":true,\"description\":\"names one or more variables for SAS to associate with a format. You must specify at least one variable.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1d0cionbspk2tn1ma0m6kjd1ntxe\"},{\"name\":\"format\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the format that is listed for writing the values of the variables.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n15nxwcex8m202n1dp4xwbds95t9e\"}],\"supportSiteTargetFile\":\"p02hzcxsifsk8dn1a53t49zqd82ce.htm\"},{\"name\":\"LABEL\",\"description\":\"Assigns descriptive labels to variables.\",\"help\":\"LABEL variable-1 = 'text-string' < ...variable-n = 'text-string'>;\\nLABEL variable-1 = ' ' < ...variable-n=’ ‘>; | variable-1 = < ...variable-n= >;\",\"arguments\":[{\"name\":\"text-string\",\"placeholder\":true,\"description\":\"specifies a label of up to 256 bytes.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n09u0k5ydxzgr3n1dfznhvex7uuoe\"},{\"name\":\"'\",\"placeholder\":true,\"description\":\"removes a label from a variable. Enclose a single blank space in quotation marks to remove an existing label. You can remove labels from multiple variables in a single LABEL statement:\",\"help\":\"*' '*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1dl99omzes92cn1typpf6yl1ng0e\"}],\"supportSiteTargetFile\":\"p1s0j2pii3oj7fn1f87s02j4zo52e.htm\"},{\"name\":\"WHERE\",\"description\":\"Subsets the input data set by specifying certain conditions that each observation must meet before it is available for processing.\",\"help\":\"WHERE where-expression-1\\n<logical-operator where-expression-n>; \",\"arguments\":[{\"name\":\"where-expression\",\"optional\":true,\"placeholder\":true,\"description\":\"is an arithmetic or logical expression that generally consists of a sequence of operands and operators.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p04iz9sx1znb6en1ptu9o3h9ns07e\"},{\"name\":\"logical-operator\",\"optional\":true,\"placeholder\":true,\"description\":\"can be AND, AND NOT, OR, or OR NOT.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0xd4nxmu81y3rn1lzcij1t759lne\"}],\"supportSiteTargetFile\":\"n0yu3xyqnznndnn0z1v515xzfeboe.htm\"},{\"name\":\"RANKS\",\"description\":\"Creates new variables for the rank values.\",\"help\":\"RANKS *new-variables(s)*;\",\"arguments\":[{\"name\":\"new-variable\",\"placeholder\":true,\"description\":\"specifies one or more new variables that contain the ranks for the variable(s) listed in the VAR statement. The first variable listed in the RANKS statement contains the ranks for the first variable listed in the VAR statement. The second variable listed in the RANKS statement contains the ranks for the second variable listed in the VAR statement, and so on.\",\"help\":\"*new-variable(s)*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0qblzi29i8h8mn1fd30eq47dohd\"}],\"supportSiteTargetFile\":\"n06e4hl49xj9ntn1wfc5iyolbyhy.htm\"},{\"name\":\"VAR\",\"aliases\":[\"VARIABLES\"],\"description\":\"Specifies the input variables.\",\"help\":\"VAR *data-set-variables(s)*;\",\"arguments\":[{\"name\":\"data-set-variable\",\"placeholder\":true,\"description\":\"specifies one or more variables for which ranks are computed.\",\"help\":\"*data-set-variable(s)*\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"p1jqoia0las41kn10wgk97v4u0d0\"}],\"supportSiteTargetFile\":\"p17ygfn5squrwen1iau0j0ii915j.htm\"}],\"supportSiteInformation\":{\"docsetId\":\"proc\",\"docsetVersion\":\"v_002\",\"docsetTargetFile\":\"p0le3p5ngj1zlbn1mh3tistq9t76.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/REG.json",
    "content": "{\"name\":\"REG\",\"statements\":[{\"name\":\"PROC REG\",\"description\":\"The REG procedure is one of many regression procedures in the SAS System. It is a general-purpose procedure for regression, while other SAS regression procedures provide more specialized applications.\",\"help\":\"PROC REG <ALL><ALPHA=number><ANNOTATE=SAS-data-set><CORR><COVOUT><DATA=SAS-data-set><EDF><GOUT=graphics-catalog><LINEPRINTER><NOPRINT><OUTEST=SAS-data-set><OUTSEB><OUTSSCP=SAS-data-set><OUTSTB><OUTVIF><PCOMIT=list><PLOTS=ADJRSQ | AIC | ALL... ><PRESS><RIDGE=list><RSQUARE><SIMPLE><SINGULAR=n><TABLEOUT><USSCP>;     \\n\\tADD variables ;\\n\\n\\tBY <DESCENDING><NOTSORTED> ;\\n\\n\\tDELETE variables ;\\n\\n\\tFREQ variable ;\\n\\n\\tID variables ;\\n\\n\\tMODEL <ACOV><ACOVMETHOD=<0 | 1 | 2>... ><HCCMETHOD=<0 | 1 | 2>... > ...;\\n\\n\\tMTEST <CANPRINT><DETAILS><MSTAT=<FAPPROX | EXACT>> ...;\\n\\n\\tOUTPUT <COOKD=><COVRATIO=><OUT=SAS-data-set> ...;\\n\\n\\tPAINT ALLOBS <NOLIST><RESET> ...;\\n\\n\\tPRINT <ACOV><ANOVA><MODELDATA> ...;\\n\\n\\tREFIT ;\\n\\n\\tRESTRICT equation <, ..., equation> ;\\n\\n\\tREWEIGHT <ALLOBS><NOLIST><RESET> ...;\\n\\n\\tTEST <PRINT> ;\\n\\n\\tVAR variables ;\\n\\n\\tWEIGHT variable;\\n\",\"arguments\":[{\"name\":\"ALL\",\"optional\":true,\"description\":\"Requests the display of many tables.\",\"type\":\"standalone\"},{\"name\":\"ALPHA=\",\"optional\":true,\"description\":\"Sets the significance level used for the construction of confidence intervals. The value must be between 0 and 1; the default value of 0.05 results in 95% intervals.\",\"help\":\"ALPHA=*number*\",\"type\":\"value\"},{\"name\":\"ANNOTATE=\",\"optional\":true,\"description\":\"Specifies an input data set that contains appropriate variables for annotation of the traditional graphics.\",\"help\":\"ANNOTATE=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"CORR\",\"optional\":true,\"description\":\"Displays the correlation matrix for all variables listed in the MODEL or VAR statement.\",\"type\":\"standalone\"},{\"name\":\"COVOUT\",\"optional\":true,\"description\":\"Outputs the covariance matrices for the parameter estimates to the OUTEST= data set.\",\"type\":\"standalone\"},{\"name\":\"DATA=\",\"optional\":true,\"description\":\"Names the SAS data set to be used by PROC REG.\",\"help\":\"DATA=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"EDF\",\"optional\":true,\"description\":\"Outputs the number of regressors in the model excluding and including the intercept, the error degrees of freedom, and the model R-square to the OUTEST= data set.\",\"type\":\"standalone\"},{\"name\":\"GOUT=\",\"optional\":true,\"description\":\"Specifies a graphics catalog in which to save graphics output.\",\"help\":\"GOUT=*graphics-catalog*\",\"type\":\"dataSet\"},{\"name\":\"LINEPRINTER\",\"optional\":true,\"description\":\"Creates plots requested as line printer plots.\",\"type\":\"standalone\"},{\"name\":\"NOPRINT\",\"optional\":true,\"description\":\"Suppresses the normal display of the results.\",\"type\":\"standalone\"},{\"name\":\"OUTEST=\",\"optional\":true,\"description\":\"Requests that parameter estimates and optional model fit summary statistics be output to this data set.\",\"help\":\"OUTEST=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"OUTSEB\",\"optional\":true,\"description\":\"Outputs the standard errors of the parameter estimates to the OUTEST= data set.\",\"type\":\"standalone\"},{\"name\":\"OUTSSCP=\",\"optional\":true,\"description\":\"Requests that the sums of squares and crossproducts matrix be output to this TYPE=SSCP data set.\",\"help\":\"OUTSSCP=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"OUTSTB\",\"optional\":true,\"description\":\"Outputs the standardized parameter estimates as well as the usual estimates to the OUTEST= data set when the RIDGE= or PCOMIT= option is specified.\",\"type\":\"standalone\"},{\"name\":\"OUTVIF\",\"optional\":true,\"description\":\"Outputs the variance inflation factors (VIF) to the OUTEST= data set when the RIDGE= or PCOMIT= option is specified.\",\"type\":\"standalone\"},{\"name\":\"PCOMIT=\",\"optional\":true,\"description\":\"Requests an incomplete principal component (IPC) analysis for each value m in the list.\",\"help\":\"PCOMIT=*list*\",\"type\":\"value\"},{\"name\":\"PLOTS=\",\"optional\":true,\"description\":\"[Syntax: PLOTS <(global-plot-options)> <= plot-request <(options)>> PLOTS <(global-plot-options)> <= (plot-request <(options)> <... plot-request <(options)>>)> Controls the plots produced through ODS Graphics. The following global plot options are available: LABEL specifies that the LABEL option be applied to each plot that supports a LABEL option. MAXPOINTS=NONE | max < heat-max > suppresses most plots that require processing more than max points. When the number of points exceeds max but does not exceed heat-max divided by the number of independent variables, heat maps are displayed instead of scatter plots for the fit and residual plots. All other plots are suppressed when the number of points exceeds max. The default is MAXPOINTS=5000 150000. These cutoffs are ignored if you specify MAXPOINTS=NONE. NOTE: Heat maps are experimental in this release. MODELLABEL requests that the model label be displayed in the upper-left corner of all plots. ONLY suppress the default plots. STATS=ALL | DEFAULT | NONE | (plot-statistics) requests statistics that are included on the fit plot and diagnostics panel. UNPACK suppresses paneling.\",\"help\":\"PLOTS=ADJRSQ | AIC | ALL | BIC | COOKSD | CP | CRITERIA | DFBETAS | DEFITS | DIAGNOSTICS | FITPLOT | OBSERVEDBYPREDICTED | NONE | PARTIAL | PREDICTIONS | QQPLOT | RESIDUALBOXPLOT | RESIDUALBYPREDICTED | RESIDUAL | RESIDUALHISTOGRAM | REFPLOT | RIDGE | RSQUARE | RSTUDENTBYLEVERAGE | RSTUDENTBYPREDICTED | SBC\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ADJRSQ\",\"description\":\"[Syntax: ADJRSQ<(adjrsq-options)>] Displays the adjusted R-square values for the models examined when you request variable selection with the SELECTION= option in the MODEL statement. The following adjrsq-options are available: LABEL requests that the model number corresponding to the one displayed in the \\\"Subset Selection Summary\\\" table be used to label the model with the largest adjusted R-square statistic at each value of the number of parameters. LABELVARS requests that the list (excluding the intercept) of the regressors in the relevant model be used to label the model with the largest adjusted R-square statistic at each value of the number of parameters.\",\"type\":\"standalone\"},{\"name\":\"AIC\",\"description\":\"[Syntax: AIC<(aic-options)>] Displays Akaike’s information criterion (AIC) for the models examined when you request variable selection with the SELECTION= option in the MODEL statement. The following aic-options are available: LABEL requests that the model number corresponding to the one displayed in the \\\"Subset Selection Summary\\\" table be used to label the model with the smallest AIC statistic at each value of the number of parameters. LABELVARS requests that the list (excluding the intercept) of the regressors in the relevant model be used to label the model with the smallest AIC statistic at each value of the number of parameters.\",\"type\":\"standalone\"},{\"name\":\"ALL\",\"description\":\"Produces all appropriate plots.\",\"type\":\"standalone\"},{\"name\":\"BIC\",\"description\":\"[Syntax: BIC<(bic-options)>] Displays Sawa’s Bayesian information criterion (BIC) for the models examined when you request variable selection with the SELECTION= option in the MODEL statement. The following bic-options are available: LABEL requests that the model number corresponding to the one displayed in the \\\"Subset Selection Summary\\\" table be used to label the model with the smallest BIC statistic at each value of the number of parameters. LABELVARS requests that the list (excluding the intercept) of the regressors in the relevant model be used to label the model with the smallest BIC statistic at each value of the number of parameters.\",\"type\":\"standalone\"},{\"name\":\"COOKSD\",\"description\":\"[Syntax: COOKSD<(LABEL)>] Plots Cook’s D statistic by observation number. If you specify the LABEL option, then points deemed as influential are labeled.\",\"type\":\"standalone\"},{\"name\":\"CP\",\"description\":\"[Syntax: CP<(cp-options)>] Displays Mallow’s Cp statistic for the models examined when you request variable selection with the SELECTION= option in the MODEL statement. The following cp-options are available: LABEL requests that the model number corresponding to the one displayed in the \\\"Subset Selection Summary\\\" table be used to label the model with the smallest Cp statistic at each value of the number of parameters. LABELVARS requests that the list (excluding the intercept) of the regressors in the relevant model be used to label the model with the smallest Cp statistic at each value of the number of parameters.\",\"type\":\"standalone\"},{\"name\":\"CRITERIA\",\"description\":\"[Syntax: CRITERIA<(criteria-options)>] Produces a panel of fit criteria for the models examined when you request variable selection with the SELECTION= option in the MODEL statement. The following criteria-options are available: LABEL requests that the model number corresponding to the one displayed in the \\\"Subset Selection Summary\\\" table be used to label the best model at each value of the number of parameters. LABELVARS requests that the list (excluding the intercept) of the regressors in the relevant model be used to label the best model at each value of the number of parameters. UNPACK suppresses paneling.\",\"type\":\"standalone\"},{\"name\":\"DFBETAS\",\"description\":\"[Syntax: DFBETAS<(DFBETAS-options)>] Produces panels of DFBETAS by observation number for the regressors in the model. The following DFBETAS-options are available: COMMONAXES specifies that the same DFBETAS axis be used in all panels when multiple panels are needed. LABEL specifies that observations whose magnitude are greater than 2/SQRT(n) be labeled. UNPACK suppresses paneling.\",\"type\":\"standalone\"},{\"name\":\"DEFITS\",\"description\":\"[Syntax: DEFITS<(LABEL)>] Plots the DFFITS statistic by observation number. If you specify the LABEL option, then these influential observations are labeled.\",\"type\":\"standalone\"},{\"name\":\"DIAGNOSTICS\",\"description\":\"[Syntax: DIAGNOSTICS<(diagnostics-options)>] Produces a summary panel of fit diagnostics. You can specify the following diagnostics-options: STATS=stats-options determines which model fit statistics are included in the panel. UNPACK produces the eight plots in the panel as individual plots.\",\"type\":\"standalone\"},{\"name\":\"FITPLOT\",\"description\":\"[Syntax: FITPLOT<(fit-options)>] Produces a scatter plot of the data overlaid with the regression line, confidence band, and prediction band for models that depend on at most one regressor excluding the intercept. You can specify the following fit-options: NOCLI suppresses the prediction limits. NOCLM suppresses the confidence limits. NOLIMITS suppresses the confidence and prediction limits. STATS=stats-options determines which model fit statistics are included in the panel.\",\"type\":\"standalone\"},{\"name\":\"OBSERVEDBYPREDICTED\",\"description\":\"[Syntax: OBSERVEDBYPREDICTED<(LABEL)>] Plots dependent variable values by the predicted values.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"Suppresses all plots.\",\"type\":\"standalone\"},{\"name\":\"PARTIAL\",\"description\":\"[Syntax: PARTIAL<(UNPACK)>] Produces panels of partial regression plots for each regressor with at most six regressors per panel. If you specify the UNPACK option, then all partial plot panels are unpacked.\",\"type\":\"standalone\"},{\"name\":\"PREDICTIONS\",\"description\":\"[Syntax: PREDICTIONS(X=numeric-variable <prediction-options>)] Produces a panel of two plots whose horizontal axis is the variable you specify in the required X= suboption. The upper plot in the panel is a scatter plot of the residuals. The lower plot shows the data overlaid with the regression line, confidence band, and prediction band. You can specify the following prediction-options: NOCLI suppresses the prediction limits. NOCLM suppresses the confidence limits NOLIMITS suppresses the confidence and prediction limits SMOOTH requests a nonparametric smooth of the residuals as a function of the variable you specify in the X= suboption. UNPACK suppresses paneling.\",\"type\":\"standalone\"},{\"name\":\"QQPLOT\",\"description\":\"Produces a normal quantile plot of the residuals.\",\"type\":\"standalone\"},{\"name\":\"RESIDUALBOXPLOT\",\"description\":\"[Syntax: RESIDUALBOXPLOT<(LABEL)>] Produces a box plot consisting of the residuals. If you specify label option, points deemed far-outliers are labeled.\",\"type\":\"standalone\"},{\"name\":\"RESIDUALBYPREDICTED\",\"description\":\"[Syntax: RESIDUALBYPREDICTED<(LABEL)>] Plots residuals by predicted values. If you specify the LABEL option, then points deemed as outliers or influential are labeled.\",\"type\":\"standalone\"},{\"name\":\"RESIDUAL\",\"description\":\"[Syntax: RESIDUAL<(residual-options)>] Produces panels of the residuals versus the regressors in the model. Note that each panel contains at most six plots, and multiple panels are used in the case where there are more than six regressors (including the intercept) in the model. The following residual-options are available: SMOOTH requests a nonparametric smooth of the residuals for each regressor. UNPACK suppresses paneling.\",\"type\":\"standalone\"},{\"name\":\"RESIDUALHISTOGRAM\",\"description\":\"Produces a histogram of the residuals.\",\"type\":\"standalone\"},{\"name\":\"REFPLOT\",\"description\":\"Produces a \\\"Residual-Fit\\\" (or RF) plot consisting of side-by-side quantile plots of the centered fit and the residuals.\",\"type\":\"standalone\"},{\"name\":\"RIDGE\",\"description\":\"[Syntax: RIDGE<(ridge-options)>] Creates panels of VIF values and standardized ridge estimates by ridge values for each coefficient. The following ridge-options are available: COMMONAXES specifies that the same VIF axis and the same standardized estimate axis are used in all panels when multiple panels are needed. RIDGEAXIS=LINEAR | LOG specifies the axis type used to display the ridge parameters. UNPACK suppresses paneling. VARSPERPLOT=ALL | number specifies the maximum number of regressors displayed in each panel or in each plot if you additionally specify the UNPACK option. If you specify VARSPERPLOT=ALL, then the VIF values and ridge traces for all regressors are displayed in a single panel. VIFAXIS=LINEAR | LOG specifies the axis type used to display the VIF statistics. The default is VIFAXIS=LINEAR.\",\"type\":\"standalone\"},{\"name\":\"RSQUARE\",\"description\":\"[Syntax: RSQUARE<(rsquare-options)>] Displays the R-square values for the models examined when you request variable selection with the SELECTION= option in the MODEL statement. The following rsquare-options are available: LABEL requests that the model number corresponding to the one displayed in the \\\"Subset Selection Summary\\\" table be used to label the model with the largest R-square statistic at each value of the number of parameters. LABELVARS requests that the list (excluding the intercept) of the regressors in the relevant model be used to label the model with the largest R-square statistic at each value of the number of parameters.\",\"type\":\"standalone\"},{\"name\":\"RSTUDENTBYLEVERAGE\",\"description\":\"[Syntax: RSTUDENTBYLEVERAGE<(LABEL)>] Plots studentized residuals by leverage. If you specify the LABEL option, then points deemed as outliers or influential are labeled.\",\"type\":\"standalone\"},{\"name\":\"RSTUDENTBYPREDICTED\",\"description\":\"[Syntax: RSTUDENTBYPREDICTED <(LABEL)>] Plots studentized residuals by predicted values. If you specify the LABEL option, then points deemed as outliers or influential are labeled.\",\"type\":\"standalone\"},{\"name\":\"SBC\",\"description\":\"[Syntax: SBC<(sbc-options)>] Displays Schwarz’s Bayesian information criterion (SBC) for the models examined when you request variable selection with the SELECTION= option in the MODEL statement. The following sbc-options are available: LABEL requests that the model number corresponding to the one displayed in the \\\"Subset Selection Summary\\\" table be used to label the model with the smallest SBC statistic at each value of the number of parameters. LABELVARS requests that the list (excluding the intercept) of the regressors in the relevant model be used to label the model with the smallest SBC statistic at each value of the number of parameters.\",\"type\":\"standalone\"}]},{\"name\":\"PRESS\",\"optional\":true,\"description\":\"Outputs the PRESS statistic to the OUTEST= data set. The values of this statistic are saved in the variable _PRESS_.\",\"type\":\"standalone\"},{\"name\":\"RIDGE=\",\"optional\":true,\"description\":\"Requests a ridge regression analysis and specifies the values of the ridge constant k.\",\"help\":\"RIDGE=*list*\",\"type\":\"value\"},{\"name\":\"RSQUARE\",\"optional\":true,\"description\":\"Has the same effect as the EDF option.\",\"type\":\"standalone\"},{\"name\":\"SIMPLE\",\"optional\":true,\"description\":\"Displays the sum, mean, variance, standard deviation, and uncorrected sum of squares for each variable used in PROC REG.\",\"type\":\"standalone\"},{\"name\":\"SINGULAR=\",\"optional\":true,\"description\":\"Tunes the mechanism used to check for singularities. The default value is machine dependent but is approximately 1E-7 on most machines. This option is rarely needed.\",\"help\":\"SINGULAR=*n*\",\"type\":\"value\"},{\"name\":\"TABLEOUT\",\"optional\":true,\"description\":\"Outputs the standard errors and 100(1 - α)% confidence limits for the parameter estimates, the t statistics for testing if the estimates are zero, and the associated p-values to the OUTEST= data set.\",\"type\":\"standalone\"},{\"name\":\"USSCP\",\"optional\":true,\"description\":\"Displays the uncorrected sums-of-squares and crossproducts matrix for all variables used in the procedure.\",\"type\":\"standalone\"}]},{\"name\":\"ADD\",\"description\":\"The ADD statement adds independent variables to the regression model. Only variables used in the VAR statement or used in MODEL statements before the first RUN statement can be added to the model.\",\"help\":\"ADD variables \"},{\"name\":\"BY\",\"description\":\"Obtains separate analyses on observations in groups defined by the BY variables.\",\"help\":\"BY &lt;DESCENDING&gt;&lt;NOTSORTED&gt;\",\"arguments\":[{\"name\":\"DESCENDING\",\"optional\":true,\"description\":\"Specifies that the observations are sorted in descending order by the variable that immediately follows the word DESCENDING in the BY statement.\",\"type\":\"standalone\"},{\"name\":\"NOTSORTED\",\"optional\":true,\"description\":\"Specifies that observations are not necessarily sorted in alphabetic or numeric order.\",\"type\":\"standalone\"}]},{\"name\":\"DELETE\",\"description\":\"The DELETE statement deletes independent variables from the regression model. The DELETE statement performs the opposite function of the ADD statement and is used in a similar manner.\",\"help\":\"DELETE variables \"},{\"name\":\"FREQ\",\"description\":\"When a FREQ statement appears, each observation in the input data set is assumed to represent n observations, where n is the value of the FREQ variable.\",\"help\":\"FREQ variable \"},{\"name\":\"ID\",\"description\":\"When one of the MODEL statement options CLI, CLM, P, R, and INFLUENCE is requested, the variables listed in the ID statement are displayed beside each observation. These variables can be used to identify each observation.\",\"help\":\"ID variables \"},{\"name\":\"MODEL\",\"description\":\"After the keyword MODEL, the dependent (response) variables are specified, followed by an equal sign and the regressor variables. Variables specified in the MODEL statement must be numeric variables in the data set being analyzed.\",\"help\":\"MODEL &lt;ACOV&gt;&lt;ACOVMETHOD=&lt;0 | 1 | 2&gt;... &gt;&lt;HCCMETHOD=&lt;0 | 1 | 2&gt;... &gt; ...\",\"arguments\":[{\"name\":\"ACOV\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays the estimated asymptotic covariance matrix of the estimates under the hypothesis of heteroscedasticity and heteroscedasticity-consistent standard errors of parameter estimates.\",\"type\":\"standalone\"},{\"name\":\"ACOVMETHOD=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"[See the HCCMETHOD= option.] Specifies the method used to obtain a heteroscedasticity-consistent covariance matrix for use with the ACOV, HCC, or WHITE option in the MODEL statement and for heteroscedasticity-consistent tests with the TEST statement.\",\"help\":\"ACOVMETHOD=0 | 1 | 2 | 3\",\"type\":\"choice\",\"arguments\":[{\"name\":\"0\",\"followsDelimiter\":\"/\",\"description\":\"Uses the HC0 heteroscedasticity-consistent covariance matrix estimator.\",\"type\":\"standalone\"},{\"name\":\"1\",\"followsDelimiter\":\"/\",\"description\":\"Uses the HC1 heteroscedasticity-consistent covariance matrix estimator.\",\"type\":\"standalone\"},{\"name\":\"2\",\"followsDelimiter\":\"/\",\"description\":\"Uses the HC2 heteroscedasticity-consistent covariance matrix estimator.\",\"type\":\"standalone\"},{\"name\":\"3\",\"followsDelimiter\":\"/\",\"description\":\"Uses the HC3 heteroscedasticity-consistent covariance matrix estimator.\",\"type\":\"standalone\"}]},{\"name\":\"ADJRSQ\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Computes R-square adjusted for degrees of freedom for each model selected.\",\"type\":\"standalone\"},{\"name\":\"AIC\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Outputs Akaike’s information criterion for each model selected to the OUTEST= data set.\",\"type\":\"standalone\"},{\"name\":\"ALL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Outputs Akaike’s information criterion for each model selected to the OUTEST= data set.\",\"type\":\"standalone\"},{\"name\":\"ALPHA=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Sets the significance level used for the construction of confidence intervals for the current MODEL statement. The value must be between 0 and 1; the default value of 0.05 results in 95% intervals.\",\"help\":\"ALPHA=*number*\",\"type\":\"value\"},{\"name\":\"B\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Is used with the RSQUARE, ADJRSQ, and CP model-selection methods to compute estimated regression coefficients for each model selected.\",\"type\":\"standalone\"},{\"name\":\"BEST=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Is used with the RSQUARE, ADJRSQ, and CP model-selection methods.\",\"help\":\"BEST=*n*\",\"type\":\"value\"},{\"name\":\"BIC\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Outputs Sawa’s Bayesian information criterion for each model selected to the OUTEST= data set.\",\"type\":\"standalone\"},{\"name\":\"CLB\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests the 100(1 - α)% upper and lower confidence limits for the parameter estimates. By default, the 95% limits are computed\",\"type\":\"standalone\"},{\"name\":\"CLI\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests the 100(1 - α)% upper and lower confidence limits for an individual predicted value. By default, the 95% limits are computed\",\"type\":\"standalone\"},{\"name\":\"CLM\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays the 100(1 - α)% upper and lower confidence limits for the expected value of the dependent variable (mean) for each observation.\",\"type\":\"standalone\"},{\"name\":\"COLLIN\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests a detailed analysis of collinearity among the regressors.\",\"type\":\"standalone\"},{\"name\":\"COLLINOINT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests the same analysis as the COLLIN option with the intercept variable adjusted out rather than included in the diagnostics.\",\"type\":\"standalone\"},{\"name\":\"CORRB\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays the correlation matrix of the estimates.\",\"type\":\"standalone\"},{\"name\":\"COVB\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays the estimated covariance matrix of the estimates.\",\"type\":\"standalone\"},{\"name\":\"CP\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Outputs Mallows’ Cp statistic for each model selected (Mallows 1973; Hocking 1976) to the OUTEST= data set.\",\"type\":\"standalone\"},{\"name\":\"DETAILS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the level of detail produced when the BACKWARD, FORWARD, or STEPWISE method is used.\",\"help\":\"DETAILS=ALL | STEPS | SUMMARY\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ALL\",\"followsDelimiter\":\"/\",\"description\":\"Produces entry and removal statistics for each variable in the model building process, ANOVA and parameter estimates at each step, and a selection summary table.\",\"type\":\"standalone\"},{\"name\":\"STEPS\",\"followsDelimiter\":\"/\",\"description\":\"Provides the step information and summary table.\",\"type\":\"standalone\"},{\"name\":\"SUMMARY\",\"followsDelimiter\":\"/\",\"description\":\"Produces only the summary table.\",\"type\":\"standalone\"}]},{\"name\":\"DW\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Calculates a Durbin-Watson statistic to test whether or not the errors have first-order autocorrelation. (This test is appropriate only for time series data.)\",\"type\":\"standalone\"},{\"name\":\"DWPROB\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Calculates a Durbin-Watson statistic and a p-value to test whether or not the errors have first-order autocorrelation.\",\"type\":\"standalone\"},{\"name\":\"EDF\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Outputs the number of regressors in the model excluding and including the intercept, the error degrees of freedom, and the model R-square to the OUTEST= data set.\",\"type\":\"standalone\"},{\"name\":\"GMSEP\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Outputs the estimated mean square error of prediction assuming that both independent and dependent variables are multivariate normal to the OUTEST= data set.\",\"type\":\"standalone\"},{\"name\":\"GROUPNAMES=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Provides names for variable groups. This option is available only in the BACKWARD, FORWARD, and STEPWISE methods.\",\"type\":\"value\"},{\"name\":\"HCC\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests heteroscedasticity-consistent standard errors of the parameter estimates. You can use the HCCMETHOD= option to specify the method used to compute the heteroscedasticity-consistent covariance matrix.\",\"type\":\"standalone\"},{\"name\":\"HCCMETHOD=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the method used to obtain a heteroscedasticity-consistent covariance matrix for use with the ACOV, HCC, or WHITE option in the MODEL statement and for heteroscedasticity-consistent tests with the TEST statement.\",\"help\":\"HCCMETHOD=0 | 1 | 2 | 3\",\"type\":\"choice\",\"arguments\":[{\"name\":\"0\",\"followsDelimiter\":\"/\",\"description\":\"Uses the HC0 heteroscedasticity-consistent covariance matrix estimator.\",\"type\":\"standalone\"},{\"name\":\"1\",\"followsDelimiter\":\"/\",\"description\":\"Uses the HC1 heteroscedasticity-consistent covariance matrix estimator.\",\"type\":\"standalone\"},{\"name\":\"2\",\"followsDelimiter\":\"/\",\"description\":\"Uses the HC2 heteroscedasticity-consistent covariance matrix estimator.\",\"type\":\"standalone\"},{\"name\":\"3\",\"followsDelimiter\":\"/\",\"description\":\"Uses the HC3 heteroscedasticity-consistent covariance matrix estimator.\",\"type\":\"standalone\"}]},{\"name\":\"I\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays the (X'X)⁻¹ matrix. The inverse of the crossproducts matrix is bordered by the parameter estimates and SSE matrices.\",\"type\":\"standalone\"},{\"name\":\"INCLUDE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Forces the first n independent variables listed in the MODEL statement to be included in all models.\",\"help\":\"INCLUDE=*n*\",\"type\":\"value\"},{\"name\":\"INFLUENCE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests a detailed analysis of the influence of each observation on the estimates and the predicted values.\",\"type\":\"standalone\"},{\"name\":\"JP\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Outputs Jp, the estimated mean square error of prediction for each model selected assuming that the values of the regressors are fixed and that the model is correct to the OUTEST= data set.\",\"type\":\"standalone\"},{\"name\":\"LACKFIT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Performs a lack-of-fit test.\",\"type\":\"standalone\"},{\"name\":\"MAXSTEP=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the maximum number of steps that are done when SELECTION=FORWARD, SELECTION=BACKWARD, or SELECTION=STEPWISE is used.\",\"help\":\"MAXSTEP=*n*\",\"type\":\"value\"},{\"name\":\"MSE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Computes the mean square error for each model selected.\",\"type\":\"standalone\"},{\"name\":\"NOINT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Suppresses the intercept term that is otherwise included in the model.\",\"type\":\"standalone\"},{\"name\":\"NOPRINT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Suppresses the normal display of regression results.\",\"type\":\"standalone\"},{\"name\":\"OUTSEB\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Outputs the standard errors of the parameter estimates to the OUTEST= data set.\",\"type\":\"standalone\"},{\"name\":\"OUTSTB\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Outputs the standardized parameter estimates as well as the usual estimates to the OUTEST= data set when the RIDGE= or PCOMIT= option is specified.\",\"type\":\"standalone\"},{\"name\":\"OUTVIF\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Outputs the variance inflation factors (VIF) to the OUTEST= data set when the RIDGE= or PCOMIT= option is specified.\",\"type\":\"standalone\"},{\"name\":\"P\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Calculates predicted values from the input data and the estimated model.\",\"type\":\"standalone\"},{\"name\":\"PARTIAL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests partial regression leverage plots for each regressor.\",\"type\":\"standalone\"},{\"name\":\"PARTIALDATA\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests partial regression leverage data for each regressor.\",\"type\":\"standalone\"},{\"name\":\"PARTIALR2\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays the squared semipartial correlation coefficients computed using Type I sums of squares.\",\"type\":\"standalone\"},{\"name\":\"PC\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Outputs Amemiya’s prediction criterion for each model selected to the OUTEST= data set.\",\"type\":\"standalone\"},{\"name\":\"PCOMIT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests an IPC analysis for each value m in the list.\",\"help\":\"PCOMIT=*list*\",\"type\":\"value\"},{\"name\":\"PCORR1\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays the squared partial correlation coefficients computed using Type I sum of squares (SS).\",\"type\":\"standalone\"},{\"name\":\"PCORR2\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays the squared partial correlation coefficients computed using Type II sums of squares.\",\"type\":\"standalone\"},{\"name\":\"PRESS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Outputs the PRESS statistic to the OUTEST= data set. The values of this statistic are saved in the variable _PRESS_.\",\"type\":\"standalone\"},{\"name\":\"R\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests an analysis of the residuals.\",\"type\":\"standalone\"},{\"name\":\"RIDGE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests a ridge regression analysis and specifies the values of the ridge constant k.\",\"help\":\"RIDGE=*list*\",\"type\":\"value\"},{\"name\":\"RMSE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays the root mean square error for each model selected.\",\"type\":\"standalone\"},{\"name\":\"RSQUARE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Has the same effect as the EDF option.\",\"type\":\"standalone\"},{\"name\":\"SBC\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Outputs the SBC statistic for each model selected to the OUTEST= data set.\",\"type\":\"standalone\"},{\"name\":\"SCORR1\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays the squared semipartial correlation coefficients computed using Type I sums of squares.\",\"type\":\"standalone\"},{\"name\":\"SCORR2\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays the squared semipartial correlation coefficients computed using Type II sums of squares.\",\"type\":\"standalone\"},{\"name\":\"SEQB\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Produces a sequence of parameter estimates as each variable is entered into the model.\",\"type\":\"standalone\"},{\"name\":\"SIGMA=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the true standard deviation of the error term to be used in computing the CP and BIC statistics.\",\"help\":\"SIGMA=*n*\",\"type\":\"value\"},{\"name\":\"SINGULAR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Tunes the mechanism used to check for singularities.\",\"help\":\"SINGULAR=*n*\",\"type\":\"value\"},{\"name\":\"SLENTRY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"SLE=\"],\"description\":\"Specifies the significance level for entry into the model used in the FORWARD and STEPWISE methods. The defaults are 0.50 for FORWARD and 0.15 for STEPWISE.\",\"help\":\"SLENTRY=*value*\",\"type\":\"value\"},{\"name\":\"SLSTAY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"SLS=\"],\"description\":\"Specifies the significance level for staying in the model for the BACKWARD and STEPWISE methods. The defaults are 0.10 for BACKWARD and 0.15 for STEPWISE.\",\"help\":\"SLSTAY=*value*\",\"type\":\"value\"},{\"name\":\"SP\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"outputs the Sp statistic for each model selected to the OUTEST= data set.\",\"type\":\"standalone\"},{\"name\":\"SPEC\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Performs a test that the first and second moments of the model are correctly specified.\",\"type\":\"standalone\"},{\"name\":\"SS1\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays the sequential sums of squares (Type I SS) along with the parameter estimates for each term in the model.\",\"type\":\"standalone\"},{\"name\":\"SS2\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays the partial sums of squares (Type II SS) along with the parameter estimates for each term in the model.\",\"type\":\"standalone\"},{\"name\":\"SSE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Computes the error sum of squares for each model selected.\",\"type\":\"standalone\"},{\"name\":\"START=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Is used to begin the comparing-and-switching process in the MAXR, MINR, and STEPWISE methods for a model containing the first s independent variables in the MODEL statement, where s is the START value.\",\"help\":\"START=*s*\",\"type\":\"value\"},{\"name\":\"STB\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Produces standardized regression coefficients.\",\"type\":\"standalone\"},{\"name\":\"STOP=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Causes PROC REG to stop when it has found the \\\"best\\\" s-variable model, where s is the STOP value.\",\"help\":\"STOP=*s*\",\"type\":\"value\"},{\"name\":\"TOL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Produces tolerance values for the estimates.\",\"type\":\"standalone\"},{\"name\":\"VIF\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Produces variance inflation factors with the parameter estimates. Variance inflation is the reciprocal of tolerance.\",\"type\":\"standalone\"},{\"name\":\"WHITE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"See the HCC option.\",\"type\":\"standalone\"},{\"name\":\"XPX\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays the X'X crossproducts matrix for the model.\",\"type\":\"standalone\"}]},{\"name\":\"MTEST\",\"description\":\"where each equation is a linear function composed of coefficients and variable names. The label is optional. The MTEST statement is used to test hypotheses in multivariate regression models where there are several dependent variables fit to the same regressors.\",\"help\":\"MTEST &lt;CANPRINT&gt;&lt;DETAILS&gt;&lt;MSTAT=&lt;FAPPROX | EXACT&gt;&gt; ...\",\"arguments\":[{\"name\":\"CANPRINT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays the canonical correlations for the hypothesis combinations and the dependent variable combinations.\",\"type\":\"standalone\"},{\"name\":\"DETAILS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays the M matrix and various intermediate calculations.\",\"type\":\"standalone\"},{\"name\":\"MSTAT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the method of evaluating the multivariate test statistics.\",\"help\":\"MSTAT=FAPPROX | EXACT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"FAPPROX\",\"followsDelimiter\":\"/\",\"description\":\"Specifies that the multivariate tests are evaluated by using the usual approximations based on the F distribution\",\"type\":\"standalone\"},{\"name\":\"EXACT\",\"followsDelimiter\":\"/\",\"description\":\"Compute exact p-values for three of the four tests (Wilks’ lambda, the Hotelling-Lawley trace, and Roy’s greatest root) and an improved F approximation for the fourth (Pillai’s trace).\",\"type\":\"standalone\"}]},{\"name\":\"PRINT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays the H and E matrices.\",\"type\":\"standalone\"}]},{\"name\":\"OUTPUT\",\"description\":\"The OUTPUT statement creates a new SAS data set that saves diagnostic measures calculated after fitting the model.\",\"help\":\"OUTPUT &lt;COOKD=&gt;&lt;COVRATIO=&gt;&lt;OUT=SAS-data-set&gt; ...\",\"arguments\":[{\"name\":\"COOKD=\",\"optional\":true,\"description\":\"Cook’s D influence statistic\",\"type\":\"value\"},{\"name\":\"COVRATIO=\",\"optional\":true,\"description\":\"Standard influence of observation on covariance of betas\",\"type\":\"value\"},{\"name\":\"DFFITS=\",\"optional\":true,\"description\":\"Standard influence of observation on predicted value\",\"type\":\"value\"},{\"name\":\"H=\",\"optional\":true,\"description\":\"Leverage\",\"type\":\"value\"},{\"name\":\"LCL=\",\"optional\":true,\"description\":\"Lower bound of a 100(1 - α)% confidence interval for an individual prediction.\",\"type\":\"value\"},{\"name\":\"LCLM=\",\"optional\":true,\"description\":\"Lower bound of a 100(1 - α)% confidence interval for the expected value (mean) of the dependent variable.\",\"type\":\"value\"},{\"name\":\"OUT=\",\"optional\":true,\"description\":\"Gives the name of the new data set. By default, the procedure uses the DATAn convention to name the new data set.\",\"help\":\"OUT=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"PREDICTED=\",\"optional\":true,\"description\":\"Predicted values\",\"type\":\"value\"},{\"name\":\"PRESS=\",\"optional\":true,\"description\":\"i-th residual divided by (1-h), where h is the leverage, and where the model has been refit without the i-th observation.\",\"type\":\"value\"},{\"name\":\"RESIDUAL=\",\"optional\":true,\"description\":\"Residuals, calculated as ACTUAL minus PREDICTED.\",\"type\":\"value\"},{\"name\":\"RSTUDENT=\",\"optional\":true,\"description\":\"A studentized residual with the current observation deleted.\",\"type\":\"value\"},{\"name\":\"STDI=\",\"optional\":true,\"description\":\"Standard error of the individual predicted value.\",\"type\":\"value\"},{\"name\":\"STDP=\",\"optional\":true,\"description\":\"Standard error of the mean predicted value.\",\"type\":\"value\"},{\"name\":\"STDR\",\"optional\":true,\"description\":\"Standard error of the residual.\",\"type\":\"standalone\"},{\"name\":\"STUDENT=\",\"optional\":true,\"description\":\"Studentized residuals, which are the residuals divided by their standard errors.\",\"type\":\"value\"},{\"name\":\"UCL=\",\"optional\":true,\"description\":\"Upper bound of a 100(1 - α)% confidence interval for an individual prediction.\",\"type\":\"value\"},{\"name\":\"UCLM=\",\"optional\":true,\"description\":\"Upper bound of a 100(1 - α)% confidence interval for the expected value (mean) of the dependent variable.\",\"type\":\"value\"}]},{\"name\":\"PAINT\",\"description\":\"The PAINT statement selects observations to be painted or highlighted in a scatter plot on line printer output.\",\"help\":\"PAINT ALLOBS &lt;NOLIST&gt;&lt;RESET&gt; ...\",\"arguments\":[{\"name\":\"ALLOBS\",\"description\":\"Selects all observations.\",\"type\":\"standalone\"},{\"name\":\"STATUS\",\"description\":\"Lists (in the log) the observation number and plotting symbol of all currently painted observations.\",\"type\":\"standalone\"},{\"name\":\"UNDO\",\"description\":\"Undoes changes made by the most recent PAINT statement.\",\"type\":\"standalone\"},{\"name\":\"NOLIST\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Suppresses the display of the selected observation numbers.\",\"type\":\"standalone\"},{\"name\":\"RESET\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Changes the painting symbol to the current default symbol, effectively unpainting the observations selected.\",\"type\":\"standalone\"},{\"name\":\"SYMBOL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies a painting symbol.\",\"type\":\"value\"}]},{\"name\":\"PRINT\",\"description\":\"The PRINT statement enables you to interactively display the results of MODEL statement options, produce an ANOVA table, display the data for variables used in the current model, or redisplay the options specified in a MODEL or a previous PRINT statement.\",\"help\":\"PRINT &lt;ACOV&gt;&lt;ANOVA&gt;&lt;MODELDATA&gt; ...\",\"arguments\":[{\"name\":\"ACOV\",\"optional\":true,\"description\":\"Displays the estimated asymptotic covariance matrix of the estimates under the hypothesis of heteroscedasticity and heteroscedasticity-consistent standard errors of parameter estimates.\",\"type\":\"standalone\"},{\"name\":\"ALL\",\"optional\":true,\"description\":\"Outputs Akaike’s information criterion for each model selected to the OUTEST= data set.\",\"type\":\"standalone\"},{\"name\":\"ANOVA\",\"optional\":true,\"description\":\"Produces the ANOVA table associated with the current model.\",\"type\":\"standalone\"},{\"name\":\"CLI\",\"optional\":true,\"description\":\"Requests the 100(1 - α)% upper and lower confidence limits for an individual predicted value. By default, the 95% limits are computed\",\"type\":\"standalone\"},{\"name\":\"CLM\",\"optional\":true,\"description\":\"Displays the 100(1 - α)% upper and lower confidence limits for the expected value of the dependent variable (mean) for each observation.\",\"type\":\"standalone\"},{\"name\":\"COLLIN\",\"optional\":true,\"description\":\"Requests a detailed analysis of collinearity among the regressors.\",\"type\":\"standalone\"},{\"name\":\"COLLINOINT\",\"optional\":true,\"description\":\"Requests the same analysis as the COLLIN option with the intercept variable adjusted out rather than included in the diagnostics.\",\"type\":\"standalone\"},{\"name\":\"CORRB\",\"optional\":true,\"description\":\"Displays the correlation matrix of the estimates.\",\"type\":\"standalone\"},{\"name\":\"COVB\",\"optional\":true,\"description\":\"Displays the estimated covariance matrix of the estimates.\",\"type\":\"standalone\"},{\"name\":\"DW\",\"optional\":true,\"description\":\"DCalculates a Durbin-Watson statistic to test whether or not the errors have first-order autocorrelation. (This test is appropriate only for time series data.)\",\"type\":\"standalone\"},{\"name\":\"I\",\"optional\":true,\"description\":\"Displays the (X'X)⁻¹ matrix. The inverse of the crossproducts matrix is bordered by the parameter estimates and SSE matrices.\",\"type\":\"standalone\"},{\"name\":\"INFLUENCE\",\"optional\":true,\"description\":\"Requests a detailed analysis of the influence of each observation on the estimates and the predicted values.\",\"type\":\"standalone\"},{\"name\":\"MODELDATA\",\"optional\":true,\"description\":\"Displays the data for variables used in the current model.\",\"type\":\"standalone\"},{\"name\":\"P\",\"optional\":true,\"description\":\"Calculates predicted values from the input data and the estimated model.\",\"type\":\"standalone\"},{\"name\":\"PARTIAL\",\"optional\":true,\"description\":\"Requests partial regression leverage plots for each regressor.\",\"type\":\"standalone\"},{\"name\":\"PCORR1\",\"optional\":true,\"description\":\"Displays the squared partial correlation coefficients computed using Type I sum of squares (SS).\",\"type\":\"standalone\"},{\"name\":\"PCORR2\",\"optional\":true,\"description\":\"Displays the squared partial correlation coefficients computed using Type II sums of squares.\",\"type\":\"standalone\"},{\"name\":\"R\",\"optional\":true,\"description\":\"Requests an analysis of the residuals.\",\"type\":\"standalone\"},{\"name\":\"SCORR1\",\"optional\":true,\"description\":\"Displays the squared semipartial correlation coefficients computed using Type I sums of squares.\",\"type\":\"standalone\"},{\"name\":\"SCORR2\",\"optional\":true,\"description\":\"Displays the squared semipartial correlation coefficients computed using Type II sums of squares.\",\"type\":\"standalone\"},{\"name\":\"SEQB\",\"optional\":true,\"description\":\"Produces a sequence of parameter estimates as each variable is entered into the model.\",\"type\":\"standalone\"},{\"name\":\"SPEC\",\"optional\":true,\"description\":\"Performs a test that the first and second moments of the model are correctly specified.\",\"type\":\"standalone\"}]},{\"name\":\"REFIT\",\"description\":\"The REFIT statement causes the current model and corresponding statistics to be recomputed immediately. No output is generated by this statement.\",\"help\":\"REFIT \"},{\"name\":\"RESTRICT\",\"description\":\"A RESTRICT statement is used to place restrictions on the parameter estimates in the MODEL preceding it. More than one RESTRICT statement can follow each MODEL statement.\",\"help\":\"RESTRICT equation &lt;, ..., equation&gt; \"},{\"name\":\"REWEIGHT\",\"description\":\"The REWEIGHT statement interactively changes the weights of observations that are used in computing the regression equation. The REWEIGHT statement can change observation weights, or set them to zero, which causes selected observations to be excluded from the analysis.\",\"help\":\"REWEIGHT &lt;ALLOBS&gt;&lt;NOLIST&gt;&lt;RESET&gt; ...\",\"arguments\":[{\"name\":\"ALLOBS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Selects all observations.\",\"type\":\"standalone\"},{\"name\":\"NOLIST\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Suppresses the display of the selected observation numbers. If you omit the NOLIST option, a list of observations selected is written to the log.\",\"type\":\"standalone\"},{\"name\":\"RESET\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Resets the observation weights to their original values as defined by the WEIGHT statement or to WEIGHT=1 if no WEIGHT statement is specified.\",\"type\":\"standalone\"},{\"name\":\"STATUS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"[Valid only if you omit condition and the ALLOBS options] Writes to the log the observation’s number and the weight of all reweighted observations.\",\"type\":\"standalone\"},{\"name\":\"UNDO\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"[Valid only if you omit condition and the ALLOBS options] Undoes the changes made by the most recent REWEIGHT statement.\",\"type\":\"standalone\"},{\"name\":\"WEIGHT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Changes observation weights to the specified nonnegative real number. If you omit the WEIGHT= option, the observation weights are set to zero, and observations are excluded from the analysis.\",\"help\":\"WEIGHT=*value*\",\"type\":\"value\"}]},{\"name\":\"TEST\",\"description\":\"The TEST statement tests hypotheses about the parameters estimated in the preceding MODEL statement.\",\"help\":\"TEST &lt;PRINT&gt;\",\"arguments\":[{\"name\":\"PRINT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays intermediate calculations.\",\"type\":\"standalone\"}]},{\"name\":\"VAR\",\"description\":\"The VAR statement is used to include numeric variables in the crossproducts matrix that are not specified in the first MODEL statement.\",\"help\":\"VAR variables \"},{\"name\":\"WEIGHT\",\"description\":\"A WEIGHT statement names a variable in the input data set with values that are relative weights for a weighted least squares fit. If the weight value is proportional to the reciprocal of the variance for each observation, then the weighted estimates are the best linear unbiased estimates (BLUE).\",\"help\":\"WEIGHT variable\"}],\"interactive\":true,\"supportSiteInformation\":{\"docsetId\":\"statug\",\"docsetVersion\":\"latest\",\"docsetTargetFile\":\"statug_reg_toc.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/REGISTERMODEL.json",
    "content": "{\"name\":\"REGISTERMODEL\",\"statements\":[{\"name\":\"PROC REGISTERMODEL\",\"description\":\"Registers DATA step and analytic store models in SAS Model Manager.\",\"help\":\"PROC REGISTERMODEL NAME='model-name' <options>;\\n\\tASSESSMENT <options>;\\n\\n\\tASTOREMODEL STORE=filename;\\n\\n\\tCODE FILE=filename;\\n\\n\\tPROJECT <options>;\\n\\n\\tTARGET variable / LEVEL=BINARY | INTERVAL | NOMINAL<EVENT='event'>;\\n\",\"arguments\":[{\"name\":\"NAME=\",\"description\":\"specifies the name to register the model under in SAS Model Manager.\",\"help\":\"NAME='*model-name*' \",\"type\":\"value\"},{\"name\":\"ALGORITHM=\",\"optional\":true,\"description\":\"specifies the algorithm that was used to train the model. This can be specified as a quoted string or as a key value. Key values include the following: BINNING, BNET, BOOLRULE, ENSEMBLE, FACTMAC, FOREST, GAM, GLM, GRADBOOST, IMPUTE, LINEARREG, LOGISTIC, MWPCA, NEURAL, NPLR, OTHER, PCA, PLSREG, QUANTREG, REPLACE, RPCA, RULEBASED, SVD, SVDD, SVM, TEXTTOPIC, TREE.\",\"help\":\"ALGORITHM=*algorithm-key-value* | '*algorithm-name*'\",\"type\":\"choice\",\"arguments\":[{\"name\":\"algorithm-key-value\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"'algorithm-name'\",\"placeholder\":true,\"type\":\"value\"}]},{\"name\":\"DATA=\",\"optional\":true,\"description\":\"names the input data table for PROC REGISTERMODEL to use.\",\"help\":\"DATA=*libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"DESCRIPTION=\",\"optional\":true,\"description\":\"specifies the description of the model.\",\"help\":\"DESCRIPTION='*model-description*'\",\"type\":\"value\"},{\"name\":\"FUNCTION=\",\"optional\":true,\"description\":\"specifies the model function type. Key values include the following: ANALYTICAL, CLASSIFICATION, CLUSTERING, IMAGE_CLASSIFICATION, IMAGE_SEGMENTATION, KEYPOINTS_DETECTION, OBJECT_DETECTION, PREDICTION, SEGMENTATION, SINGLE_SERIES_FORECASTING, TEXT_CATEGORIZATION, TEXT_CONCEPTS, TEXT_SENTIMENT, TEXT_TOPICS, TRANSFORMATION.\",\"help\":\"FUNCTION=*function-key-value*\",\"type\":\"value\"},{\"name\":\"MODELER=\",\"optional\":true,\"description\":\"specifies the name of the modeler.\",\"help\":\"MODELER='*modeler*'\",\"type\":\"value\"},{\"name\":\"REPLACE\",\"optional\":true,\"description\":\"specifies that you want to replace an existing model with a new one if the new model would have the same model name in the same project.\",\"type\":\"standalone\"}]},{\"name\":\"ASSESSMENT\",\"aliases\":[\"ASSESS\"],\"description\":\"Assesses the model and registers assessment statistics in SAS Model Manager.\",\"help\":\"ASSESSMENT &lt;*options*&gt;;\",\"arguments\":[{\"name\":\"FREQ=\",\"optional\":true,\"description\":\"identifies a numeric variable in the input data table and the holdout data table that contains the frequency of occurrence of each observation.\",\"help\":\"FREQ=*variable*\",\"type\":\"value\"},{\"name\":\"HOLDOUT=\",\"optional\":true,\"description\":\"names the holdout data table for assessment.\",\"help\":\"HOLDOUT=*libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"NCUTS=\",\"optional\":true,\"description\":\"specifies the number of cuts to use in the ROC calculation.\",\"help\":\"NCUTS=10 | 20 | 50 | 100 | 500 | 1000\",\"type\":\"choice\",\"arguments\":[{\"name\":\"10\",\"type\":\"standalone\"},{\"name\":\"20\",\"type\":\"standalone\"},{\"name\":\"50\",\"type\":\"standalone\"},{\"name\":\"100\",\"type\":\"standalone\"},{\"name\":\"500\",\"type\":\"standalone\"},{\"name\":\"1000\",\"type\":\"standalone\"}]},{\"name\":\"PARTITIONVAR=\",\"optional\":true,\"description\":\"specifies the variable in the input data set to be used to decide whether an observation is used for one of the three roles: training, validation, or testing.\",\"help\":\"PARTITIONVAR=*variable* (&lt;TEST='*value*'&gt; &lt;TRAIN='*value*'&gt; &lt;VALIDATE='*value*'&gt;)\",\"type\":\"value\"}]},{\"name\":\"ASTOREMODEL\",\"description\":\"Specifies the analytic store to be registered.\",\"help\":\"ASTOREMODEL STORE=*filename*;\",\"arguments\":[{\"name\":\"STORE=\",\"description\":\"names the external file that contains the analytic store that holds the model to be registered.\",\"help\":\"STORE=*filename*\",\"type\":\"value\"}]},{\"name\":\"CODE\",\"description\":\"Specifies the DATA step code to be registered.\",\"help\":\"CODE FILE=*filename*;\",\"arguments\":[{\"name\":\"FILE=\",\"description\":\"names the external file that contains the DATA step code to be registered.\",\"help\":\"FILE=*filename*\",\"type\":\"value\"}]},{\"name\":\"PROJECT\",\"description\":\"Specifies the project in which to register the model.\",\"help\":\"PROJECT &lt;*options*&gt;;\",\"arguments\":[{\"name\":\"FOLDER=\",\"optional\":true,\"description\":\"specifies the folder name where the SAS Model Manager project resides.\",\"help\":\"FOLDER='*folder-name*'\",\"type\":\"value\"},{\"name\":\"ID=\",\"optional\":true,\"description\":\"specifies the ID of an existing SAS Model Manager project to register the model in.\",\"help\":\"ID='*project-ID*'\",\"type\":\"value\"},{\"name\":\"NAME=\",\"optional\":true,\"description\":\"specifies the name of the SAS Model Manager project to register the model in.\",\"help\":\"NAME='*project-name*'\",\"type\":\"value\"},{\"name\":\"REPOSITORY=\",\"optional\":true,\"description\":\"specifies the name of the repository where the SAS Model Manager project folder resides.\",\"help\":\"REPOSITORY='*repository-name*'\",\"type\":\"value\"}]},{\"name\":\"TARGET\",\"description\":\"Specifies the variable whose values the model tries to predict.\",\"help\":\"TARGET *variable* / LEVEL=BINARY | INTERVAL | NOMINALEVENT='*event*';\",\"arguments\":[{\"name\":\"LEVEL=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the level of measurement of the target variable.\",\"help\":\"LEVEL=BINARY | INTERVAL | NOMINAL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"BINARY\",\"type\":\"standalone\"},{\"name\":\"INTERVAL\",\"type\":\"standalone\"},{\"name\":\"NOMINAL\",\"type\":\"standalone\"}]},{\"name\":\"EVENT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the event level of the target. If LEVEL=BINARY or NOMINAL, then you must also specify EVENT=.\",\"help\":\"EVENT='*event*'\",\"type\":\"value\"}]}],\"supportSiteInformation\":{\"docsetId\":\"casml\",\"docsetVersion\":\"latest\",\"docsetTargetFile\":\"casml_registermodel_toc.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/REGISTRY.json",
    "content": "{\"name\":\"REGISTRY\",\"statements\":[{\"name\":\"PROC REGISTRY\",\"description\":\"Maintains the SAS registry.\",\"help\":\"PROC REGISTRY &lt;*options*&gt;;\",\"arguments\":[{\"name\":\"CLEARSASUSER\",\"optional\":true,\"description\":\"erases from the Sasuser registry the keys that were added by a user.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p12l0ojlri6i6in15pizspnbfx5l\"},{\"name\":\"COMPAREREG1=\",\"optional\":true,\"description\":\"compares two registry files.\",\"help\":\"COMPAREREG1='*libname.**registry-name-1*'\",\"type\":\"value\",\"arguments\":[{\"name\":\"libname\",\"placeholder\":true,\"description\":\"is the name of the library in which the registry file resides.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p08cuwtg0wqkbqn1kqlvcr44oocl\"},{\"name\":\"registry-name-1\",\"placeholder\":true,\"description\":\"is the name of the first registry.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0jzzttqeqpevpn1g3zt00grgpc6\"}],\"supportSiteTargetFragment\":\"n0mbsjlksuivr3n1mm5vil9nr7w4\"},{\"name\":\"COMPAREREG2=\",\"optional\":true,\"description\":\"compares two registry files.\",\"help\":\"COMPAREREG2='*libname.**registry-name-2*'\",\"type\":\"value\",\"arguments\":[{\"name\":\"libname\",\"placeholder\":true,\"description\":\"is the name of the library in which the registry file resides.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0ezwnffy5q8dwn1ebffw90w3kx5\"},{\"name\":\"registry-name-2\",\"placeholder\":true,\"description\":\"is the name of the second registry.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1i2yol91q23ron1nbp8fqma3lnt\"}],\"supportSiteTargetFragment\":\"n194k12ewyda1in1rt9ylg3okmx7\"},{\"name\":\"COMPARETO=\",\"optional\":true,\"description\":\"compares the contents of a registry to a file.\",\"help\":\"COMPARETO=*file-specification* \",\"type\":\"value\",\"arguments\":[{\"name\":\"'external-file'\",\"placeholder\":true,\"description\":\"is the path and name of an external file that contains the registry information.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p00l8t7gqbwa00n10o76t10vn48p\"},{\"name\":\"fileref\",\"placeholder\":true,\"description\":\"is a fileref that has been assigned to an external file.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0g98ak1skpg23n1ttggj4mqjn79\"}],\"supportSiteTargetFragment\":\"n1vovkz5zo79gkn1tdowdng8bsy1\"},{\"name\":\"DEBUGON\",\"optional\":true,\"description\":\"enables registry debugging.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0x6r3h0m40k4wn106hj8aiv3cmj\"},{\"name\":\"DEBUGOFF\",\"optional\":true,\"description\":\"disables registry debugging.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0yen3bn7w2402n16ponsgv4av73\"},{\"name\":\"EXPORT=\",\"optional\":true,\"description\":\"writes the contents of a registry to the specified file.\",\"help\":\"EXPORT=*file-specification*\",\"type\":\"value\",\"arguments\":[{\"name\":\"'external-file'\",\"placeholder\":true,\"description\":\"is the name of an external file that contains the registry information.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0mo3h8wurbblhn0zvdumq0bm4x6\"},{\"name\":\"fileref\",\"placeholder\":true,\"description\":\"is a fileref that has been assigned to an external file.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1t209peasucosn1pn3tvxsh0cym\"}],\"supportSiteTargetFragment\":\"p1hpybdfp4yh4mn1mr312pj3xb23\"},{\"name\":\"FOLLOWLINKS\",\"optional\":true,\"description\":\"follows links that are found when processing the LIST command.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1wqxo2mfnppx9n18k8kv9evm392\"},{\"name\":\"FULLSTATUS\",\"optional\":true,\"description\":\"provides additional information in the SAS log about the results of the IMPORT= and UNINSTALL= options.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n05dppmalip09an117bjmle1jrny\"},{\"name\":\"IMPORT=\",\"optional\":true,\"description\":\"imports the specified file to a registry.\",\"help\":\"IMPORT=*file-specification*\",\"type\":\"value\",\"arguments\":[{\"name\":\"'external-file'\",\"placeholder\":true,\"description\":\"is the path and name of an external file that contains the registry information.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0z073iarvwt8xn1mflf4fnhzm78\"},{\"name\":\"fileref\",\"placeholder\":true,\"description\":\"is a fileref that has been assigned to an external file.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n196brjipc1rnhn113jewy2xxxp8\"}],\"supportSiteTargetFragment\":\"p068av9bovlprcn13nqxzlnnkj09\"},{\"name\":\"KEYSONLY\",\"optional\":true,\"description\":\"limits the LIST, LISTUSER, LISTHELP, and LISTREG options output to display keys only.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1x9p1tcykxmarn1xr5biqjwhi64\"},{\"name\":\"LEVELS=\",\"optional\":true,\"description\":\"limits the number of levels to display for the LIST, LISTUSER, LISTHELP, and LISTREG options.\",\"help\":\"LEVELS=*n*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p11n42laufuk3in106rl9oil8145\"},{\"name\":\"LIST\",\"optional\":true,\"description\":\"writes the contents of the registry to the SAS log. This option is used with the STARTAT= option to list specific keys.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n18rtknvdunlx5n123nh3kc8vvub\"},{\"name\":\"LISTHELP\",\"optional\":true,\"description\":\"writes the contents of the Sashelp portion of the registry to the SAS log.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0zyqiyyw5fg4pn1bve4saqofv1z\"},{\"name\":\"LISTREG=\",\"optional\":true,\"description\":\"sends the contents of a registry to the log.\",\"help\":\"LISTREG='*libname.**registry-name*'\",\"type\":\"value\",\"arguments\":[{\"name\":\"libname\",\"placeholder\":true,\"description\":\"is the name of the library in which the registry file resides.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1tddvgyofvyqbn1xzve1q6ienrc\"},{\"name\":\"registry-name\",\"placeholder\":true,\"description\":\"is the name of the registry.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1ioq77ot0jjt9n1nhfi6g3xeffm\"}],\"supportSiteTargetFragment\":\"p1ser0ngec5mlqn1oo0rdeeo4c1n\"},{\"name\":\"LISTUSER\",\"optional\":true,\"description\":\"writes the contents of the Sasuser portion of the registry to the SAS log.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1o51syye2u2gbn1tnz3n0iovoin\"},{\"name\":\"STARTAT=\",\"optional\":true,\"description\":\"starts exporting or writing or comparing the contents of a registry at the specified key.\",\"help\":\"STARTAT='*key-name*'\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0j5zac9yod0o6n1lpafro24zoy1\"},{\"name\":\"UNINSTALL=\",\"optional\":true,\"description\":\"deletes from the specified registry all the keys and values that are in the specified file.\",\"help\":\"UNINSTALL=*file-specification*\",\"type\":\"value\",\"arguments\":[{\"name\":\"'external-file'\",\"placeholder\":true,\"description\":\"is the name of an external file that contains the keys and values to delete.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1pekfkgnoahjsn1szc7zv7kiadg\"},{\"name\":\"fileref\",\"placeholder\":true,\"description\":\"is a fileref that has been assigned to an external file. To assign a fileref, you can do the following:\\n• use the Explorer Window\\n• \",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1qrdr5kv6nb4vn1i3ckgcwxki5l\"}],\"supportSiteTargetFragment\":\"n0ctaj41811ayvn1pgbi1v3awif8\"},{\"name\":\"UPCASE\",\"optional\":true,\"description\":\"uses uppercase for all incoming key names.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1oe6jhugxapcan152aay15awcgw\"},{\"name\":\"UPCASEALL\",\"optional\":true,\"description\":\"uses uppercase for all keys, names, and item values when you import a file.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1n6l0abtye6ujn13inx3cg4a2mk\"},{\"name\":\"USESASHELP\",\"optional\":true,\"description\":\"performs the specified operation on the Sashelp portion of the SAS registry.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1gvbsbmktiegnn17kd51aucwmbl\"}],\"supportSiteTargetFile\":\"n0sueo43x4f8szn1vqc2uqnfb69i.htm\"}],\"supportSiteInformation\":{\"docsetId\":\"proc\",\"docsetVersion\":\"v_002\",\"docsetTargetFile\":\"p0dakeryjykv6rn1x83x60323cz3.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/REGSELECT.json",
    "content": "{\"name\":\"REGSELECT\",\"statements\":[{\"name\":\"PROC REGSELECT\",\"description\":\"The REGSELECT procedure fits and performs model selection for ordinary linear least squares models in SAS Viya. † The models that PROC REGSELECT supports are standard independently and identically distributed general linear models, which can contain main effects that consist of both continuous and classification variables and interaction effects of these variables. The procedure offers extensive capabilities for customizing the model selection with a wide variety of selection and stopping criteria, from traditional and computationally efficient significance-level-based criteria to more computationally intensive validation-based criteria. PROC REGSELECT also provides a variety of regression diagnostics that are conditional on the selected model.\",\"help\":\"PROC REGSELECT <ALPHA=number><DATA=CAS-libref.data-table><NOCLPRINT< =number >>;     \\n\\tBY variables ;\\n\\n\\tCLASS <DESCENDING><MISSING><ORDER=<FORMATTED | FREQ | INTERNAL>> ...;\\n\\n\\tCODE <COMMENT><FILE=filename><FORMATWIDTH=width> ...;\\n\\n\\tDISPLAY <CASESENSITIVE><EXCLUDE><EXCLUDEALL> ...;\\n\\n\\tDISPLAYOUT <NOREPLACE><REPEATED> ;\\n\\n\\tEFFECT <DETAILS> NAME=COLLECTION|MULTIMEMBER|MM|POLYNOMIAL|POLY...  <NOEFFECT> ...;\\n\\n\\tFREQ variable ;\\n\\n\\tMODEL <CLB><INCLUDE=n | INCLUDE=single-effect | INCLUDE=(effect-list)><INFORMATIVE> ...;\\n\\n\\tOUTPUT <COPYVAR=variable | COPYVARS=(variables)><OUT=CAS-libref.data-table><PREDICTED|PRED|PROB|P< =name >> ...;\\n\\n\\tPARTITION <FRACTION(< TEST=fraction > < VALIDATE=fraction > < SEED=number >)><ROLE=|ROLEVAR=variable (< TEST='value' > < TRAIN='value' > < VALIDATE='value' >)> ;\\n\\n\\tSELECTION <ADAPTIVE <(GAMMA=nonnegative number)>><CHOOSE=<AIC | AICC | SBC>><METHOD=<BACKWARD | FORWARD | FORWARDSWAP>... > ...;\\n\\n\\tWEIGHT variable;\\n\",\"arguments\":[{\"name\":\"ALPHA=\",\"optional\":true,\"description\":\"Sets the significance level to be used for the construction of confidence intervals. The value must be between 0 and 1; the default value of 0.05 results in 95% intervals. This option affects the keywords LCL, LCLM, UCL, and UCLM in the OUTPUT statement and the CLB option in the MODEL statement.\",\"help\":\"ALPHA=*number*\",\"type\":\"value\"},{\"name\":\"DATA=\",\"optional\":true,\"description\":\"names the input data table for PROC REGSELECT to use. The default is the most recently created data table. CAS-libref specifies the CAS library where the input data table resides, and data-table specifies the name of the input data table.\",\"help\":\"DATA=*CAS-libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"NOCLPRINT\",\"optional\":true,\"description\":\"Suppresses the display of the “Class Level Information” table if you do not specify number. If you specify number, the values of the classification variables are displayed for only those variables whose number of levels is less than number. Specifying number helps to reduce the size of the “Class Level Information” table if some classification variables have a large number of levels.\",\"type\":\"standalone\"}]},{\"name\":\"BY\",\"description\":\"You can specify a BY statement in PROC REGSELECT to obtain separate analyses of observations in groups that are defined by the BY variables. If you specify more than one BY statement, only the last one specified is used.\",\"help\":\"BY variables \"},{\"name\":\"CLASS\",\"description\":\"The CLASS statement names the classification variables to be used as explanatory variables in the analysis. You can list the response variable for binary models in the CLASS statement, but this is not required.\",\"help\":\"CLASS &lt;DESCENDING&gt;&lt;MISSING&gt;&lt;ORDER=&lt;FORMATTED | FREQ | INTERNAL&gt;&gt; ...\",\"arguments\":[{\"name\":\"DESCENDING\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"DESC\"],\"description\":\"Reverses the sort order of the classification variable. If both the DESCENDING and ORDER= options are specified, the procedure orders the categories according to the ORDER= option and then reverse that order.\",\"type\":\"standalone\"},{\"name\":\"MISSING\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Treats missing values (“.”, “.A”, . . . , “.Z” for numeric variables and blanks for character variables) as valid values for the CLASS variable.\",\"type\":\"standalone\"},{\"name\":\"ORDER=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the sort order for the levels of classification variables. This ordering determines which parameters in the model correspond to each level in the data.\",\"help\":\"ORDER=FORMATTED | FREQ | INTERNAL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"FORMATTED\",\"followsDelimiter\":\"/\",\"description\":\"External formatted values, except for numeric variables that have no explicit format, which are sorted by their unformatted (internal) values. The sort order is machine-dependent. For numeric variables for which you have supplied no explicit format, the levels are ordered by their internal values.\",\"type\":\"standalone\"},{\"name\":\"FREQ\",\"followsDelimiter\":\"/\",\"description\":\"Descending frequency count (levels that have more observations come earlier in the order)\",\"type\":\"standalone\"},{\"name\":\"INTERNAL\",\"followsDelimiter\":\"/\",\"description\":\"Unformatted value. The sort order is machine-dependent.\",\"type\":\"standalone\"}]},{\"name\":\"PARAM=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the parameterization method for the classification variable or variables.\",\"help\":\"PARAM=EFFECT | GLM | ORDINAL|THERMOMETER | POLYNOMIAL|POLY | REFERENCE|REF | ORTHEFFECT | ORTHORDINAL|ORTHOTHERM | ORTHPOLY | ORTHREF\",\"type\":\"choice\",\"arguments\":[{\"name\":\"EFFECT\",\"followsDelimiter\":\"/\",\"description\":\"Specifies effect coding.\",\"type\":\"standalone\"},{\"name\":\"GLM\",\"followsDelimiter\":\"/\",\"description\":\"Specifies less-than-full-rank, reference-cell coding; this option can be used only as a global option.\",\"type\":\"standalone\"},{\"name\":\"ORDINAL\",\"followsDelimiter\":\"/\",\"description\":\"Specifies the cumulative parameterization for an ordinal CLASS variable.\",\"help\":\"ORDINAL|THERMOMETER\",\"type\":\"choice\"},{\"name\":\"POLYNOMIAL\",\"followsDelimiter\":\"/\",\"description\":\"Specifies polynomial coding.\",\"help\":\"POLYNOMIAL|POLY\",\"type\":\"choice\"},{\"name\":\"REFERENCE\",\"followsDelimiter\":\"/\",\"description\":\"Specifies reference-cell coding.\",\"help\":\"REFERENCE|REF\",\"type\":\"choice\"},{\"name\":\"ORTHEFFECT\",\"followsDelimiter\":\"/\",\"description\":\"Orthogonalizes PARAM=EFFECT.\",\"type\":\"standalone\"},{\"name\":\"ORTHORDINAL\",\"followsDelimiter\":\"/\",\"description\":\"Orthogonalizes PARAM=ORDINAL.\",\"help\":\"ORTHORDINAL|ORTHOTHERM\",\"type\":\"choice\"},{\"name\":\"ORTHPOLY\",\"followsDelimiter\":\"/\",\"description\":\"Orthogonalizes PARAM=POLYNOMIAL.\",\"type\":\"standalone\"},{\"name\":\"ORTHREF\",\"followsDelimiter\":\"/\",\"description\":\"Orthogonalizes PARAM=REFERENCE.\",\"type\":\"standalone\"}]},{\"name\":\"REF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"REFERENCE=\"],\"description\":\"Specifies the reference level that is used when you specify a nonsingular parameterization.\",\"help\":\"REF=&lt;'level'&gt; | FIRST | LAST\",\"type\":\"choice\",\"arguments\":[{\"name\":\"<'level'>\",\"followsDelimiter\":\"/\",\"description\":\"Specifies the level of the variable to use as the reference level. Replace <'level'> with an actual value.\",\"type\":\"standalone\"},{\"name\":\"FIRST\",\"followsDelimiter\":\"/\",\"description\":\"Designates the first ordered level as reference. You can specify this value either for an individual variable option or for a global-option.\",\"type\":\"standalone\"},{\"name\":\"LAST\",\"followsDelimiter\":\"/\",\"description\":\"Designates the last ordered level as reference. You can specify this value either for an individual variable option or for a global-option.\",\"type\":\"standalone\"}]},{\"name\":\"SPLIT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies that design matrix columns that correspond to any effect that contains a split classification variable can be selected to enter or leave a model independently of the other design columns of that effect.\",\"type\":\"standalone\"}]},{\"name\":\"CODE\",\"description\":\"The CODE statement writes SAS DATA step code for computing predicted values of the fitted model either to a file or to a catalog entry. This code can then be included in a DATA step to score new data.\",\"help\":\"CODE &lt;COMMENT&gt;&lt;FILE=filename&gt;&lt;FORMATWIDTH=width&gt; ...\",\"arguments\":[{\"name\":\"COMMENT\",\"optional\":true,\"description\":\"Adds comments to the generated code.\",\"type\":\"standalone\"},{\"name\":\"FILE=\",\"optional\":true,\"description\":\"Names the external file that saves the generated code. When enclosed in a quoted string (for example, FILE=\\\"c:nmydirnscorecode.sas\\\"), this option specifies the path and filename for writing the code to an external file. If you do not specify a path but your SAS client has a default path, then the code is written to an external file named filename at that location. You can also specify an unquoted filename of no more than eight characters. If the filename is assigned as a fileref in a Base SAS FILENAME statement, the file specified in the FILENAME statement is opened; otherwise, if your SAS client has a default path, an external file named filename is created.\",\"help\":\"FILE=*filename*\",\"type\":\"value\"},{\"name\":\"FORMATWIDTH=\",\"optional\":true,\"description\":\"Specifies the width to use in formatting derived numbers such as parameter estimates. You can specify a value in the range 4 to 32; the default is 20.\",\"help\":\"FORMATWIDTH=*width*\",\"type\":\"value\"},{\"name\":\"INDENTSIZE=\",\"optional\":true,\"description\":\"Specifies the number of spaces to indent the generated code. You can specify a value in the range 0 to 10; the default is 3.\",\"help\":\"INDENTSIZE=*n*\",\"type\":\"value\"},{\"name\":\"LABELID=\",\"optional\":true,\"description\":\"Specifies a number used to construct array names and statement labels in the generated code. You can specify a value in the range 0 to 1024; the default is randomly chosen.\",\"help\":\"LABELID=*value*\",\"type\":\"value\"},{\"name\":\"LINESIZE=\",\"optional\":true,\"aliases\":[\"LS=\"],\"description\":\"Specifies the line size for the generated code. You can specify a value in the range 64 to 254; the default is 120.\",\"type\":\"value\"},{\"name\":\"NOTRIM\",\"optional\":true,\"description\":\"Bases comparisons of formatted values on the full format width, including blank padding. By default, blanks at the beginning and end of strings are ignored.\",\"type\":\"standalone\"},{\"name\":\"OUT=\",\"optional\":true,\"description\":\"Creates a CAS table that contains the score code. CAS-libref.data-table is a two-level name, where CAS-libref refers to the caslib and session identifier, and data-table specifies the name of the output data table.\",\"help\":\"OUT=*CAS-libref.data-table*\",\"type\":\"dataSet\"}]},{\"name\":\"DISPLAY\",\"description\":\"The DISPLAY statement enables you to specify a list of ODS tables to display or exclude. This statement is similar to the ODS SELECT, ODS EXCLUDE, and ODS TRACE statements. However, the DISPLAY statement can improve performance when a large number of tables could be generated (such as in BY-group processing). The procedure processes the DISPLAY statement on a CAS server and thus sends only a subset of ODS tables to the SAS client. Because ODS statements are processed on a SAS client, all ODS tables are sent to the client and then the client creates a subset. If both DISPLAY and ODS statements are used together, the DISPLAY statement takes precedence over the ODS statements.\",\"help\":\"DISPLAY &lt;CASESENSITIVE&gt;&lt;EXCLUDE&gt;&lt;EXCLUDEALL&gt; ...\",\"arguments\":[{\"name\":\"CASESENSITIVE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Performs a case-sensitive comparison of table names in the table-list to ODS table names when tables are subsetted for display. To preserve case, you must enclose table names in the table-list in quotation marks.\",\"type\":\"standalone\"},{\"name\":\"EXCLUDE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays all ODS tables except those specified in the table-list.\",\"type\":\"standalone\"},{\"name\":\"EXCLUDEALL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Suppresses display of all tables. This option takes precedence over the other options.\",\"type\":\"standalone\"},{\"name\":\"TRACE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays the ODS table names, labels, and paths.\",\"type\":\"standalone\"}]},{\"name\":\"DISPLAYOUT\",\"description\":\"The DISPLAYOUT statement enables you to create CAS output tables from your displayed output. This statement is similar to the ODS OUTPUT statement. The table-spec-list specifies a list of CAS output tables to create. Each entry in the list has either a key or a key=value format: key=value specifies key as the ODS table name, path, or partial pathname, and specifies value as the CAS output table name. key specifies key as the ODS table name and also as the CAS output table name. Table names and partial pathnames are discussed under the DISPLAY statement. The DISPLAYOUT statement does not support regular expressions.\",\"help\":\"DISPLAYOUT &lt;NOREPLACE&gt;&lt;REPEATED&gt;\",\"arguments\":[{\"name\":\"NOREPLACE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Does not replace an existing CAS output table of the same name.\",\"type\":\"standalone\"},{\"name\":\"REPEATED\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Replicates the CAS output tables on all nodes.\",\"type\":\"standalone\"}]},{\"name\":\"EFFECT\",\"description\":\"The EFFECT statement enables you to construct special collections of columns for design matrices. These collections are referred to as constructed effects to distinguish them from the usual model effects that are formed from continuous or classification variables.\",\"help\":\"EFFECT &lt;DETAILS&gt; NAME=COLLECTION|MULTIMEMBER|MM|POLYNOMIAL|POLY...  &lt;NOEFFECT&gt; ...\",\"arguments\":[{\"name\":\"NAME=\",\"description\":\"Replace 'NAME' with the name of the effect, specified after the EFFECT keyword. This name can appear in only one EFFECT statement and cannot be the name of a variable in the input data set.\",\"help\":\"NAME=COLLECTION | MULTIMEMBER|MM | POLYNOMIAL|POLY | SPLINE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"COLLECTION\",\"description\":\"Is a collection effect that defines one or more variables as a single effect with multiple degrees of freedom. The variables in a collection are considered as a unit for estimation and inference. Option(s) available (specified after a slash (/) following the variable list): DETAILS Displays the constituents of the collection effect\",\"type\":\"standalone\"},{\"name\":\"MULTIMEMBER\",\"description\":\"Is a multimember classification effect whose levels are determined by one or more variables that appear in a CLASS statement. Options available (specified after a slash (/) following the variable list): DETAILS displays the levels of the multimember effect NOEFFECT specifies that observations with all missing levels for the multimember variables should have zero values in the corresponding design matrix columns STDIZE Standardizes the design matrix entries so that each observation has a sum of 1 WEIGHT= specifies the weight variable for the contributions of each of the classification effects\",\"help\":\"MULTIMEMBER|MM\",\"type\":\"choice\"},{\"name\":\"POLYNOMIAL\",\"description\":\"Is a multivariate polynomial effect in the specified numeric variables. Options available (specified after a slash (/) following the variable list): DEGREE= specifies the degree of the polynomial DETAILS displays details of the specified polynomial MDEGREE= specifies the maximum degree of any variable in a term of the polynomial NOSEPARATE treats the polynomial as a single effect with multiple degrees of freedom STANDARDIZE= specifies centering and scaling suboptions for the variables that define the polynomial\",\"help\":\"POLYNOMIAL|POLY\",\"type\":\"choice\"},{\"name\":\"SPLINE\",\"description\":\"Is a regression spline effect whose columns are univariate spline expansions of one or more variables. A spline expansion replaces the original variable with an expanded or larger set of new variables. Options available (specified after a slash (/) following the variable list): BASIS= specifies the type of basis (B-spline basis or truncated power function basis) for the spline expansion DATABOUNDARY uses the extremes of the data as boundary knots for a B-spline basis DEGREE= specifies the degree of the spline transformation DETAILS displays the knots and locations for each spline basis function KNOTMAX= requests equally spaced right-side boundary knots starting at the variables’ maximum and ending at the KNOTMAX= value KNOTMETHOD= specifies how to construct the knots for spline effects KNOTMIN= requests equally spaced left-side boundary knots starting at the KNOTMAX= value and ending at the variables’ minimum value\",\"type\":\"standalone\"}]},{\"name\":\"BASIS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"[For the SPLINE effect-type only] Specifies a basis for the spline expansion.\",\"help\":\"BASIS=BSPLINE | TPF\",\"type\":\"choice\",\"arguments\":[{\"name\":\"BSPLINE\",\"followsDelimiter\":\"/\",\"description\":\"Specifies a B-spline basis for the spline expansion.\",\"type\":\"standalone\"},{\"name\":\"TPF\",\"followsDelimiter\":\"/\",\"description\":\"Syntax: TPF(options) Specifies a truncated power function basis for the spline expansion. You can modify the number of columns when you request BASIS=TPF with the following options: NOINT excludes the intercept column. NOPOWERS excludes the intercept and polynomial columns.\",\"type\":\"standalone\"}]},{\"name\":\"DATABOUNDARY\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"[For the SPLINE effect-type only] Specifies that the extremes of the data be used as boundary knots when building a B-spline basis.\",\"type\":\"standalone\"},{\"name\":\"DEGREE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"\",\"help\":\"DEGREE=*n*\",\"type\":\"value\"},{\"name\":\"DETAILS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"[For the LAG | COLLECTION | MULTIMEMBER | POLYNOMIAL |SPLINE effect-type] Requests a table that shows the (1) lag design matrix of the lag effect, or (2) constituents of the collection effect, or (3) levels of the multimember effect, or (4) details of the specified polynomial, or (5) knot locations and the knots associated with each spline basis function.\",\"type\":\"standalone\"},{\"name\":\"KNOTMAX=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"\",\"help\":\"KNOTMAX=*value*\",\"type\":\"value\"},{\"name\":\"KNOTMETHOD=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"[For the SPLINE effect-type only] Specifies how to construct the knots for spline effects.\",\"help\":\"KNOTMETHOD=EQUAL | LIST | LISTWITHBOUNDARY | MULTISCALE | PERCENTILES | RANGEFRACTIONS\",\"type\":\"choice\",\"arguments\":[{\"name\":\"EQUAL\",\"followsDelimiter\":\"/\",\"description\":\"Syntax: EQUAL<(n)> Specifies that n equally spaced knots be positioned between the extremes of the data. The default is n=3. For a B-spline basis, any needed boundary knots continue to be equally spaced unless the DATABOUNDARY option has also been specified. KNOTMETHOD=EQUAL is the default if no knot-method is specified.\",\"type\":\"standalone\"},{\"name\":\"LIST\",\"followsDelimiter\":\"/\",\"description\":\"Syntax: LIST(number-list) Specifies the list of internal knots to be used in forming the spline basis columns. For a B-spline basis, the data extremes are used as boundary knots.\",\"type\":\"standalone\"},{\"name\":\"LISTWITHBOUNDARY\",\"followsDelimiter\":\"/\",\"description\":\"Syntax: LISTWITHBOUNDARY(number-list) Specifies the list of all knots that are used in forming the spline basis columns.\",\"type\":\"standalone\"},{\"name\":\"MULTISCALE\",\"followsDelimiter\":\"/\",\"description\":\"Syntax: MULTISCALE<(multiscale-options)> Specifies that multiple B-spline bases be generated, corresponding to sets with an increasing number of internal knots. You can control which scales are included with the following multiscale-options: STARTSCALE=n specifies the start scale, where n is a positive integer. The default is STARTSCALE=0. ENDSCALE=n specifies the end scale, where n is a positive integer. The default is ENDSCALE=7.\",\"type\":\"standalone\"},{\"name\":\"PERCENTILES\",\"followsDelimiter\":\"/\",\"description\":\"Syntax: PERCENTILES(n) Requests that internal knots be placed at n equally spaced percentiles of the variable or variables named in the EFFECT statement.\",\"type\":\"standalone\"},{\"name\":\"RANGEFRACTIONS\",\"followsDelimiter\":\"/\",\"description\":\"Syntax: RANGEFRACTIONS(fraction-list) Requests that internal knots be placed at each fraction of the ranges of the variables in the EFFECT statement.\",\"type\":\"standalone\"}]},{\"name\":\"KNOTMIN=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"\",\"help\":\"KNOTMIN=*value*\",\"type\":\"value\"},{\"name\":\"LABELSTYLE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"\",\"help\":\"LABELSTYLE=EXPAND | EXPONENT | INCLUDENAME | PRODUCTSYMBOL=\",\"type\":\"choice\",\"arguments\":[{\"name\":\"EXPAND\",\"followsDelimiter\":\"/\",\"description\":\"Specifies that each variable with an exponent greater than 1 be written as products of that variable.\",\"type\":\"standalone\"},{\"name\":\"EXPONENT\",\"followsDelimiter\":\"/\",\"description\":\"Syntax: EXPONENT <=quoted string> Specifies that each variable with an exponent greater than 1 be written using exponential notation. By default, the symbol ^ is used as the exponentiation operator. If you supply the optional quoted string after an equal sign, then that string is used as the exponentiation operator.\",\"type\":\"standalone\"},{\"name\":\"INCLUDENAME\",\"followsDelimiter\":\"/\",\"description\":\"Specifies that the name of the effect followed by an underscore be used as a prefix for term labels.\",\"type\":\"standalone\"},{\"name\":\"PRODUCTSYMBOL=\",\"followsDelimiter\":\"/\",\"description\":\"Syntax: PRODUCTSYMBOL=NONE | quoted string Specifies that the supplied string be used as the product symbol.\",\"type\":\"value\"}]},{\"name\":\"MDEGREE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"\",\"help\":\"MDEGREE=*n*\",\"type\":\"value\"},{\"name\":\"NOEFFECT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"[For the MULTIMEMBER effect-type only] Specifies that, for observations with all missing levels of the multimember variables, the values in the corresponding design matrix columns be set to zero.\",\"type\":\"standalone\"},{\"name\":\"NOSEPARATE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"[For the POLYNOMIAL effect-type only] Specifies that the polynomial be treated as a single effect with multiple degrees of freedom. The effect name that you specify is used as the constructed effect name, and the labels of the terms are used as labels of the corresponding parameters.\",\"type\":\"standalone\"},{\"name\":\"SEPARATE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"[For the SPLINE effect-type only] Specifies that when multiple variables are specified in the EFFECT statement, the spline basis for each variable be treated as a separate effect. The names of these separated effects are formed by appending an underscore followed by the name of the variable to the name that you specify in the EFFECT statement.\",\"type\":\"standalone\"},{\"name\":\"SPLIT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"[For the SPLINE effect-type only] Specifies that each individual column in the design matrix that corresponds to the spline effect be treated as a separate effect that can enter or leave the model independently. Names for these split effects are generated by appending the variable name and an index for each column to the name that you specify in the EFFECT statement.\",\"type\":\"standalone\"},{\"name\":\"STANDARDIZE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies that the variables that define the polynomial be standardized. By default, the standardized variables receive prefix \\\"s_\\\" in the variable names. You can use the following centerscale-opts to specify how the center and scale are estimated: METHOD=MOMENTS specifies that the center be estimated by the variable mean and the scale be estimated by the standard deviation. METHOD=RANGE specifies that the center be estimated by the midpoint of the variable range and the scale be estimated as half the variable range. METHOD=WMOMENTS is the same as METHOD=MOMENTS except that weighted means and weighted standard deviations are used.\",\"help\":\"STANDARDIZECENTER | CENTERSCALE | NONE | SCALE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"CENTER\",\"followsDelimiter\":\"/\",\"description\":\"Specifies that variables be centered but not scaled.\",\"type\":\"standalone\"},{\"name\":\"CENTERSCALE\",\"followsDelimiter\":\"/\",\"description\":\"Specifies that variables be centered and scaled. This is the default if you do not specify a standardization-opt.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"followsDelimiter\":\"/\",\"description\":\"Specifies that no standardization be performed.\",\"type\":\"standalone\"},{\"name\":\"SCALE\",\"followsDelimiter\":\"/\",\"description\":\"Specifies that variables be scaled but not centered.\",\"type\":\"standalone\"}]},{\"name\":\"STDIZE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"[For the MULTIMEMBER effect-type only] Specifies that for each observation, the entries in the design matrix that corresponds to the multimember effect be scaled to have a sum of 1.\",\"type\":\"standalone\"},{\"name\":\"WEIGHT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"\",\"help\":\"WEIGHT=*wght-list*\",\"type\":\"value\"}]},{\"name\":\"FREQ\",\"description\":\"The variable in the FREQ statement identifies a numeric variable in the data set that contains the frequency of occurrence of each observation. PROC REGSELECT treats each observation as if it appears f times, where f is the value of the FREQ variable for the observation. If f is not an integer, it is truncated to an integer. If f is less than 1 or missing, the observation is not used in the analysis. When the FREQ statement is not specified, each observation is assigned a frequency of 1.\",\"help\":\"FREQ variable \"},{\"name\":\"MODEL\",\"description\":\"The MODEL statement names the dependent variable and the explanatory effects, including covariates, main effects, interactions, and nested effects. If you omit the explanatory effects, the procedure fits an intercept-only model. After the keyword MODEL, the dependent (response) variable is specified, followed by an equal sign. The explanatory effects follow the equal sign.\",\"help\":\"MODEL &lt;CLB&gt;&lt;INCLUDE=n | INCLUDE=single-effect | INCLUDE=(effect-list)&gt;&lt;INFORMATIVE&gt; ...\",\"arguments\":[{\"name\":\"CLB\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Constructs confidence limits for each of the parameter estimates. The confidence level is 0.95 by default; you can change it by specifying the ALPHA= option.\",\"type\":\"standalone\"},{\"name\":\"INCLUDE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Forces effects to be included in all models. If you specify INCLUDE=n, then the first n effects that are listed in the MODEL statement are included in all models. If you specify INCLUDE=single-effect or if you specify a list of effects within parentheses, then the specified effects are forced into all models. The effects that you specify in the INCLUDE= option must be explanatory effects that are specified in the MODEL statement before the slash (/).\",\"type\":\"value\"},{\"name\":\"INFORMATIVE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Models missing values by using extra model effects. These effects consist of dummy variables that take the value 1 when the value of a continuous model variable involved in the effect is missing, and take the value 0 otherwise. The missing value in the original model effect is replaced by the average value of the effect for the nonmissing values. For continuous-by-class effects, such as A*x, where A is a classification variable and x is a continuous variable, informative missingness creates multiple dummy columns and substitutes the effect mean of x that corresponds to the respective level of A. Missing values for classification variables are treated as valid levels.\",\"type\":\"standalone\"},{\"name\":\"NOINT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that no intercept be included in the model. An intercept is included by default. The NOINT option is not available in multinomial models.\",\"type\":\"standalone\"},{\"name\":\"SS3\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays a “Model Anova” table that contains tests computed with Type III sums of squares for each effect.\",\"type\":\"standalone\"},{\"name\":\"START=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Begins the selection process from the designated initial model for the forward selection method. If you specify START=n, then the starting model includes the first n effects that are listed in the MODEL statement. If you specify START=single-effect or START=(effects), then the starting model includes those specified effects. The effects that you specify in the START= option must be explanatory effects that are specified in the MODEL statement before the slash (/). This option is not available when you specify METHOD=BACKWARD in the SELECTION statement.\",\"type\":\"value\"},{\"name\":\"STB\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Produces standardized regression coefficients. A standardized regression coefficient is computed by dividing a parameter estimate by the ratio of the sample standard deviation of the dependent variable to the sample standard deviation of the regressor.\",\"type\":\"standalone\"},{\"name\":\"TOL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Produces tolerance values for the estimates. Tolerance for a parameter is defined as 1 􀀀 R2, where R2 is obtained from the regression of the parameter on all other parameters in the model. This option is not supported when you specify METHOD=LAR or METHOD=LASSO in the SELECTION statement.\",\"type\":\"standalone\"},{\"name\":\"VIF\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Produces variance inflation factors along with the parameter estimates. Variance inflation is the reciprocal of tolerance. The VIF option is not supported when you specify METHOD=LAR or METHOD=LASSO in the SELECTION statement.\",\"type\":\"standalone\"}]},{\"name\":\"OUTPUT\",\"description\":\"however, variables that you specify in the COPYVARS= option are included.\",\"help\":\"OUTPUT &lt;COPYVAR=variable | COPYVARS=(variables)&gt;&lt;OUT=CAS-libref.data-table&gt;&lt;PREDICTED|PRED|PROB|P&lt; =name &gt;&gt; ...\",\"arguments\":[{\"name\":\"COOKD\",\"optional\":true,\"description\":\"Requests the Cook’s D influence statistic.\",\"type\":\"standalone\"},{\"name\":\"COPYVAR=\",\"optional\":true,\"aliases\":[\"COPYVARS=\"],\"description\":\"Lists one or more variables from the input data table that are transferred to the scored output data table, provided that the output data table produces one or more records per input observation. By default, the KCLUS procedure does not transfer any variables from the input data table to the output data table. The COPYVARS= option accepts numeric and character variables.\",\"type\":\"value\"},{\"name\":\"COVRATIO\",\"optional\":true,\"description\":\"Requests the standard influence of observation on covariance of betas.\",\"type\":\"standalone\"},{\"name\":\"DFFIT\",\"optional\":true,\"description\":\"Requests the standard influence of observation on predicted value.\",\"type\":\"standalone\"},{\"name\":\"H\",\"optional\":true,\"description\":\"Requests the veverage, xi (X'X)- x'i.\",\"type\":\"standalone\"},{\"name\":\"LCL\",\"optional\":true,\"description\":\"Requests the lower bound of a 100 (1- α)% confidence interval for an individual prediction. This includes the variance of the error and the variance of the parameter estimates.\",\"type\":\"standalone\"},{\"name\":\"LCLM\",\"optional\":true,\"description\":\"Requests the Lower bound of a 100 (1- α)% confidence interval for the expected value (mean) of the dependent variable.\",\"type\":\"standalone\"},{\"name\":\"LIKEDIST\",\"optional\":true,\"description\":\"Requests the likelihood displacement, which measures the change in the error sum of squares when the current observation is deleted.\",\"type\":\"standalone\"},{\"name\":\"OUT=\",\"optional\":true,\"description\":\"names the output data table for PROC REGSELECT to use. CAS-libref.data-table is a two-level name, where CAS-libref refers to a collection of information that is defined in the LIBNAME statement and includes the caslib, which includes a path to where the data table is to be stored, and a session identifier, which defaults to the active session but which can be explicitly defined in the LIBNAME statement.\",\"help\":\"OUT=*CAS-libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"PREDICTED\",\"optional\":true,\"aliases\":[\"PRED\",\"PROB\"],\"description\":\"Requests the predicted values for the response variable. The default is Pred.\",\"type\":\"standalone\"},{\"name\":\"PRESS\",\"optional\":true,\"description\":\"Requests the ith residual divided by (1 - h), where h is the leverage and where the model has been refit without the ith observation.\",\"type\":\"standalone\"},{\"name\":\"RESIDUAL\",\"optional\":true,\"aliases\":[\"RESID\"],\"description\":\"Requests the residual, calculated as ACTUAL – PREDICTED. The default is Residual.\",\"type\":\"standalone\"},{\"name\":\"RSTUDENT\",\"optional\":true,\"description\":\"Requests a studentized residual with the current observation deleted.\",\"type\":\"standalone\"},{\"name\":\"STDI\",\"optional\":true,\"description\":\"Requests the standard error of the individual predicted value.\",\"type\":\"standalone\"},{\"name\":\"STDP\",\"optional\":true,\"description\":\"Requests the standard error of the mean predicted value.\",\"type\":\"standalone\"},{\"name\":\"STDR\",\"optional\":true,\"description\":\"Requests the standard error of the residual.\",\"type\":\"standalone\"},{\"name\":\"STUDENT\",\"optional\":true,\"description\":\"Requests the studentized residuals, which are the residuals divided by their standard errors.\",\"type\":\"standalone\"},{\"name\":\"UCL\",\"optional\":true,\"description\":\"Requests the upper bound of a 100 (1- α)% confidence interval for an individual prediction.\",\"type\":\"standalone\"},{\"name\":\"UCLM\",\"optional\":true,\"description\":\"Requests the upper bound of a 100 (1- α)% confidence interval for the expected value (mean) of the dependent variable\",\"type\":\"standalone\"}]},{\"name\":\"PARTITION\",\"description\":\"The PARTITION statement specifies how observations in the input data set are logically partitioned into disjoint subsets for model training, validation, and testing.\",\"help\":\"PARTITION &lt;FRACTION(&lt; TEST=fraction &gt; &lt; VALIDATE=fraction &gt; &lt; SEED=number &gt;)&gt;&lt;ROLE=|ROLEVAR=variable (&lt; TEST='value' &gt; &lt; TRAIN='value' &gt; &lt; VALIDATE='value' &gt;)&gt;\",\"arguments\":[{\"name\":\"FRACTION=\",\"optional\":true,\"description\":\"Randomly assigns specified proportions of the observations in the input data table to the roles. You specify the proportions for testing and validation by using the TEST= and VALIDATE= suboptions. If you specify both the TEST= and VALIDATE= suboptions, then the sum of the specified fractions must be less than 1 and the remaining fraction of the observations are assigned to the training role. The SEED= option specifies an integer that is used to start the pseudorandom number generator for random partitioning of data for training, testing, and validation. If you do not specify SEED=number or if number is less than or equal to 0, the seed is generated by reading the time of day from the computer’s clock.\",\"help\":\"FRACTION=VALIDATE= | TEST= | SEED=\",\"type\":\"choice\",\"arguments\":[{\"name\":\"VALIDATE=\",\"type\":\"value\"},{\"name\":\"TEST=\",\"type\":\"value\"},{\"name\":\"SEED=\",\"type\":\"value\"}]},{\"name\":\"ROLE=\",\"optional\":true,\"aliases\":[\"ROLEVAR=\"],\"description\":\"Names the variable in the input data table whose values are used to assign roles to each observation. This variable cannot also appear as an analysis variable in other statements or options. The TEST=, TRAIN=, and VALIDATE= suboptions specify the formatted values of this variable that are used to assign observation roles. If you do not specify the TRAIN= suboption, then all observations whose role is not determined by the TEST= or VALIDATE= suboption are assigned to the training role.\",\"help\":\"ROLE=TRAIN= | VALIDATE= | TEST=\",\"type\":\"choice\",\"arguments\":[{\"name\":\"TRAIN=\",\"type\":\"value\"},{\"name\":\"VALIDATE=\",\"type\":\"value\"},{\"name\":\"TEST=\",\"type\":\"value\"}]}]},{\"name\":\"SELECTION\",\"description\":\"The SELECTION statement performs model selection by examining whether effects should be added to or removed from the model according to rules that are defined by model selection methods.\",\"help\":\"SELECTION &lt;ADAPTIVE &lt;(GAMMA=nonnegative number)&gt;&gt;&lt;CHOOSE=&lt;AIC | AICC | SBC&gt;&gt;&lt;METHOD=&lt;BACKWARD | FORWARD | FORWARDSWAP&gt;... &gt; ...\",\"arguments\":[{\"name\":\"ADAPTIVE=\",\"optional\":true,\"description\":\"Applies adaptive weights to each of the coefficients when METHOD=LASSO. Ordinary least squares estimates of the model parameters are used to form the adaptive weights. You use the GAMMA= option to specify the power transformation that is applied to the parameters in forming the adaptive weights. By default, GAMMA=1.\",\"help\":\"ADAPTIVE=GAMMA=\",\"type\":\"choice\",\"arguments\":[{\"name\":\"GAMMA=\",\"type\":\"value\"}]},{\"name\":\"CHOOSE=\",\"optional\":true,\"description\":\"Chooses from the list of models (at each step of the selection process) the model that yields the best value of the specified criterion.\",\"help\":\"CHOOSE=AIC | AICC | SBC\",\"type\":\"choice\",\"arguments\":[{\"name\":\"AIC\",\"description\":\"Specifies Akaike’s information criterion.\",\"type\":\"standalone\"},{\"name\":\"AICC\",\"description\":\"Specifies the corrected Akaike’s information criterion.\",\"type\":\"standalone\"},{\"name\":\"SBC\",\"description\":\"Specifies the Schwarz Bayesian information criterion.\",\"type\":\"standalone\"}]},{\"name\":\"COMPETITIVE\",\"optional\":true,\"description\":\"[method-option to be enclosed in parenthesis] Is applicable as a method-option only when METHOD=STEPWISE. If you specify the COMPETITIVE option, then the SELECT= criterion is evaluated for all models in which an effect currently in the model is dropped or an effect not yet in the model is added.\",\"type\":\"standalone\"},{\"name\":\"DETAILS=\",\"optional\":true,\"description\":\"Specifies the level of detail to be produced about the selection process. The default is DETAILS= SUMMARY.\",\"help\":\"DETAILS=SUMMARY | STEPS | ALL | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"SUMMARY\",\"description\":\"Produces a summary table that shows the effect that is added or removed at each step along with the criteria specified in the SELECT=, CHOOSE=, and STOP= method-options. The summary table is produced by default if you do not specify the DETAILS= option.\",\"type\":\"standalone\"},{\"name\":\"STEPS\",\"description\":\"Syntax: DETAILS=STEPS<(CANDIDATES(ALL | n))> Produces the preceding summary table and displays the results from fitting each model at each step. If you specify STEPS(CANDIDATES(n)), then the best n candidates are shown. If you specify STEPS(CANDIDATES(ALL)), then all candidates are shown.\",\"type\":\"standalone\"},{\"name\":\"ALL\",\"description\":\"Produces the preceding tables and a detailed listing of all candidates at each step along with their ranking in terms of the selection criterion for addition to or removal from the model.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"Specifies that no details be produced about the selection process.\",\"type\":\"standalone\"}]},{\"name\":\"FAST\",\"optional\":true,\"description\":\"[method-option to be enclosed in parenthesis] Implements the computational algorithm of Lawless and Singhal (1978) to compute a first-order approximation to the remaining slope estimates for each subsequent elimination of a variable from the model. When applied in backward selection, this option essentially leads to approximating the selection process as the selection process of a linear regression model in which the crossproducts matrix equals the Hessian matrix in the full model under consideration. This option is available only when METHOD=BACKWARD is specified. It is computationally efficient because the model is not fit after removal of each effect.\",\"type\":\"standalone\"},{\"name\":\"HIERARCHY=\",\"optional\":true,\"description\":\"Specifies whether and how the model hierarchy requirement is applied. You can specify that only classification effects, or both classification and continuous effects, be subject to the hierarchy requirement. This option is ignored unless you also specify one of the following options: METHOD=FORWARD, METHOD=BACKWARD, or METHOD=STEPWISE.\",\"help\":\"HIERARCHY=NONE | SINGLE | SINGLECLASS\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NONE\",\"description\":\"Specifies that model hierarchy not be maintained. Any single effect can enter or leave the model at any step of the selection process.\",\"type\":\"standalone\"},{\"name\":\"SINGLE\",\"description\":\"Specifies that only one effect enter or leave the model at one time, subject to the model hierarchy requirement.\",\"type\":\"standalone\"},{\"name\":\"SINGLECLASS\",\"description\":\"Is the same as HIERARCHY=SINGLE except that only CLASS effects are subject to the hierarchy requirement.\",\"type\":\"standalone\"}]},{\"name\":\"LSCOEFFS\",\"optional\":true,\"description\":\"[method-option to be enclosed in parenthesis] Requests a hybrid version of the LAR and LASSO methods, in which the sequence of models is determined by the LAR or LASSO algorithm but the coefficients of the parameters for the model at any step are determined by using ordinary least squares.\",\"type\":\"standalone\"},{\"name\":\"MAXEFFECTS=\",\"optional\":true,\"description\":\"Specifies the maximum number of effects in any model that is considered during the selection process. This option is ignored when METHOD=BACKWARD is specified.\",\"help\":\"MAXEFFECTS=*n*\",\"type\":\"value\"},{\"name\":\"MAXSTEPS=\",\"optional\":true,\"description\":\"Specifies the maximum number of selection steps that are performed. The default value of n is the number of effects in the SCALEMODEL or MODEL statement when METHOD=FORWARD or METHOD=BACKWARD.\",\"help\":\"MAXSTEPS=*n*\",\"type\":\"value\"},{\"name\":\"METHOD=\",\"optional\":true,\"aliases\":[\"SELECTION=\"],\"description\":\"Specifies the selection method to use.\",\"help\":\"METHOD=BACKWARD | FORWARD | FORWARDSWAP | STEPWISE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"BACKWARD\",\"description\":\"Specifies the backward elimination method.\",\"type\":\"standalone\"},{\"name\":\"FORWARD\",\"description\":\"Specifies the forward selection method.\",\"type\":\"standalone\"},{\"name\":\"FORWARDSWAP\",\"description\":\"Specifies forward-swap selection, which is an extension of the forward selection method.\",\"type\":\"standalone\"},{\"name\":\"STEPWISE\",\"description\":\"specifies the stepwise regression method.\",\"type\":\"standalone\"}]},{\"name\":\"MINEFFECTS=\",\"optional\":true,\"description\":\"Specifies the minimum number of effects in any model that is considered during backward selection. This option is ignored unless METHOD=BACKWARD is specified.\",\"help\":\"MINEFFECTS=*n*\",\"type\":\"value\"},{\"name\":\"ORDERSELECT\",\"optional\":true,\"description\":\"Specifies that effects in the selected model are displayed in the order in which they first entered the model. If you do not specify the ORDERSELECT option, then effects in the selected model are displayed in the order in which they appear in the MODEL statement.\",\"type\":\"standalone\"},{\"name\":\"PLOT=\",\"optional\":true,\"aliases\":[\"PLOTS=\"],\"description\":\"Controls the selection process plots that are produced through ODS Graphics. Each global-plot-option applies to all plots that the SELECTION statement generates, unless you alter the option by using a specific plot option that follows a plot-request. You can specify the following global-plot-options:\",\"help\":\"PLOT=ALL | COEFFICIENTS | CRITERIA | FITBYROLE  | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ALL\",\"description\":\"produces all relevant plots.\",\"type\":\"standalone\"},{\"name\":\"COEFFICIENTS\",\"description\":\"Syntax: COEFFICIENTS | COEFFICIENTPANEL <(UNPACK | UNPACKPANEL)> Creates a panel of two plots. The upper plot shows the progression of the parameter values as the selection process proceeds. The lower plot shows the progression of the CHOOSE= criterion.\",\"type\":\"standalone\"},{\"name\":\"CRITERIA\",\"description\":\"Syntax: CRITERIA | CRITERIONPANEL <(UNPACK | UNPACKPANEL)> Creates a panel of model fit criteria. If you specify the UNPACK option, then each criterion progression is shown in a separate plot.\",\"type\":\"standalone\"},{\"name\":\"FITBYROLE\",\"description\":\"Plots the progression of a fit statistic on the training, test, and validation data. The fit statistic that is displayed depends on the type of model that is being fit. The fit by role plot is not produced if you do not specify a PARTITION statement.\",\"help\":\"FITBYROLE \",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"Suppress all selection process plots, even if you specify other plot options.\",\"type\":\"standalone\"}]},{\"name\":\"SELECT=\",\"optional\":true,\"aliases\":[\"CRITERION=\"],\"description\":\"Specifies the criterion that the procedure uses to determine the order in which effects enter or leave at each step of the selection method. For each step, the effect whose addition to or removal from the current model yields the maximum improvement in the specified criterion is selected. You can use the traditional significance-level approach by specifying the SL criterion; for other supported criteria, see the chapter for the relevant procedure. This option is not valid when METHOD=LAR or METHOD=LASSO.\",\"help\":\"SELECT=AIC | AICC | SBC\",\"type\":\"choice\",\"arguments\":[{\"name\":\"AIC\",\"description\":\"Specifies Akaike’s information criterion.\",\"type\":\"standalone\"},{\"name\":\"AICC\",\"description\":\"Specifies the corrected Akaike’s information criterion.\",\"type\":\"standalone\"},{\"name\":\"SBC\",\"description\":\"Specifies the Schwarz Bayesian information criterion.\",\"type\":\"standalone\"}]},{\"name\":\"SLENTRY=\",\"optional\":true,\"aliases\":[\"SLE=\"],\"description\":\"Specifies the significance level for entry when STOP=SL or SELECT=SL. By default, SLENTRY=0.05.\",\"type\":\"value\"},{\"name\":\"SLSTAY=\",\"optional\":true,\"aliases\":[\"SLS=\"],\"description\":\"Specifies the significance level for staying in the model when STOP=SL or SELECT=SL.\",\"type\":\"value\"},{\"name\":\"STOP=\",\"optional\":true,\"description\":\"Specifies a criterion that is used to stop the selection process.\",\"help\":\"STOP=SL | NONE | &lt;*criterion*&gt;\",\"type\":\"choice\",\"arguments\":[{\"name\":\"SL\",\"description\":\"Stops the selection process at the step where the significance level of the candidate for entry is greater than the SLENTRY= value for addition steps when METHOD=FORWARD or METHOD=STEPWISE and where the significance level of the candidate for removal is greater than the SLSTAY= value when METHOD=BACKWARD or METHOD=STEPWISE.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"Stops the selection process if no suitable add or drop candidates can be found or if a size-based limit is reached.\",\"type\":\"standalone\"},{\"name\":\"criterion\",\"placeholder\":true,\"description\":\"Stops the selection process if the selection process produces a local extremum of this criterion or if a size-based limit is reached.\",\"type\":\"value\"}]},{\"name\":\"STOPHORIZON=\",\"optional\":true,\"description\":\"Specifies the number of consecutive steps at which the STOP= criterion must worsen in order for a local extremum to be detected. The stop horizon value is ignored if you also specify STOP=NONE or STOP=SL. For example, suppose that STOP=AIC and the sequence of AIC values at steps 1 to 6 of a selection are 10, 7, 4, 6, 5, 2. If STOPHORIZON=2, then the AIC criterion is deemed to have a local minimum at step 3 because the AIC value at the next two steps are greater than the value 4 that occurs at step 3. However, if STOPHORIZON=3, then the value at step 3 is not deemed to be a local minimum because the AIC value at step 6 is lower than the AIC value at step 3. When METHOD=LAR or METHOD=LASSO, n is ignored and STOPHORIZON=1 is used. By default, STOPHORIZON=3.\",\"help\":\"STOPHORIZON=*n*\",\"type\":\"value\"}]},{\"name\":\"WEIGHT\",\"description\":\"The variable in the WEIGHT statement is used as a weight to perform a weighted analysis of the data. Observations that have nonpositive or missing weights are not included in the analysis. If a WEIGHT statement is not included, all observations that are used in the analysis are assigned a weight of 1.\",\"help\":\"WEIGHT variable\"}],\"supportSiteInformation\":{\"docsetId\":\"casstat\",\"docsetVersion\":\"latest\",\"docsetTargetFile\":\"casstat_regselect_toc.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/RELIABILITY.json",
    "content": "{\"name\":\"RELIABILITY\",\"statements\":[{\"name\":\"PROC RELIABILITY\",\"description\":\"BY variables; CLASS variables; DISTRIBUTION distribution-name; FMODE keyword = variable('value1' ... 'valuen'); FREQ variable; INSET keyword-list< options>; MAKE 'table' OUT=SAS-data-set < / options>; NENTER variable; UNITID variable; † The RELIABILITY procedure provides tools for reliability and survival data analysis and for recurrence data analysis. You can use this procedure to: † o construct probability plots and fitted life distributions with left-censored, right-censored, and interval-censored lifetime data o fit regression models, including accelerated life test models, to combinations of left-censored, right-censored, and interval-censored data o analyze recurrence data from repairable systems † These tools benefit reliability engineers and industrial statisticians working with product life data and system repair data. They also aid workers in other fields, such as medical research, pharmaceuticals, social sciences, and business, where survival and recurrence data are analyzed.\",\"help\":\"PROC RELIABILITY <DATA=SAS-data-set><GOUT=graphics-catalog><NAMELEN=n>;     \\n\\tANALYZE <CONFIDENCE=number><CONVERGE=value><CONVH=number> ...;\\n\\n\\tBY variable-names ;\\n\\n\\tCLASS variable-names ;\\n\\n\\tDISTRIBUTION <BINOMIAL><EXPONENTIAL><EXTREME> ...;\\n\\n\\tFMODE <LEGEND=><NOLEGEND><PLOTMODES> ...;\\n\\n\\tFREQ variable-name ;\\n\\n\\tINSET <CFILL=color | BLANK><CFILL=BLANK><CFILLH=color> ...;\\n\\n\\tLOGSCALE <INITIAL=number list><INTERCEPT=number < INTINIT >> ;\\n\\n\\tMAKE <'ConvergenceStatus'><'CorrMat'> OUT=SAS-data-set ...;\\n\\n\\tMCFPLOT <CAXIS=color><CCENSOR=color><CENBIN> ...;\\n\\n\\tMODEL <CONFIDENCE=number><CONVERGE=value><CONVH=number> ...;\\n\\n\\tNENTER variable ;\\n\\n\\tPROBPLOT <CAXIS=color><CCENSOR=color><CENBIN> ...;\\n\\n\\tRELATIONPLOT <CAXIS=color><CCENSOR=color><CENBIN> ...;\\n\\n\\tUNITID variable;\\n\",\"arguments\":[{\"name\":\"DATA=\",\"optional\":true,\"description\":\"Specifies an input data set.\",\"help\":\"DATA=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"GOUT=\",\"optional\":true,\"description\":\"Specifies a catalog for saving graphical output.\",\"help\":\"GOUT=*graphics-catalog*\",\"type\":\"dataSet\"},{\"name\":\"NAMELEN=\",\"optional\":true,\"description\":\"Specifies the length of effect names in tables and output data sets to be n characters long, where n is a value between 20 and 200 characters. The default length is 20 characters.\",\"help\":\"NAMELEN=*n*\",\"type\":\"value\"}]},{\"name\":\"ANALYZE\",\"description\":\"You use the ANALYZE statement to estimate the parameters of the probability distribution specified in the DISTRIBUTION statement without producing any graphical output.\",\"help\":\"ANALYZE &lt;CONFIDENCE=number&gt;&lt;CONVERGE=value&gt;&lt;CONVH=number&gt; ...\",\"arguments\":[{\"name\":\"CONFIDENCE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the confidence coefficient for all confidence intervals. Specify a number between 0 and 1. The default value is 0.95.\",\"help\":\"CONFIDENCE=*number*\",\"type\":\"value\"},{\"name\":\"CONVERGE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Sets the convergence criterion for maximum likelihood fit.\",\"help\":\"CONVERGE=*value*\",\"type\":\"value\"},{\"name\":\"CONVH=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the convergence criterion for the relative Hessian convergence criterion.\",\"help\":\"CONVH=*number*\",\"type\":\"value\"},{\"name\":\"COORB\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests parameter correlation matrix.\",\"type\":\"standalone\"},{\"name\":\"COVB\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests parameter covariance matrix.\",\"type\":\"standalone\"},{\"name\":\"FITTYPE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"FIT=\"],\"description\":\"Specifies method of estimating distribution parameters.\",\"help\":\"FITTYPE=LSYX | LSXY | MLE | MODEL | NONE | WEIBAYES&lt;(CONFIDENCE=number)&gt;\",\"type\":\"choice\",\"arguments\":[{\"name\":\"LSYX\",\"followsDelimiter\":\"/\",\"description\":\"Least squares fit to the probability plot. The probability axis is the dependent variable.\",\"type\":\"standalone\"},{\"name\":\"LSXY\",\"followsDelimiter\":\"/\",\"description\":\"Least squares fit to the probability plot. The lifetime axis is the dependent variable.\",\"type\":\"standalone\"},{\"name\":\"MLE\",\"followsDelimiter\":\"/\",\"description\":\"Maximum likelihood (default)\",\"type\":\"standalone\"},{\"name\":\"MODEL\",\"followsDelimiter\":\"/\",\"description\":\"Uses the fit from the preceding MODEL statement.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"followsDelimiter\":\"/\",\"description\":\"No fit is computed.\",\"type\":\"standalone\"},{\"name\":\"WEIBAYES\",\"followsDelimiter\":\"/\",\"description\":\"Weibayes method, where number is the confidence coefficient for the Weibayes fit and is between 0 and 1. The default value is 0.95.\",\"help\":\"WEIBAYES&lt;(CONFIDENCE=number)&gt;\",\"type\":\"value\"}]},{\"name\":\"ITPRINT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests iteration history for maximum likelihood fit.\",\"type\":\"standalone\"},{\"name\":\"ITPRINTEM\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests iteration history for the Turnbull algorithm.\",\"type\":\"standalone\"},{\"name\":\"LOCATION=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies fixed or initial value of the location, or intercept parameter.\",\"type\":\"value\"},{\"name\":\"LRCL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests likelihood ratio confidence intervals for distribution parameters.\",\"type\":\"standalone\"},{\"name\":\"LRCLPER\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests likelihood ratio confidence intervals for distribution percentiles.\",\"type\":\"standalone\"},{\"name\":\"MAXIT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies maximum number of iterations allowed for maximum likelihood fit.\",\"help\":\"MAXIT=*n*\",\"type\":\"value\"},{\"name\":\"MAXITEREM=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"MAXITEM=\"],\"description\":\"Specifies the maximum number of iterations allowed for the Turnbull algorithm. Iteration history will be displayed in increments of n2 if requested with the ITPRINTEM option.\",\"type\":\"value\"},{\"name\":\"NOPCTILES\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Suppresses computation of percentiles for standard list of percentage points.\",\"type\":\"standalone\"},{\"name\":\"NOPOLISH\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Suppresses setting small interval probabilities to zero in the Turnbull algorithm.\",\"type\":\"standalone\"},{\"name\":\"PCTLIST=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the list of percentages for which to compute percentile estimates; value-list must be a list of values separated by blanks or commas. Each value in the list must be between 0 and 100.\",\"help\":\"PCTLIST=*value-list*\",\"type\":\"value\"},{\"name\":\"PPOS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the plotting position type.\",\"help\":\"PPOS=EXPRANK | MEDRANK | MEDRANK1 | KM | MKM\",\"type\":\"choice\",\"arguments\":[{\"name\":\"EXPRANK\",\"followsDelimiter\":\"/\",\"description\":\"Expected ranks\",\"type\":\"standalone\"},{\"name\":\"MEDRANK\",\"followsDelimiter\":\"/\",\"description\":\"Median ranks\",\"type\":\"standalone\"},{\"name\":\"MEDRANK1\",\"followsDelimiter\":\"/\",\"description\":\"Median ranks (exact formula)\",\"type\":\"standalone\"},{\"name\":\"KM\",\"followsDelimiter\":\"/\",\"description\":\"Kaplan-Meier\",\"type\":\"standalone\"},{\"name\":\"MKM\",\"followsDelimiter\":\"/\",\"description\":\"Modified Kaplan-Meier (default)\",\"type\":\"standalone\"}]},{\"name\":\"PPOUT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies that a table of the cumulative probabilities plotted on the probability plot be displayed.\",\"type\":\"standalone\"},{\"name\":\"PREDICT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests predicted counts for exposure number for Poisson or sample size number for binomial.\",\"type\":\"standalone\"},{\"name\":\"PRINTPROBS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Prints intervals and associated probabilities for the Turnbull algorithm.\",\"type\":\"standalone\"},{\"name\":\"PSTABLE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies stable parameterization. The number must be between zero and one.\",\"help\":\"PSTABLE=*number*\",\"type\":\"value\"},{\"name\":\"READOUT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Analyzes data in readout structure. The FREQ statement must be used to specify the number of units failing in each interval, and the NENTER statement must be used to specify the number of unfailed units entering each interval.\",\"type\":\"standalone\"},{\"name\":\"SCALE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies fixed or initial value of scale parameter.\",\"type\":\"value\"},{\"name\":\"SHAPE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies fixed or initial value of shape parameter.\",\"type\":\"value\"},{\"name\":\"SINGULAR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies singularity criterion for matrix inversion.\",\"help\":\"SINGULAR=*number*\",\"type\":\"value\"},{\"name\":\"SURVTIME=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that the survival function, cumulative distribution function, and confidence limits be computed for values in number-list\",\"help\":\"SURVTIME=*number-list*\",\"type\":\"value\"},{\"name\":\"THRESHOLD=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies a fixed threshold parameter.\",\"help\":\"THRESHOLD=*number*\",\"type\":\"value\"},{\"name\":\"TOLERANCE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests exposure for Poisson or sample size for binomial to estimate Poisson rate or binomial probability within number with probability given by the CONFIDENCE= option.\",\"type\":\"standalone\"},{\"name\":\"TOLLIKE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies criterion for convergence in the Turnbull algorithm. Default is 10⁻⁸.\",\"help\":\"TOLLIKE=*number*\",\"type\":\"value\"},{\"name\":\"TOLPROB=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies criterion for setting interval probability to zero in the Turnbull algorithm. Default is 10⁻⁶.\",\"help\":\"TOLPROB=*number*\",\"type\":\"value\"}]},{\"name\":\"BY\",\"description\":\"You can specify a BY statement with PROC RELIABILITY to obtain separate analyses on observations in groups defined by the BY variables. When a BY statement appears, the procedure expects the input data set to be sorted in order of the BY variables.\",\"help\":\"BY variable-names \"},{\"name\":\"CLASS\",\"description\":\"The CLASS statement specifies variables in the input data set that serve as indicator, dummy, or classification variables in the MODEL statement.\",\"help\":\"CLASS variable-names \"},{\"name\":\"DISTRIBUTION\",\"description\":\"\",\"help\":\"DISTRIBUTION &lt;BINOMIAL&gt;&lt;EXPONENTIAL&gt;&lt;EXTREME&gt; ...\",\"arguments\":[{\"name\":\"BINOMIAL\",\"optional\":true,\"description\":\"Binomial distribution\",\"type\":\"standalone\"},{\"name\":\"EXPONENTIAL\",\"optional\":true,\"description\":\"[Exponential distribution\",\"type\":\"standalone\"},{\"name\":\"EXTREME\",\"optional\":true,\"aliases\":[\"EV\"],\"description\":\"Extreme value distribution\",\"type\":\"standalone\"},{\"name\":\"GAMMA\",\"optional\":true,\"description\":\"Generalized gamma distribution\",\"type\":\"standalone\"},{\"name\":\"LLOGISTIC\",\"optional\":true,\"aliases\":[\"LLOGIT\"],\"description\":\"Loglogistic distribution\",\"type\":\"standalone\"},{\"name\":\"LOGISTIC\",\"optional\":true,\"aliases\":[\"LOGIT\"],\"description\":\"Logistic distribution\",\"type\":\"standalone\"},{\"name\":\"LOGNORMAL10\",\"optional\":true,\"aliases\":[\"LNORM10\"],\"description\":\"Lognormal (base 10) distribution\",\"type\":\"standalone\"},{\"name\":\"LOGNORMAL\",\"optional\":true,\"aliases\":[\"LNORM\"],\"description\":\"Lognormal (base e) distribution\",\"type\":\"standalone\"},{\"name\":\"NORMAL\",\"optional\":true,\"description\":\"Normal distribution\",\"type\":\"standalone\"},{\"name\":\"POISSON\",\"optional\":true,\"description\":\"Poisson distribution\",\"type\":\"standalone\"},{\"name\":\"WEIBULL\",\"optional\":true,\"description\":\"Weibull distribution\",\"type\":\"standalone\"}]},{\"name\":\"FMODE\",\"description\":\"Use the FMODE statement with data that have failures attributable to multiple causes, or failure modes.\",\"help\":\"FMODE &lt;LEGEND=&gt;&lt;NOLEGEND&gt;&lt;PLOTMODES&gt; ...\",\"arguments\":[{\"name\":\"LEGEND=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies a LEGEND statement for individual mode fit lines.\",\"type\":\"value\"},{\"name\":\"NOLEGEND\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Suppresses legend for individual mode fit lines.\",\"type\":\"standalone\"},{\"name\":\"PLOTMODES\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Plots individual failure distribution lines on probability plot.\",\"type\":\"standalone\"}]},{\"name\":\"FREQ\",\"description\":\"The FREQ statement specifies a variable that provides frequency counts for each observation in the input data set. If n is the value of the FREQ variable for an observation, then that observation is weighted by n.\",\"help\":\"FREQ variable-name \"},{\"name\":\"INSET\",\"description\":\"The box or table of summary information produced on plots made with the PROBPLOT or MCFPLOT statement is called an inset. You can use the INSET statement to customize the information that is printed in the inset box and the appearance of the inset box.\",\"help\":\"INSET &lt;CFILL=color | BLANK&gt;&lt;CFILL=BLANK&gt;&lt;CFILLH=color&gt; ...\",\"arguments\":[{\"name\":\"N\",\"description\":\"Sample size\",\"type\":\"standalone\"},{\"name\":\"NUNITS1\",\"description\":\"Number of units or systems in the first group for MCF difference plots\",\"type\":\"standalone\"},{\"name\":\"CFILL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the color of the background (including the header background if you do not specify the CFILLH= option). CFILL=BLANK leaves the background uncolored and prevents items from showing through the inset.\",\"help\":\"CFILL=*color*\",\"type\":\"color\"},{\"name\":\"CFILL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Leaves the background uncolored and prevents items from showing through the inset.\",\"help\":\"CFILL=BLANK\",\"type\":\"value\"},{\"name\":\"CFILLH=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the color of the header background. By default, if you do not specify a CFILLH= color, the CFILL= color is used.\",\"help\":\"CFILLH=*color*\",\"type\":\"color\"},{\"name\":\"CFRAME=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the color of the frame. By default, the frame is the same color as the axis of the plot.\",\"help\":\"CFRAME=*color*\",\"type\":\"color\"},{\"name\":\"CHEADER=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the color of the header text. By default, if you do not specify a CHEADER= color, the CTEXT= color is used.\",\"help\":\"CHEADER=*color*\",\"type\":\"color\"},{\"name\":\"CONFIDENCE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Confidence coefficient for all confidence intervals or for the Weibayes fit\",\"type\":\"standalone\"},{\"name\":\"CTEXT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the color of the text. By default, the inset text color is the same as the other text on the plot.\",\"help\":\"CTEXT=*color*\",\"type\":\"color\"},{\"name\":\"FIT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Method used to estimate distribution parameters for probability plots\",\"type\":\"standalone\"},{\"name\":\"FONT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the font of the text. By default, the font is SIMPLEX if the inset is located in the interior of the plot, and the font is the same as the other text displayed on the plot if the inset is located in the exterior of the plot.\",\"help\":\"FONT=*font*\",\"type\":\"value\"},{\"name\":\"HEADER=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the header or box title text. The string cannot exceed 40 characters.\",\"type\":\"value\"},{\"name\":\"HEIGHT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the height of the text in screen percent units.\",\"help\":\"HEIGHT=*value*\",\"type\":\"value\"},{\"name\":\"NEVENTS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Number of events or repairs for MCF plots\",\"type\":\"standalone\"},{\"name\":\"NEVENTS1\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Number of events or repairs in the first group for MCF difference plots\",\"type\":\"standalone\"},{\"name\":\"NFAIL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Number of failures for probability plots\",\"type\":\"standalone\"},{\"name\":\"NOFRAME\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Suppresses the frame drawn around the text.\",\"type\":\"standalone\"},{\"name\":\"NUNITS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Number of units or systems for MCF plots\",\"type\":\"standalone\"},{\"name\":\"NUNITS2\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Number of units or systems in the second group for MCF difference plots\",\"type\":\"standalone\"},{\"name\":\"POS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Determines the position of the inset. The position can be a compass point keyword, a margin keyword, or a pair of coordinates (x,y). You can specify coordinates in axis percent units or axis data units.\",\"type\":\"value\"},{\"name\":\"REFPOINT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the reference point for an inset that is positioned by a pair of coordinates with the POSITION= option.\",\"help\":\"REFPOINT=BR | BL | TR | TL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"BR\",\"followsDelimiter\":\"/\",\"description\":\"Bottom right\",\"type\":\"standalone\"},{\"name\":\"BL\",\"followsDelimiter\":\"/\",\"description\":\"Bottom left\",\"type\":\"standalone\"},{\"name\":\"TR\",\"followsDelimiter\":\"/\",\"description\":\"Top right\",\"type\":\"standalone\"},{\"name\":\"TL\",\"followsDelimiter\":\"/\",\"description\":\"Top left\",\"type\":\"standalone\"}]},{\"name\":\"RSQUARE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"R² for least squares distribution fit to probability plots\",\"type\":\"standalone\"}]},{\"name\":\"LOGSCALE\",\"description\":\"You use the LOGSCALE statement to model the logarithm of the distribution scale parameter as a function of explanatory variables.\",\"help\":\"LOGSCALE &lt;INITIAL=number list&gt;&lt;INTERCEPT=number &lt; INTINIT &gt;&gt;\",\"arguments\":[{\"name\":\"INITIAL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies initial values for log-scale regression parameters other than the intercept term.\",\"type\":\"value\"},{\"name\":\"INTERCEPT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies initial or fixed value of the intercept parameter, depending on whether INTINIT is present.\",\"type\":\"value\"}]},{\"name\":\"MAKE\",\"description\":\"The MAKE statement creates a SAS data set from any of the tables produced by the RELIABILITY procedure.\",\"help\":\"MAKE &lt;'ConvergenceStatus'&gt;&lt;'CorrMat'&gt; OUT=SAS-data-set ...\",\"arguments\":[{\"name\":\"OUT=\",\"description\":\"Specifies the output data set.\",\"help\":\"OUT=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"'ClassLevels'\",\"optional\":true,\"description\":\"Class level information table\",\"type\":\"standalone\"},{\"name\":\"'ConvergenceStatus'\",\"optional\":true,\"description\":\"Convergence status table\",\"type\":\"standalone\"},{\"name\":\"'CorrMat'\",\"optional\":true,\"description\":\"Parameter correlation matrix table\",\"type\":\"standalone\"},{\"name\":\"'CovMat'\",\"optional\":true,\"description\":\"Parameter covariance matrix table\",\"type\":\"standalone\"},{\"name\":\"'DatSum'\",\"optional\":true,\"description\":\"Summary of fit table\",\"type\":\"standalone\"},{\"name\":\"'GradHess'\",\"optional\":true,\"description\":\"Last evaluation of parameters, gradient, and Hessian table\",\"type\":\"standalone\"},{\"name\":\"'IterEM'\",\"optional\":true,\"description\":\"Iteration history for Turnbull algorithm table\",\"type\":\"standalone\"},{\"name\":\"'IterLRParm'\",\"optional\":true,\"description\":\"Iteration history for likelihood ratio confidence intervals for parameters table\",\"type\":\"standalone\"},{\"name\":\"'IterLRPer'\",\"optional\":true,\"description\":\"Iteration history for likelihood ratio confidence intervals for percentiles table\",\"type\":\"standalone\"},{\"name\":\"'IterParms'\",\"optional\":true,\"description\":\"Iteration history for parameter estimates table\",\"type\":\"standalone\"},{\"name\":\"'Lagrange'\",\"optional\":true,\"description\":\"Lagrange multiplier statistics table\",\"type\":\"standalone\"},{\"name\":\"'MConvergenceStatus'\",\"optional\":true,\"description\":\"Convergence status table\",\"type\":\"standalone\"},{\"name\":\"'McfDEst'\",\"optional\":true,\"description\":\"MCF difference estimates table\",\"type\":\"standalone\"},{\"name\":\"'McfDSum'\",\"optional\":true,\"description\":\"MCF difference data summary table\",\"type\":\"standalone\"},{\"name\":\"'McfEst'\",\"optional\":true,\"description\":\"MCF estimates table\",\"type\":\"standalone\"},{\"name\":\"'McfSum'\",\"optional\":true,\"description\":\"MCF data summary table\",\"type\":\"standalone\"},{\"name\":\"'ModCorMat'\",\"optional\":true,\"description\":\"Parameter correlation matrix table\",\"type\":\"standalone\"},{\"name\":\"'ModCovMat'\",\"optional\":true,\"description\":\"Parameter covariance matrix table\",\"type\":\"standalone\"},{\"name\":\"'ModFitSum'\",\"optional\":true,\"description\":\"Summary of fit table\",\"type\":\"standalone\"},{\"name\":\"'ModInfo'\",\"optional\":true,\"description\":\"Model information table\",\"type\":\"standalone\"},{\"name\":\"'ModIterLRparm'\",\"optional\":true,\"description\":\"Iteration history for likelihood ratio confidence intervals for parameters table\",\"type\":\"standalone\"},{\"name\":\"'ModIterParms'\",\"optional\":true,\"description\":\"Iteration history for parameter estimates table\",\"type\":\"standalone\"},{\"name\":\"'ModLagr'\",\"optional\":true,\"description\":\"Lagrange multiplier statistics table\",\"type\":\"standalone\"},{\"name\":\"'ModLastGradHess'\",\"optional\":true,\"description\":\"Last evaluation of the gradient and Hessian table\",\"type\":\"standalone\"},{\"name\":\"'ModNObs'\",\"optional\":true,\"description\":\"Observations summary table\",\"type\":\"standalone\"},{\"name\":\"'ModObstats'\",\"optional\":true,\"description\":\"Observation statistics table\",\"type\":\"standalone\"},{\"name\":\"'ModParmInfo'\",\"optional\":true,\"description\":\"Parameter information table\",\"type\":\"standalone\"},{\"name\":\"'ModPrmEst'\",\"optional\":true,\"description\":\"Parameter estimates table\",\"type\":\"standalone\"},{\"name\":\"'NObs'\",\"optional\":true,\"description\":\"Observations summary table\",\"type\":\"standalone\"},{\"name\":\"'PBEst'\",\"optional\":true,\"description\":\"Poisson/binomial estimates by group table\",\"type\":\"standalone\"},{\"name\":\"'PBPred'\",\"optional\":true,\"description\":\"Poisson/binomial predicted values table\",\"type\":\"standalone\"},{\"name\":\"'PBPredTol'\",\"optional\":true,\"description\":\"Poisson/binomial predicted values by group table\",\"type\":\"standalone\"},{\"name\":\"'PBSum'\",\"optional\":true,\"description\":\"Poisson/binomial analysis summary table\",\"type\":\"standalone\"},{\"name\":\"'PBTol'\",\"optional\":true,\"description\":\"Poisson/binomial tolerance estimates table\",\"type\":\"standalone\"},{\"name\":\"'PGradHess'\",\"optional\":true,\"description\":\"Last evaluation of parameters, gradient, and Hessian in terms of stable parameters table\",\"type\":\"standalone\"},{\"name\":\"'ParmEst'\",\"optional\":true,\"description\":\"Parameter estimates table\",\"type\":\"standalone\"},{\"name\":\"'ParmOther'\",\"optional\":true,\"description\":\"Fitted distribution mean, median, mode table\",\"type\":\"standalone\"},{\"name\":\"'PctEst'\",\"optional\":true,\"description\":\"Percentile estimates table\",\"type\":\"standalone\"},{\"name\":\"'ProbabilityEstimates'\",\"optional\":true,\"description\":\"Nonparametric cumulative distribution function estimates table\",\"type\":\"standalone\"},{\"name\":\"'RelInfo'\",\"optional\":true,\"description\":\"Model information table\",\"type\":\"standalone\"},{\"name\":\"'SurvEst'\",\"optional\":true,\"description\":\"Survival function estimates table\",\"type\":\"standalone\"},{\"name\":\"'TurnbullGrad'\",\"optional\":true,\"description\":\"Interval probabilities, reduced gradient, Lagrange multipliers for Turnbull algorithm table\",\"type\":\"standalone\"},{\"name\":\"'WCorrMat'\",\"optional\":true,\"description\":\"Parameter correlation matrix for Weibull distribution table\",\"type\":\"standalone\"},{\"name\":\"'WCovMat'\",\"optional\":true,\"description\":\"Parameter covariance matrix for Weibull distribution table\",\"type\":\"standalone\"}]},{\"name\":\"MCFPLOT\",\"description\":\"Creates a plot of the mean cumulative function. You can specify any number of MCFPLOT statements after a PROC RELIABILITY statement. Each MCFPLOT statement creates a separate MCF plot and associated analysis.\",\"help\":\"MCFPLOT &lt;CAXIS=color&gt;&lt;CCENSOR=color&gt;&lt;CENBIN&gt; ...\",\"arguments\":[{\"name\":\"CAXIS=\",\"optional\":true,\"description\":\"Specifies the color used for the axes and tick marks. This option overrides any COLOR= specifications in an AXIS statement. The default is the first color in the device color list.\",\"help\":\"CAXIS=*color*\",\"type\":\"color\"},{\"name\":\"CCENSOR=\",\"optional\":true,\"description\":\"Specifies the color for filling the censor plot area. The default is the first color in the device color list.\",\"help\":\"CCENSOR=*color*\",\"type\":\"color\"},{\"name\":\"CENBIN\",\"optional\":true,\"description\":\"Plots censored data as frequency counts (rounding for noninteger frequency) rather than as individual points.\",\"type\":\"standalone\"},{\"name\":\"CENCOLOR=\",\"optional\":true,\"description\":\"Specifies the color for the censor symbol. The default is the first color in the device color list.\",\"help\":\"CENCOLOR=*color*\",\"type\":\"color\"},{\"name\":\"CENSYMBOL=\",\"optional\":true,\"description\":\"Specifies symbols for censored values. The symbol is one of the symbol names (plus, star, square, diamond, triangle, hash, paw, point, dot, and circle) or a letter (A–Z).\",\"type\":\"value\"},{\"name\":\"CFRAME=\",\"optional\":true,\"description\":\"Specifies the color for the area enclosed by the axes and frame. This area is not shaded by default.\",\"help\":\"CFRAME=*color*\",\"type\":\"color\"},{\"name\":\"CFRAMESIDE=\",\"optional\":true,\"description\":\"Color for filling frame for row labels.\",\"help\":\"CFRAMESIDE=*color*\",\"type\":\"color\"},{\"name\":\"CFRAMETOP=\",\"optional\":true,\"description\":\"Color for filling frame for column labels.\",\"help\":\"CFRAMETOP=*color*\",\"type\":\"color\"},{\"name\":\"CGRID=\",\"optional\":true,\"description\":\"Specifies the color for grid lines. The default is the first color in the device color list.\",\"help\":\"CGRID=*color*\",\"type\":\"color\"},{\"name\":\"CHREF=\",\"optional\":true,\"description\":\"Specifies the color for lines requested by the HREF= option. The default is the first color in the device color list.\",\"help\":\"CHREF=*color*\",\"type\":\"color\"},{\"name\":\"CONFIDENCE=\",\"optional\":true,\"description\":\"Specifies the confidence coefficient for all confidence intervals. Specify a number between 0 and 1. The default value is 0.95.\",\"help\":\"CONFIDENCE=*number*\",\"type\":\"value\"},{\"name\":\"CTEXT=\",\"optional\":true,\"description\":\"Specifies the color for tick mark values and axis labels. The default is the color specified for the CTEXT= option in the most recent GOPTIONS statement.\",\"help\":\"CTEXT=*color*\",\"type\":\"color\"},{\"name\":\"CVREF=\",\"optional\":true,\"description\":\"Specifies the color for lines requested by the VREF= option. The default is the first color in the device color list.\",\"help\":\"CVREF=*color*\",\"type\":\"color\"},{\"name\":\"DESCRIPTION=\",\"optional\":true,\"description\":\"Description for graphics catalog member.\",\"type\":\"value\"},{\"name\":\"FONT=\",\"optional\":true,\"description\":\"Specifies a software font for reference line and axis labels. You can also specify fonts for axis labels in an AXIS statement.\",\"help\":\"FONT=*font*\",\"type\":\"value\"},{\"name\":\"HAXIS=\",\"optional\":true,\"description\":\"Specifies tick mark values for the horizontal axis. value1, value2, and value3 must be numeric, and value1 must be less than value2.\",\"type\":\"value\"},{\"name\":\"HEIGHT=\",\"optional\":true,\"description\":\"Specifies the height of text used outside framed areas. The default value is 3.846 (in percentage).\",\"help\":\"HEIGHT=*value*\",\"type\":\"value\"},{\"name\":\"HLOWER=\",\"optional\":true,\"description\":\"Specifies the lower limit on the lifetime axis scale. The HLOWER= option specifies value as the lower lifetime axis tick mark. The tick mark interval and the upper axis limit are determined automatically.\",\"help\":\"HLOWER=*value*\",\"type\":\"value\"},{\"name\":\"HOFFSET=\",\"optional\":true,\"description\":\"Specifies the offset for the horizontal axis. The default value is 1.\",\"help\":\"HOFFSET=*value*\",\"type\":\"value\"},{\"name\":\"HREF=\",\"optional\":true,\"description\":\"Specifies reference lines perpendicular to horizontal axis\",\"help\":\"HREF=*value-list*\",\"type\":\"value\"},{\"name\":\"HREFLABELS=\",\"optional\":true,\"description\":\"Specifies labels for the lines requested by the HREF= option.\",\"type\":\"value\"},{\"name\":\"HREFLABPOS=\",\"optional\":true,\"description\":\"Specifies the vertical position of labels for HREF= lines.\",\"help\":\"HREFLABPOS=1 | 2 | 3 | 4 | 5 | 6\",\"type\":\"choice\",\"arguments\":[{\"name\":\"1\",\"description\":\"Top\",\"type\":\"standalone\"},{\"name\":\"2\",\"description\":\"Staggered from top\",\"type\":\"standalone\"},{\"name\":\"3\",\"description\":\"Bottom\",\"type\":\"standalone\"},{\"name\":\"4\",\"description\":\"Staggered from bottom\",\"type\":\"standalone\"},{\"name\":\"5\",\"description\":\"Alternating from top\",\"type\":\"standalone\"},{\"name\":\"6\",\"description\":\"Alternating from bottom\",\"type\":\"standalone\"}]},{\"name\":\"HUPPER=\",\"optional\":true,\"description\":\"Specifies value as the upper lifetime axis tick mark. The tick mark interval and the lower axis limit are determined automatically.\",\"help\":\"HUPPER=*value*\",\"type\":\"value\"},{\"name\":\"INBORDER\",\"optional\":true,\"description\":\"Requests a border around probability plots.\",\"type\":\"standalone\"},{\"name\":\"INDINC\",\"optional\":true,\"description\":\"Requests variance estimates of the MCF using the Nelson estimator under an independent increments assumption.\",\"type\":\"standalone\"},{\"name\":\"INFONT=\",\"optional\":true,\"description\":\"Specifies a software font for text inside framed areas.\",\"help\":\"INFONT=*font*\",\"type\":\"value\"},{\"name\":\"INHEIGHT=\",\"optional\":true,\"description\":\"Specifies height of text inside framed areas.\",\"help\":\"INHEIGHT=*value*\",\"type\":\"value\"},{\"name\":\"INTERPOLATE=\",\"optional\":true,\"description\":\"Requests that symbols in an MCF plot be connected with a straight line or step function.\",\"help\":\"INTERPOLATE=JOIN | STEP\",\"type\":\"choice\",\"arguments\":[{\"name\":\"JOIN\",\"description\":\"Requests that symbols in an MCF plot be connected with a straight line function.\",\"type\":\"standalone\"},{\"name\":\"STEP\",\"description\":\"Requests that symbols in an MCF plot be connected with a step function.\",\"type\":\"standalone\"}]},{\"name\":\"INTERTILE=\",\"optional\":true,\"description\":\"Specifies the distance between tiles.\",\"help\":\"INTERTILE=*value*\",\"type\":\"value\"},{\"name\":\"LGRID=\",\"optional\":true,\"description\":\"Specifies a line style for all grid lines; linetype is between 1 and 46. The default is 35.\",\"help\":\"LGRID=*linetype*\",\"type\":\"value\"},{\"name\":\"LHREF=\",\"optional\":true,\"description\":\"Specifies the line type for lines requested by the HREF= option. The default is 2, which produces a dashed line.\",\"help\":\"LHREF=*linetype*\",\"type\":\"value\"},{\"name\":\"LOGINTERVALS\",\"optional\":true,\"description\":\"Requests that confidence intervals be computed based on the asymptotic normality of log(MCF).\",\"type\":\"standalone\"},{\"name\":\"LOGLOG\",\"optional\":true,\"description\":\"Requests log scales on both axes.\",\"type\":\"standalone\"},{\"name\":\"LVREF=\",\"optional\":true,\"description\":\"Specifies the line type for lines requested by the VREF= option. The default is 2, which produces a dashed line.\",\"help\":\"LVREF=*linetype*\",\"type\":\"value\"},{\"name\":\"MCFLEGEND=\",\"optional\":true,\"description\":\"Identifies legend statement to specify legend for overlaid MCF plots.\",\"type\":\"value\"},{\"name\":\"MINORLOGGRID\",\"optional\":true,\"description\":\"Adds a minor grid for log axes.\",\"type\":\"standalone\"},{\"name\":\"MISSING1\",\"optional\":true,\"description\":\"Requests that missing values of first GROUP= variable be treated as a level of the variable.\",\"type\":\"standalone\"},{\"name\":\"MISSING2\",\"optional\":true,\"description\":\"Requests that missing values of second GROUP= variable be treated as a level of the variable.\",\"type\":\"standalone\"},{\"name\":\"NAME=\",\"optional\":true,\"description\":\"Specifies a name for the plot, up to eight characters, in graphics catalog.\",\"type\":\"value\"},{\"name\":\"NCOLS=\",\"optional\":true,\"description\":\"Specifies number of columns plotted on a page.\",\"help\":\"NCOLS=*n*\",\"type\":\"value\"},{\"name\":\"NHTICK=\",\"optional\":true,\"description\":\"Suppresses tick marks and tick mark labels for horizontal axis.\",\"help\":\"NHTICK=*number*\",\"type\":\"value\"},{\"name\":\"NOCENPLOT\",\"optional\":true,\"description\":\"Suppresses the plotting of censored data points.\",\"type\":\"standalone\"},{\"name\":\"NOCONF\",\"optional\":true,\"description\":\"Suppresses the default percentile confidence bands on the probability plot.\",\"type\":\"standalone\"},{\"name\":\"NOFRAME\",\"optional\":true,\"description\":\"Suppresses the frame around plotting areas.\",\"type\":\"standalone\"},{\"name\":\"NOGRID\",\"optional\":true,\"description\":\"Suppresses grid lines.\",\"type\":\"standalone\"},{\"name\":\"NOHLABEL\",\"optional\":true,\"description\":\"Suppresses label for horizontal axis.\",\"type\":\"standalone\"},{\"name\":\"NOHTICK\",\"optional\":true,\"description\":\"Suppresses tick marks and tick mark labels for horizontal axis.\",\"type\":\"standalone\"},{\"name\":\"NOVARIANCE\",\"optional\":true,\"description\":\"Suppresses MCF variance computation.\",\"type\":\"standalone\"},{\"name\":\"NOVLABEL\",\"optional\":true,\"description\":\"Suppresses label for vertical axis.\",\"type\":\"standalone\"},{\"name\":\"NOVTICK\",\"optional\":true,\"description\":\"Suppresses tick marks and tick mark labels for vertical axis.\",\"type\":\"standalone\"},{\"name\":\"NROWS=\",\"optional\":true,\"description\":\"Specifies number of rows plotted on a page.\",\"help\":\"NROWS=*n*\",\"type\":\"value\"},{\"name\":\"ONINSET\",\"optional\":true,\"description\":\"Suppresses inset.\",\"type\":\"standalone\"},{\"name\":\"ORDER1=\",\"optional\":true,\"description\":\"Specifies display order for values of the first GROUP= variable.\",\"help\":\"ORDER1=DATA | FORMATTED | FREQ | INTERNAL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DATA\",\"description\":\"Orders values according to their order in the input data set.\",\"type\":\"standalone\"},{\"name\":\"FORMATTED\",\"description\":\"Orders values by their ascending formatted values. This order depends on your operating environment.\",\"type\":\"standalone\"},{\"name\":\"FREQ\",\"description\":\"Orders values by descending frequency count so that levels with the most observations are listed first.\",\"type\":\"standalone\"},{\"name\":\"INTERNAL\",\"description\":\"Orders values by their unformatted values, which yields the same order as PROC SORT. This order depends on your operating environment.\",\"type\":\"standalone\"}]},{\"name\":\"ORDER2=\",\"optional\":true,\"description\":\"Specifies display order for values of the second GROUP= variable.\",\"help\":\"ORDER2=DATA | FORMATTED | FREQ | INTERNAL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DATA\",\"description\":\"Orders values according to their order in the input data set.\",\"type\":\"standalone\"},{\"name\":\"FORMATTED\",\"description\":\"Orders values by their ascending formatted values. This order depends on your operating environment.\",\"type\":\"standalone\"},{\"name\":\"FREQ\",\"description\":\"Orders values by descending frequency count so that levels with the most observations are listed first.\",\"type\":\"standalone\"},{\"name\":\"INTERNAL\",\"description\":\"Orders values by their unformatted values, which yields the same order as PROC SORT. This order depends on your operating environment.\",\"type\":\"standalone\"}]},{\"name\":\"OVERLAY\",\"optional\":true,\"description\":\"Requests overlaid plots for group variables.\",\"type\":\"standalone\"},{\"name\":\"PLOTCOLOR=\",\"optional\":true,\"description\":\"Colors of symbols representing events in an MCF plot.\",\"help\":\"PLOTCOLOR=*color*\",\"type\":\"color\"},{\"name\":\"PLOTSYMBOL=\",\"optional\":true,\"description\":\"Symbols representing events in an MCF plot.\",\"type\":\"value\"},{\"name\":\"TURNVLABELS\",\"optional\":true,\"description\":\"Vertically strings out characters in labels for vertical axis.\",\"type\":\"standalone\"},{\"name\":\"VARIANCE=\",\"optional\":true,\"description\":\"Alternate method of specifying variance calculation. Includes INDINC and VARMETHOD2 options.\",\"help\":\"VARIANCE=INDINC | LAWLESS | POISSON\",\"type\":\"choice\",\"arguments\":[{\"name\":\"INDINC\",\"description\":\"Nelson's method assuming independent increments\",\"type\":\"standalone\"},{\"name\":\"LAWLESS\",\"description\":\"Lawless-Nadeau method\",\"type\":\"standalone\"},{\"name\":\"POISSON\",\"description\":\"Poisson process method\",\"type\":\"standalone\"}]},{\"name\":\"VARMETHOD2\",\"optional\":true,\"description\":\"Requests that the method of Lawless and Nadeau (1995) be used to compute variance estimates of the MCF.\",\"type\":\"standalone\"},{\"name\":\"VAXIS=\",\"optional\":true,\"description\":\"Specifies tick mark values for the vertical axis. value1, value2, and value3 must be numeric, and value1 must be less than value2.\",\"type\":\"value\"},{\"name\":\"VAXISLABEL=\",\"optional\":true,\"description\":\"Specifies a label for the vertical axis.\",\"help\":\"VAXISLABEL=*`string*'\",\"type\":\"value\"},{\"name\":\"VLOWER=\",\"optional\":true,\"description\":\"Specifies the lower limit on the vertical axis scale.\",\"help\":\"VLOWER=*number*\",\"type\":\"value\"},{\"name\":\"VOFFSET=\",\"optional\":true,\"description\":\"Length of offset at upper end of vertical axis.\",\"help\":\"VOFFSET=*value*\",\"type\":\"value\"},{\"name\":\"VREF=\",\"optional\":true,\"description\":\"Requests reference lines perpendicular to the vertical axis.\",\"type\":\"value\"},{\"name\":\"VREFLABELS=\",\"optional\":true,\"description\":\"Specifies labels for the lines requested by the VREF= option. The number of labels must equal the number of lines. Enclose each label in quotes. Labels can be up to 16 characters.\",\"type\":\"value\"},{\"name\":\"VREFLABPOS=\",\"optional\":true,\"description\":\"Specifies the horizontal position of labels for VREF= lines.\",\"help\":\"VREFLABPOS=1 | 2\",\"type\":\"choice\",\"arguments\":[{\"name\":\"1\",\"description\":\"Left\",\"type\":\"standalone\"},{\"name\":\"2\",\"description\":\"Right\",\"type\":\"standalone\"}]},{\"name\":\"VUPPER=\",\"optional\":true,\"description\":\"Specifies the upper limit on the vertical axis scale.\",\"help\":\"VUPPER=*number*\",\"type\":\"value\"},{\"name\":\"WAXIS=\",\"optional\":true,\"description\":\"Specifies line thickness for axes and frame. The default value is 1.\",\"help\":\"WAXIS=*n*\",\"type\":\"value\"}]},{\"name\":\"MODEL\",\"description\":\"You use the MODEL statement to fit regression models, where life is modeled as a function of explanatory variables\",\"help\":\"MODEL &lt;CONFIDENCE=number&gt;&lt;CONVERGE=value&gt;&lt;CONVH=number&gt; ...\",\"arguments\":[{\"name\":\"CONFIDENCE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the confidence coefficient for all confidence intervals. Specify a number between 0 and 1. The default value is 0.95.\",\"help\":\"CONFIDENCE=*number*\",\"type\":\"value\"},{\"name\":\"CONVERGE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the convergence criterion for maximum likelihood fit.\",\"help\":\"CONVERGE=*value*\",\"type\":\"value\"},{\"name\":\"CONVH=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the convergence criterion for the relative Hessian convergence criterion.\",\"help\":\"CONVH=*number*\",\"type\":\"value\"},{\"name\":\"COORB\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests parameter correlation matrix.\",\"type\":\"standalone\"},{\"name\":\"COVB\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests parameter covariance matrix.\",\"type\":\"standalone\"},{\"name\":\"ITPRINT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests iteration history for maximum likelihood fit.\",\"type\":\"standalone\"},{\"name\":\"LOCATION=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies fixed or initial value of the location, or intercept parameter.\",\"type\":\"value\"},{\"name\":\"LRCL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests likelihood ratio confidence intervals for distribution parameters.\",\"type\":\"standalone\"},{\"name\":\"MAXIT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies maximum number of iterations allowed for maximum likelihood fit.\",\"help\":\"MAXIT=*n*\",\"type\":\"value\"},{\"name\":\"OBSTATS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"OBSTATS requests a table containing the XBETA, SURV, SRESID, and ADJRESID statistics. The table also contains the dependent and independent variables in the model. OBSTATS(statistics) requests a table containing the model variables and the statistics specified below: CENSOR is an indicator variable equal to 1 if an observation is censored, and 0 otherwise QUANTILES | QUANTILE | Q=number-list specifies distribution quantiles for each number in number list for each observation. The numbers must be between 0 and 1. Estimated quantile standard errors, and upper and lower confidence limits are also tabulated. XBETA is the linear predictor SURVIVAL | SURV is the fitted survival function, evaluated at the value of the dependent variable RESID is the raw residual SRESID is the standardized residual GRESID is the modified Cox-Snell residual DRESID is the deviance residual ADJRESID is the adjusted standardized residuals. These are adjusted for right-censored observations by adding the median of the lifetime greater than the right-censored values to the residuals. RESIDADJ=number specifies adjustment to be added to Cox-Snell residual for right-censored data values. The default is log(2) = 0.693. RESIDALPHA | RALPHA=number specifies number x 100% percentile residual lifetime used to adjust right-censored standardized residuals. The number must be between 0 and 1. The default value is 0.5, corresponding to the median.\",\"help\":\"OBSTATS=             CONTROL= | RESIDALPHA= | RALPHA= | RESIDADJ= | ADJRESID | RESID | SRESID |              GRESID | DRESID | SURVIVAL | SURV | XBETA | QUANTILES= | QUANTILE= | Q= | CENSOR\",\"type\":\"choice\",\"arguments\":[{\"name\":\"CONTROL=\",\"type\":\"value\"},{\"name\":\"RESIDALPHA=\",\"type\":\"value\"},{\"name\":\"RALPHA=\",\"type\":\"value\"},{\"name\":\"RESIDADJ=\",\"type\":\"value\"},{\"name\":\"ADJRESID\",\"type\":\"standalone\"},{\"name\":\"RESID\",\"type\":\"standalone\"},{\"name\":\"SRESID\",\"type\":\"standalone\"},{\"name\":\"GRESID\",\"type\":\"standalone\"},{\"name\":\"DRESID\",\"type\":\"standalone\"},{\"name\":\"SURVIVAL\",\"type\":\"standalone\"},{\"name\":\"SURV\",\"type\":\"standalone\"},{\"name\":\"XBETA\",\"type\":\"standalone\"},{\"name\":\"QUANTILES=\",\"type\":\"value\"},{\"name\":\"QUANTILE=\",\"type\":\"value\"},{\"name\":\"Q=\",\"type\":\"value\"},{\"name\":\"CENSOR\",\"type\":\"standalone\"}]},{\"name\":\"ORDER=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies sort order for values of the classification variables in the effect-list.\",\"help\":\"ORDER=DATA | FORMATTED | FREQ | INTERNAL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DATA\",\"followsDelimiter\":\"/\",\"description\":\"Orders values according to their order in the input data set.\",\"type\":\"standalone\"},{\"name\":\"FORMATTED\",\"followsDelimiter\":\"/\",\"description\":\"Orders values by their ascending formatted values. This order depends on your operating environment.\",\"type\":\"standalone\"},{\"name\":\"FREQ\",\"followsDelimiter\":\"/\",\"description\":\"Orders values by descending frequency count so that levels with the most observations are listed first.\",\"type\":\"standalone\"},{\"name\":\"INTERNAL\",\"followsDelimiter\":\"/\",\"description\":\"Orders values by their unformatted values, which yields the same order as PROC SORT. This order depends on your operating environment.\",\"type\":\"standalone\"}]},{\"name\":\"PSTABLE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies stable parameterization. The number must be between zero and one.\",\"help\":\"PSTABLE=*number*\",\"type\":\"value\"},{\"name\":\"READOUT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Analyzes data in readout structure. The FREQ statement must be used to specify the number of units failing in each interval, and the NENTER statement must be used to specify the number of unfailed units entering each interval.\",\"type\":\"standalone\"},{\"name\":\"RELATION=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies type of relationship between independent and dependent variables.\",\"help\":\"RELATION=ARRHENIUS | ARRHENIUS2 | POWER | LINEAR | LOGISTIC\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ARRHENIUS\",\"followsDelimiter\":\"/\",\"description\":\"ARRHENIUS (Nelson parameterization)\",\"type\":\"standalone\"},{\"name\":\"ARRHENIUS2\",\"followsDelimiter\":\"/\",\"description\":\"ARRHENIUS2 (activation energy parameterization)\",\"type\":\"standalone\"},{\"name\":\"POWER\",\"followsDelimiter\":\"/\",\"description\":\"POWER relationship\",\"type\":\"standalone\"},{\"name\":\"LINEAR\",\"followsDelimiter\":\"/\",\"description\":\"LINEAR relationship\",\"type\":\"standalone\"},{\"name\":\"LOGISTIC\",\"followsDelimiter\":\"/\",\"description\":\"LOGISTIC relationship\",\"type\":\"standalone\"}]},{\"name\":\"SCALE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies fixed or initial value of scale parameter.\",\"type\":\"value\"},{\"name\":\"SHAPE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies fixed or initial value of shape parameter.\",\"type\":\"value\"},{\"name\":\"SINGULAR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies singularity criterion for matrix inversion.\",\"help\":\"SINGULAR=*number*\",\"type\":\"value\"},{\"name\":\"THRESHOLD=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies a fixed threshold parameter.\",\"help\":\"THRESHOLD=*number*\",\"type\":\"value\"}]},{\"name\":\"NENTER\",\"description\":\"Use the NENTER statement in conjunction with the FREQ statement to specify interval-censored data having a special structure; these data are called readout data. The NENTER statement specifies a variable in the input data set that determines the number of unfailed units entering each interval.\",\"help\":\"NENTER variable \"},{\"name\":\"PROBPLOT\",\"aliases\":[\"PPLOT\"],\"description\":\"You use the PROBPLOT statement to create a probability plot from complete, left-censored, right-censored, or interval-censored data.\",\"help\":\"PROBPLOT &lt;CAXIS=color&gt;&lt;CCENSOR=color&gt;&lt;CENBIN&gt; ...\",\"arguments\":[{\"name\":\"CAXIS=\",\"optional\":true,\"description\":\"Specifies the color used for the axes and tick marks. This option overrides any COLOR= specifications in an AXIS statement. The default is the first color in the device color list.\",\"help\":\"CAXIS=*color*\",\"type\":\"color\"},{\"name\":\"CCENSOR=\",\"optional\":true,\"description\":\"Specifies the color for filling the censor plot area. The default is the first color in the device color list.\",\"help\":\"CCENSOR=*color*\",\"type\":\"color\"},{\"name\":\"CENBIN\",\"optional\":true,\"description\":\"Plots censored data as frequency counts (rounding for noninteger frequency) rather than as individual points.\",\"type\":\"standalone\"},{\"name\":\"CENCOLOR=\",\"optional\":true,\"description\":\"Specifies the color for the censor symbol. The default is the first color in the device color list.\",\"help\":\"CENCOLOR=*color*\",\"type\":\"color\"},{\"name\":\"CENSYMBOL=\",\"optional\":true,\"description\":\"Specifies symbols for censored values. The symbol is one of the symbol names (plus, star, square, diamond, triangle, hash, paw, point, dot, and circle) or a letter (A–Z).\",\"type\":\"value\"},{\"name\":\"CFIT=\",\"optional\":true,\"description\":\"Specifies the color for the fitted probability line and confidence curves. The default is the first color in the device color list.\",\"help\":\"CFIT=*color*\",\"type\":\"color\"},{\"name\":\"CFRAME=\",\"optional\":true,\"description\":\"Specifies the color for the area enclosed by the axes and frame. This area is not shaded by default.\",\"help\":\"CFRAME=*color*\",\"type\":\"color\"},{\"name\":\"CFRAMESIDE=\",\"optional\":true,\"description\":\"Color for filling frame for row labels.\",\"help\":\"CFRAMESIDE=*color*\",\"type\":\"color\"},{\"name\":\"CFRAMETOP=\",\"optional\":true,\"description\":\"Color for filling frame for column labels.\",\"help\":\"CFRAMETOP=*color*\",\"type\":\"color\"},{\"name\":\"CGRID=\",\"optional\":true,\"description\":\"Specifies the color for grid lines. The default is the first color in the device color list.\",\"help\":\"CGRID=*color*\",\"type\":\"color\"},{\"name\":\"CHREF=\",\"optional\":true,\"description\":\"Specifies the color for lines requested by the HREF= option. The default is the first color in the device color list.\",\"help\":\"CHREF=*color*\",\"type\":\"color\"},{\"name\":\"CONFIDENCE=\",\"optional\":true,\"description\":\"Specifies the confidence coefficient for all confidence intervals. Specify a number between 0 and 1. The default value is 0.95.\",\"help\":\"CONFIDENCE=*number*\",\"type\":\"value\"},{\"name\":\"CONVERGE=\",\"optional\":true,\"description\":\"Sets the convergence criterion for maximum likelihood fit.\",\"help\":\"CONVERGE=*value*\",\"type\":\"value\"},{\"name\":\"CONVH=\",\"optional\":true,\"description\":\"Specifies the convergence criterion for the relative Hessian convergence criterion.\",\"help\":\"CONVH=*number*\",\"type\":\"value\"},{\"name\":\"COORB\",\"optional\":true,\"description\":\"Requests parameter correlation matrix.\",\"type\":\"standalone\"},{\"name\":\"COVB\",\"optional\":true,\"description\":\"Requests parameter covariance matrix.\",\"type\":\"standalone\"},{\"name\":\"CTEXT=\",\"optional\":true,\"description\":\"Specifies the color for tick mark values and axis labels. The default is the color specified for the CTEXT= option in the most recent GOPTIONS statement.\",\"help\":\"CTEXT=*color*\",\"type\":\"color\"},{\"name\":\"CVREF=\",\"optional\":true,\"description\":\"Specifies the color for lines requested by the VREF= option. The default is the first color in the device color list.\",\"help\":\"CVREF=*color*\",\"type\":\"color\"},{\"name\":\"DESCRIPTION=\",\"optional\":true,\"description\":\"Description for graphics catalog member.\",\"type\":\"value\"},{\"name\":\"FITTYPE=\",\"optional\":true,\"description\":\"Specifies method of estimating distribution parameters.\",\"help\":\"FITTYPE=LSYX | LSXY | MLE | MODEL | NONE | WEIBAYES\",\"type\":\"choice\",\"arguments\":[{\"name\":\"LSYX\",\"description\":\"Least squares fit to the probability plot. The probability axis is the dependent variable.\",\"type\":\"standalone\"},{\"name\":\"LSXY\",\"description\":\"Least squares fit to the probability plot. The lifetime axis is the dependent variable.\",\"type\":\"standalone\"},{\"name\":\"MLE\",\"description\":\"Maximum likelihood (default)\",\"type\":\"standalone\"},{\"name\":\"MODEL\",\"description\":\"Uses the fit from the preceding MODEL statement.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"No fit is computed.\",\"type\":\"standalone\"},{\"name\":\"WEIBAYES\",\"description\":\"Syntax: WEIBAYES<(CONFIDENCE=number)> Weibayes method, where number is the confidence coefficient for the Weibayes fit and is between 0 and 1. The default value is 0.95.\",\"type\":\"standalone\"}]},{\"name\":\"FONT=\",\"optional\":true,\"description\":\"Specifies a software font for reference line and axis labels. You can also specify fonts for axis labels in an AXIS statement.\",\"help\":\"FONT=*font*\",\"type\":\"value\"},{\"name\":\"HCL\",\"optional\":true,\"description\":\"Computes and draws confidence limits for the predicted probabilities in the horizontal direction.\",\"type\":\"standalone\"},{\"name\":\"HEIGHT=\",\"optional\":true,\"description\":\"Specifies the height of text used outside framed areas. The default value is 3.846 (in percentage).\",\"help\":\"HEIGHT=*value*\",\"type\":\"value\"},{\"name\":\"HLOWER=\",\"optional\":true,\"description\":\"Specifies the lower limit on the lifetime axis scale. The HLOWER= option specifies value as the lower lifetime axis tick mark. The tick mark interval and the upper axis limit are determined automatically.\",\"help\":\"HLOWER=*value*\",\"type\":\"value\"},{\"name\":\"HOFFSET=\",\"optional\":true,\"description\":\"Specifies the offset for the horizontal axis. The default value is 1.\",\"help\":\"HOFFSET=*value*\",\"type\":\"value\"},{\"name\":\"HREF=\",\"optional\":true,\"description\":\"Requests reference lines perpendicular to horizontal axis. If (INTERSECT) is specified, a second reference line perpendicular to the vertical axis is drawn that intersects the fit line at the same point as the horizontal axis reference line. If a horizontal axis reference line label is specified, the intersecting vertical axis reference line is labeled with the vertical axis value.\",\"type\":\"value\"},{\"name\":\"HREFLABELS=\",\"optional\":true,\"description\":\"Specifies labels for the lines requested by the HREF= option.\",\"type\":\"value\"},{\"name\":\"HREFLABPOS=\",\"optional\":true,\"description\":\"Specifies the vertical position of labels for HREF= lines.\",\"help\":\"HREFLABPOS=1 | 2 | 3 | 4 | 5 | 6\",\"type\":\"choice\",\"arguments\":[{\"name\":\"1\",\"description\":\"Top\",\"type\":\"standalone\"},{\"name\":\"2\",\"description\":\"Staggered from top\",\"type\":\"standalone\"},{\"name\":\"3\",\"description\":\"Bottom\",\"type\":\"standalone\"},{\"name\":\"4\",\"description\":\"Staggered from bottom\",\"type\":\"standalone\"},{\"name\":\"5\",\"description\":\"Alternating from top\",\"type\":\"standalone\"},{\"name\":\"6\",\"description\":\"Alternating from bottom\",\"type\":\"standalone\"}]},{\"name\":\"HUPPER=\",\"optional\":true,\"description\":\"Specifies value as the upper lifetime axis tick mark. The tick mark interval and the lower axis limit are determined automatically.\",\"help\":\"HUPPER=*value*\",\"type\":\"value\"},{\"name\":\"INBORDER\",\"optional\":true,\"description\":\"Requests a border around probability plots.\",\"type\":\"standalone\"},{\"name\":\"INFONT=\",\"optional\":true,\"description\":\"Specifies a software font for text inside framed areas.\",\"help\":\"INFONT=*font*\",\"type\":\"value\"},{\"name\":\"INHEIGHT=\",\"optional\":true,\"description\":\"Specifies height of text inside framed areas.\",\"help\":\"INHEIGHT=*value*\",\"type\":\"value\"},{\"name\":\"INTERTILE=\",\"optional\":true,\"description\":\"Specifies the distance between tiles.\",\"help\":\"INTERTILE=*value*\",\"type\":\"value\"},{\"name\":\"ITPRINT\",\"optional\":true,\"description\":\"Requests iteration history for maximum likelihood fit.\",\"type\":\"standalone\"},{\"name\":\"ITPRINTEM\",\"optional\":true,\"description\":\"Requests iteration history for the Turnbull algorithm.\",\"type\":\"standalone\"},{\"name\":\"LAXIS=\",\"optional\":true,\"description\":\"Specifies tick mark values for the lifetime axis. value1, value2, and value3 must be numeric, and value1 must be less than value2.\",\"type\":\"value\"},{\"name\":\"LFIT=\",\"optional\":true,\"description\":\"Specifies a line style for fitted curves and confidence limits. By default, fitted curves are drawn by connecting solid lines (linetype = 1), and confidence limits are drawn by connecting dashed lines (linetype = 3).\",\"type\":\"value\"},{\"name\":\"LGRID=\",\"optional\":true,\"description\":\"Specifies a line style for all grid lines; linetype is between 1 and 46. The default is 35.\",\"help\":\"LGRID=*linetype*\",\"type\":\"value\"},{\"name\":\"LHREF=\",\"optional\":true,\"description\":\"Specifies the line type for lines requested by the HREF= option. The default is 2, which produces a dashed line.\",\"help\":\"LHREF=*linetype*\",\"type\":\"value\"},{\"name\":\"LIFELOWER=\",\"optional\":true,\"description\":\"Specifies the lower limit on the lifetime axis scale. The LLOWER option specifies number as the lower lifetime axis tick mark.\",\"type\":\"value\"},{\"name\":\"LIFEUPPER=\",\"optional\":true,\"description\":\"Specifies the upper limit on the lifetime axis scale. The LUPPER option specifies number as the upper lifetime axis tick mark.\",\"type\":\"value\"},{\"name\":\"LOCATION=\",\"optional\":true,\"description\":\"Specifies fixed or initial value of the location, or intercept parameter.\",\"type\":\"value\"},{\"name\":\"LRCL\",\"optional\":true,\"description\":\"Requests likelihood ratio confidence intervals for distribution parameters.\",\"type\":\"standalone\"},{\"name\":\"LRCLPER\",\"optional\":true,\"description\":\"Requests likelihood ratio confidence intervals for distribution percentiles.\",\"type\":\"standalone\"},{\"name\":\"LVREF=\",\"optional\":true,\"description\":\"Specifies the line type for lines requested by the VREF= option. The default is 2, which produces a dashed line.\",\"help\":\"LVREF=*linetype*\",\"type\":\"value\"},{\"name\":\"MAXIT=\",\"optional\":true,\"description\":\"Specifies maximum number of iterations allowed for maximum likelihood fit.\",\"help\":\"MAXIT=*n*\",\"type\":\"value\"},{\"name\":\"MAXITEM=\",\"optional\":true,\"description\":\"Specifies the maximum number of iterations allowed for the Turnbull algorithm. Iteration history will be displayed in increments of n2 if requested with the ITPRINTEM option.\",\"type\":\"value\"},{\"name\":\"MISSING1\",\"optional\":true,\"description\":\"Requests that missing values of first GROUP= variable be treated as a level of the variable.\",\"type\":\"standalone\"},{\"name\":\"MISSING2\",\"optional\":true,\"description\":\"Requests that missing values of second GROUP= variable be treated as a level of the variable.\",\"type\":\"standalone\"},{\"name\":\"NAME=\",\"optional\":true,\"description\":\"Specifies a name for the plot, up to eight characters, in graphics catalog.\",\"type\":\"value\"},{\"name\":\"NCOLS=\",\"optional\":true,\"description\":\"Specifies number of columns plotted on a page.\",\"help\":\"NCOLS=*n*\",\"type\":\"value\"},{\"name\":\"NOCENPLOT\",\"optional\":true,\"description\":\"Suppresses the plotting of censored data points.\",\"type\":\"standalone\"},{\"name\":\"NOCONF\",\"optional\":true,\"description\":\"Suppresses the default percentile confidence bands on the probability plot.\",\"type\":\"standalone\"},{\"name\":\"NOFIT\",\"optional\":true,\"description\":\"Suppresses the fitted probability (percentile) line and confidence bands.\",\"type\":\"standalone\"},{\"name\":\"NOFRAME\",\"optional\":true,\"description\":\"Suppresses the frame around plotting areas.\",\"type\":\"standalone\"},{\"name\":\"NOGRID\",\"optional\":true,\"description\":\"Suppresses grid lines.\",\"type\":\"standalone\"},{\"name\":\"NOPCTILES\",\"optional\":true,\"description\":\"Suppresses computation of percentiles for standard list of percentage points.\",\"type\":\"standalone\"},{\"name\":\"NOPOLISH\",\"optional\":true,\"description\":\"Suppresses setting small interval probabilities to zero in the Turnbull algorithm.\",\"type\":\"standalone\"},{\"name\":\"NOPPLEGEND\",\"optional\":true,\"description\":\"Suppresses legend for overlaid probability plots.\",\"type\":\"standalone\"},{\"name\":\"NOPPOS\",\"optional\":true,\"description\":\"Suppresses plotting of symbols for failures in a probability plot.\",\"type\":\"standalone\"},{\"name\":\"NPINTERVALS=\",\"optional\":true,\"description\":\"Specifies type of nonparametric confidence interval displayed in a probability plot.\",\"help\":\"NPINTERVALS=POINTWISE | SIMUL&lt;number1, number2&gt;\",\"type\":\"choice\",\"arguments\":[{\"name\":\"POINTWISE\",\"description\":\"Pointwise confidence intervals for the CDF\",\"type\":\"standalone\"},{\"name\":\"SIMUL\",\"description\":\"Simultaneous confidence intervals for the CDF\",\"help\":\"SIMUL&lt;number1, number2&gt;\",\"type\":\"standalone\"}]},{\"name\":\"NROWS=\",\"optional\":true,\"description\":\"Specifies number of rows plotted on a page.\",\"help\":\"NROWS=*n*\",\"type\":\"value\"},{\"name\":\"ONINSET\",\"optional\":true,\"description\":\"Suppresses inset.\",\"type\":\"standalone\"},{\"name\":\"ORDER=\",\"optional\":true,\"description\":\"Specifies sort order for values of the classification variables in the effect-list.\",\"help\":\"ORDER=DATA | FORMATTED | FREQ | INTERNAL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DATA\",\"description\":\"Orders values according to their order in the input data set.\",\"type\":\"standalone\"},{\"name\":\"FORMATTED\",\"description\":\"Orders values by their ascending formatted values. This order depends on your operating environment.\",\"type\":\"standalone\"},{\"name\":\"FREQ\",\"description\":\"Orders values by descending frequency count so that levels with the most observations are listed first.\",\"type\":\"standalone\"},{\"name\":\"INTERNAL\",\"description\":\"Orders values by their unformatted values, which yields the same order as PROC SORT. This order depends on your operating environment.\",\"type\":\"standalone\"}]},{\"name\":\"OVERLAY\",\"optional\":true,\"description\":\"Requests overlaid plots for group variables.\",\"type\":\"standalone\"},{\"name\":\"PCONFPLT\",\"optional\":true,\"description\":\"Plots confidence intervals on probabilities for readout data.\",\"type\":\"standalone\"},{\"name\":\"PCTLIST=\",\"optional\":true,\"description\":\"Specifies the list of percentages for which to compute percentile estimates; value-list must be a list of values separated by blanks or commas. Each value in the list must be between 0 and 100.\",\"help\":\"PCTLIST=*value-list*\",\"type\":\"value\"},{\"name\":\"PCTLOWER=\",\"optional\":true,\"description\":\"Specifies the lower limit on the probability axis scale. The PLOWER= option specifies value as the lower probability axis tick mark. The tick mark interval and the upper axis limit are determined automatically.\",\"help\":\"PCTLOWER=*value*\",\"type\":\"value\"},{\"name\":\"PCTUPPER=\",\"optional\":true,\"description\":\"Specifies the upper limit on the probability axis scale. The PUPPER= option specifies value as the upper probability axis tick mark. The tick mark interval and the lower axis limit are determined automatically.\",\"type\":\"value\"},{\"name\":\"PINTERVALS=\",\"optional\":true,\"description\":\"Type of parametric pointwise confidence interval displayed in a probability plot.\",\"help\":\"PINTERVALS=LIKELIHOOD | PERCENTILES | PROBABILITY\",\"type\":\"choice\",\"arguments\":[{\"name\":\"LIKELIHOOD\",\"description\":\"Likelihood ratio confidence intervals\",\"type\":\"standalone\"},{\"name\":\"PERCENTILES\",\"description\":\"Pointwise parametric confidence intervals for the percentiles of the fitted CDF\",\"type\":\"standalone\"},{\"name\":\"PROBABILITY\",\"description\":\"Pointwise parametric confidence intervals for the cumulative failure probabilities\",\"type\":\"standalone\"}]},{\"name\":\"PPLEGEND=\",\"optional\":true,\"description\":\"Identifies LEGENDn statement to specify legend for overlaid probability plots.\",\"type\":\"value\"},{\"name\":\"PPOS=\",\"optional\":true,\"description\":\"Specifies the plotting position type.\",\"help\":\"PPOS=EXPRANK | MEDRANK | MEDRANK1 | KM | MKM\",\"type\":\"choice\",\"arguments\":[{\"name\":\"EXPRANK\",\"description\":\"Expected ranks\",\"type\":\"standalone\"},{\"name\":\"MEDRANK\",\"description\":\"Median ranks\",\"type\":\"standalone\"},{\"name\":\"MEDRANK1\",\"description\":\"Median ranks (exact formula)\",\"type\":\"standalone\"},{\"name\":\"KM\",\"description\":\"Kaplan-Meier\",\"type\":\"standalone\"},{\"name\":\"MKM\",\"description\":\"Modified Kaplan-Meier (default)\",\"type\":\"standalone\"}]},{\"name\":\"PPOSCOLOR=\",\"optional\":true,\"description\":\"Colors of symbols representing failures on a probability plot.\",\"help\":\"PPOSCOLOR=*color*\",\"type\":\"color\"},{\"name\":\"PPOSSYMBOL=\",\"optional\":true,\"description\":\"Symbols representing failures on a probability plot.\",\"type\":\"value\"},{\"name\":\"PPOUT\",\"optional\":true,\"description\":\"Specifies that a table of the cumulative probabilities plotted on the probability plot be displayed.\",\"type\":\"standalone\"},{\"name\":\"PRINTPROBS\",\"optional\":true,\"description\":\"Prints intervals and associated probabilities for the Turnbull algorithm.\",\"type\":\"standalone\"},{\"name\":\"PROBLIST=\",\"optional\":true,\"description\":\"Specifies the list of initial values for the Turnbull algorithm\",\"help\":\"PROBLIST=*value-list*\",\"type\":\"value\"},{\"name\":\"PSTABLE=\",\"optional\":true,\"description\":\"Specifies stable parameterization. The number must be between zero and one.\",\"help\":\"PSTABLE=*number*\",\"type\":\"value\"},{\"name\":\"READOUT\",\"optional\":true,\"description\":\"Analyzes data in readout structure. The FREQ statement must be used to specify the number of units failing in each interval, and the NENTER statement must be used to specify the number of unfailed units entering each interval.\",\"type\":\"standalone\"},{\"name\":\"ROTATE\",\"optional\":true,\"description\":\"Requests probability plots with probability scale on the horizontal axis.\",\"type\":\"standalone\"},{\"name\":\"SCALE=\",\"optional\":true,\"description\":\"Specifies fixed or initial value of scale parameter.\",\"type\":\"value\"},{\"name\":\"SHAPE=\",\"optional\":true,\"description\":\"Specifies fixed or initial value of shape parameter.\",\"type\":\"value\"},{\"name\":\"SHOWMULTIPLES\",\"optional\":true,\"description\":\"Display the count for multiple overlaying symbols.\",\"type\":\"standalone\"},{\"name\":\"SINGULAR=\",\"optional\":true,\"description\":\"Specifies singularity criterion for matrix inversion.\",\"help\":\"SINGULAR=*number*\",\"type\":\"value\"},{\"name\":\"SURVTIME=\",\"optional\":true,\"description\":\"Requests that the survival function, cumulative distribution function, and confidence limits be computed for values in number-list\",\"help\":\"SURVTIME=*number-list*\",\"type\":\"value\"},{\"name\":\"THRESHOLD=\",\"optional\":true,\"description\":\"Specifies a fixed threshold parameter.\",\"help\":\"THRESHOLD=*number*\",\"type\":\"value\"},{\"name\":\"TOLLIKE=\",\"optional\":true,\"description\":\"Specifies criterion for convergence in the Turnbull algorithm. Default is 10⁻⁸.\",\"help\":\"TOLLIKE=*number*\",\"type\":\"value\"},{\"name\":\"TOLPROB=\",\"optional\":true,\"description\":\"Specifies criterion for setting interval probability to zero in the Turnbull algorithm. Default is 10⁻⁶.\",\"help\":\"TOLPROB=*number*\",\"type\":\"value\"},{\"name\":\"TURNVLABELS\",\"optional\":true,\"description\":\"Vertically strings out characters in labels for vertical axis.\",\"type\":\"standalone\"},{\"name\":\"VOFFSET=\",\"optional\":true,\"description\":\"Length of offset at upper end of vertical axis.\",\"help\":\"VOFFSET=*value*\",\"type\":\"value\"},{\"name\":\"VREF=\",\"optional\":true,\"description\":\"Requests reference lines perpendicular to the vertical axis.\",\"type\":\"value\"},{\"name\":\"VREFLABELS=\",\"optional\":true,\"description\":\"\",\"type\":\"value\"},{\"name\":\"VREFLABPOS=\",\"optional\":true,\"description\":\"Specifies the horizontal position of labels for VREF= lines.\",\"help\":\"VREFLABPOS=1 | 2\",\"type\":\"choice\",\"arguments\":[{\"name\":\"1\",\"description\":\"Left\",\"type\":\"standalone\"},{\"name\":\"2\",\"description\":\"Right\",\"type\":\"standalone\"}]},{\"name\":\"WAXIS=\",\"optional\":true,\"description\":\"Specifies line thickness for axes and frame. The default value is 1.\",\"help\":\"WAXIS=*n*\",\"type\":\"value\"},{\"name\":\"WFIT=\",\"optional\":true,\"description\":\"Line width for fit line and confidence curves.\",\"help\":\"WFIT=*linetype*\",\"type\":\"value\"},{\"name\":\"WGRID=\",\"optional\":true,\"description\":\"Specifies line thickness for grids. The default value is 1.\",\"help\":\"WGRID=*n*\",\"type\":\"value\"}]},{\"name\":\"RELATIONPLOT\",\"description\":\"You use the RELATIONPLOT statement to create life-stress relation plots. A life-stress relation plot is a graphical tool for the analysis of data from accelerated life tests. The plot is a display of the relationship between life and stress, such as temperature or voltage.\",\"help\":\"RELATIONPLOT &lt;CAXIS=color&gt;&lt;CCENSOR=color&gt;&lt;CENBIN&gt; ...\",\"arguments\":[{\"name\":\"CAXIS=\",\"optional\":true,\"description\":\"Specifies the color used for the axes and tick marks. This option overrides any COLOR= specifications in an AXIS statement. The default is the first color in the device color list.\",\"help\":\"CAXIS=*color*\",\"type\":\"color\"},{\"name\":\"CCENSOR=\",\"optional\":true,\"description\":\"Specifies the color for filling the censor plot area. The default is the first color in the device color list.\",\"help\":\"CCENSOR=*color*\",\"type\":\"color\"},{\"name\":\"CENBIN\",\"optional\":true,\"description\":\"Plots censored data as frequency counts (rounding for noninteger frequency) rather than as individual points.\",\"type\":\"standalone\"},{\"name\":\"CENCOLOR=\",\"optional\":true,\"description\":\"Specifies the color for the censor symbol. The default is the first color in the device color list.\",\"help\":\"CENCOLOR=*color*\",\"type\":\"color\"},{\"name\":\"CENSYMBOL=\",\"optional\":true,\"description\":\"Specifies symbols for censored values. The symbol is one of the symbol names (plus, star, square, diamond, triangle, hash, paw, point, dot, and circle) or a letter (A–Z).\",\"type\":\"value\"},{\"name\":\"CFIT=\",\"optional\":true,\"description\":\"Specifies the color for the fitted probability line and confidence curves. The default is the first color in the device color list.\",\"help\":\"CFIT=*color*\",\"type\":\"color\"},{\"name\":\"CFRAME=\",\"optional\":true,\"description\":\"Specifies the color for the area enclosed by the axes and frame. This area is not shaded by default.\",\"help\":\"CFRAME=*color*\",\"type\":\"color\"},{\"name\":\"CFRAMESIDE=\",\"optional\":true,\"description\":\"Color for filling frame for row labels.\",\"help\":\"CFRAMESIDE=*color*\",\"type\":\"color\"},{\"name\":\"CFRAMETOP=\",\"optional\":true,\"description\":\"Color for filling frame for column labels.\",\"help\":\"CFRAMETOP=*color*\",\"type\":\"color\"},{\"name\":\"CGRID=\",\"optional\":true,\"description\":\"Specifies the color for grid lines. The default is the first color in the device color list.\",\"help\":\"CGRID=*color*\",\"type\":\"color\"},{\"name\":\"CHREF=\",\"optional\":true,\"description\":\"Specifies the color for lines requested by the HREF= option. The default is the first color in the device color list.\",\"help\":\"CHREF=*color*\",\"type\":\"color\"},{\"name\":\"CONFIDENCE=\",\"optional\":true,\"description\":\"Specifies the confidence coefficient for all confidence intervals. Specify a number between 0 and 1. The default value is 0.95.\",\"help\":\"CONFIDENCE=*number*\",\"type\":\"value\"},{\"name\":\"CONVERGE=\",\"optional\":true,\"description\":\"Sets the convergence criterion for maximum likelihood fit.\",\"help\":\"CONVERGE=*value*\",\"type\":\"value\"},{\"name\":\"CONVH=\",\"optional\":true,\"description\":\"Specifies the convergence criterion for the relative Hessian convergence criterion.\",\"help\":\"CONVH=*number*\",\"type\":\"value\"},{\"name\":\"COORB\",\"optional\":true,\"description\":\"Requests parameter correlation matrix.\",\"type\":\"standalone\"},{\"name\":\"COVB\",\"optional\":true,\"description\":\"Requests parameter covariance matrix.\",\"type\":\"standalone\"},{\"name\":\"CTEXT=\",\"optional\":true,\"description\":\"Specifies the color for tick mark values and axis labels. The default is the color specified for the CTEXT= option in the most recent GOPTIONS statement.\",\"help\":\"CTEXT=*color*\",\"type\":\"color\"},{\"name\":\"CVREF=\",\"optional\":true,\"description\":\"Specifies the color for lines requested by the VREF= option. The default is the first color in the device color list.\",\"help\":\"CVREF=*color*\",\"type\":\"color\"},{\"name\":\"DESCRIPTION=\",\"optional\":true,\"description\":\"Description for graphics catalog member.\",\"type\":\"value\"},{\"name\":\"FITTYPE=\",\"optional\":true,\"description\":\"Specifies method of estimating distribution parameters.\",\"help\":\"FITTYPE=LSYX | LSXY | MLE | MODEL | NONE | WEIBAYES&lt;(CONFIDENCE=number)&gt;\",\"type\":\"choice\",\"arguments\":[{\"name\":\"LSYX\",\"description\":\"Least squares fit to the probability plot. The probability axis is the dependent variable.\",\"type\":\"standalone\"},{\"name\":\"LSXY\",\"description\":\"Least squares fit to the probability plot. The lifetime axis is the dependent variable.\",\"type\":\"standalone\"},{\"name\":\"MLE\",\"description\":\"Maximum likelihood (default)\",\"type\":\"standalone\"},{\"name\":\"MODEL\",\"description\":\"Uses the fit from the preceding MODEL statement.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"No fit is computed.\",\"type\":\"standalone\"},{\"name\":\"WEIBAYES\",\"description\":\"Weibayes method, where number is the confidence coefficient for the Weibayes fit and is between 0 and 1. The default value is 0.95.\",\"help\":\"WEIBAYES&lt;(CONFIDENCE=number)&gt;\",\"type\":\"value\"}]},{\"name\":\"FONT=\",\"optional\":true,\"description\":\"Specifies a software font for reference line and axis labels. You can also specify fonts for axis labels in an AXIS statement.\",\"help\":\"FONT=*font*\",\"type\":\"value\"},{\"name\":\"HCL\",\"optional\":true,\"description\":\"Computes and draws confidence limits for the predicted probabilities in the horizontal direction.\",\"type\":\"standalone\"},{\"name\":\"HEIGHT=\",\"optional\":true,\"description\":\"Specifies the height of text used outside framed areas. The default value is 3.846 (in percentage).\",\"help\":\"HEIGHT=*value*\",\"type\":\"value\"},{\"name\":\"HLOWER=\",\"optional\":true,\"description\":\"Specifies the lower limit on the lifetime axis scale. The HLOWER= option specifies value as the lower lifetime axis tick mark. The tick mark interval and the upper axis limit are determined automatically.\",\"help\":\"HLOWER=*value*\",\"type\":\"value\"},{\"name\":\"HOFFSET=\",\"optional\":true,\"description\":\"Specifies the offset for the horizontal axis. The default value is 1.\",\"help\":\"HOFFSET=*value*\",\"type\":\"value\"},{\"name\":\"HREF=\",\"optional\":true,\"description\":\"Requests reference lines perpendicular to horizontal axis. If (INTERSECT) is specified, a second reference line perpendicular to the vertical axis is drawn that intersects the fit line at the same point as the horizontal axis reference line. If a horizontal axis reference line label is specified, the intersecting vertical axis reference line is labeled with the vertical axis value.\",\"type\":\"value\"},{\"name\":\"HREFLABELS=\",\"optional\":true,\"description\":\"Specifies labels for the lines requested by the HREF= option.\",\"type\":\"value\"},{\"name\":\"HREFLABPOS=\",\"optional\":true,\"description\":\"Specifies the vertical position of labels for HREF= lines.\",\"help\":\"HREFLABPOS=1 | 2 | 3 | 4 | 5 | 6\",\"type\":\"choice\",\"arguments\":[{\"name\":\"1\",\"description\":\"Top\",\"type\":\"standalone\"},{\"name\":\"2\",\"description\":\"Staggered from top\",\"type\":\"standalone\"},{\"name\":\"3\",\"description\":\"Bottom\",\"type\":\"standalone\"},{\"name\":\"4\",\"description\":\"Staggered from bottom\",\"type\":\"standalone\"},{\"name\":\"5\",\"description\":\"Alternating from top\",\"type\":\"standalone\"},{\"name\":\"6\",\"description\":\"Alternating from bottom\",\"type\":\"standalone\"}]},{\"name\":\"HUPPER=\",\"optional\":true,\"description\":\"Specifies value as the upper lifetime axis tick mark. The tick mark interval and the lower axis limit are determined automatically.\",\"help\":\"HUPPER=*value*\",\"type\":\"value\"},{\"name\":\"INBORDER\",\"optional\":true,\"description\":\"Requests a border around probability plots.\",\"type\":\"standalone\"},{\"name\":\"INFONT=\",\"optional\":true,\"description\":\"Specifies a software font for text inside framed areas.\",\"help\":\"INFONT=*font*\",\"type\":\"value\"},{\"name\":\"INHEIGHT=\",\"optional\":true,\"description\":\"Specifies height of text inside framed areas.\",\"help\":\"INHEIGHT=*value*\",\"type\":\"value\"},{\"name\":\"INTERTILE=\",\"optional\":true,\"description\":\"Specifies the distance between tiles.\",\"help\":\"INTERTILE=*value*\",\"type\":\"value\"},{\"name\":\"ITPRINT\",\"optional\":true,\"description\":\"Requests iteration history for maximum likelihood fit.\",\"type\":\"standalone\"},{\"name\":\"ITPRINTEM\",\"optional\":true,\"description\":\"Displays the iteration history for the Turnbull algorithm.\",\"type\":\"standalone\"},{\"name\":\"LAXIS=\",\"optional\":true,\"description\":\"Specifies tick mark values for the lifetime axis. value1, value2, and value3 must be numeric, and value1 must be less than value2.\",\"type\":\"value\"},{\"name\":\"LFIT=\",\"optional\":true,\"description\":\"Specifies a line style for fitted curves and confidence limits. By default, fitted curves are drawn by connecting solid lines (linetype = 1), and confidence limits are drawn by connecting dashed lines (linetype = 3).\",\"type\":\"value\"},{\"name\":\"LGRID=\",\"optional\":true,\"description\":\"Specifies a line style for all grid lines; linetype is between 1 and 46. The default is 35.\",\"help\":\"LGRID=*linetype*\",\"type\":\"value\"},{\"name\":\"LHREF=\",\"optional\":true,\"description\":\"Specifies the line type for lines requested by the HREF= option. The default is 2, which produces a dashed line.\",\"help\":\"LHREF=*linetype*\",\"type\":\"value\"},{\"name\":\"LIFELOWER=\",\"optional\":true,\"description\":\"Specifies the lower limit on the lifetime axis scale. The LLOWER option specifies number as the lower lifetime axis tick mark.\",\"type\":\"value\"},{\"name\":\"LIFEUPPER=\",\"optional\":true,\"description\":\"Specifies the upper limit on the lifetime axis scale. The LUPPER option specifies number as the upper lifetime axis tick mark.\",\"type\":\"value\"},{\"name\":\"LOCATION=\",\"optional\":true,\"description\":\"Specifies fixed or initial value of the location, or intercept parameter.\",\"type\":\"value\"},{\"name\":\"LRCL\",\"optional\":true,\"description\":\"Requests likelihood ratio confidence intervals for distribution parameters.\",\"type\":\"standalone\"},{\"name\":\"LRCLPER\",\"optional\":true,\"description\":\"Requests likelihood ratio confidence intervals for distribution percentiles.\",\"type\":\"standalone\"},{\"name\":\"LVREF=\",\"optional\":true,\"description\":\"Specifies the line type for lines requested by the VREF= option. The default is 2, which produces a dashed line.\",\"help\":\"LVREF=*linetype*\",\"type\":\"value\"},{\"name\":\"MAXIT=\",\"optional\":true,\"description\":\"Specifies maximum number of iterations allowed for maximum likelihood fit.\",\"help\":\"MAXIT=*n*\",\"type\":\"value\"},{\"name\":\"MAXITEM=\",\"optional\":true,\"description\":\"Specifies the maximum number of iterations allowed for the Turnbull algorithm. Iteration history will be displayed in increments of n2 if requested with the ITPRINTEM option.\",\"type\":\"value\"},{\"name\":\"MISSING1\",\"optional\":true,\"description\":\"Requests that missing values of first GROUP= variable be treated as a level of the variable.\",\"type\":\"standalone\"},{\"name\":\"MISSING2\",\"optional\":true,\"description\":\"Requests that missing values of second GROUP= variable be treated as a level of the variable.\",\"type\":\"standalone\"},{\"name\":\"NAME=\",\"optional\":true,\"description\":\"Specifies a name for the plot, up to eight characters, in graphics catalog.\",\"type\":\"value\"},{\"name\":\"NCOLS=\",\"optional\":true,\"description\":\"Specifies number of columns plotted on a page.\",\"help\":\"NCOLS=*n*\",\"type\":\"value\"},{\"name\":\"NOCENPLOT\",\"optional\":true,\"description\":\"Suppresses the plotting of censored data points.\",\"type\":\"standalone\"},{\"name\":\"NOCONF\",\"optional\":true,\"description\":\"Suppresses the default percentile confidence bands on the probability plot.\",\"type\":\"standalone\"},{\"name\":\"NOFIT\",\"optional\":true,\"description\":\"Suppresses the fitted probability (percentile) line and confidence bands.\",\"type\":\"standalone\"},{\"name\":\"NOFRAME\",\"optional\":true,\"description\":\"Suppresses the frame around plotting areas.\",\"type\":\"standalone\"},{\"name\":\"NOGRID\",\"optional\":true,\"description\":\"Suppresses grid lines.\",\"type\":\"standalone\"},{\"name\":\"NOPCTILES\",\"optional\":true,\"description\":\"Suppresses computation of percentiles for standard list of percentage points.\",\"type\":\"standalone\"},{\"name\":\"NOPOLISH\",\"optional\":true,\"description\":\"Suppresses setting small interval probabilities to zero in the Turnbull algorithm.\",\"type\":\"standalone\"},{\"name\":\"NOPPLEGEND\",\"optional\":true,\"description\":\"Suppresses legend for overlaid probability plots.\",\"type\":\"standalone\"},{\"name\":\"NOPPOS\",\"optional\":true,\"description\":\"Suppresses plotting of symbols for failures in a probability plot.\",\"type\":\"standalone\"},{\"name\":\"NPINTERVALS=\",\"optional\":true,\"description\":\"Specifies type of nonparametric confidence interval displayed in a probability plot.\",\"help\":\"NPINTERVALS=POINTWISE | SIMUL&lt;number1, number2&gt;\",\"type\":\"choice\",\"arguments\":[{\"name\":\"POINTWISE\",\"description\":\"Pointwise confidence intervals for the CDF\",\"type\":\"standalone\"},{\"name\":\"SIMUL\",\"description\":\"Simultaneous confidence intervals for the CDF\",\"help\":\"SIMUL&lt;number1, number2&gt;\",\"type\":\"standalone\"}]},{\"name\":\"NROWS=\",\"optional\":true,\"description\":\"Specifies number of rows plotted on a page.\",\"help\":\"NROWS=*n*\",\"type\":\"value\"},{\"name\":\"ONINSET\",\"optional\":true,\"description\":\"Suppresses inset.\",\"type\":\"standalone\"},{\"name\":\"ORDER=\",\"optional\":true,\"description\":\"Specifies sort order for values of the classification variables in the effect-list.\",\"help\":\"ORDER=DATA | FORMATTED | FREQ | INTERNAL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DATA\",\"description\":\"Orders values according to their order in the input data set.\",\"type\":\"standalone\"},{\"name\":\"FORMATTED\",\"description\":\"Orders values by their ascending formatted values. This order depends on your operating environment.\",\"type\":\"standalone\"},{\"name\":\"FREQ\",\"description\":\"Orders values by descending frequency count so that levels with the most observations are listed first.\",\"type\":\"standalone\"},{\"name\":\"INTERNAL\",\"description\":\"Orders values by their unformatted values, which yields the same order as PROC SORT. This order depends on your operating environment.\",\"type\":\"standalone\"}]},{\"name\":\"OVERLAY\",\"optional\":true,\"description\":\"Requests overlaid plots for group variables.\",\"type\":\"standalone\"},{\"name\":\"PCONFPLT\",\"optional\":true,\"description\":\"Plots confidence intervals on probabilities for readout data.\",\"type\":\"standalone\"},{\"name\":\"PCTLIST=\",\"optional\":true,\"description\":\"Specifies the list of percentages for which to compute percentile estimates; value-list must be a list of values separated by blanks or commas. Each value in the list must be between 0 and 100.\",\"help\":\"PCTLIST=*value-list*\",\"type\":\"value\"},{\"name\":\"PCTLOWER=\",\"optional\":true,\"description\":\"Specifies the lower limit on the probability axis scale. The PLOWER= option specifies value as the lower probability axis tick mark. The tick mark interval and the upper axis limit are determined automatically.\",\"help\":\"PCTLOWER=*value*\",\"type\":\"value\"},{\"name\":\"PCTUPPER=\",\"optional\":true,\"description\":\"Specifies the upper limit on the probability axis scale. The PUPPER= option specifies value as the upper probability axis tick mark. The tick mark interval and the lower axis limit are determined automatically.\",\"type\":\"value\"},{\"name\":\"PINTERVALS=\",\"optional\":true,\"description\":\"Type of parametric pointwise confidence interval displayed in a probability plot.\",\"help\":\"PINTERVALS=LIKELIHOOD | PERCENTILES | PROBABILITY\",\"type\":\"choice\",\"arguments\":[{\"name\":\"LIKELIHOOD\",\"description\":\"Likelihood ratio confidence intervals\",\"type\":\"standalone\"},{\"name\":\"PERCENTILES\",\"description\":\"Pointwise parametric confidence intervals for the percentiles of the fitted CDF\",\"type\":\"standalone\"},{\"name\":\"PROBABILITY\",\"description\":\"Pointwise parametric confidence intervals for the cumulative failure probabilities\",\"type\":\"standalone\"}]},{\"name\":\"PPLEGEND=\",\"optional\":true,\"description\":\"Identifies LEGENDn statement to specify legend for overlaid probability plots.\",\"type\":\"value\"},{\"name\":\"PPOS=\",\"optional\":true,\"description\":\"Specifies the plotting position type.\",\"help\":\"PPOS=EXPRANK | MEDRANK | MEDRANK1 | KM | MKM\",\"type\":\"choice\",\"arguments\":[{\"name\":\"EXPRANK\",\"description\":\"Expected ranks\",\"type\":\"standalone\"},{\"name\":\"MEDRANK\",\"description\":\"Median ranks\",\"type\":\"standalone\"},{\"name\":\"MEDRANK1\",\"description\":\"Median ranks (exact formula)\",\"type\":\"standalone\"},{\"name\":\"KM\",\"description\":\"Kaplan-Meier\",\"type\":\"standalone\"},{\"name\":\"MKM\",\"description\":\"Modified Kaplan-Meier (default)\",\"type\":\"standalone\"}]},{\"name\":\"PPOSCOLOR=\",\"optional\":true,\"description\":\"Colors of symbols representing failures on a probability plot.\",\"help\":\"PPOSCOLOR=*color*\",\"type\":\"color\"},{\"name\":\"PPOSSYMBOL=\",\"optional\":true,\"description\":\"Symbols representing failures on a probability plot.\",\"type\":\"value\"},{\"name\":\"PPOUT\",\"optional\":true,\"description\":\"Specifies that a table of the cumulative probabilities plotted on the probability plot be displayed.\",\"type\":\"standalone\"},{\"name\":\"PRINTPROBS\",\"optional\":true,\"description\":\"Prints intervals and associated probabilities for the Turnbull algorithm.\",\"type\":\"standalone\"},{\"name\":\"PROBLIST=\",\"optional\":true,\"description\":\"Specifies the list of initial values for the Turnbull algorithm\",\"help\":\"PROBLIST=*value-list*\",\"type\":\"value\"},{\"name\":\"PSTABLE=\",\"optional\":true,\"description\":\"Specifies stable parameterization. The number must be between zero and one.\",\"help\":\"PSTABLE=*number*\",\"type\":\"value\"},{\"name\":\"READOUT\",\"optional\":true,\"description\":\"Analyzes data in readout structure. The FREQ statement must be used to specify the number of units failing in each interval, and the NENTER statement must be used to specify the number of unfailed units entering each interval.\",\"type\":\"standalone\"},{\"name\":\"ROTATE\",\"optional\":true,\"description\":\"Requests probability plots with probability scale on the horizontal axis.\",\"type\":\"standalone\"},{\"name\":\"SCALE=\",\"optional\":true,\"description\":\"Specifies fixed or initial value of scale parameter.\",\"type\":\"value\"},{\"name\":\"SHAPE=\",\"optional\":true,\"description\":\"Specifies fixed or initial value of shape parameter.\",\"type\":\"value\"},{\"name\":\"SHOWMULTIPLES\",\"optional\":true,\"description\":\"Display the count for multiple overlaying symbols.\",\"type\":\"standalone\"},{\"name\":\"SINGULAR=\",\"optional\":true,\"description\":\"Specifies singularity criterion for matrix inversion.\",\"help\":\"SINGULAR=*number*\",\"type\":\"value\"},{\"name\":\"SURVTIME=\",\"optional\":true,\"description\":\"Requests that the survival function, cumulative distribution function, and confidence limits be computed for values in number-list\",\"help\":\"SURVTIME=*number-list*\",\"type\":\"value\"},{\"name\":\"THRESHOLD=\",\"optional\":true,\"description\":\"Specifies a fixed threshold parameter.\",\"help\":\"THRESHOLD=*number*\",\"type\":\"value\"},{\"name\":\"TOLLIKE=\",\"optional\":true,\"description\":\"Specifies criterion for convergence in the Turnbull algorithm. Default is 10⁻⁸.\",\"help\":\"TOLLIKE=*number*\",\"type\":\"value\"},{\"name\":\"TOLPROB=\",\"optional\":true,\"description\":\"Specifies criterion for setting interval probability to zero in the Turnbull algorithm. Default is 10⁻⁶.\",\"help\":\"TOLPROB=*number*\",\"type\":\"value\"},{\"name\":\"TURNVLABELS\",\"optional\":true,\"description\":\"Vertically strings out characters in labels for vertical axis.\",\"type\":\"standalone\"},{\"name\":\"VOFFSET=\",\"optional\":true,\"description\":\"Length of offset at upper end of vertical axis.\",\"help\":\"VOFFSET=*value*\",\"type\":\"value\"},{\"name\":\"VREF=\",\"optional\":true,\"description\":\"Requests reference lines perpendicular to the vertical axis.\",\"type\":\"value\"},{\"name\":\"VREFLABELS=\",\"optional\":true,\"description\":\"Specifies labels for the lines requested by the VREF= option. The number of labels must equal the number of lines. Enclose each label in quotes. Labels can be up to 16 characters.\",\"type\":\"value\"},{\"name\":\"VREFLABPOS=\",\"optional\":true,\"description\":\"Specifies the horizontal position of labels for VREF= lines.\",\"help\":\"VREFLABPOS=1 | 2\",\"type\":\"choice\",\"arguments\":[{\"name\":\"1\",\"description\":\"Left\",\"type\":\"standalone\"},{\"name\":\"2\",\"description\":\"Right\",\"type\":\"standalone\"}]},{\"name\":\"WAXIS=\",\"optional\":true,\"description\":\"Specifies line thickness for axes and frame. The default value is 1.\",\"help\":\"WAXIS=*n*\",\"type\":\"value\"},{\"name\":\"WFIT=\",\"optional\":true,\"description\":\"Line width for fit line and confidence curves.\",\"help\":\"WFIT=*linetype*\",\"type\":\"value\"},{\"name\":\"WGRID=\",\"optional\":true,\"description\":\"Specifies line thickness for grids. The default value is 1.\",\"help\":\"WGRID=*n*\",\"type\":\"value\"}]},{\"name\":\"UNITID\",\"description\":\"The UNITID statement names a variable in the input data set that is used to identify each individual uni t in an MCFPLOT statement. The value of the UNITID variable for an observation corresponds to the name of the unit in the study for which a repair or end of history has occurred.\",\"help\":\"UNITID variable\"}],\"supportSiteInformation\":{\"docsetId\":\"qcug\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"qcug_reliability_toc.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/REPORT.json",
    "content": "{\"name\":\"REPORT\",\"statements\":[{\"name\":\"PROC REPORT\",\"description\":\"Combines features of the PRINT, MEANS, and TABULATE procedures with features of the DATA step in a single report-writing tool that can produce a variety of reports.\",\"help\":\"PROC REPORT <options>; \\n\\tATTRIB  variable-list(s) attribute-list(s);\\n\\n\\tBREAK  locationbreak-variable</ options>\\n\\n\\tBY <DESCENDING>variable-1<<DESCENDING>variable-2  ...><NOTSORTED>;\\n\\n\\tCOLUMN  column-specification(s);\\n\\n\\t\\n\\t\\tCOMPUTE location<target>\\n\\t\\t\\t</ STYLE=<style-override(s)> >;\\n\\t\\t\\n\\t\\t\\tLINE specification(s);\\n\\t\\t\\t. . . select SAS language elements . . .\\n\\t\\t\\tENDCOMP ;\\n\\t\\tCOMPUTE report-item </ type-specification>; \\n\\t\\t\\tCALL DEFINE  (column-id ', < ' attribute-name',  value>\\n\\t\\t\\t\\t| _ROW_, < 'attribute-name',  value>);\\n\\t\\t\\t. . . select SAS language elements . . .\\n\\t\\t\\tENDCOMP ;\\n\\n\\tDEFINE report-item / <options>;\\n\\n\\tFORMAT variable-1< ...variable-n><format><DEFAULT=default-format>;\\n\\n\\tFREQ variable;\\n\\n\\tLABEL variable-1=label-1< ...variable-n=label-n>;\\n\\n\\tRBREAK location</ options>;\\n\\n\\tWEIGHT variable;\\n\\n\\tWHERE where-expression-1\\n\\t\\t<logical-operator where-expression-n>; \\n\",\"arguments\":[{\"name\":\"BYPAGENO=\",\"optional\":true,\"description\":\"resets the page number between BY groups.\",\"help\":\"BYPAGENO=*number*\",\"type\":\"value\"},{\"name\":\"CAPTION=\",\"optional\":true,\"description\":\"specifies a caption text string to add before each table. If no string is specified, the caption defaults to the text specified by the CONTENTS= option.\",\"help\":\"CAPTION=*text*&lt;#BYLINE&gt; &lt;#BYVAL&gt;&lt;#BYVAR&gt;\",\"type\":\"value\",\"arguments\":[{\"name\":\"#BYLINE\",\"description\":\"substitutes the entire BY line without leading or trailing blanks for #BYLINE in the text string. The BY line uses the format variable-name=value.\",\"type\":\"standalone\"},{\"name\":\"#BYVAL\",\"description\":\"substitutes the current value of the specified BY variable for #BYVAL in the text string.\",\"help\":\"#BYVAL*n* <br/> #BYVAL(*BY-variable-name*)\",\"type\":\"value\",\"arguments\":[{\"name\":\"n\",\"placeholder\":true,\"description\":\"specifies a variable by its position in the BY statement. For example, #BYVAL2 specifies the second variable in the BY statement.\",\"help\":\"*n* \",\"type\":\"value\"},{\"name\":\"BY-variable-name\",\"placeholder\":true,\"description\":\"specifies a variable from the BY statement by its name. For example, #BYVAL(YEAR) specifies the BY variable, YEAR. Variable-name is not case sensitive.\",\"type\":\"value\"}]},{\"name\":\"#BYVAR\",\"description\":\"substitutes the name of the BY-variable or the label associated with the variable (whatever the BY line would normally display) for #BYVAR in the text string.\",\"help\":\"#BYVAR*n* <br/> #BYVAR(*BY-variable-name*)\",\"type\":\"value\",\"arguments\":[{\"name\":\"n\",\"placeholder\":true,\"description\":\"specifies a variable by its position in the BY statement. For example, #BYVAR2 specifies the second variable in the BY statement.\",\"help\":\"*n* \",\"type\":\"value\"},{\"name\":\"BY-variable-name\",\"placeholder\":true,\"description\":\"specifies a variable from the BY statement by its name. For example, #BYVAR(SITES) specifies the BY variable, SITES. Variable-name is not case sensitive.\",\"type\":\"value\"}]}]},{\"name\":\"CENTER\",\"optional\":true,\"description\":\"specifies whether to center or left-justify the report and summary text.\",\"type\":\"standalone\"},{\"name\":\"NOCENTER\",\"optional\":true,\"description\":\"specifies whether to center or left-justify the report and summary text.\",\"help\":\"NOCENTER \",\"type\":\"standalone\"},{\"name\":\"COMPLETECOLS\",\"optional\":true,\"description\":\"creates all possible combinations of the across variable values.\",\"type\":\"standalone\"},{\"name\":\"NOCOMPLETECOLS\",\"optional\":true,\"description\":\"creates all possible combinations of the across variable values.\",\"type\":\"standalone\"},{\"name\":\"COMPLETEROWS\",\"optional\":true,\"description\":\"creates all possible combinations of the group variable values.\",\"type\":\"standalone\"},{\"name\":\"NOCOMPLETEROWS\",\"optional\":true,\"description\":\"creates all possible combinations of the group variable values.\",\"type\":\"standalone\"},{\"name\":\"CONTENTS=\",\"optional\":true,\"description\":\"specifies text for the table of contents entry for the output.\",\"help\":\"CONTENTS='*link-text*'&lt;#BYLINE&gt; &lt;#BYVAL&gt; &lt;#BYVAR&gt;\",\"type\":\"value\",\"arguments\":[{\"name\":\"#BYLINE\",\"description\":\"substitutes the entire BY line without leading or trailing blanks for #BYLINE in the text string. The BY line uses the format variable-name=value.\",\"type\":\"standalone\"},{\"name\":\"#BYVAL\",\"description\":\"substitutes the current value of the specified BY variable for #BYVAL in the text string.\",\"help\":\"#BYVAL*n* <br/> #BYVAL(*BY-variable-name*)\",\"type\":\"value\",\"arguments\":[{\"name\":\"n\",\"placeholder\":true,\"description\":\"specifies a variable by its position in the BY statement. For example, #BYVAL2 specifies the second variable in the BY statement.\",\"help\":\"*n* \",\"type\":\"value\"},{\"name\":\"BY-variable-name\",\"placeholder\":true,\"description\":\"specifies a variable from the BY statement by its name. For example, #BYVAL(YEAR) specifies the BY variable, YEAR. Variable-name is not case sensitive.\",\"type\":\"value\"}]},{\"name\":\"#BYVAR\",\"description\":\"substitutes the name of the BY-variable or the label associated with the variable (whatever the BY line would normally display) for #BYVAR in the text string.\",\"help\":\"#BYVAR*n* <br/> #BYVAR(*BY-variable-name*)\",\"type\":\"value\",\"arguments\":[{\"name\":\"n\",\"placeholder\":true,\"description\":\"specifies a variable by its position in the BY statement. For example, #BYVAR2 specifies the second variable in the BY statement.\",\"help\":\"*n* \",\"type\":\"value\"},{\"name\":\"BY-variable-name\",\"placeholder\":true,\"description\":\"specifies a variable from the BY statement by its name. For example, #BYVAR(SITES) specifies the BY variable, SITES. Variable-name is not case sensitive.\",\"type\":\"value\"}]}]},{\"name\":\"DATA=\",\"optional\":true,\"description\":\"specifies the input data set.\",\"help\":\"DATA=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"EXCLNPWGT\",\"optional\":true,\"aliases\":[\"EXCLNPWGTS\"],\"description\":\"excludes observations with nonpositive weight values from the analysis.\",\"type\":\"standalone\"},{\"name\":\"LIST\",\"optional\":true,\"description\":\"writes to the SAS log the PROC REPORT code that creates the current report.\",\"type\":\"standalone\"},{\"name\":\"MISSING\",\"optional\":true,\"description\":\"considers missing values as valid values for group, order, or across variables.\",\"type\":\"standalone\"},{\"name\":\"NAMED\",\"optional\":true,\"description\":\"writes name= in front of each value in the report, where name= is the column heading for the value.\",\"type\":\"standalone\"},{\"name\":\"NOALIAS\",\"optional\":true,\"description\":\"uses a report that was created before compute blocks required aliases.\",\"type\":\"standalone\"},{\"name\":\"NOEXEC\",\"optional\":true,\"aliases\":[\"NOEXECUTE\"],\"description\":\"suppresses the building of the report.\",\"type\":\"standalone\"},{\"name\":\"NOHEADER\",\"optional\":true,\"description\":\"suppresses column headings.\",\"type\":\"standalone\"},{\"name\":\"OUT=\",\"optional\":true,\"description\":\"specifies the output data set.\",\"help\":\"OUT=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"OUTREPT=\",\"optional\":true,\"description\":\"stores in the specified catalog the report definition that is defined by the PROC REPORT step that you submit.\",\"help\":\"OUTREPT=*libref.catalog.entry*\",\"type\":\"dataSet\"},{\"name\":\"QMARKERS=\",\"optional\":true,\"description\":\"specifies the sample size to use for the P2 quantile estimation method.\",\"help\":\"QMARKERS=*number*\",\"type\":\"value\"},{\"name\":\"QMETHOD=\",\"optional\":true,\"description\":\"specifies the quantile estimation method.\",\"help\":\"QMETHOD=OS | P2\",\"type\":\"choice\",\"arguments\":[{\"name\":\"OS\",\"description\":\"uses order statistics. PROC UNIVARIATE uses this technique.\",\"type\":\"standalone\"},{\"name\":\"P2\",\"description\":\"uses the P2 method to approximate the quantile.\",\"type\":\"standalone\"}]},{\"name\":\"QNTLDEF=\",\"optional\":true,\"aliases\":[\"PCTLDEF=\"],\"description\":\"specifies the mathematical definition to calculate quantiles.\",\"help\":\"QNTLDEF=1 | 2 | 3 | 4 | 5\",\"type\":\"choice\",\"arguments\":[{\"name\":\"1\",\"type\":\"standalone\"},{\"name\":\"2\",\"type\":\"standalone\"},{\"name\":\"3\",\"type\":\"standalone\"},{\"name\":\"4\",\"type\":\"standalone\"},{\"name\":\"5\",\"type\":\"standalone\"}]},{\"name\":\"REPORT=\",\"optional\":true,\"description\":\"specifies the report definition to use.\",\"help\":\"REPORT=*libref.catalog.entry*\",\"type\":\"dataSet\"},{\"name\":\"SHOWALL\",\"optional\":true,\"description\":\"overrides options in the DEFINE statement that suppress the display of a column.\",\"type\":\"standalone\"},{\"name\":\"SPANROWS\",\"optional\":true,\"description\":\"specifies that a single cell occupies the column in all the rows for which the value is the same.\",\"type\":\"standalone\"},{\"name\":\"SPLIT=\",\"optional\":true,\"description\":\"specifies the split character.\",\"help\":\"SPLIT='*character*'\",\"type\":\"value\"},{\"name\":\"STYLE=\",\"optional\":true,\"description\":\"specifies one or more style overrides to use for different parts of the report.\",\"help\":\"STYLE&lt;(*location(s)*)&gt;=*style-override(s)*\",\"type\":\"value\"},{\"name\":\"THREADS\",\"optional\":true,\"description\":\"overrides the SAS system option THREADS | NOTHREADS.\",\"type\":\"standalone\"},{\"name\":\"NOTHREADS\",\"optional\":true,\"description\":\"overrides the SAS system option THREADS | NOTHREADS.\",\"type\":\"standalone\"},{\"name\":\"VARDEF=\",\"optional\":true,\"description\":\"specifies the divisor to use in the calculation of variances.\",\"help\":\"VARDEF=*divisor*\",\"type\":\"value\",\"arguments\":[{\"name\":\"DF\",\"description\":\"Degrees of freedom\",\"type\":\"standalone\"},{\"name\":\"N\",\"description\":\"Number of observations\",\"type\":\"standalone\"},{\"name\":\"WDF\",\"description\":\"Sum of weights minus one\",\"type\":\"standalone\"},{\"name\":\"WEIGHT\",\"aliases\":[\"WGT\"],\"description\":\"Sum of weights\",\"type\":\"standalone\"}]}]},{\"name\":\"ATTRIB\",\"description\":\"Associates a format, informat, label, and length with one or more variables.\",\"help\":\"ATTRIB  *variable-list(s)**attribute-list(s)*;\",\"arguments\":[{\"name\":\"variable-list\",\"optional\":true,\"placeholder\":true,\"description\":\"names the variables that you want to associate with the attributes.\",\"help\":\"*variable-list(s)*\",\"type\":\"value\"},{\"name\":\"FORMAT=\",\"description\":\"associates a format with variables in variable-list.\",\"help\":\"FORMAT=*format*\",\"type\":\"value\"},{\"name\":\"INFORMAT=\",\"description\":\"associates an informat with variables in variable-list.\",\"help\":\"INFORMAT=*informat*\",\"type\":\"value\"},{\"name\":\"LABEL=\",\"description\":\"associates a label with variables in variable-list.\",\"help\":\"LABEL='*label*' \",\"type\":\"value\"}]},{\"name\":\"BREAK\",\"description\":\"Produces a default summary at a break (a change in the value of a group or order variable). The information in a summary applies to a set of observations. The observations share a unique combination of values for the break variable and all other group or order variables to the left of the break variable in the report.\",\"help\":\"BREAK  *location**break-variable*&lt;/ *options*&gt;;\",\"arguments\":[{\"name\":\"AFTER\",\"description\":\"places the break lines immediately after the last row of each set of rows that have thesame value for the break variable.\",\"type\":\"standalone\"},{\"name\":\"BEFORE\",\"description\":\"places the break lines immediately before the first row of each set of rows that have the same value for the break variable.\",\"type\":\"standalone\"},{\"name\":\"break-variable\",\"placeholder\":true,\"description\":\"is a group or order variable. The REPORT procedure writes break lines each time the value of this variable changes.\",\"type\":\"value\"},{\"name\":\"CONTENTS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the link text used in the table of contents.\",\"help\":\"CONTENTS='*link-text*'\",\"type\":\"value\"},{\"name\":\"PAGE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"starts a new page after the last break line.\",\"type\":\"standalone\"},{\"name\":\"STYLE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a style override to use for default summary lines, customized summary lines or both.\",\"help\":\"STYLE&lt;*location(s)*&gt;=&lt;*style-override*&gt;\",\"type\":\"value\"},{\"name\":\"SUMMARIZE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"writes a summary line in each group of break lines.\",\"type\":\"standalone\"},{\"name\":\"SUPPRESS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses the printing of the value of the break variable in the summary line and of any underlining or overlining in the break lines in the column containing the break variable.\",\"type\":\"standalone\"}]},{\"name\":\"BY\",\"description\":\"Orders the output according to the BY groups.\",\"help\":\"BY <DESCENDING>variable-1\\n\\t<… <DESCENDING> variable-n>\\n\\t<NOTSORTED>;\",\"arguments\":[{\"name\":\"variable\",\"placeholder\":true,\"description\":\"specifies the variable that the procedure uses to form BY groups. You can specify more than one variable. If you do not use the NOTSORTED option in the BY statement, then either the observations in the data set must be sorted by all the variables that you specify, or they must be indexed appropriately. Variables in a BY statement are called BY variables.\",\"type\":\"value\"},{\"name\":\"DESCENDING\",\"optional\":true,\"description\":\"specifies that the observations are sorted in descending order by the variable that immediately follows the word DESCENDING in the BY statement.\",\"type\":\"standalone\"},{\"name\":\"NOTSORTED\",\"optional\":true,\"description\":\"specifies that observations are not necessarily sorted in alphabetic or numeric order. The observations are grouped in another way (for example, chronological order).\",\"type\":\"standalone\"}]},{\"name\":\"CALL DEFINE\",\"description\":\"Sets the value of an attribute for a particular column in the current row. Only the FORMAT, URL, URLBP, and URLP attributes have an effect. The STYLE= and URL attributes are effective only when you are using ODS to create output.\",\"help\":\"CALL DEFINE  (*column-id* | _ROW_,  '*attribute-name*', *value*);\",\"arguments\":[{\"name\":\"column-id\",\"placeholder\":true,\"description\":\"specifies a column name or a column number (that is, the position of the column from the left edge of the report). A column ID can be one of the following:\\n• a character literal (in quotation marks) that is the column name\\n• a character expression that resolves to the column name\\n• a numeric literal that is the column number \\n• a numeric expression that resolves to the column number\\n• a name of the form '_C<i>n</i>_', where <i>n</i> is the column number\\n• the automatic variable _COL_, which identifies the column that contains the report item that the compute block is attached to\",\"type\":\"value\"},{\"name\":\"_ROW_\",\"description\":\"is an automatic variable that indicates the entire current row.\",\"type\":\"standalone\"},{\"name\":\"attribute-name\",\"placeholder\":true,\"description\":\"is the attribute to define. Attributes can be FORMAT=, STYLE=, STYLE/MERGE, STYLE/REPLACE, URL, URLBP, and URLP.\",\"type\":\"value\"},{\"name\":\"value\",\"placeholder\":true,\"description\":\"sets the value for the attribute. Attributes can be FORMAT=, STYLE=, STYLE/MERGE, STYLE/REPLACE, URL, URLBP, and URLP.\",\"type\":\"value\"}]},{\"name\":\"COLUMN\",\"aliases\":[\"COL\",\"COLS\",\"COLUMNS\"],\"description\":\"Describes the arrangement of all columns and of headings that span more than one column.\",\"help\":\"COLUMN &lt;('*header-1*'&lt; ...                   '*header-n*'&gt;&gt;*report-item*&lt;,  ...*report-item-n*&gt;;\",\"arguments\":[{\"name\":\"report-item\",\"placeholder\":true,\"description\":\"identifies report items that collectively determine the contents of the column or columns.These items are said to be stacked in the report because each item generates a heading, and the headings are stacked one above the other. The heading for the leftmost item is on top. If one of the items is an analysis variable, a computed variable, a group variable, or a statistic, then its values fill the cells in that part of the report. Otherwise, PROC REPORT fills the cells with frequency counts.\",\"type\":\"value\"},{\"name\":\"'header'\",\"placeholder\":true,\"description\":\"creates one or more headings that span multiple columns.\",\"help\":\"'*header*' \",\"type\":\"value\"},{\"name\":\"report-item=\",\"placeholder\":true,\"description\":\"specifies an alias for a report item. You can use the same report item more than once in a COLUMN statement. However, you can use only one DEFINE statement for any given name. (The DEFINE statement designates characteristics such as formats and customized column headings. If you omit a DEFINE statement for an item, then the REPORT procedure uses defaults.) Assigning an alias in the COLUMN statement does not by itself alter the report. However, it does enable you to use separate DEFINE statements for each occurrence of a variable or statistic.\",\"help\":\"*report-item*=*name*\",\"type\":\"value\"}]},{\"name\":\"COMPUTE\",\"description\":\"Starts a compute block containing one or more programming statements that PROC REPORT executes as it builds the report. A compute block begins with a COMPUTE statement and ends with an ENCOMP statement. Within a compute block, you can use these SAS statements: %INCLUDE, ARRAY, an array reference, an assignment statement, CALL, CONTINUE, DO (all forms) END, END, IF-THEN/ELSE, LENGTH, RETURN, sum, comments, null statements, macro variables and macro invocations, and all DATA step functions. Within a compute block, you can also use these PROC REPORT features: one or more LINE statements, one or more CALL DEFINE statements, and the automatic variable _BREAK_.\",\"help\":\"\\n\\tCOMPUTE location<target>\\n\\t\\t< /STYLE=<style-override(s) >>;\\n\\n\\t\\n\\t\\tLINE specification(s);\\n\\t\\t. . . select SAS language elements . . .\\n\\t\\tENDCOMP ;\\n\\n\\tCOMPUTE report-item </ type-specification>; \\n\\t\\tCALL DEFINE  (column-id, 'attribute-name', value);\\n\\t\\t. . . select SAS language elements . . .\\n\\t\\tENDCOMP ;\\n\",\"arguments\":[{\"name\":\"AFTER\",\"description\":\"executes the compute block at a break in one of the following places:\\n• immediately after the last row of a set of rows that have the same value for the variable that you specify as<i>target</i> or, if there is a default summary on that variable, immediately after the creation of the preliminary summary line.\\n• at the end of the report if you omit a target.\",\"type\":\"standalone\"},{\"name\":\"BEFORE\",\"description\":\"executes the compute block at a break in one of the following places:\\n• immediately before the first row of a set of rows that have the same value for the variable that you specify as <i>target</i> or, if there is a default summary on that variable, immediately after the creation of the preliminary summary line. \\n• immediately before the first detail row if you omit a target.\",\"type\":\"standalone\"},{\"name\":\"report-item\",\"placeholder\":true,\"description\":\"specifies a data set variable, a computed variable, or a statistic to associate the compute block with. You must include the report item in the COLUMN statement. If the item is a computed variable, then you must include a DEFINE statement for it.\",\"type\":\"value\"},{\"name\":\"break-variable\",\"placeholder\":true,\"description\":\"is a group or order variable.\",\"type\":\"value\"},{\"name\":\"_PAGE_\",\"description\":\"justification controls the placement of text and values. It can be CENTER, LEFT, or RIGHT.\",\"help\":\"_PAGE_ &lt;/ justification&gt; \",\"type\":\"standalone\",\"arguments\":[{\"name\":\"CENTER\",\"description\":\"centers each line that the compute block writes.\",\"type\":\"standalone\"},{\"name\":\"LEFT\",\"description\":\"left-justifies each line that the compute block writes.\",\"type\":\"standalone\"},{\"name\":\"RIGHT\",\"description\":\"right-justifies each line that the compute block writes.\",\"type\":\"standalone\"}]},{\"name\":\"CHARACTER\",\"aliases\":[\"CHAR\"],\"description\":\"specifies that the computed variable is a character variable. If you do not specify a length, then the variable's length is 8.\",\"type\":\"standalone\"},{\"name\":\"LENGTH=\",\"description\":\"specifies the length of a computed character variable.\",\"help\":\"LENGTH=*length*\",\"type\":\"value\"},{\"name\":\"STYLE\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"S=\"],\"description\":\"specifies the style to use for the text that is created by any LINE statements in this compute block.\",\"help\":\"STYLE&lt;(*location(s)*)&gt;=&lt;*style-override(s)*&gt;\",\"type\":\"value\"}]},{\"name\":\"DEFINE\",\"description\":\"Describes how to use and display a report item.\",\"help\":\"DEFINE *report-item* / &lt;*options*&gt;;\",\"arguments\":[{\"name\":\"report-item\",\"placeholder\":true,\"description\":\"specifies the name or alias (established in the COLUMN statement) of the data set variable, computed variable, or statistic to define. The following are types of names that can be used for report-item:\\n• a SAS identifier (determined by the VALIDVARNAME option)\\n• a name literal\\n•  a numbered range list\\n• a name range list\\n• a special name list\\n• a name prefix list\\n• a statistic\",\"type\":\"value\"},{\"name\":\"ACROSS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"defines the item, which must be a data set variable, as an across variable.\",\"type\":\"standalone\"},{\"name\":\"ANALYSIS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"defines the item, which must be a data set variable, as an analysis variable.\",\"type\":\"standalone\"},{\"name\":\"CENTER\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"centers the formatted values of the report item within the column width and center the column heading over the values.\",\"type\":\"standalone\"},{\"name\":\"column-header\",\"optional\":true,\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"defines the column heading for the report item.\",\"type\":\"value\"},{\"name\":\"COMPUTED\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"defines the item as a computed variable.\",\"type\":\"standalone\"},{\"name\":\"CONTENTS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"creates a link in the table of contents.\",\"help\":\"CONTENTS='*link-text*'\",\"type\":\"value\"},{\"name\":\"DESCENDING\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"reverses the order in which PROC REPORT displays rows or values of a group, order, or across variable.\",\"type\":\"standalone\"},{\"name\":\"DISPLAY\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"defines the item, which must be a data set variable, as a display variable.\",\"type\":\"standalone\"},{\"name\":\"EXCLUSIVE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"excludes all combinations of the item that are not found in the preloaded range of user-defined formats.\",\"type\":\"standalone\"},{\"name\":\"FORMAT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"F=\"],\"description\":\"assigns a SAS or user-defined format to the item.\",\"help\":\"FORMAT=*format*\",\"type\":\"value\"},{\"name\":\"GROUP\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"defines the item, which must be a data set variable, as a group variable.\",\"type\":\"standalone\"},{\"name\":\"ID\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that the item that you are defining is an ID variable.\",\"type\":\"standalone\"},{\"name\":\"LEFT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"left-justifies the formatted values of the report item within the column width and left-justifies the column headings over the values.\",\"type\":\"standalone\"},{\"name\":\"MISSING\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"considers missing values as valid values for the item.\",\"type\":\"standalone\"},{\"name\":\"MLF\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"enables PROC REPORT to use the format label or labels to create subgroup combinations that have multilabel formats.\",\"type\":\"standalone\"},{\"name\":\"NOPRINT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses the display of the report item.\",\"type\":\"standalone\"},{\"name\":\"NOZERO\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses the display of the report item if its valuesare all zero or missing.\",\"type\":\"standalone\"},{\"name\":\"ORDER\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"defines the item, which must be a data set variable, as an order variable.\",\"type\":\"standalone\"},{\"name\":\"ORDER=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"orders the values of a group, order, or across variable according to the specified order.\",\"help\":\"ORDER=DATA | FORMATTED | FREQ | INTERNAL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DATA\",\"followsDelimiter\":\"/\",\"description\":\"orders values according to their order in the input data set.\",\"type\":\"standalone\"},{\"name\":\"FORMATTED\",\"followsDelimiter\":\"/\",\"description\":\"orders values by their formatted (external) values. If no format has been assigned to a class variable, then the default format, BEST12., is used.\",\"type\":\"standalone\"},{\"name\":\"FREQ\",\"followsDelimiter\":\"/\",\"description\":\"orders values by ascending frequency count.\",\"type\":\"standalone\"},{\"name\":\"INTERNAL\",\"followsDelimiter\":\"/\",\"description\":\"orders values by their unformatted values, which yields the same order that PROC SORT would yield. This order is operating environment-dependent. This sort sequence is particularly useful for displaying dates chronologically.\",\"type\":\"standalone\"}]},{\"name\":\"PAGE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"inserts a page break just before printing the first column containing values of the report item.\",\"type\":\"standalone\"},{\"name\":\"PRELOADFMT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that all formats are preloaded for the item.\",\"type\":\"standalone\"},{\"name\":\"RIGHT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"right-justifies the formatted values of the report item within the column width and right-justifies the column headings over the values.\",\"type\":\"standalone\"},{\"name\":\"statistic\",\"optional\":true,\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"associates a statistic with an analysis variable.\",\"type\":\"value\"},{\"name\":\"STYLE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a style element (for the Output Delivery System) for the report item.\",\"help\":\"STYLE&lt;(*location(s)*)&gt;=&lt;*style-overrides(s)*&gt; \",\"type\":\"value\"},{\"name\":\"WEIGHT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"WGT=\"],\"description\":\"specifies a numeric variable whose values weight the value of the analysis variable.\",\"help\":\"WEIGHT=*weight-variable*\",\"type\":\"value\"}]},{\"name\":\"ENDCOMP\",\"description\":\"Marks the end of one or more programming statements that PROC REPORT executes as it builds the report.\",\"help\":\"ENDCOMP ;\"},{\"name\":\"FORMAT\",\"description\":\"Associates formats with variables.\",\"help\":\"FORMAT *variable-1*&lt; ...*variable-n*&gt;*format**variable-1*&lt; ...*variable-n*&gt;*format*;\",\"arguments\":[{\"name\":\"variable\",\"optional\":true,\"placeholder\":true,\"description\":\"names one or more variables for SAS to associate with a format. You must specify at least one variable.\",\"type\":\"value\"},{\"name\":\"format\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the format that is listed for writing the values of the variables.\",\"type\":\"value\"}]},{\"name\":\"FREQ\",\"description\":\"Treats observations as if they appear multiple times in the input data set.\",\"help\":\"FREQ *variable*;\",\"arguments\":[{\"name\":\"variable\",\"placeholder\":true,\"description\":\"specifies a numeric variable whose value represents the frequency of the observation. If you use the FREQ statement, then the procedure assumes that each observation represents n observations, where n is the value of variable. If n is not an integer, then SAS truncates it. If n is less than 1 or is missing, then the procedure does not use that observation to calculate statistics.\",\"type\":\"value\"}]},{\"name\":\"LABEL\",\"description\":\"Assigns descriptive labels to variables.\",\"help\":\"LABEL variable-1 = 'text-string' < ...variable-n = 'text-string'>;\\nLABEL variable-1 = ' ' < ...variable-n=’ ‘>; | variable-1 = < ...variable-n= >;\",\"arguments\":[{\"name\":\"text-string\",\"placeholder\":true,\"description\":\"specifies a label of up to 256 bytes.\",\"type\":\"value\"},{\"name\":\"'\",\"placeholder\":true,\"description\":\"removes a label from a variable. Enclose a single blank space in quotation marks to remove an existing label. You can remove labels from multiple variables in a single LABEL statement:\",\"help\":\"*' '*\",\"type\":\"value\"}]},{\"name\":\"LINE\",\"description\":\"Provides a subset of the features of the PUT statement for writing customized summaries.\",\"help\":\"LINE *item                     item-format* | &lt;*number-of-repetitions**&gt;'*character-string*';\",\"arguments\":[{\"name\":\"item\",\"placeholder\":true,\"description\":\"is the name of a data set variable, a computed variable, or a statistic in the report. For information about referencing report items, see .\",\"type\":\"value\"},{\"name\":\"item-format\",\"placeholder\":true,\"description\":\"is a SAS format or user-defined format. You must specify a format for each item.\",\"type\":\"value\"},{\"name\":\"'character-string'\",\"placeholder\":true,\"description\":\"specifies a string of text to display. When the string is a blank and nothing else is in specification(s), PROC REPORT prints a blank line.\",\"type\":\"value\"},{\"name\":\"number-of-repetitions*'character-string'\",\"placeholder\":true,\"description\":\"specifies a character string and the number of times to repeat it.\",\"type\":\"value\"}]},{\"name\":\"RBREAK\",\"description\":\"Produces a default summary at the beginning or end of a report or at the beginning or end of each BY group.\",\"help\":\"RBREAK *location*&lt;/ *options*&gt;;\",\"arguments\":[{\"name\":\"AFTER\",\"description\":\"places the break lines at the end of the report.\",\"type\":\"standalone\"},{\"name\":\"BEFORE\",\"description\":\"places the break lines at the beginning of the report.\",\"type\":\"standalone\"},{\"name\":\"CONTENTS=\",\"optional\":true,\"description\":\"specifies the link text used in the table of contents.\",\"help\":\"CONTENTS='*link-text*'\",\"type\":\"value\"},{\"name\":\"PAGE\",\"optional\":true,\"description\":\"starts a new page after the last break line of a break located at the beginning of the report.\",\"type\":\"standalone\"},{\"name\":\"STYLE\",\"optional\":true,\"description\":\"specifies a style element (for the Output Delivery System) for default summary lines, customized summary lines, or both.\",\"help\":\"STYLE&lt;(*location(s)*)&gt;=&lt;*style-overrides(s)*&gt;\",\"type\":\"value\"},{\"name\":\"SUMMARIZE\",\"optional\":true,\"description\":\"includes a summary line as one of the break lines.\",\"type\":\"standalone\"}]},{\"name\":\"WEIGHT\",\"aliases\":[\"WGT\"],\"description\":\"Specifies weights for analysis variables in the statistical calculations.\",\"help\":\"WEIGHT *variable*;\",\"arguments\":[{\"name\":\"variable\",\"placeholder\":true,\"description\":\"specifies a numeric variable whose values weight the values of the analysis variables. The value of the variable does not have to be an integer.\",\"type\":\"value\"}]},{\"name\":\"WHERE\",\"description\":\"Subsets the input data set by specifying certain conditions that each observation must meet before it is available for processing.\",\"help\":\"WHERE where-expression-1\\n<logical-operator where-expression-n>; \",\"arguments\":[{\"name\":\"where-expression\",\"optional\":true,\"placeholder\":true,\"description\":\"is an arithmetic or logical expression that generally consists of a sequence of operands and operators.\",\"type\":\"value\"},{\"name\":\"logical-operator\",\"optional\":true,\"placeholder\":true,\"description\":\"can be AND, AND NOT, OR, or OR NOT.\",\"type\":\"value\"}]}],\"supportSiteInformation\":{\"docsetId\":\"proc\",\"docsetVersion\":\"v_002\",\"docsetTargetFile\":\"p0bqogcics9o4xn17yvt2qjbgdpi.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/RISK.json",
    "content": "{\"name\":\"RISK\",\"statements\":[{\"name\":\"PROC RISK\",\"description\":\"Begins a RISK procedure code block.\",\"help\":\"PROC RISK \",\"supportSiteTargetFile\":\"p11mlimcgwndyzn1pyt43fvtb2oj.htm\"},{\"name\":\"ARRAY\",\"description\":\"Creates one or more arrays that group risk factor variables together to represent yield curves, other types of vector data, and risk factor surfaces.\",\"help\":\"ARRAY  name role ELEMENTS = ( element-list ) <optional_argument(s)>ARRAY  name role DIMENSIONS = ( dim1name (timegrid1name) <dim2name(timegrid2name)> )\\n<optional_argument(s)>ARRAY  name  role TIMEGRID = \\\"time-grid-name\\\" <optional_argument(s)>\",\"arguments\":[{\"name\":\"name\",\"placeholder\":true,\"description\":\"specifies the name of the array.\",\"help\":\" *name* \",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1p19peq6nnnten1tjxwxi1jdxop\"},{\"name\":\"role\",\"placeholder\":true,\"description\":\"specifies one of the following purposes of the array:\",\"help\":\" *role* \",\"type\":\"value\",\"supportSiteTargetFragment\":\"p062kldtd97bmmn1l8buc4senw19\"},{\"name\":\"ELEMENTS=\",\"description\":\"specifies that the array elements are the risk factor variables that are specified in the element-list. If you specify the ELEMENTS= argument in an array definition, then do not specify the DIMENSIONS= or TIMEGRID= argument.\",\"help\":\"ELEMENTS= (*element-list*)\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0oi1meu6a0bvdn1dvytpdscwphb\"},{\"name\":\"DIMENSIONS=\",\"description\":\"TIMEGRID = argument is valid only for FX, IR, and VAR roles. The DIMENSIONS = argument enables you to specify time grids for roles FXSURFACE, IRSURFACE, and SURFACE. For example, the following code defines a risk factor array, called MV, using time grids. The risk factor array MV contains risk factor surfaces with dimensions maturity and volatility.\",\"help\":\"DIMENSIONS= ( *dim1name* (*timegrid1name*) &lt; *dim2name* (*timegrid2name*)&gt; \",\"type\":\"value\",\"supportSiteTargetFragment\":\"n14jhzv8jvhzxcn1qs0p7rtlax81\"},{\"name\":\"TIMEGRID=\",\"description\":\"for one-dimensional arrays, specifies that the array elements are the maturities that are defined in a specified time grid. The number of array elements must equal the number of elements in the time grid. If you specify the TIMEGRID = argument, then you do not need to specify the ELEMENTS = or DIMENSIONS = argument in an array definition.\",\"help\":\"TIMEGRID= *“time-grid-name”* \",\"type\":\"value\",\"supportSiteTargetFragment\":\"p077pq7vpnjt8an1bhtopu2c1bvh\"},{\"name\":\"CATEGORY=\",\"optional\":true,\"description\":\"assigns the array to one or more risk factor categories.\",\"help\":\"CATEGORY=*category* | (*category-list*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"category\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"( category-list )\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"n00i2dveqzg39ln1jquyc29ip3gn\"},{\"name\":\"CURRENCY=\",\"optional\":true,\"description\":\"specifies the currency for an interest rate curve array.\",\"help\":\"CURRENCY= *currency-code* \",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0rtanpfd059jxn1pnmwev327bqc\"},{\"name\":\"DESC\",\"optional\":true,\"description\":\"specifies a descriptive label for the array. Longer labels are truncated to 80 characters.\",\"help\":\"DESC | LABEL= *“label”* \",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0fapujkraflqjn111hk77e24y2s\"},{\"name\":\"EXTRAPOLATE=\",\"optional\":true,\"description\":\"specifies how outlying values should be treated during interpolation. Valid only for risk factor surfaces. Outlying values are less than the lower endpoint or greater than the upper endpoint. When EXTRAPOLATE=CONSTANT, x[1] or x[n] is returned. When EXTRAPOLATE=MISSING, missing is returned. MISSING is the default.\",\"help\":\"EXTRAPOLATE=CONSTANT | MISSING\",\"type\":\"choice\",\"arguments\":[{\"name\":\"CONSTANT\",\"type\":\"standalone\"},{\"name\":\"MISSING\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"p0gvyflsesowoyn1byxw1g1ib3ia\"},{\"name\":\"FROMCUR\",\"optional\":true,\"description\":\"specifies the initial currency of a foreign exchange rate curve.\",\"help\":\"FROMCUR | FROM= *currency-code* \",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0xzndhu90y9gpn12gi8ditrgsyq\"},{\"name\":\"GROUP=\",\"optional\":true,\"description\":\"assigns a group name to the array. This name is truncated to 32 characters. Use this argument to customize how curves are displayed in the SAS Risk Dimensions user interface. If an array definition does not include a GROUP= specification, then the array is assigned to a group with the same name as its role.\",\"help\":\"GROUP= *array-group* \",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1lto123dldbj5n11ydcyjh46tem\"},{\"name\":\"INTERPOLATE=\",\"optional\":true,\"description\":\"specifies an interpolation type. Valid only for one-dimensional risk factor surfaces.\",\"help\":\"INTERPOLATE=LINEAR | LOGLINEAR | CUBIC | STEP | FWDRATE | SPLINE&lt;(NOTAKNOTNATURAL)&gt;\",\"type\":\"choice\",\"arguments\":[{\"name\":\"LINEAR\",\"type\":\"standalone\"},{\"name\":\"LOGLINEAR\",\"type\":\"standalone\"},{\"name\":\"CUBIC\",\"type\":\"standalone\"},{\"name\":\"STEP\",\"type\":\"standalone\"},{\"name\":\"FWDRATE\",\"type\":\"standalone\"},{\"name\":\"SPLINE\",\"type\":\"standaloneOrValue\"}],\"supportSiteTargetFragment\":\"n081s2qvypawsjn1nnrblos8tt4r\"},{\"name\":\"LONGLABEL=\",\"optional\":true,\"description\":\"specifies a long description for the array. Maximum length is 512 characters.\",\"help\":\"LONGLABEL= \\\"*longlabel*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1coxy6tkd9rxen1n4v0a8ui1ie9\"},{\"name\":\"REFMAP=\",\"optional\":true,\"description\":\"specifies the key values to use to resolve a risk factor curve for the specified reference variables. The reference key value list is a list of specifications that have the form reference-variable = “key-value”.\",\"help\":\"REFMAP= (*reference-key-value-list*)\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1rcn9af7z2gp9n15envwflmkdf7\"},{\"name\":\"TOCUR\",\"optional\":true,\"description\":\"specifies the target currency of a foreign exchange rate curve.\",\"help\":\" TOCUR | TO= *currency-code* \",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1tidi61ioj06vn1gppq6rbd4b77\"}],\"supportSiteTargetFile\":\"n0cc8d0ex4qyjqn1l2q738j42xp2.htm\"},{\"name\":\"CASHFLOW\",\"description\":\"Creates a cash flow analysis specification.\",\"help\":\"CASHFLOW  *name* &lt;*argument(s)*&gt; ;\",\"arguments\":[{\"name\":\"name\",\"placeholder\":true,\"description\":\"specifies the name of the cash flow analysis specification.\",\"help\":\" *name* \",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1dxv8sf3xj5nzn1d5z0lmz3md3s\"},{\"name\":\"ANALYSIS=\",\"optional\":true,\"description\":\"specifies the type of cash flow analysis. If you specify TRADITIONAL, then the cash flow analysis is based on the base case market state. This analysis meets the usual needs of a static gap analysis of cash flow buckets, durations, and interest income.\",\"help\":\"ANALYSIS=TRADITIONAL | analysis-name\",\"type\":\"choice\",\"arguments\":[{\"name\":\"TRADITIONAL\",\"type\":\"standalone\"},{\"name\":\"analysis-name\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"n0pf4q78zcol4wn1melr7xumc444\"},{\"name\":\"BUCKETTYPE\",\"optional\":true,\"description\":\"specifies one of the following cash flow bucketing types:\",\"help\":\"BUCKETTYPE | BTYPE= *bucketing-type* \",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1f3dmi1b9pxean1r9ds8k1lttag\"},{\"name\":\"DESC\",\"optional\":true,\"description\":\"specifies a descriptive label for the cash flow. Longer labels are truncated to 80 characters.\",\"help\":\"DESC | LABEL= *“label”* \",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0jjuu10mug5m5n15nm0h1djv9qk\"},{\"name\":\"DURATION=\",\"optional\":true,\"description\":\"specifies one of the following duration types:\",\"help\":\"DURATION= *duration-type* \",\"type\":\"value\",\"supportSiteTargetFragment\":\"p15q4srbjwna5jn1fjde0exb4jd6\"},{\"name\":\"EVALDATE=\",\"optional\":true,\"description\":\"updates the value of the _date_ variable after market state generation. This affects subsequent method calls and result calculations.\",\"help\":\"EVALDATE=BASEDATE | *date-constant*\",\"type\":\"choice\",\"arguments\":[{\"name\":\"BASEDATE\",\"type\":\"standalone\"},{\"name\":\"date-constant\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"n1p0djw4tvbu0cn11qsp5p7lgx15\"},{\"name\":\"LONGLABEL=\",\"optional\":true,\"description\":\"specifies a long description for the cash flow. Maximum length is 512 characters.\",\"help\":\"LONGLABEL= \\\"*longlabel*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0y5rcpo0jc3dgn1cvgzvmixxpqu\"}],\"supportSiteTargetFile\":\"p1bp61dmqhhb8bn190z1f76gtb2d.htm\"},{\"name\":\"COUNTERPARTY\",\"description\":\"Creates a counterparty type that is associated with counterparty variables, methods, and models.\",\"help\":\"COUNTERPARTY  *name* &lt;*argument(s)*&gt; ;\",\"arguments\":[{\"name\":\"name\",\"placeholder\":true,\"description\":\"specifies the name of the counterparty type.\",\"help\":\" *name* \",\"type\":\"value\",\"supportSiteTargetFragment\":\"n13n02zuvsdim2n1i968rmslng22\"},{\"name\":\"BASETYPE\",\"optional\":true,\"description\":\"specifies the parent counterparty from which a child counterparty type can inherit the scoring method, model, and variables.\",\"help\":\"BASETYPE | SUPER= *counterparty-name* \",\"type\":\"value\",\"supportSiteTargetFragment\":\"p056jnibpxbq1xn1a1bmtlw1w0ji\"},{\"name\":\"DESC\",\"optional\":true,\"description\":\"specifies a descriptive label for the counterparty type. Longer labels are truncated to 80 characters.\",\"help\":\"DESC | LABEL= *“label”* \",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1jx3jkmdznb85n1ct496wk1zpmm\"},{\"name\":\"LONGLABEL=\",\"optional\":true,\"description\":\"specifies a long description for the counterparty type. Maximum length is 512 characters.\",\"help\":\"LONGLABEL= \\\"*longlabel*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n154gzj2jkfk35n1clceyol37ifd\"},{\"name\":\"MCREPS=\",\"optional\":true,\"description\":\"specifies the number of times that counterparty types are called when you perform a Monte Carlo pricing. Output variables are averaged across the specified number. The default value of number is 2. Use this argument when MCTYPE=AVERAGE.\",\"help\":\"MCREPS= *number* \",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1adegg0gqe6kwn1gnodfh691grd\"},{\"name\":\"MCTYPE=\",\"optional\":true,\"description\":\"specifies a Monte Carlo counterparty type. This counterparty type is supported by SAS High-Performance Risk. The associated pricing method is called in a loop MCREPS times across horizons. Specify MCREPS explicitly or through the value of MCSIMULATIONS in the PROC HPRISK statement.\",\"help\":\"MCTYPE=AVERAGE | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"AVERAGE\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"n14jnnoewxyjbqn141xhfvvl845c\"},{\"name\":\"METHOD=\",\"optional\":true,\"description\":\"specifies the name of the scoring method.\",\"help\":\"METHOD= *method-name* \",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0fo2ljrkhr5w5n1qr50pxb4tsp4\"},{\"name\":\"MODEL\",\"optional\":true,\"description\":\"specifies a scoring model to use that has been previously stored in the SAS Metadata Repository by SAS Enterprise Miner. Specify the model with its three-level name that has the form libref.SAS-dataset. model-name.\",\"help\":\"MODEL | SCOREMODEL= *scoring-model* \",\"type\":\"value\",\"supportSiteTargetFragment\":\"p01dv6i4afhv37n1rt6jxz6ih0zb\"},{\"name\":\"VARIABLES=\",\"optional\":true,\"description\":\"specifies the variables that are associated with the counterparty type.\",\"help\":\"VARIABLES= ( variable_1, variable_2,. . . )\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1s4ep0e9czagxn1cdepljqedr8d\"}],\"supportSiteTargetFile\":\"n1j3a4pdatqownn1rvrtikonpdmf.htm\"},{\"name\":\"CPTYDATA\",\"description\":\"Creates a counterparty data source, which the READ statement uses to create a risk object used in a portfolio.\",\"help\":\"CPTYDATA  *data-source-name* FILE= *SAS-data-set* &lt;*argument(s)*&gt; ;\",\"arguments\":[{\"name\":\"data-source-name\",\"placeholder\":true,\"description\":\"specifies the name of the counterparty data source.\",\"help\":\" *data-source-name* \",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1y2m87got9purn1a45n5jg9y682\"},{\"name\":\"FILE=\",\"description\":\"specifies the input data set (or data view) that contains the counterparty data.\",\"help\":\"FILE= *SAS-data-set* \",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"n0k25oew3cyrgsn1qdey96esiun2\"},{\"name\":\"DESC\",\"optional\":true,\"description\":\"specifies a descriptive label for the counterparty data source. Longer labels are truncated to 80 characters.\",\"help\":\"DESC | LABEL= *“label”* \",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1f0ha0fcq1swln1iy6n1nul0yqh\"},{\"name\":\"LONGLABEL=\",\"optional\":true,\"description\":\"specifies a long description for the counterparty data source. Maximum length is 512 characters.\",\"help\":\"LONGLABEL= \\\"*longlabel*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1of3iacqs32fcn1us1jyxhtubvf\"},{\"name\":\"TYPE=\",\"optional\":true,\"description\":\"specifies that all counterparties in the input file have the same counterparty type, namely that specified by counterparty-type-name. If the counterparty type varies across counterparties in the file, then do not specify this argument. Maximum length is 32 characters.\",\"help\":\"TYPE= *counterparty-type-name* \",\"type\":\"value\",\"supportSiteTargetFragment\":\"p16waemgqi3yf0n1lqb3yo210ndc\"},{\"name\":\"VARIABLES=\",\"optional\":true,\"description\":\"maps variable names in the input data set to counterparty variable names. Usually, this argument is used only if the names of the counterparty fields differ between the data set and the counterparty definition.\",\"help\":\"VARIABLES= (*name-map_1 name-map_2 . . .*)\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1pc3h6pzms0san1j9erh77w6l16\"}],\"supportSiteTargetFile\":\"n089ytbfkmacohn1r11tk2cqp6we.htm\"},{\"name\":\"CROSSCLASS\",\"description\":\"Creates a cross-classification that specifies the instrument variables and system instrument information variables by which analysis results are reported. These results are reported in addition to the results for the aggregate portfolio. NOTE: Including this statement in your PROC RISK block has no effect on the SAS High-Performance Risk project run.\",\"help\":\"CROSSCLASS  *name* &lt;*argument(s)*&gt;( *specification_1* ), ( *specification_2* ), . . . ;\",\"arguments\":[{\"name\":\"name\",\"placeholder\":true,\"description\":\"specifies the name of the cross-classification.\",\"help\":\" *name* \",\"type\":\"value\",\"supportSiteTargetFragment\":\"n10r2vftw2itxln1o18tbq8x2d0e\"},{\"name\":\"DESC\",\"optional\":true,\"description\":\"specifies a descriptive label for the cross-classification. Longer labels are truncated to 80 characters.\",\"help\":\"DESC | LABEL= *“label”* \",\"type\":\"value\",\"supportSiteTargetFragment\":\"n05hdx0pcngv07n1vouk9l5yvwcm\"},{\"name\":\"LONGLABEL=\",\"optional\":true,\"description\":\"specifies a long description for the cross-classification. Maximum length is 512 characters.\",\"help\":\"LONGLABEL= \\\"*longlabel*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1ifxp819t3qt8n1452q8vlr8lw8\"}],\"supportSiteTargetFile\":\"p0gwu2pkhb46f9n1t64r37lunfrr.htm\"},{\"name\":\"DECLARE\",\"description\":\"Creates variable declarations that specify the names and attributes of variables.\",\"help\":\"DECLARE  *variable-declaration*= ( *var-defn_1, var-defn_2, . . .* ) . . . ;\",\"arguments\":[{\"name\":\"variable-declaration\",\"placeholder\":true,\"description\":\"Variable declaration include:\\n• CPTYVARS\\n• INSTVARS | LOANVARS\\n• MITIGATIONVARS\\n• OUTVARS\\n• PROJVARS\\n• REFERENCES\\n• RISKFACTORS\\n• STATEVARS\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0smrmq9bra2d4n121j48c6zo3f9\"},{\"name\":\"name\",\"placeholder\":true,\"description\":\"specifies the name of the variable.\",\"help\":\" *name* \",\"type\":\"value\",\"supportSiteTargetFragment\":\"p02c52i8m5ia4xn18dgkobw3oqdu\"},{\"name\":\"type\",\"placeholder\":true,\"description\":\"specifies the data type of the variable. See the table below for a listing of the types that you can use in each variable declaration.\",\"help\":\" *type* \",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1j4yddfhdycdwn1h7lvl46k0t40\"},{\"name\":\"role\",\"placeholder\":true,\"description\":\"specifies the purpose of the variable. See the table below for a listing of the roles that you can use in each variable declaration.\",\"help\":\" *role* \",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1df4kgh3ywth0n1ovr1nfniwy2n\"},{\"name\":\"ALPOS\",\"optional\":true,\"description\":\"specifies whether to apply each position’s asset-liability position flag to an output variable. The flag is a multiplier of 1 or of –1. The default value is NOALPOS.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0jxstkobs3mrin1lm5zpzph1401\"},{\"name\":\"NOALPOS\",\"optional\":true,\"description\":\"specifies whether to apply each position’s asset-liability position flag to an output variable. The flag is a multiplier of 1 or of –1. The default value is NOALPOS.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0jxstkobs3mrin1lm5zpzph1401\"},{\"name\":\"BASEVAR=\",\"optional\":true,\"description\":\"specifies the risk factor for which a variable provides a volatility estimate. This argument is required in variable definitions with the VOLATILITY role.\",\"help\":\"BASEVAR= *risk-factor-name* \",\"type\":\"value\",\"supportSiteTargetFragment\":\"n13q9f33ea3ijzn1bj52nvdammf5\"},{\"name\":\"COMPTYPE=\",\"optional\":true,\"description\":\"specifies whether an output variable should be treated as profit/loss, value, or exposure.\",\"help\":\"COMPTYPE=&lt;( *density-domain* )&gt; | &lt;( *density-domain* )&gt; | EXPOSURE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"( density-domain )\",\"placeholder\":true,\"type\":\"standaloneOrValue\"},{\"name\":\"( density-domain )\",\"placeholder\":true,\"type\":\"standaloneOrValue\"},{\"name\":\"EXPOSURE\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"p15bmot67gbebsn0zrwywjdhqu18\"},{\"name\":\"COORDINATES=\",\"optional\":true,\"description\":\"specifies the coordinates of the risk factor. The risk factor can have one or two dimensions. The customary dimension “maturity” is available but not necessary when the role is VAR or VOLATILITY. When the role is FX, FX_SPOT, or IR, then you must specify “maturity” as one of the dimensions. The following code provides an illustration:\",\"help\":\"COORDINATES= ( *dimension1 = value1*  &lt; *dimension2 = value2* &gt; )\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0levsn2n4s9zmn1kpwbdicych1h\"},{\"name\":\"CURRENCY=\",\"optional\":true,\"description\":\"specifies the currency for an interest rate variable. This argument is required in variable definitions with the IR role.\",\"help\":\"CURRENCY= *currency-code* \",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0lvbog3yrgj0vn1cc12rfm6wpxc\"},{\"name\":\"DESC\",\"optional\":true,\"description\":\"specifies a descriptive label for the variable. Longer labels are truncated to 80 characters.\",\"help\":\"DESC | LABEL= *“label”* \",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0pi4xbyhmifupn1lcj42hicjdtt\"},{\"name\":\"DROP\",\"optional\":true,\"description\":\"drops the variable from the output data sets.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p08m3aaj213s1bn16v51m89yf6tl\"},{\"name\":\"FORMAT=\",\"optional\":true,\"description\":\"applies a specified SAS format to the variable values.\",\"help\":\"FORMAT= *format* \",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1k2teq7wc9fkzn1g9mz7prhpxy6\"},{\"name\":\"FROMCUR=\",\"optional\":true,\"description\":\"specifies the initial currency of a foreign exchange rate variable. This argument is required for variables with the roles FX and FX_SPOT.\",\"help\":\"FROMCUR= *currency-code* \",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1wkhj39jwfkern1oigxvs059jls\"},{\"name\":\"GROUP=\",\"optional\":true,\"description\":\"assigns a group name to the variable. This name is truncated to 32 characters. This argument is used to customize how variables are displayed in the SAS Risk Dimensions user interface. If a variable definition does not include a GROUP= specification, then the variable is assigned to a group with the same name as its role.\",\"help\":\"GROUP= *variable-group* \",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0j52zlf5aq48on1j0562vw4yxgv\"},{\"name\":\"FX\",\"optional\":true,\"description\":\"specifies whether the returned value from pricing methods should be multiplied by the appropriate foreign exchange rate. If you do not specify this argument, then the returned pricing method value is multiplied by the foreign exchange rate.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1h9scyrxg0hc0n11vtvdth8lrw6\"},{\"name\":\"NOFX\",\"optional\":true,\"description\":\"specifies whether the returned value from pricing methods should be multiplied by the appropriate foreign exchange rate. If you do not specify this argument, then the returned pricing method value is multiplied by the foreign exchange rate.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1h9scyrxg0hc0n11vtvdth8lrw6\"},{\"name\":\"HOLDING\",\"optional\":true,\"description\":\"specifies whether the returned value from pricing methods should be multiplied by the holding amount. If you do not specify this argument, then the returned pricing method value is multiplied by the holding amount.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n087zarz0tq0f7n167fhsi0khqi6\"},{\"name\":\"NOHOLDING\",\"optional\":true,\"description\":\"specifies whether the returned value from pricing methods should be multiplied by the holding amount. If you do not specify this argument, then the returned pricing method value is multiplied by the holding amount.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n087zarz0tq0f7n167fhsi0khqi6\"},{\"name\":\"LAGGRID=\",\"optional\":true,\"description\":\"specifies the time grid that contains the lag points of the variable. For the base case market state, lag values are read from the time series market data source that you specify in the PROJECT statement. For subsequent market states, lag values are derived (potentially interpolated) from the lag values read for the base case, the base case value, and the values calculated for prior horizons.\",\"help\":\"LAGGRID= *timegrid-name* \",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1iddtf6e8h2f5n1x0ddgou30jvv\"},{\"name\":\"LONGLABEL=\",\"optional\":true,\"description\":\"specifies a long description for the variable. Maximum length is 512 characters.\",\"help\":\"LONGLABEL= \\\"*longlabel*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p12s3nrs6l58v5n1meg58hjdy2zw\"},{\"name\":\"MATURITY=\",\"optional\":true,\"description\":\"assigns a maturity (for example, 2 year) to the variable. If you do not specify a maturity unit, then the maturity unit is set to year.\",\"help\":\"MATURITY= value &lt; *maturity-unit* &gt; \",\"type\":\"standaloneOrValue\",\"supportSiteTargetFragment\":\"n19wnepz4pcmnhn1fwcu0jxa3zt0\"},{\"name\":\"MLEVEL=\",\"optional\":true,\"description\":\"specifies the measurement level of the variable. This argument affects how simulated shocks are generated and applied to the risk factor in historical data or covariance simulation analysis. (Monte Carlo simulations are not affected.) This argument also affects how volatility changes are applied during scenario simulation.\\n• An INTERVAL measurement level denotes a variable, such as money flows or time before an event, that has interval scale values. In a simulation analysis, additive changes are applied to risk factor values. LEVEL and ADDITIVE are aliases for INTERVAL. \\n• RATIO measurement level denotes a variable, such as prices or interest rates, that has nonnegative ratio scale values. In a simulation analysis, additive changes are applied to risk factor values. RATE and RELATIVE are aliases for RATIO. \\n• GBM measurement level also denotes a variable, such as prices or interest rates, that have nonnegative ratio scale values. It simulates using geometric Brownian motion and applies only to covariance simulation. For any other simulation, GBM reverts to a RATIO measurement level. \",\"help\":\"MLEVEL=INTERVAL | RATIO | GBM\",\"type\":\"choice\",\"arguments\":[{\"name\":\"INTERVAL\",\"type\":\"standalone\"},{\"name\":\"RATIO\",\"type\":\"standalone\"},{\"name\":\"GBM\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"p0utam39376jiyn1mgz9xuruv9th\"},{\"name\":\"POSTVAR\",\"optional\":true,\"description\":\"specifies whether the output variable is computed in PostVaR methods.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0a9kotqmgh7i5n1orcbqwzvqzhi\"},{\"name\":\"REFMAP=\",\"optional\":true,\"description\":\"specifies the key values to use to resolve a risk factor for the specified reference variables. The reference key value list is a list of specifications that have the form reference-variable= “key-value.”\",\"help\":\"REFMAP= *reference-key-value-list* \",\"type\":\"value\",\"supportSiteTargetFragment\":\"n02k5uogujj0iin15d5fv370s4mx\"},{\"name\":\"ROLLUP=\",\"optional\":true,\"description\":\"specifies one of the following methods for output variable aggregation:\",\"help\":\"ROLLUP= *rollup-method* \",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0459gwmkerp3gn126jwdaof1nxc\"},{\"name\":\"SHORTPOS\",\"optional\":true,\"description\":\"specifies whether the returned value from pricing methods should be multiplied by the short position flag, if appropriate. If you do not specify this argument, then the returned pricing method value is multiplied by the short position flag.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0t7ojvlay17wnn1u2wuncp4alwn\"},{\"name\":\"NOSHORTPOS\",\"optional\":true,\"description\":\"specifies whether the returned value from pricing methods should be multiplied by the short position flag, if appropriate. If you do not specify this argument, then the returned pricing method value is multiplied by the short position flag.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0t7ojvlay17wnn1u2wuncp4alwn\"},{\"name\":\"TOCUR=\",\"optional\":true,\"description\":\"specifies the target currency of a foreign exchange rate variable. The TOCUR= argument is required for variables with the roles FX and FX_SPOT.\",\"help\":\"TOCUR= *currency-code* \",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1pjw7mjz3uizcn1qhmuc3cdpusl\"}],\"supportSiteTargetFile\":\"n017xsedura60in1nbqiyuhnc718.htm\"},{\"name\":\"DELETE\",\"description\":\"Deletes objects from the current environment.\",\"help\":\"DELETE &lt;*argument(s)*&gt;;\",\"arguments\":[{\"name\":\"ANALYSIS=\",\"optional\":true,\"description\":\"deletes one or more analysis specifications.\",\"help\":\"ANALYSIS=*name* | ( *name-list* )\",\"type\":\"choice\",\"arguments\":[{\"name\":\"name\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"( name-list )\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p0ifs7rwnjru2xn1721oxcierwme\"},{\"name\":\"ARRAY=\",\"optional\":true,\"description\":\"deletes one or more arrays created by the ARRAY statement. The VARIABLE argument can also be used to delete arrays.\",\"help\":\"ARRAY=*name* | ( *name-list* )\",\"type\":\"choice\",\"arguments\":[{\"name\":\"name\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"( name-list )\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p1cw6nzkf8yku3n1dmu3yrvu1z9k\"},{\"name\":\"COUNTERPARTY=\",\"optional\":true,\"description\":\"deletes one or more counterparty types.\",\"help\":\"COUNTERPARTY=*name* | ( *name-list* )\",\"type\":\"choice\",\"arguments\":[{\"name\":\"name\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"( name-list )\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p0k6mskhlfek1kn1r17pbryy27dk\"},{\"name\":\"CPTYDATA=\",\"optional\":true,\"description\":\"deletes one or more counterparty data sources.\",\"help\":\"CPTYDATA=*name* | ( *name-list* )\",\"type\":\"choice\",\"arguments\":[{\"name\":\"name\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"( name-list )\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p1hyfy0jdeuvmwn1pbt84xltuody\"},{\"name\":\"CROSSCLASS=\",\"optional\":true,\"description\":\"deletes one or more cross-classifications.\",\"help\":\"CROSSCLASS=*name* | ( *name-list* )\",\"type\":\"choice\",\"arguments\":[{\"name\":\"name\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"( name-list )\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"n18isiwfl7chunn1n2yql7zift6p\"},{\"name\":\"DISTORTION=\",\"optional\":true,\"description\":\"deletes one or more distortion measures.\",\"help\":\"DISTORTION=*name* | ( *name-list* )\",\"type\":\"choice\",\"arguments\":[{\"name\":\"name\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"( name-list )\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p0q0i7j3h0rd20n1d6pnn4jks4wy\"},{\"name\":\"ENVIRONMENT=\",\"optional\":true,\"description\":\"deletes one or more environments.\",\"help\":\"ENVIRONMENT=*name* | ( *name-list* )\",\"type\":\"choice\",\"arguments\":[{\"name\":\"name\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"( name-list )\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p0qqf7se2c7tzon10sy60n7h3ec7\"},{\"name\":\"FILTER=\",\"optional\":true,\"description\":\"deletes one or more portfolio filters.\",\"help\":\"FILTER=*name* | ( *name-list* )\",\"type\":\"choice\",\"arguments\":[{\"name\":\"name\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"( name-list )\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"n0ed3dsrp4u5vxn19rkllqn84tww\"},{\"name\":\"INSTDATA=\",\"optional\":true,\"description\":\"deletes one or more instrument data sources.\",\"help\":\"INSTDATA=*name* | ( *name-list* )\",\"type\":\"choice\",\"arguments\":[{\"name\":\"name\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"( name-list )\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p09kzmwa1m0927n1epnliutsl4rn\"},{\"name\":\"INSTRUMENT=\",\"optional\":true,\"description\":\"deletes one or more instrument types. This argument performs the same function as the ACCOUNT, ASSET, and POLICY arguments.\",\"help\":\"INSTRUMENT=*name* | ( *name-list* )\",\"type\":\"choice\",\"arguments\":[{\"name\":\"name\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"( name-list )\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"n0h9mp7mzk7w54n187a6iyq4hpd0\"},{\"name\":\"MARKETDATA=\",\"optional\":true,\"description\":\"deletes one or more market data sources.\",\"help\":\"MARKETDATA=*name* | ( *name-list* )\",\"type\":\"choice\",\"arguments\":[{\"name\":\"name\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"( name-list )\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p0r6o2qwd9um4en14scfuyxdtuju\"},{\"name\":\"METHOD=\",\"optional\":true,\"description\":\"deletes one or more methods.\",\"help\":\"METHOD=*name* | ( *name-list* )\",\"type\":\"choice\",\"arguments\":[{\"name\":\"name\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"( name-list )\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p0395odylvz1acn1lyni9zfttn0z\"},{\"name\":\"MITDATA=\",\"optional\":true,\"description\":\"deletes one or more mitigation data sources.\",\"help\":\"MITDATA=*name* | ( *name-list* )\",\"type\":\"choice\",\"arguments\":[{\"name\":\"name\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"( name-list )\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"n1wbmz3nmcfc8ln1wkvtbgv8ykpc\"},{\"name\":\"MITIGATION=\",\"optional\":true,\"description\":\"deletes one or more mitigation types.\",\"help\":\"MITIGATION=*name* | ( *name-list* )\",\"type\":\"choice\",\"arguments\":[{\"name\":\"name\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"( name-list )\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"n1jhcixht0rt36n18wnzk1cm7uvf\"},{\"name\":\"PARAMETER=\",\"optional\":true,\"description\":\"deletes one or more parameter matrices.\",\"help\":\"PARAMETER=*name* | ( *name-list* )\",\"type\":\"choice\",\"arguments\":[{\"name\":\"name\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"( name-list )\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"n0ia9p70o5n34un12fu3v86spr6v\"},{\"name\":\"PROJECT=\",\"optional\":true,\"description\":\"deletes one or more analysis projects.\",\"help\":\"PROJECT=*name* | ( *name-list* )\",\"type\":\"choice\",\"arguments\":[{\"name\":\"name\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"( name-list )\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p1pqtn46gyfusun1fnx3bl49otav\"},{\"name\":\"RFTSET=\",\"optional\":true,\"description\":\"deletes one or more risk factor transformation sets.\",\"help\":\"RFTSET=*name* | ( *name-list* )\",\"type\":\"choice\",\"arguments\":[{\"name\":\"name\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"( name-list )\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p1xiz3q0fxsozvn1t6jgw8s58vwm\"},{\"name\":\"SCENARIO_CF=\",\"optional\":true,\"description\":\"deletes one or more scenario cash flow data objects.\",\"help\":\"SCENARIO_CF=*name* | ( *name-list* )\",\"type\":\"choice\",\"arguments\":[{\"name\":\"name\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"( name-list )\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"n0rblkxmbv3ldgn14r6u25o6uqiz\"},{\"name\":\"SOURCES=\",\"optional\":true,\"description\":\"deletes one or more portfolio input lists.\",\"help\":\"SOURCES=*name* | ( *name-list* )\",\"type\":\"choice\",\"arguments\":[{\"name\":\"name\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"( name-list )\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p0ycq2glrzugsnn1onms86l1um46\"},{\"name\":\"TIMEGRID=\",\"optional\":true,\"description\":\"deletes one or more time grids.\",\"help\":\"TIMEGRID=*name* | ( *name-list* )\",\"type\":\"choice\",\"arguments\":[{\"name\":\"name\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"( name-list )\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"n0iaac00ap6ejdn1x42cddtbucri\"},{\"name\":\"TRANSMAT=\",\"optional\":true,\"description\":\"deletes one or more transition matrices.\",\"help\":\"TRANSMAT=*name* | ( *name-list* )\",\"type\":\"choice\",\"arguments\":[{\"name\":\"name\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"( name-list )\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p10hbtuwylxgk2n1tt5v2z8u47xx\"},{\"name\":\"VARIABLE=\",\"optional\":true,\"description\":\"deletes one or more instrument, counterparty, mitigation, risk factor, output, state, project, or reference variables. To delete all variables created with the DECLARE statement, specify the following:\",\"help\":\"VARIABLE=*name* | ( *name-list* )\",\"type\":\"choice\",\"arguments\":[{\"name\":\"name\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"( name-list )\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p0aaqoqhgl36wnn1sdaanzo51afl\"}],\"supportSiteTargetFile\":\"n1ajpl4iiz2wxsn13gt85caykkll.htm\"},{\"name\":\"DELTANORMAL\",\"description\":\"Creates a Delta-Normal analysis specification.\",\"help\":\"DELTANORMAL  *name* DATA=*market-data-source* &lt;*argument(s)*&gt; ;\",\"arguments\":[{\"name\":\"name\",\"placeholder\":true,\"description\":\"specifies the name of the Delta-Normal analysis.\",\"help\":\" *name* \",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1xkhyd8cx75vwn1lan2j4urzozf\"},{\"name\":\"DATA=\",\"description\":\"specifies either a covariance, correlation, or time series market data source. This data source must be consistent with the interval that is specified by the INTERVAL argument. The covariance or correlation matrix describes the dependence between the risk factors. If a time series market data source is provided, SAS Risk Dimensions uses it to compute a covariance matrix.\",\"help\":\"DATA= *market-data-source* \",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1iyl8m47eugken1r0dg6rzi74o6\"},{\"name\":\"ALIGN=\",\"optional\":true,\"description\":\"specifies one of the following alignments, which denotes when in the frequency interval calculations are made.\",\"help\":\"ALIGN=*interval-alignment* \",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0r3uv8d6mjeh2n1x5uqhx6pxn54\"},{\"name\":\"DESC\",\"optional\":true,\"description\":\"specifies a descriptive label for the Delta-Normal analysis. Longer labels are truncated to 80 characters.\",\"help\":\"DESC | LABEL= *“label”* \",\"type\":\"value\",\"supportSiteTargetFragment\":\"p120d1yizuzm6nn1bns0wa4xjh7t\"},{\"name\":\"EVALDATE=\",\"optional\":true,\"description\":\"updates the value of the _date_ variable after market state generation. In particular, this affects subsequent method calls and result calculations.\",\"help\":\"EVALDATE=BASEDATE | BASEDATE +/- *n* | *date-constant*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"BASEDATE\",\"type\":\"standalone\"},{\"name\":\"BASEDATE\",\"type\":\"value\"},{\"name\":\"date-constant)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p13zwb2gnr4bh0n1k8686is5x3g9\"},{\"name\":\"INTERVAL=\",\"optional\":true,\"description\":\"specifies the frequency with which to compute VaR. Valid interval names are YEAR, SEMIYEAR, QTR, MONTH, SEMIMONTH, TENDAY, WEEK, WEEKDAY, and DAY.\",\"help\":\"INTERVAL=*interval-name* \",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0q9zhwrc6ife0n19fxilbixeuvc\"},{\"name\":\"OUTVARS\",\"optional\":true,\"description\":\"specifies one or more of the following dependent variables to analyze:\",\"help\":\"OUTVARS | DEPENDENT=*variable* | ( *variable-list* )\",\"type\":\"choice\",\"arguments\":[{\"name\":\"variable\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"( variable-list )\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p0gphkcsyl7sd5n1ju7r50zd49jo\"}],\"supportSiteTargetFile\":\"n11jpzwx9pmp60n1abd7m7zxpvjy.htm\"},{\"name\":\"DISTORTION\",\"description\":\"Requests additional risk measures based on distortion functions. These functions are either defined in the SASHELP library or are user-defined.\",\"help\":\"DISTORTION  *name* FUNC | FUNCNAME= *function-name* &lt;*argument(s)*&gt; ;\",\"arguments\":[{\"name\":\"name\",\"placeholder\":true,\"description\":\"specifies a name for the distortion risk measure. This name appears as a column in the SimStat data set.\",\"help\":\" *name* \",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1le4gqdxuacxfn11j9oe0bx0p8t\"},{\"name\":\"FUNC\",\"description\":\"specifies the distortion function from which the distortion risk measure is computed. SAS Risk Dimensions provides the following distortion functions.\",\"help\":\"FUNC | FUNCNAME = *function-name* \",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1ony0ntw8sxoan15w050c2i63qg\"},{\"name\":\"PARM\",\"optional\":true,\"description\":\"specifies the parameter value or values associated with the chosen distortion function given by the FUNC argument. For any distortion function with a parameter, the PARM argument is required.\",\"help\":\"PARM | FUNCPARM =*parameter-value* | *(list of parameter values)*\",\"type\":\"choice\",\"arguments\":[{\"name\":\"parameter-value\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(list of parameter values)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"n1e71caqtu4fs4n1d6p99hrvj6am\"},{\"name\":\"DESC\",\"optional\":true,\"description\":\"specifies a description for the distortion measure induced by the distortion function. The specified description appears as column headings in the SimStat data set.\",\"help\":\"DESC | LABEL = *“label”* \",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1padvzorclc2gn1lkojvaw58gki\"},{\"name\":\"DISTRIBUTION\",\"optional\":true,\"description\":\"specifies the distribution from which the distortion risk measure is calculated.\",\"help\":\"DISTRIBUTION =STANDARD | WITHOUT | CONTRIB | ALL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"STANDARD\",\"type\":\"standalone\"},{\"name\":\"WITHOUT\",\"type\":\"standalone\"},{\"name\":\"CONTRIB\",\"type\":\"standalone\"},{\"name\":\"ALL\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"p0ouh5yppzii1yn1mvu7pzq1sgs2\"},{\"name\":\"LOSS_MEASURE\",\"optional\":true,\"description\":\"applies only to the output variables where COMPTYPE=PL. Specifies whether the measure should be calculated from the profit or loss distribution. This is particularly important for measures that focus on the tail of the distribution.. If you do not specify this flag for an output variable with COMPTYPE=PL, values are reported as losses. Losses are positive values while profits are the negative of the losses.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1k327jyxtyd21n1cz7k8q0yxrr1\"},{\"name\":\"LOSS\",\"optional\":true,\"description\":\"applies only to the output variables where COMPTYPE=PL. Specifies whether the measure should be calculated from the profit or loss distribution. This is particularly important for measures that focus on the tail of the distribution.. If you do not specify this flag for an output variable with COMPTYPE=PL, values are reported as losses. Losses are positive values while profits are the negative of the losses.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1k327jyxtyd21n1cz7k8q0yxrr1\"},{\"name\":\"PROFIT_MEASURE\",\"optional\":true,\"description\":\"applies only to the output variables where COMPTYPE=PL. Specifies whether the measure should be calculated from the profit or loss distribution. This is particularly important for measures that focus on the tail of the distribution.. If you do not specify this flag for an output variable with COMPTYPE=PL, values are reported as losses. Losses are positive values while profits are the negative of the losses.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1k327jyxtyd21n1cz7k8q0yxrr1\"},{\"name\":\"PROFIT\",\"optional\":true,\"description\":\"applies only to the output variables where COMPTYPE=PL. Specifies whether the measure should be calculated from the profit or loss distribution. This is particularly important for measures that focus on the tail of the distribution.. If you do not specify this flag for an output variable with COMPTYPE=PL, values are reported as losses. Losses are positive values while profits are the negative of the losses.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1k327jyxtyd21n1cz7k8q0yxrr1\"},{\"name\":\"MINREPS\",\"optional\":true,\"description\":\"specifies the minimum number of nonmissing replications for the risk measure to be valid. For example, if you want a 99% VaR, then specify at least 100 replications. If your minimum number of replications is not consistent with the distortion measure and simulated distribution that you specify, then the distortion measure columns added to the SimStat data set contain missing values.\",\"help\":\"MINREPS = *minimum-number-replications* \",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1o1gp4dvhkxykn1j38faf5eilvu\"}],\"supportSiteTargetFile\":\"p0gd0rjm5nol9xn1wtgz2fuh0dmp.htm\"},{\"name\":\"DRIVER\",\"description\":\"Creates driver objects, which define collections of risk factors that can be perturbed in a scenario analysis. The risk factors to be perturbed must be listed explicitly in the scenario definition.\",\"help\":\"DRIVER  driver-name INSTVARS= (list) | LOANVARS= (list) | RISKFACTORS= (list) | \\nDRIVERS= (list)<argument(s)>;\",\"arguments\":[{\"name\":\"driver-name\",\"placeholder\":true,\"description\":\"specifies the name of the driver object.\",\"help\":\" *driver-name* \",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0yyqhcjdlffrwn1i8wg8veooko3\"},{\"name\":\"INSTVARS=\",\"description\":\"specifies a list of instrument variables, risk factors, or drivers. To accommodate industry-specific terminology, you can specify INSTVARS as LOANVARS. At least one instrument variable, risk factor, or driver must be specified to create a valid driver. The values of specified instrument variables should be risk factor names.\",\"help\":\"INSTVARS=(*list*) | LOANVARS=(*list*) | RISKFACTORS=(*list*) | DRIVERS=(*list*)\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1ch1fs8ywrx3on1ugheqnermeaq\"},{\"name\":\"LABEL=\",\"optional\":true,\"description\":\"provides a description of the driver.\",\"help\":\"LABEL=*“label-text”* \",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1qtyi1jznck9rn1f3zg8j5nw9td\"},{\"name\":\"LONGLABEL=\",\"optional\":true,\"description\":\"specifies a long description for the driver. Maximum length is 512 characters.\",\"help\":\"LONGLABEL= \\\"*longlabel*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1jsa9owxnwi6un1owca0grmvx5x\"}],\"supportSiteTargetFile\":\"p0e7vxnylw6rmwn1eplsl9zvv76d.htm\"},{\"name\":\"DRIVERCHECK\",\"description\":\"Chooses instrument variables for drivers within the context of the specified portfolio.\",\"help\":\"DRIVERCHECK PORTFOLIO= *portname* OUTVALIDINSTVAR= *libname.dataset* &lt;*options*&gt;;\",\"arguments\":[{\"name\":\"PORTFOLIO=\",\"description\":\"specifies the portfolio in which instrument variables for drivers are chosen.\",\"help\":\"PORTFOLIO= *portname* \",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1o6trnpr84bf9n1bjw7bh919j7o\"},{\"name\":\"OUTVALIDINSTVAR=\",\"description\":\"creates a data set that lists all of the instrument variables in the current environment that are candidates for use in drivers.\",\"help\":\"OUTVALIDINSTVAR= *libname.dataset* \",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"p0ghzyx4nupkqtn1ceu62g6ljeez\"},{\"name\":\"PARTIAL\",\"optional\":true,\"description\":\"considers an instrument variable to be a candidate for use in drivers when one of the following occurs:\\n• when any value of that variable is a risk factor name in the environment\\n• when all the values of that instrument variable are missing\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0qlrcf5fi4kz8n1hgk7ayzqvdui\"},{\"name\":\"COMPLETE\",\"optional\":true,\"description\":\"considers an instrument variable to be a candidate for a driver only when all values of that variable are risk factor names in the environment.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0itlehwg70hpyn1i9z24hnjyo1c\"}],\"supportSiteTargetFile\":\"n0juplpbeso587n1e8m87grav9ic.htm\"},{\"name\":\"ENVIRONMENT\",\"description\":\"Creates, saves, or updates an environment.\",\"help\":\"ENVIRONMENT NEW= *env-name* &lt;*argument(s)*&gt;;ENVIRONMENT OPEN= *env-name* &lt;*argument(s)*&gt;;ENVIRONMENT REPLACE= *env-name* &lt;*argument(s)*&gt;;ENVIRONMENT SAVE&lt;*argument*&gt;;ENVIRONMENT SAVEAS= *env-name* &lt;*argument(s)*&gt;;\",\"arguments\":[{\"name\":\"NEW=\",\"description\":\"creates a new environment.\",\"help\":\"NEW= *env-name* \",\"type\":\"value\",\"supportSiteTargetFragment\":\"p17hxxipe8h5zvn1vqek9sx0zakk\"},{\"name\":\"OPEN=\",\"description\":\"opens the specified environment as the current environment and clears the temporary working environment.\",\"help\":\"OPEN= *env-name* \",\"type\":\"value\",\"supportSiteTargetFragment\":\"n01r38ma5sf6pkn19h0gvy4eqtvr\"},{\"name\":\"REPLACE=\",\"description\":\"replaces the specified environment as the current environment.\",\"help\":\"REPLACE= *env-name* \",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0ax5ot4py9mfkn1wnz5xbm1vgi4\"},{\"name\":\"SAVE\",\"description\":\"saves changes made in the temporary working environment as permanent updates to the current environment.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n14gy2alpe5s0hn16zh48o6g463l\"},{\"name\":\"SAVEAS=\",\"description\":\"saves changes made in the temporary working environment as permanent updates to the specified environment.\",\"help\":\"SAVEAS= *env-name* \",\"type\":\"value\",\"supportSiteTargetFragment\":\"n137i0u8yg6t52n11g7j3xrinzry\"},{\"name\":\"AUTOSAVE\",\"optional\":true,\"description\":\"automatically saves changes that are made in the temporary working environment as permanent updates to the current environment when the RISK procedure terminates. This argument is valid if NEW, OPEN, or REPLACE is specified.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0v38atphcequxn1ar191jw90dyl\"},{\"name\":\"NOAUTOSAVE\",\"optional\":true,\"description\":\"automatically saves changes that are made in the temporary working environment as permanent updates to the current environment when the RISK procedure terminates. This argument is valid if NEW, OPEN, or REPLACE is specified.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0v38atphcequxn1ar191jw90dyl\"},{\"name\":\"DESC\",\"optional\":true,\"description\":\"specifies a descriptive label for the environment. Longer labels are truncated to 80 characters. This argument is valid if either NEW, OPEN, or REPLACE is specified.\",\"help\":\"DESC | LABEL= *“label”* \",\"type\":\"value\",\"supportSiteTargetFragment\":\"n15pp9rakw4shon13rryt99ujptv\"},{\"name\":\"INHERIT=\",\"optional\":true,\"description\":\"enables inheritance for the environment from the contents of one or more specified environments. This argument is valid if either NEW, OPEN, or REPLACE is specified and replaces any existing inheritance structure that is specified for the environment. To add one or more environments to an existing inheritance structure, use the INCLUDE argument.\",\"help\":\"INHERIT=*env-name* | ( *env-name-list* )\",\"type\":\"choice\",\"arguments\":[{\"name\":\"env-name\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"( env-name-list )\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"n1wx7iut7rtdown152zmnboqa65u\"},{\"name\":\"INCLUDE=\",\"optional\":true,\"description\":\"enables inheritance for the environment from the contents of one or more specified environments in addition to any from which the environment already inherits. To specify an inheritance structure that replaces any existing inheritance structure that is specified for the environment, use the INHERIT argument.\",\"help\":\"INCLUDE=*env-name* | ( *env-name-list* )\",\"type\":\"choice\",\"arguments\":[{\"name\":\"env-name\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"( env-name-list )\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"n1h989xpry5yr5n1xxiaus2duou2\"},{\"name\":\"LONGLABEL=\",\"optional\":true,\"description\":\"specifies a long description for the environment. Maximum length is 512 characters.\",\"help\":\"LONGLABEL= \\\"*longlabel*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1hiqrnm6qb5w9n1u2amx0eqh0x8\"},{\"name\":\"NOUPDATEMETADATA\",\"optional\":true,\"description\":\"turns off updates to metadata repositories. When you specify metadata SAS system options, the SAVE or SAVEAS argument of the ENVIRONMENT statement updates metadata repositories with the environment’s name, location, and description. For example, if the SAS METAREPOSITORY system option is set, updates are made to the metadata repository unless you specify NOUPDATEMETADATA.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n10dbome1myy4xn1ik3k7r15dwzd\"}],\"supportSiteTargetFile\":\"n0bdl5a7ryctb5n15e8r9lc5q5ih.htm\"},{\"name\":\"FILTER\",\"description\":\"Creates a logical expression or query that selects a subset of a portfolio to use in an analysis.\",\"help\":\"FILTER  *name* &lt;*argument(s)*&gt;WHERE  *“conditional-expression_1” “conditional-expression_2”* . . . ;\",\"arguments\":[{\"name\":\"name\",\"placeholder\":true,\"description\":\"specifies the name of the filter.\",\"help\":\" *name* \",\"type\":\"value\",\"supportSiteTargetFragment\":\"p19wkh7h88fwven17gkpig930a0i\"},{\"name\":\"WHERE\",\"description\":\"specifies conditions of the filter expressed in the syntax of the SAS programming language. Variables used in the conditional expression must be instrument variables that are included in all of the instrument types, either when the types are defined or through inheritance of the BASETYPE instrument type.\",\"help\":\"WHERE “*conditional-expression_1” “conditional-expression_2”* . . .\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1p6vmw5413x0un1kkmfvfqzhhp9\"},{\"name\":\"DESC\",\"optional\":true,\"description\":\"specifies a descriptive label for the filter. Longer labels are truncated to 80 characters.\",\"help\":\"DESC | LABEL= *“label”* \",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1ov9uk56qzfe6n1obvqggy95nhg\"},{\"name\":\"LONGLABEL=\",\"optional\":true,\"description\":\"specifies a long description for the filter. Maximum length is 512 characters.\",\"help\":\"LONGLABEL= \\\"*longlabel*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1maxwysvrxyhcn1gaiytzqnup7m\"}],\"supportSiteTargetFile\":\"n0nqdp1blwa5t9n1g6ybzz6psgit.htm\"},{\"name\":\"IMPORT\",\"description\":\"Imports objects from the specified environment to the current temporary working environment.\",\"help\":\"IMPORT FROM= *environment-name* &lt;*argument(s)*&gt;;\",\"arguments\":[{\"name\":\"FROM\",\"description\":\"specifies the environment from which to import objects.\",\"help\":\"FROM | FROMENV= *environment-name* \",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0ulfgldxtkuw7n1rpsm3r5k70n8\"},{\"name\":\"ANALYSIS=\",\"optional\":true,\"description\":\"imports one or more analysis specifications.\",\"help\":\"ANALYSIS=*name* | ( *name-list* ) | ALL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"name\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"( name-list )\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"ALL\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"n10mwp1nlxp0xwn1og51ldp9hetr\"},{\"name\":\"CROSSCLASS=\",\"optional\":true,\"description\":\"imports one or more cross-classifications.\",\"help\":\"CROSSCLASS=*name* | ( *name-list* ) | ALL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"name\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"( name-list )\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"ALL\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"p1oxokjyiptprun1x96dtpz8flux\"},{\"name\":\"FILTER=\",\"optional\":true,\"description\":\"imports one or more portfolio filters.\",\"help\":\"FILTER=*name* | ( *name-list* ) | ALL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"name\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"( name-list )\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"ALL\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"n04z777nsqa77pn1vqzhw93tu78o\"},{\"name\":\"INSTDATA=\",\"optional\":true,\"description\":\"imports one or more instrument data sources.\",\"help\":\"INSTDATA=*name* | ( *name-list* ) | ALL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"name\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"( name-list )\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"ALL\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"p1f0mt8yjd9j27n16dww94svgfbp\"},{\"name\":\"INSTRUMENT=\",\"optional\":true,\"description\":\"imports one or more instrument types. This argument performs the same function as the ACCOUNT, ASSET, and POLICY arguments.\",\"help\":\"INSTRUMENT=*name* | ( *name-list* ) | ALL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"name\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"( name-list )\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"ALL\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"n0szj2rkwe4rs0n1pa074tihv50c\"},{\"name\":\"MARKETDATA=\",\"optional\":true,\"description\":\"imports one or more market data sources.\",\"help\":\"MARKETDATA=*name* | ( *name-list* ) | ALL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"name\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"( name-list )\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"ALL\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"n02o45lq0kwo3kn1tij275tyb68y\"},{\"name\":\"METHOD=\",\"optional\":true,\"description\":\"imports one or more methods.\",\"help\":\"METHOD=*name* | ( *name-list* ) | ALL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"name\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"( name-list )\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"ALL\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"p067d0cfzrz0f1n15ggz7ps0q7ei\"},{\"name\":\"PARAMETER=\",\"optional\":true,\"description\":\"imports one or more parameter matrices.\",\"help\":\"PARAMETER=*name* | ( *name-list* ) | ALL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"name\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"( name-list )\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"ALL\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"p0xgruxeo35h79n1rwhynudyu39u\"},{\"name\":\"PROJECT=\",\"optional\":true,\"description\":\"imports one or more analysis projects.\",\"help\":\"PROJECT=*name* | ( *name-list* ) | ALL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"name\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"( name-list )\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"ALL\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"n05moh0thj4au8n16dqu6gfngrij\"},{\"name\":\"RFTSET=\",\"optional\":true,\"description\":\"imports one or more risk factor transformation sets.\",\"help\":\"RFTSET=*name* | ( *name-list* ) | ALL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"name\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"( name-list )\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"ALL\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"p1xk6faonxt824n1pser9n3vxn2c\"},{\"name\":\"SCENARIO_CF=\",\"optional\":true,\"description\":\"imports one or more scenario cash flow data objects.\",\"help\":\"SCENARIO_CF=*name* | ( *name-list* ) | ALL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"name\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"( name-list )\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"ALL\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"p1pgurzzoiuej4n1xr5gznaj9thp\"},{\"name\":\"SOURCE=\",\"optional\":true,\"description\":\"imports one or more portfolio input lists.\",\"help\":\"SOURCE=*name* | ( *name-list* ) | ALL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"name\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"( name-list )\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"ALL\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"n1oyucuyhqm9bxn1p7s3iy9puus8\"},{\"name\":\"TIMEGRID=\",\"optional\":true,\"description\":\"imports one or more time grids.\",\"help\":\"TIMEGRID=*name* | ( *name-list* ) | ALL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"name\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"( name-list )\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"ALL\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"n186ph18idwpipn1gz1hcaduxpok\"},{\"name\":\"VARIABLE=\",\"optional\":true,\"description\":\"imports one or more instrument, counterparty, or mitigation variables.\",\"help\":\"VARIABLE=*name* | ( *name-list* ) | ALL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"name\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"( name-list )\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"ALL\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"p08nca2n3ypd1fn19payg7jr7zok\"}],\"supportSiteTargetFile\":\"p1a88cirujyzhrn1ax3q3s1pmtr4.htm\"},{\"name\":\"INSTDATA\",\"description\":\"Creates an instrument data source, which the READ statement uses to create a risk object used in a portfolio. To accommodate industry-specific terminology, you can also call the INSTDATA statement the LOANDATA statement.\",\"help\":\"INSTDATA  *data-source-name* FILE= *SAS-data-set* FORMAT= *data-format* &lt;*argument(s)*&gt; ;LOANDATA  *data-source-name* FILE= *SAS-data-set* FORMAT= *data-format* &lt;*argument(s)*&gt; ;\",\"arguments\":[{\"name\":\"data-source-name\",\"placeholder\":true,\"description\":\"specifies the name of the instrument data source.\",\"help\":\" *data-source-name* \",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1hexyi1so9d0pn11s3je0w3s3lj\"},{\"name\":\"FILE=\",\"description\":\"specifies the input data set (or data view) that contains the instrument data.\",\"help\":\"FILE= *SAS-data-set* \",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"n0k8b639low5bcn1iey3v2302v0g\"},{\"name\":\"FORMAT=\",\"description\":\"specifies the type of the input data set.\",\"help\":\"FORMAT=CASH_FLOW | SIMPLE | SPARSE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"CASH_FLOW\",\"type\":\"standalone\"},{\"name\":\"SIMPLE\",\"type\":\"standalone\"},{\"name\":\"SPARSE\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"p00mhyq9aes3jhn1qpqgf1kt1wzt\"},{\"name\":\"DESC\",\"optional\":true,\"description\":\"specifies a descriptive label for the instrument data source. Longer labels are truncated to 80 characters.\",\"help\":\"DESC | LABEL= *“label”* \",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1vj6t7z5pn2hun10lvbeucp5oeg\"},{\"name\":\"LONGLABEL=\",\"optional\":true,\"description\":\"specifies a long description for the instrument data source. Maximum length is 512 characters.\",\"help\":\"LONGLABEL= \\\"*longlabel*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1rsapx1mr62ufn199j8neiwehwj\"},{\"name\":\"TYPE=\",\"optional\":true,\"description\":\"specifies that all instruments in the input file have the same instrument type (namely that specified by the instrument-type-name). If the instrument type varies across instruments in the file, then do not specify this argument. Maximum length is 32 characters.\",\"help\":\"TYPE=*instrument-type-name* \",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0g1usawzzay8cn1hhqlaokp4b9x\"},{\"name\":\"VARIABLES=\",\"optional\":true,\"description\":\"maps variable names in the input data set to instrument variable names.\",\"help\":\"VARIABLES=*( name-map1 name-map2 . . . )* \",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1hd5tv1mfsnmbn1uzqwy3lzykmo\"}],\"supportSiteTargetFile\":\"p0dbvf1atg9i3pn1x78tbd85f7sz.htm\"},{\"name\":\"INSTRUMENT\",\"description\":\"Creates an instrument type, which associates instrument variables with methods. To accommodate industry-specific terminology, you can also call the INSTRUMENT statement the ACCOUNT, ASSET, LOAN, or POLICY statement.\",\"help\":\"INSTRUMENT  *object-name* &lt;*argument(s)*&gt; ;ACCOUNT  *object-name* &lt;*argument(s)*&gt; ;ASSET  *object-name* &lt;*argument(s)*&gt; ;LOAN  *object-name* &lt;*argument(s)*&gt; ;POLICY  *object-name* &lt;*argument(s)*&gt; ;\",\"arguments\":[{\"name\":\"object-name\",\"placeholder\":true,\"description\":\"specifies the name of the instrument type.\",\"help\":\" *object-name* \",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0vnojg9nsqehkn128mst4yetqp7\"},{\"name\":\"BASETYPE\",\"optional\":true,\"description\":\"specifies the parent instrument type from which the instrument type inherits variables and pricing methods.\",\"help\":\"BASETYPE | SUPER=*instrument-name* \",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0sl75zps72axon1qthecm5sz3dt\"},{\"name\":\"DEFAULT\",\"optional\":true,\"description\":\"specifies the default values of the instrument variables.\",\"help\":\"DEFAULT | DEFAULTS= (*name_1* *value_1*,*name_2* *value_2*, . . . )\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p08ixd4we4ru75n10pscucf0va9k\"},{\"name\":\"DESC\",\"optional\":true,\"description\":\"specifies a descriptive label for the instrument type. Longer labels are truncated to 80 characters.\",\"help\":\"DESC | LABEL= *“label”* \",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0q35mknedv34ln1fr1exflaidl9\"},{\"name\":\"LONGLABEL=\",\"optional\":true,\"description\":\"specifies a long description for the instrument type. Maximum length is 512 characters.\",\"help\":\"LONGLABEL= \\\"*longlabel*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n016kd2yik00psn1borj5pxkt0gw\"},{\"name\":\"MCREPS=\",\"optional\":true,\"description\":\"specifies the number of times that instrument types are called when you perform a Monte Carlo pricing. Output variables are averaged across the specified number. The default value of number is 2. Use this argument when MCTYPE=AVERAGE.\",\"help\":\"MCREPS=*number* \",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0v6vlohophnuxn10gsnae5ni269\"},{\"name\":\"MCTYPE=\",\"optional\":true,\"description\":\"specifies a Monte Carlo instrument type. This instrument type is supported by SAS High-Performance Risk. The associated pricing method is called in a loop MCREPS times across horizons, where you specify value through the value of MCREPS or the value of MCSIMULATIONS in the PROC HPRISK statement.\",\"help\":\"MCTYPE=AVERAGE | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"AVERAGE\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"n1un3c8kjsx9fhn141h9dwxdrhsn\"},{\"name\":\"METHODS=\",\"optional\":true,\"description\":\"specifies the method programs to execute for instruments of this type, where method-name is the name of the method program. Pricing methods are executed to calculate the value of the instrument type in a specific market state.\",\"help\":\"METHODS= *( price method-name )* \",\"type\":\"value\",\"supportSiteTargetFragment\":\"p06xaxnfwtdvcsn1w7f6iy0s7gfy\"},{\"name\":\"VARIABLES=\",\"optional\":true,\"description\":\"specifies the variables that are associated with the instrument type.\",\"help\":\"VARIABLES= ( variable_1, variable_2, …)\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0jkixpw4oprxmn1588crvidcxi2\"},{\"name\":\"VALRECORD=\",\"optional\":true,\"description\":\"specifies whether instruments of this type are quadratic.\",\"help\":\"VALRECORD=QUADRATIC\",\"type\":\"choice\",\"arguments\":[{\"name\":\"QUADRATIC\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"n0dkwfpup1i6esn1xlvsiezk9f5c\"}],\"supportSiteTargetFile\":\"n1rka6kgkeo1zfn1f2ekrqnm10jf.htm\"},{\"name\":\"MARKETDATA\",\"description\":\"Creates a market data source. The different types of market data sources include current market values, historical market data, risk factor covariance matrices, sensitivities, and others. To accommodate industry-specific terminology, you can also specify the ECONDATA statement or the PARAMETERDATA statement.\",\"help\":\"MARKETDATA  *data-source-name* FILE= *SAS-data-set* TYPE= *type* &lt;*argument(s)*&gt; ;ECONDATA  *data-source-name* FILE= *SAS-data-set* TYPE= *type* &lt;*argument(s)*&gt; ;PARAMETERDATA  *data-source-name* FILE= *SAS-data-set* TYPE= *type* &lt;*argument(s)*&gt; ;\",\"arguments\":[{\"name\":\"data-source-name\",\"placeholder\":true,\"description\":\"specifies the name of the market data source that is created.\",\"help\":\" *data-source-name* \",\"type\":\"value\",\"supportSiteTargetFragment\":\"n05qvmzz04v9b4n1c7q2xjatlbm7\"},{\"name\":\"FILE=\",\"description\":\"specifies the input data set that contains the market data.\",\"help\":\"FILE= *SAS-data-set* \",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"n0t0j0z6pnbdumn18c56he89wnij\"},{\"name\":\"TYPE=\",\"description\":\"specifies one of the following types of market data sources:\\n• CHANGES \\n• CHOLESKY \\n• CORRELATION \\n• COVARIANCE \\n• CURRENT \\n• PARAMETER | PARAMETERS \\n• RAREEVENTS \\n• SCENARIOANALYSIS \\n• SCENARIO_CF \\n• SCENARIOS \\n• SENSITIVITIES\\n• TIMESERIES \\n• TRANSFORM \\n• VOLATILITY \",\"help\":\"TYPE= *type* \",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1bn6qp0bc928on1kk5glqo4uh20\"},{\"name\":\"ALPOS\",\"optional\":true,\"description\":\"specifies whether to apply each position’s asset-liability position flag to data in the sensitivities market data source. The flag is a multiplier of 1 or of –1. The default value is NOALPOS. Use this argument only when you specify TYPE=SENSITIVITIES.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0rd6zyjxi1klcn103ult88k3nu5\"},{\"name\":\"NOALPOS\",\"optional\":true,\"description\":\"specifies whether to apply each position’s asset-liability position flag to data in the sensitivities market data source. The flag is a multiplier of 1 or of –1. The default value is NOALPOS. Use this argument only when you specify TYPE=SENSITIVITIES.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0rd6zyjxi1klcn103ult88k3nu5\"},{\"name\":\"CURRENCY=\",\"optional\":true,\"description\":\"specifies the three-letter currency code of the values in the sensitivities market data source. The default value is the numeraire currency of the project. Use this argument only when you specify TYPE=SENSITIVITIES. This argument is ignored when used with ALPOS, FX, HOLDING, or SHORTPOS.\",\"help\":\"CURRENCY= *currencycode*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1hp6fs9juvtupn13wi01k404akj\"},{\"name\":\"FX\",\"optional\":true,\"description\":\"specifies whether values in the sensitivities market data source should be multiplied by the appropriate foreign exchange rate. The default value is NOFX. Use this argument only when you specify TYPE=SENSITIVITIES.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0gweyz2prf9n3n12r9lov3pbpf5\"},{\"name\":\"NOFX\",\"optional\":true,\"description\":\"specifies whether values in the sensitivities market data source should be multiplied by the appropriate foreign exchange rate. The default value is NOFX. Use this argument only when you specify TYPE=SENSITIVITIES.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0gweyz2prf9n3n12r9lov3pbpf5\"},{\"name\":\"HOLDING\",\"optional\":true,\"description\":\"specifies whether the value in the sensitivities market data source should be multiplied by the holding amount. The default value is NOHOLDING. Use this argument only when you specify TYPE=SENSITIVITIES.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1wduqg7mmd5a4n1f1iisu32aor4\"},{\"name\":\"NOHOLDING\",\"optional\":true,\"description\":\"specifies whether the value in the sensitivities market data source should be multiplied by the holding amount. The default value is NOHOLDING. Use this argument only when you specify TYPE=SENSITIVITIES.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1wduqg7mmd5a4n1f1iisu32aor4\"},{\"name\":\"INTERVAL=\",\"optional\":true,\"description\":\"specifies the data frequency. This argument is applicable when TYPE= AGGR_CONFIG, CHANGES, CHOLESKY, CORRELATION, COVARIANCE, RAREEVENTS, SCENARIOS, TIMESERIES, or VOLATILITY.\",\"help\":\"INTERVAL= *interval-name* \",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1q1rvi1sja7njn1r12owhmnxs6c\"},{\"name\":\"KEY=\",\"optional\":true,\"description\":\"specifies which column in the market data source to use as a key. The default value is InstID. The key must be both a column in the data source and an instrument variable.\",\"help\":\"KEY= *keyname*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0r8x5wmyxytj8n1ubvgweqpwtwd\"},{\"name\":\"PSD=\",\"optional\":true,\"description\":\"specifies whether you have validated that a covariance or correlation matrix is positive semidefinite. Setting this argument often reduces run time by skipping validations, but you assume greater responsibility for the quality of your data.\\n• In a Delta-Normal analysis, the process ordinarily validates that the covariance matrix is positive semi-definite before calculating VaR. By specifying PSD=VERIFIED, you specify to skip this validation. \\n• In a simulation analysis, a Cholesky decomposition of the matrix is performed. If during the Cholesky decomposition a negative pivot point is calculated, the process ordinarily fixes the matrix according to the specification of PSDMETHOD= in the SETOPTIONS statement. By specifying PSD=VERIFIED, you specify that the negative pivot is numeric noise. In that case, the pivot is set equal to 0. \",\"help\":\"PSD=VERIFIED | UNVERIFIED\",\"type\":\"choice\",\"arguments\":[{\"name\":\"VERIFIED\",\"type\":\"standalone\"},{\"name\":\"UNVERIFIED\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"p0lh6uvs0tg80jn1ezzhleqx36io\"},{\"name\":\"ROWNAME=\",\"optional\":true,\"description\":\"specifies another name for the variable _name_, if it is in the input data set.\",\"help\":\"ROWNAME= *new-name* \",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0eqcoi7a68obbn1p9wfrxkhljvt\"},{\"name\":\"SHORTPOS\",\"optional\":true,\"description\":\"specifies whether the value in the sensitivities market data source should be multiplied by the short position flag. The default value is NOSHORTPOS. Use this argument only when you specify TYPE=SENSITIVITIES.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0k7qf70k1jqx9n1eilbz1jmsya4\"},{\"name\":\"NOSHORTPOS\",\"optional\":true,\"description\":\"specifies whether the value in the sensitivities market data source should be multiplied by the short position flag. The default value is NOSHORTPOS. Use this argument only when you specify TYPE=SENSITIVITIES.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0k7qf70k1jqx9n1eilbz1jmsya4\"},{\"name\":\"TOLERANCE=\",\"optional\":true,\"description\":\"sets the tolerance for Cholesky and spectral decompositions. The value should be between 1e-16 and 1e-4. If you do not specify this argument, then a tolerance of 1e-8 is used.\",\"help\":\"TOLERANCE= *value* \",\"type\":\"value\",\"supportSiteTargetFragment\":\"p01pkljz3k8927n1fyl7fjcyf2mr\"}],\"supportSiteTargetFile\":\"n1xbzrgpbebokrn1anw5x1c9e4az.htm\"},{\"name\":\"MITIGATION\",\"description\":\"Creates a mitigation type that is associated with mitigation variables and methods. A mitigation method is required for a mitigation object.\",\"help\":\"MITIGATION  *name* &lt;*argument(s)*&gt;;\",\"arguments\":[{\"name\":\"name\",\"placeholder\":true,\"description\":\"specifies the name of the mitigation type.\",\"help\":\" *name* \",\"type\":\"value\",\"supportSiteTargetFragment\":\"n10moqf15qfywen1qzvbvnvk24nw\"},{\"name\":\"BASETYPE\",\"optional\":true,\"description\":\"specifies the parent mitigation type from which the mitigation type inherits variables. If you specify this argument, the METHOD argument is not required.\",\"help\":\"BASETYPE | SUPER= *mitigation-name* \",\"type\":\"value\",\"supportSiteTargetFragment\":\"n12hofp505qqbzn1ht3zilbhgp8q\"},{\"name\":\"DESC\",\"optional\":true,\"description\":\"specifies a descriptive label for the mitigation type. Longer labels are truncated to 80 characters.\",\"help\":\"DESC | LABEL= *\\\"label\\\"* \",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1oifg9wsr4eppn1bqymw9g2wm0a\"},{\"name\":\"LONGLABEL=\",\"optional\":true,\"description\":\"specifies a long description for the mitigation type. Maximum length is 512 characters.\",\"help\":\"LONGLABEL= *\\\"longlabel\\\"* \",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0e4xgqu45qy12n1v6zisnh14mpn\"},{\"name\":\"METHOD=\",\"optional\":true,\"description\":\"specifies the name of the mitigation method. If you specify this argument, the BASETYPE argument is not required.\",\"help\":\"METHOD= ( *method-name* )\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0zgiivpcmyaurn134dftlvt45eh\"},{\"name\":\"VARIABLES=\",\"optional\":true,\"description\":\"specifies the variables that are associated with the mitigation type.\",\"help\":\"VARIABLES= ( *variable_1 variable_2* …)\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0cdca7vksh341n19t3ixyhv3qh0\"}],\"supportSiteTargetFile\":\"n1lgbac3iy3nuln1m3t6k6pucn3c.htm\"},{\"name\":\"MITIGATIONDATA\",\"description\":\"Creates a mitigation data source, which the READ statement uses to create a risk object used in a portfolio.\",\"help\":\"MITIGATIONDATA  *data-source-name* FILE= *SAS-data-set* &lt;*argument(s)*&gt; ;\",\"arguments\":[{\"name\":\"data-source-name\",\"placeholder\":true,\"description\":\"specifies the name of the mitigation data source.\",\"help\":\" *data-source-name* \",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0le76xwpzpxwfn1ly20sifzqq5e\"},{\"name\":\"FILE=\",\"description\":\"specifies the input data set (or data view) that contains the mitigation data.\",\"help\":\"FILE= *SAS-data-set* \",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"p0gmefvpdwkdh9n12ip2rb7hokaf\"},{\"name\":\"DESC\",\"optional\":true,\"description\":\"specifies a descriptive label for the mitigation data source. Longer labels are truncated to 80 characters.\",\"help\":\"DESC | LABEL=*\\\"label\\\"* \",\"type\":\"value\",\"supportSiteTargetFragment\":\"p122k38znhq6mbn1m0u4s396goyo\"},{\"name\":\"LONGLABEL=\",\"optional\":true,\"description\":\"specifies a long description for the mitigation data source. Maximum length is 512 characters.\",\"help\":\"LONGLABEL= *\\\"longlabel\\\"* \",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0ddbq1sui8o6vn1iflp9bomw8rt\"},{\"name\":\"TARGET=\",\"optional\":true,\"description\":\"specifies whether the mitigation data source uses position-level mitigation or netting set-level mitigation. The default value is POSITION.\",\"help\":\"TARGET=POSITION | NETTINGSET\",\"type\":\"choice\",\"arguments\":[{\"name\":\"POSITION\",\"type\":\"standalone\"},{\"name\":\"NETTINGSET\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"p1c543se4e1i0an1ug024ph6okk7\"},{\"name\":\"TYPE=\",\"optional\":true,\"description\":\"specifies that all mitigants in the input file have the same mitigation type (namely that specified by mitigation-type-name). If the mitigation type varies across mitigants in the file, then do not specify this argument. Maximum length is 32 characters.\",\"help\":\"TYPE= *mitigation-type-name* \",\"type\":\"value\",\"supportSiteTargetFragment\":\"n03kjfahn2l9egn1hrkdwdd23w66\"},{\"name\":\"VARIABLES=\",\"optional\":true,\"description\":\"maps variable names in the input data set to mitigation variable names.\",\"help\":\"VARIABLES= (*name-map_1 name-map_2* …)\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0y699qtzv9510n13h2ucwfpuwns\"}],\"supportSiteTargetFile\":\"n15wo2u6h7x32ln1ly4dtejz41c0.htm\"},{\"name\":\"PARAMETER\",\"description\":\"Creates a static parameter matrix, which holds numerical constants. Static parameter matrices can be accessed but not modified.\",\"help\":\"PARAMETER  *pmx* DATA= *market-data-source* &lt;*argument(s)*&gt; ;\",\"arguments\":[{\"name\":\"pmx\",\"placeholder\":true,\"description\":\"specifies the name of the parameter matrix.\",\"help\":\" *pmx* \",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0m3c79hc25notn1x0740d6d7tbm\"},{\"name\":\"DATA=\",\"description\":\"specifies a parameter or transform market data source from which to read parameter values.\",\"help\":\"DATA= *market-data-source* \",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0xfyo7h25cq2qn1s9r4djxu7duj\"},{\"name\":\"DESC\",\"optional\":true,\"description\":\"specifies a descriptive label for the parameter matrix. Longer labels are truncated to 80 characters.\",\"help\":\"DESC | LABEL= \\\"*label*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n13qvn4ahqm8g4n17tqsfed61mmk\"},{\"name\":\"DIMENSION\",\"optional\":true,\"description\":\"specifies the dimensions of a dynamic parameter matrix. If you specify the DIMENSION argument, then do not specify the ROW or COLUMN arguments.\",\"help\":\"DIMENSION | DIMENSIONS=dimension | (dimension-list)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"dimension\",\"type\":\"standalone\"},{\"name\":\"(dimension-list)\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"p03s5ut3q6n1tin163x14whcxutd\"},{\"name\":\"LINTRANS\",\"optional\":true,\"description\":\"specifies whether the parameter matrix is for a linear transformation of risk factors. If the LINTRANS argument is invoked, then both the COLUMN and ROW arguments must be specified, and each value that these arguments specify must represent a risk factor.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p05ux5agh9sfken1w5a67zs4bzhc\"},{\"name\":\"NOLINTRANS\",\"optional\":true,\"description\":\"specifies whether the parameter matrix is for a linear transformation of risk factors. If the LINTRANS argument is invoked, then both the COLUMN and ROW arguments must be specified, and each value that these arguments specify must represent a risk factor.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p05ux5agh9sfken1w5a67zs4bzhc\"},{\"name\":\"LONGLABEL=\",\"optional\":true,\"description\":\"specifies a long description for the parameter matrix. Maximum length is 512 characters.\",\"help\":\"LONGLABEL= \\\"*longlabel*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1vhwk6b7dgok1n152qgkykb7s1b\"},{\"name\":\"MAXNAMELEN=\",\"optional\":true,\"description\":\"specifies the maximum length of the name of a row or a column in a parameter matrix. The length must be an integer between 1 and 1024. Names must be unique to the first 32 characters.\",\"help\":\"MAXNAMELEN= *length* \",\"type\":\"value\",\"supportSiteTargetFragment\":\"p088uf1r1ig14rn118y7rve2a3zw\"},{\"name\":\"PMXCOLUMN=\",\"optional\":true,\"description\":\"specifies which rows to filter when columns of data in a parameter matrix are accessed.\",\"help\":\"PMXCOLUMN= pmx | *filter value* | *column name* | retArray\",\"type\":\"choice\",\"arguments\":[{\"name\":\"pmx\",\"type\":\"standalone\"},{\"name\":\"filter\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"column\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"retArray\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"n0yifz013sjvnun1em3ytkvlqxje\"}],\"supportSiteTargetFile\":\"p0roz6c92xkm0wn15ooqr0fxqh83.htm\"},{\"name\":\"PRINT\",\"description\":\"Prints objects that are defined in the current environment. NOTE: Including this statement in your PROC RISK block has no effect on the SAS High-Performance Risk project run.\",\"help\":\"PRINT &lt;*argument(s)*&gt; ;\",\"arguments\":[{\"name\":\"ALL\",\"optional\":true,\"description\":\"prints all objects.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1djvb5a1553lsn13cv0ipdsodny\"},{\"name\":\"ALLCURRENCIES\",\"optional\":true,\"description\":\"prints all currencies.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1q3s0uxgsd2rrn129gkfot0r78c\"},{\"name\":\"ANALYSIS=\",\"optional\":true,\"description\":\"prints one or more analysis specifications.\",\"help\":\"ANALYSIS=*name* | ( *name-list* )\",\"type\":\"choice\",\"arguments\":[{\"name\":\"name\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"( name-list )\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"n18bj9sl8mpwvdn1ki4jwydxvb2r\"},{\"name\":\"ARRAYS\",\"optional\":true,\"description\":\"prints all arrays.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n02ga1jzdx9fhxn1h72rlp4nyye1\"},{\"name\":\"COUNTERPARTIES\",\"optional\":true,\"description\":\"prints all counterparty types.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0y71z1ko29a9cn16ec104a6z78u\"},{\"name\":\"COUNTERPARTY=\",\"optional\":true,\"description\":\"prints one or more counterparty types.\",\"help\":\"COUNTERPARTY=*name* | ( *name-list* )\",\"type\":\"choice\",\"arguments\":[{\"name\":\"name\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"( name-list )\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p0v7fq9xv09zeun185g19u7b3jg3\"},{\"name\":\"CPTYDATA=\",\"optional\":true,\"description\":\"prints one or more counterparty data sources.\",\"help\":\"CPTYDATA=*name* | ( *name-list* )\",\"type\":\"choice\",\"arguments\":[{\"name\":\"name\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"( name-list )\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"n1t1jfkifqhqkxn1f5gr9osg8f4a\"},{\"name\":\"CROSSCLASS=\",\"optional\":true,\"description\":\"prints one or more cross-classifications.\",\"help\":\"CROSSCLASS=*name* | ( *name-list* )\",\"type\":\"choice\",\"arguments\":[{\"name\":\"name\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"( name-list )\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"n16alkent0triqn18try2ik21bz6\"},{\"name\":\"CURRENCIES\",\"optional\":true,\"description\":\"prints all currencies.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1d3xe570ywlk0n1na0fgqho1j76\"},{\"name\":\"DISTORTION=\",\"optional\":true,\"description\":\"prints one or more distortion measures.\",\"help\":\"DISTORTION=*name* | ( *name-list* )\",\"type\":\"choice\",\"arguments\":[{\"name\":\"name\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"( name-list )\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p1tsiaibttwqgwn13mkvni03mlg5\"},{\"name\":\"DRIVER=\",\"optional\":true,\"description\":\"prints information about driver objects.\",\"help\":\"DRIVER=*name* | ( *name-list* )\",\"type\":\"choice\",\"arguments\":[{\"name\":\"name\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"( name-list )\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p1ssff6sv49bvjn1170vivnw4wjm\"},{\"name\":\"DSINFO\",\"optional\":true,\"description\":\"prints information about data sets.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1qzhnczq136vrn1nv5j29v1ekac\"},{\"name\":\"ENTRIES\",\"optional\":true,\"description\":\"prints all functions.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p01hrib0ngqcogn1wijwfzcxorli\"},{\"name\":\"FUNCTIONS\",\"optional\":true,\"description\":\"prints all functions.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p01hrib0ngqcogn1wijwfzcxorli\"},{\"name\":\"SUBROUTINES\",\"optional\":true,\"description\":\"prints all functions.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p01hrib0ngqcogn1wijwfzcxorli\"},{\"name\":\"ENVIRONMENT\",\"optional\":true,\"description\":\"prints information about the current environment.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p15kqkk1k1njozn1xbif9m7ec5ca\"},{\"name\":\"ENV\",\"optional\":true,\"description\":\"prints information about the current environment.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p15kqkk1k1njozn1xbif9m7ec5ca\"},{\"name\":\"FILTER=\",\"optional\":true,\"description\":\"prints one or more portfolio filters.\",\"help\":\"FILTER=*name* | ( *name-list* )\",\"type\":\"choice\",\"arguments\":[{\"name\":\"name\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"( name-list )\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"n0blwfxang2wj9n1oncsg6joosyi\"},{\"name\":\"FX=\",\"optional\":true,\"description\":\"prints the foreign exchange rate variables that are associated with the specified currency pair.\",\"help\":\"FX= from-currency : to-currency\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p128gu7bt4124hn1jcmzwr3enr5f\"},{\"name\":\"FXRATES\",\"optional\":true,\"description\":\"prints information about the foreign exchange rate variables and associated curves.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1gy7p212j93gnn1dr7aptcecw6z\"},{\"name\":\"INSTDATA=\",\"optional\":true,\"description\":\"prints one or more instrument data sources.\",\"help\":\"INSTDATA=*name* | ( *name-list* )\",\"type\":\"choice\",\"arguments\":[{\"name\":\"name\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"( name-list )\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p1xeeg0ssf07iyn1q5yam2yewf67\"},{\"name\":\"INSTRUMENT=\",\"optional\":true,\"description\":\"prints one or more instrument types. This argument performs the same function as the ACCOUNT, ASSET, and POLICY arguments.\",\"help\":\"INSTRUMENT=*name* | ( *name-list* )\",\"type\":\"choice\",\"arguments\":[{\"name\":\"name\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"( name-list )\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"n1v4t4lro1ulicn1ies1rmukxkt7\"},{\"name\":\"INSTRUMENTS\",\"optional\":true,\"description\":\"prints all instrument types. This argument performs the same function as the ACCOUNTS, ASSETS, and POLICIES arguments.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0w57ckq3kq490n0zubetqhtq36q\"},{\"name\":\"LIBS\",\"optional\":true,\"description\":\"prints all librefs.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1d22a2ts8s4qpn1gpta3p8n1fn5\"},{\"name\":\"LIBNAMES\",\"optional\":true,\"description\":\"prints all librefs.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1d22a2ts8s4qpn1gpta3p8n1fn5\"},{\"name\":\"LIBREFS\",\"optional\":true,\"description\":\"prints all librefs.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1d22a2ts8s4qpn1gpta3p8n1fn5\"},{\"name\":\"MARKETDATA=\",\"optional\":true,\"description\":\"prints one or more market data sources.\",\"help\":\"MARKETDATA=*name* | ( *name-list* )\",\"type\":\"choice\",\"arguments\":[{\"name\":\"name\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"( name-list )\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p0tgiueahra7rrn1gfhy9nkzo6kq\"},{\"name\":\"METHOD=\",\"optional\":true,\"description\":\"prints one or more methods.\",\"help\":\"METHOD=*name* | ( *name-list* )\",\"type\":\"choice\",\"arguments\":[{\"name\":\"name\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"( name-list )\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"n1gi1j4a2xl5p1n1xfp2yv9ip6jm\"},{\"name\":\"METHODS\",\"optional\":true,\"description\":\"prints all methods.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p10l9zf8dpb91gn1srazij0pvd72\"},{\"name\":\"MITDATA=\",\"optional\":true,\"description\":\"prints one or more mitigation data sources.\",\"help\":\"MITDATA=*name* | ( *name-list* )\",\"type\":\"choice\",\"arguments\":[{\"name\":\"name\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"( name-list )\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"n13db19i2oqn27n113l767jm06h2\"},{\"name\":\"MITIGATION=\",\"optional\":true,\"description\":\"prints one or more mitigation types.\",\"help\":\"MITIGATION=*name* | ( *name-list* )\",\"type\":\"choice\",\"arguments\":[{\"name\":\"name\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"( name-list )\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p0w16l8d9rujxzn15nm4o6hasr6c\"},{\"name\":\"MITIGATIONS\",\"optional\":true,\"description\":\"prints all mitigation types.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1ma3t97893xynn1umzyjml3pnno\"},{\"name\":\"OPTIONS\",\"optional\":true,\"description\":\"prints all argument settings.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p070o1c2r1y1oan1vtb59o7w77ld\"},{\"name\":\"PARAMETER=\",\"optional\":true,\"description\":\"prints one or more parameter matrices.\",\"help\":\"PARAMETER=*name* | ( *name-list* )\",\"type\":\"choice\",\"arguments\":[{\"name\":\"name\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"( name-list )\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p0l1sjisas9vzgn1662d8l13v5dw\"},{\"name\":\"PATH\",\"optional\":true,\"description\":\"prints the search path.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1m3yfxu91h3vjn1567rqpmr040f\"},{\"name\":\"SEARCHPATH\",\"optional\":true,\"description\":\"prints the search path.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1m3yfxu91h3vjn1567rqpmr040f\"},{\"name\":\"PROJECT=\",\"optional\":true,\"description\":\"prints one or more analysis projects.\",\"help\":\"PROJECT=*name* | ( *name-list* )\",\"type\":\"choice\",\"arguments\":[{\"name\":\"name\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"( name-list )\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p0hr7r531xraygn1xzjclf4vii2b\"},{\"name\":\"RESERVEDNAMES\",\"optional\":true,\"description\":\"prints the list of reserved words that cannot be used as variable names to SAS output.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0tuc8fx3wlp91n1hpix60e8skwa\"},{\"name\":\"RFTSET=\",\"optional\":true,\"description\":\"prints one or more risk factor transformation sets.\",\"help\":\"RFTSET=*name* | ( *name-list* )\",\"type\":\"choice\",\"arguments\":[{\"name\":\"name\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"( name-list )\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"n07xam4dnkg901n1ex4ko1v2i042\"},{\"name\":\"RISKFACTORS\",\"optional\":true,\"description\":\"prints all risk factor variables.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0zq8oof7afhrzn1pkxjyhikbfbw\"},{\"name\":\"ROLES\",\"optional\":true,\"description\":\"prints all valid variable roles.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1otm0i67nviydn17rjoyo7dnrgm\"},{\"name\":\"SCENARIO_CF=\",\"optional\":true,\"description\":\"prints one or more scenario cash flow data objects.\",\"help\":\"SCENARIO_CF=*name* | ( *name-list* )\",\"type\":\"choice\",\"arguments\":[{\"name\":\"name\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"( name-list )\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"n1cruys0unba1dn1gvna20xbhd2w\"},{\"name\":\"SOURCES=\",\"optional\":true,\"description\":\"prints one or more portfolio input lists.\",\"help\":\"SOURCES=*name* | ( *name-list* )\",\"type\":\"choice\",\"arguments\":[{\"name\":\"name\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"( name-list )\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p0owfmdufj6ggun1otyfvi38vpb9\"},{\"name\":\"TIMEGRID=\",\"optional\":true,\"description\":\"prints one or more time grids.\",\"help\":\"TIMEGRID=*name* | ( *name-list* )\",\"type\":\"choice\",\"arguments\":[{\"name\":\"name\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"( name-list )\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p0l5a13l7zdm6gn16y7axc5rsz7s\"},{\"name\":\"TRANSMAT=\",\"optional\":true,\"description\":\"prints one or more static transition matrices.\",\"help\":\"TRANSMAT=*name* | ( *name-list* )\",\"type\":\"choice\",\"arguments\":[{\"name\":\"name\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"( name-list )\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p0wpawx9pomzszn1apgt4pcdjut9\"},{\"name\":\"TYPES\",\"optional\":true,\"description\":\"prints all valid variable types.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0qyds738lnv87n17j3et71phicd\"},{\"name\":\"DATATYPES\",\"optional\":true,\"description\":\"prints all valid variable types.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0qyds738lnv87n17j3et71phicd\"},{\"name\":\"VARIABLES\",\"optional\":true,\"description\":\"prints all instrument, counterparty, and mitigation variables.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n18jh4opk7dzoln1v22c4fk0xoaj\"}],\"supportSiteTargetFile\":\"n0i34ir8o9pwzmn1g9cqb5l6tvbe.htm\"},{\"name\":\"PROJECT\",\"description\":\"Creates a collection of portfolio, analysis, and output objects. These objects must be previously defined in other RISK procedure statements. Many of the arguments in the PROJECT statement are also available in the RUNPROJECT statement.\",\"help\":\"PROJECT PORTFOLIO= *project-name portfolio-name* &lt;*argument(s)*&gt; ;\",\"arguments\":[{\"name\":\"project-name\",\"placeholder\":true,\"description\":\"specifies the name of the project.\",\"help\":\" *project-name* \",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0wfo424n6e4cbn16lx40h47dgv1\"},{\"name\":\"PORTFOLIO=\",\"description\":\"specifies the portfolio to analyze.\",\"help\":\"PORTFOLIO= *portfolio-name* \",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0ytlack1rw1xzn14doi40mgj7eu\"},{\"name\":\"ALTYPE\",\"optional\":true,\"description\":\"triggers the following:\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n15thb3rjiuks9n1b6aoh20b1r85\"},{\"name\":\"ANALYSIS=\",\"optional\":true,\"description\":\"specifies an analysis to use.\",\"help\":\"ANALYSIS=*analysis*\",\"type\":\"choice\",\"arguments\":[{\"name\":\"analysis\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p1624dwan3gwz9n14hqb1tp2kicc\"},{\"name\":\"CFBUCKETLIST\",\"optional\":true,\"description\":\"lists multiple cash flow bucketing specifications to use simultaneously. Cash flow buckets are used to aggregate the cash flows at cross-classifications.\",\"help\":\"CFBUCKETLIST | CFLEGLIST= ( *bucketing-specification_1*, *bucketing-specification_2*, …)\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0lp5fzsgwu378n1m5oigkr6ag41\"},{\"name\":\"CFDIST=\",\"optional\":true,\"description\":\"A cash flow that occurs on a bucket date always goes into that bucket. The CFDIST argument specifies a distribution method to handle cash flows that do not fall exactly on a bucket date. Cash flows accumulate into either the previous or following bucket.\",\"help\":\"CFDIST= *distribution-method* \",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0uj7kwfemqmz4n19yl942pcuhnx\"},{\"name\":\"CFMAX\",\"optional\":true,\"description\":\"specifies the maximum cash flow size for all the instruments in the project. Use this argument for managing memory. If not specified, the argument is set to 10,000.\",\"help\":\"CFMAX | CFMAXSIZE= *n* \",\"type\":\"value\",\"supportSiteTargetFragment\":\"p02kmhclz6girqn1frzvzqi7mq79\"},{\"name\":\"COMPUTEDMETHODS=\",\"optional\":true,\"description\":\"specifies one or more computed methods or computed_rollup methods to use.\",\"help\":\"COMPUTEDMETHODS=*method* | ( *method-list* ) \",\"type\":\"choice\",\"arguments\":[{\"name\":\"method\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"( method-list )\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p17yhy89fm4kfxn0zn8ajtwt4k8l\"},{\"name\":\"CPTYINPUTMETHODS=\",\"optional\":true,\"description\":\"specifies one or more input methods to run when TASK=DISTRIBUTE in the HPRISK procedure. The specified list of input methods runs once for each counterparty as it distributes the CPTYDATA, enabling you to set or update the values of counterparty input variables in the portfolio.\",\"help\":\"CPTYINPUTMETHODS=*methods* | (*method-list*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"methods\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(method-list)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p1stuoe62d1bcon1grn2322jkwgh\"},{\"name\":\"CROSSCLASS=\",\"optional\":true,\"description\":\"specifies the cross-classification to use. If you do not specify this argument, then results are computed only for the entire portfolio.\",\"help\":\"CROSSCLASS= *cross-classification* \",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1i2wrz60jwll9n1x5e9akau3f4g\"},{\"name\":\"DATA\",\"optional\":true,\"description\":\"specifies one or more market data sources to use. You can use market data to help set base case values for the risk factors. In particular, you can include current, volatility, and time series to compute lags.\",\"help\":\"DATA | MARKETDATA =*market-data-source* | ( *market-data-source-list* )\",\"type\":\"choice\",\"arguments\":[{\"name\":\"market-data-source\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"( market-data-source-list )\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"n0r09149xadoc2n1wpz5fy00sxwu\"},{\"name\":\"DESC\",\"optional\":true,\"description\":\"specifies a descriptive label for the project. Longer labels are truncated to 80 characters.\",\"help\":\"DESC | LABEL= \\\"*label*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p18xz709k2orwln1fmxmvfpt0sbb\"},{\"name\":\"INPUTMETHODS=\",\"optional\":true,\"description\":\"specifies one or more input methods to run when TASK=DISTRIBUTE in the HPRisk procedure. The specified list of input methods runs once for each position as it distributes the INSTDATA, enabling you to set or update the values of instrument variables in the portfolio.\",\"help\":\"INPUTMETHODS=*method* | (*method-list*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"method\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(method-list)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"n0z6whx3h0ogxxn1bd5prpd15au0\"},{\"name\":\"LONGLABEL=\",\"optional\":true,\"description\":\"specifies a long description for the project. Maximum length is 512 characters.\",\"help\":\"LONGLABEL= \\\"*longlabel*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0c5vq0ptu4llfn1adfzcwaqfjmm\"},{\"name\":\"NUMERAIRE\",\"optional\":true,\"description\":\"specifies the three-letter currency code of the currency in which to report results. If this argument is not specified, then USD (U.S. dollars) is the reporting currency.\",\"help\":\"NUMERAIRE | CURRENCY= *currency-code* \",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1an2oj33i25wun1i2j7s7d1n0te\"},{\"name\":\"OPTIONS=\",\"optional\":true,\"description\":\"specifies values for any of the analysis and output arguments that are available in the SETOPTIONS statement.\",\"help\":\"OPTIONS= ( *arguments-list* )\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1f1anm4xxv00bn1of7widyvdwny\"},{\"name\":\"POSTVARMETHODS=\",\"optional\":true,\"description\":\"specifies one or more PostVaR methods to use.\",\"help\":\"POSTVARMETHODS=*method* | ( *method-list* )\",\"type\":\"choice\",\"arguments\":[{\"name\":\"method\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"( method-list )\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p1os3qcuixs9ngn115jbm2yuoypw\"},{\"name\":\"PREQUERYMETHODS=\",\"optional\":true,\"description\":\"specifies the list of PreQuery methods to run during a query.\",\"help\":\"PREQUERYMETHODS= (*method-list*)\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1b4mtly1y9oyln16hdifo2dz0v5\"},{\"name\":\"PROJECTMETHODS=\",\"optional\":true,\"description\":\"specifies one or more project methods to use.\",\"help\":\"PROJECTMETHODS=*method* | ( *method-list* )\",\"type\":\"choice\",\"arguments\":[{\"name\":\"method\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"( method-list )\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p1nwnnjuyryzezn1w25e6yi2ejmk\"},{\"name\":\"RFTSET=\",\"optional\":true,\"description\":\"specifies one or more risk factor transformation sets to apply to the input market data.\",\"help\":\"RFTSET=*transformation-set* | ( *transformation-set-list* )\",\"type\":\"choice\",\"arguments\":[{\"name\":\"transformation-set\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"( transformation-set-list )\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"n11lp78hbgrfodn16xz1bu11v3nf\"},{\"name\":\"ROLLUPMETHODS=\",\"optional\":true,\"description\":\"specifies one or more rollup methods to include in the risk project.\",\"help\":\"ROLLUPMETHODS=*method* | *method-list*\",\"type\":\"choice\",\"arguments\":[{\"name\":\"method\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"method-list\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"n17enml1fw2bdgn13rud0badnabt\"},{\"name\":\"RUNDATE=\",\"optional\":true,\"description\":\"specifies a date constant (for example, ’1jan1999’d) to use as the base date of the project.\",\"help\":\"RUNDATE= *date-constant* \",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0jzjas9c9ktxbn15ed2nyf1qkjf\"}],\"supportSiteTargetFile\":\"p08a4qkir7wyzln14suyha9xgpky.htm\"},{\"name\":\"READARRAYS\",\"description\":\"Creates an array declaration.\",\"help\":\"READARRAYS DATA= *SAS-data-set* ;\",\"arguments\":[{\"name\":\"DATA=\",\"description\":\"specifies the input data set that contains the array contents. This data set must have the same format as the output data set that is specified in the WRITEARRAYS statement. To view a data set with this format, execute the WRITEARRAYS statement and examine the resulting output data set.\",\"help\":\"DATA= *SAS-data-set* \",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"p0hw0lps92eex8n1evkbcnf4nov5\"}],\"supportSiteTargetFile\":\"p1c3wc2tpiymlyn1cgdftol34osl.htm\"},{\"name\":\"READREFS\",\"description\":\"Defines reference maps for risk factors.\",\"help\":\"READREFS DATA= *SAS-data-set*  ;\",\"arguments\":[{\"name\":\"DATA=\",\"description\":\"specifies the input data set that contains the reference map attributes. This data set must have the same format as the output data set that is specified in the WRITEREFS. To view a data set with this format, execute the WRITEREFS statement and examine the resulting output data set.\",\"help\":\"DATA= *SAS-data-set* \",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"n1iczty7h48zvdn1mfc8v13rqq8d\"}],\"supportSiteTargetFile\":\"p1u1nbx4d3kgwtn1al79zbt21cps.htm\"},{\"name\":\"READTYPES\",\"description\":\"Creates instrument type declarations.\",\"help\":\"READTYPES DATA= *SAS-data-set* &lt;*argument(s)*&gt;;\",\"arguments\":[{\"name\":\"DATA=\",\"description\":\"specifies the input data set that contains the instrument types. This data set must have the same format as the output data set that is specified in the WRITETYPES statement. To view a data set with this format, execute the WRITETYPES statement and examine the resulting output data set.\",\"help\":\"DATA= *SAS-data-set* \",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"n1en1c3z4uiqs6n1iadgw1fw4dj5\"},{\"name\":\"ANALYSISGROUP=\",\"optional\":true,\"description\":\"specifies an analysis group to reference when writing scenarios to an output data set.\",\"help\":\"ANALYSISGROUP= *groupname* \",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0cbt064b7uz7vn198nxsvslbbiv\"},{\"name\":\"LONGLABEL=\",\"optional\":true,\"description\":\"specifies a long description for the instrument type. Maximum length is 512 characters.\",\"help\":\"LONGLABEL= \\\"*longlabel*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0hgde4u6feuu3n1tk1wpfykkg6d\"},{\"name\":\"MCTYPE=\",\"optional\":true,\"description\":\"specifies a Monte Carlo instrument type. This instrument type is supported by SAS High-Performance Risk. The associated pricing method is called in a loop the number of times specified by the value of MCREPS in the INSTRUMENT statement or the value of MCSIMULATIONS in the PROC HPRISK statement.\",\"help\":\"MCTYPE=AVERAGE | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"AVERAGE\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"p1s56shbm6wywmn1e7ee41b7ivxa\"}],\"supportSiteTargetFile\":\"p0ao8irkz2x5pmn1ngeyxbsj1n9m.htm\"},{\"name\":\"READVARS\",\"description\":\"Creates variable declarations.\",\"help\":\"READVARS DATA= *SAS-data-set*  ;\",\"arguments\":[{\"name\":\"DATA=\",\"description\":\"specifies the input data set that contains the variable attributes. This data set must have the same format as the output data set that is specified in the WRITEVARS statement. To view a data set with this format, execute the WRITEVARS statement and examine the resulting output data set.\",\"help\":\"DATA= *SAS-data-set* \",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"p113lmd8219cb4n0zafy7y46mmzr\"},{\"name\":\"DIMENSIONS=\",\"description\":\"tells SAS Risk Dimensions to look in those extra columns in the data set specified by DATA argument for values of dimension variables. If a value associated with a certain dimension is missing, then that dimension is not part of the variable declaration. The following code tells SAS Risk Dimensions to create a variable declaration as defined in the MYLIB.MYVARS SAS data set:\",\"help\":\"DIMENSIONS= (*dimension1* &lt; *dimension2 ...* &gt;)\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1a8z0zjibry1ln1897pt38dk0m8\"}],\"supportSiteTargetFile\":\"n1dke5jysm1i03n1k10amjpjwzpc.htm\"},{\"name\":\"READ_MODELGROUPS\",\"description\":\"Replaces the models for mapped instruments and products within the specified model group.\",\"help\":\"READ_MODELGROUPS GROUPS= *libref.SAS-data-set* MODELS= *libref.SAS-data-set*  ;\",\"arguments\":[{\"name\":\"GROUPS=\",\"description\":\"specifies the data set that contains a one-to-one mapping of an instrument (product) type to a model group.\",\"help\":\"GROUPS= *libref.SAS-data-set* \",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"p08pnfp5m4o1u6n1xqjrit5i2o6g\"},{\"name\":\"MODELS=\",\"description\":\"specifies the data set that contains a 1–N list of models per model group and their corresponding model method.\",\"help\":\"MODELS= *libref.SAS-data-set* \",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"p178wu3s9cbusnn1on3ds2fkgpwn\"}],\"supportSiteTargetFile\":\"p1g4ery9rddpiin1v51n4ryl2tpg.htm\"},{\"name\":\"RFTSET\",\"description\":\"Creates a risk factor transformation set. This set lists transformation methods, linear transformation market data sources, and previously created risk factor transformation sets to use to derive the values of risk factor variables from the market data.\",\"help\":\"RFTSET  *name* &lt;*argument(s)*&gt;;\",\"arguments\":[{\"name\":\"name\",\"placeholder\":true,\"description\":\"specifies the name of the risk factor transformation set.\",\"help\":\" *name* \",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0hyxd3e86gilnn102u341xay8em\"},{\"name\":\"LINTRANS=\",\"description\":\"specifies linear transformations parameter matrices that you defined in a previous call to the PARAMETER statement.\",\"help\":\"LINTRANS= (lintrans1 ...)\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n19tcnd833bhc9n1wdg08s4mzh8g\"},{\"name\":\"METHODS=\",\"description\":\"specifies risk factor transformation methods that you previously defined using the COMPILE procedure.\",\"help\":\"METHODS= (method1 ...)\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0xeq9miozauzrn1ntwdvzb8x92e\"},{\"name\":\"RFTSET=\",\"description\":\"specifies transformation sets that you defined in a previous call to the RFTSET statement.\",\"help\":\"RFTSET= (rftset1 ...)\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1v3qka6ranmsln1dqqxihk1fejh\"},{\"name\":\"DESC\",\"optional\":true,\"description\":\"specifies a descriptive label for the risk factor transformation set. Longer labels are truncated to 80 characters.\",\"help\":\"DESC | LABEL= “*label*”\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1mbo13zm84jcsn15g5t6120dix8\"},{\"name\":\"LONGLABEL=\",\"optional\":true,\"description\":\"specifies a long description for the risk factor transformation set. Maximum length is 512 characters.\",\"help\":\"LONGLABEL= \\\"*longlabel*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1pyrvbz16kywbn12uzdn9bxi07v\"}],\"supportSiteTargetFile\":\"p05phot5u7xtw9n1lvhtrbwwv930.htm\"},{\"name\":\"SCENARIOCF\",\"description\":\"Creates a scenario cash flow data object to use with the READ_SCENARIO_CF CALL routine. The data object and the CALL routine work together to provide cash flow data by analysis, instrument ID, and simulation replication (or scenario) to a pricing method.\",\"help\":\"SCENARIOCF  *scenariocfobj* DATA= *market_data_source* &lt;*optional_argument(s)*&gt;;\",\"arguments\":[{\"name\":\"scenariocfobj\",\"placeholder\":true,\"description\":\"specifies the name of the scenario cash flow market data object.\",\"help\":\" *scenariocfobj* \",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0ht8fp8ranrhfn1vpdusxdlgvjn\"},{\"name\":\"DATA=\",\"description\":\"specifies the scenario cash flow market data source that contains the cash flow data.\",\"help\":\"DATA= *market_data_source* \",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0puq549vo3ufln1jygb6h6cg8al\"},{\"name\":\"VALUE\",\"optional\":true,\"description\":\"specifies that the associated method’s _Value_ variable is set from the market data set. Using this argument prevents the COMPILE procedure from producing an error that the _Value_ variable is not explicitly set within the method.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n09tiljgicrz9bn15qw7cgcqiyn2\"},{\"name\":\"LEGLIST\",\"optional\":true,\"description\":\"specifies the list of cash flow legs or types that are set in the market data set. This argument directs the RISK procedure to allocate memory for the cash flow legs.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1whe4f1b8fz63n118cr9tszb63x\"},{\"name\":\"DESC\",\"optional\":true,\"description\":\"specifies a description for the scenario cash flow data object. Labels longer than 80 characters are truncated.\",\"help\":\"DESC | LABEL= \\\"*label*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0c7bgu7tyjfh7n1rsrumzuzf6fe\"},{\"name\":\"LONGLABEL=\",\"optional\":true,\"description\":\"specifies a long description for the scenario cash flow data object. Maximum length is 512 characters.\",\"help\":\"LONGLABEL= \\\"*longlabel*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0egtl490d0q6gn1xuorw5d6lfut\"}],\"supportSiteTargetFile\":\"p0snbyrf9o2gdan1nypda622sun1.htm\"},{\"name\":\"SENSITIVITY\",\"description\":\"Creates a sensitivity analysis specification based on the base case market state. This specification computes the vector of partial derivatives and, if requested, the Hessian matrix of second-order partial derivatives of the portfolio value with respect to specified risk factor variables. Sensitivity computations use either numerical differentiation of the pricing function or an explicit analytical formula that depends on the type of instrument. The formula is incorporated into the pricing method program that is associated with the instrument type.\",\"help\":\"SENSITIVITY  *name* &lt;*argument(s)*&gt; ;\",\"arguments\":[{\"name\":\"name\",\"placeholder\":true,\"description\":\"specifies the name of the sensitivity analysis specification.\",\"help\":\" *name* \",\"type\":\"value\",\"supportSiteTargetFragment\":\"n103ho55okeavdn1ctr9q07up9mg\"},{\"name\":\"DESC\",\"optional\":true,\"description\":\"specifies a descriptive label for the sensitivity analysis specification. Longer labels are truncated to 80 characters.\",\"help\":\"DESC | LABEL= \\\"*label*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0x2d6sthx9m0jn10id78j30o83c\"},{\"name\":\"EVALDATE=\",\"optional\":true,\"description\":\"updates the value of the _date_ variable after market state generation. In particular, this affects subsequent method calls and result calculations.\",\"help\":\"EVALDATE=*date-constant* | BASEDATE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"date-constant\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"BASEDATE\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"n14xfkp5yw1rbxn1ed938zbdcfyc\"},{\"name\":\"HESSIAN\",\"optional\":true,\"description\":\"computes the matrix of second-order partial derivatives.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0mremft94iwftn1w119f50nvyp9\"},{\"name\":\"INSTID=\",\"optional\":true,\"description\":\"specifies the prefix to use for names that are assigned to the instID variable in the output data set.\",\"help\":\"INSTID= *prefix* \",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0qhgnqal5xpt1n1q7jbm9xc34su\"},{\"name\":\"INSTTYPE=\",\"optional\":true,\"description\":\"specifies the name to assign to the InstType variable in the output data set.\",\"help\":\"INSTTYPE= *name* \",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0zu48kfk28usen131xtwnkwpwl0\"},{\"name\":\"LONGLABEL=\",\"optional\":true,\"description\":\"specifies a long description for the sensitivity analysis specification. Maximum length is 512 characters.\",\"help\":\"LONGLABEL= \\\"*longlabel*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0qpbp3cm1vk9zn1rxwqt9fio7ou\"},{\"name\":\"OUTVARS\",\"optional\":true,\"description\":\"specifies one or more of the following dependent variables to analyze:\",\"help\":\"OUTVARS | KIND | DEPENDENT=*variable* | (*variable-list*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"variable\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(variable-list)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p154oxyczox218n1n05uu4w500u1\"},{\"name\":\"THETA\",\"optional\":true,\"description\":\"computes sensitivity with respect to the valuation date.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0ghcfdym9v482n1uqaewuhfh7rc\"},{\"name\":\"VARIABLES\",\"optional\":true,\"description\":\"specifies the risk factor variables to use in the analysis. If you do not specify this argument, sensitivities are computed with respect to all risk factors.\",\"help\":\"VARIABLES | VARS= ( *variable-list* )\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1h2nmup5ybap6n12vaumdip3enh\"}],\"supportSiteTargetFile\":\"p07n4ac9hwyq3wn1d8728mlu60c0.htm\"},{\"name\":\"SETOPTIONS\",\"description\":\"Enables you to specify environment-level arguments to control the behavior of analysis, output, and general system functionality in the RISK procedure.\",\"help\":\"SETOPTIONS &lt;*argument(s)*&gt; ;\",\"arguments\":[{\"name\":\"ALPHA=\",\"optional\":true,\"description\":\"specifies the quantile that defines VaR. It is a value between 0 and 1. If you do not specify this argument, then ALPHA=0.05.\",\"help\":\"ALPHA= *quantile* \",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1ulf0igoy23g6n1dvgkufz10d5g\"},{\"name\":\"BANDWIDTH=\",\"optional\":true,\"description\":\"specifies the bandwidth parameter for the kernel density estimation algorithm that is used to compute probability density curves from the simulated values. It is a value between 0 and 1. If you do not specify this argument, then BANDWIDTH=0.5.\",\"help\":\"BANDWIDTH= *number* \",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0rk4uuvgmts01n1ltm4gyef2m22\"},{\"name\":\"COMPRESS=\",\"optional\":true,\"description\":\"specifies the principal component analysis (PCA) compression rate, which is a value between 0 and 1. A value of 1 specifies no compression, a value of 0.85 specifies 15% compression, and so on. A compression rate greater than or equal to 0.75 is recommended. If you do not specify this argument, no compression is performed.\",\"help\":\"COMPRESS= *rate* \",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0fumrvlf9llitn1egfp9nnyr8h8\"},{\"name\":\"EPSILON=\",\"optional\":true,\"description\":\"specifies the value of the scale parameter, which controls the size of the risk factor perturbations that are used to compute finite difference approximations to partial derivatives of the instrument values. This value must be greater than or equal to 1.0e – 12 and less than or equal to 1. If you do not specify the EPSILON argument, then the scale parameter is set to 1.0e – 4. This argument is used with the HLWBND argument.\",\"help\":\"EPSILON= *number* \",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1xu097n97wucfn1qpc9yuf781gs\"},{\"name\":\"EVTCUTOFF=\",\"optional\":true,\"description\":\"specifies the percentage of sample points in the tail to use in tail index estimation for generation of extreme value statistics. It is represented by an integer value between 1 and 50. This value should be greater than or equal to the quantile that is specified by the ALPHA argument. For example, if ALPHA= .10, which represents the 90th percentile, then the value of EVTCUTOFF= should be greater than or equal to 10. If the value is smaller than the quantile that is specified by the ALPHA argument, then extreme value statistics are not generated.\",\"help\":\"EVTCUTOFF= *percentage* \",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1b5hdtyv6d2eqn1m939xslirs1t\"},{\"name\":\"HLWBND=\",\"optional\":true,\"description\":\"specifies a lower bound for the size of the risk factor perturbations that are used to compute finite difference approximations to partial derivatives of the instrument values. This value must be greater than or equal to 1.0e – 15 and less than or equal to 1. If you do not specify the HLWBND argument, then the lower bound is set to 1.0e – 6.\",\"help\":\"HLWBND= *bound* \",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1gqz6cox4xvvvn14z4j9gr3vvio\"},{\"name\":\"KERNEL=\",\"optional\":true,\"description\":\"specifies the type of kernel to use in the kernel density estimation algorithm that is used to compute probability density curves from the simulation values. If you do not specify this argument, then a normal kernel is used.\",\"help\":\"KERNEL=NORMAL | TRIANGULAR | QUADRATIC\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NORMAL\",\"type\":\"standalone\"},{\"name\":\"TRIANGULAR\",\"type\":\"standalone\"},{\"name\":\"QUADRATIC\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"n0y9at2n0t3k3xn1sskckfw3no89\"},{\"name\":\"NDENSITY=\",\"optional\":true,\"description\":\"specifies the number of points on the probability density curves to compute from the simulation values. It is a power of two between 8 and 1,024. Large values of NDENSITY= require more calculation time, but they produce smoother density estimate curves. If you do not specify this argument, then 32 points are computed.\",\"help\":\"NDENSITY= *power-of-two* \",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1l59x7gb0vmbcn139ltf9ri02xv\"},{\"name\":\"PCA\",\"optional\":true,\"description\":\"specifies whether to perform PCA, in which a principal component decomposition is used to compute the principal eigenvalues and eigenvectors according to the specified compression rate. If you do not specify this argument, then PCA is not performed.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0psiy7l3nh8ecn1k7clj4aq1q5w\"},{\"name\":\"NOPCA\",\"optional\":true,\"description\":\"specifies whether to perform PCA, in which a principal component decomposition is used to compute the principal eigenvalues and eigenvectors according to the specified compression rate. If you do not specify this argument, then PCA is not performed.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0psiy7l3nh8ecn1k7clj4aq1q5w\"},{\"name\":\"PCTLDEF=\",\"optional\":true,\"description\":\"specifies the definition used to calculate quantiles. See \\\"Calculating Percentiles\\\" in the UNIVARIATE procedure for more information about quantile definitions. The default value is 1; this differs from the default of 5 with the UNIVARIATE procedure.\",\"help\":\"PCTLDEF= 1 | 2 | 3 | 4 | 5\",\"type\":\"choice\",\"arguments\":[{\"name\":\"1\",\"type\":\"standalone\"},{\"name\":\"2\",\"type\":\"standalone\"},{\"name\":\"3\",\"type\":\"standalone\"},{\"name\":\"4\",\"type\":\"standalone\"},{\"name\":\"5\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"p1rzaaj190yqaon1b90gj59qpwbl\"},{\"name\":\"PSDMETHOD=\",\"optional\":true,\"description\":\"specifies the method used to adjust non-positive-semidefinite matrices for use in covariance simulations. SPECTRAL specifies the spectral decomposition method that is discussed in Rebonato and Jackel. DOWNWEIGHT specifies a more computationally tractable method. Using the Power Method, the smallest eigenvalue of the matrix is estimated and used to scale the off-diagonal elements. Although this method is faster than the spectral method, its use is not encouraged because of how it reduces covariances. It is maintained primarily for legacy purposes.\",\"help\":\"PSDMETHOD=SPECTRAL | DOWNWEIGHT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"SPECTRAL\",\"type\":\"standalone\"},{\"name\":\"DOWNWEIGHT\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"n0mwo9yrs4xsy4n16pibpldh24qu\"},{\"name\":\"VARDEF=\",\"optional\":true,\"description\":\"specifies how the variance is calculated. If VARDF=N, then the denominator is the number of observations (n). If VARDEF=DF, then the denominator is n – 1. This argument also affects how skewness and kurtosis are calculated.\",\"help\":\"VARDEF=N | DF\",\"type\":\"choice\",\"arguments\":[{\"name\":\"N\",\"type\":\"standalone\"},{\"name\":\"DF\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"n0lj7dxgjofr6mn13xxengu8yshu\"},{\"name\":\"VAROPTDROP=\",\"optional\":true,\"description\":\"specifies the portion, a value between 0 and 1, of tail points to drop in VaR optimization using the algorithm described by Larsen, Mausser, and Uryasev (2001). If you do not specify this argument, then half of the tail points are dropped.\",\"help\":\"VAROPTDROP= *portion* \",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0hbstkitkqp9tn1qgg7ka6jgqnb\"},{\"name\":\"METASUFFIX=\",\"optional\":true,\"description\":\"enables you to choose whether to append the run date to the name of metadata objects that are created when the project runs. These metadata objects, such as data sets and risk environment tables, relate to the creation of information maps to display project results. The default value is TIMESTAMP.\",\"help\":\"METASUFFIX=TIMESTAMP | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"TIMESTAMP\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"p0iu2pl81ucnebn10g1i6wjsg0gt\"},{\"name\":\"OUTFOLDER=\",\"optional\":true,\"description\":\"specifies a folder in the metadata repository in which to place data sets, OLAP risk environment tables, and information maps that are created during a project run. You must specify this argument to build risk environment tables and information maps.\",\"help\":\"OUTFOLDER= \\\"*folder_name*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1sse3ys5aq27yn13ne6isgomcob\"},{\"name\":\"OUTMETALIB=\",\"optional\":true,\"description\":\"specifies a library on the metadata repository that is used to register data sets that are relevant to the OLAP risk environment tables that are created during a project run. You must specify this argument to build risk environment tables and information maps.\",\"help\":\"OUTMETALIB= \\\"*library_name*\\\"\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"n15aoviwy4dxuhn16gmz4a1x2psz\"}],\"supportSiteTargetFile\":\"p0chzjn74mdkz2n1ru4tuxxsa6qj.htm\"},{\"name\":\"SIMULATION\",\"description\":\"Creates a simulation analysis specification. This specification first computes the distribution of the value of a portfolio under simulated market states at specified future times. It then produces results such as density curve estimates, risk factor statistics, and sensitivity measures.\",\"help\":\"SIMULATION  *name* &lt;*argument(s)*&gt;;\",\"arguments\":[{\"name\":\"name\",\"placeholder\":true,\"description\":\"specifies the name of the simulation analysis specification.\",\"help\":\" *name* \",\"type\":\"value\",\"supportSiteTargetFragment\":\"n06ehl49gm2xcnn1me246al8qjmr\"},{\"name\":\"ALIGN=\",\"optional\":true,\"description\":\"specifies one of the following alignments, which denotes when in the frequency interval calculations are made:\",\"help\":\"ALIGN= *interval-alignment* \",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1i8ycsbuy71u1n1w1nh4k0sbfr4\"},{\"name\":\"COVDATA\",\"optional\":true,\"description\":\"specifies a covariance or correlation data set name. If you specify this argument, then the covariances or correlations that are in the data source replace those that are generated from the fitted models. This replacement is particularly useful when data is unavailable. Otherwise, the error covariance matrix would be block diagonal.\",\"help\":\"COVDATA | SDATA= *data-set-name* \",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"n0mf83odqcni2an10sjg0vu8mkhy\"},{\"name\":\"DATA=\",\"optional\":true,\"description\":\"specifies one or more market data sources to use in the simulation.\",\"help\":\"DATA=*market-data-source* | ( *market-data-source-list* )\",\"type\":\"choice\",\"arguments\":[{\"name\":\"market-data-source\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"( market-data-source-list )\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p02177cq8kmerln1xkyqsk9vjkz5\"},{\"name\":\"DESC\",\"optional\":true,\"description\":\"specifies a descriptive label for the batch simulation analysis specification. Longer labels are truncated to 80 characters.\",\"help\":\"DESC | LABEL= \\\"*label*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1jg7etqfhv1t5n1pd8xhguqvyt4\"},{\"name\":\"ENDDATE=\",\"optional\":true,\"description\":\"specifies the last date or datetime of time series data to use in covariance and historical simulations. If you do not specify this argument, then the end date is determined by the data in the input data set.\",\"help\":\"ENDDATE= *date-constant* | ENDDATETIME= *datetime-constant* \",\"type\":\"value\",\"supportSiteTargetFragment\":\"n10ma97uoklapun1n9dtxvk8k8n1\"},{\"name\":\"GENERATOR\",\"optional\":true,\"description\":\"specifies one of the following types of pseudorandom or quasi-random number generators to use:\",\"help\":\"GENERATOR | GEN= *type* \",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0vxw34aqjeqy5n1ng8eoc7p4a68\"},{\"name\":\"HORIZON=\",\"optional\":true,\"description\":\"specifies the horizon to simulate and calculate results for. Specify integers between and including 1 and 23767.\",\"help\":\"HORIZON=*horizon* | ( *horizon-list* )\",\"type\":\"choice\",\"arguments\":[{\"name\":\"horizon\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"( horizon-list )\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"n11nqcvw0c212fn1rdp3cmw9b9ll\"},{\"name\":\"INTERVAL=\",\"optional\":true,\"description\":\"specifies the simulation frequency. Valid interval names are YEAR, SEMIYEAR, QTR, MONTH, SEMIMONTH, TENDAY, WEEK, WEEKDAY, and DAY. This argument determines what input data and simulation models drive the simulation.\",\"help\":\"INTERVAL= *interval-name* \",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0w4wld21t2v9in15v8jaen2ngvn\"},{\"name\":\"LAMBDA=\",\"optional\":true,\"description\":\"specifies the weight, between 0.0 and 0.9999, to use for computation of covariance matrices for residuals in Monte Carlo simulation. If you do not specify this argument, then weights are not used.\",\"help\":\"LAMBDA= *number* \",\"type\":\"value\",\"supportSiteTargetFragment\":\"p11uq04c17epvtn1blt57rdqaoo9\"},{\"name\":\"LONGLABEL=\",\"optional\":true,\"description\":\"specifies a long description for the simulation analysis specification. Maximum length is 512 characters.\",\"help\":\"LONGLABEL= \\\"*longlabel*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0ed8grawj920fn1lr6n8qt7ijv4\"},{\"name\":\"METHOD=\",\"optional\":true,\"description\":\"specifies one of the following simulation methods for generation of simulated market states:\",\"help\":\"METHOD= *simulation-method* \",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1hzofmworgo4gn14lf1p360vbxk\"},{\"name\":\"NDRAW\",\"optional\":true,\"description\":\"specifies the number of simulation replications, where n less-than 100,000 comma 000 n < 100,000 ,000 .\",\"help\":\"NDRAW | NREP= *n* \",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0vfhh0ae0v354n1lfj1m51fxe3a\"},{\"name\":\"OUTVARS\",\"optional\":true,\"description\":\"specifies one or more of the following dependent variables to analyze:\",\"help\":\"OUTVARS | DEPENDENT=*variable* | (*variable-list*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"variable\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(variable-list)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"n0kk3z3gjb18rin106r97f7f9f06\"},{\"name\":\"OVERLAP\",\"optional\":true,\"description\":\"specifies whether time intervals overlap in historical simulations when the horizon specified is larger than 1. For example, if you specify that time intervals overlap, then the second interval in a calculation is used as the first interval in subsequent calculation. If you specify that time intervals do not overlap, then no interval is used more than once. The OVERLAP argument enables you to generate more simulation replications than with the NONOVERLAP argument applied to the same historical data set.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0015m4ded4n54n1m261kviohrrr\"},{\"name\":\"NONOVERLAP\",\"optional\":true,\"description\":\"specifies whether time intervals overlap in historical simulations when the horizon specified is larger than 1. For example, if you specify that time intervals overlap, then the second interval in a calculation is used as the first interval in subsequent calculation. If you specify that time intervals do not overlap, then no interval is used more than once. The OVERLAP argument enables you to generate more simulation replications than with the NONOVERLAP argument applied to the same historical data set.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0015m4ded4n54n1m261kviohrrr\"},{\"name\":\"PIVOT\",\"optional\":true,\"description\":\"specifies whether to pivot during Cholesky decomposition of a covariance or correlation matrix. If you do not specify this argument, then pivoting is not done.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1ssvs04zptdjmn17o7cts27lxvs\"},{\"name\":\"NOPIVOT\",\"optional\":true,\"description\":\"specifies whether to pivot during Cholesky decomposition of a covariance or correlation matrix. If you do not specify this argument, then pivoting is not done.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1ssvs04zptdjmn17o7cts27lxvs\"},{\"name\":\"SEED=\",\"optional\":true,\"description\":\"specifies a positive integer to use as the seed of a pseudorandom number generator, if one is specified. If you do not specify this argument, then the seed used is 54,321. Ten-digit integers less than 2 Superscript 31 minus 1 2 31 - 1 are valid seeds.\",\"help\":\"SEED= *number* \",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1ab0te1fvzzuyn1fzjacfallbr7\"},{\"name\":\"SHRINKAGE\",\"optional\":true,\"description\":\"specifies whether to use a shrinkage approach to calculate an estimate of the covariance matrix. This argument is valid for a covariance simulation if the input is a time series market data source. If you do not specify this argument and you perform a covariance simulation with a time series market data source, the sample covariance matrix is used instead of the shrinkage estimator.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0ktkfdkzd0algn1121db4mqephw\"},{\"name\":\"NOSHRINKAGE\",\"optional\":true,\"description\":\"specifies whether to use a shrinkage approach to calculate an estimate of the covariance matrix. This argument is valid for a covariance simulation if the input is a time series market data source. If you do not specify this argument and you perform a covariance simulation with a time series market data source, the sample covariance matrix is used instead of the shrinkage estimator.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0ktkfdkzd0algn1121db4mqephw\"},{\"name\":\"STARTDATE=\",\"optional\":true,\"description\":\"specifies the first date or datetime of time series data to use in covariance and historical simulations. If you do not specify this argument, then the start date is determined by the data in the input data set.\",\"help\":\"STARTDATE= *date-constant*  | STARTDATETIME= *datetime-constant* \",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0xoion7k6su2nn1tyx3zvzeq956\"}],\"supportSiteTargetFile\":\"p1v0cwwsubhg5un10ev1jle59h27.htm\"},{\"name\":\"SOURCES\",\"description\":\"Creates a portfolio input list of portfolio data sources. These can be counterparty data sources, instrument data sources, and mitigation data sources. Portfolio input lists are used to create portfolios; instruments are read from all the associated data sources into the portfolio.\",\"help\":\"SOURCES  *name*  *data-source*  | (  *data-source-list*  ) &lt;*arguments*&gt;;\",\"arguments\":[{\"name\":\"name\",\"placeholder\":true,\"description\":\"specifies the name of the portfolio input list.\",\"help\":\" *name* \",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1wxiqdnmwyvzzn1e3kj2ybyhetd\"},{\"name\":\"data-source\",\"placeholder\":true,\"description\":\"specifies one or more portfolio data sources.\",\"help\":\" *data-source*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0yxliv4iq6rt7n1a80qzdtp1k33\"},{\"name\":\"( data-source-list )\",\"placeholder\":true,\"description\":\"specifies one or more portfolio data sources.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0yxliv4iq6rt7n1a80qzdtp1k33\"},{\"name\":\"DESC\",\"optional\":true,\"description\":\"specifies a descriptive label for the portfolio input list. Longer labels are truncated to 80 characters.\",\"help\":\"DESC | LABEL= “*label*”\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n01tkkdl667tg6n11fvv47j8qfq4\"},{\"name\":\"LONGLABEL=\",\"optional\":true,\"description\":\"specifies a long description for the portfolio input list. Maximum length is 512 characters.\",\"help\":\"LONGLABEL= \\\"*longlabel*\\\"                      \",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0iegsl8j9a2c6n11arjzd7jce3l\"}],\"supportSiteTargetFile\":\"p01vz2ltw1e7ixn1q0xno1wh4zad.htm\"},{\"name\":\"TIMEGRID\",\"description\":\"Creates a time grid, which you can use to specify lags to hold lag values of risk factors or to construct risk factor curves.\",\"help\":\"TIMEGRID  *name* &lt; DESC | LABEL &gt; (  *number_1* &lt;*time-unit*&gt;, *number_2* &lt;*time-unit*&gt;, . . . )\",\"arguments\":[{\"name\":\"name\",\"placeholder\":true,\"description\":\"specifies the name of the time grid.\",\"help\":\" *name* \",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0nt97g52ihzxhn1xnk2gz88ukfx\"},{\"name\":\"number_n time-unit\",\"placeholder\":true,\"description\":\"specifies an amount of time in one of the following:\\n• a standard interval: DAY, WEEK, MONTH, or YEAR \\n• a customized interval that you created \",\"help\":\" *number_n* &lt; *time-unit* &gt; \",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0ulnbarkcmp0vn11wc7q530ksni\"},{\"name\":\"DESC\",\"optional\":true,\"description\":\"specifies a descriptive label for the time grid. Longer labels are truncated to 80 characters.\",\"help\":\"DESC | LABEL= “*label*”\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0f28eet3141qsn14zr7quxpf6ma\"},{\"name\":\"LONGLABEL=\",\"optional\":true,\"description\":\"specifies a long description for the time grid. Maximum length is 512 characters.\",\"help\":\"LONGLABEL= \\\"*longlabel*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0kfy5u5czxdvln1s29ab1z1gh9u\"}],\"supportSiteTargetFile\":\"n1pibn7r2bs81jn1075i6fxn0w3z.htm\"},{\"name\":\"TRANSMAT\",\"description\":\"Creates a transition matrix, which is used to model a Markov chain process where the possible credit quality of the obligor is mapped to multiple states (potential rating grades).\",\"help\":\"TRANSMAT  *transition-matrix-name* &lt;*argument(s)*&gt;;\",\"arguments\":[{\"name\":\"transition-matrix-name\",\"placeholder\":true,\"description\":\"specifies the name of the transition matrix.\",\"help\":\" *transition-matrix-name* \",\"type\":\"value\",\"supportSiteTargetFragment\":\"n13t6in018bn2cn12zp7m7uh1ujo\"},{\"name\":\"CDF=\",\"optional\":true,\"description\":\"specifies the cumulative distribution function (CDF) to use for conversion from probabilities to thresholds. You can specify either a distribution that is recognized by the SAS CDF function or you can supply a user-defined function. For more information about the SAS CDF function, see the SAS Language Reference: Dictionary. If you do not specify this argument, then the CDF is assumed to be the identity function.\",\"help\":\"CDF= *distribution-name* \",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1lcqsqyp8uxgtn170cbgvx2vwp0\"},{\"name\":\"DATA=\",\"optional\":true,\"description\":\"specifies the input data set and, if multiple matrices of different time periods are included in the data set.\",\"help\":\"DATA= *SAS-data-set* &lt;TIMEVAR= *number_interval* &gt; \",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"n12uw82bwjcqeen1hgvvmcpn2275\"},{\"name\":\"DESC\",\"optional\":true,\"description\":\"specifies a descriptive label for the transition matrix. Longer labels are truncated to 80 characters.\",\"help\":\"DESC | LABEL= “*label*”\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0d20d5qmshvp2n1mr6t933mrarl\"},{\"name\":\"DYNAMIC\",\"optional\":true,\"description\":\"generates the matrix dynamically from the simulated states. In this case, the elements of the transition matrix are determined by the simulated economic conditions and are usually simulated or derived from simulated risk factors.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0dy1ib0x5a7sbn1ecztmxq8hw1y\"},{\"name\":\"INTERVAL=\",\"optional\":true,\"description\":\"specifies the interval of the input matrix. Valid interval names are YEAR, SEMIYEAR, QTR, MONTH, SEMIMONTH, TENDAY, WEEK, WEEKDAY, and DAY. If you do not specify an interval, then YEAR is used. This argument is not valid if the DYNAMIC argument is specified.\",\"help\":\"INTERVAL= *interval-name* \",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1r5zey4n0jzwbn1nbm0hgfgs0z2\"},{\"name\":\"INVCDF=\",\"optional\":true,\"description\":\"specifies the inverse of the CDF that is specified by the CDF argument. This user-defined function is needed for conversion from thresholds to probabilities.\",\"help\":\"INVCDF= *inverse-distribution-name* \",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1lib9x2e369qhn1specuifw1oks\"},{\"name\":\"LONGLABEL=\",\"optional\":true,\"description\":\"specifies a long description for the transition matrix. Maximum length is 512 characters.\",\"help\":\"LONGLABEL= \\\"*longlabel*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1tpvibo8sv9zqn1q0tojnbvpjoc\"},{\"name\":\"ROWS\",\"optional\":true,\"description\":\"specifies the names of the states in the Markov chain, such as the symbols for all the possible rating grades. The n rows and n columns of the transition matrix are identified by these state names.\",\"help\":\"ROWS | STATES= *state-name-list* \",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1vvxy9j3fcjean1uyvc3629dnss\"},{\"name\":\"TRANSITION_FROM=\",\"optional\":true,\"description\":\"specifies the horizon from which to calculate the transition matrix. PREV or PREVIOUS is the default and derives the matrix as a power from the previous horizon. BASE or BASECASE derives the matrix as a power from the base case.\",\"help\":\"TRANSITION_FROM=PREV | PREVIOUS | BASE | BASECASE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"PREV\",\"type\":\"standalone\"},{\"name\":\"PREVIOUS\",\"type\":\"standalone\"},{\"name\":\"BASE\",\"type\":\"standalone\"},{\"name\":\"BASECASE\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"n1pqmh7gg8nfaan18bmaxv4fpl58\"},{\"name\":\"TYPE=\",\"optional\":true,\"description\":\"specifies one of the following types of the transition matrix:\",\"help\":\"TYPE= *matrix-type* \",\"type\":\"value\",\"supportSiteTargetFragment\":\"p04br4m5gzfqgun1v8btg4jweu8n\"}],\"supportSiteTargetFile\":\"n1l7uk4omshkjkn1csptpe8ts20r.htm\"},{\"name\":\"WRITEARRAYS\",\"description\":\"Writes information about the arrays that are declared in the current environment to a SAS data set. The data set can be subsequently read with the READARRAYS statement.\",\"help\":\"WRITEARRAYS OUT= *name*  ;\",\"arguments\":[{\"name\":\"OUT=\",\"description\":\"specifies the name of the output data set.\",\"help\":\"OUT= *name* \",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1i2wi9qer7oxdn13gaab9cngnvh\"}],\"supportSiteTargetFile\":\"n0uon31u380w3qn1ux1hk8iwvqoc.htm\"},{\"name\":\"WRITEREFS\",\"description\":\"Writes information about the reference maps that are declared in the current environment to a SAS data set. The data set can be subsequently read with the READREFS statement.\",\"help\":\"WRITEREFS OUT= *name*  ;\",\"arguments\":[{\"name\":\"OUT=\",\"description\":\"specifies the name of the output data set.\",\"help\":\"OUT= *name* \",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0r7jvnncxe5gun1g7lsowgd1imw\"}],\"supportSiteTargetFile\":\"p0esqho67t79o3n10dzfbt79q5s9.htm\"},{\"name\":\"WRITETYPES\",\"description\":\"Writes information about the instrument types that are declared in the current environment to a SAS data set. The data set can be subsequently read with the READTYPES statement.\",\"help\":\"WRITETYPES OUT= *name* &lt;*argument(s)*&gt; ;\",\"arguments\":[{\"name\":\"OUT=\",\"description\":\"specifies the name of the output data set.\",\"help\":\"OUT= *name* \",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1khct2kbmrkwyn106jvziawdqx6\"},{\"name\":\"ANALYSISGROUP=\",\"optional\":true,\"description\":\"specifies the analysis group from which to select scenario analyses. The name is an analysis group created with the ANALYSISGROUP statement or one read by the READSCENARIOS statement.\",\"help\":\"ANALYSISGROUP= *name* \",\"type\":\"value\",\"supportSiteTargetFragment\":\"p09whfdlys61qen1o23thwlsmjc7\"},{\"name\":\"LONGLABEL=\",\"optional\":true,\"description\":\"specifies a long description for the instrument type. Maximum length is 512 characters.\",\"help\":\"LONGLABEL= \\\"*longlabel*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1u52za1dyqoecn1oo01zwc9e9f1\"},{\"name\":\"MCTYPE=\",\"optional\":true,\"description\":\"specifies a Monte Carlo instrument type. This instrument type is supported by SAS High-Performance Risk.\",\"help\":\"MCTYPE=AVERAGE | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"AVERAGE\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"n1r4sy0q4s5iewn14u24sg5c0svz\"}],\"supportSiteTargetFile\":\"p0z74668cn082en16p9ko2ouxxc8.htm\"},{\"name\":\"WRITEVARS\",\"description\":\"Writes information about the variables that are declared in the current environment to a SAS data set. The data set can be subsequently read with the READVARS statement.\",\"help\":\"WRITEVARS OUT= *name*  ;\",\"arguments\":[{\"name\":\"OUT=\",\"description\":\"specifies the name of the output data set.\",\"help\":\"OUT= *name* \",\"type\":\"value\",\"supportSiteTargetFragment\":\"p14iqi8pwt1eztn1p2f9x8qtl6e1\"}],\"supportSiteTargetFile\":\"n0x2gn8gpjavzfn10jisa6257lm1.htm\"}],\"supportSiteInformation\":{\"docsetId\":\"riskengproc\",\"docsetVersion\":\"v_009\",\"docsetTargetFile\":\"n1hc4l3zs62w09n16ilgy4zmqiw5.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/ROBUSTREG.json",
    "content": "{\"name\":\"ROBUSTREG\",\"statements\":[{\"name\":\"PROC ROBUSTREG\",\"description\":\"The main purpose of robust regression is to detect outliers and provide resistant (stable) results in the presence of outliers. In order to achieve this stability, robust regression limits the influence of outliers. Historically, three classes of problems have been addressed with robust regression techniques: † o problems with outliers in the -direction (response direction) † o problems with multivariate outliers in the -space (that is, outliers in the covariate space, which are also referred to as leverage points) † o problems with outliers in both the -direction and the x-space\",\"help\":\"PROC ROBUSTREG <COVOUT><DATA=SAS-data-set><FWLS><INEST=SAS-data-set><ITPRINT><METHOD=M | LTS | S... ><NAMELEN=n><ORDER=DATA | FORMATTED | FREQ... ><OUTEST=SAS-data-set><PLOTS=ALL | DDPLOT | FITPLOT... ><SEED=number>;     \\n\\tBY <DESCENDING><NOTSORTED> ;\\n\\n\\tCLASS variables ;\\n\\n\\tEFFECT EFFECT-NAME=COLLECTION|LAG|MULTIMEMBER|MM...  <PERIOD=variable><WITHIN=(variables) | WITHIN=variable> ...;\\n\\n\\tID variables ;\\n\\n\\tMODEL <ALPHA=value><CORRB><COVB> ...;\\n\\n\\tOUTPUT <LEVERAGE=><OUT=SAS-data-set><OUTLIER=> ...;\\n\\n\\tPERFORMANCE <CPUCOUNT=<<1-1024> | ACTUAL>><DETAILS><THREADS> ...;\\n\\n\\t<label:> TEST effects ;\\n\\n\\tWEIGHT variable;\\n\",\"arguments\":[{\"name\":\"COVOUT\",\"optional\":true,\"description\":\"Saves the estimated covariance matrix in the OUTEST= data set. This option is not supported for LTS estimation.\",\"type\":\"standalone\"},{\"name\":\"DATA=\",\"optional\":true,\"description\":\"Specifies the input SAS data set used by PROC ROBUSTREG. By default, the most recently created SAS data set is used.\",\"help\":\"DATA=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"FWLS\",\"optional\":true,\"description\":\"Requests that final weighted least squares estimates be computed.\",\"type\":\"standalone\"},{\"name\":\"INEST=\",\"optional\":true,\"description\":\"Specifies an input SAS data set that contains initial estimates for all the parameters in the model.\",\"help\":\"INEST=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"ITPRINT\",\"optional\":true,\"description\":\"Displays the iteration history for the iteratively reweighted least squares algorithm used by M and MM estimation.\",\"type\":\"standalone\"},{\"name\":\"METHOD=\",\"optional\":true,\"description\":\"Specifies the estimation method and specify some additional options for the estimation method.\",\"help\":\"METHOD=M | LTS | S | MM\",\"type\":\"choice\",\"arguments\":[{\"name\":\"M\",\"description\":\"[Syntax: M<(options)>] With METHOD=M, you can specify the following additional options: ASYMPCOV=H1 | H2 | H3 specifies the type of asymptotic covariance computed for the M estimate. CONVERGENCE=criterion<(EPS=value)> specifies a convergence criterion for the M estimate. MAXITER=n sets the maximum number of iterations during the parameter estimation. By default, MAXITER=1000. SCALE=scale type | value specifies the scale parameter or a method for estimating the scale parameter. WF | WEIGHTFUNCTION=function type specifies the weight function used for the M estimate.\",\"type\":\"standalone\"},{\"name\":\"LTS\",\"description\":\"[Syntax: LTS<(options)>] With METHOD=LTS, you can specify the following additional options: CSTEP=n specifies the number of C-steps for the LTS estimate. IADJUST=ALL | NONE requests (IADJUST=ALL) or suppresses (IADJUST=NONE) the intercept adjustment for all estimates in the LTS algorithm. H=n specifies the quantile for the LTS estimate. NBEST=n specifies the number of best solutions kept for each subgroup during the computation of the LTS estimate. The default number is 10, which is the maximum number allowed. NREP=n specifies the number of repeats of least squares fit in subgroups during the computation of the LTS estimate. SUBANALYSIS requests a display of the subgrouping information and parameter estimates within subgroups. SUBGROUPSIZE=n specifies the data set size of the subgroups in the computation of the LTS estimate. The default number is 300.\",\"type\":\"standalone\"},{\"name\":\"S\",\"description\":\"[Syntax: S<(options)>] With METHOD=S, you can specify the following additional options: ASYMPCOV=H1 | H2 | H3 | H4 specifies the type of asymptotic covariance computed for the S estimate. CHIF= TUKEY | YOHAI specifies the Chi function for the S estimate. EFF=value specifies the efficiency (as a fraction) for the S estimate. K0=value specifies the k0 parameter in the Chi function of the S estimate. MAXITER=n sets the maximum number of iterations for computing the scale parameter of the S estimate. By default, MAXITER=1000. NREP=n specifies the number of repeats of subsampling in the computation of the S estimate. NOREFINE suppresses the refinement for the S estimate. SUBSETSIZE=n specifies the size of the subset for the S estimate. TOLERANCE=value specifies the tolerance for the S estimate of the scale. The default value is 0.001.\",\"type\":\"standalone\"},{\"name\":\"MM\",\"description\":\"[Syntax: MM<(options)>] With METHOD=MM, you can specify the following additional options: ASYMPCOV=H1 | H2 | H3 | H4 specifies the type of asymptotic covariance computed for the MM estimate. BIASTEST<(ALPHA=number)>> requests the bias test for the final MM estimate. CHIF= TUKEY | YOHAI selects the Chi function for the MM estimate. CONVERGENCE=criterion<(EPS=number)> specifies a convergence criterion for the MM estimate. EFF=value specifies the efficiency (as a fraction) for the MM estimate. INITH=n specifies the integer h for the initial LTS estimate used by the MM estimator. INITEST=LTS | S specifies the initial estimator for the MM estimator. K0=number specifies the parameter ko in the Chi function for the MM estimate. MAXITER=n sets the maximum number of iterations during the parameter estimation. By default, MAXITER=1000.\",\"type\":\"standalone\"}]},{\"name\":\"NAMELEN=\",\"optional\":true,\"description\":\"Specifies the length of effect names in tables and output data sets to be n characters, where n is a value between 20 and 200. The default length is 20 characters.\",\"help\":\"NAMELEN=*n*\",\"type\":\"value\"},{\"name\":\"ORDER=\",\"optional\":true,\"description\":\"Specifies the order in which to sort the levels of the classification variables (which are specified in the CLASS statement).\",\"help\":\"ORDER=DATA | FORMATTED | FREQ | INTERNAL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DATA\",\"description\":\"Levels sorted by the order of appearance in the input data set.\",\"type\":\"standalone\"},{\"name\":\"FORMATTED\",\"description\":\"Levels sorted by the external formatted value, except for numeric variables with no explicit format, which are sorted by their unformatted (internal) value.\",\"type\":\"standalone\"},{\"name\":\"FREQ\",\"description\":\"Levels sorted by the descending frequency count; levels with the most observations come first in the order.\",\"type\":\"standalone\"},{\"name\":\"INTERNAL\",\"description\":\"Levels sorted by the unformatted value.\",\"type\":\"standalone\"}]},{\"name\":\"OUTEST=\",\"optional\":true,\"description\":\"Specifies an output SAS data set containing the parameter estimates, and, if the COVOUT option is specified, the estimated covariance matrix.\",\"help\":\"OUTEST=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"PLOTS=\",\"optional\":true,\"description\":\"Specifies options that control details of the plots. The ONLY option suppresses the default robust fit plot. Only plots specifically requested are displayed. Syntax: (1) PLOT | PLOTS <(global-plot-options)> <=plot-request> (2) PLOT | PLOTS<(global-plot-options)> <=(plot-request < ...plot-request > )> The following global-plot-option is available:\",\"help\":\"PLOTS=ALL | DDPLOT | FITPLOT | HISTORGRAM | NONE | QQPLOT | RDPLOT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ALL\",\"description\":\"Creates all appropriate plots.\",\"type\":\"standalone\"},{\"name\":\"DDPLOT\",\"description\":\"[Syntax: DDPLOT<(LABEL=ALL|LEVERAGE|NONE|OUTLIER)>] Creates a plot of robust distance against Mahalanobis distance. The LABEL= option specifies how the points on this plot are to be labeled: LABEL=ALL label all points LABEL=LEVERAGE label leverage points LABEL=NONE no labels LABEL=OUTLIERS label outliers\",\"type\":\"standalone\"},{\"name\":\"FITPLOT\",\"description\":\"[Syntax: FITPLOT<(NOLIMITS)>] Creates a plot of robust fit against the single independent continuous variable specified in the model. You can request this plot when only a single independent continuous variable is specified in the model. Confidence limits are added on the plot by default. The NOLIMITS option suppresses these limits.\",\"type\":\"standalone\"},{\"name\":\"HISTORGRAM\",\"description\":\"Creates a histogram for the standardized robust residuals.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"Suppresses all plots.\",\"type\":\"standalone\"},{\"name\":\"QQPLOT\",\"description\":\"Creates the normal quantile-quantile plot for the standardized robust residuals\",\"type\":\"standalone\"},{\"name\":\"RDPLOT\",\"description\":\"[Syntax: RDPLOT<(LABEL=ALL|LEVERAGE|NONE|OUTLIER)>] Creates the plot of standardized robust residual against robust distance. The LABEL= option specifies how the points on this plot are to be labeled: LABEL=ALL label all points LABEL=LEVERAGE label leverage points LABEL=NONE no labels LABEL=OUTLIERS label outliers\",\"type\":\"standalone\"}]},{\"name\":\"SEED=\",\"optional\":true,\"description\":\"Specifies the seed for the random number generator used to randomly select the subgroups and subsets for LTS and S estimation.\",\"help\":\"SEED=*number*\",\"type\":\"value\"}]},{\"name\":\"BY\",\"description\":\"You can specify a BY statement with PROC ROBUSTREG to obtain separate analyses on observations in groups that are defined by the BY variables. When a BY statement appears, the procedure expects the input data set to be sorted in order of the BY variables. If you specify more than one BY statement, only the last one specified is used.\",\"help\":\"BY &lt;DESCENDING&gt;&lt;NOTSORTED&gt;\",\"arguments\":[{\"name\":\"DESCENDING\",\"optional\":true,\"description\":\"Specifies that the observations are sorted in descending order by the variable that immediately follows the word DESCENDING in the BY statement.\",\"type\":\"standalone\"},{\"name\":\"NOTSORTED\",\"optional\":true,\"description\":\"Specifies that observations are not necessarily sorted in alphabetic or numeric order.\",\"type\":\"standalone\"}]},{\"name\":\"CLASS\",\"description\":\"Explanatory variables that are classification variables rather than quantitative numeric variables must be listed in the CLASS statement. For each explanatory variable listed in the CLASS statement, indicator variables are generated for the levels assumed by the CLASS variable. If the CLASS statement is used, it must appear before the MODEL statement.\",\"help\":\"CLASS variables \"},{\"name\":\"EFFECT\",\"description\":\"The name of the effect is specified after the EFFECT keyword. This name can appear in only one EFFECT statement and cannot be the name of a variable in the input data set. The effect-type is specified after an equal sign, followed by a list of variables within parentheses which are used in constructing the effect. Effect-options that are specific to an effect-type can be specified after a slash (/) following the variable list. The EFFECT statement enables you to construct special collections of columns for design matrices. These collections are referred to as constructed effects to distinguish them from the usual model effects formed from continuous or classification variables.\",\"help\":\"EFFECT EFFECT-NAME=COLLECTION|LAG|MULTIMEMBER|MM...  &lt;PERIOD=variable&gt;&lt;WITHIN=(variables) | WITHIN=variable&gt; ...\",\"arguments\":[{\"name\":\"EFFECT-NAME=\",\"description\":\"Replace 'EFFECT-NAME' with the name of the effect, specified after the EFFECT keyword. This name can appear in only one EFFECT statement and cannot be the name of a variable in the input data set. These values can be used: COLLECTION, LAG, MULTIMEMBER, POLYNOMIAL, or SPLINE.\",\"type\":\"value\"},{\"name\":\"BASIS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"[For the SPLINE effect-type only] Specifies a basis for the spline expansion.\",\"help\":\"BASIS=BSPLINE | TPF\",\"type\":\"choice\",\"arguments\":[{\"name\":\"BSPLINE\",\"followsDelimiter\":\"/\",\"description\":\"Specifies a B-spline basis for the spline expansion.\",\"type\":\"standalone\"},{\"name\":\"TPF\",\"followsDelimiter\":\"/\",\"description\":\"Syntax: TPF(options) Specifies a truncated power function basis for the spline expansion. You can modify the number of columns when you request BASIS=TPF with the following options: NOINT excludes the intercept column. NOPOWERS excludes the intercept and polynomial columns.\",\"type\":\"standalone\"}]},{\"name\":\"DATABOUNDARY\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"[For the SPLINE effect-type only] Specifies that the extremes of the data be used as boundary knots when building a B-spline basis.\",\"type\":\"standalone\"},{\"name\":\"DEGREE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"\",\"help\":\"DEGREE=*n*\",\"type\":\"value\"},{\"name\":\"DESIGNROLE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"\",\"help\":\"DESIGNROLE=*variable*\",\"type\":\"value\"},{\"name\":\"DETAILS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"[For the LAG | COLLECTION | MULTIMEMBER | POLYNOMIAL |SPLINE effect-type] Requests a table that shows the (1) lag design matrix of the lag effect, or (2) constituents of the collection effect, or (3) levels of the multimember effect, or (4) details of the specified polynomial, or (5) knot locations and the knots associated with each spline basis function.\",\"type\":\"standalone\"},{\"name\":\"KNOTMAX=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"\",\"help\":\"KNOTMAX=*value*\",\"type\":\"value\"},{\"name\":\"KNOTMETHOD=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"[For the SPLINE effect-type only] Specifies how to construct the knots for spline effects.\",\"help\":\"KNOTMETHOD=EQUAL | LIST | LISTWITHBOUNDARY | MULTISCALE | PERCENTILES | RANGEFRACTIONS\",\"type\":\"choice\",\"arguments\":[{\"name\":\"EQUAL\",\"followsDelimiter\":\"/\",\"description\":\"Syntax: EQUAL<(n)> Specifies that n equally spaced knots be positioned between the extremes of the data. The default is n=3. For a B-spline basis, any needed boundary knots continue to be equally spaced unless the DATABOUNDARY option has also been specified. KNOTMETHOD=EQUAL is the default if no knot-method is specified.\",\"type\":\"standalone\"},{\"name\":\"LIST\",\"followsDelimiter\":\"/\",\"description\":\"Syntax: LIST(number-list) Specifies the list of internal knots to be used in forming the spline basis columns. For a B-spline basis, the data extremes are used as boundary knots.\",\"type\":\"standalone\"},{\"name\":\"LISTWITHBOUNDARY\",\"followsDelimiter\":\"/\",\"description\":\"Syntax: LISTWITHBOUNDARY(number-list) Specifies the list of all knots that are used in forming the spline basis columns.\",\"type\":\"standalone\"},{\"name\":\"MULTISCALE\",\"followsDelimiter\":\"/\",\"description\":\"Syntax: MULTISCALE<(multiscale-options)> Specifies that multiple B-spline bases be generated, corresponding to sets with an increasing number of internal knots. You can control which scales are included with the following multiscale-options: STARTSCALE=n specifies the start scale, where n is a positive integer. The default is STARTSCALE=0. ENDSCALE=n specifies the end scale, where n is a positive integer. The default is ENDSCALE=7.\",\"type\":\"standalone\"},{\"name\":\"PERCENTILES\",\"followsDelimiter\":\"/\",\"description\":\"Syntax: PERCENTILES(n) Requests that internal knots be placed at n equally spaced percentiles of the variable or variables named in the EFFECT statement.\",\"type\":\"standalone\"},{\"name\":\"RANGEFRACTIONS\",\"followsDelimiter\":\"/\",\"description\":\"Syntax: RANGEFRACTIONS(fraction-list) Requests that internal knots be placed at each fraction of the ranges of the variables in the EFFECT statement.\",\"type\":\"standalone\"}]},{\"name\":\"KNOTMIN=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"\",\"help\":\"KNOTMIN=*value*\",\"type\":\"value\"},{\"name\":\"LABELSTYLE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"\",\"help\":\"LABELSTYLE=EXPAND | EXPONENT | INCLUDENAME | PRODUCTSYMBOL=\",\"type\":\"choice\",\"arguments\":[{\"name\":\"EXPAND\",\"followsDelimiter\":\"/\",\"description\":\"Specifies that each variable with an exponent greater than 1 be written as products of that variable.\",\"type\":\"standalone\"},{\"name\":\"EXPONENT\",\"followsDelimiter\":\"/\",\"description\":\"Syntax: EXPONENT <=quoted string> Specifies that each variable with an exponent greater than 1 be written using exponential notation. By default, the symbol ^ is used as the exponentiation operator. If you supply the optional quoted string after an equal sign, then that string is used as the exponentiation operator.\",\"type\":\"standalone\"},{\"name\":\"INCLUDENAME\",\"followsDelimiter\":\"/\",\"description\":\"Specifies that the name of the effect followed by an underscore be used as a prefix for term labels.\",\"type\":\"standalone\"},{\"name\":\"PRODUCTSYMBOL=\",\"followsDelimiter\":\"/\",\"description\":\"Syntax: PRODUCTSYMBOL=NONE | quoted string Specifies that the supplied string be used as the product symbol.\",\"type\":\"value\"}]},{\"name\":\"MDEGREE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"\",\"help\":\"MDEGREE=*n*\",\"type\":\"value\"},{\"name\":\"NLAG=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"\",\"type\":\"value\"},{\"name\":\"NOEFFECT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"[For the MULTIMEMBER effect-type only] Specifies that, for observations with all missing levels of the multimember variables, the values in the corresponding design matrix columns be set to zero.\",\"type\":\"standalone\"},{\"name\":\"NOSEPARATE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"[For the POLYNOMIAL effect-type only] Specifies that the polynomial be treated as a single effect with multiple degrees of freedom. The effect name that you specify is used as the constructed effect name, and the labels of the terms are used as labels of the corresponding parameters.\",\"type\":\"standalone\"},{\"name\":\"PERIOD=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the period variable of the LAG design. The number of periods is the number of unique formatted values of the PERIOD= variable, and the ordering of the period is formed by sorting these formatted values in ascending order. You must specify a PERIOD= variable.\",\"help\":\"PERIOD=*variable*\",\"type\":\"value\"},{\"name\":\"SEPARATE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"[For the SPLINE effect-type only] Specifies that when multiple variables are specified in the EFFECT statement, the spline basis for each variable be treated as a separate effect. The names of these separated effects are formed by appending an underscore followed by the name of the variable to the name that you specify in the EFFECT statement.\",\"type\":\"standalone\"},{\"name\":\"SPLIT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"[For the SPLINE effect-type only] Specifies that each individual column in the design matrix that corresponds to the spline effect be treated as a separate effect that can enter or leave the model independently. Names for these split effects are generated by appending the variable name and an index for each column to the name that you specify in the EFFECT statement.\",\"type\":\"standalone\"},{\"name\":\"STANDARDIZE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies that the variables that define the polynomial be standardized. By default, the standardized variables receive prefix \\\"s_\\\" in the variable names. You can use the following centerscale-opts to specify how the center and scale are estimated: METHOD=MOMENTS specifies that the center be estimated by the variable mean and the scale be estimated by the standard deviation. METHOD=RANGE specifies that the center be estimated by the midpoint of the variable range and the scale be estimated as half the variable range. METHOD=WMOMENTS is the same as METHOD=MOMENTS except that weighted means and weighted standard deviations are used.\",\"help\":\"STANDARDIZECENTER | CENTERSCALE | NONE | SCALE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"CENTER\",\"followsDelimiter\":\"/\",\"description\":\"Specifies that variables be centered but not scaled.\",\"type\":\"standalone\"},{\"name\":\"CENTERSCALE\",\"followsDelimiter\":\"/\",\"description\":\"Specifies that variables be centered and scaled. This is the default if you do not specify a standardization-opt.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"followsDelimiter\":\"/\",\"description\":\"Specifies that no standardization be performed.\",\"type\":\"standalone\"},{\"name\":\"SCALE\",\"followsDelimiter\":\"/\",\"description\":\"Specifies that variables be scaled but not centered.\",\"type\":\"standalone\"}]},{\"name\":\"STDIZE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"[For the MULTIMEMBER effect-type only] Specifies that for each observation, the entries in the design matrix that corresponds to the multimember effect be scaled to have a sum of one.\",\"type\":\"standalone\"},{\"name\":\"WEIGHT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"\",\"help\":\"WEIGHT=*wght-list*\",\"type\":\"value\"},{\"name\":\"WITHIN=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"\",\"type\":\"value\"}]},{\"name\":\"ID\",\"description\":\"When the diagnostics table is requested with the DIAGNOSTICS option in the MODEL statement, the variables listed in the ID statement are displayed in addition to the observation number. These variables can be used to identify each observation.\",\"help\":\"ID variables \"},{\"name\":\"MODEL\",\"description\":\"Main effects and interaction terms can be specified in the MODEL statement, as in the GLM procedure.\",\"help\":\"MODEL &lt;ALPHA=value&gt;&lt;CORRB&gt;&lt;COVB&gt; ...\",\"arguments\":[{\"name\":\"ALPHA=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the significance level for the confidence intervals for regression parameters. The value must be between 0 and 1. By default, ALPHA=0.05.\",\"help\":\"ALPHA=*value*\",\"type\":\"value\"},{\"name\":\"CORRB\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Produces the estimated correlation matrix of the parameter estimates.\",\"type\":\"standalone\"},{\"name\":\"COVB\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Produces the estimated covariance matrix of the parameter estimates.\",\"type\":\"standalone\"},{\"name\":\"CUTOFF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the multiplier of the cutoff value for outlier detection. By default, CUTOFF=3.\",\"help\":\"CUTOFF=*value*\",\"type\":\"value\"},{\"name\":\"DIAGNOSTICS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests the outlier diagnostics. By default, only observations identified as outliers or leverage points are displayed. To request that all observations be displayed, specify the ALL option.\",\"help\":\"DIAGNOSTICS=ALL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ALL\",\"type\":\"standalone\"}]},{\"name\":\"ITPRINT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays the iteration history for the iteratively reweighted least squares algorithm used by M and MM estimation.\",\"type\":\"standalone\"},{\"name\":\"LEVERAGE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests an analysis of leverage points for the covariates. The results are added to the diagnostics table, which you can request with the DIAGNOSTICS option in the MODEL statement. The following leverage-options are available: CUTOFF=value -- specifies the leverage cutoff value for leverage-point detection. CUTOFFALPHA=value specifies the leverage cutoff value for leverage-point detection. By default, α = 0.025. H | QUANTILE=n specifies the quantile to be minimized for the MCD algorithm that is used for the leverage-point analysis. By default, H=[(3n + p + 1)/4], where n is the number of observations and p is the number of independent variables excluding the intercept. MCDALPHA=value specifies the MCD cutoff value for the final MCD reweighting step. By default, α = 0.025. MCDCUTOFF | MCDCUTOFF=value specifies the MCD cutoff value for the final MCD reweighting step. The cutoff value can also be specified with the MCD cutoff value by using the MCDALPHA= option. MCDINFO requests that detailed information about the MCD covariance estimate be displayed, including the low-dimensional structure, the breakdown value, the MCD center, and the MCD covariance itself. The option outputs the ODS tables of the MCD profile, MCD center, MCD covariance, and MCD correlation. OPC | OFFPLANECOEF requests the ODS table of the coefficients for MCD-dropped components, when projection is applied in the generalized MCD algorithm. The OFFPLANECOEF option is ignored for the regular MCD algorithm. PALPHA | PROJECTIONALPHA=value specifies the projection cutoff value to be used to judge whether an observation is on or off the low-dimensional hyperplane identified by the generalized MCD algorithm. By default, α = 0.001. PCUTOFF | PROJECTIONCUTOFF=value specifies the projection cutoff value to be used to judge whether an observation is on or off the low-dimensional hyperplane identified by the projected MCD algorithm.\",\"type\":\"standalone\"},{\"name\":\"NOGOODFIT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Suppresses the computation of goodness-of-fit statistics.\",\"type\":\"standalone\"},{\"name\":\"NOINT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies no-intercept regression.\",\"type\":\"standalone\"},{\"name\":\"SINGULAR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the tolerance for testing singularity of the information matrix and the crossproducts matrix for the initial least squares estimates.\",\"help\":\"SINGULAR=*value*\",\"type\":\"value\"}]},{\"name\":\"OUTPUT\",\"description\":\"The OUTPUT statement creates an output SAS data set containing statistics calculated after fitting the model. At least one specification of the form keyword=name is required.\",\"help\":\"OUTPUT &lt;LEVERAGE=&gt;&lt;OUT=SAS-data-set&gt;&lt;OUTLIER=&gt; ...\",\"arguments\":[{\"name\":\"LEVERAGE=\",\"optional\":true,\"description\":\"Specifies a variable to indicate leverage points.\",\"type\":\"value\"},{\"name\":\"OUT=\",\"optional\":true,\"description\":\"Specifies the new data set. By default, the procedure uses the DATAn convention to name the new data set.\",\"help\":\"OUT=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"OUTLIER=\",\"optional\":true,\"description\":\"Specifies a variable to indicate outliers.\",\"type\":\"value\"},{\"name\":\"PREDICTED=\",\"optional\":true,\"aliases\":[\"P=\"],\"description\":\"Specifies a variable to contain the estimated response.\",\"type\":\"value\"},{\"name\":\"RESIDUAL=\",\"optional\":true,\"aliases\":[\"R=\"],\"description\":\"Specifies a variable to contain the unstandardized residuals.\",\"type\":\"value\"},{\"name\":\"STDI=\",\"optional\":true,\"description\":\"Specifies a variable to contain the estimates of the standard errors of the individual predicted values.\",\"type\":\"value\"},{\"name\":\"STDP=\",\"optional\":true,\"description\":\"Specifies a variable to contain the estimates of the standard errors of the estimated response.\",\"type\":\"value\"},{\"name\":\"WEIGHT=\",\"optional\":true,\"description\":\"Specifies a variable to contain the computed final weights.\",\"type\":\"value\"}]},{\"name\":\"PERFORMANCE\",\"description\":\"The PERFORMANCE statement is used to change default options that affect the performance of PROC ROBUSTREG and to request tables that show the performance options in effect and timing details.\",\"help\":\"PERFORMANCE &lt;CPUCOUNT=&lt;&lt;1-1024&gt; | ACTUAL&gt;&gt;&lt;DETAILS&gt;&lt;THREADS&gt; ...\",\"arguments\":[{\"name\":\"CPUCOUNT=\",\"optional\":true,\"description\":\"Specifies the number of processors to use for forming crossproduct matrices.\",\"help\":\"CPUCOUNT=&lt;1-1024&gt; | ACTUAL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"<1-1024>\",\"description\":\"Replace with a value between 1 and 1024 (inclusive).\",\"type\":\"standalone\"},{\"name\":\"ACTUAL\",\"description\":\"Sets CPUCOUNT to be the number of physical processors available.\",\"type\":\"standalone\"}]},{\"name\":\"DETAILS\",\"optional\":true,\"description\":\"Requests the \\\"PerfSettings\\\" table that shows the performance settings in effect and the \\\"Timing\\\" table that provides a broad timing breakdown of the PROC ROBUSTREG step.\",\"type\":\"standalone\"},{\"name\":\"NOTHREADS\",\"optional\":true,\"description\":\"Disables multithreaded computation. This option overrides the SAS system option THREADS | NOTHREADS.\",\"type\":\"standalone\"},{\"name\":\"THREADS\",\"optional\":true,\"description\":\"Enables multithreaded computation. This option overrides the SAS system option THREADS | NOTHREADS.\",\"type\":\"standalone\"}]},{\"name\":\"TEST\",\"description\":\"With M estimation and MM estimation, the TEST statement provides a means of obtaining a test for the canonical linear hypothesis concerning the parameters of the tested effects. The optional label, which must be a valid SAS name, is used to label output from the corresponding TEST statement.\",\"help\":\"&lt;label:&gt; TEST effects \"},{\"name\":\"WEIGHT\",\"description\":\"The WEIGHT statement specifies a weight variable in the input data set. If you want to use fixed weights for each observation in the input data set, place the weights in a variable in the data set and specify the name in a WEIGHT statement. The values of the WEIGHT variable can be nonintegral and are not truncated.\",\"help\":\"WEIGHT variable\"}],\"supportSiteInformation\":{\"docsetId\":\"statug\",\"docsetVersion\":\"latest\",\"docsetTargetFile\":\"statug_rreg_toc.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/RPCA.json",
    "content": "{\"name\":\"RPCA\",\"statements\":[{\"name\":\"PROC RPCA\",\"description\":\"The RPCA procedure implements robust principal component analysis (RPCA) in SAS Viya. RPCA can be used in many areas, including image processing, latent semantic indexing, ranking, and matrix completion (Candès et al. 2011). † The RPCA procedure decomposes an input matrix into a sum of two matrices: a low-rank matrix and a sparse matrix. You can use the low-rank matrix to do feature extraction and use the sparse matrix to detect anomalies.\",\"help\":\"PROC RPCA <CENTER><COLSTATISTICS=CAS-libref.data-table><DATA=CAS-libref.data-table><DECOMP=SVD | PCA | NONE><FIXEDMU><LAMBDA=number specifies a value for ƛ, where number is a positive real number.><LAMBDAWEIGHT=number><MAXITER=number><METHOD=ALM | APG><MU=number><NTHREADS=number-of-threads><OUTERROR=CAS-libref.data-table><OUTLOWRANK=CAS-libref.data-table><OUTSPARSE=CAS-libref.data-table><SCALE><TOLERANCE=number>;     \\n\\tCODE <FILE=filename> ;\\n\\n\\tDISPLAY <CASESENSITIVE><EXCLUDE><EXCLUDEALL> ...;\\n\\n\\tDISPLAYOUT <NOREPLACE><REPEATED> ;\\n\\n\\tINPUT variables;\\n\\n\\tOUTDECOMP <SVDDIAG=CAS-libref.data-table><SVDLEFT=CAS-libref.data-table><SVDRIGHT=CAS-libref.data-table> ...;\\n\\n\\tOUTPUT <NPC=number><OUT=CAS-libref.data-table><STANDARDPC> ...;\\n\\n\\tROWID variable;\\n\\n\\tSVD <MAXRANK=number><METHOD=<EIGEN | RANDOM>><POWER=number> ...;\\n\",\"arguments\":[{\"name\":\"CENTER\",\"optional\":true,\"description\":\"Centers the observations by the mean of each column.\",\"type\":\"standalone\"},{\"name\":\"COLSTATISTICS=\",\"optional\":true,\"description\":\"Specifies the name of the output table for the columStatistics table. This table contains simple statistics for the variables of the input data set.\",\"help\":\"COLSTATISTICS=*CAS-libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"DATA=\",\"optional\":true,\"description\":\"Names the input data table for PROC RPCA to use. The default is the most recently created data table. CAS-libref.data-table is a two-level name, where\",\"help\":\"DATA=*CAS-libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"DECOMP=\",\"optional\":true,\"description\":\"Specifies the type of analysis. If MAXITER=0, this step is applied to the original input data; otherwise, it is applied to the low-rank matrix.\",\"help\":\"DECOMP=SVD | PCA | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"SVD\",\"description\":\"Performs singular value decomposition.\",\"type\":\"standalone\"},{\"name\":\"PCA\",\"description\":\"Performs principal component analysis.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"Performs none of the above two analysis.\",\"type\":\"standalone\"}]},{\"name\":\"FIXEDMU\",\"optional\":true,\"description\":\"If specified, uses a fixed value for µ in each iteration of RPCA when METHOD=APG. Otherwise, is updated dynamically in each iteration.\",\"type\":\"standalone\"},{\"name\":\"LAMBDA=\",\"optional\":true,\"description\":\"Syntax: LAMBDA=number specifies a value for ƛ, where number is a positive real number.\",\"type\":\"value\"},{\"name\":\"LAMBDAWEIGHT=\",\"optional\":true,\"description\":\"Specifies the value of ƛweight. The final value of the ƛ that is used in the RPCA algorithm is calculated by multiplying ƛweigth by ƛ. You can use this value to control the sparsity of the sparse matrix.\",\"help\":\"LAMBDAWEIGHT=*number*\",\"type\":\"value\"},{\"name\":\"MAXITER=\",\"optional\":true,\"description\":\"Specifies the maximum number of iterations before the RPCA algorithm stops, where number is a positive integer. By default, MAXITER=1000.\",\"help\":\"MAXITER=*number*\",\"type\":\"value\"},{\"name\":\"METHOD=\",\"optional\":true,\"description\":\"Specifies the method to perform RPCA. By default, METHOD=ALM.\",\"help\":\"METHOD=ALM | APG\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ALM\",\"description\":\"Specifies the augmented Lagrange multiplier method.\",\"type\":\"standalone\"},{\"name\":\"APG\",\"description\":\"Specifies the accelerated proximal gradient method.\",\"type\":\"standalone\"}]},{\"name\":\"MU=\",\"optional\":true,\"description\":\"Specifies an initial value of µ when METHOD=APG. By default, MU=0.001.\",\"help\":\"MU=*number*\",\"type\":\"value\"},{\"name\":\"NTHREADS=\",\"optional\":true,\"description\":\"Specifies the number of threads per computation node. The default value is the lesser of 16 and the number of threads available per computation node.\",\"help\":\"NTHREADS=*number-of-threads*\",\"type\":\"value\"},{\"name\":\"OUTERROR=\",\"optional\":true,\"description\":\"Specifies the name of the output table for the error matrix. It contains the noise in the input data. This option can be specified when METHOD=APG.\",\"help\":\"OUTERROR=*CAS-libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"OUTLOWRANK=\",\"optional\":true,\"description\":\"Specifies the name of the output table for the low-rank matrix. CAS-libref.data-table is a two-level name, where CAS-libref refers to the caslib and session identifier, and data-table specifies the name of the output data table.\",\"help\":\"OUTLOWRANK=*CAS-libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"OUTSPARSE=\",\"optional\":true,\"description\":\"Specifies the name of the output table for the sparse matrix.\",\"help\":\"OUTSPARSE=*CAS-libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"SCALE\",\"optional\":true,\"description\":\"Scales the observations by the standard deviation of each column. If a constant variable exists (where all observations have the same value), the observations of this column are not scaled.\",\"type\":\"standalone\"},{\"name\":\"TOLERANCE=\",\"optional\":true,\"description\":\"Syntax: TOLERANCE=number specifies the convergence criterion for the RPCA algorithm. The default value is 10^-7.\",\"help\":\"TOLERANCE=*number*\",\"type\":\"value\"}]},{\"name\":\"CODE\",\"description\":\"The CODE statement generates SAS DATA step code that mimics the computations that are performed. The generated SAS DATA step code can be used for scoring new observations. Only one CODE statement is processed. If you specify multiple CODE statements, only the first one is used. The CODE statement is optional. If you do not include a CODE statement, no score code is generated.\",\"help\":\"CODE &lt;FILE=filename&gt;\",\"arguments\":[{\"name\":\"FILE=\",\"optional\":true,\"description\":\"Specifies the filename of the file to write the SAS score code to.\",\"help\":\"FILE=*filename*\",\"type\":\"value\"}]},{\"name\":\"DISPLAY\",\"description\":\"The DISPLAY statement enables you to specify a list of display tables to display or exclude. This statement is similar to the ODS SELECT, ODS EXCLUDE, and ODS TRACE statements. However, the DISPLAY statement can improve performance when a large number of tables could be generated (such as in BY-group processing). The procedure processes the DISPLAY statement on a CAS server and thus sends only a subset of ODS tables to the SAS client. Because ODS statements are processed on a SAS client, all the display tables generated are first sent to the client and then the client creates a subset. If both DISPLAY and ODS statements are used together, the DISPLAY statement takes precedence over the ODS statements.\",\"help\":\"DISPLAY &lt;CASESENSITIVE&gt;&lt;EXCLUDE&gt;&lt;EXCLUDEALL&gt; ...\",\"arguments\":[{\"name\":\"CASESENSITIVE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Performs a case-sensitive comparison of table names in the table-list to display table names when tables are subsetted for display. To preserve case, you must enclose table names in the table-list in quotation marks.\",\"type\":\"standalone\"},{\"name\":\"EXCLUDE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays all display tables except those specified in the table-list.\",\"type\":\"standalone\"},{\"name\":\"EXCLUDEALL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Suppresses display of all tables. This option takes precedence over the other options.\",\"type\":\"standalone\"},{\"name\":\"TRACE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays the display table names, labels, and paths.\",\"type\":\"standalone\"}]},{\"name\":\"DISPLAYOUT\",\"description\":\"The DISPLAYOUT statement enables you to create CAS output tables from your displayed output. This statement is similar to the ODS OUTPUT statement. The table-spec-list specifies a list of CAS output tables to create. Each entry in the list has either a key or a key=value format: key=value specifies key as the ODS table name, path, or partial pathname, and specifies value as the CAS output table name. key specifies key as the ODS table name and also as the CAS output table name. Table names and partial pathnames are discussed under the DISPLAY statement. The DISPLAYOUT statement does not support regular expressions.\",\"help\":\"DISPLAYOUT &lt;NOREPLACE&gt;&lt;REPEATED&gt;\",\"arguments\":[{\"name\":\"NOREPLACE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Does not replace an existing CAS output table of the same name.\",\"type\":\"standalone\"},{\"name\":\"REPEATED\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Replicates the CAS output tables on all nodes.\",\"type\":\"standalone\"}]},{\"name\":\"INPUT\",\"description\":\"The INPUT statement specifies the names of variables to be considered in the RPCA procedure. Only numeric variables are accepted. If you do not specify this statement, PROC RPCA considers all numeric variables in the input data set.\",\"help\":\"INPUT variables\"},{\"name\":\"OUTDECOMP\",\"description\":\"The OUTDECOMP statement specifies output file names for the low-rank matrix decomposition tables.\",\"help\":\"OUTDECOMP &lt;SVDDIAG=CAS-libref.data-table&gt;&lt;SVDLEFT=CAS-libref.data-table&gt;&lt;SVDRIGHT=CAS-libref.data-table&gt; ...\",\"arguments\":[{\"name\":\"PCLOADINGS=\",\"optional\":true,\"description\":\"Specifies the name of the output table to contain the matrix of principal component loadings.\",\"help\":\"PCLOADINGS=*CAS-libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"PCSCORES=\",\"optional\":true,\"description\":\"Specifies the name of the output table to contain the matrix of principal component scores.\",\"help\":\"PCSCORES=*CAS-libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"SVDDIAG=\",\"optional\":true,\"description\":\"Specifies the name of the output table to contain the SVD diagonal vector.\",\"help\":\"SVDDIAG=*CAS-libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"SVDLEFT=\",\"optional\":true,\"description\":\"Specifies the name of the output table to contain the SVD left matrix.\",\"help\":\"SVDLEFT=*CAS-libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"SVDRIGHT=\",\"optional\":true,\"description\":\"Specifies the name of the output table to contain the SVD right matrix.\",\"help\":\"SVDRIGHT=*CAS-libref.data-table*\",\"type\":\"dataSet\"}]},{\"name\":\"OUTPUT\",\"description\":\"The OUTPUT statement creates an output data table to contain the results of the procedure run.\",\"help\":\"OUTPUT &lt;NPC=number&gt;&lt;OUT=CAS-libref.data-table&gt;&lt;STANDARDPC&gt; ...\",\"arguments\":[{\"name\":\"NPC=\",\"optional\":true,\"description\":\"Specifies the number of principal components to display for each window.\",\"help\":\"NPC=*number*\",\"type\":\"value\"},{\"name\":\"OUT=\",\"optional\":true,\"description\":\"Names the output data table for PROC MWPCA to use. You must specify this option before any other options. CAS-libref.data-table is a two-level name, where CAS-libref refers to a collection of information that is defined in the LIBNAME statement and includes the caslib, which includes a path to where the data table is to be stored, and a session identifier, which defaults to the active session but which can be explicitly defined in the LIBNAME statement.\",\"help\":\"OUT=*CAS-libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"STANDARDPC\",\"optional\":true,\"description\":\"Standardizes the output principal components.\",\"type\":\"standalone\"}]},{\"name\":\"ROWID\",\"description\":\"If your input data set has an index column for observations, you can specify an index variable in the ROWID statement. When you specify this statement and the input data are distributed on multiple nodes, the RPCA procedure preserves the order of observations in the OUTLOWRANK=, OUTSPARSE=, OUTERROR=, SVDLEFT=, and PCSCORES= output tables. The values of variable must be integer. If the values of variable are not unique across observations, the RPCA procedure does not keep the order of the observations in the output tables.\",\"help\":\"ROWID variable\"},{\"name\":\"SVD\",\"description\":\"To calculate the principal components for each window, a singular value decomposition (SVD) solver is called.\",\"help\":\"SVD &lt;MAXRANK=number&gt;&lt;METHOD=&lt;EIGEN | RANDOM&gt;&gt;&lt;POWER=number&gt; ...\",\"arguments\":[{\"name\":\"MAXRANK=\",\"optional\":true,\"description\":\"Specifies the maximum value for rank considered by the SVD solver. By default, number is the number of input variables.\",\"help\":\"MAXRANK=*number*\",\"type\":\"value\"},{\"name\":\"METHOD=\",\"optional\":true,\"description\":\"Specifies the type of the SVD solver.\",\"help\":\"METHOD=EIGEN | RANDOM\",\"type\":\"choice\",\"arguments\":[{\"name\":\"EIGEN\",\"description\":\"Uses the eigenvalue decomposition method.\",\"type\":\"standalone\"},{\"name\":\"RANDOM\",\"description\":\"Uses the randomized SVD method.\",\"type\":\"standalone\"}]},{\"name\":\"POWER=\",\"optional\":true,\"description\":\"Specifies the parameter power for the SVD solver if METHOD=RANDOM. By default POWER=0.\",\"help\":\"POWER=*number*\",\"type\":\"value\"},{\"name\":\"SEED=\",\"optional\":true,\"description\":\"Specifies the parameter seed for the SVD solver if METHOD=RANDOM. The default value is the current local time in SAS datetime format.\",\"help\":\"SEED=*number*\",\"type\":\"value\"}]}],\"supportSiteInformation\":{\"docsetId\":\"casml\",\"docsetVersion\":\"latest\",\"docsetTargetFile\":\"casml_rpca_toc.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/RSREG.json",
    "content": "{\"name\":\"RSREG\",\"statements\":[{\"name\":\"PROC RSREG\",\"description\":\"The RSREG procedure uses the method of least squares to fit quadratic response surface regression models. Response surface models are a kind of general linear model in which attention focuses on characteristics of the fit response function and in particular, where optimum estimated response values occur.\",\"help\":\"PROC RSREG <DATA=SAS-data-set><NOPRINT><OUT=SAS-data-set><PLOTS=ALL | DIAGNOSTICS | FIT... >;     \\n\\tBY <DESCENDING><NOTSORTED> ;\\n\\n\\tID variables ;\\n\\n\\tMODEL <ACTUAL><BYOUT><COVAR=n> ...;\\n\\n\\tRIDGE <CENTER=uncoded-factor-values><MAXIMUM><MINIMUM> ...;\\n\\n\\tWEIGHT variable;\\n\",\"arguments\":[{\"name\":\"DATA=\",\"optional\":true,\"description\":\"Specifies the input SAS data set that contains the data to be analyzed. By default, PROC RSREG uses the most recently created SAS data set.\",\"help\":\"DATA=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"NOPRINT\",\"optional\":true,\"description\":\"Suppresses the normal display of results when only the output data set is required.\",\"type\":\"standalone\"},{\"name\":\"OUT=\",\"optional\":true,\"description\":\"Creates an output SAS data set that contains statistics for each observation in the input data set.\",\"help\":\"OUT=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"PLOTS=\",\"optional\":true,\"description\":\"Syntax: PLOTS <(global-plot-option)>=plot-request<(options)> PLOTS <(global-plot-option)>=(plot-request<(options)>< plot-request<(options)>>)\",\"help\":\"PLOTS=ALL | DIAGNOSTICS | FIT | NONE | RESIDUALS | RIDGE | SURFACE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ALL\",\"description\":\"Produces all appropriate plots.\",\"type\":\"standalone\"},{\"name\":\"DIAGNOSTICS\",\"description\":\"[Syntax: DIAGNOSTICS<(LABEL | UNPACK)>] Displays a panel of summary fit diagnostic plots.\",\"type\":\"standalone\"},{\"name\":\"FIT\",\"description\":\"[Syntax: FIT<(GRIDSIZE=number)>] Plots the predicted values against a single predictor when you have only one factor or only one covariate in the model.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"Suppresses all plots.\",\"type\":\"standalone\"},{\"name\":\"RESIDUALS\",\"description\":\"[Syntax: RESIDUALS<(UNPACK | SMOOTH)>] Displays plots of residuals against each factor and covariate. The UNPACK option displays each residual plot separately. The SMOOTH option overlays a loess smooth on each residual plot.\",\"type\":\"standalone\"},{\"name\":\"RIDGE\",\"description\":\"[Syntax: RIDGE<(UNPACK)>] Displays the maximum and/or minimum ridge plots. The UNPACK option displays the estimated response and factor level ridge plots separately.\",\"type\":\"standalone\"},{\"name\":\"SURFACE\",\"description\":\"[Syntax: SURFACE<(surface-options)>] Displays the response surface for each response variable and each pair of factors with all other factors and covariates fixed at their means. By default a panel of contour plots is produced. The following surface-options can be specified: 3D displays three-dimensional surface plots instead of contour plots. AT <keyword><(variable=value-list | keyword <...variable=value-list | keyword>)> specifies fixed values for factors and covariates. Keywords available: MIN, MEAN, MIDRANGE, MAX. EXTEND=value extends the surface value-times the range of each factor in each direction, which enables you to see more of the fitted surface. FILL=PRED | SE | NONE produces a filled contour plot for either the predicted values or the standard errors. FILL=SE is the default. GRIDSIZE=n creates an nxn grid of points at which the estimated values for the surface and standard errors are computed, for n ≥ 0. By default, n=50. LINE<=PRED | SE | NONE> produces a contour line plot for either the predicted values or the standard errors. LINE=PRED is the default. NODESIGN suppresses the display of the design points on the contour surface plots and the overlaid contour-line plots. OVERLAYPAIRS produces overlaid contour line plots for all pairs of response variables in addition to the contour surface plots. ROTATE=angle rotates the 3D surface plots angle degrees, –180 < angle < 180. By default, angle = 57. TILT=angle tilts the 3D surface plots angle degrees, –180 < angle < 180. By default, angle = 20. UNPACKPANELS | UNPACK suppresses paneling, and displays each surface plot separately.\",\"type\":\"standalone\"}]}]},{\"name\":\"BY\",\"description\":\"Obtains separate analyses on observations in groups defined by the BY variables.\",\"help\":\"BY &lt;DESCENDING&gt;&lt;NOTSORTED&gt;\",\"arguments\":[{\"name\":\"DESCENDING\",\"optional\":true,\"description\":\"Specifies that the observations are sorted in descending order by the variable that immediately follows the word DESCENDING in the BY statement.\",\"type\":\"standalone\"},{\"name\":\"NOTSORTED\",\"optional\":true,\"description\":\"Specifies that observations are not necessarily sorted in alphabetic or numeric order.\",\"type\":\"standalone\"}]},{\"name\":\"ID\",\"description\":\"The ID statement names variables that are to be transferred to the data set created by the OUT= option in the PROC RSREG statement.\",\"help\":\"ID variables \"},{\"name\":\"MODEL\",\"description\":\"In the MODEL statement, you specify the response (dependent) variables followed by an equal sign and then the independent variables, some of which can be covariates.\",\"help\":\"MODEL &lt;ACTUAL&gt;&lt;BYOUT&gt;&lt;COVAR=n&gt; ...\",\"arguments\":[{\"name\":\"ACTUAL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies that the observed response values from the input data set be written to the output data set.\",\"type\":\"standalone\"},{\"name\":\"BYOUT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Uses only the first BY group to estimate the model.\",\"type\":\"standalone\"},{\"name\":\"COVAR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Declares that the first n variables on the right side of the model are simple linear regressors (covariates) and not factors in the quadratic response surface.\",\"help\":\"COVAR=*n*\",\"type\":\"value\"},{\"name\":\"D\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies that Cook’s D influence statistic be written to the output data set.\",\"type\":\"standalone\"},{\"name\":\"L95\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies that the lower bound of a 95% confidence interval for an individual predicted value be written to the output data set.\",\"type\":\"standalone\"},{\"name\":\"L95M\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies that the lower bound of a 95% confidence interval for the expected value of the dependent variable be written to the output data set.\",\"type\":\"standalone\"},{\"name\":\"LACKFIT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Performs a lack-of-fit test.\",\"type\":\"standalone\"},{\"name\":\"NOANOVA\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"NOAOV\"],\"description\":\"Suppresses the display of the analysis of variance and parameter estimates from the model fit.\",\"type\":\"standalone\"},{\"name\":\"NOCODE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Performs the canonical and ridge analyses with the parameter estimates derived from fitting the response to the original values of the factor variables, rather than their coded values.\",\"type\":\"standalone\"},{\"name\":\"NOOPTIMAL\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"NOOPT\"],\"description\":\"Suppresses the display of the canonical analysis for the quadratic response surface.\",\"type\":\"standalone\"},{\"name\":\"NOPRINT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Suppresses the display of both the analysis of variance and the canonical analysis.\",\"type\":\"standalone\"},{\"name\":\"PREDICT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies that the values predicted by the model be written to the output data set.\",\"type\":\"standalone\"},{\"name\":\"PRESS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Computes and displays the predicted residual sum of squares (PRESS) statistic for each dependent variable in the model.\",\"type\":\"standalone\"},{\"name\":\"RESIDUAL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies that the residuals, calculated as ACTUAL - PREDICTED, be written to the output data set.\",\"type\":\"standalone\"},{\"name\":\"U95\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies that the upper bound of a 95% confidence interval for an individual predicted value be written to the output data set.\",\"type\":\"standalone\"},{\"name\":\"U95M\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies that the upper bound of a 95% confidence interval for the expected value of the dependent variable be written to the output data set.\",\"type\":\"standalone\"}]},{\"name\":\"RIDGE\",\"description\":\"A RIDGE statement computes the ridge of optimum response.\",\"help\":\"RIDGE &lt;CENTER=uncoded-factor-values&gt;&lt;MAXIMUM&gt;&lt;MINIMUM&gt; ...\",\"arguments\":[{\"name\":\"CENTER=\",\"optional\":true,\"description\":\"Gives the coordinates of the point x0 from which to begin the ridge.\",\"help\":\"CENTER=*uncoded-factor-values*\",\"type\":\"value\"},{\"name\":\"MAXIMUM\",\"optional\":true,\"aliases\":[\"MAX\"],\"description\":\"Computes the ridge of maximum response.\",\"type\":\"standalone\"},{\"name\":\"MINIMUM\",\"optional\":true,\"aliases\":[\"MIN\"],\"description\":\"Computes the ridge of minimum response.\",\"type\":\"standalone\"},{\"name\":\"NOPRINT\",\"optional\":true,\"description\":\"Suppresses the display of the ridge analysis when only an output data set is required.\",\"type\":\"standalone\"},{\"name\":\"OUTR=\",\"optional\":true,\"description\":\"Creates an output SAS data set containing the computed optimum ridge.\",\"help\":\"OUTR=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"RADIUS=\",\"optional\":true,\"description\":\"Gives the distances from the ridge starting point at which to compute the optima. The values in the list represent distances between coded points. The list can take any of the following forms or can be composed of mixtures of them: m1,m2,...,mn specifies several values. m TO n specifies a sequence where m equals the starting value, n equals the ending value, and the increment equals 1.\",\"help\":\"RADIUS=*coded-radii*\",\"type\":\"value\"}]},{\"name\":\"WEIGHT\",\"description\":\"The WEIGHT statement specifies a weight variable in the input data set.\",\"help\":\"WEIGHT variable\"}],\"supportSiteInformation\":{\"docsetId\":\"statug\",\"docsetVersion\":\"latest\",\"docsetTargetFile\":\"statug_rsreg_toc.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/S3.json",
    "content": "{\"name\":\"S3\",\"statements\":[{\"name\":\"PROC S3\",\"description\":\"Specifies the connection parameters for connecting to Amazon S3 or MinIO.\",\"help\":\"PROC S3 <AWSCONFIG=\\\"AWS-CLI-file-path\\\"><CONFIG=\\\"local-configuration-file-path\\\"><PROFILE=\\\"configuration-profile-name\\\"><AWSCREDENTIALS=\\\"AWS-credentials-file-path\\\"><CREDENTIALSPROFILE=\\\"credentials-profile-name\\\"><AUTHDOMAIN=\\\"AWS-authentication-domain\\\"><AUTHSCOPE=\\\"scope-URI\\\"><ROLENAME=\\\"IAM-role-name\\\" | ROLEARN=\\\"IAM-role-ARN\\\"><KEYID=\\\"AWS-key-ID\\\"><SECRET=\\\"AWS-secret\\\"><SESSION=\\\"session-token\\\"><SSL | NOSSL><REGION=AWS-region>;\\n\\tBUCKET \\\"bucket-name\\\"ACCELERATE | NOACCELERATE;\\n\\n\\tCOPY <SRCKEY=\\\"key-name\\\"><ENCKEY=\\\"key-name\\\"><ACL=\\\"canned-ACL-value\\\">\\\"source-s3-location\\\"\\\"destination-s3-location\\\";\\n\\n\\tCREATE \\\"bucket-name\\\";\\n\\n\\tDELETE \\\"s3-location\\\";\\n\\n\\tDESTROY \\\"bucket-name\\\";\\n\\n\\tENCKEY ADD | REPLACENAME=\\\"key-name\\\"ID=\\\"key-ID\\\"\\n\\t\\t<CONTEXT=\\\"key-context\\\">;\\n\\n\\tGET <ENCKEY=\\\"key-name\\\">\\\"s3-location\\\"\\\"local-file-path\\\";\\n\\n\\tGETACCEL \\\"bucket-name\\\";\\n\\n\\tGETDIR <ENCKEY=\\\"key-name\\\">\\\"s3-location\\\"\\\"local-path\\\";\\n\\n\\tINFO <ENCKEY=\\\"key-name\\\">\\\"s3-location\\\";\\n\\n\\tLIST <_SHORT_>\\\"s3-location\\\"<OUT=libref.data-set>;\\n\\n\\tMKDIR <ACL=\\\"canned-ACL-value\\\">\\\"s3-location\\\";\\n\\n\\tPUT <ENCKEY=\\\"key-name\\\"><ACL=\\\"canned-ACL-value\\\">\\\"local-path\\\"\\\"s3-location\\\";\\n\\n\\tPUTDIR <ENCKEY=\\\"key-name\\\"><ACL=\\\"canned-ACL-value\\\">\\\"local-path\\\"\\\"s3-location\\\";\\n\\n\\tREGION ADDHOST=\\\"AWS-server\\\"NAME=\\\"region-name\\\"<PORT=port-value><SSLPORT=SSL-port><SSLALLOWED><SSLREQUIRED><REPLACE>;\\n\\n\\tRMDIR \\\"s3-location\\\";\\nRUN;\",\"arguments\":[{\"name\":\"AUTHDOMAIN=\",\"optional\":true,\"description\":\"specifies an authentication domain to use when you connect to AWS. An authentication domain is typically defined by your administrator. For more information, see .\",\"help\":\"AUTHDOMAIN=\\\"*AWS-authentication-domain*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n07wjb0bsfhs0on1p363qg8jud20\"},{\"name\":\"AUTHSCOPE=\",\"optional\":true,\"description\":\"specifies the Microsoft Azure resource and permissions that are required for authorizing access. Enclose the scope URI value in single or double quotation marks.\",\"help\":\"AUTHSCOPE=\\\"*scope-URI*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0n1za2qivj37zn1mf2cq9p4cboy\"},{\"name\":\"AWSCONFIG=\",\"optional\":true,\"description\":\"specifies the path of the AWS CLI configuration file, called config. This file contains connection parameters to access Amazon S3 or MinIO. If a value is specified in the AWS CLI configuration file and in the PROC S3 configuration file, the value in the AWS CLI file takes precedence.\",\"help\":\"AWSCONFIG=\\\"*AWS-CLI-file-path*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1nfg3n7qjyzofn1pgb66c0tq0wg\"},{\"name\":\"AWSCREDENTIALS=\",\"optional\":true,\"description\":\"specifies the path of the AWS credentials file. This file contains the credentials that are used to access Amazon S3 or MinIO.\",\"help\":\"AWSCREDENTIALS=\\\"*AWS-credentials-file-path*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1l1o61vn321l8n1w6xvt1vmdvby\"},{\"name\":\"CONFIG=\",\"optional\":true,\"description\":\"specifies the path and file name of the PROC S3 configuration file that contains connection parameters to access Amazon S3 or MinIO. If you specify this option, then the specified configuration file is read instead of the default PROC S3 configuration file in the default location.\",\"help\":\"CONFIG=\\\"*local-configuration-file-path*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0hophw0ko5bz1n1nulfdzlo1cgb\"},{\"name\":\"CREDENTIALSPROFILE=\",\"optional\":true,\"description\":\"specifies the name of the profile that contains the credentials that you want to use to access Amazon S3 or MinIO. Sets of credential options are grouped into profiles. If you do not specify the CREDENTIALSPROFILE= option, PROC S3 uses the default profile.\",\"help\":\"CREDENTIALSPROFILE=\\\"*credentials-profile-name*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0purn4esig8vjn1tl2fu3kj88s5\"},{\"name\":\"KEYID=\",\"optional\":true,\"description\":\"specifies the AWS access key ID. This value is a 20-character, alphanumeric string. A sample key ID value is AKIAIOSFODNN7EXAMPLE.\",\"help\":\"KEYID=\\\"*AWS-key-ID*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n134c42oa07i6zn0zj7llz3nnkiz\"},{\"name\":\"PROFILE=\",\"optional\":true,\"description\":\"specifies the profile to use in the AWS CLI file config. Sets of options are grouped into profiles. If you do not specify the PROFILE= option, PROC S3 uses the default profile.\",\"help\":\"PROFILE=\\\"*profile-name*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0pikn61h9fpyin168pnodcdbsll\"},{\"name\":\"REGION=\",\"optional\":true,\"description\":\"specifies the AWS region to connect to. Here are the predefined region values.\",\"help\":\"REGION=\\\"*AWS-region*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n08ya03ojzha7xn1dv9s9lq72k2z\"},{\"name\":\"ROLEARN=\",\"optional\":true,\"description\":\"specifies an Amazon Resource Name (ARN) that identifies an IAM role. The associated IAM role enables you to get access credentials to S3 via the AssumeRole IAM operation.\",\"help\":\"ROLEARN=\\\"*IAM-role-ARN*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0rostgu1ocroyn17b91se2qki79\"},{\"name\":\"ROLENAME=\",\"optional\":true,\"description\":\"specifies an IAM role name that enables you to get access credentials to S3 via the AssumeRole IAM operation.\",\"help\":\"ROLENAME=\\\"*IAM-role-name*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1v48rgh904uatn11oegyvsrc1ei\"},{\"name\":\"SECRET=\",\"optional\":true,\"description\":\"specifies the AWS secret access key. This value is a 40-character string. A sample secret access value is wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY.\",\"help\":\"SECRET=\\\"*AWS-secret*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0lomv33nsu3w0n1ejvgn7hxjv1i\"},{\"name\":\"SESSION=\",\"optional\":true,\"description\":\"specifies the AWS session token. Use this value if you are using temporary AWS security credentials.\",\"help\":\"SESSION=\\\"*session-token*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1tvy4qwg96txln1g4gbenrf6v79\"},{\"name\":\"SSL\",\"optional\":true,\"description\":\"SSL specifies that SSL or TLS should be enabled during data transfer. NOSSL specifies that SSL or TLS should be disabled during data transfer.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1j2gjvczvb0mdn0zpp5fgagcntu\"},{\"name\":\"NOSSL\",\"optional\":true,\"description\":\"SSL specifies that SSL or TLS should be enabled during data transfer. NOSSL specifies that SSL or TLS should be disabled during data transfer.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1j2gjvczvb0mdn0zpp5fgagcntu\"}],\"supportSiteTargetFile\":\"n1volodm4xnj3xn1s99poiemcha2.htm\"},{\"name\":\"BUCKET\",\"description\":\"Sets the acceleration transfer mode for the specified bucket.\",\"help\":\"BUCKET \\\"*bucket-name*\\\"ACCELERATE | NOACCELERATE;\",\"arguments\":[{\"name\":\"bucket-name\",\"placeholder\":true,\"description\":\"specifies the name of the S3 bucket for which you are setting transfer acceleration mode. For more information, see .\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1p1o5xkvb4uxzn1akl99hxy3z8k\"},{\"name\":\"ACCELERATE\",\"description\":\"enables transfer acceleration for the specified bucket.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0qz6rowclqeean174nxscpqq1py\"},{\"name\":\"NOACCELERATE\",\"description\":\"disables transfer acceleration for the specified bucket.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n05zh60fe8f3uhn13pdkaswba5cz\"}],\"supportSiteTargetFile\":\"p0xo2pqzsjggxin1kb33nawbdz6v.htm\"},{\"name\":\"COPY\",\"description\":\"Copies an object from an S3 source location to an S3 destination.\",\"help\":\"COPY &lt;SRCKEY=\\\"*key-name*\\\"&gt;&lt;ENCKEY=\\\"*key-name*\\\"&gt;&lt;ACL=\\\"*canned-ACL-value*\\\"&gt;\\\"*source-s3-location*\\\"\\\"*destination-s3-location*\\\";\",\"arguments\":[{\"name\":\"source-s3-location\",\"placeholder\":true,\"description\":\"specifies the S3 location of the object to be copied. Fully qualify the S3 location from the bucket name to the object name.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p04ne58ouzub1zn1jyw1k4hk5puj\"},{\"name\":\"destination-s3-location\",\"placeholder\":true,\"description\":\"specifies the S3 location to which an object should be copied. Fully qualify the S3 location from the bucket name to the object name.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p18ftceoss3uzzn1h3uyj23p56tk\"},{\"name\":\"ACL=\",\"optional\":true,\"description\":\"specifies a canned ACL value that applies to a newly created object in the destination location.\",\"help\":\"ACL=\\\"*canned-ACL-value*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1laok6vlyg2uxn18x951ztoud02\"},{\"name\":\"ENCKEY=\",\"optional\":true,\"description\":\"specifies an encryption key name that identifies the encryption for the created object. The name must match an encryption key name that you specified in an ENCKEY statement.\",\"help\":\"ENCKEY=\\\"*key-name*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0fyzwrr3394r7n1j7xgrt2if985\"},{\"name\":\"SRCKEY=\",\"optional\":true,\"description\":\"specifies the encryption of the source object. The name must match an encryption key name that you specified in an ENCKEY statement.\",\"help\":\"SRCKEY=\\\"*key-name*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1hncs2gtecdc5n1dq9gkqi5cjfj\"}],\"supportSiteTargetFile\":\"p1kcav6ud2lj5rn1k9uw3hjzb7q8.htm\"},{\"name\":\"CREATE\",\"description\":\"Creates a bucket.\",\"help\":\"CREATE \\\"*bucket-name*\\\";\",\"arguments\":[{\"name\":\"bucket-name\",\"placeholder\":true,\"description\":\"specifies the name of the S3 bucket that you are creating. The name of the S3 bucket that you create must be unique across S3.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0k3np8a9956ncn19r0ozmujsgs3\"}],\"supportSiteTargetFile\":\"p0anozhx4la3gyn1s0hywdehrche.htm\"},{\"name\":\"DELETE\",\"description\":\"Deletes an S3 location or object.\",\"help\":\"DELETE \\\"*s3-location*\\\";\",\"arguments\":[{\"name\":\"s3-location\",\"placeholder\":true,\"description\":\"specifies the S3 location that you are deleting. Fully qualify the S3 location from the bucket name to the object name.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0fimccw0frvdzn1oalq3nfthkj5\"}],\"supportSiteTargetFile\":\"p1ewj46tklgsxvn1085utk4jlsid.htm\"},{\"name\":\"DESTROY\",\"description\":\"Deletes an S3 bucket.\",\"help\":\"DESTROY \\\"*bucket-name*\\\";\",\"arguments\":[{\"name\":\"bucket-name\",\"placeholder\":true,\"description\":\"specifies the name of an S3 bucket that you are deleting. The bucket that you specify must exist in S3 and must be empty.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1pp3wj1itfnzgn1s2rag8rchnie\"}],\"supportSiteTargetFile\":\"n0cqe1u77zwr1jn14v00rtixgh9a.htm\"},{\"name\":\"ENCKEY\",\"description\":\"Specifies the encryption key for an S3 location.\",\"help\":\"Form 1: \\nENCKEY ADD | REPLACENAME=\\\"key-name\\\"ID=\\\"key-ID\\\"<CONTEXT=\\\"key-context\\\">;\\nForm 2: \\nENCKEY ADD | REPLACENAME=\\\"key-name\\\"KEY=\\\"key-string\\\"<ALGORITHM=\\\"S3-encryption-algorithm\\\"><CONTEXT=\\\"key-context\\\">;\\nForm 3: \\nENCKEY ADD | REPLACENAME=\\\"key-name\\\"HEXKEY=\\\"hexadecimal-value\\\"<ALGORITHM=\\\"S3-encryption-algorithm\\\"><CONTEXT=\\\"key-context\\\">;\\nForm 4: \\nENCKEY LIST<NAME=\\\"key-name\\\">;\\nForm 5: \\nENCKEY REMOVENAME=\\\"key-name\\\";\",\"arguments\":[{\"name\":\"ADD\",\"optional\":true,\"description\":\"indicates that you are adding an encryption key.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0aixhet1qn24un1jlfaczvavga8\"},{\"name\":\"ALGORITHM=\",\"optional\":true,\"description\":\"specifies the S3 encryption algorithm that is used in the S3 location.\",\"help\":\"ALGORITHM=\\\"*S3-encryption-algorithm*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1ikryy65zpjfln1j2tf3tqg0g5i\"},{\"name\":\"CONTEXT=\",\"optional\":true,\"description\":\"specifies the key context for the encryption key.\",\"help\":\"CONTEXT=\\\"*key-context*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1kr9z294x8vqtn1s4m8coy1bbbf\"},{\"name\":\"HEXKEY=\",\"optional\":true,\"description\":\"specifies an encryption key in the form of a 64-digit hexadecimal value.\",\"help\":\"HEXKEY=\\\"*hexadecimal-value*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1j45wbt4ublw8n1ohmoxhjycbof\"},{\"name\":\"ID=\",\"optional\":true,\"description\":\"specifies the key ID for the encryption key.\",\"help\":\"ID=\\\"*key-ID*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p15f5kiglbr9a7n18e576h65pz29\"},{\"name\":\"KEY=\",\"optional\":true,\"description\":\"specifies an encryption key as a 32-byte character string.\",\"help\":\"KEY=\\\"*key-string*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1c2ssako81ksgn1f4hz9ba2p2ol\"},{\"name\":\"LIST\",\"optional\":true,\"description\":\"requests a list of defined encryption keys.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0j4hd9hq9fl4mn11m69r0bgdoo3\"},{\"name\":\"NAME=\",\"optional\":true,\"description\":\"specifies the encryption key name. This is a user-friendly name that you can use to refer to an encryption key. The value is case insensitive.\",\"help\":\"NAME=\\\"*key-name*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n06ar2zwflxyrrn1t8c774f4d56f\"},{\"name\":\"REMOVE\",\"optional\":true,\"description\":\"removes an encryption key from the list of defined keys.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1glbsd8qchy27n1qnh77atsvwsx\"},{\"name\":\"REPLACE\",\"optional\":true,\"description\":\"specifies that the existing encryption key should be replaced. If not set, any attempt to redefine an encryption key fails.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0rj2wv285qv2yn1l8ef7mfe9x5j\"}],\"supportSiteTargetFile\":\"p1jazfgokrxoy5n1w0occsip58kp.htm\"},{\"name\":\"GET\",\"description\":\"Retrieves an S3 object.\",\"help\":\"GET &lt;ENCKEY=\\\"*key-name*\\\"&gt;\\\"*s3-location*\\\"\\\"*local-file-path*\\\";\",\"arguments\":[{\"name\":\"s3-location\",\"placeholder\":true,\"description\":\"specifies the name of an S3 object to retrieve. Fully qualify the location from the bucket name to the object name.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0g02uw1j1busrn10rr57lvjctu9\"},{\"name\":\"local-file-path\",\"placeholder\":true,\"description\":\"specifies a local file in which to store the object. For example, you might set this value to /u/$USER/myfile.txt.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n00njw4up1mqbun1eztuista7iv1\"},{\"name\":\"ENCKEY=\",\"optional\":true,\"description\":\"specifies an encryption key name that identifies the encryption to use during data retrieval. The name must match an encryption key name that you specified in an ENCKEY statement. The name must also correspond to the encryption key that was used when the object was created in the S3 environment. Otherwise, S3 returns an error.\",\"help\":\"ENCKEY=\\\"*key-name*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0xq0t3j99fwoon12ya873b5cyol\"}],\"supportSiteTargetFile\":\"n050105x6qedwqn1v4nywrmqttkb.htm\"},{\"name\":\"GETACCEL\",\"description\":\"Retrieves the transfer acceleration status for a bucket.\",\"help\":\"GETACCEL \\\"*bucket-name*\\\";\",\"arguments\":[{\"name\":\"bucket-name\",\"placeholder\":true,\"description\":\"specifies the name of an S3 bucket for which you want the transfer acceleration status. For more information, see .\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1lnh0tghm6nxen1dir19jwjoyx6\"}],\"supportSiteTargetFile\":\"n1lhat72ybmouwn1554f13zuyjpl.htm\"},{\"name\":\"GETDIR\",\"description\":\"Retrieves the contents of an S3 directory.\",\"help\":\"GETDIR &lt;ENCKEY=\\\"*key-name*\\\"&gt;\\\"*s3-location*\\\"\\\"*local-path*\\\";\",\"arguments\":[{\"name\":\"s3-location\",\"placeholder\":true,\"description\":\"specifies the name of an S3 directory to retrieve. Fully qualify the location from the bucket name to the directory.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0wefcg58pc29bn1tdjqxj7tuvz7\"},{\"name\":\"local-path\",\"placeholder\":true,\"description\":\"specifies a directory that is local to the SAS client. For example, you might set this value to /u/$USER/.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1crkix9scqn81n1o7vorkj7r8ez\"},{\"name\":\"ENCKEY=\",\"optional\":true,\"description\":\"specifies an encryption key name that identifies the encryption to use during data retrieval. The name must match an encryption key name that you specified in an ENCKEY statement.\",\"help\":\"ENCKEY=\\\"*key-name*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1x93errcg502gn1vthiregr6asr\"}],\"supportSiteTargetFile\":\"n0r6ek4m4fhbumn12nxaocyyyy8m.htm\"},{\"name\":\"INFO\",\"description\":\"Requests information in the SAS log about an S3 location.\",\"help\":\"INFO &lt;ENCKEY=\\\"*key-name*\\\"&gt;\\\"*s3-location*\\\";\",\"arguments\":[{\"name\":\"s3-location\",\"placeholder\":true,\"description\":\"specifies a fully qualified path from the bucket name to the object name.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n00g42lic2lnwnn13md9r3u3tidu\"},{\"name\":\"ENCKEY=\",\"optional\":true,\"description\":\"specifies an encryption key name. The name must match an encryption key name that you specified in an ENCKEY statement.\",\"help\":\"ENCKEY=\\\"*key-name*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1e4qeef30458bn1syoj2mtu6u1u\"}],\"supportSiteTargetFile\":\"p1bfdwilgxkbs8n1raju65kd5340.htm\"},{\"name\":\"LIST\",\"description\":\"Requests information in the SAS log about the contents of an S3 location.\",\"help\":\"LIST &lt;_SHORT_&gt;\\\"*s3-location*\\\"&lt;OUT=*libref.data-set* | \\\"*/path/to/output-file*\\\"&gt;;\",\"arguments\":[{\"name\":\"s3-location\",\"placeholder\":true,\"description\":\"specifies a fully qualified path from the bucket name to the object name. The object that you specify is typically a container, such as a bucket or a directory.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0xlzakr5pq8ypn1pt1pwxqn7wdx\"},{\"name\":\"_SHORT_\",\"optional\":true,\"description\":\"specifies that you want a list of object names only.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0uk0mqzxdggern1d5bcl4lvbr8h\"},{\"name\":\"OUT=\",\"optional\":true,\"description\":\"specifies a data set or file location that contains the output of the LIST statement.\",\"help\":\"OUT=*libref.data-set* | \\\"*/path/to/output-file*\\\"\",\"type\":\"choice\",\"arguments\":[{\"name\":\"libref.data-set\",\"placeholder\":true,\"type\":\"dataSet\"},{\"name\":\"\\\"/path/to/output-file\\\"\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"n0gifc8bxc4q6in1nm68a3p8a0w5\"}],\"supportSiteTargetFile\":\"n0ktw9ye6l1rudn13mx0ftjogqst.htm\"},{\"name\":\"MKDIR\",\"description\":\"Specifies a directory to create in an S3 location.\",\"help\":\"MKDIR &lt;ACL=\\\"*canned-ACL-value*\\\"&gt;\\\"*s3-location*\\\";\",\"arguments\":[{\"name\":\"s3-location\",\"placeholder\":true,\"description\":\"specifies a fully qualified path from the bucket name to the directory name that you want to create.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0ue9ygr4cg3kon1u608rwjia5dr\"},{\"name\":\"ACL=\",\"optional\":true,\"description\":\"specifies a canned ACL value that applies to newly created objects in the specified directory.\",\"help\":\"ACL=\\\"*canned-ACL-value*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1p67rilwo1uznn18w2krjuj5sta\"}],\"supportSiteTargetFile\":\"n0mqiqmhh7f9osn1to6pijb22g1n.htm\"},{\"name\":\"PUT\",\"description\":\"Specifies a local object to write to an S3 location.\",\"help\":\"PUT &lt;ENCKEY=\\\"*key-name*\\\"&gt;&lt;ACL=\\\"*canned-ACL-value*\\\"&gt;\\\"*local-path*\\\"\\\"*s3-location*\\\";\",\"arguments\":[{\"name\":\"local-path\",\"placeholder\":true,\"description\":\"specifies a file or directory that is local to the SAS client.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1apb52uasdw3fn1j1u68ysdrhza\"},{\"name\":\"s3-location\",\"placeholder\":true,\"description\":\"specifies a location in S3. Fully qualify the path from the bucket name to the object name.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0t3043bq1xqiln0z3tcz7iqy3ix\"},{\"name\":\"ACL=\",\"optional\":true,\"description\":\"specifies a canned ACL value that applies to a new object in the specified S3 location.\",\"help\":\"ACL=\\\"*canned-ACL-value*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0o8xj5zmvdlffn1944tw7imumwb\"},{\"name\":\"ENCKEY=\",\"optional\":true,\"description\":\"specifies an encryption key name that identifies the encryption to use when storing data in S3. The name must match an encryption key name that you specified in an ENCKEY statement.\",\"help\":\"ENCKEY=\\\"*key-name*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1x0mmtpxhdjwen1qlpllv7di8bz\"}],\"supportSiteTargetFile\":\"p0weas06l5ipb3n10c1an14pokm9.htm\"},{\"name\":\"PUTDIR\",\"description\":\"Specifies a local directory to write to an S3 location.\",\"help\":\"PUTDIR &lt;ENCKEY=\\\"*key-name*\\\"&gt;&lt;ACL=\\\"*canned-ACL-value*\\\"&gt;\\\"*local-path*\\\"\\\"*s3-location*\\\";\",\"arguments\":[{\"name\":\"local-path\",\"placeholder\":true,\"description\":\"specifies a directory that is local to the SAS client.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1wewj3h9um7xxn1cpy3o8hbeqb7\"},{\"name\":\"s3-location\",\"placeholder\":true,\"description\":\"specifies a location in S3. Fully qualify the path from the bucket name to the object name.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p02w053xpf1evnn1hs652pfs8wax\"},{\"name\":\"ACL=\",\"optional\":true,\"description\":\"specifies a canned ACL value that applies to an object in the specified S3 location.\",\"help\":\"ACL=\\\"*canned-ACL-value*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n18d7glu2ofqbvn19evzkivpsmpe\"},{\"name\":\"ENCKEY=\",\"optional\":true,\"description\":\"specifies an encryption key name that identifies the encryption to use when writing to S3. The name must match an encryption key name that you specified in an ENCKEY statement.\",\"help\":\"ENCKEY=\\\"*key-name*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1e2e0vh18m6r2n1cbc1nxtmzv1c\"}],\"supportSiteTargetFile\":\"p17j6vuhfwti19n14b2shiq96xhx.htm\"},{\"name\":\"REGION\",\"description\":\"Enables you to add, list, or remove custom regions.\",\"help\":\"Form 1: \\nREGION ADDHOST=\\\"AWS-server\\\"<REGION=\\\"AWS-region-value\\\">NAME=\\\"region-name\\\"<PORT=port-value><SSLPORT=SSL-port><SSLALLOWED><SSLREQUIRED><REPLACE>;\\nForm 2: \\nREGION LIST;\\nForm 3: \\nREGION REMOVENAME=\\\"region-name\\\";\",\"arguments\":[{\"name\":\"ADD\",\"description\":\"specifies that you are adding a custom region for the S3 environment.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n12vw7wbql793yn1n9r0y1xomxmx\"},{\"name\":\"HOST=\",\"description\":\"specifies the server that PROC S3 connects to on AWS.\",\"help\":\"HOST=\\\"*AWS-server*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1mi2ax5khh4k6n1oyqx0l5sdra6\"},{\"name\":\"NAME=\",\"description\":\"specifies a unique name for the region that you are adding or removing.\",\"help\":\"NAME=\\\"*region-name*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0i147golexn2zn18mnbbuweohhn\"},{\"name\":\"LIST\",\"description\":\"requests a list of all defined S3 regions.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n01v2woshh4siqn1qverd62ew96r\"},{\"name\":\"REMOVE\",\"description\":\"specifies to remove the region that you identify with the NAME= option.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0b3xv0zxpkkpxn1je4w8nmec6ov\"},{\"name\":\"PORT=\",\"optional\":true,\"description\":\"specifies the HTTP port value to use to connect to S3 without SSL.\",\"help\":\"PORT=*port-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1g0tbpqoj9xrqn1ir2948j2a0ws\"},{\"name\":\"REGION=\",\"optional\":true,\"description\":\"specifies the region code for the region that you are adding or replacing.\",\"help\":\"REGION=\\\"*AWS-region-code*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1iu4wc4y7y56dn1v1u5hthnjv51\"},{\"name\":\"REPLACE\",\"optional\":true,\"description\":\"indicates that a custom region should be added and should overwrite a region of the same name, if it exists.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1ief1fnm750vbn1vnkjqcoer3cp\"},{\"name\":\"SSLALLOWED\",\"optional\":true,\"description\":\"indicates that SSL is allowed when communicating with the S3 environment.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1i7fc3q5pcn9cn1f55sd5s6iuv5\"},{\"name\":\"SSLPORT=\",\"optional\":true,\"description\":\"specifies the HTTP port value to use to connect to S3 with SSL.\",\"help\":\"SSLPORT=*SSL-port*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0o7mqzw0b2b40n1v6ap5rwugqe5\"},{\"name\":\"SSLREQUIRED\",\"optional\":true,\"description\":\"indicates that all communications with the S3 environment must be made using SSL.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1nenzk5r1db0on1kj721vlaclmw\"}],\"supportSiteTargetFile\":\"p04qps86kvhp0in12g3jy96hm97x.htm\"},{\"name\":\"RMDIR\",\"description\":\"Specifies a directory to delete from an S3 location.\",\"help\":\"RMDIR \\\"*s3-location*\\\";\",\"arguments\":[{\"name\":\"s3-location\",\"placeholder\":true,\"description\":\"specifies a directory in S3. Fully qualify the path from the bucket name to the directory name. The directory that you specify must be empty.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0bgb0q6gh1aq2n1jikc3phv02ai\"}],\"supportSiteTargetFile\":\"n0bf3uuikq2o71n0zad12w8rio6h.htm\"}],\"supportSiteInformation\":{\"docsetId\":\"proc\",\"docsetVersion\":\"v_002\",\"docsetTargetFile\":\"n1h9c1jnr8v8nwn1l6g83kyne5ds.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/SANDWICH.json",
    "content": "{\"name\":\"SANDWICH\",\"statements\":[{\"name\":\"PROC SANDWICH\",\"description\":\"invokes the SANDWICH procedure\",\"help\":\"PROC SANDWICH <options>;                 \\n\\tBY  variables;                 \\n\\n\\tCLASS  variable <(options)>...<variable <(options)>></ global-options>;                 \\n\\n\\tCLUSTER  variables;                 \\n\\n\\tDISPLAY <table-list></ options>;                 \\n\\n\\tDISPLAYOUT  table-spec-list </ options>;                 \\n\\n\\tFREQ  variable;                 \\n\\n\\tMODEL dependent=<effects> / <model-options>;                 \\n\\n\\tWEIGHT  variable;                 \\n\",\"arguments\":[{\"name\":\"DATA=\",\"optional\":true,\"description\":\"names the input data table for PROC SANDWICH to use\",\"help\":\"DATA=*libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"SPARSE\",\"optional\":true,\"description\":\"invokes the sparse matrix techniques in the analytic computations\",\"type\":\"standalone\"}]},{\"name\":\"BY\",\"description\":\"produces separate analyses of observations in groups that are defined by the BY variables\",\"help\":\"BY  variables;                                              \"},{\"name\":\"CLASS\",\"description\":\"names the classification variables to be used as explanatory variables in the analysis\",\"help\":\"CLASS  variable &lt;(options)&gt;...&lt;variable &lt;(options)&gt;&gt;&lt;/ global-options&gt;;                                              \",\"arguments\":[{\"name\":\"DESCENDING\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"reverses the sort order\",\"type\":\"standalone\"},{\"name\":\"MISSING\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"treats missing values as valid levels\",\"type\":\"standalone\"},{\"name\":\"ORDER=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the sort order for the levels\",\"help\":\"ORDER=FORMATTED  |  FREQ  |  INTERNAL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"FORMATTED\",\"followsDelimiter\":\"/\",\"description\":\"external formatted values\",\"type\":\"standalone\"},{\"name\":\"FREQ\",\"followsDelimiter\":\"/\",\"description\":\"descending frequency count\",\"type\":\"standalone\"},{\"name\":\"INTERNAL\",\"followsDelimiter\":\"/\",\"description\":\"unformatted value\",\"type\":\"standalone\"}]},{\"name\":\"PARAM=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the parameterization of the variable\",\"help\":\"PARAM=keyword\",\"type\":\"value\",\"arguments\":[{\"name\":\"EFFECT\",\"followsDelimiter\":\"/\",\"description\":\"Effect coding\",\"type\":\"standalone\"},{\"name\":\"GLM\",\"followsDelimiter\":\"/\",\"description\":\"Less-than-full-rank reference cell coding (global-option only)\",\"type\":\"standalone\"},{\"name\":\"ORDINAL\",\"followsDelimiter\":\"/\",\"description\":\"Cumulative parameterization for an ordinal CLASS variable\",\"type\":\"standalone\"},{\"name\":\"POLYNOMIAL\",\"followsDelimiter\":\"/\",\"description\":\"Polynomial coding\",\"type\":\"standalone\"},{\"name\":\"REFERENCE\",\"followsDelimiter\":\"/\",\"description\":\"Reference cell coding\",\"type\":\"standalone\"},{\"name\":\"ORTHORDINAL\",\"followsDelimiter\":\"/\",\"description\":\"Orthogonalizes PARAM=ORDINAL coding\",\"type\":\"standalone\"},{\"name\":\"ORTHPOLY\",\"followsDelimiter\":\"/\",\"description\":\"Orthogonalizes PARAM=POLYNOMIAL coding\",\"type\":\"standalone\"},{\"name\":\"ORTHREF\",\"followsDelimiter\":\"/\",\"description\":\"Orthogonalizes PARAM=REFERENCE coding\",\"type\":\"standalone\"}]},{\"name\":\"REF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the reference level of the variable\",\"help\":\"REF=FIRST | LAST | *'level'*\",\"type\":\"value\",\"arguments\":[{\"name\":\"'level'\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the level of the variable to use as the reference level.\",\"type\":\"value\"},{\"name\":\"FIRST\",\"followsDelimiter\":\"/\",\"description\":\"designates the first ordered level as the reference\",\"type\":\"standalone\"},{\"name\":\"LAST\",\"followsDelimiter\":\"/\",\"description\":\"designates the last ordered level as reference\",\"type\":\"standalone\"}]},{\"name\":\"SPLIT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"splits levels of CLASS variables into independent effects\",\"type\":\"standalone\"}]},{\"name\":\"CLUSTER\",\"description\":\"specifies one or more variables in the DATA= input data table that identify the clusters\",\"help\":\"CLUSTER  variables;                                              \"},{\"name\":\"DISPLAY\",\"description\":\"enables you to specify a list of display tables to display or exclude\",\"help\":\"DISPLAY &lt;table-list&gt;&lt;/ options&gt;;                                              \",\"arguments\":[{\"name\":\"CASESENSITIVE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"performs a case-sensitive comparison of table names in the table-list to display table names when tables are subsetted for display\",\"type\":\"standalone\"},{\"name\":\"EXCLUDE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"displays all display tables except those that you specify in the table-list\",\"type\":\"standalone\"},{\"name\":\"EXCLUDEALL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses display of all tables\",\"type\":\"standalone\"},{\"name\":\"TRACE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"displays the display table names, labels, and paths\",\"type\":\"standalone\"}]},{\"name\":\"DISPLAYOUT\",\"description\":\"enables you to create output tables from your displayed output\",\"help\":\"DISPLAYOUT  table-spec-list </ options>;                                              \\ntable-spec-list specifies a list of output tables in key=value or key format                     \\nkey=value specifies key as the ODS table name, path, or partial pathname, and value as the output table name                     \\nkey is the ODS table name and the output table name                     \",\"arguments\":[{\"name\":\"INCLUDEALL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"creates output tables for all display tables\",\"type\":\"standalone\"},{\"name\":\"NOREPLACE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"does not replace any existing output table of the same name\",\"type\":\"standalone\"},{\"name\":\"REPEATED\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"replicates all output tables on all nodes\",\"type\":\"standalone\"}]},{\"name\":\"FREQ\",\"description\":\"identifies a numeric variable in the input data table that contains the frequency of occurrence of each observation\",\"help\":\"FREQ  variable;                                              \"},{\"name\":\"MODEL\",\"description\":\"names the dependent variable and the explanatory effects, including covariates, main effects, interactions, and nested effects\",\"help\":\"MODEL dependent=<effects> / <model-options>;                                              \\ndependent is the dependent variable                     \",\"arguments\":[{\"name\":\"dependent\",\"placeholder\":true,\"description\":\"specifies the dependent (response) variable\",\"type\":\"value\"},{\"name\":\"NOINT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies to suppress the intercept term that is otherwise included in the model\",\"type\":\"standalone\"},{\"name\":\"SS3\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies to display a \\\"Model Anova\\\" table that contains tests that are computed by using Type III sums of squares for each effect\",\"type\":\"standalone\"},{\"name\":\"effects\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the explanatory effects\",\"type\":\"value\"}]},{\"name\":\"WEIGHT\",\"description\":\"variable is used to weight each observation to perform a weighted analysis of the data\",\"help\":\"WEIGHT  variable;                                              \"}],\"supportSiteInformation\":{\"docsetId\":\"casstat\",\"docsetVersion\":\"latest\",\"docsetTargetFile\":\"casstat_sandwich_toc.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/SCAPROC.json",
    "content": "{\"name\":\"SCAPROC\",\"statements\":[{\"name\":\"PROC SCAPROC\",\"description\":\"Specifies that SAS will run the SAS Code Analyzer with your SAS job.\",\"help\":\"PROC SCAPROC ;  \\n\\tRECORD  filespec<ATTR><OPENTIMES><INTCON><EXPANDMACROS>\\n\\t\\t<GRID filespec <RESOURCE \\\"resource name\\\"> <INHERITLIB> <NOOPTIMIZE> >;\\n\\tWRITE ;\",\"supportSiteTargetFile\":\"n0pbvhhaw4f7f7n1ukrvacsgulx1.htm\"},{\"name\":\"RECORD\",\"description\":\"Specifies a filename or a fileref to contain the output of the SAS Code Analyzer.\",\"help\":\"RECORD  filespec<ATTR><OPENTIMES><INTCON><EXPANDMACROS>\\n<GRID filespec \\n ><RESOURCE \\\"resource name\\\"><INHERITLIB><NOOPTIMIZE> ;\",\"arguments\":[{\"name\":\"filespec\",\"placeholder\":true,\"description\":\"specifies a physical filename in quotation marks, or a fileref, that indicates a file to contain the output of the SAS Code Analyzer. The output is the original SAS source and comments that contain information about the job. For more information about the output comments, see .\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0tcrqwsdybmg8n1507ekfqhnnks\"},{\"name\":\"ATTR\",\"optional\":true,\"description\":\"writes additional information about the variables in the input data sets and views.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1e8ez47ra5y9fn1d9cgrjxouvng\"},{\"name\":\"OPENTIMES\",\"optional\":true,\"description\":\"writes the open time, size, and physical filename of the input data sets.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1ke5btekf62gxn1jfo46ba85xaq\"},{\"name\":\"INTCON\",\"optional\":true,\"description\":\"outputs information about table integrity constraints.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1jwo3nlj8pbyhn1ooklvormdtn9\"},{\"name\":\"EXPANDMACROS\",\"optional\":true,\"description\":\"expands macro invocations into separate tasks.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1lu7e9duev53tn1vf5ajjhcd2o9\"},{\"name\":\"GRID\",\"optional\":true,\"description\":\"\",\"type\":\"standalone\",\"arguments\":[{\"name\":\"filespec\",\"placeholder\":true,\"description\":\"specifies a physical filename in quotation marks, or a fileref, that points to a file that will contain the output of the Grid Job Generator.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0uxr51qemwbxhn13tfeqw3rjf15\"}],\"supportSiteTargetFragment\":\"n19yigwc3oqnhmn1xwjy7ghqc9zd\"},{\"name\":\"RESOURCE\",\"optional\":true,\"description\":\"specifies the resource to use in the grdsvs_enable function call. The default is SASApp.\",\"help\":\"RESOURCE “*resource name*”\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1pvil4ah6489yn1wsnxvtfga8ue\"},{\"name\":\"INHERITLIB\",\"optional\":true,\"description\":\"adds INHERITLIB=(USER) to the SIGNON statements in the grid-enabled job. By default, the user library (if one is specified) is assigned in each remote session.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0pzj4akrf3x3xn1mgmirwl4rd7n\"},{\"name\":\"NOOPTIMIZE\",\"optional\":true,\"description\":\"disables the combining and reordering of tasks for grid-enabled jobs.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0338pceba753hn11we39323yqpo\"}],\"supportSiteTargetFile\":\"p0gabhmxvxo0n8n1w0h86si0pymi.htm\"},{\"name\":\"WRITE\",\"description\":\"Specifies output information to the record file.\",\"help\":\"WRITE ;\",\"supportSiteTargetFile\":\"n1090x47f1z6hin1v999kwlgmay5.htm\"}],\"supportSiteInformation\":{\"docsetId\":\"proc\",\"docsetVersion\":\"v_002\",\"docsetTargetFile\":\"n05aazp6jtoup0n1qjee3h7jto24.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/SCORE.json",
    "content": "{\"name\":\"SCORE\",\"statements\":[{\"name\":\"PROC SCORE\",\"description\":\"The SCORE procedure multiplies values from two SAS data sets, one containing coefficients (for example, factor-scoring coefficients or regression coefficients) and the other containing raw data to be scored using the coefficients from the first data set.\",\"help\":\"PROC SCORE <DATA=SAS-data-set><NOSTD><OUT=SAS-data-set><PREDICT><RESIDUAL><SCORE=SAS-data-set><TYPE=name or ‘string’>;     \\n\\tBY <DESCENDING><NOTSORTED> ;\\n\\n\\tID variables ;\\n\\n\\tVAR variables ;\\n\",\"arguments\":[{\"name\":\"DATA=\",\"optional\":true,\"description\":\"Names the input SAS data set containing the raw data to score. This option is required.\",\"help\":\"DATA=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"NOSTD\",\"optional\":true,\"description\":\"Suppresses centering and scaling of the raw data.\",\"type\":\"standalone\"},{\"name\":\"OUT=\",\"optional\":true,\"description\":\"Specifies the name of the SAS data set created by PROC SCORE. If you want to create a permanent SAS data set, you must specify a two-level name.\",\"help\":\"OUT=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"PREDICT\",\"optional\":true,\"description\":\"Specifies that PROC SCORE should treat coefficients of -1 in the SCORE= data set as 0.\",\"type\":\"standalone\"},{\"name\":\"RESIDUAL\",\"optional\":true,\"description\":\"Reverses the sign of each score. Applied directly to regression results, PROC SCORE produces negative residuals (PREDICTACTUAL); the RESIDUAL option produces positive residuals (ACTUALPREDICT) instead.\",\"type\":\"standalone\"},{\"name\":\"SCORE=\",\"optional\":true,\"description\":\"Names the data set containing the scoring coefficients.\",\"help\":\"SCORE=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"TYPE=\",\"optional\":true,\"description\":\"Specifies the observations in the SCORE= data set that contain scoring coefficients.\",\"type\":\"value\"}]},{\"name\":\"BY\",\"description\":\"Obtains separate analyses on observations in groups defined by the BY variables.\",\"help\":\"BY &lt;DESCENDING&gt;&lt;NOTSORTED&gt;\",\"arguments\":[{\"name\":\"DESCENDING\",\"optional\":true,\"description\":\"Specifies that the observations are sorted in descending order by the variable that immediately follows the word DESCENDING in the BY statement.\",\"type\":\"standalone\"},{\"name\":\"NOTSORTED\",\"optional\":true,\"description\":\"Specifies that observations are not necessarily sorted in alphabetic or numeric order.\",\"type\":\"standalone\"}]},{\"name\":\"ID\",\"description\":\"The ID statement identifies variables from the DATA= data set to be included in the OUT= data set. If there is no ID statement, all variables from the DATA= data set are included in the OUT= data set. The ID variables can be character or numeric.\",\"help\":\"ID variables \"},{\"name\":\"VAR\",\"description\":\"The VAR statement specifies the variables to be used in computing scores. These variables must be in both the DATA= and SCORE= input data sets and must be numeric. If you do not specify a VAR statement, the procedure uses all numeric variables in the SCORE= data set.\",\"help\":\"VAR variables \"}],\"supportSiteInformation\":{\"docsetId\":\"statug\",\"docsetVersion\":\"latest\",\"docsetTargetFile\":\"statug_score_toc.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/SCOREACCEL.json",
    "content": "{\"name\":\"SCOREACCEL\",\"statements\":[{\"name\":\"PROC SCOREACCEL\",\"description\":\"Publishes, executes, or deletes a model in CAS or an external data source.\",\"help\":\"PROC SCOREACCEL <optional-argument>;\\n\\tPUBLISHMODEL required-arguments<publish-model-optional-arguments>;\\n\\n\\tRUNMODEL required-arguments<run-model-optional-arguments>;\\n\\n\\tDELETEMODEL required-arguments<delete-model-optional-arguments>;\\n\",\"arguments\":[{\"name\":\"SESSREF=\",\"optional\":true,\"description\":\"specifies the name of a CAS session or the universally unique identifier (UUID) of an existing CAS session to which you want to connect. If no option is specified, the automatic CAS session, CASAUTO, is used.\",\"help\":\"SESSREF=*session-reference* |  SESSUUID=\\\"*session-uuid*\\\"\",\"type\":\"choice\",\"arguments\":[{\"name\":\"SESSREF=\",\"description\":\"specifies the name of a CAS session to which you want to connect.\",\"help\":\"SESSREF=*session-reference*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0nx6nqczi10ehn1m7awq0bm5lrw\"},{\"name\":\"SESSUUID=\",\"description\":\"specifies the universally unique identifier (UUID) of an existing CAS session. You must obtain the SESSUUID from the existing session before you can specify it in this option. The engine connects to the session that is identified in the UUID.\",\"help\":\"SESSUUID=\\\"*session-uuid*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1sn7mztg1mw36n1htnbysnz6ams\"}],\"supportSiteTargetFragment\":\"p0c1zrzum2wqc0n131bios6cj5vn\"}],\"supportSiteTargetFile\":\"p1vd98jpf7dve8n1t5q5n7fhn36c.htm\"},{\"name\":\"DELETEMODEL\",\"description\":\"Deletes a model from CAS or an external data source.\",\"help\":\"DELETEMODEL \\nCASLIB=\\\"caslib\\\"\\nMODELNAME=\\\"model-name\\\"\\nMODELTABLE=\\\"model-table\\\" | \\n                     \\\"caslib.model-table\\\" | \\\"schema.model-table\\\"\\n<delete-model-optional-arguments>;\",\"arguments\":[{\"name\":\"CASLIB=\",\"description\":\"specifies the name of the caslib that is associated with the data source where the model is published.\",\"help\":\"CASLIB=\\\"*casref*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0qdw3u5156jf3n17k887ovrmqom\"},{\"name\":\"MODELNAME=\",\"aliases\":[\"MODEL=\"],\"description\":\"specifies the name of the model to be deleted.\",\"help\":\"MODELNAME=\\\"*model-name*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0rchiqyun7l5un1adycgqebfmvh\"},{\"name\":\"MODELTABLE=\",\"description\":\"specifies the name of the table that contains the model to be deleted when deleting a model from CAS or Teradata.\",\"help\":\"MODELTABLE=\\\"*model-table*\\\" | \\\"*caslib.model-table*\\\" | \\\"*schema.model-table*\\\"\",\"type\":\"choice\",\"arguments\":[{\"name\":\"\\\"model-table\\\"\",\"placeholder\":true,\"type\":\"dataSet\"},{\"name\":\"\\\"caslib.model-table\\\"\",\"placeholder\":true,\"type\":\"dataSet\"},{\"name\":\"\\\"schema.model-table\\\"\",\"placeholder\":true,\"type\":\"dataSet\"}],\"supportSiteTargetFragment\":\"p1ply6svtx48imn1qtj96eqvnbga\"},{\"name\":\"AUTHDOMAIN=\",\"optional\":true,\"description\":\"specifies the name of the authentication domain that contains the credentials (user name and password) that are used to access Teradata.\",\"help\":\"AUTHDOMAIN=\\\"*authentication-domain*\\\" \",\"type\":\"value\",\"supportSiteTargetFragment\":\"n00gxrul9onyhjn14jd4i4qac6rm\"},{\"name\":\"AUTHTOKEN=\",\"optional\":true,\"description\":\"specifies the authentication token that is used to establish a connection with a Spark cluster.\",\"help\":\"AUTHTOKEN=\\\"*authentication-token*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0sd2isgd8tzw4n10ct0n88gwxm9\"},{\"name\":\"CLASSPATH=\",\"optional\":true,\"description\":\"specifies the class path used in the Hadoop call context. The class path can be a folder or individual JAR files. The Hadoop configuration folder must be included in the class path.\",\"help\":\"CLASSPATH=\\\"*class_path*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1qy9lqyso51unn1lwy5ztup4q9t\"},{\"name\":\"CLUSTERID=\",\"optional\":true,\"description\":\"specifies the identifier of the Spark cluster.\",\"help\":\"CLUSTERID=\\\"*cluster-id*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0qtkdk8n3lc2hn1py8vst6hjedh\"},{\"name\":\"DATABASE=\",\"optional\":true,\"description\":\"specifies the name of the database.\",\"help\":\"DATABASE=\\\"*database-name*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p120simq5j2to5n1giz0p5cqazbs\"},{\"name\":\"DELETEGLOBAL=\",\"optional\":true,\"description\":\"specifies whether the model is deleted from a global model table in CAS.\",\"help\":\"DELETEGLOBAL=TRUE | FALSE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"TRUE\",\"aliases\":[\"YES\"],\"description\":\"deletes the model from the global model table.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0sekcrcy90hxbn1mw87l0m5guui\"},{\"name\":\"FALSE\",\"aliases\":[\"NO\"],\"description\":\"deletes the model from the model table in the local CAS session, leaving the global table unaltered.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1fe1no97rattwn1m3jv5h3ivhbv\"}],\"supportSiteTargetFragment\":\"n1dtn9a0uh4njrn12lt2hk06uu6v\"},{\"name\":\"EXTTYPE=\",\"optional\":true,\"aliases\":[\"TARGET=\"],\"description\":\"specifies the target environment to which the model is to be deleted.\",\"help\":\"EXTTYPE=CAS | DATABRICKS | FILESYSTEM | HADOOP | SINGLESTORE | SYNAPSE | TERADATA\",\"type\":\"choice\",\"arguments\":[{\"name\":\"CAS\",\"description\":\"specifies to delete the model from a model table in CAS.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p03rhibwqoay4cn17br5wp8zpyc7\"},{\"name\":\"DATABRICKS\",\"description\":\"specifies to delete the model from Databricks.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0gm4jmrf2nfiwn1xowu0n29wavq\"},{\"name\":\"FILESYSTEM\",\"description\":\"specifies to delete the model from a cloud-based file system. FILESYSTEM supports Microsoft Azure Data Lake Storage Gen2 (ADLS) and Amazon S3.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1m992v6ehvl79n1qja6panoabdw\"},{\"name\":\"HADOOP\",\"description\":\"specifies to delete the model from the Hadoop server.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p03e0ebj9a0d7zn16ee7foatp0p1\"},{\"name\":\"SINGLESTORE\",\"description\":\"specifies to delete the model from the SingleStore cluster. This value is supported as of 2023.05.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0xkxbjwzg7q0fn1ia90cqv1b944\"},{\"name\":\"SYNAPSE\",\"description\":\"specifies to delete the model from Azure Synapse. This value is supported as of 2023.12 to delete a model that was published to an SQL Server table.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n07muvprymsb39n1mzor3m2s02lv\"},{\"name\":\"TERADATA\",\"description\":\"specifies to delete the model from a model table in the Teradata database.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p13a2morl60i2un1k1x0zpn59fw0\"}],\"supportSiteTargetFragment\":\"p0s5el7e8893w3n112q55q6n2xol\"},{\"name\":\"MODELDATABASE=\",\"optional\":true,\"description\":\"specifies the database where the model is stored.\",\"help\":\"MODELDATABASE=\\\"*model-database*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1io117mhrovzin1brhjnmr66xso\"},{\"name\":\"MODELDIR=\",\"optional\":true,\"description\":\"specifies the root folder where the model directory is stored.\",\"help\":\"MODELDIR=\\\"*model-directory*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0mfpgdi1u16tan1o5ax1hid5tlj\"},{\"name\":\"MODELSCHEMA=\",\"optional\":true,\"description\":\"specifies the schema for the stored model.\",\"help\":\"MODELSCHEMA=\\\"*model-schema*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1s3dnd8hyowe2n12y5qjk4lyyed\"},{\"name\":\"PASSWORD=\",\"optional\":true,\"aliases\":[\"PASS=\",\"PASSWD=\",\"PWD=\"],\"description\":\"is the password for the user ID on ADLS, the Hadoop server, or the Teradata server. On ADLS this is value known as the secret.\",\"help\":\"PASSWORD=\\\"*password*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1advdivfjtusgn16qkqtu94r0jc\"},{\"name\":\"PERSISTTABLE=\",\"optional\":true,\"description\":\"specifies whether the updated model table, that results from deleting a model, should be saved to the caslib data source associated with the table.\",\"help\":\"PERSISTTABLE=TRUE | FALSE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"TRUE\",\"aliases\":[\"YES\"],\"description\":\"saves the updated model table to the data source.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p068mznq0b46wen1pjdy69d0qd10\"},{\"name\":\"FALSE\",\"aliases\":[\"NO\"],\"description\":\"does not save the updated model table to the data source.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0yk2j7w66r7men1lsjbarlmiuuy\"}],\"supportSiteTargetFragment\":\"n0n517iuvmynxnn1sy9tei9v0w2k\"},{\"name\":\"PROMOTETABLE=\",\"optional\":true,\"description\":\"specifies whether the updated model table, that results from deleting a model, should be promoted to global scope on the CAS server.\",\"help\":\"PROMOTETABLE=TRUE | FALSE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"TRUE\",\"aliases\":[\"YES\"],\"description\":\"promotes the updated model table to global scope.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p032xd0ahfob9xn18qzdngf9w2cr\"},{\"name\":\"FALSE\",\"aliases\":[\"NO\"],\"description\":\"does not promote the updated model table to global scope.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p04qyfm10mb2hqn1m5x1non8a5pd\"}],\"supportSiteTargetFragment\":\"p1g5baz4m6wvxon1ujvmx3pbjbe0\"},{\"name\":\"REPLACETABLE=\",\"optional\":true,\"description\":\"specifies whether to allow an existing model table, that results from deleting a model, to be replaced when the updated model table is saved to the caslib data source.\",\"help\":\"REPLACETABLE=TRUE | FALSE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"TRUE\",\"aliases\":[\"YES\"],\"description\":\"replaces the model table.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1elk9wfflhljbn1onvdl1lrf7qf\"},{\"name\":\"FALSE\",\"aliases\":[\"NO\"],\"description\":\"does not replace the model table.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1tcoizf2xnu3xn1skyksgf8ctss\"}],\"supportSiteTargetFragment\":\"p1ftts7921fi09n1lhj1mj7fwycs\"},{\"name\":\"SCHEMA=\",\"optional\":true,\"description\":\"specifies the name of the database or schema.\",\"help\":\"SCHEMA=\\\"*schema-name*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p00uxs035oqfdrn1sumwogbhxbnv\"},{\"name\":\"SERVER=\",\"optional\":true,\"description\":\"specifies the name of the Teradata server.\",\"help\":\"SERVER=\\\"*server*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n174xzay7wpx5bn11q4qt5yw7f9a\"},{\"name\":\"TIMEOUT=\",\"optional\":true,\"description\":\"specifies the number of seconds for the procedure to attempt an operation.\",\"help\":\"TIMEOUT=\\\"*n*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p00mmlv6dme004n1gc1h6qmylpi5\"},{\"name\":\"USERNAME=\",\"optional\":true,\"aliases\":[\"USER=\",\"USERID=\",\"UID=\"],\"description\":\"is an authorized user ID on the Hadoop or Teradata server.\",\"help\":\"USERNAME=\\\"*id*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1ggldha3044i0n14vegf8zceum5\"},{\"name\":\"WEBHDFSURL=\",\"optional\":true,\"description\":\"specifies the URL used to access the Hadoop distributed file system through the REST API.\",\"help\":\"WEBHDFSURL=\\\"*webhdfs-url*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0p9td5hb4t979n11kq96t7a9yv8\"}],\"supportSiteTargetFile\":\"n13m5zjk09bap8n16rjiey5sa8iq.htm\"},{\"name\":\"PUBLISHMODEL\",\"description\":\"Publishes a model in CAS or an external data source.\",\"help\":\"PUBLISHMODEL \\nCASLIB=\\\"caslib\\\"\\nMODELNAME=\\\"model-name\\\"                     \\nMODELTYPE=DATASTEP | DS2\\nMODELTABLE=\\\"model-table\\\" | \\n                     \\\"caslib.model-table\\\" | \\\"schema.model-table\\\"\\nSTOREFILES=file-specification | PROGRAMFILE=file-specification\\nVARXMLFILE=file-path\\n<publish-model-optional-arguments>                   ;\",\"arguments\":[{\"name\":\"CASLIB=\",\"description\":\"specifies the name of the caslib that is associated with the data source where the model is published.\",\"help\":\"CASLIB=\\\"*casref*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0qdw3u5156jf3n17k887ovrmqoma\"},{\"name\":\"MODELNAME=\",\"aliases\":[\"MODEL=\"],\"description\":\"specifies the name of the model to be published.\",\"help\":\"MODELNAME=\\\"*model-name*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0defhhg86o1bon1julunesctz64\"},{\"name\":\"MODELTABLE=\",\"description\":\"specifies the name of the table to which the model is published in CAS or Teradata.\",\"help\":\"MODELTABLE=\\\"*model-table*\\\" | \\\"*caslib.model-table*\\\" | \\\"*schema.model-table*\\\"\",\"type\":\"choice\",\"arguments\":[{\"name\":\"\\\"model-table\\\"\",\"placeholder\":true,\"type\":\"dataSet\"},{\"name\":\"\\\"caslib.model-table\\\"\",\"placeholder\":true,\"type\":\"dataSet\"},{\"name\":\"\\\"schema.model-table\\\"\",\"placeholder\":true,\"type\":\"dataSet\"}],\"supportSiteTargetFragment\":\"n0lkzpzaa68mbln1gp6arlu9p6py\"},{\"name\":\"MODELTYPE=\",\"description\":\"specifies the type of the input model program.\",\"help\":\"MODELTYPE=DATASTEP | DS2\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DATASTEP\",\"aliases\":[\"DS\"],\"description\":\"specifies that the input model program is DATA step code.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0rjt8hfe5embkn1o51vycqwf9xt\"},{\"name\":\"DS2\",\"description\":\"specifies that the input model program is DS2 code.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1aoyqij16jw9nn1iyaarbqa0trd\"}],\"supportSiteTargetFragment\":\"n1id5d7i0zyv10n18qj2aruhdaqg\"},{\"name\":\"STOREFILES=\",\"aliases\":[\"STOREFILE=\"],\"description\":\"specifies a list of analytic store .sasast files, one for each analytic store to be published.\",\"help\":\"STOREFILES=(\\\"file-path-1\\\" | fileref-1\\n                        <,\\\"file-path-2” | fileref-2,                             ...>)\",\"type\":\"standaloneOrValue\",\"arguments\":[{\"name\":\"\\\"file-path-1\\\"\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"fileref-1\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"n1v4fuwez6rl4cn15gsezve1gj6s\"},{\"name\":\"PROGRAMFILE=\",\"description\":\"specifies the file that contains the model program to be published.\",\"help\":\"PROGRAMFILE=\\\"*file-path*\\\" | *fileref*\",\"type\":\"choice\",\"arguments\":[{\"name\":\"\\\"file-path\\\"\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"fileref\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"n1rtefxgysl78kn1saqjad39bo30\"},{\"name\":\"VARXMLFILE=\",\"aliases\":[\"XMLFILE=\"],\"description\":\"specifies the file that contains the variable metadata XML to be used during translation of an input DATA step model program to DS2.\",\"help\":\"VARXMLFILE=\\\"*file-path*\\\" | *fileref*\",\"type\":\"choice\",\"arguments\":[{\"name\":\"\\\"file-path\\\"\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"fileref\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p13wa99jkqou80n1auxqoobjaf7v\"},{\"name\":\"AUTHDOMAIN=\",\"optional\":true,\"description\":\"specifies the name of the authentication domain that contains the credentials (user name and password) that are used to access Teradata.\",\"help\":\"AUTHDOMAIN=\\\"*authentication-domain*\\\" \",\"type\":\"value\",\"supportSiteTargetFragment\":\"n00gxrul9onyhjn14jd4i4qac6rma\"},{\"name\":\"AUTHTOKEN=\",\"optional\":true,\"description\":\"specifies the authentication token that is used to establish a connection with a Spark cluster.\",\"help\":\"AUTHTOKEN=\\\"*authentication-token*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0sd2isgd8tzw4n10ct0n88gwxm9a\"},{\"name\":\"CLASSPATH=\",\"optional\":true,\"description\":\"specifies the class path used in the Hadoop call context. The class path can be a folder or individual JAR files. The Hadoop configuration folder must be included in the class path.\",\"help\":\"CLASSPATH=\\\"*class_path*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1qy9lqyso51unn1lwy5ztup4q9ta\"},{\"name\":\"CLUSTERID=\",\"optional\":true,\"description\":\"specifies the identifier of the Spark cluster.\",\"help\":\"CLUSTERID=\\\"*cluster-id*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0qtkdk8n3lc2hn1py8vst6hjedha\"},{\"name\":\"DATABASE=\",\"optional\":true,\"description\":\"specifies the name of the database.\",\"help\":\"DATABASE=\\\"*database-name*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p120simq5j2to5n1giz0p5cqazbsa\"},{\"name\":\"EXTTYPE=\",\"optional\":true,\"aliases\":[\"TARGET=\"],\"description\":\"specifies the target environment to which the model is published.\",\"help\":\"EXTTYPE=CAS | DATABRICKS | FILESYSTEM | HADOOP | SINGLESTORE | SYNAPSE | TERADATA\",\"type\":\"choice\",\"arguments\":[{\"name\":\"CAS\",\"description\":\"specifies to publish to a model table in CAS.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0c89p52sraj1gn1tcnuj477ayqa\"},{\"name\":\"DATABRICKS\",\"description\":\"specifies to publish the model to Databricks. This value is supported as of 2023.10 to publish a model to a Spark table.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1k1psiz2vgktln1b6vqydibo23x\"},{\"name\":\"FILESYSTEM\",\"description\":\"specifies to publish the model to a cloud-based file system. FILESYSTEM supports Microsoft Azure Data Lake Storage Gen2 (ADLS) and Amazon S3.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n18cbr9yuk96yxn1d5z6tj3k2xar\"},{\"name\":\"HADOOP\",\"description\":\"specifies to publish the model to the Hadoop server.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1h6hykn1k5raon1qcgtgs21nlu7\"},{\"name\":\"SINGLESTORE\",\"description\":\"specifies to publish the model to the SingleStore cluster. This value is supported as of 2023.05.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1fed6389lwznqn1poq6tswasaxo\"},{\"name\":\"SYNAPSE\",\"description\":\"specifies to publish the model to Azure Synapse. This value is supported as of 2023.12 to publish a model to an SQL Server table.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1v31ct0gvnhmnn10u6m294p635r\"},{\"name\":\"TERADATA\",\"description\":\"specifies to publish to a model table in the Teradata database.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1kr449axait6in11wr1yl9qn15l\"}],\"supportSiteTargetFragment\":\"n1fwptai8df8adn1r1m9etarbbb3\"},{\"name\":\"FORMATFILE=\",\"optional\":true,\"description\":\"specifies the file that contains the user-defined format XML definition to be published.\",\"help\":\"FORMATFILE=\\\"*file-path*\\\" | *fileref*\",\"type\":\"choice\",\"arguments\":[{\"name\":\"\\\"file-path\\\"\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"fileref\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"n1dyg7oy2h6gmrn10zdak8ap0ssv\"},{\"name\":\"FORMATITEMSTOREFILE=\",\"optional\":true,\"description\":\"specifies the file that contains the format item store to be published.\",\"help\":\"FORMATITEMSTOREFILE=\\\"*file-path*\\\" | *fileref*\",\"type\":\"choice\",\"arguments\":[{\"name\":\"\\\"file-path\\\"\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"fileref\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p1o3mfrkkuho5kn1pnw9y36gjllt\"},{\"name\":\"KEEPLIST=\",\"optional\":true,\"description\":\"specifies whether to include a KEEP statement in the DS2 model program that is automatically generated from an analytic store model.\",\"help\":\"KEEPLIST=TRUE | FALSE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"TRUE\",\"aliases\":[\"YES\"],\"description\":\"includes a KEEP statement.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1o1r29whakvjzn1uuirvcaslb8z\"},{\"name\":\"FALSE\",\"aliases\":[\"NO\"],\"description\":\"does not include a KEEP statement.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1r3x5rqf13pcrn1kjwkeyask6ev\"}],\"supportSiteTargetFragment\":\"p1gx7looluwyoyn0zy18ywoadsjc\"},{\"name\":\"MODELDATABASE=\",\"optional\":true,\"description\":\"specifies the database where the model is stored.\",\"help\":\"MODELDATABASE=\\\"*model-database*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1io117mhrovzin1brhjnmr66xsoa\"},{\"name\":\"MODELDIR=\",\"optional\":true,\"description\":\"specifies the root folder where the model directory is stored.\",\"help\":\"MODELDIR=\\\"*model-directory*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0mfpgdi1u16tan1o5ax1hid5tlja\"},{\"name\":\"MODELNOTES=\",\"optional\":true,\"description\":\"specifies the model notes to be written to the model table.\",\"help\":\"MODELNOTES=\\\"*model-notes*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1q3xujukjrzd5n1g3xznnj9mcoj\"},{\"name\":\"MODELSCHEMA=\",\"optional\":true,\"description\":\"specifies the schema for the stored model.\",\"help\":\"MODELSCHEMA=\\\"*model-schema*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1s3dnd8hyowe2n12y5qjk4lyyeda\"},{\"name\":\"MODELUUID=\",\"optional\":true,\"description\":\"specifies that the Model UUID is written to the model table.\",\"help\":\"MODELUUID=\\\"*model-uuid*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1renrofh137s0n1v2drwtuf42wc\"},{\"name\":\"OUTDIR=\",\"optional\":true,\"description\":\"specifies the local output directory that contains the program file that was converted from DATA step to DS2.\",\"help\":\"OUTDIR=\\\"*work-directory*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0kc52jso6we20n184xj8i4rklwd\"},{\"name\":\"PASSWORD=\",\"optional\":true,\"aliases\":[\"PASS=\",\"PASSWD=\",\"PWD=\"],\"description\":\"is the password for the user ID on ADLS, the Hadoop server, or the Teradata server. On ADLS this is value known as the secret.\",\"help\":\"PASSWORD=\\\"*password*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1advdivfjtusgn16qkqtu94r0jca\"},{\"name\":\"PERSISTTABLE=\",\"optional\":true,\"description\":\"specifies whether the updated model table should be saved to the caslib data source associated with the table.\",\"help\":\"PERSISTTABLE=TRUE | FALSE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"TRUE\",\"aliases\":[\"YES\"],\"description\":\"saves the updated model table to the data source.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n08kwjp2un6i5jn1qi3zclfnqe9t\"},{\"name\":\"FALSE\",\"aliases\":[\"NO\"],\"description\":\"does not save the updated model table to the data source.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1maqhkhx16vmhn1al48tbxystrj\"}],\"supportSiteTargetFragment\":\"p0hmly1zl5tuwcn14kamtchltcs7\"},{\"name\":\"PROMOTETABLE=\",\"optional\":true,\"description\":\"specifies whether the updated model table should be promoted to global scope on the CAS server.\",\"help\":\"PROMOTETABLE=TRUE | FALSE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"TRUE\",\"aliases\":[\"YES\"],\"description\":\"promotes the updated model table to global scope.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1q9rrrrbd2vc4n11y38j8l5wupd\"},{\"name\":\"FALSE\",\"aliases\":[\"NO\"],\"description\":\"does not promote the updated model table to global scope.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0bhay95j3rmrin1cbzxpy94vuny\"}],\"supportSiteTargetFragment\":\"n1vu2k9l4qzey4n157ol2xupdn1q\"},{\"name\":\"PUBLISHGLOBAL=\",\"optional\":true,\"description\":\"specifies whether the model is published to a global model table in CAS.\",\"help\":\"PUBLISHGLOBAL=TRUE | FALSE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"TRUE\",\"aliases\":[\"YES\"],\"description\":\"\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0e0pq35fog6m2n1ejr12gbzhf60\"},{\"name\":\"FALSE\",\"aliases\":[\"NO\"],\"description\":\"publishes the model to the model table in the local CAS session, leaving the global model table unaltered.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0dsopdy38pu50n11fp00xeokkug\"}],\"supportSiteTargetFragment\":\"n1eo7wadeyjr2vn12q0yi46lufme\"},{\"name\":\"REPLACEMODEL=\",\"optional\":true,\"description\":\"specifies whether to allow an existing model in the model table to be replaced by the model being published.\",\"help\":\"REPLACEMODEL=TRUE | FALSE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"TRUE\",\"aliases\":[\"YES\"],\"description\":\"replaces the model in the model table.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1w9h4u5w7b7opn12xyf0pao1422\"},{\"name\":\"FALSE\",\"aliases\":[\"NO\"],\"description\":\"does not replace the model in the model table.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n117rj86d4zs59n17lr54b4eii6z\"}],\"supportSiteTargetFragment\":\"n0j04blitrawp4n1vs0f5bzfksit\"},{\"name\":\"REPLACETABLE=\",\"optional\":true,\"description\":\"specifies whether to allow an existing model table to be replaced when the updated model table is saved to the caslib data source.\",\"help\":\"REPLACETABLE=TRUE | FALSE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"TRUE\",\"aliases\":[\"YES\"],\"description\":\"replaces the model table.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p03tafh7pu10fan1366d06g5ksrn\"},{\"name\":\"FALSE\",\"aliases\":[\"NO\"],\"description\":\"does not replace the model table.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0msfu132nkdmbn18yzb0gl00azg\"}],\"supportSiteTargetFragment\":\"p1fa4edesvng4sn1esikgus3jcvi\"},{\"name\":\"SCHEMA=\",\"optional\":true,\"description\":\"specifies the name of the database or schema.\",\"help\":\"SCHEMA=\\\"*schema-name*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p00uxs035oqfdrn1sumwogbhxbnva\"},{\"name\":\"SERVER=\",\"optional\":true,\"description\":\"specifies the name of the Teradata server.\",\"help\":\"SERVER=\\\"*server*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n174xzay7wpx5bn11q4qt5yw7f9aa\"},{\"name\":\"STORETABLES=\",\"optional\":true,\"description\":\"specifies one or more CAS blob table names that contain the analytic stores to be published. Each table must include a VARBINARY column named \\\"_state_\\\" that contains the analytic store blob.\",\"help\":\"STORETABLES=(\\\"store-table-1\\\" | \\\"caslib.store-table-1\\\"\\n                        <,\\\"store-table-2\\\" | \\\"caslib.store-table-2\\\",                                ...>)\",\"type\":\"standaloneOrValue\",\"arguments\":[{\"name\":\"\\\"store-table-1\\\"\",\"placeholder\":true,\"type\":\"dataSet\"},{\"name\":\"\\\"caslib.store-table-1\\\"\",\"placeholder\":true,\"type\":\"dataSet\"}],\"supportSiteTargetFragment\":\"n1689d9sasf1k3n148xf2fdoil6n\"},{\"name\":\"TIMEOUT=\",\"optional\":true,\"description\":\"specifies the number of seconds for the procedure to attempt an operation.\",\"help\":\"TIMEOUT=\\\"*n*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p00mmlv6dme004n1gc1h6qmylpi5a\"},{\"name\":\"USERNAME=\",\"optional\":true,\"aliases\":[\"USER=\",\"USERID=\",\"UID=\"],\"description\":\"is an authorized user ID on the Hadoop or Teradata server.\",\"help\":\"USERNAME=\\\"*id*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1ggldha3044i0n14vegf8zceum5a\"},{\"name\":\"WEBHDFSURL=\",\"optional\":true,\"description\":\"specifies the URL used to access the Hadoop distributed file system through the REST API.\",\"help\":\"WEBHDFSURL=\\\"*webhdfs-url*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0p9td5hb4t979n11kq96t7a9yv8a\"}],\"supportSiteTargetFile\":\"p1evqpz1p0yakcn12smb6rb5w7tw.htm\"},{\"name\":\"RUNMODEL\",\"description\":\"Runs a model in CAS or an external data source.\",\"help\":\"RUNMODEL \\nCASLIB=\\\"caslib\\\"\\nMODELNAME=\\\"model-name\\\"\\nMODELTABLE=\\\"model-table\\\" | \\n                        \\\"caslib.model-table\\\" | \\\"schema.model-table\\\"\\n<run-model-optional-arguments>;                \",\"arguments\":[{\"name\":\"CASLIB=\",\"description\":\"specifies the name of the caslib that is associated with the data source where the model is executed.\",\"help\":\"CASLIB=\\\"*casref*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0z6ezd2koem87n1473f3467fftp\"},{\"name\":\"MODELNAME=\",\"aliases\":[\"MODEL=\"],\"description\":\"specifies the name of the model to run.\",\"help\":\"MODELNAME=\\\"*model-name*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1a6t3uiap1do9n1f08cqojqviy8\"},{\"name\":\"MODELTABLE=\",\"description\":\"specifies the name of the table that contains the model to run.\",\"help\":\"MODELTABLE=\\\"*model-table*\\\" | \\\"*caslib.model-table*\\\" | \\\"*schema.model-table*\\\"\",\"type\":\"choice\",\"arguments\":[{\"name\":\"\\\"model-table\\\"\",\"placeholder\":true,\"type\":\"dataSet\"},{\"name\":\"\\\"caslib.model-table\\\"\",\"placeholder\":true,\"type\":\"dataSet\"},{\"name\":\"\\\"schema.model-table\\\"\",\"placeholder\":true,\"type\":\"dataSet\"}],\"supportSiteTargetFragment\":\"n0riukzovm3wk7n1w7i6elzfd701\"},{\"name\":\"AUTHDOMAIN=\",\"optional\":true,\"description\":\"specifies the name of the authentication domain that contains the credentials (user name and password) that are used to access Teradata.\",\"help\":\"AUTHDOMAIN=\\\"*authentication-domain*\\\" \",\"type\":\"value\",\"supportSiteTargetFragment\":\"n00gxrul9onyhjn14jd4i4qac6rmb\"},{\"name\":\"AUTHTOKEN=\",\"optional\":true,\"description\":\"specifies the authentication token that is used to establish a connection with a Spark cluster.\",\"help\":\"AUTHTOKEN=\\\"*authentication-token*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0sd2isgd8tzw4n10ct0n88gwxm9b\"},{\"name\":\"CLASSPATH=\",\"optional\":true,\"description\":\"specifies the class path used in the Hadoop call context. The class path can be a folder or individual JAR files. The Hadoop configuration folder must be included in the class path if you are not specifying the CONFIGPATH= option.\",\"help\":\"CLASSPATH=\\\"*class_path*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1sqb8g4sx3xbfn134la564q0zrl\"},{\"name\":\"CLUSTERID=\",\"optional\":true,\"description\":\"specifies the identifier of the Spark cluster.\",\"help\":\"CLUSTERID=\\\"*cluster-id*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0qtkdk8n3lc2hn1py8vst6hjedhb\"},{\"name\":\"CONFIGPATH=\",\"optional\":true,\"description\":\"specifies a single folder where all the Hadoop and Spark configuration files reside.\",\"help\":\"CONFIGPATH=\\\"*configuration-path*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0bi5zglb1c92vn1k5j9r5vd48od\"},{\"name\":\"CUSTOMJAR=\",\"optional\":true,\"description\":\"specifies the local JAR file that contains the user-provided custom reader. The custom JAR file is automatically copied to the Hadoop cluster during job submission.\",\"help\":\"CUSTOMJAR=\\\"*file-path*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n17uqjkdtsgi4in1ayzy1vo7jm8c\"},{\"name\":\"DATABASE=\",\"optional\":true,\"description\":\"specifies the name of the database.\",\"help\":\"DATABASE=\\\"*database-name*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0325klus0yobqn1u3scqqbjhxd2\"},{\"name\":\"DBMAXTEXT=\",\"optional\":true,\"description\":\"specifies the maximum number of bytes to allocate for STRING data type columns.\",\"help\":\"DBMAXTEXT=*number-of-bytes*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0cxho2h63zr9qn19uunehb7s574\"},{\"name\":\"EPOPTIONS=\",\"optional\":true,\"description\":\"specifies properties that are passed to the SAS Embedded Process.\",\"help\":\"EPOPTIONS=\\\"*options-string*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p02ygdxwz3ujedn1a4s1ca4pm8oy\"},{\"name\":\"EXTTYPE=\",\"optional\":true,\"aliases\":[\"TARGET=\"],\"description\":\"specifies the target environment in which the model is to be run.\",\"help\":\"EXTTYPE=CAS | HADOOP | SINGLESTORE | SPARK | TERADATA\",\"type\":\"choice\",\"arguments\":[{\"name\":\"CAS\",\"description\":\"specifies to run the model in CAS.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1ekdcnsruzyf6n18dsft656vow2\"},{\"name\":\"HADOOP\",\"description\":\"specifies to run the model using the SAS Embedded Process for Hadoop.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0vpnvwvlqckezn13ghj15zihtp8\"},{\"name\":\"SINGLESTORE\",\"description\":\"specifies to run the model using the SAS Embedded Process for SingleStore. This value is supported as of 2023.05.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n15on3a52jc6enn1l35yvebl1aqd\"},{\"name\":\"SPARK\",\"description\":\"specifies to run the model using the SAS Embedded Process for Spark. The CASLIB= option is required. In the caslib use the PLATFORM= option to specify the external target. For more information, see .\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1eigmwiom2pbcn12226ld8tzxve\"},{\"name\":\"TERADATA\",\"description\":\"specifies to run the model using the SAS Embedded Process for Teradata.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n00kfpt9iyz40tn109ggnvwd01ik\"}],\"supportSiteTargetFragment\":\"p0il02h134rg89n1a2sl4g7xc27z\"},{\"name\":\"FORCEOVERWRITE=\",\"optional\":true,\"description\":\"specifies whether to force deletion of the output data directory before running the Hadoop MapReduce job.\",\"help\":\"FORCEOVERWRITE=TRUE | FALSE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"TRUE\",\"aliases\":[\"YES\"],\"description\":\"forces deletion of the output data directory.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p148m4qntqwwx8n1c15mog8yxsw1\"},{\"name\":\"FALSE\",\"aliases\":[\"NO\"],\"description\":\"does not force deletion of the output data directory.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1ojs1j85niscrn13r7cyimdiuy6\"}],\"supportSiteTargetFragment\":\"n0eq5o0alvmpswn1hme97kc3bk7y\"},{\"name\":\"HIVEPORT=\",\"optional\":true,\"description\":\"specifies the Hive server port number.\",\"help\":\"HIVEPORT=*integer*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0ipza234hgl19n1xg2xzgryw19c\"},{\"name\":\"INDATASET=\",\"optional\":true,\"description\":\"specifies the name of the Spark dataset passed as input to the SAS Embedded Process.\",\"help\":\"INDATASET=\\\"*input-dataset*\\\"\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"p12r6si4zgnwron1ejlqybnb7w36\"},{\"name\":\"INHDMD=\",\"optional\":true,\"description\":\"specifies the name of the input Spark dataset file on HDFS.\",\"help\":\"INHDMD=\\\"*file-path*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1c6fd82vbzoi4n1l8rj3tdkzs60\"},{\"name\":\"INQUERY=\",\"optional\":true,\"description\":\"specifies an SQL SELECT statement that defines the inputs to the SAS Embedded Process. The SQL query must be supported by the data source.\",\"help\":\"INQUERY=\\\"*sql-query*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1cl24x2c4h0irn14elif3mhs7mc\"},{\"name\":\"INTABLE=\",\"optional\":true,\"aliases\":[\"INPUTTABLE=\"],\"description\":\"specifies the name of the input table.\",\"help\":\"INTABLE=\\\"*input-table*\\\" | \\\"*caslib.input-table*\\\" | \\\"*schema.input-table*\\\"\",\"type\":\"choice\",\"arguments\":[{\"name\":\"\\\"input-table\\\"\",\"placeholder\":true,\"type\":\"dataSet\"},{\"name\":\"\\\"caslib.input-table\",\"placeholder\":true,\"type\":\"dataSet\"},{\"name\":\"\\\"schema.input-table\\\"\",\"placeholder\":true,\"type\":\"dataSet\"}],\"supportSiteTargetFragment\":\"n034pmkkdw499mn1xerozb3d1y5m\"},{\"name\":\"JOBMANAGEMENTURL=\",\"optional\":true,\"aliases\":[\"RESTURL=\"],\"description\":\"specifies the URL used to submit execution requests over a REST interface to services such as Apache Livy or Databricks Notebooks.\",\"help\":\"JOBMANAGEMENTURL=\\\"*rest-url*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0pl2g61xxefkun1w9fsrrkzczgy\"},{\"name\":\"KEEPLISTCOLUMNS=\",\"optional\":true,\"aliases\":[\"KEEPLISTCOLS=\"],\"description\":\"specifies the name of the column (or columns) to be kept by the DS2 program.\",\"help\":\"KEEPLISTCOLUMNS=\\\"column-1\\n                        <column-2 ...>\\\" <br/> KEEPLISTCOLUMNS=(column-1\\n                        <column-2 ...>) <br/> KEEPLISTCOLUMNS=(\\\"column-1\\\"                               <\\\"column-2\\\" ...>)\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n11gr0bu6n6q16n11r3m6gzprocz\"},{\"name\":\"KEEPLISTFILE=\",\"optional\":true,\"description\":\"specifies the name of the file that contains a list of columns to be kept by the DS2 program.\",\"help\":\"KEEPLISTFILE=\\\"*file-path*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n04gpwfum4dcj4n10z9j9aylcdw3\"},{\"name\":\"MODELDATABASE=\",\"optional\":true,\"description\":\"specifies the database where the model is stored.\",\"help\":\"MODELDATABASE=\\\"*model-database*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1io117mhrovzin1brhjnmr66xsob\"},{\"name\":\"MODELDIR=\",\"optional\":true,\"description\":\"specifies the root folder where the model directory is stored.\",\"help\":\"MODELDIR=\\\"*model-directory*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p01yck5mrtqw5in12cnsmx0gunxr\"},{\"name\":\"MODELSCHEMA=\",\"optional\":true,\"description\":\"specifies the schema for the stored model.\",\"help\":\"MODELSCHEMA=\\\"*model-schema*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1s3dnd8hyowe2n12y5qjk4lyyedb\"},{\"name\":\"OUTDATASET=\",\"optional\":true,\"description\":\"specifies the name of the output Spark dataset to be created by the SAS Embedded Process.\",\"help\":\"OUTDATASET=\\\"*output-dataset*\\\"\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"n0wfs0q8k3qptcn1bw4tqma36yhc\"},{\"name\":\"OUTHDMD=\",\"optional\":true,\"description\":\"specifies the name of the output Hadoop metadata file that is created by the SAS Embedded Process.\",\"help\":\"OUTHDMD=\\\"*file-path*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1di5f8wonchmwn1908relrs7f6r\"},{\"name\":\"OUTKEY=\",\"optional\":true,\"description\":\"specifies the name of one or more columns used for the primary index of the output table that is created by the SAS Embedded Process.\",\"help\":\"OUTKEY=\\\"column-1\\n                        <column-2 ...)>\\\" <br/> OUTKEY=(column-1\\n                        <column-2 ...)> <br/> OUTKEY=(\\\"column-1\\\"                               <\\\"column-2\\\"                             ...)>\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0uhuzuonyevehn153x94y2e87ti\"},{\"name\":\"OUTPUTFOLDER=\",\"optional\":true,\"description\":\"specifies the name of the directory where the output files are stored.\",\"help\":\"OUTPUTFOLDER=\\\"*directory-path*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1bbxvorn7zrnpn1iixov5lfhqi4\"},{\"name\":\"OUTPUTFORMATCLASS=\",\"optional\":true,\"description\":\"specifies the name of the output format class in dot notation that is used to write the output records.\",\"help\":\"OUTPUTFORMATCLASS=\\\"*class-name*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0ufy5xykzg7cun13fi1ph8vfi4i\"},{\"name\":\"OUTRECORDFORMAT=\",\"optional\":true,\"description\":\"specifies the format of the output record that is produced by the SAS Embedded Process for Hadoop.\",\"help\":\"OUTRECORDFORMAT=BINARY | DELIMITED\",\"type\":\"choice\",\"arguments\":[{\"name\":\"BINARY\",\"description\":\"specifies that the output record is binary.\",\"help\":\"BINARY \",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n148vd14fbxbgtn187yblm18wonn\"},{\"name\":\"DELIMITED\",\"description\":\"specifies that the output record is delimited.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n056arptnl2e31n0zf4w9zha20ue\"}],\"supportSiteTargetFragment\":\"p0fsfrqjdxx0nrn1ix18x9p0ay5u\"},{\"name\":\"OUTSCHEMA=\",\"optional\":true,\"description\":\"specifies the Hive output data source schema name when running a model.\",\"help\":\"OUTSCHEMA=\\\"*output-schema*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0qgbn2x6kinu2n185bvahv3k2wt\"},{\"name\":\"OUTTABLE=\",\"optional\":true,\"aliases\":[\"OUTPUTTABLE=\"],\"description\":\"specifies the name of the output table.\",\"help\":\"OUTTABLE=\\\"*output-table*\\\" | \\\"*caslib.output-table*\\\" | \\\"*schema.output-table*\\\"\",\"type\":\"choice\",\"arguments\":[{\"name\":\"\\\"output-table\\\"\",\"placeholder\":true,\"type\":\"dataSet\"},{\"name\":\"\\\"caslib.output-table\",\"placeholder\":true,\"type\":\"dataSet\"},{\"name\":\"\\\"schema.output-table\\\"\",\"placeholder\":true,\"type\":\"dataSet\"}],\"supportSiteTargetFragment\":\"n10dta7g4ryacwn1b4nwh5jbre27\"},{\"name\":\"OUTTABLEOPTIONS=\",\"optional\":true,\"description\":\"provides user-specified options that are appended to the Hive CREATE TABLE statement.\",\"help\":\"OUTTABLEOPTIONS=\\\"*options-string*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1fekurnnipx32n0zockbenwoov9\"},{\"name\":\"PASSWORD=\",\"optional\":true,\"aliases\":[\"PASS=\",\"PASSWD=\",\"PWD=\"],\"description\":\"is the password for the user ID on the Hadoop or Teradata server.\",\"help\":\"PASSWORD=\\\"*password*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1oq5bk3xxbh5zn1m76wzbv0ab0h\"},{\"name\":\"PLATFORM=\",\"optional\":true,\"description\":\"specifies the platform where the SAS Embedded Process for Hadoop is to be executed.\",\"help\":\"PLATFORM=MAPRED | SPARK\",\"type\":\"choice\",\"arguments\":[{\"name\":\"MAPRED\",\"description\":\"specifies to run the model in MapReduce.\",\"help\":\"MAPRED \",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1vszkbnaoucsin1hl0ory5f4ls8\"},{\"name\":\"SPARK\",\"description\":\"specifies to run the model in Spark.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1xw6q54twaiozn1evyrtmdnkl3b\"}],\"supportSiteTargetFragment\":\"p10rs1ea6w7aoin1mshkwmbpkfmg\"},{\"name\":\"PROPERTIES=\",\"optional\":true,\"description\":\"specifies a Hadoop configuration property as a name-value pair. For multiple properties, specify a single argument containing a comma-separated list of name-value pairs enclosed in parentheses. Any Hadoop configuration property can be assigned using this option. The PROPERTIES parameter can also be specified multiple times, once for each property.\",\"help\":\"PROPERTIES=\\\"*name1=value*\\\"                               &lt;PROPERTIES=\\\"*name2=value*\\\"&gt; <br/> PROPERTIES=(\\\"*name=value*\\\"&lt;,                               \\\"*name=value*\\\",                             ...&gt;)\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n07dz9djrynceen1d2d88c8e37jg\"},{\"name\":\"SCHEMA=\",\"optional\":true,\"description\":\"specifies the name of the database or schema.\",\"help\":\"SCHEMA=\\\"*schema-name*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1n9gzpn6rgjcun117051m0y3car\"},{\"name\":\"SENDPROGRAM=\",\"optional\":true,\"description\":\"specifies whether the model program source code should be sent back to the client and displayed for the user.\",\"help\":\"SENDPROGRAM=TRUE | FALSE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"TRUE\",\"aliases\":[\"YES\"],\"description\":\"sends the source code back to the client.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1kfxn13pyb3ycn1jn81az3sb40h\"},{\"name\":\"FALSE\",\"aliases\":[\"NO\"],\"description\":\"does not send the source code back to the client.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n12l1a6vt53me9n1wy8f89khwhg2\"}],\"supportSiteTargetFragment\":\"p02w9pntsfabgbn1rqysozh7av0a\"},{\"name\":\"SERVER=\",\"optional\":true,\"description\":\"specifies the name of the Teradata server or Hive server.\",\"help\":\"SERVER=\\\"*server*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0bowbvk79e87wn1akf2ifvsqil3\"},{\"name\":\"TRACE\",\"optional\":true,\"description\":\"runs the SAS Embedded Process for Hadoop with traces on.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n002z0uwcn8jl9n17h21p6m51ot2\"},{\"name\":\"USERNAME=\",\"optional\":true,\"aliases\":[\"USER=\",\"USERID=\",\"UID=\"],\"description\":\"is an authorized user ID on the Hadoop or Teradata server.\",\"help\":\"USERNAME=\\\"*id*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1ggldha3044i0n14vegf8zceum5b\"},{\"name\":\"VERBOSE\",\"optional\":true,\"description\":\"specifies that the SAS Embedded Process provide additional logging information.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p096164wni7cw4n1iubl53uuxyv3\"}],\"supportSiteTargetFile\":\"n1bwckqsf6fjc9n1kzwr5uh2oikh.htm\"}],\"interactive\":true,\"supportSiteInformation\":{\"docsetId\":\"indbug\",\"docsetVersion\":\"v_002\",\"docsetTargetFile\":\"p05rmiw27grg9qn1fpffnyvfeoza.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/SEMISUPLEARN.json",
    "content": "{\"name\":\"SEMISUPLEARN\",\"statements\":[{\"name\":\"PROC SEMISUPLEARN\",\"description\":\"The SEMISUPLEARN procedure implements the graph-based semisupervised learning algorithm that relies on label spreading in a distributed framework in SAS Viya. The semisupervised learning algorithm has numerous applications, including web page classification, image recognition, medical imaging, natural language processing, and action recognition. † You can use the SEMISUPLEARN procedure to read and write data in distributed form and to perform search in parallel by making full use of multicore computers or distributed computing environments.\",\"help\":\"PROC SEMISUPLEARN <DATA=CAS-libref.data-table><GAMMA=number><LABEL=CAS-libref.data-table><MAXITER=number><NTHREADS=number>;     \\n\\tDISPLAY <CASESENSITIVE><EXCLUDE><EXCLUDEALL> ...;\\n\\n\\tDISPLAYOUT <INCLUDEALL><NOREPLACE><REPEATED> ...;\\n\\n\\tINPUT <LEVEL=<INTERVAL>> ;\\n\\n\\tOUTPUT <COPYVAR=variable | COPYVARS=(variables)><OUT=CAS-libref.data-table> ;\\n\\n\\tTARGET <LEVEL=<NOMINAL>> ;\\n\",\"arguments\":[{\"name\":\"DATA=\",\"optional\":true,\"description\":\"Names the input data table for PROC SEMISUPLEARN to use. The default is the most recently created data table. CAS-libref.data-table is a two-level name, where\",\"help\":\"DATA=*CAS-libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"GAMMA=\",\"optional\":true,\"description\":\"Specifies the number of the inverse of the variance for Gaussian kernels in order to calculate similarity between observations, where number is a positive real number. By default, GAMMA=20.\",\"help\":\"GAMMA=*number*\",\"type\":\"value\"},{\"name\":\"LABEL\",\"optional\":true,\"description\":\"Specifies the input data table that contains the labeled data observations, which are the data with target variables. CAS-libref.data-table is a two-level name, where CAS-libref refers to the caslib and session identifier, and data-table specifies the name of the input data table.\",\"type\":\"standalone\"},{\"name\":\"MAXITER=\",\"optional\":true,\"description\":\"Specifies the number of iterations for label predictions, where number is a positive integer. By default, MAXITER=3.\",\"help\":\"MAXITER=*number*\",\"type\":\"value\"},{\"name\":\"NTHREADS=\",\"optional\":true,\"description\":\"Specifies the number of threads to use for the computation, where number is an integer from 1 to 64, inclusive. The default value is the maximum number of available threads per computer.\",\"help\":\"NTHREADS=*number*\",\"type\":\"value\"}]},{\"name\":\"DISPLAY\",\"description\":\"The DISPLAY statement enables you to specify a list of display tables to display or exclude. This statement is similar to the ODS SELECT, ODS EXCLUDE, and ODS TRACE statements. However, the DISPLAY statement can improve performance when a large number of tables could be generated (such as in BY-group processing). The procedure processes the DISPLAY statement on a CAS server and thus sends only a subset of ODS tables to the SAS client. Because ODS statements are processed on a SAS client, all the display tables generated are first sent to the client and then the client creates a subset. If both DISPLAY and ODS statements are used together, the DISPLAY statement takes precedence over the ODS statements.\",\"help\":\"DISPLAY &lt;CASESENSITIVE&gt;&lt;EXCLUDE&gt;&lt;EXCLUDEALL&gt; ...\",\"arguments\":[{\"name\":\"CASESENSITIVE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Performs a case-sensitive comparison of table names in the table-list to display table names when tables are subsetted for display. To preserve case, you must enclose table names in the table-list in quotation marks.\",\"type\":\"standalone\"},{\"name\":\"EXCLUDE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays all display tables except those specified in the table-list.\",\"type\":\"standalone\"},{\"name\":\"EXCLUDEALL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Suppresses display of all tables. This option takes precedence over the other options.\",\"type\":\"standalone\"},{\"name\":\"TRACE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays the display table names, labels, and paths.\",\"type\":\"standalone\"}]},{\"name\":\"DISPLAYOUT\",\"description\":\"The DISPLAYOUT statement enables you to create CAS output tables from your displayed output. This statement is similar to the ODS OUTPUT statement. The table-spec-list specifies a list of CAS output tables to create. Each entry in the list has either a key or a key=value format: key=value specifies key as the ODS table name, path, or partial pathname, and specifies value as the CAS output table name. key specifies key as the ODS table name and also as the CAS output table name. Table names and partial pathnames are discussed under the DISPLAY statement. The DISPLAYOUT statement does not support regular expressions.\",\"help\":\"DISPLAYOUT &lt;INCLUDEALL&gt;&lt;NOREPLACE&gt;&lt;REPEATED&gt; ...\",\"arguments\":[{\"name\":\"INCLUDEALL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Creates output CAS tables for all display tables. The name of the created output CAS table is the same as the corresponding display table name. If you specify this option, the table-spec-list specification is ignored.\",\"type\":\"standalone\"},{\"name\":\"NOREPLACE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Does not replace an existing CAS output table of the same name.\",\"type\":\"standalone\"},{\"name\":\"REPEATED\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Replicates all CAS output tables on all nodes.\",\"type\":\"standalone\"}]},{\"name\":\"INPUT\",\"description\":\"The INPUT statement specifies the variables to use for calculating the similarity measure in the semisupervised learning algorithm. The variables must be of interval type. You must specify at least one input variable.\",\"help\":\"INPUT &lt;LEVEL=&lt;INTERVAL&gt;&gt;\",\"arguments\":[{\"name\":\"LEVEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the level of measurement of the variables.\",\"help\":\"LEVEL=INTERVAL*INTERVAL*\",\"type\":\"value\",\"arguments\":[{\"name\":\"INTERVAL\",\"followsDelimiter\":\"/\",\"description\":\"Specifies that the level of measurement is interval.\",\"type\":\"standalone\"}]}]},{\"name\":\"OUTPUT\",\"description\":\"The OUTPUT statement creates the predicted target variable data table for both the unlabeled data and the labeled data. For each row in the output data table, the WARN column indicates whether the row of data is coming from labeled data or unlabeled data. The WARN value is 1 for labeled data and 0 for unlabeled data. In the table, the formatted strings are provided in the predicted label.\",\"help\":\"OUTPUT &lt;COPYVAR=variable | COPYVARS=(variables)&gt;&lt;OUT=CAS-libref.data-table&gt;\",\"arguments\":[{\"name\":\"COPYVAR=\",\"optional\":true,\"aliases\":[\"COPYVARS=\"],\"description\":\"Lists one or more variables from the unlabeled data table to be transferred to the output data table.\",\"type\":\"value\"},{\"name\":\"OUT=\",\"optional\":true,\"description\":\"Names the output data table for PROC SEMISUPLEARN to use. You must specify this option before any other options. CAS-libref.data-table is a two-level name, where\",\"help\":\"OUT=*CAS-libref.data-table*\",\"type\":\"dataSet\"}]},{\"name\":\"TARGET\",\"description\":\"The TARGET statement lists the target variable to be considered from the labeled data table in the PROC SEMISUPLEARN statement. You must specify one variable, which must be nominal. The default target variable type is nominal.\",\"help\":\"TARGET &lt;LEVEL=&lt;NOMINAL&gt;&gt;\",\"arguments\":[{\"name\":\"LEVEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Syntax: LEVEL=NOMINAL\",\"help\":\"LEVEL=NOMINAL*NOMINAL*\",\"type\":\"value\",\"arguments\":[{\"name\":\"NOMINAL\",\"followsDelimiter\":\"/\",\"description\":\"Specifies that the target variable type is interval.\",\"type\":\"standalone\"}]}]}],\"supportSiteInformation\":{\"docsetId\":\"casml\",\"docsetVersion\":\"latest\",\"docsetTargetFile\":\"casml_semisuplearn_toc.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/SEQDESIGN.json",
    "content": "{\"name\":\"SEQDESIGN\",\"statements\":[{\"name\":\"PROC SEQDESIGN\",\"description\":\"The purpose of the SEQDESIGN procedure is to design interim analyses for clinical trials. Clinical trials are experiments on human subjects to demonstrate the efficacy and safety of new drugs or treatments. A simple example is a trial to test the effectiveness of a new drug in humans by comparing the outcomes in a group of patients who receive the new drug with the outcomes in a comparable group of patients who receive a placebo. † A clinical trial is conducted according to a plan called a protocol. A protocol details the objectives of the trial, the data collection process, and the analysis. The protocol specifies the null hypothesis and an alternative hypothesis, a test statistic, the probability α of a Type I error, the probability β of a Type II error, the sample size needed to attain a specified power of 1-β at an alternative reference, and critical values that are associated with the test statistic.\",\"help\":\"PROC SEQDESIGN <ALTREF=θ1<(<LOWER=θ1l> <UPPER=θ1u>)>><BOUNDARYSCALE=MLE | SCORE | STDZ... ><ERRSPEND><MAXINFO=number><PLOTS=ALL | ASN | BOUNDARY... ><PSS <( CREF= numbers )>><STOPPROB <( CREF= numbers )>>;     \\n\\tDESIGN <ALPHA= <( <LOWER=>   <UPPER=> )>><ALT=<LOWER | UPPER | TWOSIDED>><BETA= <( <LOWER=>   <UPPER=> )>> ...;\\n\\n\\tSAMPLESIZE <MODEL=<INPUTNOBS | INPUTNEVENTS | ONESAMPLEMEAN>... > ;\\n\",\"arguments\":[{\"name\":\"ALTREF=\",\"optional\":true,\"description\":\"Specifies the alternative reference—that is, the hypothetical reference under the alternative hypothesis at which the power is computed. The LOWER= and UPPER= options are applicable only for a two-sided design with different lower and upper alternative references.\",\"type\":\"value\"},{\"name\":\"BOUNDARYSCALE=\",\"optional\":true,\"aliases\":[\"BSCALE=\"],\"description\":\"Specifies the statistic scale to be displayed in the boundaries for the output boundary table and boundary plots.\",\"help\":\"BOUNDARYSCALE=MLE | SCORE | STDZ | PVALUE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"MLE\",\"description\":\"Corresponds to the boundary with the maximum likelihood estimator scale.\",\"type\":\"standalone\"},{\"name\":\"SCORE\",\"description\":\"Corresponds to the boundary with the score statistic scale.\",\"type\":\"standalone\"},{\"name\":\"STDZ\",\"description\":\"Corresponds to the boundary with the standardized normal Z scale.\",\"type\":\"standalone\"},{\"name\":\"PVALUE\",\"description\":\"Corresponds to the boundary with the p-value scale.\",\"type\":\"standalone\"}]},{\"name\":\"ERRSPEND\",\"optional\":true,\"description\":\"Displays the error spending at each stage for each boundary in the design.\",\"type\":\"standalone\"},{\"name\":\"MAXINFO=\",\"optional\":true,\"description\":\"Specifies the maximum information level for the design.\",\"help\":\"MAXINFO=*number*\",\"type\":\"value\"},{\"name\":\"PLOTS=\",\"optional\":true,\"description\":\"Syntax: PLOTS <( ONLY )> <= plot-request> PLOTS <( ONLY )> <= ( plot-request < ...plot-request> ) > Specifies options that control the details of the plots. The default is PLOTS=BOUNDARY.\",\"help\":\"PLOTS=ALL | ASN | BOUNDARY | COMBINEDBOUNDARY | ERRSPEND | NONE | POWER\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ALL\",\"description\":\"Produces all appropriate plots.\",\"type\":\"standalone\"},{\"name\":\"ASN\",\"description\":\"[Syntax: ASN<(CREF= numbers)> ] Displays a plot of the average sample numbers (expected sample sizes), under various hypothetical references. For a one-sided design, the power and expected sample sizes under hypotheses θ=ci*thetha1 are displayed, where θ1 is the alternative reference and ci are the values specified in the CREF= option. For a two-sided design, the power and expected sample sizes under hypotheses θ=ci*thetha1l and θ=ci*thetha1u are displayed, where thetha1l and thetha1u are the lower and upper alternative references, respectively. The default is CREF=0 to 1.5 by 0.01.\",\"type\":\"standalone\"},{\"name\":\"BOUNDARY\",\"description\":\"[Syntax: BOUNDARY<(HSCALE=INFO | SAMPLESIZE)> ] Displays a plot of the resulting sequential boundaries with the acceptance and rejection regions for each design. Either the information level (HSCALE=INFO) or the sample size (HSCALE=SAMPLESIZE) is displayed on the horizontal axis. If the HSCALE=SAMPLESIZE option is specified. the SAMPLESIZE statement must also be specified. The default is HSCALE=INFO.\",\"type\":\"standalone\"},{\"name\":\"COMBINEDBOUNDARY\",\"description\":\"[Syntax: COMBINEDBOUNDARY<(HSCALE=INFO | SAMPLESIZE | STAGE)> ] Displays a plot of the resulting sequential boundaries for all designs simultaneously. You can display the information level (HSCALE=INFO), the sample size (HSCALE=SAMPLESIZE), or the stage number (HSCALE=STAGE) on the horizontal axis. The default is HSCALE=INFO.\",\"type\":\"standalone\"},{\"name\":\"ERRSPEND\",\"description\":\"[Syntax: ERRSPEND<(HSCALE=INFO | STAGE)> ] Displays a plot of the error spending for all sequential boundaries in the designs simultaneously. axis. You can display the information level (HSCALE=INFO) or the stage number (HSCALE=STAGE) on the horizontal. With HSCALE=INFO, the information in percentage of its corresponding fixed-sample design is used in the plot. The default is HSCALE=STAGE.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"Suppresses all plots.\",\"type\":\"standalone\"},{\"name\":\"POWER\",\"description\":\"[Syntax: POWER<(CREF= numbers)> ] Displays a plot of the power curves under various hypothetical references. For a one-sided design, the power and expected sample sizes under hypotheses θ=ci*thetha1 are displayed, where θ1 is the alternative reference and ci are the values specified in the CREF= option. For a two-sided design, the power and expected sample sizes under hypotheses θ=ci*thetha1l and θ=ci*thetha1u are displayed, where thetha1l and thetha1u are the lower and upper alternative references, respectively. The default is CREF=0 to 1.5 by 0.01.\",\"type\":\"standalone\"}]},{\"name\":\"PSS\",\"optional\":true,\"description\":\"Displays powers and expected sample sizes under various hypothetical references. For a one- sided design, the power and expected sample sizes under hypotheses θ=ci*thetha1 are displayed, where θ1 is the alternative reference and ci are the values specified in the CREF= option.\",\"type\":\"standalone\"},{\"name\":\"STOPPROB\",\"optional\":true,\"description\":\"Displays expected cumulative stopping probabilities under various hypothetical references. For a one-sided design, the power and expected sample sizes under hypotheses θ=ci*thetha1 are displayed, where θ1 is the alternative reference and ci are the values specified in the CREF= option.\",\"type\":\"standalone\"}]},{\"name\":\"DESIGN\",\"description\":\"The DESIGN statement requests a new group sequential design. You can use multiple DESIGN statements, and each DESIGN statement corresponds to a separate group sequential design.\",\"help\":\"DESIGN &lt;ALPHA= &lt;( &lt;LOWER=&gt;   &lt;UPPER=&gt; )&gt;&gt;&lt;ALT=&lt;LOWER | UPPER | TWOSIDED&gt;&gt;&lt;BETA= &lt;( &lt;LOWER=&gt;   &lt;UPPER=&gt; )&gt;&gt; ...\",\"arguments\":[{\"name\":\"ALPHA=\",\"optional\":true,\"description\":\"Specifies the Type I error probability a. The default is a=0.05. The LOWER= and UPPER= options are applicable only for the two-sided design.\",\"type\":\"value\"},{\"name\":\"ALT=\",\"optional\":true,\"description\":\"Specifies the type of alternative hypothesis in the design.\",\"help\":\"ALT=LOWER | UPPER | TWOSIDED\",\"type\":\"choice\",\"arguments\":[{\"name\":\"LOWER\",\"description\":\"Corresponds to the alternative hypothesis θ is less than 0.\",\"type\":\"standalone\"},{\"name\":\"UPPER\",\"description\":\"Corresponds to the alternative hypothesis θ is greater than 0.\",\"type\":\"standalone\"},{\"name\":\"TWOSIDED\",\"description\":\"Corresponds to the alternative hypothesis θ not equal to 0.\",\"type\":\"standalone\"}]},{\"name\":\"BETA=\",\"optional\":true,\"description\":\"Specifies the Type II error probability level β. The default is β=0.10. The LOWER= and UPPER= options are applicable only for the two-sided design.\",\"type\":\"value\"},{\"name\":\"BOUNDARYKEY=\",\"optional\":true,\"description\":\"Specifies types of errors to be maintained in the resulting boundary. The default is BOUNDARYKEY=ALPHA if both ALTREF= and MAXINFO= options are specified. Otherwise, the default is BOUNDARYKEY=NONE for Whitehead methods with the STOP=BOTH option, and it is BOUNDARYKEY=BOTH for others.\",\"help\":\"BOUNDARYKEY=ALPHA | BETA | BOTH | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ALPHA\",\"description\":\"Maintains the Type I error probability level a and derives Type II error probability b.\",\"type\":\"standalone\"},{\"name\":\"BETA\",\"description\":\"Maintains the Type II error probability level β and derives Type I error probability a.\",\"type\":\"standalone\"},{\"name\":\"BOTH\",\"description\":\"Derives boundary values that maintain both Type I and Type II error probability levels, If the ALTREF= and MAXINFO= options are not both specified.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"Derives both Type I and Type II error probabilities with the completely specified boundary values.\",\"type\":\"standalone\"}]},{\"name\":\"INFO=\",\"optional\":true,\"description\":\"Specifies relative information levels for all stages in the design.\",\"help\":\"INFO=EQUAL | CUM(numbers)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"EQUAL\",\"description\":\"Specifies equally spaced information levels. This is the default.\",\"type\":\"standalone\"},{\"name\":\"CUM\",\"description\":\"Specifies cumulative relative information levels.\",\"help\":\"CUM(numbers)\",\"type\":\"standalone\"}]},{\"name\":\"METHOD(ACCEPT)=\",\"optional\":true,\"description\":\"Specifies the method for the β boundary of a one-sided design or the lower and upper β boundaries for a two-sided design.\",\"help\":\"METHOD(ACCEPT)=*method*\",\"type\":\"value\"},{\"name\":\"METHOD(ALPHA)=\",\"optional\":true,\"description\":\"Specifies the method for the α boundary of a one-sided design or the lower and upper α boundaries for a two-sided design.\",\"help\":\"METHOD(ALPHA)=*method*\",\"type\":\"value\"},{\"name\":\"METHOD(BETA)=\",\"optional\":true,\"description\":\"Specifies the method for the β boundary of a one-sided design or the lower and upper β boundaries for a two-sided design.\",\"help\":\"METHOD(BETA)=*method*\",\"type\":\"value\"},{\"name\":\"METHOD(LOWERACCEPT)=\",\"optional\":true,\"description\":\"Specifies the method for the lower β boundary of a two-sided design.\",\"help\":\"METHOD(LOWERACCEPT)=*method*\",\"type\":\"value\"},{\"name\":\"METHOD(LOWERALPHA)=\",\"optional\":true,\"description\":\"Specifies the method for the lower α boundary of a two-sided design.\",\"help\":\"METHOD(LOWERALPHA)=*method*\",\"type\":\"value\"},{\"name\":\"METHOD(LOWERBETA)=\",\"optional\":true,\"description\":\"Specifies the method for the lower β boundary of a two-sided design.\",\"help\":\"METHOD(LOWERBETA)=*method*\",\"type\":\"value\"},{\"name\":\"METHOD(LOWERREJECT)=\",\"optional\":true,\"description\":\"Specifies the method for the lower α boundary of a two-sided design.\",\"help\":\"METHOD(LOWERREJECT)=*method*\",\"type\":\"value\"},{\"name\":\"METHOD(REJECT)=\",\"optional\":true,\"description\":\"Specifies the method for the α boundary of a one-sided design or the lower and upper α boundaries for a two-sided design.\",\"help\":\"METHOD(REJECT)=*method*\",\"type\":\"value\"},{\"name\":\"METHOD(UPPERACCEPT)=\",\"optional\":true,\"description\":\"Specifies the method for the upper β boundary of a two-sided design.\",\"help\":\"METHOD(UPPERACCEPT)=*method*\",\"type\":\"value\"},{\"name\":\"METHOD(UPPERBETA)=\",\"optional\":true,\"description\":\"Specifies the method for the upper β boundary of a two-sided design.\",\"help\":\"METHOD(UPPERBETA)=*method*\",\"type\":\"value\"},{\"name\":\"METHOD=\",\"optional\":true,\"description\":\"Specifies the method for the boundaries in the design.\",\"help\":\"METHOD=WHITEHEAD | ERRFUNCGAMMA | ERRFUNCOBF | ERRFUNCPOC | ERRFUNCPOW | ERRSPEND | HP | OBRIENFLEMING | POCOCK | POWER | TRIANGULAR | UNIFIED\",\"type\":\"choice\",\"arguments\":[{\"name\":\"WHITEHEAD\",\"description\":\"[Syntax: WHITEHEAD<(AU= <(<LOWER=> <UPPER=>)>)> ] Uses Whitehead’s triangular design and double-triangular design for a one-sided design and two-sided design, respectively (Whitehead and Stratton 1983; Whitehead 1997, 2001).\",\"type\":\"standalone\"},{\"name\":\"ERRFUNCGAMMA\",\"description\":\"[Syntax: ERRFUNCGAMMA<(GAMMA=value)>] Specifies a gamma cumulative error spending function for the boundary (Hwang, Shih, and DeCani 1990).\",\"type\":\"standalone\"},{\"name\":\"ERRFUNCOBF\",\"description\":\"Specifies the O’Brien-Fleming-type cumulative error spending function for the boundary (Lan and DeMets 1983).\",\"type\":\"standalone\"},{\"name\":\"ERRFUNCPOC\",\"description\":\"Specifies the Pocock-type cumulative error spending function for the boundary (Lan and DeMets 1983).\",\"type\":\"standalone\"},{\"name\":\"ERRFUNCPOW\",\"description\":\"[Syntax: ERRFUNCPOW<( RHO=value)> ] Specifies a power cumulative error spending function for the boundary (Jennison and Turnbull 2000, p. 148).\",\"type\":\"standalone\"},{\"name\":\"ERRSPEND\",\"description\":\"[Syntax: ERRSPEND(numbers)] Specifies the relative cumulative error spending at each stage.\",\"type\":\"standalone\"},{\"name\":\"HP\",\"description\":\"[Syntax: HP<(Z=numbers | PVALUE=numbers)>] Specifies the Haybittle-Peto method (Haybittle 1971; Peto et al. 1976).\",\"type\":\"standalone\"},{\"name\":\"OBRIENFLEMING\",\"description\":\"Specifies the O’Brien-Fleming method (O’Brien and Fleming 1979).\",\"type\":\"standalone\"},{\"name\":\"POCOCK\",\"description\":\"Specifies the Pocock method (Pocock 1977). The Pocock method is equivalent to a power family method with RHO=0.\",\"type\":\"standalone\"},{\"name\":\"POWER\",\"description\":\"[Syntax: POWER<(RHO=value)>] Specifies a power family method (Wang and Tsiatis 1987; Emerson and Fleming 1989; Pampallona and Tsiatis 1994).\",\"type\":\"standalone\"},{\"name\":\"TRIANGULAR\",\"description\":\"[Syntax: TRIANGULAR<(TAU=value)>] Specifies a unified family triangular method (Kittelson and Emerson 1999). The default is TAU=1.0.\",\"type\":\"standalone\"},{\"name\":\"UNIFIED\",\"description\":\"[Syntax: UNIFIED<(<TAU=value> <RHO=value>)>] Specifies a unified family method (Kittelson and Emerson 1999).\",\"type\":\"standalone\"}]},{\"name\":\"NSTAGES=\",\"optional\":true,\"description\":\"Specifies the number of stages for the design. This option is required in the DESIGN statement, and the maximum allowed number of stages is 25.\",\"help\":\"NSTAGES=*number*\",\"type\":\"value\"},{\"name\":\"STOP=\",\"optional\":true,\"description\":\"Specifies the condition of early stopping for the design.\",\"help\":\"STOP=ACCEPT | REJECT | BOTH\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ACCEPT\",\"description\":\"Early stopping only to accept the null hypothesis Ho.\",\"type\":\"standalone\"},{\"name\":\"REJECT\",\"description\":\"Early stopping only to reject the null hypothesis Ho. This is the default.\",\"type\":\"standalone\"},{\"name\":\"BOTH\",\"description\":\"Syntax: BOTH < ( BETABOUNDARY=BINDING | NONBINDING ) > Specifies the early stopping criterion for the design. The keywords ACCEPT, REJECT, and BOTH correspond to early stopping only to accept, only to reject, and either to accept or reject the null hypothesis H0, respectively. The default is STOP=REJECT. With STOP=BOTH, the BETABOUNDARY= BINDING suboption computes the Type I error probability with the acceptance boundary, and the BETABOUNDARY=NONBINDING suboption computes the Type I error probability without the acceptance boundary. The default is BETABOUNDARY=BINDING. The BETABOUNDARY= NONBINDING option is not applicable with METHOD=WHITEHEAD.\",\"type\":\"standalone\"}]}]},{\"name\":\"SAMPLESIZE\",\"description\":\"If each observation in the data set provides one unit of information in a hypothesis testing such as a one-sample test for the mean, the SAMPLESIZE statement computes the required sample sizes for the sequential design specified in each DESIGN statement. However, for a survival analysis, an individual in the survival time data might provide only partial information because of censoring. For this hypothesis, the SAMPLESIZE statement computes the required numbers of events. With additional accrual information in a survival analysis, the sample sizes can also be computed.\",\"help\":\"SAMPLESIZE &lt;MODEL=&lt;INPUTNOBS | INPUTNEVENTS | ONESAMPLEMEAN&gt;... &gt;\",\"arguments\":[{\"name\":\"MODEL=\",\"optional\":true,\"description\":\"Specifies the input sample size or number of events from a fixed-sample study, or it specifies a statistical model to compute the required sample size.\",\"help\":\"MODEL=INPUTNOBS | INPUTNEVENTS | ONESAMPLEMEAN | ONESAMPLEFREQ | TWOSAMPLEMEAN | TWOSAMPLEFREQ | TWOSAMPLESURVIVAL | REG | LOGISTIC | PHREG\",\"type\":\"choice\",\"arguments\":[{\"name\":\"INPUTNOBS\",\"description\":\"[Syntax: INPUTNOBS<(options)>] Specifies the sample size information for a fixed-sample design. The available options are as follows: N=n specifies the sample size n for the fixed-sample design. SAMPLE= ONE|TWO specifies a one-sample test or a two-sample test. WEIGHT= wa < wb with a two-sample test, specifies the sample size allocation weights for the two groups. MATCHNOBS= YES|NO specifies whether or not to request fractional sample sizes that are rounded up to integer sample sizes to match the sample size allocation.\",\"type\":\"standalone\"},{\"name\":\"INPUTNEVENTS\",\"description\":\"[Syntax: INPUTNEVENTS(D=d < options >)] Specifies the number of events for a fixed-sample survival test. The available options are as follows: D=d specifies the fixed-sample number of events d. SAMPLE= ONE|TWO specifies a one-sample test or a two-sample test. HAZARD=ha <hb> specifies the hazard rate MEDSURVTIME=ta <tb> specifies hazard rates for groups A and B implicitly through the median survival times ta and tb. WEIGHT=wa <wb> specifies the sample size allocation weights for the two groups. ACCNOBS=na specifies the total number of individuals in the study. ACCRATE=ra specifies the constant accrual rate ra, ACCRUAL= UNIFORM | EXP(PARM=γ0) specifies the method for individual accrual. The default ACCRUAL=UNIFORM option specifies that the individual accrual is uniform in the accrual time Ta with a constant accrual rate ra, and the ACCRUAL=EXP(PARM=γ0) option specifies that the individual accrual is truncated exponential with a scaled power parameter γ0, where γ0 >= -10 and γ0 ≠ 0. LOSS= NONE | EXP( HAZARD=τ | MEDLOSSTIME=tτ) specifies the individual loss to follow up in the sample size computation. The default LOSS=NONE option specifies no loss to follow up, and the LOSS=EXP option specifies exponential loss function. The HAZARD=τ suboption specifies the exponential loss hazard rate τ, and the MEDLOSSTIME=tτ suboption specifies the exponential loss hazard rate through the median loss times tτ. ACCTIME=Ta specifies the accrual time Ta FOLTIME=Tf specifies the follow-up time Tf TOTALTIME=T specifies the total study time T=Ta+Tf.\",\"type\":\"standalone\"},{\"name\":\"ONESAMPLEMEAN\",\"description\":\"[Syntax: ONESAMPLEMEAN<(options)>] Specifies the one-sample Z test for mean. The available options are as follows: MEAN=u1 specifies the alternative reference u1 and is required if the alternative reference is not specified or derived in the procedure. STDDEV=σ specifies the standard deviation σ\",\"type\":\"standalone\"},{\"name\":\"ONESAMPLEFREQ\",\"description\":\"[Syntax: ONESAMPLEFREQ<(options)>] Specifies the one-sample test for binomial proportion with the null hypothesis Ho: θ=0 and the alternative hypothesis H1: θ=θ1, where θ=p-po and θ1=p1-po. The available options are as follows: NULLPROP=po specify the proportions under the null hypotheses PROP=p1 specify the proportions under the alternative hypotheses REF= NULLPROP|PROP specifies the hypothesis under which the proportion is used in the sample size computation.\",\"type\":\"standalone\"},{\"name\":\"TWOSAMPLEMEAN\",\"description\":\"[Syntax: TWOSAMPLEMEAN<(options)>] Specifies the two-sample Z test for mean difference. The available options are as follows: MEANDIFF=θ1 specifies the alternative reference θ1 and is required if the alternative reference is not specified or derived in the procedure. STDDEV=σA <σB> specifies the standard deviations σA and σB. WEIGHT=wa <wb> specifies the sample size allocation weights for the two groups. MATCHNOBS= YES|NO specifies whether or not to request fractional sample sizes that are rounded up to integer sample sizes to match the sample size allocation.\",\"type\":\"standalone\"},{\"name\":\"TWOSAMPLEFREQ\",\"description\":\"[Syntax: TWOSAMPLEFREQ<(options)>] Specifies the two-sample test for binomial proportions. The available options are as follows: NULLPROP=poa <pob> specifies proportions pa=poa and pb=pob in groups A and B, respectively, under the null hypothesis. PROP=p1a specifies proportion pa=p1a in group A under the alternative hypothesis. TEST= PROP|LOGOR|LOGRR specifies the null hypothesis Ho:θ=0 in the test. REF= NULLPROP|PROP|AVGNULLPROP|AVGPROP specifies the hypothesis under which the proportions are used in the sample size computation. WEIGHT=wa <wb> specifies the sample size allocation weights for the two groups. MATCHNOBS= YES|NO specifies whether or not to request fractional sample sizes that are rounded up to integer sample sizes to match the sample size allocation.\",\"type\":\"standalone\"},{\"name\":\"TWOSAMPLESURVIVAL\",\"description\":\"[Syntax: TWOSAMPLESURVIVAL<(options)>] Specifies the log-rank test for two survival distributions. The available options for the number of events are as follows: NULLHAZARD=hoa <hob> specifies hazard rates ha=hoa and hb=hob for groups A and B, respectively, under the null hypothesis. NULLMEDSURVTIME=toa <tob> specifies the median survival times ta=toa and tb=tob under the null hypothesis. HAZARD=h1a specifies the group A hazard rate h1a under the alternative hypothesis. MEDSURVTIME=t1a specifies the group A median survival time t1a under the alternative hypothesis. HAZARDRATIO=λ1 specifies the hazard ratio λ1=h1a/h1b under the alternative hypothesis.\",\"type\":\"standalone\"},{\"name\":\"REG\",\"description\":\"[Syntax: REG<(options)>] Specifies the Z test for a normal regression parameter. The available options are as follows: BETA=B1 specifies the alternative reference B1 and is required if the alternative reference is not specified or derived in the procedure. VARIANCE=σ²y specifies the variances for the response variable Y. XVARIANCE=σ²x specifies the variances for the covariate X. XRSQUARE=r²x used to derive the variance of X after adjusting for other covariates. The default is XRSQUARE=0.\",\"type\":\"standalone\"},{\"name\":\"LOGISTIC\",\"description\":\"[Syntax: LOGISTIC<(options)>] Specifies the Z test for a logistic regression parameter. The available options are as follows: BETA=B1 specifies the alternative reference B1 and is required if the alternative reference is not specified or derived in the procedure. PROP=p specifies the proportion of the binary response variable Y. The default is PROP=0.5. XVARIANCE=σ²x specifies the variances for the covariate X. The default is XVARIANCE=1. XRSQUARE=r-square-x used to derive the variance of X after adjusting for other covariates. The default is XRSQUARE=0.\",\"type\":\"standalone\"},{\"name\":\"PHREG\",\"description\":\"[Syntax: PHREG<(options)>] Specifies the Z test for a proportional hazards regression parameter. The available options for the number of events are as follows: BETA=B1 specifies the alternative reference B1 and is required if the alternative reference is not specified or derived in the procedure. XVARIANCE=σ²x specifies the variances for the covariate X. The default is XVARIANCE=1. XRSQUARE=r-square-x used to derive the variance of X after adjusting for other covariates. The default is XRSQUARE=0. HAZARD=ha specifies the hazard rate ha explicitly. MEDSURVTIME=ta specifies hazard rate implicitly through the median survival time ta. ACCRATE=ra specifies the constant accrual rate ra, ACCTIME=Ta specifies the accrual time Ta FOLTIME=Tf specifies the follow-up time Tf TOTALTIME=T specifies the total study time T=Ta+Tf.\",\"type\":\"standalone\"}]}]}],\"supportSiteInformation\":{\"docsetId\":\"statug\",\"docsetVersion\":\"latest\",\"docsetTargetFile\":\"statug_seqdesign_toc.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/SEQMC.json",
    "content": "{\"name\":\"SEQMC\",\"statements\":[{\"name\":\"PROC SEQMC\",\"description\":\"The PROC SEQMC statement performs sequence mining by using a Monte Carlo sampling algorithm.\",\"help\":\"PROC SEQMC DATA=libref.data-tablePCTSUP=doubleSUPPORT=integer<options>;\\n\\tCUSTOMER variable-name;\\n\\n\\tTARGET variable-name;\\n\\n\\tVISIT variable-name;\\n\\n\\t<OUTPUT OUT=libref.data-table>;\\n\",\"arguments\":[{\"name\":\"DATA=\",\"aliases\":[\"TABLE\"],\"description\":\"specifies the two-level input table name.\",\"help\":\"DATA=*libref.table-name*\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"p10euzxzqwe12pn19zd39swylse9\"},{\"name\":\"PCTSUP=\",\"aliases\":[\"PCTSUPPORT\",\"SUPPCT\",\"SUP_PCT\"],\"description\":\"specifies the minimum percentage level of support for a sequence.\",\"help\":\"PCTSUP=*double*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0rkbrb1c6q15cn1re5x31og95lz\"},{\"name\":\"SUPPORT=\",\"description\":\"specifies the minimum number of transactions that must occur in a sequence.\",\"help\":\"SUPPORT=*integer*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1grp5celddol3n1uiyg1qsyw3jz\"},{\"name\":\"K=\",\"optional\":true,\"description\":\"specifies the number of items in an output sequence.\",\"help\":\"K=*integer*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1406nq3uw8ofun1sa8cu5rqxv2p\"},{\"name\":\"SEED=\",\"optional\":true,\"description\":\"specifies the seed to use for random number generation.\",\"help\":\"SEED=*integer*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0c1c8mbydfl6yn10ro5zld36d72\"},{\"name\":\"NSAMPLES=\",\"optional\":true,\"description\":\"specifies the number of candidates to sample.\",\"help\":\"NSAMPLES=*integer*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1e2uocojttxcan1hb43uh4zfzm1\"},{\"name\":\"NSAMPLESTOVERIFY=\",\"optional\":true,\"description\":\"specifies the number of sample candidates to verify.\",\"help\":\"NSAMPLESTOVERIFY=*integer*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p14okkbz34dssjn1c2g2yty3jo3c\"}],\"supportSiteTargetFile\":\"p1ckjigshish2un1qb808oubi1l2.htm\"},{\"name\":\"CUSTOMER\",\"description\":\"The CUSTOMER statement specifies the sequence or customer column of the input table.\",\"help\":\"CUSTOMER *variable*;\",\"arguments\":[{\"name\":\"variable\",\"placeholder\":true,\"description\":\"specifies the sequence or customer column of the input table.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0jkexfreeuwm2n1lj1ljx68niap\"}],\"supportSiteTargetFile\":\"n0p3i9fcxxvf1rn1uws3j8w9mg0y.htm\"},{\"name\":\"OUTPUT\",\"description\":\"The OUTPUT statement creates a data table that contains information about frequently occurring sequences and about their support.\",\"help\":\"OUTPUT OUT=*libref.data-table*;\",\"arguments\":[{\"name\":\"OUT=\",\"description\":\"specifies the name of the created data table.\",\"help\":\"OUT=*libref.data-table*\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"p0oakj92l4f8ksn1f6tyjvrr4viz\"}],\"supportSiteTargetFile\":\"p0auuqi8k24dufn1kwwshgjbsrxx.htm\"},{\"name\":\"TARGET\",\"description\":\"The TARGET statement specifies the target column of the input table.\",\"help\":\"TARGET *variable*;\",\"arguments\":[{\"name\":\"variable\",\"placeholder\":true,\"description\":\"specifies the target column of the input table.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1pp8bi56zddghn1vv4qc69xyhpt\"}],\"supportSiteTargetFile\":\"n1jh88wpenjd12n1r8zf3chtfgc1.htm\"},{\"name\":\"VISIT\",\"description\":\"The VISIT statement specifies the event or time column of the input table.\",\"help\":\"VISIT *variable*;\",\"arguments\":[{\"name\":\"variable\",\"placeholder\":true,\"description\":\"specifies the event or time column of the input table.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1xnlr13gyqaetn1vjcd7zt9696n\"}],\"supportSiteTargetFile\":\"n1qbt769177ypwn13qbwjyoej1gq.htm\"}],\"supportSiteInformation\":{\"docsetId\":\"casmlproc\",\"docsetVersion\":\"v_005\",\"docsetTargetFile\":\"n1xpn884awnvoyn1tv0skrbg6060.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/SEQTEST.json",
    "content": "{\"name\":\"SEQTEST\",\"statements\":[{\"name\":\"PROC SEQTEST\",\"description\":\"The purpose of the SEQTEST procedure is to perform interim analyses for clinical trials. Clinical trials are experiments on human beings to demonstrate the efficacy and safety of new drugs or treatments. A simple example is a trial to test the effectiveness of a new drug in humans by comparing the outcomes in a group of patients who receive the new drug with the outcomes in a comparable group of patients who receive a placebo. † A clinical trial is conducted according to a plan called a protocol. A protocol details the objectives of the trial, the data collection process, and the analyses of the data. The protocol contains information such as a null hypothesis and an alternative hypothesis, a test statistic, the probability α of a Type I error (incorrectly rejecting the null hypothesis), the probability β of a Type II error (incorrectly accepting the null hypothesis), the sample size needed to attain a specified power (probability of correctly rejecting the null hypothesis) of 1-β at an alternative reference, and critical values that are associated with the test statistic for hypothesis testing.\",\"help\":\"PROC SEQTEST &lt;BETABOUNDARY=BINDING | NONBINDING&gt;&lt;BETAOVERLAP=ADJUST | NOADJUST&gt;&lt;BOUNDARY=SAS-data-set&gt;&lt;BOUNDARYADJ(ALPHA)=NONE | ERRLINE | ERRFUNCGAMMA... &gt;&lt;BOUNDARYADJ(BETA)=NONE | ERRLINE | ERRFUNCGAMMA... &gt;&lt;BOUNDARYADJ(LOWERALPHA)=NONE | ERRLINE | ERRFUNCGAMMA... &gt;&lt;BOUNDARYADJ(LOWERBETA)=NONE | ERRLINE | ERRFUNCGAMMA... &gt;&lt;BOUNDARYADJ(UPPERALPHA)=NONE | ERRLINE | ERRFUNCGAMMA... &gt;&lt;BOUNDARYADJ(UPPERBETA)=NONE | ERRLINE | ERRFUNCGAMMA... &gt;&lt;BOUNDARYADJ=NONE | ERRLINE | ERRFUNCGAMMA... &gt;&lt;BOUNDARYKEY=ALPHA | BETA | BOTH&gt;&lt;BOUNDARYSCALE=MLE | SCORE | STDZ... &gt;&lt;CIALPHA=&lt;(&lt;LOWER=al&gt; &lt;UPPER=au&gt;)&gt;&gt;&lt;CITYPELOWER | UPPER | TWOSIDED&gt;&lt;CONDPOWER &lt;( CREF=numbers )&gt;&gt;&lt;DATA &lt;(TESTVAR=variable)&gt;=SAS-data-set&gt;&lt;ERRSPEND&gt;&lt;ERRSPENDMIN(ALPHA)=&gt;&lt;ERRSPENDMIN(BETA)=&gt;&lt;ERRSPENDMIN(LOWERALPHA)=&gt;&lt;ERRSPENDMIN(LOWERBETA)=&gt;&lt;ERRSPENDMIN(UPPERALPHA)=&gt;&lt;ERRSPENDMIN(UPPERBETA)=&gt;&lt;ERRSPENDMIN&lt;(boundary)&gt;=numbers&gt;&lt;MAXINFO=number&gt;&lt;NSTAGES=number&gt;&lt;ORDER=LR | MLE | STAGEWISE&gt;&lt;PARMS &lt;(TESTVAR=variable)&gt; =SAS-data-set&gt;&lt;PLOTS=ALL | ASN | CONDPOWER... &gt;&lt;PREDPOWER&gt;&lt;PSS &lt;( CREF=numbers ) &gt;&gt;&lt;RCI&gt;&lt;STOPPROB &lt;( CREF=numbers ) &gt;&gt;; \",\"arguments\":[{\"name\":\"BETABOUNDARY=\",\"optional\":true,\"description\":\"Specifies whether the β boundary is used in the computation of the Type I error level α.\",\"help\":\"BETABOUNDARY=BINDING | NONBINDING\",\"type\":\"choice\",\"arguments\":[{\"name\":\"BINDING\",\"description\":\"Computes the Type I error probability with the β (acceptance) boundary.\",\"type\":\"standalone\"},{\"name\":\"NONBINDING\",\"description\":\"Computes the Type I error probability without the β boundary.\",\"type\":\"standalone\"}]},{\"name\":\"BETAOVERLAP=\",\"optional\":true,\"aliases\":[\"OVERLAP=\"],\"description\":\"Syntax: BETAOVERLAP=ADJUST | NOADJUST OVERLAP=ADJUST | NOADJUST\",\"help\":\"BETAOVERLAP=ADJUST | NOADJUST\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ADJUST\",\"description\":\"The type of overlapping might result from a small β spending at an interim stage. When you specify BETAOVERLAP=ADJUST, the procedure checks for this type of overlapping at the current and subsequent interim stages. If such overlapping is found, the β boundaries for the two-sided design at that stage are set to missing, and the β spending values at subsequent stages are adjusted.\",\"type\":\"standalone\"},{\"name\":\"NOADJUST\",\"description\":\"You can specify BETAOVERLAP=NOADJUST to request that no adjustment be made. The default is BETAOVERLAP=ADJUST.\",\"type\":\"standalone\"}]},{\"name\":\"BOUNDARY=\",\"optional\":true,\"description\":\"Names the required SAS data set containing the design boundary information.\",\"help\":\"BOUNDARY=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"BOUNDARYADJ(ALPHA)=\",\"optional\":true,\"description\":\"Specifies methods for boundary adjustments if an information level at a stage does not have a matched information level in the original design. The default is BOUNDARYADJ=ERRLINE.\",\"help\":\"BOUNDARYADJ(ALPHA)=NONE | ERRLINE | ERRFUNCGAMMA | ERRFUNCOBF | ERRFUNCPOC | ERRFUNCPOW\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NONE\",\"description\":\"Specifies that the cumulative error spending at each interim stage not be changed, even if the corresponding information level has been changed.\",\"type\":\"standalone\"},{\"name\":\"ERRLINE\",\"description\":\"Specifies the linear interpolation method for the adjustment.\",\"type\":\"standalone\"},{\"name\":\"ERRFUNCGAMMA\",\"description\":\"[Syntax: ERRFUNCGAMMA<(GAMMA=value)>] Specifies the γ function method for the adjustment.\",\"type\":\"standalone\"},{\"name\":\"ERRFUNCOBF\",\"description\":\"Specifies the approximate O’Brien-Fleming cumulative error spending function for the adjustment.\",\"type\":\"standalone\"},{\"name\":\"ERRFUNCPOC\",\"description\":\"Specifies the approximate Pocock cumulative error spending function for the adjustment.\",\"type\":\"standalone\"},{\"name\":\"ERRFUNCPOW\",\"description\":\"[Syntax: ERRFUNCPOW<(RHO=value)>] Specifies the power function method for the adjustment. The RHO= suboption specifies the power parameter p in the function.\",\"type\":\"standalone\"}]},{\"name\":\"BOUNDARYADJ(BETA)=\",\"optional\":true,\"description\":\"Specifies methods for boundary adjustments if an information level at a stage does not have a matched information level in the original design. The default is BOUNDARYADJ=ERRLINE.\",\"help\":\"BOUNDARYADJ(BETA)=NONE | ERRLINE | ERRFUNCGAMMA | ERRFUNCOBF | ERRFUNCPOC | ERRFUNCPOW\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NONE\",\"description\":\"Specifies that the cumulative error spending at each interim stage not be changed, even if the corresponding information level has been changed.\",\"type\":\"standalone\"},{\"name\":\"ERRLINE\",\"description\":\"Specifies the linear interpolation method for the adjustment.\",\"type\":\"standalone\"},{\"name\":\"ERRFUNCGAMMA\",\"description\":\"[Syntax: ERRFUNCGAMMA<(GAMMA=value)>] Specifies the γ function method for the adjustment.\",\"type\":\"standalone\"},{\"name\":\"ERRFUNCOBF\",\"description\":\"Specifies the approximate O’Brien-Fleming cumulative error spending function for the adjustment.\",\"type\":\"standalone\"},{\"name\":\"ERRFUNCPOC\",\"description\":\"Specifies the approximate Pocock cumulative error spending function for the adjustment.\",\"type\":\"standalone\"},{\"name\":\"ERRFUNCPOW\",\"description\":\"[Syntax: ERRFUNCPOW<(RHO=value)>] Specifies the power function method for the adjustment. The RHO= suboption specifies the power parameter p in the function.\",\"type\":\"standalone\"}]},{\"name\":\"BOUNDARYADJ(LOWERALPHA)=\",\"optional\":true,\"description\":\"Specifies methods for boundary adjustments if an information level at a stage does not have a matched information level in the original design. The default is BOUNDARYADJ=ERRLINE.\",\"help\":\"BOUNDARYADJ(LOWERALPHA)=NONE | ERRLINE | ERRFUNCGAMMA | ERRFUNCOBF | ERRFUNCPOC | ERRFUNCPOW\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NONE\",\"description\":\"Specifies that the cumulative error spending at each interim stage not be changed, even if the corresponding information level has been changed.\",\"type\":\"standalone\"},{\"name\":\"ERRLINE\",\"description\":\"Specifies the linear interpolation method for the adjustment.\",\"type\":\"standalone\"},{\"name\":\"ERRFUNCGAMMA\",\"description\":\"[Syntax: ERRFUNCGAMMA<(GAMMA=value)>] Specifies the γ function method for the adjustment.\",\"type\":\"standalone\"},{\"name\":\"ERRFUNCOBF\",\"description\":\"Specifies the approximate O’Brien-Fleming cumulative error spending function for the adjustment.\",\"type\":\"standalone\"},{\"name\":\"ERRFUNCPOC\",\"description\":\"Specifies the approximate Pocock cumulative error spending function for the adjustment.\",\"type\":\"standalone\"},{\"name\":\"ERRFUNCPOW\",\"description\":\"[Syntax: ERRFUNCPOW<(RHO=value)>] Specifies the power function method for the adjustment. The RHO= suboption specifies the power parameter p in the function.\",\"type\":\"standalone\"}]},{\"name\":\"BOUNDARYADJ(LOWERBETA)=\",\"optional\":true,\"description\":\"Specifies methods for boundary adjustments if an information level at a stage does not have a matched information level in the original design. The default is BOUNDARYADJ=ERRLINE.\",\"help\":\"BOUNDARYADJ(LOWERBETA)=NONE | ERRLINE | ERRFUNCGAMMA | ERRFUNCOBF | ERRFUNCPOC | ERRFUNCPOW\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NONE\",\"description\":\"Specifies that the cumulative error spending at each interim stage not be changed, even if the corresponding information level has been changed.\",\"type\":\"standalone\"},{\"name\":\"ERRLINE\",\"description\":\"Specifies the linear interpolation method for the adjustment.\",\"type\":\"standalone\"},{\"name\":\"ERRFUNCGAMMA\",\"description\":\"[Syntax: ERRFUNCGAMMA<(GAMMA=value)>] Specifies the γ function method for the adjustment.\",\"type\":\"standalone\"},{\"name\":\"ERRFUNCOBF\",\"description\":\"Specifies the approximate O’Brien-Fleming cumulative error spending function for the adjustment.\",\"type\":\"standalone\"},{\"name\":\"ERRFUNCPOC\",\"description\":\"Specifies the approximate Pocock cumulative error spending function for the adjustment.\",\"type\":\"standalone\"},{\"name\":\"ERRFUNCPOW\",\"description\":\"[Syntax: ERRFUNCPOW<(RHO=value)>] Specifies the power function method for the adjustment. The RHO= suboption specifies the power parameter p in the function.\",\"type\":\"standalone\"}]},{\"name\":\"BOUNDARYADJ(UPPERALPHA)=\",\"optional\":true,\"description\":\"Specifies methods for boundary adjustments if an information level at a stage does not have a matched information level in the original design. The default is BOUNDARYADJ=ERRLINE.\",\"help\":\"BOUNDARYADJ(UPPERALPHA)=NONE | ERRLINE | ERRFUNCGAMMA | ERRFUNCOBF | ERRFUNCPOC | ERRFUNCPOW\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NONE\",\"description\":\"Specifies that the cumulative error spending at each interim stage not be changed, even if the corresponding information level has been changed.\",\"type\":\"standalone\"},{\"name\":\"ERRLINE\",\"description\":\"Specifies the linear interpolation method for the adjustment.\",\"type\":\"standalone\"},{\"name\":\"ERRFUNCGAMMA\",\"description\":\"Specifies the γ function method for the adjustment.\",\"type\":\"standalone\"},{\"name\":\"ERRFUNCOBF\",\"description\":\"Specifies the approximate O’Brien-Fleming cumulative error spending function for the adjustment.\",\"type\":\"standalone\"},{\"name\":\"ERRFUNCPOC\",\"description\":\"Specifies the approximate Pocock cumulative error spending function for the adjustment.\",\"type\":\"standalone\"},{\"name\":\"ERRFUNCPOW\",\"description\":\"[Syntax: ERRFUNCPOW<(RHO=value)>] Specifies the power function method for the adjustment. The RHO= suboption specifies the power parameter p in the function.\",\"type\":\"standalone\"}]},{\"name\":\"BOUNDARYADJ(UPPERBETA)=\",\"optional\":true,\"description\":\"Specifies methods for boundary adjustments if an information level at a stage does not have a matched information level in the original design. The default is BOUNDARYADJ=ERRLINE.\",\"help\":\"BOUNDARYADJ(UPPERBETA)=NONE | ERRLINE | ERRFUNCGAMMA | ERRFUNCOBF | ERRFUNCPOC | ERRFUNCPOW\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NONE\",\"description\":\"Specifies that the cumulative error spending at each interim stage not be changed, even if the corresponding information level has been changed.\",\"type\":\"standalone\"},{\"name\":\"ERRLINE\",\"description\":\"Specifies the linear interpolation method for the adjustment.\",\"type\":\"standalone\"},{\"name\":\"ERRFUNCGAMMA\",\"description\":\"Specifies the γ function method for the adjustment.\",\"type\":\"standalone\"},{\"name\":\"ERRFUNCOBF\",\"description\":\"Specifies the approximate O’Brien-Fleming cumulative error spending function for the adjustment.\",\"type\":\"standalone\"},{\"name\":\"ERRFUNCPOC\",\"description\":\"Specifies the approximate Pocock cumulative error spending function for the adjustment.\",\"type\":\"standalone\"},{\"name\":\"ERRFUNCPOW\",\"description\":\"[Syntax: ERRFUNCPOW<(RHO=value)>] Specifies the power function method for the adjustment. The RHO= suboption specifies the power parameter p in the function.\",\"type\":\"standalone\"}]},{\"name\":\"BOUNDARYADJ=\",\"optional\":true,\"description\":\"Specifies methods for boundary adjustments if an information level at a stage does not have a matched information level in the original design. The default is BOUNDARYADJ=ERRLINE.\",\"help\":\"BOUNDARYADJ=NONE | ERRLINE | ERRFUNCGAMMA | ERRFUNCOBF | ERRFUNCPOC | ERRFUNCPOW\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NONE\",\"description\":\"Specifies that the cumulative error spending at each interim stage not be changed, even if the corresponding information level has been changed.\",\"type\":\"standalone\"},{\"name\":\"ERRLINE\",\"description\":\"Specifies the linear interpolation method for the adjustment.\",\"type\":\"standalone\"},{\"name\":\"ERRFUNCGAMMA\",\"description\":\"Specifies the γ function method for the adjustment.\",\"type\":\"standalone\"},{\"name\":\"ERRFUNCOBF\",\"description\":\"Specifies the approximate O’Brien-Fleming cumulative error spending function for the adjustment.\",\"type\":\"standalone\"},{\"name\":\"ERRFUNCPOC\",\"description\":\"Specifies the approximate Pocock cumulative error spending function for the adjustment.\",\"type\":\"standalone\"},{\"name\":\"ERRFUNCPOW\",\"description\":\"[Syntax: ERRFUNCPOW<(RHO=value)>] Specifies the power function method for the adjustment. The RHO= suboption specifies the power parameter p in the function.\",\"type\":\"standalone\"}]},{\"name\":\"BOUNDARYKEY=\",\"optional\":true,\"description\":\"Specifies the boundary key to be maintained in the boundary adjustments.\",\"help\":\"BOUNDARYKEY=ALPHA | BETA | BOTH\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ALPHA\",\"description\":\"Maintains the Type I error probability level α and derives Type II error probability.\",\"type\":\"standalone\"},{\"name\":\"BETA\",\"description\":\"Maintains the Type II error probability level β and derives Type I error probability.\",\"type\":\"standalone\"},{\"name\":\"BOTH\",\"description\":\"Maintains both α and β levels simultaneously by deriving a new maximum information.\",\"type\":\"standalone\"}]},{\"name\":\"BOUNDARYSCALE=\",\"optional\":true,\"aliases\":[\"BSCALE=\"],\"description\":\"Specifies the boundary scale to be displayed in the boundaries for the output boundary table and boundary plots.\",\"help\":\"BOUNDARYSCALE=MLE | SCORE | STDZ | PVALUE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"MLE\",\"description\":\"Corresponds to the boundary with the maximum likelihood estimator scale.\",\"type\":\"standalone\"},{\"name\":\"SCORE\",\"description\":\"Corresponds to the boundary with the score statistic scale.\",\"type\":\"standalone\"},{\"name\":\"STDZ\",\"description\":\"Corresponds to the boundary with the standardized normal Z scale.\",\"type\":\"standalone\"},{\"name\":\"PVALUE\",\"description\":\"Corresponds to the boundary with the p-value scale.\",\"type\":\"standalone\"}]},{\"name\":\"CIALPHA=\",\"optional\":true,\"description\":\"Specifies the significance levels for the confidence interval, where 0 < p < 1,  0 < al < 0.5, and 0 < au < 0.5. The default is CIALPHA= 0.05.\",\"type\":\"value\"},{\"name\":\"CITYPE\",\"optional\":true,\"description\":\"Specifies the type of confidence interval.\",\"help\":\"CITYPELOWER | UPPER | TWOSIDED\",\"type\":\"choice\",\"arguments\":[{\"name\":\"LOWER\",\"description\":\"Lower confidence interval\",\"type\":\"standalone\"},{\"name\":\"UPPER\",\"description\":\"Upper confidence interval\",\"type\":\"standalone\"},{\"name\":\"TWOSIDED\",\"description\":\"Two-sided confidence interval\",\"type\":\"standalone\"}]},{\"name\":\"CONDPOWER\",\"optional\":true,\"description\":\"Displays conditional powers given the most recently observed statistic under specified hypothetical references. The default is CREF= 0 0.5 1.0 1.5.\",\"type\":\"standalone\"},{\"name\":\"DATA=\",\"optional\":true,\"description\":\"Names the SAS data set containing the test statistics and information levels.\",\"type\":\"value\"},{\"name\":\"ERRSPEND\",\"optional\":true,\"description\":\"Displays the error spending at each stage for each sequential boundary.\",\"type\":\"standalone\"},{\"name\":\"ERRSPENDMIN(ALPHA)=\",\"optional\":true,\"description\":\"Specifies the minimum error spending values for the α boundary of a one-sided design or the lower and upper α boundaries of a two-sided design.\",\"type\":\"value\"},{\"name\":\"ERRSPENDMIN(BETA)=\",\"optional\":true,\"description\":\"Specifies the minimum error spending values for the β boundary of a one-sided design or the lower and upper β boundaries of a two-sided design.\",\"type\":\"value\"},{\"name\":\"ERRSPENDMIN(LOWERALPHA)=\",\"optional\":true,\"description\":\"Specifies the minimum error spending values for the lower α boundary of a two-sided design.\",\"type\":\"value\"},{\"name\":\"ERRSPENDMIN(LOWERBETA)=\",\"optional\":true,\"description\":\"Specifies the minimum error spending values for the lower β boundary of a two-sided design.\",\"type\":\"value\"},{\"name\":\"ERRSPENDMIN(UPPERALPHA)=\",\"optional\":true,\"description\":\"Specifies the minimum error spending values for the upper α boundary of a two-sided design.\",\"type\":\"value\"},{\"name\":\"ERRSPENDMIN(UPPERBETA)=\",\"optional\":true,\"description\":\"Specifies the minimum error spending values for the upper β boundary of a two-sided design.\",\"type\":\"value\"},{\"name\":\"ERRSPENDMIN=\",\"optional\":true,\"description\":\"Specifies the minimum error spending values at interim stages for the boundary. The default is ERRSPENDMIN=0. Use this if a set of numbers is used for each boundary in the design. Otherwise, use one of the ERRSPENDMIN(boundary)=numbers options.\",\"type\":\"value\"},{\"name\":\"MAXINFO=\",\"optional\":true,\"description\":\"Specifies the maximum information for the clinical trial if the information is not available from the variable _Info_ in the DATA= data set.\",\"help\":\"MAXINFO=*number*\",\"type\":\"value\"},{\"name\":\"NSTAGES=\",\"optional\":true,\"description\":\"Specifies the number of stages for the clinical trial.\",\"help\":\"NSTAGES=*number*\",\"type\":\"value\"},{\"name\":\"ORDER=\",\"optional\":true,\"description\":\"Specifies the ordering of the sample space (k,z), where k is the stage number and z is the observed standardized Z statistic.\",\"help\":\"ORDER=LR | MLE | STAGEWISE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"LR\",\"description\":\"Specifies the LR ordering that compares the distances between observed standardized Z statistics and their corresponding hypothetical values.\",\"type\":\"standalone\"},{\"name\":\"MLE\",\"description\":\"Specifies the MLE ordering that compares values in the MLE scale.\",\"type\":\"standalone\"},{\"name\":\"STAGEWISE\",\"description\":\"Specifies the stage-wise ordering that uses counterclockwise ordering around the continuous region.\",\"type\":\"standalone\"}]},{\"name\":\"PARMS=\",\"optional\":true,\"description\":\"Names the SAS data set containing the parameter estimates and their associated standard errors.\",\"type\":\"value\"},{\"name\":\"PLOTS=\",\"optional\":true,\"description\":\"Syntax: PLOTS <( ONLY )> <= plot-request> PLOTS <( ONLY )> <= ( plot-request < ...plot-request> ) > Specifies options that control the details of the plots. The default is PLOTS=BOUNDARY.\",\"help\":\"PLOTS=ALL | ASN | CONDPOWER | ERRSPEND | NONE | POWER | RCI | TEST\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ALL\",\"description\":\"Produces all appropriate plots.\",\"type\":\"standalone\"},{\"name\":\"ASN\",\"description\":\"Displays a plot of the average sample numbers (expected sample sizes), under various hypothetical references. For a one-sided design, the power and expected sample sizes under hypotheses θ=ci*thetha1 are displayed, where θ1 is the alternative reference and ci are the values specified in the CREF= option. For a two-sided design, the power and expected sample sizes under hypotheses θ=ci*thetha1l and θ=ci*thetha1u are displayed, where thetha1l and thetha1u are the lower and upper alternative references, respectively. The default is CREF=0 to 1.5 by 0.01.\",\"type\":\"standalone\"},{\"name\":\"CONDPOWER\",\"description\":\"Displays a plot of conditional powers given the most recently observed statistic under specified hypothetical references. For a one-sided design, the power and expected sample sizes under hypotheses θ=ci*thetha1 are displayed, where θ1 is the alternative reference and ci are the values specified in the CREF= option. For a two-sided design, the power and expected sample sizes under hypotheses θ=ci*thetha1l and θ=ci*thetha1u are displayed, where thetha1l and thetha1u are the lower and upper alternative references, respectively. The default is CREF=0 to 1.5 by 0.01.\",\"type\":\"standalone\"},{\"name\":\"ERRSPEND\",\"description\":\"Displays a plot of the error spending for all sequential boundaries in the designs simultaneously. You can display the information level (HSCALE=INFO) or the stage number (HSCALE=STAGE) on the horizontal axis. With HSCALE=INFO, the information in percentage of its corresponding fixed-sample design is used in the plot. The default is HSCALE=STAGE.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"Suppresses all plots.\",\"type\":\"standalone\"},{\"name\":\"POWER\",\"description\":\"Displays a plot of the power curves under various hypothetical references. For a one-sided design, the power and expected sample sizes under hypotheses θ=ci*thetha1 are displayed, where θ1 is the alternative reference and ci are the values specified in the CREF= option. For a two-sided design, the power and expected sample sizes under hypotheses θ=ci*thetha1l and θ=ci*thetha1u are displayed, where thetha1l and thetha1u are the lower and upper alternative references, respectively. The default is CREF=0 to 1.5 by 0.01.\",\"type\":\"standalone\"},{\"name\":\"RCI\",\"description\":\"Displays a plot of repeated confidence intervals. Repeated confidence intervals include both rejection and acceptance confidence intervals.\",\"type\":\"standalone\"},{\"name\":\"TEST\",\"description\":\"[Syntax: TEST<(HSCALE=INFO | SAMPLESIZE)>] Displays a plot of the sequential boundaries and test variables. Either the information level (HSCALE=INFO) or the sample size (HSCALE=SAMPLESIZE) is displayed on the horizontal axis.\",\"type\":\"standalone\"}]},{\"name\":\"PREDPOWER\",\"optional\":true,\"description\":\"Displays predictive powers given the most recently observed statistic.\",\"type\":\"standalone\"},{\"name\":\"PSS\",\"optional\":true,\"description\":\"Displays powers and expected sample sizes under various hypothetical references. The default is CREF= 0 0.5 1.0 1.5.\",\"type\":\"standalone\"},{\"name\":\"RCI\",\"optional\":true,\"description\":\"Displays repeated confidence intervals for the parameter from the observed statistic at each stage.\",\"type\":\"standalone\"},{\"name\":\"STOPPROB\",\"optional\":true,\"description\":\"Displays expected cumulative stopping probabilities under various hypothetical references. The default is CREF= 0 0.5 1.0 1.5.\",\"type\":\"standalone\"}]}],\"supportSiteInformation\":{\"docsetId\":\"statug\",\"docsetVersion\":\"latest\",\"docsetTargetFile\":\"statug_seqtest_toc.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/SEVERITY.json",
    "content": "{\"name\":\"SEVERITY\",\"statements\":[{\"name\":\"PROC SEVERITY\",\"description\":\"The SEVERITY procedure estimates parameters of any arbitrary continuous probability distribution that is used to model magnitude (severity) of a continuous-valued event of interest. Some examples of such events are loss amounts paid by an insurance company and demand of a product as depicted by its sales. PROC SEVERITY is especially useful when the severity of an event does not follow typical distributions, such as the normal distribution, that are often assumed by standard statistical methods. † PROC SEVERITY provides a default set of probability distribution models that includes the Burr, exponential, gamma, generalized Pareto, inverse Gaussian (Wald), lognormal, Pareto, and Weibull distributions. In the simplest form, you can estimate the parameters of any of these distributions by using a list of severity values that are recorded in a SAS data set. The values can optionally be grouped by a set of BY variables. PROC SEVERITY computes the estimates of the model parameters, their standard errors, and their covariance structure by using the maximum likelihood method for each of the BY groups. † PROC SEVERITY can fit multiple distributions at the same time and choose the best distribution according to a specified selection criterion. Seven different statistics of fit can be used as selection criteria. They are log likelihood, Akaike’s information criterion (AIC), corrected Akaike’s information criterion (AICC), Schwarz Bayesian information criterion (BIC), Kolmogorov-Smirnov statistic (KS), Anderson-Darling statistic (AD), and Cramér-von-Mises statistic (CvM).\",\"help\":\"PROC SEVERITY <COVOUT><CRITERION=LOGLIKELIHOOD|LL | AIC | AICC... ><DATA=SAS-data-set><EDFALPHA=confidence-level><EMPIRICALCDF=AUTOMATIC|AUTO | STANDARD|STD | KAPLANMEIER|KM... ><INEST=SAS-data-set><INITSAMPLE (initsample-option) | INITSAMPLE (initsample-option . . . initsample-option)><INSTORE=store-name><NAMELEN=number><NOCLPRINT< =number >><NOPRINT><OBJECTIVE=symbol-name><OUTCDF=SAS-data-set><OUTEST=SAS-data-set><OUTMODELINFO=SAS-data-set><OUTSTAT=SAS-data-set><OUTSTORE=store-name><PLOTS=ALL | NONE | CDF... ><PRINT=ALL | NONE | DESCSTATS... ><VARDEF=DF | N>;     \\n\\tABORT <ABEND><CANCEL><CANCEL FILE> ...;\\n\\n\\tARRAY <_ALL_><_NUMERIC_><_TEMPORARY_> ...;\\n\\n\\tATTRIB <FORMAT=format><INFORMAT=informat><LABEL='label'> ...;\\n\\n\\tBY <DESCENDING><NOTSORTED> ;\\n\\n\\tCALL routine(parameter-1<, ...parameter-n>);\\n\\n\\tCLASS <DESCENDING><ORDER=<DATA | FORMATTED | FREQ>... ><REF=<<'level'> | FIRST | LAST>> ...;\\n\\n\\tCONTINUE;\\n\\n\\tDELETE;\\n\\n\\tDESCRIBE;\\n\\n\\tDISPLAY <BELL><BLANK><NOINPUT> ...;\\n\\n\\tDIST _ALL_ _PREDEFINED_ _USER_ ...;\\n\\n\\tDO <OVER><><> ...;\\n\\n\\t;\\n\\n\\t;\\n\\n\\tDROP variable-list;\\n\\n\\tELSE <DO><IF><THEN> ...;\\n\\n\\tEND;\\n\\n\\tENDRSUBMIT;\\n\\n\\tERROR <message>;\\n\\n\\tEXECUTE;\\n\\n\\tFILE <DISK><DUMMY><LOG> ...;\\n\\n\\tFORMAT <DEFAULT=default-format> ;\\n\\n\\tGO TO label | GOTO label;\\n\\n\\tIF <DO><THEN><WHEN> ...;\\n\\n\\tINFILE <DATALINES4><DATALINES><DISK> ...;\\n\\n\\tINFORMAT <DEFAULT= default-informat> ;\\n\\n\\tINPUT <specification(s)><@|@@>;\\n\\n\\tKEEP variable-list;\\n\\n\\t;\\n\\n\\tLEAVE;\\n\\n\\tLENGTH <DEFAULT=n> ;\\n\\n\\tLINK label;\\n\\n\\tLIST;\\n\\n\\tLOCK <CLEAR><LIST> ;\\n\\n\\tLOSS <LEFTCENSORED | LC=variable-name><LEFTTRUNCATED | LT=variable-name><RIGHTCENSORED | RC=variable-name> ...;\\n\\n\\tMERGE <ALTER=><BUFNO=<n | nK | hexX>... ><END=variable> ...;\\n\\n\\tMISSING character(s);\\n\\n\\tMODEL <CRITERION=<LOGLIKELIHOOD|LL | AIC | AICC>... ><EMPIRICALCDF=<AUTOMATIC|AUTO | STANDARD|STD | KAPLANMEIER|KM>... > ;\\n\\n\\tMODIFY <END=variable><KEY=index><NOBS=variable> ...;\\n\\n\\tNLOPTIONS <ABSCONV= | ABSTOL=r><ABSFCONV=r[n] | ABSFTOL=r[n><ABSGCONV=r[n] | ABSGTOL=r[n> ...;\\n\\n\\tOTHERWISE <DO> ;\\n\\n\\tOUTPUT<data-set-name(s)>;\\n\\n\\tOUTSCORELIB <COMMONPACKAGE><OUTBYID=SAS-data-set><OUTLIB=fcmp-library-name> ...;\\n\\n\\tPAGE;\\n\\n\\tPUT <_ALL_><_INFILE_><_ODS_> ...;\\n\\n\\tPUTLOG 'message';\\n\\n\\tRENAME old-name-1=new-name-1 ... <old-name-n=new-name-n>;\\n\\n\\tREPLACE <data-set-name-1><...data-set-name-n>;\\n\\n\\tRETAIN <element-list(s) <initial-value(s) |;\\n\\n\\tRETURN;\\n\\n\\tRSUBMIT <options>; ENDRSUBMIT <CANCEL>;\\n\\n\\tSCALEMODEL <DFMIXTURE=<FULL | MEAN | QUANTILE>... ><OFFSET=offset-variable-name> ;\\n\\n\\t;\\n\\n\\tSET <END=variable><INDSNAME=variable><KEY=index</UNIQUE>> ...;\\n\\n\\tSKIP <n>;\\n\\n\\tSTOP;\\n\\n\\tWEIGHT variable-name ;\\n\\n\\tWHEN <DO> ;\\n\\n\\tWHERE where-expression-1;\\n\",\"arguments\":[{\"name\":\"COVOUT\",\"optional\":true,\"description\":\"Specifies that the OUTEST= data set contain the estimate of the covariance structure of the parameters. This option has no effect if the OUTEST= option is not specified. Details of how the covariance is reported in OUTEST= data set are provided in the section OUTEST= Data Set.\",\"type\":\"standalone\"},{\"name\":\"CRITERION=\",\"optional\":true,\"aliases\":[\"CRITERIA=\",\"CRIT=\"],\"description\":\"Specifies the model selection criterion.\",\"help\":\"CRITERION=LOGLIKELIHOOD | AIC | AICC | BIC | KS | AD | CVM | CUSTOM\",\"type\":\"choice\",\"arguments\":[{\"name\":\"LOGLIKELIHOOD\",\"aliases\":[\"LL\"],\"description\":\"Specifies -2*log(L) as the selection criterion, where L is the likelihood of the data. A lower value is deemed better. This is the default.\",\"type\":\"standalone\"},{\"name\":\"AIC\",\"description\":\"Specifies the Akaike’s information criterion (AIC) as the selection criterion. A lower value is deemed better.\",\"type\":\"standalone\"},{\"name\":\"AICC\",\"description\":\"Specifies the finite-sample corrected Akaike’s information criterion (AICC) as the selection criterion. A lower value is deemed better.\",\"type\":\"standalone\"},{\"name\":\"BIC\",\"description\":\"Specifies Schwarz Bayesian information criterion (BIC) as the selection criterion. A lower value is deemed better.\",\"type\":\"standalone\"},{\"name\":\"KS\",\"description\":\"Specifies the Kolmogorov-Smirnov (KS) statistic value, which is computed by using the empirical distribution function (EDF) estimate, as the selection criterion. A lower value is deemed better.\",\"type\":\"standalone\"},{\"name\":\"AD\",\"description\":\"Specifies the Anderson-Darling (AD) statistic value, which is computed by using the empirical distribution function (EDF) estimate, as the selection criterion. A lower value is deemed better.\",\"type\":\"standalone\"},{\"name\":\"CVM\",\"description\":\"Specifies the Craer-von-Mises (CvM) statistic value, which is computed by using the empirical distribution function (EDF) estimate, as the selection criterion. A lower value is deemed better.\",\"type\":\"standalone\"},{\"name\":\"CUSTOM\",\"description\":\"Specifies the custom objective function as the selection criterion. You can specify this only if you also specify the OBJECTIVE= option. A lower value is deemed better.\",\"type\":\"standalone\"}]},{\"name\":\"DATA=\",\"optional\":true,\"description\":\"Names the input data set. If you do not specify the DATA= option, then the most recently created SAS data set is used.\",\"help\":\"DATA=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"EDFALPHA=\",\"optional\":true,\"description\":\"Specifies the confidence level in the (0,1) range that is used for computing the confidence intervals for the EDF estimates. The lower and upper confidence limits that correspond to this level are reported in the OUTCDF= data set, if specified, and are displayed in the plot that is created when you specify the PLOTS=CDFPERDIST option.\",\"help\":\"EDFALPHA=*confidence-level*\",\"type\":\"value\"},{\"name\":\"EMPIRICALCDF=\",\"optional\":true,\"aliases\":[\"EDF=\"],\"description\":\"Specifies the method to use for computing the nonparametric or empirical estimate of the cumulative distribution function of the data.\",\"help\":\"EMPIRICALCDF=AUTOMATIC | STANDARD | KAPLANMEIER | MODIFIEDKM | TURNBULL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"AUTOMATIC\",\"aliases\":[\"AUTO\"],\"description\":\"Specifies that the method be chosen automatically based on the data specification. This option is the default. If no right-censoring or left-truncation is specified, then the standard empirical estimation method (STANDARD) is chosen. If either right- censoring or left-truncation is specified, then the Kaplan-Meier method (KAPLANMEIER) is chosen.\",\"type\":\"standalone\"},{\"name\":\"STANDARD\",\"aliases\":[\"STD\"],\"description\":\"Specifies that the standard empirical estimation method be used. This ignores any censoring or truncation information even if specified, and can thus result in estimates that are more biased than those obtained with other methods more suitable for such data.\",\"type\":\"standalone\"},{\"name\":\"KAPLANMEIER\",\"aliases\":[\"KM\"],\"description\":\"Specifies that the product limit estimator proposed by Kaplan and Meier (1958) be used.\",\"type\":\"standalone\"},{\"name\":\"MODIFIEDKM\",\"aliases\":[\"MKM\"],\"description\":\"Syntax: MODIFIEDKM | MKM <(options)> Specifies that the modified product limit estimator be used. This method allows the estimates to be more robust by ignoring the contributions to the estimate due to small risk-set sizes. The risk set is the set of observations at the risk of failing, where an observation is said to fail if it has not been processed yet and might experience censoring or truncation. However, you can modify the default by using the following options: RSLB=number specifies the absolute lower bound on the risk set size to be included in the estimate. C=number specifies the value to use for c when the lower bound on the risk set size is defined as cn^α. This value must satisfy c > 0. ALPHA | A=number specifies the value to use for α when the lower bound on the risk set size is defined as cn^α. This value must satisfy 0 < α < 1.\",\"type\":\"standalone\"},{\"name\":\"TURNBULL\",\"aliases\":[\"EM\"],\"description\":\"Syntax: TURNBULL | EM <(options)> Specifies that the Turnbull’s method be used. This method is used when you specify both rightcensoring and left-censoring. You can modify the default behavior of the EM algorithm by using the following options: ENSUREMLE specifies that the final EDF estimates be maximum likelihood estimates. EPS=number specifies the maximum relative error to be allowed between estimates of two consecutive iterations. This criterion is used to check the convergence of the algorithm. MAXITER=number specifies the maximum number of iterations to attempt to find the empirical estimates. ZEROPROB=number specifies the threshold below which an empirical estimate of the probability is considered zero.\",\"type\":\"standalone\"}]},{\"name\":\"INEST=\",\"optional\":true,\"description\":\"Names the input data set that contains the initial values of the parameter estimates to start the optimization process. The initial values specified in the INIT= option in the DIST statement take precedence over any initial values specified in this data set. Details of the variables in this data set are provided in the section INEST= Data Set.\",\"help\":\"INEST=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"INITSAMPLE\",\"optional\":true,\"description\":\"Specifies that a sample of the input data be used for initializing the distribution parameters. If you specify more than one initsample-option, then separate them with spaces. PROC SEVERITY uses the uniform random sampling method to select the sample, the size and randomness of which are controlled by the following initsample-options:\",\"help\":\"INITSAMPLE (FRACTION= | SEED= | SIZE=)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"FRACTION=\",\"type\":\"value\"},{\"name\":\"SEED=\",\"type\":\"value\"},{\"name\":\"SIZE=\",\"type\":\"value\"}]},{\"name\":\"INSTORE=\",\"optional\":true,\"description\":\"Names the item store that contains the context and results of the severity model estimation process. An item store has a binary file format that cannot be modified. You must specify an item store that you have created in another PROC SEVERITY step by using the OUTSTORE= option.\",\"help\":\"INSTORE=*store-name*\",\"type\":\"value\"},{\"name\":\"NAMELEN=\",\"optional\":true,\"description\":\"Specifies the length to which long regression effect names are shortened. The default and minimum value is 20.\",\"help\":\"NAMELEN=*number*\",\"type\":\"value\"},{\"name\":\"NOCLPRINT\",\"optional\":true,\"description\":\"Suppresses the display of the “Class Level Information” table if you do not specify number. If you specify number, the values of the classification variables are displayed for only those variables whose number of levels is less than number. Specifying a number helps to reduce the size of the “Class Level Information” table if some classification variables have a large number of levels. This option has no effect if you do not specify the CLASS statement.\",\"type\":\"standalone\"},{\"name\":\"NOPRINT\",\"optional\":true,\"description\":\"Turns off all displayed and graphical output. If specified, any value specified for the PRINT= and PLOTS= options is ignored.\",\"type\":\"standalone\"},{\"name\":\"OBJECTIVE=\",\"optional\":true,\"description\":\"Names the symbol that represents the objective function in the SAS programming statements that you specify. For each model to be estimated, PROC SEVERITY executes the programming statements to compute the value of this symbol for each observation. The values are added across all observations to obtain the value of the objective function. The optimization algorithm estimates the model parameters such that the objective function value is minimized. A separate optimization problem is solved for each candidate distribution. If you specify a BY statement, then a separate optimization problem is solved for each candidate distribution within each BY group.\",\"help\":\"OBJECTIVE=*symbol-name*\",\"type\":\"value\"},{\"name\":\"OUTCDF=\",\"optional\":true,\"description\":\"Names the output data set to contain estimates of the cumulative distribution function (CDF) value at each of the observations. The information is output for each specified model whose parameter estimation process converges. The data set also contains the estimates of the empirical distribution function (EDF). Details of the variables in this data set are provided in the section OUTCDF= Data Set.\",\"help\":\"OUTCDF=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"OUTEST=\",\"optional\":true,\"description\":\"Names the output data set to contain estimates of the parameter values and their standard errors for each model whose parameter estimation process converges. Details of the variables in this data set are provided in the section OUTEST= Data Set.\",\"help\":\"OUTEST=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"OUTMODELINFO=\",\"optional\":true,\"description\":\"Names the output data set to contain the status of each fitted model. The status information includes the convergence status of the optimization process that is used to estimate the parameters, the status of estimating the covariance matrix, and whether a model is the best according to the specified selection criterion. Details of the variables in this data set are provided in the section OUTMODELINFO= Data Set.\",\"help\":\"OUTMODELINFO=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"OUTSTAT=\",\"optional\":true,\"description\":\"Names the output data set to contain the values of statistics of fit for each model whose parameter estimation process converges. Details of the variables in this data set are provided in the section OUTSTAT= Data Set.\",\"help\":\"OUTSTAT=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"OUTSTORE=\",\"optional\":true,\"description\":\"Names the item store to contain the context and results of the severity model estimation process. The resulting item store has a binary file format that cannot be modified. You can specify this item store in a subsequent PROC SEVERITY step by using the INSTORE= option.\",\"help\":\"OUTSTORE=*store-name*\",\"type\":\"value\"},{\"name\":\"PLOTS=\",\"optional\":true,\"description\":\"[Syntax:PLOTS < (global-plot-options) > < =plot-request-option > PLOTS < (global-plot-options) > < =(plot-request-option . . . plot-request-option) >] Specifies the desired graphical output. If you specify more than one global-plot-option, then separate them with spaces and enclose them in parentheses. If you specify more than one plot-request-option, then separate them with spaces and enclose them in parentheses. You can specify the following global-plot-options: HISTOGRAM plots the histogram of the response variable on the PDF plots.\",\"help\":\"PLOTS=ALL | NONE | CDF | CDFPERDIST | CONDITIONALPDF | CONDITIONALPDFPERDIST | PDF | PDFPERDIST | PP | QQ\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ALL\",\"description\":\"Creates all the graphical output.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"Creates none of the graphical output. If you specify this option, then it overrides all the other plot-request-options. The default graphical output is also suppressed.\",\"type\":\"standalone\"},{\"name\":\"CDF\",\"description\":\"Creates a plot that compares the cumulative distribution function (CDF) estimates of all the candidate distribution models to the empirical distribution function (EDF) estimate. The plot does not contain CDF estimates for models whose parameter estimation process does not converge.\",\"type\":\"standalone\"},{\"name\":\"CDFPERDIST\",\"description\":\"creates a plot of the CDF estimates of each candidate distribution model. A plot is not created for models whose parameter estimation process does not converge.\",\"type\":\"standalone\"},{\"name\":\"CONDITIONALPDF\",\"description\":\"Syntax: CONDITIONALPDF < (cpdf-options) > | CONDPDF < (cpdf-options) > creates a plot that compares the conditional PDF estimates of all the candidate distribution models. You can specify the following cpdf-options to control how the values of L and R are computed and which regions are displayed: LEFTQ | LEFT | L=number specifies the CDF value, between 0 and 1, to mark the end of the left-tail region. RIGHTQ | RIGHT | R=number specifies the CDF value, between 0 and 1, to mark the start of the right-tail region. QUANTILEBOUNDS specifies that the region boundaries be computed by using the estimated quantile functions of individual distributions. SHOWREGION | SHOW=region-option | SHOWREGION | SHOW=(region-options) specifies the regions to display in the plot. You can specify any combination of the following region-options: CENTER | C specifies that the center region, which is the region between the end of the left-tail and the beginning of the right-tail, be shown. LEFT | L specifies that the left-tail region of the plot be shown. RIGHT | R specifies that the right-tail region of the plot be shown.\",\"type\":\"standalone\"},{\"name\":\"CONDITIONALPDFPERDIST\",\"description\":\"Syntax: CONDITIONALPDFPERDIST < (cpdf-options) > | CONDPDFDIST < (cpdf-options) > creates a plot of the conditional PDF estimates of each candidate distribution model. A plot is not created for models whose parameter estimation process does not converge. The cpdf-options are identical to those listed for the CONDITIONALPDF plot option, except that they are interpreted in the context of each candidate distribution individually. You can specify different set of values for the cpdf-options in the CONDITIONALPDFPERDIST option than the values you specify in the CONDITIONALPDF option.\",\"type\":\"standalone\"},{\"name\":\"PDF\",\"description\":\"Creates a plot that compares the probability density function (PDF) estimates of all the candidate distribution models. The plot does not contain PDF estimates for models whose parameter estimation process does not converge.\",\"type\":\"standalone\"},{\"name\":\"PDFPERDIST\",\"description\":\"Creates a plot of the PDF estimates of each candidate distribution model. A plot is not created for models whose parameter estimation process does not converge.\",\"type\":\"standalone\"},{\"name\":\"PP\",\"description\":\"Creates the probability-probability plot (known as the P-P plot), which compares the CDF estimate of each candidate distribution model to the empirical distribution function (EDF). The data that are shown in this plot are used for computing the EDF-based statistics of fit.\",\"type\":\"standalone\"},{\"name\":\"QQ\",\"description\":\"Creates the quantile-quantile plot (known as the Q-Q plot), which compares the empirical quantiles to the quantiles of each candidate distribution model.\",\"type\":\"standalone\"}]},{\"name\":\"PRINT=\",\"optional\":true,\"description\":\"[Syntax: PRINT <(global-display-option)> <=display-option> PRINT < (global-display-option) > < = (display-option . . . display-option) >] Specifies the desired displayed output. If you specify more than one display-option, then separate them with spaces and enclose them in parentheses.\",\"help\":\"PRINT=ALL | NONE | DESCSTATS | SELECTION | ALLFITSTATS | INITIALVALUES | CONVSTATUS | NLOHISTORY | NLOSUMMARY | STATISTICS | ESTIMATES | DISTINFO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ALL\",\"description\":\"Displays all the output.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"Displays none of the output. If specified, this option overrides all the other display options. The default displayed output is also suppressed.\",\"type\":\"standalone\"},{\"name\":\"DESCSTATS\",\"description\":\"Displays the descriptive statistics for the response variable and the regressor variables, if they are specified.\",\"type\":\"standalone\"},{\"name\":\"SELECTION\",\"aliases\":[\"SELECT\"],\"description\":\"Displays the model selection table.\",\"type\":\"standalone\"},{\"name\":\"ALLFITSTATS\",\"description\":\"Displays the comparison of all the statistics of fit for all the models in one table. The table does not include the models whose parameter estimation process does not converge.\",\"type\":\"standalone\"},{\"name\":\"INITIALVALUES\",\"description\":\"Displays the initial values and bounds used for estimating each model\",\"type\":\"standalone\"},{\"name\":\"CONVSTATUS\",\"description\":\"Displays the convergence status of the parameter estimation process.\",\"type\":\"standalone\"},{\"name\":\"NLOHISTORY\",\"description\":\"Displays the iteration history of the nonlinear optimization process used for estimating the parameters.\",\"type\":\"standalone\"},{\"name\":\"NLOSUMMARY\",\"description\":\"Displays the summary of the nonlinear optimization process used for estimating the parameters.\",\"type\":\"standalone\"},{\"name\":\"STATISTICS\",\"aliases\":[\"FITSTATS\"],\"description\":\"Displays the statistics of fit for each model. The statistics of fit are not displayed for models whose parameter estimation process does not converge.\",\"type\":\"standalone\"},{\"name\":\"ESTIMATES\",\"aliases\":[\"PARMEST\"],\"description\":\"Displays the final estimates of parameters. The estimates are not displayed for models whose parameter estimation process does not converge.\",\"type\":\"standalone\"},{\"name\":\"DISTINFO\",\"description\":\"Displays the information about each specified distribution. For each distribution, the information includes the name, description, validity status, and number of distribution parameters.\",\"type\":\"standalone\"}]},{\"name\":\"VARDEF=\",\"optional\":true,\"description\":\"Specifies the denominator to use for computing the covariance estimates.\",\"help\":\"VARDEF=DF | N\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DF\",\"description\":\"Specifies that the number of nonmissing observations minus the model degrees of freedom (number of parameters) be used.\",\"type\":\"standalone\"},{\"name\":\"N\",\"description\":\"Specifies that the number of nonmissing observations be used.\",\"type\":\"standalone\"}]}]},{\"name\":\"ABORT\",\"description\":\"Stops executing the current DATA step, SAS job, or SAS session. n is an integer value that enables you to specify a condition code: o when used with the CANCEL argument, the value is placed in the SYSINFO automatic macro variable o when not used with the CANCEL argument, the error code that is returned by SAS is ERROR. The value of ERROR depends on the operating system. The condition code n is returned to the operating system as the final SAS system exit code.\",\"help\":\"ABORT &lt;ABEND&gt;&lt;CANCEL&gt;&lt;CANCEL FILE&gt; ...\",\"arguments\":[{\"name\":\"n\",\"optional\":true,\"placeholder\":true,\"description\":\"Replace <n> with an actual integer value. n is an integer value that enables you to specify a condition code: o when used with the CANCEL argument, the value is placed in the SYSINFO automatic macro variable o when not used with the CANCEL argument, the error code that is returned by SAS is ERROR. The value of ERROR depends on the operating system. The condition code n is returned to the operating system as the final SAS system exit code.\",\"type\":\"standaloneOrValue\"},{\"name\":\"ABEND\",\"optional\":true,\"description\":\"Causes abnormal termination of the current SAS job or session. Results depend on the method of operation: o batch mode and noninteractive mode o stops processing immediately o sends an error message to the SAS log that states that execution was terminated by the ABEND option of the ABORT macro statement o does not execute any subsequent statements or check syntax o returns control to the operating environment; further action is based on how your operating environment and your site treat jobs that end abnormally. o windowing environment and interactive line mode\",\"type\":\"standalone\"},{\"name\":\"CANCEL\",\"optional\":true,\"description\":\"Causes the cancellation of the current submitted statements. The results depend on the method of operation: o batch mode and noninteractive mode o The entire SAS program and SAS system are terminated. o The error message is written to the SAS log. o windowing environment and interactive line mode o It only clears the current submitted program. o Other subsequent submitted programs are not affected. o The error message is written to the SAS log. o workspace server and stored process server o It only clears currently submitted program. o Other subsequent submit calls are not affected. o The error message is written to the SAS log. o SAS IntrNet application server\",\"type\":\"standalone\"},{\"name\":\"CANCEL FILE\",\"optional\":true,\"description\":\"Causes only the contents of the autoexec file or %INCLUDE file to be cleared by the %ABORT statement. Other submitted source statements will be executed after the autoexec or %INCLUDE file.\",\"type\":\"standalone\"},{\"name\":\"NOLIST\",\"optional\":true,\"description\":\"Suppresses the output of all variables to the SAS log. Requirement: NOLIST must be the last option in the ABORT statement.\",\"type\":\"standalone\"},{\"name\":\"RETURN\",\"optional\":true,\"description\":\"Causes abnormal termination of the current SAS job or session. Results depend on the method of operation: o batch mode and noninteractive mode o stops processing immediately o sends an error message to the SAS log that states that execution was terminated by the RETURN option in the ABORT macro statement o does not execute any subsequent statements or check syntax o returns control to the operating environment with a condition code indicating an error. o windowing environment and interactive line mode\",\"type\":\"standalone\"}]},{\"name\":\"ARRAY\",\"description\":\"Defines the elements of an array.\",\"help\":\"ARRAY &lt;_ALL_&gt;&lt;_NUMERIC_&gt;&lt;_TEMPORARY_&gt; ...\",\"arguments\":[{\"name\":\"_ALL_\",\"optional\":true,\"description\":\"Specifies all variables.\",\"type\":\"standalone\"},{\"name\":\"_CHARACTER_\",\"optional\":true,\"description\":\"Specifies all character variables.\",\"type\":\"standalone\"},{\"name\":\"_NUMERIC_\",\"optional\":true,\"description\":\"Specifies all numeric variables.\",\"type\":\"standalone\"},{\"name\":\"_TEMPORARY_\",\"optional\":true,\"description\":\"Creates a list of temporary data elements.\",\"type\":\"standalone\"}]},{\"name\":\"ATTRIB\",\"description\":\"Associates a format, informat, label, and length with one or more variables.\",\"help\":\"ATTRIB &lt;FORMAT=format&gt;&lt;INFORMAT=informat&gt;&lt;LABEL='label'&gt; ...\",\"arguments\":[{\"name\":\"FORMAT=\",\"optional\":true,\"description\":\"Associates a format with variables in a variable-list.\",\"help\":\"FORMAT=*format*\",\"type\":\"value\"},{\"name\":\"INFORMAT=\",\"optional\":true,\"description\":\"Associates an informat with variables in a variable-list.\",\"help\":\"INFORMAT=*informat*\",\"type\":\"value\"},{\"name\":\"LABEL=\",\"optional\":true,\"description\":\"Associates a label with variables in a variable-list.\",\"help\":\"LABEL='*label*'\",\"type\":\"value\"},{\"name\":\"LENGTH=\",\"optional\":true,\"description\":\"Specifies the length of variables in a variable-list.\",\"type\":\"value\"},{\"name\":\"TRANSCODE=\",\"optional\":true,\"description\":\"Specifies whether character variables can be transcoded.\",\"help\":\"TRANSCODE=YES | NO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YES\",\"description\":\"Specifies that character variables can be transcoded.\",\"type\":\"standalone\"},{\"name\":\"NO\",\"description\":\"Suppresses transcoding.\",\"type\":\"standalone\"}]}]},{\"name\":\"BY\",\"description\":\"A BY statement can be used in the SEVERITY procedure to process the input data set in groups of observations defined by the BY variables. If you specify the BY statement, then PROC SEVERITY expects the input data set to be sorted in the order of the BY variables unless you specify the NOTSORTED option.\",\"help\":\"BY &lt;DESCENDING&gt;&lt;NOTSORTED&gt;\",\"arguments\":[{\"name\":\"DESCENDING\",\"optional\":true,\"description\":\"Specifies that the observations are sorted in descending order by the variable that immediately follows the word DESCENDING in the BY statement.\",\"type\":\"standalone\"},{\"name\":\"NOTSORTED\",\"optional\":true,\"description\":\"Specifies that observations are not necessarily sorted in alphabetic or numeric order.\",\"type\":\"standalone\"}]},{\"name\":\"CALL\",\"description\":\"Invokes a SAS CALL routine.\",\"help\":\"CALL routine(parameter-1&lt;, ...parameter-n&gt;)\"},{\"name\":\"CLASS\",\"description\":\"The CLASS statement names the classification variables to be used in the scale regression model. These variables enter the analysis not through their values, but through levels to which the unique values are mapped.\",\"help\":\"CLASS &lt;DESCENDING&gt;&lt;ORDER=&lt;DATA | FORMATTED | FREQ&gt;... &gt;&lt;REF=&lt;&lt;'level'&gt; | FIRST | LAST&gt;&gt; ...\",\"arguments\":[{\"name\":\"DESCENDING\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"DESC\"],\"description\":\"Reverses the sort order of the classification variable. If you specify both the DESCENDING and ORDER= options, the SEVERITY procedure orders the levels of classification variables according to the ORDER= option and then reverses that order.\",\"type\":\"standalone\"},{\"name\":\"MISSING\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Treats missing values (., ._, .A, …, .Z for numeric variables and blanks for character variables) as valid values for the CLASS variable.\",\"type\":\"standalone\"},{\"name\":\"ORDER=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the sort order for the categories of categorical variables. This ordering determines which parameters in the model correspond to each level in the data. When the default ORDER=FORMATTED is in effect for numeric variables for which you have supplied no explicit format, the levels are ordered by their internal values.\",\"help\":\"ORDER=DATA | FORMATTED | FREQ | FREQDATA | FREQFORMATTED | FREQINTERNAL | INTERNAL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DATA\",\"followsDelimiter\":\"/\",\"description\":\"Order of appearance in the input data set\",\"type\":\"standalone\"},{\"name\":\"FORMATTED\",\"followsDelimiter\":\"/\",\"description\":\"External formatted value, except for numeric variables with no explicit format, which are sorted by their unformatted (internal) value\",\"type\":\"standalone\"},{\"name\":\"FREQ\",\"followsDelimiter\":\"/\",\"description\":\"Descending frequency count; levels with the most observations come first in the order\",\"type\":\"standalone\"},{\"name\":\"FREQDATA\",\"followsDelimiter\":\"/\",\"description\":\"Order of descending frequency count, and within counts by order of appearance in the input data set when counts are tied\",\"type\":\"standalone\"},{\"name\":\"FREQFORMATTED\",\"followsDelimiter\":\"/\",\"description\":\"Order of descending frequency count, and within counts by formatted value (as above) when counts are tied\",\"type\":\"standalone\"},{\"name\":\"FREQINTERNAL\",\"followsDelimiter\":\"/\",\"description\":\"Order of descending frequency count, and within counts by unformatted value when counts are tied\",\"type\":\"standalone\"},{\"name\":\"INTERNAL\",\"followsDelimiter\":\"/\",\"description\":\"Unformatted value\",\"type\":\"standalone\"}]},{\"name\":\"PARAM=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the parameterization method for the classification variable or variables.\",\"help\":\"PARAM=GLM | REFERENCE*keyword*\",\"type\":\"value\",\"arguments\":[{\"name\":\"GLM\",\"followsDelimiter\":\"/\",\"description\":\"Specifies a less-than-full-rank reference cell coding.\",\"type\":\"standalone\"},{\"name\":\"REFERENCE\",\"followsDelimiter\":\"/\",\"description\":\"Specifies a reference cell encoding.\",\"type\":\"standalone\"}]},{\"name\":\"REF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"REFERENCE=\"],\"description\":\"Specifiess the reference level that is used when you specify PARAM=REFERENCE. For an individual (but not a global) variable REF= option, you can specify the level of the variable to use as the reference level. Specify the formatted value of the variable if a format is assigned.\",\"help\":\"REF=&lt;'*level*'&gt; | FIRST | LAST\",\"type\":\"choice\",\"arguments\":[{\"name\":\"'level'\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"For an individual (but not a global) variable REF= option, you can specify the level of the variable to use as the reference level.\",\"type\":\"value\"},{\"name\":\"FIRST\",\"followsDelimiter\":\"/\",\"description\":\"Designates the first-ordered level as reference.\",\"type\":\"standalone\"},{\"name\":\"LAST\",\"followsDelimiter\":\"/\",\"description\":\"Designates the last-ordered level as reference.\",\"type\":\"standalone\"}]},{\"name\":\"TRUNCATE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifiesthe truncation width of formatted values of CLASS variables when the optional n is specified.\",\"type\":\"standalone\"}]},{\"name\":\"CONTINUE\",\"description\":\"Stops processing the current DO-loop iteration and resumes processing the next iteration.\",\"help\":\"CONTINUE\"},{\"name\":\"DELETE\",\"description\":\"Stops processing the current observation.\",\"help\":\"DELETE\"},{\"name\":\"DESCRIBE\",\"description\":\"Retrieves source code from a stored compiled DATA step program or a DATA step view.\",\"help\":\"DESCRIBE\"},{\"name\":\"DISPLAY\",\"description\":\"Displays a window that is created with the WINDOW statement.\",\"help\":\"DISPLAY &lt;BELL&gt;&lt;BLANK&gt;&lt;NOINPUT&gt; ...\",\"arguments\":[{\"name\":\"BELL\",\"optional\":true,\"description\":\"Produces an audible alarm, beep, or bell sound when the window is displayed if your personal computer is equipped with a speaker device that provides sound.\",\"type\":\"standalone\"},{\"name\":\"BLANK\",\"optional\":true,\"description\":\"Clears the window.\",\"type\":\"standalone\"},{\"name\":\"DELETE\",\"optional\":true,\"description\":\"Deletes the display of the window after processing passes from the DISPLAY statement on which the option appears.\",\"type\":\"standalone\"},{\"name\":\"NOINPUT\",\"optional\":true,\"description\":\"Specifies that you cannot input values into fields that are displayed in the window.\",\"type\":\"standalone\"}]},{\"name\":\"DIST\",\"description\":\"The DIST statement specifies candidate distributions to be estimated by the SEVERITY procedure. You can specify multiple DIST statements, and each statement can contain one or more distribution specifications. As a convenience, you can also use a shortcut keyword to indicate a list of distributions. You can specify one or more of the following keywords: _ALL_ specifies all the predefined distributions and the distributions that you have defined in the libraries that you specify in the CMPLIB= system option. _PREDEFINED_ specifies the list of eight predefined distributions: BURR, EXP, GAMMA, GPD, IGAUSS, LOGN, PARETO, and WEIBULL. _USER_ specifies the list of all the distributions that you have defined in the libraries that you specify in the CMPLIB= system option.\",\"help\":\"DIST _ALL_ _PREDEFINED_ _USER_ ...\",\"arguments\":[{\"name\":\"BURR=\",\"description\":\"Burr distribution\",\"help\":\"BURR=INIT=\",\"type\":\"choice\",\"arguments\":[{\"name\":\"INIT=\",\"type\":\"value\"}]},{\"name\":\"EXP=\",\"description\":\"Exponential distribution\",\"help\":\"EXP=INIT=\",\"type\":\"choice\",\"arguments\":[{\"name\":\"INIT=\",\"type\":\"value\"}]},{\"name\":\"GAMMA=\",\"description\":\"Gamma distribution\",\"help\":\"GAMMA=INIT=\",\"type\":\"choice\",\"arguments\":[{\"name\":\"INIT=\",\"type\":\"value\"}]},{\"name\":\"GPD=\",\"description\":\"Generalized Pareto distribution\",\"help\":\"GPD=INIT=\",\"type\":\"choice\",\"arguments\":[{\"name\":\"INIT=\",\"type\":\"value\"}]},{\"name\":\"IGAUSS=\",\"description\":\"Inverse Gaussian (Wald) distribution\",\"help\":\"IGAUSS=INIT=\",\"type\":\"choice\",\"arguments\":[{\"name\":\"INIT=\",\"type\":\"value\"}]},{\"name\":\"LOGN=\",\"description\":\"Lognormal distribution\",\"help\":\"LOGN=INIT=\",\"type\":\"choice\",\"arguments\":[{\"name\":\"INIT=\",\"type\":\"value\"}]},{\"name\":\"PARETO=\",\"description\":\"Pareto distribution\",\"help\":\"PARETO=INIT=\",\"type\":\"choice\",\"arguments\":[{\"name\":\"INIT=\",\"type\":\"value\"}]},{\"name\":\"WEIBULL=\",\"description\":\"Weibull distribution\",\"help\":\"WEIBULL=INIT=\",\"type\":\"choice\",\"arguments\":[{\"name\":\"INIT=\",\"type\":\"value\"}]},{\"name\":\"_ALL_=\",\"description\":\"Specifies all the predefined distributions and the distributions that you have defined in the libraries that you specify in the CMPLIB= system option.\",\"help\":\"_ALL_=INIT=\",\"type\":\"choice\",\"arguments\":[{\"name\":\"INIT=\",\"type\":\"value\"}]},{\"name\":\"_PREDEFINED_=\",\"description\":\"Specifies the list of eight predefined distributions: BURR, EXP, GAMMA, GPD, IGAUSS, LOGN, PARETO, and WEIBULL.\",\"help\":\"_PREDEFINED_=INIT=\",\"type\":\"choice\",\"arguments\":[{\"name\":\"INIT=\",\"type\":\"value\"}]},{\"name\":\"_USER_=\",\"description\":\"Specifies the list of all the distributions that you have defined in the libraries that you specify in the CMPLIB= system option.\",\"help\":\"_USER_=INIT=\",\"type\":\"choice\",\"arguments\":[{\"name\":\"INIT=\",\"type\":\"value\"}]},{\"name\":\"LISTONLY\",\"optional\":true,\"description\":\"Specifies that the list of all candidate distributions be printed to the SAS log without doing any further processing on them. This option is especially useful when you use a shortcut keyword to include a list of distributions. It enables you to find out which distributions are included by the keyword.\",\"type\":\"standalone\"},{\"name\":\"VALIDATEONLY\",\"optional\":true,\"description\":\"Specifies that all candidate distributions be checked for validity without doing any further processing on them. If a distribution is invalid, the reason for invalidity is written to the SAS log. If all distributions are valid, then the distribution information is written to the SAS log.\",\"type\":\"standalone\"}]},{\"name\":\"DO\",\"description\":\"Specifies a group of statements to be executed as a unit.\",\"help\":\"DO &lt;OVER&gt;&lt;&gt;&lt;&gt; ...\",\"arguments\":[{\"name\":\"BY\",\"optional\":true,\"description\":\"Precedes an increment integer (other than 0) or an expression that generates an integer to be added to the value of the index variable in each iteration of the DO loop.\",\"type\":\"standalone\"},{\"name\":\"OVER\",\"optional\":true,\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"TO\",\"optional\":true,\"description\":\"Separates the start and stop integers or expressions that control the number of times the portion of the DATA step between the iterative DO and END statements is processed.\",\"type\":\"standalone\"},{\"name\":\"UNTIL\",\"optional\":true,\"description\":\"...more SAS statements... END\",\"type\":\"standalone\"},{\"name\":\"WHILE\",\"optional\":true,\"description\":\"\",\"type\":\"standalone\"}]},{\"name\":\"DO UNTIL\",\"description\":\"Executes statements in a DO loop repetitively until a condition is true.\",\"help\":\"\"},{\"name\":\"DO WHILE\",\"description\":\"Executes statements in a DO loop repetitively while a condition is true.\",\"help\":\"\"},{\"name\":\"DROP\",\"description\":\"Excludes variables from output SAS data sets.\",\"help\":\"DROP variable-list\"},{\"name\":\"ELSE\",\"description\":\"If the condition in an IF-THEN statement is false and an ELSE statement is present, then the ELSE action is carried out.\",\"help\":\"ELSE &lt;DO&gt;&lt;IF&gt;&lt;THEN&gt; ...\",\"arguments\":[{\"name\":\"AND\",\"optional\":true,\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"DO\",\"optional\":true,\"description\":\"Action statement in an IF-THEN-ELSE construct.\",\"type\":\"standalone\"},{\"name\":\"IF\",\"optional\":true,\"description\":\"Executes a SAS statement for observations that meet specific conditions.\",\"type\":\"standalone\"},{\"name\":\"NOT\",\"optional\":true,\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"OR\",\"optional\":true,\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"OUTPUT\",\"optional\":true,\"description\":\"Action statement in an IF-THEN-ELSE construct.\",\"type\":\"standalone\"},{\"name\":\"THEN\",\"optional\":true,\"description\":\"If the conditions that are specified in the IF clause are met, the IF-THEN statement executes a SAS statement for observations that are read from a SAS data set, for records in an external file, or for computed values.\",\"type\":\"standalone\"}]},{\"name\":\"END\",\"description\":\"Ends a DO group or SELECT group processing.\",\"help\":\"END\"},{\"name\":\"ENDRSUBMIT\",\"description\":\"Marks the end of a block of statements that a client session submits to a server session for execution.\",\"help\":\"ENDRSUBMIT\"},{\"name\":\"ERROR\",\"description\":\"Sets _ERROR_ to 1. A message written to the SAS log is optional.\",\"help\":\"ERROR &lt;message&gt;\"},{\"name\":\"EXECUTE\",\"description\":\"Executes a stored compiled DATA step program.\",\"help\":\"EXECUTE\"},{\"name\":\"FILE\",\"description\":\"where file-specification identifies an external file that the DATA step uses to write output from a PUT statement. File-specification can have these forms: 'external-file' specifies the physical name of an external file, which is enclosed in quotation marks. The physical name is the name by which the operating environment recognizes the file. fileref specifies the fileref of an external file. Requirement: You must have previously associated fileref with an external file in a FILENAME statement or function, or in an appropriate operating environment command. There is only one exception to this rule: when you use the FILEVAR= option, the fileref is simply a placeholder. fileref(file) specifies a fileref that is previously assigned to an external file that is an aggregate grouping of files. Follow the fileref with the name of a file or member, which is enclosed in parentheses. LOG is a reserved fileref that directs the output that is produced by any PUT statements to the SAS log. PRINT is a reserved fileref that directs the output that is produced by any PUT statements to the same file as the output that is produced by SAS procedures. device-type specifies the type of device or the access method that is used if the fileref points to an input or output device or a location that is not a physical file: DISK, DUMMY, GTERM, PIPE, PLOTTER, PRINTER, TAPE, TEMP, TERMINAL, UPRINTER. type specifies the type of file in z/OS: DLI, HFS, MVS, PIPE, VSAM. operating-environment-options or host-options Additional specifications might be required when you specify some devices. See the SAS documentation for your operating environment before specifying a value other than DISK. Values in addition to the ones listed here might be available in some operating environments.\",\"help\":\"FILE &lt;DISK&gt;&lt;DUMMY&gt;&lt;LOG&gt; ...\",\"arguments\":[{\"name\":\"ALQ=\",\"optional\":true,\"description\":\"[OpenVMS Host Option] Specifies the number of blocks initially allocated to an external file when it is created. The value can range from 0 to 2,147,483,647. If the value is 0 (the default), the minimum number of blocks required for the given file format is used.\",\"type\":\"value\"},{\"name\":\"BLKSIZE=\",\"optional\":true,\"aliases\":[\"BLK=\"],\"description\":\"[Windows/UNIX Host Option] Specifies the number of bytes that are physically read or written in an I/O operation. The default is 8K. The maximum is 1M (Windows) or 1G-1(UNIX).\",\"help\":\"BLKSIZE=*block-size*\",\"type\":\"value\"},{\"name\":\"BLOCK\",\"optional\":true,\"description\":\"Is used only in the context of named pipes. This option indicates whether the client is to wait if no data is currently available. BLOCK is the default value.\",\"type\":\"standalone\"},{\"name\":\"BOM\",\"optional\":true,\"aliases\":[\"BOMFILE\"],\"description\":\"[UNIX/z/OS Host Option] Includes a Byte Order Mark when a UNICODE-encoded file is created.\",\"type\":\"standalone\"},{\"name\":\"BUFND=\",\"optional\":true,\"description\":\"Indicates how many data buffers to use for the VSAM data set.\",\"help\":\"BUFND=*value*\",\"type\":\"value\"},{\"name\":\"BUFNI=\",\"optional\":true,\"description\":\"Indicates how many index buffers to use for the VSAM data set.\",\"help\":\"BUFNI=*value*\",\"type\":\"value\"},{\"name\":\"BYTE\",\"optional\":true,\"description\":\"Is used only in the context of named pipes. This option indicates the type of pipe. BYTE is the default value.\",\"type\":\"standalone\"},{\"name\":\"CC=\",\"optional\":true,\"description\":\"[OpenVMS Host Option] Specifies the carriage-control format of the SAS log and the procedure output file.\",\"help\":\"CC=FORTRAN | PRINT | CR\",\"type\":\"choice\",\"arguments\":[{\"name\":\"FORTRAN\",\"description\":\"Indicates FORTRAN carriage-control format. This is the default for print files.\",\"type\":\"standalone\"},{\"name\":\"PRINT\",\"description\":\"Indicates OpenVMS print format.\",\"type\":\"standalone\"},{\"name\":\"CR\",\"description\":\"Indicates OpenVMS carriage-return, carriage-control format. This is the default for nonprinting files.\",\"type\":\"standalone\"}]},{\"name\":\"CLIENT\",\"optional\":true,\"description\":\"[Windows Host Option] Is used only in the context of named pipes. This option specifies the mode of a named pipe. The default value is SERVER.\",\"type\":\"standalone\"},{\"name\":\"CLOSE=\",\"optional\":true,\"description\":\"[z/OS Host Option] Indicates how a tape volume is positioned at the end of the DATA step.\",\"help\":\"CLOSE=REREAD | LEAVE | REWIND | FREE | DISP\",\"type\":\"choice\",\"arguments\":[{\"name\":\"REREAD\",\"description\":\"Positions the tape at the logical beginning of the data set.\",\"type\":\"standalone\"},{\"name\":\"LEAVE\",\"description\":\"Positions the tape at the logical end of the data set.\",\"type\":\"standalone\"},{\"name\":\"REWIND\",\"description\":\"Rewinds the tape to the physical beginning of the volume.\",\"type\":\"standalone\"},{\"name\":\"FREE\",\"description\":\"Dynamically deallocates the tape volume.\",\"type\":\"standalone\"},{\"name\":\"DISP\",\"description\":\"Is implied by the control language.\",\"type\":\"standalone\"}]},{\"name\":\"COLUMN=\",\"optional\":true,\"aliases\":[\"COL=\"],\"description\":\"Specifies a variable that SAS automatically sets to the current column location of the pointer.\",\"type\":\"value\"},{\"name\":\"COMMAND\",\"optional\":true,\"description\":\"[Windows Host Option] Allows remote commands to be issued to DDE server applications that not use the SYSTEM topic name.\",\"type\":\"standalone\"},{\"name\":\"CSRC\",\"optional\":true,\"description\":\"[OpenVMS Host Option] Specifies that you want to use the CSRCESRV services (available with z/OS) to compress data on output. For example: data _null_; file myfile csrc; put ... ; run;\",\"type\":\"standalone\"},{\"name\":\"DCB=\",\"optional\":true,\"description\":\"specifies the fileref of an external file that was referenced in an earlier FILE or INFILE statement in the same DATA step. SAS uses that file's RECFM=, LRECL=, and BLKSIZE= information for the current file.\",\"help\":\"DCB=*fileref*\",\"type\":\"value\"},{\"name\":\"DELIMITER=\",\"optional\":true,\"aliases\":[\"DLM=\"],\"description\":\"Specifies an alternate delimiter (other than a blank) to be used for LIST output.\",\"type\":\"value\"},{\"name\":\"DEQ=\",\"optional\":true,\"description\":\"[OpenVMS Host Option] Specifies the number of blocks added when OpenVMS RMS automatically extends an external file during a write operation. The value can range from 0 to 65,535. The default value is 0, telling OpenVMS RMS to use the process's default value. A large value results in fewer file extensions over the life of the file; a small value results in numerous file extensions over the life of the file. A file with numerous file extensions might be noncontiguous, thereby slowing record access.\",\"type\":\"value\"},{\"name\":\"DEVTYPE=\",\"optional\":true,\"description\":\"Defines a character variable (minimum length 24) that SAS sets to the device type. SAS obtains the device type by using the z/OS operating environment DEVTYPE macro.\",\"help\":\"DEVTYPE=*variable*\",\"type\":\"value\"},{\"name\":\"DISK\",\"optional\":true,\"description\":\"[device-type] Specifies that the device is a disk drive.\",\"type\":\"standalone\"},{\"name\":\"DLI\",\"optional\":true,\"description\":\"[type] For IMS-DL/I databases.\",\"type\":\"standalone\"},{\"name\":\"DLMSOPT=\",\"optional\":true,\"description\":\"Specifies a parsing option for the DLMSTR= T option that removes trailing blanks of the string delimiter.\",\"help\":\"DLMSOPT='T'\",\"type\":\"choice\",\"arguments\":[{\"name\":\"'T'\",\"description\":\"Removes trailing blanks of the string delimiter.\",\"type\":\"standalone\"}]},{\"name\":\"DLMSTR=\",\"optional\":true,\"description\":\"Specifies a character string as an alternate delimiter (other than a blank) to be used for LIST output\",\"type\":\"value\"},{\"name\":\"DROPOVER\",\"optional\":true,\"description\":\"Discards data items that exceed the output line length (as specified by the LINESIZE= or LRECL= options in the FILE statement).\",\"type\":\"standalone\"},{\"name\":\"DSCB=\",\"optional\":true,\"description\":\"Defines a character variable (minimum length 96) that SAS sets to the Data Set Control Block (DSCB) information from a non-VSAM data set.\",\"help\":\"DSCB=*variable*\",\"type\":\"value\"},{\"name\":\"DSD\",\"optional\":true,\"description\":\"Specifies that data values that contain embedded delimiters, such as tabs or commas, be enclosed in quotation marks.\",\"type\":\"standalone\"},{\"name\":\"DUMMY\",\"optional\":true,\"description\":\"[device-type] Specifies that the output to the file is discarded. Tip: Specifying DUMMY can be useful for testing.\",\"type\":\"standalone\"},{\"name\":\"ENCODING=\",\"optional\":true,\"description\":\"Specifies the encoding to use when writing to the output file.\",\"help\":\"ENCODING='warabic' | 'wbaltic' | 'wlatin2' | 'wcyrillic' | 'wgreek' | 'whebrew' | 'wturkish' | 'wvietnamese' | 'wlatin1' | 'utf-8' | 'ms-950' | 'ms-936' | 'ms-932' | 'ms-949'\",\"type\":\"choice\",\"arguments\":[{\"name\":\"'warabic'\",\"description\":\"Arabic\",\"type\":\"standalone\"},{\"name\":\"'wbaltic'\",\"description\":\"Baltic\",\"type\":\"standalone\"},{\"name\":\"'wlatin2'\",\"description\":\"Central Europe\",\"type\":\"standalone\"},{\"name\":\"'wcyrillic'\",\"description\":\"Cyrillic\",\"type\":\"standalone\"},{\"name\":\"'wgreek'\",\"description\":\"Greek\",\"type\":\"standalone\"},{\"name\":\"'whebrew'\",\"description\":\"Hebrew\",\"type\":\"standalone\"},{\"name\":\"'wturkish'\",\"description\":\"Turkish\",\"type\":\"standalone\"},{\"name\":\"'wvietnamese'\",\"description\":\"Vietnamese\",\"type\":\"standalone\"},{\"name\":\"'wlatin1'\",\"description\":\"Western\",\"type\":\"standalone\"},{\"name\":\"'utf-8'\",\"description\":\"Unicode encoding\",\"type\":\"standalone\"},{\"name\":\"'ms-950'\",\"description\":\"Traditional Chinese\",\"type\":\"standalone\"},{\"name\":\"'ms-936'\",\"description\":\"Simplified Chinese\",\"type\":\"standalone\"},{\"name\":\"'ms-932'\",\"description\":\"Japanese\",\"type\":\"standalone\"},{\"name\":\"'ms-949'\",\"description\":\"Korean\",\"type\":\"standalone\"}]},{\"name\":\"EOFCONNECT\",\"optional\":true,\"description\":\"[Windows Host Option] Is used only in the context of named pipes and is valid only when you are defining the server. This option indicates that if an end-of-file (EOF) character is received from a client, the server should try to connect to the next client.\",\"type\":\"standalone\"},{\"name\":\"FAC=\",\"optional\":true,\"description\":\"[OpenVMS Host Option] Overrides the default file access attributes used for external files. Use this option to indicate the level of access you want to allow for an external file. You can allow READ, WRITE, UPDATE, and DELETE access (as well as no access). By default with external files, files opened for input allow read access, files opened for output allow WRITE access, and files opened for update allow READ and WRITE access. The form of the FAC= option is FAC=access-option-list where access-option-list can be one of the following: DEL specifies DELETE access. GET specifies READ access. PUT specifies WRITE access. UPD specifies UPDATE access. You can combine these values in any order. For example, specifying the following indicates that you want DELETE, READ, and WRITE access:\",\"type\":\"value\"},{\"name\":\"FEEDBACK=\",\"optional\":true,\"aliases\":[\"FDBK=\"],\"description\":\"Defines a numeric variable that SAS sets to the VSAM logical error code. This option is similar to the _FDBK_ automatic variable. When SAS sets the FEEDBACK variable, you must reset it to 0 in order to continue.\",\"type\":\"value\"},{\"name\":\"FILEDATA=\",\"optional\":true,\"description\":\"[UNIX/z/OS Host Option] The FILEDATA= option specifies that the file being processed is expected to contain either binary or text data.\",\"help\":\"FILEDATA=BINARY | TEXT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"BINARY\",\"description\":\"The FILEDATA= option specifies that the file being processed is expected to contain binary data.\",\"type\":\"standalone\"},{\"name\":\"TEXT\",\"description\":\"The FILEDATA= option specifies that the file being processed is expected to contain text data.\",\"type\":\"standalone\"}]},{\"name\":\"FILENAME=\",\"optional\":true,\"description\":\"Defines a character variable, whose name you supply, that SAS sets to the value of the physical name of the file currently open for PUT statement output.\",\"type\":\"value\"},{\"name\":\"FILEVAR=\",\"optional\":true,\"description\":\"Defines a variable whose change in value causes the FILE statement to close the current output file and open a new one the next time the FILE statement executes.\",\"type\":\"value\"},{\"name\":\"FLOWOVER\",\"optional\":true,\"description\":\"Causes data that exceeds the current line length to be written on a new line.\",\"type\":\"standalone\"},{\"name\":\"FOOTNOTES\",\"optional\":true,\"aliases\":[\"FOOTNOTE\"],\"description\":\"Specifies that the currently defined footnotes are printed.\",\"type\":\"standalone\"},{\"name\":\"GSFCC=\",\"optional\":true,\"description\":\"[OpenVMS Host Option] Specifies the file format of graphic stream files (GSF files). When specified in the FILENAME statement, it affects only the GSF files that are created using that fileref.\",\"help\":\"GSFCC=PRINT | CR | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"PRINT\",\"description\":\"Creates a GSF file. It is a VFC format file with carriage control set to null. These files can be used with most utilities with the exception of some file transfer protocols, such as Kermit. This is the default value for this option.\",\"type\":\"standalone\"},{\"name\":\"CR\",\"description\":\"Creates a carriage return carriage control file.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"Creates a file with no carriage control. This format is useful if you plan to download the file to a personal computer.\",\"type\":\"standalone\"}]},{\"name\":\"GTERM\",\"optional\":true,\"description\":\"[device-type] Indicates that the output device type is a graphics device that will receive graphics data.\",\"type\":\"standalone\"},{\"name\":\"HEADER=\",\"optional\":true,\"description\":\"Defines a statement label that identifies a group of SAS statements that you want to execute each time SAS begins a new output page\",\"type\":\"value\"},{\"name\":\"HFS\",\"optional\":true,\"description\":\"[type] For UNIX System Services files.\",\"type\":\"standalone\"},{\"name\":\"HOTLINK\",\"optional\":true,\"description\":\"[Windows Host Option] Instructs SAS to use the DDE HOTLINK.\",\"type\":\"standalone\"},{\"name\":\"IGNOREDOSEOF\",\"optional\":true,\"description\":\"[Windows Host Option] Is used in the context of I/O operations on variable record format files. When this option is specified, any occurrence of ^Z is interpreted as character data and not as an end-of-file marker.\",\"type\":\"standalone\"},{\"name\":\"JFCB=\",\"optional\":true,\"description\":\"Defines a character variable (minimum length 176) that SAS sets to the Job File Control Block (JFCB).\",\"help\":\"JFCB=*variable*\",\"type\":\"value\"},{\"name\":\"KEY=\",\"optional\":true,\"description\":\"[OpenVMS Host Option] Specifies which key SAS uses to read the records in an RMS file with indexed organization. The KEY= option is always used with the KEYVALUE= option.\",\"type\":\"value\"},{\"name\":\"KEYLEN=\",\"optional\":true,\"description\":\"Specifies a numeric SAS variable that, when used with GENKEY, specifies the length of the key that is to be compared to the keys in the file.\",\"help\":\"KEYLEN=*variable*\",\"type\":\"value\"},{\"name\":\"KEYPOS=\",\"optional\":true,\"description\":\"Indicates the numeric variable that SAS sets to the position of the VSAM key field. This option enables you to read keys without knowing the key position in advance. This variable is set to the column number (starting from 1).\",\"help\":\"KEYPOS=*variable*\",\"type\":\"value\"},{\"name\":\"KEYVALUE=\",\"optional\":true,\"description\":\"[OpenVMS Host Option] Specifies the key value with which to begin reading an indexed file.\",\"type\":\"value\"},{\"name\":\"LINE=\",\"optional\":true,\"description\":\"Defines a variable whose value is the current relative line number within the group of lines available to the output pointer.\",\"type\":\"value\"},{\"name\":\"LINESIZE=\",\"optional\":true,\"aliases\":[\"LS=\"],\"description\":\"Sets the maximum number of columns per line for reports and the maximum record length for data files.\",\"type\":\"value\"},{\"name\":\"LINESLEFT=\",\"optional\":true,\"aliases\":[\"LL=\"],\"description\":\"Defines a variable whose value is the number of lines left on the current page.\",\"type\":\"value\"},{\"name\":\"LOG\",\"optional\":true,\"description\":\"Is a reserved fileref that directs the output that is produced by any PUT statements to the SAS log.\",\"type\":\"standalone\"},{\"name\":\"LRECL=\",\"optional\":true,\"description\":\"Specifies the logical record length of the output file.\",\"type\":\"value\"},{\"name\":\"MBC=\",\"optional\":true,\"description\":\"[OpenVMS Host Option] Specifies the size of the I/O buffers that OpenVMS RMS allocates for a particular file. The value can range from 0 to 127 and represents the number of blocks used for each buffer. By default, this option is set to 0 and the default values for the process are used. The MBC= option (multiblock count) is used for both input and output to control the allocation for a particular file. If you want to control the allocation size for all the external files used during the current SAS session, you can use the MBC= option in every FILE, FILENAME, or INFILE statement. You can also use the DCL SET RMS_DEFAULT command to specify a process default, and let the SAS values default to the process's default values.\",\"type\":\"value\"},{\"name\":\"MBF=\",\"optional\":true,\"description\":\"[OpenVMS Host Option] Specifies the number of I/O buffers you want OpenVMS RMS to allocate for a particular file. The value can range from 0 to 127 and represents the number of buffers used. By default, this option is set to a value of 2. If a value of 0 is specified, the default value for the process is used. The MBF= option (multibuffer count) is used for both input and output to control the number of buffers allocated for a particular file. If you want to control the number of buffers allocated for all the external files used during the SAS session, you can use the MBF= option in every FILE, FILENAME, or INFILE statement. The DCL SET RMS_DEFAULT command can be used to specify a process default. Then, you can let the SAS values default to the process's default values.\",\"type\":\"value\"},{\"name\":\"MESSAGE\",\"optional\":true,\"description\":\"Is used only in the context of named pipes. This option indicates the type of pipe. BYTE is the default value.\",\"type\":\"standalone\"},{\"name\":\"MOD\",\"optional\":true,\"description\":\"Writes the output lines after any existing lines in the file.\",\"type\":\"standalone\"},{\"name\":\"MVS\",\"optional\":true,\"description\":\"[type] For z/OS data sets.\",\"type\":\"standalone\"},{\"name\":\"N=\",\"optional\":true,\"description\":\"Specifies the number of lines that you want available to the output pointer in the current iteration of the DATA step.\",\"help\":\"N=&lt;*n*&gt; | PAGESIZE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"n\",\"placeholder\":true,\"description\":\"Specifies the number of lines that are available to the output pointer. Replace n with an integer.\",\"type\":\"value\"},{\"name\":\"PAGESIZE\",\"aliases\":[\"PS\"],\"description\":\"Specifies that the entire page is available to the output pointer.\",\"type\":\"standalone\"}]},{\"name\":\"NOBLOCK\",\"optional\":true,\"description\":\"Is used only in the context of named pipes. This option indicates whether the client is to wait if no data is currently available. BLOCK is the default value.\",\"type\":\"standalone\"},{\"name\":\"NOBOM\",\"optional\":true,\"aliases\":[\"NOBOMFILE\"],\"description\":\"[UNIX/z/OS Host Option] Specifies that a Byte Order Mark is not included when a UNICODE-encoded file is created.\",\"type\":\"standalone\"},{\"name\":\"NOFOOTNOTES\",\"optional\":true,\"aliases\":[\"NOFOOTNOTE\"],\"description\":\"Specifies that the currently defined footnotes are not printed.\",\"type\":\"standalone\"},{\"name\":\"NOPAD\",\"optional\":true,\"description\":\"Specifies that records written to an external file are not padded with blanks to the length that is specified in the LRECL= option.\",\"type\":\"standalone\"},{\"name\":\"NOPRINT\",\"optional\":true,\"description\":\"Specifies that carriage-control characters are placed in the output lines.\",\"type\":\"standalone\"},{\"name\":\"NOTAB\",\"optional\":true,\"description\":\"[Windows Host Option] Instructs SAS to ignore tab characters between variables.\",\"type\":\"standalone\"},{\"name\":\"NOTITLES\",\"optional\":true,\"aliases\":[\"NOTITLE\"],\"description\":\"Specifies that the current title lines are not printed on the pages of files.\",\"type\":\"standalone\"},{\"name\":\"ODS=\",\"optional\":true,\"description\":\"Specifies to use the Output Delivery System to format the output from a DATA step.\",\"type\":\"value\"},{\"name\":\"OLD\",\"optional\":true,\"description\":\"Replaces the previous contents of the file.\",\"type\":\"standalone\"},{\"name\":\"PAD\",\"optional\":true,\"description\":\"Specifies that records written to an external file are padded with blanks to the length that is specified in the LRECL= option.\",\"type\":\"standalone\"},{\"name\":\"PAGESIZE=\",\"optional\":true,\"aliases\":[\"PS=\"],\"description\":\"Sets the number of lines per page for your reports.\",\"help\":\"PAGESIZE=*value*\",\"type\":\"value\"},{\"name\":\"PASSWD=\",\"optional\":true,\"description\":\"Gives the appropriate password for a VSAM data set that has password protection.\",\"help\":\"PASSWD=*value*\",\"type\":\"value\"},{\"name\":\"PIPE\",\"optional\":true,\"description\":\"[device-type] Specifies an unnamed pipe. Note: Some operating environments do not support pipes.\",\"type\":\"standalone\"},{\"name\":\"PLOTTER\",\"optional\":true,\"description\":\"[device-type] Specifies an unbuffered graphics output device.\",\"type\":\"standalone\"},{\"name\":\"PRINT\",\"optional\":true,\"description\":\"Either a reserved fileref that directs the output that is produced by any PUT statements to the same file as the output that is produced by SAS procedures, or an option that specifies that carriage-control characters are placed in the output lines.\",\"type\":\"standalone\"},{\"name\":\"PRINTER\",\"optional\":true,\"description\":\"[device-type] Specifies a printer or printer spool file.\",\"type\":\"standalone\"},{\"name\":\"RC4STOP\",\"optional\":true,\"description\":\"[VSAM Option] Stops the DATA step from executing if a return code greater than 4 is returned by the operating environment when the VSAM data set is opened.\",\"type\":\"standalone\"},{\"name\":\"RECFM=\",\"optional\":true,\"description\":\"[Windows/UNIX/z/OS Host Option] Specifies the record format of the external file. Under z/OS, the following values can be appended to the RECFM values:\",\"help\":\"RECFM=F | P | S | V | N | s370V | S370VB | S370VBS | STREAMLF | FB | VB | U\",\"type\":\"choice\",\"arguments\":[{\"name\":\"F\",\"description\":\"Fixed-record format\",\"type\":\"standalone\"},{\"name\":\"P\",\"description\":\"Print format.\",\"type\":\"standalone\"},{\"name\":\"S\",\"description\":\"Stream-record format.\",\"type\":\"standalone\"},{\"name\":\"V\",\"aliases\":[\"D\"],\"description\":\"Variable-record format (the default)\",\"type\":\"standalone\"},{\"name\":\"N\",\"description\":\"Indicates binary format and causes the file to be treated as a byte stream. If LRECL is not specified, by default SAS reads 256 bytes at a time from the file.\",\"type\":\"standalone\"},{\"name\":\"s370V\",\"description\":\"Indicates the variable S370 record format (V).\",\"type\":\"standalone\"},{\"name\":\"S370VB\",\"description\":\"Indicates the variable block S370 record format (VB).\",\"type\":\"standalone\"},{\"name\":\"S370VBS\",\"description\":\"Indicates the variable block with spanned records S370 record format (VBS).\",\"type\":\"standalone\"},{\"name\":\"STREAMLF\",\"description\":\"[For OpenVMS] Specifies StreamLF record format. Records are delimited by LF.\",\"type\":\"standalone\"},{\"name\":\"FB\",\"description\":\"Specifies fixed-length records, blocked.\",\"type\":\"standalone\"},{\"name\":\"VB\",\"description\":\"Specifies variable-length records, blocked.\",\"type\":\"standalone\"},{\"name\":\"U\",\"description\":\"Specifies undefined-length records, unblocked.\",\"type\":\"standalone\"}]},{\"name\":\"RECORDS=\",\"optional\":true,\"description\":\"Defines a numeric variable that SAS sets to the number of logical records in a VSAM data set that has been opened for input.\",\"help\":\"RECORDS=*variable*\",\"type\":\"value\"},{\"name\":\"RECORG=\",\"optional\":true,\"description\":\"[z/OS Host Option] Specifies the organization of records in a new VSAM data set. Use this option only if SMS is active.\",\"help\":\"RECORG=KS | ES | RR | LS\",\"type\":\"choice\",\"arguments\":[{\"name\":\"KS\",\"description\":\"Specifies a VSAM key-sequenced data set.\",\"type\":\"standalone\"},{\"name\":\"ES\",\"description\":\"Specifies a VSAM entry-sequenced data set.\",\"type\":\"standalone\"},{\"name\":\"RR\",\"description\":\"Specifies a VSAM relative-record data set.\",\"type\":\"standalone\"},{\"name\":\"LS\",\"description\":\"Specifies a VSAM linear-space data set.\",\"type\":\"standalone\"}]},{\"name\":\"RESET\",\"optional\":true,\"description\":\"[VSAM Option] Indicates that the VSAM file is reset to empty (no records) when it is opened. This option applies only to loading a VSAM data set that has been marked REUSE. You cannot use this option if the data set contains an alternate index.\",\"type\":\"standalone\"},{\"name\":\"RETRY=\",\"optional\":true,\"description\":\"[Windows Host Option]\",\"help\":\"RETRY=*seconds*\",\"type\":\"value\"},{\"name\":\"RRN=\",\"optional\":true,\"description\":\"Defines a numeric variable that you set to the relative record number (RRN) of the record that you want to read or write. This option indicates that keyed direct access is being used; it is appropriate for RRDS only.\",\"help\":\"RRN=*variable*\",\"type\":\"value\"},{\"name\":\"SERVER\",\"optional\":true,\"description\":\"[Windows Host Option] Is used only in the context of named pipes. This option specifies the mode of a named pipe. The default value is SERVER.\",\"type\":\"standalone\"},{\"name\":\"SHR=\",\"optional\":true,\"description\":\"[OpenVMS Host Option] Overrides the default file-sharing attributes used for external files. With this option, you can indicate the access level you want to give other users. You can allow READ, WRITE, UPDATE, and DELETE access (as well as no access). By default with external files, files opened for input allow shared read access, and files opened for output or UPDATE do not allow shared access. However, you can allow other users to have READ and WRITE access to a file that you are opening for input only. To accomplish this, use the SHR= option. The syntax of the SHR= option is SHR=share-option-list where share-option-list can be one of the following: DEL specifies DELETE access. GET specifies shared READ access. NONE specifies no shared access. PUT specifies shared WRITE access. UPD specifies UPDATE access. You can combine these values in any order. For example, specifying the following indicates that you want shared DELETE, READ, and WRITE access:\",\"type\":\"value\"},{\"name\":\"STOPOVER\",\"optional\":true,\"description\":\"Stops processing the DATA step immediately if a PUT statement attempts to write a data item that exceeds the current line length.\",\"type\":\"standalone\"},{\"name\":\"TAPE\",\"optional\":true,\"description\":\"[device-type] Specifies a tape drive.\",\"type\":\"standalone\"},{\"name\":\"TEMP\",\"optional\":true,\"description\":\"[device-type] Creates a temporary file that exists only as long as the filename is assigned.\",\"type\":\"standalone\"},{\"name\":\"TERMINAL\",\"optional\":true,\"description\":\"[device-type] Specifies the user's terminal.\",\"type\":\"standalone\"},{\"name\":\"TERMSTR=\",\"optional\":true,\"description\":\"[Windows/UNIX Host Option] Specifies the end-of-line character for the file. Use this option to share files between the UNIX and Windows operating environments.\",\"help\":\"TERMSTR=CR | CRLF | LF | NULL | NONE | NL | LFCR | CRNL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"CR\",\"description\":\"Carriage return (CR).\",\"type\":\"standalone\"},{\"name\":\"CRLF\",\"description\":\"Carriage return (CR) followed by line feed (LF).\",\"type\":\"standalone\"},{\"name\":\"LF\",\"description\":\"Line feed only (the default).\",\"type\":\"standalone\"},{\"name\":\"NULL\",\"description\":\"NULL character (0x00).\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"Record terminators are not used. This parameter provides the same function as FILEDATA=BINARY.\",\"type\":\"standalone\"},{\"name\":\"NL\",\"description\":\"The newline character (x'15') is used as the record terminator. This parameter provides the same function as FILEDATA=TEXT.\",\"type\":\"standalone\"},{\"name\":\"LFCR\",\"description\":\"The sequence LF followed by CR is used as the record terminator.\",\"type\":\"standalone\"},{\"name\":\"CRNL\",\"description\":\"The sequence CR followed by NL is used as the record terminator.\",\"type\":\"standalone\"}]},{\"name\":\"TITLES\",\"optional\":true,\"aliases\":[\"TITLE\"],\"description\":\"Specifies that the current title lines are printed on the pages of files.\",\"type\":\"standalone\"},{\"name\":\"UCBNAME=\",\"optional\":true,\"description\":\"Defines a character variable (minimum length 3) that SAS sets to the unit name (device address), which is derived from information in the unit control block (UCB).\",\"help\":\"UCBNAME=*variable*\",\"type\":\"value\"},{\"name\":\"UNBUF\",\"optional\":true,\"description\":\"[UNIX Host Option] Tells SAS not to perform buffered writes to the file on any subsequent FILE statement. This option applies especially when you are reading from or writing to a data collection device. As explained in SAS Language Reference: Dictionary, it also prevents buffered reads on INFILE statements.\",\"type\":\"standalone\"},{\"name\":\"UPRINTER\",\"optional\":true,\"description\":\"[device-type] Specifies a Universal Printing printer definition name.\",\"type\":\"standalone\"},{\"name\":\"VOLUME=\",\"optional\":true,\"aliases\":[\"VOLUMES=\"],\"description\":\"Defines a character variable (with a minimum length of six characters) that SAS sets to the tape VOLSER or the disk volume serial number. In the case of a multivolume file, the VOLUME= variable contains the concatenated volume serial numbers up to the length of the variable or the first 30 volumes, whichever is less. The value in the VOLUME= variable contains the volume serial number of the first data set in the concatenation when the file is opened. This serial number changes if you open a subsequent data set in the concatenation.\",\"type\":\"value\"},{\"name\":\"VSAM\",\"optional\":true,\"description\":\"[type] For VSAM files.\",\"type\":\"standalone\"},{\"name\":\"_FILE_=\",\"optional\":true,\"description\":\"Names a character variable that references the current output buffer of this FILE statement.\",\"help\":\"_FILE_=*variable*\",\"type\":\"value\"}]},{\"name\":\"FORMAT\",\"description\":\"Associates formats with variables.\",\"help\":\"FORMAT &lt;DEFAULT=default-format&gt;\",\"arguments\":[{\"name\":\"DEFAULT=\",\"optional\":true,\"description\":\"Specifies a temporary default format for displaying the values of variables that are not listed in the FORMAT statement. These default formats apply only to the current DATA step; they are not permanently associated with variables in the output data set. A DEFAULT= format specification applies to o variables that are not named in a FORMAT or ATTRIB statement o variables that are not permanently associated with a format within a SAS data set o variables that are not written with the explicit use of a format. Default: If you omit DEFAULT=, SAS uses BESTw. as the default numeric format and $w. as the default character format. Restriction: Use this option only in a DATA step.\",\"help\":\"DEFAULT=*default-format*\",\"type\":\"value\"}]},{\"name\":\"GO TO\",\"aliases\":[\"GOTO\"],\"description\":\"Jumps to a new statement.\",\"help\":\"GO TO label | GOTO label\"},{\"name\":\"IF\",\"description\":\"Continues processing only those observations that meet the condition of the specified expression.\",\"help\":\"IF &lt;DO&gt;&lt;THEN&gt;&lt;WHEN&gt; ...\",\"arguments\":[{\"name\":\"AND\",\"optional\":true,\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"CALL\",\"optional\":true,\"description\":\"Invokes a SAS CALL routine.\",\"type\":\"standalone\"},{\"name\":\"DO\",\"optional\":true,\"description\":\"Action statement in an IF-THEN construct.\",\"type\":\"standalone\"},{\"name\":\"GO\",\"optional\":true,\"aliases\":[\"GOTO\"],\"description\":\"Jumps to a new statement.\",\"help\":\"GO TO\",\"type\":\"standalone\"},{\"name\":\"NOT\",\"optional\":true,\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"OR\",\"optional\":true,\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"OUTPUT\",\"optional\":true,\"description\":\"Action statement in an IF-THEN construct.\",\"type\":\"standalone\"},{\"name\":\"PUT\",\"optional\":true,\"description\":\"Action statement in an IF-THEN construct.\",\"type\":\"standalone\"},{\"name\":\"RETURN\",\"optional\":true,\"description\":\"Action statement in an IF-THEN construct. Stops executing statements at the current point in the DATA step and returns to a predetermined point in the step.\",\"type\":\"standalone\"},{\"name\":\"SET\",\"optional\":true,\"description\":\"Reads an observation from one or more SAS data sets.\",\"type\":\"standalone\"},{\"name\":\"STOP\",\"optional\":true,\"description\":\"Action statement in an IF-THEN construct. Stops execution of the current DATA step.\",\"type\":\"standalone\"},{\"name\":\"THEN\",\"optional\":true,\"description\":\"If the conditions that are specified in the IF clause are met, the IF-THEN statement executes a SAS statement for observations that are read from a SAS data set, for records in an external file, or for computed values.\",\"type\":\"standalone\"},{\"name\":\"WHEN\",\"optional\":true,\"description\":\"WHEN statement in an IF-THEN-WHEN construct.\",\"type\":\"standalone\"}]},{\"name\":\"INFILE\",\"description\":\"file-specification identifies a file in one of the following forms: fileref specifies the assigned fileref or the allocated ddname of the file. A fileref must conform to the rules for ddnames. That is, it can consist of up to eight letters, numbers, or national characters ($, @, and #) and underscores (_). The first character must be either a letter or a national character. fileref(member) specifies a member of a partitioned data set, where the PDS or PDSE is specified by the assigned fileref or allocated ddname. If you specify a fileref that is not allocated, then SAS attempts to construct a data set name with the following three qualifiers: o the value of the SYSPREF= option (usually the user ID) o the specified fileref o DATA If a file is found that has this constructed data set name, then SAS opens it and reads it. The value of the FILEEXT= system option can affect the way SAS interprets PDS and PDSE member names. 'physical-filename' specifies a physical file, which can be a member of a partitioned data set (PDS), an extended partitioned data set (PDSE), or a UNIX System Services file, using the following syntax: o a fully qualified data set name. For example: 'myid.raw.datax' o a fully qualified data set name with a member in parentheses. For example: 'sas.raw.data(mem1)' o a partially qualified data set name with a period preceding it. For example: '.raw.data' o a partially qualified data set name with a period preceding it and a member name in parentheses. For example: '.raw.data(mem1)' o for PDS members, a fully or partially qualified data set name with a wildcard name in parentheses. For example: '.raw.data(mem*)', '.raw.data(*mem1)', '.raw.data(*)' o a UNIX System Services file. For example: '/u/userid/raw' or 'HFS:raw' or '/u/userid/data/*'\",\"help\":\"INFILE &lt;DATALINES4&gt;&lt;DATALINES&gt;&lt;DISK&gt; ...\",\"arguments\":[{\"name\":\"BACKWARD\",\"optional\":true,\"aliases\":[\"BKWD\"],\"description\":\"[VSAM Option] Causes SAS to read the VSAM data set backwards (INFILE only)\",\"type\":\"standalone\"},{\"name\":\"BLKSIZE=\",\"optional\":true,\"aliases\":[\"BLK=\"],\"description\":\"[Windows/UNIX Host Option] Specifies the number of bytes that are physically read or written in an I/O operation. The default is 8K. The maximum is 1M (Windows) or 1G-1(UNIX).\",\"help\":\"BLKSIZE=*block-size*\",\"type\":\"value\"},{\"name\":\"BLOCK\",\"optional\":true,\"description\":\"Is used only in the context of named pipes. This option indicates whether the client is to wait if no data is currently available. BLOCK is the default value.\",\"type\":\"standalone\"},{\"name\":\"BUFND=\",\"optional\":true,\"description\":\"Indicates how many data buffers to use for the VSAM data set.\",\"help\":\"BUFND=*value*\",\"type\":\"value\"},{\"name\":\"BUFNI=\",\"optional\":true,\"description\":\"Indicates how many index buffers to use for the VSAM data set.\",\"help\":\"BUFNI=*value*\",\"type\":\"value\"},{\"name\":\"BYTE\",\"optional\":true,\"description\":\"Is used only in the context of named pipes. This option indicates the type of pipe. BYTE is the default value.\",\"type\":\"standalone\"},{\"name\":\"CCHHR=\",\"optional\":true,\"description\":\"specifies a character variable to which the physical address (cylinder head record) of a record is returned. This applies to files on CKD disks only.\",\"help\":\"CCHHR=*variable*\",\"type\":\"value\"},{\"name\":\"CLIENT\",\"optional\":true,\"description\":\"[Windows Host Option] Is used only in the context of named pipes. This option specifies the mode of a named pipe. The default value is SERVER.\",\"type\":\"standalone\"},{\"name\":\"CLOSE=\",\"optional\":true,\"description\":\"[z/OS Host Option] Indicates how a tape volume is positioned at the end of the DATA step.\",\"help\":\"CLOSE=REREAD | LEAVE | REWIND | FREE | DISP\",\"type\":\"choice\",\"arguments\":[{\"name\":\"REREAD\",\"description\":\"Positions the tape at the logical beginning of the data set.\",\"type\":\"standalone\"},{\"name\":\"LEAVE\",\"description\":\"Positions the tape at the logical end of the data set.\",\"type\":\"standalone\"},{\"name\":\"REWIND\",\"description\":\"Rewinds the tape to the physical beginning of the volume.\",\"type\":\"standalone\"},{\"name\":\"FREE\",\"description\":\"Dynamically deallocates the tape volume.\",\"type\":\"standalone\"},{\"name\":\"DISP\",\"description\":\"Is implied by the control language.\",\"type\":\"standalone\"}]},{\"name\":\"COLUMN=\",\"optional\":true,\"aliases\":[\"COL=\"],\"description\":\"Names a variable that SAS uses to assign the current column location of the input pointer. Like automatic variables, the COLUMN= variable is not written to the data set.\",\"type\":\"value\"},{\"name\":\"CONTROLINTERVAL\",\"optional\":true,\"aliases\":[\"CTLINTV\",\"CNV\"],\"description\":\"[VSAM Option] Indicates that you want to read physical VSAM control interval records rather than logical records. This option is typically used for diagnostic purposes (INFILE only).\",\"type\":\"standalone\"},{\"name\":\"CSRC\",\"optional\":true,\"description\":\"[OpenVMS Host Option] Specifies that you want to use the CSRCESRV services (available with z/OS) to compress data on output. For example: data _null_; file myfile csrc; put ... ; run;\",\"type\":\"standalone\"},{\"name\":\"CVAF\",\"optional\":true,\"description\":\"[VTOC Option under z/OS] Tells SAS to use the Common VTOC Access Facility (CVAF) of the IBM program product Data Facility/Device Support (DF/DS) for indexed VTOCs. If the VTOC is not indexed, or if your installation does not have CVAF, this option is ignored.\",\"type\":\"standalone\"},{\"name\":\"DATALINES4\",\"optional\":true,\"aliases\":[\"CARDS4\"],\"description\":\"Specifies that the input data immediately follows the DATALINES4|CARDS4 statement in the DATA step. Using DATALINES4|CARDS4 allows you to use the INFILE statement options to control how the INPUT statement reads instream data lines.\",\"type\":\"standalone\"},{\"name\":\"DATALINES\",\"optional\":true,\"aliases\":[\"CARDS\"],\"description\":\"Specifies that the input data immediately follows the DATALINES|CARDS statement in the DATA step. Using DATALINES|CARDS allows you to use the INFILE statement options to control how the INPUT statement reads instream data lines.\",\"type\":\"standalone\"},{\"name\":\"DCB=\",\"optional\":true,\"description\":\"specifies the fileref of an external file that was referenced in an earlier FILE or INFILE statement in the same DATA step. SAS uses that file's RECFM=, LRECL=, and BLKSIZE= information for the current file.\",\"help\":\"DCB=*fileref*\",\"type\":\"value\"},{\"name\":\"DELIMITER=\",\"optional\":true,\"aliases\":[\"DLM=\"],\"description\":\"Specifies an alternate delimiter (other than a blank) to be used for LIST input.\",\"type\":\"value\"},{\"name\":\"DISK\",\"optional\":true,\"description\":\"[device-type] Specifies that the device is a disk drive.\",\"type\":\"standalone\"},{\"name\":\"DLI\",\"optional\":true,\"description\":\"[type] For IMS-DL/I databases.\",\"type\":\"standalone\"},{\"name\":\"DLMSOPT=\",\"optional\":true,\"description\":\"Specifies whether case-insensitive comparisons will be done, or trailing blanks of the string delimiter will be removed.\",\"help\":\"DLMSOPT='I' | 'T'\",\"type\":\"choice\",\"arguments\":[{\"name\":\"'I'\",\"description\":\"Specifies that case-insensitive comparisons will be done.\",\"type\":\"standalone\"},{\"name\":\"'T'\",\"description\":\"Specifies that trailing blanks of the string delimiter will be removed.\",\"type\":\"standalone\"}]},{\"name\":\"DLMSTR=\",\"optional\":true,\"description\":\"Specifies a character string as an alternate delimiter (other than a blank) to be used for LIST input\",\"type\":\"value\"},{\"name\":\"DSD\",\"optional\":true,\"description\":\"Specifies that when data values are enclosed in quotation marks, delimiters within the value are treated as character data. The DSD option changes how SAS treats delimiters when you use LIST input and sets the default delimiter to a comma. When you specify DSD, SAS treats two consecutive delimiters as a missing value and removes quotation marks from character values.\",\"type\":\"standalone\"},{\"name\":\"DUMMY\",\"optional\":true,\"description\":\"[device-type] Specifies that the output to the file is discarded. Tip: Specifying DUMMY can be useful for testing.\",\"type\":\"standalone\"},{\"name\":\"ENCODING=\",\"optional\":true,\"description\":\"Specifies the encoding to use when reading from the external file.\",\"help\":\"ENCODING='warabic' | 'wbaltic' | 'wlatin2' | 'wcyrillic' | 'wgreek' | 'whebrew' | 'wturkish' | 'wvietnamese' | 'wlatin1' | 'utf-8' | 'ms-950' | 'ms-936' | 'ms-932' | 'ms-949'\",\"type\":\"choice\",\"arguments\":[{\"name\":\"'warabic'\",\"description\":\"Arabic\",\"type\":\"standalone\"},{\"name\":\"'wbaltic'\",\"description\":\"Baltic\",\"type\":\"standalone\"},{\"name\":\"'wlatin2'\",\"description\":\"Central Europe\",\"type\":\"standalone\"},{\"name\":\"'wcyrillic'\",\"description\":\"Cyrillic\",\"type\":\"standalone\"},{\"name\":\"'wgreek'\",\"description\":\"Greek\",\"type\":\"standalone\"},{\"name\":\"'whebrew'\",\"description\":\"Hebrew\",\"type\":\"standalone\"},{\"name\":\"'wturkish'\",\"description\":\"Turkish\",\"type\":\"standalone\"},{\"name\":\"'wvietnamese'\",\"description\":\"Vietnamese\",\"type\":\"standalone\"},{\"name\":\"'wlatin1'\",\"description\":\"Western\",\"type\":\"standalone\"},{\"name\":\"'utf-8'\",\"description\":\"Unicode encoding\",\"type\":\"standalone\"},{\"name\":\"'ms-950'\",\"description\":\"Traditional Chinese\",\"type\":\"standalone\"},{\"name\":\"'ms-936'\",\"description\":\"Simplified Chinese\",\"type\":\"standalone\"},{\"name\":\"'ms-932'\",\"description\":\"Japanese\",\"type\":\"standalone\"},{\"name\":\"'ms-949'\",\"description\":\"Korean\",\"type\":\"standalone\"}]},{\"name\":\"END=\",\"optional\":true,\"description\":\"Specifies a variable that SAS sets to 1 when the current input data record is the last in the input file. Until SAS processes the last data record, the END= variable is set to 0. Like automatic variables, this variable is not written to the data set. Restriction: You cannot use the END= option with UNBUFFERED option, DATALINES or DATALINES4 statement, and an INPUT statement that reads multiple input data records.\",\"type\":\"value\"},{\"name\":\"EOF=\",\"optional\":true,\"description\":\"Specifies a statement label that is the object of an implicit GO TO when the INFILE statement reaches end of file.\",\"type\":\"value\"},{\"name\":\"EOFCONNECT\",\"optional\":true,\"description\":\"[Windows Host Option] Is used only in the context of named pipes and is valid only when you are defining the server. This option indicates that if an end-of-file (EOF) character is received from a client, the server should try to connect to the next client.\",\"type\":\"standalone\"},{\"name\":\"EOV=\",\"optional\":true,\"description\":\"Specifies a variable that SAS sets to 1 when the first record in a file in a series of concatenated files is read.\",\"type\":\"value\"},{\"name\":\"ERASE=\",\"optional\":true,\"description\":\"Defines a numeric SAS variable that you must set to 1 when you want to erase a VSAM record (INFILE only).\",\"help\":\"ERASE=*variable*\",\"type\":\"value\"},{\"name\":\"EXPANDTABS\",\"optional\":true,\"description\":\"Specifies to expand tab characters to the standard tab setting, which is set at 8-column intervals that start at column 9.\",\"type\":\"standalone\"},{\"name\":\"FAC=\",\"optional\":true,\"description\":\"[OpenVMS Host Option] Overrides the default file access attributes used for external files. Use this option to indicate the level of access you want to allow for an external file. You can allow READ, WRITE, UPDATE, and DELETE access (as well as no access). By default with external files, files opened for input allow read access, files opened for output allow WRITE access, and files opened for update allow READ and WRITE access. The form of the FAC= option is FAC=access-option-list where access-option-list can be one of the following: DEL specifies DELETE access. GET specifies READ access. PUT specifies WRITE access. UPD specifies UPDATE access. You can combine these values in any order. For example, specifying the following indicates that you want DELETE, READ, and WRITE access:\",\"type\":\"value\"},{\"name\":\"FEEDBACK=\",\"optional\":true,\"aliases\":[\"FDBK=\"],\"description\":\"Defines a numeric variable that SAS sets to the VSAM logical error code. This option is similar to the _FDBK_ automatic variable. When SAS sets the FEEDBACK variable, you must reset it to 0 in order to continue.\",\"type\":\"value\"},{\"name\":\"FILEDATA=\",\"optional\":true,\"description\":\"[UNIX/z/OS Host Option] The FILEDATA= option specifies that the file being processed is expected to contain either binary or text data.\",\"help\":\"FILEDATA=BINARY | TEXT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"BINARY\",\"description\":\"The FILEDATA= option specifies that the file being processed is expected to contain binary data.\",\"type\":\"standalone\"},{\"name\":\"TEXT\",\"description\":\"The FILEDATA= option specifies that the file being processed is expected to contain text data.\",\"type\":\"standalone\"}]},{\"name\":\"FILENAME=\",\"optional\":true,\"description\":\"Specifies a variable that SAS sets to the physical StatementOptionName of the currently opened input file. Like automatic variables, the FILENAME= variable is not written to the data set.\",\"type\":\"value\"},{\"name\":\"FILEVAR=\",\"optional\":true,\"description\":\"Specifies a variable whose change in value causes the INFILE statement to close the current input file and open a new one.\",\"type\":\"value\"},{\"name\":\"FIRSTOBS=\",\"optional\":true,\"description\":\"Specifies a record number that SAS uses to begin reading input data records in the input file.\",\"type\":\"value\"},{\"name\":\"FLOWOVER\",\"optional\":true,\"description\":\"Causes an INPUT statement to continue to read the next input data record if it does not find values in the current input line for all the variables in the statement.\",\"type\":\"standalone\"},{\"name\":\"GENKEY\",\"optional\":true,\"description\":\"[VSAM Option] Causes SAS to use the KEY= variable as the leading portion of a record's key. VSAM retrieves the first record whose key matches the generic key (INFILE only).\",\"type\":\"standalone\"},{\"name\":\"GTERM\",\"optional\":true,\"description\":\"[device-type] Indicates that the output device type is a graphics device that will receive graphics data.\",\"type\":\"standalone\"},{\"name\":\"HFS\",\"optional\":true,\"description\":\"[type] For UNIX System Services files.\",\"type\":\"standalone\"},{\"name\":\"HOTLINK\",\"optional\":true,\"description\":\"[Windows Host Option] Instructs SAS to use the DDE HOTLINK.\",\"type\":\"standalone\"},{\"name\":\"IDMS\",\"optional\":true,\"description\":\"[type] For CA-IDMS files.\",\"type\":\"standalone\"},{\"name\":\"IGNOREDOSEOF\",\"optional\":true,\"description\":\"[Windows Host Option] Is used in the context of I/O operations on variable record format files. When this option is specified, any occurrence of ^Z is interpreted as character data and not as an end-of-file marker.\",\"type\":\"standalone\"},{\"name\":\"ISAM\",\"optional\":true,\"description\":\"[type] For ISAM files.\",\"type\":\"standalone\"},{\"name\":\"KEY=\",\"optional\":true,\"description\":\"[OpenVMS Host Option] Specifies which key SAS uses to read the records in an RMS file with indexed organization. The KEY= option is always used with the KEYVALUE= option.\",\"type\":\"value\"},{\"name\":\"KEYLEN=\",\"optional\":true,\"description\":\"Specifies a numeric SAS variable that, when used with GENKEY, specifies the length of the key that is to be compared to the keys in the file.\",\"help\":\"KEYLEN=*variable*\",\"type\":\"value\"},{\"name\":\"KEYPOS=\",\"optional\":true,\"description\":\"Indicates the numeric variable that SAS sets to the position of the VSAM key field. This option enables you to read keys without knowing the key position in advance. This variable is set to the column number (starting from 1).\",\"help\":\"KEYPOS=*variable*\",\"type\":\"value\"},{\"name\":\"KEYVALUE=\",\"optional\":true,\"description\":\"[OpenVMS Host Option] Specifies the key value with which to begin reading an indexed file.\",\"type\":\"value\"},{\"name\":\"LENGTH=\",\"optional\":true,\"description\":\"Specifies a variable that SAS sets to the length of the current input line.\",\"type\":\"value\"},{\"name\":\"LINE=\",\"optional\":true,\"description\":\"Specifies a variable that SAS sets to the line location of the input pointer in the input buffer. Like automatic variables, the LINE= variable is not written to the data set.\",\"type\":\"value\"},{\"name\":\"LINESIZE=\",\"optional\":true,\"aliases\":[\"LS=\"],\"description\":\"Specifies the record length that is available to the INPUT statement.\",\"type\":\"value\"},{\"name\":\"LRECL=\",\"optional\":true,\"description\":\"Specifies the logical record length.\",\"type\":\"value\"},{\"name\":\"MBC=\",\"optional\":true,\"description\":\"[OpenVMS Host Option] Specifies the size of the I/O buffers that OpenVMS RMS allocates for a particular file. The value can range from 0 to 127 and represents the number of blocks used for each buffer. By default, this option is set to 0 and the default values for the process are used. The MBC= option (multiblock count) is used for both input and output to control the allocation for a particular file. If you want to control the allocation size for all the external files used during the current SAS session, you can use the MBC= option in every FILE, FILENAME, or INFILE statement. You can also use the DCL SET RMS_DEFAULT command to specify a process default, and let the SAS values default to the process's default values.\",\"type\":\"value\"},{\"name\":\"MBF=\",\"optional\":true,\"description\":\"[OpenVMS Host Option] Specifies the number of I/O buffers you want OpenVMS RMS to allocate for a particular file. The value can range from 0 to 127 and represents the number of buffers used. By default, this option is set to a value of 2. If a value of 0 is specified, the default value for the process is used. The MBF= option (multibuffer count) is used for both input and output to control the number of buffers allocated for a particular file. If you want to control the number of buffers allocated for all the external files used during the SAS session, you can use the MBF= option in every FILE, FILENAME, or INFILE statement. The DCL SET RMS_DEFAULT command can be used to specify a process default. Then, you can let the SAS values default to the process's default values.\",\"type\":\"value\"},{\"name\":\"MESSAGE\",\"optional\":true,\"description\":\"Is used only in the context of named pipes. This option indicates the type of pipe. BYTE is the default value.\",\"type\":\"standalone\"},{\"name\":\"MISSOVER\",\"optional\":true,\"description\":\"Prevents an INPUT statement from reading a new input data record if it does not find values in the current input line for all the variables in the statement.\",\"type\":\"standalone\"},{\"name\":\"MOD\",\"optional\":true,\"description\":\"Indicates that data written to the file should be appended to the file\",\"type\":\"standalone\"},{\"name\":\"MVS\",\"optional\":true,\"description\":\"[type] For z/OS data sets.\",\"type\":\"standalone\"},{\"name\":\"N=\",\"optional\":true,\"description\":\"Specifies the number of lines that are available to the input pointer at one time.\",\"type\":\"value\"},{\"name\":\"NBYTE=\",\"optional\":true,\"description\":\"Specifies the StatementOptionName of a variable that contains the number of bytes to read from a file when you are reading data in stream record format (RECFM=S in the FILENAME statement).\",\"type\":\"value\"},{\"name\":\"NEW\",\"optional\":true,\"description\":\"Indicates that a new file is to be opened for output. If the file already exists, then it is deleted and re-created.\",\"type\":\"standalone\"},{\"name\":\"NOBLOCK\",\"optional\":true,\"description\":\"Is used only in the context of named pipes. This option indicates whether the client is to wait if no data is currently available. BLOCK is the default value.\",\"type\":\"standalone\"},{\"name\":\"NOEXPANDTABS\",\"optional\":true,\"description\":\"Specifies not to expand tab characters to the standard tab setting, which is set at 8-column intervals that start at column 9.\",\"type\":\"standalone\"},{\"name\":\"NOPAD\",\"optional\":true,\"description\":\"SAS does not pad the records that are read from an external file with blanks to the length that is specified in the LRECL= option.\",\"type\":\"standalone\"},{\"name\":\"NOPRINT\",\"optional\":true,\"description\":\"Specifies that the input file does not contain carriage-control characters.\",\"type\":\"standalone\"},{\"name\":\"NOTAB\",\"optional\":true,\"description\":\"[Windows Host Option] Instructs SAS to ignore tab characters between variables.\",\"type\":\"standalone\"},{\"name\":\"NRLS\",\"optional\":true,\"description\":\"[VSAM Option] Specifies not to use record-level sharing (RLS) to open an RLS-eligible data set (INFILE only).\",\"type\":\"standalone\"},{\"name\":\"OBS=\",\"optional\":true,\"description\":\"Use OBS= with FIRSTOBS= to read a range of records from the middle of a file.\",\"help\":\"OBS=&lt;*record-number*&gt; | MAX\",\"type\":\"choice\",\"arguments\":[{\"name\":\"record-number\",\"placeholder\":true,\"description\":\"Specifies the record number of the last record to read in an input file that is read sequentially.\",\"type\":\"value\"},{\"name\":\"MAX\",\"description\":\"Specifies the maximum number of observations to process, which will be at least as large as the largest signed, 32-bit integer.\",\"type\":\"standalone\"}]},{\"name\":\"OLD\",\"optional\":true,\"description\":\"Indicates that a new file is to be opened for output. If the file already exists, then the previous contents of the file are replaced.\",\"type\":\"standalone\"},{\"name\":\"PAD\",\"optional\":true,\"description\":\"SAS pads the records that are read from an external file with blanks to the length that is specified in the LRECL= option.\",\"type\":\"standalone\"},{\"name\":\"PASSWD=\",\"optional\":true,\"description\":\"Gives the appropriate password for a VSAM data set that has password protection.\",\"help\":\"PASSWD=*value*\",\"type\":\"value\"},{\"name\":\"PIPE\",\"optional\":true,\"description\":\"[device-type] Specifies an unnamed pipe. Note: Some operating environments do not support pipes.\",\"type\":\"standalone\"},{\"name\":\"PLOTTER\",\"optional\":true,\"description\":\"[device-type] Specifies an unbuffered graphics output device.\",\"type\":\"standalone\"},{\"name\":\"PRINT\",\"optional\":true,\"description\":\"Specifies that the input file contains carriage-control characters.\",\"type\":\"standalone\"},{\"name\":\"PRINTER\",\"optional\":true,\"description\":\"[device-type] Specifies a printer or printer spool file.\",\"type\":\"standalone\"},{\"name\":\"RBA=\",\"optional\":true,\"description\":\"Specifies a numeric variable that you set to the relative byte address (RBA) of the data record that you want to read. The RBA= option indicates that addressed direct access is being used; it is appropriate for KSDS and ESDS. If you specify the CONTROLINTERVAL option, you can use the RBA= option to access control records in an RRDS (INFILE only).\",\"help\":\"RBA=*variable*\",\"type\":\"value\"},{\"name\":\"RC4STOP\",\"optional\":true,\"description\":\"[VSAM Option] Stops the DATA step from executing if a return code greater than 4 is returned by the operating environment when the VSAM data set is opened.\",\"type\":\"standalone\"},{\"name\":\"RECFM=\",\"optional\":true,\"description\":\"[Windows/UNIX Host Option] Specifies the record format of the external file.\",\"help\":\"RECFM=F | P | S | V | N | s370V | S370VB | S370VBS | STREAMLF\",\"type\":\"choice\",\"arguments\":[{\"name\":\"F\",\"description\":\"Fixed-record format\",\"type\":\"standalone\"},{\"name\":\"P\",\"description\":\"Print format.\",\"type\":\"standalone\"},{\"name\":\"S\",\"description\":\"Stream-record format.\",\"type\":\"standalone\"},{\"name\":\"V\",\"aliases\":[\"D\"],\"description\":\"Variable-record format (the default)\",\"type\":\"standalone\"},{\"name\":\"N\",\"description\":\"Indicates binary format and causes the file to be treated as a byte stream. If LRECL is not specified, by default SAS reads 256 bytes at a time from the file.\",\"type\":\"standalone\"},{\"name\":\"s370V\",\"description\":\"Indicates the variable S370 record format (V).\",\"type\":\"standalone\"},{\"name\":\"S370VB\",\"description\":\"Indicates the variable block S370 record format (VB).\",\"type\":\"standalone\"},{\"name\":\"S370VBS\",\"description\":\"Indicates the variable block with spanned records S370 record format (VBS).\",\"type\":\"standalone\"},{\"name\":\"STREAMLF\",\"description\":\"[For OpenVMS] Specifies StreamLF record format. Records are delimited by LF.\",\"type\":\"standalone\"}]},{\"name\":\"RECORDS=\",\"optional\":true,\"description\":\"Defines a numeric variable that SAS sets to the number of logical records in a VSAM data set that has been opened for input.\",\"help\":\"RECORDS=*variable*\",\"type\":\"value\"},{\"name\":\"RECORG=\",\"optional\":true,\"description\":\"[z/OS Host Option] Specifies the organization of records in a new VSAM data set. Use this option only if SMS is active.\",\"help\":\"RECORG=KS | ES | RR | LS\",\"type\":\"choice\",\"arguments\":[{\"name\":\"KS\",\"description\":\"Specifies a VSAM key-sequenced data set.\",\"type\":\"standalone\"},{\"name\":\"ES\",\"description\":\"Specifies a VSAM entry-sequenced data set.\",\"type\":\"standalone\"},{\"name\":\"RR\",\"description\":\"Specifies a VSAM relative-record data set.\",\"type\":\"standalone\"},{\"name\":\"LS\",\"description\":\"Specifies a VSAM linear-space data set.\",\"type\":\"standalone\"}]},{\"name\":\"RESET\",\"optional\":true,\"description\":\"[VSAM Option] Indicates that the VSAM file is reset to empty (no records) when it is opened. This option applies only to loading a VSAM data set that has been marked REUSE. You cannot use this option if the data set contains an alternate index.\",\"type\":\"standalone\"},{\"name\":\"RETRY=\",\"optional\":true,\"description\":\"[Windows Host Option]\",\"help\":\"RETRY=*seconds*\",\"type\":\"value\"},{\"name\":\"RRN=\",\"optional\":true,\"description\":\"Defines a numeric variable that you set to the relative record number (RRN) of the record that you want to read or write. This option indicates that keyed direct access is being used; it is appropriate for RRDS only.\",\"help\":\"RRN=*variable*\",\"type\":\"value\"},{\"name\":\"SCANOVER\",\"optional\":true,\"description\":\"Causes the INPUT statement to scan the input data records until the character string that is specified in the @'character-string' expression is found.\",\"type\":\"standalone\"},{\"name\":\"SEQUENTIAL\",\"optional\":true,\"description\":\"[VSAM Option] Specifies sequential VSAM record retrieval when either the RBA= (for an ESDS) or the RRN= option (for an RRDS) is specified (INFILE only).\",\"type\":\"standalone\"},{\"name\":\"SERVER\",\"optional\":true,\"description\":\"[Windows Host Option] Is used only in the context of named pipes. This option specifies the mode of a named pipe. The default value is SERVER.\",\"type\":\"standalone\"},{\"name\":\"SHAREBUFFERS\",\"optional\":true,\"aliases\":[\"SHAREBUFS\"],\"description\":\"Specifies that the FILE statement and the INFILE statement share the same buffer.\",\"type\":\"standalone\"},{\"name\":\"SHR=\",\"optional\":true,\"description\":\"[OpenVMS Host Option] Overrides the default file-sharing attributes used for external files. With this option, you can indicate the access level you want to give other users. You can allow READ, WRITE, UPDATE, and DELETE access (as well as no access). By default with external files, files opened for input allow shared read access, and files opened for output or UPDATE do not allow shared access. However, you can allow other users to have READ and WRITE access to a file that you are opening for input only. To accomplish this, use the SHR= option. The syntax of the SHR= option is SHR=share-option-list where share-option-list can be one of the following: DEL specifies DELETE access. GET specifies shared READ access. NONE specifies no shared access. PUT specifies shared WRITE access. UPD specifies UPDATE access. You can combine these values in any order. For example, specifying the following indicates that you want shared DELETE, READ, and WRITE access:\",\"type\":\"value\"},{\"name\":\"SKIP\",\"optional\":true,\"description\":\"[VSAM Option] Indicates skip-sequential processing of VSAM files. Skip-sequential processing finds the first record whose value is the same as the value specified by the KEY= option; records are read sequentially thereafter (INFILE only).\",\"type\":\"standalone\"},{\"name\":\"START=\",\"optional\":true,\"description\":\"Specifies a variable whose value SAS uses as the first column number of the record that the PUT _INFILE_ statement writes. Like automatic variables, the START variable is not written to the data set.\",\"type\":\"value\"},{\"name\":\"STOPOVER\",\"optional\":true,\"description\":\"Causes the DATA step to stop processing if an INPUT statement reaches the end of the current record without finding values for all variables in the statement.\",\"type\":\"standalone\"},{\"name\":\"TAPE\",\"optional\":true,\"description\":\"[device-type] Specifies a tape drive.\",\"type\":\"standalone\"},{\"name\":\"TEMP\",\"optional\":true,\"description\":\"[device-type] Creates a temporary file that exists only as long as the filename is assigned.\",\"type\":\"standalone\"},{\"name\":\"TERMINAL\",\"optional\":true,\"description\":\"[device-type] Specifies the user's terminal.\",\"type\":\"standalone\"},{\"name\":\"TERMSTR=\",\"optional\":true,\"description\":\"[Windows/UNIX Host Option] Specifies the end-of-line character for the file. Use this option to share files between the UNIX and Windows operating environments.\",\"help\":\"TERMSTR=CR | CRLF | LF | NULL | NONE | NL | LFCR | CRNL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"CR\",\"description\":\"Carriage return (CR).\",\"type\":\"standalone\"},{\"name\":\"CRLF\",\"description\":\"Carriage return (CR) followed by line feed (LF).\",\"type\":\"standalone\"},{\"name\":\"LF\",\"description\":\"Line feed only (the default).\",\"type\":\"standalone\"},{\"name\":\"NULL\",\"description\":\"NULL character (0x00).\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"Record terminators are not used. This parameter provides the same function as FILEDATA=BINARY.\",\"type\":\"standalone\"},{\"name\":\"NL\",\"description\":\"The newline character (x'15') is used as the record terminator. This parameter provides the same function as FILEDATA=TEXT.\",\"type\":\"standalone\"},{\"name\":\"LFCR\",\"description\":\"The sequence LF followed by CR is used as the record terminator.\",\"type\":\"standalone\"},{\"name\":\"CRNL\",\"description\":\"The sequence CR followed by NL is used as the record terminator.\",\"type\":\"standalone\"}]},{\"name\":\"TRUNCOVER\",\"optional\":true,\"description\":\"Overrides the default behavior of the INPUT statement when an input data record is shorter than the INPUT statement expects. By default, the INPUT statement automatically reads the next input data record. TRUNCOVER enables you to read variable-length records when some records are shorter than the INPUT statement expects. Variables without any values assigned are set to missing.\",\"type\":\"standalone\"},{\"name\":\"UNBUFFERED\",\"optional\":true,\"aliases\":[\"UNBUF\"],\"description\":\"Tells SAS not to perform a buffered (\\\"look ahead\\\") read.\",\"type\":\"standalone\"},{\"name\":\"UPDATE=\",\"optional\":true,\"description\":\"Defines a numeric SAS variable that indicates that not every record that it reads is to be updated. Use this option when you are updating records in a VSAM data set (INFILE only). When an INFILE and a FILE statement reference the same VSAM data set, records are retrieved for update by default.\",\"help\":\"UPDATE=*variable*\",\"type\":\"value\"},{\"name\":\"UPRINTER\",\"optional\":true,\"description\":\"[device-type] Specifies a Universal Printing printer definition StatementOptionName.\",\"type\":\"standalone\"},{\"name\":\"VSAM\",\"optional\":true,\"description\":\"[type] For VSAM files.\",\"type\":\"standalone\"},{\"name\":\"VTOC\",\"optional\":true,\"description\":\"[type] For a Volume Table of Contents (VTOC).\",\"type\":\"standalone\"},{\"name\":\"_INFILE_=\",\"optional\":true,\"description\":\"Specifies a character variable that references the contents of the current input buffer for this INFILE statement.\",\"type\":\"value\"}]},{\"name\":\"INFORMAT\",\"description\":\"Associates informats with variables.\",\"help\":\"INFORMAT &lt;DEFAULT= default-informat&gt;\",\"arguments\":[{\"name\":\"DEFAULT=\",\"optional\":true,\"description\":\"Specifies a temporary default informat for reading values of the variables that are listed in the INFORMAT statement. If no variable is specified, then the DEFAULT= informat specification applies a temporary default informat for reading values of all the variables of that type included in the DATA step. Numeric informats are applied to numeric variables, and character informats are applied to character variables. These default informats apply only to the current DATA step. A DEFAULT= informat specification applies to o variables that are not named in an INFORMAT or ATTRIB statement o variables that are not permanently associated with an informat within a SAS data set o variables that are not read with an explicit informat in the current DATA step. Default: If you omit DEFAULT=, SAS uses w.d as the default numeric informat and $w. as the default character informat. Restriction: Use this argument only in a DATA step.\",\"type\":\"value\"}]},{\"name\":\"INPUT\",\"description\":\"Describes the arrangement of values in the input data record and assigns input values to the corresponding SAS variables.\",\"help\":\"INPUT &lt;specification(s)&gt;&lt;@|@@&gt;\"},{\"name\":\"KEEP\",\"description\":\"Specifies the variables to include in output SAS data sets.\",\"help\":\"KEEP variable-list\"},{\"name\":\"LABEL\",\"description\":\"Identifies a statement that is referred to by another statement.\",\"help\":\"\"},{\"name\":\"LEAVE\",\"description\":\"Stops processing the current loop and resumes with the next statement in the sequence.\",\"help\":\"LEAVE\"},{\"name\":\"LENGTH\",\"description\":\"Specifies the number of bytes for storing variables.\",\"help\":\"LENGTH &lt;DEFAULT=n&gt;\",\"arguments\":[{\"name\":\"DEFAULT=\",\"optional\":true,\"description\":\"Changes the default number of bytes that SAS uses to store the values of any newly created numeric variables.\",\"help\":\"DEFAULT=*n*\",\"type\":\"value\"}]},{\"name\":\"LINK\",\"description\":\"Directs program execution immediately to the statement label that is specified and, if followed by a RETURN statement, returns execution to the statement that follows the LINK statement.\",\"help\":\"LINK label\"},{\"name\":\"LIST\",\"description\":\"Writes to the SAS log the input data record for the observation that is being processed.\",\"help\":\"LIST\"},{\"name\":\"LOSS\",\"description\":\"The LOSS statement specifies the name of the response or loss variable whose distribution needs to be modeled. You can also specify additional options to indicate any truncation or censoring of the response. The specification of response variable is optional if at least one type of censoring is specified. You must specify a response variable if no censoring is specified. If you specify more than one LOSS statement, then the first statement is used. All the analysis variables specified in this statement must be present in the input data set that is specified by using the DATA= option in the PROC HPSEVERITY statement. The response variable is expected to have nonmissing values. If the variable has a missing value in an observation, then a warning is written to the SAS log and that observation is ignored.\",\"help\":\"LOSS &lt;LEFTCENSORED | LC=variable-name&gt;&lt;LEFTTRUNCATED | LT=variable-name&gt;&lt;RIGHTCENSORED | RC=variable-name&gt; ...\",\"arguments\":[{\"name\":\"LEFTCENSORED=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"LC=\"],\"description\":\"Syntax: LEFTCENSORED | LC=variable-name LEFTCENSORED | LC=number Specifies the left-censoring variable or a global left-censoring limit. You can use the variable-name argument to specify a data set variable that contains the left-censoring limit. If the value of this variable is missing, then PROC HPSEVERITY assumes that such observations are not left-censored. Alternatively, you can use the number argument to specify a left-censoring limit value that applies to all the observations in the data set. This limit must be a nonzero positive number. By definition of left-censoring, an exact value of the response is not known when it is less than or equal to the left-censoring limit. If the response variable is specified and the value of that variable is less than or equal to the value of the left-censoring limit for some observations, then PROC HPSEVERITY treats such observations as left-censored and the value of the response variable is ignored. If the response variable is specified and the value of that variable is greater than the value of the leftcensoring limit for some observations, then PROC HPSEVERITY assumes that such observations are not left-censored. If you specify left-censoring, then you must also specify right-censoring. PROC HPSEVERITY ignores observations that are purely left-censored. In other words, left-censoring specification is allowed only in the context of interval-censoring.\",\"type\":\"value\"},{\"name\":\"LEFTTRUNCATED=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"LT=\"],\"description\":\"Syntax: LEFTTRUNCATED | LT=variable-name LEFTTRUNCATED | LT=number specifies the left-truncation variable or a global left-truncation threshold. You can use the variable-name argument to specify a data set variable that contains the left-truncation threshold. If the value of this variable is missing or 0 for some observations, then PROC HPSEVERITY assumes that such observations are not left-truncated. Alternatively, you can use the number argument to specify a left-truncation threshold that applies to all the observations in the data set. This threshold must be a nonzero positive number.\",\"type\":\"value\"},{\"name\":\"REF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"REFERENCE=\"],\"description\":\"Specifies the reference level for PARAM=REFERENCE. For an individual (but not a global) variable REF= option, you can specify the level of the variable to use as the reference level. Specify the formatted value of the variable if a format is assigned. For a REF= option or global-option, you can use one of the following keywords. The default is REF=LAST.\",\"help\":\"REF=&lt;'*level*'&gt; | FIRST | LAST\",\"type\":\"choice\",\"arguments\":[{\"name\":\"'level'\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"For an individual (but not a global) variable REF= option, you can specify the level of the variable to use as the reference level.\",\"type\":\"value\"},{\"name\":\"FIRST\",\"followsDelimiter\":\"/\",\"description\":\"Designates the first-ordered level as reference.\",\"type\":\"standalone\"},{\"name\":\"LAST\",\"followsDelimiter\":\"/\",\"description\":\"Designates the last-ordered level as reference.\",\"type\":\"standalone\"}]},{\"name\":\"RIGHTCENSORED=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"RC=\"],\"description\":\"Syntax: RIGHTCENSORED | RC=variable-name RIGHTCENSORED | RC=number Specifies the right-censoring variable or a global right-censoring limit. You can use the variable-name argument to specify a data set variable that contains the right-censoring limit. If the value of this variable is missing, then PROC HPSEVERITY assumes that such observations are not right-censored. Alternatively, you can use the number argument to specify a right-censoring limit value that applies to all the observations in the data set. This limit must be a nonzero positive number. By definition of right-censoring, an exact value of the response is not known when it is greater than or equal to the right-censoring limit. If the response variable is specified and the value of that variable is greater than or equal to the value of the right-censoring limit for some observations, then PROC HPSEVERITY treats such observations as right-censored and the value of the response variable is ignored. If the response variable is specified and the value of that variable is less than the value of the right-censoring limit for some observations, then PROC HPSEVERITY assumes that such observations are not right-censored and the value of the right-censoring limit is ignored.\",\"type\":\"value\"},{\"name\":\"RIGHTTRUNCATED=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"RT=\"],\"description\":\"Syntax: RIGHTTRUNCATED | RT=variable-name RIGHTTRUNCATED | RT=number Specifies the right-truncation variable or a global right-truncation threshold. You can use the variable-name argument to specify a data set variable that contains the righttruncation threshold. If the value of this variable is missing for some observations, then PROC HPSEVERITY assumes that such observations are not right-truncated. Alternatively, you can use the number argument to specify a right-truncation threshold that applies to all the observations in the data set. This threshold must be a nonzero positive number.\",\"type\":\"value\"}]},{\"name\":\"MERGE\",\"description\":\"Joins observations from two or more SAS data sets into a single observation.\",\"help\":\"MERGE &lt;ALTER=&gt;&lt;BUFNO=&lt;n | nK | hexX&gt;... &gt;&lt;END=variable&gt; ...\",\"arguments\":[{\"name\":\"ALTER=\",\"optional\":true,\"description\":\"\",\"type\":\"value\"},{\"name\":\"BUFNO=\",\"optional\":true,\"description\":\"\",\"help\":\"BUFNO=n | nK | hexX | MIN | MAX\",\"type\":\"choice\",\"arguments\":[{\"name\":\"n\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"nK\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"hexX\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"MIN\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"MAX\",\"description\":\"\",\"type\":\"standalone\"}]},{\"name\":\"BUFSIZE=\",\"optional\":true,\"description\":\"\",\"help\":\"BUFSIZE=n | nK | nM | nG | hexX | MIN | MAX\",\"type\":\"choice\",\"arguments\":[{\"name\":\"n\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"nK\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"nM\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"nG\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"hexX\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"MIN\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"MAX\",\"description\":\"\",\"type\":\"standalone\"}]},{\"name\":\"CNTLLEV=\",\"optional\":true,\"description\":\"\",\"help\":\"CNTLLEV=LIB | MEM | REC\",\"type\":\"choice\",\"arguments\":[{\"name\":\"LIB\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"MEM\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"REC\",\"description\":\"\",\"type\":\"standalone\"}]},{\"name\":\"COMPRESS=\",\"optional\":true,\"description\":\"\",\"help\":\"COMPRESS=NO | YES | CHAR | BINARY\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NO\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"YES\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"CHAR\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"BINARY\",\"description\":\"\",\"type\":\"standalone\"}]},{\"name\":\"DLDMGACTION=\",\"optional\":true,\"description\":\"\",\"help\":\"DLDMGACTION=FAIL | ABORT | REPAIR | NOINDEX | PROMPT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"FAIL\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"ABORT\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"REPAIR\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"NOINDEX\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"PROMPT\",\"description\":\"\",\"type\":\"standalone\"}]},{\"name\":\"DROP=\",\"optional\":true,\"description\":\"\",\"type\":\"value\"},{\"name\":\"ENCRYPT=\",\"optional\":true,\"description\":\"\",\"help\":\"ENCRYPT=YES | NO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YES\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"NO\",\"description\":\"\",\"type\":\"standalone\"}]},{\"name\":\"ENCRYPTKEY=\",\"optional\":true,\"description\":\"\",\"type\":\"value\"},{\"name\":\"END=\",\"optional\":true,\"description\":\"Names and creates a temporary variable that contains an end-of-file indicator.\",\"help\":\"END=*variable*\",\"type\":\"value\"},{\"name\":\"EXTENDOBSCOUNTER=\",\"optional\":true,\"description\":\"\",\"type\":\"value\"},{\"name\":\"FILECLOSE=\",\"optional\":true,\"description\":\"\",\"help\":\"FILECLOSE=DISP | LEAVE | REREAD | REWIND\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DISP\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"LEAVE\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"REREAD\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"REWIND\",\"description\":\"\",\"type\":\"standalone\"}]},{\"name\":\"FIRSTOBS=\",\"optional\":true,\"description\":\"\",\"help\":\"FIRSTOBS=n | nK | nM | nG | hexX | MIN | MAX\",\"type\":\"choice\",\"arguments\":[{\"name\":\"n\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"nK\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"nM\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"nG\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"hexX\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"MIN\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"MAX\",\"description\":\"\",\"type\":\"standalone\"}]},{\"name\":\"GENMAX=\",\"optional\":true,\"description\":\"\",\"type\":\"value\"},{\"name\":\"GENNUM=\",\"optional\":true,\"description\":\"\",\"type\":\"value\"},{\"name\":\"IDXNAME=\",\"optional\":true,\"description\":\"\",\"type\":\"value\"},{\"name\":\"IDXWHERE=\",\"optional\":true,\"description\":\"\",\"help\":\"IDXWHERE=YES | NO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YES\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"NO\",\"description\":\"\",\"type\":\"standalone\"}]},{\"name\":\"IN=\",\"optional\":true,\"description\":\"\",\"type\":\"value\"},{\"name\":\"INDEX=\",\"optional\":true,\"description\":\"\",\"type\":\"value\"},{\"name\":\"KEEP=\",\"optional\":true,\"description\":\"\",\"type\":\"value\"},{\"name\":\"LABEL=\",\"optional\":true,\"description\":\"\",\"type\":\"value\"},{\"name\":\"OBS=\",\"optional\":true,\"description\":\"\",\"help\":\"OBS=n | nK | nM | nG | nT | hexX | MIN | MAX\",\"type\":\"choice\",\"arguments\":[{\"name\":\"n\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"nK\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"nM\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"nG\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"nT\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"hexX\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"MIN\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"MAX\",\"description\":\"\",\"type\":\"standalone\"}]},{\"name\":\"OUTREP=\",\"optional\":true,\"description\":\"\",\"type\":\"value\"},{\"name\":\"POINTOBS=\",\"optional\":true,\"description\":\"\",\"help\":\"POINTOBS=YES | NO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YES\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"NO\",\"description\":\"\",\"type\":\"standalone\"}]},{\"name\":\"PW=\",\"optional\":true,\"description\":\"\",\"type\":\"value\"},{\"name\":\"PWREQ=\",\"optional\":true,\"description\":\"\",\"help\":\"PWREQ=YES | NO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YES\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"NO\",\"description\":\"\",\"type\":\"standalone\"}]},{\"name\":\"READ=\",\"optional\":true,\"description\":\"\",\"type\":\"value\"},{\"name\":\"RENAME=\",\"optional\":true,\"description\":\"\",\"type\":\"value\"},{\"name\":\"REPEMPTY=\",\"optional\":true,\"description\":\"\",\"help\":\"REPEMPTY=YES | NO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YES\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"NO\",\"description\":\"\",\"type\":\"standalone\"}]},{\"name\":\"REPLACE=\",\"optional\":true,\"description\":\"\",\"help\":\"REPLACE=YES | NO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YES\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"NO\",\"description\":\"\",\"type\":\"standalone\"}]},{\"name\":\"REUSE=\",\"optional\":true,\"description\":\"\",\"help\":\"REUSE=YES | NO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YES\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"NO\",\"description\":\"\",\"type\":\"standalone\"}]},{\"name\":\"SGIO=\",\"optional\":true,\"description\":\"\",\"help\":\"SGIO=YES | NO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YES\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"NO\",\"description\":\"\",\"type\":\"standalone\"}]},{\"name\":\"SORTEDBY=\",\"optional\":true,\"description\":\"\",\"help\":\"SORTEDBY=by-clause &lt; / collate-name&gt; | _NULL_\",\"type\":\"choice\",\"arguments\":[{\"name\":\"by-clause\",\"description\":\"\",\"help\":\"by-clause &lt; / collate-name&gt;\",\"type\":\"standalone\"},{\"name\":\"_NULL_\",\"description\":\"\",\"type\":\"standalone\"}]},{\"name\":\"SPILL=\",\"optional\":true,\"description\":\"\",\"help\":\"SPILL=YES | NO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YES\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"NO\",\"description\":\"\",\"type\":\"standalone\"}]},{\"name\":\"TOBSNO=\",\"optional\":true,\"description\":\"\",\"type\":\"value\"},{\"name\":\"TRANTAB=\",\"optional\":true,\"description\":\"\",\"type\":\"value\"},{\"name\":\"TYPE=\",\"optional\":true,\"description\":\"\",\"type\":\"value\"},{\"name\":\"WHERE=\",\"optional\":true,\"description\":\"\",\"type\":\"value\"},{\"name\":\"WHEREUP=\",\"optional\":true,\"description\":\"\",\"help\":\"WHEREUP=YES | NO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YES\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"NO\",\"description\":\"\",\"type\":\"standalone\"}]},{\"name\":\"WRITE=\",\"optional\":true,\"description\":\"\",\"type\":\"value\"}]},{\"name\":\"MODEL\",\"description\":\"This statement specifies the name of the response variable whose distribution needs to be modeled. You can also specify additional options to indicate any truncation or censoring of the response and any regression effects in this statement. All the analysis variables specified in this statement must be present in the input data set that is specified by using the DATA= option in the PROC SEVERITY statement. The response variable and the regressor variables are expected to have nonmissing values. If any of the variables has a missing value in an observation, then a warning is written to the SAS log and that observation is ignored.\",\"help\":\"MODEL &lt;CRITERION=&lt;LOGLIKELIHOOD|LL | AIC | AICC&gt;... &gt;&lt;EMPIRICALCDF=&lt;AUTOMATIC|AUTO | STANDARD|STD | KAPLANMEIER|KM&gt;... &gt;\",\"arguments\":[{\"name\":\"CRITERION=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"CRITERIA=\",\"CRIT=\"],\"description\":\"Specifies the model selection criterion.\",\"help\":\"CRITERION=LOGLIKELIHOOD | AIC | AICC | BIC | KS | AD | CVM\",\"type\":\"choice\",\"arguments\":[{\"name\":\"LOGLIKELIHOOD\",\"followsDelimiter\":\"/\",\"aliases\":[\"LL\"],\"description\":\"Specifies -2*log(L) as the selection criterion, where L is the likelihood of the data. A lower value is deemed better. This is the default.\",\"type\":\"standalone\"},{\"name\":\"AIC\",\"followsDelimiter\":\"/\",\"description\":\"Specifies the Akaike’s information criterion (AIC) as the selection criterion. A lower value is deemed better.\",\"type\":\"standalone\"},{\"name\":\"AICC\",\"followsDelimiter\":\"/\",\"description\":\"Specifies the finite-sample corrected Akaike’s information criterion (AICC) as the selection criterion. A lower value is deemed better.\",\"type\":\"standalone\"},{\"name\":\"BIC\",\"followsDelimiter\":\"/\",\"description\":\"Specifies Schwarz Bayesian information criterion (BIC) as the selection criterion. A lower value is deemed better.\",\"type\":\"standalone\"},{\"name\":\"KS\",\"followsDelimiter\":\"/\",\"description\":\"Specifies the Kolmogorov-Smirnov (KS) statistic value, which is computed by using the empirical distribution function (EDF) estimate, as the selection criterion. A lower value is deemed better.\",\"type\":\"standalone\"},{\"name\":\"AD\",\"followsDelimiter\":\"/\",\"description\":\"Specifies the Anderson-Darling (AD) statistic value, which is computed by using the empirical distribution function (EDF) estimate, as the selection criterion. A lower value is deemed better.\",\"type\":\"standalone\"},{\"name\":\"CVM\",\"followsDelimiter\":\"/\",\"description\":\"Specifies the Craer-von-Mises (CvM) statistic value, which is computed by using the empirical distribution function (EDF) estimate, as the selection criterion. A lower value is deemed better.\",\"type\":\"standalone\"}]},{\"name\":\"EMPIRICALCDF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"EDF=\"],\"description\":\"Specifies the method to use for computing the nonparametric or empirical estimate of the cumulative distribution function of the data.\",\"help\":\"EMPIRICALCDF=AUTOMATIC | STANDARD | KAPLANMEIER | MODIFIEDKM\",\"type\":\"choice\",\"arguments\":[{\"name\":\"AUTOMATIC\",\"followsDelimiter\":\"/\",\"aliases\":[\"AUTO\"],\"description\":\"Specifies that the method be chosen automatically based on the data specification. This option is the default. If no right-censoring or left-truncation is specified, then the standard empirical estimation method (STANDARD) is chosen. If either right- censoring or left-truncation is specified, then the Kaplan-Meier method (KAPLANMEIER) is chosen.\",\"type\":\"standalone\"},{\"name\":\"STANDARD\",\"followsDelimiter\":\"/\",\"aliases\":[\"STD\"],\"description\":\"Specifies that the standard empirical estimation method be used. This ignores any censoring or truncation information even if specified, and can thus result in estimates that are more biased than those obtained with other methods more suitable for such data.\",\"type\":\"standalone\"},{\"name\":\"KAPLANMEIER\",\"followsDelimiter\":\"/\",\"aliases\":[\"KM\"],\"description\":\"Specifies that the product limit estimator proposed by Kaplan and Meier (1958) be used.\",\"type\":\"standalone\"},{\"name\":\"MODIFIEDKM\",\"followsDelimiter\":\"/\",\"aliases\":[\"MKM\"],\"description\":\"Syntax: MODIFIEDKM | MKM <(options)> Specifies that the modified product limit estimator be used. This method allows the estimates to be more robust by ignoring the contributions to the estimate due to small risk-set sizes. The risk set is the set of observations at the risk of failing, where an observation is said to fail if it has not been processed yet and might experience censoring or truncation. However, you can modify the default by using the following options: RSLB=number specifies the absolute lower bound on the risk set size to be included in the estimate. C=number specifies the value to use for c when the lower bound on the risk set size is defined as cn^α. This value must satisfy c > 0. ALPHA | A=number specifies the value to use for α when the lower bound on the risk set size is defined as cn^α. This value must satisfy 0 < α < 1.\",\"type\":\"standalone\"}]}]},{\"name\":\"MODIFY\",\"description\":\"Replaces, deletes, and appends observations in an existing SAS data set in place but does not create an additional copy.\",\"help\":\"MODIFY &lt;END=variable&gt;&lt;KEY=index&gt;&lt;NOBS=variable&gt; ...\",\"arguments\":[{\"name\":\"CUREOBS=\",\"optional\":true,\"description\":\"Creates and names a variable that contains the observation number that was just read from the data set.\",\"type\":\"value\"},{\"name\":\"END=\",\"optional\":true,\"description\":\"Creates and names a temporary variable that contains an end-of-file indicator.\",\"help\":\"END=*variable*\",\"type\":\"value\"},{\"name\":\"KEY=\",\"optional\":true,\"description\":\"Specifies a simple or composite index of the SAS data file that is being modified. The KEY= argument retrieves observations from that SAS data file based on index values that are supplied by like-named variables in another source of information.\",\"help\":\"KEY=*index*\",\"type\":\"value\"},{\"name\":\"KEYRESET=\",\"optional\":true,\"description\":\"Controls whether a KEY= search should begin at the top of the index for the data set that is being read. When the value of the KEYRESET variable is 1, the index lookup begins at the top of the index. When the value of the KEYRESET variable is 0, the index lookup is not reset and the lookup continues where the prior lookup ended.\",\"help\":\"KEYRESET=*variable*\",\"type\":\"value\"},{\"name\":\"NOBS=\",\"optional\":true,\"description\":\"Creates and names a temporary variable whose value is usually the total number of observations in the input data set. For certain SAS views, SAS cannot determine the number of observations. In these cases, SAS sets the value of the NOBS= variable to the largest positive integer value available in the operating environment.\",\"help\":\"NOBS=*variable*\",\"type\":\"value\"},{\"name\":\"POINT=\",\"optional\":true,\"description\":\"Reads SAS data sets using random (direct) access by observation number. variable names a variable whose value is the number of the observation to read. The POINT= variable is available anywhere in the DATA step, but it is not added to any SAS data set.\",\"help\":\"POINT=*variable*\",\"type\":\"value\"},{\"name\":\"UNIQUE\",\"optional\":true,\"description\":\"Causes a KEY= search always to begin at the top of the index for the data file being modified.\",\"type\":\"standalone\"},{\"name\":\"UPDATEMODE=\",\"optional\":true,\"description\":\"Specifies whether missing variable values in a transaction data set are to be allowed to replace existing variable values in a master data set.\",\"help\":\"UPDATEMODE=MISSINGCHECK | NOMISSINGCHECK\",\"type\":\"choice\",\"arguments\":[{\"name\":\"MISSINGCHECK\",\"description\":\"Prevents missing variable values in a transaction data set from replacing values in a master data set.\",\"type\":\"standalone\"},{\"name\":\"NOMISSINGCHECK\",\"description\":\"Allows missing variable values in a transaction data set to replace values in a master data set by preventing the check from being performed.\",\"type\":\"standalone\"}]}]},{\"name\":\"NLOPTIONS\",\"description\":\"The SEVERITY procedure uses the nonlinear optimization (NLO) subsystem to perform the nonlinear optimization of the likelihood function to obtain the estimates of distribution and regression parameters. You can use the NLOPTIONS statement to control different aspects of this optimization process.\",\"help\":\"NLOPTIONS &lt;ABSCONV= | ABSTOL=r&gt;&lt;ABSFCONV=r[n] | ABSFTOL=r[n&gt;&lt;ABSGCONV=r[n] | ABSGTOL=r[n&gt; ...\",\"arguments\":[{\"name\":\"ABSCONV=\",\"optional\":true,\"aliases\":[\"ABSTOL=\"],\"description\":\"Specifies an absolute function convergence criterion. The default value of r is the negative square root of the largest double-precision value, which serves only as a protection against overflows.\",\"type\":\"value\"},{\"name\":\"ABSFCONV=\",\"optional\":true,\"aliases\":[\"ABSFTOL=\"],\"description\":\"Specifies an absolute function convergence criterion. The default value is r=0. The optional integer value n specifies the number of successive iterations for which the criterion must be satisfied before the process can be terminated.\",\"type\":\"value\"},{\"name\":\"ABSGCONV=\",\"optional\":true,\"aliases\":[\"ABSGTOL=\"],\"description\":\"Specifies the absolute gradient convergence criterion. The default value is r=1E-5. The optional integer value n specifies the number of successive iterations for which the criterion must be satisfied before the process can be terminated.\",\"type\":\"value\"},{\"name\":\"ABSXCONV=\",\"optional\":true,\"aliases\":[\"ABSXTOL=\"],\"description\":\"Specifies the absolute parameter convergence criterion. The default is r=1E-8 for the NMSIMP technique and r=0 otherwise. The optional integer value n specifies the number of successive iterations for which the criterion must be satisfied before the process can terminate.\",\"type\":\"value\"},{\"name\":\"DAMPSTEP=\",\"optional\":true,\"description\":\"Specifies that the initial step length value a⁰ for each line search (used by the QUANEW, HYQUAN, CONGRA, or NEWRAP technique) cannot be larger than r times the step length value used in the former iteration. If the DAMPSTEP option is specified but r is not specified, the default is r=2. The DAMPSTEP=r option can prevent the line-search algorithm from repeatedly stepping into regions where some objective functions are difficult to compute or where they could lead to floating point overflows during the computation of objective functions and their derivatives. The DAMPSTEP=r option can save time-costly function calls during the line searches of objective functions that result in very small steps.\",\"type\":\"value\"},{\"name\":\"FCONV2=\",\"optional\":true,\"aliases\":[\"FTOL2=\"],\"description\":\"Specifies another function convergence criterion.\",\"type\":\"value\"},{\"name\":\"FCONV=\",\"optional\":true,\"aliases\":[\"FTOL=\"],\"description\":\"Specifies a relative function convergence criterion.\",\"type\":\"value\"},{\"name\":\"FSIZE=\",\"optional\":true,\"description\":\"Specifies the FSIZE parameter of the relative function and relative gradient termination criteria. The default value is r=0.\",\"help\":\"FSIZE=*r*\",\"type\":\"value\"},{\"name\":\"GCONV=\",\"optional\":true,\"aliases\":[\"GTOL=\"],\"description\":\"Specifies a relative gradient convergence criterion. The default value is r=1E-8. The optional integer value n specifies the number of successive iterations for which the criterion must be satisfied before the process can terminate.\",\"type\":\"value\"},{\"name\":\"HESCAL=\",\"optional\":true,\"aliases\":[\"HS=\"],\"description\":\"Specifies the scaling version of the Hessian matrix used in NRRIDG, TRUREG, NEWRAP, or DBLDOG optimization.\",\"help\":\"HESCAL=0 | 1 | 2 | 3\",\"type\":\"choice\",\"arguments\":[{\"name\":\"0\",\"description\":\"Specifies that no scaling is done.\",\"type\":\"standalone\"},{\"name\":\"1\",\"description\":\"Specifies the Moré (1978) scaling update\",\"type\":\"standalone\"},{\"name\":\"2\",\"description\":\"Specifies the Dennis, Gay, and Welsch (1981) scaling update\",\"type\":\"standalone\"},{\"name\":\"3\",\"description\":\"Specifies that di is reset in each iteration\",\"type\":\"standalone\"}]},{\"name\":\"INHESSIAN=\",\"optional\":true,\"aliases\":[\"INHESS=\"],\"description\":\"Specifies how the initial estimate of the approximate Hessian is defined for the quasi-Newton techniques QUANEW and DBLDOG.\",\"type\":\"value\"},{\"name\":\"INSTEP=\",\"optional\":true,\"description\":\"Reduces the length of the first trial step during the line search of the first iterations.\",\"help\":\"INSTEP=*r*\",\"type\":\"value\"},{\"name\":\"LINESEARCH=\",\"optional\":true,\"aliases\":[\"LIS=\"],\"description\":\"Specifies the line-search method for the CONGRA, QUANEW, and NEWRAP optimization techniques.\",\"help\":\"LINESEARCH=1 | 2 | 3 | 4 | 5 | 6 | 7 | 8\",\"type\":\"choice\",\"arguments\":[{\"name\":\"1\",\"description\":\"Specifies a line-search method that needs the same number of function and gradient calls for cubic interpolation and cubic extrapolation; this method is similar to one used by the Harwell subroutine library.\",\"type\":\"standalone\"},{\"name\":\"2\",\"description\":\"Specifies a line-search method that needs more function calls than gradient calls for quadratic and cubic interpolation and cubic extrapolation; this method is implemented as shown in Fletcher (1987) and can be modified to an exact line search by using the LSPRECISION= option.\",\"type\":\"standalone\"},{\"name\":\"3\",\"description\":\"Specifies a line-search method that needs the same number of function and gradient calls for cubic interpolation and cubic extrapolation; this method is implemented as shown in Fletcher (1987) and can be modified to an exact line search by using the LSPRECISION= option.\",\"type\":\"standalone\"},{\"name\":\"4\",\"description\":\"Specifies a line-search method that needs the same number of function and gradient calls for stepwise extrapolation and cubic interpolation\",\"type\":\"standalone\"},{\"name\":\"5\",\"description\":\"Specifies a line-search method that is a modified version of LIS=4.\",\"type\":\"standalone\"},{\"name\":\"6\",\"description\":\"Specifies golden section line search (Polak 1971), which uses only function values for linear approximation.\",\"type\":\"standalone\"},{\"name\":\"7\",\"description\":\"Specifies bisection line search (Polak 1971), which uses only function values for linear approximation.\",\"type\":\"standalone\"},{\"name\":\"8\",\"description\":\"Specifies Armijo line-search technique (Polak 1971), which uses only function values for linear approximation.\",\"type\":\"standalone\"}]},{\"name\":\"LSPRECISION=\",\"optional\":true,\"aliases\":[\"LSP=\"],\"description\":\"Specifies the degree of accuracy that should be obtained by the line-search algorithms LIS=2 and LIS=3. The default LSPRECISION= values are:\",\"type\":\"value\"},{\"name\":\"MAXFUNC=\",\"optional\":true,\"aliases\":[\"MAXFU=\"],\"description\":\"Requires the number of function calls to be no larger than i. The default values are:\",\"type\":\"value\"},{\"name\":\"MAXITER=\",\"optional\":true,\"aliases\":[\"MAXIT=\"],\"description\":\"Requires the number of iterations to be no larger than i. The default values are: o For TECH= TRUREG, NRRIDG, NEWRAP: i=50 o For TECH= QUANEW, DBLDOG: i=200 o For TECH= CONGRA: i=400 o For TECH= NMSIMP: i=1000 These default values are also valid when i is specified as a missing value.\",\"type\":\"value\"},{\"name\":\"MAXSTEP=\",\"optional\":true,\"description\":\"Specifies an upper bound for the step length of the line-search algorithms during the first n iterations.\",\"help\":\"MAXSTEP=*r[n*\",\"type\":\"value\"},{\"name\":\"MAXTIME=\",\"optional\":true,\"description\":\"Requires the CPU time to be no larger than r. The default value of the MAXTIME= option is the largest double floating-point number on your computer. Note that the time specified by the MAXTIME= option is checked only once at the end of each iteration. Therefore, the actual running time can be much longer than that specified by the MAXTIME= option. The actual running time includes the rest of the time needed to finish the iteration and the time needed to generate the output of the results.\",\"help\":\"MAXTIME=*r*\",\"type\":\"value\"},{\"name\":\"MINITER=\",\"optional\":true,\"aliases\":[\"MINIT=\"],\"description\":\"Specifies the minimum number of iterations. The default value is 0. If you request more iterations than are actually needed for convergence to a stationary point, the optimization algorithms can behave strangely. For example, the effect of rounding errors can prevent the algorithm from continuing for the required number of iterations.\",\"type\":\"value\"},{\"name\":\"NOPRINT\",\"optional\":true,\"description\":\"Suppresses the output.\",\"type\":\"standalone\"},{\"name\":\"PALL\",\"optional\":true,\"description\":\"[Displays all optional output for optimization.\",\"type\":\"standalone\"},{\"name\":\"PHISTORY\",\"optional\":true,\"description\":\"Displays the optimization history.\",\"type\":\"standalone\"},{\"name\":\"PHISTPARMS\",\"optional\":true,\"description\":\"Display parameter estimates in each iteration.\",\"type\":\"standalone\"},{\"name\":\"PINIT\",\"optional\":true,\"description\":\"Displays the initial values and derivatives (if available).\",\"type\":\"standalone\"},{\"name\":\"PSHORT\",\"optional\":true,\"description\":\"Restricts the amount of default output.\",\"type\":\"standalone\"},{\"name\":\"PSUMMARY\",\"optional\":true,\"description\":\"Restricts the amount of default displayed output to a short form of iteration history and notes, warnings, and errors.\",\"type\":\"standalone\"},{\"name\":\"RESTART=\",\"optional\":true,\"aliases\":[\"REST=\"],\"description\":\"Specifies that the QUANEW or CONGRA algorithm is restarted with a steepest descent/ascent search direction after, at most, i iterations, i > 0.\",\"type\":\"value\"},{\"name\":\"SOCKET=\",\"optional\":true,\"description\":\"Specifies the fileref that contains the information needed for remote monitoring.\",\"type\":\"value\"},{\"name\":\"TECHNIQUE=\",\"optional\":true,\"aliases\":[\"TECH=\"],\"description\":\"Specifies the optimization technique.\",\"help\":\"TECHNIQUE=CONGRA | DBLDOG | NMSIMP | NEWRAP | NRRIDG | QUANEW | TRUREG | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"CONGRA\",\"description\":\"Chooses one of four different conjugate-gradient optimization algorithms, which can be more precisely defined with the UPDATE= option and modified with the LINESEARCH= option.\",\"type\":\"standalone\"},{\"name\":\"DBLDOG\",\"description\":\"Performs a version of double-dogleg optimization, which uses the gradient to update an approximation of the Cholesky factor of the Hessian.\",\"type\":\"standalone\"},{\"name\":\"NMSIMP\",\"description\":\"Performs a Nelder-Mead simplex optimization.\",\"type\":\"standalone\"},{\"name\":\"NEWRAP\",\"description\":\"Performs a usually stable but, for large problems, memory- and time-consuming Newton-Raphson optimization technique. The algorithm combines a line-search algorithm with ridging, and it can be modified with the LINESEARCH= option.\",\"type\":\"standalone\"},{\"name\":\"NRRIDG\",\"description\":\"Performs a usually stable but, for large problems, memory- and time-consuming Newton-Raphson optimization technique. This algorithm does not perform a line search.\",\"type\":\"standalone\"},{\"name\":\"QUANEW\",\"description\":\"Chooses one of four different quasi-Newton optimization algorithms that can be more precisely defined with the UPDATE= option and modified with the LINESEARCH= option.\",\"type\":\"standalone\"},{\"name\":\"TRUREG\",\"description\":\"Performs a usually very stable but, for large problems, memory- and time-consuming trust-region optimization technique. The algorithm is implemented similar to Gay (1983) and Moré and Sorensen (1983).\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"Does not perform any optimization. This option is similar to METHOD=NONE, but TECH=NONE also computes and displays residuals and goodness of fit statistics.\",\"type\":\"standalone\"}]},{\"name\":\"UPDATE=\",\"optional\":true,\"aliases\":[\"UPD=\"],\"description\":\"Specifies the update method for the quasi-Newton, double-dogleg, or conjugate-gradient optimization technique.\",\"help\":\"UPDATE=BFGS | DBFGS | DDFP | DFP | PB | FR | PR | CD\",\"type\":\"choice\",\"arguments\":[{\"name\":\"BFGS\",\"description\":\"Performs the original Broyden, Fletcher, Goldfarb, and Shanno (BFGS) update of the inverse Hessian matrix.\",\"type\":\"standalone\"},{\"name\":\"DBFGS\",\"description\":\"Performs the dual BFGS update of the Cholesky factor of the Hessian matrix. This is the default update method.\",\"type\":\"standalone\"},{\"name\":\"DDFP\",\"description\":\"Performs the dual Davidon, Fletcher, and Powell (DFP) update of the Cholesky factor of the Hessian matrix.\",\"type\":\"standalone\"},{\"name\":\"DFP\",\"description\":\"Performs the original DFP update of the inverse Hessian matrix.\",\"type\":\"standalone\"},{\"name\":\"PB\",\"description\":\"Performs the automatic restart update method of Powell (1977) and Beale (1972).\",\"type\":\"standalone\"},{\"name\":\"FR\",\"description\":\"Performs the Fletcher-Reeves update (Fletcher 1987).\",\"type\":\"standalone\"},{\"name\":\"PR\",\"description\":\"Performs the Polak-Ribiere update (Fletcher 1987).\",\"type\":\"standalone\"},{\"name\":\"CD\",\"description\":\"Performs a conjugate-descent update of Fletcher (1987).\",\"type\":\"standalone\"}]},{\"name\":\"XCONV=\",\"optional\":true,\"aliases\":[\"XTOL=\"],\"description\":\"Specifies the relative parameter convergence criterion. For all techniques except NMSIMP, termination requires a small relative parameter change in subsequent iterations. The default value is r=1E-8 for the NMSIMP technique and r=0 otherwise. The optional integer value n specifies the number of successive iterations for which the criterion must be satisfied before the process can be terminated.\",\"type\":\"value\"},{\"name\":\"XSIZE=\",\"optional\":true,\"description\":\"Specifies the XSIZE parameter of the relative parameter termination criterion. The default value is r=0.\",\"type\":\"value\"}]},{\"name\":\"OTHERWISE\",\"description\":\"Specifies a statement to be executed if no WHEN condition is met.\",\"help\":\"OTHERWISE &lt;DO&gt;\",\"arguments\":[{\"name\":\"DO\",\"optional\":true,\"description\":\"Action statement.\",\"type\":\"standalone\"}]},{\"name\":\"OUTPUT\",\"description\":\"Writes the current observation to a SAS data set.\",\"help\":\"OUTPUT&lt;data-set-name(s)&gt;\"},{\"name\":\"OUTSCORELIB\",\"description\":\"The OUTSCORELIB statement specifies the library to write scoring functions to. Scoring functions enable you to easily compute a distribution function on the fitted parameters of the distribution without going through a potentially complex process of extracting the fitted parameter estimates from other output such as the OUTEST= data set that is created by PROC SEVERITY.\",\"help\":\"OUTSCORELIB &lt;COMMONPACKAGE&gt;&lt;OUTBYID=SAS-data-set&gt;&lt;OUTLIB=fcmp-library-name&gt; ...\",\"arguments\":[{\"name\":\"COMMONPACKAGE\",\"optional\":true,\"aliases\":[\"ONEPACKAGE\"],\"description\":\"Requests that only one common package be created to contain all the scoring functions.\",\"type\":\"standalone\"},{\"name\":\"OUTBYID=\",\"optional\":true,\"description\":\"Names the output data set to contain the unique identifier for each BY group. This unique identifier is used as part of the name of the package or scoring function for each distribution. This is a required option when you specify a BY statement in PROC SEVERITY.\",\"help\":\"OUTBYID=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"OUTLIB=\",\"optional\":true,\"description\":\"Names the FCMP library to contain the scoring functions. PROC SEVERITY writes the scoring functions to the FCMP library named fcmp-library-name. If a library or data set named fcmp-libraryname already exists, PROC SEVERITY deletes it before proceeding\",\"help\":\"OUTLIB=*fcmp-library-name*\",\"type\":\"dataSet\"}]},{\"name\":\"PUT\",\"description\":\"Writes lines to the SAS log, to the SAS output window, or to an external location that is specified in the most recent FILE statement.\",\"help\":\"PUT &lt;_ALL_&gt;&lt;_INFILE_&gt;&lt;_ODS_&gt; ...\",\"arguments\":[{\"name\":\"OVERPRINT\",\"optional\":true,\"description\":\"Causes the values that follow the keyword OVERPRINT to print on the most recently written output line.\",\"type\":\"standalone\"},{\"name\":\"_ALL_\",\"optional\":true,\"description\":\"Writes the values of all variables, which includes automatic variables, that are defined in the current DATA step by using named output.\",\"type\":\"standalone\"},{\"name\":\"_BLANKPAGE_\",\"optional\":true,\"description\":\"Advances the pointer to the first line of a new page, even when the pointer is positioned on the first line and the first column of a new page.\",\"type\":\"standalone\"},{\"name\":\"_INFILE_\",\"optional\":true,\"description\":\"Writes the last input data record that is read either from the current input file or from the data lines that follow a DATELINES statement.\",\"type\":\"standalone\"},{\"name\":\"_ODS_\",\"optional\":true,\"description\":\"Moves data values for all columns (as defined by the ODS option in the FILE statement) into a special buffer, from which it is eventually written to the data component. The ODS option in the FILE statement defines the structure of the data component that holds the results of the DATA step.\",\"type\":\"standalone\"},{\"name\":\"_PAGE_\",\"optional\":true,\"description\":\"Advances the pointer to the first line of a new page. SAS automatically begins a new page when a line exceeds the current PAGESIZE= value.\",\"type\":\"standalone\"}]},{\"name\":\"PUTLOG\",\"description\":\"Writes a message to the SAS log.\",\"help\":\"PUTLOG 'message'\"},{\"name\":\"RENAME\",\"description\":\"Specifies new names for variables in output SAS data sets.\",\"help\":\"RENAME old-name-1=new-name-1 ... &lt;old-name-n=new-name-n&gt;\"},{\"name\":\"REPLACE\",\"description\":\"Replaces an observation in the same location.\",\"help\":\"REPLACE &lt;data-set-name-1&gt;&lt;...data-set-name-n&gt;\"},{\"name\":\"RETAIN\",\"description\":\"Causes a variable that is created by an INPUT or assignment statement to retain its value from one iteration of the DATA step to the next.\",\"help\":\"RETAIN &lt;element-list(s) &lt;initial-value(s) |\"},{\"name\":\"RETURN\",\"description\":\"Stops executing statements at the current point in the DATA step and returns to a predetermined point in the step.\",\"help\":\"RETURN\"},{\"name\":\"RSUBMIT\",\"description\":\"Marks the beginning of a block of statements that a client session submits to a server session for execution.\",\"help\":\"RSUBMIT &lt;options&gt;; ENDRSUBMIT &lt;CANCEL&gt;\"},{\"name\":\"SCALEMODEL\",\"description\":\"The SCALEMODEL statement specifies regression effects. A regression effect is formed from one or more regressor variables according to effect construction rules. All the regressor variables must be present in the input data set that you specify by using the DATA= option in the PROC SEVERITY statement.\",\"help\":\"SCALEMODEL &lt;DFMIXTURE=&lt;FULL | MEAN | QUANTILE&gt;... &gt;&lt;OFFSET=offset-variable-name&gt;\",\"arguments\":[{\"name\":\"DFMIXTURE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the method for computing representative estimates of the cumulative distribution function (CDF).\",\"help\":\"DFMIXTURE=FULL | MEAN | QUANTILE | RANDOM\",\"type\":\"choice\",\"arguments\":[{\"name\":\"FULL\",\"followsDelimiter\":\"/\",\"description\":\"Specifies that the representative distribution be the mixture of N distributions such that each distribution has a scale value that is implied by each of the N observations that are used for estimation. This method is the slowest.\",\"type\":\"standalone\"},{\"name\":\"MEAN\",\"followsDelimiter\":\"/\",\"description\":\"Specifies that the representative distribution be the one-point mixture of the distribution whose scale value is the mean of the N scale values that are implied by the N observations that are used for estimation. If you do not specify the DFMIXTURE= option, then this method is used by default. This is also the fastest method.\",\"type\":\"standalone\"},{\"name\":\"QUANTILE\",\"followsDelimiter\":\"/\",\"description\":\"Syntax: QUANTILE < (K=q) > specifies that the representative distribution be the mixture of a fixed number of distributions whose scale values are the quantiles from the sample of N scale values that are implied by the N observations in the current BY group (or in the entire DATA= data set if the BY statement is not specified). You can use the K= option to specify the number of distributions in the mixture. If you specify K=q, then the mixture contains (q - 1) distributions such that each distribution has as its scale one of the (q - 1)-quantiles.\",\"type\":\"standalone\"},{\"name\":\"RANDOM\",\"followsDelimiter\":\"/\",\"description\":\"Syntax: RANDOM < (random-method-options) > specifies that the representative distribution be the mixture of a fixed number of distributions whose scale values are the scale values that are implied by a randomly chosen subset of the set of all observations in the current BY group (or in the entire DATA= data set if the BY statement is not specified). The same subset of observations is used for each distribution family. You can specify the following random-method-options to specify how the subset is chosen: K=r specifies the number of distributions to include in the mixture. If you do not specify this option, then PROC HPSEVERITY uses the default of 15. SEED=number specifies the seed that is used to generate the uniform random sample of observation indices. If you do not specify this option, then PROC HPSEVERITY generates a seed internally that is based on the current value of the system clock.\",\"type\":\"standalone\"}]},{\"name\":\"OFFSET=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the name of the offset variable in the scale regression model. An offset variable is a regressor variable whose regression coefficient is known to be 1.\",\"help\":\"OFFSET=*offset-variable-name*\",\"type\":\"value\"}]},{\"name\":\"SELECT\",\"description\":\"Executes one of several statements or groups of statements.\",\"help\":\"\"},{\"name\":\"SET\",\"description\":\"Reads an observation from one or more SAS data sets.\",\"help\":\"SET &lt;END=variable&gt;&lt;INDSNAME=variable&gt;&lt;KEY=index&lt;/UNIQUE&gt;&gt; ...\",\"arguments\":[{\"name\":\"ALTER=\",\"optional\":true,\"description\":\"\",\"type\":\"value\"},{\"name\":\"BUFNO=\",\"optional\":true,\"description\":\"\",\"help\":\"BUFNO=n | nK | hexX | MIN | MAX\",\"type\":\"choice\",\"arguments\":[{\"name\":\"n\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"nK\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"hexX\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"MIN\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"MAX\",\"description\":\"\",\"type\":\"standalone\"}]},{\"name\":\"BUFSIZE=\",\"optional\":true,\"description\":\"\",\"help\":\"BUFSIZE=n | nK | nM | nG | hexX | MIN | MAX\",\"type\":\"choice\",\"arguments\":[{\"name\":\"n\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"nK\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"nM\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"nG\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"hexX\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"MIN\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"MAX\",\"description\":\"\",\"type\":\"standalone\"}]},{\"name\":\"CNTLLEV=\",\"optional\":true,\"description\":\"\",\"help\":\"CNTLLEV=LIB | MEM | REC\",\"type\":\"choice\",\"arguments\":[{\"name\":\"LIB\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"MEM\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"REC\",\"description\":\"\",\"type\":\"standalone\"}]},{\"name\":\"COMPRESS=\",\"optional\":true,\"description\":\"\",\"help\":\"COMPRESS=NO | YES | CHAR | BINARY\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NO\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"YES\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"CHAR\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"BINARY\",\"description\":\"\",\"type\":\"standalone\"}]},{\"name\":\"CUREOBS=\",\"optional\":true,\"description\":\"Creates and names a variable that contains the observation number that was just read from the data set.\",\"type\":\"value\"},{\"name\":\"DLDMGACTION=\",\"optional\":true,\"description\":\"\",\"help\":\"DLDMGACTION=FAIL | ABORT | REPAIR | NOINDEX | PROMPT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"FAIL\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"ABORT\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"REPAIR\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"NOINDEX\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"PROMPT\",\"description\":\"\",\"type\":\"standalone\"}]},{\"name\":\"DROP=\",\"optional\":true,\"description\":\"\",\"type\":\"value\"},{\"name\":\"ENCRYPT=\",\"optional\":true,\"description\":\"\",\"help\":\"ENCRYPT=YES | NO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YES\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"NO\",\"description\":\"\",\"type\":\"standalone\"}]},{\"name\":\"ENCRYPTKEY=\",\"optional\":true,\"description\":\"\",\"type\":\"value\"},{\"name\":\"END=\",\"optional\":true,\"description\":\"Creates and names a temporary variable that contains an end-of-file indicator. The variable, which is initialized to zero, is set to 1 when SET reads the last observation of the last data set listed. This variable is not added to any new data set.\",\"help\":\"END=*variable*\",\"type\":\"value\"},{\"name\":\"EXTENDOBSCOUNTER=\",\"optional\":true,\"description\":\"\",\"type\":\"value\"},{\"name\":\"FILECLOSE=\",\"optional\":true,\"description\":\"\",\"help\":\"FILECLOSE=DISP | LEAVE | REREAD | REWIND\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DISP\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"LEAVE\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"REREAD\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"REWIND\",\"description\":\"\",\"type\":\"standalone\"}]},{\"name\":\"FIRSTOBS=\",\"optional\":true,\"description\":\"\",\"help\":\"FIRSTOBS=n | nK | nM | nG | hexX | MIN | MAX\",\"type\":\"choice\",\"arguments\":[{\"name\":\"n\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"nK\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"nM\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"nG\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"hexX\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"MIN\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"MAX\",\"description\":\"\",\"type\":\"standalone\"}]},{\"name\":\"GENMAX=\",\"optional\":true,\"description\":\"Requests generations for a data set and specifies the maximum number of versions.\",\"type\":\"value\"},{\"name\":\"GENNUM=\",\"optional\":true,\"description\":\"\",\"type\":\"value\"},{\"name\":\"IDXNAME=\",\"optional\":true,\"description\":\"\",\"type\":\"value\"},{\"name\":\"IDXWHERE=\",\"optional\":true,\"description\":\"\",\"help\":\"IDXWHERE=YES | NO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YES\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"NO\",\"description\":\"\",\"type\":\"standalone\"}]},{\"name\":\"IN=\",\"optional\":true,\"description\":\"\",\"type\":\"value\"},{\"name\":\"INDEX=\",\"optional\":true,\"description\":\"\",\"type\":\"value\"},{\"name\":\"INDSNAME=\",\"optional\":true,\"description\":\"Creates and names a variable that stores the name of the SAS data set from which the current observation is read. The stored name can be a data set name or a physical name. The physical name is the name by which the operating environment recognizes the file.\",\"help\":\"INDSNAME=*variable*\",\"type\":\"value\"},{\"name\":\"KEEP=\",\"optional\":true,\"description\":\"\",\"type\":\"value\"},{\"name\":\"KEY=\",\"optional\":true,\"description\":\"Provides nonsequential access to observations in a SAS data set, which are based on the value of an index variable or a key.\",\"type\":\"value\"},{\"name\":\"KEYRESET=\",\"optional\":true,\"description\":\"Controls whether a KEY= search should begin at the top of the index for the data set that is being read. When the value of the KEYRESET variable is 1, the index lookup begins at the top of the index. When the value of the KEYRESET variable is 0, the index lookup is not reset and the lookup continues where the prior lookup ended.\",\"help\":\"KEYRESET=*variable*\",\"type\":\"value\"},{\"name\":\"LABEL=\",\"optional\":true,\"description\":\"\",\"type\":\"value\"},{\"name\":\"NOBS=\",\"optional\":true,\"description\":\"Creates and names a temporary variable whose value is usually the total number of observations in the input data set or data sets. If more than one data set is listed in the SET statement, NOBS= the total number of observations in the data sets that are listed. The number of observations includes those observations that are marked for deletion but are not yet deleted.\",\"help\":\"NOBS=*variable*\",\"type\":\"value\"},{\"name\":\"NOMISS\",\"optional\":true,\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"OBS=\",\"optional\":true,\"description\":\"\",\"help\":\"OBS=n | nK | nM | nG | nT | hexX | MIN | MAX\",\"type\":\"choice\",\"arguments\":[{\"name\":\"n\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"nK\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"nM\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"nG\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"nT\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"hexX\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"MIN\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"MAX\",\"description\":\"\",\"type\":\"standalone\"}]},{\"name\":\"OPEN=\",\"optional\":true,\"description\":\"Allows you to delay the opening of any concatenated SAS data sets until they are ready to be processed.\",\"help\":\"OPEN=IMMEDIATE | DEFER\",\"type\":\"choice\",\"arguments\":[{\"name\":\"IMMEDIATE\",\"description\":\"During the compilation phase, opens all data sets that are listed in the SET statement.\",\"type\":\"standalone\"},{\"name\":\"DEFER\",\"description\":\"Opens the first data set during the compilation phase, and opens subsequent data sets during the execution phase. When the DATA step reads and processes all observations in a data set, it closes the data set and opens the next data set in the list.\",\"type\":\"standalone\"}]},{\"name\":\"OUTREP=\",\"optional\":true,\"description\":\"\",\"type\":\"value\"},{\"name\":\"POINT=\",\"optional\":true,\"description\":\"Specifies a temporary variable whose numeric value determines which observation is read. POINT= causes the SET statement to use random (direct) access to read a SAS data set.\",\"help\":\"POINT=*variable*\",\"type\":\"value\"},{\"name\":\"POINTOBS=\",\"optional\":true,\"description\":\"\",\"help\":\"POINTOBS=YES | NO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YES\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"NO\",\"description\":\"\",\"type\":\"standalone\"}]},{\"name\":\"PW=\",\"optional\":true,\"description\":\"\",\"type\":\"value\"},{\"name\":\"PWREQ=\",\"optional\":true,\"description\":\"\",\"help\":\"PWREQ=YES | NO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YES\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"NO\",\"description\":\"\",\"type\":\"standalone\"}]},{\"name\":\"READ=\",\"optional\":true,\"description\":\"Assigns a read password to a SAS file and enables access to a read-protected SAS file.\",\"type\":\"value\"},{\"name\":\"RENAME=\",\"optional\":true,\"description\":\"\",\"type\":\"value\"},{\"name\":\"REPEMPTY=\",\"optional\":true,\"description\":\"\",\"help\":\"REPEMPTY=YES | NO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YES\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"NO\",\"description\":\"\",\"type\":\"standalone\"}]},{\"name\":\"REPLACE=\",\"optional\":true,\"description\":\"\",\"help\":\"REPLACE=YES | NO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YES\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"NO\",\"description\":\"\",\"type\":\"standalone\"}]},{\"name\":\"REUSE=\",\"optional\":true,\"description\":\"\",\"help\":\"REUSE=YES | NO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YES\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"NO\",\"description\":\"\",\"type\":\"standalone\"}]},{\"name\":\"SGIO=\",\"optional\":true,\"description\":\"\",\"help\":\"SGIO=YES | NO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YES\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"NO\",\"description\":\"\",\"type\":\"standalone\"}]},{\"name\":\"SORTEDBY=\",\"optional\":true,\"description\":\"\",\"help\":\"SORTEDBY=by-clause &lt; / collate-name&gt; | _NULL_\",\"type\":\"choice\",\"arguments\":[{\"name\":\"by-clause\",\"description\":\"\",\"help\":\"by-clause &lt; / collate-name&gt;\",\"type\":\"standalone\"},{\"name\":\"_NULL_\",\"description\":\"\",\"type\":\"standalone\"}]},{\"name\":\"SPILL=\",\"optional\":true,\"description\":\"\",\"help\":\"SPILL=YES | NO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YES\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"NO\",\"description\":\"\",\"type\":\"standalone\"}]},{\"name\":\"TOBSNO=\",\"optional\":true,\"description\":\"\",\"type\":\"value\"},{\"name\":\"TRANTAB=\",\"optional\":true,\"description\":\"\",\"type\":\"value\"},{\"name\":\"TYPE=\",\"optional\":true,\"description\":\"\",\"type\":\"value\"},{\"name\":\"UNIQUE\",\"optional\":true,\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"WHERE=\",\"optional\":true,\"description\":\"\",\"type\":\"value\"},{\"name\":\"WHEREUP=\",\"optional\":true,\"description\":\"\",\"help\":\"WHEREUP=YES | NO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YES\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"NO\",\"description\":\"\",\"type\":\"standalone\"}]},{\"name\":\"WRITE=\",\"optional\":true,\"description\":\"\",\"type\":\"value\"}]},{\"name\":\"STOP\",\"description\":\"Stops execution of the current DATA step.\",\"help\":\"STOP\"},{\"name\":\"WEIGHT\",\"description\":\"The WEIGHT statement specifies the name of a variable whose values represent the weight of each observation. PROC SEVERITY associates a weight of w to each observation, where w is the value of the WEIGHT variable for the observation. If the weight value is missing or less than or equal to 0, then the observation is ignored and a warning is written to the SAS log. When you do not specify the WEIGHT statement, each observation is assigned a weight of 1. If you specify more than one WEIGHT statement, then the last statement is used.\",\"help\":\"WEIGHT variable-name \"},{\"name\":\"WHEN\",\"description\":\"Identifies SAS statements that are executed when a particular condition is true.\",\"help\":\"WHEN &lt;DO&gt;\",\"arguments\":[{\"name\":\"DO\",\"optional\":true,\"description\":\"Action statement.\",\"type\":\"standalone\"}]},{\"name\":\"WHERE\",\"description\":\"Selects observations from SAS data sets that meet a particular condition.\",\"help\":\"WHERE where-expression-1\"}],\"supportSiteInformation\":{\"docsetId\":\"etsug\",\"docsetVersion\":\"latest\",\"docsetTargetFile\":\"etsug_severity_toc.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/SEVSELECT.json",
    "content": "{\"name\":\"SEVSELECT\",\"statements\":[{\"name\":\"PROC SEVSELECT\",\"description\":\"The SEVSELECT procedure estimates parameters of any arbitrary continuous probability distribution that is used to model the magnitude (severity) of a continuous-valued event of interest. Examples of such events include loss amounts paid by an insurance company and demand of a product as depicted by its sales. PROC SEVSELECT is especially useful when the severity of an event does not follow typical distributions (such as the normal distribution) that are often assumed by standard statistical methods.\",\"help\":\"PROC SEVSELECT <COVOUT><CRITERION=AD | AIC | AICC... ><DATA=CAS-libref.data-table><EMPIRICALCDF=AUTOMATIC | KAPLANMEIER | MODIFIEDKM... ><INEST=CAS-libref.data-table><INITSAMPLE (initsample-option) | INITSAMPLE (initsample-option . . . initsample-option)><NOCLPRINT< =number >><NOPRINT><OBJECTIVE=symbol-name><OUTEST=CAS-libref.data-table><OUTMODELINFO=SAS-data-set><OUTSTAT=SAS-data-set><OUTSTORE=store-name><PRINT=ALL | ALLFITSTATS | CONVSTATUS... ><SELECTNLOTECH=CONGRA | DBLDOG | NEWRAP... ><SELECTOUT><VARDEF=DF | N><ZEROEST>;     \\n\\tABORT <ABEND><CANCEL><CANCEL FILE> ...;\\n\\n\\tARRAY <_ALL_><_NUMERIC_><_TEMPORARY_> ...;\\n\\n\\tATTRIB <FORMAT=format><INFORMAT=informat><LABEL='label'> ...;\\n\\n\\tBY variable-list ;\\n\\n\\tCALL routine(parameter-1<, ...parameter-n>);\\n\\n\\tCLASS <DESCENDING><MISSING><ORDER=<FORMATTED | FREQ | INTERNAL>> ...;\\n\\n\\tCONTINUE;\\n\\n\\tDELETE;\\n\\n\\tDESCRIBE;\\n\\n\\tDISPLAY <CASESENSITIVE><EXCLUDE><EXCLUDEALL> ...;\\n\\n\\tDISPLAYOUT <INCLUDEALL><NOREPLACE><REPEATED> ...;\\n\\n\\tDIST _ALL_ _PREDEFINED_ _USER_ ...;\\n\\n\\tDO <OVER><><> ...;\\n\\n\\t;\\n\\n\\t;\\n\\n\\tDROP variable-list;\\n\\n\\tEFFECT <DETAILS> NAME=COLLECTION|MULTIMEMBER|MM|POLYNOMIAL|POLY...  <NOEFFECT> ...;\\n\\n\\tELSE <DO><IF><THEN> ...;\\n\\n\\tEND;\\n\\n\\tENDRSUBMIT;\\n\\n\\tERROR <message>;\\n\\n\\tEXECUTE;\\n\\n\\tFILE <DISK><DUMMY><LOG> ...;\\n\\n\\tFORMAT <DEFAULT=default-format> ;\\n\\n\\tGO TO label | GOTO label;\\n\\n\\tIF <DO><THEN><WHEN> ...;\\n\\n\\tINFILE <DATALINES4><DATALINES><DISK> ...;\\n\\n\\tINFORMAT <DEFAULT= default-informat> ;\\n\\n\\tINPUT <specification(s)><@|@@>;\\n\\n\\tKEEP variable-list;\\n\\n\\t;\\n\\n\\tLEAVE;\\n\\n\\tLENGTH <DEFAULT=n> ;\\n\\n\\tLINK label;\\n\\n\\tLIST;\\n\\n\\tLOCK <CLEAR><LIST> ;\\n\\n\\tLOSS <LEFTCENSORED=variable-name LEFTCENSORED=number><LEFTTRUNCATED=variable-name <(left-truncation-option)> LEFTTRUNCATED=number <(left-truncation-option)>><RIGHTCENSORED=variable-name RIGHTCENSORED=number> ...;\\n\\n\\tMERGE <ALTER=><BUFNO=<n | nK | hexX>... ><END=variable> ...;\\n\\n\\tMISSING character(s);\\n\\n\\tMODIFY <END=variable><KEY=index><NOBS=variable> ...;\\n\\n\\tNLOPTIONS <ABSCONV=r><ABSFCONV=r[n]><ABSGCONV=r[n]> ...;\\n\\n\\tOTHERWISE <DO> ;\\n\\n\\tOUTPUT <COPYVARS=variable-list><FUNCTIONS=(function<(arg)><=variable> <function<(arg)><=variable>> …)><OUT=CAS-libref.data-table> ...;\\n\\n\\tOUTSCORELIB <COMMONPACKAGE><OUTBYID=SAS-data-set> OUTLIB=fcmp-library-name ...;\\n\\n\\tPAGE;\\n\\n\\tPUT <_ALL_><_INFILE_><_ODS_> ...;\\n\\n\\tPUTLOG 'message';\\n\\n\\tRENAME old-name-1=new-name-1 ... <old-name-n=new-name-n>;\\n\\n\\tREPLACE <data-set-name-1><...data-set-name-n>;\\n\\n\\tRETAIN <element-list(s) <initial-value(s) |;\\n\\n\\tRETURN;\\n\\n\\tRSUBMIT <options>; ENDRSUBMIT <CANCEL>;\\n\\n\\tSCALEMODEL <DFMIXTURE=<FULL | MEAN | QUANTILE>... ><INCLUDE=n | INCLUDE=single-effect | INCLUDE=(effects)><INFORMATIVE> ...;\\n\\n\\t;\\n\\n\\tSELECTION <ADAPTIVE <(GAMMA=nonnegative number)>><CHOOSE=<AIC | AICC | SBC>><METHOD=<BACKWARD | FORWARD | FORWARDSWAP>... > ...;\\n\\n\\tSET <END=variable><INDSNAME=variable><KEY=index</UNIQUE>> ...;\\n\\n\\tSKIP <n>;\\n\\n\\tSTOP;\\n\\n\\tWEIGHT variable-name ;\\n\\n\\tWHEN <DO> ;\\n\\n\\tWHERE where-expression-1;\\n\",\"arguments\":[{\"name\":\"COVOUT\",\"optional\":true,\"description\":\"Specifies that the OUTEST= data set contain the estimate of the covariance structure of the parameters. This option has no effect if you do not specify the OUTEST= option.\",\"type\":\"standalone\"},{\"name\":\"CRITERION=\",\"optional\":true,\"aliases\":[\"CRITERIA=\",\"CRIT=\"],\"description\":\"Specifies the criterion to report in the model selection table.\",\"help\":\"CRITERION=AD | AIC | AICC | BIC | CUSTOM | CVM | KS | LOGLIKELIHOOD | M\",\"type\":\"choice\",\"arguments\":[{\"name\":\"AD\",\"description\":\"Specifies the Anderson-Darling (AD) statistic value, which is computed by using the empirical distribution function (EDF) estimate, as the selection criterion. A lower value is deemed better.\",\"type\":\"standalone\"},{\"name\":\"AIC\",\"description\":\"Specifies the Akaike’s information criterion (AIC) as the selection criterion. A lower value is deemed better.\",\"type\":\"standalone\"},{\"name\":\"AICC\",\"description\":\"Specifies the finite-sample corrected Akaike’s information criterion (AICC) as the selection criterion. A lower value is deemed better.\",\"type\":\"standalone\"},{\"name\":\"BIC\",\"description\":\"Specifies Schwarz Bayesian information criterion (BIC) as the selection criterion. A lower value is deemed better.\",\"type\":\"standalone\"},{\"name\":\"CUSTOM\",\"description\":\"Specifies the custom objective function as the selection criterion. You can specify this only if you also specify the OBJECTIVE= option. A lower value is deemed better.\",\"type\":\"standalone\"},{\"name\":\"CVM\",\"description\":\"Specifies the Cram´ er-von Mises (CvM) statistic value, which is computed by using the empirical distribution function (EDF) estimate, as the selection criterion. A lower value is deemed better.\",\"type\":\"standalone\"},{\"name\":\"KS\",\"description\":\"Specifies the Kolmogorov-Smirnov (KS) statistic value, which is computed by using the empirical distribution function (EDF) estimate, as the selection criterion. A lower value is deemed better.\",\"type\":\"standalone\"},{\"name\":\"LOGLIKELIHOOD\",\"aliases\":[\"LL\"],\"description\":\"Specifies -2*log(L) as the selection criterion, where L is the likelihood of the data. A lower value is deemed better. This is the default.\",\"type\":\"standalone\"},{\"name\":\"M\",\"description\":\"er–von Mises (CvM) statistic value, which is computed by using the empirical distribution function (EDF) estimate, as the selection criterion. A lower value is deemed better.\",\"type\":\"standalone\"}]},{\"name\":\"DATA=\",\"optional\":true,\"description\":\"Names the input data table for PROC SEVSELECT to use. The default is the most recently created data table. CAS-libref.data-table is a two-level name, where\",\"help\":\"DATA=*CAS-libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"EMPIRICALCDF=\",\"optional\":true,\"aliases\":[\"EDF=\"],\"description\":\"Specifies the method to use for computing the nonparametric or empirical estimate of the cumulative distribution function of the data.\",\"help\":\"EMPIRICALCDF=AUTOMATIC | KAPLANMEIER | MODIFIEDKM | NOTURNBULL | STANDARD | TURNBULL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"AUTOMATIC\",\"aliases\":[\"AUTO\"],\"description\":\"Specifies that the method be chosen automatically based on the data specification. If you do not specify any censoring or truncation, then the standard empirical estimation method (STANDARD) is chosen. If you specify both right-censoring and left-censoring, then Turnbull’s estimation method (TURNBULL) is chosen. For all other combinations of censoring and truncation, the Kaplan-Meier method (KAPLANMEIER) is chosen.\",\"type\":\"standalone\"},{\"name\":\"KAPLANMEIER\",\"aliases\":[\"KM\"],\"description\":\"Specifies that the product limit estimator proposed by Kaplan and Meier (1958) be used. Specification of this method has no effect when both right-censoring and left-censoring are specified.\",\"type\":\"standalone\"},{\"name\":\"MODIFIEDKM\",\"aliases\":[\"MKM\"],\"description\":\"Syntax: MODIFIEDKM | MKM <(options)> Specifies that the modified product limit estimator be used. Specification of this method has no effect when both right-censoring and left-censoring are specified. You can modify the default by using the following options: ALPHA | A=number specifies the value to use for α when the lower bound on the risk set size is defined as cxⁿ (where the superscript n equals α). This value must satisfy 0 < α < 1. C=number specifies the value to use for c when the lower bound on the risk set size is defined as cxⁿ (where the superscript n equals α). This value must satisfy c > 0. RSLB=number specifies the absolute lower bound on the risk set size to be included in the estimate.\",\"type\":\"standalone\"},{\"name\":\"NOTURNBULL\",\"description\":\"Specifies that the method be chosen automatically based on the data specification and that Turnbull’s method not be used. This is the default.\",\"type\":\"standalone\"},{\"name\":\"STANDARD\",\"aliases\":[\"STD\"],\"description\":\"Specifies that the standard empirical estimation method be used. This ignores any censoring or truncation information even if specified, and can thus result in estimates that are more biased than those obtained with other methods more suitable for such data. Specification of this method has no effect when both right-censoring and left-censoring are specified.\",\"type\":\"standalone\"},{\"name\":\"TURNBULL\",\"aliases\":[\"EM\"],\"description\":\"TURNBULL | EM <(options)> (Experimental ) Specifies that the Turnbull’s method be used. An iterative expectation-maximization (EM) algorithm proposed by Turnbull (1976) is used to compute the empirical estimates. You can modify the default behavior of the EM algorithm by using the following options: ENSUREMLE specifies that the final EDF estimates be maximum likelihood estimates. EPS=number specifies the maximum relative error to be allowed between estimates of two consecutive iterations. MAXITER=number specifies the maximum number of iterations to attempt to find the empirical estimates. If you do not specify this option, then PROC SEVSELECT uses a default value of 500. ZEROPROB=number specifies the threshold below which an empirical estimate of the probability is considered zero.\",\"type\":\"standalone\"}]},{\"name\":\"INEST=\",\"optional\":true,\"description\":\"Names the input data table that contains the initial values of the parameter estimates to start the optimization process. CAS-libref.data-table is a two-level name, where CAS-libref refers to the caslib and session identifier, and data-table specifies the name of the input data table.\",\"help\":\"INEST=*CAS-libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"INITSAMPLE=\",\"optional\":true,\"description\":\"Specifies that a sample of the input data be used for initializing the distribution parameters. If you specify more than one initsample-option, then separate them with spaces. PROC SEVSELECT uses the uniform random sampling method to select the sample, the size and randomness of which are controlled by the following initsample-options:\",\"help\":\"INITSAMPLE=FRACTION= | SEED= | SIZE=\",\"type\":\"choice\",\"arguments\":[{\"name\":\"FRACTION=\",\"type\":\"value\"},{\"name\":\"SEED=\",\"type\":\"value\"},{\"name\":\"SIZE=\",\"type\":\"value\"}]},{\"name\":\"NOCLPRINT\",\"optional\":true,\"description\":\"Suppresses the display of the “Class Level Information” table if you do not specify number. If you specify number, the values of the classification variables are displayed for only those variables whose number of levels is less than number. Specifying a number helps to reduce the size of the “Class Level Information” table if some classification variables have a large number of levels. This option has no effect if you do not specify the CLASS statement.\",\"type\":\"standalone\"},{\"name\":\"NOPRINT\",\"optional\":true,\"description\":\"Turns off all displayed and graphical output. If you specify this option, then any value that you specify for the PRINT= option is ignored.\",\"type\":\"standalone\"},{\"name\":\"OBJECTIVE=\",\"optional\":true,\"description\":\"Names the symbol that represents the objective function in the specified SAS programming statements. For each model to be estimated, PROC SEVSELECT executes the programming statements to compute the value of this symbol for each observation. The values are added across all observations to obtain the value of the objective function. The optimization algorithm estimates the model parameters such that the objective function value is minimized. A separate optimization problem is solved for each candidate distribution.\",\"help\":\"OBJECTIVE=*symbol-name*\",\"type\":\"value\"},{\"name\":\"OUTEST=\",\"optional\":true,\"description\":\"Names the output data table to contain estimates of the parameter values and their standard errors for each model whose parameter estimation process converges. CAS-libref.data-table is a two-level name, where CAS-libref refers to the caslib and session identifier, and data-table specifies the name of the output data table.\",\"help\":\"OUTEST=*CAS-libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"OUTMODELINFO=\",\"optional\":true,\"description\":\"Names the output data table to contain the information about each candidate distribution.\",\"help\":\"OUTMODELINFO=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"OUTSTAT=\",\"optional\":true,\"description\":\"Names the output data table to contain the values of statistics of fit for each model whose parameter estimation process converges.\",\"help\":\"OUTSTAT=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"OUTSTORE=\",\"optional\":true,\"description\":\"Names the item store to contain the context and results of the severity model estimation process. The resulting item store has a binary file format that cannot be modified. You can specify this item store in a subsequent PROC CCDM step by using the SEVERITYSTORE= option.\",\"help\":\"OUTSTORE=*store-name*\",\"type\":\"value\"},{\"name\":\"PRINT=\",\"optional\":true,\"description\":\"Specifies the desired displayed output. If you specify more than one display-option, then separate them with spaces and enclose them in parentheses.\",\"help\":\"PRINT=ALL | ALLFITSTATS | CONVSTATUS | DESCSTATS | DISTINFO | ESTIMATES | ESTIMATIONDETAILS | INITIALVALUES | NLOHISTORY | NLOSUMMARY | SELECTION | STATISTICS | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ALL\",\"description\":\"Displays all the output.\",\"type\":\"standalone\"},{\"name\":\"ALLFITSTATS\",\"description\":\"Displays the comparison of all the statistics of fit for all the models in one table.\",\"type\":\"standalone\"},{\"name\":\"CONVSTATUS\",\"description\":\"Displays the convergence status of the parameter estimation process.\",\"type\":\"standalone\"},{\"name\":\"DESCSTATS\",\"description\":\"Displays the descriptive statistics for the response variable.\",\"type\":\"standalone\"},{\"name\":\"DISTINFO\",\"description\":\"Displays the final estimates of parameters.\",\"type\":\"standalone\"},{\"name\":\"ESTIMATES\",\"description\":\"Displays the details of the estimation process for all the models in one table.\",\"type\":\"standalone\"},{\"name\":\"ESTIMATIONDETAILS\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"INITIALVALUES\",\"description\":\"Displays the initial values and bounds used for estimating each model.\",\"type\":\"standalone\"},{\"name\":\"NLOHISTORY\",\"description\":\"Displays the iteration history of the nonlinear optimization process used for estimating the parameters.\",\"type\":\"standalone\"},{\"name\":\"NLOSUMMARY\",\"description\":\"Displays the summary of the nonlinear optimization process used for estimating the parameters.\",\"type\":\"standalone\"},{\"name\":\"SELECTION\",\"description\":\"Displays the model selection table.\",\"type\":\"standalone\"},{\"name\":\"STATISTICS\",\"description\":\"Displays the statistics of fit for each model.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"Displays none of the output.\",\"type\":\"standalone\"}]},{\"name\":\"SELECTNLOTECH=\",\"optional\":true,\"description\":\"Specifies the nonlinear optimization technique to use for the intermediate steps of the regression effect selection process.\",\"help\":\"SELECTNLOTECH=CONGRA | DBLDOG | NEWRAP | NMSIMP | NRRIDG | QUANEW | TRUREG\",\"type\":\"choice\",\"arguments\":[{\"name\":\"CONGRA\",\"description\":\"Performs a conjugate-gradient optimization.\",\"type\":\"standalone\"},{\"name\":\"DBLDOG\",\"description\":\"Performs a version of double-dogleg optimization.\",\"type\":\"standalone\"},{\"name\":\"NEWRAP\",\"description\":\"Performs a Newton-Raphson optimization that combines a line-search algorithm with ridging.\",\"type\":\"standalone\"},{\"name\":\"NMSIMP\",\"description\":\"Performs a Nelder-Mead simplex optimization.\",\"type\":\"standalone\"},{\"name\":\"NRRIDG\",\"description\":\"Performs a Newton-Raphson optimization with ridging.\",\"type\":\"standalone\"},{\"name\":\"QUANEW\",\"description\":\"Performs a quasi-Newton optimization\",\"type\":\"standalone\"},{\"name\":\"TRUREG\",\"description\":\"Performs a trust region optimization.\",\"type\":\"standalone\"}]},{\"name\":\"SELECTOUT\",\"optional\":true,\"description\":\"Specifies that only the regression parameters that correspond to the selected effects be written to the OUTEST= data table.\",\"type\":\"standalone\"},{\"name\":\"VARDEF=\",\"optional\":true,\"description\":\"Specifies the denominator to use for computing the covariance estimates.\",\"help\":\"VARDEF=DF | N*option*\",\"type\":\"value\",\"arguments\":[{\"name\":\"DF\",\"description\":\"Specifies that the number of nonmissing observations minus the model degrees of freedom (number of parameters) be used.\",\"type\":\"standalone\"},{\"name\":\"N\",\"description\":\"Specifies that the number of nonmissing observations be used.\",\"type\":\"standalone\"}]},{\"name\":\"ZEROEST\",\"optional\":true,\"description\":\"Specifies that zero be written to the OUTEST= data table as an estimate of the regression parameter that is not in the final model (because it is either collinear or not selected). If you omit this option, then the special missing value .R or .N is written for such regression parameters.\",\"type\":\"standalone\"}]},{\"name\":\"ABORT\",\"description\":\"Stops executing the current DATA step, SAS job, or SAS session. n is an integer value that enables you to specify a condition code: o when used with the CANCEL argument, the value is placed in the SYSINFO automatic macro variable o when not used with the CANCEL argument, the error code that is returned by SAS is ERROR. The value of ERROR depends on the operating system. The condition code n is returned to the operating system as the final SAS system exit code.\",\"help\":\"ABORT &lt;ABEND&gt;&lt;CANCEL&gt;&lt;CANCEL FILE&gt; ...\",\"arguments\":[{\"name\":\"n\",\"optional\":true,\"placeholder\":true,\"description\":\"Replace <n> with an actual integer value. n is an integer value that enables you to specify a condition code: o when used with the CANCEL argument, the value is placed in the SYSINFO automatic macro variable o when not used with the CANCEL argument, the error code that is returned by SAS is ERROR. The value of ERROR depends on the operating system. The condition code n is returned to the operating system as the final SAS system exit code.\",\"type\":\"value\"},{\"name\":\"ABEND\",\"optional\":true,\"description\":\"Causes abnormal termination of the current SAS job or session. Results depend on the method of operation: o batch mode and noninteractive mode o stops processing immediately o sends an error message to the SAS log that states that execution was terminated by the ABEND option of the ABORT macro statement o does not execute any subsequent statements or check syntax o returns control to the operating environment; further action is based on how your operating environment and your site treat jobs that end abnormally. o windowing environment and interactive line mode\",\"type\":\"standalone\"},{\"name\":\"CANCEL\",\"optional\":true,\"description\":\"Causes the cancellation of the current submitted statements. The results depend on the method of operation: o batch mode and noninteractive mode o The entire SAS program and SAS system are terminated. o The error message is written to the SAS log. o windowing environment and interactive line mode o It only clears the current submitted program. o Other subsequent submitted programs are not affected. o The error message is written to the SAS log. o workspace server and stored process server o It only clears currently submitted program. o Other subsequent submit calls are not affected. o The error message is written to the SAS log. o SAS IntrNet application server\",\"help\":\"CANCEL \",\"type\":\"standalone\"},{\"name\":\"CANCEL FILE\",\"optional\":true,\"description\":\"Causes only the contents of the autoexec file or %INCLUDE file to be cleared by the %ABORT statement. Other submitted source statements will be executed after the autoexec or %INCLUDE file.\",\"type\":\"standalone\"},{\"name\":\"NOLIST\",\"optional\":true,\"description\":\"Suppresses the output of all variables to the SAS log. Requirement: NOLIST must be the last option in the ABORT statement.\",\"type\":\"standalone\"},{\"name\":\"RETURN\",\"optional\":true,\"description\":\"Causes abnormal termination of the current SAS job or session. Results depend on the method of operation: o batch mode and noninteractive mode o stops processing immediately o sends an error message to the SAS log that states that execution was terminated by the RETURN option in the ABORT macro statement o does not execute any subsequent statements or check syntax o returns control to the operating environment with a condition code indicating an error. o windowing environment and interactive line mode\",\"type\":\"standalone\"}]},{\"name\":\"ARRAY\",\"description\":\"Defines the elements of an array.\",\"help\":\"ARRAY &lt;_ALL_&gt;&lt;_NUMERIC_&gt;&lt;_TEMPORARY_&gt; ...\",\"arguments\":[{\"name\":\"_ALL_\",\"optional\":true,\"description\":\"Specifies all variables.\",\"type\":\"standalone\"},{\"name\":\"_CHARACTER_\",\"optional\":true,\"description\":\"Specifies all character variables.\",\"type\":\"standalone\"},{\"name\":\"_NUMERIC_\",\"optional\":true,\"description\":\"Specifies all numeric variables.\",\"type\":\"standalone\"},{\"name\":\"_TEMPORARY_\",\"optional\":true,\"description\":\"Creates a list of temporary data elements.\",\"type\":\"standalone\"}]},{\"name\":\"ATTRIB\",\"description\":\"Associates a format, informat, label, and length with one or more variables.\",\"help\":\"ATTRIB &lt;FORMAT=format&gt;&lt;INFORMAT=informat&gt;&lt;LABEL='label'&gt; ...\",\"arguments\":[{\"name\":\"FORMAT=\",\"optional\":true,\"description\":\"Associates a format with variables in a variable-list.\",\"help\":\"FORMAT=*format*\",\"type\":\"value\"},{\"name\":\"INFORMAT=\",\"optional\":true,\"description\":\"Associates an informat with variables in a variable-list.\",\"help\":\"INFORMAT=*informat*\",\"type\":\"value\"},{\"name\":\"LABEL=\",\"optional\":true,\"description\":\"Associates a label with variables in a variable-list.\",\"help\":\"LABEL='*label*'\",\"type\":\"value\"},{\"name\":\"LENGTH=\",\"optional\":true,\"description\":\"Specifies the length of variables in a variable-list.\",\"type\":\"value\"},{\"name\":\"TRANSCODE=\",\"optional\":true,\"description\":\"Specifies whether character variables can be transcoded.\",\"help\":\"TRANSCODE=YES | NO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YES\",\"description\":\"Specifies that character variables can be transcoded.\",\"type\":\"standalone\"},{\"name\":\"NO\",\"description\":\"Suppresses transcoding.\",\"type\":\"standalone\"}]}]},{\"name\":\"BY\",\"description\":\"A BY statement can be used in the SEVSELECT procedure to process the input data set in groups of observations defined by the BY variables.\",\"help\":\"BY *variable-list*\"},{\"name\":\"CALL\",\"description\":\"Invokes a SAS CALL routine.\",\"help\":\"CALL routine(parameter-1&lt;, ...parameter-n&gt;)\"},{\"name\":\"CLASS\",\"description\":\"The CLASS statement names the classification variables to be used as explanatory variables in the analysis. The CLASS statement must precede the MODEL statement.\",\"help\":\"CLASS &lt;DESCENDING&gt;&lt;MISSING&gt;&lt;ORDER=&lt;FORMATTED | FREQ | INTERNAL&gt;&gt; ...\",\"arguments\":[{\"name\":\"DESCENDING\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"DESC\"],\"description\":\"Reverses the sort order of the classification variable. If both the DESCENDING and ORDER= options are specified, PROC BCHOICE orders the categories according to the ORDER= option and then reverses that order.\",\"type\":\"standalone\"},{\"name\":\"MISSING\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Treats missing values (., ._, .A, …, .Z for numeric variables and blanks for character variables) as valid values for the CLASS variable.\",\"type\":\"standalone\"},{\"name\":\"ORDER=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the sort order for the levels of classification variables. This ordering determines which parameters in the model correspond to each level in the data. By default, ORDER=FORMATTED. For ORDER=FORMATTED and ORDER=INTERNAL, the sort order is machine-dependent. When ORDER=FORMATTED is in effect for numeric variables for which you have supplied no explicit format, the levels are ordered by their internal values.\",\"help\":\"ORDER=FORMATTED | FREQ | INTERNAL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"FORMATTED\",\"followsDelimiter\":\"/\",\"description\":\"Levels sorted by the external formatted value, except for numeric variables with no explicit format, which are sorted by their unformatted (internal) value.\",\"type\":\"standalone\"},{\"name\":\"FREQ\",\"followsDelimiter\":\"/\",\"description\":\"Levels sorted by the descending frequency count (levels that have more observations come ealier in the order).\",\"type\":\"standalone\"},{\"name\":\"INTERNAL\",\"followsDelimiter\":\"/\",\"description\":\"Levels sorted by the unformatted value. The sort order is machine-dependent.\",\"type\":\"standalone\"}]},{\"name\":\"PARAM=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the parameterization method for the classification variable or variables.\",\"help\":\"PARAM=EFFECT | GLM | ORDINAL | POLYNOMIAL | REFERENCE | ORTHEFFECT | ORTHORDINAL | ORTHPOLY | ORTHREF\",\"type\":\"choice\",\"arguments\":[{\"name\":\"EFFECT\",\"followsDelimiter\":\"/\",\"description\":\"Specifies effect coding.\",\"type\":\"standalone\"},{\"name\":\"GLM\",\"followsDelimiter\":\"/\",\"description\":\"Specifies less-than-full-rank, reference-cell coding; this option can be used only as a global option.\",\"type\":\"standalone\"},{\"name\":\"ORDINAL\",\"followsDelimiter\":\"/\",\"aliases\":[\"THERMOMETER\"],\"description\":\"Specifies the cumulative parameterization for an ordinal CLASS variable.\",\"type\":\"standalone\"},{\"name\":\"POLYNOMIAL\",\"followsDelimiter\":\"/\",\"aliases\":[\"POLY\"],\"description\":\"Specifies polynomial coding.\",\"type\":\"standalone\"},{\"name\":\"REFERENCE\",\"followsDelimiter\":\"/\",\"aliases\":[\"REF\"],\"description\":\"Specifies reference-cell coding.\",\"type\":\"standalone\"},{\"name\":\"ORTHEFFECT\",\"followsDelimiter\":\"/\",\"description\":\"Orthogonalizes PARAM=EFFECT.\",\"type\":\"standalone\"},{\"name\":\"ORTHORDINAL\",\"followsDelimiter\":\"/\",\"aliases\":[\"ORTHOTHERM\"],\"description\":\"Orthogonalizes PARAM=ORDINAL.\",\"type\":\"standalone\"},{\"name\":\"ORTHPOLY\",\"followsDelimiter\":\"/\",\"description\":\"Orthogonalizes PARAM=POLYNOMIAL.\",\"type\":\"standalone\"},{\"name\":\"ORTHREF\",\"followsDelimiter\":\"/\",\"description\":\"Orthogonalizes PARAM=REFERENCE.\",\"type\":\"standalone\"}]},{\"name\":\"REFERENCE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"REF=\"],\"description\":\"Specifies the reference level that is used when you specify a nonsingular parameterization.\",\"help\":\"REFERENCE='&lt;level&gt;' | FIRST | LAST\",\"type\":\"choice\",\"arguments\":[{\"name\":\"'\",\"followsDelimiter\":\"/\",\"description\":\"Specifies the level of the variable to use as the reference level. Specify the formatted value of the variable if a format is assigned. Replace <level> with an actual value.\",\"help\":\"'&lt;level&gt;'\",\"type\":\"standalone\"},{\"name\":\"FIRST\",\"followsDelimiter\":\"/\",\"description\":\"Designates the first ordered level as reference.\",\"type\":\"standalone\"},{\"name\":\"LAST\",\"followsDelimiter\":\"/\",\"description\":\"Designates the last ordered level as reference.\",\"type\":\"standalone\"}]},{\"name\":\"SPLIT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies that design matrix columns that correspond to any effect that contains a split classification variable can be selected to enter or leave a model independently of the other design columns of that effect.\",\"type\":\"standalone\"}]},{\"name\":\"CONTINUE\",\"description\":\"Stops processing the current DO-loop iteration and resumes processing the next iteration.\",\"help\":\"CONTINUE\"},{\"name\":\"DELETE\",\"description\":\"Stops processing the current observation.\",\"help\":\"DELETE\"},{\"name\":\"DESCRIBE\",\"description\":\"Retrieves source code from a stored compiled DATA step program or a DATA step view.\",\"help\":\"DESCRIBE\"},{\"name\":\"DISPLAY\",\"description\":\"The DISPLAY statement enables you to specify a list of display tables to display or exclude. This statement is similar to the ODS SELECT, ODS EXCLUDE, and ODS TRACE statements. However, the DISPLAY statement can improve performance when a large number of tables could be generated (such as in BY-group processing). The procedure processes the DISPLAY statement on a CAS server and thus sends only a subset of ODS tables to the SAS client. Because ODS statements are processed on a SAS client, all the display tables generated are first sent to the client and then the client creates a subset. If both DISPLAY and ODS statements are used together, the DISPLAY statement takes precedence over the ODS statements.\",\"help\":\"DISPLAY &lt;CASESENSITIVE&gt;&lt;EXCLUDE&gt;&lt;EXCLUDEALL&gt; ...\",\"arguments\":[{\"name\":\"CASESENSITIVE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Performs a case-sensitive comparison of table names in the table-list to display table names when tables are subsetted for display. To preserve case, you must enclose table names in the table-list in quotation marks.\",\"type\":\"standalone\"},{\"name\":\"EXCLUDE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays all display tables except those specified in the table-list.\",\"type\":\"standalone\"},{\"name\":\"EXCLUDEALL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Suppresses display of all tables. This option takes precedence over the other options.\",\"type\":\"standalone\"},{\"name\":\"TRACE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays the display table names, labels, and paths.\",\"type\":\"standalone\"}]},{\"name\":\"DISPLAYOUT\",\"description\":\"The DISPLAYOUT statement enables you to create CAS output tables from your displayed output. This statement is similar to the ODS OUTPUT statement. The table-spec-list specifies a list of CAS output tables to create. Each entry in the list has either a key or a key=value format: key=value specifies key as the ODS table name, path, or partial pathname, and specifies value as the CAS output table name. key specifies key as the ODS table name and also as the CAS output table name. Table names and partial pathnames are discussed under the DISPLAY statement. The DISPLAYOUT statement does not support regular expressions.\",\"help\":\"DISPLAYOUT &lt;INCLUDEALL&gt;&lt;NOREPLACE&gt;&lt;REPEATED&gt; ...\",\"arguments\":[{\"name\":\"INCLUDEALL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Creates output CAS tables for all display tables. The name of the created output CAS table is the same as the corresponding display table name. If you specify this option, the table-spec-list specification is ignored.\",\"type\":\"standalone\"},{\"name\":\"NOREPLACE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Does not replace an existing CAS output table of the same name.\",\"type\":\"standalone\"},{\"name\":\"REPEATED\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Replicates the CAS output tables on all nodes.\",\"type\":\"standalone\"}]},{\"name\":\"DIST\",\"description\":\"The DIST statement specifies candidate distributions to be estimated by the SEVSELECT procedure. You can specify multiple DIST statements, and each statement can contain one or more distribution specifications.\",\"help\":\"DIST _ALL_ _PREDEFINED_ _USER_ ...\",\"arguments\":[{\"name\":\"BURR=\",\"description\":\"Burr distribution\",\"help\":\"BURR=INIT=\",\"type\":\"choice\",\"arguments\":[{\"name\":\"INIT=\",\"type\":\"value\"}]},{\"name\":\"EXP=\",\"description\":\"Exponential distribution\",\"help\":\"EXP=INIT=\",\"type\":\"choice\",\"arguments\":[{\"name\":\"INIT=\",\"type\":\"value\"}]},{\"name\":\"GAMMA=\",\"description\":\"Gamma distribution\",\"help\":\"GAMMA=INIT=\",\"type\":\"choice\",\"arguments\":[{\"name\":\"INIT=\",\"type\":\"value\"}]},{\"name\":\"GPD=\",\"description\":\"Generalized Pareto distribution\",\"help\":\"GPD=INIT=\",\"type\":\"choice\",\"arguments\":[{\"name\":\"INIT=\",\"type\":\"value\"}]},{\"name\":\"IGAUSS=\",\"description\":\"Inverse Gaussian (Wald) distribution\",\"help\":\"IGAUSS=INIT=\",\"type\":\"choice\",\"arguments\":[{\"name\":\"INIT=\",\"type\":\"value\"}]},{\"name\":\"LOGN=\",\"description\":\"Lognormal distribution\",\"help\":\"LOGN=INIT=\",\"type\":\"choice\",\"arguments\":[{\"name\":\"INIT=\",\"type\":\"value\"}]},{\"name\":\"PARETO=\",\"description\":\"Pareto distribution\",\"help\":\"PARETO=INIT=\",\"type\":\"choice\",\"arguments\":[{\"name\":\"INIT=\",\"type\":\"value\"}]},{\"name\":\"STWEEDIE=\",\"description\":\"Scaled Tweedie distribution\",\"help\":\"STWEEDIE=INIT=\",\"type\":\"choice\",\"arguments\":[{\"name\":\"INIT=\",\"type\":\"value\"}]},{\"name\":\"TWEEDIE=\",\"description\":\"Tweedie distribution\",\"help\":\"TWEEDIE=INIT=\",\"type\":\"choice\",\"arguments\":[{\"name\":\"INIT=\",\"type\":\"value\"}]},{\"name\":\"WEIBULL=\",\"description\":\"Weibull distribution\",\"help\":\"WEIBULL=INIT=\",\"type\":\"choice\",\"arguments\":[{\"name\":\"INIT=\",\"type\":\"value\"}]},{\"name\":\"_ALL_=\",\"description\":\"Specifies all the predefined distributions and the distributions that you have defined in the libraries that you specify in the CMPLIB= system option.\",\"help\":\"_ALL_=INIT=\",\"type\":\"choice\",\"arguments\":[{\"name\":\"INIT=\",\"type\":\"value\"}]},{\"name\":\"_PREDEFINED_=\",\"description\":\"Specifies the list of eight predefined distributions: BURR, EXP, GAMMA, GPD, IGAUSS, LOGN, PARETO, and WEIBULL. Although the TWEEDIE and STWEEDIE distributions are available in the Sashelp.Svrtdist library along with these eight distributions, they are not included by this keyword. If you want to fit the TWEEDIE and STWEEDIE distributions, then you must specify them explicitly or use the _ALL_ keyword.\",\"help\":\"_PREDEFINED_=INIT=\",\"type\":\"choice\",\"arguments\":[{\"name\":\"INIT=\",\"type\":\"value\"}]},{\"name\":\"_USER_=\",\"description\":\"Specifies the list of all the distributions that you have defined in the libraries that you specify in the CMPLIB= system option.\",\"help\":\"_USER_=INIT=\",\"type\":\"choice\",\"arguments\":[{\"name\":\"INIT=\",\"type\":\"value\"}]},{\"name\":\"GLOBAL\",\"optional\":true,\"aliases\":[\"PROMOTED\"],\"description\":\"[option for OUTFUNCDEF=|OUTTAB= only] Promotes the data table to make it available globally.\",\"type\":\"standalone\"},{\"name\":\"INFUNCDEF=\",\"optional\":true,\"aliases\":[\"INTAB=\"],\"description\":\"Syntax: INFUNCDEF=\\\"CAS-table-name\\\" | INTAB=\\\"CAS-table-name\\\" | INFUNCDEF=CAS-table-name<(CASLIB=\\\"caslib\\\")> | INTAB=CAS-table-name<(CASLIB=\\\"caslib\\\")>\",\"type\":\"value\"},{\"name\":\"LISTONLY\",\"optional\":true,\"description\":\"Prints the list of all candidate distributions to the SAS log without doing any further processing on them. This option is especially useful when you use a shortcut keyword to include a list of distributions. It enables you to find out which distributions are included by the keyword.\",\"type\":\"standalone\"},{\"name\":\"OUTFUNCDEF=\",\"optional\":true,\"aliases\":[\"OUTTAB=\"],\"description\":\"Specifies the output data table on the CAS server to write the distribution function definitions to. The table is created in the caslib that is active for the current CAS session.\",\"type\":\"value\"},{\"name\":\"VALIDATEONLY=\",\"optional\":true,\"description\":\"Checks all candidate distributions for validity without doing any further processing on them. The first form checks whether each distribution’s first parameter is a scale parameter, which is a requirement for fitting a scale regression model for that distribution. You can disable that check by using the second form, which specifies the NOSCALEMODEL option; this is useful if you do not want to fit a scale regression model for a distribution.\",\"help\":\"VALIDATEONLY=NOSCALEMODEL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NOSCALEMODEL\",\"type\":\"standalone\"}]}]},{\"name\":\"DO\",\"description\":\"Specifies a group of statements to be executed as a unit.\",\"help\":\"DO &lt;OVER&gt;&lt;&gt;&lt;&gt; ...\",\"arguments\":[{\"name\":\"BY\",\"optional\":true,\"description\":\"Precedes an increment integer (other than 0) or an expression that generates an integer to be added to the value of the index variable in each iteration of the DO loop.\",\"type\":\"standalone\"},{\"name\":\"OVER\",\"optional\":true,\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"TO\",\"optional\":true,\"description\":\"Separates the start and stop integers or expressions that control the number of times the portion of the DATA step between the iterative DO and END statements is processed.\",\"type\":\"standalone\"},{\"name\":\"UNTIL\",\"optional\":true,\"description\":\"...more SAS statements... END\",\"type\":\"standalone\"},{\"name\":\"WHILE\",\"optional\":true,\"description\":\"\",\"type\":\"standalone\"}]},{\"name\":\"DO UNTIL\",\"description\":\"Executes statements in a DO loop repetitively until a condition is true.\",\"help\":\"\"},{\"name\":\"DO WHILE\",\"description\":\"Executes statements in a DO loop repetitively while a condition is true.\",\"help\":\"\"},{\"name\":\"DROP\",\"description\":\"Excludes variables from output SAS data sets.\",\"help\":\"DROP variable-list\"},{\"name\":\"EFFECT\",\"description\":\"The EFFECT statement enables you to construct special collections of columns for design matrices. These collections are referred to as constructed effects to distinguish them from the usual model effects that are formed from continuous or classification variables.\",\"help\":\"EFFECT &lt;DETAILS&gt;NAME=COLLECTION | MULTIMEMBER | POLYNOMIAL | SPLINE&lt;NOEFFECT&gt; ...\",\"arguments\":[{\"name\":\"NAME=\",\"description\":\"Replace 'NAME' with the name of the effect, specified after the EFFECT keyword. This name can appear in only one EFFECT statement and cannot be the name of a variable in the input data set.\",\"help\":\"NAME=COLLECTION | MULTIMEMBER | POLYNOMIAL | SPLINE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"COLLECTION\",\"description\":\"Is a collection effect that defines one or more variables as a single effect with multiple degrees of freedom. The variables in a collection are considered as a unit for estimation and inference. Option(s) available (specified after a slash (/) following the variable list): DETAILS Displays the constituents of the collection effect\",\"type\":\"standalone\"},{\"name\":\"MULTIMEMBER\",\"aliases\":[\"MM\"],\"description\":\"Is a multimember classification effect whose levels are determined by one or more variables that appear in a CLASS statement. Options available (specified after a slash (/) following the variable list): DETAILS displays the levels of the multimember effect NOEFFECT specifies that observations with all missing levels for the multimember variables should have zero values in the corresponding design matrix columns STDIZE Standardizes the design matrix entries so that each observation has a sum of 1 WEIGHT= specifies the weight variable for the contributions of each of the classification effects\",\"type\":\"standalone\"},{\"name\":\"POLYNOMIAL\",\"aliases\":[\"POLY\"],\"description\":\"Is a multivariate polynomial effect in the specified numeric variables. Options available (specified after a slash (/) following the variable list): DEGREE= specifies the degree of the polynomial DETAILS displays details of the specified polynomial MDEGREE= specifies the maximum degree of any variable in a term of the polynomial NOSEPARATE treats the polynomial as a single effect with multiple degrees of freedom STANDARDIZE= specifies centering and scaling suboptions for the variables that define the polynomial\",\"type\":\"standalone\"},{\"name\":\"SPLINE\",\"description\":\"Is a regression spline effect whose columns are univariate spline expansions of one or more variables. A spline expansion replaces the original variable with an expanded or larger set of new variables. Options available (specified after a slash (/) following the variable list): BASIS= specifies the type of basis (B-spline basis or truncated power function basis) for the spline expansion DATABOUNDARY uses the extremes of the data as boundary knots for a B-spline basis DEGREE= specifies the degree of the spline transformation DETAILS displays the knots and locations for each spline basis function KNOTMAX= requests equally spaced right-side boundary knots starting at the variables’ maximum and ending at the KNOTMAX= value KNOTMETHOD= specifies how to construct the knots for spline effects KNOTMIN= requests equally spaced left-side boundary knots starting at the KNOTMAX= value and ending at the variables’ minimum value\",\"type\":\"standalone\"}]},{\"name\":\"BASIS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"[For the SPLINE effect-type only] Specifies a basis for the spline expansion.\",\"help\":\"BASIS=BSPLINE | TPF\",\"type\":\"choice\",\"arguments\":[{\"name\":\"BSPLINE\",\"followsDelimiter\":\"/\",\"description\":\"Specifies a B-spline basis for the spline expansion.\",\"type\":\"standalone\"},{\"name\":\"TPF\",\"followsDelimiter\":\"/\",\"description\":\"Syntax: TPF(options) Specifies a truncated power function basis for the spline expansion. You can modify the number of columns when you request BASIS=TPF with the following options: NOINT excludes the intercept column. NOPOWERS excludes the intercept and polynomial columns.\",\"type\":\"standalone\"}]},{\"name\":\"DATABOUNDARY\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"[For the SPLINE effect-type only] Specifies that the extremes of the data be used as boundary knots when building a B-spline basis.\",\"type\":\"standalone\"},{\"name\":\"DEGREE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"\",\"help\":\"DEGREE=*n*\",\"type\":\"value\"},{\"name\":\"DETAILS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"[For the COLLECTION | MULTIMEMBER | POLYNOMIAL |SPLINE effect-type] Requests a table that shows the: (1) constituents of the collection effect, or (2) levels of the multimember effect, or (3) details of the specified polynomial, or (4) knot locations and the knots associated with each spline basis function.\",\"type\":\"standalone\"},{\"name\":\"KNOTMAX=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"\",\"help\":\"KNOTMAX=*value*\",\"type\":\"value\"},{\"name\":\"KNOTMETHOD=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"[For the SPLINE effect-type only] Specifies how to construct the knots for spline effects.\",\"help\":\"KNOTMETHOD=EQUAL | LIST | LISTWITHBOUNDARY | MULTISCALE | PERCENTILES | RANGEFRACTIONS\",\"type\":\"choice\",\"arguments\":[{\"name\":\"EQUAL\",\"followsDelimiter\":\"/\",\"description\":\"Syntax: EQUAL<(n)> Specifies that n equally spaced knots be positioned between the extremes of the data. The default is n=3. For a B-spline basis, any needed boundary knots continue to be equally spaced unless the DATABOUNDARY option has also been specified. KNOTMETHOD=EQUAL is the default if no knot-method is specified.\",\"type\":\"standalone\"},{\"name\":\"LIST\",\"followsDelimiter\":\"/\",\"description\":\"Syntax: LIST(number-list) Specifies the list of internal knots to be used in forming the spline basis columns. For a B-spline basis, the data extremes are used as boundary knots.\",\"type\":\"standalone\"},{\"name\":\"LISTWITHBOUNDARY\",\"followsDelimiter\":\"/\",\"description\":\"Syntax: LISTWITHBOUNDARY(number-list) Specifies the list of all knots that are used in forming the spline basis columns.\",\"type\":\"standalone\"},{\"name\":\"MULTISCALE\",\"followsDelimiter\":\"/\",\"description\":\"Syntax: MULTISCALE<(multiscale-options)> Specifies that multiple B-spline bases be generated, corresponding to sets with an increasing number of internal knots. You can control which scales are included with the following multiscale-options: STARTSCALE=n specifies the start scale, where n is a positive integer. The default is STARTSCALE=0. ENDSCALE=n specifies the end scale, where n is a positive integer. The default is ENDSCALE=7.\",\"type\":\"standalone\"},{\"name\":\"PERCENTILES\",\"followsDelimiter\":\"/\",\"description\":\"Syntax: PERCENTILES(n) Requests that internal knots be placed at n equally spaced percentiles of the variable or variables named in the EFFECT statement.\",\"type\":\"standalone\"},{\"name\":\"RANGEFRACTIONS\",\"followsDelimiter\":\"/\",\"description\":\"Syntax: RANGEFRACTIONS(fraction-list) Requests that internal knots be placed at each fraction of the ranges of the variables in the EFFECT statement.\",\"type\":\"standalone\"}]},{\"name\":\"KNOTMIN=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"\",\"help\":\"KNOTMIN=*value*\",\"type\":\"value\"},{\"name\":\"MDEGREE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"\",\"help\":\"MDEGREE=*n*\",\"type\":\"value\"},{\"name\":\"NATURALCUBIC\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"[For the SPLINE effect-type only] Uses a natural cubic spline basis for the spline expansion. Natural cubic splines, also known as restricted cubic splines, are cubic splines that are constrained to be linear beyond the extreme knots.\",\"type\":\"standalone\"},{\"name\":\"NOEFFECT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"[For the MULTIMEMBER effect-type only] Specifies that observations whose levels are all missing for the multimember variables should have 0 values in the corresponding design matrix columns.\",\"type\":\"standalone\"},{\"name\":\"NOSEPARATE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"[For the POLYNOMIAL effect-type only] Specifies that the polynomial be treated as a single effect with multiple degrees of freedom. The effect name that you specify is used as the constructed effect name, and the labels of the terms are used as labels of the corresponding parameters.\",\"type\":\"standalone\"},{\"name\":\"SEPARATE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"[For the SPLINE effect-type only] Specifies that when multiple variables are specified in the EFFECT statement, the spline basis for each variable be treated as a separate effect. The names of these separated effects are formed by appending an underscore followed by the name of the variable to the name that you specify in the EFFECT statement.\",\"type\":\"standalone\"},{\"name\":\"SPLIT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"[For the SPLINE effect-type only] Specifies that each individual column in the design matrix that corresponds to the spline effect be treated as a separate effect that can enter or leave the model independently. Names for these split effects are generated by appending the variable name and an index for each column to the name that you specify in the EFFECT statement.\",\"type\":\"standalone\"},{\"name\":\"STANDARDIZE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies that the variables that define the polynomial be standardized. By default, the standardized variables receive prefix \\\"s_\\\" in the variable names. You can use the following centerscale-opts to specify how the center and scale are estimated: METHOD=MOMENTS specifies that the center be estimated by the variable mean and the scale be estimated by the standard deviation. METHOD=RANGE specifies that the center be estimated by the midpoint of the variable range and the scale be estimated as half the variable range. METHOD=WMOMENTS is the same as METHOD=MOMENTS except that weighted means and weighted standard deviations are used.\",\"help\":\"STANDARDIZECENTER | CENTERSCALE | NONE | SCALE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"CENTER\",\"followsDelimiter\":\"/\",\"description\":\"Specifies that variables be centered but not scaled.\",\"type\":\"standalone\"},{\"name\":\"CENTERSCALE\",\"followsDelimiter\":\"/\",\"description\":\"Specifies that variables be centered and scaled. This is the default if you do not specify a standardization-opt.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"followsDelimiter\":\"/\",\"description\":\"Specifies that no standardization be performed.\",\"type\":\"standalone\"},{\"name\":\"SCALE\",\"followsDelimiter\":\"/\",\"description\":\"Specifies that variables be scaled but not centered.\",\"type\":\"standalone\"}]},{\"name\":\"STDIZE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"[For the MULTIMEMBER effect-type only] Specifies that for each observation, the entries in the design matrix that corresponds to the multimember effect be scaled to have a sum of one.\",\"type\":\"standalone\"},{\"name\":\"WEIGHT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"\",\"help\":\"WEIGHT=*wght-list*\",\"type\":\"value\"}]},{\"name\":\"ELSE\",\"description\":\"If the condition in an IF-THEN statement is false and an ELSE statement is present, then the ELSE action is carried out.\",\"help\":\"ELSE &lt;DO&gt;&lt;IF&gt;&lt;THEN&gt; ...\",\"arguments\":[{\"name\":\"AND\",\"optional\":true,\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"DO\",\"optional\":true,\"description\":\"Action statement in an IF-THEN-ELSE construct.\",\"type\":\"standalone\"},{\"name\":\"IF\",\"optional\":true,\"description\":\"Executes a SAS statement for observations that meet specific conditions.\",\"type\":\"standalone\"},{\"name\":\"NOT\",\"optional\":true,\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"OR\",\"optional\":true,\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"OUTPUT\",\"optional\":true,\"description\":\"Action statement in an IF-THEN-ELSE construct.\",\"type\":\"standalone\"},{\"name\":\"THEN\",\"optional\":true,\"description\":\"If the conditions that are specified in the IF clause are met, the IF-THEN statement executes a SAS statement for observations that are read from a SAS data set, for records in an external file, or for computed values.\",\"type\":\"standalone\"}]},{\"name\":\"END\",\"description\":\"Ends a DO group or SELECT group processing.\",\"help\":\"END\"},{\"name\":\"ENDRSUBMIT\",\"description\":\"Marks the end of a block of statements that a client session submits to a server session for execution.\",\"help\":\"ENDRSUBMIT\"},{\"name\":\"ERROR\",\"description\":\"Sets _ERROR_ to 1. A message written to the SAS log is optional.\",\"help\":\"ERROR &lt;message&gt;\"},{\"name\":\"EXECUTE\",\"description\":\"Executes a stored compiled DATA step program.\",\"help\":\"EXECUTE\"},{\"name\":\"FILE\",\"description\":\"where file-specification identifies an external file that the DATA step uses to write output from a PUT statement. File-specification can have these forms: 'external-file' specifies the physical name of an external file, which is enclosed in quotation marks. The physical name is the name by which the operating environment recognizes the file. fileref specifies the fileref of an external file. Requirement: You must have previously associated fileref with an external file in a FILENAME statement or function, or in an appropriate operating environment command. There is only one exception to this rule: when you use the FILEVAR= option, the fileref is simply a placeholder. fileref(file) specifies a fileref that is previously assigned to an external file that is an aggregate grouping of files. Follow the fileref with the name of a file or member, which is enclosed in parentheses. LOG is a reserved fileref that directs the output that is produced by any PUT statements to the SAS log. PRINT is a reserved fileref that directs the output that is produced by any PUT statements to the same file as the output that is produced by SAS procedures. device-type specifies the type of device or the access method that is used if the fileref points to an input or output device or a location that is not a physical file: DISK, DUMMY, GTERM, PIPE, PLOTTER, PRINTER, TAPE, TEMP, TERMINAL, UPRINTER. type specifies the type of file in z/OS: DLI, HFS, MVS, PIPE, VSAM. operating-environment-options or host-options Additional specifications might be required when you specify some devices. See the SAS documentation for your operating environment before specifying a value other than DISK. Values in addition to the ones listed here might be available in some operating environments.\",\"help\":\"FILE &lt;DISK&gt;&lt;DUMMY&gt;&lt;LOG&gt; ...\",\"arguments\":[{\"name\":\"ALQ=\",\"optional\":true,\"description\":\"[OpenVMS Host Option] Specifies the number of blocks initially allocated to an external file when it is created. The value can range from 0 to 2,147,483,647. If the value is 0 (the default), the minimum number of blocks required for the given file format is used.\",\"type\":\"value\"},{\"name\":\"BLKSIZE=\",\"optional\":true,\"aliases\":[\"BLK=\"],\"description\":\"[Windows/UNIX Host Option] Specifies the number of bytes that are physically read or written in an I/O operation. The default is 8K. The maximum is 1M (Windows) or 1G-1(UNIX).\",\"help\":\"BLKSIZE=*block-size*\",\"type\":\"value\"},{\"name\":\"BLOCK\",\"optional\":true,\"description\":\"Is used only in the context of named pipes. This option indicates whether the client is to wait if no data is currently available. BLOCK is the default value.\",\"type\":\"standalone\"},{\"name\":\"BOM\",\"optional\":true,\"aliases\":[\"BOMFILE\"],\"description\":\"[UNIX/z/OS Host Option] Includes a Byte Order Mark when a UNICODE-encoded file is created.\",\"type\":\"standalone\"},{\"name\":\"BUFND=\",\"optional\":true,\"description\":\"Indicates how many data buffers to use for the VSAM data set.\",\"help\":\"BUFND=*value*\",\"type\":\"value\"},{\"name\":\"BUFNI=\",\"optional\":true,\"description\":\"Indicates how many index buffers to use for the VSAM data set.\",\"help\":\"BUFNI=*value*\",\"type\":\"value\"},{\"name\":\"BYTE\",\"optional\":true,\"description\":\"Is used only in the context of named pipes. This option indicates the type of pipe. BYTE is the default value.\",\"type\":\"standalone\"},{\"name\":\"CC=\",\"optional\":true,\"description\":\"[OpenVMS Host Option] Specifies the carriage-control format of the SAS log and the procedure output file.\",\"help\":\"CC=FORTRAN | PRINT | CR\",\"type\":\"choice\",\"arguments\":[{\"name\":\"FORTRAN\",\"description\":\"Indicates FORTRAN carriage-control format. This is the default for print files.\",\"type\":\"standalone\"},{\"name\":\"PRINT\",\"description\":\"Indicates OpenVMS print format.\",\"type\":\"standalone\"},{\"name\":\"CR\",\"description\":\"Indicates OpenVMS carriage-return, carriage-control format. This is the default for nonprinting files.\",\"type\":\"standalone\"}]},{\"name\":\"CLIENT\",\"optional\":true,\"description\":\"[Windows Host Option] Is used only in the context of named pipes. This option specifies the mode of a named pipe. The default value is SERVER.\",\"type\":\"standalone\"},{\"name\":\"CLOSE=\",\"optional\":true,\"description\":\"[z/OS Host Option] Indicates how a tape volume is positioned at the end of the DATA step.\",\"help\":\"CLOSE=REREAD | LEAVE | REWIND | FREE | DISP\",\"type\":\"choice\",\"arguments\":[{\"name\":\"REREAD\",\"description\":\"Positions the tape at the logical beginning of the data set.\",\"type\":\"standalone\"},{\"name\":\"LEAVE\",\"description\":\"Positions the tape at the logical end of the data set.\",\"type\":\"standalone\"},{\"name\":\"REWIND\",\"description\":\"Rewinds the tape to the physical beginning of the volume.\",\"type\":\"standalone\"},{\"name\":\"FREE\",\"description\":\"Dynamically deallocates the tape volume.\",\"type\":\"standalone\"},{\"name\":\"DISP\",\"description\":\"Is implied by the control language.\",\"type\":\"standalone\"}]},{\"name\":\"COLUMN=\",\"optional\":true,\"aliases\":[\"COL=\"],\"description\":\"Specifies a variable that SAS automatically sets to the current column location of the pointer.\",\"type\":\"value\"},{\"name\":\"COMMAND\",\"optional\":true,\"description\":\"[Windows Host Option] Allows remote commands to be issued to DDE server applications that not use the SYSTEM topic name.\",\"type\":\"standalone\"},{\"name\":\"CSRC\",\"optional\":true,\"description\":\"[OpenVMS Host Option] Specifies that you want to use the CSRCESRV services (available with z/OS) to compress data on output. For example: data _null_; file myfile csrc; put ... ; run;\",\"type\":\"standalone\"},{\"name\":\"DCB=\",\"optional\":true,\"description\":\"specifies the fileref of an external file that was referenced in an earlier FILE or INFILE statement in the same DATA step. SAS uses that file's RECFM=, LRECL=, and BLKSIZE= information for the current file.\",\"help\":\"DCB=*fileref*\",\"type\":\"value\"},{\"name\":\"DELIMITER=\",\"optional\":true,\"aliases\":[\"DLM=\"],\"description\":\"Specifies an alternate delimiter (other than a blank) to be used for LIST output.\",\"type\":\"value\"},{\"name\":\"DEQ=\",\"optional\":true,\"description\":\"[OpenVMS Host Option] Specifies the number of blocks added when OpenVMS RMS automatically extends an external file during a write operation. The value can range from 0 to 65,535. The default value is 0, telling OpenVMS RMS to use the process's default value. A large value results in fewer file extensions over the life of the file; a small value results in numerous file extensions over the life of the file. A file with numerous file extensions might be noncontiguous, thereby slowing record access.\",\"type\":\"value\"},{\"name\":\"DEVTYPE=\",\"optional\":true,\"description\":\"Defines a character variable (minimum length 24) that SAS sets to the device type. SAS obtains the device type by using the z/OS operating environment DEVTYPE macro.\",\"help\":\"DEVTYPE=*variable*\",\"type\":\"value\"},{\"name\":\"DISK\",\"optional\":true,\"description\":\"[device-type] Specifies that the device is a disk drive.\",\"type\":\"standalone\"},{\"name\":\"DLI\",\"optional\":true,\"description\":\"[type] For IMS-DL/I databases.\",\"type\":\"standalone\"},{\"name\":\"DLMSOPT=\",\"optional\":true,\"description\":\"Specifies a parsing option for the DLMSTR= T option that removes trailing blanks of the string delimiter.\",\"help\":\"DLMSOPT='T'\",\"type\":\"choice\",\"arguments\":[{\"name\":\"'T'\",\"description\":\"Removes trailing blanks of the string delimiter.\",\"type\":\"standalone\"}]},{\"name\":\"DLMSTR=\",\"optional\":true,\"description\":\"Specifies a character string as an alternate delimiter (other than a blank) to be used for LIST output\",\"type\":\"value\"},{\"name\":\"DROPOVER\",\"optional\":true,\"description\":\"Discards data items that exceed the output line length (as specified by the LINESIZE= or LRECL= options in the FILE statement).\",\"type\":\"standalone\"},{\"name\":\"DSCB=\",\"optional\":true,\"description\":\"Defines a character variable (minimum length 96) that SAS sets to the Data Set Control Block (DSCB) information from a non-VSAM data set.\",\"help\":\"DSCB=*variable*\",\"type\":\"value\"},{\"name\":\"DSD\",\"optional\":true,\"description\":\"Specifies that data values that contain embedded delimiters, such as tabs or commas, be enclosed in quotation marks.\",\"type\":\"standalone\"},{\"name\":\"DUMMY\",\"optional\":true,\"description\":\"[device-type] Specifies that the output to the file is discarded. Tip: Specifying DUMMY can be useful for testing.\",\"type\":\"standalone\"},{\"name\":\"ENCODING=\",\"optional\":true,\"description\":\"Specifies the encoding to use when writing to the output file.\",\"help\":\"ENCODING='warabic' | 'wbaltic' | 'wlatin2' | 'wcyrillic' | 'wgreek' | 'whebrew' | 'wturkish' | 'wvietnamese' | 'wlatin1' | 'utf-8' | 'ms-950' | 'ms-936' | 'ms-932' | 'ms-949'\",\"type\":\"choice\",\"arguments\":[{\"name\":\"'warabic'\",\"description\":\"Arabic\",\"type\":\"standalone\"},{\"name\":\"'wbaltic'\",\"description\":\"Baltic\",\"type\":\"standalone\"},{\"name\":\"'wlatin2'\",\"description\":\"Central Europe\",\"type\":\"standalone\"},{\"name\":\"'wcyrillic'\",\"description\":\"Cyrillic\",\"type\":\"standalone\"},{\"name\":\"'wgreek'\",\"description\":\"Greek\",\"type\":\"standalone\"},{\"name\":\"'whebrew'\",\"description\":\"Hebrew\",\"type\":\"standalone\"},{\"name\":\"'wturkish'\",\"description\":\"Turkish\",\"type\":\"standalone\"},{\"name\":\"'wvietnamese'\",\"description\":\"Vietnamese\",\"type\":\"standalone\"},{\"name\":\"'wlatin1'\",\"description\":\"Western\",\"type\":\"standalone\"},{\"name\":\"'utf-8'\",\"description\":\"Unicode encoding\",\"type\":\"standalone\"},{\"name\":\"'ms-950'\",\"description\":\"Traditional Chinese\",\"type\":\"standalone\"},{\"name\":\"'ms-936'\",\"description\":\"Simplified Chinese\",\"type\":\"standalone\"},{\"name\":\"'ms-932'\",\"description\":\"Japanese\",\"type\":\"standalone\"},{\"name\":\"'ms-949'\",\"description\":\"Korean\",\"type\":\"standalone\"}]},{\"name\":\"EOFCONNECT\",\"optional\":true,\"description\":\"[Windows Host Option] Is used only in the context of named pipes and is valid only when you are defining the server. This option indicates that if an end-of-file (EOF) character is received from a client, the server should try to connect to the next client.\",\"type\":\"standalone\"},{\"name\":\"FAC=\",\"optional\":true,\"description\":\"[OpenVMS Host Option] Overrides the default file access attributes used for external files. Use this option to indicate the level of access you want to allow for an external file. You can allow READ, WRITE, UPDATE, and DELETE access (as well as no access). By default with external files, files opened for input allow read access, files opened for output allow WRITE access, and files opened for update allow READ and WRITE access. The form of the FAC= option is FAC=access-option-list where access-option-list can be one of the following: DEL specifies DELETE access. GET specifies READ access. PUT specifies WRITE access. UPD specifies UPDATE access. You can combine these values in any order. For example, specifying the following indicates that you want DELETE, READ, and WRITE access:\",\"type\":\"value\"},{\"name\":\"FEEDBACK=\",\"optional\":true,\"aliases\":[\"FDBK=\"],\"description\":\"Defines a numeric variable that SAS sets to the VSAM logical error code. This option is similar to the _FDBK_ automatic variable. When SAS sets the FEEDBACK variable, you must reset it to 0 in order to continue.\",\"type\":\"value\"},{\"name\":\"FILEDATA=\",\"optional\":true,\"description\":\"[UNIX/z/OS Host Option] The FILEDATA= option specifies that the file being processed is expected to contain either binary or text data.\",\"help\":\"FILEDATA=BINARY | TEXT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"BINARY\",\"description\":\"The FILEDATA= option specifies that the file being processed is expected to contain binary data.\",\"type\":\"standalone\"},{\"name\":\"TEXT\",\"description\":\"The FILEDATA= option specifies that the file being processed is expected to contain text data.\",\"type\":\"standalone\"}]},{\"name\":\"FILENAME=\",\"optional\":true,\"description\":\"Defines a character variable, whose name you supply, that SAS sets to the value of the physical name of the file currently open for PUT statement output.\",\"type\":\"value\"},{\"name\":\"FILEVAR=\",\"optional\":true,\"description\":\"Defines a variable whose change in value causes the FILE statement to close the current output file and open a new one the next time the FILE statement executes.\",\"type\":\"value\"},{\"name\":\"FLOWOVER\",\"optional\":true,\"description\":\"Causes data that exceeds the current line length to be written on a new line.\",\"type\":\"standalone\"},{\"name\":\"FOOTNOTES\",\"optional\":true,\"aliases\":[\"FOOTNOTE\"],\"description\":\"Specifies that the currently defined footnotes are printed.\",\"type\":\"standalone\"},{\"name\":\"GSFCC=\",\"optional\":true,\"description\":\"[OpenVMS Host Option] Specifies the file format of graphic stream files (GSF files). When specified in the FILENAME statement, it affects only the GSF files that are created using that fileref.\",\"help\":\"GSFCC=PRINT | CR | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"PRINT\",\"description\":\"Creates a GSF file. It is a VFC format file with carriage control set to null. These files can be used with most utilities with the exception of some file transfer protocols, such as Kermit. This is the default value for this option.\",\"type\":\"standalone\"},{\"name\":\"CR\",\"description\":\"Creates a carriage return carriage control file.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"Creates a file with no carriage control. This format is useful if you plan to download the file to a personal computer.\",\"type\":\"standalone\"}]},{\"name\":\"GTERM\",\"optional\":true,\"description\":\"[device-type] Indicates that the output device type is a graphics device that will receive graphics data.\",\"type\":\"standalone\"},{\"name\":\"HEADER=\",\"optional\":true,\"description\":\"Defines a statement label that identifies a group of SAS statements that you want to execute each time SAS begins a new output page\",\"type\":\"value\"},{\"name\":\"HFS\",\"optional\":true,\"description\":\"[type] For UNIX System Services files.\",\"type\":\"standalone\"},{\"name\":\"HOTLINK\",\"optional\":true,\"description\":\"[Windows Host Option] Instructs SAS to use the DDE HOTLINK.\",\"type\":\"standalone\"},{\"name\":\"IGNOREDOSEOF\",\"optional\":true,\"description\":\"[Windows Host Option] Is used in the context of I/O operations on variable record format files. When this option is specified, any occurrence of ^Z is interpreted as character data and not as an end-of-file marker.\",\"type\":\"standalone\"},{\"name\":\"JFCB=\",\"optional\":true,\"description\":\"Defines a character variable (minimum length 176) that SAS sets to the Job File Control Block (JFCB).\",\"help\":\"JFCB=*variable*\",\"type\":\"value\"},{\"name\":\"KEY=\",\"optional\":true,\"description\":\"[OpenVMS Host Option] Specifies which key SAS uses to read the records in an RMS file with indexed organization. The KEY= option is always used with the KEYVALUE= option.\",\"type\":\"value\"},{\"name\":\"KEYLEN=\",\"optional\":true,\"description\":\"Specifies a numeric SAS variable that, when used with GENKEY, specifies the length of the key that is to be compared to the keys in the file.\",\"help\":\"KEYLEN=*variable*\",\"type\":\"value\"},{\"name\":\"KEYPOS=\",\"optional\":true,\"description\":\"Indicates the numeric variable that SAS sets to the position of the VSAM key field. This option enables you to read keys without knowing the key position in advance. This variable is set to the column number (starting from 1).\",\"help\":\"KEYPOS=*variable*\",\"type\":\"value\"},{\"name\":\"KEYVALUE=\",\"optional\":true,\"description\":\"[OpenVMS Host Option] Specifies the key value with which to begin reading an indexed file.\",\"type\":\"value\"},{\"name\":\"LINE=\",\"optional\":true,\"description\":\"Defines a variable whose value is the current relative line number within the group of lines available to the output pointer.\",\"type\":\"value\"},{\"name\":\"LINESIZE=\",\"optional\":true,\"aliases\":[\"LS=\"],\"description\":\"Sets the maximum number of columns per line for reports and the maximum record length for data files.\",\"type\":\"value\"},{\"name\":\"LINESLEFT=\",\"optional\":true,\"aliases\":[\"LL=\"],\"description\":\"Defines a variable whose value is the number of lines left on the current page.\",\"type\":\"value\"},{\"name\":\"LOG\",\"optional\":true,\"description\":\"Is a reserved fileref that directs the output that is produced by any PUT statements to the SAS log.\",\"type\":\"standalone\"},{\"name\":\"LRECL=\",\"optional\":true,\"description\":\"Specifies the logical record length of the output file.\",\"type\":\"value\"},{\"name\":\"MBC=\",\"optional\":true,\"description\":\"[OpenVMS Host Option] Specifies the size of the I/O buffers that OpenVMS RMS allocates for a particular file. The value can range from 0 to 127 and represents the number of blocks used for each buffer. By default, this option is set to 0 and the default values for the process are used. The MBC= option (multiblock count) is used for both input and output to control the allocation for a particular file. If you want to control the allocation size for all the external files used during the current SAS session, you can use the MBC= option in every FILE, FILENAME, or INFILE statement. You can also use the DCL SET RMS_DEFAULT command to specify a process default, and let the SAS values default to the process's default values.\",\"type\":\"value\"},{\"name\":\"MBF=\",\"optional\":true,\"description\":\"[OpenVMS Host Option] Specifies the number of I/O buffers you want OpenVMS RMS to allocate for a particular file. The value can range from 0 to 127 and represents the number of buffers used. By default, this option is set to a value of 2. If a value of 0 is specified, the default value for the process is used. The MBF= option (multibuffer count) is used for both input and output to control the number of buffers allocated for a particular file. If you want to control the number of buffers allocated for all the external files used during the SAS session, you can use the MBF= option in every FILE, FILENAME, or INFILE statement. The DCL SET RMS_DEFAULT command can be used to specify a process default. Then, you can let the SAS values default to the process's default values.\",\"type\":\"value\"},{\"name\":\"MESSAGE\",\"optional\":true,\"description\":\"Is used only in the context of named pipes. This option indicates the type of pipe. BYTE is the default value.\",\"type\":\"standalone\"},{\"name\":\"MOD\",\"optional\":true,\"description\":\"Writes the output lines after any existing lines in the file.\",\"type\":\"standalone\"},{\"name\":\"MVS\",\"optional\":true,\"description\":\"[type] For z/OS data sets.\",\"type\":\"standalone\"},{\"name\":\"N=\",\"optional\":true,\"description\":\"Specifies the number of lines that you want available to the output pointer in the current iteration of the DATA step.\",\"help\":\"N=&lt;*n*&gt; | PAGESIZE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"n\",\"placeholder\":true,\"description\":\"Specifies the number of lines that are available to the output pointer. Replace n with an integer.\",\"type\":\"value\"},{\"name\":\"PAGESIZE\",\"aliases\":[\"PS\"],\"description\":\"Specifies that the entire page is available to the output pointer.\",\"type\":\"standalone\"}]},{\"name\":\"NOBLOCK\",\"optional\":true,\"description\":\"Is used only in the context of named pipes. This option indicates whether the client is to wait if no data is currently available. BLOCK is the default value.\",\"type\":\"standalone\"},{\"name\":\"NOBOM\",\"optional\":true,\"aliases\":[\"NOBOMFILE\"],\"description\":\"[UNIX/z/OS Host Option] Specifies that a Byte Order Mark is not included when a UNICODE-encoded file is created.\",\"type\":\"standalone\"},{\"name\":\"NOFOOTNOTES\",\"optional\":true,\"aliases\":[\"NOFOOTNOTE\"],\"description\":\"Specifies that the currently defined footnotes are not printed.\",\"type\":\"standalone\"},{\"name\":\"NOPAD\",\"optional\":true,\"description\":\"Specifies that records written to an external file are not padded with blanks to the length that is specified in the LRECL= option.\",\"type\":\"standalone\"},{\"name\":\"NOPRINT\",\"optional\":true,\"description\":\"Specifies that carriage-control characters are placed in the output lines.\",\"type\":\"standalone\"},{\"name\":\"NOTAB\",\"optional\":true,\"description\":\"[Windows Host Option] Instructs SAS to ignore tab characters between variables.\",\"type\":\"standalone\"},{\"name\":\"NOTITLES\",\"optional\":true,\"aliases\":[\"NOTITLE\"],\"description\":\"Specifies that the current title lines are not printed on the pages of files.\",\"type\":\"standalone\"},{\"name\":\"ODS=\",\"optional\":true,\"description\":\"Specifies to use the Output Delivery System to format the output from a DATA step.\",\"type\":\"value\"},{\"name\":\"OLD\",\"optional\":true,\"description\":\"Replaces the previous contents of the file.\",\"type\":\"standalone\"},{\"name\":\"PAD\",\"optional\":true,\"description\":\"Specifies that records written to an external file are padded with blanks to the length that is specified in the LRECL= option.\",\"type\":\"standalone\"},{\"name\":\"PAGESIZE=\",\"optional\":true,\"aliases\":[\"PS=\"],\"description\":\"Sets the number of lines per page for your reports.\",\"help\":\"PAGESIZE=*value*\",\"type\":\"value\"},{\"name\":\"PASSWD=\",\"optional\":true,\"description\":\"Gives the appropriate password for a VSAM data set that has password protection.\",\"help\":\"PASSWD=*value*\",\"type\":\"value\"},{\"name\":\"PIPE\",\"optional\":true,\"description\":\"[device-type] Specifies an unnamed pipe. Note: Some operating environments do not support pipes.\",\"type\":\"standalone\"},{\"name\":\"PLOTTER\",\"optional\":true,\"description\":\"[device-type] Specifies an unbuffered graphics output device.\",\"type\":\"standalone\"},{\"name\":\"PRINT\",\"optional\":true,\"description\":\"Either a reserved fileref that directs the output that is produced by any PUT statements to the same file as the output that is produced by SAS procedures, or an option that specifies that carriage-control characters are placed in the output lines.\",\"type\":\"standalone\"},{\"name\":\"PRINTER\",\"optional\":true,\"description\":\"[device-type] Specifies a printer or printer spool file.\",\"type\":\"standalone\"},{\"name\":\"RC4STOP\",\"optional\":true,\"description\":\"[VSAM Option] Stops the DATA step from executing if a return code greater than 4 is returned by the operating environment when the VSAM data set is opened.\",\"type\":\"standalone\"},{\"name\":\"RECFM=\",\"optional\":true,\"description\":\"[Windows/UNIX/z/OS Host Option] Specifies the record format of the external file. Under z/OS, the following values can be appended to the RECFM values:\",\"help\":\"RECFM=F | P | S | V | N | s370V | S370VB | S370VBS | STREAMLF | FB | VB | U\",\"type\":\"choice\",\"arguments\":[{\"name\":\"F\",\"description\":\"Fixed-record format\",\"type\":\"standalone\"},{\"name\":\"P\",\"description\":\"Print format.\",\"type\":\"standalone\"},{\"name\":\"S\",\"description\":\"Stream-record format.\",\"type\":\"standalone\"},{\"name\":\"V\",\"aliases\":[\"D\"],\"description\":\"Variable-record format (the default)\",\"type\":\"standalone\"},{\"name\":\"N\",\"description\":\"Indicates binary format and causes the file to be treated as a byte stream. If LRECL is not specified, by default SAS reads 256 bytes at a time from the file.\",\"type\":\"standalone\"},{\"name\":\"s370V\",\"description\":\"Indicates the variable S370 record format (V).\",\"type\":\"standalone\"},{\"name\":\"S370VB\",\"description\":\"Indicates the variable block S370 record format (VB).\",\"type\":\"standalone\"},{\"name\":\"S370VBS\",\"description\":\"Indicates the variable block with spanned records S370 record format (VBS).\",\"type\":\"standalone\"},{\"name\":\"STREAMLF\",\"description\":\"[For OpenVMS] Specifies StreamLF record format. Records are delimited by LF.\",\"type\":\"standalone\"},{\"name\":\"FB\",\"description\":\"Specifies fixed-length records, blocked.\",\"type\":\"standalone\"},{\"name\":\"VB\",\"description\":\"Specifies variable-length records, blocked.\",\"type\":\"standalone\"},{\"name\":\"U\",\"description\":\"Specifies undefined-length records, unblocked.\",\"type\":\"standalone\"}]},{\"name\":\"RECORDS=\",\"optional\":true,\"description\":\"Defines a numeric variable that SAS sets to the number of logical records in a VSAM data set that has been opened for input.\",\"help\":\"RECORDS=*variable*\",\"type\":\"value\"},{\"name\":\"RECORG=\",\"optional\":true,\"description\":\"[z/OS Host Option] Specifies the organization of records in a new VSAM data set. Use this option only if SMS is active.\",\"help\":\"RECORG=KS | ES | RR | LS\",\"type\":\"choice\",\"arguments\":[{\"name\":\"KS\",\"description\":\"Specifies a VSAM key-sequenced data set.\",\"type\":\"standalone\"},{\"name\":\"ES\",\"description\":\"Specifies a VSAM entry-sequenced data set.\",\"type\":\"standalone\"},{\"name\":\"RR\",\"description\":\"Specifies a VSAM relative-record data set.\",\"type\":\"standalone\"},{\"name\":\"LS\",\"description\":\"Specifies a VSAM linear-space data set.\",\"type\":\"standalone\"}]},{\"name\":\"RESET\",\"optional\":true,\"description\":\"[VSAM Option] Indicates that the VSAM file is reset to empty (no records) when it is opened. This option applies only to loading a VSAM data set that has been marked REUSE. You cannot use this option if the data set contains an alternate index.\",\"type\":\"standalone\"},{\"name\":\"RETRY=\",\"optional\":true,\"description\":\"[Windows Host Option]\",\"help\":\"RETRY=*seconds*\",\"type\":\"value\"},{\"name\":\"RRN=\",\"optional\":true,\"description\":\"Defines a numeric variable that you set to the relative record number (RRN) of the record that you want to read or write. This option indicates that keyed direct access is being used; it is appropriate for RRDS only.\",\"help\":\"RRN=*variable*\",\"type\":\"value\"},{\"name\":\"SERVER\",\"optional\":true,\"description\":\"[Windows Host Option] Is used only in the context of named pipes. This option specifies the mode of a named pipe. The default value is SERVER.\",\"type\":\"standalone\"},{\"name\":\"SHR=\",\"optional\":true,\"description\":\"[OpenVMS Host Option] Overrides the default file-sharing attributes used for external files. With this option, you can indicate the access level you want to give other users. You can allow READ, WRITE, UPDATE, and DELETE access (as well as no access). By default with external files, files opened for input allow shared read access, and files opened for output or UPDATE do not allow shared access. However, you can allow other users to have READ and WRITE access to a file that you are opening for input only. To accomplish this, use the SHR= option. The syntax of the SHR= option is SHR=share-option-list where share-option-list can be one of the following: DEL specifies DELETE access. GET specifies shared READ access. NONE specifies no shared access. PUT specifies shared WRITE access. UPD specifies UPDATE access. You can combine these values in any order. For example, specifying the following indicates that you want shared DELETE, READ, and WRITE access:\",\"type\":\"value\"},{\"name\":\"STOPOVER\",\"optional\":true,\"description\":\"Stops processing the DATA step immediately if a PUT statement attempts to write a data item that exceeds the current line length.\",\"type\":\"standalone\"},{\"name\":\"TAPE\",\"optional\":true,\"description\":\"[device-type] Specifies a tape drive.\",\"type\":\"standalone\"},{\"name\":\"TEMP\",\"optional\":true,\"description\":\"[device-type] Creates a temporary file that exists only as long as the filename is assigned.\",\"type\":\"standalone\"},{\"name\":\"TERMINAL\",\"optional\":true,\"description\":\"[device-type] Specifies the user's terminal.\",\"type\":\"standalone\"},{\"name\":\"TERMSTR=\",\"optional\":true,\"description\":\"[Windows/UNIX Host Option] Specifies the end-of-line character for the file. Use this option to share files between the UNIX and Windows operating environments.\",\"help\":\"TERMSTR=CR | CRLF | LF | NULL | NONE | NL | LFCR | CRNL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"CR\",\"description\":\"Carriage return (CR).\",\"type\":\"standalone\"},{\"name\":\"CRLF\",\"description\":\"Carriage return (CR) followed by line feed (LF).\",\"type\":\"standalone\"},{\"name\":\"LF\",\"description\":\"Line feed only (the default).\",\"type\":\"standalone\"},{\"name\":\"NULL\",\"description\":\"NULL character (0x00).\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"Record terminators are not used. This parameter provides the same function as FILEDATA=BINARY.\",\"type\":\"standalone\"},{\"name\":\"NL\",\"description\":\"The newline character (x'15') is used as the record terminator. This parameter provides the same function as FILEDATA=TEXT.\",\"type\":\"standalone\"},{\"name\":\"LFCR\",\"description\":\"The sequence LF followed by CR is used as the record terminator.\",\"type\":\"standalone\"},{\"name\":\"CRNL\",\"description\":\"The sequence CR followed by NL is used as the record terminator.\",\"type\":\"standalone\"}]},{\"name\":\"TITLES\",\"optional\":true,\"aliases\":[\"TITLE\"],\"description\":\"Specifies that the current title lines are printed on the pages of files.\",\"type\":\"standalone\"},{\"name\":\"UCBNAME=\",\"optional\":true,\"description\":\"Defines a character variable (minimum length 3) that SAS sets to the unit name (device address), which is derived from information in the unit control block (UCB).\",\"help\":\"UCBNAME=*variable*\",\"type\":\"value\"},{\"name\":\"UNBUF\",\"optional\":true,\"description\":\"[UNIX Host Option] Tells SAS not to perform buffered writes to the file on any subsequent FILE statement. This option applies especially when you are reading from or writing to a data collection device. As explained in SAS Language Reference: Dictionary, it also prevents buffered reads on INFILE statements.\",\"type\":\"standalone\"},{\"name\":\"UPRINTER\",\"optional\":true,\"description\":\"[device-type] Specifies a Universal Printing printer definition name.\",\"type\":\"standalone\"},{\"name\":\"VOLUME=\",\"optional\":true,\"aliases\":[\"VOLUMES=\"],\"description\":\"Defines a character variable (with a minimum length of six characters) that SAS sets to the tape VOLSER or the disk volume serial number. In the case of a multivolume file, the VOLUME= variable contains the concatenated volume serial numbers up to the length of the variable or the first 30 volumes, whichever is less. The value in the VOLUME= variable contains the volume serial number of the first data set in the concatenation when the file is opened. This serial number changes if you open a subsequent data set in the concatenation.\",\"type\":\"value\"},{\"name\":\"VSAM\",\"optional\":true,\"description\":\"[type] For VSAM files.\",\"type\":\"standalone\"},{\"name\":\"_FILE_=\",\"optional\":true,\"description\":\"Names a character variable that references the current output buffer of this FILE statement.\",\"help\":\"_FILE_=*variable*\",\"type\":\"value\"}]},{\"name\":\"FORMAT\",\"description\":\"Associates formats with variables.\",\"help\":\"FORMAT &lt;DEFAULT=default-format&gt;\",\"arguments\":[{\"name\":\"DEFAULT=\",\"optional\":true,\"description\":\"Specifies a temporary default format for displaying the values of variables that are not listed in the FORMAT statement. These default formats apply only to the current DATA step; they are not permanently associated with variables in the output data set. A DEFAULT= format specification applies to o variables that are not named in a FORMAT or ATTRIB statement o variables that are not permanently associated with a format within a SAS data set o variables that are not written with the explicit use of a format. Default: If you omit DEFAULT=, SAS uses BESTw. as the default numeric format and $w. as the default character format. Restriction: Use this option only in a DATA step.\",\"help\":\"DEFAULT=*default-format*\",\"type\":\"value\"}]},{\"name\":\"GO TO\",\"aliases\":[\"GOTO\"],\"description\":\"Jumps to a new statement.\",\"help\":\"GO TO label \"},{\"name\":\"IF\",\"description\":\"Continues processing only those observations that meet the condition of the specified expression.\",\"help\":\"IF &lt;DO&gt;&lt;THEN&gt;&lt;WHEN&gt; ...\",\"arguments\":[{\"name\":\"AND\",\"optional\":true,\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"CALL\",\"optional\":true,\"description\":\"Invokes a SAS CALL routine.\",\"type\":\"standalone\"},{\"name\":\"DO\",\"optional\":true,\"description\":\"Action statement in an IF-THEN construct.\",\"type\":\"standalone\"},{\"name\":\"GO\",\"optional\":true,\"aliases\":[\"GOTO\"],\"description\":\"Jumps to a new statement.\",\"help\":\"GO TO\",\"type\":\"standalone\"},{\"name\":\"NOT\",\"optional\":true,\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"OR\",\"optional\":true,\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"OUTPUT\",\"optional\":true,\"description\":\"Action statement in an IF-THEN construct.\",\"type\":\"standalone\"},{\"name\":\"PUT\",\"optional\":true,\"description\":\"Action statement in an IF-THEN construct.\",\"type\":\"standalone\"},{\"name\":\"RETURN\",\"optional\":true,\"description\":\"Action statement in an IF-THEN construct. Stops executing statements at the current point in the DATA step and returns to a predetermined point in the step.\",\"type\":\"standalone\"},{\"name\":\"SET\",\"optional\":true,\"description\":\"Reads an observation from one or more SAS data sets.\",\"type\":\"standalone\"},{\"name\":\"STOP\",\"optional\":true,\"description\":\"Action statement in an IF-THEN construct. Stops execution of the current DATA step.\",\"type\":\"standalone\"},{\"name\":\"THEN\",\"optional\":true,\"description\":\"If the conditions that are specified in the IF clause are met, the IF-THEN statement executes a SAS statement for observations that are read from a SAS data set, for records in an external file, or for computed values.\",\"type\":\"standalone\"},{\"name\":\"WHEN\",\"optional\":true,\"description\":\"WHEN statement in an IF-THEN-WHEN construct.\",\"type\":\"standalone\"}]},{\"name\":\"INFILE\",\"description\":\"file-specification identifies a file in one of the following forms: fileref specifies the assigned fileref or the allocated ddname of the file. A fileref must conform to the rules for ddnames. That is, it can consist of up to eight letters, numbers, or national characters ($, @, and #) and underscores (_). The first character must be either a letter or a national character. fileref(member) specifies a member of a partitioned data set, where the PDS or PDSE is specified by the assigned fileref or allocated ddname. If you specify a fileref that is not allocated, then SAS attempts to construct a data set name with the following three qualifiers: o the value of the SYSPREF= option (usually the user ID) o the specified fileref o DATA If a file is found that has this constructed data set name, then SAS opens it and reads it. The value of the FILEEXT= system option can affect the way SAS interprets PDS and PDSE member names. 'physical-filename' specifies a physical file, which can be a member of a partitioned data set (PDS), an extended partitioned data set (PDSE), or a UNIX System Services file, using the following syntax: o a fully qualified data set name. For example: 'myid.raw.datax' o a fully qualified data set name with a member in parentheses. For example: 'sas.raw.data(mem1)' o a partially qualified data set name with a period preceding it. For example: '.raw.data' o a partially qualified data set name with a period preceding it and a member name in parentheses. For example: '.raw.data(mem1)' o for PDS members, a fully or partially qualified data set name with a wildcard name in parentheses. For example: '.raw.data(mem*)', '.raw.data(*mem1)', '.raw.data(*)' o a UNIX System Services file. For example: '/u/userid/raw' or 'HFS:raw' or '/u/userid/data/*'\",\"help\":\"INFILE &lt;DATALINES4&gt;&lt;DATALINES&gt;&lt;DISK&gt; ...\",\"arguments\":[{\"name\":\"BACKWARD\",\"optional\":true,\"aliases\":[\"BKWD\"],\"description\":\"[VSAM Option] Causes SAS to read the VSAM data set backwards (INFILE only)\",\"type\":\"standalone\"},{\"name\":\"BLKSIZE=\",\"optional\":true,\"aliases\":[\"BLK=\"],\"description\":\"[Windows/UNIX Host Option] Specifies the number of bytes that are physically read or written in an I/O operation. The default is 8K. The maximum is 1M (Windows) or 1G-1(UNIX).\",\"help\":\"BLKSIZE=*block-size*\",\"type\":\"value\"},{\"name\":\"BLOCK\",\"optional\":true,\"description\":\"Is used only in the context of named pipes. This option indicates whether the client is to wait if no data is currently available. BLOCK is the default value.\",\"type\":\"standalone\"},{\"name\":\"BUFND=\",\"optional\":true,\"description\":\"Indicates how many data buffers to use for the VSAM data set.\",\"help\":\"BUFND=*value*\",\"type\":\"value\"},{\"name\":\"BUFNI=\",\"optional\":true,\"description\":\"Indicates how many index buffers to use for the VSAM data set.\",\"help\":\"BUFNI=*value*\",\"type\":\"value\"},{\"name\":\"BYTE\",\"optional\":true,\"description\":\"Is used only in the context of named pipes. This option indicates the type of pipe. BYTE is the default value.\",\"type\":\"standalone\"},{\"name\":\"CCHHR=\",\"optional\":true,\"description\":\"specifies a character variable to which the physical address (cylinder head record) of a record is returned. This applies to files on CKD disks only.\",\"help\":\"CCHHR=*variable*\",\"type\":\"value\"},{\"name\":\"CLIENT\",\"optional\":true,\"description\":\"[Windows Host Option] Is used only in the context of named pipes. This option specifies the mode of a named pipe. The default value is SERVER.\",\"type\":\"standalone\"},{\"name\":\"CLOSE=\",\"optional\":true,\"description\":\"[z/OS Host Option] Indicates how a tape volume is positioned at the end of the DATA step.\",\"help\":\"CLOSE=REREAD | LEAVE | REWIND | FREE | DISP\",\"type\":\"choice\",\"arguments\":[{\"name\":\"REREAD\",\"description\":\"Positions the tape at the logical beginning of the data set.\",\"type\":\"standalone\"},{\"name\":\"LEAVE\",\"description\":\"Positions the tape at the logical end of the data set.\",\"type\":\"standalone\"},{\"name\":\"REWIND\",\"description\":\"Rewinds the tape to the physical beginning of the volume.\",\"type\":\"standalone\"},{\"name\":\"FREE\",\"description\":\"Dynamically deallocates the tape volume.\",\"type\":\"standalone\"},{\"name\":\"DISP\",\"description\":\"Is implied by the control language.\",\"type\":\"standalone\"}]},{\"name\":\"COLUMN=\",\"optional\":true,\"aliases\":[\"COL=\"],\"description\":\"Names a variable that SAS uses to assign the current column location of the input pointer. Like automatic variables, the COLUMN= variable is not written to the data set.\",\"type\":\"value\"},{\"name\":\"CONTROLINTERVAL\",\"optional\":true,\"aliases\":[\"CTLINTV\",\"CNV\"],\"description\":\"[VSAM Option] Indicates that you want to read physical VSAM control interval records rather than logical records. This option is typically used for diagnostic purposes (INFILE only).\",\"type\":\"standalone\"},{\"name\":\"CSRC\",\"optional\":true,\"description\":\"[OpenVMS Host Option] Specifies that you want to use the CSRCESRV services (available with z/OS) to compress data on output. For example: data _null_; file myfile csrc; put ... ; run;\",\"type\":\"standalone\"},{\"name\":\"CVAF\",\"optional\":true,\"description\":\"[VTOC Option under z/OS] Tells SAS to use the Common VTOC Access Facility (CVAF) of the IBM program product Data Facility/Device Support (DF/DS) for indexed VTOCs. If the VTOC is not indexed, or if your installation does not have CVAF, this option is ignored.\",\"type\":\"standalone\"},{\"name\":\"DATALINES4\",\"optional\":true,\"aliases\":[\"CARDS4\"],\"description\":\"Specifies that the input data immediately follows the DATALINES4|CARDS4 statement in the DATA step. Using DATALINES4|CARDS4 allows you to use the INFILE statement options to control how the INPUT statement reads instream data lines.\",\"type\":\"standalone\"},{\"name\":\"DATALINES\",\"optional\":true,\"aliases\":[\"CARDS\"],\"description\":\"Specifies that the input data immediately follows the DATALINES|CARDS statement in the DATA step. Using DATALINES|CARDS allows you to use the INFILE statement options to control how the INPUT statement reads instream data lines.\",\"type\":\"standalone\"},{\"name\":\"DCB=\",\"optional\":true,\"description\":\"specifies the fileref of an external file that was referenced in an earlier FILE or INFILE statement in the same DATA step. SAS uses that file's RECFM=, LRECL=, and BLKSIZE= information for the current file.\",\"help\":\"DCB=*fileref*\",\"type\":\"value\"},{\"name\":\"DELIMITER=\",\"optional\":true,\"aliases\":[\"DLM=\"],\"description\":\"Specifies an alternate delimiter (other than a blank) to be used for LIST input.\",\"type\":\"value\"},{\"name\":\"DISK\",\"optional\":true,\"description\":\"[device-type] Specifies that the device is a disk drive.\",\"type\":\"standalone\"},{\"name\":\"DLI\",\"optional\":true,\"description\":\"[type] For IMS-DL/I databases.\",\"type\":\"standalone\"},{\"name\":\"DLMSOPT=\",\"optional\":true,\"description\":\"Specifies whether case-insensitive comparisons will be done, or trailing blanks of the string delimiter will be removed.\",\"help\":\"DLMSOPT='I' | 'T'\",\"type\":\"choice\",\"arguments\":[{\"name\":\"'I'\",\"description\":\"Specifies that case-insensitive comparisons will be done.\",\"type\":\"standalone\"},{\"name\":\"'T'\",\"description\":\"Specifies that trailing blanks of the string delimiter will be removed.\",\"type\":\"standalone\"}]},{\"name\":\"DLMSTR=\",\"optional\":true,\"description\":\"Specifies a character string as an alternate delimiter (other than a blank) to be used for LIST input\",\"type\":\"value\"},{\"name\":\"DSD\",\"optional\":true,\"description\":\"Specifies that when data values are enclosed in quotation marks, delimiters within the value are treated as character data. The DSD option changes how SAS treats delimiters when you use LIST input and sets the default delimiter to a comma. When you specify DSD, SAS treats two consecutive delimiters as a missing value and removes quotation marks from character values.\",\"type\":\"standalone\"},{\"name\":\"DUMMY\",\"optional\":true,\"description\":\"[device-type] Specifies that the output to the file is discarded. Tip: Specifying DUMMY can be useful for testing.\",\"type\":\"standalone\"},{\"name\":\"ENCODING=\",\"optional\":true,\"description\":\"Specifies the encoding to use when reading from the external file.\",\"help\":\"ENCODING='warabic' | 'wbaltic' | 'wlatin2' | 'wcyrillic' | 'wgreek' | 'whebrew' | 'wturkish' | 'wvietnamese' | 'wlatin1' | 'utf-8' | 'ms-950' | 'ms-936' | 'ms-932' | 'ms-949'\",\"type\":\"choice\",\"arguments\":[{\"name\":\"'warabic'\",\"description\":\"Arabic\",\"type\":\"standalone\"},{\"name\":\"'wbaltic'\",\"description\":\"Baltic\",\"type\":\"standalone\"},{\"name\":\"'wlatin2'\",\"description\":\"Central Europe\",\"type\":\"standalone\"},{\"name\":\"'wcyrillic'\",\"description\":\"Cyrillic\",\"type\":\"standalone\"},{\"name\":\"'wgreek'\",\"description\":\"Greek\",\"type\":\"standalone\"},{\"name\":\"'whebrew'\",\"description\":\"Hebrew\",\"type\":\"standalone\"},{\"name\":\"'wturkish'\",\"description\":\"Turkish\",\"type\":\"standalone\"},{\"name\":\"'wvietnamese'\",\"description\":\"Vietnamese\",\"type\":\"standalone\"},{\"name\":\"'wlatin1'\",\"description\":\"Western\",\"type\":\"standalone\"},{\"name\":\"'utf-8'\",\"description\":\"Unicode encoding\",\"type\":\"standalone\"},{\"name\":\"'ms-950'\",\"description\":\"Traditional Chinese\",\"type\":\"standalone\"},{\"name\":\"'ms-936'\",\"description\":\"Simplified Chinese\",\"type\":\"standalone\"},{\"name\":\"'ms-932'\",\"description\":\"Japanese\",\"type\":\"standalone\"},{\"name\":\"'ms-949'\",\"description\":\"Korean\",\"type\":\"standalone\"}]},{\"name\":\"END=\",\"optional\":true,\"description\":\"Specifies a variable that SAS sets to 1 when the current input data record is the last in the input file. Until SAS processes the last data record, the END= variable is set to 0. Like automatic variables, this variable is not written to the data set. Restriction: You cannot use the END= option with UNBUFFERED option, DATALINES or DATALINES4 statement, and an INPUT statement that reads multiple input data records.\",\"type\":\"value\"},{\"name\":\"EOF=\",\"optional\":true,\"description\":\"Specifies a statement label that is the object of an implicit GO TO when the INFILE statement reaches end of file.\",\"type\":\"value\"},{\"name\":\"EOFCONNECT\",\"optional\":true,\"description\":\"[Windows Host Option] Is used only in the context of named pipes and is valid only when you are defining the server. This option indicates that if an end-of-file (EOF) character is received from a client, the server should try to connect to the next client.\",\"type\":\"standalone\"},{\"name\":\"EOV=\",\"optional\":true,\"description\":\"Specifies a variable that SAS sets to 1 when the first record in a file in a series of concatenated files is read.\",\"type\":\"value\"},{\"name\":\"ERASE=\",\"optional\":true,\"description\":\"Defines a numeric SAS variable that you must set to 1 when you want to erase a VSAM record (INFILE only).\",\"help\":\"ERASE=*variable*\",\"type\":\"value\"},{\"name\":\"EXPANDTABS\",\"optional\":true,\"description\":\"Specifies to expand tab characters to the standard tab setting, which is set at 8-column intervals that start at column 9.\",\"type\":\"standalone\"},{\"name\":\"FAC=\",\"optional\":true,\"description\":\"[OpenVMS Host Option] Overrides the default file access attributes used for external files. Use this option to indicate the level of access you want to allow for an external file. You can allow READ, WRITE, UPDATE, and DELETE access (as well as no access). By default with external files, files opened for input allow read access, files opened for output allow WRITE access, and files opened for update allow READ and WRITE access. The form of the FAC= option is FAC=access-option-list where access-option-list can be one of the following: DEL specifies DELETE access. GET specifies READ access. PUT specifies WRITE access. UPD specifies UPDATE access. You can combine these values in any order. For example, specifying the following indicates that you want DELETE, READ, and WRITE access:\",\"type\":\"value\"},{\"name\":\"FEEDBACK=\",\"optional\":true,\"aliases\":[\"FDBK=\"],\"description\":\"Defines a numeric variable that SAS sets to the VSAM logical error code. This option is similar to the _FDBK_ automatic variable. When SAS sets the FEEDBACK variable, you must reset it to 0 in order to continue.\",\"type\":\"value\"},{\"name\":\"FILEDATA=\",\"optional\":true,\"description\":\"[UNIX/z/OS Host Option] The FILEDATA= option specifies that the file being processed is expected to contain either binary or text data.\",\"help\":\"FILEDATA=BINARY | TEXT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"BINARY\",\"description\":\"The FILEDATA= option specifies that the file being processed is expected to contain binary data.\",\"type\":\"standalone\"},{\"name\":\"TEXT\",\"description\":\"The FILEDATA= option specifies that the file being processed is expected to contain text data.\",\"type\":\"standalone\"}]},{\"name\":\"FILENAME=\",\"optional\":true,\"description\":\"Specifies a variable that SAS sets to the physical StatementOptionName of the currently opened input file. Like automatic variables, the FILENAME= variable is not written to the data set.\",\"type\":\"value\"},{\"name\":\"FILEVAR=\",\"optional\":true,\"description\":\"Specifies a variable whose change in value causes the INFILE statement to close the current input file and open a new one.\",\"type\":\"value\"},{\"name\":\"FIRSTOBS=\",\"optional\":true,\"description\":\"Specifies a record number that SAS uses to begin reading input data records in the input file.\",\"type\":\"value\"},{\"name\":\"FLOWOVER\",\"optional\":true,\"description\":\"Causes an INPUT statement to continue to read the next input data record if it does not find values in the current input line for all the variables in the statement.\",\"type\":\"standalone\"},{\"name\":\"GENKEY\",\"optional\":true,\"description\":\"[VSAM Option] Causes SAS to use the KEY= variable as the leading portion of a record's key. VSAM retrieves the first record whose key matches the generic key (INFILE only).\",\"type\":\"standalone\"},{\"name\":\"GTERM\",\"optional\":true,\"description\":\"[device-type] Indicates that the output device type is a graphics device that will receive graphics data.\",\"type\":\"standalone\"},{\"name\":\"HFS\",\"optional\":true,\"description\":\"[type] For UNIX System Services files.\",\"type\":\"standalone\"},{\"name\":\"HOTLINK\",\"optional\":true,\"description\":\"[Windows Host Option] Instructs SAS to use the DDE HOTLINK.\",\"type\":\"standalone\"},{\"name\":\"IDMS\",\"optional\":true,\"description\":\"[type] For CA-IDMS files.\",\"type\":\"standalone\"},{\"name\":\"IGNOREDOSEOF\",\"optional\":true,\"description\":\"[Windows Host Option] Is used in the context of I/O operations on variable record format files. When this option is specified, any occurrence of ^Z is interpreted as character data and not as an end-of-file marker.\",\"type\":\"standalone\"},{\"name\":\"ISAM\",\"optional\":true,\"description\":\"[type] For ISAM files.\",\"type\":\"standalone\"},{\"name\":\"KEY=\",\"optional\":true,\"description\":\"[OpenVMS Host Option] Specifies which key SAS uses to read the records in an RMS file with indexed organization. The KEY= option is always used with the KEYVALUE= option.\",\"type\":\"value\"},{\"name\":\"KEYLEN=\",\"optional\":true,\"description\":\"Specifies a numeric SAS variable that, when used with GENKEY, specifies the length of the key that is to be compared to the keys in the file.\",\"help\":\"KEYLEN=*variable*\",\"type\":\"value\"},{\"name\":\"KEYPOS=\",\"optional\":true,\"description\":\"Indicates the numeric variable that SAS sets to the position of the VSAM key field. This option enables you to read keys without knowing the key position in advance. This variable is set to the column number (starting from 1).\",\"help\":\"KEYPOS=*variable*\",\"type\":\"value\"},{\"name\":\"KEYVALUE=\",\"optional\":true,\"description\":\"[OpenVMS Host Option] Specifies the key value with which to begin reading an indexed file.\",\"type\":\"value\"},{\"name\":\"LENGTH=\",\"optional\":true,\"description\":\"Specifies a variable that SAS sets to the length of the current input line.\",\"type\":\"value\"},{\"name\":\"LINE=\",\"optional\":true,\"description\":\"Specifies a variable that SAS sets to the line location of the input pointer in the input buffer. Like automatic variables, the LINE= variable is not written to the data set.\",\"type\":\"value\"},{\"name\":\"LINESIZE=\",\"optional\":true,\"aliases\":[\"LS=\"],\"description\":\"Specifies the record length that is available to the INPUT statement.\",\"type\":\"value\"},{\"name\":\"LRECL=\",\"optional\":true,\"description\":\"Specifies the logical record length.\",\"type\":\"value\"},{\"name\":\"MBC=\",\"optional\":true,\"description\":\"[OpenVMS Host Option] Specifies the size of the I/O buffers that OpenVMS RMS allocates for a particular file. The value can range from 0 to 127 and represents the number of blocks used for each buffer. By default, this option is set to 0 and the default values for the process are used. The MBC= option (multiblock count) is used for both input and output to control the allocation for a particular file. If you want to control the allocation size for all the external files used during the current SAS session, you can use the MBC= option in every FILE, FILENAME, or INFILE statement. You can also use the DCL SET RMS_DEFAULT command to specify a process default, and let the SAS values default to the process's default values.\",\"type\":\"value\"},{\"name\":\"MBF=\",\"optional\":true,\"description\":\"[OpenVMS Host Option] Specifies the number of I/O buffers you want OpenVMS RMS to allocate for a particular file. The value can range from 0 to 127 and represents the number of buffers used. By default, this option is set to a value of 2. If a value of 0 is specified, the default value for the process is used. The MBF= option (multibuffer count) is used for both input and output to control the number of buffers allocated for a particular file. If you want to control the number of buffers allocated for all the external files used during the SAS session, you can use the MBF= option in every FILE, FILENAME, or INFILE statement. The DCL SET RMS_DEFAULT command can be used to specify a process default. Then, you can let the SAS values default to the process's default values.\",\"type\":\"value\"},{\"name\":\"MESSAGE\",\"optional\":true,\"description\":\"Is used only in the context of named pipes. This option indicates the type of pipe. BYTE is the default value.\",\"type\":\"standalone\"},{\"name\":\"MISSOVER\",\"optional\":true,\"description\":\"Prevents an INPUT statement from reading a new input data record if it does not find values in the current input line for all the variables in the statement.\",\"type\":\"standalone\"},{\"name\":\"MOD\",\"optional\":true,\"description\":\"Indicates that data written to the file should be appended to the file\",\"type\":\"standalone\"},{\"name\":\"MVS\",\"optional\":true,\"description\":\"[type] For z/OS data sets.\",\"type\":\"standalone\"},{\"name\":\"N=\",\"optional\":true,\"description\":\"Specifies the number of lines that are available to the input pointer at one time.\",\"type\":\"value\"},{\"name\":\"NBYTE=\",\"optional\":true,\"description\":\"Specifies the StatementOptionName of a variable that contains the number of bytes to read from a file when you are reading data in stream record format (RECFM=S in the FILENAME statement).\",\"type\":\"value\"},{\"name\":\"NEW\",\"optional\":true,\"description\":\"Indicates that a new file is to be opened for output. If the file already exists, then it is deleted and re-created.\",\"type\":\"standalone\"},{\"name\":\"NOBLOCK\",\"optional\":true,\"description\":\"Is used only in the context of named pipes. This option indicates whether the client is to wait if no data is currently available. BLOCK is the default value.\",\"type\":\"standalone\"},{\"name\":\"NOEXPANDTABS\",\"optional\":true,\"description\":\"Specifies not to expand tab characters to the standard tab setting, which is set at 8-column intervals that start at column 9.\",\"type\":\"standalone\"},{\"name\":\"NOPAD\",\"optional\":true,\"description\":\"SAS does not pad the records that are read from an external file with blanks to the length that is specified in the LRECL= option.\",\"type\":\"standalone\"},{\"name\":\"NOPRINT\",\"optional\":true,\"description\":\"Specifies that the input file does not contain carriage-control characters.\",\"type\":\"standalone\"},{\"name\":\"NOTAB\",\"optional\":true,\"description\":\"[Windows Host Option] Instructs SAS to ignore tab characters between variables.\",\"type\":\"standalone\"},{\"name\":\"NRLS\",\"optional\":true,\"description\":\"[VSAM Option] Specifies not to use record-level sharing (RLS) to open an RLS-eligible data set (INFILE only).\",\"type\":\"standalone\"},{\"name\":\"OBS=\",\"optional\":true,\"description\":\"Use OBS= with FIRSTOBS= to read a range of records from the middle of a file.\",\"help\":\"OBS=&lt;*record-number*&gt; | MAX\",\"type\":\"choice\",\"arguments\":[{\"name\":\"record-number\",\"placeholder\":true,\"description\":\"Specifies the record number of the last record to read in an input file that is read sequentially.\",\"type\":\"value\"},{\"name\":\"MAX\",\"description\":\"Specifies the maximum number of observations to process, which will be at least as large as the largest signed, 32-bit integer.\",\"type\":\"standalone\"}]},{\"name\":\"OLD\",\"optional\":true,\"description\":\"Indicates that a new file is to be opened for output. If the file already exists, then the previous contents of the file are replaced.\",\"type\":\"standalone\"},{\"name\":\"PAD\",\"optional\":true,\"description\":\"SAS pads the records that are read from an external file with blanks to the length that is specified in the LRECL= option.\",\"type\":\"standalone\"},{\"name\":\"PASSWD=\",\"optional\":true,\"description\":\"Gives the appropriate password for a VSAM data set that has password protection.\",\"help\":\"PASSWD=*value*\",\"type\":\"value\"},{\"name\":\"PIPE\",\"optional\":true,\"description\":\"[device-type] Specifies an unnamed pipe. Note: Some operating environments do not support pipes.\",\"type\":\"standalone\"},{\"name\":\"PLOTTER\",\"optional\":true,\"description\":\"[device-type] Specifies an unbuffered graphics output device.\",\"type\":\"standalone\"},{\"name\":\"PRINT\",\"optional\":true,\"description\":\"Specifies that the input file contains carriage-control characters.\",\"type\":\"standalone\"},{\"name\":\"PRINTER\",\"optional\":true,\"description\":\"[device-type] Specifies a printer or printer spool file.\",\"type\":\"standalone\"},{\"name\":\"RBA=\",\"optional\":true,\"description\":\"Specifies a numeric variable that you set to the relative byte address (RBA) of the data record that you want to read. The RBA= option indicates that addressed direct access is being used; it is appropriate for KSDS and ESDS. If you specify the CONTROLINTERVAL option, you can use the RBA= option to access control records in an RRDS (INFILE only).\",\"help\":\"RBA=*variable*\",\"type\":\"value\"},{\"name\":\"RC4STOP\",\"optional\":true,\"description\":\"[VSAM Option] Stops the DATA step from executing if a return code greater than 4 is returned by the operating environment when the VSAM data set is opened.\",\"type\":\"standalone\"},{\"name\":\"RECFM=\",\"optional\":true,\"description\":\"[Windows/UNIX Host Option] Specifies the record format of the external file.\",\"help\":\"RECFM=F | P | S | V | N | s370V | S370VB | S370VBS | STREAMLF\",\"type\":\"choice\",\"arguments\":[{\"name\":\"F\",\"description\":\"Fixed-record format\",\"type\":\"standalone\"},{\"name\":\"P\",\"description\":\"Print format.\",\"type\":\"standalone\"},{\"name\":\"S\",\"description\":\"Stream-record format.\",\"type\":\"standalone\"},{\"name\":\"V\",\"aliases\":[\"D\"],\"description\":\"Variable-record format (the default)\",\"type\":\"standalone\"},{\"name\":\"N\",\"description\":\"Indicates binary format and causes the file to be treated as a byte stream. If LRECL is not specified, by default SAS reads 256 bytes at a time from the file.\",\"type\":\"standalone\"},{\"name\":\"s370V\",\"description\":\"Indicates the variable S370 record format (V).\",\"type\":\"standalone\"},{\"name\":\"S370VB\",\"description\":\"Indicates the variable block S370 record format (VB).\",\"type\":\"standalone\"},{\"name\":\"S370VBS\",\"description\":\"Indicates the variable block with spanned records S370 record format (VBS).\",\"type\":\"standalone\"},{\"name\":\"STREAMLF\",\"description\":\"[For OpenVMS] Specifies StreamLF record format. Records are delimited by LF.\",\"type\":\"standalone\"}]},{\"name\":\"RECORDS=\",\"optional\":true,\"description\":\"Defines a numeric variable that SAS sets to the number of logical records in a VSAM data set that has been opened for input.\",\"help\":\"RECORDS=*variable*\",\"type\":\"value\"},{\"name\":\"RECORG=\",\"optional\":true,\"description\":\"[z/OS Host Option] Specifies the organization of records in a new VSAM data set. Use this option only if SMS is active.\",\"help\":\"RECORG=KS | ES | RR | LS\",\"type\":\"choice\",\"arguments\":[{\"name\":\"KS\",\"description\":\"Specifies a VSAM key-sequenced data set.\",\"type\":\"standalone\"},{\"name\":\"ES\",\"description\":\"Specifies a VSAM entry-sequenced data set.\",\"type\":\"standalone\"},{\"name\":\"RR\",\"description\":\"Specifies a VSAM relative-record data set.\",\"type\":\"standalone\"},{\"name\":\"LS\",\"description\":\"Specifies a VSAM linear-space data set.\",\"type\":\"standalone\"}]},{\"name\":\"RESET\",\"optional\":true,\"description\":\"[VSAM Option] Indicates that the VSAM file is reset to empty (no records) when it is opened. This option applies only to loading a VSAM data set that has been marked REUSE. You cannot use this option if the data set contains an alternate index.\",\"type\":\"standalone\"},{\"name\":\"RETRY=\",\"optional\":true,\"description\":\"[Windows Host Option]\",\"help\":\"RETRY=*seconds*\",\"type\":\"value\"},{\"name\":\"RRN=\",\"optional\":true,\"description\":\"Defines a numeric variable that you set to the relative record number (RRN) of the record that you want to read or write. This option indicates that keyed direct access is being used; it is appropriate for RRDS only.\",\"help\":\"RRN=*variable*\",\"type\":\"value\"},{\"name\":\"SCANOVER\",\"optional\":true,\"description\":\"Causes the INPUT statement to scan the input data records until the character string that is specified in the @'character-string' expression is found.\",\"type\":\"standalone\"},{\"name\":\"SEQUENTIAL\",\"optional\":true,\"description\":\"[VSAM Option] Specifies sequential VSAM record retrieval when either the RBA= (for an ESDS) or the RRN= option (for an RRDS) is specified (INFILE only).\",\"type\":\"standalone\"},{\"name\":\"SERVER\",\"optional\":true,\"description\":\"[Windows Host Option] Is used only in the context of named pipes. This option specifies the mode of a named pipe. The default value is SERVER.\",\"type\":\"standalone\"},{\"name\":\"SHAREBUFFERS\",\"optional\":true,\"aliases\":[\"SHAREBUFS\"],\"description\":\"Specifies that the FILE statement and the INFILE statement share the same buffer.\",\"type\":\"standalone\"},{\"name\":\"SHR=\",\"optional\":true,\"description\":\"[OpenVMS Host Option] Overrides the default file-sharing attributes used for external files. With this option, you can indicate the access level you want to give other users. You can allow READ, WRITE, UPDATE, and DELETE access (as well as no access). By default with external files, files opened for input allow shared read access, and files opened for output or UPDATE do not allow shared access. However, you can allow other users to have READ and WRITE access to a file that you are opening for input only. To accomplish this, use the SHR= option. The syntax of the SHR= option is SHR=share-option-list where share-option-list can be one of the following: DEL specifies DELETE access. GET specifies shared READ access. NONE specifies no shared access. PUT specifies shared WRITE access. UPD specifies UPDATE access. You can combine these values in any order. For example, specifying the following indicates that you want shared DELETE, READ, and WRITE access:\",\"type\":\"value\"},{\"name\":\"SKIP\",\"optional\":true,\"description\":\"[VSAM Option] Indicates skip-sequential processing of VSAM files. Skip-sequential processing finds the first record whose value is the same as the value specified by the KEY= option; records are read sequentially thereafter (INFILE only).\",\"type\":\"standalone\"},{\"name\":\"START=\",\"optional\":true,\"description\":\"Specifies a variable whose value SAS uses as the first column number of the record that the PUT _INFILE_ statement writes. Like automatic variables, the START variable is not written to the data set.\",\"type\":\"value\"},{\"name\":\"STOPOVER\",\"optional\":true,\"description\":\"Causes the DATA step to stop processing if an INPUT statement reaches the end of the current record without finding values for all variables in the statement.\",\"type\":\"standalone\"},{\"name\":\"TAPE\",\"optional\":true,\"description\":\"[device-type] Specifies a tape drive.\",\"type\":\"standalone\"},{\"name\":\"TEMP\",\"optional\":true,\"description\":\"[device-type] Creates a temporary file that exists only as long as the filename is assigned.\",\"type\":\"standalone\"},{\"name\":\"TERMINAL\",\"optional\":true,\"description\":\"[device-type] Specifies the user's terminal.\",\"type\":\"standalone\"},{\"name\":\"TERMSTR=\",\"optional\":true,\"description\":\"[Windows/UNIX Host Option] Specifies the end-of-line character for the file. Use this option to share files between the UNIX and Windows operating environments.\",\"help\":\"TERMSTR=CR | CRLF | LF | NULL | NONE | NL | LFCR | CRNL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"CR\",\"description\":\"Carriage return (CR).\",\"type\":\"standalone\"},{\"name\":\"CRLF\",\"description\":\"Carriage return (CR) followed by line feed (LF).\",\"type\":\"standalone\"},{\"name\":\"LF\",\"description\":\"Line feed only (the default).\",\"type\":\"standalone\"},{\"name\":\"NULL\",\"description\":\"NULL character (0x00).\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"Record terminators are not used. This parameter provides the same function as FILEDATA=BINARY.\",\"type\":\"standalone\"},{\"name\":\"NL\",\"description\":\"The newline character (x'15') is used as the record terminator. This parameter provides the same function as FILEDATA=TEXT.\",\"type\":\"standalone\"},{\"name\":\"LFCR\",\"description\":\"The sequence LF followed by CR is used as the record terminator.\",\"type\":\"standalone\"},{\"name\":\"CRNL\",\"description\":\"The sequence CR followed by NL is used as the record terminator.\",\"type\":\"standalone\"}]},{\"name\":\"TRUNCOVER\",\"optional\":true,\"description\":\"Overrides the default behavior of the INPUT statement when an input data record is shorter than the INPUT statement expects. By default, the INPUT statement automatically reads the next input data record. TRUNCOVER enables you to read variable-length records when some records are shorter than the INPUT statement expects. Variables without any values assigned are set to missing.\",\"type\":\"standalone\"},{\"name\":\"UNBUFFERED\",\"optional\":true,\"aliases\":[\"UNBUF\"],\"description\":\"Tells SAS not to perform a buffered (\\\"look ahead\\\") read.\",\"type\":\"standalone\"},{\"name\":\"UPDATE=\",\"optional\":true,\"description\":\"Defines a numeric SAS variable that indicates that not every record that it reads is to be updated. Use this option when you are updating records in a VSAM data set (INFILE only). When an INFILE and a FILE statement reference the same VSAM data set, records are retrieved for update by default.\",\"help\":\"UPDATE=*variable*\",\"type\":\"value\"},{\"name\":\"UPRINTER\",\"optional\":true,\"description\":\"[device-type] Specifies a Universal Printing printer definition StatementOptionName.\",\"type\":\"standalone\"},{\"name\":\"VSAM\",\"optional\":true,\"description\":\"[type] For VSAM files.\",\"type\":\"standalone\"},{\"name\":\"VTOC\",\"optional\":true,\"description\":\"[type] For a Volume Table of Contents (VTOC).\",\"type\":\"standalone\"},{\"name\":\"_INFILE_=\",\"optional\":true,\"description\":\"Specifies a character variable that references the contents of the current input buffer for this INFILE statement.\",\"type\":\"value\"}]},{\"name\":\"INFORMAT\",\"description\":\"Associates informats with variables.\",\"help\":\"INFORMAT &lt;DEFAULT= default-informat&gt;\",\"arguments\":[{\"name\":\"DEFAULT=\",\"optional\":true,\"description\":\"Specifies a temporary default informat for reading values of the variables that are listed in the INFORMAT statement. If no variable is specified, then the DEFAULT= informat specification applies a temporary default informat for reading values of all the variables of that type included in the DATA step. Numeric informats are applied to numeric variables, and character informats are applied to character variables. These default informats apply only to the current DATA step. A DEFAULT= informat specification applies to o variables that are not named in an INFORMAT or ATTRIB statement o variables that are not permanently associated with an informat within a SAS data set o variables that are not read with an explicit informat in the current DATA step. Default: If you omit DEFAULT=, SAS uses w.d as the default numeric informat and $w. as the default character informat. Restriction: Use this argument only in a DATA step.\",\"type\":\"value\"}]},{\"name\":\"INPUT\",\"description\":\"Describes the arrangement of values in the input data record and assigns input values to the corresponding SAS variables.\",\"help\":\"INPUT &lt;specification(s)&gt;&lt;@|@@&gt;\"},{\"name\":\"KEEP\",\"description\":\"Specifies the variables to include in output SAS data sets.\",\"help\":\"KEEP variable-list\"},{\"name\":\"LABEL\",\"description\":\"Identifies a statement that is referred to by another statement.\",\"help\":\"\"},{\"name\":\"LEAVE\",\"description\":\"Stops processing the current loop and resumes with the next statement in the sequence.\",\"help\":\"LEAVE\"},{\"name\":\"LENGTH\",\"description\":\"Specifies the number of bytes for storing variables.\",\"help\":\"LENGTH &lt;DEFAULT=n&gt;\",\"arguments\":[{\"name\":\"DEFAULT=\",\"optional\":true,\"description\":\"Changes the default number of bytes that SAS uses to store the values of any newly created numeric variables.\",\"help\":\"DEFAULT=*n*\",\"type\":\"value\"}]},{\"name\":\"LINK\",\"description\":\"Directs program execution immediately to the statement label that is specified and, if followed by a RETURN statement, returns execution to the statement that follows the LINK statement.\",\"help\":\"LINK label\"},{\"name\":\"LIST\",\"description\":\"Writes to the SAS log the input data record for the observation that is being processed.\",\"help\":\"LIST\"},{\"name\":\"LOSS\",\"description\":\"The LOSS statement specifies the name of the response or loss variable whose distribution needs to be modeled. You can also specify additional options to indicate any truncation or censoring of the response. The specification of response variable is optional if at least one type of censoring is specified. You must specify a response variable if no censoring is specified. If you specify more than one LOSS statement, then the first statement is used.\",\"help\":\"LOSS &lt;LEFTCENSORED=*variable-name* | *number*&gt;&lt;LEFTTRUNCATED=*variable-name* | *number*&lt;(*left-truncation-option*)&gt;&gt;&lt;RIGHTCENSORED=*variable-name* | *number*&gt; ...\",\"arguments\":[{\"name\":\"LEFTCENSORED=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"LC=\"],\"description\":\"Specifies the left-censoring variable or a global left-censoring limit.\",\"type\":\"value\"},{\"name\":\"LEFTTRUNCATED=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"LT=\"],\"description\":\"Specifies the left-truncation variable or a global left-truncation threshold.\",\"help\":\"LEFTTRUNCATED=PROBOBSERVED= | POBS=\",\"type\":\"choice\",\"arguments\":[{\"name\":\"PROBOBSERVED=\",\"type\":\"value\"},{\"name\":\"POBS=\",\"type\":\"value\"}]},{\"name\":\"RIGHTCENSORED=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"RC=\"],\"description\":\"Specifies the right-censoring variable or a global right-censoring limit.\",\"type\":\"value\"},{\"name\":\"RIGHTTRUNCATED=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"RT=\"],\"description\":\"Specifies the right-truncation variable or a global right-truncation threshold.\",\"type\":\"value\"}]},{\"name\":\"MERGE\",\"description\":\"Joins observations from two or more SAS data sets into a single observation.\",\"help\":\"MERGE &lt;ALTER=&gt;&lt;BUFNO=&lt;n | nK | hexX&gt;... &gt;&lt;END=variable&gt; ...\",\"arguments\":[{\"name\":\"ALTER=\",\"optional\":true,\"description\":\"\",\"type\":\"value\"},{\"name\":\"BUFNO=\",\"optional\":true,\"description\":\"\",\"help\":\"BUFNO=n | nK | hexX | MIN | MAX\",\"type\":\"choice\",\"arguments\":[{\"name\":\"n\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"nK\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"hexX\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"MIN\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"MAX\",\"description\":\"\",\"type\":\"standalone\"}]},{\"name\":\"BUFSIZE=\",\"optional\":true,\"description\":\"\",\"help\":\"BUFSIZE=n | nK | nM | nG | hexX | MIN | MAX\",\"type\":\"choice\",\"arguments\":[{\"name\":\"n\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"nK\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"nM\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"nG\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"hexX\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"MIN\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"MAX\",\"description\":\"\",\"type\":\"standalone\"}]},{\"name\":\"CNTLLEV=\",\"optional\":true,\"description\":\"\",\"help\":\"CNTLLEV=LIB | MEM | REC\",\"type\":\"choice\",\"arguments\":[{\"name\":\"LIB\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"MEM\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"REC\",\"description\":\"\",\"type\":\"standalone\"}]},{\"name\":\"COMPRESS=\",\"optional\":true,\"description\":\"\",\"help\":\"COMPRESS=NO | YES | CHAR | BINARY\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NO\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"YES\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"CHAR\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"BINARY\",\"description\":\"\",\"type\":\"standalone\"}]},{\"name\":\"DLDMGACTION=\",\"optional\":true,\"description\":\"\",\"help\":\"DLDMGACTION=FAIL | ABORT | REPAIR | NOINDEX | PROMPT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"FAIL\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"ABORT\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"REPAIR\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"NOINDEX\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"PROMPT\",\"description\":\"\",\"type\":\"standalone\"}]},{\"name\":\"DROP=\",\"optional\":true,\"description\":\"\",\"type\":\"value\"},{\"name\":\"ENCRYPT=\",\"optional\":true,\"description\":\"\",\"help\":\"ENCRYPT=YES | NO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YES\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"NO\",\"description\":\"\",\"type\":\"standalone\"}]},{\"name\":\"ENCRYPTKEY=\",\"optional\":true,\"description\":\"\",\"type\":\"value\"},{\"name\":\"END=\",\"optional\":true,\"description\":\"Names and creates a temporary variable that contains an end-of-file indicator.\",\"help\":\"END=*variable*\",\"type\":\"value\"},{\"name\":\"EXTENDOBSCOUNTER=\",\"optional\":true,\"description\":\"\",\"type\":\"value\"},{\"name\":\"FILECLOSE=\",\"optional\":true,\"description\":\"\",\"help\":\"FILECLOSE=DISP | LEAVE | REREAD | REWIND\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DISP\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"LEAVE\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"REREAD\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"REWIND\",\"description\":\"\",\"type\":\"standalone\"}]},{\"name\":\"FIRSTOBS=\",\"optional\":true,\"description\":\"\",\"help\":\"FIRSTOBS=n | nK | nM | nG | hexX | MIN | MAX\",\"type\":\"choice\",\"arguments\":[{\"name\":\"n\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"nK\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"nM\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"nG\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"hexX\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"MIN\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"MAX\",\"description\":\"\",\"type\":\"standalone\"}]},{\"name\":\"GENMAX=\",\"optional\":true,\"description\":\"\",\"type\":\"value\"},{\"name\":\"GENNUM=\",\"optional\":true,\"description\":\"\",\"type\":\"value\"},{\"name\":\"IDXNAME=\",\"optional\":true,\"description\":\"\",\"type\":\"value\"},{\"name\":\"IDXWHERE=\",\"optional\":true,\"description\":\"\",\"help\":\"IDXWHERE=YES | NO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YES\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"NO\",\"description\":\"\",\"type\":\"standalone\"}]},{\"name\":\"IN=\",\"optional\":true,\"description\":\"\",\"type\":\"value\"},{\"name\":\"INDEX=\",\"optional\":true,\"description\":\"\",\"type\":\"value\"},{\"name\":\"KEEP=\",\"optional\":true,\"description\":\"\",\"type\":\"value\"},{\"name\":\"LABEL=\",\"optional\":true,\"description\":\"\",\"type\":\"value\"},{\"name\":\"OBS=\",\"optional\":true,\"description\":\"\",\"help\":\"OBS=n | nK | nM | nG | nT | hexX | MIN | MAX\",\"type\":\"choice\",\"arguments\":[{\"name\":\"n\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"nK\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"nM\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"nG\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"nT\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"hexX\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"MIN\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"MAX\",\"description\":\"\",\"type\":\"standalone\"}]},{\"name\":\"OUTREP=\",\"optional\":true,\"description\":\"\",\"type\":\"value\"},{\"name\":\"POINTOBS=\",\"optional\":true,\"description\":\"\",\"help\":\"POINTOBS=YES | NO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YES\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"NO\",\"description\":\"\",\"type\":\"standalone\"}]},{\"name\":\"PW=\",\"optional\":true,\"description\":\"\",\"type\":\"value\"},{\"name\":\"PWREQ=\",\"optional\":true,\"description\":\"\",\"help\":\"PWREQ=YES | NO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YES\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"NO\",\"description\":\"\",\"type\":\"standalone\"}]},{\"name\":\"READ=\",\"optional\":true,\"description\":\"\",\"type\":\"value\"},{\"name\":\"RENAME=\",\"optional\":true,\"description\":\"\",\"type\":\"value\"},{\"name\":\"REPEMPTY=\",\"optional\":true,\"description\":\"\",\"help\":\"REPEMPTY=YES | NO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YES\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"NO\",\"description\":\"\",\"type\":\"standalone\"}]},{\"name\":\"REPLACE=\",\"optional\":true,\"description\":\"\",\"help\":\"REPLACE=YES | NO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YES\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"NO\",\"description\":\"\",\"type\":\"standalone\"}]},{\"name\":\"REUSE=\",\"optional\":true,\"description\":\"\",\"help\":\"REUSE=YES | NO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YES\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"NO\",\"description\":\"\",\"type\":\"standalone\"}]},{\"name\":\"SGIO=\",\"optional\":true,\"description\":\"\",\"help\":\"SGIO=YES | NO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YES\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"NO\",\"description\":\"\",\"type\":\"standalone\"}]},{\"name\":\"SORTEDBY=\",\"optional\":true,\"description\":\"\",\"help\":\"SORTEDBY=by-clause &lt; / collate-name&gt; | _NULL_\",\"type\":\"choice\",\"arguments\":[{\"name\":\"by-clause\",\"description\":\"\",\"help\":\"by-clause &lt; / collate-name&gt;\",\"type\":\"standalone\"},{\"name\":\"_NULL_\",\"description\":\"\",\"type\":\"standalone\"}]},{\"name\":\"SPILL=\",\"optional\":true,\"description\":\"\",\"help\":\"SPILL=YES | NO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YES\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"NO\",\"description\":\"\",\"type\":\"standalone\"}]},{\"name\":\"TOBSNO=\",\"optional\":true,\"description\":\"\",\"type\":\"value\"},{\"name\":\"TRANTAB=\",\"optional\":true,\"description\":\"\",\"type\":\"value\"},{\"name\":\"TYPE=\",\"optional\":true,\"description\":\"\",\"type\":\"value\"},{\"name\":\"WHERE=\",\"optional\":true,\"description\":\"\",\"type\":\"value\"},{\"name\":\"WHEREUP=\",\"optional\":true,\"description\":\"\",\"help\":\"WHEREUP=YES | NO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YES\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"NO\",\"description\":\"\",\"type\":\"standalone\"}]},{\"name\":\"WRITE=\",\"optional\":true,\"description\":\"\",\"type\":\"value\"}]},{\"name\":\"MODIFY\",\"description\":\"Replaces, deletes, and appends observations in an existing SAS data set in place but does not create an additional copy.\",\"help\":\"MODIFY &lt;END=variable&gt;&lt;KEY=index&gt;&lt;NOBS=variable&gt; ...\",\"arguments\":[{\"name\":\"CUREOBS=\",\"optional\":true,\"description\":\"Creates and names a variable that contains the observation number that was just read from the data set.\",\"type\":\"value\"},{\"name\":\"END=\",\"optional\":true,\"description\":\"Creates and names a temporary variable that contains an end-of-file indicator.\",\"help\":\"END=*variable*\",\"type\":\"value\"},{\"name\":\"KEY=\",\"optional\":true,\"description\":\"Specifies a simple or composite index of the SAS data file that is being modified. The KEY= argument retrieves observations from that SAS data file based on index values that are supplied by like-named variables in another source of information.\",\"help\":\"KEY=*index*\",\"type\":\"value\"},{\"name\":\"KEYRESET=\",\"optional\":true,\"description\":\"Controls whether a KEY= search should begin at the top of the index for the data set that is being read. When the value of the KEYRESET variable is 1, the index lookup begins at the top of the index. When the value of the KEYRESET variable is 0, the index lookup is not reset and the lookup continues where the prior lookup ended.\",\"help\":\"KEYRESET=*variable*\",\"type\":\"value\"},{\"name\":\"NOBS=\",\"optional\":true,\"description\":\"Creates and names a temporary variable whose value is usually the total number of observations in the input data set. For certain SAS views, SAS cannot determine the number of observations. In these cases, SAS sets the value of the NOBS= variable to the largest positive integer value available in the operating environment.\",\"help\":\"NOBS=*variable*\",\"type\":\"value\"},{\"name\":\"POINT=\",\"optional\":true,\"description\":\"Reads SAS data sets using random (direct) access by observation number. variable names a variable whose value is the number of the observation to read. The POINT= variable is available anywhere in the DATA step, but it is not added to any SAS data set.\",\"help\":\"POINT=*variable*\",\"type\":\"value\"},{\"name\":\"UNIQUE\",\"optional\":true,\"description\":\"Causes a KEY= search always to begin at the top of the index for the data file being modified.\",\"type\":\"standalone\"},{\"name\":\"UPDATEMODE=\",\"optional\":true,\"description\":\"Specifies whether missing variable values in a transaction data set are to be allowed to replace existing variable values in a master data set.\",\"help\":\"UPDATEMODE=MISSINGCHECK | NOMISSINGCHECK\",\"type\":\"choice\",\"arguments\":[{\"name\":\"MISSINGCHECK\",\"description\":\"Prevents missing variable values in a transaction data set from replacing values in a master data set.\",\"type\":\"standalone\"},{\"name\":\"NOMISSINGCHECK\",\"description\":\"Allows missing variable values in a transaction data set to replace values in a master data set by preventing the check from being performed.\",\"type\":\"standalone\"}]}]},{\"name\":\"NLOPTIONS\",\"description\":\"The SEVSELECT procedure uses the nonlinear optimization (NLO) subsystem to perform nonlinear optimization of the likelihood function to obtain the estimates of distribution and regression parameters. You can use the NLOPTIONS statement to control different aspects of this optimization process. If you specify more than one NLOPTIONS statement, then the first statement is used.\",\"help\":\"NLOPTIONS &lt;ABSCONV=r&gt;&lt;ABSFCONV=r[n]&gt;&lt;ABSGCONV=r[n]&gt; ...\",\"arguments\":[{\"name\":\"ABSCONV=\",\"optional\":true,\"aliases\":[\"ABSTOL=\"],\"description\":\"Specifies an absolute function convergence criterion. The default value of r is the negative square root of the largest double-precision value, which serves only as a protection against overflows.\",\"type\":\"value\"},{\"name\":\"ABSFCONV=\",\"optional\":true,\"aliases\":[\"ABSFTOL=\"],\"description\":\"Specifies an absolute function convergence criterion. The default value is r=0. The optional integer value n specifies the number of successive iterations for which the criterion must be satisfied before the process can be terminated.\",\"type\":\"value\"},{\"name\":\"ABSGCONV=\",\"optional\":true,\"aliases\":[\"ABSGTOL=\"],\"description\":\"Specifies an absolute gradient convergence criterion. The default value is r=1E-5. The optional integer value n specifies the number of successive iterations for which the criterion must be satisfied before the process can be terminated.\",\"type\":\"value\"},{\"name\":\"ABSXCONV=\",\"optional\":true,\"aliases\":[\"ABSXTOL=\"],\"description\":\"Specifies an absolute parameter convergence criterion. The optional integer value n specifies the number of successive iterations for which the criterion must be satisfied before the process can terminate.\",\"type\":\"value\"},{\"name\":\"FCONV2=\",\"optional\":true,\"aliases\":[\"FTOL2=\"],\"description\":\"Specifies another function convergence criterion.\",\"type\":\"value\"},{\"name\":\"FCONV=\",\"optional\":true,\"aliases\":[\"FTOL=\"],\"description\":\"Specifies a relative function convergence criterion.\",\"type\":\"value\"},{\"name\":\"FSIZE=\",\"optional\":true,\"description\":\"Specifies the FSIZE parameter of the relative function and relative gradient termination criteria. The default value is r=0.\",\"help\":\"FSIZE=*r*\",\"type\":\"value\"},{\"name\":\"GCONV=\",\"optional\":true,\"aliases\":[\"GTOL=\"],\"description\":\"Specifies a relative gradient convergence criterion.\",\"type\":\"value\"},{\"name\":\"MAXFUNC=\",\"optional\":true,\"aliases\":[\"MAXFU=\"],\"description\":\"Specifies the maximum number i of function calls in the optimization process. The default values are: TRUREG, NRRIDG, NEWRAP: 125 QUANEW, DBLDOG: 500 CONGRA: 1000 NMSIMP: 3000\",\"type\":\"value\"},{\"name\":\"MAXITER=\",\"optional\":true,\"aliases\":[\"MAXIT=\"],\"description\":\"Specifies the maximum number i of iterations in the optimization process. The default values are: TRUREG, NRRIDG, NEWRAP: 50 QUANEW, DBLDOG: 200 CONGRA: 400 NMSIMP: 1000 These default values are also valid when i is specified as a missing value.\",\"type\":\"value\"},{\"name\":\"MAXTIME=\",\"optional\":true,\"description\":\"Specifies an upper limit of r seconds of CPU time for the optimization process. The default value is the largest floating-point double representation of your computer. Note that the time specified by the MAXTIME= option is checked only once at the end of each iteration. Therefore, the actual running time can be much longer than that specified by the MAXTIME= option. The actual running time includes the rest of the time needed to finish the iteration and the time needed to generate the output of the results.\",\"help\":\"MAXTIME=*r*\",\"type\":\"value\"},{\"name\":\"MINITER=\",\"optional\":true,\"aliases\":[\"MINIT=\"],\"description\":\"Specifies the minimum number of iterations. The default value is 0. If you request more iterations than are actually needed for convergence to a stationary point, the optimization algorithms can behave strangely. For example, the effect of rounding errors can prevent the algorithm from continuing for the required number of iterations.\",\"type\":\"value\"},{\"name\":\"TECHNIQUE=\",\"optional\":true,\"aliases\":[\"TECH=\"],\"description\":\"Specifies the optimization technique.\",\"help\":\"TECHNIQUE=CONGRA | DBLDOG | NMSIMP | NEWRAP | NRRIDG | QUANEW | TRUREG | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"CONGRA\",\"description\":\"Performs a conjugate-gradient optimization.\",\"type\":\"standalone\"},{\"name\":\"DBLDOG\",\"description\":\"Performs a version of double-dogleg optimization.\",\"type\":\"standalone\"},{\"name\":\"NMSIMP\",\"description\":\"Performs a Nelder-Mead simplex optimization.\",\"type\":\"standalone\"},{\"name\":\"NEWRAP\",\"description\":\"Performs a Newton-Raphson optimization that combines a line-search algorithm with ridging.\",\"type\":\"standalone\"},{\"name\":\"NRRIDG\",\"description\":\"Performs a Newton-Raphson optimization with ridging.\",\"type\":\"standalone\"},{\"name\":\"QUANEW\",\"description\":\"Performs a quasi-Newton optimization\",\"type\":\"standalone\"},{\"name\":\"TRUREG\",\"description\":\"Performs a trust region optimization. This is the default estimation method.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"Does not perform any optimization. This option can be used as follows: – to perform a grid search without optimization – to compute estimates and predictions that cannot be obtained efficiently with any of the optimization techniques\",\"type\":\"standalone\"}]},{\"name\":\"XCONV=\",\"optional\":true,\"aliases\":[\"XTOL=\"],\"description\":\"Specifies the relative parameter convergence criterion. For all techniques except NMSIMP, termination requires a small relative parameter change in subsequent iterations. The default value is r=1E-8 for the NMSIMP technique and r=0 otherwise. The optional integer value n specifies the number of successive iterations for which the criterion must be satisfied before the process can be terminated.\",\"type\":\"value\"},{\"name\":\"XSIZE=\",\"optional\":true,\"description\":\"Specifies the XSIZE parameter of the relative parameter termination criterion. The default value is r=0.\",\"type\":\"value\"}]},{\"name\":\"OTHERWISE\",\"description\":\"Specifies a statement to be executed if no WHEN condition is met.\",\"help\":\"OTHERWISE &lt;DO&gt;\",\"arguments\":[{\"name\":\"DO\",\"optional\":true,\"description\":\"Action statement.\",\"type\":\"standalone\"}]},{\"name\":\"OUTPUT\",\"description\":\"The OUTPUT statement creates the output data table that contains the estimates of scoring functions and quantiles.\",\"help\":\"OUTPUT &lt;COPYVARS=variable-list&gt;&lt;FUNCTIONS=(function&lt;(arg)&gt;&lt;=variable&gt; &lt;function&lt;(arg)&gt;&lt;=variable&gt;&gt; …)&gt;&lt;OUT=CAS-libref.data-table&gt; ...\",\"arguments\":[{\"name\":\"COPYVARS=\",\"optional\":true,\"description\":\"Specifies the names of the variables that you want to copy from the input DATA= data table to the OUT= data table. If you want to specify more than one name, then separate them by spaces.\",\"help\":\"COPYVARS=*variable-list*\",\"type\":\"value\"},{\"name\":\"FUNCTIONS=\",\"optional\":true,\"description\":\"Specifies the scoring functions that you want to estimate.\",\"type\":\"value\"},{\"name\":\"OUT=\",\"optional\":true,\"description\":\"Names the output data table for PROC SEVSELECT to use. You must specify this option before any other options. CAS-libref.data-table is a two-level name, where\",\"help\":\"OUT=*CAS-libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"QUANTILES=\",\"optional\":true,\"description\":\"Specifies the quantiles that you want to estimate. To use this option, for each distribution that you specify in the DIST statement, the FCMP function D_QUANTILE must be defined in the search path that you specify by using the CMPLIB= system option.\",\"help\":\"QUANTILES=CDF= | POINTS= | NAMES= | NDECIMAL=*quantile-options*\",\"type\":\"value\",\"arguments\":[{\"name\":\"CDF=\",\"type\":\"value\"},{\"name\":\"POINTS=\",\"type\":\"value\"},{\"name\":\"NAMES=\",\"type\":\"value\"},{\"name\":\"NDECIMAL=\",\"type\":\"value\"}]}]},{\"name\":\"OUTSCORELIB\",\"description\":\"The OUTSCORELIB statement specifies the library to write scoring functions to. Scoring functions enable you to easily compute a distribution function on the fitted parameters of the distribution without going through a potentially complex process of extracting the fitted parameter estimates from other output such as the OUTEST= data set that is created by PROC SEVSELECT.\",\"help\":\"OUTSCORELIB &lt;COMMONPACKAGE&gt;&lt;OUTBYID=SAS-data-set&gt; OUTLIB=fcmp-library-name ...\",\"arguments\":[{\"name\":\"OUTLIB=\",\"description\":\"Names the FCMP library to contain the scoring functions. PROC SEVSELECT writes the scoring functions to the FCMP library named fcmp-library-name. If a library or data set named fcmp-libraryname already exists, PROC SEVSELECT deletes it before proceeding\",\"help\":\"OUTLIB=*fcmp-library-name*\",\"type\":\"dataSet\"},{\"name\":\"COMMONPACKAGE\",\"optional\":true,\"aliases\":[\"ONEPACKAGE\"],\"description\":\"Requests that only one common package be created to contain all the scoring functions.\",\"type\":\"standalone\"},{\"name\":\"OUTBYID=\",\"optional\":true,\"description\":\"Names the output data set to contain the unique identifier for each BY group. This unique identifier is used as part of the name of the package or scoring function for each distribution. This is a required option when you specify a BY statement in PROC SEVSELECT.\",\"help\":\"OUTBYID=*SAS-data-set*\",\"type\":\"dataSet\"}]},{\"name\":\"PUT\",\"description\":\"Writes lines to the SAS log, to the SAS output window, or to an external location that is specified in the most recent FILE statement.\",\"help\":\"PUT &lt;_ALL_&gt;&lt;_INFILE_&gt;&lt;_ODS_&gt; ...\",\"arguments\":[{\"name\":\"OVERPRINT\",\"optional\":true,\"description\":\"Causes the values that follow the keyword OVERPRINT to print on the most recently written output line.\",\"type\":\"standalone\"},{\"name\":\"_ALL_\",\"optional\":true,\"description\":\"Writes the values of all variables, which includes automatic variables, that are defined in the current DATA step by using named output.\",\"type\":\"standalone\"},{\"name\":\"_BLANKPAGE_\",\"optional\":true,\"description\":\"Advances the pointer to the first line of a new page, even when the pointer is positioned on the first line and the first column of a new page.\",\"type\":\"standalone\"},{\"name\":\"_INFILE_\",\"optional\":true,\"description\":\"Writes the last input data record that is read either from the current input file or from the data lines that follow a DATELINES statement.\",\"type\":\"standalone\"},{\"name\":\"_ODS_\",\"optional\":true,\"description\":\"Moves data values for all columns (as defined by the ODS option in the FILE statement) into a special buffer, from which it is eventually written to the data component. The ODS option in the FILE statement defines the structure of the data component that holds the results of the DATA step.\",\"type\":\"standalone\"},{\"name\":\"_PAGE_\",\"optional\":true,\"description\":\"Advances the pointer to the first line of a new page. SAS automatically begins a new page when a line exceeds the current PAGESIZE= value.\",\"type\":\"standalone\"}]},{\"name\":\"PUTLOG\",\"description\":\"Writes a message to the SAS log.\",\"help\":\"PUTLOG 'message'\"},{\"name\":\"RENAME\",\"description\":\"Specifies new names for variables in output SAS data sets.\",\"help\":\"RENAME old-name-1=new-name-1 ... &lt;old-name-n=new-name-n&gt;\"},{\"name\":\"REPLACE\",\"description\":\"Replaces an observation in the same location.\",\"help\":\"REPLACE &lt;data-set-name-1&gt;&lt;...data-set-name-n&gt;\"},{\"name\":\"RETAIN\",\"description\":\"Causes a variable that is created by an INPUT or assignment statement to retain its value from one iteration of the DATA step to the next.\",\"help\":\"RETAIN &lt;element-list(s) &lt;initial-value(s) |\"},{\"name\":\"RETURN\",\"description\":\"Stops executing statements at the current point in the DATA step and returns to a predetermined point in the step.\",\"help\":\"RETURN\"},{\"name\":\"RSUBMIT\",\"description\":\"Marks the beginning of a block of statements that a client session submits to a server session for execution.\",\"help\":\"RSUBMIT &lt;options&gt;; ENDRSUBMIT &lt;CANCEL&gt;\"},{\"name\":\"SCALEMODEL\",\"description\":\"The SCALEMODEL statement specifies regression effects. A regression effect is formed from one or more regressor variables according to effect construction rules.\",\"help\":\"SCALEMODEL &lt;DFMIXTURE=&lt;FULL | MEAN | QUANTILE&gt;... &gt;&lt;INCLUDE=n | INCLUDE=single-effect | INCLUDE=(effects)&gt;&lt;INFORMATIVE&gt; ...\",\"arguments\":[{\"name\":\"DFMIXTURE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the method for computing representative estimates of the cumulative distribution function (CDF).\",\"help\":\"DFMIXTURE=FULL | MEAN | QUANTILE | RANDOM\",\"type\":\"choice\",\"arguments\":[{\"name\":\"FULL\",\"followsDelimiter\":\"/\",\"description\":\"Specifies that the representative distribution be the mixture of N distributions such that each distribution has a scale value that is implied by each of the N observations that are used for estimation. This method is the slowest.\",\"type\":\"standalone\"},{\"name\":\"MEAN\",\"followsDelimiter\":\"/\",\"description\":\"Specifies that the representative distribution be the one-point mixture of the distribution whose scale value is the mean of the N scale values that are implied by the N observations that are used for estimation. If you do not specify the DFMIXTURE= option, then this method is used by default. This is also the fastest method.\",\"type\":\"standalone\"},{\"name\":\"QUANTILE\",\"followsDelimiter\":\"/\",\"description\":\"Syntax: QUANTILE < (K=q) > specifies that the representative distribution be the mixture of a fixed number of distributions whose scale values are the quantiles from the sample of N scale values that are implied by the N observations in the current BY group (or in the entire DATA= data set if the BY statement is not specified). You can use the K= option to specify the number of distributions in the mixture. If you specify K=q, then the mixture contains (q - 1) distributions such that each distribution has as its scale one of the (q - 1)-quantiles.\",\"type\":\"standalone\"},{\"name\":\"RANDOM\",\"followsDelimiter\":\"/\",\"description\":\"Syntax: RANDOM < (random-method-options) > specifies that the representative distribution be the mixture of a fixed number of distributions whose scale values are the scale values that are implied by a randomly chosen subset of the set of all observations in the current BY group (or in the entire DATA= data set if the BY statement is not specified). The same subset of observations is used for each distribution family. You can specify the following random-method-options to specify how the subset is chosen: K=r specifies the number of distributions to include in the mixture. If you do not specify this option, then PROC SEVSELECT uses the default of 15. SEED=number specifies the seed that is used to generate the uniform random sample of observation indices. If you do not specify this option, then PROC SEVSELECT generates a seed internally that is based on the current value of the system clock.\",\"type\":\"standalone\"}]},{\"name\":\"INCLUDE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Forces effects to be included in all models. If you specify INCLUDE=n, then the first n effects that are listed in the SCALEMODEL statement are included in all models. If you specify INCLUDE=single-effect or INCLUDE=(single-effect), then the specified effects are forced into all models. The INCLUDE= option has no effect if you do not specify the SELECTION statement.\",\"type\":\"value\"},{\"name\":\"INFORMATIVE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Models missing values by using extra model effects. These effects consist of dummy variables that take the value 1 when the value of a continuous model variable involved in the effect is missing, and take the value 0 otherwise. The missing value in the original model effect is replaced by the average value of the effect for the nonmissing values.\",\"type\":\"standalone\"},{\"name\":\"OFFSET=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the name of the offset variable in the scale regression model. An offset variable is a regressor variable whose regression coefficient is known to be 1.\",\"help\":\"OFFSET=*offset-variable-name*\",\"type\":\"value\"},{\"name\":\"START=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies how to begin the selection process in the FORWARD, FORWARDSWAP, and STEPWISE selection methods from the initial model that you designate. If you specify START=n, then the starting model consists of the first n effects that are listed in the SCALEMODEL statement. If you specify START=single-effect or START=(single-effect), then the starting model consists of these specified effects.\",\"type\":\"value\"}]},{\"name\":\"SELECT\",\"description\":\"Executes one of several statements or groups of statements.\",\"help\":\"\"},{\"name\":\"SELECTION\",\"description\":\"The SELECTION statement performs model selection by examining whether effects should be added to or removed from the model according to rules that are defined by model selection methods.\",\"help\":\"SELECTION &lt;ADAPTIVE &lt;(GAMMA=nonnegative number)&gt;&gt;&lt;CHOOSE=&lt;AIC | AICC | SBC&gt;&gt;&lt;METHOD=&lt;BACKWARD | FORWARD | FORWARDSWAP&gt;... &gt; ...\",\"arguments\":[{\"name\":\"ADAPTIVE=\",\"optional\":true,\"description\":\"Applies adaptive weights to each of the coefficients when METHOD=LASSO. Ordinary least squares estimates of the model parameters are used to form the adaptive weights. You use the GAMMA= option to specify the power transformation that is applied to the parameters in forming the adaptive weights. By default, GAMMA=1.\",\"help\":\"ADAPTIVE=GAMMA=\",\"type\":\"choice\",\"arguments\":[{\"name\":\"GAMMA=\",\"type\":\"value\"}]},{\"name\":\"CHOOSE=\",\"optional\":true,\"description\":\"Chooses from the list of models (at each step of the selection process) the model that yields the best value of the specified criterion.\",\"help\":\"CHOOSE=AIC | AICC | SBC*criterion*\",\"type\":\"value\",\"arguments\":[{\"name\":\"AIC\",\"description\":\"Specifies Akaike’s information criterion.\",\"type\":\"standalone\"},{\"name\":\"AICC\",\"description\":\"Specifies the corrected Akaike’s information criterion.\",\"type\":\"standalone\"},{\"name\":\"SBC\",\"description\":\"Specifies the Schwarz Bayesian information criterion.\",\"type\":\"standalone\"}]},{\"name\":\"COMPETITIVE\",\"optional\":true,\"description\":\"[method-option to be enclosed in parenthesis] Is applicable as a method-option only when METHOD=STEPWISE. If you specify the COMPETITIVE option, then the SELECT= criterion is evaluated for all models in which an effect currently in the model is dropped or an effect not yet in the model is added.\",\"type\":\"standalone\"},{\"name\":\"DETAILS=\",\"optional\":true,\"description\":\"Specifies the level of detail to be produced about the selection process. The default is DETAILS= SUMMARY.\",\"help\":\"DETAILS=SUMMARY | STEPS | ALL | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"SUMMARY\",\"description\":\"Produces a summary table that shows the effect that is added or removed at each step along with the criteria specified in the SELECT=, CHOOSE=, and STOP= method-options. The summary table is produced by default if you do not specify the DETAILS= option.\",\"type\":\"standalone\"},{\"name\":\"STEPS\",\"description\":\"Syntax: DETAILS=STEPS<(CANDIDATES(ALL | n))> Produces the preceding summary table and displays the results from fitting each model at each step. If you specify STEPS(CANDIDATES(n)), then the best n candidates are shown. If you specify STEPS(CANDIDATES(ALL)), then all candidates are shown.\",\"type\":\"standalone\"},{\"name\":\"ALL\",\"description\":\"Produces the preceding tables and a detailed listing of all candidates at each step along with their ranking in terms of the selection criterion for addition to or removal from the model.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"Specifies that no details be produced about the selection process.\",\"type\":\"standalone\"}]},{\"name\":\"FAST\",\"optional\":true,\"description\":\"[method-option to be enclosed in parenthesis] Implements the computational algorithm of Lawless and Singhal (1978) to compute a first-order approximation to the remaining slope estimates for each subsequent elimination of a variable from the model. When applied in backward selection, this option essentially leads to approximating the selection process as the selection process of a linear regression model in which the crossproducts matrix equals the Hessian matrix in the full model under consideration. This option is available only when METHOD=BACKWARD is specified. It is computationally efficient because the model is not fit after removal of each effect.\",\"type\":\"standalone\"},{\"name\":\"HIERARCHY=\",\"optional\":true,\"description\":\"Specifies whether and how the model hierarchy requirement is applied. You can specify that only classification effects, or both classification and continuous effects, be subject to the hierarchy requirement. This option is ignored unless you also specify one of the following options: METHOD=FORWARD, METHOD=BACKWARD, or METHOD=STEPWISE.\",\"help\":\"HIERARCHY=NONE | SINGLE | SINGLECLASS\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NONE\",\"description\":\"Specifies that model hierarchy not be maintained. Any single effect can enter or leave the model at any step of the selection process.\",\"type\":\"standalone\"},{\"name\":\"SINGLE\",\"description\":\"Specifies that only one effect enter or leave the model at one time, subject to the model hierarchy requirement.\",\"type\":\"standalone\"},{\"name\":\"SINGLECLASS\",\"description\":\"Is the same as HIERARCHY=SINGLE except that only CLASS effects are subject to the hierarchy requirement.\",\"type\":\"standalone\"}]},{\"name\":\"LSCOEFFS\",\"optional\":true,\"description\":\"[method-option to be enclosed in parenthesis] Requests a hybrid version of the LAR and LASSO methods, in which the sequence of models is determined by the LAR or LASSO algorithm but the coefficients of the parameters for the model at any step are determined by using ordinary least squares.\",\"type\":\"standalone\"},{\"name\":\"MAXEFFECTS=\",\"optional\":true,\"description\":\"Specifies the maximum number of effects in any model that is considered during the selection process. This option is ignored when METHOD=BACKWARD is specified.\",\"help\":\"MAXEFFECTS=*n*\",\"type\":\"value\"},{\"name\":\"MAXSTEPS=\",\"optional\":true,\"description\":\"Specifies the maximum number of selection steps that are performed. The default value of n is the number of effects in the SCALEMODEL or MODEL statement when METHOD=FORWARD or METHOD=BACKWARD.\",\"help\":\"MAXSTEPS=*n*\",\"type\":\"value\"},{\"name\":\"METHOD=\",\"optional\":true,\"aliases\":[\"SELECTION=\"],\"description\":\"Specifies the selection method to use.\",\"help\":\"METHOD=BACKWARD | FORWARD | FORWARDSWAP | STEPWISE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"BACKWARD\",\"description\":\"Specifies the backward elimination method.\",\"type\":\"standalone\"},{\"name\":\"FORWARD\",\"description\":\"Specifies the forward selection method.\",\"type\":\"standalone\"},{\"name\":\"FORWARDSWAP\",\"description\":\"Specifies forward-swap selection, which is an extension of the forward selection method.\",\"type\":\"standalone\"},{\"name\":\"STEPWISE\",\"description\":\"specifies the stepwise regression method.\",\"type\":\"standalone\"}]},{\"name\":\"MINEFFECTS=\",\"optional\":true,\"description\":\"Specifies the minimum number of effects in any model that is considered during backward selection. This option is ignored unless METHOD=BACKWARD is specified.\",\"help\":\"MINEFFECTS=*n*\",\"type\":\"value\"},{\"name\":\"ORDERSELECT\",\"optional\":true,\"description\":\"Specifies that effects in the selected model are displayed in the order in which they first entered the model. If you do not specify the ORDERSELECT option, then effects in the selected model are displayed in the order in which they appear in the MODEL statement.\",\"type\":\"standalone\"},{\"name\":\"PLOT=\",\"optional\":true,\"aliases\":[\"PLOTS=\"],\"description\":\"Controls the selection process plots that are produced through ODS Graphics. Each global-plot-option applies to all plots that the SELECTION statement generates, unless you alter the option by using a specific plot option that follows a plot-request. You can specify the following global-plot-options:\",\"help\":\"PLOT=ALL | COEFFICIENTS | CRITERIA | FITBYROLE  | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ALL\",\"description\":\"produces all relevant plots.\",\"type\":\"standalone\"},{\"name\":\"COEFFICIENTS\",\"description\":\"Syntax: COEFFICIENTS | COEFFICIENTPANEL <(UNPACK | UNPACKPANEL)> Creates a panel of two plots. The upper plot shows the progression of the parameter values as the selection process proceeds. The lower plot shows the progression of the CHOOSE= criterion.\",\"type\":\"standalone\"},{\"name\":\"CRITERIA\",\"description\":\"Syntax: CRITERIA | CRITERIONPANEL <(UNPACK | UNPACKPANEL)> Creates a panel of model fit criteria. If you specify the UNPACK option, then each criterion progression is shown in a separate plot.\",\"type\":\"standalone\"},{\"name\":\"FITBYROLE\",\"description\":\"Plots the progression of a fit statistic on the training, test, and validation data. The fit statistic that is displayed depends on the type of model that is being fit. The fit by role plot is not produced if you do not specify a PARTITION statement.\",\"help\":\"FITBYROLE \",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"Suppress all selection process plots, even if you specify other plot options.\",\"type\":\"standalone\"}]},{\"name\":\"SELECT=\",\"optional\":true,\"aliases\":[\"CRITERION=\"],\"description\":\"Specifies the criterion that the procedure uses to determine the order in which effects enter or leave at each step of the selection method. For each step, the effect whose addition to or removal from the current model yields the maximum improvement in the specified criterion is selected. You can use the traditional significance-level approach by specifying the SL criterion; for other supported criteria, see the chapter for the relevant procedure. This option is not valid when METHOD=LAR or METHOD=LASSO.\",\"help\":\"SELECT=AIC | AICC | SBC\",\"type\":\"choice\",\"arguments\":[{\"name\":\"AIC\",\"description\":\"Specifies Akaike’s information criterion.\",\"type\":\"standalone\"},{\"name\":\"AICC\",\"description\":\"Specifies the corrected Akaike’s information criterion.\",\"type\":\"standalone\"},{\"name\":\"SBC\",\"description\":\"Specifies the Schwarz Bayesian information criterion.\",\"type\":\"standalone\"}]},{\"name\":\"SLENTRY=\",\"optional\":true,\"aliases\":[\"SLE=\"],\"description\":\"Specifies the significance level for entry when STOP=SL or SELECT=SL. By default, SLENTRY=0.05.\",\"type\":\"value\"},{\"name\":\"SLSTAY=\",\"optional\":true,\"aliases\":[\"SLS=\"],\"description\":\"Specifies the significance level for staying in the model when STOP=SL or SELECT=SL.\",\"type\":\"value\"},{\"name\":\"STOP=\",\"optional\":true,\"description\":\"Specifies a criterion that is used to stop the selection process.\",\"help\":\"STOP=SL | NONE | &lt;*criterion*&gt;\",\"type\":\"choice\",\"arguments\":[{\"name\":\"SL\",\"description\":\"Stops the selection process at the step where the significance level of the candidate for entry is greater than the SLENTRY= value for addition steps when METHOD=FORWARD or METHOD=STEPWISE and where the significance level of the candidate for removal is greater than the SLSTAY= value when METHOD=BACKWARD or METHOD=STEPWISE.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"Stops the selection process if no suitable add or drop candidates can be found or if a size-based limit is reached.\",\"type\":\"standalone\"},{\"name\":\"criterion\",\"placeholder\":true,\"description\":\"Stops the selection process if the selection process produces a local extremum of this criterion or if a size-based limit is reached.\",\"type\":\"value\"}]},{\"name\":\"STOPHORIZON=\",\"optional\":true,\"description\":\"Specifies the number of consecutive steps at which the STOP= criterion must worsen in order for a local extremum to be detected. The stop horizon value is ignored if you also specify STOP=NONE or STOP=SL. For example, suppose that STOP=AIC and the sequence of AIC values at steps 1 to 6 of a selection are 10, 7, 4, 6, 5, 2. If STOPHORIZON=2, then the AIC criterion is deemed to have a local minimum at step 3 because the AIC value at the next two steps are greater than the value 4 that occurs at step 3. However, if STOPHORIZON=3, then the value at step 3 is not deemed to be a local minimum because the AIC value at step 6 is lower than the AIC value at step 3. When METHOD=LAR or METHOD=LASSO, n is ignored and STOPHORIZON=1 is used. By default, STOPHORIZON=3.\",\"help\":\"STOPHORIZON=*n*\",\"type\":\"value\"}]},{\"name\":\"SET\",\"description\":\"Reads an observation from one or more SAS data sets.\",\"help\":\"SET &lt;END=variable&gt;&lt;INDSNAME=variable&gt;&lt;KEY=index&lt;/UNIQUE&gt;&gt; ...\",\"arguments\":[{\"name\":\"ALTER=\",\"optional\":true,\"description\":\"\",\"type\":\"value\"},{\"name\":\"BUFNO=\",\"optional\":true,\"description\":\"\",\"help\":\"BUFNO=n | nK | hexX | MIN | MAX\",\"type\":\"choice\",\"arguments\":[{\"name\":\"n\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"nK\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"hexX\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"MIN\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"MAX\",\"description\":\"\",\"type\":\"standalone\"}]},{\"name\":\"BUFSIZE=\",\"optional\":true,\"description\":\"\",\"help\":\"BUFSIZE=n | nK | nM | nG | hexX | MIN | MAX\",\"type\":\"choice\",\"arguments\":[{\"name\":\"n\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"nK\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"nM\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"nG\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"hexX\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"MIN\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"MAX\",\"description\":\"\",\"type\":\"standalone\"}]},{\"name\":\"CNTLLEV=\",\"optional\":true,\"description\":\"\",\"help\":\"CNTLLEV=LIB | MEM | REC\",\"type\":\"choice\",\"arguments\":[{\"name\":\"LIB\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"MEM\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"REC\",\"description\":\"\",\"type\":\"standalone\"}]},{\"name\":\"COMPRESS=\",\"optional\":true,\"description\":\"\",\"help\":\"COMPRESS=NO | YES | CHAR | BINARY\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NO\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"YES\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"CHAR\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"BINARY\",\"description\":\"\",\"type\":\"standalone\"}]},{\"name\":\"CUREOBS=\",\"optional\":true,\"description\":\"Creates and names a variable that contains the observation number that was just read from the data set.\",\"type\":\"value\"},{\"name\":\"DLDMGACTION=\",\"optional\":true,\"description\":\"\",\"help\":\"DLDMGACTION=FAIL | ABORT | REPAIR | NOINDEX | PROMPT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"FAIL\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"ABORT\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"REPAIR\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"NOINDEX\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"PROMPT\",\"description\":\"\",\"type\":\"standalone\"}]},{\"name\":\"DROP=\",\"optional\":true,\"description\":\"\",\"type\":\"value\"},{\"name\":\"ENCRYPT=\",\"optional\":true,\"description\":\"\",\"help\":\"ENCRYPT=YES | NO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YES\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"NO\",\"description\":\"\",\"type\":\"standalone\"}]},{\"name\":\"ENCRYPTKEY=\",\"optional\":true,\"description\":\"\",\"type\":\"value\"},{\"name\":\"END=\",\"optional\":true,\"description\":\"Creates and names a temporary variable that contains an end-of-file indicator. The variable, which is initialized to zero, is set to 1 when SET reads the last observation of the last data set listed. This variable is not added to any new data set.\",\"help\":\"END=*variable*\",\"type\":\"value\"},{\"name\":\"EXTENDOBSCOUNTER=\",\"optional\":true,\"description\":\"\",\"type\":\"value\"},{\"name\":\"FILECLOSE=\",\"optional\":true,\"description\":\"\",\"help\":\"FILECLOSE=DISP | LEAVE | REREAD | REWIND\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DISP\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"LEAVE\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"REREAD\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"REWIND\",\"description\":\"\",\"type\":\"standalone\"}]},{\"name\":\"FIRSTOBS=\",\"optional\":true,\"description\":\"\",\"help\":\"FIRSTOBS=n | nK | nM | nG | hexX | MIN | MAX\",\"type\":\"choice\",\"arguments\":[{\"name\":\"n\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"nK\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"nM\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"nG\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"hexX\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"MIN\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"MAX\",\"description\":\"\",\"type\":\"standalone\"}]},{\"name\":\"GENMAX=\",\"optional\":true,\"description\":\"Requests generations for a data set and specifies the maximum number of versions.\",\"type\":\"value\"},{\"name\":\"GENNUM=\",\"optional\":true,\"description\":\"\",\"type\":\"value\"},{\"name\":\"IDXNAME=\",\"optional\":true,\"description\":\"\",\"type\":\"value\"},{\"name\":\"IDXWHERE=\",\"optional\":true,\"description\":\"\",\"help\":\"IDXWHERE=YES | NO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YES\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"NO\",\"description\":\"\",\"type\":\"standalone\"}]},{\"name\":\"IN=\",\"optional\":true,\"description\":\"\",\"type\":\"value\"},{\"name\":\"INDEX=\",\"optional\":true,\"description\":\"\",\"type\":\"value\"},{\"name\":\"INDSNAME=\",\"optional\":true,\"description\":\"Creates and names a variable that stores the name of the SAS data set from which the current observation is read. The stored name can be a data set name or a physical name. The physical name is the name by which the operating environment recognizes the file.\",\"help\":\"INDSNAME=*variable*\",\"type\":\"value\"},{\"name\":\"KEEP=\",\"optional\":true,\"description\":\"\",\"type\":\"value\"},{\"name\":\"KEY=\",\"optional\":true,\"description\":\"Provides nonsequential access to observations in a SAS data set, which are based on the value of an index variable or a key.\",\"type\":\"value\"},{\"name\":\"KEYRESET=\",\"optional\":true,\"description\":\"Controls whether a KEY= search should begin at the top of the index for the data set that is being read. When the value of the KEYRESET variable is 1, the index lookup begins at the top of the index. When the value of the KEYRESET variable is 0, the index lookup is not reset and the lookup continues where the prior lookup ended.\",\"help\":\"KEYRESET=*variable*\",\"type\":\"value\"},{\"name\":\"LABEL=\",\"optional\":true,\"description\":\"\",\"type\":\"value\"},{\"name\":\"NOBS=\",\"optional\":true,\"description\":\"Creates and names a temporary variable whose value is usually the total number of observations in the input data set or data sets. If more than one data set is listed in the SET statement, NOBS= the total number of observations in the data sets that are listed. The number of observations includes those observations that are marked for deletion but are not yet deleted.\",\"help\":\"NOBS=*variable*\",\"type\":\"value\"},{\"name\":\"NOMISS\",\"optional\":true,\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"OBS=\",\"optional\":true,\"description\":\"\",\"help\":\"OBS=n | nK | nM | nG | nT | hexX | MIN | MAX\",\"type\":\"choice\",\"arguments\":[{\"name\":\"n\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"nK\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"nM\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"nG\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"nT\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"hexX\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"MIN\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"MAX\",\"description\":\"\",\"type\":\"standalone\"}]},{\"name\":\"OPEN=\",\"optional\":true,\"description\":\"Allows you to delay the opening of any concatenated SAS data sets until they are ready to be processed.\",\"help\":\"OPEN=IMMEDIATE | DEFER\",\"type\":\"choice\",\"arguments\":[{\"name\":\"IMMEDIATE\",\"description\":\"During the compilation phase, opens all data sets that are listed in the SET statement.\",\"type\":\"standalone\"},{\"name\":\"DEFER\",\"description\":\"Opens the first data set during the compilation phase, and opens subsequent data sets during the execution phase. When the DATA step reads and processes all observations in a data set, it closes the data set and opens the next data set in the list.\",\"type\":\"standalone\"}]},{\"name\":\"OUTREP=\",\"optional\":true,\"description\":\"\",\"type\":\"value\"},{\"name\":\"POINT=\",\"optional\":true,\"description\":\"Specifies a temporary variable whose numeric value determines which observation is read. POINT= causes the SET statement to use random (direct) access to read a SAS data set.\",\"help\":\"POINT=*variable*\",\"type\":\"value\"},{\"name\":\"POINTOBS=\",\"optional\":true,\"description\":\"\",\"help\":\"POINTOBS=YES | NO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YES\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"NO\",\"description\":\"\",\"type\":\"standalone\"}]},{\"name\":\"PW=\",\"optional\":true,\"description\":\"\",\"type\":\"value\"},{\"name\":\"PWREQ=\",\"optional\":true,\"description\":\"\",\"help\":\"PWREQ=YES | NO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YES\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"NO\",\"description\":\"\",\"type\":\"standalone\"}]},{\"name\":\"READ=\",\"optional\":true,\"description\":\"Assigns a read password to a SAS file and enables access to a read-protected SAS file.\",\"type\":\"value\"},{\"name\":\"RENAME=\",\"optional\":true,\"description\":\"\",\"type\":\"value\"},{\"name\":\"REPEMPTY=\",\"optional\":true,\"description\":\"\",\"help\":\"REPEMPTY=YES | NO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YES\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"NO\",\"description\":\"\",\"type\":\"standalone\"}]},{\"name\":\"REPLACE=\",\"optional\":true,\"description\":\"\",\"help\":\"REPLACE=YES | NO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YES\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"NO\",\"description\":\"\",\"type\":\"standalone\"}]},{\"name\":\"REUSE=\",\"optional\":true,\"description\":\"\",\"help\":\"REUSE=YES | NO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YES\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"NO\",\"description\":\"\",\"type\":\"standalone\"}]},{\"name\":\"SGIO=\",\"optional\":true,\"description\":\"\",\"help\":\"SGIO=YES | NO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YES\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"NO\",\"description\":\"\",\"type\":\"standalone\"}]},{\"name\":\"SORTEDBY=\",\"optional\":true,\"description\":\"\",\"help\":\"SORTEDBY=by-clause &lt; / collate-name&gt; | _NULL_\",\"type\":\"choice\",\"arguments\":[{\"name\":\"by-clause\",\"description\":\"\",\"help\":\"by-clause &lt; / collate-name&gt;\",\"type\":\"standalone\"},{\"name\":\"_NULL_\",\"description\":\"\",\"type\":\"standalone\"}]},{\"name\":\"SPILL=\",\"optional\":true,\"description\":\"\",\"help\":\"SPILL=YES | NO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YES\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"NO\",\"description\":\"\",\"type\":\"standalone\"}]},{\"name\":\"TOBSNO=\",\"optional\":true,\"description\":\"\",\"type\":\"value\"},{\"name\":\"TRANTAB=\",\"optional\":true,\"description\":\"\",\"type\":\"value\"},{\"name\":\"TYPE=\",\"optional\":true,\"description\":\"\",\"type\":\"value\"},{\"name\":\"UNIQUE\",\"optional\":true,\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"WHERE=\",\"optional\":true,\"description\":\"\",\"type\":\"value\"},{\"name\":\"WHEREUP=\",\"optional\":true,\"description\":\"\",\"help\":\"WHEREUP=YES | NO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YES\",\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"NO\",\"description\":\"\",\"type\":\"standalone\"}]},{\"name\":\"WRITE=\",\"optional\":true,\"description\":\"\",\"type\":\"value\"}]},{\"name\":\"STOP\",\"description\":\"Stops execution of the current DATA step.\",\"help\":\"STOP\"},{\"name\":\"WEIGHT\",\"description\":\"The WEIGHT statement specifies the name of a variable whose values represent the weight of each observation. PROC SEVSELECT associates a weight of w to each observation, where w is the value of the WEIGHT variable for the observation. If the weight value is missing or less than or equal to 0, then the observation is ignored and a warning is written to the SAS log. When the WEIGHT statement is not specified, each observation is assigned a weight of 1. If you specify more than one WEIGHT statement, then the last statement is used. The weights are normalized so that they add up to the actual sample size.\",\"help\":\"WEIGHT variable-name \"},{\"name\":\"WHEN\",\"description\":\"Identifies SAS statements that are executed when a particular condition is true.\",\"help\":\"WHEN &lt;DO&gt;\",\"arguments\":[{\"name\":\"DO\",\"optional\":true,\"description\":\"Action statement.\",\"type\":\"standalone\"}]},{\"name\":\"WHERE\",\"description\":\"Selects observations from SAS data sets that meet a particular condition.\",\"help\":\"WHERE where-expression-1\"}],\"supportSiteInformation\":{\"docsetId\":\"casecon\",\"docsetVersion\":\"latest\",\"docsetTargetFile\":\"casecon_sevselect_toc.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/SGMAP.json",
    "content": "{\"name\":\"SGMAP\",\"statements\":[{\"name\":\"PROC SGMAP\",\"description\":\"Identifies the data sets needed for map areas, map response values, and overlay plots.\",\"help\":\"PROC SGMAP <options>;                   \\n\\tSTYLEATTRS </                         options>\\n\\n\\tCHOROMAP <response-variable></                         options>;\\n\\n\\tESRIMAP URL='map-service';\\n\\n\\tOPENSTREETMAP ;\\n\\n\\tBUBBLE X=variable                      Y=variable                      SIZE=numeric-variable</                         options>;\\n\\n\\tSCATTER X=variable                      Y=variable</                         options>;\\n\\n\\tSERIES X=variable                      Y=variable</                         options>;\\n\\n\\tTEXT X=variable                      Y=variable                      TEXT=variable</                         options>;\\n\\n\\tGRADLEGEND <\\\"name\\\" ></                         options>;\\n\\n\\tKEYLEGEND <\\\"name-1\\\"                         \\\"name-2\\\"                       ...></                         options>;\\n\\n\\tATTRIB  variable-list(s) attribute-list(s);\\n\\n\\tFORMAT variable-1< ...variable-n><format-1><variable-1< ...variable-n><format-2>> ...<DEFAULT=default-format>;\\n\\n\\tLABEL variable-1=label-1 | ' '<variable-n=label-n | ' '> ...;\\n\\n\\tWHERE where-expression;\\n\",\"arguments\":[{\"name\":\"CYCLEATTRS\",\"optional\":true,\"followsDelimiter\":\" \",\"description\":\"specifies that plots are drawn with unique attributes in the graph.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1073sisglyh4in1tp6tcmfy1jxe\"},{\"name\":\"DATTRMAP=\",\"optional\":true,\"followsDelimiter\":\" \",\"description\":\"specifies the discrete attribute map data set that you want to use with the procedure.\",\"help\":\"DATTRMAP=*discrete-attribute-map-data-set*\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"n14ox7xywjw6qgn1sonc2sgrk3mm\"},{\"name\":\"DESCRIPTION=\",\"optional\":true,\"followsDelimiter\":\" \",\"aliases\":[\"DES\"],\"description\":\"specifies a description for the output.\",\"help\":\"DESCRIPTION=\\\"*text-string*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p19o6dh5umhtixn1y19qh2fc2acv\"},{\"name\":\"MAPCS=\",\"optional\":true,\"followsDelimiter\":\" \",\"description\":\"specifies an alternate coordinate space for the MAPDATA input data set\",\"help\":\"MAPCS=\\\"*coordinate-system*\\\"\",\"type\":\"value\",\"arguments\":[{\"name\":\"coordinate-system\",\"placeholder\":true,\"followsDelimiter\":\" \",\"description\":\"A coordinate system is a reference system that is used to represent the locations of geographic features, imagery, and observations within a common geographic framework. It enables you to integrate map data sets. For example, you can overlay data layers from disparate sources and coordinate systems. Specify one of the following string values as the coordinate system:\\n• A Proj.4 string                                        (as in the following example). The 900913 (Mercator)                                        coordinate system is another that is supported.\\n• A Well-Known Text                                        (WKT) string. WKT is a text markup language for representing                                        vector geometry objects on a map. This string is typically                                        found packaged with a shape file (.shp). When you download a                                        shape file, the WKT string is included in the file with the                                        .prj extension. These strings are available in different                                        formats, such as ESRI, HTML, or Open Geospatial Consortium                                        (OGC).\\n• An EPSG or ESRI                                        code, such as \\\"EPSG:4326\\\" or                                        \\\"ESRI:102531\\\".\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n185ebl05gmr8yn1lk2l6qr3fatz\"}],\"supportSiteTargetFragment\":\"n0u7sacfjrt048n10z40d9z23h99\"},{\"name\":\"MAPDATA=\",\"optional\":true,\"followsDelimiter\":\" \",\"description\":\"specifies a data set that contains the coordinates for the boundary points of each map area drawn with a CHOROMAP statement.\",\"help\":\"MAPDATA=*map-data-set*\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"n0v7awg5odgnb1n1oeuo0kvya98k\"},{\"name\":\"MAPRESPDATA=\",\"optional\":true,\"followsDelimiter\":\" \",\"description\":\"identifies the data set that contains the response values for the polygonal map areas drawn with the CHOROMAP statement.\",\"help\":\"MAPRESPDATA=*response-data-set*\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"n15evb3qmhyhahn1hk4o9p1oi0ui\"},{\"name\":\"NOAUTOLEGEND\",\"optional\":true,\"followsDelimiter\":\" \",\"description\":\"disables automatic legends from being generated.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1xgklo52kcsw4n187lizph18fsy\"},{\"name\":\"OPAQUE\",\"optional\":true,\"followsDelimiter\":\" \",\"description\":\"specifies whether the graph background is opaque or transparent.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0j88auorutohon1vopbv57ndhqt\"},{\"name\":\"NOOPAQUE\",\"optional\":true,\"followsDelimiter\":\" \",\"description\":\"specifies whether the graph background is opaque or transparent.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0j88auorutohon1vopbv57ndhqt\"},{\"name\":\"NOCYCLEATTRS\",\"optional\":true,\"followsDelimiter\":\" \",\"description\":\"specifies that no plots are drawn with unique attributes in the graph.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1fu2ymjcnpxwrn1qxakk050kp03\"},{\"name\":\"PLOTCS=\",\"optional\":true,\"followsDelimiter\":\" \",\"description\":\"specifies an alternate coordinate space for the PLOTDATA input data set\",\"help\":\"PLOTCS=\\\"*coordinate-system*\\\"\",\"type\":\"value\",\"arguments\":[{\"name\":\"coordinate-system\",\"placeholder\":true,\"followsDelimiter\":\" \",\"description\":\"A coordinate system is a reference system that is used to represent the locations of geographic features, imagery, and observations within a common geographic framework. It enables you to integrate map data sets. For example, you can overlay data layers from disparate sources and coordinate systems. Specify one of the following string values as the coordinate system:\\n• A Proj.4 string                                        (as in the following example). The 900913 (Mercator)                                        coordinate system is another that is supported.\\n• A Well-Known Text                                        (WKT) string. WKT is a text markup language for representing                                        vector geometry objects on a map. This string is typically                                        found packaged with a shape file (.shp). When you download a                                        shape file, the WKT string is included in the file with the                                        .prj extension. These strings are available in different                                        formats, such as ESRI, HTML, or Open Geospatial Consortium                                        (OGC).\\n• An EPSG or ESRI                                        code, such as \\\"EPSG:4326\\\" or                                        \\\"ESRI:102531\\\".\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p12vxim8k9yvjxn1hhfoq4gzojpg\"}],\"supportSiteTargetFragment\":\"n162wmxsqvhnn1n1sirdb1ir0ajk\"},{\"name\":\"PLOTDATA=\",\"optional\":true,\"followsDelimiter\":\" \",\"description\":\"specifies a data set that contains data for the plot overlay.\",\"help\":\"PLOTDATA=*plot-data-set*\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"p0hhdfgnrp3y37n1d8j188fv96i5\"},{\"name\":\"RATTRMAP=\",\"optional\":true,\"followsDelimiter\":\" \",\"description\":\"specifies the range attribute map data set that you want to use with the procedure.\",\"help\":\"RATTRMAP=*range-attribute-map-data-set*\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"n1ihs4y027zufcn10dwapy7j5r9v\"}],\"supportSiteTargetFile\":\"n13tunuj9yp4zvn1di8q30fg6mr7.htm\"},{\"name\":\"STYLEATTRS\",\"description\":\"Specifies global style attributes for a graph. The statement enables you to change colors, markers, and so on, within the procedure, without having to change the ODS style template.\",\"help\":\"STYLEATTRS &lt;*options*&gt;;\",\"arguments\":[{\"name\":\"BACKCOLOR=\",\"optional\":true,\"description\":\"specifies the background color of the graph area.\",\"help\":\"BACKCOLOR=*color*\",\"type\":\"color\",\"supportSiteTargetFragment\":\"p0p6nt2u5316d3n1j2vdqdjlhcws\"},{\"name\":\"DATACOLORS=\",\"optional\":true,\"description\":\"specifies the fill colors for the graphics elements.\",\"help\":\"DATACOLORS=(*color-list*)\",\"type\":\"color\",\"supportSiteTargetFragment\":\"p1qw09n67htfsjn14arv60ik061d\"},{\"name\":\"DATACONTRASTCOLORS=\",\"optional\":true,\"description\":\"specifies the contrast colors for the graphics elements, such as lines and markers.\",\"help\":\"DATACONTRASTCOLORS=(*color-list*)\",\"type\":\"color\",\"supportSiteTargetFragment\":\"p1xy09enbn16frn17x3f8e2c3e68\"},{\"name\":\"DATALINEPATTERNS=\",\"optional\":true,\"description\":\"specifies the list of line patterns for the graph data lines.\",\"help\":\"DATALINEPATTERNS=(*line-pattern-list*)\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0h8gwyoveq689n1jsp6sjzwbl18\"},{\"name\":\"DATASYMBOLS=\",\"optional\":true,\"description\":\"specifies the list of marker symbols for the graph data.\",\"help\":\"DATASYMBOLS=(*marker-symbol-list*)\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0ruus1ir9lm1cn19m5mkrsstmyv\"}],\"supportSiteTargetFile\":\"p0k2gafqsmbgshn1jedsaq1dqbb4.htm\"},{\"name\":\"BUBBLE\",\"description\":\"Creates a bubble plot in which two variables determine the location of the bubble centers and a third variable controls the size of the bubble.\",\"help\":\"BUBBLE X=variable\\n                  Y=variable                         SIZE=numeric-variable</                            options>;\",\"arguments\":[{\"name\":\"X=\",\"description\":\"specifies the variable for the X axis (longitude). The variable can have a character or numeric value.\",\"help\":\"X=*variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1vzz7lpw8pumkn1sjzsotcgeqa4\"},{\"name\":\"Y=\",\"description\":\"specifies the variable for the Y axis (latitude). The variable can have a character or numeric value.\",\"help\":\"Y=*variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1bhws5ui3zclrn1k6qcmfr1tz18\"},{\"name\":\"SIZE=\",\"description\":\"specifies the variable that controls the size of the bubbles.\",\"help\":\"SIZE=*numeric-variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0p1to6ebewchgn1csmqcpdtnu5r\"},{\"name\":\"ATTRID=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the value of the ID variable in a discrete attribute map data set.\",\"help\":\"ATTRID=*character-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0baeh3u44fgmon13r890bz38f2z\"},{\"name\":\"BRADIUSMAX=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the radius of the largest bubble.\",\"help\":\"BRADIUSMAX=*number*&lt;*units*&gt;\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p03oh5rut59rpen15s3izabujv8f\"},{\"name\":\"BRADIUSMIN=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the radius of the smallest bubble.\",\"help\":\"BRADIUSMIN=*number*&lt;*units*&gt;\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0qgem4sbklkocn17nmvtaibrgq0\"},{\"name\":\"COLORMODEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a color ramp that is to be used when mapping numeric response values.\",\"help\":\"COLORMODEL=*style-element* |                 (*color-list*)\",\"type\":\"color\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the name of a style element that defines a two-color ramp or a three-color ramp. A style element that defines a color ramp contains these style attributes:\",\"help\":\"style-element\\n                \",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0u2evk0pydw2an1r1kk71cehftx\"},{\"name\":\"(color-list)\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a space-separated list of colors to use in the color ramp. The list can contain a mix of color names and color codes.\\n• You can specify colors                                 using a number of different color-naming schemes. \\n• You can use two different                                 color names. All bin colors are calculated as a gradient color                                 between the specified colors.\",\"type\":\"color\",\"supportSiteTargetFragment\":\"p08kf1eq3o4e96n1cqtpy3n0opr5\"}],\"supportSiteTargetFragment\":\"p0xpo02hy6fq34n1xfw5c2q9ty9n\"},{\"name\":\"COLORRESPONSE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the numeric column that is used to map colors to a gradient legend.\",\"help\":\"COLORRESPONSE=numeric-column\\n        \",\"type\":\"value\",\"supportSiteTargetFragment\":\"p037ladz8k8l9qn1gbzhnvzdmci1\"},{\"name\":\"DATALABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"displays a label for each data point.\",\"help\":\"DATALABEL=*variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1cpy1qhinigrwn1hm0tji4ul0zw\"},{\"name\":\"DATALABELATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the appearance of the labels in the plot when you use the DATALABEL= option.\",\"help\":\"DATALABELATTRS=(*options*)\",\"type\":\"value\",\"arguments\":[{\"name\":\"COLOR=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the color of the text. You can specify colors using a number of different color-naming schemes. See .\",\"help\":\"COLOR=*color*\",\"type\":\"color\",\"supportSiteTargetFragment\":\"p0426crmc96r5qn13ico0rxyeape\"},{\"name\":\"FAMILY=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the font family for the text. The SAS ODS styles use TrueType system fonts.\",\"help\":\"FAMILY= \\\"*font-family*                     \\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1r3fsi253s25on1kk64sqdqlfvd\"},{\"name\":\"SIZE=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the font size of the text. You can also specify the unit of measurement. The default unit is pixels.\",\"help\":\"SIZE=                             *n*&lt;*units*&gt;\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1400qkmoiaq6tn1ff7fe90es9v2\"},{\"name\":\"STYLE=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the font style of the text.\",\"help\":\"STYLE= ITALIC | NORMAL\",\"type\":\"choice\",\"supportSiteTargetFragment\":\"p01xz56z5uq20hn1lp83b7wsb1rk\"},{\"name\":\"WEIGHT=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the font weight of the text.\",\"help\":\"WEIGHT=BOLD | NORMAL\",\"type\":\"choice\",\"supportSiteTargetFragment\":\"n1og9rhwj42go7n1nh16yr3upg20\"}],\"supportSiteTargetFragment\":\"n12hzathj5gybbn1k44k33bpbtn4\"},{\"name\":\"DATALABELPOS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the location of the data label with respect to the plot.\",\"help\":\"DATALABELPOS=BOTTOM | BOTTOMLEFT | BOTTOMRIGHT | CENTER | LEFT | RIGHT | TOP | TOPLEFT | TOPRIGHT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"BOTTOM\",\"type\":\"standalone\"},{\"name\":\"BOTTOMLEFT\",\"type\":\"standalone\"},{\"name\":\"BOTTOMRIGHT\",\"type\":\"standalone\"},{\"name\":\"CENTER\",\"type\":\"standalone\"},{\"name\":\"LEFT\",\"type\":\"standalone\"},{\"name\":\"RIGHT\",\"type\":\"standalone\"},{\"name\":\"TOP\",\"type\":\"standalone\"},{\"name\":\"TOPLEFT\",\"type\":\"standalone\"},{\"name\":\"TOPRIGHT\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"p1s79tceglckoxn1kp39pbra7iil\"},{\"name\":\"FILL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that the plot bubbles are filled.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0qf9bjn20azpfn1bvfkascgq5b5\"},{\"name\":\"FILLATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the fill color and transparency.\",\"help\":\"FILLATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"COLOR=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the fill color. You can specify colors using a number of different color-naming schemes. See .\",\"help\":\"COLOR=*color*\",\"type\":\"color\",\"supportSiteTargetFragment\":\"n0xyapii8eo4pdn19lgsjetx2inf\"},{\"name\":\"TRANSPARENCY=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the degree of the transparency of the filled area.\",\"help\":\"TRANSPARENCY=*number*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n076zlck4m4cp8n1cei4cctveh4w\"}],\"supportSiteTargetFragment\":\"n1usbbhhexhuqjn1xd1kaylxtpk6\"},{\"name\":\"GROUP=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a discrete variable that is used to group the data.\",\"help\":\"GROUP=*variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1cmz7am5mac0hn1kvsoevaprm7m\"},{\"name\":\"LEGENDLABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a label that identifies the plot in the legend.\",\"help\":\"LEGENDLABEL=\\\"*text-string*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0cijz7jlslh1fn1erftjfl0duw9\"},{\"name\":\"NAME=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"assigns a name to a plot overlay.\",\"help\":\"NAME=\\\"*text-string*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0e5jfmsnxg6mvn1ptunbm7vf4gq\"},{\"name\":\"NOFILL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that plot bubbles are not filled.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0vixp6au1qbynn19qggnrobow2l\"},{\"name\":\"NOMISSINGGROUP\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that missing values of the group variable are not included in the plot.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0mkgqp7yuisl2n1xv1voyfpg4ru\"},{\"name\":\"OUTLINE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies whether the outlines of the bubbles are visible.\",\"help\":\"OUTLINE                         \",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0vw7tisizjlfwn1w2uojz5m3bu7\"},{\"name\":\"RATTRID=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the value of the ID variable in a range attribute map data set.\",\"help\":\"RATTRID=character-value\\n        \",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0v8zeoa7ai38sn14yruhm1u0psr\"},{\"name\":\"TIP=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the data tip information to be displayed when the cursor is positioned over the graphics element.\",\"help\":\"TIP=(*variable-list*) | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"(variable-list)\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"a space-separated list of variables enclosed in parentheses. Data tips are displayed using the data obtained from the specified variables.\",\"help\":\"(*variable-list*) \",\"type\":\"value\",\"supportSiteTargetFragment\":\"p17yuxlzbwuft9n1w37aiy310fei\"},{\"name\":\"NONE\",\"followsDelimiter\":\"/\",\"description\":\"suppresses the data tips from this plot.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n09zs98qv25k34n1ftqv0mr2ia3g\"}],\"supportSiteTargetFragment\":\"n1f288d3r6wknnn1uyo5kkwfvxlt\"},{\"name\":\"TIPFORMAT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"applies formats to the list of data tip variables that you specify in the TIP= option.\",\"help\":\"TIPFORMAT=(*format-list*)\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1xymudvga5lden1ftl0drwu532q\"},{\"name\":\"TIPLABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"applies labels to the list of data tip variables that you specify in the TIP= option.\",\"help\":\"TIPLABEL=(*label-list*)\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0gqpik3sbzexcn1rlb79c6avu7m\"},{\"name\":\"TRANSPARENCY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the degree of transparency for the plot.\",\"help\":\"TRANSPARENCY=*value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0tbi9l3diucuin1srg0ddk54j8r\"},{\"name\":\"URL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies an HTML page to be displayed when parts of the plot are selected.\",\"help\":\"URL=*character-variable*\",\"type\":\"value\",\"arguments\":[{\"name\":\"character-variable\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a variable that contains a valid HTML page reference (HREF) for each plot element that is to have an active link.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p09wsumod9a804n1jib649doz4rz\"}],\"supportSiteTargetFragment\":\"p0egefmjl60iumn1f8ambriki35u\"}],\"supportSiteTargetFile\":\"p1nywdk7q1c0esn1myhukeensapm.htm\"},{\"name\":\"CHOROMAP\",\"description\":\"Specifies a two-dimensional map of polygonal areas that can be an outline map or a choropleth map.\",\"help\":\"CHOROMAP &lt;*response-variable*&gt;&lt;/*options*&gt;;                \",\"arguments\":[{\"name\":\"response-variable\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies a variable in the map response data set to use to generate a choropleth map.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1dxgple79oiain1w5l62lxi8zd6\"},{\"name\":\"ATTRID=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the value of the ID variable in a discrete attribute map data set.\",\"help\":\"ATTRID=*character-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0baeh3u44fgmon13r890bz38f2za\"},{\"name\":\"COLORMODEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a color ramp that is to be used when mapping numeric response values.\",\"help\":\"COLORMODEL=*style-element* |                 (*color-list*)\",\"type\":\"color\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the name of a style element that defines a two-color ramp or a three-color ramp. A style element that defines a color ramp contains these style attributes:\",\"help\":\"style-element\\n                \",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0u2evk0pydw2an1r1kk71cehftxa\"},{\"name\":\"(color-list)\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a space-separated list of colors to use in the color ramp. The list can contain a mix of color names and color codes.\\n• You can specify colors                                 using a number of different color-naming schemes. \\n• You can use two different                                 color names. All bin colors are calculated as a gradient color                                 between the specified colors.\\n• You can use a number of                                 color names that is equal to greater than the number of requested                                 levels specified in the NUMLEVELS= option.\",\"type\":\"color\",\"supportSiteTargetFragment\":\"p08kf1eq3o4e96n1cqtpy3n0opr5a\"}],\"supportSiteTargetFragment\":\"p0xpo02hy6fq34n1xfw5c2q9ty9na\"},{\"name\":\"DENSITY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"L\",\"MED\",\"M\",\"HI\",\"H\"],\"description\":\"for maps that have a DENSITY variable, specifies the density of map observations that are used.\",\"help\":\"DENSITY=0 ...                            6 | LOW | MEDIUM | HIGH\",\"type\":\"choice\",\"arguments\":[{\"name\":\"0\",\"followsDelimiter\":\"/\",\"description\":\"The value that you specify indicates the maximum value that the DENSITY variable can have for the observation to be displayed. For example, if you specify DENSITY=5, then only observations in the map data set whose DENSITY value is less than or equal to 5 are displayed. Specifying DENSITY=6 displays all the observations in the map data set.\",\"help\":\"0 ...                               6\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n06wi8yjv337idn1mncl8qnioma5\"},{\"name\":\"LOW\",\"followsDelimiter\":\"/\",\"description\":\"LOW is equivalent to DENSITY= 1.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0q6wbsaoikz5on1ilrz0pdlatl4\"},{\"name\":\"MEDIUM\",\"followsDelimiter\":\"/\",\"description\":\"MEDIUM is equivalent to DENSITY= 3.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0nbncxsrsisfon10f9kiy7daejl\"},{\"name\":\"HIGH\",\"followsDelimiter\":\"/\",\"description\":\"HIGH is equivalent to DENSITY= 6.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1iaimf0mh3vctn1ax7bfunxj399\"}],\"supportSiteTargetFragment\":\"n094ar73sibyutn1mjlj72esquoa\"},{\"name\":\"DISCRETE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"generates a separate response level (color and surface pattern) for each different value of the formatted response variable.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p125o8gnn5z3z1n1n5d1adbhgboz\"},{\"name\":\"ID=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a variable in the MAPRESPDATA= data set that links to the polygons in the map data set.\",\"help\":\"ID=*variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0rup1lj2l3aesn17uafsd0rdppd\"},{\"name\":\"LEGENDLABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a label that identifies the plot in the legend.\",\"help\":\"LEGENDLABEL=\\\"*text-string*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1tswflec7bxqkn1pms4lnkqvm0g\"},{\"name\":\"LEVELTYPE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the binning algorithm to use in determining each response variable level.\",\"help\":\"LEVELTYPE=NONE | INTERVAL | QUANTILE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NONE\",\"followsDelimiter\":\"/\",\"description\":\"maps the numeric values across a continuous color range.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0teexdwkgap3yn135ngn0n58ycm\"},{\"name\":\"INTERVAL\",\"followsDelimiter\":\"/\",\"description\":\"bins the numeric values into equal intervals.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0mjo3js1i0e0on1s8miq65ueizm\"},{\"name\":\"QUANTILE\",\"followsDelimiter\":\"/\",\"description\":\"specifies a binning of the numeric values into equivalent (or close thereto), collections of the same number of observations per bin.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0csh21o2q0gvdn1foepje2jctzk\"}],\"supportSiteTargetFragment\":\"p1pkdpe4w5b1hnn1mezyl9gh16p8\"},{\"name\":\"LINEATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the appearance of the polygon border line attributes.\",\"help\":\"LINEATTRS=*style-element*                            (*options*)\",\"type\":\"value\",\"arguments\":[{\"name\":\"COLOR=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the color of the polygon border line. You can specify colors using a number of different color-naming schemes. For more information, see .\",\"help\":\"COLOR=*style-reference* | *color*\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-reference\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"color\",\"placeholder\":true,\"type\":\"color\"}],\"supportSiteTargetFragment\":\"n12mt477w9zo7fn1t48rh9bmgprc\"},{\"name\":\"PATTERN=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the line pattern for the border line.\",\"help\":\"PATTERN=*line-pattern-name* | *line-pattern-number*\",\"type\":\"choice\",\"arguments\":[{\"name\":\"line-pattern-name\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"line-pattern-number\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"n1u2gjr6oydspbn147f7nxngy3hw\"},{\"name\":\"THICKNESS=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the thickness of the line. You can also specify the unit of measure.\",\"help\":\"THICKNESS=n\\n                              <units>\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0u34oquspzfd2n1cgxw278clctj\"}],\"supportSiteTargetFragment\":\"n1khi82unsl1tfn1si1vztzd3a6g\"},{\"name\":\"MAPID=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a variable in the MAPDATA= data set that is used to draw the CHOROMAP polygons.\",\"help\":\"MAPID=*variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1xy231qw5vxjqn1crbjimtlzjpq\"},{\"name\":\"NAME=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"assigns a name for the map.\",\"help\":\"NAME=\\\"*text-string*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n15e9occ43vmltn193kpiwol4t1s\"},{\"name\":\"NUMLEVELS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the number of response levels to be graphed for the response area.\",\"help\":\"NUMLEVELS=*number-of-response-levels*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0slyhla9glw7en1ltmglsz8f054\"},{\"name\":\"RATTRID=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the value of the ID variable in a range attribute map data set.\",\"help\":\"RATTRID=character-value\\n        \",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0v8zeoa7ai38sn14yruhm1u0psra\"},{\"name\":\"TIP=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the data tip information to be displayed when the cursor is positioned over the graphics element.\",\"help\":\"TIP=(*variable-list*) | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"(variable-list)\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"a space-separated list of variables enclosed in parentheses. Data tips are displayed using the data obtained from the specified variables.\",\"help\":\"(*variable-list*) \",\"type\":\"value\",\"supportSiteTargetFragment\":\"p17yuxlzbwuft9n1w37aiy310feia\"},{\"name\":\"NONE\",\"followsDelimiter\":\"/\",\"description\":\"suppresses the data tips from this plot.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n09zs98qv25k34n1ftqv0mr2ia3ga\"}],\"supportSiteTargetFragment\":\"n1f288d3r6wknnn1uyo5kkwfvxlta\"},{\"name\":\"TIPFORMAT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"applies formats to the list of data tip variables that you specify in the TIP= option.\",\"help\":\"TIPFORMAT=(*format-list*)\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1xymudvga5lden1ftl0drwu532qa\"},{\"name\":\"TIPLABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"applies labels to the list of data tip variables that you specify in the TIP= option.\",\"help\":\"TIPLABEL=(*label-list*)\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0gqpik3sbzexcn1rlb79c6avu7ma\"},{\"name\":\"TRANSPARENCY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the degree of transparency for the plot.\",\"help\":\"TRANSPARENCY=*value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0tbi9l3diucuin1srg0ddk54j8ra\"},{\"name\":\"URL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies an HTML page to be displayed when parts of the plot are selected.\",\"help\":\"URL=*character-variable*\",\"type\":\"value\",\"arguments\":[{\"name\":\"character-variable\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a variable that contains a valid HTML page reference (HREF) for each plot element that is to have an active link.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p09wsumod9a804n1jib649doz4rza\"}],\"supportSiteTargetFragment\":\"p0egefmjl60iumn1f8ambriki35ua\"}],\"supportSiteTargetFile\":\"p0rtnfxhb9tw51n1szngbbhgsstw.htm\"},{\"name\":\"ESRIMAP\",\"description\":\"Creates a map based on Esri maps.\",\"help\":\"ESRIMAP URL='*map-service*';\",\"arguments\":[{\"name\":\"URL=\",\"description\":\"Specify the Esri base map that you want to use. An example is:\",\"help\":\"URL='*map-service*'\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0gy953h9jhwcpn1r0d0c8sfkxes\"}],\"supportSiteTargetFile\":\"n0z0qggkv6p2y1n1q3zt87s2xr09.htm\"},{\"name\":\"GRADLEGEND\",\"description\":\"generates a continuous legend that maps the data range of a numeric response variable to a range of colors. You can use up to four GRADLEGEND statements in a procedure.\",\"help\":\"GRADLEGEND &lt;\\\"*name*\\\"&gt;&lt;/                            *options*&gt;;\",\"arguments\":[{\"name\":\"\\\"name\\\"\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the name of the plot that you want to include in the legend.\",\"help\":\"\\\"*name*\\\" \",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1j7owxdlai47jn1lzx52w9c5epp\"},{\"name\":\"BORDER\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that a visible border is drawn around the legend.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1nucr9a0j67x7n1k5mcouf9471r\"},{\"name\":\"EXTRACTSCALE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"extracts a scale factor from the tick values and uses it to reduce the tick value width.\",\"type\":\"standalone\",\"arguments\":[{\"name\":\"DEFAULT\",\"followsDelimiter\":\"/\",\"description\":\"extracts a named scale. A named scale can be millions, billions, or trillions for values of 999 trillion or less, or a multiple of 10 (denoted as 10^n) for values over 999 trillion. For small fractional tick values, the scale factor is set to ensure that the absolute value of the smallest value is greater than 1. The scale can be millionth, billionth, or trillionth for values of 1 trillionth or more, or a multiple of 1/10 (10^–n) for values less than 1 trillionth.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1sbojnfo8x55yn18yyy8bckl6p6\"},{\"name\":\"SCIENTIFIC\",\"followsDelimiter\":\"/\",\"description\":\"extracts a scientific-notation scale. A scientific-notation scale is a multiple of 10 expressed as 10^n for values greater than 1, or a multiple of 1/10 expressed as 10^–n for values less than 1.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0k3suymtsx99on1v3a4r5pkezpo\"}],\"supportSiteTargetFragment\":\"p0ujnvehagsgpbn1u3iul991r7q9\"},{\"name\":\"INTEGER\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that integers are used for the gradient legend.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0uejd0y3iliq7n1qqssxh9exkck\"},{\"name\":\"NOBORDER\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that no border is visible around the legend.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n14zmsg3dmzn00n161zoe6dhvryn\"},{\"name\":\"POSITION=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the position of the legend within the graph.\",\"help\":\"POSITION=*position-value*\",\"type\":\"value\",\"arguments\":[{\"name\":\"BOTTOM\",\"followsDelimiter\":\"/\",\"description\":\"places the legend at the bottom of the graph.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1gyj9p4ue8qrnn13ylp8hevtq5a\"},{\"name\":\"LEFT\",\"followsDelimiter\":\"/\",\"description\":\"places the legend at the left side of the graph.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1k4hq3p290lzun1pwifuo5id01y\"},{\"name\":\"RIGHT\",\"followsDelimiter\":\"/\",\"description\":\"places the legend at the right side of the graph.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n00jtil2lcvez2n1popsdy5tbikd\"},{\"name\":\"TOP\",\"followsDelimiter\":\"/\",\"description\":\"places the legend at the top of the graph.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0khgjf2sj239rn11hg92fw8ymag\"}],\"supportSiteTargetFragment\":\"p0inxwvrqrfrgmn1gv5b9gzelkpi\"},{\"name\":\"TITLE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies whether a title overrides the default title for the legend or is removed altogether.\",\"help\":\"TITLE=\\\"*text-string*\\\" | NOTITLE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"\\\"text-string\\\"\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"NOTITLE\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"n1hjlif7tg2olhn1xc8bngkvvzzm\"},{\"name\":\"TITLEATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the appearance of the title.\",\"help\":\"TITLEATTRS=*style-element* | *style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"COLOR=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the color of the text. You can specify colors using a number of different color-naming schemes. See .\",\"help\":\"COLOR=*color*\",\"type\":\"color\",\"supportSiteTargetFragment\":\"p1369a95ycwtu0n14cpi7rh36zlh\"},{\"name\":\"FAMILY=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the font family for the text. The SAS ODS styles use TrueType system fonts.\",\"help\":\"FAMILY= \\\"*font-family* \\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1vkpl2731jcv4n15vo9viev12dc\"},{\"name\":\"SIZE=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the font size of the text. You can also specify the unit of measurement. The default unit is pixels.\",\"help\":\"SIZE= *n*&lt;*units*&gt;\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0aqk5o12jaflyn14zzd2dp2rogy\"},{\"name\":\"STYLE=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the font style of the text.\",\"help\":\"STYLE= ITALIC | NORMAL\",\"type\":\"choice\",\"supportSiteTargetFragment\":\"n0mkfk57z1qouln1wqvz6w9wbotb\"},{\"name\":\"WEIGHT=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the font weight of the text.\",\"help\":\"WEIGHT=BOLD | NORMAL\",\"type\":\"choice\",\"supportSiteTargetFragment\":\"p1a0hdfqem1iyun1vvmqlyulkdj9\"}],\"supportSiteTargetFragment\":\"p0jb28qnoyop7ln1jyn9p5wmjvqu\"}],\"supportSiteTargetFile\":\"n1ctbrxwzlw3sgn19bg09a05quf0.htm\"},{\"name\":\"KEYLEGEND\",\"description\":\"Adds a legend to the plot.\",\"help\":\"KEYLEGEND &lt;\\\"*name–1*\\\"                            \\\"*name–2*\\\"                          ...&gt;&lt;/                            *options*&gt;;\",\"arguments\":[{\"name\":\"\\\"name–1\\\"\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the name of the plot that you want to include in the legend.\",\"help\":\"\\\"name–1\\\"                            \\\"name–2\\\"                          ...\\n                     \",\"type\":\"value\",\"supportSiteTargetFragment\":\"p04n9a1lgv2so1n1nhqg3jdcngaq\"},{\"name\":\"AUTOITEMSIZE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that all markers in the legend are sized in proportion to the font size used for the legend value labels.\",\"help\":\"AUTOITEMSIZE \",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0zg54hi213e1vn157e4tsl294gi\"},{\"name\":\"TITLE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a title to override the default title for the legend.\",\"help\":\"TITLE=\\\"*text-string*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0pwduazxpowy8n15j4n07n3lzhz\"},{\"name\":\"TITLEATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the appearance of the title.\",\"help\":\"TITLEATTRS=*style-element* | *style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"COLOR=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the color of the text. You can specify colors using a number of different color-naming schemes. See .\",\"help\":\"COLOR=*color*\",\"type\":\"color\",\"supportSiteTargetFragment\":\"p1369a95ycwtu0n14cpi7rh36zlha\"},{\"name\":\"FAMILY=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the font family for the text. The SAS ODS styles use TrueType system fonts.\",\"help\":\"FAMILY= \\\"*font-family* \\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1vkpl2731jcv4n15vo9viev12dca\"},{\"name\":\"SIZE=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the font size of the text. You can also specify the unit of measurement. The default unit is pixels.\",\"help\":\"SIZE= *n*&lt;*units*&gt;\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0aqk5o12jaflyn14zzd2dp2rogya\"},{\"name\":\"STYLE=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the font style of the text.\",\"help\":\"STYLE= ITALIC | NORMAL\",\"type\":\"choice\",\"supportSiteTargetFragment\":\"n0mkfk57z1qouln1wqvz6w9wbotba\"},{\"name\":\"WEIGHT=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the font weight of the text.\",\"help\":\"WEIGHT=BOLD | NORMAL\",\"type\":\"choice\",\"supportSiteTargetFragment\":\"p1a0hdfqem1iyun1vvmqlyulkdj9a\"}],\"supportSiteTargetFragment\":\"p0jb28qnoyop7ln1jyn9p5wmjvqua\"},{\"name\":\"VALUEATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the appearance of the legend value labels.\",\"help\":\"VALUEATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"COLOR=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the color of the text. You can specify colors using a number of different color-naming schemes. See .\",\"help\":\"COLOR=*color*\",\"type\":\"color\",\"supportSiteTargetFragment\":\"n007xswzpcckarn197txgo93eikg\"},{\"name\":\"FAMILY=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the font family for the text. The SAS ODS styles use TrueType system fonts.\",\"help\":\"FAMILY= \\\"*font-family*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0gjoonqtip9l1n198c14rlr5h7p\"},{\"name\":\"SIZE=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the font size of the text. You can also specify the unit of measurement. The default unit is pixels.\",\"help\":\"SIZE= *n*&lt;*units*&gt;\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1gf8itduh7hxqn1ueu2ry4gesnf\"},{\"name\":\"STYLE=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the font style of the text.\",\"help\":\"STYLE= ITALIC | NORMAL\",\"type\":\"choice\",\"supportSiteTargetFragment\":\"n0rjr0otonnyxjn1wm3eob3wiw23\"},{\"name\":\"WEIGHT=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the font weight of the text.\",\"help\":\"WEIGHT=BOLD | NORMAL\",\"type\":\"choice\",\"supportSiteTargetFragment\":\"n1lk5dvjnl885cn0zeom9xbavuff\"}],\"supportSiteTargetFragment\":\"p1qnh1tmof6ryan1l1lcfc5kr9m2\"}],\"supportSiteTargetFile\":\"p1ci09as8viuybn1gd6g6qusav5a.htm\"},{\"name\":\"OPENSTREETMAP\",\"aliases\":[\"OSM\"],\"description\":\"Creates a map based on OpenStreetMap (OSM).\",\"help\":\"OPENSTREETMAP ;\",\"supportSiteTargetFile\":\"p1eqmonjmoiften1heu1d9np32c8.htm\"},{\"name\":\"SCATTER\",\"description\":\"Creates a scatter plot.\",\"help\":\"SCATTER X=*variable*                         Y=*variable*&lt;/                            *options*&gt;;\",\"arguments\":[{\"name\":\"X=\",\"description\":\"specifies the variable for the X axis (longitude).\",\"help\":\"X=*variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n19xaeg2ybtb7pn1egod5p50c76a\"},{\"name\":\"Y=\",\"description\":\"specifies the variable for the Y axis (latitude).\",\"help\":\"Y=*variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1bipzosvad6nln1b8qsc2tuszw6\"},{\"name\":\"ATTRID=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the value of the ID variable in a discrete attribute map data set.\",\"help\":\"ATTRID=*character-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0baeh3u44fgmon13r890bz38f2zb\"},{\"name\":\"COLORMODEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a color ramp that is to be used when mapping numeric response values.\",\"help\":\"COLORMODEL=*style-element* |                 (*color-list*)\",\"type\":\"color\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the name of a style element that defines a two-color ramp or a three-color ramp. A style element that defines a color ramp contains these style attributes:\",\"help\":\"style-element\\n                \",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0u2evk0pydw2an1r1kk71cehftxb\"},{\"name\":\"(color-list)\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a space-separated list of colors to use in the color ramp. The list can contain a mix of color names and color codes.\\n• You can specify colors                                 using a number of different color-naming schemes. \\n• You can use two different                                 color names. All bin colors are calculated as a gradient color                                 between the specified colors.\",\"type\":\"color\",\"supportSiteTargetFragment\":\"p08kf1eq3o4e96n1cqtpy3n0opr5b\"}],\"supportSiteTargetFragment\":\"p0xpo02hy6fq34n1xfw5c2q9ty9nb\"},{\"name\":\"COLORRESPONSE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the numeric column that is used to map colors to a gradient legend.\",\"help\":\"COLORRESPONSE=numeric-column\\n        \",\"type\":\"value\",\"supportSiteTargetFragment\":\"p037ladz8k8l9qn1gbzhnvzdmci1a\"},{\"name\":\"CONTRIBUTEOFFSETS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies whether this plot's space requirements contribute to the calculation of the axis offsets.\",\"help\":\"CONTRIBUTEOFFSETS=ALL | NONE | (*axis-offset-list*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ALL\",\"followsDelimiter\":\"/\",\"description\":\"the space requirements for this plot are contributed to the axis offset calculations.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0d3zpbbmootgin1q3wi1y1qpbbk\"},{\"name\":\"NONE\",\"followsDelimiter\":\"/\",\"description\":\"the space requirements for this plot are not contributed to the axis offset calculations.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p088oznapclkaxn17fe1i216hlby\"},{\"name\":\"(axis-offset-list)\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"a space-delimited list of specific contributions that this plot makes to the axis offset calculations. The list is one or more of the following values enclosed in parentheses:\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1wvs7mdpjwy8yn1vtpvl6mzet3o\"}],\"supportSiteTargetFragment\":\"p08he5qeswuootn1oi1ofpvxu3mb\"},{\"name\":\"DATALABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"displays a label for each data point.\",\"help\":\"DATALABEL=*variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1cpy1qhinigrwn1hm0tji4ul0zwa\"},{\"name\":\"DATALABELATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the appearance of the labels in the plot when you use the DATALABEL= option.\",\"help\":\"DATALABELATTRS=(*options*)\",\"type\":\"value\",\"arguments\":[{\"name\":\"COLOR=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the color of the text. You can specify colors using a number of different color-naming schemes. See .\",\"help\":\"COLOR=*color*\",\"type\":\"color\",\"supportSiteTargetFragment\":\"p0426crmc96r5qn13ico0rxyeapea\"},{\"name\":\"FAMILY=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the font family for the text. The SAS ODS styles use TrueType system fonts.\",\"help\":\"FAMILY= \\\"*font-family*                     \\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1r3fsi253s25on1kk64sqdqlfvda\"},{\"name\":\"SIZE=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the font size of the text. You can also specify the unit of measurement. The default unit is pixels.\",\"help\":\"SIZE=                             *n*&lt;*units*&gt;\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1400qkmoiaq6tn1ff7fe90es9v2a\"},{\"name\":\"STYLE=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the font style of the text.\",\"help\":\"STYLE= ITALIC | NORMAL\",\"type\":\"choice\",\"supportSiteTargetFragment\":\"p01xz56z5uq20hn1lp83b7wsb1rka\"},{\"name\":\"WEIGHT=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the font weight of the text.\",\"help\":\"WEIGHT=BOLD | NORMAL\",\"type\":\"choice\",\"supportSiteTargetFragment\":\"n1og9rhwj42go7n1nh16yr3upg20a\"}],\"supportSiteTargetFragment\":\"n12hzathj5gybbn1k44k33bpbtn4a\"},{\"name\":\"DATALABELPOS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the location of the data label with respect to the plot.\",\"help\":\"DATALABELPOS=BOTTOM | BOTTOMLEFT | BOTTOMRIGHT | CENTER | LEFT | RIGHT | TOP | TOPLEFT | TOPRIGHT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"BOTTOM\",\"type\":\"standalone\"},{\"name\":\"BOTTOMLEFT\",\"type\":\"standalone\"},{\"name\":\"BOTTOMRIGHT\",\"type\":\"standalone\"},{\"name\":\"CENTER\",\"type\":\"standalone\"},{\"name\":\"LEFT\",\"type\":\"standalone\"},{\"name\":\"RIGHT\",\"type\":\"standalone\"},{\"name\":\"TOP\",\"type\":\"standalone\"},{\"name\":\"TOPLEFT\",\"type\":\"standalone\"},{\"name\":\"TOPRIGHT\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"p1s79tceglckoxn1kp39pbra7iila\"},{\"name\":\"GROUP=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a discrete variable that is used to group the data.\",\"help\":\"GROUP=*variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1d7cnytbvohsdn1ezrlp2clytxq\"},{\"name\":\"LEGENDLABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a label that identifies the markers from the plot in the legend.\",\"help\":\"LEGENDLABEL=\\\"*text-string*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1i06d409x4ibrn157wzz1on21ko\"},{\"name\":\"MARKERATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the appearance of the markers in the plot.\",\"help\":\"MARKERATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"COLOR=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the color of the markers. You can specify colors using a number of different color-naming schemes. See .\",\"help\":\"COLOR=*color*\",\"type\":\"color\",\"supportSiteTargetFragment\":\"n0wnmzqb4h36drn1xfk4sg7tw1fu\"},{\"name\":\"SIZE=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the size of the markers. You can also specify the unit of measurement. The default unit is pixels.\",\"help\":\"SIZE=*n*&lt;*units*&gt;\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0yu1idyxi934mn1kcrmd4iup7pl\"},{\"name\":\"SYMBOL=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the symbol to use for the marker. The following table shows the marker symbols that you can use.\",\"help\":\"SYMBOL=*symbol-name*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0jjxi7lib12fhn1u10dnwzjx5vy\"}],\"supportSiteTargetFragment\":\"p0lulrr38jtwp0n1xdrdygf8fcz1\"},{\"name\":\"NAME=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"assigns a name to a plot overlay.\",\"help\":\"NAME=\\\"*text-string*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0e5jfmsnxg6mvn1ptunbm7vf4gqa\"},{\"name\":\"NOMISSINGGROUP\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that missing values of the group variable are not included in the plot.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0mkgqp7yuisl2n1xv1voyfpg4rua\"},{\"name\":\"RATTRID=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the value of the ID variable in a range attribute map data set.\",\"help\":\"RATTRID=character-value\\n        \",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0v8zeoa7ai38sn14yruhm1u0psrb\"},{\"name\":\"TIP=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the data tip information to be displayed when the cursor is positioned over the graphics element.\",\"help\":\"TIP=(*variable-list*) | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"(variable-list)\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"a space-separated list of variables enclosed in parentheses. Data tips are displayed using the data obtained from the specified variables.\",\"help\":\"(*variable-list*) \",\"type\":\"value\",\"supportSiteTargetFragment\":\"p17yuxlzbwuft9n1w37aiy310feib\"},{\"name\":\"NONE\",\"followsDelimiter\":\"/\",\"description\":\"suppresses the data tips from this plot.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n09zs98qv25k34n1ftqv0mr2ia3gb\"}],\"supportSiteTargetFragment\":\"n1f288d3r6wknnn1uyo5kkwfvxltb\"},{\"name\":\"TIPFORMAT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"applies formats to the list of data tip variables that you specify in the TIP= option.\",\"help\":\"TIPFORMAT=(*format-list*)\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1xymudvga5lden1ftl0drwu532qb\"},{\"name\":\"TIPLABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"applies labels to the list of data tip variables that you specify in the TIP= option.\",\"help\":\"TIPLABEL=(*label-list*)\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0gqpik3sbzexcn1rlb79c6avu7mb\"},{\"name\":\"TRANSPARENCY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the degree of transparency for the plot.\",\"help\":\"TRANSPARENCY=*value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0tbi9l3diucuin1srg0ddk54j8rb\"},{\"name\":\"URL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies an HTML page to be displayed when parts of the plot are selected.\",\"help\":\"URL=*character-variable*\",\"type\":\"value\",\"arguments\":[{\"name\":\"character-variable\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a variable that contains a valid HTML page reference (HREF) for each plot element that is to have an active link.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p09wsumod9a804n1jib649doz4rzb\"}],\"supportSiteTargetFragment\":\"p0egefmjl60iumn1f8ambriki35ub\"}],\"supportSiteTargetFile\":\"n0gfwvyoij8s70n10b99f7iczk03.htm\"},{\"name\":\"SERIES\",\"description\":\"creates a line plot.\",\"help\":\"SERIES X=*variable*                         Y=*variable*&lt;/                            *options*&gt;;\",\"arguments\":[{\"name\":\"X=\",\"description\":\"specifies the variable for the X axis.\",\"help\":\"X=*variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0ybia953jf94fn1gmzg94i81qdc\"},{\"name\":\"Y=\",\"description\":\"specifies the variable for the Y axis.\",\"help\":\"Y=*variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1bzav14pb0e7tn1o5uxtuku7nk3\"},{\"name\":\"ATTRID=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the value of the ID variable in a discrete attribute map data set.\",\"help\":\"ATTRID=*character-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0baeh3u44fgmon13r890bz38f2zc\"},{\"name\":\"GROUP=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a discrete variable that is used to group the data.\",\"help\":\"GROUP=*variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0l213zd17tm6zn19wkprgvt3pr6\"},{\"name\":\"LEGENDLABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a label that identifies the plot in the legend.\",\"help\":\"LEGENDLABEL=\\\"*text-string*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0wwgw9cbztu3wn1qrsq1bom0iqh\"},{\"name\":\"LINEATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the appearance of the series line attributes.\",\"help\":\"LINEATTRS=*style-element*                            (*options*)\",\"type\":\"value\",\"arguments\":[{\"name\":\"COLOR=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the color of the series line.You can specify colors using a number of different color-naming schemes. See .\",\"help\":\"COLOR=*color*\",\"type\":\"color\",\"supportSiteTargetFragment\":\"p1q10fcao1ottsn15j3ounz33z90\"},{\"name\":\"PATTERN=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the line pattern for the line.\",\"help\":\"PATTERN=*line-pattern-name* | *line-pattern-number*\",\"type\":\"choice\",\"arguments\":[{\"name\":\"line-pattern-name\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"line-pattern-number\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p05k57cofd6z4nn19b96wk410xs5\"},{\"name\":\"THICKNESS=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the thickness of the line. You can also specify the unit of measure.\",\"help\":\"THICKNESS=n\\n                              <units>\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0yvbg7j5i7dcwn11i9dtlxgt4ok\"}],\"supportSiteTargetFragment\":\"n1fpi1o1r3220fn1fh5yoxifk0gl\"},{\"name\":\"NAME=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"assigns a name to a line plot.\",\"help\":\"NAME=\\\"*text-string*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n05tcivuxarlmjn1whe5j3xhew7m\"},{\"name\":\"NOMISSINGGROUP\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that missing values of the group variable are not included in the plot.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0mkgqp7yuisl2n1xv1voyfpg4rub\"},{\"name\":\"SMOOTHCONNECT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that a smoothed line passes through all vertices.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p009o2qj465ze8n19hax0ez05kpj\"},{\"name\":\"TIP=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the data tip information to be displayed when the cursor is positioned over the graphics element.\",\"help\":\"TIP=(*variable-list*) | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"(variable-list)\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"a space-separated list of variables enclosed in parentheses. Data tips are displayed using the data obtained from the specified variables.\",\"help\":\"(*variable-list*) \",\"type\":\"value\",\"supportSiteTargetFragment\":\"p17yuxlzbwuft9n1w37aiy310feic\"},{\"name\":\"NONE\",\"followsDelimiter\":\"/\",\"description\":\"suppresses the data tips from this plot.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n09zs98qv25k34n1ftqv0mr2ia3gc\"}],\"supportSiteTargetFragment\":\"n1f288d3r6wknnn1uyo5kkwfvxltc\"},{\"name\":\"TIPFORMAT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"applies formats to the list of data tip variables that you specify in the TIP= option.\",\"help\":\"TIPFORMAT=(*format-list*)\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1xymudvga5lden1ftl0drwu532qc\"},{\"name\":\"TIPLABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"applies labels to the list of data tip variables that you specify in the TIP= option.\",\"help\":\"TIPLABEL=(*label-list*)\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0gqpik3sbzexcn1rlb79c6avu7mc\"},{\"name\":\"URL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies an HTML page to be displayed when parts of the plot are selected.\",\"help\":\"URL=*character-variable*\",\"type\":\"value\",\"arguments\":[{\"name\":\"character-variable\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a variable that contains a valid HTML page reference (HREF) for each plot element that is to have an active link.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p09wsumod9a804n1jib649doz4rzc\"}],\"supportSiteTargetFragment\":\"p0egefmjl60iumn1f8ambriki35uc\"}],\"supportSiteTargetFile\":\"p1cvxu5gnuzq9fn15ifoaoypkury.htm\"},{\"name\":\"TEXT\",\"description\":\"Displays the associated text values at (X, Y) locations in the graph. The text can be numbers or characters.\",\"help\":\"TEXT X=*variable*                         Y=*variable*                         TEXT=*variable*&lt;/                            *options*&gt;;\",\"arguments\":[{\"name\":\"X=\",\"description\":\"specifies the variable for the X axis (longitude).\",\"help\":\"X=*variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1v2jf0jhatcc1n1dpc9lthgr855\"},{\"name\":\"Y=\",\"description\":\"specifies the variable for the Y axis (latitude).\",\"help\":\"Y=*variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0phmffrgw6abnn1j7rc2j4e5oce\"},{\"name\":\"TEXT=\",\"description\":\"specifies the variable for the text values.\",\"help\":\"TEXT=*variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1bczw684p4svnn0z40n5x000wvb\"},{\"name\":\"ATTRID=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the value of the ID variable in a discrete attribute map data set.\",\"help\":\"ATTRID=*character-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0baeh3u44fgmon13r890bz38f2zd\"},{\"name\":\"BACKFILL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"displays filled bounding boxes around the text.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p18xmmwd5xaii8n1rc8tqarm14bv\"},{\"name\":\"BACKLIGHT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that the text should have a back light of a contrasting color.\",\"help\":\"BACKLIGHT=*number*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1sya7em81rmynn18z5qnxgwte7v\"},{\"name\":\"COLORMODEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a color ramp that is to be used when mapping numeric response values.\",\"help\":\"COLORMODEL=*style-element* |                 (*color-list*)\",\"type\":\"color\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the name of a style element that defines a two-color ramp or a three-color ramp. A style element that defines a color ramp contains these style attributes:\",\"help\":\"style-element\\n                \",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0u2evk0pydw2an1r1kk71cehftxc\"},{\"name\":\"(color-list)\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a space-separated list of colors to use in the color ramp. The list can contain a mix of color names and color codes.\\n• You can specify colors                                 using a number of different color-naming schemes. \\n• You can use two different                                 color names. All bin colors are calculated as a gradient color                                 between the specified colors.\",\"type\":\"color\",\"supportSiteTargetFragment\":\"p08kf1eq3o4e96n1cqtpy3n0opr5c\"}],\"supportSiteTargetFragment\":\"p0xpo02hy6fq34n1xfw5c2q9ty9nc\"},{\"name\":\"COLORRESPONSE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the numeric column that is used to map colors to a gradient legend.\",\"help\":\"COLORRESPONSE=numeric-column\\n        \",\"type\":\"value\",\"supportSiteTargetFragment\":\"p037ladz8k8l9qn1gbzhnvzdmci1b\"},{\"name\":\"CONTRIBUTEOFFSETS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies whether this plot's space requirements contribute to the calculation of the axis offsets.\",\"help\":\"CONTRIBUTEOFFSETS=ALL | NONE | (*axis-offset-list*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ALL\",\"followsDelimiter\":\"/\",\"description\":\"the space requirements for this plot are contributed to the axis offset calculations.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0d3zpbbmootgin1q3wi1y1qpbbka\"},{\"name\":\"NONE\",\"followsDelimiter\":\"/\",\"description\":\"the space requirements for this plot are not contributed to the axis offset calculations.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p088oznapclkaxn17fe1i216hlbya\"},{\"name\":\"(axis-offset-list)\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"a space-delimited list of specific contributions that this plot makes to the axis offset calculations. The list is one or more of the following values enclosed in parentheses:\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1wvs7mdpjwy8yn1vtpvl6mzet3oa\"}],\"supportSiteTargetFragment\":\"p08he5qeswuootn1oi1ofpvxu3mba\"},{\"name\":\"DISCRETEOFFSET=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies an amount to offset all markers from discrete X or Y values.\",\"help\":\"DISCRETEOFFSET=*numeric-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1gwoxltfmcwwpn1mvzroj4s5b9m\"},{\"name\":\"FILLATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the fill color and transparency.\",\"help\":\"FILLATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"COLOR=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the fill color. You can specify colors using a number of different color-naming schemes. See .\",\"help\":\"COLOR=*color*\",\"type\":\"color\",\"supportSiteTargetFragment\":\"n0xyapii8eo4pdn19lgsjetx2infa\"},{\"name\":\"TRANSPARENCY=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the degree of the transparency of the filled area.\",\"help\":\"TRANSPARENCY=*number*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n076zlck4m4cp8n1cei4cctveh4wa\"}],\"supportSiteTargetFragment\":\"n1usbbhhexhuqjn1xd1kaylxtpk6a\"},{\"name\":\"GROUP=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a discrete variable that is used to group the data.\",\"help\":\"GROUP=*variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0mjndvigt43b5n1jlmtn3gnwoy9\"},{\"name\":\"LEGENDLABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a label that identifies the plot in the legend.\",\"help\":\"LEGENDLABEL=\\\"*text-string*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p15qo2ii1w2obrn17emwiy15q229\"},{\"name\":\"NAME=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"assigns a name to a plot overlay.\",\"help\":\"NAME=\\\"*text-string*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0e5jfmsnxg6mvn1ptunbm7vf4gqb\"},{\"name\":\"OUTLINE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"displays outlined bounding boxes around the text.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n06j08zhz45jznn141ldgz7vgqba\"},{\"name\":\"OUTLINEATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the color of the outlines around the text boxes.\",\"help\":\"OUTLINEATTRS=*style-element*                               &lt;(ContrastColor=*color*)&gt; | (color=*color*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"<(ContrastColor=)>\",\"type\":\"color\"},{\"name\":\"(color=)\",\"type\":\"color\"}],\"supportSiteTargetFragment\":\"n1t0zudem4s29wn1e062s4hapim4\"},{\"name\":\"PAD=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the amount of extra space that is added inside the text-marker border.\",\"help\":\"PAD=*dimension*&lt;*units*&gt; | *(pad-options)*\",\"type\":\"choice\",\"arguments\":[{\"name\":\"dimension\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a dimension to use for the extra space at the left, right, top, and bottom of the text-marker border.\",\"help\":\"dimension\\n                           \",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1a3cnlyt8oxgsn1rajnjiaqaecj\"},{\"name\":\"(pad-options)\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"a space-separated list of one or more of the following name-value-pair options enclosed in parentheses:\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0t1gjp2qlydlen1x7s95bnb8p8j\"}],\"supportSiteTargetFragment\":\"p1u6ffukrzsdpvn0zc6ntiwkl6p8\"},{\"name\":\"POSITION=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the position of the text with respect to the location of the data point.\",\"help\":\"POSITION=BOTTOM | BOTTOMLEFT | BOTTOMRIGHT | CENTER | LEFT | RIGHT | TOP | TOPLEFT | TOPRIGHT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"BOTTOM\",\"type\":\"standalone\"},{\"name\":\"BOTTOMLEFT\",\"type\":\"standalone\"},{\"name\":\"BOTTOMRIGHT\",\"type\":\"standalone\"},{\"name\":\"CENTER\",\"type\":\"standalone\"},{\"name\":\"LEFT\",\"type\":\"standalone\"},{\"name\":\"RIGHT\",\"type\":\"standalone\"},{\"name\":\"TOP\",\"type\":\"standalone\"},{\"name\":\"TOPLEFT\",\"type\":\"standalone\"},{\"name\":\"TOPRIGHT\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"n1a10dsc1vyw3hn1nxqcwdboibqb\"},{\"name\":\"ROTATE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the angle of rotation in degrees for the text markers.\",\"help\":\"ROTATE=*number* | *numeric-column*\",\"type\":\"choice\",\"arguments\":[{\"name\":\"number\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"numeric-column\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p0pyp78pn6pkt8n1far0d4qy66fe\"},{\"name\":\"SIZEMAX=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the maximum font size for the largest text marker when a response variable is used to size the text-marker font.\",\"help\":\"SIZEMAX=*dimension&lt;unit&gt;*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0i4gjhmuhmqjkn1b9msr9d3qb9g\"},{\"name\":\"SIZEMAXRESPONSE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the response value that corresponds to the maximum font size for text markers.\",\"help\":\"SIZEMAXRESPONSE=number\\n                     \",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1e5wgzkvpa10cn10e3imbrk5t84\"},{\"name\":\"SIZEMIN=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the minimum font size for text markers when a response variable is used to size the font for text values.\",\"help\":\"SIZEMIN=*dimension&lt;unit&gt;*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p054809npef52an11ug55j3tltxd\"},{\"name\":\"SIZERESPONSE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a response variable that is used to determine the font size for each data value.\",\"help\":\"SIZERESPONSE=numeric-variable\\n                     \",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1w8tuzb3534lin19od3c8zs3no9\"},{\"name\":\"SPLITCHAR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies one or more characters on which the text is always split.\",\"help\":\"SPLITCHAR=*\\\"character-list\\\"*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0a9niicvnvvn6n1ac9zvky93ahs\"},{\"name\":\"SPLITCHARNODROP\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that the split characters are included in the displayed value.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1rt1jgb29pfv7n1bjzm4mpqysy5\"},{\"name\":\"SPLITJUSTIFY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the horizontal alignment of the value text that is being split.\",\"help\":\"SPLITJUSTIFY=LEFT | CENTER | RIGHT                         \",\"type\":\"choice\",\"arguments\":[{\"name\":\"LEFT\",\"type\":\"standalone\"},{\"name\":\"CENTER\",\"type\":\"standalone\"},{\"name\":\"RIGHT\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"p0zpstkgd1abs3n1lw22vb1tgl0n\"},{\"name\":\"SPLITPOLICY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a policy for avoiding collisions among the text markers.\",\"help\":\"SPLITPOLICY=NONE | SPLIT | SPLITALWAYS\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NONE\",\"followsDelimiter\":\"/\",\"description\":\"does not split the text for text markers that collide.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p18ozgd9jnqgm9n1d87hxozjnd0y\"},{\"name\":\"SPLIT\",\"followsDelimiter\":\"/\",\"description\":\"splits the marker text at a split character only if a split is needed at that character in order to make the text fit the available space. No split occurs at split characters that occur where a split is not needed. If the text does not contain any of the specified split characters, then a split does not occur. In that case, if the text does not fit the available space, then it might collide with the adjoining text markers.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n127gctmcxzztbn1q34aigp1zltw\"},{\"name\":\"SPLITALWAYS\",\"followsDelimiter\":\"/\",\"description\":\"splits the marker text at every occurrence of a split character. If the text does not contain any of the specified split characters, then a split does not occur.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1df21p6u76bqbn1q4ye08sclwqk\"}],\"supportSiteTargetFragment\":\"p16fkt6y6lopqfn14gwi3tojecry\"},{\"name\":\"SPLITWIDTH=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the maximum width of each split line, expressed as a character count.\",\"help\":\"SPLITWIDTH=*width-in-characters*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0gvhgxw42bkb4n0z5ookglxcjsa\"},{\"name\":\"STRIP\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that leading and trailing blanks should be stripped from the marker text before it is displayed.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1o1o3m9erwo9hn1b73h72ngn2ax\"},{\"name\":\"TEXTATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the color and font properties of the marker text.\",\"help\":\"TEXTATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"COLOR=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the color of the marker text. You can specify colors using a number of different color-naming schemes. See .\",\"help\":\"COLOR=*color*\",\"type\":\"color\",\"supportSiteTargetFragment\":\"n1plwiipuiwg35n1hqf6sn9jlt2l\"},{\"name\":\"FAMILY=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the font family for the marker text. The SAS ODS styles use TrueType system fonts.\",\"help\":\"FAMILY=\\\"*font-family*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n14rhybd70dlqen1r1ugl941o702\"},{\"name\":\"SIZE=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the font size of the marker text. You can also specify the unit of measurement. The default unit is pixels.\",\"help\":\"SIZE=*n*&lt;*units*&gt;\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0w5zaqz97gn4jn1rf8oicc7pazw\"},{\"name\":\"STYLE=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the font style of the marker text.\",\"help\":\"STYLE= ITALIC | NORMAL\",\"type\":\"choice\",\"supportSiteTargetFragment\":\"n1m27qri00i1dvn1jg7gl7981o9m\"},{\"name\":\"WEIGHT=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the font weight of the marker text.\",\"help\":\"WEIGHT=BOLD | NORMAL\",\"type\":\"choice\",\"supportSiteTargetFragment\":\"p16wokmxxe3vztn1qagujwjw9305\"}],\"supportSiteTargetFragment\":\"p0awc31cv34znkn1tggoczw9qjn6\"},{\"name\":\"TIP=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the data tip information to be displayed when the cursor is positioned over the graphics element.\",\"help\":\"TIP=(*variable-list*) | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"(variable-list)\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"a space-separated list of variables enclosed in parentheses. Data tips are displayed using the data obtained from the specified variables.\",\"help\":\"(*variable-list*) \",\"type\":\"value\",\"supportSiteTargetFragment\":\"p17yuxlzbwuft9n1w37aiy310feid\"},{\"name\":\"NONE\",\"followsDelimiter\":\"/\",\"description\":\"suppresses the data tips from this plot.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n09zs98qv25k34n1ftqv0mr2ia3gd\"}],\"supportSiteTargetFragment\":\"n1f288d3r6wknnn1uyo5kkwfvxltd\"},{\"name\":\"TIPFORMAT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"applies formats to the list of data tip variables that you specify in the TIP= option.\",\"help\":\"TIPFORMAT=(*format-list*)\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1xymudvga5lden1ftl0drwu532qd\"},{\"name\":\"TIPLABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"applies labels to the list of data tip variables that you specify in the TIP= option.\",\"help\":\"TIPLABEL=(*label-list*)\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0gqpik3sbzexcn1rlb79c6avu7md\"},{\"name\":\"TRANSPARENCY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the degree of transparency for the plot.\",\"help\":\"TRANSPARENCY=*value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0tbi9l3diucuin1srg0ddk54j8rc\"},{\"name\":\"URL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies an HTML page to be displayed when parts of the plot are selected.\",\"help\":\"URL=*character-variable*\",\"type\":\"value\",\"arguments\":[{\"name\":\"character-variable\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a variable that contains a valid HTML page reference (HREF) for each plot element that is to have an active link.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p09wsumod9a804n1jib649doz4rzd\"}],\"supportSiteTargetFragment\":\"p0egefmjl60iumn1f8ambriki35ud\"}],\"supportSiteTargetFile\":\"p0oy720vq2vi9sn1uetprhj1pq50.htm\"},{\"name\":\"ATTRIB\",\"description\":\"Associates a format, informat, label, and length with one or more variables.\",\"help\":\"ATTRIB  *variable-list(s)**attribute-list(s)*;\",\"arguments\":[{\"name\":\"variable-list\",\"optional\":true,\"placeholder\":true,\"description\":\"names the variables that you want to associate with the attributes.\",\"help\":\"*variable-list(s)*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1nd0mq22iu6ovn14mz1ot1hwcjia\"},{\"name\":\"FORMAT=\",\"description\":\"associates a format with variables in variable-list.\",\"help\":\"FORMAT=*format*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p08pt9ce6bhq86n18a3zcc97bldza\"},{\"name\":\"INFORMAT=\",\"description\":\"associates an informat with variables in variable-list.\",\"help\":\"INFORMAT=*informat*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n136glco6ritqdn160792yhk9mv1a\"},{\"name\":\"LABEL=\",\"description\":\"associates a label with variables in variable-list.\",\"help\":\"LABEL='*label*' \",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0a9x9io5pi05mn1i4p2cphc7t0na\"}],\"supportSiteTargetFile\":\"n09bxytcjmyp75n1mc29q45qhpmsa.htm\"},{\"name\":\"FORMAT\",\"description\":\"Associates formats with variables.\",\"help\":\"FORMAT *variable-1*&lt;-*variable-n*&gt;&lt;*format-1*&gt;&lt;*variable-1*&lt;-*variable-n*&gt;&lt;*format-2*&gt;&gt; - &lt;DEFAULT=*default-format*&gt;;\",\"arguments\":[{\"name\":\"variable\",\"placeholder\":true,\"description\":\"names one or more variables for SAS to associate with a format. You must specify at least one variable.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1d0cionbspk2tn1ma0m6kjd1ntxa\"},{\"name\":\"format\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the format that is listed for writing the values of the variables.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0oulvct798v2wn1lll17t854rg8a\"},{\"name\":\"DEFAULT=\",\"optional\":true,\"description\":\"specifies a temporary default format for displaying the values of variables that are not listed in the FORMAT statement. These default formats apply only to the current DATA step; they are not permanently associated with variables in the output data set.\",\"help\":\"DEFAULT=*default-format*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0k0jb3arokdz9n1g3q3zizh81g4a\"}],\"supportSiteTargetFile\":\"n1x0d6bnw9wtyun1rhq5p7tis5gsa.htm\"},{\"name\":\"LABEL\",\"description\":\"Assigns descriptive labels to variables.\",\"help\":\"Form 1: Creates a descriptive label for one or more variables.\\nLABEL variable-1=’text-string’ < ...variable-n=’text-string>; \\nForm 2: Removes the label from one or more variables.\\nLABEL variable-1 = ' ' < ...variable-n=’ ‘>; | variable-1 = < ...variable-n= >\",\"arguments\":[{\"name\":\"text-string\",\"placeholder\":true,\"description\":\"specifies a label of up to 256 bytes.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n09u0k5ydxzgr3n1dfznhvex7uuoa\"},{\"name\":\"'\",\"placeholder\":true,\"description\":\"removes a label from a variable. Enclose a single blank space in quotation marks to remove an existing label. You can remove labels from multiple variables in a single LABEL statement:\",\"help\":\"*' '*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1dl99omzes92cn1typpf6yl1ng0a\"}],\"supportSiteTargetFile\":\"n0b8jun5pu2j52n1duycwzzhrtmwa.htm\"},{\"name\":\"WHERE\",\"description\":\"Subsets the input data set by specifying certain conditions that each observation must meet before it is available for processing.\",\"help\":\"WHERE *where-expression*;\",\"arguments\":[{\"name\":\"where-expression\",\"placeholder\":true,\"description\":\"is an arithmetic or logical expression that generally consists of a sequence of operands and operators. For more information about where processing, see .\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0834dlfg85co3n18aqbvenv4b35a\"}],\"supportSiteTargetFile\":\"n1rx5guqu5cxr1n1flpiox5ks7sra.htm\"}],\"supportSiteInformation\":{\"docsetId\":\"grmapref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"n18zwxj3couxmgn161trks2usk2v.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/SGPANEL.json",
    "content": "{\"name\":\"SGPANEL\",\"statements\":[{\"name\":\"PROC SGPANEL\",\"description\":\"Creates a panel of plots from input data.\",\"help\":\"PROC SGPANEL <options>;  \\n\\tPANELBY variable(s)</options>;\\n\\n\\tSTYLEATTRS  </options>\\n\\n\\tBAND X=variable  Y=variable \\n\\t\\tUPPER=numeric-value |  numeric-variable | \\n\\t\\t LOWER=numeric-value numeric-variable </options>;\\n\\n\\tBLOCK X=category-variable   BLOCK=block-variable  </options>;\\n\\n\\tBUBBLE X=variable Y=variable SIZE=numeric-variable</options>;\\n\\n\\tDENSITY response-variable</options>;\\n\\n\\tDOT category-variable<options>;\\n\\n\\tDROPLINE X=variable |  x-axis-value | \\n\\t\\tY=variable y-axis-value</options>;\\n\\n\\tELLIPSE X=numeric-variable Y=numeric-variable</options>;\\n\\n\\tELLIPSEPARM SEMIMAJOR=numeric-value |  numeric-variable |  \\n\\t\\tSEMIMINOR=numeric-value numeric-variable </options>\\n\\n\\tFRINGE numeric-variable </options>;\\n\\n\\tGRADLEGEND <\\\"name\\\"></options>;\\n\\n\\tHBAR category-variable</options>;\\n\\n\\tHBARBASIC category-variable</options>;\\n\\n\\tHBARPARM CATEGORY=category-variable RESPONSE=numeric-variable</options>;\\n\\n\\tHBOX analysis-variable</options>;\\n\\n\\tHEATMAP X=variable Y=variable</options>;\\n\\n\\tHEATMAPPARM X=variable Y=variable\\n\\t\\tCOLORGROUP=variable | COLORRESPONSE=numeric-variable</options>;\\n\\n\\tHIGHLOW  X=variable |  Y=variable \\n\\t\\tHIGH=numeric-variable LOW=numeric-variable</option(s)>;\\n\\n\\tHISTOGRAM response-variable</options>;\\n\\n\\tHLINE category-variable</options>;\\n\\n\\tINSET variable< ...variable-n></options>\\n\\n\\tKEYLEGEND <\\\"name-1\\\"  ... \\\"name-n\\\"></options>;\\n\\n\\tLEGENDITEM TYPE=type NAME=\\\"text-string\\\"</options>;\\n\\n\\tLINEPARM X=numeric-value | numeric-variable | \\n\\t\\tY=numeric-valuenumeric-variable | \\n\\t\\t SLOPE=numeric-value numeric-variable\\n\\t\\t </option(s)>;\\n\\n\\tLOESS  X=numeric-variable Y=numeric-variable</options>;\\n\\n\\tNEEDLE  X=variable Y=numeric-variable</options>;\\n\\n\\tPBSPLINE  X=numeric-variable Y=numeric-variable </options>;\\n\\n\\tPOLYGON X=x-variable Y=y-variable ID=id-variable</options>;\\n\\n\\tREFLINE value(s)</options>;\\n\\n\\tREG X=numeric-variable Y=numeric-variable </options>;\\n\\n\\tSCATTER X=variable Y=variable</options>;\\n\\n\\tSERIES X=variable Y=variable</options>;\\n\\n\\tSPLINE X=variable Y=variable</options>;\\n\\n\\tSTEP X=variable Y=variable</options>;\\n\\n\\tSYMBOLCHAR  NAME=identifier\\n\\t\\t CHAR=\\\"hex-string\\\" | keyword   </options>;\\n\\n\\tSYMBOLIMAGE NAME=identifier IMAGE=\\\"image-file-specification\\\"</options>;\\n\\n\\tTEXT X=variable Y=variable TEXT=variable</options>;\\n\\n\\tVBAR category-variable</options>;\\n\\n\\tVBARBASIC category-variable</options>;\\n\\n\\tVBARPARM CATEGORY=category-variable RESPONSE=numeric-variable</options>;\\n\\n\\tVBOX analysis-variable</options>;\\n\\n\\tVECTOR X=numeric-variable Y=numeric-variable</options>;\\n\\n\\tVLINE category-variable</options>;\\n\\n\\tCOLAXIS <options>;\\n\\n\\tCOLAXISTABLE variable< ...variable-n></options>;\\n\\n\\tROWAXIS <options>;\\n\\n\\tROWAXISTABLE variable< ...variable-n></options>;\\n\\n\\tATTRIB  variable-list(s) attribute-list(s);\\n\\tBY variable-1< ...variable-N><options>;\\n\\tFORMAT variable-1< ...variable-N<format-1>><options>;\\n\\tLABEL variable-1=label-1< ...variable-n=label-n>;\\n\\tWHERE where-expression;\",\"arguments\":[{\"name\":\"ASPECT=\",\"optional\":true,\"description\":\"specifies the aspect ratio of the plot’s wall area.\",\"help\":\"ASPECT=*positive-number*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p142tazuim0duyn1kblhcsbeafwt\"},{\"name\":\"CYCLEATTRS\",\"optional\":true,\"description\":\"specifies whether plots are drawn with unique attributes in the graph.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n12oq0dahzz0z5n1e9ytuxp0pygx\"},{\"name\":\"NOCYCLEATTRS\",\"optional\":true,\"description\":\"specifies whether plots are drawn with unique attributes in the graph.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n12oq0dahzz0z5n1e9ytuxp0pygx\"},{\"name\":\"DATA=\",\"optional\":true,\"description\":\"specifies the SAS data set that contains the variables to process.\",\"help\":\"DATA=*input-data-set*\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"p08b5rys7s45ccn18by9klsgvlwf\"},{\"name\":\"DATTRMAP=\",\"optional\":true,\"description\":\"specifies the discrete attribute map data set that you want to use with the SGSCATTER procedure.\",\"help\":\"DATTRMAP=*discrete-attribute-map-data-set*\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"p1hhs1pivx0f84n19lsr21gglscd\"},{\"name\":\"DESCRIPTION=\",\"optional\":true,\"aliases\":[\"DES=\"],\"description\":\"specifies a description for the output image.\",\"help\":\"DESCRIPTION=\\\"*text-string*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1sqi1ij1ul71kn1n4lf45f6jawi\"},{\"name\":\"NOAUTOLEGEND\",\"optional\":true,\"description\":\"disables automatic legends from being generated.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p076if4pzlcsoqn13qinxlmsws8b\"},{\"name\":\"NOSUBPIXEL\",\"optional\":true,\"description\":\"specifies whether subpixel rendering should be used for rendering line plots and bar charts.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n059670sev4x8qn12lom7kvd593k\"},{\"name\":\"SUBPIXEL\",\"optional\":true,\"description\":\"specifies whether subpixel rendering should be used for rendering line plots and bar charts.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n059670sev4x8qn12lom7kvd593k\"},{\"name\":\"OPAQUE\",\"optional\":true,\"description\":\"specifies whether the graph background is opaque or transparent.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0rq63ntvm6a5vn1hva47kxf2mij\"},{\"name\":\"NOOPAQUE\",\"optional\":true,\"description\":\"specifies whether the graph background is opaque or transparent.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0rq63ntvm6a5vn1hva47kxf2mij\"},{\"name\":\"PAD=\",\"optional\":true,\"description\":\"specifies the amount of extra space to add to the left, right, top, and bottom of the graph.\",\"help\":\"PAD=*dimension*&lt;*units*&gt; | (*pad-options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"LEFT=\",\"description\":\"specifies the amount of extra space to add to the left edge.\",\"help\":\"LEFT= *numeric-value*&lt;*units*&gt;\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0q5kbknlcmwbsn1e6wn7bz9ikhx\"},{\"name\":\"RIGHT=\",\"description\":\"specifies the amount of extra space to add to the right edge.\",\"help\":\"RIGHT= *numeric-value*&lt;*units*&gt;\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0vyljen6p09n6n1od6yrrmdf1lh\"},{\"name\":\"TOP=\",\"description\":\"specifies the amount of extra space to add to the top edge.\",\"help\":\"TOP= *numeric-value*&lt;*units*&gt;\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1xlkrnhzj7qzln10ph13km3rq7i\"},{\"name\":\"BOTTOM=\",\"description\":\"specifies the amount of extra space to add to the bottom edge.\",\"help\":\"BOTTOM= *numeric-value*&lt;*units*&gt;\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1p1n62vbp93t4n1dm4aje8ms2np\"}],\"supportSiteTargetFragment\":\"n0xdcyvzp2iz6tn1puiq0vog8oju\"},{\"name\":\"PCTLEVEL=\",\"optional\":true,\"description\":\"specifies the scope of graph data that is calculated in percentages.\",\"help\":\"PCTLEVEL=BY | CELL | GRAPH | GROUP\",\"type\":\"choice\",\"arguments\":[{\"name\":\"BY\",\"description\":\"the percentages within each BY-group round up to 100%\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1rcv9vu6qw7hin1aoii9869sg7k\"},{\"name\":\"CELL\",\"description\":\"the percentages within each panel cell round up to 100%.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1xi5v6xbsuz97n1g8zln72cr9c7\"},{\"name\":\"GRAPH\",\"description\":\"the percentages across the entire graph round up to 100%\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1qhdjndgzrxivn1gsppp7r1s1jh\"},{\"name\":\"GROUP\",\"description\":\"the percentages across groups within a category round up to 100%.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n02txdelq2gunqn1lyi7g3nekhmm\"}],\"supportSiteTargetFragment\":\"n01yzfrug6nydin1qqri9odk8cww\"},{\"name\":\"PCTNDEC=\",\"optional\":true,\"description\":\"specifies the number of decimal spaces to be used to calculate the percent values.\",\"help\":\"PCTNDEC=*numeric-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0nngc73zu2ut6n1lpo7u8zhespy\"},{\"name\":\"RATTRMAP=\",\"optional\":true,\"description\":\"specifies the range attribute map data set that you want to use with the procedure.\",\"help\":\"RATTRMAP=*range-attribute-map-data-set*\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"n0fokyu8xers1rn1qedjbtxd2pks\"},{\"name\":\"SGANNO=\",\"optional\":true,\"description\":\"specifies the SG annotation data set that you want to use.\",\"help\":\"SGANNO=*annotation-data-set*\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"n0kv4ff80b3kc4n1fq1e7iauriwe\"}],\"supportSiteTargetFile\":\"p121sy0a2jycdfn13zygo90opvra.htm\"},{\"name\":\"PANELBY\",\"description\":\"Specifies one or more classification variables for the panel, the layout type, and other options for the panel.\",\"help\":\"PANELBY *variable(s)*&lt;/*options*&gt;;\",\"arguments\":[{\"name\":\"variable\",\"placeholder\":true,\"description\":\"specifies one or more classification variables for the panel.\",\"help\":\"*variable(s)*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n08b3ij2s8tah9n14xd5rdxibl6w\"},{\"name\":\"BORDER\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies whether borders are displayed around each cell in the panel.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1sbfrwmqm1z76n1m5fzskq7cknb\"},{\"name\":\"NOBORDER\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies whether borders are displayed around each cell in the panel.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1sbfrwmqm1z76n1m5fzskq7cknb\"},{\"name\":\"COLHEADERPOS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the location of the column headings in the panel.\",\"help\":\"COLHEADERPOS=TOP | BOTTOM | BOTH\",\"type\":\"choice\",\"arguments\":[{\"name\":\"TOP\",\"followsDelimiter\":\"/\",\"description\":\"places column headings at the top of each column.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n13hudykd0j5ghn1tbjk3fz0fcel\"},{\"name\":\"BOTTOM\",\"followsDelimiter\":\"/\",\"description\":\"places column headings at the bottom of each column.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0w0fj26t812s1n10ymsmxfhpldi\"},{\"name\":\"BOTH\",\"followsDelimiter\":\"/\",\"description\":\"places column headings at the top and bottom of each column.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1b60c8xwxmg80n12ozfzrzbdp5d\"}],\"supportSiteTargetFragment\":\"p0ywoq5pajs92mn1f4mtyh80ue4i\"},{\"name\":\"COLUMNS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the number of columns in the panel.\",\"help\":\"COLUMNS=*n*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0m00t48tbr27tn189jn1quaabe0\"},{\"name\":\"HEADERATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the appearance of the column headings.\",\"help\":\"HEADERATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"n1rsdobpxxkdz3n1k64783nw7xm3\"},{\"name\":\"HEADERBACKCOLOR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a background color for the cell headers.\",\"help\":\"HEADERBACKCOLOR=*color*\",\"type\":\"color\",\"supportSiteTargetFragment\":\"n1f2f4ue2qngfrn12w8apu1t87lf\"},{\"name\":\"HEADERPACK\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies whether the header cells are consolidated into a comma-separated list in order to save space.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n13ea200v5vxr3n1p0h1664svav2\"},{\"name\":\"HEADERPACK=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies whether the header cells are consolidated into a comma-separated list in order to save space.\",\"help\":\"HEADERPACK=*integer-value-count*\",\"type\":\"value\",\"arguments\":[{\"name\":\"integer-value-count\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the number of headers to consolidate on a header line before splitting the text to the next line.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1qs91k5qrgi2xn1jlauhfz2sz66\"}],\"supportSiteTargetFragment\":\"n13ea200v5vxr3n1p0h1664svav2\"},{\"name\":\"HEADERSEP=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies one or more characters to place between each value in packed cell headers.\",\"help\":\"HEADERSEP=\\\"*string*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0xd9r3rwht1vln1eteyqbf6enmy\"},{\"name\":\"LAYOUT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the type of layout that is used for the panel.\",\"help\":\"LAYOUT=LATTICE | PANEL | COLUMNLATTICE | ROWLATTICE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"LATTICE\",\"followsDelimiter\":\"/\",\"description\":\"when you specify two classification variables, arranges the cells so that the values of the first variable are columns and the values of the second variable are rows.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p05g0ivseiiwrsn1ezf1kq4l21p9\"},{\"name\":\"PANEL\",\"followsDelimiter\":\"/\",\"description\":\"arranges the cells in rows and columns.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1kgotfhty23x5n119zx6kri14y5\"},{\"name\":\"COLUMNLATTICE\",\"followsDelimiter\":\"/\",\"description\":\"arranges the cells in a single row.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0rmuy9uiv5r9ln1te3h5m6wy27p\"},{\"name\":\"ROWLATTICE\",\"followsDelimiter\":\"/\",\"description\":\"arranges the cells in a single column.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0babce73me3bfn1k5p8vs60w6i4\"}],\"supportSiteTargetFragment\":\"n0y3y48tvouvfsn1vzicui79btmx\"},{\"name\":\"MISSING\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"processes missing values as a valid classification value and creates cells for it.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0pbibmwp4366kn1dx866fywz03m\"},{\"name\":\"NOHEADER\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"hides the cell headings.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0flub9z5dqjq0n19xibihsodgp2\"},{\"name\":\"NOHEADERBORDER\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"removes the border from the cell headings.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0a3okild61xbun1smwzxqs1brbz\"},{\"name\":\"NOVARNAME\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"removes the variable names from the cell headings of a panel layout, or from the row and column headings of a lattice layout.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p13rfjkzyuwy7kn1rjtpmmyj6bjf\"},{\"name\":\"NOWALL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"turns off the display of the graph wall.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0311cwqptjf7on1hwyutnjeatp3\"},{\"name\":\"ONEPANEL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"places the entire panel in a single output image.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0ddzw7ijptfi2n1no88zka1d3os\"},{\"name\":\"PROPORTIONAL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"changes the size of the cells in proportion to the content of the discrete axis.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0tunvqkw6xbpyn10l6og3l0cj0r\"},{\"name\":\"ROWHEADERPOS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the location of the row headings in the panel.\",\"help\":\"ROWHEADERPOS=LEFT | RIGHT | BOTH\",\"type\":\"choice\",\"arguments\":[{\"name\":\"LEFT\",\"followsDelimiter\":\"/\",\"description\":\"places row headings at the left side of each row.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0pvw17edmhkgzn0zwfc2n5kz771\"},{\"name\":\"RIGHT\",\"followsDelimiter\":\"/\",\"description\":\"places row headings at the right side of each row.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n03x3kb28zqaorn1rz3j5m1wqbsw\"},{\"name\":\"BOTH\",\"followsDelimiter\":\"/\",\"description\":\"places row headings at the left side and the right side of each row.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0lfrljvkkhq0rn1gx4zfyfa90lg\"}],\"supportSiteTargetFragment\":\"p0k6okrn0l43atn1oz8w0zq534wa\"},{\"name\":\"ROWS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the number of rows in the panel.\",\"help\":\"ROWS=*n*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0i15en68vs1mhn1i6k37xqhw50b\"},{\"name\":\"SKIPEMPTYCELLS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies whether the external axes skip the empty cells in a partially filled grid.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p06egxhs66kkl3n1vlp9jzftzt8j\"},{\"name\":\"SORT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the sort order of the panel cells.\",\"help\":\"SORT=*sort-option* | (*sort-option-1* ...*sort-option-n*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"sort-option\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(sort-option-1sort-option-n)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p09ubjs13icn5gn1ca2at8g7cr1p\"},{\"name\":\"SPACING=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the number of pixels between the rows and columns in the panel.\",\"help\":\"SPACING=*n*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n00dr1ddwwuxorn1srwehspg80sn\"},{\"name\":\"SPARSE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"enables the SGPANEL procedure to create empty cells for crossings of the classification variables that are not present in the input data set.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0lmp8qyzbty34n1n1lkqv7v8bi7\"},{\"name\":\"START=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies whether the first cell in the panel is placed at the upper left corner or the lower left corner.\",\"help\":\"START=TOPLEFT | BOTTOMLEFT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"TOPLEFT\",\"followsDelimiter\":\"/\",\"description\":\"places the cell for the first data crossing in the upper left corner.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0o5sznu1kvjaen1ce5qdikf1dk6\"},{\"name\":\"BOTTOMLEFT\",\"followsDelimiter\":\"/\",\"description\":\"places the cell for the first data crossing in the lower left corner.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0n580dl1fe6x6n1fxfiia2nyzxq\"}],\"supportSiteTargetFragment\":\"n0g3erq0bbiluvn1wrr3h2nf13e8\"},{\"name\":\"UNISCALE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"scales the shared axes in the panel to be identical.\",\"help\":\"UNISCALE=COLUMN | ROW | ALL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"COLUMN\",\"followsDelimiter\":\"/\",\"description\":\"scales all of the column axes in the panel to have identical ranges.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1rgpm8pmc0pbln13ygw1fdharnl\"},{\"name\":\"ROW\",\"followsDelimiter\":\"/\",\"description\":\"scales all of the row axes in the panel to have identical ranges.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1v99ho3qwk3k9n1vkhixcfd6ywe\"},{\"name\":\"ALL\",\"followsDelimiter\":\"/\",\"description\":\"scales all of the column axes to be identical, and also scales all of the row axes to be identical.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0byfvdl2n2sq3n14dbscbnwdwtc\"}],\"supportSiteTargetFragment\":\"p1wsegbk0v9jbzn18c659jj65hsn\"}],\"supportSiteTargetFile\":\"n0wqazuv6959fnn1fask7mi68lla.htm\"},{\"name\":\"STYLEATTRS\",\"description\":\"Specifies group attributes for a graph. The statement enables you to change group colors, markers, and so on, within the procedure, without having to change the ODS style template.\",\"help\":\"STYLEATTRS  &lt;*options*&gt;;\",\"arguments\":[{\"name\":\"BACKCOLOR=\",\"optional\":true,\"description\":\"specifies the background color of the graph area.\",\"help\":\"BACKCOLOR=*color*\",\"type\":\"color\",\"supportSiteTargetFragment\":\"p0019w0kivs3bnn11hryq6aefgc5\"},{\"name\":\"DATACOLORS=\",\"optional\":true,\"description\":\"specifies the fill colors for the graphics elements.\",\"help\":\"DATACOLORS=(*color-list*)\",\"type\":\"color\",\"supportSiteTargetFragment\":\"n1m8du4hb3ghsqn17xapycv6fkke\"},{\"name\":\"DATACONTRASTCOLORS=\",\"optional\":true,\"description\":\"specifies the contrast colors for the graphics elements, such as lines and markers.\",\"help\":\"DATACONTRASTCOLORS=(*color-list*)\",\"type\":\"color\",\"supportSiteTargetFragment\":\"n1tu8u6291rpb9n1toz339l6baoe\"},{\"name\":\"DATAFILLPATTERNS=\",\"optional\":true,\"description\":\"specifies the list of graph fill patterns.\",\"help\":\"DATAFILLPATTERNS=(*fill-pattern-list*)\",\"type\":\"value\",\"arguments\":[{\"name\":\"fill-pattern-list\",\"placeholder\":true,\"description\":\"a space-separated list of fill patterns, enclosed in parentheses.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1x2ewj978vjg6n1fqby2mxle3ck\"}],\"supportSiteTargetFragment\":\"n0rryshq3yn6t8n10n3woq8c9ohm\"},{\"name\":\"DATALINEPATTERNS=\",\"optional\":true,\"description\":\"specifies the list of line patterns for the graph data lines.\",\"help\":\"DATALINEPATTERNS=(*line-pattern-list*)\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0w32bn9ozibo4n1qsrrkduod1sg\"},{\"name\":\"DATASYMBOLS=\",\"optional\":true,\"description\":\"specifies the list of marker symbols for the graph data.\",\"help\":\"DATASYMBOLS=(*marker-symbol-list*)\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p15385lk6p5wean1ottmczi8n9il\"},{\"name\":\"WALLCOLOR=\",\"optional\":true,\"description\":\"specifies the color of the plot wall area.\",\"help\":\"WALLCOLOR=*color*\",\"type\":\"color\",\"supportSiteTargetFragment\":\"p10w9wlmvukxran1tsuk2sjobwzt\"}],\"supportSiteTargetFile\":\"p0qva1ws6twy5xn0zdl3nslyynvp.htm\"},{\"name\":\"BAND\",\"description\":\"Creates a band that highlights part of a plot.\",\"help\":\"BAND X=variable |  Y=variable |   \\n UPPER=numeric-value  |  numeric-variable\\n LOWER=numeric-valuenumeric-variable\\n</option(s)>;\",\"arguments\":[{\"name\":\"X=\",\"description\":\"specifies a variable that is used to plot the band along the X axis.\",\"help\":\"X=*variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0je0lrw55ihden1mkpeygd817xt\"},{\"name\":\"Y=\",\"description\":\"specifies a variable that is used to plot the band along the Y axis.\",\"help\":\"Y=*variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1tnm9ial04f4nn11s6xxfq7eo6h\"},{\"name\":\"LOWER=\",\"description\":\"specifies the lower value for the band.\",\"help\":\"LOWER=*numeric-value* | *numeric-variable*\",\"type\":\"choice\",\"arguments\":[{\"name\":\"numeric-value\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"numeric-variable\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p0nk5poeqn1s82n1rfsdoyi7n27e\"},{\"name\":\"UPPER=\",\"description\":\"specifies the upper value for the band.\",\"help\":\"UPPER=*numeric-value* | *numeric-variable*\",\"type\":\"choice\",\"arguments\":[{\"name\":\"numeric-value\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"numeric-variable\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"n18psj1z8shl00n15z164aymoudp\"},{\"name\":\"ATTRID=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the value of the ID variable in a discrete attribute map data set.\",\"help\":\"ATTRID=*character-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1uxs2avsp1mrtn19pateg7icm4d\"},{\"name\":\"CURVELABELATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the appearance of the labels in the plot when you specify a curve label.\",\"help\":\"CURVELABELATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p0esjf6kp12lygn1vmox9avl10od\"},{\"name\":\"CURVELABELLOWER=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"adds a label to the lower edge of the band.\",\"help\":\"CURVELABELLOWER=\\\"*text-string*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1f72b2y78khu0n1pbxwd3itzrph\"},{\"name\":\"CURVELABELPOS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the location of the curve label.\",\"help\":\"CURVELABELPOS=MIN | MAX | START | END\",\"type\":\"choice\",\"arguments\":[{\"name\":\"MIN\",\"followsDelimiter\":\"/\",\"description\":\"places the label at the part of the curve closest to the minimum X-axis value.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1m56g5l84fkwdn1u5mkh5x8hepu\"},{\"name\":\"MAX\",\"followsDelimiter\":\"/\",\"description\":\"places the label at the part of the curve closest to the maximum X-axis value.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1jxzfa9pi7hhvn149ftuc11uh2g\"},{\"name\":\"START\",\"followsDelimiter\":\"/\",\"description\":\"places the curve label at the first point on the curve.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p100ei09a4f5fgn1q8uadwsk15kx\"},{\"name\":\"END\",\"followsDelimiter\":\"/\",\"description\":\"places the curve label at the last point on the curve.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1jehr4fch1cffn1fbgdkxieipy7\"}],\"supportSiteTargetFragment\":\"n1noykf3p7tyvjn165s7iv9adsxm\"},{\"name\":\"CURVELABELUPPER=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"adds a label to the upper edge of the band.\",\"help\":\"CURVELABELUPPER=\\\"*text-string*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p12quc4hjs91vmn1jnhdgv95c0qa\"},{\"name\":\"FILL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies whether the area fill is visible.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0gth8yhv5t47gn1kin8i8nw8ybb\"},{\"name\":\"NOFILL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies whether the area fill is visible.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0gth8yhv5t47gn1kin8i8nw8ybb\"},{\"name\":\"FILLATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the fill color and transparency.\",\"help\":\"FILLATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p0hsyjx1at62w1n1akl6mco17le9\"},{\"name\":\"FILLPATTERN\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"enables the display of line fill patterns for the plot.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1rfcg52cmb01gn1ho28yt0z04p6\"},{\"name\":\"FILLPATTERNATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the line-fill color and pattern.\",\"help\":\"FILLPATTERNATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the name of a style element.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n16slmtjq8rjq2n1p1rnk8l5iiq0\"},{\"name\":\"COLOR=\",\"followsDelimiter\":\"/\",\"description\":\"specifies a color to use for the fill lines.\",\"help\":\"COLOR=*color*\",\"type\":\"color\",\"supportSiteTargetFragment\":\"p0ydkeub4j3ntln1gf1e1tvev3cx\"},{\"name\":\"PATTERN=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the type of line pattern to use for the fill.\",\"help\":\"PATTERN=*line-pattern*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p076ecgpkp0a8rn19liu4ivc8tpa\"}],\"supportSiteTargetFragment\":\"n1h0vxz6qoyx8qn10w4qlqtmdcxu\"},{\"name\":\"GROUP=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a variable that is used to group the data.\",\"help\":\"GROUP=*variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1q6geugvz6xe1n1iurlbmfgi4ai\"},{\"name\":\"LEGENDLABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a label that identifies the elements from the band plot in the legend.\",\"help\":\"LEGENDLABEL=\\\"*text-string*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1fp9l2x1fmkibn11lm96gqzv8o4\"},{\"name\":\"LINEATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the appearance of the lines in the plot.\",\"help\":\"LINEATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p130mw71pp9hi9n1t71a8nd0mbjt\"},{\"name\":\"MODELNAME=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the name of a plot from which to derive the interpolation for the band.\",\"help\":\"MODELNAME=\\\"*plot-name*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1avmchvwv25bbn1tc6hsamw6gfx\"},{\"name\":\"NAME=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a name for the plot.\",\"help\":\"NAME=\\\"*text-string*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p00f81g82wmzr5n15sik0znnzfy9\"},{\"name\":\"NOEXTEND\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"when you specify numeric values for UPPER= and LOWER=, specifies that the band does not extend beyond the first and last data points in the plot.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p096k9tepe62d4n1bclqr6va43kc\"},{\"name\":\"NOMISSINGGROUP\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that missing values of the group variable are not included in the plot.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p10f2y6ohzaef0n1khkdefk83ht4\"},{\"name\":\"OUTLINE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies whether the outlines of the band are visible.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1ejnugcpnvk3dn1bs3r4hu4o8ni\"},{\"name\":\"NOOUTLINE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies whether the outlines of the band are visible.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1ejnugcpnvk3dn1bs3r4hu4o8ni\"},{\"name\":\"SPLITCHAR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies one or more characters on which the text used for curve labels is always split.\",\"help\":\"SPLITCHAR=\\\"*character-list*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n05jgzwoidye68n1c6o6l7ixt4fh\"},{\"name\":\"SPLITCHARNODROP\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that the split characters are included in the displayed value.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n16zlyxz8f2e9fn1p1sv3c52m1it\"},{\"name\":\"SPLITJUSTIFY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the horizontal alignment of the value text that is being split.\",\"help\":\"SPLITJUSTIFY=LEFT | CENTER | RIGHT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"LEFT\",\"type\":\"standalone\"},{\"name\":\"CENTER\",\"type\":\"standalone\"},{\"name\":\"RIGHT\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"n17xhll23zit14n1kzud4wxurf59\"},{\"name\":\"TIP=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the data tip information to be displayed when the cursor is positioned over the graphics element.\",\"help\":\"TIP=(*variable-list*) | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"(variable-list)\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"a space-separated list of variables enclosed in parentheses.\",\"help\":\"(*variable-list*) \",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1m6zmye01y4lvn104i7gn57dfpo\"},{\"name\":\"NONE\",\"followsDelimiter\":\"/\",\"description\":\"suppresses the data tips from this plot.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n02szuj3p61ekvn1c2scb9cyaar4\"}],\"supportSiteTargetFragment\":\"p1vzdm59cf0i9qn1jz5pwqz5hm71\"},{\"name\":\"TIPFORMAT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"applies formats to the list of data tip variables that you specify in the TIP= option.\",\"help\":\"TIPFORMAT=(*format-list*)\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p17xpdoc2x7peln1gkubt92md28h\"},{\"name\":\"TIPLABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"applies labels to the list of data tip variables that you specify in the TIP= option.\",\"help\":\"TIPLABEL=(*label-list*)\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n126ol9w7pwp12n1irzzust1e2tw\"},{\"name\":\"TRANSPARENCY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the degree of transparency for the plot.\",\"help\":\"TRANSPARENCY=*value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p165beuigjohtnn1tb3zi07el186\"},{\"name\":\"TYPE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies how the data points for the lower and upper band boundaries are connected.\",\"help\":\"TYPE=SERIES | STEP\",\"type\":\"choice\",\"arguments\":[{\"name\":\"SERIES\",\"followsDelimiter\":\"/\",\"description\":\"the data points are connected directly using line segments, as in a series plot.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n17sfmfg0ewjwin1g2al6mhxp1ti\"},{\"name\":\"STEP\",\"followsDelimiter\":\"/\",\"description\":\"the data points are connected using a step function, as in a step plot.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1gct007g1fdoen1sv81whvmrd9r\"}],\"supportSiteTargetFragment\":\"p0kx2tqznhh3bun17tgcn39sopsz\"}],\"supportSiteTargetFile\":\"n08ftlxo22d8grn1bhcaanqkg59g.htm\"},{\"name\":\"BLOCK\",\"description\":\"Creates one or more rectangular blocks containing text values. The block widths are determined by a specified block variable.\",\"help\":\"BLOCK X=*category-variable*BLOCK=*block-variable*&lt;/option(s)&gt;;\",\"arguments\":[{\"name\":\"X=\",\"description\":\"specifies X-axis positions.\",\"help\":\"X=*category-variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p038t342kfnr1fn1pqp3uwgc3r2g\"},{\"name\":\"BLOCK=\",\"description\":\"specifies the variable that classifies the observations into distinct subsets.\",\"help\":\"BLOCK=*block-variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p082i6t61xmt81n108uazgx82eri\"},{\"name\":\"ALTFILLATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the appearance of alternate fills for the blocks.\",\"help\":\"ALTFILLATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p17g96ql97zig2n13jok8o2h9ov4\"},{\"name\":\"ATTRID=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the value of the ID variable in a discrete attribute map data set.\",\"help\":\"ATTRID=*character-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1uxs2avsp1mrtn19pateg7icm4da\"},{\"name\":\"BLOCKLABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a column to use for alternative text in the blocks.\",\"help\":\"BLOCKLABEL=*variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0er9wdyao5dson1dahl9fa1xtft\"},{\"name\":\"CLASS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"creates a stack of block plots, with one block plot for each unique value of the specified variable.\",\"help\":\"CLASS=*variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0n4sla3b613ojn157dq7ss6sswb\"},{\"name\":\"EXTENDMISSING\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"extends the previous block value if the current value is missing.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0htr8gzb3fn71n1xvaxsunxvgjm\"},{\"name\":\"FILL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies whether the blocks are filled.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n188d6n70xcaemn1fo5y8o0qrf2c\"},{\"name\":\"NOFILL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies whether the blocks are filled.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n188d6n70xcaemn1fo5y8o0qrf2c\"},{\"name\":\"FILLATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the appearance of the fill for the blocks.\",\"help\":\"FILLATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p1s0550kpt2i85n19hlcv2tke6li\"},{\"name\":\"FILLTYPE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies how the blocks are filled.\",\"help\":\"FILLTYPE=MULTICOLOR | ALTERNATE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"MULTICOLOR\",\"followsDelimiter\":\"/\",\"description\":\"Blocks are filled with the COLOR attribute of the GraphData1– GraphDatan style elements.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0q10m8b47uelan1fyjkdjq8gig9\"},{\"name\":\"ALTERNATE\",\"followsDelimiter\":\"/\",\"description\":\"Blocks are filled alternating between the colors specified by the FILLATTRS= and ALTFILLATTRS= options.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1gxzk2uzo3ddun14inv4f9gv0ow\"}],\"supportSiteTargetFragment\":\"p1kh8viqtqcy4kn1uqmtdl25pqpa\"},{\"name\":\"LABEL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies an external label for a single block plot.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1b5hnez0ef59gn1d98u2an9cl9q\"},{\"name\":\"LABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies an external label for a single block plot.\",\"help\":\"LABEL=\\\"*text-string*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1b5hnez0ef59gn1d98u2an9cl9q\"},{\"name\":\"NOLABEL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies an external label for a single block plot.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1b5hnez0ef59gn1d98u2an9cl9q\"},{\"name\":\"LABELATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the color and font attributes of the external block labels.\",\"help\":\"LABELATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"n0g3wceltrd60wn1eaharu08nevi\"},{\"name\":\"LABELPOS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the position for the block label for a single block plot.\",\"help\":\"LABELPOS=BOTTOM | LEFT | RIGHT | TOP\",\"type\":\"choice\",\"arguments\":[{\"name\":\"BOTTOM\",\"type\":\"standalone\"},{\"name\":\"LEFT\",\"type\":\"standalone\"},{\"name\":\"RIGHT\",\"type\":\"standalone\"},{\"name\":\"TOP\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"n1vpnm44gmptcjn1q5kuyiw2t40w\"},{\"name\":\"LINEATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the appearance of the block outlines.\",\"help\":\"LINEATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p1qvig6zur3crzn1vqruyxhavh80\"},{\"name\":\"NAME=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a name for the plot.\",\"help\":\"NAME=\\\"*text-string*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p00f81g82wmzr5n15sik0znnzfy9a\"},{\"name\":\"NOMISSINGCLASS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses blocks that correspond to missing values of the CLASS= value.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0hffd2dtfpsqfn15f6zfxm2dohs\"},{\"name\":\"OUTLINE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies whether the blocks have outlines.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p17agxacd974hgn1vhgkttsdteqf\"},{\"name\":\"NOOUTLINE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies whether the blocks have outlines.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p17agxacd974hgn1vhgkttsdteqf\"},{\"name\":\"NOVALUES\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies whether the block values are displayed or hidden.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0cfc6ff2f1v1fn17fbc4lw4uxwz\"},{\"name\":\"VALUES\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies whether the block values are displayed or hidden.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0cfc6ff2f1v1fn17fbc4lw4uxwz\"},{\"name\":\"SPLITCHAR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies one or more characters on which the block text values are split according to the fit policy that is in effect.\",\"help\":\"SPLITCHAR=\\\"*character-list*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0q0fzsezqvr6fn138ei5fiiytov\"},{\"name\":\"SPLITCHARNODROP\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that the split characters are included in the displayed value.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n08fpk55bbcvy9n16sqkrxsid3gi\"},{\"name\":\"TRANSPARENCY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the degree of transparency for the blocks.\",\"help\":\"TRANSPARENCY=*numeric-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0xe0hcsqdklton11tvhq4s91662\"},{\"name\":\"VALUEATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the appearance of the block text values.\",\"help\":\"VALUEATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p1e85f7zm034g5n1cqax8b82tfvy\"},{\"name\":\"VALUEFITPOLICY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies how text values are adjusted to fit within the containing block.\",\"help\":\"VALUEFITPOLICY=NONE | SHRINK | SPLIT | SPLITALWAYS | TRUNCATE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NONE\",\"followsDelimiter\":\"/\",\"description\":\"No attempt is made to fit values that collide with the text values in adjacent blocks.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0p5maidwl57h4n1g1qkml301bw6\"},{\"name\":\"SHRINK\",\"followsDelimiter\":\"/\",\"description\":\"All values are reduced in font size until they all fit.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0iuw8c5ljj2i1n12fp84zewhkzw\"},{\"name\":\"SPLIT\",\"followsDelimiter\":\"/\",\"description\":\"If a value does not fit within the containing block, it is split at a split character.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1wvymogwei7men0z2f3hqn3ubc1\"},{\"name\":\"SPLITALWAYS\",\"followsDelimiter\":\"/\",\"description\":\"Text values are split at a split character in all blocks.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p156ow3ar5eo3hn1uvybv15qqwuq\"},{\"name\":\"TRUNCATE\",\"followsDelimiter\":\"/\",\"description\":\"Any value that does not fit is truncated.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0g8q06zbus9ixn1qk31pvh6a70z\"}],\"supportSiteTargetFragment\":\"p12te0rp58ypm8n15r8fc4ci2h7w\"},{\"name\":\"VALUEHALIGN=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the horizontal alignment of the value text within the blocks.\",\"help\":\"VALUEHALIGN=LEFT | CENTER | RIGHT | START\",\"type\":\"choice\",\"arguments\":[{\"name\":\"LEFT\",\"followsDelimiter\":\"/\",\"description\":\"left-aligned within the block\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0t7t9v5c62fk6n15uv9226clzdg\"},{\"name\":\"CENTER\",\"followsDelimiter\":\"/\",\"description\":\"center-aligned within the block\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0gviqqjujsor8n12noh15z5009m\"},{\"name\":\"RIGHT\",\"followsDelimiter\":\"/\",\"description\":\"right-aligned within the block\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p19i0m8yggdt9jn16hp7ah7998jp\"},{\"name\":\"START\",\"followsDelimiter\":\"/\",\"description\":\"center-aligned at the starting value of the block\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0uvq1kf2klrixn1hzhyjbmwmkue\"}],\"supportSiteTargetFragment\":\"p16y1qgfdf0ubtn1n7681n1zf9el\"},{\"name\":\"VALUEVALIGN=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the vertical alignment of the value text within the blocks.\",\"help\":\"VALUEVALIGN=TOP | CENTER | BOTTOM\",\"type\":\"choice\",\"arguments\":[{\"name\":\"TOP\",\"type\":\"standalone\"},{\"name\":\"CENTER\",\"type\":\"standalone\"},{\"name\":\"BOTTOM\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"n1j4pkbx19j59bn1hs2cqgqy2llu\"}],\"supportSiteTargetFile\":\"n0yk0tlrt9505dn1ijgd7tpx4t43.htm\"},{\"name\":\"BUBBLE\",\"description\":\"Creates a bubble plot in which two variables determine the location of the bubble centers and a third variable controls the size of the bubble.\",\"help\":\"BUBBLE X=*variable* Y=*variable* SIZE=*numeric-variable*&lt;/ option(s)&gt;;\",\"arguments\":[{\"name\":\"X=\",\"description\":\"specifies the variable for the X axis.\",\"help\":\"X=*variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n03zvlzf2ik8cnn1twqbssq3yat4\"},{\"name\":\"Y=\",\"description\":\"specifies the variable for the Y axis.\",\"help\":\"Y=*variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0a9pkru2scw46n1ka5ublyhpfv5\"},{\"name\":\"SIZE=\",\"description\":\"specifies the variable that controls the size of the bubbles.\",\"help\":\"SIZE=*numeric-variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1s1bovz2mpl05n1kkrmpbyj4hcy\"},{\"name\":\"ABSSCALE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that the SIZE= column values are interpreted in the same units as the axes rather than as relative values.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0wg9yzxgckl81n19upxx8ph77cl\"},{\"name\":\"ATTRID=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the value of the ID variable in a discrete attribute map data set.\",\"help\":\"ATTRID=*character-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1uxs2avsp1mrtn19pateg7icm4db\"},{\"name\":\"BRADIUSMAX=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the size of the radius of the largest bubble.\",\"help\":\"BRADIUSMAX=*numeric-value*&lt;*units*&gt;\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n01xn5pkhepz7ln1a09x6t2wun68\"},{\"name\":\"BRADIUSMIN=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the size of the radius of the smallest bubble.\",\"help\":\"BRADIUSMIN=*numeric-value*&lt;*units*&gt;\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n14es0s349vbhmn16jfj84idoqut\"},{\"name\":\"COLORMODEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a color ramp that is to be used to determine response colors.\",\"help\":\"COLORMODEL=*style-element* | (*color-list*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the name of a style element.\",\"help\":\"*style-element* \",\"type\":\"value\",\"supportSiteTargetFragment\":\"n18psxv7sqmtj2n1v6wlf47btlsj\"},{\"name\":\"(color-list)\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a space-separated list of colors to use in the color ramp.\",\"type\":\"color\",\"supportSiteTargetFragment\":\"p0wnu5ewzeub7kn12i56v2nlcug8\"}],\"supportSiteTargetFragment\":\"n0z1120sgbulvyn1q3n66xdpygjj\"},{\"name\":\"COLORRESPONSE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the numeric column that is used to map colors to a continuous color ramp.\",\"help\":\"COLORRESPONSE=*numeric-column* \",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0zb6oty4r633rn1ab2g6k8k1bt5\"},{\"name\":\"DATALABEL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"displays a label for each data point.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0vc78nhlnzxh7n1v9wkvah2h9te\"},{\"name\":\"DATALABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"displays a label for each data point.\",\"help\":\"DATALABEL=*variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0vc78nhlnzxh7n1v9wkvah2h9te\"},{\"name\":\"DATALABELATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the appearance of the labels in the plot when you use the DATALABEL= option.\",\"help\":\"DATALABELATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p0e0ya27a7hlj5n164pkuwzf2j5u\"},{\"name\":\"DATALABELPOS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the location of the data label with respect to the plot.\",\"help\":\"DATALABELPOS=*position*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1298lqwj801t1n1r350oa1zbsqy\"},{\"name\":\"DATASKIN=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a special effect to be used on the plot.\",\"help\":\"DATASKIN=NONE | CRISP | GLOSS | MATTE | PRESSED | SHEEN\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NONE\",\"type\":\"standalone\"},{\"name\":\"CRISP\",\"type\":\"standalone\"},{\"name\":\"GLOSS\",\"type\":\"standalone\"},{\"name\":\"MATTE\",\"type\":\"standalone\"},{\"name\":\"PRESSED\",\"type\":\"standalone\"},{\"name\":\"SHEEN\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"n1wqoylzvajtm1n1rpjpq7jwq9ei\"},{\"name\":\"DRAWORDER=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies whether the bubbles are drawn according to bubble size or according to data order.\",\"help\":\"DRAWORDER=SIZE | DATA\",\"type\":\"choice\",\"arguments\":[{\"name\":\"SIZE\",\"followsDelimiter\":\"/\",\"description\":\"draws the bubbles according to bubble size, from the largest to the smallest.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n07c3phjvrrc84n1nrbj8q1xjrkd\"},{\"name\":\"DATA\",\"followsDelimiter\":\"/\",\"description\":\"draws the bubbles according to data order.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0i78m2qaf3966n1hrcuhhp4odfj\"}],\"supportSiteTargetFragment\":\"n15ezdtsszw0khn102mlij1xhzdq\"},{\"name\":\"FILL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies whether the bubbles are filled.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1dalk6iflk2j8n1mzik67k9g877\"},{\"name\":\"NOFILL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies whether the bubbles are filled.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1dalk6iflk2j8n1mzik67k9g877\"},{\"name\":\"FILLATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the fill color and transparency.\",\"help\":\"FILLATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p0hsyjx1at62w1n1akl6mco17le9a\"},{\"name\":\"FILLPATTERN\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"enables the display of line fill patterns for the plot.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1rfcg52cmb01gn1ho28yt0z04p6a\"},{\"name\":\"FILLPATTERNATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the line-fill color and pattern.\",\"help\":\"FILLPATTERNATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the name of a style element.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n16slmtjq8rjq2n1p1rnk8l5iiq0a\"},{\"name\":\"COLOR=\",\"followsDelimiter\":\"/\",\"description\":\"specifies a color to use for the fill lines.\",\"help\":\"COLOR=*color*\",\"type\":\"color\",\"supportSiteTargetFragment\":\"p0ydkeub4j3ntln1gf1e1tvev3cxa\"},{\"name\":\"PATTERN=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the type of line pattern to use for the fill.\",\"help\":\"PATTERN=*line-pattern*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p076ecgpkp0a8rn19liu4ivc8tpaa\"}],\"supportSiteTargetFragment\":\"n1h0vxz6qoyx8qn10w4qlqtmdcxua\"},{\"name\":\"GROUP=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a variable that is used to group the data.\",\"help\":\"GROUP=*variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1ogxq7l5q7z3an1d350vfsd6xye\"},{\"name\":\"LEGENDLABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the label that identifies the bubble plot in the legend.\",\"help\":\"LEGENDLABEL=\\\"*text-string*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1crn98c2epvmmn1j7jifzwi8eeb\"},{\"name\":\"LINEATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the appearance of the outlines for the bubbles.\",\"help\":\"LINEATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p11ndxikumahl2n1ee0taerfwnpz\"},{\"name\":\"NAME=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a name for the plot.\",\"help\":\"NAME=\\\"*text-string*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p00f81g82wmzr5n15sik0znnzfy9b\"},{\"name\":\"NOMISSINGGROUP\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that missing values of the group variable are not included in the plot.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0fdp4w182w1csn1klig70d44c7q\"},{\"name\":\"OUTLINE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies whether the outlines of the bubbles are visible.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1ey4wnk5bv40ln19ryx5mwsep3m\"},{\"name\":\"NOOUTLINE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies whether the outlines of the bubbles are visible.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1ey4wnk5bv40ln19ryx5mwsep3m\"},{\"name\":\"PROPORTIONAL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that proportional scaling be applied to the SIZE= column values.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0vesvg31dfspsn1wox11f51mxx1\"},{\"name\":\"RATTRID=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the value of the ID variable in a range attribute map data set.\",\"help\":\"RATTRID=*character-value* \",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0fm3fy2vuky40n1x8yt0aim3hur\"},{\"name\":\"SPLITCHAR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies one or more characters on which the text for data labels is always split.\",\"help\":\"SPLITCHAR=\\\"*character-list*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n18bn0zlnq288pn1f2cp7l2x169p\"},{\"name\":\"SPLITCHARNODROP\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that the split characters are included in the displayed value.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n16zlyxz8f2e9fn1p1sv3c52m1ita\"},{\"name\":\"SPLITJUSTIFY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the horizontal alignment of the value text that is being split.\",\"help\":\"SPLITJUSTIFY=LEFT | CENTER | RIGHT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"LEFT\",\"type\":\"standalone\"},{\"name\":\"CENTER\",\"type\":\"standalone\"},{\"name\":\"RIGHT\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"n17xhll23zit14n1kzud4wxurf59a\"},{\"name\":\"TIP=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the data tip information to be displayed when the cursor is positioned over the graphics element.\",\"help\":\"TIP=(*variable-list*) | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"(variable-list)\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"a space-separated list of variables enclosed in parentheses.\",\"help\":\"(*variable-list*) \",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1m6zmye01y4lvn104i7gn57dfpoa\"},{\"name\":\"NONE\",\"followsDelimiter\":\"/\",\"description\":\"suppresses the data tips from this plot.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n02szuj3p61ekvn1c2scb9cyaar4a\"}],\"supportSiteTargetFragment\":\"p1vzdm59cf0i9qn1jz5pwqz5hm71a\"},{\"name\":\"TIPFORMAT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"applies formats to the list of data tip variables that you specify in the TIP= option.\",\"help\":\"TIPFORMAT=(*format-list*)\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p17xpdoc2x7peln1gkubt92md28ha\"},{\"name\":\"TIPLABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"applies labels to the list of data tip variables that you specify in the TIP= option.\",\"help\":\"TIPLABEL=(*label-list*)\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n126ol9w7pwp12n1irzzust1e2twa\"},{\"name\":\"TRANSPARENCY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the degree of transparency for the plot.\",\"help\":\"TRANSPARENCY=*value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p165beuigjohtnn1tb3zi07el186a\"},{\"name\":\"URL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies an HTML page to be displayed when parts of the plot are selected.\",\"help\":\"URL=*character-variable*\",\"type\":\"value\",\"arguments\":[{\"name\":\"character-variable\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a variable that contains a valid HTML page reference (HREF) for each plot element that is to have an active link.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1kbi4uhax9tzon1rukcqelmr68r\"}],\"supportSiteTargetFragment\":\"n0jx60ib3ia9lgn0zqatbajgfsz4\"}],\"supportSiteTargetFile\":\"p03x1wriq5zyx8n11gizik10g7vy.htm\"},{\"name\":\"DENSITY\",\"description\":\"Creates a density curve that shows the distribution of values in your data.\",\"help\":\"DENSITY  *response-variable*&lt;/option(s)&gt;;\",\"arguments\":[{\"name\":\"response-variable\",\"placeholder\":true,\"description\":\"specifies the variable for the X axis.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n17u5wo3t35pqzn13iu8hh213va1\"},{\"name\":\"ATTRID=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the value of the ID variable in a discrete attribute map data set.\",\"help\":\"ATTRID=*character-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1uxs2avsp1mrtn19pateg7icm4dc\"},{\"name\":\"CURVELABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a label for the density curve.\",\"help\":\"CURVELABEL=\\\"*text-string*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n15sq4qgg14o0mn1315zd3gy3uxs\"},{\"name\":\"CURVELABELATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the appearance of the labels in the plot when you use the CURVELABEL= option.\",\"help\":\"CURVELABELATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"n0tdtttethzl0cn1bwc9mjicbbl7\"},{\"name\":\"CURVELABELPOS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the location of the curve label.\",\"help\":\"CURVELABELPOS=END | MAX | MIN | START\",\"type\":\"choice\",\"arguments\":[{\"name\":\"END\",\"followsDelimiter\":\"/\",\"description\":\"places the curve label at the last point on the curve.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1v5n966d9qglgn1ay4m8wdt4yix\"},{\"name\":\"MAX\",\"followsDelimiter\":\"/\",\"description\":\"places the label at the part of the curve closest to the maximum X-axis value.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p054lixxcauvwan1husc2fggbpln\"},{\"name\":\"MIN\",\"followsDelimiter\":\"/\",\"description\":\"places the label at the part of the curve closest to the minimum X-axis value.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1l5vqvvj9zfpgn1c9dnaekmuctg\"},{\"name\":\"START\",\"followsDelimiter\":\"/\",\"description\":\"places the curve label at the first point on the curve.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0t74qxvd3ionjn1q28hxx4ey8qz\"}],\"supportSiteTargetFragment\":\"p09e0pdbc2bt23n1trg5fk4ijfq3\"},{\"name\":\"FREQ=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a variable for the frequency count for each observation in the input data.\",\"help\":\"FREQ=*numeric-variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p008vk7d26otpon1avqg25jhido4\"},{\"name\":\"GROUP=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a variable that is used to group the data.\",\"help\":\"GROUP=*variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0m7hwsiru2s1in1ammb7je310ec\"},{\"name\":\"LEGENDLABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a label that identifies the density plot in the legend.\",\"help\":\"LEGENDLABEL=\\\"*text-string*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1biyh33el515nn1edf9ze51p9x8\"},{\"name\":\"LINEATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the appearance of the density line.\",\"help\":\"LINEATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p0yro7wpv6jr0qn1w4xf15kuf4jv\"},{\"name\":\"NAME=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a name for the plot.\",\"help\":\"NAME=\\\"*text-string*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p00f81g82wmzr5n15sik0znnzfy9c\"},{\"name\":\"SCALE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the scaling that is used for the response axis.\",\"help\":\"SCALE=COUNT | DENSITY | PERCENT | PROPORTION\",\"type\":\"choice\",\"arguments\":[{\"name\":\"COUNT\",\"followsDelimiter\":\"/\",\"description\":\"the axis displays the frequency count.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p051adb0m2sdq8n1sj1iodqz4otg\"},{\"name\":\"DENSITY\",\"followsDelimiter\":\"/\",\"description\":\"the axis displays the density estimate values.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0ru1v80e36spen1licl9i17vpff\"},{\"name\":\"PERCENT\",\"followsDelimiter\":\"/\",\"description\":\"the axis displays values as a percentage of the total.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0zx6yc1ru5oq0n1l9cqnwxv5pdn\"},{\"name\":\"PROPORTION\",\"followsDelimiter\":\"/\",\"description\":\"the axis displays values in proportion to the total.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0i61dlft54rvgn1n60lnykl7zh8\"}],\"supportSiteTargetFragment\":\"n1rxktehhsq7ftn1wlmie9kwlmjt\"},{\"name\":\"SPLITCHAR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies one or more characters on which the text for curve labels is always split.\",\"help\":\"SPLITCHAR=\\\"*character-list*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p147upmdjzt6xen12p1eh571gf68\"},{\"name\":\"SPLITCHARNODROP\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that the split characters are included in the displayed value.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n16zlyxz8f2e9fn1p1sv3c52m1itb\"},{\"name\":\"SPLITJUSTIFY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the horizontal alignment of the value text that is being split.\",\"help\":\"SPLITJUSTIFY=LEFT | CENTER | RIGHT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"LEFT\",\"type\":\"standalone\"},{\"name\":\"CENTER\",\"type\":\"standalone\"},{\"name\":\"RIGHT\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"n17xhll23zit14n1kzud4wxurf59b\"},{\"name\":\"TRANSPARENCY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the degree of transparency for the plot.\",\"help\":\"TRANSPARENCY=*value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p165beuigjohtnn1tb3zi07el186b\"},{\"name\":\"TYPE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the type of distribution curve that is used for the density plot.\",\"help\":\"TYPE=NORMAL &lt;(*normal-opts*)&gt; | KERNEL &lt;(*kernel-opts*)&gt;\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NORMAL\",\"followsDelimiter\":\"/\",\"description\":\"specifies a normal density estimate, with a mean and a standard deviation.\",\"help\":\"NORMAL &lt;(*normal-opts*)&gt;\",\"type\":\"standaloneOrValue\",\"arguments\":[{\"name\":\"MU=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the mean value that is used in the density function equation.\",\"help\":\"MU=*numeric-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1kasoilcj36lzn14x0gwmx2dk1v\"},{\"name\":\"SIGMA=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the standard deviation value that is used in the density function equation.\",\"help\":\"SIGMA=*numeric-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1wt34rzu3tuebn1hncxzfrkiwwu\"}],\"supportSiteTargetFragment\":\"p1ffmye4f6qvb5n1d811iz0645pa\"},{\"name\":\"KERNEL\",\"followsDelimiter\":\"/\",\"description\":\"specifies a nonparametric kernel density estimate.\",\"help\":\"KERNEL &lt;(*kernel-opts*)&gt;\",\"type\":\"standaloneOrValue\",\"arguments\":[{\"name\":\"C=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the standardized bandwidth for a number that is greater than 0 and less than or equal to 100.\",\"help\":\"C=*numeric-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n13wokniqrld6xn121u12u257rna\"},{\"name\":\"WEIGHT=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the weight function.\",\"help\":\"WEIGHT=NORMAL | QUADRATIC | TRIANGULAR\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NORMAL\",\"type\":\"standalone\"},{\"name\":\"QUADRATIC\",\"type\":\"standalone\"},{\"name\":\"TRIANGULAR\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"p0fr6gr4kynzugn1o69x04iztv6u\"}],\"supportSiteTargetFragment\":\"p03n2vubu76a8wn18rz94l5cts9j\"}],\"supportSiteTargetFragment\":\"p1d9bck91swz4gn17o5x22yjptqq\"},{\"name\":\"WEIGHT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies how observations are weighted.\",\"help\":\"WEIGHT=*numeric-variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0bjkzpnw874n9n1u7bjxlfvpz30\"}],\"supportSiteTargetFile\":\"n1xutt9m4ozqxun1vgu5w8lirban.htm\"},{\"name\":\"DOT\",\"description\":\"Creates a dot plot that summarizes the values of a category variable.\",\"help\":\"DOT *category-variable*&lt;/*options*&gt;;\",\"arguments\":[{\"name\":\"category-variable\",\"placeholder\":true,\"description\":\"specifies the variable whose values determine the categories of data represented by the dots.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1fkb78se5ywczn1wzho7nagc2at\"},{\"name\":\"ALPHA=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the confidence level for the confidence limits.\",\"help\":\"ALPHA=*numeric-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1lgv1f16331ken1ilal7bp3ajgc\"},{\"name\":\"ATTRID=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the value of the ID variable in a discrete attribute map data set.\",\"help\":\"ATTRID=*character-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1uxs2avsp1mrtn19pateg7icm4dd\"},{\"name\":\"CATEGORYORDER=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the order in which the categories are arranged.\",\"help\":\"CATEGORYORDER=RESPASC | RESPDESC\",\"type\":\"choice\",\"arguments\":[{\"name\":\"RESPASC\",\"followsDelimiter\":\"/\",\"description\":\"sorts by the response values in ascending order.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1al4jo1hdrigyn1ni32cpoafl7i\"},{\"name\":\"RESPDESC\",\"followsDelimiter\":\"/\",\"description\":\"sorts by the response values in descending order.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p179c2pjor4w07n1s9oaweg28uzb\"}],\"supportSiteTargetFragment\":\"p1q2dvkcp86a8mn1llp2cpkkws8g\"},{\"name\":\"CLUSTERWIDTH=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the width of the group clusters as a fraction of the midpoint spacing.\",\"help\":\"CLUSTERWIDTH=*numeric-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0ajeu9czbr9dvn11rh269ho494h\"},{\"name\":\"COLORMODEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a color ramp that is to be used to determine response colors.\",\"help\":\"COLORMODEL=*style-element* | (*color-list*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the name of a style element.\",\"help\":\"*style-element* \",\"type\":\"value\",\"supportSiteTargetFragment\":\"n18psxv7sqmtj2n1v6wlf47btlsja\"},{\"name\":\"(color-list)\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a space-separated list of colors to use in the color ramp.\",\"type\":\"color\",\"supportSiteTargetFragment\":\"p0wnu5ewzeub7kn12i56v2nlcug8a\"}],\"supportSiteTargetFragment\":\"n0z1120sgbulvyn1q3n66xdpygjja\"},{\"name\":\"COLORRESPONSE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the numeric column that is used to map colors to a continuous color ramp.\",\"help\":\"COLORRESPONSE=*numeric-column* \",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0zb6oty4r633rn1ab2g6k8k1bt5a\"},{\"name\":\"COLORSTAT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the statistic to use for computing the response colors when the COLORRESPONSE= option is specified.\",\"help\":\"COLORSTAT=FREQ | PCT | SUM | MEAN | MEDIAN\",\"type\":\"choice\",\"arguments\":[{\"name\":\"FREQ\",\"followsDelimiter\":\"/\",\"description\":\"frequency count\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p12xc75e2qzvq4n1w9649m1nvgrg\"},{\"name\":\"PCT\",\"followsDelimiter\":\"/\",\"aliases\":[\"PERCENT\"],\"description\":\"percentages between 0 and 100\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0bz971h6vkie2n1otdmb2k056dk\"},{\"name\":\"SUM\",\"followsDelimiter\":\"/\",\"description\":\"sum values for the color response\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1sjc7ihicz9pin1on2fcwxu1c95\"},{\"name\":\"MEAN\",\"followsDelimiter\":\"/\",\"description\":\"mean values for the color response\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1ee758lpkisr1n1njjhjaim8tzm\"},{\"name\":\"MEDIAN\",\"followsDelimiter\":\"/\",\"description\":\"median values for the color response\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0xzz25zpggjeen1muf9nq0gj914\"}],\"supportSiteTargetFragment\":\"n1dtbamt5wv1m4n1wl5eo4hw7426\"},{\"name\":\"DATALABEL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"displays a label for each data point.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0myfjf9kaqis3n1nr1ifpy1tpj2\"},{\"name\":\"DATALABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"displays a label for each data point.\",\"help\":\"DATALABEL=*variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0myfjf9kaqis3n1nr1ifpy1tpj2\"},{\"name\":\"DATALABELATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the appearance of the labels in the plot when you use the DATALABEL= option.\",\"help\":\"DATALABELATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p0e0ya27a7hlj5n164pkuwzf2j5ua\"},{\"name\":\"DATALABELPOS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the location of the data label with respect to the plot.\",\"help\":\"DATALABELPOS=*position*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1298lqwj801t1n1r350oa1zbsqya\"},{\"name\":\"DATASKIN=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a special effect to be used on the plot.\",\"help\":\"DATASKIN=NONE | CRISP | GLOSS | MATTE | PRESSED | SHEEN\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NONE\",\"type\":\"standalone\"},{\"name\":\"CRISP\",\"type\":\"standalone\"},{\"name\":\"GLOSS\",\"type\":\"standalone\"},{\"name\":\"MATTE\",\"type\":\"standalone\"},{\"name\":\"PRESSED\",\"type\":\"standalone\"},{\"name\":\"SHEEN\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"n1wqoylzvajtm1n1rpjpq7jwq9eia\"},{\"name\":\"DISCRETEOFFSET=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies an amount to offset all dots from discrete category values.\",\"help\":\"DISCRETEOFFSET=*numeric-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1tag7oq4xfyegn1f5grd5vjz62p\"},{\"name\":\"FILLEDOUTLINEDMARKERS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that markers have a fill and an outline.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0o5uqdckml6sen1x4l4kg0ndl4n\"},{\"name\":\"FREQ=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a variable for the frequency count for each observation in the input data.\",\"help\":\"FREQ=*numeric-variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0imur3526o3kkn1pyptwbea09xi\"},{\"name\":\"GROUP=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a variable that is used to group the data.\",\"help\":\"GROUP=*variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n10ufvorhfxblmn1pvhuicydx28w\"},{\"name\":\"GROUPDISPLAY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies how to display grouped dots.\",\"help\":\"GROUPDISPLAY=CLUSTER | OVERLAY\",\"type\":\"choice\",\"arguments\":[{\"name\":\"CLUSTER\",\"followsDelimiter\":\"/\",\"description\":\"grouped items are drawn adjacent to each other.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1f9g1imvgdc3xn1o4qmhc3dsaxt\"},{\"name\":\"OVERLAY\",\"followsDelimiter\":\"/\",\"description\":\"grouped items are drawn at the exact coordinate and might overlap.\",\"help\":\"OVERLAY \",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0gedf37npwg28n19wqi2annun4n\"}],\"supportSiteTargetFragment\":\"p1sbthcj5qood8n1amm2o864l67s\"},{\"name\":\"GROUPORDER=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the ordering of the groups within a category.\",\"help\":\"GROUPORDER=DATA | REVERSEDATA | ASCENDING | DESCENDING\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DATA\",\"followsDelimiter\":\"/\",\"description\":\"orders the groups within a category in data order of the group variable.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1olglc4d6w5xtn1975koececghg\"},{\"name\":\"REVERSEDATA\",\"followsDelimiter\":\"/\",\"description\":\"orders the groups within a category in the reverse data order of the group variable.\",\"help\":\"REVERSEDATA \",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n19zwzvwl75rxun1kbxu50jrgzjj\"},{\"name\":\"ASCENDING\",\"followsDelimiter\":\"/\",\"description\":\"orders the groups within a category in ascending order of the group variable.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0dd45nyc2fae3n1ne4koepnc2w8\"},{\"name\":\"DESCENDING\",\"followsDelimiter\":\"/\",\"description\":\"orders the groups within a category in descending order of the group variable.\",\"help\":\"DESCENDING \",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0tsocv1fpdf1un1mcfikx2mnrql\"}],\"supportSiteTargetFragment\":\"p0sm1j07xn1rg2n16hsii0x2d6fd\"},{\"name\":\"LEGENDLABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the label that identifies the dot plot in the legend.\",\"help\":\"LEGENDLABEL=\\\"*text-string*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1aqf5gk53u1ton1htsmpxkn9ytv\"},{\"name\":\"LIMITATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the appearance of the limit lines in the plot.\",\"help\":\"LIMITATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"n17zb4kco403nkn1ig9jvcp1fsfs\"},{\"name\":\"LIMITCAPSCALE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a positive number to use as a multiplier for changing the default width of the limit-bar cap (serif).\",\"help\":\"LIMITCAPSCALE=*positive-number*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1dpcq2cxmhivln1ecgm46ylp35s\"},{\"name\":\"LIMITS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies which limit lines to display.\",\"help\":\"LIMITS=UPPER | LOWER | BOTH\",\"type\":\"choice\",\"arguments\":[{\"name\":\"BOTH\",\"followsDelimiter\":\"/\",\"description\":\"adds lower and upper limit lines to the plot.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n052nr92rzqrjzn17gfh8b8o6zxj\"},{\"name\":\"LOWER\",\"followsDelimiter\":\"/\",\"description\":\"adds lower limit lines to the plot.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1mfdxwiptji1bn1l91fw6r3hrtd\"},{\"name\":\"UPPER\",\"followsDelimiter\":\"/\",\"description\":\"adds upper limit lines to the plot.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0fifauorv3jden15wh7xf226vct\"}],\"supportSiteTargetFragment\":\"p1m3y04xqty78gn1ciwqrgs9j918\"},{\"name\":\"LIMITSTAT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the statistic for the limit lines.\",\"help\":\"LIMITSTAT=CLM | STDDEV | STDERR\",\"type\":\"choice\",\"arguments\":[{\"name\":\"CLM\",\"followsDelimiter\":\"/\",\"description\":\"confidence limits\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n18c0pe6meutzzn18bbekxb5xr2c\"},{\"name\":\"STDDEV\",\"followsDelimiter\":\"/\",\"description\":\"standard deviation\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0ua7lv5bv1l8qn1g6279209kim9\"},{\"name\":\"STDERR\",\"followsDelimiter\":\"/\",\"description\":\"standard error\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1dsawpqf1c4pjn1o2yumc2uw3qp\"}],\"supportSiteTargetFragment\":\"p0tyoxdgh88m7hn1bw4hnxza7ll2\"},{\"name\":\"MARKERATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the appearance of the markers in the plot.\",\"help\":\"MARKERATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p1xcqyhh3df9i0n1abw7ry3ns0o5\"},{\"name\":\"MARKERFILLATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the color of the marker fill.\",\"help\":\"MARKERFILLATTRS=*style-element* |  (COLOR=*color*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(COLOR=)\",\"type\":\"color\"}],\"supportSiteTargetFragment\":\"n1rpbcs7lrnofun13lxhxu52hi72\"},{\"name\":\"MARKEROUTLINEATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the appearance of the marker outlines.\",\"help\":\"MARKEROUTLINEATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"n1p0zhoitcokdbn1rwa93j2qjjf6\"},{\"name\":\"MISSING\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"accepts a missing value as a valid category value.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1lf04aujmaa31n1q11phih290vt\"},{\"name\":\"NAME=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a name for the plot.\",\"help\":\"NAME=\\\"*text-string*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p00f81g82wmzr5n15sik0znnzfy9d\"},{\"name\":\"NOLIMITCAPS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses the serif cap on limit lines, if limit lines are displayed.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1mixps2ivdfpwn19q90m3vhqff8\"},{\"name\":\"NUMSTD=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the number of standard units for the limit lines, when you specify LIMITSTAT= STDDEV or LIMITSTAT=STDERR.\",\"help\":\"NUMSTD=*n*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1olptadmttmj5n182z9x7zwtbbk\"},{\"name\":\"RATTRID=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the value of the ID variable in a range attribute map data set.\",\"help\":\"RATTRID=*character-value* \",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0fm3fy2vuky40n1x8yt0aim3hura\"},{\"name\":\"RESPONSE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a numeric response variable for the plot.\",\"help\":\"RESPONSE=*response-variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0a8zpbfyypupcn1onendkz0fec6\"},{\"name\":\"SPLITCHAR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies one or more characters on which the text for data labels is always split.\",\"help\":\"SPLITCHAR=\\\"*character-list*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n18bn0zlnq288pn1f2cp7l2x169pa\"},{\"name\":\"SPLITCHARNODROP\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that the split characters are included in the displayed value.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n16zlyxz8f2e9fn1p1sv3c52m1itc\"},{\"name\":\"SPLITJUSTIFY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the horizontal alignment of the value text that is being split.\",\"help\":\"SPLITJUSTIFY=LEFT | CENTER | RIGHT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"LEFT\",\"type\":\"standalone\"},{\"name\":\"CENTER\",\"type\":\"standalone\"},{\"name\":\"RIGHT\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"n17xhll23zit14n1kzud4wxurf59c\"},{\"name\":\"STAT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the statistic for the horizontal axis.\",\"help\":\"STAT=FREQ | MEAN | MEDIAN | PERCENT | SUM\",\"type\":\"choice\",\"arguments\":[{\"name\":\"FREQ\",\"followsDelimiter\":\"/\",\"description\":\"frequencies of the response or category variable.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1g1v98t6iwp0ln14une6fe6x3yn\"},{\"name\":\"MEAN\",\"followsDelimiter\":\"/\",\"description\":\"the mean of the response variable.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1mfe58fahbkzkn1jvtu138bgoqx\"},{\"name\":\"MEDIAN\",\"followsDelimiter\":\"/\",\"description\":\"the median of the response variable.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1ja0xjeahnag0n15dcgfckmbg4y\"},{\"name\":\"PERCENT\",\"followsDelimiter\":\"/\",\"aliases\":[\"PCT\"],\"description\":\"the percentage of the response or category variable.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n127f005zy3makn1ks3thzh8t1bm\"},{\"name\":\"SUM\",\"followsDelimiter\":\"/\",\"description\":\"the sum of the response variable.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0ikrh3ko5pjx4n122u22n4qqbk6\"}],\"supportSiteTargetFragment\":\"p16iff4ymg5l4ln1amc44j7vbxkl\"},{\"name\":\"STATLABEL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies whether the response variable statistic is displayed in the axis and legend labels.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1tdeu3euj3i6bn157eaerbvluq6\"},{\"name\":\"NOSTATLABEL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies whether the response variable statistic is displayed in the axis and legend labels.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1tdeu3euj3i6bn157eaerbvluq6\"},{\"name\":\"TIP=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the data tip information to be displayed when the cursor is positioned over the graphics element.\",\"help\":\"TIP=(*variable-list*) | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"(variable-list)\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"a space-separated list of variables enclosed in parentheses.\",\"help\":\"(*variable-list*) \",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1m6zmye01y4lvn104i7gn57dfpob\"},{\"name\":\"NONE\",\"followsDelimiter\":\"/\",\"description\":\"suppresses the data tips from this plot.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n02szuj3p61ekvn1c2scb9cyaar4b\"}],\"supportSiteTargetFragment\":\"p1vzdm59cf0i9qn1jz5pwqz5hm71b\"},{\"name\":\"TIPFORMAT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"applies formats to the list of data tip variables that you specify in the TIP= option.\",\"help\":\"TIPFORMAT=(*format-list*)\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p17xpdoc2x7peln1gkubt92md28hb\"},{\"name\":\"TIPLABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"applies labels to the list of data tip variables that you specify in the TIP= option.\",\"help\":\"TIPLABEL=(*label-list*)\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n126ol9w7pwp12n1irzzust1e2twb\"},{\"name\":\"TRANSPARENCY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the degree of transparency for the plot.\",\"help\":\"TRANSPARENCY=*value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p165beuigjohtnn1tb3zi07el186c\"},{\"name\":\"URL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies an HTML page to be displayed when parts of the plot are selected.\",\"help\":\"URL=*character-variable*\",\"type\":\"value\",\"arguments\":[{\"name\":\"character-variable\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a variable that contains a valid HTML page reference (HREF) for each plot element that is to have an active link.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1kbi4uhax9tzon1rukcqelmr68ra\"}],\"supportSiteTargetFragment\":\"n0jx60ib3ia9lgn0zqatbajgfsz4a\"},{\"name\":\"WEIGHT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies how observations are weighted.\",\"help\":\"WEIGHT=*numeric-variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p15uwmus658g3sn1t0zd35lwaoft\"}],\"supportSiteTargetFile\":\"n06per63rgne8ln1p4los2fvfqym.htm\"},{\"name\":\"DROPLINE\",\"description\":\"Creates one or more drop lines from data points to one or both axes. The line or lines can be horizontal, vertical, or both.\",\"help\":\"DROPLINE X=variable |  x-axis-value\\nY=variable |  y-axis-value</options>;\",\"arguments\":[{\"name\":\"X=\",\"description\":\"specifies the X coordinate of the drop line or drop lines.\",\"help\":\"X=*variable* | *x-axis-value*\",\"type\":\"choice\",\"arguments\":[{\"name\":\"variable\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"x-axis-value\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"n0mufu7pm367v0n1u5i4nfiqceu8\"},{\"name\":\"Y=\",\"description\":\"specifies the Y coordinate of the drop line or drop lines.\",\"help\":\"Y=*variable* | *y-axis-value*\",\"type\":\"choice\",\"arguments\":[{\"name\":\"variable\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"y-axis-value\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p07pqthln963xbn1ryivq9vw44on\"},{\"name\":\"DATASKIN=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a special effect to be used on the plot.\",\"help\":\"DATASKIN=NONE | CRISP | GLOSS | MATTE | PRESSED | SHEEN\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NONE\",\"type\":\"standalone\"},{\"name\":\"CRISP\",\"type\":\"standalone\"},{\"name\":\"GLOSS\",\"type\":\"standalone\"},{\"name\":\"MATTE\",\"type\":\"standalone\"},{\"name\":\"PRESSED\",\"type\":\"standalone\"},{\"name\":\"SHEEN\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"n1wqoylzvajtm1n1rpjpq7jwq9eib\"},{\"name\":\"DISCRETEOFFSET=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies an amount to offset all drop lines from discrete X or Y values.\",\"help\":\"DISCRETEOFFSET=*numeric-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1hphvsi3p9r5on1ug2aulgaobj7\"},{\"name\":\"DROPTO=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the axis to which the line is dropped.\",\"help\":\"DROPTO=BOTH | X | Y\",\"type\":\"choice\",\"arguments\":[{\"name\":\"BOTH\",\"followsDelimiter\":\"/\",\"description\":\"draws droplines to both axes.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1guvr3ug5573un1n8dp0pdk45eg\"},{\"name\":\"X\",\"followsDelimiter\":\"/\",\"description\":\"draws droplines to the X axis.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0y4n13emo6uran1d2gaz0d1fbt5\"},{\"name\":\"Y\",\"followsDelimiter\":\"/\",\"description\":\"draws droplines to the Y axis.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1apuz8alsl2rkn1130xze53t5ri\"}],\"supportSiteTargetFragment\":\"p0grec91msczxln1tjhals8fnwsm\"},{\"name\":\"LABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"creates labels for each drop line.\",\"help\":\"LABEL=*variable* | \\\"*text-string*\\\"\",\"type\":\"choice\",\"arguments\":[{\"name\":\"variable\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"a variable for the label value.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0sa97dzdprttbn12fvftrg2kq0k\"},{\"name\":\"\\\"text-string\\\"\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"a text string for the label value.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0zj52kq9rvei7n105vn0dv16vz4\"}],\"supportSiteTargetFragment\":\"p0izbgi0wpdel0n11wmulmnkgr4i\"},{\"name\":\"LABELATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the appearance of the labels.\",\"help\":\"LABELATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"n1lqfkghkqoizzn0ztkynwunoe2y\"},{\"name\":\"LEGENDLABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a label that identifies the plot in the legend.\",\"help\":\"LEGENDLABEL=\\\"*text-string*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0nv7qsbg8m3w8n142cwp4ca9ewf\"},{\"name\":\"LINEATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the appearance of the drop line.\",\"help\":\"LINEATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"n1c2u6ac4dkolcn1xvr22lbte5de\"},{\"name\":\"NAME=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a name for the plot.\",\"help\":\"NAME=\\\"*text-string*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p00f81g82wmzr5n15sik0znnzfy9e\"},{\"name\":\"NOCLIP\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"extends the plot axes to contain the drop lines.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0n5cj21n82pc5n1b57s7cxrfr2p\"},{\"name\":\"TRANSPARENCY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the degree of transparency for the drop line.\",\"help\":\"TRANSPARENCY=*value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0nj7m0x33k7tsn1g3ilwcnan8w8\"}],\"supportSiteTargetFile\":\"p0h519gxzmi5uwn0ztrxtnkcmeju.htm\"},{\"name\":\"ELLIPSE\",\"description\":\"Adds a confidence or prediction ellipse to a primary plot.\",\"help\":\"ELLIPSE X=*numeric-variable* Y=*numeric-variable*&lt;/option(s)&gt;;\",\"arguments\":[{\"name\":\"X=\",\"description\":\"specifies a numeric variable for the X axis.\",\"help\":\"X=*numeric-variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p17icuc97q424rn15x9c1i7qbi49\"},{\"name\":\"Y=\",\"description\":\"specifies a numeric variable for the Y axis.\",\"help\":\"Y=*numeric-variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n036as1mb4al0nn19sflqdmas2pz\"},{\"name\":\"ALPHA=\",\"optional\":true,\"description\":\"specifies the confidence level for the ellipse.\",\"help\":\"ALPHA=*numeric-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0yruvpzd6rrfun1qwr92wvxfll1\"},{\"name\":\"FILL\",\"optional\":true,\"description\":\"specifies whether the area fill is visible.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1gdk2a7ov424xn1qb85kuwr2psx\"},{\"name\":\"NOFILL\",\"optional\":true,\"description\":\"specifies whether the area fill is visible.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1gdk2a7ov424xn1qb85kuwr2psx\"},{\"name\":\"FILLATTRS=\",\"optional\":true,\"description\":\"specifies the fill color and transparency.\",\"help\":\"FILLATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p0hsyjx1at62w1n1akl6mco17le9b\"},{\"name\":\"FILLPATTERN\",\"optional\":true,\"description\":\"enables the display of line fill patterns for the plot.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1rfcg52cmb01gn1ho28yt0z04p6b\"},{\"name\":\"FILLPATTERNATTRS=\",\"optional\":true,\"description\":\"specifies the line-fill color and pattern.\",\"help\":\"FILLPATTERNATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"description\":\"specifies the name of a style element.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n16slmtjq8rjq2n1p1rnk8l5iiq0b\"},{\"name\":\"COLOR=\",\"description\":\"specifies a color to use for the fill lines.\",\"help\":\"COLOR=*color*\",\"type\":\"color\",\"supportSiteTargetFragment\":\"p0ydkeub4j3ntln1gf1e1tvev3cxb\"},{\"name\":\"PATTERN=\",\"description\":\"specifies the type of line pattern to use for the fill.\",\"help\":\"PATTERN=*line-pattern*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p076ecgpkp0a8rn19liu4ivc8tpab\"}],\"supportSiteTargetFragment\":\"n1h0vxz6qoyx8qn10w4qlqtmdcxub\"},{\"name\":\"FREQ=\",\"optional\":true,\"description\":\"specifies a variable for the frequency count for each observation in the input data.\",\"help\":\"FREQ=*numeric-variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p008vk7d26otpon1avqg25jhido4a\"},{\"name\":\"GROUP=\",\"optional\":true,\"description\":\"specifies a variable that is used to group the data.\",\"help\":\"GROUP=*variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0pcknqci1w3w5n0z6ioxluu4daa\"},{\"name\":\"LEGENDLABEL=\",\"optional\":true,\"description\":\"specifies a label that identifies the ellipse in the legend.\",\"help\":\"LEGENDLABEL=\\\"*text-string*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1psa4h76l5kson0z63zzz7lvrqc\"},{\"name\":\"LINEATTRS=\",\"optional\":true,\"description\":\"specifies the appearance of the outlines for the ellipse.\",\"help\":\"LINEATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p1rv9446ww3851n1wubi22vwu6a2\"},{\"name\":\"NAME=\",\"optional\":true,\"description\":\"specifies a name for the plot.\",\"help\":\"NAME=\\\"*text-string*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p00f81g82wmzr5n15sik0znnzfy9f\"},{\"name\":\"NOMISSINGGROUP\",\"optional\":true,\"description\":\"specifies that missing values of the group variable are not included in the plot.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0fdp4w182w1csn1klig70d44c7qa\"},{\"name\":\"OUTLINE\",\"optional\":true,\"description\":\"specifies whether the outlines of the ellipse are visible.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1q4x206l3i81gn191zaahntse09\"},{\"name\":\"NOOUTLINE\",\"optional\":true,\"description\":\"specifies whether the outlines of the ellipse are visible.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1q4x206l3i81gn191zaahntse09\"},{\"name\":\"TRANSPARENCY=\",\"optional\":true,\"description\":\"specifies the degree of transparency for the plot.\",\"help\":\"TRANSPARENCY=*value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p165beuigjohtnn1tb3zi07el186d\"},{\"name\":\"TYPE=\",\"optional\":true,\"description\":\"specifies the type of ellipse.\",\"help\":\"TYPE=MEAN | PREDICTED\",\"type\":\"choice\",\"arguments\":[{\"name\":\"MEAN\",\"type\":\"standalone\"},{\"name\":\"PREDICTED\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"p1trk1eo00eh06n1lmxtmmeh0qur\"}],\"supportSiteTargetFile\":\"p0qcyiiib9xmmtn1u9zj3jpxn95w.htm\"},{\"name\":\"ELLIPSEPARM\",\"description\":\"Adds an ellipse to the primary plot, specified by axis, slope, and origin parameters. The axis parameters are required.\",\"help\":\"ELLIPSEPARM SEMIMAJOR=numeric-variable | positive-number | \\nSEMIMINOR=numeric-variable | positive-number</option(s)>;\",\"arguments\":[{\"name\":\"SEMIMAJOR=\",\"description\":\"specifies half the length of the major axis for the ellipse.\",\"help\":\"SEMIMAJOR=*numeric-variable* | *positive-numeric-value*\",\"type\":\"choice\",\"arguments\":[{\"name\":\"numeric-variable\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"positive-numeric-value\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"n15e2cydk2zk5ln1o5di6rl2zku1\"},{\"name\":\"SEMIMINOR=\",\"description\":\"specifies half the length of the minor axis for the ellipse.\",\"help\":\"SEMIMINOR=*numeric-variable* | *positive-numeric-value*\",\"type\":\"choice\",\"arguments\":[{\"name\":\"numeric-variable\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"positive-numeric-value\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"n0brcyw18j3ltvn1t1pe02z9b90p\"},{\"name\":\"FILL\",\"optional\":true,\"description\":\"specifies whether to display a filled ellipse.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p195nb0dioxi3rn1m1q40gg16o3k\"},{\"name\":\"NOFILL\",\"optional\":true,\"description\":\"specifies whether to display a filled ellipse.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p195nb0dioxi3rn1m1q40gg16o3k\"},{\"name\":\"FILLATTRS=\",\"optional\":true,\"description\":\"specifies the fill color and transparency.\",\"help\":\"FILLATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p0hsyjx1at62w1n1akl6mco17le9c\"},{\"name\":\"FILLPATTERN\",\"optional\":true,\"description\":\"enables the display of line fill patterns for the plot.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1rfcg52cmb01gn1ho28yt0z04p6c\"},{\"name\":\"FILLPATTERNATTRS=\",\"optional\":true,\"description\":\"specifies the line-fill color and pattern.\",\"help\":\"FILLPATTERNATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"description\":\"specifies the name of a style element.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n16slmtjq8rjq2n1p1rnk8l5iiq0c\"},{\"name\":\"COLOR=\",\"description\":\"specifies a color to use for the fill lines.\",\"help\":\"COLOR=*color*\",\"type\":\"color\",\"supportSiteTargetFragment\":\"p0ydkeub4j3ntln1gf1e1tvev3cxc\"},{\"name\":\"PATTERN=\",\"description\":\"specifies the type of line pattern to use for the fill.\",\"help\":\"PATTERN=*line-pattern*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p076ecgpkp0a8rn19liu4ivc8tpac\"}],\"supportSiteTargetFragment\":\"n1h0vxz6qoyx8qn10w4qlqtmdcxuc\"},{\"name\":\"GROUP=\",\"optional\":true,\"description\":\"specifies a variable that is used to group the data.\",\"help\":\"GROUP=*variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n05iqvgfpcv6c2n101ly2qmhnums\"},{\"name\":\"LEGENDLABEL=\",\"optional\":true,\"description\":\"specifies a label that identifies the ellipse in the legend.\",\"help\":\"LEGENDLABEL=\\\"*text-string*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1h8xiqj1chghdn1w7iet5e2r6ih\"},{\"name\":\"LINEATTRS=\",\"optional\":true,\"description\":\"specifies the appearance of the outlines for the ellipse.\",\"help\":\"LINEATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p08tcn3kzc7f7bn19qt3ongv9x14\"},{\"name\":\"NAME=\",\"optional\":true,\"description\":\"specifies a name for the plot.\",\"help\":\"NAME=\\\"*text-string*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p00f81g82wmzr5n15sik0znnzfy9g\"},{\"name\":\"NOMISSINGGROUP\",\"optional\":true,\"description\":\"specifies that missing values of the group variable are not included in the plot.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0fdp4w182w1csn1klig70d44c7qb\"},{\"name\":\"OUTLINE\",\"optional\":true,\"description\":\"specifies whether the outlines of the ellipse are visible.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1eczi5z9kolk5n1xm3yzaummzmc\"},{\"name\":\"NOOUTLINE\",\"optional\":true,\"description\":\"specifies whether the outlines of the ellipse are visible.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1eczi5z9kolk5n1xm3yzaummzmc\"},{\"name\":\"SLOPE=\",\"optional\":true,\"description\":\"specifies the slope of the major axis for the ellipse.\",\"help\":\"SLOPE=*numeric-value* | *numeric-variable*\",\"type\":\"choice\",\"arguments\":[{\"name\":\"numeric-value\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"numeric-variable\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"n1y04q6lt0bqa1n1eaxbhydlsjhy\"},{\"name\":\"TRANSPARENCY=\",\"optional\":true,\"description\":\"specifies the degree of transparency for the plot.\",\"help\":\"TRANSPARENCY=*value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p165beuigjohtnn1tb3zi07el186e\"},{\"name\":\"XORIGIN=\",\"optional\":true,\"description\":\"specifies the X coordinate of the center of the ellipse.\",\"help\":\"XORIGIN=*numeric-value* | *numeric-variable*\",\"type\":\"choice\",\"arguments\":[{\"name\":\"numeric-value\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"numeric-variable\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"n0uskcrw43n5zbn1tcgyiragggq6\"},{\"name\":\"YORIGIN=\",\"optional\":true,\"description\":\"specifies the Y coordinate of the center of the ellipse.\",\"help\":\"YORIGIN=*numeric-value* | *numeric-variable*\",\"type\":\"choice\",\"arguments\":[{\"name\":\"numeric-value\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"numeric-variable\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"n12ohceea8w4uyn1hqvkva98xo5i\"}],\"supportSiteTargetFile\":\"p09qzk4moxnl6cn16c8j57xbwpzm.htm\"},{\"name\":\"FRINGE\",\"description\":\"Creates a fringe plot on the X axis of an X-Y plot.\",\"help\":\"FRINGE  *numeric-variable*&lt;/*options*&gt;;\",\"arguments\":[{\"name\":\"numeric-variable\",\"placeholder\":true,\"description\":\"specifies the variable that provides the X coordinates of the data values.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0x7j3jlddqx8vn1gmw5rwl5aciv\"},{\"name\":\"ATTRID=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the value of the ID variable in a discrete attribute map data set.\",\"help\":\"ATTRID=*character-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1uxs2avsp1mrtn19pateg7icm4de\"},{\"name\":\"GROUP=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a variable that is used to group the data.\",\"help\":\"GROUP=*variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0pcknqci1w3w5n0z6ioxluu4daaa\"},{\"name\":\"HEIGHT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the height of the fringe lines.\",\"help\":\"HEIGHT=*dimension*&lt;units&gt;\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n12cw1ttqhk4lon1w6yyrqog3kqr\"},{\"name\":\"LEGENDLABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a label that identifies the fringe plot in the legend.\",\"help\":\"LEGENDLABEL=\\\"*text-string*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p042ku1h6z2xe4n12yd4nbo3k9az\"},{\"name\":\"LINEATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the appearance of the fringe lines.\",\"help\":\"LINEATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p1bvcara4g379mn1ey67d6fj31z7\"},{\"name\":\"NAME=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a name for the plot.\",\"help\":\"NAME=\\\"*text-string*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p00f81g82wmzr5n15sik0znnzfy9h\"},{\"name\":\"NOMISSINGGROUP\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that missing values of the group variable are not included in the plot.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0fdp4w182w1csn1klig70d44c7qc\"},{\"name\":\"TIP=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the data tip information to be displayed when the cursor is positioned over the graphics element.\",\"help\":\"TIP=(*variable-list*) | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"(variable-list)\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"a space-separated list of variables enclosed in parentheses.\",\"help\":\"(*variable-list*) \",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1m6zmye01y4lvn104i7gn57dfpoc\"},{\"name\":\"NONE\",\"followsDelimiter\":\"/\",\"description\":\"suppresses the data tips from this plot.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n02szuj3p61ekvn1c2scb9cyaar4c\"}],\"supportSiteTargetFragment\":\"p1vzdm59cf0i9qn1jz5pwqz5hm71c\"},{\"name\":\"TIPFORMAT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"applies formats to the list of data tip roles that you specify in the TIP= option.\",\"help\":\"TIPFORMAT=(*format-list*)\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p07722za4oim3pn1ffimepkm20f5\"},{\"name\":\"TIPLABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"applies labels to the list of data tip roles that you specify in the TIP= option.\",\"help\":\"TIPLABEL=(*label-list*)\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0t85qctfcha10n1p124t0ld3tb1\"},{\"name\":\"TRANSPARENCY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the degree of transparency for the plot.\",\"help\":\"TRANSPARENCY=*value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p165beuigjohtnn1tb3zi07el186f\"}],\"supportSiteTargetFile\":\"n1fs3fhjsocytpn11exhcurfcyf6.htm\"},{\"name\":\"GRADLEGEND\",\"description\":\"Generates a gradient legend that maps the data range of a response variable to a range of colors. You can use up to four GRADLEGEND statements in a procedure. The GRADLEGEND statement is used in conjunction with the COLORRESPONSE= option. (The COLORRESPONSE= option is specified in the plot statement and indicates the response variable that is used to map the colors.)\",\"help\":\"GRADLEGEND &lt;\\\"*name*\\\"&gt;&lt;/*options*&gt;;\",\"arguments\":[{\"name\":\"\\\"name\\\"\",\"optional\":true,\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the name of the plot that you want to include in the legend.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p049rytmpovo3sn16fctgyaf3v0g\"},{\"name\":\"BORDER\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies whether a border is visible around the legend.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1foyqawg95fg8n1366ed04wuya7\"},{\"name\":\"NOBORDER\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies whether a border is visible around the legend.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1foyqawg95fg8n1366ed04wuya7\"},{\"name\":\"EXTRACTSCALE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"extracts a scale factor from the tick values and uses it to reduce the tick value width.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1sp9y69cay34cn1lq3567qgjlpt\"},{\"name\":\"EXTRACTSCALE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"extracts a scale factor from the tick values and uses it to reduce the tick value width.\",\"help\":\"EXTRACTSCALE=DEFAULT | SCIENTIFIC\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DEFAULT\",\"followsDelimiter\":\"/\",\"description\":\"extracts a named scale.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1voyuyhw0a3y7n1c8bbccw3sg1u\"},{\"name\":\"SCIENTIFIC\",\"followsDelimiter\":\"/\",\"description\":\"extracts a scientific-notation scale.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1seim1wue4urpn1oq8pdjd4vypf\"}],\"supportSiteTargetFragment\":\"p1sp9y69cay34cn1lq3567qgjlpt\"},{\"name\":\"INTEGER\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that integers are used for the gradient legend.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0ru8rmcr292v7n1py761pae4xo3\"},{\"name\":\"NOTITLE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"removes the default title. The default title is the name of the response variable.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0prl0f5ep25qun1wjsm0pyvfsgz\"},{\"name\":\"OUTERPAD=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the amount of extra space that is added outside the legend border.\",\"help\":\"OUTERPAD=*numeric-value*&lt;*units*&gt; | (*pad-options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"numeric-value\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a dimension to use for the extra space at the left, right, top, and bottom of the legend border.\",\"help\":\"*numeric-value*&lt;*units*&gt;\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0ro348x8mtur7n19g5k4gbsxfi4\"},{\"name\":\"(pad-options)\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a space-separated list of pad options, enclosed in parentheses.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0iw8fjr5dwx1cn1cucjq2p581sp\"}],\"supportSiteTargetFragment\":\"n1f9su8c4tigkmn13th1yp7r88hh\"},{\"name\":\"POSITION=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the position of the legend within the graph.\",\"help\":\"POSITION=TOP | BOTTOM | LEFT | RIGHT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"TOP\",\"type\":\"standalone\"},{\"name\":\"BOTTOM\",\"type\":\"standalone\"},{\"name\":\"LEFT\",\"type\":\"standalone\"},{\"name\":\"RIGHT\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"n1xfjdejwqjy2xn14xd3cbmvhdj4\"},{\"name\":\"TITLE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a title for the legend.\",\"help\":\"TITLE=\\\"*text-string*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1a04bblbe646cn19kyklmobjbit\"},{\"name\":\"TITLEATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the appearance of the title.\",\"help\":\"TITLEATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"n0a1fwf8r34lmon19ipjaln11o6b\"}],\"supportSiteTargetFile\":\"n1faxpy3r6mfxln15vwc3gj2po9v.htm\"},{\"name\":\"HBAR\",\"description\":\"Creates a bar chart that summarizes the values of a category variable.\",\"help\":\"HBAR *category-variable*&lt;/option(s)&gt;;\",\"arguments\":[{\"name\":\"category-variable\",\"placeholder\":true,\"description\":\"specifies the variable whose values determine the categories of data represented by the bars.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n023kt0gz7rxzln191m4vg8jo9v1\"},{\"name\":\"ALPHA=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the confidence level for the confidence limits.\",\"help\":\"ALPHA=*numeric-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1lgv1f16331ken1ilal7bp3ajgca\"},{\"name\":\"ATTRID=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the value of the ID variable in a discrete attribute map data set.\",\"help\":\"ATTRID=*character-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1uxs2avsp1mrtn19pateg7icm4df\"},{\"name\":\"BARWIDTH=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the width of the bars as a ratio of the maximum possible width.\",\"help\":\"BARWIDTH=*numeric-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1u132lgz8pbm2n1ossxbc8us28k\"},{\"name\":\"BASELINE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the response axis intercept for the baseline.\",\"help\":\"BASELINE=*numeric-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n134zendtywk4yn1h0io35sqg2l4\"},{\"name\":\"BASELINEATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the appearance of the baseline.\",\"help\":\"BASELINEATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"n1ej682yz3aynon17p7w2ff0pqce\"},{\"name\":\"CATEGORYORDER=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the order in which the categories are arranged.\",\"help\":\"CATEGORYORDER=RESPASC | RESPDESC\",\"type\":\"choice\",\"arguments\":[{\"name\":\"RESPASC\",\"followsDelimiter\":\"/\",\"description\":\"sorts by the response values in ascending order.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1al4jo1hdrigyn1ni32cpoafl7ia\"},{\"name\":\"RESPDESC\",\"followsDelimiter\":\"/\",\"description\":\"sorts by the response values in descending order.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p179c2pjor4w07n1s9oaweg28uzba\"}],\"supportSiteTargetFragment\":\"p1q2dvkcp86a8mn1llp2cpkkws8ga\"},{\"name\":\"CLUSTERWIDTH=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the cluster width as a ratio of the maximum width.\",\"help\":\"CLUSTERWIDTH=*numeric-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0sjdo1rt3ej2tn1heujlgu0h4pm\"},{\"name\":\"COLORMODEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a color ramp that is to be used to determine response colors.\",\"help\":\"COLORMODEL=*style-element* | (*color-list*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the name of a style element.\",\"help\":\"*style-element* \",\"type\":\"value\",\"supportSiteTargetFragment\":\"n18psxv7sqmtj2n1v6wlf47btlsjb\"},{\"name\":\"(color-list)\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a space-separated list of colors to use in the color ramp.\",\"type\":\"color\",\"supportSiteTargetFragment\":\"p0wnu5ewzeub7kn12i56v2nlcug8b\"}],\"supportSiteTargetFragment\":\"n0z1120sgbulvyn1q3n66xdpygjjb\"},{\"name\":\"COLORRESPONSE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the numeric column that is used to map colors to a continuous color ramp.\",\"help\":\"COLORRESPONSE=*numeric-column* \",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0zb6oty4r633rn1ab2g6k8k1bt5b\"},{\"name\":\"COLORSTAT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the statistic to use for computing the response colors when the COLORRESPONSE= option is specified.\",\"help\":\"COLORSTAT=FREQ | PCT | SUM | MEAN | MEDIAN\",\"type\":\"choice\",\"arguments\":[{\"name\":\"FREQ\",\"followsDelimiter\":\"/\",\"description\":\"frequency count\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p12xc75e2qzvq4n1w9649m1nvgrga\"},{\"name\":\"PCT\",\"followsDelimiter\":\"/\",\"aliases\":[\"PERCENT\"],\"description\":\"percentages between 0 and 100\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0bz971h6vkie2n1otdmb2k056dka\"},{\"name\":\"SUM\",\"followsDelimiter\":\"/\",\"description\":\"sum values for the color response\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1sjc7ihicz9pin1on2fcwxu1c95a\"},{\"name\":\"MEAN\",\"followsDelimiter\":\"/\",\"description\":\"mean values for the color response\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1ee758lpkisr1n1njjhjaim8tzma\"},{\"name\":\"MEDIAN\",\"followsDelimiter\":\"/\",\"description\":\"median values for the color response\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0xzz25zpggjeen1muf9nq0gj914a\"}],\"supportSiteTargetFragment\":\"n1dtbamt5wv1m4n1wl5eo4hw7426a\"},{\"name\":\"DATALABEL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"displays a label for each bar.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1sxl57clngp0kn1hlqkvc7e144q\"},{\"name\":\"DATALABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"displays a label for each bar.\",\"help\":\"DATALABEL=*variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1sxl57clngp0kn1hlqkvc7e144q\"},{\"name\":\"DATALABELATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the appearance of the labels in the plot when you use the DATALABEL= option.\",\"help\":\"DATALABELATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p0e0ya27a7hlj5n164pkuwzf2j5ub\"},{\"name\":\"DATALABELFITPOLICY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the fit policy for the bar labels.\",\"help\":\"DATALABELFITPOLICY=NONE | INSIDEPREFERRED\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NONE\",\"followsDelimiter\":\"/\",\"description\":\"specifies that no fit policy is implemented for the bar labels.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1e4j1naco05i2n17llpwf0dfbty\"},{\"name\":\"INSIDEPREFERRED\",\"followsDelimiter\":\"/\",\"description\":\"places bar labels inside the bars, when possible.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1humta16d4dmhn0zv9nc08px9mw\"}],\"supportSiteTargetFragment\":\"p1k0pd9fyug48on1b1vy1q1uuclx\"},{\"name\":\"DATASKIN=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a special effect to be used on the plot.\",\"help\":\"DATASKIN=NONE | CRISP | GLOSS | MATTE | PRESSED | SHEEN\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NONE\",\"type\":\"standalone\"},{\"name\":\"CRISP\",\"type\":\"standalone\"},{\"name\":\"GLOSS\",\"type\":\"standalone\"},{\"name\":\"MATTE\",\"type\":\"standalone\"},{\"name\":\"PRESSED\",\"type\":\"standalone\"},{\"name\":\"SHEEN\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"n1wqoylzvajtm1n1rpjpq7jwq9eic\"},{\"name\":\"DISCRETEOFFSET=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies an amount to offset all bars from the category midpoints.\",\"help\":\"DISCRETEOFFSET=*numeric-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0ju1btweronhan1scwmte9valua\"},{\"name\":\"DISPLAYBASELINE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies whether the baseline is displayed.\",\"help\":\"DISPLAYBASELINE=AUTO | ON | OFF\",\"type\":\"choice\",\"arguments\":[{\"name\":\"AUTO\",\"followsDelimiter\":\"/\",\"description\":\"displays the baseline if the baseline intercept is within the response-axis range, excluding the minimum and maximum axis values.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p09vvws7ebi8kxn19db65gsk5n44\"},{\"name\":\"ON\",\"followsDelimiter\":\"/\",\"description\":\"always displays the baseline.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0a3ajoca9hgurn19b68pgsgb226\"},{\"name\":\"OFF\",\"followsDelimiter\":\"/\",\"description\":\"hides the baseline.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0jzhok5gxdylen17jwnxqnlylbj\"}],\"supportSiteTargetFragment\":\"n0hd2s4tisgi5zn12s6pyf7fbyds\"},{\"name\":\"FILL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies whether the bars are filled.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n026273iu8apfsn17o6p8vq0c4at\"},{\"name\":\"NOFILL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies whether the bars are filled.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n026273iu8apfsn17o6p8vq0c4at\"},{\"name\":\"FILLATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the fill color and transparency.\",\"help\":\"FILLATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p0hsyjx1at62w1n1akl6mco17le9d\"},{\"name\":\"FILLENDCOLOR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a fill color that is applied to the chart at the baseline.\",\"help\":\"FILLENDCOLOR=*color*\",\"type\":\"color\",\"supportSiteTargetFragment\":\"p0945lghg74za0n1m05np6qog858\"},{\"name\":\"FILLPATTERN\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"enables the display of line fill patterns for the plot.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1rfcg52cmb01gn1ho28yt0z04p6d\"},{\"name\":\"FILLPATTERNATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the line-fill color and pattern.\",\"help\":\"FILLPATTERNATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the name of a style element.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n16slmtjq8rjq2n1p1rnk8l5iiq0d\"},{\"name\":\"COLOR=\",\"followsDelimiter\":\"/\",\"description\":\"specifies a color to use for the fill lines.\",\"help\":\"COLOR=*color*\",\"type\":\"color\",\"supportSiteTargetFragment\":\"p0ydkeub4j3ntln1gf1e1tvev3cxd\"},{\"name\":\"PATTERN=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the type of line pattern to use for the fill.\",\"help\":\"PATTERN=*line-pattern*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p076ecgpkp0a8rn19liu4ivc8tpad\"}],\"supportSiteTargetFragment\":\"n1h0vxz6qoyx8qn10w4qlqtmdcxud\"},{\"name\":\"FILLTYPE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the fill type that is applied to the chart.\",\"help\":\"FILLTYPE=SOLID | GRADIENT | ALPHAGRADIENT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"SOLID\",\"followsDelimiter\":\"/\",\"description\":\"each bar is filled with the color that is assigned to the bar fill area.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1l126loza6s7on114d39euhqg8r\"},{\"name\":\"GRADIENT\",\"followsDelimiter\":\"/\",\"description\":\"displays the color from the applied style at the end of the bar gradually changing to the color of the wall at the baseline of the bar.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0rgwbgbg44mj6n18cboouc4104d\"},{\"name\":\"ALPHAGRADIENT\",\"followsDelimiter\":\"/\",\"description\":\"a gradient is used to determine the fill color.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1iqgu8wgsu4jdn1qxs6rqk07gy8\"}],\"supportSiteTargetFragment\":\"n16x0nt44togm1n1f8m7cajbas6c\"},{\"name\":\"FREQ=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a variable for the frequency count for each observation in the input data.\",\"help\":\"FREQ=*numeric-variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0imur3526o3kkn1pyptwbea09xia\"},{\"name\":\"GROUP=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a variable that is used to group the data.\",\"help\":\"GROUP=*variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n10ufvorhfxblmn1pvhuicydx28wa\"},{\"name\":\"GROUPDISPLAY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies how to display grouped bars.\",\"help\":\"GROUPDISPLAY=STACK | CLUSTER\",\"type\":\"choice\",\"arguments\":[{\"name\":\"STACK\",\"followsDelimiter\":\"/\",\"description\":\"groups are overlaid without any clustering.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p16qnouk4o42pun1q7p8m2ziug3p\"},{\"name\":\"CLUSTER\",\"followsDelimiter\":\"/\",\"description\":\"displays group values as separate adjacent bars that replace the single category bar.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0gyggwvahv84an162b7hoj6zwix\"}],\"supportSiteTargetFragment\":\"p0jtk9mxiq40dpn12h5qaxygaxt3\"},{\"name\":\"GROUPORDER=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the ordering of the groups within a category.\",\"help\":\"GROUPORDER=DATA | REVERSEDATA | ASCENDING | DESCENDING\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DATA\",\"followsDelimiter\":\"/\",\"description\":\"orders the groups within a category in data order of the group variable.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1olglc4d6w5xtn1975koececghga\"},{\"name\":\"REVERSEDATA\",\"followsDelimiter\":\"/\",\"description\":\"orders the groups within a category in the reverse data order of the group variable.\",\"help\":\"REVERSEDATA \",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n19zwzvwl75rxun1kbxu50jrgzjja\"},{\"name\":\"ASCENDING\",\"followsDelimiter\":\"/\",\"description\":\"orders the groups within a category in ascending order of the group variable.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0dd45nyc2fae3n1ne4koepnc2w8a\"},{\"name\":\"DESCENDING\",\"followsDelimiter\":\"/\",\"description\":\"orders the groups within a category in descending order of the group variable.\",\"help\":\"DESCENDING \",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0tsocv1fpdf1un1mcfikx2mnrqla\"}],\"supportSiteTargetFragment\":\"p0sm1j07xn1rg2n16hsii0x2d6fda\"},{\"name\":\"INTERVALBARWIDTH=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the thickness of the bars when the category data is numeric.\",\"help\":\"INTERVALBARWIDTH=*numeric-value*&lt;*units*&gt;\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1eo2b1xcevkuyn1tyvnts3wmxwy\"},{\"name\":\"LEGENDLABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the label that identifies the bar chart in the legend.\",\"help\":\"LEGENDLABEL=\\\"*text-string*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1onn8tsoxdhnpn106ej29y6uenk\"},{\"name\":\"LIMITATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the appearance of the limit lines in the plot.\",\"help\":\"LIMITATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"n1s1fyy2v2l2cin19kpx3exlovnt\"},{\"name\":\"LIMITCAPSCALE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a positive number to use as a multiplier for changing the default width of the limit-bar cap (serif).\",\"help\":\"LIMITCAPSCALE=*positive-number*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1dpcq2cxmhivln1ecgm46ylp35sa\"},{\"name\":\"LIMITS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies which limit lines to display.\",\"help\":\"LIMITS=BOTH | LOWER | UPPER\",\"type\":\"choice\",\"arguments\":[{\"name\":\"BOTH\",\"followsDelimiter\":\"/\",\"description\":\"adds lower and upper limit lines to the plot.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0g17268fkrez2n0zl428aprb84f\"},{\"name\":\"LOWER\",\"followsDelimiter\":\"/\",\"description\":\"adds lower limit lines to the plot.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n13v30lble4yoxn1a7d9u9j1enls\"},{\"name\":\"UPPER\",\"followsDelimiter\":\"/\",\"description\":\"adds upper limit lines to the plot.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0spyodgmbjprpn1vmuxbenkn7c7\"}],\"supportSiteTargetFragment\":\"p0210z1rwfr9n7n1si9cvf4stckv\"},{\"name\":\"LIMITSTAT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the statistic for the limit lines.\",\"help\":\"LIMITSTAT=CLM | STDDEV | STDERR\",\"type\":\"choice\",\"arguments\":[{\"name\":\"CLM\",\"followsDelimiter\":\"/\",\"description\":\"confidence limits\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1xovmwmr1clotn1bdt4pzivtxxp\"},{\"name\":\"STDDEV\",\"followsDelimiter\":\"/\",\"description\":\"standard deviation\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n16uzvnxk85q7dn1m7e37ol6csiq\"},{\"name\":\"STDERR\",\"followsDelimiter\":\"/\",\"description\":\"standard error\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0lmn6m85vcnoln16gq9xvtnfzcf\"}],\"supportSiteTargetFragment\":\"n1la1i9gxp28z4n10qelmv1v71ss\"},{\"name\":\"MISSING\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"accepts a missing value as a valid category value.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1lf04aujmaa31n1q11phih290vta\"},{\"name\":\"NAME=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a name for the plot.\",\"help\":\"NAME=\\\"*text-string*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p00f81g82wmzr5n15sik0znnzfy9i\"},{\"name\":\"NOZEROBARS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses zero-length bars.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p13ya88tdrzb4on1wc4drexx03g3\"},{\"name\":\"NUMSTD=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the number of standard units for the limit lines, when you specify LIMITSTAT=STDDEV or LIMITSTAT=STDERR.\",\"help\":\"NUMSTD=*n*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0rvn6w9ixd8qvn1mobdm6gpalfs\"},{\"name\":\"OUTLINE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies whether the bars have outlines.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p04wcn7ibgfva4n1kmc10qadtaru\"},{\"name\":\"NOOUTLINE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies whether the bars have outlines.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p04wcn7ibgfva4n1kmc10qadtaru\"},{\"name\":\"OUTLINEATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the appearance of the bar outlines.\",\"help\":\"OUTLINEATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"n0olnkg30nnymin1clkx2ril0pug\"},{\"name\":\"RATTRID=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the value of the ID variable in a range attribute map data set.\",\"help\":\"RATTRID=*character-value* \",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0fm3fy2vuky40n1x8yt0aim3hurb\"},{\"name\":\"RESPONSE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a numeric response variable for the plot.\",\"help\":\"RESPONSE=*response-variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0zyhtl5lrppt3n1pqakhrx71igz\"},{\"name\":\"SEGLABEL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"displays a label inside each segment of a stacked bar.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p12q6yclplhxhwn1db2k6vc8ywil\"},{\"name\":\"SEGLABELATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the text properties of the bar segment label text.\",\"help\":\"SEGLABELATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p1es6drocx27t2n11j4ooz6omm1j\"},{\"name\":\"SEGLABELFITPOLICY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a policy for fitting the bar segment labels within the bar segments.\",\"help\":\"SEGLABELFITPOLICY=NONE | NOCLIP | THIN\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NONE\",\"followsDelimiter\":\"/\",\"description\":\"no attempt is made to fit each segment label within its bar.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1jhk58jv04l1bn16cwqgaelijus\"},{\"name\":\"NOCLIP\",\"followsDelimiter\":\"/\",\"description\":\"does not clip bar segment labels that extend beyond the plot area.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1xzc61mbbquxpn1fz13qzub30k7\"},{\"name\":\"THIN\",\"followsDelimiter\":\"/\",\"description\":\"drops any bar segment label that does not fit within its segment.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0obxpoptjts3nn1375fkmh7yaro\"}],\"supportSiteTargetFragment\":\"n0ro228l54ynvun1vigorbb5cu3t\"},{\"name\":\"SEGLABELFORMAT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the text format used to display the bar segment labels.\",\"help\":\"SEGLABELFORMAT=*format*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0hrtoidk8rht5n1qke3mg135u82\"},{\"name\":\"STAT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the statistic for the horizontal axis.\",\"help\":\"STAT=FREQ | MEAN | MEDIAN | PERCENT | SUM\",\"type\":\"choice\",\"arguments\":[{\"name\":\"FREQ\",\"followsDelimiter\":\"/\",\"description\":\"frequencies of the response or category variable.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1g1v98t6iwp0ln14une6fe6x3yna\"},{\"name\":\"MEAN\",\"followsDelimiter\":\"/\",\"description\":\"the mean of the response variable.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1mfe58fahbkzkn1jvtu138bgoqxa\"},{\"name\":\"MEDIAN\",\"followsDelimiter\":\"/\",\"description\":\"the median of the response variable.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1ja0xjeahnag0n15dcgfckmbg4ya\"},{\"name\":\"PERCENT\",\"followsDelimiter\":\"/\",\"aliases\":[\"PCT\"],\"description\":\"the percentage of the response or category variable.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n127f005zy3makn1ks3thzh8t1bma\"},{\"name\":\"SUM\",\"followsDelimiter\":\"/\",\"description\":\"the sum of the response variable.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0ikrh3ko5pjx4n122u22n4qqbk6a\"}],\"supportSiteTargetFragment\":\"p16iff4ymg5l4ln1amc44j7vbxkla\"},{\"name\":\"STATLABEL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies whether the response variable statistic is displayed in the axis and legend labels.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1tdeu3euj3i6bn157eaerbvluq6a\"},{\"name\":\"NOSTATLABEL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies whether the response variable statistic is displayed in the axis and legend labels.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1tdeu3euj3i6bn157eaerbvluq6a\"},{\"name\":\"TIP=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the data tip information to be displayed when the cursor is positioned over the graphics element.\",\"help\":\"TIP=(*variable-list*) | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"(variable-list)\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"a space-separated list of variables enclosed in parentheses.\",\"help\":\"(*variable-list*) \",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1m6zmye01y4lvn104i7gn57dfpod\"},{\"name\":\"NONE\",\"followsDelimiter\":\"/\",\"description\":\"suppresses the data tips from this plot.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n02szuj3p61ekvn1c2scb9cyaar4d\"}],\"supportSiteTargetFragment\":\"p1vzdm59cf0i9qn1jz5pwqz5hm71d\"},{\"name\":\"TIPFORMAT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"applies formats to the list of data tip variables that you specify in the TIP= option.\",\"help\":\"TIPFORMAT=(*format-list*)\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p17xpdoc2x7peln1gkubt92md28hc\"},{\"name\":\"TIPLABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"applies labels to the list of data tip variables that you specify in the TIP= option.\",\"help\":\"TIPLABEL=(*label-list*)\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n126ol9w7pwp12n1irzzust1e2twc\"},{\"name\":\"TRANSPARENCY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the degree of transparency for the plot.\",\"help\":\"TRANSPARENCY=*value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p165beuigjohtnn1tb3zi07el186g\"},{\"name\":\"URL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies an HTML page to be displayed when parts of the plot are selected.\",\"help\":\"URL=*character-variable*\",\"type\":\"value\",\"arguments\":[{\"name\":\"character-variable\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a variable that contains a valid HTML page reference (HREF) for each plot element that is to have an active link.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1kbi4uhax9tzon1rukcqelmr68rb\"}],\"supportSiteTargetFragment\":\"n0jx60ib3ia9lgn0zqatbajgfsz4b\"},{\"name\":\"WEIGHT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies how observations are weighted.\",\"help\":\"WEIGHT=*numeric-variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p15uwmus658g3sn1t0zd35lwaofta\"}],\"supportSiteTargetFile\":\"p06qq182aw0wqyn10f1vsoyoa45s.htm\"},{\"name\":\"HBARBASIC\",\"description\":\"Creates a horizontal bar chart that is compatible with other categorization charts as well as basic plots, such as scatter and series plots, and box plots.\",\"help\":\"HBARBASIC *category-variable*&lt;/*options*&gt;;\",\"arguments\":[{\"name\":\"category-variable\",\"placeholder\":true,\"description\":\"specifies the variable whose values determine the categories of data represented by the bars.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1muihdlc3l95kn1p0q8os86ck60\"},{\"name\":\"ATTRID=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the value of the ID variable in a discrete attribute map data set.\",\"help\":\"ATTRID=*character-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1uxs2avsp1mrtn19pateg7icm4dg\"},{\"name\":\"BARWIDTH=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the width of the bars as a ratio of the maximum possible width.\",\"help\":\"BARWIDTH=*numeric-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1u132lgz8pbm2n1ossxbc8us28ka\"},{\"name\":\"BASELINE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the response axis intercept for the baseline.\",\"help\":\"BASELINE=*numeric-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n134zendtywk4yn1h0io35sqg2l4a\"},{\"name\":\"BASELINEATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the appearance of the baseline.\",\"help\":\"BASELINEATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"n1ej682yz3aynon17p7w2ff0pqcea\"},{\"name\":\"CLUSTERWIDTH=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the cluster width as a ratio of the maximum width.\",\"help\":\"CLUSTERWIDTH=*numeric-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0sjdo1rt3ej2tn1heujlgu0h4pma\"},{\"name\":\"COLORMODEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a color ramp that is to be used to determine response colors.\",\"help\":\"COLORMODEL=*style-element* | (*color-list*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the name of a style element.\",\"help\":\"*style-element* \",\"type\":\"value\",\"supportSiteTargetFragment\":\"n18psxv7sqmtj2n1v6wlf47btlsjc\"},{\"name\":\"(color-list)\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a space-separated list of colors to use in the color ramp.\",\"type\":\"color\",\"supportSiteTargetFragment\":\"p0wnu5ewzeub7kn12i56v2nlcug8c\"}],\"supportSiteTargetFragment\":\"n0z1120sgbulvyn1q3n66xdpygjjc\"},{\"name\":\"COLORRESPONSE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the numeric column that is used to map colors to a continuous color ramp.\",\"help\":\"COLORRESPONSE=*numeric-column* \",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0zb6oty4r633rn1ab2g6k8k1bt5c\"},{\"name\":\"COLORSTAT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the statistic to use for computing the response colors.\",\"help\":\"COLORSTAT=FREQ | PCT | SUM | MEAN | MEDIAN\",\"type\":\"choice\",\"arguments\":[{\"name\":\"FREQ\",\"followsDelimiter\":\"/\",\"description\":\"frequency count\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p12xc75e2qzvq4n1w9649m1nvgrgb\"},{\"name\":\"PCT\",\"followsDelimiter\":\"/\",\"aliases\":[\"PERCENT\"],\"description\":\"percentages between 0 and 100\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0bz971h6vkie2n1otdmb2k056dkb\"},{\"name\":\"SUM\",\"followsDelimiter\":\"/\",\"description\":\"sum values for the color response\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1sjc7ihicz9pin1on2fcwxu1c95b\"},{\"name\":\"MEAN\",\"followsDelimiter\":\"/\",\"description\":\"mean values for the color response\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1ee758lpkisr1n1njjhjaim8tzmb\"},{\"name\":\"MEDIAN\",\"followsDelimiter\":\"/\",\"description\":\"median values for the color response\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0xzz25zpggjeen1muf9nq0gj914b\"}],\"supportSiteTargetFragment\":\"n1dtbamt5wv1m4n1wl5eo4hw7426b\"},{\"name\":\"DATALABEL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"displays the bar statistic value for each bar.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n08rqikc6lns9ln1vo2scvlqo99h\"},{\"name\":\"DATALABELATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the appearance of the labels in the plot when you use the DATALABEL option.\",\"help\":\"DATALABELATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p0e0ya27a7hlj5n164pkuwzf2j5uc\"},{\"name\":\"DATALABELFITPOLICY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the fit policy for the bar labels.\",\"help\":\"DATALABELFITPOLICY=NONE | INSIDEPREFERRED\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NONE\",\"followsDelimiter\":\"/\",\"description\":\"specifies that no fit policy is implemented for the bar labels.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1e4j1naco05i2n17llpwf0dfbtya\"},{\"name\":\"INSIDEPREFERRED\",\"followsDelimiter\":\"/\",\"description\":\"places bar labels inside the bars, when possible.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1humta16d4dmhn0zv9nc08px9mwa\"}],\"supportSiteTargetFragment\":\"p1k0pd9fyug48on1b1vy1q1uuclxa\"},{\"name\":\"DATALABELFORMAT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the text format used to display the bar label.\",\"help\":\"DATALABELFORMAT=*format*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1lho8qfb6xsdgn175uw5oegnsdl\"},{\"name\":\"DATASKIN=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a special effect to be used on the plot.\",\"help\":\"DATASKIN=NONE | CRISP | GLOSS | MATTE | PRESSED | SHEEN\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NONE\",\"type\":\"standalone\"},{\"name\":\"CRISP\",\"type\":\"standalone\"},{\"name\":\"GLOSS\",\"type\":\"standalone\"},{\"name\":\"MATTE\",\"type\":\"standalone\"},{\"name\":\"PRESSED\",\"type\":\"standalone\"},{\"name\":\"SHEEN\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"n1wqoylzvajtm1n1rpjpq7jwq9eid\"},{\"name\":\"DISCRETEOFFSET=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies an amount to offset all bars from the category midpoints.\",\"help\":\"DISCRETEOFFSET=*numeric-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0ju1btweronhan1scwmte9valuaa\"},{\"name\":\"DISPLAYBASELINE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies whether the baseline is displayed.\",\"help\":\"DISPLAYBASELINE=AUTO | ON | OFF\",\"type\":\"choice\",\"arguments\":[{\"name\":\"AUTO\",\"followsDelimiter\":\"/\",\"description\":\"displays the baseline if the baseline intercept is within the response-axis range, excluding the minimum and maximum axis values.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p09vvws7ebi8kxn19db65gsk5n44a\"},{\"name\":\"ON\",\"followsDelimiter\":\"/\",\"description\":\"always displays the baseline.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0a3ajoca9hgurn19b68pgsgb226a\"},{\"name\":\"OFF\",\"followsDelimiter\":\"/\",\"description\":\"hides the baseline.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0jzhok5gxdylen17jwnxqnlylbja\"}],\"supportSiteTargetFragment\":\"n0hd2s4tisgi5zn12s6pyf7fbydsa\"},{\"name\":\"FILL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies whether the bars are filled.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0nwxxssd4h1ccn1v9c26avmbia9\"},{\"name\":\"NOFILL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies whether the bars are filled.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0nwxxssd4h1ccn1v9c26avmbia9\"},{\"name\":\"FILLATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the fill color and transparency.\",\"help\":\"FILLATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p0hsyjx1at62w1n1akl6mco17le9e\"},{\"name\":\"FILLENDCOLOR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a fill color that is applied to the chart at the baseline.\",\"help\":\"FILLENDCOLOR=*color*\",\"type\":\"color\",\"supportSiteTargetFragment\":\"p0945lghg74za0n1m05np6qog858a\"},{\"name\":\"FILLPATTERN\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"enables the display of line fill patterns for the plot.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1rfcg52cmb01gn1ho28yt0z04p6e\"},{\"name\":\"FILLPATTERNATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the line-fill color and pattern.\",\"help\":\"FILLPATTERNATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the name of a style element.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n16slmtjq8rjq2n1p1rnk8l5iiq0e\"},{\"name\":\"COLOR=\",\"followsDelimiter\":\"/\",\"description\":\"specifies a color to use for the fill lines.\",\"help\":\"COLOR=*color*\",\"type\":\"color\",\"supportSiteTargetFragment\":\"p0ydkeub4j3ntln1gf1e1tvev3cxe\"},{\"name\":\"PATTERN=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the type of line pattern to use for the fill.\",\"help\":\"PATTERN=*line-pattern*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p076ecgpkp0a8rn19liu4ivc8tpae\"}],\"supportSiteTargetFragment\":\"n1h0vxz6qoyx8qn10w4qlqtmdcxue\"},{\"name\":\"FILLTYPE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the fill type that is applied to the chart.\",\"help\":\"FILLTYPE=SOLID | GRADIENT | ALPHAGRADIENT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"SOLID\",\"followsDelimiter\":\"/\",\"description\":\"each bar is filled with the color that is assigned to the bar fill area.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1l126loza6s7on114d39euhqg8ra\"},{\"name\":\"GRADIENT\",\"followsDelimiter\":\"/\",\"description\":\"displays the color from the applied style at the end of the bar gradually changing to the color of the wall at the baseline of the bar.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0rgwbgbg44mj6n18cboouc4104da\"},{\"name\":\"ALPHAGRADIENT\",\"followsDelimiter\":\"/\",\"description\":\"a gradient is used to determine the fill color.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1iqgu8wgsu4jdn1qxs6rqk07gy8a\"}],\"supportSiteTargetFragment\":\"n16x0nt44togm1n1f8m7cajbas6ca\"},{\"name\":\"GROUP=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a variable that is used to group the data.\",\"help\":\"GROUP=*variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n10ufvorhfxblmn1pvhuicydx28wb\"},{\"name\":\"GROUPDISPLAY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies how to display grouped bars.\",\"help\":\"GROUPDISPLAY=STACK | CLUSTER\",\"type\":\"choice\",\"arguments\":[{\"name\":\"STACK\",\"followsDelimiter\":\"/\",\"description\":\"groups are overlaid without any clustering.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p16qnouk4o42pun1q7p8m2ziug3pa\"},{\"name\":\"CLUSTER\",\"followsDelimiter\":\"/\",\"description\":\"displays group values as separate adjacent bars that replace the single category bar.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0gyggwvahv84an162b7hoj6zwixa\"}],\"supportSiteTargetFragment\":\"p0jtk9mxiq40dpn12h5qaxygaxt3a\"},{\"name\":\"GROUPORDER=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the ordering of the groups within a category.\",\"help\":\"GROUPORDER=DATA | REVERSEDATA | ASCENDING | DESCENDING\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DATA\",\"followsDelimiter\":\"/\",\"description\":\"orders the groups within a category in data order of the group variable.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1olglc4d6w5xtn1975koececghgb\"},{\"name\":\"REVERSEDATA\",\"followsDelimiter\":\"/\",\"description\":\"orders the groups within a category in the reverse data order of the group variable.\",\"help\":\"REVERSEDATA \",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n19zwzvwl75rxun1kbxu50jrgzjjb\"},{\"name\":\"ASCENDING\",\"followsDelimiter\":\"/\",\"description\":\"orders the groups within a category in ascending order of the group variable.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0dd45nyc2fae3n1ne4koepnc2w8b\"},{\"name\":\"DESCENDING\",\"followsDelimiter\":\"/\",\"description\":\"orders the groups within a category in descending order of the group variable.\",\"help\":\"DESCENDING \",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0tsocv1fpdf1un1mcfikx2mnrqlb\"}],\"supportSiteTargetFragment\":\"p0sm1j07xn1rg2n16hsii0x2d6fdb\"},{\"name\":\"INTERVALBARWIDTH=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the thickness of the bars when the category data is numeric.\",\"help\":\"INTERVALBARWIDTH=*numeric-value*&lt;*units*&gt;\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1eo2b1xcevkuyn1tyvnts3wmxwya\"},{\"name\":\"LEGENDLABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the label that identifies the bar chart in the legend.\",\"help\":\"LEGENDLABEL=\\\"*text-string*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0iozet8skzrafn1c8vt0boi2vfo\"},{\"name\":\"MISSING\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"accepts a missing value as a valid category value.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1lf04aujmaa31n1q11phih290vtb\"},{\"name\":\"NAME=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a name for the plot.\",\"help\":\"NAME=\\\"*text-string*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p00f81g82wmzr5n15sik0znnzfy9j\"},{\"name\":\"NOZEROBARS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses zero-length bars.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p13ya88tdrzb4on1wc4drexx03g3a\"},{\"name\":\"OUTLINE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies whether the bars have outlines.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0mnk3hgrjh6l7n1brcsyy495m2y\"},{\"name\":\"NOOUTLINE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies whether the bars have outlines.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0mnk3hgrjh6l7n1brcsyy495m2y\"},{\"name\":\"OUTLINEATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the appearance of the bar outlines.\",\"help\":\"OUTLINEATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"n0olnkg30nnymin1clkx2ril0puga\"},{\"name\":\"RATTRID=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the value of the ID variable in a range attribute map data set.\",\"help\":\"RATTRID=*character-value* \",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0fm3fy2vuky40n1x8yt0aim3hurc\"},{\"name\":\"RESPONSE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a numeric response variable for the plot.\",\"help\":\"RESPONSE=*response-variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1pkhjobhwn8y6n1bzgpq9mtv6f0\"},{\"name\":\"SEGLABEL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"displays a label inside each segment of a stacked bar.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p12q6yclplhxhwn1db2k6vc8ywila\"},{\"name\":\"SEGLABELATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the text properties of the bar segment label text.\",\"help\":\"SEGLABELATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p1es6drocx27t2n11j4ooz6omm1ja\"},{\"name\":\"SEGLABELFITPOLICY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a policy for fitting the bar segment labels within the bar segments.\",\"help\":\"SEGLABELFITPOLICY=NONE | NOCLIP | THIN\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NONE\",\"followsDelimiter\":\"/\",\"description\":\"no attempt is made to fit each segment label within its bar.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1jhk58jv04l1bn16cwqgaelijusa\"},{\"name\":\"NOCLIP\",\"followsDelimiter\":\"/\",\"description\":\"does not clip bar segment labels that extend beyond the plot area.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1xzc61mbbquxpn1fz13qzub30k7a\"},{\"name\":\"THIN\",\"followsDelimiter\":\"/\",\"description\":\"drops any bar segment label that does not fit within its segment.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0obxpoptjts3nn1375fkmh7yaroa\"}],\"supportSiteTargetFragment\":\"n0ro228l54ynvun1vigorbb5cu3ta\"},{\"name\":\"SEGLABELFORMAT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the text format used to display the bar segment labels.\",\"help\":\"SEGLABELFORMAT=*format*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0hrtoidk8rht5n1qke3mg135u82a\"},{\"name\":\"STAT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the statistic for the horizontal axis.\",\"help\":\"STAT=FREQ | PCT | SUM | MEAN | PROPORTION\",\"type\":\"choice\",\"arguments\":[{\"name\":\"FREQ\",\"followsDelimiter\":\"/\",\"description\":\"frequency count\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0nzey6rdmsmxyn1u4ghhp3vbz4a\"},{\"name\":\"PERCENT\",\"followsDelimiter\":\"/\",\"aliases\":[\"PCT\"],\"description\":\"percentages between 0 and 100\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n18co7g5ty4up5n1uiv5duwd7bwd\"},{\"name\":\"PROPORTION\",\"followsDelimiter\":\"/\",\"description\":\"proportions between 0 and 1\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1fq0bpfuswnn2n1p5wjvw15tovq\"},{\"name\":\"SUM\",\"followsDelimiter\":\"/\",\"description\":\"sum values for the response\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1gjup97pzj13yn1mbjvqsayypf0\"},{\"name\":\"MEAN\",\"followsDelimiter\":\"/\",\"description\":\"mean values for the response\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1j4953udy0imqn1kz8ey3flpa2l\"}],\"supportSiteTargetFragment\":\"p1qxw3fzibw6pdn13d8zwugsxidx\"},{\"name\":\"TIP=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the data tip information to be displayed when the cursor is positioned over the graphics element.\",\"help\":\"TIP=(*role-list*) | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"(role-list)\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"a space-separated list of unique chart roles enclosed in parentheses.\",\"help\":\"(*role-list*) \",\"type\":\"value\",\"supportSiteTargetFragment\":\"p097z16q55az6tn1a0qrq9zut6u3\"},{\"name\":\"NONE\",\"followsDelimiter\":\"/\",\"description\":\"suppresses the data tips from this plot.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0a7rfhn0x17msn1h5j265i9kpct\"}],\"supportSiteTargetFragment\":\"p1gm1po5n5bbpnn180hes5xwr1ja\"},{\"name\":\"TIPFORMAT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"applies formats to the list of data tip roles that you specify in the TIP= option.\",\"help\":\"TIPFORMAT=(*format-list*)\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p07722za4oim3pn1ffimepkm20f5a\"},{\"name\":\"TIPLABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"applies labels to the list of data tip roles that you specify in the TIP= option.\",\"help\":\"TIPLABEL=(*label-list*)\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0t85qctfcha10n1p124t0ld3tb1a\"},{\"name\":\"TRANSPARENCY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the degree of transparency for the plot.\",\"help\":\"TRANSPARENCY=*value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p165beuigjohtnn1tb3zi07el186h\"},{\"name\":\"URL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies an HTML page to be displayed when parts of the plot are selected.\",\"help\":\"URL=*character-variable*\",\"type\":\"value\",\"arguments\":[{\"name\":\"character-variable\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a variable that contains a valid HTML page reference (HREF) for each plot element that is to have an active link.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1kbi4uhax9tzon1rukcqelmr68rc\"}],\"supportSiteTargetFragment\":\"n0jx60ib3ia9lgn0zqatbajgfsz4c\"}],\"supportSiteTargetFile\":\"p1cfw50p74xc5wn1s6vm1a8idd2c.htm\"},{\"name\":\"HBARPARM\",\"description\":\"Creates a horizontal bar chart based on a pre-summarized response value for each unique value of the category variable. You can also assign variables to the upper and lower limits.\",\"help\":\"HBARPARM CATEGORY=*category-variable* RESPONSE=*numeric-variable*&lt;/*options*&gt;;\",\"arguments\":[{\"name\":\"CATEGORY=\",\"description\":\"specifies the variable that categorizes the data.\",\"help\":\"CATEGORY=*category-variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1un45d6lr5xoan1ihjloonjnj8n\"},{\"name\":\"RESPONSE=\",\"description\":\"specifies a numeric response variable.\",\"help\":\"RESPONSE=*numeric-variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n02g8ibyx972qzn1xk8hws9gmt5f\"},{\"name\":\"ATTRID=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the value of the ID variable in a discrete attribute map data set.\",\"help\":\"ATTRID=*character-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1uxs2avsp1mrtn19pateg7icm4dh\"},{\"name\":\"BARWIDTH=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the width of the bars as a ratio of the maximum possible width.\",\"help\":\"BARWIDTH=*numeric-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1u132lgz8pbm2n1ossxbc8us28kb\"},{\"name\":\"BASELINE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the response axis intercept for the baseline.\",\"help\":\"BASELINE=*numeric-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n134zendtywk4yn1h0io35sqg2l4b\"},{\"name\":\"BASELINEATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the appearance of the baseline.\",\"help\":\"BASELINEATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"n1ej682yz3aynon17p7w2ff0pqceb\"},{\"name\":\"CLUSTERWIDTH=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the cluster width as a ratio of the maximum width.\",\"help\":\"CLUSTERWIDTH=*numeric-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0sjdo1rt3ej2tn1heujlgu0h4pmb\"},{\"name\":\"COLORMODEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a color ramp that is to be used to determine response colors.\",\"help\":\"COLORMODEL=*style-element* | (*color-list*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the name of a style element.\",\"help\":\"*style-element* \",\"type\":\"value\",\"supportSiteTargetFragment\":\"n18psxv7sqmtj2n1v6wlf47btlsjd\"},{\"name\":\"(color-list)\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a space-separated list of colors to use in the color ramp.\",\"type\":\"color\",\"supportSiteTargetFragment\":\"p0wnu5ewzeub7kn12i56v2nlcug8d\"}],\"supportSiteTargetFragment\":\"n0z1120sgbulvyn1q3n66xdpygjjd\"},{\"name\":\"COLORRESPONSE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the numeric column that is used to map colors to a continuous color ramp.\",\"help\":\"COLORRESPONSE=*numeric-column* \",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0zb6oty4r633rn1ab2g6k8k1bt5d\"},{\"name\":\"DATALABEL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"displays a label for each data point.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0myfjf9kaqis3n1nr1ifpy1tpj2a\"},{\"name\":\"DATALABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"displays a label for each data point.\",\"help\":\"DATALABEL=*variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0myfjf9kaqis3n1nr1ifpy1tpj2a\"},{\"name\":\"DATALABELATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the appearance of the labels in the plot when you use the DATALABEL= option.\",\"help\":\"DATALABELATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p0e0ya27a7hlj5n164pkuwzf2j5ud\"},{\"name\":\"DATALABELFITPOLICY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the fit policy for the bar labels.\",\"help\":\"DATALABELFITPOLICY=NONE | INSIDEPREFERRED\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NONE\",\"followsDelimiter\":\"/\",\"description\":\"specifies that no fit policy is implemented for the bar labels.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1e4j1naco05i2n17llpwf0dfbtyb\"},{\"name\":\"INSIDEPREFERRED\",\"followsDelimiter\":\"/\",\"description\":\"places bar labels inside the bars, when possible.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1humta16d4dmhn0zv9nc08px9mwb\"}],\"supportSiteTargetFragment\":\"p1k0pd9fyug48on1b1vy1q1uuclxb\"},{\"name\":\"DATASKIN=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a special effect to be used on the plot.\",\"help\":\"DATASKIN=NONE | CRISP | GLOSS | MATTE | PRESSED | SHEEN\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NONE\",\"type\":\"standalone\"},{\"name\":\"CRISP\",\"type\":\"standalone\"},{\"name\":\"GLOSS\",\"type\":\"standalone\"},{\"name\":\"MATTE\",\"type\":\"standalone\"},{\"name\":\"PRESSED\",\"type\":\"standalone\"},{\"name\":\"SHEEN\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"n1wqoylzvajtm1n1rpjpq7jwq9eie\"},{\"name\":\"DISCRETEOFFSET=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies an amount to offset all bars from the category midpoints.\",\"help\":\"DISCRETEOFFSET=*numeric-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0ju1btweronhan1scwmte9valuab\"},{\"name\":\"DISPLAYBASELINE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies whether the baseline is displayed.\",\"help\":\"DISPLAYBASELINE=AUTO | ON | OFF\",\"type\":\"choice\",\"arguments\":[{\"name\":\"AUTO\",\"followsDelimiter\":\"/\",\"description\":\"displays the baseline if the baseline intercept is within the response-axis range, excluding the minimum and maximum axis values.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p09vvws7ebi8kxn19db65gsk5n44b\"},{\"name\":\"ON\",\"followsDelimiter\":\"/\",\"description\":\"always displays the baseline.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0a3ajoca9hgurn19b68pgsgb226b\"},{\"name\":\"OFF\",\"followsDelimiter\":\"/\",\"description\":\"hides the baseline.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0jzhok5gxdylen17jwnxqnlylbjb\"}],\"supportSiteTargetFragment\":\"n0hd2s4tisgi5zn12s6pyf7fbydsb\"},{\"name\":\"FILL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies whether the bars are filled.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n15svhbknsg03un1uzsh69ptfllp\"},{\"name\":\"NOFILL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies whether the bars are filled.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n15svhbknsg03un1uzsh69ptfllp\"},{\"name\":\"FILLATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the fill color and transparency.\",\"help\":\"FILLATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p0hsyjx1at62w1n1akl6mco17le9f\"},{\"name\":\"FILLENDCOLOR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a fill color that is applied to the chart at the baseline.\",\"help\":\"FILLENDCOLOR=*color*\",\"type\":\"color\",\"supportSiteTargetFragment\":\"p0945lghg74za0n1m05np6qog858b\"},{\"name\":\"FILLPATTERN\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"enables the display of line fill patterns for the plot.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1rfcg52cmb01gn1ho28yt0z04p6f\"},{\"name\":\"FILLPATTERNATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the line-fill color and pattern.\",\"help\":\"FILLPATTERNATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the name of a style element.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n16slmtjq8rjq2n1p1rnk8l5iiq0f\"},{\"name\":\"COLOR=\",\"followsDelimiter\":\"/\",\"description\":\"specifies a color to use for the fill lines.\",\"help\":\"COLOR=*color*\",\"type\":\"color\",\"supportSiteTargetFragment\":\"p0ydkeub4j3ntln1gf1e1tvev3cxf\"},{\"name\":\"PATTERN=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the type of line pattern to use for the fill.\",\"help\":\"PATTERN=*line-pattern*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p076ecgpkp0a8rn19liu4ivc8tpaf\"}],\"supportSiteTargetFragment\":\"n1h0vxz6qoyx8qn10w4qlqtmdcxuf\"},{\"name\":\"FILLTYPE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the fill type that is applied to the chart.\",\"help\":\"FILLTYPE=SOLID | GRADIENT | ALPHAGRADIENT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"SOLID\",\"followsDelimiter\":\"/\",\"description\":\"each bar is filled with the color that is assigned to the bar fill area.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1l126loza6s7on114d39euhqg8rb\"},{\"name\":\"GRADIENT\",\"followsDelimiter\":\"/\",\"description\":\"displays the color from the applied style at the end of the bar gradually changing to the color of the wall at the baseline of the bar.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0rgwbgbg44mj6n18cboouc4104db\"},{\"name\":\"ALPHAGRADIENT\",\"followsDelimiter\":\"/\",\"description\":\"a gradient is used to determine the fill color.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1iqgu8wgsu4jdn1qxs6rqk07gy8b\"}],\"supportSiteTargetFragment\":\"n16x0nt44togm1n1f8m7cajbas6cb\"},{\"name\":\"GROUP=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a variable that is used to group the data.\",\"help\":\"GROUP=*variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0pcknqci1w3w5n0z6ioxluu4daab\"},{\"name\":\"GROUPDISPLAY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies how to display grouped bars.\",\"help\":\"GROUPDISPLAY=STACK | CLUSTER\",\"type\":\"choice\",\"arguments\":[{\"name\":\"STACK\",\"followsDelimiter\":\"/\",\"description\":\"groups are overlaid without any clustering.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p16qnouk4o42pun1q7p8m2ziug3pb\"},{\"name\":\"CLUSTER\",\"followsDelimiter\":\"/\",\"description\":\"displays group values as separate adjacent bars that replace the single category bar.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0gyggwvahv84an162b7hoj6zwixb\"}],\"supportSiteTargetFragment\":\"p0jtk9mxiq40dpn12h5qaxygaxt3b\"},{\"name\":\"GROUPORDER=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the ordering of the groups within a category.\",\"help\":\"GROUPORDER=DATA | REVERSEDATA | ASCENDING | DESCENDING\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DATA\",\"followsDelimiter\":\"/\",\"description\":\"orders the groups within a category in data order of the group variable.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1olglc4d6w5xtn1975koececghgc\"},{\"name\":\"REVERSEDATA\",\"followsDelimiter\":\"/\",\"description\":\"orders the groups within a category in the reverse data order of the group variable.\",\"help\":\"REVERSEDATA \",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n19zwzvwl75rxun1kbxu50jrgzjjc\"},{\"name\":\"ASCENDING\",\"followsDelimiter\":\"/\",\"description\":\"orders the groups within a category in ascending order of the group variable.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0dd45nyc2fae3n1ne4koepnc2w8c\"},{\"name\":\"DESCENDING\",\"followsDelimiter\":\"/\",\"description\":\"orders the groups within a category in descending order of the group variable.\",\"help\":\"DESCENDING \",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0tsocv1fpdf1un1mcfikx2mnrqlc\"}],\"supportSiteTargetFragment\":\"p0sm1j07xn1rg2n16hsii0x2d6fdc\"},{\"name\":\"INTERVALBARWIDTH=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the thickness of the bars when the category data is numeric.\",\"help\":\"INTERVALBARWIDTH=*numeric-value*&lt;*units*&gt;\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1eo2b1xcevkuyn1tyvnts3wmxwyb\"},{\"name\":\"LEGENDLABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the label that identifies the bar chart in the legend.\",\"help\":\"LEGENDLABEL=\\\"*text-string*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1n13oyfg0q4ntn1lqozo8curde6\"},{\"name\":\"LIMITATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the appearance of the limit lines in the plot.\",\"help\":\"LIMITATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"n054havf0jml7bn184uph6ohv96k\"},{\"name\":\"LIMITCAPSCALE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a positive number to use as a multiplier for changing the default width of the limit-bar cap (serif).\",\"help\":\"LIMITCAPSCALE=*positive-number*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1dpcq2cxmhivln1ecgm46ylp35sb\"},{\"name\":\"LIMITLOWER=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies values for the lower endpoints on the limit lines.\",\"help\":\"LIMITLOWER=*numeric-variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0z5wkorsrm10pn111ook4iksqkr\"},{\"name\":\"LIMITUPPER=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies values for the upper endpoints on the limit lines.\",\"help\":\"LIMITUPPER=*numeric-variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1at2vp360sqn4n1lxj21msny2ct\"},{\"name\":\"MISSING\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"accepts a missing value as a valid category value.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1lf04aujmaa31n1q11phih290vtc\"},{\"name\":\"NAME=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a name for the plot.\",\"help\":\"NAME=\\\"*text-string*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p00f81g82wmzr5n15sik0znnzfy9k\"},{\"name\":\"NOZEROBARS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses zero-length bars.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p13ya88tdrzb4on1wc4drexx03g3b\"},{\"name\":\"OUTLINE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies whether the bars have outlines.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0fkyaol8vkrzun1h09lu4qf2ens\"},{\"name\":\"NOOUTLINE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies whether the bars have outlines.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0fkyaol8vkrzun1h09lu4qf2ens\"},{\"name\":\"OUTLINEATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the appearance of the bar outlines.\",\"help\":\"OUTLINEATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"n0olnkg30nnymin1clkx2ril0pugb\"},{\"name\":\"RATTRID=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the value of the ID variable in a range attribute map data set.\",\"help\":\"RATTRID=*character-value* \",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0fm3fy2vuky40n1x8yt0aim3hurd\"},{\"name\":\"SEGLABEL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"displays a label inside each segment of a stacked bar.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p12q6yclplhxhwn1db2k6vc8ywilb\"},{\"name\":\"SEGLABELATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the text properties of the bar segment label text.\",\"help\":\"SEGLABELATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p1es6drocx27t2n11j4ooz6omm1jb\"},{\"name\":\"SEGLABELFITPOLICY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a policy for fitting the bar segment labels within the bar segments.\",\"help\":\"SEGLABELFITPOLICY=NONE | NOCLIP | THIN\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NONE\",\"followsDelimiter\":\"/\",\"description\":\"no attempt is made to fit each segment label within its bar.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1jhk58jv04l1bn16cwqgaelijusb\"},{\"name\":\"NOCLIP\",\"followsDelimiter\":\"/\",\"description\":\"does not clip bar segment labels that extend beyond the plot area.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1xzc61mbbquxpn1fz13qzub30k7b\"},{\"name\":\"THIN\",\"followsDelimiter\":\"/\",\"description\":\"drops any bar segment label that does not fit within its segment.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0obxpoptjts3nn1375fkmh7yarob\"}],\"supportSiteTargetFragment\":\"n0ro228l54ynvun1vigorbb5cu3tb\"},{\"name\":\"SEGLABELFORMAT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the text format used to display the bar segment labels.\",\"help\":\"SEGLABELFORMAT=*format*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0hrtoidk8rht5n1qke3mg135u82b\"},{\"name\":\"TIP=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the data tip information to be displayed when the cursor is positioned over the graphics element.\",\"help\":\"TIP=(*variable-list*) | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"(variable-list)\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"a space-separated list of variables enclosed in parentheses.\",\"help\":\"(*variable-list*) \",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1m6zmye01y4lvn104i7gn57dfpoe\"},{\"name\":\"NONE\",\"followsDelimiter\":\"/\",\"description\":\"suppresses the data tips from this plot.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n02szuj3p61ekvn1c2scb9cyaar4e\"}],\"supportSiteTargetFragment\":\"p1vzdm59cf0i9qn1jz5pwqz5hm71e\"},{\"name\":\"TIPFORMAT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"applies formats to the list of data tip variables that you specify in the TIP= option.\",\"help\":\"TIPFORMAT=(*format-list*)\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p17xpdoc2x7peln1gkubt92md28hd\"},{\"name\":\"TIPLABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"applies labels to the list of data tip variables that you specify in the TIP= option.\",\"help\":\"TIPLABEL=(*label-list*)\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n126ol9w7pwp12n1irzzust1e2twd\"},{\"name\":\"TRANSPARENCY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the degree of transparency for the plot.\",\"help\":\"TRANSPARENCY=*value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p165beuigjohtnn1tb3zi07el186i\"},{\"name\":\"URL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies an HTML page to be displayed when parts of the plot are selected.\",\"help\":\"URL=*character-variable*\",\"type\":\"value\",\"arguments\":[{\"name\":\"character-variable\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a variable that contains a valid HTML page reference (HREF) for each plot element that is to have an active link.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1kbi4uhax9tzon1rukcqelmr68rd\"}],\"supportSiteTargetFragment\":\"n0jx60ib3ia9lgn0zqatbajgfsz4d\"}],\"supportSiteTargetFile\":\"p068t7qglf5fz1n1afvon0z8p34l.htm\"},{\"name\":\"HBOX\",\"description\":\"Creates a horizontal box plot that shows the distribution of your data.\",\"help\":\"HBOX *numeric-analysis-variable*&lt;/*options*&gt;;\",\"arguments\":[{\"name\":\"numeric-analysis-variable\",\"placeholder\":true,\"description\":\"specifies the analysis variable for the plot.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0gyjo4a8cloqrn1kwoohvfbgwk2\"},{\"name\":\"ATTRID=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the value of the ID variable in a discrete attribute map data set.\",\"help\":\"ATTRID=*character-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1uxs2avsp1mrtn19pateg7icm4di\"},{\"name\":\"BOXWIDTH=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the width of the box.\",\"help\":\"BOXWIDTH=*numeric-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0lwp8fp4wbl6rn1r7rd960hgdix\"},{\"name\":\"CAPSCALE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a positive number to use as a multiplier for changing the default width of the whisker caps.\",\"help\":\"CAPSCALE=*numeric-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0oa5u6hgwqfb0n1odz8dziw2uqm\"},{\"name\":\"CAPSHAPE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the shape of the whisker cap lines.\",\"help\":\"CAPSHAPE=BRACKET | LINE | SERIF NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"BRACKET\",\"followsDelimiter\":\"/\",\"description\":\"displays a straight line with brackets.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1dxgt3hfjpr9tn1nw1tvkuk96p7\"},{\"name\":\"LINE\",\"followsDelimiter\":\"/\",\"description\":\"displays a straight line.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1xvxv3m3mptzzn13tbnrrgl2l4s\"},{\"name\":\"SERIF\",\"followsDelimiter\":\"/\",\"description\":\"displays a short straight line.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1smzvgruuhlein1txlws0tl481t\"},{\"name\":\"NONE\",\"followsDelimiter\":\"/\",\"description\":\"does not display a cap.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1umm02xdvpr5yn0z8rjy5vz89mu\"}],\"supportSiteTargetFragment\":\"n1531ifccmov69n15ritt4qgk4m2\"},{\"name\":\"CATEGORY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the category variable for the plot.\",\"help\":\"CATEGORY=*category-variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n17opbl41sthlyn1xngn7ec1kypk\"},{\"name\":\"CLUSTERWIDTH=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the cluster width as a ratio of the midpoint spacing.\",\"help\":\"CLUSTERWIDTH=*numeric-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0mjcfb122y6tgn1pjg21eibb33n\"},{\"name\":\"CONNECT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that a connect line joins a statistic from box to box.\",\"help\":\"CONNECT=MEAN | MEDIAN | Q1 | Q3 | MIN | MAX\",\"type\":\"choice\",\"arguments\":[{\"name\":\"MEAN\",\"type\":\"standalone\"},{\"name\":\"MEDIAN\",\"type\":\"standalone\"},{\"name\":\"Q1\",\"type\":\"standalone\"},{\"name\":\"Q3\",\"type\":\"standalone\"},{\"name\":\"MIN\",\"type\":\"standalone\"},{\"name\":\"MAX\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"p0v59ypzwfb3gjn1izqtxjjqus5m\"},{\"name\":\"CONNECTATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the appearance of the lines that connect multiple boxes.\",\"help\":\"CONNECTATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"n0bq3mkxyfka22n1mql763pb1u1v\"},{\"name\":\"DATALABEL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"adds data labels for the outlier markers.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1jjr8ydniznhjn1hcdwlveeuyzn\"},{\"name\":\"DATALABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"adds data labels for the outlier markers.\",\"help\":\"DATALABEL=*variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1jjr8ydniznhjn1hcdwlveeuyzn\"},{\"name\":\"DATALABELATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the appearance of the labels in the plot when you use the DATALABEL= option.\",\"help\":\"DATALABELATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p0e0ya27a7hlj5n164pkuwzf2j5ue\"},{\"name\":\"DATASKIN=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a special effect to be used on the plot.\",\"help\":\"DATASKIN=NONE | CRISP | GLOSS | MATTE | PRESSED | SHEEN\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NONE\",\"type\":\"standalone\"},{\"name\":\"CRISP\",\"type\":\"standalone\"},{\"name\":\"GLOSS\",\"type\":\"standalone\"},{\"name\":\"MATTE\",\"type\":\"standalone\"},{\"name\":\"PRESSED\",\"type\":\"standalone\"},{\"name\":\"SHEEN\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"n1wqoylzvajtm1n1rpjpq7jwq9eif\"},{\"name\":\"DISCRETEOFFSET=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies an amount to offset all boxes from the discrete tick marks.\",\"help\":\"DISCRETEOFFSET=*numeric-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0vg5214tydrmbn1vyjz752q2358\"},{\"name\":\"DISPLAYSTATS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies statistics to be displayed for each box.\",\"help\":\"DISPLAYSTATS=ALL | (*statistics-list*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ALL\",\"followsDelimiter\":\"/\",\"description\":\"displays all available statistics.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0ehmvva3aflsbn12l5ygv3d9jlu\"},{\"name\":\"statistics-list\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a space-separated list of one or more of the following statistics, enclosed in parentheses:\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1a0kwmnw6su7fn1ltw8irqnbbsv\"}],\"supportSiteTargetFragment\":\"p0plf45i8dsxnwn1bvyh5b91azc4\"},{\"name\":\"EXTREME\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that the whiskers can extend to the maximum and minimum values for the analysis variable, and that outliers are not identified.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p092n3szijgay0n1f9si8p6nyla3\"},{\"name\":\"FILL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies whether the boxes are filled with color.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p157x0r7jpfprgn1qotbm34gbcyh\"},{\"name\":\"NOFILL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies whether the boxes are filled with color.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p157x0r7jpfprgn1qotbm34gbcyh\"},{\"name\":\"FILLATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the fill color and transparency.\",\"help\":\"FILLATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p0hsyjx1at62w1n1akl6mco17le9g\"},{\"name\":\"FILLPATTERN\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"enables the display of line fill patterns for the plot.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1rfcg52cmb01gn1ho28yt0z04p6g\"},{\"name\":\"FILLPATTERNATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the line-fill color and pattern.\",\"help\":\"FILLPATTERNATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the name of a style element.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n16slmtjq8rjq2n1p1rnk8l5iiq0g\"},{\"name\":\"COLOR=\",\"followsDelimiter\":\"/\",\"description\":\"specifies a color to use for the fill lines.\",\"help\":\"COLOR=*color*\",\"type\":\"color\",\"supportSiteTargetFragment\":\"p0ydkeub4j3ntln1gf1e1tvev3cxg\"},{\"name\":\"PATTERN=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the type of line pattern to use for the fill.\",\"help\":\"PATTERN=*line-pattern*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p076ecgpkp0a8rn19liu4ivc8tpag\"}],\"supportSiteTargetFragment\":\"n1h0vxz6qoyx8qn10w4qlqtmdcxug\"},{\"name\":\"FREQ=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a variable for the frequency count for each observation in the input data.\",\"help\":\"FREQ=*numeric-variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0imur3526o3kkn1pyptwbea09xib\"},{\"name\":\"GROUP=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a variable that is used to group the data.\",\"help\":\"GROUP=*variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0pcknqci1w3w5n0z6ioxluu4daac\"},{\"name\":\"GROUPDISPLAY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies how to display grouped boxes.\",\"help\":\"GROUPDISPLAY=CLUSTER | OVERLAY\",\"type\":\"choice\",\"arguments\":[{\"name\":\"CLUSTER\",\"followsDelimiter\":\"/\",\"description\":\"the boxes are drawn adjacent to each other.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0kp4cxcag5zkpn1osmos7il0cze\"},{\"name\":\"OVERLAY\",\"followsDelimiter\":\"/\",\"description\":\"all the boxes for a given group value are drawn at the exact coordinate and might overlap.\",\"help\":\"OVERLAY \",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1sdf1g6tinwx1n14i6c761d9f3t\"}],\"supportSiteTargetFragment\":\"n16ps1elsadk8an1wgdaazyhllff\"},{\"name\":\"GROUPORDER=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the ordering of the groups within a category.\",\"help\":\"GROUPORDER=DATA | REVERSEDATA | ASCENDING | DESCENDING\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DATA\",\"followsDelimiter\":\"/\",\"description\":\"orders the groups within a category in data order of the group variable.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1olglc4d6w5xtn1975koececghgd\"},{\"name\":\"REVERSEDATA\",\"followsDelimiter\":\"/\",\"description\":\"orders the groups within a category in the reverse data order of the group variable.\",\"help\":\"REVERSEDATA \",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n19zwzvwl75rxun1kbxu50jrgzjjd\"},{\"name\":\"ASCENDING\",\"followsDelimiter\":\"/\",\"description\":\"orders the groups within a category in ascending order of the group variable.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0dd45nyc2fae3n1ne4koepnc2w8d\"},{\"name\":\"DESCENDING\",\"followsDelimiter\":\"/\",\"description\":\"orders the groups within a category in descending order of the group variable.\",\"help\":\"DESCENDING \",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0tsocv1fpdf1un1mcfikx2mnrqld\"}],\"supportSiteTargetFragment\":\"p0sm1j07xn1rg2n16hsii0x2d6fdd\"},{\"name\":\"INTERVALBOXWIDTH=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"INTBOXWIDTH=\"],\"description\":\"specifies the box width when an interval category (Y) variable is specified.\",\"help\":\"INTERVALBOXWIDTH=*numeric-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n00vhyl4kfb7afn1sez7lmhclir4\"},{\"name\":\"LABELFAR\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that only the far outliers have data labels.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p04thimt886qswn1hxqlz617478f\"},{\"name\":\"LEGENDLABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a label that identifies the box plot in the legend.\",\"help\":\"LEGENDLABEL=\\\"*text-string*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0la4022ja3np3n1n4xf82q1fc0j\"},{\"name\":\"LINEATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the appearance of the box outlines.\",\"help\":\"LINEATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p18okk5iy17qx2n1222i3v7pgwtt\"},{\"name\":\"MEANATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the appearance of the marker that represents the mean in the box.\",\"help\":\"MEANATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p12w0zyytesh8rn1rs3u8myka3pc\"},{\"name\":\"MEDIANATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the appearance of the line that represents the median.\",\"help\":\"MEDIANATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"n12vm4ok34mhd5n1ohp6pxzwf3ab\"},{\"name\":\"MISSING\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"accepts a missing value as a valid category value.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1lf04aujmaa31n1q11phih290vtd\"},{\"name\":\"NAME=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a name for the plot.\",\"help\":\"NAME=\\\"*text-string*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p00f81g82wmzr5n15sik0znnzfy9l\"},{\"name\":\"NOCAPS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"hides the cap lines for the whiskers.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1tqq8al75a8tsn0zvj14y4jqtv7\"},{\"name\":\"NOMEAN\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"hides the mean marker.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n05mgoj77r4a5nn1xq1hxvidkh53\"},{\"name\":\"NOMEDIAN\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"hides the median line.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p15obv8ar0y7wbn1ry37qmtvffmj\"},{\"name\":\"NOOUTLIERS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"hides the outliers from the plot.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1bdeckgqolt28n1xdprv2tpx8k7\"},{\"name\":\"NOTCHES\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that the boxes be notched.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1mq3t8leffh4sn1ljgrqqm0vs8v\"},{\"name\":\"OUTLIERATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the appearance of the marker that represents the outliers.\",\"help\":\"OUTLIERATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"n0moy5eoec7aion1546n5fcttn8e\"},{\"name\":\"PERCENTILE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a method for computing the percentiles for the plot.\",\"help\":\"PERCENTILE=1 | 2 | 3 | 4 | 5\",\"type\":\"choice\",\"arguments\":[{\"name\":\"1\",\"type\":\"standalone\"},{\"name\":\"2\",\"type\":\"standalone\"},{\"name\":\"3\",\"type\":\"standalone\"},{\"name\":\"4\",\"type\":\"standalone\"},{\"name\":\"5\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"p0d1cr16akc7d9n1v3hlqqiwvt7q\"},{\"name\":\"SPLITCHAR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies one or more characters on which the text for data labels is always split.\",\"help\":\"SPLITCHAR=\\\"*character-list*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n18bn0zlnq288pn1f2cp7l2x169pb\"},{\"name\":\"SPLITCHARNODROP\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that the split characters are included in the displayed value.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n16zlyxz8f2e9fn1p1sv3c52m1itd\"},{\"name\":\"SPLITJUSTIFY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the horizontal alignment of the value text that is being split.\",\"help\":\"SPLITJUSTIFY=LEFT | CENTER | RIGHT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"LEFT\",\"type\":\"standalone\"},{\"name\":\"CENTER\",\"type\":\"standalone\"},{\"name\":\"RIGHT\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"n17xhll23zit14n1kzud4wxurf59d\"},{\"name\":\"SPREAD\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"relocates outlier points that have identical values to prevent overlapping.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p174ngmqhsdkarn1407qdnej1eos\"},{\"name\":\"TIP=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the information to display when the cursor is positioned over a box or whisker in the box plot.\",\"help\":\"TIP=(*role-list*) | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"(role-list)\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"a space-separated list of unique box plot roles enclosed in parentheses.\",\"help\":\"(*role-list*) \",\"type\":\"value\",\"supportSiteTargetFragment\":\"p118oocmzu3pj2n1bkf4lh8w0ldw\"},{\"name\":\"NONE\",\"followsDelimiter\":\"/\",\"description\":\"suppresses the data tips from this plot.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1p10flrdrokoln1cwooup8fcwnf\"}],\"supportSiteTargetFragment\":\"p0fbhagl4ozl19n1aifmgeaexojp\"},{\"name\":\"TIPFORMAT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"applies formats to the list of data tip roles that you specify in the TIP= option.\",\"help\":\"TIPFORMAT=(*format-list*)\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p07722za4oim3pn1ffimepkm20f5b\"},{\"name\":\"TIPLABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"applies labels to the list of data tip roles that you specify in the TIP= option.\",\"help\":\"TIPLABEL=(*label-list*)\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0t85qctfcha10n1p124t0ld3tb1b\"},{\"name\":\"TRANSPARENCY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the degree of transparency for the plot.\",\"help\":\"TRANSPARENCY=*value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p165beuigjohtnn1tb3zi07el186j\"},{\"name\":\"WEIGHT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies how observations are weighted.\",\"help\":\"WEIGHT=*numeric-variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0bjkzpnw874n9n1u7bjxlfvpz30a\"},{\"name\":\"WHISKERATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the appearance of the whisker and cap lines.\",\"help\":\"WHISKERATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p0i6hsbz5jsdv1n10n1acv9j1o5n\"},{\"name\":\"WHISKERPCT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the whisker length, in percentile units.\",\"help\":\"WHISKERPCT=*number*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1gkmpfty8p6vjn14kwpq2v0pz2z\"}],\"supportSiteTargetFile\":\"p07rpazajrf2wsn1nzd86x2nw6dv.htm\"},{\"name\":\"HEATMAP\",\"description\":\"Creates a plot of color-coded rectangles for the response variable of a pair of X and Y variables after it bins the data in two dimensions.\",\"help\":\"HEATMAP X=*variable* Y=*variable*&lt;*/options*&gt;;\",\"arguments\":[{\"name\":\"X=\",\"description\":\"specifies the variable for the X axis.\",\"help\":\"X=*variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0lh9cgy7i9ilin16inj8odjf5zm\"},{\"name\":\"Y=\",\"description\":\"specifies the variable for the Y axis.\",\"help\":\"Y=*variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0sc0k1dgfby5vn12pr13p6tqlyf\"},{\"name\":\"COLORMODEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a color ramp that is to be used to determine response colors.\",\"help\":\"COLORMODEL=*style-element* | (*color-list*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the name of a style element.\",\"help\":\"*style-element* \",\"type\":\"value\",\"supportSiteTargetFragment\":\"n18psxv7sqmtj2n1v6wlf47btlsje\"},{\"name\":\"(color-list)\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a space-separated list of colors to use in the color ramp.\",\"type\":\"color\",\"supportSiteTargetFragment\":\"p0wnu5ewzeub7kn12i56v2nlcug8e\"}],\"supportSiteTargetFragment\":\"n0z1120sgbulvyn1q3n66xdpygjje\"},{\"name\":\"COLORRESPONSE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a numeric variable that is used to color the regions of the heat map.\",\"help\":\"COLORRESPONSE=*numeric-variable* \",\"type\":\"value\",\"supportSiteTargetFragment\":\"p10odfqjp9443xn1ava28676et89\"},{\"name\":\"COLORSTAT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the statistic to use for the COLORRESPONSE= variable.\",\"help\":\"COLORSTAT=FREQ | PCT | SUM | MEAN\",\"type\":\"choice\",\"arguments\":[{\"name\":\"FREQ\",\"followsDelimiter\":\"/\",\"description\":\"frequency count\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p14i4sgbenh2tsn1tvnqfvj2ux8o\"},{\"name\":\"PCT\",\"followsDelimiter\":\"/\",\"aliases\":[\"PERCENT\"],\"description\":\"percentages between 0 and 100\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1ujyiooi5x2fdn1xrh6meaxcfkj\"},{\"name\":\"SUM\",\"followsDelimiter\":\"/\",\"description\":\"sum values for the color response\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n12ttybjifrtd9n199bpkourp4me\"},{\"name\":\"MEAN\",\"followsDelimiter\":\"/\",\"description\":\"mean values for the color response\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0r3up6yas5pqkn1r666gh8q4qtf\"}],\"supportSiteTargetFragment\":\"p01yd8i4vhw9jnn1ehf758yvm0l4\"},{\"name\":\"DISCRETEX\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"forces the X axis to be discrete when the X= variable is numeric.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p18fw47h9pw99gn1cjakm2l0fht5\"},{\"name\":\"DISCRETEY\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"forces the Y axis to be discrete when the Y= variable is numeric.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1qrd25rjz3md5n1vksw9dqyo9q7\"},{\"name\":\"FILLATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the transparency of the area fill in the rectangles.\",\"help\":\"FILLATTRS=(TRANSPARENCY=*number*)\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n08cs1s0ux6p6on1gk8l9xvfs7mf\"},{\"name\":\"FREQ=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a variable for the frequency count for each observation in the input data.\",\"help\":\"FREQ=*numeric-variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p008vk7d26otpon1avqg25jhido4b\"},{\"name\":\"NAME=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a name for the plot.\",\"help\":\"NAME=\\\"*text-string*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p00f81g82wmzr5n15sik0znnzfy9m\"},{\"name\":\"OUTLINE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"displays an outline around each colored region.\",\"help\":\"OUTLINE \",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1rxxyw75mfr4vn1n5tkapwpl073\"},{\"name\":\"OUTLINEATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the appearance of the rectangle outlines.\",\"help\":\"OUTLINEATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p05px5glf981qqn1r3da07p6cyrv\"},{\"name\":\"RATTRID=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the value of the ID variable in a range attribute map data set.\",\"help\":\"RATTRID=*character-value* \",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0fm3fy2vuky40n1x8yt0aim3hure\"},{\"name\":\"SHOWXBINS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that bins be used as the basis for the X-axis tick marks.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0l6ttokgjm7t3n19a3ifckc5ktb\"},{\"name\":\"SHOWYBINS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that bins be used as the basis for the Y-axis tick marks.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1otdvzp0g9qbwn1sakq78fkifz5\"},{\"name\":\"TIP=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the information to display when the cursor is positioned over a rectangle.\",\"help\":\"TIP=(*role-list*) | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"(role-list)\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"a space-separated list of unique heat map roles enclosed in parentheses.\",\"help\":\"(*role-list*) \",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0c7atz3n2vzppn1mn0ggu5251kp\"},{\"name\":\"NONE\",\"followsDelimiter\":\"/\",\"description\":\"suppresses the data tips from this plot.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0waozgromt9bzn1e37isqu7bsxn\"}],\"supportSiteTargetFragment\":\"p0811d37ign5m3n1kxev1xwlf75x\"},{\"name\":\"TIPFORMAT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"applies formats to the list of data tip roles that you specify in the TIP= option.\",\"help\":\"TIPFORMAT=(*format-list*)\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p07722za4oim3pn1ffimepkm20f5c\"},{\"name\":\"TIPLABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"applies labels to the list of data tip roles that you specify in the TIP= option.\",\"help\":\"TIPLABEL=(*label-list*)\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0t85qctfcha10n1p124t0ld3tb1c\"},{\"name\":\"TRANSPARENCY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the degree of transparency for the plot.\",\"help\":\"TRANSPARENCY=*value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p165beuigjohtnn1tb3zi07el186k\"},{\"name\":\"WEIGHT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies how observations are weighted.\",\"help\":\"WEIGHT=*numeric-variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0bjkzpnw874n9n1u7bjxlfvpz30b\"},{\"name\":\"XBINSIZE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the horizontal size of bins in X-axis coordinate system units.\",\"help\":\"XBINSIZE=*positive-number*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n18598od2a8w1dn18fika9t47r7z\"},{\"name\":\"XBINSTART=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the data value for the first bin of the X role.\",\"help\":\"XBINSTART=*number*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1m1ipf9vvdhdsn1p5cal60viel6\"},{\"name\":\"XENDLABELS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that axis ticks and value labels are drawn at the endpoints of the bins for the X axis.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0imyfiazjv98pn1px3w51k5sasa\"},{\"name\":\"YBINSIZE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the vertical size of bins in Y-axis coordinate system units.\",\"help\":\"YBINSIZE=*positive-number*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1ww49ekml1rssn1pevpoxyxi8jx\"},{\"name\":\"YBINSTART=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the data value for the first bin of the Y role.\",\"help\":\"YBINSTART=*number*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0msgk4bowpzj7n1erbwd79pr4m7\"},{\"name\":\"YENDLABELS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that axis ticks and value labels are drawn at the endpoints of the bins for the Y axis.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0di30am1hz6sbn1whldd3bjuubh\"}],\"supportSiteTargetFile\":\"p101memmv567zjn1bpkn27i3v6m4.htm\"},{\"name\":\"HEATMAPPARM\",\"description\":\"Creates a plot that represents the values of three variables. Generating an X, Y grid of rectangles from the values of two independent variables, it colors the rectangles to represent the values of a third variable, which can be a response variable or a group variable.\",\"help\":\"HEATMAPPARM X=variable Y=variable\\n COLORGROUP=variable</options>;HEATMAPPARM X=variable Y=variable \\nCOLORRESPONSE=numeric-variable</options>;\",\"arguments\":[{\"name\":\"X=\",\"description\":\"specifies the variable for the X axis.\",\"help\":\"X=*variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p081eojqf4m538n181wckblnrcz8\"},{\"name\":\"Y=\",\"description\":\"specifies the variable for the Y axis.\",\"help\":\"Y=*variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1czxpujdg8ozkn1vbp7akijos1g\"},{\"name\":\"COLORGROUP=\",\"description\":\"specifies a variable that is used to color the regions of the heat map.\",\"help\":\"COLORGROUP=*variable* \",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1vk0cuejsq15qn1o17q1jinmmgb\"},{\"name\":\"COLORRESPONSE=\",\"description\":\"specifies a numeric variable that is used to color the regions of the heat map.\",\"help\":\"COLORRESPONSE=*numeric-variable* \",\"type\":\"value\",\"supportSiteTargetFragment\":\"p10odfqjp9443xn1ava28676et89a\"},{\"name\":\"ATTRID=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the value of the ID variable in a discrete attribute map data set.\",\"help\":\"ATTRID=*character-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1uxs2avsp1mrtn19pateg7icm4dj\"},{\"name\":\"COLORMODEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a color ramp that is to be used to determine response colors.\",\"help\":\"COLORMODEL=*style-element* | (*color-list*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the name of a style element.\",\"help\":\"*style-element* \",\"type\":\"value\",\"supportSiteTargetFragment\":\"n18psxv7sqmtj2n1v6wlf47btlsjf\"},{\"name\":\"(color-list)\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a space-separated list of colors to use in the color ramp.\",\"type\":\"color\",\"supportSiteTargetFragment\":\"p0wnu5ewzeub7kn12i56v2nlcug8f\"}],\"supportSiteTargetFragment\":\"n0z1120sgbulvyn1q3n66xdpygjjf\"},{\"name\":\"DISCRETEX\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"forces the X axis to be discrete when the X= variable is numeric.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p18fw47h9pw99gn1cjakm2l0fht5a\"},{\"name\":\"DISCRETEY\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"forces the Y axis to be discrete when the Y= variable is numeric.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1qrd25rjz3md5n1vksw9dqyo9q7a\"},{\"name\":\"FILLATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the transparency of the area fill in the rectangles.\",\"help\":\"FILLATTRS=(TRANSPARENCY=*number*)\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n08cs1s0ux6p6on1gk8l9xvfs7mfa\"},{\"name\":\"MISSING\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"accepts a missing value as a valid category value.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1lf04aujmaa31n1q11phih290vte\"},{\"name\":\"NAME=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a name for the plot.\",\"help\":\"NAME=\\\"*text-string*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p00f81g82wmzr5n15sik0znnzfy9n\"},{\"name\":\"NOMISSINGCOLOR\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"excludes missing values of the COLORGROUP= variable or of the COLORRESPONSE= variable from the heat map.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p094gafbwo0czvn15hjdjer8ugx4\"},{\"name\":\"OUTLINE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"displays an outline around each colored region.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0tb9ta3bn6b11n12ulz66uxn79l\"},{\"name\":\"OUTLINEATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the appearance of the rectangle outlines.\",\"help\":\"OUTLINEATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p05px5glf981qqn1r3da07p6cyrva\"},{\"name\":\"RATTRID=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the value of the ID variable in a range attribute map data set.\",\"help\":\"RATTRID=*character-value* \",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0fm3fy2vuky40n1x8yt0aim3hurf\"},{\"name\":\"SHOWXBINS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that bins be used as the basis for the X-axis tick marks.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0l6ttokgjm7t3n19a3ifckc5ktba\"},{\"name\":\"SHOWYBINS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that bins be used as the basis for the Y-axis tick marks.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1otdvzp0g9qbwn1sakq78fkifz5a\"},{\"name\":\"TIP=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the data tip information to be displayed when the cursor is positioned over the graphics element.\",\"help\":\"TIP=(*variable-list*) | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"(variable-list)\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"a space-separated list of variables enclosed in parentheses.\",\"help\":\"(*variable-list*) \",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1m6zmye01y4lvn104i7gn57dfpof\"},{\"name\":\"NONE\",\"followsDelimiter\":\"/\",\"description\":\"suppresses the data tips from this plot.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n02szuj3p61ekvn1c2scb9cyaar4f\"}],\"supportSiteTargetFragment\":\"p1vzdm59cf0i9qn1jz5pwqz5hm71f\"},{\"name\":\"TIPFORMAT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"applies formats to the list of data tip roles that you specify in the TIP= option.\",\"help\":\"TIPFORMAT=(*format-list*)\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p07722za4oim3pn1ffimepkm20f5d\"},{\"name\":\"TIPLABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"applies labels to the list of data tip roles that you specify in the TIP= option.\",\"help\":\"TIPLABEL=(*label-list*)\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0t85qctfcha10n1p124t0ld3tb1d\"},{\"name\":\"TRANSPARENCY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the degree of transparency for the plot.\",\"help\":\"TRANSPARENCY=*value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p165beuigjohtnn1tb3zi07el186l\"},{\"name\":\"URL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies an HTML page to be displayed when parts of the plot are selected.\",\"help\":\"URL=*character-variable*\",\"type\":\"value\",\"arguments\":[{\"name\":\"character-variable\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a variable that contains a valid HTML page reference (HREF) for each plot element that is to have an active link.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1kbi4uhax9tzon1rukcqelmr68re\"}],\"supportSiteTargetFragment\":\"n0jx60ib3ia9lgn0zqatbajgfsz4e\"},{\"name\":\"XENDLABELS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that axis ticks and value labels are drawn at the endpoints of the bins for the X axis.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0imyfiazjv98pn1px3w51k5sasaa\"},{\"name\":\"XVALUES=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies whether the input X values represent midpoints, lower endpoints, or upper endpoints of the bins.\",\"help\":\"XVALUES=MIDPOINTS | LEFTPOINTS | RIGHTPOINTS\",\"type\":\"choice\",\"arguments\":[{\"name\":\"MIDPOINTS\",\"type\":\"standalone\"},{\"name\":\"LEFTPOINTS\",\"type\":\"standalone\"},{\"name\":\"RIGHTPOINTS\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"p0ys4ttip4oe4rn17r8zvwueb7fn\"},{\"name\":\"YENDLABELS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that axis ticks and value labels are drawn at the endpoints of the bins for the Y axis.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0di30am1hz6sbn1whldd3bjuubha\"},{\"name\":\"YVALUES=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies whether the input Y values represent midpoints, lower endpoints, or upper endpoints of the bins.\",\"help\":\"YVALUES=MIDPOINTS | LEFTPOINTS | RIGHTPOINTS\",\"type\":\"choice\",\"arguments\":[{\"name\":\"MIDPOINTS\",\"type\":\"standalone\"},{\"name\":\"LEFTPOINTS\",\"type\":\"standalone\"},{\"name\":\"RIGHTPOINTS\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"n1ke9sl41kqpx3n1umwwiqj0kv7e\"}],\"supportSiteTargetFile\":\"n1l7nyhg92loqpn1723c81ebt0gi.htm\"},{\"name\":\"HIGHLOW\",\"description\":\"Creates a display of floating vertical or horizontal lines or bars that represent high and low values. The statement also gives you the option to display open and close values as tick marks and to specify a variety of plot attributes.\",\"help\":\"HIGHLOW  X=variable |  Y=variable\\n HIGH=numeric-variable LOW=numeric-variable</option(s)>;\",\"arguments\":[{\"name\":\"X=\",\"description\":\"specifies a variable that is used to plot the values along the N or Y axis.\",\"help\":\"X=*variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1oilg1ce4fsjan183dysatp4k7w\"},{\"name\":\"Y=\",\"description\":\"specifies a variable that is used to plot the values along the N or Y axis.\",\"help\":\"Y=*variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1oilg1ce4fsjan183dysatp4k7w\"},{\"name\":\"HIGH=\",\"description\":\"specifies the upper value for the floating lines or bars.\",\"help\":\"HIGH=*numeric-variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1necjo9ugywj2n15y0yjwfxdbiz\"},{\"name\":\"LOW=\",\"description\":\"specifies the lower value for the floating lines or bars.\",\"help\":\"LOW=*numeric-variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n03izlxcr3hmxzn1vkox9kbuytje\"},{\"name\":\"ATTRID=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the value of the ID variable in a discrete attribute map data set.\",\"help\":\"ATTRID=*character-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1uxs2avsp1mrtn19pateg7icm4dk\"},{\"name\":\"BARWIDTH=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the width of the bars as a ratio of the maximum possible width.\",\"help\":\"BARWIDTH=*numeric-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0457fht4ncwfmn1p4ae8e5tg2o0\"},{\"name\":\"CLIPCAP\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"displays a clip indicator cap at the end of a bar or line when the bar or line extends beyond the axis range.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0a2142ykheahwn1lhthsqribzh3\"},{\"name\":\"CLIPCAPSHAPE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the type of cap used for the clip cap.\",\"help\":\"CLIPCAPSHAPE=DEFAULT | SERIF | BARBEDARROW | CLOSEDARROW | OPENARROW\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DEFAULT\",\"type\":\"standalone\"},{\"name\":\"SERIF\",\"type\":\"standalone\"},{\"name\":\"BARBEDARROW\",\"type\":\"standalone\"},{\"name\":\"CLOSEDARROW\",\"type\":\"standalone\"},{\"name\":\"OPENARROW\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"n0eesljwvaazqxn11e1bo8ua6yoa\"},{\"name\":\"CLOSE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the data for the CLOSE tick on the bar or line.\",\"help\":\"CLOSE=*numeric-variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1ckqjspyvn3nzn1j3sp4rvhlmgl\"},{\"name\":\"CLUSTERWIDTH=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the cluster width as a ratio of the maximum width.\",\"help\":\"CLUSTERWIDTH=*numeric-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n17kyzapogtshbn1rjaj1ynu0wjp\"},{\"name\":\"COLORMODEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a color ramp that is to be used to determine response colors.\",\"help\":\"COLORMODEL=*style-element* | (*color-list*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the name of a style element.\",\"help\":\"*style-element* \",\"type\":\"value\",\"supportSiteTargetFragment\":\"n18psxv7sqmtj2n1v6wlf47btlsjg\"},{\"name\":\"(color-list)\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a space-separated list of colors to use in the color ramp.\",\"type\":\"color\",\"supportSiteTargetFragment\":\"p0wnu5ewzeub7kn12i56v2nlcug8g\"}],\"supportSiteTargetFragment\":\"n0z1120sgbulvyn1q3n66xdpygjjg\"},{\"name\":\"COLORRESPONSE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the numeric column that is used to map colors to a continuous color ramp.\",\"help\":\"COLORRESPONSE=*numeric-column* \",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0zb6oty4r633rn1ab2g6k8k1bt5e\"},{\"name\":\"DATASKIN=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a special effect to be used on the plot.\",\"help\":\"DATASKIN=NONE | CRISP | GLOSS | MATTE | PRESSED | SHEEN\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NONE\",\"type\":\"standalone\"},{\"name\":\"CRISP\",\"type\":\"standalone\"},{\"name\":\"GLOSS\",\"type\":\"standalone\"},{\"name\":\"MATTE\",\"type\":\"standalone\"},{\"name\":\"PRESSED\",\"type\":\"standalone\"},{\"name\":\"SHEEN\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"n1wqoylzvajtm1n1rpjpq7jwq9eig\"},{\"name\":\"DISCRETEOFFSET=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies an amount to offset all lines or bars from the category midpoints.\",\"help\":\"DISCRETEOFFSET=*numeric-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0ngc73c9ht5rxn164yptidnf3tt\"},{\"name\":\"FILL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies whether the area fill is visible for bars.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0efo6yq8bsv0xn1c65vqzvzgtwu\"},{\"name\":\"NOFILL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies whether the area fill is visible for bars.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0efo6yq8bsv0xn1c65vqzvzgtwu\"},{\"name\":\"FILLATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the fill color and transparency.\",\"help\":\"FILLATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"n162vsfaf36saon1f7wg3ygwg9n0\"},{\"name\":\"FILLPATTERN\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"enables the display of line fill patterns for the plot.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1rfcg52cmb01gn1ho28yt0z04p6h\"},{\"name\":\"FILLPATTERNATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the line-fill color and pattern.\",\"help\":\"FILLPATTERNATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the name of a style element.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n16slmtjq8rjq2n1p1rnk8l5iiq0h\"},{\"name\":\"COLOR=\",\"followsDelimiter\":\"/\",\"description\":\"specifies a color to use for the fill lines.\",\"help\":\"COLOR=*color*\",\"type\":\"color\",\"supportSiteTargetFragment\":\"p0ydkeub4j3ntln1gf1e1tvev3cxh\"},{\"name\":\"PATTERN=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the type of line pattern to use for the fill.\",\"help\":\"PATTERN=*line-pattern*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p076ecgpkp0a8rn19liu4ivc8tpah\"}],\"supportSiteTargetFragment\":\"n1h0vxz6qoyx8qn10w4qlqtmdcxuh\"},{\"name\":\"GROUP=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a variable that is used to group the data.\",\"help\":\"GROUP=*variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0pcknqci1w3w5n0z6ioxluu4daad\"},{\"name\":\"GROUPDISPLAY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies how to display grouped data.\",\"help\":\"GROUPDISPLAY=OVERLAY | CLUSTER\",\"type\":\"choice\",\"arguments\":[{\"name\":\"OVERLAY\",\"followsDelimiter\":\"/\",\"description\":\"groups are overlaid without any clustering.\",\"help\":\"OVERLAY \",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1we3rmhkw2jdjn1v8gjjs32p8hw\"},{\"name\":\"CLUSTER\",\"followsDelimiter\":\"/\",\"description\":\"observations with different group values are displayed in adjacent clusters around the category value.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1rbbarjjokfdrn119qfxb6k6ja0\"}],\"supportSiteTargetFragment\":\"n0ay3eqgtwzvmln1pyrp3gwjpqsd\"},{\"name\":\"GROUPORDER=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the ordering of the groups within a category.\",\"help\":\"GROUPORDER=DATA | REVERSEDATA | ASCENDING | DESCENDING\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DATA\",\"followsDelimiter\":\"/\",\"description\":\"orders the groups within a category in data order of the group variable.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1olglc4d6w5xtn1975koececghge\"},{\"name\":\"REVERSEDATA\",\"followsDelimiter\":\"/\",\"description\":\"orders the groups within a category in the reverse data order of the group variable.\",\"help\":\"REVERSEDATA \",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n19zwzvwl75rxun1kbxu50jrgzjje\"},{\"name\":\"ASCENDING\",\"followsDelimiter\":\"/\",\"description\":\"orders the groups within a category in ascending order of the group variable.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0dd45nyc2fae3n1ne4koepnc2w8e\"},{\"name\":\"DESCENDING\",\"followsDelimiter\":\"/\",\"description\":\"orders the groups within a category in descending order of the group variable.\",\"help\":\"DESCENDING \",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0tsocv1fpdf1un1mcfikx2mnrqle\"}],\"supportSiteTargetFragment\":\"p0sm1j07xn1rg2n16hsii0x2d6fde\"},{\"name\":\"HIGHCAP=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the type of cap used at the high end of the bar or line.\",\"help\":\"HIGHCAP=*character-variable* | NONE | SERIF | BARBEDARROW | FILLEDARROW | OPENARROW | CLOSEDARROW\",\"type\":\"choice\",\"arguments\":[{\"name\":\"character-variable\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"NONE\",\"type\":\"standalone\"},{\"name\":\"SERIF\",\"type\":\"standalone\"},{\"name\":\"BARBEDARROW\",\"type\":\"standalone\"},{\"name\":\"FILLEDARROW\",\"type\":\"standalone\"},{\"name\":\"OPENARROW\",\"type\":\"standalone\"},{\"name\":\"CLOSEDARROW\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"n1mf6fihgb5krvn16hco6d97pyt4\"},{\"name\":\"HIGHLABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the label to be shown at the high end of the line or bar.\",\"help\":\"HIGHLABEL=*variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0rsiqze401j7vn1floy0caeungz\"},{\"name\":\"INTERVALBARWIDTH=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the thickness of the bar when the X (or Y) data is numeric.\",\"help\":\"INTERVALBARWIDTH=*numeric-value*&lt;*units*&gt;\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1eo2b1xcevkuyn1tyvnts3wmxwyc\"},{\"name\":\"LABELATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the appearance of the labels in the plot when you use the HIGHLABEL= option, the LOWLABEL= option, or both options.\",\"help\":\"LABELATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p164vuk3caqujcn19im17o8g5nsr\"},{\"name\":\"LEGENDLABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a label that identifies the elements from the band plot in the legend.\",\"help\":\"LEGENDLABEL=\\\"*text-string*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n18ko05v5le7van1sswiyeoggad4\"},{\"name\":\"LINEATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the appearance of the outlines for the band.\",\"help\":\"LINEATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p1ngvwp1a472cpn127zj2ced80ge\"},{\"name\":\"LOWCAP=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the type of cap used at the low end of the bar or line.\",\"help\":\"LOWCAP=*character-variable* | NONE | SERIF | BARBEDARROW | FILLEDARROW | OPENARROW | CLOSEDARROW \",\"type\":\"choice\",\"arguments\":[{\"name\":\"character-variable\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"NONE\",\"type\":\"standalone\"},{\"name\":\"SERIF\",\"type\":\"standalone\"},{\"name\":\"BARBEDARROW\",\"type\":\"standalone\"},{\"name\":\"FILLEDARROW\",\"type\":\"standalone\"},{\"name\":\"OPENARROW\",\"type\":\"standalone\"},{\"name\":\"CLOSEDARROW\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"p0i3q4pzadsf40n1ab0e5cz228ha\"},{\"name\":\"LOWLABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the label to be shown at the low end of the line or bar.\",\"help\":\"LOWLABEL=*variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1547735skfoudn1qqjo9n8htd29\"},{\"name\":\"NAME=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a name for the plot.\",\"help\":\"NAME=\\\"*text-string*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p00f81g82wmzr5n15sik0znnzfy9o\"},{\"name\":\"NOMISSINGGROUP\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that missing values of the group variable are not included in the plot.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0fdp4w182w1csn1klig70d44c7qd\"},{\"name\":\"OPEN=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the data for the OPEN tick on the bar or line.\",\"help\":\"OPEN=*numeric-variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1nhdwlfr3d4dhn1m45ox85ke38j\"},{\"name\":\"OUTLINE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies whether the outlines of the bars are visible.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1ipja4r2j9izpn1p8icmbip37n4\"},{\"name\":\"NOOUTLINE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies whether the outlines of the bars are visible.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1ipja4r2j9izpn1p8icmbip37n4\"},{\"name\":\"RATTRID=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the value of the ID variable in a range attribute map data set.\",\"help\":\"RATTRID=*character-value* \",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0fm3fy2vuky40n1x8yt0aim3hurg\"},{\"name\":\"TIP=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the data tip information to be displayed when the cursor is positioned over the graphics element.\",\"help\":\"TIP=(*variable-list*) | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"(variable-list)\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"a space-separated list of variables enclosed in parentheses.\",\"help\":\"(*variable-list*) \",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1m6zmye01y4lvn104i7gn57dfpog\"},{\"name\":\"NONE\",\"followsDelimiter\":\"/\",\"description\":\"suppresses the data tips from this plot.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n02szuj3p61ekvn1c2scb9cyaar4g\"}],\"supportSiteTargetFragment\":\"p1vzdm59cf0i9qn1jz5pwqz5hm71g\"},{\"name\":\"TIPFORMAT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"applies formats to the list of data tip variables that you specify in the TIP= option.\",\"help\":\"TIPFORMAT=(*format-list*)\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p17xpdoc2x7peln1gkubt92md28he\"},{\"name\":\"TIPLABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"applies labels to the list of data tip variables that you specify in the TIP= option.\",\"help\":\"TIPLABEL=(*label-list*)\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n126ol9w7pwp12n1irzzust1e2twe\"},{\"name\":\"TRANSPARENCY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the degree of transparency for the plot.\",\"help\":\"TRANSPARENCY=*value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p165beuigjohtnn1tb3zi07el186m\"},{\"name\":\"TYPE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies how the data is to be represented.\",\"help\":\"TYPE=BAR | LINE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"BAR\",\"type\":\"standalone\"},{\"name\":\"LINE\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"n15tmh8njq2i1tn147r9k44omo8a\"},{\"name\":\"URL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies an HTML page to be displayed when parts of the plot are selected.\",\"help\":\"URL=*character-variable*\",\"type\":\"value\",\"arguments\":[{\"name\":\"character-variable\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a variable that contains a valid HTML page reference (HREF) for each plot element that is to have an active link.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1kbi4uhax9tzon1rukcqelmr68rf\"}],\"supportSiteTargetFragment\":\"n0jx60ib3ia9lgn0zqatbajgfsz4f\"}],\"supportSiteTargetFile\":\"n0jqee25r0evjbn160izbvzpopzc.htm\"},{\"name\":\"HISTOGRAM\",\"description\":\"Creates a histogram that displays the frequency distribution of a numeric value.\",\"help\":\"HISTOGRAM *response-variable*&lt;/option(s)&gt;;\",\"arguments\":[{\"name\":\"response-variable\",\"placeholder\":true,\"description\":\"specifies a response variable for the histogram.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0la5ilcd47n41n1vm9sogo4ylah\"},{\"name\":\"ATTRID=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the value of the ID variable in a discrete attribute map data set.\",\"help\":\"ATTRID=*character-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1uxs2avsp1mrtn19pateg7icm4dl\"},{\"name\":\"BINSTART=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the X coordinate of the first bin.\",\"help\":\"BINSTART=*numeric-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1vu5vk2i2fyitn1tq1u3f9xbdgy\"},{\"name\":\"BINWIDTH=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the bin width.\",\"help\":\"BINWIDTH=*numeric-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p00uftluqengnyn1cfapnbb476wo\"},{\"name\":\"BOUNDARY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies how boundary values are assigned to bins.\",\"help\":\"BOUNDARY=LOWER | UPPER\",\"type\":\"choice\",\"arguments\":[{\"name\":\"LOWER\",\"followsDelimiter\":\"/\",\"description\":\"specifies that boundary values are assigned to the lower bin.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0lyc8uvtoaonvn1fmrylnsd50uy\"},{\"name\":\"UPPER\",\"followsDelimiter\":\"/\",\"description\":\"specifies that boundary values are assigned to the upper bin.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1plvx2jl9okkin1l80jzqh3tx42\"}],\"supportSiteTargetFragment\":\"n0mtjzjl5aqw7kn11sn5q73r175z\"},{\"name\":\"DATALABEL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the statistic to display at the end of each bin.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0z39mvhs11vccn11f5q7gcltvd9\"},{\"name\":\"DATALABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the statistic to display at the end of each bin.\",\"help\":\"DATALABEL=NONE | AUTO | COUNT | DENSITY | PERCENT | PROPORTION\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NONE\",\"followsDelimiter\":\"/\",\"description\":\"suppresses the data labels.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0vh4ayegrpfczn184c1179f5kxe\"},{\"name\":\"AUTO\",\"followsDelimiter\":\"/\",\"description\":\"uses the SCALE= option value. By default, SCALE=PERCENT.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1e5b9o1dda2hln1c77ghc80skj5\"},{\"name\":\"COUNT\",\"followsDelimiter\":\"/\",\"description\":\"specifies that the count, density, percentage, or proportion statistic is to be displayed at the end of each bin.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0omb0lh1uch7vn1mf835beg65rm\"},{\"name\":\"DENSITY\",\"followsDelimiter\":\"/\",\"description\":\"specifies that the count, density, percentage, or proportion statistic is to be displayed at the end of each bin.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0omb0lh1uch7vn1mf835beg65rm\"},{\"name\":\"PERCENT\",\"followsDelimiter\":\"/\",\"description\":\"specifies that the count, density, percentage, or proportion statistic is to be displayed at the end of each bin.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0omb0lh1uch7vn1mf835beg65rm\"},{\"name\":\"PROPORTION\",\"followsDelimiter\":\"/\",\"description\":\"specifies that the count, density, percentage, or proportion statistic is to be displayed at the end of each bin.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0omb0lh1uch7vn1mf835beg65rm\"}],\"supportSiteTargetFragment\":\"n0z39mvhs11vccn11f5q7gcltvd9\"},{\"name\":\"DATALABELATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the appearance of the labels in the plot when you use the DATALABEL= option.\",\"help\":\"DATALABELATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p0e0ya27a7hlj5n164pkuwzf2j5uf\"},{\"name\":\"DATASKIN=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a special effect to be used on the plot.\",\"help\":\"DATASKIN=NONE | CRISP | GLOSS | MATTE | PRESSED | SHEEN\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NONE\",\"type\":\"standalone\"},{\"name\":\"CRISP\",\"type\":\"standalone\"},{\"name\":\"GLOSS\",\"type\":\"standalone\"},{\"name\":\"MATTE\",\"type\":\"standalone\"},{\"name\":\"PRESSED\",\"type\":\"standalone\"},{\"name\":\"SHEEN\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"n1wqoylzvajtm1n1rpjpq7jwq9eih\"},{\"name\":\"FILL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies whether the area fill is visible.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p13p13ncjkb8wxn14345kayapd63\"},{\"name\":\"NOFILL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies whether the area fill is visible.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p13p13ncjkb8wxn14345kayapd63\"},{\"name\":\"FILLATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the fill color and transparency.\",\"help\":\"FILLATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p0hsyjx1at62w1n1akl6mco17le9h\"},{\"name\":\"FILLENDCOLOR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a fill color that is applied to the chart at the baseline.\",\"help\":\"FILLENDCOLOR=*color*\",\"type\":\"color\",\"supportSiteTargetFragment\":\"p0945lghg74za0n1m05np6qog858c\"},{\"name\":\"FILLPATTERN\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"enables the display of line fill patterns for the plot.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1rfcg52cmb01gn1ho28yt0z04p6i\"},{\"name\":\"FILLPATTERNATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the line-fill color and pattern.\",\"help\":\"FILLPATTERNATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the name of a style element.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n16slmtjq8rjq2n1p1rnk8l5iiq0i\"},{\"name\":\"COLOR=\",\"followsDelimiter\":\"/\",\"description\":\"specifies a color to use for the fill lines.\",\"help\":\"COLOR=*color*\",\"type\":\"color\",\"supportSiteTargetFragment\":\"p0ydkeub4j3ntln1gf1e1tvev3cxi\"},{\"name\":\"PATTERN=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the type of line pattern to use for the fill.\",\"help\":\"PATTERN=*line-pattern*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p076ecgpkp0a8rn19liu4ivc8tpai\"}],\"supportSiteTargetFragment\":\"n1h0vxz6qoyx8qn10w4qlqtmdcxui\"},{\"name\":\"FILLTYPE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the fill type that is applied to the chart.\",\"help\":\"FILLTYPE=SOLID | GRADIENT | ALPHAGRADIENT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"SOLID\",\"followsDelimiter\":\"/\",\"description\":\"each bin is filled with the color that is assigned to the bin fill area.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1l126loza6s7on114d39euhqg8rc\"},{\"name\":\"GRADIENT\",\"followsDelimiter\":\"/\",\"description\":\"displays the color from the applied style at the end of the bin gradually changing to the color of the wall at the baseline of the bin.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0rgwbgbg44mj6n18cboouc4104dc\"},{\"name\":\"ALPHAGRADIENT\",\"followsDelimiter\":\"/\",\"description\":\"a gradient is used to determine the fill color.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1iqgu8wgsu4jdn1qxs6rqk07gy8c\"}],\"supportSiteTargetFragment\":\"n16x0nt44togm1n1f8m7cajbas6cc\"},{\"name\":\"FREQ=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a variable for the frequency count for each observation in the input data.\",\"help\":\"FREQ=*numeric-variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p008vk7d26otpon1avqg25jhido4c\"},{\"name\":\"GROUP=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a variable that is used to group the data.\",\"help\":\"GROUP=*variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0m7hwsiru2s1in1ammb7je310eca\"},{\"name\":\"LEGENDLABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a label that identifies the histogram in the legend.\",\"help\":\"LEGENDLABEL=\\\"*text-string*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1s0pfcf114ylfn1ixihzzuccqag\"},{\"name\":\"NAME=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a name for the plot.\",\"help\":\"NAME=\\\"*text-string*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p00f81g82wmzr5n15sik0znnzfy9p\"},{\"name\":\"NBINS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the number of bins.\",\"help\":\"NBINS=*numeric-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p13u65ihbxz13gn1w6bnz105f237\"},{\"name\":\"OUTLINE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies whether outlines are displayed for the bars.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n19ajng4sd8yjvn1q4po7v2lezdf\"},{\"name\":\"NOOUTLINE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies whether outlines are displayed for the bars.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n19ajng4sd8yjvn1q4po7v2lezdf\"},{\"name\":\"SCALE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the scaling that is applied to the vertical axis.\",\"help\":\"SCALE=COUNT | PERCENT | PROPORTION\",\"type\":\"choice\",\"arguments\":[{\"name\":\"COUNT\",\"followsDelimiter\":\"/\",\"description\":\"the axis displays the frequency count.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0pqkp0tpuz5cyn17bek6n6bpth7\"},{\"name\":\"PERCENT\",\"followsDelimiter\":\"/\",\"description\":\"the axis displays values as a percentage of the total.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1vuviv5v03biqn1by39dsuaqtgu\"},{\"name\":\"PROPORTION\",\"followsDelimiter\":\"/\",\"description\":\"the axis displays values as proportions (0.0 to 1.0) of the total.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1tit48dtm5pewn11puga1n7v6ea\"}],\"supportSiteTargetFragment\":\"p1t36k0sfwum9tn1lized3kbzy4p\"},{\"name\":\"TRANSPARENCY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the degree of transparency for the plot.\",\"help\":\"TRANSPARENCY=*value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p165beuigjohtnn1tb3zi07el186n\"},{\"name\":\"WEIGHT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a variable in the input data set that contains values to be used as weights for the bin height.\",\"help\":\"WEIGHT=*numeric-variable* \",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0exy8jz6ms8eqn1ij8qxmpr3oqs\"}],\"supportSiteTargetFile\":\"n0zkwgyzaqo9m3n1m4tltlbzn5xn.htm\"},{\"name\":\"HLINE\",\"description\":\"Creates a horizontal line chart (the line is vertical). You can use the HLINE statement with the HBAR statement to create a horizontal bar-line chart.\",\"help\":\"HLINE *category-variable*&lt;/option(s)&gt;;\",\"arguments\":[{\"name\":\"category-variable\",\"placeholder\":true,\"description\":\"specifies the variable whose values determine the categories of data represented by the lines.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n146dkuplnxcfgn1owspsgbc6sc2\"},{\"name\":\"ALPHA=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the confidence level for the confidence limits.\",\"help\":\"ALPHA=*numeric-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1lgv1f16331ken1ilal7bp3ajgcb\"},{\"name\":\"ATTRID=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the value of the ID variable in a discrete attribute map data set.\",\"help\":\"ATTRID=*character-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1uxs2avsp1mrtn19pateg7icm4dm\"},{\"name\":\"BREAK\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"breaks the line whenever the computed statistic for a category value is missing.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0dwp39lhsttf2n1npeqm5yv3jzk\"},{\"name\":\"CATEGORYORDER=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the order in which the categories are arranged.\",\"help\":\"CATEGORYORDER=RESPASC | RESPDESC\",\"type\":\"choice\",\"arguments\":[{\"name\":\"RESPASC\",\"followsDelimiter\":\"/\",\"description\":\"sorts by the response values in ascending order.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1al4jo1hdrigyn1ni32cpoafl7ib\"},{\"name\":\"RESPDESC\",\"followsDelimiter\":\"/\",\"description\":\"sorts by the response values in descending order.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p179c2pjor4w07n1s9oaweg28uzbb\"}],\"supportSiteTargetFragment\":\"p1q2dvkcp86a8mn1llp2cpkkws8gb\"},{\"name\":\"CLUSTERWIDTH=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the width of the group clusters as a fraction of the midpoint spacing.\",\"help\":\"CLUSTERWIDTH=*numeric-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0ajeu9czbr9dvn11rh269ho494ha\"},{\"name\":\"CURVELABEL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"adds a label to the curve or curves.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1afpqcrudvryxn1dafloxnwtis7\"},{\"name\":\"CURVELABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a label for the curve when only one curve is drawn.\",\"help\":\"CURVELABEL=\\\"*text-string*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1lu268bt1y97un1ssrxwcug5s2h\"},{\"name\":\"CURVELABELATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the appearance of the labels in the plot when you use the CURVELABEL= option.\",\"help\":\"CURVELABELATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"n0tdtttethzl0cn1bwc9mjicbbl7a\"},{\"name\":\"CURVELABELPOS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the location of the curve label.\",\"help\":\"CURVELABELPOS=MIN | MAX | START | END\",\"type\":\"choice\",\"arguments\":[{\"name\":\"MIN\",\"followsDelimiter\":\"/\",\"description\":\"places the label at the part of the curve closest to the minimum X-axis value.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p114ql7g85tuyin1v1sw65ycpfxb\"},{\"name\":\"MAX\",\"followsDelimiter\":\"/\",\"description\":\"places the label at the part of the curve closest to the maximum X-axis value.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1eb3gyvkbv2h9n1eq26brjuxunb\"},{\"name\":\"START\",\"followsDelimiter\":\"/\",\"description\":\"places the curve label at the first point on the curve.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1dd85zmdcsgr3n1uskx90st60h8\"},{\"name\":\"END\",\"followsDelimiter\":\"/\",\"description\":\"places the curve label at the last point on the curve.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p09cvwgd3lzkn2n114pbqqe4ny4m\"}],\"supportSiteTargetFragment\":\"n1asmup3qz51men1prkiko0lzy7e\"},{\"name\":\"DATALABEL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"displays a label for each data point.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0myfjf9kaqis3n1nr1ifpy1tpj2b\"},{\"name\":\"DATALABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"displays a label for each data point.\",\"help\":\"DATALABEL=*variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0myfjf9kaqis3n1nr1ifpy1tpj2b\"},{\"name\":\"DATALABELATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the appearance of the labels in the plot when you use the DATALABEL= option.\",\"help\":\"DATALABELATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p0e0ya27a7hlj5n164pkuwzf2j5ug\"},{\"name\":\"DATALABELPOS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the location of the data label with respect to the plot.\",\"help\":\"DATALABELPOS=*position*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1298lqwj801t1n1r350oa1zbsqyb\"},{\"name\":\"DATASKIN=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a special effect to be used on the plot.\",\"help\":\"DATASKIN=NONE | CRISP | GLOSS | MATTE | PRESSED | SHEEN\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NONE\",\"type\":\"standalone\"},{\"name\":\"CRISP\",\"type\":\"standalone\"},{\"name\":\"GLOSS\",\"type\":\"standalone\"},{\"name\":\"MATTE\",\"type\":\"standalone\"},{\"name\":\"PRESSED\",\"type\":\"standalone\"},{\"name\":\"SHEEN\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"n1wqoylzvajtm1n1rpjpq7jwq9eii\"},{\"name\":\"DISCRETEOFFSET=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies an amount to offset all lines from the discrete category values.\",\"help\":\"DISCRETEOFFSET=*numeric-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0e9fk1j06hk1zn1izncdgguxpz8\"},{\"name\":\"FILLEDOUTLINEDMARKERS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that markers have a fill and an outline.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n08u24y1x35rjxn1ab0vlgmx78xm\"},{\"name\":\"FREQ=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a variable for the frequency count for each observation in the input data.\",\"help\":\"FREQ=*numeric-variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0imur3526o3kkn1pyptwbea09xic\"},{\"name\":\"GROUP=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a category variable to divide the values into groups.\",\"help\":\"GROUP=*variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1wurxpz3gdt60n179w5mkgkucth\"},{\"name\":\"GROUPDISPLAY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies how to display grouped lines.\",\"help\":\"GROUPDISPLAY=CLUSTER | OVERLAY\",\"type\":\"choice\",\"arguments\":[{\"name\":\"CLUSTER\",\"followsDelimiter\":\"/\",\"description\":\"grouped items are drawn adjacent to each other.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1f9g1imvgdc3xn1o4qmhc3dsaxta\"},{\"name\":\"OVERLAY\",\"followsDelimiter\":\"/\",\"description\":\"grouped items are drawn at the exact coordinate and might overlap.\",\"help\":\"OVERLAY \",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0gedf37npwg28n19wqi2annun4na\"}],\"supportSiteTargetFragment\":\"p0kn9dez9ffzqzn1b5nsc5q0vl42\"},{\"name\":\"GROUPORDER=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the ordering of the groups within a category.\",\"help\":\"GROUPORDER=DATA | REVERSEDATA | ASCENDING | DESCENDING\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DATA\",\"followsDelimiter\":\"/\",\"description\":\"orders the groups within a category in data order of the group variable.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1olglc4d6w5xtn1975koececghgf\"},{\"name\":\"REVERSEDATA\",\"followsDelimiter\":\"/\",\"description\":\"orders the groups within a category in the reverse data order of the group variable.\",\"help\":\"REVERSEDATA \",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n19zwzvwl75rxun1kbxu50jrgzjjf\"},{\"name\":\"ASCENDING\",\"followsDelimiter\":\"/\",\"description\":\"orders the groups within a category in ascending order of the group variable.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0dd45nyc2fae3n1ne4koepnc2w8f\"},{\"name\":\"DESCENDING\",\"followsDelimiter\":\"/\",\"description\":\"orders the groups within a category in descending order of the group variable.\",\"help\":\"DESCENDING \",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0tsocv1fpdf1un1mcfikx2mnrqlf\"}],\"supportSiteTargetFragment\":\"p0sm1j07xn1rg2n16hsii0x2d6fdf\"},{\"name\":\"LEGENDLABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the label that identifies the line plot in the legend.\",\"help\":\"LEGENDLABEL=\\\"*text-string*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0tstqdpqw2xwtn15lku8kii6d24\"},{\"name\":\"LIMITATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the appearance of the limit lines in the plot.\",\"help\":\"LIMITATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p0jxodvuiwuxven0zqaygt8t6w4p\"},{\"name\":\"LIMITCAPSCALE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a positive number to use as a multiplier for changing the default width of the limit-bar cap (serif).\",\"help\":\"LIMITCAPSCALE=*positive-number*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1dpcq2cxmhivln1ecgm46ylp35sc\"},{\"name\":\"LIMITS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"adds limit lines to the plot.\",\"help\":\"LIMITS=BOTH | LOWER | UPPER\",\"type\":\"choice\",\"arguments\":[{\"name\":\"BOTH\",\"followsDelimiter\":\"/\",\"description\":\"adds lower and upper limit lines to the plot.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0zv6hv0saj9myn12uao6i14stl4\"},{\"name\":\"LOWER\",\"followsDelimiter\":\"/\",\"description\":\"adds lower limit lines to the plot.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0pugeo3n4v9bnn1bwk6upisz2qf\"},{\"name\":\"UPPER\",\"followsDelimiter\":\"/\",\"description\":\"adds upper limit lines to the plot.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1r5b2whcbnzdcn1y03uxjot7nxc\"}],\"supportSiteTargetFragment\":\"n1091k1q1o1kvpn1xymd5vv063cc\"},{\"name\":\"LIMITSTAT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the statistic for the limit lines.\",\"help\":\"LIMITSTAT=CLM | STDDEV | STDERR\",\"type\":\"choice\",\"arguments\":[{\"name\":\"CLM\",\"followsDelimiter\":\"/\",\"description\":\"confidence limits\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1cz8gpfbjhko5n1ved305bhr5h0\"},{\"name\":\"STDDEV\",\"followsDelimiter\":\"/\",\"description\":\"standard deviation\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0feahqe2734mgn12c2a7rd5x74u\"},{\"name\":\"STDERR\",\"followsDelimiter\":\"/\",\"description\":\"standard error\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1q5xvj0fxigpun1ol6ha5rx45oc\"}],\"supportSiteTargetFragment\":\"n044cfslw3gulrn12tuij9kl00gh\"},{\"name\":\"LINEATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the appearance of the lines in the line plot.\",\"help\":\"LINEATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p1bmge056q5blhn1wvlxnrqvczgk\"},{\"name\":\"MARKERATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the appearance of the markers in the plot.\",\"help\":\"MARKERATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"n0df53kyg80fz2n16juxe0q28upg\"},{\"name\":\"MARKERFILLATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the color of the marker fill.\",\"help\":\"MARKERFILLATTRS=*style-element* |  (COLOR=*color*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(COLOR=)\",\"type\":\"color\"}],\"supportSiteTargetFragment\":\"n1rpbcs7lrnofun13lxhxu52hi72a\"},{\"name\":\"MARKEROUTLINEATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the appearance of the marker outlines.\",\"help\":\"MARKEROUTLINEATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"n1p0zhoitcokdbn1rwa93j2qjjf6a\"},{\"name\":\"MARKERS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"adds data point markers to the plot.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p11l2rl8b3ncnon10vg3szlrfd00\"},{\"name\":\"MISSING\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"accepts a missing value as a valid category value.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1lf04aujmaa31n1q11phih290vtf\"},{\"name\":\"NAME=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a name for the plot.\",\"help\":\"NAME=\\\"*text-string*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p00f81g82wmzr5n15sik0znnzfy9q\"},{\"name\":\"NOLIMITCAPS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses the serif cap on limit lines, if limit lines are displayed.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1mixps2ivdfpwn19q90m3vhqff8a\"},{\"name\":\"NUMSTD=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the number of standard units for the limit lines, when you specify LIMITSTAT=STDDEV or LIMITSTAT=STDERR.\",\"help\":\"NUMSTD=*n*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0s0rufe4jsxfcn173ovqp4teq7p\"},{\"name\":\"RESPONSE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a numeric response variable for the plot.\",\"help\":\"RESPONSE=*response-variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0s2k99w43dflfn1odsf7n8h3lme\"},{\"name\":\"SPLITCHAR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies one or more characters on which the text for curve and data labels is always split.\",\"help\":\"SPLITCHAR=\\\"*character-list*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1j4250rabowqun14n3o3ido46is\"},{\"name\":\"SPLITCHARNODROP\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that the split characters are included in the displayed value.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n16zlyxz8f2e9fn1p1sv3c52m1ite\"},{\"name\":\"SPLITJUSTIFY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the horizontal alignment of the value text that is being split.\",\"help\":\"SPLITJUSTIFY=LEFT | CENTER | RIGHT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"LEFT\",\"type\":\"standalone\"},{\"name\":\"CENTER\",\"type\":\"standalone\"},{\"name\":\"RIGHT\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"n17xhll23zit14n1kzud4wxurf59e\"},{\"name\":\"STAT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the statistic for the horizontal axis.\",\"help\":\"STAT=FREQ | MEAN | MEDIAN | PERCENT | SUM\",\"type\":\"choice\",\"arguments\":[{\"name\":\"FREQ\",\"followsDelimiter\":\"/\",\"description\":\"frequencies of the response or category variable.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1g1v98t6iwp0ln14une6fe6x3ynb\"},{\"name\":\"MEAN\",\"followsDelimiter\":\"/\",\"description\":\"the mean of the response variable.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1mfe58fahbkzkn1jvtu138bgoqxb\"},{\"name\":\"MEDIAN\",\"followsDelimiter\":\"/\",\"description\":\"the median of the response variable.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1ja0xjeahnag0n15dcgfckmbg4yb\"},{\"name\":\"PERCENT\",\"followsDelimiter\":\"/\",\"aliases\":[\"PCT\"],\"description\":\"the percentage of the response or category variable.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n127f005zy3makn1ks3thzh8t1bmb\"},{\"name\":\"SUM\",\"followsDelimiter\":\"/\",\"description\":\"the sum of the response variable.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0ikrh3ko5pjx4n122u22n4qqbk6b\"}],\"supportSiteTargetFragment\":\"p16iff4ymg5l4ln1amc44j7vbxklb\"},{\"name\":\"STATLABEL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies whether the response variable statistic is displayed in the axis and legend labels.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1tdeu3euj3i6bn157eaerbvluq6b\"},{\"name\":\"NOSTATLABEL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies whether the response variable statistic is displayed in the axis and legend labels.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1tdeu3euj3i6bn157eaerbvluq6b\"},{\"name\":\"TIP=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the data tip information to be displayed when the cursor is positioned over the graphics element.\",\"help\":\"TIP=(*variable-list*) | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"(variable-list)\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"a space-separated list of variables enclosed in parentheses.\",\"help\":\"(*variable-list*) \",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1m6zmye01y4lvn104i7gn57dfpoh\"},{\"name\":\"NONE\",\"followsDelimiter\":\"/\",\"description\":\"suppresses the data tips from this plot.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n02szuj3p61ekvn1c2scb9cyaar4h\"}],\"supportSiteTargetFragment\":\"p1vzdm59cf0i9qn1jz5pwqz5hm71h\"},{\"name\":\"TIPFORMAT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"applies formats to the list of data tip variables that you specify in the TIP= option.\",\"help\":\"TIPFORMAT=(*format-list*)\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p17xpdoc2x7peln1gkubt92md28hf\"},{\"name\":\"TIPLABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"applies labels to the list of data tip variables that you specify in the TIP= option.\",\"help\":\"TIPLABEL=(*label-list*)\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n126ol9w7pwp12n1irzzust1e2twf\"},{\"name\":\"TRANSPARENCY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the degree of transparency for the plot.\",\"help\":\"TRANSPARENCY=*value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p165beuigjohtnn1tb3zi07el186o\"},{\"name\":\"URL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies an HTML page to be displayed when parts of the plot are selected.\",\"help\":\"URL=*character-variable*\",\"type\":\"value\",\"arguments\":[{\"name\":\"character-variable\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a variable that contains a valid HTML page reference (HREF) for each plot element that is to have an active link.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1kbi4uhax9tzon1rukcqelmr68rg\"}],\"supportSiteTargetFragment\":\"n0jx60ib3ia9lgn0zqatbajgfsz4g\"},{\"name\":\"WEIGHT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies how observations are weighted.\",\"help\":\"WEIGHT=*numeric-variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p15uwmus658g3sn1t0zd35lwaoftb\"}],\"supportSiteTargetFile\":\"p00mngm46c8o28n1jyrdn88y1byt.htm\"},{\"name\":\"INSET\",\"description\":\"Adds a text box to each panel cell of the graph.\",\"help\":\"INSET  *variable*&lt; ...*variable-n*&gt;&lt;/*options*&gt;;\",\"arguments\":[{\"name\":\"variable\",\"placeholder\":true,\"description\":\"specifies one or more variables to use for the data-driven text inside the inset.\",\"help\":\"*variable*&lt; ...*variable-n*&gt;\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p07u522k8vuswtn1n34utk7pwa3l\"},{\"name\":\"BACKCOLOR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the background color of the inset.\",\"help\":\"BACKCOLOR=*color*\",\"type\":\"color\",\"supportSiteTargetFragment\":\"n0qy357ivuo0qzn1h9wlxmf3bfeu\"},{\"name\":\"BORDER\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies whether to display a border around the text box.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0v1qaj6zdua0vn1y0s7r3qscv0a\"},{\"name\":\"NOBORDER\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies whether to display a border around the text box.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0v1qaj6zdua0vn1y0s7r3qscv0a\"},{\"name\":\"NOLABEL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses the label.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0zud9qr0nlxn8n17kyt3nc2qqoz\"},{\"name\":\"OPAQUE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"forces the inset background to be opaque rather than transparent.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0gohgu1t6gl0wn1u0pmrvgrha12\"},{\"name\":\"POSITION=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the position of the text box within the plot.\",\"help\":\"POSITION=*position-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1lpblq5ju3el7n1n9ebs1v43y4h\"},{\"name\":\"SEPARATOR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies one or more characters to place between the data label and the data value.\",\"help\":\"SEPARATOR=\\\"*string*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1aeni3fhklurgn1i1ry4pfxu1dq\"},{\"name\":\"TEXTATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the appearance of the text in the text box.\",\"help\":\"TEXTATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p0ufdn5ba490wzn1twf7jsg1sy4g\"},{\"name\":\"TITLE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a title for the text box.\",\"help\":\"TITLE=\\\"*text-string*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1aq90xu7hg06qn13q94e33lvp92\"},{\"name\":\"TITLEATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the appearance of the title.\",\"help\":\"TITLEATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p1egiybo2y3b25n1rgru650trr5x\"}],\"supportSiteTargetFile\":\"n1xboke5qwjvh3n1w00ckrkelyxp.htm\"},{\"name\":\"KEYLEGEND\",\"description\":\"Adds a legend to the plot.\",\"help\":\"KEYLEGEND &lt;\\\"*name–1*\\\"  ...\\\"*name-n*\\\"&gt;&lt;/*options*&gt;;\",\"arguments\":[{\"name\":\"\\\"name-1\\\"\",\"optional\":true,\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the names of one or more plots that you want to include in legend.\",\"help\":\"\\\"*name-1*\\\"  ... \\\"*name-n*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0jiq5dfrr6r8gn1s8p5ni8uuepy\"},{\"name\":\"ACROSS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the number of columns in the legend.\",\"help\":\"ACROSS=*n*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p01cpkgpkrjiusn1rjj7v3dlxls5\"},{\"name\":\"AUTOITEMSIZE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that all markers, lines, and filled symbols in the legend are sized in proportion to the font size that is used for the legend entry labels.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0xnv16eenojhgn12bc4fkg7xtk5\"},{\"name\":\"AUTOOUTLINE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that the outline settings in the plot statements determine whether the fill swatches in the legend have outlines.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1srdad6rvvb1nn1hu7jg087lpwc\"},{\"name\":\"BORDER\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies whether the border around the legend is visible.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n11rbdfosxjb5mn1n8e10gklh769\"},{\"name\":\"NOBORDER\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies whether the border around the legend is visible.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n11rbdfosxjb5mn1n8e10gklh769\"},{\"name\":\"DOWN=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the number of rows in the legend.\",\"help\":\"DOWN=*n*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n06kkeu6tlwdomn19dzzg1yt0s9k\"},{\"name\":\"EXCLUDE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a list of legend entries to exclude from the display.\",\"help\":\"EXCLUDE=(\\\"*item-name1*\\\" &lt;\\\"*item-name2*\\\" &lt; ...&gt;&gt; )\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0ep9qqjvk0uztn1in5vcj2v8ptd\"},{\"name\":\"FILLASPECT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies an aspect ratio for the fill swatches based on their height.\",\"help\":\"FILLASPECT=GOLDEN | *positive-number*\",\"type\":\"choice\",\"arguments\":[{\"name\":\"GOLDEN\",\"followsDelimiter\":\"/\",\"description\":\"specifies the golden ratio of 1.618 (width = 1.618 * height).\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p13xa34wvfp9q2n1oncrk2d8d75i\"},{\"name\":\"positive-number\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a custom aspect ratio.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1smri893152u4n12q6c2x48zi6f\"}],\"supportSiteTargetFragment\":\"p0mfr3lcpqcin9n1198b38yupvyu\"},{\"name\":\"FILLHEIGHT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the height of the fill swatches.\",\"help\":\"FILLHEIGHT=*numeric-value**units*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0tg3c2pzqrx7vn1p1wpphmcjgys\"},{\"name\":\"LINELENGTH=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the length of the line glyph for line entries in the legend.\",\"help\":\"LINELENGTH=*numeric-value*&lt;*units*&gt;\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0ybn9mmg4tmitn18ptrj4gvkbvw\"},{\"name\":\"OUTERPAD=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the amount of extra space that is added outside the legend border.\",\"help\":\"OUTERPAD=*numeric-value*&lt;*units*&gt; | (*pad-options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"numeric-value\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a dimension to use for the extra space at the left, right, top, and bottom of the legend border.\",\"help\":\"*numeric-value*&lt;*units*&gt;\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0ro348x8mtur7n19g5k4gbsxfi4a\"},{\"name\":\"(pad-options)\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a space-separated list of pad options, enclosed in parentheses.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0iw8fjr5dwx1cn1cucjq2p581spa\"}],\"supportSiteTargetFragment\":\"n1f9su8c4tigkmn13th1yp7r88hha\"},{\"name\":\"POSITION=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the position of the legend within the graph outside of the axes.\",\"help\":\"POSITION=*position-value*\",\"type\":\"value\",\"arguments\":[{\"name\":\"BOTTOM\",\"followsDelimiter\":\"/\",\"description\":\"places the legend at the bottom of the graph.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0be6b9uht7n93n1xr4354ive4ay\"},{\"name\":\"LEFT\",\"followsDelimiter\":\"/\",\"description\":\"places the legend at the left side of the graph.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1agopuv2lskckn1ul51yrr3gvtl\"},{\"name\":\"RIGHT\",\"followsDelimiter\":\"/\",\"description\":\"places the legend at the right side of the graph.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n17tbfqnsha2cqn1rxw1iyfsjajr\"},{\"name\":\"TOP\",\"followsDelimiter\":\"/\",\"description\":\"places the legend at the top of the graph.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1s6ut9iokl0ykn1jup4c9nt8t0r\"}],\"supportSiteTargetFragment\":\"n0fc243hs7hn3pn174d4hupdlthq\"},{\"name\":\"SCALE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a scale factor that is to be applied to the fill swatch height.\",\"help\":\"SCALE=*positive-number*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1vrpsvusgjr9vn1c6vuv4dt954o\"},{\"name\":\"SORTORDER=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the sort order to use for the legend entry labels.\",\"help\":\"SORTORDER=ASCENDING | DESCENDING | REVERSEAUTO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ASCENDING\",\"type\":\"standalone\"},{\"name\":\"DESCENDING\",\"type\":\"standalone\"},{\"name\":\"REVERSEAUTO\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"n0fkycapsss7mdn11tto0j0knjq2\"},{\"name\":\"TITLE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"adds a title to the legend.\",\"help\":\"TITLE=\\\"*text-string*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0of93yujy85hxn1c3wbt8g3isqk\"},{\"name\":\"TITLEATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the appearance of the title.\",\"help\":\"TITLEATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"n0a1fwf8r34lmon19ipjaln11o6ba\"},{\"name\":\"TYPE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies which visual attributes to display for legend entries in the legend.\",\"help\":\"TYPE=FILL | FILLCOLOR | LINE | LINECOLOR | LINEPATTERN | MARKER | MARKERCOLOR | MARKERSYMBOL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"FILL\",\"followsDelimiter\":\"/\",\"description\":\"displays the fill colors and filled-area outline colors that are used in the plots as outlined color swatches.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0jyy7e5jx5mqmn1pnjlub7aupwh\"},{\"name\":\"FILLCOLOR\",\"followsDelimiter\":\"/\",\"description\":\"displays the fill colors that are used in the plots as outlined color swatches.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0kkiz2q8nrfzon1n8v8qlz6tcl0\"},{\"name\":\"LINE\",\"followsDelimiter\":\"/\",\"description\":\"displays the line colors and line patterns that are used in the plots.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1i7f2hbv39uo5n1mzk4qwf9e4pm\"},{\"name\":\"LINECOLOR\",\"followsDelimiter\":\"/\",\"description\":\"displays the line colors and outline colors that are used in the plots as outlined color swatches.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1xucup9zg5lx3n1vvj71bku3bjj\"},{\"name\":\"LINEPATTERN\",\"followsDelimiter\":\"/\",\"description\":\"displays the line patterns or outline patterns that are used in the plots.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1j5e8vhxwsetpn1sa2w540scd7o\"},{\"name\":\"MARKER\",\"followsDelimiter\":\"/\",\"description\":\"displays the marker symbols and marker colors that are used in the plots.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0gijv20pnqbm4n1r4u0lowtuv5g\"},{\"name\":\"MARKERCOLOR\",\"followsDelimiter\":\"/\",\"description\":\"displays the marker colors that are used in the plots as outlined color swatches.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n14f8ctphdunl4n1gk1ea6lircu0\"},{\"name\":\"MARKERSYMBOL\",\"followsDelimiter\":\"/\",\"description\":\"displays the marker symbols that are used in the plots.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n09qm84srzvt0zn1mi6pg3pccb1g\"}],\"supportSiteTargetFragment\":\"p0jz4tovuk261an1jq6b4vzmts8j\"},{\"name\":\"VALUEATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the appearance of the legend value labels.\",\"help\":\"VALUEATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p0p05ocst9vcbpn185ku3i29dgrk\"}],\"supportSiteTargetFile\":\"n1txerz2g23a70n1kqo75gs8srla.htm\"},{\"name\":\"LEGENDITEM\",\"description\":\"Creates a legend item that can be included in the legend. The LEGENDITEM statement must be used with one or more plot statements. The procedure can contain multiple LEGENDITEM statements.\",\"help\":\"LEGENDITEM TYPE=*type*NAME=\\\"*text-string*\\\"&lt;/*options*&gt;;\",\"arguments\":[{\"name\":\"TYPE=\",\"description\":\"specifies the type of legend item.\",\"help\":\"TYPE=FILL | MARKER | MARKERLINE | LINE | TEXT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"FILL\",\"description\":\"specifies a fill (displayed as a filled square).\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1spsk9lwxwxton1bwqsefcuepgg\"},{\"name\":\"MARKER\",\"description\":\"specifies a marker.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0v659jjvuao45n1a99lc0015gom\"},{\"name\":\"MARKERLINE\",\"description\":\"specifies a marker and a line.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0lghoqlwr71hrn15vo8bqpmq4ta\"},{\"name\":\"LINE\",\"description\":\"specifies a line.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p07l5lobnf208zn164u2ing1nxs0\"},{\"name\":\"TEXT\",\"description\":\"specifies text that can be displayed in the legend area.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0ke39pl7rrp89n1f8dagzahgz23\"}],\"supportSiteTargetFragment\":\"n10ayl2ylgube8n13gvb2e9kgkib\"},{\"name\":\"NAME=\",\"description\":\"assigns a name to the legend item for reference in a KEYLEGEND statement.\",\"help\":\"NAME=\\\"*text-string*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0vust2stp2eokn16gj3ufcdexxp\"},{\"name\":\"FILLATTRS=\",\"optional\":true,\"description\":\"specifies the fill color and transparency when TYPE= is set to FILL.\",\"help\":\"FILLATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p1an75p6m0vnrfn17bwq7xyfenz8\"},{\"name\":\"FILLEDOUTLINEDMARKERS\",\"optional\":true,\"description\":\"specifies that a filled marker also has an outline.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n06pakgroe9l38n1j7ofv549gpsy\"},{\"name\":\"LABEL=\",\"optional\":true,\"description\":\"specifies a label to be used for the item in the legend.\",\"help\":\"LABEL=\\\"*text-string*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0ewhxcsln3nkcn19hjjdcapovil\"},{\"name\":\"LABELATTRS=\",\"optional\":true,\"description\":\"specifies the color and font attributes of the legend item’s label.\",\"help\":\"LABELATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p19edh6msbdf5dn1qtp5u53cls0y\"},{\"name\":\"LINEATTRS=\",\"optional\":true,\"description\":\"specifies the appearance of the line when TYPE= is set to LINE or MARKERLINE.\",\"help\":\"LINEATTRS=*style-element*&lt;(*options*)&gt; | (*options*) \",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p1vi2mcs8nw7fxn19f1nr31mtxfs\"},{\"name\":\"MARKERATTRS=\",\"optional\":true,\"description\":\"specifies the appearance of the marker when TYPE= is set to MARKER or MARKERLINE.\",\"help\":\"MARKERATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"n168opy6gd1yktn1v10c7m1qt5gi\"},{\"name\":\"NOFILL\",\"optional\":true,\"description\":\"hides the fill or outline of the fill swatch for the legend item\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1j6yeaf2n0pwyn15y6091tq6xzb\"},{\"name\":\"NOOUTLINE\",\"optional\":true,\"description\":\"hides the fill or outline of the fill swatch for the legend item\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1j6yeaf2n0pwyn15y6091tq6xzb\"},{\"name\":\"OUTLINEATTRS=\",\"optional\":true,\"description\":\"specifies the appearance of the outline when TYPE= is set to FILL.\",\"help\":\"OUTLINEATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p0xvm8xh40r9w6n19omk4loa321j\"},{\"name\":\"TEXT=\",\"optional\":true,\"description\":\"specifies the text to display when TYPE= is set to TEXT.\",\"help\":\"TEXT=\\\"*text-string*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p17cgbe7ahh8o3n1wi4i5k1a0wpn\"},{\"name\":\"TEXTATTRS=\",\"optional\":true,\"description\":\"specifies the color and font properties of the legend item when TYPE is set to TEXT.\",\"help\":\"TEXTATTRS=*style-element*&lt;(*text-options*)&gt; | (*text-options*) \",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(text-options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"n1o12t69fofcq1n16rxb30yxtexu\"}],\"supportSiteTargetFile\":\"n1vsh1xqsqvprdn1j26u1qkipece.htm\"},{\"name\":\"LINEPARM\",\"description\":\"Creates a straight line specified by a point and a slope. You can generate a single line by specifying a constant for each required argument. You can generate multiple lines by specifying a numeric variable for any or all required arguments.\",\"help\":\"LINEPARM X=numeric-value |  numeric-variable | \\n Y=numeric-valuenumeric-variable | \\n SLOPE=numeric-valuenumeric-variable\\n</option(s)>;\",\"arguments\":[{\"name\":\"X=\",\"description\":\"specifies the X coordinate of a point.\",\"help\":\"X=*numeric-value* | *numeric-variable*\",\"type\":\"choice\",\"arguments\":[{\"name\":\"numeric-value\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"numeric-variable\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"n1g8gxyrzshl9yn1gbpwno38h2k2\"},{\"name\":\"Y=\",\"description\":\"specifies the Y coordinate of a point.\",\"help\":\"Y=*numeric-value* | *numeric-variable*\",\"type\":\"choice\",\"arguments\":[{\"name\":\"numeric-value\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"numeric-variable\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p1qctm8xaa25c0n1wupg80g8a3oi\"},{\"name\":\"SLOPE=\",\"description\":\"specifies the slope of the line.\",\"help\":\"SLOPE=*numeric-value* | *numeric-variable*\",\"type\":\"choice\",\"arguments\":[{\"name\":\"numeric-value\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"numeric-variable\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"n065jdm5bqwzvcn1uk04vlaojt42\"},{\"name\":\"ATTRID=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the value of the ID variable in a discrete attribute map data set.\",\"help\":\"ATTRID=*character-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1uxs2avsp1mrtn19pateg7icm4dn\"},{\"name\":\"CLIP\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that the data for the line is ignored when determining the data ranges for the axes.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1iyqpvg0wi2kvn1c6tljmdjg7zb\"},{\"name\":\"CURVELABEL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"adds a label to the curve or curves.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1439w2o5l4mmnn1w6zvgbuevlx2\"},{\"name\":\"CURVELABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a label for the curve when only one curve is drawn.\",\"help\":\"CURVELABEL=\\\"*text-string*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0u1zubijwz9k4n1og94r84upgc2\"},{\"name\":\"CURVELABELATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the appearance of the labels in the plot when you use the CURVELABEL= option.\",\"help\":\"CURVELABELATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"n0tdtttethzl0cn1bwc9mjicbbl7b\"},{\"name\":\"CURVELABELPOS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the location of the curve label.\",\"help\":\"CURVELABELPOS=MAX | MIN\",\"type\":\"choice\",\"arguments\":[{\"name\":\"MIN\",\"followsDelimiter\":\"/\",\"description\":\"places the curve label at the minimum value for the X axis.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n01ig97153t7d4n17vvjdapc9owl\"},{\"name\":\"MAX\",\"followsDelimiter\":\"/\",\"description\":\"places the curve label at the maximum value for the X axis.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p04t7vrd0lbzo8n1p57oye16hyrs\"}],\"supportSiteTargetFragment\":\"n0i4gn5j3j0lb4n1ay661j97gi98\"},{\"name\":\"GROUP=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a variable that is used to group the data.\",\"help\":\"GROUP=*variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0ud8j1hjn128pn108e4v3oi6leh\"},{\"name\":\"LEGENDLABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a label that identifies the plot in the legend.\",\"help\":\"LEGENDLABEL=\\\"*text-string*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n18lg0h24yg0pen1x06spnmdnew4\"},{\"name\":\"LINEATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the appearance of the line.\",\"help\":\"LINEATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p0a197bg6e88cpn1f0ukprvixfvw\"},{\"name\":\"NAME=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a name for the plot.\",\"help\":\"NAME=\\\"*text-string*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p00f81g82wmzr5n15sik0znnzfy9r\"},{\"name\":\"NOEXTEND\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"prevents the line from being extended beyond the axis offset.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0ukkwlpovrj2gn1t3nixy3ydbrp\"},{\"name\":\"NOMISSINGGROUP\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that missing values of the group variable are not included in the plot.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0fdp4w182w1csn1klig70d44c7qe\"},{\"name\":\"SPLITCHAR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies one or more characters on which the text used for curve labels is always split.\",\"help\":\"SPLITCHAR=\\\"*character-list*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1lia9qa5msupkn1ezho9z4u17go\"},{\"name\":\"SPLITCHARNODROP\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that the split characters are included in the displayed value.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n16zlyxz8f2e9fn1p1sv3c52m1itf\"},{\"name\":\"SPLITJUSTIFY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the horizontal alignment of the value text that is being split.\",\"help\":\"SPLITJUSTIFY=LEFT | CENTER | RIGHT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"LEFT\",\"type\":\"standalone\"},{\"name\":\"CENTER\",\"type\":\"standalone\"},{\"name\":\"RIGHT\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"n17xhll23zit14n1kzud4wxurf59f\"},{\"name\":\"TRANSPARENCY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the degree of transparency for the plot.\",\"help\":\"TRANSPARENCY=*value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p165beuigjohtnn1tb3zi07el186p\"}],\"supportSiteTargetFile\":\"p00tbd502kpjp6n1u7q6gg825eem.htm\"},{\"name\":\"LOESS\",\"description\":\"Creates a fitted loess curve.\",\"help\":\"LOESS X=*numeric-variable* Y=*numeric-variable*&lt;/*options*&gt;;\",\"arguments\":[{\"name\":\"X=\",\"description\":\"specifies the variable for the X axis.\",\"help\":\"X=*numeric-variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1n9nysuhwiu1on1v3k23clykshd\"},{\"name\":\"Y=\",\"description\":\"specifies the variable for the Y axis.\",\"help\":\"Y=*numeric-variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0rfwtno4hy0frn1kfd3viv4noy5\"},{\"name\":\"ALPHA=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the confidence level for the confidence limits.\",\"help\":\"ALPHA=*numeric-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1623e86cx893ln1j29zov0i0msj\"},{\"name\":\"ATTRID=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the value of the ID variable in a discrete attribute map data set.\",\"help\":\"ATTRID=*character-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1uxs2avsp1mrtn19pateg7icm4do\"},{\"name\":\"CLM\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"creates confidence limits.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0amip2cto2i7mn13h550q7p7tmk\"},{\"name\":\"CLM=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"creates confidence limits.\",\"help\":\"CLM=\\\"*text-string*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0amip2cto2i7mn13h550q7p7tmk\"},{\"name\":\"CLMATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the appearance of the mean value confidence limits by using an ODS style element or by specifying fill and line attributes.\",\"help\":\"CLMATTRS=*style-element* | (*CLM-attrs-suboptions* ) \",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the name of a style element.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1075qq394zijvn12zdo1gyx9jtz\"},{\"name\":\"CLMFILLATTRS=\",\"followsDelimiter\":\"/\",\"description\":\"Specify the fill attributes of the prediction limits.\",\"help\":\"CLMFILLATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"n0qdmvwwx5btiqn1g9lkzl4tl0vh\"},{\"name\":\"CLMLINEATTRS=\",\"followsDelimiter\":\"/\",\"description\":\"Specify the line attributes of the confidence limits.\",\"help\":\"CLMLINEATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"n19bu4ihuk7k59n147ac8xzjo6sx\"},{\"name\":\"FILL\",\"followsDelimiter\":\"/\",\"description\":\"shows the fill color.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1c85jjqcq1t5an14xee2qmg7muc\"},{\"name\":\"NOFILL\",\"followsDelimiter\":\"/\",\"description\":\"hides the fill color.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n02e3kyvery7ivn1es63p20il12u\"},{\"name\":\"NOOUTLINE\",\"followsDelimiter\":\"/\",\"description\":\"hides the outlines.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1gz2fffx22a17n17x053gjah7wh\"},{\"name\":\"OUTLINE\",\"followsDelimiter\":\"/\",\"description\":\"shows the outlines\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1uevryekej93dn144w1wlvfwjni\"}],\"supportSiteTargetFragment\":\"n1qxncj3p3gpayn1p94bbkia8gv1\"},{\"name\":\"CLMTRANSPARENCY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the degree of transparency for the confidence limits.\",\"help\":\"CLMTRANSPARENCY=*numeric-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0vx6xmy8rzv3hn11f6bx3zarshx\"},{\"name\":\"CURVELABEL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"adds a label to the curve or curves.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1votb954dsnsin1pfbls16aq0cz\"},{\"name\":\"CURVELABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a label for the curve when only one curve is drawn.\",\"help\":\"CURVELABEL=\\\"*text-string*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1bwz1ohz9sv9pn160x1akj0lult\"},{\"name\":\"CURVELABELATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the appearance of the labels in the plot when you use the CURVELABEL= option.\",\"help\":\"CURVELABELATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"n0tdtttethzl0cn1bwc9mjicbbl7c\"},{\"name\":\"CURVELABELPOS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the location of the curve label.\",\"help\":\"CURVELABELPOS=MIN | MAX | START | END\",\"type\":\"choice\",\"arguments\":[{\"name\":\"MIN\",\"followsDelimiter\":\"/\",\"description\":\"places the label at the part of the curve closest to the minimum X-axis value.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p114ql7g85tuyin1v1sw65ycpfxba\"},{\"name\":\"MAX\",\"followsDelimiter\":\"/\",\"description\":\"places the label at the part of the curve closest to the maximum X-axis value.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1eb3gyvkbv2h9n1eq26brjuxunba\"},{\"name\":\"START\",\"followsDelimiter\":\"/\",\"description\":\"places the curve label at the first point on the curve.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1dd85zmdcsgr3n1uskx90st60h8a\"},{\"name\":\"END\",\"followsDelimiter\":\"/\",\"description\":\"places the curve label at the last point on the curve.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p09cvwgd3lzkn2n114pbqqe4ny4ma\"}],\"supportSiteTargetFragment\":\"n1asmup3qz51men1prkiko0lzy7ea\"},{\"name\":\"DATALABEL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"displays a label for each data point.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1msikavxjrpx7n1bevzsgjniqwg\"},{\"name\":\"DATALABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"displays a label for each data point.\",\"help\":\"DATALABEL=*variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1msikavxjrpx7n1bevzsgjniqwg\"},{\"name\":\"DATALABELATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the appearance of the labels in the plot when you use the DATALABEL= option.\",\"help\":\"DATALABELATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p0e0ya27a7hlj5n164pkuwzf2j5uh\"},{\"name\":\"DATALABELPOS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the location of the data label with respect to the plot.\",\"help\":\"DATALABELPOS=*position*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1298lqwj801t1n1r350oa1zbsqyc\"},{\"name\":\"DEGREE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the degree of the local polynomials to use for each local regression.\",\"help\":\"DEGREE=1 | 2\",\"type\":\"choice\",\"arguments\":[{\"name\":\"1\",\"type\":\"standalone\"},{\"name\":\"2\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"n1gylcfh2q7g02n10wcgx4kpp9kg\"},{\"name\":\"FILLEDOUTLINEDMARKERS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that markers have a fill and an outline.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0o5uqdckml6sen1x4l4kg0ndl4na\"},{\"name\":\"GROUP=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a classification variable to divide the values into groups.\",\"help\":\"GROUP=*variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n135ua3ety5rw5n17n0i8hfs7608\"},{\"name\":\"INTERPOLATION=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the degree of the interpolating polynomials that are used for blending local polynomial fits at the kd tree vertices.\",\"help\":\"INTERPOLATION=CUBIC | LINEAR\",\"type\":\"choice\",\"arguments\":[{\"name\":\"CUBIC\",\"type\":\"standalone\"},{\"name\":\"LINEAR\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"n13sq3v6vecir9n1nmtd5n06lqbj\"},{\"name\":\"JITTER\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that data markers are offset when multiple observations have the same response value.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1cr61g2cj8ci0n1qhprnqvmfgyi\"},{\"name\":\"LEGENDLABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a label that identifies the fit line in the legend.\",\"help\":\"LEGENDLABEL=\\\"*text-string*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0t35amzxrfauun1xvmniejkcllp\"},{\"name\":\"LINEATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the appearance of the fit curve.\",\"help\":\"LINEATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"n0h55uwr72obnjn0zojw21loy9jv\"},{\"name\":\"MARKERATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the appearance of the markers in the plot.\",\"help\":\"MARKERATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"n0fhhk3qge8tmtn1a0h1ll1g7i8r\"},{\"name\":\"MARKERFILLATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the color of the marker fill.\",\"help\":\"MARKERFILLATTRS=*style-element* |  (COLOR=*color*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(COLOR=)\",\"type\":\"color\"}],\"supportSiteTargetFragment\":\"n1rpbcs7lrnofun13lxhxu52hi72b\"},{\"name\":\"MARKEROUTLINEATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the appearance of the marker outlines.\",\"help\":\"MARKEROUTLINEATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"n1p0zhoitcokdbn1rwa93j2qjjf6b\"},{\"name\":\"MAXPOINTS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the maximum number of predicted points for the loess fit and the corresponding limits.\",\"help\":\"MAXPOINTS=*n*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0fliqoanes8ocn1fftgulexmoty\"},{\"name\":\"NAME=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a name for the plot.\",\"help\":\"NAME=\\\"*text-string*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p00f81g82wmzr5n15sik0znnzfy9s\"},{\"name\":\"NOLEGCLM\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"hides the legend entry for the mean value confidence limits.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0lsk8h6273ezin1eflchaguq89m\"},{\"name\":\"NOLEGFIT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"hides the legend entry for the fit line.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p17ruxsy5feqosn1ki473xurixma\"},{\"name\":\"NOMARKERS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"removes the scatter markers from the plot.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0k7juzop7xtp4n10nqpw3s1tzvp\"},{\"name\":\"REWEIGHT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the number of iterative reweighting steps to apply to the data.\",\"help\":\"REWEIGHT=*n*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p13f873oboqjz7n1np76pv2eb54n\"},{\"name\":\"SMOOTH=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a smoothing parameter value.\",\"help\":\"SMOOTH=*numeric-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1swuy1nn0p4bfn1nhrzktd8to23\"},{\"name\":\"SPLITCHAR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies one or more characters on which the text for curve and data labels is always split.\",\"help\":\"SPLITCHAR=\\\"*character-list*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1j4250rabowqun14n3o3ido46isa\"},{\"name\":\"SPLITCHARNODROP\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that the split characters are included in the displayed value.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n16zlyxz8f2e9fn1p1sv3c52m1itg\"},{\"name\":\"SPLITJUSTIFY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the horizontal alignment of the value text that is being split.\",\"help\":\"SPLITJUSTIFY=LEFT | CENTER | RIGHT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"LEFT\",\"type\":\"standalone\"},{\"name\":\"CENTER\",\"type\":\"standalone\"},{\"name\":\"RIGHT\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"n17xhll23zit14n1kzud4wxurf59g\"},{\"name\":\"TIP=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the data tip information to be displayed when the cursor is positioned over the graphics element.\",\"help\":\"TIP=(*variable-list*) | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"(variable-list)\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"a space-separated list of variables enclosed in parentheses.\",\"help\":\"(*variable-list*) \",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1m6zmye01y4lvn104i7gn57dfpoi\"},{\"name\":\"NONE\",\"followsDelimiter\":\"/\",\"description\":\"suppresses the data tips from this plot.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n02szuj3p61ekvn1c2scb9cyaar4i\"}],\"supportSiteTargetFragment\":\"p1vzdm59cf0i9qn1jz5pwqz5hm71i\"},{\"name\":\"TIPFORMAT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"applies formats to the list of data tip variables that you specify in the TIP= option.\",\"help\":\"TIPFORMAT=(*format-list*)\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p17xpdoc2x7peln1gkubt92md28hg\"},{\"name\":\"TIPLABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"applies labels to the list of data tip variables that you specify in the TIP= option.\",\"help\":\"TIPLABEL=(*label-list*)\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n126ol9w7pwp12n1irzzust1e2twg\"},{\"name\":\"TRANSPARENCY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the degree of transparency for the plot.\",\"help\":\"TRANSPARENCY=*value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0hyflfq6ne36ln1scm6x6rofcdk\"},{\"name\":\"WEIGHT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies how observations are weighted.\",\"help\":\"WEIGHT=*numeric-variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0bjkzpnw874n9n1u7bjxlfvpz30c\"}],\"supportSiteTargetFile\":\"n1ljknsh5cjk8un10qw4ppp51re2.htm\"},{\"name\":\"NEEDLE\",\"description\":\"Creates a plot with needles connecting each point to the baseline.\",\"help\":\"NEEDLE  X=*variable* Y=*numeric-variable*&lt;/*options*&gt;;\",\"arguments\":[{\"name\":\"X=\",\"description\":\"specifies the variable for the X axis.\",\"help\":\"X=*variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0oye5lyd0xpxzn1r2cl6g30sdu3\"},{\"name\":\"Y=\",\"description\":\"specifies a numeric variable for the Y axis.\",\"help\":\"Y=*numeric-variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1xhbbu6qdhmldn1mbctuuruk3bn\"},{\"name\":\"ATTRID=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the value of the ID variable in a discrete attribute map data set.\",\"help\":\"ATTRID=*character-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1uxs2avsp1mrtn19pateg7icm4dp\"},{\"name\":\"BASELINE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a value on the Y axis for the baseline.\",\"help\":\"BASELINE=*numeric-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0f761pti5vn0ln1h0qipj5wso4m\"},{\"name\":\"BASELINEATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the appearance of the baseline.\",\"help\":\"BASELINEATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"n1ej682yz3aynon17p7w2ff0pqcec\"},{\"name\":\"CLUSTERWIDTH=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the width of the group clusters as a fraction of the midpoint spacing.\",\"help\":\"CLUSTERWIDTH=*numeric-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0ajeu9czbr9dvn11rh269ho494hb\"},{\"name\":\"DATALABEL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"displays a label for each data point.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0vc78nhlnzxh7n1v9wkvah2h9tea\"},{\"name\":\"DATALABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"displays a label for each data point.\",\"help\":\"DATALABEL=*variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0vc78nhlnzxh7n1v9wkvah2h9tea\"},{\"name\":\"DATALABELATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the appearance of the labels in the plot when you use the DATALABEL= option.\",\"help\":\"DATALABELATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p0e0ya27a7hlj5n164pkuwzf2j5ui\"},{\"name\":\"DATALABELPOS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the location of the data label with respect to the plot.\",\"help\":\"DATALABELPOS=*position*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1298lqwj801t1n1r350oa1zbsqyd\"},{\"name\":\"DATASKIN=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a special effect to be used on the plot.\",\"help\":\"DATASKIN=NONE | CRISP | GLOSS | MATTE | PRESSED | SHEEN\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NONE\",\"type\":\"standalone\"},{\"name\":\"CRISP\",\"type\":\"standalone\"},{\"name\":\"GLOSS\",\"type\":\"standalone\"},{\"name\":\"MATTE\",\"type\":\"standalone\"},{\"name\":\"PRESSED\",\"type\":\"standalone\"},{\"name\":\"SHEEN\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"n1wqoylzvajtm1n1rpjpq7jwq9eij\"},{\"name\":\"DISCRETEOFFSET=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies an amount to offset all needle lines from discrete X values.\",\"help\":\"DISCRETEOFFSET=*numeric-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0br8ura2lm9k7n1alxulfrc5tco\"},{\"name\":\"DISPLAYBASELINE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies whether the baseline is displayed.\",\"help\":\"DISPLAYBASELINE=AUTO | ON | OFF\",\"type\":\"choice\",\"arguments\":[{\"name\":\"AUTO\",\"followsDelimiter\":\"/\",\"description\":\"displays the baseline if the baseline intercept is within the response-axis range, excluding the minimum and maximum axis values.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p09vvws7ebi8kxn19db65gsk5n44c\"},{\"name\":\"ON\",\"followsDelimiter\":\"/\",\"description\":\"always displays the baseline.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0a3ajoca9hgurn19b68pgsgb226c\"},{\"name\":\"OFF\",\"followsDelimiter\":\"/\",\"description\":\"hides the baseline.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0jzhok5gxdylen17jwnxqnlylbjc\"}],\"supportSiteTargetFragment\":\"n0hd2s4tisgi5zn12s6pyf7fbydsc\"},{\"name\":\"GROUP=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a variable that is used to group the data.\",\"help\":\"GROUP=*variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0pcknqci1w3w5n0z6ioxluu4daae\"},{\"name\":\"GROUPDISPLAY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies how to display grouped needles.\",\"help\":\"GROUPDISPLAY=CLUSTER | OVERLAY\",\"type\":\"choice\",\"arguments\":[{\"name\":\"CLUSTER\",\"followsDelimiter\":\"/\",\"description\":\"grouped items are drawn adjacent to each other.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1f9g1imvgdc3xn1o4qmhc3dsaxtb\"},{\"name\":\"OVERLAY\",\"followsDelimiter\":\"/\",\"description\":\"grouped items are drawn at the exact coordinate and might overlap.\",\"help\":\"OVERLAY \",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0gedf37npwg28n19wqi2annun4nb\"}],\"supportSiteTargetFragment\":\"p092ng1akcuyx5n15fafth7jrwz1\"},{\"name\":\"GROUPORDER=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the ordering of the groups within a category.\",\"help\":\"GROUPORDER=DATA | REVERSEDATA | ASCENDING | DESCENDING\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DATA\",\"followsDelimiter\":\"/\",\"description\":\"orders the groups within a category in data order of the group variable.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1olglc4d6w5xtn1975koececghgg\"},{\"name\":\"REVERSEDATA\",\"followsDelimiter\":\"/\",\"description\":\"orders the groups within a category in the reverse data order of the group variable.\",\"help\":\"REVERSEDATA \",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n19zwzvwl75rxun1kbxu50jrgzjjg\"},{\"name\":\"ASCENDING\",\"followsDelimiter\":\"/\",\"description\":\"orders the groups within a category in ascending order of the group variable.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0dd45nyc2fae3n1ne4koepnc2w8g\"},{\"name\":\"DESCENDING\",\"followsDelimiter\":\"/\",\"description\":\"orders the groups within a category in descending order of the group variable.\",\"help\":\"DESCENDING \",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0tsocv1fpdf1un1mcfikx2mnrqlg\"}],\"supportSiteTargetFragment\":\"p0sm1j07xn1rg2n16hsii0x2d6fdg\"},{\"name\":\"LEGENDLABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a label that identifies the needle plot in the legend.\",\"help\":\"LEGENDLABEL=\\\"*text-string*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1r7jkrb6omykon1r6t2vnfi2dxe\"},{\"name\":\"LINEATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the appearance of the needle lines.\",\"help\":\"LINEATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p0uchux9ao9s8nn1sqv1aa33p025\"},{\"name\":\"MARKERATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the appearance of the markers in the plot.\",\"help\":\"MARKERATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p1groxod4ky5ivn1eroobyyn4rqz\"},{\"name\":\"MARKERS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"adds markers to the tips of the needles.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0ut9sm18oi6orn1qs2i0u9nic30\"},{\"name\":\"NAME=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a name for the plot.\",\"help\":\"NAME=\\\"*text-string*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p00f81g82wmzr5n15sik0znnzfy9t\"},{\"name\":\"NOMISSINGGROUP\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that missing values of the group variable are not included in the plot.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0fdp4w182w1csn1klig70d44c7qf\"},{\"name\":\"SPLITCHAR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies one or more characters on which the text for data labels is always split.\",\"help\":\"SPLITCHAR=\\\"*character-list*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n18bn0zlnq288pn1f2cp7l2x169pc\"},{\"name\":\"SPLITCHARNODROP\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that the split characters are included in the displayed value.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n16zlyxz8f2e9fn1p1sv3c52m1ith\"},{\"name\":\"SPLITJUSTIFY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the horizontal alignment of the value text that is being split.\",\"help\":\"SPLITJUSTIFY=LEFT | CENTER | RIGHT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"LEFT\",\"type\":\"standalone\"},{\"name\":\"CENTER\",\"type\":\"standalone\"},{\"name\":\"RIGHT\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"n17xhll23zit14n1kzud4wxurf59h\"},{\"name\":\"TIP=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the data tip information to be displayed when the cursor is positioned over the graphics element.\",\"help\":\"TIP=(*variable-list*) | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"(variable-list)\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"a space-separated list of variables enclosed in parentheses.\",\"help\":\"(*variable-list*) \",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1m6zmye01y4lvn104i7gn57dfpoj\"},{\"name\":\"NONE\",\"followsDelimiter\":\"/\",\"description\":\"suppresses the data tips from this plot.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n02szuj3p61ekvn1c2scb9cyaar4j\"}],\"supportSiteTargetFragment\":\"p1vzdm59cf0i9qn1jz5pwqz5hm71j\"},{\"name\":\"TIPFORMAT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"applies formats to the list of data tip variables that you specify in the TIP= option.\",\"help\":\"TIPFORMAT=(*format-list*)\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p17xpdoc2x7peln1gkubt92md28hh\"},{\"name\":\"TIPLABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"applies labels to the list of data tip variables that you specify in the TIP= option.\",\"help\":\"TIPLABEL=(*label-list*)\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n126ol9w7pwp12n1irzzust1e2twh\"},{\"name\":\"TRANSPARENCY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the degree of transparency for the plot.\",\"help\":\"TRANSPARENCY=*value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p165beuigjohtnn1tb3zi07el186q\"},{\"name\":\"URL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies an HTML page to be displayed when parts of the plot are selected.\",\"help\":\"URL=*character-variable*\",\"type\":\"value\",\"arguments\":[{\"name\":\"character-variable\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a variable that contains a valid HTML page reference (HREF) for each plot element that is to have an active link.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1kbi4uhax9tzon1rukcqelmr68rh\"}],\"supportSiteTargetFragment\":\"n0jx60ib3ia9lgn0zqatbajgfsz4h\"}],\"supportSiteTargetFile\":\"n1lfh6moxjaqzyn1p9kqg35snn7q.htm\"},{\"name\":\"PBSPLINE\",\"description\":\"Creates a fitted penalized B-spline curve.\",\"help\":\"PBSPLINE X=*numeric-variable* Y=*numeric-variable*&lt;/*options*&gt;;\",\"arguments\":[{\"name\":\"X=\",\"description\":\"specifies the variable for the X axis.\",\"help\":\"X=*numeric-variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p14rh2mfpuw9nmn1uj9r5p7lvlv8\"},{\"name\":\"Y=\",\"description\":\"specifies the variable for the Y axis.\",\"help\":\"Y=*numeric-variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n025c0yglapxdsn1suddzcycqzu5\"},{\"name\":\"ALPHA=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the confidence level for the confidence limits.\",\"help\":\"ALPHA=*numeric-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1vm3opi4l2zdbn1o6ycf2z663io\"},{\"name\":\"ATTRID=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the value of the ID variable in a discrete attribute map data set.\",\"help\":\"ATTRID=*character-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1uxs2avsp1mrtn19pateg7icm4dq\"},{\"name\":\"CLI\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"creates confidence limits for the individual predicted values.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n19eo87j5itw2bn1u832fg3ge777\"},{\"name\":\"CLI=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"creates confidence limits for the individual predicted values.\",\"help\":\"CLI=\\\"*text-string*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n19eo87j5itw2bn1u832fg3ge777\"},{\"name\":\"CLIATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the appearance of the individual value prediction limits by using an ODS style element or by specifying line and fill attributes.\",\"help\":\"CLIATTRS=*style-element* | (*CLI-attrs-suboptions*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"CLIFILLATTRS=\",\"followsDelimiter\":\"/\",\"description\":\"Specify the fill attributes of the prediction limits.\",\"help\":\"CLIFILLATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p1twalnj81hoj3n1v1lo3sdug6o4\"},{\"name\":\"CLILINEATTRS=\",\"followsDelimiter\":\"/\",\"description\":\"Specify the line attributes of the prediction limits.\",\"help\":\"CLILINEATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"n1achfisopr671n1g25goxxs2ego\"},{\"name\":\"FILL\",\"followsDelimiter\":\"/\",\"description\":\"specifies whether the prediction band is filled.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0wbh9e8gsaedvn1a4qvol8dwz20\"},{\"name\":\"NOFILL\",\"followsDelimiter\":\"/\",\"description\":\"specifies whether the prediction band is filled.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0wbh9e8gsaedvn1a4qvol8dwz20\"},{\"name\":\"OUTLINE\",\"followsDelimiter\":\"/\",\"description\":\"specifies whether the prediction band has outlines.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1pz1zz3thvkvun1rsr3sbdjgybn\"},{\"name\":\"NOOUTLINE\",\"followsDelimiter\":\"/\",\"description\":\"specifies whether the prediction band has outlines.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1pz1zz3thvkvun1rsr3sbdjgybn\"}],\"supportSiteTargetFragment\":\"p106plas5yiw0cn1axe6z7ddqzbf\"},{\"name\":\"CLM\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"creates confidence limits.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0amip2cto2i7mn13h550q7p7tmka\"},{\"name\":\"CLM=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"creates confidence limits.\",\"help\":\"CLM=\\\"*text-string*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0amip2cto2i7mn13h550q7p7tmka\"},{\"name\":\"CLMATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the appearance of the mean value confidence limits by using an ODS style element or by specifying fill and line attributes.\",\"help\":\"CLMATTRS=*style-element* | (*CLM-attrs-suboptions* ) \",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the name of a style element.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1075qq394zijvn12zdo1gyx9jtza\"},{\"name\":\"CLMFILLATTRS=\",\"followsDelimiter\":\"/\",\"description\":\"Specify the fill attributes of the prediction limits.\",\"help\":\"CLMFILLATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"n0qdmvwwx5btiqn1g9lkzl4tl0vha\"},{\"name\":\"CLMLINEATTRS=\",\"followsDelimiter\":\"/\",\"description\":\"Specify the line attributes of the confidence limits.\",\"help\":\"CLMLINEATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"n19bu4ihuk7k59n147ac8xzjo6sxa\"},{\"name\":\"FILL\",\"followsDelimiter\":\"/\",\"description\":\"shows the fill color.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1c85jjqcq1t5an14xee2qmg7muca\"},{\"name\":\"NOFILL\",\"followsDelimiter\":\"/\",\"description\":\"hides the fill color.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n02e3kyvery7ivn1es63p20il12ua\"},{\"name\":\"NOOUTLINE\",\"followsDelimiter\":\"/\",\"description\":\"hides the outlines.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1gz2fffx22a17n17x053gjah7wha\"},{\"name\":\"OUTLINE\",\"followsDelimiter\":\"/\",\"description\":\"shows the outlines\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1uevryekej93dn144w1wlvfwjnia\"}],\"supportSiteTargetFragment\":\"n1qxncj3p3gpayn1p94bbkia8gv1a\"},{\"name\":\"CLMTRANSPARENCY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the degree of transparency for the confidence limits.\",\"help\":\"CLMTRANSPARENCY=*numeric-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0vx6xmy8rzv3hn11f6bx3zarshxa\"},{\"name\":\"CURVELABEL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"adds a label to the curve or curves.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1votb954dsnsin1pfbls16aq0cza\"},{\"name\":\"CURVELABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a label for the curve when only one curve is drawn.\",\"help\":\"CURVELABEL=\\\"*text-string*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1bwz1ohz9sv9pn160x1akj0lulta\"},{\"name\":\"CURVELABELATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the appearance of the labels in the plot when you use the CURVELABEL= option.\",\"help\":\"CURVELABELATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"n0tdtttethzl0cn1bwc9mjicbbl7d\"},{\"name\":\"CURVELABELPOS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the location of the curve label.\",\"help\":\"CURVELABELPOS=MIN | MAX | START | END\",\"type\":\"choice\",\"arguments\":[{\"name\":\"MIN\",\"followsDelimiter\":\"/\",\"description\":\"places the label at the part of the curve closest to the minimum X-axis value.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p114ql7g85tuyin1v1sw65ycpfxbb\"},{\"name\":\"MAX\",\"followsDelimiter\":\"/\",\"description\":\"places the label at the part of the curve closest to the maximum X-axis value.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1eb3gyvkbv2h9n1eq26brjuxunbb\"},{\"name\":\"START\",\"followsDelimiter\":\"/\",\"description\":\"places the curve label at the first point on the curve.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1dd85zmdcsgr3n1uskx90st60h8b\"},{\"name\":\"END\",\"followsDelimiter\":\"/\",\"description\":\"places the curve label at the last point on the curve.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p09cvwgd3lzkn2n114pbqqe4ny4mb\"}],\"supportSiteTargetFragment\":\"n1asmup3qz51men1prkiko0lzy7eb\"},{\"name\":\"DATALABEL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"displays a label for each data point.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1msikavxjrpx7n1bevzsgjniqwga\"},{\"name\":\"DATALABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"displays a label for each data point.\",\"help\":\"DATALABEL=*variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1msikavxjrpx7n1bevzsgjniqwga\"},{\"name\":\"DATALABELATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the appearance of the labels in the plot when you use the DATALABEL= option.\",\"help\":\"DATALABELATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p0e0ya27a7hlj5n164pkuwzf2j5uj\"},{\"name\":\"DATALABELPOS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the location of the data label with respect to the plot.\",\"help\":\"DATALABELPOS=*position*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1298lqwj801t1n1r350oa1zbsqye\"},{\"name\":\"DEGREE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the degree of the spline transformation.\",\"help\":\"DEGREE=*n*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0nmdcinb6jkszn1cd7hhyms5yak\"},{\"name\":\"FILLEDOUTLINEDMARKERS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that markers have a fill and an outline.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0o5uqdckml6sen1x4l4kg0ndl4nb\"},{\"name\":\"FREQ=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a variable for the frequency count for each observation in the input data.\",\"help\":\"FREQ=*numeric-variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p008vk7d26otpon1avqg25jhido4d\"},{\"name\":\"GROUP=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a classification variable to divide the values into groups.\",\"help\":\"GROUP=*variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0ua9hky8mc5nun1tljs31le6vrx\"},{\"name\":\"JITTER\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that data markers are offset when multiple observations have the same response value.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1al65euh4davnn16elb31pjkj9d\"},{\"name\":\"LEGENDLABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a label that identifies the B-spline curve in the legend.\",\"help\":\"LEGENDLABEL=\\\"*text-string*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0n3lyx1m74vnzn0zjuiaubixesn\"},{\"name\":\"LINEATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the appearance of the fitted curve.\",\"help\":\"LINEATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p124shad5bnojwn1mn10a1e2oy88\"},{\"name\":\"MARKERATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the appearance of the markers in the plot.\",\"help\":\"MARKERATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"n1tvfnf56umd0on1kskmp954k8p1\"},{\"name\":\"MARKERFILLATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the color of the marker fill.\",\"help\":\"MARKERFILLATTRS=*style-element* |  (COLOR=*color*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(COLOR=)\",\"type\":\"color\"}],\"supportSiteTargetFragment\":\"n1rpbcs7lrnofun13lxhxu52hi72c\"},{\"name\":\"MARKEROUTLINEATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the appearance of the marker outlines.\",\"help\":\"MARKEROUTLINEATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"n1p0zhoitcokdbn1rwa93j2qjjf6c\"},{\"name\":\"MAXPOINTS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the maximum number of predicted points for the spline curve and for any confidence limits.\",\"help\":\"MAXPOINTS=*n*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1ir1t3grxyej2n1hvxczomaky81\"},{\"name\":\"NAME=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a name for the plot.\",\"help\":\"NAME=\\\"*text-string*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p00f81g82wmzr5n15sik0znnzfy9u\"},{\"name\":\"NKNOTS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the number of evenly spaced internal knots.\",\"help\":\"NKNOTS=*n*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n17eb4kozcpm5an16sqry8tveh0b\"},{\"name\":\"NOLEGCLI\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"hides the legend entry for the individual value prediction limits.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0xzvf6ef248q5n1c2z0nuax2bas\"},{\"name\":\"NOLEGCLM\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"hides the legend entry for the mean value confidence limits.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1hq1fooh5oy7zn1b8won1dm4avm\"},{\"name\":\"NOLEGFIT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"hides the legend entry for the fit line.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0jezdev1bhvfbn1jruvygo2v8tj\"},{\"name\":\"NOMARKERS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"removes the scatter markers from the plot.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1w6m66flw0de1n15eocxe3eyews\"},{\"name\":\"SMOOTH=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a smoothing parameter value.\",\"help\":\"SMOOTH=*numeric-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0bw1im1dq0nozn1vr8bv4di6v4e\"},{\"name\":\"SPLITCHAR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies one or more characters on which the text for curve labels is always split.\",\"help\":\"SPLITCHAR=\\\"*character-list*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p147upmdjzt6xen12p1eh571gf68a\"},{\"name\":\"SPLITCHARNODROP\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that the split characters are included in the displayed value.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n16zlyxz8f2e9fn1p1sv3c52m1iti\"},{\"name\":\"SPLITJUSTIFY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the horizontal alignment of the value text that is being split.\",\"help\":\"SPLITJUSTIFY=LEFT | CENTER | RIGHT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"LEFT\",\"type\":\"standalone\"},{\"name\":\"CENTER\",\"type\":\"standalone\"},{\"name\":\"RIGHT\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"n17xhll23zit14n1kzud4wxurf59i\"},{\"name\":\"TIP=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the data tip information to be displayed when the cursor is positioned over the graphics element.\",\"help\":\"TIP=(*variable-list*) | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"(variable-list)\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"a space-separated list of variables enclosed in parentheses.\",\"help\":\"(*variable-list*) \",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1m6zmye01y4lvn104i7gn57dfpok\"},{\"name\":\"NONE\",\"followsDelimiter\":\"/\",\"description\":\"suppresses the data tips from this plot.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n02szuj3p61ekvn1c2scb9cyaar4k\"}],\"supportSiteTargetFragment\":\"p1vzdm59cf0i9qn1jz5pwqz5hm71k\"},{\"name\":\"TIPFORMAT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"applies formats to the list of data tip variables that you specify in the TIP= option.\",\"help\":\"TIPFORMAT=(*format-list*)\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p17xpdoc2x7peln1gkubt92md28hi\"},{\"name\":\"TIPLABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"applies labels to the list of data tip variables that you specify in the TIP= option.\",\"help\":\"TIPLABEL=(*label-list*)\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n126ol9w7pwp12n1irzzust1e2twi\"},{\"name\":\"TRANSPARENCY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the degree of transparency for the plot.\",\"help\":\"TRANSPARENCY=*value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0hyflfq6ne36ln1scm6x6rofcdka\"},{\"name\":\"WEIGHT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies how observations are weighted.\",\"help\":\"WEIGHT=*numeric-variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0bjkzpnw874n9n1u7bjxlfvpz30d\"}],\"supportSiteTargetFile\":\"p1krieio5lqhvsn1iihzwmj93avs.htm\"},{\"name\":\"POLYGON\",\"description\":\"Draws a polygon from data stored in a data set.\",\"help\":\"POLYGON X=*x-variable*Y=*y-variable*ID=*id-variable*&lt;/*options*&gt;;\",\"arguments\":[{\"name\":\"X=\",\"description\":\"specifies the variable for the X values.\",\"help\":\"X=*x-variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n19iz4nppie3t2n1dkiticjjoj16\"},{\"name\":\"Y=\",\"description\":\"specifies the variable for the Y values.\",\"help\":\"Y=*y-variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p04xgo192u8ucon160603wfr5h2t\"},{\"name\":\"ID=\",\"description\":\"specifies the variable for the ID values that identify the polygon or polygons.\",\"help\":\"ID=*id-variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0qkq5cy86vamen1x161jkeoubbk\"},{\"name\":\"ATTRID=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the value of the ID variable in a discrete attribute map data set.\",\"help\":\"ATTRID=*character-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1uxs2avsp1mrtn19pateg7icm4dr\"},{\"name\":\"BACKLIGHT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that label text should have a back light of a contrasting color.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0iyq7uai82ubwn160il708jf6om\"},{\"name\":\"BACKLIGHT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that label text should have a back light of a contrasting color.\",\"help\":\"BACKLIGHT=*number*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0iyq7uai82ubwn160il708jf6om\"},{\"name\":\"COLORMODEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a color ramp that is to be used to determine response colors.\",\"help\":\"COLORMODEL=*style-element* | (*color-list*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the name of a style element.\",\"help\":\"*style-element* \",\"type\":\"value\",\"supportSiteTargetFragment\":\"n18psxv7sqmtj2n1v6wlf47btlsjh\"},{\"name\":\"(color-list)\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a space-separated list of colors to use in the color ramp.\",\"type\":\"color\",\"supportSiteTargetFragment\":\"p0wnu5ewzeub7kn12i56v2nlcug8h\"}],\"supportSiteTargetFragment\":\"n0z1120sgbulvyn1q3n66xdpygjjh\"},{\"name\":\"COLORRESPONSE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the numeric column that is used to map colors to a continuous color ramp.\",\"help\":\"COLORRESPONSE=*numeric-column* \",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0zb6oty4r633rn1ab2g6k8k1bt5f\"},{\"name\":\"DATASKIN=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a special effect to be used on the plot.\",\"help\":\"DATASKIN=NONE | CRISP | GLOSS | MATTE | PRESSED | SHEEN\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NONE\",\"type\":\"standalone\"},{\"name\":\"CRISP\",\"type\":\"standalone\"},{\"name\":\"GLOSS\",\"type\":\"standalone\"},{\"name\":\"MATTE\",\"type\":\"standalone\"},{\"name\":\"PRESSED\",\"type\":\"standalone\"},{\"name\":\"SHEEN\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"n1wqoylzvajtm1n1rpjpq7jwq9eik\"},{\"name\":\"FILL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies whether the polygons are filled.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1vi5plaqc1nuhn1594e9t0f90zu\"},{\"name\":\"NOFILL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies whether the polygons are filled.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1vi5plaqc1nuhn1594e9t0f90zu\"},{\"name\":\"FILLATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the fill color and transparency.\",\"help\":\"FILLATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p0hsyjx1at62w1n1akl6mco17le9i\"},{\"name\":\"FILLPATTERN\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"enables the display of line fill patterns for the plot.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1rfcg52cmb01gn1ho28yt0z04p6j\"},{\"name\":\"FILLPATTERNATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the line-fill color and pattern.\",\"help\":\"FILLPATTERNATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the name of a style element.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n16slmtjq8rjq2n1p1rnk8l5iiq0j\"},{\"name\":\"COLOR=\",\"followsDelimiter\":\"/\",\"description\":\"specifies a color to use for the fill lines.\",\"help\":\"COLOR=*color*\",\"type\":\"color\",\"supportSiteTargetFragment\":\"p0ydkeub4j3ntln1gf1e1tvev3cxj\"},{\"name\":\"PATTERN=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the type of line pattern to use for the fill.\",\"help\":\"PATTERN=*line-pattern*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p076ecgpkp0a8rn19liu4ivc8tpaj\"}],\"supportSiteTargetFragment\":\"n1h0vxz6qoyx8qn10w4qlqtmdcxuj\"},{\"name\":\"GROUP=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"creates a separate polygon color or outline pattern for each unique grouping that is specified.\",\"help\":\"GROUP=*variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1cs77lbvhjbwtn1m51vpvxqbf6z\"},{\"name\":\"LABEL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a label for the polygon curve.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1a0ju4aamgmjgn16g30ni1mi3b4\"},{\"name\":\"LABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a label for the polygon curve.\",\"help\":\"LABEL=*variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1a0ju4aamgmjgn16g30ni1mi3b4\"},{\"name\":\"LABELATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the appearance of the labels in the plot.\",\"help\":\"LABELATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p1w4aswps5hppln1khpckti3avw9\"},{\"name\":\"LABELLOC=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the location of the polygon label.\",\"help\":\"LABELLOC=INSIDEBBOX | OUTSIDEBBOX \",\"type\":\"choice\",\"arguments\":[{\"name\":\"INSIDEBBOX\",\"followsDelimiter\":\"/\",\"description\":\"inside the polygon.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1u9u0d7nn6shnn1d593v78uyrk9\"},{\"name\":\"OUTSIDEBBOX\",\"followsDelimiter\":\"/\",\"description\":\"outside the polygon but inside the plot area.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1efb3mzqnkapwn1xme3jkoostyx\"}],\"supportSiteTargetFragment\":\"p13u20j217sn46n1aocm88290z3g\"},{\"name\":\"LABELPOS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the position of the polygon label.\",\"help\":\"LABELPOS=CENTER | XMIN | XMAX | YMIN | YMAX\",\"type\":\"choice\",\"arguments\":[{\"name\":\"CENTER\",\"followsDelimiter\":\"/\",\"description\":\"centers the label.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0jvppnqdomd1wn10rlgn7rhsak0\"},{\"name\":\"XMIN\",\"followsDelimiter\":\"/\",\"description\":\"places the label at the part of the polygon closest to the minimum X-axis value, centered in the Y-axis range.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0c2mqachcb95qn13josxpvbxmas\"},{\"name\":\"XMAX\",\"followsDelimiter\":\"/\",\"description\":\"places the label at the part of the polygon closest to the maximum X-axis value, centered in the Y-axis range.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n07jln07w5arr2n1bldzjbtpt5ac\"},{\"name\":\"YMIN\",\"followsDelimiter\":\"/\",\"description\":\"places the label at the part of the polygon closest to the minimum Y-axis value, centered in the X-axis range.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n08w2g4v51w6xrn15d3puodwb6wn\"},{\"name\":\"YMAX\",\"followsDelimiter\":\"/\",\"description\":\"places the label at the part of the polygon closest to the maximum Y-axis value, centered in the X-axis range.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0pnyp6ozmzrozn1btjhdvcl7jel\"}],\"supportSiteTargetFragment\":\"n1gbm3ob8p08x4n14ss9e60jww8b\"},{\"name\":\"LEGENDLABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the label that identifies the polygon in the legend.\",\"help\":\"LEGENDLABEL=\\\"*text-string*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1mrzpruv4oagcn1tvpecb44ss3l\"},{\"name\":\"LINEATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the appearance of the polygon outline.\",\"help\":\"LINEATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p0pnqxs76ic73pn1jhuxfetcl43i\"},{\"name\":\"NAME=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a name for the plot.\",\"help\":\"NAME=\\\"*text-string*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p00f81g82wmzr5n15sik0znnzfy9v\"},{\"name\":\"NOMISSINGGROUP\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that missing values of the group variable are not included in the plot.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0fdp4w182w1csn1klig70d44c7qg\"},{\"name\":\"OUTLINE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies whether the polygons have outlines.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1lpytp83800h8n1xxu4xh436ps5\"},{\"name\":\"NOOUTLINE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies whether the polygons have outlines.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1lpytp83800h8n1xxu4xh436ps5\"},{\"name\":\"RATTRID=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the value of the ID variable in a range attribute map data set.\",\"help\":\"RATTRID=*character-value* \",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0fm3fy2vuky40n1x8yt0aim3hurh\"},{\"name\":\"ROTATE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the angle of rotation for the polygon measured in degrees.\",\"help\":\"ROTATE=*numeric-column* | *number*\",\"type\":\"choice\",\"arguments\":[{\"name\":\"numeric-column\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"number\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"n1it9zfj0vmwvsn1uanb4tygj60r\"},{\"name\":\"ROTATELABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the rotation of the polygon label with respect to the rotation of the polygon.\",\"help\":\"ROTATELABEL=AUTO | NONE | VERTICAL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"AUTO\",\"followsDelimiter\":\"/\",\"description\":\"rotates the label with the rotation of the polygon.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1p96dh709fcdqn1ullwlwq1mcd8\"},{\"name\":\"NONE\",\"followsDelimiter\":\"/\",\"description\":\"does not rotate the label with the rotation of the polygon.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1jygqhuia9jq9n1xvoh26drtppm\"},{\"name\":\"VERTICAL\",\"followsDelimiter\":\"/\",\"description\":\"rotates the label to a vertical position.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1r6uyhvq86s49n19h9smlozcvtm\"}],\"supportSiteTargetFragment\":\"p12bg16o738c6cn1vlv095qubve9\"},{\"name\":\"SPLITCHAR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies one or more characters on which the text for data labels is always split.\",\"help\":\"SPLITCHAR=\\\"*character-list*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1ahdrnopow6xnn1njjhagylmdw2\"},{\"name\":\"SPLITCHARNODROP\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that the split characters are included in the displayed value.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n16zlyxz8f2e9fn1p1sv3c52m1itj\"},{\"name\":\"SPLITJUSTIFY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the horizontal alignment of the value text that is being split.\",\"help\":\"SPLITJUSTIFY=LEFT | CENTER | RIGHT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"LEFT\",\"type\":\"standalone\"},{\"name\":\"CENTER\",\"type\":\"standalone\"},{\"name\":\"RIGHT\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"n17xhll23zit14n1kzud4wxurf59j\"},{\"name\":\"TIP=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the data tip information to be displayed when the cursor is positioned over the graphics element.\",\"help\":\"TIP=(*variable-list*) | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"(variable-list)\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"a space-separated list of variables enclosed in parentheses.\",\"help\":\"(*variable-list*) \",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1m6zmye01y4lvn104i7gn57dfpol\"},{\"name\":\"NONE\",\"followsDelimiter\":\"/\",\"description\":\"suppresses the data tips from this plot.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n02szuj3p61ekvn1c2scb9cyaar4l\"}],\"supportSiteTargetFragment\":\"p1vzdm59cf0i9qn1jz5pwqz5hm71l\"},{\"name\":\"TIPFORMAT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"applies formats to the list of data tip variables that you specify in the TIP= option.\",\"help\":\"TIPFORMAT=(*format-list*)\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p17xpdoc2x7peln1gkubt92md28hj\"},{\"name\":\"TIPLABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"applies labels to the list of data tip roles that you specify in the TIP= option.\",\"help\":\"TIPLABEL=(*label-list*)\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0t85qctfcha10n1p124t0ld3tb1e\"},{\"name\":\"TRANSPARENCY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the degree of transparency for the plot.\",\"help\":\"TRANSPARENCY=*value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p165beuigjohtnn1tb3zi07el186r\"},{\"name\":\"URL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies an HTML page to be displayed when parts of the plot are selected.\",\"help\":\"URL=*character-variable*\",\"type\":\"value\",\"arguments\":[{\"name\":\"character-variable\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a variable that contains a valid HTML page reference (HREF) for each plot element that is to have an active link.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1kbi4uhax9tzon1rukcqelmr68ri\"}],\"supportSiteTargetFragment\":\"n0jx60ib3ia9lgn0zqatbajgfsz4i\"},{\"name\":\"XOFFSET=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies an amount to offset all polygon segment starting and ending points from discrete X values.\",\"help\":\"XOFFSET=*numeric-value* | *numeric-variable*\",\"type\":\"choice\",\"arguments\":[{\"name\":\"numeric-value\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"numeric-variable\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p0abvq4k5thp1kn1n0hl28jsxxgw\"},{\"name\":\"YOFFSET=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies an amount to offset all polygon segment starting and ending points from discrete Y values.\",\"help\":\"YOFFSET=*numeric-value* | *numeric-variable*\",\"type\":\"choice\",\"arguments\":[{\"name\":\"numeric-value\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"numeric-variable\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"n1d0lzx2e6x64hn16fwp9mttpg2m\"}],\"supportSiteTargetFile\":\"p02bkg6x164nvan1q5r2w8ravvzn.htm\"},{\"name\":\"REFLINE\",\"description\":\"Creates a horizontal or vertical reference line.\",\"help\":\"REFLINE *variable* |  *value-1*&lt; ...*value-n*&gt;&lt;/ *options*&gt;;\",\"arguments\":[{\"name\":\"variable\",\"placeholder\":true,\"description\":\"draws a reference line for each value of the specified variable.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p03io96mngylepn1qlh0kydkticn\"},{\"name\":\"value-1\",\"placeholder\":true,\"description\":\"draws one or more reference lines at the values that you specify.\",\"help\":\"*value-1*  &lt; ...*value-n*&gt;\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0xhvu9jmbw234n18z7tuhnlmalp\"},{\"name\":\"AXIS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the axis that contains the reference line values.\",\"help\":\"AXIS=X | Y\",\"type\":\"choice\",\"arguments\":[{\"name\":\"X\",\"type\":\"standalone\"},{\"name\":\"Y\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"p13ubi9pb9f3kjn1jx4jyq4kd29b\"},{\"name\":\"DATASKIN=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a special effect to be used on the plot.\",\"help\":\"DATASKIN=NONE | CRISP | GLOSS | MATTE | PRESSED | SHEEN\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NONE\",\"type\":\"standalone\"},{\"name\":\"CRISP\",\"type\":\"standalone\"},{\"name\":\"GLOSS\",\"type\":\"standalone\"},{\"name\":\"MATTE\",\"type\":\"standalone\"},{\"name\":\"PRESSED\",\"type\":\"standalone\"},{\"name\":\"SHEEN\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"n1wqoylzvajtm1n1rpjpq7jwq9eil\"},{\"name\":\"DISCRETEOFFSET=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies an amount to offset all lines from discrete X or Y values.\",\"help\":\"DISCRETEOFFSET=*numeric-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0gqtmtvhxdvhdn0zl6kh2y9efsy\"},{\"name\":\"DISCRETETHICKNESS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that the line thickness should be interpreted as a percentage of the mid-point spacing.\",\"help\":\"DISCRETETHICKNESS=*numeric-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n09cd2zfb38l7yn17v2vywqq92g3\"},{\"name\":\"LABEL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"creates labels for each reference line from the reference line values.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p02olf6rlh5jzdn0zuwpdc9w3t46\"},{\"name\":\"LABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"creates labels for each reference line from values stored in a variable or from one or more specified label values.\",\"help\":\"LABEL=*variable-name* | \\\"*text-string*\\\" | (\\\"*text-string-1*\\\"  ... \\\"*text-string-n*\\\")\",\"type\":\"choice\",\"arguments\":[{\"name\":\"variable-name\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the name of a variable that contains the reference line labels.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0w0uom546wj75n1al5zlu0c7bkh\"},{\"name\":\"\\\"text-string\\\"\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a text string for the label value.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1i594k476tt0zn1fb7xnrget2lr\"},{\"name\":\"\\\"text-string-1\\\"\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a text string for each label value when multiple reference values are specified.\",\"help\":\"\\\"*text-string-1*\\\"  ... \\\"*text-string-n*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1l8auqltulpofn1bwnjrkbc5nxi\"}],\"supportSiteTargetFragment\":\"p1mvxdi7ojl3afn18e7o82xzr2y1\"},{\"name\":\"LABELATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the appearance of the labels.\",\"help\":\"LABELATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"n1fxue8qfc6x15n1ckmhln3uoegh\"},{\"name\":\"LABELPOS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the position of the labels.\",\"help\":\"LABELPOS=MIN | MAX\",\"type\":\"choice\",\"arguments\":[{\"name\":\"MIN\",\"type\":\"standalone\"},{\"name\":\"MAX\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"n1gx0x6s229owpn148f2q8tjy6w6\"},{\"name\":\"LEGENDLABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a label that identifies the plot in the legend.\",\"help\":\"LEGENDLABEL=\\\"*text-string*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0nv7qsbg8m3w8n142cwp4ca9ewfa\"},{\"name\":\"LINEATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the appearance of the reference line.\",\"help\":\"LINEATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"n0lvt121va2u8on0zq7r2a3vha3t\"},{\"name\":\"NAME=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a name for the plot.\",\"help\":\"NAME=\\\"*text-string*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p00f81g82wmzr5n15sik0znnzfy9w\"},{\"name\":\"NOCLIP\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"extends the plot axes to contain the reference lines.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1ijlyxc4x4rsmn19r212fshk8qb\"},{\"name\":\"SPLITCHAR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies one or more characters on which the text for labels is always split.\",\"help\":\"SPLITCHAR=\\\"*character-list*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0qkwic6j8uifln15m326tt9e8z9\"},{\"name\":\"SPLITCHARNODROP\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that the split characters are included in the displayed value.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n16zlyxz8f2e9fn1p1sv3c52m1itk\"},{\"name\":\"SPLITJUSTIFY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the horizontal alignment of the value text that is being split.\",\"help\":\"SPLITJUSTIFY=LEFT | CENTER | RIGHT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"LEFT\",\"type\":\"standalone\"},{\"name\":\"CENTER\",\"type\":\"standalone\"},{\"name\":\"RIGHT\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"n17xhll23zit14n1kzud4wxurf59k\"},{\"name\":\"TRANSPARENCY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the degree of transparency for the reference line.\",\"help\":\"TRANSPARENCY=*value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0nj7m0x33k7tsn1g3ilwcnan8w8a\"}],\"supportSiteTargetFile\":\"n0pwosq79e334dn1bdupnyvhrhok.htm\"},{\"name\":\"REG\",\"description\":\"Creates a fitted regression line or curve.\",\"help\":\"REG  X=*numeric-variable* Y=*numeric-variable*&lt;/*options*&gt;;\",\"arguments\":[{\"name\":\"X=\",\"description\":\"specifies the variable for the X axis.\",\"help\":\"X=*numeric-variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0w32l1n3kj04rn1h4twag63p033\"},{\"name\":\"Y=\",\"description\":\"specifies the variable for the Y axis.\",\"help\":\"Y=*numeric-variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1qowb098y54h8n0zrxw3rofs82i\"},{\"name\":\"ALPHA=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the confidence level for the confidence limits.\",\"help\":\"ALPHA=*numeric-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1vm3opi4l2zdbn1o6ycf2z663ioa\"},{\"name\":\"ATTRID=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the value of the ID variable in a discrete attribute map data set.\",\"help\":\"ATTRID=*character-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1uxs2avsp1mrtn19pateg7icm4ds\"},{\"name\":\"CLI\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"creates confidence limits for the individual predicted values.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n19eo87j5itw2bn1u832fg3ge777a\"},{\"name\":\"CLI=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"creates confidence limits for the individual predicted values.\",\"help\":\"CLI=\\\"*text-string*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n19eo87j5itw2bn1u832fg3ge777a\"},{\"name\":\"CLIATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the appearance of the individual value prediction limits by using an ODS style element or by specifying line and fill attributes.\",\"help\":\"CLIATTRS=*style-element* | (*CLI-attrs-suboptions*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"CLIFILLATTRS=\",\"followsDelimiter\":\"/\",\"description\":\"Specify the fill attributes of the prediction limits.\",\"help\":\"CLIFILLATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p1twalnj81hoj3n1v1lo3sdug6o4a\"},{\"name\":\"CLILINEATTRS=\",\"followsDelimiter\":\"/\",\"description\":\"Specify the line attributes of the prediction limits.\",\"help\":\"CLILINEATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"n1achfisopr671n1g25goxxs2egoa\"},{\"name\":\"FILL\",\"followsDelimiter\":\"/\",\"description\":\"specifies whether the prediction band is filled.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0wbh9e8gsaedvn1a4qvol8dwz20a\"},{\"name\":\"NOFILL\",\"followsDelimiter\":\"/\",\"description\":\"specifies whether the prediction band is filled.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0wbh9e8gsaedvn1a4qvol8dwz20a\"},{\"name\":\"OUTLINE\",\"followsDelimiter\":\"/\",\"description\":\"specifies whether the prediction band has outlines.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1pz1zz3thvkvun1rsr3sbdjgybna\"},{\"name\":\"NOOUTLINE\",\"followsDelimiter\":\"/\",\"description\":\"specifies whether the prediction band has outlines.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1pz1zz3thvkvun1rsr3sbdjgybna\"}],\"supportSiteTargetFragment\":\"p106plas5yiw0cn1axe6z7ddqzbfa\"},{\"name\":\"CLM\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"creates confidence limits.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0amip2cto2i7mn13h550q7p7tmkb\"},{\"name\":\"CLM=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"creates confidence limits.\",\"help\":\"CLM=\\\"*text-string*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0amip2cto2i7mn13h550q7p7tmkb\"},{\"name\":\"CLMATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the appearance of the mean value confidence limits by using an ODS style element or by specifying fill and line attributes.\",\"help\":\"CLMATTRS=*style-element* | (*CLM-attrs-suboptions* ) \",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the name of a style element.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1075qq394zijvn12zdo1gyx9jtzb\"},{\"name\":\"CLMFILLATTRS=\",\"followsDelimiter\":\"/\",\"description\":\"Specify the fill attributes of the prediction limits.\",\"help\":\"CLMFILLATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"n0qdmvwwx5btiqn1g9lkzl4tl0vhb\"},{\"name\":\"CLMLINEATTRS=\",\"followsDelimiter\":\"/\",\"description\":\"Specify the line attributes of the confidence limits.\",\"help\":\"CLMLINEATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"n19bu4ihuk7k59n147ac8xzjo6sxb\"},{\"name\":\"FILL\",\"followsDelimiter\":\"/\",\"description\":\"shows the fill color.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1c85jjqcq1t5an14xee2qmg7mucb\"},{\"name\":\"NOFILL\",\"followsDelimiter\":\"/\",\"description\":\"hides the fill color.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n02e3kyvery7ivn1es63p20il12ub\"},{\"name\":\"NOOUTLINE\",\"followsDelimiter\":\"/\",\"description\":\"hides the outlines.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1gz2fffx22a17n17x053gjah7whb\"},{\"name\":\"OUTLINE\",\"followsDelimiter\":\"/\",\"description\":\"shows the outlines\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1uevryekej93dn144w1wlvfwjnib\"}],\"supportSiteTargetFragment\":\"n1qxncj3p3gpayn1p94bbkia8gv1b\"},{\"name\":\"CLMTRANSPARENCY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the degree of transparency for the confidence limits.\",\"help\":\"CLMTRANSPARENCY=*numeric-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0vx6xmy8rzv3hn11f6bx3zarshxb\"},{\"name\":\"CURVELABEL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"adds a label to the curve or curves.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1votb954dsnsin1pfbls16aq0czb\"},{\"name\":\"CURVELABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a label for the curve when only one curve is drawn.\",\"help\":\"CURVELABEL=\\\"*text-string*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1bwz1ohz9sv9pn160x1akj0lultb\"},{\"name\":\"CURVELABELATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the appearance of the labels in the plot when you use the CURVELABEL= option.\",\"help\":\"CURVELABELATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"n0tdtttethzl0cn1bwc9mjicbbl7e\"},{\"name\":\"CURVELABELPOS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the location of the curve label.\",\"help\":\"CURVELABELPOS=MIN | MAX | START | END\",\"type\":\"choice\",\"arguments\":[{\"name\":\"MIN\",\"followsDelimiter\":\"/\",\"description\":\"places the label at the part of the curve closest to the minimum X-axis value.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p114ql7g85tuyin1v1sw65ycpfxbc\"},{\"name\":\"MAX\",\"followsDelimiter\":\"/\",\"description\":\"places the label at the part of the curve closest to the maximum X-axis value.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1eb3gyvkbv2h9n1eq26brjuxunbc\"},{\"name\":\"START\",\"followsDelimiter\":\"/\",\"description\":\"places the curve label at the first point on the curve.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1dd85zmdcsgr3n1uskx90st60h8c\"},{\"name\":\"END\",\"followsDelimiter\":\"/\",\"description\":\"places the curve label at the last point on the curve.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p09cvwgd3lzkn2n114pbqqe4ny4mc\"}],\"supportSiteTargetFragment\":\"n1asmup3qz51men1prkiko0lzy7ec\"},{\"name\":\"DATALABEL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"displays a label for each data point.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1msikavxjrpx7n1bevzsgjniqwgb\"},{\"name\":\"DATALABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"displays a label for each data point.\",\"help\":\"DATALABEL=*variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1msikavxjrpx7n1bevzsgjniqwgb\"},{\"name\":\"DATALABELATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the appearance of the labels in the plot when you use the DATALABEL= option.\",\"help\":\"DATALABELATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p0e0ya27a7hlj5n164pkuwzf2j5uk\"},{\"name\":\"DATALABELPOS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the location of the data label with respect to the plot.\",\"help\":\"DATALABELPOS=*position*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1298lqwj801t1n1r350oa1zbsqyf\"},{\"name\":\"DEGREE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the degree of the polynomial fit.\",\"help\":\"DEGREE=*n*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p09qghvik2sk3jn143g2hu2831v3\"},{\"name\":\"FILLEDOUTLINEDMARKERS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that markers have a fill and an outline.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0o5uqdckml6sen1x4l4kg0ndl4nc\"},{\"name\":\"FREQ=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a variable for the frequency count for each observation in the input data.\",\"help\":\"FREQ=*numeric-variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p008vk7d26otpon1avqg25jhido4e\"},{\"name\":\"GROUP=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a classification variable to divide the values into groups.\",\"help\":\"GROUP=*variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0tzgpnm1d9jsbn1lrarhsri56h0\"},{\"name\":\"JITTER\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that data markers are jittered when multiple observations have the same response value.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n11d5axyixpcmon1ovt2gr44u5ja\"},{\"name\":\"LEGENDLABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a label that identifies the regression curve in the legend.\",\"help\":\"LEGENDLABEL=\\\"*text-string*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1gbx610b2t5ern1kfhe99cvk8km\"},{\"name\":\"LINEATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the appearance of the fit line.\",\"help\":\"LINEATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p17cc29bzc64c0n0z2bm4b2sfrr2\"},{\"name\":\"MARKERATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the appearance of the markers in the plot.\",\"help\":\"MARKERATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"n16kexe173ds9nn1ha9ezxntjt06\"},{\"name\":\"MARKERFILLATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the color of the marker fill.\",\"help\":\"MARKERFILLATTRS=*style-element* |  (COLOR=*color*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(COLOR=)\",\"type\":\"color\"}],\"supportSiteTargetFragment\":\"n1rpbcs7lrnofun13lxhxu52hi72d\"},{\"name\":\"MARKEROUTLINEATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the appearance of the marker outlines.\",\"help\":\"MARKEROUTLINEATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"n1p0zhoitcokdbn1rwa93j2qjjf6d\"},{\"name\":\"MAXPOINTS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the maximum number of predicted points for the regression curve and for any confidence limits.\",\"help\":\"MAXPOINTS=*n*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p109tbmv7cb05pn1nyw68gut3qh8\"},{\"name\":\"NAME=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a name for the plot.\",\"help\":\"NAME=\\\"*text-string*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p00f81g82wmzr5n15sik0znnzfy9x\"},{\"name\":\"NOLEGCLI\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"hides the legend entry for the individual predicted value confidence limits.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1p5a7n0f4d6d0n1ojyn0u18i22o\"},{\"name\":\"NOLEGCLM\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"hides the legend entry for the mean value confidence limits.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0ycgqvtq7uefbn1ov4ch8e0q4ta\"},{\"name\":\"NOLEGFIT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"hides the legend entry for the fit line.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1mthobmoldeonn1cn22ahuj7zl3\"},{\"name\":\"NOMARKERS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"removes the scatter markers from the plot.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1e0ct57e64n0fn179q1n3gyzlsk\"},{\"name\":\"SPLITCHAR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies one or more characters on which the text for curve and data labels is always split.\",\"help\":\"SPLITCHAR=\\\"*character-list*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1j4250rabowqun14n3o3ido46isb\"},{\"name\":\"SPLITCHARNODROP\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that the split characters are included in the displayed value.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n16zlyxz8f2e9fn1p1sv3c52m1itl\"},{\"name\":\"SPLITJUSTIFY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the horizontal alignment of the value text that is being split.\",\"help\":\"SPLITJUSTIFY=LEFT | CENTER | RIGHT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"LEFT\",\"type\":\"standalone\"},{\"name\":\"CENTER\",\"type\":\"standalone\"},{\"name\":\"RIGHT\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"n17xhll23zit14n1kzud4wxurf59l\"},{\"name\":\"TIP=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the data tip information to be displayed when the cursor is positioned over the graphics element.\",\"help\":\"TIP=(*variable-list*) | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"(variable-list)\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"a space-separated list of variables enclosed in parentheses.\",\"help\":\"(*variable-list*) \",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1m6zmye01y4lvn104i7gn57dfpom\"},{\"name\":\"NONE\",\"followsDelimiter\":\"/\",\"description\":\"suppresses the data tips from this plot.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n02szuj3p61ekvn1c2scb9cyaar4m\"}],\"supportSiteTargetFragment\":\"p1vzdm59cf0i9qn1jz5pwqz5hm71m\"},{\"name\":\"TIPFORMAT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"applies formats to the list of data tip variables that you specify in the TIP= option.\",\"help\":\"TIPFORMAT=(*format-list*)\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p17xpdoc2x7peln1gkubt92md28hk\"},{\"name\":\"TIPLABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"applies labels to the list of data tip variables that you specify in the TIP= option.\",\"help\":\"TIPLABEL=(*label-list*)\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n126ol9w7pwp12n1irzzust1e2twj\"},{\"name\":\"TRANSPARENCY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the degree of transparency for the plot.\",\"help\":\"TRANSPARENCY=*value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0hyflfq6ne36ln1scm6x6rofcdkb\"},{\"name\":\"WEIGHT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies how observations are weighted.\",\"help\":\"WEIGHT=*numeric-variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0bjkzpnw874n9n1u7bjxlfvpz30e\"}],\"supportSiteTargetFile\":\"n1tr0v2rtxpk9rn14kxun0o06o8w.htm\"},{\"name\":\"SCATTER\",\"description\":\"Creates a scatter plot.\",\"help\":\"SCATTER X=*variable* Y=*variable*&lt;/*options*&gt;;\",\"arguments\":[{\"name\":\"X=\",\"description\":\"specifies the variable for the X axis.\",\"help\":\"X=*variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1bfv77glpm7skn1dtk4u7qbvero\"},{\"name\":\"Y=\",\"description\":\"specifies the variable for the Y axis.\",\"help\":\"Y=*variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0vikiywdghzu8n14v5aaib9650x\"},{\"name\":\"ATTRID=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the value of the ID variable in a discrete attribute map data set.\",\"help\":\"ATTRID=*character-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1uxs2avsp1mrtn19pateg7icm4dt\"},{\"name\":\"CLUSTERWIDTH=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the width of the group clusters as a fraction of the midpoint spacing.\",\"help\":\"CLUSTERWIDTH=*numeric-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0ajeu9czbr9dvn11rh269ho494hc\"},{\"name\":\"COLORMODEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a color ramp that is to be used to determine response colors.\",\"help\":\"COLORMODEL=*style-element* | (*color-list*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the name of a style element.\",\"help\":\"*style-element* \",\"type\":\"value\",\"supportSiteTargetFragment\":\"n18psxv7sqmtj2n1v6wlf47btlsji\"},{\"name\":\"(color-list)\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a space-separated list of colors to use in the color ramp.\",\"type\":\"color\",\"supportSiteTargetFragment\":\"p0wnu5ewzeub7kn12i56v2nlcug8i\"}],\"supportSiteTargetFragment\":\"n0z1120sgbulvyn1q3n66xdpygjji\"},{\"name\":\"COLORRESPONSE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the numeric column that is used to map colors to a continuous color ramp.\",\"help\":\"COLORRESPONSE=*numeric-column* \",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0zb6oty4r633rn1ab2g6k8k1bt5g\"},{\"name\":\"DATALABEL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"displays a label for each data point.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0vc78nhlnzxh7n1v9wkvah2h9teb\"},{\"name\":\"DATALABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"displays a label for each data point.\",\"help\":\"DATALABEL=*variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0vc78nhlnzxh7n1v9wkvah2h9teb\"},{\"name\":\"DATALABELATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the appearance of the labels in the plot when you use the DATALABEL= option.\",\"help\":\"DATALABELATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p0e0ya27a7hlj5n164pkuwzf2j5ul\"},{\"name\":\"DATALABELPOS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the location of the data label with respect to the plot.\",\"help\":\"DATALABELPOS=*position*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1298lqwj801t1n1r350oa1zbsqyg\"},{\"name\":\"DATASKIN=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a special effect to be used on the plot.\",\"help\":\"DATASKIN=NONE | CRISP | GLOSS | MATTE | PRESSED | SHEEN\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NONE\",\"type\":\"standalone\"},{\"name\":\"CRISP\",\"type\":\"standalone\"},{\"name\":\"GLOSS\",\"type\":\"standalone\"},{\"name\":\"MATTE\",\"type\":\"standalone\"},{\"name\":\"PRESSED\",\"type\":\"standalone\"},{\"name\":\"SHEEN\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"n1wqoylzvajtm1n1rpjpq7jwq9eim\"},{\"name\":\"DISCRETEOFFSET=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies an amount to offset all markers from discrete X or Y values.\",\"help\":\"DISCRETEOFFSET=*numeric-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0nadepihzvhnbn1o9hab4lrp33u\"},{\"name\":\"ERRORBARATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the appearance of the error bars in the plot.\",\"help\":\"ERRORBARATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the name of a style element.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p17jukkfcccrhan1nv1ndywlybkx\"},{\"name\":\"COLOR=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the color of the line.\",\"help\":\"COLOR=*color*\",\"type\":\"color\",\"supportSiteTargetFragment\":\"n06akivd4hns94n1rewv5v2y71v4\"},{\"name\":\"PATTERN=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the line pattern for the line.\",\"help\":\"PATTERN=*line-pattern*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0zs84vsq6gikhn1p565qhfoipo9\"},{\"name\":\"THICKNESS=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the thickness of the line.\",\"help\":\"THICKNESS=*n* &lt;*units*&gt;\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1ovkhe8cfxyo5n11ho0jdrlbw48\"}],\"supportSiteTargetFragment\":\"n1eslg1afy6seun1c15e0bbs95d9\"},{\"name\":\"ERRORCAPSCALE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a positive number to use as a multiplier for changing the default width of the error-bar caps.\",\"help\":\"ERRORCAPSCALE=*numeric-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1s7tbokaahc1kn1fohh5b0ob1sx\"},{\"name\":\"FILLEDOUTLINEDMARKERS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that markers have a fill and an outline.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0o5uqdckml6sen1x4l4kg0ndl4nd\"},{\"name\":\"FREQ=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a variable for the frequency count for each observation in the input data.\",\"help\":\"FREQ=*numeric-variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p008vk7d26otpon1avqg25jhido4f\"},{\"name\":\"GROUP=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a variable that is used to group the data.\",\"help\":\"GROUP=*variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0pcknqci1w3w5n0z6ioxluu4daaf\"},{\"name\":\"GROUPDISPLAY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies how to display grouped markers.\",\"help\":\"GROUPDISPLAY=CLUSTER | OVERLAY\",\"type\":\"choice\",\"arguments\":[{\"name\":\"CLUSTER\",\"followsDelimiter\":\"/\",\"description\":\"grouped items are drawn adjacent to each other.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1f9g1imvgdc3xn1o4qmhc3dsaxtc\"},{\"name\":\"OVERLAY\",\"followsDelimiter\":\"/\",\"description\":\"grouped items are drawn at the exact coordinate and might overlap.\",\"help\":\"OVERLAY \",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0gedf37npwg28n19wqi2annun4nc\"}],\"supportSiteTargetFragment\":\"p0qh0nb1j0wqwmn1tok6w3hnbeau\"},{\"name\":\"GROUPORDER=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the ordering of the groups within a category.\",\"help\":\"GROUPORDER=DATA | REVERSEDATA | ASCENDING | DESCENDING\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DATA\",\"followsDelimiter\":\"/\",\"description\":\"orders the groups within a category in data order of the group variable.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1olglc4d6w5xtn1975koececghgh\"},{\"name\":\"REVERSEDATA\",\"followsDelimiter\":\"/\",\"description\":\"orders the groups within a category in the reverse data order of the group variable.\",\"help\":\"REVERSEDATA \",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n19zwzvwl75rxun1kbxu50jrgzjjh\"},{\"name\":\"ASCENDING\",\"followsDelimiter\":\"/\",\"description\":\"orders the groups within a category in ascending order of the group variable.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0dd45nyc2fae3n1ne4koepnc2w8h\"},{\"name\":\"DESCENDING\",\"followsDelimiter\":\"/\",\"description\":\"orders the groups within a category in descending order of the group variable.\",\"help\":\"DESCENDING \",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0tsocv1fpdf1un1mcfikx2mnrqlh\"}],\"supportSiteTargetFragment\":\"p0sm1j07xn1rg2n16hsii0x2d6fdh\"},{\"name\":\"JITTER\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that markers that represent the same response value are offset slightly in order to make all of the markers visible.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0q52lxvvvvz0cn1qfmqcmehnsbl\"},{\"name\":\"JITTER=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that data markers should first be jittered and then squeezed together uniformly across all category values.\",\"help\":\"JITTER=UNIFORM\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0kvrdsncavanhn1h6cys6r7web8\"},{\"name\":\"JITTERWIDTH=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the width of the jitter space as a fraction of either the midpoint spacing or of the minimal interval width.\",\"help\":\"JITTERWIDTH=*positive-number*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1dsupank5vffrn1h5wg1zc7pnly\"},{\"name\":\"LABELSTRIP\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"strips leading and trailing blanks from marker characters or data labels with fixed positions before they are displayed in the plot.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1ijwgq6dw3cv0n1t9k41xqg53tz\"},{\"name\":\"LEGENDLABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a label that identifies the markers from the plot in the legend.\",\"help\":\"LEGENDLABEL=\\\"*text-string*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0y09kc009jrfgn1dcmjn6ixwqaa\"},{\"name\":\"MARKERATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the appearance of the markers in the plot.\",\"help\":\"MARKERATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p1ch7khfnligrrn0z1m7fcfqj4xq\"},{\"name\":\"MARKERCHAR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a variable whose values replace the marker symbols in the plot.\",\"help\":\"MARKERCHAR=*variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n05wjl1q90gy8sn16elmxc9i41px\"},{\"name\":\"MARKERCHARATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the appearance of the markers in the plot when you use the MARKERCHAR= option.\",\"help\":\"MARKERCHARATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"n0mj8c2j2ybs32n1mbx3pe881dzs\"},{\"name\":\"MARKERFILLATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the color of the marker fill.\",\"help\":\"MARKERFILLATTRS=*style-element* |  (COLOR=*color*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(COLOR=)\",\"type\":\"color\"}],\"supportSiteTargetFragment\":\"n1rpbcs7lrnofun13lxhxu52hi72e\"},{\"name\":\"MARKEROUTLINEATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the appearance of the marker outlines.\",\"help\":\"MARKEROUTLINEATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"n1p0zhoitcokdbn1rwa93j2qjjf6e\"},{\"name\":\"NAME=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a name for the plot.\",\"help\":\"NAME=\\\"*text-string*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p00f81g82wmzr5n15sik0znnzfy9y\"},{\"name\":\"NOERRORCAPS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses the serif cap on error bars, if error bars are displayed.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1rg79kuyefs8dn1dq6q27dkf7h2\"},{\"name\":\"NOMISSINGGROUP\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that missing values of the group variable are not included in the plot.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0fdp4w182w1csn1klig70d44c7qh\"},{\"name\":\"RATTRID=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the value of the ID variable in a range attribute map data set.\",\"help\":\"RATTRID=*character-value* \",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0fm3fy2vuky40n1x8yt0aim3huri\"},{\"name\":\"SPLITCHAR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies one or more characters on which the text for data labels is always split.\",\"help\":\"SPLITCHAR=\\\"*character-list*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n18bn0zlnq288pn1f2cp7l2x169pd\"},{\"name\":\"SPLITCHARNODROP\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that the split characters are included in the displayed value.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n16zlyxz8f2e9fn1p1sv3c52m1itm\"},{\"name\":\"SPLITJUSTIFY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the horizontal alignment of the value text that is being split.\",\"help\":\"SPLITJUSTIFY=LEFT | CENTER | RIGHT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"LEFT\",\"type\":\"standalone\"},{\"name\":\"CENTER\",\"type\":\"standalone\"},{\"name\":\"RIGHT\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"n17xhll23zit14n1kzud4wxurf59m\"},{\"name\":\"TIP=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the data tip information to be displayed when the cursor is positioned over the graphics element.\",\"help\":\"TIP=(*variable-list*) | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"(variable-list)\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"a space-separated list of variables enclosed in parentheses.\",\"help\":\"(*variable-list*) \",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1m6zmye01y4lvn104i7gn57dfpon\"},{\"name\":\"NONE\",\"followsDelimiter\":\"/\",\"description\":\"suppresses the data tips from this plot.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n02szuj3p61ekvn1c2scb9cyaar4n\"}],\"supportSiteTargetFragment\":\"p1vzdm59cf0i9qn1jz5pwqz5hm71n\"},{\"name\":\"TIPFORMAT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"applies formats to the list of data tip variables that you specify in the TIP= option.\",\"help\":\"TIPFORMAT=(*format-list*)\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p17xpdoc2x7peln1gkubt92md28hl\"},{\"name\":\"TIPLABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"applies labels to the list of data tip variables that you specify in the TIP= option.\",\"help\":\"TIPLABEL=(*label-list*)\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n126ol9w7pwp12n1irzzust1e2twk\"},{\"name\":\"TRANSPARENCY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the degree of transparency for the plot.\",\"help\":\"TRANSPARENCY=*value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p165beuigjohtnn1tb3zi07el186s\"},{\"name\":\"URL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies an HTML page to be displayed when parts of the plot are selected.\",\"help\":\"URL=*character-variable*\",\"type\":\"value\",\"arguments\":[{\"name\":\"character-variable\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a variable that contains a valid HTML page reference (HREF) for each plot element that is to have an active link.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1kbi4uhax9tzon1rukcqelmr68rj\"}],\"supportSiteTargetFragment\":\"n0jx60ib3ia9lgn0zqatbajgfsz4j\"},{\"name\":\"XERRORLOWER=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a variable that contains the lower endpoints for the X error bars.\",\"help\":\"XERRORLOWER=*numeric-variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1hclt3mulwkuln13kes49mqeoni\"},{\"name\":\"XERRORUPPER=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a variable that contains the upper endpoints for the X error bars.\",\"help\":\"XERRORUPPER=*numeric-variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0d5runvkhvmh5n1veg9wpz58f71\"},{\"name\":\"YERRORLOWER=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a variable that contains the lower endpoints for the Y error bars.\",\"help\":\"YERRORLOWER=*numeric-variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1c65ycokmj26an1sqwi1b3wzhwi\"},{\"name\":\"YERRORUPPER=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a variable that contains the upper endpoints for the Y error bars.\",\"help\":\"YERRORUPPER=*numeric-variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1xthh2pzp1gtbn1bgqvgfecos3u\"}],\"supportSiteTargetFile\":\"n06qalr0ymoddkn17finxbpmv6e8.htm\"},{\"name\":\"SERIES\",\"description\":\"Creates a series plot.\",\"help\":\"SERIES X=*variable* Y=*variable*&lt;/*options*&gt;;\",\"arguments\":[{\"name\":\"X=\",\"description\":\"specifies the variable for the X axis.\",\"help\":\"X=*variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n05jm5b1b0kuxtn1vj7dyjfsgswl\"},{\"name\":\"Y=\",\"description\":\"specifies the variable for the Y axis.\",\"help\":\"Y=*variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p02x5h03fatsren0zr6mhxm0357y\"},{\"name\":\"ARROWHEADPOS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a position for arrowheads.\",\"help\":\"ARROWHEADPOS=START | END | BOTH\",\"type\":\"choice\",\"arguments\":[{\"name\":\"START\",\"type\":\"standalone\"},{\"name\":\"END\",\"type\":\"standalone\"},{\"name\":\"BOTH\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"n1gcu7ua4ahvybn15dsqocgoxyh4\"},{\"name\":\"ARROWHEADSCALE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies an arrowhead scale factor based on the thickness of the arrow line.\",\"help\":\"ARROWHEADSCALE=*positive-number*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n06lxtlv726oyin1qwbdlndrvm1w\"},{\"name\":\"ARROWHEADSHAPE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a shape for arrowheads.\",\"help\":\"ARROWHEADSHAPE=OPEN | FILLED | BARBED\",\"type\":\"choice\",\"arguments\":[{\"name\":\"OPEN\",\"type\":\"standalone\"},{\"name\":\"FILLED\",\"type\":\"standalone\"},{\"name\":\"BARBED\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"p1ds8q7xjnyuj9n147zk6ggzvift\"},{\"name\":\"ATTRID=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the value of the ID variable in a discrete attribute map data set.\",\"help\":\"ATTRID=*character-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1uxs2avsp1mrtn19pateg7icm4du\"},{\"name\":\"BREAK\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"creates a break in the line for each missing value for the Y variable.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0tene9qk9eljyn1ggadi0i1sor1\"},{\"name\":\"CLUSTERWIDTH=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the width of the group clusters as a fraction of the midpoint spacing.\",\"help\":\"CLUSTERWIDTH=*numeric-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0ajeu9czbr9dvn11rh269ho494hd\"},{\"name\":\"COLORMODEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a color ramp that is to be used to determine response colors.\",\"help\":\"COLORMODEL=*style-element* | (*color-list*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the name of a style element.\",\"help\":\"*style-element* \",\"type\":\"value\",\"supportSiteTargetFragment\":\"n18psxv7sqmtj2n1v6wlf47btlsjj\"},{\"name\":\"(color-list)\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a space-separated list of colors to use in the color ramp.\",\"type\":\"color\",\"supportSiteTargetFragment\":\"p0wnu5ewzeub7kn12i56v2nlcug8j\"}],\"supportSiteTargetFragment\":\"n0z1120sgbulvyn1q3n66xdpygjjj\"},{\"name\":\"COLORRESPONSE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the numeric column that is used to map colors to a continuous color ramp.\",\"help\":\"COLORRESPONSE=*numeric-column* \",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0zb6oty4r633rn1ab2g6k8k1bt5h\"},{\"name\":\"CURVELABEL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"adds a label to the curve or curves.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1votb954dsnsin1pfbls16aq0czc\"},{\"name\":\"CURVELABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a label for the curve when only one curve is drawn.\",\"help\":\"CURVELABEL=\\\"*text-string*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1bwz1ohz9sv9pn160x1akj0lultc\"},{\"name\":\"CURVELABELATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the appearance of the labels in the plot when you use the CURVELABEL= option.\",\"help\":\"CURVELABELATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"n0tdtttethzl0cn1bwc9mjicbbl7f\"},{\"name\":\"CURVELABELPOS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the location of the curve label.\",\"help\":\"CURVELABELPOS=MIN | MAX | START | END\",\"type\":\"choice\",\"arguments\":[{\"name\":\"MIN\",\"followsDelimiter\":\"/\",\"description\":\"places the label at the part of the curve closest to the minimum X-axis value.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p114ql7g85tuyin1v1sw65ycpfxbd\"},{\"name\":\"MAX\",\"followsDelimiter\":\"/\",\"description\":\"places the label at the part of the curve closest to the maximum X-axis value.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1eb3gyvkbv2h9n1eq26brjuxunbd\"},{\"name\":\"START\",\"followsDelimiter\":\"/\",\"description\":\"places the curve label at the first point on the curve.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1dd85zmdcsgr3n1uskx90st60h8d\"},{\"name\":\"END\",\"followsDelimiter\":\"/\",\"description\":\"places the curve label at the last point on the curve.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p09cvwgd3lzkn2n114pbqqe4ny4md\"}],\"supportSiteTargetFragment\":\"n1asmup3qz51men1prkiko0lzy7ed\"},{\"name\":\"DATALABEL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"displays a label for each data point.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0vc78nhlnzxh7n1v9wkvah2h9tec\"},{\"name\":\"DATALABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"displays a label for each data point.\",\"help\":\"DATALABEL=*variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0vc78nhlnzxh7n1v9wkvah2h9tec\"},{\"name\":\"DATALABELATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the appearance of the labels in the plot when you use the DATALABEL= option.\",\"help\":\"DATALABELATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p0e0ya27a7hlj5n164pkuwzf2j5um\"},{\"name\":\"DATALABELPOS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the location of the data label with respect to the plot.\",\"help\":\"DATALABELPOS=*position*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1298lqwj801t1n1r350oa1zbsqyh\"},{\"name\":\"DATASKIN=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a special effect to be used on the plot.\",\"help\":\"DATASKIN=NONE | CRISP | GLOSS | MATTE | PRESSED | SHEEN\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NONE\",\"type\":\"standalone\"},{\"name\":\"CRISP\",\"type\":\"standalone\"},{\"name\":\"GLOSS\",\"type\":\"standalone\"},{\"name\":\"MATTE\",\"type\":\"standalone\"},{\"name\":\"PRESSED\",\"type\":\"standalone\"},{\"name\":\"SHEEN\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"n1wqoylzvajtm1n1rpjpq7jwq9ein\"},{\"name\":\"DISCRETEOFFSET=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies an amount to offset all lines from discrete X or Y values.\",\"help\":\"DISCRETEOFFSET=*numeric-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0mc4vy23ii252n1ft1zodxy6jj0\"},{\"name\":\"FILLEDOUTLINEDMARKERS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that markers have a fill and an outline.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n08u24y1x35rjxn1ab0vlgmx78xma\"},{\"name\":\"GROUP=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a variable that is used to group the data.\",\"help\":\"GROUP=*variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0pcknqci1w3w5n0z6ioxluu4daag\"},{\"name\":\"GROUPDISPLAY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies how to display grouped lines.\",\"help\":\"GROUPDISPLAY=CLUSTER | OVERLAY\",\"type\":\"choice\",\"arguments\":[{\"name\":\"CLUSTER\",\"followsDelimiter\":\"/\",\"description\":\"grouped items are drawn adjacent to each other.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1f9g1imvgdc3xn1o4qmhc3dsaxtd\"},{\"name\":\"OVERLAY\",\"followsDelimiter\":\"/\",\"description\":\"grouped items are drawn at the exact coordinate and might overlap.\",\"help\":\"OVERLAY \",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0gedf37npwg28n19wqi2annun4nd\"}],\"supportSiteTargetFragment\":\"n0v7iu0y2jeja6n1i5639kk1t55z\"},{\"name\":\"GROUPLC=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a variable that determines the line colors for a grouped plot independently of the GROUP= variable.\",\"help\":\"GROUPLC=*variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1nf0dmhr7sp1xn1vaeo730ozb12\"},{\"name\":\"GROUPLP=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a variable that determines the line patterns for a grouped plot independently of the GROUP= variable.\",\"help\":\"GROUPLP=*variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0opca3bxzs8nen1n4he0ke8fpe9\"},{\"name\":\"GROUPMC=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a variable that determines the marker colors for a grouped plot independently of the GROUP= variable.\",\"help\":\"GROUPMC=*variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0qnfs872l4pr2n1bjy88wimvpji\"},{\"name\":\"GROUPMS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a variable that determines the marker symbols for a grouped plot independently of the GROUP= variable.\",\"help\":\"GROUPMS=*variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n07y3emjciny0yn1iplwtcdyqmo7\"},{\"name\":\"GROUPORDER=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the ordering of the groups within a category.\",\"help\":\"GROUPORDER=DATA | REVERSEDATA | ASCENDING | DESCENDING\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DATA\",\"followsDelimiter\":\"/\",\"description\":\"orders the groups within a category in data order of the group variable.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1olglc4d6w5xtn1975koececghgi\"},{\"name\":\"REVERSEDATA\",\"followsDelimiter\":\"/\",\"description\":\"orders the groups within a category in the reverse data order of the group variable.\",\"help\":\"REVERSEDATA \",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n19zwzvwl75rxun1kbxu50jrgzjji\"},{\"name\":\"ASCENDING\",\"followsDelimiter\":\"/\",\"description\":\"orders the groups within a category in ascending order of the group variable.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0dd45nyc2fae3n1ne4koepnc2w8i\"},{\"name\":\"DESCENDING\",\"followsDelimiter\":\"/\",\"description\":\"orders the groups within a category in descending order of the group variable.\",\"help\":\"DESCENDING \",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0tsocv1fpdf1un1mcfikx2mnrqli\"}],\"supportSiteTargetFragment\":\"p0sm1j07xn1rg2n16hsii0x2d6fdi\"},{\"name\":\"LCATTRID=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies an attribute map ID variable to be associated with the GROUPLC= variable.\",\"help\":\"LCATTRID=*discrete-attr-variable* \",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0mxy2q5lc21wmn194bdimr0n9t5\"},{\"name\":\"LEGENDLABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a label that identifies the series plot in the legend.\",\"help\":\"LEGENDLABEL=\\\"*text-string*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1o9pitudkh7u8n177exr9kytucn\"},{\"name\":\"LINEATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the appearance of the series line.\",\"help\":\"LINEATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p0i7nq8yddj79pn14qner8q8nqlq\"},{\"name\":\"LPATTRID=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies an attribute map ID variable to be associated with the GROUPLP= variable.\",\"help\":\"LPATTRID=*discrete-attr-variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n094mn06lyaiuxn1turief4sq2nq\"},{\"name\":\"MARKERATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the appearance of the markers in the plot.\",\"help\":\"MARKERATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p0u4aanrvnx1emn1cx8rg4iui9u1\"},{\"name\":\"MARKERFILLATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the color of the marker fill.\",\"help\":\"MARKERFILLATTRS=*style-element* |  (COLOR=*color*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(COLOR=)\",\"type\":\"color\"}],\"supportSiteTargetFragment\":\"n1rpbcs7lrnofun13lxhxu52hi72f\"},{\"name\":\"MARKEROUTLINEATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the appearance of the marker outlines.\",\"help\":\"MARKEROUTLINEATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"n1p0zhoitcokdbn1rwa93j2qjjf6f\"},{\"name\":\"MARKERS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"adds data point markers to the series plot data points.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n12km58ha9x471n1cf7kb2q31hhk\"},{\"name\":\"MCATTRID=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies an attribute map ID variable to be associated with the GROUPMC= variable.\",\"help\":\"MCATTRID=*discrete-attr-variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0tpmaxnu3p5vvn1730q37xuzrzg\"},{\"name\":\"MSATTRID=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies an attribute map ID variable to be associated with the GROUPMS= variable.\",\"help\":\"MSATTRID=*discrete-attr-variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1ucjfk5sb1jjan1x8p3k8ecr3c4\"},{\"name\":\"NAME=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a name for the plot.\",\"help\":\"NAME=\\\"*text-string*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p00f81g82wmzr5n15sik0znnzfy9z\"},{\"name\":\"NOMISSINGGROUP\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that missing values of the group variable are not included in the plot.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0fdp4w182w1csn1klig70d44c7qi\"},{\"name\":\"RATTRID=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the value of the ID variable in a range attribute map data set.\",\"help\":\"RATTRID=*character-value* \",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0fm3fy2vuky40n1x8yt0aim3hurj\"},{\"name\":\"SMOOTHCONNECT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that a smoothed line passes through all vertices.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0hfh3of0isqlxn1jcs5lkb97824\"},{\"name\":\"SPLITCHAR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies one or more characters on which the text for curve and data labels is always split.\",\"help\":\"SPLITCHAR=\\\"*character-list*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1j4250rabowqun14n3o3ido46isc\"},{\"name\":\"SPLITCHARNODROP\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that the split characters are included in the displayed value.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n16zlyxz8f2e9fn1p1sv3c52m1itn\"},{\"name\":\"SPLITJUSTIFY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the horizontal alignment of the value text that is being split.\",\"help\":\"SPLITJUSTIFY=LEFT | CENTER | RIGHT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"LEFT\",\"type\":\"standalone\"},{\"name\":\"CENTER\",\"type\":\"standalone\"},{\"name\":\"RIGHT\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"n17xhll23zit14n1kzud4wxurf59n\"},{\"name\":\"THICKMAX=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the maximum line thickness when a response variable is used to determine the line thickness.\",\"help\":\"THICKMAX=*numeric-value*&lt;*units*&gt;\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0kp45hcbtpxp8n10otfgp9lvfvq\"},{\"name\":\"THICKMAXRESP=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the response value that corresponds to the maximum line thickness.\",\"help\":\"THICKMAXRESP=*numeric-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1p49rtnb0e296n1bvjc907b5hsx\"},{\"name\":\"THICKRESP=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a response variable that is used to map a line thickness to each group value.\",\"help\":\"THICKRESP=*numeric-variable*  \",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0ziqbpvfj2r0zn1676ohmgnd4dk\"},{\"name\":\"TIP=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the data tip information to be displayed when the cursor is positioned over the graphics element.\",\"help\":\"TIP=(*variable-list*) | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"(variable-list)\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"a space-separated list of variables enclosed in parentheses.\",\"help\":\"(*variable-list*) \",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1m6zmye01y4lvn104i7gn57dfpoo\"},{\"name\":\"NONE\",\"followsDelimiter\":\"/\",\"description\":\"suppresses the data tips from this plot.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n02szuj3p61ekvn1c2scb9cyaar4o\"}],\"supportSiteTargetFragment\":\"p1vzdm59cf0i9qn1jz5pwqz5hm71o\"},{\"name\":\"TIPFORMAT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"applies formats to the list of data tip variables that you specify in the TIP= option.\",\"help\":\"TIPFORMAT=(*format-list*)\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p17xpdoc2x7peln1gkubt92md28hm\"},{\"name\":\"TIPLABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"applies labels to the list of data tip variables that you specify in the TIP= option.\",\"help\":\"TIPLABEL=(*label-list*)\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n126ol9w7pwp12n1irzzust1e2twl\"},{\"name\":\"TRANSPARENCY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the degree of transparency for the plot.\",\"help\":\"TRANSPARENCY=*value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p165beuigjohtnn1tb3zi07el186t\"},{\"name\":\"URL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies an HTML page to be displayed when parts of the plot are selected.\",\"help\":\"URL=*character-variable*\",\"type\":\"value\",\"arguments\":[{\"name\":\"character-variable\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a variable that contains a valid HTML page reference (HREF) for each plot element that is to have an active link.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1kbi4uhax9tzon1rukcqelmr68rk\"}],\"supportSiteTargetFragment\":\"n0jx60ib3ia9lgn0zqatbajgfsz4k\"}],\"supportSiteTargetFile\":\"n0jqynt72pfh63n1mse15s4umacp.htm\"},{\"name\":\"SPLINE\",\"description\":\"Creates a series plot with a quadratic Bézier spline interpolation that produces smooth curves.\",\"help\":\"SPLINE X=*variable* Y=*variable*&lt;/*options*&gt;;\",\"arguments\":[{\"name\":\"X=\",\"description\":\"specifies the variable for the X axis.\",\"help\":\"X=*variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1jeddikbeqvs5n1o0kfz1mt3hld\"},{\"name\":\"Y=\",\"description\":\"specifies the variable for the Y axis.\",\"help\":\"Y=*variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n131cxpswlb7ten15k8lsl4wa71s\"},{\"name\":\"ARROWHEADPOS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a position for arrowheads.\",\"help\":\"ARROWHEADPOS=START | END | BOTH\",\"type\":\"choice\",\"arguments\":[{\"name\":\"START\",\"type\":\"standalone\"},{\"name\":\"END\",\"type\":\"standalone\"},{\"name\":\"BOTH\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"n1gcu7ua4ahvybn15dsqocgoxyh4a\"},{\"name\":\"ARROWHEADSCALE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies an arrowhead scale factor based on the thickness of the arrow line.\",\"help\":\"ARROWHEADSCALE=*positive-number*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n06lxtlv726oyin1qwbdlndrvm1wa\"},{\"name\":\"ARROWHEADSHAPE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a shape for arrowheads.\",\"help\":\"ARROWHEADSHAPE=OPEN | FILLED | BARBED\",\"type\":\"choice\",\"arguments\":[{\"name\":\"OPEN\",\"type\":\"standalone\"},{\"name\":\"FILLED\",\"type\":\"standalone\"},{\"name\":\"BARBED\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"p1ds8q7xjnyuj9n147zk6ggzvifta\"},{\"name\":\"ATTRID=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the value of the ID variable in a discrete attribute map data set.\",\"help\":\"ATTRID=*character-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1uxs2avsp1mrtn19pateg7icm4dv\"},{\"name\":\"BREAK\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"creates a break in the line for each missing value for the Y variable.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p15px8o1en6qa0n1i5k4su0o69xg\"},{\"name\":\"CLUSTERWIDTH=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the width of the group clusters as a fraction of the midpoint spacing.\",\"help\":\"CLUSTERWIDTH=*numeric-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0ajeu9czbr9dvn11rh269ho494he\"},{\"name\":\"COLORMODEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a color ramp that is to be used to determine response colors.\",\"help\":\"COLORMODEL=*style-element* | (*color-list*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the name of a style element.\",\"help\":\"*style-element* \",\"type\":\"value\",\"supportSiteTargetFragment\":\"n18psxv7sqmtj2n1v6wlf47btlsjk\"},{\"name\":\"(color-list)\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a space-separated list of colors to use in the color ramp.\",\"type\":\"color\",\"supportSiteTargetFragment\":\"p0wnu5ewzeub7kn12i56v2nlcug8k\"}],\"supportSiteTargetFragment\":\"n0z1120sgbulvyn1q3n66xdpygjjk\"},{\"name\":\"COLORRESPONSE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the numeric column that is used to map colors to a continuous color ramp.\",\"help\":\"COLORRESPONSE=*numeric-column* \",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0zb6oty4r633rn1ab2g6k8k1bt5i\"},{\"name\":\"CURVELABEL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"adds a label to the curve or curves.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1votb954dsnsin1pfbls16aq0czd\"},{\"name\":\"CURVELABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a label for the curve when only one curve is drawn.\",\"help\":\"CURVELABEL=\\\"*text-string*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1bwz1ohz9sv9pn160x1akj0lultd\"},{\"name\":\"CURVELABELATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the appearance of the labels in the plot when you use the CURVELABEL= option.\",\"help\":\"CURVELABELATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"n0tdtttethzl0cn1bwc9mjicbbl7g\"},{\"name\":\"CURVELABELPOS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the location of the curve label.\",\"help\":\"CURVELABELPOS=MIN | MAX | START | END\",\"type\":\"choice\",\"arguments\":[{\"name\":\"MIN\",\"followsDelimiter\":\"/\",\"description\":\"places the label at the part of the curve closest to the minimum X-axis value.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p114ql7g85tuyin1v1sw65ycpfxbe\"},{\"name\":\"MAX\",\"followsDelimiter\":\"/\",\"description\":\"places the label at the part of the curve closest to the maximum X-axis value.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1eb3gyvkbv2h9n1eq26brjuxunbe\"},{\"name\":\"START\",\"followsDelimiter\":\"/\",\"description\":\"places the curve label at the first point on the curve.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1dd85zmdcsgr3n1uskx90st60h8e\"},{\"name\":\"END\",\"followsDelimiter\":\"/\",\"description\":\"places the curve label at the last point on the curve.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p09cvwgd3lzkn2n114pbqqe4ny4me\"}],\"supportSiteTargetFragment\":\"n1asmup3qz51men1prkiko0lzy7ee\"},{\"name\":\"DATASKIN=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a special effect to be used on the plot.\",\"help\":\"DATASKIN=NONE | CRISP | GLOSS | MATTE | PRESSED | SHEEN\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NONE\",\"type\":\"standalone\"},{\"name\":\"CRISP\",\"type\":\"standalone\"},{\"name\":\"GLOSS\",\"type\":\"standalone\"},{\"name\":\"MATTE\",\"type\":\"standalone\"},{\"name\":\"PRESSED\",\"type\":\"standalone\"},{\"name\":\"SHEEN\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"n1wqoylzvajtm1n1rpjpq7jwq9eio\"},{\"name\":\"DISCRETEOFFSET=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies an amount to offset all lines from discrete X or Y values.\",\"help\":\"DISCRETEOFFSET=*numeric-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0r2k3168rn9m0n1px5yrjh7l4bh\"},{\"name\":\"GROUP=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a variable that is used to group the data.\",\"help\":\"GROUP=*variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0pcknqci1w3w5n0z6ioxluu4daah\"},{\"name\":\"GROUPDISPLAY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies how to display grouped lines.\",\"help\":\"GROUPDISPLAY=CLUSTER | OVERLAY\",\"type\":\"choice\",\"arguments\":[{\"name\":\"CLUSTER\",\"followsDelimiter\":\"/\",\"description\":\"grouped items are drawn adjacent to each other.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1f9g1imvgdc3xn1o4qmhc3dsaxte\"},{\"name\":\"OVERLAY\",\"followsDelimiter\":\"/\",\"description\":\"grouped items are drawn at the exact coordinate and might overlap.\",\"help\":\"OVERLAY \",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0gedf37npwg28n19wqi2annun4ne\"}],\"supportSiteTargetFragment\":\"n065jerfqc9l90n1jtk2xakwwrqu\"},{\"name\":\"GROUPLC=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a variable that determines the line colors for a grouped plot independently of the GROUP= variable.\",\"help\":\"GROUPLC=*variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0uwt22nyzqn5wn1p22gfzif36ho\"},{\"name\":\"GROUPLP=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a variable that determines the line patterns for a grouped plot independently of the GROUP= variable.\",\"help\":\"GROUPLP=*variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0834du3m7vn4jn1laqzpdm0k5qf\"},{\"name\":\"GROUPORDER=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the ordering of the groups within a category.\",\"help\":\"GROUPORDER=DATA | REVERSEDATA | ASCENDING | DESCENDING\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DATA\",\"followsDelimiter\":\"/\",\"description\":\"orders the groups within a category in data order of the group variable.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1olglc4d6w5xtn1975koececghgj\"},{\"name\":\"REVERSEDATA\",\"followsDelimiter\":\"/\",\"description\":\"orders the groups within a category in the reverse data order of the group variable.\",\"help\":\"REVERSEDATA \",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n19zwzvwl75rxun1kbxu50jrgzjjj\"},{\"name\":\"ASCENDING\",\"followsDelimiter\":\"/\",\"description\":\"orders the groups within a category in ascending order of the group variable.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0dd45nyc2fae3n1ne4koepnc2w8j\"},{\"name\":\"DESCENDING\",\"followsDelimiter\":\"/\",\"description\":\"orders the groups within a category in descending order of the group variable.\",\"help\":\"DESCENDING \",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0tsocv1fpdf1un1mcfikx2mnrqlj\"}],\"supportSiteTargetFragment\":\"p0sm1j07xn1rg2n16hsii0x2d6fdj\"},{\"name\":\"LEGENDLABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a label that identifies the spline plot in the legend.\",\"help\":\"LEGENDLABEL=\\\"*text-string*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0iny9my2zp1nen13zhajvzvplug\"},{\"name\":\"LINEATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the appearance of the spline line.\",\"help\":\"LINEATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p1xufp6popbe9dn16za6vgu4e4wb\"},{\"name\":\"NAME=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a name for the plot.\",\"help\":\"NAME=\\\"*text-string*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p00f81g82wmzr5n15sik0znnzfy9z1\"},{\"name\":\"NOMISSINGGROUP\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that missing values of the group variable are not included in the plot.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0fdp4w182w1csn1klig70d44c7qj\"},{\"name\":\"RATTRID=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the value of the ID variable in a range attribute map data set.\",\"help\":\"RATTRID=*character-value* \",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0fm3fy2vuky40n1x8yt0aim3hurk\"},{\"name\":\"SEGPOINTS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a multiplier to apply to the time interval that is in effect for the INTERVAL= axis option.\",\"help\":\"SEGPOINTS=*positive-integer*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0pmxgvdahgd6vn1mebu6tu0yxwr\"},{\"name\":\"SPLITCHAR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies one or more characters on which the text for curve and data labels is always split.\",\"help\":\"SPLITCHAR=\\\"*character-list*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1j4250rabowqun14n3o3ido46isd\"},{\"name\":\"SPLITCHARNODROP\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that the split characters are included in the displayed value.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n16zlyxz8f2e9fn1p1sv3c52m1ito\"},{\"name\":\"SPLITJUSTIFY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the horizontal alignment of the value text that is being split.\",\"help\":\"SPLITJUSTIFY=LEFT | CENTER | RIGHT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"LEFT\",\"type\":\"standalone\"},{\"name\":\"CENTER\",\"type\":\"standalone\"},{\"name\":\"RIGHT\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"n17xhll23zit14n1kzud4wxurf59o\"},{\"name\":\"THICKMAX=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the maximum line thickness when a response variable is used to determine the line thickness.\",\"help\":\"THICKMAX=*numeric-value*&lt;*units*&gt;\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0kp45hcbtpxp8n10otfgp9lvfvqa\"},{\"name\":\"THICKMAXRESP=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the response value that corresponds to the maximum line thickness.\",\"help\":\"THICKMAXRESP=*numeric-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1p49rtnb0e296n1bvjc907b5hsxa\"},{\"name\":\"THICKRESP=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a response variable that is used to map a line thickness to each group value.\",\"help\":\"THICKRESP=*numeric-variable*  \",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0ziqbpvfj2r0zn1676ohmgnd4dka\"},{\"name\":\"TIP=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the data tip information to be displayed when the cursor is positioned over the graphics element.\",\"help\":\"TIP=(*variable-list*) | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"(variable-list)\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"a space-separated list of variables enclosed in parentheses.\",\"help\":\"(*variable-list*) \",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1m6zmye01y4lvn104i7gn57dfpop\"},{\"name\":\"NONE\",\"followsDelimiter\":\"/\",\"description\":\"suppresses the data tips from this plot.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n02szuj3p61ekvn1c2scb9cyaar4p\"}],\"supportSiteTargetFragment\":\"p1vzdm59cf0i9qn1jz5pwqz5hm71p\"},{\"name\":\"TIPFORMAT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"applies formats to the list of data tip variables that you specify in the TIP= option.\",\"help\":\"TIPFORMAT=(*format-list*)\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p17xpdoc2x7peln1gkubt92md28hn\"},{\"name\":\"TIPLABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"applies labels to the list of data tip variables that you specify in the TIP= option.\",\"help\":\"TIPLABEL=(*label-list*)\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n126ol9w7pwp12n1irzzust1e2twm\"},{\"name\":\"TRANSPARENCY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the degree of transparency for the plot.\",\"help\":\"TRANSPARENCY=*value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p165beuigjohtnn1tb3zi07el186u\"},{\"name\":\"URL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies an HTML page to be displayed when parts of the plot are selected.\",\"help\":\"URL=*character-variable*\",\"type\":\"value\",\"arguments\":[{\"name\":\"character-variable\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a variable that contains a valid HTML page reference (HREF) for each plot element that is to have an active link.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1kbi4uhax9tzon1rukcqelmr68rl\"}],\"supportSiteTargetFragment\":\"n0jx60ib3ia9lgn0zqatbajgfsz4l\"}],\"supportSiteTargetFile\":\"p1qna6hnxpf27wn12zttmes2sfcd.htm\"},{\"name\":\"STEP\",\"description\":\"Creates a step plot.\",\"help\":\"STEP X=*variable* Y=*numeric-variable*&lt;/*options*&gt;;\",\"arguments\":[{\"name\":\"X=\",\"description\":\"specifies the variable for the X axis.\",\"help\":\"X=*variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p01zviv0gt03psn1dj1ghx86x926\"},{\"name\":\"Y=\",\"description\":\"specifies the variable for the Y axis.\",\"help\":\"Y=*numeric-variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0l4jppnfvs05sn1r05u3hs9uhdw\"},{\"name\":\"ARROWHEADPOS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a position for arrowheads.\",\"help\":\"ARROWHEADPOS=START | END | BOTH\",\"type\":\"choice\",\"arguments\":[{\"name\":\"START\",\"type\":\"standalone\"},{\"name\":\"END\",\"type\":\"standalone\"},{\"name\":\"BOTH\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"n1gcu7ua4ahvybn15dsqocgoxyh4b\"},{\"name\":\"ARROWHEADSCALE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies an arrowhead scale factor based on the thickness of the arrow line.\",\"help\":\"ARROWHEADSCALE=*positive-number*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n06lxtlv726oyin1qwbdlndrvm1wb\"},{\"name\":\"ARROWHEADSHAPE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a shape for arrowheads.\",\"help\":\"ARROWHEADSHAPE=OPEN | FILLED | BARBED\",\"type\":\"choice\",\"arguments\":[{\"name\":\"OPEN\",\"type\":\"standalone\"},{\"name\":\"FILLED\",\"type\":\"standalone\"},{\"name\":\"BARBED\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"p1ds8q7xjnyuj9n147zk6ggzviftb\"},{\"name\":\"ATTRID=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the value of the ID variable in a discrete attribute map data set.\",\"help\":\"ATTRID=*character-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1uxs2avsp1mrtn19pateg7icm4dw\"},{\"name\":\"BREAK\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"creates a break in the line for each missing value.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0t833rljy9e1tn1rd4giy91n9u5\"},{\"name\":\"CLUSTERWIDTH=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the width of the group clusters as a fraction of the midpoint spacing.\",\"help\":\"CLUSTERWIDTH=*numeric-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0ajeu9czbr9dvn11rh269ho494hf\"},{\"name\":\"CURVELABEL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"adds a label to the curve or curves.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1votb954dsnsin1pfbls16aq0cze\"},{\"name\":\"CURVELABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a label for the curve when only one curve is drawn.\",\"help\":\"CURVELABEL=\\\"*text-string*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1bwz1ohz9sv9pn160x1akj0lulte\"},{\"name\":\"CURVELABELATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the appearance of the labels in the plot when you use the CURVELABEL= option.\",\"help\":\"CURVELABELATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"n0tdtttethzl0cn1bwc9mjicbbl7h\"},{\"name\":\"CURVELABELPOS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the location of the curve label.\",\"help\":\"CURVELABELPOS=MIN | MAX | START | END\",\"type\":\"choice\",\"arguments\":[{\"name\":\"MIN\",\"followsDelimiter\":\"/\",\"description\":\"places the label at the part of the curve closest to the minimum X-axis value.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p114ql7g85tuyin1v1sw65ycpfxbf\"},{\"name\":\"MAX\",\"followsDelimiter\":\"/\",\"description\":\"places the label at the part of the curve closest to the maximum X-axis value.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1eb3gyvkbv2h9n1eq26brjuxunbf\"},{\"name\":\"START\",\"followsDelimiter\":\"/\",\"description\":\"places the curve label at the first point on the curve.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1dd85zmdcsgr3n1uskx90st60h8f\"},{\"name\":\"END\",\"followsDelimiter\":\"/\",\"description\":\"places the curve label at the last point on the curve.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p09cvwgd3lzkn2n114pbqqe4ny4mf\"}],\"supportSiteTargetFragment\":\"n1asmup3qz51men1prkiko0lzy7ef\"},{\"name\":\"DATALABEL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"displays a label for each data point.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0vc78nhlnzxh7n1v9wkvah2h9ted\"},{\"name\":\"DATALABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"displays a label for each data point.\",\"help\":\"DATALABEL=*variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0vc78nhlnzxh7n1v9wkvah2h9ted\"},{\"name\":\"DATALABELATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the appearance of the labels in the plot when you use the DATALABEL= option.\",\"help\":\"DATALABELATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p0e0ya27a7hlj5n164pkuwzf2j5un\"},{\"name\":\"DATALABELPOS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the location of the data label with respect to the plot.\",\"help\":\"DATALABELPOS=*position*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1298lqwj801t1n1r350oa1zbsqyi\"},{\"name\":\"DATASKIN=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a special effect to be used on the plot.\",\"help\":\"DATASKIN=NONE | CRISP | GLOSS | MATTE | PRESSED | SHEEN\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NONE\",\"type\":\"standalone\"},{\"name\":\"CRISP\",\"type\":\"standalone\"},{\"name\":\"GLOSS\",\"type\":\"standalone\"},{\"name\":\"MATTE\",\"type\":\"standalone\"},{\"name\":\"PRESSED\",\"type\":\"standalone\"},{\"name\":\"SHEEN\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"n1wqoylzvajtm1n1rpjpq7jwq9eip\"},{\"name\":\"DISCRETEOFFSET=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies an amount to offset all step lines from discrete X values.\",\"help\":\"DISCRETEOFFSET=*numeric-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p00x8dgvqkflkhn1y1vaertfeww0\"},{\"name\":\"ERRORBARATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the appearance of the error bars in the plot.\",\"help\":\"ERRORBARATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p1167rqldcq3gnn170awihsccvic\"},{\"name\":\"ERRORCAPSCALE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a positive number to use as a multiplier for changing the default width of the error-bar caps.\",\"help\":\"ERRORCAPSCALE=*numeric-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0ygfyyd0ppmlkn1x9s7lgiyhast\"},{\"name\":\"FILLEDOUTLINEDMARKERS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that markers have a fill and an outline.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n08u24y1x35rjxn1ab0vlgmx78xmb\"},{\"name\":\"GROUP=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a variable that is used to group the data.\",\"help\":\"GROUP=*variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0pcknqci1w3w5n0z6ioxluu4daai\"},{\"name\":\"GROUPDISPLAY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies how to display grouped step lines.\",\"help\":\"GROUPDISPLAY=CLUSTER | OVERLAY\",\"type\":\"choice\",\"arguments\":[{\"name\":\"CLUSTER\",\"followsDelimiter\":\"/\",\"description\":\"grouped items are drawn adjacent to each other.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1f9g1imvgdc3xn1o4qmhc3dsaxtf\"},{\"name\":\"OVERLAY\",\"followsDelimiter\":\"/\",\"description\":\"grouped items are drawn at the exact coordinate and might overlap.\",\"help\":\"OVERLAY \",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0gedf37npwg28n19wqi2annun4nf\"}],\"supportSiteTargetFragment\":\"p0pqe29m028z5en1uabm4jd83dey\"},{\"name\":\"GROUPORDER=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the ordering of the groups within a category.\",\"help\":\"GROUPORDER=DATA | REVERSEDATA | ASCENDING | DESCENDING\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DATA\",\"followsDelimiter\":\"/\",\"description\":\"orders the groups within a category in data order of the group variable.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1olglc4d6w5xtn1975koececghgk\"},{\"name\":\"REVERSEDATA\",\"followsDelimiter\":\"/\",\"description\":\"orders the groups within a category in the reverse data order of the group variable.\",\"help\":\"REVERSEDATA \",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n19zwzvwl75rxun1kbxu50jrgzjjk\"},{\"name\":\"ASCENDING\",\"followsDelimiter\":\"/\",\"description\":\"orders the groups within a category in ascending order of the group variable.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0dd45nyc2fae3n1ne4koepnc2w8k\"},{\"name\":\"DESCENDING\",\"followsDelimiter\":\"/\",\"description\":\"orders the groups within a category in descending order of the group variable.\",\"help\":\"DESCENDING \",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0tsocv1fpdf1un1mcfikx2mnrqlk\"}],\"supportSiteTargetFragment\":\"p0sm1j07xn1rg2n16hsii0x2d6fdk\"},{\"name\":\"JUSTIFY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the location of each step relative to its data point.\",\"help\":\"JUSTIFY=LEFT | CENTER | RIGHT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"LEFT\",\"type\":\"standalone\"},{\"name\":\"CENTER\",\"type\":\"standalone\"},{\"name\":\"RIGHT\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"n0x5v02r39dyywn1xp6jlwm9xhdc\"},{\"name\":\"LEGENDLABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a label that identifies the step plot in the legend.\",\"help\":\"LEGENDLABEL=\\\"*text-string*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1ruw3ny9mr1xkn1wboacrxpx2ml\"},{\"name\":\"LINEATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the appearance of the step line.\",\"help\":\"LINEATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p0qvdj4qima842n1g8figaw9h7nm\"},{\"name\":\"MARKERATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the appearance of the markers in the plot.\",\"help\":\"MARKERATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p00uv2iy2od0pgn16ssifb11wdn9\"},{\"name\":\"MARKERFILLATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the color of the marker fill.\",\"help\":\"MARKERFILLATTRS=*style-element* |  (COLOR=*color*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(COLOR=)\",\"type\":\"color\"}],\"supportSiteTargetFragment\":\"n1rpbcs7lrnofun13lxhxu52hi72g\"},{\"name\":\"MARKEROUTLINEATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the appearance of the marker outlines.\",\"help\":\"MARKEROUTLINEATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"n1p0zhoitcokdbn1rwa93j2qjjf6g\"},{\"name\":\"MARKERS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"adds markers to the step plot data points.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0rad6onn0e801n170inpdsyin16\"},{\"name\":\"NAME=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a name for the plot.\",\"help\":\"NAME=\\\"*text-string*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p00f81g82wmzr5n15sik0znnzfy9z2\"},{\"name\":\"NOERRORCAPS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses the serif cap on error bars, if error bars are displayed.\",\"help\":\"NOERRORCAPS \",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0cficpezrnioln1kwrq1ohpxlhn\"},{\"name\":\"NOMISSINGGROUP\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that missing values of the group variable are not included in the plot.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0fdp4w182w1csn1klig70d44c7qk\"},{\"name\":\"SPLITCHAR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies one or more characters on which the text for curve and data labels is always split.\",\"help\":\"SPLITCHAR=\\\"*character-list*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1j4250rabowqun14n3o3ido46ise\"},{\"name\":\"SPLITCHARNODROP\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that the split characters are included in the displayed value.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n16zlyxz8f2e9fn1p1sv3c52m1itp\"},{\"name\":\"SPLITJUSTIFY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the horizontal alignment of the value text that is being split.\",\"help\":\"SPLITJUSTIFY=LEFT | CENTER | RIGHT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"LEFT\",\"type\":\"standalone\"},{\"name\":\"CENTER\",\"type\":\"standalone\"},{\"name\":\"RIGHT\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"n17xhll23zit14n1kzud4wxurf59p\"},{\"name\":\"THICKMAX=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the maximum line thickness when a response variable is used to determine the line thickness.\",\"help\":\"THICKMAX=*numeric-value*&lt;*units*&gt;\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0kp45hcbtpxp8n10otfgp9lvfvqb\"},{\"name\":\"THICKMAXRESP=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the response value that corresponds to the maximum line thickness.\",\"help\":\"THICKMAXRESP=*numeric-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1p49rtnb0e296n1bvjc907b5hsxb\"},{\"name\":\"THICKRESP=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a response variable that is used to map a line thickness to each group value.\",\"help\":\"THICKRESP=*numeric-variable*  \",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0ziqbpvfj2r0zn1676ohmgnd4dkb\"},{\"name\":\"TIP=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the data tip information to be displayed when the cursor is positioned over the graphics element.\",\"help\":\"TIP=(*variable-list*) | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"(variable-list)\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"a space-separated list of variables enclosed in parentheses.\",\"help\":\"(*variable-list*) \",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1m6zmye01y4lvn104i7gn57dfpoq\"},{\"name\":\"NONE\",\"followsDelimiter\":\"/\",\"description\":\"suppresses the data tips from this plot.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n02szuj3p61ekvn1c2scb9cyaar4q\"}],\"supportSiteTargetFragment\":\"p1vzdm59cf0i9qn1jz5pwqz5hm71q\"},{\"name\":\"TIPFORMAT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"applies formats to the list of data tip variables that you specify in the TIP= option.\",\"help\":\"TIPFORMAT=(*format-list*)\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p17xpdoc2x7peln1gkubt92md28ho\"},{\"name\":\"TIPLABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"applies labels to the list of data tip variables that you specify in the TIP= option.\",\"help\":\"TIPLABEL=(*label-list*)\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n126ol9w7pwp12n1irzzust1e2twn\"},{\"name\":\"TRANSPARENCY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the degree of transparency for the plot.\",\"help\":\"TRANSPARENCY=*value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p165beuigjohtnn1tb3zi07el186v\"},{\"name\":\"URL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies an HTML page to be displayed when parts of the plot are selected.\",\"help\":\"URL=*character-variable*\",\"type\":\"value\",\"arguments\":[{\"name\":\"character-variable\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a variable that contains a valid HTML page reference (HREF) for each plot element that is to have an active link.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1kbi4uhax9tzon1rukcqelmr68rm\"}],\"supportSiteTargetFragment\":\"n0jx60ib3ia9lgn0zqatbajgfsz4m\"},{\"name\":\"YERRORLOWER=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a variable that contains the lower endpoints for the Y error bars.\",\"help\":\"YERRORLOWER=*numeric-variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0upmnv10zp5zwn1q99axnf2xw0s\"},{\"name\":\"YERRORUPPER=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a variable that contains the upper endpoints for the Y error bars.\",\"help\":\"YERRORUPPER=*numeric-variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0eu1avfie3svrn11e3rwf76lf60\"}],\"supportSiteTargetFile\":\"p0fqqxj1qaztcpn1cefa8euii407.htm\"},{\"name\":\"SYMBOLCHAR\",\"description\":\"Defines a marker symbol using a Unicode character that can be referenced in other statements. The procedure can contain more than one SYMBOLCHAR statement.\",\"help\":\"SYMBOLCHAR  NAME=identifier\\nCHAR=\\\"hex-string\\\"x | keyword<                   /options>;\",\"arguments\":[{\"name\":\"NAME=\",\"description\":\"specifies a unique identifier for the marker symbol.\",\"help\":\"NAME=*identifier*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p187e1a430oqkrn13xc8zmpmog6j\"},{\"name\":\"CHAR=\",\"description\":\"specifies a glyph (character) to be used as the marker symbol.\",\"help\":\"CHAR=\\\"*hex-string*\\\"x | *keyword*\",\"type\":\"choice\",\"arguments\":[{\"name\":\"\\\"\\\"x\",\"description\":\"specifies a four-byte hexadecimal constant, such as '03c3'x, that represents a Unicode character in the current font.\",\"help\":\"\\\"*hex-string*\\\"x\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n11e5p3c1tod0vn1gxbp51itu8dl\"},{\"name\":\"keyword\",\"placeholder\":true,\"description\":\"specifies a SAS keyword for a Unicode character, such as alpha or alpha_u.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0a6210yhygoqtn1bow1aosa8x72\"}],\"supportSiteTargetFragment\":\"p0vlvek16yuutan19wxo74vag25i\"},{\"name\":\"HOFFSET=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a horizontal offset for the marker symbol.\",\"help\":\"HOFFSET=*offset*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1k9xiop2teww7n10ss7uao4x1ne\"},{\"name\":\"ROTATE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the angle of rotation for the marker symbol in degrees.\",\"help\":\"ROTATE=*number*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1gq7wego6uykpn0zmluqdb9zmer\"},{\"name\":\"SCALE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a scale factor for the marker symbol as a percentage.\",\"help\":\"SCALE=*double*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1ldr4k8vrsmqwn1r5uqmaaak6fl\"},{\"name\":\"TEXTATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the text attributes for the character symbol.\",\"help\":\"TEXTATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"n0dstaxjhal7wln1vj9dva9h8ecv\"},{\"name\":\"VOFFSET=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a vertical offset for the marker symbol.\",\"help\":\"VOFFSET=*offset*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1m9rn4zfu9vsun18jaxw2drb4d0\"}],\"supportSiteTargetFile\":\"n0n70dz8854iu0n1hmtbkduz6kwb.htm\"},{\"name\":\"SYMBOLIMAGE\",\"description\":\"Defines a marker symbol using an image. The marker symbol can then be referenced in other statements.\",\"help\":\"SYMBOLIMAGE  NAME=*identifier*IMAGE=*\\\"image-file-specification\\\"*&lt;                   /*options*&gt;;\",\"arguments\":[{\"name\":\"NAME=\",\"description\":\"specifies an identifier for the marker symbol.\",\"help\":\"NAME=*identifier*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1bswcv1b6c4mgn1agfruqccrp6h\"},{\"name\":\"IMAGE=\",\"description\":\"specifies the name and location of the image file.\",\"help\":\"IMAGE=*\\\"image-file-specification\\\"*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1qna5wpoxjo0wn1trdpp27tuboa\"},{\"name\":\"HOFFSET=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a horizontal offset for the marker symbol.\",\"help\":\"HOFFSET=*offset*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1k9xiop2teww7n10ss7uao4x1nea\"},{\"name\":\"ROTATE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the angle of rotation for the marker symbol in degrees.\",\"help\":\"ROTATE=*number*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1gq7wego6uykpn0zmluqdb9zmera\"},{\"name\":\"SCALE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a scale factor for the marker symbol as a percentage.\",\"help\":\"SCALE=*double*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1ldr4k8vrsmqwn1r5uqmaaak6fla\"},{\"name\":\"VOFFSET=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a vertical offset for the marker symbol.\",\"help\":\"VOFFSET=*offset*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1m9rn4zfu9vsun18jaxw2drb4d0a\"}],\"supportSiteTargetFile\":\"p1n74xetksetzwn1vdy5lb68mktp.htm\"},{\"name\":\"TEXT\",\"description\":\"Displays the associated text values at (X, Y) locations in the graph. The text can be numbers or characters.\",\"help\":\"TEXT X=*variable* Y=*variable* TEXT=*variable*&lt;/*options*&gt;;\",\"arguments\":[{\"name\":\"X=\",\"description\":\"specifies the variable for the X axis.\",\"help\":\"X=*variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n01rwv1i4z11mnn0zw5tviugr2kp\"},{\"name\":\"Y=\",\"description\":\"specifies the variable for the Y axis.\",\"help\":\"Y=*variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0rd4szv0raq1un1fc9d1tl4tk4d\"},{\"name\":\"TEXT=\",\"description\":\"specifies the variable for the text values that are used for the markers.\",\"help\":\"TEXT=*variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0yaziw0qjkkvnn1el9edup3lcp3\"},{\"name\":\"ATTRID=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the value of the ID variable in a discrete attribute map data set.\",\"help\":\"ATTRID=*character-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1uxs2avsp1mrtn19pateg7icm4dx\"},{\"name\":\"BACKFILL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"displays filled bounding boxes around the text.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p007o6k1ss2c5sn1kc0lb95cttmt\"},{\"name\":\"BACKLIGHT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a back-light effect for the marker text.\",\"help\":\"BACKLIGHT&lt;=*number*&gt;\",\"type\":\"standaloneOrValue\",\"supportSiteTargetFragment\":\"p1oh9tj09fsks0n1facztxejk5lj\"},{\"name\":\"CLUSTERAXIS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the axis to use for clustering groups when GROUPDISPLAY=CLUSTER.\",\"help\":\"CLUSTERAXIS=X | Y\",\"type\":\"choice\",\"arguments\":[{\"name\":\"X\",\"type\":\"standalone\"},{\"name\":\"Y\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"n15eiluhiad5gbn1lgwfr839nhzo\"},{\"name\":\"CLUSTERWIDTH=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the width of the group clusters as a fraction of the midpoint spacing.\",\"help\":\"CLUSTERWIDTH=*numeric-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0ajeu9czbr9dvn11rh269ho494hg\"},{\"name\":\"COLORMODEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a color ramp that is to be used to determine response colors.\",\"help\":\"COLORMODEL=*style-element* | (*color-list*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the name of a style element.\",\"help\":\"*style-element* \",\"type\":\"value\",\"supportSiteTargetFragment\":\"n18psxv7sqmtj2n1v6wlf47btlsjl\"},{\"name\":\"(color-list)\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a space-separated list of colors to use in the color ramp.\",\"type\":\"color\",\"supportSiteTargetFragment\":\"p0wnu5ewzeub7kn12i56v2nlcug8l\"}],\"supportSiteTargetFragment\":\"n0z1120sgbulvyn1q3n66xdpygjjl\"},{\"name\":\"COLORRESPONSE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the numeric column that is used to map colors to a continuous color ramp.\",\"help\":\"COLORRESPONSE=*numeric-column* \",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0zb6oty4r633rn1ab2g6k8k1bt5j\"},{\"name\":\"CONTRIBUTEOFFSETS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies whether this plot's space requirements contribute to the calculation of the axis offsets.\",\"help\":\"CONTRIBUTEOFFSETS=ALL | NONE | (*axis-offset-list*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ALL\",\"followsDelimiter\":\"/\",\"description\":\"the space requirements for this plot are contributed to the axis offset calculations.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1fwckdusykvbjn1o5ohzvusmvcx\"},{\"name\":\"NONE\",\"followsDelimiter\":\"/\",\"description\":\"the space requirements for this plot are not contributed to the axis offset calculations.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1p52en6f8omjcn11nm145v2wt7j\"},{\"name\":\"(axis-offset-list)\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"a space-delimited list of specific contributions that this plot makes to the axis offset calculations.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0wh610mo2m32un104qqnw0u9l3e\"}],\"supportSiteTargetFragment\":\"n0u7c9qsijuuwmn1lvvg04fd7wh9\"},{\"name\":\"DISCRETEOFFSET=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies an amount to offset all markers from discrete X or Y values.\",\"help\":\"DISCRETEOFFSET=*numeric-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1vmv8cfdxj7yen1hucovb1t8ly7\"},{\"name\":\"FILLATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the fill color and transparency.\",\"help\":\"FILLATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p0hsyjx1at62w1n1akl6mco17le9j\"},{\"name\":\"GROUP=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a variable that is used to group the data.\",\"help\":\"GROUP=*variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0pcknqci1w3w5n0z6ioxluu4daaj\"},{\"name\":\"GROUPDISPLAY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies how to display grouped text markers.\",\"help\":\"GROUPDISPLAY=CLUSTER | OVERLAY\",\"type\":\"choice\",\"arguments\":[{\"name\":\"CLUSTER\",\"followsDelimiter\":\"/\",\"description\":\"grouped items are drawn adjacent to each other.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1f9g1imvgdc3xn1o4qmhc3dsaxtg\"},{\"name\":\"OVERLAY\",\"followsDelimiter\":\"/\",\"description\":\"grouped items are drawn at the exact coordinate and might overlap.\",\"help\":\"OVERLAY \",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0gedf37npwg28n19wqi2annun4ng\"}],\"supportSiteTargetFragment\":\"n0iqgzxp5xcj30n1qqe5scvb6cu5\"},{\"name\":\"LEGENDLABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a label that identifies the markers from the plot in the legend.\",\"help\":\"LEGENDLABEL=\\\"*text-string*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0jdvzpzvuzxshn15pcebp11g2rx\"},{\"name\":\"NAME=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a name for the plot.\",\"help\":\"NAME=\\\"*text-string*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p00f81g82wmzr5n15sik0znnzfy9z3\"},{\"name\":\"NOMISSINGGROUP\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that missing values of the group variable are not included in the plot.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0fdp4w182w1csn1klig70d44c7ql\"},{\"name\":\"OUTLINE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"displays outlined bounding boxes around the text.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n00fwaqybhiqikn1jivx93avntdq\"},{\"name\":\"OUTLINEATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the color of the outlines around the text boxes.\",\"help\":\"OUTLINEATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"n0rij0izxnsp7bn1hqc068rqbztf\"},{\"name\":\"PAD=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the amount of extra space that is added inside the text-marker border.\",\"help\":\"PAD=*dimension*&lt;*units*&gt; | (*pad-options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"dimension\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a dimension to use for the extra space at the left, right, top, and bottom of the text-marker border.\",\"help\":\"*dimension* \",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1p6yepcuql8wxn1xagks1kqc5wi\"},{\"name\":\"(pad-options)\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"a space-separated list of one or more of the following name-value-pair options enclosed in parentheses:\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1vdtxunaflrntn1b8w7eyx7cthf\"}],\"supportSiteTargetFragment\":\"n10tz2ubef2zu3n1c8nn5je8ia6u\"},{\"name\":\"POSITION=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the position of the text with respect to the location of the data point.\",\"help\":\"POSITION=*position-option* | *character-variable*\",\"type\":\"choice\",\"arguments\":[{\"name\":\"position-option\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"character-variable\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p092wpyad18qvrn0zlih62pnb7dc\"},{\"name\":\"RATTRID=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the value of the ID variable in a range attribute map data set.\",\"help\":\"RATTRID=*character-value* \",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0fm3fy2vuky40n1x8yt0aim3hurl\"},{\"name\":\"ROTATE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the angle of rotation in degrees for the text markers.\",\"help\":\"ROTATE=*number* | *numeric-column*\",\"type\":\"choice\",\"arguments\":[{\"name\":\"number\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"numeric-column\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p0utr0ttwfy3oin1s5g7601a9jmh\"},{\"name\":\"SIZEMAX=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the maximum font size for the largest text marker when a response variable is used to size the text-marker font.\",\"help\":\"SIZEMAX=*numeric-value*&lt;*units*&gt;\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0s5jugv46914un19tvh35oe5nau\"},{\"name\":\"SIZEMAXRESPONSE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the response value that corresponds to the maximum font size for text markers.\",\"help\":\"SIZEMAXRESPONSE=*number*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n10g4cho3c3h99n1ffrrzj2mk106\"},{\"name\":\"SIZEMIN=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the minimum font size for text markers when a response variable is used to size the font for text values.\",\"help\":\"SIZEMIN=*numeric-value*&lt;*units*&gt;\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1iyt2x10y9wmkn1r46n9lwg1cyk\"},{\"name\":\"SIZERESPONSE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a response variable that is used to determine the font size for each text value.\",\"help\":\"SIZERESPONSE=*numeric-variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1hd80bd39979mn11xvcpe4emxdn\"},{\"name\":\"SPLITCHAR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies one or more characters on which the text is always split.\",\"help\":\"SPLITCHAR=\\\"*character-list*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0bkm2dcvumfsgn1jufzb8lsoff3\"},{\"name\":\"SPLITCHARNODROP\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that the split characters are included in the displayed value.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1p84b49hkwodcn16b15tpejmdbx\"},{\"name\":\"SPLITJUSTIFY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the horizontal alignment of the value text that is being split.\",\"help\":\"SPLITJUSTIFY=LEFT | CENTER | RIGHT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"LEFT\",\"type\":\"standalone\"},{\"name\":\"CENTER\",\"type\":\"standalone\"},{\"name\":\"RIGHT\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"n0p6ataystjj0rn17buo5px34k9e\"},{\"name\":\"SPLITPOLICY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a policy for avoiding collisions among the text markers.\",\"help\":\"SPLITPOLICY=NONE | SPLIT | SPLITALWAYS\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NONE\",\"followsDelimiter\":\"/\",\"description\":\"does not split the text for text markers that collide.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0dx46iuze7ya8n13908rf7qbjxx\"},{\"name\":\"SPLIT\",\"followsDelimiter\":\"/\",\"description\":\"splits the marker text at a split character only if a split is needed at that character in order to make the text fit the available space.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p06peyib9gblian14t22f6m4ymwp\"},{\"name\":\"SPLITALWAYS\",\"followsDelimiter\":\"/\",\"description\":\"splits the marker text at every occurrence of a split character.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p09bvvhnaatc6mn1mvc1sh39fbep\"}],\"supportSiteTargetFragment\":\"p0o61q6icbiavjn1ke9sx00lvcay\"},{\"name\":\"SPLITWIDTH=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the maximum width of each split line, expressed as a character count.\",\"help\":\"SPLITWIDTH=*width-in-characters*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0pwgtng8rpw9rn1azp4kljjiy98\"},{\"name\":\"STRIP\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that leading and trailing blanks should be stripped from the marker text before it is displayed.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n07ophjx1amegon1mom2bmfuckjl\"},{\"name\":\"TEXTATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the color and font properties of the marker text.\",\"help\":\"TEXTATTRS=*style-element*&lt; (*text-options*)&gt; | (*text-options*) \",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(text-options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"n1fe138lr7j7snn1qk49b6vr56fs\"},{\"name\":\"TIP=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the data tip information to be displayed when the cursor is positioned over the graphics element.\",\"help\":\"TIP=(*variable-list*) | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"(variable-list)\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"a space-separated list of variables enclosed in parentheses.\",\"help\":\"(*variable-list*) \",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1m6zmye01y4lvn104i7gn57dfpor\"},{\"name\":\"NONE\",\"followsDelimiter\":\"/\",\"description\":\"suppresses the data tips from this plot.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n02szuj3p61ekvn1c2scb9cyaar4r\"}],\"supportSiteTargetFragment\":\"p1vzdm59cf0i9qn1jz5pwqz5hm71r\"},{\"name\":\"TIPFORMAT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"applies formats to the list of data tip variables that you specify in the TIP= option.\",\"help\":\"TIPFORMAT=(*format-list*)\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p17xpdoc2x7peln1gkubt92md28hp\"},{\"name\":\"TIPLABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"applies labels to the list of data tip variables that you specify in the TIP= option.\",\"help\":\"TIPLABEL=(*label-list*)\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n126ol9w7pwp12n1irzzust1e2two\"},{\"name\":\"TRANSPARENCY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the degree of transparency for the plot.\",\"help\":\"TRANSPARENCY=*value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p165beuigjohtnn1tb3zi07el186w\"},{\"name\":\"URL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies an HTML page to be displayed when parts of the plot are selected.\",\"help\":\"URL=*character-variable*\",\"type\":\"value\",\"arguments\":[{\"name\":\"character-variable\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a variable that contains a valid HTML page reference (HREF) for each plot element that is to have an active link.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1kbi4uhax9tzon1rukcqelmr68rn\"}],\"supportSiteTargetFragment\":\"n0jx60ib3ia9lgn0zqatbajgfsz4n\"},{\"name\":\"VCENTER=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies whether the text is vertically centered with respect to the text bounding box or the text baseline.\",\"help\":\"VCENTER=BBOX | BASELINE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"BBOX\",\"followsDelimiter\":\"/\",\"description\":\"vertically centers the text with respect to its bounding box.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1372ptlel7t9yn199hh02w47wse\"},{\"name\":\"BASELINE\",\"followsDelimiter\":\"/\",\"description\":\"vertically centers the text with respect to the text baseline.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n11ze0hzmskgy2n1x0b89zgsjqbv\"}],\"supportSiteTargetFragment\":\"n00z8jbjaeyjwon1ns7nkzn8moaa\"}],\"supportSiteTargetFile\":\"n1r8egn3tnghz2n1vkokrrtoxkk4.htm\"},{\"name\":\"VBAR\",\"description\":\"Creates a vertical bar chart that summarizes the values of a category variable.\",\"help\":\"VBAR *category-variable*&lt;/option(s)&gt;;\",\"arguments\":[{\"name\":\"category-variable\",\"placeholder\":true,\"description\":\"specifies the variable whose values determine the categories of data represented by the bars.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1rml5cioqzqvtn15wicek15keyn\"},{\"name\":\"ALPHA=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the confidence level for the confidence limits.\",\"help\":\"ALPHA=*numeric-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1lgv1f16331ken1ilal7bp3ajgcc\"},{\"name\":\"ATTRID=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the value of the ID variable in a discrete attribute map data set.\",\"help\":\"ATTRID=*character-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1uxs2avsp1mrtn19pateg7icm4dy\"},{\"name\":\"BARWIDTH=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the width of the bars as a ratio of the maximum possible width.\",\"help\":\"BARWIDTH=*numeric-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1u132lgz8pbm2n1ossxbc8us28kc\"},{\"name\":\"BASELINE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the response axis intercept for the baseline.\",\"help\":\"BASELINE=*numeric-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n134zendtywk4yn1h0io35sqg2l4c\"},{\"name\":\"BASELINEATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the appearance of the baseline.\",\"help\":\"BASELINEATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"n1ej682yz3aynon17p7w2ff0pqced\"},{\"name\":\"CATEGORYORDER=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the order in which the categories are arranged.\",\"help\":\"CATEGORYORDER=RESPASC | RESPDESC\",\"type\":\"choice\",\"arguments\":[{\"name\":\"RESPASC\",\"followsDelimiter\":\"/\",\"description\":\"sorts by the response values in ascending order.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1al4jo1hdrigyn1ni32cpoafl7ic\"},{\"name\":\"RESPDESC\",\"followsDelimiter\":\"/\",\"description\":\"sorts by the response values in descending order.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p179c2pjor4w07n1s9oaweg28uzbc\"}],\"supportSiteTargetFragment\":\"p1q2dvkcp86a8mn1llp2cpkkws8gc\"},{\"name\":\"CLUSTERWIDTH=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the cluster width as a ratio of the maximum width.\",\"help\":\"CLUSTERWIDTH=*numeric-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0sjdo1rt3ej2tn1heujlgu0h4pmc\"},{\"name\":\"COLORMODEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a color ramp that is to be used to determine response colors.\",\"help\":\"COLORMODEL=*style-element* | (*color-list*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the name of a style element.\",\"help\":\"*style-element* \",\"type\":\"value\",\"supportSiteTargetFragment\":\"n18psxv7sqmtj2n1v6wlf47btlsjm\"},{\"name\":\"(color-list)\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a space-separated list of colors to use in the color ramp.\",\"type\":\"color\",\"supportSiteTargetFragment\":\"p0wnu5ewzeub7kn12i56v2nlcug8m\"}],\"supportSiteTargetFragment\":\"n0z1120sgbulvyn1q3n66xdpygjjm\"},{\"name\":\"COLORRESPONSE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the numeric column that is used to map colors to a continuous color ramp.\",\"help\":\"COLORRESPONSE=*numeric-column* \",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0zb6oty4r633rn1ab2g6k8k1bt5k\"},{\"name\":\"COLORSTAT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the statistic to use for computing the response colors when the COLORRESPONSE= option is specified.\",\"help\":\"COLORSTAT=FREQ | PCT | SUM | MEAN | MEDIAN\",\"type\":\"choice\",\"arguments\":[{\"name\":\"FREQ\",\"followsDelimiter\":\"/\",\"description\":\"frequency count\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p12xc75e2qzvq4n1w9649m1nvgrgc\"},{\"name\":\"PCT\",\"followsDelimiter\":\"/\",\"aliases\":[\"PERCENT\"],\"description\":\"percentages between 0 and 100\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0bz971h6vkie2n1otdmb2k056dkc\"},{\"name\":\"SUM\",\"followsDelimiter\":\"/\",\"description\":\"sum values for the color response\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1sjc7ihicz9pin1on2fcwxu1c95c\"},{\"name\":\"MEAN\",\"followsDelimiter\":\"/\",\"description\":\"mean values for the color response\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1ee758lpkisr1n1njjhjaim8tzmc\"},{\"name\":\"MEDIAN\",\"followsDelimiter\":\"/\",\"description\":\"median values for the color response\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0xzz25zpggjeen1muf9nq0gj914c\"}],\"supportSiteTargetFragment\":\"n1dtbamt5wv1m4n1wl5eo4hw7426c\"},{\"name\":\"DATALABEL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"displays a label for each bar.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1sxl57clngp0kn1hlqkvc7e144qa\"},{\"name\":\"DATALABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"displays a label for each bar.\",\"help\":\"DATALABEL=*variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1sxl57clngp0kn1hlqkvc7e144qa\"},{\"name\":\"DATALABELATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the appearance of the labels in the plot when you use the DATALABEL= option.\",\"help\":\"DATALABELATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p0e0ya27a7hlj5n164pkuwzf2j5uo\"},{\"name\":\"DATALABELFITPOLICY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a policy for avoiding collisions among the bar labels, when displayed.\",\"help\":\"DATALABELFITPOLICY=*policy-value*\",\"type\":\"value\",\"arguments\":[{\"name\":\"NONE\",\"followsDelimiter\":\"/\",\"description\":\"does not rotate the bar labels.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0jdifr4yhqe9fn180vthyoqd34p\"},{\"name\":\"ROTATE\",\"followsDelimiter\":\"/\",\"description\":\"rotates the text 90 degrees, but only if collisions occur.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0quexaa47dhsjn1n1s2ime1mjkd\"},{\"name\":\"SPLIT\",\"followsDelimiter\":\"/\",\"description\":\"splits the labels at the character or characters specified in the SPLITCHAR= option.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0b611su1piwpzn1torw2owlg83l\"},{\"name\":\"SPLITALWAYS\",\"followsDelimiter\":\"/\",\"description\":\"always splits the values at the character or characters specified in the SPLITCHAR= option.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1jn8si21n50eqn0zy3r2mmowv22\"}],\"supportSiteTargetFragment\":\"n190mr7art9ka5n1y1dhvosk6xob\"},{\"name\":\"DATASKIN=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a special effect to be used on the plot.\",\"help\":\"DATASKIN=NONE | CRISP | GLOSS | MATTE | PRESSED | SHEEN\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NONE\",\"type\":\"standalone\"},{\"name\":\"CRISP\",\"type\":\"standalone\"},{\"name\":\"GLOSS\",\"type\":\"standalone\"},{\"name\":\"MATTE\",\"type\":\"standalone\"},{\"name\":\"PRESSED\",\"type\":\"standalone\"},{\"name\":\"SHEEN\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"n1wqoylzvajtm1n1rpjpq7jwq9eiq\"},{\"name\":\"DISCRETEOFFSET=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies an amount to offset all bars from the category midpoints.\",\"help\":\"DISCRETEOFFSET=*numeric-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0ju1btweronhan1scwmte9valuac\"},{\"name\":\"DISPLAYBASELINE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies whether the baseline is displayed.\",\"help\":\"DISPLAYBASELINE=AUTO | ON | OFF\",\"type\":\"choice\",\"arguments\":[{\"name\":\"AUTO\",\"followsDelimiter\":\"/\",\"description\":\"displays the baseline if the baseline intercept is within the response-axis range, excluding the minimum and maximum axis values.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p09vvws7ebi8kxn19db65gsk5n44d\"},{\"name\":\"ON\",\"followsDelimiter\":\"/\",\"description\":\"always displays the baseline.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0a3ajoca9hgurn19b68pgsgb226d\"},{\"name\":\"OFF\",\"followsDelimiter\":\"/\",\"description\":\"hides the baseline.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0jzhok5gxdylen17jwnxqnlylbjd\"}],\"supportSiteTargetFragment\":\"n0hd2s4tisgi5zn12s6pyf7fbydsd\"},{\"name\":\"FILL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies whether the bars are filled.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1hx4lv9o1w97fn14ppau5kasnqf\"},{\"name\":\"NOFILL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies whether the bars are filled.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1hx4lv9o1w97fn14ppau5kasnqf\"},{\"name\":\"FILLATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the fill color and transparency.\",\"help\":\"FILLATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p0hsyjx1at62w1n1akl6mco17le9k\"},{\"name\":\"FILLENDCOLOR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a fill color that is applied to the chart at the baseline.\",\"help\":\"FILLENDCOLOR=*color*\",\"type\":\"color\",\"supportSiteTargetFragment\":\"p0945lghg74za0n1m05np6qog858d\"},{\"name\":\"FILLPATTERN\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"enables the display of line fill patterns for the plot.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1rfcg52cmb01gn1ho28yt0z04p6k\"},{\"name\":\"FILLPATTERNATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the line-fill color and pattern.\",\"help\":\"FILLPATTERNATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the name of a style element.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n16slmtjq8rjq2n1p1rnk8l5iiq0k\"},{\"name\":\"COLOR=\",\"followsDelimiter\":\"/\",\"description\":\"specifies a color to use for the fill lines.\",\"help\":\"COLOR=*color*\",\"type\":\"color\",\"supportSiteTargetFragment\":\"p0ydkeub4j3ntln1gf1e1tvev3cxk\"},{\"name\":\"PATTERN=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the type of line pattern to use for the fill.\",\"help\":\"PATTERN=*line-pattern*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p076ecgpkp0a8rn19liu4ivc8tpak\"}],\"supportSiteTargetFragment\":\"n1h0vxz6qoyx8qn10w4qlqtmdcxuk\"},{\"name\":\"FILLTYPE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the fill type that is applied to the chart.\",\"help\":\"FILLTYPE=SOLID | GRADIENT | ALPHAGRADIENT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"SOLID\",\"followsDelimiter\":\"/\",\"description\":\"each bar is filled with the color that is assigned to the bar fill area.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1l126loza6s7on114d39euhqg8rd\"},{\"name\":\"GRADIENT\",\"followsDelimiter\":\"/\",\"description\":\"displays the color from the applied style at the end of the bar gradually changing to the color of the wall at the baseline of the bar.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0rgwbgbg44mj6n18cboouc4104dd\"},{\"name\":\"ALPHAGRADIENT\",\"followsDelimiter\":\"/\",\"description\":\"a gradient is used to determine the fill color.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1iqgu8wgsu4jdn1qxs6rqk07gy8d\"}],\"supportSiteTargetFragment\":\"n16x0nt44togm1n1f8m7cajbas6cd\"},{\"name\":\"FREQ=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a variable for the frequency count for each observation in the input data.\",\"help\":\"FREQ=*numeric-variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0imur3526o3kkn1pyptwbea09xid\"},{\"name\":\"GROUP=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a variable that is used to group the data.\",\"help\":\"GROUP=*variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n10ufvorhfxblmn1pvhuicydx28wc\"},{\"name\":\"GROUPDISPLAY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies how to display grouped bars.\",\"help\":\"GROUPDISPLAY=STACK | CLUSTER\",\"type\":\"choice\",\"arguments\":[{\"name\":\"STACK\",\"followsDelimiter\":\"/\",\"description\":\"groups are overlaid without any clustering.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p16qnouk4o42pun1q7p8m2ziug3pc\"},{\"name\":\"CLUSTER\",\"followsDelimiter\":\"/\",\"description\":\"displays group values as separate adjacent bars that replace the single category bar.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0gyggwvahv84an162b7hoj6zwixc\"}],\"supportSiteTargetFragment\":\"p0jtk9mxiq40dpn12h5qaxygaxt3c\"},{\"name\":\"GROUPORDER=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the ordering of the groups within a category.\",\"help\":\"GROUPORDER=DATA | REVERSEDATA | ASCENDING | DESCENDING\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DATA\",\"followsDelimiter\":\"/\",\"description\":\"orders the groups within a category in data order of the group variable.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1olglc4d6w5xtn1975koececghgl\"},{\"name\":\"REVERSEDATA\",\"followsDelimiter\":\"/\",\"description\":\"orders the groups within a category in the reverse data order of the group variable.\",\"help\":\"REVERSEDATA \",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n19zwzvwl75rxun1kbxu50jrgzjjl\"},{\"name\":\"ASCENDING\",\"followsDelimiter\":\"/\",\"description\":\"orders the groups within a category in ascending order of the group variable.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0dd45nyc2fae3n1ne4koepnc2w8l\"},{\"name\":\"DESCENDING\",\"followsDelimiter\":\"/\",\"description\":\"orders the groups within a category in descending order of the group variable.\",\"help\":\"DESCENDING \",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0tsocv1fpdf1un1mcfikx2mnrqll\"}],\"supportSiteTargetFragment\":\"p0sm1j07xn1rg2n16hsii0x2d6fdl\"},{\"name\":\"INTERVALBARWIDTH=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the thickness of the bars when the category data is numeric.\",\"help\":\"INTERVALBARWIDTH=*numeric-value*&lt;*units*&gt;\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1eo2b1xcevkuyn1tyvnts3wmxwyd\"},{\"name\":\"LEGENDLABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the label that identifies the bar chart in the legend.\",\"help\":\"LEGENDLABEL=\\\"*text-string*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n18cttdkw3m87on0z7l1czkctstj\"},{\"name\":\"LIMITATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the appearance of the limit lines in the plot.\",\"help\":\"LIMITATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p0vyyn3bqhdbdnn1ku2xvzztnh49\"},{\"name\":\"LIMITCAPSCALE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a positive number to use as a multiplier for changing the default width of the limit-bar cap (serif).\",\"help\":\"LIMITCAPSCALE=*positive-number*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1dpcq2cxmhivln1ecgm46ylp35sd\"},{\"name\":\"LIMITS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies which limit lines to display.\",\"help\":\"LIMITS=BOTH | LOWER | UPPER\",\"type\":\"choice\",\"arguments\":[{\"name\":\"BOTH\",\"followsDelimiter\":\"/\",\"description\":\"adds lower and upper limit lines to the plot.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0pdxj603ul1oin1dyhj1z1n43th\"},{\"name\":\"LOWER\",\"followsDelimiter\":\"/\",\"description\":\"adds lower limit lines to the plot.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p03l2la6ubd2bcn1raz6nj4574dq\"},{\"name\":\"UPPER\",\"followsDelimiter\":\"/\",\"description\":\"adds upper limit lines to the plot.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n05256m9jiihb3n1losir9pmq3wc\"}],\"supportSiteTargetFragment\":\"n05vesngvbwm5qn1l0eh0i1hmgdp\"},{\"name\":\"LIMITSTAT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the statistic for the limit lines.\",\"help\":\"LIMITSTAT=CLM | STDDEV | STDERR\",\"type\":\"choice\",\"arguments\":[{\"name\":\"CLM\",\"followsDelimiter\":\"/\",\"description\":\"confidence limits\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p19l6bylveayw0n1tkzfk14v9bh6\"},{\"name\":\"STDDEV\",\"followsDelimiter\":\"/\",\"description\":\"standard deviation\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0j9u920l8ob5xn15jwlpozmk3a4\"},{\"name\":\"STDERR\",\"followsDelimiter\":\"/\",\"description\":\"standard error\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1thb8ondakmsbn12axauogw057o\"}],\"supportSiteTargetFragment\":\"p0901n0p1ba2rxn1sfa2oqifkzuh\"},{\"name\":\"MISSING\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"accepts a missing value as a valid category value.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1lf04aujmaa31n1q11phih290vtg\"},{\"name\":\"NAME=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a name for the plot.\",\"help\":\"NAME=\\\"*text-string*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p00f81g82wmzr5n15sik0znnzfy9z4\"},{\"name\":\"NOZEROBARS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses zero-length bars.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p13ya88tdrzb4on1wc4drexx03g3c\"},{\"name\":\"NUMSTD=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the number of standard units for the limit lines, when you specify LIMITSTAT=STDDEV or LIMITSTAT=STDERR.\",\"help\":\"NUMSTD=*n*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1xb9grny93q82n1j8ngwfe47ppp\"},{\"name\":\"OUTLINE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies whether the bars have outlines.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p06j6qrwou0ewrn16zut3uf0115u\"},{\"name\":\"NOOUTLINE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies whether the bars have outlines.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p06j6qrwou0ewrn16zut3uf0115u\"},{\"name\":\"OUTLINEATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the appearance of the bar outlines.\",\"help\":\"OUTLINEATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"n0olnkg30nnymin1clkx2ril0pugc\"},{\"name\":\"RATTRID=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the value of the ID variable in a range attribute map data set.\",\"help\":\"RATTRID=*character-value* \",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0fm3fy2vuky40n1x8yt0aim3hurm\"},{\"name\":\"RESPONSE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a numeric response variable for the plot.\",\"help\":\"RESPONSE=*response-variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1corsjsy3onhvn1usew91bpa0ba\"},{\"name\":\"SEGLABEL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"displays a label inside each segment of a stacked bar.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p12q6yclplhxhwn1db2k6vc8ywilc\"},{\"name\":\"SEGLABELATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the text properties of the bar segment label text.\",\"help\":\"SEGLABELATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p1es6drocx27t2n11j4ooz6omm1jc\"},{\"name\":\"SEGLABELFITPOLICY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a policy for fitting the bar segment labels within the bar segments.\",\"help\":\"SEGLABELFITPOLICY=NONE | NOCLIP | THIN\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NONE\",\"followsDelimiter\":\"/\",\"description\":\"no attempt is made to fit each segment label within its bar.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1jhk58jv04l1bn16cwqgaelijusc\"},{\"name\":\"NOCLIP\",\"followsDelimiter\":\"/\",\"description\":\"does not clip bar segment labels that extend beyond the plot area.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1xzc61mbbquxpn1fz13qzub30k7c\"},{\"name\":\"THIN\",\"followsDelimiter\":\"/\",\"description\":\"drops any bar segment label that does not fit within its segment.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0obxpoptjts3nn1375fkmh7yaroc\"}],\"supportSiteTargetFragment\":\"n0ro228l54ynvun1vigorbb5cu3tc\"},{\"name\":\"SEGLABELFORMAT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the text format used to display the bar segment labels.\",\"help\":\"SEGLABELFORMAT=*format*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0hrtoidk8rht5n1qke3mg135u82c\"},{\"name\":\"SPLITCHAR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies one or more characters on which the text for data labels is always split.\",\"help\":\"SPLITCHAR=\\\"*character-list*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n18bn0zlnq288pn1f2cp7l2x169pe\"},{\"name\":\"SPLITCHARNODROP\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that the split characters are included in the displayed value.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n16zlyxz8f2e9fn1p1sv3c52m1itq\"},{\"name\":\"STAT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the statistic for the vertical axis.\",\"help\":\"STAT=FREQ | MEAN | MEDIAN | PERCENT | SUM\",\"type\":\"choice\",\"arguments\":[{\"name\":\"FREQ\",\"followsDelimiter\":\"/\",\"description\":\"the frequencies of the response or category variable.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1p6jtrfxh131sn1cs21awxx6tm0\"},{\"name\":\"MEAN\",\"followsDelimiter\":\"/\",\"description\":\"the mean of the response variable.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0bngi44kenmxyn15jsxa64rrpb1\"},{\"name\":\"MEDIAN\",\"followsDelimiter\":\"/\",\"description\":\"the median of the response variable.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1qys3nxelhacan1utu7iv8d08d7\"},{\"name\":\"PERCENT\",\"followsDelimiter\":\"/\",\"aliases\":[\"PCT\"],\"description\":\"the percentage of the response or category variable.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1msw53jh1ayoqn17usf5wcp3grb\"},{\"name\":\"SUM\",\"followsDelimiter\":\"/\",\"description\":\"the sum of the response variable.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1rcqmnyfu6w3un1sm13w03cx0m3\"}],\"supportSiteTargetFragment\":\"n07wt2dtjyifbwn0z7sp36cs75ru\"},{\"name\":\"STATLABEL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies whether the response variable statistic is displayed in the axis and legend labels.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1tdeu3euj3i6bn157eaerbvluq6c\"},{\"name\":\"NOSTATLABEL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies whether the response variable statistic is displayed in the axis and legend labels.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1tdeu3euj3i6bn157eaerbvluq6c\"},{\"name\":\"TIP=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the data tip information to be displayed when the cursor is positioned over the graphics element.\",\"help\":\"TIP=(*variable-list*) | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"(variable-list)\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"a space-separated list of variables enclosed in parentheses.\",\"help\":\"(*variable-list*) \",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1m6zmye01y4lvn104i7gn57dfpos\"},{\"name\":\"NONE\",\"followsDelimiter\":\"/\",\"description\":\"suppresses the data tips from this plot.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n02szuj3p61ekvn1c2scb9cyaar4s\"}],\"supportSiteTargetFragment\":\"p1vzdm59cf0i9qn1jz5pwqz5hm71s\"},{\"name\":\"TIPFORMAT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"applies formats to the list of data tip variables that you specify in the TIP= option.\",\"help\":\"TIPFORMAT=(*format-list*)\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p17xpdoc2x7peln1gkubt92md28hq\"},{\"name\":\"TIPLABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"applies labels to the list of data tip variables that you specify in the TIP= option.\",\"help\":\"TIPLABEL=(*label-list*)\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n126ol9w7pwp12n1irzzust1e2twp\"},{\"name\":\"TRANSPARENCY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the degree of transparency for the plot.\",\"help\":\"TRANSPARENCY=*value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p165beuigjohtnn1tb3zi07el186x\"},{\"name\":\"URL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies an HTML page to be displayed when parts of the plot are selected.\",\"help\":\"URL=*character-variable*\",\"type\":\"value\",\"arguments\":[{\"name\":\"character-variable\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a variable that contains a valid HTML page reference (HREF) for each plot element that is to have an active link.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1kbi4uhax9tzon1rukcqelmr68ro\"}],\"supportSiteTargetFragment\":\"n0jx60ib3ia9lgn0zqatbajgfsz4o\"},{\"name\":\"WEIGHT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies how observations are weighted.\",\"help\":\"WEIGHT=*numeric-variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p15uwmus658g3sn1t0zd35lwaoftc\"}],\"supportSiteTargetFile\":\"p0dx211cvn45apn1lep1fqi1qw6i.htm\"},{\"name\":\"VBARBASIC\",\"description\":\"Creates a vertical bar chart that is compatible with other categorization charts as well as basic plots, such as scatter and series plots, and box plots.\",\"help\":\"VBARBASIC *category-variable*&lt;/*options*&gt;;\",\"arguments\":[{\"name\":\"category-variable\",\"placeholder\":true,\"description\":\"specifies the variable whose values determine the categories of data represented by the bars.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0bd93x9j34tzqn13193iya382om\"},{\"name\":\"ATTRID=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the value of the ID variable in a discrete attribute map data set.\",\"help\":\"ATTRID=*character-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1uxs2avsp1mrtn19pateg7icm4dz\"},{\"name\":\"BARWIDTH=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the width of the bars as a ratio of the maximum possible width.\",\"help\":\"BARWIDTH=*numeric-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1u132lgz8pbm2n1ossxbc8us28kd\"},{\"name\":\"BASELINE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the response axis intercept for the baseline.\",\"help\":\"BASELINE=*numeric-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n134zendtywk4yn1h0io35sqg2l4d\"},{\"name\":\"BASELINEATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the appearance of the baseline.\",\"help\":\"BASELINEATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"n1ej682yz3aynon17p7w2ff0pqcee\"},{\"name\":\"CLUSTERWIDTH=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the cluster width as a ratio of the maximum width.\",\"help\":\"CLUSTERWIDTH=*numeric-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0sjdo1rt3ej2tn1heujlgu0h4pmd\"},{\"name\":\"COLORMODEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a color ramp that is to be used to determine response colors.\",\"help\":\"COLORMODEL=*style-element* | (*color-list*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the name of a style element.\",\"help\":\"*style-element* \",\"type\":\"value\",\"supportSiteTargetFragment\":\"n18psxv7sqmtj2n1v6wlf47btlsjn\"},{\"name\":\"(color-list)\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a space-separated list of colors to use in the color ramp.\",\"type\":\"color\",\"supportSiteTargetFragment\":\"p0wnu5ewzeub7kn12i56v2nlcug8n\"}],\"supportSiteTargetFragment\":\"n0z1120sgbulvyn1q3n66xdpygjjn\"},{\"name\":\"COLORRESPONSE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the numeric column that is used to map colors to a continuous color ramp.\",\"help\":\"COLORRESPONSE=*numeric-column* \",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0zb6oty4r633rn1ab2g6k8k1bt5l\"},{\"name\":\"COLORSTAT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the statistic to use for computing the response colors.\",\"help\":\"COLORSTAT=FREQ | PCT | SUM | MEAN | MEDIAN\",\"type\":\"choice\",\"arguments\":[{\"name\":\"FREQ\",\"followsDelimiter\":\"/\",\"description\":\"frequency count\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p12xc75e2qzvq4n1w9649m1nvgrgd\"},{\"name\":\"PCT\",\"followsDelimiter\":\"/\",\"aliases\":[\"PERCENT\"],\"description\":\"percentages between 0 and 100\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0bz971h6vkie2n1otdmb2k056dkd\"},{\"name\":\"SUM\",\"followsDelimiter\":\"/\",\"description\":\"sum values for the color response\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1sjc7ihicz9pin1on2fcwxu1c95d\"},{\"name\":\"MEAN\",\"followsDelimiter\":\"/\",\"description\":\"mean values for the color response\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1ee758lpkisr1n1njjhjaim8tzmd\"},{\"name\":\"MEDIAN\",\"followsDelimiter\":\"/\",\"description\":\"median values for the color response\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0xzz25zpggjeen1muf9nq0gj914d\"}],\"supportSiteTargetFragment\":\"n1dtbamt5wv1m4n1wl5eo4hw7426d\"},{\"name\":\"DATALABEL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"displays the bar statistic value for each bar.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n08rqikc6lns9ln1vo2scvlqo99ha\"},{\"name\":\"DATALABELATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the appearance of the labels in the plot when you use the DATALABEL option.\",\"help\":\"DATALABELATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p0e0ya27a7hlj5n164pkuwzf2j5up\"},{\"name\":\"DATALABELFITPOLICY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that no fit policy is implemented for the bar labels.\",\"help\":\"DATALABELFITPOLICY=NONE\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1wswptadrdfgpn1btq1erce5ruy\"},{\"name\":\"DATALABELFORMAT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the text format used to display the bar label.\",\"help\":\"DATALABELFORMAT=*format*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1lho8qfb6xsdgn175uw5oegnsdla\"},{\"name\":\"DATASKIN=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a special effect to be used on the plot.\",\"help\":\"DATASKIN=NONE | CRISP | GLOSS | MATTE | PRESSED | SHEEN\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NONE\",\"type\":\"standalone\"},{\"name\":\"CRISP\",\"type\":\"standalone\"},{\"name\":\"GLOSS\",\"type\":\"standalone\"},{\"name\":\"MATTE\",\"type\":\"standalone\"},{\"name\":\"PRESSED\",\"type\":\"standalone\"},{\"name\":\"SHEEN\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"n1wqoylzvajtm1n1rpjpq7jwq9eir\"},{\"name\":\"DISCRETEOFFSET=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies an amount to offset all bars from the category midpoints.\",\"help\":\"DISCRETEOFFSET=*numeric-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0ju1btweronhan1scwmte9valuad\"},{\"name\":\"DISPLAYBASELINE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies whether the baseline is displayed.\",\"help\":\"DISPLAYBASELINE=AUTO | ON | OFF\",\"type\":\"choice\",\"arguments\":[{\"name\":\"AUTO\",\"followsDelimiter\":\"/\",\"description\":\"displays the baseline if the baseline intercept is within the response-axis range, excluding the minimum and maximum axis values.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p09vvws7ebi8kxn19db65gsk5n44e\"},{\"name\":\"ON\",\"followsDelimiter\":\"/\",\"description\":\"always displays the baseline.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0a3ajoca9hgurn19b68pgsgb226e\"},{\"name\":\"OFF\",\"followsDelimiter\":\"/\",\"description\":\"hides the baseline.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0jzhok5gxdylen17jwnxqnlylbje\"}],\"supportSiteTargetFragment\":\"n0hd2s4tisgi5zn12s6pyf7fbydse\"},{\"name\":\"FILL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies whether the bars are filled.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p02z86irxvg3wnn1dzvp7df6989g\"},{\"name\":\"NOFILL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies whether the bars are filled.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p02z86irxvg3wnn1dzvp7df6989g\"},{\"name\":\"FILLATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the fill color and transparency.\",\"help\":\"FILLATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p0hsyjx1at62w1n1akl6mco17le9l\"},{\"name\":\"FILLENDCOLOR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a fill color that is applied to the chart at the baseline.\",\"help\":\"FILLENDCOLOR=*color*\",\"type\":\"color\",\"supportSiteTargetFragment\":\"p0945lghg74za0n1m05np6qog858e\"},{\"name\":\"FILLPATTERN\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"enables the display of line fill patterns for the plot.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1rfcg52cmb01gn1ho28yt0z04p6l\"},{\"name\":\"FILLPATTERNATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the line-fill color and pattern.\",\"help\":\"FILLPATTERNATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the name of a style element.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n16slmtjq8rjq2n1p1rnk8l5iiq0l\"},{\"name\":\"COLOR=\",\"followsDelimiter\":\"/\",\"description\":\"specifies a color to use for the fill lines.\",\"help\":\"COLOR=*color*\",\"type\":\"color\",\"supportSiteTargetFragment\":\"p0ydkeub4j3ntln1gf1e1tvev3cxl\"},{\"name\":\"PATTERN=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the type of line pattern to use for the fill.\",\"help\":\"PATTERN=*line-pattern*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p076ecgpkp0a8rn19liu4ivc8tpal\"}],\"supportSiteTargetFragment\":\"n1h0vxz6qoyx8qn10w4qlqtmdcxul\"},{\"name\":\"FILLTYPE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the fill type that is applied to the chart.\",\"help\":\"FILLTYPE=SOLID | GRADIENT | ALPHAGRADIENT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"SOLID\",\"followsDelimiter\":\"/\",\"description\":\"each bar is filled with the color that is assigned to the bar fill area.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1l126loza6s7on114d39euhqg8re\"},{\"name\":\"GRADIENT\",\"followsDelimiter\":\"/\",\"description\":\"displays the color from the applied style at the end of the bar gradually changing to the color of the wall at the baseline of the bar.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0rgwbgbg44mj6n18cboouc4104de\"},{\"name\":\"ALPHAGRADIENT\",\"followsDelimiter\":\"/\",\"description\":\"a gradient is used to determine the fill color.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1iqgu8wgsu4jdn1qxs6rqk07gy8e\"}],\"supportSiteTargetFragment\":\"n16x0nt44togm1n1f8m7cajbas6ce\"},{\"name\":\"GROUP=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a variable that is used to group the data.\",\"help\":\"GROUP=*variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n10ufvorhfxblmn1pvhuicydx28wd\"},{\"name\":\"GROUPDISPLAY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies how to display grouped bars.\",\"help\":\"GROUPDISPLAY=STACK | CLUSTER\",\"type\":\"choice\",\"arguments\":[{\"name\":\"STACK\",\"followsDelimiter\":\"/\",\"description\":\"groups are overlaid without any clustering.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p16qnouk4o42pun1q7p8m2ziug3pd\"},{\"name\":\"CLUSTER\",\"followsDelimiter\":\"/\",\"description\":\"displays group values as separate adjacent bars that replace the single category bar.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0gyggwvahv84an162b7hoj6zwixd\"}],\"supportSiteTargetFragment\":\"p0jtk9mxiq40dpn12h5qaxygaxt3d\"},{\"name\":\"GROUPORDER=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the ordering of the groups within a category.\",\"help\":\"GROUPORDER=DATA | REVERSEDATA | ASCENDING | DESCENDING\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DATA\",\"followsDelimiter\":\"/\",\"description\":\"orders the groups within a category in data order of the group variable.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1olglc4d6w5xtn1975koececghgm\"},{\"name\":\"REVERSEDATA\",\"followsDelimiter\":\"/\",\"description\":\"orders the groups within a category in the reverse data order of the group variable.\",\"help\":\"REVERSEDATA \",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n19zwzvwl75rxun1kbxu50jrgzjjm\"},{\"name\":\"ASCENDING\",\"followsDelimiter\":\"/\",\"description\":\"orders the groups within a category in ascending order of the group variable.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0dd45nyc2fae3n1ne4koepnc2w8m\"},{\"name\":\"DESCENDING\",\"followsDelimiter\":\"/\",\"description\":\"orders the groups within a category in descending order of the group variable.\",\"help\":\"DESCENDING \",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0tsocv1fpdf1un1mcfikx2mnrqlm\"}],\"supportSiteTargetFragment\":\"p0sm1j07xn1rg2n16hsii0x2d6fdm\"},{\"name\":\"INTERVALBARWIDTH=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the thickness of the bars when the category data is numeric.\",\"help\":\"INTERVALBARWIDTH=*numeric-value*&lt;*units*&gt;\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1eo2b1xcevkuyn1tyvnts3wmxwye\"},{\"name\":\"LEGENDLABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the label that identifies the bar chart in the legend.\",\"help\":\"LEGENDLABEL=\\\"*text-string*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1ul35080yktcen1vxwt6dvqezuy\"},{\"name\":\"MISSING\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"accepts a missing value as a valid category value.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1lf04aujmaa31n1q11phih290vth\"},{\"name\":\"NAME=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a name for the plot.\",\"help\":\"NAME=\\\"*text-string*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p00f81g82wmzr5n15sik0znnzfy9z5\"},{\"name\":\"NOZEROBARS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses zero-length bars.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p13ya88tdrzb4on1wc4drexx03g3d\"},{\"name\":\"OUTLINE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies whether the bars have outlines.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1ufohr0uz2gn8n12wsx30euk38s\"},{\"name\":\"NOOUTLINE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies whether the bars have outlines.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1ufohr0uz2gn8n12wsx30euk38s\"},{\"name\":\"OUTLINEATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the appearance of the bar outlines.\",\"help\":\"OUTLINEATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"n0olnkg30nnymin1clkx2ril0pugd\"},{\"name\":\"RATTRID=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the value of the ID variable in a range attribute map data set.\",\"help\":\"RATTRID=*character-value* \",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0fm3fy2vuky40n1x8yt0aim3hurn\"},{\"name\":\"RESPONSE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a numeric response variable for the plot.\",\"help\":\"RESPONSE=*response-variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1i1gkjl4ayvswn1dnna8rdw8gae\"},{\"name\":\"SEGLABEL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"displays a label inside each segment of a stacked bar.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p12q6yclplhxhwn1db2k6vc8ywild\"},{\"name\":\"SEGLABELATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the text properties of the bar segment label text.\",\"help\":\"SEGLABELATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p1es6drocx27t2n11j4ooz6omm1jd\"},{\"name\":\"SEGLABELFITPOLICY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a policy for fitting the bar segment labels within the bar segments.\",\"help\":\"SEGLABELFITPOLICY=NONE | NOCLIP | THIN\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NONE\",\"followsDelimiter\":\"/\",\"description\":\"no attempt is made to fit each segment label within its bar.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1jhk58jv04l1bn16cwqgaelijusd\"},{\"name\":\"NOCLIP\",\"followsDelimiter\":\"/\",\"description\":\"does not clip bar segment labels that extend beyond the plot area.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1xzc61mbbquxpn1fz13qzub30k7d\"},{\"name\":\"THIN\",\"followsDelimiter\":\"/\",\"description\":\"drops any bar segment label that does not fit within its segment.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0obxpoptjts3nn1375fkmh7yarod\"}],\"supportSiteTargetFragment\":\"n0ro228l54ynvun1vigorbb5cu3td\"},{\"name\":\"SEGLABELFORMAT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the text format used to display the bar segment labels.\",\"help\":\"SEGLABELFORMAT=*format*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0hrtoidk8rht5n1qke3mg135u82d\"},{\"name\":\"STAT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the statistic for the vertical axis.\",\"help\":\"STAT=FREQ | PCT | SUM | MEAN | PROPORTION\",\"type\":\"choice\",\"arguments\":[{\"name\":\"FREQ\",\"followsDelimiter\":\"/\",\"description\":\"frequency count\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0nzey6rdmsmxyn1u4ghhp3vbz4aa\"},{\"name\":\"PERCENT\",\"followsDelimiter\":\"/\",\"aliases\":[\"PCT\"],\"description\":\"percentages between 0 and 100\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n18co7g5ty4up5n1uiv5duwd7bwda\"},{\"name\":\"PROPORTION\",\"followsDelimiter\":\"/\",\"description\":\"proportions between 0 and 1\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1fq0bpfuswnn2n1p5wjvw15tovqa\"},{\"name\":\"SUM\",\"followsDelimiter\":\"/\",\"description\":\"sum values for the response\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1gjup97pzj13yn1mbjvqsayypf0a\"},{\"name\":\"MEAN\",\"followsDelimiter\":\"/\",\"description\":\"mean values for the response\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1j4953udy0imqn1kz8ey3flpa2la\"}],\"supportSiteTargetFragment\":\"p1qxw3fzibw6pdn13d8zwugsxidxa\"},{\"name\":\"TIP=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the data tip information to be displayed when the cursor is positioned over the graphics element.\",\"help\":\"TIP=(*role-list*) | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"(role-list)\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"a space-separated list of unique chart roles enclosed in parentheses.\",\"help\":\"(*role-list*) \",\"type\":\"value\",\"supportSiteTargetFragment\":\"p097z16q55az6tn1a0qrq9zut6u3a\"},{\"name\":\"NONE\",\"followsDelimiter\":\"/\",\"description\":\"suppresses the data tips from this plot.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0a7rfhn0x17msn1h5j265i9kpcta\"}],\"supportSiteTargetFragment\":\"p1gm1po5n5bbpnn180hes5xwr1jaa\"},{\"name\":\"TIPFORMAT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"applies formats to the list of data tip roles that you specify in the TIP= option.\",\"help\":\"TIPFORMAT=(*format-list*)\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p07722za4oim3pn1ffimepkm20f5e\"},{\"name\":\"TIPLABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"applies labels to the list of data tip roles that you specify in the TIP= option.\",\"help\":\"TIPLABEL=(*label-list*)\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0t85qctfcha10n1p124t0ld3tb1f\"},{\"name\":\"TRANSPARENCY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the degree of transparency for the plot.\",\"help\":\"TRANSPARENCY=*value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p165beuigjohtnn1tb3zi07el186y\"},{\"name\":\"URL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies an HTML page to be displayed when parts of the plot are selected.\",\"help\":\"URL=*character-variable*\",\"type\":\"value\",\"arguments\":[{\"name\":\"character-variable\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a variable that contains a valid HTML page reference (HREF) for each plot element that is to have an active link.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1kbi4uhax9tzon1rukcqelmr68rp\"}],\"supportSiteTargetFragment\":\"n0jx60ib3ia9lgn0zqatbajgfsz4p\"}],\"supportSiteTargetFile\":\"n178lodaebw82pn1x4n85qge0jx5.htm\"},{\"name\":\"VBARPARM\",\"description\":\"Creates a vertical bar chart based on a pre-summarized response value for each unique value of the category variable. You can also assign variables to the upper and lower limits.\",\"help\":\"VBARPARM CATEGORY=*category-variable* RESPONSE=*numeric-variable*&lt;/*options*&gt;;\",\"arguments\":[{\"name\":\"CATEGORY=\",\"description\":\"specifies the variable that categorizes the data.\",\"help\":\"CATEGORY=*category-variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p01e3kl6ko58pen17upl6okauxuf\"},{\"name\":\"RESPONSE=\",\"description\":\"specifies a numeric response variable.\",\"help\":\"RESPONSE=*numeric-variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0wjyzwttl2c8gn1793o4f4tapqn\"},{\"name\":\"ATTRID=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the value of the ID variable in a discrete attribute map data set.\",\"help\":\"ATTRID=*character-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1uxs2avsp1mrtn19pateg7icm4dz1\"},{\"name\":\"BARWIDTH=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the width of the bars as a ratio of the maximum possible width.\",\"help\":\"BARWIDTH=*numeric-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1u132lgz8pbm2n1ossxbc8us28ke\"},{\"name\":\"BASELINE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the response axis intercept for the baseline.\",\"help\":\"BASELINE=*numeric-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n134zendtywk4yn1h0io35sqg2l4e\"},{\"name\":\"BASELINEATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the appearance of the baseline.\",\"help\":\"BASELINEATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"n1ej682yz3aynon17p7w2ff0pqcef\"},{\"name\":\"CLUSTERWIDTH=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the cluster width as a ratio of the maximum width.\",\"help\":\"CLUSTERWIDTH=*numeric-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0sjdo1rt3ej2tn1heujlgu0h4pme\"},{\"name\":\"COLORMODEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a color ramp that is to be used to determine response colors.\",\"help\":\"COLORMODEL=*style-element* | (*color-list*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the name of a style element.\",\"help\":\"*style-element* \",\"type\":\"value\",\"supportSiteTargetFragment\":\"n18psxv7sqmtj2n1v6wlf47btlsjo\"},{\"name\":\"(color-list)\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a space-separated list of colors to use in the color ramp.\",\"type\":\"color\",\"supportSiteTargetFragment\":\"p0wnu5ewzeub7kn12i56v2nlcug8o\"}],\"supportSiteTargetFragment\":\"n0z1120sgbulvyn1q3n66xdpygjjo\"},{\"name\":\"COLORRESPONSE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the numeric column that is used to map colors to a continuous color ramp.\",\"help\":\"COLORRESPONSE=*numeric-column* \",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0zb6oty4r633rn1ab2g6k8k1bt5m\"},{\"name\":\"DATALABEL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"displays a label for each data point.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0myfjf9kaqis3n1nr1ifpy1tpj2c\"},{\"name\":\"DATALABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"displays a label for each data point.\",\"help\":\"DATALABEL=*variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0myfjf9kaqis3n1nr1ifpy1tpj2c\"},{\"name\":\"DATALABELATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the appearance of the labels in the plot when you use the DATALABEL= option.\",\"help\":\"DATALABELATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p0e0ya27a7hlj5n164pkuwzf2j5uq\"},{\"name\":\"DATALABELFITPOLICY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a policy for avoiding collisions among the bar labels, when displayed.\",\"help\":\"DATALABELFITPOLICY=*policy-value*\",\"type\":\"value\",\"arguments\":[{\"name\":\"NONE\",\"followsDelimiter\":\"/\",\"description\":\"does not rotate the bar labels.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0jdifr4yhqe9fn180vthyoqd34pa\"},{\"name\":\"ROTATE\",\"followsDelimiter\":\"/\",\"description\":\"rotates the text 90 degrees, but only if collisions occur.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0quexaa47dhsjn1n1s2ime1mjkda\"},{\"name\":\"SPLIT\",\"followsDelimiter\":\"/\",\"description\":\"splits the labels at the character or characters specified in the SPLITCHAR= option.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0b611su1piwpzn1torw2owlg83la\"},{\"name\":\"SPLITALWAYS\",\"followsDelimiter\":\"/\",\"description\":\"always splits the values at the character or characters specified in the SPLITCHAR= option.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1jn8si21n50eqn0zy3r2mmowv22a\"}],\"supportSiteTargetFragment\":\"n190mr7art9ka5n1y1dhvosk6xoba\"},{\"name\":\"DATASKIN=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a special effect to be used on the plot.\",\"help\":\"DATASKIN=NONE | CRISP | GLOSS | MATTE | PRESSED | SHEEN\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NONE\",\"type\":\"standalone\"},{\"name\":\"CRISP\",\"type\":\"standalone\"},{\"name\":\"GLOSS\",\"type\":\"standalone\"},{\"name\":\"MATTE\",\"type\":\"standalone\"},{\"name\":\"PRESSED\",\"type\":\"standalone\"},{\"name\":\"SHEEN\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"n1wqoylzvajtm1n1rpjpq7jwq9eis\"},{\"name\":\"DISCRETEOFFSET=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies an amount to offset all bars from the category midpoints.\",\"help\":\"DISCRETEOFFSET=*numeric-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0ju1btweronhan1scwmte9valuae\"},{\"name\":\"DISPLAYBASELINE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies whether the baseline is displayed.\",\"help\":\"DISPLAYBASELINE=AUTO | ON | OFF\",\"type\":\"choice\",\"arguments\":[{\"name\":\"AUTO\",\"followsDelimiter\":\"/\",\"description\":\"displays the baseline if the baseline intercept is within the response-axis range, excluding the minimum and maximum axis values.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p09vvws7ebi8kxn19db65gsk5n44f\"},{\"name\":\"ON\",\"followsDelimiter\":\"/\",\"description\":\"always displays the baseline.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0a3ajoca9hgurn19b68pgsgb226f\"},{\"name\":\"OFF\",\"followsDelimiter\":\"/\",\"description\":\"hides the baseline.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0jzhok5gxdylen17jwnxqnlylbjf\"}],\"supportSiteTargetFragment\":\"n0hd2s4tisgi5zn12s6pyf7fbydsf\"},{\"name\":\"FILL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies whether the bars are filled.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0x5byydd00vvin1aglhtnk2vqyf\"},{\"name\":\"NOFILL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies whether the bars are filled.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0x5byydd00vvin1aglhtnk2vqyf\"},{\"name\":\"FILLATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the fill color and transparency.\",\"help\":\"FILLATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p0hsyjx1at62w1n1akl6mco17le9m\"},{\"name\":\"FILLENDCOLOR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a fill color that is applied to the chart at the baseline.\",\"help\":\"FILLENDCOLOR=*color*\",\"type\":\"color\",\"supportSiteTargetFragment\":\"p0945lghg74za0n1m05np6qog858f\"},{\"name\":\"FILLPATTERN\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"enables the display of line fill patterns for the plot.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1rfcg52cmb01gn1ho28yt0z04p6m\"},{\"name\":\"FILLPATTERNATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the line-fill color and pattern.\",\"help\":\"FILLPATTERNATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the name of a style element.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n16slmtjq8rjq2n1p1rnk8l5iiq0m\"},{\"name\":\"COLOR=\",\"followsDelimiter\":\"/\",\"description\":\"specifies a color to use for the fill lines.\",\"help\":\"COLOR=*color*\",\"type\":\"color\",\"supportSiteTargetFragment\":\"p0ydkeub4j3ntln1gf1e1tvev3cxm\"},{\"name\":\"PATTERN=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the type of line pattern to use for the fill.\",\"help\":\"PATTERN=*line-pattern*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p076ecgpkp0a8rn19liu4ivc8tpam\"}],\"supportSiteTargetFragment\":\"n1h0vxz6qoyx8qn10w4qlqtmdcxum\"},{\"name\":\"FILLTYPE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the fill type that is applied to the chart.\",\"help\":\"FILLTYPE=SOLID | GRADIENT | ALPHAGRADIENT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"SOLID\",\"followsDelimiter\":\"/\",\"description\":\"each bar is filled with the color that is assigned to the bar fill area.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1l126loza6s7on114d39euhqg8rf\"},{\"name\":\"GRADIENT\",\"followsDelimiter\":\"/\",\"description\":\"displays the color from the applied style at the end of the bar gradually changing to the color of the wall at the baseline of the bar.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0rgwbgbg44mj6n18cboouc4104df\"},{\"name\":\"ALPHAGRADIENT\",\"followsDelimiter\":\"/\",\"description\":\"a gradient is used to determine the fill color.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1iqgu8wgsu4jdn1qxs6rqk07gy8f\"}],\"supportSiteTargetFragment\":\"n16x0nt44togm1n1f8m7cajbas6cf\"},{\"name\":\"GROUP=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a variable that is used to group the data.\",\"help\":\"GROUP=*variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0pcknqci1w3w5n0z6ioxluu4daak\"},{\"name\":\"GROUPDISPLAY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies how to display grouped bars.\",\"help\":\"GROUPDISPLAY=STACK | CLUSTER\",\"type\":\"choice\",\"arguments\":[{\"name\":\"STACK\",\"followsDelimiter\":\"/\",\"description\":\"groups are overlaid without any clustering.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p16qnouk4o42pun1q7p8m2ziug3pe\"},{\"name\":\"CLUSTER\",\"followsDelimiter\":\"/\",\"description\":\"displays group values as separate adjacent bars that replace the single category bar.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0gyggwvahv84an162b7hoj6zwixe\"}],\"supportSiteTargetFragment\":\"p0jtk9mxiq40dpn12h5qaxygaxt3e\"},{\"name\":\"GROUPORDER=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the ordering of the groups within a category.\",\"help\":\"GROUPORDER=DATA | REVERSEDATA | ASCENDING | DESCENDING\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DATA\",\"followsDelimiter\":\"/\",\"description\":\"orders the groups within a category in data order of the group variable.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1olglc4d6w5xtn1975koececghgn\"},{\"name\":\"REVERSEDATA\",\"followsDelimiter\":\"/\",\"description\":\"orders the groups within a category in the reverse data order of the group variable.\",\"help\":\"REVERSEDATA \",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n19zwzvwl75rxun1kbxu50jrgzjjn\"},{\"name\":\"ASCENDING\",\"followsDelimiter\":\"/\",\"description\":\"orders the groups within a category in ascending order of the group variable.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0dd45nyc2fae3n1ne4koepnc2w8n\"},{\"name\":\"DESCENDING\",\"followsDelimiter\":\"/\",\"description\":\"orders the groups within a category in descending order of the group variable.\",\"help\":\"DESCENDING \",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0tsocv1fpdf1un1mcfikx2mnrqln\"}],\"supportSiteTargetFragment\":\"p0sm1j07xn1rg2n16hsii0x2d6fdn\"},{\"name\":\"INTERVALBARWIDTH=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the thickness of the bars when the category data is numeric.\",\"help\":\"INTERVALBARWIDTH=*numeric-value*&lt;*units*&gt;\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1eo2b1xcevkuyn1tyvnts3wmxwyf\"},{\"name\":\"LEGENDLABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the label that identifies the bar chart in the legend.\",\"help\":\"LEGENDLABEL=\\\"*text-string*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0ox3mwedt36gdn1sxgs0thb4x2m\"},{\"name\":\"LIMITATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the appearance of the limit lines in the plot.\",\"help\":\"LIMITATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"n1xd248qhlw9g9n1jx2p1lmlghes\"},{\"name\":\"LIMITCAPSCALE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a positive number to use as a multiplier for changing the default width of the limit-bar cap (serif).\",\"help\":\"LIMITCAPSCALE=*positive-number*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1dpcq2cxmhivln1ecgm46ylp35se\"},{\"name\":\"LIMITLOWER=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies values for the lower endpoints on the limit lines.\",\"help\":\"LIMITLOWER=*numeric-variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0aegx73ydg0pjn1vpxwast5zqjd\"},{\"name\":\"LIMITUPPER=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies values for the upper endpoints on the limit lines.\",\"help\":\"LIMITUPPER=*numeric-variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1fquei90aznwon1ujwktasg0p8d\"},{\"name\":\"MISSING\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"accepts a missing value as a valid category value.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1lf04aujmaa31n1q11phih290vti\"},{\"name\":\"NAME=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a name for the plot.\",\"help\":\"NAME=\\\"*text-string*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p00f81g82wmzr5n15sik0znnzfy9z6\"},{\"name\":\"NOZEROBARS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses zero-length bars.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p13ya88tdrzb4on1wc4drexx03g3e\"},{\"name\":\"OUTLINE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies whether the bars have outlines.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0qotx2osnr41gn1hkqiywqdjl4r\"},{\"name\":\"NOOUTLINE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies whether the bars have outlines.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0qotx2osnr41gn1hkqiywqdjl4r\"},{\"name\":\"OUTLINEATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the appearance of the bar outlines.\",\"help\":\"OUTLINEATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"n0olnkg30nnymin1clkx2ril0puge\"},{\"name\":\"RATTRID=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the value of the ID variable in a range attribute map data set.\",\"help\":\"RATTRID=*character-value* \",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0fm3fy2vuky40n1x8yt0aim3huro\"},{\"name\":\"SEGLABEL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"displays a label inside each segment of a stacked bar.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p12q6yclplhxhwn1db2k6vc8ywile\"},{\"name\":\"SEGLABELATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the text properties of the bar segment label text.\",\"help\":\"SEGLABELATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p1es6drocx27t2n11j4ooz6omm1je\"},{\"name\":\"SEGLABELFITPOLICY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a policy for fitting the bar segment labels within the bar segments.\",\"help\":\"SEGLABELFITPOLICY=NONE | NOCLIP | THIN\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NONE\",\"followsDelimiter\":\"/\",\"description\":\"no attempt is made to fit each segment label within its bar.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1jhk58jv04l1bn16cwqgaelijuse\"},{\"name\":\"NOCLIP\",\"followsDelimiter\":\"/\",\"description\":\"does not clip bar segment labels that extend beyond the plot area.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1xzc61mbbquxpn1fz13qzub30k7e\"},{\"name\":\"THIN\",\"followsDelimiter\":\"/\",\"description\":\"drops any bar segment label that does not fit within its segment.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0obxpoptjts3nn1375fkmh7yaroe\"}],\"supportSiteTargetFragment\":\"n0ro228l54ynvun1vigorbb5cu3te\"},{\"name\":\"SEGLABELFORMAT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the text format used to display the bar segment labels.\",\"help\":\"SEGLABELFORMAT=*format*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0hrtoidk8rht5n1qke3mg135u82e\"},{\"name\":\"SPLITCHAR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies one or more characters on which the text for data labels is always split.\",\"help\":\"SPLITCHAR=\\\"*character-list*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n18bn0zlnq288pn1f2cp7l2x169pf\"},{\"name\":\"SPLITCHARNODROP\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that the split characters are included in the displayed value.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n16zlyxz8f2e9fn1p1sv3c52m1itr\"},{\"name\":\"TIP=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the data tip information to be displayed when the cursor is positioned over the graphics element.\",\"help\":\"TIP=(*variable-list*) | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"(variable-list)\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"a space-separated list of variables enclosed in parentheses.\",\"help\":\"(*variable-list*) \",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1m6zmye01y4lvn104i7gn57dfpot\"},{\"name\":\"NONE\",\"followsDelimiter\":\"/\",\"description\":\"suppresses the data tips from this plot.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n02szuj3p61ekvn1c2scb9cyaar4t\"}],\"supportSiteTargetFragment\":\"p1vzdm59cf0i9qn1jz5pwqz5hm71t\"},{\"name\":\"TIPFORMAT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"applies formats to the list of data tip variables that you specify in the TIP= option.\",\"help\":\"TIPFORMAT=(*format-list*)\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p17xpdoc2x7peln1gkubt92md28hr\"},{\"name\":\"TIPLABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"applies labels to the list of data tip variables that you specify in the TIP= option.\",\"help\":\"TIPLABEL=(*label-list*)\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n126ol9w7pwp12n1irzzust1e2twq\"},{\"name\":\"TRANSPARENCY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the degree of transparency for the plot.\",\"help\":\"TRANSPARENCY=*value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p165beuigjohtnn1tb3zi07el186z\"},{\"name\":\"URL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies an HTML page to be displayed when parts of the plot are selected.\",\"help\":\"URL=*character-variable*\",\"type\":\"value\",\"arguments\":[{\"name\":\"character-variable\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a variable that contains a valid HTML page reference (HREF) for each plot element that is to have an active link.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1kbi4uhax9tzon1rukcqelmr68rq\"}],\"supportSiteTargetFragment\":\"n0jx60ib3ia9lgn0zqatbajgfsz4q\"}],\"supportSiteTargetFile\":\"n0anr8vhopccdan1pyccervx6aak.htm\"},{\"name\":\"VBOX\",\"description\":\"Creates a vertical box plot that shows the distribution of your data.\",\"help\":\"VBOX *numeric-analysis-variable*&lt;/*options*&gt;;\",\"arguments\":[{\"name\":\"numeric-analysis-variable\",\"placeholder\":true,\"description\":\"specifies the analysis variable for the plot.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0cftadgy3jfg5n1mn3w2vglfifx\"},{\"name\":\"ATTRID=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the value of the ID variable in a discrete attribute map data set.\",\"help\":\"ATTRID=*character-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1uxs2avsp1mrtn19pateg7icm4dz2\"},{\"name\":\"BOXWIDTH=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the width of the box.\",\"help\":\"BOXWIDTH=*numeric-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0xkconll6agr8n1lgkcwjzlfxt3\"},{\"name\":\"CAPSCALE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a positive number to use as a multiplier for changing the default width of the whisker caps.\",\"help\":\"CAPSCALE=*numeric-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1vc76tgrewsrxn1eoipdcue0khi\"},{\"name\":\"CAPSHAPE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the shape of the whisker cap lines.\",\"help\":\"CAPSHAPE=BRACKET | LINE | SERIF | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"BRACKET\",\"followsDelimiter\":\"/\",\"description\":\"displays a straight line with brackets.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0vygt5mk3i830n1sh5ljcm4suqm\"},{\"name\":\"LINE\",\"followsDelimiter\":\"/\",\"description\":\"displays a straight line.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1g3znltdq3jc7n1azr86oqohtzm\"},{\"name\":\"SERIF\",\"followsDelimiter\":\"/\",\"description\":\"displays a short straight line.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0nolxnut3ihpcn1daimem6b9xqm\"},{\"name\":\"NONE\",\"followsDelimiter\":\"/\",\"description\":\"does not display a cap.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p19arztl1yvvgxn19b55tqvhl361\"}],\"supportSiteTargetFragment\":\"p1hvrfvzur31dbn1b9kbew1mjiuv\"},{\"name\":\"CATEGORY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the category variable for the plot.\",\"help\":\"CATEGORY=*category-variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p10f9qw3blazd6n14c7omwm15ej2\"},{\"name\":\"CLUSTERWIDTH=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the cluster width as a ratio of the midpoint spacing.\",\"help\":\"CLUSTERWIDTH=*numeric-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1eo8w45gmp3fgn1te1zypq7afzy\"},{\"name\":\"CONNECT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that a connect line joins a statistic from box to box.\",\"help\":\"CONNECT=MEAN | MEDIAN | Q1 | Q3 | MIN | MAX\",\"type\":\"choice\",\"arguments\":[{\"name\":\"MEAN\",\"type\":\"standalone\"},{\"name\":\"MEDIAN\",\"type\":\"standalone\"},{\"name\":\"Q1\",\"type\":\"standalone\"},{\"name\":\"Q3\",\"type\":\"standalone\"},{\"name\":\"MIN\",\"type\":\"standalone\"},{\"name\":\"MAX\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"n0bjbyqrnv4m8ln1n5ry5qmnv6ft\"},{\"name\":\"CONNECTATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the appearance of the lines that connect multiple boxes.\",\"help\":\"CONNECTATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"n0xopu61453gqpn1dei9k8urho3v\"},{\"name\":\"DATALABEL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"adds data labels for the outlier markers.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1jjr8ydniznhjn1hcdwlveeuyzna\"},{\"name\":\"DATALABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"adds data labels for the outlier markers.\",\"help\":\"DATALABEL=*variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1jjr8ydniznhjn1hcdwlveeuyzna\"},{\"name\":\"DATALABELATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the appearance of the labels in the plot when you use the DATALABEL= option.\",\"help\":\"DATALABELATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p0e0ya27a7hlj5n164pkuwzf2j5ur\"},{\"name\":\"DATASKIN=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a special effect to be used on the plot.\",\"help\":\"DATASKIN=NONE | CRISP | GLOSS | MATTE | PRESSED | SHEEN\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NONE\",\"type\":\"standalone\"},{\"name\":\"CRISP\",\"type\":\"standalone\"},{\"name\":\"GLOSS\",\"type\":\"standalone\"},{\"name\":\"MATTE\",\"type\":\"standalone\"},{\"name\":\"PRESSED\",\"type\":\"standalone\"},{\"name\":\"SHEEN\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"n1wqoylzvajtm1n1rpjpq7jwq9eit\"},{\"name\":\"DISCRETEOFFSET=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies an amount to offset all boxes from the discrete tick marks.\",\"help\":\"DISCRETEOFFSET=*numeric-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0j5eu6r6a2qfhn11cggr6u56v91\"},{\"name\":\"DISPLAYSTATS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies statistics to be displayed for each box.\",\"help\":\"DISPLAYSTATS=ALL | (*statistics-list*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ALL\",\"followsDelimiter\":\"/\",\"description\":\"displays all available statistics.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0ehmvva3aflsbn12l5ygv3d9jlua\"},{\"name\":\"statistics-list\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a space-separated list of one or more of the following statistics, enclosed in parentheses:\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1a0kwmnw6su7fn1ltw8irqnbbsva\"}],\"supportSiteTargetFragment\":\"p0plf45i8dsxnwn1bvyh5b91azc4a\"},{\"name\":\"EXTREME\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that the whiskers can extend to the maximum and minimum values for the analysis variable, and that outliers are not identified.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n01nmisej48ohvn1nx5l46ab8bt4\"},{\"name\":\"FILL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies whether the boxes are filled with color.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1st7buc6uwrcmn1ijjov6n494a6\"},{\"name\":\"NOFILL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies whether the boxes are filled with color.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1st7buc6uwrcmn1ijjov6n494a6\"},{\"name\":\"FILLATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the fill color and transparency.\",\"help\":\"FILLATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p0hsyjx1at62w1n1akl6mco17le9n\"},{\"name\":\"FILLPATTERN\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"enables the display of line fill patterns for the plot.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1rfcg52cmb01gn1ho28yt0z04p6n\"},{\"name\":\"FILLPATTERNATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the line-fill color and pattern.\",\"help\":\"FILLPATTERNATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the name of a style element.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n16slmtjq8rjq2n1p1rnk8l5iiq0n\"},{\"name\":\"COLOR=\",\"followsDelimiter\":\"/\",\"description\":\"specifies a color to use for the fill lines.\",\"help\":\"COLOR=*color*\",\"type\":\"color\",\"supportSiteTargetFragment\":\"p0ydkeub4j3ntln1gf1e1tvev3cxn\"},{\"name\":\"PATTERN=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the type of line pattern to use for the fill.\",\"help\":\"PATTERN=*line-pattern*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p076ecgpkp0a8rn19liu4ivc8tpan\"}],\"supportSiteTargetFragment\":\"n1h0vxz6qoyx8qn10w4qlqtmdcxun\"},{\"name\":\"FREQ=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a variable for the frequency count for each observation in the input data.\",\"help\":\"FREQ=*numeric-variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0imur3526o3kkn1pyptwbea09xie\"},{\"name\":\"GROUP=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a variable that is used to group the data.\",\"help\":\"GROUP=*variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0pcknqci1w3w5n0z6ioxluu4daal\"},{\"name\":\"GROUPDISPLAY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies how to display grouped boxes.\",\"help\":\"GROUPDISPLAY=CLUSTER | OVERLAY\",\"type\":\"choice\",\"arguments\":[{\"name\":\"CLUSTER\",\"followsDelimiter\":\"/\",\"description\":\"the boxes are drawn adjacent to each other.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0kp4cxcag5zkpn1osmos7il0czea\"},{\"name\":\"OVERLAY\",\"followsDelimiter\":\"/\",\"description\":\"all the boxes for a given group value are drawn at the exact coordinate and might overlap.\",\"help\":\"OVERLAY \",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1sdf1g6tinwx1n14i6c761d9f3ta\"}],\"supportSiteTargetFragment\":\"n16ps1elsadk8an1wgdaazyhllffa\"},{\"name\":\"GROUPORDER=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the ordering of the groups within a category.\",\"help\":\"GROUPORDER=DATA | REVERSEDATA | ASCENDING | DESCENDING\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DATA\",\"followsDelimiter\":\"/\",\"description\":\"orders the groups within a category in data order of the group variable.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1olglc4d6w5xtn1975koececghgo\"},{\"name\":\"REVERSEDATA\",\"followsDelimiter\":\"/\",\"description\":\"orders the groups within a category in the reverse data order of the group variable.\",\"help\":\"REVERSEDATA \",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n19zwzvwl75rxun1kbxu50jrgzjjo\"},{\"name\":\"ASCENDING\",\"followsDelimiter\":\"/\",\"description\":\"orders the groups within a category in ascending order of the group variable.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0dd45nyc2fae3n1ne4koepnc2w8o\"},{\"name\":\"DESCENDING\",\"followsDelimiter\":\"/\",\"description\":\"orders the groups within a category in descending order of the group variable.\",\"help\":\"DESCENDING \",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0tsocv1fpdf1un1mcfikx2mnrqlo\"}],\"supportSiteTargetFragment\":\"p0sm1j07xn1rg2n16hsii0x2d6fdo\"},{\"name\":\"INTERVALBOXWIDTH=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"INTBOXWIDTH=\"],\"description\":\"specifies the box width when an interval category (X) variable is specified.\",\"help\":\"INTERVALBOXWIDTH=*numeric-value*&lt;*units*&gt;\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n15mwuh616x7y0n1u9dx35hbq9qf\"},{\"name\":\"LABELFAR\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that only the far outliers have data labels.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p05kwo6709dkain1m6mnw3qz74hj\"},{\"name\":\"LEGENDLABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a label that identifies the box plot in the legend.\",\"help\":\"LEGENDLABEL=\\\"*text-string*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p16bueagcujy12n18s4suij9yoh8\"},{\"name\":\"LINEATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the appearance of the box outlines.\",\"help\":\"LINEATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"n19qzi5t3jt76in1o4vmnzr65cle\"},{\"name\":\"MEANATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the appearance of the marker that represents the mean in the box.\",\"help\":\"MEANATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p0oomcvwr6sqkkn1k7xzelfkr1q8\"},{\"name\":\"MEDIANATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the appearance of the line that represents the median.\",\"help\":\"MEDIANATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"n1d3up10wr6ztnn1liqsdlh0tcwp\"},{\"name\":\"MISSING\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"accepts a missing value as a valid category value.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1lf04aujmaa31n1q11phih290vtj\"},{\"name\":\"NAME=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a name for the plot.\",\"help\":\"NAME=\\\"*text-string*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p00f81g82wmzr5n15sik0znnzfy9z7\"},{\"name\":\"NOCAPS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"hides the cap lines for the whiskers.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0yr0x8fx32gj6n15hd9kefxzlqd\"},{\"name\":\"NOMEAN\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"hides the mean marker.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0u8ebv5h6vnpvn1az6ngwns3tlv\"},{\"name\":\"NOMEDIAN\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"hides the median line.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1u0ek93ccuxtbn1etm3xf6ljoiy\"},{\"name\":\"NOOUTLIERS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"hides the outliers from the plot.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0cc8tbk4yaxi7n13nmf4lmhc0v7\"},{\"name\":\"NOTCHES\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that the boxes be notched.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0bekrza31qctin12db44swhp8y7\"},{\"name\":\"OUTLIERATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the appearance of the marker that represents the outliers.\",\"help\":\"OUTLIERATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"n03y7zzruob6aan1nldeqgnxx944\"},{\"name\":\"PERCENTILE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a method for computing the percentiles for the plot.\",\"help\":\"PERCENTILE=1 | 2 | 3 | 4 | 5\",\"type\":\"choice\",\"arguments\":[{\"name\":\"1\",\"type\":\"standalone\"},{\"name\":\"2\",\"type\":\"standalone\"},{\"name\":\"3\",\"type\":\"standalone\"},{\"name\":\"4\",\"type\":\"standalone\"},{\"name\":\"5\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"p1pehov8dfh8ann1i2k4fh4hv1ck\"},{\"name\":\"SPLITCHAR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies one or more characters on which the text for data labels is always split.\",\"help\":\"SPLITCHAR=\\\"*character-list*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n18bn0zlnq288pn1f2cp7l2x169pg\"},{\"name\":\"SPLITCHARNODROP\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that the split characters are included in the displayed value.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n16zlyxz8f2e9fn1p1sv3c52m1its\"},{\"name\":\"SPLITJUSTIFY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the horizontal alignment of the value text that is being split.\",\"help\":\"SPLITJUSTIFY=LEFT | CENTER | RIGHT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"LEFT\",\"type\":\"standalone\"},{\"name\":\"CENTER\",\"type\":\"standalone\"},{\"name\":\"RIGHT\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"n17xhll23zit14n1kzud4wxurf59q\"},{\"name\":\"SPREAD\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"relocates outlier points that have identical values to prevent overlapping.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1shhci19mvndhn0zmyg7aknrwge\"},{\"name\":\"TIP=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the information to display when the cursor is positioned over a box or whisker in the box plot.\",\"help\":\"TIP=(*role-list*) | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"(role-list)\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"a space-separated list of unique box plot roles enclosed in parentheses.\",\"help\":\"(*role-list*) \",\"type\":\"value\",\"supportSiteTargetFragment\":\"p118oocmzu3pj2n1bkf4lh8w0ldwa\"},{\"name\":\"NONE\",\"followsDelimiter\":\"/\",\"description\":\"suppresses the data tips from this plot.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1p10flrdrokoln1cwooup8fcwnfa\"}],\"supportSiteTargetFragment\":\"p0fbhagl4ozl19n1aifmgeaexojpa\"},{\"name\":\"TIPFORMAT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"applies formats to the list of data tip roles that you specify in the TIP= option.\",\"help\":\"TIPFORMAT=(*format-list*)\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p07722za4oim3pn1ffimepkm20f5f\"},{\"name\":\"TIPLABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"applies labels to the list of data tip roles that you specify in the TIP= option.\",\"help\":\"TIPLABEL=(*label-list*)\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0t85qctfcha10n1p124t0ld3tb1g\"},{\"name\":\"TRANSPARENCY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the degree of transparency for the plot.\",\"help\":\"TRANSPARENCY=*value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p165beuigjohtnn1tb3zi07el186z1\"},{\"name\":\"WEIGHT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies how observations are weighted.\",\"help\":\"WEIGHT=*numeric-variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0bjkzpnw874n9n1u7bjxlfvpz30f\"},{\"name\":\"WHISKERATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the appearance of the whisker and cap lines.\",\"help\":\"WHISKERATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p1k9eshosjudtxn1rhuh8c6mzsdm\"},{\"name\":\"WHISKERPCT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the whisker length, in percentile units.\",\"help\":\"WHISKERPCT=*number*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1gkmpfty8p6vjn14kwpq2v0pz2za\"}],\"supportSiteTargetFile\":\"p0shhk3ao0n96xn17equxymtzfjd.htm\"},{\"name\":\"VECTOR\",\"description\":\"Creates a vector plot that draws arrows from a point of origin to each data point.\",\"help\":\"VECTOR X=*numeric-variable* Y=*numeric-variable*&lt;/*options*&gt;;\",\"arguments\":[{\"name\":\"X=\",\"description\":\"specifies a numeric variable for the X axis.\",\"help\":\"X=*numeric-variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n146lahf6zarm8n1idcrleauenfe\"},{\"name\":\"Y=\",\"description\":\"specifies numeric variable for the Y axis.\",\"help\":\"Y=*numeric-variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1k8aptqpclhp3n1wn1iic0kqttz\"},{\"name\":\"ARROWDIRECTION=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the location of the arrowheads for the vectors.\",\"help\":\"ARROWDIRECTION=IN | OUT | BOTH\",\"type\":\"choice\",\"arguments\":[{\"name\":\"IN\",\"followsDelimiter\":\"/\",\"description\":\"places the arrowheads at the origin of the vector.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0vhk9d695ggern164q855q39t1c\"},{\"name\":\"OUT\",\"followsDelimiter\":\"/\",\"description\":\"places the arrowheads at the ending point of the vector.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p07xdj0lsd6ufwn1bz68pb6ribwc\"},{\"name\":\"BOTH\",\"followsDelimiter\":\"/\",\"description\":\"places arrowheads at both the origin and ending point of the vector.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1w79ll80dw1rcn1mvkwl9kuhssk\"}],\"supportSiteTargetFragment\":\"p1iud1ymqiybh2n1duryhok7c6o8\"},{\"name\":\"ARROWHEADSHAPE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the shape of the arrowheads for the vectors.\",\"help\":\"ARROWHEADSHAPE=*shape*\",\"type\":\"value\",\"arguments\":[{\"name\":\"OPEN\",\"followsDelimiter\":\"/\",\"description\":\"resembles the letter \\\"V\\\".\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1onxmfmnbcl0xn1btqv8ej1mili\"},{\"name\":\"CLOSED\",\"followsDelimiter\":\"/\",\"description\":\"an outline of a triangle.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0giy9vdqyug1yn119xeh8brbiw5\"},{\"name\":\"FILLED\",\"followsDelimiter\":\"/\",\"description\":\"a solid triangle.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1rkkh3dh6ixpsn1wgojrfogqou0\"},{\"name\":\"BARBED\",\"followsDelimiter\":\"/\",\"description\":\"a solid triangle with an indent at the base.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0mh8ia659z1tcn1sdor66b35t80\"}],\"supportSiteTargetFragment\":\"n1oasn71rd3fmcn16iru4wircsf9\"},{\"name\":\"ATTRID=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the value of the ID variable in a discrete attribute map data set.\",\"help\":\"ATTRID=*character-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1uxs2avsp1mrtn19pateg7icm4dz3\"},{\"name\":\"COLORMODEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a color ramp that is to be used to determine response colors.\",\"help\":\"COLORMODEL=*style-element* | (*color-list*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the name of a style element.\",\"help\":\"*style-element* \",\"type\":\"value\",\"supportSiteTargetFragment\":\"n18psxv7sqmtj2n1v6wlf47btlsjp\"},{\"name\":\"(color-list)\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a space-separated list of colors to use in the color ramp.\",\"type\":\"color\",\"supportSiteTargetFragment\":\"p0wnu5ewzeub7kn12i56v2nlcug8p\"}],\"supportSiteTargetFragment\":\"n0z1120sgbulvyn1q3n66xdpygjjp\"},{\"name\":\"COLORRESPONSE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the numeric column that is used to map colors to a continuous color ramp.\",\"help\":\"COLORRESPONSE=*numeric-column* \",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0zb6oty4r633rn1ab2g6k8k1bt5n\"},{\"name\":\"DATALABEL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"displays a label for each data point.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0vc78nhlnzxh7n1v9wkvah2h9tee\"},{\"name\":\"DATALABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"displays a label for each data point.\",\"help\":\"DATALABEL=*variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0vc78nhlnzxh7n1v9wkvah2h9tee\"},{\"name\":\"DATALABELATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the appearance of the labels in the plot when you use the DATALABEL= option.\",\"help\":\"DATALABELATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p0e0ya27a7hlj5n164pkuwzf2j5us\"},{\"name\":\"DATALABELPOS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the location of the data label with respect to the plot.\",\"help\":\"DATALABELPOS=*position*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1298lqwj801t1n1r350oa1zbsqyj\"},{\"name\":\"DATASKIN=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a special effect to be used on the plot.\",\"help\":\"DATASKIN=NONE | CRISP | GLOSS | MATTE | PRESSED | SHEEN\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NONE\",\"type\":\"standalone\"},{\"name\":\"CRISP\",\"type\":\"standalone\"},{\"name\":\"GLOSS\",\"type\":\"standalone\"},{\"name\":\"MATTE\",\"type\":\"standalone\"},{\"name\":\"PRESSED\",\"type\":\"standalone\"},{\"name\":\"SHEEN\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"n1wqoylzvajtm1n1rpjpq7jwq9eiu\"},{\"name\":\"GROUP=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a variable that is used to group the data.\",\"help\":\"GROUP=*variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1bm08pc7lwb0on1a3eyxp9bu87f\"},{\"name\":\"LEGENDLABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a label that identifies the vector plot in the legend.\",\"help\":\"LEGENDLABEL=\\\"*text-string*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0rex63ex0z1hgn1aovlz4y9xdv4\"},{\"name\":\"LINEATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the appearance of the vector line.\",\"help\":\"LINEATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"n16z6oe3ohgtprn15c9d020zdzna\"},{\"name\":\"NAME=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a name for the plot.\",\"help\":\"NAME=\\\"*text-string*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p00f81g82wmzr5n15sik0znnzfy9z8\"},{\"name\":\"NOARROWHEADS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"removes the arrowheads from the vectors.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1lipxf0qtncy4n1wee8go9io2x2\"},{\"name\":\"NOMISSINGGROUP\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that missing values of the group variable are not included in the plot.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0v4r9w04xs1x8n15g6x2auis0gd\"},{\"name\":\"RATTRID=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the value of the ID variable in a range attribute map data set.\",\"help\":\"RATTRID=*character-value* \",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0fm3fy2vuky40n1x8yt0aim3hurp\"},{\"name\":\"SPLITCHAR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies one or more characters on which the text for data labels is always split.\",\"help\":\"SPLITCHAR=\\\"*character-list*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n18bn0zlnq288pn1f2cp7l2x169ph\"},{\"name\":\"SPLITCHARNODROP\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that the split characters are included in the displayed value.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n16zlyxz8f2e9fn1p1sv3c52m1itt\"},{\"name\":\"SPLITJUSTIFY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the horizontal alignment of the value text that is being split.\",\"help\":\"SPLITJUSTIFY=LEFT | CENTER | RIGHT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"LEFT\",\"type\":\"standalone\"},{\"name\":\"CENTER\",\"type\":\"standalone\"},{\"name\":\"RIGHT\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"n17xhll23zit14n1kzud4wxurf59r\"},{\"name\":\"THICKMAX=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the maximum line thickness when a response variable is used to determine the line thickness.\",\"help\":\"THICKMAX=*numeric-value*&lt;*units*&gt;\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0kp45hcbtpxp8n10otfgp9lvfvqc\"},{\"name\":\"THICKMAXRESP=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the response value that corresponds to the maximum line thickness.\",\"help\":\"THICKMAXRESP=*numeric-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1p49rtnb0e296n1bvjc907b5hsxc\"},{\"name\":\"THICKRESP=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a response variable that is used to map a line thickness to each group value.\",\"help\":\"THICKRESP=*numeric-variable*  \",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0ziqbpvfj2r0zn1676ohmgnd4dkc\"},{\"name\":\"TIP=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the data tip information to be displayed when the cursor is positioned over the graphics element.\",\"help\":\"TIP=(*variable-list*) | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"(variable-list)\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"a space-separated list of variables enclosed in parentheses.\",\"help\":\"(*variable-list*) \",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1m6zmye01y4lvn104i7gn57dfpou\"},{\"name\":\"NONE\",\"followsDelimiter\":\"/\",\"description\":\"suppresses the data tips from this plot.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n02szuj3p61ekvn1c2scb9cyaar4u\"}],\"supportSiteTargetFragment\":\"p1vzdm59cf0i9qn1jz5pwqz5hm71u\"},{\"name\":\"TIPFORMAT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"applies formats to the list of data tip variables that you specify in the TIP= option.\",\"help\":\"TIPFORMAT=(*format-list*)\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p17xpdoc2x7peln1gkubt92md28hs\"},{\"name\":\"TIPLABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"applies labels to the list of data tip variables that you specify in the TIP= option.\",\"help\":\"TIPLABEL=(*label-list*)\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n126ol9w7pwp12n1irzzust1e2twr\"},{\"name\":\"TRANSPARENCY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the degree of transparency for the plot.\",\"help\":\"TRANSPARENCY=*value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p165beuigjohtnn1tb3zi07el186z2\"},{\"name\":\"XORIGIN=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the X coordinate of the origin for the vectors.\",\"help\":\"XORIGIN=*numeric-value* | *numeric-variable*\",\"type\":\"choice\",\"arguments\":[{\"name\":\"numeric-value\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"numeric-variable\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"n0uuzbd14y7np1n173o5sxepfphx\"},{\"name\":\"YORIGIN=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the Y coordinate of the origin for the vectors.\",\"help\":\"YORIGIN=*numeric-value* | *numeric-variable*\",\"type\":\"choice\",\"arguments\":[{\"name\":\"numeric-value\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"numeric-variable\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"n0bn0kbfr552tvn1ksi7h2gil3b6\"}],\"supportSiteTargetFile\":\"n1jyqdr5b9fc4zn157copboyrq5p.htm\"},{\"name\":\"VLINE\",\"description\":\"Creates a vertical line chart (the line is horizontal). You can use the VLINE statement with the VBAR statement to create a bar-line chart.\",\"help\":\"VLINE *category-variable*&lt;/*options*&gt;;\",\"arguments\":[{\"name\":\"category-variable\",\"placeholder\":true,\"description\":\"specifies the variable whose values determine the categories of data represented by the lines.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0bn9b3u3ouzgmn1ejeujccjrtot\"},{\"name\":\"ALPHA=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the confidence level for the confidence limits.\",\"help\":\"ALPHA=*numeric-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1lgv1f16331ken1ilal7bp3ajgcd\"},{\"name\":\"ATTRID=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the value of the ID variable in a discrete attribute map data set.\",\"help\":\"ATTRID=*character-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1uxs2avsp1mrtn19pateg7icm4dz4\"},{\"name\":\"BREAK\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"breaks the line whenever the computed statistic for a category value is missing.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0dwp39lhsttf2n1npeqm5yv3jzka\"},{\"name\":\"CATEGORYORDER=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the order in which the categories are arranged.\",\"help\":\"CATEGORYORDER=RESPASC | RESPDESC\",\"type\":\"choice\",\"arguments\":[{\"name\":\"RESPASC\",\"followsDelimiter\":\"/\",\"description\":\"sorts by the response values in ascending order.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1al4jo1hdrigyn1ni32cpoafl7id\"},{\"name\":\"RESPDESC\",\"followsDelimiter\":\"/\",\"description\":\"sorts by the response values in descending order.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p179c2pjor4w07n1s9oaweg28uzbd\"}],\"supportSiteTargetFragment\":\"p1q2dvkcp86a8mn1llp2cpkkws8gd\"},{\"name\":\"CLUSTERWIDTH=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the width of the group clusters as a fraction of the midpoint spacing.\",\"help\":\"CLUSTERWIDTH=*numeric-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0ajeu9czbr9dvn11rh269ho494hh\"},{\"name\":\"CURVELABEL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"adds a label to the curve or curves.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1qchccoy7g979n1ixyd0lx42nau\"},{\"name\":\"CURVELABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a label for the curve when only one curve is drawn.\",\"help\":\"CURVELABEL=\\\"*text-string*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1mx52t763t9ugn1mxzl05nujzum\"},{\"name\":\"CURVELABELATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the appearance of the labels in the plot when you use the CURVELABEL= option.\",\"help\":\"CURVELABELATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"n0tdtttethzl0cn1bwc9mjicbbl7i\"},{\"name\":\"CURVELABELPOS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the location of the curve label.\",\"help\":\"CURVELABELPOS=MIN | MAX | START | END\",\"type\":\"choice\",\"arguments\":[{\"name\":\"MIN\",\"followsDelimiter\":\"/\",\"description\":\"places the label at the part of the curve closest to the minimum X-axis value.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p114ql7g85tuyin1v1sw65ycpfxbg\"},{\"name\":\"MAX\",\"followsDelimiter\":\"/\",\"description\":\"places the label at the part of the curve closest to the maximum X-axis value.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1eb3gyvkbv2h9n1eq26brjuxunbg\"},{\"name\":\"START\",\"followsDelimiter\":\"/\",\"description\":\"places the curve label at the first point on the curve.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1dd85zmdcsgr3n1uskx90st60h8g\"},{\"name\":\"END\",\"followsDelimiter\":\"/\",\"description\":\"places the curve label at the last point on the curve.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p09cvwgd3lzkn2n114pbqqe4ny4mg\"}],\"supportSiteTargetFragment\":\"n1asmup3qz51men1prkiko0lzy7eg\"},{\"name\":\"DATALABEL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"displays a label for each data point.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0myfjf9kaqis3n1nr1ifpy1tpj2d\"},{\"name\":\"DATALABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"displays a label for each data point.\",\"help\":\"DATALABEL=*variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0myfjf9kaqis3n1nr1ifpy1tpj2d\"},{\"name\":\"DATALABELATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the appearance of the labels in the plot when you use the DATALABEL= option.\",\"help\":\"DATALABELATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p0e0ya27a7hlj5n164pkuwzf2j5ut\"},{\"name\":\"DATALABELPOS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the location of the data label with respect to the plot.\",\"help\":\"DATALABELPOS=*position*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1298lqwj801t1n1r350oa1zbsqyk\"},{\"name\":\"DATASKIN=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a special effect to be used on the plot.\",\"help\":\"DATASKIN=NONE | CRISP | GLOSS | MATTE | PRESSED | SHEEN\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NONE\",\"type\":\"standalone\"},{\"name\":\"CRISP\",\"type\":\"standalone\"},{\"name\":\"GLOSS\",\"type\":\"standalone\"},{\"name\":\"MATTE\",\"type\":\"standalone\"},{\"name\":\"PRESSED\",\"type\":\"standalone\"},{\"name\":\"SHEEN\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"n1wqoylzvajtm1n1rpjpq7jwq9eiv\"},{\"name\":\"DISCRETEOFFSET=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies an amount to offset all lines from discrete category values.\",\"help\":\"DISCRETEOFFSET=*numeric-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1xslg7q7n3cbun1azb53kuz6q3b\"},{\"name\":\"FILLEDOUTLINEDMARKERS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that markers have a fill and an outline.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n08u24y1x35rjxn1ab0vlgmx78xmc\"},{\"name\":\"FREQ=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a variable for the frequency count for each observation in the input data.\",\"help\":\"FREQ=*numeric-variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0imur3526o3kkn1pyptwbea09xif\"},{\"name\":\"GROUP=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a variable that is used to group the data.\",\"help\":\"GROUP=*variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n10ufvorhfxblmn1pvhuicydx28we\"},{\"name\":\"GROUPDISPLAY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies how to display grouped lines.\",\"help\":\"GROUPDISPLAY=CLUSTER | OVERLAY\",\"type\":\"choice\",\"arguments\":[{\"name\":\"CLUSTER\",\"followsDelimiter\":\"/\",\"description\":\"grouped items are drawn adjacent to each other.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1f9g1imvgdc3xn1o4qmhc3dsaxth\"},{\"name\":\"OVERLAY\",\"followsDelimiter\":\"/\",\"description\":\"grouped items are drawn at the exact coordinate and might overlap.\",\"help\":\"OVERLAY \",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0gedf37npwg28n19wqi2annun4nh\"}],\"supportSiteTargetFragment\":\"n162ubzgp631den1o32bs7drvifi\"},{\"name\":\"GROUPORDER=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the ordering of the groups within a category.\",\"help\":\"GROUPORDER=DATA | REVERSEDATA | ASCENDING | DESCENDING\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DATA\",\"followsDelimiter\":\"/\",\"description\":\"orders the groups within a category in data order of the group variable.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1olglc4d6w5xtn1975koececghgp\"},{\"name\":\"REVERSEDATA\",\"followsDelimiter\":\"/\",\"description\":\"orders the groups within a category in the reverse data order of the group variable.\",\"help\":\"REVERSEDATA \",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n19zwzvwl75rxun1kbxu50jrgzjjp\"},{\"name\":\"ASCENDING\",\"followsDelimiter\":\"/\",\"description\":\"orders the groups within a category in ascending order of the group variable.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0dd45nyc2fae3n1ne4koepnc2w8p\"},{\"name\":\"DESCENDING\",\"followsDelimiter\":\"/\",\"description\":\"orders the groups within a category in descending order of the group variable.\",\"help\":\"DESCENDING \",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0tsocv1fpdf1un1mcfikx2mnrqlp\"}],\"supportSiteTargetFragment\":\"p0sm1j07xn1rg2n16hsii0x2d6fdp\"},{\"name\":\"LEGENDLABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the label that identifies the line plot in the legend.\",\"help\":\"LEGENDLABEL=\\\"*text-string*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0x35g9ip28jnbn1tjtjn4d5v5yv\"},{\"name\":\"LIMITATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the appearance of the limit lines in the plot.\",\"help\":\"LIMITATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p11aceb8ao26jyn1m3ia62adcdmk\"},{\"name\":\"LIMITS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"adds limit lines to the plot.\",\"help\":\"LIMITS=BOTH | LOWER | UPPER\",\"type\":\"choice\",\"arguments\":[{\"name\":\"BOTH\",\"followsDelimiter\":\"/\",\"description\":\"adds lower and upper limit lines to the plot.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p18x3iwfj14yz6n0zndc10cmk6f0\"},{\"name\":\"LOWER\",\"followsDelimiter\":\"/\",\"description\":\"adds lower limit lines to the plot.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1lt0q6w0iyyxln1pddy9tfduw50\"},{\"name\":\"UPPER\",\"followsDelimiter\":\"/\",\"description\":\"adds upper limit lines to the plot.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p01oe8gsecxqain1sxdq451ki9dp\"}],\"supportSiteTargetFragment\":\"n1nb1z2k4jeoq7n1bzird3vy5msl\"},{\"name\":\"LIMITCAPSCALE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a positive number to use as a multiplier for changing the default width of the limit-bar cap (serif).\",\"help\":\"LIMITCAPSCALE=*positive-number*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1dpcq2cxmhivln1ecgm46ylp35sf\"},{\"name\":\"LIMITSTAT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the statistic for the limit lines.\",\"help\":\"LIMITSTAT=CLM | STDDEV | STDERR\",\"type\":\"choice\",\"arguments\":[{\"name\":\"CLM\",\"followsDelimiter\":\"/\",\"description\":\"confidence limits\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p035v02xpew5oln1il9q0p8nwp9h\"},{\"name\":\"STDDEV\",\"followsDelimiter\":\"/\",\"description\":\"standard deviation\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0op5y2kjygtmkn149587nkzzhiu\"},{\"name\":\"STDERR\",\"followsDelimiter\":\"/\",\"description\":\"standard error\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0rz6s13jruh59n1b2zl6hj212gw\"}],\"supportSiteTargetFragment\":\"n0ygfffkgfs4dln1nx8jv26az5id\"},{\"name\":\"LINEATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the appearance of the lines in the line plot.\",\"help\":\"LINEATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"n15sqautn2og99n1pufvg5kmu2t1\"},{\"name\":\"MARKERATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the appearance of the markers in the plot.\",\"help\":\"MARKERATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"n08bmlvhc7drzen1tt81susxh88u\"},{\"name\":\"MARKERFILLATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the color of the marker fill.\",\"help\":\"MARKERFILLATTRS=*style-element* |  (COLOR=*color*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(COLOR=)\",\"type\":\"color\"}],\"supportSiteTargetFragment\":\"n1rpbcs7lrnofun13lxhxu52hi72h\"},{\"name\":\"MARKEROUTLINEATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the appearance of the marker outlines.\",\"help\":\"MARKEROUTLINEATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"n1p0zhoitcokdbn1rwa93j2qjjf6h\"},{\"name\":\"MARKERS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"adds data point markers to the plot.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1v4mqpi3sjdbin1pc6qx6zy8ebo\"},{\"name\":\"MISSING\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"for group data, processes missing values as a valid category value and creates a line for it.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1qgwjhh9c74zin1ux0l3sahk0y3\"},{\"name\":\"NAME=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a name for the plot.\",\"help\":\"NAME=\\\"*text-string*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p00f81g82wmzr5n15sik0znnzfy9z9\"},{\"name\":\"NOLIMITCAPS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses the serif cap on limit lines, if limit lines are displayed.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1mixps2ivdfpwn19q90m3vhqff8b\"},{\"name\":\"NUMSTD=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the number of standard units for the limit lines, when you specify LIMITSTAT=STDDEV or LIMITSTAT=STDERR.\",\"help\":\"NUMSTD=*n*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1dixjshy7bb1un15qobzdmmv6s6\"},{\"name\":\"RESPONSE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a numeric response variable for the plot.\",\"help\":\"RESPONSE=*response-variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1nifm7yxz3rzgn14mevyp5h965d\"},{\"name\":\"SPLITCHAR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies one or more characters on which the text for curve and data labels is always split.\",\"help\":\"SPLITCHAR=\\\"*character-list*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1j4250rabowqun14n3o3ido46isf\"},{\"name\":\"SPLITCHARNODROP\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that the split characters are included in the displayed value.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n16zlyxz8f2e9fn1p1sv3c52m1itu\"},{\"name\":\"SPLITJUSTIFY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the horizontal alignment of the value text that is being split.\",\"help\":\"SPLITJUSTIFY=LEFT | CENTER | RIGHT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"LEFT\",\"type\":\"standalone\"},{\"name\":\"CENTER\",\"type\":\"standalone\"},{\"name\":\"RIGHT\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"n17xhll23zit14n1kzud4wxurf59s\"},{\"name\":\"STAT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the statistic for the vertical axis.\",\"help\":\"STAT=FREQ | MEAN | MEDIAN | PERCENT | SUM\",\"type\":\"choice\",\"arguments\":[{\"name\":\"FREQ\",\"followsDelimiter\":\"/\",\"description\":\"the frequencies of the response or category variable.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1p6jtrfxh131sn1cs21awxx6tm0a\"},{\"name\":\"MEAN\",\"followsDelimiter\":\"/\",\"description\":\"the mean of the response variable.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0bngi44kenmxyn15jsxa64rrpb1a\"},{\"name\":\"MEDIAN\",\"followsDelimiter\":\"/\",\"description\":\"the median of the response variable.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1qys3nxelhacan1utu7iv8d08d7a\"},{\"name\":\"PERCENT\",\"followsDelimiter\":\"/\",\"aliases\":[\"PCT\"],\"description\":\"the percentage of the response or category variable.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1msw53jh1ayoqn17usf5wcp3grba\"},{\"name\":\"SUM\",\"followsDelimiter\":\"/\",\"description\":\"the sum of the response variable.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1rcqmnyfu6w3un1sm13w03cx0m3a\"}],\"supportSiteTargetFragment\":\"n07wt2dtjyifbwn0z7sp36cs75rua\"},{\"name\":\"STATLABEL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies whether the response variable statistic is displayed in the axis and legend labels.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1tdeu3euj3i6bn157eaerbvluq6d\"},{\"name\":\"NOSTATLABEL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies whether the response variable statistic is displayed in the axis and legend labels.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1tdeu3euj3i6bn157eaerbvluq6d\"},{\"name\":\"TIP=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the data tip information to be displayed when the cursor is positioned over the graphics element.\",\"help\":\"TIP=(*variable-list*) | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"(variable-list)\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"a space-separated list of variables enclosed in parentheses.\",\"help\":\"(*variable-list*) \",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1m6zmye01y4lvn104i7gn57dfpov\"},{\"name\":\"NONE\",\"followsDelimiter\":\"/\",\"description\":\"suppresses the data tips from this plot.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n02szuj3p61ekvn1c2scb9cyaar4v\"}],\"supportSiteTargetFragment\":\"p1vzdm59cf0i9qn1jz5pwqz5hm71v\"},{\"name\":\"TIPFORMAT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"applies formats to the list of data tip variables that you specify in the TIP= option.\",\"help\":\"TIPFORMAT=(*format-list*)\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p17xpdoc2x7peln1gkubt92md28ht\"},{\"name\":\"TIPLABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"applies labels to the list of data tip variables that you specify in the TIP= option.\",\"help\":\"TIPLABEL=(*label-list*)\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n126ol9w7pwp12n1irzzust1e2tws\"},{\"name\":\"TRANSPARENCY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the degree of transparency for the plot.\",\"help\":\"TRANSPARENCY=*value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p165beuigjohtnn1tb3zi07el186z3\"},{\"name\":\"URL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies an HTML page to be displayed when parts of the plot are selected.\",\"help\":\"URL=*character-variable*\",\"type\":\"value\",\"arguments\":[{\"name\":\"character-variable\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a variable that contains a valid HTML page reference (HREF) for each plot element that is to have an active link.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1kbi4uhax9tzon1rukcqelmr68rr\"}],\"supportSiteTargetFragment\":\"n0jx60ib3ia9lgn0zqatbajgfsz4r\"},{\"name\":\"WEIGHT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies how observations are weighted.\",\"help\":\"WEIGHT=*numeric-variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p15uwmus658g3sn1t0zd35lwaoftd\"}],\"supportSiteTargetFile\":\"p1j3n3pvx8gs3cn1ffwp2pw5vu9j.htm\"},{\"name\":\"COLAXIS\",\"description\":\"Specifies the axis options for each X axis in the panel.\",\"help\":\"COLAXIS *options*;\",\"arguments\":[{\"name\":\"ALTERNATE\",\"optional\":true,\"description\":\"adds reference ticks to each side of the panel and alternates the tick values for each row or column between the two sides.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1a3jdlqpzzm7tn1xg5x5f87hrlx\"},{\"name\":\"COLORBANDS=\",\"optional\":true,\"description\":\"specifies the display of alternating wall-color bands corresponding to the discrete axis bins.\",\"help\":\"COLORBANDS=NONE | EVEN | ODD\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NONE\",\"type\":\"standalone\"},{\"name\":\"EVEN\",\"type\":\"standalone\"},{\"name\":\"ODD\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"p13bezonfkvuj5n1b5ish4w8hu03\"},{\"name\":\"COLORBANDSATTRS=\",\"optional\":true,\"description\":\"specifies the fill appearance of the color band.\",\"help\":\"COLORBANDSATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p0jjs88i6o7c7pn112n4gpkadhli\"},{\"name\":\"DISCRETEORDER=\",\"optional\":true,\"description\":\"specifies the order in which discrete tick values are placed on the axis. This option affects any plot with a discrete axis.\",\"help\":\"DISCRETEORDER=DATA | FORMATTED | UNFORMATTED\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DATA\",\"description\":\"places the values in the order in which they appear in the data.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1vhihzkthbuesn14r8lo71jmxi5\"},{\"name\":\"FORMATTED\",\"description\":\"sorts the formatted values in ascending character order.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0c9ha820dsobin125tg6rpmww0h\"},{\"name\":\"UNFORMATTED\",\"description\":\"sorts the unformatted values in ascending character order.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1gij46hlrwpmon1aqwv51ukq6n1\"}],\"supportSiteTargetFragment\":\"n0ygb7rxud6dijn1d9ds92y5dk2t\"},{\"name\":\"DISPLAY=\",\"optional\":true,\"description\":\"specifies which features of the axis are displayed.\",\"help\":\"DISPLAY=ALL | NONE | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ALL\",\"description\":\"displays all of the features of the axis.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1fp8hf2949914n1r6yjr0da6ipa\"},{\"name\":\"NONE\",\"description\":\"specifies that none of the features of the axis are displayed.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n09qkyfx1pvoqen1u08li0r1kn7f\"},{\"name\":\"NOLABEL\",\"description\":\"hides the axis label\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n13rwjzx0gyw5hn1de1hitrd9r01\"},{\"name\":\"NOLINE\",\"description\":\"hides the axis line\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0yyq7jfjsfu2mn0zzanmyl86izs\"},{\"name\":\"NOTICKS\",\"description\":\"hides the tick marks on the axis\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n11hv2zr5ezj0an0z4jcbsceu2o2\"},{\"name\":\"NOVALUES\",\"description\":\"hides the tick mark values on the axis\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1s458pfr16ibkn10h4k11d0odpb\"}],\"supportSiteTargetFragment\":\"n04cmcgyd6yg2qn1j7ehao663jqs\"},{\"name\":\"FITPOLICY=\",\"optional\":true,\"description\":\"specifies the method that is used to fit tick mark values on a horizontal axis when there is not enough room to draw them normally.\",\"help\":\"FITPOLICY=*policy-value*\",\"type\":\"value\",\"arguments\":[{\"name\":\"NONE\",\"description\":\"does not split the values.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0v848lg40rcs2n0ztnil0tkurpx\"},{\"name\":\"ROTATE\",\"description\":\"rotates the value text 45 degrees.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0du40bblerjivn11bzpslt5vi8h\"},{\"name\":\"ROTATETHIN\",\"description\":\"attempts to use ROTATE, and then THIN to fit the values.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0prqwwqi84bt3n1kqwbnfurhrur\"},{\"name\":\"SPLIT\",\"description\":\"splits the values at the character or characters specified in the SPLITCHAR= option.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0uirhaydrhye1n1u84h74h451xx\"},{\"name\":\"SPLITALWAYS\",\"description\":\"always splits the values at the character or characters specified in the SPLITCHAR= option.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0wbi3nus88lzkn1p6j8uhje9srk\"},{\"name\":\"SPLITROTATE\",\"description\":\"attempts to use SPLIT, and then ROTATE to fit the values.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p18b4dykw0midyn11jvrqz2h29hc\"},{\"name\":\"STACKEDALWAYS\",\"description\":\"stacks the values vertically regardless of tick value collision.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n03tcs4bluf06wn1mqx32s2zruol\"},{\"name\":\"STACKEDALWAYSTHIN\",\"description\":\"stacks the values vertically regardless of tick value collision.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1opizfgj8kpktn1jxwtxa74sf5z\"},{\"name\":\"STAGGER\",\"description\":\"shifts the values up and down.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0yk3u6jae7l96n1vh2keg1qtxfe\"},{\"name\":\"STAGGERROTATE\",\"description\":\"attempts to use STAGGER, and then ROTATE to fit the values.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0atfa04wpimd5n1swm7c6fameb9\"},{\"name\":\"STAGGERTHIN\",\"description\":\"attempts to use STAGGER, and then THIN to fit the values.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1sddgpj8hny90n12pgg09k5z5b4\"},{\"name\":\"THIN\",\"description\":\"removes some of the values from the axis.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0glsg6w1reus0n1qu70e176ctyn\"}],\"supportSiteTargetFragment\":\"n0j3juc50yb8q2n1ci31ib2ixxxt\"},{\"name\":\"GRID\",\"optional\":true,\"description\":\"creates grid lines at each tick on the axis.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0bncy8llvco4vn1480c06fxjpi0\"},{\"name\":\"GRIDATTRS=\",\"optional\":true,\"description\":\"specifies the appearance of the grid lines.\",\"help\":\"GRIDATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p0j0gkrzz6v5aan1m8fc5h3lmi7r\"},{\"name\":\"INTEGER\",\"optional\":true,\"description\":\"specifies that only integers are used for tick mark values.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1q1lws3td6oe6n146hwzmvufj8h\"},{\"name\":\"INTERVAL=\",\"optional\":true,\"description\":\"specifies the tick interval for a time axis.\",\"help\":\"INTERVAL=*interval-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0pw47mjs0aryan1xumzgmw9tkfi\"},{\"name\":\"INTERVALMULT=\",\"optional\":true,\"aliases\":[\"INTERVALMULTIPLIER\"],\"description\":\"specifies a multiplier to apply to the time interval that is in effect for the axis.\",\"help\":\"INTERVALMULT=*positive-integer*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1h0w4ko4h5kyvn1jjj5dw2iurpz\"},{\"name\":\"LABEL=\",\"optional\":true,\"description\":\"specifies a label for the axis.\",\"help\":\"LABEL=\\\"*text-string*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0auuuz8zc8jxbn1cnuv0go5swj0\"},{\"name\":\"LABELATTRS=\",\"optional\":true,\"description\":\"specifies the appearance of the axis labels.\",\"help\":\"LABELATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"n167ugg6n7h42en1jttqxz8k220c\"},{\"name\":\"LABELPOS=\",\"optional\":true,\"description\":\"specifies the position of the axis label.\",\"help\":\"LABELPOS=CENTER | DATACENTER | LEFT | RIGHT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"CENTER\",\"description\":\"centers the axis label in the axis area (including any offsets).\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0sr150bbdqgkrn1689knghndod2\"},{\"name\":\"DATACENTER\",\"description\":\"centers the axis label in the axis tick display area (excluding any offsets).\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1bhc7l705u4u5n1bv6w80qts6ki\"},{\"name\":\"LEFT\",\"description\":\"positions the label to the left of the axis area.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1gf3uhhn2sn2gn1q6daejt9wl43\"},{\"name\":\"RIGHT\",\"description\":\"positions the label to the right of the axis area.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1i5fs9duruygin1rm3fdj2rnw19\"}],\"supportSiteTargetFragment\":\"n0ir5xdwa7x8mwn1n673e6srumhs\"},{\"name\":\"LOGBASE=\",\"optional\":true,\"description\":\"specifies the base value for the logarithmic scale.\",\"help\":\"LOGBASE=2 | 10 | e\",\"type\":\"choice\",\"arguments\":[{\"name\":\"2\",\"type\":\"standalone\"},{\"name\":\"10\",\"type\":\"standalone\"},{\"name\":\"e\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"n08qkjrqd3sb5vn1xe47slnjp2xm\"},{\"name\":\"LOGSTYLE=\",\"optional\":true,\"description\":\"specifies how to scale and format the values for the major tick marks for logarithmic axes.\",\"help\":\"LOGSTYLE=LINEAR | LOGEXPAND | LOGEXPONENT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"LOGEXPAND\",\"description\":\"places the tick marks at integer powers of the base.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1jr3giru4f65jn1odz0p6lckdx2\"},{\"name\":\"LOGEXPONENT\",\"description\":\"places the tick marks at integer powers of the base, but identifies the values by the exponent.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n17xcycsyg77f0n1rqfsa934ffoz\"},{\"name\":\"LINEAR\",\"description\":\"places the tick marks at uniform linear intervals, but spaces them logarithmically.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p04o376luu0kgrn1qbggt938olmc\"}],\"supportSiteTargetFragment\":\"p0q7oh57y09kekn1ayq2lzwy7k0y\"},{\"name\":\"LOGVTYPE=\",\"optional\":true,\"description\":\"specifies the scale that is used when interpreting the values in the VALUES option and the MIN and MAX options.\",\"help\":\"LOGVTYPE=EXPANDED | EXPONENT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"EXPANDED\",\"description\":\"the values are interpreted as integer powers of the base (decimal numbers).\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p15xc56vj8exucn1i97udg1cffyn\"},{\"name\":\"EXPONENT\",\"description\":\"the values are interpreted as integer exponents of the base.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1jnludek17zmtn1se3fvnwqwvjk\"}],\"supportSiteTargetFragment\":\"n1n19d06ctybj4n1x9yld075fd7x\"},{\"name\":\"MAX=\",\"optional\":true,\"description\":\"specifies the maximum data value to include in the display (the value might be adjusted by the threshold calculation).\",\"help\":\"MAX=*numeric-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0g7gprbh9c9fsn1afp4ck2olri3\"},{\"name\":\"MIN=\",\"optional\":true,\"description\":\"specifies the minimum data value to include in the display (the value might be adjusted by the threshold calculation).\",\"help\":\"MIN=*numeric-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1nrtlefpu673ln14dghi1bxukob\"},{\"name\":\"MINOR\",\"optional\":true,\"description\":\"adds minor tick marks to a linear, log, or time axis.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0u5bnyn0n1u4zn1y00usaopgdh2\"},{\"name\":\"MINORCOUNT=\",\"optional\":true,\"description\":\"specifies the number of minor tick marks for the axis.\",\"help\":\"MINORCOUNT=*numeric-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0q7p51c9ihq5jn1pnfsvb822lbb\"},{\"name\":\"MINORGRID\",\"optional\":true,\"description\":\"creates grid lines at each minor tick on the axis.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1t3i9xrmvqdl8n1kcuqgmzzlzlw\"},{\"name\":\"MINORGRIDATTRS=\",\"optional\":true,\"description\":\"specifies the appearance of the minor grid lines.\",\"help\":\"MINORGRIDATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"n017c5umyylzfvn1o5gyzir3iyij\"},{\"name\":\"MINORINTERVAL=\",\"optional\":true,\"description\":\"specifies the time interval between minor ticks.\",\"help\":\"MINORINTERVAL=*time-interval*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1by4xaoqlrwlcn1of5xkn4g7pmq\"},{\"name\":\"NOTIMESPLIT\",\"optional\":true,\"description\":\"prevents a time axis from splitting the time, date, or datetime values into two rows.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p15rm19a0wy2xqn1ehd94yed5y34\"},{\"name\":\"OFFSETMAX=\",\"optional\":true,\"description\":\"specifies an offset that follows the highest data value on the axis.\",\"help\":\"OFFSETMAX=*numeric-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n024je2rvyy2s9n1jl9crr5at8hd\"},{\"name\":\"OFFSETMIN=\",\"optional\":true,\"description\":\"specifies an offset that precedes the lowest data value on the axis.\",\"help\":\"OFFSETMIN=*numeric-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0k9waq1835u6mn1o9nhh0xlkvz3\"},{\"name\":\"REFTICKS\",\"optional\":true,\"description\":\"adds tick marks to the side of the panel that is opposite from the specified axis.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n116wlia9iaj0vn1687b3tbabl2a\"},{\"name\":\"REFTICKS=\",\"optional\":true,\"description\":\"adds tick marks to the side of the panel that is opposite from the specified axis.\",\"help\":\"REFTICKS=(*options*)\",\"type\":\"value\",\"arguments\":[{\"name\":\"LABEL\",\"description\":\"in addition to the tick marks, displays the axis label.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1x85z4w3z62qwn1mboysc7rlljr\"},{\"name\":\"NOTICKS\",\"description\":\"suppresses the tick marks.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0fzew39jqjgqwn1cn1si91a7x5p\"},{\"name\":\"VALUES\",\"description\":\"in addition to the tick marks, displays the values that are represented by the tick marks.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1nmwwccvr5tpyn1201p2h9hj0gc\"}],\"supportSiteTargetFragment\":\"n116wlia9iaj0vn1687b3tbabl2a\"},{\"name\":\"REVERSE\",\"optional\":true,\"description\":\"specifies that the tick values are displayed in reverse (descending) order.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0sy4i2ek287q0n1w5ju0q8i37fr\"},{\"name\":\"SPLITCHAR=\",\"optional\":true,\"description\":\"splits the text for tick mark values at the specified character or characters according to the fit policy that is in effect.\",\"help\":\"SPLITCHAR=\\\"*character-list*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0yesq09u4u1whn1clm2rhq2co3w\"},{\"name\":\"SPLITCHARNODROP\",\"optional\":true,\"description\":\"specifies that the split characters are included in the displayed value.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0gzfab0bqifqcn12jyiv4p8m3dz\"},{\"name\":\"SPLITJUSTIFY=\",\"optional\":true,\"description\":\"specifies the horizontal alignment of the value text that is being split.\",\"help\":\"SPLITJUSTIFY=LEFT | CENTER | RIGHT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"LEFT\",\"type\":\"standalone\"},{\"name\":\"CENTER\",\"type\":\"standalone\"},{\"name\":\"RIGHT\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"p0oy5abk79v4y8n1fhlk50n4083c\"},{\"name\":\"THRESHOLDMAX=\",\"optional\":true,\"description\":\"Specifies a threshold for displaying one more tick mark at the high end of the axis.\",\"help\":\"THRESHOLDMAX=*numeric-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0mbd8j56w1sc4n16zg8ofg202ip\"},{\"name\":\"THRESHOLDMIN=\",\"optional\":true,\"description\":\"Specifies a threshold for displaying one more tick mark at the low end of the axis.\",\"help\":\"THRESHOLDMIN=*numeric-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1c5lzbptwk0zcn1ntpqoszz3hk9\"},{\"name\":\"TYPE=\",\"optional\":true,\"description\":\"specifies the type of axis.\",\"help\":\"TYPE=DISCRETE | LINEAR | LOG | TIME\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DISCRETE\",\"description\":\"specifies an axis with discrete values.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1vmohx62dt0ftn1t99tyni1e0hg\"},{\"name\":\"LINEAR\",\"description\":\"specifies a linear scale for the axis.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n08k9b1nfyz68hn1dn4fd4hy1lt4\"},{\"name\":\"LOG\",\"description\":\"specifies a logarithmic scale for the axis.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1lyo5htlrr0den15zwddunxzp5n\"},{\"name\":\"TIME\",\"description\":\"specifies a time scale for the axis.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0hc2qzl5fj45rn1a4iw7s9psbin\"}],\"supportSiteTargetFragment\":\"p1h81uw0b6g1ztn1if1p5qo1vdam\"},{\"name\":\"VALUEATTRS=\",\"optional\":true,\"description\":\"specifies the appearance of the axis tick value labels.\",\"help\":\"VALUEATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"n10e30jc5efr1gn0z6led1hgclek\"},{\"name\":\"VALUES=\",\"optional\":true,\"description\":\"specifies the values for the ticks on an axis.\",\"help\":\"VALUES=(*values-list* ) | (\\\"*string-list*\\\")\",\"type\":\"choice\",\"arguments\":[{\"name\":\"values-list\",\"placeholder\":true,\"description\":\"specifies tick values for linear, time, and logarithmic axes.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0sivtia7tma0en16bi1h2xf0nmq\"},{\"name\":\"\\\"string-list\\\"\",\"placeholder\":true,\"description\":\"specifies a space-separated list of string values enclosed in parentheses for a discrete axis .\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1bou1t6w3dmqxn16i72zhpmv3uu\"}],\"supportSiteTargetFragment\":\"p0omniuabl2prtn1caoj3qso1hn9\"},{\"name\":\"VALUESDISPLAY=\",\"optional\":true,\"description\":\"specifies the text that is to be displayed for the tick values that are defined in the VALUES= option.\",\"help\":\"VALUESDISPLAY=(\\\"*value1*\\\" \\\"*value2*\\\"  ...)\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1dfkle62vaqbgn1wa0yvjehx40y\"},{\"name\":\"VALUESFORMAT=\",\"optional\":true,\"aliases\":[\"TICKVALUEFORMAT\"],\"description\":\"specifies how to format the values for major tick marks.\",\"help\":\"VALUESFORMAT=DATA | *SAS-format*\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DATA\",\"description\":\"uses the format that has been assigned to the column that is contributing to the axis (or BEST6 if no format is assigned) in order to control the formatting of the major tick values.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p19u5i6t15mrvln1s1py4yq2qmzl\"},{\"name\":\"SAS-format\",\"placeholder\":true,\"description\":\"specifies a format to apply to the major tick values.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p05qadk09o202on1bqhqkv9fhysf\"}],\"supportSiteTargetFragment\":\"p13jd05jqnjaxwn156q7ismvtx8z\"},{\"name\":\"VALUESHINT\",\"optional\":true,\"description\":\"specifies that the minimum and maximum axis values are determined independently of the values that you specify in the VALUES= option.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p179dwm9om8fl4n1qlejwpcnpe02\"},{\"name\":\"VALUESROTATE=\",\"optional\":true,\"description\":\"specifies how the tick values are rotated on the axis.\",\"help\":\"VALUESROTATE=DIAGONAL | DIAGONAL2 | VERTICAL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DIAGONAL\",\"description\":\"rotates the tick values diagonally.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0ey04ujibwgzin1n86h2eubzw5w\"},{\"name\":\"DIAGONAL2\",\"description\":\"rotates the tick values to a reverse diagonal angle.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p016cxwio6gunan1l3dl9pyjjezm\"},{\"name\":\"VERTICAL\",\"description\":\"rotates the tick values vertically.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p19vx6gs9zauyjn1asthjlc67lur\"}],\"supportSiteTargetFragment\":\"n0o81llqkb1kxun12qeqjpdyh1wf\"}],\"supportSiteTargetFile\":\"p0vyc21mth0jrtn1c4jimudemip4.htm\"},{\"name\":\"COLAXISTABLE\",\"description\":\"Creates a basic plot that displays data values at specific locations along the horizontal axis.\",\"help\":\"COLAXISTABLE  *variable*&lt; ...*variable-n*&gt;&lt;/*options*&gt;;\",\"arguments\":[{\"name\":\"variable\",\"placeholder\":true,\"description\":\"specifies one or more variables for the axis table.\",\"help\":\"*variable*&lt; ...*variable-n*&gt;\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p162h9v6ji3qfyn19vjfovaz3n4j\"},{\"name\":\"ATTRID=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the value of the ID variable in a discrete attribute map data set.\",\"help\":\"ATTRID=*character-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1uxs2avsp1mrtn19pateg7icm4dz5\"},{\"name\":\"CLASS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"creates a separate axis table for each unique value of the specified variable.\",\"help\":\"CLASS=*variable* \",\"type\":\"value\",\"supportSiteTargetFragment\":\"n00qm8kmc4jwjun1qakkzs1mcy3z\"},{\"name\":\"CLASSDISPLAY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies how the class values are displayed.\",\"help\":\"CLASSDISPLAY=STACK | CLUSTER\",\"type\":\"choice\",\"arguments\":[{\"name\":\"STACK\",\"followsDelimiter\":\"/\",\"description\":\"displays the class values vertically at each midpoint value on the X axis.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1ec3sari684pcn1iqkabypv0t4m\"},{\"name\":\"CLUSTER\",\"followsDelimiter\":\"/\",\"description\":\"displays the class values horizontally at each midpoint value on the X axis.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n15i4k5i5uk0ajn1rwlyqtjl1r55\"}],\"supportSiteTargetFragment\":\"p1aavdrbwrac54n11p03rupzlkwm\"},{\"name\":\"CLASSORDER=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the order in which the class values are displayed.\",\"help\":\"CLASSORDER=DATA | REVERSEDATA | ASCENDING | DESCENDING\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DATA\",\"followsDelimiter\":\"/\",\"description\":\"displays the class values in the order in which they occur in the data.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p132owqjtf98nkn1x7ojfyyj6zeq\"},{\"name\":\"REVERSEDATA\",\"followsDelimiter\":\"/\",\"description\":\"displays the class values in the reverse order from which they occur in the data.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0ekadnhf1ed3kn14vbcxaajl0h8\"},{\"name\":\"ASCENDING\",\"followsDelimiter\":\"/\",\"description\":\"displays the class values in ascending order.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0jri83r9fqrk3n1alayli1eb0ul\"},{\"name\":\"DESCENDING\",\"followsDelimiter\":\"/\",\"description\":\"displays the class values in descending order.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n128nchp6s3gg7n18fsh0nkg4bl1\"}],\"supportSiteTargetFragment\":\"p0zh3fmkxoef7qn1azdwur2fxyt8\"},{\"name\":\"COLORGROUP=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a variable that is used to determine the color of the table values.\",\"help\":\"COLORGROUP=*variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0xssing6ggczdn15n6dd6oo8quz\"},{\"name\":\"DROPONMISSING\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that the entire axis table is dropped when all of the values are missing.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0aou7oxmq7av9n1okj1bklu9vlq\"},{\"name\":\"LABEL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies whether the table label is shown or hidden.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0smvgpd15ywqun12lfwa52c17uj\"},{\"name\":\"LABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies whether the table label is shown or hidden.\",\"help\":\"LABEL=\\\"*text-string*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0smvgpd15ywqun12lfwa52c17uj\"},{\"name\":\"NOLABEL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies whether the table label is shown or hidden.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0smvgpd15ywqun12lfwa52c17uj\"},{\"name\":\"LABELATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the color and font attributes of the axis table label.\",\"help\":\"LABELATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"n0d5rch22duq4fn1277kzd2i5d4w\"},{\"name\":\"LABELPOS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the position of the labels at the left or right side of the axis table.\",\"help\":\"LABELPOS=LEFT | RIGHT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"LEFT\",\"type\":\"standalone\"},{\"name\":\"RIGHT\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"p1pod0y098p9f0n1kn02w6q7jqcx\"},{\"name\":\"NAME=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a name for the plot.\",\"help\":\"NAME=\\\"*text-string*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p00f81g82wmzr5n15sik0znnzfy9z10\"},{\"name\":\"NOMISSINGCHAR\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses the display of the MISSING character (.) for missing numeric values.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0jsu5j6fam2lpn1gv80dymg3abd\"},{\"name\":\"NOMISSINGCLASS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that missing values of the class variable are not included in the table.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1pq5lv2rtp2man1xdaxtqeq1xnx\"},{\"name\":\"PAD=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the amount of extra space that is added inside the table border.\",\"help\":\"PAD=*numeric-value*&lt;*units*&gt; | (*pad-options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"numeric-valueunits\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a dimension to use for the extra space at the table border.\",\"help\":\"*numeric-value*&lt;*units*&gt; \",\"type\":\"value\",\"supportSiteTargetFragment\":\"n12w2h3wfgzk4jn16kxgt2gc5xme\"},{\"name\":\"LEFT=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the amount of extra space added to the left side.\",\"help\":\"LEFT=*numeric-value*&lt;*units*&gt;\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n133dw2f4d0q30n1173vs8d6usjy\"},{\"name\":\"RIGHT=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the amount of extra space added to the right side.\",\"help\":\"RIGHT=*numeric-value*&lt;*units*&gt;\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n18rnznjfvdmh2n1hva1bxao699d\"},{\"name\":\"TOP=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the amount of extra space added to the top.\",\"help\":\"TOP=*dimension*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n089q0qn2io57jn1sazc9kf8d0cp\"},{\"name\":\"BOTTOM=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the amount of extra space added to the bottom.\",\"help\":\"BOTTOM=*dimension*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p146riyec6iwdsn18ptz9kt6iut5\"}],\"supportSiteTargetFragment\":\"n1nrg76z20gitan1b70ugf1mb71o\"},{\"name\":\"POSITION=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the position of the axis table at the bottom or top of the graph.\",\"help\":\"POSITION=BOTTOM | TOP\",\"type\":\"choice\",\"arguments\":[{\"name\":\"BOTTOM\",\"type\":\"standalone\"},{\"name\":\"TOP\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"n1mqhognf83qryn1td2f4jbiipld\"},{\"name\":\"SEPARATOR\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"creates a separating line between the axis table or axis tables and the plot.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1i9cmexzqqmj5n1rgu7suhvgk1t\"},{\"name\":\"STAT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the statistic for the axis table.\",\"help\":\"STAT=FREQ | MEAN | MEDIAN | PERCENT | SUM\",\"type\":\"choice\",\"arguments\":[{\"name\":\"FREQ\",\"followsDelimiter\":\"/\",\"description\":\"the frequency of the axis table variable.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1mfjvzw5eqnvkn1546imznkdvxb\"},{\"name\":\"MEAN\",\"followsDelimiter\":\"/\",\"description\":\"the mean of the axis table variable.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n11mi0y7gvwc7bn11ef0b9cahddj\"},{\"name\":\"MEDIAN\",\"followsDelimiter\":\"/\",\"description\":\"the median of the axis table variable.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1xp4w0ti6jwm4n1frruhq7nxp27\"},{\"name\":\"PERCENT\",\"followsDelimiter\":\"/\",\"aliases\":[\"PCT\"],\"description\":\"the percentage of the sum of the axis table variable.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1097zz9ynigt5n104tjtwo6hd6w\"},{\"name\":\"SUM\",\"followsDelimiter\":\"/\",\"description\":\"the sum of the axis table variable.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0wmavpcwlpbs3n1v9xf6llptnw8\"}],\"supportSiteTargetFragment\":\"n0y7yy89rqzsyfn18ce6skay7q5t\"},{\"name\":\"STATLABEL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies whether the variable statistic is displayed in the table’s label.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p19lhbuife8rbwn1soiq76on40w4\"},{\"name\":\"NOSTATLABEL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies whether the variable statistic is displayed in the table’s label.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p19lhbuife8rbwn1soiq76on40w4\"},{\"name\":\"TEXTGROUP=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the group variable that is used in a discrete attribute map data set to map text attributes to values for each observation.\",\"help\":\"TEXTGROUP=*attribute-map-group-variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n19ceja6ercgyyn16miadrg5gwi6\"},{\"name\":\"TEXTGROUPID=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies an attribute ID for the TEXTGROUP= option.\",\"help\":\"TEXTGROUPID=*attribute-map-id*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0qtze708tswtxn1fgm7pw9zin8l\"},{\"name\":\"TITLE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a title for the axis table.\",\"help\":\"TITLE=\\\"*text-string*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1kbg6rntv0od0n1qjoyx5k6n7yn\"},{\"name\":\"TITLEATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the appearance of the title for the axis table.\",\"help\":\"TITLEATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p19far3ej25xgbn110ux00m3731f\"},{\"name\":\"VALUEATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the appearance of the axis table values.\",\"help\":\"VALUEATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"n1jx1gyex5e3p7n11ebwz6lhbz9p\"},{\"name\":\"X=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the X variable to use to align the table values to the X axis.\",\"help\":\"X=*variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n041zkdioseifan172keem08c687\"}],\"supportSiteTargetFile\":\"n01df10sevrei7n1o6cqjjkrb417.htm\"},{\"name\":\"ROWAXIS\",\"description\":\"Specifies the axis options for each Y axis in the panel.\",\"help\":\"ROWAXIS *options*;\",\"arguments\":[{\"name\":\"ALTERNATE\",\"optional\":true,\"description\":\"adds reference ticks to each side of the panel and alternates the tick values for each row or column between the two sides.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1a3jdlqpzzm7tn1xg5x5f87hrlxa\"},{\"name\":\"COLORBANDS=\",\"optional\":true,\"description\":\"specifies the display of alternating wall-color bands corresponding to the discrete axis bins.\",\"help\":\"COLORBANDS=NONE | EVEN | ODD\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NONE\",\"type\":\"standalone\"},{\"name\":\"EVEN\",\"type\":\"standalone\"},{\"name\":\"ODD\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"p13bezonfkvuj5n1b5ish4w8hu03a\"},{\"name\":\"COLORBANDSATTRS=\",\"optional\":true,\"description\":\"specifies the fill appearance of the color band.\",\"help\":\"COLORBANDSATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p0jjs88i6o7c7pn112n4gpkadhlia\"},{\"name\":\"DISCRETEORDER=\",\"optional\":true,\"description\":\"specifies the order in which discrete tick values are placed on the axis. This option affects any plot with a discrete axis.\",\"help\":\"DISCRETEORDER=DATA | FORMATTED | UNFORMATTED\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DATA\",\"description\":\"places the values in the order in which they appear in the data.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1vhihzkthbuesn14r8lo71jmxi5a\"},{\"name\":\"FORMATTED\",\"description\":\"sorts the formatted values in ascending character order.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0c9ha820dsobin125tg6rpmww0ha\"},{\"name\":\"UNFORMATTED\",\"description\":\"sorts the unformatted values in ascending character order.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1gij46hlrwpmon1aqwv51ukq6n1a\"}],\"supportSiteTargetFragment\":\"n0ygb7rxud6dijn1d9ds92y5dk2ta\"},{\"name\":\"DISPLAY=\",\"optional\":true,\"description\":\"specifies which features of the axis are displayed.\",\"help\":\"DISPLAY=ALL | NONE | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ALL\",\"description\":\"displays all of the features of the axis.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1fp8hf2949914n1r6yjr0da6ipaa\"},{\"name\":\"NONE\",\"description\":\"specifies that none of the features of the axis are displayed.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n09qkyfx1pvoqen1u08li0r1kn7fa\"},{\"name\":\"NOLABEL\",\"description\":\"hides the axis label\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n13rwjzx0gyw5hn1de1hitrd9r01a\"},{\"name\":\"NOLINE\",\"description\":\"hides the axis line\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0yyq7jfjsfu2mn0zzanmyl86izsa\"},{\"name\":\"NOTICKS\",\"description\":\"hides the tick marks on the axis\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n11hv2zr5ezj0an0z4jcbsceu2o2a\"},{\"name\":\"NOVALUES\",\"description\":\"hides the tick mark values on the axis\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1s458pfr16ibkn10h4k11d0odpba\"}],\"supportSiteTargetFragment\":\"n04cmcgyd6yg2qn1j7ehao663jqsa\"},{\"name\":\"FITPOLICY=\",\"optional\":true,\"description\":\"specifies the method that is used to fit tick mark values on a vertical axis when there is not enough room to draw them normally.\",\"help\":\"FITPOLICY=NONE | SPLIT | SPLITALWAYS | THIN\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NONE\",\"description\":\"does not split the values.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1gs6nj1f6peb6n1izr5w0ps1aug\"},{\"name\":\"SPLIT\",\"description\":\"splits the values at the character or characters specified in the SPLITCHAR= option.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1mg3zgom1dcstn0zzt5lyne6fe1\"},{\"name\":\"SPLITALWAYS\",\"description\":\"always splits the values at the character or characters specified in the SPLITCHAR= option.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1ip3q6febkz5xn1r2rdqnviqgkq\"},{\"name\":\"THIN\",\"description\":\"removes some of the values from the axis.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1q6x9q0uiftbxn1wiumwm70ipog\"}],\"supportSiteTargetFragment\":\"n0ap4f3wde6snnn1wusf8g1dpgof\"},{\"name\":\"GRID\",\"optional\":true,\"description\":\"creates grid lines at each tick on the axis.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0bncy8llvco4vn1480c06fxjpi0a\"},{\"name\":\"GRIDATTRS=\",\"optional\":true,\"description\":\"specifies the appearance of the grid lines.\",\"help\":\"GRIDATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p0j0gkrzz6v5aan1m8fc5h3lmi7ra\"},{\"name\":\"INTEGER\",\"optional\":true,\"description\":\"specifies that only integers are used for tick mark values.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1q1lws3td6oe6n146hwzmvufj8ha\"},{\"name\":\"INTERVAL=\",\"optional\":true,\"description\":\"specifies the tick interval for a time axis.\",\"help\":\"INTERVAL=*interval-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0pw47mjs0aryan1xumzgmw9tkfia\"},{\"name\":\"INTERVALMULT=\",\"optional\":true,\"aliases\":[\"INTERVALMULTIPLIER\"],\"description\":\"specifies a multiplier to apply to the time interval that is in effect for the axis.\",\"help\":\"INTERVALMULT=*positive-integer*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1h0w4ko4h5kyvn1jjj5dw2iurpza\"},{\"name\":\"LABEL=\",\"optional\":true,\"description\":\"specifies a label for the axis.\",\"help\":\"LABEL=\\\"*text-string*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0auuuz8zc8jxbn1cnuv0go5swj0a\"},{\"name\":\"LABELATTRS=\",\"optional\":true,\"description\":\"specifies the appearance of the axis labels.\",\"help\":\"LABELATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"n167ugg6n7h42en1jttqxz8k220ca\"},{\"name\":\"LABELPOS=\",\"optional\":true,\"description\":\"specifies the position of the axis label.\",\"help\":\"LABELPOS=BOTTOM | CENTER | DATACENTER | TOP\",\"type\":\"choice\",\"arguments\":[{\"name\":\"BOTTOM\",\"description\":\"positions the label at the bottom of the axis area.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n004ejesjd1j4cn13c1wmr14bdyg\"},{\"name\":\"CENTER\",\"description\":\"centers the axis label in the axis area (including any offsets).\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0ykzqgku6pbzkn1sj2sfovm9kj3\"},{\"name\":\"DATACENTER\",\"description\":\"centers the axis label in the axis tick display area (excluding any offsets).\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0kh4ffu5agaxqn1pojf5om0zymg\"},{\"name\":\"TOP\",\"description\":\"positions the label at the top of the axis area.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1otf5tdd0b21an1ft6zyexbjmtl\"}],\"supportSiteTargetFragment\":\"p1l54altwudum2n10ow8ocyw5658\"},{\"name\":\"LOGBASE=\",\"optional\":true,\"description\":\"specifies the base value for the logarithmic scale.\",\"help\":\"LOGBASE=2 | 10 | e\",\"type\":\"choice\",\"arguments\":[{\"name\":\"2\",\"type\":\"standalone\"},{\"name\":\"10\",\"type\":\"standalone\"},{\"name\":\"e\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"n08qkjrqd3sb5vn1xe47slnjp2xma\"},{\"name\":\"LOGSTYLE=\",\"optional\":true,\"description\":\"specifies how to scale and format the values for the major tick marks for logarithmic axes.\",\"help\":\"LOGSTYLE=LINEAR | LOGEXPAND | LOGEXPONENT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"LOGEXPAND\",\"description\":\"places the tick marks at integer powers of the base.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1jr3giru4f65jn1odz0p6lckdx2a\"},{\"name\":\"LOGEXPONENT\",\"description\":\"places the tick marks at integer powers of the base, but identifies the values by the exponent.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n17xcycsyg77f0n1rqfsa934ffoza\"},{\"name\":\"LINEAR\",\"description\":\"places the tick marks at uniform linear intervals, but spaces them logarithmically.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p04o376luu0kgrn1qbggt938olmca\"}],\"supportSiteTargetFragment\":\"p0q7oh57y09kekn1ayq2lzwy7k0ya\"},{\"name\":\"LOGVTYPE=\",\"optional\":true,\"description\":\"specifies the scale that is used when interpreting the values in the VALUES option and the MIN and MAX options.\",\"help\":\"LOGVTYPE=EXPANDED | EXPONENT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"EXPANDED\",\"description\":\"the values are interpreted as integer powers of the base (decimal numbers).\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p15xc56vj8exucn1i97udg1cffyna\"},{\"name\":\"EXPONENT\",\"description\":\"the values are interpreted as integer exponents of the base.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1jnludek17zmtn1se3fvnwqwvjka\"}],\"supportSiteTargetFragment\":\"n1n19d06ctybj4n1x9yld075fd7xa\"},{\"name\":\"MAX=\",\"optional\":true,\"description\":\"specifies the maximum data value to include in the display (the value might be adjusted by the threshold calculation).\",\"help\":\"MAX=*numeric-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0g7gprbh9c9fsn1afp4ck2olri3a\"},{\"name\":\"MIN=\",\"optional\":true,\"description\":\"specifies the minimum data value to include in the display (the value might be adjusted by the threshold calculation).\",\"help\":\"MIN=*numeric-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1nrtlefpu673ln14dghi1bxukoba\"},{\"name\":\"MINOR\",\"optional\":true,\"description\":\"adds minor tick marks to a linear, log, or time axis.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0u5bnyn0n1u4zn1y00usaopgdh2a\"},{\"name\":\"MINORCOUNT=\",\"optional\":true,\"description\":\"specifies the number of minor tick marks for the axis.\",\"help\":\"MINORCOUNT=*numeric-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0q7p51c9ihq5jn1pnfsvb822lbba\"},{\"name\":\"MINORGRID\",\"optional\":true,\"description\":\"creates grid lines at each minor tick on the axis.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1t3i9xrmvqdl8n1kcuqgmzzlzlwa\"},{\"name\":\"MINORGRIDATTRS=\",\"optional\":true,\"description\":\"specifies the appearance of the minor grid lines.\",\"help\":\"MINORGRIDATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"n017c5umyylzfvn1o5gyzir3iyija\"},{\"name\":\"MINORINTERVAL=\",\"optional\":true,\"description\":\"specifies the time interval between minor ticks.\",\"help\":\"MINORINTERVAL=*time-interval*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1by4xaoqlrwlcn1of5xkn4g7pmqa\"},{\"name\":\"NOTIMESPLIT\",\"optional\":true,\"description\":\"prevents a time axis from splitting the time, date, or datetime values into two rows.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p15rm19a0wy2xqn1ehd94yed5y34a\"},{\"name\":\"OFFSETMAX=\",\"optional\":true,\"description\":\"specifies an offset that follows the highest data value on the axis.\",\"help\":\"OFFSETMAX=*numeric-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0q7ej564vnx0pn1tuhb5lvx7mnb\"},{\"name\":\"OFFSETMIN=\",\"optional\":true,\"description\":\"specifies an offset that precedes the lowest data value on the axis.\",\"help\":\"OFFSETMIN=*numeric-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0q53vgk3cuvpyn16v8pcd76lkv2\"},{\"name\":\"REFTICKS\",\"optional\":true,\"description\":\"adds tick marks to the side of the panel that is opposite from the specified axis.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n116wlia9iaj0vn1687b3tbabl2aa\"},{\"name\":\"REFTICKS=\",\"optional\":true,\"description\":\"adds tick marks to the side of the panel that is opposite from the specified axis.\",\"help\":\"REFTICKS=(*options*)\",\"type\":\"value\",\"arguments\":[{\"name\":\"LABEL\",\"description\":\"in addition to the tick marks, displays the axis label.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1x85z4w3z62qwn1mboysc7rlljra\"},{\"name\":\"NOTICKS\",\"description\":\"suppresses the tick marks.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0fzew39jqjgqwn1cn1si91a7x5pa\"},{\"name\":\"VALUES\",\"description\":\"in addition to the tick marks, displays the values that are represented by the tick marks.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1nmwwccvr5tpyn1201p2h9hj0gca\"}],\"supportSiteTargetFragment\":\"n116wlia9iaj0vn1687b3tbabl2aa\"},{\"name\":\"REVERSE\",\"optional\":true,\"description\":\"specifies that the tick values are displayed in reverse (descending) order.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0sy4i2ek287q0n1w5ju0q8i37fra\"},{\"name\":\"SPLITCHAR=\",\"optional\":true,\"description\":\"splits the text for tick mark values at the specified character or characters according to the fit policy that is in effect.\",\"help\":\"SPLITCHAR=\\\"*character-list*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1eou791x6gxhtn1tsez9749dbio\"},{\"name\":\"SPLITCHARNODROP\",\"optional\":true,\"description\":\"specifies that the split characters are included in the displayed value.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0gzfab0bqifqcn12jyiv4p8m3dza\"},{\"name\":\"SPLITJUSTIFY=\",\"optional\":true,\"description\":\"specifies the horizontal alignment of the value text that is being split.\",\"help\":\"SPLITJUSTIFY=LEFT | CENTER | RIGHT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"LEFT\",\"type\":\"standalone\"},{\"name\":\"CENTER\",\"type\":\"standalone\"},{\"name\":\"RIGHT\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"p0oy5abk79v4y8n1fhlk50n4083ca\"},{\"name\":\"THRESHOLDMAX=\",\"optional\":true,\"description\":\"Specifies a threshold for displaying one more tick mark at the high end of the axis.\",\"help\":\"THRESHOLDMAX=*numeric-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0mbd8j56w1sc4n16zg8ofg202ipa\"},{\"name\":\"THRESHOLDMIN=\",\"optional\":true,\"description\":\"Specifies a threshold for displaying one more tick mark at the low end of the axis.\",\"help\":\"THRESHOLDMIN=*numeric-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1c5lzbptwk0zcn1ntpqoszz3hk9a\"},{\"name\":\"TYPE=\",\"optional\":true,\"description\":\"specifies the type of axis.\",\"help\":\"TYPE=DISCRETE | LINEAR | LOG | TIME\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DISCRETE\",\"description\":\"specifies an axis with discrete values.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1vmohx62dt0ftn1t99tyni1e0hga\"},{\"name\":\"LINEAR\",\"description\":\"specifies a linear scale for the axis.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n08k9b1nfyz68hn1dn4fd4hy1lt4a\"},{\"name\":\"LOG\",\"description\":\"specifies a logarithmic scale for the axis.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1lyo5htlrr0den15zwddunxzp5na\"},{\"name\":\"TIME\",\"description\":\"specifies a time scale for the axis.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0hc2qzl5fj45rn1a4iw7s9psbina\"}],\"supportSiteTargetFragment\":\"p1h81uw0b6g1ztn1if1p5qo1vdama\"},{\"name\":\"VALUEATTRS=\",\"optional\":true,\"description\":\"specifies the appearance of the axis tick value labels.\",\"help\":\"VALUEATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"n10e30jc5efr1gn0z6led1hgcleka\"},{\"name\":\"VALUES=\",\"optional\":true,\"description\":\"specifies the values for the ticks on an axis.\",\"help\":\"VALUES=(*values-list* ) | (\\\"*string-list*\\\")\",\"type\":\"choice\",\"arguments\":[{\"name\":\"values-list\",\"placeholder\":true,\"description\":\"specifies tick values for linear, time, and logarithmic axes.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0sivtia7tma0en16bi1h2xf0nmqa\"},{\"name\":\"\\\"string-list\\\"\",\"placeholder\":true,\"description\":\"specifies a space-separated list of string values enclosed in parentheses for a discrete axis .\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1bou1t6w3dmqxn16i72zhpmv3uua\"}],\"supportSiteTargetFragment\":\"p0omniuabl2prtn1caoj3qso1hn9a\"},{\"name\":\"VALUESDISPLAY=\",\"optional\":true,\"description\":\"specifies the text that is to be displayed for the tick values that are defined in the VALUES= option.\",\"help\":\"VALUESDISPLAY=(\\\"*value1*\\\" \\\"*value2*\\\"  ...)\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1dfkle62vaqbgn1wa0yvjehx40ya\"},{\"name\":\"VALUESFORMAT=\",\"optional\":true,\"aliases\":[\"TICKVALUEFORMAT\"],\"description\":\"specifies how to format the values for major tick marks.\",\"help\":\"VALUESFORMAT=DATA | *SAS-format*\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DATA\",\"description\":\"uses the format that has been assigned to the column that is contributing to the axis (or BEST6 if no format is assigned) in order to control the formatting of the major tick values.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p19u5i6t15mrvln1s1py4yq2qmzla\"},{\"name\":\"SAS-format\",\"placeholder\":true,\"description\":\"specifies a format to apply to the major tick values.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p05qadk09o202on1bqhqkv9fhysfa\"}],\"supportSiteTargetFragment\":\"p13jd05jqnjaxwn156q7ismvtx8za\"},{\"name\":\"VALUESHALIGN=\",\"optional\":true,\"description\":\"specifies the horizontal alignment for all of the tick values that are displayed on the axis.\",\"help\":\"VALUESHALIGN=LEFT | CENTER | RIGHT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"LEFT\",\"type\":\"standalone\"},{\"name\":\"CENTER\",\"type\":\"standalone\"},{\"name\":\"RIGHT\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"p0wq615dt4o121n1sjj5207cc2kb\"},{\"name\":\"VALUESHINT\",\"optional\":true,\"description\":\"specifies that the minimum and maximum axis values are determined independently of the values that you specify in the VALUES= option.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p179dwm9om8fl4n1qlejwpcnpe02a\"}],\"supportSiteTargetFile\":\"p0f58khb9ty7t0n16h8rnpgvsgx3.htm\"},{\"name\":\"ROWAXISTABLE\",\"description\":\"Creates a basic plot that displays data values at specific locations along the vertical axis.\",\"help\":\"ROWAXISTABLE  *variable*&lt; ...*variable-n*&gt;&lt;/*options*&gt;;\",\"arguments\":[{\"name\":\"variable\",\"placeholder\":true,\"description\":\"specifies one or more variables for the axis table.\",\"help\":\"*variable*&lt; ...*variable-n*&gt;\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0x76quysfqc4jn1cdv4i59lgd20\"},{\"name\":\"ATTRID=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the value of the ID variable in a discrete attribute map data set.\",\"help\":\"ATTRID=*character-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1uxs2avsp1mrtn19pateg7icm4dz6\"},{\"name\":\"CLASS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"creates a separate axis table for each unique value of the specified variable.\",\"help\":\"CLASS=*variable* \",\"type\":\"value\",\"supportSiteTargetFragment\":\"n00qm8kmc4jwjun1qakkzs1mcy3za\"},{\"name\":\"CLASSDISPLAY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies how the class values are displayed.\",\"help\":\"CLASSDISPLAY=STACK | CLUSTER\",\"type\":\"choice\",\"arguments\":[{\"name\":\"STACK\",\"followsDelimiter\":\"/\",\"description\":\"displays the class values horizontally at each midpoint value on the Y axis.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1ec3sari684pcn1iqkabypv0t4ma\"},{\"name\":\"CLUSTER\",\"followsDelimiter\":\"/\",\"description\":\"displays the class values vertically at each midpoint value on the Y axis.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n15i4k5i5uk0ajn1rwlyqtjl1r55a\"}],\"supportSiteTargetFragment\":\"p1aavdrbwrac54n11p03rupzlkwma\"},{\"name\":\"CLASSORDER=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the order in which the class values are displayed.\",\"help\":\"CLASSORDER=DATA | REVERSEDATA | ASCENDING | DESCENDING\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DATA\",\"followsDelimiter\":\"/\",\"description\":\"displays the class values in the order in which they occur in the data.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p132owqjtf98nkn1x7ojfyyj6zeqa\"},{\"name\":\"REVERSEDATA\",\"followsDelimiter\":\"/\",\"description\":\"displays the class values in the reverse order from which they occur in the data.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0ekadnhf1ed3kn14vbcxaajl0h8a\"},{\"name\":\"ASCENDING\",\"followsDelimiter\":\"/\",\"description\":\"displays the class values in ascending order.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0jri83r9fqrk3n1alayli1eb0ula\"},{\"name\":\"DESCENDING\",\"followsDelimiter\":\"/\",\"description\":\"displays the class values in descending order.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n128nchp6s3gg7n18fsh0nkg4bl1a\"}],\"supportSiteTargetFragment\":\"p0zh3fmkxoef7qn1azdwur2fxyt8a\"},{\"name\":\"COLORGROUP=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a variable that is used to determine the color of the table values.\",\"help\":\"COLORGROUP=*variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0xssing6ggczdn15n6dd6oo8quza\"},{\"name\":\"DROPONMISSING\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that the entire axis table is dropped when all of the values are missing.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0aou7oxmq7av9n1okj1bklu9vlqa\"},{\"name\":\"LABEL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies whether the table label is shown or hidden.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0smvgpd15ywqun12lfwa52c17uja\"},{\"name\":\"LABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies whether the table label is shown or hidden.\",\"help\":\"LABEL=\\\"*text-string*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0smvgpd15ywqun12lfwa52c17uja\"},{\"name\":\"NOLABEL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies whether the table label is shown or hidden.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0smvgpd15ywqun12lfwa52c17uja\"},{\"name\":\"LABELATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the color and font attributes of the axis table label.\",\"help\":\"LABELATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"n0d5rch22duq4fn1277kzd2i5d4wa\"},{\"name\":\"LABELHALIGN=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the horizontal alignment of the column labels.\",\"help\":\"LABELHALIGN=LEFT | CENTER | RIGHT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"LEFT\",\"type\":\"standalone\"},{\"name\":\"CENTER\",\"type\":\"standalone\"},{\"name\":\"RIGHT\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"n0hvljlld8azewn1d21bc3rubx1p\"},{\"name\":\"LABELJUSTIFY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the justification of the labels, when displayed.\",\"help\":\"LABELJUSTIFY=LEFT | CENTER | RIGHT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"LEFT\",\"type\":\"standalone\"},{\"name\":\"CENTER\",\"type\":\"standalone\"},{\"name\":\"RIGHT\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"n11vi0prplyhn2n19430ybhbp6s3\"},{\"name\":\"LABELPOS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the position of the labels at the bottom or top of the axis table.\",\"help\":\"LABELPOS=BOTTOM | TOP\",\"type\":\"choice\",\"arguments\":[{\"name\":\"BOTTOM\",\"type\":\"standalone\"},{\"name\":\"TOP\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"n0s43gvv8bqmofn18gon42wf5nfj\"},{\"name\":\"NAME=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a name for the plot.\",\"help\":\"NAME=\\\"*text-string*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p00f81g82wmzr5n15sik0znnzfy9z11\"},{\"name\":\"NOMISSINGCHAR\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses the display of the MISSING character (.) for missing numeric values.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0jsu5j6fam2lpn1gv80dymg3abda\"},{\"name\":\"NOMISSINGCLASS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that missing values of the class variable are not included in the table.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1pq5lv2rtp2man1xdaxtqeq1xnxa\"},{\"name\":\"PAD=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the amount of extra space that is added inside the table border.\",\"help\":\"PAD=*numeric-value*&lt;*units*&gt; | (*pad-options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"numeric-valueunits\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a dimension to use for the extra space at the table border.\",\"help\":\"*numeric-value*&lt;*units*&gt; \",\"type\":\"value\",\"supportSiteTargetFragment\":\"n12w2h3wfgzk4jn16kxgt2gc5xmea\"},{\"name\":\"LEFT=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the amount of extra space added to the left side.\",\"help\":\"LEFT=*numeric-value*&lt;*units*&gt;\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n133dw2f4d0q30n1173vs8d6usjya\"},{\"name\":\"RIGHT=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the amount of extra space added to the right side.\",\"help\":\"RIGHT=*numeric-value*&lt;*units*&gt;\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n18rnznjfvdmh2n1hva1bxao699da\"},{\"name\":\"TOP=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the amount of extra space added to the top.\",\"help\":\"TOP=*dimension*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n089q0qn2io57jn1sazc9kf8d0cpa\"},{\"name\":\"BOTTOM=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the amount of extra space added to the bottom.\",\"help\":\"BOTTOM=*dimension*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p146riyec6iwdsn18ptz9kt6iut5a\"}],\"supportSiteTargetFragment\":\"n1nrg76z20gitan1b70ugf1mb71oa\"},{\"name\":\"POSITION=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the position of the axis table at the left or right side of the graph cell.\",\"help\":\"POSITION=LEFT | RIGHT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"LEFT\",\"type\":\"standalone\"},{\"name\":\"RIGHT\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"n0g0q29a45pia2n1ppzosid5vkvf\"},{\"name\":\"SEPARATOR\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"creates a separating line between the axis table or axis tables and the plot.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1i9cmexzqqmj5n1rgu7suhvgk1ta\"},{\"name\":\"STAT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the statistic for the axis table.\",\"help\":\"STAT=FREQ | MEAN | MEDIAN | PERCENT | SUM\",\"type\":\"choice\",\"arguments\":[{\"name\":\"FREQ\",\"followsDelimiter\":\"/\",\"description\":\"the frequency of the axis table variable.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1mfjvzw5eqnvkn1546imznkdvxba\"},{\"name\":\"MEAN\",\"followsDelimiter\":\"/\",\"description\":\"the mean of the axis table variable.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n11mi0y7gvwc7bn11ef0b9cahddja\"},{\"name\":\"MEDIAN\",\"followsDelimiter\":\"/\",\"description\":\"the median of the axis table variable.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1xp4w0ti6jwm4n1frruhq7nxp27a\"},{\"name\":\"PERCENT\",\"followsDelimiter\":\"/\",\"aliases\":[\"PCT\"],\"description\":\"the percentage of the sum of the axis table variable.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1097zz9ynigt5n104tjtwo6hd6wa\"},{\"name\":\"SUM\",\"followsDelimiter\":\"/\",\"description\":\"the sum of the axis table variable.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0wmavpcwlpbs3n1v9xf6llptnw8a\"}],\"supportSiteTargetFragment\":\"n0y7yy89rqzsyfn18ce6skay7q5ta\"},{\"name\":\"STATLABEL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies whether the variable statistic is displayed in the table’s label.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p19lhbuife8rbwn1soiq76on40w4a\"},{\"name\":\"NOSTATLABEL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies whether the variable statistic is displayed in the table’s label.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p19lhbuife8rbwn1soiq76on40w4a\"},{\"name\":\"TEXTGROUP=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the group variable that is used in a discrete attribute map data set to map text attributes to values for each observation.\",\"help\":\"TEXTGROUP=*attribute-map-group-variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n19ceja6ercgyyn16miadrg5gwi6a\"},{\"name\":\"TEXTGROUPID=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies an attribute ID for the TEXTGROUP= option.\",\"help\":\"TEXTGROUPID=*attribute-map-id*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0qtze708tswtxn1fgm7pw9zin8la\"},{\"name\":\"TITLE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a title for the axis table.\",\"help\":\"TITLE=\\\"*text-string*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1kbg6rntv0od0n1qjoyx5k6n7yna\"},{\"name\":\"TITLEATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the appearance of the title for the axis table.\",\"help\":\"TITLEATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p19far3ej25xgbn110ux00m3731fa\"},{\"name\":\"TITLEHALIGN=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the horizontal alignment of the axis table title bounding box relative to the axis table width.\",\"help\":\"TITLEHALIGN=LEFT | CENTER | RIGHT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"LEFT\",\"type\":\"standalone\"},{\"name\":\"CENTER\",\"type\":\"standalone\"},{\"name\":\"RIGHT\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"n0fxhfb7u2wf8kn1wsap91s698be\"},{\"name\":\"TITLEJUSTIFY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the justification of the lines of a multiline title in the title bounding box. The justification is relative to the axis table width.\",\"help\":\"TITLEJUSTIFY=LEFT | CENTER | RIGHT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"LEFT\",\"type\":\"standalone\"},{\"name\":\"CENTER\",\"type\":\"standalone\"},{\"name\":\"RIGHT\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"n1be2ssp1c1c1nn1jrhii911p1t4\"},{\"name\":\"VALUEATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the appearance of the axis table values.\",\"help\":\"VALUEATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"n1jx1gyex5e3p7n11ebwz6lhbz9pa\"},{\"name\":\"VALUEHALIGN=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the horizontal alignment of the column values relative to the column width in the axis table.\",\"help\":\"VALUEHALIGN=LEFT | CENTER | RIGHT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"LEFT\",\"type\":\"standalone\"},{\"name\":\"CENTER\",\"type\":\"standalone\"},{\"name\":\"RIGHT\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"n1n2swjxipor4bn1fcvxwe9var4k\"},{\"name\":\"VALUEJUSTIFY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the justification of the column values relative to the column width in the axis table.\",\"help\":\"VALUEJUSTIFY=LEFT | CENTER | RIGHT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"LEFT\",\"type\":\"standalone\"},{\"name\":\"CENTER\",\"type\":\"standalone\"},{\"name\":\"RIGHT\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"p0bjzaaxvs8sjtn19lihc88hj2hp\"},{\"name\":\"Y=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the Y variable to use to align the table values to the Y axis.\",\"help\":\"Y=*variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n17o4s023e16v7n1idfucu77u5dg\"}],\"supportSiteTargetFile\":\"n0wxwf0bno4gszn1fh1gwlyta1fc.htm\"},{\"name\":\"ATTRIB\",\"description\":\"Associates a format, informat, label, and length with one or more variables.\",\"help\":\"ATTRIB  *variable-list(s)**attribute-list(s)*;\",\"arguments\":[{\"name\":\"variable-list\",\"optional\":true,\"placeholder\":true,\"description\":\"names the variables that you want to associate with the attributes.\",\"help\":\"*variable-list(s)*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1nd0mq22iu6ovn14mz1ot1hwcji\"},{\"name\":\"FORMAT=\",\"description\":\"associates a format with variables in variable-list.\",\"help\":\"FORMAT=*format*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p08pt9ce6bhq86n18a3zcc97bldz\"},{\"name\":\"INFORMAT=\",\"description\":\"associates an informat with variables in variable-list.\",\"help\":\"INFORMAT=*informat*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n136glco6ritqdn160792yhk9mv1\"},{\"name\":\"LABEL=\",\"description\":\"associates a label with variables in variable-list.\",\"help\":\"LABEL='*label*' \",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0a9x9io5pi05mn1i4p2cphc7t0n\"}],\"supportSiteTargetFile\":\"n09bxytcjmyp75n1mc29q45qhpms.htm\"},{\"name\":\"BY\",\"description\":\"Orders the output according to the BY groups.\",\"help\":\"BY <DESCENDING>variable-1\\n\\t<-<DESCENDING> variable-n>\\n\\t<NOTSORTED>;\",\"arguments\":[{\"name\":\"variable\",\"placeholder\":true,\"description\":\"specifies the variable that the procedure uses to form BY groups. You can specify more than one variable. If you do not use the NOTSORTED option in the BY statement, then either the observations in the data set must be sorted by all the variables that you specify, or they must be indexed appropriately. Variables in a BY statement are called BY variables.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0e9kbav2i9chhn1xectebpz4s14\"},{\"name\":\"DESCENDING\",\"optional\":true,\"description\":\"specifies that the observations are sorted in descending order by the variable that immediately follows the word DESCENDING in the BY statement.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1au0lhf4hi1h2n1le3cx2tp74l5\"},{\"name\":\"NOTSORTED\",\"optional\":true,\"description\":\"specifies that observations are not necessarily sorted in alphabetic or numeric order. The observations are grouped in another way (for example, chronological order).\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p068zvjhrpn2awn1bygis4m6hppa\"}],\"supportSiteTargetFile\":\"p1tkzb6q5jl1omn1payndkh1g3nw.htm\"},{\"name\":\"FORMAT\",\"description\":\"Associates formats with variables.\",\"help\":\"FORMAT *variable-1*&lt;-*variable-n*&gt;&lt;*format-1*&gt;&lt;*variable-1*&lt;-*variable-n*&gt;&lt;*format-2*&gt;&gt; - &lt;DEFAULT=*default-format*&gt;;\",\"arguments\":[{\"name\":\"variable\",\"placeholder\":true,\"description\":\"names one or more variables for SAS to associate with a format. You must specify at least one variable.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1d0cionbspk2tn1ma0m6kjd1ntx\"},{\"name\":\"format\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the format that is listed for writing the values of the variables.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0oulvct798v2wn1lll17t854rg8\"},{\"name\":\"DEFAULT=\",\"optional\":true,\"description\":\"specifies a temporary default format for displaying the values of variables that are not listed in the FORMAT statement. These default formats apply only to the current DATA step; they are not permanently associated with variables in the output data set.\",\"help\":\"DEFAULT=*default-format*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0k0jb3arokdz9n1g3q3zizh81g4\"}],\"supportSiteTargetFile\":\"n1x0d6bnw9wtyun1rhq5p7tis5gs.htm\"},{\"name\":\"LABEL\",\"description\":\"Assigns descriptive labels to variables.\",\"help\":\"Form 1: Creates a descriptive label for one or more variables.\\nLABEL variable-1=’text-string’ < ...variable-n=’text-string>; \\nForm 2: Removes the label from one or more variables.\\nLABEL variable-1 = ' ' < ...variable-n=’ ‘>; | variable-1 = < ...variable-n= >\",\"arguments\":[{\"name\":\"text-string\",\"placeholder\":true,\"description\":\"specifies a label of up to 256 bytes.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n09u0k5ydxzgr3n1dfznhvex7uuo\"},{\"name\":\"'\",\"placeholder\":true,\"description\":\"removes a label from a variable. Enclose a single blank space in quotation marks to remove an existing label. You can remove labels from multiple variables in a single LABEL statement:\",\"help\":\"*' '*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1dl99omzes92cn1typpf6yl1ng0\"}],\"supportSiteTargetFile\":\"n0b8jun5pu2j52n1duycwzzhrtmw.htm\"},{\"name\":\"WHERE\",\"description\":\"Subsets the input data set by specifying certain conditions that each observation must meet before it is available for processing.\",\"help\":\"WHERE *where-expression*;\",\"arguments\":[{\"name\":\"where-expression\",\"placeholder\":true,\"description\":\"is an arithmetic or logical expression that generally consists of a sequence of operands and operators. For more information about where processing, see .\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0834dlfg85co3n18aqbvenv4b35\"}],\"supportSiteTargetFile\":\"n1rx5guqu5cxr1n1flpiox5ks7sr.htm\"}],\"supportSiteInformation\":{\"docsetId\":\"grstatproc\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"n0zgx9a7en0g5vn1tjpja6sxdiwr.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/SGPIE.json",
    "content": "{\"name\":\"SGPIE\",\"statements\":[{\"name\":\"PROC SGPIE\",\"description\":\"Identifies the data set that contains the plot variables. The statement also gives you the option to specify a description, control automatic legends, and specify whether the chart background is opaque or transparent.\",\"help\":\"PROC SGPIE <options>;             \\n\\tDONUT category-variable</options>           ;\\n\\n\\tKEYLEGEND </options>;\\n\\n\\tPIE category-variable</options>\\n\\n\\tSTYLEATTRS            </options>\\n\\n\\tATTRIB  variable-list(s) attribute-list(s);\\n\\n\\tBY variable-1< ...variable-N><options>;\\n\\n\\tFORMAT variable-1< ...variable-N<format-1>><options>;\\n\\n\\tLABEL variable-1=label-1< ...variable-n=label-n>;\\n\\n\\tWHERE where-expression;\\n\",\"arguments\":[{\"name\":\"DATA=\",\"optional\":true,\"description\":\"specifies the SAS data set that contains the variables to process.\",\"help\":\"DATA=*input-data-set*\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"n1oiji1xsl1s9mn1cwxnfcl8dehc\"},{\"name\":\"DATTRMAP=\",\"optional\":true,\"description\":\"specifies the discrete attribute map data set that you want to use with the procedure.\",\"help\":\"DATTRMAP=*discrete-attribute-map-data-set*\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"n0ngly66n30bkdn1ampdxu2pn9om\"},{\"name\":\"DESCRIPTION=\",\"optional\":true,\"aliases\":[\"DES=\"],\"description\":\"specifies a description for the output image.\",\"help\":\"DESCRIPTION=\\\"*text-string*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0w2xmopy608jvn1avts8j2q3omy\"},{\"name\":\"NOAUTOLEGEND\",\"optional\":true,\"description\":\"disables automatic legends from being generated.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1hxj5c8zx2u9zn1bdxm5hiecwpg\"},{\"name\":\"OPAQUE\",\"optional\":true,\"description\":\"specifies whether the graph background is opaque or transparent.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0xfkp1b7mmht2n1b9kkojf4ozgp\"},{\"name\":\"NOOPAQUE\",\"optional\":true,\"description\":\"specifies whether the graph background is opaque or transparent.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0xfkp1b7mmht2n1b9kkojf4ozgp\"}],\"supportSiteTargetFile\":\"p1fl502bzu5bj8n1bsqw1g2p6pjr.htm\"},{\"name\":\"DONUT\",\"description\":\"Creates a donut chart with slices representing counts or percents of unique category values. If a RESPONSE variable is specified, the chart summarizes the category values over corresponding values of the RESPONSE variable.\",\"help\":\"DONUT *category-variable*&lt;/*options*&gt;;\",\"arguments\":[{\"name\":\"category-variable\",\"placeholder\":true,\"description\":\"specifies the column for the category values.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1vjaebzkrfg5mn19m48kevosdhv\"},{\"name\":\"ATTRID=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the value of the ID variable in a discrete attribute map data set.\",\"help\":\"ATTRID=*character-value* \",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0oajqb4f992rin18dzzocaagn2q\"},{\"name\":\"DATALABELATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the color and font attributes of the slice labels.\",\"help\":\"DATALABELATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p1s9o6gpsz9jhjn110jxtplmum0q\"},{\"name\":\"DATALABELDISPLAY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the information to display in the slice labels.\",\"help\":\"DATALABELDISPLAY=ALL | NONE | (*content-options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ALL\",\"followsDelimiter\":\"/\",\"description\":\"displays all available information\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1lm4epvt6f21vn1txjrkx3bggfv\"},{\"name\":\"NONE\",\"followsDelimiter\":\"/\",\"description\":\"does not display slice labels\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0mrciwuofnb89n1brwniahvsdga\"},{\"name\":\"CATEGORY\",\"followsDelimiter\":\"/\",\"description\":\"displays the category value.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0fj0zb56oa6qdn1u1fp6o16hiyo\"},{\"name\":\"RESPONSE\",\"followsDelimiter\":\"/\",\"description\":\"displays the sum of the response value for each category.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0tja0qh0lutq6n1y0le0ldkbbrz\"},{\"name\":\"PERCENT\",\"followsDelimiter\":\"/\",\"description\":\"displays either of the following:\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0s2f5b2howwe6n1m3uhx5hmeyk5\"}],\"supportSiteTargetFragment\":\"n07ytk0b984kznn1qhhfpm0om5pt\"},{\"name\":\"DATALABELLOC=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies whether to display the slice labels within the slices or outside of the donut circumference.\",\"help\":\"DATALABELLOC=INSIDE | OUTSIDE | CALLOUT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"INSIDE\",\"followsDelimiter\":\"/\",\"description\":\"locates the slice labels inside the slices.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0923wpbwb1vvan1de5sjej55ne6\"},{\"name\":\"OUTSIDE\",\"followsDelimiter\":\"/\",\"description\":\"locates the slice labels outside of the donut circumference.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n11hoqr47mekq7n10lm1q6mvlipc\"},{\"name\":\"CALLOUT\",\"followsDelimiter\":\"/\",\"description\":\"locates the slice labels outside of the donut circumference and draws a line from the label to its slice.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1nmp29d8o720nn135fz5bgr56wt\"}],\"supportSiteTargetFragment\":\"p1evstz2lzuug4n17cay81ozl1c5\"},{\"name\":\"DATASKIN=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"enhances the visual appearance of the filled donut slices.\",\"help\":\"DATASKIN=NONE | CRISP | GLOSS | MATTE | PRESSED | SHEEN\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NONE\",\"type\":\"standalone\"},{\"name\":\"CRISP\",\"type\":\"standalone\"},{\"name\":\"GLOSS\",\"type\":\"standalone\"},{\"name\":\"MATTE\",\"type\":\"standalone\"},{\"name\":\"PRESSED\",\"type\":\"standalone\"},{\"name\":\"SHEEN\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"n0kjjzk948hly9n1jxdcokowy7td\"},{\"name\":\"DIRECTION=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies whether to display the donut slices in counterclockwise or clockwise sequence.\",\"help\":\"DIRECTION=COUNTERCLOCKWISE | CLOCKWISE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"COUNTERCLOCKWISE\",\"type\":\"standalone\"},{\"name\":\"CLOCKWISE\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"p1b6ceow8koq4in1icrj673vqs59\"},{\"name\":\"FILLPATTERN\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"enables the display of line fill patterns for the chart.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0erilb5qo68eon1sw224yce0j05\"},{\"name\":\"HOLELABEL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"displays a label for the donut hole.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1nx49953d7ustn12vo5243ftmdw\"},{\"name\":\"HOLELABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"displays a label for the donut hole.\",\"help\":\"HOLELABEL=\\\"*string*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1nx49953d7ustn12vo5243ftmdw\"},{\"name\":\"HOLELABELATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies text attributes for the label text in the donut hole.\",\"help\":\"HOLELABELATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p1lp6zf6o8nilmn1gunk3dar485z\"},{\"name\":\"HOLEVALUE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"displays a numeric value inside the donut hole.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0oqqpiv9urm12n1jew4sekdetnm\"},{\"name\":\"HOLEVALUE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"displays a numeric value inside the donut hole.\",\"help\":\"HOLEVALUE=*number*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0oqqpiv9urm12n1jew4sekdetnm\"},{\"name\":\"HOLEVALUEATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies text attributes for the value text in the donut hole.\",\"help\":\"HOLEVALUEATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"n1mq31v81gdqx3n1kz3a9pppv5tt\"},{\"name\":\"MAXSLICES=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the maximum number of slices in the donut. Any remaining slices are consolidated into the Other slice.\",\"help\":\"MAXSLICES=*positive integer*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1pcrxz4humf0xn15mwf02tmgpgs\"},{\"name\":\"MISSING\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"shows the data for missing category values.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n06vsbk7pt016zn1h4zciksyo4nl\"},{\"name\":\"NOFILL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"turns off the display of fill colors.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p12wmx2ciermlwn1lnx6vwih0k3y\"},{\"name\":\"OTHERFILLATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the fill color and transparency of the Other slice.\",\"help\":\"OTHERFILLATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p0zlndg81wqoyvn17z60vpg6epku\"},{\"name\":\"OTHERLABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a label for the Other slice.\",\"help\":\"OTHERLABEL=\\\"*string*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1jl2mfgwqx88un16ozeb80n97jt\"},{\"name\":\"OTHERPERCENT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"collects all category values with response values less than or equal to percent-of-total into the Other slice.\",\"help\":\"OTHERPERCENT=*percent-of-total*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0cihx559fltu1n1wzqp3w3ca0x4\"},{\"name\":\"RESPONSE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a numeric variable for the response values.\",\"help\":\"RESPONSE=*numeric-variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1h1e2gl18caynn1poz4lx2k4xtc\"},{\"name\":\"RINGSIZE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the proportion of the donut radius to be occupied by the donut ring.\",\"help\":\"RINGSIZE=*numeric-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0lrz8sefq41zin128ou9dmmkayo\"},{\"name\":\"SLICEORDER=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the order of the donut slices.\",\"help\":\"SLICEORDER=DATA | FORMATTED | UNFORMATTED | RESPASC | RESPDESC\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DATA\",\"followsDelimiter\":\"/\",\"description\":\"draws the slices in data order.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0hjotvpsxf0i7n1ks5v8m1zoydz\"},{\"name\":\"FORMATTED\",\"followsDelimiter\":\"/\",\"description\":\"draws the slices in ascending order of the formatted category variable.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0rf6xtolkp6b3n1e5bs1jhhra5y\"},{\"name\":\"UNFORMATTED\",\"followsDelimiter\":\"/\",\"description\":\"draws the slices in ascending order of the unformatted category variable.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0j1ayo0ib8ulin1cljtzei5xk7b\"},{\"name\":\"RESPASC\",\"followsDelimiter\":\"/\",\"description\":\"draws the slices in ascending summed order of the response variable.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n15jopko98yb2tn15y79zdspegy5\"},{\"name\":\"RESPDESC\",\"followsDelimiter\":\"/\",\"description\":\"draws the slices in descending summed order of the response variable.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p117riuejo9dcfn1s42am74l3e5u\"}],\"supportSiteTargetFragment\":\"n1o5s97g4eeuzen118zjy2nver5l\"},{\"name\":\"STARTANGLE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies which degree between 0 and 360 serves as the starting position for the first slice.\",\"help\":\"STARTANGLE=*degrees*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1ar82t8e84xgzn1u4qpmews3qjf\"},{\"name\":\"STARTPOS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies whether the center or the edge of the slice is positioned at the start angle.\",\"help\":\"STARTPOS=CENTER | EDGE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"CENTER\",\"type\":\"standalone\"},{\"name\":\"EDGE\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"n1usi6g96rsjl8n1vkt2p3aav0cf\"},{\"name\":\"STATFMT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the format of the displayed statistical value.\",\"help\":\"STATFMT=*format-specification*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0lejebec9bmvin1k5m311l9u3vz\"},{\"name\":\"TIP=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the data tip information to be displayed when the cursor is positioned over the graphics element.\",\"help\":\"TIP=(*variable-list*) | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"(variable-list)\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"a space-separated list of variables enclosed in parentheses.\",\"help\":\"(*variable-list*) \",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0k8ro6z03xwxhn1a801e2k6zpix\"},{\"name\":\"NONE\",\"followsDelimiter\":\"/\",\"description\":\"suppresses the data tips from this chart.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1omipfkhyl3kmn1k8y1igvmpvdl\"}],\"supportSiteTargetFragment\":\"n1rdj162whjje1n1foh9w5voeagj\"},{\"name\":\"TIPFORMAT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"applies formats to the list of data tip variables that you specify in the TIP= option.\",\"help\":\"TIPFORMAT=(*format-list*)\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0d1qbft0javk8n1d8vd7lqyn65k\"},{\"name\":\"TIPLABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"applies labels to the list of data tip variables that you specify in the TIP= option.\",\"help\":\"TIPLABEL=(*label-list*)\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p06qm7p6z9zy13n1mk50rn2nqo3r\"},{\"name\":\"URL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies an HTML page to be displayed when parts of the plot are selected.\",\"help\":\"URL=*character-variable*\",\"type\":\"value\",\"arguments\":[{\"name\":\"character-variable\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a variable that contains a valid HTML page reference (HREF) for each plot element that is to have an active link.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1x8z7q2iusevvn1y2jtjklxdyk7\"}],\"supportSiteTargetFragment\":\"p17evwubimnh42n1fb0b2904f6xq\"}],\"supportSiteTargetFile\":\"p0ehkvkxe1ud26n1lcsdvk2a14ts.htm\"},{\"name\":\"KEYLEGEND\",\"description\":\"Creates a legend based on information from pie and donut statements. This statement is used to control the automated legend when it is displayed.\",\"help\":\"KEYLEGEND &lt;/*options*&gt;;\",\"arguments\":[{\"name\":\"ACROSS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the number of columns in the legend.\",\"help\":\"ACROSS=*n*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n058vcht54qmvrn1d4auzlboky9f\"},{\"name\":\"AUTOITEMSIZE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that all swatches in the legend are sized in proportion to the font size used for the legend value labels.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1o3egszgrqig1n1cpbhu2nae3pk\"},{\"name\":\"BORDER\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies whether a border is displayed around the legend.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1mjp3bzlrxjnfn1p1a6dvr8noq2\"},{\"name\":\"NOBORDER\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies whether a border is displayed around the legend.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1mjp3bzlrxjnfn1p1a6dvr8noq2\"},{\"name\":\"DOWN=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the number of rows in the legend.\",\"help\":\"DOWN=*n*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1ekq9ljqcnc3qn1vmc9dc2jrblm\"},{\"name\":\"FILLASPECT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies an aspect ratio for the fill swatches based on their height.\",\"help\":\"FILLASPECT=GOLDEN | *positive-number*\",\"type\":\"choice\",\"arguments\":[{\"name\":\"GOLDEN\",\"followsDelimiter\":\"/\",\"description\":\"specifies the golden ratio of 1.618 (width = 1.618 * height).\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1s5hnqnzsyrugn1sm1i5ekquhnb\"},{\"name\":\"positive-number\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a custom aspect ratio.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0a4l76yitab3wn1i91ymx98v44y\"}],\"supportSiteTargetFragment\":\"n0atsjli5k4zven1phb0id5hoz8d\"},{\"name\":\"FILLHEIGHT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the height of the fill swatches.\",\"help\":\"FILLHEIGHT=*numeric-value*&lt;*units*&gt;\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0bzinqgsufzson1nxp3v6yfnk4j\"},{\"name\":\"POSITION=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the position of the legend within the graph.\",\"help\":\"POSITION=*position-value*\",\"type\":\"value\",\"arguments\":[{\"name\":\"BOTTOM\",\"followsDelimiter\":\"/\",\"description\":\"places the legend at the bottom of the graph.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1upecmumkq6ypn10i074ab04sna\"},{\"name\":\"BOTTOMLEFT\",\"followsDelimiter\":\"/\",\"description\":\"places the legend at the bottom left corner of the graph.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0m90s6c4k5fsmn15jaesverxi59\"},{\"name\":\"BOTTOMRIGHT\",\"followsDelimiter\":\"/\",\"description\":\"places the legend at the bottom right corner of the graph.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1e77s9m5k1tcbn1bd40088zo120\"},{\"name\":\"LEFT\",\"followsDelimiter\":\"/\",\"description\":\"places the legend at the left side of the graph.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0hoqdi7ol32ain1hunvxfld1007\"},{\"name\":\"RIGHT\",\"followsDelimiter\":\"/\",\"description\":\"places the legend at the right side of the graph.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1xir5c5nxg4f7n1n22gkozium3t\"},{\"name\":\"TOP\",\"followsDelimiter\":\"/\",\"description\":\"places the legend at the top of the graph.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1h2187sdp780kn1j9d5sx0o7cn2\"},{\"name\":\"TOPLEFT\",\"followsDelimiter\":\"/\",\"description\":\"places the legend at the top left corner of the graph.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1jn9486bjfcbun15pys23dc1ijg\"},{\"name\":\"TOPRIGHT\",\"followsDelimiter\":\"/\",\"description\":\"places the legend at the top right corner of the graph.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0ekpm8oxe7eqxn1b6di85rnkomf\"}],\"supportSiteTargetFragment\":\"n0xgec5izocf4on1dhgiwcv3cgml\"},{\"name\":\"SCALE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a scale factor that is to be applied to the fill swatch height.\",\"help\":\"SCALE=*positive-number*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0qgwlpyv1bsmkn1vl3u95aeimt6\"},{\"name\":\"SORTORDER=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the sort order to use for the legend entry labels.\",\"help\":\"SORTORDER=ASCENDING | DESCENDING\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ASCENDING\",\"type\":\"standalone\"},{\"name\":\"DESCENDING\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"n09urfi7ei4wasn1oio5mdt6htx0\"},{\"name\":\"TITLE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a title for the legend.\",\"help\":\"TITLE=\\\"*text-string*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0qurm36s4qaxgn1e2779lapnjuu\"},{\"name\":\"TITLEATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the appearance of the title.\",\"help\":\"TITLEATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p0rqic0x0sc3gsn131pbvr8w9een\"},{\"name\":\"VALUEATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the appearance of the legend value labels.\",\"help\":\"VALUEATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"n1q3gxq68roy9rn1nt7qnfqdwad2\"}],\"supportSiteTargetFile\":\"p1totei99jbyern1qsu8cz5bbn6q.htm\"},{\"name\":\"PIE\",\"description\":\"Creates a pie chart with slices representing counts or percents of unique category values. If a RESPONSE variable is specified, the chart summarizes the category values over corresponding values of the RESPONSE variable.\",\"help\":\"PIE *category-variable*&lt;/*options*&gt;;\",\"arguments\":[{\"name\":\"category-variable\",\"placeholder\":true,\"description\":\"specifies the column for the category values.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0ou21m9dnem5vn1d7ut1ztvh8jt\"},{\"name\":\"ATTRID=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the value of the ID variable in a discrete attribute map data set.\",\"help\":\"ATTRID=*character-value* \",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0oajqb4f992rin18dzzocaagn2qa\"},{\"name\":\"DATALABELATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the color and font attributes of the slice labels.\",\"help\":\"DATALABELATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"n0cr5ky92bepu8n1pjbuejw6xb81\"},{\"name\":\"DATALABELDISPLAY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the information to display in the slice labels.\",\"help\":\"DATALABELDISPLAY=ALL | NONE | (*content-options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ALL\",\"followsDelimiter\":\"/\",\"description\":\"displays all available information\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n10r841zbmvg9pn15t7a8xxgb5yr\"},{\"name\":\"NONE\",\"followsDelimiter\":\"/\",\"description\":\"does not display slice labels\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0nnpggr43qvzsn1po8qlz0ubgug\"},{\"name\":\"CATEGORY\",\"followsDelimiter\":\"/\",\"description\":\"displays the category value.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0tqatbm1c8zrsn1pmc062pse3rz\"},{\"name\":\"RESPONSE\",\"followsDelimiter\":\"/\",\"description\":\"displays the sum of the response value for each category.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1c7sanceouh8ln12dl9co4rnyrz\"},{\"name\":\"PERCENT\",\"followsDelimiter\":\"/\",\"description\":\"displays the response or category percentage.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p17dq7jfmnnw6rn1k46mm9wwv2je\"}],\"supportSiteTargetFragment\":\"p06ihm38yxpzdcn1s48kjgfgx02y\"},{\"name\":\"DATALABELLOC=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies whether to display the slice labels within the pie slices or outside of the pie circumference.\",\"help\":\"DATALABELLOC=INSIDE | OUTSIDE | CALLOUT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"INSIDE\",\"followsDelimiter\":\"/\",\"description\":\"locates the slice labels inside the pie slices.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0s170n746cwygn12b6a4tsgwxqy\"},{\"name\":\"OUTSIDE\",\"followsDelimiter\":\"/\",\"description\":\"locates the slice labels outside of the pie circumference.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0l4p9ze1thx6ln1eabfm88rhgku\"},{\"name\":\"CALLOUT\",\"followsDelimiter\":\"/\",\"description\":\"locates the slice labels outside of the pie circumference and draws a line from the label to its slice.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n020yqbkkzuqc9n1otqm4jx8j1o8\"}],\"supportSiteTargetFragment\":\"n1i6xapdqgxlk6n15spoqyyaqgow\"},{\"name\":\"DATASKIN=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"enhances the visual appearance of the filled pie slices.\",\"help\":\"DATASKIN=NONE | CRISP | GLOSS | MATTE | PRESSED | SHEEN\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NONE\",\"type\":\"standalone\"},{\"name\":\"CRISP\",\"type\":\"standalone\"},{\"name\":\"GLOSS\",\"type\":\"standalone\"},{\"name\":\"MATTE\",\"type\":\"standalone\"},{\"name\":\"PRESSED\",\"type\":\"standalone\"},{\"name\":\"SHEEN\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"n0ln4e2svpxkrgn165j6hvh62ya2\"},{\"name\":\"DIRECTION=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies whether to display the donut slices in counterclockwise or clockwise sequence.\",\"help\":\"DIRECTION=COUNTERCLOCKWISE | CLOCKWISE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"COUNTERCLOCKWISE\",\"type\":\"standalone\"},{\"name\":\"CLOCKWISE\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"p0yh874kw03krkn1jbggnxq55ioj\"},{\"name\":\"FILLPATTERN\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"enables the display of line fill patterns for the chart.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0erilb5qo68eon1sw224yce0j05a\"},{\"name\":\"MAXSLICES=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the maximum number of slices in the pie. Any remaining slices are consolidated into the Other slice.\",\"help\":\"MAXSLICES=*positive integer*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n04cxew1j7pf0an1h9h06lvpn5ca\"},{\"name\":\"MISSING\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"shows the data for missing category values.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p18v7p6g4925xhn1bca6cjgffhto\"},{\"name\":\"NOFILL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"turns off the display of fill colors.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p12wmx2ciermlwn1lnx6vwih0k3ya\"},{\"name\":\"OTHERFILLATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the fill color and transparency of the Other slice.\",\"help\":\"OTHERFILLATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"n0hqk1lrrp2g6nn1jwn55fldcqrx\"},{\"name\":\"OTHERLABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a label for the Other slice.\",\"help\":\"OTHERLABEL=\\\"*string*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0vt96e5r453scn1refh54mehszm\"},{\"name\":\"OTHERPERCENT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"collects all category values with response values less than or equal to percent-of-total into the Other slice.\",\"help\":\"OTHERPERCENT=*percent-of-total*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1i5ig5g8oum2xn10c7ghvnyns6z\"},{\"name\":\"RESPONSE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a numeric variable for the response values.\",\"help\":\"RESPONSE=*numeric-variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n073ls7czb9o8gn117e9zyttr7w4\"},{\"name\":\"SLICEORDER=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the order of the pie slices.\",\"help\":\"SLICEORDER=DATA | FORMATTED | UNFORMATTED | RESPASC | RESPDESC\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DATA\",\"followsDelimiter\":\"/\",\"description\":\"draws the slices in data order.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0dcazt8j9t2l8n15av43q7ool10\"},{\"name\":\"FORMATTED\",\"followsDelimiter\":\"/\",\"description\":\"draws the slices in ascending order of the formatted category variable.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1dersrbhyvpa1n1k39nstupev3r\"},{\"name\":\"UNFORMATTED\",\"followsDelimiter\":\"/\",\"description\":\"draws the slices in ascending order of the unformatted category variable.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0opx481juwlovn1myg5l477bjgi\"},{\"name\":\"RESPASC\",\"followsDelimiter\":\"/\",\"description\":\"draws the slices in ascending summed order of the response variable.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p03cixvkat54f7n154w25mps7uzr\"},{\"name\":\"RESPDESC\",\"followsDelimiter\":\"/\",\"description\":\"draws the slices in descending summed order of the response variable.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1fzkra3n8i0uan16qgnidvemkar\"}],\"supportSiteTargetFragment\":\"n007m6dabewaddn1hsvnudvb8fwv\"},{\"name\":\"STARTANGLE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies which degree between 0 and 360 serves as the starting position for the first slice.\",\"help\":\"STARTANGLE=*degrees*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p06c160wixcmv4n1m5qsxhzl1v7k\"},{\"name\":\"STARTPOS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies whether the center or the edge of the slice is positioned at the start angle.\",\"help\":\"STARTPOS=CENTER | EDGE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"CENTER\",\"type\":\"standalone\"},{\"name\":\"EDGE\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"n1usi6g96rsjl8n1vkt2p3aav0cfa\"},{\"name\":\"STATFMT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the format of the displayed statistical value.\",\"help\":\"STATFMT=*format-specification*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0lejebec9bmvin1k5m311l9u3vza\"},{\"name\":\"TIP=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the data tip information to be displayed when the cursor is positioned over the graphics element.\",\"help\":\"TIP=(*variable-list*) | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"(variable-list)\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"a space-separated list of variables enclosed in parentheses.\",\"help\":\"(*variable-list*) \",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0k8ro6z03xwxhn1a801e2k6zpixa\"},{\"name\":\"NONE\",\"followsDelimiter\":\"/\",\"description\":\"suppresses the data tips from this chart.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1omipfkhyl3kmn1k8y1igvmpvdla\"}],\"supportSiteTargetFragment\":\"n1rdj162whjje1n1foh9w5voeagja\"},{\"name\":\"TIPFORMAT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"applies formats to the list of data tip variables that you specify in the TIP= option.\",\"help\":\"TIPFORMAT=(*format-list*)\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0d1qbft0javk8n1d8vd7lqyn65ka\"},{\"name\":\"TIPLABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"applies labels to the list of data tip variables that you specify in the TIP= option.\",\"help\":\"TIPLABEL=(*label-list*)\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p06qm7p6z9zy13n1mk50rn2nqo3ra\"},{\"name\":\"URL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies an HTML page to be displayed when parts of the plot are selected.\",\"help\":\"URL=*character-variable*\",\"type\":\"value\",\"arguments\":[{\"name\":\"character-variable\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a variable that contains a valid HTML page reference (HREF) for each plot element that is to have an active link.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0563tqqzmz06qn1ba4n3mib2tlj\"}],\"supportSiteTargetFragment\":\"p12yqb3zkao7htn1hk9wt1olctol\"}],\"supportSiteTargetFile\":\"p02p7mhmfpwsixn16th3fjtr35uw.htm\"},{\"name\":\"STYLEATTRS\",\"description\":\"Specifies attributes for a graph. The statement enables you to change the appearance of some graphics elements within the procedure.\",\"help\":\"STYLEATTRS &lt;*options*&gt;;\",\"arguments\":[{\"name\":\"BACKCOLOR=\",\"optional\":true,\"description\":\"specifies the background color of the graph area.\",\"help\":\"BACKCOLOR=*color*\",\"type\":\"color\",\"supportSiteTargetFragment\":\"p0rfevm368j9nvn1jvjl3kbhnb61\"},{\"name\":\"DATACOLORS=\",\"optional\":true,\"description\":\"specifies the fill colors for the graphics elements.\",\"help\":\"DATACOLORS=(*color-list*)\",\"type\":\"color\",\"supportSiteTargetFragment\":\"n0ypp4w0xiinarn176deh0evhn6i\"},{\"name\":\"DATACONTRASTCOLORS=\",\"optional\":true,\"description\":\"specifies the contrast colors for the fill pattern, if used.\",\"help\":\"DATACONTRASTCOLORS=(*color-list*)\",\"type\":\"color\",\"supportSiteTargetFragment\":\"n0hno00oznab13n11de84qmlnlo7\"},{\"name\":\"DATAFILLPATTERNS=\",\"optional\":true,\"description\":\"specifies the list of graph fill patterns.\",\"help\":\"DATAFILLPATTERNS=(*fill-pattern-list*)\",\"type\":\"value\",\"arguments\":[{\"name\":\"fill-pattern-list\",\"placeholder\":true,\"description\":\"a space-separated list of fill patterns, enclosed in parentheses.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n076xa7r2ykj44n14tm3hir0h96e\"}],\"supportSiteTargetFragment\":\"n1oao803b1xj0dn1ckrz5h4rtfkz\"}],\"supportSiteTargetFile\":\"n04wp1wciaqxtdn10763lgnuj5dh.htm\"},{\"name\":\"ATTRIB\",\"description\":\"Associates a format, informat, label, and length with one or more variables.\",\"help\":\"ATTRIB  *variable-list(s)**attribute-list(s)*;\",\"arguments\":[{\"name\":\"variable-list\",\"optional\":true,\"placeholder\":true,\"description\":\"names the variables that you want to associate with the attributes.\",\"help\":\"*variable-list(s)*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1nd0mq22iu6ovn14mz1ot1hwcjia\"},{\"name\":\"FORMAT=\",\"description\":\"associates a format with variables in variable-list.\",\"help\":\"FORMAT=*format*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p08pt9ce6bhq86n18a3zcc97bldza\"},{\"name\":\"INFORMAT=\",\"description\":\"associates an informat with variables in variable-list.\",\"help\":\"INFORMAT=*informat*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n136glco6ritqdn160792yhk9mv1a\"},{\"name\":\"LABEL=\",\"description\":\"associates a label with variables in variable-list.\",\"help\":\"LABEL='*label*' \",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0a9x9io5pi05mn1i4p2cphc7t0na\"}],\"supportSiteTargetFile\":\"n09bxytcjmyp75n1mc29q45qhpmsa.htm\"},{\"name\":\"BY\",\"description\":\"Orders the output according to the BY groups.\",\"help\":\"BY <DESCENDING>variable-1\\n\\t<-<DESCENDING> variable-n>\\n\\t<NOTSORTED>;\",\"arguments\":[{\"name\":\"variable\",\"placeholder\":true,\"description\":\"specifies the variable that the procedure uses to form BY groups. You can specify more than one variable. If you do not use the NOTSORTED option in the BY statement, then either the observations in the data set must be sorted by all the variables that you specify, or they must be indexed appropriately. Variables in a BY statement are called BY variables.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0e9kbav2i9chhn1xectebpz4s14a\"},{\"name\":\"DESCENDING\",\"optional\":true,\"description\":\"specifies that the observations are sorted in descending order by the variable that immediately follows the word DESCENDING in the BY statement.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1au0lhf4hi1h2n1le3cx2tp74l5a\"},{\"name\":\"NOTSORTED\",\"optional\":true,\"description\":\"specifies that observations are not necessarily sorted in alphabetic or numeric order. The observations are grouped in another way (for example, chronological order).\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p068zvjhrpn2awn1bygis4m6hppaa\"}],\"supportSiteTargetFile\":\"p1tkzb6q5jl1omn1payndkh1g3nwa.htm\"},{\"name\":\"FORMAT\",\"description\":\"Associates formats with variables.\",\"help\":\"FORMAT *variable-1*&lt;-*variable-n*&gt;&lt;*format-1*&gt;&lt;*variable-1*&lt;-*variable-n*&gt;&lt;*format-2*&gt;&gt; - &lt;DEFAULT=*default-format*&gt;;\",\"arguments\":[{\"name\":\"variable\",\"placeholder\":true,\"description\":\"names one or more variables for SAS to associate with a format. You must specify at least one variable.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1d0cionbspk2tn1ma0m6kjd1ntxa\"},{\"name\":\"format\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the format that is listed for writing the values of the variables.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0oulvct798v2wn1lll17t854rg8a\"},{\"name\":\"DEFAULT=\",\"optional\":true,\"description\":\"specifies a temporary default format for displaying the values of variables that are not listed in the FORMAT statement. These default formats apply only to the current DATA step; they are not permanently associated with variables in the output data set.\",\"help\":\"DEFAULT=*default-format*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0k0jb3arokdz9n1g3q3zizh81g4a\"}],\"supportSiteTargetFile\":\"n1x0d6bnw9wtyun1rhq5p7tis5gsa.htm\"},{\"name\":\"LABEL\",\"description\":\"Assigns descriptive labels to variables.\",\"help\":\"Form 1: Creates a descriptive label for one or more variables.\\nLABEL variable-1=’text-string’ < ...variable-n=’text-string>; \\nForm 2: Removes the label from one or more variables.\\nLABEL variable-1 = ' ' < ...variable-n=’ ‘>; | variable-1 = < ...variable-n= >\",\"arguments\":[{\"name\":\"text-string\",\"placeholder\":true,\"description\":\"specifies a label of up to 256 bytes.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n09u0k5ydxzgr3n1dfznhvex7uuoa\"},{\"name\":\"'\",\"placeholder\":true,\"description\":\"removes a label from a variable. Enclose a single blank space in quotation marks to remove an existing label. You can remove labels from multiple variables in a single LABEL statement:\",\"help\":\"*' '*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1dl99omzes92cn1typpf6yl1ng0a\"}],\"supportSiteTargetFile\":\"n0b8jun5pu2j52n1duycwzzhrtmwa.htm\"},{\"name\":\"WHERE\",\"description\":\"Subsets the input data set by specifying certain conditions that each observation must meet before it is available for processing.\",\"help\":\"WHERE *where-expression*;\",\"arguments\":[{\"name\":\"where-expression\",\"placeholder\":true,\"description\":\"is an arithmetic or logical expression that generally consists of a sequence of operands and operators. For more information about where processing, see .\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0834dlfg85co3n18aqbvenv4b35a\"}],\"supportSiteTargetFile\":\"n1rx5guqu5cxr1n1flpiox5ks7sra.htm\"}],\"supportSiteInformation\":{\"docsetId\":\"grstatproc\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"n11xqf2g2rxnmbn1pgk4rbl5vz80.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/SGPLOT.json",
    "content": "{\"name\":\"SGPLOT\",\"statements\":[{\"name\":\"PROC SGPLOT\",\"description\":\"Creates a single-cell plot from input data.\",\"help\":\"PROC SGPLOT <options>;  \\n\\tSTYLEATTRS  </options>\\n\\n\\tBAND X=variable  Y=variable \\n\\t\\tUPPER= numeric-value |  numeric-variable | \\n\\t\\t LOWER= numeric-value numeric-variable </options>;\\n\\n\\tBLOCK X=category-variable   BLOCK=block-variable  </options>;\\n\\n\\tBUBBLE X=variable Y=variable SIZE=numeric-variable</options>;\\n\\n\\tDENSITY response-variable</options>;\\n\\n\\tDOT category-variable</options> ;\\n\\n\\tDROPLINE X=variable  | x-axis-value\\n\\t\\tY=variable y-axis-value</options>;\\n\\n\\tELLIPSE X=numeric-variable Y=numeric-variable</options>;\\n\\n\\tELLIPSEPARM SEMIMAJOR= numeric-value |  numeric-variable |  \\n\\t\\tSEMIMINOR= numeric-value numeric-variable </options>\\n\\n\\tFRINGE numeric-variable </options>;\\n\\n\\tGRADLEGEND <\\\"name\\\"></options>;\\n\\n\\tHBAR category-variable</options>;\\n\\n\\tHBARBASIC category-variable</options>;\\n\\n\\tHBARPARM CATEGORY= category-variable RESPONSE= numeric-variable</options>;\\n\\n\\tHBOX analysis-variable</options>;\\n\\n\\tHEATMAP X=variable Y=variable</options>;\\n\\n\\tHEATMAPPARM X=variable Y=variable\\n\\t\\tCOLORGROUP=variable | COLORRESPONSE=numeric-variable</options>;\\n\\n\\tHIGHLOW  X=variable |  Y=variable \\n\\t\\tHIGH=numeric-variable LOW=numeric-variable</option(s)>;\\n\\n\\tHISTOGRAM response-variable</options>;\\n\\n\\tHLINE category-variable</options>;\\n\\n\\tINSET \\\"text-string-1\\\"   ...\\\"text-string-n\\\" | (label-list)</options>;\\n\\n\\tKEYLEGEND <\\\"name-1\\\"  ... \\\"name-n\\\"></options>;\\n\\n\\tLEGENDITEM TYPE=type NAME=\\\"text-string\\\"</options>;\\n\\n\\tLINEPARM X=numeric-value | numeric-variable | \\n\\t\\tY=numeric-valuenumeric-variable | \\n\\t\\t SLOPE=numeric-value numeric-variable\\n\\t\\t </option(s)>;\\n\\n\\tLOESS  X=numeric-variable Y=numeric-variable</options>;\\n\\n\\tNEEDLE  X=variable Y=numeric-variable</options>;\\n\\n\\tPBSPLINE  X=numeric-variable Y=numeric-variable </options>;\\n\\n\\tPOLYGON X=x-variable Y=y-variable ID=id-variable</options>;\\n\\n\\tREFLINE value(s)</options>;\\n\\n\\tREG X=numeric-variable Y=numeric-variable </options>;\\n\\n\\tSCATTER X=variable Y=variable</options>;\\n\\n\\tSERIES X=variable Y=variable</options>;\\n\\n\\tSPLINE X=variable Y=variable</options>;\\n\\n\\tSTEP X=variable Y=variable</options>;\\n\\n\\tSYMBOLCHAR  NAME=identifier\\n\\t\\t CHAR=\\\"hex-string\\\" | keyword   </options>;\\n\\n\\tSYMBOLIMAGE  NAME=identifier IMAGE=\\\"image-file-specification\\\"</options>;\\n\\n\\tTEXT X=variable Y=variable TEXT=variable</options>;\\n\\n\\tVBAR category-variable</options>;\\n\\n\\tVBARBASIC category-variable</options>;\\n\\n\\tVBARPARM CATEGORY=category-variable RESPONSE=numeric-variable</options>;\\n\\n\\tVBOX analysis-variable</options>;\\n\\n\\tVECTOR X=numeric-variable Y=numeric-variable</options>;\\n\\n\\tVLINE category-variable</options>;\\n\\n\\tWATERFALL CATEGORY=variable RESPONSE=numeric-variable </options>;\\n\\n\\tXAXIS <options>;\\n\\n\\tX2AXIS <options>;\\n\\n\\tXAXISTABLE variable< ...variable-n></options>;\\n\\n\\tYAXIS <options>;\\n\\n\\tY2AXIS <options>;\\n\\tYAXISTABLE variable< ...variable-n></options>;\\n\\tATTRIB  variable-list(s) attribute-list(s);\\n\\tBY variable-1< ...variable-N><options>;\\n\\tFORMAT variable-1< ...variable-N<format-1>><options>;\\n\\tLABEL variable-1=label-1< ...variable-n=label-n>;\\n\\tWHERE where-expression;\",\"arguments\":[{\"name\":\"ASPECT=\",\"optional\":true,\"description\":\"specifies the aspect ratio of the plot’s wall area.\",\"help\":\"ASPECT=*positive-number*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p00zvhaib2skg9n10khojgxdigzh\"},{\"name\":\"CYCLEATTRS\",\"optional\":true,\"description\":\"specifies whether plots are drawn with unique attributes in the graph.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p00amdk90vsdtxn194n2lx3eagvh\"},{\"name\":\"NOCYCLEATTRS\",\"optional\":true,\"description\":\"specifies whether plots are drawn with unique attributes in the graph.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p00amdk90vsdtxn194n2lx3eagvh\"},{\"name\":\"DATA=\",\"optional\":true,\"description\":\"specifies the SAS data set that contains the variables to process.\",\"help\":\"DATA=*input-data-set*\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"n1sblbbjf8v3lcn1okfr512tmq30\"},{\"name\":\"DATTRMAP=\",\"optional\":true,\"description\":\"specifies the discrete attribute map data set that you want to use with the procedure.\",\"help\":\"DATTRMAP=*discrete-attribute-map-data-set*\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"n19g8go7gul99sn1fkyouvcnwyaj\"},{\"name\":\"DESCRIPTION=\",\"optional\":true,\"aliases\":[\"DES=\"],\"description\":\"specifies a description for the output image.\",\"help\":\"DESCRIPTION=\\\"*text-string*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1cu1lommy4uzpn1i48soelxongj\"},{\"name\":\"NOAUTOLEGEND\",\"optional\":true,\"description\":\"disables automatic legends from being generated.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1lp5fn8pxasfjn1b8zv3yw4z2qg\"},{\"name\":\"NOBORDER\",\"optional\":true,\"description\":\"turns off the display of the graph wall border.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0uvk4fexldplin1vjuapljx4upz\"},{\"name\":\"NOSUBPIXEL\",\"optional\":true,\"description\":\"specifies whether subpixel rendering should be used for rendering plots and charts.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0cs7pht3l1iw6n1owt8rlychkod\"},{\"name\":\"SUBPIXEL\",\"optional\":true,\"description\":\"specifies whether subpixel rendering should be used for rendering plots and charts.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0cs7pht3l1iw6n1owt8rlychkod\"},{\"name\":\"NOWALL\",\"optional\":true,\"description\":\"turns off the display of the graph wall’s fill.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0589r0qu8i1xzn0z61bx1mpik4n\"},{\"name\":\"OPAQUE\",\"optional\":true,\"description\":\"specifies whether the graph background is opaque or transparent.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n043l0ezuvsjirn1w3obny4hbvhi\"},{\"name\":\"NOOPAQUE\",\"optional\":true,\"description\":\"specifies whether the graph background is opaque or transparent.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n043l0ezuvsjirn1w3obny4hbvhi\"},{\"name\":\"PAD=\",\"optional\":true,\"description\":\"specifies the amount of extra space to add to the left, right, top, and bottom of the graph.\",\"help\":\"PAD=*dimension*&lt;*units*&gt; | (*pad-options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"LEFT=\",\"description\":\"specifies the amount of extra space to add to the left edge.\",\"help\":\"LEFT= *numeric-value*&lt;*units*&gt;\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0q5kbknlcmwbsn1e6wn7bz9ikhxa\"},{\"name\":\"RIGHT=\",\"description\":\"specifies the amount of extra space to add to the right edge.\",\"help\":\"RIGHT= *numeric-value*&lt;*units*&gt;\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0vyljen6p09n6n1od6yrrmdf1lha\"},{\"name\":\"TOP=\",\"description\":\"specifies the amount of extra space to add to the top edge.\",\"help\":\"TOP= *numeric-value*&lt;*units*&gt;\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1xlkrnhzj7qzln10ph13km3rq7ia\"},{\"name\":\"BOTTOM=\",\"description\":\"specifies the amount of extra space to add to the bottom edge.\",\"help\":\"BOTTOM= *numeric-value*&lt;*units*&gt;\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1p1n62vbp93t4n1dm4aje8ms2npa\"}],\"supportSiteTargetFragment\":\"p19kcszdyj5lczn1fxwtp3zt6gpy\"},{\"name\":\"PCTLEVEL=\",\"optional\":true,\"description\":\"specifies the scope of graph data that is calculated in percentages.\",\"help\":\"PCTLEVEL=BY | GRAPH | GROUP\",\"type\":\"choice\",\"arguments\":[{\"name\":\"BY\",\"description\":\"the percentages within each BY-group round up to 100%\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p03qcb4f49jswpn1vcdoj8uf1e84\"},{\"name\":\"GRAPH\",\"description\":\"the percentages across the entire graph round up to 100%\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0x2xs9amvtvj0n1847jjjn6u1pn\"},{\"name\":\"GROUP\",\"description\":\"the percentages across groups within a category round up to 100%.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0nmerpq4akh1qn1vh5gtjpxlvb6\"}],\"supportSiteTargetFragment\":\"p0gsg1yxcwryyun1xq0h03c27ewg\"},{\"name\":\"PCTNDEC=\",\"optional\":true,\"description\":\"specifies the number of decimal spaces to be used to calculate the percent values.\",\"help\":\"PCTNDEC=*numeric-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1ta33fg18iobqn14ha3ed587kr1\"},{\"name\":\"RATTRMAP=\",\"optional\":true,\"description\":\"specifies the range attribute map data set that you want to use with the procedure.\",\"help\":\"RATTRMAP=*range-attribute-map-data-set*\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"p0tmrj0r0f8opvn168q5fi3kekzs\"},{\"name\":\"SGANNO=\",\"optional\":true,\"description\":\"specifies the SG annotation data set that you want to use.\",\"help\":\"SGANNO=*annotation-data-set*\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"n15hq4n4n5f79en1gt1nwcn4pg07\"},{\"name\":\"TMPLOUT=\",\"optional\":true,\"description\":\"writes the Graph Template Language code for your graph to a file.\",\"help\":\"TMPLOUT=\\\"*filename*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n086387n9y3ct3n1i9djru01fomy\"},{\"name\":\"UNIFORM=\",\"optional\":true,\"description\":\"specifies how to control axis scaling and legends when you use a BY statement.\",\"help\":\"UNIFORM=GROUP | SCALE | ALL | XSCALE | YSCALE | XSCALEGROUP | YSCALEGROUP\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ALL\",\"description\":\"specifies that both the legend group values and the axis scaling are common among all of the levels of the BY variable or variables.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1gdr5a7zn5fv3n11p9a1lf6x945\"},{\"name\":\"GROUP\",\"description\":\"specifies that each group value in the legend uses the same visual attributes across all levels of the BY variable or variables.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1b5gybpfkjy1ln10qy0atocsl4j\"},{\"name\":\"SCALE\",\"description\":\"specifies that the axis scaling is shared among all of the levels of the BY variable or variables.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1utdw4try83xkn1mwbeepfzy0bc\"},{\"name\":\"XSCALE\",\"description\":\"specifies that the X-axis scaling is shared among all of the levels of the BY variable or variables.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0t3o8ouaxeeznn1w65so8q6capk\"},{\"name\":\"YSCALE\",\"description\":\"specifies that the Y-axis scaling is shared among all of the levels of the BY variable or variables.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1e03c2oi1tnrsn1o2tgmq3l5r7q\"},{\"name\":\"XSCALEGROUP\",\"description\":\"specifies that both the legend group values and the X-axis scaling are shared among all of the levels of the BY variable or variables.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1bijrt5comzyln1fjqp3zof7p0d\"},{\"name\":\"YSCALEGROUP\",\"description\":\"specifies that both the legend group values and the Y-axis scaling are shared among all of the levels of the BY variable or variables.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1ks49e9ebty3xn14bpwgvmaazfg\"}],\"supportSiteTargetFragment\":\"p0gpl8ilf4y63pn1fpcxxi76rq6n\"}],\"supportSiteTargetFile\":\"p073bl97jzadkmn15lhq58yiy2uh.htm\"},{\"name\":\"STYLEATTRS\",\"description\":\"Specifies visual attributes for a graph such as colors, markers, and so on, within the procedure step, without having to change the ODS style template.\",\"help\":\"STYLEATTRS  &lt;*options*&gt;;\",\"arguments\":[{\"name\":\"AXISBREAK=\",\"optional\":true,\"description\":\"specifies a symbol to use on the axis lines to indicate a break in the axis.\",\"help\":\"AXISBREAK=BRACKET | NOTCH | SLANTEDLEFT | SLANTEDRIGHT | SQUIGGLE | SPARK | Z\",\"type\":\"choice\",\"arguments\":[{\"name\":\"BRACKET\",\"type\":\"standalone\"},{\"name\":\"NOTCH\",\"type\":\"standalone\"},{\"name\":\"SLANTEDLEFT\",\"type\":\"standalone\"},{\"name\":\"SLANTEDRIGHT\",\"type\":\"standalone\"},{\"name\":\"SQUIGGLE\",\"type\":\"standalone\"},{\"name\":\"SPARK\",\"type\":\"standalone\"},{\"name\":\"Z\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"n0hczpcivd50tvn1tdi1md6j6fy2\"},{\"name\":\"AXISEXTENT=\",\"optional\":true,\"description\":\"specifies the extent of the axis line for all axes.\",\"help\":\"AXISEXTENT=FULL | DATA \",\"type\":\"choice\",\"arguments\":[{\"name\":\"FULL\",\"description\":\"the axis lines extend along the entire length of the axis.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0c17yl9vnlab0n1dylcxvd00hae\"},{\"name\":\"DATA\",\"description\":\"the axis lines extend through the data range from the minimum offset to the maximum offset.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0m5s63dswxu66n198zapy2tryft\"}],\"supportSiteTargetFragment\":\"n1mdxpt7gohstdn1hxwb2zvimg78\"},{\"name\":\"BACKCOLOR=\",\"optional\":true,\"description\":\"specifies the background color of the graph area.\",\"help\":\"BACKCOLOR=*color*\",\"type\":\"color\",\"supportSiteTargetFragment\":\"n06ed605d8ibk0n0zltnbdhpxwr7\"},{\"name\":\"DATACOLORS=\",\"optional\":true,\"description\":\"specifies the fill colors for the graphics elements.\",\"help\":\"DATACOLORS=(*color-list*)\",\"type\":\"color\",\"supportSiteTargetFragment\":\"p01yqbbadjhpuwn1sspovn6okc3l\"},{\"name\":\"DATACONTRASTCOLORS=\",\"optional\":true,\"description\":\"specifies the contrast colors for the graphics elements, such as lines and markers.\",\"help\":\"DATACONTRASTCOLORS=(*color-list*)\",\"type\":\"color\",\"supportSiteTargetFragment\":\"n127g3inn11zr9n0zbbeack0ql9h\"},{\"name\":\"DATAFILLPATTERNS=\",\"optional\":true,\"description\":\"specifies the list of graph fill patterns.\",\"help\":\"DATAFILLPATTERNS=(*fill-pattern-list*)\",\"type\":\"value\",\"arguments\":[{\"name\":\"fill-pattern-list\",\"placeholder\":true,\"description\":\"a space-separated list of fill patterns, enclosed in parentheses.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1vq3lencxu0dvn102rr2cs5rdzl\"}],\"supportSiteTargetFragment\":\"n14cgk6y6wo3den1cuyng01tr8y8\"},{\"name\":\"DATALINEPATTERNS=\",\"optional\":true,\"description\":\"specifies the list of line patterns for the graph data lines.\",\"help\":\"DATALINEPATTERNS=(*line-pattern-list*)\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p16hih94ibd2xnn16z35no4tn01n\"},{\"name\":\"DATASYMBOLS=\",\"optional\":true,\"description\":\"specifies the list of marker symbols for the graph data.\",\"help\":\"DATASYMBOLS=(*marker-symbol-list*)\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1wkob0dn0a2pjn11oornehpwzfi\"},{\"name\":\"WALLCOLOR=\",\"optional\":true,\"description\":\"specifies the color of the plot wall area.\",\"help\":\"WALLCOLOR=*color*\",\"type\":\"color\",\"supportSiteTargetFragment\":\"p08guggyhu7m3ln1wfjna4ovevp1\"}],\"supportSiteTargetFile\":\"p1dt33l6a6epk6n1chtynsgsjgit.htm\"},{\"name\":\"BAND\",\"description\":\"Creates a band that highlights part of a plot.\",\"help\":\"BAND X=variable |  Y=variable |  \\n UPPER=numeric-value  |  numeric-variable \\nLOWER=numeric-valuenumeric-variable\\n</option(s)>;\",\"arguments\":[{\"name\":\"X=\",\"description\":\"specifies a variable that is used to plot the band along the X or Y axis.\",\"help\":\"X=*variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1ulwvvnpb0thjn1hmifakog4l9e\"},{\"name\":\"Y=\",\"description\":\"specifies a variable that is used to plot the band along the X or Y axis.\",\"help\":\"Y=*variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1ulwvvnpb0thjn1hmifakog4l9e\"},{\"name\":\"LOWER=\",\"description\":\"specifies the lower value for the band.\",\"help\":\"LOWER=*numeric-value* | *numeric-variable*\",\"type\":\"choice\",\"arguments\":[{\"name\":\"numeric-value\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"numeric-variable\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"n1660otmyymc9jn1rtarqw7obap3\"},{\"name\":\"UPPER=\",\"description\":\"specifies the upper value for the band.\",\"help\":\"UPPER=*numeric-value* | *numeric-variable*\",\"type\":\"choice\",\"arguments\":[{\"name\":\"numeric-value\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"numeric-variable\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p1uk93jy79r1jwn1habbw649vue9\"},{\"name\":\"ATTRID=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the value of the ID variable in a discrete attribute map data set.\",\"help\":\"ATTRID=*character-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0gnil4gecoz0fn1sjexzo9ka6a8\"},{\"name\":\"CURVELABELATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the appearance of the labels in the plot when you specify a curve label.\",\"help\":\"CURVELABELATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"n1gj2upapunucan1ha71y71nb9ik\"},{\"name\":\"CURVELABELLOC=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies whether the curve label is placed inside the plot axes (INSIDE) or outside of the plot axes (OUTSIDE).\",\"help\":\"CURVELABELLOC=OUTSIDE | INSIDE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"OUTSIDE\",\"type\":\"standalone\"},{\"name\":\"INSIDE\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"n0m661zy7deafpn1r4qqw0qnq5wb\"},{\"name\":\"CURVELABELLOWER=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"adds a label to the lower edge of the band.\",\"help\":\"CURVELABELLOWER=\\\"*text-string*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0x6u4wm90zwsjn1y1v43mtu7gcl\"},{\"name\":\"CURVELABELPOS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the location of the curve label.\",\"help\":\"CURVELABELPOS=AUTO | MIN | MAX | START | END\",\"type\":\"choice\",\"arguments\":[{\"name\":\"AUTO\",\"followsDelimiter\":\"/\",\"description\":\"places the curve label outside the plot area near the end of the curve along unused axes whenever possible (typically Y2 or X2).\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0wtsxparlb2xfn13mxlz2blshc9\"},{\"name\":\"MIN\",\"followsDelimiter\":\"/\",\"description\":\"places the label at the part of the curve closest to the minimum X-axis value.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n05ynrrh0f226cn1ddyijtrn4lrz\"},{\"name\":\"MAX\",\"followsDelimiter\":\"/\",\"description\":\"places the label at the part of the curve closest to the maximum X-axis value.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p096l7zkn9xjejn1xlzd8ejkajok\"},{\"name\":\"START\",\"followsDelimiter\":\"/\",\"description\":\"places the curve label at the first point on the curve.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1p4stygzzu07zn1cpl87ayxnxgt\"},{\"name\":\"END\",\"followsDelimiter\":\"/\",\"description\":\"places the curve label at the last point on the curve.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0sznh70ecivz6n1pqjudyd16p8i\"}],\"supportSiteTargetFragment\":\"p1ukgmg1jgfgyhn1ud21pq5i7432\"},{\"name\":\"CURVELABELUPPER=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"adds a label to the upper edge of the band.\",\"help\":\"CURVELABELUPPER=\\\"*text-string*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0ob86hfy78xcdn1c1xnuieiar7b\"},{\"name\":\"FILL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies whether the area fill is visible.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0wznb4cmmvshin1rwkgvinhjmtr\"},{\"name\":\"NOFILL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies whether the area fill is visible.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0wznb4cmmvshin1rwkgvinhjmtr\"},{\"name\":\"FILLATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the fill color and transparency.\",\"help\":\"FILLATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p1hhjd5tfq1syin17xh6u5dbggni\"},{\"name\":\"FILLPATTERN\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"enables the display of line fill patterns for the plot.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p07xphkuqlrhegn1gw3om8nho8t2\"},{\"name\":\"FILLPATTERNATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the line-fill color and pattern.\",\"help\":\"FILLPATTERNATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the name of a style element.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1ax5rq5d5pv92n1fm7n5kp87zim\"},{\"name\":\"COLOR=\",\"followsDelimiter\":\"/\",\"description\":\"specifies a color to use for the fill lines.\",\"help\":\"COLOR=*color*\",\"type\":\"color\",\"supportSiteTargetFragment\":\"n1n8357n5tfkkmn1jstn0zkf9rb0\"},{\"name\":\"PATTERN=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the type of line pattern to use for the fill.\",\"help\":\"PATTERN=*line-pattern*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n14ba3ejj32rz9n16hkm0peyn9eo\"}],\"supportSiteTargetFragment\":\"p192pnl5qjjtbrn0zuvxg7pvvrs9\"},{\"name\":\"GROUP=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a variable that is used to group the data.\",\"help\":\"GROUP=*variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0u68sji5m85r7n143018tugk4tw\"},{\"name\":\"LEGENDLABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a label that identifies the elements from the band plot in the legend.\",\"help\":\"LEGENDLABEL=\\\"*text-string*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0r6ezdtty0z6vn17tvafro1nmyd\"},{\"name\":\"LINEATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the appearance of the outlines for the band.\",\"help\":\"LINEATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p15104cibdkygvn1faojnkboj4ah\"},{\"name\":\"MODELNAME=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the name of a plot that is used as a model for the interpolation for the band.\",\"help\":\"MODELNAME=\\\"*plot-name*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p19eu1gg0m3h3xn16bf9fb0yk9uv\"},{\"name\":\"NAME=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"assigns a name to a plot statement.\",\"help\":\"NAME=\\\"*text-string*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1kiiynz0gzidxn16dsf62msnl4t\"},{\"name\":\"NOEXTEND\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that the band does not extend beyond the first and last data points in the plot.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n05xp1zg1to1rzn1fyr6abc1rgd1\"},{\"name\":\"NOMISSINGGROUP\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that missing values of the group variable are not included in the plot.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1bhg23c8bgi33n1u7cafw020o8o\"},{\"name\":\"OUTLINE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies whether the outlines of the band are visible.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0i8sbvzokqhb3n155huwpsp7pk0\"},{\"name\":\"NOOUTLINE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies whether the outlines of the band are visible.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0i8sbvzokqhb3n155huwpsp7pk0\"},{\"name\":\"SPLITCHAR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies one or more characters on which the text used for curve labels is always split.\",\"help\":\"SPLITCHAR=\\\"*character-list*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1egdo32dflyyqn18469sa3z2nf2\"},{\"name\":\"SPLITCHARNODROP\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that the split characters are included in the displayed value.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p17rdbkgdneovrn1ue8o2kpkg9ew\"},{\"name\":\"SPLITJUSTIFY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the horizontal alignment of the value text that is being split.\",\"help\":\"SPLITJUSTIFY=LEFT | CENTER | RIGHT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"LEFT\",\"type\":\"standalone\"},{\"name\":\"CENTER\",\"type\":\"standalone\"},{\"name\":\"RIGHT\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"p1gpg1oyxutpycn14zlh3q5a4u2c\"},{\"name\":\"TIP=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the data tip information to be displayed when the cursor is positioned over the graphics element.\",\"help\":\"TIP=(*variable-list*) | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"(variable-list)\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"a space-separated list of variables enclosed in parentheses.\",\"help\":\"(*variable-list*) \",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1xt1um6hrz1xyn1sjttwqpgpo2g\"},{\"name\":\"NONE\",\"followsDelimiter\":\"/\",\"description\":\"suppresses the data tips from this plot.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0juujvli3nm16n1m4i3zstsmn7u\"}],\"supportSiteTargetFragment\":\"n0tlg070rp5jkkn193er1c3er8vv\"},{\"name\":\"TIPFORMAT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"applies formats to the list of data tip variables that you specify in the TIP= option.\",\"help\":\"TIPFORMAT=(*format-list*)\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1vgm3eynz19vzn1mlqm98fezlp5\"},{\"name\":\"TIPLABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"applies labels to the list of data tip variables that you specify in the TIP= option.\",\"help\":\"TIPLABEL=(*label-list*)\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0tod59njrbtewn1hk76dznibemu\"},{\"name\":\"TRANSPARENCY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the degree of transparency for the plot.\",\"help\":\"TRANSPARENCY=*value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0hjrs3w86z8ean1npu022im7j2s\"},{\"name\":\"TYPE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies how the data points for the lower and upper band boundaries are connected.\",\"help\":\"TYPE=SERIES | STEP\",\"type\":\"choice\",\"arguments\":[{\"name\":\"SERIES\",\"followsDelimiter\":\"/\",\"description\":\"the data points are connected directly using line segments, as in a series plot.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1r398ypdp5vzwn14o7f97fpqsy6\"},{\"name\":\"STEP\",\"followsDelimiter\":\"/\",\"description\":\"the data points are connected using a step function, as in a step plot.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1gi93wkq1qxkkn1h5a9mtz51goa\"}],\"supportSiteTargetFragment\":\"n0in2f8tng8krdn1lgvj9fz45fpn\"},{\"name\":\"X2AXIS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"assigns the variable that is assigned to the primary (bottom) horizontal axis to the secondary (top) horizontal axis.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n03hee48ihux6xn1p9b2l1hbz7oz\"},{\"name\":\"Y2AXIS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"assigns the variable that is assigned to the primary (left) vertical axis to the secondary (right) vertical axis.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1deayzuyevlc9n1hxnbxdrnrt5o\"}],\"supportSiteTargetFile\":\"n1t2ihc734azuvn17021ri2cl057.htm\"},{\"name\":\"BLOCK\",\"description\":\"Creates one or more rectangular blocks containing text values.\",\"help\":\"BLOCK X=*category-variable*BLOCK=*block-variable*&lt;/*option(s)*&gt;;\",\"arguments\":[{\"name\":\"X=\",\"description\":\"specifies X-axis positions.\",\"help\":\"X=*category-variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0tn5lcknsklp8n1cbhinh91t6cg\"},{\"name\":\"BLOCK=\",\"description\":\"specifies the variable that classifies the observations into distinct subsets.\",\"help\":\"BLOCK=*block-variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0jrn9znu7kbnen10rs0ppi5bklw\"},{\"name\":\"ALTFILLATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the appearance of alternate fills for the blocks.\",\"help\":\"ALTFILLATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"n0pw1o4mv2ldy5n1pat4hs0k3ln5\"},{\"name\":\"ATTRID=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the value of the ID variable in a discrete attribute map data set.\",\"help\":\"ATTRID=*character-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0gnil4gecoz0fn1sjexzo9ka6a8a\"},{\"name\":\"BLOCKLABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a column to use for alternative text in the blocks.\",\"help\":\"BLOCKLABEL=*variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n06so17vers68wn1542ooprel5qx\"},{\"name\":\"CLASS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"creates a stack of block plots, with one block plot for each unique value of the specified variable.\",\"help\":\"CLASS=*variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0kwo3q52q16esn1sbkdu91cvju3\"},{\"name\":\"EXTENDMISSING\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"extends the previous block value if the current value is missing.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n089g2vf4l35cwn1afwhy9m2r23c\"},{\"name\":\"FILL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies whether the blocks are filled.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1fekdw6wybb5mn12m9kzingoq7j\"},{\"name\":\"NOFILL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies whether the blocks are filled.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1fekdw6wybb5mn12m9kzingoq7j\"},{\"name\":\"FILLATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the appearance of the fill for the blocks.\",\"help\":\"FILLATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p0vk6y8sapbu9qn1d8j5d9tdvon7\"},{\"name\":\"FILLTYPE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies how the blocks are filled.\",\"help\":\"FILLTYPE=MULTICOLOR | ALTERNATE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"MULTICOLOR\",\"followsDelimiter\":\"/\",\"description\":\"Blocks are filled with the COLOR attribute of the GraphData1–GraphDatan style elements.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1tpmltwxfkao0n1qi69cevgrymt\"},{\"name\":\"ALTERNATE\",\"followsDelimiter\":\"/\",\"description\":\"Blocks are filled alternating between the colors specified by the FILLATTRS= and ALTFILLATTRS= options.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0hadu1p0w399mn1djnxy6dpv38q\"}],\"supportSiteTargetFragment\":\"n0laywtsnruwcyn1x8zpipj8m4p0\"},{\"name\":\"LABEL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies an external label for a single block plot.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0g66p9n5ghbldn1dhftzs51f20z\"},{\"name\":\"LABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies an external label for a single block plot.\",\"help\":\"LABEL=\\\"*text-string*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0g66p9n5ghbldn1dhftzs51f20z\"},{\"name\":\"NOLABEL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies an external label for a single block plot.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0g66p9n5ghbldn1dhftzs51f20z\"},{\"name\":\"LABELATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the color and font attributes of the external block label(s).\",\"help\":\"LABELATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"n0g1gmlf4cbte0n1uqh3puygwpi5\"},{\"name\":\"LABELPOS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the position for the block label for a single block plot.\",\"help\":\"LABELPOS=BOTTOM | LEFT | RIGHT | TOP\",\"type\":\"choice\",\"arguments\":[{\"name\":\"BOTTOM\",\"type\":\"standalone\"},{\"name\":\"LEFT\",\"type\":\"standalone\"},{\"name\":\"RIGHT\",\"type\":\"standalone\"},{\"name\":\"TOP\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"p0y13ocae53k72n19bqjg1q6z5m5\"},{\"name\":\"LINEATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the appearance of the block outlines.\",\"help\":\"LINEATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p0s5yuyjtq0xmon1ce881v50wuhg\"},{\"name\":\"NAME=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"assigns a name to a plot statement.\",\"help\":\"NAME=\\\"*text-string*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1kiiynz0gzidxn16dsf62msnl4ta\"},{\"name\":\"NOMISSINGCLASS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses blocks that correspond to missing values of the CLASS= value.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p15oc4qfdfe5f7n1m37f7pw0fn6p\"},{\"name\":\"OUTLINE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies whether the blocks have outlines.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0iyhhkxwcbgs1n1jmmiexj7rwuy\"},{\"name\":\"NOOUTLINE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies whether the blocks have outlines.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0iyhhkxwcbgs1n1jmmiexj7rwuy\"},{\"name\":\"NOVALUES\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies whether the block values are displayed or hidden.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0lk3cldifezebn1gqsp6seib84m\"},{\"name\":\"VALUES\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies whether the block values are displayed or hidden.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0lk3cldifezebn1gqsp6seib84m\"},{\"name\":\"POSITION=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"positions the block plot at the bottom, center, or top of the graph.\",\"help\":\"POSITION=BOTTOM | CENTER | TOP\",\"type\":\"choice\",\"arguments\":[{\"name\":\"BOTTOM\",\"type\":\"standalone\"},{\"name\":\"CENTER\",\"type\":\"standalone\"},{\"name\":\"TOP\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"p1p4s19cbmwvbkn1g5mamp7lcx1j\"},{\"name\":\"SPLITCHAR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies one or more characters on which the block text values are split according to the fit policy that is in effect.\",\"help\":\"SPLITCHAR=\\\"*character-list*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1m30gdv7ttzsln1abznwlt6usrn\"},{\"name\":\"SPLITCHARNODROP\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that the split characters are included in the displayed value.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1fuuc5xzxkqiun1xw9p99rfkpz6\"},{\"name\":\"TRANSPARENCY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the degree of transparency for the blocks.\",\"help\":\"TRANSPARENCY=*numeric-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n03nx7wj5b67sfn1q4qsto3tm9xv\"},{\"name\":\"VALUEATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the appearance of the block text values.\",\"help\":\"VALUEATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p1huzrq83paqqjn1q9aia0rmni5u\"},{\"name\":\"VALUEFITPOLICY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies how text values are adjusted to fit within the containing block.\",\"help\":\"VALUEFITPOLICY=NONE | SHRINK | SPLIT | SPLITALWAYS | TRUNCATE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NONE\",\"followsDelimiter\":\"/\",\"description\":\"No attempt is made to fit values that collide with the text values in adjacent blocks.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n16mspxhnhb7h6n17l35bqnipm72\"},{\"name\":\"SHRINK\",\"followsDelimiter\":\"/\",\"description\":\"All values are reduced in font size until they all fit.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1n85wrmxvq0k5n16yxu7oh5puma\"},{\"name\":\"SPLIT\",\"followsDelimiter\":\"/\",\"description\":\"If a value does not fit within the containing block, it is split at a split character.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0aay2xyd2jak6n1cv90srg6gv7y\"},{\"name\":\"SPLITALWAYS\",\"followsDelimiter\":\"/\",\"description\":\"Text values are split at a split character in all blocks.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1v34ii0gmv2ijn13j8mdufysv5h\"},{\"name\":\"TRUNCATE\",\"followsDelimiter\":\"/\",\"description\":\"Any value that does not fit is truncated.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1egn1aswsmzian1uesic61xg984\"}],\"supportSiteTargetFragment\":\"n17lrbkzue3jdon174m8su010ych\"},{\"name\":\"VALUEHALIGN=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the horizontal alignment of the value text within the blocks.\",\"help\":\"VALUEHALIGN=LEFT | CENTER | RIGHT | START\",\"type\":\"choice\",\"arguments\":[{\"name\":\"LEFT\",\"followsDelimiter\":\"/\",\"description\":\"left-aligned within the block\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1u85bpal8i6svn12l0ajgztly37\"},{\"name\":\"CENTER\",\"followsDelimiter\":\"/\",\"description\":\"center-aligned within the block\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0zsspkofnea5cn1no5ze9p51ypy\"},{\"name\":\"RIGHT\",\"followsDelimiter\":\"/\",\"description\":\"right-aligned within the block\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1x9c3yjlr8mewn17wjscawd3rcv\"},{\"name\":\"START\",\"followsDelimiter\":\"/\",\"description\":\"center-aligned at the starting value of the block\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1b7eebznpwr4en1quc553yrwvkj\"}],\"supportSiteTargetFragment\":\"p10oiz6h6o84n7n1vhtd5idwq3nv\"},{\"name\":\"VALUEVALIGN=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the vertical alignment of the value text within the blocks.\",\"help\":\"VALUEVALIGN=TOP | CENTER | BOTTOM\",\"type\":\"choice\",\"arguments\":[{\"name\":\"TOP\",\"type\":\"standalone\"},{\"name\":\"CENTER\",\"type\":\"standalone\"},{\"name\":\"BOTTOM\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"n1o96lvh0t2bs0n19tts4ouf2gp0\"},{\"name\":\"X2AXIS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"assigns the X variable to the secondary (top) horizontal axis.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1qdz8a9m6t6uen1kdob1nz79tsl\"}],\"supportSiteTargetFile\":\"n0ikbvq5nwz6ezn1czzi40aw048o.htm\"},{\"name\":\"BUBBLE\",\"description\":\"Creates a bubble plot in which two variables determine the location of the bubble centers and a third variable controls the size of the bubble.\",\"help\":\"BUBBLE X=*variable* Y=*variable* SIZE=*numeric-variable*&lt;/option(s)&gt;;\",\"arguments\":[{\"name\":\"X=\",\"description\":\"specifies the variable for the X axis.\",\"help\":\"X=*variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1k6g0hh4g9ib3n1mqdojzwa76wr\"},{\"name\":\"Y=\",\"description\":\"specifies the variable for the Y axis.\",\"help\":\"Y=*variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1ow59ufdd8vmnn1wree4ndikrdk\"},{\"name\":\"SIZE=\",\"description\":\"specifies the variable that controls the size of the bubbles.\",\"help\":\"SIZE=*numeric-variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0kz7gisjl2wdqn1huhslt1kntpw\"},{\"name\":\"ABSSCALE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that the SIZE= column values are interpreted in the same units as the axes rather than as relative values.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1068pq1n99hl7n1d75bf8uu6cq1\"},{\"name\":\"ATTRID=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the value of the ID variable in a discrete attribute map data set.\",\"help\":\"ATTRID=*character-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0gnil4gecoz0fn1sjexzo9ka6a8b\"},{\"name\":\"BRADIUSMAX=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the size of the radius of the largest bubble.\",\"help\":\"BRADIUSMAX=*numeric-value*&lt;*units*&gt;\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0d75umjx2se25n15cxjznxyro3e\"},{\"name\":\"BRADIUSMIN=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the size of the radius of the smallest bubble.\",\"help\":\"BRADIUSMIN=*numeric-value*&lt;*units*&gt;\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0brxkgxzt8ehpn1ciqs9hjjcvp4\"},{\"name\":\"COLORMODEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a color ramp that is to be used to determine response colors.\",\"help\":\"COLORMODEL=*style-element* | (*color-list*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the name of a style element.\",\"help\":\"*style-element* \",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0j80gk5jvponwn1i3nubsiypmn7\"},{\"name\":\"(color-list)\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a space-separated list of colors to use in the color ramp.\",\"type\":\"color\",\"supportSiteTargetFragment\":\"n1bmynehs17vrcn1eyylzs4tatie\"}],\"supportSiteTargetFragment\":\"p0lv0hndswc5a5n1hjd7lql3yfk6\"},{\"name\":\"COLORRESPONSE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the numeric column that is used to map colors to a continuous color ramp.\",\"help\":\"COLORRESPONSE=*numeric-column*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0oottiwct880xn17bxx29idalzb\"},{\"name\":\"DATALABEL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"displays a label for each data point.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0nw171sq0e411n1wgxqgp619995\"},{\"name\":\"DATALABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"displays a label for each data point.\",\"help\":\"DATALABEL=*variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0nw171sq0e411n1wgxqgp619995\"},{\"name\":\"DATALABELATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the appearance of the labels in the plot when you use the DATALABEL= option.\",\"help\":\"DATALABELATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p1knsfepcp6q3tn1rcxjyvwtszox\"},{\"name\":\"DATALABELPOS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the location of each data label with respect to its data point.\",\"help\":\"DATALABELPOS=*position*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0rsuu58qgi0ysn1sh5krk9uvgq5\"},{\"name\":\"DATASKIN=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a special effect to be used on the plot.\",\"help\":\"DATASKIN=NONE | CRISP | GLOSS | MATTE | PRESSED | SHEEN\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NONE\",\"type\":\"standalone\"},{\"name\":\"CRISP\",\"type\":\"standalone\"},{\"name\":\"GLOSS\",\"type\":\"standalone\"},{\"name\":\"MATTE\",\"type\":\"standalone\"},{\"name\":\"PRESSED\",\"type\":\"standalone\"},{\"name\":\"SHEEN\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"n14kr95kkmeuh0n1hbaha6dpxa24\"},{\"name\":\"DRAWORDER=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies whether the bubbles are drawn according to bubble size or according to data order.\",\"help\":\"DRAWORDER=SIZE | DATA\",\"type\":\"choice\",\"arguments\":[{\"name\":\"SIZE\",\"followsDelimiter\":\"/\",\"description\":\"draws the bubbles according to bubble size, from the largest to the smallest.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0gvwzszhf5x7qn1v778bnh4pbua\"},{\"name\":\"DATA\",\"followsDelimiter\":\"/\",\"description\":\"draws the bubbles according to data order.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0o125e8svobk7n1ign8pk2n2mie\"}],\"supportSiteTargetFragment\":\"n06o3vdchom3qvn1ahny6gh7h4ic\"},{\"name\":\"FILL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies whether the bubbles are filled.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0qhqihkw95py2n1ctqfxhul64ma\"},{\"name\":\"NOFILL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies whether the bubbles are filled.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0qhqihkw95py2n1ctqfxhul64ma\"},{\"name\":\"FILLATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the fill color and transparency.\",\"help\":\"FILLATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p1hhjd5tfq1syin17xh6u5dbggnia\"},{\"name\":\"FILLPATTERN\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"enables the display of line fill patterns for the plot.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p07xphkuqlrhegn1gw3om8nho8t2a\"},{\"name\":\"FILLPATTERNATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the line-fill color and pattern.\",\"help\":\"FILLPATTERNATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the name of a style element.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1ax5rq5d5pv92n1fm7n5kp87zima\"},{\"name\":\"COLOR=\",\"followsDelimiter\":\"/\",\"description\":\"specifies a color to use for the fill lines.\",\"help\":\"COLOR=*color*\",\"type\":\"color\",\"supportSiteTargetFragment\":\"n1n8357n5tfkkmn1jstn0zkf9rb0a\"},{\"name\":\"PATTERN=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the type of line pattern to use for the fill.\",\"help\":\"PATTERN=*line-pattern*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n14ba3ejj32rz9n16hkm0peyn9eoa\"}],\"supportSiteTargetFragment\":\"p192pnl5qjjtbrn0zuvxg7pvvrs9a\"},{\"name\":\"GROUP=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a variable that is used to group the data.\",\"help\":\"GROUP=*variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0kxgai9mt5hion1s47wmgh54aex\"},{\"name\":\"LEGENDLABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the label that identifies the bubble plot in the legend.\",\"help\":\"LEGENDLABEL=\\\"*text-string*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p18kv5avoukgt2n1uub4olsi5ufj\"},{\"name\":\"LINEATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the appearance of the outlines for the bubbles.\",\"help\":\"LINEATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p0wmpn6zdqteljn1v307u5vjec0w\"},{\"name\":\"NAME=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"assigns a name to a plot statement.\",\"help\":\"NAME=\\\"*text-string*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1kiiynz0gzidxn16dsf62msnl4tb\"},{\"name\":\"NOMISSINGGROUP\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that missing values of the group variable are not included in the plot.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n02m1yvh407h8in1bfd07hnwn93v\"},{\"name\":\"OUTLINE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies whether the outlines of the bubbles are visible.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0ezpfxy0tt2kbn1re5peaikw3jv\"},{\"name\":\"NOOUTLINE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies whether the outlines of the bubbles are visible.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0ezpfxy0tt2kbn1re5peaikw3jv\"},{\"name\":\"PROPORTIONAL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that proportional scaling be applied to the SIZE= column values.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n04i49cvcd5irtn1sgb3wvkua5tx\"},{\"name\":\"RATTRID=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the value of the ID variable in a range attribute map data set.\",\"help\":\"RATTRID=*character-value* \",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0ib6229clpp3kn1ramopvfnfj60\"},{\"name\":\"SPLITCHAR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies one or more characters on which the text for data labels is always split.\",\"help\":\"SPLITCHAR=\\\"*character-list*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1uloff5glv6hcn1ginrortjqxq1\"},{\"name\":\"SPLITCHARNODROP\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that the split characters are included in the displayed value.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p17rdbkgdneovrn1ue8o2kpkg9ewa\"},{\"name\":\"SPLITJUSTIFY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the horizontal alignment of the value text that is being split.\",\"help\":\"SPLITJUSTIFY=LEFT | CENTER | RIGHT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"LEFT\",\"type\":\"standalone\"},{\"name\":\"CENTER\",\"type\":\"standalone\"},{\"name\":\"RIGHT\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"p1gpg1oyxutpycn14zlh3q5a4u2ca\"},{\"name\":\"TIP=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the data tip information to be displayed when the cursor is positioned over the graphics element.\",\"help\":\"TIP=(*variable-list*) | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"(variable-list)\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"a space-separated list of variables enclosed in parentheses.\",\"help\":\"(*variable-list*) \",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1xt1um6hrz1xyn1sjttwqpgpo2ga\"},{\"name\":\"NONE\",\"followsDelimiter\":\"/\",\"description\":\"suppresses the data tips from this plot.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0juujvli3nm16n1m4i3zstsmn7ua\"}],\"supportSiteTargetFragment\":\"n0tlg070rp5jkkn193er1c3er8vva\"},{\"name\":\"TIPFORMAT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"applies formats to the list of data tip variables that you specify in the TIP= option.\",\"help\":\"TIPFORMAT=(*format-list*)\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1vgm3eynz19vzn1mlqm98fezlp5a\"},{\"name\":\"TIPLABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"applies labels to the list of data tip variables that you specify in the TIP= option.\",\"help\":\"TIPLABEL=(*label-list*)\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0tod59njrbtewn1hk76dznibemua\"},{\"name\":\"TRANSPARENCY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the degree of transparency for the plot.\",\"help\":\"TRANSPARENCY=*value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0hjrs3w86z8ean1npu022im7j2sa\"},{\"name\":\"URL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies an HTML page to be displayed when parts of the plot are selected.\",\"help\":\"URL=*character-variable*\",\"type\":\"value\",\"arguments\":[{\"name\":\"character-variable\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a variable that contains a valid HTML page reference (HREF) for each plot element that is to have an active link.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0x9yrlql13u7gn11kr1daq2vd9s\"}],\"supportSiteTargetFragment\":\"n0p5y7rpcnleycn17w2nttd9ipbl\"},{\"name\":\"X2AXIS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"assigns the variables that are assigned to the primary (bottom) horizontal axis to the secondary (top) horizontal axis.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1rv43chrw84mzn1htqxcoyxfcwk\"},{\"name\":\"Y2AXIS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"assigns the variables that are assigned to the primary (left) vertical axis to the secondary (right) vertical axis.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1tpx6m8er2gjyn1tcy0kdgsrwnq\"}],\"supportSiteTargetFile\":\"n13vtwmd4kzi9jn15mjz9mb46jl5.htm\"},{\"name\":\"DENSITY\",\"description\":\"Creates a density curve that shows the distribution of values for a numeric variable.\",\"help\":\"DENSITY *response-variable*&lt;/*options*&gt;;\",\"arguments\":[{\"name\":\"response-variable\",\"placeholder\":true,\"description\":\"specifies the variable for the X axis.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1ve1yud541085n1ri6789yc3xi0\"},{\"name\":\"ATTRID=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the value of the ID variable in a discrete attribute map data set.\",\"help\":\"ATTRID=*character-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0gnil4gecoz0fn1sjexzo9ka6a8c\"},{\"name\":\"CURVELABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"adds a label for the density curve.\",\"help\":\"CURVELABEL=\\\"*text-string*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n00uxrfr5sbxgzn1swgvoh3h8273\"},{\"name\":\"CURVELABELATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the appearance of the labels in the plot when you use the CURVELABEL= option.\",\"help\":\"CURVELABELATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p0dk1x2qtnfn66n11yrt9l54l5np\"},{\"name\":\"CURVELABELLOC=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies whether the curve label is placed inside the plot axes (INSIDE) or outside of the plot axes (OUTSIDE).\",\"help\":\"CURVELABELLOC=OUTSIDE | INSIDE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"OUTSIDE\",\"type\":\"standalone\"},{\"name\":\"INSIDE\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"n0m661zy7deafpn1r4qqw0qnq5wba\"},{\"name\":\"CURVELABELPOS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the location of the curve label.\",\"help\":\"CURVELABELPOS=AUTO | END | MAX | MIN | START\",\"type\":\"choice\",\"arguments\":[{\"name\":\"AUTO\",\"followsDelimiter\":\"/\",\"description\":\"places the curve label outside the plot area near the end of the curve along unused axes whenever possible (typically Y2 or X2).\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1mzx51oqqddhgn1fx79prjt0qaz\"},{\"name\":\"END\",\"followsDelimiter\":\"/\",\"description\":\"places the curve label at the last point on the curve.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n04k78fvzrkjjsn1t3to05u6jloj\"},{\"name\":\"MAX\",\"followsDelimiter\":\"/\",\"description\":\"places the label at the part of the curve closest to the maximum X-axis value.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1j326cktvxmnqn15qyb6y1ga3b8\"},{\"name\":\"MIN\",\"followsDelimiter\":\"/\",\"description\":\"places the label at the part of the curve closest to the minimum X-axis value.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n018cpn1doiwsfn16kekpzbg1qg7\"},{\"name\":\"START\",\"followsDelimiter\":\"/\",\"description\":\"places the curve label at the first point on the curve.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0yvts7uqmeulun1j9p7zrppvm68\"}],\"supportSiteTargetFragment\":\"n1lxgmorrzt45cn1shctlyw8ljv3\"},{\"name\":\"FREQ=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a variable for the frequency count for each observation in the input data.\",\"help\":\"FREQ=*numeric-variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1iqtbrzkqx6y6n1ee6zxmqu1bwm\"},{\"name\":\"GROUP=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a variable that is used to group the data.\",\"help\":\"GROUP=*variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n14e4zpsg0wxh7n1wtjhjge45lh3\"},{\"name\":\"LEGENDLABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a label that identifies the density plot in the legend.\",\"help\":\"LEGENDLABEL=\\\"*text-string*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p06ff64m62m7myn1t11ctqjp9dzn\"},{\"name\":\"LINEATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the appearance of the density line.\",\"help\":\"LINEATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"n03m68wfbalouen16rh0k03anud6\"},{\"name\":\"NAME=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"assigns a name to a plot statement.\",\"help\":\"NAME=\\\"*text-string*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1kiiynz0gzidxn16dsf62msnl4tc\"},{\"name\":\"SCALE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the scaling that is used for the response axis.\",\"help\":\"SCALE=COUNT | DENSITY | PERCENT | PROPORTION\",\"type\":\"choice\",\"arguments\":[{\"name\":\"COUNT\",\"followsDelimiter\":\"/\",\"description\":\"the axis displays the frequency count.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p05mpve9rcskzqn1b4sddpyx6j0p\"},{\"name\":\"DENSITY\",\"followsDelimiter\":\"/\",\"description\":\"the axis displays the density estimate values.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1e2cui7f2rz5sn1ekdxc1t5kb08\"},{\"name\":\"PERCENT\",\"followsDelimiter\":\"/\",\"description\":\"the axis displays values as a percentage of the total.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1srcsanej7mzqn1m1tjyxr41h6m\"},{\"name\":\"PROPORTION\",\"followsDelimiter\":\"/\",\"description\":\"the axis displays values in proportion to the total.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1tdiercarxge3n1jqmmtjywuroq\"}],\"supportSiteTargetFragment\":\"p1cwyindlfunfnn18mn5eeojd9j1\"},{\"name\":\"SPLITCHAR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies one or more characters on which the text for curve labels is always split.\",\"help\":\"SPLITCHAR=\\\"*character-list*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1fftzfvbxedd8n17aq78h84sxbs\"},{\"name\":\"SPLITCHARNODROP\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that the split characters are included in the displayed value.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p17rdbkgdneovrn1ue8o2kpkg9ewb\"},{\"name\":\"SPLITJUSTIFY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the horizontal alignment of the value text that is being split.\",\"help\":\"SPLITJUSTIFY=LEFT | CENTER | RIGHT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"LEFT\",\"type\":\"standalone\"},{\"name\":\"CENTER\",\"type\":\"standalone\"},{\"name\":\"RIGHT\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"p1gpg1oyxutpycn14zlh3q5a4u2cb\"},{\"name\":\"TRANSPARENCY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the degree of transparency for the plot.\",\"help\":\"TRANSPARENCY=*value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0hjrs3w86z8ean1npu022im7j2sb\"},{\"name\":\"TYPE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the type of distribution curve that is used for the density plot.\",\"help\":\"TYPE=NORMAL &lt; (*normal-opts*)&gt; | KERNEL &lt; (*kernel-opts*)&gt;\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NORMAL\",\"followsDelimiter\":\"/\",\"description\":\"specifies a normal density estimate, with a mean and a standard deviation.\",\"help\":\"NORMAL &lt; (*normal-opts*)&gt;\",\"type\":\"standaloneOrValue\",\"arguments\":[{\"name\":\"MU=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the mean value that is used in the density function equation.\",\"help\":\"MU=*numeric-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1wzqn5s4mvbh1n1wuxprct8j9da\"},{\"name\":\"SIGMA=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the standard deviation value that is used in the density function equation.\",\"help\":\"SIGMA=*numeric-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0y5b4ibavy0vzn1kb048mnn5maq\"}],\"supportSiteTargetFragment\":\"n166ti84mqwbhkn1iajr1ttm8tjw\"},{\"name\":\"KERNEL\",\"followsDelimiter\":\"/\",\"description\":\"specifies a nonparametric kernel density estimate.\",\"help\":\"KERNEL &lt; (*kernel-opts*)&gt;\",\"type\":\"standaloneOrValue\",\"arguments\":[{\"name\":\"C=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the standardized bandwidth for a number that is greater than 0 and less than or equal to 100.\",\"help\":\"C=*numeric-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0ekumb9pelx2bn1qcgxpkf5jzgz\"},{\"name\":\"WEIGHT=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the weight function.\",\"help\":\"WEIGHT=NORMAL | QUADRATIC | TRIANGULAR\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NORMAL\",\"type\":\"standalone\"},{\"name\":\"QUADRATIC\",\"type\":\"standalone\"},{\"name\":\"TRIANGULAR\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"p0zmo47iym6q5mn1u0essmmyk2vt\"}],\"supportSiteTargetFragment\":\"p1ew5e5qwkljwpn1uh4kfo3h1wpi\"}],\"supportSiteTargetFragment\":\"p0vde2q4g7cg2xn11lia293sipe7\"},{\"name\":\"WEIGHT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a variable that contains values to be used as weights for the calculations.\",\"help\":\"WEIGHT=*numeric-variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1er8no6i58s4rn1i8wg42ndkxr1\"},{\"name\":\"X2AXIS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"assigns the X variable to the secondary (top) horizontal axis.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1qdz8a9m6t6uen1kdob1nz79tsla\"},{\"name\":\"Y2AXIS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"assigns the calculated result to the secondary (right) vertical axis.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0wdxaaffkjtyrn14jgbb3o6i0an\"}],\"supportSiteTargetFile\":\"n18r9s9vxpuewqn0zeo8p1oekbmn.htm\"},{\"name\":\"DOT\",\"description\":\"Creates a dot plot that summarizes the values of a category variable.\",\"help\":\"DOT *category-variable*&lt;/*options*&gt;;\",\"arguments\":[{\"name\":\"category-variable\",\"placeholder\":true,\"description\":\"specifies the variable whose values determine the categories of data represented by the dots.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1fyz560ajrvvon16835kmf0onwm\"},{\"name\":\"ALPHA=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the confidence level for the confidence limits.\",\"help\":\"ALPHA=*numeric-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0odm20uc57v24n1arb0pvg7hit0\"},{\"name\":\"ATTRID=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the value of the ID variable in a discrete attribute map data set.\",\"help\":\"ATTRID=*character-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0gnil4gecoz0fn1sjexzo9ka6a8d\"},{\"name\":\"CATEGORYORDER=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the order in which the categories are arranged.\",\"help\":\"CATEGORYORDER=RESPASC | RESPDESC\",\"type\":\"choice\",\"arguments\":[{\"name\":\"RESPASC\",\"followsDelimiter\":\"/\",\"description\":\"sorts by the response values in ascending order.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0mbyw50mgkx4qn19a6ztr8whmiv\"},{\"name\":\"RESPDESC\",\"followsDelimiter\":\"/\",\"description\":\"sorts by the response values in descending order.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0utxs6l98qss3n13x69rzq367cu\"}],\"supportSiteTargetFragment\":\"p14mwpmr7ycybcn10rkqzq0pn8iw\"},{\"name\":\"CLUSTERWIDTH=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the width of the group clusters as a fraction of the midpoint spacing.\",\"help\":\"CLUSTERWIDTH=*numeric-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0dlvao1wxqnapn1eyiyqmlu8l1v\"},{\"name\":\"COLORMODEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a color ramp that is to be used to determine response colors.\",\"help\":\"COLORMODEL=*style-element* | (*color-list*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the name of a style element.\",\"help\":\"*style-element* \",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0j80gk5jvponwn1i3nubsiypmn7a\"},{\"name\":\"(color-list)\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a space-separated list of colors to use in the color ramp.\",\"type\":\"color\",\"supportSiteTargetFragment\":\"n1bmynehs17vrcn1eyylzs4tatiea\"}],\"supportSiteTargetFragment\":\"p0lv0hndswc5a5n1hjd7lql3yfk6a\"},{\"name\":\"COLORRESPONSE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the numeric column that is used to map colors to a continuous color ramp.\",\"help\":\"COLORRESPONSE=*numeric-column*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0oottiwct880xn17bxx29idalzba\"},{\"name\":\"COLORSTAT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the statistic to use for computing the response colors.\",\"help\":\"COLORSTAT=FREQ | PCT | SUM | MEAN | MEDIAN\",\"type\":\"choice\",\"arguments\":[{\"name\":\"FREQ\",\"followsDelimiter\":\"/\",\"description\":\"frequency count\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0x393ip9k40rhn1kd3pevc58mmb\"},{\"name\":\"PCT\",\"followsDelimiter\":\"/\",\"aliases\":[\"PERCENT\"],\"description\":\"percentages between 0 and 100\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0341w5bjox1fjn18h9qpfr8vf0q\"},{\"name\":\"SUM\",\"followsDelimiter\":\"/\",\"description\":\"sum values for the color response\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1icjx9sqhkyz8n1omqrg27yd1en\"},{\"name\":\"MEAN\",\"followsDelimiter\":\"/\",\"description\":\"mean values for the color response\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0qxudt4elmjbqn1mwun5y69th13\"},{\"name\":\"MEDIAN\",\"followsDelimiter\":\"/\",\"description\":\"median values for the color response\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0jhrh0jkboykvn14sfwtfnw3ymn\"}],\"supportSiteTargetFragment\":\"n02t3yfdjy52ezn1g2nlyn4v77lj\"},{\"name\":\"DATALABEL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"displays a label for each data point.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p14nwead434yo5n0zxw4gb9zpul9\"},{\"name\":\"DATALABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"displays a label for each data point.\",\"help\":\"DATALABEL=*variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p14nwead434yo5n0zxw4gb9zpul9\"},{\"name\":\"DATALABELATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the appearance of the labels in the plot when you use the DATALABEL= option.\",\"help\":\"DATALABELATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p1knsfepcp6q3tn1rcxjyvwtszoxa\"},{\"name\":\"DATALABELPOS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the location of the data label.\",\"help\":\"DATALABELPOS=DATA | LEFT | RIGHT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DATA\",\"followsDelimiter\":\"/\",\"description\":\"places the label on the data primitives (at the right edge of the dots).\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1st7frrqgq3l5n1r2rvv6zh8zy6\"},{\"name\":\"LEFT\",\"followsDelimiter\":\"/\",\"description\":\"places the label to the left of the dots on the left edge of the data area.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0of4fi8j90o1en1xmg1mws6te8c\"},{\"name\":\"RIGHT\",\"followsDelimiter\":\"/\",\"description\":\"places the label to the right of the dots on the right edge of the data area.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0qshtlvs1rgc4n1jqxx1sjlf3l6\"}],\"supportSiteTargetFragment\":\"n00g82p0cnhafcn1f8jp59pggofy\"},{\"name\":\"DATASKIN=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a special effect to be used on the plot.\",\"help\":\"DATASKIN=NONE | CRISP | GLOSS | MATTE | PRESSED | SHEEN\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NONE\",\"type\":\"standalone\"},{\"name\":\"CRISP\",\"type\":\"standalone\"},{\"name\":\"GLOSS\",\"type\":\"standalone\"},{\"name\":\"MATTE\",\"type\":\"standalone\"},{\"name\":\"PRESSED\",\"type\":\"standalone\"},{\"name\":\"SHEEN\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"n14kr95kkmeuh0n1hbaha6dpxa24a\"},{\"name\":\"DISCRETEOFFSET=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies an amount to offset all dots from discrete category values.\",\"help\":\"DISCRETEOFFSET=*numeric-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0lxhozf6bnoo2n1m8j86wn1q1oa\"},{\"name\":\"FILLEDOUTLINEDMARKERS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that markers have a fill and an outline.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0qe6wr3f0bgdan1oum0lmulf1in\"},{\"name\":\"FREQ=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a variable for the frequency count for each observation in the input data.\",\"help\":\"FREQ=*numeric-variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1i0jzew1006vxn1cu1xftid3xnm\"},{\"name\":\"GROUP=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a variable that is used to group the data.\",\"help\":\"GROUP=*variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n12ydifq7odra9n16dvrvz15klzj\"},{\"name\":\"GROUPDISPLAY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies how to display grouped dots.\",\"help\":\"GROUPDISPLAY=CLUSTER | OVERLAY\",\"type\":\"choice\",\"arguments\":[{\"name\":\"CLUSTER\",\"followsDelimiter\":\"/\",\"description\":\"grouped items are drawn adjacent to each other.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1f9g1imvgdc3xn1o4qmhc3dsaxti\"},{\"name\":\"OVERLAY\",\"followsDelimiter\":\"/\",\"description\":\"grouped items are drawn at the exact coordinate and might overlap.\",\"help\":\"OVERLAY \",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0gedf37npwg28n19wqi2annun4ni\"}],\"supportSiteTargetFragment\":\"p0farx1vfzu6xln1kjvfuzn54kbr\"},{\"name\":\"GROUPORDER=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the ordering of the groups within a category.\",\"help\":\"GROUPORDER=DATA | REVERSEDATA | ASCENDING | DESCENDING\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DATA\",\"followsDelimiter\":\"/\",\"description\":\"orders the groups within a category in data order of the group variable.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n17ush6ke65xben1qm2p0dn9pjja\"},{\"name\":\"REVERSEDATA\",\"followsDelimiter\":\"/\",\"description\":\"orders the groups within a category in the reverse data order of the group variable.\",\"help\":\"REVERSEDATA \",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0ybf6fv2jznutn1fir9sn5as9yq\"},{\"name\":\"ASCENDING\",\"followsDelimiter\":\"/\",\"description\":\"orders the groups within a category in ascending order of the group variable.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0illc3sf337wnn1kvp0yuul2s1t\"},{\"name\":\"DESCENDING\",\"followsDelimiter\":\"/\",\"description\":\"orders the groups within a category in descending order of the group variable.\",\"help\":\"DESCENDING \",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p15mm3o64qe2qgn16nv32zmcnlee\"}],\"supportSiteTargetFragment\":\"n0iz9rcg3x496dn1sfn1g6ernd9o\"},{\"name\":\"LEGENDLABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the label that identifies the dot plot in the legend.\",\"help\":\"LEGENDLABEL=\\\"*text-string*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1upk0garmrdt9n1dpamom70nqtx\"},{\"name\":\"LIMITATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the appearance of the limit lines in the plot.\",\"help\":\"LIMITATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"n0rmewq613fxotn1lweem7qcp7bj\"},{\"name\":\"LIMITCAPSCALE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a positive number to use as a multiplier for changing the default width of the limit-bar cap (serif).\",\"help\":\"LIMITCAPSCALE=*positive-number*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n18viyznshxlgln1s3f9ix0xbt4b\"},{\"name\":\"LIMITS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies which limit lines to display.\",\"help\":\"LIMITS=BOTH | LOWER | UPPER\",\"type\":\"choice\",\"arguments\":[{\"name\":\"BOTH\",\"followsDelimiter\":\"/\",\"description\":\"adds lower and upper limit lines to the plot.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n165u3ykgzypxkn169iefff086y5\"},{\"name\":\"LOWER\",\"followsDelimiter\":\"/\",\"description\":\"adds lower limit lines to the plot.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0fv3ehevfmauwn1740l0cqe4udr\"},{\"name\":\"UPPER\",\"followsDelimiter\":\"/\",\"description\":\"adds upper limit lines to the plot.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0i3wgwazh501un1kgv8xg2tfq5q\"}],\"supportSiteTargetFragment\":\"n0bsvbx9269n05n17swuwt23ddts\"},{\"name\":\"LIMITSTAT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the statistic for the limit lines.\",\"help\":\"LIMITSTAT=CLM | STDDEV | STDERR\",\"type\":\"choice\",\"arguments\":[{\"name\":\"CLM\",\"followsDelimiter\":\"/\",\"description\":\"confidence limits\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1esxlwwjfbeb7n1l0e4y7we4imx\"},{\"name\":\"STDDEV\",\"followsDelimiter\":\"/\",\"description\":\"standard deviation\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0ru6ey38ju9f4n1cvah5zbjp90z\"},{\"name\":\"STDERR\",\"followsDelimiter\":\"/\",\"description\":\"standard error\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n05e3y1lpai12vn14go1n0fwnq7p\"}],\"supportSiteTargetFragment\":\"p0532y66q6xo8dn1lr5wnsrqgzg0\"},{\"name\":\"MARKERATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the appearance of the markers in the plot.\",\"help\":\"MARKERATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p1sjctazibtoj6n1gf17vj7gjv8n\"},{\"name\":\"MARKERFILLATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the color of the marker fill.\",\"help\":\"MARKERFILLATTRS=*style-element* |  (COLOR=*color*) \",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(COLOR=)\",\"type\":\"color\"}],\"supportSiteTargetFragment\":\"n0cg7g8a06r4mwn1rcawd5eth51z\"},{\"name\":\"MARKEROUTLINEATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the appearance of the marker outlines.\",\"help\":\"MARKEROUTLINEATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p0j0ix3qbk1rsqn10lfmccucq9qh\"},{\"name\":\"MISSING\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"accepts a missing value as a valid category value.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1qgab12e89o2xn1i6zp5mfz3208\"},{\"name\":\"NAME=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"assigns a name to a plot statement.\",\"help\":\"NAME=\\\"*text-string*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1kiiynz0gzidxn16dsf62msnl4td\"},{\"name\":\"NOLIMITCAPS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses the serif cap on limit lines, if limit lines are displayed.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0wr3w5ryi0bbfn18trxq5q4l1gx\"},{\"name\":\"NUMSTD=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the number of standard units for the limit lines when you specify LIMITSTAT=STDDEV or LIMITSTAT=STDERR.\",\"help\":\"NUMSTD=*n*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1js0fuqm92lwbn1nu4cvjl7wzjr\"},{\"name\":\"RATTRID=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the value of the ID variable in a range attribute map data set.\",\"help\":\"RATTRID=*character-value* \",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0ib6229clpp3kn1ramopvfnfj60a\"},{\"name\":\"RESPONSE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a numeric response variable for the plot.\",\"help\":\"RESPONSE=*response-variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1lk4mxu1u5rpjn1s8u0ao6xi3a8\"},{\"name\":\"SPLITCHAR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies one or more characters on which the text for data labels is always split.\",\"help\":\"SPLITCHAR=\\\"*character-list*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1uloff5glv6hcn1ginrortjqxq1a\"},{\"name\":\"SPLITCHARNODROP\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that the split characters are included in the displayed value.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p17rdbkgdneovrn1ue8o2kpkg9ewc\"},{\"name\":\"SPLITJUSTIFY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the horizontal alignment of the value text that is being split.\",\"help\":\"SPLITJUSTIFY=LEFT | CENTER | RIGHT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"LEFT\",\"type\":\"standalone\"},{\"name\":\"CENTER\",\"type\":\"standalone\"},{\"name\":\"RIGHT\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"p1gpg1oyxutpycn14zlh3q5a4u2cc\"},{\"name\":\"STAT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the statistic for the horizontal axis.\",\"help\":\"STAT=FREQ | MEAN | MEDIAN | PERCENT | SUM\",\"type\":\"choice\",\"arguments\":[{\"name\":\"FREQ\",\"followsDelimiter\":\"/\",\"description\":\"the frequencies of the response or category variable.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p16w20a6fel3jdn11divjugv67xn\"},{\"name\":\"MEAN\",\"followsDelimiter\":\"/\",\"description\":\"the mean of the response variable.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1kxj2mc20vzwhn1dkfo6xugbgmv\"},{\"name\":\"MEDIAN\",\"followsDelimiter\":\"/\",\"description\":\"the median of the response variable.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1nkr19nsmjziwn1dznae36956lg\"},{\"name\":\"PERCENT\",\"followsDelimiter\":\"/\",\"aliases\":[\"PCT\"],\"description\":\"the percentage of the response or category variable.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1n90v4qbqm37yn12v7fevjm1h0m\"},{\"name\":\"SUM\",\"followsDelimiter\":\"/\",\"description\":\"the sum of the response variable.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0ui8bhodl92f5n1id4qvrislln6\"}],\"supportSiteTargetFragment\":\"n0u9vaafo4d7e4n1hxq23ed59hnv\"},{\"name\":\"STATLABEL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies whether the response variable statistic is displayed in the axis and legend labels.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1r49ex2y13gycn16z7g54hgwzv5\"},{\"name\":\"NOSTATLABEL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies whether the response variable statistic is displayed in the axis and legend labels.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1r49ex2y13gycn16z7g54hgwzv5\"},{\"name\":\"TIP=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the data tip information to be displayed when the cursor is positioned over the graphics element.\",\"help\":\"TIP=(*variable-list*) | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"(variable-list)\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"a space-separated list of variables enclosed in parentheses.\",\"help\":\"(*variable-list*) \",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1xt1um6hrz1xyn1sjttwqpgpo2gb\"},{\"name\":\"NONE\",\"followsDelimiter\":\"/\",\"description\":\"suppresses the data tips from this plot.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0juujvli3nm16n1m4i3zstsmn7ub\"}],\"supportSiteTargetFragment\":\"n0tlg070rp5jkkn193er1c3er8vvb\"},{\"name\":\"TIPFORMAT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"applies formats to the list of data tip variables that you specify in the TIP= option.\",\"help\":\"TIPFORMAT=(*format-list*)\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1vgm3eynz19vzn1mlqm98fezlp5b\"},{\"name\":\"TIPLABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"applies labels to the list of data tip variables that you specify in the TIP= option.\",\"help\":\"TIPLABEL=(*label-list*)\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0tod59njrbtewn1hk76dznibemub\"},{\"name\":\"TRANSPARENCY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the degree of transparency for the plot.\",\"help\":\"TRANSPARENCY=*value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0hjrs3w86z8ean1npu022im7j2sc\"},{\"name\":\"URL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies an HTML page to be displayed when parts of the plot are selected.\",\"help\":\"URL=*character-variable*\",\"type\":\"value\",\"arguments\":[{\"name\":\"character-variable\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a variable that contains a valid HTML page reference (HREF) for each plot element that is to have an active link.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0x9yrlql13u7gn11kr1daq2vd9sa\"}],\"supportSiteTargetFragment\":\"n0p5y7rpcnleycn17w2nttd9ipbla\"},{\"name\":\"WEIGHT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a variable that contains values to be used as weights for the calculations.\",\"help\":\"WEIGHT=*numeric-variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1an9kc0ebg10kn1gctrhvfi7z7v\"}],\"supportSiteTargetFile\":\"p1sk20hj2wvhnkn1q7t9jq0gvj0o.htm\"},{\"name\":\"DROPLINE\",\"description\":\"Creates one or more drop lines from data point(s) to one or both axes. The line(s) can be horizontal, vertical, or both.\",\"help\":\"DROPLINE X=variable |  x-axis-value\\nY=variable |  y-axis-value</options>;\",\"arguments\":[{\"name\":\"X=\",\"description\":\"specifies the X coordinate of the drop line(s).\",\"help\":\"X=*variable* | *x-axis-value*\",\"type\":\"choice\",\"arguments\":[{\"name\":\"variable\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"x-axis-value\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p1vcna07md264fn19h23352ace1e\"},{\"name\":\"Y=\",\"description\":\"specifies the Y coordinate of the drop line(s).\",\"help\":\"Y=*variable* | *y-axis-value*\",\"type\":\"choice\",\"arguments\":[{\"name\":\"variable\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"y-axis-value\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"n1kxvinlug1wxhn1k89g1b9nm67y\"},{\"name\":\"DATASKIN=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a special effect to be used on the plot.\",\"help\":\"DATASKIN=NONE | CRISP | GLOSS | MATTE | PRESSED | SHEEN\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NONE\",\"type\":\"standalone\"},{\"name\":\"CRISP\",\"type\":\"standalone\"},{\"name\":\"GLOSS\",\"type\":\"standalone\"},{\"name\":\"MATTE\",\"type\":\"standalone\"},{\"name\":\"PRESSED\",\"type\":\"standalone\"},{\"name\":\"SHEEN\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"n14kr95kkmeuh0n1hbaha6dpxa24b\"},{\"name\":\"DISCRETEOFFSET=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies an amount to offset all drop lines from discrete X or Y values.\",\"help\":\"DISCRETEOFFSET=*numeric-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0i1ly9a2gztxhn1n3pprl9jqf6s\"},{\"name\":\"DROPTO=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the axis to which the line is dropped.\",\"help\":\"DROPTO=BOTH | X | Y\",\"type\":\"choice\",\"arguments\":[{\"name\":\"BOTH\",\"followsDelimiter\":\"/\",\"description\":\"draws dropline(s) to both axes.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n03fxbq1fx9i0yn1ga7r77y9rvq2\"},{\"name\":\"X\",\"followsDelimiter\":\"/\",\"description\":\"draws dropline(s) to the X axis, or to the X2 axis if specified.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1k73yqv4q7knfn14pkjhbgkcf1j\"},{\"name\":\"Y\",\"followsDelimiter\":\"/\",\"description\":\"draws dropline(s) to the Y axis, or to the Y2 axis if specified.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1wzmbiftkpg0en1dksnfg4w3t1n\"}],\"supportSiteTargetFragment\":\"n06lrad1id6l0qn1ixcux022eaia\"},{\"name\":\"LABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"creates labels for each drop line.\",\"help\":\"LABEL=*variable* | \\\"*text-string*\\\"\",\"type\":\"choice\",\"arguments\":[{\"name\":\"variable\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"a variable for the label value.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n04nri6b5gv8fdn1j1u6b5zo65ei\"},{\"name\":\"\\\"text-string\\\"\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"a text string for the label value.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1grbfbtvttlaln17emp6o1sjx1p\"}],\"supportSiteTargetFragment\":\"n00vgkzo4lc6jfn1421s2ays01fr\"},{\"name\":\"LABELATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the appearance of the labels.\",\"help\":\"LABELATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p12a1yqlqq91bin1lcf3xvl3u6wr\"},{\"name\":\"LEGENDLABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a label that identifies the plot in the legend.\",\"help\":\"LEGENDLABEL=\\\"*text-string*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n13bmsg8x1ycesn1mb052c6reov0\"},{\"name\":\"LINEATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the appearance of the drop line.\",\"help\":\"LINEATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"n1euq57et5hexkn1ee23g6btqcoo\"},{\"name\":\"NAME=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"assigns a name to a plot statement.\",\"help\":\"NAME=\\\"*text-string*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1kiiynz0gzidxn16dsf62msnl4te\"},{\"name\":\"NOCLIP\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"extends the plot axes to contain the drop lines.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0u5tf1c0zr2aon1d0oku1nx3as7\"},{\"name\":\"TRANSPARENCY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the degree of transparency for the drop line.\",\"help\":\"TRANSPARENCY=*value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n01ijzhcsb17eln1wwr6fvtbrwzx\"},{\"name\":\"X2AXIS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"assigns the X variable to the secondary (top) horizontal axis.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1qdz8a9m6t6uen1kdob1nz79tslb\"},{\"name\":\"Y2AXIS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"assigns the Y variable to the secondary (right) vertical axis.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0zsjbjkamjq8zn1u2umymluiajc\"}],\"supportSiteTargetFile\":\"n14qtywz01xm10n15p6fj1k3ahx7.htm\"},{\"name\":\"ELLIPSE\",\"description\":\"Adds a confidence or prediction ellipse to another plot.\",\"help\":\"ELLIPSE X=*numeric-variable* Y=*numeric-variable*&lt;/option(s)&gt;;\",\"arguments\":[{\"name\":\"X=\",\"description\":\"specifies a numeric variable for the X axis.\",\"help\":\"X=*numeric-variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0gmcjkzvnt6gjn1khmrcuacdxcr\"},{\"name\":\"Y=\",\"description\":\"specifies a numeric variable for the Y axis.\",\"help\":\"Y=*numeric-variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0k0a476f1qlr9n1p74pf4jd6ewu\"},{\"name\":\"ALPHA=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the confidence level for the ellipse.\",\"help\":\"ALPHA=*numeric-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0oabga4xs6otbn1qt07dthyqbig\"},{\"name\":\"CLIP\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that the data for the ellipse is ignored when determining the data ranges for the axes.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n10dbofq97lbc1n11fc2zy9l5oh8\"},{\"name\":\"FILL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies whether the area fill is visible.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1n9t5h84zdzyan1tq2gjvg5tckw\"},{\"name\":\"NOFILL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies whether the area fill is visible.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1n9t5h84zdzyan1tq2gjvg5tckw\"},{\"name\":\"FILLATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the fill color and transparency.\",\"help\":\"FILLATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p1hhjd5tfq1syin17xh6u5dbggnib\"},{\"name\":\"FILLPATTERN\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"enables the display of line fill patterns for the plot.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p07xphkuqlrhegn1gw3om8nho8t2b\"},{\"name\":\"FILLPATTERNATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the line-fill color and pattern.\",\"help\":\"FILLPATTERNATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the name of a style element.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1ax5rq5d5pv92n1fm7n5kp87zimb\"},{\"name\":\"COLOR=\",\"followsDelimiter\":\"/\",\"description\":\"specifies a color to use for the fill lines.\",\"help\":\"COLOR=*color*\",\"type\":\"color\",\"supportSiteTargetFragment\":\"n1n8357n5tfkkmn1jstn0zkf9rb0b\"},{\"name\":\"PATTERN=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the type of line pattern to use for the fill.\",\"help\":\"PATTERN=*line-pattern*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n14ba3ejj32rz9n16hkm0peyn9eob\"}],\"supportSiteTargetFragment\":\"p192pnl5qjjtbrn0zuvxg7pvvrs9b\"},{\"name\":\"FREQ=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a variable for the frequency count for each observation in the input data.\",\"help\":\"FREQ=*numeric-variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1iqtbrzkqx6y6n1ee6zxmqu1bwma\"},{\"name\":\"GROUP=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a variable that is used to group the data.\",\"help\":\"GROUP=*variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1cfjsd6wreanyn1l87m5hoevhgo\"},{\"name\":\"LEGENDLABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a label that identifies the ellipse in the legend.\",\"help\":\"LEGENDLABEL=\\\"*text-string*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1fnifhbqgyjpvn19bnxbhuap1cz\"},{\"name\":\"LINEATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the appearance of the outlines for the ellipse.\",\"help\":\"LINEATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p0wlflut40hg3cn1melx7l6vm91d\"},{\"name\":\"NAME=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"assigns a name to a plot statement.\",\"help\":\"NAME=\\\"*text-string*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1kiiynz0gzidxn16dsf62msnl4tf\"},{\"name\":\"NOMISSINGGROUP\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that missing values of the group variable are not included in the plot.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n02m1yvh407h8in1bfd07hnwn93va\"},{\"name\":\"OUTLINE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies whether the outlines of the ellipse are visible.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0hhp8ck9gmrthn1exbm6492f58f\"},{\"name\":\"NOOUTLINE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies whether the outlines of the ellipse are visible.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0hhp8ck9gmrthn1exbm6492f58f\"},{\"name\":\"TRANSPARENCY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the degree of transparency for the plot.\",\"help\":\"TRANSPARENCY=*value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0hjrs3w86z8ean1npu022im7j2sd\"},{\"name\":\"TYPE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the type of ellipse.\",\"help\":\"TYPE=MEAN | PREDICTED\",\"type\":\"choice\",\"arguments\":[{\"name\":\"MEAN\",\"type\":\"standalone\"},{\"name\":\"PREDICTED\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"p0w9ypbgbbzw0in1cpbcgzpjnzgt\"},{\"name\":\"X2AXIS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"assigns the X variable to the secondary (top) horizontal axis.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1qdz8a9m6t6uen1kdob1nz79tslc\"},{\"name\":\"Y2AXIS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"assigns the Y variable to the secondary (right) vertical axis.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0zsjbjkamjq8zn1u2umymluiajca\"}],\"supportSiteTargetFile\":\"p1o0xsgwstmn8bn1cy480rlj1om2.htm\"},{\"name\":\"ELLIPSEPARM\",\"description\":\"Adds an ellipse to the primary plot, specified by axis, slope, and origin parameters.\",\"help\":\"ELLIPSEPARM SEMIMAJOR=numeric-variable |  positive-number |   \\nSEMIMINOR=numeric-variable positive-number </option(s)>;\",\"arguments\":[{\"name\":\"SEMIMAJOR=\",\"description\":\"specifies half the length of the major axis for the ellipse.\",\"help\":\"SEMIMAJOR=*numeric-variable* | *positive-number*\",\"type\":\"choice\",\"arguments\":[{\"name\":\"numeric-variable\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"positive-number\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"n17steufizj97wn1m8ewnvgi6vhw\"},{\"name\":\"SEMIMINOR=\",\"description\":\"specifies half the length of the minor axis for the ellipse.\",\"help\":\"SEMIMINOR=*numeric-variable* | *positive-number*\",\"type\":\"choice\",\"arguments\":[{\"name\":\"numeric-variable\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"positive-number\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p0z2l6ctyzf0w9n1ovpcr5e95x4h\"},{\"name\":\"CLIP\",\"optional\":true,\"description\":\"specifies that the data for the ellipse is ignored when determining the data ranges for the axes.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p17xb6zsmxusf6n1b2bt3x5feuoq\"},{\"name\":\"FILL\",\"optional\":true,\"description\":\"specifies whether to display a filled ellipse.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n16bnu4wievghzn15tbwmtk1ykyl\"},{\"name\":\"NOFILL\",\"optional\":true,\"description\":\"specifies whether to display a filled ellipse.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n16bnu4wievghzn15tbwmtk1ykyl\"},{\"name\":\"FILLATTRS=\",\"optional\":true,\"description\":\"specifies the fill color and transparency.\",\"help\":\"FILLATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p1hhjd5tfq1syin17xh6u5dbggnic\"},{\"name\":\"FILLPATTERN\",\"optional\":true,\"description\":\"enables the display of line fill patterns for the plot.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p07xphkuqlrhegn1gw3om8nho8t2c\"},{\"name\":\"FILLPATTERNATTRS=\",\"optional\":true,\"description\":\"specifies the line-fill color and pattern.\",\"help\":\"FILLPATTERNATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"description\":\"specifies the name of a style element.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1ax5rq5d5pv92n1fm7n5kp87zimc\"},{\"name\":\"COLOR=\",\"description\":\"specifies a color to use for the fill lines.\",\"help\":\"COLOR=*color*\",\"type\":\"color\",\"supportSiteTargetFragment\":\"n1n8357n5tfkkmn1jstn0zkf9rb0c\"},{\"name\":\"PATTERN=\",\"description\":\"specifies the type of line pattern to use for the fill.\",\"help\":\"PATTERN=*line-pattern*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n14ba3ejj32rz9n16hkm0peyn9eoc\"}],\"supportSiteTargetFragment\":\"p192pnl5qjjtbrn0zuvxg7pvvrs9c\"},{\"name\":\"GROUP=\",\"optional\":true,\"description\":\"specifies a variable that is used to group the data.\",\"help\":\"GROUP=*variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1cfjsd6wreanyn1l87m5hoevhgoa\"},{\"name\":\"LEGENDLABEL=\",\"optional\":true,\"description\":\"specifies a label that identifies the ellipse in the legend.\",\"help\":\"LEGENDLABEL=\\\"*text-string*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0umhur8crocsmn187xq454uvu54\"},{\"name\":\"LINEATTRS=\",\"optional\":true,\"description\":\"specifies the appearance of the outlines for the ellipse.\",\"help\":\"LINEATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"n008ctuxd0uowin10ty0liq2qnmm\"},{\"name\":\"NAME=\",\"optional\":true,\"description\":\"assigns a name to a plot statement.\",\"help\":\"NAME=\\\"*text-string*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1kiiynz0gzidxn16dsf62msnl4tg\"},{\"name\":\"NOMISSINGGROUP\",\"optional\":true,\"description\":\"specifies that missing values of the group variable are not included in the plot.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n02m1yvh407h8in1bfd07hnwn93vb\"},{\"name\":\"OUTLINE\",\"optional\":true,\"description\":\"specifies whether the outlines of the ellipse are visible.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1onzofepbouptn1apubvdaqhbv6\"},{\"name\":\"NOOUTLINE\",\"optional\":true,\"description\":\"specifies whether the outlines of the ellipse are visible.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1onzofepbouptn1apubvdaqhbv6\"},{\"name\":\"SLOPE=\",\"optional\":true,\"description\":\"specifies the slope of the major axis for the ellipse.\",\"help\":\"SLOPE=*numeric-value* | *numeric-variable*\",\"type\":\"choice\",\"arguments\":[{\"name\":\"numeric-value\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"numeric-variable\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p1l74iumb01wzwn12ts9dijpr3je\"},{\"name\":\"TRANSPARENCY=\",\"optional\":true,\"description\":\"specifies the degree of transparency for the plot.\",\"help\":\"TRANSPARENCY=*value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0hjrs3w86z8ean1npu022im7j2se\"},{\"name\":\"X2AXIS\",\"optional\":true,\"description\":\"assigns the X variable to the secondary (top) horizontal axis.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1qdz8a9m6t6uen1kdob1nz79tsld\"},{\"name\":\"XORIGIN=\",\"optional\":true,\"description\":\"specifies the X coordinate of the center of the ellipse.\",\"help\":\"XORIGIN=*numeric-value* | *numeric-variable*\",\"type\":\"choice\",\"arguments\":[{\"name\":\"numeric-value\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"numeric-variable\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"n0fg88z62chwzwn1h0wgjgkobewb\"},{\"name\":\"Y2AXIS\",\"optional\":true,\"description\":\"assigns the Y variable to the secondary (right) vertical axis.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0zsjbjkamjq8zn1u2umymluiajcb\"},{\"name\":\"YORIGIN=\",\"optional\":true,\"description\":\"specifies the Y coordinate of the center of the ellipse.\",\"help\":\"YORIGIN=*numeric-value* | *numeric-variable*\",\"type\":\"choice\",\"arguments\":[{\"name\":\"numeric-value\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"numeric-variable\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"n1nfzujvzx87utn1qbcqlsw5uili\"}],\"supportSiteTargetFile\":\"p09r0pc10d9x9jn12eeb5l9aif1h.htm\"},{\"name\":\"FRINGE\",\"description\":\"Creates a fringe plot on the X axis of an X-Y plot.\",\"help\":\"FRINGE  *numeric-variable*&lt;/*options*&gt;;\",\"arguments\":[{\"name\":\"numeric-variable\",\"placeholder\":true,\"description\":\"specifies the variable that provides the X coordinates of the data values.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1bovvivyoyb4hn1bjqlqbpoapqr\"},{\"name\":\"ATTRID=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the value of the ID variable in a discrete attribute map data set.\",\"help\":\"ATTRID=*character-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0gnil4gecoz0fn1sjexzo9ka6a8e\"},{\"name\":\"GROUP=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a variable that is used to group the data.\",\"help\":\"GROUP=*variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0ihz5mnsij0ern0zx0ildin6aeh\"},{\"name\":\"HEIGHT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the height of the fringe lines.\",\"help\":\"HEIGHT=*dimension*&lt;units&gt;\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1tak3q5dgl5y7n1iunfi0a0lxbf\"},{\"name\":\"LEGENDLABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a label that identifies the needle plot in the legend.\",\"help\":\"LEGENDLABEL=\\\"*text-string*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p163atpr4e46q9n1x2o8hj1ltjz3\"},{\"name\":\"LINEATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the appearance of the fringe lines.\",\"help\":\"LINEATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"n1qvfjdmktnz6an1awjh9zdedowk\"},{\"name\":\"NAME=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"assigns a name to a plot statement.\",\"help\":\"NAME=\\\"*text-string*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1kiiynz0gzidxn16dsf62msnl4th\"},{\"name\":\"NOMISSINGGROUP\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that missing values of the group variable are not included in the plot.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n02m1yvh407h8in1bfd07hnwn93vc\"},{\"name\":\"TIP=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the data tip information to be displayed when the cursor is positioned over the graphics element.\",\"help\":\"TIP=(*variable-list*) | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"(variable-list)\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"a space-separated list of variables enclosed in parentheses.\",\"help\":\"(*variable-list*) \",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1xt1um6hrz1xyn1sjttwqpgpo2gc\"},{\"name\":\"NONE\",\"followsDelimiter\":\"/\",\"description\":\"suppresses the data tips from this plot.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0juujvli3nm16n1m4i3zstsmn7uc\"}],\"supportSiteTargetFragment\":\"n0tlg070rp5jkkn193er1c3er8vvc\"},{\"name\":\"TIPFORMAT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"applies formats to the list of data tip variables that you specify in the TIP= option.\",\"help\":\"TIPFORMAT=(*format-list*)\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1vgm3eynz19vzn1mlqm98fezlp5c\"},{\"name\":\"TIPLABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"applies labels to the list of data tip variables that you specify in the TIP= option.\",\"help\":\"TIPLABEL=(*label-list*)\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0tod59njrbtewn1hk76dznibemuc\"},{\"name\":\"TRANSPARENCY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the degree of transparency for the plot.\",\"help\":\"TRANSPARENCY=*value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0hjrs3w86z8ean1npu022im7j2sf\"},{\"name\":\"X2AXIS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"assigns the X variable to the secondary (top) horizontal axis.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1qdz8a9m6t6uen1kdob1nz79tsle\"}],\"supportSiteTargetFile\":\"p1jayl9r0txttmn1f7duznkpla0a.htm\"},{\"name\":\"GRADLEGEND\",\"description\":\"Generates a gradient legend that maps the data range of a response variable to a range of colors.\",\"help\":\"GRADLEGEND &lt;\\\"*name*\\\"&gt;&lt;/*options*&gt;;\",\"arguments\":[{\"name\":\"\\\"name\\\"\",\"optional\":true,\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the name of the plot that you want to include in the legend.\",\"help\":\"\\\"*name*\\\" \",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1f3w45lifxyhpn151pas5vowu02\"},{\"name\":\"BORDER\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies whether a border is visible around the legend.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0m3741bizqza0n1f5brl5rbqmpp\"},{\"name\":\"NOBORDER\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies whether a border is visible around the legend.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0m3741bizqza0n1f5brl5rbqmpp\"},{\"name\":\"EXTRACTSCALE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"extracts a scale factor from the tick values and uses it to reduce the tick value width.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p05cghd36l9i1wn1sakm9sk6ovao\"},{\"name\":\"EXTRACTSCALE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"extracts a scale factor from the tick values and uses it to reduce the tick value width.\",\"help\":\"EXTRACTSCALE=DEFAULT | SCIENTIFIC\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DEFAULT\",\"followsDelimiter\":\"/\",\"description\":\"extracts a named scale.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0lm81w1z64uyzn1nnlce4wjpyqf\"},{\"name\":\"SCIENTIFIC\",\"followsDelimiter\":\"/\",\"description\":\"extracts a scientific-notation scale.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0jjp3stvjjrnnn14ghw6b9bhmef\"}],\"supportSiteTargetFragment\":\"p05cghd36l9i1wn1sakm9sk6ovao\"},{\"name\":\"INTEGER\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that integers are used for the gradient legend.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1nqyc5dkanao8n1u4p36jds3bks\"},{\"name\":\"NOTITLE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"removes the default title. The default title is the name of the response variable.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n00p4vpi99tc7en10ewa55sfg3ip\"},{\"name\":\"OUTERPAD=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the amount of extra space that is added outside the legend border.\",\"help\":\"OUTERPAD=*numeric-value*&lt;*units*&gt; | (*pad-options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"numeric-value\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a dimension to use for the extra space at the left, right, top, and bottom of the legend border.\",\"help\":\"*numeric-value*&lt;*units*&gt; \",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1e71wuytc6chtn1rx1b6isq8q8t\"},{\"name\":\"(pad-options)\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"a space-separated list of one or more of the following name-value pair options, enclosed in parentheses:\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n097ty6w3j4qqxn1hj77adabqxmq\"}],\"supportSiteTargetFragment\":\"p1x0p21p0aqyezn1dy233ggphf9o\"},{\"name\":\"POSITION=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the position of the legend within the graph.\",\"help\":\"POSITION=TOP | BOTTOM | LEFT | RIGHT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"TOP\",\"type\":\"standalone\"},{\"name\":\"BOTTOM\",\"type\":\"standalone\"},{\"name\":\"LEFT\",\"type\":\"standalone\"},{\"name\":\"RIGHT\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"n1gvianyvckaznn1a37kpg0015ll\"},{\"name\":\"TITLE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a title for the legend.\",\"help\":\"TITLE=\\\"*text-string*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n189tw2snizqdrn1orkt2fpt7ehd\"},{\"name\":\"TITLEATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the appearance of the title.\",\"help\":\"TITLEATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p1dq5jghyyid9mn198s3okv8oeso\"}],\"supportSiteTargetFile\":\"n0pejjes5ug1j2n1roobaiuj9w60.htm\"},{\"name\":\"HBAR\",\"description\":\"Creates a horizontal bar chart that summarizes the values of a category variable.\",\"help\":\"HBAR *category-variable*&lt;/*options*&gt;;\",\"arguments\":[{\"name\":\"category-variable\",\"placeholder\":true,\"description\":\"specifies the variable whose values determine the categories of data represented by the bars.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p11aufx04m3nlkn141iam4gcc6lh\"},{\"name\":\"ALPHA=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the confidence level for the confidence limits.\",\"help\":\"ALPHA=*numeric-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0odm20uc57v24n1arb0pvg7hit0a\"},{\"name\":\"ATTRID=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the value of the ID variable in a discrete attribute map data set.\",\"help\":\"ATTRID=*character-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0gnil4gecoz0fn1sjexzo9ka6a8f\"},{\"name\":\"BARWIDTH=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the width of the bars as a ratio of the maximum possible width.\",\"help\":\"BARWIDTH=*numeric-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0mhtmcbdvmstsn1ajh3embjr0jv\"},{\"name\":\"BASELINE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the response axis intercept for the baseline.\",\"help\":\"BASELINE=*numeric-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1fr0qhajmuoi2n1tumqbtd0ykov\"},{\"name\":\"BASELINEATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the appearance of the baseline.\",\"help\":\"BASELINEATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p1etmfroq8mx8kn1ao7pjy3p5x2o\"},{\"name\":\"CATEGORYORDER=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the order in which the categories are arranged.\",\"help\":\"CATEGORYORDER=RESPASC | RESPDESC\",\"type\":\"choice\",\"arguments\":[{\"name\":\"RESPASC\",\"followsDelimiter\":\"/\",\"description\":\"sorts by the response values in ascending order.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0mbyw50mgkx4qn19a6ztr8whmiva\"},{\"name\":\"RESPDESC\",\"followsDelimiter\":\"/\",\"description\":\"sorts by the response values in descending order.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0utxs6l98qss3n13x69rzq367cua\"}],\"supportSiteTargetFragment\":\"p14mwpmr7ycybcn10rkqzq0pn8iwa\"},{\"name\":\"CLUSTERWIDTH=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the cluster width as a ratio of the maximum width.\",\"help\":\"CLUSTERWIDTH=*numeric-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p10l6lw19cjkk8n1sn9ivh1iequ2\"},{\"name\":\"COLORMODEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a color ramp that is to be used to determine response colors.\",\"help\":\"COLORMODEL=*style-element* | (*color-list*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the name of a style element.\",\"help\":\"*style-element* \",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0j80gk5jvponwn1i3nubsiypmn7b\"},{\"name\":\"(color-list)\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a space-separated list of colors to use in the color ramp.\",\"type\":\"color\",\"supportSiteTargetFragment\":\"n1bmynehs17vrcn1eyylzs4tatieb\"}],\"supportSiteTargetFragment\":\"p0lv0hndswc5a5n1hjd7lql3yfk6b\"},{\"name\":\"COLORRESPONSE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the numeric column that is used to map colors to a continuous color ramp.\",\"help\":\"COLORRESPONSE=*numeric-column*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0oottiwct880xn17bxx29idalzbb\"},{\"name\":\"COLORSTAT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the statistic to use for computing the response colors.\",\"help\":\"COLORSTAT=FREQ | PCT | SUM | MEAN | MEDIAN\",\"type\":\"choice\",\"arguments\":[{\"name\":\"FREQ\",\"followsDelimiter\":\"/\",\"description\":\"frequency count\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0x393ip9k40rhn1kd3pevc58mmba\"},{\"name\":\"PCT\",\"followsDelimiter\":\"/\",\"aliases\":[\"PERCENT\"],\"description\":\"percentages between 0 and 100\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0341w5bjox1fjn18h9qpfr8vf0qa\"},{\"name\":\"SUM\",\"followsDelimiter\":\"/\",\"description\":\"sum values for the color response\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1icjx9sqhkyz8n1omqrg27yd1ena\"},{\"name\":\"MEAN\",\"followsDelimiter\":\"/\",\"description\":\"mean values for the color response\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0qxudt4elmjbqn1mwun5y69th13a\"},{\"name\":\"MEDIAN\",\"followsDelimiter\":\"/\",\"description\":\"median values for the color response\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0jhrh0jkboykvn14sfwtfnw3ymna\"}],\"supportSiteTargetFragment\":\"n02t3yfdjy52ezn1g2nlyn4v77lja\"},{\"name\":\"DATALABEL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"displays a label for each bar.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p07nkocs4zcjzgn14vy8joplowbd\"},{\"name\":\"DATALABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"displays a label for each bar.\",\"help\":\"DATALABEL=*variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p07nkocs4zcjzgn14vy8joplowbd\"},{\"name\":\"DATALABELATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the appearance of the labels in the plot when you use the DATALABEL= option.\",\"help\":\"DATALABELATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p1knsfepcp6q3tn1rcxjyvwtszoxb\"},{\"name\":\"DATALABELFITPOLICY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the fit policy for the bar labels.\",\"help\":\"DATALABELFITPOLICY=NONE | INSIDEPREFERRED\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NONE\",\"followsDelimiter\":\"/\",\"description\":\"specifies that no fit policy is implemented for the bar labels.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0lmzg1kasbja6n196ws8r32gkgw\"},{\"name\":\"INSIDEPREFERRED\",\"followsDelimiter\":\"/\",\"description\":\"places bar labels inside the bars, when possible.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1q3la8dg6188on1wsxzkdyns9rp\"}],\"supportSiteTargetFragment\":\"n0f2qxom9sz17tn151virjkarhkr\"},{\"name\":\"DATALABELPOS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the location of the data label.\",\"help\":\"DATALABELPOS=DATA | LEFT | RIGHT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DATA\",\"followsDelimiter\":\"/\",\"description\":\"places the label on the data primitives (at the right edge of the bars).\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n15wd05f0tmw9ln1w5qc7gofkv9k\"},{\"name\":\"LEFT\",\"followsDelimiter\":\"/\",\"description\":\"places the label to the left of the bars on the left edge of the data area.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0e78y2w73qgt4n1mshx9dsq7vmr\"},{\"name\":\"RIGHT\",\"followsDelimiter\":\"/\",\"description\":\"places the label to the right of the bars on the right edge of the data area.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0h6mbam0rrw5qn19x1rpu12o7sh\"}],\"supportSiteTargetFragment\":\"n03ug7dt0iprdgn135wcnmnd9n1r\"},{\"name\":\"DATASKIN=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a special effect to be used on the plot.\",\"help\":\"DATASKIN=NONE | CRISP | GLOSS | MATTE | PRESSED | SHEEN\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NONE\",\"type\":\"standalone\"},{\"name\":\"CRISP\",\"type\":\"standalone\"},{\"name\":\"GLOSS\",\"type\":\"standalone\"},{\"name\":\"MATTE\",\"type\":\"standalone\"},{\"name\":\"PRESSED\",\"type\":\"standalone\"},{\"name\":\"SHEEN\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"n14kr95kkmeuh0n1hbaha6dpxa24c\"},{\"name\":\"DISCRETEOFFSET=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies an amount to offset all bars from the category midpoints.\",\"help\":\"DISCRETEOFFSET=*numeric-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0idfr3hyg4bvgn1m8r1gx5m4bua\"},{\"name\":\"DISPLAYBASELINE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies whether the baseline is displayed.\",\"help\":\"DISPLAYBASELINE=AUTO | ON | OFF\",\"type\":\"choice\",\"arguments\":[{\"name\":\"AUTO\",\"followsDelimiter\":\"/\",\"description\":\"displays the baseline if the baseline intercept is within the response-axis range, excluding the minimum and maximum axis values.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n14kidk5sz230zn1t4t5o38of8tw\"},{\"name\":\"ON\",\"followsDelimiter\":\"/\",\"description\":\"always displays the baseline.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0br3ohjmlp9ntn1fmjekz3h2v6v\"},{\"name\":\"OFF\",\"followsDelimiter\":\"/\",\"description\":\"hides the baseline.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0mzb9slm5101yn1ef8bab6lqy6q\"}],\"supportSiteTargetFragment\":\"n1q5mmv6wkhlnhn1kq647ur0r3ca\"},{\"name\":\"FILL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies whether the bars are filled.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0qbu7qao4qa1cn1bd35kmxncw9f\"},{\"name\":\"NOFILL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies whether the bars are filled.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0qbu7qao4qa1cn1bd35kmxncw9f\"},{\"name\":\"FILLATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the fill color and transparency.\",\"help\":\"FILLATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p1hhjd5tfq1syin17xh6u5dbggnid\"},{\"name\":\"FILLENDCOLOR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a fill color that is applied to the chart at the baseline.\",\"help\":\"FILLENDCOLOR=*color*\",\"type\":\"color\",\"supportSiteTargetFragment\":\"n1w9f93nam1tbvn1l2nw21039383\"},{\"name\":\"FILLPATTERN\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"enables the display of line fill patterns for the plot.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p07xphkuqlrhegn1gw3om8nho8t2d\"},{\"name\":\"FILLPATTERNATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the line-fill color and pattern.\",\"help\":\"FILLPATTERNATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the name of a style element.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1ax5rq5d5pv92n1fm7n5kp87zimd\"},{\"name\":\"COLOR=\",\"followsDelimiter\":\"/\",\"description\":\"specifies a color to use for the fill lines.\",\"help\":\"COLOR=*color*\",\"type\":\"color\",\"supportSiteTargetFragment\":\"n1n8357n5tfkkmn1jstn0zkf9rb0d\"},{\"name\":\"PATTERN=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the type of line pattern to use for the fill.\",\"help\":\"PATTERN=*line-pattern*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n14ba3ejj32rz9n16hkm0peyn9eod\"}],\"supportSiteTargetFragment\":\"p192pnl5qjjtbrn0zuvxg7pvvrs9d\"},{\"name\":\"FILLTYPE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the fill type that is applied to the chart.\",\"help\":\"FILLTYPE=SOLID | GRADIENT | ALPHAGRADIENT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"SOLID\",\"followsDelimiter\":\"/\",\"description\":\"each bar is filled with the color that is assigned to the bar fill area.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1vbbdhyffk2mpn1gt5putgqzezg\"},{\"name\":\"GRADIENT\",\"followsDelimiter\":\"/\",\"description\":\"displays the color from the applied style at the end of the bar gradually changing to the color of the wall at the baseline of the bar.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0l4dqip53lw9qn1arlft8qol1y4\"},{\"name\":\"ALPHAGRADIENT\",\"followsDelimiter\":\"/\",\"description\":\"a gradient is used to determine the fill color.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p08hjuyghvu39nn184cyl1uhsia6\"}],\"supportSiteTargetFragment\":\"n12v2sckfnfymjn1bkv83o7somc7\"},{\"name\":\"FREQ=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a variable for the frequency count for each observation in the input data.\",\"help\":\"FREQ=*numeric-variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1i0jzew1006vxn1cu1xftid3xnma\"},{\"name\":\"GROUP=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a variable that is used to group the data.\",\"help\":\"GROUP=*variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n12ydifq7odra9n16dvrvz15klzja\"},{\"name\":\"GROUPDISPLAY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies how to display grouped bars.\",\"help\":\"GROUPDISPLAY=STACK | CLUSTER\",\"type\":\"choice\",\"arguments\":[{\"name\":\"STACK\",\"followsDelimiter\":\"/\",\"description\":\"groups are overlaid without any clustering.\",\"help\":\"STACK \",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1da5vp05x9z9un1mszrpgnbt3c3\"},{\"name\":\"CLUSTER\",\"followsDelimiter\":\"/\",\"description\":\"displays group values as separate adjacent bars that replace the single category bar.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1ubsk9vr1uc72n15g4cchmg3q6t\"}],\"supportSiteTargetFragment\":\"n15p29rzw3zmtyn14xi6z3qpazkb\"},{\"name\":\"GROUPORDER=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the ordering of the groups within a category.\",\"help\":\"GROUPORDER=DATA | REVERSEDATA | ASCENDING | DESCENDING\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DATA\",\"followsDelimiter\":\"/\",\"description\":\"orders the groups within a category in data order of the group variable.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n17ush6ke65xben1qm2p0dn9pjjaa\"},{\"name\":\"REVERSEDATA\",\"followsDelimiter\":\"/\",\"description\":\"orders the groups within a category in the reverse data order of the group variable.\",\"help\":\"REVERSEDATA \",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0ybf6fv2jznutn1fir9sn5as9yqa\"},{\"name\":\"ASCENDING\",\"followsDelimiter\":\"/\",\"description\":\"orders the groups within a category in ascending order of the group variable.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0illc3sf337wnn1kvp0yuul2s1ta\"},{\"name\":\"DESCENDING\",\"followsDelimiter\":\"/\",\"description\":\"orders the groups within a category in descending order of the group variable.\",\"help\":\"DESCENDING \",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p15mm3o64qe2qgn16nv32zmcnleea\"}],\"supportSiteTargetFragment\":\"n0iz9rcg3x496dn1sfn1g6ernd9oa\"},{\"name\":\"INTERVALBARWIDTH=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the thickness of the bars when the category data is numeric.\",\"help\":\"INTERVALBARWIDTH=*numeric-value*&lt;*units*&gt;\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0jtdbg2299cffn1ppgzo0gpogvo\"},{\"name\":\"LEGENDLABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the label that identifies the bar chart in the legend.\",\"help\":\"LEGENDLABEL=\\\"*text-string*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1r7vhda277885n1mwhnrv5fanhm\"},{\"name\":\"LIMITATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the appearance of the limit lines in the plot.\",\"help\":\"LIMITATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p1svned7p54su9n1ag2s2uclnspb\"},{\"name\":\"LIMITCAPSCALE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a positive number to use as a multiplier for changing the default width of the limit-bar cap (serif).\",\"help\":\"LIMITCAPSCALE=*positive-number*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n18viyznshxlgln1s3f9ix0xbt4ba\"},{\"name\":\"LIMITS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies which limit lines to display.\",\"help\":\"LIMITS=BOTH | LOWER | UPPER\",\"type\":\"choice\",\"arguments\":[{\"name\":\"BOTH\",\"followsDelimiter\":\"/\",\"description\":\"adds lower and upper limit lines to the plot.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0eujqlkhocdvun1jzpawz8r1720\"},{\"name\":\"LOWER\",\"followsDelimiter\":\"/\",\"description\":\"adds lower limit lines to the plot.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0z7oomdqbw2mwn1b9ayfaudiyn6\"},{\"name\":\"UPPER\",\"followsDelimiter\":\"/\",\"description\":\"adds upper limit lines to the plot.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p100nn33ox336on1345dr7u7m450\"}],\"supportSiteTargetFragment\":\"n06ixvh9q8o5oqn1lpqnp50lh5of\"},{\"name\":\"LIMITSTAT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the statistic for the limit lines.\",\"help\":\"LIMITSTAT=CLM | STDDEV | STDERR\",\"type\":\"choice\",\"arguments\":[{\"name\":\"CLM\",\"followsDelimiter\":\"/\",\"description\":\"confidence limits\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0czoqqi3s8mkin1btmcfh56athj\"},{\"name\":\"STDDEV\",\"followsDelimiter\":\"/\",\"description\":\"standard deviation\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n08hyoijyxom5bn1edcfpwis0ftn\"},{\"name\":\"STDERR\",\"followsDelimiter\":\"/\",\"description\":\"standard error\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p00oziq5uc3rlcn1uyqposy29fao\"}],\"supportSiteTargetFragment\":\"p0c8w0c5zncqwwn16keigghudjgj\"},{\"name\":\"MISSING\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"accepts a missing value as a valid category value.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1qgab12e89o2xn1i6zp5mfz3208a\"},{\"name\":\"NAME=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"assigns a name to a plot statement.\",\"help\":\"NAME=\\\"*text-string*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1kiiynz0gzidxn16dsf62msnl4ti\"},{\"name\":\"NOZEROBARS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses zero-length bars.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n00ng2jnzcc27tn1vun7cjlq4oz7\"},{\"name\":\"NUMSTD=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the number of standard units for the limit lines, when you specify LIMITSTAT=STDDEV or LIMITSTAT=STDERR.\",\"help\":\"NUMSTD=*n*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p02cd8teic4cann15dgo81g0wwfa\"},{\"name\":\"OUTLINE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies whether the bars have outlines.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n07118khd1t43un1qnab4743msrz\"},{\"name\":\"NOOUTLINE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies whether the bars have outlines.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n07118khd1t43un1qnab4743msrz\"},{\"name\":\"OUTLINEATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the appearance of the bar outlines.\",\"help\":\"OUTLINEATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"n1qaif9zn7wh3mn13f1muabcj35m\"},{\"name\":\"RATTRID=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the value of the ID variable in a range attribute map data set.\",\"help\":\"RATTRID=*character-value* \",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0ib6229clpp3kn1ramopvfnfj60b\"},{\"name\":\"RESPONSE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a numeric response variable for the plot.\",\"help\":\"RESPONSE=*response-variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0ggdzlstrh2v8n1lzs4z6fl7xxe\"},{\"name\":\"SEGLABEL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"displays a label inside each segment of a stacked bar.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0f9e89gx8pqjen1muljrgq8n4r6\"},{\"name\":\"SEGLABELATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the text properties of the bar segment label text.\",\"help\":\"SEGLABELATTRS=*style-element*&lt;(*options*)&gt; | (*options*) \",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"n1rmvzutd0uz71n18bzmo95678m2\"},{\"name\":\"SEGLABELFITPOLICY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a policy for fitting the bar segment labels within the bar segments.\",\"help\":\"SEGLABELFITPOLICY=NONE | NOCLIP | THIN\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NONE\",\"followsDelimiter\":\"/\",\"description\":\"no attempt is made to fit each segment label within its bar.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1q3pyrv2q3d00n1gk80qrokunul\"},{\"name\":\"NOCLIP\",\"followsDelimiter\":\"/\",\"description\":\"does not clip bar segment labels that extend beyond the plot area.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0pdaicaup0yxkn19evnnz7tj1ou\"},{\"name\":\"THIN\",\"followsDelimiter\":\"/\",\"description\":\"drops any bar segment label that does not fit within its segment.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1eahmu0ii7jbgn19vrdp0ll6ap6\"}],\"supportSiteTargetFragment\":\"n0gvkvrf8rtcoyn0zsiw4jfjbjpx\"},{\"name\":\"SEGLABELFORMAT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the text format used to display the bar segment labels.\",\"help\":\"SEGLABELFORMAT=*format*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0bbys9kblp7zwn1464igc4hehxy\"},{\"name\":\"STAT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the statistic for the horizontal axis.\",\"help\":\"STAT=FREQ | MEAN | MEDIAN | PERCENT | SUM\",\"type\":\"choice\",\"arguments\":[{\"name\":\"FREQ\",\"followsDelimiter\":\"/\",\"description\":\"the frequencies of the response or category variable.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p16w20a6fel3jdn11divjugv67xna\"},{\"name\":\"MEAN\",\"followsDelimiter\":\"/\",\"description\":\"the mean of the response variable.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1kxj2mc20vzwhn1dkfo6xugbgmva\"},{\"name\":\"MEDIAN\",\"followsDelimiter\":\"/\",\"description\":\"the median of the response variable.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1nkr19nsmjziwn1dznae36956lga\"},{\"name\":\"PERCENT\",\"followsDelimiter\":\"/\",\"aliases\":[\"PCT\"],\"description\":\"the percentage of the response or category variable.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1n90v4qbqm37yn12v7fevjm1h0ma\"},{\"name\":\"SUM\",\"followsDelimiter\":\"/\",\"description\":\"the sum of the response variable.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0ui8bhodl92f5n1id4qvrislln6a\"}],\"supportSiteTargetFragment\":\"n0u9vaafo4d7e4n1hxq23ed59hnva\"},{\"name\":\"STATLABEL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies whether the response variable statistic is displayed in the axis and legend labels.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1r49ex2y13gycn16z7g54hgwzv5a\"},{\"name\":\"NOSTATLABEL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies whether the response variable statistic is displayed in the axis and legend labels.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1r49ex2y13gycn16z7g54hgwzv5a\"},{\"name\":\"TIP=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the data tip information to be displayed when the cursor is positioned over the graphics element.\",\"help\":\"TIP=(*variable-list*) | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"(variable-list)\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"a space-separated list of variables enclosed in parentheses.\",\"help\":\"(*variable-list*) \",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1xt1um6hrz1xyn1sjttwqpgpo2gd\"},{\"name\":\"NONE\",\"followsDelimiter\":\"/\",\"description\":\"suppresses the data tips from this plot.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0juujvli3nm16n1m4i3zstsmn7ud\"}],\"supportSiteTargetFragment\":\"n0tlg070rp5jkkn193er1c3er8vvd\"},{\"name\":\"TIPFORMAT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"applies formats to the list of data tip variables that you specify in the TIP= option.\",\"help\":\"TIPFORMAT=(*format-list*)\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1vgm3eynz19vzn1mlqm98fezlp5d\"},{\"name\":\"TIPLABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"applies labels to the list of data tip variables that you specify in the TIP= option.\",\"help\":\"TIPLABEL=(*label-list*)\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0tod59njrbtewn1hk76dznibemud\"},{\"name\":\"TRANSPARENCY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the degree of transparency for the plot.\",\"help\":\"TRANSPARENCY=*value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0hjrs3w86z8ean1npu022im7j2sg\"},{\"name\":\"URL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies an HTML page to be displayed when parts of the plot are selected.\",\"help\":\"URL=*character-variable*\",\"type\":\"value\",\"arguments\":[{\"name\":\"character-variable\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a variable that contains a valid HTML page reference (HREF) for each plot element that is to have an active link.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0x9yrlql13u7gn11kr1daq2vd9sb\"}],\"supportSiteTargetFragment\":\"n0p5y7rpcnleycn17w2nttd9ipblb\"},{\"name\":\"WEIGHT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a variable that contains values to be used as weights for the calculations.\",\"help\":\"WEIGHT=*numeric-variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1an9kc0ebg10kn1gctrhvfi7z7va\"},{\"name\":\"X2AXIS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"assigns the response variable to the secondary (top) horizontal axis.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0a24840p0io3vn1tdiq3ljazshh\"},{\"name\":\"Y2AXIS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"assigns the category variable to the secondary (right) vertical axis.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p072sgd9qzhzb2n1kns39wuohdgw\"}],\"supportSiteTargetFile\":\"n1wvtdp1zvu57un1wjyheyd61e3i.htm\"},{\"name\":\"HBARBASIC\",\"description\":\"Creates a horizontal bar chart that is compatible with other categorization charts as well as basic plots, such as scatter and series plots, and box plots.\",\"help\":\"HBARBASIC *category-variable*&lt;/*options*&gt;;\",\"arguments\":[{\"name\":\"category-variable\",\"placeholder\":true,\"description\":\"specifies the variable whose values determine the categories of data represented by the bars.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1vb9w5oxjrxpvn17ei3hr7il87a\"},{\"name\":\"ATTRID=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the value of the ID variable in a discrete attribute map data set.\",\"help\":\"ATTRID=*character-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0gnil4gecoz0fn1sjexzo9ka6a8g\"},{\"name\":\"BARWIDTH=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the width of the bars as a ratio of the maximum possible width.\",\"help\":\"BARWIDTH=*numeric-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0mhtmcbdvmstsn1ajh3embjr0jva\"},{\"name\":\"BASELINE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the response axis intercept for the baseline.\",\"help\":\"BASELINE=*numeric-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1fr0qhajmuoi2n1tumqbtd0ykova\"},{\"name\":\"BASELINEATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the appearance of the baseline.\",\"help\":\"BASELINEATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p1etmfroq8mx8kn1ao7pjy3p5x2oa\"},{\"name\":\"CLUSTERWIDTH=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the cluster width as a ratio of the maximum width.\",\"help\":\"CLUSTERWIDTH=*numeric-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p10l6lw19cjkk8n1sn9ivh1iequ2a\"},{\"name\":\"COLORMODEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a color ramp that is to be used to determine response colors.\",\"help\":\"COLORMODEL=*style-element* | (*color-list*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the name of a style element.\",\"help\":\"*style-element* \",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0j80gk5jvponwn1i3nubsiypmn7c\"},{\"name\":\"(color-list)\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a space-separated list of colors to use in the color ramp.\",\"type\":\"color\",\"supportSiteTargetFragment\":\"n1bmynehs17vrcn1eyylzs4tatiec\"}],\"supportSiteTargetFragment\":\"p0lv0hndswc5a5n1hjd7lql3yfk6c\"},{\"name\":\"COLORRESPONSE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the numeric column that is used to map colors to a continuous color ramp.\",\"help\":\"COLORRESPONSE=*numeric-column*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0oottiwct880xn17bxx29idalzbc\"},{\"name\":\"COLORSTAT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the statistic to use for computing the response colors.\",\"help\":\"COLORSTAT=FREQ | PCT | SUM | MEAN | MEDIAN\",\"type\":\"choice\",\"arguments\":[{\"name\":\"FREQ\",\"followsDelimiter\":\"/\",\"description\":\"frequency count\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0x393ip9k40rhn1kd3pevc58mmbb\"},{\"name\":\"PCT\",\"followsDelimiter\":\"/\",\"aliases\":[\"PERCENT\"],\"description\":\"percentages between 0 and 100\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0341w5bjox1fjn18h9qpfr8vf0qb\"},{\"name\":\"SUM\",\"followsDelimiter\":\"/\",\"description\":\"sum values for the color response\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1icjx9sqhkyz8n1omqrg27yd1enb\"},{\"name\":\"MEAN\",\"followsDelimiter\":\"/\",\"description\":\"mean values for the color response\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0qxudt4elmjbqn1mwun5y69th13b\"},{\"name\":\"MEDIAN\",\"followsDelimiter\":\"/\",\"description\":\"median values for the color response\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0jhrh0jkboykvn14sfwtfnw3ymnb\"}],\"supportSiteTargetFragment\":\"n02t3yfdjy52ezn1g2nlyn4v77ljb\"},{\"name\":\"DATALABEL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"displays the bar statistic value for each bar.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0hmgozurkcxvzn1b5cke3z9qh8g\"},{\"name\":\"DATALABELATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the appearance of the labels in the plot when you use the DATALABEL option.\",\"help\":\"DATALABELATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p1knsfepcp6q3tn1rcxjyvwtszoxc\"},{\"name\":\"DATALABELFITPOLICY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the fit policy for the bar labels.\",\"help\":\"DATALABELFITPOLICY=NONE | INSIDEPREFERRED\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NONE\",\"followsDelimiter\":\"/\",\"description\":\"specifies that no fit policy is implemented for the bar labels.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0lmzg1kasbja6n196ws8r32gkgwa\"},{\"name\":\"INSIDEPREFERRED\",\"followsDelimiter\":\"/\",\"description\":\"places bar labels inside the bars, when possible.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1q3la8dg6188on1wsxzkdyns9rpa\"}],\"supportSiteTargetFragment\":\"n0f2qxom9sz17tn151virjkarhkra\"},{\"name\":\"DATALABELFORMAT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the text format used to display the bar label.\",\"help\":\"DATALABELFORMAT=*format*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1r9wene0gdgdrn1tb4c3crp9hzp\"},{\"name\":\"DATASKIN=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a special effect to be used on the plot.\",\"help\":\"DATASKIN=NONE | CRISP | GLOSS | MATTE | PRESSED | SHEEN\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NONE\",\"type\":\"standalone\"},{\"name\":\"CRISP\",\"type\":\"standalone\"},{\"name\":\"GLOSS\",\"type\":\"standalone\"},{\"name\":\"MATTE\",\"type\":\"standalone\"},{\"name\":\"PRESSED\",\"type\":\"standalone\"},{\"name\":\"SHEEN\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"n14kr95kkmeuh0n1hbaha6dpxa24d\"},{\"name\":\"DISCRETEOFFSET=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies an amount to offset all bars from the category midpoints.\",\"help\":\"DISCRETEOFFSET=*numeric-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0idfr3hyg4bvgn1m8r1gx5m4buaa\"},{\"name\":\"DISPLAYBASELINE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies whether the baseline is displayed.\",\"help\":\"DISPLAYBASELINE=AUTO | ON | OFF\",\"type\":\"choice\",\"arguments\":[{\"name\":\"AUTO\",\"followsDelimiter\":\"/\",\"description\":\"displays the baseline if the baseline intercept is within the response-axis range, excluding the minimum and maximum axis values.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n14kidk5sz230zn1t4t5o38of8twa\"},{\"name\":\"ON\",\"followsDelimiter\":\"/\",\"description\":\"always displays the baseline.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0br3ohjmlp9ntn1fmjekz3h2v6va\"},{\"name\":\"OFF\",\"followsDelimiter\":\"/\",\"description\":\"hides the baseline.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0mzb9slm5101yn1ef8bab6lqy6qa\"}],\"supportSiteTargetFragment\":\"n1q5mmv6wkhlnhn1kq647ur0r3caa\"},{\"name\":\"FILL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies whether the bars are filled.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1ovvcmwq79efjn16pa4at5eu0ex\"},{\"name\":\"NOFILL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies whether the bars are filled.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1ovvcmwq79efjn16pa4at5eu0ex\"},{\"name\":\"FILLATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the fill color and transparency.\",\"help\":\"FILLATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p1hhjd5tfq1syin17xh6u5dbggnie\"},{\"name\":\"FILLENDCOLOR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a fill color that is applied to the chart at the baseline.\",\"help\":\"FILLENDCOLOR=*color*\",\"type\":\"color\",\"supportSiteTargetFragment\":\"n1w9f93nam1tbvn1l2nw21039383a\"},{\"name\":\"FILLPATTERN\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"enables the display of line fill patterns for the plot.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p07xphkuqlrhegn1gw3om8nho8t2e\"},{\"name\":\"FILLPATTERNATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the line-fill color and pattern.\",\"help\":\"FILLPATTERNATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the name of a style element.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1ax5rq5d5pv92n1fm7n5kp87zime\"},{\"name\":\"COLOR=\",\"followsDelimiter\":\"/\",\"description\":\"specifies a color to use for the fill lines.\",\"help\":\"COLOR=*color*\",\"type\":\"color\",\"supportSiteTargetFragment\":\"n1n8357n5tfkkmn1jstn0zkf9rb0e\"},{\"name\":\"PATTERN=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the type of line pattern to use for the fill.\",\"help\":\"PATTERN=*line-pattern*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n14ba3ejj32rz9n16hkm0peyn9eoe\"}],\"supportSiteTargetFragment\":\"p192pnl5qjjtbrn0zuvxg7pvvrs9e\"},{\"name\":\"FILLTYPE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the fill type that is applied to the chart.\",\"help\":\"FILLTYPE=SOLID | GRADIENT | ALPHAGRADIENT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"SOLID\",\"followsDelimiter\":\"/\",\"description\":\"each bar is filled with the color that is assigned to the bar fill area.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1vbbdhyffk2mpn1gt5putgqzezga\"},{\"name\":\"GRADIENT\",\"followsDelimiter\":\"/\",\"description\":\"displays the color from the applied style at the end of the bar gradually changing to the color of the wall at the baseline of the bar.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0l4dqip53lw9qn1arlft8qol1y4a\"},{\"name\":\"ALPHAGRADIENT\",\"followsDelimiter\":\"/\",\"description\":\"a gradient is used to determine the fill color.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p08hjuyghvu39nn184cyl1uhsia6a\"}],\"supportSiteTargetFragment\":\"n12v2sckfnfymjn1bkv83o7somc7a\"},{\"name\":\"GROUP=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a variable that is used to group the data.\",\"help\":\"GROUP=*variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n12ydifq7odra9n16dvrvz15klzjb\"},{\"name\":\"GROUPDISPLAY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies how to display grouped bars.\",\"help\":\"GROUPDISPLAY=STACK | CLUSTER\",\"type\":\"choice\",\"arguments\":[{\"name\":\"STACK\",\"followsDelimiter\":\"/\",\"description\":\"groups are overlaid without any clustering.\",\"help\":\"STACK \",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1da5vp05x9z9un1mszrpgnbt3c3a\"},{\"name\":\"CLUSTER\",\"followsDelimiter\":\"/\",\"description\":\"displays group values as separate adjacent bars that replace the single category bar.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1ubsk9vr1uc72n15g4cchmg3q6ta\"}],\"supportSiteTargetFragment\":\"n15p29rzw3zmtyn14xi6z3qpazkba\"},{\"name\":\"GROUPORDER=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the ordering of the groups within a category.\",\"help\":\"GROUPORDER=DATA | REVERSEDATA | ASCENDING | DESCENDING\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DATA\",\"followsDelimiter\":\"/\",\"description\":\"orders the groups within a category in data order of the group variable.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n17ush6ke65xben1qm2p0dn9pjjab\"},{\"name\":\"REVERSEDATA\",\"followsDelimiter\":\"/\",\"description\":\"orders the groups within a category in the reverse data order of the group variable.\",\"help\":\"REVERSEDATA \",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0ybf6fv2jznutn1fir9sn5as9yqb\"},{\"name\":\"ASCENDING\",\"followsDelimiter\":\"/\",\"description\":\"orders the groups within a category in ascending order of the group variable.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0illc3sf337wnn1kvp0yuul2s1tb\"},{\"name\":\"DESCENDING\",\"followsDelimiter\":\"/\",\"description\":\"orders the groups within a category in descending order of the group variable.\",\"help\":\"DESCENDING \",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p15mm3o64qe2qgn16nv32zmcnleeb\"}],\"supportSiteTargetFragment\":\"n0iz9rcg3x496dn1sfn1g6ernd9ob\"},{\"name\":\"INTERVALBARWIDTH=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the thickness of the bars when the category data is numeric.\",\"help\":\"INTERVALBARWIDTH=*numeric-value*&lt;*units*&gt;\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0jtdbg2299cffn1ppgzo0gpogvoa\"},{\"name\":\"LEGENDLABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the label that identifies the bar chart in the legend.\",\"help\":\"LEGENDLABEL=\\\"*text-string*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0rvge1k1ovjgcn177z3erwy2grq\"},{\"name\":\"MISSING\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"accepts a missing value as a valid category value.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1qgab12e89o2xn1i6zp5mfz3208b\"},{\"name\":\"NAME=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"assigns a name to a plot statement.\",\"help\":\"NAME=\\\"*text-string*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1kiiynz0gzidxn16dsf62msnl4tj\"},{\"name\":\"NOZEROBARS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses zero-length bars.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n00ng2jnzcc27tn1vun7cjlq4oz7a\"},{\"name\":\"OUTLINE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies whether the bars have outlines.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0b5z1bm7at8ryn157g54e2zo7js\"},{\"name\":\"NOOUTLINE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies whether the bars have outlines.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0b5z1bm7at8ryn157g54e2zo7js\"},{\"name\":\"OUTLINEATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the appearance of the bar outlines.\",\"help\":\"OUTLINEATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"n1qaif9zn7wh3mn13f1muabcj35ma\"},{\"name\":\"RATTRID=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the value of the ID variable in a range attribute map data set.\",\"help\":\"RATTRID=*character-value* \",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0ib6229clpp3kn1ramopvfnfj60c\"},{\"name\":\"RESPONSE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a numeric response variable for the plot.\",\"help\":\"RESPONSE=*response-variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1vl2zqikl55g3n1me396dfta087\"},{\"name\":\"SEGLABEL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"displays a label inside each segment of a stacked bar.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0f9e89gx8pqjen1muljrgq8n4r6a\"},{\"name\":\"SEGLABELATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the text properties of the bar segment label text.\",\"help\":\"SEGLABELATTRS=*style-element*&lt;(*options*)&gt; | (*options*) \",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"n1rmvzutd0uz71n18bzmo95678m2a\"},{\"name\":\"SEGLABELFITPOLICY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a policy for fitting the bar segment labels within the bar segments.\",\"help\":\"SEGLABELFITPOLICY=NONE | NOCLIP | THIN\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NONE\",\"followsDelimiter\":\"/\",\"description\":\"no attempt is made to fit each segment label within its bar.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1q3pyrv2q3d00n1gk80qrokunula\"},{\"name\":\"NOCLIP\",\"followsDelimiter\":\"/\",\"description\":\"does not clip bar segment labels that extend beyond the plot area.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0pdaicaup0yxkn19evnnz7tj1oua\"},{\"name\":\"THIN\",\"followsDelimiter\":\"/\",\"description\":\"drops any bar segment label that does not fit within its segment.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1eahmu0ii7jbgn19vrdp0ll6ap6a\"}],\"supportSiteTargetFragment\":\"n0gvkvrf8rtcoyn0zsiw4jfjbjpxa\"},{\"name\":\"SEGLABELFORMAT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the text format used to display the bar segment labels.\",\"help\":\"SEGLABELFORMAT=*format*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0bbys9kblp7zwn1464igc4hehxya\"},{\"name\":\"STAT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the statistic for the horizontal axis.\",\"help\":\"STAT=FREQ | PCT | SUM | MEAN | PROPORTION\",\"type\":\"choice\",\"arguments\":[{\"name\":\"FREQ\",\"followsDelimiter\":\"/\",\"description\":\"frequency count\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p15wxz6aofacjgn1tem9nk2zae4w\"},{\"name\":\"PERCENT\",\"followsDelimiter\":\"/\",\"aliases\":[\"PCT\"],\"description\":\"percentages between 0 and 100\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n10ae4xl5d6p40n17uafqznnupp8\"},{\"name\":\"PROPORTION\",\"followsDelimiter\":\"/\",\"description\":\"proportions between 0 and 1\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0b7r609v0kvxbn1q8k10v03co0e\"},{\"name\":\"SUM\",\"followsDelimiter\":\"/\",\"description\":\"sum values for the response\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0ivqtirr0cdejn1m3frm30l13de\"},{\"name\":\"MEAN\",\"followsDelimiter\":\"/\",\"description\":\"mean values for the response\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1edbgx0sp9kujn1q73tgxdrd4qv\"}],\"supportSiteTargetFragment\":\"p0br2r4uxdv1ojn1go4c5oczeazw\"},{\"name\":\"TIP=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the data tip information to be displayed when the cursor is positioned over the graphics element.\",\"help\":\"TIP=(*role-list*) | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"(role-list)\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"a space-separated list of unique chart roles enclosed in parentheses.\",\"help\":\"(*role-list*) \",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0aiziz4zfhh57n1stflmtx7ez5h\"},{\"name\":\"NONE\",\"followsDelimiter\":\"/\",\"description\":\"suppresses the data tips from this plot.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1xru038y0rmkun13csiy1q5w6hd\"}],\"supportSiteTargetFragment\":\"n0sc31q1srtt6nn1m26ynm5437p0\"},{\"name\":\"TIPFORMAT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"applies formats to the list of data tip roles that you specify in the TIP= option.\",\"help\":\"TIPFORMAT=(*format-list*)\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0yq3c75bgeu30n1p4l5ehco5xvz\"},{\"name\":\"TIPLABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"applies labels to the list of data tip roles that you specify in the TIP= option.\",\"help\":\"TIPLABEL=(*label-list*)\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0hx9t8am4dc2pn1k1453p8eqre2\"},{\"name\":\"TRANSPARENCY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the degree of transparency for the plot.\",\"help\":\"TRANSPARENCY=*value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0hjrs3w86z8ean1npu022im7j2sh\"},{\"name\":\"URL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies an HTML page to be displayed when parts of the plot are selected.\",\"help\":\"URL=*character-variable*\",\"type\":\"value\",\"arguments\":[{\"name\":\"character-variable\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a variable that contains a valid HTML page reference (HREF) for each plot element that is to have an active link.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0x9yrlql13u7gn11kr1daq2vd9sc\"}],\"supportSiteTargetFragment\":\"n0p5y7rpcnleycn17w2nttd9ipblc\"},{\"name\":\"X2AXIS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"assigns the response variable to the secondary (top) horizontal axis.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0a24840p0io3vn1tdiq3ljazshha\"},{\"name\":\"Y2AXIS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"assigns the category variable to the secondary (right) vertical axis.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p072sgd9qzhzb2n1kns39wuohdgwa\"}],\"supportSiteTargetFile\":\"p1j8eoru1yrkrcn1b3n2ilc2cg11.htm\"},{\"name\":\"HBARPARM\",\"description\":\"Creates a horizontal bar chart based on a pre-summarized response value for each unique value of the category variable. You can also assign variables to the upper and lower limits.\",\"help\":\"HBARPARM CATEGORY=*category-variable* RESPONSE=*numeric-variable*&lt;/*options*&gt;;\",\"arguments\":[{\"name\":\"CATEGORY=\",\"description\":\"specifies the variable that categorizes the data.\",\"help\":\"CATEGORY=*category-variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n022brfklocwe3n1v50dxbg2yat8\"},{\"name\":\"RESPONSE=\",\"description\":\"specifies a numeric response variable.\",\"help\":\"RESPONSE=*numeric-variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0d0s4t4atqwfxn1nzxxrouj391i\"},{\"name\":\"ATTRID=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the value of the ID variable in a discrete attribute map data set.\",\"help\":\"ATTRID=*character-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0gnil4gecoz0fn1sjexzo9ka6a8h\"},{\"name\":\"BARWIDTH=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the width of the bars as a ratio of the maximum possible width.\",\"help\":\"BARWIDTH=*numeric-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0mhtmcbdvmstsn1ajh3embjr0jvb\"},{\"name\":\"BASELINE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the response axis intercept for the baseline.\",\"help\":\"BASELINE=*numeric-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1fr0qhajmuoi2n1tumqbtd0ykovb\"},{\"name\":\"BASELINEATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the appearance of the baseline.\",\"help\":\"BASELINEATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p1etmfroq8mx8kn1ao7pjy3p5x2ob\"},{\"name\":\"CLUSTERWIDTH=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the cluster width as a ratio of the maximum width.\",\"help\":\"CLUSTERWIDTH=*numeric-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p10l6lw19cjkk8n1sn9ivh1iequ2b\"},{\"name\":\"COLORMODEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a color ramp that is to be used to determine response colors.\",\"help\":\"COLORMODEL=*style-element* | (*color-list*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the name of a style element.\",\"help\":\"*style-element* \",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0j80gk5jvponwn1i3nubsiypmn7d\"},{\"name\":\"(color-list)\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a space-separated list of colors to use in the color ramp.\",\"type\":\"color\",\"supportSiteTargetFragment\":\"n1bmynehs17vrcn1eyylzs4tatied\"}],\"supportSiteTargetFragment\":\"p0lv0hndswc5a5n1hjd7lql3yfk6d\"},{\"name\":\"COLORRESPONSE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the numeric column that is used to map colors to a continuous color ramp.\",\"help\":\"COLORRESPONSE=*numeric-column*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0oottiwct880xn17bxx29idalzbd\"},{\"name\":\"DATALABEL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"displays a label for each data point.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p14nwead434yo5n0zxw4gb9zpul9a\"},{\"name\":\"DATALABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"displays a label for each data point.\",\"help\":\"DATALABEL=*variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p14nwead434yo5n0zxw4gb9zpul9a\"},{\"name\":\"DATALABELATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the appearance of the labels in the plot when you use the DATALABEL= option.\",\"help\":\"DATALABELATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p1knsfepcp6q3tn1rcxjyvwtszoxd\"},{\"name\":\"DATALABELFITPOLICY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the fit policy for the bar labels.\",\"help\":\"DATALABELFITPOLICY=NONE | INSIDEPREFERRED\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NONE\",\"followsDelimiter\":\"/\",\"description\":\"specifies that no fit policy is implemented for the bar labels.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0lmzg1kasbja6n196ws8r32gkgwb\"},{\"name\":\"INSIDEPREFERRED\",\"followsDelimiter\":\"/\",\"description\":\"places bar labels inside the bars, when possible.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1q3la8dg6188on1wsxzkdyns9rpb\"}],\"supportSiteTargetFragment\":\"n0f2qxom9sz17tn151virjkarhkrb\"},{\"name\":\"DATALABELPOS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the location of the data label.\",\"help\":\"DATALABELPOS=DATA | LEFT | RIGHT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DATA\",\"followsDelimiter\":\"/\",\"description\":\"places the label on the data primitives (at the right edge of the bars).\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0c5stygwyqkqtn107iolp6uwu01\"},{\"name\":\"LEFT\",\"followsDelimiter\":\"/\",\"description\":\"places the label to the left of the bars on the left edge of the data area.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0o7459skkk4j6n1n6yscezl1jgq\"},{\"name\":\"RIGHT\",\"followsDelimiter\":\"/\",\"description\":\"places the label to the right of the bars on the right edge of the data area.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0rx5mhoflihkgn1grosgv1of2sb\"}],\"supportSiteTargetFragment\":\"p11t4k1bdgcjopn1iwt2fn3ucj85\"},{\"name\":\"DATASKIN=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a special effect to be used on the plot.\",\"help\":\"DATASKIN=NONE | CRISP | GLOSS | MATTE | PRESSED | SHEEN\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NONE\",\"type\":\"standalone\"},{\"name\":\"CRISP\",\"type\":\"standalone\"},{\"name\":\"GLOSS\",\"type\":\"standalone\"},{\"name\":\"MATTE\",\"type\":\"standalone\"},{\"name\":\"PRESSED\",\"type\":\"standalone\"},{\"name\":\"SHEEN\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"n14kr95kkmeuh0n1hbaha6dpxa24e\"},{\"name\":\"DISCRETEOFFSET=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies an amount to offset all bars from the category midpoints.\",\"help\":\"DISCRETEOFFSET=*numeric-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0idfr3hyg4bvgn1m8r1gx5m4buab\"},{\"name\":\"DISPLAYBASELINE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies whether the baseline is displayed.\",\"help\":\"DISPLAYBASELINE=AUTO | ON | OFF\",\"type\":\"choice\",\"arguments\":[{\"name\":\"AUTO\",\"followsDelimiter\":\"/\",\"description\":\"displays the baseline if the baseline intercept is within the response-axis range, excluding the minimum and maximum axis values.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n14kidk5sz230zn1t4t5o38of8twb\"},{\"name\":\"ON\",\"followsDelimiter\":\"/\",\"description\":\"always displays the baseline.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0br3ohjmlp9ntn1fmjekz3h2v6vb\"},{\"name\":\"OFF\",\"followsDelimiter\":\"/\",\"description\":\"hides the baseline.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0mzb9slm5101yn1ef8bab6lqy6qb\"}],\"supportSiteTargetFragment\":\"n1q5mmv6wkhlnhn1kq647ur0r3cab\"},{\"name\":\"FILL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies whether the bars are filled.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p09x6v30ou8v71n1mwzgsv9ssdo0\"},{\"name\":\"NOFILL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies whether the bars are filled.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p09x6v30ou8v71n1mwzgsv9ssdo0\"},{\"name\":\"FILLATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the fill color and transparency.\",\"help\":\"FILLATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p1hhjd5tfq1syin17xh6u5dbggnif\"},{\"name\":\"FILLENDCOLOR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a fill color that is applied to the chart at the baseline.\",\"help\":\"FILLENDCOLOR=*color*\",\"type\":\"color\",\"supportSiteTargetFragment\":\"n1w9f93nam1tbvn1l2nw21039383b\"},{\"name\":\"FILLPATTERN\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"enables the display of line fill patterns for the plot.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p07xphkuqlrhegn1gw3om8nho8t2f\"},{\"name\":\"FILLPATTERNATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the line-fill color and pattern.\",\"help\":\"FILLPATTERNATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the name of a style element.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1ax5rq5d5pv92n1fm7n5kp87zimf\"},{\"name\":\"COLOR=\",\"followsDelimiter\":\"/\",\"description\":\"specifies a color to use for the fill lines.\",\"help\":\"COLOR=*color*\",\"type\":\"color\",\"supportSiteTargetFragment\":\"n1n8357n5tfkkmn1jstn0zkf9rb0f\"},{\"name\":\"PATTERN=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the type of line pattern to use for the fill.\",\"help\":\"PATTERN=*line-pattern*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n14ba3ejj32rz9n16hkm0peyn9eof\"}],\"supportSiteTargetFragment\":\"p192pnl5qjjtbrn0zuvxg7pvvrs9f\"},{\"name\":\"FILLTYPE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the fill type that is applied to the chart.\",\"help\":\"FILLTYPE=SOLID | GRADIENT | ALPHAGRADIENT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"SOLID\",\"followsDelimiter\":\"/\",\"description\":\"each bar is filled with the color that is assigned to the bar fill area.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1vbbdhyffk2mpn1gt5putgqzezgb\"},{\"name\":\"GRADIENT\",\"followsDelimiter\":\"/\",\"description\":\"displays the color from the applied style at the end of the bar gradually changing to the color of the wall at the baseline of the bar.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0l4dqip53lw9qn1arlft8qol1y4b\"},{\"name\":\"ALPHAGRADIENT\",\"followsDelimiter\":\"/\",\"description\":\"a gradient is used to determine the fill color.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p08hjuyghvu39nn184cyl1uhsia6b\"}],\"supportSiteTargetFragment\":\"n12v2sckfnfymjn1bkv83o7somc7b\"},{\"name\":\"GROUP=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a variable that is used to group the data.\",\"help\":\"GROUP=*variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0ihz5mnsij0ern0zx0ildin6aeha\"},{\"name\":\"GROUPDISPLAY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies how to display grouped bars.\",\"help\":\"GROUPDISPLAY=STACK | CLUSTER\",\"type\":\"choice\",\"arguments\":[{\"name\":\"STACK\",\"followsDelimiter\":\"/\",\"description\":\"groups are overlaid without any clustering.\",\"help\":\"STACK \",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1da5vp05x9z9un1mszrpgnbt3c3b\"},{\"name\":\"CLUSTER\",\"followsDelimiter\":\"/\",\"description\":\"displays group values as separate adjacent bars that replace the single category bar.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1ubsk9vr1uc72n15g4cchmg3q6tb\"}],\"supportSiteTargetFragment\":\"n15p29rzw3zmtyn14xi6z3qpazkbb\"},{\"name\":\"GROUPORDER=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the ordering of the groups within a category.\",\"help\":\"GROUPORDER=DATA | REVERSEDATA | ASCENDING | DESCENDING\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DATA\",\"followsDelimiter\":\"/\",\"description\":\"orders the groups within a category in data order of the group variable.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n17ush6ke65xben1qm2p0dn9pjjac\"},{\"name\":\"REVERSEDATA\",\"followsDelimiter\":\"/\",\"description\":\"orders the groups within a category in the reverse data order of the group variable.\",\"help\":\"REVERSEDATA \",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0ybf6fv2jznutn1fir9sn5as9yqc\"},{\"name\":\"ASCENDING\",\"followsDelimiter\":\"/\",\"description\":\"orders the groups within a category in ascending order of the group variable.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0illc3sf337wnn1kvp0yuul2s1tc\"},{\"name\":\"DESCENDING\",\"followsDelimiter\":\"/\",\"description\":\"orders the groups within a category in descending order of the group variable.\",\"help\":\"DESCENDING \",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p15mm3o64qe2qgn16nv32zmcnleec\"}],\"supportSiteTargetFragment\":\"n0iz9rcg3x496dn1sfn1g6ernd9oc\"},{\"name\":\"INTERVALBARWIDTH=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the thickness of the bars when the category data is numeric.\",\"help\":\"INTERVALBARWIDTH=*numeric-value*&lt;*units*&gt;\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0jtdbg2299cffn1ppgzo0gpogvob\"},{\"name\":\"LEGENDLABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the label that identifies the bar chart in the legend.\",\"help\":\"LEGENDLABEL=\\\"*text-string*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1ri75jmt48jpjn1asrnon599eev\"},{\"name\":\"LIMITATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the appearance of the limit lines in the plot.\",\"help\":\"LIMITATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p0wtsrzuflm7eqn1hm63m4oz2qey\"},{\"name\":\"LIMITCAPSCALE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a positive number to use as a multiplier for changing the default width of the limit-bar cap (serif).\",\"help\":\"LIMITCAPSCALE=*positive-number*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n18viyznshxlgln1s3f9ix0xbt4bb\"},{\"name\":\"LIMITLOWER=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies values for the lower endpoints on the limit lines.\",\"help\":\"LIMITLOWER=*numeric-variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1oemakm4jaykwn1vtdl0f4vw9jv\"},{\"name\":\"LIMITUPPER=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies values for the upper endpoints on the limit lines.\",\"help\":\"LIMITUPPER=*numeric-variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0brjwo9ue773rn1x3d1q1xwi37b\"},{\"name\":\"MISSING\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"accepts a missing value as a valid category value.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1qgab12e89o2xn1i6zp5mfz3208c\"},{\"name\":\"NAME=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"assigns a name to a plot statement.\",\"help\":\"NAME=\\\"*text-string*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1kiiynz0gzidxn16dsf62msnl4tk\"},{\"name\":\"NOZEROBARS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses zero-length bars.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n00ng2jnzcc27tn1vun7cjlq4oz7b\"},{\"name\":\"OUTLINE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies whether the bars have outlines.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n13c2mf35hgpjyn1j472xt2wb7nf\"},{\"name\":\"NOOUTLINE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies whether the bars have outlines.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n13c2mf35hgpjyn1j472xt2wb7nf\"},{\"name\":\"OUTLINEATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the appearance of the bar outlines.\",\"help\":\"OUTLINEATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"n1qaif9zn7wh3mn13f1muabcj35mb\"},{\"name\":\"RATTRID=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the value of the ID variable in a range attribute map data set.\",\"help\":\"RATTRID=*character-value* \",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0ib6229clpp3kn1ramopvfnfj60d\"},{\"name\":\"SEGLABEL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"displays a label inside each segment of a stacked bar.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0f9e89gx8pqjen1muljrgq8n4r6b\"},{\"name\":\"SEGLABELATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the text properties of the bar segment label text.\",\"help\":\"SEGLABELATTRS=*style-element*&lt;(*options*)&gt; | (*options*) \",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"n1rmvzutd0uz71n18bzmo95678m2b\"},{\"name\":\"SEGLABELFITPOLICY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a policy for fitting the bar segment labels within the bar segments.\",\"help\":\"SEGLABELFITPOLICY=NONE | NOCLIP | THIN\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NONE\",\"followsDelimiter\":\"/\",\"description\":\"no attempt is made to fit each segment label within its bar.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1q3pyrv2q3d00n1gk80qrokunulb\"},{\"name\":\"NOCLIP\",\"followsDelimiter\":\"/\",\"description\":\"does not clip bar segment labels that extend beyond the plot area.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0pdaicaup0yxkn19evnnz7tj1oub\"},{\"name\":\"THIN\",\"followsDelimiter\":\"/\",\"description\":\"drops any bar segment label that does not fit within its segment.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1eahmu0ii7jbgn19vrdp0ll6ap6b\"}],\"supportSiteTargetFragment\":\"n0gvkvrf8rtcoyn0zsiw4jfjbjpxb\"},{\"name\":\"SEGLABELFORMAT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the text format used to display the bar segment labels.\",\"help\":\"SEGLABELFORMAT=*format*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0bbys9kblp7zwn1464igc4hehxyb\"},{\"name\":\"TIP=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the data tip information to be displayed when the cursor is positioned over the graphics element.\",\"help\":\"TIP=(*variable-list*) | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"(variable-list)\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"a space-separated list of variables enclosed in parentheses.\",\"help\":\"(*variable-list*) \",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1xt1um6hrz1xyn1sjttwqpgpo2ge\"},{\"name\":\"NONE\",\"followsDelimiter\":\"/\",\"description\":\"suppresses the data tips from this plot.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0juujvli3nm16n1m4i3zstsmn7ue\"}],\"supportSiteTargetFragment\":\"n0tlg070rp5jkkn193er1c3er8vve\"},{\"name\":\"TIPFORMAT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"applies formats to the list of data tip variables that you specify in the TIP= option.\",\"help\":\"TIPFORMAT=(*format-list*)\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1vgm3eynz19vzn1mlqm98fezlp5e\"},{\"name\":\"TIPLABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"applies labels to the list of data tip variables that you specify in the TIP= option.\",\"help\":\"TIPLABEL=(*label-list*)\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0tod59njrbtewn1hk76dznibemue\"},{\"name\":\"TRANSPARENCY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the degree of transparency for the plot.\",\"help\":\"TRANSPARENCY=*value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0hjrs3w86z8ean1npu022im7j2si\"},{\"name\":\"URL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies an HTML page to be displayed when parts of the plot are selected.\",\"help\":\"URL=*character-variable*\",\"type\":\"value\",\"arguments\":[{\"name\":\"character-variable\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a variable that contains a valid HTML page reference (HREF) for each plot element that is to have an active link.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0x9yrlql13u7gn11kr1daq2vd9sd\"}],\"supportSiteTargetFragment\":\"n0p5y7rpcnleycn17w2nttd9ipbld\"},{\"name\":\"X2AXIS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"assigns the response variable to the secondary (top) horizontal axis.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0a24840p0io3vn1tdiq3ljazshhb\"},{\"name\":\"Y2AXIS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"assigns the category variable to the secondary (right) vertical axis.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p072sgd9qzhzb2n1kns39wuohdgwb\"}],\"supportSiteTargetFile\":\"n0a5svhjs7b505n1vlk4kuth2x3q.htm\"},{\"name\":\"HBOX\",\"description\":\"Creates a horizontal box plot that shows the distribution of your data.\",\"help\":\"HBOX *numeric-analysis-variable*&lt;/*options*&gt;;\",\"arguments\":[{\"name\":\"numeric-analysis-variable\",\"placeholder\":true,\"description\":\"specifies the analysis variable for the plot.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n17kyl5tk346xln1s1pwwdva6enh\"},{\"name\":\"ATTRID=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the value of the ID variable in a discrete attribute map data set.\",\"help\":\"ATTRID=*character-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0gnil4gecoz0fn1sjexzo9ka6a8i\"},{\"name\":\"BOXWIDTH=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the width of the box.\",\"help\":\"BOXWIDTH=*numeric-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p118b3phqy6w6wn18ary5z5tp52v\"},{\"name\":\"CAPSCALE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a positive number to use as a multiplier for changing the default width of the whisker caps.\",\"help\":\"CAPSCALE=*numeric-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1h85ze1x7q5m2n153e3846cnvqp\"},{\"name\":\"CAPSHAPE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the shape of the whisker cap lines.\",\"help\":\"CAPSHAPE=BRACKET | LINE | SERIF | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"BRACKET\",\"followsDelimiter\":\"/\",\"description\":\"displays a straight line with brackets.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0a8st2docokzcn16cguj0uu3q4x\"},{\"name\":\"LINE\",\"followsDelimiter\":\"/\",\"description\":\"displays a straight line.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0cwnl6i5fg1won1v0reooklveiz\"},{\"name\":\"SERIF\",\"followsDelimiter\":\"/\",\"description\":\"displays a short straight line.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n06crznjnr9w6pn18iixe7x4q7rh\"},{\"name\":\"NONE\",\"followsDelimiter\":\"/\",\"description\":\"does not display a cap.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0c7f3gc7xavzwn1i4uwmqai8muq\"}],\"supportSiteTargetFragment\":\"n00mx4an147xmqn1ps615tllmygm\"},{\"name\":\"CATEGORY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the category variable for the plot.\",\"help\":\"CATEGORY=*category-variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0esyosl3medt9n18uwn3eyrz1rx\"},{\"name\":\"CLUSTERWIDTH=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the cluster width as a ratio of the midpoint spacing.\",\"help\":\"CLUSTERWIDTH=*numeric-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0v7pusj5f88n9n19s1kamydag2u\"},{\"name\":\"CONNECT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that a connect line joins a statistic from box to box.\",\"help\":\"CONNECT=MEAN | MEDIAN | Q1 | Q3 | MIN | MAX\",\"type\":\"choice\",\"arguments\":[{\"name\":\"MEAN\",\"type\":\"standalone\"},{\"name\":\"MEDIAN\",\"type\":\"standalone\"},{\"name\":\"Q1\",\"type\":\"standalone\"},{\"name\":\"Q3\",\"type\":\"standalone\"},{\"name\":\"MIN\",\"type\":\"standalone\"},{\"name\":\"MAX\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"p1czpjw8njz8v1n1adwe6dxtcohi\"},{\"name\":\"CONNECTATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the appearance of the lines that connect multiple boxes.\",\"help\":\"CONNECTATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p1lu99n57tu68wn14zzbsa0oxjse\"},{\"name\":\"DATALABEL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"adds data labels for the outlier markers.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1e5yepfne1f4zn137mttauqq7ti\"},{\"name\":\"DATALABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"adds data labels for the outlier markers.\",\"help\":\"DATALABEL=*variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1e5yepfne1f4zn137mttauqq7ti\"},{\"name\":\"DATALABELATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the appearance of the labels in the plot when you use the DATALABEL= option.\",\"help\":\"DATALABELATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p1knsfepcp6q3tn1rcxjyvwtszoxe\"},{\"name\":\"DATASKIN=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a special effect to be used on the plot.\",\"help\":\"DATASKIN=NONE | CRISP | GLOSS | MATTE | PRESSED | SHEEN\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NONE\",\"type\":\"standalone\"},{\"name\":\"CRISP\",\"type\":\"standalone\"},{\"name\":\"GLOSS\",\"type\":\"standalone\"},{\"name\":\"MATTE\",\"type\":\"standalone\"},{\"name\":\"PRESSED\",\"type\":\"standalone\"},{\"name\":\"SHEEN\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"n14kr95kkmeuh0n1hbaha6dpxa24f\"},{\"name\":\"DISCRETEOFFSET=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies an amount to offset all boxes from the discrete tick marks.\",\"help\":\"DISCRETEOFFSET=*numeric-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n14nhba8vihlh5n19n3rftqea559\"},{\"name\":\"DISPLAYSTATS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies statistics to be displayed for each box.\",\"help\":\"DISPLAYSTATS=ALL | (*statistics-list*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ALL\",\"followsDelimiter\":\"/\",\"description\":\"displays all available statistics.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0edik19gthgron1fwqko5wawzbk\"},{\"name\":\"statistics-list\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a space-separated list of statistics enclosed in parentheses.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n03mw90fw37lf6n1i3w6wrpdwor6\"}],\"supportSiteTargetFragment\":\"n1eufrvegbi4djn1y2k2iu92d896\"},{\"name\":\"EXTREME\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that the whiskers can extend to the maximum and minimum values for the analysis variable, and that outliers are not identified.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1gf24itila77bn1a4x7yxeqf5d6\"},{\"name\":\"FILL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies whether the boxes are filled with color.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1wzxqvqmt47kln1t3g7vfpx3umd\"},{\"name\":\"NOFILL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies whether the boxes are filled with color.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1wzxqvqmt47kln1t3g7vfpx3umd\"},{\"name\":\"FILLATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the fill color and transparency.\",\"help\":\"FILLATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p1hhjd5tfq1syin17xh6u5dbggnig\"},{\"name\":\"FILLPATTERN\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"enables the display of line fill patterns for the plot.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p07xphkuqlrhegn1gw3om8nho8t2g\"},{\"name\":\"FILLPATTERNATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the line-fill color and pattern.\",\"help\":\"FILLPATTERNATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the name of a style element.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1ax5rq5d5pv92n1fm7n5kp87zimg\"},{\"name\":\"COLOR=\",\"followsDelimiter\":\"/\",\"description\":\"specifies a color to use for the fill lines.\",\"help\":\"COLOR=*color*\",\"type\":\"color\",\"supportSiteTargetFragment\":\"n1n8357n5tfkkmn1jstn0zkf9rb0g\"},{\"name\":\"PATTERN=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the type of line pattern to use for the fill.\",\"help\":\"PATTERN=*line-pattern*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n14ba3ejj32rz9n16hkm0peyn9eog\"}],\"supportSiteTargetFragment\":\"p192pnl5qjjtbrn0zuvxg7pvvrs9g\"},{\"name\":\"FREQ=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a variable for the frequency count for each observation in the input data.\",\"help\":\"FREQ=*numeric-variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1i0jzew1006vxn1cu1xftid3xnmb\"},{\"name\":\"GROUP=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a variable that is used to group the data.\",\"help\":\"GROUP=*variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0ihz5mnsij0ern0zx0ildin6aehb\"},{\"name\":\"GROUPDISPLAY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies how to display grouped boxes.\",\"help\":\"GROUPDISPLAY=CLUSTER | OVERLAY\",\"type\":\"choice\",\"arguments\":[{\"name\":\"CLUSTER\",\"followsDelimiter\":\"/\",\"description\":\"the boxes are drawn adjacent to each other.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1efc8r1s5n1o6n19mf945kkf1ra\"},{\"name\":\"OVERLAY\",\"followsDelimiter\":\"/\",\"description\":\"all the boxes for a given group value are drawn at the exact coordinate and might overlap.\",\"help\":\"OVERLAY \",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0n1hy0ajbvowqn1nzyb398sn08s\"}],\"supportSiteTargetFragment\":\"n09bzie0oc1suvn1f8859qykokqf\"},{\"name\":\"GROUPORDER=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the ordering of the groups within a category.\",\"help\":\"GROUPORDER=DATA | REVERSEDATA | ASCENDING | DESCENDING\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DATA\",\"followsDelimiter\":\"/\",\"description\":\"orders the groups within a category in data order of the group variable.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n17ush6ke65xben1qm2p0dn9pjjad\"},{\"name\":\"REVERSEDATA\",\"followsDelimiter\":\"/\",\"description\":\"orders the groups within a category in the reverse data order of the group variable.\",\"help\":\"REVERSEDATA \",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0ybf6fv2jznutn1fir9sn5as9yqd\"},{\"name\":\"ASCENDING\",\"followsDelimiter\":\"/\",\"description\":\"orders the groups within a category in ascending order of the group variable.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0illc3sf337wnn1kvp0yuul2s1td\"},{\"name\":\"DESCENDING\",\"followsDelimiter\":\"/\",\"description\":\"orders the groups within a category in descending order of the group variable.\",\"help\":\"DESCENDING \",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p15mm3o64qe2qgn16nv32zmcnleed\"}],\"supportSiteTargetFragment\":\"n0iz9rcg3x496dn1sfn1g6ernd9od\"},{\"name\":\"INTERVALBOXWIDTH=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"INTBOXWIDTH=\"],\"description\":\"specifies the box width when an interval category (Y) variable is specified.\",\"help\":\"INTERVALBOXWIDTH=*numeric-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0roh6u0911wqnn1lsjg6fecxr2x\"},{\"name\":\"LABELFAR\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that only the far outliers have data labels.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0izcx9ae2a2zmn10tn576gxnctv\"},{\"name\":\"LEGENDLABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a label that identifies the box plot in the legend.\",\"help\":\"LEGENDLABEL=\\\"*text-string*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1fkpizb40v956n1rxi5aiih6o7y\"},{\"name\":\"LINEATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the appearance of the box outlines.\",\"help\":\"LINEATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p12lvkrwpiv7nen1u3qduswboet8\"},{\"name\":\"MEANATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the appearance of the marker that represents the mean in the box.\",\"help\":\"MEANATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"n078s11h76a12gn1imwfiteemz9q\"},{\"name\":\"MEDIANATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the appearance of the line that represents the median.\",\"help\":\"MEDIANATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p0y14g5vfj4y0in13ewyfgh3l8if\"},{\"name\":\"MISSING\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"accepts a missing value as a valid category value.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1qgab12e89o2xn1i6zp5mfz3208d\"},{\"name\":\"NAME=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"assigns a name to a plot statement.\",\"help\":\"NAME=\\\"*text-string*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1kiiynz0gzidxn16dsf62msnl4tl\"},{\"name\":\"NOCAPS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"hides the cap lines for the whiskers.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0tfwnwymqxwfhn19qg2nxd7zckr\"},{\"name\":\"NOMEAN\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"hides the mean marker.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1jlrhi6x12vvln1f1u1htyp3wim\"},{\"name\":\"NOMEDIAN\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"hides the median line.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1j5h1ohcms8rpn0zh52aheq2sni\"},{\"name\":\"NOOUTLIERS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"hides the outliers from the plot.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0zsrx3axpiwlbn0zdyqx2kv5x4h\"},{\"name\":\"NOTCHES\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that the boxes be notched.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p16quh7vciq2f6n1cdqmbeucgd27\"},{\"name\":\"OUTLIERATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the appearance of the marker that represents the outliers.\",\"help\":\"OUTLIERATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p1sare67gpwtwmn1peh82qma4qse\"},{\"name\":\"PERCENTILE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a method for computing the percentiles for the plot.\",\"help\":\"PERCENTILE=1 | 2 | 3 | 4 | 5\",\"type\":\"choice\",\"arguments\":[{\"name\":\"1\",\"type\":\"standalone\"},{\"name\":\"2\",\"type\":\"standalone\"},{\"name\":\"3\",\"type\":\"standalone\"},{\"name\":\"4\",\"type\":\"standalone\"},{\"name\":\"5\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"n00elconrqapjdn1jw8zmlm4rnak\"},{\"name\":\"SPLITCHAR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies one or more characters on which the text for data labels is always split.\",\"help\":\"SPLITCHAR=\\\"*character-list*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1uloff5glv6hcn1ginrortjqxq1b\"},{\"name\":\"SPLITCHARNODROP\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that the split characters are included in the displayed value.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p17rdbkgdneovrn1ue8o2kpkg9ewd\"},{\"name\":\"SPLITJUSTIFY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the horizontal alignment of the value text that is being split.\",\"help\":\"SPLITJUSTIFY=LEFT | CENTER | RIGHT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"LEFT\",\"type\":\"standalone\"},{\"name\":\"CENTER\",\"type\":\"standalone\"},{\"name\":\"RIGHT\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"p1gpg1oyxutpycn14zlh3q5a4u2cd\"},{\"name\":\"SPREAD\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"relocates outlier points that have identical values to prevent overlapping.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1prje118tgafkn1plpbh4utzarj\"},{\"name\":\"TIP=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the information to display when the cursor is positioned over a box or whisker in the box plot.\",\"help\":\"TIP=(*role-list*) | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"(role-list)\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"a space-separated list of unique box plot roles enclosed in parentheses.\",\"help\":\"(*role-list*) \",\"type\":\"value\",\"supportSiteTargetFragment\":\"p14cv4r9xsilp5n1ltvmt9louked\"},{\"name\":\"NONE\",\"followsDelimiter\":\"/\",\"description\":\"suppresses the data tips from this plot.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0g4jxhcbnbhypn1tc2mkv53gtux\"}],\"supportSiteTargetFragment\":\"p0p1xsrxaakqgzn15gh16zr1p99v\"},{\"name\":\"TIPFORMAT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"applies formats to the list of data tip roles that you specify in the TIP= option.\",\"help\":\"TIPFORMAT=(*format-list*)\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0yq3c75bgeu30n1p4l5ehco5xvza\"},{\"name\":\"TIPLABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"applies labels to the list of data tip roles that you specify in the TIP= option.\",\"help\":\"TIPLABEL=(*label-list*)\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0hx9t8am4dc2pn1k1453p8eqre2a\"},{\"name\":\"TRANSPARENCY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the degree of transparency for the plot.\",\"help\":\"TRANSPARENCY=*value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0hjrs3w86z8ean1npu022im7j2sj\"},{\"name\":\"WEIGHT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a variable that contains values to be used as weights for the calculations.\",\"help\":\"WEIGHT=*numeric-variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1er8no6i58s4rn1i8wg42ndkxr1a\"},{\"name\":\"WHISKERATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the appearance of the whisker and cap lines.\",\"help\":\"WHISKERATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"n1d2nno8v3x04dn1s63nn6autz9j\"},{\"name\":\"WHISKERPCT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the whisker length, in percentile units.\",\"help\":\"WHISKERPCT=*number*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0w49h7u2t06cfn1mfzn8t003aug\"},{\"name\":\"X2AXIS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"assigns the analysis variable to the secondary (top) horizontal axis.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1xyw75kro15isn1f2qjhxvc8cfs\"},{\"name\":\"Y2AXIS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"assigns the category variable to the secondary (right) vertical axis.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0l3fbaal3a6ebn1v441fpnxe5eh\"}],\"supportSiteTargetFile\":\"p1gylmjb4jaadfn1233wm4uzeb0e.htm\"},{\"name\":\"HEATMAP\",\"description\":\"Creates a plot of color-coded rectangles for the response variable of a pair of X and Y variables after it bins the data in two dimensions.\",\"help\":\"HEATMAP X=*variable* Y=*variable*&lt;/*options*&gt;;\",\"arguments\":[{\"name\":\"X=\",\"description\":\"specifies the variable for the X axis.\",\"help\":\"X=*variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0bs2gi7kpf5w9n1bhw7kv3u2urf\"},{\"name\":\"Y=\",\"description\":\"specifies the variable for the Y axis.\",\"help\":\"Y=*variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p04cyohf8jxposn15a2s0l2zzmri\"},{\"name\":\"COLORMODEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a color ramp that is to be used to determine response colors.\",\"help\":\"COLORMODEL=*style-element* | (*color-list*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the name of a style element.\",\"help\":\"*style-element* \",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0j80gk5jvponwn1i3nubsiypmn7e\"},{\"name\":\"(color-list)\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a space-separated list of colors to use in the color ramp.\",\"type\":\"color\",\"supportSiteTargetFragment\":\"n1bmynehs17vrcn1eyylzs4tatiee\"}],\"supportSiteTargetFragment\":\"p0lv0hndswc5a5n1hjd7lql3yfk6e\"},{\"name\":\"COLORRESPONSE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a numeric variable that is used to color the regions of the heat map.\",\"help\":\"COLORRESPONSE=*numeric-variable* \",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1jig7k1d6zus8n1gz9yamadtiz3\"},{\"name\":\"COLORSTAT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the statistic to use for the COLORRESPONSE= variable.\",\"help\":\"COLORSTAT=FREQ | PCT | SUM | MEAN\",\"type\":\"choice\",\"arguments\":[{\"name\":\"FREQ\",\"followsDelimiter\":\"/\",\"description\":\"frequency count\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1uy44ar0rsa2un11lumwkm9qg8o\"},{\"name\":\"PCT\",\"followsDelimiter\":\"/\",\"aliases\":[\"PERCENT\"],\"description\":\"percentages between 0 and 100\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1cabw9db5ahcin1quww0bwi6cp5\"},{\"name\":\"SUM\",\"followsDelimiter\":\"/\",\"description\":\"sum values for the color response\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1il6m3fw2p0m2n1tlnuxrm1fgag\"},{\"name\":\"MEAN\",\"followsDelimiter\":\"/\",\"description\":\"mean values for the color response\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n05x05bjbipvy5n10uuj2s591ouk\"}],\"supportSiteTargetFragment\":\"p090bx4ncvgdc0n1xp0rzn6l5z2n\"},{\"name\":\"DISCRETEX\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"forces the X axis to be discrete when the X= variable is numeric.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1o4dpuw4q6ugmn17zxt6y8rbkea\"},{\"name\":\"DISCRETEY\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"forces the Y axis to be discrete when the Y= variable is numeric.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0dchhx7lcfhgxn1pcrxoadb507x\"},{\"name\":\"FILLATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the transparency of the area fill in the rectangles.\",\"help\":\"FILLATTRS=(TRANSPARENCY=*number*)\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0vjbh57y5s8yqn1hgndd3s2hiaj\"},{\"name\":\"FREQ=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a variable for the frequency count for each observation in the input data.\",\"help\":\"FREQ=*numeric-variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1iqtbrzkqx6y6n1ee6zxmqu1bwmb\"},{\"name\":\"NAME=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"assigns a name to a plot statement.\",\"help\":\"NAME=\\\"*text-string*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1kiiynz0gzidxn16dsf62msnl4tm\"},{\"name\":\"NXBINS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the number of bins to use for the X role.\",\"help\":\"NXBINS=*positive-integer*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n06slo2okel947n1au1zgkvft5z9\"},{\"name\":\"NYBINS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the number of bins to use for the Y role.\",\"help\":\"NYBINS=*positive-integer*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0bicijw35b3h2n18nbgq9u94utn\"},{\"name\":\"OUTLINE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"displays an outline around each colored region.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1xfxhktcwbedqn1bj36g56qg80z\"},{\"name\":\"OUTLINEATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the appearance of the rectangle outlines.\",\"help\":\"OUTLINEATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"n138kcc9kfb2kjn1iaw534h3stz0\"},{\"name\":\"RATTRID=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the value of the ID variable in a range attribute map data set.\",\"help\":\"RATTRID=*character-value* \",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0ib6229clpp3kn1ramopvfnfj60e\"},{\"name\":\"SHOWXBINS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that bins be used as the basis for the X-axis tick marks.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0xfifxokt0pqdn1kn5ig5jg5kmb\"},{\"name\":\"SHOWYBINS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that bins be used as the basis for the Y-axis tick marks.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0qyjaflagbgvwn1as2mipetbbdz\"},{\"name\":\"TIP=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the information to display when the cursor is positioned over a rectangle.\",\"help\":\"TIP=(*role-list*) | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"(role-list)\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"a space-separated list of unique heat map roles enclosed in parentheses.\",\"help\":\"(*role-list*) \",\"type\":\"value\",\"supportSiteTargetFragment\":\"n14xwnir1h1pz7n19h73q1ou821a\"},{\"name\":\"NONE\",\"followsDelimiter\":\"/\",\"description\":\"suppresses the data tips from this plot.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1v25kf1tyfesgn1wvxspgj9o5e5\"}],\"supportSiteTargetFragment\":\"p04t1ntoszaoucn1572udkoq04eg\"},{\"name\":\"TIPFORMAT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"applies formats to the list of data tip roles that you specify in the TIP= option.\",\"help\":\"TIPFORMAT=(*format-list*)\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0yq3c75bgeu30n1p4l5ehco5xvzb\"},{\"name\":\"TIPLABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"applies labels to the list of data tip roles that you specify in the TIP= option.\",\"help\":\"TIPLABEL=(*label-list*)\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0hx9t8am4dc2pn1k1453p8eqre2b\"},{\"name\":\"TRANSPARENCY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the degree of transparency for the plot.\",\"help\":\"TRANSPARENCY=*value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0hjrs3w86z8ean1npu022im7j2sk\"},{\"name\":\"WEIGHT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a variable that contains values to be used as weights for the calculations.\",\"help\":\"WEIGHT=*numeric-variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1er8no6i58s4rn1i8wg42ndkxr1b\"},{\"name\":\"X2AXIS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"assigns the X variable to the secondary (top) horizontal axis.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1qdz8a9m6t6uen1kdob1nz79tslf\"},{\"name\":\"XBINSIZE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the horizontal size of bins in X-axis coordinate system units.\",\"help\":\"XBINSIZE=*positive-number*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1guhfh9e9y3hdn13d34ar02f3nt\"},{\"name\":\"XBINSTART=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the data value for the first bin of the X role.\",\"help\":\"XBINSTART=*number*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1fab0vtujwb8fn17qw4eefyvihc\"},{\"name\":\"XENDLABELS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that axis ticks and value labels are drawn at the endpoints of the bins for the X axis.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0ub4ziav9s89vn14b2rlcth3zk1\"},{\"name\":\"Y2AXIS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"assigns the Y variable to the secondary (right) vertical axis.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0zsjbjkamjq8zn1u2umymluiajcc\"},{\"name\":\"YBINSIZE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the vertical size of bins in Y-axis coordinate system units.\",\"help\":\"YBINSIZE=*positive-number*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1j323juvpvnjqn14r36kmrotpkx\"},{\"name\":\"YBINSTART=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the data value for the first bin of the Y role.\",\"help\":\"YBINSTART=*number*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n117kqvzd8u21gn1xz11mbb9s12x\"},{\"name\":\"YENDLABELS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that axis ticks and value labels are drawn at the endpoints of the bins for the Y axis.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n08qbcs8f1w8trn1rirqnnmeqqxp\"}],\"supportSiteTargetFile\":\"n0w12m4cn1j5c6n12ak64u1rys4w.htm\"},{\"name\":\"HEATMAPPARM\",\"description\":\"Generates an X, Y grid of rectangles from the values of two independent variables and colors the rectangles to represent the values of a third variable, which can be a response variable or a group variable.\",\"help\":\"HEATMAPPARM X=variable Y=variable \\nCOLORGROUP=variable</options>;HEATMAPPARM X=variable Y=variable\\n COLORRESPONSE=numeric-variable</options>;\",\"arguments\":[{\"name\":\"X=\",\"description\":\"specifies the variable for the X axis.\",\"help\":\"X=*variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1o53vkex1hpljn109kmcc38fu66\"},{\"name\":\"Y=\",\"description\":\"specifies the variable for the Y axis.\",\"help\":\"Y=*variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0rmj7t03bv6dhn183jzimqon07c\"},{\"name\":\"COLORGROUP=\",\"description\":\"specifies a variable that is used to color the regions of the heat map.\",\"help\":\"COLORGROUP=*variable* \",\"type\":\"value\",\"supportSiteTargetFragment\":\"n019hcof6nixqcn1s8elbrrsumov\"},{\"name\":\"COLORRESPONSE=\",\"description\":\"specifies a numeric variable that is used to color the regions of the heat map.\",\"help\":\"COLORRESPONSE=*numeric-variable* \",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1jig7k1d6zus8n1gz9yamadtiz3a\"},{\"name\":\"ATTRID=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the value of the ID variable in a discrete attribute map data set.\",\"help\":\"ATTRID=*character-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0gnil4gecoz0fn1sjexzo9ka6a8j\"},{\"name\":\"COLORMODEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a color ramp that is to be used to determine response colors.\",\"help\":\"COLORMODEL=*style-element* | (*color-list*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the name of a style element.\",\"help\":\"*style-element* \",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0j80gk5jvponwn1i3nubsiypmn7f\"},{\"name\":\"(color-list)\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a space-separated list of colors to use in the color ramp.\",\"type\":\"color\",\"supportSiteTargetFragment\":\"n1bmynehs17vrcn1eyylzs4tatief\"}],\"supportSiteTargetFragment\":\"p0lv0hndswc5a5n1hjd7lql3yfk6f\"},{\"name\":\"DISCRETEX\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"forces the X axis to be discrete when the X= variable is numeric.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1o4dpuw4q6ugmn17zxt6y8rbkeaa\"},{\"name\":\"DISCRETEY\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"forces the Y axis to be discrete when the Y= variable is numeric.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0dchhx7lcfhgxn1pcrxoadb507xa\"},{\"name\":\"FILLATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the transparency of the area fill in the rectangles.\",\"help\":\"FILLATTRS=(TRANSPARENCY=*number*)\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0vjbh57y5s8yqn1hgndd3s2hiaja\"},{\"name\":\"NAME=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"assigns a name to a plot statement.\",\"help\":\"NAME=\\\"*text-string*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1kiiynz0gzidxn16dsf62msnl4tn\"},{\"name\":\"MISSING\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"accepts a missing value as a valid category value.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1qgab12e89o2xn1i6zp5mfz3208e\"},{\"name\":\"NOMISSINGCOLOR\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"excludes missing values of the COLORGROUP= variable or of the COLORRESPONSE= variable from the heat map.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1i3r0pl7teoypn1l08hyxbw0vfw\"},{\"name\":\"OUTLINE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"displays an outline around each colored region.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n16gwe9vvhffsrn1nvyzhbt1jg5t\"},{\"name\":\"OUTLINEATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the appearance of the rectangle outlines.\",\"help\":\"OUTLINEATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"n138kcc9kfb2kjn1iaw534h3stz0a\"},{\"name\":\"RATTRID=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the value of the ID variable in a range attribute map data set.\",\"help\":\"RATTRID=*character-value* \",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0ib6229clpp3kn1ramopvfnfj60f\"},{\"name\":\"SHOWXBINS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that bins be used as the basis for the X-axis tick marks.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0xfifxokt0pqdn1kn5ig5jg5kmba\"},{\"name\":\"SHOWYBINS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that bins be used as the basis for the Y-axis tick marks.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0qyjaflagbgvwn1as2mipetbbdza\"},{\"name\":\"TIP=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the data tip information to be displayed when the cursor is positioned over the graphics element.\",\"help\":\"TIP=(*variable-list*) | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"(variable-list)\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"a space-separated list of variables enclosed in parentheses.\",\"help\":\"(*variable-list*) \",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1xt1um6hrz1xyn1sjttwqpgpo2gf\"},{\"name\":\"NONE\",\"followsDelimiter\":\"/\",\"description\":\"suppresses the data tips from this plot.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0juujvli3nm16n1m4i3zstsmn7uf\"}],\"supportSiteTargetFragment\":\"n0tlg070rp5jkkn193er1c3er8vvf\"},{\"name\":\"TIPFORMAT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"applies formats to the list of data tip roles that you specify in the TIP= option.\",\"help\":\"TIPFORMAT=(*format-list*)\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0yq3c75bgeu30n1p4l5ehco5xvzc\"},{\"name\":\"TIPLABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"applies labels to the list of data tip roles that you specify in the TIP= option.\",\"help\":\"TIPLABEL=(*label-list*)\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0hx9t8am4dc2pn1k1453p8eqre2c\"},{\"name\":\"TRANSPARENCY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the degree of transparency for the plot.\",\"help\":\"TRANSPARENCY=*value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0hjrs3w86z8ean1npu022im7j2sl\"},{\"name\":\"URL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies an HTML page to be displayed when parts of the plot are selected.\",\"help\":\"URL=*character-variable*\",\"type\":\"value\",\"arguments\":[{\"name\":\"character-variable\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a variable that contains a valid HTML page reference (HREF) for each plot element that is to have an active link.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0x9yrlql13u7gn11kr1daq2vd9se\"}],\"supportSiteTargetFragment\":\"n0p5y7rpcnleycn17w2nttd9ipble\"},{\"name\":\"X2AXIS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"assigns the X variable to the secondary (top) horizontal axis.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1qdz8a9m6t6uen1kdob1nz79tslg\"},{\"name\":\"XENDLABELS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that axis ticks and value labels are drawn at the endpoints of the bins for the X axis.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0ub4ziav9s89vn14b2rlcth3zk1a\"},{\"name\":\"XVALUES=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies whether the input X values represent midpoints, lower endpoints, or upper endpoints of the bins.\",\"help\":\"XVALUES=MIDPOINTS | LEFTPOINTS | RIGHTPOINTS\",\"type\":\"choice\",\"arguments\":[{\"name\":\"MIDPOINTS\",\"type\":\"standalone\"},{\"name\":\"LEFTPOINTS\",\"type\":\"standalone\"},{\"name\":\"RIGHTPOINTS\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"n0plhfgcygqvlpn1ppytk7dfy47j\"},{\"name\":\"Y2AXIS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"assigns the Y variable to the secondary (right) vertical axis.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0zsjbjkamjq8zn1u2umymluiajcd\"},{\"name\":\"YENDLABELS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that axis ticks and value labels are drawn at the endpoints of the bins for the Y axis.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n08qbcs8f1w8trn1rirqnnmeqqxpa\"},{\"name\":\"YVALUES=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies whether the input Y values represent midpoints, lower endpoints, or upper endpoints of the bins.\",\"help\":\"YVALUES=MIDPOINTS | LEFTPOINTS | RIGHTPOINTS\",\"type\":\"choice\",\"arguments\":[{\"name\":\"MIDPOINTS\",\"type\":\"standalone\"},{\"name\":\"LEFTPOINTS\",\"type\":\"standalone\"},{\"name\":\"RIGHTPOINTS\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"n0kkpokaiia63kn130zr06avyo8s\"}],\"supportSiteTargetFile\":\"p0y94pnvxskvkmn19u7sx2j043lq.htm\"},{\"name\":\"HIGHLOW\",\"description\":\"Creates a display of floating vertical or horizontal lines or bars that represent high and low values.\",\"help\":\"HIGHLOW  X=variable |  Y=variable\\n HIGH=numeric-variable LOW=numeric-variable</option(s)>;\",\"arguments\":[{\"name\":\"X=\",\"description\":\"specifies a variable that is used to plot the values along the N or Y axis.\",\"help\":\"X=*variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n048wuu9u7s61dn1o3pvgy99eqfy\"},{\"name\":\"Y=\",\"description\":\"specifies a variable that is used to plot the values along the N or Y axis.\",\"help\":\"Y=*variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n048wuu9u7s61dn1o3pvgy99eqfy\"},{\"name\":\"HIGH=\",\"description\":\"specifies the upper value for the floating lines or bars.\",\"help\":\"HIGH=*numeric-variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1ancd8zbdta0kn1qh5jjzon8t7g\"},{\"name\":\"LOW=\",\"description\":\"specifies the lower value for the floating lines or bars.\",\"help\":\"LOW=*numeric-variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n10aakjqz4y8s1n19cvkkkwnp72k\"},{\"name\":\"ATTRID=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the value of the ID variable in a discrete attribute map data set.\",\"help\":\"ATTRID=*character-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0gnil4gecoz0fn1sjexzo9ka6a8k\"},{\"name\":\"BARWIDTH=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the width of the bars as a ratio of the maximum possible width.\",\"help\":\"BARWIDTH=*numeric-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0kajum9auy8ign12j60aa7604h9\"},{\"name\":\"CLIPCAP\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"displays a clip indicator cap at the end of a bar or line when the bar or line extends beyond the axis range.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0jcrixepqm56gn1dyvg4qp61br8\"},{\"name\":\"CLIPCAPSHAPE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the type of cap used for the clip cap.\",\"help\":\"CLIPCAPSHAPE=DEFAULT | SERIF | BARBEDARROW | CLOSEDARROW | OPENARROW\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DEFAULT\",\"type\":\"standalone\"},{\"name\":\"SERIF\",\"type\":\"standalone\"},{\"name\":\"BARBEDARROW\",\"type\":\"standalone\"},{\"name\":\"CLOSEDARROW\",\"type\":\"standalone\"},{\"name\":\"OPENARROW\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"n19gb43rtum9hvn1dskylehznwth\"},{\"name\":\"CLOSE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the data for the CLOSE tick on the bar or line.\",\"help\":\"CLOSE=*numeric-variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0pivvaydguhn9n19ftka8hsgywl\"},{\"name\":\"CLUSTERWIDTH=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the cluster width as a ratio of the maximum width.\",\"help\":\"CLUSTERWIDTH=*numeric-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0ed48mmkipp0in1iq6pov0wedow\"},{\"name\":\"COLORMODEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a color ramp that is to be used to determine response colors.\",\"help\":\"COLORMODEL=*style-element* | (*color-list*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the name of a style element.\",\"help\":\"*style-element* \",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0j80gk5jvponwn1i3nubsiypmn7g\"},{\"name\":\"(color-list)\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a space-separated list of colors to use in the color ramp.\",\"type\":\"color\",\"supportSiteTargetFragment\":\"n1bmynehs17vrcn1eyylzs4tatieg\"}],\"supportSiteTargetFragment\":\"p0lv0hndswc5a5n1hjd7lql3yfk6g\"},{\"name\":\"COLORRESPONSE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the numeric column that is used to map colors to a continuous color ramp.\",\"help\":\"COLORRESPONSE=*numeric-column*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0oottiwct880xn17bxx29idalzbe\"},{\"name\":\"DATASKIN=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a special effect to be used on the plot.\",\"help\":\"DATASKIN=NONE | CRISP | GLOSS | MATTE | PRESSED | SHEEN\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NONE\",\"type\":\"standalone\"},{\"name\":\"CRISP\",\"type\":\"standalone\"},{\"name\":\"GLOSS\",\"type\":\"standalone\"},{\"name\":\"MATTE\",\"type\":\"standalone\"},{\"name\":\"PRESSED\",\"type\":\"standalone\"},{\"name\":\"SHEEN\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"n14kr95kkmeuh0n1hbaha6dpxa24g\"},{\"name\":\"DISCRETEOFFSET=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies an amount to offset all lines or bars from the category midpoints.\",\"help\":\"DISCRETEOFFSET=*numeric-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1coqhhizsp4wln127ti948xvlul\"},{\"name\":\"FILL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies whether the area fill is visible for bars.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0nibdr4vm1f8un1g4n3jxl2aldn\"},{\"name\":\"NOFILL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies whether the area fill is visible for bars.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0nibdr4vm1f8un1g4n3jxl2aldn\"},{\"name\":\"FILLATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the fill color and transparency.\",\"help\":\"FILLATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p01vp5oa5wy68fn13jhpobcco94k\"},{\"name\":\"FILLPATTERN\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"enables the display of line fill patterns for the plot.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p07xphkuqlrhegn1gw3om8nho8t2h\"},{\"name\":\"FILLPATTERNATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the line-fill color and pattern.\",\"help\":\"FILLPATTERNATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the name of a style element.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1ax5rq5d5pv92n1fm7n5kp87zimh\"},{\"name\":\"COLOR=\",\"followsDelimiter\":\"/\",\"description\":\"specifies a color to use for the fill lines.\",\"help\":\"COLOR=*color*\",\"type\":\"color\",\"supportSiteTargetFragment\":\"n1n8357n5tfkkmn1jstn0zkf9rb0h\"},{\"name\":\"PATTERN=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the type of line pattern to use for the fill.\",\"help\":\"PATTERN=*line-pattern*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n14ba3ejj32rz9n16hkm0peyn9eoh\"}],\"supportSiteTargetFragment\":\"p192pnl5qjjtbrn0zuvxg7pvvrs9h\"},{\"name\":\"GROUP=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a variable that is used to group the data.\",\"help\":\"GROUP=*variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0ihz5mnsij0ern0zx0ildin6aehc\"},{\"name\":\"GROUPDISPLAY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies how to display grouped data.\",\"help\":\"GROUPDISPLAY=OVERLAY | CLUSTER\",\"type\":\"choice\",\"arguments\":[{\"name\":\"OVERLAY\",\"followsDelimiter\":\"/\",\"description\":\"groups are overlaid without any clustering.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0h4lqu7ovi4bpn1owgt9b1w6dnf\"},{\"name\":\"CLUSTER\",\"followsDelimiter\":\"/\",\"description\":\"observations with different group values are displayed in adjacent clusters around the category value.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n01fuf3qssvztgn1n9fb6eofgvgw\"}],\"supportSiteTargetFragment\":\"n1edoyv5pukq2un187810rmsz5o1\"},{\"name\":\"GROUPORDER=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the ordering of the groups within a category.\",\"help\":\"GROUPORDER=DATA | REVERSEDATA | ASCENDING | DESCENDING\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DATA\",\"followsDelimiter\":\"/\",\"description\":\"orders the groups within a category in data order of the group variable.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n17ush6ke65xben1qm2p0dn9pjjae\"},{\"name\":\"REVERSEDATA\",\"followsDelimiter\":\"/\",\"description\":\"orders the groups within a category in the reverse data order of the group variable.\",\"help\":\"REVERSEDATA \",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0ybf6fv2jznutn1fir9sn5as9yqe\"},{\"name\":\"ASCENDING\",\"followsDelimiter\":\"/\",\"description\":\"orders the groups within a category in ascending order of the group variable.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0illc3sf337wnn1kvp0yuul2s1te\"},{\"name\":\"DESCENDING\",\"followsDelimiter\":\"/\",\"description\":\"orders the groups within a category in descending order of the group variable.\",\"help\":\"DESCENDING \",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p15mm3o64qe2qgn16nv32zmcnleee\"}],\"supportSiteTargetFragment\":\"n0iz9rcg3x496dn1sfn1g6ernd9oe\"},{\"name\":\"HIGHCAP=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the type of cap used at the high end of the bar or line.\",\"help\":\"HIGHCAP=*character-variable* | NONE | SERIF | BARBEDARROW | FILLEDARROW | OPENARROW | CLOSEDARROW \",\"type\":\"choice\",\"arguments\":[{\"name\":\"character-variable\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"NONE\",\"type\":\"standalone\"},{\"name\":\"SERIF\",\"type\":\"standalone\"},{\"name\":\"BARBEDARROW\",\"type\":\"standalone\"},{\"name\":\"FILLEDARROW\",\"type\":\"standalone\"},{\"name\":\"OPENARROW\",\"type\":\"standalone\"},{\"name\":\"CLOSEDARROW\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"n18owq1hj1q3hin1hansc66uo2xy\"},{\"name\":\"HIGHLABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the label to be shown at the high end of the line or bar.\",\"help\":\"HIGHLABEL=*variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1xzl184qdj533n1ba4j95sjxnm2\"},{\"name\":\"INTERVALBARWIDTH=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the thickness of the bar when the X (or Y) data is numeric.\",\"help\":\"INTERVALBARWIDTH=*numeric-value*&lt;*units*&gt;\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0jtdbg2299cffn1ppgzo0gpogvoc\"},{\"name\":\"LABELATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the appearance of the labels in the plot when you use the HIGHLABEL= option, the LOWLABEL= option, or both options.\",\"help\":\"LABELATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"n1qfsbjlsxe1dan1j1k9wbv5x18k\"},{\"name\":\"LEGENDLABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a label that identifies the elements from the band plot in the legend.\",\"help\":\"LEGENDLABEL=\\\"*text-string*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n06epo42ty7w8wn13wdr2euczg5y\"},{\"name\":\"LINEATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the appearance of the outlines for the band.\",\"help\":\"LINEATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p1puix2gj1ffxwn19tvhwriwenoh\"},{\"name\":\"LOWCAP=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the type of cap used at the low end of the bar or line.\",\"help\":\"LOWCAP=*character-variable* | NONE | SERIF | BARBEDARROW | FILLEDARROW | OPENARROW | CLOSEDARROW\",\"type\":\"choice\",\"arguments\":[{\"name\":\"character-variable\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"NONE\",\"type\":\"standalone\"},{\"name\":\"SERIF\",\"type\":\"standalone\"},{\"name\":\"BARBEDARROW\",\"type\":\"standalone\"},{\"name\":\"FILLEDARROW\",\"type\":\"standalone\"},{\"name\":\"OPENARROW\",\"type\":\"standalone\"},{\"name\":\"CLOSEDARROW\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"n1btp3tvugy359n1s3hg71zzhz4g\"},{\"name\":\"LOWLABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the label to be shown at the low end of the line or bar.\",\"help\":\"LOWLABEL=*variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0w3xy2qiceqn9n1d8hvevzo886n\"},{\"name\":\"NAME=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"assigns a name to a plot statement.\",\"help\":\"NAME=\\\"*text-string*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1kiiynz0gzidxn16dsf62msnl4to\"},{\"name\":\"NOMISSINGGROUP\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that missing values of the group variable are not included in the plot.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n02m1yvh407h8in1bfd07hnwn93vd\"},{\"name\":\"OPEN=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the data for the OPEN tick on the bar or line.\",\"help\":\"OPEN=*numeric-variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1oz72piawds9rn1iimamlouymtb\"},{\"name\":\"OUTLINE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies whether the outlines of the bars are visible.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n07gxdco20ut7pn1gd28qd5mmeb4\"},{\"name\":\"NOOUTLINE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies whether the outlines of the bars are visible.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n07gxdco20ut7pn1gd28qd5mmeb4\"},{\"name\":\"RATTRID=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the value of the ID variable in a range attribute map data set.\",\"help\":\"RATTRID=*character-value* \",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0ib6229clpp3kn1ramopvfnfj60g\"},{\"name\":\"TIP=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the data tip information to be displayed when the cursor is positioned over the graphics element.\",\"help\":\"TIP=(*variable-list*) | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"(variable-list)\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"a space-separated list of variables enclosed in parentheses.\",\"help\":\"(*variable-list*) \",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1xt1um6hrz1xyn1sjttwqpgpo2gg\"},{\"name\":\"NONE\",\"followsDelimiter\":\"/\",\"description\":\"suppresses the data tips from this plot.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0juujvli3nm16n1m4i3zstsmn7ug\"}],\"supportSiteTargetFragment\":\"n0tlg070rp5jkkn193er1c3er8vvg\"},{\"name\":\"TIPFORMAT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"applies formats to the list of data tip variables that you specify in the TIP= option.\",\"help\":\"TIPFORMAT=(*format-list*)\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1vgm3eynz19vzn1mlqm98fezlp5f\"},{\"name\":\"TIPLABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"applies labels to the list of data tip variables that you specify in the TIP= option.\",\"help\":\"TIPLABEL=(*label-list*)\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0tod59njrbtewn1hk76dznibemuf\"},{\"name\":\"TRANSPARENCY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the degree of transparency for the plot.\",\"help\":\"TRANSPARENCY=*value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0hjrs3w86z8ean1npu022im7j2sm\"},{\"name\":\"TYPE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies how the data is to be represented.\",\"help\":\"TYPE=BAR | LINE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"BAR\",\"type\":\"standalone\"},{\"name\":\"LINE\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"p0dxei9xvguygvn1lzvtcvnojg7s\"},{\"name\":\"URL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies an HTML page to be displayed when parts of the plot are selected.\",\"help\":\"URL=*character-variable*\",\"type\":\"value\",\"arguments\":[{\"name\":\"character-variable\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a variable that contains a valid HTML page reference (HREF) for each plot element that is to have an active link.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0x9yrlql13u7gn11kr1daq2vd9sf\"}],\"supportSiteTargetFragment\":\"n0p5y7rpcnleycn17w2nttd9ipblf\"},{\"name\":\"X2AXIS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"assigns the X variable to the secondary (top) horizontal axis.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1qdz8a9m6t6uen1kdob1nz79tslh\"},{\"name\":\"Y2AXIS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"assigns the Y variable to the secondary (right) vertical axis.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0zsjbjkamjq8zn1u2umymluiajce\"}],\"supportSiteTargetFile\":\"n0mjz9ktgnse58n14deqdvnnxarp.htm\"},{\"name\":\"HISTOGRAM\",\"description\":\"Creates a histogram that displays the frequency distribution of a numeric variable.\",\"help\":\"HISTOGRAM *response-variable*&lt;/*options*&gt;;\",\"arguments\":[{\"name\":\"response-variable\",\"placeholder\":true,\"description\":\"specifies the response variable for the histogram.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1l4uucrzbovdsn182fatgjrktlq\"},{\"name\":\"ATTRID=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the value of the ID variable in a discrete attribute map data set.\",\"help\":\"ATTRID=*character-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0gnil4gecoz0fn1sjexzo9ka6a8l\"},{\"name\":\"BINSTART=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the X coordinate of the first bin.\",\"help\":\"BINSTART=*numeric-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1vm03quwjchpan1tly8hdq6bdlf\"},{\"name\":\"BINWIDTH=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the bin width.\",\"help\":\"BINWIDTH=*numeric-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p10yvray7y3xs8n1go4hfvht8fzj\"},{\"name\":\"BOUNDARY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies how boundary values are assigned to bins.\",\"help\":\"BOUNDARY=LOWER | UPPER\",\"type\":\"choice\",\"arguments\":[{\"name\":\"LOWER\",\"followsDelimiter\":\"/\",\"description\":\"specifies that boundary values are assigned to the lower bin.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p00wsywdwuqt28n1e92b3duycail\"},{\"name\":\"UPPER\",\"followsDelimiter\":\"/\",\"description\":\"specifies that boundary values are assigned to the upper bin.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1nby9xmd9e5n3n1qfkibleya2kh\"}],\"supportSiteTargetFragment\":\"n1hzwqo3qh79y5n1cxggnif5i63u\"},{\"name\":\"DATALABEL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the statistic to display at the end of each bin.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0v1mo7jok14jmn0zlzu3wkiae3j\"},{\"name\":\"DATALABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the statistic to display at the end of each bin.\",\"help\":\"DATALABEL=NONE | AUTO | COUNT | DENSITY | PERCENT | PROPORTION\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NONE\",\"followsDelimiter\":\"/\",\"description\":\"suppresses the data labels.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0ojddxrtumwihn1uox4n41vdwi7\"},{\"name\":\"AUTO\",\"followsDelimiter\":\"/\",\"description\":\"uses the SCALE= option value. By default, SCALE=PERCENT.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0z4l3j3aetn51n1q4ip7eqb4mo9\"},{\"name\":\"COUNT\",\"followsDelimiter\":\"/\",\"description\":\"specifies that the count, density, percentage, or proportion statistic is to be displayed at the end of each bar.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n030dpax98ejbkn1s99q3ii95nsj\"},{\"name\":\"DENSITY\",\"followsDelimiter\":\"/\",\"description\":\"specifies that the count, density, percentage, or proportion statistic is to be displayed at the end of each bar.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n030dpax98ejbkn1s99q3ii95nsj\"},{\"name\":\"PERCENT\",\"followsDelimiter\":\"/\",\"description\":\"specifies that the count, density, percentage, or proportion statistic is to be displayed at the end of each bar.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n030dpax98ejbkn1s99q3ii95nsj\"},{\"name\":\"PROPORTION\",\"followsDelimiter\":\"/\",\"description\":\"specifies that the count, density, percentage, or proportion statistic is to be displayed at the end of each bar.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n030dpax98ejbkn1s99q3ii95nsj\"}],\"supportSiteTargetFragment\":\"n0v1mo7jok14jmn0zlzu3wkiae3j\"},{\"name\":\"DATALABELATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the appearance of the labels in the plot when you use the DATALABEL= option.\",\"help\":\"DATALABELATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p1knsfepcp6q3tn1rcxjyvwtszoxf\"},{\"name\":\"DATASKIN=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a special effect to be used on the plot.\",\"help\":\"DATASKIN=NONE | CRISP | GLOSS | MATTE | PRESSED | SHEEN\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NONE\",\"type\":\"standalone\"},{\"name\":\"CRISP\",\"type\":\"standalone\"},{\"name\":\"GLOSS\",\"type\":\"standalone\"},{\"name\":\"MATTE\",\"type\":\"standalone\"},{\"name\":\"PRESSED\",\"type\":\"standalone\"},{\"name\":\"SHEEN\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"n14kr95kkmeuh0n1hbaha6dpxa24h\"},{\"name\":\"FILL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies whether the area fill is visible.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p05tfh96dc5ck6n1b31kqg21kr8u\"},{\"name\":\"NOFILL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies whether the area fill is visible.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p05tfh96dc5ck6n1b31kqg21kr8u\"},{\"name\":\"FILLATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the fill color and transparency.\",\"help\":\"FILLATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p1hhjd5tfq1syin17xh6u5dbggnih\"},{\"name\":\"FILLENDCOLOR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a fill color that is applied to the chart at the baseline.\",\"help\":\"FILLENDCOLOR=*color*\",\"type\":\"color\",\"supportSiteTargetFragment\":\"n1w9f93nam1tbvn1l2nw21039383c\"},{\"name\":\"FILLPATTERN\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"enables the display of line fill patterns for the plot.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p07xphkuqlrhegn1gw3om8nho8t2i\"},{\"name\":\"FILLPATTERNATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the line-fill color and pattern.\",\"help\":\"FILLPATTERNATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the name of a style element.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1ax5rq5d5pv92n1fm7n5kp87zimi\"},{\"name\":\"COLOR=\",\"followsDelimiter\":\"/\",\"description\":\"specifies a color to use for the fill lines.\",\"help\":\"COLOR=*color*\",\"type\":\"color\",\"supportSiteTargetFragment\":\"n1n8357n5tfkkmn1jstn0zkf9rb0i\"},{\"name\":\"PATTERN=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the type of line pattern to use for the fill.\",\"help\":\"PATTERN=*line-pattern*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n14ba3ejj32rz9n16hkm0peyn9eoi\"}],\"supportSiteTargetFragment\":\"p192pnl5qjjtbrn0zuvxg7pvvrs9i\"},{\"name\":\"FILLTYPE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the fill type that is applied to the chart.\",\"help\":\"FILLTYPE=SOLID | GRADIENT | ALPHAGRADIENT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"SOLID\",\"followsDelimiter\":\"/\",\"description\":\"each bin is filled with the color that is assigned to the bin fill area.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1vbbdhyffk2mpn1gt5putgqzezgc\"},{\"name\":\"GRADIENT\",\"followsDelimiter\":\"/\",\"description\":\"displays the color from the applied style at the end of the bin gradually changing to the color of the wall at the baseline of the bin.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0l4dqip53lw9qn1arlft8qol1y4c\"},{\"name\":\"ALPHAGRADIENT\",\"followsDelimiter\":\"/\",\"description\":\"a gradient is used to determine the fill color.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p08hjuyghvu39nn184cyl1uhsia6c\"}],\"supportSiteTargetFragment\":\"n12v2sckfnfymjn1bkv83o7somc7c\"},{\"name\":\"FREQ=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a variable for the frequency count for each observation in the input data.\",\"help\":\"FREQ=*numeric-variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1iqtbrzkqx6y6n1ee6zxmqu1bwmc\"},{\"name\":\"GROUP=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a variable that is used to group the data.\",\"help\":\"GROUP=*variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n14e4zpsg0wxh7n1wtjhjge45lh3a\"},{\"name\":\"LEGENDLABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a label that identifies the histogram in the legend.\",\"help\":\"LEGENDLABEL=\\\"*text-string*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1jyeuozp75rhfn1ackh4802bkwp\"},{\"name\":\"NAME=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"assigns a name to a plot statement.\",\"help\":\"NAME=\\\"*text-string*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1kiiynz0gzidxn16dsf62msnl4tp\"},{\"name\":\"NBINS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the number of bins.\",\"help\":\"NBINS=*numeric-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0z15epwjugtc7n1gdl4a5af0bmw\"},{\"name\":\"OUTLINE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies whether outlines are displayed for the bars.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p131oexgbewkzon18vfvohur7jat\"},{\"name\":\"NOOUTLINE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies whether outlines are displayed for the bars.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p131oexgbewkzon18vfvohur7jat\"},{\"name\":\"SCALE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the scaling that is applied to the vertical axis.\",\"help\":\"SCALE=COUNT | PERCENT | PROPORTION\",\"type\":\"choice\",\"arguments\":[{\"name\":\"COUNT\",\"followsDelimiter\":\"/\",\"description\":\"the axis displays the frequency count.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0gz5piz5ekhmjn16fltcpuw19le\"},{\"name\":\"PERCENT\",\"followsDelimiter\":\"/\",\"description\":\"the axis displays values as a percentage of the total.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n04rktuicvqj5wn1u46nq97vdki6\"},{\"name\":\"PROPORTION\",\"followsDelimiter\":\"/\",\"description\":\"the axis displays values as proportions (0.0 to 1.0) of the total.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0arl78ptq8pdwn1gx0868th4i96\"}],\"supportSiteTargetFragment\":\"p1gao4qbqg3am8n10qg4elq2jguo\"},{\"name\":\"SHOWBINS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that the midpoints of the value bins are used to create the tick marks for the horizontal axis.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1c90in2y6mwojn18l4ni8c61vzg\"},{\"name\":\"TRANSPARENCY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the degree of transparency for the plot.\",\"help\":\"TRANSPARENCY=*value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0hjrs3w86z8ean1npu022im7j2sn\"},{\"name\":\"WEIGHT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a variable in the input data set that contains values to be used as weights for the bin height.\",\"help\":\"WEIGHT=*numeric-variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0gfofd2xdoo1cn1tuvqawhpyhdr\"},{\"name\":\"X2AXIS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"assigns the response variable to the secondary (top) horizontal axis.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1bw6qvzwg0apun0zkrjaeujpi0z\"},{\"name\":\"Y2AXIS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"assigns the calculated values to the secondary (right) vertical axis.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0raowxq6r27o9n1wjl4u3jty04n\"}],\"supportSiteTargetFile\":\"n17xrpcduau1f8n1c1nhe477pv18.htm\"},{\"name\":\"HLINE\",\"description\":\"Creates a horizontal line chart. You can use the HLINE statement with the HBAR statement to create a horizontal bar-line chart.\",\"help\":\"HLINE *category-variable*&lt;/option(s)&gt;;\",\"arguments\":[{\"name\":\"category-variable\",\"placeholder\":true,\"description\":\"specifies the variable whose values determine the categories of data represented by the lines.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1a08tjj1p5miqn10auguue9dijs\"},{\"name\":\"ALPHA=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the confidence level for the confidence limits.\",\"help\":\"ALPHA=*numeric-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0odm20uc57v24n1arb0pvg7hit0b\"},{\"name\":\"ATTRID=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the value of the ID variable in a discrete attribute map data set.\",\"help\":\"ATTRID=*character-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0gnil4gecoz0fn1sjexzo9ka6a8m\"},{\"name\":\"BREAK\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"breaks the line whenever the computed statistic for a category value is missing.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n12uhcnk0kctrnn1n697naozk1dq\"},{\"name\":\"CATEGORYORDER=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the order in which the categories are arranged.\",\"help\":\"CATEGORYORDER=RESPASC | RESPDESC\",\"type\":\"choice\",\"arguments\":[{\"name\":\"RESPASC\",\"followsDelimiter\":\"/\",\"description\":\"sorts by the response values in ascending order.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0mbyw50mgkx4qn19a6ztr8whmivb\"},{\"name\":\"RESPDESC\",\"followsDelimiter\":\"/\",\"description\":\"sorts by the response values in descending order.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0utxs6l98qss3n13x69rzq367cub\"}],\"supportSiteTargetFragment\":\"p14mwpmr7ycybcn10rkqzq0pn8iwb\"},{\"name\":\"CLUSTERWIDTH=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the width of the group clusters as a fraction of the midpoint spacing.\",\"help\":\"CLUSTERWIDTH=*numeric-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0dlvao1wxqnapn1eyiyqmlu8l1va\"},{\"name\":\"CURVELABEL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"adds a label to the curve or curves.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p08oj4x6jtsf8gn1b4h1856jyxzt\"},{\"name\":\"CURVELABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a label for the curve when only one curve is drawn.\",\"help\":\"CURVELABEL=\\\"*text-string*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0mje1n0lzzty7n1fluv4vzq6mt0\"},{\"name\":\"CURVELABELATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the appearance of the labels in the plot when you use the CURVELABEL= option.\",\"help\":\"CURVELABELATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p0dk1x2qtnfn66n11yrt9l54l5npa\"},{\"name\":\"CURVELABELLOC=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies whether the curve label is placed inside the plot axes (INSIDE) or outside of the plot axes (OUTSIDE).\",\"help\":\"CURVELABELLOC=OUTSIDE | INSIDE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"OUTSIDE\",\"type\":\"standalone\"},{\"name\":\"INSIDE\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"n0m661zy7deafpn1r4qqw0qnq5wbb\"},{\"name\":\"CURVELABELPOS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the location of the curve label.\",\"help\":\"CURVELABELPOS=AUTO | END | MAX | MIN | START\",\"type\":\"choice\",\"arguments\":[{\"name\":\"AUTO\",\"followsDelimiter\":\"/\",\"description\":\"places the curve label outside the plot area near the end of the curve along unused axes whenever possible (typically Y2 or X2).\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1mzx51oqqddhgn1fx79prjt0qaza\"},{\"name\":\"END\",\"followsDelimiter\":\"/\",\"description\":\"places the curve label at the last point on the curve.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n04k78fvzrkjjsn1t3to05u6jloja\"},{\"name\":\"MAX\",\"followsDelimiter\":\"/\",\"description\":\"places the label at the part of the curve closest to the maximum X-axis value.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1j326cktvxmnqn15qyb6y1ga3b8a\"},{\"name\":\"MIN\",\"followsDelimiter\":\"/\",\"description\":\"places the label at the part of the curve closest to the minimum X-axis value.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n018cpn1doiwsfn16kekpzbg1qg7a\"},{\"name\":\"START\",\"followsDelimiter\":\"/\",\"description\":\"places the curve label at the first point on the curve.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0yvts7uqmeulun1j9p7zrppvm68a\"}],\"supportSiteTargetFragment\":\"n1lxgmorrzt45cn1shctlyw8ljv3a\"},{\"name\":\"DATALABEL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"displays a label for each data point.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p14nwead434yo5n0zxw4gb9zpul9b\"},{\"name\":\"DATALABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"displays a label for each data point.\",\"help\":\"DATALABEL=*variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p14nwead434yo5n0zxw4gb9zpul9b\"},{\"name\":\"DATALABELATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the appearance of the labels in the plot when you use the DATALABEL= option.\",\"help\":\"DATALABELATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p1knsfepcp6q3tn1rcxjyvwtszoxg\"},{\"name\":\"DATALABELPOS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the location of the data label.\",\"help\":\"DATALABELPOS=DATA | LEFT | RIGHT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DATA\",\"followsDelimiter\":\"/\",\"description\":\"places the label on the data primitives (at the right edge of the lines).\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0cvvdm68frw1nn1lop62dnmrj3n\"},{\"name\":\"LEFT\",\"followsDelimiter\":\"/\",\"description\":\"places the label to the left of the lines on the left edge of the data area.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0q7yajslzr3xxn1a018t00hmc6s\"},{\"name\":\"RIGHT\",\"followsDelimiter\":\"/\",\"description\":\"places the label to the right of the lines on the right edge of the data area.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n19i64z13ydg5bn1gk6c6yvkbjbg\"}],\"supportSiteTargetFragment\":\"n07zv44pxm4h73n1jr70jpwsrv0l\"},{\"name\":\"DATASKIN=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a special effect to be used on the plot.\",\"help\":\"DATASKIN=NONE | CRISP | GLOSS | MATTE | PRESSED | SHEEN\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NONE\",\"type\":\"standalone\"},{\"name\":\"CRISP\",\"type\":\"standalone\"},{\"name\":\"GLOSS\",\"type\":\"standalone\"},{\"name\":\"MATTE\",\"type\":\"standalone\"},{\"name\":\"PRESSED\",\"type\":\"standalone\"},{\"name\":\"SHEEN\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"n14kr95kkmeuh0n1hbaha6dpxa24i\"},{\"name\":\"DISCRETEOFFSET=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies an amount to offset all lines from the discrete category values.\",\"help\":\"DISCRETEOFFSET=*numeric-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1bxpyn6n7iwnvn1thb6wg8ce9fz\"},{\"name\":\"FILLEDOUTLINEDMARKERS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that markers have a fill and an outline.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0htbt252ynl99n1fhsib3nv0kmm\"},{\"name\":\"FREQ=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a variable for the frequency count for each observation in the input data.\",\"help\":\"FREQ=*numeric-variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1i0jzew1006vxn1cu1xftid3xnmc\"},{\"name\":\"GROUP=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a variable that is used to group the data.\",\"help\":\"GROUP=*variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n12ydifq7odra9n16dvrvz15klzjc\"},{\"name\":\"GROUPDISPLAY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies how to display grouped lines.\",\"help\":\"GROUPDISPLAY=CLUSTER | OVERLAY\",\"type\":\"choice\",\"arguments\":[{\"name\":\"CLUSTER\",\"followsDelimiter\":\"/\",\"description\":\"grouped items are drawn adjacent to each other.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1f9g1imvgdc3xn1o4qmhc3dsaxtj\"},{\"name\":\"OVERLAY\",\"followsDelimiter\":\"/\",\"description\":\"grouped items are drawn at the exact coordinate and might overlap.\",\"help\":\"OVERLAY \",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0gedf37npwg28n19wqi2annun4nj\"}],\"supportSiteTargetFragment\":\"n160rystl7bc9gn1j47kzpekubde\"},{\"name\":\"GROUPORDER=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the ordering of the groups within a category.\",\"help\":\"GROUPORDER=DATA | REVERSEDATA | ASCENDING | DESCENDING\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DATA\",\"followsDelimiter\":\"/\",\"description\":\"orders the groups within a category in data order of the group variable.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n17ush6ke65xben1qm2p0dn9pjjaf\"},{\"name\":\"REVERSEDATA\",\"followsDelimiter\":\"/\",\"description\":\"orders the groups within a category in the reverse data order of the group variable.\",\"help\":\"REVERSEDATA \",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0ybf6fv2jznutn1fir9sn5as9yqf\"},{\"name\":\"ASCENDING\",\"followsDelimiter\":\"/\",\"description\":\"orders the groups within a category in ascending order of the group variable.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0illc3sf337wnn1kvp0yuul2s1tf\"},{\"name\":\"DESCENDING\",\"followsDelimiter\":\"/\",\"description\":\"orders the groups within a category in descending order of the group variable.\",\"help\":\"DESCENDING \",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p15mm3o64qe2qgn16nv32zmcnleef\"}],\"supportSiteTargetFragment\":\"n0iz9rcg3x496dn1sfn1g6ernd9of\"},{\"name\":\"LEGENDLABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the label that identifies the line plot in the legend.\",\"help\":\"LEGENDLABEL=\\\"*text-string*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p01ybs45vfj6znn1iamrqox4m4qz\"},{\"name\":\"LIMITATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the appearance of the limit lines in the plot.\",\"help\":\"LIMITATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p0sbze0tr2qjovn1d7s9a5dzonu5\"},{\"name\":\"LIMITCAPSCALE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a positive number to use as a multiplier for changing the default width of the limit-bar cap (serif).\",\"help\":\"LIMITCAPSCALE=*positive-number*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n18viyznshxlgln1s3f9ix0xbt4bc\"},{\"name\":\"LIMITS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"adds limit lines to the plot.\",\"help\":\"LIMITS=BOTH | LOWER | UPPER\",\"type\":\"choice\",\"arguments\":[{\"name\":\"BOTH\",\"followsDelimiter\":\"/\",\"description\":\"adds lower and upper limit lines to the plot.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0avv9d5qpaaogn1g01cw6rb6cpm\"},{\"name\":\"LOWER\",\"followsDelimiter\":\"/\",\"description\":\"adds lower limit lines to the plot.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p19u29yxdkw2d3n0z1orpwg9t2d8\"},{\"name\":\"UPPER\",\"followsDelimiter\":\"/\",\"description\":\"adds upper limit lines to the plot.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n11s776118vjfln110th45evca5j\"}],\"supportSiteTargetFragment\":\"n1hm2rahmqf0arn1l9g2ncw9neea\"},{\"name\":\"LIMITSTAT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the statistic for the limit lines.\",\"help\":\"LIMITSTAT=CLM | STDDEV | STDERR\",\"type\":\"choice\",\"arguments\":[{\"name\":\"CLM\",\"followsDelimiter\":\"/\",\"description\":\"confidence limits\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0pbsn2baycajcn13hdfo0zds01o\"},{\"name\":\"STDDEV\",\"followsDelimiter\":\"/\",\"description\":\"standard deviation\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0ifvye6156i88n1tr26itx83lzb\"},{\"name\":\"STDERR\",\"followsDelimiter\":\"/\",\"description\":\"standard error\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1e2f6n5ey61kun1nkxomfatek7b\"}],\"supportSiteTargetFragment\":\"n1dcj10xsm40jmn1nibl3vmrt02g\"},{\"name\":\"LINEATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the appearance of the lines in the line plot.\",\"help\":\"LINEATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"n10tnbofdckwixn13c9d9vl35s3t\"},{\"name\":\"MARKERATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the appearance of the markers in the plot.\",\"help\":\"MARKERATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"n1i64j6450qdhwn1vq3n0qhtano7\"},{\"name\":\"MARKERFILLATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the color of the marker fill.\",\"help\":\"MARKERFILLATTRS=*style-element* |  (COLOR=*color*) \",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(COLOR=)\",\"type\":\"color\"}],\"supportSiteTargetFragment\":\"n0cg7g8a06r4mwn1rcawd5eth51za\"},{\"name\":\"MARKEROUTLINEATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the appearance of the marker outlines.\",\"help\":\"MARKEROUTLINEATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p0j0ix3qbk1rsqn10lfmccucq9qha\"},{\"name\":\"MARKERS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"adds markers to the plot.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1i0vqj0ju225on19nctn1ntpmll\"},{\"name\":\"MISSING\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"accepts a missing value as a valid category value.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1qgab12e89o2xn1i6zp5mfz3208f\"},{\"name\":\"NAME=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"assigns a name to a plot statement.\",\"help\":\"NAME=\\\"*text-string*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1kiiynz0gzidxn16dsf62msnl4tq\"},{\"name\":\"NOLIMITCAPS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses the serif cap on limit lines, if limit lines are displayed.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0wr3w5ryi0bbfn18trxq5q4l1gxa\"},{\"name\":\"NUMSTD=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the number of standard units for the limit lines, when you specify LIMITSTAT=STDDEV or LIMITSTAT=STDERR.\",\"help\":\"NUMSTD=*n*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1u0hzzflecawyn1ahifbko82ibx\"},{\"name\":\"RESPONSE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a numeric response variable for the plot.\",\"help\":\"RESPONSE=*response-variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0ckj1dvtteghen1n60sdgn8d9xz\"},{\"name\":\"SPLITCHAR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies one or more characters on which the text for curve labels is always split.\",\"help\":\"SPLITCHAR=\\\"*character-list*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0lp66hk29i0sin1kdjnfamkw1er\"},{\"name\":\"SPLITCHARNODROP\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that the split characters are included in the displayed value.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p17rdbkgdneovrn1ue8o2kpkg9ewe\"},{\"name\":\"SPLITJUSTIFY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the horizontal alignment of the value text that is being split.\",\"help\":\"SPLITJUSTIFY=LEFT | CENTER | RIGHT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"LEFT\",\"type\":\"standalone\"},{\"name\":\"CENTER\",\"type\":\"standalone\"},{\"name\":\"RIGHT\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"p1gpg1oyxutpycn14zlh3q5a4u2ce\"},{\"name\":\"STAT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the statistic for the horizontal axis.\",\"help\":\"STAT=FREQ | MEAN | MEDIAN | PERCENT | SUM\",\"type\":\"choice\",\"arguments\":[{\"name\":\"FREQ\",\"followsDelimiter\":\"/\",\"description\":\"the frequencies of the response or category variable.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p16w20a6fel3jdn11divjugv67xnb\"},{\"name\":\"MEAN\",\"followsDelimiter\":\"/\",\"description\":\"the mean of the response variable.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1kxj2mc20vzwhn1dkfo6xugbgmvb\"},{\"name\":\"MEDIAN\",\"followsDelimiter\":\"/\",\"description\":\"the median of the response variable.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1nkr19nsmjziwn1dznae36956lgb\"},{\"name\":\"PERCENT\",\"followsDelimiter\":\"/\",\"aliases\":[\"PCT\"],\"description\":\"the percentage of the response or category variable.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1n90v4qbqm37yn12v7fevjm1h0mb\"},{\"name\":\"SUM\",\"followsDelimiter\":\"/\",\"description\":\"the sum of the response variable.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0ui8bhodl92f5n1id4qvrislln6b\"}],\"supportSiteTargetFragment\":\"n0u9vaafo4d7e4n1hxq23ed59hnvb\"},{\"name\":\"STATLABEL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies whether the response variable statistic is displayed in the axis and legend labels.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1r49ex2y13gycn16z7g54hgwzv5b\"},{\"name\":\"NOSTATLABEL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies whether the response variable statistic is displayed in the axis and legend labels.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1r49ex2y13gycn16z7g54hgwzv5b\"},{\"name\":\"TIP=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the data tip information to be displayed when the cursor is positioned over the graphics element.\",\"help\":\"TIP=(*variable-list*) | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"(variable-list)\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"a space-separated list of variables enclosed in parentheses.\",\"help\":\"(*variable-list*) \",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1xt1um6hrz1xyn1sjttwqpgpo2gh\"},{\"name\":\"NONE\",\"followsDelimiter\":\"/\",\"description\":\"suppresses the data tips from this plot.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0juujvli3nm16n1m4i3zstsmn7uh\"}],\"supportSiteTargetFragment\":\"n0tlg070rp5jkkn193er1c3er8vvh\"},{\"name\":\"TIPFORMAT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"applies formats to the list of data tip variables that you specify in the TIP= option.\",\"help\":\"TIPFORMAT=(*format-list*)\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1vgm3eynz19vzn1mlqm98fezlp5g\"},{\"name\":\"TIPLABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"applies labels to the list of data tip variables that you specify in the TIP= option.\",\"help\":\"TIPLABEL=(*label-list*)\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0tod59njrbtewn1hk76dznibemug\"},{\"name\":\"TRANSPARENCY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the degree of transparency for the plot.\",\"help\":\"TRANSPARENCY=*value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0hjrs3w86z8ean1npu022im7j2so\"},{\"name\":\"URL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies an HTML page to be displayed when parts of the plot are selected.\",\"help\":\"URL=*character-variable*\",\"type\":\"value\",\"arguments\":[{\"name\":\"character-variable\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a variable that contains a valid HTML page reference (HREF) for each plot element that is to have an active link.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0x9yrlql13u7gn11kr1daq2vd9sg\"}],\"supportSiteTargetFragment\":\"n0p5y7rpcnleycn17w2nttd9ipblg\"},{\"name\":\"WEIGHT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a variable that contains values to be used as weights for the calculations.\",\"help\":\"WEIGHT=*numeric-variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1an9kc0ebg10kn1gctrhvfi7z7vb\"},{\"name\":\"X2AXIS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"assigns the response variable to the secondary (top) horizontal axis.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0a24840p0io3vn1tdiq3ljazshhc\"},{\"name\":\"Y2AXIS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"assigns the category variable to the secondary (right) vertical axis.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p072sgd9qzhzb2n1kns39wuohdgwc\"}],\"supportSiteTargetFile\":\"n0kx8f6nnpvcwin10n25uiuhzs9u.htm\"},{\"name\":\"INSET\",\"description\":\"Adds a text box inside the axes of the plot.\",\"help\":\"INSET \\\"*text-string*\\\" &lt; ... \\\"*text-string-n*\\\"&gt;&lt;/*options*&gt;;INSET  (*label-list*) &lt;/*options*&gt;;\",\"arguments\":[{\"name\":\"text-string-list\",\"placeholder\":true,\"description\":\"specifies one or more quoted text strings.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1q4fkyku9dk0an1rddqwaguolw6\"},{\"name\":\"(label-list)\",\"placeholder\":true,\"description\":\"specifies a series of quoted labels and values for the text box.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0i8htzlj002han1caw2rpqssd06\"},{\"name\":\"text-string-list\",\"placeholder\":true,\"description\":\"specifies one or more quoted text strings.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1q4fkyku9dk0an1rddqwaguolw6\"},{\"name\":\"(label-list)\",\"placeholder\":true,\"description\":\"specifies a series of quoted labels and values for the text box.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0i8htzlj002han1caw2rpqssd06\"},{\"name\":\"BACKCOLOR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the background color of the inset.\",\"help\":\"BACKCOLOR=*color*\",\"type\":\"color\",\"supportSiteTargetFragment\":\"p18ibgzeip3dwbn1pfem28euam9q\"},{\"name\":\"BORDER\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies whether to display a border around the text box.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p17olme54yak4tn1ksqxb5k2ebu9\"},{\"name\":\"NOBORDER\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies whether to display a border around the text box.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p17olme54yak4tn1ksqxb5k2ebu9\"},{\"name\":\"LABELALIGN=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies how the labels are aligned when you specify label-value pairs.\",\"help\":\"LABELALIGN=LEFT | CENTER | RIGHT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"LEFT\",\"followsDelimiter\":\"/\",\"description\":\"aligns the text to the left.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1p9w4uyoltltxn13vhr61namwmj\"},{\"name\":\"CENTER\",\"followsDelimiter\":\"/\",\"description\":\"aligns the text to the center.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0ojgl9fuy4xp2n1b83598dbmdaj\"},{\"name\":\"RIGHT\",\"followsDelimiter\":\"/\",\"description\":\"aligns the text to the right.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p12qimnzb2uz1on18asw058yf5rr\"}],\"supportSiteTargetFragment\":\"p1d65ip6rbeo97n1hc15r44p8kbs\"},{\"name\":\"OPAQUE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"forces the inset background to be opaque rather than transparent.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0jmzwhsy5ksa4n11ap2r90hsfvp\"},{\"name\":\"POSITION=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the position of the text box within the plot.\",\"help\":\"POSITION=*position-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n12vr2m1rx4cx7n1f9trsmmegjqp\"},{\"name\":\"TEXTATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the appearance of the text in the text box.\",\"help\":\"TEXTATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p0m2l14t4c3cdun1ciwyfcekvqjr\"},{\"name\":\"TITLE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a title for the text box.\",\"help\":\"TITLE=\\\"*text-string*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0thdtbbww2c73n1ij76qzedvlmj\"},{\"name\":\"TITLEATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the appearance of the title.\",\"help\":\"TITLEATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p1dq5jghyyid9mn198s3okv8oesoa\"},{\"name\":\"VALUEALIGN=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies how text values are aligned.\",\"help\":\"VALUEALIGN=LEFT | CENTER | RIGHT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"LEFT\",\"followsDelimiter\":\"/\",\"description\":\"aligns the text to the left.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p15v1crgstoc9sn16e30imxjbby6\"},{\"name\":\"CENTER\",\"followsDelimiter\":\"/\",\"description\":\"aligns the text to the center.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p17e32u98zz8imn15h2nlfkhdrwo\"},{\"name\":\"RIGHT\",\"followsDelimiter\":\"/\",\"description\":\"aligns the text to the right.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1xzec21aas5qwn1brd95dhv38i6\"}],\"supportSiteTargetFragment\":\"p0cb8ps3qp9fazn1rao3ah6p8sa1\"}],\"supportSiteTargetFile\":\"p0hz27ehuzdd6pn0zaic6x52pkav.htm\"},{\"name\":\"KEYLEGEND\",\"description\":\"Adds a legend to the plot.\",\"help\":\"KEYLEGEND &lt;\\\"*name–1*\\\"  ...\\\"*name-n*\\\"&gt;&lt;/*options*&gt;;\",\"arguments\":[{\"name\":\"\\\"name-1\\\"\",\"optional\":true,\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the names of one or more plots that you want to include in the legend.\",\"help\":\"\\\"*name-1*\\\"  ... \\\"*name-n*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0bcp412233t9sn1o8gkyg925n9c\"},{\"name\":\"ACROSS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the number of columns in the legend.\",\"help\":\"ACROSS=*n*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1tqov5k3zh97ln1uppz9aa22fz3\"},{\"name\":\"AUTOITEMSIZE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that all markers, lines, and filled symbols in the legend are sized in proportion to the font size that is used for the legend entry labels.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1j2ikmct6fkvdn1urbt47esvvd8\"},{\"name\":\"AUTOOUTLINE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that the outline settings in the plot statements determine whether the fill swatches in the legend have outlines.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1mpv63mm3vqnfn14fjf8w5f3tfp\"},{\"name\":\"BORDER\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies whether the border around the legend is visible.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0kt59inwf16wkn1kxza2jev32gw\"},{\"name\":\"NOBORDER\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies whether the border around the legend is visible.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0kt59inwf16wkn1kxza2jev32gw\"},{\"name\":\"DOWN=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the number of rows in the legend.\",\"help\":\"DOWN=*n*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0tk8w9o3zdi2fn1esgptl2a1mdo\"},{\"name\":\"EXCLUDE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a list of legend entries to exclude from the display.\",\"help\":\"EXCLUDE=(\\\"*item-name*\\\" &lt;\\\"*item-nameN*\\\"  ...&gt;)\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0fisheopcvwo0n1burtm49ebr6h\"},{\"name\":\"FILLASPECT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies an aspect ratio for the fill swatches based on their height.\",\"help\":\"FILLASPECT=GOLDEN | *positive-number*\",\"type\":\"choice\",\"arguments\":[{\"name\":\"GOLDEN\",\"followsDelimiter\":\"/\",\"description\":\"specifies the golden ratio of 1.618 (width = 1.618 * height).\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1mvx549ab6tdan17kfukyxyb8qo\"},{\"name\":\"positive-number\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a custom aspect ratio.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0ezqk3wsob6yen159cmaeplvt18\"}],\"supportSiteTargetFragment\":\"p178oqlolmv9uzn1umq7mmnig1x4\"},{\"name\":\"FILLHEIGHT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the height of the fill swatches.\",\"help\":\"FILLHEIGHT=*numeric-value*&lt;*units*&gt;\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0n1taxr3hpjk6n13c7f7zmaill9\"},{\"name\":\"LINELENGTH=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the length of the line glyph for line entries in the legend.\",\"help\":\"LINELENGTH=*numeric-value*&lt;*units*&gt;\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1qt8b9hqkqwekn1o92urvr1pce8\"},{\"name\":\"LOCATION=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies whether the legend is placed outside or inside the axis area.\",\"help\":\"LOCATION=OUTSIDE | INSIDE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"OUTSIDE\",\"type\":\"standalone\"},{\"name\":\"INSIDE\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"n06qo0i2h8lb59n1n3nsarnoqtld\"},{\"name\":\"OPAQUE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"OPAQUE removes the legend background’s transparency.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0obnf1cpqdvu0n10hvwmfo4pmmb\"},{\"name\":\"NOOPAQUE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"OPAQUE removes the legend background’s transparency.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0obnf1cpqdvu0n10hvwmfo4pmmb\"},{\"name\":\"OUTERPAD=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the amount of extra space that is added outside the legend border.\",\"help\":\"OUTERPAD=*numeric-value*&lt;*units*&gt; | (*pad-options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"numeric-value\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a dimension to use for the extra space at the left, right, top, and bottom of the legend border.\",\"help\":\"*numeric-value*&lt;*units*&gt; \",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1e71wuytc6chtn1rx1b6isq8q8ta\"},{\"name\":\"(pad-options)\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"a space-separated list of one or more of the following name-value pair options, enclosed in parentheses:\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n097ty6w3j4qqxn1hj77adabqxmqa\"}],\"supportSiteTargetFragment\":\"p1x0p21p0aqyezn1dy233ggphf9oa\"},{\"name\":\"POSITION=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the position of the legend within the graph.\",\"help\":\"POSITION=*position-value*\",\"type\":\"value\",\"arguments\":[{\"name\":\"BOTTOM\",\"followsDelimiter\":\"/\",\"description\":\"places the legend at the bottom of the graph.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p144pwkiha2rkln1x81qvj8olk85\"},{\"name\":\"BOTTOMLEFT\",\"followsDelimiter\":\"/\",\"description\":\"places the legend at the bottom left corner of the graph.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n10ggjabxq5o4bn1rqocjybf2330\"},{\"name\":\"BOTTOMRIGHT\",\"followsDelimiter\":\"/\",\"description\":\"places the legend at the bottom right corner of the graph.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1i1v9nwfst5nqn1aw8j74p495cl\"},{\"name\":\"LEFT\",\"followsDelimiter\":\"/\",\"description\":\"places the legend at the left side of the graph.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1fkmy8hamgtuan1cap08hkw8be0\"},{\"name\":\"RIGHT\",\"followsDelimiter\":\"/\",\"description\":\"places the legend at the right side of the graph.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0bgsk11360zkrn193ovpevbjvtg\"},{\"name\":\"TOP\",\"followsDelimiter\":\"/\",\"description\":\"places the legend at the top of the graph.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0nkp7fabj6507n1si4wnd6yub0w\"},{\"name\":\"TOPLEFT\",\"followsDelimiter\":\"/\",\"description\":\"places the legend at the top left corner of the graph.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p09j3m71bq9xk6n1sut1p2j36rn3\"},{\"name\":\"TOPRIGHT\",\"followsDelimiter\":\"/\",\"description\":\"places the legend at the top right corner of the graph.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1a1z9hdot7w0kn0zq90q2rupb2a\"}],\"supportSiteTargetFragment\":\"p18zrxvo9ttjnqn1ap4qs65w2or3\"},{\"name\":\"SCALE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a scale factor that is to be applied to the fill swatch height.\",\"help\":\"SCALE=*positive-number*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0tfeegvjugh4cn0ze7nruq5xh7g\"},{\"name\":\"SORTORDER=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the sort order to use for the legend entry labels.\",\"help\":\"SORTORDER=ASCENDING | DESCENDING | REVERSEAUTO \",\"type\":\"choice\",\"arguments\":[{\"name\":\"ASCENDING\",\"type\":\"standalone\"},{\"name\":\"DESCENDING\",\"type\":\"standalone\"},{\"name\":\"REVERSEAUTO\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"n0hfc5dh8vytm6n1l6sdf8ega1wj\"},{\"name\":\"TITLE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a title for the legend.\",\"help\":\"TITLE=\\\"*text-string*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p05e6s89o3soxdn1ps9lx8apbz36\"},{\"name\":\"TITLEATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the appearance of the title.\",\"help\":\"TITLEATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p1dq5jghyyid9mn198s3okv8oesob\"},{\"name\":\"TYPE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies which visual attributes to display for legend entries in the legend.\",\"help\":\"TYPE=FILL | FILLCOLOR | LINE | LINECOLOR | LINEPATTERN | MARKER | MARKERCOLOR | MARKERSYMBOL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"FILL\",\"followsDelimiter\":\"/\",\"description\":\"displays the fill colors and filled-area outline colors that are used in the plots as outlined color swatches.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0qnj0himskj31n1q3xzed6580tu\"},{\"name\":\"FILLCOLOR\",\"followsDelimiter\":\"/\",\"description\":\"displays the fill colors that are used in the plots as outlined color swatches.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p09lf511l0ddetn13t8649vtrjfs\"},{\"name\":\"LINE\",\"followsDelimiter\":\"/\",\"description\":\"displays the line colors and line patterns that are used in the plots.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1pg7az7x8ryq9n1r846etf5s5yw\"},{\"name\":\"LINECOLOR\",\"followsDelimiter\":\"/\",\"description\":\"displays the line colors and outline colors that are used in the plots as outlined color swatches.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0cbwog6wl1ogln1ionwvgzcdyqn\"},{\"name\":\"LINEPATTERN\",\"followsDelimiter\":\"/\",\"description\":\"displays the line patterns or outline patterns that are used in the plots.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1b33j1m8ucqxpn1wq6y6imu5gpo\"},{\"name\":\"MARKER\",\"followsDelimiter\":\"/\",\"description\":\"displays the marker symbols and marker colors that are used in the plots.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n19y86xfrb1tmen1g1bkhujvrdjt\"},{\"name\":\"MARKERCOLOR\",\"followsDelimiter\":\"/\",\"description\":\"displays the marker colors that are used in the plots as outlined color swatches.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1a2q9zkrxjz5qn1x9rr43raqlez\"},{\"name\":\"MARKERSYMBOL\",\"followsDelimiter\":\"/\",\"description\":\"displays the marker symbols that are used in the plots.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p12mvoqnlwgk9jn11yrcur0e6bwf\"}],\"supportSiteTargetFragment\":\"p1oxafx86kl79fn14ka2ljzeliu6\"},{\"name\":\"VALUEATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the appearance of the legend value labels.\",\"help\":\"VALUEATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p1afadjbla5s3wn0zjcd07m1uxaj\"}],\"supportSiteTargetFile\":\"p0xmbppzx71smbn1203aaif96z86.htm\"},{\"name\":\"LEGENDITEM\",\"description\":\"Creates a legend item that can be included in the legend.\",\"help\":\"LEGENDITEM TYPE=*type*NAME=\\\"*text-string*\\\"&lt;/*options*&gt;;\",\"arguments\":[{\"name\":\"TYPE=\",\"description\":\"specifies the type of legend item.\",\"help\":\"TYPE=FILL | MARKER | MARKERLINE | LINE | TEXT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"FILL\",\"description\":\"specifies a fill (displayed as a filled square).\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n11jvakf2vnuynn1h1x6872iyb7n\"},{\"name\":\"MARKER\",\"description\":\"specifies a marker.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0stzwl8cylobcn1y0qqywp67sgg\"},{\"name\":\"MARKERLINE\",\"description\":\"specifies a marker and a line.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1xkbx4wvbus9jn1qfr0j6ag40cy\"},{\"name\":\"LINE\",\"description\":\"specifies a line.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1pyyw6ahde6rjn1n4hyaibdz1nj\"},{\"name\":\"TEXT\",\"description\":\"specifies text that can be displayed in the legend area.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1cc6d3dedz59un1ja23godmzpvm\"}],\"supportSiteTargetFragment\":\"n1o0rsed1ahi3fn0z6v6x2vdphh5\"},{\"name\":\"NAME=\",\"description\":\"assigns a name to the legend item for reference in a KEYLEGEND statement.\",\"help\":\"NAME=\\\"*text-string*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0f0wxiixhwphxn1ciy12xhbub9k\"},{\"name\":\"FILLATTRS=\",\"optional\":true,\"description\":\"specifies the fill color and transparency when TYPE= is set to FILL.\",\"help\":\"FILLATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"n00jwj7lumri74n15g2aezqm8f3h\"},{\"name\":\"FILLEDOUTLINEDMARKERS\",\"optional\":true,\"description\":\"specifies that a filled marker also has an outline.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1tizsenlk83wln1xueq3k9r1hts\"},{\"name\":\"LABEL=\",\"optional\":true,\"description\":\"specifies a label to be used for the item in the legend.\",\"help\":\"LABEL=\\\"*text-string*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1n3llcl8qq0ncn11ebl0wtyut71\"},{\"name\":\"LABELATTRS=\",\"optional\":true,\"description\":\"specifies the color and font attributes of the legend item’s label.\",\"help\":\"LABELATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"n0fnpfzrqzgao2n1hq7yizc3laka\"},{\"name\":\"LINEATTRS=\",\"optional\":true,\"description\":\"specifies the appearance of the line when TYPE= is set to LINE or MARKERLINE.\",\"help\":\"LINEATTRS=*style-element*&lt;(*options*)&gt; | (*options*) \",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"n0taix1cige941n1u5bgwfg580rf\"},{\"name\":\"MARKERATTRS=\",\"optional\":true,\"description\":\"specifies the appearance of the marker when TYPE= is set to MARKER or MARKERLINE.\",\"help\":\"MARKERATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"n1ixsa185azqyun1v6b31c7rog1c\"},{\"name\":\"NOFILL\",\"optional\":true,\"description\":\"hides the fill or outline of the fill swatch for the legend item\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n02gq80mmopi62n1j52ui2fyfe96\"},{\"name\":\"NOOUTLINE\",\"optional\":true,\"description\":\"hides the fill or outline of the fill swatch for the legend item\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n02gq80mmopi62n1j52ui2fyfe96\"},{\"name\":\"OUTLINEATTRS=\",\"optional\":true,\"description\":\"specifies the appearance of the outline when TYPE= is set to FILL.\",\"help\":\"OUTLINEATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"n134z9rhj5x63tn10dg7atn7gxhy\"},{\"name\":\"TEXT=\",\"optional\":true,\"description\":\"specifies the text to display when TYPE= is set to TEXT.\",\"help\":\"TEXT=\\\"*text-string*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0bszlcgmf9i9sn12k5ae51m9hxq\"},{\"name\":\"TEXTATTRS=\",\"optional\":true,\"description\":\"specifies the color and font properties of the legend item when TYPE is set to TEXT.\",\"help\":\"TEXTATTRS=*style-element*&lt; (*text-options*)&gt; | (*text-options*) \",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(text-options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p0xj5fmouba10zn1htn6ovrz4731\"}],\"supportSiteTargetFile\":\"p0hc32jtfqoy1fn1h5i38q8v9py2.htm\"},{\"name\":\"LINEPARM\",\"description\":\"Creates a straight line specified by a point and a slope.\",\"help\":\"LINEPARM X=numeric-value |  numeric-variable | \\n Y=numeric-valuenumeric-variable | \\n SLOPE=numeric-valuenumeric-variable\\n</option(s)>;\",\"arguments\":[{\"name\":\"X=\",\"description\":\"specifies the X coordinate of a point.\",\"help\":\"X=*numeric-value* | *numeric-variable*\",\"type\":\"choice\",\"arguments\":[{\"name\":\"numeric-value\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"numeric-variable\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p1lxg13knhw3x2n1912fw6fio92k\"},{\"name\":\"Y=\",\"description\":\"specifies the Y coordinate of a point.\",\"help\":\"Y=*numeric-value* | *numeric-variable*\",\"type\":\"choice\",\"arguments\":[{\"name\":\"numeric-value\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"numeric-variable\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"n10l63a10u8tl5n1rbwr7spk41ws\"},{\"name\":\"SLOPE=\",\"description\":\"specifies the slope of the line.\",\"help\":\"SLOPE=*numeric-value* | *numeric-variable*\",\"type\":\"choice\",\"arguments\":[{\"name\":\"numeric-value\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"numeric-variable\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p0bz6o4fd6ldion12uabnvu0gl9y\"},{\"name\":\"ATTRID=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the value of the ID variable in a discrete attribute map data set.\",\"help\":\"ATTRID=*character-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0gnil4gecoz0fn1sjexzo9ka6a8n\"},{\"name\":\"CLIP\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that the data for the line is ignored when determining the data ranges for the axes.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0uplgcyx6h7fjn0zri1dlgr6is4\"},{\"name\":\"CURVELABEL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"adds a label to the curve or curves.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n08ncpgykhid1in19hd0qimngo8y\"},{\"name\":\"CURVELABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a label for the curve when only one curve is drawn.\",\"help\":\"CURVELABEL=\\\"*text-string*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0fvuk5fer3ln2n140j6fg66f7rj\"},{\"name\":\"CURVELABELATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the appearance of the labels in the plot when you use the CURVELABEL= option.\",\"help\":\"CURVELABELATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p0dk1x2qtnfn66n11yrt9l54l5npb\"},{\"name\":\"CURVELABELLOC=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies whether the curve label is placed inside the plot axes (INSIDE) or outside of the plot axes (OUTSIDE).\",\"help\":\"CURVELABELLOC=OUTSIDE | INSIDE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"OUTSIDE\",\"type\":\"standalone\"},{\"name\":\"INSIDE\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"n004prbqqjkpven1azy6dvqdqxhp\"},{\"name\":\"CURVELABELPOS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the location of the curve label.\",\"help\":\"CURVELABELPOS=AUTO | MIN | MAX\",\"type\":\"choice\",\"arguments\":[{\"name\":\"AUTO\",\"followsDelimiter\":\"/\",\"description\":\"determines the best label position automatically.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0xuxpheew4cf2n1o8cxpl8r8v93\"},{\"name\":\"MIN\",\"followsDelimiter\":\"/\",\"description\":\"places the curve label at the minimum value for the X axis.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0t3pxefknn9v6n1bor219rrxhwr\"},{\"name\":\"MAX\",\"followsDelimiter\":\"/\",\"description\":\"places the curve label at the maximum value for the X axis.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1v9hfh3gcvlxzn1uu7arakjtv2p\"}],\"supportSiteTargetFragment\":\"n0nyu6rsygzlxpn19i5bcf7wgxjk\"},{\"name\":\"GROUP=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a variable that is used to group the data.\",\"help\":\"GROUP=*variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n14yln4vntxg9mn0zxe1pcjkdw6z\"},{\"name\":\"LEGENDLABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a label that identifies the plot in the legend.\",\"help\":\"LEGENDLABEL=\\\"*text-string*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0fd9b19oonwvtn1cvw6t1tc09jq\"},{\"name\":\"LINEATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the appearance of the line.\",\"help\":\"LINEATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"n0se0u0yt93bvgn1i3glgvexyepj\"},{\"name\":\"NAME=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"assigns a name to a plot statement.\",\"help\":\"NAME=\\\"*text-string*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1kiiynz0gzidxn16dsf62msnl4tr\"},{\"name\":\"NOEXTEND\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"prevents the line from being extended beyond the axis offset.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0bi3mn3t3up08n1rpzkemourbjy\"},{\"name\":\"NOMISSINGGROUP\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that missing values of the group variable are not included in the plot.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n02m1yvh407h8in1bfd07hnwn93ve\"},{\"name\":\"SPLITCHAR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies one or more characters on which the text used for curve labels is always split.\",\"help\":\"SPLITCHAR=\\\"*character-list*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p06llurcp0gjlwn1apk9ftuasho0\"},{\"name\":\"SPLITCHARNODROP\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that the split characters are included in the displayed value.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p17rdbkgdneovrn1ue8o2kpkg9ewf\"},{\"name\":\"SPLITJUSTIFY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the horizontal alignment of the value text that is being split.\",\"help\":\"SPLITJUSTIFY=LEFT | CENTER | RIGHT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"LEFT\",\"type\":\"standalone\"},{\"name\":\"CENTER\",\"type\":\"standalone\"},{\"name\":\"RIGHT\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"p1gpg1oyxutpycn14zlh3q5a4u2cf\"},{\"name\":\"TRANSPARENCY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the degree of transparency for the plot.\",\"help\":\"TRANSPARENCY=*value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0hjrs3w86z8ean1npu022im7j2sp\"},{\"name\":\"X2AXIS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"assigns the X variable to the secondary (top) horizontal axis.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1qdz8a9m6t6uen1kdob1nz79tsli\"},{\"name\":\"Y2AXIS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"assigns the Y variable to the secondary (right) vertical axis.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0zsjbjkamjq8zn1u2umymluiajcf\"}],\"supportSiteTargetFile\":\"n1h6n82pw2uqo6n10avwmph63r7o.htm\"},{\"name\":\"LOESS\",\"description\":\"Creates a fitted loess curve.\",\"help\":\"LOESS X=*numeric-variable* Y=*numeric-variable*&lt;/*options*&gt;;\",\"arguments\":[{\"name\":\"X=\",\"description\":\"specifies the variable for the X axis.\",\"help\":\"X=*numeric-variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p06bw7bo2swho0n1apxzgnbd5arn\"},{\"name\":\"Y=\",\"description\":\"specifies the variable for the Y axis.\",\"help\":\"Y=*numeric-variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0pliyrc2hy1myn1xx6q2umqsqty\"},{\"name\":\"ALPHA=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the confidence level for the confidence limits.\",\"help\":\"ALPHA=*numeric-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n00imtt46th0r6n1iug49oapmskz\"},{\"name\":\"ATTRID=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the value of the ID variable in a discrete attribute map data set.\",\"help\":\"ATTRID=*character-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0gnil4gecoz0fn1sjexzo9ka6a8o\"},{\"name\":\"CLM\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"creates confidence limits.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1u1ze53iipxg6n1b8yjdkxpckxc\"},{\"name\":\"CLM=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"creates confidence limits.\",\"help\":\"CLM=\\\"*text-string*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1u1ze53iipxg6n1b8yjdkxpckxc\"},{\"name\":\"CLMATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the appearance of the mean value confidence limits by using an ODS style element or by specifying fill and line attributes.\",\"help\":\"CLMATTRS=*style-element* | (*CLM-attrs-suboptions* )  \",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the name of a style element.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1jhfqr9ym5cd5n1qkz0st9hzhx3\"},{\"name\":\"CLMFILLATTRS=\",\"followsDelimiter\":\"/\",\"description\":\"Specifies the fill attributes of the prediction limits.\",\"help\":\"CLMFILLATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p0rxjd7cfs7tgcn1taqh91r2ejrw\"},{\"name\":\"CLMLINEATTRS=\",\"followsDelimiter\":\"/\",\"description\":\"Specify the line attributes of the confidence limits.\",\"help\":\"CLMLINEATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"n0z7z3p1ts0cmkn1kd1e8pyxwrac\"},{\"name\":\"FILL\",\"followsDelimiter\":\"/\",\"description\":\"shows the fill color.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0i8gib9cflfz5n1wiojirpjxorn\"},{\"name\":\"NOFILL\",\"followsDelimiter\":\"/\",\"description\":\"hides the fill color.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0oq2e5lvcc90rn16i0hnca56h0l\"},{\"name\":\"NOOUTLINE\",\"followsDelimiter\":\"/\",\"description\":\"hides the outlines.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1g747ymvq1nivn1bqtlfeza5z4u\"},{\"name\":\"OUTLINE\",\"followsDelimiter\":\"/\",\"description\":\"shows the outlines.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0r28tt8sedsiyn1vcm5orrwi2st\"}],\"supportSiteTargetFragment\":\"n08nmiuxm1pw84n1jffku4ne8qpw\"},{\"name\":\"CLMTRANSPARENCY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the degree of transparency for the confidence limits.\",\"help\":\"CLMTRANSPARENCY=*numeric-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0c68bb8hygjfbn1t52riuzbnuph\"},{\"name\":\"CURVELABEL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"adds a label to the curve or curves.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0xwe8i056k19tn15tetdau7yybw\"},{\"name\":\"CURVELABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a label for the curve when only one curve is drawn.\",\"help\":\"CURVELABEL=\\\"*text-string*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0zftxt9qq2pdgn1symuat15dur2\"},{\"name\":\"CURVELABELATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the appearance of the labels in the plot when you use the CURVELABEL= option.\",\"help\":\"CURVELABELATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p0dk1x2qtnfn66n11yrt9l54l5npc\"},{\"name\":\"CURVELABELLOC=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies whether the curve label is placed inside the plot axes (INSIDE) or outside of the plot axes (OUTSIDE).\",\"help\":\"CURVELABELLOC=OUTSIDE | INSIDE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"OUTSIDE\",\"type\":\"standalone\"},{\"name\":\"INSIDE\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"n0m661zy7deafpn1r4qqw0qnq5wbc\"},{\"name\":\"CURVELABELPOS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the location of the curve label.\",\"help\":\"CURVELABELPOS=AUTO | END | MAX | MIN | START\",\"type\":\"choice\",\"arguments\":[{\"name\":\"AUTO\",\"followsDelimiter\":\"/\",\"description\":\"places the curve label outside the plot area near the end of the curve along unused axes whenever possible (typically Y2 or X2).\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1mzx51oqqddhgn1fx79prjt0qazb\"},{\"name\":\"END\",\"followsDelimiter\":\"/\",\"description\":\"places the curve label at the last point on the curve.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n04k78fvzrkjjsn1t3to05u6jlojb\"},{\"name\":\"MAX\",\"followsDelimiter\":\"/\",\"description\":\"places the label at the part of the curve closest to the maximum X-axis value.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1j326cktvxmnqn15qyb6y1ga3b8b\"},{\"name\":\"MIN\",\"followsDelimiter\":\"/\",\"description\":\"places the label at the part of the curve closest to the minimum X-axis value.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n018cpn1doiwsfn16kekpzbg1qg7b\"},{\"name\":\"START\",\"followsDelimiter\":\"/\",\"description\":\"places the curve label at the first point on the curve.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0yvts7uqmeulun1j9p7zrppvm68b\"}],\"supportSiteTargetFragment\":\"n1lxgmorrzt45cn1shctlyw8ljv3b\"},{\"name\":\"DATALABEL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"displays a label for each data point.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p05dq3qb5jmdhnn18u09u0ol11iw\"},{\"name\":\"DATALABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"displays a label for each data point.\",\"help\":\"DATALABEL=*variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p05dq3qb5jmdhnn18u09u0ol11iw\"},{\"name\":\"DATALABELATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the appearance of the labels in the plot when you use the DATALABEL= option.\",\"help\":\"DATALABELATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p1knsfepcp6q3tn1rcxjyvwtszoxh\"},{\"name\":\"DATALABELPOS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the location of each data label with respect to its data point.\",\"help\":\"DATALABELPOS=*position*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0rsuu58qgi0ysn1sh5krk9uvgq5a\"},{\"name\":\"DEGREE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the degree of the local polynomials to use for each local regression.\",\"help\":\"DEGREE=1 | 2\",\"type\":\"choice\",\"arguments\":[{\"name\":\"1\",\"type\":\"standalone\"},{\"name\":\"2\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"n19fsopkwgoszjn1t4c9s4zo89wb\"},{\"name\":\"FILLEDOUTLINEDMARKERS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that markers have a fill and an outline.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0qe6wr3f0bgdan1oum0lmulf1ina\"},{\"name\":\"GROUP=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a variable that is used to group the data.\",\"help\":\"GROUP=*variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1qn7e3xo9bttzn1bf3lc4mo474m\"},{\"name\":\"INTERPOLATION=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the degree of the interpolating polynomials that are used for blending local polynomial fits at the kd tree vertices.\",\"help\":\"INTERPOLATION=CUBIC | LINEAR\",\"type\":\"choice\",\"arguments\":[{\"name\":\"CUBIC\",\"type\":\"standalone\"},{\"name\":\"LINEAR\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"p1vs60weubvalrn1avd7lo4omrxj\"},{\"name\":\"JITTER\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that data markers are offset when multiple observations have the same response value.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0vnlhi34wmbv0n1g97wuc6qvosb\"},{\"name\":\"LEGENDLABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a label that identifies the fit line in the legend.\",\"help\":\"LEGENDLABEL=\\\"*text-string*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1udhsbrheooj6n131ppuqj7ie45\"},{\"name\":\"LINEATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the appearance of the fit curve.\",\"help\":\"LINEATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p1gin154cjmpoqn1eelpkn305c48\"},{\"name\":\"MARKERATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the appearance of the markers in the plot.\",\"help\":\"MARKERATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p19z467dlc7zx6n1gdns5ze3zwpb\"},{\"name\":\"MARKERFILLATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the color of the marker fill.\",\"help\":\"MARKERFILLATTRS=*style-element* |  (COLOR=*color*) \",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(COLOR=)\",\"type\":\"color\"}],\"supportSiteTargetFragment\":\"n0cg7g8a06r4mwn1rcawd5eth51zb\"},{\"name\":\"MARKEROUTLINEATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the appearance of the marker outlines.\",\"help\":\"MARKEROUTLINEATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p0j0ix3qbk1rsqn10lfmccucq9qhb\"},{\"name\":\"MAXPOINTS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the maximum number of predicted points for the loess fit and the corresponding limits.\",\"help\":\"MAXPOINTS=*n*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n135ryw1tr04ijn12olhf6pr2gl2\"},{\"name\":\"NAME=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"assigns a name to a plot statement.\",\"help\":\"NAME=\\\"*text-string*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1kiiynz0gzidxn16dsf62msnl4ts\"},{\"name\":\"NOLEGCLM\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"hides the legend entry for the mean value confidence limits.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0oi5hjq7s9jqgn1u76zvg07uyrz\"},{\"name\":\"NOLEGFIT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"hides the legend entry for the fit line.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0rvlzhuq18985n1e492yi35e2gy\"},{\"name\":\"NOMARKERS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"removes the scatter markers from the plot.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1mrvntgurva5rn1ahngsdyhuohy\"},{\"name\":\"REWEIGHT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the number of iterative reweighting steps to apply to the data.\",\"help\":\"REWEIGHT=*n*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0tq9dngj7grqfn13skir1ycj2ey\"},{\"name\":\"SMOOTH=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a smoothing parameter value.\",\"help\":\"SMOOTH=*numeric-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0xtlwblsnjdvvn1pagm3yrhhz9s\"},{\"name\":\"SPLITCHAR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies one or more characters on which the text for curve labels is always split.\",\"help\":\"SPLITCHAR=\\\"*character-list*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0lp66hk29i0sin1kdjnfamkw1era\"},{\"name\":\"SPLITCHARNODROP\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that the split characters are included in the displayed value.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p17rdbkgdneovrn1ue8o2kpkg9ewg\"},{\"name\":\"SPLITJUSTIFY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the horizontal alignment of the value text that is being split.\",\"help\":\"SPLITJUSTIFY=LEFT | CENTER | RIGHT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"LEFT\",\"type\":\"standalone\"},{\"name\":\"CENTER\",\"type\":\"standalone\"},{\"name\":\"RIGHT\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"p1gpg1oyxutpycn14zlh3q5a4u2cg\"},{\"name\":\"TIP=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the data tip information to be displayed when the cursor is positioned over the graphics element.\",\"help\":\"TIP=(*variable-list*) | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"(variable-list)\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"a space-separated list of variables enclosed in parentheses.\",\"help\":\"(*variable-list*) \",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1xt1um6hrz1xyn1sjttwqpgpo2gi\"},{\"name\":\"NONE\",\"followsDelimiter\":\"/\",\"description\":\"suppresses the data tips from this plot.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0juujvli3nm16n1m4i3zstsmn7ui\"}],\"supportSiteTargetFragment\":\"n0tlg070rp5jkkn193er1c3er8vvi\"},{\"name\":\"TIPFORMAT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"applies formats to the list of data tip variables that you specify in the TIP= option.\",\"help\":\"TIPFORMAT=(*format-list*)\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1vgm3eynz19vzn1mlqm98fezlp5h\"},{\"name\":\"TIPLABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"applies labels to the list of data tip variables that you specify in the TIP= option.\",\"help\":\"TIPLABEL=(*label-list*)\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0tod59njrbtewn1hk76dznibemuh\"},{\"name\":\"TRANSPARENCY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the degree of transparency for the plot.\",\"help\":\"TRANSPARENCY=*value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0raf3b8lk9vdon1njq3vdcifp6h\"},{\"name\":\"WEIGHT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a variable that contains values to be used as weights for the calculations.\",\"help\":\"WEIGHT=*numeric-variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1er8no6i58s4rn1i8wg42ndkxr1c\"},{\"name\":\"X2AXIS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"assigns the X variable to the secondary (top) horizontal axis.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1qdz8a9m6t6uen1kdob1nz79tslj\"},{\"name\":\"Y2AXIS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"assigns the Y variable to the secondary (right) vertical axis.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0zsjbjkamjq8zn1u2umymluiajcg\"}],\"supportSiteTargetFile\":\"n0j1n6w6psxa44n12vw6vh4qpl5y.htm\"},{\"name\":\"NEEDLE\",\"description\":\"Creates a plot with needles connecting each point to the baseline.\",\"help\":\"NEEDLE  X=*variable* Y=*numeric-variable*&lt;/*options*&gt;;\",\"arguments\":[{\"name\":\"X=\",\"description\":\"specifies the variable for the X axis.\",\"help\":\"X=*variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1girtlptclj5in1xqj7njlrdjgj\"},{\"name\":\"Y=\",\"description\":\"specifies the variable for the Y axis.\",\"help\":\"Y=*numeric-variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0jid1xz7acrqan1tl5nivw2zw47\"},{\"name\":\"ATTRID=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the value of the ID variable in a discrete attribute map data set.\",\"help\":\"ATTRID=*character-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0gnil4gecoz0fn1sjexzo9ka6a8p\"},{\"name\":\"BASELINE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the Y-intercept for the baseline.\",\"help\":\"BASELINE=*numeric-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0fd9hbt8ohk93n1k4r0nmqkonl0\"},{\"name\":\"BASELINEATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the appearance of the baseline.\",\"help\":\"BASELINEATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p1etmfroq8mx8kn1ao7pjy3p5x2oc\"},{\"name\":\"CLUSTERWIDTH=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the width of the group clusters as a fraction of the midpoint spacing.\",\"help\":\"CLUSTERWIDTH=*numeric-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0dlvao1wxqnapn1eyiyqmlu8l1vb\"},{\"name\":\"DATALABEL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"displays a label for each data point.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0nw171sq0e411n1wgxqgp619995a\"},{\"name\":\"DATALABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"displays a label for each data point.\",\"help\":\"DATALABEL=*variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0nw171sq0e411n1wgxqgp619995a\"},{\"name\":\"DATALABELATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the appearance of the labels in the plot when you use the DATALABEL= option.\",\"help\":\"DATALABELATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p1knsfepcp6q3tn1rcxjyvwtszoxi\"},{\"name\":\"DATALABELPOS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the location of each data label with respect to its data point.\",\"help\":\"DATALABELPOS=*position*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0rsuu58qgi0ysn1sh5krk9uvgq5b\"},{\"name\":\"DATASKIN=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a special effect to be used on the plot.\",\"help\":\"DATASKIN=NONE | CRISP | GLOSS | MATTE | PRESSED | SHEEN\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NONE\",\"type\":\"standalone\"},{\"name\":\"CRISP\",\"type\":\"standalone\"},{\"name\":\"GLOSS\",\"type\":\"standalone\"},{\"name\":\"MATTE\",\"type\":\"standalone\"},{\"name\":\"PRESSED\",\"type\":\"standalone\"},{\"name\":\"SHEEN\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"n14kr95kkmeuh0n1hbaha6dpxa24j\"},{\"name\":\"DISCRETEOFFSET=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies an amount to offset all needle lines from discrete X values.\",\"help\":\"DISCRETEOFFSET=*numeric-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1bdi2xbu7qyd1n1m2mws6lja4i5\"},{\"name\":\"DISPLAYBASELINE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies whether the baseline is displayed.\",\"help\":\"DISPLAYBASELINE=AUTO | ON | OFF\",\"type\":\"choice\",\"arguments\":[{\"name\":\"AUTO\",\"followsDelimiter\":\"/\",\"description\":\"displays the baseline if the baseline intercept is within the response-axis range, excluding the minimum and maximum axis values.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n14kidk5sz230zn1t4t5o38of8twc\"},{\"name\":\"ON\",\"followsDelimiter\":\"/\",\"description\":\"always displays the baseline.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0br3ohjmlp9ntn1fmjekz3h2v6vc\"},{\"name\":\"OFF\",\"followsDelimiter\":\"/\",\"description\":\"hides the baseline.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0mzb9slm5101yn1ef8bab6lqy6qc\"}],\"supportSiteTargetFragment\":\"n1q5mmv6wkhlnhn1kq647ur0r3cac\"},{\"name\":\"GROUP=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a variable that is used to group the data.\",\"help\":\"GROUP=*variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0ihz5mnsij0ern0zx0ildin6aehd\"},{\"name\":\"GROUPDISPLAY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies how to display grouped needles.\",\"help\":\"GROUPDISPLAY=CLUSTER | OVERLAY\",\"type\":\"choice\",\"arguments\":[{\"name\":\"CLUSTER\",\"followsDelimiter\":\"/\",\"description\":\"grouped items are drawn adjacent to each other.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1f9g1imvgdc3xn1o4qmhc3dsaxtk\"},{\"name\":\"OVERLAY\",\"followsDelimiter\":\"/\",\"description\":\"grouped items are drawn at the exact coordinate and might overlap.\",\"help\":\"OVERLAY \",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0gedf37npwg28n19wqi2annun4nk\"}],\"supportSiteTargetFragment\":\"n0dtk1tfvpmg0nn1eu9qkxgh8ix3\"},{\"name\":\"GROUPORDER=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the ordering of the groups within a category.\",\"help\":\"GROUPORDER=DATA | REVERSEDATA | ASCENDING | DESCENDING\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DATA\",\"followsDelimiter\":\"/\",\"description\":\"orders the groups within a category in data order of the group variable.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n17ush6ke65xben1qm2p0dn9pjjag\"},{\"name\":\"REVERSEDATA\",\"followsDelimiter\":\"/\",\"description\":\"orders the groups within a category in the reverse data order of the group variable.\",\"help\":\"REVERSEDATA \",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0ybf6fv2jznutn1fir9sn5as9yqg\"},{\"name\":\"ASCENDING\",\"followsDelimiter\":\"/\",\"description\":\"orders the groups within a category in ascending order of the group variable.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0illc3sf337wnn1kvp0yuul2s1tg\"},{\"name\":\"DESCENDING\",\"followsDelimiter\":\"/\",\"description\":\"orders the groups within a category in descending order of the group variable.\",\"help\":\"DESCENDING \",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p15mm3o64qe2qgn16nv32zmcnleeg\"}],\"supportSiteTargetFragment\":\"n0iz9rcg3x496dn1sfn1g6ernd9og\"},{\"name\":\"LEGENDLABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a label that identifies the needle plot in the legend.\",\"help\":\"LEGENDLABEL=\\\"*text-string*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0do31blvxtjufn1svp8joft3mr7\"},{\"name\":\"LINEATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the appearance of the needle lines.\",\"help\":\"LINEATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p0c9aue2gbsrr4n1e5gmqgl8iimw\"},{\"name\":\"MARKERATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the appearance of the markers in the plot.\",\"help\":\"MARKERATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p0n09g0cm4b3ben1a48fl5oypel4\"},{\"name\":\"MARKERS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"adds markers to the tips of the needles.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0kphb0mjgpfpdn1k03f1tubqt0j\"},{\"name\":\"NAME=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"assigns a name to a plot statement.\",\"help\":\"NAME=\\\"*text-string*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1kiiynz0gzidxn16dsf62msnl4tt\"},{\"name\":\"NOMISSINGGROUP\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that missing values of the group variable are not included in the plot.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n02m1yvh407h8in1bfd07hnwn93vf\"},{\"name\":\"SPLITCHAR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies one or more characters on which the text for data labels is always split.\",\"help\":\"SPLITCHAR=\\\"*character-list*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1uloff5glv6hcn1ginrortjqxq1c\"},{\"name\":\"SPLITCHARNODROP\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that the split characters are included in the displayed value.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p17rdbkgdneovrn1ue8o2kpkg9ewh\"},{\"name\":\"SPLITJUSTIFY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the horizontal alignment of the value text that is being split.\",\"help\":\"SPLITJUSTIFY=LEFT | CENTER | RIGHT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"LEFT\",\"type\":\"standalone\"},{\"name\":\"CENTER\",\"type\":\"standalone\"},{\"name\":\"RIGHT\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"p1gpg1oyxutpycn14zlh3q5a4u2ch\"},{\"name\":\"TIP=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the data tip information to be displayed when the cursor is positioned over the graphics element.\",\"help\":\"TIP=(*variable-list*) | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"(variable-list)\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"a space-separated list of variables enclosed in parentheses.\",\"help\":\"(*variable-list*) \",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1xt1um6hrz1xyn1sjttwqpgpo2gj\"},{\"name\":\"NONE\",\"followsDelimiter\":\"/\",\"description\":\"suppresses the data tips from this plot.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0juujvli3nm16n1m4i3zstsmn7uj\"}],\"supportSiteTargetFragment\":\"n0tlg070rp5jkkn193er1c3er8vvj\"},{\"name\":\"TIPFORMAT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"applies formats to the list of data tip variables that you specify in the TIP= option.\",\"help\":\"TIPFORMAT=(*format-list*)\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1vgm3eynz19vzn1mlqm98fezlp5i\"},{\"name\":\"TIPLABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"applies labels to the list of data tip variables that you specify in the TIP= option.\",\"help\":\"TIPLABEL=(*label-list*)\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0tod59njrbtewn1hk76dznibemui\"},{\"name\":\"TRANSPARENCY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the degree of transparency for the plot.\",\"help\":\"TRANSPARENCY=*value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0hjrs3w86z8ean1npu022im7j2sq\"},{\"name\":\"URL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies an HTML page to be displayed when parts of the plot are selected.\",\"help\":\"URL=*character-variable*\",\"type\":\"value\",\"arguments\":[{\"name\":\"character-variable\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a variable that contains a valid HTML page reference (HREF) for each plot element that is to have an active link.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0x9yrlql13u7gn11kr1daq2vd9sh\"}],\"supportSiteTargetFragment\":\"n0p5y7rpcnleycn17w2nttd9ipblh\"},{\"name\":\"X2AXIS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"assigns the X variable to the secondary (top) horizontal axis.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1qdz8a9m6t6uen1kdob1nz79tslk\"},{\"name\":\"Y2AXIS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"assigns the Y variable to the secondary (right) vertical axis.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0zsjbjkamjq8zn1u2umymluiajch\"}],\"supportSiteTargetFile\":\"p10dxuw32ilsu6n1opm3i8jcz812.htm\"},{\"name\":\"PBSPLINE\",\"description\":\"Creates a fitted penalized B-spline curve.\",\"help\":\"PBSPLINE X=*numeric-variable* Y=*numeric-variable*&lt;/*options*&gt;;\",\"arguments\":[{\"name\":\"X=\",\"description\":\"specifies the variable for the X axis.\",\"help\":\"X=*numeric-variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1l87lz4op1oy4n1vrot7fl2yi4b\"},{\"name\":\"Y=\",\"description\":\"specifies the variable for the Y axis.\",\"help\":\"Y=*numeric-variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1phhulh2f8t2jn1bc3msid26mjz\"},{\"name\":\"ALPHA=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the confidence level for the confidence limits.\",\"help\":\"ALPHA=*numeric-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n05bw78asek4h9n1e6h11w6unffx\"},{\"name\":\"ATTRID=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the value of the ID variable in a discrete attribute map data set.\",\"help\":\"ATTRID=*character-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0gnil4gecoz0fn1sjexzo9ka6a8q\"},{\"name\":\"CLI\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"creates confidence limits for the individual predicted values.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0mhpdpktk28rmn1381o5fzl49op\"},{\"name\":\"CLI=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"creates confidence limits for the individual predicted values.\",\"help\":\"CLI=\\\"*text-string*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0mhpdpktk28rmn1381o5fzl49op\"},{\"name\":\"CLIATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the appearance of the individual value prediction limits by using an ODS style element or by specifying line and fill attributes.\",\"help\":\"CLIATTRS=*style-element* | (*CLI-attrs-suboptions*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"CLIFILLATTRS=\",\"followsDelimiter\":\"/\",\"description\":\"Specify the fill attributes of the prediction limits.\",\"help\":\"CLIFILLATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"n0bezazh7e0tqkn14g7msubv57jv\"},{\"name\":\"CLILINEATTRS=\",\"followsDelimiter\":\"/\",\"description\":\"Specify the line attributes of the prediction limits.\",\"help\":\"CLILINEATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p0zv9amxjuyo91n1hms6eo3qo0pb\"},{\"name\":\"FILL\",\"followsDelimiter\":\"/\",\"description\":\"specifies whether the prediction band is filled.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1xsvawobkxylen15xb6qq47dckv\"},{\"name\":\"NOFILL\",\"followsDelimiter\":\"/\",\"description\":\"specifies whether the prediction band is filled.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1xsvawobkxylen15xb6qq47dckv\"},{\"name\":\"OUTLINE\",\"followsDelimiter\":\"/\",\"description\":\"specifies whether the prediction band has outlines.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1cvn9o9wja8i6n1sege7dfb9f0q\"},{\"name\":\"NOOUTLINE\",\"followsDelimiter\":\"/\",\"description\":\"specifies whether the prediction band has outlines.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1cvn9o9wja8i6n1sege7dfb9f0q\"}],\"supportSiteTargetFragment\":\"n1ru9wpgcj85ktn18dr8va4lyu7x\"},{\"name\":\"CLM\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"creates confidence limits.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1u1ze53iipxg6n1b8yjdkxpckxca\"},{\"name\":\"CLM=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"creates confidence limits.\",\"help\":\"CLM=\\\"*text-string*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1u1ze53iipxg6n1b8yjdkxpckxca\"},{\"name\":\"CLMATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the appearance of the mean value confidence limits by using an ODS style element or by specifying fill and line attributes.\",\"help\":\"CLMATTRS=*style-element* | (*CLM-attrs-suboptions* )  \",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the name of a style element.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1jhfqr9ym5cd5n1qkz0st9hzhx3a\"},{\"name\":\"CLMFILLATTRS=\",\"followsDelimiter\":\"/\",\"description\":\"Specifies the fill attributes of the prediction limits.\",\"help\":\"CLMFILLATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p0rxjd7cfs7tgcn1taqh91r2ejrwa\"},{\"name\":\"CLMLINEATTRS=\",\"followsDelimiter\":\"/\",\"description\":\"Specify the line attributes of the confidence limits.\",\"help\":\"CLMLINEATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"n0z7z3p1ts0cmkn1kd1e8pyxwraca\"},{\"name\":\"FILL\",\"followsDelimiter\":\"/\",\"description\":\"shows the fill color.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0i8gib9cflfz5n1wiojirpjxorna\"},{\"name\":\"NOFILL\",\"followsDelimiter\":\"/\",\"description\":\"hides the fill color.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0oq2e5lvcc90rn16i0hnca56h0la\"},{\"name\":\"NOOUTLINE\",\"followsDelimiter\":\"/\",\"description\":\"hides the outlines.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1g747ymvq1nivn1bqtlfeza5z4ua\"},{\"name\":\"OUTLINE\",\"followsDelimiter\":\"/\",\"description\":\"shows the outlines.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0r28tt8sedsiyn1vcm5orrwi2sta\"}],\"supportSiteTargetFragment\":\"n08nmiuxm1pw84n1jffku4ne8qpwa\"},{\"name\":\"CLMTRANSPARENCY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the degree of transparency for the confidence limits.\",\"help\":\"CLMTRANSPARENCY=*numeric-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0c68bb8hygjfbn1t52riuzbnupha\"},{\"name\":\"CURVELABEL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"adds a label to the curve or curves.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0xwe8i056k19tn15tetdau7yybwa\"},{\"name\":\"CURVELABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a label for the curve when only one curve is drawn.\",\"help\":\"CURVELABEL=\\\"*text-string*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0zftxt9qq2pdgn1symuat15dur2a\"},{\"name\":\"CURVELABELATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the appearance of the labels in the plot when you use the CURVELABEL= option.\",\"help\":\"CURVELABELATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p0dk1x2qtnfn66n11yrt9l54l5npd\"},{\"name\":\"CURVELABELLOC=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies whether the curve label is placed inside the plot axes (INSIDE) or outside of the plot axes (OUTSIDE).\",\"help\":\"CURVELABELLOC=OUTSIDE | INSIDE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"OUTSIDE\",\"type\":\"standalone\"},{\"name\":\"INSIDE\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"n0m661zy7deafpn1r4qqw0qnq5wbd\"},{\"name\":\"CURVELABELPOS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the location of the curve label.\",\"help\":\"CURVELABELPOS=AUTO | END | MAX | MIN | START\",\"type\":\"choice\",\"arguments\":[{\"name\":\"AUTO\",\"followsDelimiter\":\"/\",\"description\":\"places the curve label outside the plot area near the end of the curve along unused axes whenever possible (typically Y2 or X2).\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1mzx51oqqddhgn1fx79prjt0qazc\"},{\"name\":\"END\",\"followsDelimiter\":\"/\",\"description\":\"places the curve label at the last point on the curve.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n04k78fvzrkjjsn1t3to05u6jlojc\"},{\"name\":\"MAX\",\"followsDelimiter\":\"/\",\"description\":\"places the label at the part of the curve closest to the maximum X-axis value.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1j326cktvxmnqn15qyb6y1ga3b8c\"},{\"name\":\"MIN\",\"followsDelimiter\":\"/\",\"description\":\"places the label at the part of the curve closest to the minimum X-axis value.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n018cpn1doiwsfn16kekpzbg1qg7c\"},{\"name\":\"START\",\"followsDelimiter\":\"/\",\"description\":\"places the curve label at the first point on the curve.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0yvts7uqmeulun1j9p7zrppvm68c\"}],\"supportSiteTargetFragment\":\"n1lxgmorrzt45cn1shctlyw8ljv3c\"},{\"name\":\"DATALABEL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"displays a label for each data point.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p05dq3qb5jmdhnn18u09u0ol11iwa\"},{\"name\":\"DATALABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"displays a label for each data point.\",\"help\":\"DATALABEL=*variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p05dq3qb5jmdhnn18u09u0ol11iwa\"},{\"name\":\"DATALABELATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the appearance of the labels in the plot when you use the DATALABEL= option.\",\"help\":\"DATALABELATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p1knsfepcp6q3tn1rcxjyvwtszoxj\"},{\"name\":\"DATALABELPOS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the location of each data label with respect to its data point.\",\"help\":\"DATALABELPOS=*position*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0rsuu58qgi0ysn1sh5krk9uvgq5c\"},{\"name\":\"DEGREE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the degree of the spline transformation.\",\"help\":\"DEGREE=*non-negative-integer*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1g5y37sjizjpyn1e2o0hnsd4c9j\"},{\"name\":\"FILLEDOUTLINEDMARKERS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that markers have a fill and an outline.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0qe6wr3f0bgdan1oum0lmulf1inb\"},{\"name\":\"FREQ=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a variable for the frequency count for each observation in the input data.\",\"help\":\"FREQ=*numeric-variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1iqtbrzkqx6y6n1ee6zxmqu1bwmd\"},{\"name\":\"GROUP=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a variable that is used to group the data.\",\"help\":\"GROUP=*variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1mapcl5u05jyhn1flehtrdvyp4s\"},{\"name\":\"JITTER\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that data markers are offset when multiple observations have the same response value.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1ursvae3po7d9n1vsoyurhvf49c\"},{\"name\":\"LEGENDLABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a label that identifies the B-spline curve in the legend.\",\"help\":\"LEGENDLABEL=\\\"*text-string*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p15wcvu1673gi9n1p7uxy4aud116\"},{\"name\":\"LINEATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the appearance of the fitted curve.\",\"help\":\"LINEATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"n17uv67ndnovv2n1120vfm8zuman\"},{\"name\":\"MARKERATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the appearance of the markers in the plot.\",\"help\":\"MARKERATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"n1qki22hlk5su7n1pxws8gme53dv\"},{\"name\":\"MARKERFILLATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the color of the marker fill.\",\"help\":\"MARKERFILLATTRS=*style-element* |  (COLOR=*color*) \",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(COLOR=)\",\"type\":\"color\"}],\"supportSiteTargetFragment\":\"n0cg7g8a06r4mwn1rcawd5eth51zc\"},{\"name\":\"MARKEROUTLINEATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the appearance of the marker outlines.\",\"help\":\"MARKEROUTLINEATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p0j0ix3qbk1rsqn10lfmccucq9qhc\"},{\"name\":\"MAXPOINTS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the maximum number of predicted points for the spline curve and for any confidence limits.\",\"help\":\"MAXPOINTS=*n*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0qgawqt4556zfn1i772cwm2kzrk\"},{\"name\":\"NAME=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"assigns a name to a plot statement.\",\"help\":\"NAME=\\\"*text-string*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1kiiynz0gzidxn16dsf62msnl4tu\"},{\"name\":\"NKNOTS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the number of evenly spaced internal knots.\",\"help\":\"NKNOTS=*n*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1izs7dtbj3pdzn1txnpsemejtda\"},{\"name\":\"NOLEGCLI\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"hides the legend entry for the individual value prediction limits.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1db5h0yulyqynn1cdar4gxhgpzt\"},{\"name\":\"NOLEGCLM\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"hides the legend entry for the mean value confidence limits.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0e63ak9c1p1mwn1m1sopohwebm6\"},{\"name\":\"NOLEGFIT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"hides the legend entry for the fit line.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1byoytiz6yotrn1tb6h0zbbpeqn\"},{\"name\":\"NOMARKERS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"removes the scatter markers from the plot.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0c3xebw1mpd92n1b7vc4ccahcjg\"},{\"name\":\"SMOOTH=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a smoothing parameter value.\",\"help\":\"SMOOTH=*numeric-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0988k5zjdvlsxn1pom66eow1dwd\"},{\"name\":\"SPLITCHAR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies one or more characters on which the text for curve labels is always split.\",\"help\":\"SPLITCHAR=\\\"*character-list*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0lp66hk29i0sin1kdjnfamkw1erb\"},{\"name\":\"SPLITCHARNODROP\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that the split characters are included in the displayed value.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p17rdbkgdneovrn1ue8o2kpkg9ewi\"},{\"name\":\"SPLITJUSTIFY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the horizontal alignment of the value text that is being split.\",\"help\":\"SPLITJUSTIFY=LEFT | CENTER | RIGHT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"LEFT\",\"type\":\"standalone\"},{\"name\":\"CENTER\",\"type\":\"standalone\"},{\"name\":\"RIGHT\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"p1gpg1oyxutpycn14zlh3q5a4u2ci\"},{\"name\":\"TIP=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the data tip information to be displayed when the cursor is positioned over the graphics element.\",\"help\":\"TIP=(*variable-list*) | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"(variable-list)\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"a space-separated list of variables enclosed in parentheses.\",\"help\":\"(*variable-list*) \",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1xt1um6hrz1xyn1sjttwqpgpo2gk\"},{\"name\":\"NONE\",\"followsDelimiter\":\"/\",\"description\":\"suppresses the data tips from this plot.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0juujvli3nm16n1m4i3zstsmn7uk\"}],\"supportSiteTargetFragment\":\"n0tlg070rp5jkkn193er1c3er8vvk\"},{\"name\":\"TIPFORMAT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"applies formats to the list of data tip variables that you specify in the TIP= option.\",\"help\":\"TIPFORMAT=(*format-list*)\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1vgm3eynz19vzn1mlqm98fezlp5j\"},{\"name\":\"TIPLABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"applies labels to the list of data tip variables that you specify in the TIP= option.\",\"help\":\"TIPLABEL=(*label-list*)\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0tod59njrbtewn1hk76dznibemuj\"},{\"name\":\"TRANSPARENCY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the degree of transparency for the plot.\",\"help\":\"TRANSPARENCY=*value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0raf3b8lk9vdon1njq3vdcifp6ha\"},{\"name\":\"WEIGHT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a variable that contains values to be used as weights for the calculations.\",\"help\":\"WEIGHT=*numeric-variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1er8no6i58s4rn1i8wg42ndkxr1d\"},{\"name\":\"X2AXIS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"assigns the X variable to the secondary (top) horizontal axis.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1qdz8a9m6t6uen1kdob1nz79tsll\"},{\"name\":\"Y2AXIS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"assigns the Y variable to the secondary (right) vertical axis.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0zsjbjkamjq8zn1u2umymluiajci\"}],\"supportSiteTargetFile\":\"n0r8r5cdax81q7n1t63rpk5rpqxx.htm\"},{\"name\":\"POLYGON\",\"description\":\"Draws one or more polygons from data stored in a data set.\",\"help\":\"POLYGON X=*x-variable*Y=*y-variable*ID=*id-variable*&lt;/*options*&gt;;\",\"arguments\":[{\"name\":\"X=\",\"description\":\"specifies the variable for the X values.\",\"help\":\"X=*x-variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0uh4ufreotroln1wtec8afrc9eg\"},{\"name\":\"Y=\",\"description\":\"specifies the variable for the Y values.\",\"help\":\"Y=*y-variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0kxetcp7q1ulln1wc808itjg0de\"},{\"name\":\"ID=\",\"description\":\"specifies the variable for the ID values that identify the polygon(s).\",\"help\":\"ID=*id-variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0kc5sulvjrlhxn1utkono5b7jtn\"},{\"name\":\"ATTRID=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the value of the ID variable in a discrete attribute map data set.\",\"help\":\"ATTRID=*character-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0gnil4gecoz0fn1sjexzo9ka6a8r\"},{\"name\":\"BACKLIGHT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that label text should have a back light of a contrasting color.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1dcobe21bs84zn1pcwipitzhps2\"},{\"name\":\"BACKLIGHT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that label text should have a back light of a contrasting color.\",\"help\":\"BACKLIGHT=*number*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1dcobe21bs84zn1pcwipitzhps2\"},{\"name\":\"COLORMODEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a color ramp that is to be used to determine response colors.\",\"help\":\"COLORMODEL=*style-element* | (*color-list*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the name of a style element.\",\"help\":\"*style-element* \",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0j80gk5jvponwn1i3nubsiypmn7h\"},{\"name\":\"(color-list)\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a space-separated list of colors to use in the color ramp.\",\"type\":\"color\",\"supportSiteTargetFragment\":\"n1bmynehs17vrcn1eyylzs4tatieh\"}],\"supportSiteTargetFragment\":\"p0lv0hndswc5a5n1hjd7lql3yfk6h\"},{\"name\":\"COLORRESPONSE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the numeric column that is used to map colors to a continuous color ramp.\",\"help\":\"COLORRESPONSE=*numeric-column*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0oottiwct880xn17bxx29idalzbf\"},{\"name\":\"DATASKIN=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a special effect to be used on the plot.\",\"help\":\"DATASKIN=NONE | CRISP | GLOSS | MATTE | PRESSED | SHEEN\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NONE\",\"type\":\"standalone\"},{\"name\":\"CRISP\",\"type\":\"standalone\"},{\"name\":\"GLOSS\",\"type\":\"standalone\"},{\"name\":\"MATTE\",\"type\":\"standalone\"},{\"name\":\"PRESSED\",\"type\":\"standalone\"},{\"name\":\"SHEEN\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"n14kr95kkmeuh0n1hbaha6dpxa24k\"},{\"name\":\"FILL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies whether the polygon(s) are filled.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n07t43q2toogcun1f5n06wot6kws\"},{\"name\":\"NOFILL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies whether the polygon(s) are filled.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n07t43q2toogcun1f5n06wot6kws\"},{\"name\":\"FILLATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the fill color and transparency.\",\"help\":\"FILLATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p1hhjd5tfq1syin17xh6u5dbggnii\"},{\"name\":\"FILLPATTERN\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"enables the display of line fill patterns for the plot.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p07xphkuqlrhegn1gw3om8nho8t2j\"},{\"name\":\"FILLPATTERNATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the line-fill color and pattern.\",\"help\":\"FILLPATTERNATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the name of a style element.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1ax5rq5d5pv92n1fm7n5kp87zimj\"},{\"name\":\"COLOR=\",\"followsDelimiter\":\"/\",\"description\":\"specifies a color to use for the fill lines.\",\"help\":\"COLOR=*color*\",\"type\":\"color\",\"supportSiteTargetFragment\":\"n1n8357n5tfkkmn1jstn0zkf9rb0j\"},{\"name\":\"PATTERN=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the type of line pattern to use for the fill.\",\"help\":\"PATTERN=*line-pattern*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n14ba3ejj32rz9n16hkm0peyn9eoj\"}],\"supportSiteTargetFragment\":\"p192pnl5qjjtbrn0zuvxg7pvvrs9j\"},{\"name\":\"GROUP=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"creates a separate polygon color or outline pattern for each unique grouping that is specified.\",\"help\":\"GROUP=*variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0fvl25ej2moz8n1jzr7lrv20e1h\"},{\"name\":\"LABEL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a label for the polygon curve.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0pq8w6ag40jo1n1hmqnpdqopm2x\"},{\"name\":\"LABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a label for the polygon curve.\",\"help\":\"LABEL=*variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0pq8w6ag40jo1n1hmqnpdqopm2x\"},{\"name\":\"LABELATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the appearance of the labels in the plot.\",\"help\":\"LABELATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"n1wl7j8sscst7cn1akq9nvtazrsw\"},{\"name\":\"LABELLOC=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the location of the polygon label.\",\"help\":\"LABELLOC=INSIDEBBOX | OUTSIDEBBOX | OUTSIDE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"INSIDEBBOX\",\"followsDelimiter\":\"/\",\"description\":\"inside the polygon.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0a54yr8035tu8n1ksfoctzyg7ho\"},{\"name\":\"OUTSIDEBBOX\",\"followsDelimiter\":\"/\",\"description\":\"outside the polygon but inside the plot area.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n099mddh4yep9un1jhf8h6d3wv6b\"},{\"name\":\"OUTSIDE\",\"followsDelimiter\":\"/\",\"description\":\"outside the plot area.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n19fl78rof8s7dn1gtdc2qy86k2l\"}],\"supportSiteTargetFragment\":\"p1cm4u38mrb5k7n11t0wuk4pvnj6\"},{\"name\":\"LABELPOS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the position of the polygon‘s label.\",\"help\":\"LABELPOS=CENTER | XMIN | XMAX | YMIN | YMAX \",\"type\":\"choice\",\"arguments\":[{\"name\":\"CENTER\",\"followsDelimiter\":\"/\",\"description\":\"centers the label.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0znohl23shemfn16c5p7vdeetd1\"},{\"name\":\"XMIN\",\"followsDelimiter\":\"/\",\"description\":\"places the label at the part of the polygon closest to the minimum X-axis value, centered in the Y-axis range.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0kmhls9n8elcun1uzzqax4n7042\"},{\"name\":\"XMAX\",\"followsDelimiter\":\"/\",\"description\":\"places the label at the part of the polygon closest to the maximum X-axis value, centered in the Y-axis range.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0m2r7w01ubk7yn1fue6qpjapcss\"},{\"name\":\"YMIN\",\"followsDelimiter\":\"/\",\"description\":\"places the label at the part of the polygon closest to the minimum Y-axis value, centered in the X-axis range.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1nu7pvezeemu3n128rrb7gb6sy1\"},{\"name\":\"YMAX\",\"followsDelimiter\":\"/\",\"description\":\"places the label at the part of the polygon closest to the maximum Y-axis value, centered in the X-axis range.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n07x491p8a4vzin1gziyuu4g0pw8\"}],\"supportSiteTargetFragment\":\"n0r7jt5adeuhvfn1puc3ocif0oqt\"},{\"name\":\"LEGENDLABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the label that identifies the polygon in the legend.\",\"help\":\"LEGENDLABEL=\\\"*text-string*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0gjwg4stnxkbyn1r01aoksfj6er\"},{\"name\":\"LINEATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the appearance of the polygon outline.\",\"help\":\"LINEATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p1i48q7vbi0clun1es1pgwb72c9d\"},{\"name\":\"NAME=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"assigns a name to a plot statement.\",\"help\":\"NAME=\\\"*text-string*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1kiiynz0gzidxn16dsf62msnl4tv\"},{\"name\":\"NOMISSINGGROUP\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that missing values of the group variable are not included in the plot.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n02m1yvh407h8in1bfd07hnwn93vg\"},{\"name\":\"OUTLINE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies whether the polygon(s) have outlines.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1ajjnmxwmruefn1koy7z27ly8oj\"},{\"name\":\"NOOUTLINE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies whether the polygon(s) have outlines.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1ajjnmxwmruefn1koy7z27ly8oj\"},{\"name\":\"RATTRID=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the value of the ID variable in a range attribute map data set.\",\"help\":\"RATTRID=*character-value* \",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0ib6229clpp3kn1ramopvfnfj60h\"},{\"name\":\"ROTATE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the angle of rotation for the polygon measured in degrees.\",\"help\":\"ROTATE=*numeric-column* | *number*\",\"type\":\"choice\",\"arguments\":[{\"name\":\"numeric-column\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"number\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p1b1tdpm9u1habn12monsijw6rwy\"},{\"name\":\"ROTATELABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the rotation of the polygon label with respect to the rotation of the polygon.\",\"help\":\"ROTATELABEL=AUTO | NONE | VERTICAL \",\"type\":\"choice\",\"arguments\":[{\"name\":\"AUTO\",\"followsDelimiter\":\"/\",\"description\":\"rotates the label with the rotation of the polygon.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1rdkhdbs298ahn1h4utg4pgu0v3\"},{\"name\":\"NONE\",\"followsDelimiter\":\"/\",\"description\":\"does not rotate the label with the rotation of the polygon.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p06telakgsndw3n1i62hsifgmjcv\"},{\"name\":\"VERTICAL\",\"followsDelimiter\":\"/\",\"description\":\"rotates the label to a vertical position.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p08btx5hvbldjen15kb4a81dup9i\"}],\"supportSiteTargetFragment\":\"n0e57zrodtkxf5n1fo57nt1sxiud\"},{\"name\":\"SPLITCHAR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies one or more characters on which the text used for data labels is always split.\",\"help\":\"SPLITCHAR=\\\"*character-list*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0de9tsmcxzsn7n1cqh14maotscx\"},{\"name\":\"SPLITCHARNODROP\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that the split characters are included in the displayed value.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p17rdbkgdneovrn1ue8o2kpkg9ewj\"},{\"name\":\"SPLITJUSTIFY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the horizontal alignment of the value text that is being split.\",\"help\":\"SPLITJUSTIFY=LEFT | CENTER | RIGHT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"LEFT\",\"type\":\"standalone\"},{\"name\":\"CENTER\",\"type\":\"standalone\"},{\"name\":\"RIGHT\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"p1gpg1oyxutpycn14zlh3q5a4u2cj\"},{\"name\":\"TIP=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the data tip information to be displayed when the cursor is positioned over the graphics element.\",\"help\":\"TIP=(*variable-list*) | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"(variable-list)\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"a space-separated list of variables enclosed in parentheses.\",\"help\":\"(*variable-list*) \",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1xt1um6hrz1xyn1sjttwqpgpo2gl\"},{\"name\":\"NONE\",\"followsDelimiter\":\"/\",\"description\":\"suppresses the data tips from this plot.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0juujvli3nm16n1m4i3zstsmn7ul\"}],\"supportSiteTargetFragment\":\"n0tlg070rp5jkkn193er1c3er8vvl\"},{\"name\":\"TIPFORMAT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"applies formats to the list of data tip variables that you specify in the TIP= option.\",\"help\":\"TIPFORMAT=(*format-list*)\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1vgm3eynz19vzn1mlqm98fezlp5k\"},{\"name\":\"TIPLABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"applies labels to the list of data tip variables that you specify in the TIP= option.\",\"help\":\"TIPLABEL=(*label-list*)\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0tod59njrbtewn1hk76dznibemuk\"},{\"name\":\"TRANSPARENCY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the degree of transparency for the plot.\",\"help\":\"TRANSPARENCY=*value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0hjrs3w86z8ean1npu022im7j2sr\"},{\"name\":\"URL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies an HTML page to be displayed when parts of the plot are selected.\",\"help\":\"URL=*character-variable*\",\"type\":\"value\",\"arguments\":[{\"name\":\"character-variable\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a variable that contains a valid HTML page reference (HREF) for each plot element that is to have an active link.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0x9yrlql13u7gn11kr1daq2vd9si\"}],\"supportSiteTargetFragment\":\"n0p5y7rpcnleycn17w2nttd9ipbli\"},{\"name\":\"X2AXIS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"assigns the response variable to the secondary (top) horizontal axis.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0a24840p0io3vn1tdiq3ljazshhd\"},{\"name\":\"XOFFSET=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies an amount to offset all polygon segment starting and ending points from discrete X values.\",\"help\":\"XOFFSET=*numeric-value* | *numeric-variable*\",\"type\":\"choice\",\"arguments\":[{\"name\":\"numeric-value\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"numeric-variable\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"n0b8qdpq36qvznn1med84ls6idew\"},{\"name\":\"Y2AXIS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"assigns the category variable to the secondary (right) vertical axis.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p072sgd9qzhzb2n1kns39wuohdgwd\"},{\"name\":\"YOFFSET=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies an amount to offset all polygon segment starting and ending points from discrete Y values.\",\"help\":\"YOFFSET=*numeric-value* | *numeric-variable*\",\"type\":\"choice\",\"arguments\":[{\"name\":\"numeric-value\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"numeric-variable\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p1lb616un5nxcun1fs0h0znxnkvo\"}],\"supportSiteTargetFile\":\"n1ikfvfs49mhjrn1gmc94y9ilr2l.htm\"},{\"name\":\"REFLINE\",\"description\":\"Creates a horizontal or vertical reference line.\",\"help\":\"REFLINE *variable* |  *value-1*&lt; ...*value-n*&gt;&lt;/*options*&gt;;\",\"arguments\":[{\"name\":\"variable\",\"placeholder\":true,\"description\":\"draws a reference line for each value of the specified variable.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0j6qjeop0d0yon13xeybo98tou0\"},{\"name\":\"value-1\",\"placeholder\":true,\"description\":\"draws one or more reference lines at the values that you specify.\",\"help\":\"*value-1*  &lt; ... *value-n*&gt;\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p19hpijuy53tynn1o0hy6jourfde\"},{\"name\":\"AXIS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the axis that contains the reference line values.\",\"help\":\"AXIS=X | X2 | Y | Y2\",\"type\":\"choice\",\"arguments\":[{\"name\":\"X\",\"type\":\"standalone\"},{\"name\":\"X2\",\"type\":\"standalone\"},{\"name\":\"Y\",\"type\":\"standalone\"},{\"name\":\"Y2\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"n1qlmcvf3nhr62n1rkj9spp34ixn\"},{\"name\":\"DATASKIN=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a special effect to be used on the plot.\",\"help\":\"DATASKIN=NONE | CRISP | GLOSS | MATTE | PRESSED | SHEEN\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NONE\",\"type\":\"standalone\"},{\"name\":\"CRISP\",\"type\":\"standalone\"},{\"name\":\"GLOSS\",\"type\":\"standalone\"},{\"name\":\"MATTE\",\"type\":\"standalone\"},{\"name\":\"PRESSED\",\"type\":\"standalone\"},{\"name\":\"SHEEN\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"n14kr95kkmeuh0n1hbaha6dpxa24l\"},{\"name\":\"DISCRETEOFFSET=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies an amount to offset all lines from discrete X or Y values.\",\"help\":\"DISCRETEOFFSET=*numeric-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1r34dezmavslpn1k9ih8qivgof0\"},{\"name\":\"DISCRETETHICKNESS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that the line thickness should be interpreted as a percentage of the mid-point spacing.\",\"help\":\"DISCRETETHICKNESS=*numeric-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0b91w1l50s0q6n1wp2royih58gr\"},{\"name\":\"LABEL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"creates labels for each reference line from the reference line values.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n09kmeq6dvjpdwn1krl021aum9kc\"},{\"name\":\"LABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"creates labels for each reference line from values stored in a variable or from one or more specified label values.\",\"help\":\"LABEL=*variable-name* | \\\"*text-string*\\\" | (\\\"*text-string-1*\\\"  ... \\\"*text-string-n*\\\")\",\"type\":\"choice\",\"arguments\":[{\"name\":\"variable-name\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the name of a variable that contains the reference line labels.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0ubkogwubluf4n1grvcbx6otgwa\"},{\"name\":\"\\\"text-string\\\"\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a text string for the label value.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p08izt7z29pvdsn1ad036x4bo0og\"},{\"name\":\"\\\"text-string-1\\\"\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a text string for each label value when multiple reference values are specified.\",\"help\":\"\\\"*text-string-1*\\\"  ... \\\"*text-string-n*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1gkjpjr31dpgzn1dmro85jddkkx\"}],\"supportSiteTargetFragment\":\"n12dhe85o9wuwpn1hhoy4aschk6d\"},{\"name\":\"LABELATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the appearance of the labels.\",\"help\":\"LABELATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p17xsz3ef072man1e8kjqtttipqq\"},{\"name\":\"LABELLOC=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies whether the labels are placed inside or outside of the plot area.\",\"help\":\"LABELLOC=INSIDE | OUTSIDE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"INSIDE\",\"type\":\"standalone\"},{\"name\":\"OUTSIDE\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"p073pfgi52knmjn1n8p5z7niq9ga\"},{\"name\":\"LABELPOS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the position of the labels.\",\"help\":\"LABELPOS=AUTO | MIN | MAX\",\"type\":\"choice\",\"arguments\":[{\"name\":\"AUTO\",\"type\":\"standalone\"},{\"name\":\"MIN\",\"type\":\"standalone\"},{\"name\":\"MAX\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"p1kiufqac42qc5n1f90hp1cx0yzm\"},{\"name\":\"LEGENDLABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a label that identifies the plot in the legend.\",\"help\":\"LEGENDLABEL=\\\"*text-string*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n13bmsg8x1ycesn1mb052c6reov0a\"},{\"name\":\"LINEATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the appearance of the reference line.\",\"help\":\"LINEATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p083tidyx7d5z5n1l06q9ruobs9n\"},{\"name\":\"NAME=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"assigns a name to a plot statement.\",\"help\":\"NAME=\\\"*text-string*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1kiiynz0gzidxn16dsf62msnl4tw\"},{\"name\":\"NOCLIP\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"extends the plot axes to contain the reference lines.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0h7tzgtpnthljn1jmkqc2fusded\"},{\"name\":\"SPLITCHAR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies one or more characters on which the text for labels is always split.\",\"help\":\"SPLITCHAR=\\\"*character-list*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1mf50xocd3r9nn1tvz6d4xlv5aq\"},{\"name\":\"SPLITCHARNODROP\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that the split characters are included in the displayed value.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p17rdbkgdneovrn1ue8o2kpkg9ewk\"},{\"name\":\"SPLITJUSTIFY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the horizontal alignment of the value text that is being split.\",\"help\":\"SPLITJUSTIFY=LEFT | CENTER | RIGHT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"LEFT\",\"type\":\"standalone\"},{\"name\":\"CENTER\",\"type\":\"standalone\"},{\"name\":\"RIGHT\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"p1gpg1oyxutpycn14zlh3q5a4u2ck\"},{\"name\":\"TRANSPARENCY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the degree of transparency for the reference line.\",\"help\":\"TRANSPARENCY=*value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n01ijzhcsb17eln1wwr6fvtbrwzxa\"}],\"supportSiteTargetFile\":\"n0ezn6n9coszztn100iyzhfvwnhp.htm\"},{\"name\":\"REG\",\"description\":\"Creates a fitted regression line or curve.\",\"help\":\"REG  X=*numeric-variable* Y=*numeric-variable*&lt;/*options*&gt;;\",\"arguments\":[{\"name\":\"X=\",\"description\":\"specifies the variable for the X axis.\",\"help\":\"X=*numeric-variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1exgqhqlv2olcn1p82ypy80dj0s\"},{\"name\":\"Y=\",\"description\":\"specifies the variable for the Y axis.\",\"help\":\"Y=*numeric-variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1an5h0r6s0rqfn1gqklnonda0ab\"},{\"name\":\"ALPHA=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the confidence level for the confidence limits.\",\"help\":\"ALPHA=*numeric-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n05bw78asek4h9n1e6h11w6unffxa\"},{\"name\":\"ATTRID=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the value of the ID variable in a discrete attribute map data set.\",\"help\":\"ATTRID=*character-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0gnil4gecoz0fn1sjexzo9ka6a8s\"},{\"name\":\"CLI\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"creates confidence limits for the individual predicted values.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0mhpdpktk28rmn1381o5fzl49opa\"},{\"name\":\"CLI=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"creates confidence limits for the individual predicted values.\",\"help\":\"CLI=\\\"*text-string*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0mhpdpktk28rmn1381o5fzl49opa\"},{\"name\":\"CLIATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the appearance of the individual value prediction limits by using an ODS style element or by specifying line and fill attributes.\",\"help\":\"CLIATTRS=*style-element* | (*CLI-attrs-suboptions*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"CLIFILLATTRS=\",\"followsDelimiter\":\"/\",\"description\":\"Specify the fill attributes of the prediction limits.\",\"help\":\"CLIFILLATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"n0bezazh7e0tqkn14g7msubv57jva\"},{\"name\":\"CLILINEATTRS=\",\"followsDelimiter\":\"/\",\"description\":\"Specify the line attributes of the prediction limits.\",\"help\":\"CLILINEATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p0zv9amxjuyo91n1hms6eo3qo0pba\"},{\"name\":\"FILL\",\"followsDelimiter\":\"/\",\"description\":\"specifies whether the prediction band is filled.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1xsvawobkxylen15xb6qq47dckva\"},{\"name\":\"NOFILL\",\"followsDelimiter\":\"/\",\"description\":\"specifies whether the prediction band is filled.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1xsvawobkxylen15xb6qq47dckva\"},{\"name\":\"OUTLINE\",\"followsDelimiter\":\"/\",\"description\":\"specifies whether the prediction band has outlines.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1cvn9o9wja8i6n1sege7dfb9f0qa\"},{\"name\":\"NOOUTLINE\",\"followsDelimiter\":\"/\",\"description\":\"specifies whether the prediction band has outlines.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1cvn9o9wja8i6n1sege7dfb9f0qa\"}],\"supportSiteTargetFragment\":\"n1ru9wpgcj85ktn18dr8va4lyu7xa\"},{\"name\":\"CLM\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"creates confidence limits.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1u1ze53iipxg6n1b8yjdkxpckxcb\"},{\"name\":\"CLM=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"creates confidence limits.\",\"help\":\"CLM=\\\"*text-string*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1u1ze53iipxg6n1b8yjdkxpckxcb\"},{\"name\":\"CLMATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the appearance of the mean value confidence limits by using an ODS style element or by specifying fill and line attributes.\",\"help\":\"CLMATTRS=*style-element* | (*CLM-attrs-suboptions* )  \",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the name of a style element.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1jhfqr9ym5cd5n1qkz0st9hzhx3b\"},{\"name\":\"CLMFILLATTRS=\",\"followsDelimiter\":\"/\",\"description\":\"Specifies the fill attributes of the prediction limits.\",\"help\":\"CLMFILLATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p0rxjd7cfs7tgcn1taqh91r2ejrwb\"},{\"name\":\"CLMLINEATTRS=\",\"followsDelimiter\":\"/\",\"description\":\"Specify the line attributes of the confidence limits.\",\"help\":\"CLMLINEATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"n0z7z3p1ts0cmkn1kd1e8pyxwracb\"},{\"name\":\"FILL\",\"followsDelimiter\":\"/\",\"description\":\"shows the fill color.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0i8gib9cflfz5n1wiojirpjxornb\"},{\"name\":\"NOFILL\",\"followsDelimiter\":\"/\",\"description\":\"hides the fill color.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0oq2e5lvcc90rn16i0hnca56h0lb\"},{\"name\":\"NOOUTLINE\",\"followsDelimiter\":\"/\",\"description\":\"hides the outlines.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1g747ymvq1nivn1bqtlfeza5z4ub\"},{\"name\":\"OUTLINE\",\"followsDelimiter\":\"/\",\"description\":\"shows the outlines.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0r28tt8sedsiyn1vcm5orrwi2stb\"}],\"supportSiteTargetFragment\":\"n08nmiuxm1pw84n1jffku4ne8qpwb\"},{\"name\":\"CLMTRANSPARENCY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the degree of transparency for the confidence limits.\",\"help\":\"CLMTRANSPARENCY=*numeric-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0c68bb8hygjfbn1t52riuzbnuphb\"},{\"name\":\"CURVELABEL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"adds a label to the curve or curves.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0xwe8i056k19tn15tetdau7yybwb\"},{\"name\":\"CURVELABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a label for the curve when only one curve is drawn.\",\"help\":\"CURVELABEL=\\\"*text-string*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0zftxt9qq2pdgn1symuat15dur2b\"},{\"name\":\"CURVELABELATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the appearance of the labels in the plot when you use the CURVELABEL= option.\",\"help\":\"CURVELABELATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p0dk1x2qtnfn66n11yrt9l54l5npe\"},{\"name\":\"CURVELABELLOC=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies whether the curve label is placed inside the plot axes (INSIDE) or outside of the plot axes (OUTSIDE).\",\"help\":\"CURVELABELLOC=OUTSIDE | INSIDE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"OUTSIDE\",\"type\":\"standalone\"},{\"name\":\"INSIDE\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"n0m661zy7deafpn1r4qqw0qnq5wbe\"},{\"name\":\"CURVELABELPOS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the location of the curve label.\",\"help\":\"CURVELABELPOS=AUTO | END | MAX | MIN | START\",\"type\":\"choice\",\"arguments\":[{\"name\":\"AUTO\",\"followsDelimiter\":\"/\",\"description\":\"places the curve label outside the plot area near the end of the curve along unused axes whenever possible (typically Y2 or X2).\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1mzx51oqqddhgn1fx79prjt0qazd\"},{\"name\":\"END\",\"followsDelimiter\":\"/\",\"description\":\"places the curve label at the last point on the curve.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n04k78fvzrkjjsn1t3to05u6jlojd\"},{\"name\":\"MAX\",\"followsDelimiter\":\"/\",\"description\":\"places the label at the part of the curve closest to the maximum X-axis value.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1j326cktvxmnqn15qyb6y1ga3b8d\"},{\"name\":\"MIN\",\"followsDelimiter\":\"/\",\"description\":\"places the label at the part of the curve closest to the minimum X-axis value.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n018cpn1doiwsfn16kekpzbg1qg7d\"},{\"name\":\"START\",\"followsDelimiter\":\"/\",\"description\":\"places the curve label at the first point on the curve.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0yvts7uqmeulun1j9p7zrppvm68d\"}],\"supportSiteTargetFragment\":\"n1lxgmorrzt45cn1shctlyw8ljv3d\"},{\"name\":\"DATALABEL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"displays a label for each data point.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p05dq3qb5jmdhnn18u09u0ol11iwb\"},{\"name\":\"DATALABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"displays a label for each data point.\",\"help\":\"DATALABEL=*variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p05dq3qb5jmdhnn18u09u0ol11iwb\"},{\"name\":\"DATALABELATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the appearance of the labels in the plot when you use the DATALABEL= option.\",\"help\":\"DATALABELATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p1knsfepcp6q3tn1rcxjyvwtszoxk\"},{\"name\":\"DATALABELPOS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the location of each data label with respect to its data point.\",\"help\":\"DATALABELPOS=*position*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0rsuu58qgi0ysn1sh5krk9uvgq5d\"},{\"name\":\"DEGREE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the degree of the polynomial fit.\",\"help\":\"DEGREE=*n*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1uhnp7gabuf68n15lzn95tubkib\"},{\"name\":\"FILLEDOUTLINEDMARKERS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that markers have a fill and an outline.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0qe6wr3f0bgdan1oum0lmulf1inc\"},{\"name\":\"FREQ=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a variable for the frequency count for each observation in the input data.\",\"help\":\"FREQ=*numeric-variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1iqtbrzkqx6y6n1ee6zxmqu1bwme\"},{\"name\":\"GROUP=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a variable that is used to group the data.\",\"help\":\"GROUP=*variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n06co1yiwya3onn1gvuqc7xrwnph\"},{\"name\":\"JITTER\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that data markers are offset when multiple observations have the same response value.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0egzfzinghqagn1ogef2nduh2ph\"},{\"name\":\"LEGENDLABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a label that identifies the regression curve in the legend.\",\"help\":\"LEGENDLABEL=\\\"*text-string*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1tvvac1erdnffn11d16rfjcqil0\"},{\"name\":\"LINEATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the appearance of the fit line.\",\"help\":\"LINEATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p1pmx7g87nb0gqn11i9knq7vdk7z\"},{\"name\":\"MARKERATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the appearance of the markers in the plot.\",\"help\":\"MARKERATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"n16clkc9dzm6kcn1sc0lvtadlg8l\"},{\"name\":\"MARKERFILLATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the color of the marker fill.\",\"help\":\"MARKERFILLATTRS=*style-element* |  (COLOR=*color*) \",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(COLOR=)\",\"type\":\"color\"}],\"supportSiteTargetFragment\":\"n0cg7g8a06r4mwn1rcawd5eth51zd\"},{\"name\":\"MARKEROUTLINEATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the appearance of the marker outlines.\",\"help\":\"MARKEROUTLINEATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p0j0ix3qbk1rsqn10lfmccucq9qhd\"},{\"name\":\"MAXPOINTS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the maximum number of predicted points for the regression curve and for any confidence limits.\",\"help\":\"MAXPOINTS=*n*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n14ts8tjsbwvghn1n63o14o2rf22\"},{\"name\":\"NAME=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"assigns a name to a plot statement.\",\"help\":\"NAME=\\\"*text-string*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1kiiynz0gzidxn16dsf62msnl4tx\"},{\"name\":\"NOLEGCLI\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"hides the legend entry for the individual value confidence limits.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1ra5t1z6vrcybn1nrrjiu8p480w\"},{\"name\":\"NOLEGCLM\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"hides the legend entry for the mean value confidence limits.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1vfm4c313503qn1kds4314hzevj\"},{\"name\":\"NOLEGFIT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"hides the legend entry for the fit line.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p08szzp2owoh38n1lv7w9dmjvdz9\"},{\"name\":\"NOMARKERS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"removes the scatter markers from the plot.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p03lx86s6k28yqn1s3qhmw32mji8\"},{\"name\":\"SPLITCHAR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies one or more characters on which the text for curve labels is always split.\",\"help\":\"SPLITCHAR=\\\"*character-list*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0lp66hk29i0sin1kdjnfamkw1erc\"},{\"name\":\"SPLITCHARNODROP\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that the split characters are included in the displayed value.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p17rdbkgdneovrn1ue8o2kpkg9ewl\"},{\"name\":\"SPLITJUSTIFY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the horizontal alignment of the value text that is being split.\",\"help\":\"SPLITJUSTIFY=LEFT | CENTER | RIGHT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"LEFT\",\"type\":\"standalone\"},{\"name\":\"CENTER\",\"type\":\"standalone\"},{\"name\":\"RIGHT\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"p1gpg1oyxutpycn14zlh3q5a4u2cl\"},{\"name\":\"TIP=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the data tip information to be displayed when the cursor is positioned over the graphics element.\",\"help\":\"TIP=(*variable-list*) | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"(variable-list)\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"a space-separated list of variables enclosed in parentheses.\",\"help\":\"(*variable-list*) \",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1xt1um6hrz1xyn1sjttwqpgpo2gm\"},{\"name\":\"NONE\",\"followsDelimiter\":\"/\",\"description\":\"suppresses the data tips from this plot.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0juujvli3nm16n1m4i3zstsmn7um\"}],\"supportSiteTargetFragment\":\"n0tlg070rp5jkkn193er1c3er8vvm\"},{\"name\":\"TIPFORMAT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"applies formats to the list of data tip variables that you specify in the TIP= option.\",\"help\":\"TIPFORMAT=(*format-list*)\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1vgm3eynz19vzn1mlqm98fezlp5l\"},{\"name\":\"TIPLABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"applies labels to the list of data tip variables that you specify in the TIP= option.\",\"help\":\"TIPLABEL=(*label-list*)\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0tod59njrbtewn1hk76dznibemul\"},{\"name\":\"TRANSPARENCY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the degree of transparency for the plot.\",\"help\":\"TRANSPARENCY=*value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0raf3b8lk9vdon1njq3vdcifp6hb\"},{\"name\":\"WEIGHT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a variable that contains values to be used as weights for the calculations.\",\"help\":\"WEIGHT=*numeric-variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1er8no6i58s4rn1i8wg42ndkxr1e\"},{\"name\":\"X2AXIS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"assigns the X variable to the secondary (top) horizontal axis.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1qdz8a9m6t6uen1kdob1nz79tslm\"},{\"name\":\"Y2AXIS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"assigns the Y variable to the secondary (right) vertical axis.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0zsjbjkamjq8zn1u2umymluiajcj\"}],\"supportSiteTargetFile\":\"p0mn6vl6clqbgyn1ivs69lezdxhf.htm\"},{\"name\":\"SCATTER\",\"description\":\"Creates a scatter plot.\",\"help\":\"SCATTER X=*variable* Y=*variable*&lt;/*options*&gt;;\",\"arguments\":[{\"name\":\"X=\",\"description\":\"specifies the variable for the X axis.\",\"help\":\"X=*variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0zhj58i2kehnpn1iqbvkybyjx53\"},{\"name\":\"Y=\",\"description\":\"specifies the variable for the Y axis.\",\"help\":\"Y=*variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p13ut2aahl02vcn1bmfjbxoyahdw\"},{\"name\":\"ATTRID=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the value of the ID variable in a discrete attribute map data set.\",\"help\":\"ATTRID=*character-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0gnil4gecoz0fn1sjexzo9ka6a8t\"},{\"name\":\"CLUSTERWIDTH=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the width of the group clusters as a fraction of the midpoint spacing.\",\"help\":\"CLUSTERWIDTH=*numeric-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0dlvao1wxqnapn1eyiyqmlu8l1vc\"},{\"name\":\"COLORMODEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a color ramp that is to be used to determine response colors.\",\"help\":\"COLORMODEL=*style-element* | (*color-list*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the name of a style element.\",\"help\":\"*style-element* \",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0j80gk5jvponwn1i3nubsiypmn7i\"},{\"name\":\"(color-list)\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a space-separated list of colors to use in the color ramp.\",\"type\":\"color\",\"supportSiteTargetFragment\":\"n1bmynehs17vrcn1eyylzs4tatiei\"}],\"supportSiteTargetFragment\":\"p0lv0hndswc5a5n1hjd7lql3yfk6i\"},{\"name\":\"COLORRESPONSE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the numeric column that is used to map colors to a continuous color ramp.\",\"help\":\"COLORRESPONSE=*numeric-column*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0oottiwct880xn17bxx29idalzbg\"},{\"name\":\"DATALABEL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"displays a label for each data point.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0nw171sq0e411n1wgxqgp619995b\"},{\"name\":\"DATALABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"displays a label for each data point.\",\"help\":\"DATALABEL=*variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0nw171sq0e411n1wgxqgp619995b\"},{\"name\":\"DATALABELATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the appearance of the labels in the plot when you use the DATALABEL= option.\",\"help\":\"DATALABELATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p1knsfepcp6q3tn1rcxjyvwtszoxl\"},{\"name\":\"DATALABELPOS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the location of each data label with respect to its data point.\",\"help\":\"DATALABELPOS=*position*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0rsuu58qgi0ysn1sh5krk9uvgq5e\"},{\"name\":\"DATASKIN=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a special effect to be used on the plot.\",\"help\":\"DATASKIN=NONE | CRISP | GLOSS | MATTE | PRESSED | SHEEN\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NONE\",\"type\":\"standalone\"},{\"name\":\"CRISP\",\"type\":\"standalone\"},{\"name\":\"GLOSS\",\"type\":\"standalone\"},{\"name\":\"MATTE\",\"type\":\"standalone\"},{\"name\":\"PRESSED\",\"type\":\"standalone\"},{\"name\":\"SHEEN\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"n14kr95kkmeuh0n1hbaha6dpxa24m\"},{\"name\":\"DISCRETEOFFSET=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies an amount to offset all markers from discrete X or Y values.\",\"help\":\"DISCRETEOFFSET=*numeric-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0biw9f2tsdjcvn13obxynmemvk8\"},{\"name\":\"ERRORBARATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the appearance of the error bars in the plot.\",\"help\":\"ERRORBARATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the name of a style element.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0tuq9ly3xo7tdn1xbdhbbjfyyff\"},{\"name\":\"COLOR=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the color of the line.\",\"help\":\"COLOR=*color*\",\"type\":\"color\",\"supportSiteTargetFragment\":\"n0x2nuw5l0qnacn1lfinegjtzdbe\"},{\"name\":\"PATTERN=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the line pattern for the line.\",\"help\":\"PATTERN=*line-pattern*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1xf97fpagw715n120rll6ioxwkj\"},{\"name\":\"THICKNESS=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the thickness of the line.\",\"help\":\"THICKNESS=*n* &lt;*units*&gt;\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p07i0isj5gqey1n1x8r2ugmpd6hs\"}],\"supportSiteTargetFragment\":\"p12yt0rkqtemgzn1jj3lw589ie2x\"},{\"name\":\"ERRORCAPSCALE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a positive number to use as a multiplier for changing the default width of the error-bar caps.\",\"help\":\"ERRORCAPSCALE=*numeric-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0g5lrohdfojiin1vxm9qjg6lm3a\"},{\"name\":\"FILLEDOUTLINEDMARKERS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that markers have a fill and an outline.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0qe6wr3f0bgdan1oum0lmulf1ind\"},{\"name\":\"FREQ=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a variable for the frequency count for each observation in the input data.\",\"help\":\"FREQ=*numeric-variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1iqtbrzkqx6y6n1ee6zxmqu1bwmf\"},{\"name\":\"GROUP=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a variable that is used to group the data.\",\"help\":\"GROUP=*variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0ihz5mnsij0ern0zx0ildin6aehe\"},{\"name\":\"GROUPDISPLAY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies how to display grouped markers.\",\"help\":\"GROUPDISPLAY=CLUSTER | OVERLAY\",\"type\":\"choice\",\"arguments\":[{\"name\":\"CLUSTER\",\"followsDelimiter\":\"/\",\"description\":\"grouped items are drawn adjacent to each other.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1f9g1imvgdc3xn1o4qmhc3dsaxtl\"},{\"name\":\"OVERLAY\",\"followsDelimiter\":\"/\",\"description\":\"grouped items are drawn at the exact coordinate and might overlap.\",\"help\":\"OVERLAY \",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0gedf37npwg28n19wqi2annun4nl\"}],\"supportSiteTargetFragment\":\"n1jejjwucy82q5n18bikb4gcolnm\"},{\"name\":\"GROUPORDER=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the ordering of the groups within a category.\",\"help\":\"GROUPORDER=DATA | REVERSEDATA | ASCENDING | DESCENDING\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DATA\",\"followsDelimiter\":\"/\",\"description\":\"orders the groups within a category in data order of the group variable.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n17ush6ke65xben1qm2p0dn9pjjah\"},{\"name\":\"REVERSEDATA\",\"followsDelimiter\":\"/\",\"description\":\"orders the groups within a category in the reverse data order of the group variable.\",\"help\":\"REVERSEDATA \",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0ybf6fv2jznutn1fir9sn5as9yqh\"},{\"name\":\"ASCENDING\",\"followsDelimiter\":\"/\",\"description\":\"orders the groups within a category in ascending order of the group variable.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0illc3sf337wnn1kvp0yuul2s1th\"},{\"name\":\"DESCENDING\",\"followsDelimiter\":\"/\",\"description\":\"orders the groups within a category in descending order of the group variable.\",\"help\":\"DESCENDING \",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p15mm3o64qe2qgn16nv32zmcnleeh\"}],\"supportSiteTargetFragment\":\"n0iz9rcg3x496dn1sfn1g6ernd9oh\"},{\"name\":\"JITTER\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that markers that represent the same response value are offset slightly in order to make all of the markers visible.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1f5jayy00jt3cn1e7z8mjo5rl0m\"},{\"name\":\"JITTER=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that data markers should first be jittered and then squeezed together uniformly across all category values.\",\"help\":\"JITTER=UNIFORM\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0egjwhnrcdphln0z5wh1cma19fq\"},{\"name\":\"JITTERWIDTH=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the width of the jitter space as a fraction of either the midpoint spacing or of the minimal interval width.\",\"help\":\"JITTERWIDTH=*positive-number*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p07ie3pm7jsexvn1t3uv181irozh\"},{\"name\":\"LABELSTRIP\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"strips leading and trailing blanks from marker characters or data labels with fixed positions before they are displayed in the plot.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1toamhutv24vsn19kpmh6r0dpd1\"},{\"name\":\"LEGENDLABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a label that identifies the markers from the plot in the legend.\",\"help\":\"LEGENDLABEL=\\\"*text-string*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1esb382vrrs1vn1svohwaxhbavp\"},{\"name\":\"MARKERATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the appearance of the markers in the plot.\",\"help\":\"MARKERATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p0a88x1vpiowyan12nxiv5v9f9a2\"},{\"name\":\"MARKERCHAR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a variable whose values replace the marker symbols in the plot.\",\"help\":\"MARKERCHAR=*variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1eev57vd18jc4n199eb6ta3zw60\"},{\"name\":\"MARKERCHARATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the appearance of the markers in the plot when you use the MARKERCHAR= option.\",\"help\":\"MARKERCHARATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p09vwf6vx3dssxn1rhlad4b88wls\"},{\"name\":\"MARKERFILLATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the color of the marker fill.\",\"help\":\"MARKERFILLATTRS=*style-element* |  (COLOR=*color*) \",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(COLOR=)\",\"type\":\"color\"}],\"supportSiteTargetFragment\":\"n0cg7g8a06r4mwn1rcawd5eth51ze\"},{\"name\":\"MARKEROUTLINEATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the appearance of the marker outlines.\",\"help\":\"MARKEROUTLINEATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p0j0ix3qbk1rsqn10lfmccucq9qhe\"},{\"name\":\"NAME=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"assigns a name to a plot statement.\",\"help\":\"NAME=\\\"*text-string*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1kiiynz0gzidxn16dsf62msnl4ty\"},{\"name\":\"NOERRORCAPS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses the serif cap on error bars, if error bars are displayed.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0x3jvamvpa667n1fmu4vby4dp1f\"},{\"name\":\"NOMISSINGGROUP\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that missing values of the group variable are not included in the plot.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n02m1yvh407h8in1bfd07hnwn93vh\"},{\"name\":\"RATTRID=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the value of the ID variable in a range attribute map data set.\",\"help\":\"RATTRID=*character-value* \",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0ib6229clpp3kn1ramopvfnfj60i\"},{\"name\":\"SPLITCHAR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies one or more characters on which the text for data labels is always split.\",\"help\":\"SPLITCHAR=\\\"*character-list*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1uloff5glv6hcn1ginrortjqxq1d\"},{\"name\":\"SPLITCHARNODROP\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that the split characters are included in the displayed value.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p17rdbkgdneovrn1ue8o2kpkg9ewm\"},{\"name\":\"SPLITJUSTIFY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the horizontal alignment of the value text that is being split.\",\"help\":\"SPLITJUSTIFY=LEFT | CENTER | RIGHT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"LEFT\",\"type\":\"standalone\"},{\"name\":\"CENTER\",\"type\":\"standalone\"},{\"name\":\"RIGHT\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"p1gpg1oyxutpycn14zlh3q5a4u2cm\"},{\"name\":\"TIP=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the data tip information to be displayed when the cursor is positioned over the graphics element.\",\"help\":\"TIP=(*variable-list*) | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"(variable-list)\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"a space-separated list of variables enclosed in parentheses.\",\"help\":\"(*variable-list*) \",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1xt1um6hrz1xyn1sjttwqpgpo2gn\"},{\"name\":\"NONE\",\"followsDelimiter\":\"/\",\"description\":\"suppresses the data tips from this plot.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0juujvli3nm16n1m4i3zstsmn7un\"}],\"supportSiteTargetFragment\":\"n0tlg070rp5jkkn193er1c3er8vvn\"},{\"name\":\"TIPFORMAT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"applies formats to the list of data tip variables that you specify in the TIP= option.\",\"help\":\"TIPFORMAT=(*format-list*)\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1vgm3eynz19vzn1mlqm98fezlp5m\"},{\"name\":\"TIPLABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"applies labels to the list of data tip variables that you specify in the TIP= option.\",\"help\":\"TIPLABEL=(*label-list*)\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0tod59njrbtewn1hk76dznibemum\"},{\"name\":\"TRANSPARENCY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the degree of transparency for the plot.\",\"help\":\"TRANSPARENCY=*value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0hjrs3w86z8ean1npu022im7j2ss\"},{\"name\":\"URL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies an HTML page to be displayed when parts of the plot are selected.\",\"help\":\"URL=*character-variable*\",\"type\":\"value\",\"arguments\":[{\"name\":\"character-variable\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a variable that contains a valid HTML page reference (HREF) for each plot element that is to have an active link.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0x9yrlql13u7gn11kr1daq2vd9sj\"}],\"supportSiteTargetFragment\":\"n0p5y7rpcnleycn17w2nttd9ipblj\"},{\"name\":\"X2AXIS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"assigns the X variable to the secondary (top) horizontal axis.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1qdz8a9m6t6uen1kdob1nz79tsln\"},{\"name\":\"XERRORLOWER=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a variable that contains the lower endpoints for the X error bars.\",\"help\":\"XERRORLOWER=*numeric-variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0vljm547a712en1dhz5p5kiol8l\"},{\"name\":\"XERRORUPPER=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a variable that contains the upper endpoints for the X error bars.\",\"help\":\"XERRORUPPER=*numeric-variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0ibczy235bbc3n1j4hgyq65pmsu\"},{\"name\":\"Y2AXIS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"assigns the Y variable to the secondary (right) vertical axis.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0zsjbjkamjq8zn1u2umymluiajck\"},{\"name\":\"YERRORLOWER=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a variable that contains the lower endpoints for the Y error bars.\",\"help\":\"YERRORLOWER=*numeric-variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1xi7d9xeyrjx7n1fqecntb7gfvu\"},{\"name\":\"YERRORUPPER=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a variable that contains the upper endpoints for the Y error bars.\",\"help\":\"YERRORUPPER=*numeric-variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1mpv48le9fygun18vmupa084p75\"}],\"supportSiteTargetFile\":\"p1lcbd3lhs3t3bn1jk6d8sjt2yqx.htm\"},{\"name\":\"SERIES\",\"description\":\"Creates a line plot.\",\"help\":\"SERIES X=*variable* Y=*variable*&lt;/*options*&gt;;\",\"arguments\":[{\"name\":\"X=\",\"description\":\"specifies the variable for the X axis.\",\"help\":\"X=*variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1x0qx5byl83osn1clnfwh9k3570\"},{\"name\":\"Y=\",\"description\":\"specifies the variable for the Y axis.\",\"help\":\"Y=*variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0zy23jp24aoc7n1nn5w2c7dg0bz\"},{\"name\":\"ARROWHEADPOS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a position for arrowheads.\",\"help\":\"ARROWHEADPOS=START | END | BOTH\",\"type\":\"choice\",\"arguments\":[{\"name\":\"START\",\"type\":\"standalone\"},{\"name\":\"END\",\"type\":\"standalone\"},{\"name\":\"BOTH\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"n16orxb4lfdt81n1wct9ty121gdo\"},{\"name\":\"ARROWHEADSCALE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies an arrowhead scale factor based on the thickness of the arrow line.\",\"help\":\"ARROWHEADSCALE=*positive-number*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0nxwj2bxrvi5mn1fgw53phluh6a\"},{\"name\":\"ARROWHEADSHAPE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a shape for arrowheads.\",\"help\":\"ARROWHEADSHAPE=OPEN | FILLED | BARBED\",\"type\":\"choice\",\"arguments\":[{\"name\":\"OPEN\",\"type\":\"standalone\"},{\"name\":\"FILLED\",\"type\":\"standalone\"},{\"name\":\"BARBED\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"p1m8fq8yj4eqfnn1mhk3p1f630cu\"},{\"name\":\"ATTRID=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the value of the ID variable in a discrete attribute map data set.\",\"help\":\"ATTRID=*character-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0gnil4gecoz0fn1sjexzo9ka6a8u\"},{\"name\":\"BREAK\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"creates a break in the line for each missing value for the Y variable.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0ie2yv479v346n0zibuok84w2mo\"},{\"name\":\"CLUSTERWIDTH=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the width of the group clusters as a fraction of the midpoint spacing.\",\"help\":\"CLUSTERWIDTH=*numeric-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0dlvao1wxqnapn1eyiyqmlu8l1vd\"},{\"name\":\"COLORMODEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a color ramp that is to be used to determine response colors.\",\"help\":\"COLORMODEL=*style-element* | (*color-list*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the name of a style element.\",\"help\":\"*style-element* \",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0j80gk5jvponwn1i3nubsiypmn7j\"},{\"name\":\"(color-list)\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a space-separated list of colors to use in the color ramp.\",\"type\":\"color\",\"supportSiteTargetFragment\":\"n1bmynehs17vrcn1eyylzs4tatiej\"}],\"supportSiteTargetFragment\":\"p0lv0hndswc5a5n1hjd7lql3yfk6j\"},{\"name\":\"COLORRESPONSE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the numeric column that is used to map colors to a continuous color ramp.\",\"help\":\"COLORRESPONSE=*numeric-column*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0oottiwct880xn17bxx29idalzbh\"},{\"name\":\"CURVELABEL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"adds a label to the curve or curves.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0xwe8i056k19tn15tetdau7yybwc\"},{\"name\":\"CURVELABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a label for the curve when only one curve is drawn.\",\"help\":\"CURVELABEL=\\\"*text-string*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0zftxt9qq2pdgn1symuat15dur2c\"},{\"name\":\"CURVELABELATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the appearance of the labels in the plot when you use the CURVELABEL= option.\",\"help\":\"CURVELABELATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p0dk1x2qtnfn66n11yrt9l54l5npf\"},{\"name\":\"CURVELABELLOC=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies whether the curve label is placed inside the plot axes (INSIDE) or outside of the plot axes (OUTSIDE).\",\"help\":\"CURVELABELLOC=OUTSIDE | INSIDE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"OUTSIDE\",\"type\":\"standalone\"},{\"name\":\"INSIDE\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"n0m661zy7deafpn1r4qqw0qnq5wbf\"},{\"name\":\"CURVELABELPOS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the location of the curve label.\",\"help\":\"CURVELABELPOS=AUTO | END | MAX | MIN | START\",\"type\":\"choice\",\"arguments\":[{\"name\":\"AUTO\",\"followsDelimiter\":\"/\",\"description\":\"places the curve label outside the plot area near the end of the curve along unused axes whenever possible (typically Y2 or X2).\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1mzx51oqqddhgn1fx79prjt0qaze\"},{\"name\":\"END\",\"followsDelimiter\":\"/\",\"description\":\"places the curve label at the last point on the curve.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n04k78fvzrkjjsn1t3to05u6jloje\"},{\"name\":\"MAX\",\"followsDelimiter\":\"/\",\"description\":\"places the label at the part of the curve closest to the maximum X-axis value.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1j326cktvxmnqn15qyb6y1ga3b8e\"},{\"name\":\"MIN\",\"followsDelimiter\":\"/\",\"description\":\"places the label at the part of the curve closest to the minimum X-axis value.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n018cpn1doiwsfn16kekpzbg1qg7e\"},{\"name\":\"START\",\"followsDelimiter\":\"/\",\"description\":\"places the curve label at the first point on the curve.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0yvts7uqmeulun1j9p7zrppvm68e\"}],\"supportSiteTargetFragment\":\"n1lxgmorrzt45cn1shctlyw8ljv3e\"},{\"name\":\"DATALABEL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"displays a label for each data point.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0nw171sq0e411n1wgxqgp619995c\"},{\"name\":\"DATALABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"displays a label for each data point.\",\"help\":\"DATALABEL=*variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0nw171sq0e411n1wgxqgp619995c\"},{\"name\":\"DATALABELATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the appearance of the labels in the plot when you use the DATALABEL= option.\",\"help\":\"DATALABELATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p1knsfepcp6q3tn1rcxjyvwtszoxm\"},{\"name\":\"DATALABELPOS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the location of each data label with respect to its data point.\",\"help\":\"DATALABELPOS=*position*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0rsuu58qgi0ysn1sh5krk9uvgq5f\"},{\"name\":\"DATASKIN=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a special effect to be used on the plot.\",\"help\":\"DATASKIN=NONE | CRISP | GLOSS | MATTE | PRESSED | SHEEN\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NONE\",\"type\":\"standalone\"},{\"name\":\"CRISP\",\"type\":\"standalone\"},{\"name\":\"GLOSS\",\"type\":\"standalone\"},{\"name\":\"MATTE\",\"type\":\"standalone\"},{\"name\":\"PRESSED\",\"type\":\"standalone\"},{\"name\":\"SHEEN\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"n14kr95kkmeuh0n1hbaha6dpxa24n\"},{\"name\":\"DISCRETEOFFSET=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies an amount to offset all lines from discrete X or Y values.\",\"help\":\"DISCRETEOFFSET=*numeric-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n17gvt1r6cr7m7n15f2vn48ffkbu\"},{\"name\":\"FILLEDOUTLINEDMARKERS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that markers have a fill and an outline.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0htbt252ynl99n1fhsib3nv0kmma\"},{\"name\":\"GROUP=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a variable that is used to group the data.\",\"help\":\"GROUP=*variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0ihz5mnsij0ern0zx0ildin6aehf\"},{\"name\":\"GROUPDISPLAY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies how to display grouped lines.\",\"help\":\"GROUPDISPLAY=CLUSTER | OVERLAY\",\"type\":\"choice\",\"arguments\":[{\"name\":\"CLUSTER\",\"followsDelimiter\":\"/\",\"description\":\"grouped items are drawn adjacent to each other.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1f9g1imvgdc3xn1o4qmhc3dsaxtm\"},{\"name\":\"OVERLAY\",\"followsDelimiter\":\"/\",\"description\":\"grouped items are drawn at the exact coordinate and might overlap.\",\"help\":\"OVERLAY \",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0gedf37npwg28n19wqi2annun4nm\"}],\"supportSiteTargetFragment\":\"n0n3jkhaj1qqqgn11v232ltetjy9\"},{\"name\":\"GROUPLC=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a variable that determines the line colors for a grouped plot independently of the GROUP= variable.\",\"help\":\"GROUPLC=*variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p08bx6nulg77k1n1tue5mpwvjqo8\"},{\"name\":\"GROUPLP=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a variable that determines the line patterns for a grouped plot independently of the GROUP= variable.\",\"help\":\"GROUPLP=*variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n051i4s9lb8572n1uzhfi3tt3kba\"},{\"name\":\"GROUPMC=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a variable that determines the marker colors for a grouped plot independently of the GROUP= variable.\",\"help\":\"GROUPMC=*variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0ddax6cpwus5tn13zdlf6ylpw8a\"},{\"name\":\"GROUPMS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a variable that determines the marker symbols for a grouped plot independently of the GROUP= variable.\",\"help\":\"GROUPMS=*variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0bshb1zj82wkjn1wecq3ddsnnhl\"},{\"name\":\"GROUPORDER=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the ordering of the groups within a category.\",\"help\":\"GROUPORDER=DATA | REVERSEDATA | ASCENDING | DESCENDING\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DATA\",\"followsDelimiter\":\"/\",\"description\":\"orders the groups within a category in data order of the group variable.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n17ush6ke65xben1qm2p0dn9pjjai\"},{\"name\":\"REVERSEDATA\",\"followsDelimiter\":\"/\",\"description\":\"orders the groups within a category in the reverse data order of the group variable.\",\"help\":\"REVERSEDATA \",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0ybf6fv2jznutn1fir9sn5as9yqi\"},{\"name\":\"ASCENDING\",\"followsDelimiter\":\"/\",\"description\":\"orders the groups within a category in ascending order of the group variable.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0illc3sf337wnn1kvp0yuul2s1ti\"},{\"name\":\"DESCENDING\",\"followsDelimiter\":\"/\",\"description\":\"orders the groups within a category in descending order of the group variable.\",\"help\":\"DESCENDING \",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p15mm3o64qe2qgn16nv32zmcnleei\"}],\"supportSiteTargetFragment\":\"n0iz9rcg3x496dn1sfn1g6ernd9oi\"},{\"name\":\"LCATTRID=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies an attribute map ID variable to be associated with the GROUPLC= variable.\",\"help\":\"LCATTRID=*discrete-attr-variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p19mpchzjiocotn1nyi3idmd9aos\"},{\"name\":\"LEGENDLABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a label that identifies the series plot in the legend.\",\"help\":\"LEGENDLABEL=\\\"*text-string*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0itsw4msruwcdn1gxndp795yeea\"},{\"name\":\"LINEATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the appearance of the series line.\",\"help\":\"LINEATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p0xxnpdffuubqxn1bix10pymbjny\"},{\"name\":\"LPATTRID=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies an attribute map ID variable to be associated with the GROUPLP= variable.\",\"help\":\"LPATTRID=*discrete-attr-variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0xbkm3spcarqsn1381qdirol8bs\"},{\"name\":\"MARKERATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the appearance of the markers in the plot.\",\"help\":\"MARKERATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"n1buu3ddzajld1n19bay69j0bjzr\"},{\"name\":\"MARKERFILLATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the color of the marker fill.\",\"help\":\"MARKERFILLATTRS=*style-element* |  (COLOR=*color*) \",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(COLOR=)\",\"type\":\"color\"}],\"supportSiteTargetFragment\":\"n0cg7g8a06r4mwn1rcawd5eth51zf\"},{\"name\":\"MARKEROUTLINEATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the appearance of the marker outlines.\",\"help\":\"MARKEROUTLINEATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p0j0ix3qbk1rsqn10lfmccucq9qhf\"},{\"name\":\"MARKERS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"adds data point markers to the series plot data points.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1ppgf651qb3ptn1fsd0x4nkmozp\"},{\"name\":\"MCATTRID=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies an attribute map ID variable to be associated with the GROUPMC= variable.\",\"help\":\"MCATTRID=*discrete-attr-variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1ueni9vuljti2n1ppq7xgflkb0g\"},{\"name\":\"MSATTRID=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies an attribute map ID variable to be associated with the GROUPMS= variable.\",\"help\":\"MSATTRID=*discrete-attr-variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1i35uxkhu4vlon1brqjgepgcrm9\"},{\"name\":\"NAME=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"assigns a name to a plot statement.\",\"help\":\"NAME=\\\"*text-string*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1kiiynz0gzidxn16dsf62msnl4tz\"},{\"name\":\"NOMISSINGGROUP\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that missing values of the group variable are not included in the plot.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n02m1yvh407h8in1bfd07hnwn93vi\"},{\"name\":\"RATTRID=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the value of the ID variable in a range attribute map data set.\",\"help\":\"RATTRID=*character-value* \",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0ib6229clpp3kn1ramopvfnfj60j\"},{\"name\":\"SMOOTHCONNECT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that a smoothed line passes through all vertices.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1b51ztnv8h3hqn1wy3q243oobfc\"},{\"name\":\"SPLITCHAR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies one or more characters on which the text for curve labels is always split.\",\"help\":\"SPLITCHAR=\\\"*character-list*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0lp66hk29i0sin1kdjnfamkw1erd\"},{\"name\":\"SPLITCHARNODROP\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that the split characters are included in the displayed value.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p17rdbkgdneovrn1ue8o2kpkg9ewn\"},{\"name\":\"SPLITJUSTIFY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the horizontal alignment of the value text that is being split.\",\"help\":\"SPLITJUSTIFY=LEFT | CENTER | RIGHT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"LEFT\",\"type\":\"standalone\"},{\"name\":\"CENTER\",\"type\":\"standalone\"},{\"name\":\"RIGHT\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"p1gpg1oyxutpycn14zlh3q5a4u2cn\"},{\"name\":\"THICKMAX=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the maximum line thickness when a response variable is used to determine the line thickness.\",\"help\":\"THICKMAX=*numeric-value*&lt;*units*&gt;\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p180z9ac6c2bzmn1qmqw3hu0rg9b\"},{\"name\":\"THICKMAXRESP=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the response value that corresponds to the maximum line thickness.\",\"help\":\"THICKMAXRESP=*numeric-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1r95d08dmny2in18wo1qo01ontv\"},{\"name\":\"THICKRESP=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a response variable that is used to map a line thickness to each group value.\",\"help\":\"THICKRESP=*numeric-variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n10091lo6ro2rvn1lmorepzs4fgp\"},{\"name\":\"TIP=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the data tip information to be displayed when the cursor is positioned over the graphics element.\",\"help\":\"TIP=(*variable-list*) | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"(variable-list)\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"a space-separated list of variables enclosed in parentheses.\",\"help\":\"(*variable-list*) \",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1xt1um6hrz1xyn1sjttwqpgpo2go\"},{\"name\":\"NONE\",\"followsDelimiter\":\"/\",\"description\":\"suppresses the data tips from this plot.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0juujvli3nm16n1m4i3zstsmn7uo\"}],\"supportSiteTargetFragment\":\"n0tlg070rp5jkkn193er1c3er8vvo\"},{\"name\":\"TIPFORMAT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"applies formats to the list of data tip variables that you specify in the TIP= option.\",\"help\":\"TIPFORMAT=(*format-list*)\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1vgm3eynz19vzn1mlqm98fezlp5n\"},{\"name\":\"TIPLABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"applies labels to the list of data tip variables that you specify in the TIP= option.\",\"help\":\"TIPLABEL=(*label-list*)\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0tod59njrbtewn1hk76dznibemun\"},{\"name\":\"TRANSPARENCY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the degree of transparency for the plot.\",\"help\":\"TRANSPARENCY=*value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0hjrs3w86z8ean1npu022im7j2st\"},{\"name\":\"URL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies an HTML page to be displayed when parts of the plot are selected.\",\"help\":\"URL=*character-variable*\",\"type\":\"value\",\"arguments\":[{\"name\":\"character-variable\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a variable that contains a valid HTML page reference (HREF) for each plot element that is to have an active link.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0x9yrlql13u7gn11kr1daq2vd9sk\"}],\"supportSiteTargetFragment\":\"n0p5y7rpcnleycn17w2nttd9ipblk\"},{\"name\":\"X2AXIS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"assigns the X variable to the secondary (top) horizontal axis.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1qdz8a9m6t6uen1kdob1nz79tslo\"},{\"name\":\"Y2AXIS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"assigns the Y variable to the secondary (right) vertical axis.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0zsjbjkamjq8zn1u2umymluiajcl\"}],\"supportSiteTargetFile\":\"n1jkqnmk6y6ms9n1b2vvubyzqd4a.htm\"},{\"name\":\"SPLINE\",\"description\":\"Creates a series plot with a quadratic Bézier spline interpolation that produces smooth curves.\",\"help\":\"SPLINE X=*variable* Y=*variable*&lt;/*options*&gt;;\",\"arguments\":[{\"name\":\"X=\",\"description\":\"specifies the variable for the X axis.\",\"help\":\"X=*variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1xbo4fcu3ju4kn1ucfg1xkjhvus\"},{\"name\":\"Y=\",\"description\":\"specifies the variable for the Y axis.\",\"help\":\"Y=*variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1u4ncjbmfys8jn1qb13t9hr3c4z\"},{\"name\":\"ARROWHEADPOS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a position for arrowheads.\",\"help\":\"ARROWHEADPOS=START | END | BOTH\",\"type\":\"choice\",\"arguments\":[{\"name\":\"START\",\"type\":\"standalone\"},{\"name\":\"END\",\"type\":\"standalone\"},{\"name\":\"BOTH\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"n16orxb4lfdt81n1wct9ty121gdoa\"},{\"name\":\"ARROWHEADSCALE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies an arrowhead scale factor based on the thickness of the arrow line.\",\"help\":\"ARROWHEADSCALE=*positive-number*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0nxwj2bxrvi5mn1fgw53phluh6aa\"},{\"name\":\"ARROWHEADSHAPE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a shape for arrowheads.\",\"help\":\"ARROWHEADSHAPE=OPEN | FILLED | BARBED\",\"type\":\"choice\",\"arguments\":[{\"name\":\"OPEN\",\"type\":\"standalone\"},{\"name\":\"FILLED\",\"type\":\"standalone\"},{\"name\":\"BARBED\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"p1m8fq8yj4eqfnn1mhk3p1f630cua\"},{\"name\":\"ATTRID=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the value of the ID variable in a discrete attribute map data set.\",\"help\":\"ATTRID=*character-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0gnil4gecoz0fn1sjexzo9ka6a8v\"},{\"name\":\"BREAK\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"creates a break in the line for each missing value for the Y variable.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1lkldha4lvtlin1gx2ymp8ui1ar\"},{\"name\":\"CLUSTERWIDTH=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the width of the group clusters as a fraction of the midpoint spacing.\",\"help\":\"CLUSTERWIDTH=*numeric-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0dlvao1wxqnapn1eyiyqmlu8l1ve\"},{\"name\":\"COLORMODEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a color ramp that is to be used to determine response colors.\",\"help\":\"COLORMODEL=*style-element* | (*color-list*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the name of a style element.\",\"help\":\"*style-element* \",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0j80gk5jvponwn1i3nubsiypmn7k\"},{\"name\":\"(color-list)\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a space-separated list of colors to use in the color ramp.\",\"type\":\"color\",\"supportSiteTargetFragment\":\"n1bmynehs17vrcn1eyylzs4tatiek\"}],\"supportSiteTargetFragment\":\"p0lv0hndswc5a5n1hjd7lql3yfk6k\"},{\"name\":\"COLORRESPONSE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the numeric column that is used to map colors to a continuous color ramp.\",\"help\":\"COLORRESPONSE=*numeric-column*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0oottiwct880xn17bxx29idalzbi\"},{\"name\":\"CURVELABEL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"adds a label to the curve or curves.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0xwe8i056k19tn15tetdau7yybwd\"},{\"name\":\"CURVELABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a label for the curve when only one curve is drawn.\",\"help\":\"CURVELABEL=\\\"*text-string*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0zftxt9qq2pdgn1symuat15dur2d\"},{\"name\":\"CURVELABELATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the appearance of the labels in the plot when you use the CURVELABEL= option.\",\"help\":\"CURVELABELATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p0dk1x2qtnfn66n11yrt9l54l5npg\"},{\"name\":\"CURVELABELLOC=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies whether the curve label is placed inside the plot axes (INSIDE) or outside of the plot axes (OUTSIDE).\",\"help\":\"CURVELABELLOC=OUTSIDE | INSIDE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"OUTSIDE\",\"type\":\"standalone\"},{\"name\":\"INSIDE\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"n0m661zy7deafpn1r4qqw0qnq5wbg\"},{\"name\":\"CURVELABELPOS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the location of the curve label.\",\"help\":\"CURVELABELPOS=AUTO | END | MAX | MIN | START\",\"type\":\"choice\",\"arguments\":[{\"name\":\"AUTO\",\"followsDelimiter\":\"/\",\"description\":\"places the curve label outside the plot area near the end of the curve along unused axes whenever possible (typically Y2 or X2).\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1mzx51oqqddhgn1fx79prjt0qazf\"},{\"name\":\"END\",\"followsDelimiter\":\"/\",\"description\":\"places the curve label at the last point on the curve.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n04k78fvzrkjjsn1t3to05u6jlojf\"},{\"name\":\"MAX\",\"followsDelimiter\":\"/\",\"description\":\"places the label at the part of the curve closest to the maximum X-axis value.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1j326cktvxmnqn15qyb6y1ga3b8f\"},{\"name\":\"MIN\",\"followsDelimiter\":\"/\",\"description\":\"places the label at the part of the curve closest to the minimum X-axis value.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n018cpn1doiwsfn16kekpzbg1qg7f\"},{\"name\":\"START\",\"followsDelimiter\":\"/\",\"description\":\"places the curve label at the first point on the curve.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0yvts7uqmeulun1j9p7zrppvm68f\"}],\"supportSiteTargetFragment\":\"n1lxgmorrzt45cn1shctlyw8ljv3f\"},{\"name\":\"DATASKIN=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a special effect to be used on the plot.\",\"help\":\"DATASKIN=NONE | CRISP | GLOSS | MATTE | PRESSED | SHEEN\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NONE\",\"type\":\"standalone\"},{\"name\":\"CRISP\",\"type\":\"standalone\"},{\"name\":\"GLOSS\",\"type\":\"standalone\"},{\"name\":\"MATTE\",\"type\":\"standalone\"},{\"name\":\"PRESSED\",\"type\":\"standalone\"},{\"name\":\"SHEEN\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"n14kr95kkmeuh0n1hbaha6dpxa24o\"},{\"name\":\"DISCRETEOFFSET=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies an amount to offset all lines from discrete X or Y values.\",\"help\":\"DISCRETEOFFSET=*numeric-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1cs8833ljw708n1q0z2sk4ze97j\"},{\"name\":\"GROUP=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a variable that is used to group the data.\",\"help\":\"GROUP=*variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0ihz5mnsij0ern0zx0ildin6aehg\"},{\"name\":\"GROUPDISPLAY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies how to display grouped lines.\",\"help\":\"GROUPDISPLAY=CLUSTER | OVERLAY\",\"type\":\"choice\",\"arguments\":[{\"name\":\"CLUSTER\",\"followsDelimiter\":\"/\",\"description\":\"grouped items are drawn adjacent to each other.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1f9g1imvgdc3xn1o4qmhc3dsaxtn\"},{\"name\":\"OVERLAY\",\"followsDelimiter\":\"/\",\"description\":\"grouped items are drawn at the exact coordinate and might overlap.\",\"help\":\"OVERLAY \",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0gedf37npwg28n19wqi2annun4nn\"}],\"supportSiteTargetFragment\":\"n14tye7cvy1df9n15l0bifncdm07\"},{\"name\":\"GROUPLC=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a variable that determines the line colors for a grouped plot independently of the GROUP= variable.\",\"help\":\"GROUPLC=*variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0iplgkvywg3p1n1nimf8d29x4vf\"},{\"name\":\"GROUPLP=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a variable that determines the line patterns for a grouped plot independently of the GROUP= variable.\",\"help\":\"GROUPLP=*variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1ss32caq5tb2vn1nk9k12n7x3z0\"},{\"name\":\"GROUPORDER=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the ordering of the groups within a category.\",\"help\":\"GROUPORDER=DATA | REVERSEDATA | ASCENDING | DESCENDING\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DATA\",\"followsDelimiter\":\"/\",\"description\":\"orders the groups within a category in data order of the group variable.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n17ush6ke65xben1qm2p0dn9pjjaj\"},{\"name\":\"REVERSEDATA\",\"followsDelimiter\":\"/\",\"description\":\"orders the groups within a category in the reverse data order of the group variable.\",\"help\":\"REVERSEDATA \",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0ybf6fv2jznutn1fir9sn5as9yqj\"},{\"name\":\"ASCENDING\",\"followsDelimiter\":\"/\",\"description\":\"orders the groups within a category in ascending order of the group variable.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0illc3sf337wnn1kvp0yuul2s1tj\"},{\"name\":\"DESCENDING\",\"followsDelimiter\":\"/\",\"description\":\"orders the groups within a category in descending order of the group variable.\",\"help\":\"DESCENDING \",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p15mm3o64qe2qgn16nv32zmcnleej\"}],\"supportSiteTargetFragment\":\"n0iz9rcg3x496dn1sfn1g6ernd9oj\"},{\"name\":\"LEGENDLABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a label that identifies the spline plot in the legend.\",\"help\":\"LEGENDLABEL=\\\"*text-string*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1da6c3s5t3xhun10v0bdynqikp6\"},{\"name\":\"LINEATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the appearance of the spline line.\",\"help\":\"LINEATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p0w6r1frm6fdign0z8y2dsydjuni\"},{\"name\":\"NAME=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"assigns a name to a plot statement.\",\"help\":\"NAME=\\\"*text-string*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1kiiynz0gzidxn16dsf62msnl4tz1\"},{\"name\":\"NOMISSINGGROUP\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that missing values of the group variable are not included in the plot.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n02m1yvh407h8in1bfd07hnwn93vj\"},{\"name\":\"RATTRID=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the value of the ID variable in a range attribute map data set.\",\"help\":\"RATTRID=*character-value* \",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0ib6229clpp3kn1ramopvfnfj60k\"},{\"name\":\"SEGPOINTS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a multiplier to apply to the time interval that is in effect for the INTERVAL= axis option.\",\"help\":\"SEGPOINTS=*positive-integer*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p053pp53hd83o6n1q6bsqw7q2ldx\"},{\"name\":\"SPLITCHAR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies one or more characters on which the text for curve labels is always split.\",\"help\":\"SPLITCHAR=\\\"*character-list*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0lp66hk29i0sin1kdjnfamkw1ere\"},{\"name\":\"SPLITCHARNODROP\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that the split characters are included in the displayed value.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p17rdbkgdneovrn1ue8o2kpkg9ewo\"},{\"name\":\"SPLITJUSTIFY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the horizontal alignment of the value text that is being split.\",\"help\":\"SPLITJUSTIFY=LEFT | CENTER | RIGHT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"LEFT\",\"type\":\"standalone\"},{\"name\":\"CENTER\",\"type\":\"standalone\"},{\"name\":\"RIGHT\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"p1gpg1oyxutpycn14zlh3q5a4u2co\"},{\"name\":\"THICKMAX=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the maximum line thickness when a response variable is used to determine the line thickness.\",\"help\":\"THICKMAX=*numeric-value*&lt;*units*&gt;\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p180z9ac6c2bzmn1qmqw3hu0rg9ba\"},{\"name\":\"THICKMAXRESP=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the response value that corresponds to the maximum line thickness.\",\"help\":\"THICKMAXRESP=*numeric-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1r95d08dmny2in18wo1qo01ontva\"},{\"name\":\"THICKRESP=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a response variable that is used to map a line thickness to each group value.\",\"help\":\"THICKRESP=*numeric-variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n10091lo6ro2rvn1lmorepzs4fgpa\"},{\"name\":\"TIP=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the data tip information to be displayed when the cursor is positioned over the graphics element.\",\"help\":\"TIP=(*variable-list*) | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"(variable-list)\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"a space-separated list of variables enclosed in parentheses.\",\"help\":\"(*variable-list*) \",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1xt1um6hrz1xyn1sjttwqpgpo2gp\"},{\"name\":\"NONE\",\"followsDelimiter\":\"/\",\"description\":\"suppresses the data tips from this plot.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0juujvli3nm16n1m4i3zstsmn7up\"}],\"supportSiteTargetFragment\":\"n0tlg070rp5jkkn193er1c3er8vvp\"},{\"name\":\"TIPFORMAT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"applies formats to the list of data tip variables that you specify in the TIP= option.\",\"help\":\"TIPFORMAT=(*format-list*)\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1vgm3eynz19vzn1mlqm98fezlp5o\"},{\"name\":\"TIPLABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"applies labels to the list of data tip variables that you specify in the TIP= option.\",\"help\":\"TIPLABEL=(*label-list*)\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0tod59njrbtewn1hk76dznibemuo\"},{\"name\":\"TRANSPARENCY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the degree of transparency for the plot.\",\"help\":\"TRANSPARENCY=*value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0hjrs3w86z8ean1npu022im7j2su\"},{\"name\":\"URL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies an HTML page to be displayed when parts of the plot are selected.\",\"help\":\"URL=*character-variable*\",\"type\":\"value\",\"arguments\":[{\"name\":\"character-variable\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a variable that contains a valid HTML page reference (HREF) for each plot element that is to have an active link.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0x9yrlql13u7gn11kr1daq2vd9sl\"}],\"supportSiteTargetFragment\":\"n0p5y7rpcnleycn17w2nttd9ipbll\"},{\"name\":\"X2AXIS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"assigns the X variable to the secondary (top) horizontal axis.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1qdz8a9m6t6uen1kdob1nz79tslp\"},{\"name\":\"Y2AXIS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"assigns the Y variable to the secondary (right) vertical axis.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0zsjbjkamjq8zn1u2umymluiajcm\"}],\"supportSiteTargetFile\":\"n0t0bf0t1q6vbpn1e29ez2kjweop.htm\"},{\"name\":\"STEP\",\"description\":\"Creates a step plot.\",\"help\":\"STEP X=*variable* Y=*numeric-variable*&lt;/*options*&gt;;\",\"arguments\":[{\"name\":\"X=\",\"description\":\"specifies the variable for the X axis.\",\"help\":\"X=*variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1k9yzujxhv5l3n1k4lcwbisbpkg\"},{\"name\":\"Y=\",\"description\":\"specifies the variable for the Y axis.\",\"help\":\"Y=*numeric-variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1722thb9o42f0n1gst12g89dg93\"},{\"name\":\"ARROWHEADPOS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a position for arrowheads.\",\"help\":\"ARROWHEADPOS=START | END | BOTH\",\"type\":\"choice\",\"arguments\":[{\"name\":\"START\",\"type\":\"standalone\"},{\"name\":\"END\",\"type\":\"standalone\"},{\"name\":\"BOTH\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"n16orxb4lfdt81n1wct9ty121gdob\"},{\"name\":\"ARROWHEADSCALE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies an arrowhead scale factor based on the thickness of the arrow line.\",\"help\":\"ARROWHEADSCALE=*positive-number*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0nxwj2bxrvi5mn1fgw53phluh6ab\"},{\"name\":\"ARROWHEADSHAPE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a shape for arrowheads.\",\"help\":\"ARROWHEADSHAPE=OPEN | FILLED | BARBED\",\"type\":\"choice\",\"arguments\":[{\"name\":\"OPEN\",\"type\":\"standalone\"},{\"name\":\"FILLED\",\"type\":\"standalone\"},{\"name\":\"BARBED\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"p1m8fq8yj4eqfnn1mhk3p1f630cub\"},{\"name\":\"ATTRID=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the value of the ID variable in a discrete attribute map data set.\",\"help\":\"ATTRID=*character-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0gnil4gecoz0fn1sjexzo9ka6a8w\"},{\"name\":\"BREAK\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"creates a break in the line for each missing value for the Y variable.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1lbh5grjgm5y9n1mrfvtk3bnlyk\"},{\"name\":\"CLUSTERWIDTH=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the width of the group clusters as a fraction of the midpoint spacing.\",\"help\":\"CLUSTERWIDTH=*numeric-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0dlvao1wxqnapn1eyiyqmlu8l1vf\"},{\"name\":\"CURVELABEL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"adds a label to the curve or curves.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0xwe8i056k19tn15tetdau7yybwe\"},{\"name\":\"CURVELABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a label for the curve when only one curve is drawn.\",\"help\":\"CURVELABEL=\\\"*text-string*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0zftxt9qq2pdgn1symuat15dur2e\"},{\"name\":\"CURVELABELATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the appearance of the labels in the plot when you use the CURVELABEL= option.\",\"help\":\"CURVELABELATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p0dk1x2qtnfn66n11yrt9l54l5nph\"},{\"name\":\"CURVELABELLOC=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies whether the curve label is placed inside the plot axes (INSIDE) or outside of the plot axes (OUTSIDE).\",\"help\":\"CURVELABELLOC=OUTSIDE | INSIDE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"OUTSIDE\",\"type\":\"standalone\"},{\"name\":\"INSIDE\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"n0m661zy7deafpn1r4qqw0qnq5wbh\"},{\"name\":\"CURVELABELPOS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the location of the curve label.\",\"help\":\"CURVELABELPOS=AUTO | END | MAX | MIN | START\",\"type\":\"choice\",\"arguments\":[{\"name\":\"AUTO\",\"followsDelimiter\":\"/\",\"description\":\"places the curve label outside the plot area near the end of the curve along unused axes whenever possible (typically Y2 or X2).\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1mzx51oqqddhgn1fx79prjt0qazg\"},{\"name\":\"END\",\"followsDelimiter\":\"/\",\"description\":\"places the curve label at the last point on the curve.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n04k78fvzrkjjsn1t3to05u6jlojg\"},{\"name\":\"MAX\",\"followsDelimiter\":\"/\",\"description\":\"places the label at the part of the curve closest to the maximum X-axis value.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1j326cktvxmnqn15qyb6y1ga3b8g\"},{\"name\":\"MIN\",\"followsDelimiter\":\"/\",\"description\":\"places the label at the part of the curve closest to the minimum X-axis value.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n018cpn1doiwsfn16kekpzbg1qg7g\"},{\"name\":\"START\",\"followsDelimiter\":\"/\",\"description\":\"places the curve label at the first point on the curve.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0yvts7uqmeulun1j9p7zrppvm68g\"}],\"supportSiteTargetFragment\":\"n1lxgmorrzt45cn1shctlyw8ljv3g\"},{\"name\":\"DATALABEL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"displays a label for each data point.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0nw171sq0e411n1wgxqgp619995d\"},{\"name\":\"DATALABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"displays a label for each data point.\",\"help\":\"DATALABEL=*variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0nw171sq0e411n1wgxqgp619995d\"},{\"name\":\"DATALABELATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the appearance of the labels in the plot when you use the DATALABEL= option.\",\"help\":\"DATALABELATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p1knsfepcp6q3tn1rcxjyvwtszoxn\"},{\"name\":\"DATALABELPOS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the location of each data label with respect to its data point.\",\"help\":\"DATALABELPOS=*position*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0rsuu58qgi0ysn1sh5krk9uvgq5g\"},{\"name\":\"DATASKIN=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a special effect to be used on the plot.\",\"help\":\"DATASKIN=NONE | CRISP | GLOSS | MATTE | PRESSED | SHEEN\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NONE\",\"type\":\"standalone\"},{\"name\":\"CRISP\",\"type\":\"standalone\"},{\"name\":\"GLOSS\",\"type\":\"standalone\"},{\"name\":\"MATTE\",\"type\":\"standalone\"},{\"name\":\"PRESSED\",\"type\":\"standalone\"},{\"name\":\"SHEEN\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"n14kr95kkmeuh0n1hbaha6dpxa24p\"},{\"name\":\"DISCRETEOFFSET=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies an amount to offset all step lines from discrete X values.\",\"help\":\"DISCRETEOFFSET=*numeric-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1v396yg374urtn1bg5jsvccyxis\"},{\"name\":\"ERRORBARATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the appearance of the error bars in the plot.\",\"help\":\"ERRORBARATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p1tcddo4f7thlqn1ms7h9xb7g309\"},{\"name\":\"ERRORCAPSCALE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a positive number to use as a multiplier for changing the default width of the error-bar caps.\",\"help\":\"ERRORCAPSCALE=*numeric-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p13gzmjztwc67on1ia254fja6g9m\"},{\"name\":\"FILLEDOUTLINEDMARKERS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that markers have a fill and an outline.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0htbt252ynl99n1fhsib3nv0kmmb\"},{\"name\":\"GROUP=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a variable that is used to group the data.\",\"help\":\"GROUP=*variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0ihz5mnsij0ern0zx0ildin6aehh\"},{\"name\":\"GROUPDISPLAY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies how to display grouped step lines.\",\"help\":\"GROUPDISPLAY=CLUSTER | OVERLAY\",\"type\":\"choice\",\"arguments\":[{\"name\":\"CLUSTER\",\"followsDelimiter\":\"/\",\"description\":\"grouped items are drawn adjacent to each other.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1f9g1imvgdc3xn1o4qmhc3dsaxto\"},{\"name\":\"OVERLAY\",\"followsDelimiter\":\"/\",\"description\":\"grouped items are drawn at the exact coordinate and might overlap.\",\"help\":\"OVERLAY \",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0gedf37npwg28n19wqi2annun4no\"}],\"supportSiteTargetFragment\":\"n0agmnpxfwymivn1jhzrle9l0y2c\"},{\"name\":\"GROUPORDER=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the ordering of the groups within a category.\",\"help\":\"GROUPORDER=DATA | REVERSEDATA | ASCENDING | DESCENDING\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DATA\",\"followsDelimiter\":\"/\",\"description\":\"orders the groups within a category in data order of the group variable.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n17ush6ke65xben1qm2p0dn9pjjak\"},{\"name\":\"REVERSEDATA\",\"followsDelimiter\":\"/\",\"description\":\"orders the groups within a category in the reverse data order of the group variable.\",\"help\":\"REVERSEDATA \",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0ybf6fv2jznutn1fir9sn5as9yqk\"},{\"name\":\"ASCENDING\",\"followsDelimiter\":\"/\",\"description\":\"orders the groups within a category in ascending order of the group variable.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0illc3sf337wnn1kvp0yuul2s1tk\"},{\"name\":\"DESCENDING\",\"followsDelimiter\":\"/\",\"description\":\"orders the groups within a category in descending order of the group variable.\",\"help\":\"DESCENDING \",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p15mm3o64qe2qgn16nv32zmcnleek\"}],\"supportSiteTargetFragment\":\"n0iz9rcg3x496dn1sfn1g6ernd9ok\"},{\"name\":\"JUSTIFY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the location of each step relative to its data point.\",\"help\":\"JUSTIFY=LEFT | CENTER | RIGHT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"LEFT\",\"type\":\"standalone\"},{\"name\":\"CENTER\",\"type\":\"standalone\"},{\"name\":\"RIGHT\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"p1i04du8i2ix2pn18asdlc7vhp4y\"},{\"name\":\"LEGENDLABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a label that identifies the step plot in the legend.\",\"help\":\"LEGENDLABEL=\\\"*text-string*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1pbkhja48398wn1dwbqpivtbwq4\"},{\"name\":\"LINEATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the appearance of the step line.\",\"help\":\"LINEATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p1faub7mf47336n1l9zr3x29vrek\"},{\"name\":\"MARKERATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the appearance of the markers in the plot.\",\"help\":\"MARKERATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"n1ofnskeiy9pqsn1d9ocrv7cxm0n\"},{\"name\":\"MARKERFILLATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the color of the marker fill.\",\"help\":\"MARKERFILLATTRS=*style-element* |  (COLOR=*color*) \",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(COLOR=)\",\"type\":\"color\"}],\"supportSiteTargetFragment\":\"n0cg7g8a06r4mwn1rcawd5eth51zg\"},{\"name\":\"MARKEROUTLINEATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the appearance of the marker outlines.\",\"help\":\"MARKEROUTLINEATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p0j0ix3qbk1rsqn10lfmccucq9qhg\"},{\"name\":\"MARKERS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"adds markers to the step plot data points.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n19uaktlt4xrihn19m0voso617zv\"},{\"name\":\"NAME=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"assigns a name to a plot statement.\",\"help\":\"NAME=\\\"*text-string*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1kiiynz0gzidxn16dsf62msnl4tz2\"},{\"name\":\"NOERRORCAPS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses the serif cap on error bars, if error bars are displayed.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0x3jvamvpa667n1fmu4vby4dp1fa\"},{\"name\":\"NOMISSINGGROUP\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that missing values of the group variable are not included in the plot.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n02m1yvh407h8in1bfd07hnwn93vk\"},{\"name\":\"SPLITCHAR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies one or more characters on which the text for curve labels is always split.\",\"help\":\"SPLITCHAR=\\\"*character-list*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0lp66hk29i0sin1kdjnfamkw1erf\"},{\"name\":\"SPLITCHARNODROP\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that the split characters are included in the displayed value.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p17rdbkgdneovrn1ue8o2kpkg9ewp\"},{\"name\":\"SPLITJUSTIFY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the horizontal alignment of the value text that is being split.\",\"help\":\"SPLITJUSTIFY=LEFT | CENTER | RIGHT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"LEFT\",\"type\":\"standalone\"},{\"name\":\"CENTER\",\"type\":\"standalone\"},{\"name\":\"RIGHT\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"p1gpg1oyxutpycn14zlh3q5a4u2cp\"},{\"name\":\"THICKMAX=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the maximum line thickness when a response variable is used to determine the line thickness.\",\"help\":\"THICKMAX=*numeric-value*&lt;*units*&gt;\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p180z9ac6c2bzmn1qmqw3hu0rg9bb\"},{\"name\":\"THICKMAXRESP=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the response value that corresponds to the maximum line thickness.\",\"help\":\"THICKMAXRESP=*numeric-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1r95d08dmny2in18wo1qo01ontvb\"},{\"name\":\"THICKRESP=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a response variable that is used to map a line thickness to each group value.\",\"help\":\"THICKRESP=*numeric-variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n10091lo6ro2rvn1lmorepzs4fgpb\"},{\"name\":\"TIP=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the data tip information to be displayed when the cursor is positioned over the graphics element.\",\"help\":\"TIP=(*variable-list*) | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"(variable-list)\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"a space-separated list of variables enclosed in parentheses.\",\"help\":\"(*variable-list*) \",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1xt1um6hrz1xyn1sjttwqpgpo2gq\"},{\"name\":\"NONE\",\"followsDelimiter\":\"/\",\"description\":\"suppresses the data tips from this plot.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0juujvli3nm16n1m4i3zstsmn7uq\"}],\"supportSiteTargetFragment\":\"n0tlg070rp5jkkn193er1c3er8vvq\"},{\"name\":\"TIPFORMAT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"applies formats to the list of data tip variables that you specify in the TIP= option.\",\"help\":\"TIPFORMAT=(*format-list*)\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1vgm3eynz19vzn1mlqm98fezlp5p\"},{\"name\":\"TIPLABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"applies labels to the list of data tip variables that you specify in the TIP= option.\",\"help\":\"TIPLABEL=(*label-list*)\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0tod59njrbtewn1hk76dznibemup\"},{\"name\":\"TRANSPARENCY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the degree of transparency for the plot.\",\"help\":\"TRANSPARENCY=*value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0hjrs3w86z8ean1npu022im7j2sv\"},{\"name\":\"URL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies an HTML page to be displayed when parts of the plot are selected.\",\"help\":\"URL=*character-variable*\",\"type\":\"value\",\"arguments\":[{\"name\":\"character-variable\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a variable that contains a valid HTML page reference (HREF) for each plot element that is to have an active link.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0x9yrlql13u7gn11kr1daq2vd9sm\"}],\"supportSiteTargetFragment\":\"n0p5y7rpcnleycn17w2nttd9ipblm\"},{\"name\":\"X2AXIS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"assigns the X variable to the secondary (top) horizontal axis.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1qdz8a9m6t6uen1kdob1nz79tslq\"},{\"name\":\"Y2AXIS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"assigns the Y variable to the secondary (right) vertical axis.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0zsjbjkamjq8zn1u2umymluiajcn\"},{\"name\":\"YERRORLOWER=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a variable that contains the lower endpoints for the Y error bars.\",\"help\":\"YERRORLOWER=*numeric-variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p199iy9dqwog8yn1xisqlfloqnyx\"},{\"name\":\"YERRORUPPER=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a variable that contains the upper endpoints for the Y error bars.\",\"help\":\"YERRORUPPER=*numeric-variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n034n4vn2lv069n1cq8c34n3ogx1\"}],\"supportSiteTargetFile\":\"n0t1wmeqmh5d16n10uui6uatm1dh.htm\"},{\"name\":\"SYMBOLCHAR\",\"description\":\"Defines a marker symbol using a Unicode character that can be referenced in other statements.\",\"help\":\"SYMBOLCHAR  NAME=identifier\\nCHAR=\\\"hex-string\\\"x | keyword< /options>;\",\"arguments\":[{\"name\":\"NAME=\",\"description\":\"specifies a unique identifier for the marker symbol.\",\"help\":\"NAME=*identifier*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p125wb7u4nykpjn17n5czi2gmu40\"},{\"name\":\"CHAR=\",\"description\":\"specifies a glyph (character) to be used as the marker symbol.\",\"help\":\"CHAR=\\\"*hex-string*\\\"x | *keyword*\",\"type\":\"choice\",\"arguments\":[{\"name\":\"\\\"\\\"x\",\"description\":\"specifies a four-byte hexadecimal constant, such as '03c3'x, that represents a Unicode character in the current font.\",\"help\":\"\\\"*hex-string*\\\"x\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1scbu016odoj9n1563ej28whil0\"},{\"name\":\"keyword\",\"placeholder\":true,\"description\":\"specifies a SAS keyword for a Unicode character, such as alpha or alpha_u.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n07y17de3yd2q7n1pv4q8rbg7xar\"}],\"supportSiteTargetFragment\":\"p1vf4kt9rxww38n1srw247j5om2v\"},{\"name\":\"HOFFSET=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a horizontal offset for the marker symbol.\",\"help\":\"HOFFSET=*offset*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0we0uq2cypchrn172o1i9duvyog\"},{\"name\":\"ROTATE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the angle of rotation for the marker symbol in degrees.\",\"help\":\"ROTATE=*number*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1cwyi1fh9g8nwn1vmkilwymhqt4\"},{\"name\":\"SCALE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a scale factor for the marker symbol as a percentage.\",\"help\":\"SCALE=*double*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0sgukc15lva8gn18aqze3rk1y93\"},{\"name\":\"TEXTATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the text attributes for the character symbol.\",\"help\":\"TEXTATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"n0wyvwe1g52hshn1xw8i4pqs5s63\"},{\"name\":\"VOFFSET=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a vertical offset for the marker symbol.\",\"help\":\"VOFFSET=*offset*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1l728z791m1mrn1m1jwvset3ovg\"}],\"supportSiteTargetFile\":\"n0bxtx84is39tsn1le3amjsgdmav.htm\"},{\"name\":\"SYMBOLIMAGE\",\"description\":\"Defines a marker symbol using an image.\",\"help\":\"SYMBOLIMAGE  NAME=*identifier*IMAGE=\\\"*image-file-specification*\\\"&lt; /*options*&gt;;\",\"arguments\":[{\"name\":\"NAME=\",\"description\":\"specifies a unique identifier for the marker symbol.\",\"help\":\"NAME=*identifier*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0fcto24lbgboun195notlykn9bi\"},{\"name\":\"IMAGE=\",\"description\":\"specifies the name and location of the image file.\",\"help\":\"IMAGE=\\\"*image-file-specification*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p19k25u9vgboctn1uro5iqz7sfwn\"},{\"name\":\"HOFFSET=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a horizontal offset for the marker symbol.\",\"help\":\"HOFFSET=*offset*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0we0uq2cypchrn172o1i9duvyoga\"},{\"name\":\"ROTATE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the angle of rotation for the marker symbol in degrees.\",\"help\":\"ROTATE=*number*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1cwyi1fh9g8nwn1vmkilwymhqt4a\"},{\"name\":\"SCALE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a scale factor for the marker symbol as a percentage.\",\"help\":\"SCALE=*double*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0sgukc15lva8gn18aqze3rk1y93a\"},{\"name\":\"VOFFSET=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a vertical offset for the marker symbol.\",\"help\":\"VOFFSET=*offset*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1l728z791m1mrn1m1jwvset3ovga\"}],\"supportSiteTargetFile\":\"p0wf7694k5nm5zn11ktb36w00frt.htm\"},{\"name\":\"TEXT\",\"description\":\"Displays the associated text values at (X, Y) locations in the graph.\",\"help\":\"TEXT X=*variable* Y=*variable* TEXT=*variable*&lt;/*options*&gt;;\",\"arguments\":[{\"name\":\"X=\",\"description\":\"specifies the variable for the X axis.\",\"help\":\"X=*variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0xnjl496ozew4n10gpsr95i3may\"},{\"name\":\"Y=\",\"description\":\"specifies the variable for the Y axis.\",\"help\":\"Y=*variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1fkkx9ps0p7ojn1fewi5dav6t7x\"},{\"name\":\"TEXT=\",\"description\":\"specifies the variable for the text values that are used for the markers.\",\"help\":\"TEXT=*variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0ieouth3it5c1n1dzrjdksx67um\"},{\"name\":\"ATTRID=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the value of the ID variable in a discrete attribute map data set.\",\"help\":\"ATTRID=*character-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0gnil4gecoz0fn1sjexzo9ka6a8x\"},{\"name\":\"BACKFILL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"displays filled bounding boxes around the text.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0pujeys6smhc9n1mtq2v5nv4cep\"},{\"name\":\"BACKLIGHT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that the text should have a back light of a contrasting color.\",\"help\":\"BACKLIGHT&lt;=*number*&gt;\",\"type\":\"standaloneOrValue\",\"supportSiteTargetFragment\":\"n0blk2u51z36h8n13t4wmm4n11f1\"},{\"name\":\"CLUSTERAXIS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the axis to use for clustering groups when GROUPDISPLAY=CLUSTER.\",\"help\":\"CLUSTERAXIS=X | Y\",\"type\":\"choice\",\"arguments\":[{\"name\":\"X\",\"type\":\"standalone\"},{\"name\":\"Y\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"p106dolg7jn9v1n1xebt4kjpq6su\"},{\"name\":\"CLUSTERWIDTH=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the width of the group clusters as a fraction of the midpoint spacing.\",\"help\":\"CLUSTERWIDTH=*numeric-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0dlvao1wxqnapn1eyiyqmlu8l1vg\"},{\"name\":\"COLORMODEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a color ramp that is to be used to determine response colors.\",\"help\":\"COLORMODEL=*style-element* | (*color-list*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the name of a style element.\",\"help\":\"*style-element* \",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0j80gk5jvponwn1i3nubsiypmn7l\"},{\"name\":\"(color-list)\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a space-separated list of colors to use in the color ramp.\",\"type\":\"color\",\"supportSiteTargetFragment\":\"n1bmynehs17vrcn1eyylzs4tatiel\"}],\"supportSiteTargetFragment\":\"p0lv0hndswc5a5n1hjd7lql3yfk6l\"},{\"name\":\"COLORRESPONSE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the numeric column that is used to map colors to a continuous color ramp.\",\"help\":\"COLORRESPONSE=*numeric-column*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0oottiwct880xn17bxx29idalzbj\"},{\"name\":\"CONTRIBUTEOFFSETS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies whether this plot's space requirements contribute to the calculation of the axis offsets.\",\"help\":\"CONTRIBUTEOFFSETS=ALL | NONE | (*axis-offset-list*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ALL\",\"followsDelimiter\":\"/\",\"description\":\"the space requirements for this plot are contributed to the axis offset calculations.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n01gtjmrm4jk6vn1wyga604l58z9\"},{\"name\":\"NONE\",\"followsDelimiter\":\"/\",\"description\":\"the space requirements for this plot are not contributed to the axis offset calculations.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1ualaj3xg5szvn1o89dyxj5du0q\"},{\"name\":\"(axis-offset-list)\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"a space-delimited list of specific contributions that this plot makes to the axis offset calculations.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p12amcvwjs3u1an1ww1a7hwnps9m\"}],\"supportSiteTargetFragment\":\"n1a7dtcmt1wj7hn1qzzqwc4f1jdm\"},{\"name\":\"DISCRETEOFFSET=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies an amount to offset all markers from discrete X or Y values.\",\"help\":\"DISCRETEOFFSET=*numeric-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0p3hwa9yc9napn1auy0marcnzxw\"},{\"name\":\"FILLATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the fill color and transparency.\",\"help\":\"FILLATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p1hhjd5tfq1syin17xh6u5dbggnij\"},{\"name\":\"GROUP=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a variable that is used to group the data.\",\"help\":\"GROUP=*variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0ihz5mnsij0ern0zx0ildin6aehi\"},{\"name\":\"GROUPDISPLAY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies how to display grouped text markers.\",\"help\":\"GROUPDISPLAY=CLUSTER | OVERLAY\",\"type\":\"choice\",\"arguments\":[{\"name\":\"CLUSTER\",\"followsDelimiter\":\"/\",\"description\":\"grouped items are drawn adjacent to each other.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1f9g1imvgdc3xn1o4qmhc3dsaxtp\"},{\"name\":\"OVERLAY\",\"followsDelimiter\":\"/\",\"description\":\"grouped items are drawn at the exact coordinate and might overlap.\",\"help\":\"OVERLAY \",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0gedf37npwg28n19wqi2annun4np\"}],\"supportSiteTargetFragment\":\"p1onemwfq9z5p2n19var688rg4wt\"},{\"name\":\"LEGENDLABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a label that identifies the markers from the plot in the legend.\",\"help\":\"LEGENDLABEL=\\\"*text-string*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0dbyql88doulwn1o4xc1p9bpcep\"},{\"name\":\"NAME=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"assigns a name to a plot statement.\",\"help\":\"NAME=\\\"*text-string*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1kiiynz0gzidxn16dsf62msnl4tz3\"},{\"name\":\"NOMISSINGGROUP\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that missing values of the group variable are not included in the plot.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n02m1yvh407h8in1bfd07hnwn93vl\"},{\"name\":\"OUTLINE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"displays outlined bounding boxes around the text.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p05w14mdpw172qn1rofe9js6zn79\"},{\"name\":\"OUTLINEATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the color of the outlines around the text boxes.\",\"help\":\"OUTLINEATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"n1k51xzwnpx0ukn1xszzwcr169ff\"},{\"name\":\"PAD=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the amount of extra space that is added inside the text-marker border.\",\"help\":\"PAD=*dimension*&lt;*units*&gt; | *(pad-options)*\",\"type\":\"choice\",\"arguments\":[{\"name\":\"dimension\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a dimension to use for the extra space at the left, right, top, and bottom of the text-marker border.\",\"help\":\"*dimension* \",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1vnsl4vr1fzx9n17erblxkzev3k\"},{\"name\":\"(pad-options)\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a space-separated list of one or more pad options enclosed in parentheses.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0hznt3n3feb27n1m6hmujfvjy84\"}],\"supportSiteTargetFragment\":\"n0p0yy7hcbmvkyn1o18fcoeqppnj\"},{\"name\":\"POSITION=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the position of the text with respect to the location of the data point.\",\"help\":\"POSITION=*position-option* | *character-variable*\",\"type\":\"choice\",\"arguments\":[{\"name\":\"position-option\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"character-variable\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"n0gmi7r0dh1c1cn18f48bi1xz639\"},{\"name\":\"RATTRID=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the value of the ID variable in a range attribute map data set.\",\"help\":\"RATTRID=*character-value* \",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0ib6229clpp3kn1ramopvfnfj60l\"},{\"name\":\"ROTATE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the angle of rotation in degrees for the text markers.\",\"help\":\"ROTATE=*number* | *numeric-column*\",\"type\":\"choice\",\"arguments\":[{\"name\":\"number\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"numeric-column\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"n1jssk0di66f7an1bs5bd7y5r9a4\"},{\"name\":\"SIZEMAX=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the maximum font size for the largest text marker when a response variable is used to size the text-marker font.\",\"help\":\"SIZEMAX=*numeric-value*&lt;*units*&gt;\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n16xcu7awel3sqn1ufi60khg57z2\"},{\"name\":\"SIZEMAXRESPONSE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the response value that corresponds to the maximum font size for text markers.\",\"help\":\"SIZEMAXRESPONSE=*number* \",\"type\":\"value\",\"supportSiteTargetFragment\":\"p16q3llxmetlcnn194pz176qj67b\"},{\"name\":\"SIZEMIN=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the minimum font size for text markers when a response variable is used to size the font for text values.\",\"help\":\"SIZEMIN=*numeric-value*&lt;*units*&gt;\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n08050j7mj4wcjn1w4et94pz7j6g\"},{\"name\":\"SIZERESPONSE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a response variable that is used to determine the font size for each text value.\",\"help\":\"SIZERESPONSE=*numeric-variable* \",\"type\":\"value\",\"supportSiteTargetFragment\":\"p13wgoad6chp37n10ei6i2brns03\"},{\"name\":\"SPLITCHAR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies one or more characters on which the text is always split.\",\"help\":\"SPLITCHAR=\\\"*character-list*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p04b8w0ss5ybwen18oge5p073bkm\"},{\"name\":\"SPLITCHARNODROP\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that the split characters are included in the displayed value.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n14709s0abhdhwn1egqsv6sblzn7\"},{\"name\":\"SPLITJUSTIFY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the horizontal alignment of the value text that is being split.\",\"help\":\"SPLITJUSTIFY=LEFT | CENTER | RIGHT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"LEFT\",\"type\":\"standalone\"},{\"name\":\"CENTER\",\"type\":\"standalone\"},{\"name\":\"RIGHT\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"p0ygkk5efkff3tn1nbb2nfh5uocx\"},{\"name\":\"SPLITPOLICY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a policy for avoiding collisions among the text markers.\",\"help\":\"SPLITPOLICY=NONE | SPLIT | SPLITALWAYS\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NONE\",\"followsDelimiter\":\"/\",\"description\":\"does not split the text for text markers that collide.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1innj4agdx7uyn1h6cyps3pxaoz\"},{\"name\":\"SPLIT\",\"followsDelimiter\":\"/\",\"description\":\"splits the marker text at a split character only if a split is needed at that character in order to make the text fit the available space.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1wga0kk48yyg6n1vj0mznr9om3r\"},{\"name\":\"SPLITALWAYS\",\"followsDelimiter\":\"/\",\"description\":\"splits the marker text at every occurrence of a split character.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1hbzh68m4at0jn10kivukrsk9ai\"}],\"supportSiteTargetFragment\":\"n1x4i61ohrwgwdn1t7oxpkkwsg2x\"},{\"name\":\"SPLITWIDTH=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the maximum width of each split line, expressed as a character count.\",\"help\":\"SPLITWIDTH=*width-in-characters*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n11tks8cs0mj88n1glr91khwkypl\"},{\"name\":\"STRIP\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that leading and trailing blanks should be stripped from the marker text before it is displayed.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0cv36186zneifn0z35fb7t16uwm\"},{\"name\":\"TEXTATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the color and font properties of the marker text.\",\"help\":\"TEXTATTRS=*style-element*&lt;(*text-options*)&gt; | (*text-options*) \",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(text-options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p0erywf4auwbxdn1cyngektbqn9z\"},{\"name\":\"TIP=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the data tip information to be displayed when the cursor is positioned over the graphics element.\",\"help\":\"TIP=(*variable-list*) | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"(variable-list)\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"a space-separated list of variables enclosed in parentheses.\",\"help\":\"(*variable-list*) \",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1xt1um6hrz1xyn1sjttwqpgpo2gr\"},{\"name\":\"NONE\",\"followsDelimiter\":\"/\",\"description\":\"suppresses the data tips from this plot.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0juujvli3nm16n1m4i3zstsmn7ur\"}],\"supportSiteTargetFragment\":\"n0tlg070rp5jkkn193er1c3er8vvr\"},{\"name\":\"TIPFORMAT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"applies formats to the list of data tip variables that you specify in the TIP= option.\",\"help\":\"TIPFORMAT=(*format-list*)\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1vgm3eynz19vzn1mlqm98fezlp5q\"},{\"name\":\"TIPLABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"applies labels to the list of data tip variables that you specify in the TIP= option.\",\"help\":\"TIPLABEL=(*label-list*)\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0tod59njrbtewn1hk76dznibemuq\"},{\"name\":\"TRANSPARENCY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the degree of transparency for the plot.\",\"help\":\"TRANSPARENCY=*value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0hjrs3w86z8ean1npu022im7j2sw\"},{\"name\":\"URL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies an HTML page to be displayed when parts of the plot are selected.\",\"help\":\"URL=*character-variable*\",\"type\":\"value\",\"arguments\":[{\"name\":\"character-variable\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a variable that contains a valid HTML page reference (HREF) for each plot element that is to have an active link.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0x9yrlql13u7gn11kr1daq2vd9sn\"}],\"supportSiteTargetFragment\":\"n0p5y7rpcnleycn17w2nttd9ipbln\"},{\"name\":\"VCENTER=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies whether the text is vertically centered with respect to the text bounding box or the text baseline.\",\"help\":\"VCENTER=BBOX | BASELINE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"BBOX\",\"followsDelimiter\":\"/\",\"description\":\"vertically centers the text with respect to its bounding box.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0q1zmku0bhinun1iudi6jrb48yw\"},{\"name\":\"BASELINE\",\"followsDelimiter\":\"/\",\"description\":\"vertically centers the text with respect to the text baseline.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n15qfv3319zrren149qakg3lmr4s\"}],\"supportSiteTargetFragment\":\"n14la1xnqq00l0n12x4vr52myqbg\"},{\"name\":\"X2AXIS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"assigns the X variable to the secondary (top) horizontal axis.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1qdz8a9m6t6uen1kdob1nz79tslr\"},{\"name\":\"Y2AXIS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"assigns the Y variable to the secondary (right) vertical axis.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0zsjbjkamjq8zn1u2umymluiajco\"}],\"supportSiteTargetFile\":\"n0lprj1bdrlrkgn1vmqnd7r6fnry.htm\"},{\"name\":\"VBAR\",\"description\":\"Creates a vertical bar chart that summarizes the values of a category variable.\",\"help\":\"VBAR *category-variable*&lt;/*options*&gt;;\",\"arguments\":[{\"name\":\"category-variable\",\"placeholder\":true,\"description\":\"specifies the variable whose values determine the categories of data represented by the bars.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0aq4p4hl4zh3bn18pk6bs5ryix1\"},{\"name\":\"ALPHA=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the confidence level for the confidence limits.\",\"help\":\"ALPHA=*numeric-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0odm20uc57v24n1arb0pvg7hit0c\"},{\"name\":\"ATTRID=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the value of the ID variable in a discrete attribute map data set.\",\"help\":\"ATTRID=*character-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0gnil4gecoz0fn1sjexzo9ka6a8y\"},{\"name\":\"BARWIDTH=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the width of the bars as a ratio of the maximum possible width.\",\"help\":\"BARWIDTH=*numeric-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0mhtmcbdvmstsn1ajh3embjr0jvc\"},{\"name\":\"BASELINE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the response axis intercept for the baseline.\",\"help\":\"BASELINE=*numeric-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1fr0qhajmuoi2n1tumqbtd0ykovc\"},{\"name\":\"BASELINEATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the appearance of the baseline.\",\"help\":\"BASELINEATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p1etmfroq8mx8kn1ao7pjy3p5x2od\"},{\"name\":\"CATEGORYORDER=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the order in which the categories are arranged.\",\"help\":\"CATEGORYORDER=RESPASC | RESPDESC\",\"type\":\"choice\",\"arguments\":[{\"name\":\"RESPASC\",\"followsDelimiter\":\"/\",\"description\":\"sorts by the response values in ascending order.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0mbyw50mgkx4qn19a6ztr8whmivc\"},{\"name\":\"RESPDESC\",\"followsDelimiter\":\"/\",\"description\":\"sorts by the response values in descending order.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0utxs6l98qss3n13x69rzq367cuc\"}],\"supportSiteTargetFragment\":\"p14mwpmr7ycybcn10rkqzq0pn8iwc\"},{\"name\":\"CLUSTERWIDTH=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the cluster width as a ratio of the maximum width.\",\"help\":\"CLUSTERWIDTH=*numeric-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p10l6lw19cjkk8n1sn9ivh1iequ2c\"},{\"name\":\"COLORMODEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a color ramp that is to be used to determine response colors.\",\"help\":\"COLORMODEL=*style-element* | (*color-list*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the name of a style element.\",\"help\":\"*style-element* \",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0j80gk5jvponwn1i3nubsiypmn7m\"},{\"name\":\"(color-list)\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a space-separated list of colors to use in the color ramp.\",\"type\":\"color\",\"supportSiteTargetFragment\":\"n1bmynehs17vrcn1eyylzs4tatiem\"}],\"supportSiteTargetFragment\":\"p0lv0hndswc5a5n1hjd7lql3yfk6m\"},{\"name\":\"COLORRESPONSE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the numeric column that is used to map colors to a continuous color ramp.\",\"help\":\"COLORRESPONSE=*numeric-column*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0oottiwct880xn17bxx29idalzbk\"},{\"name\":\"COLORSTAT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the statistic to use for computing the response colors.\",\"help\":\"COLORSTAT=FREQ | PCT | SUM | MEAN | MEDIAN\",\"type\":\"choice\",\"arguments\":[{\"name\":\"FREQ\",\"followsDelimiter\":\"/\",\"description\":\"frequency count\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0x393ip9k40rhn1kd3pevc58mmbc\"},{\"name\":\"PCT\",\"followsDelimiter\":\"/\",\"aliases\":[\"PERCENT\"],\"description\":\"percentages between 0 and 100\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0341w5bjox1fjn18h9qpfr8vf0qc\"},{\"name\":\"SUM\",\"followsDelimiter\":\"/\",\"description\":\"sum values for the color response\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1icjx9sqhkyz8n1omqrg27yd1enc\"},{\"name\":\"MEAN\",\"followsDelimiter\":\"/\",\"description\":\"mean values for the color response\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0qxudt4elmjbqn1mwun5y69th13c\"},{\"name\":\"MEDIAN\",\"followsDelimiter\":\"/\",\"description\":\"median values for the color response\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0jhrh0jkboykvn14sfwtfnw3ymnc\"}],\"supportSiteTargetFragment\":\"n02t3yfdjy52ezn1g2nlyn4v77ljc\"},{\"name\":\"DATALABEL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"displays a label for each bar.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p07nkocs4zcjzgn14vy8joplowbda\"},{\"name\":\"DATALABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"displays a label for each bar.\",\"help\":\"DATALABEL=*variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p07nkocs4zcjzgn14vy8joplowbda\"},{\"name\":\"DATALABELATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the appearance of the labels in the plot when you use the DATALABEL= option.\",\"help\":\"DATALABELATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p1knsfepcp6q3tn1rcxjyvwtszoxo\"},{\"name\":\"DATALABELFITPOLICY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a policy for avoiding collisions among the bar labels when bar labels are displayed and DATALABELPOS= is DATA.\",\"help\":\"DATALABELFITPOLICY=*policy-value*\",\"type\":\"value\",\"arguments\":[{\"name\":\"NONE\",\"followsDelimiter\":\"/\",\"description\":\"does not rotate the bar labels.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1avgv3p282yrin11ddz1qbm0rca\"},{\"name\":\"ROTATE\",\"followsDelimiter\":\"/\",\"description\":\"rotates the text 90 degrees, but only if collisions occur.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0g6dnq2hcq8p8n14x3dinz7lggh\"},{\"name\":\"SPLIT\",\"followsDelimiter\":\"/\",\"description\":\"splits the labels at the character or characters specified in the SPLITCHAR= option.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0wv4aybm5bne0n1jtozu3z4x405\"},{\"name\":\"SPLITALWAYS\",\"followsDelimiter\":\"/\",\"description\":\"always splits the values at the character or characters specified in the SPLITCHAR= option.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n150520hec4eq4n1x83nl6wkwyvq\"}],\"supportSiteTargetFragment\":\"p1b90um08zez8pn1gg2poj3rcuux\"},{\"name\":\"DATALABELPOS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the location of the data label.\",\"help\":\"DATALABELPOS=DATA | BOTTOM | TOP\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DATA\",\"followsDelimiter\":\"/\",\"description\":\"places the label on the data primitives (at the upper boundary of the bars).\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1lwtnybsii1eyn1atzxyqxq2ddu\"},{\"name\":\"BOTTOM\",\"followsDelimiter\":\"/\",\"description\":\"places the label below the bars on the bottom edge of the data area.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0si6gs72bewqln1hbwxz0pbbp2g\"},{\"name\":\"TOP\",\"followsDelimiter\":\"/\",\"description\":\"places the label above the bars on the top edge of the data area.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1srrahs9471a1n1lpup87gzb1i3\"}],\"supportSiteTargetFragment\":\"p03vvb1bicwncfn1jsiw3wwb2oxn\"},{\"name\":\"DATASKIN=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a special effect to be used on the plot.\",\"help\":\"DATASKIN=NONE | CRISP | GLOSS | MATTE | PRESSED | SHEEN\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NONE\",\"type\":\"standalone\"},{\"name\":\"CRISP\",\"type\":\"standalone\"},{\"name\":\"GLOSS\",\"type\":\"standalone\"},{\"name\":\"MATTE\",\"type\":\"standalone\"},{\"name\":\"PRESSED\",\"type\":\"standalone\"},{\"name\":\"SHEEN\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"n14kr95kkmeuh0n1hbaha6dpxa24q\"},{\"name\":\"DISCRETEOFFSET=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies an amount to offset all bars from the category midpoints.\",\"help\":\"DISCRETEOFFSET=*numeric-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0idfr3hyg4bvgn1m8r1gx5m4buac\"},{\"name\":\"DISPLAYBASELINE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies whether the baseline is displayed.\",\"help\":\"DISPLAYBASELINE=AUTO | ON | OFF\",\"type\":\"choice\",\"arguments\":[{\"name\":\"AUTO\",\"followsDelimiter\":\"/\",\"description\":\"displays the baseline if the baseline intercept is within the response-axis range, excluding the minimum and maximum axis values.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n14kidk5sz230zn1t4t5o38of8twd\"},{\"name\":\"ON\",\"followsDelimiter\":\"/\",\"description\":\"always displays the baseline.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0br3ohjmlp9ntn1fmjekz3h2v6vd\"},{\"name\":\"OFF\",\"followsDelimiter\":\"/\",\"description\":\"hides the baseline.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0mzb9slm5101yn1ef8bab6lqy6qd\"}],\"supportSiteTargetFragment\":\"n1q5mmv6wkhlnhn1kq647ur0r3cad\"},{\"name\":\"FILL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies whether the bars are filled.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0kfyue6cvbl1rn1wagcb7h5awkh\"},{\"name\":\"NOFILL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies whether the bars are filled.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0kfyue6cvbl1rn1wagcb7h5awkh\"},{\"name\":\"FILLATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the fill color and transparency.\",\"help\":\"FILLATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p1hhjd5tfq1syin17xh6u5dbggnik\"},{\"name\":\"FILLENDCOLOR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a fill color that is applied to the chart at the baseline.\",\"help\":\"FILLENDCOLOR=*color*\",\"type\":\"color\",\"supportSiteTargetFragment\":\"n1w9f93nam1tbvn1l2nw21039383d\"},{\"name\":\"FILLPATTERN\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"enables the display of line fill patterns for the plot.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p07xphkuqlrhegn1gw3om8nho8t2k\"},{\"name\":\"FILLPATTERNATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the line-fill color and pattern.\",\"help\":\"FILLPATTERNATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the name of a style element.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1ax5rq5d5pv92n1fm7n5kp87zimk\"},{\"name\":\"COLOR=\",\"followsDelimiter\":\"/\",\"description\":\"specifies a color to use for the fill lines.\",\"help\":\"COLOR=*color*\",\"type\":\"color\",\"supportSiteTargetFragment\":\"n1n8357n5tfkkmn1jstn0zkf9rb0k\"},{\"name\":\"PATTERN=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the type of line pattern to use for the fill.\",\"help\":\"PATTERN=*line-pattern*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n14ba3ejj32rz9n16hkm0peyn9eok\"}],\"supportSiteTargetFragment\":\"p192pnl5qjjtbrn0zuvxg7pvvrs9k\"},{\"name\":\"FILLTYPE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the fill type that is applied to the chart.\",\"help\":\"FILLTYPE=SOLID | GRADIENT | ALPHAGRADIENT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"SOLID\",\"followsDelimiter\":\"/\",\"description\":\"each bar is filled with the color that is assigned to the bar fill area.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1vbbdhyffk2mpn1gt5putgqzezgd\"},{\"name\":\"GRADIENT\",\"followsDelimiter\":\"/\",\"description\":\"displays the color from the applied style at the end of the bar gradually changing to the color of the wall at the baseline of the bar.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0l4dqip53lw9qn1arlft8qol1y4d\"},{\"name\":\"ALPHAGRADIENT\",\"followsDelimiter\":\"/\",\"description\":\"a gradient is used to determine the fill color.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p08hjuyghvu39nn184cyl1uhsia6d\"}],\"supportSiteTargetFragment\":\"n12v2sckfnfymjn1bkv83o7somc7d\"},{\"name\":\"FREQ=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a variable for the frequency count for each observation in the input data.\",\"help\":\"FREQ=*numeric-variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1i0jzew1006vxn1cu1xftid3xnmd\"},{\"name\":\"GROUP=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a variable that is used to group the data.\",\"help\":\"GROUP=*variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n12ydifq7odra9n16dvrvz15klzjd\"},{\"name\":\"GROUPDISPLAY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies how to display grouped bars.\",\"help\":\"GROUPDISPLAY=STACK | CLUSTER\",\"type\":\"choice\",\"arguments\":[{\"name\":\"STACK\",\"followsDelimiter\":\"/\",\"description\":\"groups are overlaid without any clustering.\",\"help\":\"STACK \",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1da5vp05x9z9un1mszrpgnbt3c3c\"},{\"name\":\"CLUSTER\",\"followsDelimiter\":\"/\",\"description\":\"displays group values as separate adjacent bars that replace the single category bar.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1ubsk9vr1uc72n15g4cchmg3q6tc\"}],\"supportSiteTargetFragment\":\"n15p29rzw3zmtyn14xi6z3qpazkbc\"},{\"name\":\"GROUPORDER=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the ordering of the groups within a category.\",\"help\":\"GROUPORDER=DATA | REVERSEDATA | ASCENDING | DESCENDING\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DATA\",\"followsDelimiter\":\"/\",\"description\":\"orders the groups within a category in data order of the group variable.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n17ush6ke65xben1qm2p0dn9pjjal\"},{\"name\":\"REVERSEDATA\",\"followsDelimiter\":\"/\",\"description\":\"orders the groups within a category in the reverse data order of the group variable.\",\"help\":\"REVERSEDATA \",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0ybf6fv2jznutn1fir9sn5as9yql\"},{\"name\":\"ASCENDING\",\"followsDelimiter\":\"/\",\"description\":\"orders the groups within a category in ascending order of the group variable.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0illc3sf337wnn1kvp0yuul2s1tl\"},{\"name\":\"DESCENDING\",\"followsDelimiter\":\"/\",\"description\":\"orders the groups within a category in descending order of the group variable.\",\"help\":\"DESCENDING \",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p15mm3o64qe2qgn16nv32zmcnleel\"}],\"supportSiteTargetFragment\":\"n0iz9rcg3x496dn1sfn1g6ernd9ol\"},{\"name\":\"INTERVALBARWIDTH=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the thickness of the bars when the category data is numeric.\",\"help\":\"INTERVALBARWIDTH=*numeric-value*&lt;*units*&gt;\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0jtdbg2299cffn1ppgzo0gpogvod\"},{\"name\":\"LEGENDLABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the label that identifies the bar chart in the legend.\",\"help\":\"LEGENDLABEL=\\\"*text-string*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n00n0m8zg78ap9n18sq3wtz0a6qq\"},{\"name\":\"LIMITATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the appearance of the limit lines in the plot.\",\"help\":\"LIMITATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p08aoyoslv97xxn1mzsm5dyit5xz\"},{\"name\":\"LIMITCAPSCALE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a positive number to use as a multiplier for changing the default width of the limit-bar cap (serif).\",\"help\":\"LIMITCAPSCALE=*positive-number*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n18viyznshxlgln1s3f9ix0xbt4bd\"},{\"name\":\"LIMITS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies which limit lines to display.\",\"help\":\"LIMITS=BOTH | LOWER | UPPER\",\"type\":\"choice\",\"arguments\":[{\"name\":\"BOTH\",\"followsDelimiter\":\"/\",\"description\":\"adds lower and upper limit lines to the plot.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0iunwx5zrrr84n1793h08otl4rw\"},{\"name\":\"LOWER\",\"followsDelimiter\":\"/\",\"description\":\"adds lower limit lines to the plot.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0i5c0sjtp6rt7n1hmrinzqu2hnk\"},{\"name\":\"UPPER\",\"followsDelimiter\":\"/\",\"description\":\"adds upper limit lines to the plot.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1qqj3418zairjn1rqt1nar8zdmp\"}],\"supportSiteTargetFragment\":\"p16lr9uw2snrfbn1o8hsxjrfgp5m\"},{\"name\":\"LIMITSTAT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the statistic for the limit lines.\",\"help\":\"LIMITSTAT=CLM | STDDEV | STDERR\",\"type\":\"choice\",\"arguments\":[{\"name\":\"CLM\",\"followsDelimiter\":\"/\",\"description\":\"confidence limits\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0zppjift84l0xn189qfqz4dhtw0\"},{\"name\":\"STDDEV\",\"followsDelimiter\":\"/\",\"description\":\"standard deviation\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1a51gbbqzwjaon1o7o43pvaqhoj\"},{\"name\":\"STDERR\",\"followsDelimiter\":\"/\",\"description\":\"standard error\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1bm0peerp2n0an11kmf92hppfrn\"}],\"supportSiteTargetFragment\":\"n0k0qtlwyup28zn1wt9jx5n9hvgg\"},{\"name\":\"MISSING\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"accepts a missing value as a valid category value.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1qgab12e89o2xn1i6zp5mfz3208g\"},{\"name\":\"NAME=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"assigns a name to a plot statement.\",\"help\":\"NAME=\\\"*text-string*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1kiiynz0gzidxn16dsf62msnl4tz4\"},{\"name\":\"NOZEROBARS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses zero-length bars.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n00ng2jnzcc27tn1vun7cjlq4oz7c\"},{\"name\":\"NUMSTD=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the number of standard units for the limit lines, when you specify LIMITSTAT=STDDEV or LIMITSTAT=STDERR.\",\"help\":\"NUMSTD=*n*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0y20g8d90rmt5n18oi06s70qt7m\"},{\"name\":\"OUTLINE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies whether the bars have outlines.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n049e320vla1iqn1lqf1tn5lyoct\"},{\"name\":\"NOOUTLINE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies whether the bars have outlines.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n049e320vla1iqn1lqf1tn5lyoct\"},{\"name\":\"OUTLINEATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the appearance of the bar outlines.\",\"help\":\"OUTLINEATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"n1qaif9zn7wh3mn13f1muabcj35mc\"},{\"name\":\"RATTRID=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the value of the ID variable in a range attribute map data set.\",\"help\":\"RATTRID=*character-value* \",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0ib6229clpp3kn1ramopvfnfj60m\"},{\"name\":\"RESPONSE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a numeric response variable for the plot.\",\"help\":\"RESPONSE=*response-variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0025u0669np1pn1vnw4wy7a5z64\"},{\"name\":\"SEGLABEL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"displays a label inside each segment of a stacked bar.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0f9e89gx8pqjen1muljrgq8n4r6c\"},{\"name\":\"SEGLABELATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the text properties of the bar segment label text.\",\"help\":\"SEGLABELATTRS=*style-element*&lt;(*options*)&gt; | (*options*) \",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"n1rmvzutd0uz71n18bzmo95678m2c\"},{\"name\":\"SEGLABELFITPOLICY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a policy for fitting the bar segment labels within the bar segments.\",\"help\":\"SEGLABELFITPOLICY=NONE | NOCLIP | THIN\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NONE\",\"followsDelimiter\":\"/\",\"description\":\"no attempt is made to fit each segment label within its bar.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1q3pyrv2q3d00n1gk80qrokunulc\"},{\"name\":\"NOCLIP\",\"followsDelimiter\":\"/\",\"description\":\"does not clip bar segment labels that extend beyond the plot area.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0pdaicaup0yxkn19evnnz7tj1ouc\"},{\"name\":\"THIN\",\"followsDelimiter\":\"/\",\"description\":\"drops any bar segment label that does not fit within its segment.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1eahmu0ii7jbgn19vrdp0ll6ap6c\"}],\"supportSiteTargetFragment\":\"n0gvkvrf8rtcoyn0zsiw4jfjbjpxc\"},{\"name\":\"SEGLABELFORMAT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the text format used to display the bar segment labels.\",\"help\":\"SEGLABELFORMAT=*format*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0bbys9kblp7zwn1464igc4hehxyc\"},{\"name\":\"SPLITCHAR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies one or more characters on which the text for data labels is always split.\",\"help\":\"SPLITCHAR=\\\"*character-list*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1uloff5glv6hcn1ginrortjqxq1e\"},{\"name\":\"SPLITCHARNODROP\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that the split characters are included in the displayed value.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p17rdbkgdneovrn1ue8o2kpkg9ewq\"},{\"name\":\"STAT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the statistic for the vertical axis.\",\"help\":\"STAT=FREQ | MEAN | MEDIAN | PERCENT | SUM\",\"type\":\"choice\",\"arguments\":[{\"name\":\"FREQ\",\"followsDelimiter\":\"/\",\"description\":\"the frequencies of the response or category variable.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1dvjmu4057kawn1f7tqekui3byr\"},{\"name\":\"MEAN\",\"followsDelimiter\":\"/\",\"description\":\"the mean of the response variable.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0d2mu5pkkv208n1ezt76g07wo7p\"},{\"name\":\"MEDIAN\",\"followsDelimiter\":\"/\",\"description\":\"the median of the response variable.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1vinrpwkrvu89n1qksalsey7hi1\"},{\"name\":\"PERCENT\",\"followsDelimiter\":\"/\",\"aliases\":[\"PCT\"],\"description\":\"the percentage of the response or category variable.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1ga6i8z99flpzn1bq2xpqp2x1sz\"},{\"name\":\"SUM\",\"followsDelimiter\":\"/\",\"description\":\"the sum of the response variable.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0txv7ehikq5f0n1t210fewx6jl7\"}],\"supportSiteTargetFragment\":\"n17juzi1dax3syn1j1w4dl6brlse\"},{\"name\":\"STATLABEL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies whether the response variable statistic is displayed in the axis and legend labels.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1r49ex2y13gycn16z7g54hgwzv5c\"},{\"name\":\"NOSTATLABEL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies whether the response variable statistic is displayed in the axis and legend labels.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1r49ex2y13gycn16z7g54hgwzv5c\"},{\"name\":\"TIP=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the data tip information to be displayed when the cursor is positioned over the graphics element.\",\"help\":\"TIP=(*variable-list*) | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"(variable-list)\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"a space-separated list of variables enclosed in parentheses.\",\"help\":\"(*variable-list*) \",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1xt1um6hrz1xyn1sjttwqpgpo2gs\"},{\"name\":\"NONE\",\"followsDelimiter\":\"/\",\"description\":\"suppresses the data tips from this plot.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0juujvli3nm16n1m4i3zstsmn7us\"}],\"supportSiteTargetFragment\":\"n0tlg070rp5jkkn193er1c3er8vvs\"},{\"name\":\"TIPFORMAT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"applies formats to the list of data tip variables that you specify in the TIP= option.\",\"help\":\"TIPFORMAT=(*format-list*)\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1vgm3eynz19vzn1mlqm98fezlp5r\"},{\"name\":\"TIPLABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"applies labels to the list of data tip variables that you specify in the TIP= option.\",\"help\":\"TIPLABEL=(*label-list*)\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0tod59njrbtewn1hk76dznibemur\"},{\"name\":\"TRANSPARENCY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the degree of transparency for the plot.\",\"help\":\"TRANSPARENCY=*value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0hjrs3w86z8ean1npu022im7j2sx\"},{\"name\":\"URL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies an HTML page to be displayed when parts of the plot are selected.\",\"help\":\"URL=*character-variable*\",\"type\":\"value\",\"arguments\":[{\"name\":\"character-variable\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a variable that contains a valid HTML page reference (HREF) for each plot element that is to have an active link.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0x9yrlql13u7gn11kr1daq2vd9so\"}],\"supportSiteTargetFragment\":\"n0p5y7rpcnleycn17w2nttd9ipblo\"},{\"name\":\"WEIGHT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a variable that contains values to be used as weights for the calculations.\",\"help\":\"WEIGHT=*numeric-variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1an9kc0ebg10kn1gctrhvfi7z7vc\"},{\"name\":\"X2AXIS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"assigns the category variable to the secondary (top) horizontal axis.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1fci2n54p43xln1vierbgf3wr8v\"},{\"name\":\"Y2AXIS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"assigns the response variable to the secondary (right) vertical axis.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0majth38rysbvn1n5eczwp6qruk\"}],\"supportSiteTargetFile\":\"n0p7vdd69sgf3wn1479qxqxuryrt.htm\"},{\"name\":\"VBARBASIC\",\"description\":\"Creates a vertical bar chart that is compatible with other categorization charts as well as basic plots, such as scatter and series plots, and box plots.\",\"help\":\"VBARBASIC *category-variable*&lt;/*options*&gt;;\",\"arguments\":[{\"name\":\"category-variable\",\"placeholder\":true,\"description\":\"specifies the variable whose values determine the categories of data represented by the bars.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0baaeausbkc7kn194mlw9ovqp98\"},{\"name\":\"ATTRID=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the value of the ID variable in a discrete attribute map data set.\",\"help\":\"ATTRID=*character-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0gnil4gecoz0fn1sjexzo9ka6a8z\"},{\"name\":\"BARWIDTH=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the width of the bars as a ratio of the maximum possible width.\",\"help\":\"BARWIDTH=*numeric-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0mhtmcbdvmstsn1ajh3embjr0jvd\"},{\"name\":\"BASELINE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the response axis intercept for the baseline.\",\"help\":\"BASELINE=*numeric-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1fr0qhajmuoi2n1tumqbtd0ykovd\"},{\"name\":\"BASELINEATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the appearance of the baseline.\",\"help\":\"BASELINEATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p1etmfroq8mx8kn1ao7pjy3p5x2oe\"},{\"name\":\"CLUSTERWIDTH=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the cluster width as a ratio of the maximum width.\",\"help\":\"CLUSTERWIDTH=*numeric-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p10l6lw19cjkk8n1sn9ivh1iequ2d\"},{\"name\":\"COLORMODEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a color ramp that is to be used to determine response colors.\",\"help\":\"COLORMODEL=*style-element* | (*color-list*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the name of a style element.\",\"help\":\"*style-element* \",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0j80gk5jvponwn1i3nubsiypmn7n\"},{\"name\":\"(color-list)\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a space-separated list of colors to use in the color ramp.\",\"type\":\"color\",\"supportSiteTargetFragment\":\"n1bmynehs17vrcn1eyylzs4tatien\"}],\"supportSiteTargetFragment\":\"p0lv0hndswc5a5n1hjd7lql3yfk6n\"},{\"name\":\"COLORRESPONSE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the numeric column that is used to map colors to a continuous color ramp.\",\"help\":\"COLORRESPONSE=*numeric-column*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0oottiwct880xn17bxx29idalzbl\"},{\"name\":\"COLORSTAT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the statistic to use for computing the response colors.\",\"help\":\"COLORSTAT=FREQ | PCT | SUM | MEAN | MEDIAN\",\"type\":\"choice\",\"arguments\":[{\"name\":\"FREQ\",\"followsDelimiter\":\"/\",\"description\":\"frequency count\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0x393ip9k40rhn1kd3pevc58mmbd\"},{\"name\":\"PCT\",\"followsDelimiter\":\"/\",\"aliases\":[\"PERCENT\"],\"description\":\"percentages between 0 and 100\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0341w5bjox1fjn18h9qpfr8vf0qd\"},{\"name\":\"SUM\",\"followsDelimiter\":\"/\",\"description\":\"sum values for the color response\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1icjx9sqhkyz8n1omqrg27yd1end\"},{\"name\":\"MEAN\",\"followsDelimiter\":\"/\",\"description\":\"mean values for the color response\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0qxudt4elmjbqn1mwun5y69th13d\"},{\"name\":\"MEDIAN\",\"followsDelimiter\":\"/\",\"description\":\"median values for the color response\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0jhrh0jkboykvn14sfwtfnw3ymnd\"}],\"supportSiteTargetFragment\":\"n02t3yfdjy52ezn1g2nlyn4v77ljd\"},{\"name\":\"DATALABEL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"displays the bar statistic value for each bar.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0hmgozurkcxvzn1b5cke3z9qh8ga\"},{\"name\":\"DATALABELATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the appearance of the labels in the plot when you use the DATALABEL option.\",\"help\":\"DATALABELATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p1knsfepcp6q3tn1rcxjyvwtszoxp\"},{\"name\":\"DATALABELFITPOLICY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that no fit policy is implemented for the bar labels.\",\"help\":\"DATALABELFITPOLICY=NONE\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1uix489vqhk6qn1wwhjlelc6y1i\"},{\"name\":\"DATALABELFORMAT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the text format used to display the bar label.\",\"help\":\"DATALABELFORMAT=*format*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1r9wene0gdgdrn1tb4c3crp9hzpa\"},{\"name\":\"DATASKIN=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a special effect to be used on the plot.\",\"help\":\"DATASKIN=NONE | CRISP | GLOSS | MATTE | PRESSED | SHEEN\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NONE\",\"type\":\"standalone\"},{\"name\":\"CRISP\",\"type\":\"standalone\"},{\"name\":\"GLOSS\",\"type\":\"standalone\"},{\"name\":\"MATTE\",\"type\":\"standalone\"},{\"name\":\"PRESSED\",\"type\":\"standalone\"},{\"name\":\"SHEEN\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"n14kr95kkmeuh0n1hbaha6dpxa24r\"},{\"name\":\"DISCRETEOFFSET=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies an amount to offset all bars from the category midpoints.\",\"help\":\"DISCRETEOFFSET=*numeric-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0idfr3hyg4bvgn1m8r1gx5m4buad\"},{\"name\":\"DISPLAYBASELINE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies whether the baseline is displayed.\",\"help\":\"DISPLAYBASELINE=AUTO | ON | OFF\",\"type\":\"choice\",\"arguments\":[{\"name\":\"AUTO\",\"followsDelimiter\":\"/\",\"description\":\"displays the baseline if the baseline intercept is within the response-axis range, excluding the minimum and maximum axis values.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n14kidk5sz230zn1t4t5o38of8twe\"},{\"name\":\"ON\",\"followsDelimiter\":\"/\",\"description\":\"always displays the baseline.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0br3ohjmlp9ntn1fmjekz3h2v6ve\"},{\"name\":\"OFF\",\"followsDelimiter\":\"/\",\"description\":\"hides the baseline.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0mzb9slm5101yn1ef8bab6lqy6qe\"}],\"supportSiteTargetFragment\":\"n1q5mmv6wkhlnhn1kq647ur0r3cae\"},{\"name\":\"FILL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies whether the bars are filled.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1guced22tg0v0n1w7siufk5uo4f\"},{\"name\":\"NOFILL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies whether the bars are filled.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1guced22tg0v0n1w7siufk5uo4f\"},{\"name\":\"FILLATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the fill color and transparency.\",\"help\":\"FILLATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p1hhjd5tfq1syin17xh6u5dbggnil\"},{\"name\":\"FILLENDCOLOR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a fill color that is applied to the chart at the baseline.\",\"help\":\"FILLENDCOLOR=*color*\",\"type\":\"color\",\"supportSiteTargetFragment\":\"n1w9f93nam1tbvn1l2nw21039383e\"},{\"name\":\"FILLPATTERN\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"enables the display of line fill patterns for the plot.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p07xphkuqlrhegn1gw3om8nho8t2l\"},{\"name\":\"FILLPATTERNATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the line-fill color and pattern.\",\"help\":\"FILLPATTERNATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the name of a style element.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1ax5rq5d5pv92n1fm7n5kp87ziml\"},{\"name\":\"COLOR=\",\"followsDelimiter\":\"/\",\"description\":\"specifies a color to use for the fill lines.\",\"help\":\"COLOR=*color*\",\"type\":\"color\",\"supportSiteTargetFragment\":\"n1n8357n5tfkkmn1jstn0zkf9rb0l\"},{\"name\":\"PATTERN=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the type of line pattern to use for the fill.\",\"help\":\"PATTERN=*line-pattern*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n14ba3ejj32rz9n16hkm0peyn9eol\"}],\"supportSiteTargetFragment\":\"p192pnl5qjjtbrn0zuvxg7pvvrs9l\"},{\"name\":\"FILLTYPE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the fill type that is applied to the chart.\",\"help\":\"FILLTYPE=SOLID | GRADIENT | ALPHAGRADIENT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"SOLID\",\"followsDelimiter\":\"/\",\"description\":\"each bar is filled with the color that is assigned to the bar fill area.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1vbbdhyffk2mpn1gt5putgqzezge\"},{\"name\":\"GRADIENT\",\"followsDelimiter\":\"/\",\"description\":\"displays the color from the applied style at the end of the bar gradually changing to the color of the wall at the baseline of the bar.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0l4dqip53lw9qn1arlft8qol1y4e\"},{\"name\":\"ALPHAGRADIENT\",\"followsDelimiter\":\"/\",\"description\":\"a gradient is used to determine the fill color.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p08hjuyghvu39nn184cyl1uhsia6e\"}],\"supportSiteTargetFragment\":\"n12v2sckfnfymjn1bkv83o7somc7e\"},{\"name\":\"GROUP=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a variable that is used to group the data.\",\"help\":\"GROUP=*variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n12ydifq7odra9n16dvrvz15klzje\"},{\"name\":\"GROUPDISPLAY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies how to display grouped bars.\",\"help\":\"GROUPDISPLAY=STACK | CLUSTER\",\"type\":\"choice\",\"arguments\":[{\"name\":\"STACK\",\"followsDelimiter\":\"/\",\"description\":\"groups are overlaid without any clustering.\",\"help\":\"STACK \",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1da5vp05x9z9un1mszrpgnbt3c3d\"},{\"name\":\"CLUSTER\",\"followsDelimiter\":\"/\",\"description\":\"displays group values as separate adjacent bars that replace the single category bar.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1ubsk9vr1uc72n15g4cchmg3q6td\"}],\"supportSiteTargetFragment\":\"n15p29rzw3zmtyn14xi6z3qpazkbd\"},{\"name\":\"GROUPORDER=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the ordering of the groups within a category.\",\"help\":\"GROUPORDER=DATA | REVERSEDATA | ASCENDING | DESCENDING\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DATA\",\"followsDelimiter\":\"/\",\"description\":\"orders the groups within a category in data order of the group variable.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n17ush6ke65xben1qm2p0dn9pjjam\"},{\"name\":\"REVERSEDATA\",\"followsDelimiter\":\"/\",\"description\":\"orders the groups within a category in the reverse data order of the group variable.\",\"help\":\"REVERSEDATA \",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0ybf6fv2jznutn1fir9sn5as9yqm\"},{\"name\":\"ASCENDING\",\"followsDelimiter\":\"/\",\"description\":\"orders the groups within a category in ascending order of the group variable.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0illc3sf337wnn1kvp0yuul2s1tm\"},{\"name\":\"DESCENDING\",\"followsDelimiter\":\"/\",\"description\":\"orders the groups within a category in descending order of the group variable.\",\"help\":\"DESCENDING \",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p15mm3o64qe2qgn16nv32zmcnleem\"}],\"supportSiteTargetFragment\":\"n0iz9rcg3x496dn1sfn1g6ernd9om\"},{\"name\":\"INTERVALBARWIDTH=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the thickness of the bars when the category data is numeric.\",\"help\":\"INTERVALBARWIDTH=*numeric-value*&lt;*units*&gt;\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0jtdbg2299cffn1ppgzo0gpogvoe\"},{\"name\":\"LEGENDLABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the label that identifies the bar chart in the legend.\",\"help\":\"LEGENDLABEL=\\\"*text-string*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1ine6bc0h76e7n1boixp48xk5xl\"},{\"name\":\"MISSING\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"accepts a missing value as a valid category value.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1qgab12e89o2xn1i6zp5mfz3208h\"},{\"name\":\"NAME=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"assigns a name to a plot statement.\",\"help\":\"NAME=\\\"*text-string*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1kiiynz0gzidxn16dsf62msnl4tz5\"},{\"name\":\"NOZEROBARS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses zero-length bars.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n00ng2jnzcc27tn1vun7cjlq4oz7d\"},{\"name\":\"OUTLINE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies whether the bars have outlines.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0gi9njqfrxeden1ii5ae3jpbpvy\"},{\"name\":\"NOOUTLINE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies whether the bars have outlines.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0gi9njqfrxeden1ii5ae3jpbpvy\"},{\"name\":\"OUTLINEATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the appearance of the bar outlines.\",\"help\":\"OUTLINEATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"n1qaif9zn7wh3mn13f1muabcj35md\"},{\"name\":\"RATTRID=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the value of the ID variable in a range attribute map data set.\",\"help\":\"RATTRID=*character-value* \",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0ib6229clpp3kn1ramopvfnfj60n\"},{\"name\":\"RESPONSE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a numeric response variable for the plot.\",\"help\":\"RESPONSE=*response-variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0vo7fkoertaadn1o3by8ga3pvhj\"},{\"name\":\"SEGLABEL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"displays a label inside each segment of a stacked bar.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0f9e89gx8pqjen1muljrgq8n4r6d\"},{\"name\":\"SEGLABELATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the text properties of the bar segment label text.\",\"help\":\"SEGLABELATTRS=*style-element*&lt;(*options*)&gt; | (*options*) \",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"n1rmvzutd0uz71n18bzmo95678m2d\"},{\"name\":\"SEGLABELFITPOLICY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a policy for fitting the bar segment labels within the bar segments.\",\"help\":\"SEGLABELFITPOLICY=NONE | NOCLIP | THIN\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NONE\",\"followsDelimiter\":\"/\",\"description\":\"no attempt is made to fit each segment label within its bar.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1q3pyrv2q3d00n1gk80qrokunuld\"},{\"name\":\"NOCLIP\",\"followsDelimiter\":\"/\",\"description\":\"does not clip bar segment labels that extend beyond the plot area.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0pdaicaup0yxkn19evnnz7tj1oud\"},{\"name\":\"THIN\",\"followsDelimiter\":\"/\",\"description\":\"drops any bar segment label that does not fit within its segment.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1eahmu0ii7jbgn19vrdp0ll6ap6d\"}],\"supportSiteTargetFragment\":\"n0gvkvrf8rtcoyn0zsiw4jfjbjpxd\"},{\"name\":\"SEGLABELFORMAT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the text format used to display the bar segment labels.\",\"help\":\"SEGLABELFORMAT=*format*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0bbys9kblp7zwn1464igc4hehxyd\"},{\"name\":\"STAT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the statistic for the vertical axis.\",\"help\":\"STAT=FREQ | PCT | SUM | MEAN | PROPORTION\",\"type\":\"choice\",\"arguments\":[{\"name\":\"FREQ\",\"followsDelimiter\":\"/\",\"description\":\"frequency count\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p15wxz6aofacjgn1tem9nk2zae4wa\"},{\"name\":\"PERCENT\",\"followsDelimiter\":\"/\",\"aliases\":[\"PCT\"],\"description\":\"percentages between 0 and 100\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n10ae4xl5d6p40n17uafqznnupp8a\"},{\"name\":\"PROPORTION\",\"followsDelimiter\":\"/\",\"description\":\"proportions between 0 and 1\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0b7r609v0kvxbn1q8k10v03co0ea\"},{\"name\":\"SUM\",\"followsDelimiter\":\"/\",\"description\":\"sum values for the response\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0ivqtirr0cdejn1m3frm30l13dea\"},{\"name\":\"MEAN\",\"followsDelimiter\":\"/\",\"description\":\"mean values for the response\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1edbgx0sp9kujn1q73tgxdrd4qva\"}],\"supportSiteTargetFragment\":\"p0br2r4uxdv1ojn1go4c5oczeazwa\"},{\"name\":\"TIP=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the data tip information to be displayed when the cursor is positioned over the graphics element.\",\"help\":\"TIP=(*role-list*) | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"(role-list)\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"a space-separated list of unique chart roles enclosed in parentheses.\",\"help\":\"(*role-list*) \",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0aiziz4zfhh57n1stflmtx7ez5ha\"},{\"name\":\"NONE\",\"followsDelimiter\":\"/\",\"description\":\"suppresses the data tips from this plot.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1xru038y0rmkun13csiy1q5w6hda\"}],\"supportSiteTargetFragment\":\"n0sc31q1srtt6nn1m26ynm5437p0a\"},{\"name\":\"TIPFORMAT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"applies formats to the list of data tip roles that you specify in the TIP= option.\",\"help\":\"TIPFORMAT=(*format-list*)\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0yq3c75bgeu30n1p4l5ehco5xvzd\"},{\"name\":\"TIPLABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"applies labels to the list of data tip roles that you specify in the TIP= option.\",\"help\":\"TIPLABEL=(*label-list*)\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0hx9t8am4dc2pn1k1453p8eqre2d\"},{\"name\":\"TRANSPARENCY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the degree of transparency for the plot.\",\"help\":\"TRANSPARENCY=*value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0hjrs3w86z8ean1npu022im7j2sy\"},{\"name\":\"URL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies an HTML page to be displayed when parts of the plot are selected.\",\"help\":\"URL=*character-variable*\",\"type\":\"value\",\"arguments\":[{\"name\":\"character-variable\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a variable that contains a valid HTML page reference (HREF) for each plot element that is to have an active link.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0x9yrlql13u7gn11kr1daq2vd9sp\"}],\"supportSiteTargetFragment\":\"n0p5y7rpcnleycn17w2nttd9ipblp\"},{\"name\":\"X2AXIS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"assigns the category variable to the secondary (top) horizontal axis.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1fci2n54p43xln1vierbgf3wr8va\"},{\"name\":\"Y2AXIS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"assigns the response variable to the secondary (right) vertical axis.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0majth38rysbvn1n5eczwp6qruka\"}],\"supportSiteTargetFile\":\"n1wlslokvwlqn8n1n2mhgr5enhze.htm\"},{\"name\":\"VBARPARM\",\"description\":\"Creates a vertical bar chart based on a pre-summarized response value for each unique value of the category variable.\",\"help\":\"VBARPARM CATEGORY=*category-variable* RESPONSE=*numeric-variable*&lt;/*options*&gt;;\",\"arguments\":[{\"name\":\"CATEGORY=\",\"description\":\"specifies the variable that categorizes the data.\",\"help\":\"CATEGORY=*category-variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p00el0xchqz6yvn1cayizumctc4l\"},{\"name\":\"RESPONSE=\",\"description\":\"specifies a numeric response variable.\",\"help\":\"RESPONSE=*numeric-variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n142oqyxiybkgkn1kha28u51x47x\"},{\"name\":\"ATTRID=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the value of the ID variable in a discrete attribute map data set.\",\"help\":\"ATTRID=*character-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0gnil4gecoz0fn1sjexzo9ka6a8z1\"},{\"name\":\"BARWIDTH=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the width of the bars as a ratio of the maximum possible width.\",\"help\":\"BARWIDTH=*numeric-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0mhtmcbdvmstsn1ajh3embjr0jve\"},{\"name\":\"BASELINE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the response axis intercept for the baseline.\",\"help\":\"BASELINE=*numeric-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1fr0qhajmuoi2n1tumqbtd0ykove\"},{\"name\":\"BASELINEATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the appearance of the baseline.\",\"help\":\"BASELINEATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p1etmfroq8mx8kn1ao7pjy3p5x2of\"},{\"name\":\"CLUSTERWIDTH=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the cluster width as a ratio of the maximum width.\",\"help\":\"CLUSTERWIDTH=*numeric-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p10l6lw19cjkk8n1sn9ivh1iequ2e\"},{\"name\":\"COLORMODEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a color ramp that is to be used to determine response colors.\",\"help\":\"COLORMODEL=*style-element* | (*color-list*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the name of a style element.\",\"help\":\"*style-element* \",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0j80gk5jvponwn1i3nubsiypmn7o\"},{\"name\":\"(color-list)\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a space-separated list of colors to use in the color ramp.\",\"type\":\"color\",\"supportSiteTargetFragment\":\"n1bmynehs17vrcn1eyylzs4tatieo\"}],\"supportSiteTargetFragment\":\"p0lv0hndswc5a5n1hjd7lql3yfk6o\"},{\"name\":\"COLORRESPONSE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the numeric column that is used to map colors to a continuous color ramp.\",\"help\":\"COLORRESPONSE=*numeric-column*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0oottiwct880xn17bxx29idalzbm\"},{\"name\":\"DATALABEL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"displays a label for each data point.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p14nwead434yo5n0zxw4gb9zpul9c\"},{\"name\":\"DATALABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"displays a label for each data point.\",\"help\":\"DATALABEL=*variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p14nwead434yo5n0zxw4gb9zpul9c\"},{\"name\":\"DATALABELATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the appearance of the labels in the plot when you use the DATALABEL= option.\",\"help\":\"DATALABELATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p1knsfepcp6q3tn1rcxjyvwtszoxq\"},{\"name\":\"DATALABELFITPOLICY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a policy for avoiding collisions among the bar labels when bar labels are displayed and DATALABELPOS= is DATA.\",\"help\":\"DATALABELFITPOLICY=*policy-value*\",\"type\":\"value\",\"arguments\":[{\"name\":\"NONE\",\"followsDelimiter\":\"/\",\"description\":\"does not rotate the bar labels.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1avgv3p282yrin11ddz1qbm0rcaa\"},{\"name\":\"ROTATE\",\"followsDelimiter\":\"/\",\"description\":\"rotates the text 90 degrees, but only if collisions occur.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0g6dnq2hcq8p8n14x3dinz7lggha\"},{\"name\":\"SPLIT\",\"followsDelimiter\":\"/\",\"description\":\"splits the labels at the character or characters specified in the SPLITCHAR= option.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0wv4aybm5bne0n1jtozu3z4x405a\"},{\"name\":\"SPLITALWAYS\",\"followsDelimiter\":\"/\",\"description\":\"always splits the values at the character or characters specified in the SPLITCHAR= option.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n150520hec4eq4n1x83nl6wkwyvqa\"}],\"supportSiteTargetFragment\":\"p1b90um08zez8pn1gg2poj3rcuuxa\"},{\"name\":\"DATALABELPOS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the location of the data label.\",\"help\":\"DATALABELPOS=DATA | BOTTOM | TOP\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DATA\",\"followsDelimiter\":\"/\",\"description\":\"places the label on the data primitives (at the upper boundary of the bars).\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0cq3d3vdw6g4in103y1phm5iqf3\"},{\"name\":\"BOTTOM\",\"followsDelimiter\":\"/\",\"description\":\"places the label below the bars on the bottom edge of the data area.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p055skr0hsmjnfn1cauowcbzw3qy\"},{\"name\":\"TOP\",\"followsDelimiter\":\"/\",\"description\":\"places the label above the bars on the top edge of the data area.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1udqa6ch5g3p4n15eft0kcfq33l\"}],\"supportSiteTargetFragment\":\"p1mvbpgb0zyj45n1j2gtdfbebhoe\"},{\"name\":\"DATASKIN=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a special effect to be used on the plot.\",\"help\":\"DATASKIN=NONE | CRISP | GLOSS | MATTE | PRESSED | SHEEN\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NONE\",\"type\":\"standalone\"},{\"name\":\"CRISP\",\"type\":\"standalone\"},{\"name\":\"GLOSS\",\"type\":\"standalone\"},{\"name\":\"MATTE\",\"type\":\"standalone\"},{\"name\":\"PRESSED\",\"type\":\"standalone\"},{\"name\":\"SHEEN\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"n14kr95kkmeuh0n1hbaha6dpxa24s\"},{\"name\":\"DISCRETEOFFSET=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies an amount to offset all bars from the category midpoints.\",\"help\":\"DISCRETEOFFSET=*numeric-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0idfr3hyg4bvgn1m8r1gx5m4buae\"},{\"name\":\"DISPLAYBASELINE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies whether the baseline is displayed.\",\"help\":\"DISPLAYBASELINE=AUTO | ON | OFF\",\"type\":\"choice\",\"arguments\":[{\"name\":\"AUTO\",\"followsDelimiter\":\"/\",\"description\":\"displays the baseline if the baseline intercept is within the response-axis range, excluding the minimum and maximum axis values.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n14kidk5sz230zn1t4t5o38of8twf\"},{\"name\":\"ON\",\"followsDelimiter\":\"/\",\"description\":\"always displays the baseline.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0br3ohjmlp9ntn1fmjekz3h2v6vf\"},{\"name\":\"OFF\",\"followsDelimiter\":\"/\",\"description\":\"hides the baseline.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0mzb9slm5101yn1ef8bab6lqy6qf\"}],\"supportSiteTargetFragment\":\"n1q5mmv6wkhlnhn1kq647ur0r3caf\"},{\"name\":\"FILL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies whether the bars are filled.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0r52bwr0klpj1n1h7stl3buhzqk\"},{\"name\":\"NOFILL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies whether the bars are filled.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0r52bwr0klpj1n1h7stl3buhzqk\"},{\"name\":\"FILLATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the fill color and transparency.\",\"help\":\"FILLATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p1hhjd5tfq1syin17xh6u5dbggnim\"},{\"name\":\"FILLENDCOLOR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a fill color that is applied to the chart at the baseline.\",\"help\":\"FILLENDCOLOR=*color*\",\"type\":\"color\",\"supportSiteTargetFragment\":\"n1w9f93nam1tbvn1l2nw21039383f\"},{\"name\":\"FILLPATTERN\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"enables the display of line fill patterns for the plot.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p07xphkuqlrhegn1gw3om8nho8t2m\"},{\"name\":\"FILLPATTERNATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the line-fill color and pattern.\",\"help\":\"FILLPATTERNATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the name of a style element.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1ax5rq5d5pv92n1fm7n5kp87zimm\"},{\"name\":\"COLOR=\",\"followsDelimiter\":\"/\",\"description\":\"specifies a color to use for the fill lines.\",\"help\":\"COLOR=*color*\",\"type\":\"color\",\"supportSiteTargetFragment\":\"n1n8357n5tfkkmn1jstn0zkf9rb0m\"},{\"name\":\"PATTERN=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the type of line pattern to use for the fill.\",\"help\":\"PATTERN=*line-pattern*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n14ba3ejj32rz9n16hkm0peyn9eom\"}],\"supportSiteTargetFragment\":\"p192pnl5qjjtbrn0zuvxg7pvvrs9m\"},{\"name\":\"FILLTYPE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the fill type that is applied to the chart.\",\"help\":\"FILLTYPE=SOLID | GRADIENT | ALPHAGRADIENT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"SOLID\",\"followsDelimiter\":\"/\",\"description\":\"each bar is filled with the color that is assigned to the bar fill area.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1vbbdhyffk2mpn1gt5putgqzezgf\"},{\"name\":\"GRADIENT\",\"followsDelimiter\":\"/\",\"description\":\"displays the color from the applied style at the end of the bar gradually changing to the color of the wall at the baseline of the bar.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0l4dqip53lw9qn1arlft8qol1y4f\"},{\"name\":\"ALPHAGRADIENT\",\"followsDelimiter\":\"/\",\"description\":\"a gradient is used to determine the fill color.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p08hjuyghvu39nn184cyl1uhsia6f\"}],\"supportSiteTargetFragment\":\"n12v2sckfnfymjn1bkv83o7somc7f\"},{\"name\":\"GROUP=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a variable that is used to group the data.\",\"help\":\"GROUP=*variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0ihz5mnsij0ern0zx0ildin6aehj\"},{\"name\":\"GROUPDISPLAY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies how to display grouped bars.\",\"help\":\"GROUPDISPLAY=STACK | CLUSTER\",\"type\":\"choice\",\"arguments\":[{\"name\":\"STACK\",\"followsDelimiter\":\"/\",\"description\":\"groups are overlaid without any clustering.\",\"help\":\"STACK \",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1da5vp05x9z9un1mszrpgnbt3c3e\"},{\"name\":\"CLUSTER\",\"followsDelimiter\":\"/\",\"description\":\"displays group values as separate adjacent bars that replace the single category bar.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1ubsk9vr1uc72n15g4cchmg3q6te\"}],\"supportSiteTargetFragment\":\"n15p29rzw3zmtyn14xi6z3qpazkbe\"},{\"name\":\"GROUPORDER=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the ordering of the groups within a category.\",\"help\":\"GROUPORDER=DATA | REVERSEDATA | ASCENDING | DESCENDING\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DATA\",\"followsDelimiter\":\"/\",\"description\":\"orders the groups within a category in data order of the group variable.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n17ush6ke65xben1qm2p0dn9pjjan\"},{\"name\":\"REVERSEDATA\",\"followsDelimiter\":\"/\",\"description\":\"orders the groups within a category in the reverse data order of the group variable.\",\"help\":\"REVERSEDATA \",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0ybf6fv2jznutn1fir9sn5as9yqn\"},{\"name\":\"ASCENDING\",\"followsDelimiter\":\"/\",\"description\":\"orders the groups within a category in ascending order of the group variable.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0illc3sf337wnn1kvp0yuul2s1tn\"},{\"name\":\"DESCENDING\",\"followsDelimiter\":\"/\",\"description\":\"orders the groups within a category in descending order of the group variable.\",\"help\":\"DESCENDING \",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p15mm3o64qe2qgn16nv32zmcnleen\"}],\"supportSiteTargetFragment\":\"n0iz9rcg3x496dn1sfn1g6ernd9on\"},{\"name\":\"INTERVALBARWIDTH=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the thickness of the bars when the category data is numeric.\",\"help\":\"INTERVALBARWIDTH=*numeric-value*&lt;*units*&gt;\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0jtdbg2299cffn1ppgzo0gpogvof\"},{\"name\":\"LEGENDLABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the label that identifies the bar chart in the legend.\",\"help\":\"LEGENDLABEL=\\\"*text-string*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1318ciwa957m6n1tidr79eybwcb\"},{\"name\":\"LIMITATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the appearance of the limit lines in the plot.\",\"help\":\"LIMITATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p0hi5wf7fccl16n19739z9d9mlgk\"},{\"name\":\"LIMITCAPSCALE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a positive number to use as a multiplier for changing the default width of the limit-bar cap (serif).\",\"help\":\"LIMITCAPSCALE=*positive-number*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n18viyznshxlgln1s3f9ix0xbt4be\"},{\"name\":\"LIMITLOWER=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies values for the lower endpoints on the limit lines.\",\"help\":\"LIMITLOWER=*numeric-variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n07x4pm453dunnn18xczfx3xpih1\"},{\"name\":\"LIMITUPPER=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies values for the upper endpoints on the limit lines.\",\"help\":\"LIMITUPPER=*numeric-variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0otufb3gd2q4qn11v09qag604ar\"},{\"name\":\"MISSING\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"accepts a missing value as a valid category value.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1qgab12e89o2xn1i6zp5mfz3208i\"},{\"name\":\"NAME=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"assigns a name to a plot statement.\",\"help\":\"NAME=\\\"*text-string*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1kiiynz0gzidxn16dsf62msnl4tz6\"},{\"name\":\"NOZEROBARS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses zero-length bars.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n00ng2jnzcc27tn1vun7cjlq4oz7e\"},{\"name\":\"OUTLINE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies whether the bars have outlines.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0hh60ogaxub09n1nj54m9n32wri\"},{\"name\":\"NOOUTLINE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies whether the bars have outlines.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0hh60ogaxub09n1nj54m9n32wri\"},{\"name\":\"OUTLINEATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the appearance of the bar outlines.\",\"help\":\"OUTLINEATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"n1qaif9zn7wh3mn13f1muabcj35me\"},{\"name\":\"RATTRID=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the value of the ID variable in a range attribute map data set.\",\"help\":\"RATTRID=*character-value* \",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0ib6229clpp3kn1ramopvfnfj60o\"},{\"name\":\"SEGLABEL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"displays a label inside each segment of a stacked bar.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0f9e89gx8pqjen1muljrgq8n4r6e\"},{\"name\":\"SEGLABELATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the text properties of the bar segment label text.\",\"help\":\"SEGLABELATTRS=*style-element*&lt;(*options*)&gt; | (*options*) \",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"n1rmvzutd0uz71n18bzmo95678m2e\"},{\"name\":\"SEGLABELFITPOLICY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a policy for fitting the bar segment labels within the bar segments.\",\"help\":\"SEGLABELFITPOLICY=NONE | NOCLIP | THIN\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NONE\",\"followsDelimiter\":\"/\",\"description\":\"no attempt is made to fit each segment label within its bar.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1q3pyrv2q3d00n1gk80qrokunule\"},{\"name\":\"NOCLIP\",\"followsDelimiter\":\"/\",\"description\":\"does not clip bar segment labels that extend beyond the plot area.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0pdaicaup0yxkn19evnnz7tj1oue\"},{\"name\":\"THIN\",\"followsDelimiter\":\"/\",\"description\":\"drops any bar segment label that does not fit within its segment.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1eahmu0ii7jbgn19vrdp0ll6ap6e\"}],\"supportSiteTargetFragment\":\"n0gvkvrf8rtcoyn0zsiw4jfjbjpxe\"},{\"name\":\"SEGLABELFORMAT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the text format used to display the bar segment labels.\",\"help\":\"SEGLABELFORMAT=*format*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0bbys9kblp7zwn1464igc4hehxye\"},{\"name\":\"SPLITCHAR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies one or more characters on which the text for data labels is always split.\",\"help\":\"SPLITCHAR=\\\"*character-list*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1uloff5glv6hcn1ginrortjqxq1f\"},{\"name\":\"SPLITCHARNODROP\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that the split characters are included in the displayed value.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p17rdbkgdneovrn1ue8o2kpkg9ewr\"},{\"name\":\"TIP=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the data tip information to be displayed when the cursor is positioned over the graphics element.\",\"help\":\"TIP=(*variable-list*) | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"(variable-list)\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"a space-separated list of variables enclosed in parentheses.\",\"help\":\"(*variable-list*) \",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1xt1um6hrz1xyn1sjttwqpgpo2gt\"},{\"name\":\"NONE\",\"followsDelimiter\":\"/\",\"description\":\"suppresses the data tips from this plot.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0juujvli3nm16n1m4i3zstsmn7ut\"}],\"supportSiteTargetFragment\":\"n0tlg070rp5jkkn193er1c3er8vvt\"},{\"name\":\"TIPFORMAT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"applies formats to the list of data tip variables that you specify in the TIP= option.\",\"help\":\"TIPFORMAT=(*format-list*)\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1vgm3eynz19vzn1mlqm98fezlp5s\"},{\"name\":\"TIPLABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"applies labels to the list of data tip variables that you specify in the TIP= option.\",\"help\":\"TIPLABEL=(*label-list*)\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0tod59njrbtewn1hk76dznibemus\"},{\"name\":\"TRANSPARENCY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the degree of transparency for the plot.\",\"help\":\"TRANSPARENCY=*value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0hjrs3w86z8ean1npu022im7j2sz\"},{\"name\":\"URL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies an HTML page to be displayed when parts of the plot are selected.\",\"help\":\"URL=*character-variable*\",\"type\":\"value\",\"arguments\":[{\"name\":\"character-variable\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a variable that contains a valid HTML page reference (HREF) for each plot element that is to have an active link.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0x9yrlql13u7gn11kr1daq2vd9sq\"}],\"supportSiteTargetFragment\":\"n0p5y7rpcnleycn17w2nttd9ipblq\"},{\"name\":\"X2AXIS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"assigns the category variable to the secondary (top) horizontal axis.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1fci2n54p43xln1vierbgf3wr8vb\"},{\"name\":\"Y2AXIS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"assigns the response variable to the secondary (right) vertical axis.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0majth38rysbvn1n5eczwp6qrukb\"}],\"supportSiteTargetFile\":\"n0mc5dtithid5mn13c54dlgaceq3.htm\"},{\"name\":\"VBOX\",\"description\":\"Creates a vertical box plot that shows the distribution of your data.\",\"help\":\"VBOX *numeric-analysis-variable*&lt;/*options*&gt;;\",\"arguments\":[{\"name\":\"numeric-analysis-variable\",\"placeholder\":true,\"description\":\"specifies the analysis variable for the plot.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0yibyz1kvhq3nn1l9xs6g86cmhj\"},{\"name\":\"ATTRID=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the value of the ID variable in a discrete attribute map data set.\",\"help\":\"ATTRID=*character-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0gnil4gecoz0fn1sjexzo9ka6a8z2\"},{\"name\":\"BOXWIDTH=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the width of the box.\",\"help\":\"BOXWIDTH=*numeric-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0du7q3r1f6pn5n1lzkzae7a7zrz\"},{\"name\":\"CAPSCALE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a positive number to use as a multiplier for changing the default width of the whisker caps.\",\"help\":\"CAPSCALE=*numeric-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1gau9i826h6yln18wfw8wp78err\"},{\"name\":\"CAPSHAPE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the shape of the whisker cap lines.\",\"help\":\"CAPSHAPE=BRACKET | LINE | SERIF | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"BRACKET\",\"followsDelimiter\":\"/\",\"description\":\"displays a straight line with brackets.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1sspp406cmagzn1as5jjp2wabk8\"},{\"name\":\"LINE\",\"followsDelimiter\":\"/\",\"description\":\"displays a straight line.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1jsxsv6ur90ogn1hwrgquo0r7rk\"},{\"name\":\"SERIF\",\"followsDelimiter\":\"/\",\"description\":\"displays a short straight line.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1ofksn89e1a05n1eezu0ssrofgk\"},{\"name\":\"NONE\",\"followsDelimiter\":\"/\",\"description\":\"does not display a cap.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p05qnc3nqbygb1n11hevpa9l5ont\"}],\"supportSiteTargetFragment\":\"n11crgm4mw9hfxn1i8a4q03vakl4\"},{\"name\":\"CATEGORY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the category variable for the plot.\",\"help\":\"CATEGORY=*category-variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1juyzpgx5uk2bn1243nrsullj45\"},{\"name\":\"CLUSTERWIDTH=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the cluster width as a ratio of the midpoint spacing.\",\"help\":\"CLUSTERWIDTH=*numeric-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p129vehusnf2urn1oztjofqgp02m\"},{\"name\":\"CONNECT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that a connect line joins a statistic from box to box.\",\"help\":\"CONNECT=MEAN | MEDIAN | Q1 | Q3 | MIN | MAX\",\"type\":\"choice\",\"arguments\":[{\"name\":\"MEAN\",\"type\":\"standalone\"},{\"name\":\"MEDIAN\",\"type\":\"standalone\"},{\"name\":\"Q1\",\"type\":\"standalone\"},{\"name\":\"Q3\",\"type\":\"standalone\"},{\"name\":\"MIN\",\"type\":\"standalone\"},{\"name\":\"MAX\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"p0gk2fxus6afvjn1ndp1oxmw1275\"},{\"name\":\"CONNECTATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the appearance of the lines that connect multiple boxes.\",\"help\":\"CONNECTATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p00o1v9ycngjm3n1th0jvzv9s5c8\"},{\"name\":\"DATALABEL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"adds data labels for the outlier markers.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1e5yepfne1f4zn137mttauqq7tia\"},{\"name\":\"DATALABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"adds data labels for the outlier markers.\",\"help\":\"DATALABEL=*variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1e5yepfne1f4zn137mttauqq7tia\"},{\"name\":\"DATALABELATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the appearance of the labels in the plot when you use the DATALABEL= option.\",\"help\":\"DATALABELATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p1knsfepcp6q3tn1rcxjyvwtszoxr\"},{\"name\":\"DATASKIN=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a special effect to be used on the plot.\",\"help\":\"DATASKIN=NONE | CRISP | GLOSS | MATTE | PRESSED | SHEEN\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NONE\",\"type\":\"standalone\"},{\"name\":\"CRISP\",\"type\":\"standalone\"},{\"name\":\"GLOSS\",\"type\":\"standalone\"},{\"name\":\"MATTE\",\"type\":\"standalone\"},{\"name\":\"PRESSED\",\"type\":\"standalone\"},{\"name\":\"SHEEN\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"n14kr95kkmeuh0n1hbaha6dpxa24t\"},{\"name\":\"DISCRETEOFFSET=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies an amount to offset all boxes from the discrete tick marks.\",\"help\":\"DISCRETEOFFSET=*numeric-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0uq5pj9jagthrn1c2mkheggmkpz\"},{\"name\":\"DISPLAYSTATS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies statistics to be displayed for each box.\",\"help\":\"DISPLAYSTATS=ALL | (*statistics-list*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ALL\",\"followsDelimiter\":\"/\",\"description\":\"displays all available statistics.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0edik19gthgron1fwqko5wawzbka\"},{\"name\":\"statistics-list\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a space-separated list of statistics enclosed in parentheses.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n03mw90fw37lf6n1i3w6wrpdwor6a\"}],\"supportSiteTargetFragment\":\"n1eufrvegbi4djn1y2k2iu92d896a\"},{\"name\":\"EXTREME\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that the whiskers can extend to the maximum and minimum values for the analysis variable, and that outliers are not identified.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p11eqbnq582bh5n1sb5bgv9vylkt\"},{\"name\":\"FILL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies whether the boxes are filled with color.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1svno8u2q7bf8n1cyclhelv6vev\"},{\"name\":\"NOFILL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies whether the boxes are filled with color.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1svno8u2q7bf8n1cyclhelv6vev\"},{\"name\":\"FILLATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the fill color and transparency.\",\"help\":\"FILLATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p1hhjd5tfq1syin17xh6u5dbggnin\"},{\"name\":\"FILLPATTERN\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"enables the display of line fill patterns for the plot.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p07xphkuqlrhegn1gw3om8nho8t2n\"},{\"name\":\"FILLPATTERNATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the line-fill color and pattern.\",\"help\":\"FILLPATTERNATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the name of a style element.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1ax5rq5d5pv92n1fm7n5kp87zimn\"},{\"name\":\"COLOR=\",\"followsDelimiter\":\"/\",\"description\":\"specifies a color to use for the fill lines.\",\"help\":\"COLOR=*color*\",\"type\":\"color\",\"supportSiteTargetFragment\":\"n1n8357n5tfkkmn1jstn0zkf9rb0n\"},{\"name\":\"PATTERN=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the type of line pattern to use for the fill.\",\"help\":\"PATTERN=*line-pattern*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n14ba3ejj32rz9n16hkm0peyn9eon\"}],\"supportSiteTargetFragment\":\"p192pnl5qjjtbrn0zuvxg7pvvrs9n\"},{\"name\":\"FREQ=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a variable for the frequency count for each observation in the input data.\",\"help\":\"FREQ=*numeric-variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1i0jzew1006vxn1cu1xftid3xnme\"},{\"name\":\"GROUP=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a variable that is used to group the data.\",\"help\":\"GROUP=*variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0ihz5mnsij0ern0zx0ildin6aehk\"},{\"name\":\"GROUPDISPLAY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies how to display grouped boxes.\",\"help\":\"GROUPDISPLAY=CLUSTER | OVERLAY\",\"type\":\"choice\",\"arguments\":[{\"name\":\"CLUSTER\",\"followsDelimiter\":\"/\",\"description\":\"the boxes are drawn adjacent to each other.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1efc8r1s5n1o6n19mf945kkf1raa\"},{\"name\":\"OVERLAY\",\"followsDelimiter\":\"/\",\"description\":\"all the boxes for a given group value are drawn at the exact coordinate and might overlap.\",\"help\":\"OVERLAY \",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0n1hy0ajbvowqn1nzyb398sn08sa\"}],\"supportSiteTargetFragment\":\"n09bzie0oc1suvn1f8859qykokqfa\"},{\"name\":\"GROUPORDER=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the ordering of the groups within a category.\",\"help\":\"GROUPORDER=DATA | REVERSEDATA | ASCENDING | DESCENDING\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DATA\",\"followsDelimiter\":\"/\",\"description\":\"orders the groups within a category in data order of the group variable.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n17ush6ke65xben1qm2p0dn9pjjao\"},{\"name\":\"REVERSEDATA\",\"followsDelimiter\":\"/\",\"description\":\"orders the groups within a category in the reverse data order of the group variable.\",\"help\":\"REVERSEDATA \",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0ybf6fv2jznutn1fir9sn5as9yqo\"},{\"name\":\"ASCENDING\",\"followsDelimiter\":\"/\",\"description\":\"orders the groups within a category in ascending order of the group variable.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0illc3sf337wnn1kvp0yuul2s1to\"},{\"name\":\"DESCENDING\",\"followsDelimiter\":\"/\",\"description\":\"orders the groups within a category in descending order of the group variable.\",\"help\":\"DESCENDING \",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p15mm3o64qe2qgn16nv32zmcnleeo\"}],\"supportSiteTargetFragment\":\"n0iz9rcg3x496dn1sfn1g6ernd9oo\"},{\"name\":\"INTERVALBOXWIDTH=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"INTBOXWIDTH=\"],\"description\":\"specifies the box width when an interval category (X) variable is specified.\",\"help\":\"INTERVALBOXWIDTH=*numeric-value*&lt;*units*&gt;\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1g051ajifkj4on1mwbhgfs101x9\"},{\"name\":\"LABELFAR\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that only the far outliers have data labels.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1bf0u89h1bhuln112miooc18ab8\"},{\"name\":\"LEGENDLABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a label that identifies the box plot in the legend.\",\"help\":\"LEGENDLABEL=\\\"*text-string*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n15pavbbh42m3un1mbfcuyuj6lsh\"},{\"name\":\"LINEATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the appearance of the box outlines.\",\"help\":\"LINEATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"n1e44hieatge31n1noh6udktf22a\"},{\"name\":\"MEANATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the appearance of the marker that represents the mean in the box.\",\"help\":\"MEANATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"n1o08ogkgsszeyn1bck58dmrjwi4\"},{\"name\":\"MEDIANATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the appearance of the line that represents the median.\",\"help\":\"MEDIANATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"n1m99hmdttvr68n1nda6b6pp7rz6\"},{\"name\":\"MISSING\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"accepts a missing value as a valid category value.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1qgab12e89o2xn1i6zp5mfz3208j\"},{\"name\":\"NAME=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"assigns a name to a plot statement.\",\"help\":\"NAME=\\\"*text-string*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1kiiynz0gzidxn16dsf62msnl4tz7\"},{\"name\":\"NOCAPS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"hides the cap lines for the whiskers.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n042nrykqzsjcyn1paq8xuzrd5kq\"},{\"name\":\"NOMEAN\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"hides the mean marker.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1ljkgnoqstsm6n156jpbceo9yel\"},{\"name\":\"NOMEDIAN\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"hides the median line.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p16smkxfxefnktn1sjxogucfgcqz\"},{\"name\":\"NOOUTLIERS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"hides the outliers from the plot.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1avdpnfzz77w4n18kyo5ebndumc\"},{\"name\":\"NOTCHES\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that the boxes be notched.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0umkj46xp4xawn15vcgxxy4eshd\"},{\"name\":\"OUTLIERATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the appearance of the marker that represents the outliers.\",\"help\":\"OUTLIERATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"n18yzx6r3fv52yn1ll70vr247cys\"},{\"name\":\"PERCENTILE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a method for computing the percentiles for the plot.\",\"help\":\"PERCENTILE=1 | 2 | 3 | 4 | 5\",\"type\":\"choice\",\"arguments\":[{\"name\":\"1\",\"type\":\"standalone\"},{\"name\":\"2\",\"type\":\"standalone\"},{\"name\":\"3\",\"type\":\"standalone\"},{\"name\":\"4\",\"type\":\"standalone\"},{\"name\":\"5\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"p0v49p5w79mcfln1fpypawu8cj46\"},{\"name\":\"SPLITCHAR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies one or more characters on which the text for data labels is always split.\",\"help\":\"SPLITCHAR=\\\"*character-list*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1uloff5glv6hcn1ginrortjqxq1g\"},{\"name\":\"SPLITCHARNODROP\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that the split characters are included in the displayed value.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p17rdbkgdneovrn1ue8o2kpkg9ews\"},{\"name\":\"SPLITJUSTIFY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the horizontal alignment of the value text that is being split.\",\"help\":\"SPLITJUSTIFY=LEFT | CENTER | RIGHT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"LEFT\",\"type\":\"standalone\"},{\"name\":\"CENTER\",\"type\":\"standalone\"},{\"name\":\"RIGHT\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"p1gpg1oyxutpycn14zlh3q5a4u2cq\"},{\"name\":\"SPREAD\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"relocates outlier points that have identical values to prevent overlapping.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p02dfxjgb5abqmn19gorvwuzk389\"},{\"name\":\"TIP=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the information to display when the cursor is positioned over a box or whisker in the box plot.\",\"help\":\"TIP=(*role-list*) | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"(role-list)\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"a space-separated list of unique box plot roles enclosed in parentheses.\",\"help\":\"(*role-list*) \",\"type\":\"value\",\"supportSiteTargetFragment\":\"p14cv4r9xsilp5n1ltvmt9loukeda\"},{\"name\":\"NONE\",\"followsDelimiter\":\"/\",\"description\":\"suppresses the data tips from this plot.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0g4jxhcbnbhypn1tc2mkv53gtuxa\"}],\"supportSiteTargetFragment\":\"p0p1xsrxaakqgzn15gh16zr1p99va\"},{\"name\":\"TIPFORMAT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"applies formats to the list of data tip roles that you specify in the TIP= option.\",\"help\":\"TIPFORMAT=(*format-list*)\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0yq3c75bgeu30n1p4l5ehco5xvze\"},{\"name\":\"TIPLABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"applies labels to the list of data tip roles that you specify in the TIP= option.\",\"help\":\"TIPLABEL=(*label-list*)\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0hx9t8am4dc2pn1k1453p8eqre2e\"},{\"name\":\"TRANSPARENCY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the degree of transparency for the plot.\",\"help\":\"TRANSPARENCY=*value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0hjrs3w86z8ean1npu022im7j2sz1\"},{\"name\":\"WEIGHT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a variable that contains values to be used as weights for the calculations.\",\"help\":\"WEIGHT=*numeric-variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1er8no6i58s4rn1i8wg42ndkxr1f\"},{\"name\":\"WHISKERATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the appearance of the whisker and cap lines.\",\"help\":\"WHISKERATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"n1om2pu6giwpi7n1nna8s55lcdas\"},{\"name\":\"WHISKERPCT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the whisker length, in percentile units.\",\"help\":\"WHISKERPCT=*number*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0w49h7u2t06cfn1mfzn8t003auga\"},{\"name\":\"X2AXIS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"assigns the category variable to the secondary (top) horizontal axis.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n01ohp48f66sykn1kf8f6nymkxxf\"},{\"name\":\"Y2AXIS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"assigns the analysis variable to the secondary (right) vertical axis.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0m3gcftouol9tn1qua83qdn2re3\"}],\"supportSiteTargetFile\":\"n1waawwbez01ppn15dn9ehmxzihf.htm\"},{\"name\":\"VECTOR\",\"description\":\"Creates a vector plot that draws arrows from a point of origin to each data point.\",\"help\":\"VECTOR X=*numeric-variable* Y=*numeric-variable*&lt;/*options*&gt;;\",\"arguments\":[{\"name\":\"X=\",\"description\":\"specifies a numeric variable for the X axis.\",\"help\":\"X=*numeric-variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p09c37aj0v9z2tn10a1ev51fob93\"},{\"name\":\"Y=\",\"description\":\"specifies numeric variable for the Y axis.\",\"help\":\"Y=*numeric-variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1qw3w46hhyrfhn1ljiwcbatwtp5\"},{\"name\":\"ARROWDIRECTION=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the location of the arrowheads for the vectors.\",\"help\":\"ARROWDIRECTION=IN | OUT | BOTH\",\"type\":\"choice\",\"arguments\":[{\"name\":\"IN\",\"followsDelimiter\":\"/\",\"description\":\"places the arrowheads at the origin of the vector.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1kyt3yhwerv6mn12o8yaanvct2q\"},{\"name\":\"OUT\",\"followsDelimiter\":\"/\",\"description\":\"places the arrowheads at the ending point of the vector.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0xxu0kp2kob3wn1rxij59vrlwy0\"},{\"name\":\"BOTH\",\"followsDelimiter\":\"/\",\"description\":\"places arrowheads at both the origin and ending point of the vector.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0veul5yifwugen16d5a24xorie7\"}],\"supportSiteTargetFragment\":\"n1pdrkqqsmta31n13uph1n80xl6x\"},{\"name\":\"ARROWHEADSHAPE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the shape of the arrowheads for the vectors.\",\"help\":\"ARROWHEADSHAPE=*shape*\",\"type\":\"value\",\"arguments\":[{\"name\":\"OPEN\",\"followsDelimiter\":\"/\",\"description\":\"resembles the letter \\\"V\\\".\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0cso8agh1364ln1c0thao345154\"},{\"name\":\"CLOSED\",\"followsDelimiter\":\"/\",\"description\":\"an outline of a triangle.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0wjagheboffvjn1va4yym2uftgz\"},{\"name\":\"FILLED\",\"followsDelimiter\":\"/\",\"description\":\"a solid triangle.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n02i9j0i4rl3ten18m61yptqpihj\"},{\"name\":\"BARBED\",\"followsDelimiter\":\"/\",\"description\":\"a solid triangle with an indent at the base.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n19tbux0dk51jhn1ooblpx110gmp\"}],\"supportSiteTargetFragment\":\"p1ezyq9e7fseezn1tbiqtx0thl93\"},{\"name\":\"ATTRID=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the value of the ID variable in a discrete attribute map data set.\",\"help\":\"ATTRID=*character-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0gnil4gecoz0fn1sjexzo9ka6a8z3\"},{\"name\":\"COLORMODEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a color ramp that is to be used to determine response colors.\",\"help\":\"COLORMODEL=*style-element* | (*color-list*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the name of a style element.\",\"help\":\"*style-element* \",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0j80gk5jvponwn1i3nubsiypmn7p\"},{\"name\":\"(color-list)\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a space-separated list of colors to use in the color ramp.\",\"type\":\"color\",\"supportSiteTargetFragment\":\"n1bmynehs17vrcn1eyylzs4tatiep\"}],\"supportSiteTargetFragment\":\"p0lv0hndswc5a5n1hjd7lql3yfk6p\"},{\"name\":\"COLORRESPONSE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the numeric column that is used to map colors to a continuous color ramp.\",\"help\":\"COLORRESPONSE=*numeric-column*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0oottiwct880xn17bxx29idalzbn\"},{\"name\":\"DATALABEL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"displays a label for each data point.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0nw171sq0e411n1wgxqgp619995e\"},{\"name\":\"DATALABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"displays a label for each data point.\",\"help\":\"DATALABEL=*variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0nw171sq0e411n1wgxqgp619995e\"},{\"name\":\"DATALABELATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the appearance of the labels in the plot when you use the DATALABEL= option.\",\"help\":\"DATALABELATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p1knsfepcp6q3tn1rcxjyvwtszoxs\"},{\"name\":\"DATALABELPOS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the location of each data label with respect to its data point.\",\"help\":\"DATALABELPOS=*position*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0rsuu58qgi0ysn1sh5krk9uvgq5h\"},{\"name\":\"DATASKIN=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a special effect to be used on the plot.\",\"help\":\"DATASKIN=NONE | CRISP | GLOSS | MATTE | PRESSED | SHEEN\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NONE\",\"type\":\"standalone\"},{\"name\":\"CRISP\",\"type\":\"standalone\"},{\"name\":\"GLOSS\",\"type\":\"standalone\"},{\"name\":\"MATTE\",\"type\":\"standalone\"},{\"name\":\"PRESSED\",\"type\":\"standalone\"},{\"name\":\"SHEEN\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"n14kr95kkmeuh0n1hbaha6dpxa24u\"},{\"name\":\"GROUP=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a variable that is used to group the data.\",\"help\":\"GROUP=*variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0ihz5mnsij0ern0zx0ildin6aehl\"},{\"name\":\"LEGENDLABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a label that identifies the vector plot in the legend.\",\"help\":\"LEGENDLABEL=\\\"*text-string*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1v54d3w0ipljfn1tfo0gr7pbkt2\"},{\"name\":\"LINEATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the appearance of the vector line.\",\"help\":\"LINEATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p0x0cizmq5slbqn19uudxql04zaf\"},{\"name\":\"NAME=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"assigns a name to a plot statement.\",\"help\":\"NAME=\\\"*text-string*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1kiiynz0gzidxn16dsf62msnl4tz8\"},{\"name\":\"NOARROWHEADS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"removes the arrowheads from the vectors.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1qxx5oy0sz2hhn1o7g0ol7brwfm\"},{\"name\":\"NOMISSINGGROUP\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that missing values of the group variable are not included in the plot.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0wz8ht881nkwjn1q5f4v8cluqze\"},{\"name\":\"RATTRID=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the value of the ID variable in a range attribute map data set.\",\"help\":\"RATTRID=*character-value* \",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0ib6229clpp3kn1ramopvfnfj60p\"},{\"name\":\"SPLITCHAR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies one or more characters on which the text for data labels is always split.\",\"help\":\"SPLITCHAR=\\\"*character-list*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1uloff5glv6hcn1ginrortjqxq1h\"},{\"name\":\"SPLITCHARNODROP\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that the split characters are included in the displayed value.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p17rdbkgdneovrn1ue8o2kpkg9ewt\"},{\"name\":\"SPLITJUSTIFY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the horizontal alignment of the value text that is being split.\",\"help\":\"SPLITJUSTIFY=LEFT | CENTER | RIGHT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"LEFT\",\"type\":\"standalone\"},{\"name\":\"CENTER\",\"type\":\"standalone\"},{\"name\":\"RIGHT\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"p1gpg1oyxutpycn14zlh3q5a4u2cr\"},{\"name\":\"THICKMAX=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the maximum line thickness when a response variable is used to determine the line thickness.\",\"help\":\"THICKMAX=*numeric-value*&lt;*units*&gt;\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p180z9ac6c2bzmn1qmqw3hu0rg9bc\"},{\"name\":\"THICKMAXRESP=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the response value that corresponds to the maximum line thickness.\",\"help\":\"THICKMAXRESP=*numeric-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1r95d08dmny2in18wo1qo01ontvc\"},{\"name\":\"THICKRESP=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a response variable that is used to map a line thickness to each group value.\",\"help\":\"THICKRESP=*numeric-variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n10091lo6ro2rvn1lmorepzs4fgpc\"},{\"name\":\"TIP=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the data tip information to be displayed when the cursor is positioned over the graphics element.\",\"help\":\"TIP=(*variable-list*) | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"(variable-list)\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"a space-separated list of variables enclosed in parentheses.\",\"help\":\"(*variable-list*) \",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1xt1um6hrz1xyn1sjttwqpgpo2gu\"},{\"name\":\"NONE\",\"followsDelimiter\":\"/\",\"description\":\"suppresses the data tips from this plot.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0juujvli3nm16n1m4i3zstsmn7uu\"}],\"supportSiteTargetFragment\":\"n0tlg070rp5jkkn193er1c3er8vvu\"},{\"name\":\"TIPFORMAT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"applies formats to the list of data tip variables that you specify in the TIP= option.\",\"help\":\"TIPFORMAT=(*format-list*)\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1vgm3eynz19vzn1mlqm98fezlp5t\"},{\"name\":\"TIPLABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"applies labels to the list of data tip variables that you specify in the TIP= option.\",\"help\":\"TIPLABEL=(*label-list*)\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0tod59njrbtewn1hk76dznibemut\"},{\"name\":\"TRANSPARENCY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the degree of transparency for the plot.\",\"help\":\"TRANSPARENCY=*value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0hjrs3w86z8ean1npu022im7j2sz2\"},{\"name\":\"X2AXIS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"assigns the X variable to the secondary (top) horizontal axis.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1qdz8a9m6t6uen1kdob1nz79tsls\"},{\"name\":\"XORIGIN=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the X coordinate of the origin for the vectors.\",\"help\":\"XORIGIN=*numeric-value* | *numeric-variable*\",\"type\":\"choice\",\"arguments\":[{\"name\":\"numeric-value\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"numeric-variable\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"n0sb9q38f5vy34n1iu2isl0vpg9p\"},{\"name\":\"Y2AXIS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"assigns the Y variable to the secondary (right) vertical axis.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0zsjbjkamjq8zn1u2umymluiajcp\"},{\"name\":\"YORIGIN=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the Y coordinate of the origin for the vectors.\",\"help\":\"YORIGIN=*numeric-value* | *numeric-variable*\",\"type\":\"choice\",\"arguments\":[{\"name\":\"numeric-value\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"numeric-variable\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p0tu2gvq4yz20ln12n3e1ce7tmoh\"}],\"supportSiteTargetFile\":\"p1wtsx90517bf4n12fpaaeh6za0l.htm\"},{\"name\":\"VLINE\",\"description\":\"Creates a vertical line chart (the line is horizontal).\",\"help\":\"VLINE *category-variable*&lt;/*options*&gt;;\",\"arguments\":[{\"name\":\"category-variable\",\"placeholder\":true,\"description\":\"specifies the variable whose values determine the categories of data represented by the lines.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0w3ncifo5txj9n1khper0uoe4uf\"},{\"name\":\"ALPHA=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the confidence level for the confidence limits.\",\"help\":\"ALPHA=*numeric-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0odm20uc57v24n1arb0pvg7hit0d\"},{\"name\":\"ATTRID=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the value of the ID variable in a discrete attribute map data set.\",\"help\":\"ATTRID=*character-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0gnil4gecoz0fn1sjexzo9ka6a8z4\"},{\"name\":\"BREAK\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"breaks the line whenever the computed statistic for a category value is missing.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n12uhcnk0kctrnn1n697naozk1dqa\"},{\"name\":\"CATEGORYORDER=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the order in which the categories are arranged.\",\"help\":\"CATEGORYORDER=RESPASC | RESPDESC\",\"type\":\"choice\",\"arguments\":[{\"name\":\"RESPASC\",\"followsDelimiter\":\"/\",\"description\":\"sorts by the response values in ascending order.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0mbyw50mgkx4qn19a6ztr8whmivd\"},{\"name\":\"RESPDESC\",\"followsDelimiter\":\"/\",\"description\":\"sorts by the response values in descending order.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0utxs6l98qss3n13x69rzq367cud\"}],\"supportSiteTargetFragment\":\"p14mwpmr7ycybcn10rkqzq0pn8iwd\"},{\"name\":\"CLUSTERWIDTH=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the width of the group clusters as a fraction of the midpoint spacing.\",\"help\":\"CLUSTERWIDTH=*numeric-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0dlvao1wxqnapn1eyiyqmlu8l1vh\"},{\"name\":\"CURVELABEL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"adds a label to the curve or curves.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1maxlor1j1ztpn19bwl1vuzvrsy\"},{\"name\":\"CURVELABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a label for the curve when only one curve is drawn.\",\"help\":\"CURVELABEL=\\\"*text-string*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1rxja8lhlqi3tn1tofddksvy86l\"},{\"name\":\"CURVELABELATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the appearance of the labels in the plot when you use the CURVELABEL= option.\",\"help\":\"CURVELABELATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p0dk1x2qtnfn66n11yrt9l54l5npi\"},{\"name\":\"CURVELABELLOC=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies whether the curve label is placed inside the plot axes (INSIDE) or outside of the plot axes (OUTSIDE).\",\"help\":\"CURVELABELLOC=OUTSIDE | INSIDE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"OUTSIDE\",\"type\":\"standalone\"},{\"name\":\"INSIDE\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"n0m661zy7deafpn1r4qqw0qnq5wbi\"},{\"name\":\"CURVELABELPOS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the location of the curve label.\",\"help\":\"CURVELABELPOS=AUTO | END | MAX | MIN | START\",\"type\":\"choice\",\"arguments\":[{\"name\":\"AUTO\",\"followsDelimiter\":\"/\",\"description\":\"places the curve label outside the plot area near the end of the curve along unused axes whenever possible (typically Y2 or X2).\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1mzx51oqqddhgn1fx79prjt0qazh\"},{\"name\":\"END\",\"followsDelimiter\":\"/\",\"description\":\"places the curve label at the last point on the curve.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n04k78fvzrkjjsn1t3to05u6jlojh\"},{\"name\":\"MAX\",\"followsDelimiter\":\"/\",\"description\":\"places the label at the part of the curve closest to the maximum X-axis value.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1j326cktvxmnqn15qyb6y1ga3b8h\"},{\"name\":\"MIN\",\"followsDelimiter\":\"/\",\"description\":\"places the label at the part of the curve closest to the minimum X-axis value.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n018cpn1doiwsfn16kekpzbg1qg7h\"},{\"name\":\"START\",\"followsDelimiter\":\"/\",\"description\":\"places the curve label at the first point on the curve.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0yvts7uqmeulun1j9p7zrppvm68h\"}],\"supportSiteTargetFragment\":\"n1lxgmorrzt45cn1shctlyw8ljv3h\"},{\"name\":\"DATALABEL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"displays a label for each data point.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p14nwead434yo5n0zxw4gb9zpul9d\"},{\"name\":\"DATALABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"displays a label for each data point.\",\"help\":\"DATALABEL=*variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p14nwead434yo5n0zxw4gb9zpul9d\"},{\"name\":\"DATALABELATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the appearance of the labels in the plot when you use the DATALABEL= option.\",\"help\":\"DATALABELATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p1knsfepcp6q3tn1rcxjyvwtszoxt\"},{\"name\":\"DATALABELPOS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the location of the data label.\",\"help\":\"DATALABELPOS=DATA | BOTTOM | TOP\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DATA\",\"followsDelimiter\":\"/\",\"description\":\"places the label at the data points of the lines.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n106j9ytjpre0xn192lfwa6721zy\"},{\"name\":\"BOTTOM\",\"followsDelimiter\":\"/\",\"description\":\"places the label below the lines on the bottom edge of the data area.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0yzbjjs4td78in1cdol0a8l30d6\"},{\"name\":\"TOP\",\"followsDelimiter\":\"/\",\"description\":\"places the label above the lines on the top edge of the data area.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p18wf8qx6gds1cn1ofszf7ez6hx8\"}],\"supportSiteTargetFragment\":\"n1lrgyepyqn7usn1fbzya3f57y2q\"},{\"name\":\"DATASKIN=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a special effect to be used on the plot.\",\"help\":\"DATASKIN=NONE | CRISP | GLOSS | MATTE | PRESSED | SHEEN\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NONE\",\"type\":\"standalone\"},{\"name\":\"CRISP\",\"type\":\"standalone\"},{\"name\":\"GLOSS\",\"type\":\"standalone\"},{\"name\":\"MATTE\",\"type\":\"standalone\"},{\"name\":\"PRESSED\",\"type\":\"standalone\"},{\"name\":\"SHEEN\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"n14kr95kkmeuh0n1hbaha6dpxa24v\"},{\"name\":\"DISCRETEOFFSET=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies an amount to offset all lines from discrete category values.\",\"help\":\"DISCRETEOFFSET=*numeric-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n177dcmft8hta2n1xgqlhl9x5r0y\"},{\"name\":\"FILLEDOUTLINEDMARKERS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that markers have a fill and an outline.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0htbt252ynl99n1fhsib3nv0kmmc\"},{\"name\":\"FREQ=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a variable for the frequency count for each observation in the input data.\",\"help\":\"FREQ=*numeric-variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1i0jzew1006vxn1cu1xftid3xnmf\"},{\"name\":\"GROUP=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a variable that is used to group the data.\",\"help\":\"GROUP=*variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n12ydifq7odra9n16dvrvz15klzjf\"},{\"name\":\"GROUPDISPLAY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies how to display grouped lines.\",\"help\":\"GROUPDISPLAY=CLUSTER | OVERLAY\",\"type\":\"choice\",\"arguments\":[{\"name\":\"CLUSTER\",\"followsDelimiter\":\"/\",\"description\":\"grouped items are drawn adjacent to each other.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1f9g1imvgdc3xn1o4qmhc3dsaxtq\"},{\"name\":\"OVERLAY\",\"followsDelimiter\":\"/\",\"description\":\"grouped items are drawn at the exact coordinate and might overlap.\",\"help\":\"OVERLAY \",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0gedf37npwg28n19wqi2annun4nq\"}],\"supportSiteTargetFragment\":\"p19i569vzihbwin197jjhq0bbw7t\"},{\"name\":\"GROUPORDER=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the ordering of the groups within a category.\",\"help\":\"GROUPORDER=DATA | REVERSEDATA | ASCENDING | DESCENDING\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DATA\",\"followsDelimiter\":\"/\",\"description\":\"orders the groups within a category in data order of the group variable.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n17ush6ke65xben1qm2p0dn9pjjap\"},{\"name\":\"REVERSEDATA\",\"followsDelimiter\":\"/\",\"description\":\"orders the groups within a category in the reverse data order of the group variable.\",\"help\":\"REVERSEDATA \",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0ybf6fv2jznutn1fir9sn5as9yqp\"},{\"name\":\"ASCENDING\",\"followsDelimiter\":\"/\",\"description\":\"orders the groups within a category in ascending order of the group variable.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0illc3sf337wnn1kvp0yuul2s1tp\"},{\"name\":\"DESCENDING\",\"followsDelimiter\":\"/\",\"description\":\"orders the groups within a category in descending order of the group variable.\",\"help\":\"DESCENDING \",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p15mm3o64qe2qgn16nv32zmcnleep\"}],\"supportSiteTargetFragment\":\"n0iz9rcg3x496dn1sfn1g6ernd9op\"},{\"name\":\"LEGENDLABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the label that identifies the line plot in the legend.\",\"help\":\"LEGENDLABEL=\\\"*text-string*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1bmg8mjmi5wlkn1h7f1peb5l54k\"},{\"name\":\"LIMITATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the appearance of the limit lines in the plot.\",\"help\":\"LIMITATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"n033gw1nnbk6tzn1s0ideqwynfad\"},{\"name\":\"LIMITCAPSCALE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a positive number to use as a multiplier for changing the default width of the limit-bar cap (serif).\",\"help\":\"LIMITCAPSCALE=*positive-number*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n18viyznshxlgln1s3f9ix0xbt4bf\"},{\"name\":\"LIMITS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"adds limit lines to the plot.\",\"help\":\"LIMITS=BOTH | LOWER | UPPER\",\"type\":\"choice\",\"arguments\":[{\"name\":\"BOTH\",\"followsDelimiter\":\"/\",\"description\":\"adds lower and upper limit lines to the plot.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1ru1167a87hyzn12d6ap9to43fr\"},{\"name\":\"LOWER\",\"followsDelimiter\":\"/\",\"description\":\"adds lower limit lines to the plot.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0m9ae7rc11c8fn1012kqfogbuta\"},{\"name\":\"UPPER\",\"followsDelimiter\":\"/\",\"description\":\"adds upper limit lines to the plot.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1u9c6gfjs2s84n1asxvj5q5g126\"}],\"supportSiteTargetFragment\":\"p0w93ulvnjbrysn17oajx56bbl8h\"},{\"name\":\"LIMITSTAT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the statistic for the limit lines.\",\"help\":\"LIMITSTAT=CLM | STDDEV | STDERR\",\"type\":\"choice\",\"arguments\":[{\"name\":\"CLM\",\"followsDelimiter\":\"/\",\"description\":\"confidence limits\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1pboe2zry2paln1n6b3qm2f92ps\"},{\"name\":\"STDDEV\",\"followsDelimiter\":\"/\",\"description\":\"standard deviation\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1rvklw9d7enf0n1xjefy9y8zbir\"},{\"name\":\"STDERR\",\"followsDelimiter\":\"/\",\"description\":\"standard error\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1jbncxtz504rln1urvumzap2g6u\"}],\"supportSiteTargetFragment\":\"p054ehxto6s5lon1tkq8cb83anke\"},{\"name\":\"LINEATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the appearance of the lines in the line plot.\",\"help\":\"LINEATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"n13hl89is45g3gn1f8raefqgskux\"},{\"name\":\"MARKERATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the appearance of the markers in the plot.\",\"help\":\"MARKERATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"n0ehs0hzrtjciqn1qstybyu1wphn\"},{\"name\":\"MARKERFILLATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the color of the marker fill.\",\"help\":\"MARKERFILLATTRS=*style-element* |  (COLOR=*color*) \",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(COLOR=)\",\"type\":\"color\"}],\"supportSiteTargetFragment\":\"n0cg7g8a06r4mwn1rcawd5eth51zh\"},{\"name\":\"MARKEROUTLINEATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the appearance of the marker outlines.\",\"help\":\"MARKEROUTLINEATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p0j0ix3qbk1rsqn10lfmccucq9qhh\"},{\"name\":\"MARKERS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"adds markers to the plot.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n00cq4ktvy55xpn1dh3xrrykskqu\"},{\"name\":\"MISSING\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"accepts a missing value as a valid category value.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1qgab12e89o2xn1i6zp5mfz3208k\"},{\"name\":\"NAME=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"assigns a name to a plot statement.\",\"help\":\"NAME=\\\"*text-string*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1kiiynz0gzidxn16dsf62msnl4tz9\"},{\"name\":\"NOLIMITCAPS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses the serif cap on limit lines, if limit lines are displayed.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0wr3w5ryi0bbfn18trxq5q4l1gxb\"},{\"name\":\"NUMSTD=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the number of standard units for the limit lines, when you specify LIMITSTAT=STDDEV or LIMITSTAT=STDERR.\",\"help\":\"NUMSTD=*n*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1859ythwz0olan11wsw9pfadn0e\"},{\"name\":\"RESPONSE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a numeric response variable for the plot.\",\"help\":\"RESPONSE=*response-variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0sf7ufq89suokn13j1tpu8wkn7q\"},{\"name\":\"SPLITCHAR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies one or more characters on which the text for curve labels is always split.\",\"help\":\"SPLITCHAR=\\\"*character-list*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0lp66hk29i0sin1kdjnfamkw1erg\"},{\"name\":\"SPLITCHARNODROP\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that the split characters are included in the displayed value.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p17rdbkgdneovrn1ue8o2kpkg9ewu\"},{\"name\":\"SPLITJUSTIFY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the horizontal alignment of the value text that is being split.\",\"help\":\"SPLITJUSTIFY=LEFT | CENTER | RIGHT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"LEFT\",\"type\":\"standalone\"},{\"name\":\"CENTER\",\"type\":\"standalone\"},{\"name\":\"RIGHT\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"p1gpg1oyxutpycn14zlh3q5a4u2cs\"},{\"name\":\"STAT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the statistic for the vertical axis.\",\"help\":\"STAT=FREQ | MEAN | MEDIAN | PERCENT | SUM\",\"type\":\"choice\",\"arguments\":[{\"name\":\"FREQ\",\"followsDelimiter\":\"/\",\"description\":\"the frequencies of the response or category variable.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1dvjmu4057kawn1f7tqekui3byra\"},{\"name\":\"MEAN\",\"followsDelimiter\":\"/\",\"description\":\"the mean of the response variable.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0d2mu5pkkv208n1ezt76g07wo7pa\"},{\"name\":\"MEDIAN\",\"followsDelimiter\":\"/\",\"description\":\"the median of the response variable.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1vinrpwkrvu89n1qksalsey7hi1a\"},{\"name\":\"PERCENT\",\"followsDelimiter\":\"/\",\"aliases\":[\"PCT\"],\"description\":\"the percentage of the response or category variable.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1ga6i8z99flpzn1bq2xpqp2x1sza\"},{\"name\":\"SUM\",\"followsDelimiter\":\"/\",\"description\":\"the sum of the response variable.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0txv7ehikq5f0n1t210fewx6jl7a\"}],\"supportSiteTargetFragment\":\"n17juzi1dax3syn1j1w4dl6brlsea\"},{\"name\":\"STATLABEL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies whether the response variable statistic is displayed in the axis and legend labels.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1r49ex2y13gycn16z7g54hgwzv5d\"},{\"name\":\"NOSTATLABEL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies whether the response variable statistic is displayed in the axis and legend labels.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1r49ex2y13gycn16z7g54hgwzv5d\"},{\"name\":\"TIP=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the data tip information to be displayed when the cursor is positioned over the graphics element.\",\"help\":\"TIP=(*variable-list*) | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"(variable-list)\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"a space-separated list of variables enclosed in parentheses.\",\"help\":\"(*variable-list*) \",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1xt1um6hrz1xyn1sjttwqpgpo2gv\"},{\"name\":\"NONE\",\"followsDelimiter\":\"/\",\"description\":\"suppresses the data tips from this plot.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0juujvli3nm16n1m4i3zstsmn7uv\"}],\"supportSiteTargetFragment\":\"n0tlg070rp5jkkn193er1c3er8vvv\"},{\"name\":\"TIPFORMAT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"applies formats to the list of data tip variables that you specify in the TIP= option.\",\"help\":\"TIPFORMAT=(*format-list*)\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1vgm3eynz19vzn1mlqm98fezlp5u\"},{\"name\":\"TIPLABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"applies labels to the list of data tip variables that you specify in the TIP= option.\",\"help\":\"TIPLABEL=(*label-list*)\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0tod59njrbtewn1hk76dznibemuu\"},{\"name\":\"TRANSPARENCY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the degree of transparency for the plot.\",\"help\":\"TRANSPARENCY=*value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0hjrs3w86z8ean1npu022im7j2sz3\"},{\"name\":\"URL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies an HTML page to be displayed when parts of the plot are selected.\",\"help\":\"URL=*character-variable*\",\"type\":\"value\",\"arguments\":[{\"name\":\"character-variable\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a variable that contains a valid HTML page reference (HREF) for each plot element that is to have an active link.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0x9yrlql13u7gn11kr1daq2vd9sr\"}],\"supportSiteTargetFragment\":\"n0p5y7rpcnleycn17w2nttd9ipblr\"},{\"name\":\"WEIGHT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a variable that contains values to be used as weights for the calculations.\",\"help\":\"WEIGHT=*numeric-variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1an9kc0ebg10kn1gctrhvfi7z7vd\"},{\"name\":\"X2AXIS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"assigns the category variable to the secondary (top) horizontal axis.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1fci2n54p43xln1vierbgf3wr8vc\"},{\"name\":\"Y2AXIS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"assigns the response variable to the secondary (right) vertical axis.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0majth38rysbvn1n5eczwp6qrukc\"}],\"supportSiteTargetFile\":\"p13y2w8p29m5ern1egkn010zn532.htm\"},{\"name\":\"WATERFALL\",\"description\":\"Creates a waterfall chart computed from input data.\",\"help\":\"WATERFALL CATEGORY=*variable* RESPONSE=*numeric-variable*&lt;/*options*&gt;;\",\"arguments\":[{\"name\":\"CATEGORY=\",\"description\":\"specifies the variable for the category values.\",\"help\":\"CATEGORY=*variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n052hwljwx71vzn0zq7m22e114gv\"},{\"name\":\"RESPONSE=\",\"description\":\"specifies the variable for the response values.\",\"help\":\"RESPONSE=*numeric-variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n05rylc2e617htn16abo2s3bwerf\"},{\"name\":\"ATTRID=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the value of the ID variable in a discrete attribute map data set.\",\"help\":\"ATTRID=*character-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0gnil4gecoz0fn1sjexzo9ka6a8z5\"},{\"name\":\"BARWIDTH=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the width of the bars as a ratio of the maximum possible width.\",\"help\":\"BARWIDTH=*numeric-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1is8j47om8jsgn1622sgi01upus\"},{\"name\":\"BASELINEATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the appearance of the baseline.\",\"help\":\"BASELINEATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p1etmfroq8mx8kn1ao7pjy3p5x2og\"},{\"name\":\"COLORGROUP=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a variable that is used to determine the visual attributes of the transaction bars.\",\"help\":\"COLORGROUP=*variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n148ab6a14916fn17jvgnr01y6z7\"},{\"name\":\"COLORMODEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a color ramp that is to be used to determine response colors.\",\"help\":\"COLORMODEL=*style-element* | (*color-list*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the name of a style element.\",\"help\":\"*style-element* \",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0j80gk5jvponwn1i3nubsiypmn7q\"},{\"name\":\"(color-list)\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a space-separated list of colors to use in the color ramp.\",\"type\":\"color\",\"supportSiteTargetFragment\":\"n1bmynehs17vrcn1eyylzs4tatieq\"}],\"supportSiteTargetFragment\":\"p0lv0hndswc5a5n1hjd7lql3yfk6q\"},{\"name\":\"COLORRESPONSE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the numeric column that is used to map colors to a continuous color ramp.\",\"help\":\"COLORRESPONSE=*numeric-column*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0oottiwct880xn17bxx29idalzbo\"},{\"name\":\"DATALABEL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"displays a label for each data point.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0ybzo7ngj41mjn1cjddl7d8w508\"},{\"name\":\"DATALABELATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the appearance of the labels in the plot when you use the DATALABEL= option.\",\"help\":\"DATALABELATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"n062pr78pah3syn11rot33tx8qya\"},{\"name\":\"DATASKIN=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a special effect to be used on the plot.\",\"help\":\"DATASKIN=NONE | CRISP | GLOSS | MATTE | PRESSED | SHEEN\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NONE\",\"type\":\"standalone\"},{\"name\":\"CRISP\",\"type\":\"standalone\"},{\"name\":\"GLOSS\",\"type\":\"standalone\"},{\"name\":\"MATTE\",\"type\":\"standalone\"},{\"name\":\"PRESSED\",\"type\":\"standalone\"},{\"name\":\"SHEEN\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"n14kr95kkmeuh0n1hbaha6dpxa24w\"},{\"name\":\"FILL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies whether the bars are filled.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1t7l82k97hebin1oums39gww13y\"},{\"name\":\"NOFILL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies whether the bars are filled.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1t7l82k97hebin1oums39gww13y\"},{\"name\":\"FILLATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the fill color and transparency of the transaction bars.\",\"help\":\"FILLATTRS=*style-element*&lt;(*options*)&gt; | (*options*) \",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"n0u9ro4tetovnkn1jiaqre27nu4o\"},{\"name\":\"FINALBARATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the appearance of the final bar.\",\"help\":\"FINALBARATTRS=*style-element* |  (COLOR=*color*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(COLOR=)\",\"type\":\"color\"}],\"supportSiteTargetFragment\":\"n0x9qo5ub1kyhln1dk7jcdcshu73\"},{\"name\":\"FINALBARTICKVALUE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the tick value used on the X axis for the final bar, if displayed.\",\"help\":\"FINALBARTICKVALUE=\\\"*text-string*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0jyprri26w0cwn1o86e3tolofv2\"},{\"name\":\"INITIALBARATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the appearance of the initial bar, if displayed.\",\"help\":\"INITIALBARATTRS=*style-element* | (COLOR=*color*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(COLOR=)\",\"type\":\"color\"}],\"supportSiteTargetFragment\":\"p18tvxfxopzlw4n1dt3gj982qkcq\"},{\"name\":\"INITIALBARTICKVALUE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the tick value used on the X axis for the initial bar, if displayed.\",\"help\":\"INITIALBARTICKVALUE=\\\"*text-string*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0z5hwgm3yq550n1imzm594mx5z4\"},{\"name\":\"INITIALBARVALUE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the value of the initial bar.\",\"help\":\"INITIALBARVALUE=*number* \",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1t511fylg8ukxn1afhyon30lj8q\"},{\"name\":\"MISSING\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"accepts a missing value as a valid category value.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0kvfq64zuj97cn1pwoge7mkorq6\"},{\"name\":\"NAME=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"assigns a name to a plot statement.\",\"help\":\"NAME=\\\"*text-string*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1kiiynz0gzidxn16dsf62msnl4tz10\"},{\"name\":\"OUTLINE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies whether the bars have outlines.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0zza2im4aw98jn1fobddg98cslb\"},{\"name\":\"NOOUTLINE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies whether the bars have outlines.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0zza2im4aw98jn1fobddg98cslb\"},{\"name\":\"RATTRID=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the value of the ID variable in a range attribute map data set.\",\"help\":\"RATTRID=*character-value* \",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0ib6229clpp3kn1ramopvfnfj60q\"},{\"name\":\"STAT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the statistic for the response axis.\",\"help\":\"STAT=MEAN | SUM\",\"type\":\"choice\",\"arguments\":[{\"name\":\"MEAN\",\"followsDelimiter\":\"/\",\"description\":\"the mean of the response variable.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1wvxxtwiev1vgn1ly89lvkyd83k\"},{\"name\":\"SUM\",\"followsDelimiter\":\"/\",\"description\":\"the sum of the response variable.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1566fkj80wb0mn1rfxx3qluu8dy\"}],\"supportSiteTargetFragment\":\"n11gd6r5hxl32an1e170tqvwc5ep\"},{\"name\":\"TIP=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the data tip information to be displayed when the cursor is positioned over the graphics element.\",\"help\":\"TIP=(*variable-list*) | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"(variable-list)\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"a space-separated list of variables enclosed in parentheses.\",\"help\":\"(*variable-list*) \",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1xt1um6hrz1xyn1sjttwqpgpo2gw\"},{\"name\":\"NONE\",\"followsDelimiter\":\"/\",\"description\":\"suppresses the data tips from this plot.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0juujvli3nm16n1m4i3zstsmn7uw\"}],\"supportSiteTargetFragment\":\"n0tlg070rp5jkkn193er1c3er8vvw\"},{\"name\":\"TIPFORMAT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"applies formats to the list of data tip variables that you specify in the TIP= option.\",\"help\":\"TIPFORMAT=(*format-list*)\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1vgm3eynz19vzn1mlqm98fezlp5v\"},{\"name\":\"TIPLABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"applies labels to the list of data tip variables that you specify in the TIP= option.\",\"help\":\"TIPLABEL=(*label-list*)\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0tod59njrbtewn1hk76dznibemuv\"},{\"name\":\"TRANSPARENCY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the degree of transparency for the plot.\",\"help\":\"TRANSPARENCY=*value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0hjrs3w86z8ean1npu022im7j2sz4\"},{\"name\":\"URL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies an HTML page to be displayed when parts of the plot are selected.\",\"help\":\"URL=*character-variable*\",\"type\":\"value\",\"arguments\":[{\"name\":\"character-variable\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a variable that contains a valid HTML page reference (HREF) for each plot element that is to have an active link.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0x9yrlql13u7gn11kr1daq2vd9ss\"}],\"supportSiteTargetFragment\":\"n0p5y7rpcnleycn17w2nttd9ipbls\"},{\"name\":\"X2AXIS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"assigns the variables that are assigned to the primary (bottom) horizontal axis to the secondary (top) horizontal axis.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1rv43chrw84mzn1htqxcoyxfcwka\"},{\"name\":\"Y2AXIS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"assigns the variables that are assigned to the primary (left) vertical axis to the secondary (right) vertical axis.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1tpx6m8er2gjyn1tcy0kdgsrwnqa\"}],\"supportSiteTargetFile\":\"p0djzh7ah4st4wn0z9j22wauruzi.htm\"},{\"name\":\"XAXIS\",\"description\":\"Specifies the axis options for the X axis.\",\"help\":\"XAXIS *options*;\",\"arguments\":[{\"name\":\"COLORBANDS=\",\"optional\":true,\"description\":\"specifies the display of alternating wall-color bands corresponding to the discrete axis bins.\",\"help\":\"COLORBANDS=NONE | EVEN | ODD\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NONE\",\"type\":\"standalone\"},{\"name\":\"EVEN\",\"type\":\"standalone\"},{\"name\":\"ODD\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"p01m9cblxm5yevn1uyu3x2whb79h\"},{\"name\":\"COLORBANDSATTRS=\",\"optional\":true,\"description\":\"specifies the fill appearance of the color band.\",\"help\":\"COLORBANDSATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p1u85xzk9xhvvvn15nzgi4pclb71\"},{\"name\":\"DISCRETEORDER=\",\"optional\":true,\"description\":\"specifies the order in which discrete tick values are placed on the axis. This option affects any plot with a discrete axis.\",\"help\":\"DISCRETEORDER=DATA | FORMATTED | UNFORMATTED\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DATA\",\"description\":\"places the values in the order in which they appear in the data.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0uqactcv5pozun1cpsdqmphs930\"},{\"name\":\"FORMATTED\",\"description\":\"sorts the formatted values in ascending character order.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0jxymb0hf34bin1loopvz7yn7j5\"},{\"name\":\"UNFORMATTED\",\"description\":\"sorts the unformatted values in ascending character order.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1qt02q1j9aappn1bwf71l5tyq14\"}],\"supportSiteTargetFragment\":\"n0qnft5qzozjeqn166onefa438oq\"},{\"name\":\"DISPLAY=\",\"optional\":true,\"description\":\"specifies which features of the axis are displayed.\",\"help\":\"DISPLAY=ALL | NONE | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ALL\",\"description\":\"displays all of the features of the axis.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1mp1alccvq0f8n1v3faai72h0tw\"},{\"name\":\"NONE\",\"description\":\"specifies that none of the features of the axis are displayed.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1im14fx29n890n1s7r08numv8aa\"},{\"name\":\"NOLABEL\",\"description\":\"hides the axis label\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0j9vo2p9208qpn130fy2qine1vf\"},{\"name\":\"NOLINE\",\"description\":\"hides the axis line\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1qd1ltv45t9qcn1c9fne6pychlf\"},{\"name\":\"NOTICKS\",\"description\":\"hides the tick marks on the axis\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1773yiknm1y9in1gh0kejvnf5lz\"},{\"name\":\"NOVALUES\",\"description\":\"hides the tick mark values on the axis\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1i22yakqf5ew4n0zxoentkk278g\"}],\"supportSiteTargetFragment\":\"n0t3xy2er4253zn1v1qy5iyrul61\"},{\"name\":\"FITPOLICY=\",\"optional\":true,\"description\":\"specifies the method that is used to fit tick mark values on a horizontal axis when there is not enough room to draw them normally.\",\"help\":\"FITPOLICY=*policy-value*\",\"type\":\"value\",\"arguments\":[{\"name\":\"NONE\",\"description\":\"does not split the values.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1vnyezv4kbtyjn1x7rhfzam6mbp\"},{\"name\":\"ROTATE\",\"description\":\"rotates the value text 45 degrees.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1khs29kw7npj8n15bgg5uxus8cq\"},{\"name\":\"ROTATETHIN\",\"description\":\"attempts to use ROTATE, and then THIN to fit the values.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p18zqvqmg8v33rn1nh7n0nxwk1lv\"},{\"name\":\"SPLIT\",\"description\":\"splits the values at the character or characters specified in the SPLITCHAR= option.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1ur93t7ycyqhen1rd6hck88sef7\"},{\"name\":\"SPLITALWAYS\",\"description\":\"always splits the values at the character or characters specified in the SPLITCHAR= option. If the value does not contain any of the specified split characters, a split does not occur.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0q55ry3ld1dqbn119xhncj9gno4\"},{\"name\":\"SPLITROTATE\",\"description\":\"attempts to use SPLIT, and then ROTATE to fit the values.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0o0tmh7v8ugaen1n41cjpnjrwj1\"},{\"name\":\"STACKEDALWAYS\",\"description\":\"stacks the values vertically regardless of tick value collision.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1d2m9f1amijcmn144t1lsd92zrr\"},{\"name\":\"STACKEDALWAYSTHIN\",\"description\":\"stacks the values vertically regardless of tick value collision.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n11xsm0oj0z78kn1xi6ayf1lfp7t\"},{\"name\":\"STAGGER\",\"description\":\"shifts the values up and down.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n12v5wzssijmzin1psfnsfjjp12z\"},{\"name\":\"STAGGERROTATE\",\"description\":\"attempts to use STAGGER, and then ROTATE to fit the values.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p06zbrdt5h7gk9n1jxk3iss8epyj\"},{\"name\":\"STAGGERTHIN\",\"description\":\"attempts to use STAGGER, and then THIN to fit the values.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1sum33c5hzlv1n1knee1bzlsxgj\"},{\"name\":\"THIN\",\"description\":\"removes some of the values from the axis.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1bmhon8vbq9whn178k3v83gzn3t\"}],\"supportSiteTargetFragment\":\"n1bkk2fwzh9l7in1que4qmkricsx\"},{\"name\":\"GRID\",\"optional\":true,\"description\":\"creates grid lines at each tick on the axis.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n08bhulq8v4jj9n18r44orpbz5ry\"},{\"name\":\"GRIDATTRS=\",\"optional\":true,\"description\":\"specifies the appearance of the grid lines.\",\"help\":\"GRIDATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"n14zuicr0hsk43n1fg6i0j72ofi4\"},{\"name\":\"INTEGER\",\"optional\":true,\"description\":\"specifies that only integers are used for tick mark values.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0ymv9h9t7jiwon1jlwaqvo8qddy\"},{\"name\":\"INTERVAL=\",\"optional\":true,\"description\":\"specifies the tick interval for a time axis.\",\"help\":\"INTERVAL=*time-interval*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n06779imap6mdfn1nx7oe8j6nklv\"},{\"name\":\"INTERVALMULT=\",\"optional\":true,\"aliases\":[\"INTERVALMULTIPLIER\"],\"description\":\"specifies a multiplier to apply to the time interval that is in effect for the axis.\",\"help\":\"INTERVALMULT=*positive-integer*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1wyd3isjamghrn1785z15vmhcbo\"},{\"name\":\"LABEL=\",\"optional\":true,\"description\":\"specifies a label for the axis.\",\"help\":\"LABEL=\\\"*text-string*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1ujjft95cl9xzn0zh4jb5yc29xc\"},{\"name\":\"LABELATTRS=\",\"optional\":true,\"description\":\"specifies the appearance of the axis labels.\",\"help\":\"LABELATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"n0g0hdc2z1q2zen157f5flk1hjwy\"},{\"name\":\"LABELPOS=\",\"optional\":true,\"description\":\"specifies the position of the axis label.\",\"help\":\"LABELPOS=CENTER | DATACENTER | LEFT | RIGHT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"CENTER\",\"description\":\"centers the axis label in the axis area (including any offsets).\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1a5n4nhswu1g0n13z7nskjtpt2o\"},{\"name\":\"DATACENTER\",\"description\":\"centers the axis label in the axis tick display area (excluding any offsets).\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0b8fiaesksmh7n1h0ozwcuq36xb\"},{\"name\":\"LEFT\",\"description\":\"positions the label to the left of the axis area.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1lpphhaqcc3dvn1iflpbbkyv5vd\"},{\"name\":\"RIGHT\",\"description\":\"positions the label to the right of the axis area.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1i4qs8h0vjwrrn1jfdmmci6hub7\"}],\"supportSiteTargetFragment\":\"n0s89yyivxyeren1ugj51fcu6a9p\"},{\"name\":\"LOGBASE=\",\"optional\":true,\"description\":\"specifies the base value for the logarithmic scale.\",\"help\":\"LOGBASE=2 | 10 | e\",\"type\":\"choice\",\"arguments\":[{\"name\":\"2\",\"type\":\"standalone\"},{\"name\":\"10\",\"type\":\"standalone\"},{\"name\":\"e\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"p0exau80xfc6xbn19mxrrgeka783\"},{\"name\":\"LOGSTYLE=\",\"optional\":true,\"description\":\"specifies how to scale and format the values for the major tick marks for logarithmic axes.\",\"help\":\"LOGSTYLE=LINEAR | LOGEXPAND | LOGEXPONENT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"LOGEXPAND\",\"description\":\"places the tick marks at integer powers of the base.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0o35pkq3jmt92n12y6rcurff3ij\"},{\"name\":\"LOGEXPONENT\",\"description\":\"places the tick marks at integer powers of the base, but identifies the values by the exponent.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0jkvpr8rdgvd7n19v4rj8f4gynn\"},{\"name\":\"LINEAR\",\"description\":\"places the tick marks at uniform linear intervals, but spaces them logarithmically.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1f5nbfecsrtk0n1snomopkinst3\"}],\"supportSiteTargetFragment\":\"n06l9nkrgcfti0n1nl5dqsxtd0la\"},{\"name\":\"LOGVTYPE=\",\"optional\":true,\"description\":\"specifies the scale that is used when interpreting the values in the VALUES option and the MIN and MAX options.\",\"help\":\"LOGVTYPE=EXPANDED | EXPONENT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"EXPANDED\",\"description\":\"the values are interpreted as integer powers of the base (decimal numbers).\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0u7acrfu9s9xon1ci6wdkhgdp98\"},{\"name\":\"EXPONENT\",\"description\":\"the values are interpreted as integer exponents of the base.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0bc0xe77dbfjtn1clu2xy6q3is7\"}],\"supportSiteTargetFragment\":\"n0dzce6b90f4v0n1lipj48f2fu5z\"},{\"name\":\"MAX=\",\"optional\":true,\"description\":\"specifies the maximum data value to include in the display (the value might be adjusted by the threshold calculation).\",\"help\":\"MAX=*numeric-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1ruaachjoi5xyn16kwprmyd7yhd\"},{\"name\":\"MIN=\",\"optional\":true,\"description\":\"specifies the minimum data value to include in the display (the value might be adjusted by the threshold calculation).\",\"help\":\"MIN=*numeric-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1px473mly8uusn1x8zda12yxb0j\"},{\"name\":\"MINOR\",\"optional\":true,\"description\":\"adds minor tick marks to a linear, log, or time axis.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0wfej9gbnn8qln1si89ibddf9om\"},{\"name\":\"MINORCOUNT=\",\"optional\":true,\"description\":\"specifies the number of minor tick marks for the axis.\",\"help\":\"MINORCOUNT=*numeric-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n01gqj2indxyv8n14fue2cd1iqhb\"},{\"name\":\"MINORGRID\",\"optional\":true,\"description\":\"creates grid lines at each minor tick on the axis.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1mepcuji3fqbnn12072ooatvsxi\"},{\"name\":\"MINORGRIDATTRS=\",\"optional\":true,\"description\":\"specifies the appearance of the minor grid lines.\",\"help\":\"MINORGRIDATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p0jgcoi0rzkayen19gqjo0c04wyv\"},{\"name\":\"MINORINTERVAL=\",\"optional\":true,\"description\":\"specifies the time interval between minor ticks.\",\"help\":\"MINORINTERVAL=*time-interval*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1c3nh5q7e1khqn1u1fdznkmondf\"},{\"name\":\"NOTIMESPLIT\",\"optional\":true,\"description\":\"prevents a time axis from splitting the time, date, or datetime values into two rows.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0orsh0hen9k5fn1v2euc8u5x5t8\"},{\"name\":\"OFFSETMAX=\",\"optional\":true,\"description\":\"specifies an offset that follows the highest data value on the axis.\",\"help\":\"OFFSETMAX=*numeric-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0aznkgru5v99xn11a0w0qqf2bt5\"},{\"name\":\"OFFSETMIN=\",\"optional\":true,\"description\":\"specifies an offset that precedes the lowest data value on the axis.\",\"help\":\"OFFSETMIN=*numeric-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p067u4jbwafki3n10qqcea6l8hlf\"},{\"name\":\"RANGES=\",\"optional\":true,\"description\":\"specifies the ranges for a broken axis.\",\"help\":\"RANGES=(*start*–*end* &lt;*start2*–*end2**startN*–*endN* ...&gt;)\",\"type\":\"value\",\"arguments\":[{\"name\":\"start\",\"placeholder\":true,\"description\":\"specifies the start of a range.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0cz0ajhm15uspn10ds5q7np949m\"},{\"name\":\"end\",\"placeholder\":true,\"description\":\"specifies the end of a range.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0jeonjof7agdtn1fiqkj58atyuq\"}],\"supportSiteTargetFragment\":\"n1k8wm6blirqqen1nr7ajys73wp9\"},{\"name\":\"REFTICKS\",\"optional\":true,\"description\":\"adds tick marks to the axis that is opposite from the specified axis.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0z363qk9qlndln1czr2d1z2d984\"},{\"name\":\"REFTICKS=\",\"optional\":true,\"description\":\"adds tick marks to the axis that is opposite from the specified axis.\",\"help\":\"REFTICKS=(*options*)\",\"type\":\"value\",\"arguments\":[{\"name\":\"LABEL\",\"description\":\"in addition to the tick marks, displays the axis label.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0400f6zmqwk3hn0zrw8n9a2q0uc\"},{\"name\":\"NOTICKS\",\"description\":\"suppresses the tick marks.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0fpcpxj0673csn1bccorbuas6dl\"},{\"name\":\"VALUES\",\"description\":\"in addition to the tick marks, displays the values that are represented by the tick marks.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0wyjikaabd49fn1mlltserhl13c\"}],\"supportSiteTargetFragment\":\"p0z363qk9qlndln1czr2d1z2d984\"},{\"name\":\"REVERSE\",\"optional\":true,\"description\":\"specifies that the tick values are displayed in reverse (descending) order.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n02o4wmqmhf66an14inqhpo93ny5\"},{\"name\":\"SPLITCHAR=\",\"optional\":true,\"description\":\"splits the text for tick mark values at the specified character or characters according to the fit policy that is in effect.\",\"help\":\"SPLITCHAR=\\\"*character-list*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0gu92abcxdlhmn165seaovg3guv\"},{\"name\":\"SPLITCHARNODROP\",\"optional\":true,\"description\":\"specifies that the split characters are included in the displayed value.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p015n17uc0xmtxn1pdw9wzsskrf4\"},{\"name\":\"SPLITJUSTIFY=\",\"optional\":true,\"description\":\"specifies the horizontal alignment of the value text that is being split.\",\"help\":\"SPLITJUSTIFY=LEFT | CENTER | RIGHT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"LEFT\",\"type\":\"standalone\"},{\"name\":\"CENTER\",\"type\":\"standalone\"},{\"name\":\"RIGHT\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"p1au7jr0rm0kekn1xmyz0qvfod5x\"},{\"name\":\"THRESHOLDMAX=\",\"optional\":true,\"description\":\"Specifies a threshold for displaying one more tick mark at the high end of the axis.\",\"help\":\"THRESHOLDMAX=*numeric-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1nzfe85x2kfosn18mr7rhss70uf\"},{\"name\":\"THRESHOLDMIN=\",\"optional\":true,\"description\":\"Specifies a threshold for displaying one more tick mark at the low end of the axis.\",\"help\":\"THRESHOLDMIN=*numeric-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0flk5ts0oly8un1u7kt3mei1ppi\"},{\"name\":\"TICKSTYLE=\",\"optional\":true,\"description\":\"specifies the placement of the major tick marks in relation to the axis line.\",\"help\":\"TICKSTYLE=OUTSIDE | INSIDE | ACROSS | INBETWEEN\",\"type\":\"choice\",\"arguments\":[{\"name\":\"OUTSIDE\",\"description\":\"displays the major tick marks outside of the axis frame.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0k797o5430ousn1p2wlr34w7bxr\"},{\"name\":\"INSIDE\",\"description\":\"displays the major tick marks inside the axis frame.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0i5m9eegk75vrn1s1v6h4s9fo6x\"},{\"name\":\"ACROSS\",\"description\":\"displays the major tick marks across the axis line.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0dbvapmt4hot3n12cuym2dgd8jc\"},{\"name\":\"INBETWEEN\",\"description\":\"displays the major tick marks between the discrete data values and outside of the axis frame.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0uronzyk69kobn1ifdf6hjjr1e3\"}],\"supportSiteTargetFragment\":\"n1azztb6datgqkn1x60gv2ek831d\"},{\"name\":\"TYPE=\",\"optional\":true,\"description\":\"specifies the type of axis.\",\"help\":\"TYPE=DISCRETE | LINEAR | LOG | TIME\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DISCRETE\",\"description\":\"specifies an axis with discrete values.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n18k9lz61yopten1xkktahu6ffz1\"},{\"name\":\"LINEAR\",\"description\":\"specifies a linear scale for the axis.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1png1zuoqntm1n1h4ry9r3rirxw\"},{\"name\":\"LOG\",\"description\":\"specifies a logarithmic scale for the axis.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0ta0rz86zj5qqn1gyuhl7nybrb3\"},{\"name\":\"TIME\",\"description\":\"specifies a time scale for the axis.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1mukwcgjdutb5n11k0i16fp6vxk\"}],\"supportSiteTargetFragment\":\"n06hiquvbj4li8n1dqk65w9bc0ru\"},{\"name\":\"VALUEATTRS=\",\"optional\":true,\"description\":\"specifies the appearance of the axis tick value labels.\",\"help\":\"VALUEATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p0x61kjcdvw8t2n18r9i3ehfb6aj\"},{\"name\":\"VALUES=\",\"optional\":true,\"description\":\"specifies the values for the ticks on an axis.\",\"help\":\"VALUES=(*values-list* ) | (\\\"*string-list*\\\" )\",\"type\":\"choice\",\"arguments\":[{\"name\":\"values-list\",\"placeholder\":true,\"description\":\"specifies tick values for linear, time, and logarithmic axes.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1m6a4ebezsw2pn1lbo2ce9y40xj\"},{\"name\":\"\\\"string-list\\\"\",\"placeholder\":true,\"description\":\"specifies a space-separated list of string values enclosed in parentheses for a discrete axis.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p07zxgtz37u7z3n1ol7u5hbhn8jr\"}],\"supportSiteTargetFragment\":\"n09f4ln7jq8gkan1w2nhlkzjcrqz\"},{\"name\":\"VALUESDISPLAY=\",\"optional\":true,\"description\":\"specifies the text that is to be displayed for the tick values that are defined in the VALUES= option.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1qrai0p2doumen1xmqctdgasflb\"},{\"name\":\"VALUESFORMAT=\",\"optional\":true,\"aliases\":[\"TICKVALUEFORMAT\"],\"description\":\"specifies how to format the values for major tick marks.\",\"help\":\"VALUESFORMAT=DATA | *SAS-format*\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DATA\",\"description\":\"uses the format that has been assigned to the column that is contributing to the axis (or BEST6 if no format is assigned) in order to control the formatting of the major tick values.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1rzfntmwlsoarn1dpid8s8eoew7\"},{\"name\":\"SAS-format\",\"placeholder\":true,\"description\":\"specifies a format to apply to the major tick values.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0hudsicpe1p4wn19lw3r6y5hohh\"}],\"supportSiteTargetFragment\":\"n0le3fkbqipcldn101al4qv8x549\"},{\"name\":\"VALUESHINT\",\"optional\":true,\"description\":\"specifies that the minimum and maximum axis values are determined independently of the values that you specify in the VALUES= option.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0amgzqp0hs1tkn1piisbik9emr7\"},{\"name\":\"VALUESROTATE=\",\"optional\":true,\"description\":\"specifies how the tick values are rotated on the axis.\",\"help\":\"VALUESROTATE=DIAGONAL | DIAGONAL2 | VERTICAL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DIAGONAL\",\"description\":\"rotates the tick values diagonally.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1c0eoaw73xhehn19p9vo4qkjlv4\"},{\"name\":\"DIAGONAL2\",\"description\":\"rotates the tick values to a reverse diagonal angle.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1y0h8ummlcsudn1bvhhrvb91mde\"},{\"name\":\"VERTICAL\",\"description\":\"rotates the tick values vertically.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0qjmtuwipl0nyn15dk01zip34mn\"}],\"supportSiteTargetFragment\":\"p00fgi68yedn0zn1f47lppup6z32\"}],\"supportSiteTargetFile\":\"p07m2vpyq75fgan14m6g5pphnwlr.htm\"},{\"name\":\"X2AXIS\",\"description\":\"Specifies the axis options for the X2 axis, which is displayed on the top side of the graph.\",\"help\":\"X2AXIS *options*;\",\"arguments\":[{\"name\":\"COLORBANDS=\",\"optional\":true,\"description\":\"specifies the display of alternating wall-color bands corresponding to the discrete axis bins.\",\"help\":\"COLORBANDS=NONE | EVEN | ODD\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NONE\",\"type\":\"standalone\"},{\"name\":\"EVEN\",\"type\":\"standalone\"},{\"name\":\"ODD\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"p01m9cblxm5yevn1uyu3x2whb79ha\"},{\"name\":\"COLORBANDSATTRS=\",\"optional\":true,\"description\":\"specifies the fill appearance of the color band.\",\"help\":\"COLORBANDSATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p1u85xzk9xhvvvn15nzgi4pclb71a\"},{\"name\":\"DISCRETEORDER=\",\"optional\":true,\"description\":\"specifies the order in which discrete tick values are placed on the axis. This option affects any plot with a discrete axis.\",\"help\":\"DISCRETEORDER=DATA | FORMATTED | UNFORMATTED\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DATA\",\"description\":\"places the values in the order in which they appear in the data.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0uqactcv5pozun1cpsdqmphs930a\"},{\"name\":\"FORMATTED\",\"description\":\"sorts the formatted values in ascending character order.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0jxymb0hf34bin1loopvz7yn7j5a\"},{\"name\":\"UNFORMATTED\",\"description\":\"sorts the unformatted values in ascending character order.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1qt02q1j9aappn1bwf71l5tyq14a\"}],\"supportSiteTargetFragment\":\"n0qnft5qzozjeqn166onefa438oqa\"},{\"name\":\"DISPLAY=\",\"optional\":true,\"description\":\"specifies which features of the axis are displayed.\",\"help\":\"DISPLAY=ALL | NONE | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ALL\",\"description\":\"displays all of the features of the axis.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1mp1alccvq0f8n1v3faai72h0twa\"},{\"name\":\"NONE\",\"description\":\"specifies that none of the features of the axis are displayed.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1im14fx29n890n1s7r08numv8aaa\"},{\"name\":\"NOLABEL\",\"description\":\"hides the axis label\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0j9vo2p9208qpn130fy2qine1vfa\"},{\"name\":\"NOLINE\",\"description\":\"hides the axis line\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1qd1ltv45t9qcn1c9fne6pychlfa\"},{\"name\":\"NOTICKS\",\"description\":\"hides the tick marks on the axis\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1773yiknm1y9in1gh0kejvnf5lza\"},{\"name\":\"NOVALUES\",\"description\":\"hides the tick mark values on the axis\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1i22yakqf5ew4n0zxoentkk278ga\"}],\"supportSiteTargetFragment\":\"n0t3xy2er4253zn1v1qy5iyrul61a\"},{\"name\":\"FITPOLICY=\",\"optional\":true,\"description\":\"specifies the method that is used to fit tick mark values on a horizontal axis when there is not enough room to draw them normally.\",\"help\":\"FITPOLICY=*policy-value*\",\"type\":\"value\",\"arguments\":[{\"name\":\"NONE\",\"description\":\"does not split the values.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1vnyezv4kbtyjn1x7rhfzam6mbpa\"},{\"name\":\"ROTATE\",\"description\":\"rotates the value text 45 degrees.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1khs29kw7npj8n15bgg5uxus8cqa\"},{\"name\":\"ROTATETHIN\",\"description\":\"attempts to use ROTATE, and then THIN to fit the values.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p18zqvqmg8v33rn1nh7n0nxwk1lva\"},{\"name\":\"SPLIT\",\"description\":\"splits the values at the character or characters specified in the SPLITCHAR= option.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1ur93t7ycyqhen1rd6hck88sef7a\"},{\"name\":\"SPLITALWAYS\",\"description\":\"always splits the values at the character or characters specified in the SPLITCHAR= option. If the value does not contain any of the specified split characters, a split does not occur.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0q55ry3ld1dqbn119xhncj9gno4a\"},{\"name\":\"SPLITROTATE\",\"description\":\"attempts to use SPLIT, and then ROTATE to fit the values.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0o0tmh7v8ugaen1n41cjpnjrwj1a\"},{\"name\":\"STACKEDALWAYS\",\"description\":\"stacks the values vertically regardless of tick value collision.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1d2m9f1amijcmn144t1lsd92zrra\"},{\"name\":\"STACKEDALWAYSTHIN\",\"description\":\"stacks the values vertically regardless of tick value collision.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n11xsm0oj0z78kn1xi6ayf1lfp7ta\"},{\"name\":\"STAGGER\",\"description\":\"shifts the values up and down.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n12v5wzssijmzin1psfnsfjjp12za\"},{\"name\":\"STAGGERROTATE\",\"description\":\"attempts to use STAGGER, and then ROTATE to fit the values.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p06zbrdt5h7gk9n1jxk3iss8epyja\"},{\"name\":\"STAGGERTHIN\",\"description\":\"attempts to use STAGGER, and then THIN to fit the values.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1sum33c5hzlv1n1knee1bzlsxgja\"},{\"name\":\"THIN\",\"description\":\"removes some of the values from the axis.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1bmhon8vbq9whn178k3v83gzn3ta\"}],\"supportSiteTargetFragment\":\"n1bkk2fwzh9l7in1que4qmkricsxa\"},{\"name\":\"GRID\",\"optional\":true,\"description\":\"creates grid lines at each tick on the axis.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n08bhulq8v4jj9n18r44orpbz5rya\"},{\"name\":\"GRIDATTRS=\",\"optional\":true,\"description\":\"specifies the appearance of the grid lines.\",\"help\":\"GRIDATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"n14zuicr0hsk43n1fg6i0j72ofi4a\"},{\"name\":\"INTEGER\",\"optional\":true,\"description\":\"specifies that only integers are used for tick mark values.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0ymv9h9t7jiwon1jlwaqvo8qddya\"},{\"name\":\"INTERVAL=\",\"optional\":true,\"description\":\"specifies the tick interval for a time axis.\",\"help\":\"INTERVAL=*time-interval*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n06779imap6mdfn1nx7oe8j6nklva\"},{\"name\":\"INTERVALMULT=\",\"optional\":true,\"aliases\":[\"INTERVALMULTIPLIER\"],\"description\":\"specifies a multiplier to apply to the time interval that is in effect for the axis.\",\"help\":\"INTERVALMULT=*positive-integer*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1wyd3isjamghrn1785z15vmhcboa\"},{\"name\":\"LABEL=\",\"optional\":true,\"description\":\"specifies a label for the axis.\",\"help\":\"LABEL=\\\"*text-string*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1ujjft95cl9xzn0zh4jb5yc29xca\"},{\"name\":\"LABELATTRS=\",\"optional\":true,\"description\":\"specifies the appearance of the axis labels.\",\"help\":\"LABELATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"n0g0hdc2z1q2zen157f5flk1hjwya\"},{\"name\":\"LABELPOS=\",\"optional\":true,\"description\":\"specifies the position of the axis label.\",\"help\":\"LABELPOS=CENTER | DATACENTER | LEFT | RIGHT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"CENTER\",\"description\":\"centers the axis label in the axis area (including any offsets).\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1a5n4nhswu1g0n13z7nskjtpt2oa\"},{\"name\":\"DATACENTER\",\"description\":\"centers the axis label in the axis tick display area (excluding any offsets).\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0b8fiaesksmh7n1h0ozwcuq36xba\"},{\"name\":\"LEFT\",\"description\":\"positions the label to the left of the axis area.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1lpphhaqcc3dvn1iflpbbkyv5vda\"},{\"name\":\"RIGHT\",\"description\":\"positions the label to the right of the axis area.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1i4qs8h0vjwrrn1jfdmmci6hub7a\"}],\"supportSiteTargetFragment\":\"n0s89yyivxyeren1ugj51fcu6a9pa\"},{\"name\":\"LOGBASE=\",\"optional\":true,\"description\":\"specifies the base value for the logarithmic scale.\",\"help\":\"LOGBASE=2 | 10 | e\",\"type\":\"choice\",\"arguments\":[{\"name\":\"2\",\"type\":\"standalone\"},{\"name\":\"10\",\"type\":\"standalone\"},{\"name\":\"e\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"p0exau80xfc6xbn19mxrrgeka783a\"},{\"name\":\"LOGSTYLE=\",\"optional\":true,\"description\":\"specifies how to scale and format the values for the major tick marks for logarithmic axes.\",\"help\":\"LOGSTYLE=LINEAR | LOGEXPAND | LOGEXPONENT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"LOGEXPAND\",\"description\":\"places the tick marks at integer powers of the base.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0o35pkq3jmt92n12y6rcurff3ija\"},{\"name\":\"LOGEXPONENT\",\"description\":\"places the tick marks at integer powers of the base, but identifies the values by the exponent.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0jkvpr8rdgvd7n19v4rj8f4gynna\"},{\"name\":\"LINEAR\",\"description\":\"places the tick marks at uniform linear intervals, but spaces them logarithmically.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1f5nbfecsrtk0n1snomopkinst3a\"}],\"supportSiteTargetFragment\":\"n06l9nkrgcfti0n1nl5dqsxtd0laa\"},{\"name\":\"LOGVTYPE=\",\"optional\":true,\"description\":\"specifies the scale that is used when interpreting the values in the VALUES option and the MIN and MAX options.\",\"help\":\"LOGVTYPE=EXPANDED | EXPONENT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"EXPANDED\",\"description\":\"the values are interpreted as integer powers of the base (decimal numbers).\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0u7acrfu9s9xon1ci6wdkhgdp98a\"},{\"name\":\"EXPONENT\",\"description\":\"the values are interpreted as integer exponents of the base.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0bc0xe77dbfjtn1clu2xy6q3is7a\"}],\"supportSiteTargetFragment\":\"n0dzce6b90f4v0n1lipj48f2fu5za\"},{\"name\":\"MAX=\",\"optional\":true,\"description\":\"specifies the maximum data value to include in the display (the value might be adjusted by the threshold calculation).\",\"help\":\"MAX=*numeric-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1ruaachjoi5xyn16kwprmyd7yhda\"},{\"name\":\"MIN=\",\"optional\":true,\"description\":\"specifies the minimum data value to include in the display (the value might be adjusted by the threshold calculation).\",\"help\":\"MIN=*numeric-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1px473mly8uusn1x8zda12yxb0ja\"},{\"name\":\"MINOR\",\"optional\":true,\"description\":\"adds minor tick marks to a linear, log, or time axis.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0wfej9gbnn8qln1si89ibddf9oma\"},{\"name\":\"MINORCOUNT=\",\"optional\":true,\"description\":\"specifies the number of minor tick marks for the axis.\",\"help\":\"MINORCOUNT=*numeric-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n01gqj2indxyv8n14fue2cd1iqhba\"},{\"name\":\"MINORGRID\",\"optional\":true,\"description\":\"creates grid lines at each minor tick on the axis.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1mepcuji3fqbnn12072ooatvsxia\"},{\"name\":\"MINORGRIDATTRS=\",\"optional\":true,\"description\":\"specifies the appearance of the minor grid lines.\",\"help\":\"MINORGRIDATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p0jgcoi0rzkayen19gqjo0c04wyva\"},{\"name\":\"MINORINTERVAL=\",\"optional\":true,\"description\":\"specifies the time interval between minor ticks.\",\"help\":\"MINORINTERVAL=*time-interval*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1c3nh5q7e1khqn1u1fdznkmondfa\"},{\"name\":\"NOTIMESPLIT\",\"optional\":true,\"description\":\"prevents a time axis from splitting the time, date, or datetime values into two rows.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0orsh0hen9k5fn1v2euc8u5x5t8a\"},{\"name\":\"OFFSETMAX=\",\"optional\":true,\"description\":\"specifies an offset that follows the highest data value on the axis.\",\"help\":\"OFFSETMAX=*numeric-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0aznkgru5v99xn11a0w0qqf2bt5a\"},{\"name\":\"OFFSETMIN=\",\"optional\":true,\"description\":\"specifies an offset that precedes the lowest data value on the axis.\",\"help\":\"OFFSETMIN=*numeric-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p067u4jbwafki3n10qqcea6l8hlfa\"},{\"name\":\"RANGES=\",\"optional\":true,\"description\":\"specifies the ranges for a broken axis.\",\"help\":\"RANGES=(*start*–*end* &lt;*start2*–*end2**startN*–*endN* ...&gt;)\",\"type\":\"value\",\"arguments\":[{\"name\":\"start\",\"placeholder\":true,\"description\":\"specifies the start of a range.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0cz0ajhm15uspn10ds5q7np949ma\"},{\"name\":\"end\",\"placeholder\":true,\"description\":\"specifies the end of a range.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0jeonjof7agdtn1fiqkj58atyuqa\"}],\"supportSiteTargetFragment\":\"n1k8wm6blirqqen1nr7ajys73wp9a\"},{\"name\":\"REFTICKS\",\"optional\":true,\"description\":\"adds tick marks to the axis that is opposite from the specified axis.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0z363qk9qlndln1czr2d1z2d984a\"},{\"name\":\"REFTICKS=\",\"optional\":true,\"description\":\"adds tick marks to the axis that is opposite from the specified axis.\",\"help\":\"REFTICKS=(*options*)\",\"type\":\"value\",\"arguments\":[{\"name\":\"LABEL\",\"description\":\"in addition to the tick marks, displays the axis label.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0400f6zmqwk3hn0zrw8n9a2q0uca\"},{\"name\":\"NOTICKS\",\"description\":\"suppresses the tick marks.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0fpcpxj0673csn1bccorbuas6dla\"},{\"name\":\"VALUES\",\"description\":\"in addition to the tick marks, displays the values that are represented by the tick marks.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0wyjikaabd49fn1mlltserhl13ca\"}],\"supportSiteTargetFragment\":\"p0z363qk9qlndln1czr2d1z2d984a\"},{\"name\":\"REVERSE\",\"optional\":true,\"description\":\"specifies that the tick values are displayed in reverse (descending) order.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n02o4wmqmhf66an14inqhpo93ny5a\"},{\"name\":\"SPLITCHAR=\",\"optional\":true,\"description\":\"splits the text for tick mark values at the specified character or characters according to the fit policy that is in effect.\",\"help\":\"SPLITCHAR=\\\"*character-list*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0gu92abcxdlhmn165seaovg3guva\"},{\"name\":\"SPLITCHARNODROP\",\"optional\":true,\"description\":\"specifies that the split characters are included in the displayed value.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p015n17uc0xmtxn1pdw9wzsskrf4a\"},{\"name\":\"SPLITJUSTIFY=\",\"optional\":true,\"description\":\"specifies the horizontal alignment of the value text that is being split.\",\"help\":\"SPLITJUSTIFY=LEFT | CENTER | RIGHT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"LEFT\",\"type\":\"standalone\"},{\"name\":\"CENTER\",\"type\":\"standalone\"},{\"name\":\"RIGHT\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"p1au7jr0rm0kekn1xmyz0qvfod5xa\"},{\"name\":\"THRESHOLDMAX=\",\"optional\":true,\"description\":\"Specifies a threshold for displaying one more tick mark at the high end of the axis.\",\"help\":\"THRESHOLDMAX=*numeric-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1nzfe85x2kfosn18mr7rhss70ufa\"},{\"name\":\"THRESHOLDMIN=\",\"optional\":true,\"description\":\"Specifies a threshold for displaying one more tick mark at the low end of the axis.\",\"help\":\"THRESHOLDMIN=*numeric-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0flk5ts0oly8un1u7kt3mei1ppia\"},{\"name\":\"TICKSTYLE=\",\"optional\":true,\"description\":\"specifies the placement of the major tick marks in relation to the axis line.\",\"help\":\"TICKSTYLE=OUTSIDE | INSIDE | ACROSS | INBETWEEN\",\"type\":\"choice\",\"arguments\":[{\"name\":\"OUTSIDE\",\"description\":\"displays the major tick marks outside of the axis frame.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0k797o5430ousn1p2wlr34w7bxra\"},{\"name\":\"INSIDE\",\"description\":\"displays the major tick marks inside the axis frame.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0i5m9eegk75vrn1s1v6h4s9fo6xa\"},{\"name\":\"ACROSS\",\"description\":\"displays the major tick marks across the axis line.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0dbvapmt4hot3n12cuym2dgd8jca\"},{\"name\":\"INBETWEEN\",\"description\":\"displays the major tick marks between the discrete data values and outside of the axis frame.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0uronzyk69kobn1ifdf6hjjr1e3a\"}],\"supportSiteTargetFragment\":\"n1azztb6datgqkn1x60gv2ek831da\"},{\"name\":\"TYPE=\",\"optional\":true,\"description\":\"specifies the type of axis.\",\"help\":\"TYPE=DISCRETE | LINEAR | LOG | TIME\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DISCRETE\",\"description\":\"specifies an axis with discrete values.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n18k9lz61yopten1xkktahu6ffz1a\"},{\"name\":\"LINEAR\",\"description\":\"specifies a linear scale for the axis.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1png1zuoqntm1n1h4ry9r3rirxwa\"},{\"name\":\"LOG\",\"description\":\"specifies a logarithmic scale for the axis.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0ta0rz86zj5qqn1gyuhl7nybrb3a\"},{\"name\":\"TIME\",\"description\":\"specifies a time scale for the axis.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1mukwcgjdutb5n11k0i16fp6vxka\"}],\"supportSiteTargetFragment\":\"n06hiquvbj4li8n1dqk65w9bc0rua\"},{\"name\":\"VALUEATTRS=\",\"optional\":true,\"description\":\"specifies the appearance of the axis tick value labels.\",\"help\":\"VALUEATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p0x61kjcdvw8t2n18r9i3ehfb6aja\"},{\"name\":\"VALUES=\",\"optional\":true,\"description\":\"specifies the values for the ticks on an axis.\",\"help\":\"VALUES=(*values-list* ) | (\\\"*string-list*\\\" )\",\"type\":\"choice\",\"arguments\":[{\"name\":\"values-list\",\"placeholder\":true,\"description\":\"specifies tick values for linear, time, and logarithmic axes.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1m6a4ebezsw2pn1lbo2ce9y40xja\"},{\"name\":\"\\\"string-list\\\"\",\"placeholder\":true,\"description\":\"specifies a space-separated list of string values enclosed in parentheses for a discrete axis.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p07zxgtz37u7z3n1ol7u5hbhn8jra\"}],\"supportSiteTargetFragment\":\"n09f4ln7jq8gkan1w2nhlkzjcrqza\"},{\"name\":\"VALUESDISPLAY=\",\"optional\":true,\"description\":\"specifies the text that is to be displayed for the tick values that are defined in the VALUES= option.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1qrai0p2doumen1xmqctdgasflba\"},{\"name\":\"VALUESFORMAT=\",\"optional\":true,\"aliases\":[\"TICKVALUEFORMAT\"],\"description\":\"specifies how to format the values for major tick marks.\",\"help\":\"VALUESFORMAT=DATA | *SAS-format*\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DATA\",\"description\":\"uses the format that has been assigned to the column that is contributing to the axis (or BEST6 if no format is assigned) in order to control the formatting of the major tick values.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1rzfntmwlsoarn1dpid8s8eoew7a\"},{\"name\":\"SAS-format\",\"placeholder\":true,\"description\":\"specifies a format to apply to the major tick values.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0hudsicpe1p4wn19lw3r6y5hohha\"}],\"supportSiteTargetFragment\":\"n0le3fkbqipcldn101al4qv8x549a\"},{\"name\":\"VALUESHINT\",\"optional\":true,\"description\":\"specifies that the minimum and maximum axis values are determined independently of the values that you specify in the VALUES= option.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0amgzqp0hs1tkn1piisbik9emr7a\"},{\"name\":\"VALUESROTATE=\",\"optional\":true,\"description\":\"specifies how the tick values are rotated on the axis.\",\"help\":\"VALUESROTATE=DIAGONAL | DIAGONAL2 | VERTICAL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DIAGONAL\",\"description\":\"rotates the tick values diagonally.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1c0eoaw73xhehn19p9vo4qkjlv4a\"},{\"name\":\"DIAGONAL2\",\"description\":\"rotates the tick values to a reverse diagonal angle.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1y0h8ummlcsudn1bvhhrvb91mdea\"},{\"name\":\"VERTICAL\",\"description\":\"rotates the tick values vertically.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0qjmtuwipl0nyn15dk01zip34mna\"}],\"supportSiteTargetFragment\":\"p00fgi68yedn0zn1f47lppup6z32a\"}],\"supportSiteTargetFile\":\"p0wvmd88sz151ln1i1vx8l72b73c.htm\"},{\"name\":\"XAXISTABLE\",\"description\":\"Creates a basic plot that displays data values at specific locations along the horizontal axis.\",\"help\":\"XAXISTABLE  *variable*&lt; ...*variable-n*&gt;&lt;/*options*&gt;;\",\"arguments\":[{\"name\":\"variable\",\"placeholder\":true,\"description\":\"specifies one or more variables for the axis table.\",\"help\":\"*variable*&lt; ...*variable-n*&gt;\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1sif5ll69x8lxn1vge3u07zurhr\"},{\"name\":\"ATTRID=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the value of the ID variable in a discrete attribute map data set.\",\"help\":\"ATTRID=*character-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0gnil4gecoz0fn1sjexzo9ka6a8z6\"},{\"name\":\"CLASS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"creates a separate axis table for each unique value of the specified variable.\",\"help\":\"CLASS=*variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0ixcempkiiyhdn1xoanerbf6pay\"},{\"name\":\"CLASSDISPLAY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies how the class values are displayed.\",\"help\":\"CLASSDISPLAY=STACK | CLUSTER\",\"type\":\"choice\",\"arguments\":[{\"name\":\"STACK\",\"followsDelimiter\":\"/\",\"description\":\"displays the class values vertically at each midpoint value on the X axis.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1q8c6celwyur5n1dqka9svut9lx\"},{\"name\":\"CLUSTER\",\"followsDelimiter\":\"/\",\"description\":\"displays the class values horizontally at each midpoint value on the X axis.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p069gtzgati32mn1pkt9zpnyv24z\"}],\"supportSiteTargetFragment\":\"n0o49xfzcdz0wpn1luzbkhd0n8h5\"},{\"name\":\"CLASSORDER=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the order in which the class values are displayed.\",\"help\":\"CLASSORDER=DATA | REVERSEDATA | ASCENDING | DESCENDING\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DATA\",\"followsDelimiter\":\"/\",\"description\":\"displays the class values in the order in which they occur in the data.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p07s67y8zkh9jcn17blicpjcufiy\"},{\"name\":\"REVERSEDATA\",\"followsDelimiter\":\"/\",\"description\":\"displays the class values in the reverse order from which they occur in the data.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n15bbzeahwkh53n0zlmqnfyrmacg\"},{\"name\":\"ASCENDING\",\"followsDelimiter\":\"/\",\"description\":\"displays the class values in ascending order.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1thg872yln2tzn10hio8qase877\"},{\"name\":\"DESCENDING\",\"followsDelimiter\":\"/\",\"description\":\"displays the class values in descending order.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0s5lmph2hsqf3n1buf9qqnbndl7\"}],\"supportSiteTargetFragment\":\"n0zgdoyqkmw8kpn1akmjhi83600o\"},{\"name\":\"COLORGROUP=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a variable that is used to determine the color of the table values.\",\"help\":\"COLORGROUP=*variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0pn6k9w8gd1wvn15w0rgkm0i3xi\"},{\"name\":\"DROPONMISSING\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that the entire axis table is dropped when all of the values are missing.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1h805b6hhswpvn1e8ajb0l4ek08\"},{\"name\":\"LABEL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies whether the table label is shown or hidden.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0b36dzgvw0q6en1890fc5qb7399\"},{\"name\":\"LABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies whether the table label is shown or hidden.\",\"help\":\"LABEL=\\\"*text-string*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0b36dzgvw0q6en1890fc5qb7399\"},{\"name\":\"NOLABEL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies whether the table label is shown or hidden.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0b36dzgvw0q6en1890fc5qb7399\"},{\"name\":\"LABELATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the color and font attributes of the axis table label.\",\"help\":\"LABELATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"n1nevwnjoq4b7kn1eesu3mrn1lwp\"},{\"name\":\"LABELPOS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the position of the labels at the left or right side of the axis table.\",\"help\":\"LABELPOS=LEFT | RIGHT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"LEFT\",\"type\":\"standalone\"},{\"name\":\"RIGHT\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"p0s3nh6v72cr1wn1u214x5v4fvbm\"},{\"name\":\"LOCATION=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies whether the axis table is placed outside or inside the axis area.\",\"help\":\"LOCATION=OUTSIDE | INSIDE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"OUTSIDE\",\"type\":\"standalone\"},{\"name\":\"INSIDE\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"p0nchtwg517mlln166kiur2qpsv8\"},{\"name\":\"NAME=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"assigns a name to a plot statement.\",\"help\":\"NAME=\\\"*text-string*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1kiiynz0gzidxn16dsf62msnl4tz11\"},{\"name\":\"NOMISSINGCHAR\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses the display of the MISSING character (.) for missing numeric values.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1ptkzfc82n03en16ukv7493c5zd\"},{\"name\":\"NOMISSINGCLASS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that missing values of the class variable are not included in the table.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1pja8by1foy1mn1w4ubyi46ehb2\"},{\"name\":\"PAD=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the amount of extra space that is added inside the table border.\",\"help\":\"PAD=*numeric-value*&lt;*units*&gt; | *(pad-options)*\",\"type\":\"choice\",\"arguments\":[{\"name\":\"numeric-valueunits\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a dimension to use for the extra space at the table border.\",\"help\":\"*numeric-value*&lt;*units*&gt; \",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1097y28j3mtdfn1dmjs1qxqm4lw\"},{\"name\":\"TOP=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the amount of extra space added to the top.\",\"help\":\"TOP=*dimension*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0hanhy1ja5yhhn14t6h2ecu7jmr\"},{\"name\":\"BOTTOM=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the amount of extra space added to the bottom.\",\"help\":\"BOTTOM=*dimension*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0jwnfhn4ww5aen1cldglz4cdvgy\"}],\"supportSiteTargetFragment\":\"p1ph0ounx3r612n1m9rgscd6fon2\"},{\"name\":\"POSITION=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the position of the axis table at the bottom or top of the graph.\",\"help\":\"POSITION=BOTTOM | TOP\",\"type\":\"choice\",\"arguments\":[{\"name\":\"BOTTOM\",\"type\":\"standalone\"},{\"name\":\"TOP\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"p1knict1h1zrg3n1ldy0ivh1b5an\"},{\"name\":\"SEPARATOR\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"creates a separating line between the axis table or axis tables and the plot.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1txrcfcn3x5o7n1gznppjo9hsyb\"},{\"name\":\"STAT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the statistic for the axis table.\",\"help\":\"STAT=FREQ | MEAN | MEDIAN | PERCENT | SUM\",\"type\":\"choice\",\"arguments\":[{\"name\":\"FREQ\",\"followsDelimiter\":\"/\",\"description\":\"the frequency of the axis table variable.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0oxowp6b7bibtn1sxhrvyjrcoh6\"},{\"name\":\"MEAN\",\"followsDelimiter\":\"/\",\"description\":\"the mean of the axis table variable.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1eaiu59tfjiykn1qjjhp5k6mjc5\"},{\"name\":\"MEDIAN\",\"followsDelimiter\":\"/\",\"description\":\"the median of the axis table variable.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1tc22j9ekxh6in1frj2s69k6o2q\"},{\"name\":\"PERCENT\",\"followsDelimiter\":\"/\",\"aliases\":[\"PCT\"],\"description\":\"the percentage of the sum of the axis table variable.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1koiym4b301xjn1b0a15q5cz0dl\"},{\"name\":\"SUM\",\"followsDelimiter\":\"/\",\"description\":\"the sum of the axis table variable.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0wfy7d1kw0n6pn1mhj6kcjnxghj\"}],\"supportSiteTargetFragment\":\"n0yf9p46fvzh09n1moox0sz22idy\"},{\"name\":\"STATLABEL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies whether the variable statistic is displayed in the table’s label.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n06c767kmpw62gn14n17mj176fvq\"},{\"name\":\"NOSTATLABEL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies whether the variable statistic is displayed in the table’s label.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n06c767kmpw62gn14n17mj176fvq\"},{\"name\":\"TEXTGROUP=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the group variable that is used in a discrete attribute map data set to map text attributes to values for each observation.\",\"help\":\"TEXTGROUP=*attribute-map-group-variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p01w5klub9g33tn17l9s22qbd93j\"},{\"name\":\"TEXTGROUPID=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies an attribute ID for the TEXTGROUP= option.\",\"help\":\"TEXTGROUPID=*attribute-map-id*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1leutjjket50vn19u2en7eec42c\"},{\"name\":\"TITLE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a title for the axis table.\",\"help\":\"TITLE=\\\"*text-string*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0ppufhmyohwzsn17jfnmm3b355q\"},{\"name\":\"TITLEATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the appearance of the title for the axis table.\",\"help\":\"TITLEATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p07d8m28rnhjj8n1iye6ta5ziu7x\"},{\"name\":\"VALUEATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the appearance of the axis table values.\",\"help\":\"VALUEATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p04sudmvjgoqc2n11ddwv1t2k8b7\"},{\"name\":\"X=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the X variable to use to align the table values to the X or X2 axis.\",\"help\":\"X=*variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0wv8spsxj1mx5n1ek9we2fzzhqo\"},{\"name\":\"X2AXIS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"assigns the table to the secondary (top) horizontal axis.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1uztu7ewcnbuyn1pxunbfzc1fvz\"}],\"supportSiteTargetFile\":\"p1cebnxst19wccn1s44lyk5nk2vx.htm\"},{\"name\":\"YAXIS\",\"description\":\"Specifies the axis options for the Y axis.\",\"help\":\"YAXIS *options*;\",\"arguments\":[{\"name\":\"COLORBANDS=\",\"optional\":true,\"description\":\"specifies the display of alternating wall-color bands corresponding to the discrete axis bins.\",\"help\":\"COLORBANDS=NONE | EVEN | ODD\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NONE\",\"type\":\"standalone\"},{\"name\":\"EVEN\",\"type\":\"standalone\"},{\"name\":\"ODD\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"p01m9cblxm5yevn1uyu3x2whb79hb\"},{\"name\":\"COLORBANDSATTRS=\",\"optional\":true,\"description\":\"specifies the fill appearance of the color band.\",\"help\":\"COLORBANDSATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p1u85xzk9xhvvvn15nzgi4pclb71b\"},{\"name\":\"DISCRETEORDER=\",\"optional\":true,\"description\":\"specifies the order in which discrete tick values are placed on the axis. This option affects any plot with a discrete axis.\",\"help\":\"DISCRETEORDER=DATA | FORMATTED | UNFORMATTED\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DATA\",\"description\":\"places the values in the order in which they appear in the data.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0uqactcv5pozun1cpsdqmphs930b\"},{\"name\":\"FORMATTED\",\"description\":\"sorts the formatted values in ascending character order.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0jxymb0hf34bin1loopvz7yn7j5b\"},{\"name\":\"UNFORMATTED\",\"description\":\"sorts the unformatted values in ascending character order.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1qt02q1j9aappn1bwf71l5tyq14b\"}],\"supportSiteTargetFragment\":\"n0qnft5qzozjeqn166onefa438oqb\"},{\"name\":\"DISPLAY=\",\"optional\":true,\"description\":\"specifies which features of the axis are displayed.\",\"help\":\"DISPLAY=ALL | NONE | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ALL\",\"description\":\"displays all of the features of the axis.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1mp1alccvq0f8n1v3faai72h0twb\"},{\"name\":\"NONE\",\"description\":\"specifies that none of the features of the axis are displayed.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1im14fx29n890n1s7r08numv8aab\"},{\"name\":\"NOLABEL\",\"description\":\"hides the axis label\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0j9vo2p9208qpn130fy2qine1vfb\"},{\"name\":\"NOLINE\",\"description\":\"hides the axis line\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1qd1ltv45t9qcn1c9fne6pychlfb\"},{\"name\":\"NOTICKS\",\"description\":\"hides the tick marks on the axis\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1773yiknm1y9in1gh0kejvnf5lzb\"},{\"name\":\"NOVALUES\",\"description\":\"hides the tick mark values on the axis\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1i22yakqf5ew4n0zxoentkk278gb\"}],\"supportSiteTargetFragment\":\"n0t3xy2er4253zn1v1qy5iyrul61b\"},{\"name\":\"FITPOLICY=\",\"optional\":true,\"description\":\"specifies the method that is used to fit tick mark values on a vertical axis when there is not enough room to draw them normally.\",\"help\":\"FITPOLICY=NONE | SPLIT | SPLITALWAYS | THIN\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NONE\",\"description\":\"does not split the values.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p18wnteko2mdfan1prd9ro6zulyw\"},{\"name\":\"SPLIT\",\"description\":\"splits the values at the character or characters specified in the SPLITCHAR= option.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1p3kkz0ubku5kn1q3rs8wb5wt0i\"},{\"name\":\"SPLITALWAYS\",\"description\":\"always splits the values at the character or characters specified in the SPLITCHAR= option.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1cty1pad1d9cwn17x3k1dyziq2p\"},{\"name\":\"THIN\",\"description\":\"removes some of the values from the axis.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p13kner9pvpx9un14kjl25qo2xhg\"}],\"supportSiteTargetFragment\":\"n1wv47n8tj5jq7n1inpgehzuzfpy\"},{\"name\":\"GRID\",\"optional\":true,\"description\":\"creates grid lines at each tick on the axis.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n08bhulq8v4jj9n18r44orpbz5ryb\"},{\"name\":\"GRIDATTRS=\",\"optional\":true,\"description\":\"specifies the appearance of the grid lines.\",\"help\":\"GRIDATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"n14zuicr0hsk43n1fg6i0j72ofi4b\"},{\"name\":\"INTEGER\",\"optional\":true,\"description\":\"specifies that only integers are used for tick mark values.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0ymv9h9t7jiwon1jlwaqvo8qddyb\"},{\"name\":\"INTERVAL=\",\"optional\":true,\"description\":\"specifies the tick interval for a time axis.\",\"help\":\"INTERVAL=*time-interval*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n06779imap6mdfn1nx7oe8j6nklvb\"},{\"name\":\"INTERVALMULT=\",\"optional\":true,\"aliases\":[\"INTERVALMULTIPLIER\"],\"description\":\"specifies a multiplier to apply to the time interval that is in effect for the axis.\",\"help\":\"INTERVALMULT=*positive-integer*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1wyd3isjamghrn1785z15vmhcbob\"},{\"name\":\"LABEL=\",\"optional\":true,\"description\":\"specifies a label for the axis.\",\"help\":\"LABEL=\\\"*text-string*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1ujjft95cl9xzn0zh4jb5yc29xcb\"},{\"name\":\"LABELATTRS=\",\"optional\":true,\"description\":\"specifies the appearance of the axis labels.\",\"help\":\"LABELATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"n0g0hdc2z1q2zen157f5flk1hjwyb\"},{\"name\":\"LABELPOS=\",\"optional\":true,\"description\":\"specifies the position of the axis label.\",\"help\":\"LABELPOS=BOTTOM | CENTER | DATACENTER | TOP\",\"type\":\"choice\",\"arguments\":[{\"name\":\"BOTTOM\",\"description\":\"positions the label at the bottom of the axis area.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1gzr7avspzzf3n1iy37e3550hhg\"},{\"name\":\"CENTER\",\"description\":\"centers the axis label in the axis area (including any offsets).\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1ba6zglc2d9cdn1x9w4zscdqg2g\"},{\"name\":\"DATACENTER\",\"description\":\"centers the axis label in the axis tick display area (excluding any offsets).\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p119kwnhznj3e0n1np29gne4ar2p\"},{\"name\":\"TOP\",\"description\":\"positions the label at the top of the axis area.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0klsp8z5zfw6en1ed7ia63xmr93\"}],\"supportSiteTargetFragment\":\"n0w56rw3w542q8n1d0cix4xxlsyb\"},{\"name\":\"LOGBASE=\",\"optional\":true,\"description\":\"specifies the base value for the logarithmic scale.\",\"help\":\"LOGBASE=2 | 10 | e\",\"type\":\"choice\",\"arguments\":[{\"name\":\"2\",\"type\":\"standalone\"},{\"name\":\"10\",\"type\":\"standalone\"},{\"name\":\"e\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"p0exau80xfc6xbn19mxrrgeka783b\"},{\"name\":\"LOGSTYLE=\",\"optional\":true,\"description\":\"specifies how to scale and format the values for the major tick marks for logarithmic axes.\",\"help\":\"LOGSTYLE=LINEAR | LOGEXPAND | LOGEXPONENT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"LOGEXPAND\",\"description\":\"places the tick marks at integer powers of the base.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0o35pkq3jmt92n12y6rcurff3ijb\"},{\"name\":\"LOGEXPONENT\",\"description\":\"places the tick marks at integer powers of the base, but identifies the values by the exponent.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0jkvpr8rdgvd7n19v4rj8f4gynnb\"},{\"name\":\"LINEAR\",\"description\":\"places the tick marks at uniform linear intervals, but spaces them logarithmically.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1f5nbfecsrtk0n1snomopkinst3b\"}],\"supportSiteTargetFragment\":\"n06l9nkrgcfti0n1nl5dqsxtd0lab\"},{\"name\":\"LOGVTYPE=\",\"optional\":true,\"description\":\"specifies the scale that is used when interpreting the values in the VALUES option and the MIN and MAX options.\",\"help\":\"LOGVTYPE=EXPANDED | EXPONENT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"EXPANDED\",\"description\":\"the values are interpreted as integer powers of the base (decimal numbers).\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0u7acrfu9s9xon1ci6wdkhgdp98b\"},{\"name\":\"EXPONENT\",\"description\":\"the values are interpreted as integer exponents of the base.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0bc0xe77dbfjtn1clu2xy6q3is7b\"}],\"supportSiteTargetFragment\":\"n0dzce6b90f4v0n1lipj48f2fu5zb\"},{\"name\":\"MAX=\",\"optional\":true,\"description\":\"specifies the maximum data value to include in the display (the value might be adjusted by the threshold calculation).\",\"help\":\"MAX=*numeric-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1ruaachjoi5xyn16kwprmyd7yhdb\"},{\"name\":\"MIN=\",\"optional\":true,\"description\":\"specifies the minimum data value to include in the display (the value might be adjusted by the threshold calculation).\",\"help\":\"MIN=*numeric-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1px473mly8uusn1x8zda12yxb0jb\"},{\"name\":\"MINOR\",\"optional\":true,\"description\":\"adds minor tick marks to a linear, log, or time axis.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0wfej9gbnn8qln1si89ibddf9omb\"},{\"name\":\"MINORCOUNT=\",\"optional\":true,\"description\":\"specifies the number of minor tick marks for the axis.\",\"help\":\"MINORCOUNT=*numeric-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n01gqj2indxyv8n14fue2cd1iqhbb\"},{\"name\":\"MINORGRID\",\"optional\":true,\"description\":\"creates grid lines at each minor tick on the axis.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1mepcuji3fqbnn12072ooatvsxib\"},{\"name\":\"MINORGRIDATTRS=\",\"optional\":true,\"description\":\"specifies the appearance of the minor grid lines.\",\"help\":\"MINORGRIDATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p0jgcoi0rzkayen19gqjo0c04wyvb\"},{\"name\":\"MINORINTERVAL=\",\"optional\":true,\"description\":\"specifies the time interval between minor ticks.\",\"help\":\"MINORINTERVAL=*time-interval*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1c3nh5q7e1khqn1u1fdznkmondfb\"},{\"name\":\"NOTIMESPLIT\",\"optional\":true,\"description\":\"prevents a time axis from splitting the time, date, or datetime values into two rows.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0orsh0hen9k5fn1v2euc8u5x5t8b\"},{\"name\":\"OFFSETMAX=\",\"optional\":true,\"description\":\"specifies an offset that follows the highest data value on the axis.\",\"help\":\"OFFSETMAX=*numeric-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0m1kkhdek2dknn1lsmyqmtqe5x7\"},{\"name\":\"OFFSETMIN=\",\"optional\":true,\"description\":\"specifies an offset that precedes the lowest data value on the axis.\",\"help\":\"OFFSETMIN=*numeric-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1f1k88qlhersnn1j84uiiy0ayun\"},{\"name\":\"RANGES=\",\"optional\":true,\"description\":\"specifies the ranges for a broken axis.\",\"help\":\"RANGES=(*start*–*end* &lt;*start2*–*end2**startN*–*endN* ...&gt;)\",\"type\":\"value\",\"arguments\":[{\"name\":\"start\",\"placeholder\":true,\"description\":\"specifies the start of a range.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0cz0ajhm15uspn10ds5q7np949mb\"},{\"name\":\"end\",\"placeholder\":true,\"description\":\"specifies the end of a range.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0jeonjof7agdtn1fiqkj58atyuqb\"}],\"supportSiteTargetFragment\":\"n1k8wm6blirqqen1nr7ajys73wp9b\"},{\"name\":\"REFTICKS\",\"optional\":true,\"description\":\"adds tick marks to the axis that is opposite from the specified axis.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0z363qk9qlndln1czr2d1z2d984b\"},{\"name\":\"REFTICKS=\",\"optional\":true,\"description\":\"adds tick marks to the axis that is opposite from the specified axis.\",\"help\":\"REFTICKS=(*options*)\",\"type\":\"value\",\"arguments\":[{\"name\":\"LABEL\",\"description\":\"in addition to the tick marks, displays the axis label.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0400f6zmqwk3hn0zrw8n9a2q0ucb\"},{\"name\":\"NOTICKS\",\"description\":\"suppresses the tick marks.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0fpcpxj0673csn1bccorbuas6dlb\"},{\"name\":\"VALUES\",\"description\":\"in addition to the tick marks, displays the values that are represented by the tick marks.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0wyjikaabd49fn1mlltserhl13cb\"}],\"supportSiteTargetFragment\":\"p0z363qk9qlndln1czr2d1z2d984b\"},{\"name\":\"REVERSE\",\"optional\":true,\"description\":\"specifies that the tick values are displayed in reverse (descending) order.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n02o4wmqmhf66an14inqhpo93ny5b\"},{\"name\":\"SPLITCHAR=\",\"optional\":true,\"description\":\"splits the text for tick mark values at the specified character or characters according to the fit policy that is in effect.\",\"help\":\"SPLITCHAR=\\\"*character-list*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1ecw90uvw87ern1oc59w4hh0o8s\"},{\"name\":\"SPLITCHARNODROP\",\"optional\":true,\"description\":\"specifies that the split characters are included in the displayed value.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p015n17uc0xmtxn1pdw9wzsskrf4b\"},{\"name\":\"SPLITJUSTIFY=\",\"optional\":true,\"description\":\"specifies the horizontal alignment of the value text that is being split.\",\"help\":\"SPLITJUSTIFY=LEFT | CENTER | RIGHT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"LEFT\",\"type\":\"standalone\"},{\"name\":\"CENTER\",\"type\":\"standalone\"},{\"name\":\"RIGHT\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"p1au7jr0rm0kekn1xmyz0qvfod5xb\"},{\"name\":\"THRESHOLDMAX=\",\"optional\":true,\"description\":\"Specifies a threshold for displaying one more tick mark at the high end of the axis.\",\"help\":\"THRESHOLDMAX=*numeric-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1nzfe85x2kfosn18mr7rhss70ufb\"},{\"name\":\"THRESHOLDMIN=\",\"optional\":true,\"description\":\"Specifies a threshold for displaying one more tick mark at the low end of the axis.\",\"help\":\"THRESHOLDMIN=*numeric-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0flk5ts0oly8un1u7kt3mei1ppib\"},{\"name\":\"TICKSTYLE=\",\"optional\":true,\"description\":\"specifies the placement of the major tick marks in relation to the axis line.\",\"help\":\"TICKSTYLE=OUTSIDE | INSIDE | ACROSS | INBETWEEN\",\"type\":\"choice\",\"arguments\":[{\"name\":\"OUTSIDE\",\"description\":\"displays the major tick marks outside of the axis frame.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0k797o5430ousn1p2wlr34w7bxrb\"},{\"name\":\"INSIDE\",\"description\":\"displays the major tick marks inside the axis frame.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0i5m9eegk75vrn1s1v6h4s9fo6xb\"},{\"name\":\"ACROSS\",\"description\":\"displays the major tick marks across the axis line.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0dbvapmt4hot3n12cuym2dgd8jcb\"},{\"name\":\"INBETWEEN\",\"description\":\"displays the major tick marks between the discrete data values and outside of the axis frame.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0uronzyk69kobn1ifdf6hjjr1e3b\"}],\"supportSiteTargetFragment\":\"n1azztb6datgqkn1x60gv2ek831db\"},{\"name\":\"TYPE=\",\"optional\":true,\"description\":\"specifies the type of axis.\",\"help\":\"TYPE=DISCRETE | LINEAR | LOG | TIME\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DISCRETE\",\"description\":\"specifies an axis with discrete values.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n18k9lz61yopten1xkktahu6ffz1b\"},{\"name\":\"LINEAR\",\"description\":\"specifies a linear scale for the axis.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1png1zuoqntm1n1h4ry9r3rirxwb\"},{\"name\":\"LOG\",\"description\":\"specifies a logarithmic scale for the axis.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0ta0rz86zj5qqn1gyuhl7nybrb3b\"},{\"name\":\"TIME\",\"description\":\"specifies a time scale for the axis.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1mukwcgjdutb5n11k0i16fp6vxkb\"}],\"supportSiteTargetFragment\":\"n06hiquvbj4li8n1dqk65w9bc0rub\"},{\"name\":\"VALUEATTRS=\",\"optional\":true,\"description\":\"specifies the appearance of the axis tick value labels.\",\"help\":\"VALUEATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p0x61kjcdvw8t2n18r9i3ehfb6ajb\"},{\"name\":\"VALUES=\",\"optional\":true,\"description\":\"specifies the values for the ticks on an axis.\",\"help\":\"VALUES=(*values-list* ) | (\\\"*string-list*\\\" )\",\"type\":\"choice\",\"arguments\":[{\"name\":\"values-list\",\"placeholder\":true,\"description\":\"specifies tick values for linear, time, and logarithmic axes.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1m6a4ebezsw2pn1lbo2ce9y40xjb\"},{\"name\":\"\\\"string-list\\\"\",\"placeholder\":true,\"description\":\"specifies a space-separated list of string values enclosed in parentheses for a discrete axis.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p07zxgtz37u7z3n1ol7u5hbhn8jrb\"}],\"supportSiteTargetFragment\":\"n09f4ln7jq8gkan1w2nhlkzjcrqzb\"},{\"name\":\"VALUESDISPLAY=\",\"optional\":true,\"description\":\"specifies the text that is to be displayed for the tick values that are defined in the VALUES= option.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1qrai0p2doumen1xmqctdgasflbb\"},{\"name\":\"VALUESFORMAT=\",\"optional\":true,\"aliases\":[\"TICKVALUEFORMAT\"],\"description\":\"specifies how to format the values for major tick marks.\",\"help\":\"VALUESFORMAT=DATA | *SAS-format*\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DATA\",\"description\":\"uses the format that has been assigned to the column that is contributing to the axis (or BEST6 if no format is assigned) in order to control the formatting of the major tick values.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1rzfntmwlsoarn1dpid8s8eoew7b\"},{\"name\":\"SAS-format\",\"placeholder\":true,\"description\":\"specifies a format to apply to the major tick values.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0hudsicpe1p4wn19lw3r6y5hohhb\"}],\"supportSiteTargetFragment\":\"n0le3fkbqipcldn101al4qv8x549b\"},{\"name\":\"VALUESHALIGN=\",\"optional\":true,\"description\":\"specifies the horizontal alignment for all of the tick values that are displayed on the axis.\",\"help\":\"VALUESHALIGN=LEFT | CENTER | RIGHT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"LEFT\",\"type\":\"standalone\"},{\"name\":\"CENTER\",\"type\":\"standalone\"},{\"name\":\"RIGHT\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"p171rf0i518xcvn11iffvq3350m8\"},{\"name\":\"VALUESHINT\",\"optional\":true,\"description\":\"specifies that the minimum and maximum axis values are determined independently of the values that you specify in the VALUES= option.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0amgzqp0hs1tkn1piisbik9emr7b\"}],\"supportSiteTargetFile\":\"n0n6uml63c6h8dn16phbd1arm9g9.htm\"},{\"name\":\"Y2AXIS\",\"description\":\"Specifies the axis options for the Y2 axis, which is displayed on the right side of the graph.\",\"help\":\"Y2AXIS *options*;\",\"arguments\":[{\"name\":\"COLORBANDS=\",\"optional\":true,\"description\":\"specifies the display of alternating wall-color bands corresponding to the discrete axis bins.\",\"help\":\"COLORBANDS=NONE | EVEN | ODD\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NONE\",\"type\":\"standalone\"},{\"name\":\"EVEN\",\"type\":\"standalone\"},{\"name\":\"ODD\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"p01m9cblxm5yevn1uyu3x2whb79hc\"},{\"name\":\"COLORBANDSATTRS=\",\"optional\":true,\"description\":\"specifies the fill appearance of the color band.\",\"help\":\"COLORBANDSATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p1u85xzk9xhvvvn15nzgi4pclb71c\"},{\"name\":\"DISCRETEORDER=\",\"optional\":true,\"description\":\"specifies the order in which discrete tick values are placed on the axis. This option affects any plot with a discrete axis.\",\"help\":\"DISCRETEORDER=DATA | FORMATTED | UNFORMATTED\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DATA\",\"description\":\"places the values in the order in which they appear in the data.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0uqactcv5pozun1cpsdqmphs930c\"},{\"name\":\"FORMATTED\",\"description\":\"sorts the formatted values in ascending character order.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0jxymb0hf34bin1loopvz7yn7j5c\"},{\"name\":\"UNFORMATTED\",\"description\":\"sorts the unformatted values in ascending character order.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1qt02q1j9aappn1bwf71l5tyq14c\"}],\"supportSiteTargetFragment\":\"n0qnft5qzozjeqn166onefa438oqc\"},{\"name\":\"DISPLAY=\",\"optional\":true,\"description\":\"specifies which features of the axis are displayed.\",\"help\":\"DISPLAY=ALL | NONE | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ALL\",\"description\":\"displays all of the features of the axis.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1mp1alccvq0f8n1v3faai72h0twc\"},{\"name\":\"NONE\",\"description\":\"specifies that none of the features of the axis are displayed.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1im14fx29n890n1s7r08numv8aac\"},{\"name\":\"NOLABEL\",\"description\":\"hides the axis label\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0j9vo2p9208qpn130fy2qine1vfc\"},{\"name\":\"NOLINE\",\"description\":\"hides the axis line\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1qd1ltv45t9qcn1c9fne6pychlfc\"},{\"name\":\"NOTICKS\",\"description\":\"hides the tick marks on the axis\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1773yiknm1y9in1gh0kejvnf5lzc\"},{\"name\":\"NOVALUES\",\"description\":\"hides the tick mark values on the axis\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1i22yakqf5ew4n0zxoentkk278gc\"}],\"supportSiteTargetFragment\":\"n0t3xy2er4253zn1v1qy5iyrul61c\"},{\"name\":\"FITPOLICY=\",\"optional\":true,\"description\":\"specifies the method that is used to fit tick mark values on a vertical axis when there is not enough room to draw them normally.\",\"help\":\"FITPOLICY=NONE | SPLIT | SPLITALWAYS | THIN\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NONE\",\"description\":\"does not split the values.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p18wnteko2mdfan1prd9ro6zulywa\"},{\"name\":\"SPLIT\",\"description\":\"splits the values at the character or characters specified in the SPLITCHAR= option.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1p3kkz0ubku5kn1q3rs8wb5wt0ia\"},{\"name\":\"SPLITALWAYS\",\"description\":\"always splits the values at the character or characters specified in the SPLITCHAR= option.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1cty1pad1d9cwn17x3k1dyziq2pa\"},{\"name\":\"THIN\",\"description\":\"removes some of the values from the axis.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p13kner9pvpx9un14kjl25qo2xhga\"}],\"supportSiteTargetFragment\":\"n1wv47n8tj5jq7n1inpgehzuzfpya\"},{\"name\":\"GRID\",\"optional\":true,\"description\":\"creates grid lines at each tick on the axis.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n08bhulq8v4jj9n18r44orpbz5ryc\"},{\"name\":\"GRIDATTRS=\",\"optional\":true,\"description\":\"specifies the appearance of the grid lines.\",\"help\":\"GRIDATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"n14zuicr0hsk43n1fg6i0j72ofi4c\"},{\"name\":\"INTEGER\",\"optional\":true,\"description\":\"specifies that only integers are used for tick mark values.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0ymv9h9t7jiwon1jlwaqvo8qddyc\"},{\"name\":\"INTERVAL=\",\"optional\":true,\"description\":\"specifies the tick interval for a time axis.\",\"help\":\"INTERVAL=*time-interval*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n06779imap6mdfn1nx7oe8j6nklvc\"},{\"name\":\"INTERVALMULT=\",\"optional\":true,\"aliases\":[\"INTERVALMULTIPLIER\"],\"description\":\"specifies a multiplier to apply to the time interval that is in effect for the axis.\",\"help\":\"INTERVALMULT=*positive-integer*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1wyd3isjamghrn1785z15vmhcboc\"},{\"name\":\"LABEL=\",\"optional\":true,\"description\":\"specifies a label for the axis.\",\"help\":\"LABEL=\\\"*text-string*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1ujjft95cl9xzn0zh4jb5yc29xcc\"},{\"name\":\"LABELATTRS=\",\"optional\":true,\"description\":\"specifies the appearance of the axis labels.\",\"help\":\"LABELATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"n0g0hdc2z1q2zen157f5flk1hjwyc\"},{\"name\":\"LABELPOS=\",\"optional\":true,\"description\":\"specifies the position of the axis label.\",\"help\":\"LABELPOS=BOTTOM | CENTER | DATACENTER | TOP\",\"type\":\"choice\",\"arguments\":[{\"name\":\"BOTTOM\",\"description\":\"positions the label at the bottom of the axis area.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1gzr7avspzzf3n1iy37e3550hhga\"},{\"name\":\"CENTER\",\"description\":\"centers the axis label in the axis area (including any offsets).\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1ba6zglc2d9cdn1x9w4zscdqg2ga\"},{\"name\":\"DATACENTER\",\"description\":\"centers the axis label in the axis tick display area (excluding any offsets).\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p119kwnhznj3e0n1np29gne4ar2pa\"},{\"name\":\"TOP\",\"description\":\"positions the label at the top of the axis area.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0klsp8z5zfw6en1ed7ia63xmr93a\"}],\"supportSiteTargetFragment\":\"n0w56rw3w542q8n1d0cix4xxlsyba\"},{\"name\":\"LOGBASE=\",\"optional\":true,\"description\":\"specifies the base value for the logarithmic scale.\",\"help\":\"LOGBASE=2 | 10 | e\",\"type\":\"choice\",\"arguments\":[{\"name\":\"2\",\"type\":\"standalone\"},{\"name\":\"10\",\"type\":\"standalone\"},{\"name\":\"e\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"p0exau80xfc6xbn19mxrrgeka783c\"},{\"name\":\"LOGSTYLE=\",\"optional\":true,\"description\":\"specifies how to scale and format the values for the major tick marks for logarithmic axes.\",\"help\":\"LOGSTYLE=LINEAR | LOGEXPAND | LOGEXPONENT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"LOGEXPAND\",\"description\":\"places the tick marks at integer powers of the base.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0o35pkq3jmt92n12y6rcurff3ijc\"},{\"name\":\"LOGEXPONENT\",\"description\":\"places the tick marks at integer powers of the base, but identifies the values by the exponent.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0jkvpr8rdgvd7n19v4rj8f4gynnc\"},{\"name\":\"LINEAR\",\"description\":\"places the tick marks at uniform linear intervals, but spaces them logarithmically.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1f5nbfecsrtk0n1snomopkinst3c\"}],\"supportSiteTargetFragment\":\"n06l9nkrgcfti0n1nl5dqsxtd0lac\"},{\"name\":\"LOGVTYPE=\",\"optional\":true,\"description\":\"specifies the scale that is used when interpreting the values in the VALUES option and the MIN and MAX options.\",\"help\":\"LOGVTYPE=EXPANDED | EXPONENT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"EXPANDED\",\"description\":\"the values are interpreted as integer powers of the base (decimal numbers).\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0u7acrfu9s9xon1ci6wdkhgdp98c\"},{\"name\":\"EXPONENT\",\"description\":\"the values are interpreted as integer exponents of the base.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0bc0xe77dbfjtn1clu2xy6q3is7c\"}],\"supportSiteTargetFragment\":\"n0dzce6b90f4v0n1lipj48f2fu5zc\"},{\"name\":\"MAX=\",\"optional\":true,\"description\":\"specifies the maximum data value to include in the display (the value might be adjusted by the threshold calculation).\",\"help\":\"MAX=*numeric-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1ruaachjoi5xyn16kwprmyd7yhdc\"},{\"name\":\"MIN=\",\"optional\":true,\"description\":\"specifies the minimum data value to include in the display (the value might be adjusted by the threshold calculation).\",\"help\":\"MIN=*numeric-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1px473mly8uusn1x8zda12yxb0jc\"},{\"name\":\"MINOR\",\"optional\":true,\"description\":\"adds minor tick marks to a linear, log, or time axis.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0wfej9gbnn8qln1si89ibddf9omc\"},{\"name\":\"MINORCOUNT=\",\"optional\":true,\"description\":\"specifies the number of minor tick marks for the axis.\",\"help\":\"MINORCOUNT=*numeric-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n01gqj2indxyv8n14fue2cd1iqhbc\"},{\"name\":\"MINORGRID\",\"optional\":true,\"description\":\"creates grid lines at each minor tick on the axis.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1mepcuji3fqbnn12072ooatvsxic\"},{\"name\":\"MINORGRIDATTRS=\",\"optional\":true,\"description\":\"specifies the appearance of the minor grid lines.\",\"help\":\"MINORGRIDATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p0jgcoi0rzkayen19gqjo0c04wyvc\"},{\"name\":\"MINORINTERVAL=\",\"optional\":true,\"description\":\"specifies the time interval between minor ticks.\",\"help\":\"MINORINTERVAL=*time-interval*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1c3nh5q7e1khqn1u1fdznkmondfc\"},{\"name\":\"NOTIMESPLIT\",\"optional\":true,\"description\":\"prevents a time axis from splitting the time, date, or datetime values into two rows.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0orsh0hen9k5fn1v2euc8u5x5t8c\"},{\"name\":\"OFFSETMAX=\",\"optional\":true,\"description\":\"specifies an offset that follows the highest data value on the axis.\",\"help\":\"OFFSETMAX=*numeric-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0m1kkhdek2dknn1lsmyqmtqe5x7a\"},{\"name\":\"OFFSETMIN=\",\"optional\":true,\"description\":\"specifies an offset that precedes the lowest data value on the axis.\",\"help\":\"OFFSETMIN=*numeric-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1f1k88qlhersnn1j84uiiy0ayuna\"},{\"name\":\"RANGES=\",\"optional\":true,\"description\":\"specifies the ranges for a broken axis.\",\"help\":\"RANGES=(*start*–*end* &lt;*start2*–*end2**startN*–*endN* ...&gt;)\",\"type\":\"value\",\"arguments\":[{\"name\":\"start\",\"placeholder\":true,\"description\":\"specifies the start of a range.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0cz0ajhm15uspn10ds5q7np949mc\"},{\"name\":\"end\",\"placeholder\":true,\"description\":\"specifies the end of a range.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0jeonjof7agdtn1fiqkj58atyuqc\"}],\"supportSiteTargetFragment\":\"n1k8wm6blirqqen1nr7ajys73wp9c\"},{\"name\":\"REFTICKS\",\"optional\":true,\"description\":\"adds tick marks to the axis that is opposite from the specified axis.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0z363qk9qlndln1czr2d1z2d984c\"},{\"name\":\"REFTICKS=\",\"optional\":true,\"description\":\"adds tick marks to the axis that is opposite from the specified axis.\",\"help\":\"REFTICKS=(*options*)\",\"type\":\"value\",\"arguments\":[{\"name\":\"LABEL\",\"description\":\"in addition to the tick marks, displays the axis label.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0400f6zmqwk3hn0zrw8n9a2q0ucc\"},{\"name\":\"NOTICKS\",\"description\":\"suppresses the tick marks.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0fpcpxj0673csn1bccorbuas6dlc\"},{\"name\":\"VALUES\",\"description\":\"in addition to the tick marks, displays the values that are represented by the tick marks.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0wyjikaabd49fn1mlltserhl13cc\"}],\"supportSiteTargetFragment\":\"p0z363qk9qlndln1czr2d1z2d984c\"},{\"name\":\"REVERSE\",\"optional\":true,\"description\":\"specifies that the tick values are displayed in reverse (descending) order.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n02o4wmqmhf66an14inqhpo93ny5c\"},{\"name\":\"SPLITCHAR=\",\"optional\":true,\"description\":\"splits the text for tick mark values at the specified character or characters according to the fit policy that is in effect.\",\"help\":\"SPLITCHAR=\\\"*character-list*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1ecw90uvw87ern1oc59w4hh0o8sa\"},{\"name\":\"SPLITCHARNODROP\",\"optional\":true,\"description\":\"specifies that the split characters are included in the displayed value.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p015n17uc0xmtxn1pdw9wzsskrf4c\"},{\"name\":\"SPLITJUSTIFY=\",\"optional\":true,\"description\":\"specifies the horizontal alignment of the value text that is being split.\",\"help\":\"SPLITJUSTIFY=LEFT | CENTER | RIGHT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"LEFT\",\"type\":\"standalone\"},{\"name\":\"CENTER\",\"type\":\"standalone\"},{\"name\":\"RIGHT\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"p1au7jr0rm0kekn1xmyz0qvfod5xc\"},{\"name\":\"THRESHOLDMAX=\",\"optional\":true,\"description\":\"Specifies a threshold for displaying one more tick mark at the high end of the axis.\",\"help\":\"THRESHOLDMAX=*numeric-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1nzfe85x2kfosn18mr7rhss70ufc\"},{\"name\":\"THRESHOLDMIN=\",\"optional\":true,\"description\":\"Specifies a threshold for displaying one more tick mark at the low end of the axis.\",\"help\":\"THRESHOLDMIN=*numeric-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0flk5ts0oly8un1u7kt3mei1ppic\"},{\"name\":\"TICKSTYLE=\",\"optional\":true,\"description\":\"specifies the placement of the major tick marks in relation to the axis line.\",\"help\":\"TICKSTYLE=OUTSIDE | INSIDE | ACROSS | INBETWEEN\",\"type\":\"choice\",\"arguments\":[{\"name\":\"OUTSIDE\",\"description\":\"displays the major tick marks outside of the axis frame.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0k797o5430ousn1p2wlr34w7bxrc\"},{\"name\":\"INSIDE\",\"description\":\"displays the major tick marks inside the axis frame.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0i5m9eegk75vrn1s1v6h4s9fo6xc\"},{\"name\":\"ACROSS\",\"description\":\"displays the major tick marks across the axis line.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0dbvapmt4hot3n12cuym2dgd8jcc\"},{\"name\":\"INBETWEEN\",\"description\":\"displays the major tick marks between the discrete data values and outside of the axis frame.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0uronzyk69kobn1ifdf6hjjr1e3c\"}],\"supportSiteTargetFragment\":\"n1azztb6datgqkn1x60gv2ek831dc\"},{\"name\":\"TYPE=\",\"optional\":true,\"description\":\"specifies the type of axis.\",\"help\":\"TYPE=DISCRETE | LINEAR | LOG | TIME\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DISCRETE\",\"description\":\"specifies an axis with discrete values.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n18k9lz61yopten1xkktahu6ffz1c\"},{\"name\":\"LINEAR\",\"description\":\"specifies a linear scale for the axis.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1png1zuoqntm1n1h4ry9r3rirxwc\"},{\"name\":\"LOG\",\"description\":\"specifies a logarithmic scale for the axis.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0ta0rz86zj5qqn1gyuhl7nybrb3c\"},{\"name\":\"TIME\",\"description\":\"specifies a time scale for the axis.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1mukwcgjdutb5n11k0i16fp6vxkc\"}],\"supportSiteTargetFragment\":\"n06hiquvbj4li8n1dqk65w9bc0ruc\"},{\"name\":\"VALUEATTRS=\",\"optional\":true,\"description\":\"specifies the appearance of the axis tick value labels.\",\"help\":\"VALUEATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p0x61kjcdvw8t2n18r9i3ehfb6ajc\"},{\"name\":\"VALUES=\",\"optional\":true,\"description\":\"specifies the values for the ticks on an axis.\",\"help\":\"VALUES=(*values-list* ) | (\\\"*string-list*\\\" )\",\"type\":\"choice\",\"arguments\":[{\"name\":\"values-list\",\"placeholder\":true,\"description\":\"specifies tick values for linear, time, and logarithmic axes.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1m6a4ebezsw2pn1lbo2ce9y40xjc\"},{\"name\":\"\\\"string-list\\\"\",\"placeholder\":true,\"description\":\"specifies a space-separated list of string values enclosed in parentheses for a discrete axis.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p07zxgtz37u7z3n1ol7u5hbhn8jrc\"}],\"supportSiteTargetFragment\":\"n09f4ln7jq8gkan1w2nhlkzjcrqzc\"},{\"name\":\"VALUESDISPLAY=\",\"optional\":true,\"description\":\"specifies the text that is to be displayed for the tick values that are defined in the VALUES= option.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1qrai0p2doumen1xmqctdgasflbc\"},{\"name\":\"VALUESFORMAT=\",\"optional\":true,\"aliases\":[\"TICKVALUEFORMAT\"],\"description\":\"specifies how to format the values for major tick marks.\",\"help\":\"VALUESFORMAT=DATA | *SAS-format*\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DATA\",\"description\":\"uses the format that has been assigned to the column that is contributing to the axis (or BEST6 if no format is assigned) in order to control the formatting of the major tick values.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1rzfntmwlsoarn1dpid8s8eoew7c\"},{\"name\":\"SAS-format\",\"placeholder\":true,\"description\":\"specifies a format to apply to the major tick values.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0hudsicpe1p4wn19lw3r6y5hohhc\"}],\"supportSiteTargetFragment\":\"n0le3fkbqipcldn101al4qv8x549c\"},{\"name\":\"VALUESHALIGN=\",\"optional\":true,\"description\":\"specifies the horizontal alignment for all of the tick values that are displayed on the axis.\",\"help\":\"VALUESHALIGN=LEFT | CENTER | RIGHT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"LEFT\",\"type\":\"standalone\"},{\"name\":\"CENTER\",\"type\":\"standalone\"},{\"name\":\"RIGHT\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"p171rf0i518xcvn11iffvq3350m8a\"},{\"name\":\"VALUESHINT\",\"optional\":true,\"description\":\"specifies that the minimum and maximum axis values are determined independently of the values that you specify in the VALUES= option.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0amgzqp0hs1tkn1piisbik9emr7c\"}],\"supportSiteTargetFile\":\"n04drrb1aehuqzn1t12j3958krtw.htm\"},{\"name\":\"YAXISTABLE\",\"description\":\"Creates a basic plot that displays data values at specific locations along the vertical axis.\",\"help\":\"YAXISTABLE  *variable*&lt; ...*variable-n*&gt;&lt;/*options*&gt;;\",\"arguments\":[{\"name\":\"variable\",\"placeholder\":true,\"description\":\"specifies one or more variables for the axis table.\",\"help\":\"*variable*&lt; ...*variable-n*&gt;\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n09vnbuixgjj6sn15x9ay58uq3gn\"},{\"name\":\"ATTRID=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the value of the ID variable in a discrete attribute map data set.\",\"help\":\"ATTRID=*character-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0gnil4gecoz0fn1sjexzo9ka6a8z7\"},{\"name\":\"CLASS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"creates a separate axis table for each unique value of the specified variable.\",\"help\":\"CLASS=*variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0ixcempkiiyhdn1xoanerbf6paya\"},{\"name\":\"CLASSDISPLAY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies how the class values are displayed.\",\"help\":\"CLASSDISPLAY=STACK | CLUSTER\",\"type\":\"choice\",\"arguments\":[{\"name\":\"STACK\",\"followsDelimiter\":\"/\",\"description\":\"displays the class values horizontally at each midpoint value on the Y axis.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1q8c6celwyur5n1dqka9svut9lxa\"},{\"name\":\"CLUSTER\",\"followsDelimiter\":\"/\",\"description\":\"displays the class values vertically at each midpoint value on the Y axis.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p069gtzgati32mn1pkt9zpnyv24za\"}],\"supportSiteTargetFragment\":\"n0o49xfzcdz0wpn1luzbkhd0n8h5a\"},{\"name\":\"CLASSORDER=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the order in which the class values are displayed.\",\"help\":\"CLASSORDER=DATA | REVERSEDATA | ASCENDING | DESCENDING\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DATA\",\"followsDelimiter\":\"/\",\"description\":\"displays the class values in the order in which they occur in the data.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p07s67y8zkh9jcn17blicpjcufiya\"},{\"name\":\"REVERSEDATA\",\"followsDelimiter\":\"/\",\"description\":\"displays the class values in the reverse order from which they occur in the data.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n15bbzeahwkh53n0zlmqnfyrmacga\"},{\"name\":\"ASCENDING\",\"followsDelimiter\":\"/\",\"description\":\"displays the class values in ascending order.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1thg872yln2tzn10hio8qase877a\"},{\"name\":\"DESCENDING\",\"followsDelimiter\":\"/\",\"description\":\"displays the class values in descending order.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0s5lmph2hsqf3n1buf9qqnbndl7a\"}],\"supportSiteTargetFragment\":\"n0zgdoyqkmw8kpn1akmjhi83600oa\"},{\"name\":\"COLORGROUP=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a variable that is used to determine the color of the table values.\",\"help\":\"COLORGROUP=*variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0pn6k9w8gd1wvn15w0rgkm0i3xia\"},{\"name\":\"DROPONMISSING\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that the entire axis table is dropped when all of the values are missing.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1h805b6hhswpvn1e8ajb0l4ek08a\"},{\"name\":\"INDENT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a value to be used with the INDENTWEIGHT= option to determine the indention for each text value.\",\"help\":\"INDENT=*dimension*&lt;*unit*&gt; \",\"type\":\"value\",\"supportSiteTargetFragment\":\"n09u7ka5cs0vmmn1ip2iuty7lllq\"},{\"name\":\"INDENTWEIGHT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the indention weight (multiplier) for each observation.\",\"help\":\"INDENTWEIGHT=*numeric-variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p156p0jqjew8t0n1dirw86e7tm9s\"},{\"name\":\"LABEL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies whether the table label is shown or hidden.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0b36dzgvw0q6en1890fc5qb7399a\"},{\"name\":\"LABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies whether the table label is shown or hidden.\",\"help\":\"LABEL=\\\"*text-string*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0b36dzgvw0q6en1890fc5qb7399a\"},{\"name\":\"NOLABEL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies whether the table label is shown or hidden.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0b36dzgvw0q6en1890fc5qb7399a\"},{\"name\":\"LABELATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the color and font attributes of the axis table label.\",\"help\":\"LABELATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"n1nevwnjoq4b7kn1eesu3mrn1lwpa\"},{\"name\":\"LABELHALIGN=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the horizontal alignment of the column labels, when displayed.\",\"help\":\"LABELHALIGN=LEFT | CENTER | RIGHT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"LEFT\",\"type\":\"standalone\"},{\"name\":\"CENTER\",\"type\":\"standalone\"},{\"name\":\"RIGHT\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"n0w2wqdjgzz5cen1pss4ns1cjshs\"},{\"name\":\"LABELJUSTIFY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the justification of the labels.\",\"help\":\"LABELJUSTIFY=LEFT | CENTER | RIGHT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"LEFT\",\"type\":\"standalone\"},{\"name\":\"CENTER\",\"type\":\"standalone\"},{\"name\":\"RIGHT\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"n050m4wg9nztrvn16vn6e9teqwdq\"},{\"name\":\"LABELPOS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the position of the labels at the bottom or top of the axis table.\",\"help\":\"LABELPOS=BOTTOM | TOP\",\"type\":\"choice\",\"arguments\":[{\"name\":\"BOTTOM\",\"type\":\"standalone\"},{\"name\":\"TOP\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"p1x2i24eig3yhgn1o2neri0mzkh6\"},{\"name\":\"LOCATION=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies whether the axis table is placed outside or inside the axis area.\",\"help\":\"LOCATION=OUTSIDE | INSIDE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"OUTSIDE\",\"type\":\"standalone\"},{\"name\":\"INSIDE\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"p0nchtwg517mlln166kiur2qpsv8a\"},{\"name\":\"NAME=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"assigns a name to a plot statement.\",\"help\":\"NAME=\\\"*text-string*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1kiiynz0gzidxn16dsf62msnl4tz12\"},{\"name\":\"NOMISSINGCHAR\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses the display of the MISSING character (.) for missing numeric values.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1ptkzfc82n03en16ukv7493c5zda\"},{\"name\":\"NOMISSINGCLASS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that missing values of the class variable are not included in the table.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1pja8by1foy1mn1w4ubyi46ehb2a\"},{\"name\":\"PAD=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the amount of extra space that is added inside the table border.\",\"help\":\"PAD=*numeric-value*&lt;*units*&gt; | *(pad-options)*\",\"type\":\"choice\",\"arguments\":[{\"name\":\"numeric-valueunits\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a dimension to use for the extra space at the table border.\",\"help\":\"*numeric-value*&lt;*units*&gt; \",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1097y28j3mtdfn1dmjs1qxqm4lwa\"},{\"name\":\"LEFT=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the amount of extra space added to the left side.\",\"help\":\"LEFT=*dimension*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0c7y7sybz05aqn1p1g5840uxm69a\"},{\"name\":\"RIGHT=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the amount of extra space added to the right side.\",\"help\":\"RIGHT=*dimension*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1ickmmy77a4wwn17ozymxfx8li5a\"}],\"supportSiteTargetFragment\":\"p1ph0ounx3r612n1m9rgscd6fon2a\"},{\"name\":\"POSITION=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the position of the axis table at the left or right side of the graph.\",\"help\":\"POSITION=LEFT | RIGHT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"LEFT\",\"type\":\"standalone\"},{\"name\":\"RIGHT\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"n129upax6s9gb0n1e46y1x82058p\"},{\"name\":\"SEPARATOR\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"creates a separating line between the axis table or axis tables and the plot.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1txrcfcn3x5o7n1gznppjo9hsyba\"},{\"name\":\"STAT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the statistic for the axis table.\",\"help\":\"STAT=FREQ | MEAN | MEDIAN | PERCENT | SUM\",\"type\":\"choice\",\"arguments\":[{\"name\":\"FREQ\",\"followsDelimiter\":\"/\",\"description\":\"the frequency of the axis table variable.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0oxowp6b7bibtn1sxhrvyjrcoh6a\"},{\"name\":\"MEAN\",\"followsDelimiter\":\"/\",\"description\":\"the mean of the axis table variable.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1eaiu59tfjiykn1qjjhp5k6mjc5a\"},{\"name\":\"MEDIAN\",\"followsDelimiter\":\"/\",\"description\":\"the median of the axis table variable.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1tc22j9ekxh6in1frj2s69k6o2qa\"},{\"name\":\"PERCENT\",\"followsDelimiter\":\"/\",\"aliases\":[\"PCT\"],\"description\":\"the percentage of the sum of the axis table variable.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1koiym4b301xjn1b0a15q5cz0dla\"},{\"name\":\"SUM\",\"followsDelimiter\":\"/\",\"description\":\"the sum of the axis table variable.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0wfy7d1kw0n6pn1mhj6kcjnxghja\"}],\"supportSiteTargetFragment\":\"n0yf9p46fvzh09n1moox0sz22idya\"},{\"name\":\"STATLABEL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies whether the variable statistic is displayed in the table’s label.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n06c767kmpw62gn14n17mj176fvqa\"},{\"name\":\"NOSTATLABEL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies whether the variable statistic is displayed in the table’s label.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n06c767kmpw62gn14n17mj176fvqa\"},{\"name\":\"TEXTGROUP=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the group variable that is used in a discrete attribute map data set to map text attributes to values for each observation.\",\"help\":\"TEXTGROUP=*attribute-map-group-variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p01w5klub9g33tn17l9s22qbd93ja\"},{\"name\":\"TEXTGROUPID=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies an attribute ID for the TEXTGROUP= option.\",\"help\":\"TEXTGROUPID=*attribute-map-id*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1leutjjket50vn19u2en7eec42ca\"},{\"name\":\"TITLE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a title for the axis table.\",\"help\":\"TITLE=\\\"*text-string*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0ppufhmyohwzsn17jfnmm3b355qa\"},{\"name\":\"TITLEATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the appearance of the title for the axis table.\",\"help\":\"TITLEATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p07d8m28rnhjj8n1iye6ta5ziu7xa\"},{\"name\":\"TITLEHALIGN=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the horizontal alignment of the axis table title bounding box relative to the axis table width.\",\"help\":\"TITLEHALIGN=LEFT | CENTER | RIGHT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"LEFT\",\"type\":\"standalone\"},{\"name\":\"CENTER\",\"type\":\"standalone\"},{\"name\":\"RIGHT\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"p0m7hpuwh4isn0n1orbvawe7k673\"},{\"name\":\"TITLEJUSTIFY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the justification of the lines of a multiline title in the title bounding box. The justification is relative to the axis table width.\",\"help\":\"TITLEJUSTIFY=LEFT | CENTER | RIGHT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"LEFT\",\"type\":\"standalone\"},{\"name\":\"CENTER\",\"type\":\"standalone\"},{\"name\":\"RIGHT\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"n02sdfqgx8z77mn17feklpplqjjp\"},{\"name\":\"VALUEATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the appearance of the axis table values.\",\"help\":\"VALUEATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p04sudmvjgoqc2n11ddwv1t2k8b7a\"},{\"name\":\"VALUEHALIGN=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the horizontal alignment of the axis table values relative to the column width in the table.\",\"help\":\"VALUEHALIGN=LEFT | CENTER | RIGHT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"LEFT\",\"type\":\"standalone\"},{\"name\":\"CENTER\",\"type\":\"standalone\"},{\"name\":\"RIGHT\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"p1949ih951klhrn1x7qzsuw2mzaf\"},{\"name\":\"VALUEJUSTIFY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the justification of the axis table values relative to the column width in the table.\",\"help\":\"VALUEJUSTIFY=LEFT | CENTER | RIGHT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"LEFT\",\"type\":\"standalone\"},{\"name\":\"CENTER\",\"type\":\"standalone\"},{\"name\":\"RIGHT\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"p0a6cw3a9vud37n175dyvxaax82z\"},{\"name\":\"Y=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the variable to use to align the table values to the Y or Y2 axis.\",\"help\":\"Y=*variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n04903hfinrfrun1sabehvrfzepq\"},{\"name\":\"Y2AXIS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"assigns the table to the secondary vertical axis.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0e9g7q5jf894dn1rqfvwc9rzl49\"}],\"supportSiteTargetFile\":\"n0ka2y1m7pmaqdn1ijnwzp8jljoc.htm\"},{\"name\":\"ATTRIB\",\"description\":\"Associates a format, informat, label, and length with one or more variables.\",\"help\":\"ATTRIB  *variable-list(s)**attribute-list(s)*;\",\"arguments\":[{\"name\":\"variable-list\",\"optional\":true,\"placeholder\":true,\"description\":\"names the variables that you want to associate with the attributes.\",\"help\":\"*variable-list(s)*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1nd0mq22iu6ovn14mz1ot1hwcjib\"},{\"name\":\"FORMAT=\",\"description\":\"associates a format with variables in variable-list.\",\"help\":\"FORMAT=*format*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p08pt9ce6bhq86n18a3zcc97bldzb\"},{\"name\":\"INFORMAT=\",\"description\":\"associates an informat with variables in variable-list.\",\"help\":\"INFORMAT=*informat*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n136glco6ritqdn160792yhk9mv1b\"},{\"name\":\"LABEL=\",\"description\":\"associates a label with variables in variable-list.\",\"help\":\"LABEL='*label*' \",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0a9x9io5pi05mn1i4p2cphc7t0nb\"}],\"supportSiteTargetFile\":\"n09bxytcjmyp75n1mc29q45qhpmsb.htm\"},{\"name\":\"BY\",\"description\":\"Orders the output according to the BY groups.\",\"help\":\"BY <DESCENDING>variable-1\\n\\t<-<DESCENDING> variable-n>\\n\\t<NOTSORTED>;\",\"arguments\":[{\"name\":\"variable\",\"placeholder\":true,\"description\":\"specifies the variable that the procedure uses to form BY groups. You can specify more than one variable. If you do not use the NOTSORTED option in the BY statement, then either the observations in the data set must be sorted by all the variables that you specify, or they must be indexed appropriately. Variables in a BY statement are called BY variables.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0e9kbav2i9chhn1xectebpz4s14b\"},{\"name\":\"DESCENDING\",\"optional\":true,\"description\":\"specifies that the observations are sorted in descending order by the variable that immediately follows the word DESCENDING in the BY statement.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1au0lhf4hi1h2n1le3cx2tp74l5b\"},{\"name\":\"NOTSORTED\",\"optional\":true,\"description\":\"specifies that observations are not necessarily sorted in alphabetic or numeric order. The observations are grouped in another way (for example, chronological order).\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p068zvjhrpn2awn1bygis4m6hppab\"}],\"supportSiteTargetFile\":\"p1tkzb6q5jl1omn1payndkh1g3nwb.htm\"},{\"name\":\"FORMAT\",\"description\":\"Associates formats with variables.\",\"help\":\"FORMAT *variable-1*&lt;-*variable-n*&gt;&lt;*format-1*&gt;&lt;*variable-1*&lt;-*variable-n*&gt;&lt;*format-2*&gt;&gt; - &lt;DEFAULT=*default-format*&gt;;\",\"arguments\":[{\"name\":\"variable\",\"placeholder\":true,\"description\":\"names one or more variables for SAS to associate with a format. You must specify at least one variable.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1d0cionbspk2tn1ma0m6kjd1ntxb\"},{\"name\":\"format\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the format that is listed for writing the values of the variables.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0oulvct798v2wn1lll17t854rg8b\"},{\"name\":\"DEFAULT=\",\"optional\":true,\"description\":\"specifies a temporary default format for displaying the values of variables that are not listed in the FORMAT statement. These default formats apply only to the current DATA step; they are not permanently associated with variables in the output data set.\",\"help\":\"DEFAULT=*default-format*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0k0jb3arokdz9n1g3q3zizh81g4b\"}],\"supportSiteTargetFile\":\"n1x0d6bnw9wtyun1rhq5p7tis5gsb.htm\"},{\"name\":\"LABEL\",\"description\":\"Assigns descriptive labels to variables.\",\"help\":\"Form 1: Creates a descriptive label for one or more variables.\\nLABEL variable-1=’text-string’ < ...variable-n=’text-string>; \\nForm 2: Removes the label from one or more variables.\\nLABEL variable-1 = ' ' < ...variable-n=’ ‘>; | variable-1 = < ...variable-n= >\",\"arguments\":[{\"name\":\"text-string\",\"placeholder\":true,\"description\":\"specifies a label of up to 256 bytes.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n09u0k5ydxzgr3n1dfznhvex7uuob\"},{\"name\":\"'\",\"placeholder\":true,\"description\":\"removes a label from a variable. Enclose a single blank space in quotation marks to remove an existing label. You can remove labels from multiple variables in a single LABEL statement:\",\"help\":\"*' '*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1dl99omzes92cn1typpf6yl1ng0b\"}],\"supportSiteTargetFile\":\"n0b8jun5pu2j52n1duycwzzhrtmwb.htm\"},{\"name\":\"WHERE\",\"description\":\"Subsets the input data set by specifying certain conditions that each observation must meet before it is available for processing.\",\"help\":\"WHERE *where-expression*;\",\"arguments\":[{\"name\":\"where-expression\",\"placeholder\":true,\"description\":\"is an arithmetic or logical expression that generally consists of a sequence of operands and operators. For more information about where processing, see .\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0834dlfg85co3n18aqbvenv4b35b\"}],\"supportSiteTargetFile\":\"n1rx5guqu5cxr1n1flpiox5ks7srb.htm\"}],\"supportSiteInformation\":{\"docsetId\":\"grstatproc\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"n0yjdd910dh59zn1toodgupaj4v9.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/SGRENDER.json",
    "content": "{\"name\":\"SGRENDER\",\"statements\":[{\"name\":\"PROC SGRENDER\",\"description\":\"Identifies the data set that contains the plot variables and the StatGraph template. The statement also gives you the option to specify the name of the output object and the label for the output object.\",\"help\":\"PROC SGRENDER <option(s)>;  \\n\\tDATTRVAR variable-assignment(s);\\n\\tDYNAMIC variable-assignment(s);\\n\\tATTRIB  variable-list(s) attribute-list(s);\\n\\tBY variable-1< ...variable-N><options>;\\n\\tFORMAT variable-1< ...variable-N<format-1>><options>;\\n\\tLABEL variable-1=label-1< ...variable-n=label-n>;\\n\\tWHERE where-expression;\",\"arguments\":[{\"name\":\"TEMPLATE=\",\"description\":\"specifies a StatGraph template that defines one or more graphs.\",\"help\":\"TEMPLATE=*statgraph-template*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0y2dg8od8encqn1eqfipy8gu12d\"},{\"name\":\"DATA=\",\"optional\":true,\"description\":\"specifies the SAS data set that contains the variables to process.\",\"help\":\"DATA=*input-data-set*\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"p09t7to5w1w24in1uhrhqqi5szjb\"},{\"name\":\"DATTRMAP=\",\"optional\":true,\"description\":\"specifies a map data set that contains discrete attribute map descriptions.\",\"help\":\"DATTRMAP=*discrete-attr-map-data-set*\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"n0l1nt7lz6wzvqn16f9dqun80ynt\"},{\"name\":\"OBJECT=\",\"optional\":true,\"aliases\":[\"NAME=\"],\"description\":\"specifies a name for the ODS output object.\",\"help\":\"OBJECT=*object-name*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0jqpex30smu1cn0z8ncfbl27w4o\"},{\"name\":\"OBJECTLABEL=\",\"optional\":true,\"aliases\":[\"DES=\",\"DESCRIPTION=\"],\"description\":\"specifies a description for the output image.\",\"help\":\"OBJECTLABEL=\\\"*text-string*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p04mzxy6bu6bf9n1rmmzur6998y1\"},{\"name\":\"SGANNO=\",\"optional\":true,\"description\":\"specifies the name of a SAS data set that contains annotation instructions.\",\"help\":\"SGANNO=*annotation-data-set*\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"n1oyj8frp1osvon1t56853u2krut\"}],\"supportSiteTargetFile\":\"n194gmpu73h4t5n1vavyo656yj71.htm\"},{\"name\":\"DATTRVAR\",\"description\":\"Specifies one or more input variables to be associated with an attribute map at run time.\",\"help\":\"DATTRVAR  *variable-assignment(s)*;\",\"arguments\":[{\"name\":\"group-variable-name\",\"placeholder\":true,\"description\":\"a group variable to be associated with an attribute map at run time.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0jtd5qa5cn1eln0zrmpv4z3u4ca\"},{\"name\":\"\\\"attrid\\\"\",\"placeholder\":true,\"description\":\"an identifier for the attribute map.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1uopiky7a4rjgn10e44ya3m0dny\"}],\"supportSiteTargetFile\":\"n162gt7ayexeryn19xfgvxnmw8lu.htm\"},{\"name\":\"DYNAMIC\",\"description\":\"Defines the values for dynamic variables in your StatGraph template code.\",\"help\":\"DYNAMIC *variable-assignment(s)*;\",\"arguments\":[{\"name\":\"variable-assignment(s)\",\"placeholder\":true,\"description\":\"specifies the values for one or more dynamic variables.\",\"help\":\" *variable-assignment(s)*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0zos4gvsgw0fqn1isq60voj5ktw\"}],\"supportSiteTargetFile\":\"p1x03wla3f1hsnn1fjqpar535zym.htm\"},{\"name\":\"ATTRIB\",\"description\":\"Associates a format, informat, label, and length with one or more variables.\",\"help\":\"ATTRIB  *variable-list(s)**attribute-list(s)*;\",\"arguments\":[{\"name\":\"variable-list\",\"optional\":true,\"placeholder\":true,\"description\":\"names the variables that you want to associate with the attributes.\",\"help\":\"*variable-list(s)*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1nd0mq22iu6ovn14mz1ot1hwcjic\"},{\"name\":\"FORMAT=\",\"description\":\"associates a format with variables in variable-list.\",\"help\":\"FORMAT=*format*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p08pt9ce6bhq86n18a3zcc97bldzc\"},{\"name\":\"INFORMAT=\",\"description\":\"associates an informat with variables in variable-list.\",\"help\":\"INFORMAT=*informat*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n136glco6ritqdn160792yhk9mv1c\"},{\"name\":\"LABEL=\",\"description\":\"associates a label with variables in variable-list.\",\"help\":\"LABEL='*label*' \",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0a9x9io5pi05mn1i4p2cphc7t0nc\"}],\"supportSiteTargetFile\":\"n09bxytcjmyp75n1mc29q45qhpmsc.htm\"},{\"name\":\"BY\",\"description\":\"Orders the output according to the BY groups.\",\"help\":\"BY <DESCENDING>variable-1\\n\\t<-<DESCENDING> variable-n>\\n\\t<NOTSORTED>;\",\"arguments\":[{\"name\":\"variable\",\"placeholder\":true,\"description\":\"specifies the variable that the procedure uses to form BY groups. You can specify more than one variable. If you do not use the NOTSORTED option in the BY statement, then either the observations in the data set must be sorted by all the variables that you specify, or they must be indexed appropriately. Variables in a BY statement are called BY variables.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0e9kbav2i9chhn1xectebpz4s14c\"},{\"name\":\"DESCENDING\",\"optional\":true,\"description\":\"specifies that the observations are sorted in descending order by the variable that immediately follows the word DESCENDING in the BY statement.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1au0lhf4hi1h2n1le3cx2tp74l5c\"},{\"name\":\"NOTSORTED\",\"optional\":true,\"description\":\"specifies that observations are not necessarily sorted in alphabetic or numeric order. The observations are grouped in another way (for example, chronological order).\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p068zvjhrpn2awn1bygis4m6hppac\"}],\"supportSiteTargetFile\":\"p1tkzb6q5jl1omn1payndkh1g3nwc.htm\"},{\"name\":\"FORMAT\",\"description\":\"Associates formats with variables.\",\"help\":\"FORMAT *variable-1*&lt;-*variable-n*&gt;&lt;*format-1*&gt;&lt;*variable-1*&lt;-*variable-n*&gt;&lt;*format-2*&gt;&gt; - &lt;DEFAULT=*default-format*&gt;;\",\"arguments\":[{\"name\":\"variable\",\"placeholder\":true,\"description\":\"names one or more variables for SAS to associate with a format. You must specify at least one variable.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1d0cionbspk2tn1ma0m6kjd1ntxc\"},{\"name\":\"format\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the format that is listed for writing the values of the variables.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0oulvct798v2wn1lll17t854rg8c\"},{\"name\":\"DEFAULT=\",\"optional\":true,\"description\":\"specifies a temporary default format for displaying the values of variables that are not listed in the FORMAT statement. These default formats apply only to the current DATA step; they are not permanently associated with variables in the output data set.\",\"help\":\"DEFAULT=*default-format*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0k0jb3arokdz9n1g3q3zizh81g4c\"}],\"supportSiteTargetFile\":\"n1x0d6bnw9wtyun1rhq5p7tis5gsc.htm\"},{\"name\":\"LABEL\",\"description\":\"Assigns descriptive labels to variables.\",\"help\":\"Form 1: Creates a descriptive label for one or more variables.\\nLABEL variable-1=’text-string’ < ...variable-n=’text-string>; \\nForm 2: Removes the label from one or more variables.\\nLABEL variable-1 = ' ' < ...variable-n=’ ‘>; | variable-1 = < ...variable-n= >\",\"arguments\":[{\"name\":\"text-string\",\"placeholder\":true,\"description\":\"specifies a label of up to 256 bytes.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n09u0k5ydxzgr3n1dfznhvex7uuoc\"},{\"name\":\"'\",\"placeholder\":true,\"description\":\"removes a label from a variable. Enclose a single blank space in quotation marks to remove an existing label. You can remove labels from multiple variables in a single LABEL statement:\",\"help\":\"*' '*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1dl99omzes92cn1typpf6yl1ng0c\"}],\"supportSiteTargetFile\":\"n0b8jun5pu2j52n1duycwzzhrtmwc.htm\"},{\"name\":\"WHERE\",\"description\":\"Subsets the input data set by specifying certain conditions that each observation must meet before it is available for processing.\",\"help\":\"WHERE *where-expression*;\",\"arguments\":[{\"name\":\"where-expression\",\"placeholder\":true,\"description\":\"is an arithmetic or logical expression that generally consists of a sequence of operands and operators. For more information about where processing, see .\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0834dlfg85co3n18aqbvenv4b35c\"}],\"supportSiteTargetFile\":\"n1rx5guqu5cxr1n1flpiox5ks7src.htm\"}],\"supportSiteInformation\":{\"docsetId\":\"grstatproc\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"n131vj4eka12zpn1iwbqufke8l4z.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/SGSCATTER.json",
    "content": "{\"name\":\"SGSCATTER\",\"statements\":[{\"name\":\"PROC SGSCATTER\",\"description\":\"Identifies the data set that contains the plot variables. The statement also gives you the option to specify a description and write template code to a file.\",\"help\":\"PROC SGSCATTER <options>;             \\n\\tCOMPARE X=variable |  (variable-1 ...variable-n) |  \\n\\t\\t Y=variable (variable-1 ...variable-n)  </options>;\\n\\n\\tMATRIX variable-1 variable-2< ...variable-n></options>;\\n\\n\\tPLOT plot-request(s)</options>;\\n\\n\\tATTRIB  variable-list(s) attribute-list(s);\\n\\n\\tBY variable-1< ...variable-N><options>;\\n\\n\\tFORMAT variable-1< ...variable-N<format-1>><options>;\\n\\n\\tLABEL variable-1=label-1< ...variable-n=label-n>;\\n\\n\\tWHERE where-expression;\\n\",\"arguments\":[{\"name\":\"BACKCOLOR=\",\"optional\":true,\"description\":\"specifies the background color of the graph area.\",\"help\":\"BACKCOLOR=*color*\",\"type\":\"color\",\"supportSiteTargetFragment\":\"n0i8qkyvel2zn7n1tvfz4y32zbc2\"},{\"name\":\"DATA=\",\"optional\":true,\"description\":\"specifies the SAS data set that contains the variables to process.\",\"help\":\"DATA=*input-data-set*\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"n1rurqyrm9ccsun192nula19r09i\"},{\"name\":\"DATACOLORS=\",\"optional\":true,\"description\":\"specifies the fill colors for the graphics elements, such as CLM bands and filled markers.\",\"help\":\"DATACOLORS=(*color-list*)\",\"type\":\"color\",\"supportSiteTargetFragment\":\"n1a37jq8pwn9pun187gck8ceoxfc\"},{\"name\":\"DATACONTRASTCOLORS=\",\"optional\":true,\"description\":\"specifies the contrast colors for the graphics elements, such as lines and markers.\",\"help\":\"DATACONTRASTCOLORS=(*color-list*)\",\"type\":\"color\",\"supportSiteTargetFragment\":\"p0csy8wkkd8iiln13hdhurghwv0q\"},{\"name\":\"DATALINEPATTERNS=\",\"optional\":true,\"description\":\"specifies the list of line patterns for the graph data lines.\",\"help\":\"DATALINEPATTERNS=(*line-pattern-list*)\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p02cdppy5sbdvun1e0x5pgd4arwn\"},{\"name\":\"DATASYMBOLS=\",\"optional\":true,\"description\":\"specifies the list of marker symbol for the graph data.\",\"help\":\"DATASYMBOLS=(*marker-symbol-list*)\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p044v4ph9iyxv6n14dp2e6mazwxe\"},{\"name\":\"DATTRMAP=\",\"optional\":true,\"description\":\"specifies the discrete attribute map data set that you want to use with the SGSCATTER procedure.\",\"help\":\"DATTRMAP=*discrete-attribute-map-data-set*\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"n19q1l9afrftlkn1xi9mh7xrafsk\"},{\"name\":\"DESCRIPTION=\",\"optional\":true,\"aliases\":[\"DES=\"],\"description\":\"specifies a description for the output image.\",\"help\":\"DESCRIPTION=\\\"*text-string*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1ftk35l8dlnc8n1lkletzi93yxr\"},{\"name\":\"NOSUBPIXEL\",\"optional\":true,\"description\":\"specifies whether subpixel rendering should be used for rendering curved lines.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0jyik2i712s1in14earj5tgor66\"},{\"name\":\"SUBPIXEL\",\"optional\":true,\"description\":\"specifies whether subpixel rendering should be used for rendering curved lines.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0jyik2i712s1in14earj5tgor66\"},{\"name\":\"OPAQUE\",\"optional\":true,\"description\":\"specifies whether the graph background is opaque or transparent.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0rgaedl5eo3jon0zrf3tsml7msn\"},{\"name\":\"NOOPAQUE\",\"optional\":true,\"description\":\"specifies whether the graph background is opaque or transparent.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0rgaedl5eo3jon0zrf3tsml7msn\"},{\"name\":\"PAD=\",\"optional\":true,\"description\":\"specifies the amount of extra space that is reserved inside the border of an annotated graph.\",\"help\":\"PAD=*numeric-value*&lt;*units*&gt; | (*pad-options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"LEFT=\",\"description\":\"specifies the amount of extra space to add to the left edge.\",\"help\":\"LEFT= *numeric-value*&lt;*units*&gt;\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0q5kbknlcmwbsn1e6wn7bz9ikhxb\"},{\"name\":\"RIGHT=\",\"description\":\"specifies the amount of extra space to add to the right edge.\",\"help\":\"RIGHT= *numeric-value*&lt;*units*&gt;\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0vyljen6p09n6n1od6yrrmdf1lhb\"},{\"name\":\"TOP=\",\"description\":\"specifies the amount of extra space to add to the top edge.\",\"help\":\"TOP= *numeric-value*&lt;*units*&gt;\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1xlkrnhzj7qzln10ph13km3rq7ib\"},{\"name\":\"BOTTOM=\",\"description\":\"specifies the amount of extra space to add to the bottom edge.\",\"help\":\"BOTTOM= *numeric-value*&lt;*units*&gt;\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1p1n62vbp93t4n1dm4aje8ms2npb\"}],\"supportSiteTargetFragment\":\"n0o37mfdhq425nn1jiz5kdg86m2s\"},{\"name\":\"RATTRMAP=\",\"optional\":true,\"description\":\"specifies the range attribute map data set that you want to use with the procedure.\",\"help\":\"RATTRMAP=*range-attribute-map-data-set*\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"n0yevc0rq8oe61n10fuzr97n8h9m\"},{\"name\":\"SGANNO=\",\"optional\":true,\"description\":\"specifies the SG annotation data set that you want to use.\",\"help\":\"SGANNO=*annotation-data-set*\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"n0pogs053qz9vbn1mf0g8ps0xy12\"},{\"name\":\"TMPLOUT=\",\"optional\":true,\"description\":\"specifies a file destination for the template code that is generated by the SGSCATTER procedure.\",\"help\":\"TMPLOUT=\\\"*filename*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1e7hhqwi0o7h7n1a4v5ve0a30x9\"},{\"name\":\"WALLCOLOR=\",\"optional\":true,\"description\":\"specifies the color of the plot wall area.\",\"help\":\"WALLCOLOR=*color*\",\"type\":\"color\",\"supportSiteTargetFragment\":\"p04kr9a38610qdn11mie8tcrnby0\"}],\"supportSiteTargetFile\":\"n12rgjgcz5r8o0n1abk2j1r2reml.htm\"},{\"name\":\"COMPARE\",\"description\":\"Creates a comparative panel of scatter plots with shared axes.\",\"help\":\"COMPARE  X=variable |   (variable-1 ...variable-n)  | \\nY=variable (variable-1 ...variable-n)  </options>;\",\"arguments\":[{\"name\":\"X=\",\"description\":\"specifies one or more variables for the X axis.\",\"help\":\"   X=*variable* | (*variable-1*) ... (*variable-n*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"variable\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(variable-1) ... (variable-n)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p0xkyh26zax9ufn14njtyy1arzld\"},{\"name\":\"Y=\",\"description\":\"specifies the one or more variables for the Y axis.\",\"help\":\"Y=*variable* | (*variable-1*) ... (*variable-n*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"variable\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(variable-1) ... (variable-n)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p1dvvb6vv4dbfgn1kxewctr91xxo\"},{\"name\":\"ATTRID=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the value of the ID variable in an attribute map data set.\",\"help\":\"ATTRID=*variable* \",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0lxqyvoeli1bvn125u4bvzh5ogz\"},{\"name\":\"COLORMODEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a color ramp that is to be used with the COLORRESPONSE= option.\",\"help\":\"COLORMODEL=*style-element* | (*color-list*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the name of a style element.\",\"help\":\"*style-element* \",\"type\":\"value\",\"supportSiteTargetFragment\":\"n01m69wp09ye9nn1prcccpai6h01\"},{\"name\":\"(color-list)\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a space-separated list of colors to use in the color ramp.\",\"type\":\"color\",\"supportSiteTargetFragment\":\"p1lqiwafugev5pn1gf77w6xxtqab\"}],\"supportSiteTargetFragment\":\"p07uobazzz5umqn1ixdml5p3kfh3\"},{\"name\":\"COLORRESPONSE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the numeric column that is used to map colors to a continuous color legend.\",\"help\":\"COLORRESPONSE=*numeric-column* \",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0tqxgjcb0oxfwn1a436wit8yheo\"},{\"name\":\"DATALABEL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"displays a label for each data point.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1qp7xcp3yrauon1ryewwd8y5pbj\"},{\"name\":\"DATALABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"displays a label for each data point.\",\"help\":\"DATALABEL=*variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1qp7xcp3yrauon1ryewwd8y5pbj\"},{\"name\":\"DATALABELPOS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the location of the data label with respect to the plot.\",\"help\":\"DATALABELPOS=BOTTOM | CENTER | TOP | BOTTOMLEFT | LEFT | TOPLEFT | BOTTOMRIGHT | RIGHT | TOPRIGHT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"BOTTOM\",\"type\":\"standalone\"},{\"name\":\"CENTER\",\"type\":\"standalone\"},{\"name\":\"TOP\",\"type\":\"standalone\"},{\"name\":\"BOTTOMLEFT\",\"type\":\"standalone\"},{\"name\":\"LEFT\",\"type\":\"standalone\"},{\"name\":\"TOPLEFT\",\"type\":\"standalone\"},{\"name\":\"BOTTOMRIGHT\",\"type\":\"standalone\"},{\"name\":\"RIGHT\",\"type\":\"standalone\"},{\"name\":\"TOPRIGHT\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"p120758ql6lpqln1qj5cgg2uwndv\"},{\"name\":\"ELLIPSE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Adds a confidence or prediction ellipse to the scatter plot.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0tt59o3ze4o5gn1caxdw6fbxtbz\"},{\"name\":\"ELLIPSE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Adds a confidence or prediction ellipse to the scatter plot.\",\"help\":\"ELLIPSE=(*options*)\",\"type\":\"value\",\"arguments\":[{\"name\":\"ALPHA=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the confidence level for the confidence limits.\",\"help\":\"ALPHA=*numeric-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0hat80qvjm8rjn1othcug5a0w66\"},{\"name\":\"CLIP\",\"followsDelimiter\":\"/\",\"description\":\"specifies that X and Y values for the ellipse are ignored when determining the data ranges for the axes.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0f8kaq04hon3mn0znk8zhiemmen\"},{\"name\":\"TYPE=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the type of ellipse.\",\"help\":\"TYPE=MEAN | PREDICTED\",\"type\":\"choice\",\"arguments\":[{\"name\":\"MEAN\",\"type\":\"standalone\"},{\"name\":\"PREDICTED\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"n1d37l7k0v5xien1uf7ld6i0rr2m\"}],\"supportSiteTargetFragment\":\"n0tt59o3ze4o5gn1caxdw6fbxtbz\"},{\"name\":\"FILLEDOUTLINEDMARKERS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that markers have a fill and an outline.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1f1fdqc7snr16n10n7rzby347la\"},{\"name\":\"GRADLEGEND=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the appearance of a continuous color legend when the COLORRESPONSE= option is used.\",\"help\":\"GRADLEGEND=(*options*)\",\"type\":\"value\",\"arguments\":[{\"name\":\"BORDER\",\"followsDelimiter\":\"/\",\"description\":\"adds a border around the legend.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1rzjfgnh7b6ozn1at1khngiheoi\"},{\"name\":\"INTEGER\",\"followsDelimiter\":\"/\",\"description\":\"specifies that integers are used for the gradient legend.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p09gn1utd8dj87n1x68ynt2budi1\"},{\"name\":\"NOTITLE\",\"followsDelimiter\":\"/\",\"description\":\"removes the default title. The default title is the name of the response variable.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n095rbnsmxzlogn1uel480zx5ox6\"},{\"name\":\"POSITION=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the position of the legend within the graph.\",\"help\":\"POSITION=TOP | BOTTOM | LEFT | RIGHT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"TOP\",\"type\":\"standalone\"},{\"name\":\"BOTTOM\",\"type\":\"standalone\"},{\"name\":\"LEFT\",\"type\":\"standalone\"},{\"name\":\"RIGHT\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"n12nzrteiuebl9n150nzuyy7miy1\"},{\"name\":\"TITLE=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the label for the legend.\",\"help\":\"TITLE=\\\"*text-sting*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0vd4jyyrzm5w5n196iq767ard43\"}],\"supportSiteTargetFragment\":\"p14ben76qc45ymn1ividfxehpmxz\"},{\"name\":\"GRID\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"creates grid lines for each tick on both axes.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1a2t1mr7kgx94n1pebnerep3n6c\"},{\"name\":\"GRIDATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the appearance of the grid lines.\",\"help\":\"GRIDATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"n1n7sq3y9jtpcxn0zyrmwer1ip9v\"},{\"name\":\"GROUP=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a classification variable to divide the values into groups.\",\"help\":\"GROUP=*variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p12aiut2pw84p1n1ihbcp754uspj\"},{\"name\":\"JITTER\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that data markers are offset when multiple observations have the same response value.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1hzk8asussyazn1hiwplg2yntga\"},{\"name\":\"JOIN\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that line segments join all of the scatter points.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0o1sojjxxd8ann1npye87cm9uta\"},{\"name\":\"JOIN=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that line segments join all of the scatter points.\",\"help\":\"JOIN=(*options*)\",\"type\":\"value\",\"arguments\":[{\"name\":\"LINEATTRS=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the appearance of the join lines.\",\"help\":\"LINEATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"n1ggf51ute8qxsn1e24ytsjk9y0d\"},{\"name\":\"SMOOTHCONNECT\",\"followsDelimiter\":\"/\",\"description\":\"specifies that a smoothed line passes through all vertices.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0cgqg0mek0if6n1imv6aue7am11\"}],\"supportSiteTargetFragment\":\"p0o1sojjxxd8ann1npye87cm9uta\"},{\"name\":\"LEGEND=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the appearance of the legend for the scatter plot.\",\"help\":\"LEGEND=(*options*)\",\"type\":\"value\",\"arguments\":[{\"name\":\"ACROSS=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the number of columns in the legend.\",\"help\":\"ACROSS=*n*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1o9k4pbirr2g2n1qj0a9h237w0o\"},{\"name\":\"ATTRMAP\",\"followsDelimiter\":\"/\",\"description\":\"specifies that the items defined in an attribute map data set are shown in the legend regardless of whether they are used in this graph.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p181ge6sj2ykyhn1wk5a0o6stfal\"},{\"name\":\"AUTOITEMSIZE\",\"followsDelimiter\":\"/\",\"description\":\"specifies that all markers in the legend are sized in proportion to the font size used for the legend labels.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p16ul7z7zo98r0n18jvsds8qzx39\"},{\"name\":\"DOWN=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the number of rows in the legend.\",\"help\":\"DOWN=*n*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0fchdnftuea9mn1l0dzatla28rs\"},{\"name\":\"NOBORDER\",\"followsDelimiter\":\"/\",\"description\":\"removes the border from the legend.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0d957c1b33v7yn1go6o8lnbzl8f\"},{\"name\":\"NOTITLE\",\"followsDelimiter\":\"/\",\"description\":\"removes the label from the legend.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p06zwfsd71aaten1w2p7zqqn14qd\"},{\"name\":\"POSITION=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the position of the legend within the graph.\",\"help\":\"POSITION=*position-value*\",\"type\":\"value\",\"arguments\":[{\"name\":\"BOTTOM\",\"followsDelimiter\":\"/\",\"description\":\"places the legend at the bottom of the graph.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1xq3pmdol87brn1389zgxqh5wbq\"},{\"name\":\"LEFT\",\"followsDelimiter\":\"/\",\"description\":\"places the legend at the left side of the graph.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1w2ogncmqve4qn1qcb1frx3fd2c\"},{\"name\":\"RIGHT\",\"followsDelimiter\":\"/\",\"description\":\"places the legend at the right side of the graph.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1j0d2g5pifkm1n1aj5iix67h0qm\"},{\"name\":\"TOP\",\"followsDelimiter\":\"/\",\"description\":\"places the legend at the top of the graph.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1rqkylhwwgk7gn12sfnn1wjuft7\"}],\"supportSiteTargetFragment\":\"p0deq1pu4tzmsqn1ehkhvgvx2jdg\"},{\"name\":\"SORTORDER=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the sort order to use for the legend entry labels.\",\"help\":\"SORTORDER=ASCENDING | DESCENDING\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ASCENDING\",\"type\":\"standalone\"},{\"name\":\"DESCENDING\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"p1j33awe16i7kin1mbzsf5lgps9d\"},{\"name\":\"TITLE=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the label for the legend.\",\"help\":\"TITLE=\\\"*text-sting*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n07fbxk9nth3wwn1r8om1u1wplov\"}],\"supportSiteTargetFragment\":\"n0sx59wlcvv900n1rsp97hwz2dvy\"},{\"name\":\"LOESS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Adds a loess fit to the scatter plot.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0082ogaeo4aa0n1ueql3dc5qips\"},{\"name\":\"LOESS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Adds a loess fit to the scatter plot.\",\"help\":\"LOESS=(*options*)\",\"type\":\"value\",\"arguments\":[{\"name\":\"ALPHA=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the confidence level for the confidence limits.\",\"help\":\"ALPHA=*numeric-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0o8ls1md0dr8bn0zezm6chymqry\"},{\"name\":\"CLM\",\"followsDelimiter\":\"/\",\"description\":\"creates confidence limits for a mean predicted value for each observation.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1v795jniu8n7zn1hq105eai7hw1\"},{\"name\":\"DEGREE=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the degree of the local polynomials to use for each local regression.\",\"help\":\"DEGREE=1 | 2\",\"type\":\"choice\",\"arguments\":[{\"name\":\"1\",\"followsDelimiter\":\"/\",\"description\":\"specifies a linear fit.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1tky9w1h8yr3tn1hlbv22clredh\"},{\"name\":\"2\",\"followsDelimiter\":\"/\",\"description\":\"specifies a quadratic fit.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p10bk9d2xqg19in1x8rkzvalvh8c\"}],\"supportSiteTargetFragment\":\"p1iqbs375p4h9yn1w53ghb02n8nw\"},{\"name\":\"INTERPOLATION=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the degree of the interpolating polynomials that are used for blending local polynomial fits at the kd tree vertices.\",\"help\":\"INTERPOLATION=CUBIC | LINEAR\",\"type\":\"choice\",\"arguments\":[{\"name\":\"CUBIC\",\"type\":\"standalone\"},{\"name\":\"LINEAR\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"p1sdndazpyms52n1jitqyitnti19\"},{\"name\":\"LINEATTRS=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the appearance of the fit line.\",\"help\":\"LINEATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p0nu34xivflwtrn17jxizcjj3mp2\"},{\"name\":\"NOGROUP\",\"followsDelimiter\":\"/\",\"description\":\"specifies that the fit does not use the group variable from the scatter plot.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n183jf0xt4bzypn1l4zhakdry8kb\"},{\"name\":\"SMOOTH=\",\"followsDelimiter\":\"/\",\"description\":\"specifies a smoothing parameter value.\",\"help\":\"SMOOTH=*numeric-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0qiqd5riprdwzn1mszz7fyq9p7h\"}],\"supportSiteTargetFragment\":\"n0082ogaeo4aa0n1ueql3dc5qips\"},{\"name\":\"MARKERATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the appearance of the markers in the plot.\",\"help\":\"MARKERATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p02cs9jorb86qyn1w8t7q47c36ox\"},{\"name\":\"MARKERFILLATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the color of the marker fill.\",\"help\":\"MARKERFILLATTRS=*style-element*&lt;(COLOR=*color*)&gt; |  (COLOR=*color*) \",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"type\":\"value\"},{\"name\":\"(COLOR=)\",\"type\":\"color\"}],\"supportSiteTargetFragment\":\"p0nehq696gwqcqn1p65992hqctj7\"},{\"name\":\"MARKEROUTLINEATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the appearance of the marker outlines.\",\"help\":\"MARKEROUTLINEATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"n0altoy1p3bmljn13b8gchktqa3m\"},{\"name\":\"MINORGRID\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"creates grid lines at each minor tick on both axes.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0mk5wqtoycwndn11din580wofc8\"},{\"name\":\"MINORGRIDATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the appearance of the minor grid lines.\",\"help\":\"MINORGRIDATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p0ovw892ts2dhmn1mg14v194ndhb\"},{\"name\":\"NOGRADLEGEND\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"turns off the display of the continuous color legend that appears when the COLORRESPONSE= option is used.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0obcceobuvg4kn1u69j0ot4xnc9\"},{\"name\":\"NOLEGEND\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"removes the legend from the plot.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0rsqpfx23f1jgn0z5q2c6jlbncy\"},{\"name\":\"NOWALL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"turns off the display of the graph wall’s fill and outline.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p07l1w39437ptqn1wvglzcgbq3li\"},{\"name\":\"PBSPLINE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"adds a fitted, penalized B-spline curve to the scatter plot.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0hdpemn1fpoynn1kbll61ez8ymd\"},{\"name\":\"PBSPLINE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"adds a fitted, penalized B-spline curve to the scatter plot.\",\"help\":\"PBSPLINE=(*options*)\",\"type\":\"value\",\"arguments\":[{\"name\":\"ALPHA=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the confidence level for the confidence limits.\",\"help\":\"ALPHA=*numeric-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n078lo50tktxjgn122vomkncnvbe\"},{\"name\":\"CLI\",\"followsDelimiter\":\"/\",\"description\":\"creates confidence limits for individual predicted values for each observation.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p11pfv3gw88fr9n1qog5hylkffbc\"},{\"name\":\"CLM\",\"followsDelimiter\":\"/\",\"description\":\"creates confidence limits for a mean predicted value for each observation.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1voucjq2n288bn1ve456wk8pops\"},{\"name\":\"DEGREE=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the degree of the spline transformation.\",\"help\":\"DEGREE=*n*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0hyal6rizooo6n1ga3dyrersgb1\"},{\"name\":\"LINEATTRS=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the appearance of the curve line.\",\"help\":\"LINEATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"n1g06hx4e3hdx1n1sfh9b1qdl4zv\"},{\"name\":\"NKNOTS=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the number of evenly spaced internal knots.\",\"help\":\"NKNOTS=*n*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0xv5owkj3wwoin123yfg035ofdg\"},{\"name\":\"NOGROUP\",\"followsDelimiter\":\"/\",\"description\":\"specifies that the curve does not use the group variable from the scatter plot.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n02pug70d6ji35n1u3dsw48tngb0\"},{\"name\":\"SMOOTH=\",\"followsDelimiter\":\"/\",\"description\":\"specifies a smoothing parameter value.\",\"help\":\"SMOOTH=*numeric-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1vi4pmzf12hbwn1b0vgf1p2hc4t\"}],\"supportSiteTargetFragment\":\"p0hdpemn1fpoynn1kbll61ez8ymd\"},{\"name\":\"RATTRID=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the value of the ID variable in a range attribute map data set.\",\"help\":\"RATTRID=*character-value* \",\"type\":\"value\",\"supportSiteTargetFragment\":\"n17tdf56hr7akwn1j4r14mhtjoi9\"},{\"name\":\"REFTICKS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"duplicates the tick marks from the X and Y axes on the opposite sides of the graph.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0qlqf54cz959jn17ml9i9lon6zb\"},{\"name\":\"REFTICKS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"duplicates the tick marks from the X and Y axes on the opposite sides of the graph.\",\"help\":\"REFTICKS=(*options*)\",\"type\":\"value\",\"arguments\":[{\"name\":\"LABEL\",\"followsDelimiter\":\"/\",\"description\":\"in addition to the tick marks, displays the axis label.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1q602zpt4w6acn1pehi1o8964gh\"},{\"name\":\"NOTICKS\",\"followsDelimiter\":\"/\",\"description\":\"suppresses the tick marks.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1jd2xpg5in81mn17fbm4nowkmt6\"},{\"name\":\"VALUES\",\"followsDelimiter\":\"/\",\"description\":\"in addition to the tick marks, displays the values that are represented by the tick marks.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0j7lz2bv0ueexn1worvbtpalgj3\"}],\"supportSiteTargetFragment\":\"n0qlqf54cz959jn17ml9i9lon6zb\"},{\"name\":\"REG\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"adds a regression fit to the scatter plot.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0va03pilhgi6gn197fengv91o66\"},{\"name\":\"REG=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"adds a regression fit to the scatter plot.\",\"help\":\"REG=(*options*)\",\"type\":\"value\",\"arguments\":[{\"name\":\"ALPHA=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the confidence level for the confidence limits.\",\"help\":\"ALPHA=*numeric-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0o4yxnmf2c8wxn1veipd158o6p5\"},{\"name\":\"CLI\",\"followsDelimiter\":\"/\",\"description\":\"creates confidence limits for individual predicted values for each observation.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0s4nzs4ny2ok2n185r1ff1dkqft\"},{\"name\":\"CLM\",\"followsDelimiter\":\"/\",\"description\":\"creates confidence limits for a mean predicted value for each observation.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p16m9davpf65w8n1cugaymm2408n\"},{\"name\":\"DEGREE=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the degree of the polynomial fit.\",\"help\":\"DEGREE=*n*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0w7efyr1fbujqn17skrrlxcbany\"},{\"name\":\"LINEATTRS=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the appearance of the fit line.\",\"help\":\"LINEATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"n0nkic2a54xjskn0ztzcye8x6ul8\"},{\"name\":\"NOGROUP\",\"followsDelimiter\":\"/\",\"description\":\"specifies that the fit does not use the group variable from the scatter plot.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0xhay94pvauztn141oghxbjwwyv\"}],\"supportSiteTargetFragment\":\"p0va03pilhgi6gn197fengv91o66\"},{\"name\":\"SPACING=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the amount of spacing (in pixels) that is placed between the cells in the graph.\",\"help\":\"SPACING=*n* | (*spacing-options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"n\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the spacing in pixels between all cells.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1383x418kkyq7n12monoz5ivqxu\"},{\"name\":\"ROW=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the spacing in pixels between cell rows.\",\"help\":\"ROW=*row-n*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1q8x33klvrsbwn1iyxa06dx0468\"},{\"name\":\"COLUMN=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the spacing in pixels between cell columns.\",\"help\":\"COLUMN=*column-n*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0biip9ydovk5gn1vyf52bks9rsv\"}],\"supportSiteTargetFragment\":\"p0dmrzey2qtkbrn129uj7scy8bqp\"},{\"name\":\"SPLITCHAR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies one or more characters on which the text for data labels is always split.\",\"help\":\"SPLITCHAR=\\\"*character-list*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p158p9rxqb17vwn1s7jqr65zpu0c\"},{\"name\":\"SPLITCHARNODROP\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that the split characters are included in the displayed value.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1fez58lc972y9n1wgokqv1sjy5i\"},{\"name\":\"SPLITJUSTIFY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the horizontal alignment of the value text that is being split.\",\"help\":\"SPLITJUSTIFY=LEFT | CENTER | RIGHT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"LEFT\",\"type\":\"standalone\"},{\"name\":\"CENTER\",\"type\":\"standalone\"},{\"name\":\"RIGHT\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"n0y82z6efh72g4n17zpeobq13gz3\"},{\"name\":\"TIP=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"displays data tips using the data obtained from the specified variables.\",\"help\":\"TIP=(*variable-list*)\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n072wi6u2yt1ojn1102pmhhzvyd9\"},{\"name\":\"TIPFORMAT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"applies formats to the list of data tip variables that you specify in the TIP= option.\",\"help\":\"TIPFORMAT=(*format-list*)\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n08fgafls2wyp5n16q2d5z3bp4ng\"},{\"name\":\"TIPLABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"applies labels to the list of data tip variables that you specify in the TIP= option.\",\"help\":\"TIPLABEL=(*label-list*)\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1vihskji65b17n1lno04iuu5mjl\"},{\"name\":\"TRANSPARENCY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the degree of transparency for the plot components.\",\"help\":\"TRANSPARENCY=*numeric-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0cb6i3yo33mmhn1lzzw07fqk9i0\"}],\"supportSiteTargetFile\":\"n07kgqudyrly89n12xtgbdzfxcil.htm\"},{\"name\":\"MATRIX\",\"description\":\"Creates a scatter plot matrix.\",\"help\":\"MATRIX *numeric-variable-1* *numeric-variable-2*&lt; ...*numeric-variable-n*&gt;&lt;/*options*&gt;;\",\"arguments\":[{\"name\":\"numeric-variable-1 numeric-variable-2 numeric-variable-n\",\"placeholder\":true,\"description\":\"specifies two or more numeric variables for the matrix.\",\"help\":\" *numeric-variable-1* *numeric-variable-2* &lt; ...*numeric-variable-n*&gt;\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0ck87jcntt98xn14urzqvl2dafx\"},{\"name\":\"ATTRID=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the value of the ID variable in an attribute map data set.\",\"help\":\"ATTRID=*variable* \",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0lxqyvoeli1bvn125u4bvzh5ogza\"},{\"name\":\"COLORMODEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a color ramp that is to be used with the COLORRESPONSE= option.\",\"help\":\"COLORMODEL=*style-element* | (*color-list*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the name of a style element.\",\"help\":\"*style-element* \",\"type\":\"value\",\"supportSiteTargetFragment\":\"n01m69wp09ye9nn1prcccpai6h01a\"},{\"name\":\"(color-list)\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a space-separated list of colors to use in the color ramp.\",\"type\":\"color\",\"supportSiteTargetFragment\":\"p1lqiwafugev5pn1gf77w6xxtqaba\"}],\"supportSiteTargetFragment\":\"p07uobazzz5umqn1ixdml5p3kfh3a\"},{\"name\":\"COLORRESPONSE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the numeric column that is used to map colors to a continuous color legend.\",\"help\":\"COLORRESPONSE=*numeric-column* \",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0tqxgjcb0oxfwn1a436wit8yheoa\"},{\"name\":\"DATALABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a variable that is used to create data labels for each point in the plot.\",\"help\":\"DATALABEL=*variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0ak3zbhbjlrryn1jsg3xox5746h\"},{\"name\":\"DATALABELPOS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the location of the data label with respect to the plot.\",\"help\":\"DATALABELPOS=BOTTOM | CENTER | TOP | BOTTOMLEFT | LEFT | TOPLEFT | BOTTOMRIGHT | RIGHT | TOPRIGHT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"BOTTOM\",\"type\":\"standalone\"},{\"name\":\"CENTER\",\"type\":\"standalone\"},{\"name\":\"TOP\",\"type\":\"standalone\"},{\"name\":\"BOTTOMLEFT\",\"type\":\"standalone\"},{\"name\":\"LEFT\",\"type\":\"standalone\"},{\"name\":\"TOPLEFT\",\"type\":\"standalone\"},{\"name\":\"BOTTOMRIGHT\",\"type\":\"standalone\"},{\"name\":\"RIGHT\",\"type\":\"standalone\"},{\"name\":\"TOPRIGHT\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"p075klf0y1a00xn1soqjzg9bbxm5\"},{\"name\":\"DIAGONAL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"adds graphs to the diagonal cells of the plot matrix.\",\"help\":\"DIAGONAL=(*graph-list*)\",\"type\":\"value\",\"arguments\":[{\"name\":\"HISTOGRAM\",\"followsDelimiter\":\"/\",\"description\":\"specifies a histogram.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p17af5fcikuet7n1h6b89t5dw4xh\"},{\"name\":\"KERNEL\",\"followsDelimiter\":\"/\",\"description\":\"specifies a kernel density estimate.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1lcq5lifh53n5n1ab7ma04u9l3x\"},{\"name\":\"NORMAL\",\"followsDelimiter\":\"/\",\"description\":\"specifies a normal density curve.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1xbsi9ggg5vlzn1mlc6ep3bjpyi\"}],\"supportSiteTargetFragment\":\"n1hcett0qs09syn187t8mab2kj3c\"},{\"name\":\"ELLIPSE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Adds a confidence or prediction ellipse to each cell that contains a scatter plot.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1pr9vwsj8eimhn1itrshvrdy9qa\"},{\"name\":\"ELLIPSE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Adds a confidence or prediction ellipse to each cell that contains a scatter plot.\",\"help\":\"ELLIPSE=(*options*)\",\"type\":\"value\",\"arguments\":[{\"name\":\"ALPHA=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the confidence level for the ellipse.\",\"help\":\"ALPHA=*numeric-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0ts0jvdlqi506n194p06joonm4m\"},{\"name\":\"CLIP\",\"followsDelimiter\":\"/\",\"description\":\"specifies that X and Y values for the ellipse are ignored when determining the data ranges for the axes.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0jps85a2452aln1uuywn3eysyb6\"},{\"name\":\"TYPE=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the type of ellipse.\",\"help\":\"TYPE=MEAN | PREDICTED\",\"type\":\"choice\",\"arguments\":[{\"name\":\"MEAN\",\"type\":\"standalone\"},{\"name\":\"PREDICTED\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"n1fket95qbq4jqn1btx8btvkaq55\"}],\"supportSiteTargetFragment\":\"p1pr9vwsj8eimhn1itrshvrdy9qa\"},{\"name\":\"GRADLEGEND=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the appearance of a continuous color legend when the COLORRESPONSE= option is used.\",\"help\":\"GRADLEGEND=(*options*)\",\"type\":\"value\",\"arguments\":[{\"name\":\"BORDER\",\"followsDelimiter\":\"/\",\"description\":\"adds a border around the legend.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1rzjfgnh7b6ozn1at1khngiheoia\"},{\"name\":\"INTEGER\",\"followsDelimiter\":\"/\",\"description\":\"specifies that integers are used for the gradient legend.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p09gn1utd8dj87n1x68ynt2budi1a\"},{\"name\":\"NOTITLE\",\"followsDelimiter\":\"/\",\"description\":\"removes the default title. The default title is the name of the response variable.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n095rbnsmxzlogn1uel480zx5ox6a\"},{\"name\":\"POSITION=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the position of the legend within the graph.\",\"help\":\"POSITION=TOP | BOTTOM | LEFT | RIGHT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"TOP\",\"type\":\"standalone\"},{\"name\":\"BOTTOM\",\"type\":\"standalone\"},{\"name\":\"LEFT\",\"type\":\"standalone\"},{\"name\":\"RIGHT\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"n12nzrteiuebl9n150nzuyy7miy1a\"},{\"name\":\"TITLE=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the label for the legend.\",\"help\":\"TITLE=\\\"*text-sting*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0vd4jyyrzm5w5n196iq767ard43a\"}],\"supportSiteTargetFragment\":\"p14ben76qc45ymn1ividfxehpmxza\"},{\"name\":\"GROUP=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a classification variable to divide the values into groups.\",\"help\":\"GROUP=*variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1hpsr6h7hx34on19xrb2045ncwd\"},{\"name\":\"LEGEND=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the appearance of the legend for the scatter plot.\",\"help\":\"LEGEND=(*options*)\",\"type\":\"value\",\"arguments\":[{\"name\":\"ACROSS=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the number of columns in the legend.\",\"help\":\"ACROSS=*n*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1hxx2a6koz0q0n1fknd4wk8evli\"},{\"name\":\"ATTRMAP\",\"followsDelimiter\":\"/\",\"description\":\"specifies that the items defined in an attribute map data set are shown in the legend regardless of whether they are used in this graph.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0dde9zqh7icwun1fsq0iigwfbbc\"},{\"name\":\"AUTOITEMSIZE\",\"followsDelimiter\":\"/\",\"description\":\"specifies that all markers in the legend are sized in proportion to the font size used for the legend labels.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p15vccjdo4rvnpn1cc7iti6tx64e\"},{\"name\":\"DOWN=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the number of rows in the legend.\",\"help\":\"DOWN=*n*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n09e5o59nq2kbln1j6hrl0gvxnp2\"},{\"name\":\"NOBORDER\",\"followsDelimiter\":\"/\",\"description\":\"removes the border from the legend.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1xjnpw9aplvbon1k5fbrnh4l492\"},{\"name\":\"NOTITLE\",\"followsDelimiter\":\"/\",\"description\":\"removes the label from the legend.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1m3pbso20ahrnn1qjk10z3kyvjp\"},{\"name\":\"POSITION=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the position of the legend within the graph.\",\"help\":\"POSITION=*position-value*\",\"type\":\"value\",\"arguments\":[{\"name\":\"BOTTOM\",\"followsDelimiter\":\"/\",\"description\":\"places the legend at the bottom of the graph.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p15ebwa5521g5vn1hjkgy1o0x9wo\"},{\"name\":\"LEFT\",\"followsDelimiter\":\"/\",\"description\":\"places the legend at the left side of the graph.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1q8jhks98m2mdn1kzs03ely31f4\"},{\"name\":\"RIGHT\",\"followsDelimiter\":\"/\",\"description\":\"places the legend at the right side of the graph.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0y4m0zza0odvpn15oq65qh1u3ta\"},{\"name\":\"TOP\",\"followsDelimiter\":\"/\",\"description\":\"places the legend at the top of the graph.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1dzxs89t548ovn1fdxn4qly3xe3\"}],\"supportSiteTargetFragment\":\"p1d4v2qrv1dixgn1lh69u0nbepxd\"},{\"name\":\"SORTORDER=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the sort order to use for the legend entry labels.\",\"help\":\"SORTORDER=ASCENDING | DESCENDING\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ASCENDING\",\"type\":\"standalone\"},{\"name\":\"DESCENDING\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"n0qg1zb5l4ascan1colenheu2x90\"},{\"name\":\"TITLE=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the label for the legend.\",\"help\":\"TITLE=\\\"*text-sting*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0erckg6xtesgkn1cr7pexn1cvox\"}],\"supportSiteTargetFragment\":\"p14uojorrn9jx2n1y2odku5hlrtw\"},{\"name\":\"MARKERATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the appearance of the markers in the plot.\",\"help\":\"MARKERATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p02cs9jorb86qyn1w8t7q47c36oxa\"},{\"name\":\"NOGRADLEGEND\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"turns off the display of the continuous color legend that appears when the COLORRESPONSE= option is used.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0obcceobuvg4kn1u69j0ot4xnc9a\"},{\"name\":\"NOLEGEND\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"removes the legend from the graph.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n07w1zz8c6s3l4n10dz79c3g37gz\"},{\"name\":\"RATTRID=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the value of the ID variable in a range attribute map data set.\",\"help\":\"RATTRID=*character-value* \",\"type\":\"value\",\"supportSiteTargetFragment\":\"n17tdf56hr7akwn1j4r14mhtjoi9a\"},{\"name\":\"SPLITCHAR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies one or more characters on which the text for data labels is always split.\",\"help\":\"SPLITCHAR=\\\"*character-list*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p158p9rxqb17vwn1s7jqr65zpu0ca\"},{\"name\":\"SPLITCHARNODROP\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that the split characters are included in the displayed value.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1fez58lc972y9n1wgokqv1sjy5ia\"},{\"name\":\"SPLITJUSTIFY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the horizontal alignment of the value text that is being split.\",\"help\":\"SPLITJUSTIFY=LEFT | CENTER | RIGHT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"LEFT\",\"type\":\"standalone\"},{\"name\":\"CENTER\",\"type\":\"standalone\"},{\"name\":\"RIGHT\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"n0y82z6efh72g4n17zpeobq13gz3a\"},{\"name\":\"START=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies whether the diagonal starts in the top left corner or the bottom left corner.\",\"help\":\"START=BOTTOMLEFT | TOPLEFT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"BOTTOMLEFT\",\"type\":\"standalone\"},{\"name\":\"TOPLEFT\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"p0a5k4eeld7eden17di4ygv7fhyi\"},{\"name\":\"TIP=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"displays data tips using the data obtained from the specified variables.\",\"help\":\"TIP=(*variable-list*)\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n072wi6u2yt1ojn1102pmhhzvyd9a\"},{\"name\":\"TIPFORMAT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"applies formats to the list of data tip variables that you specify in the TIP= option.\",\"help\":\"TIPFORMAT=(*format-list*)\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n08fgafls2wyp5n16q2d5z3bp4nga\"},{\"name\":\"TIPLABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"applies labels to the list of data tip variables that you specify in the TIP= option.\",\"help\":\"TIPLABEL=(*label-list*)\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1vihskji65b17n1lno04iuu5mjla\"},{\"name\":\"TRANSPARENCY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the degree of transparency for the plot components.\",\"help\":\"TRANSPARENCY=*numeric-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p132qmzck8qmwwn1nk36zm7fcqrf\"}],\"supportSiteTargetFile\":\"p1uple27huzz45n1oh78awbfmm9b.htm\"},{\"name\":\"PLOT\",\"description\":\"Creates a paneled graph that contains multiple independent scatter plots.\",\"help\":\"PLOT *plot-request(s)*&lt;/options&gt;;\",\"arguments\":[{\"name\":\"y-variable\",\"placeholder\":true,\"description\":\"variable plotted on the left vertical axis.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1mg8nj5hczgjun1tdwmuqdgiwns\"},{\"name\":\"x-variable\",\"placeholder\":true,\"description\":\"variable plotted on the horizontal axis.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1ikn5s6gh1c47n1a30r0rhidgmp\"},{\"name\":\"y-variable\",\"placeholder\":true,\"description\":\"variables plotted on the left vertical axes.\",\"help\":\"*y-variable(s)*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1l4rvur71bu7kn1hdy9qp1r4vhx\"},{\"name\":\"x-variable\",\"placeholder\":true,\"description\":\"variables plotted on the horizontal axes.\",\"help\":\"*x-variable(s)*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1fvtauez0urb1n1kua43vbbn6bn\"},{\"name\":\"ASPECT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the aspect ratio of the plot’s wall area.\",\"help\":\"ASPECT=*positive-number*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0y7buf91a7pljn112bou45yjf03\"},{\"name\":\"ATTRID=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the value of the ID variable in an attribute map data set.\",\"help\":\"ATTRID=*variable* \",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0lxqyvoeli1bvn125u4bvzh5ogzb\"},{\"name\":\"AXISEXTENT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the extent of the axis line for the axes.\",\"help\":\"AXISEXTENT=FULL | DATA\",\"type\":\"choice\",\"arguments\":[{\"name\":\"FULL\",\"followsDelimiter\":\"/\",\"description\":\"the axis lines extend along the entire length of the axis.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0cv6izuju7vabn1lokp4dkogsvy\"},{\"name\":\"DATA\",\"followsDelimiter\":\"/\",\"description\":\"the axis lines extend through the data range from the minimum data point to the maximum data point.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0cj8s0xajcfkvn1q5c0d2bpfliu\"}],\"supportSiteTargetFragment\":\"n069w40t4wzgpkn1381v3jbn869f\"},{\"name\":\"COLORMODEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a color ramp that is to be used with the COLORRESPONSE= option.\",\"help\":\"COLORMODEL=*style-element* | (*color-list*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the name of a style element.\",\"help\":\"*style-element* \",\"type\":\"value\",\"supportSiteTargetFragment\":\"n01m69wp09ye9nn1prcccpai6h01b\"},{\"name\":\"(color-list)\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a space-separated list of colors to use in the color ramp.\",\"type\":\"color\",\"supportSiteTargetFragment\":\"p1lqiwafugev5pn1gf77w6xxtqabb\"}],\"supportSiteTargetFragment\":\"p07uobazzz5umqn1ixdml5p3kfh3b\"},{\"name\":\"COLORRESPONSE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the numeric column that is used to map colors to a continuous color legend.\",\"help\":\"COLORRESPONSE=*numeric-column* \",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0tqxgjcb0oxfwn1a436wit8yheob\"},{\"name\":\"COLUMNS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the number of columns in the graph.\",\"help\":\"COLUMNS=*n*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p03ejff55hzl1hn1fq2u4erg3vf4\"},{\"name\":\"DATALABEL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"displays a label for each data point.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n13yh513z1frm9n197ayrs4hq2m9\"},{\"name\":\"DATALABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"displays a label for each data point.\",\"help\":\"DATALABEL=*variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n13yh513z1frm9n197ayrs4hq2m9\"},{\"name\":\"DATALABELPOS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the location of the data label with respect to the plot.\",\"help\":\"DATALABELPOS=BOTTOM | CENTER | TOP | BOTTOMLEFT | LEFT | TOPLEFT | BOTTOMRIGHT | RIGHT | TOPRIGHT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"BOTTOM\",\"type\":\"standalone\"},{\"name\":\"CENTER\",\"type\":\"standalone\"},{\"name\":\"TOP\",\"type\":\"standalone\"},{\"name\":\"BOTTOMLEFT\",\"type\":\"standalone\"},{\"name\":\"LEFT\",\"type\":\"standalone\"},{\"name\":\"TOPLEFT\",\"type\":\"standalone\"},{\"name\":\"BOTTOMRIGHT\",\"type\":\"standalone\"},{\"name\":\"RIGHT\",\"type\":\"standalone\"},{\"name\":\"TOPRIGHT\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"p120758ql6lpqln1qj5cgg2uwndva\"},{\"name\":\"ELLIPSE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"adds a confidence or prediction ellipse to the scatter plot.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1bc0sisp38l44n16luivqv70ads\"},{\"name\":\"ELLIPSE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"adds a confidence or prediction ellipse to the scatter plot.\",\"help\":\"ELLIPSE=(*options*)\",\"type\":\"value\",\"arguments\":[{\"name\":\"ALPHA=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the confidence level for the ellipse.\",\"help\":\"ALPHA=*n*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1ew9h7djr1etvn1a37b038mtkyi\"},{\"name\":\"CLIP\",\"followsDelimiter\":\"/\",\"description\":\"specifies that X and Y values for the ellipse are ignored when determining the data ranges for the axes.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1gxzdcxrnahsan19khwyofg3hrs\"},{\"name\":\"TYPE=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the type of ellipse.\",\"help\":\"TYPE=MEAN | PREDICTED\",\"type\":\"choice\",\"arguments\":[{\"name\":\"MEAN\",\"followsDelimiter\":\"/\",\"description\":\"specifies a confidence ellipse for the population mean.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0z1l5m4a54s2yn1d3mpg3miavug\"},{\"name\":\"PREDICTED\",\"followsDelimiter\":\"/\",\"description\":\"specifies a prediction ellipse for a new observation.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0eg6s683srrqxn1rvautaa13vwh\"}],\"supportSiteTargetFragment\":\"p0cv4sf66aqra3n1squkon3a3i7t\"}],\"supportSiteTargetFragment\":\"p1bc0sisp38l44n16luivqv70ads\"},{\"name\":\"FILLEDOUTLINEDMARKERS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that markers have a fill and an outline.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1f1fdqc7snr16n10n7rzby347laa\"},{\"name\":\"GRADLEGEND=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the appearance of a continuous color legend when the COLORRESPONSE= option is used.\",\"help\":\"GRADLEGEND=(*options*)\",\"type\":\"value\",\"arguments\":[{\"name\":\"BORDER\",\"followsDelimiter\":\"/\",\"description\":\"adds a border around the legend.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1rzjfgnh7b6ozn1at1khngiheoib\"},{\"name\":\"INTEGER\",\"followsDelimiter\":\"/\",\"description\":\"specifies that integers are used for the gradient legend.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p09gn1utd8dj87n1x68ynt2budi1b\"},{\"name\":\"NOTITLE\",\"followsDelimiter\":\"/\",\"description\":\"removes the default title. The default title is the name of the response variable.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n095rbnsmxzlogn1uel480zx5ox6b\"},{\"name\":\"POSITION=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the position of the legend within the graph.\",\"help\":\"POSITION=TOP | BOTTOM | LEFT | RIGHT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"TOP\",\"type\":\"standalone\"},{\"name\":\"BOTTOM\",\"type\":\"standalone\"},{\"name\":\"LEFT\",\"type\":\"standalone\"},{\"name\":\"RIGHT\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"n12nzrteiuebl9n150nzuyy7miy1b\"},{\"name\":\"TITLE=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the label for the legend.\",\"help\":\"TITLE=\\\"*text-sting*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0vd4jyyrzm5w5n196iq767ard43b\"}],\"supportSiteTargetFragment\":\"p14ben76qc45ymn1ividfxehpmxzb\"},{\"name\":\"GRID\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"creates grid lines for each tick on both axes.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1u9ixyzh8gd50n10md46l7d62z4\"},{\"name\":\"GRIDATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the appearance of the grid lines.\",\"help\":\"GRIDATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"n1n7sq3y9jtpcxn0zyrmwer1ip9va\"},{\"name\":\"GROUP=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a classification variable to divide the values into groups.\",\"help\":\"GROUP=*variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1grjmsmfgger9n1xkyr30lgfie0\"},{\"name\":\"JITTER\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that data markers are offset when multiple observations have the same response value.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1hzk8asussyazn1hiwplg2yntgaa\"},{\"name\":\"JOIN\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that line segments join all of the scatter points.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1921jq64f5diln1exofax9zo0q3\"},{\"name\":\"JOIN=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that line segments join all of the scatter points.\",\"help\":\"JOIN=(*options*)\",\"type\":\"value\",\"arguments\":[{\"name\":\"LINEATTRS=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the appearance of the join lines.\",\"help\":\"LINEATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"n1xndb2jdsmmkfn1ktnko26tc0s4\"},{\"name\":\"SMOOTHCONNECT\",\"followsDelimiter\":\"/\",\"description\":\"specifies that a smoothed line passes through all vertices.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n05pqsaka6kqxyn1gniob7aepman\"}],\"supportSiteTargetFragment\":\"n1921jq64f5diln1exofax9zo0q3\"},{\"name\":\"LEGEND=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the appearance of the legend for the scatter plot.\",\"help\":\"LEGEND=(*options*)\",\"type\":\"value\",\"arguments\":[{\"name\":\"ACROSS=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the number of columns in the legend.\",\"help\":\"ACROSS=*n*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n11t3eotjss8jpn1tg4q8f1kngg1\"},{\"name\":\"ATTRMAP\",\"followsDelimiter\":\"/\",\"description\":\"specifies that the items defined in an attribute map data set are shown in the legend regardless of whether they are used in this graph.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1mqcuxwmzllw9n1nisiml0wd2zi\"},{\"name\":\"AUTOITEMSIZE\",\"followsDelimiter\":\"/\",\"description\":\"specifies that all markers in the legend are sized in proportion to the font size used for the legend labels.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p194xelech6q6fn11vj3jcj94wph\"},{\"name\":\"DOWN=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the number of rows in the legend.\",\"help\":\"DOWN=*n*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n14v2fmtfp5pgzn1ldpomxbmrua1\"},{\"name\":\"LOCATION=\",\"followsDelimiter\":\"/\",\"description\":\"specifies whether the legend is placed inside an empty cell (CELL) in the plot area or outside of the plot area (OUTSIDE).\",\"help\":\"LOCATION=CELL | OUTSIDE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"CELL\",\"type\":\"standalone\"},{\"name\":\"OUTSIDE\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"p0r2nfgfyb7yi9n1pifo1p79bqhg\"},{\"name\":\"NOBORDER\",\"followsDelimiter\":\"/\",\"description\":\"removes the border from the legend.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0dqpmjhir1cu1n18l4b5po8tnb8\"},{\"name\":\"NOTITLE\",\"followsDelimiter\":\"/\",\"description\":\"removes the label from the legend.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0tidwhns5lt4bn1re5ge596ljsc\"},{\"name\":\"POSITION=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the position of the legend within the graph.\",\"help\":\"POSITION=*position-value*\",\"type\":\"value\",\"arguments\":[{\"name\":\"BOTTOM\",\"followsDelimiter\":\"/\",\"description\":\"places the legend at the bottom of the graph.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1u0inuer2r68xn1cyiqiid3q7un\"},{\"name\":\"LEFT\",\"followsDelimiter\":\"/\",\"description\":\"places the legend at the left side of the graph.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0nqyedpefcrnmn0z5ys6h5tlb4n\"},{\"name\":\"RIGHT\",\"followsDelimiter\":\"/\",\"description\":\"places the legend at the right side of the graph.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n17nr9hdybqleon1clro3dpeu9uu\"},{\"name\":\"TOP\",\"followsDelimiter\":\"/\",\"description\":\"places the legend at the top of the graph.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1oe6p8cahk98on17sxsrum1rtqq\"}],\"supportSiteTargetFragment\":\"n00xsbpzhlqwxln19h1gj1j0poju\"},{\"name\":\"SORTORDER=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the sort order to use for the legend entry labels.\",\"help\":\"SORTORDER=ASCENDING | DESCENDING\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ASCENDING\",\"type\":\"standalone\"},{\"name\":\"DESCENDING\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"n1wfvgbtcxat8nn1leoww0f19sft\"},{\"name\":\"TITLE=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the label for the legend.\",\"help\":\"TITLE=\\\"*text-sting*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0l9wq36fzckgwn1e3mteul06pey\"}],\"supportSiteTargetFragment\":\"p1b18bxw557ybmn15wgjv8tcctzj\"},{\"name\":\"LOESS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"adds a loess fit to the scatter plot.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1u7o6l3gikohnn1jhl5jkntzy26\"},{\"name\":\"LOESS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"adds a loess fit to the scatter plot.\",\"help\":\"LOESS=(*options*)\",\"type\":\"value\",\"arguments\":[{\"name\":\"ALPHA=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the confidence level for the confidence limits.\",\"help\":\"ALPHA=*numeric-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0y6oly00om1din1hl8tst6p4jak\"},{\"name\":\"CLM\",\"followsDelimiter\":\"/\",\"description\":\"creates confidence limits for a mean predicted value for each observation.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1uk00kjrk6hyvn17i93cm7e8qq5\"},{\"name\":\"DEGREE=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the degree of the local polynomials to use for each local regression.\",\"help\":\"DEGREE=1 | 2\",\"type\":\"choice\",\"arguments\":[{\"name\":\"1\",\"followsDelimiter\":\"/\",\"description\":\"specifies a linear fit.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0pdrv9t05s61qn1eg4bx2px5jpz\"},{\"name\":\"2\",\"followsDelimiter\":\"/\",\"description\":\"specifies a quadratic fit.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0d2hcxg4c3a7xn1d4jzqikm7yac\"}],\"supportSiteTargetFragment\":\"n0t96xpp32rpiun1e6pcut3utn89\"},{\"name\":\"INTERPOLATION=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the degree of the interpolating polynomials that are used for blending local polynomial fits at the kd tree vertices.\",\"help\":\"INTERPOLATION=CUBIC | LINEAR\",\"type\":\"choice\",\"arguments\":[{\"name\":\"CUBIC\",\"type\":\"standalone\"},{\"name\":\"LINEAR\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"n18rig3mebm24fn1on68xkb7g1pn\"},{\"name\":\"LINEATTRS=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the appearance of the fit line.\",\"help\":\"LINEATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"n1igcvpkbxwwtgn1n5k24akrxyjo\"},{\"name\":\"NOGROUP\",\"followsDelimiter\":\"/\",\"description\":\"specifies that the fit does not use the group variable from the scatter plot.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1hw2fgb5a24ebn1lwuzqeru86d3\"},{\"name\":\"SMOOTH=\",\"followsDelimiter\":\"/\",\"description\":\"specifies a smoothing parameter value.\",\"help\":\"SMOOTH=*numeric-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n11re531co768yn1f3pqz4ymojrb\"}],\"supportSiteTargetFragment\":\"n1u7o6l3gikohnn1jhl5jkntzy26\"},{\"name\":\"MARKERATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the appearance of the markers in the plot.\",\"help\":\"MARKERATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p02cs9jorb86qyn1w8t7q47c36oxb\"},{\"name\":\"MARKERFILLATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the color of the marker fill.\",\"help\":\"MARKERFILLATTRS=*style-element*&lt;(COLOR=*color*)&gt; |  (COLOR=*color*) \",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"type\":\"value\"},{\"name\":\"(COLOR=)\",\"type\":\"color\"}],\"supportSiteTargetFragment\":\"p0nehq696gwqcqn1p65992hqctj7a\"},{\"name\":\"MARKEROUTLINEATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the appearance of the marker outlines.\",\"help\":\"MARKEROUTLINEATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"n0altoy1p3bmljn13b8gchktqa3ma\"},{\"name\":\"MINORGRID\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"creates grid lines at each minor tick on both axes.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0mk5wqtoycwndn11din580wofc8a\"},{\"name\":\"MINORGRIDATTRS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the appearance of the minor grid lines.\",\"help\":\"MINORGRIDATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p0ovw892ts2dhmn1mg14v194ndhba\"},{\"name\":\"NOBORDER\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"removes the border from each plot in the panel.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0tzww19ldi1o6n1s5epwfmx8cea\"},{\"name\":\"NOGRADLEGEND\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"turns off the display of the continuous color legend that appears when the COLORRESPONSE= option is used.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0obcceobuvg4kn1u69j0ot4xnc9b\"},{\"name\":\"NOLEGEND\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"removes the legend from the graph.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p077cb2mesw0yfn0zagfyt5epn7j\"},{\"name\":\"NOWALL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"turns off the display of the graph wall’s fill and outline.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p07l1w39437ptqn1wvglzcgbq3lia\"},{\"name\":\"PBSPLINE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"adds a fitted, penalized B-spline curve to the scatter plot.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n03m7wl3bhrfkbn1au3w4sm9blx8\"},{\"name\":\"PBSPLINE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"adds a fitted, penalized B-spline curve to the scatter plot.\",\"help\":\"PBSPLINE=(*options*)\",\"type\":\"value\",\"arguments\":[{\"name\":\"ALPHA=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the confidence level for the confidence limits.\",\"help\":\"ALPHA=*numeric-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0ef19t9sv9w08n1aomee6aca6lk\"},{\"name\":\"CLI\",\"followsDelimiter\":\"/\",\"description\":\"creates confidence limits for individual predicted values for each observation.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1kxdubl9dd239n1x239kerkvb5p\"},{\"name\":\"CLM\",\"followsDelimiter\":\"/\",\"description\":\"creates confidence limits for a mean predicted value for each observation.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1r29qaan4hdm7n1oia4ntdkv6as\"},{\"name\":\"DEGREE=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the degree of the spline transformation.\",\"help\":\"DEGREE=*n*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0z8c82wujl4ekn0zyxrsywtzdcz\"},{\"name\":\"LINEATTRS=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the appearance of the curve line.\",\"help\":\"LINEATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p076eb28wt6ew6n1ob3o3cmgf7he\"},{\"name\":\"NKNOTS=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the number of evenly spaced internal knots.\",\"help\":\"NKNOTS=*n*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0ecf43tk65tb8n1ogr3jurhz08v\"},{\"name\":\"NOGROUP\",\"followsDelimiter\":\"/\",\"description\":\"specifies that the curve does not use the group variable from the scatter plot.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1ng0r9zazog31n1gnrusm2d9mba\"},{\"name\":\"SMOOTH=\",\"followsDelimiter\":\"/\",\"description\":\"specifies a smoothing parameter value.\",\"help\":\"SMOOTH=*numeric-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1r0hv3p1gd1zin13jrespiu461m\"}],\"supportSiteTargetFragment\":\"n03m7wl3bhrfkbn1au3w4sm9blx8\"},{\"name\":\"RATTRID=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the value of the ID variable in a range attribute map data set.\",\"help\":\"RATTRID=*character-value* \",\"type\":\"value\",\"supportSiteTargetFragment\":\"n17tdf56hr7akwn1j4r14mhtjoi9b\"},{\"name\":\"REFTICKS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"duplicates the tick marks from the X and Y axes on the opposite sides of each cell.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0wy28llw619qln1axb6szmi80i7\"},{\"name\":\"REFTICKS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"duplicates the tick marks from the X and Y axes on the opposite sides of each cell.\",\"help\":\"REFTICKS=(*options*)\",\"type\":\"value\",\"arguments\":[{\"name\":\"LABEL\",\"followsDelimiter\":\"/\",\"description\":\"in addition to the tick marks, displays the axis label.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n08rc6e43z727nn1u4smnl2kbycg\"},{\"name\":\"NOTICKS\",\"followsDelimiter\":\"/\",\"description\":\"suppresses the tick marks.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1iys8gpff4ci8n1jwojzk998j0o\"},{\"name\":\"VALUES\",\"followsDelimiter\":\"/\",\"description\":\"in addition to the tick marks, displays the values that are represented by the tick marks.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1wsr3q949vi3on1ngviwa3mui2i\"}],\"supportSiteTargetFragment\":\"n0wy28llw619qln1axb6szmi80i7\"},{\"name\":\"REG\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"adds a regression fit to the scatter plot.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0e1t3rmhqocrxn0zluasag0lnwk\"},{\"name\":\"REG=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"adds a regression fit to the scatter plot.\",\"help\":\"REG=(*options*)\",\"type\":\"value\",\"arguments\":[{\"name\":\"ALPHA=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the confidence level for the confidence limits.\",\"help\":\"ALPHA=*numeric-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n169oyq8n8p8cbn11zdyp6eeqmg8\"},{\"name\":\"CLI\",\"followsDelimiter\":\"/\",\"description\":\"creates confidence limits for individual predicted values for each observation.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n175kezcumpjgln1eah2kppute2o\"},{\"name\":\"CLM\",\"followsDelimiter\":\"/\",\"description\":\"creates confidence limits for a mean predicted value for each observation.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0bfrn9uf5r7l6n1dpieitjtl597\"},{\"name\":\"DEGREE=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the degree of the polynomial fit.\",\"help\":\"DEGREE=*n*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p068jirptlbitln1uh27y8pepbay\"},{\"name\":\"LINEATTRS=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the appearance of the fit line.\",\"help\":\"LINEATTRS=*style-element*&lt;(*options*)&gt; | (*options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(options)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"n1k5kxd2sz66vsn1uxq8xaejmghz\"},{\"name\":\"NOGROUP\",\"followsDelimiter\":\"/\",\"description\":\"specifies that the fit does not use the group variable from the scatter plot.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p04s7nrqurx9f4n1c652fu8nfckr\"}],\"supportSiteTargetFragment\":\"n0e1t3rmhqocrxn0zluasag0lnwk\"},{\"name\":\"ROWS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the number of rows in the graph.\",\"help\":\"ROWS=*n*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1jlr9lwvj35k6n1tuxgh2y75ij7\"},{\"name\":\"SPACING=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the amount of spacing (in pixels) that is placed between the cells in the graph, if the PLOT statement creates multiple cells.\",\"help\":\"SPACING=*n* | (*spacing-options*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"n\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the spacing in pixels between all cells.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n127sjuv1jx9f3n1xdmxm6605fzd\"},{\"name\":\"ROW=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the spacing in pixels between cell rows.\",\"help\":\"ROW=*row-n*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p01qhaj05e9570n1lzrwt46aemu7\"},{\"name\":\"COLUMN=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the spacing in pixels between cell columns.\",\"help\":\"COLUMN=*column-n*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n058vv1o4p9e4tn18c3gfriq0oti\"}],\"supportSiteTargetFragment\":\"n13tgmtc8v9z5tn154xy8glt3o6n\"},{\"name\":\"SPLITCHAR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies one or more characters on which the text for data labels is always split.\",\"help\":\"SPLITCHAR=\\\"*character-list*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p158p9rxqb17vwn1s7jqr65zpu0cb\"},{\"name\":\"SPLITCHARNODROP\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that the split characters are included in the displayed value.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1fez58lc972y9n1wgokqv1sjy5ib\"},{\"name\":\"SPLITJUSTIFY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the horizontal alignment of the value text that is being split.\",\"help\":\"SPLITJUSTIFY=LEFT | CENTER | RIGHT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"LEFT\",\"type\":\"standalone\"},{\"name\":\"CENTER\",\"type\":\"standalone\"},{\"name\":\"RIGHT\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"n0y82z6efh72g4n17zpeobq13gz3b\"},{\"name\":\"TIP=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"displays data tips using the data obtained from the specified variables.\",\"help\":\"TIP=(*variable-list*)\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n072wi6u2yt1ojn1102pmhhzvyd9b\"},{\"name\":\"TIPFORMAT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"applies formats to the list of data tip variables that you specify in the TIP= option.\",\"help\":\"TIPFORMAT=(*format-list*)\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n08fgafls2wyp5n16q2d5z3bp4ngb\"},{\"name\":\"TIPLABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"applies labels to the list of data tip variables that you specify in the TIP= option.\",\"help\":\"TIPLABEL=(*label-list*)\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1vihskji65b17n1lno04iuu5mjlb\"},{\"name\":\"TRANSPARENCY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the degree of transparency for the plot components.\",\"help\":\"TRANSPARENCY=*numeric-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1rgmpajmmezs1n1bdlb1uandpbz\"},{\"name\":\"UNISCALE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that the X axis, Y axis, or both axes are scaled uniformly for all of the cells in the graph.\",\"help\":\"UNISCALE=X | Y | ALL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"X\",\"type\":\"standalone\"},{\"name\":\"Y\",\"type\":\"standalone\"},{\"name\":\"ALL\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"p1r152pw9nyvk6n13bh7wh8c2bov\"}],\"supportSiteTargetFile\":\"p1b2ff69nyh0ghn1lxlkzwkspro0.htm\"},{\"name\":\"ATTRIB\",\"description\":\"Associates a format, informat, label, and length with one or more variables.\",\"help\":\"ATTRIB  *variable-list(s)**attribute-list(s)*;\",\"arguments\":[{\"name\":\"variable-list\",\"optional\":true,\"placeholder\":true,\"description\":\"names the variables that you want to associate with the attributes.\",\"help\":\"*variable-list(s)*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1nd0mq22iu6ovn14mz1ot1hwcjid\"},{\"name\":\"FORMAT=\",\"description\":\"associates a format with variables in variable-list.\",\"help\":\"FORMAT=*format*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p08pt9ce6bhq86n18a3zcc97bldzd\"},{\"name\":\"INFORMAT=\",\"description\":\"associates an informat with variables in variable-list.\",\"help\":\"INFORMAT=*informat*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n136glco6ritqdn160792yhk9mv1d\"},{\"name\":\"LABEL=\",\"description\":\"associates a label with variables in variable-list.\",\"help\":\"LABEL='*label*' \",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0a9x9io5pi05mn1i4p2cphc7t0nd\"}],\"supportSiteTargetFile\":\"n09bxytcjmyp75n1mc29q45qhpmsd.htm\"},{\"name\":\"BY\",\"description\":\"Orders the output according to the BY groups.\",\"help\":\"BY <DESCENDING>variable-1\\n\\t<-<DESCENDING> variable-n>\\n\\t<NOTSORTED>;\",\"arguments\":[{\"name\":\"variable\",\"placeholder\":true,\"description\":\"specifies the variable that the procedure uses to form BY groups. You can specify more than one variable. If you do not use the NOTSORTED option in the BY statement, then either the observations in the data set must be sorted by all the variables that you specify, or they must be indexed appropriately. Variables in a BY statement are called BY variables.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0e9kbav2i9chhn1xectebpz4s14d\"},{\"name\":\"DESCENDING\",\"optional\":true,\"description\":\"specifies that the observations are sorted in descending order by the variable that immediately follows the word DESCENDING in the BY statement.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1au0lhf4hi1h2n1le3cx2tp74l5d\"},{\"name\":\"NOTSORTED\",\"optional\":true,\"description\":\"specifies that observations are not necessarily sorted in alphabetic or numeric order. The observations are grouped in another way (for example, chronological order).\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p068zvjhrpn2awn1bygis4m6hppad\"}],\"supportSiteTargetFile\":\"p1tkzb6q5jl1omn1payndkh1g3nwd.htm\"},{\"name\":\"FORMAT\",\"description\":\"Associates formats with variables.\",\"help\":\"FORMAT *variable-1*&lt;-*variable-n*&gt;&lt;*format-1*&gt;&lt;*variable-1*&lt;-*variable-n*&gt;&lt;*format-2*&gt;&gt; - &lt;DEFAULT=*default-format*&gt;;\",\"arguments\":[{\"name\":\"variable\",\"placeholder\":true,\"description\":\"names one or more variables for SAS to associate with a format. You must specify at least one variable.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1d0cionbspk2tn1ma0m6kjd1ntxd\"},{\"name\":\"format\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the format that is listed for writing the values of the variables.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0oulvct798v2wn1lll17t854rg8d\"},{\"name\":\"DEFAULT=\",\"optional\":true,\"description\":\"specifies a temporary default format for displaying the values of variables that are not listed in the FORMAT statement. These default formats apply only to the current DATA step; they are not permanently associated with variables in the output data set.\",\"help\":\"DEFAULT=*default-format*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0k0jb3arokdz9n1g3q3zizh81g4d\"}],\"supportSiteTargetFile\":\"n1x0d6bnw9wtyun1rhq5p7tis5gsd.htm\"},{\"name\":\"LABEL\",\"description\":\"Assigns descriptive labels to variables.\",\"help\":\"Form 1: Creates a descriptive label for one or more variables.\\nLABEL variable-1=’text-string’ < ...variable-n=’text-string>; \\nForm 2: Removes the label from one or more variables.\\nLABEL variable-1 = ' ' < ...variable-n=’ ‘>; | variable-1 = < ...variable-n= >\",\"arguments\":[{\"name\":\"text-string\",\"placeholder\":true,\"description\":\"specifies a label of up to 256 bytes.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n09u0k5ydxzgr3n1dfznhvex7uuod\"},{\"name\":\"'\",\"placeholder\":true,\"description\":\"removes a label from a variable. Enclose a single blank space in quotation marks to remove an existing label. You can remove labels from multiple variables in a single LABEL statement:\",\"help\":\"*' '*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1dl99omzes92cn1typpf6yl1ng0d\"}],\"supportSiteTargetFile\":\"n0b8jun5pu2j52n1duycwzzhrtmwd.htm\"},{\"name\":\"WHERE\",\"description\":\"Subsets the input data set by specifying certain conditions that each observation must meet before it is available for processing.\",\"help\":\"WHERE *where-expression*;\",\"arguments\":[{\"name\":\"where-expression\",\"placeholder\":true,\"description\":\"is an arithmetic or logical expression that generally consists of a sequence of operands and operators. For more information about where processing, see .\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0834dlfg85co3n18aqbvenv4b35d\"}],\"supportSiteTargetFile\":\"n1rx5guqu5cxr1n1flpiox5ks7srd.htm\"}],\"supportSiteInformation\":{\"docsetId\":\"grstatproc\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"n1je1qlb5bvtypn1rhbeyqw5h9rc.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/SHAPLEY.json",
    "content": "{\"name\":\"SHAPLEY\",\"statements\":[{\"name\":\"PROC SHAPLEY\",\"description\":\"The SHAPLEY procedure estimates Shapley values of a query on the basis of the information that is provided in a reference table. Shapley values are a measure of variable importance for a single observation. You can use them to explain why a machine learning model yields a specific prediction for a query observation. They serve as an additive measure of importance whose sum equals the predicted output from the model that you are explaining. PROC SHAPLEY uses two methods to approximate the same Shapley values. The first method is kernel Shapley additive explanations (Kernel SHAP), which fits linear regression models to the scored output from machine learning models. The second method is hyperparameterized Shapley value estimation (HyperSHAP), which calculates the Shapley values for predictive models.\",\"help\":\"PROC SHAPLEY  DATA=libref.data-table REFERENCEDATA=libref.data-table <options>;                 \\n\\tASTOREMODEL  RSTORE=libref.data-table;                 \\n\\n\\tCODE  FILE=filename | TABLE=libref.data-table;                 \\n\\n\\tFREQ  variable;                 \\n\\n\\tINPUT  variables </ {LEVEL={INTERVAL | NOMINAL}} >;                 \\n\\n\\tMETHOD method-type<(options)>;                 \\n\\n\\tPREDICTEDTARGET  variable;                 \\n\\n\\tWEIGHT  variable;                 \\n\",\"arguments\":[{\"name\":\"DATA=\",\"description\":\"names the input data table for PROC SHAPLEY to use\",\"help\":\"DATA=*libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"REFERENCEDATA=\",\"description\":\"specifies the input reference data table\",\"help\":\"REFERENCEDATA=*libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"IMPUTE=\",\"optional\":true,\"description\":\"specifies the method to use for imputing the missing observations\",\"help\":\"IMPUTE=MEAN | NONE | WEIGHTEDMEAN\",\"type\":\"choice\"},{\"name\":\"LOGLEVEL=\",\"optional\":true,\"description\":\"controls the quantity and type of notes to print to the client log\",\"help\":\"LOGLEVEL=0 | 1 | 2\",\"type\":\"choice\"}]},{\"name\":\"ASTOREMODEL\",\"description\":\"names an analytic store that contains the model to explain\",\"help\":\"ASTOREMODEL  RSTORE=*libref.data-table*;                                              \",\"arguments\":[{\"name\":\"RSTORE=\",\"description\":\"specifies the analytic store that contains the model to explain\",\"help\":\"RSTORE=*libref.data-table*\",\"type\":\"dataSet\"}]},{\"name\":\"CODE\",\"description\":\"names the DATA step code that describes the model or the DS2 code that is used along with an analytic store that you specify in the ASTOREMODEL statement\",\"help\":\"CODE  FILE=*filename* | TABLE=*libref.data-table*;                                              \",\"arguments\":[{\"name\":\"FILE=\",\"optional\":true,\"description\":\"names the external file that contains the DATA step code that describes the model or the DS2 code to be used along with an analytic store that you specify in the ASTOREMODEL statement\",\"help\":\"FILE=*filename*\",\"type\":\"value\"},{\"name\":\"TABLE=\",\"optional\":true,\"description\":\"names the data table that contains the DATA step code that describes the model or the DS2 code to be used along with an analytic store that you specify in the ASTOREMODEL statement\",\"help\":\"TABLE=*libref.data-table*\",\"type\":\"dataSet\"}]},{\"name\":\"FREQ\",\"description\":\"identifies a numeric variable in the input data table that contains the frequency of occurrence of each observation\",\"help\":\"FREQ  variable;                                              \"},{\"name\":\"INPUT\",\"description\":\"specifies one or more variables as input variables\",\"help\":\"INPUT  variables &lt;/ {LEVEL={INTERVAL | NOMINAL}} &gt;;                                              \",\"arguments\":[{\"name\":\"LEVEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the type of all the variables in the statement\",\"help\":\"LEVEL=INTERVAL | NOMINAL\",\"type\":\"choice\"}]},{\"name\":\"METHOD\",\"description\":\"specifies the method to use in the model explanations\",\"help\":\"METHOD *method-type*&lt;(*options*)&gt;;                                              \",\"arguments\":[{\"name\":\"DEPTH=\",\"optional\":true,\"description\":\"specifies the number of subsets to use in approximating the Shapley values\",\"help\":\"DEPTH={*number*}\",\"type\":\"value\"},{\"name\":\"BINWIDTH=\",\"optional\":true,\"description\":\"specifies the bin width (relative to the standard deviation) to use in creating the binary encoding for interval variables\",\"help\":\"BINWIDTH={*number*}\",\"type\":\"value\"},{\"name\":\"INCLUDEMISSING\",\"optional\":true,\"description\":\"treats missing values of nominal variables as a valid level\",\"type\":\"standalone\"},{\"name\":\"SAMPLESIZE=\",\"optional\":true,\"description\":\"specifies the approximate number of observations to generate\",\"help\":\"SAMPLESIZE=*number*\",\"type\":\"value\"},{\"name\":\"SEED=\",\"optional\":true,\"description\":\"specifies the seed value for pseudorandom number generation\",\"help\":\"SEED=*number*\",\"type\":\"value\"},{\"name\":\"USERAWDATA\",\"optional\":true,\"description\":\"uses the raw reference data to calculate Shapley values and skip generating data\",\"type\":\"standalone\"}]},{\"name\":\"PREDICTEDTARGET\",\"description\":\"names the variable that contains the model's predictions\",\"help\":\"PREDICTEDTARGET  variable;                                              \"},{\"name\":\"WEIGHT\",\"description\":\"variable is used to weight each observation to perform a weighted analysis of the data\",\"help\":\"WEIGHT  variable;                                              \"}]}"
  },
  {
    "path": "server/pubsdata/Procedures/en/SHEWHART.json",
    "content": "{\"name\":\"SHEWHART\",\"statements\":[{\"name\":\"PROC SHEWHART\",\"description\":\"displays many different types of statistical control charts, including all commonly used charts for variables and attributes.\",\"help\":\"PROC SHEWHART <options>;                 \\n\\tBY  variables </ options>;                 \\n\\n\\tID variables;                 \\n\\n\\tBOXCHART  (processes) * subgroup-variable<(block-variables)><=symbol-variable | ='character'></ options>;                 \\n\\n\\tCCHART  (processes) * subgroup-variable<(block-variables)><=symbol-variable | ='character'></ options>;                 \\n\\n\\tIRCHART  (processes) * subgroup-variable<(block-variables)><=symbol-variable | ='character'></ options>;                 \\n\\n\\tMCHART  (processes) * subgroup-variable<(block-variables)><=symbol-variable | ='character'></ options>;                 \\n\\n\\tMRCHART  (processes) * subgroup-variable<(block-variables)><=symbol-variable | ='character'></ options>;                 \\n\\n\\tNPCHART  (processes) * subgroup-variable<(block-variables)><=symbol-variable | ='character'></ options>;                 \\n\\n\\tPCHART  (processes) * subgroup-variable<(block-variables)><=symbol-variable | ='character'></ options>;                 \\n\\n\\tRCHART  (processes) * subgroup-variable<(block-variables)><=symbol-variable | ='character'></ options>;                 \\n\\n\\tSCHART  (processes) * subgroup-variable<(block-variables)><=symbol-variable | ='character'></ options>;                 \\n\\n\\tUCHART  (processes) * subgroup-variable<(block-variables)><=symbol-variable | ='character'></ options>;                 \\n\\n\\tXCHART  (processes) * subgroup-variable<(block-variables)><=symbol-variable | ='character'></ options>;                 \\n\\n\\tXRCHART  (processes) * subgroup-variable<(block-variables)><=symbol-variable | ='character'></ options>;                 \\n\\n\\tXSCHART  (processes) * subgroup-variable<(block-variables) <=symbol-variable | ='character'></ options>>;                 \\n\\n\\tINSET keywords</ options>;                 \\n\\n\\tINSET2 keyword-list</ options>;                 \\n\",\"arguments\":[{\"name\":\"ANNOTATE=\",\"optional\":true,\"aliases\":[\"ANNO=\"],\"description\":\"specifies an input data set containing annotate information for the primary chart when using traditional graphics\",\"help\":\"ANNOTATE=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"ANNOTATE2=\",\"optional\":true,\"aliases\":[\"ANNO2=\"],\"description\":\"specifies an input data set containing annotate information for the secondary chart when using traditional graphics\",\"help\":\"ANNOTATE2=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"BOX=\",\"optional\":true,\"description\":\"names an input data set that contains subgroup summary statistics, control limits, and outlier values in \\\"strung out\\\" form, with more than one observation per subgroup\",\"help\":\"BOX=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"DATA=\",\"optional\":true,\"description\":\"names an input data set that contains raw data as observations\",\"help\":\"DATA=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"GOUT=\",\"optional\":true,\"description\":\"specifies the graphics catalog for traditional graphics output\",\"help\":\"GOUT=*graphics-catalog*\",\"type\":\"dataSet\"},{\"name\":\"HISTORY=\",\"optional\":true,\"aliases\":[\"HIST=\"],\"description\":\"names an input data set that contains subgroup summary statistics\",\"help\":\"HISTORY=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"LIMITS=\",\"optional\":true,\"description\":\"names an input data set that contains preestablished control limits or the parameters from which control limits can be computed\",\"help\":\"LIMITS=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"TABLE=\",\"optional\":true,\"description\":\"names an input data set that contains subgroup summary statistics and control limits\",\"help\":\"TABLE=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"TESTHTML=\",\"optional\":true,\"description\":\"names an input data set for creating links associated with tests for special causes when traditional graphics output is directed into HTML\",\"help\":\"TESTHTML=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"TESTURLS=\",\"optional\":true,\"description\":\"names an input data set for associating URLs with tests for special causes when ODS Graphics output is directed into HTML\",\"help\":\"TESTURLS=*SAS-data-set*\",\"type\":\"dataSet\"}]},{\"name\":\"BY\",\"description\":\"obtains separate analyses of observations in groups that are defined by the BY variables\",\"help\":\"BY  variables &lt;/ options&gt;;                                              \",\"arguments\":[{\"name\":\"NOTSORTED\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"states that the data are arranged in groups that are not necessarily in alphabetical or increasing numeric order\",\"type\":\"standalone\"},{\"name\":\"DESCENDING\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"states that the data are sorted in descending order\",\"type\":\"standalone\"}]},{\"name\":\"ID\",\"description\":\"specifies variables used to identify observations\",\"help\":\"ID *variables*;                                              \"},{\"name\":\"BOXCHART\",\"description\":\"creates an X-bar chart for subgroup means superimposed with box-and-whisker plots of the measurements in each subgroup\",\"help\":\"BOXCHART  (processes) * subgroup-variable<(block-variables)><=symbol-variable | ='character'></ options>;                                              \\nprocess is the name of the variable containing the raw measurements, or the common prefix of the summary variables in the HISTORY= data set, or the value of the variable _VAR_ in the TABLE= data set                     \\nsubgroup-variable is the variable that identifies subgroups in the data                     \\nblock-variables are optional variables that group the data into blocks of consecutive subgroups                     \\nsymbol-variable is an optional variable whose levels (unique values) determine the symbol marker that is used to plot the means                     \\ncharacter specifies a character that is used to plot the means for traditional graphics                     \",\"arguments\":[{\"name\":\"ALLLABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"labels every point on the primary chart with the value plotted for that subgroup or with the value of variable in the input data set\",\"help\":\"ALLLABEL=VALUE | (*variable*)\",\"type\":\"value\"},{\"name\":\"ALLLABEL2=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"labels every point on an R, s, or trend chart with the value plotted for that subgroup or with the value of variable in the input data set\",\"help\":\"ALLLABEL2=VALUE | (*variable*)\",\"type\":\"value\"},{\"name\":\"ALLN\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"plots summary statistics for all subgroups, regardless of whether the subgroup sample size equals the nominal control limit sample size n specified by the LIMITN= option or the variable _LIMITN_ in the LIMITS= data set\",\"type\":\"standalone\"},{\"name\":\"ALPHA=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"requests α probability limits instead of 3σ control limits\",\"help\":\"ALPHA=*value*\",\"type\":\"value\"},{\"name\":\"BLOCKLABELPOS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the position of a block-variable label in the block legend\",\"help\":\"BLOCKLABELPOS=ABOVE | LEFT | RIGHT\",\"type\":\"choice\"},{\"name\":\"BLOCKLABTYPE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies how lengthy block variable values are treated when there is insufficient space to display them in the block legend\",\"help\":\"BLOCKLABTYPE=SCALED | TRUNCATED | ROTATE | ROTATEALL | *height*\",\"type\":\"value\"},{\"name\":\"BLOCKPOS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the vertical position of the legend for the values of the block-variables\",\"help\":\"BLOCKPOS=*n*\",\"type\":\"value\"},{\"name\":\"BLOCKREP\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that block variable values for all subgroups are to be displayed\",\"type\":\"standalone\"},{\"name\":\"BLOCKVAR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies variables whose values are used to assign colors for filling the background of the legend associated with block variables\",\"help\":\"BLOCKVAR=*variable* | (*variable-list*)\",\"type\":\"value\"},{\"name\":\"BOXCONNECT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that the points representing subgroup means, medians, maximum values, minimum values, first quartiles or third quartiles in box-and-whisker plots are to be connected\",\"help\":\"BOXCONNECT&lt;=MEAN | MEDIAN | MAX | MIN | Q1 | Q3&gt;\",\"type\":\"standaloneOrValue\"},{\"name\":\"BOXES=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a variable whose values are used to assign colors for the outlines of box-and-whiskers plots\",\"help\":\"BOXES=*variable*\",\"type\":\"value\"},{\"name\":\"BOXFILL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies how box-and-whisker plots are filled with colors from the ODS style\",\"help\":\"BOXFILL=*variable* | NONE | EMPTY\",\"type\":\"value\"},{\"name\":\"BOXSTYLE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the style of the box-and-whisker plots that are displayed for subgroup samples\",\"help\":\"BOXSTYLE=*keyword*\",\"type\":\"value\",\"arguments\":[{\"name\":\"SKELETAL\",\"followsDelimiter\":\"/\",\"description\":\"draws whiskers to the extreme values of the subgroup\",\"type\":\"standalone\"},{\"name\":\"SCHEMATIC\",\"followsDelimiter\":\"/\",\"description\":\"draws whisker to the most extreme value within or equal to the lower/upper fence\",\"type\":\"standalone\"},{\"name\":\"SCHEMATICID\",\"followsDelimiter\":\"/\",\"description\":\"labels outliers in schematic box-and-whisker plot\",\"type\":\"standalone\"},{\"name\":\"SCHEMATICIDFAR\",\"followsDelimiter\":\"/\",\"description\":\"labels far outliers in schematic box-and-whisker plot\",\"type\":\"standalone\"},{\"name\":\"POINTS\",\"followsDelimiter\":\"/\",\"description\":\"plots the values in a subgroup as points\",\"type\":\"standalone\"},{\"name\":\"POINTSJOIN\",\"followsDelimiter\":\"/\",\"description\":\"plots the values in a subgroup as points joined with a vertical line\",\"type\":\"standalone\"},{\"name\":\"POINTSBOX\",\"followsDelimiter\":\"/\",\"description\":\"plots the values in a subgroup as points enclosed in a box\",\"type\":\"standalone\"},{\"name\":\"POINTSID\",\"followsDelimiter\":\"/\",\"description\":\"labels the points plotted in a subgroup\",\"type\":\"standalone\"},{\"name\":\"POINTSJOINID\",\"followsDelimiter\":\"/\",\"description\":\"labels the points plotted in a subgroup joined by a vertical line\",\"type\":\"standalone\"},{\"name\":\"POINTSSCHEMATIC\",\"followsDelimiter\":\"/\",\"description\":\"plots the values in a subgroup as points overlaid with a schematic box chart\",\"type\":\"standalone\"}]},{\"name\":\"BOXWIDTH=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the width of box-and-whisker plots created with the BOXCHART statement\",\"help\":\"BOXWIDTH=*value*\",\"type\":\"value\"},{\"name\":\"BOXWIDTHSCALE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that the widths of box-and-whisker plots are to vary according to a particular function of the subgroup sample size n\",\"help\":\"BOXWIDTHSCALE=*value*\",\"type\":\"value\"},{\"name\":\"CFRAMELAB=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"CFRAMELAB\"],\"description\":\"specifies the color for filling rectangles that frame the point labels displayed with the ALLLABEL=, ALLLABEL2=, OUTLABEL=, and OUTLABEL2= options\",\"help\":\"CFRAMELAB=*color*\",\"type\":\"color\"},{\"name\":\"CIINDICES\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"requests capability index confidence limits based on subgroup summary data, calculated using \\\"effective degrees of freedom\\\"\",\"help\":\"CIINDICES &lt;(&lt;TYPE=*keyword*&gt;&lt;ALPHA=*value*&gt;)&gt;\",\"type\":\"standaloneOrValue\",\"arguments\":[{\"name\":\"TYPE=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the type of confidence limit\",\"help\":\"TYPE=LOWER | UPPER | TWOSIDED\",\"type\":\"choice\"},{\"name\":\"ALPHA=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the default confidence level to compute confidence limits\",\"help\":\"ALPHA=*value*\",\"type\":\"value\"}]},{\"name\":\"CINFILL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the color for the area inside the upper and lower control limits\",\"help\":\"CINFILL=*color* | EMPTY | NONE\",\"type\":\"color\"},{\"name\":\"CLIPFACTOR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"requests clipping of extreme points on the control chart\",\"help\":\"CLIPFACTOR=*factor*\",\"type\":\"value\"},{\"name\":\"CLIPLEGEND=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the label for the legend that indicates the number of clipped points when the CLIPFACTOR= option is used\",\"help\":\"CLIPLEGEND='*label*'\",\"type\":\"value\"},{\"name\":\"CLIPSUBCHAR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a substitution character (such as #) for the label provided with the CLIPLEGEND= option\",\"help\":\"CLIPSUBCHAR='*character*'\",\"type\":\"value\"},{\"name\":\"CONTROLSTAT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies whether the control limits displayed in a box chart are computed for subgroup means or for subgroup medians\",\"help\":\"CONTROLSTAT=MEAN | MEDIAN\",\"type\":\"choice\"},{\"name\":\"COUT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the color for the plotting symbols and the portions of connecting line segments that lie outside the control limits\",\"help\":\"COUT&lt;=*color*&gt;\",\"type\":\"standaloneOrValue\"},{\"name\":\"CPHASEBOX\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"PHASEBOX\"],\"description\":\"specifies the color for a box that encloses all of the plotted points for a phase (group of consecutive observations that have the same value of the variable _PHASE_)\",\"help\":\"CPHASEBOX&lt;=*color*&gt;\",\"type\":\"standaloneOrValue\"},{\"name\":\"CPHASEBOXCONNECT\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"PHASEBOXCONNECT\"],\"description\":\"specifies the color for line segments that connect the vertical edges of adjacent enclosing boxes requested with the CPHASEBOX= option or the CPHASEBOXFILL= option\",\"help\":\"CPHASEBOXCONNECT&lt;=*color*&gt;\",\"type\":\"standaloneOrValue\"},{\"name\":\"CPHASEBOXFILL\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"PHASEBOXFILL\"],\"description\":\"specifies the fill color for a box that encloses all of the plotted points for a phase\",\"help\":\"CPHASEBOXFILL&lt;=*color*&gt;\",\"type\":\"standaloneOrValue\"},{\"name\":\"CPHASEMEANCONNECT\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"PHASEMEANCONNECT\"],\"description\":\"specifies the color for line segments that connect points representing the average of the values plotted within a phase\",\"help\":\"CPHASEMEANCONNECT&lt;=*color*&gt;\",\"type\":\"standaloneOrValue\"},{\"name\":\"DISCRETE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that numeric subgroup variable values be treated as discrete values, so that each tick value on the default subgroup axis corresponds to a unique subgroup variable value\",\"type\":\"standalone\"},{\"name\":\"EXCHART\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"creates a control chart only when exceptions occur, specifically, when the control limits are exceeded or when any of the tests requested with the TESTS= option or the TESTS2= option are positive\",\"type\":\"standalone\"},{\"name\":\"FRONTREF\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"draws reference lines specified with the HREF= and VREF= options in front of box-and-whiskers plots\",\"type\":\"standalone\"},{\"name\":\"GRID\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"adds a grid to the control chart\",\"type\":\"standalone\"},{\"name\":\"HAXIS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies tick mark values for the horizontal (subgroup) axis\",\"help\":\"HAXIS=*values* | AXIS*n*\",\"type\":\"value\"},{\"name\":\"HOFFSET=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the length of the offset at each end of the horizontal axis\",\"help\":\"HOFFSET=*value*\",\"type\":\"value\"},{\"name\":\"HREF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"draws reference lines perpendicular to the horizontal (subgroup) axis on the primary chart\",\"help\":\"HREF=*values*\",\"type\":\"value\"},{\"name\":\"HREF2=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"draws reference lines perpendicular to the horizontal (subgroup) axis on the secondary chart\",\"help\":\"HREF2=*values*\",\"type\":\"value\"},{\"name\":\"HREF2DATA=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"draws reference lines perpendicular to the horizontal (subgroup) axis on the secondary chart\",\"help\":\"HREF2DATA=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"HREF2LABELS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies labels for the reference lines requested by the HREF2= option\",\"help\":\"HREF2LABELS='*label1*'...'*labeln*'\",\"type\":\"value\"},{\"name\":\"HREFDATA=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"draws reference lines perpendicular to the horizontal (subgroup) axis on the primary chart\",\"help\":\"HREFDATA=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"HREFLABELS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies labels for the reference lines requested by the HREF= option\",\"help\":\"HREFLABELS='*label1*'...'*labeln*'\",\"type\":\"value\"},{\"name\":\"HREFLABPOS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the vertical position of the HREFLABEL= and HREF2LABEL= labels\",\"help\":\"HREFLABPOS=*n*\",\"type\":\"value\",\"arguments\":[{\"name\":\"1\",\"followsDelimiter\":\"/\",\"description\":\"positions along top of subplot area\",\"type\":\"standalone\"},{\"name\":\"2\",\"followsDelimiter\":\"/\",\"description\":\"staggers from top to bottom of subplot area\",\"type\":\"standalone\"},{\"name\":\"3\",\"followsDelimiter\":\"/\",\"description\":\"positions along bottom of subplot area\",\"type\":\"standalone\"},{\"name\":\"4\",\"followsDelimiter\":\"/\",\"description\":\"staggers from bottom to top of subplot area\",\"type\":\"standalone\"}]},{\"name\":\"INDEPENDENTZONES\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"INDEPZONES\"],\"description\":\"specifies that the widths of the zones requested with the ZONES option be computed independently above and below the center line of the chart, so that the width of each zone is one-third of the difference between the process mean and the control limit on its side of the chart\",\"type\":\"standalone\"},{\"name\":\"INTERVAL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the natural time interval between consecutive subgroup positions when a time, date, or datetime format is associated with a numeric subgroup variable\",\"help\":\"INTERVAL=DAY | DTDAY | HOUR | MINUTE | MONTH | QTR | SECOND\",\"type\":\"choice\"},{\"name\":\"INTSTART=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the starting value for a numeric horizontal axis, when a date, time, or datetime format is associated with the subgroup variable\",\"help\":\"INTSTART=*value*\",\"type\":\"value\"},{\"name\":\"LCLLABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a label for the lower control limit in the primary chart\",\"help\":\"LCLLABEL='*label*'\",\"type\":\"value\"},{\"name\":\"LIMITN=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies either a fixed or varying nominal sample size for the control limits\",\"help\":\"LIMITN=*n* | VARYING\",\"type\":\"value\"},{\"name\":\"LIMLABSUBCHAR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a substitution character (such as #) for labels provided as quoted strings with the LCLLABEL=, LCLLABEL2=, UCLLABEL=, UCLLABEL2=, CSYMBOL=, NPSYMBOL=, PSYMBOL=, RSYMBOL=, SSYMBOL=, USYMBOL=, and XSYMBOL= options\",\"help\":\"LIMLABSUBCHAR='*character*'\",\"type\":\"value\"},{\"name\":\"LSL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"provides lower specification limits used to compute capability indices\",\"help\":\"LSL=*value-list*\",\"type\":\"value\"},{\"name\":\"MAXPANELS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the maximum number of pages or screens for a chart\",\"help\":\"MAXPANELS=*n*\",\"type\":\"value\"},{\"name\":\"MEDCENTRAL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"identifies a method for estimating the process mean μ, which is represented by the central line on a median chart\",\"help\":\"MEDCENTRAL=AVGMEAN | AVGMED | MEDMED\",\"type\":\"choice\",\"arguments\":[{\"name\":\"AVGMEAN\",\"followsDelimiter\":\"/\",\"description\":\"uses the average of subgroup means\",\"type\":\"standalone\"},{\"name\":\"AVGMED\",\"followsDelimiter\":\"/\",\"description\":\"uses the average of subgroup medians\",\"type\":\"standalone\"},{\"name\":\"MEDMED\",\"followsDelimiter\":\"/\",\"description\":\"uses the median of subgroup medians\",\"type\":\"standalone\"}]},{\"name\":\"MISSBREAK\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"determines how subgroups are formed when observations are read from a DATA= data set and a character subgroup-variable is provided\",\"type\":\"standalone\"},{\"name\":\"MU0=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a known (standard) value μ0 for the process mean μ\",\"help\":\"MU0=*value*\",\"type\":\"value\"},{\"name\":\"NDECIMAL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the number of decimal digits in the default labels for the control limits and the central line in the primary chart\",\"help\":\"NDECIMAL=*n*\",\"type\":\"value\"},{\"name\":\"NMARKERS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"identifies a plotted subgroup summary statistic with a special symbol marker (character) when the corresponding subgroup sample size is not equal to the nominal control limit sample size n\",\"type\":\"standalone\"},{\"name\":\"NO3SIGMACHECK\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses the check for 3σ limits when tests for special causes are requested\",\"type\":\"standalone\"},{\"name\":\"NOBYREF\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that the reference line information in an HREF=, HREF2=, VREF=, or VREF2= data set is to be applied uniformly to charts created for all the BY groups in the input data set (DATA=, HISTORY=, or TABLE=)\",\"type\":\"standalone\"},{\"name\":\"NOCHART\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses the creation of the chart\",\"type\":\"standalone\"},{\"name\":\"NOCONNECT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses line segments that connect points on the chart\",\"type\":\"standalone\"},{\"name\":\"NOCTL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses the display of the central line in a primary chart\",\"type\":\"standalone\"},{\"name\":\"NOHLABEL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses the label for the horizontal (subgroup) axis\",\"type\":\"standalone\"},{\"name\":\"NOLCL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses the display of the lower control limit in a primary chart\",\"type\":\"standalone\"},{\"name\":\"NOLEGEND\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses the default legend for subgroup sample sizes, which appears by default below the chart\",\"type\":\"standalone\"},{\"name\":\"NOLIMITLABEL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses the default labels for the control limits and central lines\",\"type\":\"standalone\"},{\"name\":\"NOLIMITS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses the display of control limits\",\"type\":\"standalone\"},{\"name\":\"NOLIMITSLEGEND\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses the legend for the control limits, which appears by default in the upper right corner of the chart\",\"type\":\"standalone\"},{\"name\":\"NOOVERLAYLEGEND\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses the legend for overlay variables which is displayed by default when the OVERLAY= or OVERLAY2= option is specified\",\"type\":\"standalone\"},{\"name\":\"NOREADLIMITS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that the control limits for each process listed in the chart statement not be read from the LIMITS= data set specified in the PROC SHEWHART statement\",\"type\":\"standalone\"},{\"name\":\"NOTCHES\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that box-and-whisker plots created by the BOXCHART statement be notched\",\"type\":\"standalone\"},{\"name\":\"NOTESTACROSS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that tests for special causes requested with the TESTS= or TESTS2= options not be applied across the boundaries of phases (blocks of consecutive subgroups) determined by the READPHASES= option and the variable _PHASE_ in the input data set\",\"type\":\"standalone\"},{\"name\":\"NOTICKREP\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"applies to character-valued subgroup-variables and specifies that only the first occurrence of repeated, adjacent subgroup values is to be labeled on the horizontal axis\",\"type\":\"standalone\"},{\"name\":\"NOTRENDCONNECT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses line segments that connect points on a trend chart when the TRENDVAR= option is used\",\"type\":\"standalone\"},{\"name\":\"NOUCL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses the display of the upper control limit in a primary chart\",\"type\":\"standalone\"},{\"name\":\"NPANELPOS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the number of subgroup positions per panel on each chart\",\"help\":\"NPANELPOS=*n*\",\"type\":\"value\"},{\"name\":\"OUTBOX=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"creates an output data set that contains subgroup summary statistics, control limits, and outlier values for a box chart\",\"help\":\"OUTBOX=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"OUTFILL\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"COUTFILL\"],\"description\":\"fills the areas outside the control limits that lie between the connected points and the control limits and are bounded by connecting lines\",\"type\":\"standalone\"},{\"name\":\"OUTHISTORY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"creates an output data set that contains the subgroup summary statistics\",\"help\":\"OUTHISTORY=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"OUTINDEX=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the value of the _INDEX_ variable in the OUTLIMITS= output data set\",\"help\":\"OUTINDEX='*label*'\",\"type\":\"value\"},{\"name\":\"OUTLABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"labels each point that falls outside the control limits on the primary chart with the value plotted for that subgroup or with the value of variable in the input data set\",\"help\":\"OUTLABEL=VALUE | (*variable*)\",\"type\":\"value\"},{\"name\":\"OUTLIMITS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"creates an output data set that saves the control limits\",\"help\":\"OUTLIMITS=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"OUTPHASE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the value of the _PHASE_ variable in the OUTHISTORY= data set\",\"help\":\"OUTPHASE='*label*'\",\"type\":\"value\"},{\"name\":\"OUTTABLE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"creates an output SAS data set that saves the information plotted on the chart, including the subgroup variable values and their corresponding summary statistics and control limits\",\"help\":\"OUTTABLE=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"OVERLAY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies variables to be overlaid on the primary control chart\",\"help\":\"OVERLAY=(*variable-list*)\",\"type\":\"value\"},{\"name\":\"OVERLAY2=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies variables to be overlaid on a secondary control chart\",\"help\":\"OVERLAY2=(*variable-list*)\",\"type\":\"value\"},{\"name\":\"OVERLAY2ID=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies variables whose formatted values are used to label points on secondary chart overlays\",\"help\":\"OVERLAY2ID=(*variable-list*)\",\"type\":\"value\"},{\"name\":\"OVERLAYID=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies variables whose formatted values are used to label points on primary chart overlays\",\"help\":\"OVERLAYID=(*variable-list*)\",\"type\":\"value\"},{\"name\":\"OVERLAYLEGLAB=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the label displayed to the left of the legend for overlays requested with the OVERLAY= or OVERLAY2= option\",\"help\":\"OVERLAYLEGLAB='*label*'\",\"type\":\"value\"},{\"name\":\"PAGENUM=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the form of the label used for pagination; for example, 'Page #' or 'Page # of #'\",\"help\":\"PAGENUM='*string*'\",\"type\":\"value\"},{\"name\":\"PAGENUMPOS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies where to position the page number requested with the PAGENUM= option\",\"help\":\"PAGENUMPOS=TL | TR | BL | BR | TL100 | TR100 | BL0 | BR0\",\"type\":\"choice\",\"arguments\":[{\"name\":\"TL\",\"followsDelimiter\":\"/\",\"description\":\"specifies the top left\",\"type\":\"standalone\"},{\"name\":\"TR\",\"followsDelimiter\":\"/\",\"description\":\"specifies the top right\",\"type\":\"standalone\"},{\"name\":\"BL\",\"followsDelimiter\":\"/\",\"description\":\"specifies the bottom left\",\"type\":\"standalone\"},{\"name\":\"BR\",\"followsDelimiter\":\"/\",\"description\":\"specifies the bottom right\",\"type\":\"standalone\"},{\"name\":\"TL100\",\"followsDelimiter\":\"/\",\"description\":\"specifies the very top left\",\"type\":\"standalone\"},{\"name\":\"TR100\",\"followsDelimiter\":\"/\",\"description\":\"specifies the very top right\",\"type\":\"standalone\"},{\"name\":\"BL0\",\"followsDelimiter\":\"/\",\"description\":\"specifies the very bottom left\",\"type\":\"standalone\"},{\"name\":\"BR0\",\"followsDelimiter\":\"/\",\"description\":\"specifies the very bottom right\",\"type\":\"standalone\"}]},{\"name\":\"PCTLDEF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies one of five definitions used to calculate percentiles in the construction of box-and-whisker plots\",\"help\":\"PCTLDEF=1 | 2 | 3 | 4 | 5\",\"type\":\"choice\",\"arguments\":[{\"name\":\"1\",\"followsDelimiter\":\"/\",\"description\":\"uses the weighted average of observations numbered bordering np\",\"type\":\"standalone\"},{\"name\":\"2\",\"followsDelimiter\":\"/\",\"description\":\"uses the observation numbered closest to np\",\"type\":\"standalone\"},{\"name\":\"3\",\"followsDelimiter\":\"/\",\"description\":\"uses the empirical distribution function for the observation numbered at CEIL(np)\",\"type\":\"standalone\"},{\"name\":\"4\",\"followsDelimiter\":\"/\",\"description\":\"uses the weighted average aimed at p(n+1)\",\"type\":\"standalone\"},{\"name\":\"5\",\"followsDelimiter\":\"/\",\"description\":\"uses empirical distribution function with averaging\",\"type\":\"standalone\"}]},{\"name\":\"PHASEBREAK\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that the last point in a phase (defined as a block of consecutive subgroups with the same value of the _PHASE_ variable) is not to be connected to the first point in the next phase\",\"type\":\"standalone\"},{\"name\":\"PHASELABTYPE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies how lengthy _PHASE_ variable values are displayed when there is insufficient space in the legend requested with the PHASELEGEND option\",\"help\":\"PHASELABTYPE=SCALED | TRUNCATED | *height*\",\"type\":\"value\"},{\"name\":\"PHASELEGEND\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"identifies the phases requested with the READPHASES= option in a legend across the top of the chart\",\"type\":\"standalone\"},{\"name\":\"PHASELIMITS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that the control limits and center line be labeled for each phase specified with the READPHASES= option, providing the limits are constant within that phase\",\"type\":\"standalone\"},{\"name\":\"PHASEMEANSYMBOL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a symbol marker for the average of the values plotted within a phase\",\"help\":\"PHASEMEANSYMBOL=*symbol*\",\"type\":\"value\"},{\"name\":\"PHASEREF\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"delineates the phases specified with the READPHASES= option with reference lines drawn vertically\",\"type\":\"standalone\"},{\"name\":\"PHASEVARLABEL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"displays the label associated with the variable _PHASE_ above the phase values in the phase legend\",\"type\":\"standalone\"},{\"name\":\"PHASEVALSEP\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"displays vertical lines separating phase values in the phase legend\",\"type\":\"standalone\"},{\"name\":\"RANGES\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"estimates the process standard deviation for a boxplot using subgroup ranges\",\"type\":\"standalone\"},{\"name\":\"READALPHA\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that the variable _ALPHA_, rather than the variable _SIGMAS_, be read from a LIMITS= data set when both variables are available in the data set\",\"type\":\"standalone\"},{\"name\":\"READINDEX=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"reads one or more sets of control limits from a LIMITS= data set (specified in the PROC SHEWHART statement) for each process listed in the chart statement\",\"help\":\"READINDEX=*value-list* | ALL\",\"type\":\"value\"},{\"name\":\"READPHASES=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"selects blocks of consecutive observations to be read from the input data set\",\"help\":\"READPHASES=*value-list* | ALL\",\"type\":\"value\"},{\"name\":\"REPEAT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that the horizontal axis of a chart that spans multiple pages be arranged so that the last subgroup position on a page is repeated as the first subgroup position on the next page\",\"type\":\"standalone\"},{\"name\":\"SERIFS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"adds serifs to the whiskers of skeletal box-and-whisker charts\",\"type\":\"standalone\"},{\"name\":\"SIGMA0=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a known (standard) value σ0 for the process standard deviation σ\",\"help\":\"SIGMA0=*value*\",\"type\":\"value\"},{\"name\":\"SIGMAS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the width of the control limits in terms of the multiple k of the standard error of the mean or median statistic plotted on the chart\",\"help\":\"SIGMAS=*k*\",\"type\":\"value\"},{\"name\":\"SKIPHLABELS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the number n of consecutive tick mark labels, beginning with the second tick mark label, that are thinned (not displayed) on the horizontal (subgroup) axis\",\"help\":\"SKIPHLABELS=*n*\",\"type\":\"value\"},{\"name\":\"SMETHOD=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a method for estimating the process standard deviation, σ\",\"help\":\"SMETHOD=NOWEIGHT | MVLUE | RMSDF \",\"type\":\"choice\",\"arguments\":[{\"name\":\"NOWEIGHT\",\"followsDelimiter\":\"/\",\"description\":\"estimates σ as an unweighted average of unbiased subgroup estimates of σ\",\"type\":\"standalone\"},{\"name\":\"MVLUE\",\"followsDelimiter\":\"/\",\"description\":\"calculates a minimum variance linear unbiased estimate for σ\",\"type\":\"standalone\"},{\"name\":\"RMSDF\",\"followsDelimiter\":\"/\",\"description\":\"calculates a root-mean square estimate for σ\",\"type\":\"standalone\"}]},{\"name\":\"SPLIT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a special character that is inserted into the label of a process variable or summary statistic variable and whose purpose is to split the label into two parts\",\"help\":\"SPLIT='*character*'\",\"type\":\"value\"},{\"name\":\"SYMBOLLEGEND=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"controls the legend for the levels of a symbol-variable\",\"help\":\"SYMBOLLEGEND=LEGENDn | NONE\",\"type\":\"choice\"},{\"name\":\"SYMBOLORDER=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the order in which symbols are assigned for levels of symbol-variable\",\"help\":\"SYMBOLORDER=DATA | INTERNAL | FORMATTED\",\"type\":\"choice\"},{\"name\":\"TABLES\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"creates a basic table of the subgroup values, the subgroup sample sizes, the subgroup summary statistics, and the upper and lower control limits\",\"help\":\"TABLES &lt;(EXCEPTIONS)&gt;\",\"type\":\"standaloneOrValue\"},{\"name\":\"TABLEALL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"tabulates all the information about the control chart\",\"help\":\"TABLEALL &lt;(EXCEPTIONS)&gt;\",\"type\":\"standaloneOrValue\"},{\"name\":\"TABLEBOX\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"augments the basic table created by the TABLES option with columns for the minimum, 25th percentile, median, 75th percentile, and maximum of the observations in a subgroup\",\"help\":\"TABLEBOX &lt;(EXCEPTIONS)&gt;\",\"type\":\"standaloneOrValue\"},{\"name\":\"TABLECENTRAL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"augments the basic table created by the TABLES option with columns for the values of the central lines\",\"help\":\"TABLECENTRAL &lt;(EXCEPTIONS)&gt;\",\"type\":\"standaloneOrValue\"},{\"name\":\"TABLEID\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"augments the basic table created by the TABLES option with a column for each of the ID variables\",\"help\":\"TABLEID &lt;(EXCEPTIONS)&gt;\",\"type\":\"standaloneOrValue\"},{\"name\":\"TABLELEGEND\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"adds a legend to the basic table created by the TABLE option\",\"help\":\"TABLELEGEND &lt;(EXCEPTIONS)&gt;\",\"type\":\"standaloneOrValue\"},{\"name\":\"TABLEOUTLIM\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"augments the basic table created by the TABLE option with columns indicating which control limits (if any) are exceeded\",\"help\":\"TABLEOUTLIM &lt;(EXCEPTIONS)&gt;\",\"type\":\"standaloneOrValue\"},{\"name\":\"TABLETESTS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"augments the basic table created by the TABLES option with a column that indicates which of the tests for special causes (requested with the TESTS= option) are positive\",\"help\":\"TABLETESTS &lt;(EXCEPTIONS)&gt;\",\"type\":\"standaloneOrValue\"},{\"name\":\"TARGET=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"provides target values used to compute the capability index Cpm, which is saved in the OUTLIMITS= data set\",\"help\":\"TARGET=*value-list*\",\"type\":\"value\"},{\"name\":\"TEST2RESET=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"enables tests for special causes to be reset in a secondary chart\",\"help\":\"TEST2RESET=*variable* | *value*\",\"type\":\"value\"},{\"name\":\"TEST2RUN=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the length of the pattern for Test 2 requested with the TESTS= and TESTS2= options\",\"help\":\"TEST2RUN=7 | 8 | 9 | 11 | 14 | 20\",\"type\":\"choice\",\"arguments\":[{\"name\":\"7\",\"followsDelimiter\":\"/\",\"description\":\"specifies a run-length of 7 in a row on one side of the central line\",\"type\":\"standalone\"},{\"name\":\"8\",\"followsDelimiter\":\"/\",\"description\":\"specifies a run-length of 8 in a row on one side of the central line\",\"type\":\"standalone\"},{\"name\":\"9\",\"followsDelimiter\":\"/\",\"description\":\"specifies a run-length of 9 in a row on one side of the central line\",\"type\":\"standalone\"},{\"name\":\"11\",\"followsDelimiter\":\"/\",\"description\":\"specifies at least 10 out of 11 in a row on one side of the central line\",\"type\":\"standalone\"},{\"name\":\"14\",\"followsDelimiter\":\"/\",\"description\":\"specifies at least 12 out of 14 in a row on one side of the central line\",\"type\":\"standalone\"},{\"name\":\"20\",\"followsDelimiter\":\"/\",\"description\":\"specifies at least 16 out of 20 in a row on one side of the central line\",\"type\":\"standalone\"}]},{\"name\":\"TEST3RUN=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the length of the pattern for Test 3 requested with the TESTS= and TESTS2= options\",\"help\":\"TEST3RUN=6 | 7 | 8\",\"type\":\"choice\",\"arguments\":[{\"name\":\"6\",\"followsDelimiter\":\"/\",\"description\":\"searches for a pattern of steadily increasing or decreasing values with length at least 6\",\"type\":\"standalone\"},{\"name\":\"7\",\"followsDelimiter\":\"/\",\"description\":\"searches for a pattern of steadily increasing or decreasing values with length at least 7\",\"type\":\"standalone\"},{\"name\":\"8\",\"followsDelimiter\":\"/\",\"description\":\"searches for a pattern of steadily increasing or decreasing values with length at least 8\",\"type\":\"standalone\"}]},{\"name\":\"TESTACROSS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that tests for special causes requested with the TESTS= or TESTS2= options be applied without regard to phases (blocks of consecutive subgroups) determined by the READPHASES= option and the variable _PHASE_ in the input data set\",\"type\":\"standalone\"},{\"name\":\"TESTLABBOX\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"requests that labels for subgroups with positive tests for special causes are positioned so they do not overlap\",\"type\":\"standalone\"},{\"name\":\"TESTLABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"provides labels for points at which one of the tests for special causes (requested with the TESTS= or TESTS2= option) is positive\",\"help\":\"TESTLABEL='*label*' | (*variable*) | TESTINDEX | SPACE | NONE\",\"type\":\"value\"},{\"name\":\"TESTLABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a label for points at which the test for special causes requested with the index n in a TESTS= or TESTS2= list is positive\",\"help\":\"TESTLABEL*n*='*label*'\",\"type\":\"value\"},{\"name\":\"TESTNMETHOD=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"applies the tests for special causes requested with the TESTS= and TESTS2= options to standardized test statistics when the subgroup sample sizes are not constant\",\"help\":\"TESTNMETHOD=STANDARDIZE\",\"type\":\"value\"},{\"name\":\"TESTOVERLAP\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"applies tests for special causes (requested with the TESTS= or TESTS2= option) to overlapping patterns of points\",\"type\":\"standalone\"},{\"name\":\"TESTRESET=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"enables tests for special causes to be reset in a primary chart\",\"help\":\"TESTRESET=*variable* | *value*\",\"type\":\"value\"},{\"name\":\"TESTS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"requests one or more tests for special causes, which are also known as runs tests, pattern tests, and Western Electric rules\",\"help\":\"TESTS=*index-list*\",\"type\":\"value\",\"arguments\":[{\"name\":\"1\",\"followsDelimiter\":\"/\",\"description\":\"specifies one point beyond Zone A (outside the control limits)\",\"type\":\"standalone\"},{\"name\":\"2\",\"followsDelimiter\":\"/\",\"description\":\"specifies nine points in a row in Zone C or beyond on one side of the central line\",\"type\":\"standalone\"},{\"name\":\"3\",\"followsDelimiter\":\"/\",\"description\":\"specifies six points in a row steadily increasing\",\"type\":\"standalone\"},{\"name\":\"4\",\"followsDelimiter\":\"/\",\"description\":\"specifies fourteen points in a row alternating up and down\",\"type\":\"standalone\"},{\"name\":\"5\",\"followsDelimiter\":\"/\",\"description\":\"specifies two out of three points in a row in Zone A or beyond\",\"type\":\"standalone\"},{\"name\":\"6\",\"followsDelimiter\":\"/\",\"description\":\"specifies four out of five points in a row in Zone B or beyond\",\"type\":\"standalone\"},{\"name\":\"7\",\"followsDelimiter\":\"/\",\"description\":\"specifies fifteen points in a row in Zone C on either or both sides of the central line\",\"type\":\"standalone\"},{\"name\":\"8\",\"followsDelimiter\":\"/\",\"description\":\"specifies eight points in a row on either or both sides of the central line with no points in Zone C\",\"type\":\"standalone\"}]},{\"name\":\"TESTS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies customized tests for special causes for the primary control chart to search for k out of m points in a row in the interval (a,b)\",\"help\":\"TESTS=T(K=*k* M=*m* LOWER=*a* UPPER=*b* SCHEME=*scheme* CODE=*character* LABEL=*'label'* LEGEND=*'legend'*)\",\"type\":\"value\",\"arguments\":[{\"name\":\"K=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the number of points\",\"help\":\"K=*k*\",\"type\":\"value\"},{\"name\":\"M=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the number of consecutive points\",\"help\":\"M=*m*\",\"type\":\"value\"},{\"name\":\"LOWER=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the lower limit of interval (a,b)\",\"help\":\"LOWER=*value*\",\"type\":\"value\"},{\"name\":\"UPPER=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the upper limit of interval (a,b)\",\"help\":\"UPPER=*value*\",\"type\":\"value\"},{\"name\":\"SCHEME=\",\"followsDelimiter\":\"/\",\"description\":\"specifies a one-sided scheme using (a,b)\",\"help\":\"SCHEME=ONESIDED\",\"type\":\"value\"},{\"name\":\"SCHEME=\",\"followsDelimiter\":\"/\",\"description\":\"specifies a two-sided scheme using (a,b) union (-b,-a)\",\"help\":\"SCHEME=TWOSIDED\",\"type\":\"value\"},{\"name\":\"CODE=\",\"followsDelimiter\":\"/\",\"description\":\"specifies an identifier for test (A--H)\",\"help\":\"CODE=*character*\",\"type\":\"value\"},{\"name\":\"LABEL=\",\"followsDelimiter\":\"/\",\"description\":\"specifies a label for points if signal\",\"help\":\"LABEL=*'label'*\",\"type\":\"value\"},{\"name\":\"LEGEND=\",\"followsDelimiter\":\"/\",\"description\":\"specifies a legend used with the TABLELEGEND option\",\"help\":\"LEGEND=*'legend'*\",\"type\":\"value\"}]},{\"name\":\"TESTS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies customized tests for special causes for the primary control chart to search for k points in a row increasing or decreasing\",\"help\":\"TESTS=M(K=*k* DIR=*direction* CODE=*character* LABEL=*'label'* LEGEND=*'legend'*)\",\"type\":\"value\",\"arguments\":[{\"name\":\"K=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the number of points\",\"help\":\"K=*k*\",\"type\":\"value\"},{\"name\":\"DIR=\",\"followsDelimiter\":\"/\",\"description\":\"specifies an increasing pattern\",\"help\":\"DIR=INC\",\"type\":\"value\"},{\"name\":\"DIR=\",\"followsDelimiter\":\"/\",\"description\":\"specifies a decreasing pattern\",\"help\":\"DIR=DEC\",\"type\":\"value\"},{\"name\":\"CODE=\",\"followsDelimiter\":\"/\",\"description\":\"specifies an identifier for test (A--H)\",\"help\":\"CODE=*character*\",\"type\":\"value\"},{\"name\":\"LABEL=\",\"followsDelimiter\":\"/\",\"description\":\"specifies a label for points if signal\",\"help\":\"LABEL=*'label'*\",\"type\":\"value\"},{\"name\":\"LEGEND=\",\"followsDelimiter\":\"/\",\"description\":\"specifies a legend used with the TABLELEGEND option\",\"help\":\"LEGEND=*'legend'*\",\"type\":\"value\"}]},{\"name\":\"TESTS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies customized tests for special causes for the primary control chart to search for a statistically significant linear trend over a window of k points\",\"help\":\"TESTS=S(K=*k* CLEV=*α* FORM=*character* CODE=*character* LABEL=*'label'* LEGEND=*'legend'*)\",\"type\":\"value\",\"arguments\":[{\"name\":\"K=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the number of points in sliding window (k > 2)\",\"help\":\"K=*k*\",\"type\":\"value\"},{\"name\":\"CLEV=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the Type I (false positive) error rate (0 < α ≤ 0.5)\",\"help\":\"CLEV=*α*\",\"type\":\"value\"},{\"name\":\"FORM=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the type of trend test (P=parametric, N=nonparametric)\",\"help\":\"FORM=*character*\",\"type\":\"value\"},{\"name\":\"CODE=\",\"followsDelimiter\":\"/\",\"description\":\"specifies an identifier for test (A--H)\",\"help\":\"CODE=*character*\",\"type\":\"value\"},{\"name\":\"LABEL=\",\"followsDelimiter\":\"/\",\"description\":\"specifies a label for points if signal\",\"help\":\"LABEL=*'label'*\",\"type\":\"value\"},{\"name\":\"LEGEND=\",\"followsDelimiter\":\"/\",\"description\":\"specifies a legend used with the TABLELEGEND option\",\"help\":\"LEGEND=*'legend'*\",\"type\":\"value\"}]},{\"name\":\"TOTPANELS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the total number of panels to be used to display the chart\",\"help\":\"TOTPANELS=*n*\",\"type\":\"value\"},{\"name\":\"TRENDVAR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a list of trend variables, one for each process listed in the chart statement\",\"help\":\"TRENDVAR=*variable* | (*variable-list*)\",\"type\":\"value\"},{\"name\":\"TYPE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the value of the _TYPE_ variable in the OUTLIMITS= data set, which in turn indicates whether certain parameter variables in this data set represent estimates or standard (known) values\",\"help\":\"TYPE=ESTIMATE | STDMU | STDSIGMA | STANDARD\",\"type\":\"choice\"},{\"name\":\"UCLLABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a label for the upper control limit in the primary chart\",\"help\":\"UCLLABEL='*label*'\",\"type\":\"value\"},{\"name\":\"USL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"provides upper specification limits used to compute capability indices\",\"help\":\"USL=*value-list*\",\"type\":\"value\"},{\"name\":\"VAXIS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies major tick mark values for the vertical axis of a primary chart\",\"help\":\"VAXIS=*value-list* | AXIS*n*\",\"type\":\"value\"},{\"name\":\"VAXIS2=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies major tick mark values for the vertical axis of a secondary chart\",\"help\":\"VAXIS2=*value-list* | AXIS*n*\",\"type\":\"value\"},{\"name\":\"VFORMAT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a format to be used for displaying tick mark labels on the vertical axis of a primary chart\",\"help\":\"VFORMAT=*format*\",\"type\":\"value\"},{\"name\":\"VFORMAT2=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a format to be used for displaying tick mark labels on the vertical axis of a secondary chart\",\"help\":\"VFORMAT2=*format*\",\"type\":\"value\"},{\"name\":\"VOFFSET=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the length of the offset at each end of the vertical axis\",\"help\":\"VOFFSET=*value*\",\"type\":\"value\"},{\"name\":\"VREF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"draws reference lines perpendicular to the vertical axis on the primary chart\",\"help\":\"VREF=*value-list* | *SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"VREF2=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"draws reference lines perpendicular to the vertical axis on the secondary chart\",\"help\":\"VREF2=*value-list* | *SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"VREF2LABELS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies labels for the reference lines requested by the VREF2= option\",\"help\":\"VREF2LABELS='*label1*'...'*labeln*'\",\"type\":\"value\"},{\"name\":\"VREFLABELS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies labels for the reference lines requested by the VREF= option\",\"help\":\"VREFLABELS='*label1*'...'*labeln*'\",\"type\":\"value\"},{\"name\":\"VREFLABPOS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the horizontal position of the VREFLABELS= and VREF2LABELS= labels\",\"help\":\"VREFLABPOS=1 | 2 | 3\",\"type\":\"choice\",\"arguments\":[{\"name\":\"1\",\"followsDelimiter\":\"/\",\"description\":\"left-justifies in subplot area\",\"type\":\"standalone\"},{\"name\":\"2\",\"followsDelimiter\":\"/\",\"description\":\"right-justifies in subplot area\",\"type\":\"standalone\"},{\"name\":\"3\",\"followsDelimiter\":\"/\",\"description\":\"left-justifies in right margin\",\"type\":\"standalone\"}]},{\"name\":\"VZERO\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"forces the origin to be included in the vertical axis for a primary chart\",\"type\":\"standalone\"},{\"name\":\"VZERO2\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"forces the origin to be included in the vertical axis for a secondary chart\",\"type\":\"standalone\"},{\"name\":\"WESTGARD=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"requests that one or more of the Westgard rules (tests for special causes) be applied\",\"help\":\"WESTGARD=*index-list*\",\"type\":\"value\",\"arguments\":[{\"name\":\"1\",\"followsDelimiter\":\"/\",\"description\":\"specifies one point in Zone A or beyond\",\"type\":\"standalone\"},{\"name\":\"2\",\"followsDelimiter\":\"/\",\"description\":\"specifies one point beyond Zone A (outside the control limits)\",\"type\":\"standalone\"},{\"name\":\"3\",\"followsDelimiter\":\"/\",\"description\":\"specifies two points in a row in Zone A or beyond on the same side of the central line\",\"type\":\"standalone\"},{\"name\":\"4\",\"followsDelimiter\":\"/\",\"description\":\"specifies at least one point in Zone A or beyond on each side of the central line\",\"type\":\"standalone\"},{\"name\":\"5\",\"followsDelimiter\":\"/\",\"description\":\"specifies four points in a row in Zone B or beyond on the same side of the central line\",\"type\":\"standalone\"},{\"name\":\"6\",\"followsDelimiter\":\"/\",\"description\":\"specifies ten points in a row on the same side of the central line\",\"type\":\"standalone\"}]},{\"name\":\"WHISKERPERCENTILE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that the whiskers of the box-and-whisker plots be drawn to the pctl and 100--pctl percentiles\",\"help\":\"WHISKERPERCENTILE=*pctl*\",\"type\":\"value\"},{\"name\":\"XSYMBOL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a label for the central line in an X-bar chart or a median chart\",\"help\":\"XSYMBOL=MBAR | MTIL | MU | MU0 | XBAR | XBAR2 | XBARPM | XBAR0 | XBAR0PM | '*label*'\",\"type\":\"value\",\"arguments\":[{\"name\":\"MBAR\",\"followsDelimiter\":\"/\",\"description\":\"M bar\",\"type\":\"standalone\"},{\"name\":\"MTIL\",\"followsDelimiter\":\"/\",\"description\":\"M tilde\",\"type\":\"standalone\"},{\"name\":\"MU\",\"followsDelimiter\":\"/\",\"description\":\"μ\",\"type\":\"standalone\"},{\"name\":\"MU0\",\"followsDelimiter\":\"/\",\"description\":\"μ sub 0\",\"type\":\"standalone\"},{\"name\":\"XBAR\",\"followsDelimiter\":\"/\",\"description\":\"X bar\",\"type\":\"standalone\"},{\"name\":\"XBAR2\",\"followsDelimiter\":\"/\",\"description\":\"X double bar\",\"type\":\"standalone\"},{\"name\":\"XBARPM\",\"followsDelimiter\":\"/\",\"description\":\"X bar prime\",\"type\":\"standalone\"},{\"name\":\"XBAR0\",\"followsDelimiter\":\"/\",\"description\":\"X bar sub 0\",\"type\":\"standalone\"},{\"name\":\"XBAR0PM\",\"followsDelimiter\":\"/\",\"description\":\"X bar prime sub 0\",\"type\":\"standalone\"}]},{\"name\":\"YPCT1=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a percent (ranging from 0 to 100) that determines the length of the vertical axis for the primary chart in proportion to the sum of the lengths of the vertical axes for the primary and secondary charts\",\"help\":\"YPCT1=*value*\",\"type\":\"value\"},{\"name\":\"ZEROSTD\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that a control chart is to be constructed and displayed regardless of whether the estimated process standard deviation is zero\",\"help\":\"ZEROSTD&lt;=NOLIMITS&gt;\",\"type\":\"standaloneOrValue\"},{\"name\":\"ZONE2VALUES\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"labels R or s chart zones lines with their values\",\"type\":\"standalone\"},{\"name\":\"ZONELABELS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"adds the labels A, B, and C to zone lines requested with the ZONES or ZONEVALUES options\",\"type\":\"standalone\"},{\"name\":\"ZONES\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"adds lines to a primary chart that delineate zones A, B, and C for standard tests requested with the TESTS= option\",\"type\":\"standalone\"},{\"name\":\"ZONEVALPOS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the horizontal position of the ZONEVALUES= and ZONE2VALUES= labels\",\"help\":\"ZONEVALPOS=1 | 2 | 3\",\"type\":\"choice\",\"arguments\":[{\"name\":\"1\",\"followsDelimiter\":\"/\",\"description\":\"left-justifies in subplot area\",\"type\":\"standalone\"},{\"name\":\"2\",\"followsDelimiter\":\"/\",\"description\":\"right-justifies in subplot area\",\"type\":\"standalone\"},{\"name\":\"3\",\"followsDelimiter\":\"/\",\"description\":\"left-justifies in right margin\",\"type\":\"standalone\"}]},{\"name\":\"ZONEVALUES\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"labels the primary chart zones lines with their values\",\"type\":\"standalone\"},{\"name\":\"BLOCKREFTRANSPARENCY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"PHASEREFTRANSPARENCY=\",\"REFFILLTRANSPARENCY=\"],\"description\":\"specifies the wall fill transparency for blocks and phases when transparency is used in ODS Graphics output\",\"help\":\"BLOCKREFTRANSPARENCY=*value*\",\"type\":\"value\"},{\"name\":\"BOXTRANSPARENCY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the box fill transparency for box-and-whisker charts when transparency is used in ODS Graphics output\",\"help\":\"BOXTRANSPARENCY=*value*\",\"type\":\"value\"},{\"name\":\"INFILLTRANSPARENCY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the control limit infill transparency when transparency is used in ODS Graphics output\",\"help\":\"INFILLTRANSPARENCY=*value*\",\"type\":\"value\"},{\"name\":\"MARKERDISPLAY2=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a subset of subgroups to be plotted with markers on an R or s chart\",\"help\":\"MARKERDISPLAY2=OOC | UPPER | LOWER | RUNSTEST\",\"type\":\"choice\",\"arguments\":[{\"name\":\"OOC\",\"followsDelimiter\":\"/\",\"description\":\"selects subgroups outside the control limits\",\"type\":\"standalone\"},{\"name\":\"UPPER\",\"followsDelimiter\":\"/\",\"description\":\"selects subgroups above the upper control limit\",\"type\":\"standalone\"},{\"name\":\"LOWER\",\"followsDelimiter\":\"/\",\"description\":\"selects subgroups below the lower control limit\",\"type\":\"standalone\"},{\"name\":\"RUNSTEST\",\"followsDelimiter\":\"/\",\"description\":\"selects subgroups that signal positive tests for special causes\",\"type\":\"standalone\"}]},{\"name\":\"MARKERLABEL2=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a variable whose values provide labels for the subgroups that are plotted with markers on an R or s chart\",\"help\":\"MARKERLABEL2=(*variable*)\",\"type\":\"value\"},{\"name\":\"MARKERMISSINGGROUP=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies whether subgroups with missing symbol-variable values are plotted with a unique marker\",\"help\":\"MARKERMISSINGGROUP=TRUE | FALSE\",\"type\":\"choice\"},{\"name\":\"MARKERS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"plots subgroup points with markers\",\"type\":\"standalone\"},{\"name\":\"NOBLOCKREF\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"NOPHASEREF\",\"NOREF\"],\"description\":\"suppresses block and phase reference lines from ODS Graphics output\",\"type\":\"standalone\"},{\"name\":\"NOBLOCKREFFILL\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"NOPHASEREFFILL\",\"NOREFFILL\"],\"description\":\"suppresses the block and phase wall fills from ODS Graphics output\",\"type\":\"standalone\"},{\"name\":\"NOBOXFILLLEGEND\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"NOFILLLEGEND\"],\"description\":\"suppresses the legend for the levels of a BOXFILL= variable in ODS Graphics output\",\"type\":\"standalone\"},{\"name\":\"NOTRANSPARENCY\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"disables transparency in ODS Graphics output, so that all graph features are opaque\",\"type\":\"standalone\"},{\"name\":\"ODSFOOTNOTE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"adds a footnote to ODS Graphics output\",\"help\":\"ODSFOOTNOTE=FOOTNOTE | FOOTNOTE1 | '*string*'\",\"type\":\"value\"},{\"name\":\"ODSFOOTNOTE2=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"adds a secondary footnote to ODS Graphics output\",\"help\":\"ODSFOOTNOTE2=FOOTNOTE2 | '*string*'\",\"type\":\"value\"},{\"name\":\"ODSLEGENDEXPAND\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that legend entries contain all levels observed in the data\",\"type\":\"standalone\"},{\"name\":\"ODSTITLE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a title for ODS Graphics output\",\"help\":\"ODSTITLE=TITLE | TITLE1 | NONE | DEFAULT | LABELFMT | '*string*'\",\"type\":\"value\"},{\"name\":\"ODSTITLE2=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a secondary title for ODS Graphics output\",\"help\":\"ODSTITLE2=TITLE2 | '*string*'\",\"type\":\"value\"},{\"name\":\"OUTFILLTRANSPARENCY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the control limit outfill transparency when transparency is used in ODS Graphics output\",\"help\":\"OUTFILLTRANSPARENCY=*value*\",\"type\":\"value\"},{\"name\":\"OUTHIGHURL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a variable whose values are URLs to be associated with outlier points above the upper fence on a schematic box chart when ODS Graphics output is directed into HTML\",\"help\":\"OUTHIGHURL=*variable*\",\"type\":\"value\"},{\"name\":\"OUTLOWURL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a variable whose values are URLs to be associated with outlier points below the lower fence on a schematic box chart when ODS Graphics output is directed into HTML\",\"help\":\"OUTLOWURL=*variable*\",\"type\":\"value\"},{\"name\":\"OVERLAY2URL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies variables whose values are URLs to be associated with points on secondary chart overlays\",\"help\":\"OVERLAY2URL=(*variable-list*)\",\"type\":\"value\"},{\"name\":\"OVERLAYURL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies variables whose values are URLs to be associated with points on primary chart overlays\",\"help\":\"OVERLAYURL=(*variable-list*)\",\"type\":\"value\"},{\"name\":\"PHASEBOXLABELS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"draws phase labels as titles along the top of phase boxes\",\"type\":\"standalone\"},{\"name\":\"PHASEPOS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the vertical position of the phase legend\",\"help\":\"PHASEPOS=1 | 2 | 3 | 4\",\"type\":\"choice\",\"arguments\":[{\"name\":\"1\",\"followsDelimiter\":\"/\",\"description\":\"places at top of chart, offset from axis frame\",\"type\":\"standalone\"},{\"name\":\"2\",\"followsDelimiter\":\"/\",\"description\":\"places at top of chart, immediately above axis frame\",\"type\":\"standalone\"},{\"name\":\"3\",\"followsDelimiter\":\"/\",\"description\":\"places at bottom of chart, immediately above horizontal axis\",\"type\":\"standalone\"},{\"name\":\"4\",\"followsDelimiter\":\"/\",\"description\":\"places at bottom of chart, below horizontal axis label\",\"type\":\"standalone\"}]},{\"name\":\"PHASEREFLEVEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"enables you to associate phase reference lines (block reference lines) with either the innermost or the outermost level\",\"help\":\"PHASEREFLEVEL=INNER | OUTER | NONE\",\"type\":\"choice\"},{\"name\":\"POINTSURL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a variable whose values are URLs to be associated with points on a box chart when you specify BOXSTYLE=POINTS, POINTSJOIN, POINTSBOX, POINTSID, or POINTSJOINID\",\"help\":\"POINTSURL=*variable*\",\"type\":\"value\"},{\"name\":\"QCSYMBOLS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies which set of symbol markers is used to plot points on a control chart\",\"help\":\"QCSYMBOLS=TRUE | FALSE\",\"type\":\"choice\"},{\"name\":\"SIMULATEQCFONT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"draws the central line labels using a simulated software font rather than a hardware font\",\"type\":\"standalone\"},{\"name\":\"URL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies URLs as values of the specified character variable (or formatted values of a numeric variable) to associate with subgroup points on a primary control chart when ODS Graphics output is directed into HTML\",\"help\":\"URL=*variable*\",\"type\":\"value\"},{\"name\":\"URL2=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies URLs as values of the specified character variable (or formatted values of a numeric variable) to associate with subgroup points on a secondary control chart when ODS Graphics output is directed into HTML\",\"help\":\"URL2=*variable*\",\"type\":\"value\"},{\"name\":\"WBOXES=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the width in pixels for the outlines of the box-and-whisker plots\",\"help\":\"WBOXES=*n*\",\"type\":\"value\"},{\"name\":\"ANNOTATE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"ANNO=\"],\"description\":\"specifies an ANNOTATE= type data set that enhances a primary chart\",\"help\":\"ANNOTATE=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"ANNOTATE2=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"ANNO2=\"],\"description\":\"specifies an ANNOTATE= type data set that enhances a secondary chart\",\"help\":\"ANNOTATE2=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"BILEVEL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"arranges the Shewhart chart in two levels (rather than the default of one level) so that twice as much data can be displayed on a page or screen\",\"type\":\"standalone\"},{\"name\":\"CAXIS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the color for the axes and tick marks\",\"help\":\"CAXIS=*color*\",\"type\":\"color\"},{\"name\":\"CBLOCKLAB=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies fill colors for the frames that enclose the block-variable labels in a block legend\",\"help\":\"CBLOCKLAB=*color* | (*color-list*)\",\"type\":\"color\"},{\"name\":\"CBLOCKVAR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies variables whose values are colors for filling the background of the legend associated with block-variables\",\"help\":\"CBLOCKVAR=*variable* | (*variable-list*)\",\"type\":\"value\"},{\"name\":\"CBOXES=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the colors for the outlines of the box-and-whisker plots\",\"help\":\"CBOXES=*color* | (*variable*)\",\"type\":\"color\"},{\"name\":\"CBOXFILL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the interior fill colors for the box-and-whisker plots\",\"help\":\"CBOXFILL=*color* | (*variable*)\",\"type\":\"color\"},{\"name\":\"CCLIP=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a color for the plotting symbol that is specified with the CLIPSYMBOL option to mark clipped points\",\"help\":\"CCLIP=*color*\",\"type\":\"color\"},{\"name\":\"CCONNECT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the color for the line segments connecting points on the chart\",\"help\":\"CCONNECT=*color*\",\"type\":\"color\"},{\"name\":\"CCOVERLAY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the colors for the line segments connecting points on primary chart overlays\",\"help\":\"CCOVERLAY=(*color-list*)\",\"type\":\"color\"},{\"name\":\"CCOVERLAY2=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the colors for the line segments connecting points on secondary chart overlays\",\"help\":\"CCOVERLAY2=(*color-list*)\",\"type\":\"color\"},{\"name\":\"CFRAME=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the colors for filling the rectangle enclosed by the axes and the frame\",\"help\":\"CFRAME=*color* | (*color-list*)\",\"type\":\"color\"},{\"name\":\"CGRID=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the color for the grid requested by the ENDGRID or GRID option\",\"help\":\"CGRID=*color*\",\"type\":\"color\"},{\"name\":\"CHREF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the color for the lines requested by the HREF= and HREF2= options\",\"help\":\"CHREF=*color*\",\"type\":\"color\"},{\"name\":\"CLABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the color for labels produced by the ALLLABEL=, ALLLABEL2=, OUTLABEL=, and OUTLABEL2= options\",\"help\":\"CLABEL=*color*\",\"type\":\"color\"},{\"name\":\"CLIMITS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the color for the control limits, the central line, and the labels for these lines\",\"help\":\"CLIMITS=*color*\",\"type\":\"color\"},{\"name\":\"CLIPLEGPOS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the position for the legend that indicates the number of clipped points when the CLIPFACTOR= option is used\",\"help\":\"CLIPLEGPOS=TOP | BOTTOM\",\"type\":\"choice\"},{\"name\":\"CLIPSYMBOL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a plot symbol used to identify clipped points on the chart and in the legend when the CLIPFACTOR= option is used\",\"help\":\"CLIPSYMBOL=*symbol*\",\"type\":\"value\"},{\"name\":\"CLIPSYMBOLHT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the height for the symbol marker used to identify clipped points on the chart when the CLIPFACTOR= option is used\",\"help\":\"CLIPSYMBOLHT=*value*\",\"type\":\"value\"},{\"name\":\"COUTFILL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the fill color for the areas outside the control limits that lie between the connected points and the control limits and are bounded by connecting lines\",\"help\":\"COUTFILL=*color*\",\"type\":\"color\"},{\"name\":\"COVERLAY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the colors used to plot primary chart overlay variables specified in the OVERLAY= list\",\"help\":\"COVERLAY=(*color-list*)\",\"type\":\"color\"},{\"name\":\"COVERLAY2=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the colors used to plot secondary chart overlay variables specified in the OVERLAY2= list\",\"help\":\"COVERLAY2=(*color-list*)\",\"type\":\"color\"},{\"name\":\"COVERLAYCLIP=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the color used to plot clipped values on overlay plots when the CLIPFACTOR= option is used\",\"help\":\"COVERLAYCLIP=*color*\",\"type\":\"color\"},{\"name\":\"CPHASELEG=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a text color for the phase labels requested with the PHASELEGEND option\",\"help\":\"CPHASELEG=*color*\",\"type\":\"color\"},{\"name\":\"CTESTLABBOX=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the color for boxes enclosing labels for positive tests for special causes requested with the TESTLABBOX option\",\"help\":\"CTESTLABBOX=*color*\",\"type\":\"color\"},{\"name\":\"CTESTS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies colors for labels indicating points where a test for special causes specified in the TESTS= option is positive\",\"help\":\"CTESTS=*color* | *test-color-list*\",\"type\":\"color\"},{\"name\":\"CTESTSYMBOL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the color of the symbol used to plot subgroups with positive tests for special causes\",\"help\":\"CTESTSYMBOL=*color*\",\"type\":\"color\"},{\"name\":\"CTEXT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the color for tick mark values, axis labels, the sample size legend, and the control limit legend\",\"help\":\"CTEXT=*color*\",\"type\":\"color\"},{\"name\":\"CVREF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the color for reference lines requested by the VREF= and VREF2= options\",\"help\":\"CVREF=*color*\",\"type\":\"color\"},{\"name\":\"CZONES=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"requests lines marking zones A, B, and C for the tests for special causes\",\"help\":\"CZONES=*color*\",\"type\":\"color\"},{\"name\":\"DESCRIPTION=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a description, up to 256 characters long, for the GRSEG catalog entry for the primary chart\",\"help\":\"DESCRIPTION='*string*'\",\"type\":\"value\"},{\"name\":\"ENDGRID\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"a grid to the rightmost portion of the chart, beginning with the first labeled major tick mark position that follows the last plotted point\",\"type\":\"standalone\"},{\"name\":\"FONT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a software font for labels and legends\",\"help\":\"FONT=*font*\",\"type\":\"value\"},{\"name\":\"HEIGHT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the height (in vertical screen percent units) of the text for axis labels and legends\",\"help\":\"HEIGHT=*value*\",\"type\":\"value\"},{\"name\":\"HMINOR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the number of (unlabeled) minor tick marks between each major tick mark on the horizontal axis\",\"help\":\"HMINOR=*n*\",\"type\":\"value\"},{\"name\":\"HTML=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a variable whose values create links associated with subgroup points on a primary control chart when traditional graphics output is directed into HTML\",\"help\":\"HTML=*variable*\",\"type\":\"value\"},{\"name\":\"HTML2=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a variable whose values create links associated with subgroup points on a secondary control chart when traditional graphics output is directed into HTML\",\"help\":\"HTML2=*variable*\",\"type\":\"value\"},{\"name\":\"HTML_LEGEND=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies HTML links as values of the specified character variable (or formatted values of a numeric variable)\",\"help\":\"HTML_LEGEND=*variable*\",\"type\":\"value\"},{\"name\":\"IDCOLOR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the color of the symbol marker used to identify outliers in schematic box-and-whisker plots\",\"help\":\"IDCOLOR=*color*\",\"type\":\"color\"},{\"name\":\"IDCTEXT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the color for the text used to label outliers or indicate process variable values when you specify BOXSTYLE=SCHEMATICID, SCHEMATICIDFAR, POINTSID, or POINTSJOINID\",\"help\":\"IDCTEXT=*color*\",\"type\":\"color\"},{\"name\":\"IDFONT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the font for the text used to label outliers or indicate process variable values when you specify BOXSTYLE=SCHEMATICID, SCHEMATICIDFAR, POINTSID, or POINTSJOINID\",\"help\":\"IDFONT=*font*\",\"type\":\"value\"},{\"name\":\"IDHEIGHT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the height for the text used to label outliers or indicate process variable values when you specify BOXSTYLE=SCHEMATICID, SCHEMATICIDFAR, POINTSID, or POINTSJOINID\",\"help\":\"IDHEIGHT=*value*\",\"type\":\"value\"},{\"name\":\"IDSYMBOL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the symbol marker used to identify outliers when you specify BOXSTYLE=SCHEMATIC, SCHEMATICID, or SCHEMATICIDFAR\",\"help\":\"IDSYMBOL=*symbol*\",\"type\":\"value\"},{\"name\":\"IDSYMBOLHEIGHT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the height of the symbol marker used to identify outliers in schematic box-and-whisker plots\",\"help\":\"IDSYMBOLHEIGHT=*value*\",\"type\":\"value\"},{\"name\":\"LABELANGLE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the angle at which labels requested with the ALLLABEL=, ALLLABEL2=, OUTLABEL=, and OUTLABEL2= options are drawn\",\"help\":\"LABELANGLE=*angle*\",\"type\":\"value\"},{\"name\":\"LABELFONT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"TESTFONT=\"],\"description\":\"specifies a software font for labels requested with the ALLLABEL=, ALLLABEL2=, OUTLABEL=, OUTLABEL2=, TESTLABEL=, and TESTLABELn= options\",\"help\":\"LABELFONT=*font*\",\"type\":\"value\"},{\"name\":\"LABELHEIGHT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"TESTHEIGHT=\"],\"description\":\"specifies the height (in vertical percent screen units) for labels requested with the ALLLABEL=, ALLLABEL2=, OUTLABEL=, OUTLABEL2=, TESTLABEL=, and TESTLABELn= options\",\"help\":\"LABELHEIGHT=*value*\",\"type\":\"value\"},{\"name\":\"LBOXES=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the line types for the outlines of the box-and-whisker plots\",\"help\":\"LBOXES=*linetype* | (*variable*)\",\"type\":\"value\"},{\"name\":\"LENDGRID=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the line type for the grid requested with the ENDGRID option\",\"help\":\"LENDGRID=*n*\",\"type\":\"value\"},{\"name\":\"LGRID=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the line type for the grid requested with the GRID option\",\"help\":\"LGRID=*n*\",\"type\":\"value\"},{\"name\":\"LHREF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the line type for reference lines requested with the HREF= and HREF2= options\",\"help\":\"LHREF=*linetype*\",\"type\":\"value\"},{\"name\":\"LLIMITS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the line type for control limits\",\"help\":\"LLIMITS=*linetype*\",\"type\":\"value\"},{\"name\":\"LOVERLAY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies line types for the line segments connecting points on primary chart overlays corresponding to the OVERLAY= list\",\"help\":\"LOVERLAY=(*linetypes*)\",\"type\":\"value\"},{\"name\":\"LOVERLAY2=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies line types for the line segments connecting points on secondary chart overlays corresponding to the OVERLAY2= list\",\"help\":\"LOVERLAY2=(*linetypes*)\",\"type\":\"value\"},{\"name\":\"LTESTS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the line type for the line segments that connect patterns of points for which a test for special causes (requested with the TESTS= option) is positive\",\"help\":\"LTESTS=*linetype*\",\"type\":\"value\"},{\"name\":\"LVREF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the line type for reference lines requested by the VREF= and VREF2= options\",\"help\":\"LVREF=*linetype*\",\"type\":\"value\"},{\"name\":\"LZONES=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the line type for lines that delineate zones A, B, and C for standard tests requested with the TESTS= and/or TESTS2= options\",\"help\":\"LZONES=*n*\",\"type\":\"value\"},{\"name\":\"NAME=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the name of the GRSEG catalog entry for the primary chart, and the name of the graphics output file if one is created\",\"help\":\"NAME='*string*'\",\"type\":\"value\"},{\"name\":\"NOFRAME\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses the default frame drawn around the chart\",\"type\":\"standalone\"},{\"name\":\"NOLIMITSFRAME\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses the default frame for the control limit information that is displayed across the top of the chart when multiple sets of control limits with distinct multiples of σ and nominal control limit sample sizes are read from a LIMITS= data set\",\"type\":\"standalone\"},{\"name\":\"NOPHASEFRAME\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses the default frame for the legend requested by the PHASELEGEND option\",\"type\":\"standalone\"},{\"name\":\"NOVANGLE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"requests vertical axis labels that are strung out vertically\",\"type\":\"standalone\"},{\"name\":\"NOVLABEL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses the label for the primary vertical axis\",\"type\":\"standalone\"},{\"name\":\"NOV2LABEL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses the label for the secondary vertical axis\",\"type\":\"standalone\"},{\"name\":\"OUTHIGHHTML=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a variable whose values create links to be associated with outlier points above the upper fence on a schematic box chart when traditional graphics output is directed into HTML\",\"help\":\"OUTHIGHHTML=*variable*\",\"type\":\"value\"},{\"name\":\"OUTLOWHTML=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a variable whose values create links to be associated with outlier points below the lower fence on a schematic box chart when traditional graphics output is directed into HTML\",\"help\":\"OUTLOWHTML=*variable*\",\"type\":\"value\"},{\"name\":\"OVERLAY2HTML=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies variables whose values create links to be associated with points on secondary chart overlays corresponding to the OVERLAY2= list\",\"help\":\"OVERLAY2HTML=(*variable-list*)\",\"type\":\"value\"},{\"name\":\"OVERLAY2SYM=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies symbols used to plot overlays on a secondary control chart corresponding to the OVERLAY2= list\",\"help\":\"OVERLAY2SYM=(*symbol-list*)\",\"type\":\"value\"},{\"name\":\"OVERLAY2SYMHT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the heights of symbols used to plot overlays on a secondary control chart corresponding to the OVERLAY2= list\",\"help\":\"OVERLAY2SYMHT=(*value-list*)\",\"type\":\"value\"},{\"name\":\"OVERLAYCLIPSYM=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the symbol used to plot clipped values on overlay plots when the CLIPFACTOR= option is used\",\"help\":\"OVERLAYCLIPSYM=*symbol*\",\"type\":\"value\"},{\"name\":\"OVERLAYCLIPSYMHT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the height for the symbol used to plot clipped values on overlay plots when the CLIPFACTOR= option is used\",\"help\":\"OVERLAYCLIPSYMHT=*value*\",\"type\":\"value\"},{\"name\":\"OVERLAYHTML=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies variables whose values create links to be associated with points on primary chart overlays corresponding to the OVERLAY= list\",\"help\":\"OVERLAYHTML=(*variable-list*)\",\"type\":\"value\"},{\"name\":\"OVERLAYSYM=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies symbols used to plot overlays on the primary control chart corresponding to the OVERLAY= list\",\"help\":\"OVERLAYSYM=(*symbol-list*)\",\"type\":\"value\"},{\"name\":\"OVERLAYSYMHT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the heights of symbols used to plot overlays on the primary control chart corresponding to the OVERLAY= list\",\"help\":\"OVERLAYSYMHT=(*value-list*)\",\"type\":\"value\"},{\"name\":\"POINTSHTML=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a variable whose values create links to be associated with points on a box chart when you specify BOXSTYLE=POINTS, POINTSJOIN, POINTSBOX, POINTSID, or POINTSJOINID\",\"help\":\"POINTSHTML=*variable*\",\"type\":\"value\"},{\"name\":\"TESTFONT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"LABELFONT=\"],\"description\":\"specifies a software font for labels requested with the ALLLABEL=, ALLLABEL2=, OUTLABEL=, OUTLABEL2=, TESTLABEL=, and TESTLABELn= options\",\"help\":\"TESTFONT=*font*\",\"type\":\"value\"},{\"name\":\"TESTHEIGHT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"LABELHEIGHT=\"],\"description\":\"specifies the height (in vertical percent screen units) for labels requested with the ALLLABEL=, ALLLABEL2=, OUTLABEL=, OUTLABEL2=, TESTLABEL=, and TESTLABELn= options\",\"help\":\"TESTHEIGHT=*value*\",\"type\":\"value\"},{\"name\":\"TESTSYMBOL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the symbol for plotting subgroups with positive tests for special causes\",\"help\":\"TESTSYMBOL=*symbol*\",\"type\":\"value\"},{\"name\":\"TESTSYMBOLHT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the height of the symbol used to plot subgroups with positive tests for special causes\",\"help\":\"TESTSYMBOLHT=*value*\",\"type\":\"value\"},{\"name\":\"TURNALL\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"TURNOUT\"],\"description\":\"turns the labels produced by the ALLLABEL=, ALLLABEL2=, OUTLABEL=, and OUTLABEL2= options so that they are strung out vertically\",\"type\":\"standalone\"},{\"name\":\"TURNHLABELS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"turns the major tick mark labels for the horizontal (subgroup) axis so that they are strung out vertically\",\"type\":\"standalone\"},{\"name\":\"VMINOR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the number of minor tick marks between each major tick mark on the vertical axis\",\"help\":\"VMINOR=*n*\",\"type\":\"value\"},{\"name\":\"WAXIS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the width in pixels for the axis and frame lines\",\"help\":\"WAXIS=*n*\",\"type\":\"value\"},{\"name\":\"WGRID=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the width in pixels for grid lines requested with the ENDGRID and GRID options\",\"help\":\"WGRID=*n*\",\"type\":\"value\"},{\"name\":\"WLIMITS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the width in pixels for the control limits and central line\",\"help\":\"WLIMITS=*n*\",\"type\":\"value\"},{\"name\":\"WOVERLAY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the widths in pixels for the line segments connecting points on primary chart overlay plots corresponding to the OVERLAY= list\",\"help\":\"WOVERLAY=(*value-list*)\",\"type\":\"value\"},{\"name\":\"WOVERLAY2=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the widths in pixels for the line segments connecting points on secondary chart overlay plots corresponding to the OVERLAY2= list\",\"help\":\"WOVERLAY2=(*value-list*)\",\"type\":\"value\"},{\"name\":\"WTESTS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the width in pixels of the line segments that connect patterns of points for which a test for special causes (requested with the TESTS= or TESTS2= option) is positive\",\"help\":\"WTESTS=*n*\",\"type\":\"value\"},{\"name\":\"WTREND=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the width in pixels of the line segments that connect points on trend charts requested with the TRENDVAR= option\",\"help\":\"WTREND=*n*\",\"type\":\"value\"}]},{\"name\":\"CCHART\",\"description\":\"creates c charts for the numbers of nonconformities (defects) in subgroup samples\",\"help\":\"CCHART  (processes) * subgroup-variable<(block-variables)><=symbol-variable | ='character'></ options>;                                              \\nprocess is the name of the variable containing the numbers of nonconformities, or the common prefix of the appropriate variables in the HISTORY= data set, or the value of the variable _VAR_ in the TABLE= data set                     \\nsubgroup-variable is the variable that identifies subgroups in the data                     \\nblock-variables are optional variables that group the data into blocks of consecutive subgroups                     \\nsymbol-variable is an optional variable whose levels (unique values) determine the symbol marker that is used to plot the number of nonconformities                     \\ncharacter is a character that is used to plot the number of nonconformities when you produce traditional graphics.                     \",\"arguments\":[{\"name\":\"ACTUALALPHA\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"requests that the actual probability of a point being outside an attribute chart's probability limits be displayed in the limits legend\",\"type\":\"standalone\"},{\"name\":\"ALLLABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"labels every point on the primary chart with the value plotted for that subgroup or with the value of variable in the input data set\",\"help\":\"ALLLABEL=VALUE | (*variable*)\",\"type\":\"value\"},{\"name\":\"ALLN\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"plots summary statistics for all subgroups, regardless of whether the subgroup sample size equals the nominal control limit sample size n specified by the LIMITN= option or the variable _LIMITN_ in the LIMITS= data set\",\"type\":\"standalone\"},{\"name\":\"ALPHA=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"requests α probability limits instead of 3σ control limits\",\"help\":\"ALPHA=*value*\",\"type\":\"value\"},{\"name\":\"BLOCKLABELPOS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the position of a block-variable label in the block legend\",\"help\":\"BLOCKLABELPOS=ABOVE | LEFT | RIGHT\",\"type\":\"choice\"},{\"name\":\"BLOCKLABTYPE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies how lengthy block variable values are treated when there is insufficient space to display them in the block legend\",\"help\":\"BLOCKLABTYPE=SCALED | TRUNCATED | ROTATE | ROTATEALL | *height*\",\"type\":\"value\"},{\"name\":\"BLOCKPOS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the vertical position of the legend for the values of the block-variables\",\"help\":\"BLOCKPOS=*n*\",\"type\":\"value\"},{\"name\":\"BLOCKREP\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that block variable values for all subgroups are to be displayed\",\"type\":\"standalone\"},{\"name\":\"BLOCKVAR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies variables whose values are used to assign colors for filling the background of the legend associated with block variables\",\"help\":\"BLOCKVAR=*variable* | (*variable-list*)\",\"type\":\"value\"},{\"name\":\"BOXES=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a variable whose values are used to assign colors for the outlines of box-and-whiskers plots\",\"help\":\"BOXES=*variable*\",\"type\":\"value\"},{\"name\":\"BOXFILL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies how box-and-whisker plots are filled with colors from the ODS style\",\"help\":\"BOXFILL=*variable* | NONE | EMPTY\",\"type\":\"value\"},{\"name\":\"CFRAMELAB=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"CFRAMELAB\"],\"description\":\"specifies the color for filling rectangles that frame the point labels displayed with the ALLLABEL=, ALLLABEL2=, OUTLABEL=, and OUTLABEL2= options\",\"help\":\"CFRAMELAB=*color*\",\"type\":\"color\"},{\"name\":\"CIINDICES\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"requests capability index confidence limits based on subgroup summary data, calculated using \\\"effective degrees of freedom\\\"\",\"help\":\"CIINDICES &lt;(&lt;TYPE=*keyword*&gt;&lt;ALPHA=*value*&gt;)&gt;\",\"type\":\"standaloneOrValue\",\"arguments\":[{\"name\":\"TYPE=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the type of confidence limit\",\"help\":\"TYPE=LOWER | UPPER | TWOSIDED\",\"type\":\"choice\"},{\"name\":\"ALPHA=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the default confidence level to compute confidence limits\",\"help\":\"ALPHA=*value*\",\"type\":\"value\"}]},{\"name\":\"CINFILL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the color for the area inside the upper and lower control limits\",\"help\":\"CINFILL=*color* | EMPTY | NONE\",\"type\":\"color\"},{\"name\":\"CLIPFACTOR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"requests clipping of extreme points on the control chart\",\"help\":\"CLIPFACTOR=*factor*\",\"type\":\"value\"},{\"name\":\"CLIPLEGEND=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the label for the legend that indicates the number of clipped points when the CLIPFACTOR= option is used\",\"help\":\"CLIPLEGEND='*label*'\",\"type\":\"value\"},{\"name\":\"CLIPSUBCHAR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a substitution character (such as #) for the label provided with the CLIPLEGEND= option\",\"help\":\"CLIPSUBCHAR='*character*'\",\"type\":\"value\"},{\"name\":\"COUT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the color for the plotting symbols and the portions of connecting line segments that lie outside the control limits\",\"help\":\"COUT&lt;=*color*&gt;\",\"type\":\"standaloneOrValue\"},{\"name\":\"CSTAROUT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a color for those portions of the outlines of stars (requested with the STARVERTICES= option) that exceed the inner or outer circles\",\"help\":\"CSTAROUT&lt;=*color*&gt;\",\"type\":\"standaloneOrValue\"},{\"name\":\"CSYMBOL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a label for the central line in a c chart\",\"help\":\"CSYMBOL=C | CBAR | CPM | CPM2 | C0 | '*label*'\",\"type\":\"value\",\"arguments\":[{\"name\":\"C\",\"followsDelimiter\":\"/\",\"description\":\"C\",\"type\":\"standalone\"},{\"name\":\"CBAR\",\"followsDelimiter\":\"/\",\"description\":\"C bar\",\"type\":\"standalone\"},{\"name\":\"CPM\",\"followsDelimiter\":\"/\",\"description\":\"C prime\",\"type\":\"standalone\"},{\"name\":\"CPM2\",\"followsDelimiter\":\"/\",\"description\":\"C prime prime\",\"type\":\"standalone\"},{\"name\":\"C0\",\"followsDelimiter\":\"/\",\"description\":\"C sub 0\",\"type\":\"standalone\"}]},{\"name\":\"DISCRETE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that numeric subgroup variable values be treated as discrete values, so that each tick value on the default subgroup axis corresponds to a unique subgroup variable value\",\"type\":\"standalone\"},{\"name\":\"EXCHART\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"creates a control chart only when exceptions occur, specifically, when the control limits are exceeded or when any of the tests requested with the TESTS= option or the TESTS2= option are positive\",\"type\":\"standalone\"},{\"name\":\"FRONTREF\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"draws reference lines specified with the HREF= and VREF= options in front of box-and-whiskers plots\",\"type\":\"standalone\"},{\"name\":\"GRID\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"adds a grid to the control chart\",\"type\":\"standalone\"},{\"name\":\"HAXIS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies tick mark values for the horizontal (subgroup) axis\",\"help\":\"HAXIS=*values* | AXIS*n*\",\"type\":\"value\"},{\"name\":\"HOFFSET=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the length of the offset at each end of the horizontal axis\",\"help\":\"HOFFSET=*value*\",\"type\":\"value\"},{\"name\":\"HREF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"draws reference lines perpendicular to the horizontal (subgroup) axis on the primary chart\",\"help\":\"HREF=*values*\",\"type\":\"value\"},{\"name\":\"HREF2DATA=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"draws reference lines perpendicular to the horizontal (subgroup) axis on the secondary chart\",\"help\":\"HREF2DATA=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"HREFDATA=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"draws reference lines perpendicular to the horizontal (subgroup) axis on the primary chart\",\"help\":\"HREFDATA=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"HREFLABELS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies labels for the reference lines requested by the HREF= option\",\"help\":\"HREFLABELS='*label1*'...'*labeln*'\",\"type\":\"value\"},{\"name\":\"HREFLABPOS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the vertical position of the HREFLABEL= and HREF2LABEL= labels\",\"help\":\"HREFLABPOS=*n*\",\"type\":\"value\",\"arguments\":[{\"name\":\"1\",\"followsDelimiter\":\"/\",\"description\":\"positions along top of subplot area\",\"type\":\"standalone\"},{\"name\":\"2\",\"followsDelimiter\":\"/\",\"description\":\"staggers from top to bottom of subplot area\",\"type\":\"standalone\"},{\"name\":\"3\",\"followsDelimiter\":\"/\",\"description\":\"positions along bottom of subplot area\",\"type\":\"standalone\"},{\"name\":\"4\",\"followsDelimiter\":\"/\",\"description\":\"staggers from bottom to top of subplot area\",\"type\":\"standalone\"}]},{\"name\":\"INDEPENDENTZONES\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"INDEPZONES\"],\"description\":\"specifies that the widths of the zones requested with the ZONES option be computed independently above and below the center line of the chart, so that the width of each zone is one-third of the difference between the process mean and the control limit on its side of the chart\",\"type\":\"standalone\"},{\"name\":\"INTERVAL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the natural time interval between consecutive subgroup positions when a time, date, or datetime format is associated with a numeric subgroup variable\",\"help\":\"INTERVAL=DAY | DTDAY | HOUR | MINUTE | MONTH | QTR | SECOND\",\"type\":\"choice\"},{\"name\":\"INTSTART=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the starting value for a numeric horizontal axis, when a date, time, or datetime format is associated with the subgroup variable\",\"help\":\"INTSTART=*value*\",\"type\":\"value\"},{\"name\":\"LANEY\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"computes control limits for a chart for attributes as recommended by Laney\",\"type\":\"standalone\"},{\"name\":\"LCLLABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a label for the lower control limit in the primary chart\",\"help\":\"LCLLABEL='*label*'\",\"type\":\"value\"},{\"name\":\"LIMITN=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies either a fixed or varying nominal sample size for the control limits\",\"help\":\"LIMITN=*n* | VARYING\",\"type\":\"value\"},{\"name\":\"LIMLABSUBCHAR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a substitution character (such as #) for labels provided as quoted strings with the LCLLABEL=, LCLLABEL2=, UCLLABEL=, UCLLABEL2=, CSYMBOL=, NPSYMBOL=, PSYMBOL=, RSYMBOL=, SSYMBOL=, USYMBOL=, and XSYMBOL= options\",\"help\":\"LIMLABSUBCHAR='*character*'\",\"type\":\"value\"},{\"name\":\"MAXPANELS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the maximum number of pages or screens for a chart\",\"help\":\"MAXPANELS=*n*\",\"type\":\"value\"},{\"name\":\"MISSBREAK\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"determines how subgroups are formed when observations are read from a DATA= data set and a character subgroup-variable is provided\",\"type\":\"standalone\"},{\"name\":\"NDECIMAL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the number of decimal digits in the default labels for the control limits and the central line in the primary chart\",\"help\":\"NDECIMAL=*n*\",\"type\":\"value\"},{\"name\":\"NEEDLES\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"connects plotted points to the central line with vertical line segments (needles)\",\"type\":\"standalone\"},{\"name\":\"NMARKERS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"identifies a plotted subgroup summary statistic with a special symbol marker (character) when the corresponding subgroup sample size is not equal to the nominal control limit sample size n\",\"type\":\"standalone\"},{\"name\":\"NO3SIGMACHECK\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses the check for 3σ limits when tests for special causes are requested\",\"type\":\"standalone\"},{\"name\":\"NOBYREF\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that the reference line information in an HREF=, HREF2=, VREF=, or VREF2= data set is to be applied uniformly to charts created for all the BY groups in the input data set (DATA=, HISTORY=, or TABLE=)\",\"type\":\"standalone\"},{\"name\":\"NOCHART\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses the creation of the chart\",\"type\":\"standalone\"},{\"name\":\"NOCONNECT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses line segments that connect points on the chart\",\"type\":\"standalone\"},{\"name\":\"NOCTL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses the display of the central line in a primary chart\",\"type\":\"standalone\"},{\"name\":\"NOHLABEL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses the label for the horizontal (subgroup) axis\",\"type\":\"standalone\"},{\"name\":\"NOLCL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses the display of the lower control limit in a primary chart\",\"type\":\"standalone\"},{\"name\":\"NOLEGEND\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses the default legend for subgroup sample sizes, which appears by default below the chart\",\"type\":\"standalone\"},{\"name\":\"NOLIMIT0\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses the display of a fixed lower control limit if and only if the value of the limit is zero\",\"type\":\"standalone\"},{\"name\":\"NOLIMITLABEL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses the default labels for the control limits and central lines\",\"type\":\"standalone\"},{\"name\":\"NOLIMITS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses the display of control limits\",\"type\":\"standalone\"},{\"name\":\"NOLIMITSLEGEND\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses the legend for the control limits, which appears by default in the upper right corner of the chart\",\"type\":\"standalone\"},{\"name\":\"NOOVERLAYLEGEND\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses the legend for overlay variables which is displayed by default when the OVERLAY= or OVERLAY2= option is specified\",\"type\":\"standalone\"},{\"name\":\"NOREADLIMITS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that the control limits for each process listed in the chart statement not be read from the LIMITS= data set specified in the PROC SHEWHART statement\",\"type\":\"standalone\"},{\"name\":\"NOTESTACROSS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that tests for special causes requested with the TESTS= or TESTS2= options not be applied across the boundaries of phases (blocks of consecutive subgroups) determined by the READPHASES= option and the variable _PHASE_ in the input data set\",\"type\":\"standalone\"},{\"name\":\"NOTICKREP\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"applies to character-valued subgroup-variables and specifies that only the first occurrence of repeated, adjacent subgroup values is to be labeled on the horizontal axis\",\"type\":\"standalone\"},{\"name\":\"NOTRUNC\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"overrides the vertical axis truncation at zero, which is applied by default to c charts, moving range charts, np charts, p charts, R charts, s charts, and u charts\",\"type\":\"standalone\"},{\"name\":\"NOUCL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses the display of the upper control limit in a primary chart\",\"type\":\"standalone\"},{\"name\":\"NPANELPOS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the number of subgroup positions per panel on each chart\",\"help\":\"NPANELPOS=*n*\",\"type\":\"value\"},{\"name\":\"OUTFILL\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"COUTFILL\"],\"description\":\"fills the areas outside the control limits that lie between the connected points and the control limits and are bounded by connecting lines\",\"type\":\"standalone\"},{\"name\":\"OUTHISTORY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"creates an output data set that contains the subgroup summary statistics\",\"help\":\"OUTHISTORY=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"OUTINDEX=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the value of the _INDEX_ variable in the OUTLIMITS= output data set\",\"help\":\"OUTINDEX='*label*'\",\"type\":\"value\"},{\"name\":\"OUTLABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"labels each point that falls outside the control limits on the primary chart with the value plotted for that subgroup or with the value of variable in the input data set\",\"help\":\"OUTLABEL=VALUE | (*variable*)\",\"type\":\"value\"},{\"name\":\"OUTLIMITS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"creates an output data set that saves the control limits\",\"help\":\"OUTLIMITS=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"OUTPHASE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the value of the _PHASE_ variable in the OUTHISTORY= data set\",\"help\":\"OUTPHASE='*label*'\",\"type\":\"value\"},{\"name\":\"OUTTABLE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"creates an output SAS data set that saves the information plotted on the chart, including the subgroup variable values and their corresponding summary statistics and control limits\",\"help\":\"OUTTABLE=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"OVERLAY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies variables to be overlaid on the primary control chart\",\"help\":\"OVERLAY=(*variable-list*)\",\"type\":\"value\"},{\"name\":\"OVERLAY2=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies variables to be overlaid on a secondary control chart\",\"help\":\"OVERLAY2=(*variable-list*)\",\"type\":\"value\"},{\"name\":\"OVERLAY2ID=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies variables whose formatted values are used to label points on secondary chart overlays\",\"help\":\"OVERLAY2ID=(*variable-list*)\",\"type\":\"value\"},{\"name\":\"OVERLAYID=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies variables whose formatted values are used to label points on primary chart overlays\",\"help\":\"OVERLAYID=(*variable-list*)\",\"type\":\"value\"},{\"name\":\"OVERLAYLEGLAB=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the label displayed to the left of the legend for overlays requested with the OVERLAY= or OVERLAY2= option\",\"help\":\"OVERLAYLEGLAB='*label*'\",\"type\":\"value\"},{\"name\":\"PAGENUM=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the form of the label used for pagination; for example, 'Page #' or 'Page # of #'\",\"help\":\"PAGENUM='*string*'\",\"type\":\"value\"},{\"name\":\"PAGENUMPOS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies where to position the page number requested with the PAGENUM= option\",\"help\":\"PAGENUMPOS=TL | TR | BL | BR | TL100 | TR100 | BL0 | BR0\",\"type\":\"choice\",\"arguments\":[{\"name\":\"TL\",\"followsDelimiter\":\"/\",\"description\":\"specifies the top left\",\"type\":\"standalone\"},{\"name\":\"TR\",\"followsDelimiter\":\"/\",\"description\":\"specifies the top right\",\"type\":\"standalone\"},{\"name\":\"BL\",\"followsDelimiter\":\"/\",\"description\":\"specifies the bottom left\",\"type\":\"standalone\"},{\"name\":\"BR\",\"followsDelimiter\":\"/\",\"description\":\"specifies the bottom right\",\"type\":\"standalone\"},{\"name\":\"TL100\",\"followsDelimiter\":\"/\",\"description\":\"specifies the very top left\",\"type\":\"standalone\"},{\"name\":\"TR100\",\"followsDelimiter\":\"/\",\"description\":\"specifies the very top right\",\"type\":\"standalone\"},{\"name\":\"BL0\",\"followsDelimiter\":\"/\",\"description\":\"specifies the very bottom left\",\"type\":\"standalone\"},{\"name\":\"BR0\",\"followsDelimiter\":\"/\",\"description\":\"specifies the very bottom right\",\"type\":\"standalone\"}]},{\"name\":\"PHASEBREAK\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that the last point in a phase (defined as a block of consecutive subgroups with the same value of the _PHASE_ variable) is not to be connected to the first point in the next phase\",\"type\":\"standalone\"},{\"name\":\"PHASELABTYPE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies how lengthy _PHASE_ variable values are displayed when there is insufficient space in the legend requested with the PHASELEGEND option\",\"help\":\"PHASELABTYPE=SCALED | TRUNCATED | *height*\",\"type\":\"value\"},{\"name\":\"PHASELEGEND\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"identifies the phases requested with the READPHASES= option in a legend across the top of the chart\",\"type\":\"standalone\"},{\"name\":\"PHASELIMITS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that the control limits and center line be labeled for each phase specified with the READPHASES= option, providing the limits are constant within that phase\",\"type\":\"standalone\"},{\"name\":\"PHASEREF\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"delineates the phases specified with the READPHASES= option with reference lines drawn vertically\",\"type\":\"standalone\"},{\"name\":\"PHASEVARLABEL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"displays the label associated with the variable _PHASE_ above the phase values in the phase legend\",\"type\":\"standalone\"},{\"name\":\"PHASEVALSEP\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"displays vertical lines separating phase values in the phase legend\",\"type\":\"standalone\"},{\"name\":\"PROBLIMITS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"requests that discrete-valued probability limits be computed for attribute charts\",\"help\":\"PROBLIMITS=DISCRETE\",\"type\":\"value\"},{\"name\":\"RANGES\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"estimates the process standard deviation for a boxplot using subgroup ranges\",\"type\":\"standalone\"},{\"name\":\"READALPHA\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that the variable _ALPHA_, rather than the variable _SIGMAS_, be read from a LIMITS= data set when both variables are available in the data set\",\"type\":\"standalone\"},{\"name\":\"READINDEX=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"reads one or more sets of control limits from a LIMITS= data set (specified in the PROC SHEWHART statement) for each process listed in the chart statement\",\"help\":\"READINDEX=*value-list* | ALL\",\"type\":\"value\"},{\"name\":\"READPHASES=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"selects blocks of consecutive observations to be read from the input data set\",\"help\":\"READPHASES=*value-list* | ALL\",\"type\":\"value\"},{\"name\":\"REPEAT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that the horizontal axis of a chart that spans multiple pages be arranged so that the last subgroup position on a page is repeated as the first subgroup position on the next page\",\"type\":\"standalone\"},{\"name\":\"SIGMAS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the width of the control limits in terms of the multiple k of the standard error of the number nonconforming statistic plotted on the chart\",\"help\":\"SIGMAS=*k*\",\"type\":\"value\"},{\"name\":\"SKIPHLABELS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the number n of consecutive tick mark labels, beginning with the second tick mark label, that are thinned (not displayed) on the horizontal (subgroup) axis\",\"help\":\"SKIPHLABELS=*n*\",\"type\":\"value\"},{\"name\":\"STARBDRADIUS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the radius of an imaginary circle that is the outer bound for vertices of stars requested with the STARVERTICES= option\",\"help\":\"STARBDRADIUS=*value*\",\"type\":\"value\"},{\"name\":\"STARCIRCLES=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies reference circles that are superimposed on the stars requested with the STARVERTICES= option\",\"help\":\"STARCIRCLES=*values*\",\"type\":\"value\"},{\"name\":\"STARINRADIUS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the inner radius of stars requested with the STARVERTICES= option\",\"help\":\"STARINRADIUS=*value*\",\"type\":\"value\"},{\"name\":\"STARFILL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies colors for filling the interior of stars requested with the STARVERTICES= option\",\"help\":\"STARFILL=*variable*\",\"type\":\"value\"},{\"name\":\"STARLABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a method for labeling the vertices of stars requested with the STARVERTICES= option\",\"help\":\"STARLABEL=ALL | FIRST | HIGH | LOW | OUT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ALL\",\"followsDelimiter\":\"/\",\"description\":\"labels all vertices of all stars\",\"type\":\"standalone\"},{\"name\":\"FIRST\",\"followsDelimiter\":\"/\",\"description\":\"labels all vertices of the leftmost star\",\"type\":\"standalone\"},{\"name\":\"HIGH\",\"followsDelimiter\":\"/\",\"description\":\"labels only vertices that lie outside the outer circle\",\"type\":\"standalone\"},{\"name\":\"LOW\",\"followsDelimiter\":\"/\",\"description\":\"labels only vertices that lie inside the inner circle\",\"type\":\"standalone\"},{\"name\":\"OUT\",\"followsDelimiter\":\"/\",\"description\":\"labels only vertices that lie inside the inner circle or outside the outer circle\",\"type\":\"standalone\"}]},{\"name\":\"STARLEGEND=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the style of the legend used to identify the vertices of stars requested with the STARVERTICES= option\",\"help\":\"STARLEGEND=CLOCK | CLOCK0 | DEGREES | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"CLOCK\",\"followsDelimiter\":\"/\",\"description\":\"identifies the vertex variables by their positions on the clock (starting with 12:00)\",\"type\":\"standalone\"},{\"name\":\"CLOCK0\",\"followsDelimiter\":\"/\",\"description\":\"identifies the vertex variables by their positions on the clock (starting with 0:00)\",\"type\":\"standalone\"},{\"name\":\"DEGREES\",\"followsDelimiter\":\"/\",\"description\":\"identifies the vertex variables by angles in degrees, with 0 degrees corresponding to 12 o'clock\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"followsDelimiter\":\"/\",\"description\":\"suppresses the legend\",\"type\":\"standalone\"}]},{\"name\":\"STARLEGENDLAB=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the label displayed to the left of the legend for stars requested with the STARLEGEND= option\",\"help\":\"STARLEGENDLAB='*label*'\",\"type\":\"value\"},{\"name\":\"STARS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies colors for the outlines of stars requested with the STARVERTICES= option\",\"help\":\"STARS=*variable*\",\"type\":\"value\"},{\"name\":\"STARSPECS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the method used to standardize the star vertex variables listed with the STARVERTICES= option\",\"help\":\"STARSPECS=*value*|*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"STARSTART=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the vertex angle for the first variable in the STARVERTICES= list\",\"help\":\"STARSTART=*value*\",\"type\":\"value\"},{\"name\":\"STARTYPE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the style of the stars requested with the STARVERTICES= option\",\"help\":\"STARTYPE=CORONA | POLYGON | RADIAL | SPOKE | WEDGE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"CORONA\",\"followsDelimiter\":\"/\",\"description\":\"specifies a polygon with star-vertices emanating from the inner circle\",\"type\":\"standalone\"},{\"name\":\"POLYGON\",\"followsDelimiter\":\"/\",\"description\":\"specifies a closed polygon\",\"type\":\"standalone\"},{\"name\":\"RADIAL\",\"followsDelimiter\":\"/\",\"description\":\"draws rays emanating from the center\",\"type\":\"standalone\"},{\"name\":\"SPOKE\",\"followsDelimiter\":\"/\",\"description\":\"draws rays emanating from the inner circle\",\"type\":\"standalone\"},{\"name\":\"WEDGE\",\"followsDelimiter\":\"/\",\"description\":\"specifies a closed polygon with rays from the center to each vertex\",\"type\":\"standalone\"}]},{\"name\":\"STARVERTICES=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"superimposes a star (polygon) at each point on the primary chart\",\"help\":\"STARVERTICES=*variable* | (*variable-list*)\",\"type\":\"value\"},{\"name\":\"SUBGROUPN=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the subgroup sample sizes as a constant value or as the values of a variable in the DATA= data set\",\"help\":\"SUBGROUPN=*value* | *variable*\",\"type\":\"value\"},{\"name\":\"SYMBOLLEGEND=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"controls the legend for the levels of a symbol-variable\",\"help\":\"SYMBOLLEGEND=LEGENDn | NONE\",\"type\":\"choice\"},{\"name\":\"SYMBOLORDER=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the order in which symbols are assigned for levels of symbol-variable\",\"help\":\"SYMBOLORDER=DATA | INTERNAL | FORMATTED\",\"type\":\"choice\"},{\"name\":\"TABLES\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"creates a basic table of the subgroup values, the subgroup sample sizes, the subgroup summary statistics, and the upper and lower control limits\",\"help\":\"TABLES &lt;(EXCEPTIONS)&gt;\",\"type\":\"standaloneOrValue\"},{\"name\":\"TABLEALL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"tabulates all the information about the control chart\",\"help\":\"TABLEALL &lt;(EXCEPTIONS)&gt;\",\"type\":\"standaloneOrValue\"},{\"name\":\"TABLECENTRAL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"augments the basic table created by the TABLES option with columns for the values of the central lines\",\"help\":\"TABLECENTRAL &lt;(EXCEPTIONS)&gt;\",\"type\":\"standaloneOrValue\"},{\"name\":\"TABLEID\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"augments the basic table created by the TABLES option with a column for each of the ID variables\",\"help\":\"TABLEID &lt;(EXCEPTIONS)&gt;\",\"type\":\"standaloneOrValue\"},{\"name\":\"TABLELEGEND\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"adds a legend to the basic table created by the TABLE option\",\"help\":\"TABLELEGEND &lt;(EXCEPTIONS)&gt;\",\"type\":\"standaloneOrValue\"},{\"name\":\"TABLEOUTLIM\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"augments the basic table created by the TABLE option with columns indicating which control limits (if any) are exceeded\",\"help\":\"TABLEOUTLIM &lt;(EXCEPTIONS)&gt;\",\"type\":\"standaloneOrValue\"},{\"name\":\"TABLETESTS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"augments the basic table created by the TABLES option with a column that indicates which of the tests for special causes (requested with the TESTS= option) are positive\",\"help\":\"TABLETESTS &lt;(EXCEPTIONS)&gt;\",\"type\":\"standaloneOrValue\"},{\"name\":\"TARGET=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"provides target values used to compute the capability index Cpm, which is saved in the OUTLIMITS= data set\",\"help\":\"TARGET=*value-list*\",\"type\":\"value\"},{\"name\":\"TEST2RESET=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"enables tests for special causes to be reset in a secondary chart\",\"help\":\"TEST2RESET=*variable* | *value*\",\"type\":\"value\"},{\"name\":\"TEST2RUN=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the length of the pattern for Test 2 requested with the TESTS= and TESTS2= options\",\"help\":\"TEST2RUN=7 | 8 | 9 | 11 | 14 | 20\",\"type\":\"choice\",\"arguments\":[{\"name\":\"7\",\"followsDelimiter\":\"/\",\"description\":\"specifies a run-length of 7 in a row on one side of the central line\",\"type\":\"standalone\"},{\"name\":\"8\",\"followsDelimiter\":\"/\",\"description\":\"specifies a run-length of 8 in a row on one side of the central line\",\"type\":\"standalone\"},{\"name\":\"9\",\"followsDelimiter\":\"/\",\"description\":\"specifies a run-length of 9 in a row on one side of the central line\",\"type\":\"standalone\"},{\"name\":\"11\",\"followsDelimiter\":\"/\",\"description\":\"specifies at least 10 out of 11 in a row on one side of the central line\",\"type\":\"standalone\"},{\"name\":\"14\",\"followsDelimiter\":\"/\",\"description\":\"specifies at least 12 out of 14 in a row on one side of the central line\",\"type\":\"standalone\"},{\"name\":\"20\",\"followsDelimiter\":\"/\",\"description\":\"specifies at least 16 out of 20 in a row on one side of the central line\",\"type\":\"standalone\"}]},{\"name\":\"TEST3RUN=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the length of the pattern for Test 3 requested with the TESTS= and TESTS2= options\",\"help\":\"TEST3RUN=6 | 7 | 8\",\"type\":\"choice\",\"arguments\":[{\"name\":\"6\",\"followsDelimiter\":\"/\",\"description\":\"searches for a pattern of steadily increasing or decreasing values with length at least 6\",\"type\":\"standalone\"},{\"name\":\"7\",\"followsDelimiter\":\"/\",\"description\":\"searches for a pattern of steadily increasing or decreasing values with length at least 7\",\"type\":\"standalone\"},{\"name\":\"8\",\"followsDelimiter\":\"/\",\"description\":\"searches for a pattern of steadily increasing or decreasing values with length at least 8\",\"type\":\"standalone\"}]},{\"name\":\"TESTACROSS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that tests for special causes requested with the TESTS= or TESTS2= options be applied without regard to phases (blocks of consecutive subgroups) determined by the READPHASES= option and the variable _PHASE_ in the input data set\",\"type\":\"standalone\"},{\"name\":\"TESTLABBOX\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"requests that labels for subgroups with positive tests for special causes are positioned so they do not overlap\",\"type\":\"standalone\"},{\"name\":\"TESTLABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"provides labels for points at which one of the tests for special causes (requested with the TESTS= or TESTS2= option) is positive\",\"help\":\"TESTLABEL='*label*' | (*variable*) | TESTINDEX | SPACE | NONE\",\"type\":\"value\"},{\"name\":\"TESTLABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a label for points at which the test for special causes requested with the index n in a TESTS= or TESTS2= list is positive\",\"help\":\"TESTLABEL*n*='*label*'\",\"type\":\"value\"},{\"name\":\"TESTNMETHOD=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"applies the tests for special causes requested with the TESTS= and TESTS2= options to standardized test statistics when the subgroup sample sizes are not constant\",\"help\":\"TESTNMETHOD=STANDARDIZE\",\"type\":\"value\"},{\"name\":\"TESTOVERLAP\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"applies tests for special causes (requested with the TESTS= or TESTS2= option) to overlapping patterns of points\",\"type\":\"standalone\"},{\"name\":\"TESTRESET=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"enables tests for special causes to be reset in a primary chart\",\"help\":\"TESTRESET=*variable* | *value*\",\"type\":\"value\"},{\"name\":\"TESTS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"requests one or more tests for special causes, which are also known as runs tests, pattern tests, and Western Electric rules\",\"help\":\"TESTS=*index-list*\",\"type\":\"value\",\"arguments\":[{\"name\":\"1\",\"followsDelimiter\":\"/\",\"description\":\"specifies one point beyond Zone A (outside the control limits)\",\"type\":\"standalone\"},{\"name\":\"2\",\"followsDelimiter\":\"/\",\"description\":\"specifies nine points in a row in Zone C or beyond on one side of the central line\",\"type\":\"standalone\"},{\"name\":\"3\",\"followsDelimiter\":\"/\",\"description\":\"specifies six points in a row steadily increasing\",\"type\":\"standalone\"},{\"name\":\"4\",\"followsDelimiter\":\"/\",\"description\":\"specifies fourteen points in a row alternating up and down\",\"type\":\"standalone\"}]},{\"name\":\"TESTS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies customized tests for special causes for the primary control chart to search for k out of m points in a row in the interval (a,b)\",\"help\":\"TESTS=T(K=*k* M=*m* LOWER=*a* UPPER=*b* SCHEME=*scheme* CODE=*character* LABEL=*'label'* LEGEND=*'legend'*)\",\"type\":\"value\",\"arguments\":[{\"name\":\"K=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the number of points\",\"help\":\"K=*k*\",\"type\":\"value\"},{\"name\":\"M=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the number of consecutive points\",\"help\":\"M=*m*\",\"type\":\"value\"},{\"name\":\"LOWER=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the lower limit of interval (a,b)\",\"help\":\"LOWER=*value*\",\"type\":\"value\"},{\"name\":\"UPPER=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the upper limit of interval (a,b)\",\"help\":\"UPPER=*value*\",\"type\":\"value\"},{\"name\":\"SCHEME=\",\"followsDelimiter\":\"/\",\"description\":\"specifies a one-sided scheme using (a,b)\",\"help\":\"SCHEME=ONESIDED\",\"type\":\"value\"},{\"name\":\"SCHEME=\",\"followsDelimiter\":\"/\",\"description\":\"specifies a two-sided scheme using (a,b) union (-b,-a)\",\"help\":\"SCHEME=TWOSIDED\",\"type\":\"value\"},{\"name\":\"CODE=\",\"followsDelimiter\":\"/\",\"description\":\"specifies an identifier for test (A--H)\",\"help\":\"CODE=*character*\",\"type\":\"value\"},{\"name\":\"LABEL=\",\"followsDelimiter\":\"/\",\"description\":\"specifies a label for points if signal\",\"help\":\"LABEL=*'label'*\",\"type\":\"value\"},{\"name\":\"LEGEND=\",\"followsDelimiter\":\"/\",\"description\":\"specifies a legend used with the TABLELEGEND option\",\"help\":\"LEGEND=*'legend'*\",\"type\":\"value\"}]},{\"name\":\"TESTS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies customized tests for special causes for the primary control chart to search for k points in a row increasing or decreasing\",\"help\":\"TESTS=M(K=*k* DIR=*direction* CODE=*character* LABEL=*'label'* LEGEND=*'legend'*)\",\"type\":\"value\",\"arguments\":[{\"name\":\"K=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the number of points\",\"help\":\"K=*k*\",\"type\":\"value\"},{\"name\":\"DIR=\",\"followsDelimiter\":\"/\",\"description\":\"specifies an increasing pattern\",\"help\":\"DIR=INC\",\"type\":\"value\"},{\"name\":\"DIR=\",\"followsDelimiter\":\"/\",\"description\":\"specifies a decreasing pattern\",\"help\":\"DIR=DEC\",\"type\":\"value\"},{\"name\":\"CODE=\",\"followsDelimiter\":\"/\",\"description\":\"specifies an identifier for test (A--H)\",\"help\":\"CODE=*character*\",\"type\":\"value\"},{\"name\":\"LABEL=\",\"followsDelimiter\":\"/\",\"description\":\"specifies a label for points if signal\",\"help\":\"LABEL=*'label'*\",\"type\":\"value\"},{\"name\":\"LEGEND=\",\"followsDelimiter\":\"/\",\"description\":\"specifies a legend used with the TABLELEGEND option\",\"help\":\"LEGEND=*'legend'*\",\"type\":\"value\"}]},{\"name\":\"TESTS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies customized tests for special causes for the primary control chart to search for a statistically significant linear trend over a window of k points\",\"help\":\"TESTS=S(K=*k* CLEV=*α* FORM=*character* CODE=*character* LABEL=*'label'* LEGEND=*'legend'*)\",\"type\":\"value\",\"arguments\":[{\"name\":\"K=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the number of points in sliding window (k > 2)\",\"help\":\"K=*k*\",\"type\":\"value\"},{\"name\":\"CLEV=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the Type I (false positive) error rate (0 < α ≤ 0.5)\",\"help\":\"CLEV=*α*\",\"type\":\"value\"},{\"name\":\"FORM=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the type of trend test (P=parametric, N=nonparametric)\",\"help\":\"FORM=*character*\",\"type\":\"value\"},{\"name\":\"CODE=\",\"followsDelimiter\":\"/\",\"description\":\"specifies an identifier for test (A--H)\",\"help\":\"CODE=*character*\",\"type\":\"value\"},{\"name\":\"LABEL=\",\"followsDelimiter\":\"/\",\"description\":\"specifies a label for points if signal\",\"help\":\"LABEL=*'label'*\",\"type\":\"value\"},{\"name\":\"LEGEND=\",\"followsDelimiter\":\"/\",\"description\":\"specifies a legend used with the TABLELEGEND option\",\"help\":\"LEGEND=*'legend'*\",\"type\":\"value\"}]},{\"name\":\"TOTPANELS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the total number of panels to be used to display the chart\",\"help\":\"TOTPANELS=*n*\",\"type\":\"value\"},{\"name\":\"TYPE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the value of the _TYPE_ variable in the OUTLIMITS= data set, which in turn indicates whether certain parameter variables in this data set represent estimates or standard (known) values\",\"help\":\"TYPE=ESTIMATE | STANDARD\",\"type\":\"choice\"},{\"name\":\"U0=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a known (standard) value u0 for the average number u of nonconformities per unit produced by the process\",\"help\":\"U0=*value*\",\"type\":\"value\"},{\"name\":\"UCLLABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a label for the upper control limit in the primary chart\",\"help\":\"UCLLABEL='*label*'\",\"type\":\"value\"},{\"name\":\"VAXIS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies major tick mark values for the vertical axis of a primary chart\",\"help\":\"VAXIS=*value-list* | AXIS*n*\",\"type\":\"value\"},{\"name\":\"VFORMAT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a format to be used for displaying tick mark labels on the vertical axis of a primary chart\",\"help\":\"VFORMAT=*format*\",\"type\":\"value\"},{\"name\":\"VFORMAT2=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a format to be used for displaying tick mark labels on the vertical axis of a secondary chart\",\"help\":\"VFORMAT2=*format*\",\"type\":\"value\"},{\"name\":\"VOFFSET=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the length of the offset at each end of the vertical axis\",\"help\":\"VOFFSET=*value*\",\"type\":\"value\"},{\"name\":\"VREF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"draws reference lines perpendicular to the vertical axis on the primary chart\",\"help\":\"VREF=*value-list* | *SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"VREFLABELS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies labels for the reference lines requested by the VREF= option\",\"help\":\"VREFLABELS='*label1*'...'*labeln*'\",\"type\":\"value\"},{\"name\":\"VREFLABPOS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the horizontal position of the VREFLABELS= and VREF2LABELS= labels\",\"help\":\"VREFLABPOS=1 | 2 | 3\",\"type\":\"choice\",\"arguments\":[{\"name\":\"1\",\"followsDelimiter\":\"/\",\"description\":\"left-justifies in subplot area\",\"type\":\"standalone\"},{\"name\":\"2\",\"followsDelimiter\":\"/\",\"description\":\"right-justifies in subplot area\",\"type\":\"standalone\"},{\"name\":\"3\",\"followsDelimiter\":\"/\",\"description\":\"left-justifies in right margin\",\"type\":\"standalone\"}]},{\"name\":\"VZERO\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"forces the origin to be included in the vertical axis for a primary chart\",\"type\":\"standalone\"},{\"name\":\"VZERO2\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"forces the origin to be included in the vertical axis for a secondary chart\",\"type\":\"standalone\"},{\"name\":\"WESTGARD=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"requests that one or more of the Westgard rules (tests for special causes) be applied\",\"help\":\"WESTGARD=*index-list*\",\"type\":\"value\",\"arguments\":[{\"name\":\"1\",\"followsDelimiter\":\"/\",\"description\":\"specifies one point in Zone A or beyond\",\"type\":\"standalone\"},{\"name\":\"2\",\"followsDelimiter\":\"/\",\"description\":\"specifies one point beyond Zone A (outside the control limits)\",\"type\":\"standalone\"},{\"name\":\"3\",\"followsDelimiter\":\"/\",\"description\":\"specifies two points in a row in Zone A or beyond on the same side of the central line\",\"type\":\"standalone\"},{\"name\":\"4\",\"followsDelimiter\":\"/\",\"description\":\"specifies at least one point in Zone A or beyond on each side of the central line\",\"type\":\"standalone\"},{\"name\":\"5\",\"followsDelimiter\":\"/\",\"description\":\"specifies four points in a row in Zone B or beyond on the same side of the central line\",\"type\":\"standalone\"},{\"name\":\"6\",\"followsDelimiter\":\"/\",\"description\":\"specifies ten points in a row on the same side of the central line\",\"type\":\"standalone\"}]},{\"name\":\"ZEROSTD\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that a control chart is to be constructed and displayed regardless of whether the estimated process standard deviation is zero\",\"help\":\"ZEROSTD&lt;=NOLIMITS&gt;\",\"type\":\"standaloneOrValue\"},{\"name\":\"ZONE2VALUES\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"labels R or s chart zones lines with their values\",\"type\":\"standalone\"},{\"name\":\"ZONELABELS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"adds the labels A, B, and C to zone lines requested with the ZONES or ZONEVALUES options\",\"type\":\"standalone\"},{\"name\":\"ZONES\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"adds lines to a primary chart that delineate zones A, B, and C for standard tests requested with the TESTS= option\",\"type\":\"standalone\"},{\"name\":\"ZONEVALPOS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the horizontal position of the ZONEVALUES= and ZONE2VALUES= labels\",\"help\":\"ZONEVALPOS=1 | 2 | 3\",\"type\":\"choice\",\"arguments\":[{\"name\":\"1\",\"followsDelimiter\":\"/\",\"description\":\"left-justifies in subplot area\",\"type\":\"standalone\"},{\"name\":\"2\",\"followsDelimiter\":\"/\",\"description\":\"right-justifies in subplot area\",\"type\":\"standalone\"},{\"name\":\"3\",\"followsDelimiter\":\"/\",\"description\":\"left-justifies in right margin\",\"type\":\"standalone\"}]},{\"name\":\"ZONEVALUES\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"labels the primary chart zones lines with their values\",\"type\":\"standalone\"},{\"name\":\"BLOCKREFTRANSPARENCY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"PHASEREFTRANSPARENCY=\",\"REFFILLTRANSPARENCY=\"],\"description\":\"specifies the wall fill transparency for blocks and phases when transparency is used in ODS Graphics output\",\"help\":\"BLOCKREFTRANSPARENCY=*value*\",\"type\":\"value\"},{\"name\":\"BOXTRANSPARENCY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the box fill transparency for box-and-whisker charts when transparency is used in ODS Graphics output\",\"help\":\"BOXTRANSPARENCY=*value*\",\"type\":\"value\"},{\"name\":\"INFILLTRANSPARENCY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the control limit infill transparency when transparency is used in ODS Graphics output\",\"help\":\"INFILLTRANSPARENCY=*value*\",\"type\":\"value\"},{\"name\":\"MARKERDISPLAY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a subset of subgroups to be plotted with markers on a primary chart that is not an R or s chart\",\"help\":\"MARKERDISPLAY=OOC | UPPER | LOWER | RUNSTEST\",\"type\":\"choice\",\"arguments\":[{\"name\":\"OOC\",\"followsDelimiter\":\"/\",\"description\":\"selects subgroups outside the control limits\",\"type\":\"standalone\"},{\"name\":\"UPPER\",\"followsDelimiter\":\"/\",\"description\":\"selects subgroups above the upper control limit\",\"type\":\"standalone\"},{\"name\":\"LOWER\",\"followsDelimiter\":\"/\",\"description\":\"selects subgroups below the lower control limit\",\"type\":\"standalone\"},{\"name\":\"RUNSTEST\",\"followsDelimiter\":\"/\",\"description\":\"selects subgroups that signal positive tests for special causes\",\"type\":\"standalone\"}]},{\"name\":\"MARKERDISPLAY2=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a subset of subgroups to be plotted with markers on an R or s chart\",\"help\":\"MARKERDISPLAY2=OOC | UPPER | LOWER | RUNSTEST\",\"type\":\"choice\",\"arguments\":[{\"name\":\"OOC\",\"followsDelimiter\":\"/\",\"description\":\"selects subgroups outside the control limits\",\"type\":\"standalone\"},{\"name\":\"UPPER\",\"followsDelimiter\":\"/\",\"description\":\"selects subgroups above the upper control limit\",\"type\":\"standalone\"},{\"name\":\"LOWER\",\"followsDelimiter\":\"/\",\"description\":\"selects subgroups below the lower control limit\",\"type\":\"standalone\"},{\"name\":\"RUNSTEST\",\"followsDelimiter\":\"/\",\"description\":\"selects subgroups that signal positive tests for special causes\",\"type\":\"standalone\"}]},{\"name\":\"MARKERLABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a variable whose values provide labels for the subgroups that are plotted with markers on a primary chart that is not an R or s chart\",\"help\":\"MARKERLABEL=(*variable*)\",\"type\":\"value\"},{\"name\":\"MARKERLABEL2=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a variable whose values provide labels for the subgroups that are plotted with markers on an R or s chart\",\"help\":\"MARKERLABEL2=(*variable*)\",\"type\":\"value\"},{\"name\":\"MARKERMISSINGGROUP=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies whether subgroups with missing symbol-variable values are plotted with a unique marker\",\"help\":\"MARKERMISSINGGROUP=TRUE | FALSE\",\"type\":\"choice\"},{\"name\":\"MARKERS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"plots subgroup points with markers\",\"type\":\"standalone\"},{\"name\":\"NOBLOCKREF\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"NOPHASEREF\",\"NOREF\"],\"description\":\"suppresses block and phase reference lines from ODS Graphics output\",\"type\":\"standalone\"},{\"name\":\"NOBLOCKREFFILL\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"NOPHASEREFFILL\",\"NOREFFILL\"],\"description\":\"suppresses the block and phase wall fills from ODS Graphics output\",\"type\":\"standalone\"},{\"name\":\"NOBOXFILLLEGEND\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"NOFILLLEGEND\",\"NOSTARFILLLEGEND\"],\"description\":\"suppresses the legend for the levels of a BOXFILL= or STARFILL= variable in ODS Graphics output\",\"type\":\"standalone\"},{\"name\":\"NOTRANSPARENCY\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"disables transparency in ODS Graphics output, so that all graph features are opaque\",\"type\":\"standalone\"},{\"name\":\"ODSFOOTNOTE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"adds a footnote to ODS Graphics output\",\"help\":\"ODSFOOTNOTE=FOOTNOTE | FOOTNOTE1 | '*string*'\",\"type\":\"value\"},{\"name\":\"ODSFOOTNOTE2=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"adds a secondary footnote to ODS Graphics output\",\"help\":\"ODSFOOTNOTE2=FOOTNOTE2 | '*string*'\",\"type\":\"value\"},{\"name\":\"ODSLEGENDEXPAND\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that legend entries contain all levels observed in the data\",\"type\":\"standalone\"},{\"name\":\"ODSTITLE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a title for ODS Graphics output\",\"help\":\"ODSTITLE=TITLE | TITLE1 | NONE | DEFAULT | LABELFMT | '*string*'\",\"type\":\"value\"},{\"name\":\"ODSTITLE2=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a secondary title for ODS Graphics output\",\"help\":\"ODSTITLE2=TITLE2 | '*string*'\",\"type\":\"value\"},{\"name\":\"OUTFILLTRANSPARENCY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the control limit outfill transparency when transparency is used in ODS Graphics output\",\"help\":\"OUTFILLTRANSPARENCY=*value*\",\"type\":\"value\"},{\"name\":\"OUTHIGHURL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a variable whose values are URLs to be associated with outlier points above the upper fence on a schematic box chart when ODS Graphics output is directed into HTML\",\"help\":\"OUTHIGHURL=*variable*\",\"type\":\"value\"},{\"name\":\"OUTLOWURL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a variable whose values are URLs to be associated with outlier points below the lower fence on a schematic box chart when ODS Graphics output is directed into HTML\",\"help\":\"OUTLOWURL=*variable*\",\"type\":\"value\"},{\"name\":\"OVERLAY2URL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies variables whose values are URLs to be associated with points on secondary chart overlays\",\"help\":\"OVERLAY2URL=(*variable-list*)\",\"type\":\"value\"},{\"name\":\"OVERLAYURL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies variables whose values are URLs to be associated with points on primary chart overlays\",\"help\":\"OVERLAYURL=(*variable-list*)\",\"type\":\"value\"},{\"name\":\"PHASEBOXLABELS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"draws phase labels as titles along the top of phase boxes\",\"type\":\"standalone\"},{\"name\":\"PHASEPOS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the vertical position of the phase legend\",\"help\":\"PHASEPOS=1 | 2 | 3 | 4\",\"type\":\"choice\",\"arguments\":[{\"name\":\"1\",\"followsDelimiter\":\"/\",\"description\":\"places at top of chart, offset from axis frame\",\"type\":\"standalone\"},{\"name\":\"2\",\"followsDelimiter\":\"/\",\"description\":\"places at top of chart, immediately above axis frame\",\"type\":\"standalone\"},{\"name\":\"3\",\"followsDelimiter\":\"/\",\"description\":\"places at bottom of chart, immediately above horizontal axis\",\"type\":\"standalone\"},{\"name\":\"4\",\"followsDelimiter\":\"/\",\"description\":\"places at bottom of chart, below horizontal axis label\",\"type\":\"standalone\"}]},{\"name\":\"PHASEREFLEVEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"enables you to associate phase reference lines (block reference lines) with either the innermost or the outermost level\",\"help\":\"PHASEREFLEVEL=INNER | OUTER | NONE\",\"type\":\"choice\"},{\"name\":\"QCSYMBOLS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies which set of symbol markers is used to plot points on a control chart\",\"help\":\"QCSYMBOLS=TRUE | FALSE\",\"type\":\"choice\"},{\"name\":\"SIMULATEQCFONT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"draws the central line labels using a simulated software font rather than a hardware font\",\"type\":\"standalone\"},{\"name\":\"STARTRANSPARENCY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the star fill transparency when transparency is used in ODS Graphics output\",\"help\":\"STARTRANSPARENCY=*value*\",\"type\":\"value\"},{\"name\":\"URL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies URLs as values of the specified character variable (or formatted values of a numeric variable) to associate with subgroup points on a primary control chart when ODS Graphics output is directed into HTML\",\"help\":\"URL=*variable*\",\"type\":\"value\"},{\"name\":\"URL2=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies URLs as values of the specified character variable (or formatted values of a numeric variable) to associate with subgroup points on a secondary control chart when ODS Graphics output is directed into HTML\",\"help\":\"URL2=*variable*\",\"type\":\"value\"},{\"name\":\"ANNOTATE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"ANNO=\"],\"description\":\"specifies an ANNOTATE= type data set that enhances a primary chart\",\"help\":\"ANNOTATE=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"BILEVEL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"arranges the Shewhart chart in two levels (rather than the default of one level) so that twice as much data can be displayed on a page or screen\",\"type\":\"standalone\"},{\"name\":\"CAXIS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the color for the axes and tick marks\",\"help\":\"CAXIS=*color*\",\"type\":\"color\"},{\"name\":\"CBLOCKLAB=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies fill colors for the frames that enclose the block-variable labels in a block legend\",\"help\":\"CBLOCKLAB=*color* | (*color-list*)\",\"type\":\"color\"},{\"name\":\"CBLOCKVAR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies variables whose values are colors for filling the background of the legend associated with block-variables\",\"help\":\"CBLOCKVAR=*variable* | (*variable-list*)\",\"type\":\"value\"},{\"name\":\"CCLIP=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a color for the plotting symbol that is specified with the CLIPSYMBOL option to mark clipped points\",\"help\":\"CCLIP=*color*\",\"type\":\"color\"},{\"name\":\"CCONNECT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the color for the line segments connecting points on the chart\",\"help\":\"CCONNECT=*color*\",\"type\":\"color\"},{\"name\":\"CCOVERLAY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the colors for the line segments connecting points on primary chart overlays\",\"help\":\"CCOVERLAY=(*color-list*)\",\"type\":\"color\"},{\"name\":\"CCOVERLAY2=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the colors for the line segments connecting points on secondary chart overlays\",\"help\":\"CCOVERLAY2=(*color-list*)\",\"type\":\"color\"},{\"name\":\"CFRAME=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the colors for filling the rectangle enclosed by the axes and the frame\",\"help\":\"CFRAME=*color* | (*color-list*)\",\"type\":\"color\"},{\"name\":\"CGRID=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the color for the grid requested by the ENDGRID or GRID option\",\"help\":\"CGRID=*color*\",\"type\":\"color\"},{\"name\":\"CHREF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the color for the lines requested by the HREF= and HREF2= options\",\"help\":\"CHREF=*color*\",\"type\":\"color\"},{\"name\":\"CLABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the color for labels produced by the ALLLABEL=, ALLLABEL2=, OUTLABEL=, and OUTLABEL2= options\",\"help\":\"CLABEL=*color*\",\"type\":\"color\"},{\"name\":\"CLIMITS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the color for the control limits, the central line, and the labels for these lines\",\"help\":\"CLIMITS=*color*\",\"type\":\"color\"},{\"name\":\"CLIPLEGPOS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the position for the legend that indicates the number of clipped points when the CLIPFACTOR= option is used\",\"help\":\"CLIPLEGPOS=TOP | BOTTOM\",\"type\":\"choice\"},{\"name\":\"CLIPSYMBOL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a plot symbol used to identify clipped points on the chart and in the legend when the CLIPFACTOR= option is used\",\"help\":\"CLIPSYMBOL=*symbol*\",\"type\":\"value\"},{\"name\":\"CLIPSYMBOLHT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the height for the symbol marker used to identify clipped points on the chart when the CLIPFACTOR= option is used\",\"help\":\"CLIPSYMBOLHT=*value*\",\"type\":\"value\"},{\"name\":\"CNEEDLES=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"requests that points are to be connected to the central line with vertical line segments (needles) and specifies the color of the needles\",\"help\":\"CNEEDLES=*color*\",\"type\":\"color\"},{\"name\":\"COUTFILL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the fill color for the areas outside the control limits that lie between the connected points and the control limits and are bounded by connecting lines\",\"help\":\"COUTFILL=*color*\",\"type\":\"color\"},{\"name\":\"COVERLAY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the colors used to plot primary chart overlay variables specified in the OVERLAY= list\",\"help\":\"COVERLAY=(*color-list*)\",\"type\":\"color\"},{\"name\":\"COVERLAY2=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the colors used to plot secondary chart overlay variables specified in the OVERLAY2= list\",\"help\":\"COVERLAY2=(*color-list*)\",\"type\":\"color\"},{\"name\":\"COVERLAYCLIP=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the color used to plot clipped values on overlay plots when the CLIPFACTOR= option is used\",\"help\":\"COVERLAYCLIP=*color*\",\"type\":\"color\"},{\"name\":\"CPHASELEG=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a text color for the phase labels requested with the PHASELEGEND option\",\"help\":\"CPHASELEG=*color*\",\"type\":\"color\"},{\"name\":\"CSTARCIRCLES=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a color for the circles requested with the STARCIRCLES= option\",\"help\":\"CSTARCIRCLES=*color*\",\"type\":\"color\"},{\"name\":\"CSTARFILL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a color or colors for filling the interior of stars requested with the STARVERTICES= option\",\"help\":\"CSTARFILL=*color* | (*variable*)\",\"type\":\"color\"},{\"name\":\"CSTARS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a color or colors for the outlines of stars requested with the STARVERTICES= option\",\"help\":\"CSTARS=*color* | (*variable*)\",\"type\":\"color\"},{\"name\":\"CTESTLABBOX=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the color for boxes enclosing labels for positive tests for special causes requested with the TESTLABBOX option\",\"help\":\"CTESTLABBOX=*color*\",\"type\":\"color\"},{\"name\":\"CTESTS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies colors for labels indicating points where a test for special causes specified in the TESTS= option is positive\",\"help\":\"CTESTS=*color* | *test-color-list*\",\"type\":\"color\"},{\"name\":\"CTESTSYMBOL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the color of the symbol used to plot subgroups with positive tests for special causes\",\"help\":\"CTESTSYMBOL=*color*\",\"type\":\"color\"},{\"name\":\"CTEXT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the color for tick mark values, axis labels, the sample size legend, and the control limit legend\",\"help\":\"CTEXT=*color*\",\"type\":\"color\"},{\"name\":\"CVREF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the color for reference lines requested by the VREF= and VREF2= options\",\"help\":\"CVREF=*color*\",\"type\":\"color\"},{\"name\":\"CZONES=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"requests lines marking zones A, B, and C for the tests for special causes\",\"help\":\"CZONES=*color*\",\"type\":\"color\"},{\"name\":\"DESCRIPTION=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a description, up to 256 characters long, for the GRSEG catalog entry for the primary chart\",\"help\":\"DESCRIPTION='*string*'\",\"type\":\"value\"},{\"name\":\"ENDGRID\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"a grid to the rightmost portion of the chart, beginning with the first labeled major tick mark position that follows the last plotted point\",\"type\":\"standalone\"},{\"name\":\"FONT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a software font for labels and legends\",\"help\":\"FONT=*font*\",\"type\":\"value\"},{\"name\":\"HEIGHT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the height (in vertical screen percent units) of the text for axis labels and legends\",\"help\":\"HEIGHT=*value*\",\"type\":\"value\"},{\"name\":\"HMINOR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the number of (unlabeled) minor tick marks between each major tick mark on the horizontal axis\",\"help\":\"HMINOR=*n*\",\"type\":\"value\"},{\"name\":\"HTML=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a variable whose values create links associated with subgroup points on a primary control chart when traditional graphics output is directed into HTML\",\"help\":\"HTML=*variable*\",\"type\":\"value\"},{\"name\":\"HTML2=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a variable whose values create links associated with subgroup points on a secondary control chart when traditional graphics output is directed into HTML\",\"help\":\"HTML2=*variable*\",\"type\":\"value\"},{\"name\":\"HTML_LEGEND=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies HTML links as values of the specified character variable (or formatted values of a numeric variable)\",\"help\":\"HTML_LEGEND=*variable*\",\"type\":\"value\"},{\"name\":\"LABELANGLE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the angle at which labels requested with the ALLLABEL=, ALLLABEL2=, OUTLABEL=, and OUTLABEL2= options are drawn\",\"help\":\"LABELANGLE=*angle*\",\"type\":\"value\"},{\"name\":\"LABELFONT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"TESTFONT=\"],\"description\":\"specifies a software font for labels requested with the ALLLABEL=, ALLLABEL2=, OUTLABEL=, OUTLABEL2=, STARLABEL=, TESTLABEL=, and TESTLABELn= options\",\"help\":\"LABELFONT=*font*\",\"type\":\"value\"},{\"name\":\"LABELHEIGHT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"TESTHEIGHT=\"],\"description\":\"specifies the height (in vertical percent screen units) for labels requested with the ALLLABEL=, ALLLABEL2=, OUTLABEL=, OUTLABEL2=, STARLABEL=, TESTLABEL=, and TESTLABELn= options\",\"help\":\"LABELHEIGHT=*value*\",\"type\":\"value\"},{\"name\":\"LENDGRID=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the line type for the grid requested with the ENDGRID option\",\"help\":\"LENDGRID=*n*\",\"type\":\"value\"},{\"name\":\"LGRID=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the line type for the grid requested with the GRID option\",\"help\":\"LGRID=*n*\",\"type\":\"value\"},{\"name\":\"LHREF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the line type for reference lines requested with the HREF= and HREF2= options\",\"help\":\"LHREF=*linetype*\",\"type\":\"value\"},{\"name\":\"LLIMITS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the line type for control limits\",\"help\":\"LLIMITS=*linetype*\",\"type\":\"value\"},{\"name\":\"LOVERLAY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies line types for the line segments connecting points on primary chart overlays corresponding to the OVERLAY= list\",\"help\":\"LOVERLAY=(*linetypes*)\",\"type\":\"value\"},{\"name\":\"LOVERLAY2=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies line types for the line segments connecting points on secondary chart overlays corresponding to the OVERLAY2= list\",\"help\":\"LOVERLAY2=(*linetypes*)\",\"type\":\"value\"},{\"name\":\"LSTARCIRCLES=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies one or more line types for the circles requested with the STARCIRCLES= option\",\"help\":\"LSTARCIRCLES=*linetypes*\",\"type\":\"value\"},{\"name\":\"LSTARS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the line types for the outlines of stars requested with the STARVERTICES= option\",\"help\":\"LSTARS=*linetype* | (*variable*)\",\"type\":\"value\"},{\"name\":\"LTESTS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the line type for the line segments that connect patterns of points for which a test for special causes (requested with the TESTS= option) is positive\",\"help\":\"LTESTS=*linetype*\",\"type\":\"value\"},{\"name\":\"LVREF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the line type for reference lines requested by the VREF= and VREF2= options\",\"help\":\"LVREF=*linetype*\",\"type\":\"value\"},{\"name\":\"LZONES=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the line type for lines that delineate zones A, B, and C for standard tests requested with the TESTS= and/or TESTS2= options\",\"help\":\"LZONES=*n*\",\"type\":\"value\"},{\"name\":\"NAME=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the name of the GRSEG catalog entry for the primary chart, and the name of the graphics output file if one is created\",\"help\":\"NAME='*string*'\",\"type\":\"value\"},{\"name\":\"NOFRAME\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses the default frame drawn around the chart\",\"type\":\"standalone\"},{\"name\":\"NOLIMITSFRAME\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses the default frame for the control limit information that is displayed across the top of the chart when multiple sets of control limits with distinct multiples of σ and nominal control limit sample sizes are read from a LIMITS= data set\",\"type\":\"standalone\"},{\"name\":\"NOPHASEFRAME\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses the default frame for the legend requested by the PHASELEGEND option\",\"type\":\"standalone\"},{\"name\":\"NOVANGLE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"requests vertical axis labels that are strung out vertically\",\"type\":\"standalone\"},{\"name\":\"NOVLABEL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses the label for the primary vertical axis\",\"type\":\"standalone\"},{\"name\":\"NOV2LABEL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses the label for the secondary vertical axis\",\"type\":\"standalone\"},{\"name\":\"OUTHIGHHTML=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a variable whose values create links to be associated with outlier points above the upper fence on a schematic box chart when traditional graphics output is directed into HTML\",\"help\":\"OUTHIGHHTML=*variable*\",\"type\":\"value\"},{\"name\":\"OUTLOWHTML=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a variable whose values create links to be associated with outlier points below the lower fence on a schematic box chart when traditional graphics output is directed into HTML\",\"help\":\"OUTLOWHTML=*variable*\",\"type\":\"value\"},{\"name\":\"OVERLAY2HTML=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies variables whose values create links to be associated with points on secondary chart overlays corresponding to the OVERLAY2= list\",\"help\":\"OVERLAY2HTML=(*variable-list*)\",\"type\":\"value\"},{\"name\":\"OVERLAY2SYM=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies symbols used to plot overlays on a secondary control chart corresponding to the OVERLAY2= list\",\"help\":\"OVERLAY2SYM=(*symbol-list*)\",\"type\":\"value\"},{\"name\":\"OVERLAY2SYMHT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the heights of symbols used to plot overlays on a secondary control chart corresponding to the OVERLAY2= list\",\"help\":\"OVERLAY2SYMHT=(*value-list*)\",\"type\":\"value\"},{\"name\":\"OVERLAYCLIPSYM=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the symbol used to plot clipped values on overlay plots when the CLIPFACTOR= option is used\",\"help\":\"OVERLAYCLIPSYM=*symbol*\",\"type\":\"value\"},{\"name\":\"OVERLAYCLIPSYMHT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the height for the symbol used to plot clipped values on overlay plots when the CLIPFACTOR= option is used\",\"help\":\"OVERLAYCLIPSYMHT=*value*\",\"type\":\"value\"},{\"name\":\"OVERLAYHTML=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies variables whose values create links to be associated with points on primary chart overlays corresponding to the OVERLAY= list\",\"help\":\"OVERLAYHTML=(*variable-list*)\",\"type\":\"value\"},{\"name\":\"OVERLAYSYM=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies symbols used to plot overlays on the primary control chart corresponding to the OVERLAY= list\",\"help\":\"OVERLAYSYM=(*symbol-list*)\",\"type\":\"value\"},{\"name\":\"OVERLAYSYMHT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the heights of symbols used to plot overlays on the primary control chart corresponding to the OVERLAY= list\",\"help\":\"OVERLAYSYMHT=(*value-list*)\",\"type\":\"value\"},{\"name\":\"TESTFONT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"LABELFONT=\"],\"description\":\"specifies a software font for labels requested with the ALLLABEL=, ALLLABEL2=, OUTLABEL=, OUTLABEL2=, STARLABEL=, TESTLABEL=, and TESTLABELn= options\",\"help\":\"TESTFONT=*font*\",\"type\":\"value\"},{\"name\":\"TESTHEIGHT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"LABELHEIGHT=\"],\"description\":\"specifies the height (in vertical percent screen units) for labels requested with the ALLLABEL=, ALLLABEL2=, OUTLABEL=, OUTLABEL2=, STARLABEL=, TESTLABEL=, and TESTLABELn= options\",\"help\":\"TESTHEIGHT=*value*\",\"type\":\"value\"},{\"name\":\"TESTSYMBOL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the symbol for plotting subgroups with positive tests for special causes\",\"help\":\"TESTSYMBOL=*symbol*\",\"type\":\"value\"},{\"name\":\"TESTSYMBOLHT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the height of the symbol used to plot subgroups with positive tests for special causes\",\"help\":\"TESTSYMBOLHT=*value*\",\"type\":\"value\"},{\"name\":\"TURNALL\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"TURNOUT\"],\"description\":\"turns the labels produced by the ALLLABEL=, ALLLABEL2=, OUTLABEL=, and OUTLABEL2= options so that they are strung out vertically\",\"type\":\"standalone\"},{\"name\":\"TURNHLABELS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"turns the major tick mark labels for the horizontal (subgroup) axis so that they are strung out vertically\",\"type\":\"standalone\"},{\"name\":\"VMINOR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the number of minor tick marks between each major tick mark on the vertical axis\",\"help\":\"VMINOR=*n*\",\"type\":\"value\"},{\"name\":\"WAXIS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the width in pixels for the axis and frame lines\",\"help\":\"WAXIS=*n*\",\"type\":\"value\"},{\"name\":\"WGRID=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the width in pixels for grid lines requested with the ENDGRID and GRID options\",\"help\":\"WGRID=*n*\",\"type\":\"value\"},{\"name\":\"WLIMITS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the width in pixels for the control limits and central line\",\"help\":\"WLIMITS=*n*\",\"type\":\"value\"},{\"name\":\"WNEEDLES=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the width in pixels of needles connecting plotted points to the central line, as requested with the NEEDLES option\",\"help\":\"WNEEDLES=*n*\",\"type\":\"value\"},{\"name\":\"WOVERLAY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the widths in pixels for the line segments connecting points on primary chart overlay plots corresponding to the OVERLAY= list\",\"help\":\"WOVERLAY=(*value-list*)\",\"type\":\"value\"},{\"name\":\"WOVERLAY2=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the widths in pixels for the line segments connecting points on secondary chart overlay plots corresponding to the OVERLAY2= list\",\"help\":\"WOVERLAY2=(*value-list*)\",\"type\":\"value\"},{\"name\":\"WSTARCIRCLES=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the width in pixels of the outline of circles requested by the STARCIRCLES= option\",\"help\":\"WSTARCIRCLES=*n*\",\"type\":\"value\"},{\"name\":\"WSTARS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the width in pixels of the outline of stars requested by the STARVERTICES= option\",\"help\":\"WSTARS=*n*\",\"type\":\"value\"},{\"name\":\"WTESTS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the width in pixels of the line segments that connect patterns of points for which a test for special causes (requested with the TESTS= or TESTS2= option) is positive\",\"help\":\"WTESTS=*n*\",\"type\":\"value\"}]},{\"name\":\"IRCHART\",\"description\":\"creates control charts for individual measurements and moving ranges\",\"help\":\"IRCHART  (processes) * subgroup-variable<(block-variables)><=symbol-variable | ='character'></ options>;                                              \\nprocess is the name of the variable containing the individual measurements, or the name of the variable containing the individual measurements as well as the prefix of the variable containing the moving ranges in the HISTORY= data set, or the value of the variable _VAR_ in the TABLE= data set                     \\nsubgroup-variable is the variable that identifies subgroups in the data                     \\nblock-variables are optional variables that group the data into blocks of consecutive subgroups                     \\nsymbol-variable is an optional variable whose levels (unique values) determine the symbol marker that is used to plot the individual measurements and moving ranges                     \\ncharacter is a character that is used to plot the individual measurements and moving ranges when you produce traditional graphics                     \",\"arguments\":[{\"name\":\"ALLLABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"labels every point on the primary chart with the value plotted for that subgroup or with the value of variable in the input data set\",\"help\":\"ALLLABEL=VALUE | (*variable*)\",\"type\":\"value\"},{\"name\":\"ALLLABEL2=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"labels every point on an R, s, or trend chart with the value plotted for that subgroup or with the value of variable in the input data set\",\"help\":\"ALLLABEL2=VALUE | (*variable*)\",\"type\":\"value\"},{\"name\":\"ALPHA=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"requests α probability limits instead of 3σ control limits\",\"help\":\"ALPHA=*value*\",\"type\":\"value\"},{\"name\":\"BLOCKLABELPOS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the position of a block-variable label in the block legend\",\"help\":\"BLOCKLABELPOS=ABOVE | LEFT | RIGHT\",\"type\":\"choice\"},{\"name\":\"BLOCKLABTYPE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies how lengthy block variable values are treated when there is insufficient space to display them in the block legend\",\"help\":\"BLOCKLABTYPE=SCALED | TRUNCATED | ROTATE | ROTATEALL | *height*\",\"type\":\"value\"},{\"name\":\"BLOCKPOS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the vertical position of the legend for the values of the block-variables\",\"help\":\"BLOCKPOS=*n*\",\"type\":\"value\"},{\"name\":\"BLOCKREP\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that block variable values for all subgroups are to be displayed\",\"type\":\"standalone\"},{\"name\":\"BLOCKVAR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies variables whose values are used to assign colors for filling the background of the legend associated with block variables\",\"help\":\"BLOCKVAR=*variable* | (*variable-list*)\",\"type\":\"value\"},{\"name\":\"BOXES=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a variable whose values are used to assign colors for the outlines of box-and-whiskers plots\",\"help\":\"BOXES=*variable*\",\"type\":\"value\"},{\"name\":\"BOXFILL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies how box-and-whisker plots are filled with colors from the ODS style\",\"help\":\"BOXFILL=*variable* | NONE | EMPTY\",\"type\":\"value\"},{\"name\":\"CFRAMELAB=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"CFRAMELAB\"],\"description\":\"specifies the color for filling rectangles that frame the point labels displayed with the ALLLABEL=, ALLLABEL2=, OUTLABEL=, and OUTLABEL2= options\",\"help\":\"CFRAMELAB=*color*\",\"type\":\"color\"},{\"name\":\"CIINDICES\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"requests capability index confidence limits based on subgroup summary data, calculated using \\\"effective degrees of freedom\\\"\",\"help\":\"CIINDICES &lt;(&lt;TYPE=*keyword*&gt;&lt;ALPHA=*value*&gt;)&gt;\",\"type\":\"standaloneOrValue\",\"arguments\":[{\"name\":\"TYPE=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the type of confidence limit\",\"help\":\"TYPE=LOWER | UPPER | TWOSIDED\",\"type\":\"choice\"},{\"name\":\"ALPHA=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the default confidence level to compute confidence limits\",\"help\":\"ALPHA=*value*\",\"type\":\"value\"}]},{\"name\":\"CINFILL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the color for the area inside the upper and lower control limits\",\"help\":\"CINFILL=*color* | EMPTY | NONE\",\"type\":\"color\"},{\"name\":\"CLIPFACTOR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"requests clipping of extreme points on the control chart\",\"help\":\"CLIPFACTOR=*factor*\",\"type\":\"value\"},{\"name\":\"CLIPLEGEND=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the label for the legend that indicates the number of clipped points when the CLIPFACTOR= option is used\",\"help\":\"CLIPLEGEND='*label*'\",\"type\":\"value\"},{\"name\":\"CLIPSUBCHAR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a substitution character (such as #) for the label provided with the CLIPLEGEND= option\",\"help\":\"CLIPSUBCHAR='*character*'\",\"type\":\"value\"},{\"name\":\"COUT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the color for the plotting symbols and the portions of connecting line segments that lie outside the control limits\",\"help\":\"COUT&lt;=*color*&gt;\",\"type\":\"standaloneOrValue\"},{\"name\":\"CSTAROUT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a color for those portions of the outlines of stars (requested with the STARVERTICES= option) that exceed the inner or outer circles\",\"help\":\"CSTAROUT&lt;=*color*&gt;\",\"type\":\"standaloneOrValue\"},{\"name\":\"DISCRETE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that numeric subgroup variable values be treated as discrete values, so that each tick value on the default subgroup axis corresponds to a unique subgroup variable value\",\"type\":\"standalone\"},{\"name\":\"EXCHART\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"creates a control chart only when exceptions occur, specifically, when the control limits are exceeded or when any of the tests requested with the TESTS= option or the TESTS2= option are positive\",\"type\":\"standalone\"},{\"name\":\"FRONTREF\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"draws reference lines specified with the HREF= and VREF= options in front of box-and-whiskers plots\",\"type\":\"standalone\"},{\"name\":\"GRID\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"adds a grid to the control chart\",\"type\":\"standalone\"},{\"name\":\"HAXIS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies tick mark values for the horizontal (subgroup) axis\",\"help\":\"HAXIS=*values* | AXIS*n*\",\"type\":\"value\"},{\"name\":\"HOFFSET=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the length of the offset at each end of the horizontal axis\",\"help\":\"HOFFSET=*value*\",\"type\":\"value\"},{\"name\":\"HREF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"draws reference lines perpendicular to the horizontal (subgroup) axis on the primary chart\",\"help\":\"HREF=*values*\",\"type\":\"value\"},{\"name\":\"HREF2=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"draws reference lines perpendicular to the horizontal (subgroup) axis on the secondary chart\",\"help\":\"HREF2=*values*\",\"type\":\"value\"},{\"name\":\"HREF2DATA=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"draws reference lines perpendicular to the horizontal (subgroup) axis on the secondary chart\",\"help\":\"HREF2DATA=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"HREF2LABELS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies labels for the reference lines requested by the HREF2= option\",\"help\":\"HREF2LABELS='*label1*'...'*labeln*'\",\"type\":\"value\"},{\"name\":\"HREFDATA=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"draws reference lines perpendicular to the horizontal (subgroup) axis on the primary chart\",\"help\":\"HREFDATA=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"HREFLABELS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies labels for the reference lines requested by the HREF= option\",\"help\":\"HREFLABELS='*label1*'...'*labeln*'\",\"type\":\"value\"},{\"name\":\"HREFLABPOS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the vertical position of the HREFLABEL= and HREF2LABEL= labels\",\"help\":\"HREFLABPOS=*n*\",\"type\":\"value\",\"arguments\":[{\"name\":\"1\",\"followsDelimiter\":\"/\",\"description\":\"positions along top of subplot area\",\"type\":\"standalone\"},{\"name\":\"2\",\"followsDelimiter\":\"/\",\"description\":\"staggers from top to bottom of subplot area\",\"type\":\"standalone\"},{\"name\":\"3\",\"followsDelimiter\":\"/\",\"description\":\"positions along bottom of subplot area\",\"type\":\"standalone\"},{\"name\":\"4\",\"followsDelimiter\":\"/\",\"description\":\"staggers from bottom to top of subplot area\",\"type\":\"standalone\"}]},{\"name\":\"INDEPENDENTZONES\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"INDEPZONES\"],\"description\":\"specifies that the widths of the zones requested with the ZONES option be computed independently above and below the center line of the chart, so that the width of each zone is one-third of the difference between the process mean and the control limit on its side of the chart\",\"type\":\"standalone\"},{\"name\":\"INTERVAL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the natural time interval between consecutive subgroup positions when a time, date, or datetime format is associated with a numeric subgroup variable\",\"help\":\"INTERVAL=DAY | DTDAY | HOUR | MINUTE | MONTH | QTR | SECOND\",\"type\":\"choice\"},{\"name\":\"INTSTART=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the starting value for a numeric horizontal axis, when a date, time, or datetime format is associated with the subgroup variable\",\"help\":\"INTSTART=*value*\",\"type\":\"value\"},{\"name\":\"LCLLABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a label for the lower control limit in the primary chart\",\"help\":\"LCLLABEL='*label*'\",\"type\":\"value\"},{\"name\":\"LCLLABEL2=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a label for the lower control limit in the secondary chart\",\"help\":\"LCLLABEL2='*label*'\",\"type\":\"value\"},{\"name\":\"LIMITN=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies either a fixed or varying nominal sample size for the control limits\",\"help\":\"LIMITN=*n* | VARYING\",\"type\":\"value\"},{\"name\":\"LIMLABSUBCHAR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a substitution character (such as #) for labels provided as quoted strings with the LCLLABEL=, LCLLABEL2=, UCLLABEL=, UCLLABEL2=, CSYMBOL=, NPSYMBOL=, PSYMBOL=, RSYMBOL=, SSYMBOL=, USYMBOL=, and XSYMBOL= options\",\"help\":\"LIMLABSUBCHAR='*character*'\",\"type\":\"value\"},{\"name\":\"LSL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"provides lower specification limits used to compute capability indices\",\"help\":\"LSL=*value-list*\",\"type\":\"value\"},{\"name\":\"LTMARGIN=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"LTM=\"],\"description\":\"specifies the width of the left marginal area for the plot requested with the LTMPLOT= option\",\"help\":\"LTMARGIN=*value*\",\"type\":\"value\"},{\"name\":\"LTMPLOT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"requests a univariate plot of the control chart statistics that is positioned in the left margin of the control chart\",\"help\":\"LTMPLOT=*keyword*\",\"type\":\"value\",\"arguments\":[{\"name\":\"HISTOGRAM\",\"followsDelimiter\":\"/\",\"description\":\"Histogram\",\"type\":\"standalone\"},{\"name\":\"DIGIDOT\",\"followsDelimiter\":\"/\",\"description\":\"Digidot plot\",\"type\":\"standalone\"},{\"name\":\"SKELETAL\",\"followsDelimiter\":\"/\",\"description\":\"Skeletal box-and-whisker plot\",\"type\":\"standalone\"},{\"name\":\"SCHEMATIC\",\"followsDelimiter\":\"/\",\"description\":\"Schematic box-and-whisker plot\",\"type\":\"standalone\"},{\"name\":\"SCHEMATICID\",\"followsDelimiter\":\"/\",\"description\":\"Schematic box-and-whisker plot with outliers labeled\",\"type\":\"standalone\"},{\"name\":\"SCHEMATICIDFAR\",\"followsDelimiter\":\"/\",\"description\":\"Schematic box-and-whisker plot with far outliers labeled\",\"type\":\"standalone\"}]},{\"name\":\"MAXPANELS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the maximum number of pages or screens for a chart\",\"help\":\"MAXPANELS=*n*\",\"type\":\"value\"},{\"name\":\"MISSBREAK\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"determines how subgroups are formed when observations are read from a DATA= data set and a character subgroup-variable is provided\",\"type\":\"standalone\"},{\"name\":\"MRRESTART\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"causes the moving range computation to be restarted when a missing value is encountered\",\"help\":\"MRRESTART&lt;=*specific-missing-value*&gt;\",\"type\":\"standaloneOrValue\"},{\"name\":\"MU0=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a known (standard) value μ0 for the process mean μ\",\"help\":\"MU0=*value*\",\"type\":\"value\"},{\"name\":\"NDECIMAL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the number of decimal digits in the default labels for the control limits and the central line in the primary chart\",\"help\":\"NDECIMAL=*n*\",\"type\":\"value\"},{\"name\":\"NDECIMAL2=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the number of decimal digits in the default labels for the control limits and central line in a secondary chart\",\"help\":\"NDECIMAL2=*n*\",\"type\":\"value\"},{\"name\":\"NEEDLES\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"connects plotted points to the central line with vertical line segments (needles)\",\"type\":\"standalone\"},{\"name\":\"NO3SIGMACHECK\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses the check for 3σ limits when tests for special causes are requested\",\"type\":\"standalone\"},{\"name\":\"NOBYREF\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that the reference line information in an HREF=, HREF2=, VREF=, or VREF2= data set is to be applied uniformly to charts created for all the BY groups in the input data set (DATA=, HISTORY=, or TABLE=)\",\"type\":\"standalone\"},{\"name\":\"NOCHART\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses the creation of the chart\",\"type\":\"standalone\"},{\"name\":\"NOCHART2\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses the creation of a secondary chart\",\"type\":\"standalone\"},{\"name\":\"NOCONNECT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses line segments that connect points on the chart\",\"type\":\"standalone\"},{\"name\":\"NOCTL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses the display of the central line in a primary chart\",\"type\":\"standalone\"},{\"name\":\"NOCTL2\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses the display of the central line in a secondary chart\",\"type\":\"standalone\"},{\"name\":\"NOHLABEL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses the label for the horizontal (subgroup) axis\",\"type\":\"standalone\"},{\"name\":\"NOLCL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses the display of the lower control limit in a primary chart\",\"type\":\"standalone\"},{\"name\":\"NOLCL2\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses the drawing of the lower control limit in a secondary chart\",\"type\":\"standalone\"},{\"name\":\"NOLEGEND\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses the default legend for subgroup sample sizes, which appears by default below the chart\",\"type\":\"standalone\"},{\"name\":\"NOLIMIT0\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses the display of a fixed lower control limit if and only if the value of the limit is zero\",\"type\":\"standalone\"},{\"name\":\"NOLIMITLABEL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses the default labels for the control limits and central lines\",\"type\":\"standalone\"},{\"name\":\"NOLIMITS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses the display of control limits\",\"type\":\"standalone\"},{\"name\":\"NOLIMITSLEGEND\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses the legend for the control limits, which appears by default in the upper right corner of the chart\",\"type\":\"standalone\"},{\"name\":\"NOOVERLAYLEGEND\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses the legend for overlay variables which is displayed by default when the OVERLAY= or OVERLAY2= option is specified\",\"type\":\"standalone\"},{\"name\":\"NOREADLIMITS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that the control limits for each process listed in the chart statement not be read from the LIMITS= data set specified in the PROC SHEWHART statement\",\"type\":\"standalone\"},{\"name\":\"NOTESTACROSS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that tests for special causes requested with the TESTS= or TESTS2= options not be applied across the boundaries of phases (blocks of consecutive subgroups) determined by the READPHASES= option and the variable _PHASE_ in the input data set\",\"type\":\"standalone\"},{\"name\":\"NOTICKREP\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"applies to character-valued subgroup-variables and specifies that only the first occurrence of repeated, adjacent subgroup values is to be labeled on the horizontal axis\",\"type\":\"standalone\"},{\"name\":\"NOTRUNC\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"overrides the vertical axis truncation at zero, which is applied by default to c charts, moving range charts, np charts, p charts, R charts, s charts, and u charts\",\"type\":\"standalone\"},{\"name\":\"NOUCL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses the display of the upper control limit in a primary chart\",\"type\":\"standalone\"},{\"name\":\"NOUCL2\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses the display of the upper control limit in a secondary chart\",\"type\":\"standalone\"},{\"name\":\"NPANELPOS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the number of subgroup positions per panel on each chart\",\"help\":\"NPANELPOS=*n*\",\"type\":\"value\"},{\"name\":\"OUTFILL\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"COUTFILL\"],\"description\":\"fills the areas outside the control limits that lie between the connected points and the control limits and are bounded by connecting lines\",\"type\":\"standalone\"},{\"name\":\"OUTHISTORY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"creates an output data set that contains the subgroup summary statistics\",\"help\":\"OUTHISTORY=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"OUTINDEX=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the value of the _INDEX_ variable in the OUTLIMITS= output data set\",\"help\":\"OUTINDEX='*label*'\",\"type\":\"value\"},{\"name\":\"OUTLABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"labels each point that falls outside the control limits on the primary chart with the value plotted for that subgroup or with the value of variable in the input data set\",\"help\":\"OUTLABEL=VALUE | (*variable*)\",\"type\":\"value\"},{\"name\":\"OUTLABEL2=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"labels each point that falls outside the control limits on an R or s chart with the value plotted for that subgroup or with the value of variable in the input data set\",\"help\":\"OUTLABEL2=VALUE | (*variable*)\",\"type\":\"value\"},{\"name\":\"OUTLIMITS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"creates an output data set that saves the control limits\",\"help\":\"OUTLIMITS=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"OUTPHASE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the value of the _PHASE_ variable in the OUTHISTORY= data set\",\"help\":\"OUTPHASE='*label*'\",\"type\":\"value\"},{\"name\":\"OUTTABLE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"creates an output SAS data set that saves the information plotted on the chart, including the subgroup variable values and their corresponding summary statistics and control limits\",\"help\":\"OUTTABLE=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"OVERLAY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies variables to be overlaid on the primary control chart\",\"help\":\"OVERLAY=(*variable-list*)\",\"type\":\"value\"},{\"name\":\"OVERLAY2=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies variables to be overlaid on a secondary control chart\",\"help\":\"OVERLAY2=(*variable-list*)\",\"type\":\"value\"},{\"name\":\"OVERLAY2ID=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies variables whose formatted values are used to label points on secondary chart overlays\",\"help\":\"OVERLAY2ID=(*variable-list*)\",\"type\":\"value\"},{\"name\":\"OVERLAYID=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies variables whose formatted values are used to label points on primary chart overlays\",\"help\":\"OVERLAYID=(*variable-list*)\",\"type\":\"value\"},{\"name\":\"OVERLAYLEGLAB=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the label displayed to the left of the legend for overlays requested with the OVERLAY= or OVERLAY2= option\",\"help\":\"OVERLAYLEGLAB='*label*'\",\"type\":\"value\"},{\"name\":\"PAGENUM=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the form of the label used for pagination; for example, 'Page #' or 'Page # of #'\",\"help\":\"PAGENUM='*string*'\",\"type\":\"value\"},{\"name\":\"PAGENUMPOS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies where to position the page number requested with the PAGENUM= option\",\"help\":\"PAGENUMPOS=TL | TR | BL | BR | TL100 | TR100 | BL0 | BR0\",\"type\":\"choice\",\"arguments\":[{\"name\":\"TL\",\"followsDelimiter\":\"/\",\"description\":\"specifies the top left\",\"type\":\"standalone\"},{\"name\":\"TR\",\"followsDelimiter\":\"/\",\"description\":\"specifies the top right\",\"type\":\"standalone\"},{\"name\":\"BL\",\"followsDelimiter\":\"/\",\"description\":\"specifies the bottom left\",\"type\":\"standalone\"},{\"name\":\"BR\",\"followsDelimiter\":\"/\",\"description\":\"specifies the bottom right\",\"type\":\"standalone\"},{\"name\":\"TL100\",\"followsDelimiter\":\"/\",\"description\":\"specifies the very top left\",\"type\":\"standalone\"},{\"name\":\"TR100\",\"followsDelimiter\":\"/\",\"description\":\"specifies the very top right\",\"type\":\"standalone\"},{\"name\":\"BL0\",\"followsDelimiter\":\"/\",\"description\":\"specifies the very bottom left\",\"type\":\"standalone\"},{\"name\":\"BR0\",\"followsDelimiter\":\"/\",\"description\":\"specifies the very bottom right\",\"type\":\"standalone\"}]},{\"name\":\"PHASEBREAK\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that the last point in a phase (defined as a block of consecutive subgroups with the same value of the _PHASE_ variable) is not to be connected to the first point in the next phase\",\"type\":\"standalone\"},{\"name\":\"PHASELABTYPE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies how lengthy _PHASE_ variable values are displayed when there is insufficient space in the legend requested with the PHASELEGEND option\",\"help\":\"PHASELABTYPE=SCALED | TRUNCATED | *height*\",\"type\":\"value\"},{\"name\":\"PHASELEGEND\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"identifies the phases requested with the READPHASES= option in a legend across the top of the chart\",\"type\":\"standalone\"},{\"name\":\"PHASELIMITS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that the control limits and center line be labeled for each phase specified with the READPHASES= option, providing the limits are constant within that phase\",\"type\":\"standalone\"},{\"name\":\"PHASEREF\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"delineates the phases specified with the READPHASES= option with reference lines drawn vertically\",\"type\":\"standalone\"},{\"name\":\"PHASEVARLABEL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"displays the label associated with the variable _PHASE_ above the phase values in the phase legend\",\"type\":\"standalone\"},{\"name\":\"PHASEVALSEP\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"displays vertical lines separating phase values in the phase legend\",\"type\":\"standalone\"},{\"name\":\"RANGES\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"estimates the process standard deviation for a boxplot using subgroup ranges\",\"type\":\"standalone\"},{\"name\":\"READALPHA\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that the variable _ALPHA_, rather than the variable _SIGMAS_, be read from a LIMITS= data set when both variables are available in the data set\",\"type\":\"standalone\"},{\"name\":\"READINDEX=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"reads one or more sets of control limits from a LIMITS= data set (specified in the PROC SHEWHART statement) for each process listed in the chart statement\",\"help\":\"READINDEX=*value-list* | ALL\",\"type\":\"value\"},{\"name\":\"READPHASES=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"selects blocks of consecutive observations to be read from the input data set\",\"help\":\"READPHASES=*value-list* | ALL\",\"type\":\"value\"},{\"name\":\"REPEAT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that the horizontal axis of a chart that spans multiple pages be arranged so that the last subgroup position on a page is repeated as the first subgroup position on the next page\",\"type\":\"standalone\"},{\"name\":\"RSYMBOL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a label for the central line in an R chart\",\"help\":\"RSYMBOL=R | RBAR | RPM | R0 | '*label*'\",\"type\":\"value\",\"arguments\":[{\"name\":\"R\",\"followsDelimiter\":\"/\",\"description\":\"R\",\"type\":\"standalone\"},{\"name\":\"RBAR\",\"followsDelimiter\":\"/\",\"description\":\"R bar\",\"type\":\"standalone\"},{\"name\":\"RPM\",\"followsDelimiter\":\"/\",\"description\":\"R prime\",\"type\":\"standalone\"},{\"name\":\"R0\",\"followsDelimiter\":\"/\",\"description\":\"R sub 0\",\"type\":\"standalone\"}]},{\"name\":\"RTMARGIN=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the width of the right marginal area for the plot requested with the RTMPLOT= option\",\"help\":\"RTMARGIN=*value*\",\"type\":\"value\"},{\"name\":\"RTMPLOT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"requests a univariate plot of the control chart statistics that is positioned in the right margin of the control chart\",\"help\":\"RTMPLOT=*keyword*\",\"type\":\"value\",\"arguments\":[{\"name\":\"DIGIDOT\",\"followsDelimiter\":\"/\",\"description\":\"adds a digidot plot\",\"type\":\"standalone\"},{\"name\":\"HISTOGRAM\",\"followsDelimiter\":\"/\",\"description\":\"adds a histogram\",\"type\":\"standalone\"},{\"name\":\"SKELETAL\",\"followsDelimiter\":\"/\",\"description\":\"adds a skeletal box-and-whisker plot\",\"type\":\"standalone\"},{\"name\":\"SCHEMATIC\",\"followsDelimiter\":\"/\",\"description\":\"adds a schematic box-and-whisker plot\",\"type\":\"standalone\"},{\"name\":\"SCHEMATICID\",\"followsDelimiter\":\"/\",\"description\":\"adds a schematic box-and-whisker plot with outliers labeled\",\"type\":\"standalone\"},{\"name\":\"SCHEMATICIDFAR\",\"followsDelimiter\":\"/\",\"description\":\"adds a schematic box-and-whisker plot with far outliers labeled\",\"type\":\"standalone\"}]},{\"name\":\"SEPARATE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"displays primary and secondary charts on separate screens or pages\",\"type\":\"standalone\"},{\"name\":\"SIGMA0=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a known (standard) value σ0 for the process standard deviation σ\",\"help\":\"SIGMA0=*value*\",\"type\":\"value\"},{\"name\":\"SIGMAS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the width of the control limits in terms of the multiple k of the standard error of the individual measurements and moving ranges statistic plotted on the chart\",\"help\":\"SIGMAS=*k*\",\"type\":\"value\"},{\"name\":\"SKIPHLABELS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the number n of consecutive tick mark labels, beginning with the second tick mark label, that are thinned (not displayed) on the horizontal (subgroup) axis\",\"help\":\"SKIPHLABELS=*n*\",\"type\":\"value\"},{\"name\":\"SMETHOD=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a method for estimating the process standard deviation, σ\",\"help\":\"SMETHOD=NOWEIGHT | MVLUE | MAD | MMR \",\"type\":\"choice\",\"arguments\":[{\"name\":\"NOWEIGHT\",\"followsDelimiter\":\"/\",\"description\":\"estimates σ as an unweighted average of unbiased subgroup estimates of σ\",\"type\":\"standalone\"},{\"name\":\"MVLUE\",\"followsDelimiter\":\"/\",\"description\":\"calculates a minimum variance linear unbiased estimate for σ\",\"type\":\"standalone\"},{\"name\":\"MAD\",\"followsDelimiter\":\"/\",\"description\":\"calculates a median absolute deviation estimate for σ\",\"type\":\"standalone\"},{\"name\":\"MMR\",\"followsDelimiter\":\"/\",\"description\":\"calculates a median moving range estimate for σ\",\"type\":\"standalone\"}]},{\"name\":\"SPLIT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a special character that is inserted into the label of a process variable or summary statistic variable and whose purpose is to split the label into two parts\",\"help\":\"SPLIT='*character*'\",\"type\":\"value\"},{\"name\":\"STARBDRADIUS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the radius of an imaginary circle that is the outer bound for vertices of stars requested with the STARVERTICES= option\",\"help\":\"STARBDRADIUS=*value*\",\"type\":\"value\"},{\"name\":\"STARCIRCLES=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies reference circles that are superimposed on the stars requested with the STARVERTICES= option\",\"help\":\"STARCIRCLES=*values*\",\"type\":\"value\"},{\"name\":\"STARINRADIUS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the inner radius of stars requested with the STARVERTICES= option\",\"help\":\"STARINRADIUS=*value*\",\"type\":\"value\"},{\"name\":\"STARFILL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies colors for filling the interior of stars requested with the STARVERTICES= option\",\"help\":\"STARFILL=*variable*\",\"type\":\"value\"},{\"name\":\"STARLABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a method for labeling the vertices of stars requested with the STARVERTICES= option\",\"help\":\"STARLABEL=ALL | FIRST | HIGH | LOW | OUT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ALL\",\"followsDelimiter\":\"/\",\"description\":\"labels all vertices of all stars\",\"type\":\"standalone\"},{\"name\":\"FIRST\",\"followsDelimiter\":\"/\",\"description\":\"labels all vertices of the leftmost star\",\"type\":\"standalone\"},{\"name\":\"HIGH\",\"followsDelimiter\":\"/\",\"description\":\"labels only vertices that lie outside the outer circle\",\"type\":\"standalone\"},{\"name\":\"LOW\",\"followsDelimiter\":\"/\",\"description\":\"labels only vertices that lie inside the inner circle\",\"type\":\"standalone\"},{\"name\":\"OUT\",\"followsDelimiter\":\"/\",\"description\":\"labels only vertices that lie inside the inner circle or outside the outer circle\",\"type\":\"standalone\"}]},{\"name\":\"STARLEGEND=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the style of the legend used to identify the vertices of stars requested with the STARVERTICES= option\",\"help\":\"STARLEGEND=CLOCK | CLOCK0 | DEGREES | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"CLOCK\",\"followsDelimiter\":\"/\",\"description\":\"identifies the vertex variables by their positions on the clock (starting with 12:00)\",\"type\":\"standalone\"},{\"name\":\"CLOCK0\",\"followsDelimiter\":\"/\",\"description\":\"identifies the vertex variables by their positions on the clock (starting with 0:00)\",\"type\":\"standalone\"},{\"name\":\"DEGREES\",\"followsDelimiter\":\"/\",\"description\":\"identifies the vertex variables by angles in degrees, with 0 degrees corresponding to 12 o'clock\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"followsDelimiter\":\"/\",\"description\":\"suppresses the legend\",\"type\":\"standalone\"}]},{\"name\":\"STARLEGENDLAB=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the label displayed to the left of the legend for stars requested with the STARLEGEND= option\",\"help\":\"STARLEGENDLAB='*label*'\",\"type\":\"value\"},{\"name\":\"STARS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies colors for the outlines of stars requested with the STARVERTICES= option\",\"help\":\"STARS=*variable*\",\"type\":\"value\"},{\"name\":\"STARSPECS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the method used to standardize the star vertex variables listed with the STARVERTICES= option\",\"help\":\"STARSPECS=*value*|*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"STARSTART=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the vertex angle for the first variable in the STARVERTICES= list\",\"help\":\"STARSTART=*value*\",\"type\":\"value\"},{\"name\":\"STARTYPE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the style of the stars requested with the STARVERTICES= option\",\"help\":\"STARTYPE=CORONA | POLYGON | RADIAL | SPOKE | WEDGE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"CORONA\",\"followsDelimiter\":\"/\",\"description\":\"specifies a polygon with star-vertices emanating from the inner circle\",\"type\":\"standalone\"},{\"name\":\"POLYGON\",\"followsDelimiter\":\"/\",\"description\":\"specifies a closed polygon\",\"type\":\"standalone\"},{\"name\":\"RADIAL\",\"followsDelimiter\":\"/\",\"description\":\"draws rays emanating from the center\",\"type\":\"standalone\"},{\"name\":\"SPOKE\",\"followsDelimiter\":\"/\",\"description\":\"draws rays emanating from the inner circle\",\"type\":\"standalone\"},{\"name\":\"WEDGE\",\"followsDelimiter\":\"/\",\"description\":\"specifies a closed polygon with rays from the center to each vertex\",\"type\":\"standalone\"}]},{\"name\":\"STARVERTICES=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"superimposes a star (polygon) at each point on the primary chart\",\"help\":\"STARVERTICES=*variable* | (*variable-list*)\",\"type\":\"value\"},{\"name\":\"SYMBOLLEGEND=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"controls the legend for the levels of a symbol-variable\",\"help\":\"SYMBOLLEGEND=LEGENDn | NONE\",\"type\":\"choice\"},{\"name\":\"SYMBOLORDER=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the order in which symbols are assigned for levels of symbol-variable\",\"help\":\"SYMBOLORDER=DATA | INTERNAL | FORMATTED\",\"type\":\"choice\"},{\"name\":\"TABLES\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"creates a basic table of the subgroup values, the subgroup sample sizes, the subgroup summary statistics, and the upper and lower control limits\",\"help\":\"TABLES &lt;(EXCEPTIONS)&gt;\",\"type\":\"standaloneOrValue\"},{\"name\":\"TABLEALL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"tabulates all the information about the control chart\",\"help\":\"TABLEALL &lt;(EXCEPTIONS)&gt;\",\"type\":\"standaloneOrValue\"},{\"name\":\"TABLECENTRAL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"augments the basic table created by the TABLES option with columns for the values of the central lines\",\"help\":\"TABLECENTRAL &lt;(EXCEPTIONS)&gt;\",\"type\":\"standaloneOrValue\"},{\"name\":\"TABLEID\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"augments the basic table created by the TABLES option with a column for each of the ID variables\",\"help\":\"TABLEID &lt;(EXCEPTIONS)&gt;\",\"type\":\"standaloneOrValue\"},{\"name\":\"TABLELEGEND\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"adds a legend to the basic table created by the TABLE option\",\"help\":\"TABLELEGEND &lt;(EXCEPTIONS)&gt;\",\"type\":\"standaloneOrValue\"},{\"name\":\"TABLEOUTLIM\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"augments the basic table created by the TABLE option with columns indicating which control limits (if any) are exceeded\",\"help\":\"TABLEOUTLIM &lt;(EXCEPTIONS)&gt;\",\"type\":\"standaloneOrValue\"},{\"name\":\"TABLETESTS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"augments the basic table created by the TABLES option with a column that indicates which of the tests for special causes (requested with the TESTS= option) are positive\",\"help\":\"TABLETESTS &lt;(EXCEPTIONS)&gt;\",\"type\":\"standaloneOrValue\"},{\"name\":\"TARGET=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"provides target values used to compute the capability index Cpm, which is saved in the OUTLIMITS= data set\",\"help\":\"TARGET=*value-list*\",\"type\":\"value\"},{\"name\":\"TEST2RESET=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"enables tests for special causes to be reset in a secondary chart\",\"help\":\"TEST2RESET=*variable* | *value*\",\"type\":\"value\"},{\"name\":\"TEST2RUN=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the length of the pattern for Test 2 requested with the TESTS= and TESTS2= options\",\"help\":\"TEST2RUN=7 | 8 | 9 | 11 | 14 | 20\",\"type\":\"choice\",\"arguments\":[{\"name\":\"7\",\"followsDelimiter\":\"/\",\"description\":\"specifies a run-length of 7 in a row on one side of the central line\",\"type\":\"standalone\"},{\"name\":\"8\",\"followsDelimiter\":\"/\",\"description\":\"specifies a run-length of 8 in a row on one side of the central line\",\"type\":\"standalone\"},{\"name\":\"9\",\"followsDelimiter\":\"/\",\"description\":\"specifies a run-length of 9 in a row on one side of the central line\",\"type\":\"standalone\"},{\"name\":\"11\",\"followsDelimiter\":\"/\",\"description\":\"specifies at least 10 out of 11 in a row on one side of the central line\",\"type\":\"standalone\"},{\"name\":\"14\",\"followsDelimiter\":\"/\",\"description\":\"specifies at least 12 out of 14 in a row on one side of the central line\",\"type\":\"standalone\"},{\"name\":\"20\",\"followsDelimiter\":\"/\",\"description\":\"specifies at least 16 out of 20 in a row on one side of the central line\",\"type\":\"standalone\"}]},{\"name\":\"TEST3RUN=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the length of the pattern for Test 3 requested with the TESTS= and TESTS2= options\",\"help\":\"TEST3RUN=6 | 7 | 8\",\"type\":\"choice\",\"arguments\":[{\"name\":\"6\",\"followsDelimiter\":\"/\",\"description\":\"searches for a pattern of steadily increasing or decreasing values with length at least 6\",\"type\":\"standalone\"},{\"name\":\"7\",\"followsDelimiter\":\"/\",\"description\":\"searches for a pattern of steadily increasing or decreasing values with length at least 7\",\"type\":\"standalone\"},{\"name\":\"8\",\"followsDelimiter\":\"/\",\"description\":\"searches for a pattern of steadily increasing or decreasing values with length at least 8\",\"type\":\"standalone\"}]},{\"name\":\"TESTACROSS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that tests for special causes requested with the TESTS= or TESTS2= options be applied without regard to phases (blocks of consecutive subgroups) determined by the READPHASES= option and the variable _PHASE_ in the input data set\",\"type\":\"standalone\"},{\"name\":\"TESTLABBOX\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"requests that labels for subgroups with positive tests for special causes are positioned so they do not overlap\",\"type\":\"standalone\"},{\"name\":\"TESTLABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"provides labels for points at which one of the tests for special causes (requested with the TESTS= or TESTS2= option) is positive\",\"help\":\"TESTLABEL='*label*' | (*variable*) | TESTINDEX | SPACE | NONE\",\"type\":\"value\"},{\"name\":\"TESTLABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a label for points at which the test for special causes requested with the index n in a TESTS= or TESTS2= list is positive\",\"help\":\"TESTLABEL*n*='*label*'\",\"type\":\"value\"},{\"name\":\"TESTNMETHOD=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"applies the tests for special causes requested with the TESTS= and TESTS2= options to standardized test statistics when the subgroup sample sizes are not constant\",\"help\":\"TESTNMETHOD=STANDARDIZE\",\"type\":\"value\"},{\"name\":\"TESTOVERLAP\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"applies tests for special causes (requested with the TESTS= or TESTS2= option) to overlapping patterns of points\",\"type\":\"standalone\"},{\"name\":\"TESTRESET=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"enables tests for special causes to be reset in a primary chart\",\"help\":\"TESTRESET=*variable* | *value*\",\"type\":\"value\"},{\"name\":\"TESTS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"requests one or more tests for special causes, which are also known as runs tests, pattern tests, and Western Electric rules\",\"help\":\"TESTS=*index-list*\",\"type\":\"value\",\"arguments\":[{\"name\":\"1\",\"followsDelimiter\":\"/\",\"description\":\"specifies one point beyond Zone A (outside the control limits)\",\"type\":\"standalone\"},{\"name\":\"2\",\"followsDelimiter\":\"/\",\"description\":\"specifies nine points in a row in Zone C or beyond on one side of the central line\",\"type\":\"standalone\"},{\"name\":\"3\",\"followsDelimiter\":\"/\",\"description\":\"specifies six points in a row steadily increasing\",\"type\":\"standalone\"},{\"name\":\"4\",\"followsDelimiter\":\"/\",\"description\":\"specifies fourteen points in a row alternating up and down\",\"type\":\"standalone\"},{\"name\":\"5\",\"followsDelimiter\":\"/\",\"description\":\"specifies two out of three points in a row in Zone A or beyond\",\"type\":\"standalone\"},{\"name\":\"6\",\"followsDelimiter\":\"/\",\"description\":\"specifies four out of five points in a row in Zone B or beyond\",\"type\":\"standalone\"},{\"name\":\"7\",\"followsDelimiter\":\"/\",\"description\":\"specifies fifteen points in a row in Zone C on either or both sides of the central line\",\"type\":\"standalone\"},{\"name\":\"8\",\"followsDelimiter\":\"/\",\"description\":\"specifies eight points in a row on either or both sides of the central line with no points in Zone C\",\"type\":\"standalone\"}]},{\"name\":\"TESTS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies customized tests for special causes for the primary control chart to search for k out of m points in a row in the interval (a,b)\",\"help\":\"TESTS=T(K=*k* M=*m* LOWER=*a* UPPER=*b* SCHEME=*scheme* CODE=*character* LABEL=*'label'* LEGEND=*'legend'*)\",\"type\":\"value\",\"arguments\":[{\"name\":\"K=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the number of points\",\"help\":\"K=*k*\",\"type\":\"value\"},{\"name\":\"M=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the number of consecutive points\",\"help\":\"M=*m*\",\"type\":\"value\"},{\"name\":\"LOWER=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the lower limit of interval (a,b)\",\"help\":\"LOWER=*value*\",\"type\":\"value\"},{\"name\":\"UPPER=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the upper limit of interval (a,b)\",\"help\":\"UPPER=*value*\",\"type\":\"value\"},{\"name\":\"SCHEME=\",\"followsDelimiter\":\"/\",\"description\":\"specifies a one-sided scheme using (a,b)\",\"help\":\"SCHEME=ONESIDED\",\"type\":\"value\"},{\"name\":\"SCHEME=\",\"followsDelimiter\":\"/\",\"description\":\"specifies a two-sided scheme using (a,b) union (-b,-a)\",\"help\":\"SCHEME=TWOSIDED\",\"type\":\"value\"},{\"name\":\"CODE=\",\"followsDelimiter\":\"/\",\"description\":\"specifies an identifier for test (A--H)\",\"help\":\"CODE=*character*\",\"type\":\"value\"},{\"name\":\"LABEL=\",\"followsDelimiter\":\"/\",\"description\":\"specifies a label for points if signal\",\"help\":\"LABEL=*'label'*\",\"type\":\"value\"},{\"name\":\"LEGEND=\",\"followsDelimiter\":\"/\",\"description\":\"specifies a legend used with the TABLELEGEND option\",\"help\":\"LEGEND=*'legend'*\",\"type\":\"value\"}]},{\"name\":\"TESTS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies customized tests for special causes for the primary control chart to search for k points in a row increasing or decreasing\",\"help\":\"TESTS=M(K=*k* DIR=*direction* CODE=*character* LABEL=*'label'* LEGEND=*'legend'*)\",\"type\":\"value\",\"arguments\":[{\"name\":\"K=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the number of points\",\"help\":\"K=*k*\",\"type\":\"value\"},{\"name\":\"DIR=\",\"followsDelimiter\":\"/\",\"description\":\"specifies an increasing pattern\",\"help\":\"DIR=INC\",\"type\":\"value\"},{\"name\":\"DIR=\",\"followsDelimiter\":\"/\",\"description\":\"specifies a decreasing pattern\",\"help\":\"DIR=DEC\",\"type\":\"value\"},{\"name\":\"CODE=\",\"followsDelimiter\":\"/\",\"description\":\"specifies an identifier for test (A--H)\",\"help\":\"CODE=*character*\",\"type\":\"value\"},{\"name\":\"LABEL=\",\"followsDelimiter\":\"/\",\"description\":\"specifies a label for points if signal\",\"help\":\"LABEL=*'label'*\",\"type\":\"value\"},{\"name\":\"LEGEND=\",\"followsDelimiter\":\"/\",\"description\":\"specifies a legend used with the TABLELEGEND option\",\"help\":\"LEGEND=*'legend'*\",\"type\":\"value\"}]},{\"name\":\"TESTS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies customized tests for special causes for the primary control chart to search for a statistically significant linear trend over a window of k points\",\"help\":\"TESTS=S(K=*k* CLEV=*α* FORM=*character* CODE=*character* LABEL=*'label'* LEGEND=*'legend'*)\",\"type\":\"value\",\"arguments\":[{\"name\":\"K=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the number of points in sliding window (k > 2)\",\"help\":\"K=*k*\",\"type\":\"value\"},{\"name\":\"CLEV=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the Type I (false positive) error rate (0 < α ≤ 0.5)\",\"help\":\"CLEV=*α*\",\"type\":\"value\"},{\"name\":\"FORM=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the type of trend test (P=parametric, N=nonparametric)\",\"help\":\"FORM=*character*\",\"type\":\"value\"},{\"name\":\"CODE=\",\"followsDelimiter\":\"/\",\"description\":\"specifies an identifier for test (A--H)\",\"help\":\"CODE=*character*\",\"type\":\"value\"},{\"name\":\"LABEL=\",\"followsDelimiter\":\"/\",\"description\":\"specifies a label for points if signal\",\"help\":\"LABEL=*'label'*\",\"type\":\"value\"},{\"name\":\"LEGEND=\",\"followsDelimiter\":\"/\",\"description\":\"specifies a legend used with the TABLELEGEND option\",\"help\":\"LEGEND=*'legend'*\",\"type\":\"value\"}]},{\"name\":\"TOTPANELS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the total number of panels to be used to display the chart\",\"help\":\"TOTPANELS=*n*\",\"type\":\"value\"},{\"name\":\"TYPE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the value of the _TYPE_ variable in the OUTLIMITS= data set, which in turn indicates whether certain parameter variables in this data set represent estimates or standard (known) values\",\"help\":\"TYPE=ESTIMATE | STDMU | STDSIGMA | STANDARD\",\"type\":\"choice\"},{\"name\":\"UCLLABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a label for the upper control limit in the primary chart\",\"help\":\"UCLLABEL='*label*'\",\"type\":\"value\"},{\"name\":\"UCLLABEL2=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a label for the upper control limit in the secondary chart\",\"help\":\"UCLLABEL2='*label*'\",\"type\":\"value\"},{\"name\":\"USL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"provides upper specification limits used to compute capability indices\",\"help\":\"USL=*value-list*\",\"type\":\"value\"},{\"name\":\"VAXIS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies major tick mark values for the vertical axis of a primary chart\",\"help\":\"VAXIS=*value-list* | AXIS*n*\",\"type\":\"value\"},{\"name\":\"VAXIS2=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies major tick mark values for the vertical axis of a secondary chart\",\"help\":\"VAXIS2=*value-list* | AXIS*n*\",\"type\":\"value\"},{\"name\":\"VFORMAT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a format to be used for displaying tick mark labels on the vertical axis of a primary chart\",\"help\":\"VFORMAT=*format*\",\"type\":\"value\"},{\"name\":\"VFORMAT2=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a format to be used for displaying tick mark labels on the vertical axis of a secondary chart\",\"help\":\"VFORMAT2=*format*\",\"type\":\"value\"},{\"name\":\"VOFFSET=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the length of the offset at each end of the vertical axis\",\"help\":\"VOFFSET=*value*\",\"type\":\"value\"},{\"name\":\"VREF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"draws reference lines perpendicular to the vertical axis on the primary chart\",\"help\":\"VREF=*value-list* | *SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"VREF2=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"draws reference lines perpendicular to the vertical axis on the secondary chart\",\"help\":\"VREF2=*value-list* | *SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"VREF2LABELS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies labels for the reference lines requested by the VREF2= option\",\"help\":\"VREF2LABELS='*label1*'...'*labeln*'\",\"type\":\"value\"},{\"name\":\"VREFLABELS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies labels for the reference lines requested by the VREF= option\",\"help\":\"VREFLABELS='*label1*'...'*labeln*'\",\"type\":\"value\"},{\"name\":\"VREFLABPOS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the horizontal position of the VREFLABELS= and VREF2LABELS= labels\",\"help\":\"VREFLABPOS=1 | 2 | 3\",\"type\":\"choice\",\"arguments\":[{\"name\":\"1\",\"followsDelimiter\":\"/\",\"description\":\"left-justifies in subplot area\",\"type\":\"standalone\"},{\"name\":\"2\",\"followsDelimiter\":\"/\",\"description\":\"right-justifies in subplot area\",\"type\":\"standalone\"},{\"name\":\"3\",\"followsDelimiter\":\"/\",\"description\":\"left-justifies in right margin\",\"type\":\"standalone\"}]},{\"name\":\"VZERO\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"forces the origin to be included in the vertical axis for a primary chart\",\"type\":\"standalone\"},{\"name\":\"VZERO2\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"forces the origin to be included in the vertical axis for a secondary chart\",\"type\":\"standalone\"},{\"name\":\"WESTGARD=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"requests that one or more of the Westgard rules (tests for special causes) be applied\",\"help\":\"WESTGARD=*index-list*\",\"type\":\"value\",\"arguments\":[{\"name\":\"1\",\"followsDelimiter\":\"/\",\"description\":\"specifies one point in Zone A or beyond\",\"type\":\"standalone\"},{\"name\":\"2\",\"followsDelimiter\":\"/\",\"description\":\"specifies one point beyond Zone A (outside the control limits)\",\"type\":\"standalone\"},{\"name\":\"3\",\"followsDelimiter\":\"/\",\"description\":\"specifies two points in a row in Zone A or beyond on the same side of the central line\",\"type\":\"standalone\"},{\"name\":\"4\",\"followsDelimiter\":\"/\",\"description\":\"specifies at least one point in Zone A or beyond on each side of the central line\",\"type\":\"standalone\"},{\"name\":\"5\",\"followsDelimiter\":\"/\",\"description\":\"specifies four points in a row in Zone B or beyond on the same side of the central line\",\"type\":\"standalone\"},{\"name\":\"6\",\"followsDelimiter\":\"/\",\"description\":\"specifies ten points in a row on the same side of the central line\",\"type\":\"standalone\"}]},{\"name\":\"XSYMBOL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a label for the central line in an X-bar chart or a median chart\",\"help\":\"XSYMBOL=MBAR | MTIL | MU | MU0 | XBAR | XBAR2 | XBARPM | XBAR0 | XBAR0PM | '*label*'\",\"type\":\"value\",\"arguments\":[{\"name\":\"MBAR\",\"followsDelimiter\":\"/\",\"description\":\"M bar\",\"type\":\"standalone\"},{\"name\":\"MTIL\",\"followsDelimiter\":\"/\",\"description\":\"M tilde\",\"type\":\"standalone\"},{\"name\":\"MU\",\"followsDelimiter\":\"/\",\"description\":\"μ\",\"type\":\"standalone\"},{\"name\":\"MU0\",\"followsDelimiter\":\"/\",\"description\":\"μ sub 0\",\"type\":\"standalone\"},{\"name\":\"XBAR\",\"followsDelimiter\":\"/\",\"description\":\"X bar\",\"type\":\"standalone\"},{\"name\":\"XBAR2\",\"followsDelimiter\":\"/\",\"description\":\"X double bar\",\"type\":\"standalone\"},{\"name\":\"XBARPM\",\"followsDelimiter\":\"/\",\"description\":\"X bar prime\",\"type\":\"standalone\"},{\"name\":\"XBAR0\",\"followsDelimiter\":\"/\",\"description\":\"X bar sub 0\",\"type\":\"standalone\"},{\"name\":\"XBAR0PM\",\"followsDelimiter\":\"/\",\"description\":\"X bar prime sub 0\",\"type\":\"standalone\"}]},{\"name\":\"YPCT1=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a percent (ranging from 0 to 100) that determines the length of the vertical axis for the primary chart in proportion to the sum of the lengths of the vertical axes for the primary and secondary charts\",\"help\":\"YPCT1=*value*\",\"type\":\"value\"},{\"name\":\"ZEROSTD\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that a control chart is to be constructed and displayed regardless of whether the estimated process standard deviation is zero\",\"help\":\"ZEROSTD&lt;=NOLIMITS&gt;\",\"type\":\"standaloneOrValue\"},{\"name\":\"ZONE2VALUES\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"labels R or s chart zones lines with their values\",\"type\":\"standalone\"},{\"name\":\"ZONELABELS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"adds the labels A, B, and C to zone lines requested with the ZONES or ZONEVALUES options\",\"type\":\"standalone\"},{\"name\":\"ZONES\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"adds lines to a primary chart that delineate zones A, B, and C for standard tests requested with the TESTS= option\",\"type\":\"standalone\"},{\"name\":\"ZONEVALPOS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the horizontal position of the ZONEVALUES= and ZONE2VALUES= labels\",\"help\":\"ZONEVALPOS=1 | 2 | 3\",\"type\":\"choice\",\"arguments\":[{\"name\":\"1\",\"followsDelimiter\":\"/\",\"description\":\"left-justifies in subplot area\",\"type\":\"standalone\"},{\"name\":\"2\",\"followsDelimiter\":\"/\",\"description\":\"right-justifies in subplot area\",\"type\":\"standalone\"},{\"name\":\"3\",\"followsDelimiter\":\"/\",\"description\":\"left-justifies in right margin\",\"type\":\"standalone\"}]},{\"name\":\"ZONEVALUES\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"labels the primary chart zones lines with their values\",\"type\":\"standalone\"},{\"name\":\"BLOCKREFTRANSPARENCY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"PHASEREFTRANSPARENCY=\",\"REFFILLTRANSPARENCY=\"],\"description\":\"specifies the wall fill transparency for blocks and phases when transparency is used in ODS Graphics output\",\"help\":\"BLOCKREFTRANSPARENCY=*value*\",\"type\":\"value\"},{\"name\":\"BOXTRANSPARENCY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the box fill transparency for box-and-whisker charts when transparency is used in ODS Graphics output\",\"help\":\"BOXTRANSPARENCY=*value*\",\"type\":\"value\"},{\"name\":\"INFILLTRANSPARENCY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the control limit infill transparency when transparency is used in ODS Graphics output\",\"help\":\"INFILLTRANSPARENCY=*value*\",\"type\":\"value\"},{\"name\":\"MARKERDISPLAY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a subset of subgroups to be plotted with markers on a primary chart that is not an R or s chart\",\"help\":\"MARKERDISPLAY=OOC | UPPER | LOWER | RUNSTEST\",\"type\":\"choice\",\"arguments\":[{\"name\":\"OOC\",\"followsDelimiter\":\"/\",\"description\":\"selects subgroups outside the control limits\",\"type\":\"standalone\"},{\"name\":\"UPPER\",\"followsDelimiter\":\"/\",\"description\":\"selects subgroups above the upper control limit\",\"type\":\"standalone\"},{\"name\":\"LOWER\",\"followsDelimiter\":\"/\",\"description\":\"selects subgroups below the lower control limit\",\"type\":\"standalone\"},{\"name\":\"RUNSTEST\",\"followsDelimiter\":\"/\",\"description\":\"selects subgroups that signal positive tests for special causes\",\"type\":\"standalone\"}]},{\"name\":\"MARKERDISPLAY2=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a subset of subgroups to be plotted with markers on an R or s chart\",\"help\":\"MARKERDISPLAY2=OOC | UPPER | LOWER | RUNSTEST\",\"type\":\"choice\",\"arguments\":[{\"name\":\"OOC\",\"followsDelimiter\":\"/\",\"description\":\"selects subgroups outside the control limits\",\"type\":\"standalone\"},{\"name\":\"UPPER\",\"followsDelimiter\":\"/\",\"description\":\"selects subgroups above the upper control limit\",\"type\":\"standalone\"},{\"name\":\"LOWER\",\"followsDelimiter\":\"/\",\"description\":\"selects subgroups below the lower control limit\",\"type\":\"standalone\"},{\"name\":\"RUNSTEST\",\"followsDelimiter\":\"/\",\"description\":\"selects subgroups that signal positive tests for special causes\",\"type\":\"standalone\"}]},{\"name\":\"MARKERLABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a variable whose values provide labels for the subgroups that are plotted with markers on a primary chart that is not an R or s chart\",\"help\":\"MARKERLABEL=(*variable*)\",\"type\":\"value\"},{\"name\":\"MARKERLABEL2=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a variable whose values provide labels for the subgroups that are plotted with markers on an R or s chart\",\"help\":\"MARKERLABEL2=(*variable*)\",\"type\":\"value\"},{\"name\":\"MARKERMISSINGGROUP=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies whether subgroups with missing symbol-variable values are plotted with a unique marker\",\"help\":\"MARKERMISSINGGROUP=TRUE | FALSE\",\"type\":\"choice\"},{\"name\":\"MARKERS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"plots subgroup points with markers\",\"type\":\"standalone\"},{\"name\":\"NOBLOCKREF\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"NOPHASEREF\",\"NOREF\"],\"description\":\"suppresses block and phase reference lines from ODS Graphics output\",\"type\":\"standalone\"},{\"name\":\"NOBLOCKREFFILL\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"NOPHASEREFFILL\",\"NOREFFILL\"],\"description\":\"suppresses the block and phase wall fills from ODS Graphics output\",\"type\":\"standalone\"},{\"name\":\"NOBOXFILLLEGEND\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"NOFILLLEGEND\",\"NOSTARFILLLEGEND\"],\"description\":\"suppresses the legend for the levels of a BOXFILL= or STARFILL= variable in ODS Graphics output\",\"type\":\"standalone\"},{\"name\":\"NOTRANSPARENCY\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"disables transparency in ODS Graphics output, so that all graph features are opaque\",\"type\":\"standalone\"},{\"name\":\"ODSFOOTNOTE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"adds a footnote to ODS Graphics output\",\"help\":\"ODSFOOTNOTE=FOOTNOTE | FOOTNOTE1 | '*string*'\",\"type\":\"value\"},{\"name\":\"ODSFOOTNOTE2=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"adds a secondary footnote to ODS Graphics output\",\"help\":\"ODSFOOTNOTE2=FOOTNOTE2 | '*string*'\",\"type\":\"value\"},{\"name\":\"ODSLEGENDEXPAND\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that legend entries contain all levels observed in the data\",\"type\":\"standalone\"},{\"name\":\"ODSTITLE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a title for ODS Graphics output\",\"help\":\"ODSTITLE=TITLE | TITLE1 | NONE | DEFAULT | LABELFMT | '*string*'\",\"type\":\"value\"},{\"name\":\"ODSTITLE2=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a secondary title for ODS Graphics output\",\"help\":\"ODSTITLE2=TITLE2 | '*string*'\",\"type\":\"value\"},{\"name\":\"OUTFILLTRANSPARENCY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the control limit outfill transparency when transparency is used in ODS Graphics output\",\"help\":\"OUTFILLTRANSPARENCY=*value*\",\"type\":\"value\"},{\"name\":\"OUTHIGHURL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a variable whose values are URLs to be associated with outlier points above the upper fence on a schematic box chart when ODS Graphics output is directed into HTML\",\"help\":\"OUTHIGHURL=*variable*\",\"type\":\"value\"},{\"name\":\"OUTLOWURL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a variable whose values are URLs to be associated with outlier points below the lower fence on a schematic box chart when ODS Graphics output is directed into HTML\",\"help\":\"OUTLOWURL=*variable*\",\"type\":\"value\"},{\"name\":\"OVERLAY2URL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies variables whose values are URLs to be associated with points on secondary chart overlays\",\"help\":\"OVERLAY2URL=(*variable-list*)\",\"type\":\"value\"},{\"name\":\"OVERLAYURL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies variables whose values are URLs to be associated with points on primary chart overlays\",\"help\":\"OVERLAYURL=(*variable-list*)\",\"type\":\"value\"},{\"name\":\"PHASEBOXLABELS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"draws phase labels as titles along the top of phase boxes\",\"type\":\"standalone\"},{\"name\":\"PHASEPOS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the vertical position of the phase legend\",\"help\":\"PHASEPOS=1 | 2 | 3 | 4\",\"type\":\"choice\",\"arguments\":[{\"name\":\"1\",\"followsDelimiter\":\"/\",\"description\":\"places at top of chart, offset from axis frame\",\"type\":\"standalone\"},{\"name\":\"2\",\"followsDelimiter\":\"/\",\"description\":\"places at top of chart, immediately above axis frame\",\"type\":\"standalone\"},{\"name\":\"3\",\"followsDelimiter\":\"/\",\"description\":\"places at bottom of chart, immediately above horizontal axis\",\"type\":\"standalone\"},{\"name\":\"4\",\"followsDelimiter\":\"/\",\"description\":\"places at bottom of chart, below horizontal axis label\",\"type\":\"standalone\"}]},{\"name\":\"PHASEREFLEVEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"enables you to associate phase reference lines (block reference lines) with either the innermost or the outermost level\",\"help\":\"PHASEREFLEVEL=INNER | OUTER | NONE\",\"type\":\"choice\"},{\"name\":\"QCSYMBOLS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies which set of symbol markers is used to plot points on a control chart\",\"help\":\"QCSYMBOLS=TRUE | FALSE\",\"type\":\"choice\"},{\"name\":\"SIMULATEQCFONT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"draws the central line labels using a simulated software font rather than a hardware font\",\"type\":\"standalone\"},{\"name\":\"STARTRANSPARENCY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the star fill transparency when transparency is used in ODS Graphics output\",\"help\":\"STARTRANSPARENCY=*value*\",\"type\":\"value\"},{\"name\":\"URL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies URLs as values of the specified character variable (or formatted values of a numeric variable) to associate with subgroup points on a primary control chart when ODS Graphics output is directed into HTML\",\"help\":\"URL=*variable*\",\"type\":\"value\"},{\"name\":\"URL2=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies URLs as values of the specified character variable (or formatted values of a numeric variable) to associate with subgroup points on a secondary control chart when ODS Graphics output is directed into HTML\",\"help\":\"URL2=*variable*\",\"type\":\"value\"},{\"name\":\"ANNOTATE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"ANNO=\"],\"description\":\"specifies an ANNOTATE= type data set that enhances a primary chart\",\"help\":\"ANNOTATE=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"ANNOTATE2=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"ANNO2=\"],\"description\":\"specifies an ANNOTATE= type data set that enhances a secondary chart\",\"help\":\"ANNOTATE2=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"BILEVEL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"arranges the Shewhart chart in two levels (rather than the default of one level) so that twice as much data can be displayed on a page or screen\",\"type\":\"standalone\"},{\"name\":\"CAXIS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the color for the axes and tick marks\",\"help\":\"CAXIS=*color*\",\"type\":\"color\"},{\"name\":\"CBLOCKLAB=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies fill colors for the frames that enclose the block-variable labels in a block legend\",\"help\":\"CBLOCKLAB=*color* | (*color-list*)\",\"type\":\"color\"},{\"name\":\"CBLOCKVAR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies variables whose values are colors for filling the background of the legend associated with block-variables\",\"help\":\"CBLOCKVAR=*variable* | (*variable-list*)\",\"type\":\"value\"},{\"name\":\"CCLIP=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a color for the plotting symbol that is specified with the CLIPSYMBOL option to mark clipped points\",\"help\":\"CCLIP=*color*\",\"type\":\"color\"},{\"name\":\"CCONNECT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the color for the line segments connecting points on the chart\",\"help\":\"CCONNECT=*color*\",\"type\":\"color\"},{\"name\":\"CCOVERLAY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the colors for the line segments connecting points on primary chart overlays\",\"help\":\"CCOVERLAY=(*color-list*)\",\"type\":\"color\"},{\"name\":\"CCOVERLAY2=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the colors for the line segments connecting points on secondary chart overlays\",\"help\":\"CCOVERLAY2=(*color-list*)\",\"type\":\"color\"},{\"name\":\"CFRAME=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the colors for filling the rectangle enclosed by the axes and the frame\",\"help\":\"CFRAME=*color* | (*color-list*)\",\"type\":\"color\"},{\"name\":\"CGRID=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the color for the grid requested by the ENDGRID or GRID option\",\"help\":\"CGRID=*color*\",\"type\":\"color\"},{\"name\":\"CHREF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the color for the lines requested by the HREF= and HREF2= options\",\"help\":\"CHREF=*color*\",\"type\":\"color\"},{\"name\":\"CLABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the color for labels produced by the ALLLABEL=, ALLLABEL2=, OUTLABEL=, and OUTLABEL2= options\",\"help\":\"CLABEL=*color*\",\"type\":\"color\"},{\"name\":\"CLIMITS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the color for the control limits, the central line, and the labels for these lines\",\"help\":\"CLIMITS=*color*\",\"type\":\"color\"},{\"name\":\"CLIPLEGPOS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the position for the legend that indicates the number of clipped points when the CLIPFACTOR= option is used\",\"help\":\"CLIPLEGPOS=TOP | BOTTOM\",\"type\":\"choice\"},{\"name\":\"CLIPSYMBOL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a plot symbol used to identify clipped points on the chart and in the legend when the CLIPFACTOR= option is used\",\"help\":\"CLIPSYMBOL=*symbol*\",\"type\":\"value\"},{\"name\":\"CLIPSYMBOLHT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the height for the symbol marker used to identify clipped points on the chart when the CLIPFACTOR= option is used\",\"help\":\"CLIPSYMBOLHT=*value*\",\"type\":\"value\"},{\"name\":\"CNEEDLES=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"requests that points are to be connected to the central line with vertical line segments (needles) and specifies the color of the needles\",\"help\":\"CNEEDLES=*color*\",\"type\":\"color\"},{\"name\":\"COUTFILL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the fill color for the areas outside the control limits that lie between the connected points and the control limits and are bounded by connecting lines\",\"help\":\"COUTFILL=*color*\",\"type\":\"color\"},{\"name\":\"COVERLAY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the colors used to plot primary chart overlay variables specified in the OVERLAY= list\",\"help\":\"COVERLAY=(*color-list*)\",\"type\":\"color\"},{\"name\":\"COVERLAY2=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the colors used to plot secondary chart overlay variables specified in the OVERLAY2= list\",\"help\":\"COVERLAY2=(*color-list*)\",\"type\":\"color\"},{\"name\":\"COVERLAYCLIP=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the color used to plot clipped values on overlay plots when the CLIPFACTOR= option is used\",\"help\":\"COVERLAYCLIP=*color*\",\"type\":\"color\"},{\"name\":\"CPHASELEG=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a text color for the phase labels requested with the PHASELEGEND option\",\"help\":\"CPHASELEG=*color*\",\"type\":\"color\"},{\"name\":\"CSTARCIRCLES=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a color for the circles requested with the STARCIRCLES= option\",\"help\":\"CSTARCIRCLES=*color*\",\"type\":\"color\"},{\"name\":\"CSTARFILL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a color or colors for filling the interior of stars requested with the STARVERTICES= option\",\"help\":\"CSTARFILL=*color* | (*variable*)\",\"type\":\"color\"},{\"name\":\"CSTARS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a color or colors for the outlines of stars requested with the STARVERTICES= option\",\"help\":\"CSTARS=*color* | (*variable*)\",\"type\":\"color\"},{\"name\":\"CTESTLABBOX=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the color for boxes enclosing labels for positive tests for special causes requested with the TESTLABBOX option\",\"help\":\"CTESTLABBOX=*color*\",\"type\":\"color\"},{\"name\":\"CTESTS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies colors for labels indicating points where a test for special causes specified in the TESTS= option is positive\",\"help\":\"CTESTS=*color* | *test-color-list*\",\"type\":\"color\"},{\"name\":\"CTESTSYMBOL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the color of the symbol used to plot subgroups with positive tests for special causes\",\"help\":\"CTESTSYMBOL=*color*\",\"type\":\"color\"},{\"name\":\"CTEXT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the color for tick mark values, axis labels, the sample size legend, and the control limit legend\",\"help\":\"CTEXT=*color*\",\"type\":\"color\"},{\"name\":\"CVREF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the color for reference lines requested by the VREF= and VREF2= options\",\"help\":\"CVREF=*color*\",\"type\":\"color\"},{\"name\":\"CZONES=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"requests lines marking zones A, B, and C for the tests for special causes\",\"help\":\"CZONES=*color*\",\"type\":\"color\"},{\"name\":\"DESCRIPTION=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a description, up to 256 characters long, for the GRSEG catalog entry for the primary chart\",\"help\":\"DESCRIPTION='*string*'\",\"type\":\"value\"},{\"name\":\"DESCRIPTION2=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a description, up to 256 characters long, for the GRSEG catalog entry for the secondary chart\",\"help\":\"DESCRIPTION2='*string*'\",\"type\":\"value\"},{\"name\":\"ENDGRID\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"a grid to the rightmost portion of the chart, beginning with the first labeled major tick mark position that follows the last plotted point\",\"type\":\"standalone\"},{\"name\":\"FONT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a software font for labels and legends\",\"help\":\"FONT=*font*\",\"type\":\"value\"},{\"name\":\"HEIGHT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the height (in vertical screen percent units) of the text for axis labels and legends\",\"help\":\"HEIGHT=*value*\",\"type\":\"value\"},{\"name\":\"HMINOR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the number of (unlabeled) minor tick marks between each major tick mark on the horizontal axis\",\"help\":\"HMINOR=*n*\",\"type\":\"value\"},{\"name\":\"HTML=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a variable whose values create links associated with subgroup points on a primary control chart when traditional graphics output is directed into HTML\",\"help\":\"HTML=*variable*\",\"type\":\"value\"},{\"name\":\"HTML2=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a variable whose values create links associated with subgroup points on a secondary control chart when traditional graphics output is directed into HTML\",\"help\":\"HTML2=*variable*\",\"type\":\"value\"},{\"name\":\"HTML_LEGEND=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies HTML links as values of the specified character variable (or formatted values of a numeric variable)\",\"help\":\"HTML_LEGEND=*variable*\",\"type\":\"value\"},{\"name\":\"LABELANGLE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the angle at which labels requested with the ALLLABEL=, ALLLABEL2=, OUTLABEL=, and OUTLABEL2= options are drawn\",\"help\":\"LABELANGLE=*angle*\",\"type\":\"value\"},{\"name\":\"LABELFONT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"TESTFONT=\"],\"description\":\"specifies a software font for labels requested with the ALLLABEL=, ALLLABEL2=, OUTLABEL=, OUTLABEL2=, STARLABEL=, TESTLABEL=, and TESTLABELn= options\",\"help\":\"LABELFONT=*font*\",\"type\":\"value\"},{\"name\":\"LABELHEIGHT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"TESTHEIGHT=\"],\"description\":\"specifies the height (in vertical percent screen units) for labels requested with the ALLLABEL=, ALLLABEL2=, OUTLABEL=, OUTLABEL2=, STARLABEL=, TESTLABEL=, and TESTLABELn= options\",\"help\":\"LABELHEIGHT=*value*\",\"type\":\"value\"},{\"name\":\"LENDGRID=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the line type for the grid requested with the ENDGRID option\",\"help\":\"LENDGRID=*n*\",\"type\":\"value\"},{\"name\":\"LGRID=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the line type for the grid requested with the GRID option\",\"help\":\"LGRID=*n*\",\"type\":\"value\"},{\"name\":\"LHREF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the line type for reference lines requested with the HREF= and HREF2= options\",\"help\":\"LHREF=*linetype*\",\"type\":\"value\"},{\"name\":\"LLIMITS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the line type for control limits\",\"help\":\"LLIMITS=*linetype*\",\"type\":\"value\"},{\"name\":\"LOVERLAY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies line types for the line segments connecting points on primary chart overlays corresponding to the OVERLAY= list\",\"help\":\"LOVERLAY=(*linetypes*)\",\"type\":\"value\"},{\"name\":\"LOVERLAY2=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies line types for the line segments connecting points on secondary chart overlays corresponding to the OVERLAY2= list\",\"help\":\"LOVERLAY2=(*linetypes*)\",\"type\":\"value\"},{\"name\":\"LSTARCIRCLES=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies one or more line types for the circles requested with the STARCIRCLES= option\",\"help\":\"LSTARCIRCLES=*linetypes*\",\"type\":\"value\"},{\"name\":\"LSTARS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the line types for the outlines of stars requested with the STARVERTICES= option\",\"help\":\"LSTARS=*linetype* | (*variable*)\",\"type\":\"value\"},{\"name\":\"LTESTS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the line type for the line segments that connect patterns of points for which a test for special causes (requested with the TESTS= option) is positive\",\"help\":\"LTESTS=*linetype*\",\"type\":\"value\"},{\"name\":\"LVREF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the line type for reference lines requested by the VREF= and VREF2= options\",\"help\":\"LVREF=*linetype*\",\"type\":\"value\"},{\"name\":\"LZONES=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the line type for lines that delineate zones A, B, and C for standard tests requested with the TESTS= and/or TESTS2= options\",\"help\":\"LZONES=*n*\",\"type\":\"value\"},{\"name\":\"NAME=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the name of the GRSEG catalog entry for the primary chart, and the name of the graphics output file if one is created\",\"help\":\"NAME='*string*'\",\"type\":\"value\"},{\"name\":\"NAME2=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the name of the GRSEG catalog entry for the secondary chart, and the name of the graphics output file if one is created\",\"help\":\"NAME2='*string*'\",\"type\":\"value\"},{\"name\":\"NOFRAME\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses the default frame drawn around the chart\",\"type\":\"standalone\"},{\"name\":\"NOLIMITSFRAME\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses the default frame for the control limit information that is displayed across the top of the chart when multiple sets of control limits with distinct multiples of σ and nominal control limit sample sizes are read from a LIMITS= data set\",\"type\":\"standalone\"},{\"name\":\"NOPHASEFRAME\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses the default frame for the legend requested by the PHASELEGEND option\",\"type\":\"standalone\"},{\"name\":\"NOVANGLE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"requests vertical axis labels that are strung out vertically\",\"type\":\"standalone\"},{\"name\":\"NOVLABEL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses the label for the primary vertical axis\",\"type\":\"standalone\"},{\"name\":\"NOV2LABEL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses the label for the secondary vertical axis\",\"type\":\"standalone\"},{\"name\":\"OUTHIGHHTML=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a variable whose values create links to be associated with outlier points above the upper fence on a schematic box chart when traditional graphics output is directed into HTML\",\"help\":\"OUTHIGHHTML=*variable*\",\"type\":\"value\"},{\"name\":\"OUTLOWHTML=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a variable whose values create links to be associated with outlier points below the lower fence on a schematic box chart when traditional graphics output is directed into HTML\",\"help\":\"OUTLOWHTML=*variable*\",\"type\":\"value\"},{\"name\":\"OVERLAY2HTML=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies variables whose values create links to be associated with points on secondary chart overlays corresponding to the OVERLAY2= list\",\"help\":\"OVERLAY2HTML=(*variable-list*)\",\"type\":\"value\"},{\"name\":\"OVERLAY2SYM=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies symbols used to plot overlays on a secondary control chart corresponding to the OVERLAY2= list\",\"help\":\"OVERLAY2SYM=(*symbol-list*)\",\"type\":\"value\"},{\"name\":\"OVERLAY2SYMHT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the heights of symbols used to plot overlays on a secondary control chart corresponding to the OVERLAY2= list\",\"help\":\"OVERLAY2SYMHT=(*value-list*)\",\"type\":\"value\"},{\"name\":\"OVERLAYCLIPSYM=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the symbol used to plot clipped values on overlay plots when the CLIPFACTOR= option is used\",\"help\":\"OVERLAYCLIPSYM=*symbol*\",\"type\":\"value\"},{\"name\":\"OVERLAYCLIPSYMHT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the height for the symbol used to plot clipped values on overlay plots when the CLIPFACTOR= option is used\",\"help\":\"OVERLAYCLIPSYMHT=*value*\",\"type\":\"value\"},{\"name\":\"OVERLAYHTML=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies variables whose values create links to be associated with points on primary chart overlays corresponding to the OVERLAY= list\",\"help\":\"OVERLAYHTML=(*variable-list*)\",\"type\":\"value\"},{\"name\":\"OVERLAYSYM=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies symbols used to plot overlays on the primary control chart corresponding to the OVERLAY= list\",\"help\":\"OVERLAYSYM=(*symbol-list*)\",\"type\":\"value\"},{\"name\":\"OVERLAYSYMHT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the heights of symbols used to plot overlays on the primary control chart corresponding to the OVERLAY= list\",\"help\":\"OVERLAYSYMHT=(*value-list*)\",\"type\":\"value\"},{\"name\":\"TESTFONT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"LABELFONT=\"],\"description\":\"specifies a software font for labels requested with the ALLLABEL=, ALLLABEL2=, OUTLABEL=, OUTLABEL2=, STARLABEL=, TESTLABEL=, and TESTLABELn= options\",\"help\":\"TESTFONT=*font*\",\"type\":\"value\"},{\"name\":\"TESTHEIGHT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"LABELHEIGHT=\"],\"description\":\"specifies the height (in vertical percent screen units) for labels requested with the ALLLABEL=, ALLLABEL2=, OUTLABEL=, OUTLABEL2=, STARLABEL=, TESTLABEL=, and TESTLABELn= options\",\"help\":\"TESTHEIGHT=*value*\",\"type\":\"value\"},{\"name\":\"TESTSYMBOL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the symbol for plotting subgroups with positive tests for special causes\",\"help\":\"TESTSYMBOL=*symbol*\",\"type\":\"value\"},{\"name\":\"TESTSYMBOLHT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the height of the symbol used to plot subgroups with positive tests for special causes\",\"help\":\"TESTSYMBOLHT=*value*\",\"type\":\"value\"},{\"name\":\"TURNALL\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"TURNOUT\"],\"description\":\"turns the labels produced by the ALLLABEL=, ALLLABEL2=, OUTLABEL=, and OUTLABEL2= options so that they are strung out vertically\",\"type\":\"standalone\"},{\"name\":\"TURNHLABELS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"turns the major tick mark labels for the horizontal (subgroup) axis so that they are strung out vertically\",\"type\":\"standalone\"},{\"name\":\"VMINOR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the number of minor tick marks between each major tick mark on the vertical axis\",\"help\":\"VMINOR=*n*\",\"type\":\"value\"},{\"name\":\"WAXIS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the width in pixels for the axis and frame lines\",\"help\":\"WAXIS=*n*\",\"type\":\"value\"},{\"name\":\"WGRID=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the width in pixels for grid lines requested with the ENDGRID and GRID options\",\"help\":\"WGRID=*n*\",\"type\":\"value\"},{\"name\":\"WLIMITS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the width in pixels for the control limits and central line\",\"help\":\"WLIMITS=*n*\",\"type\":\"value\"},{\"name\":\"WNEEDLES=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the width in pixels of needles connecting plotted points to the central line, as requested with the NEEDLES option\",\"help\":\"WNEEDLES=*n*\",\"type\":\"value\"},{\"name\":\"WOVERLAY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the widths in pixels for the line segments connecting points on primary chart overlay plots corresponding to the OVERLAY= list\",\"help\":\"WOVERLAY=(*value-list*)\",\"type\":\"value\"},{\"name\":\"WOVERLAY2=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the widths in pixels for the line segments connecting points on secondary chart overlay plots corresponding to the OVERLAY2= list\",\"help\":\"WOVERLAY2=(*value-list*)\",\"type\":\"value\"},{\"name\":\"WSTARCIRCLES=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the width in pixels of the outline of circles requested by the STARCIRCLES= option\",\"help\":\"WSTARCIRCLES=*n*\",\"type\":\"value\"},{\"name\":\"WSTARS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the width in pixels of the outline of stars requested by the STARVERTICES= option\",\"help\":\"WSTARS=*n*\",\"type\":\"value\"},{\"name\":\"WTESTS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the width in pixels of the line segments that connect patterns of points for which a test for special causes (requested with the TESTS= or TESTS2= option) is positive\",\"help\":\"WTESTS=*n*\",\"type\":\"value\"}]},{\"name\":\"MCHART\",\"description\":\"creates a chart for subgroup medians, which is used to monitor the central tendency of a process\",\"help\":\"MCHART  (processes) * subgroup-variable<(block-variables)><=symbol-variable | ='character'></ options>;                                              \\nprocess is the name of the variable containing the raw measurements, or the common prefix of the summary variables in the HISTORY= data set, or the value of the variable _VAR_ in the TABLE= data set                     \\nsubgroup-variable is the variable that identifies subgroups in the data                     \\nblock-variables are optional variables that group the data into blocks of consecutive subgroups                     \\nsymbol-variable is an optional variable whose levels (unique values) determine the symbol marker that is used to plot the medians                     \\ncharacter is a character that is used to plot the medians when you produce traditional graphics                     \",\"arguments\":[{\"name\":\"ALLLABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"labels every point on the primary chart with the value plotted for that subgroup or with the value of variable in the input data set\",\"help\":\"ALLLABEL=VALUE | (*variable*)\",\"type\":\"value\"},{\"name\":\"ALLLABEL2=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"labels every point on an R, s, or trend chart with the value plotted for that subgroup or with the value of variable in the input data set\",\"help\":\"ALLLABEL2=VALUE | (*variable*)\",\"type\":\"value\"},{\"name\":\"ALLN\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"plots summary statistics for all subgroups, regardless of whether the subgroup sample size equals the nominal control limit sample size n specified by the LIMITN= option or the variable _LIMITN_ in the LIMITS= data set\",\"type\":\"standalone\"},{\"name\":\"ALPHA=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"requests α probability limits instead of 3σ control limits\",\"help\":\"ALPHA=*value*\",\"type\":\"value\"},{\"name\":\"BLOCKLABELPOS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the position of a block-variable label in the block legend\",\"help\":\"BLOCKLABELPOS=ABOVE | LEFT | RIGHT\",\"type\":\"choice\"},{\"name\":\"BLOCKLABTYPE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies how lengthy block variable values are treated when there is insufficient space to display them in the block legend\",\"help\":\"BLOCKLABTYPE=SCALED | TRUNCATED | ROTATE | ROTATEALL | *height*\",\"type\":\"value\"},{\"name\":\"BLOCKPOS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the vertical position of the legend for the values of the block-variables\",\"help\":\"BLOCKPOS=*n*\",\"type\":\"value\"},{\"name\":\"BLOCKREP\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that block variable values for all subgroups are to be displayed\",\"type\":\"standalone\"},{\"name\":\"BLOCKVAR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies variables whose values are used to assign colors for filling the background of the legend associated with block variables\",\"help\":\"BLOCKVAR=*variable* | (*variable-list*)\",\"type\":\"value\"},{\"name\":\"BOXES=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a variable whose values are used to assign colors for the outlines of box-and-whiskers plots\",\"help\":\"BOXES=*variable*\",\"type\":\"value\"},{\"name\":\"BOXFILL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies how box-and-whisker plots are filled with colors from the ODS style\",\"help\":\"BOXFILL=*variable* | NONE | EMPTY\",\"type\":\"value\"},{\"name\":\"CFRAMELAB=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"CFRAMELAB\"],\"description\":\"specifies the color for filling rectangles that frame the point labels displayed with the ALLLABEL=, ALLLABEL2=, OUTLABEL=, and OUTLABEL2= options\",\"help\":\"CFRAMELAB=*color*\",\"type\":\"color\"},{\"name\":\"CIINDICES\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"requests capability index confidence limits based on subgroup summary data, calculated using \\\"effective degrees of freedom\\\"\",\"help\":\"CIINDICES &lt;(&lt;TYPE=*keyword*&gt;&lt;ALPHA=*value*&gt;)&gt;\",\"type\":\"standaloneOrValue\",\"arguments\":[{\"name\":\"TYPE=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the type of confidence limit\",\"help\":\"TYPE=LOWER | UPPER | TWOSIDED\",\"type\":\"choice\"},{\"name\":\"ALPHA=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the default confidence level to compute confidence limits\",\"help\":\"ALPHA=*value*\",\"type\":\"value\"}]},{\"name\":\"CINFILL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the color for the area inside the upper and lower control limits\",\"help\":\"CINFILL=*color* | EMPTY | NONE\",\"type\":\"color\"},{\"name\":\"CLIPFACTOR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"requests clipping of extreme points on the control chart\",\"help\":\"CLIPFACTOR=*factor*\",\"type\":\"value\"},{\"name\":\"CLIPLEGEND=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the label for the legend that indicates the number of clipped points when the CLIPFACTOR= option is used\",\"help\":\"CLIPLEGEND='*label*'\",\"type\":\"value\"},{\"name\":\"CLIPSUBCHAR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a substitution character (such as #) for the label provided with the CLIPLEGEND= option\",\"help\":\"CLIPSUBCHAR='*character*'\",\"type\":\"value\"},{\"name\":\"COUT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the color for the plotting symbols and the portions of connecting line segments that lie outside the control limits\",\"help\":\"COUT&lt;=*color*&gt;\",\"type\":\"standaloneOrValue\"},{\"name\":\"CSTAROUT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a color for those portions of the outlines of stars (requested with the STARVERTICES= option) that exceed the inner or outer circles\",\"help\":\"CSTAROUT&lt;=*color*&gt;\",\"type\":\"standaloneOrValue\"},{\"name\":\"DISCRETE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that numeric subgroup variable values be treated as discrete values, so that each tick value on the default subgroup axis corresponds to a unique subgroup variable value\",\"type\":\"standalone\"},{\"name\":\"EXCHART\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"creates a control chart only when exceptions occur, specifically, when the control limits are exceeded or when any of the tests requested with the TESTS= option or the TESTS2= option are positive\",\"type\":\"standalone\"},{\"name\":\"FRONTREF\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"draws reference lines specified with the HREF= and VREF= options in front of box-and-whiskers plots\",\"type\":\"standalone\"},{\"name\":\"GRID\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"adds a grid to the control chart\",\"type\":\"standalone\"},{\"name\":\"HAXIS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies tick mark values for the horizontal (subgroup) axis\",\"help\":\"HAXIS=*values* | AXIS*n*\",\"type\":\"value\"},{\"name\":\"HOFFSET=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the length of the offset at each end of the horizontal axis\",\"help\":\"HOFFSET=*value*\",\"type\":\"value\"},{\"name\":\"HREF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"draws reference lines perpendicular to the horizontal (subgroup) axis on the primary chart\",\"help\":\"HREF=*values*\",\"type\":\"value\"},{\"name\":\"HREF2=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"draws reference lines perpendicular to the horizontal (subgroup) axis on the secondary chart\",\"help\":\"HREF2=*values*\",\"type\":\"value\"},{\"name\":\"HREF2DATA=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"draws reference lines perpendicular to the horizontal (subgroup) axis on the secondary chart\",\"help\":\"HREF2DATA=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"HREF2LABELS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies labels for the reference lines requested by the HREF2= option\",\"help\":\"HREF2LABELS='*label1*'...'*labeln*'\",\"type\":\"value\"},{\"name\":\"HREFDATA=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"draws reference lines perpendicular to the horizontal (subgroup) axis on the primary chart\",\"help\":\"HREFDATA=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"HREFLABELS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies labels for the reference lines requested by the HREF= option\",\"help\":\"HREFLABELS='*label1*'...'*labeln*'\",\"type\":\"value\"},{\"name\":\"HREFLABPOS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the vertical position of the HREFLABEL= and HREF2LABEL= labels\",\"help\":\"HREFLABPOS=*n*\",\"type\":\"value\",\"arguments\":[{\"name\":\"1\",\"followsDelimiter\":\"/\",\"description\":\"positions along top of subplot area\",\"type\":\"standalone\"},{\"name\":\"2\",\"followsDelimiter\":\"/\",\"description\":\"staggers from top to bottom of subplot area\",\"type\":\"standalone\"},{\"name\":\"3\",\"followsDelimiter\":\"/\",\"description\":\"positions along bottom of subplot area\",\"type\":\"standalone\"},{\"name\":\"4\",\"followsDelimiter\":\"/\",\"description\":\"staggers from bottom to top of subplot area\",\"type\":\"standalone\"}]},{\"name\":\"INDEPENDENTZONES\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"INDEPZONES\"],\"description\":\"specifies that the widths of the zones requested with the ZONES option be computed independently above and below the center line of the chart, so that the width of each zone is one-third of the difference between the process mean and the control limit on its side of the chart\",\"type\":\"standalone\"},{\"name\":\"INTERVAL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the natural time interval between consecutive subgroup positions when a time, date, or datetime format is associated with a numeric subgroup variable\",\"help\":\"INTERVAL=DAY | DTDAY | HOUR | MINUTE | MONTH | QTR | SECOND\",\"type\":\"choice\"},{\"name\":\"INTSTART=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the starting value for a numeric horizontal axis, when a date, time, or datetime format is associated with the subgroup variable\",\"help\":\"INTSTART=*value*\",\"type\":\"value\"},{\"name\":\"LCLLABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a label for the lower control limit in the primary chart\",\"help\":\"LCLLABEL='*label*'\",\"type\":\"value\"},{\"name\":\"LIMITN=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies either a fixed or varying nominal sample size for the control limits\",\"help\":\"LIMITN=*n* | VARYING\",\"type\":\"value\"},{\"name\":\"LIMLABSUBCHAR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a substitution character (such as #) for labels provided as quoted strings with the LCLLABEL=, LCLLABEL2=, UCLLABEL=, UCLLABEL2=, CSYMBOL=, NPSYMBOL=, PSYMBOL=, RSYMBOL=, SSYMBOL=, USYMBOL=, and XSYMBOL= options\",\"help\":\"LIMLABSUBCHAR='*character*'\",\"type\":\"value\"},{\"name\":\"LSL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"provides lower specification limits used to compute capability indices\",\"help\":\"LSL=*value-list*\",\"type\":\"value\"},{\"name\":\"MAXPANELS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the maximum number of pages or screens for a chart\",\"help\":\"MAXPANELS=*n*\",\"type\":\"value\"},{\"name\":\"MEDCENTRAL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"identifies a method for estimating the process mean μ, which is represented by the central line on a median chart\",\"help\":\"MEDCENTRAL=AVGMEAN | AVGMED | MEDMED\",\"type\":\"choice\",\"arguments\":[{\"name\":\"AVGMEAN\",\"followsDelimiter\":\"/\",\"description\":\"uses the average of subgroup means\",\"type\":\"standalone\"},{\"name\":\"AVGMED\",\"followsDelimiter\":\"/\",\"description\":\"uses the average of subgroup medians\",\"type\":\"standalone\"},{\"name\":\"MEDMED\",\"followsDelimiter\":\"/\",\"description\":\"uses the median of subgroup medians\",\"type\":\"standalone\"}]},{\"name\":\"MISSBREAK\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"determines how subgroups are formed when observations are read from a DATA= data set and a character subgroup-variable is provided\",\"type\":\"standalone\"},{\"name\":\"MU0=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a known (standard) value μ0 for the process mean μ\",\"help\":\"MU0=*value*\",\"type\":\"value\"},{\"name\":\"NDECIMAL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the number of decimal digits in the default labels for the control limits and the central line in the primary chart\",\"help\":\"NDECIMAL=*n*\",\"type\":\"value\"},{\"name\":\"NEEDLES\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"connects plotted points to the central line with vertical line segments (needles)\",\"type\":\"standalone\"},{\"name\":\"NMARKERS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"identifies a plotted subgroup summary statistic with a special symbol marker (character) when the corresponding subgroup sample size is not equal to the nominal control limit sample size n\",\"type\":\"standalone\"},{\"name\":\"NO3SIGMACHECK\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses the check for 3σ limits when tests for special causes are requested\",\"type\":\"standalone\"},{\"name\":\"NOBYREF\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that the reference line information in an HREF=, HREF2=, VREF=, or VREF2= data set is to be applied uniformly to charts created for all the BY groups in the input data set (DATA=, HISTORY=, or TABLE=)\",\"type\":\"standalone\"},{\"name\":\"NOCHART\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses the creation of the chart\",\"type\":\"standalone\"},{\"name\":\"NOCONNECT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses line segments that connect points on the chart\",\"type\":\"standalone\"},{\"name\":\"NOCTL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses the display of the central line in a primary chart\",\"type\":\"standalone\"},{\"name\":\"NOHLABEL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses the label for the horizontal (subgroup) axis\",\"type\":\"standalone\"},{\"name\":\"NOLCL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses the display of the lower control limit in a primary chart\",\"type\":\"standalone\"},{\"name\":\"NOLEGEND\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses the default legend for subgroup sample sizes, which appears by default below the chart\",\"type\":\"standalone\"},{\"name\":\"NOLIMITLABEL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses the default labels for the control limits and central lines\",\"type\":\"standalone\"},{\"name\":\"NOLIMITS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses the display of control limits\",\"type\":\"standalone\"},{\"name\":\"NOLIMITSLEGEND\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses the legend for the control limits, which appears by default in the upper right corner of the chart\",\"type\":\"standalone\"},{\"name\":\"NOOVERLAYLEGEND\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses the legend for overlay variables which is displayed by default when the OVERLAY= or OVERLAY2= option is specified\",\"type\":\"standalone\"},{\"name\":\"NOREADLIMITS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that the control limits for each process listed in the chart statement not be read from the LIMITS= data set specified in the PROC SHEWHART statement\",\"type\":\"standalone\"},{\"name\":\"NOTESTACROSS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that tests for special causes requested with the TESTS= or TESTS2= options not be applied across the boundaries of phases (blocks of consecutive subgroups) determined by the READPHASES= option and the variable _PHASE_ in the input data set\",\"type\":\"standalone\"},{\"name\":\"NOTICKREP\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"applies to character-valued subgroup-variables and specifies that only the first occurrence of repeated, adjacent subgroup values is to be labeled on the horizontal axis\",\"type\":\"standalone\"},{\"name\":\"NOTRENDCONNECT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses line segments that connect points on a trend chart when the TRENDVAR= option is used\",\"type\":\"standalone\"},{\"name\":\"NOUCL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses the display of the upper control limit in a primary chart\",\"type\":\"standalone\"},{\"name\":\"NPANELPOS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the number of subgroup positions per panel on each chart\",\"help\":\"NPANELPOS=*n*\",\"type\":\"value\"},{\"name\":\"OUTFILL\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"COUTFILL\"],\"description\":\"fills the areas outside the control limits that lie between the connected points and the control limits and are bounded by connecting lines\",\"type\":\"standalone\"},{\"name\":\"OUTHISTORY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"creates an output data set that contains the subgroup summary statistics\",\"help\":\"OUTHISTORY=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"OUTINDEX=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the value of the _INDEX_ variable in the OUTLIMITS= output data set\",\"help\":\"OUTINDEX='*label*'\",\"type\":\"value\"},{\"name\":\"OUTLABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"labels each point that falls outside the control limits on the primary chart with the value plotted for that subgroup or with the value of variable in the input data set\",\"help\":\"OUTLABEL=VALUE | (*variable*)\",\"type\":\"value\"},{\"name\":\"OUTLIMITS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"creates an output data set that saves the control limits\",\"help\":\"OUTLIMITS=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"OUTPHASE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the value of the _PHASE_ variable in the OUTHISTORY= data set\",\"help\":\"OUTPHASE='*label*'\",\"type\":\"value\"},{\"name\":\"OUTTABLE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"creates an output SAS data set that saves the information plotted on the chart, including the subgroup variable values and their corresponding summary statistics and control limits\",\"help\":\"OUTTABLE=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"OVERLAY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies variables to be overlaid on the primary control chart\",\"help\":\"OVERLAY=(*variable-list*)\",\"type\":\"value\"},{\"name\":\"OVERLAY2=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies variables to be overlaid on a secondary control chart\",\"help\":\"OVERLAY2=(*variable-list*)\",\"type\":\"value\"},{\"name\":\"OVERLAY2ID=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies variables whose formatted values are used to label points on secondary chart overlays\",\"help\":\"OVERLAY2ID=(*variable-list*)\",\"type\":\"value\"},{\"name\":\"OVERLAYID=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies variables whose formatted values are used to label points on primary chart overlays\",\"help\":\"OVERLAYID=(*variable-list*)\",\"type\":\"value\"},{\"name\":\"OVERLAYLEGLAB=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the label displayed to the left of the legend for overlays requested with the OVERLAY= or OVERLAY2= option\",\"help\":\"OVERLAYLEGLAB='*label*'\",\"type\":\"value\"},{\"name\":\"PAGENUM=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the form of the label used for pagination; for example, 'Page #' or 'Page # of #'\",\"help\":\"PAGENUM='*string*'\",\"type\":\"value\"},{\"name\":\"PAGENUMPOS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies where to position the page number requested with the PAGENUM= option\",\"help\":\"PAGENUMPOS=TL | TR | BL | BR | TL100 | TR100 | BL0 | BR0\",\"type\":\"choice\",\"arguments\":[{\"name\":\"TL\",\"followsDelimiter\":\"/\",\"description\":\"specifies the top left\",\"type\":\"standalone\"},{\"name\":\"TR\",\"followsDelimiter\":\"/\",\"description\":\"specifies the top right\",\"type\":\"standalone\"},{\"name\":\"BL\",\"followsDelimiter\":\"/\",\"description\":\"specifies the bottom left\",\"type\":\"standalone\"},{\"name\":\"BR\",\"followsDelimiter\":\"/\",\"description\":\"specifies the bottom right\",\"type\":\"standalone\"},{\"name\":\"TL100\",\"followsDelimiter\":\"/\",\"description\":\"specifies the very top left\",\"type\":\"standalone\"},{\"name\":\"TR100\",\"followsDelimiter\":\"/\",\"description\":\"specifies the very top right\",\"type\":\"standalone\"},{\"name\":\"BL0\",\"followsDelimiter\":\"/\",\"description\":\"specifies the very bottom left\",\"type\":\"standalone\"},{\"name\":\"BR0\",\"followsDelimiter\":\"/\",\"description\":\"specifies the very bottom right\",\"type\":\"standalone\"}]},{\"name\":\"PHASEBREAK\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that the last point in a phase (defined as a block of consecutive subgroups with the same value of the _PHASE_ variable) is not to be connected to the first point in the next phase\",\"type\":\"standalone\"},{\"name\":\"PHASELABTYPE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies how lengthy _PHASE_ variable values are displayed when there is insufficient space in the legend requested with the PHASELEGEND option\",\"help\":\"PHASELABTYPE=SCALED | TRUNCATED | *height*\",\"type\":\"value\"},{\"name\":\"PHASELEGEND\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"identifies the phases requested with the READPHASES= option in a legend across the top of the chart\",\"type\":\"standalone\"},{\"name\":\"PHASELIMITS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that the control limits and center line be labeled for each phase specified with the READPHASES= option, providing the limits are constant within that phase\",\"type\":\"standalone\"},{\"name\":\"PHASEREF\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"delineates the phases specified with the READPHASES= option with reference lines drawn vertically\",\"type\":\"standalone\"},{\"name\":\"PHASEVARLABEL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"displays the label associated with the variable _PHASE_ above the phase values in the phase legend\",\"type\":\"standalone\"},{\"name\":\"PHASEVALSEP\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"displays vertical lines separating phase values in the phase legend\",\"type\":\"standalone\"},{\"name\":\"RANGES\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"estimates the process standard deviation for a boxplot using subgroup ranges\",\"type\":\"standalone\"},{\"name\":\"READALPHA\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that the variable _ALPHA_, rather than the variable _SIGMAS_, be read from a LIMITS= data set when both variables are available in the data set\",\"type\":\"standalone\"},{\"name\":\"READINDEX=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"reads one or more sets of control limits from a LIMITS= data set (specified in the PROC SHEWHART statement) for each process listed in the chart statement\",\"help\":\"READINDEX=*value-list* | ALL\",\"type\":\"value\"},{\"name\":\"READPHASES=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"selects blocks of consecutive observations to be read from the input data set\",\"help\":\"READPHASES=*value-list* | ALL\",\"type\":\"value\"},{\"name\":\"REPEAT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that the horizontal axis of a chart that spans multiple pages be arranged so that the last subgroup position on a page is repeated as the first subgroup position on the next page\",\"type\":\"standalone\"},{\"name\":\"RSYMBOL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a label for the central line in an R chart\",\"help\":\"RSYMBOL=R | RBAR | RPM | R0 | '*label*'\",\"type\":\"value\",\"arguments\":[{\"name\":\"R\",\"followsDelimiter\":\"/\",\"description\":\"R\",\"type\":\"standalone\"},{\"name\":\"RBAR\",\"followsDelimiter\":\"/\",\"description\":\"R bar\",\"type\":\"standalone\"},{\"name\":\"RPM\",\"followsDelimiter\":\"/\",\"description\":\"R prime\",\"type\":\"standalone\"},{\"name\":\"R0\",\"followsDelimiter\":\"/\",\"description\":\"R sub 0\",\"type\":\"standalone\"}]},{\"name\":\"SIGMA0=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a known (standard) value σ0 for the process standard deviation σ\",\"help\":\"SIGMA0=*value*\",\"type\":\"value\"},{\"name\":\"SIGMAS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the width of the control limits in terms of the multiple k of the standard error of the median statistic plotted on the chart\",\"help\":\"SIGMAS=*k*\",\"type\":\"value\"},{\"name\":\"SKIPHLABELS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the number n of consecutive tick mark labels, beginning with the second tick mark label, that are thinned (not displayed) on the horizontal (subgroup) axis\",\"help\":\"SKIPHLABELS=*n*\",\"type\":\"value\"},{\"name\":\"SMETHOD=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a method for estimating the process standard deviation, σ\",\"help\":\"SMETHOD=NOWEIGHT | MVLUE | RMSDF \",\"type\":\"choice\",\"arguments\":[{\"name\":\"NOWEIGHT\",\"followsDelimiter\":\"/\",\"description\":\"estimates σ as an unweighted average of unbiased subgroup estimates of σ\",\"type\":\"standalone\"},{\"name\":\"MVLUE\",\"followsDelimiter\":\"/\",\"description\":\"calculates a minimum variance linear unbiased estimate for σ\",\"type\":\"standalone\"},{\"name\":\"RMSDF\",\"followsDelimiter\":\"/\",\"description\":\"calculates a root-mean square estimate for σ\",\"type\":\"standalone\"}]},{\"name\":\"SPLIT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a special character that is inserted into the label of a process variable or summary statistic variable and whose purpose is to split the label into two parts\",\"help\":\"SPLIT='*character*'\",\"type\":\"value\"},{\"name\":\"STARBDRADIUS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the radius of an imaginary circle that is the outer bound for vertices of stars requested with the STARVERTICES= option\",\"help\":\"STARBDRADIUS=*value*\",\"type\":\"value\"},{\"name\":\"STARCIRCLES=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies reference circles that are superimposed on the stars requested with the STARVERTICES= option\",\"help\":\"STARCIRCLES=*values*\",\"type\":\"value\"},{\"name\":\"STARINRADIUS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the inner radius of stars requested with the STARVERTICES= option\",\"help\":\"STARINRADIUS=*value*\",\"type\":\"value\"},{\"name\":\"STARFILL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies colors for filling the interior of stars requested with the STARVERTICES= option\",\"help\":\"STARFILL=*variable*\",\"type\":\"value\"},{\"name\":\"STARLABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a method for labeling the vertices of stars requested with the STARVERTICES= option\",\"help\":\"STARLABEL=ALL | FIRST | HIGH | LOW | OUT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ALL\",\"followsDelimiter\":\"/\",\"description\":\"labels all vertices of all stars\",\"type\":\"standalone\"},{\"name\":\"FIRST\",\"followsDelimiter\":\"/\",\"description\":\"labels all vertices of the leftmost star\",\"type\":\"standalone\"},{\"name\":\"HIGH\",\"followsDelimiter\":\"/\",\"description\":\"labels only vertices that lie outside the outer circle\",\"type\":\"standalone\"},{\"name\":\"LOW\",\"followsDelimiter\":\"/\",\"description\":\"labels only vertices that lie inside the inner circle\",\"type\":\"standalone\"},{\"name\":\"OUT\",\"followsDelimiter\":\"/\",\"description\":\"labels only vertices that lie inside the inner circle or outside the outer circle\",\"type\":\"standalone\"}]},{\"name\":\"STARLEGEND=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the style of the legend used to identify the vertices of stars requested with the STARVERTICES= option\",\"help\":\"STARLEGEND=CLOCK | CLOCK0 | DEGREES | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"CLOCK\",\"followsDelimiter\":\"/\",\"description\":\"identifies the vertex variables by their positions on the clock (starting with 12:00)\",\"type\":\"standalone\"},{\"name\":\"CLOCK0\",\"followsDelimiter\":\"/\",\"description\":\"identifies the vertex variables by their positions on the clock (starting with 0:00)\",\"type\":\"standalone\"},{\"name\":\"DEGREES\",\"followsDelimiter\":\"/\",\"description\":\"identifies the vertex variables by angles in degrees, with 0 degrees corresponding to 12 o'clock\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"followsDelimiter\":\"/\",\"description\":\"suppresses the legend\",\"type\":\"standalone\"}]},{\"name\":\"STARLEGENDLAB=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the label displayed to the left of the legend for stars requested with the STARLEGEND= option\",\"help\":\"STARLEGENDLAB='*label*'\",\"type\":\"value\"},{\"name\":\"STARS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies colors for the outlines of stars requested with the STARVERTICES= option\",\"help\":\"STARS=*variable*\",\"type\":\"value\"},{\"name\":\"STARSPECS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the method used to standardize the star vertex variables listed with the STARVERTICES= option\",\"help\":\"STARSPECS=*value*|*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"STARSTART=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the vertex angle for the first variable in the STARVERTICES= list\",\"help\":\"STARSTART=*value*\",\"type\":\"value\"},{\"name\":\"STARTYPE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the style of the stars requested with the STARVERTICES= option\",\"help\":\"STARTYPE=CORONA | POLYGON | RADIAL | SPOKE | WEDGE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"CORONA\",\"followsDelimiter\":\"/\",\"description\":\"specifies a polygon with star-vertices emanating from the inner circle\",\"type\":\"standalone\"},{\"name\":\"POLYGON\",\"followsDelimiter\":\"/\",\"description\":\"specifies a closed polygon\",\"type\":\"standalone\"},{\"name\":\"RADIAL\",\"followsDelimiter\":\"/\",\"description\":\"draws rays emanating from the center\",\"type\":\"standalone\"},{\"name\":\"SPOKE\",\"followsDelimiter\":\"/\",\"description\":\"draws rays emanating from the inner circle\",\"type\":\"standalone\"},{\"name\":\"WEDGE\",\"followsDelimiter\":\"/\",\"description\":\"specifies a closed polygon with rays from the center to each vertex\",\"type\":\"standalone\"}]},{\"name\":\"STARVERTICES=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"superimposes a star (polygon) at each point on the primary chart\",\"help\":\"STARVERTICES=*variable* | (*variable-list*)\",\"type\":\"value\"},{\"name\":\"STDDEVIATIONS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that the estimate of the process standard deviation σ is to be calculated from subgroup standard deviations\",\"type\":\"standalone\"},{\"name\":\"SYMBOLLEGEND=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"controls the legend for the levels of a symbol-variable\",\"help\":\"SYMBOLLEGEND=LEGENDn | NONE\",\"type\":\"choice\"},{\"name\":\"SYMBOLORDER=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the order in which symbols are assigned for levels of symbol-variable\",\"help\":\"SYMBOLORDER=DATA | INTERNAL | FORMATTED\",\"type\":\"choice\"},{\"name\":\"TABLES\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"creates a basic table of the subgroup values, the subgroup sample sizes, the subgroup summary statistics, and the upper and lower control limits\",\"help\":\"TABLES &lt;(EXCEPTIONS)&gt;\",\"type\":\"standaloneOrValue\"},{\"name\":\"TABLEALL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"tabulates all the information about the control chart\",\"help\":\"TABLEALL &lt;(EXCEPTIONS)&gt;\",\"type\":\"standaloneOrValue\"},{\"name\":\"TABLECENTRAL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"augments the basic table created by the TABLES option with columns for the values of the central lines\",\"help\":\"TABLECENTRAL &lt;(EXCEPTIONS)&gt;\",\"type\":\"standaloneOrValue\"},{\"name\":\"TABLEID\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"augments the basic table created by the TABLES option with a column for each of the ID variables\",\"help\":\"TABLEID &lt;(EXCEPTIONS)&gt;\",\"type\":\"standaloneOrValue\"},{\"name\":\"TABLELEGEND\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"adds a legend to the basic table created by the TABLE option\",\"help\":\"TABLELEGEND &lt;(EXCEPTIONS)&gt;\",\"type\":\"standaloneOrValue\"},{\"name\":\"TABLEOUTLIM\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"augments the basic table created by the TABLE option with columns indicating which control limits (if any) are exceeded\",\"help\":\"TABLEOUTLIM &lt;(EXCEPTIONS)&gt;\",\"type\":\"standaloneOrValue\"},{\"name\":\"TABLETESTS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"augments the basic table created by the TABLES option with a column that indicates which of the tests for special causes (requested with the TESTS= option) are positive\",\"help\":\"TABLETESTS &lt;(EXCEPTIONS)&gt;\",\"type\":\"standaloneOrValue\"},{\"name\":\"TARGET=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"provides target values used to compute the capability index Cpm, which is saved in the OUTLIMITS= data set\",\"help\":\"TARGET=*value-list*\",\"type\":\"value\"},{\"name\":\"TEST2RESET=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"enables tests for special causes to be reset in a secondary chart\",\"help\":\"TEST2RESET=*variable* | *value*\",\"type\":\"value\"},{\"name\":\"TEST2RUN=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the length of the pattern for Test 2 requested with the TESTS= and TESTS2= options\",\"help\":\"TEST2RUN=7 | 8 | 9 | 11 | 14 | 20\",\"type\":\"choice\",\"arguments\":[{\"name\":\"7\",\"followsDelimiter\":\"/\",\"description\":\"specifies a run-length of 7 in a row on one side of the central line\",\"type\":\"standalone\"},{\"name\":\"8\",\"followsDelimiter\":\"/\",\"description\":\"specifies a run-length of 8 in a row on one side of the central line\",\"type\":\"standalone\"},{\"name\":\"9\",\"followsDelimiter\":\"/\",\"description\":\"specifies a run-length of 9 in a row on one side of the central line\",\"type\":\"standalone\"},{\"name\":\"11\",\"followsDelimiter\":\"/\",\"description\":\"specifies at least 10 out of 11 in a row on one side of the central line\",\"type\":\"standalone\"},{\"name\":\"14\",\"followsDelimiter\":\"/\",\"description\":\"specifies at least 12 out of 14 in a row on one side of the central line\",\"type\":\"standalone\"},{\"name\":\"20\",\"followsDelimiter\":\"/\",\"description\":\"specifies at least 16 out of 20 in a row on one side of the central line\",\"type\":\"standalone\"}]},{\"name\":\"TEST3RUN=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the length of the pattern for Test 3 requested with the TESTS= and TESTS2= options\",\"help\":\"TEST3RUN=6 | 7 | 8\",\"type\":\"choice\",\"arguments\":[{\"name\":\"6\",\"followsDelimiter\":\"/\",\"description\":\"searches for a pattern of steadily increasing or decreasing values with length at least 6\",\"type\":\"standalone\"},{\"name\":\"7\",\"followsDelimiter\":\"/\",\"description\":\"searches for a pattern of steadily increasing or decreasing values with length at least 7\",\"type\":\"standalone\"},{\"name\":\"8\",\"followsDelimiter\":\"/\",\"description\":\"searches for a pattern of steadily increasing or decreasing values with length at least 8\",\"type\":\"standalone\"}]},{\"name\":\"TESTACROSS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that tests for special causes requested with the TESTS= or TESTS2= options be applied without regard to phases (blocks of consecutive subgroups) determined by the READPHASES= option and the variable _PHASE_ in the input data set\",\"type\":\"standalone\"},{\"name\":\"TESTLABBOX\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"requests that labels for subgroups with positive tests for special causes are positioned so they do not overlap\",\"type\":\"standalone\"},{\"name\":\"TESTLABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"provides labels for points at which one of the tests for special causes (requested with the TESTS= or TESTS2= option) is positive\",\"help\":\"TESTLABEL='*label*' | (*variable*) | TESTINDEX | SPACE | NONE\",\"type\":\"value\"},{\"name\":\"TESTLABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a label for points at which the test for special causes requested with the index n in a TESTS= or TESTS2= list is positive\",\"help\":\"TESTLABEL*n*='*label*'\",\"type\":\"value\"},{\"name\":\"TESTNMETHOD=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"applies the tests for special causes requested with the TESTS= and TESTS2= options to standardized test statistics when the subgroup sample sizes are not constant\",\"help\":\"TESTNMETHOD=STANDARDIZE\",\"type\":\"value\"},{\"name\":\"TESTOVERLAP\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"applies tests for special causes (requested with the TESTS= or TESTS2= option) to overlapping patterns of points\",\"type\":\"standalone\"},{\"name\":\"TESTRESET=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"enables tests for special causes to be reset in a primary chart\",\"help\":\"TESTRESET=*variable* | *value*\",\"type\":\"value\"},{\"name\":\"TESTS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"requests one or more tests for special causes, which are also known as runs tests, pattern tests, and Western Electric rules\",\"help\":\"TESTS=*index-list*\",\"type\":\"value\",\"arguments\":[{\"name\":\"1\",\"followsDelimiter\":\"/\",\"description\":\"specifies one point beyond Zone A (outside the control limits)\",\"type\":\"standalone\"},{\"name\":\"2\",\"followsDelimiter\":\"/\",\"description\":\"specifies nine points in a row in Zone C or beyond on one side of the central line\",\"type\":\"standalone\"},{\"name\":\"3\",\"followsDelimiter\":\"/\",\"description\":\"specifies six points in a row steadily increasing\",\"type\":\"standalone\"},{\"name\":\"4\",\"followsDelimiter\":\"/\",\"description\":\"specifies fourteen points in a row alternating up and down\",\"type\":\"standalone\"},{\"name\":\"5\",\"followsDelimiter\":\"/\",\"description\":\"specifies two out of three points in a row in Zone A or beyond\",\"type\":\"standalone\"},{\"name\":\"6\",\"followsDelimiter\":\"/\",\"description\":\"specifies four out of five points in a row in Zone B or beyond\",\"type\":\"standalone\"},{\"name\":\"7\",\"followsDelimiter\":\"/\",\"description\":\"specifies fifteen points in a row in Zone C on either or both sides of the central line\",\"type\":\"standalone\"},{\"name\":\"8\",\"followsDelimiter\":\"/\",\"description\":\"specifies eight points in a row on either or both sides of the central line with no points in Zone C\",\"type\":\"standalone\"}]},{\"name\":\"TESTS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies customized tests for special causes for the primary control chart to search for k out of m points in a row in the interval (a,b)\",\"help\":\"TESTS=T(K=*k* M=*m* LOWER=*a* UPPER=*b* SCHEME=*scheme* CODE=*character* LABEL=*'label'* LEGEND=*'legend'*)\",\"type\":\"value\",\"arguments\":[{\"name\":\"K=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the number of points\",\"help\":\"K=*k*\",\"type\":\"value\"},{\"name\":\"M=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the number of consecutive points\",\"help\":\"M=*m*\",\"type\":\"value\"},{\"name\":\"LOWER=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the lower limit of interval (a,b)\",\"help\":\"LOWER=*value*\",\"type\":\"value\"},{\"name\":\"UPPER=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the upper limit of interval (a,b)\",\"help\":\"UPPER=*value*\",\"type\":\"value\"},{\"name\":\"SCHEME=\",\"followsDelimiter\":\"/\",\"description\":\"specifies a one-sided scheme using (a,b)\",\"help\":\"SCHEME=ONESIDED\",\"type\":\"value\"},{\"name\":\"SCHEME=\",\"followsDelimiter\":\"/\",\"description\":\"specifies a two-sided scheme using (a,b) union (-b,-a)\",\"help\":\"SCHEME=TWOSIDED\",\"type\":\"value\"},{\"name\":\"CODE=\",\"followsDelimiter\":\"/\",\"description\":\"specifies an identifier for test (A--H)\",\"help\":\"CODE=*character*\",\"type\":\"value\"},{\"name\":\"LABEL=\",\"followsDelimiter\":\"/\",\"description\":\"specifies a label for points if signal\",\"help\":\"LABEL=*'label'*\",\"type\":\"value\"},{\"name\":\"LEGEND=\",\"followsDelimiter\":\"/\",\"description\":\"specifies a legend used with the TABLELEGEND option\",\"help\":\"LEGEND=*'legend'*\",\"type\":\"value\"}]},{\"name\":\"TESTS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies customized tests for special causes for the primary control chart to search for k points in a row increasing or decreasing\",\"help\":\"TESTS=M(K=*k* DIR=*direction* CODE=*character* LABEL=*'label'* LEGEND=*'legend'*)\",\"type\":\"value\",\"arguments\":[{\"name\":\"K=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the number of points\",\"help\":\"K=*k*\",\"type\":\"value\"},{\"name\":\"DIR=\",\"followsDelimiter\":\"/\",\"description\":\"specifies an increasing pattern\",\"help\":\"DIR=INC\",\"type\":\"value\"},{\"name\":\"DIR=\",\"followsDelimiter\":\"/\",\"description\":\"specifies a decreasing pattern\",\"help\":\"DIR=DEC\",\"type\":\"value\"},{\"name\":\"CODE=\",\"followsDelimiter\":\"/\",\"description\":\"specifies an identifier for test (A--H)\",\"help\":\"CODE=*character*\",\"type\":\"value\"},{\"name\":\"LABEL=\",\"followsDelimiter\":\"/\",\"description\":\"specifies a label for points if signal\",\"help\":\"LABEL=*'label'*\",\"type\":\"value\"},{\"name\":\"LEGEND=\",\"followsDelimiter\":\"/\",\"description\":\"specifies a legend used with the TABLELEGEND option\",\"help\":\"LEGEND=*'legend'*\",\"type\":\"value\"}]},{\"name\":\"TESTS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies customized tests for special causes for the primary control chart to search for a statistically significant linear trend over a window of k points\",\"help\":\"TESTS=S(K=*k* CLEV=*α* FORM=*character* CODE=*character* LABEL=*'label'* LEGEND=*'legend'*)\",\"type\":\"value\",\"arguments\":[{\"name\":\"K=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the number of points in sliding window (k > 2)\",\"help\":\"K=*k*\",\"type\":\"value\"},{\"name\":\"CLEV=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the Type I (false positive) error rate (0 < α ≤ 0.5)\",\"help\":\"CLEV=*α*\",\"type\":\"value\"},{\"name\":\"FORM=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the type of trend test (P=parametric, N=nonparametric)\",\"help\":\"FORM=*character*\",\"type\":\"value\"},{\"name\":\"CODE=\",\"followsDelimiter\":\"/\",\"description\":\"specifies an identifier for test (A--H)\",\"help\":\"CODE=*character*\",\"type\":\"value\"},{\"name\":\"LABEL=\",\"followsDelimiter\":\"/\",\"description\":\"specifies a label for points if signal\",\"help\":\"LABEL=*'label'*\",\"type\":\"value\"},{\"name\":\"LEGEND=\",\"followsDelimiter\":\"/\",\"description\":\"specifies a legend used with the TABLELEGEND option\",\"help\":\"LEGEND=*'legend'*\",\"type\":\"value\"}]},{\"name\":\"TOTPANELS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the total number of panels to be used to display the chart\",\"help\":\"TOTPANELS=*n*\",\"type\":\"value\"},{\"name\":\"TRENDVAR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a list of trend variables, one for each process listed in the chart statement\",\"help\":\"TRENDVAR=*variable* | (*variable-list*)\",\"type\":\"value\"},{\"name\":\"TYPE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the value of the _TYPE_ variable in the OUTLIMITS= data set, which in turn indicates whether certain parameter variables in this data set represent estimates or standard (known) values\",\"help\":\"TYPE=ESTIMATE | STDMU | STDSIGMA | STANDARD\",\"type\":\"choice\"},{\"name\":\"UCLLABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a label for the upper control limit in the primary chart\",\"help\":\"UCLLABEL='*label*'\",\"type\":\"value\"},{\"name\":\"USL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"provides upper specification limits used to compute capability indices\",\"help\":\"USL=*value-list*\",\"type\":\"value\"},{\"name\":\"VAXIS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies major tick mark values for the vertical axis of a primary chart\",\"help\":\"VAXIS=*value-list* | AXIS*n*\",\"type\":\"value\"},{\"name\":\"VAXIS2=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies major tick mark values for the vertical axis of a secondary chart\",\"help\":\"VAXIS2=*value-list* | AXIS*n*\",\"type\":\"value\"},{\"name\":\"VFORMAT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a format to be used for displaying tick mark labels on the vertical axis of a primary chart\",\"help\":\"VFORMAT=*format*\",\"type\":\"value\"},{\"name\":\"VFORMAT2=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a format to be used for displaying tick mark labels on the vertical axis of a secondary chart\",\"help\":\"VFORMAT2=*format*\",\"type\":\"value\"},{\"name\":\"VOFFSET=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the length of the offset at each end of the vertical axis\",\"help\":\"VOFFSET=*value*\",\"type\":\"value\"},{\"name\":\"VREF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"draws reference lines perpendicular to the vertical axis on the primary chart\",\"help\":\"VREF=*value-list* | *SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"VREF2=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"draws reference lines perpendicular to the vertical axis on the secondary chart\",\"help\":\"VREF2=*value-list* | *SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"VREF2LABELS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies labels for the reference lines requested by the VREF2= option\",\"help\":\"VREF2LABELS='*label1*'...'*labeln*'\",\"type\":\"value\"},{\"name\":\"VREFLABELS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies labels for the reference lines requested by the VREF= option\",\"help\":\"VREFLABELS='*label1*'...'*labeln*'\",\"type\":\"value\"},{\"name\":\"VREFLABPOS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the horizontal position of the VREFLABELS= and VREF2LABELS= labels\",\"help\":\"VREFLABPOS=1 | 2 | 3\",\"type\":\"choice\",\"arguments\":[{\"name\":\"1\",\"followsDelimiter\":\"/\",\"description\":\"left-justifies in subplot area\",\"type\":\"standalone\"},{\"name\":\"2\",\"followsDelimiter\":\"/\",\"description\":\"right-justifies in subplot area\",\"type\":\"standalone\"},{\"name\":\"3\",\"followsDelimiter\":\"/\",\"description\":\"left-justifies in right margin\",\"type\":\"standalone\"}]},{\"name\":\"VZERO\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"forces the origin to be included in the vertical axis for a primary chart\",\"type\":\"standalone\"},{\"name\":\"VZERO2\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"forces the origin to be included in the vertical axis for a secondary chart\",\"type\":\"standalone\"},{\"name\":\"WESTGARD=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"requests that one or more of the Westgard rules (tests for special causes) be applied\",\"help\":\"WESTGARD=*index-list*\",\"type\":\"value\",\"arguments\":[{\"name\":\"1\",\"followsDelimiter\":\"/\",\"description\":\"specifies one point in Zone A or beyond\",\"type\":\"standalone\"},{\"name\":\"2\",\"followsDelimiter\":\"/\",\"description\":\"specifies one point beyond Zone A (outside the control limits)\",\"type\":\"standalone\"},{\"name\":\"3\",\"followsDelimiter\":\"/\",\"description\":\"specifies two points in a row in Zone A or beyond on the same side of the central line\",\"type\":\"standalone\"},{\"name\":\"4\",\"followsDelimiter\":\"/\",\"description\":\"specifies at least one point in Zone A or beyond on each side of the central line\",\"type\":\"standalone\"},{\"name\":\"5\",\"followsDelimiter\":\"/\",\"description\":\"specifies four points in a row in Zone B or beyond on the same side of the central line\",\"type\":\"standalone\"},{\"name\":\"6\",\"followsDelimiter\":\"/\",\"description\":\"specifies ten points in a row on the same side of the central line\",\"type\":\"standalone\"}]},{\"name\":\"XSYMBOL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a label for the central line in an X-bar chart or a median chart\",\"help\":\"XSYMBOL=MBAR | MTIL | MU | MU0 | XBAR | XBAR2 | XBARPM | XBAR0 | XBAR0PM | '*label*'\",\"type\":\"value\",\"arguments\":[{\"name\":\"MBAR\",\"followsDelimiter\":\"/\",\"description\":\"M bar\",\"type\":\"standalone\"},{\"name\":\"MTIL\",\"followsDelimiter\":\"/\",\"description\":\"M tilde\",\"type\":\"standalone\"},{\"name\":\"MU\",\"followsDelimiter\":\"/\",\"description\":\"μ\",\"type\":\"standalone\"},{\"name\":\"MU0\",\"followsDelimiter\":\"/\",\"description\":\"μ sub 0\",\"type\":\"standalone\"},{\"name\":\"XBAR\",\"followsDelimiter\":\"/\",\"description\":\"X bar\",\"type\":\"standalone\"},{\"name\":\"XBAR2\",\"followsDelimiter\":\"/\",\"description\":\"X double bar\",\"type\":\"standalone\"},{\"name\":\"XBARPM\",\"followsDelimiter\":\"/\",\"description\":\"X bar prime\",\"type\":\"standalone\"},{\"name\":\"XBAR0\",\"followsDelimiter\":\"/\",\"description\":\"X bar sub 0\",\"type\":\"standalone\"},{\"name\":\"XBAR0PM\",\"followsDelimiter\":\"/\",\"description\":\"X bar prime sub 0\",\"type\":\"standalone\"}]},{\"name\":\"YPCT1=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a percent (ranging from 0 to 100) that determines the length of the vertical axis for the primary chart in proportion to the sum of the lengths of the vertical axes for the primary and secondary charts\",\"help\":\"YPCT1=*value*\",\"type\":\"value\"},{\"name\":\"ZEROSTD\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that a control chart is to be constructed and displayed regardless of whether the estimated process standard deviation is zero\",\"help\":\"ZEROSTD&lt;=NOLIMITS&gt;\",\"type\":\"standaloneOrValue\"},{\"name\":\"ZONE2VALUES\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"labels R or s chart zones lines with their values\",\"type\":\"standalone\"},{\"name\":\"ZONELABELS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"adds the labels A, B, and C to zone lines requested with the ZONES or ZONEVALUES options\",\"type\":\"standalone\"},{\"name\":\"ZONES\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"adds lines to a primary chart that delineate zones A, B, and C for standard tests requested with the TESTS= option\",\"type\":\"standalone\"},{\"name\":\"ZONEVALPOS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the horizontal position of the ZONEVALUES= and ZONE2VALUES= labels\",\"help\":\"ZONEVALPOS=1 | 2 | 3\",\"type\":\"choice\",\"arguments\":[{\"name\":\"1\",\"followsDelimiter\":\"/\",\"description\":\"left-justifies in subplot area\",\"type\":\"standalone\"},{\"name\":\"2\",\"followsDelimiter\":\"/\",\"description\":\"right-justifies in subplot area\",\"type\":\"standalone\"},{\"name\":\"3\",\"followsDelimiter\":\"/\",\"description\":\"left-justifies in right margin\",\"type\":\"standalone\"}]},{\"name\":\"ZONEVALUES\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"labels the primary chart zones lines with their values\",\"type\":\"standalone\"},{\"name\":\"BLOCKREFTRANSPARENCY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"PHASEREFTRANSPARENCY=\",\"REFFILLTRANSPARENCY=\"],\"description\":\"specifies the wall fill transparency for blocks and phases when transparency is used in ODS Graphics output\",\"help\":\"BLOCKREFTRANSPARENCY=*value*\",\"type\":\"value\"},{\"name\":\"BOXTRANSPARENCY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the box fill transparency for box-and-whisker charts when transparency is used in ODS Graphics output\",\"help\":\"BOXTRANSPARENCY=*value*\",\"type\":\"value\"},{\"name\":\"INFILLTRANSPARENCY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the control limit infill transparency when transparency is used in ODS Graphics output\",\"help\":\"INFILLTRANSPARENCY=*value*\",\"type\":\"value\"},{\"name\":\"MARKERDISPLAY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a subset of subgroups to be plotted with markers on a primary chart that is not an R or s chart\",\"help\":\"MARKERDISPLAY=OOC | UPPER | LOWER | RUNSTEST\",\"type\":\"choice\",\"arguments\":[{\"name\":\"OOC\",\"followsDelimiter\":\"/\",\"description\":\"selects subgroups outside the control limits\",\"type\":\"standalone\"},{\"name\":\"UPPER\",\"followsDelimiter\":\"/\",\"description\":\"selects subgroups above the upper control limit\",\"type\":\"standalone\"},{\"name\":\"LOWER\",\"followsDelimiter\":\"/\",\"description\":\"selects subgroups below the lower control limit\",\"type\":\"standalone\"},{\"name\":\"RUNSTEST\",\"followsDelimiter\":\"/\",\"description\":\"selects subgroups that signal positive tests for special causes\",\"type\":\"standalone\"}]},{\"name\":\"MARKERDISPLAY2=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a subset of subgroups to be plotted with markers on an R or s chart\",\"help\":\"MARKERDISPLAY2=OOC | UPPER | LOWER | RUNSTEST\",\"type\":\"choice\",\"arguments\":[{\"name\":\"OOC\",\"followsDelimiter\":\"/\",\"description\":\"selects subgroups outside the control limits\",\"type\":\"standalone\"},{\"name\":\"UPPER\",\"followsDelimiter\":\"/\",\"description\":\"selects subgroups above the upper control limit\",\"type\":\"standalone\"},{\"name\":\"LOWER\",\"followsDelimiter\":\"/\",\"description\":\"selects subgroups below the lower control limit\",\"type\":\"standalone\"},{\"name\":\"RUNSTEST\",\"followsDelimiter\":\"/\",\"description\":\"selects subgroups that signal positive tests for special causes\",\"type\":\"standalone\"}]},{\"name\":\"MARKERLABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a variable whose values provide labels for the subgroups that are plotted with markers on a primary chart that is not an R or s chart\",\"help\":\"MARKERLABEL=(*variable*)\",\"type\":\"value\"},{\"name\":\"MARKERLABEL2=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a variable whose values provide labels for the subgroups that are plotted with markers on an R or s chart\",\"help\":\"MARKERLABEL2=(*variable*)\",\"type\":\"value\"},{\"name\":\"MARKERMISSINGGROUP=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies whether subgroups with missing symbol-variable values are plotted with a unique marker\",\"help\":\"MARKERMISSINGGROUP=TRUE | FALSE\",\"type\":\"choice\"},{\"name\":\"MARKERS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"plots subgroup points with markers\",\"type\":\"standalone\"},{\"name\":\"NOBLOCKREF\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"NOPHASEREF\",\"NOREF\"],\"description\":\"suppresses block and phase reference lines from ODS Graphics output\",\"type\":\"standalone\"},{\"name\":\"NOBLOCKREFFILL\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"NOPHASEREFFILL\",\"NOREFFILL\"],\"description\":\"suppresses the block and phase wall fills from ODS Graphics output\",\"type\":\"standalone\"},{\"name\":\"NOBOXFILLLEGEND\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"NOFILLLEGEND\",\"NOSTARFILLLEGEND\"],\"description\":\"suppresses the legend for the levels of a BOXFILL= or STARFILL= variable in ODS Graphics output\",\"type\":\"standalone\"},{\"name\":\"NOTRANSPARENCY\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"disables transparency in ODS Graphics output, so that all graph features are opaque\",\"type\":\"standalone\"},{\"name\":\"ODSFOOTNOTE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"adds a footnote to ODS Graphics output\",\"help\":\"ODSFOOTNOTE=FOOTNOTE | FOOTNOTE1 | '*string*'\",\"type\":\"value\"},{\"name\":\"ODSFOOTNOTE2=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"adds a secondary footnote to ODS Graphics output\",\"help\":\"ODSFOOTNOTE2=FOOTNOTE2 | '*string*'\",\"type\":\"value\"},{\"name\":\"ODSLEGENDEXPAND\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that legend entries contain all levels observed in the data\",\"type\":\"standalone\"},{\"name\":\"ODSTITLE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a title for ODS Graphics output\",\"help\":\"ODSTITLE=TITLE | TITLE1 | NONE | DEFAULT | LABELFMT | '*string*'\",\"type\":\"value\"},{\"name\":\"ODSTITLE2=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a secondary title for ODS Graphics output\",\"help\":\"ODSTITLE2=TITLE2 | '*string*'\",\"type\":\"value\"},{\"name\":\"OUTFILLTRANSPARENCY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the control limit outfill transparency when transparency is used in ODS Graphics output\",\"help\":\"OUTFILLTRANSPARENCY=*value*\",\"type\":\"value\"},{\"name\":\"OUTHIGHURL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a variable whose values are URLs to be associated with outlier points above the upper fence on a schematic box chart when ODS Graphics output is directed into HTML\",\"help\":\"OUTHIGHURL=*variable*\",\"type\":\"value\"},{\"name\":\"OUTLOWURL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a variable whose values are URLs to be associated with outlier points below the lower fence on a schematic box chart when ODS Graphics output is directed into HTML\",\"help\":\"OUTLOWURL=*variable*\",\"type\":\"value\"},{\"name\":\"OVERLAY2URL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies variables whose values are URLs to be associated with points on secondary chart overlays\",\"help\":\"OVERLAY2URL=(*variable-list*)\",\"type\":\"value\"},{\"name\":\"OVERLAYURL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies variables whose values are URLs to be associated with points on primary chart overlays\",\"help\":\"OVERLAYURL=(*variable-list*)\",\"type\":\"value\"},{\"name\":\"PHASEBOXLABELS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"draws phase labels as titles along the top of phase boxes\",\"type\":\"standalone\"},{\"name\":\"PHASEPOS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the vertical position of the phase legend\",\"help\":\"PHASEPOS=1 | 2 | 3 | 4\",\"type\":\"choice\",\"arguments\":[{\"name\":\"1\",\"followsDelimiter\":\"/\",\"description\":\"places at top of chart, offset from axis frame\",\"type\":\"standalone\"},{\"name\":\"2\",\"followsDelimiter\":\"/\",\"description\":\"places at top of chart, immediately above axis frame\",\"type\":\"standalone\"},{\"name\":\"3\",\"followsDelimiter\":\"/\",\"description\":\"places at bottom of chart, immediately above horizontal axis\",\"type\":\"standalone\"},{\"name\":\"4\",\"followsDelimiter\":\"/\",\"description\":\"places at bottom of chart, below horizontal axis label\",\"type\":\"standalone\"}]},{\"name\":\"PHASEREFLEVEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"enables you to associate phase reference lines (block reference lines) with either the innermost or the outermost level\",\"help\":\"PHASEREFLEVEL=INNER | OUTER | NONE\",\"type\":\"choice\"},{\"name\":\"QCSYMBOLS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies which set of symbol markers is used to plot points on a control chart\",\"help\":\"QCSYMBOLS=TRUE | FALSE\",\"type\":\"choice\"},{\"name\":\"SIMULATEQCFONT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"draws the central line labels using a simulated software font rather than a hardware font\",\"type\":\"standalone\"},{\"name\":\"STARTRANSPARENCY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the star fill transparency when transparency is used in ODS Graphics output\",\"help\":\"STARTRANSPARENCY=*value*\",\"type\":\"value\"},{\"name\":\"URL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies URLs as values of the specified character variable (or formatted values of a numeric variable) to associate with subgroup points on a primary control chart when ODS Graphics output is directed into HTML\",\"help\":\"URL=*variable*\",\"type\":\"value\"},{\"name\":\"URL2=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies URLs as values of the specified character variable (or formatted values of a numeric variable) to associate with subgroup points on a secondary control chart when ODS Graphics output is directed into HTML\",\"help\":\"URL2=*variable*\",\"type\":\"value\"},{\"name\":\"ANNOTATE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"ANNO=\"],\"description\":\"specifies an ANNOTATE= type data set that enhances a primary chart\",\"help\":\"ANNOTATE=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"ANNOTATE2=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"ANNO2=\"],\"description\":\"specifies an ANNOTATE= type data set that enhances a secondary chart\",\"help\":\"ANNOTATE2=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"BILEVEL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"arranges the Shewhart chart in two levels (rather than the default of one level) so that twice as much data can be displayed on a page or screen\",\"type\":\"standalone\"},{\"name\":\"CAXIS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the color for the axes and tick marks\",\"help\":\"CAXIS=*color*\",\"type\":\"color\"},{\"name\":\"CBLOCKLAB=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies fill colors for the frames that enclose the block-variable labels in a block legend\",\"help\":\"CBLOCKLAB=*color* | (*color-list*)\",\"type\":\"color\"},{\"name\":\"CBLOCKVAR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies variables whose values are colors for filling the background of the legend associated with block-variables\",\"help\":\"CBLOCKVAR=*variable* | (*variable-list*)\",\"type\":\"value\"},{\"name\":\"CCLIP=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a color for the plotting symbol that is specified with the CLIPSYMBOL option to mark clipped points\",\"help\":\"CCLIP=*color*\",\"type\":\"color\"},{\"name\":\"CCONNECT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the color for the line segments connecting points on the chart\",\"help\":\"CCONNECT=*color*\",\"type\":\"color\"},{\"name\":\"CCOVERLAY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the colors for the line segments connecting points on primary chart overlays\",\"help\":\"CCOVERLAY=(*color-list*)\",\"type\":\"color\"},{\"name\":\"CCOVERLAY2=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the colors for the line segments connecting points on secondary chart overlays\",\"help\":\"CCOVERLAY2=(*color-list*)\",\"type\":\"color\"},{\"name\":\"CFRAME=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the colors for filling the rectangle enclosed by the axes and the frame\",\"help\":\"CFRAME=*color* | (*color-list*)\",\"type\":\"color\"},{\"name\":\"CGRID=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the color for the grid requested by the ENDGRID or GRID option\",\"help\":\"CGRID=*color*\",\"type\":\"color\"},{\"name\":\"CHREF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the color for the lines requested by the HREF= and HREF2= options\",\"help\":\"CHREF=*color*\",\"type\":\"color\"},{\"name\":\"CLABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the color for labels produced by the ALLLABEL=, ALLLABEL2=, OUTLABEL=, and OUTLABEL2= options\",\"help\":\"CLABEL=*color*\",\"type\":\"color\"},{\"name\":\"CLIMITS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the color for the control limits, the central line, and the labels for these lines\",\"help\":\"CLIMITS=*color*\",\"type\":\"color\"},{\"name\":\"CLIPLEGPOS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the position for the legend that indicates the number of clipped points when the CLIPFACTOR= option is used\",\"help\":\"CLIPLEGPOS=TOP | BOTTOM\",\"type\":\"choice\"},{\"name\":\"CLIPSYMBOL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a plot symbol used to identify clipped points on the chart and in the legend when the CLIPFACTOR= option is used\",\"help\":\"CLIPSYMBOL=*symbol*\",\"type\":\"value\"},{\"name\":\"CLIPSYMBOLHT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the height for the symbol marker used to identify clipped points on the chart when the CLIPFACTOR= option is used\",\"help\":\"CLIPSYMBOLHT=*value*\",\"type\":\"value\"},{\"name\":\"CNEEDLES=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"requests that points are to be connected to the central line with vertical line segments (needles) and specifies the color of the needles\",\"help\":\"CNEEDLES=*color*\",\"type\":\"color\"},{\"name\":\"COUTFILL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the fill color for the areas outside the control limits that lie between the connected points and the control limits and are bounded by connecting lines\",\"help\":\"COUTFILL=*color*\",\"type\":\"color\"},{\"name\":\"COVERLAY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the colors used to plot primary chart overlay variables specified in the OVERLAY= list\",\"help\":\"COVERLAY=(*color-list*)\",\"type\":\"color\"},{\"name\":\"COVERLAY2=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the colors used to plot secondary chart overlay variables specified in the OVERLAY2= list\",\"help\":\"COVERLAY2=(*color-list*)\",\"type\":\"color\"},{\"name\":\"COVERLAYCLIP=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the color used to plot clipped values on overlay plots when the CLIPFACTOR= option is used\",\"help\":\"COVERLAYCLIP=*color*\",\"type\":\"color\"},{\"name\":\"CPHASELEG=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a text color for the phase labels requested with the PHASELEGEND option\",\"help\":\"CPHASELEG=*color*\",\"type\":\"color\"},{\"name\":\"CSTARCIRCLES=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a color for the circles requested with the STARCIRCLES= option\",\"help\":\"CSTARCIRCLES=*color*\",\"type\":\"color\"},{\"name\":\"CSTARFILL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a color or colors for filling the interior of stars requested with the STARVERTICES= option\",\"help\":\"CSTARFILL=*color* | (*variable*)\",\"type\":\"color\"},{\"name\":\"CSTARS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a color or colors for the outlines of stars requested with the STARVERTICES= option\",\"help\":\"CSTARS=*color* | (*variable*)\",\"type\":\"color\"},{\"name\":\"CTESTLABBOX=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the color for boxes enclosing labels for positive tests for special causes requested with the TESTLABBOX option\",\"help\":\"CTESTLABBOX=*color*\",\"type\":\"color\"},{\"name\":\"CTESTS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies colors for labels indicating points where a test for special causes specified in the TESTS= option is positive\",\"help\":\"CTESTS=*color* | *test-color-list*\",\"type\":\"color\"},{\"name\":\"CTESTSYMBOL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the color of the symbol used to plot subgroups with positive tests for special causes\",\"help\":\"CTESTSYMBOL=*color*\",\"type\":\"color\"},{\"name\":\"CTEXT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the color for tick mark values, axis labels, the sample size legend, and the control limit legend\",\"help\":\"CTEXT=*color*\",\"type\":\"color\"},{\"name\":\"CVREF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the color for reference lines requested by the VREF= and VREF2= options\",\"help\":\"CVREF=*color*\",\"type\":\"color\"},{\"name\":\"CZONES=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"requests lines marking zones A, B, and C for the tests for special causes\",\"help\":\"CZONES=*color*\",\"type\":\"color\"},{\"name\":\"DESCRIPTION=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a description, up to 256 characters long, for the GRSEG catalog entry for the primary chart\",\"help\":\"DESCRIPTION='*string*'\",\"type\":\"value\"},{\"name\":\"ENDGRID\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"a grid to the rightmost portion of the chart, beginning with the first labeled major tick mark position that follows the last plotted point\",\"type\":\"standalone\"},{\"name\":\"FONT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a software font for labels and legends\",\"help\":\"FONT=*font*\",\"type\":\"value\"},{\"name\":\"HEIGHT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the height (in vertical screen percent units) of the text for axis labels and legends\",\"help\":\"HEIGHT=*value*\",\"type\":\"value\"},{\"name\":\"HMINOR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the number of (unlabeled) minor tick marks between each major tick mark on the horizontal axis\",\"help\":\"HMINOR=*n*\",\"type\":\"value\"},{\"name\":\"HTML=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a variable whose values create links associated with subgroup points on a primary control chart when traditional graphics output is directed into HTML\",\"help\":\"HTML=*variable*\",\"type\":\"value\"},{\"name\":\"HTML2=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a variable whose values create links associated with subgroup points on a secondary control chart when traditional graphics output is directed into HTML\",\"help\":\"HTML2=*variable*\",\"type\":\"value\"},{\"name\":\"HTML_LEGEND=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies HTML links as values of the specified character variable (or formatted values of a numeric variable)\",\"help\":\"HTML_LEGEND=*variable*\",\"type\":\"value\"},{\"name\":\"LABELANGLE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the angle at which labels requested with the ALLLABEL=, ALLLABEL2=, OUTLABEL=, and OUTLABEL2= options are drawn\",\"help\":\"LABELANGLE=*angle*\",\"type\":\"value\"},{\"name\":\"LABELFONT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"TESTFONT=\"],\"description\":\"specifies a software font for labels requested with the ALLLABEL=, ALLLABEL2=, OUTLABEL=, OUTLABEL2=, STARLABEL=, TESTLABEL=, and TESTLABELn= options\",\"help\":\"LABELFONT=*font*\",\"type\":\"value\"},{\"name\":\"LABELHEIGHT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"TESTHEIGHT=\"],\"description\":\"specifies the height (in vertical percent screen units) for labels requested with the ALLLABEL=, ALLLABEL2=, OUTLABEL=, OUTLABEL2=, STARLABEL=, TESTLABEL=, and TESTLABELn= options\",\"help\":\"LABELHEIGHT=*value*\",\"type\":\"value\"},{\"name\":\"LENDGRID=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the line type for the grid requested with the ENDGRID option\",\"help\":\"LENDGRID=*n*\",\"type\":\"value\"},{\"name\":\"LGRID=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the line type for the grid requested with the GRID option\",\"help\":\"LGRID=*n*\",\"type\":\"value\"},{\"name\":\"LHREF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the line type for reference lines requested with the HREF= and HREF2= options\",\"help\":\"LHREF=*linetype*\",\"type\":\"value\"},{\"name\":\"LLIMITS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the line type for control limits\",\"help\":\"LLIMITS=*linetype*\",\"type\":\"value\"},{\"name\":\"LOVERLAY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies line types for the line segments connecting points on primary chart overlays corresponding to the OVERLAY= list\",\"help\":\"LOVERLAY=(*linetypes*)\",\"type\":\"value\"},{\"name\":\"LOVERLAY2=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies line types for the line segments connecting points on secondary chart overlays corresponding to the OVERLAY2= list\",\"help\":\"LOVERLAY2=(*linetypes*)\",\"type\":\"value\"},{\"name\":\"LSTARCIRCLES=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies one or more line types for the circles requested with the STARCIRCLES= option\",\"help\":\"LSTARCIRCLES=*linetypes*\",\"type\":\"value\"},{\"name\":\"LSTARS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the line types for the outlines of stars requested with the STARVERTICES= option\",\"help\":\"LSTARS=*linetype* | (*variable*)\",\"type\":\"value\"},{\"name\":\"LTESTS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the line type for the line segments that connect patterns of points for which a test for special causes (requested with the TESTS= option) is positive\",\"help\":\"LTESTS=*linetype*\",\"type\":\"value\"},{\"name\":\"LVREF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the line type for reference lines requested by the VREF= and VREF2= options\",\"help\":\"LVREF=*linetype*\",\"type\":\"value\"},{\"name\":\"LZONES=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the line type for lines that delineate zones A, B, and C for standard tests requested with the TESTS= and/or TESTS2= options\",\"help\":\"LZONES=*n*\",\"type\":\"value\"},{\"name\":\"NAME=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the name of the GRSEG catalog entry for the primary chart, and the name of the graphics output file if one is created\",\"help\":\"NAME='*string*'\",\"type\":\"value\"},{\"name\":\"NOFRAME\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses the default frame drawn around the chart\",\"type\":\"standalone\"},{\"name\":\"NOLIMITSFRAME\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses the default frame for the control limit information that is displayed across the top of the chart when multiple sets of control limits with distinct multiples of σ and nominal control limit sample sizes are read from a LIMITS= data set\",\"type\":\"standalone\"},{\"name\":\"NOPHASEFRAME\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses the default frame for the legend requested by the PHASELEGEND option\",\"type\":\"standalone\"},{\"name\":\"NOVANGLE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"requests vertical axis labels that are strung out vertically\",\"type\":\"standalone\"},{\"name\":\"NOVLABEL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses the label for the primary vertical axis\",\"type\":\"standalone\"},{\"name\":\"NOV2LABEL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses the label for the secondary vertical axis\",\"type\":\"standalone\"},{\"name\":\"OUTHIGHHTML=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a variable whose values create links to be associated with outlier points above the upper fence on a schematic box chart when traditional graphics output is directed into HTML\",\"help\":\"OUTHIGHHTML=*variable*\",\"type\":\"value\"},{\"name\":\"OUTLOWHTML=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a variable whose values create links to be associated with outlier points below the lower fence on a schematic box chart when traditional graphics output is directed into HTML\",\"help\":\"OUTLOWHTML=*variable*\",\"type\":\"value\"},{\"name\":\"OVERLAY2HTML=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies variables whose values create links to be associated with points on secondary chart overlays corresponding to the OVERLAY2= list\",\"help\":\"OVERLAY2HTML=(*variable-list*)\",\"type\":\"value\"},{\"name\":\"OVERLAY2SYM=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies symbols used to plot overlays on a secondary control chart corresponding to the OVERLAY2= list\",\"help\":\"OVERLAY2SYM=(*symbol-list*)\",\"type\":\"value\"},{\"name\":\"OVERLAY2SYMHT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the heights of symbols used to plot overlays on a secondary control chart corresponding to the OVERLAY2= list\",\"help\":\"OVERLAY2SYMHT=(*value-list*)\",\"type\":\"value\"},{\"name\":\"OVERLAYCLIPSYM=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the symbol used to plot clipped values on overlay plots when the CLIPFACTOR= option is used\",\"help\":\"OVERLAYCLIPSYM=*symbol*\",\"type\":\"value\"},{\"name\":\"OVERLAYCLIPSYMHT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the height for the symbol used to plot clipped values on overlay plots when the CLIPFACTOR= option is used\",\"help\":\"OVERLAYCLIPSYMHT=*value*\",\"type\":\"value\"},{\"name\":\"OVERLAYHTML=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies variables whose values create links to be associated with points on primary chart overlays corresponding to the OVERLAY= list\",\"help\":\"OVERLAYHTML=(*variable-list*)\",\"type\":\"value\"},{\"name\":\"OVERLAYSYM=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies symbols used to plot overlays on the primary control chart corresponding to the OVERLAY= list\",\"help\":\"OVERLAYSYM=(*symbol-list*)\",\"type\":\"value\"},{\"name\":\"OVERLAYSYMHT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the heights of symbols used to plot overlays on the primary control chart corresponding to the OVERLAY= list\",\"help\":\"OVERLAYSYMHT=(*value-list*)\",\"type\":\"value\"},{\"name\":\"TESTFONT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"LABELFONT=\"],\"description\":\"specifies a software font for labels requested with the ALLLABEL=, ALLLABEL2=, OUTLABEL=, OUTLABEL2=, STARLABEL=, TESTLABEL=, and TESTLABELn= options\",\"help\":\"TESTFONT=*font*\",\"type\":\"value\"},{\"name\":\"TESTHEIGHT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"LABELHEIGHT=\"],\"description\":\"specifies the height (in vertical percent screen units) for labels requested with the ALLLABEL=, ALLLABEL2=, OUTLABEL=, OUTLABEL2=, STARLABEL=, TESTLABEL=, and TESTLABELn= options\",\"help\":\"TESTHEIGHT=*value*\",\"type\":\"value\"},{\"name\":\"TESTSYMBOL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the symbol for plotting subgroups with positive tests for special causes\",\"help\":\"TESTSYMBOL=*symbol*\",\"type\":\"value\"},{\"name\":\"TESTSYMBOLHT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the height of the symbol used to plot subgroups with positive tests for special causes\",\"help\":\"TESTSYMBOLHT=*value*\",\"type\":\"value\"},{\"name\":\"TURNALL\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"TURNOUT\"],\"description\":\"turns the labels produced by the ALLLABEL=, ALLLABEL2=, OUTLABEL=, and OUTLABEL2= options so that they are strung out vertically\",\"type\":\"standalone\"},{\"name\":\"TURNHLABELS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"turns the major tick mark labels for the horizontal (subgroup) axis so that they are strung out vertically\",\"type\":\"standalone\"},{\"name\":\"VMINOR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the number of minor tick marks between each major tick mark on the vertical axis\",\"help\":\"VMINOR=*n*\",\"type\":\"value\"},{\"name\":\"WAXIS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the width in pixels for the axis and frame lines\",\"help\":\"WAXIS=*n*\",\"type\":\"value\"},{\"name\":\"WGRID=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the width in pixels for grid lines requested with the ENDGRID and GRID options\",\"help\":\"WGRID=*n*\",\"type\":\"value\"},{\"name\":\"WLIMITS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the width in pixels for the control limits and central line\",\"help\":\"WLIMITS=*n*\",\"type\":\"value\"},{\"name\":\"WNEEDLES=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the width in pixels of needles connecting plotted points to the central line, as requested with the NEEDLES option\",\"help\":\"WNEEDLES=*n*\",\"type\":\"value\"},{\"name\":\"WOVERLAY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the widths in pixels for the line segments connecting points on primary chart overlay plots corresponding to the OVERLAY= list\",\"help\":\"WOVERLAY=(*value-list*)\",\"type\":\"value\"},{\"name\":\"WOVERLAY2=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the widths in pixels for the line segments connecting points on secondary chart overlay plots corresponding to the OVERLAY2= list\",\"help\":\"WOVERLAY2=(*value-list*)\",\"type\":\"value\"},{\"name\":\"WSTARCIRCLES=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the width in pixels of the outline of circles requested by the STARCIRCLES= option\",\"help\":\"WSTARCIRCLES=*n*\",\"type\":\"value\"},{\"name\":\"WSTARS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the width in pixels of the outline of stars requested by the STARVERTICES= option\",\"help\":\"WSTARS=*n*\",\"type\":\"value\"},{\"name\":\"WTESTS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the width in pixels of the line segments that connect patterns of points for which a test for special causes (requested with the TESTS= or TESTS2= option) is positive\",\"help\":\"WTESTS=*n*\",\"type\":\"value\"},{\"name\":\"WTREND=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the width in pixels of the line segments that connect points on trend charts requested with the TRENDVAR= option\",\"help\":\"WTREND=*n*\",\"type\":\"value\"}]},{\"name\":\"MRCHART\",\"description\":\"creates charts for subgroup medians and range\",\"help\":\"MRCHART  (processes) * subgroup-variable<(block-variables)><=symbol-variable | ='character'></ options>;                                              \\nprocess is the name of the variable containing the raw measurements, or the common prefix of the summary variables in the HISTORY= data set, or the value of the variable _VAR_ in the TABLE= data set                     \\nsubgroup-variable is the variable that identifies subgroups in the data                     \\nblock-variables are optional variables that group the data into blocks of consecutive subgroups                     \\nsymbol-variable is an optional variable whose levels (unique values) determine the symbol marker that is used to plot the medians and ranges                     \\ncharacter is a character that is used to plot the medians and ranges when you produce traditional graphics                     \",\"arguments\":[{\"name\":\"ALLLABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"labels every point on the primary chart with the value plotted for that subgroup or with the value of variable in the input data set\",\"help\":\"ALLLABEL=VALUE | (*variable*)\",\"type\":\"value\"},{\"name\":\"ALLLABEL2=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"labels every point on an R, s, or trend chart with the value plotted for that subgroup or with the value of variable in the input data set\",\"help\":\"ALLLABEL2=VALUE | (*variable*)\",\"type\":\"value\"},{\"name\":\"ALLN\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"plots summary statistics for all subgroups, regardless of whether the subgroup sample size equals the nominal control limit sample size n specified by the LIMITN= option or the variable _LIMITN_ in the LIMITS= data set\",\"type\":\"standalone\"},{\"name\":\"ALPHA=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"requests α probability limits instead of 3σ control limits\",\"help\":\"ALPHA=*value*\",\"type\":\"value\"},{\"name\":\"BLOCKLABELPOS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the position of a block-variable label in the block legend\",\"help\":\"BLOCKLABELPOS=ABOVE | LEFT | RIGHT\",\"type\":\"choice\"},{\"name\":\"BLOCKLABTYPE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies how lengthy block variable values are treated when there is insufficient space to display them in the block legend\",\"help\":\"BLOCKLABTYPE=SCALED | TRUNCATED | ROTATE | ROTATEALL | *height*\",\"type\":\"value\"},{\"name\":\"BLOCKPOS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the vertical position of the legend for the values of the block-variables\",\"help\":\"BLOCKPOS=*n*\",\"type\":\"value\"},{\"name\":\"BLOCKREP\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that block variable values for all subgroups are to be displayed\",\"type\":\"standalone\"},{\"name\":\"BLOCKVAR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies variables whose values are used to assign colors for filling the background of the legend associated with block variables\",\"help\":\"BLOCKVAR=*variable* | (*variable-list*)\",\"type\":\"value\"},{\"name\":\"BOXES=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a variable whose values are used to assign colors for the outlines of box-and-whiskers plots\",\"help\":\"BOXES=*variable*\",\"type\":\"value\"},{\"name\":\"BOXFILL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies how box-and-whisker plots are filled with colors from the ODS style\",\"help\":\"BOXFILL=*variable* | NONE | EMPTY\",\"type\":\"value\"},{\"name\":\"CFRAMELAB=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"CFRAMELAB\"],\"description\":\"specifies the color for filling rectangles that frame the point labels displayed with the ALLLABEL=, ALLLABEL2=, OUTLABEL=, and OUTLABEL2= options\",\"help\":\"CFRAMELAB=*color*\",\"type\":\"color\"},{\"name\":\"CIINDICES\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"requests capability index confidence limits based on subgroup summary data, calculated using \\\"effective degrees of freedom\\\"\",\"help\":\"CIINDICES &lt;(&lt;TYPE=*keyword*&gt;&lt;ALPHA=*value*&gt;)&gt;\",\"type\":\"standaloneOrValue\",\"arguments\":[{\"name\":\"TYPE=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the type of confidence limit\",\"help\":\"TYPE=LOWER | UPPER | TWOSIDED\",\"type\":\"choice\"},{\"name\":\"ALPHA=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the default confidence level to compute confidence limits\",\"help\":\"ALPHA=*value*\",\"type\":\"value\"}]},{\"name\":\"CINFILL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the color for the area inside the upper and lower control limits\",\"help\":\"CINFILL=*color* | EMPTY | NONE\",\"type\":\"color\"},{\"name\":\"CLIPFACTOR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"requests clipping of extreme points on the control chart\",\"help\":\"CLIPFACTOR=*factor*\",\"type\":\"value\"},{\"name\":\"CLIPLEGEND=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the label for the legend that indicates the number of clipped points when the CLIPFACTOR= option is used\",\"help\":\"CLIPLEGEND='*label*'\",\"type\":\"value\"},{\"name\":\"CLIPSUBCHAR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a substitution character (such as #) for the label provided with the CLIPLEGEND= option\",\"help\":\"CLIPSUBCHAR='*character*'\",\"type\":\"value\"},{\"name\":\"COUT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the color for the plotting symbols and the portions of connecting line segments that lie outside the control limits\",\"help\":\"COUT&lt;=*color*&gt;\",\"type\":\"standaloneOrValue\"},{\"name\":\"CSTAROUT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a color for those portions of the outlines of stars (requested with the STARVERTICES= option) that exceed the inner or outer circles\",\"help\":\"CSTAROUT&lt;=*color*&gt;\",\"type\":\"standaloneOrValue\"},{\"name\":\"DISCRETE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that numeric subgroup variable values be treated as discrete values, so that each tick value on the default subgroup axis corresponds to a unique subgroup variable value\",\"type\":\"standalone\"},{\"name\":\"EXCHART\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"creates a control chart only when exceptions occur, specifically, when the control limits are exceeded or when any of the tests requested with the TESTS= option or the TESTS2= option are positive\",\"type\":\"standalone\"},{\"name\":\"FRONTREF\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"draws reference lines specified with the HREF= and VREF= options in front of box-and-whiskers plots\",\"type\":\"standalone\"},{\"name\":\"GRID\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"adds a grid to the control chart\",\"type\":\"standalone\"},{\"name\":\"HAXIS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies tick mark values for the horizontal (subgroup) axis\",\"help\":\"HAXIS=*values* | AXIS*n*\",\"type\":\"value\"},{\"name\":\"HOFFSET=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the length of the offset at each end of the horizontal axis\",\"help\":\"HOFFSET=*value*\",\"type\":\"value\"},{\"name\":\"HREF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"draws reference lines perpendicular to the horizontal (subgroup) axis on the primary chart\",\"help\":\"HREF=*values*\",\"type\":\"value\"},{\"name\":\"HREF2=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"draws reference lines perpendicular to the horizontal (subgroup) axis on the secondary chart\",\"help\":\"HREF2=*values*\",\"type\":\"value\"},{\"name\":\"HREF2DATA=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"draws reference lines perpendicular to the horizontal (subgroup) axis on the secondary chart\",\"help\":\"HREF2DATA=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"HREF2LABELS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies labels for the reference lines requested by the HREF2= option\",\"help\":\"HREF2LABELS='*label1*'...'*labeln*'\",\"type\":\"value\"},{\"name\":\"HREFDATA=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"draws reference lines perpendicular to the horizontal (subgroup) axis on the primary chart\",\"help\":\"HREFDATA=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"HREFLABELS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies labels for the reference lines requested by the HREF= option\",\"help\":\"HREFLABELS='*label1*'...'*labeln*'\",\"type\":\"value\"},{\"name\":\"HREFLABPOS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the vertical position of the HREFLABEL= and HREF2LABEL= labels\",\"help\":\"HREFLABPOS=*n*\",\"type\":\"value\",\"arguments\":[{\"name\":\"1\",\"followsDelimiter\":\"/\",\"description\":\"positions along top of subplot area\",\"type\":\"standalone\"},{\"name\":\"2\",\"followsDelimiter\":\"/\",\"description\":\"staggers from top to bottom of subplot area\",\"type\":\"standalone\"},{\"name\":\"3\",\"followsDelimiter\":\"/\",\"description\":\"positions along bottom of subplot area\",\"type\":\"standalone\"},{\"name\":\"4\",\"followsDelimiter\":\"/\",\"description\":\"staggers from bottom to top of subplot area\",\"type\":\"standalone\"}]},{\"name\":\"INDEPENDENTZONES\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"INDEPZONES\"],\"description\":\"specifies that the widths of the zones requested with the ZONES option be computed independently above and below the center line of the chart, so that the width of each zone is one-third of the difference between the process mean and the control limit on its side of the chart\",\"type\":\"standalone\"},{\"name\":\"INTERVAL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the natural time interval between consecutive subgroup positions when a time, date, or datetime format is associated with a numeric subgroup variable\",\"help\":\"INTERVAL=DAY | DTDAY | HOUR | MINUTE | MONTH | QTR | SECOND\",\"type\":\"choice\"},{\"name\":\"INTSTART=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the starting value for a numeric horizontal axis, when a date, time, or datetime format is associated with the subgroup variable\",\"help\":\"INTSTART=*value*\",\"type\":\"value\"},{\"name\":\"LCLLABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a label for the lower control limit in the primary chart\",\"help\":\"LCLLABEL='*label*'\",\"type\":\"value\"},{\"name\":\"LCLLABEL2=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a label for the lower control limit in the secondary chart\",\"help\":\"LCLLABEL2='*label*'\",\"type\":\"value\"},{\"name\":\"LIMITN=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies either a fixed or varying nominal sample size for the control limits\",\"help\":\"LIMITN=*n* | VARYING\",\"type\":\"value\"},{\"name\":\"LIMLABSUBCHAR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a substitution character (such as #) for labels provided as quoted strings with the LCLLABEL=, LCLLABEL2=, UCLLABEL=, UCLLABEL2=, CSYMBOL=, NPSYMBOL=, PSYMBOL=, RSYMBOL=, SSYMBOL=, USYMBOL=, and XSYMBOL= options\",\"help\":\"LIMLABSUBCHAR='*character*'\",\"type\":\"value\"},{\"name\":\"LSL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"provides lower specification limits used to compute capability indices\",\"help\":\"LSL=*value-list*\",\"type\":\"value\"},{\"name\":\"MAXPANELS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the maximum number of pages or screens for a chart\",\"help\":\"MAXPANELS=*n*\",\"type\":\"value\"},{\"name\":\"MEDCENTRAL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"identifies a method for estimating the process mean μ, which is represented by the central line on a median chart\",\"help\":\"MEDCENTRAL=AVGMEAN | AVGMED | MEDMED\",\"type\":\"choice\",\"arguments\":[{\"name\":\"AVGMEAN\",\"followsDelimiter\":\"/\",\"description\":\"uses the average of subgroup means\",\"type\":\"standalone\"},{\"name\":\"AVGMED\",\"followsDelimiter\":\"/\",\"description\":\"uses the average of subgroup medians\",\"type\":\"standalone\"},{\"name\":\"MEDMED\",\"followsDelimiter\":\"/\",\"description\":\"uses the median of subgroup medians\",\"type\":\"standalone\"}]},{\"name\":\"MISSBREAK\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"determines how subgroups are formed when observations are read from a DATA= data set and a character subgroup-variable is provided\",\"type\":\"standalone\"},{\"name\":\"MU0=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a known (standard) value μ0 for the process mean μ\",\"help\":\"MU0=*value*\",\"type\":\"value\"},{\"name\":\"NDECIMAL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the number of decimal digits in the default labels for the control limits and the central line in the primary chart\",\"help\":\"NDECIMAL=*n*\",\"type\":\"value\"},{\"name\":\"NDECIMAL2=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the number of decimal digits in the default labels for the control limits and central line in a secondary chart\",\"help\":\"NDECIMAL2=*n*\",\"type\":\"value\"},{\"name\":\"NEEDLES\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"connects plotted points to the central line with vertical line segments (needles)\",\"type\":\"standalone\"},{\"name\":\"NMARKERS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"identifies a plotted subgroup summary statistic with a special symbol marker (character) when the corresponding subgroup sample size is not equal to the nominal control limit sample size n\",\"type\":\"standalone\"},{\"name\":\"NO3SIGMACHECK\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses the check for 3σ limits when tests for special causes are requested\",\"type\":\"standalone\"},{\"name\":\"NOBYREF\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that the reference line information in an HREF=, HREF2=, VREF=, or VREF2= data set is to be applied uniformly to charts created for all the BY groups in the input data set (DATA=, HISTORY=, or TABLE=)\",\"type\":\"standalone\"},{\"name\":\"NOCHART\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses the creation of the chart\",\"type\":\"standalone\"},{\"name\":\"NOCHART2\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses the creation of a secondary chart\",\"type\":\"standalone\"},{\"name\":\"NOCONNECT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses line segments that connect points on the chart\",\"type\":\"standalone\"},{\"name\":\"NOCTL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses the display of the central line in a primary chart\",\"type\":\"standalone\"},{\"name\":\"NOCTL2\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses the display of the central line in a secondary chart\",\"type\":\"standalone\"},{\"name\":\"NOHLABEL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses the label for the horizontal (subgroup) axis\",\"type\":\"standalone\"},{\"name\":\"NOLCL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses the display of the lower control limit in a primary chart\",\"type\":\"standalone\"},{\"name\":\"NOLCL2\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses the drawing of the lower control limit in a secondary chart\",\"type\":\"standalone\"},{\"name\":\"NOLEGEND\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses the default legend for subgroup sample sizes, which appears by default below the chart\",\"type\":\"standalone\"},{\"name\":\"NOLIMIT0\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses the display of a fixed lower control limit if and only if the value of the limit is zero\",\"type\":\"standalone\"},{\"name\":\"NOLIMITLABEL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses the default labels for the control limits and central lines\",\"type\":\"standalone\"},{\"name\":\"NOLIMITS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses the display of control limits\",\"type\":\"standalone\"},{\"name\":\"NOLIMITSLEGEND\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses the legend for the control limits, which appears by default in the upper right corner of the chart\",\"type\":\"standalone\"},{\"name\":\"NOOVERLAYLEGEND\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses the legend for overlay variables which is displayed by default when the OVERLAY= or OVERLAY2= option is specified\",\"type\":\"standalone\"},{\"name\":\"NOREADLIMITS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that the control limits for each process listed in the chart statement not be read from the LIMITS= data set specified in the PROC SHEWHART statement\",\"type\":\"standalone\"},{\"name\":\"NOTESTACROSS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that tests for special causes requested with the TESTS= or TESTS2= options not be applied across the boundaries of phases (blocks of consecutive subgroups) determined by the READPHASES= option and the variable _PHASE_ in the input data set\",\"type\":\"standalone\"},{\"name\":\"NOTICKREP\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"applies to character-valued subgroup-variables and specifies that only the first occurrence of repeated, adjacent subgroup values is to be labeled on the horizontal axis\",\"type\":\"standalone\"},{\"name\":\"NOTRUNC\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"overrides the vertical axis truncation at zero, which is applied by default to c charts, moving range charts, np charts, p charts, R charts, s charts, and u charts\",\"type\":\"standalone\"},{\"name\":\"NOUCL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses the display of the upper control limit in a primary chart\",\"type\":\"standalone\"},{\"name\":\"NOUCL2\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses the display of the upper control limit in a secondary chart\",\"type\":\"standalone\"},{\"name\":\"NPANELPOS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the number of subgroup positions per panel on each chart\",\"help\":\"NPANELPOS=*n*\",\"type\":\"value\"},{\"name\":\"OUTFILL\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"COUTFILL\"],\"description\":\"fills the areas outside the control limits that lie between the connected points and the control limits and are bounded by connecting lines\",\"type\":\"standalone\"},{\"name\":\"OUTHISTORY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"creates an output data set that contains the subgroup summary statistics\",\"help\":\"OUTHISTORY=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"OUTINDEX=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the value of the _INDEX_ variable in the OUTLIMITS= output data set\",\"help\":\"OUTINDEX='*label*'\",\"type\":\"value\"},{\"name\":\"OUTLABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"labels each point that falls outside the control limits on the primary chart with the value plotted for that subgroup or with the value of variable in the input data set\",\"help\":\"OUTLABEL=VALUE | (*variable*)\",\"type\":\"value\"},{\"name\":\"OUTLABEL2=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"labels each point that falls outside the control limits on an R or s chart with the value plotted for that subgroup or with the value of variable in the input data set\",\"help\":\"OUTLABEL2=VALUE | (*variable*)\",\"type\":\"value\"},{\"name\":\"OUTLIMITS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"creates an output data set that saves the control limits\",\"help\":\"OUTLIMITS=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"OUTPHASE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the value of the _PHASE_ variable in the OUTHISTORY= data set\",\"help\":\"OUTPHASE='*label*'\",\"type\":\"value\"},{\"name\":\"OUTTABLE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"creates an output SAS data set that saves the information plotted on the chart, including the subgroup variable values and their corresponding summary statistics and control limits\",\"help\":\"OUTTABLE=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"OVERLAY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies variables to be overlaid on the primary control chart\",\"help\":\"OVERLAY=(*variable-list*)\",\"type\":\"value\"},{\"name\":\"OVERLAY2=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies variables to be overlaid on a secondary control chart\",\"help\":\"OVERLAY2=(*variable-list*)\",\"type\":\"value\"},{\"name\":\"OVERLAY2ID=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies variables whose formatted values are used to label points on secondary chart overlays\",\"help\":\"OVERLAY2ID=(*variable-list*)\",\"type\":\"value\"},{\"name\":\"OVERLAYID=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies variables whose formatted values are used to label points on primary chart overlays\",\"help\":\"OVERLAYID=(*variable-list*)\",\"type\":\"value\"},{\"name\":\"OVERLAYLEGLAB=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the label displayed to the left of the legend for overlays requested with the OVERLAY= or OVERLAY2= option\",\"help\":\"OVERLAYLEGLAB='*label*'\",\"type\":\"value\"},{\"name\":\"PAGENUM=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the form of the label used for pagination; for example, 'Page #' or 'Page # of #'\",\"help\":\"PAGENUM='*string*'\",\"type\":\"value\"},{\"name\":\"PAGENUMPOS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies where to position the page number requested with the PAGENUM= option\",\"help\":\"PAGENUMPOS=TL | TR | BL | BR | TL100 | TR100 | BL0 | BR0\",\"type\":\"choice\",\"arguments\":[{\"name\":\"TL\",\"followsDelimiter\":\"/\",\"description\":\"specifies the top left\",\"type\":\"standalone\"},{\"name\":\"TR\",\"followsDelimiter\":\"/\",\"description\":\"specifies the top right\",\"type\":\"standalone\"},{\"name\":\"BL\",\"followsDelimiter\":\"/\",\"description\":\"specifies the bottom left\",\"type\":\"standalone\"},{\"name\":\"BR\",\"followsDelimiter\":\"/\",\"description\":\"specifies the bottom right\",\"type\":\"standalone\"},{\"name\":\"TL100\",\"followsDelimiter\":\"/\",\"description\":\"specifies the very top left\",\"type\":\"standalone\"},{\"name\":\"TR100\",\"followsDelimiter\":\"/\",\"description\":\"specifies the very top right\",\"type\":\"standalone\"},{\"name\":\"BL0\",\"followsDelimiter\":\"/\",\"description\":\"specifies the very bottom left\",\"type\":\"standalone\"},{\"name\":\"BR0\",\"followsDelimiter\":\"/\",\"description\":\"specifies the very bottom right\",\"type\":\"standalone\"}]},{\"name\":\"PHASEBREAK\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that the last point in a phase (defined as a block of consecutive subgroups with the same value of the _PHASE_ variable) is not to be connected to the first point in the next phase\",\"type\":\"standalone\"},{\"name\":\"PHASELABTYPE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies how lengthy _PHASE_ variable values are displayed when there is insufficient space in the legend requested with the PHASELEGEND option\",\"help\":\"PHASELABTYPE=SCALED | TRUNCATED | *height*\",\"type\":\"value\"},{\"name\":\"PHASELEGEND\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"identifies the phases requested with the READPHASES= option in a legend across the top of the chart\",\"type\":\"standalone\"},{\"name\":\"PHASELIMITS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that the control limits and center line be labeled for each phase specified with the READPHASES= option, providing the limits are constant within that phase\",\"type\":\"standalone\"},{\"name\":\"PHASEREF\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"delineates the phases specified with the READPHASES= option with reference lines drawn vertically\",\"type\":\"standalone\"},{\"name\":\"PHASEVARLABEL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"displays the label associated with the variable _PHASE_ above the phase values in the phase legend\",\"type\":\"standalone\"},{\"name\":\"PHASEVALSEP\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"displays vertical lines separating phase values in the phase legend\",\"type\":\"standalone\"},{\"name\":\"RANGES\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"estimates the process standard deviation for a boxplot using subgroup ranges\",\"type\":\"standalone\"},{\"name\":\"READALPHA\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that the variable _ALPHA_, rather than the variable _SIGMAS_, be read from a LIMITS= data set when both variables are available in the data set\",\"type\":\"standalone\"},{\"name\":\"READINDEX=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"reads one or more sets of control limits from a LIMITS= data set (specified in the PROC SHEWHART statement) for each process listed in the chart statement\",\"help\":\"READINDEX=*value-list* | ALL\",\"type\":\"value\"},{\"name\":\"READPHASES=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"selects blocks of consecutive observations to be read from the input data set\",\"help\":\"READPHASES=*value-list* | ALL\",\"type\":\"value\"},{\"name\":\"REPEAT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that the horizontal axis of a chart that spans multiple pages be arranged so that the last subgroup position on a page is repeated as the first subgroup position on the next page\",\"type\":\"standalone\"},{\"name\":\"SEPARATE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"displays primary and secondary charts on separate screens or pages\",\"type\":\"standalone\"},{\"name\":\"SIGMA0=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a known (standard) value σ0 for the process standard deviation σ\",\"help\":\"SIGMA0=*value*\",\"type\":\"value\"},{\"name\":\"SIGMAS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the width of the control limits in terms of the multiple k of the standard error of the median and range statistic plotted on the chart\",\"help\":\"SIGMAS=*k*\",\"type\":\"value\"},{\"name\":\"SKIPHLABELS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the number n of consecutive tick mark labels, beginning with the second tick mark label, that are thinned (not displayed) on the horizontal (subgroup) axis\",\"help\":\"SKIPHLABELS=*n*\",\"type\":\"value\"},{\"name\":\"SMETHOD=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a method for estimating the process standard deviation, σ\",\"help\":\"SMETHOD=NOWEIGHT | MVLUE \",\"type\":\"choice\",\"arguments\":[{\"name\":\"NOWEIGHT\",\"followsDelimiter\":\"/\",\"description\":\"estimates σ as an unweighted average of unbiased subgroup estimates of σ\",\"type\":\"standalone\"},{\"name\":\"MVLUE\",\"followsDelimiter\":\"/\",\"description\":\"calculates a minimum variance linear unbiased estimate for σ\",\"type\":\"standalone\"}]},{\"name\":\"SPLIT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a special character that is inserted into the label of a process variable or summary statistic variable and whose purpose is to split the label into two parts\",\"help\":\"SPLIT='*character*'\",\"type\":\"value\"},{\"name\":\"STARBDRADIUS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the radius of an imaginary circle that is the outer bound for vertices of stars requested with the STARVERTICES= option\",\"help\":\"STARBDRADIUS=*value*\",\"type\":\"value\"},{\"name\":\"STARCIRCLES=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies reference circles that are superimposed on the stars requested with the STARVERTICES= option\",\"help\":\"STARCIRCLES=*values*\",\"type\":\"value\"},{\"name\":\"STARINRADIUS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the inner radius of stars requested with the STARVERTICES= option\",\"help\":\"STARINRADIUS=*value*\",\"type\":\"value\"},{\"name\":\"STARFILL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies colors for filling the interior of stars requested with the STARVERTICES= option\",\"help\":\"STARFILL=*variable*\",\"type\":\"value\"},{\"name\":\"STARLABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a method for labeling the vertices of stars requested with the STARVERTICES= option\",\"help\":\"STARLABEL=ALL | FIRST | HIGH | LOW | OUT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ALL\",\"followsDelimiter\":\"/\",\"description\":\"labels all vertices of all stars\",\"type\":\"standalone\"},{\"name\":\"FIRST\",\"followsDelimiter\":\"/\",\"description\":\"labels all vertices of the leftmost star\",\"type\":\"standalone\"},{\"name\":\"HIGH\",\"followsDelimiter\":\"/\",\"description\":\"labels only vertices that lie outside the outer circle\",\"type\":\"standalone\"},{\"name\":\"LOW\",\"followsDelimiter\":\"/\",\"description\":\"labels only vertices that lie inside the inner circle\",\"type\":\"standalone\"},{\"name\":\"OUT\",\"followsDelimiter\":\"/\",\"description\":\"labels only vertices that lie inside the inner circle or outside the outer circle\",\"type\":\"standalone\"}]},{\"name\":\"STARLEGEND=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the style of the legend used to identify the vertices of stars requested with the STARVERTICES= option\",\"help\":\"STARLEGEND=CLOCK | CLOCK0 | DEGREES | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"CLOCK\",\"followsDelimiter\":\"/\",\"description\":\"identifies the vertex variables by their positions on the clock (starting with 12:00)\",\"type\":\"standalone\"},{\"name\":\"CLOCK0\",\"followsDelimiter\":\"/\",\"description\":\"identifies the vertex variables by their positions on the clock (starting with 0:00)\",\"type\":\"standalone\"},{\"name\":\"DEGREES\",\"followsDelimiter\":\"/\",\"description\":\"identifies the vertex variables by angles in degrees, with 0 degrees corresponding to 12 o'clock\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"followsDelimiter\":\"/\",\"description\":\"suppresses the legend\",\"type\":\"standalone\"}]},{\"name\":\"STARLEGENDLAB=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the label displayed to the left of the legend for stars requested with the STARLEGEND= option\",\"help\":\"STARLEGENDLAB='*label*'\",\"type\":\"value\"},{\"name\":\"STARS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies colors for the outlines of stars requested with the STARVERTICES= option\",\"help\":\"STARS=*variable*\",\"type\":\"value\"},{\"name\":\"STARSPECS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the method used to standardize the star vertex variables listed with the STARVERTICES= option\",\"help\":\"STARSPECS=*value*|*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"STARSTART=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the vertex angle for the first variable in the STARVERTICES= list\",\"help\":\"STARSTART=*value*\",\"type\":\"value\"},{\"name\":\"STARTYPE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the style of the stars requested with the STARVERTICES= option\",\"help\":\"STARTYPE=CORONA | POLYGON | RADIAL | SPOKE | WEDGE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"CORONA\",\"followsDelimiter\":\"/\",\"description\":\"specifies a polygon with star-vertices emanating from the inner circle\",\"type\":\"standalone\"},{\"name\":\"POLYGON\",\"followsDelimiter\":\"/\",\"description\":\"specifies a closed polygon\",\"type\":\"standalone\"},{\"name\":\"RADIAL\",\"followsDelimiter\":\"/\",\"description\":\"draws rays emanating from the center\",\"type\":\"standalone\"},{\"name\":\"SPOKE\",\"followsDelimiter\":\"/\",\"description\":\"draws rays emanating from the inner circle\",\"type\":\"standalone\"},{\"name\":\"WEDGE\",\"followsDelimiter\":\"/\",\"description\":\"specifies a closed polygon with rays from the center to each vertex\",\"type\":\"standalone\"}]},{\"name\":\"STARVERTICES=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"superimposes a star (polygon) at each point on the primary chart\",\"help\":\"STARVERTICES=*variable* | (*variable-list*)\",\"type\":\"value\"},{\"name\":\"SYMBOLLEGEND=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"controls the legend for the levels of a symbol-variable\",\"help\":\"SYMBOLLEGEND=LEGENDn | NONE\",\"type\":\"choice\"},{\"name\":\"SYMBOLORDER=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the order in which symbols are assigned for levels of symbol-variable\",\"help\":\"SYMBOLORDER=DATA | INTERNAL | FORMATTED\",\"type\":\"choice\"},{\"name\":\"TABLES\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"creates a basic table of the subgroup values, the subgroup sample sizes, the subgroup summary statistics, and the upper and lower control limits\",\"help\":\"TABLES &lt;(EXCEPTIONS)&gt;\",\"type\":\"standaloneOrValue\"},{\"name\":\"TABLEALL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"tabulates all the information about the control chart\",\"help\":\"TABLEALL &lt;(EXCEPTIONS)&gt;\",\"type\":\"standaloneOrValue\"},{\"name\":\"TABLECENTRAL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"augments the basic table created by the TABLES option with columns for the values of the central lines\",\"help\":\"TABLECENTRAL &lt;(EXCEPTIONS)&gt;\",\"type\":\"standaloneOrValue\"},{\"name\":\"TABLEID\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"augments the basic table created by the TABLES option with a column for each of the ID variables\",\"help\":\"TABLEID &lt;(EXCEPTIONS)&gt;\",\"type\":\"standaloneOrValue\"},{\"name\":\"TABLELEGEND\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"adds a legend to the basic table created by the TABLE option\",\"help\":\"TABLELEGEND &lt;(EXCEPTIONS)&gt;\",\"type\":\"standaloneOrValue\"},{\"name\":\"TABLEOUTLIM\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"augments the basic table created by the TABLE option with columns indicating which control limits (if any) are exceeded\",\"help\":\"TABLEOUTLIM &lt;(EXCEPTIONS)&gt;\",\"type\":\"standaloneOrValue\"},{\"name\":\"TABLETESTS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"augments the basic table created by the TABLES option with a column that indicates which of the tests for special causes (requested with the TESTS= option) are positive\",\"help\":\"TABLETESTS &lt;(EXCEPTIONS)&gt;\",\"type\":\"standaloneOrValue\"},{\"name\":\"TARGET=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"provides target values used to compute the capability index Cpm, which is saved in the OUTLIMITS= data set\",\"help\":\"TARGET=*value-list*\",\"type\":\"value\"},{\"name\":\"TEST2RESET=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"enables tests for special causes to be reset in a secondary chart\",\"help\":\"TEST2RESET=*variable* | *value*\",\"type\":\"value\"},{\"name\":\"TEST2RUN=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the length of the pattern for Test 2 requested with the TESTS= and TESTS2= options\",\"help\":\"TEST2RUN=7 | 8 | 9 | 11 | 14 | 20\",\"type\":\"choice\",\"arguments\":[{\"name\":\"7\",\"followsDelimiter\":\"/\",\"description\":\"specifies a run-length of 7 in a row on one side of the central line\",\"type\":\"standalone\"},{\"name\":\"8\",\"followsDelimiter\":\"/\",\"description\":\"specifies a run-length of 8 in a row on one side of the central line\",\"type\":\"standalone\"},{\"name\":\"9\",\"followsDelimiter\":\"/\",\"description\":\"specifies a run-length of 9 in a row on one side of the central line\",\"type\":\"standalone\"},{\"name\":\"11\",\"followsDelimiter\":\"/\",\"description\":\"specifies at least 10 out of 11 in a row on one side of the central line\",\"type\":\"standalone\"},{\"name\":\"14\",\"followsDelimiter\":\"/\",\"description\":\"specifies at least 12 out of 14 in a row on one side of the central line\",\"type\":\"standalone\"},{\"name\":\"20\",\"followsDelimiter\":\"/\",\"description\":\"specifies at least 16 out of 20 in a row on one side of the central line\",\"type\":\"standalone\"}]},{\"name\":\"TEST3RUN=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the length of the pattern for Test 3 requested with the TESTS= and TESTS2= options\",\"help\":\"TEST3RUN=6 | 7 | 8\",\"type\":\"choice\",\"arguments\":[{\"name\":\"6\",\"followsDelimiter\":\"/\",\"description\":\"searches for a pattern of steadily increasing or decreasing values with length at least 6\",\"type\":\"standalone\"},{\"name\":\"7\",\"followsDelimiter\":\"/\",\"description\":\"searches for a pattern of steadily increasing or decreasing values with length at least 7\",\"type\":\"standalone\"},{\"name\":\"8\",\"followsDelimiter\":\"/\",\"description\":\"searches for a pattern of steadily increasing or decreasing values with length at least 8\",\"type\":\"standalone\"}]},{\"name\":\"TESTACROSS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that tests for special causes requested with the TESTS= or TESTS2= options be applied without regard to phases (blocks of consecutive subgroups) determined by the READPHASES= option and the variable _PHASE_ in the input data set\",\"type\":\"standalone\"},{\"name\":\"TESTLABBOX\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"requests that labels for subgroups with positive tests for special causes are positioned so they do not overlap\",\"type\":\"standalone\"},{\"name\":\"TESTLABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"provides labels for points at which one of the tests for special causes (requested with the TESTS= or TESTS2= option) is positive\",\"help\":\"TESTLABEL='*label*' | (*variable*) | TESTINDEX | SPACE | NONE\",\"type\":\"value\"},{\"name\":\"TESTLABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a label for points at which the test for special causes requested with the index n in a TESTS= or TESTS2= list is positive\",\"help\":\"TESTLABEL*n*='*label*'\",\"type\":\"value\"},{\"name\":\"TESTNMETHOD=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"applies the tests for special causes requested with the TESTS= and TESTS2= options to standardized test statistics when the subgroup sample sizes are not constant\",\"help\":\"TESTNMETHOD=STANDARDIZE\",\"type\":\"value\"},{\"name\":\"TESTOVERLAP\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"applies tests for special causes (requested with the TESTS= or TESTS2= option) to overlapping patterns of points\",\"type\":\"standalone\"},{\"name\":\"TESTRESET=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"enables tests for special causes to be reset in a primary chart\",\"help\":\"TESTRESET=*variable* | *value*\",\"type\":\"value\"},{\"name\":\"TESTS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"requests one or more tests for special causes, which are also known as runs tests, pattern tests, and Western Electric rules\",\"help\":\"TESTS=*index-list*\",\"type\":\"value\",\"arguments\":[{\"name\":\"1\",\"followsDelimiter\":\"/\",\"description\":\"specifies one point beyond Zone A (outside the control limits)\",\"type\":\"standalone\"},{\"name\":\"2\",\"followsDelimiter\":\"/\",\"description\":\"specifies nine points in a row in Zone C or beyond on one side of the central line\",\"type\":\"standalone\"},{\"name\":\"3\",\"followsDelimiter\":\"/\",\"description\":\"specifies six points in a row steadily increasing\",\"type\":\"standalone\"},{\"name\":\"4\",\"followsDelimiter\":\"/\",\"description\":\"specifies fourteen points in a row alternating up and down\",\"type\":\"standalone\"},{\"name\":\"5\",\"followsDelimiter\":\"/\",\"description\":\"specifies two out of three points in a row in Zone A or beyond\",\"type\":\"standalone\"},{\"name\":\"6\",\"followsDelimiter\":\"/\",\"description\":\"specifies four out of five points in a row in Zone B or beyond\",\"type\":\"standalone\"},{\"name\":\"7\",\"followsDelimiter\":\"/\",\"description\":\"specifies fifteen points in a row in Zone C on either or both sides of the central line\",\"type\":\"standalone\"},{\"name\":\"8\",\"followsDelimiter\":\"/\",\"description\":\"specifies eight points in a row on either or both sides of the central line with no points in Zone C\",\"type\":\"standalone\"}]},{\"name\":\"TESTS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies customized tests for special causes for the primary control chart to search for k out of m points in a row in the interval (a,b)\",\"help\":\"TESTS=T(K=*k* M=*m* LOWER=*a* UPPER=*b* SCHEME=*scheme* CODE=*character* LABEL=*'label'* LEGEND=*'legend'*)\",\"type\":\"value\",\"arguments\":[{\"name\":\"K=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the number of points\",\"help\":\"K=*k*\",\"type\":\"value\"},{\"name\":\"M=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the number of consecutive points\",\"help\":\"M=*m*\",\"type\":\"value\"},{\"name\":\"LOWER=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the lower limit of interval (a,b)\",\"help\":\"LOWER=*value*\",\"type\":\"value\"},{\"name\":\"UPPER=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the upper limit of interval (a,b)\",\"help\":\"UPPER=*value*\",\"type\":\"value\"},{\"name\":\"SCHEME=\",\"followsDelimiter\":\"/\",\"description\":\"specifies a one-sided scheme using (a,b)\",\"help\":\"SCHEME=ONESIDED\",\"type\":\"value\"},{\"name\":\"SCHEME=\",\"followsDelimiter\":\"/\",\"description\":\"specifies a two-sided scheme using (a,b) union (-b,-a)\",\"help\":\"SCHEME=TWOSIDED\",\"type\":\"value\"},{\"name\":\"CODE=\",\"followsDelimiter\":\"/\",\"description\":\"specifies an identifier for test (A--H)\",\"help\":\"CODE=*character*\",\"type\":\"value\"},{\"name\":\"LABEL=\",\"followsDelimiter\":\"/\",\"description\":\"specifies a label for points if signal\",\"help\":\"LABEL=*'label'*\",\"type\":\"value\"},{\"name\":\"LEGEND=\",\"followsDelimiter\":\"/\",\"description\":\"specifies a legend used with the TABLELEGEND option\",\"help\":\"LEGEND=*'legend'*\",\"type\":\"value\"}]},{\"name\":\"TESTS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies customized tests for special causes for the primary control chart to search for k points in a row increasing or decreasing\",\"help\":\"TESTS=M(K=*k* DIR=*direction* CODE=*character* LABEL=*'label'* LEGEND=*'legend'*)\",\"type\":\"value\",\"arguments\":[{\"name\":\"K=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the number of points\",\"help\":\"K=*k*\",\"type\":\"value\"},{\"name\":\"DIR=\",\"followsDelimiter\":\"/\",\"description\":\"specifies an increasing pattern\",\"help\":\"DIR=INC\",\"type\":\"value\"},{\"name\":\"DIR=\",\"followsDelimiter\":\"/\",\"description\":\"specifies a decreasing pattern\",\"help\":\"DIR=DEC\",\"type\":\"value\"},{\"name\":\"CODE=\",\"followsDelimiter\":\"/\",\"description\":\"specifies an identifier for test (A--H)\",\"help\":\"CODE=*character*\",\"type\":\"value\"},{\"name\":\"LABEL=\",\"followsDelimiter\":\"/\",\"description\":\"specifies a label for points if signal\",\"help\":\"LABEL=*'label'*\",\"type\":\"value\"},{\"name\":\"LEGEND=\",\"followsDelimiter\":\"/\",\"description\":\"specifies a legend used with the TABLELEGEND option\",\"help\":\"LEGEND=*'legend'*\",\"type\":\"value\"}]},{\"name\":\"TESTS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies customized tests for special causes for the primary control chart to search for a statistically significant linear trend over a window of k points\",\"help\":\"TESTS=S(K=*k* CLEV=*α* FORM=*character* CODE=*character* LABEL=*'label'* LEGEND=*'legend'*)\",\"type\":\"value\",\"arguments\":[{\"name\":\"K=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the number of points in sliding window (k > 2)\",\"help\":\"K=*k*\",\"type\":\"value\"},{\"name\":\"CLEV=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the Type I (false positive) error rate (0 < α ≤ 0.5)\",\"help\":\"CLEV=*α*\",\"type\":\"value\"},{\"name\":\"FORM=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the type of trend test (P=parametric, N=nonparametric)\",\"help\":\"FORM=*character*\",\"type\":\"value\"},{\"name\":\"CODE=\",\"followsDelimiter\":\"/\",\"description\":\"specifies an identifier for test (A--H)\",\"help\":\"CODE=*character*\",\"type\":\"value\"},{\"name\":\"LABEL=\",\"followsDelimiter\":\"/\",\"description\":\"specifies a label for points if signal\",\"help\":\"LABEL=*'label'*\",\"type\":\"value\"},{\"name\":\"LEGEND=\",\"followsDelimiter\":\"/\",\"description\":\"specifies a legend used with the TABLELEGEND option\",\"help\":\"LEGEND=*'legend'*\",\"type\":\"value\"}]},{\"name\":\"TESTS2=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"requests one or more tests for special causes for an R chart or s chart\",\"help\":\"TESTS2=*index-list*\",\"type\":\"value\",\"arguments\":[{\"name\":\"1\",\"followsDelimiter\":\"/\",\"description\":\"specifies one point beyond Zone A (outside the control limits)\",\"type\":\"standalone\"},{\"name\":\"2\",\"followsDelimiter\":\"/\",\"description\":\"specifies nine points in a row in Zone C or beyond on one side of the central line\",\"type\":\"standalone\"},{\"name\":\"3\",\"followsDelimiter\":\"/\",\"description\":\"specifies six points in a row steadily increasing\",\"type\":\"standalone\"},{\"name\":\"4\",\"followsDelimiter\":\"/\",\"description\":\"specifies fourteen points in a row alternating up and down\",\"type\":\"standalone\"},{\"name\":\"5\",\"followsDelimiter\":\"/\",\"description\":\"specifies two out of three points in a row in Zone A or beyond\",\"type\":\"standalone\"},{\"name\":\"6\",\"followsDelimiter\":\"/\",\"description\":\"specifies four out of five points in a row in Zone B or beyond\",\"type\":\"standalone\"},{\"name\":\"7\",\"followsDelimiter\":\"/\",\"description\":\"specifies fifteen points in a row in Zone C on either or both sides of the central line\",\"type\":\"standalone\"},{\"name\":\"8\",\"followsDelimiter\":\"/\",\"description\":\"specifies eight points in a row on either or both sides of the central line with no points in Zone C\",\"type\":\"standalone\"}]},{\"name\":\"TESTS2=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies customized tests for special causes for the primary control chart to search for k out of m points in a row in the interval (a,b)\",\"help\":\"TESTS2=T(K=*k* M=*m* LOWER=*a* UPPER=*b* SCHEME=*scheme* CODE=*character* LABEL=*'label'* LEGEND=*'legend'*)\",\"type\":\"value\",\"arguments\":[{\"name\":\"K=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the number of points\",\"help\":\"K=*k*\",\"type\":\"value\"},{\"name\":\"M=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the number of consecutive points\",\"help\":\"M=*m*\",\"type\":\"value\"},{\"name\":\"LOWER=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the lower limit of interval (a,b)\",\"help\":\"LOWER=*value*\",\"type\":\"value\"},{\"name\":\"UPPER=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the upper limit of interval (a,b)\",\"help\":\"UPPER=*value*\",\"type\":\"value\"},{\"name\":\"SCHEME=\",\"followsDelimiter\":\"/\",\"description\":\"specifies a one-sided scheme using (a,b)\",\"help\":\"SCHEME=ONESIDED\",\"type\":\"value\"},{\"name\":\"SCHEME=\",\"followsDelimiter\":\"/\",\"description\":\"specifies a two-sided scheme using (a,b) union (-b,-a)\",\"help\":\"SCHEME=TWOSIDED\",\"type\":\"value\"},{\"name\":\"CODE=\",\"followsDelimiter\":\"/\",\"description\":\"specifies an identifier for test (A--H)\",\"help\":\"CODE=*character*\",\"type\":\"value\"},{\"name\":\"LABEL=\",\"followsDelimiter\":\"/\",\"description\":\"specifies a label for points if signal\",\"help\":\"LABEL=*'label'*\",\"type\":\"value\"},{\"name\":\"LEGEND=\",\"followsDelimiter\":\"/\",\"description\":\"specifies a legend used with the TABLELEGEND option\",\"help\":\"LEGEND=*'legend'*\",\"type\":\"value\"}]},{\"name\":\"TESTS2=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies customized tests for special causes for the primary control chart to search for k points in a row increasing or decreasing\",\"help\":\"TESTS2=M(K=*k* DIR=*direction* CODE=*character* LABEL=*'label'* LEGEND=*'legend'*)\",\"type\":\"value\",\"arguments\":[{\"name\":\"K=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the number of points\",\"help\":\"K=*k*\",\"type\":\"value\"},{\"name\":\"DIR=\",\"followsDelimiter\":\"/\",\"description\":\"specifies an increasing pattern\",\"help\":\"DIR=INC\",\"type\":\"value\"},{\"name\":\"DIR=\",\"followsDelimiter\":\"/\",\"description\":\"specifies a decreasing pattern\",\"help\":\"DIR=DEC\",\"type\":\"value\"},{\"name\":\"CODE=\",\"followsDelimiter\":\"/\",\"description\":\"specifies an identifier for test (A--H)\",\"help\":\"CODE=*character*\",\"type\":\"value\"},{\"name\":\"LABEL=\",\"followsDelimiter\":\"/\",\"description\":\"specifies a label for points if signal\",\"help\":\"LABEL=*'label'*\",\"type\":\"value\"},{\"name\":\"LEGEND=\",\"followsDelimiter\":\"/\",\"description\":\"specifies a legend used with the TABLELEGEND option\",\"help\":\"LEGEND=*'legend'*\",\"type\":\"value\"}]},{\"name\":\"TESTS2=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies customized tests for special causes for the primary control chart to search for a statistically significant linear trend over a window of k points\",\"help\":\"TESTS2=S(K=*k* CLEV=*α* FORM=*character* CODE=*character* LABEL=*'label'* LEGEND=*'legend'*)\",\"type\":\"value\",\"arguments\":[{\"name\":\"K=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the number of points in sliding window (k > 2)\",\"help\":\"K=*k*\",\"type\":\"value\"},{\"name\":\"CLEV=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the Type I (false positive) error rate (0 < α ≤ 0.5)\",\"help\":\"CLEV=*α*\",\"type\":\"value\"},{\"name\":\"FORM=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the type of trend test (P=parametric, N=nonparametric)\",\"help\":\"FORM=*character*\",\"type\":\"value\"},{\"name\":\"CODE=\",\"followsDelimiter\":\"/\",\"description\":\"specifies an identifier for test (A--H)\",\"help\":\"CODE=*character*\",\"type\":\"value\"},{\"name\":\"LABEL=\",\"followsDelimiter\":\"/\",\"description\":\"specifies a label for points if signal\",\"help\":\"LABEL=*'label'*\",\"type\":\"value\"},{\"name\":\"LEGEND=\",\"followsDelimiter\":\"/\",\"description\":\"specifies a legend used with the TABLELEGEND option\",\"help\":\"LEGEND=*'legend'*\",\"type\":\"value\"}]},{\"name\":\"TOTPANELS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the total number of panels to be used to display the chart\",\"help\":\"TOTPANELS=*n*\",\"type\":\"value\"},{\"name\":\"TYPE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the value of the _TYPE_ variable in the OUTLIMITS= data set, which in turn indicates whether certain parameter variables in this data set represent estimates or standard (known) values\",\"help\":\"TYPE=ESTIMATE | STDMU | STDSIGMA | STANDARD\",\"type\":\"choice\"},{\"name\":\"UCLLABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a label for the upper control limit in the primary chart\",\"help\":\"UCLLABEL='*label*'\",\"type\":\"value\"},{\"name\":\"UCLLABEL2=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a label for the upper control limit in the secondary chart\",\"help\":\"UCLLABEL2='*label*'\",\"type\":\"value\"},{\"name\":\"USL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"provides upper specification limits used to compute capability indices\",\"help\":\"USL=*value-list*\",\"type\":\"value\"},{\"name\":\"VAXIS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies major tick mark values for the vertical axis of a primary chart\",\"help\":\"VAXIS=*value-list* | AXIS*n*\",\"type\":\"value\"},{\"name\":\"VAXIS2=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies major tick mark values for the vertical axis of a secondary chart\",\"help\":\"VAXIS2=*value-list* | AXIS*n*\",\"type\":\"value\"},{\"name\":\"VFORMAT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a format to be used for displaying tick mark labels on the vertical axis of a primary chart\",\"help\":\"VFORMAT=*format*\",\"type\":\"value\"},{\"name\":\"VFORMAT2=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a format to be used for displaying tick mark labels on the vertical axis of a secondary chart\",\"help\":\"VFORMAT2=*format*\",\"type\":\"value\"},{\"name\":\"VOFFSET=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the length of the offset at each end of the vertical axis\",\"help\":\"VOFFSET=*value*\",\"type\":\"value\"},{\"name\":\"VREF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"draws reference lines perpendicular to the vertical axis on the primary chart\",\"help\":\"VREF=*value-list* | *SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"VREF2=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"draws reference lines perpendicular to the vertical axis on the secondary chart\",\"help\":\"VREF2=*value-list* | *SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"VREF2LABELS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies labels for the reference lines requested by the VREF2= option\",\"help\":\"VREF2LABELS='*label1*'...'*labeln*'\",\"type\":\"value\"},{\"name\":\"VREFLABELS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies labels for the reference lines requested by the VREF= option\",\"help\":\"VREFLABELS='*label1*'...'*labeln*'\",\"type\":\"value\"},{\"name\":\"VREFLABPOS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the horizontal position of the VREFLABELS= and VREF2LABELS= labels\",\"help\":\"VREFLABPOS=1 | 2 | 3\",\"type\":\"choice\",\"arguments\":[{\"name\":\"1\",\"followsDelimiter\":\"/\",\"description\":\"left-justifies in subplot area\",\"type\":\"standalone\"},{\"name\":\"2\",\"followsDelimiter\":\"/\",\"description\":\"right-justifies in subplot area\",\"type\":\"standalone\"},{\"name\":\"3\",\"followsDelimiter\":\"/\",\"description\":\"left-justifies in right margin\",\"type\":\"standalone\"}]},{\"name\":\"VZERO\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"forces the origin to be included in the vertical axis for a primary chart\",\"type\":\"standalone\"},{\"name\":\"VZERO2\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"forces the origin to be included in the vertical axis for a secondary chart\",\"type\":\"standalone\"},{\"name\":\"WESTGARD=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"requests that one or more of the Westgard rules (tests for special causes) be applied\",\"help\":\"WESTGARD=*index-list*\",\"type\":\"value\",\"arguments\":[{\"name\":\"1\",\"followsDelimiter\":\"/\",\"description\":\"specifies one point in Zone A or beyond\",\"type\":\"standalone\"},{\"name\":\"2\",\"followsDelimiter\":\"/\",\"description\":\"specifies one point beyond Zone A (outside the control limits)\",\"type\":\"standalone\"},{\"name\":\"3\",\"followsDelimiter\":\"/\",\"description\":\"specifies two points in a row in Zone A or beyond on the same side of the central line\",\"type\":\"standalone\"},{\"name\":\"4\",\"followsDelimiter\":\"/\",\"description\":\"specifies at least one point in Zone A or beyond on each side of the central line\",\"type\":\"standalone\"},{\"name\":\"5\",\"followsDelimiter\":\"/\",\"description\":\"specifies four points in a row in Zone B or beyond on the same side of the central line\",\"type\":\"standalone\"},{\"name\":\"6\",\"followsDelimiter\":\"/\",\"description\":\"specifies ten points in a row on the same side of the central line\",\"type\":\"standalone\"}]},{\"name\":\"XSYMBOL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a label for the central line in an X-bar chart or a median chart\",\"help\":\"XSYMBOL=MBAR | MTIL | MU | MU0 | XBAR | XBAR2 | XBARPM | XBAR0 | XBAR0PM | '*label*'\",\"type\":\"value\",\"arguments\":[{\"name\":\"MBAR\",\"followsDelimiter\":\"/\",\"description\":\"M bar\",\"type\":\"standalone\"},{\"name\":\"MTIL\",\"followsDelimiter\":\"/\",\"description\":\"M tilde\",\"type\":\"standalone\"},{\"name\":\"MU\",\"followsDelimiter\":\"/\",\"description\":\"μ\",\"type\":\"standalone\"},{\"name\":\"MU0\",\"followsDelimiter\":\"/\",\"description\":\"μ sub 0\",\"type\":\"standalone\"},{\"name\":\"XBAR\",\"followsDelimiter\":\"/\",\"description\":\"X bar\",\"type\":\"standalone\"},{\"name\":\"XBAR2\",\"followsDelimiter\":\"/\",\"description\":\"X double bar\",\"type\":\"standalone\"},{\"name\":\"XBARPM\",\"followsDelimiter\":\"/\",\"description\":\"X bar prime\",\"type\":\"standalone\"},{\"name\":\"XBAR0\",\"followsDelimiter\":\"/\",\"description\":\"X bar sub 0\",\"type\":\"standalone\"},{\"name\":\"XBAR0PM\",\"followsDelimiter\":\"/\",\"description\":\"X bar prime sub 0\",\"type\":\"standalone\"}]},{\"name\":\"YPCT1=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a percent (ranging from 0 to 100) that determines the length of the vertical axis for the primary chart in proportion to the sum of the lengths of the vertical axes for the primary and secondary charts\",\"help\":\"YPCT1=*value*\",\"type\":\"value\"},{\"name\":\"ZEROSTD\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that a control chart is to be constructed and displayed regardless of whether the estimated process standard deviation is zero\",\"help\":\"ZEROSTD&lt;=NOLIMITS&gt;\",\"type\":\"standaloneOrValue\"},{\"name\":\"ZONE2LABELS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"adds the labels A, B, and C to zone lines requested with the ZONES2 or ZONE2VALUES options\",\"type\":\"standalone\"},{\"name\":\"ZONE2VALUES\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"labels R or s chart zones lines with their values\",\"type\":\"standalone\"},{\"name\":\"ZONELABELS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"adds the labels A, B, and C to zone lines requested with the ZONES or ZONEVALUES options\",\"type\":\"standalone\"},{\"name\":\"ZONES\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"adds lines to a primary chart that delineate zones A, B, and C for standard tests requested with the TESTS= option\",\"type\":\"standalone\"},{\"name\":\"ZONES2\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"adds lines to an R or s chart that delineate zones A, B, and C for tests requested with the TESTS2= option\",\"type\":\"standalone\"},{\"name\":\"ZONEVALPOS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the horizontal position of the ZONEVALUES= and ZONE2VALUES= labels\",\"help\":\"ZONEVALPOS=1 | 2 | 3\",\"type\":\"choice\",\"arguments\":[{\"name\":\"1\",\"followsDelimiter\":\"/\",\"description\":\"left-justifies in subplot area\",\"type\":\"standalone\"},{\"name\":\"2\",\"followsDelimiter\":\"/\",\"description\":\"right-justifies in subplot area\",\"type\":\"standalone\"},{\"name\":\"3\",\"followsDelimiter\":\"/\",\"description\":\"left-justifies in right margin\",\"type\":\"standalone\"}]},{\"name\":\"ZONEVALUES\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"labels the primary chart zones lines with their values\",\"type\":\"standalone\"},{\"name\":\"BLOCKREFTRANSPARENCY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"PHASEREFTRANSPARENCY=\",\"REFFILLTRANSPARENCY=\"],\"description\":\"specifies the wall fill transparency for blocks and phases when transparency is used in ODS Graphics output\",\"help\":\"BLOCKREFTRANSPARENCY=*value*\",\"type\":\"value\"},{\"name\":\"BOXTRANSPARENCY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the box fill transparency for box-and-whisker charts when transparency is used in ODS Graphics output\",\"help\":\"BOXTRANSPARENCY=*value*\",\"type\":\"value\"},{\"name\":\"INFILLTRANSPARENCY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the control limit infill transparency when transparency is used in ODS Graphics output\",\"help\":\"INFILLTRANSPARENCY=*value*\",\"type\":\"value\"},{\"name\":\"MARKERDISPLAY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a subset of subgroups to be plotted with markers on a primary chart that is not an R or s chart\",\"help\":\"MARKERDISPLAY=OOC | UPPER | LOWER | RUNSTEST\",\"type\":\"choice\",\"arguments\":[{\"name\":\"OOC\",\"followsDelimiter\":\"/\",\"description\":\"selects subgroups outside the control limits\",\"type\":\"standalone\"},{\"name\":\"UPPER\",\"followsDelimiter\":\"/\",\"description\":\"selects subgroups above the upper control limit\",\"type\":\"standalone\"},{\"name\":\"LOWER\",\"followsDelimiter\":\"/\",\"description\":\"selects subgroups below the lower control limit\",\"type\":\"standalone\"},{\"name\":\"RUNSTEST\",\"followsDelimiter\":\"/\",\"description\":\"selects subgroups that signal positive tests for special causes\",\"type\":\"standalone\"}]},{\"name\":\"MARKERDISPLAY2=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a subset of subgroups to be plotted with markers on an R or s chart\",\"help\":\"MARKERDISPLAY2=OOC | UPPER | LOWER | RUNSTEST\",\"type\":\"choice\",\"arguments\":[{\"name\":\"OOC\",\"followsDelimiter\":\"/\",\"description\":\"selects subgroups outside the control limits\",\"type\":\"standalone\"},{\"name\":\"UPPER\",\"followsDelimiter\":\"/\",\"description\":\"selects subgroups above the upper control limit\",\"type\":\"standalone\"},{\"name\":\"LOWER\",\"followsDelimiter\":\"/\",\"description\":\"selects subgroups below the lower control limit\",\"type\":\"standalone\"},{\"name\":\"RUNSTEST\",\"followsDelimiter\":\"/\",\"description\":\"selects subgroups that signal positive tests for special causes\",\"type\":\"standalone\"}]},{\"name\":\"MARKERLABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a variable whose values provide labels for the subgroups that are plotted with markers on a primary chart that is not an R or s chart\",\"help\":\"MARKERLABEL=(*variable*)\",\"type\":\"value\"},{\"name\":\"MARKERLABEL2=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a variable whose values provide labels for the subgroups that are plotted with markers on an R or s chart\",\"help\":\"MARKERLABEL2=(*variable*)\",\"type\":\"value\"},{\"name\":\"MARKERMISSINGGROUP=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies whether subgroups with missing symbol-variable values are plotted with a unique marker\",\"help\":\"MARKERMISSINGGROUP=TRUE | FALSE\",\"type\":\"choice\"},{\"name\":\"MARKERS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"plots subgroup points with markers\",\"type\":\"standalone\"},{\"name\":\"NOBLOCKREF\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"NOPHASEREF\",\"NOREF\"],\"description\":\"suppresses block and phase reference lines from ODS Graphics output\",\"type\":\"standalone\"},{\"name\":\"NOBLOCKREFFILL\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"NOPHASEREFFILL\",\"NOREFFILL\"],\"description\":\"suppresses the block and phase wall fills from ODS Graphics output\",\"type\":\"standalone\"},{\"name\":\"NOBOXFILLLEGEND\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"NOFILLLEGEND\",\"NOSTARFILLLEGEND\"],\"description\":\"suppresses the legend for the levels of a BOXFILL= or STARFILL= variable in ODS Graphics output\",\"type\":\"standalone\"},{\"name\":\"NOTRANSPARENCY\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"disables transparency in ODS Graphics output, so that all graph features are opaque\",\"type\":\"standalone\"},{\"name\":\"ODSFOOTNOTE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"adds a footnote to ODS Graphics output\",\"help\":\"ODSFOOTNOTE=FOOTNOTE | FOOTNOTE1 | '*string*'\",\"type\":\"value\"},{\"name\":\"ODSFOOTNOTE2=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"adds a secondary footnote to ODS Graphics output\",\"help\":\"ODSFOOTNOTE2=FOOTNOTE2 | '*string*'\",\"type\":\"value\"},{\"name\":\"ODSLEGENDEXPAND\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that legend entries contain all levels observed in the data\",\"type\":\"standalone\"},{\"name\":\"ODSTITLE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a title for ODS Graphics output\",\"help\":\"ODSTITLE=TITLE | TITLE1 | NONE | DEFAULT | LABELFMT | '*string*'\",\"type\":\"value\"},{\"name\":\"ODSTITLE2=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a secondary title for ODS Graphics output\",\"help\":\"ODSTITLE2=TITLE2 | '*string*'\",\"type\":\"value\"},{\"name\":\"OUTFILLTRANSPARENCY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the control limit outfill transparency when transparency is used in ODS Graphics output\",\"help\":\"OUTFILLTRANSPARENCY=*value*\",\"type\":\"value\"},{\"name\":\"OUTHIGHURL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a variable whose values are URLs to be associated with outlier points above the upper fence on a schematic box chart when ODS Graphics output is directed into HTML\",\"help\":\"OUTHIGHURL=*variable*\",\"type\":\"value\"},{\"name\":\"OUTLOWURL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a variable whose values are URLs to be associated with outlier points below the lower fence on a schematic box chart when ODS Graphics output is directed into HTML\",\"help\":\"OUTLOWURL=*variable*\",\"type\":\"value\"},{\"name\":\"OVERLAY2URL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies variables whose values are URLs to be associated with points on secondary chart overlays\",\"help\":\"OVERLAY2URL=(*variable-list*)\",\"type\":\"value\"},{\"name\":\"OVERLAYURL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies variables whose values are URLs to be associated with points on primary chart overlays\",\"help\":\"OVERLAYURL=(*variable-list*)\",\"type\":\"value\"},{\"name\":\"PHASEBOXLABELS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"draws phase labels as titles along the top of phase boxes\",\"type\":\"standalone\"},{\"name\":\"PHASEPOS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the vertical position of the phase legend\",\"help\":\"PHASEPOS=1 | 2 | 3 | 4\",\"type\":\"choice\",\"arguments\":[{\"name\":\"1\",\"followsDelimiter\":\"/\",\"description\":\"places at top of chart, offset from axis frame\",\"type\":\"standalone\"},{\"name\":\"2\",\"followsDelimiter\":\"/\",\"description\":\"places at top of chart, immediately above axis frame\",\"type\":\"standalone\"},{\"name\":\"3\",\"followsDelimiter\":\"/\",\"description\":\"places at bottom of chart, immediately above horizontal axis\",\"type\":\"standalone\"},{\"name\":\"4\",\"followsDelimiter\":\"/\",\"description\":\"places at bottom of chart, below horizontal axis label\",\"type\":\"standalone\"}]},{\"name\":\"PHASEREFLEVEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"enables you to associate phase reference lines (block reference lines) with either the innermost or the outermost level\",\"help\":\"PHASEREFLEVEL=INNER | OUTER | NONE\",\"type\":\"choice\"},{\"name\":\"QCSYMBOLS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies which set of symbol markers is used to plot points on a control chart\",\"help\":\"QCSYMBOLS=TRUE | FALSE\",\"type\":\"choice\"},{\"name\":\"SIMULATEQCFONT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"draws the central line labels using a simulated software font rather than a hardware font\",\"type\":\"standalone\"},{\"name\":\"STARTRANSPARENCY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the star fill transparency when transparency is used in ODS Graphics output\",\"help\":\"STARTRANSPARENCY=*value*\",\"type\":\"value\"},{\"name\":\"URL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies URLs as values of the specified character variable (or formatted values of a numeric variable) to associate with subgroup points on a primary control chart when ODS Graphics output is directed into HTML\",\"help\":\"URL=*variable*\",\"type\":\"value\"},{\"name\":\"URL2=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies URLs as values of the specified character variable (or formatted values of a numeric variable) to associate with subgroup points on a secondary control chart when ODS Graphics output is directed into HTML\",\"help\":\"URL2=*variable*\",\"type\":\"value\"},{\"name\":\"ANNOTATE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"ANNO=\"],\"description\":\"specifies an ANNOTATE= type data set that enhances a primary chart\",\"help\":\"ANNOTATE=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"ANNOTATE2=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"ANNO2=\"],\"description\":\"specifies an ANNOTATE= type data set that enhances a secondary chart\",\"help\":\"ANNOTATE2=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"BILEVEL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"arranges the Shewhart chart in two levels (rather than the default of one level) so that twice as much data can be displayed on a page or screen\",\"type\":\"standalone\"},{\"name\":\"CAXIS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the color for the axes and tick marks\",\"help\":\"CAXIS=*color*\",\"type\":\"color\"},{\"name\":\"CBLOCKLAB=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies fill colors for the frames that enclose the block-variable labels in a block legend\",\"help\":\"CBLOCKLAB=*color* | (*color-list*)\",\"type\":\"color\"},{\"name\":\"CBLOCKVAR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies variables whose values are colors for filling the background of the legend associated with block-variables\",\"help\":\"CBLOCKVAR=*variable* | (*variable-list*)\",\"type\":\"value\"},{\"name\":\"CCLIP=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a color for the plotting symbol that is specified with the CLIPSYMBOL option to mark clipped points\",\"help\":\"CCLIP=*color*\",\"type\":\"color\"},{\"name\":\"CCONNECT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the color for the line segments connecting points on the chart\",\"help\":\"CCONNECT=*color*\",\"type\":\"color\"},{\"name\":\"CCOVERLAY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the colors for the line segments connecting points on primary chart overlays\",\"help\":\"CCOVERLAY=(*color-list*)\",\"type\":\"color\"},{\"name\":\"CCOVERLAY2=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the colors for the line segments connecting points on secondary chart overlays\",\"help\":\"CCOVERLAY2=(*color-list*)\",\"type\":\"color\"},{\"name\":\"CFRAME=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the colors for filling the rectangle enclosed by the axes and the frame\",\"help\":\"CFRAME=*color* | (*color-list*)\",\"type\":\"color\"},{\"name\":\"CGRID=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the color for the grid requested by the ENDGRID or GRID option\",\"help\":\"CGRID=*color*\",\"type\":\"color\"},{\"name\":\"CHREF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the color for the lines requested by the HREF= and HREF2= options\",\"help\":\"CHREF=*color*\",\"type\":\"color\"},{\"name\":\"CLABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the color for labels produced by the ALLLABEL=, ALLLABEL2=, OUTLABEL=, and OUTLABEL2= options\",\"help\":\"CLABEL=*color*\",\"type\":\"color\"},{\"name\":\"CLIMITS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the color for the control limits, the central line, and the labels for these lines\",\"help\":\"CLIMITS=*color*\",\"type\":\"color\"},{\"name\":\"CLIPLEGPOS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the position for the legend that indicates the number of clipped points when the CLIPFACTOR= option is used\",\"help\":\"CLIPLEGPOS=TOP | BOTTOM\",\"type\":\"choice\"},{\"name\":\"CLIPSYMBOL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a plot symbol used to identify clipped points on the chart and in the legend when the CLIPFACTOR= option is used\",\"help\":\"CLIPSYMBOL=*symbol*\",\"type\":\"value\"},{\"name\":\"CLIPSYMBOLHT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the height for the symbol marker used to identify clipped points on the chart when the CLIPFACTOR= option is used\",\"help\":\"CLIPSYMBOLHT=*value*\",\"type\":\"value\"},{\"name\":\"CNEEDLES=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"requests that points are to be connected to the central line with vertical line segments (needles) and specifies the color of the needles\",\"help\":\"CNEEDLES=*color*\",\"type\":\"color\"},{\"name\":\"COUTFILL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the fill color for the areas outside the control limits that lie between the connected points and the control limits and are bounded by connecting lines\",\"help\":\"COUTFILL=*color*\",\"type\":\"color\"},{\"name\":\"COVERLAY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the colors used to plot primary chart overlay variables specified in the OVERLAY= list\",\"help\":\"COVERLAY=(*color-list*)\",\"type\":\"color\"},{\"name\":\"COVERLAY2=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the colors used to plot secondary chart overlay variables specified in the OVERLAY2= list\",\"help\":\"COVERLAY2=(*color-list*)\",\"type\":\"color\"},{\"name\":\"COVERLAYCLIP=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the color used to plot clipped values on overlay plots when the CLIPFACTOR= option is used\",\"help\":\"COVERLAYCLIP=*color*\",\"type\":\"color\"},{\"name\":\"CPHASELEG=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a text color for the phase labels requested with the PHASELEGEND option\",\"help\":\"CPHASELEG=*color*\",\"type\":\"color\"},{\"name\":\"CSTARCIRCLES=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a color for the circles requested with the STARCIRCLES= option\",\"help\":\"CSTARCIRCLES=*color*\",\"type\":\"color\"},{\"name\":\"CSTARFILL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a color or colors for filling the interior of stars requested with the STARVERTICES= option\",\"help\":\"CSTARFILL=*color* | (*variable*)\",\"type\":\"color\"},{\"name\":\"CSTARS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a color or colors for the outlines of stars requested with the STARVERTICES= option\",\"help\":\"CSTARS=*color* | (*variable*)\",\"type\":\"color\"},{\"name\":\"CTESTLABBOX=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the color for boxes enclosing labels for positive tests for special causes requested with the TESTLABBOX option\",\"help\":\"CTESTLABBOX=*color*\",\"type\":\"color\"},{\"name\":\"CTESTS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies colors for labels indicating points where a test for special causes specified in the TESTS= option is positive\",\"help\":\"CTESTS=*color* | *test-color-list*\",\"type\":\"color\"},{\"name\":\"CTESTSYMBOL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the color of the symbol used to plot subgroups with positive tests for special causes\",\"help\":\"CTESTSYMBOL=*color*\",\"type\":\"color\"},{\"name\":\"CTEXT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the color for tick mark values, axis labels, the sample size legend, and the control limit legend\",\"help\":\"CTEXT=*color*\",\"type\":\"color\"},{\"name\":\"CVREF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the color for reference lines requested by the VREF= and VREF2= options\",\"help\":\"CVREF=*color*\",\"type\":\"color\"},{\"name\":\"CZONES=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"requests lines marking zones A, B, and C for the tests for special causes\",\"help\":\"CZONES=*color*\",\"type\":\"color\"},{\"name\":\"DESCRIPTION=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a description, up to 256 characters long, for the GRSEG catalog entry for the primary chart\",\"help\":\"DESCRIPTION='*string*'\",\"type\":\"value\"},{\"name\":\"ENDGRID\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"a grid to the rightmost portion of the chart, beginning with the first labeled major tick mark position that follows the last plotted point\",\"type\":\"standalone\"},{\"name\":\"FONT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a software font for labels and legends\",\"help\":\"FONT=*font*\",\"type\":\"value\"},{\"name\":\"HEIGHT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the height (in vertical screen percent units) of the text for axis labels and legends\",\"help\":\"HEIGHT=*value*\",\"type\":\"value\"},{\"name\":\"HMINOR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the number of (unlabeled) minor tick marks between each major tick mark on the horizontal axis\",\"help\":\"HMINOR=*n*\",\"type\":\"value\"},{\"name\":\"HTML=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a variable whose values create links associated with subgroup points on a primary control chart when traditional graphics output is directed into HTML\",\"help\":\"HTML=*variable*\",\"type\":\"value\"},{\"name\":\"HTML2=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a variable whose values create links associated with subgroup points on a secondary control chart when traditional graphics output is directed into HTML\",\"help\":\"HTML2=*variable*\",\"type\":\"value\"},{\"name\":\"HTML_LEGEND=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies HTML links as values of the specified character variable (or formatted values of a numeric variable)\",\"help\":\"HTML_LEGEND=*variable*\",\"type\":\"value\"},{\"name\":\"LABELANGLE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the angle at which labels requested with the ALLLABEL=, ALLLABEL2=, OUTLABEL=, and OUTLABEL2= options are drawn\",\"help\":\"LABELANGLE=*angle*\",\"type\":\"value\"},{\"name\":\"LABELFONT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"TESTFONT=\"],\"description\":\"specifies a software font for labels requested with the ALLLABEL=, ALLLABEL2=, OUTLABEL=, OUTLABEL2=, STARLABEL=, TESTLABEL=, and TESTLABELn= options\",\"help\":\"LABELFONT=*font*\",\"type\":\"value\"},{\"name\":\"LABELHEIGHT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"TESTHEIGHT=\"],\"description\":\"specifies the height (in vertical percent screen units) for labels requested with the ALLLABEL=, ALLLABEL2=, OUTLABEL=, OUTLABEL2=, STARLABEL=, TESTLABEL=, and TESTLABELn= options\",\"help\":\"LABELHEIGHT=*value*\",\"type\":\"value\"},{\"name\":\"LENDGRID=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the line type for the grid requested with the ENDGRID option\",\"help\":\"LENDGRID=*n*\",\"type\":\"value\"},{\"name\":\"LGRID=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the line type for the grid requested with the GRID option\",\"help\":\"LGRID=*n*\",\"type\":\"value\"},{\"name\":\"LHREF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the line type for reference lines requested with the HREF= and HREF2= options\",\"help\":\"LHREF=*linetype*\",\"type\":\"value\"},{\"name\":\"LLIMITS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the line type for control limits\",\"help\":\"LLIMITS=*linetype*\",\"type\":\"value\"},{\"name\":\"LOVERLAY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies line types for the line segments connecting points on primary chart overlays corresponding to the OVERLAY= list\",\"help\":\"LOVERLAY=(*linetypes*)\",\"type\":\"value\"},{\"name\":\"LOVERLAY2=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies line types for the line segments connecting points on secondary chart overlays corresponding to the OVERLAY2= list\",\"help\":\"LOVERLAY2=(*linetypes*)\",\"type\":\"value\"},{\"name\":\"LSTARCIRCLES=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies one or more line types for the circles requested with the STARCIRCLES= option\",\"help\":\"LSTARCIRCLES=*linetypes*\",\"type\":\"value\"},{\"name\":\"LSTARS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the line types for the outlines of stars requested with the STARVERTICES= option\",\"help\":\"LSTARS=*linetype* | (*variable*)\",\"type\":\"value\"},{\"name\":\"LTESTS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the line type for the line segments that connect patterns of points for which a test for special causes (requested with the TESTS= option) is positive\",\"help\":\"LTESTS=*linetype*\",\"type\":\"value\"},{\"name\":\"LVREF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the line type for reference lines requested by the VREF= and VREF2= options\",\"help\":\"LVREF=*linetype*\",\"type\":\"value\"},{\"name\":\"LZONES=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the line type for lines that delineate zones A, B, and C for standard tests requested with the TESTS= and/or TESTS2= options\",\"help\":\"LZONES=*n*\",\"type\":\"value\"},{\"name\":\"NAME=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the name of the GRSEG catalog entry for the primary chart, and the name of the graphics output file if one is created\",\"help\":\"NAME='*string*'\",\"type\":\"value\"},{\"name\":\"NAME2=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the name of the GRSEG catalog entry for the secondary chart, and the name of the graphics output file if one is created\",\"help\":\"NAME2='*string*'\",\"type\":\"value\"},{\"name\":\"NOFRAME\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses the default frame drawn around the chart\",\"type\":\"standalone\"},{\"name\":\"NOLIMITSFRAME\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses the default frame for the control limit information that is displayed across the top of the chart when multiple sets of control limits with distinct multiples of σ and nominal control limit sample sizes are read from a LIMITS= data set\",\"type\":\"standalone\"},{\"name\":\"NOPHASEFRAME\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses the default frame for the legend requested by the PHASELEGEND option\",\"type\":\"standalone\"},{\"name\":\"NOVANGLE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"requests vertical axis labels that are strung out vertically\",\"type\":\"standalone\"},{\"name\":\"NOVLABEL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses the label for the primary vertical axis\",\"type\":\"standalone\"},{\"name\":\"NOV2LABEL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses the label for the secondary vertical axis\",\"type\":\"standalone\"},{\"name\":\"OUTHIGHHTML=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a variable whose values create links to be associated with outlier points above the upper fence on a schematic box chart when traditional graphics output is directed into HTML\",\"help\":\"OUTHIGHHTML=*variable*\",\"type\":\"value\"},{\"name\":\"OUTLOWHTML=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a variable whose values create links to be associated with outlier points below the lower fence on a schematic box chart when traditional graphics output is directed into HTML\",\"help\":\"OUTLOWHTML=*variable*\",\"type\":\"value\"},{\"name\":\"OVERLAY2HTML=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies variables whose values create links to be associated with points on secondary chart overlays corresponding to the OVERLAY2= list\",\"help\":\"OVERLAY2HTML=(*variable-list*)\",\"type\":\"value\"},{\"name\":\"OVERLAY2SYM=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies symbols used to plot overlays on a secondary control chart corresponding to the OVERLAY2= list\",\"help\":\"OVERLAY2SYM=(*symbol-list*)\",\"type\":\"value\"},{\"name\":\"OVERLAY2SYMHT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the heights of symbols used to plot overlays on a secondary control chart corresponding to the OVERLAY2= list\",\"help\":\"OVERLAY2SYMHT=(*value-list*)\",\"type\":\"value\"},{\"name\":\"OVERLAYCLIPSYM=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the symbol used to plot clipped values on overlay plots when the CLIPFACTOR= option is used\",\"help\":\"OVERLAYCLIPSYM=*symbol*\",\"type\":\"value\"},{\"name\":\"OVERLAYCLIPSYMHT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the height for the symbol used to plot clipped values on overlay plots when the CLIPFACTOR= option is used\",\"help\":\"OVERLAYCLIPSYMHT=*value*\",\"type\":\"value\"},{\"name\":\"OVERLAYHTML=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies variables whose values create links to be associated with points on primary chart overlays corresponding to the OVERLAY= list\",\"help\":\"OVERLAYHTML=(*variable-list*)\",\"type\":\"value\"},{\"name\":\"OVERLAYSYM=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies symbols used to plot overlays on the primary control chart corresponding to the OVERLAY= list\",\"help\":\"OVERLAYSYM=(*symbol-list*)\",\"type\":\"value\"},{\"name\":\"OVERLAYSYMHT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the heights of symbols used to plot overlays on the primary control chart corresponding to the OVERLAY= list\",\"help\":\"OVERLAYSYMHT=(*value-list*)\",\"type\":\"value\"},{\"name\":\"TESTFONT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"LABELFONT=\"],\"description\":\"specifies a software font for labels requested with the ALLLABEL=, ALLLABEL2=, OUTLABEL=, OUTLABEL2=, STARLABEL=, TESTLABEL=, and TESTLABELn= options\",\"help\":\"TESTFONT=*font*\",\"type\":\"value\"},{\"name\":\"TESTHEIGHT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"LABELHEIGHT=\"],\"description\":\"specifies the height (in vertical percent screen units) for labels requested with the ALLLABEL=, ALLLABEL2=, OUTLABEL=, OUTLABEL2=, STARLABEL=, TESTLABEL=, and TESTLABELn= options\",\"help\":\"TESTHEIGHT=*value*\",\"type\":\"value\"},{\"name\":\"TESTSYMBOL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the symbol for plotting subgroups with positive tests for special causes\",\"help\":\"TESTSYMBOL=*symbol*\",\"type\":\"value\"},{\"name\":\"TESTSYMBOLHT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the height of the symbol used to plot subgroups with positive tests for special causes\",\"help\":\"TESTSYMBOLHT=*value*\",\"type\":\"value\"},{\"name\":\"TURNALL\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"TURNOUT\"],\"description\":\"turns the labels produced by the ALLLABEL=, ALLLABEL2=, OUTLABEL=, and OUTLABEL2= options so that they are strung out vertically\",\"type\":\"standalone\"},{\"name\":\"TURNHLABELS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"turns the major tick mark labels for the horizontal (subgroup) axis so that they are strung out vertically\",\"type\":\"standalone\"},{\"name\":\"VMINOR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the number of minor tick marks between each major tick mark on the vertical axis\",\"help\":\"VMINOR=*n*\",\"type\":\"value\"},{\"name\":\"WAXIS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the width in pixels for the axis and frame lines\",\"help\":\"WAXIS=*n*\",\"type\":\"value\"},{\"name\":\"WGRID=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the width in pixels for grid lines requested with the ENDGRID and GRID options\",\"help\":\"WGRID=*n*\",\"type\":\"value\"},{\"name\":\"WLIMITS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the width in pixels for the control limits and central line\",\"help\":\"WLIMITS=*n*\",\"type\":\"value\"},{\"name\":\"WNEEDLES=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the width in pixels of needles connecting plotted points to the central line, as requested with the NEEDLES option\",\"help\":\"WNEEDLES=*n*\",\"type\":\"value\"},{\"name\":\"WOVERLAY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the widths in pixels for the line segments connecting points on primary chart overlay plots corresponding to the OVERLAY= list\",\"help\":\"WOVERLAY=(*value-list*)\",\"type\":\"value\"},{\"name\":\"WOVERLAY2=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the widths in pixels for the line segments connecting points on secondary chart overlay plots corresponding to the OVERLAY2= list\",\"help\":\"WOVERLAY2=(*value-list*)\",\"type\":\"value\"},{\"name\":\"WSTARCIRCLES=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the width in pixels of the outline of circles requested by the STARCIRCLES= option\",\"help\":\"WSTARCIRCLES=*n*\",\"type\":\"value\"},{\"name\":\"WSTARS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the width in pixels of the outline of stars requested by the STARVERTICES= option\",\"help\":\"WSTARS=*n*\",\"type\":\"value\"},{\"name\":\"WTESTS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the width in pixels of the line segments that connect patterns of points for which a test for special causes (requested with the TESTS= or TESTS2= option) is positive\",\"help\":\"WTESTS=*n*\",\"type\":\"value\"}]},{\"name\":\"NPCHART\",\"description\":\"creates np charts for the numbers of nonconforming (defective) items in subgroup samples\",\"help\":\"NPCHART  (processes) * subgroup-variable<(block-variables)><=symbol-variable | ='character'></ options>;                                              \\nprocess is the name of the variable containing the numbers of nonconforming items, or the common prefix of the summary variables in the HISTORY= data set, or the value of the variable _VAR_ in the TABLE= data set                     \\nsubgroup-variable is the variable that identifies subgroups in the data                     \\nblock-variables areoptional variables that group the data into blocks of consecutive subgroups                     \\nsymbol-variable is an optional variable whose levels (unique values) determine the symbol marker that is used to plot numbers of nonconforming items                     \\ncharacter is a character that is used to plot the points when you produce traditional graphics                     \",\"arguments\":[{\"name\":\"ACTUALALPHA\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"requests that the actual probability of a point being outside an attribute chart's probability limits be displayed in the limits legend\",\"type\":\"standalone\"},{\"name\":\"ALLLABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"labels every point on the primary chart with the value plotted for that subgroup or with the value of variable in the input data set\",\"help\":\"ALLLABEL=VALUE | (*variable*)\",\"type\":\"value\"},{\"name\":\"ALLN\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"plots summary statistics for all subgroups, regardless of whether the subgroup sample size equals the nominal control limit sample size n specified by the LIMITN= option or the variable _LIMITN_ in the LIMITS= data set\",\"type\":\"standalone\"},{\"name\":\"ALPHA=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"requests α probability limits instead of 3σ control limits\",\"help\":\"ALPHA=*value*\",\"type\":\"value\"},{\"name\":\"BLOCKLABELPOS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the position of a block-variable label in the block legend\",\"help\":\"BLOCKLABELPOS=ABOVE | LEFT | RIGHT\",\"type\":\"choice\"},{\"name\":\"BLOCKLABTYPE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies how lengthy block variable values are treated when there is insufficient space to display them in the block legend\",\"help\":\"BLOCKLABTYPE=SCALED | TRUNCATED | ROTATE | ROTATEALL | *height*\",\"type\":\"value\"},{\"name\":\"BLOCKPOS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the vertical position of the legend for the values of the block-variables\",\"help\":\"BLOCKPOS=*n*\",\"type\":\"value\"},{\"name\":\"BLOCKREP\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that block variable values for all subgroups are to be displayed\",\"type\":\"standalone\"},{\"name\":\"BLOCKVAR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies variables whose values are used to assign colors for filling the background of the legend associated with block variables\",\"help\":\"BLOCKVAR=*variable* | (*variable-list*)\",\"type\":\"value\"},{\"name\":\"BOXES=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a variable whose values are used to assign colors for the outlines of box-and-whiskers plots\",\"help\":\"BOXES=*variable*\",\"type\":\"value\"},{\"name\":\"BOXFILL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies how box-and-whisker plots are filled with colors from the ODS style\",\"help\":\"BOXFILL=*variable* | NONE | EMPTY\",\"type\":\"value\"},{\"name\":\"CFRAMELAB=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"CFRAMELAB\"],\"description\":\"specifies the color for filling rectangles that frame the point labels displayed with the ALLLABEL=, ALLLABEL2=, OUTLABEL=, and OUTLABEL2= options\",\"help\":\"CFRAMELAB=*color*\",\"type\":\"color\"},{\"name\":\"CIINDICES\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"requests capability index confidence limits based on subgroup summary data, calculated using \\\"effective degrees of freedom\\\"\",\"help\":\"CIINDICES &lt;(&lt;TYPE=*keyword*&gt;&lt;ALPHA=*value*&gt;)&gt;\",\"type\":\"standaloneOrValue\",\"arguments\":[{\"name\":\"TYPE=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the type of confidence limit\",\"help\":\"TYPE=LOWER | UPPER | TWOSIDED\",\"type\":\"choice\"},{\"name\":\"ALPHA=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the default confidence level to compute confidence limits\",\"help\":\"ALPHA=*value*\",\"type\":\"value\"}]},{\"name\":\"CINFILL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the color for the area inside the upper and lower control limits\",\"help\":\"CINFILL=*color* | EMPTY | NONE\",\"type\":\"color\"},{\"name\":\"CLIPFACTOR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"requests clipping of extreme points on the control chart\",\"help\":\"CLIPFACTOR=*factor*\",\"type\":\"value\"},{\"name\":\"CLIPLEGEND=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the label for the legend that indicates the number of clipped points when the CLIPFACTOR= option is used\",\"help\":\"CLIPLEGEND='*label*'\",\"type\":\"value\"},{\"name\":\"CLIPSUBCHAR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a substitution character (such as #) for the label provided with the CLIPLEGEND= option\",\"help\":\"CLIPSUBCHAR='*character*'\",\"type\":\"value\"},{\"name\":\"COUT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the color for the plotting symbols and the portions of connecting line segments that lie outside the control limits\",\"help\":\"COUT&lt;=*color*&gt;\",\"type\":\"standaloneOrValue\"},{\"name\":\"CSTAROUT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a color for those portions of the outlines of stars (requested with the STARVERTICES= option) that exceed the inner or outer circles\",\"help\":\"CSTAROUT&lt;=*color*&gt;\",\"type\":\"standaloneOrValue\"},{\"name\":\"DATAUNIT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"enables you to use percents or proportions as the values for processes when you are reading a DATA= input data set\",\"help\":\"DATAUNIT=PERCENT | PROPORTION\",\"type\":\"choice\"},{\"name\":\"DISCRETE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that numeric subgroup variable values be treated as discrete values, so that each tick value on the default subgroup axis corresponds to a unique subgroup variable value\",\"type\":\"standalone\"},{\"name\":\"EXCHART\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"creates a control chart only when exceptions occur, specifically, when the control limits are exceeded or when any of the tests requested with the TESTS= option or the TESTS2= option are positive\",\"type\":\"standalone\"},{\"name\":\"FRONTREF\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"draws reference lines specified with the HREF= and VREF= options in front of box-and-whiskers plots\",\"type\":\"standalone\"},{\"name\":\"GRID\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"adds a grid to the control chart\",\"type\":\"standalone\"},{\"name\":\"HAXIS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies tick mark values for the horizontal (subgroup) axis\",\"help\":\"HAXIS=*values* | AXIS*n*\",\"type\":\"value\"},{\"name\":\"HOFFSET=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the length of the offset at each end of the horizontal axis\",\"help\":\"HOFFSET=*value*\",\"type\":\"value\"},{\"name\":\"HREF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"draws reference lines perpendicular to the horizontal (subgroup) axis on the primary chart\",\"help\":\"HREF=*values*\",\"type\":\"value\"},{\"name\":\"HREF2DATA=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"draws reference lines perpendicular to the horizontal (subgroup) axis on the secondary chart\",\"help\":\"HREF2DATA=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"HREFDATA=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"draws reference lines perpendicular to the horizontal (subgroup) axis on the primary chart\",\"help\":\"HREFDATA=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"HREFLABELS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies labels for the reference lines requested by the HREF= option\",\"help\":\"HREFLABELS='*label1*'...'*labeln*'\",\"type\":\"value\"},{\"name\":\"HREFLABPOS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the vertical position of the HREFLABEL= and HREF2LABEL= labels\",\"help\":\"HREFLABPOS=*n*\",\"type\":\"value\",\"arguments\":[{\"name\":\"1\",\"followsDelimiter\":\"/\",\"description\":\"positions along top of subplot area\",\"type\":\"standalone\"},{\"name\":\"2\",\"followsDelimiter\":\"/\",\"description\":\"staggers from top to bottom of subplot area\",\"type\":\"standalone\"},{\"name\":\"3\",\"followsDelimiter\":\"/\",\"description\":\"positions along bottom of subplot area\",\"type\":\"standalone\"},{\"name\":\"4\",\"followsDelimiter\":\"/\",\"description\":\"staggers from bottom to top of subplot area\",\"type\":\"standalone\"}]},{\"name\":\"INDEPENDENTZONES\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"INDEPZONES\"],\"description\":\"specifies that the widths of the zones requested with the ZONES option be computed independently above and below the center line of the chart, so that the width of each zone is one-third of the difference between the process mean and the control limit on its side of the chart\",\"type\":\"standalone\"},{\"name\":\"INTERVAL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the natural time interval between consecutive subgroup positions when a time, date, or datetime format is associated with a numeric subgroup variable\",\"help\":\"INTERVAL=DAY | DTDAY | HOUR | MINUTE | MONTH | QTR | SECOND\",\"type\":\"choice\"},{\"name\":\"INTSTART=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the starting value for a numeric horizontal axis, when a date, time, or datetime format is associated with the subgroup variable\",\"help\":\"INTSTART=*value*\",\"type\":\"value\"},{\"name\":\"LANEY\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"computes control limits for a chart for attributes as recommended by Laney\",\"type\":\"standalone\"},{\"name\":\"LCLLABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a label for the lower control limit in the primary chart\",\"help\":\"LCLLABEL='*label*'\",\"type\":\"value\"},{\"name\":\"LIMITN=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies either a fixed or varying nominal sample size for the control limits\",\"help\":\"LIMITN=*n* | VARYING\",\"type\":\"value\"},{\"name\":\"LIMLABSUBCHAR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a substitution character (such as #) for labels provided as quoted strings with the LCLLABEL=, LCLLABEL2=, UCLLABEL=, UCLLABEL2=, CSYMBOL=, NPSYMBOL=, PSYMBOL=, RSYMBOL=, SSYMBOL=, USYMBOL=, and XSYMBOL= options\",\"help\":\"LIMLABSUBCHAR='*character*'\",\"type\":\"value\"},{\"name\":\"MAXPANELS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the maximum number of pages or screens for a chart\",\"help\":\"MAXPANELS=*n*\",\"type\":\"value\"},{\"name\":\"MISSBREAK\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"determines how subgroups are formed when observations are read from a DATA= data set and a character subgroup-variable is provided\",\"type\":\"standalone\"},{\"name\":\"NDECIMAL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the number of decimal digits in the default labels for the control limits and the central line in the primary chart\",\"help\":\"NDECIMAL=*n*\",\"type\":\"value\"},{\"name\":\"NEEDLES\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"connects plotted points to the central line with vertical line segments (needles)\",\"type\":\"standalone\"},{\"name\":\"NMARKERS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"identifies a plotted subgroup summary statistic with a special symbol marker (character) when the corresponding subgroup sample size is not equal to the nominal control limit sample size n\",\"type\":\"standalone\"},{\"name\":\"NO3SIGMACHECK\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses the check for 3σ limits when tests for special causes are requested\",\"type\":\"standalone\"},{\"name\":\"NOBYREF\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that the reference line information in an HREF=, HREF2=, VREF=, or VREF2= data set is to be applied uniformly to charts created for all the BY groups in the input data set (DATA=, HISTORY=, or TABLE=)\",\"type\":\"standalone\"},{\"name\":\"NOCHART\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses the creation of the chart\",\"type\":\"standalone\"},{\"name\":\"NOCONNECT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses line segments that connect points on the chart\",\"type\":\"standalone\"},{\"name\":\"NOCTL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses the display of the central line in a primary chart\",\"type\":\"standalone\"},{\"name\":\"NOHLABEL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses the label for the horizontal (subgroup) axis\",\"type\":\"standalone\"},{\"name\":\"NOLCL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses the display of the lower control limit in a primary chart\",\"type\":\"standalone\"},{\"name\":\"NOLEGEND\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses the default legend for subgroup sample sizes, which appears by default below the chart\",\"type\":\"standalone\"},{\"name\":\"NOLIMIT0\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses the display of a fixed lower control limit if and only if the value of the limit is zero\",\"type\":\"standalone\"},{\"name\":\"NOLIMIT1\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses the display of a fixed upper control limit on a p chart if and only if the value of the control limit is 1 (or 100%), or on an np chart if and only if the value of the control limit is n\",\"type\":\"standalone\"},{\"name\":\"NOLIMITLABEL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses the default labels for the control limits and central lines\",\"type\":\"standalone\"},{\"name\":\"NOLIMITS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses the display of control limits\",\"type\":\"standalone\"},{\"name\":\"NOLIMITSLEGEND\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses the legend for the control limits, which appears by default in the upper right corner of the chart\",\"type\":\"standalone\"},{\"name\":\"NOOVERLAYLEGEND\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses the legend for overlay variables which is displayed by default when the OVERLAY= or OVERLAY2= option is specified\",\"type\":\"standalone\"},{\"name\":\"NOREADLIMITS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that the control limits for each process listed in the chart statement not be read from the LIMITS= data set specified in the PROC SHEWHART statement\",\"type\":\"standalone\"},{\"name\":\"NOTESTACROSS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that tests for special causes requested with the TESTS= or TESTS2= options not be applied across the boundaries of phases (blocks of consecutive subgroups) determined by the READPHASES= option and the variable _PHASE_ in the input data set\",\"type\":\"standalone\"},{\"name\":\"NOTICKREP\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"applies to character-valued subgroup-variables and specifies that only the first occurrence of repeated, adjacent subgroup values is to be labeled on the horizontal axis\",\"type\":\"standalone\"},{\"name\":\"NOTRUNC\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"overrides the vertical axis truncation at zero, which is applied by default to c charts, moving range charts, np charts, p charts, R charts, s charts, and u charts\",\"type\":\"standalone\"},{\"name\":\"NOUCL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses the display of the upper control limit in a primary chart\",\"type\":\"standalone\"},{\"name\":\"NPANELPOS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the number of subgroup positions per panel on each chart\",\"help\":\"NPANELPOS=*n*\",\"type\":\"value\"},{\"name\":\"NPSYMBOL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a label for the central line in an np chart\",\"help\":\"NPSYMBOL=NP | NPBAR | NPPM | NPPM2 | NP0 | '*label*'\",\"type\":\"value\",\"arguments\":[{\"name\":\"NP\",\"followsDelimiter\":\"/\",\"description\":\"NP\",\"type\":\"standalone\"},{\"name\":\"NPBAR\",\"followsDelimiter\":\"/\",\"description\":\"NP bar\",\"type\":\"standalone\"},{\"name\":\"NPPM\",\"followsDelimiter\":\"/\",\"description\":\"NP prime\",\"type\":\"standalone\"},{\"name\":\"NPPM2\",\"followsDelimiter\":\"/\",\"description\":\"NP prime prime\",\"type\":\"standalone\"},{\"name\":\"NP0\",\"followsDelimiter\":\"/\",\"description\":\"NP sub 0\",\"type\":\"standalone\"}]},{\"name\":\"OUTFILL\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"COUTFILL\"],\"description\":\"fills the areas outside the control limits that lie between the connected points and the control limits and are bounded by connecting lines\",\"type\":\"standalone\"},{\"name\":\"OUTHISTORY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"creates an output data set that contains the subgroup summary statistics\",\"help\":\"OUTHISTORY=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"OUTINDEX=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the value of the _INDEX_ variable in the OUTLIMITS= output data set\",\"help\":\"OUTINDEX='*label*'\",\"type\":\"value\"},{\"name\":\"OUTLABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"labels each point that falls outside the control limits on the primary chart with the value plotted for that subgroup or with the value of variable in the input data set\",\"help\":\"OUTLABEL=VALUE | (*variable*)\",\"type\":\"value\"},{\"name\":\"OUTLIMITS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"creates an output data set that saves the control limits\",\"help\":\"OUTLIMITS=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"OUTPHASE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the value of the _PHASE_ variable in the OUTHISTORY= data set\",\"help\":\"OUTPHASE='*label*'\",\"type\":\"value\"},{\"name\":\"OUTTABLE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"creates an output SAS data set that saves the information plotted on the chart, including the subgroup variable values and their corresponding summary statistics and control limits\",\"help\":\"OUTTABLE=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"OVERLAY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies variables to be overlaid on the primary control chart\",\"help\":\"OVERLAY=(*variable-list*)\",\"type\":\"value\"},{\"name\":\"OVERLAY2=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies variables to be overlaid on a secondary control chart\",\"help\":\"OVERLAY2=(*variable-list*)\",\"type\":\"value\"},{\"name\":\"OVERLAY2ID=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies variables whose formatted values are used to label points on secondary chart overlays\",\"help\":\"OVERLAY2ID=(*variable-list*)\",\"type\":\"value\"},{\"name\":\"OVERLAYID=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies variables whose formatted values are used to label points on primary chart overlays\",\"help\":\"OVERLAYID=(*variable-list*)\",\"type\":\"value\"},{\"name\":\"OVERLAYLEGLAB=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the label displayed to the left of the legend for overlays requested with the OVERLAY= or OVERLAY2= option\",\"help\":\"OVERLAYLEGLAB='*label*'\",\"type\":\"value\"},{\"name\":\"P0=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a known (standard) value p0 for the proportion of nonconforming items produced by the process\",\"help\":\"P0=*value*\",\"type\":\"value\"},{\"name\":\"PAGENUM=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the form of the label used for pagination; for example, 'Page #' or 'Page # of #'\",\"help\":\"PAGENUM='*string*'\",\"type\":\"value\"},{\"name\":\"PAGENUMPOS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies where to position the page number requested with the PAGENUM= option\",\"help\":\"PAGENUMPOS=TL | TR | BL | BR | TL100 | TR100 | BL0 | BR0\",\"type\":\"choice\",\"arguments\":[{\"name\":\"TL\",\"followsDelimiter\":\"/\",\"description\":\"specifies the top left\",\"type\":\"standalone\"},{\"name\":\"TR\",\"followsDelimiter\":\"/\",\"description\":\"specifies the top right\",\"type\":\"standalone\"},{\"name\":\"BL\",\"followsDelimiter\":\"/\",\"description\":\"specifies the bottom left\",\"type\":\"standalone\"},{\"name\":\"BR\",\"followsDelimiter\":\"/\",\"description\":\"specifies the bottom right\",\"type\":\"standalone\"},{\"name\":\"TL100\",\"followsDelimiter\":\"/\",\"description\":\"specifies the very top left\",\"type\":\"standalone\"},{\"name\":\"TR100\",\"followsDelimiter\":\"/\",\"description\":\"specifies the very top right\",\"type\":\"standalone\"},{\"name\":\"BL0\",\"followsDelimiter\":\"/\",\"description\":\"specifies the very bottom left\",\"type\":\"standalone\"},{\"name\":\"BR0\",\"followsDelimiter\":\"/\",\"description\":\"specifies the very bottom right\",\"type\":\"standalone\"}]},{\"name\":\"PHASEBREAK\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that the last point in a phase (defined as a block of consecutive subgroups with the same value of the _PHASE_ variable) is not to be connected to the first point in the next phase\",\"type\":\"standalone\"},{\"name\":\"PHASELABTYPE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies how lengthy _PHASE_ variable values are displayed when there is insufficient space in the legend requested with the PHASELEGEND option\",\"help\":\"PHASELABTYPE=SCALED | TRUNCATED | *height*\",\"type\":\"value\"},{\"name\":\"PHASELEGEND\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"identifies the phases requested with the READPHASES= option in a legend across the top of the chart\",\"type\":\"standalone\"},{\"name\":\"PHASELIMITS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that the control limits and center line be labeled for each phase specified with the READPHASES= option, providing the limits are constant within that phase\",\"type\":\"standalone\"},{\"name\":\"PHASEREF\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"delineates the phases specified with the READPHASES= option with reference lines drawn vertically\",\"type\":\"standalone\"},{\"name\":\"PHASEVARLABEL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"displays the label associated with the variable _PHASE_ above the phase values in the phase legend\",\"type\":\"standalone\"},{\"name\":\"PHASEVALSEP\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"displays vertical lines separating phase values in the phase legend\",\"type\":\"standalone\"},{\"name\":\"PROBLIMITS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"requests that discrete-valued probability limits be computed for attribute charts\",\"help\":\"PROBLIMITS=DISCRETE\",\"type\":\"value\"},{\"name\":\"RANGES\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"estimates the process standard deviation for a boxplot using subgroup ranges\",\"type\":\"standalone\"},{\"name\":\"READALPHA\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that the variable _ALPHA_, rather than the variable _SIGMAS_, be read from a LIMITS= data set when both variables are available in the data set\",\"type\":\"standalone\"},{\"name\":\"READINDEX=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"reads one or more sets of control limits from a LIMITS= data set (specified in the PROC SHEWHART statement) for each process listed in the chart statement\",\"help\":\"READINDEX=*value-list* | ALL\",\"type\":\"value\"},{\"name\":\"READPHASES=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"selects blocks of consecutive observations to be read from the input data set\",\"help\":\"READPHASES=*value-list* | ALL\",\"type\":\"value\"},{\"name\":\"REPEAT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that the horizontal axis of a chart that spans multiple pages be arranged so that the last subgroup position on a page is repeated as the first subgroup position on the next page\",\"type\":\"standalone\"},{\"name\":\"SIGMAS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the width of the control limits in terms of the multiple k of the standard error of the number nonconforming statistic plotted on the chart\",\"help\":\"SIGMAS=*k*\",\"type\":\"value\"},{\"name\":\"SKIPHLABELS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the number n of consecutive tick mark labels, beginning with the second tick mark label, that are thinned (not displayed) on the horizontal (subgroup) axis\",\"help\":\"SKIPHLABELS=*n*\",\"type\":\"value\"},{\"name\":\"STARBDRADIUS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the radius of an imaginary circle that is the outer bound for vertices of stars requested with the STARVERTICES= option\",\"help\":\"STARBDRADIUS=*value*\",\"type\":\"value\"},{\"name\":\"STARCIRCLES=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies reference circles that are superimposed on the stars requested with the STARVERTICES= option\",\"help\":\"STARCIRCLES=*values*\",\"type\":\"value\"},{\"name\":\"STARINRADIUS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the inner radius of stars requested with the STARVERTICES= option\",\"help\":\"STARINRADIUS=*value*\",\"type\":\"value\"},{\"name\":\"STARFILL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies colors for filling the interior of stars requested with the STARVERTICES= option\",\"help\":\"STARFILL=*variable*\",\"type\":\"value\"},{\"name\":\"STARLABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a method for labeling the vertices of stars requested with the STARVERTICES= option\",\"help\":\"STARLABEL=ALL | FIRST | HIGH | LOW | OUT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ALL\",\"followsDelimiter\":\"/\",\"description\":\"labels all vertices of all stars\",\"type\":\"standalone\"},{\"name\":\"FIRST\",\"followsDelimiter\":\"/\",\"description\":\"labels all vertices of the leftmost star\",\"type\":\"standalone\"},{\"name\":\"HIGH\",\"followsDelimiter\":\"/\",\"description\":\"labels only vertices that lie outside the outer circle\",\"type\":\"standalone\"},{\"name\":\"LOW\",\"followsDelimiter\":\"/\",\"description\":\"labels only vertices that lie inside the inner circle\",\"type\":\"standalone\"},{\"name\":\"OUT\",\"followsDelimiter\":\"/\",\"description\":\"labels only vertices that lie inside the inner circle or outside the outer circle\",\"type\":\"standalone\"}]},{\"name\":\"STARLEGEND=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the style of the legend used to identify the vertices of stars requested with the STARVERTICES= option\",\"help\":\"STARLEGEND=CLOCK | CLOCK0 | DEGREES | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"CLOCK\",\"followsDelimiter\":\"/\",\"description\":\"identifies the vertex variables by their positions on the clock (starting with 12:00)\",\"type\":\"standalone\"},{\"name\":\"CLOCK0\",\"followsDelimiter\":\"/\",\"description\":\"identifies the vertex variables by their positions on the clock (starting with 0:00)\",\"type\":\"standalone\"},{\"name\":\"DEGREES\",\"followsDelimiter\":\"/\",\"description\":\"identifies the vertex variables by angles in degrees, with 0 degrees corresponding to 12 o'clock\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"followsDelimiter\":\"/\",\"description\":\"suppresses the legend\",\"type\":\"standalone\"}]},{\"name\":\"STARLEGENDLAB=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the label displayed to the left of the legend for stars requested with the STARLEGEND= option\",\"help\":\"STARLEGENDLAB='*label*'\",\"type\":\"value\"},{\"name\":\"STARS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies colors for the outlines of stars requested with the STARVERTICES= option\",\"help\":\"STARS=*variable*\",\"type\":\"value\"},{\"name\":\"STARSPECS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the method used to standardize the star vertex variables listed with the STARVERTICES= option\",\"help\":\"STARSPECS=*value*|*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"STARSTART=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the vertex angle for the first variable in the STARVERTICES= list\",\"help\":\"STARSTART=*value*\",\"type\":\"value\"},{\"name\":\"STARTYPE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the style of the stars requested with the STARVERTICES= option\",\"help\":\"STARTYPE=CORONA | POLYGON | RADIAL | SPOKE | WEDGE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"CORONA\",\"followsDelimiter\":\"/\",\"description\":\"specifies a polygon with star-vertices emanating from the inner circle\",\"type\":\"standalone\"},{\"name\":\"POLYGON\",\"followsDelimiter\":\"/\",\"description\":\"specifies a closed polygon\",\"type\":\"standalone\"},{\"name\":\"RADIAL\",\"followsDelimiter\":\"/\",\"description\":\"draws rays emanating from the center\",\"type\":\"standalone\"},{\"name\":\"SPOKE\",\"followsDelimiter\":\"/\",\"description\":\"draws rays emanating from the inner circle\",\"type\":\"standalone\"},{\"name\":\"WEDGE\",\"followsDelimiter\":\"/\",\"description\":\"specifies a closed polygon with rays from the center to each vertex\",\"type\":\"standalone\"}]},{\"name\":\"STARVERTICES=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"superimposes a star (polygon) at each point on the primary chart\",\"help\":\"STARVERTICES=*variable* | (*variable-list*)\",\"type\":\"value\"},{\"name\":\"SUBGROUPN=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the subgroup sample sizes as a constant value or as the values of a variable in the DATA= data set\",\"help\":\"SUBGROUPN=*value* | *variable*\",\"type\":\"value\"},{\"name\":\"SYMBOLLEGEND=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"controls the legend for the levels of a symbol-variable\",\"help\":\"SYMBOLLEGEND=LEGENDn | NONE\",\"type\":\"choice\"},{\"name\":\"SYMBOLORDER=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the order in which symbols are assigned for levels of symbol-variable\",\"help\":\"SYMBOLORDER=DATA | INTERNAL | FORMATTED\",\"type\":\"choice\"},{\"name\":\"TABLES\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"creates a basic table of the subgroup values, the subgroup sample sizes, the subgroup summary statistics, and the upper and lower control limits\",\"help\":\"TABLES &lt;(EXCEPTIONS)&gt;\",\"type\":\"standaloneOrValue\"},{\"name\":\"TABLEALL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"tabulates all the information about the control chart\",\"help\":\"TABLEALL &lt;(EXCEPTIONS)&gt;\",\"type\":\"standaloneOrValue\"},{\"name\":\"TABLECENTRAL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"augments the basic table created by the TABLES option with columns for the values of the central lines\",\"help\":\"TABLECENTRAL &lt;(EXCEPTIONS)&gt;\",\"type\":\"standaloneOrValue\"},{\"name\":\"TABLEID\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"augments the basic table created by the TABLES option with a column for each of the ID variables\",\"help\":\"TABLEID &lt;(EXCEPTIONS)&gt;\",\"type\":\"standaloneOrValue\"},{\"name\":\"TABLELEGEND\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"adds a legend to the basic table created by the TABLE option\",\"help\":\"TABLELEGEND &lt;(EXCEPTIONS)&gt;\",\"type\":\"standaloneOrValue\"},{\"name\":\"TABLEOUTLIM\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"augments the basic table created by the TABLE option with columns indicating which control limits (if any) are exceeded\",\"help\":\"TABLEOUTLIM &lt;(EXCEPTIONS)&gt;\",\"type\":\"standaloneOrValue\"},{\"name\":\"TABLETESTS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"augments the basic table created by the TABLES option with a column that indicates which of the tests for special causes (requested with the TESTS= option) are positive\",\"help\":\"TABLETESTS &lt;(EXCEPTIONS)&gt;\",\"type\":\"standaloneOrValue\"},{\"name\":\"TARGET=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"provides target values used to compute the capability index Cpm, which is saved in the OUTLIMITS= data set\",\"help\":\"TARGET=*value-list*\",\"type\":\"value\"},{\"name\":\"TEST2RESET=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"enables tests for special causes to be reset in a secondary chart\",\"help\":\"TEST2RESET=*variable* | *value*\",\"type\":\"value\"},{\"name\":\"TEST2RUN=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the length of the pattern for Test 2 requested with the TESTS= and TESTS2= options\",\"help\":\"TEST2RUN=7 | 8 | 9 | 11 | 14 | 20\",\"type\":\"choice\",\"arguments\":[{\"name\":\"7\",\"followsDelimiter\":\"/\",\"description\":\"specifies a run-length of 7 in a row on one side of the central line\",\"type\":\"standalone\"},{\"name\":\"8\",\"followsDelimiter\":\"/\",\"description\":\"specifies a run-length of 8 in a row on one side of the central line\",\"type\":\"standalone\"},{\"name\":\"9\",\"followsDelimiter\":\"/\",\"description\":\"specifies a run-length of 9 in a row on one side of the central line\",\"type\":\"standalone\"},{\"name\":\"11\",\"followsDelimiter\":\"/\",\"description\":\"specifies at least 10 out of 11 in a row on one side of the central line\",\"type\":\"standalone\"},{\"name\":\"14\",\"followsDelimiter\":\"/\",\"description\":\"specifies at least 12 out of 14 in a row on one side of the central line\",\"type\":\"standalone\"},{\"name\":\"20\",\"followsDelimiter\":\"/\",\"description\":\"specifies at least 16 out of 20 in a row on one side of the central line\",\"type\":\"standalone\"}]},{\"name\":\"TEST3RUN=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the length of the pattern for Test 3 requested with the TESTS= and TESTS2= options\",\"help\":\"TEST3RUN=6 | 7 | 8\",\"type\":\"choice\",\"arguments\":[{\"name\":\"6\",\"followsDelimiter\":\"/\",\"description\":\"searches for a pattern of steadily increasing or decreasing values with length at least 6\",\"type\":\"standalone\"},{\"name\":\"7\",\"followsDelimiter\":\"/\",\"description\":\"searches for a pattern of steadily increasing or decreasing values with length at least 7\",\"type\":\"standalone\"},{\"name\":\"8\",\"followsDelimiter\":\"/\",\"description\":\"searches for a pattern of steadily increasing or decreasing values with length at least 8\",\"type\":\"standalone\"}]},{\"name\":\"TESTACROSS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that tests for special causes requested with the TESTS= or TESTS2= options be applied without regard to phases (blocks of consecutive subgroups) determined by the READPHASES= option and the variable _PHASE_ in the input data set\",\"type\":\"standalone\"},{\"name\":\"TESTLABBOX\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"requests that labels for subgroups with positive tests for special causes are positioned so they do not overlap\",\"type\":\"standalone\"},{\"name\":\"TESTLABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"provides labels for points at which one of the tests for special causes (requested with the TESTS= or TESTS2= option) is positive\",\"help\":\"TESTLABEL='*label*' | (*variable*) | TESTINDEX | SPACE | NONE\",\"type\":\"value\"},{\"name\":\"TESTLABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a label for points at which the test for special causes requested with the index n in a TESTS= or TESTS2= list is positive\",\"help\":\"TESTLABEL*n*='*label*'\",\"type\":\"value\"},{\"name\":\"TESTNMETHOD=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"applies the tests for special causes requested with the TESTS= and TESTS2= options to standardized test statistics when the subgroup sample sizes are not constant\",\"help\":\"TESTNMETHOD=STANDARDIZE\",\"type\":\"value\"},{\"name\":\"TESTOVERLAP\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"applies tests for special causes (requested with the TESTS= or TESTS2= option) to overlapping patterns of points\",\"type\":\"standalone\"},{\"name\":\"TESTRESET=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"enables tests for special causes to be reset in a primary chart\",\"help\":\"TESTRESET=*variable* | *value*\",\"type\":\"value\"},{\"name\":\"TESTS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"requests one or more tests for special causes, which are also known as runs tests, pattern tests, and Western Electric rules\",\"help\":\"TESTS=*index-list*\",\"type\":\"value\",\"arguments\":[{\"name\":\"1\",\"followsDelimiter\":\"/\",\"description\":\"specifies one point beyond Zone A (outside the control limits)\",\"type\":\"standalone\"},{\"name\":\"2\",\"followsDelimiter\":\"/\",\"description\":\"specifies nine points in a row in Zone C or beyond on one side of the central line\",\"type\":\"standalone\"},{\"name\":\"3\",\"followsDelimiter\":\"/\",\"description\":\"specifies six points in a row steadily increasing\",\"type\":\"standalone\"},{\"name\":\"4\",\"followsDelimiter\":\"/\",\"description\":\"specifies fourteen points in a row alternating up and down\",\"type\":\"standalone\"}]},{\"name\":\"TESTS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies customized tests for special causes for the primary control chart to search for k out of m points in a row in the interval (a,b)\",\"help\":\"TESTS=T(K=*k* M=*m* LOWER=*a* UPPER=*b* SCHEME=*scheme* CODE=*character* LABEL=*'label'* LEGEND=*'legend'*)\",\"type\":\"value\",\"arguments\":[{\"name\":\"K=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the number of points\",\"help\":\"K=*k*\",\"type\":\"value\"},{\"name\":\"M=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the number of consecutive points\",\"help\":\"M=*m*\",\"type\":\"value\"},{\"name\":\"LOWER=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the lower limit of interval (a,b)\",\"help\":\"LOWER=*value*\",\"type\":\"value\"},{\"name\":\"UPPER=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the upper limit of interval (a,b)\",\"help\":\"UPPER=*value*\",\"type\":\"value\"},{\"name\":\"SCHEME=\",\"followsDelimiter\":\"/\",\"description\":\"specifies a one-sided scheme using (a,b)\",\"help\":\"SCHEME=ONESIDED\",\"type\":\"value\"},{\"name\":\"SCHEME=\",\"followsDelimiter\":\"/\",\"description\":\"specifies a two-sided scheme using (a,b) union (-b,-a)\",\"help\":\"SCHEME=TWOSIDED\",\"type\":\"value\"},{\"name\":\"CODE=\",\"followsDelimiter\":\"/\",\"description\":\"specifies an identifier for test (A--H)\",\"help\":\"CODE=*character*\",\"type\":\"value\"},{\"name\":\"LABEL=\",\"followsDelimiter\":\"/\",\"description\":\"specifies a label for points if signal\",\"help\":\"LABEL=*'label'*\",\"type\":\"value\"},{\"name\":\"LEGEND=\",\"followsDelimiter\":\"/\",\"description\":\"specifies a legend used with the TABLELEGEND option\",\"help\":\"LEGEND=*'legend'*\",\"type\":\"value\"}]},{\"name\":\"TESTS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies customized tests for special causes for the primary control chart to search for k points in a row increasing or decreasing\",\"help\":\"TESTS=M(K=*k* DIR=*direction* CODE=*character* LABEL=*'label'* LEGEND=*'legend'*)\",\"type\":\"value\",\"arguments\":[{\"name\":\"K=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the number of points\",\"help\":\"K=*k*\",\"type\":\"value\"},{\"name\":\"DIR=\",\"followsDelimiter\":\"/\",\"description\":\"specifies an increasing pattern\",\"help\":\"DIR=INC\",\"type\":\"value\"},{\"name\":\"DIR=\",\"followsDelimiter\":\"/\",\"description\":\"specifies a decreasing pattern\",\"help\":\"DIR=DEC\",\"type\":\"value\"},{\"name\":\"CODE=\",\"followsDelimiter\":\"/\",\"description\":\"specifies an identifier for test (A--H)\",\"help\":\"CODE=*character*\",\"type\":\"value\"},{\"name\":\"LABEL=\",\"followsDelimiter\":\"/\",\"description\":\"specifies a label for points if signal\",\"help\":\"LABEL=*'label'*\",\"type\":\"value\"},{\"name\":\"LEGEND=\",\"followsDelimiter\":\"/\",\"description\":\"specifies a legend used with the TABLELEGEND option\",\"help\":\"LEGEND=*'legend'*\",\"type\":\"value\"}]},{\"name\":\"TESTS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies customized tests for special causes for the primary control chart to search for a statistically significant linear trend over a window of k points\",\"help\":\"TESTS=S(K=*k* CLEV=*α* FORM=*character* CODE=*character* LABEL=*'label'* LEGEND=*'legend'*)\",\"type\":\"value\",\"arguments\":[{\"name\":\"K=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the number of points in sliding window (k > 2)\",\"help\":\"K=*k*\",\"type\":\"value\"},{\"name\":\"CLEV=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the Type I (false positive) error rate (0 < α ≤ 0.5)\",\"help\":\"CLEV=*α*\",\"type\":\"value\"},{\"name\":\"FORM=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the type of trend test (P=parametric, N=nonparametric)\",\"help\":\"FORM=*character*\",\"type\":\"value\"},{\"name\":\"CODE=\",\"followsDelimiter\":\"/\",\"description\":\"specifies an identifier for test (A--H)\",\"help\":\"CODE=*character*\",\"type\":\"value\"},{\"name\":\"LABEL=\",\"followsDelimiter\":\"/\",\"description\":\"specifies a label for points if signal\",\"help\":\"LABEL=*'label'*\",\"type\":\"value\"},{\"name\":\"LEGEND=\",\"followsDelimiter\":\"/\",\"description\":\"specifies a legend used with the TABLELEGEND option\",\"help\":\"LEGEND=*'legend'*\",\"type\":\"value\"}]},{\"name\":\"TOTPANELS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the total number of panels to be used to display the chart\",\"help\":\"TOTPANELS=*n*\",\"type\":\"value\"},{\"name\":\"TYPE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the value of the _TYPE_ variable in the OUTLIMITS= data set, which in turn indicates whether certain parameter variables in this data set represent estimates or standard (known) values\",\"help\":\"TYPE=ESTIMATE | STANDARD\",\"type\":\"choice\"},{\"name\":\"UCLLABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a label for the upper control limit in the primary chart\",\"help\":\"UCLLABEL='*label*'\",\"type\":\"value\"},{\"name\":\"VAXIS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies major tick mark values for the vertical axis of a primary chart\",\"help\":\"VAXIS=*value-list* | AXIS*n*\",\"type\":\"value\"},{\"name\":\"VFORMAT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a format to be used for displaying tick mark labels on the vertical axis of a primary chart\",\"help\":\"VFORMAT=*format*\",\"type\":\"value\"},{\"name\":\"VFORMAT2=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a format to be used for displaying tick mark labels on the vertical axis of a secondary chart\",\"help\":\"VFORMAT2=*format*\",\"type\":\"value\"},{\"name\":\"VOFFSET=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the length of the offset at each end of the vertical axis\",\"help\":\"VOFFSET=*value*\",\"type\":\"value\"},{\"name\":\"VREF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"draws reference lines perpendicular to the vertical axis on the primary chart\",\"help\":\"VREF=*value-list* | *SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"VREFLABELS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies labels for the reference lines requested by the VREF= option\",\"help\":\"VREFLABELS='*label1*'...'*labeln*'\",\"type\":\"value\"},{\"name\":\"VREFLABPOS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the horizontal position of the VREFLABELS= and VREF2LABELS= labels\",\"help\":\"VREFLABPOS=1 | 2 | 3\",\"type\":\"choice\",\"arguments\":[{\"name\":\"1\",\"followsDelimiter\":\"/\",\"description\":\"left-justifies in subplot area\",\"type\":\"standalone\"},{\"name\":\"2\",\"followsDelimiter\":\"/\",\"description\":\"right-justifies in subplot area\",\"type\":\"standalone\"},{\"name\":\"3\",\"followsDelimiter\":\"/\",\"description\":\"left-justifies in right margin\",\"type\":\"standalone\"}]},{\"name\":\"VZERO\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"forces the origin to be included in the vertical axis for a primary chart\",\"type\":\"standalone\"},{\"name\":\"VZERO2\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"forces the origin to be included in the vertical axis for a secondary chart\",\"type\":\"standalone\"},{\"name\":\"WESTGARD=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"requests that one or more of the Westgard rules (tests for special causes) be applied\",\"help\":\"WESTGARD=*index-list*\",\"type\":\"value\",\"arguments\":[{\"name\":\"1\",\"followsDelimiter\":\"/\",\"description\":\"specifies one point in Zone A or beyond\",\"type\":\"standalone\"},{\"name\":\"2\",\"followsDelimiter\":\"/\",\"description\":\"specifies one point beyond Zone A (outside the control limits)\",\"type\":\"standalone\"},{\"name\":\"3\",\"followsDelimiter\":\"/\",\"description\":\"specifies two points in a row in Zone A or beyond on the same side of the central line\",\"type\":\"standalone\"},{\"name\":\"4\",\"followsDelimiter\":\"/\",\"description\":\"specifies at least one point in Zone A or beyond on each side of the central line\",\"type\":\"standalone\"},{\"name\":\"5\",\"followsDelimiter\":\"/\",\"description\":\"specifies four points in a row in Zone B or beyond on the same side of the central line\",\"type\":\"standalone\"},{\"name\":\"6\",\"followsDelimiter\":\"/\",\"description\":\"specifies ten points in a row on the same side of the central line\",\"type\":\"standalone\"}]},{\"name\":\"ZEROSTD\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that a control chart is to be constructed and displayed regardless of whether the estimated process standard deviation is zero\",\"help\":\"ZEROSTD&lt;=NOLIMITS&gt;\",\"type\":\"standaloneOrValue\"},{\"name\":\"ZONE2VALUES\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"labels R or s chart zones lines with their values\",\"type\":\"standalone\"},{\"name\":\"ZONELABELS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"adds the labels A, B, and C to zone lines requested with the ZONES or ZONEVALUES options\",\"type\":\"standalone\"},{\"name\":\"ZONES\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"adds lines to a primary chart that delineate zones A, B, and C for standard tests requested with the TESTS= option\",\"type\":\"standalone\"},{\"name\":\"ZONEVALPOS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the horizontal position of the ZONEVALUES= and ZONE2VALUES= labels\",\"help\":\"ZONEVALPOS=1 | 2 | 3\",\"type\":\"choice\",\"arguments\":[{\"name\":\"1\",\"followsDelimiter\":\"/\",\"description\":\"left-justifies in subplot area\",\"type\":\"standalone\"},{\"name\":\"2\",\"followsDelimiter\":\"/\",\"description\":\"right-justifies in subplot area\",\"type\":\"standalone\"},{\"name\":\"3\",\"followsDelimiter\":\"/\",\"description\":\"left-justifies in right margin\",\"type\":\"standalone\"}]},{\"name\":\"ZONEVALUES\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"labels the primary chart zones lines with their values\",\"type\":\"standalone\"},{\"name\":\"BLOCKREFTRANSPARENCY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"PHASEREFTRANSPARENCY=\",\"REFFILLTRANSPARENCY=\"],\"description\":\"specifies the wall fill transparency for blocks and phases when transparency is used in ODS Graphics output\",\"help\":\"BLOCKREFTRANSPARENCY=*value*\",\"type\":\"value\"},{\"name\":\"BOXTRANSPARENCY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the box fill transparency for box-and-whisker charts when transparency is used in ODS Graphics output\",\"help\":\"BOXTRANSPARENCY=*value*\",\"type\":\"value\"},{\"name\":\"INFILLTRANSPARENCY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the control limit infill transparency when transparency is used in ODS Graphics output\",\"help\":\"INFILLTRANSPARENCY=*value*\",\"type\":\"value\"},{\"name\":\"MARKERDISPLAY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a subset of subgroups to be plotted with markers on a primary chart that is not an R or s chart\",\"help\":\"MARKERDISPLAY=OOC | UPPER | LOWER | RUNSTEST\",\"type\":\"choice\",\"arguments\":[{\"name\":\"OOC\",\"followsDelimiter\":\"/\",\"description\":\"selects subgroups outside the control limits\",\"type\":\"standalone\"},{\"name\":\"UPPER\",\"followsDelimiter\":\"/\",\"description\":\"selects subgroups above the upper control limit\",\"type\":\"standalone\"},{\"name\":\"LOWER\",\"followsDelimiter\":\"/\",\"description\":\"selects subgroups below the lower control limit\",\"type\":\"standalone\"},{\"name\":\"RUNSTEST\",\"followsDelimiter\":\"/\",\"description\":\"selects subgroups that signal positive tests for special causes\",\"type\":\"standalone\"}]},{\"name\":\"MARKERDISPLAY2=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a subset of subgroups to be plotted with markers on an R or s chart\",\"help\":\"MARKERDISPLAY2=OOC | UPPER | LOWER | RUNSTEST\",\"type\":\"choice\",\"arguments\":[{\"name\":\"OOC\",\"followsDelimiter\":\"/\",\"description\":\"selects subgroups outside the control limits\",\"type\":\"standalone\"},{\"name\":\"UPPER\",\"followsDelimiter\":\"/\",\"description\":\"selects subgroups above the upper control limit\",\"type\":\"standalone\"},{\"name\":\"LOWER\",\"followsDelimiter\":\"/\",\"description\":\"selects subgroups below the lower control limit\",\"type\":\"standalone\"},{\"name\":\"RUNSTEST\",\"followsDelimiter\":\"/\",\"description\":\"selects subgroups that signal positive tests for special causes\",\"type\":\"standalone\"}]},{\"name\":\"MARKERLABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a variable whose values provide labels for the subgroups that are plotted with markers on a primary chart that is not an R or s chart\",\"help\":\"MARKERLABEL=(*variable*)\",\"type\":\"value\"},{\"name\":\"MARKERLABEL2=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a variable whose values provide labels for the subgroups that are plotted with markers on an R or s chart\",\"help\":\"MARKERLABEL2=(*variable*)\",\"type\":\"value\"},{\"name\":\"MARKERMISSINGGROUP=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies whether subgroups with missing symbol-variable values are plotted with a unique marker\",\"help\":\"MARKERMISSINGGROUP=TRUE | FALSE\",\"type\":\"choice\"},{\"name\":\"MARKERS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"plots subgroup points with markers\",\"type\":\"standalone\"},{\"name\":\"NOBLOCKREF\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"NOPHASEREF\",\"NOREF\"],\"description\":\"suppresses block and phase reference lines from ODS Graphics output\",\"type\":\"standalone\"},{\"name\":\"NOBLOCKREFFILL\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"NOPHASEREFFILL\",\"NOREFFILL\"],\"description\":\"suppresses the block and phase wall fills from ODS Graphics output\",\"type\":\"standalone\"},{\"name\":\"NOBOXFILLLEGEND\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"NOFILLLEGEND\",\"NOSTARFILLLEGEND\"],\"description\":\"suppresses the legend for the levels of a BOXFILL= or STARFILL= variable in ODS Graphics output\",\"type\":\"standalone\"},{\"name\":\"NOTRANSPARENCY\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"disables transparency in ODS Graphics output, so that all graph features are opaque\",\"type\":\"standalone\"},{\"name\":\"ODSFOOTNOTE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"adds a footnote to ODS Graphics output\",\"help\":\"ODSFOOTNOTE=FOOTNOTE | FOOTNOTE1 | '*string*'\",\"type\":\"value\"},{\"name\":\"ODSFOOTNOTE2=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"adds a secondary footnote to ODS Graphics output\",\"help\":\"ODSFOOTNOTE2=FOOTNOTE2 | '*string*'\",\"type\":\"value\"},{\"name\":\"ODSLEGENDEXPAND\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that legend entries contain all levels observed in the data\",\"type\":\"standalone\"},{\"name\":\"ODSTITLE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a title for ODS Graphics output\",\"help\":\"ODSTITLE=TITLE | TITLE1 | NONE | DEFAULT | LABELFMT | '*string*'\",\"type\":\"value\"},{\"name\":\"ODSTITLE2=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a secondary title for ODS Graphics output\",\"help\":\"ODSTITLE2=TITLE2 | '*string*'\",\"type\":\"value\"},{\"name\":\"OUTFILLTRANSPARENCY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the control limit outfill transparency when transparency is used in ODS Graphics output\",\"help\":\"OUTFILLTRANSPARENCY=*value*\",\"type\":\"value\"},{\"name\":\"OUTHIGHURL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a variable whose values are URLs to be associated with outlier points above the upper fence on a schematic box chart when ODS Graphics output is directed into HTML\",\"help\":\"OUTHIGHURL=*variable*\",\"type\":\"value\"},{\"name\":\"OUTLOWURL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a variable whose values are URLs to be associated with outlier points below the lower fence on a schematic box chart when ODS Graphics output is directed into HTML\",\"help\":\"OUTLOWURL=*variable*\",\"type\":\"value\"},{\"name\":\"OVERLAY2URL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies variables whose values are URLs to be associated with points on secondary chart overlays\",\"help\":\"OVERLAY2URL=(*variable-list*)\",\"type\":\"value\"},{\"name\":\"OVERLAYURL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies variables whose values are URLs to be associated with points on primary chart overlays\",\"help\":\"OVERLAYURL=(*variable-list*)\",\"type\":\"value\"},{\"name\":\"PHASEBOXLABELS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"draws phase labels as titles along the top of phase boxes\",\"type\":\"standalone\"},{\"name\":\"PHASEPOS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the vertical position of the phase legend\",\"help\":\"PHASEPOS=1 | 2 | 3 | 4\",\"type\":\"choice\",\"arguments\":[{\"name\":\"1\",\"followsDelimiter\":\"/\",\"description\":\"places at top of chart, offset from axis frame\",\"type\":\"standalone\"},{\"name\":\"2\",\"followsDelimiter\":\"/\",\"description\":\"places at top of chart, immediately above axis frame\",\"type\":\"standalone\"},{\"name\":\"3\",\"followsDelimiter\":\"/\",\"description\":\"places at bottom of chart, immediately above horizontal axis\",\"type\":\"standalone\"},{\"name\":\"4\",\"followsDelimiter\":\"/\",\"description\":\"places at bottom of chart, below horizontal axis label\",\"type\":\"standalone\"}]},{\"name\":\"PHASEREFLEVEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"enables you to associate phase reference lines (block reference lines) with either the innermost or the outermost level\",\"help\":\"PHASEREFLEVEL=INNER | OUTER | NONE\",\"type\":\"choice\"},{\"name\":\"QCSYMBOLS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies which set of symbol markers is used to plot points on a control chart\",\"help\":\"QCSYMBOLS=TRUE | FALSE\",\"type\":\"choice\"},{\"name\":\"SIMULATEQCFONT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"draws the central line labels using a simulated software font rather than a hardware font\",\"type\":\"standalone\"},{\"name\":\"STARTRANSPARENCY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the star fill transparency when transparency is used in ODS Graphics output\",\"help\":\"STARTRANSPARENCY=*value*\",\"type\":\"value\"},{\"name\":\"URL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies URLs as values of the specified character variable (or formatted values of a numeric variable) to associate with subgroup points on a primary control chart when ODS Graphics output is directed into HTML\",\"help\":\"URL=*variable*\",\"type\":\"value\"},{\"name\":\"URL2=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies URLs as values of the specified character variable (or formatted values of a numeric variable) to associate with subgroup points on a secondary control chart when ODS Graphics output is directed into HTML\",\"help\":\"URL2=*variable*\",\"type\":\"value\"},{\"name\":\"ANNOTATE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"ANNO=\"],\"description\":\"specifies an ANNOTATE= type data set that enhances a primary chart\",\"help\":\"ANNOTATE=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"BILEVEL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"arranges the Shewhart chart in two levels (rather than the default of one level) so that twice as much data can be displayed on a page or screen\",\"type\":\"standalone\"},{\"name\":\"CAXIS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the color for the axes and tick marks\",\"help\":\"CAXIS=*color*\",\"type\":\"color\"},{\"name\":\"CBLOCKLAB=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies fill colors for the frames that enclose the block-variable labels in a block legend\",\"help\":\"CBLOCKLAB=*color* | (*color-list*)\",\"type\":\"color\"},{\"name\":\"CBLOCKVAR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies variables whose values are colors for filling the background of the legend associated with block-variables\",\"help\":\"CBLOCKVAR=*variable* | (*variable-list*)\",\"type\":\"value\"},{\"name\":\"CCLIP=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a color for the plotting symbol that is specified with the CLIPSYMBOL option to mark clipped points\",\"help\":\"CCLIP=*color*\",\"type\":\"color\"},{\"name\":\"CCONNECT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the color for the line segments connecting points on the chart\",\"help\":\"CCONNECT=*color*\",\"type\":\"color\"},{\"name\":\"CCOVERLAY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the colors for the line segments connecting points on primary chart overlays\",\"help\":\"CCOVERLAY=(*color-list*)\",\"type\":\"color\"},{\"name\":\"CCOVERLAY2=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the colors for the line segments connecting points on secondary chart overlays\",\"help\":\"CCOVERLAY2=(*color-list*)\",\"type\":\"color\"},{\"name\":\"CFRAME=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the colors for filling the rectangle enclosed by the axes and the frame\",\"help\":\"CFRAME=*color* | (*color-list*)\",\"type\":\"color\"},{\"name\":\"CGRID=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the color for the grid requested by the ENDGRID or GRID option\",\"help\":\"CGRID=*color*\",\"type\":\"color\"},{\"name\":\"CHREF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the color for the lines requested by the HREF= and HREF2= options\",\"help\":\"CHREF=*color*\",\"type\":\"color\"},{\"name\":\"CLABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the color for labels produced by the ALLLABEL=, ALLLABEL2=, OUTLABEL=, and OUTLABEL2= options\",\"help\":\"CLABEL=*color*\",\"type\":\"color\"},{\"name\":\"CLIMITS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the color for the control limits, the central line, and the labels for these lines\",\"help\":\"CLIMITS=*color*\",\"type\":\"color\"},{\"name\":\"CLIPLEGPOS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the position for the legend that indicates the number of clipped points when the CLIPFACTOR= option is used\",\"help\":\"CLIPLEGPOS=TOP | BOTTOM\",\"type\":\"choice\"},{\"name\":\"CLIPSYMBOL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a plot symbol used to identify clipped points on the chart and in the legend when the CLIPFACTOR= option is used\",\"help\":\"CLIPSYMBOL=*symbol*\",\"type\":\"value\"},{\"name\":\"CLIPSYMBOLHT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the height for the symbol marker used to identify clipped points on the chart when the CLIPFACTOR= option is used\",\"help\":\"CLIPSYMBOLHT=*value*\",\"type\":\"value\"},{\"name\":\"CNEEDLES=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"requests that points are to be connected to the central line with vertical line segments (needles) and specifies the color of the needles\",\"help\":\"CNEEDLES=*color*\",\"type\":\"color\"},{\"name\":\"COUTFILL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the fill color for the areas outside the control limits that lie between the connected points and the control limits and are bounded by connecting lines\",\"help\":\"COUTFILL=*color*\",\"type\":\"color\"},{\"name\":\"COVERLAY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the colors used to plot primary chart overlay variables specified in the OVERLAY= list\",\"help\":\"COVERLAY=(*color-list*)\",\"type\":\"color\"},{\"name\":\"COVERLAY2=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the colors used to plot secondary chart overlay variables specified in the OVERLAY2= list\",\"help\":\"COVERLAY2=(*color-list*)\",\"type\":\"color\"},{\"name\":\"COVERLAYCLIP=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the color used to plot clipped values on overlay plots when the CLIPFACTOR= option is used\",\"help\":\"COVERLAYCLIP=*color*\",\"type\":\"color\"},{\"name\":\"CPHASELEG=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a text color for the phase labels requested with the PHASELEGEND option\",\"help\":\"CPHASELEG=*color*\",\"type\":\"color\"},{\"name\":\"CSTARCIRCLES=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a color for the circles requested with the STARCIRCLES= option\",\"help\":\"CSTARCIRCLES=*color*\",\"type\":\"color\"},{\"name\":\"CSTARFILL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a color or colors for filling the interior of stars requested with the STARVERTICES= option\",\"help\":\"CSTARFILL=*color* | (*variable*)\",\"type\":\"color\"},{\"name\":\"CSTARS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a color or colors for the outlines of stars requested with the STARVERTICES= option\",\"help\":\"CSTARS=*color* | (*variable*)\",\"type\":\"color\"},{\"name\":\"CTESTLABBOX=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the color for boxes enclosing labels for positive tests for special causes requested with the TESTLABBOX option\",\"help\":\"CTESTLABBOX=*color*\",\"type\":\"color\"},{\"name\":\"CTESTS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies colors for labels indicating points where a test for special causes specified in the TESTS= option is positive\",\"help\":\"CTESTS=*color* | *test-color-list*\",\"type\":\"color\"},{\"name\":\"CTESTSYMBOL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the color of the symbol used to plot subgroups with positive tests for special causes\",\"help\":\"CTESTSYMBOL=*color*\",\"type\":\"color\"},{\"name\":\"CTEXT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the color for tick mark values, axis labels, the sample size legend, and the control limit legend\",\"help\":\"CTEXT=*color*\",\"type\":\"color\"},{\"name\":\"CVREF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the color for reference lines requested by the VREF= and VREF2= options\",\"help\":\"CVREF=*color*\",\"type\":\"color\"},{\"name\":\"CZONES=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"requests lines marking zones A, B, and C for the tests for special causes\",\"help\":\"CZONES=*color*\",\"type\":\"color\"},{\"name\":\"DESCRIPTION=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a description, up to 256 characters long, for the GRSEG catalog entry for the primary chart\",\"help\":\"DESCRIPTION='*string*'\",\"type\":\"value\"},{\"name\":\"ENDGRID\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"a grid to the rightmost portion of the chart, beginning with the first labeled major tick mark position that follows the last plotted point\",\"type\":\"standalone\"},{\"name\":\"FONT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a software font for labels and legends\",\"help\":\"FONT=*font*\",\"type\":\"value\"},{\"name\":\"HEIGHT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the height (in vertical screen percent units) of the text for axis labels and legends\",\"help\":\"HEIGHT=*value*\",\"type\":\"value\"},{\"name\":\"HMINOR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the number of (unlabeled) minor tick marks between each major tick mark on the horizontal axis\",\"help\":\"HMINOR=*n*\",\"type\":\"value\"},{\"name\":\"HTML=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a variable whose values create links associated with subgroup points on a primary control chart when traditional graphics output is directed into HTML\",\"help\":\"HTML=*variable*\",\"type\":\"value\"},{\"name\":\"HTML2=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a variable whose values create links associated with subgroup points on a secondary control chart when traditional graphics output is directed into HTML\",\"help\":\"HTML2=*variable*\",\"type\":\"value\"},{\"name\":\"HTML_LEGEND=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies HTML links as values of the specified character variable (or formatted values of a numeric variable)\",\"help\":\"HTML_LEGEND=*variable*\",\"type\":\"value\"},{\"name\":\"LABELANGLE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the angle at which labels requested with the ALLLABEL=, ALLLABEL2=, OUTLABEL=, and OUTLABEL2= options are drawn\",\"help\":\"LABELANGLE=*angle*\",\"type\":\"value\"},{\"name\":\"LABELFONT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"TESTFONT=\"],\"description\":\"specifies a software font for labels requested with the ALLLABEL=, ALLLABEL2=, OUTLABEL=, OUTLABEL2=, STARLABEL=, TESTLABEL=, and TESTLABELn= options\",\"help\":\"LABELFONT=*font*\",\"type\":\"value\"},{\"name\":\"LABELHEIGHT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"TESTHEIGHT=\"],\"description\":\"specifies the height (in vertical percent screen units) for labels requested with the ALLLABEL=, ALLLABEL2=, OUTLABEL=, OUTLABEL2=, STARLABEL=, TESTLABEL=, and TESTLABELn= options\",\"help\":\"LABELHEIGHT=*value*\",\"type\":\"value\"},{\"name\":\"LENDGRID=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the line type for the grid requested with the ENDGRID option\",\"help\":\"LENDGRID=*n*\",\"type\":\"value\"},{\"name\":\"LGRID=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the line type for the grid requested with the GRID option\",\"help\":\"LGRID=*n*\",\"type\":\"value\"},{\"name\":\"LHREF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the line type for reference lines requested with the HREF= and HREF2= options\",\"help\":\"LHREF=*linetype*\",\"type\":\"value\"},{\"name\":\"LLIMITS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the line type for control limits\",\"help\":\"LLIMITS=*linetype*\",\"type\":\"value\"},{\"name\":\"LOVERLAY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies line types for the line segments connecting points on primary chart overlays corresponding to the OVERLAY= list\",\"help\":\"LOVERLAY=(*linetypes*)\",\"type\":\"value\"},{\"name\":\"LOVERLAY2=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies line types for the line segments connecting points on secondary chart overlays corresponding to the OVERLAY2= list\",\"help\":\"LOVERLAY2=(*linetypes*)\",\"type\":\"value\"},{\"name\":\"LSTARCIRCLES=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies one or more line types for the circles requested with the STARCIRCLES= option\",\"help\":\"LSTARCIRCLES=*linetypes*\",\"type\":\"value\"},{\"name\":\"LSTARS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the line types for the outlines of stars requested with the STARVERTICES= option\",\"help\":\"LSTARS=*linetype* | (*variable*)\",\"type\":\"value\"},{\"name\":\"LTESTS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the line type for the line segments that connect patterns of points for which a test for special causes (requested with the TESTS= option) is positive\",\"help\":\"LTESTS=*linetype*\",\"type\":\"value\"},{\"name\":\"LVREF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the line type for reference lines requested by the VREF= and VREF2= options\",\"help\":\"LVREF=*linetype*\",\"type\":\"value\"},{\"name\":\"LZONES=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the line type for lines that delineate zones A, B, and C for standard tests requested with the TESTS= and/or TESTS2= options\",\"help\":\"LZONES=*n*\",\"type\":\"value\"},{\"name\":\"NAME=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the name of the GRSEG catalog entry for the primary chart, and the name of the graphics output file if one is created\",\"help\":\"NAME='*string*'\",\"type\":\"value\"},{\"name\":\"NOFRAME\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses the default frame drawn around the chart\",\"type\":\"standalone\"},{\"name\":\"NOLIMITSFRAME\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses the default frame for the control limit information that is displayed across the top of the chart when multiple sets of control limits with distinct multiples of σ and nominal control limit sample sizes are read from a LIMITS= data set\",\"type\":\"standalone\"},{\"name\":\"NOPHASEFRAME\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses the default frame for the legend requested by the PHASELEGEND option\",\"type\":\"standalone\"},{\"name\":\"NOVANGLE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"requests vertical axis labels that are strung out vertically\",\"type\":\"standalone\"},{\"name\":\"NOVLABEL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses the label for the primary vertical axis\",\"type\":\"standalone\"},{\"name\":\"NOV2LABEL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses the label for the secondary vertical axis\",\"type\":\"standalone\"},{\"name\":\"OUTHIGHHTML=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a variable whose values create links to be associated with outlier points above the upper fence on a schematic box chart when traditional graphics output is directed into HTML\",\"help\":\"OUTHIGHHTML=*variable*\",\"type\":\"value\"},{\"name\":\"OUTLOWHTML=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a variable whose values create links to be associated with outlier points below the lower fence on a schematic box chart when traditional graphics output is directed into HTML\",\"help\":\"OUTLOWHTML=*variable*\",\"type\":\"value\"},{\"name\":\"OVERLAY2HTML=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies variables whose values create links to be associated with points on secondary chart overlays corresponding to the OVERLAY2= list\",\"help\":\"OVERLAY2HTML=(*variable-list*)\",\"type\":\"value\"},{\"name\":\"OVERLAY2SYM=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies symbols used to plot overlays on a secondary control chart corresponding to the OVERLAY2= list\",\"help\":\"OVERLAY2SYM=(*symbol-list*)\",\"type\":\"value\"},{\"name\":\"OVERLAY2SYMHT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the heights of symbols used to plot overlays on a secondary control chart corresponding to the OVERLAY2= list\",\"help\":\"OVERLAY2SYMHT=(*value-list*)\",\"type\":\"value\"},{\"name\":\"OVERLAYCLIPSYM=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the symbol used to plot clipped values on overlay plots when the CLIPFACTOR= option is used\",\"help\":\"OVERLAYCLIPSYM=*symbol*\",\"type\":\"value\"},{\"name\":\"OVERLAYCLIPSYMHT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the height for the symbol used to plot clipped values on overlay plots when the CLIPFACTOR= option is used\",\"help\":\"OVERLAYCLIPSYMHT=*value*\",\"type\":\"value\"},{\"name\":\"OVERLAYHTML=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies variables whose values create links to be associated with points on primary chart overlays corresponding to the OVERLAY= list\",\"help\":\"OVERLAYHTML=(*variable-list*)\",\"type\":\"value\"},{\"name\":\"OVERLAYSYM=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies symbols used to plot overlays on the primary control chart corresponding to the OVERLAY= list\",\"help\":\"OVERLAYSYM=(*symbol-list*)\",\"type\":\"value\"},{\"name\":\"OVERLAYSYMHT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the heights of symbols used to plot overlays on the primary control chart corresponding to the OVERLAY= list\",\"help\":\"OVERLAYSYMHT=(*value-list*)\",\"type\":\"value\"},{\"name\":\"TESTFONT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"LABELFONT=\"],\"description\":\"specifies a software font for labels requested with the ALLLABEL=, ALLLABEL2=, OUTLABEL=, OUTLABEL2=, STARLABEL=, TESTLABEL=, and TESTLABELn= options\",\"help\":\"TESTFONT=*font*\",\"type\":\"value\"},{\"name\":\"TESTHEIGHT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"LABELHEIGHT=\"],\"description\":\"specifies the height (in vertical percent screen units) for labels requested with the ALLLABEL=, ALLLABEL2=, OUTLABEL=, OUTLABEL2=, STARLABEL=, TESTLABEL=, and TESTLABELn= options\",\"help\":\"TESTHEIGHT=*value*\",\"type\":\"value\"},{\"name\":\"TESTSYMBOL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the symbol for plotting subgroups with positive tests for special causes\",\"help\":\"TESTSYMBOL=*symbol*\",\"type\":\"value\"},{\"name\":\"TESTSYMBOLHT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the height of the symbol used to plot subgroups with positive tests for special causes\",\"help\":\"TESTSYMBOLHT=*value*\",\"type\":\"value\"},{\"name\":\"TURNALL\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"TURNOUT\"],\"description\":\"turns the labels produced by the ALLLABEL=, ALLLABEL2=, OUTLABEL=, and OUTLABEL2= options so that they are strung out vertically\",\"type\":\"standalone\"},{\"name\":\"TURNHLABELS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"turns the major tick mark labels for the horizontal (subgroup) axis so that they are strung out vertically\",\"type\":\"standalone\"},{\"name\":\"VMINOR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the number of minor tick marks between each major tick mark on the vertical axis\",\"help\":\"VMINOR=*n*\",\"type\":\"value\"},{\"name\":\"WAXIS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the width in pixels for the axis and frame lines\",\"help\":\"WAXIS=*n*\",\"type\":\"value\"},{\"name\":\"WGRID=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the width in pixels for grid lines requested with the ENDGRID and GRID options\",\"help\":\"WGRID=*n*\",\"type\":\"value\"},{\"name\":\"WLIMITS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the width in pixels for the control limits and central line\",\"help\":\"WLIMITS=*n*\",\"type\":\"value\"},{\"name\":\"WNEEDLES=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the width in pixels of needles connecting plotted points to the central line, as requested with the NEEDLES option\",\"help\":\"WNEEDLES=*n*\",\"type\":\"value\"},{\"name\":\"WOVERLAY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the widths in pixels for the line segments connecting points on primary chart overlay plots corresponding to the OVERLAY= list\",\"help\":\"WOVERLAY=(*value-list*)\",\"type\":\"value\"},{\"name\":\"WOVERLAY2=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the widths in pixels for the line segments connecting points on secondary chart overlay plots corresponding to the OVERLAY2= list\",\"help\":\"WOVERLAY2=(*value-list*)\",\"type\":\"value\"},{\"name\":\"WSTARCIRCLES=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the width in pixels of the outline of circles requested by the STARCIRCLES= option\",\"help\":\"WSTARCIRCLES=*n*\",\"type\":\"value\"},{\"name\":\"WSTARS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the width in pixels of the outline of stars requested by the STARVERTICES= option\",\"help\":\"WSTARS=*n*\",\"type\":\"value\"},{\"name\":\"WTESTS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the width in pixels of the line segments that connect patterns of points for which a test for special causes (requested with the TESTS= or TESTS2= option) is positive\",\"help\":\"WTESTS=*n*\",\"type\":\"value\"}]},{\"name\":\"PCHART\",\"description\":\"creates p charts for the proportions of nonconforming (defective) items in subgroup samples\",\"help\":\"PCHART  (processes) * subgroup-variable<(block-variables)><=symbol-variable | ='character'></ options>;                                              \\nprocess is the name of the variable containing the numbers of nonconforming items, or the common prefix of the summary variables in the HISTORY= data set, or the value of the variable _VAR_ in the TABLE= data set                     \\nsubgroup-variable is the variable that identifies subgroups in the data                     \\nblock-variables are optional variables that group the data into blocks of consecutive subgroups                     \\nsymbol-variable is an optional variable whose levels (unique values) determine the symbol marker that is used to plot proportions of nonconforming items                     \\ncharacter is a character that is used to plot the points when you produce traditional graphics                     \",\"arguments\":[{\"name\":\"ACTUALALPHA\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"requests that the actual probability of a point being outside an attribute chart's probability limits be displayed in the limits legend\",\"type\":\"standalone\"},{\"name\":\"ALLLABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"labels every point on the primary chart with the value plotted for that subgroup or with the value of variable in the input data set\",\"help\":\"ALLLABEL=VALUE | (*variable*)\",\"type\":\"value\"},{\"name\":\"ALLN\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"plots summary statistics for all subgroups, regardless of whether the subgroup sample size equals the nominal control limit sample size n specified by the LIMITN= option or the variable _LIMITN_ in the LIMITS= data set\",\"type\":\"standalone\"},{\"name\":\"ALPHA=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"requests α probability limits instead of 3σ control limits\",\"help\":\"ALPHA=*value*\",\"type\":\"value\"},{\"name\":\"BLOCKLABELPOS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the position of a block-variable label in the block legend\",\"help\":\"BLOCKLABELPOS=ABOVE | LEFT | RIGHT\",\"type\":\"choice\"},{\"name\":\"BLOCKLABTYPE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies how lengthy block variable values are treated when there is insufficient space to display them in the block legend\",\"help\":\"BLOCKLABTYPE=SCALED | TRUNCATED | ROTATE | ROTATEALL | *height*\",\"type\":\"value\"},{\"name\":\"BLOCKPOS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the vertical position of the legend for the values of the block-variables\",\"help\":\"BLOCKPOS=*n*\",\"type\":\"value\"},{\"name\":\"BLOCKREP\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that block variable values for all subgroups are to be displayed\",\"type\":\"standalone\"},{\"name\":\"BLOCKVAR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies variables whose values are used to assign colors for filling the background of the legend associated with block variables\",\"help\":\"BLOCKVAR=*variable* | (*variable-list*)\",\"type\":\"value\"},{\"name\":\"BOXES=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a variable whose values are used to assign colors for the outlines of box-and-whiskers plots\",\"help\":\"BOXES=*variable*\",\"type\":\"value\"},{\"name\":\"BOXFILL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies how box-and-whisker plots are filled with colors from the ODS style\",\"help\":\"BOXFILL=*variable* | NONE | EMPTY\",\"type\":\"value\"},{\"name\":\"CFRAMELAB=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"CFRAMELAB\"],\"description\":\"specifies the color for filling rectangles that frame the point labels displayed with the ALLLABEL=, ALLLABEL2=, OUTLABEL=, and OUTLABEL2= options\",\"help\":\"CFRAMELAB=*color*\",\"type\":\"color\"},{\"name\":\"CIINDICES\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"requests capability index confidence limits based on subgroup summary data, calculated using \\\"effective degrees of freedom\\\"\",\"help\":\"CIINDICES &lt;(&lt;TYPE=*keyword*&gt;&lt;ALPHA=*value*&gt;)&gt;\",\"type\":\"standaloneOrValue\",\"arguments\":[{\"name\":\"TYPE=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the type of confidence limit\",\"help\":\"TYPE=LOWER | UPPER | TWOSIDED\",\"type\":\"choice\"},{\"name\":\"ALPHA=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the default confidence level to compute confidence limits\",\"help\":\"ALPHA=*value*\",\"type\":\"value\"}]},{\"name\":\"CINFILL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the color for the area inside the upper and lower control limits\",\"help\":\"CINFILL=*color* | EMPTY | NONE\",\"type\":\"color\"},{\"name\":\"CLIPFACTOR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"requests clipping of extreme points on the control chart\",\"help\":\"CLIPFACTOR=*factor*\",\"type\":\"value\"},{\"name\":\"CLIPLEGEND=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the label for the legend that indicates the number of clipped points when the CLIPFACTOR= option is used\",\"help\":\"CLIPLEGEND='*label*'\",\"type\":\"value\"},{\"name\":\"CLIPSUBCHAR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a substitution character (such as #) for the label provided with the CLIPLEGEND= option\",\"help\":\"CLIPSUBCHAR='*character*'\",\"type\":\"value\"},{\"name\":\"COUT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the color for the plotting symbols and the portions of connecting line segments that lie outside the control limits\",\"help\":\"COUT&lt;=*color*&gt;\",\"type\":\"standaloneOrValue\"},{\"name\":\"CSTAROUT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a color for those portions of the outlines of stars (requested with the STARVERTICES= option) that exceed the inner or outer circles\",\"help\":\"CSTAROUT&lt;=*color*&gt;\",\"type\":\"standaloneOrValue\"},{\"name\":\"DATAUNIT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"enables you to use percents or proportions as the values for processes when you are reading a DATA= input data set\",\"help\":\"DATAUNIT=PERCENT | PROPORTION\",\"type\":\"choice\"},{\"name\":\"DISCRETE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that numeric subgroup variable values be treated as discrete values, so that each tick value on the default subgroup axis corresponds to a unique subgroup variable value\",\"type\":\"standalone\"},{\"name\":\"EXCHART\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"creates a control chart only when exceptions occur, specifically, when the control limits are exceeded or when any of the tests requested with the TESTS= option or the TESTS2= option are positive\",\"type\":\"standalone\"},{\"name\":\"FRONTREF\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"draws reference lines specified with the HREF= and VREF= options in front of box-and-whiskers plots\",\"type\":\"standalone\"},{\"name\":\"GRID\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"adds a grid to the control chart\",\"type\":\"standalone\"},{\"name\":\"HAXIS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies tick mark values for the horizontal (subgroup) axis\",\"help\":\"HAXIS=*values* | AXIS*n*\",\"type\":\"value\"},{\"name\":\"HOFFSET=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the length of the offset at each end of the horizontal axis\",\"help\":\"HOFFSET=*value*\",\"type\":\"value\"},{\"name\":\"HREF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"draws reference lines perpendicular to the horizontal (subgroup) axis on the primary chart\",\"help\":\"HREF=*values*\",\"type\":\"value\"},{\"name\":\"HREF2DATA=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"draws reference lines perpendicular to the horizontal (subgroup) axis on the secondary chart\",\"help\":\"HREF2DATA=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"HREFDATA=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"draws reference lines perpendicular to the horizontal (subgroup) axis on the primary chart\",\"help\":\"HREFDATA=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"HREFLABELS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies labels for the reference lines requested by the HREF= option\",\"help\":\"HREFLABELS='*label1*'...'*labeln*'\",\"type\":\"value\"},{\"name\":\"HREFLABPOS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the vertical position of the HREFLABEL= and HREF2LABEL= labels\",\"help\":\"HREFLABPOS=*n*\",\"type\":\"value\",\"arguments\":[{\"name\":\"1\",\"followsDelimiter\":\"/\",\"description\":\"positions along top of subplot area\",\"type\":\"standalone\"},{\"name\":\"2\",\"followsDelimiter\":\"/\",\"description\":\"staggers from top to bottom of subplot area\",\"type\":\"standalone\"},{\"name\":\"3\",\"followsDelimiter\":\"/\",\"description\":\"positions along bottom of subplot area\",\"type\":\"standalone\"},{\"name\":\"4\",\"followsDelimiter\":\"/\",\"description\":\"staggers from bottom to top of subplot area\",\"type\":\"standalone\"}]},{\"name\":\"INDEPENDENTZONES\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"INDEPZONES\"],\"description\":\"specifies that the widths of the zones requested with the ZONES option be computed independently above and below the center line of the chart, so that the width of each zone is one-third of the difference between the process mean and the control limit on its side of the chart\",\"type\":\"standalone\"},{\"name\":\"INTERVAL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the natural time interval between consecutive subgroup positions when a time, date, or datetime format is associated with a numeric subgroup variable\",\"help\":\"INTERVAL=DAY | DTDAY | HOUR | MINUTE | MONTH | QTR | SECOND\",\"type\":\"choice\"},{\"name\":\"INTSTART=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the starting value for a numeric horizontal axis, when a date, time, or datetime format is associated with the subgroup variable\",\"help\":\"INTSTART=*value*\",\"type\":\"value\"},{\"name\":\"LANEY\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"computes control limits for a chart for attributes as recommended by Laney\",\"type\":\"standalone\"},{\"name\":\"LCLLABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a label for the lower control limit in the primary chart\",\"help\":\"LCLLABEL='*label*'\",\"type\":\"value\"},{\"name\":\"LIMITN=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies either a fixed or varying nominal sample size for the control limits\",\"help\":\"LIMITN=*n* | VARYING\",\"type\":\"value\"},{\"name\":\"LIMLABSUBCHAR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a substitution character (such as #) for labels provided as quoted strings with the LCLLABEL=, LCLLABEL2=, UCLLABEL=, UCLLABEL2=, CSYMBOL=, NPSYMBOL=, PSYMBOL=, RSYMBOL=, SSYMBOL=, USYMBOL=, and XSYMBOL= options\",\"help\":\"LIMLABSUBCHAR='*character*'\",\"type\":\"value\"},{\"name\":\"MAXPANELS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the maximum number of pages or screens for a chart\",\"help\":\"MAXPANELS=*n*\",\"type\":\"value\"},{\"name\":\"MISSBREAK\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"determines how subgroups are formed when observations are read from a DATA= data set and a character subgroup-variable is provided\",\"type\":\"standalone\"},{\"name\":\"NDECIMAL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the number of decimal digits in the default labels for the control limits and the central line in the primary chart\",\"help\":\"NDECIMAL=*n*\",\"type\":\"value\"},{\"name\":\"NEEDLES\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"connects plotted points to the central line with vertical line segments (needles)\",\"type\":\"standalone\"},{\"name\":\"NMARKERS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"identifies a plotted subgroup summary statistic with a special symbol marker (character) when the corresponding subgroup sample size is not equal to the nominal control limit sample size n\",\"type\":\"standalone\"},{\"name\":\"NO3SIGMACHECK\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses the check for 3σ limits when tests for special causes are requested\",\"type\":\"standalone\"},{\"name\":\"NOBYREF\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that the reference line information in an HREF=, HREF2=, VREF=, or VREF2= data set is to be applied uniformly to charts created for all the BY groups in the input data set (DATA=, HISTORY=, or TABLE=)\",\"type\":\"standalone\"},{\"name\":\"NOCHART\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses the creation of the chart\",\"type\":\"standalone\"},{\"name\":\"NOCONNECT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses line segments that connect points on the chart\",\"type\":\"standalone\"},{\"name\":\"NOCTL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses the display of the central line in a primary chart\",\"type\":\"standalone\"},{\"name\":\"NOHLABEL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses the label for the horizontal (subgroup) axis\",\"type\":\"standalone\"},{\"name\":\"NOLCL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses the display of the lower control limit in a primary chart\",\"type\":\"standalone\"},{\"name\":\"NOLEGEND\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses the default legend for subgroup sample sizes, which appears by default below the chart\",\"type\":\"standalone\"},{\"name\":\"NOLIMIT0\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses the display of a fixed lower control limit if and only if the value of the limit is zero\",\"type\":\"standalone\"},{\"name\":\"NOLIMIT1\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses the display of a fixed upper control limit on a p chart if and only if the value of the control limit is 1 (or 100%), or on an np chart if and only if the value of the control limit is n\",\"type\":\"standalone\"},{\"name\":\"NOLIMITLABEL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses the default labels for the control limits and central lines\",\"type\":\"standalone\"},{\"name\":\"NOLIMITS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses the display of control limits\",\"type\":\"standalone\"},{\"name\":\"NOLIMITSLEGEND\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses the legend for the control limits, which appears by default in the upper right corner of the chart\",\"type\":\"standalone\"},{\"name\":\"NOOVERLAYLEGEND\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses the legend for overlay variables which is displayed by default when the OVERLAY= or OVERLAY2= option is specified\",\"type\":\"standalone\"},{\"name\":\"NOREADLIMITS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that the control limits for each process listed in the chart statement not be read from the LIMITS= data set specified in the PROC SHEWHART statement\",\"type\":\"standalone\"},{\"name\":\"NOTESTACROSS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that tests for special causes requested with the TESTS= or TESTS2= options not be applied across the boundaries of phases (blocks of consecutive subgroups) determined by the READPHASES= option and the variable _PHASE_ in the input data set\",\"type\":\"standalone\"},{\"name\":\"NOTICKREP\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"applies to character-valued subgroup-variables and specifies that only the first occurrence of repeated, adjacent subgroup values is to be labeled on the horizontal axis\",\"type\":\"standalone\"},{\"name\":\"NOTRUNC\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"overrides the vertical axis truncation at zero, which is applied by default to c charts, moving range charts, np charts, p charts, R charts, s charts, and u charts\",\"type\":\"standalone\"},{\"name\":\"NOUCL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses the display of the upper control limit in a primary chart\",\"type\":\"standalone\"},{\"name\":\"NPANELPOS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the number of subgroup positions per panel on each chart\",\"help\":\"NPANELPOS=*n*\",\"type\":\"value\"},{\"name\":\"OUTFILL\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"COUTFILL\"],\"description\":\"fills the areas outside the control limits that lie between the connected points and the control limits and are bounded by connecting lines\",\"type\":\"standalone\"},{\"name\":\"OUTHISTORY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"creates an output data set that contains the subgroup summary statistics\",\"help\":\"OUTHISTORY=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"OUTINDEX=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the value of the _INDEX_ variable in the OUTLIMITS= output data set\",\"help\":\"OUTINDEX='*label*'\",\"type\":\"value\"},{\"name\":\"OUTLABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"labels each point that falls outside the control limits on the primary chart with the value plotted for that subgroup or with the value of variable in the input data set\",\"help\":\"OUTLABEL=VALUE | (*variable*)\",\"type\":\"value\"},{\"name\":\"OUTLIMITS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"creates an output data set that saves the control limits\",\"help\":\"OUTLIMITS=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"OUTPHASE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the value of the _PHASE_ variable in the OUTHISTORY= data set\",\"help\":\"OUTPHASE='*label*'\",\"type\":\"value\"},{\"name\":\"OUTTABLE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"creates an output SAS data set that saves the information plotted on the chart, including the subgroup variable values and their corresponding summary statistics and control limits\",\"help\":\"OUTTABLE=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"OVERLAY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies variables to be overlaid on the primary control chart\",\"help\":\"OVERLAY=(*variable-list*)\",\"type\":\"value\"},{\"name\":\"OVERLAY2=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies variables to be overlaid on a secondary control chart\",\"help\":\"OVERLAY2=(*variable-list*)\",\"type\":\"value\"},{\"name\":\"OVERLAY2ID=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies variables whose formatted values are used to label points on secondary chart overlays\",\"help\":\"OVERLAY2ID=(*variable-list*)\",\"type\":\"value\"},{\"name\":\"OVERLAYID=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies variables whose formatted values are used to label points on primary chart overlays\",\"help\":\"OVERLAYID=(*variable-list*)\",\"type\":\"value\"},{\"name\":\"OVERLAYLEGLAB=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the label displayed to the left of the legend for overlays requested with the OVERLAY= or OVERLAY2= option\",\"help\":\"OVERLAYLEGLAB='*label*'\",\"type\":\"value\"},{\"name\":\"P0=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a known (standard) value p0 for the proportion of nonconforming items produced by the process\",\"help\":\"P0=*value*\",\"type\":\"value\"},{\"name\":\"PAGENUM=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the form of the label used for pagination; for example, 'Page #' or 'Page # of #'\",\"help\":\"PAGENUM='*string*'\",\"type\":\"value\"},{\"name\":\"PAGENUMPOS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies where to position the page number requested with the PAGENUM= option\",\"help\":\"PAGENUMPOS=TL | TR | BL | BR | TL100 | TR100 | BL0 | BR0\",\"type\":\"choice\",\"arguments\":[{\"name\":\"TL\",\"followsDelimiter\":\"/\",\"description\":\"specifies the top left\",\"type\":\"standalone\"},{\"name\":\"TR\",\"followsDelimiter\":\"/\",\"description\":\"specifies the top right\",\"type\":\"standalone\"},{\"name\":\"BL\",\"followsDelimiter\":\"/\",\"description\":\"specifies the bottom left\",\"type\":\"standalone\"},{\"name\":\"BR\",\"followsDelimiter\":\"/\",\"description\":\"specifies the bottom right\",\"type\":\"standalone\"},{\"name\":\"TL100\",\"followsDelimiter\":\"/\",\"description\":\"specifies the very top left\",\"type\":\"standalone\"},{\"name\":\"TR100\",\"followsDelimiter\":\"/\",\"description\":\"specifies the very top right\",\"type\":\"standalone\"},{\"name\":\"BL0\",\"followsDelimiter\":\"/\",\"description\":\"specifies the very bottom left\",\"type\":\"standalone\"},{\"name\":\"BR0\",\"followsDelimiter\":\"/\",\"description\":\"specifies the very bottom right\",\"type\":\"standalone\"}]},{\"name\":\"PHASEBREAK\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that the last point in a phase (defined as a block of consecutive subgroups with the same value of the _PHASE_ variable) is not to be connected to the first point in the next phase\",\"type\":\"standalone\"},{\"name\":\"PHASELABTYPE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies how lengthy _PHASE_ variable values are displayed when there is insufficient space in the legend requested with the PHASELEGEND option\",\"help\":\"PHASELABTYPE=SCALED | TRUNCATED | *height*\",\"type\":\"value\"},{\"name\":\"PHASELEGEND\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"identifies the phases requested with the READPHASES= option in a legend across the top of the chart\",\"type\":\"standalone\"},{\"name\":\"PHASELIMITS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that the control limits and center line be labeled for each phase specified with the READPHASES= option, providing the limits are constant within that phase\",\"type\":\"standalone\"},{\"name\":\"PHASEREF\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"delineates the phases specified with the READPHASES= option with reference lines drawn vertically\",\"type\":\"standalone\"},{\"name\":\"PHASEVARLABEL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"displays the label associated with the variable _PHASE_ above the phase values in the phase legend\",\"type\":\"standalone\"},{\"name\":\"PHASEVALSEP\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"displays vertical lines separating phase values in the phase legend\",\"type\":\"standalone\"},{\"name\":\"PROBLIMITS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"requests that discrete-valued probability limits be computed for attribute charts\",\"help\":\"PROBLIMITS=DISCRETE\",\"type\":\"value\"},{\"name\":\"PSYMBOL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a label for the central line in a p chart\",\"help\":\"PSYMBOL=P | PBAR | PPM | PPM2 | P0 | '*label*'\",\"type\":\"value\",\"arguments\":[{\"name\":\"P\",\"followsDelimiter\":\"/\",\"description\":\"P\",\"type\":\"standalone\"},{\"name\":\"PBAR\",\"followsDelimiter\":\"/\",\"description\":\"P bar\",\"type\":\"standalone\"},{\"name\":\"PPM\",\"followsDelimiter\":\"/\",\"description\":\"P prime\",\"type\":\"standalone\"},{\"name\":\"PPM2\",\"followsDelimiter\":\"/\",\"description\":\"P prime prime\",\"type\":\"standalone\"},{\"name\":\"P0\",\"followsDelimiter\":\"/\",\"description\":\"P sub 0\",\"type\":\"standalone\"}]},{\"name\":\"RANGES\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"estimates the process standard deviation for a boxplot using subgroup ranges\",\"type\":\"standalone\"},{\"name\":\"READALPHA\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that the variable _ALPHA_, rather than the variable _SIGMAS_, be read from a LIMITS= data set when both variables are available in the data set\",\"type\":\"standalone\"},{\"name\":\"READINDEX=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"reads one or more sets of control limits from a LIMITS= data set (specified in the PROC SHEWHART statement) for each process listed in the chart statement\",\"help\":\"READINDEX=*value-list* | ALL\",\"type\":\"value\"},{\"name\":\"READPHASES=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"selects blocks of consecutive observations to be read from the input data set\",\"help\":\"READPHASES=*value-list* | ALL\",\"type\":\"value\"},{\"name\":\"REPEAT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that the horizontal axis of a chart that spans multiple pages be arranged so that the last subgroup position on a page is repeated as the first subgroup position on the next page\",\"type\":\"standalone\"},{\"name\":\"SIGMAS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the width of the control limits in terms of the multiple k of the standard error of the proportion nonconforming statistic plotted on the chart\",\"help\":\"SIGMAS=*k*\",\"type\":\"value\"},{\"name\":\"SKIPHLABELS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the number n of consecutive tick mark labels, beginning with the second tick mark label, that are thinned (not displayed) on the horizontal (subgroup) axis\",\"help\":\"SKIPHLABELS=*n*\",\"type\":\"value\"},{\"name\":\"STARBDRADIUS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the radius of an imaginary circle that is the outer bound for vertices of stars requested with the STARVERTICES= option\",\"help\":\"STARBDRADIUS=*value*\",\"type\":\"value\"},{\"name\":\"STARCIRCLES=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies reference circles that are superimposed on the stars requested with the STARVERTICES= option\",\"help\":\"STARCIRCLES=*values*\",\"type\":\"value\"},{\"name\":\"STARINRADIUS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the inner radius of stars requested with the STARVERTICES= option\",\"help\":\"STARINRADIUS=*value*\",\"type\":\"value\"},{\"name\":\"STARFILL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies colors for filling the interior of stars requested with the STARVERTICES= option\",\"help\":\"STARFILL=*variable*\",\"type\":\"value\"},{\"name\":\"STARLABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a method for labeling the vertices of stars requested with the STARVERTICES= option\",\"help\":\"STARLABEL=ALL | FIRST | HIGH | LOW | OUT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ALL\",\"followsDelimiter\":\"/\",\"description\":\"labels all vertices of all stars\",\"type\":\"standalone\"},{\"name\":\"FIRST\",\"followsDelimiter\":\"/\",\"description\":\"labels all vertices of the leftmost star\",\"type\":\"standalone\"},{\"name\":\"HIGH\",\"followsDelimiter\":\"/\",\"description\":\"labels only vertices that lie outside the outer circle\",\"type\":\"standalone\"},{\"name\":\"LOW\",\"followsDelimiter\":\"/\",\"description\":\"labels only vertices that lie inside the inner circle\",\"type\":\"standalone\"},{\"name\":\"OUT\",\"followsDelimiter\":\"/\",\"description\":\"labels only vertices that lie inside the inner circle or outside the outer circle\",\"type\":\"standalone\"}]},{\"name\":\"STARLEGEND=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the style of the legend used to identify the vertices of stars requested with the STARVERTICES= option\",\"help\":\"STARLEGEND=CLOCK | CLOCK0 | DEGREES | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"CLOCK\",\"followsDelimiter\":\"/\",\"description\":\"identifies the vertex variables by their positions on the clock (starting with 12:00)\",\"type\":\"standalone\"},{\"name\":\"CLOCK0\",\"followsDelimiter\":\"/\",\"description\":\"identifies the vertex variables by their positions on the clock (starting with 0:00)\",\"type\":\"standalone\"},{\"name\":\"DEGREES\",\"followsDelimiter\":\"/\",\"description\":\"identifies the vertex variables by angles in degrees, with 0 degrees corresponding to 12 o'clock\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"followsDelimiter\":\"/\",\"description\":\"suppresses the legend\",\"type\":\"standalone\"}]},{\"name\":\"STARLEGENDLAB=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the label displayed to the left of the legend for stars requested with the STARLEGEND= option\",\"help\":\"STARLEGENDLAB='*label*'\",\"type\":\"value\"},{\"name\":\"STARS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies colors for the outlines of stars requested with the STARVERTICES= option\",\"help\":\"STARS=*variable*\",\"type\":\"value\"},{\"name\":\"STARSPECS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the method used to standardize the star vertex variables listed with the STARVERTICES= option\",\"help\":\"STARSPECS=*value*|*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"STARSTART=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the vertex angle for the first variable in the STARVERTICES= list\",\"help\":\"STARSTART=*value*\",\"type\":\"value\"},{\"name\":\"STARTYPE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the style of the stars requested with the STARVERTICES= option\",\"help\":\"STARTYPE=CORONA | POLYGON | RADIAL | SPOKE | WEDGE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"CORONA\",\"followsDelimiter\":\"/\",\"description\":\"specifies a polygon with star-vertices emanating from the inner circle\",\"type\":\"standalone\"},{\"name\":\"POLYGON\",\"followsDelimiter\":\"/\",\"description\":\"specifies a closed polygon\",\"type\":\"standalone\"},{\"name\":\"RADIAL\",\"followsDelimiter\":\"/\",\"description\":\"draws rays emanating from the center\",\"type\":\"standalone\"},{\"name\":\"SPOKE\",\"followsDelimiter\":\"/\",\"description\":\"draws rays emanating from the inner circle\",\"type\":\"standalone\"},{\"name\":\"WEDGE\",\"followsDelimiter\":\"/\",\"description\":\"specifies a closed polygon with rays from the center to each vertex\",\"type\":\"standalone\"}]},{\"name\":\"STARVERTICES=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"superimposes a star (polygon) at each point on the primary chart\",\"help\":\"STARVERTICES=*variable* | (*variable-list*)\",\"type\":\"value\"},{\"name\":\"SUBGROUPN=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the subgroup sample sizes as a constant value or as the values of a variable in the DATA= data set\",\"help\":\"SUBGROUPN=*value* | *variable*\",\"type\":\"value\"},{\"name\":\"SYMBOLLEGEND=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"controls the legend for the levels of a symbol-variable\",\"help\":\"SYMBOLLEGEND=LEGENDn | NONE\",\"type\":\"choice\"},{\"name\":\"SYMBOLORDER=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the order in which symbols are assigned for levels of symbol-variable\",\"help\":\"SYMBOLORDER=DATA | INTERNAL | FORMATTED\",\"type\":\"choice\"},{\"name\":\"TABLES\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"creates a basic table of the subgroup values, the subgroup sample sizes, the subgroup summary statistics, and the upper and lower control limits\",\"help\":\"TABLES &lt;(EXCEPTIONS)&gt;\",\"type\":\"standaloneOrValue\"},{\"name\":\"TABLEALL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"tabulates all the information about the control chart\",\"help\":\"TABLEALL &lt;(EXCEPTIONS)&gt;\",\"type\":\"standaloneOrValue\"},{\"name\":\"TABLECENTRAL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"augments the basic table created by the TABLES option with columns for the values of the central lines\",\"help\":\"TABLECENTRAL &lt;(EXCEPTIONS)&gt;\",\"type\":\"standaloneOrValue\"},{\"name\":\"TABLEID\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"augments the basic table created by the TABLES option with a column for each of the ID variables\",\"help\":\"TABLEID &lt;(EXCEPTIONS)&gt;\",\"type\":\"standaloneOrValue\"},{\"name\":\"TABLELEGEND\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"adds a legend to the basic table created by the TABLE option\",\"help\":\"TABLELEGEND &lt;(EXCEPTIONS)&gt;\",\"type\":\"standaloneOrValue\"},{\"name\":\"TABLEOUTLIM\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"augments the basic table created by the TABLE option with columns indicating which control limits (if any) are exceeded\",\"help\":\"TABLEOUTLIM &lt;(EXCEPTIONS)&gt;\",\"type\":\"standaloneOrValue\"},{\"name\":\"TABLETESTS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"augments the basic table created by the TABLES option with a column that indicates which of the tests for special causes (requested with the TESTS= option) are positive\",\"help\":\"TABLETESTS &lt;(EXCEPTIONS)&gt;\",\"type\":\"standaloneOrValue\"},{\"name\":\"TARGET=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"provides target values used to compute the capability index Cpm, which is saved in the OUTLIMITS= data set\",\"help\":\"TARGET=*value-list*\",\"type\":\"value\"},{\"name\":\"TEST2RESET=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"enables tests for special causes to be reset in a secondary chart\",\"help\":\"TEST2RESET=*variable* | *value*\",\"type\":\"value\"},{\"name\":\"TEST2RUN=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the length of the pattern for Test 2 requested with the TESTS= and TESTS2= options\",\"help\":\"TEST2RUN=7 | 8 | 9 | 11 | 14 | 20\",\"type\":\"choice\",\"arguments\":[{\"name\":\"7\",\"followsDelimiter\":\"/\",\"description\":\"specifies a run-length of 7 in a row on one side of the central line\",\"type\":\"standalone\"},{\"name\":\"8\",\"followsDelimiter\":\"/\",\"description\":\"specifies a run-length of 8 in a row on one side of the central line\",\"type\":\"standalone\"},{\"name\":\"9\",\"followsDelimiter\":\"/\",\"description\":\"specifies a run-length of 9 in a row on one side of the central line\",\"type\":\"standalone\"},{\"name\":\"11\",\"followsDelimiter\":\"/\",\"description\":\"specifies at least 10 out of 11 in a row on one side of the central line\",\"type\":\"standalone\"},{\"name\":\"14\",\"followsDelimiter\":\"/\",\"description\":\"specifies at least 12 out of 14 in a row on one side of the central line\",\"type\":\"standalone\"},{\"name\":\"20\",\"followsDelimiter\":\"/\",\"description\":\"specifies at least 16 out of 20 in a row on one side of the central line\",\"type\":\"standalone\"}]},{\"name\":\"TEST3RUN=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the length of the pattern for Test 3 requested with the TESTS= and TESTS2= options\",\"help\":\"TEST3RUN=6 | 7 | 8\",\"type\":\"choice\",\"arguments\":[{\"name\":\"6\",\"followsDelimiter\":\"/\",\"description\":\"searches for a pattern of steadily increasing or decreasing values with length at least 6\",\"type\":\"standalone\"},{\"name\":\"7\",\"followsDelimiter\":\"/\",\"description\":\"searches for a pattern of steadily increasing or decreasing values with length at least 7\",\"type\":\"standalone\"},{\"name\":\"8\",\"followsDelimiter\":\"/\",\"description\":\"searches for a pattern of steadily increasing or decreasing values with length at least 8\",\"type\":\"standalone\"}]},{\"name\":\"TESTACROSS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that tests for special causes requested with the TESTS= or TESTS2= options be applied without regard to phases (blocks of consecutive subgroups) determined by the READPHASES= option and the variable _PHASE_ in the input data set\",\"type\":\"standalone\"},{\"name\":\"TESTLABBOX\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"requests that labels for subgroups with positive tests for special causes are positioned so they do not overlap\",\"type\":\"standalone\"},{\"name\":\"TESTLABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"provides labels for points at which one of the tests for special causes (requested with the TESTS= or TESTS2= option) is positive\",\"help\":\"TESTLABEL='*label*' | (*variable*) | TESTINDEX | SPACE | NONE\",\"type\":\"value\"},{\"name\":\"TESTLABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a label for points at which the test for special causes requested with the index n in a TESTS= or TESTS2= list is positive\",\"help\":\"TESTLABEL*n*='*label*'\",\"type\":\"value\"},{\"name\":\"TESTNMETHOD=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"applies the tests for special causes requested with the TESTS= and TESTS2= options to standardized test statistics when the subgroup sample sizes are not constant\",\"help\":\"TESTNMETHOD=STANDARDIZE\",\"type\":\"value\"},{\"name\":\"TESTOVERLAP\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"applies tests for special causes (requested with the TESTS= or TESTS2= option) to overlapping patterns of points\",\"type\":\"standalone\"},{\"name\":\"TESTRESET=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"enables tests for special causes to be reset in a primary chart\",\"help\":\"TESTRESET=*variable* | *value*\",\"type\":\"value\"},{\"name\":\"TESTS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"requests one or more tests for special causes, which are also known as runs tests, pattern tests, and Western Electric rules\",\"help\":\"TESTS=*index-list*\",\"type\":\"value\",\"arguments\":[{\"name\":\"1\",\"followsDelimiter\":\"/\",\"description\":\"specifies one point beyond Zone A (outside the control limits)\",\"type\":\"standalone\"},{\"name\":\"2\",\"followsDelimiter\":\"/\",\"description\":\"specifies nine points in a row in Zone C or beyond on one side of the central line\",\"type\":\"standalone\"},{\"name\":\"3\",\"followsDelimiter\":\"/\",\"description\":\"specifies six points in a row steadily increasing\",\"type\":\"standalone\"},{\"name\":\"4\",\"followsDelimiter\":\"/\",\"description\":\"specifies fourteen points in a row alternating up and down\",\"type\":\"standalone\"}]},{\"name\":\"TESTS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies customized tests for special causes for the primary control chart to search for k out of m points in a row in the interval (a,b)\",\"help\":\"TESTS=T(K=*k* M=*m* LOWER=*a* UPPER=*b* SCHEME=*scheme* CODE=*character* LABEL=*'label'* LEGEND=*'legend'*)\",\"type\":\"value\",\"arguments\":[{\"name\":\"K=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the number of points\",\"help\":\"K=*k*\",\"type\":\"value\"},{\"name\":\"M=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the number of consecutive points\",\"help\":\"M=*m*\",\"type\":\"value\"},{\"name\":\"LOWER=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the lower limit of interval (a,b)\",\"help\":\"LOWER=*value*\",\"type\":\"value\"},{\"name\":\"UPPER=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the upper limit of interval (a,b)\",\"help\":\"UPPER=*value*\",\"type\":\"value\"},{\"name\":\"SCHEME=\",\"followsDelimiter\":\"/\",\"description\":\"specifies a one-sided scheme using (a,b)\",\"help\":\"SCHEME=ONESIDED\",\"type\":\"value\"},{\"name\":\"SCHEME=\",\"followsDelimiter\":\"/\",\"description\":\"specifies a two-sided scheme using (a,b) union (-b,-a)\",\"help\":\"SCHEME=TWOSIDED\",\"type\":\"value\"},{\"name\":\"CODE=\",\"followsDelimiter\":\"/\",\"description\":\"specifies an identifier for test (A--H)\",\"help\":\"CODE=*character*\",\"type\":\"value\"},{\"name\":\"LABEL=\",\"followsDelimiter\":\"/\",\"description\":\"specifies a label for points if signal\",\"help\":\"LABEL=*'label'*\",\"type\":\"value\"},{\"name\":\"LEGEND=\",\"followsDelimiter\":\"/\",\"description\":\"specifies a legend used with the TABLELEGEND option\",\"help\":\"LEGEND=*'legend'*\",\"type\":\"value\"}]},{\"name\":\"TESTS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies customized tests for special causes for the primary control chart to search for k points in a row increasing or decreasing\",\"help\":\"TESTS=M(K=*k* DIR=*direction* CODE=*character* LABEL=*'label'* LEGEND=*'legend'*)\",\"type\":\"value\",\"arguments\":[{\"name\":\"K=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the number of points\",\"help\":\"K=*k*\",\"type\":\"value\"},{\"name\":\"DIR=\",\"followsDelimiter\":\"/\",\"description\":\"specifies an increasing pattern\",\"help\":\"DIR=INC\",\"type\":\"value\"},{\"name\":\"DIR=\",\"followsDelimiter\":\"/\",\"description\":\"specifies a decreasing pattern\",\"help\":\"DIR=DEC\",\"type\":\"value\"},{\"name\":\"CODE=\",\"followsDelimiter\":\"/\",\"description\":\"specifies an identifier for test (A--H)\",\"help\":\"CODE=*character*\",\"type\":\"value\"},{\"name\":\"LABEL=\",\"followsDelimiter\":\"/\",\"description\":\"specifies a label for points if signal\",\"help\":\"LABEL=*'label'*\",\"type\":\"value\"},{\"name\":\"LEGEND=\",\"followsDelimiter\":\"/\",\"description\":\"specifies a legend used with the TABLELEGEND option\",\"help\":\"LEGEND=*'legend'*\",\"type\":\"value\"}]},{\"name\":\"TESTS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies customized tests for special causes for the primary control chart to search for a statistically significant linear trend over a window of k points\",\"help\":\"TESTS=S(K=*k* CLEV=*α* FORM=*character* CODE=*character* LABEL=*'label'* LEGEND=*'legend'*)\",\"type\":\"value\",\"arguments\":[{\"name\":\"K=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the number of points in sliding window (k > 2)\",\"help\":\"K=*k*\",\"type\":\"value\"},{\"name\":\"CLEV=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the Type I (false positive) error rate (0 < α ≤ 0.5)\",\"help\":\"CLEV=*α*\",\"type\":\"value\"},{\"name\":\"FORM=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the type of trend test (P=parametric, N=nonparametric)\",\"help\":\"FORM=*character*\",\"type\":\"value\"},{\"name\":\"CODE=\",\"followsDelimiter\":\"/\",\"description\":\"specifies an identifier for test (A--H)\",\"help\":\"CODE=*character*\",\"type\":\"value\"},{\"name\":\"LABEL=\",\"followsDelimiter\":\"/\",\"description\":\"specifies a label for points if signal\",\"help\":\"LABEL=*'label'*\",\"type\":\"value\"},{\"name\":\"LEGEND=\",\"followsDelimiter\":\"/\",\"description\":\"specifies a legend used with the TABLELEGEND option\",\"help\":\"LEGEND=*'legend'*\",\"type\":\"value\"}]},{\"name\":\"TOTPANELS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the total number of panels to be used to display the chart\",\"help\":\"TOTPANELS=*n*\",\"type\":\"value\"},{\"name\":\"TYPE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the value of the _TYPE_ variable in the OUTLIMITS= data set, which in turn indicates whether certain parameter variables in this data set represent estimates or standard (known) values\",\"help\":\"TYPE=ESTIMATE | STANDARD\",\"type\":\"choice\"},{\"name\":\"UCLLABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a label for the upper control limit in the primary chart\",\"help\":\"UCLLABEL='*label*'\",\"type\":\"value\"},{\"name\":\"VAXIS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies major tick mark values for the vertical axis of a primary chart\",\"help\":\"VAXIS=*value-list* | AXIS*n*\",\"type\":\"value\"},{\"name\":\"VFORMAT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a format to be used for displaying tick mark labels on the vertical axis of a primary chart\",\"help\":\"VFORMAT=*format*\",\"type\":\"value\"},{\"name\":\"VFORMAT2=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a format to be used for displaying tick mark labels on the vertical axis of a secondary chart\",\"help\":\"VFORMAT2=*format*\",\"type\":\"value\"},{\"name\":\"VOFFSET=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the length of the offset at each end of the vertical axis\",\"help\":\"VOFFSET=*value*\",\"type\":\"value\"},{\"name\":\"VREF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"draws reference lines perpendicular to the vertical axis on the primary chart\",\"help\":\"VREF=*value-list* | *SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"VREFLABELS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies labels for the reference lines requested by the VREF= option\",\"help\":\"VREFLABELS='*label1*'...'*labeln*'\",\"type\":\"value\"},{\"name\":\"VREFLABPOS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the horizontal position of the VREFLABELS= and VREF2LABELS= labels\",\"help\":\"VREFLABPOS=1 | 2 | 3\",\"type\":\"choice\",\"arguments\":[{\"name\":\"1\",\"followsDelimiter\":\"/\",\"description\":\"left-justifies in subplot area\",\"type\":\"standalone\"},{\"name\":\"2\",\"followsDelimiter\":\"/\",\"description\":\"right-justifies in subplot area\",\"type\":\"standalone\"},{\"name\":\"3\",\"followsDelimiter\":\"/\",\"description\":\"left-justifies in right margin\",\"type\":\"standalone\"}]},{\"name\":\"VZERO\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"forces the origin to be included in the vertical axis for a primary chart\",\"type\":\"standalone\"},{\"name\":\"VZERO2\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"forces the origin to be included in the vertical axis for a secondary chart\",\"type\":\"standalone\"},{\"name\":\"WESTGARD=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"requests that one or more of the Westgard rules (tests for special causes) be applied\",\"help\":\"WESTGARD=*index-list*\",\"type\":\"value\",\"arguments\":[{\"name\":\"1\",\"followsDelimiter\":\"/\",\"description\":\"specifies one point in Zone A or beyond\",\"type\":\"standalone\"},{\"name\":\"2\",\"followsDelimiter\":\"/\",\"description\":\"specifies one point beyond Zone A (outside the control limits)\",\"type\":\"standalone\"},{\"name\":\"3\",\"followsDelimiter\":\"/\",\"description\":\"specifies two points in a row in Zone A or beyond on the same side of the central line\",\"type\":\"standalone\"},{\"name\":\"4\",\"followsDelimiter\":\"/\",\"description\":\"specifies at least one point in Zone A or beyond on each side of the central line\",\"type\":\"standalone\"},{\"name\":\"5\",\"followsDelimiter\":\"/\",\"description\":\"specifies four points in a row in Zone B or beyond on the same side of the central line\",\"type\":\"standalone\"},{\"name\":\"6\",\"followsDelimiter\":\"/\",\"description\":\"specifies ten points in a row on the same side of the central line\",\"type\":\"standalone\"}]},{\"name\":\"YSCALE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"scales the vertical axis on a p chart in percent units\",\"help\":\"YSCALE=PERCENT\",\"type\":\"value\"},{\"name\":\"ZEROSTD\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that a control chart is to be constructed and displayed regardless of whether the estimated process standard deviation is zero\",\"help\":\"ZEROSTD&lt;=NOLIMITS&gt;\",\"type\":\"standaloneOrValue\"},{\"name\":\"ZONE2VALUES\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"labels R or s chart zones lines with their values\",\"type\":\"standalone\"},{\"name\":\"ZONELABELS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"adds the labels A, B, and C to zone lines requested with the ZONES or ZONEVALUES options\",\"type\":\"standalone\"},{\"name\":\"ZONES\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"adds lines to a primary chart that delineate zones A, B, and C for standard tests requested with the TESTS= option\",\"type\":\"standalone\"},{\"name\":\"ZONEVALPOS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the horizontal position of the ZONEVALUES= and ZONE2VALUES= labels\",\"help\":\"ZONEVALPOS=1 | 2 | 3\",\"type\":\"choice\",\"arguments\":[{\"name\":\"1\",\"followsDelimiter\":\"/\",\"description\":\"left-justifies in subplot area\",\"type\":\"standalone\"},{\"name\":\"2\",\"followsDelimiter\":\"/\",\"description\":\"right-justifies in subplot area\",\"type\":\"standalone\"},{\"name\":\"3\",\"followsDelimiter\":\"/\",\"description\":\"left-justifies in right margin\",\"type\":\"standalone\"}]},{\"name\":\"ZONEVALUES\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"labels the primary chart zones lines with their values\",\"type\":\"standalone\"},{\"name\":\"BLOCKREFTRANSPARENCY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"PHASEREFTRANSPARENCY=\",\"REFFILLTRANSPARENCY=\"],\"description\":\"specifies the wall fill transparency for blocks and phases when transparency is used in ODS Graphics output\",\"help\":\"BLOCKREFTRANSPARENCY=*value*\",\"type\":\"value\"},{\"name\":\"BOXTRANSPARENCY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the box fill transparency for box-and-whisker charts when transparency is used in ODS Graphics output\",\"help\":\"BOXTRANSPARENCY=*value*\",\"type\":\"value\"},{\"name\":\"INFILLTRANSPARENCY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the control limit infill transparency when transparency is used in ODS Graphics output\",\"help\":\"INFILLTRANSPARENCY=*value*\",\"type\":\"value\"},{\"name\":\"MARKERDISPLAY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a subset of subgroups to be plotted with markers on a primary chart that is not an R or s chart\",\"help\":\"MARKERDISPLAY=OOC | UPPER | LOWER | RUNSTEST\",\"type\":\"choice\",\"arguments\":[{\"name\":\"OOC\",\"followsDelimiter\":\"/\",\"description\":\"selects subgroups outside the control limits\",\"type\":\"standalone\"},{\"name\":\"UPPER\",\"followsDelimiter\":\"/\",\"description\":\"selects subgroups above the upper control limit\",\"type\":\"standalone\"},{\"name\":\"LOWER\",\"followsDelimiter\":\"/\",\"description\":\"selects subgroups below the lower control limit\",\"type\":\"standalone\"},{\"name\":\"RUNSTEST\",\"followsDelimiter\":\"/\",\"description\":\"selects subgroups that signal positive tests for special causes\",\"type\":\"standalone\"}]},{\"name\":\"MARKERDISPLAY2=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a subset of subgroups to be plotted with markers on an R or s chart\",\"help\":\"MARKERDISPLAY2=OOC | UPPER | LOWER | RUNSTEST\",\"type\":\"choice\",\"arguments\":[{\"name\":\"OOC\",\"followsDelimiter\":\"/\",\"description\":\"selects subgroups outside the control limits\",\"type\":\"standalone\"},{\"name\":\"UPPER\",\"followsDelimiter\":\"/\",\"description\":\"selects subgroups above the upper control limit\",\"type\":\"standalone\"},{\"name\":\"LOWER\",\"followsDelimiter\":\"/\",\"description\":\"selects subgroups below the lower control limit\",\"type\":\"standalone\"},{\"name\":\"RUNSTEST\",\"followsDelimiter\":\"/\",\"description\":\"selects subgroups that signal positive tests for special causes\",\"type\":\"standalone\"}]},{\"name\":\"MARKERLABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a variable whose values provide labels for the subgroups that are plotted with markers on a primary chart that is not an R or s chart\",\"help\":\"MARKERLABEL=(*variable*)\",\"type\":\"value\"},{\"name\":\"MARKERLABEL2=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a variable whose values provide labels for the subgroups that are plotted with markers on an R or s chart\",\"help\":\"MARKERLABEL2=(*variable*)\",\"type\":\"value\"},{\"name\":\"MARKERMISSINGGROUP=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies whether subgroups with missing symbol-variable values are plotted with a unique marker\",\"help\":\"MARKERMISSINGGROUP=TRUE | FALSE\",\"type\":\"choice\"},{\"name\":\"MARKERS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"plots subgroup points with markers\",\"type\":\"standalone\"},{\"name\":\"NOBLOCKREF\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"NOPHASEREF\",\"NOREF\"],\"description\":\"suppresses block and phase reference lines from ODS Graphics output\",\"type\":\"standalone\"},{\"name\":\"NOBLOCKREFFILL\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"NOPHASEREFFILL\",\"NOREFFILL\"],\"description\":\"suppresses the block and phase wall fills from ODS Graphics output\",\"type\":\"standalone\"},{\"name\":\"NOBOXFILLLEGEND\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"NOFILLLEGEND\",\"NOSTARFILLLEGEND\"],\"description\":\"suppresses the legend for the levels of a BOXFILL= or STARFILL= variable in ODS Graphics output\",\"type\":\"standalone\"},{\"name\":\"NOTRANSPARENCY\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"disables transparency in ODS Graphics output, so that all graph features are opaque\",\"type\":\"standalone\"},{\"name\":\"ODSFOOTNOTE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"adds a footnote to ODS Graphics output\",\"help\":\"ODSFOOTNOTE=FOOTNOTE | FOOTNOTE1 | '*string*'\",\"type\":\"value\"},{\"name\":\"ODSFOOTNOTE2=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"adds a secondary footnote to ODS Graphics output\",\"help\":\"ODSFOOTNOTE2=FOOTNOTE2 | '*string*'\",\"type\":\"value\"},{\"name\":\"ODSLEGENDEXPAND\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that legend entries contain all levels observed in the data\",\"type\":\"standalone\"},{\"name\":\"ODSTITLE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a title for ODS Graphics output\",\"help\":\"ODSTITLE=TITLE | TITLE1 | NONE | DEFAULT | LABELFMT | '*string*'\",\"type\":\"value\"},{\"name\":\"ODSTITLE2=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a secondary title for ODS Graphics output\",\"help\":\"ODSTITLE2=TITLE2 | '*string*'\",\"type\":\"value\"},{\"name\":\"OUTFILLTRANSPARENCY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the control limit outfill transparency when transparency is used in ODS Graphics output\",\"help\":\"OUTFILLTRANSPARENCY=*value*\",\"type\":\"value\"},{\"name\":\"OUTHIGHURL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a variable whose values are URLs to be associated with outlier points above the upper fence on a schematic box chart when ODS Graphics output is directed into HTML\",\"help\":\"OUTHIGHURL=*variable*\",\"type\":\"value\"},{\"name\":\"OUTLOWURL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a variable whose values are URLs to be associated with outlier points below the lower fence on a schematic box chart when ODS Graphics output is directed into HTML\",\"help\":\"OUTLOWURL=*variable*\",\"type\":\"value\"},{\"name\":\"OVERLAY2URL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies variables whose values are URLs to be associated with points on secondary chart overlays\",\"help\":\"OVERLAY2URL=(*variable-list*)\",\"type\":\"value\"},{\"name\":\"OVERLAYURL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies variables whose values are URLs to be associated with points on primary chart overlays\",\"help\":\"OVERLAYURL=(*variable-list*)\",\"type\":\"value\"},{\"name\":\"PHASEBOXLABELS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"draws phase labels as titles along the top of phase boxes\",\"type\":\"standalone\"},{\"name\":\"PHASEPOS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the vertical position of the phase legend\",\"help\":\"PHASEPOS=1 | 2 | 3 | 4\",\"type\":\"choice\",\"arguments\":[{\"name\":\"1\",\"followsDelimiter\":\"/\",\"description\":\"places at top of chart, offset from axis frame\",\"type\":\"standalone\"},{\"name\":\"2\",\"followsDelimiter\":\"/\",\"description\":\"places at top of chart, immediately above axis frame\",\"type\":\"standalone\"},{\"name\":\"3\",\"followsDelimiter\":\"/\",\"description\":\"places at bottom of chart, immediately above horizontal axis\",\"type\":\"standalone\"},{\"name\":\"4\",\"followsDelimiter\":\"/\",\"description\":\"places at bottom of chart, below horizontal axis label\",\"type\":\"standalone\"}]},{\"name\":\"PHASEREFLEVEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"enables you to associate phase reference lines (block reference lines) with either the innermost or the outermost level\",\"help\":\"PHASEREFLEVEL=INNER | OUTER | NONE\",\"type\":\"choice\"},{\"name\":\"QCSYMBOLS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies which set of symbol markers is used to plot points on a control chart\",\"help\":\"QCSYMBOLS=TRUE | FALSE\",\"type\":\"choice\"},{\"name\":\"SIMULATEQCFONT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"draws the central line labels using a simulated software font rather than a hardware font\",\"type\":\"standalone\"},{\"name\":\"STARTRANSPARENCY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the star fill transparency when transparency is used in ODS Graphics output\",\"help\":\"STARTRANSPARENCY=*value*\",\"type\":\"value\"},{\"name\":\"URL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies URLs as values of the specified character variable (or formatted values of a numeric variable) to associate with subgroup points on a primary control chart when ODS Graphics output is directed into HTML\",\"help\":\"URL=*variable*\",\"type\":\"value\"},{\"name\":\"URL2=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies URLs as values of the specified character variable (or formatted values of a numeric variable) to associate with subgroup points on a secondary control chart when ODS Graphics output is directed into HTML\",\"help\":\"URL2=*variable*\",\"type\":\"value\"},{\"name\":\"ANNOTATE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"ANNO=\"],\"description\":\"specifies an ANNOTATE= type data set that enhances a primary chart\",\"help\":\"ANNOTATE=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"BILEVEL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"arranges the Shewhart chart in two levels (rather than the default of one level) so that twice as much data can be displayed on a page or screen\",\"type\":\"standalone\"},{\"name\":\"CAXIS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the color for the axes and tick marks\",\"help\":\"CAXIS=*color*\",\"type\":\"color\"},{\"name\":\"CBLOCKLAB=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies fill colors for the frames that enclose the block-variable labels in a block legend\",\"help\":\"CBLOCKLAB=*color* | (*color-list*)\",\"type\":\"color\"},{\"name\":\"CBLOCKVAR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies variables whose values are colors for filling the background of the legend associated with block-variables\",\"help\":\"CBLOCKVAR=*variable* | (*variable-list*)\",\"type\":\"value\"},{\"name\":\"CCLIP=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a color for the plotting symbol that is specified with the CLIPSYMBOL option to mark clipped points\",\"help\":\"CCLIP=*color*\",\"type\":\"color\"},{\"name\":\"CCONNECT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the color for the line segments connecting points on the chart\",\"help\":\"CCONNECT=*color*\",\"type\":\"color\"},{\"name\":\"CCOVERLAY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the colors for the line segments connecting points on primary chart overlays\",\"help\":\"CCOVERLAY=(*color-list*)\",\"type\":\"color\"},{\"name\":\"CCOVERLAY2=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the colors for the line segments connecting points on secondary chart overlays\",\"help\":\"CCOVERLAY2=(*color-list*)\",\"type\":\"color\"},{\"name\":\"CFRAME=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the colors for filling the rectangle enclosed by the axes and the frame\",\"help\":\"CFRAME=*color* | (*color-list*)\",\"type\":\"color\"},{\"name\":\"CGRID=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the color for the grid requested by the ENDGRID or GRID option\",\"help\":\"CGRID=*color*\",\"type\":\"color\"},{\"name\":\"CHREF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the color for the lines requested by the HREF= and HREF2= options\",\"help\":\"CHREF=*color*\",\"type\":\"color\"},{\"name\":\"CLABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the color for labels produced by the ALLLABEL=, ALLLABEL2=, OUTLABEL=, and OUTLABEL2= options\",\"help\":\"CLABEL=*color*\",\"type\":\"color\"},{\"name\":\"CLIMITS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the color for the control limits, the central line, and the labels for these lines\",\"help\":\"CLIMITS=*color*\",\"type\":\"color\"},{\"name\":\"CLIPLEGPOS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the position for the legend that indicates the number of clipped points when the CLIPFACTOR= option is used\",\"help\":\"CLIPLEGPOS=TOP | BOTTOM\",\"type\":\"choice\"},{\"name\":\"CLIPSYMBOL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a plot symbol used to identify clipped points on the chart and in the legend when the CLIPFACTOR= option is used\",\"help\":\"CLIPSYMBOL=*symbol*\",\"type\":\"value\"},{\"name\":\"CLIPSYMBOLHT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the height for the symbol marker used to identify clipped points on the chart when the CLIPFACTOR= option is used\",\"help\":\"CLIPSYMBOLHT=*value*\",\"type\":\"value\"},{\"name\":\"CNEEDLES=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"requests that points are to be connected to the central line with vertical line segments (needles) and specifies the color of the needles\",\"help\":\"CNEEDLES=*color*\",\"type\":\"color\"},{\"name\":\"COUTFILL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the fill color for the areas outside the control limits that lie between the connected points and the control limits and are bounded by connecting lines\",\"help\":\"COUTFILL=*color*\",\"type\":\"color\"},{\"name\":\"COVERLAY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the colors used to plot primary chart overlay variables specified in the OVERLAY= list\",\"help\":\"COVERLAY=(*color-list*)\",\"type\":\"color\"},{\"name\":\"COVERLAY2=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the colors used to plot secondary chart overlay variables specified in the OVERLAY2= list\",\"help\":\"COVERLAY2=(*color-list*)\",\"type\":\"color\"},{\"name\":\"COVERLAYCLIP=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the color used to plot clipped values on overlay plots when the CLIPFACTOR= option is used\",\"help\":\"COVERLAYCLIP=*color*\",\"type\":\"color\"},{\"name\":\"CPHASELEG=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a text color for the phase labels requested with the PHASELEGEND option\",\"help\":\"CPHASELEG=*color*\",\"type\":\"color\"},{\"name\":\"CSTARCIRCLES=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a color for the circles requested with the STARCIRCLES= option\",\"help\":\"CSTARCIRCLES=*color*\",\"type\":\"color\"},{\"name\":\"CSTARFILL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a color or colors for filling the interior of stars requested with the STARVERTICES= option\",\"help\":\"CSTARFILL=*color* | (*variable*)\",\"type\":\"color\"},{\"name\":\"CSTARS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a color or colors for the outlines of stars requested with the STARVERTICES= option\",\"help\":\"CSTARS=*color* | (*variable*)\",\"type\":\"color\"},{\"name\":\"CTESTLABBOX=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the color for boxes enclosing labels for positive tests for special causes requested with the TESTLABBOX option\",\"help\":\"CTESTLABBOX=*color*\",\"type\":\"color\"},{\"name\":\"CTESTS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies colors for labels indicating points where a test for special causes specified in the TESTS= option is positive\",\"help\":\"CTESTS=*color* | *test-color-list*\",\"type\":\"color\"},{\"name\":\"CTESTSYMBOL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the color of the symbol used to plot subgroups with positive tests for special causes\",\"help\":\"CTESTSYMBOL=*color*\",\"type\":\"color\"},{\"name\":\"CTEXT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the color for tick mark values, axis labels, the sample size legend, and the control limit legend\",\"help\":\"CTEXT=*color*\",\"type\":\"color\"},{\"name\":\"CVREF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the color for reference lines requested by the VREF= and VREF2= options\",\"help\":\"CVREF=*color*\",\"type\":\"color\"},{\"name\":\"CZONES=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"requests lines marking zones A, B, and C for the tests for special causes\",\"help\":\"CZONES=*color*\",\"type\":\"color\"},{\"name\":\"DESCRIPTION=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a description, up to 256 characters long, for the GRSEG catalog entry for the primary chart\",\"help\":\"DESCRIPTION='*string*'\",\"type\":\"value\"},{\"name\":\"ENDGRID\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"a grid to the rightmost portion of the chart, beginning with the first labeled major tick mark position that follows the last plotted point\",\"type\":\"standalone\"},{\"name\":\"FONT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a software font for labels and legends\",\"help\":\"FONT=*font*\",\"type\":\"value\"},{\"name\":\"HEIGHT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the height (in vertical screen percent units) of the text for axis labels and legends\",\"help\":\"HEIGHT=*value*\",\"type\":\"value\"},{\"name\":\"HMINOR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the number of (unlabeled) minor tick marks between each major tick mark on the horizontal axis\",\"help\":\"HMINOR=*n*\",\"type\":\"value\"},{\"name\":\"HTML=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a variable whose values create links associated with subgroup points on a primary control chart when traditional graphics output is directed into HTML\",\"help\":\"HTML=*variable*\",\"type\":\"value\"},{\"name\":\"HTML2=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a variable whose values create links associated with subgroup points on a secondary control chart when traditional graphics output is directed into HTML\",\"help\":\"HTML2=*variable*\",\"type\":\"value\"},{\"name\":\"HTML_LEGEND=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies HTML links as values of the specified character variable (or formatted values of a numeric variable)\",\"help\":\"HTML_LEGEND=*variable*\",\"type\":\"value\"},{\"name\":\"LABELANGLE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the angle at which labels requested with the ALLLABEL=, ALLLABEL2=, OUTLABEL=, and OUTLABEL2= options are drawn\",\"help\":\"LABELANGLE=*angle*\",\"type\":\"value\"},{\"name\":\"LABELFONT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"TESTFONT=\"],\"description\":\"specifies a software font for labels requested with the ALLLABEL=, ALLLABEL2=, OUTLABEL=, OUTLABEL2=, STARLABEL=, TESTLABEL=, and TESTLABELn= options\",\"help\":\"LABELFONT=*font*\",\"type\":\"value\"},{\"name\":\"LABELHEIGHT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"TESTHEIGHT=\"],\"description\":\"specifies the height (in vertical percent screen units) for labels requested with the ALLLABEL=, ALLLABEL2=, OUTLABEL=, OUTLABEL2=, STARLABEL=, TESTLABEL=, and TESTLABELn= options\",\"help\":\"LABELHEIGHT=*value*\",\"type\":\"value\"},{\"name\":\"LENDGRID=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the line type for the grid requested with the ENDGRID option\",\"help\":\"LENDGRID=*n*\",\"type\":\"value\"},{\"name\":\"LGRID=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the line type for the grid requested with the GRID option\",\"help\":\"LGRID=*n*\",\"type\":\"value\"},{\"name\":\"LHREF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the line type for reference lines requested with the HREF= and HREF2= options\",\"help\":\"LHREF=*linetype*\",\"type\":\"value\"},{\"name\":\"LLIMITS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the line type for control limits\",\"help\":\"LLIMITS=*linetype*\",\"type\":\"value\"},{\"name\":\"LOVERLAY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies line types for the line segments connecting points on primary chart overlays corresponding to the OVERLAY= list\",\"help\":\"LOVERLAY=(*linetypes*)\",\"type\":\"value\"},{\"name\":\"LOVERLAY2=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies line types for the line segments connecting points on secondary chart overlays corresponding to the OVERLAY2= list\",\"help\":\"LOVERLAY2=(*linetypes*)\",\"type\":\"value\"},{\"name\":\"LSTARCIRCLES=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies one or more line types for the circles requested with the STARCIRCLES= option\",\"help\":\"LSTARCIRCLES=*linetypes*\",\"type\":\"value\"},{\"name\":\"LSTARS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the line types for the outlines of stars requested with the STARVERTICES= option\",\"help\":\"LSTARS=*linetype* | (*variable*)\",\"type\":\"value\"},{\"name\":\"LTESTS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the line type for the line segments that connect patterns of points for which a test for special causes (requested with the TESTS= option) is positive\",\"help\":\"LTESTS=*linetype*\",\"type\":\"value\"},{\"name\":\"LVREF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the line type for reference lines requested by the VREF= and VREF2= options\",\"help\":\"LVREF=*linetype*\",\"type\":\"value\"},{\"name\":\"LZONES=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the line type for lines that delineate zones A, B, and C for standard tests requested with the TESTS= and/or TESTS2= options\",\"help\":\"LZONES=*n*\",\"type\":\"value\"},{\"name\":\"NAME=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the name of the GRSEG catalog entry for the primary chart, and the name of the graphics output file if one is created\",\"help\":\"NAME='*string*'\",\"type\":\"value\"},{\"name\":\"NOFRAME\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses the default frame drawn around the chart\",\"type\":\"standalone\"},{\"name\":\"NOLIMITSFRAME\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses the default frame for the control limit information that is displayed across the top of the chart when multiple sets of control limits with distinct multiples of σ and nominal control limit sample sizes are read from a LIMITS= data set\",\"type\":\"standalone\"},{\"name\":\"NOPHASEFRAME\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses the default frame for the legend requested by the PHASELEGEND option\",\"type\":\"standalone\"},{\"name\":\"NOVANGLE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"requests vertical axis labels that are strung out vertically\",\"type\":\"standalone\"},{\"name\":\"NOVLABEL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses the label for the primary vertical axis\",\"type\":\"standalone\"},{\"name\":\"NOV2LABEL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses the label for the secondary vertical axis\",\"type\":\"standalone\"},{\"name\":\"OUTHIGHHTML=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a variable whose values create links to be associated with outlier points above the upper fence on a schematic box chart when traditional graphics output is directed into HTML\",\"help\":\"OUTHIGHHTML=*variable*\",\"type\":\"value\"},{\"name\":\"OUTLOWHTML=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a variable whose values create links to be associated with outlier points below the lower fence on a schematic box chart when traditional graphics output is directed into HTML\",\"help\":\"OUTLOWHTML=*variable*\",\"type\":\"value\"},{\"name\":\"OVERLAY2HTML=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies variables whose values create links to be associated with points on secondary chart overlays corresponding to the OVERLAY2= list\",\"help\":\"OVERLAY2HTML=(*variable-list*)\",\"type\":\"value\"},{\"name\":\"OVERLAY2SYM=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies symbols used to plot overlays on a secondary control chart corresponding to the OVERLAY2= list\",\"help\":\"OVERLAY2SYM=(*symbol-list*)\",\"type\":\"value\"},{\"name\":\"OVERLAY2SYMHT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the heights of symbols used to plot overlays on a secondary control chart corresponding to the OVERLAY2= list\",\"help\":\"OVERLAY2SYMHT=(*value-list*)\",\"type\":\"value\"},{\"name\":\"OVERLAYCLIPSYM=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the symbol used to plot clipped values on overlay plots when the CLIPFACTOR= option is used\",\"help\":\"OVERLAYCLIPSYM=*symbol*\",\"type\":\"value\"},{\"name\":\"OVERLAYCLIPSYMHT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the height for the symbol used to plot clipped values on overlay plots when the CLIPFACTOR= option is used\",\"help\":\"OVERLAYCLIPSYMHT=*value*\",\"type\":\"value\"},{\"name\":\"OVERLAYHTML=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies variables whose values create links to be associated with points on primary chart overlays corresponding to the OVERLAY= list\",\"help\":\"OVERLAYHTML=(*variable-list*)\",\"type\":\"value\"},{\"name\":\"OVERLAYSYM=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies symbols used to plot overlays on the primary control chart corresponding to the OVERLAY= list\",\"help\":\"OVERLAYSYM=(*symbol-list*)\",\"type\":\"value\"},{\"name\":\"OVERLAYSYMHT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the heights of symbols used to plot overlays on the primary control chart corresponding to the OVERLAY= list\",\"help\":\"OVERLAYSYMHT=(*value-list*)\",\"type\":\"value\"},{\"name\":\"TESTFONT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"LABELFONT=\"],\"description\":\"specifies a software font for labels requested with the ALLLABEL=, ALLLABEL2=, OUTLABEL=, OUTLABEL2=, STARLABEL=, TESTLABEL=, and TESTLABELn= options\",\"help\":\"TESTFONT=*font*\",\"type\":\"value\"},{\"name\":\"TESTHEIGHT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"LABELHEIGHT=\"],\"description\":\"specifies the height (in vertical percent screen units) for labels requested with the ALLLABEL=, ALLLABEL2=, OUTLABEL=, OUTLABEL2=, STARLABEL=, TESTLABEL=, and TESTLABELn= options\",\"help\":\"TESTHEIGHT=*value*\",\"type\":\"value\"},{\"name\":\"TESTSYMBOL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the symbol for plotting subgroups with positive tests for special causes\",\"help\":\"TESTSYMBOL=*symbol*\",\"type\":\"value\"},{\"name\":\"TESTSYMBOLHT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the height of the symbol used to plot subgroups with positive tests for special causes\",\"help\":\"TESTSYMBOLHT=*value*\",\"type\":\"value\"},{\"name\":\"TURNALL\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"TURNOUT\"],\"description\":\"turns the labels produced by the ALLLABEL=, ALLLABEL2=, OUTLABEL=, and OUTLABEL2= options so that they are strung out vertically\",\"type\":\"standalone\"},{\"name\":\"TURNHLABELS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"turns the major tick mark labels for the horizontal (subgroup) axis so that they are strung out vertically\",\"type\":\"standalone\"},{\"name\":\"VMINOR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the number of minor tick marks between each major tick mark on the vertical axis\",\"help\":\"VMINOR=*n*\",\"type\":\"value\"},{\"name\":\"WAXIS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the width in pixels for the axis and frame lines\",\"help\":\"WAXIS=*n*\",\"type\":\"value\"},{\"name\":\"WGRID=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the width in pixels for grid lines requested with the ENDGRID and GRID options\",\"help\":\"WGRID=*n*\",\"type\":\"value\"},{\"name\":\"WLIMITS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the width in pixels for the control limits and central line\",\"help\":\"WLIMITS=*n*\",\"type\":\"value\"},{\"name\":\"WNEEDLES=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the width in pixels of needles connecting plotted points to the central line, as requested with the NEEDLES option\",\"help\":\"WNEEDLES=*n*\",\"type\":\"value\"},{\"name\":\"WOVERLAY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the widths in pixels for the line segments connecting points on primary chart overlay plots corresponding to the OVERLAY= list\",\"help\":\"WOVERLAY=(*value-list*)\",\"type\":\"value\"},{\"name\":\"WOVERLAY2=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the widths in pixels for the line segments connecting points on secondary chart overlay plots corresponding to the OVERLAY2= list\",\"help\":\"WOVERLAY2=(*value-list*)\",\"type\":\"value\"},{\"name\":\"WSTARCIRCLES=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the width in pixels of the outline of circles requested by the STARCIRCLES= option\",\"help\":\"WSTARCIRCLES=*n*\",\"type\":\"value\"},{\"name\":\"WSTARS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the width in pixels of the outline of stars requested by the STARVERTICES= option\",\"help\":\"WSTARS=*n*\",\"type\":\"value\"},{\"name\":\"WTESTS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the width in pixels of the line segments that connect patterns of points for which a test for special causes (requested with the TESTS= or TESTS2= option) is positive\",\"help\":\"WTESTS=*n*\",\"type\":\"value\"}]},{\"name\":\"RCHART\",\"description\":\"creates an R chart for subgroup ranges\",\"help\":\"RCHART  (processes) * subgroup-variable<(block-variables)><=symbol-variable | ='character'></ options>;                                              \\nprocess is the name of the variable containing the raw measurements, or the common prefix of the summary variables in the HISTORY= data set, or the value of the variable _VAR_ in the TABLE= data set                     \\nsubgroup-variable is the variable that identifies subgroups in the data                     \\nblock-variables are optional variables that group the data into blocks of consecutive subgroups                     \\nsymbol-variable is an optional variable whose levels (unique values) determine the symbol marker that is used to plot the ranges                     \\ncharacter is a character that is used to plot the ranges when you produce traditional graphics                     \",\"arguments\":[{\"name\":\"ALLLABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"labels every point on the primary chart with the value plotted for that subgroup or with the value of variable in the input data set\",\"help\":\"ALLLABEL=VALUE | (*variable*)\",\"type\":\"value\"},{\"name\":\"ALLLABEL2=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"labels every point on an R, s, or trend chart with the value plotted for that subgroup or with the value of variable in the input data set\",\"help\":\"ALLLABEL2=VALUE | (*variable*)\",\"type\":\"value\"},{\"name\":\"ALLN\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"plots summary statistics for all subgroups, regardless of whether the subgroup sample size equals the nominal control limit sample size n specified by the LIMITN= option or the variable _LIMITN_ in the LIMITS= data set\",\"type\":\"standalone\"},{\"name\":\"ALPHA=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"requests α probability limits instead of 3σ control limits\",\"help\":\"ALPHA=*value*\",\"type\":\"value\"},{\"name\":\"BLOCKLABELPOS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the position of a block-variable label in the block legend\",\"help\":\"BLOCKLABELPOS=ABOVE | LEFT | RIGHT\",\"type\":\"choice\"},{\"name\":\"BLOCKLABTYPE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies how lengthy block variable values are treated when there is insufficient space to display them in the block legend\",\"help\":\"BLOCKLABTYPE=SCALED | TRUNCATED | ROTATE | ROTATEALL | *height*\",\"type\":\"value\"},{\"name\":\"BLOCKPOS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the vertical position of the legend for the values of the block-variables\",\"help\":\"BLOCKPOS=*n*\",\"type\":\"value\"},{\"name\":\"BLOCKREP\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that block variable values for all subgroups are to be displayed\",\"type\":\"standalone\"},{\"name\":\"BLOCKVAR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies variables whose values are used to assign colors for filling the background of the legend associated with block variables\",\"help\":\"BLOCKVAR=*variable* | (*variable-list*)\",\"type\":\"value\"},{\"name\":\"BOXES=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a variable whose values are used to assign colors for the outlines of box-and-whiskers plots\",\"help\":\"BOXES=*variable*\",\"type\":\"value\"},{\"name\":\"BOXFILL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies how box-and-whisker plots are filled with colors from the ODS style\",\"help\":\"BOXFILL=*variable* | NONE | EMPTY\",\"type\":\"value\"},{\"name\":\"CFRAMELAB=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"CFRAMELAB\"],\"description\":\"specifies the color for filling rectangles that frame the point labels displayed with the ALLLABEL=, ALLLABEL2=, OUTLABEL=, and OUTLABEL2= options\",\"help\":\"CFRAMELAB=*color*\",\"type\":\"color\"},{\"name\":\"CIINDICES\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"requests capability index confidence limits based on subgroup summary data, calculated using \\\"effective degrees of freedom\\\"\",\"help\":\"CIINDICES &lt;(&lt;TYPE=*keyword*&gt;&lt;ALPHA=*value*&gt;)&gt;\",\"type\":\"standaloneOrValue\",\"arguments\":[{\"name\":\"TYPE=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the type of confidence limit\",\"help\":\"TYPE=LOWER | UPPER | TWOSIDED\",\"type\":\"choice\"},{\"name\":\"ALPHA=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the default confidence level to compute confidence limits\",\"help\":\"ALPHA=*value*\",\"type\":\"value\"}]},{\"name\":\"CINFILL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the color for the area inside the upper and lower control limits\",\"help\":\"CINFILL=*color* | EMPTY | NONE\",\"type\":\"color\"},{\"name\":\"CLIPFACTOR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"requests clipping of extreme points on the control chart\",\"help\":\"CLIPFACTOR=*factor*\",\"type\":\"value\"},{\"name\":\"CLIPLEGEND=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the label for the legend that indicates the number of clipped points when the CLIPFACTOR= option is used\",\"help\":\"CLIPLEGEND='*label*'\",\"type\":\"value\"},{\"name\":\"CLIPSUBCHAR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a substitution character (such as #) for the label provided with the CLIPLEGEND= option\",\"help\":\"CLIPSUBCHAR='*character*'\",\"type\":\"value\"},{\"name\":\"COUT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the color for the plotting symbols and the portions of connecting line segments that lie outside the control limits\",\"help\":\"COUT&lt;=*color*&gt;\",\"type\":\"standaloneOrValue\"},{\"name\":\"CSTAROUT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a color for those portions of the outlines of stars (requested with the STARVERTICES= option) that exceed the inner or outer circles\",\"help\":\"CSTAROUT&lt;=*color*&gt;\",\"type\":\"standaloneOrValue\"},{\"name\":\"DISCRETE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that numeric subgroup variable values be treated as discrete values, so that each tick value on the default subgroup axis corresponds to a unique subgroup variable value\",\"type\":\"standalone\"},{\"name\":\"EXCHART\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"creates a control chart only when exceptions occur, specifically, when the control limits are exceeded or when any of the tests requested with the TESTS= option or the TESTS2= option are positive\",\"type\":\"standalone\"},{\"name\":\"FRONTREF\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"draws reference lines specified with the HREF= and VREF= options in front of box-and-whiskers plots\",\"type\":\"standalone\"},{\"name\":\"GRID\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"adds a grid to the control chart\",\"type\":\"standalone\"},{\"name\":\"HAXIS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies tick mark values for the horizontal (subgroup) axis\",\"help\":\"HAXIS=*values* | AXIS*n*\",\"type\":\"value\"},{\"name\":\"HOFFSET=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the length of the offset at each end of the horizontal axis\",\"help\":\"HOFFSET=*value*\",\"type\":\"value\"},{\"name\":\"HREF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"draws reference lines perpendicular to the horizontal (subgroup) axis on the primary chart\",\"help\":\"HREF=*values*\",\"type\":\"value\"},{\"name\":\"HREF2DATA=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"draws reference lines perpendicular to the horizontal (subgroup) axis on the secondary chart\",\"help\":\"HREF2DATA=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"HREFDATA=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"draws reference lines perpendicular to the horizontal (subgroup) axis on the primary chart\",\"help\":\"HREFDATA=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"HREFLABELS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies labels for the reference lines requested by the HREF= option\",\"help\":\"HREFLABELS='*label1*'...'*labeln*'\",\"type\":\"value\"},{\"name\":\"HREFLABPOS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the vertical position of the HREFLABEL= and HREF2LABEL= labels\",\"help\":\"HREFLABPOS=*n*\",\"type\":\"value\",\"arguments\":[{\"name\":\"1\",\"followsDelimiter\":\"/\",\"description\":\"positions along top of subplot area\",\"type\":\"standalone\"},{\"name\":\"2\",\"followsDelimiter\":\"/\",\"description\":\"staggers from top to bottom of subplot area\",\"type\":\"standalone\"},{\"name\":\"3\",\"followsDelimiter\":\"/\",\"description\":\"positions along bottom of subplot area\",\"type\":\"standalone\"},{\"name\":\"4\",\"followsDelimiter\":\"/\",\"description\":\"staggers from bottom to top of subplot area\",\"type\":\"standalone\"}]},{\"name\":\"INDEPENDENTZONES\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"INDEPZONES\"],\"description\":\"specifies that the widths of the zones requested with the ZONES option be computed independently above and below the center line of the chart, so that the width of each zone is one-third of the difference between the process mean and the control limit on its side of the chart\",\"type\":\"standalone\"},{\"name\":\"INTERVAL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the natural time interval between consecutive subgroup positions when a time, date, or datetime format is associated with a numeric subgroup variable\",\"help\":\"INTERVAL=DAY | DTDAY | HOUR | MINUTE | MONTH | QTR | SECOND\",\"type\":\"choice\"},{\"name\":\"INTSTART=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the starting value for a numeric horizontal axis, when a date, time, or datetime format is associated with the subgroup variable\",\"help\":\"INTSTART=*value*\",\"type\":\"value\"},{\"name\":\"LCLLABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a label for the lower control limit in the primary chart\",\"help\":\"LCLLABEL='*label*'\",\"type\":\"value\"},{\"name\":\"LIMITN=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies either a fixed or varying nominal sample size for the control limits\",\"help\":\"LIMITN=*n* | VARYING\",\"type\":\"value\"},{\"name\":\"LIMLABSUBCHAR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a substitution character (such as #) for labels provided as quoted strings with the LCLLABEL=, LCLLABEL2=, UCLLABEL=, UCLLABEL2=, CSYMBOL=, NPSYMBOL=, PSYMBOL=, RSYMBOL=, SSYMBOL=, USYMBOL=, and XSYMBOL= options\",\"help\":\"LIMLABSUBCHAR='*character*'\",\"type\":\"value\"},{\"name\":\"LSL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"provides lower specification limits used to compute capability indices\",\"help\":\"LSL=*value-list*\",\"type\":\"value\"},{\"name\":\"MAXPANELS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the maximum number of pages or screens for a chart\",\"help\":\"MAXPANELS=*n*\",\"type\":\"value\"},{\"name\":\"MISSBREAK\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"determines how subgroups are formed when observations are read from a DATA= data set and a character subgroup-variable is provided\",\"type\":\"standalone\"},{\"name\":\"NDECIMAL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the number of decimal digits in the default labels for the control limits and the central line in the primary chart\",\"help\":\"NDECIMAL=*n*\",\"type\":\"value\"},{\"name\":\"NEEDLES\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"connects plotted points to the central line with vertical line segments (needles)\",\"type\":\"standalone\"},{\"name\":\"NMARKERS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"identifies a plotted subgroup summary statistic with a special symbol marker (character) when the corresponding subgroup sample size is not equal to the nominal control limit sample size n\",\"type\":\"standalone\"},{\"name\":\"NO3SIGMACHECK\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses the check for 3σ limits when tests for special causes are requested\",\"type\":\"standalone\"},{\"name\":\"NOBYREF\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that the reference line information in an HREF=, HREF2=, VREF=, or VREF2= data set is to be applied uniformly to charts created for all the BY groups in the input data set (DATA=, HISTORY=, or TABLE=)\",\"type\":\"standalone\"},{\"name\":\"NOCHART\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses the creation of the chart\",\"type\":\"standalone\"},{\"name\":\"NOCONNECT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses line segments that connect points on the chart\",\"type\":\"standalone\"},{\"name\":\"NOCTL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses the display of the central line in a primary chart\",\"type\":\"standalone\"},{\"name\":\"NOHLABEL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses the label for the horizontal (subgroup) axis\",\"type\":\"standalone\"},{\"name\":\"NOLCL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses the display of the lower control limit in a primary chart\",\"type\":\"standalone\"},{\"name\":\"NOLEGEND\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses the default legend for subgroup sample sizes, which appears by default below the chart\",\"type\":\"standalone\"},{\"name\":\"NOLIMIT0\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses the display of a fixed lower control limit if and only if the value of the limit is zero\",\"type\":\"standalone\"},{\"name\":\"NOLIMITLABEL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses the default labels for the control limits and central lines\",\"type\":\"standalone\"},{\"name\":\"NOLIMITS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses the display of control limits\",\"type\":\"standalone\"},{\"name\":\"NOLIMITSLEGEND\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses the legend for the control limits, which appears by default in the upper right corner of the chart\",\"type\":\"standalone\"},{\"name\":\"NOOVERLAYLEGEND\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses the legend for overlay variables which is displayed by default when the OVERLAY= or OVERLAY2= option is specified\",\"type\":\"standalone\"},{\"name\":\"NOREADLIMITS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that the control limits for each process listed in the chart statement not be read from the LIMITS= data set specified in the PROC SHEWHART statement\",\"type\":\"standalone\"},{\"name\":\"NOTESTACROSS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that tests for special causes requested with the TESTS= or TESTS2= options not be applied across the boundaries of phases (blocks of consecutive subgroups) determined by the READPHASES= option and the variable _PHASE_ in the input data set\",\"type\":\"standalone\"},{\"name\":\"NOTICKREP\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"applies to character-valued subgroup-variables and specifies that only the first occurrence of repeated, adjacent subgroup values is to be labeled on the horizontal axis\",\"type\":\"standalone\"},{\"name\":\"NOTRUNC\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"overrides the vertical axis truncation at zero, which is applied by default to c charts, moving range charts, np charts, p charts, R charts, s charts, and u charts\",\"type\":\"standalone\"},{\"name\":\"NOUCL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses the display of the upper control limit in a primary chart\",\"type\":\"standalone\"},{\"name\":\"NPANELPOS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the number of subgroup positions per panel on each chart\",\"help\":\"NPANELPOS=*n*\",\"type\":\"value\"},{\"name\":\"OUTFILL\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"COUTFILL\"],\"description\":\"fills the areas outside the control limits that lie between the connected points and the control limits and are bounded by connecting lines\",\"type\":\"standalone\"},{\"name\":\"OUTHISTORY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"creates an output data set that contains the subgroup summary statistics\",\"help\":\"OUTHISTORY=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"OUTINDEX=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the value of the _INDEX_ variable in the OUTLIMITS= output data set\",\"help\":\"OUTINDEX='*label*'\",\"type\":\"value\"},{\"name\":\"OUTLABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"labels each point that falls outside the control limits on the primary chart with the value plotted for that subgroup or with the value of variable in the input data set\",\"help\":\"OUTLABEL=VALUE | (*variable*)\",\"type\":\"value\"},{\"name\":\"OUTLABEL2=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"labels each point that falls outside the control limits on an R or s chart with the value plotted for that subgroup or with the value of variable in the input data set\",\"help\":\"OUTLABEL2=VALUE | (*variable*)\",\"type\":\"value\"},{\"name\":\"OUTLIMITS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"creates an output data set that saves the control limits\",\"help\":\"OUTLIMITS=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"OUTPHASE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the value of the _PHASE_ variable in the OUTHISTORY= data set\",\"help\":\"OUTPHASE='*label*'\",\"type\":\"value\"},{\"name\":\"OUTTABLE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"creates an output SAS data set that saves the information plotted on the chart, including the subgroup variable values and their corresponding summary statistics and control limits\",\"help\":\"OUTTABLE=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"OVERLAY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies variables to be overlaid on the primary control chart\",\"help\":\"OVERLAY=(*variable-list*)\",\"type\":\"value\"},{\"name\":\"OVERLAY2=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies variables to be overlaid on a secondary control chart\",\"help\":\"OVERLAY2=(*variable-list*)\",\"type\":\"value\"},{\"name\":\"OVERLAY2ID=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies variables whose formatted values are used to label points on secondary chart overlays\",\"help\":\"OVERLAY2ID=(*variable-list*)\",\"type\":\"value\"},{\"name\":\"OVERLAYID=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies variables whose formatted values are used to label points on primary chart overlays\",\"help\":\"OVERLAYID=(*variable-list*)\",\"type\":\"value\"},{\"name\":\"OVERLAYLEGLAB=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the label displayed to the left of the legend for overlays requested with the OVERLAY= or OVERLAY2= option\",\"help\":\"OVERLAYLEGLAB='*label*'\",\"type\":\"value\"},{\"name\":\"PAGENUM=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the form of the label used for pagination; for example, 'Page #' or 'Page # of #'\",\"help\":\"PAGENUM='*string*'\",\"type\":\"value\"},{\"name\":\"PAGENUMPOS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies where to position the page number requested with the PAGENUM= option\",\"help\":\"PAGENUMPOS=TL | TR | BL | BR | TL100 | TR100 | BL0 | BR0\",\"type\":\"choice\",\"arguments\":[{\"name\":\"TL\",\"followsDelimiter\":\"/\",\"description\":\"specifies the top left\",\"type\":\"standalone\"},{\"name\":\"TR\",\"followsDelimiter\":\"/\",\"description\":\"specifies the top right\",\"type\":\"standalone\"},{\"name\":\"BL\",\"followsDelimiter\":\"/\",\"description\":\"specifies the bottom left\",\"type\":\"standalone\"},{\"name\":\"BR\",\"followsDelimiter\":\"/\",\"description\":\"specifies the bottom right\",\"type\":\"standalone\"},{\"name\":\"TL100\",\"followsDelimiter\":\"/\",\"description\":\"specifies the very top left\",\"type\":\"standalone\"},{\"name\":\"TR100\",\"followsDelimiter\":\"/\",\"description\":\"specifies the very top right\",\"type\":\"standalone\"},{\"name\":\"BL0\",\"followsDelimiter\":\"/\",\"description\":\"specifies the very bottom left\",\"type\":\"standalone\"},{\"name\":\"BR0\",\"followsDelimiter\":\"/\",\"description\":\"specifies the very bottom right\",\"type\":\"standalone\"}]},{\"name\":\"PHASEBREAK\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that the last point in a phase (defined as a block of consecutive subgroups with the same value of the _PHASE_ variable) is not to be connected to the first point in the next phase\",\"type\":\"standalone\"},{\"name\":\"PHASELABTYPE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies how lengthy _PHASE_ variable values are displayed when there is insufficient space in the legend requested with the PHASELEGEND option\",\"help\":\"PHASELABTYPE=SCALED | TRUNCATED | *height*\",\"type\":\"value\"},{\"name\":\"PHASELEGEND\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"identifies the phases requested with the READPHASES= option in a legend across the top of the chart\",\"type\":\"standalone\"},{\"name\":\"PHASELIMITS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that the control limits and center line be labeled for each phase specified with the READPHASES= option, providing the limits are constant within that phase\",\"type\":\"standalone\"},{\"name\":\"PHASEREF\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"delineates the phases specified with the READPHASES= option with reference lines drawn vertically\",\"type\":\"standalone\"},{\"name\":\"PHASEVARLABEL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"displays the label associated with the variable _PHASE_ above the phase values in the phase legend\",\"type\":\"standalone\"},{\"name\":\"PHASEVALSEP\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"displays vertical lines separating phase values in the phase legend\",\"type\":\"standalone\"},{\"name\":\"RANGES\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"estimates the process standard deviation for a boxplot using subgroup ranges\",\"type\":\"standalone\"},{\"name\":\"READALPHA\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that the variable _ALPHA_, rather than the variable _SIGMAS_, be read from a LIMITS= data set when both variables are available in the data set\",\"type\":\"standalone\"},{\"name\":\"READINDEX=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"reads one or more sets of control limits from a LIMITS= data set (specified in the PROC SHEWHART statement) for each process listed in the chart statement\",\"help\":\"READINDEX=*value-list* | ALL\",\"type\":\"value\"},{\"name\":\"READPHASES=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"selects blocks of consecutive observations to be read from the input data set\",\"help\":\"READPHASES=*value-list* | ALL\",\"type\":\"value\"},{\"name\":\"REPEAT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that the horizontal axis of a chart that spans multiple pages be arranged so that the last subgroup position on a page is repeated as the first subgroup position on the next page\",\"type\":\"standalone\"},{\"name\":\"RSYMBOL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a label for the central line in an R chart\",\"help\":\"RSYMBOL=R | RBAR | RPM | R0 | '*label*'\",\"type\":\"value\",\"arguments\":[{\"name\":\"R\",\"followsDelimiter\":\"/\",\"description\":\"R\",\"type\":\"standalone\"},{\"name\":\"RBAR\",\"followsDelimiter\":\"/\",\"description\":\"R bar\",\"type\":\"standalone\"},{\"name\":\"RPM\",\"followsDelimiter\":\"/\",\"description\":\"R prime\",\"type\":\"standalone\"},{\"name\":\"R0\",\"followsDelimiter\":\"/\",\"description\":\"R sub 0\",\"type\":\"standalone\"}]},{\"name\":\"SIGMA0=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a known (standard) value σ0 for the process standard deviation σ\",\"help\":\"SIGMA0=*value*\",\"type\":\"value\"},{\"name\":\"SIGMAS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the width of the control limits in terms of the multiple k of the standard error of the range statistic plotted on the chart\",\"help\":\"SIGMAS=*k*\",\"type\":\"value\"},{\"name\":\"SKIPHLABELS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the number n of consecutive tick mark labels, beginning with the second tick mark label, that are thinned (not displayed) on the horizontal (subgroup) axis\",\"help\":\"SKIPHLABELS=*n*\",\"type\":\"value\"},{\"name\":\"SMETHOD=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a method for estimating the process standard deviation, σ\",\"help\":\"SMETHOD=NOWEIGHT | MVLUE \",\"type\":\"choice\",\"arguments\":[{\"name\":\"NOWEIGHT\",\"followsDelimiter\":\"/\",\"description\":\"estimates σ as an unweighted average of unbiased subgroup estimates of σ\",\"type\":\"standalone\"},{\"name\":\"MVLUE\",\"followsDelimiter\":\"/\",\"description\":\"calculates a minimum variance linear unbiased estimate for σ\",\"type\":\"standalone\"}]},{\"name\":\"STARBDRADIUS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the radius of an imaginary circle that is the outer bound for vertices of stars requested with the STARVERTICES= option\",\"help\":\"STARBDRADIUS=*value*\",\"type\":\"value\"},{\"name\":\"STARCIRCLES=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies reference circles that are superimposed on the stars requested with the STARVERTICES= option\",\"help\":\"STARCIRCLES=*values*\",\"type\":\"value\"},{\"name\":\"STARINRADIUS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the inner radius of stars requested with the STARVERTICES= option\",\"help\":\"STARINRADIUS=*value*\",\"type\":\"value\"},{\"name\":\"STARFILL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies colors for filling the interior of stars requested with the STARVERTICES= option\",\"help\":\"STARFILL=*variable*\",\"type\":\"value\"},{\"name\":\"STARLABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a method for labeling the vertices of stars requested with the STARVERTICES= option\",\"help\":\"STARLABEL=ALL | FIRST | HIGH | LOW | OUT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ALL\",\"followsDelimiter\":\"/\",\"description\":\"labels all vertices of all stars\",\"type\":\"standalone\"},{\"name\":\"FIRST\",\"followsDelimiter\":\"/\",\"description\":\"labels all vertices of the leftmost star\",\"type\":\"standalone\"},{\"name\":\"HIGH\",\"followsDelimiter\":\"/\",\"description\":\"labels only vertices that lie outside the outer circle\",\"type\":\"standalone\"},{\"name\":\"LOW\",\"followsDelimiter\":\"/\",\"description\":\"labels only vertices that lie inside the inner circle\",\"type\":\"standalone\"},{\"name\":\"OUT\",\"followsDelimiter\":\"/\",\"description\":\"labels only vertices that lie inside the inner circle or outside the outer circle\",\"type\":\"standalone\"}]},{\"name\":\"STARLEGEND=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the style of the legend used to identify the vertices of stars requested with the STARVERTICES= option\",\"help\":\"STARLEGEND=CLOCK | CLOCK0 | DEGREES | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"CLOCK\",\"followsDelimiter\":\"/\",\"description\":\"identifies the vertex variables by their positions on the clock (starting with 12:00)\",\"type\":\"standalone\"},{\"name\":\"CLOCK0\",\"followsDelimiter\":\"/\",\"description\":\"identifies the vertex variables by their positions on the clock (starting with 0:00)\",\"type\":\"standalone\"},{\"name\":\"DEGREES\",\"followsDelimiter\":\"/\",\"description\":\"identifies the vertex variables by angles in degrees, with 0 degrees corresponding to 12 o'clock\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"followsDelimiter\":\"/\",\"description\":\"suppresses the legend\",\"type\":\"standalone\"}]},{\"name\":\"STARLEGENDLAB=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the label displayed to the left of the legend for stars requested with the STARLEGEND= option\",\"help\":\"STARLEGENDLAB='*label*'\",\"type\":\"value\"},{\"name\":\"STARS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies colors for the outlines of stars requested with the STARVERTICES= option\",\"help\":\"STARS=*variable*\",\"type\":\"value\"},{\"name\":\"STARSPECS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the method used to standardize the star vertex variables listed with the STARVERTICES= option\",\"help\":\"STARSPECS=*value*|*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"STARSTART=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the vertex angle for the first variable in the STARVERTICES= list\",\"help\":\"STARSTART=*value*\",\"type\":\"value\"},{\"name\":\"STARTYPE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the style of the stars requested with the STARVERTICES= option\",\"help\":\"STARTYPE=CORONA | POLYGON | RADIAL | SPOKE | WEDGE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"CORONA\",\"followsDelimiter\":\"/\",\"description\":\"specifies a polygon with star-vertices emanating from the inner circle\",\"type\":\"standalone\"},{\"name\":\"POLYGON\",\"followsDelimiter\":\"/\",\"description\":\"specifies a closed polygon\",\"type\":\"standalone\"},{\"name\":\"RADIAL\",\"followsDelimiter\":\"/\",\"description\":\"draws rays emanating from the center\",\"type\":\"standalone\"},{\"name\":\"SPOKE\",\"followsDelimiter\":\"/\",\"description\":\"draws rays emanating from the inner circle\",\"type\":\"standalone\"},{\"name\":\"WEDGE\",\"followsDelimiter\":\"/\",\"description\":\"specifies a closed polygon with rays from the center to each vertex\",\"type\":\"standalone\"}]},{\"name\":\"STARVERTICES=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"superimposes a star (polygon) at each point on the primary chart\",\"help\":\"STARVERTICES=*variable* | (*variable-list*)\",\"type\":\"value\"},{\"name\":\"SYMBOLLEGEND=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"controls the legend for the levels of a symbol-variable\",\"help\":\"SYMBOLLEGEND=LEGENDn | NONE\",\"type\":\"choice\"},{\"name\":\"SYMBOLORDER=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the order in which symbols are assigned for levels of symbol-variable\",\"help\":\"SYMBOLORDER=DATA | INTERNAL | FORMATTED\",\"type\":\"choice\"},{\"name\":\"TABLES\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"creates a basic table of the subgroup values, the subgroup sample sizes, the subgroup summary statistics, and the upper and lower control limits\",\"help\":\"TABLES &lt;(EXCEPTIONS)&gt;\",\"type\":\"standaloneOrValue\"},{\"name\":\"TABLEALL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"tabulates all the information about the control chart\",\"help\":\"TABLEALL &lt;(EXCEPTIONS)&gt;\",\"type\":\"standaloneOrValue\"},{\"name\":\"TABLECENTRAL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"augments the basic table created by the TABLES option with columns for the values of the central lines\",\"help\":\"TABLECENTRAL &lt;(EXCEPTIONS)&gt;\",\"type\":\"standaloneOrValue\"},{\"name\":\"TABLEID\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"augments the basic table created by the TABLES option with a column for each of the ID variables\",\"help\":\"TABLEID &lt;(EXCEPTIONS)&gt;\",\"type\":\"standaloneOrValue\"},{\"name\":\"TABLELEGEND\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"adds a legend to the basic table created by the TABLE option\",\"help\":\"TABLELEGEND &lt;(EXCEPTIONS)&gt;\",\"type\":\"standaloneOrValue\"},{\"name\":\"TABLEOUTLIM\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"augments the basic table created by the TABLE option with columns indicating which control limits (if any) are exceeded\",\"help\":\"TABLEOUTLIM &lt;(EXCEPTIONS)&gt;\",\"type\":\"standaloneOrValue\"},{\"name\":\"TABLETESTS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"augments the basic table created by the TABLES option with a column that indicates which of the tests for special causes (requested with the TESTS= option) are positive\",\"help\":\"TABLETESTS &lt;(EXCEPTIONS)&gt;\",\"type\":\"standaloneOrValue\"},{\"name\":\"TARGET=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"provides target values used to compute the capability index Cpm, which is saved in the OUTLIMITS= data set\",\"help\":\"TARGET=*value-list*\",\"type\":\"value\"},{\"name\":\"TEST2RESET=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"enables tests for special causes to be reset in a secondary chart\",\"help\":\"TEST2RESET=*variable* | *value*\",\"type\":\"value\"},{\"name\":\"TEST2RUN=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the length of the pattern for Test 2 requested with the TESTS= and TESTS2= options\",\"help\":\"TEST2RUN=7 | 8 | 9 | 11 | 14 | 20\",\"type\":\"choice\",\"arguments\":[{\"name\":\"7\",\"followsDelimiter\":\"/\",\"description\":\"specifies a run-length of 7 in a row on one side of the central line\",\"type\":\"standalone\"},{\"name\":\"8\",\"followsDelimiter\":\"/\",\"description\":\"specifies a run-length of 8 in a row on one side of the central line\",\"type\":\"standalone\"},{\"name\":\"9\",\"followsDelimiter\":\"/\",\"description\":\"specifies a run-length of 9 in a row on one side of the central line\",\"type\":\"standalone\"},{\"name\":\"11\",\"followsDelimiter\":\"/\",\"description\":\"specifies at least 10 out of 11 in a row on one side of the central line\",\"type\":\"standalone\"},{\"name\":\"14\",\"followsDelimiter\":\"/\",\"description\":\"specifies at least 12 out of 14 in a row on one side of the central line\",\"type\":\"standalone\"},{\"name\":\"20\",\"followsDelimiter\":\"/\",\"description\":\"specifies at least 16 out of 20 in a row on one side of the central line\",\"type\":\"standalone\"}]},{\"name\":\"TEST3RUN=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the length of the pattern for Test 3 requested with the TESTS= and TESTS2= options\",\"help\":\"TEST3RUN=6 | 7 | 8\",\"type\":\"choice\",\"arguments\":[{\"name\":\"6\",\"followsDelimiter\":\"/\",\"description\":\"searches for a pattern of steadily increasing or decreasing values with length at least 6\",\"type\":\"standalone\"},{\"name\":\"7\",\"followsDelimiter\":\"/\",\"description\":\"searches for a pattern of steadily increasing or decreasing values with length at least 7\",\"type\":\"standalone\"},{\"name\":\"8\",\"followsDelimiter\":\"/\",\"description\":\"searches for a pattern of steadily increasing or decreasing values with length at least 8\",\"type\":\"standalone\"}]},{\"name\":\"TESTACROSS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that tests for special causes requested with the TESTS= or TESTS2= options be applied without regard to phases (blocks of consecutive subgroups) determined by the READPHASES= option and the variable _PHASE_ in the input data set\",\"type\":\"standalone\"},{\"name\":\"TESTLABBOX\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"requests that labels for subgroups with positive tests for special causes are positioned so they do not overlap\",\"type\":\"standalone\"},{\"name\":\"TESTLABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"provides labels for points at which one of the tests for special causes (requested with the TESTS= or TESTS2= option) is positive\",\"help\":\"TESTLABEL='*label*' | (*variable*) | TESTINDEX | SPACE | NONE\",\"type\":\"value\"},{\"name\":\"TESTLABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a label for points at which the test for special causes requested with the index n in a TESTS= or TESTS2= list is positive\",\"help\":\"TESTLABEL*n*='*label*'\",\"type\":\"value\"},{\"name\":\"TESTNMETHOD=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"applies the tests for special causes requested with the TESTS= and TESTS2= options to standardized test statistics when the subgroup sample sizes are not constant\",\"help\":\"TESTNMETHOD=STANDARDIZE\",\"type\":\"value\"},{\"name\":\"TESTOVERLAP\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"applies tests for special causes (requested with the TESTS= or TESTS2= option) to overlapping patterns of points\",\"type\":\"standalone\"},{\"name\":\"TESTRESET=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"enables tests for special causes to be reset in a primary chart\",\"help\":\"TESTRESET=*variable* | *value*\",\"type\":\"value\"},{\"name\":\"TESTS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies customized tests for special causes for the primary control chart to search for k out of m points in a row in the interval (a,b)\",\"help\":\"TESTS=T(K=*k* M=*m* LOWER=*a* UPPER=*b* SCHEME=*scheme* CODE=*character* LABEL=*'label'* LEGEND=*'legend'*)\",\"type\":\"value\",\"arguments\":[{\"name\":\"K=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the number of points\",\"help\":\"K=*k*\",\"type\":\"value\"},{\"name\":\"M=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the number of consecutive points\",\"help\":\"M=*m*\",\"type\":\"value\"},{\"name\":\"LOWER=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the lower limit of interval (a,b)\",\"help\":\"LOWER=*value*\",\"type\":\"value\"},{\"name\":\"UPPER=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the upper limit of interval (a,b)\",\"help\":\"UPPER=*value*\",\"type\":\"value\"},{\"name\":\"SCHEME=\",\"followsDelimiter\":\"/\",\"description\":\"specifies a one-sided scheme using (a,b)\",\"help\":\"SCHEME=ONESIDED\",\"type\":\"value\"},{\"name\":\"SCHEME=\",\"followsDelimiter\":\"/\",\"description\":\"specifies a two-sided scheme using (a,b) union (-b,-a)\",\"help\":\"SCHEME=TWOSIDED\",\"type\":\"value\"},{\"name\":\"CODE=\",\"followsDelimiter\":\"/\",\"description\":\"specifies an identifier for test (A--H)\",\"help\":\"CODE=*character*\",\"type\":\"value\"},{\"name\":\"LABEL=\",\"followsDelimiter\":\"/\",\"description\":\"specifies a label for points if signal\",\"help\":\"LABEL=*'label'*\",\"type\":\"value\"},{\"name\":\"LEGEND=\",\"followsDelimiter\":\"/\",\"description\":\"specifies a legend used with the TABLELEGEND option\",\"help\":\"LEGEND=*'legend'*\",\"type\":\"value\"}]},{\"name\":\"TESTS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies customized tests for special causes for the primary control chart to search for k points in a row increasing or decreasing\",\"help\":\"TESTS=M(K=*k* DIR=*direction* CODE=*character* LABEL=*'label'* LEGEND=*'legend'*)\",\"type\":\"value\",\"arguments\":[{\"name\":\"K=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the number of points\",\"help\":\"K=*k*\",\"type\":\"value\"},{\"name\":\"DIR=\",\"followsDelimiter\":\"/\",\"description\":\"specifies an increasing pattern\",\"help\":\"DIR=INC\",\"type\":\"value\"},{\"name\":\"DIR=\",\"followsDelimiter\":\"/\",\"description\":\"specifies a decreasing pattern\",\"help\":\"DIR=DEC\",\"type\":\"value\"},{\"name\":\"CODE=\",\"followsDelimiter\":\"/\",\"description\":\"specifies an identifier for test (A--H)\",\"help\":\"CODE=*character*\",\"type\":\"value\"},{\"name\":\"LABEL=\",\"followsDelimiter\":\"/\",\"description\":\"specifies a label for points if signal\",\"help\":\"LABEL=*'label'*\",\"type\":\"value\"},{\"name\":\"LEGEND=\",\"followsDelimiter\":\"/\",\"description\":\"specifies a legend used with the TABLELEGEND option\",\"help\":\"LEGEND=*'legend'*\",\"type\":\"value\"}]},{\"name\":\"TESTS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies customized tests for special causes for the primary control chart to search for a statistically significant linear trend over a window of k points\",\"help\":\"TESTS=S(K=*k* CLEV=*α* FORM=*character* CODE=*character* LABEL=*'label'* LEGEND=*'legend'*)\",\"type\":\"value\",\"arguments\":[{\"name\":\"K=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the number of points in sliding window (k > 2)\",\"help\":\"K=*k*\",\"type\":\"value\"},{\"name\":\"CLEV=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the Type I (false positive) error rate (0 < α ≤ 0.5)\",\"help\":\"CLEV=*α*\",\"type\":\"value\"},{\"name\":\"FORM=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the type of trend test (P=parametric, N=nonparametric)\",\"help\":\"FORM=*character*\",\"type\":\"value\"},{\"name\":\"CODE=\",\"followsDelimiter\":\"/\",\"description\":\"specifies an identifier for test (A--H)\",\"help\":\"CODE=*character*\",\"type\":\"value\"},{\"name\":\"LABEL=\",\"followsDelimiter\":\"/\",\"description\":\"specifies a label for points if signal\",\"help\":\"LABEL=*'label'*\",\"type\":\"value\"},{\"name\":\"LEGEND=\",\"followsDelimiter\":\"/\",\"description\":\"specifies a legend used with the TABLELEGEND option\",\"help\":\"LEGEND=*'legend'*\",\"type\":\"value\"}]},{\"name\":\"TESTS2=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"requests one or more tests for special causes for an R chart or s chart\",\"help\":\"TESTS2=*index-list*\",\"type\":\"value\",\"arguments\":[{\"name\":\"1\",\"followsDelimiter\":\"/\",\"description\":\"specifies one point beyond Zone A (outside the control limits)\",\"type\":\"standalone\"},{\"name\":\"2\",\"followsDelimiter\":\"/\",\"description\":\"specifies nine points in a row in Zone C or beyond on one side of the central line\",\"type\":\"standalone\"},{\"name\":\"3\",\"followsDelimiter\":\"/\",\"description\":\"specifies six points in a row steadily increasing\",\"type\":\"standalone\"},{\"name\":\"4\",\"followsDelimiter\":\"/\",\"description\":\"specifies fourteen points in a row alternating up and down\",\"type\":\"standalone\"},{\"name\":\"5\",\"followsDelimiter\":\"/\",\"description\":\"specifies two out of three points in a row in Zone A or beyond\",\"type\":\"standalone\"},{\"name\":\"6\",\"followsDelimiter\":\"/\",\"description\":\"specifies four out of five points in a row in Zone B or beyond\",\"type\":\"standalone\"},{\"name\":\"7\",\"followsDelimiter\":\"/\",\"description\":\"specifies fifteen points in a row in Zone C on either or both sides of the central line\",\"type\":\"standalone\"},{\"name\":\"8\",\"followsDelimiter\":\"/\",\"description\":\"specifies eight points in a row on either or both sides of the central line with no points in Zone C\",\"type\":\"standalone\"}]},{\"name\":\"TESTS2=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies customized tests for special causes for the primary control chart to search for k out of m points in a row in the interval (a,b)\",\"help\":\"TESTS2=T(K=*k* M=*m* LOWER=*a* UPPER=*b* SCHEME=*scheme* CODE=*character* LABEL=*'label'* LEGEND=*'legend'*)\",\"type\":\"value\",\"arguments\":[{\"name\":\"K=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the number of points\",\"help\":\"K=*k*\",\"type\":\"value\"},{\"name\":\"M=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the number of consecutive points\",\"help\":\"M=*m*\",\"type\":\"value\"},{\"name\":\"LOWER=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the lower limit of interval (a,b)\",\"help\":\"LOWER=*value*\",\"type\":\"value\"},{\"name\":\"UPPER=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the upper limit of interval (a,b)\",\"help\":\"UPPER=*value*\",\"type\":\"value\"},{\"name\":\"SCHEME=\",\"followsDelimiter\":\"/\",\"description\":\"specifies a one-sided scheme using (a,b)\",\"help\":\"SCHEME=ONESIDED\",\"type\":\"value\"},{\"name\":\"SCHEME=\",\"followsDelimiter\":\"/\",\"description\":\"specifies a two-sided scheme using (a,b) union (-b,-a)\",\"help\":\"SCHEME=TWOSIDED\",\"type\":\"value\"},{\"name\":\"CODE=\",\"followsDelimiter\":\"/\",\"description\":\"specifies an identifier for test (A--H)\",\"help\":\"CODE=*character*\",\"type\":\"value\"},{\"name\":\"LABEL=\",\"followsDelimiter\":\"/\",\"description\":\"specifies a label for points if signal\",\"help\":\"LABEL=*'label'*\",\"type\":\"value\"},{\"name\":\"LEGEND=\",\"followsDelimiter\":\"/\",\"description\":\"specifies a legend used with the TABLELEGEND option\",\"help\":\"LEGEND=*'legend'*\",\"type\":\"value\"}]},{\"name\":\"TESTS2=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies customized tests for special causes for the primary control chart to search for k points in a row increasing or decreasing\",\"help\":\"TESTS2=M(K=*k* DIR=*direction* CODE=*character* LABEL=*'label'* LEGEND=*'legend'*)\",\"type\":\"value\",\"arguments\":[{\"name\":\"K=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the number of points\",\"help\":\"K=*k*\",\"type\":\"value\"},{\"name\":\"DIR=\",\"followsDelimiter\":\"/\",\"description\":\"specifies an increasing pattern\",\"help\":\"DIR=INC\",\"type\":\"value\"},{\"name\":\"DIR=\",\"followsDelimiter\":\"/\",\"description\":\"specifies a decreasing pattern\",\"help\":\"DIR=DEC\",\"type\":\"value\"},{\"name\":\"CODE=\",\"followsDelimiter\":\"/\",\"description\":\"specifies an identifier for test (A--H)\",\"help\":\"CODE=*character*\",\"type\":\"value\"},{\"name\":\"LABEL=\",\"followsDelimiter\":\"/\",\"description\":\"specifies a label for points if signal\",\"help\":\"LABEL=*'label'*\",\"type\":\"value\"},{\"name\":\"LEGEND=\",\"followsDelimiter\":\"/\",\"description\":\"specifies a legend used with the TABLELEGEND option\",\"help\":\"LEGEND=*'legend'*\",\"type\":\"value\"}]},{\"name\":\"TESTS2=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies customized tests for special causes for the primary control chart to search for a statistically significant linear trend over a window of k points\",\"help\":\"TESTS2=S(K=*k* CLEV=*α* FORM=*character* CODE=*character* LABEL=*'label'* LEGEND=*'legend'*)\",\"type\":\"value\",\"arguments\":[{\"name\":\"K=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the number of points in sliding window (k > 2)\",\"help\":\"K=*k*\",\"type\":\"value\"},{\"name\":\"CLEV=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the Type I (false positive) error rate (0 < α ≤ 0.5)\",\"help\":\"CLEV=*α*\",\"type\":\"value\"},{\"name\":\"FORM=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the type of trend test (P=parametric, N=nonparametric)\",\"help\":\"FORM=*character*\",\"type\":\"value\"},{\"name\":\"CODE=\",\"followsDelimiter\":\"/\",\"description\":\"specifies an identifier for test (A--H)\",\"help\":\"CODE=*character*\",\"type\":\"value\"},{\"name\":\"LABEL=\",\"followsDelimiter\":\"/\",\"description\":\"specifies a label for points if signal\",\"help\":\"LABEL=*'label'*\",\"type\":\"value\"},{\"name\":\"LEGEND=\",\"followsDelimiter\":\"/\",\"description\":\"specifies a legend used with the TABLELEGEND option\",\"help\":\"LEGEND=*'legend'*\",\"type\":\"value\"}]},{\"name\":\"TOTPANELS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the total number of panels to be used to display the chart\",\"help\":\"TOTPANELS=*n*\",\"type\":\"value\"},{\"name\":\"TYPE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the value of the _TYPE_ variable in the OUTLIMITS= data set, which in turn indicates whether certain parameter variables in this data set represent estimates or standard (known) values\",\"help\":\"TYPE=ESTIMATE | STDMU | STDSIGMA | STANDARD\",\"type\":\"choice\"},{\"name\":\"UCLLABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a label for the upper control limit in the primary chart\",\"help\":\"UCLLABEL='*label*'\",\"type\":\"value\"},{\"name\":\"USL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"provides upper specification limits used to compute capability indices\",\"help\":\"USL=*value-list*\",\"type\":\"value\"},{\"name\":\"VAXIS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies major tick mark values for the vertical axis of a primary chart\",\"help\":\"VAXIS=*value-list* | AXIS*n*\",\"type\":\"value\"},{\"name\":\"VFORMAT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a format to be used for displaying tick mark labels on the vertical axis of a primary chart\",\"help\":\"VFORMAT=*format*\",\"type\":\"value\"},{\"name\":\"VFORMAT2=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a format to be used for displaying tick mark labels on the vertical axis of a secondary chart\",\"help\":\"VFORMAT2=*format*\",\"type\":\"value\"},{\"name\":\"VOFFSET=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the length of the offset at each end of the vertical axis\",\"help\":\"VOFFSET=*value*\",\"type\":\"value\"},{\"name\":\"VREF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"draws reference lines perpendicular to the vertical axis on the primary chart\",\"help\":\"VREF=*value-list* | *SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"VREFLABELS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies labels for the reference lines requested by the VREF= option\",\"help\":\"VREFLABELS='*label1*'...'*labeln*'\",\"type\":\"value\"},{\"name\":\"VREFLABPOS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the horizontal position of the VREFLABELS= and VREF2LABELS= labels\",\"help\":\"VREFLABPOS=1 | 2 | 3\",\"type\":\"choice\",\"arguments\":[{\"name\":\"1\",\"followsDelimiter\":\"/\",\"description\":\"left-justifies in subplot area\",\"type\":\"standalone\"},{\"name\":\"2\",\"followsDelimiter\":\"/\",\"description\":\"right-justifies in subplot area\",\"type\":\"standalone\"},{\"name\":\"3\",\"followsDelimiter\":\"/\",\"description\":\"left-justifies in right margin\",\"type\":\"standalone\"}]},{\"name\":\"VZERO\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"forces the origin to be included in the vertical axis for a primary chart\",\"type\":\"standalone\"},{\"name\":\"VZERO2\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"forces the origin to be included in the vertical axis for a secondary chart\",\"type\":\"standalone\"},{\"name\":\"WESTGARD=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"requests that one or more of the Westgard rules (tests for special causes) be applied\",\"help\":\"WESTGARD=*index-list*\",\"type\":\"value\",\"arguments\":[{\"name\":\"1\",\"followsDelimiter\":\"/\",\"description\":\"specifies one point in Zone A or beyond\",\"type\":\"standalone\"},{\"name\":\"2\",\"followsDelimiter\":\"/\",\"description\":\"specifies one point beyond Zone A (outside the control limits)\",\"type\":\"standalone\"},{\"name\":\"3\",\"followsDelimiter\":\"/\",\"description\":\"specifies two points in a row in Zone A or beyond on the same side of the central line\",\"type\":\"standalone\"},{\"name\":\"4\",\"followsDelimiter\":\"/\",\"description\":\"specifies at least one point in Zone A or beyond on each side of the central line\",\"type\":\"standalone\"},{\"name\":\"5\",\"followsDelimiter\":\"/\",\"description\":\"specifies four points in a row in Zone B or beyond on the same side of the central line\",\"type\":\"standalone\"},{\"name\":\"6\",\"followsDelimiter\":\"/\",\"description\":\"specifies ten points in a row on the same side of the central line\",\"type\":\"standalone\"}]},{\"name\":\"ZEROSTD\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that a control chart is to be constructed and displayed regardless of whether the estimated process standard deviation is zero\",\"help\":\"ZEROSTD&lt;=NOLIMITS&gt;\",\"type\":\"standaloneOrValue\"},{\"name\":\"ZONE2LABELS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"adds the labels A, B, and C to zone lines requested with the ZONES2 or ZONE2VALUES options\",\"type\":\"standalone\"},{\"name\":\"ZONE2VALUES\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"labels R or s chart zones lines with their values\",\"type\":\"standalone\"},{\"name\":\"ZONES2\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"adds lines to an R or s chart that delineate zones A, B, and C for tests requested with the TESTS2= option\",\"type\":\"standalone\"},{\"name\":\"ZONEVALPOS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the horizontal position of the ZONEVALUES= and ZONE2VALUES= labels\",\"help\":\"ZONEVALPOS=1 | 2 | 3\",\"type\":\"choice\",\"arguments\":[{\"name\":\"1\",\"followsDelimiter\":\"/\",\"description\":\"left-justifies in subplot area\",\"type\":\"standalone\"},{\"name\":\"2\",\"followsDelimiter\":\"/\",\"description\":\"right-justifies in subplot area\",\"type\":\"standalone\"},{\"name\":\"3\",\"followsDelimiter\":\"/\",\"description\":\"left-justifies in right margin\",\"type\":\"standalone\"}]},{\"name\":\"ZONEVALUES\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"labels the primary chart zones lines with their values\",\"type\":\"standalone\"},{\"name\":\"BLOCKREFTRANSPARENCY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"PHASEREFTRANSPARENCY=\",\"REFFILLTRANSPARENCY=\"],\"description\":\"specifies the wall fill transparency for blocks and phases when transparency is used in ODS Graphics output\",\"help\":\"BLOCKREFTRANSPARENCY=*value*\",\"type\":\"value\"},{\"name\":\"BOXTRANSPARENCY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the box fill transparency for box-and-whisker charts when transparency is used in ODS Graphics output\",\"help\":\"BOXTRANSPARENCY=*value*\",\"type\":\"value\"},{\"name\":\"INFILLTRANSPARENCY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the control limit infill transparency when transparency is used in ODS Graphics output\",\"help\":\"INFILLTRANSPARENCY=*value*\",\"type\":\"value\"},{\"name\":\"MARKERDISPLAY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a subset of subgroups to be plotted with markers on a primary chart that is not an R or s chart\",\"help\":\"MARKERDISPLAY=OOC | UPPER | LOWER | RUNSTEST\",\"type\":\"choice\",\"arguments\":[{\"name\":\"OOC\",\"followsDelimiter\":\"/\",\"description\":\"selects subgroups outside the control limits\",\"type\":\"standalone\"},{\"name\":\"UPPER\",\"followsDelimiter\":\"/\",\"description\":\"selects subgroups above the upper control limit\",\"type\":\"standalone\"},{\"name\":\"LOWER\",\"followsDelimiter\":\"/\",\"description\":\"selects subgroups below the lower control limit\",\"type\":\"standalone\"},{\"name\":\"RUNSTEST\",\"followsDelimiter\":\"/\",\"description\":\"selects subgroups that signal positive tests for special causes\",\"type\":\"standalone\"}]},{\"name\":\"MARKERDISPLAY2=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a subset of subgroups to be plotted with markers on an R or s chart\",\"help\":\"MARKERDISPLAY2=OOC | UPPER | LOWER | RUNSTEST\",\"type\":\"choice\",\"arguments\":[{\"name\":\"OOC\",\"followsDelimiter\":\"/\",\"description\":\"selects subgroups outside the control limits\",\"type\":\"standalone\"},{\"name\":\"UPPER\",\"followsDelimiter\":\"/\",\"description\":\"selects subgroups above the upper control limit\",\"type\":\"standalone\"},{\"name\":\"LOWER\",\"followsDelimiter\":\"/\",\"description\":\"selects subgroups below the lower control limit\",\"type\":\"standalone\"},{\"name\":\"RUNSTEST\",\"followsDelimiter\":\"/\",\"description\":\"selects subgroups that signal positive tests for special causes\",\"type\":\"standalone\"}]},{\"name\":\"MARKERLABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a variable whose values provide labels for the subgroups that are plotted with markers on a primary chart that is not an R or s chart\",\"help\":\"MARKERLABEL=(*variable*)\",\"type\":\"value\"},{\"name\":\"MARKERLABEL2=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a variable whose values provide labels for the subgroups that are plotted with markers on an R or s chart\",\"help\":\"MARKERLABEL2=(*variable*)\",\"type\":\"value\"},{\"name\":\"MARKERMISSINGGROUP=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies whether subgroups with missing symbol-variable values are plotted with a unique marker\",\"help\":\"MARKERMISSINGGROUP=TRUE | FALSE\",\"type\":\"choice\"},{\"name\":\"MARKERS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"plots subgroup points with markers\",\"type\":\"standalone\"},{\"name\":\"NOBLOCKREF\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"NOPHASEREF\",\"NOREF\"],\"description\":\"suppresses block and phase reference lines from ODS Graphics output\",\"type\":\"standalone\"},{\"name\":\"NOBLOCKREFFILL\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"NOPHASEREFFILL\",\"NOREFFILL\"],\"description\":\"suppresses the block and phase wall fills from ODS Graphics output\",\"type\":\"standalone\"},{\"name\":\"NOBOXFILLLEGEND\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"NOFILLLEGEND\",\"NOSTARFILLLEGEND\"],\"description\":\"suppresses the legend for the levels of a BOXFILL= or STARFILL= variable in ODS Graphics output\",\"type\":\"standalone\"},{\"name\":\"NOTRANSPARENCY\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"disables transparency in ODS Graphics output, so that all graph features are opaque\",\"type\":\"standalone\"},{\"name\":\"ODSFOOTNOTE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"adds a footnote to ODS Graphics output\",\"help\":\"ODSFOOTNOTE=FOOTNOTE | FOOTNOTE1 | '*string*'\",\"type\":\"value\"},{\"name\":\"ODSFOOTNOTE2=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"adds a secondary footnote to ODS Graphics output\",\"help\":\"ODSFOOTNOTE2=FOOTNOTE2 | '*string*'\",\"type\":\"value\"},{\"name\":\"ODSLEGENDEXPAND\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that legend entries contain all levels observed in the data\",\"type\":\"standalone\"},{\"name\":\"ODSTITLE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a title for ODS Graphics output\",\"help\":\"ODSTITLE=TITLE | TITLE1 | NONE | DEFAULT | LABELFMT | '*string*'\",\"type\":\"value\"},{\"name\":\"ODSTITLE2=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a secondary title for ODS Graphics output\",\"help\":\"ODSTITLE2=TITLE2 | '*string*'\",\"type\":\"value\"},{\"name\":\"OUTFILLTRANSPARENCY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the control limit outfill transparency when transparency is used in ODS Graphics output\",\"help\":\"OUTFILLTRANSPARENCY=*value*\",\"type\":\"value\"},{\"name\":\"OUTHIGHURL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a variable whose values are URLs to be associated with outlier points above the upper fence on a schematic box chart when ODS Graphics output is directed into HTML\",\"help\":\"OUTHIGHURL=*variable*\",\"type\":\"value\"},{\"name\":\"OUTLOWURL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a variable whose values are URLs to be associated with outlier points below the lower fence on a schematic box chart when ODS Graphics output is directed into HTML\",\"help\":\"OUTLOWURL=*variable*\",\"type\":\"value\"},{\"name\":\"OVERLAY2URL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies variables whose values are URLs to be associated with points on secondary chart overlays\",\"help\":\"OVERLAY2URL=(*variable-list*)\",\"type\":\"value\"},{\"name\":\"OVERLAYURL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies variables whose values are URLs to be associated with points on primary chart overlays\",\"help\":\"OVERLAYURL=(*variable-list*)\",\"type\":\"value\"},{\"name\":\"PHASEBOXLABELS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"draws phase labels as titles along the top of phase boxes\",\"type\":\"standalone\"},{\"name\":\"PHASEPOS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the vertical position of the phase legend\",\"help\":\"PHASEPOS=1 | 2 | 3 | 4\",\"type\":\"choice\",\"arguments\":[{\"name\":\"1\",\"followsDelimiter\":\"/\",\"description\":\"places at top of chart, offset from axis frame\",\"type\":\"standalone\"},{\"name\":\"2\",\"followsDelimiter\":\"/\",\"description\":\"places at top of chart, immediately above axis frame\",\"type\":\"standalone\"},{\"name\":\"3\",\"followsDelimiter\":\"/\",\"description\":\"places at bottom of chart, immediately above horizontal axis\",\"type\":\"standalone\"},{\"name\":\"4\",\"followsDelimiter\":\"/\",\"description\":\"places at bottom of chart, below horizontal axis label\",\"type\":\"standalone\"}]},{\"name\":\"PHASEREFLEVEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"enables you to associate phase reference lines (block reference lines) with either the innermost or the outermost level\",\"help\":\"PHASEREFLEVEL=INNER | OUTER | NONE\",\"type\":\"choice\"},{\"name\":\"QCSYMBOLS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies which set of symbol markers is used to plot points on a control chart\",\"help\":\"QCSYMBOLS=TRUE | FALSE\",\"type\":\"choice\"},{\"name\":\"SIMULATEQCFONT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"draws the central line labels using a simulated software font rather than a hardware font\",\"type\":\"standalone\"},{\"name\":\"STARTRANSPARENCY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the star fill transparency when transparency is used in ODS Graphics output\",\"help\":\"STARTRANSPARENCY=*value*\",\"type\":\"value\"},{\"name\":\"URL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies URLs as values of the specified character variable (or formatted values of a numeric variable) to associate with subgroup points on a primary control chart when ODS Graphics output is directed into HTML\",\"help\":\"URL=*variable*\",\"type\":\"value\"},{\"name\":\"URL2=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies URLs as values of the specified character variable (or formatted values of a numeric variable) to associate with subgroup points on a secondary control chart when ODS Graphics output is directed into HTML\",\"help\":\"URL2=*variable*\",\"type\":\"value\"},{\"name\":\"ANNOTATE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"ANNO=\"],\"description\":\"specifies an ANNOTATE= type data set that enhances a primary chart\",\"help\":\"ANNOTATE=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"BILEVEL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"arranges the Shewhart chart in two levels (rather than the default of one level) so that twice as much data can be displayed on a page or screen\",\"type\":\"standalone\"},{\"name\":\"CAXIS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the color for the axes and tick marks\",\"help\":\"CAXIS=*color*\",\"type\":\"color\"},{\"name\":\"CBLOCKLAB=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies fill colors for the frames that enclose the block-variable labels in a block legend\",\"help\":\"CBLOCKLAB=*color* | (*color-list*)\",\"type\":\"color\"},{\"name\":\"CBLOCKVAR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies variables whose values are colors for filling the background of the legend associated with block-variables\",\"help\":\"CBLOCKVAR=*variable* | (*variable-list*)\",\"type\":\"value\"},{\"name\":\"CCLIP=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a color for the plotting symbol that is specified with the CLIPSYMBOL option to mark clipped points\",\"help\":\"CCLIP=*color*\",\"type\":\"color\"},{\"name\":\"CCONNECT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the color for the line segments connecting points on the chart\",\"help\":\"CCONNECT=*color*\",\"type\":\"color\"},{\"name\":\"CCOVERLAY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the colors for the line segments connecting points on primary chart overlays\",\"help\":\"CCOVERLAY=(*color-list*)\",\"type\":\"color\"},{\"name\":\"CCOVERLAY2=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the colors for the line segments connecting points on secondary chart overlays\",\"help\":\"CCOVERLAY2=(*color-list*)\",\"type\":\"color\"},{\"name\":\"CFRAME=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the colors for filling the rectangle enclosed by the axes and the frame\",\"help\":\"CFRAME=*color* | (*color-list*)\",\"type\":\"color\"},{\"name\":\"CGRID=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the color for the grid requested by the ENDGRID or GRID option\",\"help\":\"CGRID=*color*\",\"type\":\"color\"},{\"name\":\"CHREF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the color for the lines requested by the HREF= and HREF2= options\",\"help\":\"CHREF=*color*\",\"type\":\"color\"},{\"name\":\"CLABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the color for labels produced by the ALLLABEL=, ALLLABEL2=, OUTLABEL=, and OUTLABEL2= options\",\"help\":\"CLABEL=*color*\",\"type\":\"color\"},{\"name\":\"CLIMITS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the color for the control limits, the central line, and the labels for these lines\",\"help\":\"CLIMITS=*color*\",\"type\":\"color\"},{\"name\":\"CLIPLEGPOS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the position for the legend that indicates the number of clipped points when the CLIPFACTOR= option is used\",\"help\":\"CLIPLEGPOS=TOP | BOTTOM\",\"type\":\"choice\"},{\"name\":\"CLIPSYMBOL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a plot symbol used to identify clipped points on the chart and in the legend when the CLIPFACTOR= option is used\",\"help\":\"CLIPSYMBOL=*symbol*\",\"type\":\"value\"},{\"name\":\"CLIPSYMBOLHT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the height for the symbol marker used to identify clipped points on the chart when the CLIPFACTOR= option is used\",\"help\":\"CLIPSYMBOLHT=*value*\",\"type\":\"value\"},{\"name\":\"CNEEDLES=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"requests that points are to be connected to the central line with vertical line segments (needles) and specifies the color of the needles\",\"help\":\"CNEEDLES=*color*\",\"type\":\"color\"},{\"name\":\"COUTFILL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the fill color for the areas outside the control limits that lie between the connected points and the control limits and are bounded by connecting lines\",\"help\":\"COUTFILL=*color*\",\"type\":\"color\"},{\"name\":\"COVERLAY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the colors used to plot primary chart overlay variables specified in the OVERLAY= list\",\"help\":\"COVERLAY=(*color-list*)\",\"type\":\"color\"},{\"name\":\"COVERLAY2=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the colors used to plot secondary chart overlay variables specified in the OVERLAY2= list\",\"help\":\"COVERLAY2=(*color-list*)\",\"type\":\"color\"},{\"name\":\"COVERLAYCLIP=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the color used to plot clipped values on overlay plots when the CLIPFACTOR= option is used\",\"help\":\"COVERLAYCLIP=*color*\",\"type\":\"color\"},{\"name\":\"CPHASELEG=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a text color for the phase labels requested with the PHASELEGEND option\",\"help\":\"CPHASELEG=*color*\",\"type\":\"color\"},{\"name\":\"CSTARCIRCLES=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a color for the circles requested with the STARCIRCLES= option\",\"help\":\"CSTARCIRCLES=*color*\",\"type\":\"color\"},{\"name\":\"CSTARFILL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a color or colors for filling the interior of stars requested with the STARVERTICES= option\",\"help\":\"CSTARFILL=*color* | (*variable*)\",\"type\":\"color\"},{\"name\":\"CSTARS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a color or colors for the outlines of stars requested with the STARVERTICES= option\",\"help\":\"CSTARS=*color* | (*variable*)\",\"type\":\"color\"},{\"name\":\"CTESTLABBOX=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the color for boxes enclosing labels for positive tests for special causes requested with the TESTLABBOX option\",\"help\":\"CTESTLABBOX=*color*\",\"type\":\"color\"},{\"name\":\"CTESTS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies colors for labels indicating points where a test for special causes specified in the TESTS= option is positive\",\"help\":\"CTESTS=*color* | *test-color-list*\",\"type\":\"color\"},{\"name\":\"CTESTSYMBOL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the color of the symbol used to plot subgroups with positive tests for special causes\",\"help\":\"CTESTSYMBOL=*color*\",\"type\":\"color\"},{\"name\":\"CTEXT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the color for tick mark values, axis labels, the sample size legend, and the control limit legend\",\"help\":\"CTEXT=*color*\",\"type\":\"color\"},{\"name\":\"CVREF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the color for reference lines requested by the VREF= and VREF2= options\",\"help\":\"CVREF=*color*\",\"type\":\"color\"},{\"name\":\"CZONES=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"requests lines marking zones A, B, and C for the tests for special causes\",\"help\":\"CZONES=*color*\",\"type\":\"color\"},{\"name\":\"DESCRIPTION=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a description, up to 256 characters long, for the GRSEG catalog entry for the primary chart\",\"help\":\"DESCRIPTION='*string*'\",\"type\":\"value\"},{\"name\":\"ENDGRID\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"a grid to the rightmost portion of the chart, beginning with the first labeled major tick mark position that follows the last plotted point\",\"type\":\"standalone\"},{\"name\":\"FONT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a software font for labels and legends\",\"help\":\"FONT=*font*\",\"type\":\"value\"},{\"name\":\"HEIGHT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the height (in vertical screen percent units) of the text for axis labels and legends\",\"help\":\"HEIGHT=*value*\",\"type\":\"value\"},{\"name\":\"HMINOR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the number of (unlabeled) minor tick marks between each major tick mark on the horizontal axis\",\"help\":\"HMINOR=*n*\",\"type\":\"value\"},{\"name\":\"HTML=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a variable whose values create links associated with subgroup points on a primary control chart when traditional graphics output is directed into HTML\",\"help\":\"HTML=*variable*\",\"type\":\"value\"},{\"name\":\"HTML2=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a variable whose values create links associated with subgroup points on a secondary control chart when traditional graphics output is directed into HTML\",\"help\":\"HTML2=*variable*\",\"type\":\"value\"},{\"name\":\"HTML_LEGEND=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies HTML links as values of the specified character variable (or formatted values of a numeric variable)\",\"help\":\"HTML_LEGEND=*variable*\",\"type\":\"value\"},{\"name\":\"LABELANGLE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the angle at which labels requested with the ALLLABEL=, ALLLABEL2=, OUTLABEL=, and OUTLABEL2= options are drawn\",\"help\":\"LABELANGLE=*angle*\",\"type\":\"value\"},{\"name\":\"LABELFONT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"TESTFONT=\"],\"description\":\"specifies a software font for labels requested with the ALLLABEL=, ALLLABEL2=, OUTLABEL=, OUTLABEL2=, STARLABEL=, TESTLABEL=, and TESTLABELn= options\",\"help\":\"LABELFONT=*font*\",\"type\":\"value\"},{\"name\":\"LABELHEIGHT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"TESTHEIGHT=\"],\"description\":\"specifies the height (in vertical percent screen units) for labels requested with the ALLLABEL=, ALLLABEL2=, OUTLABEL=, OUTLABEL2=, STARLABEL=, TESTLABEL=, and TESTLABELn= options\",\"help\":\"LABELHEIGHT=*value*\",\"type\":\"value\"},{\"name\":\"LENDGRID=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the line type for the grid requested with the ENDGRID option\",\"help\":\"LENDGRID=*n*\",\"type\":\"value\"},{\"name\":\"LGRID=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the line type for the grid requested with the GRID option\",\"help\":\"LGRID=*n*\",\"type\":\"value\"},{\"name\":\"LHREF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the line type for reference lines requested with the HREF= and HREF2= options\",\"help\":\"LHREF=*linetype*\",\"type\":\"value\"},{\"name\":\"LLIMITS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the line type for control limits\",\"help\":\"LLIMITS=*linetype*\",\"type\":\"value\"},{\"name\":\"LOVERLAY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies line types for the line segments connecting points on primary chart overlays corresponding to the OVERLAY= list\",\"help\":\"LOVERLAY=(*linetypes*)\",\"type\":\"value\"},{\"name\":\"LOVERLAY2=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies line types for the line segments connecting points on secondary chart overlays corresponding to the OVERLAY2= list\",\"help\":\"LOVERLAY2=(*linetypes*)\",\"type\":\"value\"},{\"name\":\"LSTARCIRCLES=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies one or more line types for the circles requested with the STARCIRCLES= option\",\"help\":\"LSTARCIRCLES=*linetypes*\",\"type\":\"value\"},{\"name\":\"LSTARS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the line types for the outlines of stars requested with the STARVERTICES= option\",\"help\":\"LSTARS=*linetype* | (*variable*)\",\"type\":\"value\"},{\"name\":\"LTESTS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the line type for the line segments that connect patterns of points for which a test for special causes (requested with the TESTS= option) is positive\",\"help\":\"LTESTS=*linetype*\",\"type\":\"value\"},{\"name\":\"LVREF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the line type for reference lines requested by the VREF= and VREF2= options\",\"help\":\"LVREF=*linetype*\",\"type\":\"value\"},{\"name\":\"LZONES=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the line type for lines that delineate zones A, B, and C for standard tests requested with the TESTS= and/or TESTS2= options\",\"help\":\"LZONES=*n*\",\"type\":\"value\"},{\"name\":\"NAME=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the name of the GRSEG catalog entry for the primary chart, and the name of the graphics output file if one is created\",\"help\":\"NAME='*string*'\",\"type\":\"value\"},{\"name\":\"NOFRAME\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses the default frame drawn around the chart\",\"type\":\"standalone\"},{\"name\":\"NOLIMITSFRAME\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses the default frame for the control limit information that is displayed across the top of the chart when multiple sets of control limits with distinct multiples of σ and nominal control limit sample sizes are read from a LIMITS= data set\",\"type\":\"standalone\"},{\"name\":\"NOPHASEFRAME\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses the default frame for the legend requested by the PHASELEGEND option\",\"type\":\"standalone\"},{\"name\":\"NOVANGLE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"requests vertical axis labels that are strung out vertically\",\"type\":\"standalone\"},{\"name\":\"NOVLABEL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses the label for the primary vertical axis\",\"type\":\"standalone\"},{\"name\":\"NOV2LABEL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses the label for the secondary vertical axis\",\"type\":\"standalone\"},{\"name\":\"OUTHIGHHTML=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a variable whose values create links to be associated with outlier points above the upper fence on a schematic box chart when traditional graphics output is directed into HTML\",\"help\":\"OUTHIGHHTML=*variable*\",\"type\":\"value\"},{\"name\":\"OUTLOWHTML=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a variable whose values create links to be associated with outlier points below the lower fence on a schematic box chart when traditional graphics output is directed into HTML\",\"help\":\"OUTLOWHTML=*variable*\",\"type\":\"value\"},{\"name\":\"OVERLAY2HTML=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies variables whose values create links to be associated with points on secondary chart overlays corresponding to the OVERLAY2= list\",\"help\":\"OVERLAY2HTML=(*variable-list*)\",\"type\":\"value\"},{\"name\":\"OVERLAY2SYM=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies symbols used to plot overlays on a secondary control chart corresponding to the OVERLAY2= list\",\"help\":\"OVERLAY2SYM=(*symbol-list*)\",\"type\":\"value\"},{\"name\":\"OVERLAY2SYMHT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the heights of symbols used to plot overlays on a secondary control chart corresponding to the OVERLAY2= list\",\"help\":\"OVERLAY2SYMHT=(*value-list*)\",\"type\":\"value\"},{\"name\":\"OVERLAYCLIPSYM=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the symbol used to plot clipped values on overlay plots when the CLIPFACTOR= option is used\",\"help\":\"OVERLAYCLIPSYM=*symbol*\",\"type\":\"value\"},{\"name\":\"OVERLAYCLIPSYMHT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the height for the symbol used to plot clipped values on overlay plots when the CLIPFACTOR= option is used\",\"help\":\"OVERLAYCLIPSYMHT=*value*\",\"type\":\"value\"},{\"name\":\"OVERLAYHTML=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies variables whose values create links to be associated with points on primary chart overlays corresponding to the OVERLAY= list\",\"help\":\"OVERLAYHTML=(*variable-list*)\",\"type\":\"value\"},{\"name\":\"OVERLAYSYM=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies symbols used to plot overlays on the primary control chart corresponding to the OVERLAY= list\",\"help\":\"OVERLAYSYM=(*symbol-list*)\",\"type\":\"value\"},{\"name\":\"OVERLAYSYMHT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the heights of symbols used to plot overlays on the primary control chart corresponding to the OVERLAY= list\",\"help\":\"OVERLAYSYMHT=(*value-list*)\",\"type\":\"value\"},{\"name\":\"TESTFONT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"LABELFONT=\"],\"description\":\"specifies a software font for labels requested with the ALLLABEL=, ALLLABEL2=, OUTLABEL=, OUTLABEL2=, STARLABEL=, TESTLABEL=, and TESTLABELn= options\",\"help\":\"TESTFONT=*font*\",\"type\":\"value\"},{\"name\":\"TESTHEIGHT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"LABELHEIGHT=\"],\"description\":\"specifies the height (in vertical percent screen units) for labels requested with the ALLLABEL=, ALLLABEL2=, OUTLABEL=, OUTLABEL2=, STARLABEL=, TESTLABEL=, and TESTLABELn= options\",\"help\":\"TESTHEIGHT=*value*\",\"type\":\"value\"},{\"name\":\"TESTSYMBOL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the symbol for plotting subgroups with positive tests for special causes\",\"help\":\"TESTSYMBOL=*symbol*\",\"type\":\"value\"},{\"name\":\"TESTSYMBOLHT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the height of the symbol used to plot subgroups with positive tests for special causes\",\"help\":\"TESTSYMBOLHT=*value*\",\"type\":\"value\"},{\"name\":\"TURNALL\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"TURNOUT\"],\"description\":\"turns the labels produced by the ALLLABEL=, ALLLABEL2=, OUTLABEL=, and OUTLABEL2= options so that they are strung out vertically\",\"type\":\"standalone\"},{\"name\":\"TURNHLABELS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"turns the major tick mark labels for the horizontal (subgroup) axis so that they are strung out vertically\",\"type\":\"standalone\"},{\"name\":\"VMINOR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the number of minor tick marks between each major tick mark on the vertical axis\",\"help\":\"VMINOR=*n*\",\"type\":\"value\"},{\"name\":\"WAXIS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the width in pixels for the axis and frame lines\",\"help\":\"WAXIS=*n*\",\"type\":\"value\"},{\"name\":\"WGRID=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the width in pixels for grid lines requested with the ENDGRID and GRID options\",\"help\":\"WGRID=*n*\",\"type\":\"value\"},{\"name\":\"WLIMITS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the width in pixels for the control limits and central line\",\"help\":\"WLIMITS=*n*\",\"type\":\"value\"},{\"name\":\"WNEEDLES=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the width in pixels of needles connecting plotted points to the central line, as requested with the NEEDLES option\",\"help\":\"WNEEDLES=*n*\",\"type\":\"value\"},{\"name\":\"WOVERLAY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the widths in pixels for the line segments connecting points on primary chart overlay plots corresponding to the OVERLAY= list\",\"help\":\"WOVERLAY=(*value-list*)\",\"type\":\"value\"},{\"name\":\"WOVERLAY2=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the widths in pixels for the line segments connecting points on secondary chart overlay plots corresponding to the OVERLAY2= list\",\"help\":\"WOVERLAY2=(*value-list*)\",\"type\":\"value\"},{\"name\":\"WSTARCIRCLES=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the width in pixels of the outline of circles requested by the STARCIRCLES= option\",\"help\":\"WSTARCIRCLES=*n*\",\"type\":\"value\"},{\"name\":\"WSTARS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the width in pixels of the outline of stars requested by the STARVERTICES= option\",\"help\":\"WSTARS=*n*\",\"type\":\"value\"},{\"name\":\"WTESTS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the width in pixels of the line segments that connect patterns of points for which a test for special causes (requested with the TESTS= or TESTS2= option) is positive\",\"help\":\"WTESTS=*n*\",\"type\":\"value\"}]},{\"name\":\"SCHART\",\"description\":\"creates an s chart for subgroup standard deviations\",\"help\":\"SCHART  (processes) * subgroup-variable<(block-variables)><=symbol-variable | ='character'></ options>;                                              \\nprocess is the name of the variable containing the raw measurements, or the common prefix of the summary variables in the HISTORY= data set, or the value of the variable _VAR_ in the TABLE= data set                     \\nsubgroup-variable is the variable that identifies subgroups in the data                     \\nblock-variables are optional variables that group the data into blocks of consecutive subgroups                     \\nsymbol-variable is an optional variable whose levels (unique values) determine the symbol marker that is used to plot the subgroup standard deviations                     \\ncharacter is a character that is used to plot the points when you produce traditional graphics                     \",\"arguments\":[{\"name\":\"ALLLABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"labels every point on the primary chart with the value plotted for that subgroup or with the value of variable in the input data set\",\"help\":\"ALLLABEL=VALUE | (*variable*)\",\"type\":\"value\"},{\"name\":\"ALLLABEL2=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"labels every point on an R, s, or trend chart with the value plotted for that subgroup or with the value of variable in the input data set\",\"help\":\"ALLLABEL2=VALUE | (*variable*)\",\"type\":\"value\"},{\"name\":\"ALLN\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"plots summary statistics for all subgroups, regardless of whether the subgroup sample size equals the nominal control limit sample size n specified by the LIMITN= option or the variable _LIMITN_ in the LIMITS= data set\",\"type\":\"standalone\"},{\"name\":\"ALPHA=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"requests α probability limits instead of 3σ control limits\",\"help\":\"ALPHA=*value*\",\"type\":\"value\"},{\"name\":\"BLOCKLABELPOS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the position of a block-variable label in the block legend\",\"help\":\"BLOCKLABELPOS=ABOVE | LEFT | RIGHT\",\"type\":\"choice\"},{\"name\":\"BLOCKLABTYPE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies how lengthy block variable values are treated when there is insufficient space to display them in the block legend\",\"help\":\"BLOCKLABTYPE=SCALED | TRUNCATED | ROTATE | ROTATEALL | *height*\",\"type\":\"value\"},{\"name\":\"BLOCKPOS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the vertical position of the legend for the values of the block-variables\",\"help\":\"BLOCKPOS=*n*\",\"type\":\"value\"},{\"name\":\"BLOCKREP\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that block variable values for all subgroups are to be displayed\",\"type\":\"standalone\"},{\"name\":\"BLOCKVAR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies variables whose values are used to assign colors for filling the background of the legend associated with block variables\",\"help\":\"BLOCKVAR=*variable* | (*variable-list*)\",\"type\":\"value\"},{\"name\":\"BOXES=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a variable whose values are used to assign colors for the outlines of box-and-whiskers plots\",\"help\":\"BOXES=*variable*\",\"type\":\"value\"},{\"name\":\"BOXFILL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies how box-and-whisker plots are filled with colors from the ODS style\",\"help\":\"BOXFILL=*variable* | NONE | EMPTY\",\"type\":\"value\"},{\"name\":\"CFRAMELAB=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"CFRAMELAB\"],\"description\":\"specifies the color for filling rectangles that frame the point labels displayed with the ALLLABEL=, ALLLABEL2=, OUTLABEL=, and OUTLABEL2= options\",\"help\":\"CFRAMELAB=*color*\",\"type\":\"color\"},{\"name\":\"CIINDICES\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"requests capability index confidence limits based on subgroup summary data, calculated using \\\"effective degrees of freedom\\\"\",\"help\":\"CIINDICES &lt;(&lt;TYPE=*keyword*&gt;&lt;ALPHA=*value*&gt;)&gt;\",\"type\":\"standaloneOrValue\",\"arguments\":[{\"name\":\"TYPE=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the type of confidence limit\",\"help\":\"TYPE=LOWER | UPPER | TWOSIDED\",\"type\":\"choice\"},{\"name\":\"ALPHA=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the default confidence level to compute confidence limits\",\"help\":\"ALPHA=*value*\",\"type\":\"value\"}]},{\"name\":\"CINFILL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the color for the area inside the upper and lower control limits\",\"help\":\"CINFILL=*color* | EMPTY | NONE\",\"type\":\"color\"},{\"name\":\"CLIPFACTOR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"requests clipping of extreme points on the control chart\",\"help\":\"CLIPFACTOR=*factor*\",\"type\":\"value\"},{\"name\":\"CLIPLEGEND=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the label for the legend that indicates the number of clipped points when the CLIPFACTOR= option is used\",\"help\":\"CLIPLEGEND='*label*'\",\"type\":\"value\"},{\"name\":\"CLIPSUBCHAR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a substitution character (such as #) for the label provided with the CLIPLEGEND= option\",\"help\":\"CLIPSUBCHAR='*character*'\",\"type\":\"value\"},{\"name\":\"COUT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the color for the plotting symbols and the portions of connecting line segments that lie outside the control limits\",\"help\":\"COUT&lt;=*color*&gt;\",\"type\":\"standaloneOrValue\"},{\"name\":\"CSTAROUT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a color for those portions of the outlines of stars (requested with the STARVERTICES= option) that exceed the inner or outer circles\",\"help\":\"CSTAROUT&lt;=*color*&gt;\",\"type\":\"standaloneOrValue\"},{\"name\":\"DISCRETE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that numeric subgroup variable values be treated as discrete values, so that each tick value on the default subgroup axis corresponds to a unique subgroup variable value\",\"type\":\"standalone\"},{\"name\":\"EXCHART\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"creates a control chart only when exceptions occur, specifically, when the control limits are exceeded or when any of the tests requested with the TESTS= option or the TESTS2= option are positive\",\"type\":\"standalone\"},{\"name\":\"FRONTREF\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"draws reference lines specified with the HREF= and VREF= options in front of box-and-whiskers plots\",\"type\":\"standalone\"},{\"name\":\"GRID\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"adds a grid to the control chart\",\"type\":\"standalone\"},{\"name\":\"HAXIS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies tick mark values for the horizontal (subgroup) axis\",\"help\":\"HAXIS=*values* | AXIS*n*\",\"type\":\"value\"},{\"name\":\"HOFFSET=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the length of the offset at each end of the horizontal axis\",\"help\":\"HOFFSET=*value*\",\"type\":\"value\"},{\"name\":\"HREF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"draws reference lines perpendicular to the horizontal (subgroup) axis on the primary chart\",\"help\":\"HREF=*values*\",\"type\":\"value\"},{\"name\":\"HREF2DATA=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"draws reference lines perpendicular to the horizontal (subgroup) axis on the secondary chart\",\"help\":\"HREF2DATA=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"HREFDATA=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"draws reference lines perpendicular to the horizontal (subgroup) axis on the primary chart\",\"help\":\"HREFDATA=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"HREFLABELS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies labels for the reference lines requested by the HREF= option\",\"help\":\"HREFLABELS='*label1*'...'*labeln*'\",\"type\":\"value\"},{\"name\":\"HREFLABPOS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the vertical position of the HREFLABEL= and HREF2LABEL= labels\",\"help\":\"HREFLABPOS=*n*\",\"type\":\"value\",\"arguments\":[{\"name\":\"1\",\"followsDelimiter\":\"/\",\"description\":\"positions along top of subplot area\",\"type\":\"standalone\"},{\"name\":\"2\",\"followsDelimiter\":\"/\",\"description\":\"staggers from top to bottom of subplot area\",\"type\":\"standalone\"},{\"name\":\"3\",\"followsDelimiter\":\"/\",\"description\":\"positions along bottom of subplot area\",\"type\":\"standalone\"},{\"name\":\"4\",\"followsDelimiter\":\"/\",\"description\":\"staggers from bottom to top of subplot area\",\"type\":\"standalone\"}]},{\"name\":\"INDEPENDENTZONES\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"INDEPZONES\"],\"description\":\"specifies that the widths of the zones requested with the ZONES option be computed independently above and below the center line of the chart, so that the width of each zone is one-third of the difference between the process mean and the control limit on its side of the chart\",\"type\":\"standalone\"},{\"name\":\"INTERVAL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the natural time interval between consecutive subgroup positions when a time, date, or datetime format is associated with a numeric subgroup variable\",\"help\":\"INTERVAL=DAY | DTDAY | HOUR | MINUTE | MONTH | QTR | SECOND\",\"type\":\"choice\"},{\"name\":\"INTSTART=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the starting value for a numeric horizontal axis, when a date, time, or datetime format is associated with the subgroup variable\",\"help\":\"INTSTART=*value*\",\"type\":\"value\"},{\"name\":\"LCLLABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a label for the lower control limit in the primary chart\",\"help\":\"LCLLABEL='*label*'\",\"type\":\"value\"},{\"name\":\"LIMITN=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies either a fixed or varying nominal sample size for the control limits\",\"help\":\"LIMITN=*n* | VARYING\",\"type\":\"value\"},{\"name\":\"LIMLABSUBCHAR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a substitution character (such as #) for labels provided as quoted strings with the LCLLABEL=, LCLLABEL2=, UCLLABEL=, UCLLABEL2=, CSYMBOL=, NPSYMBOL=, PSYMBOL=, RSYMBOL=, SSYMBOL=, USYMBOL=, and XSYMBOL= options\",\"help\":\"LIMLABSUBCHAR='*character*'\",\"type\":\"value\"},{\"name\":\"LSL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"provides lower specification limits used to compute capability indices\",\"help\":\"LSL=*value-list*\",\"type\":\"value\"},{\"name\":\"MAXPANELS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the maximum number of pages or screens for a chart\",\"help\":\"MAXPANELS=*n*\",\"type\":\"value\"},{\"name\":\"MISSBREAK\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"determines how subgroups are formed when observations are read from a DATA= data set and a character subgroup-variable is provided\",\"type\":\"standalone\"},{\"name\":\"NDECIMAL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the number of decimal digits in the default labels for the control limits and the central line in the primary chart\",\"help\":\"NDECIMAL=*n*\",\"type\":\"value\"},{\"name\":\"NEEDLES\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"connects plotted points to the central line with vertical line segments (needles)\",\"type\":\"standalone\"},{\"name\":\"NMARKERS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"identifies a plotted subgroup summary statistic with a special symbol marker (character) when the corresponding subgroup sample size is not equal to the nominal control limit sample size n\",\"type\":\"standalone\"},{\"name\":\"NO3SIGMACHECK\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses the check for 3σ limits when tests for special causes are requested\",\"type\":\"standalone\"},{\"name\":\"NOBYREF\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that the reference line information in an HREF=, HREF2=, VREF=, or VREF2= data set is to be applied uniformly to charts created for all the BY groups in the input data set (DATA=, HISTORY=, or TABLE=)\",\"type\":\"standalone\"},{\"name\":\"NOCHART\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses the creation of the chart\",\"type\":\"standalone\"},{\"name\":\"NOCONNECT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses line segments that connect points on the chart\",\"type\":\"standalone\"},{\"name\":\"NOCTL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses the display of the central line in a primary chart\",\"type\":\"standalone\"},{\"name\":\"NOHLABEL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses the label for the horizontal (subgroup) axis\",\"type\":\"standalone\"},{\"name\":\"NOLCL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses the display of the lower control limit in a primary chart\",\"type\":\"standalone\"},{\"name\":\"NOLEGEND\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses the default legend for subgroup sample sizes, which appears by default below the chart\",\"type\":\"standalone\"},{\"name\":\"NOLIMIT0\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses the display of a fixed lower control limit if and only if the value of the limit is zero\",\"type\":\"standalone\"},{\"name\":\"NOLIMITLABEL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses the default labels for the control limits and central lines\",\"type\":\"standalone\"},{\"name\":\"NOLIMITS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses the display of control limits\",\"type\":\"standalone\"},{\"name\":\"NOLIMITSLEGEND\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses the legend for the control limits, which appears by default in the upper right corner of the chart\",\"type\":\"standalone\"},{\"name\":\"NOOVERLAYLEGEND\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses the legend for overlay variables which is displayed by default when the OVERLAY= or OVERLAY2= option is specified\",\"type\":\"standalone\"},{\"name\":\"NOREADLIMITS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that the control limits for each process listed in the chart statement not be read from the LIMITS= data set specified in the PROC SHEWHART statement\",\"type\":\"standalone\"},{\"name\":\"NOTESTACROSS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that tests for special causes requested with the TESTS= or TESTS2= options not be applied across the boundaries of phases (blocks of consecutive subgroups) determined by the READPHASES= option and the variable _PHASE_ in the input data set\",\"type\":\"standalone\"},{\"name\":\"NOTICKREP\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"applies to character-valued subgroup-variables and specifies that only the first occurrence of repeated, adjacent subgroup values is to be labeled on the horizontal axis\",\"type\":\"standalone\"},{\"name\":\"NOTRUNC\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"overrides the vertical axis truncation at zero, which is applied by default to c charts, moving range charts, np charts, p charts, R charts, s charts, and u charts\",\"type\":\"standalone\"},{\"name\":\"NOUCL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses the display of the upper control limit in a primary chart\",\"type\":\"standalone\"},{\"name\":\"NPANELPOS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the number of subgroup positions per panel on each chart\",\"help\":\"NPANELPOS=*n*\",\"type\":\"value\"},{\"name\":\"OUTFILL\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"COUTFILL\"],\"description\":\"fills the areas outside the control limits that lie between the connected points and the control limits and are bounded by connecting lines\",\"type\":\"standalone\"},{\"name\":\"OUTHISTORY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"creates an output data set that contains the subgroup summary statistics\",\"help\":\"OUTHISTORY=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"OUTINDEX=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the value of the _INDEX_ variable in the OUTLIMITS= output data set\",\"help\":\"OUTINDEX='*label*'\",\"type\":\"value\"},{\"name\":\"OUTLABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"labels each point that falls outside the control limits on the primary chart with the value plotted for that subgroup or with the value of variable in the input data set\",\"help\":\"OUTLABEL=VALUE | (*variable*)\",\"type\":\"value\"},{\"name\":\"OUTLABEL2=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"labels each point that falls outside the control limits on an R or s chart with the value plotted for that subgroup or with the value of variable in the input data set\",\"help\":\"OUTLABEL2=VALUE | (*variable*)\",\"type\":\"value\"},{\"name\":\"OUTLIMITS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"creates an output data set that saves the control limits\",\"help\":\"OUTLIMITS=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"OUTPHASE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the value of the _PHASE_ variable in the OUTHISTORY= data set\",\"help\":\"OUTPHASE='*label*'\",\"type\":\"value\"},{\"name\":\"OUTTABLE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"creates an output SAS data set that saves the information plotted on the chart, including the subgroup variable values and their corresponding summary statistics and control limits\",\"help\":\"OUTTABLE=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"OVERLAY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies variables to be overlaid on the primary control chart\",\"help\":\"OVERLAY=(*variable-list*)\",\"type\":\"value\"},{\"name\":\"OVERLAY2=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies variables to be overlaid on a secondary control chart\",\"help\":\"OVERLAY2=(*variable-list*)\",\"type\":\"value\"},{\"name\":\"OVERLAY2ID=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies variables whose formatted values are used to label points on secondary chart overlays\",\"help\":\"OVERLAY2ID=(*variable-list*)\",\"type\":\"value\"},{\"name\":\"OVERLAYID=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies variables whose formatted values are used to label points on primary chart overlays\",\"help\":\"OVERLAYID=(*variable-list*)\",\"type\":\"value\"},{\"name\":\"OVERLAYLEGLAB=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the label displayed to the left of the legend for overlays requested with the OVERLAY= or OVERLAY2= option\",\"help\":\"OVERLAYLEGLAB='*label*'\",\"type\":\"value\"},{\"name\":\"PAGENUM=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the form of the label used for pagination; for example, 'Page #' or 'Page # of #'\",\"help\":\"PAGENUM='*string*'\",\"type\":\"value\"},{\"name\":\"PAGENUMPOS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies where to position the page number requested with the PAGENUM= option\",\"help\":\"PAGENUMPOS=TL | TR | BL | BR | TL100 | TR100 | BL0 | BR0\",\"type\":\"choice\",\"arguments\":[{\"name\":\"TL\",\"followsDelimiter\":\"/\",\"description\":\"specifies the top left\",\"type\":\"standalone\"},{\"name\":\"TR\",\"followsDelimiter\":\"/\",\"description\":\"specifies the top right\",\"type\":\"standalone\"},{\"name\":\"BL\",\"followsDelimiter\":\"/\",\"description\":\"specifies the bottom left\",\"type\":\"standalone\"},{\"name\":\"BR\",\"followsDelimiter\":\"/\",\"description\":\"specifies the bottom right\",\"type\":\"standalone\"},{\"name\":\"TL100\",\"followsDelimiter\":\"/\",\"description\":\"specifies the very top left\",\"type\":\"standalone\"},{\"name\":\"TR100\",\"followsDelimiter\":\"/\",\"description\":\"specifies the very top right\",\"type\":\"standalone\"},{\"name\":\"BL0\",\"followsDelimiter\":\"/\",\"description\":\"specifies the very bottom left\",\"type\":\"standalone\"},{\"name\":\"BR0\",\"followsDelimiter\":\"/\",\"description\":\"specifies the very bottom right\",\"type\":\"standalone\"}]},{\"name\":\"PHASEBREAK\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that the last point in a phase (defined as a block of consecutive subgroups with the same value of the _PHASE_ variable) is not to be connected to the first point in the next phase\",\"type\":\"standalone\"},{\"name\":\"PHASELABTYPE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies how lengthy _PHASE_ variable values are displayed when there is insufficient space in the legend requested with the PHASELEGEND option\",\"help\":\"PHASELABTYPE=SCALED | TRUNCATED | *height*\",\"type\":\"value\"},{\"name\":\"PHASELEGEND\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"identifies the phases requested with the READPHASES= option in a legend across the top of the chart\",\"type\":\"standalone\"},{\"name\":\"PHASELIMITS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that the control limits and center line be labeled for each phase specified with the READPHASES= option, providing the limits are constant within that phase\",\"type\":\"standalone\"},{\"name\":\"PHASEREF\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"delineates the phases specified with the READPHASES= option with reference lines drawn vertically\",\"type\":\"standalone\"},{\"name\":\"PHASEVARLABEL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"displays the label associated with the variable _PHASE_ above the phase values in the phase legend\",\"type\":\"standalone\"},{\"name\":\"PHASEVALSEP\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"displays vertical lines separating phase values in the phase legend\",\"type\":\"standalone\"},{\"name\":\"RANGES\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"estimates the process standard deviation for a boxplot using subgroup ranges\",\"type\":\"standalone\"},{\"name\":\"READALPHA\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that the variable _ALPHA_, rather than the variable _SIGMAS_, be read from a LIMITS= data set when both variables are available in the data set\",\"type\":\"standalone\"},{\"name\":\"READINDEX=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"reads one or more sets of control limits from a LIMITS= data set (specified in the PROC SHEWHART statement) for each process listed in the chart statement\",\"help\":\"READINDEX=*value-list* | ALL\",\"type\":\"value\"},{\"name\":\"READPHASES=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"selects blocks of consecutive observations to be read from the input data set\",\"help\":\"READPHASES=*value-list* | ALL\",\"type\":\"value\"},{\"name\":\"REPEAT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that the horizontal axis of a chart that spans multiple pages be arranged so that the last subgroup position on a page is repeated as the first subgroup position on the next page\",\"type\":\"standalone\"},{\"name\":\"SIGMA0=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a known (standard) value σ0 for the process standard deviation σ\",\"help\":\"SIGMA0=*value*\",\"type\":\"value\"},{\"name\":\"SIGMAS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the width of the control limits in terms of the multiple k of the standard error of the standard deviation statistic plotted on the chart\",\"help\":\"SIGMAS=*k*\",\"type\":\"value\"},{\"name\":\"SKIPHLABELS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the number n of consecutive tick mark labels, beginning with the second tick mark label, that are thinned (not displayed) on the horizontal (subgroup) axis\",\"help\":\"SKIPHLABELS=*n*\",\"type\":\"value\"},{\"name\":\"SMETHOD=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a method for estimating the process standard deviation, σ\",\"help\":\"SMETHOD=NOWEIGHT | MVLUE | RMSDF \",\"type\":\"choice\",\"arguments\":[{\"name\":\"NOWEIGHT\",\"followsDelimiter\":\"/\",\"description\":\"estimates σ as an unweighted average of unbiased subgroup estimates of σ\",\"type\":\"standalone\"},{\"name\":\"MVLUE\",\"followsDelimiter\":\"/\",\"description\":\"calculates a minimum variance linear unbiased estimate for σ\",\"type\":\"standalone\"},{\"name\":\"RMSDF\",\"followsDelimiter\":\"/\",\"description\":\"calculates a root-mean square estimate for σ\",\"type\":\"standalone\"}]},{\"name\":\"SSYMBOL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a label for the central line in an s chart\",\"help\":\"SSYMBOL=S | SBAR | SPM | S0 | '*label*'\",\"type\":\"value\",\"arguments\":[{\"name\":\"S\",\"followsDelimiter\":\"/\",\"description\":\"S\",\"type\":\"standalone\"},{\"name\":\"SBAR\",\"followsDelimiter\":\"/\",\"description\":\"S bar\",\"type\":\"standalone\"},{\"name\":\"SPM\",\"followsDelimiter\":\"/\",\"description\":\"S prime\",\"type\":\"standalone\"},{\"name\":\"S0\",\"followsDelimiter\":\"/\",\"description\":\"S sub 0\",\"type\":\"standalone\"}]},{\"name\":\"STARBDRADIUS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the radius of an imaginary circle that is the outer bound for vertices of stars requested with the STARVERTICES= option\",\"help\":\"STARBDRADIUS=*value*\",\"type\":\"value\"},{\"name\":\"STARCIRCLES=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies reference circles that are superimposed on the stars requested with the STARVERTICES= option\",\"help\":\"STARCIRCLES=*values*\",\"type\":\"value\"},{\"name\":\"STARINRADIUS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the inner radius of stars requested with the STARVERTICES= option\",\"help\":\"STARINRADIUS=*value*\",\"type\":\"value\"},{\"name\":\"STARFILL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies colors for filling the interior of stars requested with the STARVERTICES= option\",\"help\":\"STARFILL=*variable*\",\"type\":\"value\"},{\"name\":\"STARLABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a method for labeling the vertices of stars requested with the STARVERTICES= option\",\"help\":\"STARLABEL=ALL | FIRST | HIGH | LOW | OUT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ALL\",\"followsDelimiter\":\"/\",\"description\":\"labels all vertices of all stars\",\"type\":\"standalone\"},{\"name\":\"FIRST\",\"followsDelimiter\":\"/\",\"description\":\"labels all vertices of the leftmost star\",\"type\":\"standalone\"},{\"name\":\"HIGH\",\"followsDelimiter\":\"/\",\"description\":\"labels only vertices that lie outside the outer circle\",\"type\":\"standalone\"},{\"name\":\"LOW\",\"followsDelimiter\":\"/\",\"description\":\"labels only vertices that lie inside the inner circle\",\"type\":\"standalone\"},{\"name\":\"OUT\",\"followsDelimiter\":\"/\",\"description\":\"labels only vertices that lie inside the inner circle or outside the outer circle\",\"type\":\"standalone\"}]},{\"name\":\"STARLEGEND=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the style of the legend used to identify the vertices of stars requested with the STARVERTICES= option\",\"help\":\"STARLEGEND=CLOCK | CLOCK0 | DEGREES | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"CLOCK\",\"followsDelimiter\":\"/\",\"description\":\"identifies the vertex variables by their positions on the clock (starting with 12:00)\",\"type\":\"standalone\"},{\"name\":\"CLOCK0\",\"followsDelimiter\":\"/\",\"description\":\"identifies the vertex variables by their positions on the clock (starting with 0:00)\",\"type\":\"standalone\"},{\"name\":\"DEGREES\",\"followsDelimiter\":\"/\",\"description\":\"identifies the vertex variables by angles in degrees, with 0 degrees corresponding to 12 o'clock\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"followsDelimiter\":\"/\",\"description\":\"suppresses the legend\",\"type\":\"standalone\"}]},{\"name\":\"STARLEGENDLAB=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the label displayed to the left of the legend for stars requested with the STARLEGEND= option\",\"help\":\"STARLEGENDLAB='*label*'\",\"type\":\"value\"},{\"name\":\"STARS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies colors for the outlines of stars requested with the STARVERTICES= option\",\"help\":\"STARS=*variable*\",\"type\":\"value\"},{\"name\":\"STARSPECS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the method used to standardize the star vertex variables listed with the STARVERTICES= option\",\"help\":\"STARSPECS=*value*|*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"STARSTART=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the vertex angle for the first variable in the STARVERTICES= list\",\"help\":\"STARSTART=*value*\",\"type\":\"value\"},{\"name\":\"STARTYPE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the style of the stars requested with the STARVERTICES= option\",\"help\":\"STARTYPE=CORONA | POLYGON | RADIAL | SPOKE | WEDGE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"CORONA\",\"followsDelimiter\":\"/\",\"description\":\"specifies a polygon with star-vertices emanating from the inner circle\",\"type\":\"standalone\"},{\"name\":\"POLYGON\",\"followsDelimiter\":\"/\",\"description\":\"specifies a closed polygon\",\"type\":\"standalone\"},{\"name\":\"RADIAL\",\"followsDelimiter\":\"/\",\"description\":\"draws rays emanating from the center\",\"type\":\"standalone\"},{\"name\":\"SPOKE\",\"followsDelimiter\":\"/\",\"description\":\"draws rays emanating from the inner circle\",\"type\":\"standalone\"},{\"name\":\"WEDGE\",\"followsDelimiter\":\"/\",\"description\":\"specifies a closed polygon with rays from the center to each vertex\",\"type\":\"standalone\"}]},{\"name\":\"STARVERTICES=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"superimposes a star (polygon) at each point on the primary chart\",\"help\":\"STARVERTICES=*variable* | (*variable-list*)\",\"type\":\"value\"},{\"name\":\"SYMBOLLEGEND=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"controls the legend for the levels of a symbol-variable\",\"help\":\"SYMBOLLEGEND=LEGENDn | NONE\",\"type\":\"choice\"},{\"name\":\"SYMBOLORDER=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the order in which symbols are assigned for levels of symbol-variable\",\"help\":\"SYMBOLORDER=DATA | INTERNAL | FORMATTED\",\"type\":\"choice\"},{\"name\":\"TABLES\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"creates a basic table of the subgroup values, the subgroup sample sizes, the subgroup summary statistics, and the upper and lower control limits\",\"help\":\"TABLES &lt;(EXCEPTIONS)&gt;\",\"type\":\"standaloneOrValue\"},{\"name\":\"TABLEALL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"tabulates all the information about the control chart\",\"help\":\"TABLEALL &lt;(EXCEPTIONS)&gt;\",\"type\":\"standaloneOrValue\"},{\"name\":\"TABLECENTRAL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"augments the basic table created by the TABLES option with columns for the values of the central lines\",\"help\":\"TABLECENTRAL &lt;(EXCEPTIONS)&gt;\",\"type\":\"standaloneOrValue\"},{\"name\":\"TABLEID\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"augments the basic table created by the TABLES option with a column for each of the ID variables\",\"help\":\"TABLEID &lt;(EXCEPTIONS)&gt;\",\"type\":\"standaloneOrValue\"},{\"name\":\"TABLELEGEND\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"adds a legend to the basic table created by the TABLE option\",\"help\":\"TABLELEGEND &lt;(EXCEPTIONS)&gt;\",\"type\":\"standaloneOrValue\"},{\"name\":\"TABLEOUTLIM\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"augments the basic table created by the TABLE option with columns indicating which control limits (if any) are exceeded\",\"help\":\"TABLEOUTLIM &lt;(EXCEPTIONS)&gt;\",\"type\":\"standaloneOrValue\"},{\"name\":\"TABLETESTS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"augments the basic table created by the TABLES option with a column that indicates which of the tests for special causes (requested with the TESTS= option) are positive\",\"help\":\"TABLETESTS &lt;(EXCEPTIONS)&gt;\",\"type\":\"standaloneOrValue\"},{\"name\":\"TARGET=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"provides target values used to compute the capability index Cpm, which is saved in the OUTLIMITS= data set\",\"help\":\"TARGET=*value-list*\",\"type\":\"value\"},{\"name\":\"TEST2RESET=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"enables tests for special causes to be reset in a secondary chart\",\"help\":\"TEST2RESET=*variable* | *value*\",\"type\":\"value\"},{\"name\":\"TEST2RUN=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the length of the pattern for Test 2 requested with the TESTS= and TESTS2= options\",\"help\":\"TEST2RUN=7 | 8 | 9 | 11 | 14 | 20\",\"type\":\"choice\",\"arguments\":[{\"name\":\"7\",\"followsDelimiter\":\"/\",\"description\":\"specifies a run-length of 7 in a row on one side of the central line\",\"type\":\"standalone\"},{\"name\":\"8\",\"followsDelimiter\":\"/\",\"description\":\"specifies a run-length of 8 in a row on one side of the central line\",\"type\":\"standalone\"},{\"name\":\"9\",\"followsDelimiter\":\"/\",\"description\":\"specifies a run-length of 9 in a row on one side of the central line\",\"type\":\"standalone\"},{\"name\":\"11\",\"followsDelimiter\":\"/\",\"description\":\"specifies at least 10 out of 11 in a row on one side of the central line\",\"type\":\"standalone\"},{\"name\":\"14\",\"followsDelimiter\":\"/\",\"description\":\"specifies at least 12 out of 14 in a row on one side of the central line\",\"type\":\"standalone\"},{\"name\":\"20\",\"followsDelimiter\":\"/\",\"description\":\"specifies at least 16 out of 20 in a row on one side of the central line\",\"type\":\"standalone\"}]},{\"name\":\"TEST3RUN=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the length of the pattern for Test 3 requested with the TESTS= and TESTS2= options\",\"help\":\"TEST3RUN=6 | 7 | 8\",\"type\":\"choice\",\"arguments\":[{\"name\":\"6\",\"followsDelimiter\":\"/\",\"description\":\"searches for a pattern of steadily increasing or decreasing values with length at least 6\",\"type\":\"standalone\"},{\"name\":\"7\",\"followsDelimiter\":\"/\",\"description\":\"searches for a pattern of steadily increasing or decreasing values with length at least 7\",\"type\":\"standalone\"},{\"name\":\"8\",\"followsDelimiter\":\"/\",\"description\":\"searches for a pattern of steadily increasing or decreasing values with length at least 8\",\"type\":\"standalone\"}]},{\"name\":\"TESTACROSS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that tests for special causes requested with the TESTS= or TESTS2= options be applied without regard to phases (blocks of consecutive subgroups) determined by the READPHASES= option and the variable _PHASE_ in the input data set\",\"type\":\"standalone\"},{\"name\":\"TESTLABBOX\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"requests that labels for subgroups with positive tests for special causes are positioned so they do not overlap\",\"type\":\"standalone\"},{\"name\":\"TESTLABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"provides labels for points at which one of the tests for special causes (requested with the TESTS= or TESTS2= option) is positive\",\"help\":\"TESTLABEL='*label*' | (*variable*) | TESTINDEX | SPACE | NONE\",\"type\":\"value\"},{\"name\":\"TESTLABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a label for points at which the test for special causes requested with the index n in a TESTS= or TESTS2= list is positive\",\"help\":\"TESTLABEL*n*='*label*'\",\"type\":\"value\"},{\"name\":\"TESTNMETHOD=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"applies the tests for special causes requested with the TESTS= and TESTS2= options to standardized test statistics when the subgroup sample sizes are not constant\",\"help\":\"TESTNMETHOD=STANDARDIZE\",\"type\":\"value\"},{\"name\":\"TESTOVERLAP\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"applies tests for special causes (requested with the TESTS= or TESTS2= option) to overlapping patterns of points\",\"type\":\"standalone\"},{\"name\":\"TESTRESET=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"enables tests for special causes to be reset in a primary chart\",\"help\":\"TESTRESET=*variable* | *value*\",\"type\":\"value\"},{\"name\":\"TESTS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies customized tests for special causes for the primary control chart to search for k out of m points in a row in the interval (a,b)\",\"help\":\"TESTS=T(K=*k* M=*m* LOWER=*a* UPPER=*b* SCHEME=*scheme* CODE=*character* LABEL=*'label'* LEGEND=*'legend'*)\",\"type\":\"value\",\"arguments\":[{\"name\":\"K=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the number of points\",\"help\":\"K=*k*\",\"type\":\"value\"},{\"name\":\"M=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the number of consecutive points\",\"help\":\"M=*m*\",\"type\":\"value\"},{\"name\":\"LOWER=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the lower limit of interval (a,b)\",\"help\":\"LOWER=*value*\",\"type\":\"value\"},{\"name\":\"UPPER=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the upper limit of interval (a,b)\",\"help\":\"UPPER=*value*\",\"type\":\"value\"},{\"name\":\"SCHEME=\",\"followsDelimiter\":\"/\",\"description\":\"specifies a one-sided scheme using (a,b)\",\"help\":\"SCHEME=ONESIDED\",\"type\":\"value\"},{\"name\":\"SCHEME=\",\"followsDelimiter\":\"/\",\"description\":\"specifies a two-sided scheme using (a,b) union (-b,-a)\",\"help\":\"SCHEME=TWOSIDED\",\"type\":\"value\"},{\"name\":\"CODE=\",\"followsDelimiter\":\"/\",\"description\":\"specifies an identifier for test (A--H)\",\"help\":\"CODE=*character*\",\"type\":\"value\"},{\"name\":\"LABEL=\",\"followsDelimiter\":\"/\",\"description\":\"specifies a label for points if signal\",\"help\":\"LABEL=*'label'*\",\"type\":\"value\"},{\"name\":\"LEGEND=\",\"followsDelimiter\":\"/\",\"description\":\"specifies a legend used with the TABLELEGEND option\",\"help\":\"LEGEND=*'legend'*\",\"type\":\"value\"}]},{\"name\":\"TESTS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies customized tests for special causes for the primary control chart to search for k points in a row increasing or decreasing\",\"help\":\"TESTS=M(K=*k* DIR=*direction* CODE=*character* LABEL=*'label'* LEGEND=*'legend'*)\",\"type\":\"value\",\"arguments\":[{\"name\":\"K=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the number of points\",\"help\":\"K=*k*\",\"type\":\"value\"},{\"name\":\"DIR=\",\"followsDelimiter\":\"/\",\"description\":\"specifies an increasing pattern\",\"help\":\"DIR=INC\",\"type\":\"value\"},{\"name\":\"DIR=\",\"followsDelimiter\":\"/\",\"description\":\"specifies a decreasing pattern\",\"help\":\"DIR=DEC\",\"type\":\"value\"},{\"name\":\"CODE=\",\"followsDelimiter\":\"/\",\"description\":\"specifies an identifier for test (A--H)\",\"help\":\"CODE=*character*\",\"type\":\"value\"},{\"name\":\"LABEL=\",\"followsDelimiter\":\"/\",\"description\":\"specifies a label for points if signal\",\"help\":\"LABEL=*'label'*\",\"type\":\"value\"},{\"name\":\"LEGEND=\",\"followsDelimiter\":\"/\",\"description\":\"specifies a legend used with the TABLELEGEND option\",\"help\":\"LEGEND=*'legend'*\",\"type\":\"value\"}]},{\"name\":\"TESTS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies customized tests for special causes for the primary control chart to search for a statistically significant linear trend over a window of k points\",\"help\":\"TESTS=S(K=*k* CLEV=*α* FORM=*character* CODE=*character* LABEL=*'label'* LEGEND=*'legend'*)\",\"type\":\"value\",\"arguments\":[{\"name\":\"K=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the number of points in sliding window (k > 2)\",\"help\":\"K=*k*\",\"type\":\"value\"},{\"name\":\"CLEV=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the Type I (false positive) error rate (0 < α ≤ 0.5)\",\"help\":\"CLEV=*α*\",\"type\":\"value\"},{\"name\":\"FORM=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the type of trend test (P=parametric, N=nonparametric)\",\"help\":\"FORM=*character*\",\"type\":\"value\"},{\"name\":\"CODE=\",\"followsDelimiter\":\"/\",\"description\":\"specifies an identifier for test (A--H)\",\"help\":\"CODE=*character*\",\"type\":\"value\"},{\"name\":\"LABEL=\",\"followsDelimiter\":\"/\",\"description\":\"specifies a label for points if signal\",\"help\":\"LABEL=*'label'*\",\"type\":\"value\"},{\"name\":\"LEGEND=\",\"followsDelimiter\":\"/\",\"description\":\"specifies a legend used with the TABLELEGEND option\",\"help\":\"LEGEND=*'legend'*\",\"type\":\"value\"}]},{\"name\":\"TESTS2=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"requests one or more tests for special causes for an R chart or s chart\",\"help\":\"TESTS2=*index-list*\",\"type\":\"value\",\"arguments\":[{\"name\":\"1\",\"followsDelimiter\":\"/\",\"description\":\"specifies one point beyond Zone A (outside the control limits)\",\"type\":\"standalone\"},{\"name\":\"2\",\"followsDelimiter\":\"/\",\"description\":\"specifies nine points in a row in Zone C or beyond on one side of the central line\",\"type\":\"standalone\"},{\"name\":\"3\",\"followsDelimiter\":\"/\",\"description\":\"specifies six points in a row steadily increasing\",\"type\":\"standalone\"},{\"name\":\"4\",\"followsDelimiter\":\"/\",\"description\":\"specifies fourteen points in a row alternating up and down\",\"type\":\"standalone\"},{\"name\":\"5\",\"followsDelimiter\":\"/\",\"description\":\"specifies two out of three points in a row in Zone A or beyond\",\"type\":\"standalone\"},{\"name\":\"6\",\"followsDelimiter\":\"/\",\"description\":\"specifies four out of five points in a row in Zone B or beyond\",\"type\":\"standalone\"},{\"name\":\"7\",\"followsDelimiter\":\"/\",\"description\":\"specifies fifteen points in a row in Zone C on either or both sides of the central line\",\"type\":\"standalone\"},{\"name\":\"8\",\"followsDelimiter\":\"/\",\"description\":\"specifies eight points in a row on either or both sides of the central line with no points in Zone C\",\"type\":\"standalone\"}]},{\"name\":\"TESTS2=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies customized tests for special causes for the primary control chart to search for k out of m points in a row in the interval (a,b)\",\"help\":\"TESTS2=T(K=*k* M=*m* LOWER=*a* UPPER=*b* SCHEME=*scheme* CODE=*character* LABEL=*'label'* LEGEND=*'legend'*)\",\"type\":\"value\",\"arguments\":[{\"name\":\"K=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the number of points\",\"help\":\"K=*k*\",\"type\":\"value\"},{\"name\":\"M=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the number of consecutive points\",\"help\":\"M=*m*\",\"type\":\"value\"},{\"name\":\"LOWER=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the lower limit of interval (a,b)\",\"help\":\"LOWER=*value*\",\"type\":\"value\"},{\"name\":\"UPPER=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the upper limit of interval (a,b)\",\"help\":\"UPPER=*value*\",\"type\":\"value\"},{\"name\":\"SCHEME=\",\"followsDelimiter\":\"/\",\"description\":\"specifies a one-sided scheme using (a,b)\",\"help\":\"SCHEME=ONESIDED\",\"type\":\"value\"},{\"name\":\"SCHEME=\",\"followsDelimiter\":\"/\",\"description\":\"specifies a two-sided scheme using (a,b) union (-b,-a)\",\"help\":\"SCHEME=TWOSIDED\",\"type\":\"value\"},{\"name\":\"CODE=\",\"followsDelimiter\":\"/\",\"description\":\"specifies an identifier for test (A--H)\",\"help\":\"CODE=*character*\",\"type\":\"value\"},{\"name\":\"LABEL=\",\"followsDelimiter\":\"/\",\"description\":\"specifies a label for points if signal\",\"help\":\"LABEL=*'label'*\",\"type\":\"value\"},{\"name\":\"LEGEND=\",\"followsDelimiter\":\"/\",\"description\":\"specifies a legend used with the TABLELEGEND option\",\"help\":\"LEGEND=*'legend'*\",\"type\":\"value\"}]},{\"name\":\"TESTS2=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies customized tests for special causes for the primary control chart to search for k points in a row increasing or decreasing\",\"help\":\"TESTS2=M(K=*k* DIR=*direction* CODE=*character* LABEL=*'label'* LEGEND=*'legend'*)\",\"type\":\"value\",\"arguments\":[{\"name\":\"K=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the number of points\",\"help\":\"K=*k*\",\"type\":\"value\"},{\"name\":\"DIR=\",\"followsDelimiter\":\"/\",\"description\":\"specifies an increasing pattern\",\"help\":\"DIR=INC\",\"type\":\"value\"},{\"name\":\"DIR=\",\"followsDelimiter\":\"/\",\"description\":\"specifies a decreasing pattern\",\"help\":\"DIR=DEC\",\"type\":\"value\"},{\"name\":\"CODE=\",\"followsDelimiter\":\"/\",\"description\":\"specifies an identifier for test (A--H)\",\"help\":\"CODE=*character*\",\"type\":\"value\"},{\"name\":\"LABEL=\",\"followsDelimiter\":\"/\",\"description\":\"specifies a label for points if signal\",\"help\":\"LABEL=*'label'*\",\"type\":\"value\"},{\"name\":\"LEGEND=\",\"followsDelimiter\":\"/\",\"description\":\"specifies a legend used with the TABLELEGEND option\",\"help\":\"LEGEND=*'legend'*\",\"type\":\"value\"}]},{\"name\":\"TESTS2=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies customized tests for special causes for the primary control chart to search for a statistically significant linear trend over a window of k points\",\"help\":\"TESTS2=S(K=*k* CLEV=*α* FORM=*character* CODE=*character* LABEL=*'label'* LEGEND=*'legend'*)\",\"type\":\"value\",\"arguments\":[{\"name\":\"K=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the number of points in sliding window (k > 2)\",\"help\":\"K=*k*\",\"type\":\"value\"},{\"name\":\"CLEV=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the Type I (false positive) error rate (0 < α ≤ 0.5)\",\"help\":\"CLEV=*α*\",\"type\":\"value\"},{\"name\":\"FORM=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the type of trend test (P=parametric, N=nonparametric)\",\"help\":\"FORM=*character*\",\"type\":\"value\"},{\"name\":\"CODE=\",\"followsDelimiter\":\"/\",\"description\":\"specifies an identifier for test (A--H)\",\"help\":\"CODE=*character*\",\"type\":\"value\"},{\"name\":\"LABEL=\",\"followsDelimiter\":\"/\",\"description\":\"specifies a label for points if signal\",\"help\":\"LABEL=*'label'*\",\"type\":\"value\"},{\"name\":\"LEGEND=\",\"followsDelimiter\":\"/\",\"description\":\"specifies a legend used with the TABLELEGEND option\",\"help\":\"LEGEND=*'legend'*\",\"type\":\"value\"}]},{\"name\":\"TOTPANELS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the total number of panels to be used to display the chart\",\"help\":\"TOTPANELS=*n*\",\"type\":\"value\"},{\"name\":\"TYPE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the value of the _TYPE_ variable in the OUTLIMITS= data set, which in turn indicates whether certain parameter variables in this data set represent estimates or standard (known) values\",\"help\":\"TYPE=ESTIMATE | STDMU | STDSIGMA | STANDARD\",\"type\":\"choice\"},{\"name\":\"UCLLABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a label for the upper control limit in the primary chart\",\"help\":\"UCLLABEL='*label*'\",\"type\":\"value\"},{\"name\":\"USL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"provides upper specification limits used to compute capability indices\",\"help\":\"USL=*value-list*\",\"type\":\"value\"},{\"name\":\"VAXIS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies major tick mark values for the vertical axis of a primary chart\",\"help\":\"VAXIS=*value-list* | AXIS*n*\",\"type\":\"value\"},{\"name\":\"VFORMAT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a format to be used for displaying tick mark labels on the vertical axis of a primary chart\",\"help\":\"VFORMAT=*format*\",\"type\":\"value\"},{\"name\":\"VFORMAT2=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a format to be used for displaying tick mark labels on the vertical axis of a secondary chart\",\"help\":\"VFORMAT2=*format*\",\"type\":\"value\"},{\"name\":\"VOFFSET=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the length of the offset at each end of the vertical axis\",\"help\":\"VOFFSET=*value*\",\"type\":\"value\"},{\"name\":\"VREF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"draws reference lines perpendicular to the vertical axis on the primary chart\",\"help\":\"VREF=*value-list* | *SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"VREFLABELS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies labels for the reference lines requested by the VREF= option\",\"help\":\"VREFLABELS='*label1*'...'*labeln*'\",\"type\":\"value\"},{\"name\":\"VREFLABPOS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the horizontal position of the VREFLABELS= and VREF2LABELS= labels\",\"help\":\"VREFLABPOS=1 | 2 | 3\",\"type\":\"choice\",\"arguments\":[{\"name\":\"1\",\"followsDelimiter\":\"/\",\"description\":\"left-justifies in subplot area\",\"type\":\"standalone\"},{\"name\":\"2\",\"followsDelimiter\":\"/\",\"description\":\"right-justifies in subplot area\",\"type\":\"standalone\"},{\"name\":\"3\",\"followsDelimiter\":\"/\",\"description\":\"left-justifies in right margin\",\"type\":\"standalone\"}]},{\"name\":\"VZERO\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"forces the origin to be included in the vertical axis for a primary chart\",\"type\":\"standalone\"},{\"name\":\"VZERO2\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"forces the origin to be included in the vertical axis for a secondary chart\",\"type\":\"standalone\"},{\"name\":\"WESTGARD=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"requests that one or more of the Westgard rules (tests for special causes) be applied\",\"help\":\"WESTGARD=*index-list*\",\"type\":\"value\",\"arguments\":[{\"name\":\"1\",\"followsDelimiter\":\"/\",\"description\":\"specifies one point in Zone A or beyond\",\"type\":\"standalone\"},{\"name\":\"2\",\"followsDelimiter\":\"/\",\"description\":\"specifies one point beyond Zone A (outside the control limits)\",\"type\":\"standalone\"},{\"name\":\"3\",\"followsDelimiter\":\"/\",\"description\":\"specifies two points in a row in Zone A or beyond on the same side of the central line\",\"type\":\"standalone\"},{\"name\":\"4\",\"followsDelimiter\":\"/\",\"description\":\"specifies at least one point in Zone A or beyond on each side of the central line\",\"type\":\"standalone\"},{\"name\":\"5\",\"followsDelimiter\":\"/\",\"description\":\"specifies four points in a row in Zone B or beyond on the same side of the central line\",\"type\":\"standalone\"},{\"name\":\"6\",\"followsDelimiter\":\"/\",\"description\":\"specifies ten points in a row on the same side of the central line\",\"type\":\"standalone\"}]},{\"name\":\"ZEROSTD\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that a control chart is to be constructed and displayed regardless of whether the estimated process standard deviation is zero\",\"help\":\"ZEROSTD&lt;=NOLIMITS&gt;\",\"type\":\"standaloneOrValue\"},{\"name\":\"ZONE2LABELS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"adds the labels A, B, and C to zone lines requested with the ZONES2 or ZONE2VALUES options\",\"type\":\"standalone\"},{\"name\":\"ZONE2VALUES\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"labels R or s chart zones lines with their values\",\"type\":\"standalone\"},{\"name\":\"ZONES2\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"adds lines to an R or s chart that delineate zones A, B, and C for tests requested with the TESTS2= option\",\"type\":\"standalone\"},{\"name\":\"ZONEVALPOS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the horizontal position of the ZONEVALUES= and ZONE2VALUES= labels\",\"help\":\"ZONEVALPOS=1 | 2 | 3\",\"type\":\"choice\",\"arguments\":[{\"name\":\"1\",\"followsDelimiter\":\"/\",\"description\":\"left-justifies in subplot area\",\"type\":\"standalone\"},{\"name\":\"2\",\"followsDelimiter\":\"/\",\"description\":\"right-justifies in subplot area\",\"type\":\"standalone\"},{\"name\":\"3\",\"followsDelimiter\":\"/\",\"description\":\"left-justifies in right margin\",\"type\":\"standalone\"}]},{\"name\":\"ZONEVALUES\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"labels the primary chart zones lines with their values\",\"type\":\"standalone\"},{\"name\":\"BLOCKREFTRANSPARENCY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"PHASEREFTRANSPARENCY=\",\"REFFILLTRANSPARENCY=\"],\"description\":\"specifies the wall fill transparency for blocks and phases when transparency is used in ODS Graphics output\",\"help\":\"BLOCKREFTRANSPARENCY=*value*\",\"type\":\"value\"},{\"name\":\"BOXTRANSPARENCY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the box fill transparency for box-and-whisker charts when transparency is used in ODS Graphics output\",\"help\":\"BOXTRANSPARENCY=*value*\",\"type\":\"value\"},{\"name\":\"INFILLTRANSPARENCY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the control limit infill transparency when transparency is used in ODS Graphics output\",\"help\":\"INFILLTRANSPARENCY=*value*\",\"type\":\"value\"},{\"name\":\"MARKERDISPLAY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a subset of subgroups to be plotted with markers on a primary chart that is not an R or s chart\",\"help\":\"MARKERDISPLAY=OOC | UPPER | LOWER | RUNSTEST\",\"type\":\"choice\",\"arguments\":[{\"name\":\"OOC\",\"followsDelimiter\":\"/\",\"description\":\"selects subgroups outside the control limits\",\"type\":\"standalone\"},{\"name\":\"UPPER\",\"followsDelimiter\":\"/\",\"description\":\"selects subgroups above the upper control limit\",\"type\":\"standalone\"},{\"name\":\"LOWER\",\"followsDelimiter\":\"/\",\"description\":\"selects subgroups below the lower control limit\",\"type\":\"standalone\"},{\"name\":\"RUNSTEST\",\"followsDelimiter\":\"/\",\"description\":\"selects subgroups that signal positive tests for special causes\",\"type\":\"standalone\"}]},{\"name\":\"MARKERDISPLAY2=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a subset of subgroups to be plotted with markers on an R or s chart\",\"help\":\"MARKERDISPLAY2=OOC | UPPER | LOWER | RUNSTEST\",\"type\":\"choice\",\"arguments\":[{\"name\":\"OOC\",\"followsDelimiter\":\"/\",\"description\":\"selects subgroups outside the control limits\",\"type\":\"standalone\"},{\"name\":\"UPPER\",\"followsDelimiter\":\"/\",\"description\":\"selects subgroups above the upper control limit\",\"type\":\"standalone\"},{\"name\":\"LOWER\",\"followsDelimiter\":\"/\",\"description\":\"selects subgroups below the lower control limit\",\"type\":\"standalone\"},{\"name\":\"RUNSTEST\",\"followsDelimiter\":\"/\",\"description\":\"selects subgroups that signal positive tests for special causes\",\"type\":\"standalone\"}]},{\"name\":\"MARKERLABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a variable whose values provide labels for the subgroups that are plotted with markers on a primary chart that is not an R or s chart\",\"help\":\"MARKERLABEL=(*variable*)\",\"type\":\"value\"},{\"name\":\"MARKERLABEL2=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a variable whose values provide labels for the subgroups that are plotted with markers on an R or s chart\",\"help\":\"MARKERLABEL2=(*variable*)\",\"type\":\"value\"},{\"name\":\"MARKERMISSINGGROUP=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies whether subgroups with missing symbol-variable values are plotted with a unique marker\",\"help\":\"MARKERMISSINGGROUP=TRUE | FALSE\",\"type\":\"choice\"},{\"name\":\"MARKERS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"plots subgroup points with markers\",\"type\":\"standalone\"},{\"name\":\"NOBLOCKREF\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"NOPHASEREF\",\"NOREF\"],\"description\":\"suppresses block and phase reference lines from ODS Graphics output\",\"type\":\"standalone\"},{\"name\":\"NOBLOCKREFFILL\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"NOPHASEREFFILL\",\"NOREFFILL\"],\"description\":\"suppresses the block and phase wall fills from ODS Graphics output\",\"type\":\"standalone\"},{\"name\":\"NOBOXFILLLEGEND\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"NOFILLLEGEND\",\"NOSTARFILLLEGEND\"],\"description\":\"suppresses the legend for the levels of a BOXFILL= or STARFILL= variable in ODS Graphics output\",\"type\":\"standalone\"},{\"name\":\"NOTRANSPARENCY\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"disables transparency in ODS Graphics output, so that all graph features are opaque\",\"type\":\"standalone\"},{\"name\":\"ODSFOOTNOTE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"adds a footnote to ODS Graphics output\",\"help\":\"ODSFOOTNOTE=FOOTNOTE | FOOTNOTE1 | '*string*'\",\"type\":\"value\"},{\"name\":\"ODSFOOTNOTE2=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"adds a secondary footnote to ODS Graphics output\",\"help\":\"ODSFOOTNOTE2=FOOTNOTE2 | '*string*'\",\"type\":\"value\"},{\"name\":\"ODSLEGENDEXPAND\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that legend entries contain all levels observed in the data\",\"type\":\"standalone\"},{\"name\":\"ODSTITLE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a title for ODS Graphics output\",\"help\":\"ODSTITLE=TITLE | TITLE1 | NONE | DEFAULT | LABELFMT | '*string*'\",\"type\":\"value\"},{\"name\":\"ODSTITLE2=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a secondary title for ODS Graphics output\",\"help\":\"ODSTITLE2=TITLE2 | '*string*'\",\"type\":\"value\"},{\"name\":\"OUTFILLTRANSPARENCY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the control limit outfill transparency when transparency is used in ODS Graphics output\",\"help\":\"OUTFILLTRANSPARENCY=*value*\",\"type\":\"value\"},{\"name\":\"OUTHIGHURL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a variable whose values are URLs to be associated with outlier points above the upper fence on a schematic box chart when ODS Graphics output is directed into HTML\",\"help\":\"OUTHIGHURL=*variable*\",\"type\":\"value\"},{\"name\":\"OUTLOWURL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a variable whose values are URLs to be associated with outlier points below the lower fence on a schematic box chart when ODS Graphics output is directed into HTML\",\"help\":\"OUTLOWURL=*variable*\",\"type\":\"value\"},{\"name\":\"OVERLAY2URL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies variables whose values are URLs to be associated with points on secondary chart overlays\",\"help\":\"OVERLAY2URL=(*variable-list*)\",\"type\":\"value\"},{\"name\":\"OVERLAYURL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies variables whose values are URLs to be associated with points on primary chart overlays\",\"help\":\"OVERLAYURL=(*variable-list*)\",\"type\":\"value\"},{\"name\":\"PHASEBOXLABELS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"draws phase labels as titles along the top of phase boxes\",\"type\":\"standalone\"},{\"name\":\"PHASEPOS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the vertical position of the phase legend\",\"help\":\"PHASEPOS=1 | 2 | 3 | 4\",\"type\":\"choice\",\"arguments\":[{\"name\":\"1\",\"followsDelimiter\":\"/\",\"description\":\"places at top of chart, offset from axis frame\",\"type\":\"standalone\"},{\"name\":\"2\",\"followsDelimiter\":\"/\",\"description\":\"places at top of chart, immediately above axis frame\",\"type\":\"standalone\"},{\"name\":\"3\",\"followsDelimiter\":\"/\",\"description\":\"places at bottom of chart, immediately above horizontal axis\",\"type\":\"standalone\"},{\"name\":\"4\",\"followsDelimiter\":\"/\",\"description\":\"places at bottom of chart, below horizontal axis label\",\"type\":\"standalone\"}]},{\"name\":\"PHASEREFLEVEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"enables you to associate phase reference lines (block reference lines) with either the innermost or the outermost level\",\"help\":\"PHASEREFLEVEL=INNER | OUTER | NONE\",\"type\":\"choice\"},{\"name\":\"QCSYMBOLS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies which set of symbol markers is used to plot points on a control chart\",\"help\":\"QCSYMBOLS=TRUE | FALSE\",\"type\":\"choice\"},{\"name\":\"SIMULATEQCFONT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"draws the central line labels using a simulated software font rather than a hardware font\",\"type\":\"standalone\"},{\"name\":\"STARTRANSPARENCY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the star fill transparency when transparency is used in ODS Graphics output\",\"help\":\"STARTRANSPARENCY=*value*\",\"type\":\"value\"},{\"name\":\"URL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies URLs as values of the specified character variable (or formatted values of a numeric variable) to associate with subgroup points on a primary control chart when ODS Graphics output is directed into HTML\",\"help\":\"URL=*variable*\",\"type\":\"value\"},{\"name\":\"URL2=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies URLs as values of the specified character variable (or formatted values of a numeric variable) to associate with subgroup points on a secondary control chart when ODS Graphics output is directed into HTML\",\"help\":\"URL2=*variable*\",\"type\":\"value\"},{\"name\":\"ANNOTATE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"ANNO=\"],\"description\":\"specifies an ANNOTATE= type data set that enhances a primary chart\",\"help\":\"ANNOTATE=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"BILEVEL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"arranges the Shewhart chart in two levels (rather than the default of one level) so that twice as much data can be displayed on a page or screen\",\"type\":\"standalone\"},{\"name\":\"CAXIS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the color for the axes and tick marks\",\"help\":\"CAXIS=*color*\",\"type\":\"color\"},{\"name\":\"CBLOCKLAB=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies fill colors for the frames that enclose the block-variable labels in a block legend\",\"help\":\"CBLOCKLAB=*color* | (*color-list*)\",\"type\":\"color\"},{\"name\":\"CBLOCKVAR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies variables whose values are colors for filling the background of the legend associated with block-variables\",\"help\":\"CBLOCKVAR=*variable* | (*variable-list*)\",\"type\":\"value\"},{\"name\":\"CCLIP=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a color for the plotting symbol that is specified with the CLIPSYMBOL option to mark clipped points\",\"help\":\"CCLIP=*color*\",\"type\":\"color\"},{\"name\":\"CCONNECT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the color for the line segments connecting points on the chart\",\"help\":\"CCONNECT=*color*\",\"type\":\"color\"},{\"name\":\"CCOVERLAY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the colors for the line segments connecting points on primary chart overlays\",\"help\":\"CCOVERLAY=(*color-list*)\",\"type\":\"color\"},{\"name\":\"CCOVERLAY2=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the colors for the line segments connecting points on secondary chart overlays\",\"help\":\"CCOVERLAY2=(*color-list*)\",\"type\":\"color\"},{\"name\":\"CFRAME=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the colors for filling the rectangle enclosed by the axes and the frame\",\"help\":\"CFRAME=*color* | (*color-list*)\",\"type\":\"color\"},{\"name\":\"CGRID=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the color for the grid requested by the ENDGRID or GRID option\",\"help\":\"CGRID=*color*\",\"type\":\"color\"},{\"name\":\"CHREF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the color for the lines requested by the HREF= and HREF2= options\",\"help\":\"CHREF=*color*\",\"type\":\"color\"},{\"name\":\"CLABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the color for labels produced by the ALLLABEL=, ALLLABEL2=, OUTLABEL=, and OUTLABEL2= options\",\"help\":\"CLABEL=*color*\",\"type\":\"color\"},{\"name\":\"CLIMITS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the color for the control limits, the central line, and the labels for these lines\",\"help\":\"CLIMITS=*color*\",\"type\":\"color\"},{\"name\":\"CLIPLEGPOS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the position for the legend that indicates the number of clipped points when the CLIPFACTOR= option is used\",\"help\":\"CLIPLEGPOS=TOP | BOTTOM\",\"type\":\"choice\"},{\"name\":\"CLIPSYMBOL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a plot symbol used to identify clipped points on the chart and in the legend when the CLIPFACTOR= option is used\",\"help\":\"CLIPSYMBOL=*symbol*\",\"type\":\"value\"},{\"name\":\"CLIPSYMBOLHT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the height for the symbol marker used to identify clipped points on the chart when the CLIPFACTOR= option is used\",\"help\":\"CLIPSYMBOLHT=*value*\",\"type\":\"value\"},{\"name\":\"CNEEDLES=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"requests that points are to be connected to the central line with vertical line segments (needles) and specifies the color of the needles\",\"help\":\"CNEEDLES=*color*\",\"type\":\"color\"},{\"name\":\"COUTFILL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the fill color for the areas outside the control limits that lie between the connected points and the control limits and are bounded by connecting lines\",\"help\":\"COUTFILL=*color*\",\"type\":\"color\"},{\"name\":\"COVERLAY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the colors used to plot primary chart overlay variables specified in the OVERLAY= list\",\"help\":\"COVERLAY=(*color-list*)\",\"type\":\"color\"},{\"name\":\"COVERLAY2=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the colors used to plot secondary chart overlay variables specified in the OVERLAY2= list\",\"help\":\"COVERLAY2=(*color-list*)\",\"type\":\"color\"},{\"name\":\"COVERLAYCLIP=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the color used to plot clipped values on overlay plots when the CLIPFACTOR= option is used\",\"help\":\"COVERLAYCLIP=*color*\",\"type\":\"color\"},{\"name\":\"CPHASELEG=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a text color for the phase labels requested with the PHASELEGEND option\",\"help\":\"CPHASELEG=*color*\",\"type\":\"color\"},{\"name\":\"CSTARCIRCLES=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a color for the circles requested with the STARCIRCLES= option\",\"help\":\"CSTARCIRCLES=*color*\",\"type\":\"color\"},{\"name\":\"CSTARFILL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a color or colors for filling the interior of stars requested with the STARVERTICES= option\",\"help\":\"CSTARFILL=*color* | (*variable*)\",\"type\":\"color\"},{\"name\":\"CSTARS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a color or colors for the outlines of stars requested with the STARVERTICES= option\",\"help\":\"CSTARS=*color* | (*variable*)\",\"type\":\"color\"},{\"name\":\"CTESTLABBOX=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the color for boxes enclosing labels for positive tests for special causes requested with the TESTLABBOX option\",\"help\":\"CTESTLABBOX=*color*\",\"type\":\"color\"},{\"name\":\"CTESTS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies colors for labels indicating points where a test for special causes specified in the TESTS= option is positive\",\"help\":\"CTESTS=*color* | *test-color-list*\",\"type\":\"color\"},{\"name\":\"CTESTSYMBOL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the color of the symbol used to plot subgroups with positive tests for special causes\",\"help\":\"CTESTSYMBOL=*color*\",\"type\":\"color\"},{\"name\":\"CTEXT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the color for tick mark values, axis labels, the sample size legend, and the control limit legend\",\"help\":\"CTEXT=*color*\",\"type\":\"color\"},{\"name\":\"CVREF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the color for reference lines requested by the VREF= and VREF2= options\",\"help\":\"CVREF=*color*\",\"type\":\"color\"},{\"name\":\"CZONES=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"requests lines marking zones A, B, and C for the tests for special causes\",\"help\":\"CZONES=*color*\",\"type\":\"color\"},{\"name\":\"DESCRIPTION=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a description, up to 256 characters long, for the GRSEG catalog entry for the primary chart\",\"help\":\"DESCRIPTION='*string*'\",\"type\":\"value\"},{\"name\":\"ENDGRID\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"a grid to the rightmost portion of the chart, beginning with the first labeled major tick mark position that follows the last plotted point\",\"type\":\"standalone\"},{\"name\":\"FONT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a software font for labels and legends\",\"help\":\"FONT=*font*\",\"type\":\"value\"},{\"name\":\"HEIGHT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the height (in vertical screen percent units) of the text for axis labels and legends\",\"help\":\"HEIGHT=*value*\",\"type\":\"value\"},{\"name\":\"HMINOR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the number of (unlabeled) minor tick marks between each major tick mark on the horizontal axis\",\"help\":\"HMINOR=*n*\",\"type\":\"value\"},{\"name\":\"HTML=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a variable whose values create links associated with subgroup points on a primary control chart when traditional graphics output is directed into HTML\",\"help\":\"HTML=*variable*\",\"type\":\"value\"},{\"name\":\"HTML2=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a variable whose values create links associated with subgroup points on a secondary control chart when traditional graphics output is directed into HTML\",\"help\":\"HTML2=*variable*\",\"type\":\"value\"},{\"name\":\"HTML_LEGEND=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies HTML links as values of the specified character variable (or formatted values of a numeric variable)\",\"help\":\"HTML_LEGEND=*variable*\",\"type\":\"value\"},{\"name\":\"LABELANGLE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the angle at which labels requested with the ALLLABEL=, ALLLABEL2=, OUTLABEL=, and OUTLABEL2= options are drawn\",\"help\":\"LABELANGLE=*angle*\",\"type\":\"value\"},{\"name\":\"LABELFONT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"TESTFONT=\"],\"description\":\"specifies a software font for labels requested with the ALLLABEL=, ALLLABEL2=, OUTLABEL=, OUTLABEL2=, STARLABEL=, TESTLABEL=, and TESTLABELn= options\",\"help\":\"LABELFONT=*font*\",\"type\":\"value\"},{\"name\":\"LABELHEIGHT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"TESTHEIGHT=\"],\"description\":\"specifies the height (in vertical percent screen units) for labels requested with the ALLLABEL=, ALLLABEL2=, OUTLABEL=, OUTLABEL2=, STARLABEL=, TESTLABEL=, and TESTLABELn= options\",\"help\":\"LABELHEIGHT=*value*\",\"type\":\"value\"},{\"name\":\"LENDGRID=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the line type for the grid requested with the ENDGRID option\",\"help\":\"LENDGRID=*n*\",\"type\":\"value\"},{\"name\":\"LGRID=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the line type for the grid requested with the GRID option\",\"help\":\"LGRID=*n*\",\"type\":\"value\"},{\"name\":\"LHREF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the line type for reference lines requested with the HREF= and HREF2= options\",\"help\":\"LHREF=*linetype*\",\"type\":\"value\"},{\"name\":\"LLIMITS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the line type for control limits\",\"help\":\"LLIMITS=*linetype*\",\"type\":\"value\"},{\"name\":\"LOVERLAY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies line types for the line segments connecting points on primary chart overlays corresponding to the OVERLAY= list\",\"help\":\"LOVERLAY=(*linetypes*)\",\"type\":\"value\"},{\"name\":\"LOVERLAY2=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies line types for the line segments connecting points on secondary chart overlays corresponding to the OVERLAY2= list\",\"help\":\"LOVERLAY2=(*linetypes*)\",\"type\":\"value\"},{\"name\":\"LSTARCIRCLES=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies one or more line types for the circles requested with the STARCIRCLES= option\",\"help\":\"LSTARCIRCLES=*linetypes*\",\"type\":\"value\"},{\"name\":\"LSTARS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the line types for the outlines of stars requested with the STARVERTICES= option\",\"help\":\"LSTARS=*linetype* | (*variable*)\",\"type\":\"value\"},{\"name\":\"LTESTS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the line type for the line segments that connect patterns of points for which a test for special causes (requested with the TESTS= option) is positive\",\"help\":\"LTESTS=*linetype*\",\"type\":\"value\"},{\"name\":\"LVREF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the line type for reference lines requested by the VREF= and VREF2= options\",\"help\":\"LVREF=*linetype*\",\"type\":\"value\"},{\"name\":\"LZONES=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the line type for lines that delineate zones A, B, and C for standard tests requested with the TESTS= and/or TESTS2= options\",\"help\":\"LZONES=*n*\",\"type\":\"value\"},{\"name\":\"NAME=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the name of the GRSEG catalog entry for the primary chart, and the name of the graphics output file if one is created\",\"help\":\"NAME='*string*'\",\"type\":\"value\"},{\"name\":\"NOFRAME\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses the default frame drawn around the chart\",\"type\":\"standalone\"},{\"name\":\"NOLIMITSFRAME\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses the default frame for the control limit information that is displayed across the top of the chart when multiple sets of control limits with distinct multiples of σ and nominal control limit sample sizes are read from a LIMITS= data set\",\"type\":\"standalone\"},{\"name\":\"NOPHASEFRAME\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses the default frame for the legend requested by the PHASELEGEND option\",\"type\":\"standalone\"},{\"name\":\"NOVANGLE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"requests vertical axis labels that are strung out vertically\",\"type\":\"standalone\"},{\"name\":\"NOVLABEL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses the label for the primary vertical axis\",\"type\":\"standalone\"},{\"name\":\"NOV2LABEL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses the label for the secondary vertical axis\",\"type\":\"standalone\"},{\"name\":\"OUTHIGHHTML=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a variable whose values create links to be associated with outlier points above the upper fence on a schematic box chart when traditional graphics output is directed into HTML\",\"help\":\"OUTHIGHHTML=*variable*\",\"type\":\"value\"},{\"name\":\"OUTLOWHTML=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a variable whose values create links to be associated with outlier points below the lower fence on a schematic box chart when traditional graphics output is directed into HTML\",\"help\":\"OUTLOWHTML=*variable*\",\"type\":\"value\"},{\"name\":\"OVERLAY2HTML=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies variables whose values create links to be associated with points on secondary chart overlays corresponding to the OVERLAY2= list\",\"help\":\"OVERLAY2HTML=(*variable-list*)\",\"type\":\"value\"},{\"name\":\"OVERLAY2SYM=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies symbols used to plot overlays on a secondary control chart corresponding to the OVERLAY2= list\",\"help\":\"OVERLAY2SYM=(*symbol-list*)\",\"type\":\"value\"},{\"name\":\"OVERLAY2SYMHT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the heights of symbols used to plot overlays on a secondary control chart corresponding to the OVERLAY2= list\",\"help\":\"OVERLAY2SYMHT=(*value-list*)\",\"type\":\"value\"},{\"name\":\"OVERLAYCLIPSYM=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the symbol used to plot clipped values on overlay plots when the CLIPFACTOR= option is used\",\"help\":\"OVERLAYCLIPSYM=*symbol*\",\"type\":\"value\"},{\"name\":\"OVERLAYCLIPSYMHT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the height for the symbol used to plot clipped values on overlay plots when the CLIPFACTOR= option is used\",\"help\":\"OVERLAYCLIPSYMHT=*value*\",\"type\":\"value\"},{\"name\":\"OVERLAYHTML=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies variables whose values create links to be associated with points on primary chart overlays corresponding to the OVERLAY= list\",\"help\":\"OVERLAYHTML=(*variable-list*)\",\"type\":\"value\"},{\"name\":\"OVERLAYSYM=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies symbols used to plot overlays on the primary control chart corresponding to the OVERLAY= list\",\"help\":\"OVERLAYSYM=(*symbol-list*)\",\"type\":\"value\"},{\"name\":\"OVERLAYSYMHT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the heights of symbols used to plot overlays on the primary control chart corresponding to the OVERLAY= list\",\"help\":\"OVERLAYSYMHT=(*value-list*)\",\"type\":\"value\"},{\"name\":\"TESTFONT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"LABELFONT=\"],\"description\":\"specifies a software font for labels requested with the ALLLABEL=, ALLLABEL2=, OUTLABEL=, OUTLABEL2=, STARLABEL=, TESTLABEL=, and TESTLABELn= options\",\"help\":\"TESTFONT=*font*\",\"type\":\"value\"},{\"name\":\"TESTHEIGHT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"LABELHEIGHT=\"],\"description\":\"specifies the height (in vertical percent screen units) for labels requested with the ALLLABEL=, ALLLABEL2=, OUTLABEL=, OUTLABEL2=, STARLABEL=, TESTLABEL=, and TESTLABELn= options\",\"help\":\"TESTHEIGHT=*value*\",\"type\":\"value\"},{\"name\":\"TESTSYMBOL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the symbol for plotting subgroups with positive tests for special causes\",\"help\":\"TESTSYMBOL=*symbol*\",\"type\":\"value\"},{\"name\":\"TESTSYMBOLHT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the height of the symbol used to plot subgroups with positive tests for special causes\",\"help\":\"TESTSYMBOLHT=*value*\",\"type\":\"value\"},{\"name\":\"TURNALL\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"TURNOUT\"],\"description\":\"turns the labels produced by the ALLLABEL=, ALLLABEL2=, OUTLABEL=, and OUTLABEL2= options so that they are strung out vertically\",\"type\":\"standalone\"},{\"name\":\"TURNHLABELS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"turns the major tick mark labels for the horizontal (subgroup) axis so that they are strung out vertically\",\"type\":\"standalone\"},{\"name\":\"VMINOR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the number of minor tick marks between each major tick mark on the vertical axis\",\"help\":\"VMINOR=*n*\",\"type\":\"value\"},{\"name\":\"WAXIS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the width in pixels for the axis and frame lines\",\"help\":\"WAXIS=*n*\",\"type\":\"value\"},{\"name\":\"WGRID=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the width in pixels for grid lines requested with the ENDGRID and GRID options\",\"help\":\"WGRID=*n*\",\"type\":\"value\"},{\"name\":\"WLIMITS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the width in pixels for the control limits and central line\",\"help\":\"WLIMITS=*n*\",\"type\":\"value\"},{\"name\":\"WNEEDLES=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the width in pixels of needles connecting plotted points to the central line, as requested with the NEEDLES option\",\"help\":\"WNEEDLES=*n*\",\"type\":\"value\"},{\"name\":\"WOVERLAY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the widths in pixels for the line segments connecting points on primary chart overlay plots corresponding to the OVERLAY= list\",\"help\":\"WOVERLAY=(*value-list*)\",\"type\":\"value\"},{\"name\":\"WOVERLAY2=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the widths in pixels for the line segments connecting points on secondary chart overlay plots corresponding to the OVERLAY2= list\",\"help\":\"WOVERLAY2=(*value-list*)\",\"type\":\"value\"},{\"name\":\"WSTARCIRCLES=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the width in pixels of the outline of circles requested by the STARCIRCLES= option\",\"help\":\"WSTARCIRCLES=*n*\",\"type\":\"value\"},{\"name\":\"WSTARS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the width in pixels of the outline of stars requested by the STARVERTICES= option\",\"help\":\"WSTARS=*n*\",\"type\":\"value\"},{\"name\":\"WTESTS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the width in pixels of the line segments that connect patterns of points for which a test for special causes (requested with the TESTS= or TESTS2= option) is positive\",\"help\":\"WTESTS=*n*\",\"type\":\"value\"}]},{\"name\":\"UCHART\",\"description\":\"creates u charts for the numbers of nonconformities (defects) per inspection unit in subgroup samples containing arbitrary numbers of units\",\"help\":\"UCHART  (processes) * subgroup-variable<(block-variables)><=symbol-variable | ='character'></ options>;                                              \\nprocess is the name of the variable containing the numbers of nonconformities per subgroup, or the common prefix of the appropriate variables in the HISTORY= data set, or the value of the variable _VAR_ in the TABLE= data set                     \\nsubgroup-variable is the variable that identifies subgroups in the data                     \\nblock-variables are optional variables that group the data into blocks of consecutive subgroups                     \\nsymbol-variable is an optional variable whose levels (unique values) determine the symbol marker that is used to plot the number of nonconformities per unit                     \\ncharacter is a character that is used to plot the points when you produce traditional graphics                     \",\"arguments\":[{\"name\":\"ACTUALALPHA\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"requests that the actual probability of a point being outside an attribute chart's probability limits be displayed in the limits legend\",\"type\":\"standalone\"},{\"name\":\"ALLLABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"labels every point on the primary chart with the value plotted for that subgroup or with the value of variable in the input data set\",\"help\":\"ALLLABEL=VALUE | (*variable*)\",\"type\":\"value\"},{\"name\":\"ALLN\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"plots summary statistics for all subgroups, regardless of whether the subgroup sample size equals the nominal control limit sample size n specified by the LIMITN= option or the variable _LIMITN_ in the LIMITS= data set\",\"type\":\"standalone\"},{\"name\":\"ALPHA=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"requests α probability limits instead of 3σ control limits\",\"help\":\"ALPHA=*value*\",\"type\":\"value\"},{\"name\":\"BLOCKLABELPOS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the position of a block-variable label in the block legend\",\"help\":\"BLOCKLABELPOS=ABOVE | LEFT | RIGHT\",\"type\":\"choice\"},{\"name\":\"BLOCKLABTYPE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies how lengthy block variable values are treated when there is insufficient space to display them in the block legend\",\"help\":\"BLOCKLABTYPE=SCALED | TRUNCATED | ROTATE | ROTATEALL | *height*\",\"type\":\"value\"},{\"name\":\"BLOCKPOS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the vertical position of the legend for the values of the block-variables\",\"help\":\"BLOCKPOS=*n*\",\"type\":\"value\"},{\"name\":\"BLOCKREP\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that block variable values for all subgroups are to be displayed\",\"type\":\"standalone\"},{\"name\":\"BLOCKVAR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies variables whose values are used to assign colors for filling the background of the legend associated with block variables\",\"help\":\"BLOCKVAR=*variable* | (*variable-list*)\",\"type\":\"value\"},{\"name\":\"BOXES=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a variable whose values are used to assign colors for the outlines of box-and-whiskers plots\",\"help\":\"BOXES=*variable*\",\"type\":\"value\"},{\"name\":\"BOXFILL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies how box-and-whisker plots are filled with colors from the ODS style\",\"help\":\"BOXFILL=*variable* | NONE | EMPTY\",\"type\":\"value\"},{\"name\":\"CFRAMELAB=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"CFRAMELAB\"],\"description\":\"specifies the color for filling rectangles that frame the point labels displayed with the ALLLABEL=, ALLLABEL2=, OUTLABEL=, and OUTLABEL2= options\",\"help\":\"CFRAMELAB=*color*\",\"type\":\"color\"},{\"name\":\"CIINDICES\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"requests capability index confidence limits based on subgroup summary data, calculated using \\\"effective degrees of freedom\\\"\",\"help\":\"CIINDICES &lt;(&lt;TYPE=*keyword*&gt;&lt;ALPHA=*value*&gt;)&gt;\",\"type\":\"standaloneOrValue\",\"arguments\":[{\"name\":\"TYPE=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the type of confidence limit\",\"help\":\"TYPE=LOWER | UPPER | TWOSIDED\",\"type\":\"choice\"},{\"name\":\"ALPHA=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the default confidence level to compute confidence limits\",\"help\":\"ALPHA=*value*\",\"type\":\"value\"}]},{\"name\":\"CINFILL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the color for the area inside the upper and lower control limits\",\"help\":\"CINFILL=*color* | EMPTY | NONE\",\"type\":\"color\"},{\"name\":\"CLIPFACTOR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"requests clipping of extreme points on the control chart\",\"help\":\"CLIPFACTOR=*factor*\",\"type\":\"value\"},{\"name\":\"CLIPLEGEND=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the label for the legend that indicates the number of clipped points when the CLIPFACTOR= option is used\",\"help\":\"CLIPLEGEND='*label*'\",\"type\":\"value\"},{\"name\":\"CLIPSUBCHAR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a substitution character (such as #) for the label provided with the CLIPLEGEND= option\",\"help\":\"CLIPSUBCHAR='*character*'\",\"type\":\"value\"},{\"name\":\"COUT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the color for the plotting symbols and the portions of connecting line segments that lie outside the control limits\",\"help\":\"COUT&lt;=*color*&gt;\",\"type\":\"standaloneOrValue\"},{\"name\":\"CSTAROUT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a color for those portions of the outlines of stars (requested with the STARVERTICES= option) that exceed the inner or outer circles\",\"help\":\"CSTAROUT&lt;=*color*&gt;\",\"type\":\"standaloneOrValue\"},{\"name\":\"DISCRETE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that numeric subgroup variable values be treated as discrete values, so that each tick value on the default subgroup axis corresponds to a unique subgroup variable value\",\"type\":\"standalone\"},{\"name\":\"EXCHART\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"creates a control chart only when exceptions occur, specifically, when the control limits are exceeded or when any of the tests requested with the TESTS= option or the TESTS2= option are positive\",\"type\":\"standalone\"},{\"name\":\"FRONTREF\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"draws reference lines specified with the HREF= and VREF= options in front of box-and-whiskers plots\",\"type\":\"standalone\"},{\"name\":\"GRID\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"adds a grid to the control chart\",\"type\":\"standalone\"},{\"name\":\"HAXIS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies tick mark values for the horizontal (subgroup) axis\",\"help\":\"HAXIS=*values* | AXIS*n*\",\"type\":\"value\"},{\"name\":\"HOFFSET=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the length of the offset at each end of the horizontal axis\",\"help\":\"HOFFSET=*value*\",\"type\":\"value\"},{\"name\":\"HREF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"draws reference lines perpendicular to the horizontal (subgroup) axis on the primary chart\",\"help\":\"HREF=*values*\",\"type\":\"value\"},{\"name\":\"HREF2DATA=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"draws reference lines perpendicular to the horizontal (subgroup) axis on the secondary chart\",\"help\":\"HREF2DATA=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"HREFDATA=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"draws reference lines perpendicular to the horizontal (subgroup) axis on the primary chart\",\"help\":\"HREFDATA=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"HREFLABELS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies labels for the reference lines requested by the HREF= option\",\"help\":\"HREFLABELS='*label1*'...'*labeln*'\",\"type\":\"value\"},{\"name\":\"HREFLABPOS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the vertical position of the HREFLABEL= and HREF2LABEL= labels\",\"help\":\"HREFLABPOS=*n*\",\"type\":\"value\",\"arguments\":[{\"name\":\"1\",\"followsDelimiter\":\"/\",\"description\":\"positions along top of subplot area\",\"type\":\"standalone\"},{\"name\":\"2\",\"followsDelimiter\":\"/\",\"description\":\"staggers from top to bottom of subplot area\",\"type\":\"standalone\"},{\"name\":\"3\",\"followsDelimiter\":\"/\",\"description\":\"positions along bottom of subplot area\",\"type\":\"standalone\"},{\"name\":\"4\",\"followsDelimiter\":\"/\",\"description\":\"staggers from bottom to top of subplot area\",\"type\":\"standalone\"}]},{\"name\":\"INDEPENDENTZONES\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"INDEPZONES\"],\"description\":\"specifies that the widths of the zones requested with the ZONES option be computed independently above and below the center line of the chart, so that the width of each zone is one-third of the difference between the process mean and the control limit on its side of the chart\",\"type\":\"standalone\"},{\"name\":\"INTERVAL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the natural time interval between consecutive subgroup positions when a time, date, or datetime format is associated with a numeric subgroup variable\",\"help\":\"INTERVAL=DAY | DTDAY | HOUR | MINUTE | MONTH | QTR | SECOND\",\"type\":\"choice\"},{\"name\":\"INTSTART=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the starting value for a numeric horizontal axis, when a date, time, or datetime format is associated with the subgroup variable\",\"help\":\"INTSTART=*value*\",\"type\":\"value\"},{\"name\":\"LANEY\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"computes control limits for a chart for attributes as recommended by Laney\",\"type\":\"standalone\"},{\"name\":\"LCLLABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a label for the lower control limit in the primary chart\",\"help\":\"LCLLABEL='*label*'\",\"type\":\"value\"},{\"name\":\"LIMITN=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies either a fixed or varying nominal sample size for the control limits\",\"help\":\"LIMITN=*n* | VARYING\",\"type\":\"value\"},{\"name\":\"LIMLABSUBCHAR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a substitution character (such as #) for labels provided as quoted strings with the LCLLABEL=, LCLLABEL2=, UCLLABEL=, UCLLABEL2=, CSYMBOL=, NPSYMBOL=, PSYMBOL=, RSYMBOL=, SSYMBOL=, USYMBOL=, and XSYMBOL= options\",\"help\":\"LIMLABSUBCHAR='*character*'\",\"type\":\"value\"},{\"name\":\"MAXPANELS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the maximum number of pages or screens for a chart\",\"help\":\"MAXPANELS=*n*\",\"type\":\"value\"},{\"name\":\"MISSBREAK\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"determines how subgroups are formed when observations are read from a DATA= data set and a character subgroup-variable is provided\",\"type\":\"standalone\"},{\"name\":\"NDECIMAL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the number of decimal digits in the default labels for the control limits and the central line in the primary chart\",\"help\":\"NDECIMAL=*n*\",\"type\":\"value\"},{\"name\":\"NEEDLES\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"connects plotted points to the central line with vertical line segments (needles)\",\"type\":\"standalone\"},{\"name\":\"NMARKERS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"identifies a plotted subgroup summary statistic with a special symbol marker (character) when the corresponding subgroup sample size is not equal to the nominal control limit sample size n\",\"type\":\"standalone\"},{\"name\":\"NO3SIGMACHECK\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses the check for 3σ limits when tests for special causes are requested\",\"type\":\"standalone\"},{\"name\":\"NOBYREF\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that the reference line information in an HREF=, HREF2=, VREF=, or VREF2= data set is to be applied uniformly to charts created for all the BY groups in the input data set (DATA=, HISTORY=, or TABLE=)\",\"type\":\"standalone\"},{\"name\":\"NOCHART\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses the creation of the chart\",\"type\":\"standalone\"},{\"name\":\"NOCONNECT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses line segments that connect points on the chart\",\"type\":\"standalone\"},{\"name\":\"NOCTL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses the display of the central line in a primary chart\",\"type\":\"standalone\"},{\"name\":\"NOHLABEL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses the label for the horizontal (subgroup) axis\",\"type\":\"standalone\"},{\"name\":\"NOLCL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses the display of the lower control limit in a primary chart\",\"type\":\"standalone\"},{\"name\":\"NOLEGEND\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses the default legend for subgroup sample sizes, which appears by default below the chart\",\"type\":\"standalone\"},{\"name\":\"NOLIMIT0\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses the display of a fixed lower control limit if and only if the value of the limit is zero\",\"type\":\"standalone\"},{\"name\":\"NOLIMITLABEL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses the default labels for the control limits and central lines\",\"type\":\"standalone\"},{\"name\":\"NOLIMITS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses the display of control limits\",\"type\":\"standalone\"},{\"name\":\"NOLIMITSLEGEND\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses the legend for the control limits, which appears by default in the upper right corner of the chart\",\"type\":\"standalone\"},{\"name\":\"NOOVERLAYLEGEND\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses the legend for overlay variables which is displayed by default when the OVERLAY= or OVERLAY2= option is specified\",\"type\":\"standalone\"},{\"name\":\"NOREADLIMITS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that the control limits for each process listed in the chart statement not be read from the LIMITS= data set specified in the PROC SHEWHART statement\",\"type\":\"standalone\"},{\"name\":\"NOTESTACROSS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that tests for special causes requested with the TESTS= or TESTS2= options not be applied across the boundaries of phases (blocks of consecutive subgroups) determined by the READPHASES= option and the variable _PHASE_ in the input data set\",\"type\":\"standalone\"},{\"name\":\"NOTICKREP\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"applies to character-valued subgroup-variables and specifies that only the first occurrence of repeated, adjacent subgroup values is to be labeled on the horizontal axis\",\"type\":\"standalone\"},{\"name\":\"NOTRUNC\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"overrides the vertical axis truncation at zero, which is applied by default to c charts, moving range charts, np charts, p charts, R charts, s charts, and u charts\",\"type\":\"standalone\"},{\"name\":\"NOUCL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses the display of the upper control limit in a primary chart\",\"type\":\"standalone\"},{\"name\":\"NPANELPOS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the number of subgroup positions per panel on each chart\",\"help\":\"NPANELPOS=*n*\",\"type\":\"value\"},{\"name\":\"OUTFILL\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"COUTFILL\"],\"description\":\"fills the areas outside the control limits that lie between the connected points and the control limits and are bounded by connecting lines\",\"type\":\"standalone\"},{\"name\":\"OUTHISTORY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"creates an output data set that contains the subgroup summary statistics\",\"help\":\"OUTHISTORY=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"OUTINDEX=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the value of the _INDEX_ variable in the OUTLIMITS= output data set\",\"help\":\"OUTINDEX='*label*'\",\"type\":\"value\"},{\"name\":\"OUTLABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"labels each point that falls outside the control limits on the primary chart with the value plotted for that subgroup or with the value of variable in the input data set\",\"help\":\"OUTLABEL=VALUE | (*variable*)\",\"type\":\"value\"},{\"name\":\"OUTLIMITS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"creates an output data set that saves the control limits\",\"help\":\"OUTLIMITS=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"OUTPHASE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the value of the _PHASE_ variable in the OUTHISTORY= data set\",\"help\":\"OUTPHASE='*label*'\",\"type\":\"value\"},{\"name\":\"OUTTABLE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"creates an output SAS data set that saves the information plotted on the chart, including the subgroup variable values and their corresponding summary statistics and control limits\",\"help\":\"OUTTABLE=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"OVERLAY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies variables to be overlaid on the primary control chart\",\"help\":\"OVERLAY=(*variable-list*)\",\"type\":\"value\"},{\"name\":\"OVERLAY2=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies variables to be overlaid on a secondary control chart\",\"help\":\"OVERLAY2=(*variable-list*)\",\"type\":\"value\"},{\"name\":\"OVERLAY2ID=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies variables whose formatted values are used to label points on secondary chart overlays\",\"help\":\"OVERLAY2ID=(*variable-list*)\",\"type\":\"value\"},{\"name\":\"OVERLAYID=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies variables whose formatted values are used to label points on primary chart overlays\",\"help\":\"OVERLAYID=(*variable-list*)\",\"type\":\"value\"},{\"name\":\"OVERLAYLEGLAB=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the label displayed to the left of the legend for overlays requested with the OVERLAY= or OVERLAY2= option\",\"help\":\"OVERLAYLEGLAB='*label*'\",\"type\":\"value\"},{\"name\":\"PAGENUM=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the form of the label used for pagination; for example, 'Page #' or 'Page # of #'\",\"help\":\"PAGENUM='*string*'\",\"type\":\"value\"},{\"name\":\"PAGENUMPOS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies where to position the page number requested with the PAGENUM= option\",\"help\":\"PAGENUMPOS=TL | TR | BL | BR | TL100 | TR100 | BL0 | BR0\",\"type\":\"choice\",\"arguments\":[{\"name\":\"TL\",\"followsDelimiter\":\"/\",\"description\":\"specifies the top left\",\"type\":\"standalone\"},{\"name\":\"TR\",\"followsDelimiter\":\"/\",\"description\":\"specifies the top right\",\"type\":\"standalone\"},{\"name\":\"BL\",\"followsDelimiter\":\"/\",\"description\":\"specifies the bottom left\",\"type\":\"standalone\"},{\"name\":\"BR\",\"followsDelimiter\":\"/\",\"description\":\"specifies the bottom right\",\"type\":\"standalone\"},{\"name\":\"TL100\",\"followsDelimiter\":\"/\",\"description\":\"specifies the very top left\",\"type\":\"standalone\"},{\"name\":\"TR100\",\"followsDelimiter\":\"/\",\"description\":\"specifies the very top right\",\"type\":\"standalone\"},{\"name\":\"BL0\",\"followsDelimiter\":\"/\",\"description\":\"specifies the very bottom left\",\"type\":\"standalone\"},{\"name\":\"BR0\",\"followsDelimiter\":\"/\",\"description\":\"specifies the very bottom right\",\"type\":\"standalone\"}]},{\"name\":\"PHASEBREAK\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that the last point in a phase (defined as a block of consecutive subgroups with the same value of the _PHASE_ variable) is not to be connected to the first point in the next phase\",\"type\":\"standalone\"},{\"name\":\"PHASELABTYPE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies how lengthy _PHASE_ variable values are displayed when there is insufficient space in the legend requested with the PHASELEGEND option\",\"help\":\"PHASELABTYPE=SCALED | TRUNCATED | *height*\",\"type\":\"value\"},{\"name\":\"PHASELEGEND\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"identifies the phases requested with the READPHASES= option in a legend across the top of the chart\",\"type\":\"standalone\"},{\"name\":\"PHASELIMITS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that the control limits and center line be labeled for each phase specified with the READPHASES= option, providing the limits are constant within that phase\",\"type\":\"standalone\"},{\"name\":\"PHASEREF\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"delineates the phases specified with the READPHASES= option with reference lines drawn vertically\",\"type\":\"standalone\"},{\"name\":\"PHASEVARLABEL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"displays the label associated with the variable _PHASE_ above the phase values in the phase legend\",\"type\":\"standalone\"},{\"name\":\"PHASEVALSEP\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"displays vertical lines separating phase values in the phase legend\",\"type\":\"standalone\"},{\"name\":\"PROBLIMITS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"requests that discrete-valued probability limits be computed for attribute charts\",\"help\":\"PROBLIMITS=DISCRETE\",\"type\":\"value\"},{\"name\":\"RANGES\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"estimates the process standard deviation for a boxplot using subgroup ranges\",\"type\":\"standalone\"},{\"name\":\"READALPHA\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that the variable _ALPHA_, rather than the variable _SIGMAS_, be read from a LIMITS= data set when both variables are available in the data set\",\"type\":\"standalone\"},{\"name\":\"READINDEX=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"reads one or more sets of control limits from a LIMITS= data set (specified in the PROC SHEWHART statement) for each process listed in the chart statement\",\"help\":\"READINDEX=*value-list* | ALL\",\"type\":\"value\"},{\"name\":\"READPHASES=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"selects blocks of consecutive observations to be read from the input data set\",\"help\":\"READPHASES=*value-list* | ALL\",\"type\":\"value\"},{\"name\":\"REPEAT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that the horizontal axis of a chart that spans multiple pages be arranged so that the last subgroup position on a page is repeated as the first subgroup position on the next page\",\"type\":\"standalone\"},{\"name\":\"SIGMAS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the width of the control limits in terms of the multiple k of the standard error of the number of nonconformities per unit statistic plotted on the chart\",\"help\":\"SIGMAS=*k*\",\"type\":\"value\"},{\"name\":\"SKIPHLABELS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the number n of consecutive tick mark labels, beginning with the second tick mark label, that are thinned (not displayed) on the horizontal (subgroup) axis\",\"help\":\"SKIPHLABELS=*n*\",\"type\":\"value\"},{\"name\":\"STARBDRADIUS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the radius of an imaginary circle that is the outer bound for vertices of stars requested with the STARVERTICES= option\",\"help\":\"STARBDRADIUS=*value*\",\"type\":\"value\"},{\"name\":\"STARCIRCLES=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies reference circles that are superimposed on the stars requested with the STARVERTICES= option\",\"help\":\"STARCIRCLES=*values*\",\"type\":\"value\"},{\"name\":\"STARINRADIUS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the inner radius of stars requested with the STARVERTICES= option\",\"help\":\"STARINRADIUS=*value*\",\"type\":\"value\"},{\"name\":\"STARFILL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies colors for filling the interior of stars requested with the STARVERTICES= option\",\"help\":\"STARFILL=*variable*\",\"type\":\"value\"},{\"name\":\"STARLABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a method for labeling the vertices of stars requested with the STARVERTICES= option\",\"help\":\"STARLABEL=ALL | FIRST | HIGH | LOW | OUT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ALL\",\"followsDelimiter\":\"/\",\"description\":\"labels all vertices of all stars\",\"type\":\"standalone\"},{\"name\":\"FIRST\",\"followsDelimiter\":\"/\",\"description\":\"labels all vertices of the leftmost star\",\"type\":\"standalone\"},{\"name\":\"HIGH\",\"followsDelimiter\":\"/\",\"description\":\"labels only vertices that lie outside the outer circle\",\"type\":\"standalone\"},{\"name\":\"LOW\",\"followsDelimiter\":\"/\",\"description\":\"labels only vertices that lie inside the inner circle\",\"type\":\"standalone\"},{\"name\":\"OUT\",\"followsDelimiter\":\"/\",\"description\":\"labels only vertices that lie inside the inner circle or outside the outer circle\",\"type\":\"standalone\"}]},{\"name\":\"STARLEGEND=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the style of the legend used to identify the vertices of stars requested with the STARVERTICES= option\",\"help\":\"STARLEGEND=CLOCK | CLOCK0 | DEGREES | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"CLOCK\",\"followsDelimiter\":\"/\",\"description\":\"identifies the vertex variables by their positions on the clock (starting with 12:00)\",\"type\":\"standalone\"},{\"name\":\"CLOCK0\",\"followsDelimiter\":\"/\",\"description\":\"identifies the vertex variables by their positions on the clock (starting with 0:00)\",\"type\":\"standalone\"},{\"name\":\"DEGREES\",\"followsDelimiter\":\"/\",\"description\":\"identifies the vertex variables by angles in degrees, with 0 degrees corresponding to 12 o'clock\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"followsDelimiter\":\"/\",\"description\":\"suppresses the legend\",\"type\":\"standalone\"}]},{\"name\":\"STARLEGENDLAB=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the label displayed to the left of the legend for stars requested with the STARLEGEND= option\",\"help\":\"STARLEGENDLAB='*label*'\",\"type\":\"value\"},{\"name\":\"STARS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies colors for the outlines of stars requested with the STARVERTICES= option\",\"help\":\"STARS=*variable*\",\"type\":\"value\"},{\"name\":\"STARSPECS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the method used to standardize the star vertex variables listed with the STARVERTICES= option\",\"help\":\"STARSPECS=*value*|*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"STARSTART=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the vertex angle for the first variable in the STARVERTICES= list\",\"help\":\"STARSTART=*value*\",\"type\":\"value\"},{\"name\":\"STARTYPE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the style of the stars requested with the STARVERTICES= option\",\"help\":\"STARTYPE=CORONA | POLYGON | RADIAL | SPOKE | WEDGE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"CORONA\",\"followsDelimiter\":\"/\",\"description\":\"specifies a polygon with star-vertices emanating from the inner circle\",\"type\":\"standalone\"},{\"name\":\"POLYGON\",\"followsDelimiter\":\"/\",\"description\":\"specifies a closed polygon\",\"type\":\"standalone\"},{\"name\":\"RADIAL\",\"followsDelimiter\":\"/\",\"description\":\"draws rays emanating from the center\",\"type\":\"standalone\"},{\"name\":\"SPOKE\",\"followsDelimiter\":\"/\",\"description\":\"draws rays emanating from the inner circle\",\"type\":\"standalone\"},{\"name\":\"WEDGE\",\"followsDelimiter\":\"/\",\"description\":\"specifies a closed polygon with rays from the center to each vertex\",\"type\":\"standalone\"}]},{\"name\":\"STARVERTICES=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"superimposes a star (polygon) at each point on the primary chart\",\"help\":\"STARVERTICES=*variable* | (*variable-list*)\",\"type\":\"value\"},{\"name\":\"SUBGROUPN=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the subgroup sample sizes as a constant value or as the values of a variable in the DATA= data set\",\"help\":\"SUBGROUPN=*value* | *variable*\",\"type\":\"value\"},{\"name\":\"SYMBOLLEGEND=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"controls the legend for the levels of a symbol-variable\",\"help\":\"SYMBOLLEGEND=LEGENDn | NONE\",\"type\":\"choice\"},{\"name\":\"SYMBOLORDER=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the order in which symbols are assigned for levels of symbol-variable\",\"help\":\"SYMBOLORDER=DATA | INTERNAL | FORMATTED\",\"type\":\"choice\"},{\"name\":\"TABLES\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"creates a basic table of the subgroup values, the subgroup sample sizes, the subgroup summary statistics, and the upper and lower control limits\",\"help\":\"TABLES &lt;(EXCEPTIONS)&gt;\",\"type\":\"standaloneOrValue\"},{\"name\":\"TABLEALL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"tabulates all the information about the control chart\",\"help\":\"TABLEALL &lt;(EXCEPTIONS)&gt;\",\"type\":\"standaloneOrValue\"},{\"name\":\"TABLECENTRAL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"augments the basic table created by the TABLES option with columns for the values of the central lines\",\"help\":\"TABLECENTRAL &lt;(EXCEPTIONS)&gt;\",\"type\":\"standaloneOrValue\"},{\"name\":\"TABLEID\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"augments the basic table created by the TABLES option with a column for each of the ID variables\",\"help\":\"TABLEID &lt;(EXCEPTIONS)&gt;\",\"type\":\"standaloneOrValue\"},{\"name\":\"TABLELEGEND\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"adds a legend to the basic table created by the TABLE option\",\"help\":\"TABLELEGEND &lt;(EXCEPTIONS)&gt;\",\"type\":\"standaloneOrValue\"},{\"name\":\"TABLEOUTLIM\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"augments the basic table created by the TABLE option with columns indicating which control limits (if any) are exceeded\",\"help\":\"TABLEOUTLIM &lt;(EXCEPTIONS)&gt;\",\"type\":\"standaloneOrValue\"},{\"name\":\"TABLETESTS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"augments the basic table created by the TABLES option with a column that indicates which of the tests for special causes (requested with the TESTS= option) are positive\",\"help\":\"TABLETESTS &lt;(EXCEPTIONS)&gt;\",\"type\":\"standaloneOrValue\"},{\"name\":\"TARGET=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"provides target values used to compute the capability index Cpm, which is saved in the OUTLIMITS= data set\",\"help\":\"TARGET=*value-list*\",\"type\":\"value\"},{\"name\":\"TEST2RESET=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"enables tests for special causes to be reset in a secondary chart\",\"help\":\"TEST2RESET=*variable* | *value*\",\"type\":\"value\"},{\"name\":\"TEST2RUN=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the length of the pattern for Test 2 requested with the TESTS= and TESTS2= options\",\"help\":\"TEST2RUN=7 | 8 | 9 | 11 | 14 | 20\",\"type\":\"choice\",\"arguments\":[{\"name\":\"7\",\"followsDelimiter\":\"/\",\"description\":\"specifies a run-length of 7 in a row on one side of the central line\",\"type\":\"standalone\"},{\"name\":\"8\",\"followsDelimiter\":\"/\",\"description\":\"specifies a run-length of 8 in a row on one side of the central line\",\"type\":\"standalone\"},{\"name\":\"9\",\"followsDelimiter\":\"/\",\"description\":\"specifies a run-length of 9 in a row on one side of the central line\",\"type\":\"standalone\"},{\"name\":\"11\",\"followsDelimiter\":\"/\",\"description\":\"specifies at least 10 out of 11 in a row on one side of the central line\",\"type\":\"standalone\"},{\"name\":\"14\",\"followsDelimiter\":\"/\",\"description\":\"specifies at least 12 out of 14 in a row on one side of the central line\",\"type\":\"standalone\"},{\"name\":\"20\",\"followsDelimiter\":\"/\",\"description\":\"specifies at least 16 out of 20 in a row on one side of the central line\",\"type\":\"standalone\"}]},{\"name\":\"TEST3RUN=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the length of the pattern for Test 3 requested with the TESTS= and TESTS2= options\",\"help\":\"TEST3RUN=6 | 7 | 8\",\"type\":\"choice\",\"arguments\":[{\"name\":\"6\",\"followsDelimiter\":\"/\",\"description\":\"searches for a pattern of steadily increasing or decreasing values with length at least 6\",\"type\":\"standalone\"},{\"name\":\"7\",\"followsDelimiter\":\"/\",\"description\":\"searches for a pattern of steadily increasing or decreasing values with length at least 7\",\"type\":\"standalone\"},{\"name\":\"8\",\"followsDelimiter\":\"/\",\"description\":\"searches for a pattern of steadily increasing or decreasing values with length at least 8\",\"type\":\"standalone\"}]},{\"name\":\"TESTACROSS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that tests for special causes requested with the TESTS= or TESTS2= options be applied without regard to phases (blocks of consecutive subgroups) determined by the READPHASES= option and the variable _PHASE_ in the input data set\",\"type\":\"standalone\"},{\"name\":\"TESTLABBOX\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"requests that labels for subgroups with positive tests for special causes are positioned so they do not overlap\",\"type\":\"standalone\"},{\"name\":\"TESTLABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"provides labels for points at which one of the tests for special causes (requested with the TESTS= or TESTS2= option) is positive\",\"help\":\"TESTLABEL='*label*' | (*variable*) | TESTINDEX | SPACE | NONE\",\"type\":\"value\"},{\"name\":\"TESTLABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a label for points at which the test for special causes requested with the index n in a TESTS= or TESTS2= list is positive\",\"help\":\"TESTLABEL*n*='*label*'\",\"type\":\"value\"},{\"name\":\"TESTNMETHOD=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"applies the tests for special causes requested with the TESTS= and TESTS2= options to standardized test statistics when the subgroup sample sizes are not constant\",\"help\":\"TESTNMETHOD=STANDARDIZE\",\"type\":\"value\"},{\"name\":\"TESTOVERLAP\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"applies tests for special causes (requested with the TESTS= or TESTS2= option) to overlapping patterns of points\",\"type\":\"standalone\"},{\"name\":\"TESTRESET=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"enables tests for special causes to be reset in a primary chart\",\"help\":\"TESTRESET=*variable* | *value*\",\"type\":\"value\"},{\"name\":\"TESTS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"requests one or more tests for special causes, which are also known as runs tests, pattern tests, and Western Electric rules\",\"help\":\"TESTS=*index-list*\",\"type\":\"value\",\"arguments\":[{\"name\":\"1\",\"followsDelimiter\":\"/\",\"description\":\"specifies one point beyond Zone A (outside the control limits)\",\"type\":\"standalone\"},{\"name\":\"2\",\"followsDelimiter\":\"/\",\"description\":\"specifies nine points in a row in Zone C or beyond on one side of the central line\",\"type\":\"standalone\"},{\"name\":\"3\",\"followsDelimiter\":\"/\",\"description\":\"specifies six points in a row steadily increasing\",\"type\":\"standalone\"},{\"name\":\"4\",\"followsDelimiter\":\"/\",\"description\":\"specifies fourteen points in a row alternating up and down\",\"type\":\"standalone\"}]},{\"name\":\"TESTS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies customized tests for special causes for the primary control chart to search for k out of m points in a row in the interval (a,b)\",\"help\":\"TESTS=T(K=*k* M=*m* LOWER=*a* UPPER=*b* SCHEME=*scheme* CODE=*character* LABEL=*'label'* LEGEND=*'legend'*)\",\"type\":\"value\",\"arguments\":[{\"name\":\"K=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the number of points\",\"help\":\"K=*k*\",\"type\":\"value\"},{\"name\":\"M=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the number of consecutive points\",\"help\":\"M=*m*\",\"type\":\"value\"},{\"name\":\"LOWER=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the lower limit of interval (a,b)\",\"help\":\"LOWER=*value*\",\"type\":\"value\"},{\"name\":\"UPPER=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the upper limit of interval (a,b)\",\"help\":\"UPPER=*value*\",\"type\":\"value\"},{\"name\":\"SCHEME=\",\"followsDelimiter\":\"/\",\"description\":\"specifies a one-sided scheme using (a,b)\",\"help\":\"SCHEME=ONESIDED\",\"type\":\"value\"},{\"name\":\"SCHEME=\",\"followsDelimiter\":\"/\",\"description\":\"specifies a two-sided scheme using (a,b) union (-b,-a)\",\"help\":\"SCHEME=TWOSIDED\",\"type\":\"value\"},{\"name\":\"CODE=\",\"followsDelimiter\":\"/\",\"description\":\"specifies an identifier for test (A--H)\",\"help\":\"CODE=*character*\",\"type\":\"value\"},{\"name\":\"LABEL=\",\"followsDelimiter\":\"/\",\"description\":\"specifies a label for points if signal\",\"help\":\"LABEL=*'label'*\",\"type\":\"value\"},{\"name\":\"LEGEND=\",\"followsDelimiter\":\"/\",\"description\":\"specifies a legend used with the TABLELEGEND option\",\"help\":\"LEGEND=*'legend'*\",\"type\":\"value\"}]},{\"name\":\"TESTS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies customized tests for special causes for the primary control chart to search for k points in a row increasing or decreasing\",\"help\":\"TESTS=M(K=*k* DIR=*direction* CODE=*character* LABEL=*'label'* LEGEND=*'legend'*)\",\"type\":\"value\",\"arguments\":[{\"name\":\"K=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the number of points\",\"help\":\"K=*k*\",\"type\":\"value\"},{\"name\":\"DIR=\",\"followsDelimiter\":\"/\",\"description\":\"specifies an increasing pattern\",\"help\":\"DIR=INC\",\"type\":\"value\"},{\"name\":\"DIR=\",\"followsDelimiter\":\"/\",\"description\":\"specifies a decreasing pattern\",\"help\":\"DIR=DEC\",\"type\":\"value\"},{\"name\":\"CODE=\",\"followsDelimiter\":\"/\",\"description\":\"specifies an identifier for test (A--H)\",\"help\":\"CODE=*character*\",\"type\":\"value\"},{\"name\":\"LABEL=\",\"followsDelimiter\":\"/\",\"description\":\"specifies a label for points if signal\",\"help\":\"LABEL=*'label'*\",\"type\":\"value\"},{\"name\":\"LEGEND=\",\"followsDelimiter\":\"/\",\"description\":\"specifies a legend used with the TABLELEGEND option\",\"help\":\"LEGEND=*'legend'*\",\"type\":\"value\"}]},{\"name\":\"TESTS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies customized tests for special causes for the primary control chart to search for a statistically significant linear trend over a window of k points\",\"help\":\"TESTS=S(K=*k* CLEV=*α* FORM=*character* CODE=*character* LABEL=*'label'* LEGEND=*'legend'*)\",\"type\":\"value\",\"arguments\":[{\"name\":\"K=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the number of points in sliding window (k > 2)\",\"help\":\"K=*k*\",\"type\":\"value\"},{\"name\":\"CLEV=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the Type I (false positive) error rate (0 < α ≤ 0.5)\",\"help\":\"CLEV=*α*\",\"type\":\"value\"},{\"name\":\"FORM=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the type of trend test (P=parametric, N=nonparametric)\",\"help\":\"FORM=*character*\",\"type\":\"value\"},{\"name\":\"CODE=\",\"followsDelimiter\":\"/\",\"description\":\"specifies an identifier for test (A--H)\",\"help\":\"CODE=*character*\",\"type\":\"value\"},{\"name\":\"LABEL=\",\"followsDelimiter\":\"/\",\"description\":\"specifies a label for points if signal\",\"help\":\"LABEL=*'label'*\",\"type\":\"value\"},{\"name\":\"LEGEND=\",\"followsDelimiter\":\"/\",\"description\":\"specifies a legend used with the TABLELEGEND option\",\"help\":\"LEGEND=*'legend'*\",\"type\":\"value\"}]},{\"name\":\"TOTPANELS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the total number of panels to be used to display the chart\",\"help\":\"TOTPANELS=*n*\",\"type\":\"value\"},{\"name\":\"TYPE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the value of the _TYPE_ variable in the OUTLIMITS= data set, which in turn indicates whether certain parameter variables in this data set represent estimates or standard (known) values\",\"help\":\"TYPE=ESTIMATE | STANDARD\",\"type\":\"choice\"},{\"name\":\"U0=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a known (standard) value u0 for the average number u of nonconformities per unit produced by the process\",\"help\":\"U0=*value*\",\"type\":\"value\"},{\"name\":\"UCLLABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a label for the upper control limit in the primary chart\",\"help\":\"UCLLABEL='*label*'\",\"type\":\"value\"},{\"name\":\"USYMBOL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a label for the central line in a u chart\",\"help\":\"USYMBOL=U | UBAR | UPM | UPM2 | U0 | '*label*'\",\"type\":\"value\",\"arguments\":[{\"name\":\"U\",\"followsDelimiter\":\"/\",\"description\":\"U\",\"type\":\"standalone\"},{\"name\":\"UBAR\",\"followsDelimiter\":\"/\",\"description\":\"U bar\",\"type\":\"standalone\"},{\"name\":\"UPM\",\"followsDelimiter\":\"/\",\"description\":\"U prime\",\"type\":\"standalone\"},{\"name\":\"UPM2\",\"followsDelimiter\":\"/\",\"description\":\"U prime prime\",\"type\":\"standalone\"},{\"name\":\"U0\",\"followsDelimiter\":\"/\",\"description\":\"U sub 0\",\"type\":\"standalone\"}]},{\"name\":\"VAXIS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies major tick mark values for the vertical axis of a primary chart\",\"help\":\"VAXIS=*value-list* | AXIS*n*\",\"type\":\"value\"},{\"name\":\"VFORMAT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a format to be used for displaying tick mark labels on the vertical axis of a primary chart\",\"help\":\"VFORMAT=*format*\",\"type\":\"value\"},{\"name\":\"VFORMAT2=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a format to be used for displaying tick mark labels on the vertical axis of a secondary chart\",\"help\":\"VFORMAT2=*format*\",\"type\":\"value\"},{\"name\":\"VOFFSET=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the length of the offset at each end of the vertical axis\",\"help\":\"VOFFSET=*value*\",\"type\":\"value\"},{\"name\":\"VREF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"draws reference lines perpendicular to the vertical axis on the primary chart\",\"help\":\"VREF=*value-list* | *SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"VREFLABELS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies labels for the reference lines requested by the VREF= option\",\"help\":\"VREFLABELS='*label1*'...'*labeln*'\",\"type\":\"value\"},{\"name\":\"VREFLABPOS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the horizontal position of the VREFLABELS= and VREF2LABELS= labels\",\"help\":\"VREFLABPOS=1 | 2 | 3\",\"type\":\"choice\",\"arguments\":[{\"name\":\"1\",\"followsDelimiter\":\"/\",\"description\":\"left-justifies in subplot area\",\"type\":\"standalone\"},{\"name\":\"2\",\"followsDelimiter\":\"/\",\"description\":\"right-justifies in subplot area\",\"type\":\"standalone\"},{\"name\":\"3\",\"followsDelimiter\":\"/\",\"description\":\"left-justifies in right margin\",\"type\":\"standalone\"}]},{\"name\":\"VZERO\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"forces the origin to be included in the vertical axis for a primary chart\",\"type\":\"standalone\"},{\"name\":\"VZERO2\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"forces the origin to be included in the vertical axis for a secondary chart\",\"type\":\"standalone\"},{\"name\":\"WESTGARD=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"requests that one or more of the Westgard rules (tests for special causes) be applied\",\"help\":\"WESTGARD=*index-list*\",\"type\":\"value\",\"arguments\":[{\"name\":\"1\",\"followsDelimiter\":\"/\",\"description\":\"specifies one point in Zone A or beyond\",\"type\":\"standalone\"},{\"name\":\"2\",\"followsDelimiter\":\"/\",\"description\":\"specifies one point beyond Zone A (outside the control limits)\",\"type\":\"standalone\"},{\"name\":\"3\",\"followsDelimiter\":\"/\",\"description\":\"specifies two points in a row in Zone A or beyond on the same side of the central line\",\"type\":\"standalone\"},{\"name\":\"4\",\"followsDelimiter\":\"/\",\"description\":\"specifies at least one point in Zone A or beyond on each side of the central line\",\"type\":\"standalone\"},{\"name\":\"5\",\"followsDelimiter\":\"/\",\"description\":\"specifies four points in a row in Zone B or beyond on the same side of the central line\",\"type\":\"standalone\"},{\"name\":\"6\",\"followsDelimiter\":\"/\",\"description\":\"specifies ten points in a row on the same side of the central line\",\"type\":\"standalone\"}]},{\"name\":\"ZEROSTD\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that a control chart is to be constructed and displayed regardless of whether the estimated process standard deviation is zero\",\"help\":\"ZEROSTD&lt;=NOLIMITS&gt;\",\"type\":\"standaloneOrValue\"},{\"name\":\"ZONE2VALUES\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"labels R or s chart zones lines with their values\",\"type\":\"standalone\"},{\"name\":\"ZONELABELS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"adds the labels A, B, and C to zone lines requested with the ZONES or ZONEVALUES options\",\"type\":\"standalone\"},{\"name\":\"ZONES\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"adds lines to a primary chart that delineate zones A, B, and C for standard tests requested with the TESTS= option\",\"type\":\"standalone\"},{\"name\":\"ZONEVALPOS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the horizontal position of the ZONEVALUES= and ZONE2VALUES= labels\",\"help\":\"ZONEVALPOS=1 | 2 | 3\",\"type\":\"choice\",\"arguments\":[{\"name\":\"1\",\"followsDelimiter\":\"/\",\"description\":\"left-justifies in subplot area\",\"type\":\"standalone\"},{\"name\":\"2\",\"followsDelimiter\":\"/\",\"description\":\"right-justifies in subplot area\",\"type\":\"standalone\"},{\"name\":\"3\",\"followsDelimiter\":\"/\",\"description\":\"left-justifies in right margin\",\"type\":\"standalone\"}]},{\"name\":\"ZONEVALUES\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"labels the primary chart zones lines with their values\",\"type\":\"standalone\"},{\"name\":\"BLOCKREFTRANSPARENCY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"PHASEREFTRANSPARENCY=\",\"REFFILLTRANSPARENCY=\"],\"description\":\"specifies the wall fill transparency for blocks and phases when transparency is used in ODS Graphics output\",\"help\":\"BLOCKREFTRANSPARENCY=*value*\",\"type\":\"value\"},{\"name\":\"BOXTRANSPARENCY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the box fill transparency for box-and-whisker charts when transparency is used in ODS Graphics output\",\"help\":\"BOXTRANSPARENCY=*value*\",\"type\":\"value\"},{\"name\":\"INFILLTRANSPARENCY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the control limit infill transparency when transparency is used in ODS Graphics output\",\"help\":\"INFILLTRANSPARENCY=*value*\",\"type\":\"value\"},{\"name\":\"MARKERDISPLAY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a subset of subgroups to be plotted with markers on a primary chart that is not an R or s chart\",\"help\":\"MARKERDISPLAY=OOC | UPPER | LOWER | RUNSTEST\",\"type\":\"choice\",\"arguments\":[{\"name\":\"OOC\",\"followsDelimiter\":\"/\",\"description\":\"selects subgroups outside the control limits\",\"type\":\"standalone\"},{\"name\":\"UPPER\",\"followsDelimiter\":\"/\",\"description\":\"selects subgroups above the upper control limit\",\"type\":\"standalone\"},{\"name\":\"LOWER\",\"followsDelimiter\":\"/\",\"description\":\"selects subgroups below the lower control limit\",\"type\":\"standalone\"},{\"name\":\"RUNSTEST\",\"followsDelimiter\":\"/\",\"description\":\"selects subgroups that signal positive tests for special causes\",\"type\":\"standalone\"}]},{\"name\":\"MARKERDISPLAY2=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a subset of subgroups to be plotted with markers on an R or s chart\",\"help\":\"MARKERDISPLAY2=OOC | UPPER | LOWER | RUNSTEST\",\"type\":\"choice\",\"arguments\":[{\"name\":\"OOC\",\"followsDelimiter\":\"/\",\"description\":\"selects subgroups outside the control limits\",\"type\":\"standalone\"},{\"name\":\"UPPER\",\"followsDelimiter\":\"/\",\"description\":\"selects subgroups above the upper control limit\",\"type\":\"standalone\"},{\"name\":\"LOWER\",\"followsDelimiter\":\"/\",\"description\":\"selects subgroups below the lower control limit\",\"type\":\"standalone\"},{\"name\":\"RUNSTEST\",\"followsDelimiter\":\"/\",\"description\":\"selects subgroups that signal positive tests for special causes\",\"type\":\"standalone\"}]},{\"name\":\"MARKERLABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a variable whose values provide labels for the subgroups that are plotted with markers on a primary chart that is not an R or s chart\",\"help\":\"MARKERLABEL=(*variable*)\",\"type\":\"value\"},{\"name\":\"MARKERLABEL2=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a variable whose values provide labels for the subgroups that are plotted with markers on an R or s chart\",\"help\":\"MARKERLABEL2=(*variable*)\",\"type\":\"value\"},{\"name\":\"MARKERMISSINGGROUP=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies whether subgroups with missing symbol-variable values are plotted with a unique marker\",\"help\":\"MARKERMISSINGGROUP=TRUE | FALSE\",\"type\":\"choice\"},{\"name\":\"MARKERS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"plots subgroup points with markers\",\"type\":\"standalone\"},{\"name\":\"NOBLOCKREF\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"NOPHASEREF\",\"NOREF\"],\"description\":\"suppresses block and phase reference lines from ODS Graphics output\",\"type\":\"standalone\"},{\"name\":\"NOBLOCKREFFILL\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"NOPHASEREFFILL\",\"NOREFFILL\"],\"description\":\"suppresses the block and phase wall fills from ODS Graphics output\",\"type\":\"standalone\"},{\"name\":\"NOBOXFILLLEGEND\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"NOFILLLEGEND\",\"NOSTARFILLLEGEND\"],\"description\":\"suppresses the legend for the levels of a BOXFILL= or STARFILL= variable in ODS Graphics output\",\"type\":\"standalone\"},{\"name\":\"NOTRANSPARENCY\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"disables transparency in ODS Graphics output, so that all graph features are opaque\",\"type\":\"standalone\"},{\"name\":\"ODSFOOTNOTE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"adds a footnote to ODS Graphics output\",\"help\":\"ODSFOOTNOTE=FOOTNOTE | FOOTNOTE1 | '*string*'\",\"type\":\"value\"},{\"name\":\"ODSFOOTNOTE2=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"adds a secondary footnote to ODS Graphics output\",\"help\":\"ODSFOOTNOTE2=FOOTNOTE2 | '*string*'\",\"type\":\"value\"},{\"name\":\"ODSLEGENDEXPAND\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that legend entries contain all levels observed in the data\",\"type\":\"standalone\"},{\"name\":\"ODSTITLE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a title for ODS Graphics output\",\"help\":\"ODSTITLE=TITLE | TITLE1 | NONE | DEFAULT | LABELFMT | '*string*'\",\"type\":\"value\"},{\"name\":\"ODSTITLE2=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a secondary title for ODS Graphics output\",\"help\":\"ODSTITLE2=TITLE2 | '*string*'\",\"type\":\"value\"},{\"name\":\"OUTFILLTRANSPARENCY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the control limit outfill transparency when transparency is used in ODS Graphics output\",\"help\":\"OUTFILLTRANSPARENCY=*value*\",\"type\":\"value\"},{\"name\":\"OUTHIGHURL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a variable whose values are URLs to be associated with outlier points above the upper fence on a schematic box chart when ODS Graphics output is directed into HTML\",\"help\":\"OUTHIGHURL=*variable*\",\"type\":\"value\"},{\"name\":\"OUTLOWURL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a variable whose values are URLs to be associated with outlier points below the lower fence on a schematic box chart when ODS Graphics output is directed into HTML\",\"help\":\"OUTLOWURL=*variable*\",\"type\":\"value\"},{\"name\":\"OVERLAY2URL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies variables whose values are URLs to be associated with points on secondary chart overlays\",\"help\":\"OVERLAY2URL=(*variable-list*)\",\"type\":\"value\"},{\"name\":\"OVERLAYURL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies variables whose values are URLs to be associated with points on primary chart overlays\",\"help\":\"OVERLAYURL=(*variable-list*)\",\"type\":\"value\"},{\"name\":\"PHASEBOXLABELS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"draws phase labels as titles along the top of phase boxes\",\"type\":\"standalone\"},{\"name\":\"PHASEPOS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the vertical position of the phase legend\",\"help\":\"PHASEPOS=1 | 2 | 3 | 4\",\"type\":\"choice\",\"arguments\":[{\"name\":\"1\",\"followsDelimiter\":\"/\",\"description\":\"places at top of chart, offset from axis frame\",\"type\":\"standalone\"},{\"name\":\"2\",\"followsDelimiter\":\"/\",\"description\":\"places at top of chart, immediately above axis frame\",\"type\":\"standalone\"},{\"name\":\"3\",\"followsDelimiter\":\"/\",\"description\":\"places at bottom of chart, immediately above horizontal axis\",\"type\":\"standalone\"},{\"name\":\"4\",\"followsDelimiter\":\"/\",\"description\":\"places at bottom of chart, below horizontal axis label\",\"type\":\"standalone\"}]},{\"name\":\"PHASEREFLEVEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"enables you to associate phase reference lines (block reference lines) with either the innermost or the outermost level\",\"help\":\"PHASEREFLEVEL=INNER | OUTER | NONE\",\"type\":\"choice\"},{\"name\":\"QCSYMBOLS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies which set of symbol markers is used to plot points on a control chart\",\"help\":\"QCSYMBOLS=TRUE | FALSE\",\"type\":\"choice\"},{\"name\":\"SIMULATEQCFONT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"draws the central line labels using a simulated software font rather than a hardware font\",\"type\":\"standalone\"},{\"name\":\"STARTRANSPARENCY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the star fill transparency when transparency is used in ODS Graphics output\",\"help\":\"STARTRANSPARENCY=*value*\",\"type\":\"value\"},{\"name\":\"URL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies URLs as values of the specified character variable (or formatted values of a numeric variable) to associate with subgroup points on a primary control chart when ODS Graphics output is directed into HTML\",\"help\":\"URL=*variable*\",\"type\":\"value\"},{\"name\":\"URL2=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies URLs as values of the specified character variable (or formatted values of a numeric variable) to associate with subgroup points on a secondary control chart when ODS Graphics output is directed into HTML\",\"help\":\"URL2=*variable*\",\"type\":\"value\"},{\"name\":\"ANNOTATE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"ANNO=\"],\"description\":\"specifies an ANNOTATE= type data set that enhances a primary chart\",\"help\":\"ANNOTATE=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"BILEVEL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"arranges the Shewhart chart in two levels (rather than the default of one level) so that twice as much data can be displayed on a page or screen\",\"type\":\"standalone\"},{\"name\":\"CAXIS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the color for the axes and tick marks\",\"help\":\"CAXIS=*color*\",\"type\":\"color\"},{\"name\":\"CBLOCKLAB=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies fill colors for the frames that enclose the block-variable labels in a block legend\",\"help\":\"CBLOCKLAB=*color* | (*color-list*)\",\"type\":\"color\"},{\"name\":\"CBLOCKVAR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies variables whose values are colors for filling the background of the legend associated with block-variables\",\"help\":\"CBLOCKVAR=*variable* | (*variable-list*)\",\"type\":\"value\"},{\"name\":\"CCLIP=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a color for the plotting symbol that is specified with the CLIPSYMBOL option to mark clipped points\",\"help\":\"CCLIP=*color*\",\"type\":\"color\"},{\"name\":\"CCONNECT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the color for the line segments connecting points on the chart\",\"help\":\"CCONNECT=*color*\",\"type\":\"color\"},{\"name\":\"CCOVERLAY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the colors for the line segments connecting points on primary chart overlays\",\"help\":\"CCOVERLAY=(*color-list*)\",\"type\":\"color\"},{\"name\":\"CCOVERLAY2=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the colors for the line segments connecting points on secondary chart overlays\",\"help\":\"CCOVERLAY2=(*color-list*)\",\"type\":\"color\"},{\"name\":\"CFRAME=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the colors for filling the rectangle enclosed by the axes and the frame\",\"help\":\"CFRAME=*color* | (*color-list*)\",\"type\":\"color\"},{\"name\":\"CGRID=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the color for the grid requested by the ENDGRID or GRID option\",\"help\":\"CGRID=*color*\",\"type\":\"color\"},{\"name\":\"CHREF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the color for the lines requested by the HREF= and HREF2= options\",\"help\":\"CHREF=*color*\",\"type\":\"color\"},{\"name\":\"CLABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the color for labels produced by the ALLLABEL=, ALLLABEL2=, OUTLABEL=, and OUTLABEL2= options\",\"help\":\"CLABEL=*color*\",\"type\":\"color\"},{\"name\":\"CLIMITS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the color for the control limits, the central line, and the labels for these lines\",\"help\":\"CLIMITS=*color*\",\"type\":\"color\"},{\"name\":\"CLIPLEGPOS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the position for the legend that indicates the number of clipped points when the CLIPFACTOR= option is used\",\"help\":\"CLIPLEGPOS=TOP | BOTTOM\",\"type\":\"choice\"},{\"name\":\"CLIPSYMBOL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a plot symbol used to identify clipped points on the chart and in the legend when the CLIPFACTOR= option is used\",\"help\":\"CLIPSYMBOL=*symbol*\",\"type\":\"value\"},{\"name\":\"CLIPSYMBOLHT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the height for the symbol marker used to identify clipped points on the chart when the CLIPFACTOR= option is used\",\"help\":\"CLIPSYMBOLHT=*value*\",\"type\":\"value\"},{\"name\":\"CNEEDLES=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"requests that points are to be connected to the central line with vertical line segments (needles) and specifies the color of the needles\",\"help\":\"CNEEDLES=*color*\",\"type\":\"color\"},{\"name\":\"COUTFILL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the fill color for the areas outside the control limits that lie between the connected points and the control limits and are bounded by connecting lines\",\"help\":\"COUTFILL=*color*\",\"type\":\"color\"},{\"name\":\"COVERLAY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the colors used to plot primary chart overlay variables specified in the OVERLAY= list\",\"help\":\"COVERLAY=(*color-list*)\",\"type\":\"color\"},{\"name\":\"COVERLAY2=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the colors used to plot secondary chart overlay variables specified in the OVERLAY2= list\",\"help\":\"COVERLAY2=(*color-list*)\",\"type\":\"color\"},{\"name\":\"COVERLAYCLIP=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the color used to plot clipped values on overlay plots when the CLIPFACTOR= option is used\",\"help\":\"COVERLAYCLIP=*color*\",\"type\":\"color\"},{\"name\":\"CPHASELEG=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a text color for the phase labels requested with the PHASELEGEND option\",\"help\":\"CPHASELEG=*color*\",\"type\":\"color\"},{\"name\":\"CSTARCIRCLES=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a color for the circles requested with the STARCIRCLES= option\",\"help\":\"CSTARCIRCLES=*color*\",\"type\":\"color\"},{\"name\":\"CSTARFILL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a color or colors for filling the interior of stars requested with the STARVERTICES= option\",\"help\":\"CSTARFILL=*color* | (*variable*)\",\"type\":\"color\"},{\"name\":\"CSTARS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a color or colors for the outlines of stars requested with the STARVERTICES= option\",\"help\":\"CSTARS=*color* | (*variable*)\",\"type\":\"color\"},{\"name\":\"CTESTLABBOX=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the color for boxes enclosing labels for positive tests for special causes requested with the TESTLABBOX option\",\"help\":\"CTESTLABBOX=*color*\",\"type\":\"color\"},{\"name\":\"CTESTS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies colors for labels indicating points where a test for special causes specified in the TESTS= option is positive\",\"help\":\"CTESTS=*color* | *test-color-list*\",\"type\":\"color\"},{\"name\":\"CTESTSYMBOL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the color of the symbol used to plot subgroups with positive tests for special causes\",\"help\":\"CTESTSYMBOL=*color*\",\"type\":\"color\"},{\"name\":\"CTEXT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the color for tick mark values, axis labels, the sample size legend, and the control limit legend\",\"help\":\"CTEXT=*color*\",\"type\":\"color\"},{\"name\":\"CVREF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the color for reference lines requested by the VREF= and VREF2= options\",\"help\":\"CVREF=*color*\",\"type\":\"color\"},{\"name\":\"CZONES=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"requests lines marking zones A, B, and C for the tests for special causes\",\"help\":\"CZONES=*color*\",\"type\":\"color\"},{\"name\":\"DESCRIPTION=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a description, up to 256 characters long, for the GRSEG catalog entry for the primary chart\",\"help\":\"DESCRIPTION='*string*'\",\"type\":\"value\"},{\"name\":\"ENDGRID\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"a grid to the rightmost portion of the chart, beginning with the first labeled major tick mark position that follows the last plotted point\",\"type\":\"standalone\"},{\"name\":\"FONT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a software font for labels and legends\",\"help\":\"FONT=*font*\",\"type\":\"value\"},{\"name\":\"HEIGHT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the height (in vertical screen percent units) of the text for axis labels and legends\",\"help\":\"HEIGHT=*value*\",\"type\":\"value\"},{\"name\":\"HMINOR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the number of (unlabeled) minor tick marks between each major tick mark on the horizontal axis\",\"help\":\"HMINOR=*n*\",\"type\":\"value\"},{\"name\":\"HTML=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a variable whose values create links associated with subgroup points on a primary control chart when traditional graphics output is directed into HTML\",\"help\":\"HTML=*variable*\",\"type\":\"value\"},{\"name\":\"HTML2=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a variable whose values create links associated with subgroup points on a secondary control chart when traditional graphics output is directed into HTML\",\"help\":\"HTML2=*variable*\",\"type\":\"value\"},{\"name\":\"HTML_LEGEND=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies HTML links as values of the specified character variable (or formatted values of a numeric variable)\",\"help\":\"HTML_LEGEND=*variable*\",\"type\":\"value\"},{\"name\":\"LABELANGLE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the angle at which labels requested with the ALLLABEL=, ALLLABEL2=, OUTLABEL=, and OUTLABEL2= options are drawn\",\"help\":\"LABELANGLE=*angle*\",\"type\":\"value\"},{\"name\":\"LABELFONT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"TESTFONT=\"],\"description\":\"specifies a software font for labels requested with the ALLLABEL=, ALLLABEL2=, OUTLABEL=, OUTLABEL2=, STARLABEL=, TESTLABEL=, and TESTLABELn= options\",\"help\":\"LABELFONT=*font*\",\"type\":\"value\"},{\"name\":\"LABELHEIGHT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"TESTHEIGHT=\"],\"description\":\"specifies the height (in vertical percent screen units) for labels requested with the ALLLABEL=, ALLLABEL2=, OUTLABEL=, OUTLABEL2=, STARLABEL=, TESTLABEL=, and TESTLABELn= options\",\"help\":\"LABELHEIGHT=*value*\",\"type\":\"value\"},{\"name\":\"LENDGRID=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the line type for the grid requested with the ENDGRID option\",\"help\":\"LENDGRID=*n*\",\"type\":\"value\"},{\"name\":\"LGRID=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the line type for the grid requested with the GRID option\",\"help\":\"LGRID=*n*\",\"type\":\"value\"},{\"name\":\"LHREF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the line type for reference lines requested with the HREF= and HREF2= options\",\"help\":\"LHREF=*linetype*\",\"type\":\"value\"},{\"name\":\"LLIMITS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the line type for control limits\",\"help\":\"LLIMITS=*linetype*\",\"type\":\"value\"},{\"name\":\"LOVERLAY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies line types for the line segments connecting points on primary chart overlays corresponding to the OVERLAY= list\",\"help\":\"LOVERLAY=(*linetypes*)\",\"type\":\"value\"},{\"name\":\"LOVERLAY2=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies line types for the line segments connecting points on secondary chart overlays corresponding to the OVERLAY2= list\",\"help\":\"LOVERLAY2=(*linetypes*)\",\"type\":\"value\"},{\"name\":\"LSTARCIRCLES=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies one or more line types for the circles requested with the STARCIRCLES= option\",\"help\":\"LSTARCIRCLES=*linetypes*\",\"type\":\"value\"},{\"name\":\"LSTARS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the line types for the outlines of stars requested with the STARVERTICES= option\",\"help\":\"LSTARS=*linetype* | (*variable*)\",\"type\":\"value\"},{\"name\":\"LTESTS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the line type for the line segments that connect patterns of points for which a test for special causes (requested with the TESTS= option) is positive\",\"help\":\"LTESTS=*linetype*\",\"type\":\"value\"},{\"name\":\"LVREF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the line type for reference lines requested by the VREF= and VREF2= options\",\"help\":\"LVREF=*linetype*\",\"type\":\"value\"},{\"name\":\"LZONES=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the line type for lines that delineate zones A, B, and C for standard tests requested with the TESTS= and/or TESTS2= options\",\"help\":\"LZONES=*n*\",\"type\":\"value\"},{\"name\":\"NAME=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the name of the GRSEG catalog entry for the primary chart, and the name of the graphics output file if one is created\",\"help\":\"NAME='*string*'\",\"type\":\"value\"},{\"name\":\"NOFRAME\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses the default frame drawn around the chart\",\"type\":\"standalone\"},{\"name\":\"NOLIMITSFRAME\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses the default frame for the control limit information that is displayed across the top of the chart when multiple sets of control limits with distinct multiples of σ and nominal control limit sample sizes are read from a LIMITS= data set\",\"type\":\"standalone\"},{\"name\":\"NOPHASEFRAME\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses the default frame for the legend requested by the PHASELEGEND option\",\"type\":\"standalone\"},{\"name\":\"NOVANGLE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"requests vertical axis labels that are strung out vertically\",\"type\":\"standalone\"},{\"name\":\"NOVLABEL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses the label for the primary vertical axis\",\"type\":\"standalone\"},{\"name\":\"NOV2LABEL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses the label for the secondary vertical axis\",\"type\":\"standalone\"},{\"name\":\"OUTHIGHHTML=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a variable whose values create links to be associated with outlier points above the upper fence on a schematic box chart when traditional graphics output is directed into HTML\",\"help\":\"OUTHIGHHTML=*variable*\",\"type\":\"value\"},{\"name\":\"OUTLOWHTML=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a variable whose values create links to be associated with outlier points below the lower fence on a schematic box chart when traditional graphics output is directed into HTML\",\"help\":\"OUTLOWHTML=*variable*\",\"type\":\"value\"},{\"name\":\"OVERLAY2HTML=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies variables whose values create links to be associated with points on secondary chart overlays corresponding to the OVERLAY2= list\",\"help\":\"OVERLAY2HTML=(*variable-list*)\",\"type\":\"value\"},{\"name\":\"OVERLAY2SYM=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies symbols used to plot overlays on a secondary control chart corresponding to the OVERLAY2= list\",\"help\":\"OVERLAY2SYM=(*symbol-list*)\",\"type\":\"value\"},{\"name\":\"OVERLAY2SYMHT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the heights of symbols used to plot overlays on a secondary control chart corresponding to the OVERLAY2= list\",\"help\":\"OVERLAY2SYMHT=(*value-list*)\",\"type\":\"value\"},{\"name\":\"OVERLAYCLIPSYM=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the symbol used to plot clipped values on overlay plots when the CLIPFACTOR= option is used\",\"help\":\"OVERLAYCLIPSYM=*symbol*\",\"type\":\"value\"},{\"name\":\"OVERLAYCLIPSYMHT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the height for the symbol used to plot clipped values on overlay plots when the CLIPFACTOR= option is used\",\"help\":\"OVERLAYCLIPSYMHT=*value*\",\"type\":\"value\"},{\"name\":\"OVERLAYHTML=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies variables whose values create links to be associated with points on primary chart overlays corresponding to the OVERLAY= list\",\"help\":\"OVERLAYHTML=(*variable-list*)\",\"type\":\"value\"},{\"name\":\"OVERLAYSYM=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies symbols used to plot overlays on the primary control chart corresponding to the OVERLAY= list\",\"help\":\"OVERLAYSYM=(*symbol-list*)\",\"type\":\"value\"},{\"name\":\"OVERLAYSYMHT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the heights of symbols used to plot overlays on the primary control chart corresponding to the OVERLAY= list\",\"help\":\"OVERLAYSYMHT=(*value-list*)\",\"type\":\"value\"},{\"name\":\"TESTFONT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"LABELFONT=\"],\"description\":\"specifies a software font for labels requested with the ALLLABEL=, ALLLABEL2=, OUTLABEL=, OUTLABEL2=, STARLABEL=, TESTLABEL=, and TESTLABELn= options\",\"help\":\"TESTFONT=*font*\",\"type\":\"value\"},{\"name\":\"TESTHEIGHT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"LABELHEIGHT=\"],\"description\":\"specifies the height (in vertical percent screen units) for labels requested with the ALLLABEL=, ALLLABEL2=, OUTLABEL=, OUTLABEL2=, STARLABEL=, TESTLABEL=, and TESTLABELn= options\",\"help\":\"TESTHEIGHT=*value*\",\"type\":\"value\"},{\"name\":\"TESTSYMBOL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the symbol for plotting subgroups with positive tests for special causes\",\"help\":\"TESTSYMBOL=*symbol*\",\"type\":\"value\"},{\"name\":\"TESTSYMBOLHT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the height of the symbol used to plot subgroups with positive tests for special causes\",\"help\":\"TESTSYMBOLHT=*value*\",\"type\":\"value\"},{\"name\":\"TURNALL\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"TURNOUT\"],\"description\":\"turns the labels produced by the ALLLABEL=, ALLLABEL2=, OUTLABEL=, and OUTLABEL2= options so that they are strung out vertically\",\"type\":\"standalone\"},{\"name\":\"TURNHLABELS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"turns the major tick mark labels for the horizontal (subgroup) axis so that they are strung out vertically\",\"type\":\"standalone\"},{\"name\":\"VMINOR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the number of minor tick marks between each major tick mark on the vertical axis\",\"help\":\"VMINOR=*n*\",\"type\":\"value\"},{\"name\":\"WAXIS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the width in pixels for the axis and frame lines\",\"help\":\"WAXIS=*n*\",\"type\":\"value\"},{\"name\":\"WGRID=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the width in pixels for grid lines requested with the ENDGRID and GRID options\",\"help\":\"WGRID=*n*\",\"type\":\"value\"},{\"name\":\"WLIMITS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the width in pixels for the control limits and central line\",\"help\":\"WLIMITS=*n*\",\"type\":\"value\"},{\"name\":\"WNEEDLES=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the width in pixels of needles connecting plotted points to the central line, as requested with the NEEDLES option\",\"help\":\"WNEEDLES=*n*\",\"type\":\"value\"},{\"name\":\"WOVERLAY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the widths in pixels for the line segments connecting points on primary chart overlay plots corresponding to the OVERLAY= list\",\"help\":\"WOVERLAY=(*value-list*)\",\"type\":\"value\"},{\"name\":\"WOVERLAY2=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the widths in pixels for the line segments connecting points on secondary chart overlay plots corresponding to the OVERLAY2= list\",\"help\":\"WOVERLAY2=(*value-list*)\",\"type\":\"value\"},{\"name\":\"WSTARCIRCLES=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the width in pixels of the outline of circles requested by the STARCIRCLES= option\",\"help\":\"WSTARCIRCLES=*n*\",\"type\":\"value\"},{\"name\":\"WSTARS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the width in pixels of the outline of stars requested by the STARVERTICES= option\",\"help\":\"WSTARS=*n*\",\"type\":\"value\"},{\"name\":\"WTESTS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the width in pixels of the line segments that connect patterns of points for which a test for special causes (requested with the TESTS= or TESTS2= option) is positive\",\"help\":\"WTESTS=*n*\",\"type\":\"value\"}]},{\"name\":\"XCHART\",\"description\":\"creates an X-bar chart for subgroup means\",\"help\":\"XCHART  (processes) * subgroup-variable<(block-variables)><=symbol-variable | ='character'></ options>;                                              \\nprocess is the name of the variable containing the raw measurements, or the common prefix of the summary variables in the HISTORY= data set, or the value of the variable _VAR_ in the TABLE= data set                     \\nsubgroup-variable is the variable that identifies subgroups in the data                     \\nblock-variables are optional variables that group the data into blocks of consecutive subgroups                     \\nsymbol-variable is an optional variable whose levels (unique values) determine the symbol marker that is used to plot the means                     \\ncharacter is a character that is used to plot the medians when you produce traditional graphics                     \",\"arguments\":[{\"name\":\"ALLLABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"labels every point on the primary chart with the value plotted for that subgroup or with the value of variable in the input data set\",\"help\":\"ALLLABEL=VALUE | (*variable*)\",\"type\":\"value\"},{\"name\":\"ALLLABEL2=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"labels every point on an R, s, or trend chart with the value plotted for that subgroup or with the value of variable in the input data set\",\"help\":\"ALLLABEL2=VALUE | (*variable*)\",\"type\":\"value\"},{\"name\":\"ALLN\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"plots summary statistics for all subgroups, regardless of whether the subgroup sample size equals the nominal control limit sample size n specified by the LIMITN= option or the variable _LIMITN_ in the LIMITS= data set\",\"type\":\"standalone\"},{\"name\":\"ALPHA=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"requests α probability limits instead of 3σ control limits\",\"help\":\"ALPHA=*value*\",\"type\":\"value\"},{\"name\":\"BLOCKLABELPOS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the position of a block-variable label in the block legend\",\"help\":\"BLOCKLABELPOS=ABOVE | LEFT | RIGHT\",\"type\":\"choice\"},{\"name\":\"BLOCKLABTYPE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies how lengthy block variable values are treated when there is insufficient space to display them in the block legend\",\"help\":\"BLOCKLABTYPE=SCALED | TRUNCATED | ROTATE | ROTATEALL | *height*\",\"type\":\"value\"},{\"name\":\"BLOCKPOS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the vertical position of the legend for the values of the block-variables\",\"help\":\"BLOCKPOS=*n*\",\"type\":\"value\"},{\"name\":\"BLOCKREP\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that block variable values for all subgroups are to be displayed\",\"type\":\"standalone\"},{\"name\":\"BLOCKVAR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies variables whose values are used to assign colors for filling the background of the legend associated with block variables\",\"help\":\"BLOCKVAR=*variable* | (*variable-list*)\",\"type\":\"value\"},{\"name\":\"BOXES=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a variable whose values are used to assign colors for the outlines of box-and-whiskers plots\",\"help\":\"BOXES=*variable*\",\"type\":\"value\"},{\"name\":\"BOXFILL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies how box-and-whisker plots are filled with colors from the ODS style\",\"help\":\"BOXFILL=*variable* | NONE | EMPTY\",\"type\":\"value\"},{\"name\":\"CFRAMELAB=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"CFRAMELAB\"],\"description\":\"specifies the color for filling rectangles that frame the point labels displayed with the ALLLABEL=, ALLLABEL2=, OUTLABEL=, and OUTLABEL2= options\",\"help\":\"CFRAMELAB=*color*\",\"type\":\"color\"},{\"name\":\"CIINDICES\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"requests capability index confidence limits based on subgroup summary data, calculated using \\\"effective degrees of freedom\\\"\",\"help\":\"CIINDICES &lt;(&lt;TYPE=*keyword*&gt;&lt;ALPHA=*value*&gt;)&gt;\",\"type\":\"standaloneOrValue\",\"arguments\":[{\"name\":\"TYPE=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the type of confidence limit\",\"help\":\"TYPE=LOWER | UPPER | TWOSIDED\",\"type\":\"choice\"},{\"name\":\"ALPHA=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the default confidence level to compute confidence limits\",\"help\":\"ALPHA=*value*\",\"type\":\"value\"}]},{\"name\":\"CINFILL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the color for the area inside the upper and lower control limits\",\"help\":\"CINFILL=*color* | EMPTY | NONE\",\"type\":\"color\"},{\"name\":\"CLIPFACTOR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"requests clipping of extreme points on the control chart\",\"help\":\"CLIPFACTOR=*factor*\",\"type\":\"value\"},{\"name\":\"CLIPLEGEND=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the label for the legend that indicates the number of clipped points when the CLIPFACTOR= option is used\",\"help\":\"CLIPLEGEND='*label*'\",\"type\":\"value\"},{\"name\":\"CLIPSUBCHAR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a substitution character (such as #) for the label provided with the CLIPLEGEND= option\",\"help\":\"CLIPSUBCHAR='*character*'\",\"type\":\"value\"},{\"name\":\"COUT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the color for the plotting symbols and the portions of connecting line segments that lie outside the control limits\",\"help\":\"COUT&lt;=*color*&gt;\",\"type\":\"standaloneOrValue\"},{\"name\":\"CSTAROUT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a color for those portions of the outlines of stars (requested with the STARVERTICES= option) that exceed the inner or outer circles\",\"help\":\"CSTAROUT&lt;=*color*&gt;\",\"type\":\"standaloneOrValue\"},{\"name\":\"DISCRETE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that numeric subgroup variable values be treated as discrete values, so that each tick value on the default subgroup axis corresponds to a unique subgroup variable value\",\"type\":\"standalone\"},{\"name\":\"EXCHART\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"creates a control chart only when exceptions occur, specifically, when the control limits are exceeded or when any of the tests requested with the TESTS= option or the TESTS2= option are positive\",\"type\":\"standalone\"},{\"name\":\"FRONTREF\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"draws reference lines specified with the HREF= and VREF= options in front of box-and-whiskers plots\",\"type\":\"standalone\"},{\"name\":\"GRID\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"adds a grid to the control chart\",\"type\":\"standalone\"},{\"name\":\"HAXIS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies tick mark values for the horizontal (subgroup) axis\",\"help\":\"HAXIS=*values* | AXIS*n*\",\"type\":\"value\"},{\"name\":\"HOFFSET=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the length of the offset at each end of the horizontal axis\",\"help\":\"HOFFSET=*value*\",\"type\":\"value\"},{\"name\":\"HREF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"draws reference lines perpendicular to the horizontal (subgroup) axis on the primary chart\",\"help\":\"HREF=*values*\",\"type\":\"value\"},{\"name\":\"HREF2=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"draws reference lines perpendicular to the horizontal (subgroup) axis on the secondary chart\",\"help\":\"HREF2=*values*\",\"type\":\"value\"},{\"name\":\"HREF2DATA=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"draws reference lines perpendicular to the horizontal (subgroup) axis on the secondary chart\",\"help\":\"HREF2DATA=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"HREF2LABELS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies labels for the reference lines requested by the HREF2= option\",\"help\":\"HREF2LABELS='*label1*'...'*labeln*'\",\"type\":\"value\"},{\"name\":\"HREFDATA=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"draws reference lines perpendicular to the horizontal (subgroup) axis on the primary chart\",\"help\":\"HREFDATA=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"HREFLABELS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies labels for the reference lines requested by the HREF= option\",\"help\":\"HREFLABELS='*label1*'...'*labeln*'\",\"type\":\"value\"},{\"name\":\"HREFLABPOS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the vertical position of the HREFLABEL= and HREF2LABEL= labels\",\"help\":\"HREFLABPOS=*n*\",\"type\":\"value\",\"arguments\":[{\"name\":\"1\",\"followsDelimiter\":\"/\",\"description\":\"positions along top of subplot area\",\"type\":\"standalone\"},{\"name\":\"2\",\"followsDelimiter\":\"/\",\"description\":\"staggers from top to bottom of subplot area\",\"type\":\"standalone\"},{\"name\":\"3\",\"followsDelimiter\":\"/\",\"description\":\"positions along bottom of subplot area\",\"type\":\"standalone\"},{\"name\":\"4\",\"followsDelimiter\":\"/\",\"description\":\"staggers from bottom to top of subplot area\",\"type\":\"standalone\"}]},{\"name\":\"INDEPENDENTZONES\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"INDEPZONES\"],\"description\":\"specifies that the widths of the zones requested with the ZONES option be computed independently above and below the center line of the chart, so that the width of each zone is one-third of the difference between the process mean and the control limit on its side of the chart\",\"type\":\"standalone\"},{\"name\":\"INTERVAL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the natural time interval between consecutive subgroup positions when a time, date, or datetime format is associated with a numeric subgroup variable\",\"help\":\"INTERVAL=DAY | DTDAY | HOUR | MINUTE | MONTH | QTR | SECOND\",\"type\":\"choice\"},{\"name\":\"INTSTART=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the starting value for a numeric horizontal axis, when a date, time, or datetime format is associated with the subgroup variable\",\"help\":\"INTSTART=*value*\",\"type\":\"value\"},{\"name\":\"LCLLABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a label for the lower control limit in the primary chart\",\"help\":\"LCLLABEL='*label*'\",\"type\":\"value\"},{\"name\":\"LIMITN=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies either a fixed or varying nominal sample size for the control limits\",\"help\":\"LIMITN=*n* | VARYING\",\"type\":\"value\"},{\"name\":\"LIMLABSUBCHAR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a substitution character (such as #) for labels provided as quoted strings with the LCLLABEL=, LCLLABEL2=, UCLLABEL=, UCLLABEL2=, CSYMBOL=, NPSYMBOL=, PSYMBOL=, RSYMBOL=, SSYMBOL=, USYMBOL=, and XSYMBOL= options\",\"help\":\"LIMLABSUBCHAR='*character*'\",\"type\":\"value\"},{\"name\":\"LSL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"provides lower specification limits used to compute capability indices\",\"help\":\"LSL=*value-list*\",\"type\":\"value\"},{\"name\":\"MAXPANELS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the maximum number of pages or screens for a chart\",\"help\":\"MAXPANELS=*n*\",\"type\":\"value\"},{\"name\":\"MISSBREAK\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"determines how subgroups are formed when observations are read from a DATA= data set and a character subgroup-variable is provided\",\"type\":\"standalone\"},{\"name\":\"MU0=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a known (standard) value μ0 for the process mean μ\",\"help\":\"MU0=*value*\",\"type\":\"value\"},{\"name\":\"NDECIMAL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the number of decimal digits in the default labels for the control limits and the central line in the primary chart\",\"help\":\"NDECIMAL=*n*\",\"type\":\"value\"},{\"name\":\"NEEDLES\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"connects plotted points to the central line with vertical line segments (needles)\",\"type\":\"standalone\"},{\"name\":\"NMARKERS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"identifies a plotted subgroup summary statistic with a special symbol marker (character) when the corresponding subgroup sample size is not equal to the nominal control limit sample size n\",\"type\":\"standalone\"},{\"name\":\"NO3SIGMACHECK\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses the check for 3σ limits when tests for special causes are requested\",\"type\":\"standalone\"},{\"name\":\"NOBYREF\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that the reference line information in an HREF=, HREF2=, VREF=, or VREF2= data set is to be applied uniformly to charts created for all the BY groups in the input data set (DATA=, HISTORY=, or TABLE=)\",\"type\":\"standalone\"},{\"name\":\"NOCHART\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses the creation of the chart\",\"type\":\"standalone\"},{\"name\":\"NOCONNECT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses line segments that connect points on the chart\",\"type\":\"standalone\"},{\"name\":\"NOCTL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses the display of the central line in a primary chart\",\"type\":\"standalone\"},{\"name\":\"NOHLABEL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses the label for the horizontal (subgroup) axis\",\"type\":\"standalone\"},{\"name\":\"NOLCL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses the display of the lower control limit in a primary chart\",\"type\":\"standalone\"},{\"name\":\"NOLEGEND\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses the default legend for subgroup sample sizes, which appears by default below the chart\",\"type\":\"standalone\"},{\"name\":\"NOLIMITLABEL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses the default labels for the control limits and central lines\",\"type\":\"standalone\"},{\"name\":\"NOLIMITS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses the display of control limits\",\"type\":\"standalone\"},{\"name\":\"NOLIMITSLEGEND\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses the legend for the control limits, which appears by default in the upper right corner of the chart\",\"type\":\"standalone\"},{\"name\":\"NOOVERLAYLEGEND\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses the legend for overlay variables which is displayed by default when the OVERLAY= or OVERLAY2= option is specified\",\"type\":\"standalone\"},{\"name\":\"NOREADLIMITS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that the control limits for each process listed in the chart statement not be read from the LIMITS= data set specified in the PROC SHEWHART statement\",\"type\":\"standalone\"},{\"name\":\"NOTESTACROSS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that tests for special causes requested with the TESTS= or TESTS2= options not be applied across the boundaries of phases (blocks of consecutive subgroups) determined by the READPHASES= option and the variable _PHASE_ in the input data set\",\"type\":\"standalone\"},{\"name\":\"NOTICKREP\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"applies to character-valued subgroup-variables and specifies that only the first occurrence of repeated, adjacent subgroup values is to be labeled on the horizontal axis\",\"type\":\"standalone\"},{\"name\":\"NOTRENDCONNECT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses line segments that connect points on a trend chart when the TRENDVAR= option is used\",\"type\":\"standalone\"},{\"name\":\"NOUCL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses the display of the upper control limit in a primary chart\",\"type\":\"standalone\"},{\"name\":\"NPANELPOS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the number of subgroup positions per panel on each chart\",\"help\":\"NPANELPOS=*n*\",\"type\":\"value\"},{\"name\":\"OUTFILL\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"COUTFILL\"],\"description\":\"fills the areas outside the control limits that lie between the connected points and the control limits and are bounded by connecting lines\",\"type\":\"standalone\"},{\"name\":\"OUTHISTORY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"creates an output data set that contains the subgroup summary statistics\",\"help\":\"OUTHISTORY=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"OUTINDEX=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the value of the _INDEX_ variable in the OUTLIMITS= output data set\",\"help\":\"OUTINDEX='*label*'\",\"type\":\"value\"},{\"name\":\"OUTLABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"labels each point that falls outside the control limits on the primary chart with the value plotted for that subgroup or with the value of variable in the input data set\",\"help\":\"OUTLABEL=VALUE | (*variable*)\",\"type\":\"value\"},{\"name\":\"OUTLIMITS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"creates an output data set that saves the control limits\",\"help\":\"OUTLIMITS=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"OUTPHASE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the value of the _PHASE_ variable in the OUTHISTORY= data set\",\"help\":\"OUTPHASE='*label*'\",\"type\":\"value\"},{\"name\":\"OUTTABLE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"creates an output SAS data set that saves the information plotted on the chart, including the subgroup variable values and their corresponding summary statistics and control limits\",\"help\":\"OUTTABLE=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"OVERLAY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies variables to be overlaid on the primary control chart\",\"help\":\"OVERLAY=(*variable-list*)\",\"type\":\"value\"},{\"name\":\"OVERLAY2=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies variables to be overlaid on a secondary control chart\",\"help\":\"OVERLAY2=(*variable-list*)\",\"type\":\"value\"},{\"name\":\"OVERLAY2ID=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies variables whose formatted values are used to label points on secondary chart overlays\",\"help\":\"OVERLAY2ID=(*variable-list*)\",\"type\":\"value\"},{\"name\":\"OVERLAYID=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies variables whose formatted values are used to label points on primary chart overlays\",\"help\":\"OVERLAYID=(*variable-list*)\",\"type\":\"value\"},{\"name\":\"OVERLAYLEGLAB=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the label displayed to the left of the legend for overlays requested with the OVERLAY= or OVERLAY2= option\",\"help\":\"OVERLAYLEGLAB='*label*'\",\"type\":\"value\"},{\"name\":\"PAGENUM=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the form of the label used for pagination; for example, 'Page #' or 'Page # of #'\",\"help\":\"PAGENUM='*string*'\",\"type\":\"value\"},{\"name\":\"PAGENUMPOS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies where to position the page number requested with the PAGENUM= option\",\"help\":\"PAGENUMPOS=TL | TR | BL | BR | TL100 | TR100 | BL0 | BR0\",\"type\":\"choice\",\"arguments\":[{\"name\":\"TL\",\"followsDelimiter\":\"/\",\"description\":\"specifies the top left\",\"type\":\"standalone\"},{\"name\":\"TR\",\"followsDelimiter\":\"/\",\"description\":\"specifies the top right\",\"type\":\"standalone\"},{\"name\":\"BL\",\"followsDelimiter\":\"/\",\"description\":\"specifies the bottom left\",\"type\":\"standalone\"},{\"name\":\"BR\",\"followsDelimiter\":\"/\",\"description\":\"specifies the bottom right\",\"type\":\"standalone\"},{\"name\":\"TL100\",\"followsDelimiter\":\"/\",\"description\":\"specifies the very top left\",\"type\":\"standalone\"},{\"name\":\"TR100\",\"followsDelimiter\":\"/\",\"description\":\"specifies the very top right\",\"type\":\"standalone\"},{\"name\":\"BL0\",\"followsDelimiter\":\"/\",\"description\":\"specifies the very bottom left\",\"type\":\"standalone\"},{\"name\":\"BR0\",\"followsDelimiter\":\"/\",\"description\":\"specifies the very bottom right\",\"type\":\"standalone\"}]},{\"name\":\"PHASEBREAK\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that the last point in a phase (defined as a block of consecutive subgroups with the same value of the _PHASE_ variable) is not to be connected to the first point in the next phase\",\"type\":\"standalone\"},{\"name\":\"PHASELABTYPE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies how lengthy _PHASE_ variable values are displayed when there is insufficient space in the legend requested with the PHASELEGEND option\",\"help\":\"PHASELABTYPE=SCALED | TRUNCATED | *height*\",\"type\":\"value\"},{\"name\":\"PHASELEGEND\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"identifies the phases requested with the READPHASES= option in a legend across the top of the chart\",\"type\":\"standalone\"},{\"name\":\"PHASELIMITS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that the control limits and center line be labeled for each phase specified with the READPHASES= option, providing the limits are constant within that phase\",\"type\":\"standalone\"},{\"name\":\"PHASEREF\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"delineates the phases specified with the READPHASES= option with reference lines drawn vertically\",\"type\":\"standalone\"},{\"name\":\"PHASEVARLABEL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"displays the label associated with the variable _PHASE_ above the phase values in the phase legend\",\"type\":\"standalone\"},{\"name\":\"PHASEVALSEP\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"displays vertical lines separating phase values in the phase legend\",\"type\":\"standalone\"},{\"name\":\"RANGES\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"estimates the process standard deviation for a boxplot using subgroup ranges\",\"type\":\"standalone\"},{\"name\":\"READALPHA\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that the variable _ALPHA_, rather than the variable _SIGMAS_, be read from a LIMITS= data set when both variables are available in the data set\",\"type\":\"standalone\"},{\"name\":\"READINDEX=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"reads one or more sets of control limits from a LIMITS= data set (specified in the PROC SHEWHART statement) for each process listed in the chart statement\",\"help\":\"READINDEX=*value-list* | ALL\",\"type\":\"value\"},{\"name\":\"READPHASES=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"selects blocks of consecutive observations to be read from the input data set\",\"help\":\"READPHASES=*value-list* | ALL\",\"type\":\"value\"},{\"name\":\"REPEAT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that the horizontal axis of a chart that spans multiple pages be arranged so that the last subgroup position on a page is repeated as the first subgroup position on the next page\",\"type\":\"standalone\"},{\"name\":\"SIGMA0=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a known (standard) value σ0 for the process standard deviation σ\",\"help\":\"SIGMA0=*value*\",\"type\":\"value\"},{\"name\":\"SIGMAS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the width of the control limits in terms of the multiple k of the standard error of the mean statistic plotted on the chart\",\"help\":\"SIGMAS=*k*\",\"type\":\"value\"},{\"name\":\"SKIPHLABELS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the number n of consecutive tick mark labels, beginning with the second tick mark label, that are thinned (not displayed) on the horizontal (subgroup) axis\",\"help\":\"SKIPHLABELS=*n*\",\"type\":\"value\"},{\"name\":\"SMETHOD=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a method for estimating the process standard deviation, σ\",\"help\":\"SMETHOD=NOWEIGHT | MVLUE | RMSDF \",\"type\":\"choice\",\"arguments\":[{\"name\":\"NOWEIGHT\",\"followsDelimiter\":\"/\",\"description\":\"estimates σ as an unweighted average of unbiased subgroup estimates of σ\",\"type\":\"standalone\"},{\"name\":\"MVLUE\",\"followsDelimiter\":\"/\",\"description\":\"calculates a minimum variance linear unbiased estimate for σ\",\"type\":\"standalone\"},{\"name\":\"RMSDF\",\"followsDelimiter\":\"/\",\"description\":\"calculates a root-mean square estimate for σ\",\"type\":\"standalone\"}]},{\"name\":\"SPLIT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a special character that is inserted into the label of a process variable or summary statistic variable and whose purpose is to split the label into two parts\",\"help\":\"SPLIT='*character*'\",\"type\":\"value\"},{\"name\":\"STARBDRADIUS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the radius of an imaginary circle that is the outer bound for vertices of stars requested with the STARVERTICES= option\",\"help\":\"STARBDRADIUS=*value*\",\"type\":\"value\"},{\"name\":\"STARCIRCLES=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies reference circles that are superimposed on the stars requested with the STARVERTICES= option\",\"help\":\"STARCIRCLES=*values*\",\"type\":\"value\"},{\"name\":\"STARINRADIUS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the inner radius of stars requested with the STARVERTICES= option\",\"help\":\"STARINRADIUS=*value*\",\"type\":\"value\"},{\"name\":\"STARFILL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies colors for filling the interior of stars requested with the STARVERTICES= option\",\"help\":\"STARFILL=*variable*\",\"type\":\"value\"},{\"name\":\"STARLABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a method for labeling the vertices of stars requested with the STARVERTICES= option\",\"help\":\"STARLABEL=ALL | FIRST | HIGH | LOW | OUT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ALL\",\"followsDelimiter\":\"/\",\"description\":\"labels all vertices of all stars\",\"type\":\"standalone\"},{\"name\":\"FIRST\",\"followsDelimiter\":\"/\",\"description\":\"labels all vertices of the leftmost star\",\"type\":\"standalone\"},{\"name\":\"HIGH\",\"followsDelimiter\":\"/\",\"description\":\"labels only vertices that lie outside the outer circle\",\"type\":\"standalone\"},{\"name\":\"LOW\",\"followsDelimiter\":\"/\",\"description\":\"labels only vertices that lie inside the inner circle\",\"type\":\"standalone\"},{\"name\":\"OUT\",\"followsDelimiter\":\"/\",\"description\":\"labels only vertices that lie inside the inner circle or outside the outer circle\",\"type\":\"standalone\"}]},{\"name\":\"STARLEGEND=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the style of the legend used to identify the vertices of stars requested with the STARVERTICES= option\",\"help\":\"STARLEGEND=CLOCK | CLOCK0 | DEGREES | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"CLOCK\",\"followsDelimiter\":\"/\",\"description\":\"identifies the vertex variables by their positions on the clock (starting with 12:00)\",\"type\":\"standalone\"},{\"name\":\"CLOCK0\",\"followsDelimiter\":\"/\",\"description\":\"identifies the vertex variables by their positions on the clock (starting with 0:00)\",\"type\":\"standalone\"},{\"name\":\"DEGREES\",\"followsDelimiter\":\"/\",\"description\":\"identifies the vertex variables by angles in degrees, with 0 degrees corresponding to 12 o'clock\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"followsDelimiter\":\"/\",\"description\":\"suppresses the legend\",\"type\":\"standalone\"}]},{\"name\":\"STARLEGENDLAB=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the label displayed to the left of the legend for stars requested with the STARLEGEND= option\",\"help\":\"STARLEGENDLAB='*label*'\",\"type\":\"value\"},{\"name\":\"STARS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies colors for the outlines of stars requested with the STARVERTICES= option\",\"help\":\"STARS=*variable*\",\"type\":\"value\"},{\"name\":\"STARSPECS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the method used to standardize the star vertex variables listed with the STARVERTICES= option\",\"help\":\"STARSPECS=*value*|*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"STARSTART=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the vertex angle for the first variable in the STARVERTICES= list\",\"help\":\"STARSTART=*value*\",\"type\":\"value\"},{\"name\":\"STARTYPE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the style of the stars requested with the STARVERTICES= option\",\"help\":\"STARTYPE=CORONA | POLYGON | RADIAL | SPOKE | WEDGE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"CORONA\",\"followsDelimiter\":\"/\",\"description\":\"specifies a polygon with star-vertices emanating from the inner circle\",\"type\":\"standalone\"},{\"name\":\"POLYGON\",\"followsDelimiter\":\"/\",\"description\":\"specifies a closed polygon\",\"type\":\"standalone\"},{\"name\":\"RADIAL\",\"followsDelimiter\":\"/\",\"description\":\"draws rays emanating from the center\",\"type\":\"standalone\"},{\"name\":\"SPOKE\",\"followsDelimiter\":\"/\",\"description\":\"draws rays emanating from the inner circle\",\"type\":\"standalone\"},{\"name\":\"WEDGE\",\"followsDelimiter\":\"/\",\"description\":\"specifies a closed polygon with rays from the center to each vertex\",\"type\":\"standalone\"}]},{\"name\":\"STARVERTICES=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"superimposes a star (polygon) at each point on the primary chart\",\"help\":\"STARVERTICES=*variable* | (*variable-list*)\",\"type\":\"value\"},{\"name\":\"STDDEVIATIONS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that the estimate of the process standard deviation σ is to be calculated from subgroup standard deviations\",\"type\":\"standalone\"},{\"name\":\"SYMBOLLEGEND=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"controls the legend for the levels of a symbol-variable\",\"help\":\"SYMBOLLEGEND=LEGENDn | NONE\",\"type\":\"choice\"},{\"name\":\"SYMBOLORDER=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the order in which symbols are assigned for levels of symbol-variable\",\"help\":\"SYMBOLORDER=DATA | INTERNAL | FORMATTED\",\"type\":\"choice\"},{\"name\":\"TABLES\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"creates a basic table of the subgroup values, the subgroup sample sizes, the subgroup summary statistics, and the upper and lower control limits\",\"help\":\"TABLES &lt;(EXCEPTIONS)&gt;\",\"type\":\"standaloneOrValue\"},{\"name\":\"TABLEALL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"tabulates all the information about the control chart\",\"help\":\"TABLEALL &lt;(EXCEPTIONS)&gt;\",\"type\":\"standaloneOrValue\"},{\"name\":\"TABLECENTRAL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"augments the basic table created by the TABLES option with columns for the values of the central lines\",\"help\":\"TABLECENTRAL &lt;(EXCEPTIONS)&gt;\",\"type\":\"standaloneOrValue\"},{\"name\":\"TABLEID\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"augments the basic table created by the TABLES option with a column for each of the ID variables\",\"help\":\"TABLEID &lt;(EXCEPTIONS)&gt;\",\"type\":\"standaloneOrValue\"},{\"name\":\"TABLELEGEND\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"adds a legend to the basic table created by the TABLE option\",\"help\":\"TABLELEGEND &lt;(EXCEPTIONS)&gt;\",\"type\":\"standaloneOrValue\"},{\"name\":\"TABLEOUTLIM\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"augments the basic table created by the TABLE option with columns indicating which control limits (if any) are exceeded\",\"help\":\"TABLEOUTLIM &lt;(EXCEPTIONS)&gt;\",\"type\":\"standaloneOrValue\"},{\"name\":\"TABLETESTS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"augments the basic table created by the TABLES option with a column that indicates which of the tests for special causes (requested with the TESTS= option) are positive\",\"help\":\"TABLETESTS &lt;(EXCEPTIONS)&gt;\",\"type\":\"standaloneOrValue\"},{\"name\":\"TARGET=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"provides target values used to compute the capability index Cpm, which is saved in the OUTLIMITS= data set\",\"help\":\"TARGET=*value-list*\",\"type\":\"value\"},{\"name\":\"TEST2RESET=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"enables tests for special causes to be reset in a secondary chart\",\"help\":\"TEST2RESET=*variable* | *value*\",\"type\":\"value\"},{\"name\":\"TEST2RUN=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the length of the pattern for Test 2 requested with the TESTS= and TESTS2= options\",\"help\":\"TEST2RUN=7 | 8 | 9 | 11 | 14 | 20\",\"type\":\"choice\",\"arguments\":[{\"name\":\"7\",\"followsDelimiter\":\"/\",\"description\":\"specifies a run-length of 7 in a row on one side of the central line\",\"type\":\"standalone\"},{\"name\":\"8\",\"followsDelimiter\":\"/\",\"description\":\"specifies a run-length of 8 in a row on one side of the central line\",\"type\":\"standalone\"},{\"name\":\"9\",\"followsDelimiter\":\"/\",\"description\":\"specifies a run-length of 9 in a row on one side of the central line\",\"type\":\"standalone\"},{\"name\":\"11\",\"followsDelimiter\":\"/\",\"description\":\"specifies at least 10 out of 11 in a row on one side of the central line\",\"type\":\"standalone\"},{\"name\":\"14\",\"followsDelimiter\":\"/\",\"description\":\"specifies at least 12 out of 14 in a row on one side of the central line\",\"type\":\"standalone\"},{\"name\":\"20\",\"followsDelimiter\":\"/\",\"description\":\"specifies at least 16 out of 20 in a row on one side of the central line\",\"type\":\"standalone\"}]},{\"name\":\"TEST3RUN=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the length of the pattern for Test 3 requested with the TESTS= and TESTS2= options\",\"help\":\"TEST3RUN=6 | 7 | 8\",\"type\":\"choice\",\"arguments\":[{\"name\":\"6\",\"followsDelimiter\":\"/\",\"description\":\"searches for a pattern of steadily increasing or decreasing values with length at least 6\",\"type\":\"standalone\"},{\"name\":\"7\",\"followsDelimiter\":\"/\",\"description\":\"searches for a pattern of steadily increasing or decreasing values with length at least 7\",\"type\":\"standalone\"},{\"name\":\"8\",\"followsDelimiter\":\"/\",\"description\":\"searches for a pattern of steadily increasing or decreasing values with length at least 8\",\"type\":\"standalone\"}]},{\"name\":\"TESTACROSS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that tests for special causes requested with the TESTS= or TESTS2= options be applied without regard to phases (blocks of consecutive subgroups) determined by the READPHASES= option and the variable _PHASE_ in the input data set\",\"type\":\"standalone\"},{\"name\":\"TESTLABBOX\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"requests that labels for subgroups with positive tests for special causes are positioned so they do not overlap\",\"type\":\"standalone\"},{\"name\":\"TESTLABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"provides labels for points at which one of the tests for special causes (requested with the TESTS= or TESTS2= option) is positive\",\"help\":\"TESTLABEL='*label*' | (*variable*) | TESTINDEX | SPACE | NONE\",\"type\":\"value\"},{\"name\":\"TESTLABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a label for points at which the test for special causes requested with the index n in a TESTS= or TESTS2= list is positive\",\"help\":\"TESTLABEL*n*='*label*'\",\"type\":\"value\"},{\"name\":\"TESTNMETHOD=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"applies the tests for special causes requested with the TESTS= and TESTS2= options to standardized test statistics when the subgroup sample sizes are not constant\",\"help\":\"TESTNMETHOD=STANDARDIZE\",\"type\":\"value\"},{\"name\":\"TESTOVERLAP\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"applies tests for special causes (requested with the TESTS= or TESTS2= option) to overlapping patterns of points\",\"type\":\"standalone\"},{\"name\":\"TESTRESET=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"enables tests for special causes to be reset in a primary chart\",\"help\":\"TESTRESET=*variable* | *value*\",\"type\":\"value\"},{\"name\":\"TESTS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"requests one or more tests for special causes, which are also known as runs tests, pattern tests, and Western Electric rules\",\"help\":\"TESTS=*index-list*\",\"type\":\"value\",\"arguments\":[{\"name\":\"1\",\"followsDelimiter\":\"/\",\"description\":\"specifies one point beyond Zone A (outside the control limits)\",\"type\":\"standalone\"},{\"name\":\"2\",\"followsDelimiter\":\"/\",\"description\":\"specifies nine points in a row in Zone C or beyond on one side of the central line\",\"type\":\"standalone\"},{\"name\":\"3\",\"followsDelimiter\":\"/\",\"description\":\"specifies six points in a row steadily increasing\",\"type\":\"standalone\"},{\"name\":\"4\",\"followsDelimiter\":\"/\",\"description\":\"specifies fourteen points in a row alternating up and down\",\"type\":\"standalone\"},{\"name\":\"5\",\"followsDelimiter\":\"/\",\"description\":\"specifies two out of three points in a row in Zone A or beyond\",\"type\":\"standalone\"},{\"name\":\"6\",\"followsDelimiter\":\"/\",\"description\":\"specifies four out of five points in a row in Zone B or beyond\",\"type\":\"standalone\"},{\"name\":\"7\",\"followsDelimiter\":\"/\",\"description\":\"specifies fifteen points in a row in Zone C on either or both sides of the central line\",\"type\":\"standalone\"},{\"name\":\"8\",\"followsDelimiter\":\"/\",\"description\":\"specifies eight points in a row on either or both sides of the central line with no points in Zone C\",\"type\":\"standalone\"}]},{\"name\":\"TESTS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies customized tests for special causes for the primary control chart to search for k out of m points in a row in the interval (a,b)\",\"help\":\"TESTS=T(K=*k* M=*m* LOWER=*a* UPPER=*b* SCHEME=*scheme* CODE=*character* LABEL=*'label'* LEGEND=*'legend'*)\",\"type\":\"value\",\"arguments\":[{\"name\":\"K=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the number of points\",\"help\":\"K=*k*\",\"type\":\"value\"},{\"name\":\"M=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the number of consecutive points\",\"help\":\"M=*m*\",\"type\":\"value\"},{\"name\":\"LOWER=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the lower limit of interval (a,b)\",\"help\":\"LOWER=*value*\",\"type\":\"value\"},{\"name\":\"UPPER=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the upper limit of interval (a,b)\",\"help\":\"UPPER=*value*\",\"type\":\"value\"},{\"name\":\"SCHEME=\",\"followsDelimiter\":\"/\",\"description\":\"specifies a one-sided scheme using (a,b)\",\"help\":\"SCHEME=ONESIDED\",\"type\":\"value\"},{\"name\":\"SCHEME=\",\"followsDelimiter\":\"/\",\"description\":\"specifies a two-sided scheme using (a,b) union (-b,-a)\",\"help\":\"SCHEME=TWOSIDED\",\"type\":\"value\"},{\"name\":\"CODE=\",\"followsDelimiter\":\"/\",\"description\":\"specifies an identifier for test (A--H)\",\"help\":\"CODE=*character*\",\"type\":\"value\"},{\"name\":\"LABEL=\",\"followsDelimiter\":\"/\",\"description\":\"specifies a label for points if signal\",\"help\":\"LABEL=*'label'*\",\"type\":\"value\"},{\"name\":\"LEGEND=\",\"followsDelimiter\":\"/\",\"description\":\"specifies a legend used with the TABLELEGEND option\",\"help\":\"LEGEND=*'legend'*\",\"type\":\"value\"}]},{\"name\":\"TESTS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies customized tests for special causes for the primary control chart to search for k points in a row increasing or decreasing\",\"help\":\"TESTS=M(K=*k* DIR=*direction* CODE=*character* LABEL=*'label'* LEGEND=*'legend'*)\",\"type\":\"value\",\"arguments\":[{\"name\":\"K=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the number of points\",\"help\":\"K=*k*\",\"type\":\"value\"},{\"name\":\"DIR=\",\"followsDelimiter\":\"/\",\"description\":\"specifies an increasing pattern\",\"help\":\"DIR=INC\",\"type\":\"value\"},{\"name\":\"DIR=\",\"followsDelimiter\":\"/\",\"description\":\"specifies a decreasing pattern\",\"help\":\"DIR=DEC\",\"type\":\"value\"},{\"name\":\"CODE=\",\"followsDelimiter\":\"/\",\"description\":\"specifies an identifier for test (A--H)\",\"help\":\"CODE=*character*\",\"type\":\"value\"},{\"name\":\"LABEL=\",\"followsDelimiter\":\"/\",\"description\":\"specifies a label for points if signal\",\"help\":\"LABEL=*'label'*\",\"type\":\"value\"},{\"name\":\"LEGEND=\",\"followsDelimiter\":\"/\",\"description\":\"specifies a legend used with the TABLELEGEND option\",\"help\":\"LEGEND=*'legend'*\",\"type\":\"value\"}]},{\"name\":\"TESTS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies customized tests for special causes for the primary control chart to search for a statistically significant linear trend over a window of k points\",\"help\":\"TESTS=S(K=*k* CLEV=*α* FORM=*character* CODE=*character* LABEL=*'label'* LEGEND=*'legend'*)\",\"type\":\"value\",\"arguments\":[{\"name\":\"K=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the number of points in sliding window (k > 2)\",\"help\":\"K=*k*\",\"type\":\"value\"},{\"name\":\"CLEV=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the Type I (false positive) error rate (0 < α ≤ 0.5)\",\"help\":\"CLEV=*α*\",\"type\":\"value\"},{\"name\":\"FORM=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the type of trend test (P=parametric, N=nonparametric)\",\"help\":\"FORM=*character*\",\"type\":\"value\"},{\"name\":\"CODE=\",\"followsDelimiter\":\"/\",\"description\":\"specifies an identifier for test (A--H)\",\"help\":\"CODE=*character*\",\"type\":\"value\"},{\"name\":\"LABEL=\",\"followsDelimiter\":\"/\",\"description\":\"specifies a label for points if signal\",\"help\":\"LABEL=*'label'*\",\"type\":\"value\"},{\"name\":\"LEGEND=\",\"followsDelimiter\":\"/\",\"description\":\"specifies a legend used with the TABLELEGEND option\",\"help\":\"LEGEND=*'legend'*\",\"type\":\"value\"}]},{\"name\":\"TOTPANELS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the total number of panels to be used to display the chart\",\"help\":\"TOTPANELS=*n*\",\"type\":\"value\"},{\"name\":\"TRENDVAR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a list of trend variables, one for each process listed in the chart statement\",\"help\":\"TRENDVAR=*variable* | (*variable-list*)\",\"type\":\"value\"},{\"name\":\"TYPE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the value of the _TYPE_ variable in the OUTLIMITS= data set, which in turn indicates whether certain parameter variables in this data set represent estimates or standard (known) values\",\"help\":\"TYPE=ESTIMATE | STDMU | STDSIGMA | STANDARD\",\"type\":\"choice\"},{\"name\":\"UCLLABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a label for the upper control limit in the primary chart\",\"help\":\"UCLLABEL='*label*'\",\"type\":\"value\"},{\"name\":\"USL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"provides upper specification limits used to compute capability indices\",\"help\":\"USL=*value-list*\",\"type\":\"value\"},{\"name\":\"VAXIS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies major tick mark values for the vertical axis of a primary chart\",\"help\":\"VAXIS=*value-list* | AXIS*n*\",\"type\":\"value\"},{\"name\":\"VAXIS2=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies major tick mark values for the vertical axis of a secondary chart\",\"help\":\"VAXIS2=*value-list* | AXIS*n*\",\"type\":\"value\"},{\"name\":\"VFORMAT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a format to be used for displaying tick mark labels on the vertical axis of a primary chart\",\"help\":\"VFORMAT=*format*\",\"type\":\"value\"},{\"name\":\"VFORMAT2=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a format to be used for displaying tick mark labels on the vertical axis of a secondary chart\",\"help\":\"VFORMAT2=*format*\",\"type\":\"value\"},{\"name\":\"VOFFSET=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the length of the offset at each end of the vertical axis\",\"help\":\"VOFFSET=*value*\",\"type\":\"value\"},{\"name\":\"VREF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"draws reference lines perpendicular to the vertical axis on the primary chart\",\"help\":\"VREF=*value-list* | *SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"VREF2=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"draws reference lines perpendicular to the vertical axis on the secondary chart\",\"help\":\"VREF2=*value-list* | *SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"VREF2LABELS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies labels for the reference lines requested by the VREF2= option\",\"help\":\"VREF2LABELS='*label1*'...'*labeln*'\",\"type\":\"value\"},{\"name\":\"VREFLABELS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies labels for the reference lines requested by the VREF= option\",\"help\":\"VREFLABELS='*label1*'...'*labeln*'\",\"type\":\"value\"},{\"name\":\"VREFLABPOS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the horizontal position of the VREFLABELS= and VREF2LABELS= labels\",\"help\":\"VREFLABPOS=1 | 2 | 3\",\"type\":\"choice\",\"arguments\":[{\"name\":\"1\",\"followsDelimiter\":\"/\",\"description\":\"left-justifies in subplot area\",\"type\":\"standalone\"},{\"name\":\"2\",\"followsDelimiter\":\"/\",\"description\":\"right-justifies in subplot area\",\"type\":\"standalone\"},{\"name\":\"3\",\"followsDelimiter\":\"/\",\"description\":\"left-justifies in right margin\",\"type\":\"standalone\"}]},{\"name\":\"VZERO\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"forces the origin to be included in the vertical axis for a primary chart\",\"type\":\"standalone\"},{\"name\":\"VZERO2\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"forces the origin to be included in the vertical axis for a secondary chart\",\"type\":\"standalone\"},{\"name\":\"WESTGARD=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"requests that one or more of the Westgard rules (tests for special causes) be applied\",\"help\":\"WESTGARD=*index-list*\",\"type\":\"value\",\"arguments\":[{\"name\":\"1\",\"followsDelimiter\":\"/\",\"description\":\"specifies one point in Zone A or beyond\",\"type\":\"standalone\"},{\"name\":\"2\",\"followsDelimiter\":\"/\",\"description\":\"specifies one point beyond Zone A (outside the control limits)\",\"type\":\"standalone\"},{\"name\":\"3\",\"followsDelimiter\":\"/\",\"description\":\"specifies two points in a row in Zone A or beyond on the same side of the central line\",\"type\":\"standalone\"},{\"name\":\"4\",\"followsDelimiter\":\"/\",\"description\":\"specifies at least one point in Zone A or beyond on each side of the central line\",\"type\":\"standalone\"},{\"name\":\"5\",\"followsDelimiter\":\"/\",\"description\":\"specifies four points in a row in Zone B or beyond on the same side of the central line\",\"type\":\"standalone\"},{\"name\":\"6\",\"followsDelimiter\":\"/\",\"description\":\"specifies ten points in a row on the same side of the central line\",\"type\":\"standalone\"}]},{\"name\":\"XSYMBOL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a label for the central line in an X-bar chart or a median chart\",\"help\":\"XSYMBOL=MBAR | MTIL | MU | MU0 | XBAR | XBAR2 | XBARPM | XBAR0 | XBAR0PM | '*label*'\",\"type\":\"value\",\"arguments\":[{\"name\":\"MBAR\",\"followsDelimiter\":\"/\",\"description\":\"M bar\",\"type\":\"standalone\"},{\"name\":\"MTIL\",\"followsDelimiter\":\"/\",\"description\":\"M tilde\",\"type\":\"standalone\"},{\"name\":\"MU\",\"followsDelimiter\":\"/\",\"description\":\"μ\",\"type\":\"standalone\"},{\"name\":\"MU0\",\"followsDelimiter\":\"/\",\"description\":\"μ sub 0\",\"type\":\"standalone\"},{\"name\":\"XBAR\",\"followsDelimiter\":\"/\",\"description\":\"X bar\",\"type\":\"standalone\"},{\"name\":\"XBAR2\",\"followsDelimiter\":\"/\",\"description\":\"X double bar\",\"type\":\"standalone\"},{\"name\":\"XBARPM\",\"followsDelimiter\":\"/\",\"description\":\"X bar prime\",\"type\":\"standalone\"},{\"name\":\"XBAR0\",\"followsDelimiter\":\"/\",\"description\":\"X bar sub 0\",\"type\":\"standalone\"},{\"name\":\"XBAR0PM\",\"followsDelimiter\":\"/\",\"description\":\"X bar prime sub 0\",\"type\":\"standalone\"}]},{\"name\":\"YPCT1=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a percent (ranging from 0 to 100) that determines the length of the vertical axis for the primary chart in proportion to the sum of the lengths of the vertical axes for the primary and secondary charts\",\"help\":\"YPCT1=*value*\",\"type\":\"value\"},{\"name\":\"ZEROSTD\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that a control chart is to be constructed and displayed regardless of whether the estimated process standard deviation is zero\",\"help\":\"ZEROSTD&lt;=NOLIMITS&gt;\",\"type\":\"standaloneOrValue\"},{\"name\":\"ZONE2VALUES\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"labels R or s chart zones lines with their values\",\"type\":\"standalone\"},{\"name\":\"ZONELABELS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"adds the labels A, B, and C to zone lines requested with the ZONES or ZONEVALUES options\",\"type\":\"standalone\"},{\"name\":\"ZONES\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"adds lines to a primary chart that delineate zones A, B, and C for standard tests requested with the TESTS= option\",\"type\":\"standalone\"},{\"name\":\"ZONEVALPOS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the horizontal position of the ZONEVALUES= and ZONE2VALUES= labels\",\"help\":\"ZONEVALPOS=1 | 2 | 3\",\"type\":\"choice\",\"arguments\":[{\"name\":\"1\",\"followsDelimiter\":\"/\",\"description\":\"left-justifies in subplot area\",\"type\":\"standalone\"},{\"name\":\"2\",\"followsDelimiter\":\"/\",\"description\":\"right-justifies in subplot area\",\"type\":\"standalone\"},{\"name\":\"3\",\"followsDelimiter\":\"/\",\"description\":\"left-justifies in right margin\",\"type\":\"standalone\"}]},{\"name\":\"ZONEVALUES\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"labels the primary chart zones lines with their values\",\"type\":\"standalone\"},{\"name\":\"BLOCKREFTRANSPARENCY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"PHASEREFTRANSPARENCY=\",\"REFFILLTRANSPARENCY=\"],\"description\":\"specifies the wall fill transparency for blocks and phases when transparency is used in ODS Graphics output\",\"help\":\"BLOCKREFTRANSPARENCY=*value*\",\"type\":\"value\"},{\"name\":\"BOXTRANSPARENCY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the box fill transparency for box-and-whisker charts when transparency is used in ODS Graphics output\",\"help\":\"BOXTRANSPARENCY=*value*\",\"type\":\"value\"},{\"name\":\"INFILLTRANSPARENCY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the control limit infill transparency when transparency is used in ODS Graphics output\",\"help\":\"INFILLTRANSPARENCY=*value*\",\"type\":\"value\"},{\"name\":\"MARKERDISPLAY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a subset of subgroups to be plotted with markers on a primary chart that is not an R or s chart\",\"help\":\"MARKERDISPLAY=OOC | UPPER | LOWER | RUNSTEST\",\"type\":\"choice\",\"arguments\":[{\"name\":\"OOC\",\"followsDelimiter\":\"/\",\"description\":\"selects subgroups outside the control limits\",\"type\":\"standalone\"},{\"name\":\"UPPER\",\"followsDelimiter\":\"/\",\"description\":\"selects subgroups above the upper control limit\",\"type\":\"standalone\"},{\"name\":\"LOWER\",\"followsDelimiter\":\"/\",\"description\":\"selects subgroups below the lower control limit\",\"type\":\"standalone\"},{\"name\":\"RUNSTEST\",\"followsDelimiter\":\"/\",\"description\":\"selects subgroups that signal positive tests for special causes\",\"type\":\"standalone\"}]},{\"name\":\"MARKERDISPLAY2=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a subset of subgroups to be plotted with markers on an R or s chart\",\"help\":\"MARKERDISPLAY2=OOC | UPPER | LOWER | RUNSTEST\",\"type\":\"choice\",\"arguments\":[{\"name\":\"OOC\",\"followsDelimiter\":\"/\",\"description\":\"selects subgroups outside the control limits\",\"type\":\"standalone\"},{\"name\":\"UPPER\",\"followsDelimiter\":\"/\",\"description\":\"selects subgroups above the upper control limit\",\"type\":\"standalone\"},{\"name\":\"LOWER\",\"followsDelimiter\":\"/\",\"description\":\"selects subgroups below the lower control limit\",\"type\":\"standalone\"},{\"name\":\"RUNSTEST\",\"followsDelimiter\":\"/\",\"description\":\"selects subgroups that signal positive tests for special causes\",\"type\":\"standalone\"}]},{\"name\":\"MARKERLABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a variable whose values provide labels for the subgroups that are plotted with markers on a primary chart that is not an R or s chart\",\"help\":\"MARKERLABEL=(*variable*)\",\"type\":\"value\"},{\"name\":\"MARKERLABEL2=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a variable whose values provide labels for the subgroups that are plotted with markers on an R or s chart\",\"help\":\"MARKERLABEL2=(*variable*)\",\"type\":\"value\"},{\"name\":\"MARKERMISSINGGROUP=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies whether subgroups with missing symbol-variable values are plotted with a unique marker\",\"help\":\"MARKERMISSINGGROUP=TRUE | FALSE\",\"type\":\"choice\"},{\"name\":\"MARKERS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"plots subgroup points with markers\",\"type\":\"standalone\"},{\"name\":\"NOBLOCKREF\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"NOPHASEREF\",\"NOREF\"],\"description\":\"suppresses block and phase reference lines from ODS Graphics output\",\"type\":\"standalone\"},{\"name\":\"NOBLOCKREFFILL\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"NOPHASEREFFILL\",\"NOREFFILL\"],\"description\":\"suppresses the block and phase wall fills from ODS Graphics output\",\"type\":\"standalone\"},{\"name\":\"NOBOXFILLLEGEND\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"NOFILLLEGEND\",\"NOSTARFILLLEGEND\"],\"description\":\"suppresses the legend for the levels of a BOXFILL= or STARFILL= variable in ODS Graphics output\",\"type\":\"standalone\"},{\"name\":\"NOTRANSPARENCY\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"disables transparency in ODS Graphics output, so that all graph features are opaque\",\"type\":\"standalone\"},{\"name\":\"ODSFOOTNOTE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"adds a footnote to ODS Graphics output\",\"help\":\"ODSFOOTNOTE=FOOTNOTE | FOOTNOTE1 | '*string*'\",\"type\":\"value\"},{\"name\":\"ODSFOOTNOTE2=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"adds a secondary footnote to ODS Graphics output\",\"help\":\"ODSFOOTNOTE2=FOOTNOTE2 | '*string*'\",\"type\":\"value\"},{\"name\":\"ODSLEGENDEXPAND\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that legend entries contain all levels observed in the data\",\"type\":\"standalone\"},{\"name\":\"ODSTITLE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a title for ODS Graphics output\",\"help\":\"ODSTITLE=TITLE | TITLE1 | NONE | DEFAULT | LABELFMT | '*string*'\",\"type\":\"value\"},{\"name\":\"ODSTITLE2=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a secondary title for ODS Graphics output\",\"help\":\"ODSTITLE2=TITLE2 | '*string*'\",\"type\":\"value\"},{\"name\":\"OUTFILLTRANSPARENCY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the control limit outfill transparency when transparency is used in ODS Graphics output\",\"help\":\"OUTFILLTRANSPARENCY=*value*\",\"type\":\"value\"},{\"name\":\"OUTHIGHURL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a variable whose values are URLs to be associated with outlier points above the upper fence on a schematic box chart when ODS Graphics output is directed into HTML\",\"help\":\"OUTHIGHURL=*variable*\",\"type\":\"value\"},{\"name\":\"OUTLOWURL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a variable whose values are URLs to be associated with outlier points below the lower fence on a schematic box chart when ODS Graphics output is directed into HTML\",\"help\":\"OUTLOWURL=*variable*\",\"type\":\"value\"},{\"name\":\"OVERLAY2URL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies variables whose values are URLs to be associated with points on secondary chart overlays\",\"help\":\"OVERLAY2URL=(*variable-list*)\",\"type\":\"value\"},{\"name\":\"OVERLAYURL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies variables whose values are URLs to be associated with points on primary chart overlays\",\"help\":\"OVERLAYURL=(*variable-list*)\",\"type\":\"value\"},{\"name\":\"PHASEBOXLABELS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"draws phase labels as titles along the top of phase boxes\",\"type\":\"standalone\"},{\"name\":\"PHASEPOS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the vertical position of the phase legend\",\"help\":\"PHASEPOS=1 | 2 | 3 | 4\",\"type\":\"choice\",\"arguments\":[{\"name\":\"1\",\"followsDelimiter\":\"/\",\"description\":\"places at top of chart, offset from axis frame\",\"type\":\"standalone\"},{\"name\":\"2\",\"followsDelimiter\":\"/\",\"description\":\"places at top of chart, immediately above axis frame\",\"type\":\"standalone\"},{\"name\":\"3\",\"followsDelimiter\":\"/\",\"description\":\"places at bottom of chart, immediately above horizontal axis\",\"type\":\"standalone\"},{\"name\":\"4\",\"followsDelimiter\":\"/\",\"description\":\"places at bottom of chart, below horizontal axis label\",\"type\":\"standalone\"}]},{\"name\":\"PHASEREFLEVEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"enables you to associate phase reference lines (block reference lines) with either the innermost or the outermost level\",\"help\":\"PHASEREFLEVEL=INNER | OUTER | NONE\",\"type\":\"choice\"},{\"name\":\"QCSYMBOLS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies which set of symbol markers is used to plot points on a control chart\",\"help\":\"QCSYMBOLS=TRUE | FALSE\",\"type\":\"choice\"},{\"name\":\"SIMULATEQCFONT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"draws the central line labels using a simulated software font rather than a hardware font\",\"type\":\"standalone\"},{\"name\":\"STARTRANSPARENCY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the star fill transparency when transparency is used in ODS Graphics output\",\"help\":\"STARTRANSPARENCY=*value*\",\"type\":\"value\"},{\"name\":\"URL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies URLs as values of the specified character variable (or formatted values of a numeric variable) to associate with subgroup points on a primary control chart when ODS Graphics output is directed into HTML\",\"help\":\"URL=*variable*\",\"type\":\"value\"},{\"name\":\"URL2=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies URLs as values of the specified character variable (or formatted values of a numeric variable) to associate with subgroup points on a secondary control chart when ODS Graphics output is directed into HTML\",\"help\":\"URL2=*variable*\",\"type\":\"value\"},{\"name\":\"ANNOTATE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"ANNO=\"],\"description\":\"specifies an ANNOTATE= type data set that enhances a primary chart\",\"help\":\"ANNOTATE=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"ANNOTATE2=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"ANNO2=\"],\"description\":\"specifies an ANNOTATE= type data set that enhances a secondary chart\",\"help\":\"ANNOTATE2=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"BILEVEL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"arranges the Shewhart chart in two levels (rather than the default of one level) so that twice as much data can be displayed on a page or screen\",\"type\":\"standalone\"},{\"name\":\"CAXIS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the color for the axes and tick marks\",\"help\":\"CAXIS=*color*\",\"type\":\"color\"},{\"name\":\"CBLOCKLAB=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies fill colors for the frames that enclose the block-variable labels in a block legend\",\"help\":\"CBLOCKLAB=*color* | (*color-list*)\",\"type\":\"color\"},{\"name\":\"CBLOCKVAR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies variables whose values are colors for filling the background of the legend associated with block-variables\",\"help\":\"CBLOCKVAR=*variable* | (*variable-list*)\",\"type\":\"value\"},{\"name\":\"CCLIP=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a color for the plotting symbol that is specified with the CLIPSYMBOL option to mark clipped points\",\"help\":\"CCLIP=*color*\",\"type\":\"color\"},{\"name\":\"CCONNECT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the color for the line segments connecting points on the chart\",\"help\":\"CCONNECT=*color*\",\"type\":\"color\"},{\"name\":\"CCOVERLAY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the colors for the line segments connecting points on primary chart overlays\",\"help\":\"CCOVERLAY=(*color-list*)\",\"type\":\"color\"},{\"name\":\"CCOVERLAY2=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the colors for the line segments connecting points on secondary chart overlays\",\"help\":\"CCOVERLAY2=(*color-list*)\",\"type\":\"color\"},{\"name\":\"CFRAME=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the colors for filling the rectangle enclosed by the axes and the frame\",\"help\":\"CFRAME=*color* | (*color-list*)\",\"type\":\"color\"},{\"name\":\"CGRID=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the color for the grid requested by the ENDGRID or GRID option\",\"help\":\"CGRID=*color*\",\"type\":\"color\"},{\"name\":\"CHREF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the color for the lines requested by the HREF= and HREF2= options\",\"help\":\"CHREF=*color*\",\"type\":\"color\"},{\"name\":\"CLABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the color for labels produced by the ALLLABEL=, ALLLABEL2=, OUTLABEL=, and OUTLABEL2= options\",\"help\":\"CLABEL=*color*\",\"type\":\"color\"},{\"name\":\"CLIMITS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the color for the control limits, the central line, and the labels for these lines\",\"help\":\"CLIMITS=*color*\",\"type\":\"color\"},{\"name\":\"CLIPLEGPOS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the position for the legend that indicates the number of clipped points when the CLIPFACTOR= option is used\",\"help\":\"CLIPLEGPOS=TOP | BOTTOM\",\"type\":\"choice\"},{\"name\":\"CLIPSYMBOL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a plot symbol used to identify clipped points on the chart and in the legend when the CLIPFACTOR= option is used\",\"help\":\"CLIPSYMBOL=*symbol*\",\"type\":\"value\"},{\"name\":\"CLIPSYMBOLHT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the height for the symbol marker used to identify clipped points on the chart when the CLIPFACTOR= option is used\",\"help\":\"CLIPSYMBOLHT=*value*\",\"type\":\"value\"},{\"name\":\"CNEEDLES=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"requests that points are to be connected to the central line with vertical line segments (needles) and specifies the color of the needles\",\"help\":\"CNEEDLES=*color*\",\"type\":\"color\"},{\"name\":\"COUTFILL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the fill color for the areas outside the control limits that lie between the connected points and the control limits and are bounded by connecting lines\",\"help\":\"COUTFILL=*color*\",\"type\":\"color\"},{\"name\":\"COVERLAY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the colors used to plot primary chart overlay variables specified in the OVERLAY= list\",\"help\":\"COVERLAY=(*color-list*)\",\"type\":\"color\"},{\"name\":\"COVERLAY2=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the colors used to plot secondary chart overlay variables specified in the OVERLAY2= list\",\"help\":\"COVERLAY2=(*color-list*)\",\"type\":\"color\"},{\"name\":\"COVERLAYCLIP=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the color used to plot clipped values on overlay plots when the CLIPFACTOR= option is used\",\"help\":\"COVERLAYCLIP=*color*\",\"type\":\"color\"},{\"name\":\"CPHASELEG=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a text color for the phase labels requested with the PHASELEGEND option\",\"help\":\"CPHASELEG=*color*\",\"type\":\"color\"},{\"name\":\"CSTARCIRCLES=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a color for the circles requested with the STARCIRCLES= option\",\"help\":\"CSTARCIRCLES=*color*\",\"type\":\"color\"},{\"name\":\"CSTARFILL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a color or colors for filling the interior of stars requested with the STARVERTICES= option\",\"help\":\"CSTARFILL=*color* | (*variable*)\",\"type\":\"color\"},{\"name\":\"CSTARS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a color or colors for the outlines of stars requested with the STARVERTICES= option\",\"help\":\"CSTARS=*color* | (*variable*)\",\"type\":\"color\"},{\"name\":\"CTESTLABBOX=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the color for boxes enclosing labels for positive tests for special causes requested with the TESTLABBOX option\",\"help\":\"CTESTLABBOX=*color*\",\"type\":\"color\"},{\"name\":\"CTESTS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies colors for labels indicating points where a test for special causes specified in the TESTS= option is positive\",\"help\":\"CTESTS=*color* | *test-color-list*\",\"type\":\"color\"},{\"name\":\"CTESTSYMBOL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the color of the symbol used to plot subgroups with positive tests for special causes\",\"help\":\"CTESTSYMBOL=*color*\",\"type\":\"color\"},{\"name\":\"CTEXT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the color for tick mark values, axis labels, the sample size legend, and the control limit legend\",\"help\":\"CTEXT=*color*\",\"type\":\"color\"},{\"name\":\"CVREF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the color for reference lines requested by the VREF= and VREF2= options\",\"help\":\"CVREF=*color*\",\"type\":\"color\"},{\"name\":\"CZONES=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"requests lines marking zones A, B, and C for the tests for special causes\",\"help\":\"CZONES=*color*\",\"type\":\"color\"},{\"name\":\"DESCRIPTION=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a description, up to 256 characters long, for the GRSEG catalog entry for the primary chart\",\"help\":\"DESCRIPTION='*string*'\",\"type\":\"value\"},{\"name\":\"ENDGRID\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"a grid to the rightmost portion of the chart, beginning with the first labeled major tick mark position that follows the last plotted point\",\"type\":\"standalone\"},{\"name\":\"FONT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a software font for labels and legends\",\"help\":\"FONT=*font*\",\"type\":\"value\"},{\"name\":\"HEIGHT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the height (in vertical screen percent units) of the text for axis labels and legends\",\"help\":\"HEIGHT=*value*\",\"type\":\"value\"},{\"name\":\"HMINOR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the number of (unlabeled) minor tick marks between each major tick mark on the horizontal axis\",\"help\":\"HMINOR=*n*\",\"type\":\"value\"},{\"name\":\"HTML=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a variable whose values create links associated with subgroup points on a primary control chart when traditional graphics output is directed into HTML\",\"help\":\"HTML=*variable*\",\"type\":\"value\"},{\"name\":\"HTML2=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a variable whose values create links associated with subgroup points on a secondary control chart when traditional graphics output is directed into HTML\",\"help\":\"HTML2=*variable*\",\"type\":\"value\"},{\"name\":\"HTML_LEGEND=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies HTML links as values of the specified character variable (or formatted values of a numeric variable)\",\"help\":\"HTML_LEGEND=*variable*\",\"type\":\"value\"},{\"name\":\"LABELANGLE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the angle at which labels requested with the ALLLABEL=, ALLLABEL2=, OUTLABEL=, and OUTLABEL2= options are drawn\",\"help\":\"LABELANGLE=*angle*\",\"type\":\"value\"},{\"name\":\"LABELFONT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"TESTFONT=\"],\"description\":\"specifies a software font for labels requested with the ALLLABEL=, ALLLABEL2=, OUTLABEL=, OUTLABEL2=, STARLABEL=, TESTLABEL=, and TESTLABELn= options\",\"help\":\"LABELFONT=*font*\",\"type\":\"value\"},{\"name\":\"LABELHEIGHT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"TESTHEIGHT=\"],\"description\":\"specifies the height (in vertical percent screen units) for labels requested with the ALLLABEL=, ALLLABEL2=, OUTLABEL=, OUTLABEL2=, STARLABEL=, TESTLABEL=, and TESTLABELn= options\",\"help\":\"LABELHEIGHT=*value*\",\"type\":\"value\"},{\"name\":\"LENDGRID=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the line type for the grid requested with the ENDGRID option\",\"help\":\"LENDGRID=*n*\",\"type\":\"value\"},{\"name\":\"LGRID=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the line type for the grid requested with the GRID option\",\"help\":\"LGRID=*n*\",\"type\":\"value\"},{\"name\":\"LHREF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the line type for reference lines requested with the HREF= and HREF2= options\",\"help\":\"LHREF=*linetype*\",\"type\":\"value\"},{\"name\":\"LLIMITS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the line type for control limits\",\"help\":\"LLIMITS=*linetype*\",\"type\":\"value\"},{\"name\":\"LOVERLAY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies line types for the line segments connecting points on primary chart overlays corresponding to the OVERLAY= list\",\"help\":\"LOVERLAY=(*linetypes*)\",\"type\":\"value\"},{\"name\":\"LOVERLAY2=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies line types for the line segments connecting points on secondary chart overlays corresponding to the OVERLAY2= list\",\"help\":\"LOVERLAY2=(*linetypes*)\",\"type\":\"value\"},{\"name\":\"LSTARCIRCLES=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies one or more line types for the circles requested with the STARCIRCLES= option\",\"help\":\"LSTARCIRCLES=*linetypes*\",\"type\":\"value\"},{\"name\":\"LSTARS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the line types for the outlines of stars requested with the STARVERTICES= option\",\"help\":\"LSTARS=*linetype* | (*variable*)\",\"type\":\"value\"},{\"name\":\"LTESTS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the line type for the line segments that connect patterns of points for which a test for special causes (requested with the TESTS= option) is positive\",\"help\":\"LTESTS=*linetype*\",\"type\":\"value\"},{\"name\":\"LVREF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the line type for reference lines requested by the VREF= and VREF2= options\",\"help\":\"LVREF=*linetype*\",\"type\":\"value\"},{\"name\":\"LZONES=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the line type for lines that delineate zones A, B, and C for standard tests requested with the TESTS= and/or TESTS2= options\",\"help\":\"LZONES=*n*\",\"type\":\"value\"},{\"name\":\"NAME=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the name of the GRSEG catalog entry for the primary chart, and the name of the graphics output file if one is created\",\"help\":\"NAME='*string*'\",\"type\":\"value\"},{\"name\":\"NOFRAME\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses the default frame drawn around the chart\",\"type\":\"standalone\"},{\"name\":\"NOLIMITSFRAME\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses the default frame for the control limit information that is displayed across the top of the chart when multiple sets of control limits with distinct multiples of σ and nominal control limit sample sizes are read from a LIMITS= data set\",\"type\":\"standalone\"},{\"name\":\"NOPHASEFRAME\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses the default frame for the legend requested by the PHASELEGEND option\",\"type\":\"standalone\"},{\"name\":\"NOVANGLE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"requests vertical axis labels that are strung out vertically\",\"type\":\"standalone\"},{\"name\":\"NOVLABEL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses the label for the primary vertical axis\",\"type\":\"standalone\"},{\"name\":\"NOV2LABEL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses the label for the secondary vertical axis\",\"type\":\"standalone\"},{\"name\":\"OUTHIGHHTML=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a variable whose values create links to be associated with outlier points above the upper fence on a schematic box chart when traditional graphics output is directed into HTML\",\"help\":\"OUTHIGHHTML=*variable*\",\"type\":\"value\"},{\"name\":\"OUTLOWHTML=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a variable whose values create links to be associated with outlier points below the lower fence on a schematic box chart when traditional graphics output is directed into HTML\",\"help\":\"OUTLOWHTML=*variable*\",\"type\":\"value\"},{\"name\":\"OVERLAY2HTML=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies variables whose values create links to be associated with points on secondary chart overlays corresponding to the OVERLAY2= list\",\"help\":\"OVERLAY2HTML=(*variable-list*)\",\"type\":\"value\"},{\"name\":\"OVERLAY2SYM=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies symbols used to plot overlays on a secondary control chart corresponding to the OVERLAY2= list\",\"help\":\"OVERLAY2SYM=(*symbol-list*)\",\"type\":\"value\"},{\"name\":\"OVERLAY2SYMHT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the heights of symbols used to plot overlays on a secondary control chart corresponding to the OVERLAY2= list\",\"help\":\"OVERLAY2SYMHT=(*value-list*)\",\"type\":\"value\"},{\"name\":\"OVERLAYCLIPSYM=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the symbol used to plot clipped values on overlay plots when the CLIPFACTOR= option is used\",\"help\":\"OVERLAYCLIPSYM=*symbol*\",\"type\":\"value\"},{\"name\":\"OVERLAYCLIPSYMHT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the height for the symbol used to plot clipped values on overlay plots when the CLIPFACTOR= option is used\",\"help\":\"OVERLAYCLIPSYMHT=*value*\",\"type\":\"value\"},{\"name\":\"OVERLAYHTML=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies variables whose values create links to be associated with points on primary chart overlays corresponding to the OVERLAY= list\",\"help\":\"OVERLAYHTML=(*variable-list*)\",\"type\":\"value\"},{\"name\":\"OVERLAYSYM=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies symbols used to plot overlays on the primary control chart corresponding to the OVERLAY= list\",\"help\":\"OVERLAYSYM=(*symbol-list*)\",\"type\":\"value\"},{\"name\":\"OVERLAYSYMHT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the heights of symbols used to plot overlays on the primary control chart corresponding to the OVERLAY= list\",\"help\":\"OVERLAYSYMHT=(*value-list*)\",\"type\":\"value\"},{\"name\":\"TESTFONT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"LABELFONT=\"],\"description\":\"specifies a software font for labels requested with the ALLLABEL=, ALLLABEL2=, OUTLABEL=, OUTLABEL2=, STARLABEL=, TESTLABEL=, and TESTLABELn= options\",\"help\":\"TESTFONT=*font*\",\"type\":\"value\"},{\"name\":\"TESTHEIGHT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"LABELHEIGHT=\"],\"description\":\"specifies the height (in vertical percent screen units) for labels requested with the ALLLABEL=, ALLLABEL2=, OUTLABEL=, OUTLABEL2=, STARLABEL=, TESTLABEL=, and TESTLABELn= options\",\"help\":\"TESTHEIGHT=*value*\",\"type\":\"value\"},{\"name\":\"TESTSYMBOL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the symbol for plotting subgroups with positive tests for special causes\",\"help\":\"TESTSYMBOL=*symbol*\",\"type\":\"value\"},{\"name\":\"TESTSYMBOLHT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the height of the symbol used to plot subgroups with positive tests for special causes\",\"help\":\"TESTSYMBOLHT=*value*\",\"type\":\"value\"},{\"name\":\"TURNALL\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"TURNOUT\"],\"description\":\"turns the labels produced by the ALLLABEL=, ALLLABEL2=, OUTLABEL=, and OUTLABEL2= options so that they are strung out vertically\",\"type\":\"standalone\"},{\"name\":\"TURNHLABELS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"turns the major tick mark labels for the horizontal (subgroup) axis so that they are strung out vertically\",\"type\":\"standalone\"},{\"name\":\"VMINOR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the number of minor tick marks between each major tick mark on the vertical axis\",\"help\":\"VMINOR=*n*\",\"type\":\"value\"},{\"name\":\"WAXIS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the width in pixels for the axis and frame lines\",\"help\":\"WAXIS=*n*\",\"type\":\"value\"},{\"name\":\"WGRID=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the width in pixels for grid lines requested with the ENDGRID and GRID options\",\"help\":\"WGRID=*n*\",\"type\":\"value\"},{\"name\":\"WLIMITS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the width in pixels for the control limits and central line\",\"help\":\"WLIMITS=*n*\",\"type\":\"value\"},{\"name\":\"WNEEDLES=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the width in pixels of needles connecting plotted points to the central line, as requested with the NEEDLES option\",\"help\":\"WNEEDLES=*n*\",\"type\":\"value\"},{\"name\":\"WOVERLAY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the widths in pixels for the line segments connecting points on primary chart overlay plots corresponding to the OVERLAY= list\",\"help\":\"WOVERLAY=(*value-list*)\",\"type\":\"value\"},{\"name\":\"WOVERLAY2=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the widths in pixels for the line segments connecting points on secondary chart overlay plots corresponding to the OVERLAY2= list\",\"help\":\"WOVERLAY2=(*value-list*)\",\"type\":\"value\"},{\"name\":\"WSTARCIRCLES=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the width in pixels of the outline of circles requested by the STARCIRCLES= option\",\"help\":\"WSTARCIRCLES=*n*\",\"type\":\"value\"},{\"name\":\"WSTARS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the width in pixels of the outline of stars requested by the STARVERTICES= option\",\"help\":\"WSTARS=*n*\",\"type\":\"value\"},{\"name\":\"WTESTS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the width in pixels of the line segments that connect patterns of points for which a test for special causes (requested with the TESTS= or TESTS2= option) is positive\",\"help\":\"WTESTS=*n*\",\"type\":\"value\"},{\"name\":\"WTREND=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the width in pixels of the line segments that connect points on trend charts requested with the TRENDVAR= option\",\"help\":\"WTREND=*n*\",\"type\":\"value\"}]},{\"name\":\"XRCHART\",\"description\":\"creates X-bar and R charts for subgroup means and ranges\",\"help\":\"XRCHART  (processes) * subgroup-variable<(block-variables)><=symbol-variable | ='character'></ options>;                                              \\nprocess is the name of the variable containing the raw measurements, or the common prefix of the summary variables in the HISTORY= data set, or the value of the variable _VAR_ in the TABLE= data set                     \\nsubgroup-variable is the variable that identifies subgroups in the data                     \\nblock-variables are optional variables that group the data into blocks of consecutive subgroups                     \\nsymbol-variable is an optional variable whose levels (unique values) determine the symbol marker that is used to plot the means and ranges                     \\ncharacter is a character that is used to plot the points when you produce traditional graphics                     \",\"arguments\":[{\"name\":\"ALLLABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"labels every point on the primary chart with the value plotted for that subgroup or with the value of variable in the input data set\",\"help\":\"ALLLABEL=VALUE | (*variable*)\",\"type\":\"value\"},{\"name\":\"ALLLABEL2=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"labels every point on an R, s, or trend chart with the value plotted for that subgroup or with the value of variable in the input data set\",\"help\":\"ALLLABEL2=VALUE | (*variable*)\",\"type\":\"value\"},{\"name\":\"ALLN\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"plots summary statistics for all subgroups, regardless of whether the subgroup sample size equals the nominal control limit sample size n specified by the LIMITN= option or the variable _LIMITN_ in the LIMITS= data set\",\"type\":\"standalone\"},{\"name\":\"ALPHA=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"requests α probability limits instead of 3σ control limits\",\"help\":\"ALPHA=*value*\",\"type\":\"value\"},{\"name\":\"BLOCKLABELPOS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the position of a block-variable label in the block legend\",\"help\":\"BLOCKLABELPOS=ABOVE | LEFT | RIGHT\",\"type\":\"choice\"},{\"name\":\"BLOCKLABTYPE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies how lengthy block variable values are treated when there is insufficient space to display them in the block legend\",\"help\":\"BLOCKLABTYPE=SCALED | TRUNCATED | ROTATE | ROTATEALL | *height*\",\"type\":\"value\"},{\"name\":\"BLOCKPOS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the vertical position of the legend for the values of the block-variables\",\"help\":\"BLOCKPOS=*n*\",\"type\":\"value\"},{\"name\":\"BLOCKREP\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that block variable values for all subgroups are to be displayed\",\"type\":\"standalone\"},{\"name\":\"BLOCKVAR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies variables whose values are used to assign colors for filling the background of the legend associated with block variables\",\"help\":\"BLOCKVAR=*variable* | (*variable-list*)\",\"type\":\"value\"},{\"name\":\"BOXES=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a variable whose values are used to assign colors for the outlines of box-and-whiskers plots\",\"help\":\"BOXES=*variable*\",\"type\":\"value\"},{\"name\":\"BOXFILL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies how box-and-whisker plots are filled with colors from the ODS style\",\"help\":\"BOXFILL=*variable* | NONE | EMPTY\",\"type\":\"value\"},{\"name\":\"CFRAMELAB=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"CFRAMELAB\"],\"description\":\"specifies the color for filling rectangles that frame the point labels displayed with the ALLLABEL=, ALLLABEL2=, OUTLABEL=, and OUTLABEL2= options\",\"help\":\"CFRAMELAB=*color*\",\"type\":\"color\"},{\"name\":\"CIINDICES\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"requests capability index confidence limits based on subgroup summary data, calculated using \\\"effective degrees of freedom\\\"\",\"help\":\"CIINDICES &lt;(&lt;TYPE=*keyword*&gt;&lt;ALPHA=*value*&gt;)&gt;\",\"type\":\"standaloneOrValue\",\"arguments\":[{\"name\":\"TYPE=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the type of confidence limit\",\"help\":\"TYPE=LOWER | UPPER | TWOSIDED\",\"type\":\"choice\"},{\"name\":\"ALPHA=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the default confidence level to compute confidence limits\",\"help\":\"ALPHA=*value*\",\"type\":\"value\"}]},{\"name\":\"CINFILL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the color for the area inside the upper and lower control limits\",\"help\":\"CINFILL=*color* | EMPTY | NONE\",\"type\":\"color\"},{\"name\":\"CLIPFACTOR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"requests clipping of extreme points on the control chart\",\"help\":\"CLIPFACTOR=*factor*\",\"type\":\"value\"},{\"name\":\"CLIPLEGEND=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the label for the legend that indicates the number of clipped points when the CLIPFACTOR= option is used\",\"help\":\"CLIPLEGEND='*label*'\",\"type\":\"value\"},{\"name\":\"CLIPSUBCHAR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a substitution character (such as #) for the label provided with the CLIPLEGEND= option\",\"help\":\"CLIPSUBCHAR='*character*'\",\"type\":\"value\"},{\"name\":\"COUT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the color for the plotting symbols and the portions of connecting line segments that lie outside the control limits\",\"help\":\"COUT&lt;=*color*&gt;\",\"type\":\"standaloneOrValue\"},{\"name\":\"CSTAROUT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a color for those portions of the outlines of stars (requested with the STARVERTICES= option) that exceed the inner or outer circles\",\"help\":\"CSTAROUT&lt;=*color*&gt;\",\"type\":\"standaloneOrValue\"},{\"name\":\"DISCRETE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that numeric subgroup variable values be treated as discrete values, so that each tick value on the default subgroup axis corresponds to a unique subgroup variable value\",\"type\":\"standalone\"},{\"name\":\"EXCHART\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"creates a control chart only when exceptions occur, specifically, when the control limits are exceeded or when any of the tests requested with the TESTS= option or the TESTS2= option are positive\",\"type\":\"standalone\"},{\"name\":\"FRONTREF\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"draws reference lines specified with the HREF= and VREF= options in front of box-and-whiskers plots\",\"type\":\"standalone\"},{\"name\":\"GRID\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"adds a grid to the control chart\",\"type\":\"standalone\"},{\"name\":\"HAXIS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies tick mark values for the horizontal (subgroup) axis\",\"help\":\"HAXIS=*values* | AXIS*n*\",\"type\":\"value\"},{\"name\":\"HOFFSET=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the length of the offset at each end of the horizontal axis\",\"help\":\"HOFFSET=*value*\",\"type\":\"value\"},{\"name\":\"HREF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"draws reference lines perpendicular to the horizontal (subgroup) axis on the primary chart\",\"help\":\"HREF=*values*\",\"type\":\"value\"},{\"name\":\"HREF2=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"draws reference lines perpendicular to the horizontal (subgroup) axis on the secondary chart\",\"help\":\"HREF2=*values*\",\"type\":\"value\"},{\"name\":\"HREF2DATA=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"draws reference lines perpendicular to the horizontal (subgroup) axis on the secondary chart\",\"help\":\"HREF2DATA=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"HREF2LABELS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies labels for the reference lines requested by the HREF2= option\",\"help\":\"HREF2LABELS='*label1*'...'*labeln*'\",\"type\":\"value\"},{\"name\":\"HREFDATA=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"draws reference lines perpendicular to the horizontal (subgroup) axis on the primary chart\",\"help\":\"HREFDATA=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"HREFLABELS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies labels for the reference lines requested by the HREF= option\",\"help\":\"HREFLABELS='*label1*'...'*labeln*'\",\"type\":\"value\"},{\"name\":\"HREFLABPOS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the vertical position of the HREFLABEL= and HREF2LABEL= labels\",\"help\":\"HREFLABPOS=*n*\",\"type\":\"value\",\"arguments\":[{\"name\":\"1\",\"followsDelimiter\":\"/\",\"description\":\"positions along top of subplot area\",\"type\":\"standalone\"},{\"name\":\"2\",\"followsDelimiter\":\"/\",\"description\":\"staggers from top to bottom of subplot area\",\"type\":\"standalone\"},{\"name\":\"3\",\"followsDelimiter\":\"/\",\"description\":\"positions along bottom of subplot area\",\"type\":\"standalone\"},{\"name\":\"4\",\"followsDelimiter\":\"/\",\"description\":\"staggers from bottom to top of subplot area\",\"type\":\"standalone\"}]},{\"name\":\"INDEPENDENTZONES\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"INDEPZONES\"],\"description\":\"specifies that the widths of the zones requested with the ZONES option be computed independently above and below the center line of the chart, so that the width of each zone is one-third of the difference between the process mean and the control limit on its side of the chart\",\"type\":\"standalone\"},{\"name\":\"INTERVAL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the natural time interval between consecutive subgroup positions when a time, date, or datetime format is associated with a numeric subgroup variable\",\"help\":\"INTERVAL=DAY | DTDAY | HOUR | MINUTE | MONTH | QTR | SECOND\",\"type\":\"choice\"},{\"name\":\"INTSTART=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the starting value for a numeric horizontal axis, when a date, time, or datetime format is associated with the subgroup variable\",\"help\":\"INTSTART=*value*\",\"type\":\"value\"},{\"name\":\"LCLLABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a label for the lower control limit in the primary chart\",\"help\":\"LCLLABEL='*label*'\",\"type\":\"value\"},{\"name\":\"LCLLABEL2=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a label for the lower control limit in the secondary chart\",\"help\":\"LCLLABEL2='*label*'\",\"type\":\"value\"},{\"name\":\"LIMITN=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies either a fixed or varying nominal sample size for the control limits\",\"help\":\"LIMITN=*n* | VARYING\",\"type\":\"value\"},{\"name\":\"LIMLABSUBCHAR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a substitution character (such as #) for labels provided as quoted strings with the LCLLABEL=, LCLLABEL2=, UCLLABEL=, UCLLABEL2=, CSYMBOL=, NPSYMBOL=, PSYMBOL=, RSYMBOL=, SSYMBOL=, USYMBOL=, and XSYMBOL= options\",\"help\":\"LIMLABSUBCHAR='*character*'\",\"type\":\"value\"},{\"name\":\"LSL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"provides lower specification limits used to compute capability indices\",\"help\":\"LSL=*value-list*\",\"type\":\"value\"},{\"name\":\"MAXPANELS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the maximum number of pages or screens for a chart\",\"help\":\"MAXPANELS=*n*\",\"type\":\"value\"},{\"name\":\"MISSBREAK\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"determines how subgroups are formed when observations are read from a DATA= data set and a character subgroup-variable is provided\",\"type\":\"standalone\"},{\"name\":\"MU0=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a known (standard) value μ0 for the process mean μ\",\"help\":\"MU0=*value*\",\"type\":\"value\"},{\"name\":\"NDECIMAL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the number of decimal digits in the default labels for the control limits and the central line in the primary chart\",\"help\":\"NDECIMAL=*n*\",\"type\":\"value\"},{\"name\":\"NDECIMAL2=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the number of decimal digits in the default labels for the control limits and central line in a secondary chart\",\"help\":\"NDECIMAL2=*n*\",\"type\":\"value\"},{\"name\":\"NEEDLES\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"connects plotted points to the central line with vertical line segments (needles)\",\"type\":\"standalone\"},{\"name\":\"NMARKERS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"identifies a plotted subgroup summary statistic with a special symbol marker (character) when the corresponding subgroup sample size is not equal to the nominal control limit sample size n\",\"type\":\"standalone\"},{\"name\":\"NO3SIGMACHECK\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses the check for 3σ limits when tests for special causes are requested\",\"type\":\"standalone\"},{\"name\":\"NOBYREF\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that the reference line information in an HREF=, HREF2=, VREF=, or VREF2= data set is to be applied uniformly to charts created for all the BY groups in the input data set (DATA=, HISTORY=, or TABLE=)\",\"type\":\"standalone\"},{\"name\":\"NOCHART\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses the creation of the chart\",\"type\":\"standalone\"},{\"name\":\"NOCHART2\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses the creation of a secondary chart\",\"type\":\"standalone\"},{\"name\":\"NOCONNECT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses line segments that connect points on the chart\",\"type\":\"standalone\"},{\"name\":\"NOCTL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses the display of the central line in a primary chart\",\"type\":\"standalone\"},{\"name\":\"NOCTL2\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses the display of the central line in a secondary chart\",\"type\":\"standalone\"},{\"name\":\"NOHLABEL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses the label for the horizontal (subgroup) axis\",\"type\":\"standalone\"},{\"name\":\"NOLCL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses the display of the lower control limit in a primary chart\",\"type\":\"standalone\"},{\"name\":\"NOLCL2\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses the drawing of the lower control limit in a secondary chart\",\"type\":\"standalone\"},{\"name\":\"NOLEGEND\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses the default legend for subgroup sample sizes, which appears by default below the chart\",\"type\":\"standalone\"},{\"name\":\"NOLIMIT0\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses the display of a fixed lower control limit if and only if the value of the limit is zero\",\"type\":\"standalone\"},{\"name\":\"NOLIMITLABEL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses the default labels for the control limits and central lines\",\"type\":\"standalone\"},{\"name\":\"NOLIMITS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses the display of control limits\",\"type\":\"standalone\"},{\"name\":\"NOLIMITSLEGEND\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses the legend for the control limits, which appears by default in the upper right corner of the chart\",\"type\":\"standalone\"},{\"name\":\"NOOVERLAYLEGEND\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses the legend for overlay variables which is displayed by default when the OVERLAY= or OVERLAY2= option is specified\",\"type\":\"standalone\"},{\"name\":\"NOREADLIMITS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that the control limits for each process listed in the chart statement not be read from the LIMITS= data set specified in the PROC SHEWHART statement\",\"type\":\"standalone\"},{\"name\":\"NOTESTACROSS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that tests for special causes requested with the TESTS= or TESTS2= options not be applied across the boundaries of phases (blocks of consecutive subgroups) determined by the READPHASES= option and the variable _PHASE_ in the input data set\",\"type\":\"standalone\"},{\"name\":\"NOTICKREP\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"applies to character-valued subgroup-variables and specifies that only the first occurrence of repeated, adjacent subgroup values is to be labeled on the horizontal axis\",\"type\":\"standalone\"},{\"name\":\"NOTRUNC\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"overrides the vertical axis truncation at zero, which is applied by default to c charts, moving range charts, np charts, p charts, R charts, s charts, and u charts\",\"type\":\"standalone\"},{\"name\":\"NOUCL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses the display of the upper control limit in a primary chart\",\"type\":\"standalone\"},{\"name\":\"NOUCL2\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses the display of the upper control limit in a secondary chart\",\"type\":\"standalone\"},{\"name\":\"NPANELPOS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the number of subgroup positions per panel on each chart\",\"help\":\"NPANELPOS=*n*\",\"type\":\"value\"},{\"name\":\"OUTFILL\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"COUTFILL\"],\"description\":\"fills the areas outside the control limits that lie between the connected points and the control limits and are bounded by connecting lines\",\"type\":\"standalone\"},{\"name\":\"OUTHISTORY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"creates an output data set that contains the subgroup summary statistics\",\"help\":\"OUTHISTORY=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"OUTINDEX=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the value of the _INDEX_ variable in the OUTLIMITS= output data set\",\"help\":\"OUTINDEX='*label*'\",\"type\":\"value\"},{\"name\":\"OUTLABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"labels each point that falls outside the control limits on the primary chart with the value plotted for that subgroup or with the value of variable in the input data set\",\"help\":\"OUTLABEL=VALUE | (*variable*)\",\"type\":\"value\"},{\"name\":\"OUTLIMITS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"creates an output data set that saves the control limits\",\"help\":\"OUTLIMITS=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"OUTPHASE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the value of the _PHASE_ variable in the OUTHISTORY= data set\",\"help\":\"OUTPHASE='*label*'\",\"type\":\"value\"},{\"name\":\"OUTTABLE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"creates an output SAS data set that saves the information plotted on the chart, including the subgroup variable values and their corresponding summary statistics and control limits\",\"help\":\"OUTTABLE=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"OVERLAY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies variables to be overlaid on the primary control chart\",\"help\":\"OVERLAY=(*variable-list*)\",\"type\":\"value\"},{\"name\":\"OVERLAY2=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies variables to be overlaid on a secondary control chart\",\"help\":\"OVERLAY2=(*variable-list*)\",\"type\":\"value\"},{\"name\":\"OVERLAY2ID=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies variables whose formatted values are used to label points on secondary chart overlays\",\"help\":\"OVERLAY2ID=(*variable-list*)\",\"type\":\"value\"},{\"name\":\"OVERLAYID=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies variables whose formatted values are used to label points on primary chart overlays\",\"help\":\"OVERLAYID=(*variable-list*)\",\"type\":\"value\"},{\"name\":\"OVERLAYLEGLAB=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the label displayed to the left of the legend for overlays requested with the OVERLAY= or OVERLAY2= option\",\"help\":\"OVERLAYLEGLAB='*label*'\",\"type\":\"value\"},{\"name\":\"PAGENUM=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the form of the label used for pagination; for example, 'Page #' or 'Page # of #'\",\"help\":\"PAGENUM='*string*'\",\"type\":\"value\"},{\"name\":\"PAGENUMPOS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies where to position the page number requested with the PAGENUM= option\",\"help\":\"PAGENUMPOS=TL | TR | BL | BR | TL100 | TR100 | BL0 | BR0\",\"type\":\"choice\",\"arguments\":[{\"name\":\"TL\",\"followsDelimiter\":\"/\",\"description\":\"specifies the top left\",\"type\":\"standalone\"},{\"name\":\"TR\",\"followsDelimiter\":\"/\",\"description\":\"specifies the top right\",\"type\":\"standalone\"},{\"name\":\"BL\",\"followsDelimiter\":\"/\",\"description\":\"specifies the bottom left\",\"type\":\"standalone\"},{\"name\":\"BR\",\"followsDelimiter\":\"/\",\"description\":\"specifies the bottom right\",\"type\":\"standalone\"},{\"name\":\"TL100\",\"followsDelimiter\":\"/\",\"description\":\"specifies the very top left\",\"type\":\"standalone\"},{\"name\":\"TR100\",\"followsDelimiter\":\"/\",\"description\":\"specifies the very top right\",\"type\":\"standalone\"},{\"name\":\"BL0\",\"followsDelimiter\":\"/\",\"description\":\"specifies the very bottom left\",\"type\":\"standalone\"},{\"name\":\"BR0\",\"followsDelimiter\":\"/\",\"description\":\"specifies the very bottom right\",\"type\":\"standalone\"}]},{\"name\":\"PHASEBREAK\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that the last point in a phase (defined as a block of consecutive subgroups with the same value of the _PHASE_ variable) is not to be connected to the first point in the next phase\",\"type\":\"standalone\"},{\"name\":\"PHASELABTYPE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies how lengthy _PHASE_ variable values are displayed when there is insufficient space in the legend requested with the PHASELEGEND option\",\"help\":\"PHASELABTYPE=SCALED | TRUNCATED | *height*\",\"type\":\"value\"},{\"name\":\"PHASELEGEND\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"identifies the phases requested with the READPHASES= option in a legend across the top of the chart\",\"type\":\"standalone\"},{\"name\":\"PHASELIMITS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that the control limits and center line be labeled for each phase specified with the READPHASES= option, providing the limits are constant within that phase\",\"type\":\"standalone\"},{\"name\":\"PHASEREF\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"delineates the phases specified with the READPHASES= option with reference lines drawn vertically\",\"type\":\"standalone\"},{\"name\":\"PHASEVARLABEL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"displays the label associated with the variable _PHASE_ above the phase values in the phase legend\",\"type\":\"standalone\"},{\"name\":\"PHASEVALSEP\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"displays vertical lines separating phase values in the phase legend\",\"type\":\"standalone\"},{\"name\":\"RANGES\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"estimates the process standard deviation for a boxplot using subgroup ranges\",\"type\":\"standalone\"},{\"name\":\"READALPHA\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that the variable _ALPHA_, rather than the variable _SIGMAS_, be read from a LIMITS= data set when both variables are available in the data set\",\"type\":\"standalone\"},{\"name\":\"READINDEX=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"reads one or more sets of control limits from a LIMITS= data set (specified in the PROC SHEWHART statement) for each process listed in the chart statement\",\"help\":\"READINDEX=*value-list* | ALL\",\"type\":\"value\"},{\"name\":\"READPHASES=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"selects blocks of consecutive observations to be read from the input data set\",\"help\":\"READPHASES=*value-list* | ALL\",\"type\":\"value\"},{\"name\":\"REPEAT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that the horizontal axis of a chart that spans multiple pages be arranged so that the last subgroup position on a page is repeated as the first subgroup position on the next page\",\"type\":\"standalone\"},{\"name\":\"RSYMBOL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a label for the central line in an R chart\",\"help\":\"RSYMBOL=R | RBAR | RPM | R0 | '*label*'\",\"type\":\"value\",\"arguments\":[{\"name\":\"R\",\"followsDelimiter\":\"/\",\"description\":\"R\",\"type\":\"standalone\"},{\"name\":\"RBAR\",\"followsDelimiter\":\"/\",\"description\":\"R bar\",\"type\":\"standalone\"},{\"name\":\"RPM\",\"followsDelimiter\":\"/\",\"description\":\"R prime\",\"type\":\"standalone\"},{\"name\":\"R0\",\"followsDelimiter\":\"/\",\"description\":\"R sub 0\",\"type\":\"standalone\"}]},{\"name\":\"SEPARATE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"displays primary and secondary charts on separate screens or pages\",\"type\":\"standalone\"},{\"name\":\"SIGMA0=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a known (standard) value σ0 for the process standard deviation σ\",\"help\":\"SIGMA0=*value*\",\"type\":\"value\"},{\"name\":\"SIGMAS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the width of the control limits in terms of the multiple k of the standard error of the mean and range statistic plotted on the chart\",\"help\":\"SIGMAS=*k*\",\"type\":\"value\"},{\"name\":\"SKIPHLABELS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the number n of consecutive tick mark labels, beginning with the second tick mark label, that are thinned (not displayed) on the horizontal (subgroup) axis\",\"help\":\"SKIPHLABELS=*n*\",\"type\":\"value\"},{\"name\":\"SMETHOD=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a method for estimating the process standard deviation, σ\",\"help\":\"SMETHOD=NOWEIGHT | MVLUE | MVGRANGE \",\"type\":\"choice\",\"arguments\":[{\"name\":\"NOWEIGHT\",\"followsDelimiter\":\"/\",\"description\":\"estimates σ as an unweighted average of unbiased subgroup estimates of σ\",\"type\":\"standalone\"},{\"name\":\"MVLUE\",\"followsDelimiter\":\"/\",\"description\":\"calculates a minimum variance linear unbiased estimate for σ\",\"type\":\"standalone\"},{\"name\":\"MVGRANGE\",\"followsDelimiter\":\"/\",\"description\":\"estimates σ based on a moving range of subgroup means\",\"type\":\"standalone\"}]},{\"name\":\"SPLIT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a special character that is inserted into the label of a process variable or summary statistic variable and whose purpose is to split the label into two parts\",\"help\":\"SPLIT='*character*'\",\"type\":\"value\"},{\"name\":\"STARBDRADIUS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the radius of an imaginary circle that is the outer bound for vertices of stars requested with the STARVERTICES= option\",\"help\":\"STARBDRADIUS=*value*\",\"type\":\"value\"},{\"name\":\"STARCIRCLES=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies reference circles that are superimposed on the stars requested with the STARVERTICES= option\",\"help\":\"STARCIRCLES=*values*\",\"type\":\"value\"},{\"name\":\"STARINRADIUS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the inner radius of stars requested with the STARVERTICES= option\",\"help\":\"STARINRADIUS=*value*\",\"type\":\"value\"},{\"name\":\"STARFILL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies colors for filling the interior of stars requested with the STARVERTICES= option\",\"help\":\"STARFILL=*variable*\",\"type\":\"value\"},{\"name\":\"STARLABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a method for labeling the vertices of stars requested with the STARVERTICES= option\",\"help\":\"STARLABEL=ALL | FIRST | HIGH | LOW | OUT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ALL\",\"followsDelimiter\":\"/\",\"description\":\"labels all vertices of all stars\",\"type\":\"standalone\"},{\"name\":\"FIRST\",\"followsDelimiter\":\"/\",\"description\":\"labels all vertices of the leftmost star\",\"type\":\"standalone\"},{\"name\":\"HIGH\",\"followsDelimiter\":\"/\",\"description\":\"labels only vertices that lie outside the outer circle\",\"type\":\"standalone\"},{\"name\":\"LOW\",\"followsDelimiter\":\"/\",\"description\":\"labels only vertices that lie inside the inner circle\",\"type\":\"standalone\"},{\"name\":\"OUT\",\"followsDelimiter\":\"/\",\"description\":\"labels only vertices that lie inside the inner circle or outside the outer circle\",\"type\":\"standalone\"}]},{\"name\":\"STARLEGEND=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the style of the legend used to identify the vertices of stars requested with the STARVERTICES= option\",\"help\":\"STARLEGEND=CLOCK | CLOCK0 | DEGREES | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"CLOCK\",\"followsDelimiter\":\"/\",\"description\":\"identifies the vertex variables by their positions on the clock (starting with 12:00)\",\"type\":\"standalone\"},{\"name\":\"CLOCK0\",\"followsDelimiter\":\"/\",\"description\":\"identifies the vertex variables by their positions on the clock (starting with 0:00)\",\"type\":\"standalone\"},{\"name\":\"DEGREES\",\"followsDelimiter\":\"/\",\"description\":\"identifies the vertex variables by angles in degrees, with 0 degrees corresponding to 12 o'clock\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"followsDelimiter\":\"/\",\"description\":\"suppresses the legend\",\"type\":\"standalone\"}]},{\"name\":\"STARLEGENDLAB=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the label displayed to the left of the legend for stars requested with the STARLEGEND= option\",\"help\":\"STARLEGENDLAB='*label*'\",\"type\":\"value\"},{\"name\":\"STARS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies colors for the outlines of stars requested with the STARVERTICES= option\",\"help\":\"STARS=*variable*\",\"type\":\"value\"},{\"name\":\"STARSPECS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the method used to standardize the star vertex variables listed with the STARVERTICES= option\",\"help\":\"STARSPECS=*value*|*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"STARSTART=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the vertex angle for the first variable in the STARVERTICES= list\",\"help\":\"STARSTART=*value*\",\"type\":\"value\"},{\"name\":\"STARTYPE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the style of the stars requested with the STARVERTICES= option\",\"help\":\"STARTYPE=CORONA | POLYGON | RADIAL | SPOKE | WEDGE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"CORONA\",\"followsDelimiter\":\"/\",\"description\":\"specifies a polygon with star-vertices emanating from the inner circle\",\"type\":\"standalone\"},{\"name\":\"POLYGON\",\"followsDelimiter\":\"/\",\"description\":\"specifies a closed polygon\",\"type\":\"standalone\"},{\"name\":\"RADIAL\",\"followsDelimiter\":\"/\",\"description\":\"draws rays emanating from the center\",\"type\":\"standalone\"},{\"name\":\"SPOKE\",\"followsDelimiter\":\"/\",\"description\":\"draws rays emanating from the inner circle\",\"type\":\"standalone\"},{\"name\":\"WEDGE\",\"followsDelimiter\":\"/\",\"description\":\"specifies a closed polygon with rays from the center to each vertex\",\"type\":\"standalone\"}]},{\"name\":\"STARVERTICES=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"superimposes a star (polygon) at each point on the primary chart\",\"help\":\"STARVERTICES=*variable* | (*variable-list*)\",\"type\":\"value\"},{\"name\":\"SYMBOLLEGEND=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"controls the legend for the levels of a symbol-variable\",\"help\":\"SYMBOLLEGEND=LEGENDn | NONE\",\"type\":\"choice\"},{\"name\":\"SYMBOLORDER=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the order in which symbols are assigned for levels of symbol-variable\",\"help\":\"SYMBOLORDER=DATA | INTERNAL | FORMATTED\",\"type\":\"choice\"},{\"name\":\"TABLES\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"creates a basic table of the subgroup values, the subgroup sample sizes, the subgroup summary statistics, and the upper and lower control limits\",\"help\":\"TABLES &lt;(EXCEPTIONS)&gt;\",\"type\":\"standaloneOrValue\"},{\"name\":\"TABLEALL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"tabulates all the information about the control chart\",\"help\":\"TABLEALL &lt;(EXCEPTIONS)&gt;\",\"type\":\"standaloneOrValue\"},{\"name\":\"TABLECENTRAL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"augments the basic table created by the TABLES option with columns for the values of the central lines\",\"help\":\"TABLECENTRAL &lt;(EXCEPTIONS)&gt;\",\"type\":\"standaloneOrValue\"},{\"name\":\"TABLEID\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"augments the basic table created by the TABLES option with a column for each of the ID variables\",\"help\":\"TABLEID &lt;(EXCEPTIONS)&gt;\",\"type\":\"standaloneOrValue\"},{\"name\":\"TABLELEGEND\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"adds a legend to the basic table created by the TABLE option\",\"help\":\"TABLELEGEND &lt;(EXCEPTIONS)&gt;\",\"type\":\"standaloneOrValue\"},{\"name\":\"TABLEOUTLIM\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"augments the basic table created by the TABLE option with columns indicating which control limits (if any) are exceeded\",\"help\":\"TABLEOUTLIM &lt;(EXCEPTIONS)&gt;\",\"type\":\"standaloneOrValue\"},{\"name\":\"TABLETESTS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"augments the basic table created by the TABLES option with a column that indicates which of the tests for special causes (requested with the TESTS= option) are positive\",\"help\":\"TABLETESTS &lt;(EXCEPTIONS)&gt;\",\"type\":\"standaloneOrValue\"},{\"name\":\"TARGET=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"provides target values used to compute the capability index Cpm, which is saved in the OUTLIMITS= data set\",\"help\":\"TARGET=*value-list*\",\"type\":\"value\"},{\"name\":\"TEST2RESET=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"enables tests for special causes to be reset in a secondary chart\",\"help\":\"TEST2RESET=*variable* | *value*\",\"type\":\"value\"},{\"name\":\"TEST2RUN=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the length of the pattern for Test 2 requested with the TESTS= and TESTS2= options\",\"help\":\"TEST2RUN=7 | 8 | 9 | 11 | 14 | 20\",\"type\":\"choice\",\"arguments\":[{\"name\":\"7\",\"followsDelimiter\":\"/\",\"description\":\"specifies a run-length of 7 in a row on one side of the central line\",\"type\":\"standalone\"},{\"name\":\"8\",\"followsDelimiter\":\"/\",\"description\":\"specifies a run-length of 8 in a row on one side of the central line\",\"type\":\"standalone\"},{\"name\":\"9\",\"followsDelimiter\":\"/\",\"description\":\"specifies a run-length of 9 in a row on one side of the central line\",\"type\":\"standalone\"},{\"name\":\"11\",\"followsDelimiter\":\"/\",\"description\":\"specifies at least 10 out of 11 in a row on one side of the central line\",\"type\":\"standalone\"},{\"name\":\"14\",\"followsDelimiter\":\"/\",\"description\":\"specifies at least 12 out of 14 in a row on one side of the central line\",\"type\":\"standalone\"},{\"name\":\"20\",\"followsDelimiter\":\"/\",\"description\":\"specifies at least 16 out of 20 in a row on one side of the central line\",\"type\":\"standalone\"}]},{\"name\":\"TEST3RUN=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the length of the pattern for Test 3 requested with the TESTS= and TESTS2= options\",\"help\":\"TEST3RUN=6 | 7 | 8\",\"type\":\"choice\",\"arguments\":[{\"name\":\"6\",\"followsDelimiter\":\"/\",\"description\":\"searches for a pattern of steadily increasing or decreasing values with length at least 6\",\"type\":\"standalone\"},{\"name\":\"7\",\"followsDelimiter\":\"/\",\"description\":\"searches for a pattern of steadily increasing or decreasing values with length at least 7\",\"type\":\"standalone\"},{\"name\":\"8\",\"followsDelimiter\":\"/\",\"description\":\"searches for a pattern of steadily increasing or decreasing values with length at least 8\",\"type\":\"standalone\"}]},{\"name\":\"TESTACROSS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that tests for special causes requested with the TESTS= or TESTS2= options be applied without regard to phases (blocks of consecutive subgroups) determined by the READPHASES= option and the variable _PHASE_ in the input data set\",\"type\":\"standalone\"},{\"name\":\"TESTLABBOX\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"requests that labels for subgroups with positive tests for special causes are positioned so they do not overlap\",\"type\":\"standalone\"},{\"name\":\"TESTLABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"provides labels for points at which one of the tests for special causes (requested with the TESTS= or TESTS2= option) is positive\",\"help\":\"TESTLABEL='*label*' | (*variable*) | TESTINDEX | SPACE | NONE\",\"type\":\"value\"},{\"name\":\"TESTLABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a label for points at which the test for special causes requested with the index n in a TESTS= or TESTS2= list is positive\",\"help\":\"TESTLABEL*n*='*label*'\",\"type\":\"value\"},{\"name\":\"TESTNMETHOD=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"applies the tests for special causes requested with the TESTS= and TESTS2= options to standardized test statistics when the subgroup sample sizes are not constant\",\"help\":\"TESTNMETHOD=STANDARDIZE\",\"type\":\"value\"},{\"name\":\"TESTOVERLAP\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"applies tests for special causes (requested with the TESTS= or TESTS2= option) to overlapping patterns of points\",\"type\":\"standalone\"},{\"name\":\"TESTRESET=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"enables tests for special causes to be reset in a primary chart\",\"help\":\"TESTRESET=*variable* | *value*\",\"type\":\"value\"},{\"name\":\"TESTS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"requests one or more tests for special causes, which are also known as runs tests, pattern tests, and Western Electric rules\",\"help\":\"TESTS=*index-list*\",\"type\":\"value\",\"arguments\":[{\"name\":\"1\",\"followsDelimiter\":\"/\",\"description\":\"specifies one point beyond Zone A (outside the control limits)\",\"type\":\"standalone\"},{\"name\":\"2\",\"followsDelimiter\":\"/\",\"description\":\"specifies nine points in a row in Zone C or beyond on one side of the central line\",\"type\":\"standalone\"},{\"name\":\"3\",\"followsDelimiter\":\"/\",\"description\":\"specifies six points in a row steadily increasing\",\"type\":\"standalone\"},{\"name\":\"4\",\"followsDelimiter\":\"/\",\"description\":\"specifies fourteen points in a row alternating up and down\",\"type\":\"standalone\"},{\"name\":\"5\",\"followsDelimiter\":\"/\",\"description\":\"specifies two out of three points in a row in Zone A or beyond\",\"type\":\"standalone\"},{\"name\":\"6\",\"followsDelimiter\":\"/\",\"description\":\"specifies four out of five points in a row in Zone B or beyond\",\"type\":\"standalone\"},{\"name\":\"7\",\"followsDelimiter\":\"/\",\"description\":\"specifies fifteen points in a row in Zone C on either or both sides of the central line\",\"type\":\"standalone\"},{\"name\":\"8\",\"followsDelimiter\":\"/\",\"description\":\"specifies eight points in a row on either or both sides of the central line with no points in Zone C\",\"type\":\"standalone\"}]},{\"name\":\"TESTS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies customized tests for special causes for the primary control chart to search for k out of m points in a row in the interval (a,b)\",\"help\":\"TESTS=T(K=*k* M=*m* LOWER=*a* UPPER=*b* SCHEME=*scheme* CODE=*character* LABEL=*'label'* LEGEND=*'legend'*)\",\"type\":\"value\",\"arguments\":[{\"name\":\"K=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the number of points\",\"help\":\"K=*k*\",\"type\":\"value\"},{\"name\":\"M=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the number of consecutive points\",\"help\":\"M=*m*\",\"type\":\"value\"},{\"name\":\"LOWER=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the lower limit of interval (a,b)\",\"help\":\"LOWER=*value*\",\"type\":\"value\"},{\"name\":\"UPPER=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the upper limit of interval (a,b)\",\"help\":\"UPPER=*value*\",\"type\":\"value\"},{\"name\":\"SCHEME=\",\"followsDelimiter\":\"/\",\"description\":\"specifies a one-sided scheme using (a,b)\",\"help\":\"SCHEME=ONESIDED\",\"type\":\"value\"},{\"name\":\"SCHEME=\",\"followsDelimiter\":\"/\",\"description\":\"specifies a two-sided scheme using (a,b) union (-b,-a)\",\"help\":\"SCHEME=TWOSIDED\",\"type\":\"value\"},{\"name\":\"CODE=\",\"followsDelimiter\":\"/\",\"description\":\"specifies an identifier for test (A--H)\",\"help\":\"CODE=*character*\",\"type\":\"value\"},{\"name\":\"LABEL=\",\"followsDelimiter\":\"/\",\"description\":\"specifies a label for points if signal\",\"help\":\"LABEL=*'label'*\",\"type\":\"value\"},{\"name\":\"LEGEND=\",\"followsDelimiter\":\"/\",\"description\":\"specifies a legend used with the TABLELEGEND option\",\"help\":\"LEGEND=*'legend'*\",\"type\":\"value\"}]},{\"name\":\"TESTS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies customized tests for special causes for the primary control chart to search for k points in a row increasing or decreasing\",\"help\":\"TESTS=M(K=*k* DIR=*direction* CODE=*character* LABEL=*'label'* LEGEND=*'legend'*)\",\"type\":\"value\",\"arguments\":[{\"name\":\"K=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the number of points\",\"help\":\"K=*k*\",\"type\":\"value\"},{\"name\":\"DIR=\",\"followsDelimiter\":\"/\",\"description\":\"specifies an increasing pattern\",\"help\":\"DIR=INC\",\"type\":\"value\"},{\"name\":\"DIR=\",\"followsDelimiter\":\"/\",\"description\":\"specifies a decreasing pattern\",\"help\":\"DIR=DEC\",\"type\":\"value\"},{\"name\":\"CODE=\",\"followsDelimiter\":\"/\",\"description\":\"specifies an identifier for test (A--H)\",\"help\":\"CODE=*character*\",\"type\":\"value\"},{\"name\":\"LABEL=\",\"followsDelimiter\":\"/\",\"description\":\"specifies a label for points if signal\",\"help\":\"LABEL=*'label'*\",\"type\":\"value\"},{\"name\":\"LEGEND=\",\"followsDelimiter\":\"/\",\"description\":\"specifies a legend used with the TABLELEGEND option\",\"help\":\"LEGEND=*'legend'*\",\"type\":\"value\"}]},{\"name\":\"TESTS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies customized tests for special causes for the primary control chart to search for a statistically significant linear trend over a window of k points\",\"help\":\"TESTS=S(K=*k* CLEV=*α* FORM=*character* CODE=*character* LABEL=*'label'* LEGEND=*'legend'*)\",\"type\":\"value\",\"arguments\":[{\"name\":\"K=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the number of points in sliding window (k > 2)\",\"help\":\"K=*k*\",\"type\":\"value\"},{\"name\":\"CLEV=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the Type I (false positive) error rate (0 < α ≤ 0.5)\",\"help\":\"CLEV=*α*\",\"type\":\"value\"},{\"name\":\"FORM=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the type of trend test (P=parametric, N=nonparametric)\",\"help\":\"FORM=*character*\",\"type\":\"value\"},{\"name\":\"CODE=\",\"followsDelimiter\":\"/\",\"description\":\"specifies an identifier for test (A--H)\",\"help\":\"CODE=*character*\",\"type\":\"value\"},{\"name\":\"LABEL=\",\"followsDelimiter\":\"/\",\"description\":\"specifies a label for points if signal\",\"help\":\"LABEL=*'label'*\",\"type\":\"value\"},{\"name\":\"LEGEND=\",\"followsDelimiter\":\"/\",\"description\":\"specifies a legend used with the TABLELEGEND option\",\"help\":\"LEGEND=*'legend'*\",\"type\":\"value\"}]},{\"name\":\"TESTS2=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"requests one or more tests for special causes for an R chart or s chart\",\"help\":\"TESTS2=*index-list*\",\"type\":\"value\",\"arguments\":[{\"name\":\"1\",\"followsDelimiter\":\"/\",\"description\":\"specifies one point beyond Zone A (outside the control limits)\",\"type\":\"standalone\"},{\"name\":\"2\",\"followsDelimiter\":\"/\",\"description\":\"specifies nine points in a row in Zone C or beyond on one side of the central line\",\"type\":\"standalone\"},{\"name\":\"3\",\"followsDelimiter\":\"/\",\"description\":\"specifies six points in a row steadily increasing\",\"type\":\"standalone\"},{\"name\":\"4\",\"followsDelimiter\":\"/\",\"description\":\"specifies fourteen points in a row alternating up and down\",\"type\":\"standalone\"},{\"name\":\"5\",\"followsDelimiter\":\"/\",\"description\":\"specifies two out of three points in a row in Zone A or beyond\",\"type\":\"standalone\"},{\"name\":\"6\",\"followsDelimiter\":\"/\",\"description\":\"specifies four out of five points in a row in Zone B or beyond\",\"type\":\"standalone\"},{\"name\":\"7\",\"followsDelimiter\":\"/\",\"description\":\"specifies fifteen points in a row in Zone C on either or both sides of the central line\",\"type\":\"standalone\"},{\"name\":\"8\",\"followsDelimiter\":\"/\",\"description\":\"specifies eight points in a row on either or both sides of the central line with no points in Zone C\",\"type\":\"standalone\"}]},{\"name\":\"TESTS2=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies customized tests for special causes for the primary control chart to search for k out of m points in a row in the interval (a,b)\",\"help\":\"TESTS2=T(K=*k* M=*m* LOWER=*a* UPPER=*b* SCHEME=*scheme* CODE=*character* LABEL=*'label'* LEGEND=*'legend'*)\",\"type\":\"value\",\"arguments\":[{\"name\":\"K=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the number of points\",\"help\":\"K=*k*\",\"type\":\"value\"},{\"name\":\"M=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the number of consecutive points\",\"help\":\"M=*m*\",\"type\":\"value\"},{\"name\":\"LOWER=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the lower limit of interval (a,b)\",\"help\":\"LOWER=*value*\",\"type\":\"value\"},{\"name\":\"UPPER=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the upper limit of interval (a,b)\",\"help\":\"UPPER=*value*\",\"type\":\"value\"},{\"name\":\"SCHEME=\",\"followsDelimiter\":\"/\",\"description\":\"specifies a one-sided scheme using (a,b)\",\"help\":\"SCHEME=ONESIDED\",\"type\":\"value\"},{\"name\":\"SCHEME=\",\"followsDelimiter\":\"/\",\"description\":\"specifies a two-sided scheme using (a,b) union (-b,-a)\",\"help\":\"SCHEME=TWOSIDED\",\"type\":\"value\"},{\"name\":\"CODE=\",\"followsDelimiter\":\"/\",\"description\":\"specifies an identifier for test (A--H)\",\"help\":\"CODE=*character*\",\"type\":\"value\"},{\"name\":\"LABEL=\",\"followsDelimiter\":\"/\",\"description\":\"specifies a label for points if signal\",\"help\":\"LABEL=*'label'*\",\"type\":\"value\"},{\"name\":\"LEGEND=\",\"followsDelimiter\":\"/\",\"description\":\"specifies a legend used with the TABLELEGEND option\",\"help\":\"LEGEND=*'legend'*\",\"type\":\"value\"}]},{\"name\":\"TESTS2=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies customized tests for special causes for the primary control chart to search for k points in a row increasing or decreasing\",\"help\":\"TESTS2=M(K=*k* DIR=*direction* CODE=*character* LABEL=*'label'* LEGEND=*'legend'*)\",\"type\":\"value\",\"arguments\":[{\"name\":\"K=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the number of points\",\"help\":\"K=*k*\",\"type\":\"value\"},{\"name\":\"DIR=\",\"followsDelimiter\":\"/\",\"description\":\"specifies an increasing pattern\",\"help\":\"DIR=INC\",\"type\":\"value\"},{\"name\":\"DIR=\",\"followsDelimiter\":\"/\",\"description\":\"specifies a decreasing pattern\",\"help\":\"DIR=DEC\",\"type\":\"value\"},{\"name\":\"CODE=\",\"followsDelimiter\":\"/\",\"description\":\"specifies an identifier for test (A--H)\",\"help\":\"CODE=*character*\",\"type\":\"value\"},{\"name\":\"LABEL=\",\"followsDelimiter\":\"/\",\"description\":\"specifies a label for points if signal\",\"help\":\"LABEL=*'label'*\",\"type\":\"value\"},{\"name\":\"LEGEND=\",\"followsDelimiter\":\"/\",\"description\":\"specifies a legend used with the TABLELEGEND option\",\"help\":\"LEGEND=*'legend'*\",\"type\":\"value\"}]},{\"name\":\"TESTS2=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies customized tests for special causes for the primary control chart to search for a statistically significant linear trend over a window of k points\",\"help\":\"TESTS2=S(K=*k* CLEV=*α* FORM=*character* CODE=*character* LABEL=*'label'* LEGEND=*'legend'*)\",\"type\":\"value\",\"arguments\":[{\"name\":\"K=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the number of points in sliding window (k > 2)\",\"help\":\"K=*k*\",\"type\":\"value\"},{\"name\":\"CLEV=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the Type I (false positive) error rate (0 < α ≤ 0.5)\",\"help\":\"CLEV=*α*\",\"type\":\"value\"},{\"name\":\"FORM=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the type of trend test (P=parametric, N=nonparametric)\",\"help\":\"FORM=*character*\",\"type\":\"value\"},{\"name\":\"CODE=\",\"followsDelimiter\":\"/\",\"description\":\"specifies an identifier for test (A--H)\",\"help\":\"CODE=*character*\",\"type\":\"value\"},{\"name\":\"LABEL=\",\"followsDelimiter\":\"/\",\"description\":\"specifies a label for points if signal\",\"help\":\"LABEL=*'label'*\",\"type\":\"value\"},{\"name\":\"LEGEND=\",\"followsDelimiter\":\"/\",\"description\":\"specifies a legend used with the TABLELEGEND option\",\"help\":\"LEGEND=*'legend'*\",\"type\":\"value\"}]},{\"name\":\"TOTPANELS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the total number of panels to be used to display the chart\",\"help\":\"TOTPANELS=*n*\",\"type\":\"value\"},{\"name\":\"TYPE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the value of the _TYPE_ variable in the OUTLIMITS= data set, which in turn indicates whether certain parameter variables in this data set represent estimates or standard (known) values\",\"help\":\"TYPE=ESTIMATE | STDMU | STDSIGMA | STANDARD\",\"type\":\"choice\"},{\"name\":\"UCLLABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a label for the upper control limit in the primary chart\",\"help\":\"UCLLABEL='*label*'\",\"type\":\"value\"},{\"name\":\"UCLLABEL2=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a label for the upper control limit in the secondary chart\",\"help\":\"UCLLABEL2='*label*'\",\"type\":\"value\"},{\"name\":\"USL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"provides upper specification limits used to compute capability indices\",\"help\":\"USL=*value-list*\",\"type\":\"value\"},{\"name\":\"VAXIS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies major tick mark values for the vertical axis of a primary chart\",\"help\":\"VAXIS=*value-list* | AXIS*n*\",\"type\":\"value\"},{\"name\":\"VAXIS2=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies major tick mark values for the vertical axis of a secondary chart\",\"help\":\"VAXIS2=*value-list* | AXIS*n*\",\"type\":\"value\"},{\"name\":\"VFORMAT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a format to be used for displaying tick mark labels on the vertical axis of a primary chart\",\"help\":\"VFORMAT=*format*\",\"type\":\"value\"},{\"name\":\"VFORMAT2=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a format to be used for displaying tick mark labels on the vertical axis of a secondary chart\",\"help\":\"VFORMAT2=*format*\",\"type\":\"value\"},{\"name\":\"VOFFSET=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the length of the offset at each end of the vertical axis\",\"help\":\"VOFFSET=*value*\",\"type\":\"value\"},{\"name\":\"VREF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"draws reference lines perpendicular to the vertical axis on the primary chart\",\"help\":\"VREF=*value-list* | *SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"VREF2=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"draws reference lines perpendicular to the vertical axis on the secondary chart\",\"help\":\"VREF2=*value-list* | *SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"VREF2LABELS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies labels for the reference lines requested by the VREF2= option\",\"help\":\"VREF2LABELS='*label1*'...'*labeln*'\",\"type\":\"value\"},{\"name\":\"VREFLABELS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies labels for the reference lines requested by the VREF= option\",\"help\":\"VREFLABELS='*label1*'...'*labeln*'\",\"type\":\"value\"},{\"name\":\"VREFLABPOS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the horizontal position of the VREFLABELS= and VREF2LABELS= labels\",\"help\":\"VREFLABPOS=1 | 2 | 3\",\"type\":\"choice\",\"arguments\":[{\"name\":\"1\",\"followsDelimiter\":\"/\",\"description\":\"left-justifies in subplot area\",\"type\":\"standalone\"},{\"name\":\"2\",\"followsDelimiter\":\"/\",\"description\":\"right-justifies in subplot area\",\"type\":\"standalone\"},{\"name\":\"3\",\"followsDelimiter\":\"/\",\"description\":\"left-justifies in right margin\",\"type\":\"standalone\"}]},{\"name\":\"VZERO\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"forces the origin to be included in the vertical axis for a primary chart\",\"type\":\"standalone\"},{\"name\":\"VZERO2\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"forces the origin to be included in the vertical axis for a secondary chart\",\"type\":\"standalone\"},{\"name\":\"WESTGARD=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"requests that one or more of the Westgard rules (tests for special causes) be applied\",\"help\":\"WESTGARD=*index-list*\",\"type\":\"value\",\"arguments\":[{\"name\":\"1\",\"followsDelimiter\":\"/\",\"description\":\"specifies one point in Zone A or beyond\",\"type\":\"standalone\"},{\"name\":\"2\",\"followsDelimiter\":\"/\",\"description\":\"specifies one point beyond Zone A (outside the control limits)\",\"type\":\"standalone\"},{\"name\":\"3\",\"followsDelimiter\":\"/\",\"description\":\"specifies two points in a row in Zone A or beyond on the same side of the central line\",\"type\":\"standalone\"},{\"name\":\"4\",\"followsDelimiter\":\"/\",\"description\":\"specifies at least one point in Zone A or beyond on each side of the central line\",\"type\":\"standalone\"},{\"name\":\"5\",\"followsDelimiter\":\"/\",\"description\":\"specifies four points in a row in Zone B or beyond on the same side of the central line\",\"type\":\"standalone\"},{\"name\":\"6\",\"followsDelimiter\":\"/\",\"description\":\"specifies ten points in a row on the same side of the central line\",\"type\":\"standalone\"}]},{\"name\":\"XSYMBOL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a label for the central line in an X-bar chart or a median chart\",\"help\":\"XSYMBOL=MBAR | MTIL | MU | MU0 | XBAR | XBAR2 | XBARPM | XBAR0 | XBAR0PM | '*label*'\",\"type\":\"value\",\"arguments\":[{\"name\":\"MBAR\",\"followsDelimiter\":\"/\",\"description\":\"M bar\",\"type\":\"standalone\"},{\"name\":\"MTIL\",\"followsDelimiter\":\"/\",\"description\":\"M tilde\",\"type\":\"standalone\"},{\"name\":\"MU\",\"followsDelimiter\":\"/\",\"description\":\"μ\",\"type\":\"standalone\"},{\"name\":\"MU0\",\"followsDelimiter\":\"/\",\"description\":\"μ sub 0\",\"type\":\"standalone\"},{\"name\":\"XBAR\",\"followsDelimiter\":\"/\",\"description\":\"X bar\",\"type\":\"standalone\"},{\"name\":\"XBAR2\",\"followsDelimiter\":\"/\",\"description\":\"X double bar\",\"type\":\"standalone\"},{\"name\":\"XBARPM\",\"followsDelimiter\":\"/\",\"description\":\"X bar prime\",\"type\":\"standalone\"},{\"name\":\"XBAR0\",\"followsDelimiter\":\"/\",\"description\":\"X bar sub 0\",\"type\":\"standalone\"},{\"name\":\"XBAR0PM\",\"followsDelimiter\":\"/\",\"description\":\"X bar prime sub 0\",\"type\":\"standalone\"}]},{\"name\":\"YPCT1=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a percent (ranging from 0 to 100) that determines the length of the vertical axis for the primary chart in proportion to the sum of the lengths of the vertical axes for the primary and secondary charts\",\"help\":\"YPCT1=*value*\",\"type\":\"value\"},{\"name\":\"ZEROSTD\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that a control chart is to be constructed and displayed regardless of whether the estimated process standard deviation is zero\",\"help\":\"ZEROSTD&lt;=NOLIMITS&gt;\",\"type\":\"standaloneOrValue\"},{\"name\":\"ZONE2LABELS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"adds the labels A, B, and C to zone lines requested with the ZONES2 or ZONE2VALUES options\",\"type\":\"standalone\"},{\"name\":\"ZONE2VALUES\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"labels R or s chart zones lines with their values\",\"type\":\"standalone\"},{\"name\":\"ZONELABELS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"adds the labels A, B, and C to zone lines requested with the ZONES or ZONEVALUES options\",\"type\":\"standalone\"},{\"name\":\"ZONES\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"adds lines to a primary chart that delineate zones A, B, and C for standard tests requested with the TESTS= option\",\"type\":\"standalone\"},{\"name\":\"ZONES2\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"adds lines to an R or s chart that delineate zones A, B, and C for tests requested with the TESTS2= option\",\"type\":\"standalone\"},{\"name\":\"ZONEVALPOS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the horizontal position of the ZONEVALUES= and ZONE2VALUES= labels\",\"help\":\"ZONEVALPOS=1 | 2 | 3\",\"type\":\"choice\",\"arguments\":[{\"name\":\"1\",\"followsDelimiter\":\"/\",\"description\":\"left-justifies in subplot area\",\"type\":\"standalone\"},{\"name\":\"2\",\"followsDelimiter\":\"/\",\"description\":\"right-justifies in subplot area\",\"type\":\"standalone\"},{\"name\":\"3\",\"followsDelimiter\":\"/\",\"description\":\"left-justifies in right margin\",\"type\":\"standalone\"}]},{\"name\":\"ZONEVALUES\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"labels the primary chart zones lines with their values\",\"type\":\"standalone\"},{\"name\":\"BLOCKREFTRANSPARENCY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"PHASEREFTRANSPARENCY=\",\"REFFILLTRANSPARENCY=\"],\"description\":\"specifies the wall fill transparency for blocks and phases when transparency is used in ODS Graphics output\",\"help\":\"BLOCKREFTRANSPARENCY=*value*\",\"type\":\"value\"},{\"name\":\"BOXTRANSPARENCY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the box fill transparency for box-and-whisker charts when transparency is used in ODS Graphics output\",\"help\":\"BOXTRANSPARENCY=*value*\",\"type\":\"value\"},{\"name\":\"INFILLTRANSPARENCY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the control limit infill transparency when transparency is used in ODS Graphics output\",\"help\":\"INFILLTRANSPARENCY=*value*\",\"type\":\"value\"},{\"name\":\"MARKERDISPLAY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a subset of subgroups to be plotted with markers on a primary chart that is not an R or s chart\",\"help\":\"MARKERDISPLAY=OOC | UPPER | LOWER | RUNSTEST\",\"type\":\"choice\",\"arguments\":[{\"name\":\"OOC\",\"followsDelimiter\":\"/\",\"description\":\"selects subgroups outside the control limits\",\"type\":\"standalone\"},{\"name\":\"UPPER\",\"followsDelimiter\":\"/\",\"description\":\"selects subgroups above the upper control limit\",\"type\":\"standalone\"},{\"name\":\"LOWER\",\"followsDelimiter\":\"/\",\"description\":\"selects subgroups below the lower control limit\",\"type\":\"standalone\"},{\"name\":\"RUNSTEST\",\"followsDelimiter\":\"/\",\"description\":\"selects subgroups that signal positive tests for special causes\",\"type\":\"standalone\"}]},{\"name\":\"MARKERDISPLAY2=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a subset of subgroups to be plotted with markers on an R or s chart\",\"help\":\"MARKERDISPLAY2=OOC | UPPER | LOWER | RUNSTEST\",\"type\":\"choice\",\"arguments\":[{\"name\":\"OOC\",\"followsDelimiter\":\"/\",\"description\":\"selects subgroups outside the control limits\",\"type\":\"standalone\"},{\"name\":\"UPPER\",\"followsDelimiter\":\"/\",\"description\":\"selects subgroups above the upper control limit\",\"type\":\"standalone\"},{\"name\":\"LOWER\",\"followsDelimiter\":\"/\",\"description\":\"selects subgroups below the lower control limit\",\"type\":\"standalone\"},{\"name\":\"RUNSTEST\",\"followsDelimiter\":\"/\",\"description\":\"selects subgroups that signal positive tests for special causes\",\"type\":\"standalone\"}]},{\"name\":\"MARKERLABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a variable whose values provide labels for the subgroups that are plotted with markers on a primary chart that is not an R or s chart\",\"help\":\"MARKERLABEL=(*variable*)\",\"type\":\"value\"},{\"name\":\"MARKERLABEL2=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a variable whose values provide labels for the subgroups that are plotted with markers on an R or s chart\",\"help\":\"MARKERLABEL2=(*variable*)\",\"type\":\"value\"},{\"name\":\"MARKERMISSINGGROUP=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies whether subgroups with missing symbol-variable values are plotted with a unique marker\",\"help\":\"MARKERMISSINGGROUP=TRUE | FALSE\",\"type\":\"choice\"},{\"name\":\"MARKERS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"plots subgroup points with markers\",\"type\":\"standalone\"},{\"name\":\"NOBLOCKREF\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"NOPHASEREF\",\"NOREF\"],\"description\":\"suppresses block and phase reference lines from ODS Graphics output\",\"type\":\"standalone\"},{\"name\":\"NOBLOCKREFFILL\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"NOPHASEREFFILL\",\"NOREFFILL\"],\"description\":\"suppresses the block and phase wall fills from ODS Graphics output\",\"type\":\"standalone\"},{\"name\":\"NOBOXFILLLEGEND\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"NOFILLLEGEND\",\"NOSTARFILLLEGEND\"],\"description\":\"suppresses the legend for the levels of a BOXFILL= or STARFILL= variable in ODS Graphics output\",\"type\":\"standalone\"},{\"name\":\"NOTRANSPARENCY\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"disables transparency in ODS Graphics output, so that all graph features are opaque\",\"type\":\"standalone\"},{\"name\":\"ODSFOOTNOTE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"adds a footnote to ODS Graphics output\",\"help\":\"ODSFOOTNOTE=FOOTNOTE | FOOTNOTE1 | '*string*'\",\"type\":\"value\"},{\"name\":\"ODSFOOTNOTE2=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"adds a secondary footnote to ODS Graphics output\",\"help\":\"ODSFOOTNOTE2=FOOTNOTE2 | '*string*'\",\"type\":\"value\"},{\"name\":\"ODSLEGENDEXPAND\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that legend entries contain all levels observed in the data\",\"type\":\"standalone\"},{\"name\":\"ODSTITLE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a title for ODS Graphics output\",\"help\":\"ODSTITLE=TITLE | TITLE1 | NONE | DEFAULT | LABELFMT | '*string*'\",\"type\":\"value\"},{\"name\":\"ODSTITLE2=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a secondary title for ODS Graphics output\",\"help\":\"ODSTITLE2=TITLE2 | '*string*'\",\"type\":\"value\"},{\"name\":\"OUTFILLTRANSPARENCY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the control limit outfill transparency when transparency is used in ODS Graphics output\",\"help\":\"OUTFILLTRANSPARENCY=*value*\",\"type\":\"value\"},{\"name\":\"OUTHIGHURL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a variable whose values are URLs to be associated with outlier points above the upper fence on a schematic box chart when ODS Graphics output is directed into HTML\",\"help\":\"OUTHIGHURL=*variable*\",\"type\":\"value\"},{\"name\":\"OUTLOWURL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a variable whose values are URLs to be associated with outlier points below the lower fence on a schematic box chart when ODS Graphics output is directed into HTML\",\"help\":\"OUTLOWURL=*variable*\",\"type\":\"value\"},{\"name\":\"OVERLAY2URL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies variables whose values are URLs to be associated with points on secondary chart overlays\",\"help\":\"OVERLAY2URL=(*variable-list*)\",\"type\":\"value\"},{\"name\":\"OVERLAYURL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies variables whose values are URLs to be associated with points on primary chart overlays\",\"help\":\"OVERLAYURL=(*variable-list*)\",\"type\":\"value\"},{\"name\":\"PHASEBOXLABELS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"draws phase labels as titles along the top of phase boxes\",\"type\":\"standalone\"},{\"name\":\"PHASEPOS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the vertical position of the phase legend\",\"help\":\"PHASEPOS=1 | 2 | 3 | 4\",\"type\":\"choice\",\"arguments\":[{\"name\":\"1\",\"followsDelimiter\":\"/\",\"description\":\"places at top of chart, offset from axis frame\",\"type\":\"standalone\"},{\"name\":\"2\",\"followsDelimiter\":\"/\",\"description\":\"places at top of chart, immediately above axis frame\",\"type\":\"standalone\"},{\"name\":\"3\",\"followsDelimiter\":\"/\",\"description\":\"places at bottom of chart, immediately above horizontal axis\",\"type\":\"standalone\"},{\"name\":\"4\",\"followsDelimiter\":\"/\",\"description\":\"places at bottom of chart, below horizontal axis label\",\"type\":\"standalone\"}]},{\"name\":\"PHASEREFLEVEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"enables you to associate phase reference lines (block reference lines) with either the innermost or the outermost level\",\"help\":\"PHASEREFLEVEL=INNER | OUTER | NONE\",\"type\":\"choice\"},{\"name\":\"QCSYMBOLS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies which set of symbol markers is used to plot points on a control chart\",\"help\":\"QCSYMBOLS=TRUE | FALSE\",\"type\":\"choice\"},{\"name\":\"SIMULATEQCFONT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"draws the central line labels using a simulated software font rather than a hardware font\",\"type\":\"standalone\"},{\"name\":\"STARTRANSPARENCY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the star fill transparency when transparency is used in ODS Graphics output\",\"help\":\"STARTRANSPARENCY=*value*\",\"type\":\"value\"},{\"name\":\"URL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies URLs as values of the specified character variable (or formatted values of a numeric variable) to associate with subgroup points on a primary control chart when ODS Graphics output is directed into HTML\",\"help\":\"URL=*variable*\",\"type\":\"value\"},{\"name\":\"URL2=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies URLs as values of the specified character variable (or formatted values of a numeric variable) to associate with subgroup points on a secondary control chart when ODS Graphics output is directed into HTML\",\"help\":\"URL2=*variable*\",\"type\":\"value\"},{\"name\":\"ANNOTATE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"ANNO=\"],\"description\":\"specifies an ANNOTATE= type data set that enhances a primary chart\",\"help\":\"ANNOTATE=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"ANNOTATE2=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"ANNO2=\"],\"description\":\"specifies an ANNOTATE= type data set that enhances a secondary chart\",\"help\":\"ANNOTATE2=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"BILEVEL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"arranges the Shewhart chart in two levels (rather than the default of one level) so that twice as much data can be displayed on a page or screen\",\"type\":\"standalone\"},{\"name\":\"CAXIS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the color for the axes and tick marks\",\"help\":\"CAXIS=*color*\",\"type\":\"color\"},{\"name\":\"CBLOCKLAB=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies fill colors for the frames that enclose the block-variable labels in a block legend\",\"help\":\"CBLOCKLAB=*color* | (*color-list*)\",\"type\":\"color\"},{\"name\":\"CBLOCKVAR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies variables whose values are colors for filling the background of the legend associated with block-variables\",\"help\":\"CBLOCKVAR=*variable* | (*variable-list*)\",\"type\":\"value\"},{\"name\":\"CCLIP=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a color for the plotting symbol that is specified with the CLIPSYMBOL option to mark clipped points\",\"help\":\"CCLIP=*color*\",\"type\":\"color\"},{\"name\":\"CCONNECT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the color for the line segments connecting points on the chart\",\"help\":\"CCONNECT=*color*\",\"type\":\"color\"},{\"name\":\"CCOVERLAY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the colors for the line segments connecting points on primary chart overlays\",\"help\":\"CCOVERLAY=(*color-list*)\",\"type\":\"color\"},{\"name\":\"CCOVERLAY2=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the colors for the line segments connecting points on secondary chart overlays\",\"help\":\"CCOVERLAY2=(*color-list*)\",\"type\":\"color\"},{\"name\":\"CFRAME=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the colors for filling the rectangle enclosed by the axes and the frame\",\"help\":\"CFRAME=*color* | (*color-list*)\",\"type\":\"color\"},{\"name\":\"CGRID=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the color for the grid requested by the ENDGRID or GRID option\",\"help\":\"CGRID=*color*\",\"type\":\"color\"},{\"name\":\"CHREF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the color for the lines requested by the HREF= and HREF2= options\",\"help\":\"CHREF=*color*\",\"type\":\"color\"},{\"name\":\"CLABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the color for labels produced by the ALLLABEL=, ALLLABEL2=, OUTLABEL=, and OUTLABEL2= options\",\"help\":\"CLABEL=*color*\",\"type\":\"color\"},{\"name\":\"CLIMITS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the color for the control limits, the central line, and the labels for these lines\",\"help\":\"CLIMITS=*color*\",\"type\":\"color\"},{\"name\":\"CLIPLEGPOS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the position for the legend that indicates the number of clipped points when the CLIPFACTOR= option is used\",\"help\":\"CLIPLEGPOS=TOP | BOTTOM\",\"type\":\"choice\"},{\"name\":\"CLIPSYMBOL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a plot symbol used to identify clipped points on the chart and in the legend when the CLIPFACTOR= option is used\",\"help\":\"CLIPSYMBOL=*symbol*\",\"type\":\"value\"},{\"name\":\"CLIPSYMBOLHT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the height for the symbol marker used to identify clipped points on the chart when the CLIPFACTOR= option is used\",\"help\":\"CLIPSYMBOLHT=*value*\",\"type\":\"value\"},{\"name\":\"CNEEDLES=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"requests that points are to be connected to the central line with vertical line segments (needles) and specifies the color of the needles\",\"help\":\"CNEEDLES=*color*\",\"type\":\"color\"},{\"name\":\"COUTFILL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the fill color for the areas outside the control limits that lie between the connected points and the control limits and are bounded by connecting lines\",\"help\":\"COUTFILL=*color*\",\"type\":\"color\"},{\"name\":\"COVERLAY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the colors used to plot primary chart overlay variables specified in the OVERLAY= list\",\"help\":\"COVERLAY=(*color-list*)\",\"type\":\"color\"},{\"name\":\"COVERLAY2=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the colors used to plot secondary chart overlay variables specified in the OVERLAY2= list\",\"help\":\"COVERLAY2=(*color-list*)\",\"type\":\"color\"},{\"name\":\"COVERLAYCLIP=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the color used to plot clipped values on overlay plots when the CLIPFACTOR= option is used\",\"help\":\"COVERLAYCLIP=*color*\",\"type\":\"color\"},{\"name\":\"CPHASELEG=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a text color for the phase labels requested with the PHASELEGEND option\",\"help\":\"CPHASELEG=*color*\",\"type\":\"color\"},{\"name\":\"CSTARCIRCLES=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a color for the circles requested with the STARCIRCLES= option\",\"help\":\"CSTARCIRCLES=*color*\",\"type\":\"color\"},{\"name\":\"CSTARFILL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a color or colors for filling the interior of stars requested with the STARVERTICES= option\",\"help\":\"CSTARFILL=*color* | (*variable*)\",\"type\":\"color\"},{\"name\":\"CSTARS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a color or colors for the outlines of stars requested with the STARVERTICES= option\",\"help\":\"CSTARS=*color* | (*variable*)\",\"type\":\"color\"},{\"name\":\"CTESTLABBOX=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the color for boxes enclosing labels for positive tests for special causes requested with the TESTLABBOX option\",\"help\":\"CTESTLABBOX=*color*\",\"type\":\"color\"},{\"name\":\"CTESTS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies colors for labels indicating points where a test for special causes specified in the TESTS= option is positive\",\"help\":\"CTESTS=*color* | *test-color-list*\",\"type\":\"color\"},{\"name\":\"CTESTSYMBOL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the color of the symbol used to plot subgroups with positive tests for special causes\",\"help\":\"CTESTSYMBOL=*color*\",\"type\":\"color\"},{\"name\":\"CTEXT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the color for tick mark values, axis labels, the sample size legend, and the control limit legend\",\"help\":\"CTEXT=*color*\",\"type\":\"color\"},{\"name\":\"CVREF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the color for reference lines requested by the VREF= and VREF2= options\",\"help\":\"CVREF=*color*\",\"type\":\"color\"},{\"name\":\"CZONES=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"requests lines marking zones A, B, and C for the tests for special causes\",\"help\":\"CZONES=*color*\",\"type\":\"color\"},{\"name\":\"DESCRIPTION=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a description, up to 256 characters long, for the GRSEG catalog entry for the primary chart\",\"help\":\"DESCRIPTION='*string*'\",\"type\":\"value\"},{\"name\":\"DESCRIPTION2=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a description, up to 256 characters long, for the GRSEG catalog entry for the secondary chart\",\"help\":\"DESCRIPTION2='*string*'\",\"type\":\"value\"},{\"name\":\"ENDGRID\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"a grid to the rightmost portion of the chart, beginning with the first labeled major tick mark position that follows the last plotted point\",\"type\":\"standalone\"},{\"name\":\"FONT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a software font for labels and legends\",\"help\":\"FONT=*font*\",\"type\":\"value\"},{\"name\":\"HEIGHT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the height (in vertical screen percent units) of the text for axis labels and legends\",\"help\":\"HEIGHT=*value*\",\"type\":\"value\"},{\"name\":\"HMINOR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the number of (unlabeled) minor tick marks between each major tick mark on the horizontal axis\",\"help\":\"HMINOR=*n*\",\"type\":\"value\"},{\"name\":\"HTML=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a variable whose values create links associated with subgroup points on a primary control chart when traditional graphics output is directed into HTML\",\"help\":\"HTML=*variable*\",\"type\":\"value\"},{\"name\":\"HTML2=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a variable whose values create links associated with subgroup points on a secondary control chart when traditional graphics output is directed into HTML\",\"help\":\"HTML2=*variable*\",\"type\":\"value\"},{\"name\":\"HTML_LEGEND=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies HTML links as values of the specified character variable (or formatted values of a numeric variable)\",\"help\":\"HTML_LEGEND=*variable*\",\"type\":\"value\"},{\"name\":\"LABELANGLE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the angle at which labels requested with the ALLLABEL=, ALLLABEL2=, OUTLABEL=, and OUTLABEL2= options are drawn\",\"help\":\"LABELANGLE=*angle*\",\"type\":\"value\"},{\"name\":\"LABELFONT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"TESTFONT=\"],\"description\":\"specifies a software font for labels requested with the ALLLABEL=, ALLLABEL2=, OUTLABEL=, OUTLABEL2=, STARLABEL=, TESTLABEL=, and TESTLABELn= options\",\"help\":\"LABELFONT=*font*\",\"type\":\"value\"},{\"name\":\"LABELHEIGHT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"TESTHEIGHT=\"],\"description\":\"specifies the height (in vertical percent screen units) for labels requested with the ALLLABEL=, ALLLABEL2=, OUTLABEL=, OUTLABEL2=, STARLABEL=, TESTLABEL=, and TESTLABELn= options\",\"help\":\"LABELHEIGHT=*value*\",\"type\":\"value\"},{\"name\":\"LENDGRID=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the line type for the grid requested with the ENDGRID option\",\"help\":\"LENDGRID=*n*\",\"type\":\"value\"},{\"name\":\"LGRID=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the line type for the grid requested with the GRID option\",\"help\":\"LGRID=*n*\",\"type\":\"value\"},{\"name\":\"LHREF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the line type for reference lines requested with the HREF= and HREF2= options\",\"help\":\"LHREF=*linetype*\",\"type\":\"value\"},{\"name\":\"LLIMITS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the line type for control limits\",\"help\":\"LLIMITS=*linetype*\",\"type\":\"value\"},{\"name\":\"LOVERLAY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies line types for the line segments connecting points on primary chart overlays corresponding to the OVERLAY= list\",\"help\":\"LOVERLAY=(*linetypes*)\",\"type\":\"value\"},{\"name\":\"LOVERLAY2=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies line types for the line segments connecting points on secondary chart overlays corresponding to the OVERLAY2= list\",\"help\":\"LOVERLAY2=(*linetypes*)\",\"type\":\"value\"},{\"name\":\"LSTARCIRCLES=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies one or more line types for the circles requested with the STARCIRCLES= option\",\"help\":\"LSTARCIRCLES=*linetypes*\",\"type\":\"value\"},{\"name\":\"LSTARS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the line types for the outlines of stars requested with the STARVERTICES= option\",\"help\":\"LSTARS=*linetype* | (*variable*)\",\"type\":\"value\"},{\"name\":\"LTESTS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the line type for the line segments that connect patterns of points for which a test for special causes (requested with the TESTS= option) is positive\",\"help\":\"LTESTS=*linetype*\",\"type\":\"value\"},{\"name\":\"LVREF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the line type for reference lines requested by the VREF= and VREF2= options\",\"help\":\"LVREF=*linetype*\",\"type\":\"value\"},{\"name\":\"LZONES=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the line type for lines that delineate zones A, B, and C for standard tests requested with the TESTS= and/or TESTS2= options\",\"help\":\"LZONES=*n*\",\"type\":\"value\"},{\"name\":\"NAME=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the name of the GRSEG catalog entry for the primary chart, and the name of the graphics output file if one is created\",\"help\":\"NAME='*string*'\",\"type\":\"value\"},{\"name\":\"NAME2=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the name of the GRSEG catalog entry for the secondary chart, and the name of the graphics output file if one is created\",\"help\":\"NAME2='*string*'\",\"type\":\"value\"},{\"name\":\"NOFRAME\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses the default frame drawn around the chart\",\"type\":\"standalone\"},{\"name\":\"NOLIMITSFRAME\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses the default frame for the control limit information that is displayed across the top of the chart when multiple sets of control limits with distinct multiples of σ and nominal control limit sample sizes are read from a LIMITS= data set\",\"type\":\"standalone\"},{\"name\":\"NOPHASEFRAME\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses the default frame for the legend requested by the PHASELEGEND option\",\"type\":\"standalone\"},{\"name\":\"NOVANGLE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"requests vertical axis labels that are strung out vertically\",\"type\":\"standalone\"},{\"name\":\"NOVLABEL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses the label for the primary vertical axis\",\"type\":\"standalone\"},{\"name\":\"NOV2LABEL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses the label for the secondary vertical axis\",\"type\":\"standalone\"},{\"name\":\"OUTHIGHHTML=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a variable whose values create links to be associated with outlier points above the upper fence on a schematic box chart when traditional graphics output is directed into HTML\",\"help\":\"OUTHIGHHTML=*variable*\",\"type\":\"value\"},{\"name\":\"OUTLOWHTML=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a variable whose values create links to be associated with outlier points below the lower fence on a schematic box chart when traditional graphics output is directed into HTML\",\"help\":\"OUTLOWHTML=*variable*\",\"type\":\"value\"},{\"name\":\"OVERLAY2HTML=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies variables whose values create links to be associated with points on secondary chart overlays corresponding to the OVERLAY2= list\",\"help\":\"OVERLAY2HTML=(*variable-list*)\",\"type\":\"value\"},{\"name\":\"OVERLAY2SYM=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies symbols used to plot overlays on a secondary control chart corresponding to the OVERLAY2= list\",\"help\":\"OVERLAY2SYM=(*symbol-list*)\",\"type\":\"value\"},{\"name\":\"OVERLAY2SYMHT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the heights of symbols used to plot overlays on a secondary control chart corresponding to the OVERLAY2= list\",\"help\":\"OVERLAY2SYMHT=(*value-list*)\",\"type\":\"value\"},{\"name\":\"OVERLAYCLIPSYM=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the symbol used to plot clipped values on overlay plots when the CLIPFACTOR= option is used\",\"help\":\"OVERLAYCLIPSYM=*symbol*\",\"type\":\"value\"},{\"name\":\"OVERLAYCLIPSYMHT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the height for the symbol used to plot clipped values on overlay plots when the CLIPFACTOR= option is used\",\"help\":\"OVERLAYCLIPSYMHT=*value*\",\"type\":\"value\"},{\"name\":\"OVERLAYHTML=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies variables whose values create links to be associated with points on primary chart overlays corresponding to the OVERLAY= list\",\"help\":\"OVERLAYHTML=(*variable-list*)\",\"type\":\"value\"},{\"name\":\"OVERLAYSYM=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies symbols used to plot overlays on the primary control chart corresponding to the OVERLAY= list\",\"help\":\"OVERLAYSYM=(*symbol-list*)\",\"type\":\"value\"},{\"name\":\"OVERLAYSYMHT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the heights of symbols used to plot overlays on the primary control chart corresponding to the OVERLAY= list\",\"help\":\"OVERLAYSYMHT=(*value-list*)\",\"type\":\"value\"},{\"name\":\"TESTFONT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"LABELFONT=\"],\"description\":\"specifies a software font for labels requested with the ALLLABEL=, ALLLABEL2=, OUTLABEL=, OUTLABEL2=, STARLABEL=, TESTLABEL=, and TESTLABELn= options\",\"help\":\"TESTFONT=*font*\",\"type\":\"value\"},{\"name\":\"TESTHEIGHT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"LABELHEIGHT=\"],\"description\":\"specifies the height (in vertical percent screen units) for labels requested with the ALLLABEL=, ALLLABEL2=, OUTLABEL=, OUTLABEL2=, STARLABEL=, TESTLABEL=, and TESTLABELn= options\",\"help\":\"TESTHEIGHT=*value*\",\"type\":\"value\"},{\"name\":\"TESTSYMBOL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the symbol for plotting subgroups with positive tests for special causes\",\"help\":\"TESTSYMBOL=*symbol*\",\"type\":\"value\"},{\"name\":\"TESTSYMBOLHT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the height of the symbol used to plot subgroups with positive tests for special causes\",\"help\":\"TESTSYMBOLHT=*value*\",\"type\":\"value\"},{\"name\":\"TURNALL\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"TURNOUT\"],\"description\":\"turns the labels produced by the ALLLABEL=, ALLLABEL2=, OUTLABEL=, and OUTLABEL2= options so that they are strung out vertically\",\"type\":\"standalone\"},{\"name\":\"TURNHLABELS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"turns the major tick mark labels for the horizontal (subgroup) axis so that they are strung out vertically\",\"type\":\"standalone\"},{\"name\":\"VMINOR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the number of minor tick marks between each major tick mark on the vertical axis\",\"help\":\"VMINOR=*n*\",\"type\":\"value\"},{\"name\":\"WAXIS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the width in pixels for the axis and frame lines\",\"help\":\"WAXIS=*n*\",\"type\":\"value\"},{\"name\":\"WGRID=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the width in pixels for grid lines requested with the ENDGRID and GRID options\",\"help\":\"WGRID=*n*\",\"type\":\"value\"},{\"name\":\"WLIMITS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the width in pixels for the control limits and central line\",\"help\":\"WLIMITS=*n*\",\"type\":\"value\"},{\"name\":\"WNEEDLES=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the width in pixels of needles connecting plotted points to the central line, as requested with the NEEDLES option\",\"help\":\"WNEEDLES=*n*\",\"type\":\"value\"},{\"name\":\"WOVERLAY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the widths in pixels for the line segments connecting points on primary chart overlay plots corresponding to the OVERLAY= list\",\"help\":\"WOVERLAY=(*value-list*)\",\"type\":\"value\"},{\"name\":\"WOVERLAY2=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the widths in pixels for the line segments connecting points on secondary chart overlay plots corresponding to the OVERLAY2= list\",\"help\":\"WOVERLAY2=(*value-list*)\",\"type\":\"value\"},{\"name\":\"WSTARCIRCLES=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the width in pixels of the outline of circles requested by the STARCIRCLES= option\",\"help\":\"WSTARCIRCLES=*n*\",\"type\":\"value\"},{\"name\":\"WSTARS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the width in pixels of the outline of stars requested by the STARVERTICES= option\",\"help\":\"WSTARS=*n*\",\"type\":\"value\"},{\"name\":\"WTESTS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the width in pixels of the line segments that connect patterns of points for which a test for special causes (requested with the TESTS= or TESTS2= option) is positive\",\"help\":\"WTESTS=*n*\",\"type\":\"value\"}]},{\"name\":\"XSCHART\",\"description\":\"creates X-bar and s charts for subgroup means and standard deviations\",\"help\":\"XSCHART  (processes) * subgroup-variable<(block-variables) <=symbol-variable | ='character'></ options>>;                                              \\nprocess is the name of the variable containing the raw measurements, or the common prefix of the summary variables in the HISTORY= data set, or the value of the variable _VAR_ in the TABLE= data set                     \\nsubgroup-variable is the variable that identifies subgroups in the data                     \\nblock-variables are optional variables that group the data into blocks of consecutive subgroups                     \\nsymbol-variable is an optional variable whose levels (unique values) determine the symbol marker that is used to plot the means and standard deviations                     \\ncharacter is a character that is used to plot the medians when you produce traditional graphics                     \",\"arguments\":[{\"name\":\"ALLLABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"labels every point on the primary chart with the value plotted for that subgroup or with the value of variable in the input data set\",\"help\":\"ALLLABEL=VALUE | (*variable*)\",\"type\":\"value\"},{\"name\":\"ALLLABEL2=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"labels every point on an R, s, or trend chart with the value plotted for that subgroup or with the value of variable in the input data set\",\"help\":\"ALLLABEL2=VALUE | (*variable*)\",\"type\":\"value\"},{\"name\":\"ALLN\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"plots summary statistics for all subgroups, regardless of whether the subgroup sample size equals the nominal control limit sample size n specified by the LIMITN= option or the variable _LIMITN_ in the LIMITS= data set\",\"type\":\"standalone\"},{\"name\":\"ALPHA=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"requests α probability limits instead of 3σ control limits\",\"help\":\"ALPHA=*value*\",\"type\":\"value\"},{\"name\":\"BLOCKLABELPOS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the position of a block-variable label in the block legend\",\"help\":\"BLOCKLABELPOS=ABOVE | LEFT | RIGHT\",\"type\":\"choice\"},{\"name\":\"BLOCKLABTYPE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies how lengthy block variable values are treated when there is insufficient space to display them in the block legend\",\"help\":\"BLOCKLABTYPE=SCALED | TRUNCATED | ROTATE | ROTATEALL | *height*\",\"type\":\"value\"},{\"name\":\"BLOCKPOS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the vertical position of the legend for the values of the block-variables\",\"help\":\"BLOCKPOS=*n*\",\"type\":\"value\"},{\"name\":\"BLOCKREP\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that block variable values for all subgroups are to be displayed\",\"type\":\"standalone\"},{\"name\":\"BLOCKVAR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies variables whose values are used to assign colors for filling the background of the legend associated with block variables\",\"help\":\"BLOCKVAR=*variable* | (*variable-list*)\",\"type\":\"value\"},{\"name\":\"BOXES=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a variable whose values are used to assign colors for the outlines of box-and-whiskers plots\",\"help\":\"BOXES=*variable*\",\"type\":\"value\"},{\"name\":\"BOXFILL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies how box-and-whisker plots are filled with colors from the ODS style\",\"help\":\"BOXFILL=*variable* | NONE | EMPTY\",\"type\":\"value\"},{\"name\":\"CFRAMELAB=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"CFRAMELAB\"],\"description\":\"specifies the color for filling rectangles that frame the point labels displayed with the ALLLABEL=, ALLLABEL2=, OUTLABEL=, and OUTLABEL2= options\",\"help\":\"CFRAMELAB=*color*\",\"type\":\"color\"},{\"name\":\"CIINDICES\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"requests capability index confidence limits based on subgroup summary data, calculated using \\\"effective degrees of freedom\\\"\",\"help\":\"CIINDICES &lt;(&lt;TYPE=*keyword*&gt;&lt;ALPHA=*value*&gt;)&gt;\",\"type\":\"standaloneOrValue\",\"arguments\":[{\"name\":\"TYPE=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the type of confidence limit\",\"help\":\"TYPE=LOWER | UPPER | TWOSIDED\",\"type\":\"choice\"},{\"name\":\"ALPHA=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the default confidence level to compute confidence limits\",\"help\":\"ALPHA=*value*\",\"type\":\"value\"}]},{\"name\":\"CINFILL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the color for the area inside the upper and lower control limits\",\"help\":\"CINFILL=*color* | EMPTY | NONE\",\"type\":\"color\"},{\"name\":\"CLIPFACTOR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"requests clipping of extreme points on the control chart\",\"help\":\"CLIPFACTOR=*factor*\",\"type\":\"value\"},{\"name\":\"CLIPLEGEND=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the label for the legend that indicates the number of clipped points when the CLIPFACTOR= option is used\",\"help\":\"CLIPLEGEND='*label*'\",\"type\":\"value\"},{\"name\":\"CLIPSUBCHAR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a substitution character (such as #) for the label provided with the CLIPLEGEND= option\",\"help\":\"CLIPSUBCHAR='*character*'\",\"type\":\"value\"},{\"name\":\"COUT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the color for the plotting symbols and the portions of connecting line segments that lie outside the control limits\",\"help\":\"COUT&lt;=*color*&gt;\",\"type\":\"standaloneOrValue\"},{\"name\":\"CSTAROUT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a color for those portions of the outlines of stars (requested with the STARVERTICES= option) that exceed the inner or outer circles\",\"help\":\"CSTAROUT&lt;=*color*&gt;\",\"type\":\"standaloneOrValue\"},{\"name\":\"DISCRETE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that numeric subgroup variable values be treated as discrete values, so that each tick value on the default subgroup axis corresponds to a unique subgroup variable value\",\"type\":\"standalone\"},{\"name\":\"EXCHART\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"creates a control chart only when exceptions occur, specifically, when the control limits are exceeded or when any of the tests requested with the TESTS= option or the TESTS2= option are positive\",\"type\":\"standalone\"},{\"name\":\"FRONTREF\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"draws reference lines specified with the HREF= and VREF= options in front of box-and-whiskers plots\",\"type\":\"standalone\"},{\"name\":\"GRID\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"adds a grid to the control chart\",\"type\":\"standalone\"},{\"name\":\"HAXIS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies tick mark values for the horizontal (subgroup) axis\",\"help\":\"HAXIS=*values* | AXIS*n*\",\"type\":\"value\"},{\"name\":\"HOFFSET=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the length of the offset at each end of the horizontal axis\",\"help\":\"HOFFSET=*value*\",\"type\":\"value\"},{\"name\":\"HREF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"draws reference lines perpendicular to the horizontal (subgroup) axis on the primary chart\",\"help\":\"HREF=*values*\",\"type\":\"value\"},{\"name\":\"HREF2=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"draws reference lines perpendicular to the horizontal (subgroup) axis on the secondary chart\",\"help\":\"HREF2=*values*\",\"type\":\"value\"},{\"name\":\"HREF2DATA=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"draws reference lines perpendicular to the horizontal (subgroup) axis on the secondary chart\",\"help\":\"HREF2DATA=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"HREF2LABELS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies labels for the reference lines requested by the HREF2= option\",\"help\":\"HREF2LABELS='*label1*'...'*labeln*'\",\"type\":\"value\"},{\"name\":\"HREFDATA=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"draws reference lines perpendicular to the horizontal (subgroup) axis on the primary chart\",\"help\":\"HREFDATA=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"HREFLABELS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies labels for the reference lines requested by the HREF= option\",\"help\":\"HREFLABELS='*label1*'...'*labeln*'\",\"type\":\"value\"},{\"name\":\"HREFLABPOS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the vertical position of the HREFLABEL= and HREF2LABEL= labels\",\"help\":\"HREFLABPOS=*n*\",\"type\":\"value\",\"arguments\":[{\"name\":\"1\",\"followsDelimiter\":\"/\",\"description\":\"positions along top of subplot area\",\"type\":\"standalone\"},{\"name\":\"2\",\"followsDelimiter\":\"/\",\"description\":\"staggers from top to bottom of subplot area\",\"type\":\"standalone\"},{\"name\":\"3\",\"followsDelimiter\":\"/\",\"description\":\"positions along bottom of subplot area\",\"type\":\"standalone\"},{\"name\":\"4\",\"followsDelimiter\":\"/\",\"description\":\"staggers from bottom to top of subplot area\",\"type\":\"standalone\"}]},{\"name\":\"INDEPENDENTZONES\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"INDEPZONES\"],\"description\":\"specifies that the widths of the zones requested with the ZONES option be computed independently above and below the center line of the chart, so that the width of each zone is one-third of the difference between the process mean and the control limit on its side of the chart\",\"type\":\"standalone\"},{\"name\":\"INTERVAL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the natural time interval between consecutive subgroup positions when a time, date, or datetime format is associated with a numeric subgroup variable\",\"help\":\"INTERVAL=DAY | DTDAY | HOUR | MINUTE | MONTH | QTR | SECOND\",\"type\":\"choice\"},{\"name\":\"INTSTART=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the starting value for a numeric horizontal axis, when a date, time, or datetime format is associated with the subgroup variable\",\"help\":\"INTSTART=*value*\",\"type\":\"value\"},{\"name\":\"LCLLABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a label for the lower control limit in the primary chart\",\"help\":\"LCLLABEL='*label*'\",\"type\":\"value\"},{\"name\":\"LCLLABEL2=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a label for the lower control limit in the secondary chart\",\"help\":\"LCLLABEL2='*label*'\",\"type\":\"value\"},{\"name\":\"LIMITN=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies either a fixed or varying nominal sample size for the control limits\",\"help\":\"LIMITN=*n* | VARYING\",\"type\":\"value\"},{\"name\":\"LIMLABSUBCHAR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a substitution character (such as #) for labels provided as quoted strings with the LCLLABEL=, LCLLABEL2=, UCLLABEL=, UCLLABEL2=, CSYMBOL=, NPSYMBOL=, PSYMBOL=, RSYMBOL=, SSYMBOL=, USYMBOL=, and XSYMBOL= options\",\"help\":\"LIMLABSUBCHAR='*character*'\",\"type\":\"value\"},{\"name\":\"LSL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"provides lower specification limits used to compute capability indices\",\"help\":\"LSL=*value-list*\",\"type\":\"value\"},{\"name\":\"MAXPANELS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the maximum number of pages or screens for a chart\",\"help\":\"MAXPANELS=*n*\",\"type\":\"value\"},{\"name\":\"MISSBREAK\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"determines how subgroups are formed when observations are read from a DATA= data set and a character subgroup-variable is provided\",\"type\":\"standalone\"},{\"name\":\"MU0=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a known (standard) value μ0 for the process mean μ\",\"help\":\"MU0=*value*\",\"type\":\"value\"},{\"name\":\"NDECIMAL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the number of decimal digits in the default labels for the control limits and the central line in the primary chart\",\"help\":\"NDECIMAL=*n*\",\"type\":\"value\"},{\"name\":\"NDECIMAL2=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the number of decimal digits in the default labels for the control limits and central line in a secondary chart\",\"help\":\"NDECIMAL2=*n*\",\"type\":\"value\"},{\"name\":\"NEEDLES\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"connects plotted points to the central line with vertical line segments (needles)\",\"type\":\"standalone\"},{\"name\":\"NMARKERS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"identifies a plotted subgroup summary statistic with a special symbol marker (character) when the corresponding subgroup sample size is not equal to the nominal control limit sample size n\",\"type\":\"standalone\"},{\"name\":\"NO3SIGMACHECK\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses the check for 3σ limits when tests for special causes are requested\",\"type\":\"standalone\"},{\"name\":\"NOBYREF\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that the reference line information in an HREF=, HREF2=, VREF=, or VREF2= data set is to be applied uniformly to charts created for all the BY groups in the input data set (DATA=, HISTORY=, or TABLE=)\",\"type\":\"standalone\"},{\"name\":\"NOCHART\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses the creation of the chart\",\"type\":\"standalone\"},{\"name\":\"NOCHART2\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses the creation of a secondary chart\",\"type\":\"standalone\"},{\"name\":\"NOCONNECT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses line segments that connect points on the chart\",\"type\":\"standalone\"},{\"name\":\"NOCTL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses the display of the central line in a primary chart\",\"type\":\"standalone\"},{\"name\":\"NOCTL2\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses the display of the central line in a secondary chart\",\"type\":\"standalone\"},{\"name\":\"NOHLABEL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses the label for the horizontal (subgroup) axis\",\"type\":\"standalone\"},{\"name\":\"NOLCL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses the display of the lower control limit in a primary chart\",\"type\":\"standalone\"},{\"name\":\"NOLCL2\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses the drawing of the lower control limit in a secondary chart\",\"type\":\"standalone\"},{\"name\":\"NOLEGEND\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses the default legend for subgroup sample sizes, which appears by default below the chart\",\"type\":\"standalone\"},{\"name\":\"NOLIMIT0\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses the display of a fixed lower control limit if and only if the value of the limit is zero\",\"type\":\"standalone\"},{\"name\":\"NOLIMITLABEL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses the default labels for the control limits and central lines\",\"type\":\"standalone\"},{\"name\":\"NOLIMITS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses the display of control limits\",\"type\":\"standalone\"},{\"name\":\"NOLIMITSLEGEND\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses the legend for the control limits, which appears by default in the upper right corner of the chart\",\"type\":\"standalone\"},{\"name\":\"NOOVERLAYLEGEND\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses the legend for overlay variables which is displayed by default when the OVERLAY= or OVERLAY2= option is specified\",\"type\":\"standalone\"},{\"name\":\"NOREADLIMITS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that the control limits for each process listed in the chart statement not be read from the LIMITS= data set specified in the PROC SHEWHART statement\",\"type\":\"standalone\"},{\"name\":\"NOTESTACROSS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that tests for special causes requested with the TESTS= or TESTS2= options not be applied across the boundaries of phases (blocks of consecutive subgroups) determined by the READPHASES= option and the variable _PHASE_ in the input data set\",\"type\":\"standalone\"},{\"name\":\"NOTICKREP\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"applies to character-valued subgroup-variables and specifies that only the first occurrence of repeated, adjacent subgroup values is to be labeled on the horizontal axis\",\"type\":\"standalone\"},{\"name\":\"NOTRUNC\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"overrides the vertical axis truncation at zero, which is applied by default to c charts, moving range charts, np charts, p charts, R charts, s charts, and u charts\",\"type\":\"standalone\"},{\"name\":\"NOUCL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses the display of the upper control limit in a primary chart\",\"type\":\"standalone\"},{\"name\":\"NOUCL2\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses the display of the upper control limit in a secondary chart\",\"type\":\"standalone\"},{\"name\":\"NPANELPOS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the number of subgroup positions per panel on each chart\",\"help\":\"NPANELPOS=*n*\",\"type\":\"value\"},{\"name\":\"OUTFILL\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"COUTFILL\"],\"description\":\"fills the areas outside the control limits that lie between the connected points and the control limits and are bounded by connecting lines\",\"type\":\"standalone\"},{\"name\":\"OUTHISTORY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"creates an output data set that contains the subgroup summary statistics\",\"help\":\"OUTHISTORY=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"OUTINDEX=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the value of the _INDEX_ variable in the OUTLIMITS= output data set\",\"help\":\"OUTINDEX='*label*'\",\"type\":\"value\"},{\"name\":\"OUTLABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"labels each point that falls outside the control limits on the primary chart with the value plotted for that subgroup or with the value of variable in the input data set\",\"help\":\"OUTLABEL=VALUE | (*variable*)\",\"type\":\"value\"},{\"name\":\"OUTLABEL2=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"labels each point that falls outside the control limits on an R or s chart with the value plotted for that subgroup or with the value of variable in the input data set\",\"help\":\"OUTLABEL2=VALUE | (*variable*)\",\"type\":\"value\"},{\"name\":\"OUTLIMITS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"creates an output data set that saves the control limits\",\"help\":\"OUTLIMITS=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"OUTPHASE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the value of the _PHASE_ variable in the OUTHISTORY= data set\",\"help\":\"OUTPHASE='*label*'\",\"type\":\"value\"},{\"name\":\"OUTTABLE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"creates an output SAS data set that saves the information plotted on the chart, including the subgroup variable values and their corresponding summary statistics and control limits\",\"help\":\"OUTTABLE=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"OVERLAY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies variables to be overlaid on the primary control chart\",\"help\":\"OVERLAY=(*variable-list*)\",\"type\":\"value\"},{\"name\":\"OVERLAY2=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies variables to be overlaid on a secondary control chart\",\"help\":\"OVERLAY2=(*variable-list*)\",\"type\":\"value\"},{\"name\":\"OVERLAY2ID=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies variables whose formatted values are used to label points on secondary chart overlays\",\"help\":\"OVERLAY2ID=(*variable-list*)\",\"type\":\"value\"},{\"name\":\"OVERLAYID=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies variables whose formatted values are used to label points on primary chart overlays\",\"help\":\"OVERLAYID=(*variable-list*)\",\"type\":\"value\"},{\"name\":\"OVERLAYLEGLAB=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the label displayed to the left of the legend for overlays requested with the OVERLAY= or OVERLAY2= option\",\"help\":\"OVERLAYLEGLAB='*label*'\",\"type\":\"value\"},{\"name\":\"PAGENUM=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the form of the label used for pagination; for example, 'Page #' or 'Page # of #'\",\"help\":\"PAGENUM='*string*'\",\"type\":\"value\"},{\"name\":\"PAGENUMPOS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies where to position the page number requested with the PAGENUM= option\",\"help\":\"PAGENUMPOS=TL | TR | BL | BR | TL100 | TR100 | BL0 | BR0\",\"type\":\"choice\",\"arguments\":[{\"name\":\"TL\",\"followsDelimiter\":\"/\",\"description\":\"specifies the top left\",\"type\":\"standalone\"},{\"name\":\"TR\",\"followsDelimiter\":\"/\",\"description\":\"specifies the top right\",\"type\":\"standalone\"},{\"name\":\"BL\",\"followsDelimiter\":\"/\",\"description\":\"specifies the bottom left\",\"type\":\"standalone\"},{\"name\":\"BR\",\"followsDelimiter\":\"/\",\"description\":\"specifies the bottom right\",\"type\":\"standalone\"},{\"name\":\"TL100\",\"followsDelimiter\":\"/\",\"description\":\"specifies the very top left\",\"type\":\"standalone\"},{\"name\":\"TR100\",\"followsDelimiter\":\"/\",\"description\":\"specifies the very top right\",\"type\":\"standalone\"},{\"name\":\"BL0\",\"followsDelimiter\":\"/\",\"description\":\"specifies the very bottom left\",\"type\":\"standalone\"},{\"name\":\"BR0\",\"followsDelimiter\":\"/\",\"description\":\"specifies the very bottom right\",\"type\":\"standalone\"}]},{\"name\":\"PHASEBREAK\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that the last point in a phase (defined as a block of consecutive subgroups with the same value of the _PHASE_ variable) is not to be connected to the first point in the next phase\",\"type\":\"standalone\"},{\"name\":\"PHASELABTYPE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies how lengthy _PHASE_ variable values are displayed when there is insufficient space in the legend requested with the PHASELEGEND option\",\"help\":\"PHASELABTYPE=SCALED | TRUNCATED | *height*\",\"type\":\"value\"},{\"name\":\"PHASELEGEND\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"identifies the phases requested with the READPHASES= option in a legend across the top of the chart\",\"type\":\"standalone\"},{\"name\":\"PHASELIMITS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that the control limits and center line be labeled for each phase specified with the READPHASES= option, providing the limits are constant within that phase\",\"type\":\"standalone\"},{\"name\":\"PHASEREF\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"delineates the phases specified with the READPHASES= option with reference lines drawn vertically\",\"type\":\"standalone\"},{\"name\":\"PHASEVARLABEL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"displays the label associated with the variable _PHASE_ above the phase values in the phase legend\",\"type\":\"standalone\"},{\"name\":\"PHASEVALSEP\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"displays vertical lines separating phase values in the phase legend\",\"type\":\"standalone\"},{\"name\":\"RANGES\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"estimates the process standard deviation for a boxplot using subgroup ranges\",\"type\":\"standalone\"},{\"name\":\"READALPHA\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that the variable _ALPHA_, rather than the variable _SIGMAS_, be read from a LIMITS= data set when both variables are available in the data set\",\"type\":\"standalone\"},{\"name\":\"READINDEX=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"reads one or more sets of control limits from a LIMITS= data set (specified in the PROC SHEWHART statement) for each process listed in the chart statement\",\"help\":\"READINDEX=*value-list* | ALL\",\"type\":\"value\"},{\"name\":\"READPHASES=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"selects blocks of consecutive observations to be read from the input data set\",\"help\":\"READPHASES=*value-list* | ALL\",\"type\":\"value\"},{\"name\":\"REPEAT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that the horizontal axis of a chart that spans multiple pages be arranged so that the last subgroup position on a page is repeated as the first subgroup position on the next page\",\"type\":\"standalone\"},{\"name\":\"SEPARATE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"displays primary and secondary charts on separate screens or pages\",\"type\":\"standalone\"},{\"name\":\"SIGMA0=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a known (standard) value σ0 for the process standard deviation σ\",\"help\":\"SIGMA0=*value*\",\"type\":\"value\"},{\"name\":\"SIGMAS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the width of the control limits in terms of the multiple k of the standard error of the mean and standard deviation statistic plotted on the chart\",\"help\":\"SIGMAS=*k*\",\"type\":\"value\"},{\"name\":\"SKIPHLABELS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the number n of consecutive tick mark labels, beginning with the second tick mark label, that are thinned (not displayed) on the horizontal (subgroup) axis\",\"help\":\"SKIPHLABELS=*n*\",\"type\":\"value\"},{\"name\":\"SMETHOD=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a method for estimating the process standard deviation, σ\",\"help\":\"SMETHOD=NOWEIGHT | MVLUE | RMSDF | MVGRANGE \",\"type\":\"choice\",\"arguments\":[{\"name\":\"NOWEIGHT\",\"followsDelimiter\":\"/\",\"description\":\"estimates σ as an unweighted average of unbiased subgroup estimates of σ\",\"type\":\"standalone\"},{\"name\":\"MVLUE\",\"followsDelimiter\":\"/\",\"description\":\"calculates a minimum variance linear unbiased estimate for σ\",\"type\":\"standalone\"},{\"name\":\"RMSDF\",\"followsDelimiter\":\"/\",\"description\":\"calculates a root-mean square estimate for σ\",\"type\":\"standalone\"},{\"name\":\"MVGRANGE\",\"followsDelimiter\":\"/\",\"description\":\"estimates σ based on a moving range of subgroup means\",\"type\":\"standalone\"}]},{\"name\":\"SPLIT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a special character that is inserted into the label of a process variable or summary statistic variable and whose purpose is to split the label into two parts\",\"help\":\"SPLIT='*character*'\",\"type\":\"value\"},{\"name\":\"SSYMBOL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a label for the central line in an s chart\",\"help\":\"SSYMBOL=S | SBAR | SPM | S0 | '*label*'\",\"type\":\"value\",\"arguments\":[{\"name\":\"S\",\"followsDelimiter\":\"/\",\"description\":\"S\",\"type\":\"standalone\"},{\"name\":\"SBAR\",\"followsDelimiter\":\"/\",\"description\":\"S bar\",\"type\":\"standalone\"},{\"name\":\"SPM\",\"followsDelimiter\":\"/\",\"description\":\"S prime\",\"type\":\"standalone\"},{\"name\":\"S0\",\"followsDelimiter\":\"/\",\"description\":\"S sub 0\",\"type\":\"standalone\"}]},{\"name\":\"STARBDRADIUS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the radius of an imaginary circle that is the outer bound for vertices of stars requested with the STARVERTICES= option\",\"help\":\"STARBDRADIUS=*value*\",\"type\":\"value\"},{\"name\":\"STARCIRCLES=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies reference circles that are superimposed on the stars requested with the STARVERTICES= option\",\"help\":\"STARCIRCLES=*values*\",\"type\":\"value\"},{\"name\":\"STARINRADIUS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the inner radius of stars requested with the STARVERTICES= option\",\"help\":\"STARINRADIUS=*value*\",\"type\":\"value\"},{\"name\":\"STARFILL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies colors for filling the interior of stars requested with the STARVERTICES= option\",\"help\":\"STARFILL=*variable*\",\"type\":\"value\"},{\"name\":\"STARLABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a method for labeling the vertices of stars requested with the STARVERTICES= option\",\"help\":\"STARLABEL=ALL | FIRST | HIGH | LOW | OUT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ALL\",\"followsDelimiter\":\"/\",\"description\":\"labels all vertices of all stars\",\"type\":\"standalone\"},{\"name\":\"FIRST\",\"followsDelimiter\":\"/\",\"description\":\"labels all vertices of the leftmost star\",\"type\":\"standalone\"},{\"name\":\"HIGH\",\"followsDelimiter\":\"/\",\"description\":\"labels only vertices that lie outside the outer circle\",\"type\":\"standalone\"},{\"name\":\"LOW\",\"followsDelimiter\":\"/\",\"description\":\"labels only vertices that lie inside the inner circle\",\"type\":\"standalone\"},{\"name\":\"OUT\",\"followsDelimiter\":\"/\",\"description\":\"labels only vertices that lie inside the inner circle or outside the outer circle\",\"type\":\"standalone\"}]},{\"name\":\"STARLEGEND=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the style of the legend used to identify the vertices of stars requested with the STARVERTICES= option\",\"help\":\"STARLEGEND=CLOCK | CLOCK0 | DEGREES | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"CLOCK\",\"followsDelimiter\":\"/\",\"description\":\"identifies the vertex variables by their positions on the clock (starting with 12:00)\",\"type\":\"standalone\"},{\"name\":\"CLOCK0\",\"followsDelimiter\":\"/\",\"description\":\"identifies the vertex variables by their positions on the clock (starting with 0:00)\",\"type\":\"standalone\"},{\"name\":\"DEGREES\",\"followsDelimiter\":\"/\",\"description\":\"identifies the vertex variables by angles in degrees, with 0 degrees corresponding to 12 o'clock\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"followsDelimiter\":\"/\",\"description\":\"suppresses the legend\",\"type\":\"standalone\"}]},{\"name\":\"STARLEGENDLAB=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the label displayed to the left of the legend for stars requested with the STARLEGEND= option\",\"help\":\"STARLEGENDLAB='*label*'\",\"type\":\"value\"},{\"name\":\"STARS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies colors for the outlines of stars requested with the STARVERTICES= option\",\"help\":\"STARS=*variable*\",\"type\":\"value\"},{\"name\":\"STARSPECS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the method used to standardize the star vertex variables listed with the STARVERTICES= option\",\"help\":\"STARSPECS=*value*|*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"STARSTART=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the vertex angle for the first variable in the STARVERTICES= list\",\"help\":\"STARSTART=*value*\",\"type\":\"value\"},{\"name\":\"STARTYPE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the style of the stars requested with the STARVERTICES= option\",\"help\":\"STARTYPE=CORONA | POLYGON | RADIAL | SPOKE | WEDGE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"CORONA\",\"followsDelimiter\":\"/\",\"description\":\"specifies a polygon with star-vertices emanating from the inner circle\",\"type\":\"standalone\"},{\"name\":\"POLYGON\",\"followsDelimiter\":\"/\",\"description\":\"specifies a closed polygon\",\"type\":\"standalone\"},{\"name\":\"RADIAL\",\"followsDelimiter\":\"/\",\"description\":\"draws rays emanating from the center\",\"type\":\"standalone\"},{\"name\":\"SPOKE\",\"followsDelimiter\":\"/\",\"description\":\"draws rays emanating from the inner circle\",\"type\":\"standalone\"},{\"name\":\"WEDGE\",\"followsDelimiter\":\"/\",\"description\":\"specifies a closed polygon with rays from the center to each vertex\",\"type\":\"standalone\"}]},{\"name\":\"STARVERTICES=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"superimposes a star (polygon) at each point on the primary chart\",\"help\":\"STARVERTICES=*variable* | (*variable-list*)\",\"type\":\"value\"},{\"name\":\"SYMBOLLEGEND=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"controls the legend for the levels of a symbol-variable\",\"help\":\"SYMBOLLEGEND=LEGENDn | NONE\",\"type\":\"choice\"},{\"name\":\"SYMBOLORDER=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the order in which symbols are assigned for levels of symbol-variable\",\"help\":\"SYMBOLORDER=DATA | INTERNAL | FORMATTED\",\"type\":\"choice\"},{\"name\":\"TABLES\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"creates a basic table of the subgroup values, the subgroup sample sizes, the subgroup summary statistics, and the upper and lower control limits\",\"help\":\"TABLES &lt;(EXCEPTIONS)&gt;\",\"type\":\"standaloneOrValue\"},{\"name\":\"TABLEALL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"tabulates all the information about the control chart\",\"help\":\"TABLEALL &lt;(EXCEPTIONS)&gt;\",\"type\":\"standaloneOrValue\"},{\"name\":\"TABLECENTRAL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"augments the basic table created by the TABLES option with columns for the values of the central lines\",\"help\":\"TABLECENTRAL &lt;(EXCEPTIONS)&gt;\",\"type\":\"standaloneOrValue\"},{\"name\":\"TABLEID\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"augments the basic table created by the TABLES option with a column for each of the ID variables\",\"help\":\"TABLEID &lt;(EXCEPTIONS)&gt;\",\"type\":\"standaloneOrValue\"},{\"name\":\"TABLELEGEND\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"adds a legend to the basic table created by the TABLE option\",\"help\":\"TABLELEGEND &lt;(EXCEPTIONS)&gt;\",\"type\":\"standaloneOrValue\"},{\"name\":\"TABLEOUTLIM\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"augments the basic table created by the TABLE option with columns indicating which control limits (if any) are exceeded\",\"help\":\"TABLEOUTLIM &lt;(EXCEPTIONS)&gt;\",\"type\":\"standaloneOrValue\"},{\"name\":\"TABLETESTS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"augments the basic table created by the TABLES option with a column that indicates which of the tests for special causes (requested with the TESTS= option) are positive\",\"help\":\"TABLETESTS &lt;(EXCEPTIONS)&gt;\",\"type\":\"standaloneOrValue\"},{\"name\":\"TARGET=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"provides target values used to compute the capability index Cpm, which is saved in the OUTLIMITS= data set\",\"help\":\"TARGET=*value-list*\",\"type\":\"value\"},{\"name\":\"TEST2RESET=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"enables tests for special causes to be reset in a secondary chart\",\"help\":\"TEST2RESET=*variable* | *value*\",\"type\":\"value\"},{\"name\":\"TEST2RUN=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the length of the pattern for Test 2 requested with the TESTS= and TESTS2= options\",\"help\":\"TEST2RUN=7 | 8 | 9 | 11 | 14 | 20\",\"type\":\"choice\",\"arguments\":[{\"name\":\"7\",\"followsDelimiter\":\"/\",\"description\":\"specifies a run-length of 7 in a row on one side of the central line\",\"type\":\"standalone\"},{\"name\":\"8\",\"followsDelimiter\":\"/\",\"description\":\"specifies a run-length of 8 in a row on one side of the central line\",\"type\":\"standalone\"},{\"name\":\"9\",\"followsDelimiter\":\"/\",\"description\":\"specifies a run-length of 9 in a row on one side of the central line\",\"type\":\"standalone\"},{\"name\":\"11\",\"followsDelimiter\":\"/\",\"description\":\"specifies at least 10 out of 11 in a row on one side of the central line\",\"type\":\"standalone\"},{\"name\":\"14\",\"followsDelimiter\":\"/\",\"description\":\"specifies at least 12 out of 14 in a row on one side of the central line\",\"type\":\"standalone\"},{\"name\":\"20\",\"followsDelimiter\":\"/\",\"description\":\"specifies at least 16 out of 20 in a row on one side of the central line\",\"type\":\"standalone\"}]},{\"name\":\"TEST3RUN=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the length of the pattern for Test 3 requested with the TESTS= and TESTS2= options\",\"help\":\"TEST3RUN=6 | 7 | 8\",\"type\":\"choice\",\"arguments\":[{\"name\":\"6\",\"followsDelimiter\":\"/\",\"description\":\"searches for a pattern of steadily increasing or decreasing values with length at least 6\",\"type\":\"standalone\"},{\"name\":\"7\",\"followsDelimiter\":\"/\",\"description\":\"searches for a pattern of steadily increasing or decreasing values with length at least 7\",\"type\":\"standalone\"},{\"name\":\"8\",\"followsDelimiter\":\"/\",\"description\":\"searches for a pattern of steadily increasing or decreasing values with length at least 8\",\"type\":\"standalone\"}]},{\"name\":\"TESTACROSS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that tests for special causes requested with the TESTS= or TESTS2= options be applied without regard to phases (blocks of consecutive subgroups) determined by the READPHASES= option and the variable _PHASE_ in the input data set\",\"type\":\"standalone\"},{\"name\":\"TESTLABBOX\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"requests that labels for subgroups with positive tests for special causes are positioned so they do not overlap\",\"type\":\"standalone\"},{\"name\":\"TESTLABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"provides labels for points at which one of the tests for special causes (requested with the TESTS= or TESTS2= option) is positive\",\"help\":\"TESTLABEL='*label*' | (*variable*) | TESTINDEX | SPACE | NONE\",\"type\":\"value\"},{\"name\":\"TESTLABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a label for points at which the test for special causes requested with the index n in a TESTS= or TESTS2= list is positive\",\"help\":\"TESTLABEL*n*='*label*'\",\"type\":\"value\"},{\"name\":\"TESTNMETHOD=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"applies the tests for special causes requested with the TESTS= and TESTS2= options to standardized test statistics when the subgroup sample sizes are not constant\",\"help\":\"TESTNMETHOD=STANDARDIZE\",\"type\":\"value\"},{\"name\":\"TESTOVERLAP\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"applies tests for special causes (requested with the TESTS= or TESTS2= option) to overlapping patterns of points\",\"type\":\"standalone\"},{\"name\":\"TESTRESET=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"enables tests for special causes to be reset in a primary chart\",\"help\":\"TESTRESET=*variable* | *value*\",\"type\":\"value\"},{\"name\":\"TESTS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"requests one or more tests for special causes, which are also known as runs tests, pattern tests, and Western Electric rules\",\"help\":\"TESTS=*index-list*\",\"type\":\"value\",\"arguments\":[{\"name\":\"1\",\"followsDelimiter\":\"/\",\"description\":\"specifies one point beyond Zone A (outside the control limits)\",\"type\":\"standalone\"},{\"name\":\"2\",\"followsDelimiter\":\"/\",\"description\":\"specifies nine points in a row in Zone C or beyond on one side of the central line\",\"type\":\"standalone\"},{\"name\":\"3\",\"followsDelimiter\":\"/\",\"description\":\"specifies six points in a row steadily increasing\",\"type\":\"standalone\"},{\"name\":\"4\",\"followsDelimiter\":\"/\",\"description\":\"specifies fourteen points in a row alternating up and down\",\"type\":\"standalone\"},{\"name\":\"5\",\"followsDelimiter\":\"/\",\"description\":\"specifies two out of three points in a row in Zone A or beyond\",\"type\":\"standalone\"},{\"name\":\"6\",\"followsDelimiter\":\"/\",\"description\":\"specifies four out of five points in a row in Zone B or beyond\",\"type\":\"standalone\"},{\"name\":\"7\",\"followsDelimiter\":\"/\",\"description\":\"specifies fifteen points in a row in Zone C on either or both sides of the central line\",\"type\":\"standalone\"},{\"name\":\"8\",\"followsDelimiter\":\"/\",\"description\":\"specifies eight points in a row on either or both sides of the central line with no points in Zone C\",\"type\":\"standalone\"}]},{\"name\":\"TESTS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies customized tests for special causes for the primary control chart to search for k out of m points in a row in the interval (a,b)\",\"help\":\"TESTS=T(K=*k* M=*m* LOWER=*a* UPPER=*b* SCHEME=*scheme* CODE=*character* LABEL=*'label'* LEGEND=*'legend'*)\",\"type\":\"value\",\"arguments\":[{\"name\":\"K=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the number of points\",\"help\":\"K=*k*\",\"type\":\"value\"},{\"name\":\"M=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the number of consecutive points\",\"help\":\"M=*m*\",\"type\":\"value\"},{\"name\":\"LOWER=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the lower limit of interval (a,b)\",\"help\":\"LOWER=*value*\",\"type\":\"value\"},{\"name\":\"UPPER=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the upper limit of interval (a,b)\",\"help\":\"UPPER=*value*\",\"type\":\"value\"},{\"name\":\"SCHEME=\",\"followsDelimiter\":\"/\",\"description\":\"specifies a one-sided scheme using (a,b)\",\"help\":\"SCHEME=ONESIDED\",\"type\":\"value\"},{\"name\":\"SCHEME=\",\"followsDelimiter\":\"/\",\"description\":\"specifies a two-sided scheme using (a,b) union (-b,-a)\",\"help\":\"SCHEME=TWOSIDED\",\"type\":\"value\"},{\"name\":\"CODE=\",\"followsDelimiter\":\"/\",\"description\":\"specifies an identifier for test (A--H)\",\"help\":\"CODE=*character*\",\"type\":\"value\"},{\"name\":\"LABEL=\",\"followsDelimiter\":\"/\",\"description\":\"specifies a label for points if signal\",\"help\":\"LABEL=*'label'*\",\"type\":\"value\"},{\"name\":\"LEGEND=\",\"followsDelimiter\":\"/\",\"description\":\"specifies a legend used with the TABLELEGEND option\",\"help\":\"LEGEND=*'legend'*\",\"type\":\"value\"}]},{\"name\":\"TESTS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies customized tests for special causes for the primary control chart to search for k points in a row increasing or decreasing\",\"help\":\"TESTS=M(K=*k* DIR=*direction* CODE=*character* LABEL=*'label'* LEGEND=*'legend'*)\",\"type\":\"value\",\"arguments\":[{\"name\":\"K=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the number of points\",\"help\":\"K=*k*\",\"type\":\"value\"},{\"name\":\"DIR=\",\"followsDelimiter\":\"/\",\"description\":\"specifies an increasing pattern\",\"help\":\"DIR=INC\",\"type\":\"value\"},{\"name\":\"DIR=\",\"followsDelimiter\":\"/\",\"description\":\"specifies a decreasing pattern\",\"help\":\"DIR=DEC\",\"type\":\"value\"},{\"name\":\"CODE=\",\"followsDelimiter\":\"/\",\"description\":\"specifies an identifier for test (A--H)\",\"help\":\"CODE=*character*\",\"type\":\"value\"},{\"name\":\"LABEL=\",\"followsDelimiter\":\"/\",\"description\":\"specifies a label for points if signal\",\"help\":\"LABEL=*'label'*\",\"type\":\"value\"},{\"name\":\"LEGEND=\",\"followsDelimiter\":\"/\",\"description\":\"specifies a legend used with the TABLELEGEND option\",\"help\":\"LEGEND=*'legend'*\",\"type\":\"value\"}]},{\"name\":\"TESTS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies customized tests for special causes for the primary control chart to search for a statistically significant linear trend over a window of k points\",\"help\":\"TESTS=S(K=*k* CLEV=*α* FORM=*character* CODE=*character* LABEL=*'label'* LEGEND=*'legend'*)\",\"type\":\"value\",\"arguments\":[{\"name\":\"K=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the number of points in sliding window (k > 2)\",\"help\":\"K=*k*\",\"type\":\"value\"},{\"name\":\"CLEV=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the Type I (false positive) error rate (0 < α ≤ 0.5)\",\"help\":\"CLEV=*α*\",\"type\":\"value\"},{\"name\":\"FORM=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the type of trend test (P=parametric, N=nonparametric)\",\"help\":\"FORM=*character*\",\"type\":\"value\"},{\"name\":\"CODE=\",\"followsDelimiter\":\"/\",\"description\":\"specifies an identifier for test (A--H)\",\"help\":\"CODE=*character*\",\"type\":\"value\"},{\"name\":\"LABEL=\",\"followsDelimiter\":\"/\",\"description\":\"specifies a label for points if signal\",\"help\":\"LABEL=*'label'*\",\"type\":\"value\"},{\"name\":\"LEGEND=\",\"followsDelimiter\":\"/\",\"description\":\"specifies a legend used with the TABLELEGEND option\",\"help\":\"LEGEND=*'legend'*\",\"type\":\"value\"}]},{\"name\":\"TESTS2=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"requests one or more tests for special causes for an R chart or s chart\",\"help\":\"TESTS2=*index-list*\",\"type\":\"value\",\"arguments\":[{\"name\":\"1\",\"followsDelimiter\":\"/\",\"description\":\"specifies one point beyond Zone A (outside the control limits)\",\"type\":\"standalone\"},{\"name\":\"2\",\"followsDelimiter\":\"/\",\"description\":\"specifies nine points in a row in Zone C or beyond on one side of the central line\",\"type\":\"standalone\"},{\"name\":\"3\",\"followsDelimiter\":\"/\",\"description\":\"specifies six points in a row steadily increasing\",\"type\":\"standalone\"},{\"name\":\"4\",\"followsDelimiter\":\"/\",\"description\":\"specifies fourteen points in a row alternating up and down\",\"type\":\"standalone\"},{\"name\":\"5\",\"followsDelimiter\":\"/\",\"description\":\"specifies two out of three points in a row in Zone A or beyond\",\"type\":\"standalone\"},{\"name\":\"6\",\"followsDelimiter\":\"/\",\"description\":\"specifies four out of five points in a row in Zone B or beyond\",\"type\":\"standalone\"},{\"name\":\"7\",\"followsDelimiter\":\"/\",\"description\":\"specifies fifteen points in a row in Zone C on either or both sides of the central line\",\"type\":\"standalone\"},{\"name\":\"8\",\"followsDelimiter\":\"/\",\"description\":\"specifies eight points in a row on either or both sides of the central line with no points in Zone C\",\"type\":\"standalone\"}]},{\"name\":\"TESTS2=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies customized tests for special causes for the primary control chart to search for k out of m points in a row in the interval (a,b)\",\"help\":\"TESTS2=T(K=*k* M=*m* LOWER=*a* UPPER=*b* SCHEME=*scheme* CODE=*character* LABEL=*'label'* LEGEND=*'legend'*)\",\"type\":\"value\",\"arguments\":[{\"name\":\"K=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the number of points\",\"help\":\"K=*k*\",\"type\":\"value\"},{\"name\":\"M=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the number of consecutive points\",\"help\":\"M=*m*\",\"type\":\"value\"},{\"name\":\"LOWER=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the lower limit of interval (a,b)\",\"help\":\"LOWER=*value*\",\"type\":\"value\"},{\"name\":\"UPPER=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the upper limit of interval (a,b)\",\"help\":\"UPPER=*value*\",\"type\":\"value\"},{\"name\":\"SCHEME=\",\"followsDelimiter\":\"/\",\"description\":\"specifies a one-sided scheme using (a,b)\",\"help\":\"SCHEME=ONESIDED\",\"type\":\"value\"},{\"name\":\"SCHEME=\",\"followsDelimiter\":\"/\",\"description\":\"specifies a two-sided scheme using (a,b) union (-b,-a)\",\"help\":\"SCHEME=TWOSIDED\",\"type\":\"value\"},{\"name\":\"CODE=\",\"followsDelimiter\":\"/\",\"description\":\"specifies an identifier for test (A--H)\",\"help\":\"CODE=*character*\",\"type\":\"value\"},{\"name\":\"LABEL=\",\"followsDelimiter\":\"/\",\"description\":\"specifies a label for points if signal\",\"help\":\"LABEL=*'label'*\",\"type\":\"value\"},{\"name\":\"LEGEND=\",\"followsDelimiter\":\"/\",\"description\":\"specifies a legend used with the TABLELEGEND option\",\"help\":\"LEGEND=*'legend'*\",\"type\":\"value\"}]},{\"name\":\"TESTS2=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies customized tests for special causes for the primary control chart to search for k points in a row increasing or decreasing\",\"help\":\"TESTS2=M(K=*k* DIR=*direction* CODE=*character* LABEL=*'label'* LEGEND=*'legend'*)\",\"type\":\"value\",\"arguments\":[{\"name\":\"K=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the number of points\",\"help\":\"K=*k*\",\"type\":\"value\"},{\"name\":\"DIR=\",\"followsDelimiter\":\"/\",\"description\":\"specifies an increasing pattern\",\"help\":\"DIR=INC\",\"type\":\"value\"},{\"name\":\"DIR=\",\"followsDelimiter\":\"/\",\"description\":\"specifies a decreasing pattern\",\"help\":\"DIR=DEC\",\"type\":\"value\"},{\"name\":\"CODE=\",\"followsDelimiter\":\"/\",\"description\":\"specifies an identifier for test (A--H)\",\"help\":\"CODE=*character*\",\"type\":\"value\"},{\"name\":\"LABEL=\",\"followsDelimiter\":\"/\",\"description\":\"specifies a label for points if signal\",\"help\":\"LABEL=*'label'*\",\"type\":\"value\"},{\"name\":\"LEGEND=\",\"followsDelimiter\":\"/\",\"description\":\"specifies a legend used with the TABLELEGEND option\",\"help\":\"LEGEND=*'legend'*\",\"type\":\"value\"}]},{\"name\":\"TESTS2=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies customized tests for special causes for the primary control chart to search for a statistically significant linear trend over a window of k points\",\"help\":\"TESTS2=S(K=*k* CLEV=*α* FORM=*character* CODE=*character* LABEL=*'label'* LEGEND=*'legend'*)\",\"type\":\"value\",\"arguments\":[{\"name\":\"K=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the number of points in sliding window (k > 2)\",\"help\":\"K=*k*\",\"type\":\"value\"},{\"name\":\"CLEV=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the Type I (false positive) error rate (0 < α ≤ 0.5)\",\"help\":\"CLEV=*α*\",\"type\":\"value\"},{\"name\":\"FORM=\",\"followsDelimiter\":\"/\",\"description\":\"specifies the type of trend test (P=parametric, N=nonparametric)\",\"help\":\"FORM=*character*\",\"type\":\"value\"},{\"name\":\"CODE=\",\"followsDelimiter\":\"/\",\"description\":\"specifies an identifier for test (A--H)\",\"help\":\"CODE=*character*\",\"type\":\"value\"},{\"name\":\"LABEL=\",\"followsDelimiter\":\"/\",\"description\":\"specifies a label for points if signal\",\"help\":\"LABEL=*'label'*\",\"type\":\"value\"},{\"name\":\"LEGEND=\",\"followsDelimiter\":\"/\",\"description\":\"specifies a legend used with the TABLELEGEND option\",\"help\":\"LEGEND=*'legend'*\",\"type\":\"value\"}]},{\"name\":\"TOTPANELS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the total number of panels to be used to display the chart\",\"help\":\"TOTPANELS=*n*\",\"type\":\"value\"},{\"name\":\"TYPE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the value of the _TYPE_ variable in the OUTLIMITS= data set, which in turn indicates whether certain parameter variables in this data set represent estimates or standard (known) values\",\"help\":\"TYPE=ESTIMATE | STDMU | STDSIGMA | STANDARD\",\"type\":\"choice\"},{\"name\":\"UCLLABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a label for the upper control limit in the primary chart\",\"help\":\"UCLLABEL='*label*'\",\"type\":\"value\"},{\"name\":\"UCLLABEL2=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a label for the upper control limit in the secondary chart\",\"help\":\"UCLLABEL2='*label*'\",\"type\":\"value\"},{\"name\":\"USL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"provides upper specification limits used to compute capability indices\",\"help\":\"USL=*value-list*\",\"type\":\"value\"},{\"name\":\"VAXIS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies major tick mark values for the vertical axis of a primary chart\",\"help\":\"VAXIS=*value-list* | AXIS*n*\",\"type\":\"value\"},{\"name\":\"VAXIS2=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies major tick mark values for the vertical axis of a secondary chart\",\"help\":\"VAXIS2=*value-list* | AXIS*n*\",\"type\":\"value\"},{\"name\":\"VFORMAT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a format to be used for displaying tick mark labels on the vertical axis of a primary chart\",\"help\":\"VFORMAT=*format*\",\"type\":\"value\"},{\"name\":\"VFORMAT2=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a format to be used for displaying tick mark labels on the vertical axis of a secondary chart\",\"help\":\"VFORMAT2=*format*\",\"type\":\"value\"},{\"name\":\"VOFFSET=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the length of the offset at each end of the vertical axis\",\"help\":\"VOFFSET=*value*\",\"type\":\"value\"},{\"name\":\"VREF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"draws reference lines perpendicular to the vertical axis on the primary chart\",\"help\":\"VREF=*value-list* | *SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"VREF2=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"draws reference lines perpendicular to the vertical axis on the secondary chart\",\"help\":\"VREF2=*value-list* | *SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"VREF2LABELS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies labels for the reference lines requested by the VREF2= option\",\"help\":\"VREF2LABELS='*label1*'...'*labeln*'\",\"type\":\"value\"},{\"name\":\"VREFLABELS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies labels for the reference lines requested by the VREF= option\",\"help\":\"VREFLABELS='*label1*'...'*labeln*'\",\"type\":\"value\"},{\"name\":\"VREFLABPOS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the horizontal position of the VREFLABELS= and VREF2LABELS= labels\",\"help\":\"VREFLABPOS=1 | 2 | 3\",\"type\":\"choice\",\"arguments\":[{\"name\":\"1\",\"followsDelimiter\":\"/\",\"description\":\"left-justifies in subplot area\",\"type\":\"standalone\"},{\"name\":\"2\",\"followsDelimiter\":\"/\",\"description\":\"right-justifies in subplot area\",\"type\":\"standalone\"},{\"name\":\"3\",\"followsDelimiter\":\"/\",\"description\":\"left-justifies in right margin\",\"type\":\"standalone\"}]},{\"name\":\"VZERO\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"forces the origin to be included in the vertical axis for a primary chart\",\"type\":\"standalone\"},{\"name\":\"VZERO2\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"forces the origin to be included in the vertical axis for a secondary chart\",\"type\":\"standalone\"},{\"name\":\"WESTGARD=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"requests that one or more of the Westgard rules (tests for special causes) be applied\",\"help\":\"WESTGARD=*index-list*\",\"type\":\"value\",\"arguments\":[{\"name\":\"1\",\"followsDelimiter\":\"/\",\"description\":\"specifies one point in Zone A or beyond\",\"type\":\"standalone\"},{\"name\":\"2\",\"followsDelimiter\":\"/\",\"description\":\"specifies one point beyond Zone A (outside the control limits)\",\"type\":\"standalone\"},{\"name\":\"3\",\"followsDelimiter\":\"/\",\"description\":\"specifies two points in a row in Zone A or beyond on the same side of the central line\",\"type\":\"standalone\"},{\"name\":\"4\",\"followsDelimiter\":\"/\",\"description\":\"specifies at least one point in Zone A or beyond on each side of the central line\",\"type\":\"standalone\"},{\"name\":\"5\",\"followsDelimiter\":\"/\",\"description\":\"specifies four points in a row in Zone B or beyond on the same side of the central line\",\"type\":\"standalone\"},{\"name\":\"6\",\"followsDelimiter\":\"/\",\"description\":\"specifies ten points in a row on the same side of the central line\",\"type\":\"standalone\"}]},{\"name\":\"XSYMBOL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a label for the central line in an X-bar chart or a median chart\",\"help\":\"XSYMBOL=MBAR | MTIL | MU | MU0 | XBAR | XBAR2 | XBARPM | XBAR0 | XBAR0PM | '*label*'\",\"type\":\"value\",\"arguments\":[{\"name\":\"MBAR\",\"followsDelimiter\":\"/\",\"description\":\"M bar\",\"type\":\"standalone\"},{\"name\":\"MTIL\",\"followsDelimiter\":\"/\",\"description\":\"M tilde\",\"type\":\"standalone\"},{\"name\":\"MU\",\"followsDelimiter\":\"/\",\"description\":\"μ\",\"type\":\"standalone\"},{\"name\":\"MU0\",\"followsDelimiter\":\"/\",\"description\":\"μ sub 0\",\"type\":\"standalone\"},{\"name\":\"XBAR\",\"followsDelimiter\":\"/\",\"description\":\"X bar\",\"type\":\"standalone\"},{\"name\":\"XBAR2\",\"followsDelimiter\":\"/\",\"description\":\"X double bar\",\"type\":\"standalone\"},{\"name\":\"XBARPM\",\"followsDelimiter\":\"/\",\"description\":\"X bar prime\",\"type\":\"standalone\"},{\"name\":\"XBAR0\",\"followsDelimiter\":\"/\",\"description\":\"X bar sub 0\",\"type\":\"standalone\"},{\"name\":\"XBAR0PM\",\"followsDelimiter\":\"/\",\"description\":\"X bar prime sub 0\",\"type\":\"standalone\"}]},{\"name\":\"YPCT1=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a percent (ranging from 0 to 100) that determines the length of the vertical axis for the primary chart in proportion to the sum of the lengths of the vertical axes for the primary and secondary charts\",\"help\":\"YPCT1=*value*\",\"type\":\"value\"},{\"name\":\"ZEROSTD\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that a control chart is to be constructed and displayed regardless of whether the estimated process standard deviation is zero\",\"help\":\"ZEROSTD&lt;=NOLIMITS&gt;\",\"type\":\"standaloneOrValue\"},{\"name\":\"ZONE2LABELS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"adds the labels A, B, and C to zone lines requested with the ZONES2 or ZONE2VALUES options\",\"type\":\"standalone\"},{\"name\":\"ZONE2VALUES\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"labels R or s chart zones lines with their values\",\"type\":\"standalone\"},{\"name\":\"ZONELABELS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"adds the labels A, B, and C to zone lines requested with the ZONES or ZONEVALUES options\",\"type\":\"standalone\"},{\"name\":\"ZONES\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"adds lines to a primary chart that delineate zones A, B, and C for standard tests requested with the TESTS= option\",\"type\":\"standalone\"},{\"name\":\"ZONES2\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"adds lines to an R or s chart that delineate zones A, B, and C for tests requested with the TESTS2= option\",\"type\":\"standalone\"},{\"name\":\"ZONEVALPOS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the horizontal position of the ZONEVALUES= and ZONE2VALUES= labels\",\"help\":\"ZONEVALPOS=1 | 2 | 3\",\"type\":\"choice\",\"arguments\":[{\"name\":\"1\",\"followsDelimiter\":\"/\",\"description\":\"left-justifies in subplot area\",\"type\":\"standalone\"},{\"name\":\"2\",\"followsDelimiter\":\"/\",\"description\":\"right-justifies in subplot area\",\"type\":\"standalone\"},{\"name\":\"3\",\"followsDelimiter\":\"/\",\"description\":\"left-justifies in right margin\",\"type\":\"standalone\"}]},{\"name\":\"ZONEVALUES\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"labels the primary chart zones lines with their values\",\"type\":\"standalone\"},{\"name\":\"BLOCKREFTRANSPARENCY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"PHASEREFTRANSPARENCY=\",\"REFFILLTRANSPARENCY=\"],\"description\":\"specifies the wall fill transparency for blocks and phases when transparency is used in ODS Graphics output\",\"help\":\"BLOCKREFTRANSPARENCY=*value*\",\"type\":\"value\"},{\"name\":\"BOXTRANSPARENCY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the box fill transparency for box-and-whisker charts when transparency is used in ODS Graphics output\",\"help\":\"BOXTRANSPARENCY=*value*\",\"type\":\"value\"},{\"name\":\"INFILLTRANSPARENCY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the control limit infill transparency when transparency is used in ODS Graphics output\",\"help\":\"INFILLTRANSPARENCY=*value*\",\"type\":\"value\"},{\"name\":\"MARKERDISPLAY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a subset of subgroups to be plotted with markers on a primary chart that is not an R or s chart\",\"help\":\"MARKERDISPLAY=OOC | UPPER | LOWER | RUNSTEST\",\"type\":\"choice\",\"arguments\":[{\"name\":\"OOC\",\"followsDelimiter\":\"/\",\"description\":\"selects subgroups outside the control limits\",\"type\":\"standalone\"},{\"name\":\"UPPER\",\"followsDelimiter\":\"/\",\"description\":\"selects subgroups above the upper control limit\",\"type\":\"standalone\"},{\"name\":\"LOWER\",\"followsDelimiter\":\"/\",\"description\":\"selects subgroups below the lower control limit\",\"type\":\"standalone\"},{\"name\":\"RUNSTEST\",\"followsDelimiter\":\"/\",\"description\":\"selects subgroups that signal positive tests for special causes\",\"type\":\"standalone\"}]},{\"name\":\"MARKERDISPLAY2=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a subset of subgroups to be plotted with markers on an R or s chart\",\"help\":\"MARKERDISPLAY2=OOC | UPPER | LOWER | RUNSTEST\",\"type\":\"choice\",\"arguments\":[{\"name\":\"OOC\",\"followsDelimiter\":\"/\",\"description\":\"selects subgroups outside the control limits\",\"type\":\"standalone\"},{\"name\":\"UPPER\",\"followsDelimiter\":\"/\",\"description\":\"selects subgroups above the upper control limit\",\"type\":\"standalone\"},{\"name\":\"LOWER\",\"followsDelimiter\":\"/\",\"description\":\"selects subgroups below the lower control limit\",\"type\":\"standalone\"},{\"name\":\"RUNSTEST\",\"followsDelimiter\":\"/\",\"description\":\"selects subgroups that signal positive tests for special causes\",\"type\":\"standalone\"}]},{\"name\":\"MARKERLABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a variable whose values provide labels for the subgroups that are plotted with markers on a primary chart that is not an R or s chart\",\"help\":\"MARKERLABEL=(*variable*)\",\"type\":\"value\"},{\"name\":\"MARKERLABEL2=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a variable whose values provide labels for the subgroups that are plotted with markers on an R or s chart\",\"help\":\"MARKERLABEL2=(*variable*)\",\"type\":\"value\"},{\"name\":\"MARKERMISSINGGROUP=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies whether subgroups with missing symbol-variable values are plotted with a unique marker\",\"help\":\"MARKERMISSINGGROUP=TRUE | FALSE\",\"type\":\"choice\"},{\"name\":\"MARKERS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"plots subgroup points with markers\",\"type\":\"standalone\"},{\"name\":\"NOBLOCKREF\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"NOPHASEREF\",\"NOREF\"],\"description\":\"suppresses block and phase reference lines from ODS Graphics output\",\"type\":\"standalone\"},{\"name\":\"NOBLOCKREFFILL\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"NOPHASEREFFILL\",\"NOREFFILL\"],\"description\":\"suppresses the block and phase wall fills from ODS Graphics output\",\"type\":\"standalone\"},{\"name\":\"NOBOXFILLLEGEND\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"NOFILLLEGEND\",\"NOSTARFILLLEGEND\"],\"description\":\"suppresses the legend for the levels of a BOXFILL= or STARFILL= variable in ODS Graphics output\",\"type\":\"standalone\"},{\"name\":\"NOTRANSPARENCY\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"disables transparency in ODS Graphics output, so that all graph features are opaque\",\"type\":\"standalone\"},{\"name\":\"ODSFOOTNOTE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"adds a footnote to ODS Graphics output\",\"help\":\"ODSFOOTNOTE=FOOTNOTE | FOOTNOTE1 | '*string*'\",\"type\":\"value\"},{\"name\":\"ODSFOOTNOTE2=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"adds a secondary footnote to ODS Graphics output\",\"help\":\"ODSFOOTNOTE2=FOOTNOTE2 | '*string*'\",\"type\":\"value\"},{\"name\":\"ODSLEGENDEXPAND\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that legend entries contain all levels observed in the data\",\"type\":\"standalone\"},{\"name\":\"ODSTITLE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a title for ODS Graphics output\",\"help\":\"ODSTITLE=TITLE | TITLE1 | NONE | DEFAULT | LABELFMT | '*string*'\",\"type\":\"value\"},{\"name\":\"ODSTITLE2=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a secondary title for ODS Graphics output\",\"help\":\"ODSTITLE2=TITLE2 | '*string*'\",\"type\":\"value\"},{\"name\":\"OUTFILLTRANSPARENCY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the control limit outfill transparency when transparency is used in ODS Graphics output\",\"help\":\"OUTFILLTRANSPARENCY=*value*\",\"type\":\"value\"},{\"name\":\"OUTHIGHURL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a variable whose values are URLs to be associated with outlier points above the upper fence on a schematic box chart when ODS Graphics output is directed into HTML\",\"help\":\"OUTHIGHURL=*variable*\",\"type\":\"value\"},{\"name\":\"OUTLOWURL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a variable whose values are URLs to be associated with outlier points below the lower fence on a schematic box chart when ODS Graphics output is directed into HTML\",\"help\":\"OUTLOWURL=*variable*\",\"type\":\"value\"},{\"name\":\"OVERLAY2URL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies variables whose values are URLs to be associated with points on secondary chart overlays\",\"help\":\"OVERLAY2URL=(*variable-list*)\",\"type\":\"value\"},{\"name\":\"OVERLAYURL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies variables whose values are URLs to be associated with points on primary chart overlays\",\"help\":\"OVERLAYURL=(*variable-list*)\",\"type\":\"value\"},{\"name\":\"PHASEBOXLABELS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"draws phase labels as titles along the top of phase boxes\",\"type\":\"standalone\"},{\"name\":\"PHASEPOS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the vertical position of the phase legend\",\"help\":\"PHASEPOS=1 | 2 | 3 | 4\",\"type\":\"choice\",\"arguments\":[{\"name\":\"1\",\"followsDelimiter\":\"/\",\"description\":\"places at top of chart, offset from axis frame\",\"type\":\"standalone\"},{\"name\":\"2\",\"followsDelimiter\":\"/\",\"description\":\"places at top of chart, immediately above axis frame\",\"type\":\"standalone\"},{\"name\":\"3\",\"followsDelimiter\":\"/\",\"description\":\"places at bottom of chart, immediately above horizontal axis\",\"type\":\"standalone\"},{\"name\":\"4\",\"followsDelimiter\":\"/\",\"description\":\"places at bottom of chart, below horizontal axis label\",\"type\":\"standalone\"}]},{\"name\":\"PHASEREFLEVEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"enables you to associate phase reference lines (block reference lines) with either the innermost or the outermost level\",\"help\":\"PHASEREFLEVEL=INNER | OUTER | NONE\",\"type\":\"choice\"},{\"name\":\"QCSYMBOLS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies which set of symbol markers is used to plot points on a control chart\",\"help\":\"QCSYMBOLS=TRUE | FALSE\",\"type\":\"choice\"},{\"name\":\"SIMULATEQCFONT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"draws the central line labels using a simulated software font rather than a hardware font\",\"type\":\"standalone\"},{\"name\":\"STARTRANSPARENCY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the star fill transparency when transparency is used in ODS Graphics output\",\"help\":\"STARTRANSPARENCY=*value*\",\"type\":\"value\"},{\"name\":\"URL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies URLs as values of the specified character variable (or formatted values of a numeric variable) to associate with subgroup points on a primary control chart when ODS Graphics output is directed into HTML\",\"help\":\"URL=*variable*\",\"type\":\"value\"},{\"name\":\"URL2=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies URLs as values of the specified character variable (or formatted values of a numeric variable) to associate with subgroup points on a secondary control chart when ODS Graphics output is directed into HTML\",\"help\":\"URL2=*variable*\",\"type\":\"value\"},{\"name\":\"ANNOTATE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"ANNO=\"],\"description\":\"specifies an ANNOTATE= type data set that enhances a primary chart\",\"help\":\"ANNOTATE=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"ANNOTATE2=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"ANNO2=\"],\"description\":\"specifies an ANNOTATE= type data set that enhances a secondary chart\",\"help\":\"ANNOTATE2=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"BILEVEL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"arranges the Shewhart chart in two levels (rather than the default of one level) so that twice as much data can be displayed on a page or screen\",\"type\":\"standalone\"},{\"name\":\"CAXIS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the color for the axes and tick marks\",\"help\":\"CAXIS=*color*\",\"type\":\"color\"},{\"name\":\"CBLOCKLAB=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies fill colors for the frames that enclose the block-variable labels in a block legend\",\"help\":\"CBLOCKLAB=*color* | (*color-list*)\",\"type\":\"color\"},{\"name\":\"CBLOCKVAR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies variables whose values are colors for filling the background of the legend associated with block-variables\",\"help\":\"CBLOCKVAR=*variable* | (*variable-list*)\",\"type\":\"value\"},{\"name\":\"CCLIP=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a color for the plotting symbol that is specified with the CLIPSYMBOL option to mark clipped points\",\"help\":\"CCLIP=*color*\",\"type\":\"color\"},{\"name\":\"CCONNECT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the color for the line segments connecting points on the chart\",\"help\":\"CCONNECT=*color*\",\"type\":\"color\"},{\"name\":\"CCOVERLAY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the colors for the line segments connecting points on primary chart overlays\",\"help\":\"CCOVERLAY=(*color-list*)\",\"type\":\"color\"},{\"name\":\"CCOVERLAY2=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the colors for the line segments connecting points on secondary chart overlays\",\"help\":\"CCOVERLAY2=(*color-list*)\",\"type\":\"color\"},{\"name\":\"CFRAME=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the colors for filling the rectangle enclosed by the axes and the frame\",\"help\":\"CFRAME=*color* | (*color-list*)\",\"type\":\"color\"},{\"name\":\"CGRID=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the color for the grid requested by the ENDGRID or GRID option\",\"help\":\"CGRID=*color*\",\"type\":\"color\"},{\"name\":\"CHREF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the color for the lines requested by the HREF= and HREF2= options\",\"help\":\"CHREF=*color*\",\"type\":\"color\"},{\"name\":\"CLABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the color for labels produced by the ALLLABEL=, ALLLABEL2=, OUTLABEL=, and OUTLABEL2= options\",\"help\":\"CLABEL=*color*\",\"type\":\"color\"},{\"name\":\"CLIMITS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the color for the control limits, the central line, and the labels for these lines\",\"help\":\"CLIMITS=*color*\",\"type\":\"color\"},{\"name\":\"CLIPLEGPOS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the position for the legend that indicates the number of clipped points when the CLIPFACTOR= option is used\",\"help\":\"CLIPLEGPOS=TOP | BOTTOM\",\"type\":\"choice\"},{\"name\":\"CLIPSYMBOL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a plot symbol used to identify clipped points on the chart and in the legend when the CLIPFACTOR= option is used\",\"help\":\"CLIPSYMBOL=*symbol*\",\"type\":\"value\"},{\"name\":\"CLIPSYMBOLHT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the height for the symbol marker used to identify clipped points on the chart when the CLIPFACTOR= option is used\",\"help\":\"CLIPSYMBOLHT=*value*\",\"type\":\"value\"},{\"name\":\"CNEEDLES=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"requests that points are to be connected to the central line with vertical line segments (needles) and specifies the color of the needles\",\"help\":\"CNEEDLES=*color*\",\"type\":\"color\"},{\"name\":\"COUTFILL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the fill color for the areas outside the control limits that lie between the connected points and the control limits and are bounded by connecting lines\",\"help\":\"COUTFILL=*color*\",\"type\":\"color\"},{\"name\":\"COVERLAY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the colors used to plot primary chart overlay variables specified in the OVERLAY= list\",\"help\":\"COVERLAY=(*color-list*)\",\"type\":\"color\"},{\"name\":\"COVERLAY2=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the colors used to plot secondary chart overlay variables specified in the OVERLAY2= list\",\"help\":\"COVERLAY2=(*color-list*)\",\"type\":\"color\"},{\"name\":\"COVERLAYCLIP=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the color used to plot clipped values on overlay plots when the CLIPFACTOR= option is used\",\"help\":\"COVERLAYCLIP=*color*\",\"type\":\"color\"},{\"name\":\"CPHASELEG=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a text color for the phase labels requested with the PHASELEGEND option\",\"help\":\"CPHASELEG=*color*\",\"type\":\"color\"},{\"name\":\"CSTARCIRCLES=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a color for the circles requested with the STARCIRCLES= option\",\"help\":\"CSTARCIRCLES=*color*\",\"type\":\"color\"},{\"name\":\"CSTARFILL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a color or colors for filling the interior of stars requested with the STARVERTICES= option\",\"help\":\"CSTARFILL=*color* | (*variable*)\",\"type\":\"color\"},{\"name\":\"CSTARS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a color or colors for the outlines of stars requested with the STARVERTICES= option\",\"help\":\"CSTARS=*color* | (*variable*)\",\"type\":\"color\"},{\"name\":\"CTESTLABBOX=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the color for boxes enclosing labels for positive tests for special causes requested with the TESTLABBOX option\",\"help\":\"CTESTLABBOX=*color*\",\"type\":\"color\"},{\"name\":\"CTESTS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies colors for labels indicating points where a test for special causes specified in the TESTS= option is positive\",\"help\":\"CTESTS=*color* | *test-color-list*\",\"type\":\"color\"},{\"name\":\"CTESTSYMBOL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the color of the symbol used to plot subgroups with positive tests for special causes\",\"help\":\"CTESTSYMBOL=*color*\",\"type\":\"color\"},{\"name\":\"CTEXT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the color for tick mark values, axis labels, the sample size legend, and the control limit legend\",\"help\":\"CTEXT=*color*\",\"type\":\"color\"},{\"name\":\"CVREF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the color for reference lines requested by the VREF= and VREF2= options\",\"help\":\"CVREF=*color*\",\"type\":\"color\"},{\"name\":\"CZONES=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"requests lines marking zones A, B, and C for the tests for special causes\",\"help\":\"CZONES=*color*\",\"type\":\"color\"},{\"name\":\"DESCRIPTION=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a description, up to 256 characters long, for the GRSEG catalog entry for the primary chart\",\"help\":\"DESCRIPTION='*string*'\",\"type\":\"value\"},{\"name\":\"DESCRIPTION2=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a description, up to 256 characters long, for the GRSEG catalog entry for the secondary chart\",\"help\":\"DESCRIPTION2='*string*'\",\"type\":\"value\"},{\"name\":\"ENDGRID\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"a grid to the rightmost portion of the chart, beginning with the first labeled major tick mark position that follows the last plotted point\",\"type\":\"standalone\"},{\"name\":\"FONT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a software font for labels and legends\",\"help\":\"FONT=*font*\",\"type\":\"value\"},{\"name\":\"HEIGHT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the height (in vertical screen percent units) of the text for axis labels and legends\",\"help\":\"HEIGHT=*value*\",\"type\":\"value\"},{\"name\":\"HMINOR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the number of (unlabeled) minor tick marks between each major tick mark on the horizontal axis\",\"help\":\"HMINOR=*n*\",\"type\":\"value\"},{\"name\":\"HTML=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a variable whose values create links associated with subgroup points on a primary control chart when traditional graphics output is directed into HTML\",\"help\":\"HTML=*variable*\",\"type\":\"value\"},{\"name\":\"HTML2=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a variable whose values create links associated with subgroup points on a secondary control chart when traditional graphics output is directed into HTML\",\"help\":\"HTML2=*variable*\",\"type\":\"value\"},{\"name\":\"HTML_LEGEND=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies HTML links as values of the specified character variable (or formatted values of a numeric variable)\",\"help\":\"HTML_LEGEND=*variable*\",\"type\":\"value\"},{\"name\":\"LABELANGLE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the angle at which labels requested with the ALLLABEL=, ALLLABEL2=, OUTLABEL=, and OUTLABEL2= options are drawn\",\"help\":\"LABELANGLE=*angle*\",\"type\":\"value\"},{\"name\":\"LABELFONT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"TESTFONT=\"],\"description\":\"specifies a software font for labels requested with the ALLLABEL=, ALLLABEL2=, OUTLABEL=, OUTLABEL2=, STARLABEL=, TESTLABEL=, and TESTLABELn= options\",\"help\":\"LABELFONT=*font*\",\"type\":\"value\"},{\"name\":\"LABELHEIGHT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"TESTHEIGHT=\"],\"description\":\"specifies the height (in vertical percent screen units) for labels requested with the ALLLABEL=, ALLLABEL2=, OUTLABEL=, OUTLABEL2=, STARLABEL=, TESTLABEL=, and TESTLABELn= options\",\"help\":\"LABELHEIGHT=*value*\",\"type\":\"value\"},{\"name\":\"LENDGRID=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the line type for the grid requested with the ENDGRID option\",\"help\":\"LENDGRID=*n*\",\"type\":\"value\"},{\"name\":\"LGRID=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the line type for the grid requested with the GRID option\",\"help\":\"LGRID=*n*\",\"type\":\"value\"},{\"name\":\"LHREF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the line type for reference lines requested with the HREF= and HREF2= options\",\"help\":\"LHREF=*linetype*\",\"type\":\"value\"},{\"name\":\"LLIMITS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the line type for control limits\",\"help\":\"LLIMITS=*linetype*\",\"type\":\"value\"},{\"name\":\"LOVERLAY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies line types for the line segments connecting points on primary chart overlays corresponding to the OVERLAY= list\",\"help\":\"LOVERLAY=(*linetypes*)\",\"type\":\"value\"},{\"name\":\"LOVERLAY2=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies line types for the line segments connecting points on secondary chart overlays corresponding to the OVERLAY2= list\",\"help\":\"LOVERLAY2=(*linetypes*)\",\"type\":\"value\"},{\"name\":\"LSTARCIRCLES=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies one or more line types for the circles requested with the STARCIRCLES= option\",\"help\":\"LSTARCIRCLES=*linetypes*\",\"type\":\"value\"},{\"name\":\"LSTARS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the line types for the outlines of stars requested with the STARVERTICES= option\",\"help\":\"LSTARS=*linetype* | (*variable*)\",\"type\":\"value\"},{\"name\":\"LTESTS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the line type for the line segments that connect patterns of points for which a test for special causes (requested with the TESTS= option) is positive\",\"help\":\"LTESTS=*linetype*\",\"type\":\"value\"},{\"name\":\"LVREF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the line type for reference lines requested by the VREF= and VREF2= options\",\"help\":\"LVREF=*linetype*\",\"type\":\"value\"},{\"name\":\"LZONES=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the line type for lines that delineate zones A, B, and C for standard tests requested with the TESTS= and/or TESTS2= options\",\"help\":\"LZONES=*n*\",\"type\":\"value\"},{\"name\":\"NAME=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the name of the GRSEG catalog entry for the primary chart, and the name of the graphics output file if one is created\",\"help\":\"NAME='*string*'\",\"type\":\"value\"},{\"name\":\"NAME2=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the name of the GRSEG catalog entry for the secondary chart, and the name of the graphics output file if one is created\",\"help\":\"NAME2='*string*'\",\"type\":\"value\"},{\"name\":\"NOFRAME\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses the default frame drawn around the chart\",\"type\":\"standalone\"},{\"name\":\"NOLIMITSFRAME\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses the default frame for the control limit information that is displayed across the top of the chart when multiple sets of control limits with distinct multiples of σ and nominal control limit sample sizes are read from a LIMITS= data set\",\"type\":\"standalone\"},{\"name\":\"NOPHASEFRAME\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses the default frame for the legend requested by the PHASELEGEND option\",\"type\":\"standalone\"},{\"name\":\"NOVANGLE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"requests vertical axis labels that are strung out vertically\",\"type\":\"standalone\"},{\"name\":\"NOVLABEL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses the label for the primary vertical axis\",\"type\":\"standalone\"},{\"name\":\"NOV2LABEL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses the label for the secondary vertical axis\",\"type\":\"standalone\"},{\"name\":\"OUTHIGHHTML=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a variable whose values create links to be associated with outlier points above the upper fence on a schematic box chart when traditional graphics output is directed into HTML\",\"help\":\"OUTHIGHHTML=*variable*\",\"type\":\"value\"},{\"name\":\"OUTLOWHTML=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a variable whose values create links to be associated with outlier points below the lower fence on a schematic box chart when traditional graphics output is directed into HTML\",\"help\":\"OUTLOWHTML=*variable*\",\"type\":\"value\"},{\"name\":\"OVERLAY2HTML=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies variables whose values create links to be associated with points on secondary chart overlays corresponding to the OVERLAY2= list\",\"help\":\"OVERLAY2HTML=(*variable-list*)\",\"type\":\"value\"},{\"name\":\"OVERLAY2SYM=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies symbols used to plot overlays on a secondary control chart corresponding to the OVERLAY2= list\",\"help\":\"OVERLAY2SYM=(*symbol-list*)\",\"type\":\"value\"},{\"name\":\"OVERLAY2SYMHT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the heights of symbols used to plot overlays on a secondary control chart corresponding to the OVERLAY2= list\",\"help\":\"OVERLAY2SYMHT=(*value-list*)\",\"type\":\"value\"},{\"name\":\"OVERLAYCLIPSYM=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the symbol used to plot clipped values on overlay plots when the CLIPFACTOR= option is used\",\"help\":\"OVERLAYCLIPSYM=*symbol*\",\"type\":\"value\"},{\"name\":\"OVERLAYCLIPSYMHT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the height for the symbol used to plot clipped values on overlay plots when the CLIPFACTOR= option is used\",\"help\":\"OVERLAYCLIPSYMHT=*value*\",\"type\":\"value\"},{\"name\":\"OVERLAYHTML=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies variables whose values create links to be associated with points on primary chart overlays corresponding to the OVERLAY= list\",\"help\":\"OVERLAYHTML=(*variable-list*)\",\"type\":\"value\"},{\"name\":\"OVERLAYSYM=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies symbols used to plot overlays on the primary control chart corresponding to the OVERLAY= list\",\"help\":\"OVERLAYSYM=(*symbol-list*)\",\"type\":\"value\"},{\"name\":\"OVERLAYSYMHT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the heights of symbols used to plot overlays on the primary control chart corresponding to the OVERLAY= list\",\"help\":\"OVERLAYSYMHT=(*value-list*)\",\"type\":\"value\"},{\"name\":\"TESTFONT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"LABELFONT=\"],\"description\":\"specifies a software font for labels requested with the ALLLABEL=, ALLLABEL2=, OUTLABEL=, OUTLABEL2=, STARLABEL=, TESTLABEL=, and TESTLABELn= options\",\"help\":\"TESTFONT=*font*\",\"type\":\"value\"},{\"name\":\"TESTHEIGHT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"LABELHEIGHT=\"],\"description\":\"specifies the height (in vertical percent screen units) for labels requested with the ALLLABEL=, ALLLABEL2=, OUTLABEL=, OUTLABEL2=, STARLABEL=, TESTLABEL=, and TESTLABELn= options\",\"help\":\"TESTHEIGHT=*value*\",\"type\":\"value\"},{\"name\":\"TESTSYMBOL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the symbol for plotting subgroups with positive tests for special causes\",\"help\":\"TESTSYMBOL=*symbol*\",\"type\":\"value\"},{\"name\":\"TESTSYMBOLHT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the height of the symbol used to plot subgroups with positive tests for special causes\",\"help\":\"TESTSYMBOLHT=*value*\",\"type\":\"value\"},{\"name\":\"TURNALL\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"TURNOUT\"],\"description\":\"turns the labels produced by the ALLLABEL=, ALLLABEL2=, OUTLABEL=, and OUTLABEL2= options so that they are strung out vertically\",\"type\":\"standalone\"},{\"name\":\"TURNHLABELS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"turns the major tick mark labels for the horizontal (subgroup) axis so that they are strung out vertically\",\"type\":\"standalone\"},{\"name\":\"VMINOR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the number of minor tick marks between each major tick mark on the vertical axis\",\"help\":\"VMINOR=*n*\",\"type\":\"value\"},{\"name\":\"WAXIS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the width in pixels for the axis and frame lines\",\"help\":\"WAXIS=*n*\",\"type\":\"value\"},{\"name\":\"WGRID=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the width in pixels for grid lines requested with the ENDGRID and GRID options\",\"help\":\"WGRID=*n*\",\"type\":\"value\"},{\"name\":\"WLIMITS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the width in pixels for the control limits and central line\",\"help\":\"WLIMITS=*n*\",\"type\":\"value\"},{\"name\":\"WNEEDLES=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the width in pixels of needles connecting plotted points to the central line, as requested with the NEEDLES option\",\"help\":\"WNEEDLES=*n*\",\"type\":\"value\"},{\"name\":\"WOVERLAY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the widths in pixels for the line segments connecting points on primary chart overlay plots corresponding to the OVERLAY= list\",\"help\":\"WOVERLAY=(*value-list*)\",\"type\":\"value\"},{\"name\":\"WOVERLAY2=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the widths in pixels for the line segments connecting points on secondary chart overlay plots corresponding to the OVERLAY2= list\",\"help\":\"WOVERLAY2=(*value-list*)\",\"type\":\"value\"},{\"name\":\"WSTARCIRCLES=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the width in pixels of the outline of circles requested by the STARCIRCLES= option\",\"help\":\"WSTARCIRCLES=*n*\",\"type\":\"value\"},{\"name\":\"WSTARS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the width in pixels of the outline of stars requested by the STARVERTICES= option\",\"help\":\"WSTARS=*n*\",\"type\":\"value\"},{\"name\":\"WTESTS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the width in pixels of the line segments that connect patterns of points for which a test for special causes (requested with the TESTS= or TESTS2= option) is positive\",\"help\":\"WTESTS=*n*\",\"type\":\"value\"}]},{\"name\":\"INSET\",\"description\":\"places a table of summary statistics directly in a primary Shewhart chart\",\"help\":\"INSET *keywords*&lt;/ options&gt;;                                              \",\"arguments\":[{\"name\":\"DATA\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that data coordinates are to be used in positioning the inset with the POSITION= option.\",\"type\":\"standalone\"},{\"name\":\"FORMAT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"\",\"help\":\"FORMAT=*format*\",\"type\":\"value\"},{\"name\":\"HEADER=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the header text\",\"help\":\"HEADER= *'string'*\",\"type\":\"value\"},{\"name\":\"HEIGHT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the height of the text in the inset\",\"help\":\"HEIGHT=*value*\",\"type\":\"value\"},{\"name\":\"HEIGHT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the height of the text in the inset\",\"help\":\"HEIGHT=SMALL\",\"type\":\"value\"},{\"name\":\"NOFRAME\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses the frame drawn around the text\",\"type\":\"standalone\"},{\"name\":\"POSITION=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"determines the position of the inset as a compass point keyword (N, NE, E, SE, S, SW, W, and NW) or a pair of coordinates (x,y)\",\"help\":\"POSITION=*position*\",\"type\":\"value\"},{\"name\":\"REFPOINT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the reference point for an inset that is positioned by a pair of coordinates with the POSITION= option\",\"help\":\"REFPOINT=BR | BL | TR | TL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"BR\",\"followsDelimiter\":\"/\",\"description\":\"specifies the bottom right\",\"type\":\"standalone\"},{\"name\":\"BL\",\"followsDelimiter\":\"/\",\"description\":\"specifies the bottom left\",\"type\":\"standalone\"},{\"name\":\"TR\",\"followsDelimiter\":\"/\",\"description\":\"specifies the top right\",\"type\":\"standalone\"},{\"name\":\"TL\",\"followsDelimiter\":\"/\",\"description\":\"specifies the top left\",\"type\":\"standalone\"}]},{\"name\":\"HTRANSPARENCY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the inset header background transparency in ODS Graphics output\",\"help\":\"HTRANSPARENCY=*value*\",\"type\":\"value\"},{\"name\":\"TRANSPARENCY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the inset background transparency in ODS Graphics output\",\"help\":\"TRANSPARENCY=*value*\",\"type\":\"value\"},{\"name\":\"CFILL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the color of the background for traditional graphics\",\"help\":\"CFILL=*color*\",\"type\":\"color\"},{\"name\":\"CFILL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies no color for the background of traditional graphics\",\"help\":\"CFILL=BLANK\",\"type\":\"value\"},{\"name\":\"CFILLH=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the color of the header background for traditional graphics\",\"help\":\"CFILLH=*color*\",\"type\":\"color\"},{\"name\":\"CFRAME=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the color of the frame for traditional graphics\",\"help\":\"CFRAME=*color*\",\"type\":\"color\"},{\"name\":\"CHEADER=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the color of the header text for traditional graphics\",\"help\":\"CHEADER=*color*\",\"type\":\"color\"},{\"name\":\"CSHADOW=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the color of the drop shadow for traditional graphics\",\"help\":\"CSHADOW=*color*\",\"type\":\"color\"},{\"name\":\"CTEXT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the color of the text for traditional graphics\",\"help\":\"CTEXT=*color*\",\"type\":\"color\"},{\"name\":\"FONT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the font used for the text in the inset for traditional graphics\",\"help\":\"FONT=*font*\",\"type\":\"value\"},{\"name\":\"DATA=\",\"optional\":true,\"description\":\"reads (label, value) pairs\",\"help\":\"DATA=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"LCL\",\"optional\":true,\"description\":\"requests the primary chart lower control limit\",\"type\":\"standalone\"},{\"name\":\"MEAN\",\"optional\":true,\"description\":\"requests the estimated or specified process mean\",\"type\":\"standalone\"},{\"name\":\"N\",\"optional\":true,\"description\":\"requests the nominal subgroup size\",\"type\":\"standalone\"},{\"name\":\"NMIN\",\"optional\":true,\"description\":\"requests the minimum subgroup size\",\"help\":\"NMIN \",\"type\":\"standalone\"},{\"name\":\"NMAX\",\"optional\":true,\"description\":\"requests the maximum subgroup size\",\"type\":\"standalone\"},{\"name\":\"NOUT\",\"optional\":true,\"description\":\"requests the number of subgroups outside control limits on primary chart\",\"type\":\"standalone\"},{\"name\":\"NLOW\",\"optional\":true,\"description\":\"requests the number of subgroups below lower control limit on primary chart\",\"type\":\"standalone\"},{\"name\":\"NHIGH\",\"optional\":true,\"description\":\"requests the number of subgroups above upper control limit on primary chart\",\"type\":\"standalone\"},{\"name\":\"NTESTS\",\"optional\":true,\"description\":\"requests the number of positive results of tests for special causes on primary chart\",\"help\":\"NTESTS*test-index-list*\",\"type\":\"value\"},{\"name\":\"STDDEV\",\"optional\":true,\"description\":\"requests the estimated or specified process standard deviation\",\"type\":\"standalone\"},{\"name\":\"UCL\",\"optional\":true,\"description\":\"requests the primary chart lower control limit\",\"type\":\"standalone\"},{\"name\":\"LCL2\",\"optional\":true,\"description\":\"requests the secondary chart lower control limit\",\"type\":\"standalone\"},{\"name\":\"MEAN2\",\"optional\":true,\"description\":\"requests the mean of subgroup ranges or standard deviations\",\"type\":\"standalone\"},{\"name\":\"NOUT2\",\"optional\":true,\"description\":\"requests the number of subgroups outside control limits on secondary chart\",\"type\":\"standalone\"},{\"name\":\"NLOW2\",\"optional\":true,\"description\":\"requests the number of subgroups below lower control limit on secondary chart\",\"type\":\"standalone\"},{\"name\":\"NHIGH2\",\"optional\":true,\"description\":\"requests the number of subgroups above upper control limit on secondary chart\",\"type\":\"standalone\"},{\"name\":\"NTESTS2\",\"optional\":true,\"description\":\"requests the number of positive results of tests for special causes on secondary chart\",\"help\":\"NTESTS2*test-index-list*\",\"type\":\"value\"},{\"name\":\"UCL2\",\"optional\":true,\"description\":\"requests the secondary chart upper control limit\",\"type\":\"standalone\"},{\"name\":\"LSL\",\"optional\":true,\"description\":\"specifies the lower specification limit\",\"type\":\"standalone\"},{\"name\":\"USL\",\"optional\":true,\"description\":\"specifies the upper specification limit\",\"type\":\"standalone\"},{\"name\":\"TARGET\",\"optional\":true,\"description\":\"requests the target value\",\"type\":\"standalone\"},{\"name\":\"CIALPHA\",\"optional\":true,\"description\":\"requests the α value for computing capability index confidence limits\",\"type\":\"standalone\"},{\"name\":\"CP\",\"optional\":true,\"description\":\"requests the capability index Cp\",\"type\":\"standalone\"},{\"name\":\"CPLCL\",\"optional\":true,\"description\":\"specifies the lower confidence limit for Cp\",\"type\":\"standalone\"},{\"name\":\"CPUCL\",\"optional\":true,\"description\":\"specifies the upper confidence limit for Cp\",\"type\":\"standalone\"},{\"name\":\"CPK\",\"optional\":true,\"description\":\"requests the capability index Cpk\",\"type\":\"standalone\"},{\"name\":\"CPKLCL\",\"optional\":true,\"description\":\"specifies the lower confidence limit for Cpk\",\"type\":\"standalone\"},{\"name\":\"CPKUCL\",\"optional\":true,\"description\":\"specifies the upper confidence limit for Cpk\",\"type\":\"standalone\"},{\"name\":\"CPL\",\"optional\":true,\"description\":\"requests the capability index CPL\",\"type\":\"standalone\"},{\"name\":\"CPLLCL\",\"optional\":true,\"description\":\"specifies the lower confidence limit for CPL\",\"type\":\"standalone\"},{\"name\":\"CPLUCL\",\"optional\":true,\"description\":\"specifies the upper confidence limit for CPL\",\"type\":\"standalone\"},{\"name\":\"CPM\",\"optional\":true,\"description\":\"requests the capability index Cpm\",\"type\":\"standalone\"},{\"name\":\"CPMLCL\",\"optional\":true,\"description\":\"specifies the lower confidence limit for Cpm\",\"type\":\"standalone\"},{\"name\":\"CPMUCL\",\"optional\":true,\"description\":\"specifies the upper confidence interval for Cpm\",\"type\":\"standalone\"},{\"name\":\"CPU\",\"optional\":true,\"description\":\"requests the capability index CPU\",\"type\":\"standalone\"},{\"name\":\"CPULCL\",\"optional\":true,\"description\":\"specifies the lower confidence limit for CPU\",\"type\":\"standalone\"},{\"name\":\"CPUUCL\",\"optional\":true,\"description\":\"specifies the upper confidence limit for CPU\",\"type\":\"standalone\"},{\"name\":\"TESTLEGEND\",\"optional\":true,\"description\":\"requests a legend of positive tests for special causes (ODS Graphics)\",\"type\":\"standalone\"},{\"name\":\"UMU\",\"optional\":true,\"description\":\"requests the estimated or specified process mean (ODS Graphics)\",\"type\":\"standalone\"},{\"name\":\"USIGMA\",\"optional\":true,\"description\":\"requests the estimated or specified process standard deviation (ODS Graphics)\",\"type\":\"standalone\"}]},{\"name\":\"INSET2\",\"description\":\"places a table of summary statistics directly in a secondary Shewhart chart generated by an IRCHART, MRCHART, XRCHART or XSCHART statement or by the TRENDVAR= option\",\"help\":\"INSET2 *keyword-list*&lt;/ options&gt;;                                              \",\"arguments\":[{\"name\":\"DATA\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that data coordinates are to be used in positioning the inset with the POSITION= option.\",\"type\":\"standalone\"},{\"name\":\"FORMAT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"\",\"help\":\"FORMAT=*format*\",\"type\":\"value\"},{\"name\":\"HEADER=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the header text\",\"help\":\"HEADER= *'string'*\",\"type\":\"value\"},{\"name\":\"HEIGHT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the height of the text in the inset\",\"help\":\"HEIGHT=*value*\",\"type\":\"value\"},{\"name\":\"HEIGHT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the height of the text in the inset\",\"help\":\"HEIGHT=SMALL\",\"type\":\"value\"},{\"name\":\"NOFRAME\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses the frame drawn around the text\",\"type\":\"standalone\"},{\"name\":\"POSITION=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"determines the position of the inset as a compass point keyword (N, NE, E, SE, S, SW, W, and NW) or a pair of coordinates (x,y)\",\"help\":\"POSITION=*position*\",\"type\":\"value\"},{\"name\":\"REFPOINT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the reference point for an inset that is positioned by a pair of coordinates with the POSITION= option\",\"help\":\"REFPOINT=BR | BL | TR | TL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"BR\",\"followsDelimiter\":\"/\",\"description\":\"specifies the bottom right\",\"type\":\"standalone\"},{\"name\":\"BL\",\"followsDelimiter\":\"/\",\"description\":\"specifies the bottom left\",\"type\":\"standalone\"},{\"name\":\"TR\",\"followsDelimiter\":\"/\",\"description\":\"specifies the top right\",\"type\":\"standalone\"},{\"name\":\"TL\",\"followsDelimiter\":\"/\",\"description\":\"specifies the top left\",\"type\":\"standalone\"}]},{\"name\":\"HTRANSPARENCY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the inset header background transparency in ODS Graphics output\",\"help\":\"HTRANSPARENCY=*value*\",\"type\":\"value\"},{\"name\":\"TRANSPARENCY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the inset background transparency in ODS Graphics output\",\"help\":\"TRANSPARENCY=*value*\",\"type\":\"value\"},{\"name\":\"CFILL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the color of the background for traditional graphics\",\"help\":\"CFILL=*color*\",\"type\":\"color\"},{\"name\":\"CFILL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies no color for the background of traditional graphics\",\"help\":\"CFILL=BLANK\",\"type\":\"value\"},{\"name\":\"CFILLH=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the color of the header background for traditional graphics\",\"help\":\"CFILLH=*color*\",\"type\":\"color\"},{\"name\":\"CFRAME=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the color of the frame for traditional graphics\",\"help\":\"CFRAME=*color*\",\"type\":\"color\"},{\"name\":\"CHEADER=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the color of the header text for traditional graphics\",\"help\":\"CHEADER=*color*\",\"type\":\"color\"},{\"name\":\"CSHADOW=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the color of the drop shadow for traditional graphics\",\"help\":\"CSHADOW=*color*\",\"type\":\"color\"},{\"name\":\"CTEXT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the color of the text for traditional graphics\",\"help\":\"CTEXT=*color*\",\"type\":\"color\"},{\"name\":\"FONT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the font used for the text in the inset for traditional graphics\",\"help\":\"FONT=*font*\",\"type\":\"value\"},{\"name\":\"DATA=\",\"optional\":true,\"description\":\"reads (label, value) pairs\",\"help\":\"DATA=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"LCL\",\"optional\":true,\"description\":\"requests the primary chart lower control limit\",\"type\":\"standalone\"},{\"name\":\"MEAN\",\"optional\":true,\"description\":\"requests the estimated or specified process mean\",\"type\":\"standalone\"},{\"name\":\"N\",\"optional\":true,\"description\":\"requests the nominal subgroup size\",\"type\":\"standalone\"},{\"name\":\"NMIN\",\"optional\":true,\"description\":\"requests the minimum subgroup size\",\"help\":\"NMIN \",\"type\":\"standalone\"},{\"name\":\"NMAX\",\"optional\":true,\"description\":\"requests the maximum subgroup size\",\"type\":\"standalone\"},{\"name\":\"NOUT\",\"optional\":true,\"description\":\"requests the number of subgroups outside control limits on primary chart\",\"type\":\"standalone\"},{\"name\":\"NLOW\",\"optional\":true,\"description\":\"requests the number of subgroups below lower control limit on primary chart\",\"type\":\"standalone\"},{\"name\":\"NHIGH\",\"optional\":true,\"description\":\"requests the number of subgroups above upper control limit on primary chart\",\"type\":\"standalone\"},{\"name\":\"NTESTS\",\"optional\":true,\"description\":\"requests the number of positive results of tests for special causes on primary chart\",\"help\":\"NTESTS*test-index-list*\",\"type\":\"value\"},{\"name\":\"STDDEV\",\"optional\":true,\"description\":\"requests the estimated or specified process standard deviation\",\"type\":\"standalone\"},{\"name\":\"UCL\",\"optional\":true,\"description\":\"requests the primary chart lower control limit\",\"type\":\"standalone\"},{\"name\":\"LCL2\",\"optional\":true,\"description\":\"requests the secondary chart lower control limit\",\"type\":\"standalone\"},{\"name\":\"MEAN2\",\"optional\":true,\"description\":\"requests the mean of subgroup ranges or standard deviations\",\"type\":\"standalone\"},{\"name\":\"NOUT2\",\"optional\":true,\"description\":\"requests the number of subgroups outside control limits on secondary chart\",\"type\":\"standalone\"},{\"name\":\"NLOW2\",\"optional\":true,\"description\":\"requests the number of subgroups below lower control limit on secondary chart\",\"type\":\"standalone\"},{\"name\":\"NHIGH2\",\"optional\":true,\"description\":\"requests the number of subgroups above upper control limit on secondary chart\",\"type\":\"standalone\"},{\"name\":\"NTESTS2\",\"optional\":true,\"description\":\"requests the number of positive results of tests for special causes on secondary chart\",\"help\":\"NTESTS2*test-index-list*\",\"type\":\"value\"},{\"name\":\"UCL2\",\"optional\":true,\"description\":\"requests the secondary chart upper control limit\",\"type\":\"standalone\"},{\"name\":\"LSL\",\"optional\":true,\"description\":\"specifies the lower specification limit\",\"type\":\"standalone\"},{\"name\":\"USL\",\"optional\":true,\"description\":\"specifies the upper specification limit\",\"type\":\"standalone\"},{\"name\":\"TARGET\",\"optional\":true,\"description\":\"requests the target value\",\"type\":\"standalone\"},{\"name\":\"CIALPHA\",\"optional\":true,\"description\":\"requests the α value for computing capability index confidence limits\",\"type\":\"standalone\"},{\"name\":\"CP\",\"optional\":true,\"description\":\"requests the capability index Cp\",\"type\":\"standalone\"},{\"name\":\"CPLCL\",\"optional\":true,\"description\":\"specifies the lower confidence limit for Cp\",\"type\":\"standalone\"},{\"name\":\"CPUCL\",\"optional\":true,\"description\":\"specifies the upper confidence limit for Cp\",\"type\":\"standalone\"},{\"name\":\"CPK\",\"optional\":true,\"description\":\"requests the capability index Cpk\",\"type\":\"standalone\"},{\"name\":\"CPKLCL\",\"optional\":true,\"description\":\"specifies the lower confidence limit for Cpk\",\"type\":\"standalone\"},{\"name\":\"CPKUCL\",\"optional\":true,\"description\":\"specifies the upper confidence limit for Cpk\",\"type\":\"standalone\"},{\"name\":\"CPL\",\"optional\":true,\"description\":\"requests the capability index CPL\",\"type\":\"standalone\"},{\"name\":\"CPLLCL\",\"optional\":true,\"description\":\"specifies the lower confidence limit for CPL\",\"type\":\"standalone\"},{\"name\":\"CPLUCL\",\"optional\":true,\"description\":\"specifies the upper confidence limit for CPL\",\"type\":\"standalone\"},{\"name\":\"CPM\",\"optional\":true,\"description\":\"requests the capability index Cpm\",\"type\":\"standalone\"},{\"name\":\"CPMLCL\",\"optional\":true,\"description\":\"specifies the lower confidence limit for Cpm\",\"type\":\"standalone\"},{\"name\":\"CPMUCL\",\"optional\":true,\"description\":\"specifies the upper confidence interval for Cpm\",\"type\":\"standalone\"},{\"name\":\"CPU\",\"optional\":true,\"description\":\"requests the capability index CPU\",\"type\":\"standalone\"},{\"name\":\"CPULCL\",\"optional\":true,\"description\":\"specifies the lower confidence limit for CPU\",\"type\":\"standalone\"},{\"name\":\"CPUUCL\",\"optional\":true,\"description\":\"specifies the upper confidence limit for CPU\",\"type\":\"standalone\"},{\"name\":\"TESTLEGEND\",\"optional\":true,\"description\":\"requests a legend of positive tests for special causes (ODS Graphics)\",\"type\":\"standalone\"},{\"name\":\"UMU\",\"optional\":true,\"description\":\"requests the estimated or specified process mean (ODS Graphics)\",\"type\":\"standalone\"},{\"name\":\"USIGMA\",\"optional\":true,\"description\":\"requests the estimated or specified process standard deviation (ODS Graphics)\",\"type\":\"standalone\"}]}],\"supportSiteInformation\":{\"docsetId\":\"qcug\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"qcug_shewhart_toc.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/SIM2D.json",
    "content": "{\"name\":\"SIM2D\",\"statements\":[{\"name\":\"PROC SIM2D\",\"description\":\"The SIM2D procedure uses an LU decomposition technique to produce a spatial simulation for a Gaussian random field with a specified mean and covariance structure in two dimensions. † The simulation can be conditional or unconditional. If it is conditional, a set of coordinates and associated field values are read from a SAS data set. The resulting simulation honors these data values. † You can specify the mean structure as a quadratic function in the coordinates. Specify the semivariance by naming the form and supplying the associated parameters, or by using the contents of an item store file that was previously created by PROC VARIOGRAM. † PROC SIM2D can handle anisotropic and nested semivariogram models. Seven covariance models are supported: Gaussian, exponential, spherical, cubic, pentaspherical, sine hole effect, and Matérn. A single nugget effect is also supported.\",\"help\":\"PROC SIM2D <DATA=SAS-data-set><NARROW><NOPRINT><OUTSIM=SAS-data-set><PLOTS=ALL | EQUATE | NONE... >;     \\n\\tBY <DESCENDING><NOTSORTED> ;\\n\\n\\tCOORDINATES <XCOORD=(variable-name)><YCOORD=(variable-name)> ;\\n\\n\\tGRID <GRIDDATA=SAS-data-set><XCOORD=(variable-name)><YCOORD=(variable-name)> ...;\\n\\n\\tID variable ;\\n\\n\\tMEAN <CONST=var1><CX=var2><QDATA= SAS-data-set> ...;\\n\\n\\tRESTORE IN=store-name <INFO <( info-options )>> ;\\n\\n\\tSIMULATE <ANGLE=angle | ANGLE=(angle-1,...,angle-k)><NUMREAL=number><VAR=(variable-name)> ...;\\n\",\"arguments\":[{\"name\":\"DATA=\",\"optional\":true,\"description\":\"Specifies a SAS data set containing the x and y coordinate variables and the VAR= variables in the SIMULATE statement.\",\"help\":\"DATA=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"NARROW\",\"optional\":true,\"description\":\"Restricts the variables included in the OUTSIM= data set.\",\"type\":\"standalone\"},{\"name\":\"NOPRINT\",\"optional\":true,\"description\":\"Suppresses the normal display of results.\",\"type\":\"standalone\"},{\"name\":\"OUTSIM=\",\"optional\":true,\"description\":\"Specifies a SAS data set in which to store the simulation values, iteration number, simulate statement label, variable name, and grid location.\",\"help\":\"OUTSIM=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"PLOTS=\",\"optional\":true,\"description\":\"Syntax: PLOTS <(global-plot-option)> <= plot-request <(options)>> PLOTS <(global-plot-option)> <= (plot-request <(options)> <... plot-request <(options)>>)> Controls the plots produced through ODS Graphics. The following global-plot-option is available:\",\"help\":\"PLOTS=ALL | EQUATE | NONE | OBSERVATIONS | MEANS\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ALL\",\"description\":\"Produces all appropriate plots.\",\"type\":\"standalone\"},{\"name\":\"EQUATE\",\"description\":\"Specifies that all appropriate plots be produced in a way that the axes coordinates have equal size units.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"Suppresses all plots.\",\"type\":\"standalone\"},{\"name\":\"OBSERVATIONS\",\"aliases\":[\"OBSERV\",\"OBS\"],\"description\":\"[Syntax: OBSERVATIONS<(observations-plot-options)>] Produces the observed data plot, with the following suboptions: GRADIENT specifies that observations be displayed as circles colored by the observed measurement. OUTLINE specifies that observations be displayed as circles with a border but with a completely transparent fill. OUTLINEGRADIENT is the same as OBSERVATIONS(GRADIENT) except that a border is shown around each observation. SHOWMISSING specifies that observations with missing values be displayed in addition to the observations with nonmissing values.\",\"type\":\"standalone\"},{\"name\":\"MEANS\",\"description\":\"[Syntax: MEANS<(means-plot-options)>] Specifies that a plot of the means and standard deviations of the simulation realizations at each grid point be produced, with the following prediction-plot-options: FILL=NONE | PRED | SE produces a surface plot for either the predicted values or the standard deviations. LINE=NONE | PRED | SE produces a contour line plot for either the predicted values or the standard deviations. OBS=obs-options produces an overlaid scatter plot of the observations in addition to the specified contour plots. The following obs-options are available: GRAD specifies that observations be displayed as circles colored by the observed measurement. LINEGRAD is the same as OBS=GRAD except that a border is shown around each observation. NONE specifies that no observations be displayed. OUTL specifies that observations be displayed as circles with a border but with a completely transparent fill.\",\"type\":\"standalone\"}]}]},{\"name\":\"BY\",\"description\":\"You can specify a BY statement with PROC SIM2D to obtain separate analyses on observations in groups that are defined by the BY variables. When a BY statement appears, the procedure expects the input data set to be sorted in order of the BY variables. If you specify more than one BY statement, only the last one specified is used.\",\"help\":\"BY &lt;DESCENDING&gt;&lt;NOTSORTED&gt;\",\"arguments\":[{\"name\":\"DESCENDING\",\"optional\":true,\"description\":\"Specifies that the observations are sorted in descending order by the variable that immediately follows the word DESCENDING in the BY statement.\",\"type\":\"standalone\"},{\"name\":\"NOTSORTED\",\"optional\":true,\"description\":\"Specifies that observations are not necessarily sorted in alphabetic or numeric order.\",\"type\":\"standalone\"}]},{\"name\":\"COORDINATES\",\"description\":\"Only one COORDINATES statement is allowed, and it is applied to all SIMULATE statements that have the VAR= specification. In other words, it is assumed that all the VAR= variables in all SIMULATE statements have the same x and y coordinates.\",\"help\":\"COORDINATES &lt;XCOORD=(variable-name)&gt;&lt;YCOORD=(variable-name)&gt;\",\"arguments\":[{\"name\":\"XCOORD=\",\"optional\":true,\"aliases\":[\"XC=\"],\"description\":\"Gives the name of the variable containing the x coordinate of the data in the DATA= data set.\",\"type\":\"value\"},{\"name\":\"YCOORD=\",\"optional\":true,\"aliases\":[\"YC=\"],\"description\":\"Gives the name of the variable containing the y coordinate of the data locations in the DATA= data set.\",\"type\":\"value\"}]},{\"name\":\"GRID\",\"description\":\"A single GRID statement is required and is applied to all SIMULATE statements.\",\"help\":\"GRID &lt;GRIDDATA=SAS-data-set&gt;&lt;XCOORD=(variable-name)&gt;&lt;YCOORD=(variable-name)&gt; ...\",\"arguments\":[{\"name\":\"GRIDDATA=\",\"optional\":true,\"description\":\"Specifies a SAS data set containing the x and y grid coordinates.\",\"help\":\"GRIDDATA=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"XCOORD=\",\"optional\":true,\"aliases\":[\"XC=\"],\"description\":\"Gives the name of the variable containing the x coordinate of the grid locations in the GRIDDATA= data set.\",\"type\":\"value\"},{\"name\":\"YCOORD=\",\"optional\":true,\"aliases\":[\"YC=\"],\"description\":\"Gives the name of the variable containing the y coordinate of the grid locations in the GRIDDATA= data set.\",\"type\":\"value\"}]},{\"name\":\"ID\",\"description\":\"The ID statement specifies which variable to include for identification of the observations in the labels and tool tips of the OBSERVATIONS plot and the tool tips of the SIM plot. The ID statement has an effect only when you perform conditional simulation. In the SIM2D procedure you can specify only one ID variable in the ID statement. If no ID statement is given, then PROC SIM2D uses the observation number in the plots.\",\"help\":\"ID variable \"},{\"name\":\"MEAN\",\"description\":\"The MEAN statement is used to specify the quadratic surface to use as the mean function for the simulated SRF. There are three ways to specify the MEAN statement (shown in the above syntax).\",\"help\":\"MEAN &lt;CONST=var1&gt;&lt;CX=var2&gt;&lt;QDATA= SAS-data-set&gt; ...\",\"arguments\":[{\"name\":\"CONST=\",\"optional\":true,\"description\":\"Specifies the variable in the QDATA= data set that correspond to the constant.\",\"help\":\"CONST=*var1*\",\"type\":\"value\"},{\"name\":\"CX=\",\"optional\":true,\"description\":\"Specifies the variable in the QDATA= data set that correspond to the linear x.\",\"help\":\"CX=*var2*\",\"type\":\"value\"},{\"name\":\"CXY=\",\"optional\":true,\"description\":\"Specifies the variable in the QDATA= data set that correspond to the linear xy.\",\"help\":\"CXY=*var5*\",\"type\":\"value\"},{\"name\":\"CY=\",\"optional\":true,\"description\":\"Specifies the variable in the QDATA= data set that correspond to the linear y.\",\"help\":\"CY=*var3*\",\"type\":\"value\"},{\"name\":\"CYY=\",\"optional\":true,\"description\":\"Specifies the variable in the QDATA= data set that correspond to the linear yy.\",\"help\":\"CYY=*var4*\",\"type\":\"value\"},{\"name\":\"QDATA=\",\"optional\":true,\"description\":\"Specifies the data set containing the coefficients.\",\"type\":\"value\"}]},{\"name\":\"RESTORE\",\"description\":\"The RESTORE statement specifies an item store that provides spatial correlation model input for the PROC SIM2D simulation tasks. An item store is a binary file defined by the SAS System. You cannot modify the contents of an item store. The SIM2D procedure can use only item stores created by PROC VARIOGRAM.\",\"help\":\"RESTORE IN=store-name &lt;INFO &lt;( info-options )&gt;&gt;\",\"arguments\":[{\"name\":\"IN=\",\"description\":\"The store-name is a usual one- or two-level SAS name, as for SAS data sets. If you specify a one-level name, then the item store resides in the WORK library and is deleted at the end of the SAS session. Since item stores are often used for postprocessing tasks, typical usage specifies a two-level name of the form\",\"help\":\"IN=*store-name*\",\"type\":\"value\"},{\"name\":\"INFO=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies that additional information about the input item store be printed. This information is provided in two ODS tables. One table displays the variables in the item store, in addition to the mean and standard deviation for each of them. These statistics are based on the observations that were used to produce the store results. The second table shows the model on top of the list of all fitted models for each direction angle in the item store. The INFO option has the following info-options: DETAILS DET specifies that more detailed information be displayed about the input item store. This option produces the full list of models for each direction angle in the item store, in addition to the model equivalence class.\",\"help\":\"INFO=DETAILS | DET | ONLY\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DETAILS\",\"type\":\"standalone\"},{\"name\":\"DET\",\"type\":\"standalone\"},{\"name\":\"ONLY\",\"type\":\"standalone\"}]}]},{\"name\":\"SIMULATE\",\"description\":\"The SIMULATE statement specifies details on the simulation and the covariance model used in the simulation.\",\"help\":\"SIMULATE &lt;ANGLE=angle | ANGLE=(angle-1,...,angle-k)&gt;&lt;NUMREAL=number&gt;&lt;VAR=(variable-name)&gt; ...\",\"arguments\":[{\"name\":\"ANGLE=\",\"optional\":true,\"description\":\"Specifies the angle of the major axis for anisotropic models, measured in degrees clockwise from the N-S axis.\",\"type\":\"value\"},{\"name\":\"FORM=\",\"optional\":true,\"description\":\"Specifies the functional form (type) of the semivariogram model.\",\"help\":\"FORM=SPHERICAL | EXPONENTIAL | GAUSSIAN\",\"type\":\"choice\",\"arguments\":[{\"name\":\"SPHERICAL\",\"description\":\"Spherical form\",\"type\":\"standalone\"},{\"name\":\"EXPONENTIAL\",\"description\":\"Exponential form\",\"type\":\"standalone\"},{\"name\":\"GAUSSIAN\",\"description\":\"Gaussian form\",\"type\":\"standalone\"}]},{\"name\":\"MDATA=\",\"optional\":true,\"description\":\"Specifies the input data set that contains parameter values for the covariance or semivariogram model.\",\"help\":\"MDATA=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"NUGGET=\",\"optional\":true,\"description\":\"Specifies the nugget effect for the model.\",\"help\":\"NUGGET=*number*\",\"type\":\"value\"},{\"name\":\"NUMREAL=\",\"optional\":true,\"aliases\":[\"NUMR=\",\"NR=\"],\"description\":\"Specifies the number of realizations to produce for the spatial process specified by the covariance model.\",\"help\":\"NUMREAL=*number*\",\"type\":\"value\"},{\"name\":\"RANGE=\",\"optional\":true,\"description\":\"Specifies the range parameter in semivariogram models.\",\"type\":\"value\"},{\"name\":\"RATIO=\",\"optional\":true,\"description\":\"Specifies the ratio of the length of the minor axis to the length of the major axis for anisotropic models.\",\"type\":\"value\"},{\"name\":\"SCALE=\",\"optional\":true,\"description\":\"Specifies the scale (or sill) parameter in semivariogram models.\",\"type\":\"value\"},{\"name\":\"SEED=\",\"optional\":true,\"description\":\"Specifies the seed to use for the random number generator. The SEED= value has to be an integer.\",\"type\":\"value\"},{\"name\":\"SINGULAR=\",\"optional\":true,\"description\":\"Gives the singularity criteria for solving the set of linear equations involved in the computation of the mean and covariance of the conditional distribution associated with a given SIMULATE statement.\",\"help\":\"SINGULAR=*number*\",\"type\":\"value\"},{\"name\":\"VAR=\",\"optional\":true,\"description\":\"Specifies the single numeric variable used as the conditioning variable in the simulation.\",\"type\":\"value\"}]}],\"supportSiteInformation\":{\"docsetId\":\"statug\",\"docsetVersion\":\"latest\",\"docsetTargetFile\":\"statug_sim2d_toc.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/SIMILARITY.json",
    "content": "{\"name\":\"SIMILARITY\",\"statements\":[{\"name\":\"PROC SIMILARITY\",\"description\":\"The SIMILARITY procedure computes similarity measures associated with time-stamped data, time series, and/or other sequentially ordered numeric data. The procedure computes similarity measures for time- stamped transactional data (transactions) with respect to time by accumulating the data into a time series format (time series). The procedure computes similarity measures for sequentially ordered numeric data (sequences) by respecting the ordering of the data. † Given two ordered numeric sequences (input and target), a similarity measure is a metric that measures the distance between the input and target sequences while taking into account the ordering of the data. The SIMILARITY procedure computes similarity measures between an input sequence and a target sequence, as well as similarity measures that \\\"slide\\\" the target sequence with respect to the input sequence. The \\\"slides\\\" can be by observation index (sliding-sequence similarity measures) or by seasonal index (seasonal- sliding-sequence similarity measures).\",\"help\":\"PROC SIMILARITY <DATA=SAS-data-set><ORDER=><OUT=SAS-data-set><OUTMEASURE=SAS-data-set><OUTPATH=SAS-data-set><OUTSEQUENCE=SAS-data-set><OUTSUM=INPUT | INPUTTARGET | TARGET... ><PLOTS=ALL | COSTS | DISTANCES... ><PRINT=DESCSTATS | PATHS | COSTS... ><PRINTDETAILS><SEASONALITY=integer><SORTNAMES>;     \\n\\tBY <DESCENDING><NOTSORTED> ;\\n\\n\\tFCMPOPT <QUIET=<ON | OFF>><TRACE=<ON | OFF>> ;\\n\\n\\tID ACCUMULATE=NONE|TOTAL|AVERAGE|AVG...  ALIGN=BEGINNING|MIDDLE|ENDING  END=date | datetime ...;\\n\\n\\tINPUT <ACCUMULATE=<NONE | TOTAL | AVERAGE>... ><DIF=(numlist)><NORMALIZE=<NONE | ABSOLUTE | STANDARD>... > ...;\\n\\n\\tTARGET <ACCUMULATE=<NONE | TOTAL | AVERAGE>... ><COMPRESS=<GLOBALABS= | GLOBALPCT= | LOCALABS>... ><DIF=(numlist)> ...;\\n\",\"arguments\":[{\"name\":\"DATA=\",\"optional\":true,\"description\":\"Names the SAS data set that contains the time series, transactional, or sequence input data for the procedure. If the DATA= option is not specified, the most recently created SAS data set is used.\",\"help\":\"DATA=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"ORDER=\",\"optional\":true,\"description\":\"Specifies the order that the variables listed in the INPUT and TARGET statements are processed. This ordering affects the OUTSEQUENCE=, OUTPATH=, OUTMEASURE=, and OUTSUM= data sets, as well as the printed and graphical output.\",\"type\":\"value\"},{\"name\":\"OUT=\",\"optional\":true,\"description\":\"Names the output data set to contain the time series variables specified in the subsequent INPUT and TARGET statements. If an ID variable is specified, it is also included in the OUT= data set.\",\"help\":\"OUT=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"OUTMEASURE=\",\"optional\":true,\"description\":\"Names the output data set to contain the detailed similarity measures by time ID value. The form of the OUTMEASURE= data set is determined by the PROC SIMILARITY statement SORTNAMES and ORDER= options.\",\"help\":\"OUTMEASURE=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"OUTPATH=\",\"optional\":true,\"description\":\"Names the output data set to contain the path used to compute the similarity measures for each slide and warp. The form of the OUTPATH= data set is determined by the PROC SIMILARITY statement SORTNAMES and ORDER= options.\",\"help\":\"OUTPATH=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"OUTSEQUENCE=\",\"optional\":true,\"description\":\"Names the output data set to contain the sequences used to compute the similarity measures for each slide and warp. The form of the OUTSEQUENCE= data set is determined by the PROC SIMILARITY statement SORTNAMES and ORDER= options.\",\"help\":\"OUTSEQUENCE=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"OUTSUM=\",\"optional\":true,\"description\":\"Names the output data set to contain the similarity measure summary. The OUTSUM= data set is particularly useful when analyzing large numbers of series and only the summary of the results are needed. The form of the OUTSUM= data set is determined by the PROC SIMILARITY statement SORTNAMES and ORDER= options.\",\"help\":\"OUTSUM=INPUT | INPUTTARGET | TARGET | TARGETINPUT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"INPUT\",\"description\":\"Specifies that each INPUT variable is processed and then the TARGET variables are processed. The results are stored and printed based only on the INPUT variables.\",\"type\":\"standalone\"},{\"name\":\"INPUTTARGET\",\"description\":\"Specifies that each INPUT variable is processed and then the TARGET variables are processed. The results are stored and printed based on both the INPUT and TARGET variables. This is the default.\",\"type\":\"standalone\"},{\"name\":\"TARGET\",\"description\":\"Specifies that each TARGET variable is processed and then the INPUT variables are processed. The results are stored and printed based only on the TARGET variables.\",\"type\":\"standalone\"},{\"name\":\"TARGETINPUT\",\"description\":\"Specifies that each TARGET variable is processed and then the INPUT variables are processed. The results are stored and printed based on both the TARGET and INPUT variables.\",\"type\":\"standalone\"}]},{\"name\":\"PLOTS=\",\"optional\":true,\"description\":\"Specifies the graphical output desired. The options are separated by spaces. By default, the SIMILARITY procedure produces no graphical output.\",\"help\":\"PLOTS=ALL | COSTS | DISTANCES | INPUTS | MAPS | MEASURES | NORMALIZED | PATHS | SCALED | SEQUENCES | TARGETS | WARPS\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ALL\",\"description\":\"Same as PLOTS=(INPUTS TARGETS SEQUENCES NORMALIZED SCALED DISTANCES PATHS MAPS WARPS COST MEASURES).\",\"type\":\"standalone\"},{\"name\":\"COSTS\",\"description\":\"Plots time warp costs graphics.\",\"type\":\"standalone\"},{\"name\":\"DISTANCES\",\"description\":\"Plots similarity absolute and relative distances graphics. (OUTPATH= data set)\",\"type\":\"standalone\"},{\"name\":\"INPUTS\",\"description\":\"Plots input variable time series graphics. (OUT= data set)\",\"type\":\"standalone\"},{\"name\":\"MAPS\",\"description\":\"Plots time warp maps graphics. (OUTPATH= data set)\",\"type\":\"standalone\"},{\"name\":\"MEASURES\",\"description\":\"Plots similarity measure graphics. (OUTMEASURE= data set)\",\"type\":\"standalone\"},{\"name\":\"NORMALIZED\",\"description\":\"Plots both the input and target variable normalized sequence graphics. These plots are displayed only when the INPUT or TARGET statement NORMALIZE= option is specified.\",\"type\":\"standalone\"},{\"name\":\"PATHS\",\"description\":\"Plots time warp paths graphics. (OUTPATH= data set)\",\"type\":\"standalone\"},{\"name\":\"SCALED\",\"description\":\"Plots both the input variable scaled sequence graphics. These plots are displayed only when the INPUT statement SCALE= option is specified.\",\"type\":\"standalone\"},{\"name\":\"SEQUENCES\",\"description\":\"Plots both the input and target variable sequence graphics. (OUTSEQUENCE= data set)\",\"type\":\"standalone\"},{\"name\":\"TARGETS\",\"description\":\"Plots target variable time series graphics. (OUT= data set)\",\"type\":\"standalone\"},{\"name\":\"WARPS\",\"description\":\"Plots time warps graphics. (OUTPATH= data set)\",\"type\":\"standalone\"}]},{\"name\":\"PRINT=\",\"optional\":true,\"description\":\"Specifies the printed output desired. The options are separated by spaces. By default, the SIMILARITY procedure produces no printed output.\",\"help\":\"PRINT=DESCSTATS | PATHS | COSTS | WARPS | SLIDES | SUMMARY | ALL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DESCSTATS\",\"description\":\"Prints the descriptive statistics for the working time series.\",\"type\":\"standalone\"},{\"name\":\"PATHS\",\"description\":\"Prints the path statistics table.\",\"type\":\"standalone\"},{\"name\":\"COSTS\",\"description\":\"Prints the cost statistics table.\",\"type\":\"standalone\"},{\"name\":\"WARPS\",\"description\":\"Prints the warp summary table.\",\"type\":\"standalone\"},{\"name\":\"SLIDES\",\"description\":\"Prints the slides summary table.\",\"type\":\"standalone\"},{\"name\":\"SUMMARY\",\"description\":\"Prints the similarity measure summary table.\",\"type\":\"standalone\"},{\"name\":\"ALL\",\"description\":\"Same as PRINT=(DESCSTATS PATHS COSTS WARPS SLIDES SUMMARY)\",\"type\":\"standalone\"}]},{\"name\":\"PRINTDETAILS\",\"optional\":true,\"description\":\"Specifies that output requested with the PRINT= option be printed in greater detail.\",\"type\":\"standalone\"},{\"name\":\"SEASONALITY=\",\"optional\":true,\"description\":\"Specifies the length of the seasonal cycle where integer ranges from one to 10,000. For example, SEASONALITY=3 means that every group of three time periods forms a seasonal cycle. By default, the length of the seasonal cycle is one (no seasonality) or the length implied by the INTERVAL= option specified in the ID statement. For example, INTERVAL=MONTH implies that the length of the seasonal cycle is twelve.\",\"help\":\"SEASONALITY=*integer*\",\"type\":\"value\"},{\"name\":\"SORTNAMES\",\"optional\":true,\"description\":\"Specifies that the variables specified in the INPUT and TARGET statements are processed in order sorted by the variable names. By default, the SIMILARITY procedure processes the variables in the order they are listed. The ORDER= option also affects the ordering of the analysis.\",\"type\":\"standalone\"}]},{\"name\":\"BY\",\"description\":\"A BY statement can be used with PROC SIMILARITY to obtain separate dummy variable definitions for groups of observations defined by the BY variables.\",\"help\":\"BY &lt;DESCENDING&gt;&lt;NOTSORTED&gt;\",\"arguments\":[{\"name\":\"DESCENDING\",\"optional\":true,\"description\":\"Specifies that the observations are sorted in descending order by the variable that immediately follows the word DESCENDING in the BY statement.\",\"type\":\"standalone\"},{\"name\":\"NOTSORTED\",\"optional\":true,\"description\":\"Specifies that observations are not necessarily sorted in alphabetic or numeric order.\",\"type\":\"standalone\"}]},{\"name\":\"FCMPOPT\",\"description\":\"The FCMPOPT statement specifies the options related to user-defined functions and subroutines.\",\"help\":\"FCMPOPT &lt;QUIET=&lt;ON | OFF&gt;&gt;&lt;TRACE=&lt;ON | OFF&gt;&gt;\",\"arguments\":[{\"name\":\"QUIET=\",\"optional\":true,\"description\":\"Specifies whether the nonfatal errors and warnings generated by the user-defined SAS language functions and subroutines are printed to the log. Nonfatal errors are usually associated with operations with missing values.\",\"help\":\"QUIET=ON | OFF\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ON\",\"description\":\"Nonfatal errors and warnings generated by the user-defined SAS language functions and subroutines are printed to the log. This is the default.\",\"type\":\"standalone\"},{\"name\":\"OFF\",\"description\":\"Nonfatal errors and warnings generated by the user-defined SAS language functions and subroutines are not printed to the log.\",\"type\":\"standalone\"}]},{\"name\":\"TRACE=\",\"optional\":true,\"description\":\"Specifies whether the user-defined SAS language functions and subroutines tracings are printed to the log. Tracings are the results of every operation executed. This option is generally used for debugging. The default is TRACE=OFF.\",\"help\":\"TRACE=ON | OFF\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ON\",\"description\":\"User-defined SAS language functions and subroutines tracings are printed to the log.\",\"type\":\"standalone\"},{\"name\":\"OFF\",\"description\":\"User-defined SAS language functions and subroutines tracings are not printed to the log. This is the default.\",\"type\":\"standalone\"}]}]},{\"name\":\"ID\",\"description\":\"The ID statement names a numeric variable that identifies observations in the input and output data sets. The ID variable’s values are assumed to be SAS date, time, or datetime values. In addition, the ID statement specifies the (desired) frequency associated with the time series. The ID statement options also specify how the observations are accumulated and how the time ID values are aligned to form the time series. The options specified affect all variables listed in subsequent INPUT and TARGET statements. If an ID statement is specified, the INTERVAL= option must also be specified. The other ID statement options are optional. If an ID statement is not specified, the observation number, with respect to the BY group, is used as the time ID.\",\"help\":\"ID ACCUMULATE=NONE|TOTAL|AVERAGE|AVG...  ALIGN=BEGINNING|MIDDLE|ENDING  END=date | datetime ...\",\"arguments\":[{\"name\":\"ACCUMULATE=\",\"description\":\"Specifies how the data set observations are accumulated within each time period. The frequency (width of each time interval) is specified by the INTERVAL= option.\",\"help\":\"ACCUMULATE=NONE | TOTAL | AVERAGE|AVG | MINIMUM|MIN | MEDIAN|MED | MAXIMUM|MAX | N | NMISS | NOBS | FIRST | LAST | STDDEV|STD | CSS | USS\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NONE\",\"description\":\"No accumulation occurs; the ID variable values must be equally spaced with respect to the frequency. This is the default option.\",\"type\":\"standalone\"},{\"name\":\"TOTAL\",\"description\":\"Observations are accumulated based on the total sum of their values.\",\"type\":\"standalone\"},{\"name\":\"AVERAGE\",\"description\":\"Observations are accumulated based on the average of their values.\",\"help\":\"AVERAGE|AVG\",\"type\":\"choice\"},{\"name\":\"MINIMUM\",\"description\":\"Observations are accumulated based on the minimum of their values.\",\"help\":\"MINIMUM|MIN\",\"type\":\"choice\"},{\"name\":\"MEDIAN\",\"description\":\"Observations are accumulated based on the median of their values.\",\"help\":\"MEDIAN|MED\",\"type\":\"choice\"},{\"name\":\"MAXIMUM\",\"description\":\"Observations are accumulated based on the maximum of their values.\",\"help\":\"MAXIMUM|MAX\",\"type\":\"choice\"},{\"name\":\"N\",\"description\":\"Observations are accumulated based on the number of nonmissing observations.\",\"type\":\"standalone\"},{\"name\":\"NMISS\",\"description\":\"Observations are accumulated based on the number of missing observations.\",\"type\":\"standalone\"},{\"name\":\"NOBS\",\"description\":\"Observations are accumulated based on the number of observations.\",\"type\":\"standalone\"},{\"name\":\"FIRST\",\"description\":\"Observations are accumulated based on the first of their values.\",\"type\":\"standalone\"},{\"name\":\"LAST\",\"description\":\"Observations are accumulated based on the last of their values.\",\"type\":\"standalone\"},{\"name\":\"STDDEV\",\"description\":\"Observations are accumulated based on the standard deviation of their values.\",\"help\":\"STDDEV|STD\",\"type\":\"choice\"},{\"name\":\"CSS\",\"description\":\"Observations are accumulated based on the corrected sum of squares of their values.\",\"type\":\"standalone\"},{\"name\":\"USS\",\"description\":\"Observations are accumulated based on the uncorrected sum of squares of their values.\",\"type\":\"standalone\"}]},{\"name\":\"ALIGN=\",\"description\":\"Controls the alignment of SAS dates used to identify output observations.\",\"help\":\"ALIGN=BEGINNING | MIDDLE | ENDING\",\"type\":\"choice\",\"arguments\":[{\"name\":\"BEGINNING\",\"description\":\"SAS dates aligned in the BEGINNING.\",\"type\":\"standalone\"},{\"name\":\"MIDDLE\",\"description\":\"SAS dates aligned in the MIDDLE.\",\"type\":\"standalone\"},{\"name\":\"ENDING\",\"description\":\"SAS dates aligned in the ENDING.\",\"type\":\"standalone\"}]},{\"name\":\"END=\",\"description\":\"Specifies a SAS date or datetime literal value that represents the end of the data.\",\"type\":\"value\"},{\"name\":\"FORMAT=\",\"description\":\"Specifies the SAS format for the time ID values. If the FORMAT= option is not specified, the default format is implied from the INTERVAL= option.\",\"help\":\"FORMAT=*format*\",\"type\":\"value\"},{\"name\":\"INTERVAL=\",\"description\":\"Specifies the frequency of the input time series or for the time series to be accumulated from the input data.\",\"help\":\"INTERVAL=DAY | HOUR | MINUTE | SECOND | WEEK | MONTH | YEAR | QTR | TENDAY | SEMIMONTH | SEMIYEAR\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DAY\",\"description\":\"DAY interval\",\"type\":\"standalone\"},{\"name\":\"HOUR\",\"description\":\"HOUR interval\",\"type\":\"standalone\"},{\"name\":\"MINUTE\",\"description\":\"MINUTE interval\",\"type\":\"standalone\"},{\"name\":\"SECOND\",\"description\":\"SECOND interval\",\"type\":\"standalone\"},{\"name\":\"WEEK\",\"description\":\"WEEK interval\",\"type\":\"standalone\"},{\"name\":\"MONTH\",\"description\":\"MONTH interval\",\"type\":\"standalone\"},{\"name\":\"YEAR\",\"description\":\"YEAR interval\",\"type\":\"standalone\"},{\"name\":\"QTR\",\"description\":\"QTR interval\",\"type\":\"standalone\"},{\"name\":\"TENDAY\",\"description\":\"TENDAY interval\",\"type\":\"standalone\"},{\"name\":\"SEMIMONTH\",\"description\":\"SEMIMONTH interval\",\"type\":\"standalone\"},{\"name\":\"SEMIYEAR\",\"description\":\"SEMIYEAR interval\",\"type\":\"standalone\"}]},{\"name\":\"NOTSORTED\",\"description\":\"Specifies that the time ID values are not in sorted order. The ESM procedure sorts the data with respect to the time ID prior to analysis.\",\"type\":\"standalone\"},{\"name\":\"SETMISSING=\",\"description\":\"Specifies how missing values (either input or accumulated) are assigned in the accumulated time series. If a number n is specified (SETMISSING=n), missing values are set to that number.\",\"help\":\"SETMISSING=MISSING | AVERAGE | MINIMUM | MEDIAN | MAXIMUM | FIRST | LAST | PREVIOUS | NEXT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"MISSING\",\"description\":\"Missing values are set to missing. This is the default option.\",\"type\":\"standalone\"},{\"name\":\"AVERAGE\",\"description\":\"Missing values are set to the accumulated average value.\",\"type\":\"standalone\"},{\"name\":\"MINIMUM\",\"description\":\"Missing values are set to the accumulated minimum value.\",\"type\":\"standalone\"},{\"name\":\"MEDIAN\",\"description\":\"Missing values are set to the accumulated median value.\",\"type\":\"standalone\"},{\"name\":\"MAXIMUM\",\"description\":\"Missing values are set to the accumulated maximum value.\",\"type\":\"standalone\"},{\"name\":\"FIRST\",\"description\":\"Missing values are set to the accumulated first nonmissing value.\",\"type\":\"standalone\"},{\"name\":\"LAST\",\"description\":\"Missing values are set to the accumulated last nonmissing value.\",\"type\":\"standalone\"},{\"name\":\"PREVIOUS\",\"description\":\"Missing values are set to the previous accumulated nonmissing value. Missing values at the beginning of the accumulated series remain missing.\",\"type\":\"standalone\"},{\"name\":\"NEXT\",\"description\":\"Missing values are set to the next accumulated nonmissing value. Missing values at the end of the accumulated series remain missing.\",\"type\":\"standalone\"}]},{\"name\":\"START=\",\"description\":\"Specifies a SAS date or datetime literal value that represents the beginning of the data. If the first time ID variable value is greater than the START= value, the series is prepended with missing values. If the first time ID variable value is less than the START= value, the series is truncated. The START= and END= options can be used to ensure that data associated with each BY group contains the same number of observations.\",\"type\":\"value\"},{\"name\":\"ZEROMISS=\",\"description\":\"Specifies how beginning and/or ending zero values (either input or accumulated) are interpreted in the accumulated time series.\",\"help\":\"ZEROMISS=NONE | LEFT | RIGHT | BOTH\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NONE\",\"description\":\"Beginning and/or ending zeros are unchanged. This is the default.\",\"type\":\"standalone\"},{\"name\":\"LEFT\",\"description\":\"Beginning zeros are set to missing.\",\"type\":\"standalone\"},{\"name\":\"RIGHT\",\"description\":\"Ending zeros are set to missing.\",\"type\":\"standalone\"},{\"name\":\"BOTH\",\"description\":\"Both beginning and ending zeros are set to missing.\",\"type\":\"standalone\"}]}]},{\"name\":\"INPUT\",\"description\":\"The INPUT statement lists the input numeric variables in the DATA= data set whose values are to be accumulated to form the time series or represent ordered numeric sequences (when no ID statement is specified).\",\"help\":\"INPUT &lt;ACCUMULATE=&lt;NONE | TOTAL | AVERAGE&gt;... &gt;&lt;DIF=(numlist)&gt;&lt;NORMALIZE=&lt;NONE | ABSOLUTE | STANDARD&gt;... &gt; ...\",\"arguments\":[{\"name\":\"ACCUMULATE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies how the data set observations are accumulated within each time period for the variables listed in the INPUT statement.\",\"help\":\"ACCUMULATE=NONE | TOTAL | AVERAGE | MINIMUM | MEDIAN | MAXIMUM | N | NMISS | NOBS | FIRST | LAST | STDDEV | CSS | USS\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NONE\",\"followsDelimiter\":\"/\",\"description\":\"No accumulation occurs; the ID variable values must be equally spaced with respect to the frequency. This is the default option.\",\"type\":\"standalone\"},{\"name\":\"TOTAL\",\"followsDelimiter\":\"/\",\"description\":\"Observations are accumulated based on the total sum of their values.\",\"type\":\"standalone\"},{\"name\":\"AVERAGE\",\"followsDelimiter\":\"/\",\"description\":\"Observations are accumulated based on the average of their values.\",\"type\":\"standalone\"},{\"name\":\"MINIMUM\",\"followsDelimiter\":\"/\",\"description\":\"Observations are accumulated based on the minimum of their values.\",\"type\":\"standalone\"},{\"name\":\"MEDIAN\",\"followsDelimiter\":\"/\",\"description\":\"Observations are accumulated based on the median of their values.\",\"type\":\"standalone\"},{\"name\":\"MAXIMUM\",\"followsDelimiter\":\"/\",\"description\":\"Observations are accumulated based on the maximum of their values.\",\"type\":\"standalone\"},{\"name\":\"N\",\"followsDelimiter\":\"/\",\"description\":\"Observations are accumulated based on the number of nonmissing observations.\",\"type\":\"standalone\"},{\"name\":\"NMISS\",\"followsDelimiter\":\"/\",\"description\":\"Observations are accumulated based on the number of missing observations.\",\"type\":\"standalone\"},{\"name\":\"NOBS\",\"followsDelimiter\":\"/\",\"description\":\"Observations are accumulated based on the number of observations.\",\"type\":\"standalone\"},{\"name\":\"FIRST\",\"followsDelimiter\":\"/\",\"description\":\"Observations are accumulated based on the first of their values.\",\"type\":\"standalone\"},{\"name\":\"LAST\",\"followsDelimiter\":\"/\",\"description\":\"Observations are accumulated based on the last of their values.\",\"type\":\"standalone\"},{\"name\":\"STDDEV\",\"followsDelimiter\":\"/\",\"description\":\"Observations are accumulated based on the standard deviation of their values.\",\"type\":\"standalone\"},{\"name\":\"CSS\",\"followsDelimiter\":\"/\",\"description\":\"Observations are accumulated based on the corrected sum of squares of their values.\",\"type\":\"standalone\"},{\"name\":\"USS\",\"followsDelimiter\":\"/\",\"description\":\"Observations are accumulated based on the uncorrected sum of squares of their values.\",\"type\":\"standalone\"}]},{\"name\":\"DIF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the differencing to be applied to the accumulated time series. The list of differencing orders must be separated by spaces or commas. For example, DIF=(1,3) specifies first, then third order, differencing. Differencing is applied after time series transformation. The TRANSFORM= option is applied before the DIF= option. Simple differencing is useful when you want to detrend the time series before computing the similarity measures.\",\"type\":\"value\"},{\"name\":\"NORMALIZE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the sequence normalization to be applied to the working input sequence.\",\"help\":\"NORMALIZE=NONE | ABSOLUTE | STANDARD | [USER-DEFINED]\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NONE\",\"followsDelimiter\":\"/\",\"description\":\"No normalization is applied. This option is the default.\",\"type\":\"standalone\"},{\"name\":\"ABSOLUTE\",\"followsDelimiter\":\"/\",\"description\":\"Absolute normalization is applied.\",\"type\":\"standalone\"},{\"name\":\"STANDARD\",\"followsDelimiter\":\"/\",\"description\":\"Standard normalization is applied.\",\"type\":\"standalone\"},{\"name\":\"[USER-DEFINED]\",\"followsDelimiter\":\"/\",\"description\":\"Normalization is computed by a user-defined subroutine created using the FCMP procedure, where [USER-DEFINED] is the subroutine name.\",\"type\":\"standalone\"}]},{\"name\":\"SCALE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the scaling of the working input sequence with respect to the working target sequence. Scaling is performed after normalization.\",\"help\":\"SCALE=NONE | ABSOLUTE | STANDARD | [USER-DEFINED]\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NONE\",\"followsDelimiter\":\"/\",\"description\":\"No scaling is applied. This option is the default.\",\"type\":\"standalone\"},{\"name\":\"ABSOLUTE\",\"followsDelimiter\":\"/\",\"description\":\"Absolute scaling is applied.\",\"type\":\"standalone\"},{\"name\":\"STANDARD\",\"followsDelimiter\":\"/\",\"description\":\"Standard scaling is applied.\",\"type\":\"standalone\"},{\"name\":\"[USER-DEFINED]\",\"followsDelimiter\":\"/\",\"description\":\"Scaling is computed by a user-defined subroutine created using the FCMP procedure, where [USER-DEFINED] is the subroutine name.\",\"type\":\"standalone\"}]},{\"name\":\"SDIF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the seasonal differencing to be applied to the accumulated time series. The list of seasonal differencing orders must be separated by spaces or commas. For example, SDIF=(1,3) specifies first, then third, order seasonal differencing. Differencing is applied after time series transformation. The TRANSFORM= option is applied before the SDIF= option. Seasonal differencing is useful when you want to deseasonalize the time series before computing the similarity measures.\",\"type\":\"value\"},{\"name\":\"SETMISSING=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies how missing values (either actual or accumulated) are interpreted in the accumulated time series or ordered sequence for variables listed in the INPUT statement.\",\"help\":\"SETMISSING=MISSING | AVERAGE | MINIMUM | MEDIAN | MAXIMUM | FIRST | LAST | PREVIOUS | NEXT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"MISSING\",\"followsDelimiter\":\"/\",\"description\":\"Missing values are set to missing. This is the default option.\",\"type\":\"standalone\"},{\"name\":\"AVERAGE\",\"followsDelimiter\":\"/\",\"description\":\"Missing values are set to the accumulated average value.\",\"type\":\"standalone\"},{\"name\":\"MINIMUM\",\"followsDelimiter\":\"/\",\"description\":\"Missing values are set to the accumulated minimum value.\",\"type\":\"standalone\"},{\"name\":\"MEDIAN\",\"followsDelimiter\":\"/\",\"description\":\"Missing values are set to the accumulated median value.\",\"type\":\"standalone\"},{\"name\":\"MAXIMUM\",\"followsDelimiter\":\"/\",\"description\":\"Missing values are set to the accumulated maximum value.\",\"type\":\"standalone\"},{\"name\":\"FIRST\",\"followsDelimiter\":\"/\",\"description\":\"Missing values are set to the accumulated first nonmissing value.\",\"type\":\"standalone\"},{\"name\":\"LAST\",\"followsDelimiter\":\"/\",\"description\":\"Missing values are set to the accumulated last nonmissing value.\",\"type\":\"standalone\"},{\"name\":\"PREVIOUS\",\"followsDelimiter\":\"/\",\"description\":\"Missing values are set to the previous accumulated nonmissing value. Missing values at the beginning of the accumulated series remain missing.\",\"type\":\"standalone\"},{\"name\":\"NEXT\",\"followsDelimiter\":\"/\",\"description\":\"Missing values are set to the next accumulated nonmissing value. Missing values at the end of the accumulated series remain missing.\",\"type\":\"standalone\"}]},{\"name\":\"TRANSFORM=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the time series transformation to be applied to the accumulated time series.\",\"help\":\"TRANSFORM=NONE | LOG | SQRT | LOGISTIC | BOXCOX(number) | [USER-DEFINED]\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NONE\",\"followsDelimiter\":\"/\",\"description\":\"No transformation is applied. This option is the default.\",\"type\":\"standalone\"},{\"name\":\"LOG\",\"followsDelimiter\":\"/\",\"description\":\"Logarithmic transformation is applied.\",\"type\":\"standalone\"},{\"name\":\"SQRT\",\"followsDelimiter\":\"/\",\"description\":\"Square-root transformation is applied.\",\"type\":\"standalone\"},{\"name\":\"LOGISTIC\",\"followsDelimiter\":\"/\",\"description\":\"Logistic transformation is applied.\",\"type\":\"standalone\"},{\"name\":\"BOXCOX\",\"followsDelimiter\":\"/\",\"description\":\"Box-Cox transformation with parameter is applied, where the real number is between -5 and 5.\",\"help\":\"BOXCOX(number)\",\"type\":\"standalone\"},{\"name\":\"[USER-DEFINED]\",\"followsDelimiter\":\"/\",\"description\":\"Transformation is computed by a user-defined subroutine created using the FCMP procedure where [USER-DEFINED] is the subroutine name.\",\"type\":\"standalone\"}]},{\"name\":\"TRIMMISSING=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies how missing values (either actual or accumulated) are trimmed from the accumulated time series or ordered sequence for variables listed in the INPUT statement.\",\"help\":\"TRIMMISSING=NONE | LEFT | RIGHT | BOTH\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NONE\",\"followsDelimiter\":\"/\",\"description\":\"No missing value trimming is applied.\",\"type\":\"standalone\"},{\"name\":\"LEFT\",\"followsDelimiter\":\"/\",\"description\":\"Beginning missing values are trimmed.\",\"type\":\"standalone\"},{\"name\":\"RIGHT\",\"followsDelimiter\":\"/\",\"description\":\"Ending missing values are trimmed.\",\"type\":\"standalone\"},{\"name\":\"BOTH\",\"followsDelimiter\":\"/\",\"description\":\"Both beginning and ending missing value are trimmed. This is the default.\",\"type\":\"standalone\"}]},{\"name\":\"ZEROMISS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies how beginning and/or ending zero values (either actual or accumulated) are interpreted in the accumulated time series or ordered sequence for variables listed in the INPUT statement.\",\"help\":\"ZEROMISS=NONE | LEFT | RIGHT | BOTH\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NONE\",\"followsDelimiter\":\"/\",\"description\":\"Beginning and/or ending zeros are unchanged. This is the default.\",\"type\":\"standalone\"},{\"name\":\"LEFT\",\"followsDelimiter\":\"/\",\"description\":\"Beginning zeros are set to missing.\",\"type\":\"standalone\"},{\"name\":\"RIGHT\",\"followsDelimiter\":\"/\",\"description\":\"Ending zeros are set to missing.\",\"type\":\"standalone\"},{\"name\":\"BOTH\",\"followsDelimiter\":\"/\",\"description\":\"Both beginning and ending zeros are set to missing.\",\"type\":\"standalone\"}]}]},{\"name\":\"TARGET\",\"description\":\"The TARGET statement lists the numeric target variables in the DATA= data set whose values are to be accumulated to form the time series or represent ordered numeric sequences (when no ID statement is specified). An input data set variable can be specified in only one INPUT or TARGET statement. Any number of TARGET statements can be used.\",\"help\":\"TARGET &lt;ACCUMULATE=&lt;NONE | TOTAL | AVERAGE&gt;... &gt;&lt;COMPRESS=&lt;GLOBALABS= | GLOBALPCT= | LOCALABS&gt;... &gt;&lt;DIF=(numlist)&gt; ...\",\"arguments\":[{\"name\":\"ACCUMULATE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies how the data set observations are accumulated within each time period for the variables listed in the TARGET statement.\",\"help\":\"ACCUMULATE=NONE | TOTAL | AVERAGE | MINIMUM | MEDIAN | MAXIMUM | N | NMISS | NOBS | FIRST | LAST | STDDEV | CSS | USS\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NONE\",\"followsDelimiter\":\"/\",\"description\":\"No accumulation occurs; the ID variable values must be equally spaced with respect to the frequency. This is the default option.\",\"type\":\"standalone\"},{\"name\":\"TOTAL\",\"followsDelimiter\":\"/\",\"description\":\"Observations are accumulated based on the total sum of their values.\",\"type\":\"standalone\"},{\"name\":\"AVERAGE\",\"followsDelimiter\":\"/\",\"description\":\"Observations are accumulated based on the average of their values.\",\"type\":\"standalone\"},{\"name\":\"MINIMUM\",\"followsDelimiter\":\"/\",\"description\":\"Observations are accumulated based on the minimum of their values.\",\"type\":\"standalone\"},{\"name\":\"MEDIAN\",\"followsDelimiter\":\"/\",\"description\":\"Observations are accumulated based on the median of their values.\",\"type\":\"standalone\"},{\"name\":\"MAXIMUM\",\"followsDelimiter\":\"/\",\"description\":\"Observations are accumulated based on the maximum of their values.\",\"type\":\"standalone\"},{\"name\":\"N\",\"followsDelimiter\":\"/\",\"description\":\"Observations are accumulated based on the number of nonmissing observations.\",\"type\":\"standalone\"},{\"name\":\"NMISS\",\"followsDelimiter\":\"/\",\"description\":\"Observations are accumulated based on the number of missing observations.\",\"type\":\"standalone\"},{\"name\":\"NOBS\",\"followsDelimiter\":\"/\",\"description\":\"Observations are accumulated based on the number of observations.\",\"type\":\"standalone\"},{\"name\":\"FIRST\",\"followsDelimiter\":\"/\",\"description\":\"Observations are accumulated based on the first of their values.\",\"type\":\"standalone\"},{\"name\":\"LAST\",\"followsDelimiter\":\"/\",\"description\":\"Observations are accumulated based on the last of their values.\",\"type\":\"standalone\"},{\"name\":\"STDDEV\",\"followsDelimiter\":\"/\",\"description\":\"Observations are accumulated based on the standard deviation of their values.\",\"type\":\"standalone\"},{\"name\":\"CSS\",\"followsDelimiter\":\"/\",\"description\":\"Observations are accumulated based on the corrected sum of squares of their values.\",\"type\":\"standalone\"},{\"name\":\"USS\",\"followsDelimiter\":\"/\",\"description\":\"Observations are accumulated based on the uncorrected sum of squares of their values.\",\"type\":\"standalone\"}]},{\"name\":\"COMPRESS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the sliding sequence (global) and warping (local) compression range of the target sequence with respect to the input sequence. Compression of the target sequence is the same as expansion of the input sequence and vice versa. The compression limits are defined based on the length of the target sequence and are imposed on the target sequence.\",\"help\":\"COMPRESS=GLOBALABS= | GLOBALPCT= | LOCALABS | LOCALPCT=\",\"type\":\"choice\",\"arguments\":[{\"name\":\"GLOBALABS=\",\"followsDelimiter\":\"/\",\"description\":\"Specifies the absolute global compression, where integer ranges from zero to 10,000. GLOBALABS=0 implies no global compression, which is the default unless the GLOBALPCT= option is specified.\",\"type\":\"value\"},{\"name\":\"GLOBALPCT=\",\"followsDelimiter\":\"/\",\"description\":\"Specifies global compression as a percentage of the length of the target sequence, where number ranges from zero to 100. GLOBALPCT=0 implies no global compression, which is the default. GLOBALPCT=100 implies maximum allowable compression.\",\"type\":\"value\"},{\"name\":\"LOCALABS\",\"followsDelimiter\":\"/\",\"description\":\"Specifies the absolute local compression, where integer ranges from zero to 10,000. The default is maximum allowable absolute local compression unless the LOCALPCT= option is specified.\",\"type\":\"standalone\"},{\"name\":\"LOCALPCT=\",\"followsDelimiter\":\"/\",\"description\":\"Specifies local compression as a percentage of the length of the input sequence, where number ranges from zero to 100. The percentage specified by the LOCALPCT= option must be less than the GLOBALPCT= option. LOCALPCT=0 implies no local compression. LOCALPCT=100 implies maximum allowable local compression. The default is LOCALPCT=100.\",\"type\":\"value\"}]},{\"name\":\"DIF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the differencing to be applied to the accumulated time series. The list of differencing orders must be separated by spaces or commas. For example, DIF=(1,3) specifies first, then third order, differencing. Differencing is applied after time series transformation. The TRANSFORM= option is applied before the DIF= option. Simple differencing is useful when you want to detrend the time series before computing the similarity measures.\",\"type\":\"value\"},{\"name\":\"EXPAND=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the sliding sequence (global) and warping (local) expansion range of the target sequence with respect to the input sequence. Expansion of the target sequence is the same as compression of the input sequence and vice versa. The expansion limits are defined based on the length of the input sequence, but are imposed on the target sequence.\",\"help\":\"EXPAND=GLOBALABS= | GLOBALPCT= | LOCALABS | LOCALPCT=\",\"type\":\"choice\",\"arguments\":[{\"name\":\"GLOBALABS=\",\"followsDelimiter\":\"/\",\"description\":\"Specifies the absolute global expansion, where integer ranges from zero to 10,000. GLOBALABS=0 implies no global expansion, which is the default unless the GLOBALPCT= option is specified.\",\"type\":\"value\"},{\"name\":\"GLOBALPCT=\",\"followsDelimiter\":\"/\",\"description\":\"Specifies global expansion as a percentage of the length of the target sequence, where number ranges from zero to 100. GLOBALPCT=0 implies no global expansion, which is the default. GLOBALPCT=100 implies maximum allowable expansion.\",\"type\":\"value\"},{\"name\":\"LOCALABS\",\"followsDelimiter\":\"/\",\"description\":\"Specifies the absolute local expansion, where integer ranges from zero to 10,000. The default is maximum allowable absolute local expansion unless the LOCALPCT= option is specified.\",\"type\":\"standalone\"},{\"name\":\"LOCALPCT=\",\"followsDelimiter\":\"/\",\"description\":\"Specifies local expansion as a percentage of the length of the input sequence, where number ranges from zero to 100. The percentage specified by the LOCALPCT= option must be less than the GLOBALPCT= option. LOCALPCT=0 implies no local expansion. LOCALPCT=100 implies maximum allowable local expansion. The default is LOCALPCT=100.\",\"type\":\"value\"}]},{\"name\":\"MEASURE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the similarity measure to be computed by using the working input and target sequences.\",\"help\":\"MEASURE=SQRDEV | ABSDEV | MSQRDEV | MSQRDEVINP | MSQRDEVTAR | MSQRDEVMIN | MSQRDEVMAX | MABSDEV | MABSDEVINP | MABSDEVTAR | MABSDEVMIN | MABSDEVMAX | [USER-DEFINED]\",\"type\":\"choice\",\"arguments\":[{\"name\":\"SQRDEV\",\"followsDelimiter\":\"/\",\"description\":\"Squared deviation. This option is the default.\",\"type\":\"standalone\"},{\"name\":\"ABSDEV\",\"followsDelimiter\":\"/\",\"description\":\"Absolute deviation\",\"type\":\"standalone\"},{\"name\":\"MSQRDEV\",\"followsDelimiter\":\"/\",\"description\":\"Mean squared deviation\",\"type\":\"standalone\"},{\"name\":\"MSQRDEVINP\",\"followsDelimiter\":\"/\",\"description\":\"Mean squared deviation relative to the length of the input sequence\",\"type\":\"standalone\"},{\"name\":\"MSQRDEVTAR\",\"followsDelimiter\":\"/\",\"description\":\"Mean squared deviation relative to the length of the target sequence\",\"type\":\"standalone\"},{\"name\":\"MSQRDEVMIN\",\"followsDelimiter\":\"/\",\"description\":\"Mean squared deviation relative to the minimum valid path length\",\"type\":\"standalone\"},{\"name\":\"MSQRDEVMAX\",\"followsDelimiter\":\"/\",\"description\":\"Mean squared deviation relative to the maximum valid path length\",\"type\":\"standalone\"},{\"name\":\"MABSDEV\",\"followsDelimiter\":\"/\",\"description\":\"Mean absolute deviation\",\"type\":\"standalone\"},{\"name\":\"MABSDEVINP\",\"followsDelimiter\":\"/\",\"description\":\"Mean absolute deviation relative to the length of the input sequence\",\"type\":\"standalone\"},{\"name\":\"MABSDEVTAR\",\"followsDelimiter\":\"/\",\"description\":\"Mean absolute deviation relative to the length of the target sequence\",\"type\":\"standalone\"},{\"name\":\"MABSDEVMIN\",\"followsDelimiter\":\"/\",\"description\":\"Mean absolute deviation relative to the minimum valid path length\",\"type\":\"standalone\"},{\"name\":\"MABSDEVMAX\",\"followsDelimiter\":\"/\",\"description\":\"Mean absolute deviation relative to the maximum valid path length\",\"type\":\"standalone\"},{\"name\":\"[USER-DEFINED]\",\"followsDelimiter\":\"/\",\"description\":\"Measure computed by a user-defined function created by using the FCMP procedure, where [USER-DEFINED] is the function name.\",\"type\":\"standalone\"}]},{\"name\":\"NORMALIZE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the sequence normalization to be applied to the working target sequence.\",\"help\":\"NORMALIZE=NONE | ABSOLUTE | STANDARD | [USER-DEFINED]\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NONE\",\"followsDelimiter\":\"/\",\"description\":\"No normalization is applied. This option is the default.\",\"type\":\"standalone\"},{\"name\":\"ABSOLUTE\",\"followsDelimiter\":\"/\",\"description\":\"Absolute normalization is applied.\",\"type\":\"standalone\"},{\"name\":\"STANDARD\",\"followsDelimiter\":\"/\",\"description\":\"Standard normalization is applied.\",\"type\":\"standalone\"},{\"name\":\"[USER-DEFINED]\",\"followsDelimiter\":\"/\",\"description\":\"Normalization is computed by a user-defined subroutine created using the FCMP procedure, where [USER-DEFINED] is the subroutine name.\",\"type\":\"standalone\"}]},{\"name\":\"PATH=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the similarity measure and warping path information to be computed using the working input and target sequences. The following similarity measures and warping path are provided:\",\"help\":\"PATH=*option*\",\"type\":\"value\"},{\"name\":\"SDIF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the seasonal differencing to be applied to the accumulated time series. The list of seasonal differencing orders must be separated by spaces or commas. For example, SDIF=(1,3) specifies first, then third, order seasonal differencing. Differencing is applied after time series transformation. The TRANSFORM= option is applied before the SDIF= option. Seasonal differencing is useful when you want to deseasonalize the time series before computing the similarity measures.\",\"type\":\"value\"},{\"name\":\"SETMISSING=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies how missing values (either actual or accumulated) are interpreted in the accumulated time series or ordered sequence for variables listed in the TARGET statement.\",\"help\":\"SETMISSING=MISSING | AVERAGE | MINIMUM | MEDIAN | MAXIMUM | FIRST | LAST | PREVIOUS | NEXT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"MISSING\",\"followsDelimiter\":\"/\",\"description\":\"Missing values are set to missing. This is the default option.\",\"type\":\"standalone\"},{\"name\":\"AVERAGE\",\"followsDelimiter\":\"/\",\"description\":\"Missing values are set to the accumulated average value.\",\"type\":\"standalone\"},{\"name\":\"MINIMUM\",\"followsDelimiter\":\"/\",\"description\":\"Missing values are set to the accumulated minimum value.\",\"type\":\"standalone\"},{\"name\":\"MEDIAN\",\"followsDelimiter\":\"/\",\"description\":\"Missing values are set to the accumulated median value.\",\"type\":\"standalone\"},{\"name\":\"MAXIMUM\",\"followsDelimiter\":\"/\",\"description\":\"Missing values are set to the accumulated maximum value.\",\"type\":\"standalone\"},{\"name\":\"FIRST\",\"followsDelimiter\":\"/\",\"description\":\"Missing values are set to the accumulated first nonmissing value.\",\"type\":\"standalone\"},{\"name\":\"LAST\",\"followsDelimiter\":\"/\",\"description\":\"Missing values are set to the accumulated last nonmissing value.\",\"type\":\"standalone\"},{\"name\":\"PREVIOUS\",\"followsDelimiter\":\"/\",\"description\":\"Missing values are set to the previous accumulated nonmissing value. Missing values at the beginning of the accumulated series remain missing.\",\"type\":\"standalone\"},{\"name\":\"NEXT\",\"followsDelimiter\":\"/\",\"description\":\"Missing values are set to the next accumulated nonmissing value. Missing values at the end of the accumulated series remain missing.\",\"type\":\"standalone\"}]},{\"name\":\"SLIDE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the sliding of the target sequence with respect to the input sequence.\",\"help\":\"SLIDE=NONE | INDEX | SEASON\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NONE\",\"followsDelimiter\":\"/\",\"description\":\"No sequence sliding. The input time series is compared with the target sequence directly with no sliding. This option is the default.\",\"type\":\"standalone\"},{\"name\":\"INDEX\",\"followsDelimiter\":\"/\",\"description\":\"Slide by time index. The input time series is compared with the target sequence by observation index.\",\"type\":\"standalone\"},{\"name\":\"SEASON\",\"followsDelimiter\":\"/\",\"description\":\"Slide by seasonal index. The input time series is compared with the target sequence by seasonal index.\",\"type\":\"standalone\"}]},{\"name\":\"TRANSFORM=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the time series transformation to be applied to the accumulated time series.\",\"help\":\"TRANSFORM=NONE | LOG | SQRT | LOGISTIC | BOXCOX(number) | [USER-DEFINED]\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NONE\",\"followsDelimiter\":\"/\",\"description\":\"No transformation is applied. This option is the default.\",\"type\":\"standalone\"},{\"name\":\"LOG\",\"followsDelimiter\":\"/\",\"description\":\"Logarithmic transformation is applied.\",\"type\":\"standalone\"},{\"name\":\"SQRT\",\"followsDelimiter\":\"/\",\"description\":\"Square-root transformation is applied.\",\"type\":\"standalone\"},{\"name\":\"LOGISTIC\",\"followsDelimiter\":\"/\",\"description\":\"Logistic transformation is applied.\",\"type\":\"standalone\"},{\"name\":\"BOXCOX\",\"followsDelimiter\":\"/\",\"description\":\"Box-Cox transformation with parameter is applied, where the real number is between -5 and 5.\",\"help\":\"BOXCOX(number)\",\"type\":\"standalone\"},{\"name\":\"[USER-DEFINED]\",\"followsDelimiter\":\"/\",\"description\":\"Transformation is computed by a user-defined subroutine created using the FCMP procedure where [USER-DEFINED] is the subroutine name.\",\"type\":\"standalone\"}]},{\"name\":\"TRIMMISSING=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies how missing values (either actual or accumulated) are trimmed from the accumulated time series or ordered sequence for variables listed in the TARGET statement.\",\"help\":\"TRIMMISSING=NONE | LEFT | RIGHT | BOTH\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NONE\",\"followsDelimiter\":\"/\",\"description\":\"No missing value trimming is applied.\",\"type\":\"standalone\"},{\"name\":\"LEFT\",\"followsDelimiter\":\"/\",\"description\":\"Beginning missing values are trimmed.\",\"type\":\"standalone\"},{\"name\":\"RIGHT\",\"followsDelimiter\":\"/\",\"description\":\"Ending missing values are trimmed.\",\"type\":\"standalone\"},{\"name\":\"BOTH\",\"followsDelimiter\":\"/\",\"description\":\"Both beginning and ending missing value are trimmed. This is the default.\",\"type\":\"standalone\"}]},{\"name\":\"ZEROMISS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies how beginning and/or ending zero values (either actual or accumulated) are interpreted in the accumulated time series or ordered sequence for variables listed in the TARGET statement.\",\"help\":\"ZEROMISS=NONE | LEFT | RIGHT | BOTH\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NONE\",\"followsDelimiter\":\"/\",\"description\":\"Beginning and/or ending zeros are unchanged. This is the default.\",\"type\":\"standalone\"},{\"name\":\"LEFT\",\"followsDelimiter\":\"/\",\"description\":\"Beginning zeros are set to missing.\",\"type\":\"standalone\"},{\"name\":\"RIGHT\",\"followsDelimiter\":\"/\",\"description\":\"Ending zeros are set to missing.\",\"type\":\"standalone\"},{\"name\":\"BOTH\",\"followsDelimiter\":\"/\",\"description\":\"Both beginning and ending zeros are set to missing.\",\"type\":\"standalone\"}]}]}],\"supportSiteInformation\":{\"docsetId\":\"etsug\",\"docsetVersion\":\"latest\",\"docsetTargetFile\":\"etsug_similarity_toc.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/SIMLIN.json",
    "content": "{\"name\":\"SIMLIN\",\"statements\":[{\"name\":\"PROC SIMLIN\",\"description\":\"The SIMLIN procedure reads the coefficients for a set of linear structural equations, which are usually produced by the SYSLIN procedure. PROC SIMLIN then computes the reduced form and, if input data are given, uses the reduced form equations to generate predicted values. PROC SIMLIN is especially useful when dealing with sets of structural difference equations. The SIMLIN procedure can perform simulation or forecasting of the endogenous variables. † The SIMLIN procedure can be applied only to models that are: † o linear with respect to the parameters o linear with respect to the variables o square (as many equations as endogenous variables) o nonsingular (the coefficients of the endogenous variables form an invertible matrix)\",\"help\":\"PROC SIMLIN <DATA= SAS-data-set><EST= SAS-data-set><ESTPRINT><INTERIM= n><NOPRINT><NORED><OUTEST= SAS-data-set><START= n><TOTAL><TYPE= value>;     \\n\\tBY variables ;\\n\\n\\tENDOGENOUS variables ;\\n\\n\\tEXOGENOUS variables ;\\n\\n\\tID variables ;\\n\\n\\tLAGGED lag-var endogenous-var number ellipsis ;\\n\\n\\tOUTPUT <OUT= SAS-data-set><PREDICTED= names><RESIDUAL= names> ...;\\n\",\"arguments\":[{\"name\":\"DATA=\",\"optional\":true,\"description\":\"Specifies the SAS data set containing input data for the simulation. If the DATA= option is used, the data set specified must supply values for all exogenous variables throughout the simulation. If the DATA= option is not specified, no simulation of the system is performed, and only the reduced form and multipliers are computed.\",\"type\":\"value\"},{\"name\":\"EST=\",\"optional\":true,\"description\":\"Specifies the input data set containing the structural coefficients of the system. If EST= is omitted the most recently created SAS data set is used. The EST= data set is normally a \\\"TYPE=EST\\\" data set produced by the OUTEST= option of PROC SYSLIN. However, you can also build the EST= data set with a SAS DATA step.\",\"type\":\"value\"},{\"name\":\"ESTPRINT\",\"optional\":true,\"description\":\"Prints the structural coefficients read from the EST= data set.\",\"type\":\"standalone\"},{\"name\":\"INTERIM=\",\"optional\":true,\"description\":\"Requests that interim multipliers be computed for interims 1 through n. If not specified, no interim multipliers are computed. This feature is available only if there are no lags greater than 1.\",\"type\":\"value\"},{\"name\":\"NOPRINT\",\"optional\":true,\"description\":\"Suppresses all printed output.\",\"type\":\"standalone\"},{\"name\":\"NORED\",\"optional\":true,\"description\":\"Suppresses the printing of the reduced form coefficients.\",\"type\":\"standalone\"},{\"name\":\"OUTEST=\",\"optional\":true,\"description\":\"Specifies an output SAS data set to contain the reduced form coefficients and multipliers, in addition to the structural coefficients read from the EST= data set. The OUTEST= data set has the same form as the EST= data set. If the OUTEST= option is not specified, the reduced form coefficients and multipliers are not written to a data set.\",\"type\":\"value\"},{\"name\":\"START=\",\"optional\":true,\"description\":\"Specifies the observation number in the DATA= data set where the dynamic simulation is to be started. By default, the dynamic simulation starts with the first observation in the DATA= data set for which all variables (including lags) are not missing.\",\"type\":\"value\"},{\"name\":\"TOTAL\",\"optional\":true,\"description\":\"Requests that the total multipliers be computed. This feature is available only if there are no lags greater than 1.\",\"type\":\"standalone\"},{\"name\":\"TYPE=\",\"optional\":true,\"description\":\"Specifies the type of estimates to be read from the EST= data set. The TYPE= value must match the value of the _TYPE_ variable for the observations that you want to select from the EST= data set (TYPE=2SLS, for example).\",\"type\":\"value\"}]},{\"name\":\"BY\",\"description\":\"A BY statement can be used with PROC SIMLIN to obtain separate analyses for groups of observations defined by the BY variables.\",\"help\":\"BY variables \"},{\"name\":\"ENDOGENOUS\",\"aliases\":[\"ENDOG\",\"ENDO\"],\"description\":\"List the names of the endogenous (jointly dependent) variables in the ENDOGENOUS statement. The ENDOGENOUS statement can be abbreviated as ENDOG or ENDO.\",\"help\":\"ENDOGENOUS variables \"},{\"name\":\"EXOGENOUS\",\"aliases\":[\"EXOG\",\"EXO\"],\"description\":\"List the names of the exogenous (independent) variables in the EXOGENOUS statement. The EXOGENOUS statement can be abbreviated as EXOG or EXO.\",\"help\":\"EXOGENOUS variables \"},{\"name\":\"ID\",\"description\":\"The ID statement can be used to restrict the variables copied from the DATA= data set to the OUT= data set. Use the ID statement to list the variables you want copied to the OUT= data set besides the exogenous, endogenous, lagged endogenous, and BY variables. If the ID statement is omitted, all the variables in the DATA= data set are copied to the OUT= data set.\",\"help\":\"ID variables \"},{\"name\":\"LAGGED\",\"description\":\"For each lagged endogenous variable, specify the name of the lagged variable, the name of the endogenous variable that was lagged, and the degree of the lag. Only one LAGGED statement is allowed. The following is an example of the use of the LAGGED statement: proc simlin est=e; endog y1 y2; lagged y1lag1 y1 1 y2lag1 y2 1 y2lag3 y2 3; run; This statement specifies that the variable Y1LAG1 contains the values of the endogenous variable Y1 lagged one period; the variable Y2LAG1 refers to the values of Y2 lagged one period; and the variable Y2LAG3 refers to the values of Y2 lagged three periods.\",\"help\":\"LAGGED lag-var endogenous-var number ellipsis \"},{\"name\":\"OUTPUT\",\"description\":\"The OUTPUT statement specifies that predicted and residual values be put in an output data set. A DATA= input data set must be supplied if the OUTPUT statement is used, and only one OUTPUT statement is allowed.\",\"help\":\"OUTPUT &lt;OUT= SAS-data-set&gt;&lt;PREDICTED= names&gt;&lt;RESIDUAL= names&gt; ...\",\"arguments\":[{\"name\":\"OUT=\",\"optional\":true,\"description\":\"Names the output SAS data set to contain the predicted values and residuals. If OUT= is not specified, the output data set is named using the DATAn convention.\",\"type\":\"value\"},{\"name\":\"PREDICTED=\",\"optional\":true,\"aliases\":[\"P=\"],\"description\":\"Names the variables in the output data set that contain the predicted values of the simulation. These variables correspond to the endogenous variables in the order in which they are specified in the ENDOGENOUS statement. Specify up to as many names as there are endogenous variables. If you specify names on the PREDICTED= option for only some of the endogenous variables, predicted values for the remaining variables are not output. The names must not match any variable name in the input data set.\",\"type\":\"value\"},{\"name\":\"RESIDUAL=\",\"optional\":true,\"aliases\":[\"R=\"],\"description\":\"Names the variables in the output data set that contain the residual values from the simulation. The residuals are the differences between the actual values of the endogenous variables from the DATA= data set and the predicted values from the simulation. These variables correspond to the endogenous variables in the order in which they are specified in the ENDOGENOUS statement. Specify up to as many names as there are endogenous variables. The names must not match any variable name in the input data set.\",\"type\":\"value\"}]}],\"supportSiteInformation\":{\"docsetId\":\"etsug\",\"docsetVersion\":\"latest\",\"docsetTargetFile\":\"etsug_simlin_toc.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/SIMNORMAL.json",
    "content": "{\"name\":\"SIMNORMAL\",\"statements\":[{\"name\":\"PROC SIMNORMAL\",\"description\":\"The SIMNORMAL procedure can perform conditional and unconditional simulation for a set of correlated normal or Gaussian random variables. † The means, variances, and covariances (or correlations) are read from an input TYPE=CORR or TYPE=COV data set. This data set is typically produced by the CORR procedure. Conditional simulations are performed by appending a special observation, identified by the value of ’COND’ for the _TYPE_ variable, which contains the conditioning value. † The output data set from PROC SIMNORMAL contains simulated values for each of the analysis variables. Optionally, the output data set also contains the seed stream and the values of the conditioning variables. PROC SIMNORMAL produces no printed output.\",\"help\":\"PROC SIMNORMAL <DATA=SAS-data-set><NUMREAL=n><OUT=SAS-data-set><OUTCOND><OUTSEED><SEED=seed-value><SEEDBY><SINGULAR1=number><SINGULAR2=number>;     \\n\\tBY <DESCENDING><NOTSORTED> ;\\n\\n\\tCONDITION | COND variables ;\\n\\n\\tVAR variable ;\\n\",\"arguments\":[{\"name\":\"DATA=\",\"optional\":true,\"description\":\"Specifies the input data set that must be a specially structured TYPE=CORR, COV, UCORR, UCOV, or SSCP SAS data set.\",\"help\":\"DATA=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"NUMREAL=\",\"optional\":true,\"description\":\"Specifies the number of realizations to generate. A value of NUMREAL=500 generates 500 observations in the OUT=dataset, or 500 observations within each BY group if a BY statement is given.\",\"help\":\"NUMREAL=*n*\",\"type\":\"value\"},{\"name\":\"OUT=\",\"optional\":true,\"description\":\"Specifies a SAS data set in which to store the simulated values for the VAR variables. If you omit the OUT=option, the output data set is created and given a default name by using the DATAn convention.\",\"help\":\"OUT=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"OUTCOND\",\"optional\":true,\"description\":\"Requests that the values of the conditioning variables be included in the OUT= data set.\",\"type\":\"standalone\"},{\"name\":\"OUTSEED\",\"optional\":true,\"description\":\"Requests that the seed values be included in the OUT= data set. The variable Seed is added to the OUT= data set.\",\"type\":\"standalone\"},{\"name\":\"SEED=\",\"optional\":true,\"description\":\"Specifies the seed to use for the random number generator. If the SEED= value is omitted, the system clock is used.\",\"help\":\"SEED=*seed-value*\",\"type\":\"value\"},{\"name\":\"SEEDBY\",\"optional\":true,\"description\":\"Specifies that the seed stream be reinitialized for each BY group. By default, a single random stream is used over all BY groups.\",\"type\":\"standalone\"},{\"name\":\"SINGULAR1=\",\"optional\":true,\"description\":\"Specifies the first singularity criterion, which is applied to the Cholesky decomposition of the covariance matrix. The SINGULAR1= value must be in the range (0,1). The default value is 10⁻⁸.\",\"help\":\"SINGULAR1=*number*\",\"type\":\"value\"},{\"name\":\"SINGULAR2=\",\"optional\":true,\"description\":\"Specifies the second singularity criterion, which is applied to the sweeping of the covariance or correlation matrix to obtain the conditional covariance. The SINGULAR2= value must be in the range (0,1). The default value is 10⁻⁸.\",\"help\":\"SINGULAR2=*number*\",\"type\":\"value\"}]},{\"name\":\"BY\",\"description\":\"Obtains separate analyses on observations in groups defined by the BY variables.\",\"help\":\"BY &lt;DESCENDING&gt;&lt;NOTSORTED&gt;\",\"arguments\":[{\"name\":\"DESCENDING\",\"optional\":true,\"description\":\"Specifies that the observations are sorted in descending order by the variable that immediately follows the word DESCENDING in the BY statement.\",\"type\":\"standalone\"},{\"name\":\"NOTSORTED\",\"optional\":true,\"description\":\"Specifies that observations are not necessarily sorted in alphabetic or numeric order.\",\"type\":\"standalone\"}]},{\"name\":\"CONDITION\",\"description\":\"A CONDITION statement specifies the conditioning variables. The presence of a CONDITION statement requests that a conditional simulation be performed. The lack of a CONDITIONAL statement simply means that an unconditional simulation for the VAR variables is to be performed.\",\"help\":\"CONDITION | COND variables \"},{\"name\":\"VAR\",\"description\":\"Use the VAR statement to specify the analysis variables. Only numeric variables can be specified. If a VAR statement is not given, all numeric variables in the DATA= data set that are not in the CONDITION or BY statement are used.\",\"help\":\"VAR variable \"}],\"supportSiteInformation\":{\"docsetId\":\"statug\",\"docsetVersion\":\"latest\",\"docsetTargetFile\":\"statug_simnorm_toc.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/SIMSYSTEM.json",
    "content": "{\"name\":\"SIMSYSTEM\",\"statements\":[{\"name\":\"PROC SIMSYSTEM\",\"description\":\"invokes the SIMSYSTEM procedure\",\"help\":\"PROC SIMSYSTEM <options>;                 \\n\\tMOMENTGRID  SKEWNESS=values KURTOSIS=values<MEAN=values STDDEV=values>;                 \\n\\n\\tMOMENTS  SKEWNESS=values KURTOSIS=values<MEAN=values STDDEV=values>;                 \\n\\n\\tOUTPUT  OUT=libref.data-table <keyword=name...keyword=name>;                 \\n\",\"arguments\":[{\"name\":\"CDF=\",\"optional\":true,\"description\":\"specifies values at which to compute the exact cumulative probability for each distribution\",\"help\":\"CDF=*values*\",\"type\":\"value\"},{\"name\":\"DATA=\",\"optional\":true,\"description\":\"names the input data table for PROC SIMSYSTEM to use\",\"help\":\"DATA=*libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"MOMENTREPS\",\"optional\":true,\"aliases\":[\"MREPS\"],\"description\":\"displays sample moments for individual samples when multiple replicates are computed by using the NREP= option\",\"type\":\"standalone\"},{\"name\":\"N=\",\"optional\":true,\"description\":\"specifies the number of simulated values to compute for each distribution\",\"help\":\"N=*value*\",\"type\":\"value\"},{\"name\":\"NOPRINT\",\"optional\":true,\"description\":\"suppresses the normal display of results\",\"type\":\"standalone\"},{\"name\":\"NREP=\",\"optional\":true,\"description\":\"specifies the number of sample replicates to compute for each distribution\",\"help\":\"NREP=*value*\",\"type\":\"value\"},{\"name\":\"PDF=\",\"optional\":true,\"description\":\"specifies values at which to compute the exact probability density function for each distribution\",\"help\":\"PDF=*values*\",\"type\":\"value\"},{\"name\":\"QUANTILE=\",\"optional\":true,\"description\":\"specifies probability values at which to compute the exact quantiles for each distribution, where each of the specified values must be between 0 and 1, inclusive\",\"help\":\"QUANTILE=*values*\",\"type\":\"value\"},{\"name\":\"PLOTS\",\"optional\":true,\"description\":\"controls the plots produced through ODS Graphics\",\"help\":\"PLOTS &lt;(*global-plot-options*)&gt; &lt;=*plot-request*&lt;(*options*)&gt;&gt;\",\"type\":\"standaloneOrValue\",\"arguments\":[{\"name\":\"ONLY\",\"description\":\"suppresses the default plots (global-plot-option)\",\"type\":\"standalone\"},{\"name\":\"UNPACKPANEL\",\"aliases\":[\"UNPACK\"],\"description\":\"suppresses paneling (global-plot-option)\",\"type\":\"standalone\"},{\"name\":\"ALL\",\"description\":\"produces all appropriate plots\",\"type\":\"standalone\"},{\"name\":\"HISTOGRAM\",\"description\":\"modifies the histograms of sampled values\",\"help\":\"HISTOGRAM&lt;(UNPACK)&gt;\",\"type\":\"standaloneOrValue\"},{\"name\":\"MRMAP\",\"description\":\"modifies the moment-ratio map\",\"help\":\"MRMAP&lt;(INDEXLABELS)&gt;\",\"type\":\"standaloneOrValue\"},{\"name\":\"MRMAP\",\"description\":\"modifies the moment-ratio map\",\"help\":\"MRMAP&lt;(KURTSCALE=DIRECT | REVERSE)&gt;\",\"type\":\"standaloneOrValue\"},{\"name\":\"MRMAP\",\"description\":\"modifies the moment-ratio map\",\"help\":\"MRMAP&lt;(SKEWSCALE=ABS | SKEWNESS | SQUARE)&gt;\",\"type\":\"standaloneOrValue\"},{\"name\":\"NONE\",\"description\":\"suppresses all graphics\",\"type\":\"standalone\"}]},{\"name\":\"SEED=\",\"optional\":true,\"description\":\"specifies an integer to use to start the pseudorandom number generator for drawing samples\",\"help\":\"SEED=*n*\",\"type\":\"value\"},{\"name\":\"SIMPLETOL=\",\"optional\":true,\"description\":\"specifies a tolerance value to use in choosing to map input skewness and kurtosis values to those of a simpler distribution\",\"help\":\"SIMPLETOL=*n*\",\"type\":\"value\"},{\"name\":\"SYSTEM=\",\"optional\":true,\"description\":\"specifies the system to use to simulate data\",\"help\":\"SYSTEM=PEARSON | JOHNSON\",\"type\":\"choice\"}]},{\"name\":\"MOMENTGRID\",\"description\":\"specifies a grid of combinations of skewness and kurtosis for the distributions that you want to sample\",\"help\":\"MOMENTGRID  SKEWNESS=*values* KURTOSIS=*values*&lt;MEAN=*values* STDDEV=*values*&gt;;                                              \",\"arguments\":[{\"name\":\"KURTOSIS=\",\"optional\":true,\"description\":\"specifies values of kurtosis\",\"help\":\"KURTOSIS=*values*\",\"type\":\"value\"},{\"name\":\"SKEWNESS=\",\"optional\":true,\"description\":\"specifies the skewness values\",\"help\":\"SKEWNESS=*values*\",\"type\":\"value\"},{\"name\":\"MEAN=\",\"optional\":true,\"description\":\"specifies the mean values\",\"help\":\"MEAN=*values*\",\"type\":\"value\"},{\"name\":\"STDDEV=\",\"optional\":true,\"description\":\"specifies the standard deviation values\",\"help\":\"STDDEV=*values*\",\"type\":\"value\"}]},{\"name\":\"MOMENTS\",\"description\":\"specifies parallel lists of skewness and kurtosis for the distributions that you want to sample\",\"help\":\"MOMENTS  SKEWNESS=*values* KURTOSIS=*values*&lt;MEAN=*values* STDDEV=*values*&gt;;                                              \",\"arguments\":[{\"name\":\"KURTOSIS=\",\"optional\":true,\"description\":\"specifies values of kurtosis\",\"help\":\"KURTOSIS=*values*\",\"type\":\"value\"},{\"name\":\"SKEWNESS=\",\"optional\":true,\"description\":\"specifies values of skewness\",\"help\":\"SKEWNESS=*values*\",\"type\":\"value\"},{\"name\":\"MEAN=\",\"optional\":true,\"description\":\"specifies the mean values\",\"help\":\"MEAN=*values*\",\"type\":\"value\"},{\"name\":\"STDDEV=\",\"optional\":true,\"description\":\"specifies values of the standard deviation, which must be positive\",\"help\":\"STDDEV=*values*\",\"type\":\"value\"}]},{\"name\":\"OUTPUT\",\"description\":\"creates a new data table in which to save the values that are sampled from all specified distributions\",\"help\":\"OUTPUT  OUT=libref.data-table &lt;keyword=name...keyword=name&gt;;                                              \",\"arguments\":[{\"name\":\"OUT=\",\"description\":\"names the output data table for PROC SIMSYSTEM to use\",\"help\":\"OUT=*libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"IOBS=\",\"optional\":true,\"description\":\"assigns a name to the variable that indexes the observation within a replicate of the distribution being sampled\",\"help\":\"IOBS=*name*\",\"type\":\"value\"},{\"name\":\"KURT=\",\"optional\":true,\"description\":\"assigns a name to the variable that contains the kurtosis values\",\"help\":\"KURT=*name*\",\"type\":\"value\"},{\"name\":\"MEAN\",\"optional\":true,\"description\":\"adds the mean of the distribution being sampled to the output data table and optionally assigns a name to it\",\"help\":\"MEAN&lt;=*name*&gt;\",\"type\":\"standaloneOrValue\"},{\"name\":\"REPIDX=\",\"optional\":true,\"description\":\"assigns a name to the variable that indexes the replicate of the distribution being sampled\",\"help\":\"REPIDX=*name*\",\"type\":\"value\"},{\"name\":\"SIMIDX=\",\"optional\":true,\"description\":\"assigns a name to the variable that indexes the distribution being sampled\",\"help\":\"SIMIDX=*name*\",\"type\":\"value\"},{\"name\":\"SIMVALUE=\",\"optional\":true,\"description\":\"assigns a name to the variable that contains the sampled values\",\"help\":\"SIMVALUE=*name*\",\"type\":\"value\"},{\"name\":\"SKEW=\",\"optional\":true,\"description\":\"assigns a name to the variable that contains the skewness values\",\"help\":\"SKEW=*name*\",\"type\":\"value\"},{\"name\":\"STDDEV\",\"optional\":true,\"description\":\"adds the standard deviation of the distribution being sampled to the output data table and optionally assigns a name to it\",\"help\":\"STDDEV&lt;=*name*&gt;\",\"type\":\"standaloneOrValue\"}]}],\"supportSiteInformation\":{\"docsetId\":\"casstat\",\"docsetVersion\":\"latest\",\"docsetTargetFile\":\"casstat_simsystem_toc.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/SMCALIB.json",
    "content": "{\"name\":\"SMCALIB\",\"statements\":[{\"name\":\"PROC SMCALIB\",\"description\":\"invokes the procedure\",\"help\":\"PROC SMCALIB  NAME=libref.data-table<options>;                 \\n\\tOUTPUT <options>;                 \\n\\n\\tPROJECT  ID=project-ID;                 \\n\\n\\tSTORE libref.data-table;                 \\n\",\"arguments\":[{\"name\":\"NAME=\",\"optional\":true,\"description\":\"specifies the SAS data table (project repository) that contains the projects to be calibrated\",\"help\":\"NAME=*libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"MAXOBS=\",\"optional\":true,\"description\":\"specifies the maximum number of observations to retrieve for plotting\",\"help\":\"MAXOBS=*number*\",\"type\":\"value\"},{\"name\":\"NOPLOT\",\"optional\":true,\"description\":\"suppresses all graphical output\",\"type\":\"standalone\"},{\"name\":\"NTHREADS=\",\"optional\":true,\"description\":\"specifies the number of threads to use in the computation\",\"help\":\"NTHREADS=*number-of-threads*\",\"type\":\"value\"}]},{\"name\":\"OUTPUT\",\"description\":\"generates output tables that show the project calibration results\",\"help\":\"OUTPUT &lt;options&gt;;                                              \",\"arguments\":[{\"name\":\"HOLDOUTFIT=\",\"optional\":true,\"aliases\":[\"H=\"],\"description\":\"specifies the name of the SAS data table in which to store the holdout forecast values and the {library} in which to store the data table\",\"help\":\"HOLDOUTFIT=*libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"MODELFIT=\",\"optional\":true,\"aliases\":[\"FIT=\",\"F=\"],\"description\":\"specifies the name of the SAS data table in which to store fitted values for each model within each project that is calibrated and the {library} in which to store the data table\",\"help\":\"MODELFIT=*libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"SCOREINFO=\",\"optional\":true,\"aliases\":[\"SI=\"],\"description\":\"specifies the name of the SAS data table in which to store model-specific score information in human-readable format and the {library} in which to store the data table\",\"help\":\"SCOREINFO=*libref.data-table*\",\"type\":\"dataSet\"}]},{\"name\":\"PROJECT\",\"description\":\"specifies which project IDs from the current project repository are to be calibrated\",\"help\":\"PROJECT  ID=*project-ID*;                                              PROJECT  ID=(*project-ID-list*)                     PROJECT  ID=_ALL_                     \"},{\"name\":\"STORE\",\"description\":\"specifies a binary scoring repository in which to store scoring information for each model that is needed by the SMSCORE procedure\",\"help\":\"STORE *libref.data-table*;                                              SAVESTATE *libref.data-table*\"}],\"supportSiteInformation\":{\"docsetId\":\"casforecast\",\"docsetVersion\":\"latest\",\"docsetTargetFile\":\"casforecast_smcalib_toc.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/SMPROJECT.json",
    "content": "{\"name\":\"SMPROJECT\",\"statements\":[{\"name\":\"PROC SMPROJECT\",\"description\":\"invokes the procedure\",\"help\":\"PROC SMPROJECT  NAME=<libref.>data-table<options>;                 \\n\\tDATETIME variable-name;                 \\n\\n\\tINPUT variable-list;                 \\n\\n\\tMODEL model-spec-list</ options>;                 \\n\\n\\tSTABLE variable-name;                 \\n\\n\\tTARGET variable-name;                 \\n\",\"arguments\":[{\"name\":\"NAME=\",\"optional\":true,\"aliases\":[\"N=\"],\"description\":\"generates a SAS data set to contain the project repository\",\"help\":\"NAME=&lt;*libref.*&gt;*data-table*\",\"type\":\"dataSet\"},{\"name\":\"ALPHA=\",\"optional\":true,\"aliases\":[\"A=\"],\"description\":\"specifies the significance level for computing confidence limits for historical fit and holdout forecast\",\"help\":\"ALPHA=*significance-level*\",\"type\":\"value\"},{\"name\":\"BEST=\",\"optional\":true,\"description\":\"specifies how many best models from the successfully calibrated models for the project are to be selected for scoring\",\"help\":\"BEST=*number*\",\"type\":\"value\"},{\"name\":\"DATA=\",\"optional\":true,\"description\":\"specifies a name to be used for the training data table for this project\",\"help\":\"DATA=&lt;*libref.*&gt;*data-table*\",\"type\":\"dataSet\"},{\"name\":\"FORCEALPHA\",\"optional\":true,\"aliases\":[\"FA\"],\"description\":\"forces the value of the ALPHA= option in this statement (this value is called the project-defined significance level) to override any model-specific values that are specified in the ALPHA= option in the REG or ARIMA statement of the SMSPEC procedure\",\"type\":\"standalone\"},{\"name\":\"FORCEHOLDOUT\",\"optional\":true,\"aliases\":[\"FH\"],\"description\":\"forces the value of the HOLDOUT= option in this statement (this value is called the project-defined holdout length) to override any model-specific holdout values that are specified in the HOLDOUT= option in the REG or ARIMA statement of the SMSPEC procedure\",\"type\":\"standalone\"},{\"name\":\"HOLDOUT=\",\"optional\":true,\"aliases\":[\"H=\"],\"description\":\"specifies the number of observations at the end of the training data set to be used for a holdout analysis for the project\",\"help\":\"HOLDOUT=*holdout-length*\",\"type\":\"value\"},{\"name\":\"ID=\",\"optional\":true,\"description\":\"specifies a numerical project ID\",\"help\":\"ID=*project-ID*\",\"type\":\"value\"},{\"name\":\"SELECT=\",\"optional\":true,\"description\":\"specifies the model selection criterion to select the best models for scoring according to the holdout analysis of the successfully calibrated models for the project: mean absolute percentage error (MAPE) or root mean square error (RMSE)\",\"help\":\"SELECT=MAPE | RMSE\",\"type\":\"choice\"},{\"name\":\"SCOREDATA=\",\"optional\":true,\"aliases\":[\"SCORE=\"],\"description\":\"specifies the name of the scoring data table for this project\",\"help\":\"SCOREDATA=&lt;*libref.*&gt;*data-table*\",\"type\":\"dataSet\"}]},{\"name\":\"DATETIME\",\"description\":\"specifies a datetime variable\",\"help\":\"DATETIME *variable-name*;                                              \"},{\"name\":\"INPUT\",\"description\":\"lists all explanatory variables available in the project\",\"help\":\"INPUT *variable-list*;                                              \"},{\"name\":\"MODEL\",\"description\":\"lists the names of model specifications that are used for the project calibration\",\"help\":\"MODEL *model-spec-list*&lt;/ *options*&gt;;                                              SPEC *model-spec-list*&lt;/ *options*&gt;\",\"arguments\":[{\"name\":\"FORCE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"forces model specifications that do not exist in the project repository libref to be included in the project\",\"type\":\"standalone\"},{\"name\":\"NOWARN\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses warnings that one or more model specifications are not found\",\"type\":\"standalone\"}]},{\"name\":\"STABLE\",\"description\":\"defines a stable flag variable to use for the project calibration\",\"help\":\"STABLE *variable-name*;                                              \"},{\"name\":\"TARGET\",\"description\":\"specifies the target variable---that is, the variable that is used for condition monitoring\",\"help\":\"TARGET *variable-name*;                                              \"}],\"supportSiteInformation\":{\"docsetId\":\"casforecast\",\"docsetVersion\":\"latest\",\"docsetTargetFile\":\"casforecast_smproject_toc.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/SMSCORE.json",
    "content": "{\"name\":\"SMSCORE\",\"statements\":[{\"name\":\"PROC SMSCORE\",\"description\":\"invokes the procedure\",\"help\":\"PROC SMSCORE  NAME=libref.data-table REP=libref.data-table<options>;                 \\n\\tOUTPUT  OUT=libref.data-table;                 \\n\\n\\tPROJECT  ID=(project-ID-list) <option>;                 \\n\",\"arguments\":[{\"name\":\"NAME=\",\"optional\":true,\"description\":\"specifies the SAS data table (project repository) that contains the projects to be scored\",\"help\":\"NAME=*libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"REP=\",\"optional\":true,\"aliases\":[\"SCOREREPOSITORY=\"],\"description\":\"specifies a binary scoring repository that contains information that is required for scoring for each calibrated model\",\"help\":\"REP=*libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"MODELS=\",\"optional\":true,\"description\":\"specifies a SAS data table that contains a list of project IDs and model IDs for which scoring is requested\",\"help\":\"MODELS=*libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"MAXOBS=\",\"optional\":true,\"description\":\"specifies the maximum number of observations to retrieve for plotting\",\"help\":\"MAXOBS=*number*\",\"type\":\"value\"},{\"name\":\"NOPLOT\",\"optional\":true,\"description\":\"suppresses all graphical output\",\"type\":\"standalone\"},{\"name\":\"NTHREADS=\",\"optional\":true,\"description\":\"specifies the number of threads to use in the computation\",\"help\":\"NTHREADS=*number-of-threads*\",\"type\":\"value\"}]},{\"name\":\"OUTPUT\",\"description\":\"generates the scoring output\",\"help\":\"OUTPUT  OUT=*libref.data-table*;                                              \",\"arguments\":[{\"name\":\"OUT=\",\"optional\":true,\"description\":\"specifies the SAS data table to contain the scoring output\",\"help\":\"OUT=*libref.data-table*\",\"type\":\"dataSet\"}]},{\"name\":\"PROJECT\",\"description\":\"specifies which project IDs from the current project repository are to be scored\",\"help\":\"PROJECT  ID=(*project-ID-list*) &lt;option&gt;;                                              \",\"arguments\":[{\"name\":\"MODELID=\",\"optional\":true,\"description\":\"specifies a comma-separated list of model IDs within parentheses\",\"help\":\"MODELID=(*model-ID-list*)\",\"type\":\"value\"}]}],\"supportSiteInformation\":{\"docsetId\":\"casforecast\",\"docsetVersion\":\"latest\",\"docsetTargetFile\":\"casforecast_smscore_toc.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/SMSELECT.json",
    "content": "{\"name\":\"SMSELECT\",\"statements\":[{\"name\":\"PROC SMSELECT\",\"description\":\"invokes the procedure\",\"help\":\"PROC SMSELECT  NAME=libref.data-table<options>;                 \\n\\tOUTPUT  OUT=libref.data-table;                 \\n\\n\\tPROJECT  ID=project-ID<options>;                 \\n\",\"arguments\":[{\"name\":\"NAME=\",\"optional\":true,\"description\":\"specifies the SAS data table (project repository) that contains calibrated projects for which the model selection is to be performed\",\"help\":\"NAME=*libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"INPUT=\",\"optional\":true,\"description\":\"specifies the SAS data table that contains holdout statistics for all calibrated models\",\"help\":\"INPUT=*libref.data-table*\",\"type\":\"dataSet\"}]},{\"name\":\"OUTPUT\",\"description\":\"generates the output for the selected models\",\"help\":\"OUTPUT  OUT=*libref.data-table*;                                              \",\"arguments\":[{\"name\":\"OUT=\",\"optional\":true,\"description\":\"specifies the SAS data table to contain the output for the selected models\",\"help\":\"OUT=*libref.data-table*\",\"type\":\"dataSet\"}]},{\"name\":\"PROJECT\",\"description\":\"specifies the subset of the projects from the current project repository for which model selection is to be performed\",\"help\":\"PROJECT  ID=*project-ID*&lt;options&gt;;                                              PROJECT  ID=(*project-ID-list*) &lt;options&gt;PROJECT  ID=_ALL_ &lt;options&gt;\",\"arguments\":[{\"name\":\"BEST=\",\"optional\":true,\"description\":\"specifies how many best models to select for each of the projects listed in the ID= option\",\"help\":\"BEST=*number*\",\"type\":\"value\"},{\"name\":\"MODELID=\",\"optional\":true,\"description\":\"specifies the IDs for the models to be selected\",\"help\":\"MODELID=(*model-ID-list*)\",\"type\":\"value\"},{\"name\":\"SELECT=\",\"optional\":true,\"description\":\"specifies the model selection criterion: mean absolute percentage error (MAPE) or root mean square error (RMSE)\",\"help\":\"SELECT=MAPE | RMSE\",\"type\":\"choice\"}]}],\"supportSiteInformation\":{\"docsetId\":\"casforecast\",\"docsetVersion\":\"latest\",\"docsetTargetFile\":\"casforecast_smselect_toc.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/SMSPEC.json",
    "content": "{\"name\":\"SMSPEC\",\"statements\":[{\"name\":\"PROC SMSPEC\",\"description\":\"invokes the procedure\",\"help\":\"PROC SMSPEC  ;                 \\n\\tARIMA  NAME=libref.data-table<options>;                 \\n\\n\\tINPUT variable-list </ options>;                 \\n\\n\\tREG  NAME=libref.data-table<options>;                 \\n\\n\\tTARGET  TRANSFORM=NONE | LOG | LOGM;                 \\n\"},{\"name\":\"ARIMA\",\"description\":\"requests an ARIMA model specification\",\"help\":\"ARIMA  NAME=*libref.data-table*&lt;*options*&gt;;                                              \",\"arguments\":[{\"name\":\"NAME=\",\"optional\":true,\"aliases\":[\"N=\"],\"description\":\"generates a data table, named data-table, in the specified {library} to contain the model specification\",\"help\":\"NAME=*libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"ALPHA=\",\"optional\":true,\"aliases\":[\"A=\"],\"description\":\"specifies the significance level for computing confidence limits for historical fit and holdout forecast\",\"help\":\"ALPHA=*significance-level*\",\"type\":\"value\"},{\"name\":\"HOLDOUT=\",\"optional\":true,\"aliases\":[\"H=\"],\"description\":\"specifies the length of holdout---that is, the number of observations at the end of a training data set to be used for holdout analysis as a part of the model calibration process\",\"help\":\"HOLDOUT=*holdout-length*\",\"type\":\"value\"},{\"name\":\"P=\",\"optional\":true,\"description\":\"specifies the range of values of autoregressive (AR) orders for ARIMA specification, where Pmin is an integer greater than or equal to 0 and Pmax is an integer greater than or equal to Pmin\",\"help\":\"P=*Pmin*:*Pmax*\",\"type\":\"value\"},{\"name\":\"Q=\",\"optional\":true,\"description\":\"specifies the range of values of moving average (MA) orders for ARIMA specification, where Qmin is an integer greater than or equal to 0 and Qmax is an integer greater than or equal to Qmin\",\"help\":\"Q=*Qmin*:*Qmax*\",\"type\":\"value\"}]},{\"name\":\"INPUT\",\"description\":\"specifies the list of explanatory variables for the model\",\"help\":\"INPUT *variable-list*&lt;/ options&gt;;                                              \",\"arguments\":[{\"name\":\"REQUIRED=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"REQ=\"],\"description\":\"specifies whether all the variables in the variable-list are required\",\"help\":\"REQUIRED=YES | NO\",\"type\":\"choice\"},{\"name\":\"TRANSFORM=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"TSF=\"],\"description\":\"specifies the transformation type for all variables in the variable-list\",\"help\":\"TRANSFORM=NONE | LOG | SQUARE | CUBE | LOGM\",\"type\":\"choice\"}]},{\"name\":\"REG\",\"description\":\"requests an OLS regression model specification\",\"help\":\"REG  NAME=*libref.data-table*&lt;*options*&gt;;                                              \",\"arguments\":[{\"name\":\"NAME=\",\"optional\":true,\"aliases\":[\"N=\"],\"description\":\"generates a data table, named data-table, in the specified {library} to contain the model specification\",\"help\":\"NAME=*libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"ALPHA=\",\"optional\":true,\"aliases\":[\"A=\"],\"description\":\"specifies the significance level for computing confidence limits for historical fit and holdout forecast\",\"help\":\"ALPHA=*significance-level*\",\"type\":\"value\"},{\"name\":\"HOLDOUT=\",\"optional\":true,\"aliases\":[\"H=\"],\"description\":\"specifies the length of holdout---that is, the number of observations at the end of a training data set to be used for holdout analysis as a part of the model calibration process\",\"help\":\"HOLDOUT=*holdout-length*\",\"type\":\"value\"}]},{\"name\":\"TARGET\",\"description\":\"specifies the transformation type for the target variable in the model\",\"help\":\"TARGET  TRANSFORM=NONE | LOG | LOGM;                                              \",\"arguments\":[{\"name\":\"TRANSFORM=\",\"optional\":true,\"aliases\":[\"TSF=\"],\"description\":\"specifies the transformation type: {Deflist} [LOG] specifies a natural log transformation: X\",\"help\":\"TRANSFORM=NONE | LOG | LOGM\",\"type\":\"choice\"}]}],\"supportSiteInformation\":{\"docsetId\":\"casforecast\",\"docsetVersion\":\"latest\",\"docsetTargetFile\":\"casforecast_smspec_toc.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/SORT.json",
    "content": "{\"name\":\"SORT\",\"statements\":[{\"name\":\"PROC SORT\",\"description\":\"Orders SAS data set observations by the values of one or more character or numeric variables.\",\"help\":\"PROC SORT  <collating-sequence-option><other options>;      \\n\\tATTRIB  variable-list(s) attribute-list(s);\\n\\tBY  <DESCENDING>variable-1<<DESCENDING>variable-2  ...>;    \\n\\tFORMAT variable-1< ...variable-n><format><DEFAULT=default-format>;\\n\\tKEY  variable(s)  </ option>;\\n\\tLABEL variable-1=label-1< ...variable-n=label-n>;\\n\\tWHERE where-expression-1\\n\\t\\t<logical-operator where-expression-n>; \",\"arguments\":[{\"name\":\"ASCII\",\"optional\":true,\"description\":\"specifies ASCII.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p194jxlamn9lq8n1mmlcfr65anyk\"},{\"name\":\"DANISH\",\"optional\":true,\"description\":\"specifies Danish.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1ipbziz7q5usmn1mmj6oivveakk\"},{\"name\":\"EBCDIC\",\"optional\":true,\"description\":\"specifies EBCDIC.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0y6qxptxybf4fn1qyg11li1a17i\"},{\"name\":\"FINNISH\",\"optional\":true,\"description\":\"specifies Finnish.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n131h03qjogy9sn1us61avyd0enb\"},{\"name\":\"NATIONAL\",\"optional\":true,\"description\":\"specifies a customized sequence.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0whf2r7ny7m2zn11njeza4wg2j9\"},{\"name\":\"NORWEGIAN\",\"optional\":true,\"description\":\"specifies Norwegian.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1bdf35cofsqfmn1nhzc9c37dswj\"},{\"name\":\"REVERSE\",\"optional\":true,\"description\":\"reverses the collation order for character variables.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n13ok8ey6vkphln1spi7evdqfhip\"},{\"name\":\"SWEDISH\",\"optional\":true,\"description\":\"specifies Swedish.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0e23zrab3z4azn1k5aayfxo9zvu\"},{\"name\":\"SORTSEQ=\",\"optional\":true,\"description\":\"specifies the collating sequence.\",\"help\":\"SORTSEQ=*collating-sequence*\",\"type\":\"value\",\"arguments\":[{\"name\":\"collating-sequence-option\",\"placeholder\":true,\"description\":\"specifies one of the PROC SORT statement collating-sequence-options (ASCII, DANISH, EBCDIC, FINNISH, NORWEGIAN, POLISH, REVERSE, SWEDISH) or a translation table, which can be one that SAS provides or any user-defined translation table. Translation tables provided by SAS are: ASCII, DANISH, EBCDIC, FINNISH, ITALIAN, NORWEGIAN, POLISH, REVERSE, SPANISH, and SWEDISH.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0h3wa9p7apg0kn154t3w6wutgib\"},{\"name\":\"translation_table\",\"placeholder\":true,\"description\":\"specifies one of the PROC SORT statement collating-sequence-options (ASCII, DANISH, EBCDIC, FINNISH, NORWEGIAN, POLISH, REVERSE, SWEDISH) or a translation table, which can be one that SAS provides or any user-defined translation table. Translation tables provided by SAS are: ASCII, DANISH, EBCDIC, FINNISH, ITALIAN, NORWEGIAN, POLISH, REVERSE, SPANISH, and SWEDISH.\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"n0h3wa9p7apg0kn154t3w6wutgib\"},{\"name\":\"encoding-value\",\"placeholder\":true,\"description\":\"specifies an encoding value. The result is the same as a binary collation of the character data represented in the specified encoding. See the supported encoding value in the .\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0l0egd8z0e75an1g9h224fqufyw\"},{\"name\":\"LINGUISTIC\",\"aliases\":[\"UCA\"],\"description\":\"specifies linguistic collation, which sorts characters in a culturally sensitive manner according to rules that are associated with a language and locale. The rules and default collating-sequence options are based on the language that is specified in the current locale setting. The implementation is provided by the International Components for Unicode (ICU) library. It produces results that are largely compatible with the Unicode Collation Algorithms (UCA). For more information, see .\",\"help\":\" LINGUISTIC&lt;*(collating-options )*&gt;\",\"type\":\"value\",\"arguments\":[{\"name\":\"ALTERNATE_HANDLING=\",\"description\":\"controls the handling of variable characters like spaces, punctuation, and symbols. When this option is not specified (using the default value Non-Ignorable), differences among these variable characters are of the same importance as differences among letters. If the ALTERNATE_HANDLING option is specified, these variable characters are of minor importance.\",\"help\":\"ALTERNATE_HANDLING=SHIFTED\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1cnbe7hip6jh5n1xnarz6yt40mp\"},{\"name\":\"CASE_FIRST=\",\"description\":\"specifies the order of uppercase and lowercase letters. This argument is valid for only TERTIARY, QUATERNARY, or IDENTICAL levels. The following table provides the values and information for the CASE_FIRST argument:\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0dl89x207ixyun1r4q4azfio4di\"},{\"name\":\"COLLATION=\",\"description\":\"specifies character ordering. The following table lists the available COLLATION= values.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0rqyvfm1jfgipn1ehgi56fr3qzj\"},{\"name\":\"LOCALE=\",\"description\":\"specifies the locale name in the form of a POSIX name (for example, ja_JP). For a list of locale and POSIX values supported by PROC SORT, see .\",\"help\":\"LOCALE=*locale_name*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p10qvoeemggi75n11vj6q1xlaj91\"},{\"name\":\"NUMERIC_COLLATION=\",\"description\":\"orders integer values within the text by the numeric value instead of characters used to represent the numbers.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1ajqxn8hakv73n1nsle8zki17cc\"},{\"name\":\"STRENGTH=\",\"aliases\":[\"LEVEL=\"],\"description\":\"The value of strength is related to the collation level. There are five collation-level values. The following table provides information about the five levels. The default value for strength is related to the locale.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n08sgscstlqxsan1oinqunto7quj\"}],\"supportSiteTargetFragment\":\"n1fsdx37b5hd29n1tv5ojjhxs8no\"}],\"supportSiteTargetFragment\":\"p1dk9rilshmaj1n1pbrnwwxiuf71\"},{\"name\":\"DATA=\",\"optional\":true,\"description\":\"specifies the input data set.\",\"help\":\"DATA=*SAS-data-set*\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"p07ovngjpvkgg7n1371u85yut4le\"},{\"name\":\"DATECOPY\",\"optional\":true,\"description\":\"sorts a SAS data set without changing the created and modified dates.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n055vtd5svvw1sn1ckgrtweavgnv\"},{\"name\":\"DUPOUT=\",\"optional\":true,\"description\":\"specifies the output data set to which duplicate observations are written.\",\"help\":\"DUPOUT=*SAS-data-set*\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"p0k9v2soi4rps5n1m8fetjz9o2yr\"},{\"name\":\"EQUALS\",\"optional\":true,\"description\":\"specifies the relative order within BY groups.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p017kktdik5qqkn1rclxnqkjq7xn\"},{\"name\":\"FORCE\",\"optional\":true,\"description\":\"forces redundant sorting.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1e9plnxrf9fe5n1o0odqso8p0q1\"},{\"name\":\"NODUPKEY\",\"optional\":true,\"description\":\"deletes observations with duplicate BY values.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1vj0k9e0ir1o7n1vg3s4kcwiswg\"},{\"name\":\"NOEQUALS\",\"optional\":true,\"description\":\"does not maintain relative order within BY groups.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1vaduzy8ahhnqn1m6folrl3olz6\"},{\"name\":\"NOTHREADS\",\"optional\":true,\"description\":\"prevents threaded sorting.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n17yegmo8q348qn1hq8wv31m9mal\"},{\"name\":\"NOUNIQUEKEY\",\"optional\":true,\"aliases\":[\"NOUNIKEY\",\"NOUNIKEYS\",\"NOUNIQUEKEYS\"],\"description\":\"eliminates observations from the output data set that have a unique sort key.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0pma5x6zaacqun1e3ik73g3tz78\"},{\"name\":\"OUT=\",\"optional\":true,\"description\":\"specifies the output data set.\",\"help\":\"OUT=*SAS-data-set*\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"p08v4jvfqmpgbhn1etfnzr5swug6\"},{\"name\":\"OVERWRITE\",\"optional\":true,\"description\":\"deletes the input data set before the replacement output data set is populated.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p03c089xaye9nbn1l7zqwgukt8aw\"},{\"name\":\"PRESORTED\",\"optional\":true,\"description\":\"specifies whether the data set is likely already sorted.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1vkld5nbc46lgn166zqz7k87aka\"},{\"name\":\"SORTSIZE=\",\"optional\":true,\"aliases\":[\"SIZE=\"],\"description\":\"specifies the available memory.\",\"help\":\"SORTSIZE=*memory-specification*\",\"type\":\"value\",\"arguments\":[{\"name\":\"MAX\",\"description\":\"specifies that all available memory can be used.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1mg0luxf4xrccn1rjpe741vq6c0\"},{\"name\":\"n\",\"placeholder\":true,\"description\":\"specifies the amount of memory in bytes, where n is a real number.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0xou8fkanka8an1jlm41kdnkcyn\"},{\"name\":\"K\",\"description\":\"specifies the amount of memory in kilobytes, where n is a real number.\",\"help\":\"*n*K\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1mtbsxw647y4xn13ecc96jyqrwi\"},{\"name\":\"M\",\"description\":\"specifies the amount of memory in megabytes, where n is a real number.\",\"help\":\"*n*M\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0mcslnpnn9hy0n180r80nn3q2fv\"},{\"name\":\"G\",\"description\":\"specifies the amount of memory in gigabytes, where n is a real number.\",\"help\":\"*n*G\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1847k9kdctzm1n1id8mwcsjzzgz\"}],\"supportSiteTargetFragment\":\"n15wziaa0pxk07n159jebn68bifx\"},{\"name\":\"TAGSORT\",\"optional\":true,\"description\":\"reduces temporary disk usage.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n16kpz92dhej7pn1ql6tl0xbyyjc\"},{\"name\":\"THREADS\",\"optional\":true,\"description\":\"enables or prevents the activation of threaded sorting.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0yw0jz9h57iacn1vmn4lreohdqr\"},{\"name\":\"UNIQUEOUT=\",\"optional\":true,\"aliases\":[\"UNIOUT=\"],\"description\":\"specifies the output data set for eliminated observations.\",\"help\":\"UNIQUEOUT=*SAS-data-set*\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"p173hot9zbtofon1wx4n4wt9fbuc\"}],\"supportSiteTargetFile\":\"p02bhn81rn4u64n1b6l00ftdnxge.htm\"},{\"name\":\"ATTRIB\",\"description\":\"Associates a format, informat, label, and length with one or more variables.\",\"help\":\"ATTRIB  *variable-list(s)**attribute-list(s)*;\",\"arguments\":[{\"name\":\"variable-list\",\"optional\":true,\"placeholder\":true,\"description\":\"names the variables that you want to associate with the attributes.\",\"help\":\"*variable-list(s)*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1nd0mq22iu6ovn14mz1ot1hwcjig\"},{\"name\":\"FORMAT=\",\"description\":\"associates a format with variables in variable-list.\",\"help\":\"FORMAT=*format*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p08pt9ce6bhq86n18a3zcc97bldzg\"},{\"name\":\"INFORMAT=\",\"description\":\"associates an informat with variables in variable-list.\",\"help\":\"INFORMAT=*informat*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n136glco6ritqdn160792yhk9mv1g\"},{\"name\":\"LABEL=\",\"description\":\"associates a label with variables in variable-list.\",\"help\":\"LABEL='*label*' \",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0a9x9io5pi05mn1i4p2cphc7t0ng\"}],\"supportSiteTargetFile\":\"n04pixwhr1atzln1dow0e10lyibsg.htm\"},{\"name\":\"BY\",\"description\":\"Specifies the sorting variables.\",\"help\":\"BY &lt;DESCENDING&gt;*variable-1*&lt;&lt;DESCENDING&gt;*variable-2* ...&gt;;\",\"arguments\":[{\"name\":\"variable\",\"placeholder\":true,\"description\":\"specifies the variable by which PROC SORT sorts the observations. PROC SORT first arranges the data set by the values in ascending order, by default, of the first BY variable. PROC SORT then arranges any observations that have the same value of the first BY variable by the values of the second BY variable in ascending order. This sorting continues for every specified BY variable.\",\"help\":\"*variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1tjv4omlw9i3wn1nxrmj9av19lv\"},{\"name\":\"DESCENDING\",\"optional\":true,\"description\":\"reverses the sort order for the variable that immediately follows in the statement so that observations are sorted from the largest value to the smallest value. The DESCENDING keyword modifies the variable that follows it.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0gvg7pm9f2mn5n159gl4ne9k3ou\"}],\"supportSiteTargetFile\":\"p00h649h18r3ywn1g3kdu8lppg4s.htm\"},{\"name\":\"FORMAT\",\"description\":\"Associates formats with variables.\",\"help\":\"FORMAT *variable-1*&lt; ...*variable-n*&gt;*format**variable-1*&lt; ...*variable-n*&gt;*format*;\",\"arguments\":[{\"name\":\"variable\",\"optional\":true,\"placeholder\":true,\"description\":\"names one or more variables for SAS to associate with a format. You must specify at least one variable.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1d0cionbspk2tn1ma0m6kjd1ntxg\"},{\"name\":\"format\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the format that is listed for writing the values of the variables.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n15nxwcex8m202n1dp4xwbds95t9g\"}],\"supportSiteTargetFile\":\"p02hzcxsifsk8dn1a53t49zqd82cg.htm\"},{\"name\":\"KEY\",\"description\":\"Specifies sorting keys and variables. The KEY statement is an alternative to the BY statement. The KEY statement syntax allows for the future possibility of specifying different collation options for each KEY variable. Currently, the only options allowed are ASCENDING and DESCENDING.\",\"help\":\"KEY *variable(s)*&lt;/ *option*&gt; ;\",\"arguments\":[{\"name\":\"variable\",\"placeholder\":true,\"description\":\"specifies the variable by which PROC SORT orders the observations. Multiple variables can be specified. Each of these variables must be separated by a space. A range of variables can also be specified. For example, the following code shows how to specify multiple variables and a range of variables:\",\"help\":\"*variable(s)*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1d8md3e91ggyan19qbo10uxmq56\"},{\"name\":\"ASCENDING\",\"optional\":true,\"aliases\":[\"ASC\"],\"description\":\"sorts in ascending order the variable or variables that it follows. Observations are sorted from the smallest value to the largest value. The ASCENDING keyword modifies all the variables that precede it in the KEY statement.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1tt82xpkbqbe8n1v967yzbxd6jj\"},{\"name\":\"DESCENDING\",\"optional\":true,\"aliases\":[\"DESC\"],\"description\":\"reverses the sort order for the variable that it follows in the statement so that observations are sorted from the largest value to the smallest value. The DESCENDING keyword modifies all the variables that it precedes in the KEY statement.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1iuy6090d9txfn1i3dewj2aml2z\"}],\"supportSiteTargetFile\":\"n12jw1r2n7auqqn1urrh8jwezk00.htm\"},{\"name\":\"LABEL\",\"description\":\"Assigns descriptive labels to variables.\",\"help\":\"LABEL variable-1 = 'text-string' < ...variable-n = 'text-string'>;\\nLABEL variable-1 = ' ' < ...variable-n=’ ‘>; | variable-1 = < ...variable-n= >;\",\"arguments\":[{\"name\":\"text-string\",\"placeholder\":true,\"description\":\"specifies a label of up to 256 bytes.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n09u0k5ydxzgr3n1dfznhvex7uuog\"},{\"name\":\"'\",\"placeholder\":true,\"description\":\"removes a label from a variable. Enclose a single blank space in quotation marks to remove an existing label. You can remove labels from multiple variables in a single LABEL statement:\",\"help\":\"*' '*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1dl99omzes92cn1typpf6yl1ng0g\"}],\"supportSiteTargetFile\":\"p1s0j2pii3oj7fn1f87s02j4zo52g.htm\"},{\"name\":\"WHERE\",\"description\":\"Subsets the input data set by specifying certain conditions that each observation must meet before it is available for processing.\",\"help\":\"WHERE where-expression-1\\n<logical-operator where-expression-n>; \",\"arguments\":[{\"name\":\"where-expression\",\"optional\":true,\"placeholder\":true,\"description\":\"is an arithmetic or logical expression that generally consists of a sequence of operands and operators.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p04iz9sx1znb6en1ptu9o3h9ns07g\"},{\"name\":\"logical-operator\",\"optional\":true,\"placeholder\":true,\"description\":\"can be AND, AND NOT, OR, or OR NOT.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0xd4nxmu81y3rn1lzcij1t759lng\"}],\"supportSiteTargetFile\":\"n0yu3xyqnznndnn0z1v515xzfebog.htm\"}],\"supportSiteInformation\":{\"docsetId\":\"proc\",\"docsetVersion\":\"v_002\",\"docsetTargetFile\":\"p1nd17xr6wof4sn19zkmid81p926.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/SPARSEML.json",
    "content": "{\"name\":\"SPARSEML\",\"statements\":[{\"name\":\"PROC SPARSEML\",\"description\":\"invokes the procedure\",\"help\":\"PROC SPARSEML <options>;                 \\n\\tINPUT  variable;                 \\n\\n\\tOUTPUT  OUT=libref.data-table<option>;                 \\n\\n\\tSAVESTATE  RSTORE=libref.data-table;                 \\n\",\"arguments\":[{\"name\":\"C=\",\"optional\":true,\"description\":\"specifies the penalty value, where number must be a real number greater than 0\",\"help\":\"C=*number*\",\"type\":\"value\"},{\"name\":\"MAXITERS=\",\"optional\":true,\"description\":\"specifies the maximum number of iterations before the process stops, where number is a positive integer\",\"help\":\"MAXITERS=*number*\",\"type\":\"value\"},{\"name\":\"NTHREADS=\",\"optional\":true,\"description\":\"specifies the number of threads to use in the computation\",\"help\":\"NTHREADS=*number-of-threads*\",\"type\":\"value\"},{\"name\":\"PRINTLEVEL=\",\"optional\":true,\"description\":\"specifies a level value from which the ODS information tables are printed\",\"help\":\"PRINTLEVEL=*level-value*\",\"type\":\"value\"},{\"name\":\"REGL1=\",\"optional\":true,\"description\":\"specifies the L1 norm penalization weight\",\"help\":\"REGL1=*number*\",\"type\":\"value\"},{\"name\":\"REGL2=\",\"optional\":true,\"description\":\"specifies the L2 norm penalization weight\",\"help\":\"REGL2=*number*\",\"type\":\"value\"},{\"name\":\"SEED=\",\"optional\":true,\"description\":\"specifies a nonnegative integer as the random number seed\",\"help\":\"SEED=*value*\",\"type\":\"value\"},{\"name\":\"TOLERANCE=\",\"optional\":true,\"description\":\"specifies the minimal absolute tolerance at which the iteration stops\",\"help\":\"TOLERANCE=*number*\",\"type\":\"value\"}]},{\"name\":\"INPUT\",\"description\":\"specifies the name of the input variable to use in training\",\"help\":\"INPUT  variable;                                              \"},{\"name\":\"OUTPUT\",\"description\":\"creates an output data table that contains the predicted values of the input data table\",\"help\":\"OUTPUT  OUT=*libref.data-table*&lt;option&gt;;                                              \",\"arguments\":[{\"name\":\"COPYVAR=\",\"optional\":true,\"aliases\":[\"COPYVARS=\"],\"description\":\"lists one or more variables from the input data table that are transferred to the output data table\",\"help\":\"COPYVAR={*variable*}\",\"type\":\"value\"}]},{\"name\":\"SAVESTATE\",\"description\":\"creates an analytic store for the model and saves it as a binary object in a data table\",\"help\":\"SAVESTATE  RSTORE=*libref.data-table*;                                              \",\"arguments\":[{\"name\":\"RSTORE=\",\"optional\":true,\"description\":\"specifies a data table in which to save the analytic store for the model\",\"help\":\"RSTORE=*libref.data-table*\",\"type\":\"dataSet\"}]}],\"supportSiteInformation\":{\"docsetId\":\"casml\",\"docsetVersion\":\"latest\",\"docsetTargetFile\":\"casml_sparseml_toc.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/SPC.json",
    "content": "{\"name\":\"SPC\",\"statements\":[{\"name\":\"PROC SPC\",\"description\":\"The SPC procedure performs Shewhart control chart analysis in SAS Viya. † The Shewhart control chart is a graphical and analytical tool for deciding whether a process is in a state of statistical control. You can use the SPC procedure to compute many different types of control charts, including all commonly used charts for variables and attributes.\",\"help\":\"PROC SPC <DATA=CAS-libref.data-table><LIMITS=CAS-libref.data-table><NTHREADS=n><PROCESSNAME=variable><PROCESSVALUE=variable><SUBGROUPNAME=variable><SUBGROUPVALUE=variable>;     \\n\\tBOXCHART <ALLN><CONTROLSTAT=<MEAN | MEDIAN>><EXCHART> ...;\\n\\n\\tBY variables;\\n\\n\\tCCHART <ALLN><EXCHART><LIMITN=n> ...;\\n\\n\\tIRCHART <EXCHART><NMVGRANGE=n><NO3SIGMACHECK> ...;\\n\\n\\tMCHART <ALLN><EXCHART><LIMITN=n> ...;\\n\\n\\tMRCHART <ALLN><EXCHART><LIMITN=n> ...;\\n\\n\\tNPCHART <ALLN><EXCHART><LIMITN=n> ...;\\n\\n\\tPCHART <ALLN><EXCHART><LIMITN=n> ...;\\n\\n\\tRCHART <ALLN><EXCHART><LIMITN=n> ...;\\n\\n\\tSCHART <ALLN><EXCHART><LIMITN=n> ...;\\n\\n\\tUCHART <ALLN><EXCHART><LIMITN=n> ...;\\n\\n\\tXCHART <ALLN><EXCHART><LIMITN=n> ...;\\n\\n\\tXRCHART <ALLN><EXCHART><LIMITN=n> ...;\\n\\n\\tXSCHART <ALLN><EXCHART><LIMITN=n> ...;\\n\",\"arguments\":[{\"name\":\"DATA=\",\"optional\":true,\"description\":\"Specifies the input data table that contains process information for PROC SPC to analyze. CAS-libref specifies the CAS library where the input data table resides, and data-table specifies the name of the input data table.\",\"help\":\"DATA=*CAS-libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"LIMITS=\",\"optional\":true,\"description\":\"Names an input data table that contains preestablished control limits or the parameters from which control limits can be computed.\",\"help\":\"LIMITS=*CAS-libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"NTHREADS=\",\"optional\":true,\"description\":\"Specifies the number of threads per node to be used to perform the analysis. You can specify a number between 1 and 64, inclusive. By default, n is the maximum number of threads available on each node.\",\"help\":\"NTHREADS=*n*\",\"type\":\"value\"},{\"name\":\"PROCESSNAME=\",\"optional\":true,\"description\":\"Specifies the variable in the input data table that contains the names of processes to be analyzed.\",\"help\":\"PROCESSNAME=*variable*\",\"type\":\"value\"},{\"name\":\"PROCESSVALUE=\",\"optional\":true,\"description\":\"Specifies the variable in the input data table that contains process measurements to be analyzed. By default, PROC SPC looks for a variable named process that contains the process measurements.\",\"help\":\"PROCESSVALUE=*variable*\",\"type\":\"value\"},{\"name\":\"SUBGROUPNAME=\",\"optional\":true,\"description\":\"Specifies the variable in the input data table that contains the names of subgroup variables.\",\"help\":\"SUBGROUPNAME=*variable*\",\"type\":\"value\"},{\"name\":\"SUBGROUPVALUE=\",\"optional\":true,\"description\":\"Specifies the variable in the input data table that contains subgroup values. Subgroup values identify rational subgroups for control chart analysis. By default, PROC SPC looks for a variable named subgroup that contains the subgroup values.\",\"help\":\"SUBGROUPVALUE=*variable*\",\"type\":\"value\"}]},{\"name\":\"BOXCHART\",\"description\":\"The BOXCHART statement computes control charts for subgroup means or medians, along with statistics that describe the distribution of data within each subgroup.\",\"help\":\"BOXCHART &lt;ALLN&gt;&lt;CONTROLSTAT=&lt;MEAN | MEDIAN&gt;&gt;&lt;EXCHART&gt; ...\",\"arguments\":[{\"name\":\"ALLN\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Includes all subgroups in the analysis, regardless of whether the subgroup sample size equals the nominal control limit sample size n specified by the LIMITN= option or the variable _LIMITN_ in the LIMITS= data table. Use the ALLN option in conjunction with the LIMITN= option or the variable _LIMITN_.\",\"type\":\"standalone\"},{\"name\":\"CONTROLSTAT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies whether the control limits displayed in a box chart are to be computed for subgroup means or for subgroup medians.\",\"help\":\"CONTROLSTAT=MEAN | MEDIAN\",\"type\":\"choice\",\"arguments\":[{\"name\":\"MEAN\",\"followsDelimiter\":\"/\",\"description\":\"Specifies that the control limits displayed in a box chart are to be computed for subgroup means.\",\"type\":\"standalone\"},{\"name\":\"MEDIAN\",\"followsDelimiter\":\"/\",\"description\":\"Specifies that the control limits displayed in a box chart are to be computed for subgroup medians.\",\"type\":\"standalone\"}]},{\"name\":\"EXCHART\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Includes a control chart in the results only when exceptions occur, specifically, when the control limits are exceeded or when any of the tests requested with the TESTS= option or the TESTS2= option are positive.\",\"type\":\"standalone\"},{\"name\":\"LIMITN=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies a nominal sample size for the control limits.\",\"help\":\"LIMITN=*n*\",\"type\":\"value\"},{\"name\":\"MEDCENTRAL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Identifies a method for estimating the process mean, µ, which is represented by the central line on a median chart.\",\"help\":\"MEDCENTRAL=AVGMEAN | AVGMED | MEDMED\",\"type\":\"choice\",\"arguments\":[{\"name\":\"AVGMEAN\",\"followsDelimiter\":\"/\",\"description\":\"Average of subgroup means\",\"type\":\"standalone\"},{\"name\":\"AVGMED\",\"followsDelimiter\":\"/\",\"description\":\"Average of subgroup medians\",\"type\":\"standalone\"},{\"name\":\"MEDMED\",\"followsDelimiter\":\"/\",\"description\":\"Median of subgroup medians\",\"type\":\"standalone\"}]},{\"name\":\"NO3SIGMACHECK\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Suppresses the check for 3σ limits when tests for special causes are requested.\",\"type\":\"standalone\"},{\"name\":\"NOPRINT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Suppresses the display of ODS output.\",\"type\":\"standalone\"},{\"name\":\"OUTLIMITS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Creates an output data table that saves the control limits.\",\"help\":\"OUTLIMITS=*CAS-libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"OUTTABLE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Creates an output SAS data table that saves the information plotted on the chart, including the subgroup variable values and their corresponding summary statistics and control limits.\",\"type\":\"value\"},{\"name\":\"PCTLDEF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies one of five definitions used to calculate percentiles in the construction of box-and-whiskers plots requested with the BOXCHART statement.\",\"help\":\"PCTLDEF=1 | 2 | 3 | 4 | 5\",\"type\":\"choice\",\"arguments\":[{\"name\":\"1\",\"followsDelimiter\":\"/\",\"description\":\"Definition 1 for computing quantile statistics\",\"type\":\"standalone\"},{\"name\":\"2\",\"followsDelimiter\":\"/\",\"description\":\"Definition 2 for computing quantile statistics\",\"type\":\"standalone\"},{\"name\":\"3\",\"followsDelimiter\":\"/\",\"description\":\"Definition 3 for computing quantile statistics\",\"type\":\"standalone\"},{\"name\":\"4\",\"followsDelimiter\":\"/\",\"description\":\"Definition 4 for computing quantile statistics\",\"type\":\"standalone\"},{\"name\":\"5\",\"followsDelimiter\":\"/\",\"description\":\"Definition 5 for computing quantile statistics\",\"type\":\"standalone\"}]},{\"name\":\"SIGMAS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the width of the control limits in terms of the multiple k of the standard error of the subgroup summary statistic plotted on the chart. The value of k must be positive. By default, k=3.\",\"help\":\"SIGMAS=*k*\",\"type\":\"value\"},{\"name\":\"SMETHOD=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies a method for estimating the process standard deviation, σ.\",\"help\":\"SMETHOD=MAD | MMR | MVGRANGE | RMSDF | RMVLUE | RNOWEIGHT | SMVLUE | SNOWEIGHT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"MAD\",\"followsDelimiter\":\"/\",\"description\":\"Calculates a median absolute deviation estimate for σ.\",\"type\":\"standalone\"},{\"name\":\"MMR\",\"followsDelimiter\":\"/\",\"description\":\"Calculates a median moving range estimate for σ.\",\"type\":\"standalone\"},{\"name\":\"MVGRANGE\",\"followsDelimiter\":\"/\",\"description\":\"Estimates σ based on a moving range of subgroup means.\",\"type\":\"standalone\"},{\"name\":\"RMSDF\",\"followsDelimiter\":\"/\",\"description\":\"Calculates a root-mean square estimate for σ.\",\"type\":\"standalone\"},{\"name\":\"RMVLUE\",\"followsDelimiter\":\"/\",\"description\":\"Calculates a minimum variance linear unbiased estimate for σ based on subgroup ranges.\",\"type\":\"standalone\"},{\"name\":\"RNOWEIGHT\",\"followsDelimiter\":\"/\",\"description\":\"Estimates σ as an unweighted average of unbiased subgroup estimates of σ based on subgroup ranges.\",\"type\":\"standalone\"},{\"name\":\"SMVLUE\",\"followsDelimiter\":\"/\",\"description\":\"Calculates a minimum variance linear unbiased estimate for σ based on subgroup standard deviations.\",\"type\":\"standalone\"},{\"name\":\"SNOWEIGHT\",\"followsDelimiter\":\"/\",\"description\":\"Estimates σ as an unweighted average of unbiased subgroup estimates of σ based on subgroup standard deviations.\",\"type\":\"standalone\"}]},{\"name\":\"TEST2RUN=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"TEST2RUN=run-length\",\"help\":\"TEST2RUN=7 | 8 | 9 | 11 | 14 | 20\",\"type\":\"choice\",\"arguments\":[{\"name\":\"7\",\"followsDelimiter\":\"/\",\"description\":\"7 in a row\",\"type\":\"standalone\"},{\"name\":\"8\",\"followsDelimiter\":\"/\",\"description\":\"8 in a row\",\"type\":\"standalone\"},{\"name\":\"9\",\"followsDelimiter\":\"/\",\"description\":\"9 in a row\",\"type\":\"standalone\"},{\"name\":\"11\",\"followsDelimiter\":\"/\",\"description\":\"At least 10 out of 11 in a row\",\"type\":\"standalone\"},{\"name\":\"14\",\"followsDelimiter\":\"/\",\"description\":\"At least 12 out of 14 in a row\",\"type\":\"standalone\"},{\"name\":\"20\",\"followsDelimiter\":\"/\",\"description\":\"At least 16 out of 20 in a row\",\"type\":\"standalone\"}]},{\"name\":\"TEST3RUN=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the length of the pattern for Test 3 requested with the TESTS= and TESTS2= options.\",\"help\":\"TEST3RUN=6 | 7 | 8*run-length*\",\"type\":\"value\",\"arguments\":[{\"name\":\"6\",\"followsDelimiter\":\"/\",\"description\":\"Length of the pattern is at least 6.\",\"type\":\"standalone\"},{\"name\":\"7\",\"followsDelimiter\":\"/\",\"description\":\"Length of the pattern is at least 7.\",\"type\":\"standalone\"},{\"name\":\"8\",\"followsDelimiter\":\"/\",\"description\":\"Length of the pattern is at least 8.\",\"type\":\"standalone\"}]},{\"name\":\"TESTNSTD\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"applies the tests for special causes requested with the TESTS= and TESTS2= options to standardized test statistics when the subgroup sample sizes are not constant.\",\"type\":\"standalone\"},{\"name\":\"TESTOVERLAP\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Applies tests for special causes (requested with the TESTS= or TESTS2= option) to overlapping patterns of points.\",\"type\":\"standalone\"},{\"name\":\"TESTS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests one or more tests for special causes, which are also known as runs tests, pattern tests, and Western Electric rules.\",\"help\":\"TESTS=1 | 2 | 3 | 4 | 5 | 6 | 7 | 8*index-list*\",\"type\":\"value\",\"arguments\":[{\"name\":\"1\",\"followsDelimiter\":\"/\",\"description\":\"One point beyond Zone A (outside the control limits)\",\"type\":\"standalone\"},{\"name\":\"2\",\"followsDelimiter\":\"/\",\"description\":\"Nine points in a row in Zone C or beyond on one side of the central line\",\"type\":\"standalone\"},{\"name\":\"3\",\"followsDelimiter\":\"/\",\"description\":\"Six points in a row steadily increasing\",\"type\":\"standalone\"},{\"name\":\"4\",\"followsDelimiter\":\"/\",\"description\":\"Fourteen points in a row alternating up and down\",\"type\":\"standalone\"},{\"name\":\"5\",\"followsDelimiter\":\"/\",\"description\":\"Two out of three points in a row in Zone A or beyond\",\"type\":\"standalone\"},{\"name\":\"6\",\"followsDelimiter\":\"/\",\"description\":\"Four out of five points in a row in Zone B or beyond\",\"type\":\"standalone\"},{\"name\":\"7\",\"followsDelimiter\":\"/\",\"description\":\"Fifteen points in a row in Zone C on either or both sides of the central line\",\"type\":\"standalone\"},{\"name\":\"8\",\"followsDelimiter\":\"/\",\"description\":\"Eight points in a row on either or both sides of the central line with no points in Zone C\",\"type\":\"standalone\"}]}]},{\"name\":\"BY\",\"description\":\"You can specify a BY statement in PROC SPC to obtain separate analyses of observations in groups that are defined by the values of the BY variables. If you specify more than one BY statement, only the last one specified is used.\",\"help\":\"BY variables\"},{\"name\":\"CCHART\",\"description\":\"The CCHART statement computes c charts for the numbers of nonconformities (defects) in subgroup samples.\",\"help\":\"CCHART &lt;ALLN&gt;&lt;EXCHART&gt;&lt;LIMITN=n&gt; ...\",\"arguments\":[{\"name\":\"ALLN\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Includes all subgroups in the analysis, regardless of whether the subgroup sample size equals the nominal control limit sample size n specified by the LIMITN= option or the variable _LIMITN_ in the LIMITS= data table. Use the ALLN option in conjunction with the LIMITN= option or the variable _LIMITN_.\",\"type\":\"standalone\"},{\"name\":\"EXCHART\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Includes a control chart in the results only when exceptions occur, specifically, when the control limits are exceeded or when any of the tests requested with the TESTS= option or the TESTS2= option are positive.\",\"type\":\"standalone\"},{\"name\":\"LIMITN=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies a nominal sample size for the control limits.\",\"help\":\"LIMITN=*n*\",\"type\":\"value\"},{\"name\":\"NO3SIGMACHECK\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Suppresses the check for 3σ limits when tests for special causes are requested.\",\"type\":\"standalone\"},{\"name\":\"NOPRINT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Suppresses the display of ODS output.\",\"type\":\"standalone\"},{\"name\":\"OUTLIMITS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Creates an output data table that saves the control limits.\",\"help\":\"OUTLIMITS=*CAS-libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"OUTTABLE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Creates an output SAS data table that saves the information plotted on the chart, including the subgroup variable values and their corresponding summary statistics and control limits.\",\"type\":\"value\"},{\"name\":\"SIGMAS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the width of the control limits in terms of the multiple k of the standard error of the subgroup summary statistic plotted on the chart. The value of k must be positive. By default, k=3.\",\"help\":\"SIGMAS=*k*\",\"type\":\"value\"},{\"name\":\"SUBGROUPN=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies a variable in the input data table whose values specify the subgroup sample sizes.\",\"help\":\"SUBGROUPN=*variable*\",\"type\":\"value\"},{\"name\":\"TEST2RUN=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"TEST2RUN=run-length\",\"help\":\"TEST2RUN=7 | 8 | 9 | 11 | 14 | 20\",\"type\":\"choice\",\"arguments\":[{\"name\":\"7\",\"followsDelimiter\":\"/\",\"description\":\"7 in a row\",\"type\":\"standalone\"},{\"name\":\"8\",\"followsDelimiter\":\"/\",\"description\":\"8 in a row\",\"type\":\"standalone\"},{\"name\":\"9\",\"followsDelimiter\":\"/\",\"description\":\"9 in a row\",\"type\":\"standalone\"},{\"name\":\"11\",\"followsDelimiter\":\"/\",\"description\":\"At least 10 out of 11 in a row\",\"type\":\"standalone\"},{\"name\":\"14\",\"followsDelimiter\":\"/\",\"description\":\"At least 12 out of 14 in a row\",\"type\":\"standalone\"},{\"name\":\"20\",\"followsDelimiter\":\"/\",\"description\":\"At least 16 out of 20 in a row\",\"type\":\"standalone\"}]},{\"name\":\"TEST3RUN=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the length of the pattern for Test 3 requested with the TESTS= and TESTS2= options.\",\"help\":\"TEST3RUN=6 | 7 | 8*run-length*\",\"type\":\"value\",\"arguments\":[{\"name\":\"6\",\"followsDelimiter\":\"/\",\"description\":\"Length of the pattern is at least 6.\",\"type\":\"standalone\"},{\"name\":\"7\",\"followsDelimiter\":\"/\",\"description\":\"Length of the pattern is at least 7.\",\"type\":\"standalone\"},{\"name\":\"8\",\"followsDelimiter\":\"/\",\"description\":\"Length of the pattern is at least 8.\",\"type\":\"standalone\"}]},{\"name\":\"TESTNSTD\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"applies the tests for special causes requested with the TESTS= and TESTS2= options to standardized test statistics when the subgroup sample sizes are not constant.\",\"type\":\"standalone\"},{\"name\":\"TESTOVERLAP\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Applies tests for special causes (requested with the TESTS= or TESTS2= option) to overlapping patterns of points.\",\"type\":\"standalone\"},{\"name\":\"TESTS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests one or more tests for special causes, which are also known as runs tests, pattern tests, and Western Electric rules.\",\"help\":\"TESTS=1 | 2 | 3 | 4 | 5 | 6 | 7 | 8*index-list*\",\"type\":\"value\",\"arguments\":[{\"name\":\"1\",\"followsDelimiter\":\"/\",\"description\":\"One point beyond Zone A (outside the control limits)\",\"type\":\"standalone\"},{\"name\":\"2\",\"followsDelimiter\":\"/\",\"description\":\"Nine points in a row in Zone C or beyond on one side of the central line\",\"type\":\"standalone\"},{\"name\":\"3\",\"followsDelimiter\":\"/\",\"description\":\"Six points in a row steadily increasing\",\"type\":\"standalone\"},{\"name\":\"4\",\"followsDelimiter\":\"/\",\"description\":\"Fourteen points in a row alternating up and down\",\"type\":\"standalone\"},{\"name\":\"5\",\"followsDelimiter\":\"/\",\"description\":\"Two out of three points in a row in Zone A or beyond\",\"type\":\"standalone\"},{\"name\":\"6\",\"followsDelimiter\":\"/\",\"description\":\"Four out of five points in a row in Zone B or beyond\",\"type\":\"standalone\"},{\"name\":\"7\",\"followsDelimiter\":\"/\",\"description\":\"Fifteen points in a row in Zone C on either or both sides of the central line\",\"type\":\"standalone\"},{\"name\":\"8\",\"followsDelimiter\":\"/\",\"description\":\"Eight points in a row on either or both sides of the central line with no points in Zone C\",\"type\":\"standalone\"}]}]},{\"name\":\"IRCHART\",\"description\":\"The IRCHART statement computes control charts for individual measurements and moving ranges.\",\"help\":\"IRCHART &lt;EXCHART&gt;&lt;NMVGRANGE=n&gt;&lt;NO3SIGMACHECK&gt; ...\",\"arguments\":[{\"name\":\"EXCHART\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Includes a control chart in the results only when exceptions occur, specifically, when the control limits are exceeded or when any of the tests requested with the TESTS= option or the TESTS2= option are positive.\",\"type\":\"standalone\"},{\"name\":\"NMVGRANGE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the number of consecutive subgroup summary statistics from which moving ranges are computed. Moving ranges are used to compute the estimate of the process standard deviation by the IRCHART statement, and by the XRCHART and XSCHART statements when you specify SMETHOD=MVGRANGE.\",\"help\":\"NMVGRANGE=*n*\",\"type\":\"value\"},{\"name\":\"NO3SIGMACHECK\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Suppresses the check for 3σ limits when tests for special causes are requested.\",\"type\":\"standalone\"},{\"name\":\"NOPRINT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Suppresses the display of ODS output.\",\"type\":\"standalone\"},{\"name\":\"OUTLIMITS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Creates an output data table that saves the control limits.\",\"help\":\"OUTLIMITS=*CAS-libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"OUTTABLE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Creates an output SAS data table that saves the information plotted on the chart, including the subgroup variable values and their corresponding summary statistics and control limits.\",\"type\":\"value\"},{\"name\":\"SIGMAS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the width of the control limits in terms of the multiple k of the standard error of the subgroup summary statistic plotted on the chart. The value of k must be positive. By default, k=3.\",\"help\":\"SIGMAS=*k*\",\"type\":\"value\"},{\"name\":\"SMETHOD=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies a method for estimating the process standard deviation, σ.\",\"help\":\"SMETHOD=MAD | MMR | MVGRANGE | RMSDF | RMVLUE | RNOWEIGHT | SMVLUE | SNOWEIGHT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"MAD\",\"followsDelimiter\":\"/\",\"description\":\"Calculates a median absolute deviation estimate for σ.\",\"type\":\"standalone\"},{\"name\":\"MMR\",\"followsDelimiter\":\"/\",\"description\":\"Calculates a median moving range estimate for σ.\",\"type\":\"standalone\"},{\"name\":\"MVGRANGE\",\"followsDelimiter\":\"/\",\"description\":\"Estimates σ based on a moving range of subgroup means.\",\"type\":\"standalone\"},{\"name\":\"RMSDF\",\"followsDelimiter\":\"/\",\"description\":\"Calculates a root-mean square estimate for σ.\",\"type\":\"standalone\"},{\"name\":\"RMVLUE\",\"followsDelimiter\":\"/\",\"description\":\"Calculates a minimum variance linear unbiased estimate for σ based on subgroup ranges.\",\"type\":\"standalone\"},{\"name\":\"RNOWEIGHT\",\"followsDelimiter\":\"/\",\"description\":\"Estimates σ as an unweighted average of unbiased subgroup estimates of σ based on subgroup ranges.\",\"type\":\"standalone\"},{\"name\":\"SMVLUE\",\"followsDelimiter\":\"/\",\"description\":\"Calculates a minimum variance linear unbiased estimate for σ based on subgroup standard deviations.\",\"type\":\"standalone\"},{\"name\":\"SNOWEIGHT\",\"followsDelimiter\":\"/\",\"description\":\"Estimates σ as an unweighted average of unbiased subgroup estimates of σ based on subgroup standard deviations.\",\"type\":\"standalone\"}]},{\"name\":\"TEST2RUN=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"TEST2RUN=run-length\",\"help\":\"TEST2RUN=7 | 8 | 9 | 11 | 14 | 20\",\"type\":\"choice\",\"arguments\":[{\"name\":\"7\",\"followsDelimiter\":\"/\",\"description\":\"7 in a row\",\"type\":\"standalone\"},{\"name\":\"8\",\"followsDelimiter\":\"/\",\"description\":\"8 in a row\",\"type\":\"standalone\"},{\"name\":\"9\",\"followsDelimiter\":\"/\",\"description\":\"9 in a row\",\"type\":\"standalone\"},{\"name\":\"11\",\"followsDelimiter\":\"/\",\"description\":\"At least 10 out of 11 in a row\",\"type\":\"standalone\"},{\"name\":\"14\",\"followsDelimiter\":\"/\",\"description\":\"At least 12 out of 14 in a row\",\"type\":\"standalone\"},{\"name\":\"20\",\"followsDelimiter\":\"/\",\"description\":\"At least 16 out of 20 in a row\",\"type\":\"standalone\"}]},{\"name\":\"TEST3RUN=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the length of the pattern for Test 3 requested with the TESTS= and TESTS2= options.\",\"help\":\"TEST3RUN=6 | 7 | 8*run-length*\",\"type\":\"value\",\"arguments\":[{\"name\":\"6\",\"followsDelimiter\":\"/\",\"description\":\"Length of the pattern is at least 6.\",\"type\":\"standalone\"},{\"name\":\"7\",\"followsDelimiter\":\"/\",\"description\":\"Length of the pattern is at least 7.\",\"type\":\"standalone\"},{\"name\":\"8\",\"followsDelimiter\":\"/\",\"description\":\"Length of the pattern is at least 8.\",\"type\":\"standalone\"}]},{\"name\":\"TESTNSTD\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"applies the tests for special causes requested with the TESTS= and TESTS2= options to standardized test statistics when the subgroup sample sizes are not constant.\",\"type\":\"standalone\"},{\"name\":\"TESTOVERLAP\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Applies tests for special causes (requested with the TESTS= or TESTS2= option) to overlapping patterns of points.\",\"type\":\"standalone\"},{\"name\":\"TESTS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests one or more tests for special causes, which are also known as runs tests, pattern tests, and Western Electric rules.\",\"help\":\"TESTS=1 | 2 | 3 | 4 | 5 | 6 | 7 | 8*index-list*\",\"type\":\"value\",\"arguments\":[{\"name\":\"1\",\"followsDelimiter\":\"/\",\"description\":\"One point beyond Zone A (outside the control limits)\",\"type\":\"standalone\"},{\"name\":\"2\",\"followsDelimiter\":\"/\",\"description\":\"Nine points in a row in Zone C or beyond on one side of the central line\",\"type\":\"standalone\"},{\"name\":\"3\",\"followsDelimiter\":\"/\",\"description\":\"Six points in a row steadily increasing\",\"type\":\"standalone\"},{\"name\":\"4\",\"followsDelimiter\":\"/\",\"description\":\"Fourteen points in a row alternating up and down\",\"type\":\"standalone\"},{\"name\":\"5\",\"followsDelimiter\":\"/\",\"description\":\"Two out of three points in a row in Zone A or beyond\",\"type\":\"standalone\"},{\"name\":\"6\",\"followsDelimiter\":\"/\",\"description\":\"Four out of five points in a row in Zone B or beyond\",\"type\":\"standalone\"},{\"name\":\"7\",\"followsDelimiter\":\"/\",\"description\":\"Fifteen points in a row in Zone C on either or both sides of the central line\",\"type\":\"standalone\"},{\"name\":\"8\",\"followsDelimiter\":\"/\",\"description\":\"Eight points in a row on either or both sides of the central line with no points in Zone C\",\"type\":\"standalone\"}]}]},{\"name\":\"MCHART\",\"description\":\"The MCHART statement computes control charts for subgroup medians.\",\"help\":\"MCHART &lt;ALLN&gt;&lt;EXCHART&gt;&lt;LIMITN=n&gt; ...\",\"arguments\":[{\"name\":\"ALLN\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Includes all subgroups in the analysis, regardless of whether the subgroup sample size equals the nominal control limit sample size n specified by the LIMITN= option or the variable _LIMITN_ in the LIMITS= data table. Use the ALLN option in conjunction with the LIMITN= option or the variable _LIMITN_.\",\"type\":\"standalone\"},{\"name\":\"EXCHART\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Includes a control chart in the results only when exceptions occur, specifically, when the control limits are exceeded or when any of the tests requested with the TESTS= option or the TESTS2= option are positive.\",\"type\":\"standalone\"},{\"name\":\"LIMITN=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies a nominal sample size for the control limits.\",\"help\":\"LIMITN=*n*\",\"type\":\"value\"},{\"name\":\"MEDCENTRAL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Identifies a method for estimating the process mean, µ, which is represented by the central line on a median chart.\",\"help\":\"MEDCENTRAL=AVGMEAN | AVGMED | MEDMED\",\"type\":\"choice\",\"arguments\":[{\"name\":\"AVGMEAN\",\"followsDelimiter\":\"/\",\"description\":\"Average of subgroup means\",\"type\":\"standalone\"},{\"name\":\"AVGMED\",\"followsDelimiter\":\"/\",\"description\":\"Average of subgroup medians\",\"type\":\"standalone\"},{\"name\":\"MEDMED\",\"followsDelimiter\":\"/\",\"description\":\"Median of subgroup medians\",\"type\":\"standalone\"}]},{\"name\":\"NO3SIGMACHECK\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Suppresses the check for 3σ limits when tests for special causes are requested.\",\"type\":\"standalone\"},{\"name\":\"NOPRINT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Suppresses the display of ODS output.\",\"type\":\"standalone\"},{\"name\":\"OUTLIMITS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Creates an output data table that saves the control limits.\",\"help\":\"OUTLIMITS=*CAS-libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"OUTTABLE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Creates an output SAS data table that saves the information plotted on the chart, including the subgroup variable values and their corresponding summary statistics and control limits.\",\"type\":\"value\"},{\"name\":\"SIGMAS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the width of the control limits in terms of the multiple k of the standard error of the subgroup summary statistic plotted on the chart. The value of k must be positive. By default, k=3.\",\"help\":\"SIGMAS=*k*\",\"type\":\"value\"},{\"name\":\"SMETHOD=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies a method for estimating the process standard deviation, σ.\",\"help\":\"SMETHOD=MAD | MMR | MVGRANGE | RMSDF | RMVLUE | RNOWEIGHT | SMVLUE | SNOWEIGHT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"MAD\",\"followsDelimiter\":\"/\",\"description\":\"Calculates a median absolute deviation estimate for σ.\",\"type\":\"standalone\"},{\"name\":\"MMR\",\"followsDelimiter\":\"/\",\"description\":\"Calculates a median moving range estimate for σ.\",\"type\":\"standalone\"},{\"name\":\"MVGRANGE\",\"followsDelimiter\":\"/\",\"description\":\"Estimates σ based on a moving range of subgroup means.\",\"type\":\"standalone\"},{\"name\":\"RMSDF\",\"followsDelimiter\":\"/\",\"description\":\"Calculates a root-mean square estimate for σ.\",\"type\":\"standalone\"},{\"name\":\"RMVLUE\",\"followsDelimiter\":\"/\",\"description\":\"Calculates a minimum variance linear unbiased estimate for σ based on subgroup ranges.\",\"type\":\"standalone\"},{\"name\":\"RNOWEIGHT\",\"followsDelimiter\":\"/\",\"description\":\"Estimates σ as an unweighted average of unbiased subgroup estimates of σ based on subgroup ranges.\",\"type\":\"standalone\"},{\"name\":\"SMVLUE\",\"followsDelimiter\":\"/\",\"description\":\"Calculates a minimum variance linear unbiased estimate for σ based on subgroup standard deviations.\",\"type\":\"standalone\"},{\"name\":\"SNOWEIGHT\",\"followsDelimiter\":\"/\",\"description\":\"Estimates σ as an unweighted average of unbiased subgroup estimates of σ based on subgroup standard deviations.\",\"type\":\"standalone\"}]},{\"name\":\"TEST2RUN=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"TEST2RUN=run-length\",\"help\":\"TEST2RUN=7 | 8 | 9 | 11 | 14 | 20\",\"type\":\"choice\",\"arguments\":[{\"name\":\"7\",\"followsDelimiter\":\"/\",\"description\":\"7 in a row\",\"type\":\"standalone\"},{\"name\":\"8\",\"followsDelimiter\":\"/\",\"description\":\"8 in a row\",\"type\":\"standalone\"},{\"name\":\"9\",\"followsDelimiter\":\"/\",\"description\":\"9 in a row\",\"type\":\"standalone\"},{\"name\":\"11\",\"followsDelimiter\":\"/\",\"description\":\"At least 10 out of 11 in a row\",\"type\":\"standalone\"},{\"name\":\"14\",\"followsDelimiter\":\"/\",\"description\":\"At least 12 out of 14 in a row\",\"type\":\"standalone\"},{\"name\":\"20\",\"followsDelimiter\":\"/\",\"description\":\"At least 16 out of 20 in a row\",\"type\":\"standalone\"}]},{\"name\":\"TEST3RUN=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the length of the pattern for Test 3 requested with the TESTS= and TESTS2= options.\",\"help\":\"TEST3RUN=6 | 7 | 8*run-length*\",\"type\":\"value\",\"arguments\":[{\"name\":\"6\",\"followsDelimiter\":\"/\",\"description\":\"Length of the pattern is at least 6.\",\"type\":\"standalone\"},{\"name\":\"7\",\"followsDelimiter\":\"/\",\"description\":\"Length of the pattern is at least 7.\",\"type\":\"standalone\"},{\"name\":\"8\",\"followsDelimiter\":\"/\",\"description\":\"Length of the pattern is at least 8.\",\"type\":\"standalone\"}]},{\"name\":\"TESTNSTD\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"applies the tests for special causes requested with the TESTS= and TESTS2= options to standardized test statistics when the subgroup sample sizes are not constant.\",\"type\":\"standalone\"},{\"name\":\"TESTOVERLAP\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Applies tests for special causes (requested with the TESTS= or TESTS2= option) to overlapping patterns of points.\",\"type\":\"standalone\"},{\"name\":\"TESTS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests one or more tests for special causes, which are also known as runs tests, pattern tests, and Western Electric rules.\",\"help\":\"TESTS=1 | 2 | 3 | 4 | 5 | 6 | 7 | 8*index-list*\",\"type\":\"value\",\"arguments\":[{\"name\":\"1\",\"followsDelimiter\":\"/\",\"description\":\"One point beyond Zone A (outside the control limits)\",\"type\":\"standalone\"},{\"name\":\"2\",\"followsDelimiter\":\"/\",\"description\":\"Nine points in a row in Zone C or beyond on one side of the central line\",\"type\":\"standalone\"},{\"name\":\"3\",\"followsDelimiter\":\"/\",\"description\":\"Six points in a row steadily increasing\",\"type\":\"standalone\"},{\"name\":\"4\",\"followsDelimiter\":\"/\",\"description\":\"Fourteen points in a row alternating up and down\",\"type\":\"standalone\"},{\"name\":\"5\",\"followsDelimiter\":\"/\",\"description\":\"Two out of three points in a row in Zone A or beyond\",\"type\":\"standalone\"},{\"name\":\"6\",\"followsDelimiter\":\"/\",\"description\":\"Four out of five points in a row in Zone B or beyond\",\"type\":\"standalone\"},{\"name\":\"7\",\"followsDelimiter\":\"/\",\"description\":\"Fifteen points in a row in Zone C on either or both sides of the central line\",\"type\":\"standalone\"},{\"name\":\"8\",\"followsDelimiter\":\"/\",\"description\":\"Eight points in a row on either or both sides of the central line with no points in Zone C\",\"type\":\"standalone\"}]}]},{\"name\":\"MRCHART\",\"description\":\"The MRCHART statement computes control charts for subgroup medians and ranges.\",\"help\":\"MRCHART &lt;ALLN&gt;&lt;EXCHART&gt;&lt;LIMITN=n&gt; ...\",\"arguments\":[{\"name\":\"ALLN\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Includes all subgroups in the analysis, regardless of whether the subgroup sample size equals the nominal control limit sample size n specified by the LIMITN= option or the variable _LIMITN_ in the LIMITS= data table. Use the ALLN option in conjunction with the LIMITN= option or the variable _LIMITN_.\",\"type\":\"standalone\"},{\"name\":\"EXCHART\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Includes a control chart in the results only when exceptions occur, specifically, when the control limits are exceeded or when any of the tests requested with the TESTS= option or the TESTS2= option are positive.\",\"type\":\"standalone\"},{\"name\":\"LIMITN=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies a nominal sample size for the control limits.\",\"help\":\"LIMITN=*n*\",\"type\":\"value\"},{\"name\":\"MEDCENTRAL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Identifies a method for estimating the process mean, µ, which is represented by the central line on a median chart.\",\"help\":\"MEDCENTRAL=AVGMEAN | AVGMED | MEDMED\",\"type\":\"choice\",\"arguments\":[{\"name\":\"AVGMEAN\",\"followsDelimiter\":\"/\",\"description\":\"Average of subgroup means\",\"type\":\"standalone\"},{\"name\":\"AVGMED\",\"followsDelimiter\":\"/\",\"description\":\"Average of subgroup medians\",\"type\":\"standalone\"},{\"name\":\"MEDMED\",\"followsDelimiter\":\"/\",\"description\":\"Median of subgroup medians\",\"type\":\"standalone\"}]},{\"name\":\"NO3SIGMACHECK\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Suppresses the check for 3σ limits when tests for special causes are requested.\",\"type\":\"standalone\"},{\"name\":\"NOPRINT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Suppresses the display of ODS output.\",\"type\":\"standalone\"},{\"name\":\"OUTLIMITS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Creates an output data table that saves the control limits.\",\"help\":\"OUTLIMITS=*CAS-libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"OUTTABLE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Creates an output SAS data table that saves the information plotted on the chart, including the subgroup variable values and their corresponding summary statistics and control limits.\",\"type\":\"value\"},{\"name\":\"SIGMAS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the width of the control limits in terms of the multiple k of the standard error of the subgroup summary statistic plotted on the chart. The value of k must be positive. By default, k=3.\",\"help\":\"SIGMAS=*k*\",\"type\":\"value\"},{\"name\":\"SMETHOD=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies a method for estimating the process standard deviation, σ.\",\"help\":\"SMETHOD=MAD | MMR | MVGRANGE | RMSDF | RMVLUE | RNOWEIGHT | SMVLUE | SNOWEIGHT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"MAD\",\"followsDelimiter\":\"/\",\"description\":\"Calculates a median absolute deviation estimate for σ.\",\"type\":\"standalone\"},{\"name\":\"MMR\",\"followsDelimiter\":\"/\",\"description\":\"Calculates a median moving range estimate for σ.\",\"type\":\"standalone\"},{\"name\":\"MVGRANGE\",\"followsDelimiter\":\"/\",\"description\":\"Estimates σ based on a moving range of subgroup means.\",\"type\":\"standalone\"},{\"name\":\"RMSDF\",\"followsDelimiter\":\"/\",\"description\":\"Calculates a root-mean square estimate for σ.\",\"type\":\"standalone\"},{\"name\":\"RMVLUE\",\"followsDelimiter\":\"/\",\"description\":\"Calculates a minimum variance linear unbiased estimate for σ based on subgroup ranges.\",\"type\":\"standalone\"},{\"name\":\"RNOWEIGHT\",\"followsDelimiter\":\"/\",\"description\":\"Estimates σ as an unweighted average of unbiased subgroup estimates of σ based on subgroup ranges.\",\"type\":\"standalone\"},{\"name\":\"SMVLUE\",\"followsDelimiter\":\"/\",\"description\":\"Calculates a minimum variance linear unbiased estimate for σ based on subgroup standard deviations.\",\"type\":\"standalone\"},{\"name\":\"SNOWEIGHT\",\"followsDelimiter\":\"/\",\"description\":\"Estimates σ as an unweighted average of unbiased subgroup estimates of σ based on subgroup standard deviations.\",\"type\":\"standalone\"}]},{\"name\":\"TEST2RUN=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"TEST2RUN=run-length\",\"help\":\"TEST2RUN=7 | 8 | 9 | 11 | 14 | 20\",\"type\":\"choice\",\"arguments\":[{\"name\":\"7\",\"followsDelimiter\":\"/\",\"description\":\"7 in a row\",\"type\":\"standalone\"},{\"name\":\"8\",\"followsDelimiter\":\"/\",\"description\":\"8 in a row\",\"type\":\"standalone\"},{\"name\":\"9\",\"followsDelimiter\":\"/\",\"description\":\"9 in a row\",\"type\":\"standalone\"},{\"name\":\"11\",\"followsDelimiter\":\"/\",\"description\":\"At least 10 out of 11 in a row\",\"type\":\"standalone\"},{\"name\":\"14\",\"followsDelimiter\":\"/\",\"description\":\"At least 12 out of 14 in a row\",\"type\":\"standalone\"},{\"name\":\"20\",\"followsDelimiter\":\"/\",\"description\":\"At least 16 out of 20 in a row\",\"type\":\"standalone\"}]},{\"name\":\"TEST3RUN=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the length of the pattern for Test 3 requested with the TESTS= and TESTS2= options.\",\"help\":\"TEST3RUN=6 | 7 | 8*run-length*\",\"type\":\"value\",\"arguments\":[{\"name\":\"6\",\"followsDelimiter\":\"/\",\"description\":\"Length of the pattern is at least 6.\",\"type\":\"standalone\"},{\"name\":\"7\",\"followsDelimiter\":\"/\",\"description\":\"Length of the pattern is at least 7.\",\"type\":\"standalone\"},{\"name\":\"8\",\"followsDelimiter\":\"/\",\"description\":\"Length of the pattern is at least 8.\",\"type\":\"standalone\"}]},{\"name\":\"TESTNSTD\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"applies the tests for special causes requested with the TESTS= and TESTS2= options to standardized test statistics when the subgroup sample sizes are not constant.\",\"type\":\"standalone\"},{\"name\":\"TESTOVERLAP\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Applies tests for special causes (requested with the TESTS= or TESTS2= option) to overlapping patterns of points.\",\"type\":\"standalone\"},{\"name\":\"TESTS2=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests one or more tests for special causes for an R chart or s chart.\",\"help\":\"TESTS2=1 | 2 | 3 | 4 | 5 | 6 | 7 | 8*index-list*\",\"type\":\"value\",\"arguments\":[{\"name\":\"1\",\"followsDelimiter\":\"/\",\"description\":\"One point beyond Zone A (outside the control limits)\",\"type\":\"standalone\"},{\"name\":\"2\",\"followsDelimiter\":\"/\",\"description\":\"Nine points in a row in Zone C or beyond on one side of the central line\",\"type\":\"standalone\"},{\"name\":\"3\",\"followsDelimiter\":\"/\",\"description\":\"Six points in a row steadily increasing\",\"type\":\"standalone\"},{\"name\":\"4\",\"followsDelimiter\":\"/\",\"description\":\"Fourteen points in a row alternating up and down\",\"type\":\"standalone\"},{\"name\":\"5\",\"followsDelimiter\":\"/\",\"description\":\"Two out of three points in a row in Zone A or beyond\",\"type\":\"standalone\"},{\"name\":\"6\",\"followsDelimiter\":\"/\",\"description\":\"Four out of five points in a row in Zone B or beyond\",\"type\":\"standalone\"},{\"name\":\"7\",\"followsDelimiter\":\"/\",\"description\":\"Fifteen points in a row in Zone C on either or both sides of the central line\",\"type\":\"standalone\"},{\"name\":\"8\",\"followsDelimiter\":\"/\",\"description\":\"Eight points in a row on either or both sides of the central line with no points in Zone C\",\"type\":\"standalone\"}]},{\"name\":\"TESTS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests one or more tests for special causes, which are also known as runs tests, pattern tests, and Western Electric rules.\",\"help\":\"TESTS=1 | 2 | 3 | 4 | 5 | 6 | 7 | 8*index-list*\",\"type\":\"value\",\"arguments\":[{\"name\":\"1\",\"followsDelimiter\":\"/\",\"description\":\"One point beyond Zone A (outside the control limits)\",\"type\":\"standalone\"},{\"name\":\"2\",\"followsDelimiter\":\"/\",\"description\":\"Nine points in a row in Zone C or beyond on one side of the central line\",\"type\":\"standalone\"},{\"name\":\"3\",\"followsDelimiter\":\"/\",\"description\":\"Six points in a row steadily increasing\",\"type\":\"standalone\"},{\"name\":\"4\",\"followsDelimiter\":\"/\",\"description\":\"Fourteen points in a row alternating up and down\",\"type\":\"standalone\"},{\"name\":\"5\",\"followsDelimiter\":\"/\",\"description\":\"Two out of three points in a row in Zone A or beyond\",\"type\":\"standalone\"},{\"name\":\"6\",\"followsDelimiter\":\"/\",\"description\":\"Four out of five points in a row in Zone B or beyond\",\"type\":\"standalone\"},{\"name\":\"7\",\"followsDelimiter\":\"/\",\"description\":\"Fifteen points in a row in Zone C on either or both sides of the central line\",\"type\":\"standalone\"},{\"name\":\"8\",\"followsDelimiter\":\"/\",\"description\":\"Eight points in a row on either or both sides of the central line with no points in Zone C\",\"type\":\"standalone\"}]}]},{\"name\":\"NPCHART\",\"description\":\"The NPCHART statement computes control charts for the numbers of nonconforming items in subgroup samples.\",\"help\":\"NPCHART &lt;ALLN&gt;&lt;EXCHART&gt;&lt;LIMITN=n&gt; ...\",\"arguments\":[{\"name\":\"ALLN\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Includes all subgroups in the analysis, regardless of whether the subgroup sample size equals the nominal control limit sample size n specified by the LIMITN= option or the variable _LIMITN_ in the LIMITS= data table. Use the ALLN option in conjunction with the LIMITN= option or the variable _LIMITN_.\",\"type\":\"standalone\"},{\"name\":\"EXCHART\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Includes a control chart in the results only when exceptions occur, specifically, when the control limits are exceeded or when any of the tests requested with the TESTS= option or the TESTS2= option are positive.\",\"type\":\"standalone\"},{\"name\":\"LIMITN=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies a nominal sample size for the control limits.\",\"help\":\"LIMITN=*n*\",\"type\":\"value\"},{\"name\":\"NO3SIGMACHECK\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Suppresses the check for 3σ limits when tests for special causes are requested.\",\"type\":\"standalone\"},{\"name\":\"NOPRINT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Suppresses the display of ODS output.\",\"type\":\"standalone\"},{\"name\":\"OUTLIMITS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Creates an output data table that saves the control limits.\",\"help\":\"OUTLIMITS=*CAS-libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"OUTTABLE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Creates an output SAS data table that saves the information plotted on the chart, including the subgroup variable values and their corresponding summary statistics and control limits.\",\"type\":\"value\"},{\"name\":\"SIGMAS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the width of the control limits in terms of the multiple k of the standard error of the subgroup summary statistic plotted on the chart. The value of k must be positive. By default, k=3.\",\"help\":\"SIGMAS=*k*\",\"type\":\"value\"},{\"name\":\"SUBGROUPN=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies a variable in the input data table whose values specify the subgroup sample sizes.\",\"help\":\"SUBGROUPN=*variable*\",\"type\":\"value\"},{\"name\":\"TEST2RUN=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"TEST2RUN=run-length\",\"help\":\"TEST2RUN=7 | 8 | 9 | 11 | 14 | 20\",\"type\":\"choice\",\"arguments\":[{\"name\":\"7\",\"followsDelimiter\":\"/\",\"description\":\"7 in a row\",\"type\":\"standalone\"},{\"name\":\"8\",\"followsDelimiter\":\"/\",\"description\":\"8 in a row\",\"type\":\"standalone\"},{\"name\":\"9\",\"followsDelimiter\":\"/\",\"description\":\"9 in a row\",\"type\":\"standalone\"},{\"name\":\"11\",\"followsDelimiter\":\"/\",\"description\":\"At least 10 out of 11 in a row\",\"type\":\"standalone\"},{\"name\":\"14\",\"followsDelimiter\":\"/\",\"description\":\"At least 12 out of 14 in a row\",\"type\":\"standalone\"},{\"name\":\"20\",\"followsDelimiter\":\"/\",\"description\":\"At least 16 out of 20 in a row\",\"type\":\"standalone\"}]},{\"name\":\"TEST3RUN=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the length of the pattern for Test 3 requested with the TESTS= and TESTS2= options.\",\"help\":\"TEST3RUN=6 | 7 | 8*run-length*\",\"type\":\"value\",\"arguments\":[{\"name\":\"6\",\"followsDelimiter\":\"/\",\"description\":\"Length of the pattern is at least 6.\",\"type\":\"standalone\"},{\"name\":\"7\",\"followsDelimiter\":\"/\",\"description\":\"Length of the pattern is at least 7.\",\"type\":\"standalone\"},{\"name\":\"8\",\"followsDelimiter\":\"/\",\"description\":\"Length of the pattern is at least 8.\",\"type\":\"standalone\"}]},{\"name\":\"TESTNSTD\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"applies the tests for special causes requested with the TESTS= and TESTS2= options to standardized test statistics when the subgroup sample sizes are not constant.\",\"type\":\"standalone\"},{\"name\":\"TESTOVERLAP\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Applies tests for special causes (requested with the TESTS= or TESTS2= option) to overlapping patterns of points.\",\"type\":\"standalone\"},{\"name\":\"TESTS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests one or more tests for special causes, which are also known as runs tests, pattern tests, and Western Electric rules.\",\"help\":\"TESTS=1 | 2 | 3 | 4 | 5 | 6 | 7 | 8*index-list*\",\"type\":\"value\",\"arguments\":[{\"name\":\"1\",\"followsDelimiter\":\"/\",\"description\":\"One point beyond Zone A (outside the control limits)\",\"type\":\"standalone\"},{\"name\":\"2\",\"followsDelimiter\":\"/\",\"description\":\"Nine points in a row in Zone C or beyond on one side of the central line\",\"type\":\"standalone\"},{\"name\":\"3\",\"followsDelimiter\":\"/\",\"description\":\"Six points in a row steadily increasing\",\"type\":\"standalone\"},{\"name\":\"4\",\"followsDelimiter\":\"/\",\"description\":\"Fourteen points in a row alternating up and down\",\"type\":\"standalone\"},{\"name\":\"5\",\"followsDelimiter\":\"/\",\"description\":\"Two out of three points in a row in Zone A or beyond\",\"type\":\"standalone\"},{\"name\":\"6\",\"followsDelimiter\":\"/\",\"description\":\"Four out of five points in a row in Zone B or beyond\",\"type\":\"standalone\"},{\"name\":\"7\",\"followsDelimiter\":\"/\",\"description\":\"Fifteen points in a row in Zone C on either or both sides of the central line\",\"type\":\"standalone\"},{\"name\":\"8\",\"followsDelimiter\":\"/\",\"description\":\"Eight points in a row on either or both sides of the central line with no points in Zone C\",\"type\":\"standalone\"}]}]},{\"name\":\"PCHART\",\"description\":\"The PCHART statement computes control charts for the proportions of nonconforming items in subgroup samples.\",\"help\":\"PCHART &lt;ALLN&gt;&lt;EXCHART&gt;&lt;LIMITN=n&gt; ...\",\"arguments\":[{\"name\":\"ALLN\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Includes all subgroups in the analysis, regardless of whether the subgroup sample size equals the nominal control limit sample size n specified by the LIMITN= option or the variable _LIMITN_ in the LIMITS= data table. Use the ALLN option in conjunction with the LIMITN= option or the variable _LIMITN_.\",\"type\":\"standalone\"},{\"name\":\"EXCHART\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Includes a control chart in the results only when exceptions occur, specifically, when the control limits are exceeded or when any of the tests requested with the TESTS= option or the TESTS2= option are positive.\",\"type\":\"standalone\"},{\"name\":\"LIMITN=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies a nominal sample size for the control limits.\",\"help\":\"LIMITN=*n*\",\"type\":\"value\"},{\"name\":\"NO3SIGMACHECK\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Suppresses the check for 3σ limits when tests for special causes are requested.\",\"type\":\"standalone\"},{\"name\":\"NOPRINT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Suppresses the display of ODS output.\",\"type\":\"standalone\"},{\"name\":\"OUTLIMITS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Creates an output data table that saves the control limits.\",\"help\":\"OUTLIMITS=*CAS-libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"OUTTABLE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Creates an output SAS data table that saves the information plotted on the chart, including the subgroup variable values and their corresponding summary statistics and control limits.\",\"type\":\"value\"},{\"name\":\"SIGMAS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the width of the control limits in terms of the multiple k of the standard error of the subgroup summary statistic plotted on the chart. The value of k must be positive. By default, k=3.\",\"help\":\"SIGMAS=*k*\",\"type\":\"value\"},{\"name\":\"SUBGROUPN=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies a variable in the input data table whose values specify the subgroup sample sizes.\",\"help\":\"SUBGROUPN=*variable*\",\"type\":\"value\"},{\"name\":\"TEST2RUN=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"TEST2RUN=run-length\",\"help\":\"TEST2RUN=7 | 8 | 9 | 11 | 14 | 20\",\"type\":\"choice\",\"arguments\":[{\"name\":\"7\",\"followsDelimiter\":\"/\",\"description\":\"7 in a row\",\"type\":\"standalone\"},{\"name\":\"8\",\"followsDelimiter\":\"/\",\"description\":\"8 in a row\",\"type\":\"standalone\"},{\"name\":\"9\",\"followsDelimiter\":\"/\",\"description\":\"9 in a row\",\"type\":\"standalone\"},{\"name\":\"11\",\"followsDelimiter\":\"/\",\"description\":\"At least 10 out of 11 in a row\",\"type\":\"standalone\"},{\"name\":\"14\",\"followsDelimiter\":\"/\",\"description\":\"At least 12 out of 14 in a row\",\"type\":\"standalone\"},{\"name\":\"20\",\"followsDelimiter\":\"/\",\"description\":\"At least 16 out of 20 in a row\",\"type\":\"standalone\"}]},{\"name\":\"TEST3RUN=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the length of the pattern for Test 3 requested with the TESTS= and TESTS2= options.\",\"help\":\"TEST3RUN=6 | 7 | 8*run-length*\",\"type\":\"value\",\"arguments\":[{\"name\":\"6\",\"followsDelimiter\":\"/\",\"description\":\"Length of the pattern is at least 6.\",\"type\":\"standalone\"},{\"name\":\"7\",\"followsDelimiter\":\"/\",\"description\":\"Length of the pattern is at least 7.\",\"type\":\"standalone\"},{\"name\":\"8\",\"followsDelimiter\":\"/\",\"description\":\"Length of the pattern is at least 8.\",\"type\":\"standalone\"}]},{\"name\":\"TESTNSTD\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"applies the tests for special causes requested with the TESTS= and TESTS2= options to standardized test statistics when the subgroup sample sizes are not constant.\",\"type\":\"standalone\"},{\"name\":\"TESTOVERLAP\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Applies tests for special causes (requested with the TESTS= or TESTS2= option) to overlapping patterns of points.\",\"type\":\"standalone\"},{\"name\":\"TESTS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests one or more tests for special causes, which are also known as runs tests, pattern tests, and Western Electric rules.\",\"help\":\"TESTS=1 | 2 | 3 | 4 | 5 | 6 | 7 | 8*index-list*\",\"type\":\"value\",\"arguments\":[{\"name\":\"1\",\"followsDelimiter\":\"/\",\"description\":\"One point beyond Zone A (outside the control limits)\",\"type\":\"standalone\"},{\"name\":\"2\",\"followsDelimiter\":\"/\",\"description\":\"Nine points in a row in Zone C or beyond on one side of the central line\",\"type\":\"standalone\"},{\"name\":\"3\",\"followsDelimiter\":\"/\",\"description\":\"Six points in a row steadily increasing\",\"type\":\"standalone\"},{\"name\":\"4\",\"followsDelimiter\":\"/\",\"description\":\"Fourteen points in a row alternating up and down\",\"type\":\"standalone\"},{\"name\":\"5\",\"followsDelimiter\":\"/\",\"description\":\"Two out of three points in a row in Zone A or beyond\",\"type\":\"standalone\"},{\"name\":\"6\",\"followsDelimiter\":\"/\",\"description\":\"Four out of five points in a row in Zone B or beyond\",\"type\":\"standalone\"},{\"name\":\"7\",\"followsDelimiter\":\"/\",\"description\":\"Fifteen points in a row in Zone C on either or both sides of the central line\",\"type\":\"standalone\"},{\"name\":\"8\",\"followsDelimiter\":\"/\",\"description\":\"Eight points in a row on either or both sides of the central line with no points in Zone C\",\"type\":\"standalone\"}]}]},{\"name\":\"RCHART\",\"description\":\"The RCHART statement computes control charts for subgroup ranges.\",\"help\":\"RCHART &lt;ALLN&gt;&lt;EXCHART&gt;&lt;LIMITN=n&gt; ...\",\"arguments\":[{\"name\":\"ALLN\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Includes all subgroups in the analysis, regardless of whether the subgroup sample size equals the nominal control limit sample size n specified by the LIMITN= option or the variable _LIMITN_ in the LIMITS= data table. Use the ALLN option in conjunction with the LIMITN= option or the variable _LIMITN_.\",\"type\":\"standalone\"},{\"name\":\"EXCHART\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Includes a control chart in the results only when exceptions occur, specifically, when the control limits are exceeded or when any of the tests requested with the TESTS= option or the TESTS2= option are positive.\",\"type\":\"standalone\"},{\"name\":\"LIMITN=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies a nominal sample size for the control limits.\",\"help\":\"LIMITN=*n*\",\"type\":\"value\"},{\"name\":\"NO3SIGMACHECK\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Suppresses the check for 3σ limits when tests for special causes are requested.\",\"type\":\"standalone\"},{\"name\":\"NOPRINT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Suppresses the display of ODS output.\",\"type\":\"standalone\"},{\"name\":\"OUTLIMITS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Creates an output data table that saves the control limits.\",\"help\":\"OUTLIMITS=*CAS-libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"OUTTABLE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Creates an output SAS data table that saves the information plotted on the chart, including the subgroup variable values and their corresponding summary statistics and control limits.\",\"type\":\"value\"},{\"name\":\"SIGMAS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the width of the control limits in terms of the multiple k of the standard error of the subgroup summary statistic plotted on the chart. The value of k must be positive. By default, k=3.\",\"help\":\"SIGMAS=*k*\",\"type\":\"value\"},{\"name\":\"SMETHOD=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies a method for estimating the process standard deviation, σ.\",\"help\":\"SMETHOD=MAD | MMR | MVGRANGE | RMSDF | RMVLUE | RNOWEIGHT | SMVLUE | SNOWEIGHT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"MAD\",\"followsDelimiter\":\"/\",\"description\":\"Calculates a median absolute deviation estimate for σ.\",\"type\":\"standalone\"},{\"name\":\"MMR\",\"followsDelimiter\":\"/\",\"description\":\"Calculates a median moving range estimate for σ.\",\"type\":\"standalone\"},{\"name\":\"MVGRANGE\",\"followsDelimiter\":\"/\",\"description\":\"Estimates σ based on a moving range of subgroup means.\",\"type\":\"standalone\"},{\"name\":\"RMSDF\",\"followsDelimiter\":\"/\",\"description\":\"Calculates a root-mean square estimate for σ.\",\"type\":\"standalone\"},{\"name\":\"RMVLUE\",\"followsDelimiter\":\"/\",\"description\":\"Calculates a minimum variance linear unbiased estimate for σ based on subgroup ranges.\",\"type\":\"standalone\"},{\"name\":\"RNOWEIGHT\",\"followsDelimiter\":\"/\",\"description\":\"Estimates σ as an unweighted average of unbiased subgroup estimates of σ based on subgroup ranges.\",\"type\":\"standalone\"},{\"name\":\"SMVLUE\",\"followsDelimiter\":\"/\",\"description\":\"Calculates a minimum variance linear unbiased estimate for σ based on subgroup standard deviations.\",\"type\":\"standalone\"},{\"name\":\"SNOWEIGHT\",\"followsDelimiter\":\"/\",\"description\":\"Estimates σ as an unweighted average of unbiased subgroup estimates of σ based on subgroup standard deviations.\",\"type\":\"standalone\"}]},{\"name\":\"TEST2RUN=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"TEST2RUN=run-length\",\"help\":\"TEST2RUN=7 | 8 | 9 | 11 | 14 | 20\",\"type\":\"choice\",\"arguments\":[{\"name\":\"7\",\"followsDelimiter\":\"/\",\"description\":\"7 in a row\",\"type\":\"standalone\"},{\"name\":\"8\",\"followsDelimiter\":\"/\",\"description\":\"8 in a row\",\"type\":\"standalone\"},{\"name\":\"9\",\"followsDelimiter\":\"/\",\"description\":\"9 in a row\",\"type\":\"standalone\"},{\"name\":\"11\",\"followsDelimiter\":\"/\",\"description\":\"At least 10 out of 11 in a row\",\"type\":\"standalone\"},{\"name\":\"14\",\"followsDelimiter\":\"/\",\"description\":\"At least 12 out of 14 in a row\",\"type\":\"standalone\"},{\"name\":\"20\",\"followsDelimiter\":\"/\",\"description\":\"At least 16 out of 20 in a row\",\"type\":\"standalone\"}]},{\"name\":\"TEST3RUN=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the length of the pattern for Test 3 requested with the TESTS= and TESTS2= options.\",\"help\":\"TEST3RUN=6 | 7 | 8*run-length*\",\"type\":\"value\",\"arguments\":[{\"name\":\"6\",\"followsDelimiter\":\"/\",\"description\":\"Length of the pattern is at least 6.\",\"type\":\"standalone\"},{\"name\":\"7\",\"followsDelimiter\":\"/\",\"description\":\"Length of the pattern is at least 7.\",\"type\":\"standalone\"},{\"name\":\"8\",\"followsDelimiter\":\"/\",\"description\":\"Length of the pattern is at least 8.\",\"type\":\"standalone\"}]},{\"name\":\"TESTNSTD\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"applies the tests for special causes requested with the TESTS= and TESTS2= options to standardized test statistics when the subgroup sample sizes are not constant.\",\"type\":\"standalone\"},{\"name\":\"TESTOVERLAP\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Applies tests for special causes (requested with the TESTS= or TESTS2= option) to overlapping patterns of points.\",\"type\":\"standalone\"},{\"name\":\"TESTS2=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests one or more tests for special causes for an R chart or s chart.\",\"help\":\"TESTS2=1 | 2 | 3 | 4 | 5 | 6 | 7 | 8*index-list*\",\"type\":\"value\",\"arguments\":[{\"name\":\"1\",\"followsDelimiter\":\"/\",\"description\":\"One point beyond Zone A (outside the control limits)\",\"type\":\"standalone\"},{\"name\":\"2\",\"followsDelimiter\":\"/\",\"description\":\"Nine points in a row in Zone C or beyond on one side of the central line\",\"type\":\"standalone\"},{\"name\":\"3\",\"followsDelimiter\":\"/\",\"description\":\"Six points in a row steadily increasing\",\"type\":\"standalone\"},{\"name\":\"4\",\"followsDelimiter\":\"/\",\"description\":\"Fourteen points in a row alternating up and down\",\"type\":\"standalone\"},{\"name\":\"5\",\"followsDelimiter\":\"/\",\"description\":\"Two out of three points in a row in Zone A or beyond\",\"type\":\"standalone\"},{\"name\":\"6\",\"followsDelimiter\":\"/\",\"description\":\"Four out of five points in a row in Zone B or beyond\",\"type\":\"standalone\"},{\"name\":\"7\",\"followsDelimiter\":\"/\",\"description\":\"Fifteen points in a row in Zone C on either or both sides of the central line\",\"type\":\"standalone\"},{\"name\":\"8\",\"followsDelimiter\":\"/\",\"description\":\"Eight points in a row on either or both sides of the central line with no points in Zone C\",\"type\":\"standalone\"}]}]},{\"name\":\"SCHART\",\"description\":\"The SCHART statement computes control charts for subgroup standard deviations.\",\"help\":\"SCHART &lt;ALLN&gt;&lt;EXCHART&gt;&lt;LIMITN=n&gt; ...\",\"arguments\":[{\"name\":\"ALLN\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Includes all subgroups in the analysis, regardless of whether the subgroup sample size equals the nominal control limit sample size n specified by the LIMITN= option or the variable _LIMITN_ in the LIMITS= data table. Use the ALLN option in conjunction with the LIMITN= option or the variable _LIMITN_.\",\"type\":\"standalone\"},{\"name\":\"EXCHART\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Includes a control chart in the results only when exceptions occur, specifically, when the control limits are exceeded or when any of the tests requested with the TESTS= option or the TESTS2= option are positive.\",\"type\":\"standalone\"},{\"name\":\"LIMITN=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies a nominal sample size for the control limits.\",\"help\":\"LIMITN=*n*\",\"type\":\"value\"},{\"name\":\"NO3SIGMACHECK\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Suppresses the check for 3σ limits when tests for special causes are requested.\",\"type\":\"standalone\"},{\"name\":\"NOPRINT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Suppresses the display of ODS output.\",\"type\":\"standalone\"},{\"name\":\"OUTLIMITS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Creates an output data table that saves the control limits.\",\"help\":\"OUTLIMITS=*CAS-libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"OUTTABLE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Creates an output SAS data table that saves the information plotted on the chart, including the subgroup variable values and their corresponding summary statistics and control limits.\",\"type\":\"value\"},{\"name\":\"SIGMAS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the width of the control limits in terms of the multiple k of the standard error of the subgroup summary statistic plotted on the chart. The value of k must be positive. By default, k=3.\",\"help\":\"SIGMAS=*k*\",\"type\":\"value\"},{\"name\":\"SMETHOD=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies a method for estimating the process standard deviation, σ.\",\"help\":\"SMETHOD=MAD | MMR | MVGRANGE | RMSDF | RMVLUE | RNOWEIGHT | SMVLUE | SNOWEIGHT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"MAD\",\"followsDelimiter\":\"/\",\"description\":\"Calculates a median absolute deviation estimate for σ.\",\"type\":\"standalone\"},{\"name\":\"MMR\",\"followsDelimiter\":\"/\",\"description\":\"Calculates a median moving range estimate for σ.\",\"type\":\"standalone\"},{\"name\":\"MVGRANGE\",\"followsDelimiter\":\"/\",\"description\":\"Estimates σ based on a moving range of subgroup means.\",\"type\":\"standalone\"},{\"name\":\"RMSDF\",\"followsDelimiter\":\"/\",\"description\":\"Calculates a root-mean square estimate for σ.\",\"type\":\"standalone\"},{\"name\":\"RMVLUE\",\"followsDelimiter\":\"/\",\"description\":\"Calculates a minimum variance linear unbiased estimate for σ based on subgroup ranges.\",\"type\":\"standalone\"},{\"name\":\"RNOWEIGHT\",\"followsDelimiter\":\"/\",\"description\":\"Estimates σ as an unweighted average of unbiased subgroup estimates of σ based on subgroup ranges.\",\"type\":\"standalone\"},{\"name\":\"SMVLUE\",\"followsDelimiter\":\"/\",\"description\":\"Calculates a minimum variance linear unbiased estimate for σ based on subgroup standard deviations.\",\"type\":\"standalone\"},{\"name\":\"SNOWEIGHT\",\"followsDelimiter\":\"/\",\"description\":\"Estimates σ as an unweighted average of unbiased subgroup estimates of σ based on subgroup standard deviations.\",\"type\":\"standalone\"}]},{\"name\":\"TEST2RUN=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"TEST2RUN=run-length\",\"help\":\"TEST2RUN=7 | 8 | 9 | 11 | 14 | 20\",\"type\":\"choice\",\"arguments\":[{\"name\":\"7\",\"followsDelimiter\":\"/\",\"description\":\"7 in a row\",\"type\":\"standalone\"},{\"name\":\"8\",\"followsDelimiter\":\"/\",\"description\":\"8 in a row\",\"type\":\"standalone\"},{\"name\":\"9\",\"followsDelimiter\":\"/\",\"description\":\"9 in a row\",\"type\":\"standalone\"},{\"name\":\"11\",\"followsDelimiter\":\"/\",\"description\":\"At least 10 out of 11 in a row\",\"type\":\"standalone\"},{\"name\":\"14\",\"followsDelimiter\":\"/\",\"description\":\"At least 12 out of 14 in a row\",\"type\":\"standalone\"},{\"name\":\"20\",\"followsDelimiter\":\"/\",\"description\":\"At least 16 out of 20 in a row\",\"type\":\"standalone\"}]},{\"name\":\"TEST3RUN=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the length of the pattern for Test 3 requested with the TESTS= and TESTS2= options.\",\"help\":\"TEST3RUN=6 | 7 | 8*run-length*\",\"type\":\"value\",\"arguments\":[{\"name\":\"6\",\"followsDelimiter\":\"/\",\"description\":\"Length of the pattern is at least 6.\",\"type\":\"standalone\"},{\"name\":\"7\",\"followsDelimiter\":\"/\",\"description\":\"Length of the pattern is at least 7.\",\"type\":\"standalone\"},{\"name\":\"8\",\"followsDelimiter\":\"/\",\"description\":\"Length of the pattern is at least 8.\",\"type\":\"standalone\"}]},{\"name\":\"TESTNSTD\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"applies the tests for special causes requested with the TESTS= and TESTS2= options to standardized test statistics when the subgroup sample sizes are not constant.\",\"type\":\"standalone\"},{\"name\":\"TESTOVERLAP\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Applies tests for special causes (requested with the TESTS= or TESTS2= option) to overlapping patterns of points.\",\"type\":\"standalone\"},{\"name\":\"TESTS2=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests one or more tests for special causes for an R chart or s chart.\",\"help\":\"TESTS2=1 | 2 | 3 | 4 | 5 | 6 | 7 | 8*index-list*\",\"type\":\"value\",\"arguments\":[{\"name\":\"1\",\"followsDelimiter\":\"/\",\"description\":\"One point beyond Zone A (outside the control limits)\",\"type\":\"standalone\"},{\"name\":\"2\",\"followsDelimiter\":\"/\",\"description\":\"Nine points in a row in Zone C or beyond on one side of the central line\",\"type\":\"standalone\"},{\"name\":\"3\",\"followsDelimiter\":\"/\",\"description\":\"Six points in a row steadily increasing\",\"type\":\"standalone\"},{\"name\":\"4\",\"followsDelimiter\":\"/\",\"description\":\"Fourteen points in a row alternating up and down\",\"type\":\"standalone\"},{\"name\":\"5\",\"followsDelimiter\":\"/\",\"description\":\"Two out of three points in a row in Zone A or beyond\",\"type\":\"standalone\"},{\"name\":\"6\",\"followsDelimiter\":\"/\",\"description\":\"Four out of five points in a row in Zone B or beyond\",\"type\":\"standalone\"},{\"name\":\"7\",\"followsDelimiter\":\"/\",\"description\":\"Fifteen points in a row in Zone C on either or both sides of the central line\",\"type\":\"standalone\"},{\"name\":\"8\",\"followsDelimiter\":\"/\",\"description\":\"Eight points in a row on either or both sides of the central line with no points in Zone C\",\"type\":\"standalone\"}]}]},{\"name\":\"UCHART\",\"description\":\"The UCHART statement computes control charts for the numbers of nonconformities per inspection unit in subgroup samples.\",\"help\":\"UCHART &lt;ALLN&gt;&lt;EXCHART&gt;&lt;LIMITN=n&gt; ...\",\"arguments\":[{\"name\":\"ALLN\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Includes all subgroups in the analysis, regardless of whether the subgroup sample size equals the nominal control limit sample size n specified by the LIMITN= option or the variable _LIMITN_ in the LIMITS= data table. Use the ALLN option in conjunction with the LIMITN= option or the variable _LIMITN_.\",\"type\":\"standalone\"},{\"name\":\"EXCHART\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Includes a control chart in the results only when exceptions occur, specifically, when the control limits are exceeded or when any of the tests requested with the TESTS= option or the TESTS2= option are positive.\",\"type\":\"standalone\"},{\"name\":\"LIMITN=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies a nominal sample size for the control limits.\",\"help\":\"LIMITN=*n*\",\"type\":\"value\"},{\"name\":\"NO3SIGMACHECK\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Suppresses the check for 3σ limits when tests for special causes are requested.\",\"type\":\"standalone\"},{\"name\":\"NOPRINT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Suppresses the display of ODS output.\",\"type\":\"standalone\"},{\"name\":\"OUTLIMITS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Creates an output data table that saves the control limits.\",\"help\":\"OUTLIMITS=*CAS-libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"OUTTABLE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Creates an output SAS data table that saves the information plotted on the chart, including the subgroup variable values and their corresponding summary statistics and control limits.\",\"type\":\"value\"},{\"name\":\"SIGMAS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the width of the control limits in terms of the multiple k of the standard error of the subgroup summary statistic plotted on the chart. The value of k must be positive. By default, k=3.\",\"help\":\"SIGMAS=*k*\",\"type\":\"value\"},{\"name\":\"SUBGROUPN=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies a variable in the input data table whose values specify the subgroup sample sizes.\",\"help\":\"SUBGROUPN=*variable*\",\"type\":\"value\"},{\"name\":\"TEST2RUN=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"TEST2RUN=run-length\",\"help\":\"TEST2RUN=7 | 8 | 9 | 11 | 14 | 20\",\"type\":\"choice\",\"arguments\":[{\"name\":\"7\",\"followsDelimiter\":\"/\",\"description\":\"7 in a row\",\"type\":\"standalone\"},{\"name\":\"8\",\"followsDelimiter\":\"/\",\"description\":\"8 in a row\",\"type\":\"standalone\"},{\"name\":\"9\",\"followsDelimiter\":\"/\",\"description\":\"9 in a row\",\"type\":\"standalone\"},{\"name\":\"11\",\"followsDelimiter\":\"/\",\"description\":\"At least 10 out of 11 in a row\",\"type\":\"standalone\"},{\"name\":\"14\",\"followsDelimiter\":\"/\",\"description\":\"At least 12 out of 14 in a row\",\"type\":\"standalone\"},{\"name\":\"20\",\"followsDelimiter\":\"/\",\"description\":\"At least 16 out of 20 in a row\",\"type\":\"standalone\"}]},{\"name\":\"TEST3RUN=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the length of the pattern for Test 3 requested with the TESTS= and TESTS2= options.\",\"help\":\"TEST3RUN=6 | 7 | 8*run-length*\",\"type\":\"value\",\"arguments\":[{\"name\":\"6\",\"followsDelimiter\":\"/\",\"description\":\"Length of the pattern is at least 6.\",\"type\":\"standalone\"},{\"name\":\"7\",\"followsDelimiter\":\"/\",\"description\":\"Length of the pattern is at least 7.\",\"type\":\"standalone\"},{\"name\":\"8\",\"followsDelimiter\":\"/\",\"description\":\"Length of the pattern is at least 8.\",\"type\":\"standalone\"}]},{\"name\":\"TESTNSTD\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"applies the tests for special causes requested with the TESTS= and TESTS2= options to standardized test statistics when the subgroup sample sizes are not constant.\",\"type\":\"standalone\"},{\"name\":\"TESTOVERLAP\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Applies tests for special causes (requested with the TESTS= or TESTS2= option) to overlapping patterns of points.\",\"type\":\"standalone\"},{\"name\":\"TESTS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests one or more tests for special causes, which are also known as runs tests, pattern tests, and Western Electric rules.\",\"help\":\"TESTS=1 | 2 | 3 | 4 | 5 | 6 | 7 | 8*index-list*\",\"type\":\"value\",\"arguments\":[{\"name\":\"1\",\"followsDelimiter\":\"/\",\"description\":\"One point beyond Zone A (outside the control limits)\",\"type\":\"standalone\"},{\"name\":\"2\",\"followsDelimiter\":\"/\",\"description\":\"Nine points in a row in Zone C or beyond on one side of the central line\",\"type\":\"standalone\"},{\"name\":\"3\",\"followsDelimiter\":\"/\",\"description\":\"Six points in a row steadily increasing\",\"type\":\"standalone\"},{\"name\":\"4\",\"followsDelimiter\":\"/\",\"description\":\"Fourteen points in a row alternating up and down\",\"type\":\"standalone\"},{\"name\":\"5\",\"followsDelimiter\":\"/\",\"description\":\"Two out of three points in a row in Zone A or beyond\",\"type\":\"standalone\"},{\"name\":\"6\",\"followsDelimiter\":\"/\",\"description\":\"Four out of five points in a row in Zone B or beyond\",\"type\":\"standalone\"},{\"name\":\"7\",\"followsDelimiter\":\"/\",\"description\":\"Fifteen points in a row in Zone C on either or both sides of the central line\",\"type\":\"standalone\"},{\"name\":\"8\",\"followsDelimiter\":\"/\",\"description\":\"Eight points in a row on either or both sides of the central line with no points in Zone C\",\"type\":\"standalone\"}]}]},{\"name\":\"XCHART\",\"description\":\"The XCHART statement computes control charts for subgroup means.\",\"help\":\"XCHART &lt;ALLN&gt;&lt;EXCHART&gt;&lt;LIMITN=n&gt; ...\",\"arguments\":[{\"name\":\"ALLN\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Includes all subgroups in the analysis, regardless of whether the subgroup sample size equals the nominal control limit sample size n specified by the LIMITN= option or the variable _LIMITN_ in the LIMITS= data table. Use the ALLN option in conjunction with the LIMITN= option or the variable _LIMITN_.\",\"type\":\"standalone\"},{\"name\":\"EXCHART\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Includes a control chart in the results only when exceptions occur, specifically, when the control limits are exceeded or when any of the tests requested with the TESTS= option or the TESTS2= option are positive.\",\"type\":\"standalone\"},{\"name\":\"LIMITN=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies a nominal sample size for the control limits.\",\"help\":\"LIMITN=*n*\",\"type\":\"value\"},{\"name\":\"NO3SIGMACHECK\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Suppresses the check for 3σ limits when tests for special causes are requested.\",\"type\":\"standalone\"},{\"name\":\"NOPRINT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Suppresses the display of ODS output.\",\"type\":\"standalone\"},{\"name\":\"OUTLIMITS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Creates an output data table that saves the control limits.\",\"help\":\"OUTLIMITS=*CAS-libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"OUTTABLE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Creates an output SAS data table that saves the information plotted on the chart, including the subgroup variable values and their corresponding summary statistics and control limits.\",\"type\":\"value\"},{\"name\":\"SIGMAS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the width of the control limits in terms of the multiple k of the standard error of the subgroup summary statistic plotted on the chart. The value of k must be positive. By default, k=3.\",\"help\":\"SIGMAS=*k*\",\"type\":\"value\"},{\"name\":\"SMETHOD=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies a method for estimating the process standard deviation, σ.\",\"help\":\"SMETHOD=MAD | MMR | MVGRANGE | RMSDF | RMVLUE | RNOWEIGHT | SMVLUE | SNOWEIGHT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"MAD\",\"followsDelimiter\":\"/\",\"description\":\"Calculates a median absolute deviation estimate for σ.\",\"type\":\"standalone\"},{\"name\":\"MMR\",\"followsDelimiter\":\"/\",\"description\":\"Calculates a median moving range estimate for σ.\",\"type\":\"standalone\"},{\"name\":\"MVGRANGE\",\"followsDelimiter\":\"/\",\"description\":\"Estimates σ based on a moving range of subgroup means.\",\"type\":\"standalone\"},{\"name\":\"RMSDF\",\"followsDelimiter\":\"/\",\"description\":\"Calculates a root-mean square estimate for σ.\",\"type\":\"standalone\"},{\"name\":\"RMVLUE\",\"followsDelimiter\":\"/\",\"description\":\"Calculates a minimum variance linear unbiased estimate for σ based on subgroup ranges.\",\"type\":\"standalone\"},{\"name\":\"RNOWEIGHT\",\"followsDelimiter\":\"/\",\"description\":\"Estimates σ as an unweighted average of unbiased subgroup estimates of σ based on subgroup ranges.\",\"type\":\"standalone\"},{\"name\":\"SMVLUE\",\"followsDelimiter\":\"/\",\"description\":\"Calculates a minimum variance linear unbiased estimate for σ based on subgroup standard deviations.\",\"type\":\"standalone\"},{\"name\":\"SNOWEIGHT\",\"followsDelimiter\":\"/\",\"description\":\"Estimates σ as an unweighted average of unbiased subgroup estimates of σ based on subgroup standard deviations.\",\"type\":\"standalone\"}]},{\"name\":\"TEST2RUN=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"TEST2RUN=run-length\",\"help\":\"TEST2RUN=7 | 8 | 9 | 11 | 14 | 20\",\"type\":\"choice\",\"arguments\":[{\"name\":\"7\",\"followsDelimiter\":\"/\",\"description\":\"7 in a row\",\"type\":\"standalone\"},{\"name\":\"8\",\"followsDelimiter\":\"/\",\"description\":\"8 in a row\",\"type\":\"standalone\"},{\"name\":\"9\",\"followsDelimiter\":\"/\",\"description\":\"9 in a row\",\"type\":\"standalone\"},{\"name\":\"11\",\"followsDelimiter\":\"/\",\"description\":\"At least 10 out of 11 in a row\",\"type\":\"standalone\"},{\"name\":\"14\",\"followsDelimiter\":\"/\",\"description\":\"At least 12 out of 14 in a row\",\"type\":\"standalone\"},{\"name\":\"20\",\"followsDelimiter\":\"/\",\"description\":\"At least 16 out of 20 in a row\",\"type\":\"standalone\"}]},{\"name\":\"TEST3RUN=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the length of the pattern for Test 3 requested with the TESTS= and TESTS2= options.\",\"help\":\"TEST3RUN=6 | 7 | 8*run-length*\",\"type\":\"value\",\"arguments\":[{\"name\":\"6\",\"followsDelimiter\":\"/\",\"description\":\"Length of the pattern is at least 6.\",\"type\":\"standalone\"},{\"name\":\"7\",\"followsDelimiter\":\"/\",\"description\":\"Length of the pattern is at least 7.\",\"type\":\"standalone\"},{\"name\":\"8\",\"followsDelimiter\":\"/\",\"description\":\"Length of the pattern is at least 8.\",\"type\":\"standalone\"}]},{\"name\":\"TESTNSTD\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"applies the tests for special causes requested with the TESTS= and TESTS2= options to standardized test statistics when the subgroup sample sizes are not constant.\",\"type\":\"standalone\"},{\"name\":\"TESTOVERLAP\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Applies tests for special causes (requested with the TESTS= or TESTS2= option) to overlapping patterns of points.\",\"type\":\"standalone\"},{\"name\":\"TESTS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests one or more tests for special causes, which are also known as runs tests, pattern tests, and Western Electric rules.\",\"help\":\"TESTS=1 | 2 | 3 | 4 | 5 | 6 | 7 | 8*index-list*\",\"type\":\"value\",\"arguments\":[{\"name\":\"1\",\"followsDelimiter\":\"/\",\"description\":\"One point beyond Zone A (outside the control limits)\",\"type\":\"standalone\"},{\"name\":\"2\",\"followsDelimiter\":\"/\",\"description\":\"Nine points in a row in Zone C or beyond on one side of the central line\",\"type\":\"standalone\"},{\"name\":\"3\",\"followsDelimiter\":\"/\",\"description\":\"Six points in a row steadily increasing\",\"type\":\"standalone\"},{\"name\":\"4\",\"followsDelimiter\":\"/\",\"description\":\"Fourteen points in a row alternating up and down\",\"type\":\"standalone\"},{\"name\":\"5\",\"followsDelimiter\":\"/\",\"description\":\"Two out of three points in a row in Zone A or beyond\",\"type\":\"standalone\"},{\"name\":\"6\",\"followsDelimiter\":\"/\",\"description\":\"Four out of five points in a row in Zone B or beyond\",\"type\":\"standalone\"},{\"name\":\"7\",\"followsDelimiter\":\"/\",\"description\":\"Fifteen points in a row in Zone C on either or both sides of the central line\",\"type\":\"standalone\"},{\"name\":\"8\",\"followsDelimiter\":\"/\",\"description\":\"Eight points in a row on either or both sides of the central line with no points in Zone C\",\"type\":\"standalone\"}]}]},{\"name\":\"XRCHART\",\"description\":\"The XRCHART statement computes control charts for subgroup means and ranges.\",\"help\":\"XRCHART &lt;ALLN&gt;&lt;EXCHART&gt;&lt;LIMITN=n&gt; ...\",\"arguments\":[{\"name\":\"ALLN\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Includes all subgroups in the analysis, regardless of whether the subgroup sample size equals the nominal control limit sample size n specified by the LIMITN= option or the variable _LIMITN_ in the LIMITS= data table. Use the ALLN option in conjunction with the LIMITN= option or the variable _LIMITN_.\",\"type\":\"standalone\"},{\"name\":\"EXCHART\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Includes a control chart in the results only when exceptions occur, specifically, when the control limits are exceeded or when any of the tests requested with the TESTS= option or the TESTS2= option are positive.\",\"type\":\"standalone\"},{\"name\":\"LIMITN=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies a nominal sample size for the control limits.\",\"help\":\"LIMITN=*n*\",\"type\":\"value\"},{\"name\":\"NMVGRANGE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the number of consecutive subgroup summary statistics from which moving ranges are computed. Moving ranges are used to compute the estimate of the process standard deviation by the IRCHART statement, and by the XRCHART and XSCHART statements when you specify SMETHOD=MVGRANGE.\",\"help\":\"NMVGRANGE=*n*\",\"type\":\"value\"},{\"name\":\"NO3SIGMACHECK\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Suppresses the check for 3σ limits when tests for special causes are requested.\",\"type\":\"standalone\"},{\"name\":\"NOPRINT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Suppresses the display of ODS output.\",\"type\":\"standalone\"},{\"name\":\"OUTLIMITS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Creates an output data table that saves the control limits.\",\"help\":\"OUTLIMITS=*CAS-libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"OUTTABLE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Creates an output SAS data table that saves the information plotted on the chart, including the subgroup variable values and their corresponding summary statistics and control limits.\",\"type\":\"value\"},{\"name\":\"SIGMAS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the width of the control limits in terms of the multiple k of the standard error of the subgroup summary statistic plotted on the chart. The value of k must be positive. By default, k=3.\",\"help\":\"SIGMAS=*k*\",\"type\":\"value\"},{\"name\":\"SMETHOD=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies a method for estimating the process standard deviation, σ.\",\"help\":\"SMETHOD=MAD | MMR | MVGRANGE | RMSDF | RMVLUE | RNOWEIGHT | SMVLUE | SNOWEIGHT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"MAD\",\"followsDelimiter\":\"/\",\"description\":\"Calculates a median absolute deviation estimate for σ.\",\"type\":\"standalone\"},{\"name\":\"MMR\",\"followsDelimiter\":\"/\",\"description\":\"Calculates a median moving range estimate for σ.\",\"type\":\"standalone\"},{\"name\":\"MVGRANGE\",\"followsDelimiter\":\"/\",\"description\":\"Estimates σ based on a moving range of subgroup means.\",\"type\":\"standalone\"},{\"name\":\"RMSDF\",\"followsDelimiter\":\"/\",\"description\":\"Calculates a root-mean square estimate for σ.\",\"type\":\"standalone\"},{\"name\":\"RMVLUE\",\"followsDelimiter\":\"/\",\"description\":\"Calculates a minimum variance linear unbiased estimate for σ based on subgroup ranges.\",\"type\":\"standalone\"},{\"name\":\"RNOWEIGHT\",\"followsDelimiter\":\"/\",\"description\":\"Estimates σ as an unweighted average of unbiased subgroup estimates of σ based on subgroup ranges.\",\"type\":\"standalone\"},{\"name\":\"SMVLUE\",\"followsDelimiter\":\"/\",\"description\":\"Calculates a minimum variance linear unbiased estimate for σ based on subgroup standard deviations.\",\"type\":\"standalone\"},{\"name\":\"SNOWEIGHT\",\"followsDelimiter\":\"/\",\"description\":\"Estimates σ as an unweighted average of unbiased subgroup estimates of σ based on subgroup standard deviations.\",\"type\":\"standalone\"}]},{\"name\":\"TEST2RUN=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"TEST2RUN=run-length\",\"help\":\"TEST2RUN=7 | 8 | 9 | 11 | 14 | 20\",\"type\":\"choice\",\"arguments\":[{\"name\":\"7\",\"followsDelimiter\":\"/\",\"description\":\"7 in a row\",\"type\":\"standalone\"},{\"name\":\"8\",\"followsDelimiter\":\"/\",\"description\":\"8 in a row\",\"type\":\"standalone\"},{\"name\":\"9\",\"followsDelimiter\":\"/\",\"description\":\"9 in a row\",\"type\":\"standalone\"},{\"name\":\"11\",\"followsDelimiter\":\"/\",\"description\":\"At least 10 out of 11 in a row\",\"type\":\"standalone\"},{\"name\":\"14\",\"followsDelimiter\":\"/\",\"description\":\"At least 12 out of 14 in a row\",\"type\":\"standalone\"},{\"name\":\"20\",\"followsDelimiter\":\"/\",\"description\":\"At least 16 out of 20 in a row\",\"type\":\"standalone\"}]},{\"name\":\"TEST3RUN=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the length of the pattern for Test 3 requested with the TESTS= and TESTS2= options.\",\"help\":\"TEST3RUN=6 | 7 | 8*run-length*\",\"type\":\"value\",\"arguments\":[{\"name\":\"6\",\"followsDelimiter\":\"/\",\"description\":\"Length of the pattern is at least 6.\",\"type\":\"standalone\"},{\"name\":\"7\",\"followsDelimiter\":\"/\",\"description\":\"Length of the pattern is at least 7.\",\"type\":\"standalone\"},{\"name\":\"8\",\"followsDelimiter\":\"/\",\"description\":\"Length of the pattern is at least 8.\",\"type\":\"standalone\"}]},{\"name\":\"TESTNSTD\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"applies the tests for special causes requested with the TESTS= and TESTS2= options to standardized test statistics when the subgroup sample sizes are not constant.\",\"type\":\"standalone\"},{\"name\":\"TESTOVERLAP\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Applies tests for special causes (requested with the TESTS= or TESTS2= option) to overlapping patterns of points.\",\"type\":\"standalone\"},{\"name\":\"TESTS2=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests one or more tests for special causes for an R chart or s chart.\",\"help\":\"TESTS2=1 | 2 | 3 | 4 | 5 | 6 | 7 | 8*index-list*\",\"type\":\"value\",\"arguments\":[{\"name\":\"1\",\"followsDelimiter\":\"/\",\"description\":\"One point beyond Zone A (outside the control limits)\",\"type\":\"standalone\"},{\"name\":\"2\",\"followsDelimiter\":\"/\",\"description\":\"Nine points in a row in Zone C or beyond on one side of the central line\",\"type\":\"standalone\"},{\"name\":\"3\",\"followsDelimiter\":\"/\",\"description\":\"Six points in a row steadily increasing\",\"type\":\"standalone\"},{\"name\":\"4\",\"followsDelimiter\":\"/\",\"description\":\"Fourteen points in a row alternating up and down\",\"type\":\"standalone\"},{\"name\":\"5\",\"followsDelimiter\":\"/\",\"description\":\"Two out of three points in a row in Zone A or beyond\",\"type\":\"standalone\"},{\"name\":\"6\",\"followsDelimiter\":\"/\",\"description\":\"Four out of five points in a row in Zone B or beyond\",\"type\":\"standalone\"},{\"name\":\"7\",\"followsDelimiter\":\"/\",\"description\":\"Fifteen points in a row in Zone C on either or both sides of the central line\",\"type\":\"standalone\"},{\"name\":\"8\",\"followsDelimiter\":\"/\",\"description\":\"Eight points in a row on either or both sides of the central line with no points in Zone C\",\"type\":\"standalone\"}]},{\"name\":\"TESTS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests one or more tests for special causes, which are also known as runs tests, pattern tests, and Western Electric rules.\",\"help\":\"TESTS=1 | 2 | 3 | 4 | 5 | 6 | 7 | 8*index-list*\",\"type\":\"value\",\"arguments\":[{\"name\":\"1\",\"followsDelimiter\":\"/\",\"description\":\"One point beyond Zone A (outside the control limits)\",\"type\":\"standalone\"},{\"name\":\"2\",\"followsDelimiter\":\"/\",\"description\":\"Nine points in a row in Zone C or beyond on one side of the central line\",\"type\":\"standalone\"},{\"name\":\"3\",\"followsDelimiter\":\"/\",\"description\":\"Six points in a row steadily increasing\",\"type\":\"standalone\"},{\"name\":\"4\",\"followsDelimiter\":\"/\",\"description\":\"Fourteen points in a row alternating up and down\",\"type\":\"standalone\"},{\"name\":\"5\",\"followsDelimiter\":\"/\",\"description\":\"Two out of three points in a row in Zone A or beyond\",\"type\":\"standalone\"},{\"name\":\"6\",\"followsDelimiter\":\"/\",\"description\":\"Four out of five points in a row in Zone B or beyond\",\"type\":\"standalone\"},{\"name\":\"7\",\"followsDelimiter\":\"/\",\"description\":\"Fifteen points in a row in Zone C on either or both sides of the central line\",\"type\":\"standalone\"},{\"name\":\"8\",\"followsDelimiter\":\"/\",\"description\":\"Eight points in a row on either or both sides of the central line with no points in Zone C\",\"type\":\"standalone\"}]}]},{\"name\":\"XSCHART\",\"description\":\"The XSCHART statement computes control charts for subgroup means and standard deviations.\",\"help\":\"XSCHART &lt;ALLN&gt;&lt;EXCHART&gt;&lt;LIMITN=n&gt; ...\",\"arguments\":[{\"name\":\"ALLN\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Includes all subgroups in the analysis, regardless of whether the subgroup sample size equals the nominal control limit sample size n specified by the LIMITN= option or the variable _LIMITN_ in the LIMITS= data table. Use the ALLN option in conjunction with the LIMITN= option or the variable _LIMITN_.\",\"type\":\"standalone\"},{\"name\":\"EXCHART\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Includes a control chart in the results only when exceptions occur, specifically, when the control limits are exceeded or when any of the tests requested with the TESTS= option or the TESTS2= option are positive.\",\"type\":\"standalone\"},{\"name\":\"LIMITN=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies a nominal sample size for the control limits.\",\"help\":\"LIMITN=*n*\",\"type\":\"value\"},{\"name\":\"NMVGRANGE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the number of consecutive subgroup summary statistics from which moving ranges are computed. Moving ranges are used to compute the estimate of the process standard deviation by the IRCHART statement, and by the XRCHART and XSCHART statements when you specify SMETHOD=MVGRANGE.\",\"help\":\"NMVGRANGE=*n*\",\"type\":\"value\"},{\"name\":\"NO3SIGMACHECK\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Suppresses the check for 3σ limits when tests for special causes are requested.\",\"type\":\"standalone\"},{\"name\":\"NOPRINT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Suppresses the display of ODS output.\",\"type\":\"standalone\"},{\"name\":\"OUTLIMITS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Creates an output data table that saves the control limits.\",\"help\":\"OUTLIMITS=*CAS-libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"OUTTABLE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Creates an output SAS data table that saves the information plotted on the chart, including the subgroup variable values and their corresponding summary statistics and control limits.\",\"type\":\"value\"},{\"name\":\"SIGMAS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the width of the control limits in terms of the multiple k of the standard error of the subgroup summary statistic plotted on the chart. The value of k must be positive. By default, k=3.\",\"help\":\"SIGMAS=*k*\",\"type\":\"value\"},{\"name\":\"SMETHOD=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies a method for estimating the process standard deviation, σ.\",\"help\":\"SMETHOD=MAD | MMR | MVGRANGE | RMSDF | RMVLUE | RNOWEIGHT | SMVLUE | SNOWEIGHT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"MAD\",\"followsDelimiter\":\"/\",\"description\":\"Calculates a median absolute deviation estimate for σ.\",\"type\":\"standalone\"},{\"name\":\"MMR\",\"followsDelimiter\":\"/\",\"description\":\"Calculates a median moving range estimate for σ.\",\"type\":\"standalone\"},{\"name\":\"MVGRANGE\",\"followsDelimiter\":\"/\",\"description\":\"Estimates σ based on a moving range of subgroup means.\",\"type\":\"standalone\"},{\"name\":\"RMSDF\",\"followsDelimiter\":\"/\",\"description\":\"Calculates a root-mean square estimate for σ.\",\"type\":\"standalone\"},{\"name\":\"RMVLUE\",\"followsDelimiter\":\"/\",\"description\":\"Calculates a minimum variance linear unbiased estimate for σ based on subgroup ranges.\",\"type\":\"standalone\"},{\"name\":\"RNOWEIGHT\",\"followsDelimiter\":\"/\",\"description\":\"Estimates σ as an unweighted average of unbiased subgroup estimates of σ based on subgroup ranges.\",\"type\":\"standalone\"},{\"name\":\"SMVLUE\",\"followsDelimiter\":\"/\",\"description\":\"Calculates a minimum variance linear unbiased estimate for σ based on subgroup standard deviations.\",\"type\":\"standalone\"},{\"name\":\"SNOWEIGHT\",\"followsDelimiter\":\"/\",\"description\":\"Estimates σ as an unweighted average of unbiased subgroup estimates of σ based on subgroup standard deviations.\",\"type\":\"standalone\"}]},{\"name\":\"TEST2RUN=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"TEST2RUN=run-length\",\"help\":\"TEST2RUN=7 | 8 | 9 | 11 | 14 | 20\",\"type\":\"choice\",\"arguments\":[{\"name\":\"7\",\"followsDelimiter\":\"/\",\"description\":\"7 in a row\",\"type\":\"standalone\"},{\"name\":\"8\",\"followsDelimiter\":\"/\",\"description\":\"8 in a row\",\"type\":\"standalone\"},{\"name\":\"9\",\"followsDelimiter\":\"/\",\"description\":\"9 in a row\",\"type\":\"standalone\"},{\"name\":\"11\",\"followsDelimiter\":\"/\",\"description\":\"At least 10 out of 11 in a row\",\"type\":\"standalone\"},{\"name\":\"14\",\"followsDelimiter\":\"/\",\"description\":\"At least 12 out of 14 in a row\",\"type\":\"standalone\"},{\"name\":\"20\",\"followsDelimiter\":\"/\",\"description\":\"At least 16 out of 20 in a row\",\"type\":\"standalone\"}]},{\"name\":\"TEST3RUN=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the length of the pattern for Test 3 requested with the TESTS= and TESTS2= options.\",\"help\":\"TEST3RUN=6 | 7 | 8*run-length*\",\"type\":\"value\",\"arguments\":[{\"name\":\"6\",\"followsDelimiter\":\"/\",\"description\":\"Length of the pattern is at least 6.\",\"type\":\"standalone\"},{\"name\":\"7\",\"followsDelimiter\":\"/\",\"description\":\"Length of the pattern is at least 7.\",\"type\":\"standalone\"},{\"name\":\"8\",\"followsDelimiter\":\"/\",\"description\":\"Length of the pattern is at least 8.\",\"type\":\"standalone\"}]},{\"name\":\"TESTNSTD\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"applies the tests for special causes requested with the TESTS= and TESTS2= options to standardized test statistics when the subgroup sample sizes are not constant.\",\"type\":\"standalone\"},{\"name\":\"TESTOVERLAP\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Applies tests for special causes (requested with the TESTS= or TESTS2= option) to overlapping patterns of points.\",\"type\":\"standalone\"},{\"name\":\"TESTS2=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests one or more tests for special causes for an R chart or s chart.\",\"help\":\"TESTS2=1 | 2 | 3 | 4 | 5 | 6 | 7 | 8*index-list*\",\"type\":\"value\",\"arguments\":[{\"name\":\"1\",\"followsDelimiter\":\"/\",\"description\":\"One point beyond Zone A (outside the control limits)\",\"type\":\"standalone\"},{\"name\":\"2\",\"followsDelimiter\":\"/\",\"description\":\"Nine points in a row in Zone C or beyond on one side of the central line\",\"type\":\"standalone\"},{\"name\":\"3\",\"followsDelimiter\":\"/\",\"description\":\"Six points in a row steadily increasing\",\"type\":\"standalone\"},{\"name\":\"4\",\"followsDelimiter\":\"/\",\"description\":\"Fourteen points in a row alternating up and down\",\"type\":\"standalone\"},{\"name\":\"5\",\"followsDelimiter\":\"/\",\"description\":\"Two out of three points in a row in Zone A or beyond\",\"type\":\"standalone\"},{\"name\":\"6\",\"followsDelimiter\":\"/\",\"description\":\"Four out of five points in a row in Zone B or beyond\",\"type\":\"standalone\"},{\"name\":\"7\",\"followsDelimiter\":\"/\",\"description\":\"Fifteen points in a row in Zone C on either or both sides of the central line\",\"type\":\"standalone\"},{\"name\":\"8\",\"followsDelimiter\":\"/\",\"description\":\"Eight points in a row on either or both sides of the central line with no points in Zone C\",\"type\":\"standalone\"}]},{\"name\":\"TESTS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests one or more tests for special causes, which are also known as runs tests, pattern tests, and Western Electric rules.\",\"help\":\"TESTS=1 | 2 | 3 | 4 | 5 | 6 | 7 | 8*index-list*\",\"type\":\"value\",\"arguments\":[{\"name\":\"1\",\"followsDelimiter\":\"/\",\"description\":\"One point beyond Zone A (outside the control limits)\",\"type\":\"standalone\"},{\"name\":\"2\",\"followsDelimiter\":\"/\",\"description\":\"Nine points in a row in Zone C or beyond on one side of the central line\",\"type\":\"standalone\"},{\"name\":\"3\",\"followsDelimiter\":\"/\",\"description\":\"Six points in a row steadily increasing\",\"type\":\"standalone\"},{\"name\":\"4\",\"followsDelimiter\":\"/\",\"description\":\"Fourteen points in a row alternating up and down\",\"type\":\"standalone\"},{\"name\":\"5\",\"followsDelimiter\":\"/\",\"description\":\"Two out of three points in a row in Zone A or beyond\",\"type\":\"standalone\"},{\"name\":\"6\",\"followsDelimiter\":\"/\",\"description\":\"Four out of five points in a row in Zone B or beyond\",\"type\":\"standalone\"},{\"name\":\"7\",\"followsDelimiter\":\"/\",\"description\":\"Fifteen points in a row in Zone C on either or both sides of the central line\",\"type\":\"standalone\"},{\"name\":\"8\",\"followsDelimiter\":\"/\",\"description\":\"Eight points in a row on either or both sides of the central line with no points in Zone C\",\"type\":\"standalone\"}]}]}],\"supportSiteInformation\":{\"docsetId\":\"casstat\",\"docsetVersion\":\"latest\",\"docsetTargetFile\":\"casstat_spc_toc.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/SPDO.json",
    "content": "{\"name\":\"SPDO\",\"statements\":[{\"name\":\"PROC SPDO\",\"description\":\"Invokes the operator interface for SPD Server.\",\"help\":\"PROC SPDO  LIBRARY=libref;\\n\\tADD ACL <acl <acl2 ...>><C=cat T=type></options>;\\n\\tCLUSTER ADD cluster-tablename MEMBER=member-name1<MEMBER=member-name2...>;\\n\\tCLUSTER CREATE cluster-tablename MEMBER=member-name1<MEMBER=member-name2...><options>;\\n\\tCLUSTER DESTROY cluster-tablename;\\n\\tCLUSTER FIX  MEMBER=member-name;\\n\\tCLUSTER LIST cluster-tablename</VERBOSE><OUT=SAS-dataset-name>;\\n\\tCLUSTER MODIFY cluster-tablename MINMAXVARLIST=(var1var2 ...);\\n\\tCLUSTER REMOVE cluster-tablename MEMBER=member-name1\\n\\t\\t<MEMBER=member-name2 ...>;\\n\\tCLUSTER REPLACE cluster-tablename OLDMEMBER=member-name\\n\\t\\tNEWMEMBER=member-name;\\n\\tCLUSTER UNDO cluster- tablename;\\n\\tCONSTRAINT ADD table-name  WHERE where-clause-expression; \\n\\tCONSTRAINT DESCRIBE  table-name;\\n\\tCONSTRAINT REMOVE  table-name;\\n\\tDELETE ACL acl<acl2 ...> | _ALL_<C=cat T=type></options>;\\n\\tLIST ACL acl<acl2 ...> | _ALL_<C=cat T=type></options>;\\n\\tLIST USERS ;\\n\\tLIST USERS/LOCKING ;\\n\\tMODIFY ACL <acl | _ALL_><C=cat T=type></options>;\\n\\tOPER <CANCEL | DISCONNECT | INTERRUPT>;\\n\\tQUIT; \\n\\tREFRESH DOMAINS ;\\n\\tREFRESH PARMS ;\\n\\tSET ACLTYPE type;\\n\\tSET ACLUSER name; \\n\\tSET MODE OPER ;\\n\\tSET USER user-ID<port-number>;\\n\\tSET USER/LOCKING user-ID threadID=number;\\n\\tSHOWLIBNAME _ALL_ | libref</options>;\\n\\tSPDSCMD  'command';\\n\\tTRUNCATE table-name; \",\"arguments\":[{\"name\":\"LIBRARY=\",\"aliases\":[\"LIB=\"],\"description\":\"specifies the libref that represents the SPD Server domain whose files you want to manage.\",\"help\":\"LIBRARY=*libref*\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"p1au1fz196z20an0z1u5336bu5yh\"}],\"supportSiteTargetFile\":\"n1mxw85z1xi4bmn11k9nkujjo8rv.htm\"},{\"name\":\"ADD ACL\",\"description\":\"Creates new ACL entries.\",\"help\":\"\\n\\tADD ACL <acl <acl2 ...>><C=cat T=type></options>;\",\"arguments\":[{\"name\":\"acl\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the name of the ACL. Use a two-part name (table.column) to identify an ACL for a table column. Use a one-part name to identify an ACL for a table. The domain is inferred from the libref. You do not need to specify a name when creating a domain ACL. You can specify multiple names. Each name creates a separate ACL entry. Separate each name with a space.\",\"help\":\"*acl* &lt;*acl2* ...&gt;\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n13qs919m811zon1j3f4gceyqvyq\"},{\"name\":\"C=\",\"optional\":true,\"description\":\"identifies the specified ACL names as the names of catalog entries in the catalog cat.\",\"help\":\"C=*cat*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n05u56m8y18w4en12qsbesi7ohov\"},{\"name\":\"T=\",\"optional\":true,\"description\":\"identifies the catalog entry type to associate with the specified ACLs names.\",\"help\":\"T=*type*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n10cqjg89n9tamn1xhwp20uzt8jj\"},{\"name\":\"ALTER\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"grants universal ALTER access to the resource.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1tjonjw0hd1ran1onj86euky8eb\"},{\"name\":\"GENERIC\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that the ACL name is a generic ACL.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1f375s6vw6xv7n1sbav6etipvi7\"},{\"name\":\"GROUPALTER\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"grants group ALTER access to the resource.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n13ec2flq3e799n16fwd4y00osb6\"},{\"name\":\"GROUPREAD\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"grants group READ access to the resource.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n12ba3w9nqnz4mn10hd3gcex5pbo\"},{\"name\":\"GROUPWRITE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"grants group WRITE access to the resource.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1xfgj13wjcdegn1aox8vy612jz4\"},{\"name\":\"LIBNAME\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"creates an ACL for the domain. The owner of a domain can control access permissions to an entire domain with this option.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0vuuhalryytucn1h612gcb5cz0e\"},{\"name\":\"MODEL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the name of another ACL. This option requests the software to copy all the access permissions and access list entries from this ACL.\",\"help\":\"MODEL *acl*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0vxwtisuirzf9n1gs6cchx7zlio\"},{\"name\":\"PERSIST\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that the ACL is a persistent ACL. A persistent ACL entry is an ACL that is not removed from the ACL tables when the resource is deleted.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1lglq9bca1xgin1t3mdaugsr2cp\"},{\"name\":\"READ\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"grants universal READ access to the resource.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n07wbt4n675mw8n1wjeketkvotg4\"},{\"name\":\"WRITE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"grants universal WRITE access to the resource.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p06rb8q7isr05vn14war5zzy43un\"}],\"supportSiteTargetFile\":\"p0i3pb8mrlr8fun16018nchs7nr5.htm\"},{\"name\":\"CLUSTER ADD\",\"description\":\"Adds a member to an existing cluster table.\",\"help\":\"CLUSTER ADD *cluster-tablename*MEMBER=*member-name1*&lt;MEMBER=*member-name2* ...&gt;;\",\"arguments\":[{\"name\":\"cluster-tablename\",\"placeholder\":true,\"description\":\"specifies the name of an existing cluster table.\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"n003jwy6x3b0pyn15324bfvlxkc2\"},{\"name\":\"MEMBER=\",\"aliases\":[\"MEM=\"],\"description\":\"specifies the name of a new member table. To specify multiple tables, use multiple MEMBER= arguments.\",\"help\":\"MEMBER=*member-name*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0mqwzpbacf7ncn1uaqmhmz3w8rf\"}],\"supportSiteTargetFile\":\"p09f7tav8se74en1dhukpiqjphiz.htm\"},{\"name\":\"CLUSTER CREATE\",\"description\":\"Creates a cluster table.\",\"help\":\"CLUSTER CREATE *cluster-tablename*MEMBER=*member-name1*&lt;MEMBER=*member-name2* ...&gt;&lt;*options*&gt;;\",\"arguments\":[{\"name\":\"cluster-tablename\",\"placeholder\":true,\"description\":\"specifies the name of the cluster to be created.\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"n0huqrjhg1l4x7n1uvuurzcedph4\"},{\"name\":\"MEMBER=\",\"aliases\":[\"MEM=\"],\"description\":\"specifies the name of a member table. To specify multiple tables, use multiple MEMBER= statements.\",\"help\":\"MEMBER=*member-name*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1ob6yjgf8y56pn1rdl2gcp0vq5m\"},{\"name\":\"DELETE=\",\"optional\":true,\"description\":\"specifies whether the cluster and all its members can be permanently deleted with the CLUSTER DESTROY statement.\",\"help\":\"DELETE=YES | NO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YES\",\"type\":\"standalone\"},{\"name\":\"NO\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"p1m6tyzc52r64on1fisf5l5aw7i8\"},{\"name\":\"MAXSLOT=\",\"optional\":true,\"description\":\"specifies the maximum number of slots, or member tables, to be allocated for the cluster.\",\"help\":\"MAXSLOT=*number*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1bjyokjsymsj1n1ehq9y2ikaptk\"},{\"name\":\"UNIQUEINDEX=\",\"optional\":true,\"description\":\"specifies whether the unique indexes that are defined in the member tables will be validated and marked as unique in the cluster table.\",\"help\":\"UNIQUEINDEX=NO | YES\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NO\",\"type\":\"standalone\"},{\"name\":\"YES\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"n1e6aas13v4jzgn1ldquto7q37qk\"}],\"supportSiteTargetFile\":\"p0xyrvxpulmj89n1pqpb4oa1zs5l.htm\"},{\"name\":\"CLUSTER DESTROY\",\"description\":\"Deletes an existing cluster table and all of its members.\",\"help\":\"CLUSTER DESTROY *cluster-tablename*;\",\"arguments\":[{\"name\":\"cluster-tablename\",\"placeholder\":true,\"description\":\"specifies the name of the cluster table to be deleted.\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"p1kxtgv0pt0eq5n1j4zu3y2e5hka\"}],\"supportSiteTargetFile\":\"p1g3mkfrq2rz60n161xp060jdv24.htm\"},{\"name\":\"CLUSTER FIX\",\"description\":\"Restores removed or replaced members of a cluster table to a writable state.\",\"help\":\"CLUSTER FIX MEMBER=*member-name*;\",\"arguments\":[{\"name\":\"MEMBER=\",\"aliases\":[\"MEM=\"],\"description\":\"specifies the name of the former member table that you want to repair.\",\"help\":\"MEMBER=*member-name*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0grp6e2m6mswcn195dscfxsd8nu\"}],\"supportSiteTargetFile\":\"n0zml7t02vhueln1h9xf9d2vd7hl.htm\"},{\"name\":\"CLUSTER LIST\",\"description\":\"Lists information about the members in a cluster table.\",\"help\":\"CLUSTER LIST *cluster-tablename*&lt;/VERBOSE&gt;&lt;OUT=*SAS-data-set-name*&gt;;\",\"arguments\":[{\"name\":\"cluster-tablename\",\"placeholder\":true,\"description\":\"specifies the name of an existing cluster table.\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"n0gw13nquwz55jn1kcnasj0h9wzq\"},{\"name\":\"OUT=\",\"optional\":true,\"description\":\"specifies the name of an output SAS data set to store the output. Qualify the data set name with a SAS Base engine libref.\",\"help\":\"OUT= *SAS-data-set-name*\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"n1035d276wyukyn10s6myf3owg3z\"},{\"name\":\"/VERBOSE\",\"optional\":true,\"description\":\"specifies to write detail information about each member table. When OUT= is also specified, it adds columns named Variable Name, Minimum Value, and Maximum Value to the OUT= data set. When the OUT= option is omitted, the CLUSTER LIST statement writes output to STDOUT.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p19zcy299dlf79n1o7si9lfojaei\"}],\"supportSiteTargetFile\":\"p07v7f2cmn0p0cn1pc9gy7s792bm.htm\"},{\"name\":\"CLUSTER MODIFY\",\"description\":\"Modifies an existing cluster table’s metadata to include minimum and maximum values for one or more columns.\",\"help\":\"CLUSTER MODIFY *cluster-tablename*MINMAXVARLIST=(*var1* *var2* ...);\",\"arguments\":[{\"name\":\"cluster-tablename\",\"placeholder\":true,\"description\":\"specifies the name of an existing cluster table.\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"p1i455nt95qel3n16z0jo7ga13mi\"},{\"name\":\"MINMAXVARLIST=\",\"description\":\"specifies the name of one or more columns whose minimum and maximum values you want to add to metadata. The column names that you specify must exist in the cluster tables. The columns must not have a previous MINMAXVARLIST setting.\",\"help\":\"MINMAXVARLIST= (*var1* *var2* ...)\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1b29df88tdjrjn1igz1yus9s4kt\"}],\"supportSiteTargetFile\":\"n13jy3oma6xyqun16fi5l2aqbubj.htm\"},{\"name\":\"CLUSTER REMOVE\",\"description\":\"Removes members from a cluster table.\",\"help\":\"CLUSTER REMOVE cluster-tablenameMEMBER=member-name1\\n<MEMBER=member-name2 ...>;\",\"arguments\":[{\"name\":\"cluster-tablename\",\"placeholder\":true,\"description\":\"specifies the name of an existing cluster table.\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"p11cdzbclqb79gn187f2zstg3dbp\"},{\"name\":\"member-name\",\"placeholder\":true,\"aliases\":[\"MEM=\"],\"description\":\"specifies the name of a member table to remove from the cluster. To specify multiple tables, use multiple MEMBER= statements.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0dlnhm81ogu25n1enny6beqck5h\"}],\"supportSiteTargetFile\":\"p11oz1svyciaphn1ae7ya7y8clle.htm\"},{\"name\":\"CLUSTER REPLACE\",\"description\":\"Specifies a replacement member for a member of a cluster table.\",\"help\":\"CLUSTER REPLACE cluster-tablenameOLDMEMBER=member-name \\nNEWMEMBER=member-name;\",\"arguments\":[{\"name\":\"cluster-tablename\",\"placeholder\":true,\"description\":\"specifies the name of an existing cluster table.\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"n1k5d4pwbc42d3n18unvy0nk2vxy\"},{\"name\":\"OLDMEMBER=\",\"aliases\":[\"OLDMEM=\"],\"description\":\"specifies the name of the member table to remove from the member list.\",\"help\":\"OLDMEMBER=*member-name*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n06iado3ea1tden19c3i29dxjn3q\"},{\"name\":\"NEWMEMBER=\",\"aliases\":[\"NEWMEM=\"],\"description\":\"specifies the name of the new member table to replace the old table with.\",\"help\":\"NEWMEMBER=*member-name*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1ety9lufmrpwzn1emuq1ve2wmjm\"}],\"supportSiteTargetFile\":\"p00wy0t7ak7w94n14li60b9634j9.htm\"},{\"name\":\"CLUSTER UNDO\",\"description\":\"Reverts a cluster table back to its unbound tables.\",\"help\":\"CLUSTER UNDO *cluster- tablename*;\",\"arguments\":[{\"name\":\"cluster-tablename\",\"placeholder\":true,\"description\":\"specifies the name of an existing cluster table to undo.\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"n03y7sb31d1e7gn110y2tq09k64m\"}],\"supportSiteTargetFile\":\"p14wfmqg554u4kn1my6lmkph65ca.htm\"},{\"name\":\"CONSTRAINT ADD\",\"description\":\"Adds a table WHERE constraint to a table.\",\"help\":\"CONSTRAINT ADD *table-name*WHERE *where-clause-expression*; \",\"arguments\":[{\"name\":\"table-name\",\"placeholder\":true,\"description\":\"specifies the name of the table on which to apply the table WHERE constraint.\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"p11f4rfntwsn8on1lfky168nbfbx\"},{\"name\":\"where-clause-expression\",\"placeholder\":true,\"description\":\"specifies a WHERE clause.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1aoui52nnift8n16ydh2rgnhh2b\"}],\"supportSiteTargetFile\":\"n047uu5u91wkzvn14hhn7nrjc6w6.htm\"},{\"name\":\"CONSTRAINT DESCRIBE\",\"description\":\"Describes the table WHERE constraint on a table.\",\"help\":\"CONSTRAINT DESCRIBE *table-name*;\",\"arguments\":[{\"name\":\"table-name\",\"placeholder\":true,\"description\":\"specifies the name of the table whose table WHERE constraint you want to describe.\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"n1nugiigyzrbs4n1x4paxvu3skth\"}],\"supportSiteTargetFile\":\"n0420onhs5ktpen1idodw88wzoqm.htm\"},{\"name\":\"CONSTRAINT REMOVE\",\"description\":\"Removes a table WHERE constraint from a table.\",\"help\":\"CONSTRAINT REMOVE *table-name*;\",\"arguments\":[{\"name\":\"table-name\",\"placeholder\":true,\"description\":\"specifies the name of the table whose table WHERE constraint you want to remove.\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"p1nmbikk0dp2ssn1m7sqjl7kupva\"}],\"supportSiteTargetFile\":\"n1mlwr5zbqf8tpn1g1olvjnsbk95.htm\"},{\"name\":\"DELETE ACL\",\"description\":\"Deletes existing ACLs for resources.\",\"help\":\"DELETE ACL *acl*&lt;*acl2* ...&gt; | _ALL_&lt;C=*cat* T=*type*&gt;&lt;/*options*&gt;;\",\"arguments\":[{\"name\":\"_ALL_\",\"description\":\"deletes all existing resource ACLs for which ACLUSER has Control access.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1cb00p7iaawfsn1o3qbxbjic8mi\"},{\"name\":\"acl\",\"placeholder\":true,\"description\":\"specifies the name of the ACL to delete. Use a two-part name (table.column) to identify an ACL for a table column. Use a one-part name to identify an ACL for a table. The domain is inferred from the libref. You do not need to specify a name when creating a domain ACL. Multiple ACL names can be specified. Separate the names with spaces.\",\"help\":\"*acl* \",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0d181yt0zempwn1rbd53ymv2jqv\"},{\"name\":\"C=\",\"optional\":true,\"description\":\"identifies the selected ACLs as names of catalog entries from the catalog cat.\",\"help\":\"C=*cat*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1rxcpx3t2fhwkn1dp7sqv1bebt0\"},{\"name\":\"T=\",\"optional\":true,\"description\":\"identifies the catalog entry type used to qualify the selected ACLs.\",\"help\":\"T=*type*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0bfll6ubn3e7en1qxddkll66z67\"},{\"name\":\"GENERIC\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"identifies the specified ACLs as generic ACLs.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0l7zeae9y1nnxn1v3jkhqj5uxqd\"},{\"name\":\"LIBNAME\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"identifies the domain ACL.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n155gr0ztwgkkzn1jzh8vrl51o6m\"}],\"supportSiteTargetFile\":\"n0fz1u6ph77jshn18xe2kzhd2mxf.htm\"},{\"name\":\"LIST ACL\",\"description\":\"Lists information about ACLs.\",\"help\":\"LIST ACL  *acl*&lt;*acl2* ...&gt; | _ALL_&lt;C=*cat* T=*type*&gt;&lt;/*options*&gt;;\",\"arguments\":[{\"name\":\"_ALL_\",\"description\":\"lists all existing resource ACLs for which ACLUSER has Control access.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0xfnxq5ec6ya4n1d1909pq7f7ls\"},{\"name\":\"acl\",\"placeholder\":true,\"description\":\"specifies the name of the ACL to list. Multiple ACL names can be specified. Separate the names with spaces.\",\"help\":\"*acl* \",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1xvlvqmpjka28n1j2jwwrtx1kvz\"},{\"name\":\"C=\",\"optional\":true,\"description\":\"identifies the selected ACLs as names of catalog entries from the catalog cat.\",\"help\":\"C=*cat*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1iw2fox06nr0dn0zup590vcxxch\"},{\"name\":\"T=\",\"optional\":true,\"description\":\"identifies the catalog entry type used to qualify the selected ACLs when the C= option is specified.\",\"help\":\"T=*type*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0g5rjm8zvqemyn1c2eq1ef32aw5\"},{\"name\":\"GENERIC\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"identifies the specified ACLs as generic ACLs.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1t941m9usgmtpn0zif9ian1otr6\"},{\"name\":\"LIBNAME\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"identifies the domain ACL.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1b5p26klwsm62n1jfb3wjhjotqi\"},{\"name\":\"VERBOSE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"performs the requested table ACL listing, followed by the column ACLs for a specified table or tables. This is equivalent to a LIST ACL table followed by a LIST ACL table._ALL_.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1c58ual97qc4kn1dk3v2f01jm8x\"}],\"supportSiteTargetFile\":\"p19uj7xdfqpnypn192fnictpg0s2.htm\"},{\"name\":\"LIST USERS\",\"description\":\"Lists the non-locking users that are active in the connected domain.\",\"help\":\"LIST USERS;\",\"supportSiteTargetFile\":\"n199vm52ep0xden1fmipleochdpp.htm\"},{\"name\":\"LIST USERS/LOCKING\",\"description\":\"Lists the locking users that are active in the connected domain.\",\"help\":\"LIST USERS/LOCKING;\",\"supportSiteTargetFile\":\"n0g71dzo2ezn64n14kn9wcb4vksj.htm\"},{\"name\":\"MODIFY ACL\",\"description\":\"Modifies existing ACLs for resources.\",\"help\":\"MODIFY ACL &lt;*acl* | _ALL_&gt;&lt;C=*cat* T=*type*&gt;&lt; /*options*&gt;; \",\"arguments\":[{\"name\":\"_ALL_\",\"optional\":true,\"description\":\"modifies all existing resource ACLs for which ACLUSER has Control access.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0kucx661zvyrxn1hmgkzaxi8cnm\"},{\"name\":\"acl\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the name of the ACL entry that you want to modify. Use a two-part name (table.column) to identify an ACL for a table column. Use a one-part name to identify an ACL for a table. The domain is inferred from the libref. You do not need to specify a name when creating a domain ACL.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0cqlc4f0f2ndtn1qpcl4stptorw\"},{\"name\":\"C=\",\"optional\":true,\"description\":\"identifies the selected ACLs as the names of catalog entries from the catalog cat.\",\"help\":\"C=*cat*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1pi5vs455v39qn1bn43dp5mqwak\"},{\"name\":\"T=\",\"optional\":true,\"description\":\"identifies the catalog entry type used to qualify the selected ACLs.\",\"help\":\"T=*type*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p02c077nkbljbqn1vphmonr4ypew\"},{\"name\":\"GENERIC\",\"optional\":true,\"description\":\"identifies the specified ACLs as generic ACLs.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1rbonkjylbzcfn1tpvqb5gd4ywy\"},{\"name\":\"LIBNAME\",\"optional\":true,\"description\":\"identifies the domain ACL.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n093a7hxrsn5gen10sjob49hjel7\"},{\"name\":\"ALTER\",\"optional\":true,\"description\":\"grants universal ALTER access to the resource.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n09cpqajk997eon1ofxrcomqfr2o\"},{\"name\":\"GROUPALTER\",\"optional\":true,\"description\":\"grants group ALTER access to the resource.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1ujy4zw1gb0ncn17435gkvg7a5e\"},{\"name\":\"GROUPREAD\",\"optional\":true,\"description\":\"grants group READ access to the resource.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0wk9pscjdtrcxn1a7m3mzvf0vod\"},{\"name\":\"GROUPWRITE\",\"optional\":true,\"description\":\"grants group WRITE access to the resource.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0sz4ezv0dp3bdn1vcw6gf29gs6i\"},{\"name\":\"NOALTER\",\"optional\":true,\"description\":\"removes universal ALTER access to the resource.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1cngwydanyh89n14ppdkr5iy8ni\"},{\"name\":\"NOGROUPALTER\",\"optional\":true,\"description\":\"removes group ALTER access to the resource.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0pqa871re3wmvn1a3zqddz0lmzh\"},{\"name\":\"NOGROUPREAD\",\"optional\":true,\"description\":\"removes group READ access to the resource.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1681wiy3386hkn1jkd5zvykpx17\"},{\"name\":\"NOGROUPWRITE\",\"optional\":true,\"description\":\"removes group WRITE access to the resource.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0i5wbid33kidun1b9fduyy436kw\"},{\"name\":\"NOREAD\",\"optional\":true,\"description\":\"removes universal READ access to the resource.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1d4a1u0l5lykan1l4c90kwbsz94\"},{\"name\":\"NOWRITE\",\"optional\":true,\"description\":\"removes universal WRITE access to the resource.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0ppbactqzds83n173w5zgni5zep\"},{\"name\":\"READ\",\"optional\":true,\"description\":\"grants universal READ access to the resource.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0jrj4r0l333s6n1j8j651eremep\"},{\"name\":\"WRITE\",\"optional\":true,\"description\":\"grants universal WRITE access to the resource.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1nm6wkqkqtcson1i62syd8faj2k\"},{\"name\":\"GroupList\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the permissions that you want to assign or modify for an ACL group in the form: groupname = (Y|N,Y|N,Y|N,Y|N)\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1mcziiyzcngrqn1u8h9mbvfjyml\"},{\"name\":\"UserList\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the permissions that you want to assign or modify for a user in the form: username = (Y|N,Y|N,Y|N,Y|N)\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0ril11ffyolnnn1p1jqno2j6kn1\"}],\"supportSiteTargetFile\":\"p05wcy55rccf9zn16pub84z923sb.htm\"},{\"name\":\"OPER\",\"description\":\"Specifies a privileged action to perform on the connected proxy.\",\"help\":\"OPER CANCEL &lt;/DUMP&gt; | DISCONNECT | INTERRUPT ;\",\"arguments\":[{\"name\":\"CANCEL\",\"optional\":true,\"description\":\"initiates a hard exit of the user proxy. If you specify the /DUMP option for a non-locking user proxy, the proxy exits with an ABORT function call, which produces a core file. If you are the operator of a locking user proxy, the /DUMP option is ignored.\",\"help\":\"CANCEL &lt;/DUMP&gt;\",\"type\":\"standaloneOrValue\",\"supportSiteTargetFragment\":\"p1eo9e5zw0wrubn1nhhlf2n4rvdr\"},{\"name\":\"DISCONNECT\",\"optional\":true,\"description\":\"drops the control socket from the user proxy to the client. This action causes the user proxy to terminate the next time it tries to communicate with the client. This termination initiates a hard exit of the user proxy.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0qlgdqtsqqtabn12wdn57wzngiy\"},{\"name\":\"INTERRUPT\",\"optional\":true,\"description\":\"sets a soft interrupt flag in any open tables that belong to the user proxy. The user receives a message in the SAS log that states that the job has been interrupted. If the job did not finish, the results might be incomplete. However, the user libref remains intact, and the user proxy is still viable.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0xtfc0dgcctg0n1kusdinajdedg\"}],\"supportSiteTargetFile\":\"n039hfb22i5xd0n1k2l309rvzvbo.htm\"},{\"name\":\"REFRESH DOMAINS\",\"description\":\"Reloads the libnames.parm parameter file in the server session.\",\"help\":\"REFRESH DOMAINS ;\",\"supportSiteTargetFile\":\"p1t5psji61cjg3n18874f0u4vboe.htm\"},{\"name\":\"REFRESH PARMS\",\"description\":\"Reloads the spdsserv.parm parameter file in the server session.\",\"help\":\"REFRESH PARMS ;\",\"supportSiteTargetFile\":\"p1x6ds91e1abz6n1vmuurbhaq70g.htm\"},{\"name\":\"SET ACLTYPE\",\"description\":\"Sets the member type for subsequent ACL operations.\",\"help\":\"SET ACLTYPE  *type*;\",\"arguments\":[{\"name\":\"type\",\"placeholder\":true,\"description\":\"specifies the type of resource on which the ACL action is to be applied. Valid values are DATA, CATALOG, and VIEW.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0tgebpw8psz20n12ykof3cn5kwi\"}],\"supportSiteTargetFile\":\"p0x4al2ren3rf8n1i3r9rronrkss.htm\"},{\"name\":\"SET ACLUSER\",\"description\":\"Sets the user scope for subsequent ACL operations.\",\"help\":\"SET ACLUSER *name*;\",\"arguments\":[{\"name\":\"name\",\"placeholder\":true,\"description\":\"specifies a user name or group name. The name must be registered in the password database.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n09njk8tdbc6sen1g5a52jk387o9\"}],\"supportSiteTargetFile\":\"n1a3fg6dsvjlzhn14ke77fvqmejl.htm\"},{\"name\":\"SET MODE OPER\",\"description\":\"Enables you to run privileged operator commands.\",\"help\":\"SET MODE OPER ;\",\"supportSiteTargetFile\":\"n0a8jpmtp7gt5fn1wb439ifllz7l.htm\"},{\"name\":\"SET USER\",\"description\":\"Connects to a non-locking proxy for the specified user ID.\",\"help\":\"SET USER *user-ID*&lt; *port-number*&gt;;\",\"arguments\":[{\"name\":\"user-ID\",\"placeholder\":true,\"description\":\"specifies a user ID that is returned by the LIST USERS statement.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n190epd22aulajn12kqf18lvm047\"},{\"name\":\"port-number\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies a proxy operator port number. The port number is optional. The proxy operator port number enables you to distinguish between two proxies that share the same user ID.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0mnx8nkq5u5rzn1hlzkc3eqlui2\"}],\"supportSiteTargetFile\":\"p0cvsbt7sj58pen1bpjqox9xsrzf.htm\"},{\"name\":\"SET USER/LOCKING\",\"description\":\"Connects to the locking proxy for the specified user ID and thread ID.\",\"help\":\"SET USER/LOCKING *user-ID*THREADID=*thread-ID*;\",\"arguments\":[{\"name\":\"user-ID\",\"placeholder\":true,\"description\":\"specifies a user ID returned by the LIST USERS/LOCKING statement.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0v8wltupgsteqn1qo5u56dty54v\"},{\"name\":\"THREAD=\",\"description\":\"specifies the thread ID associated with the user ID.\",\"help\":\"THREAD=*thread-ID*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0kcq545wrkyscn1jd6dnebyekrm\"}],\"supportSiteTargetFile\":\"p1upwd8tqilq50n1pavxkybh8253.htm\"},{\"name\":\"SHOWLIBNAME\",\"description\":\"Lists libref and table information for a connected user proxy.\",\"help\":\"SHOWLIBNAME  _ALL_ | *libref*&lt;/*options*&gt;;\",\"arguments\":[{\"name\":\"_ALL_\",\"description\":\"lists all currently assigned librefs for the selected user proxy.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1n8v22rs0vpwnn1fezqk7wbxdf1\"},{\"name\":\"libref\",\"placeholder\":true,\"description\":\"lists information about a specified libref.\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"p1jz8r40l89kcnn1v5mj4dne8ij1\"},{\"name\":\"DATA=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"\",\"help\":\"DATA=_ALL_ | *table-name*\",\"type\":\"choice\",\"arguments\":[{\"name\":\"_ALL_\",\"followsDelimiter\":\"/\",\"description\":\"lists all open tables in the specified libref.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0t2h2647bq3q5n1vg4gm9oac3pv\"},{\"name\":\"table-name\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"lists information about a specific table in the libref.\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"p1qgmm7cleom7nn1i6eg3mkupg2s\"}],\"supportSiteTargetFragment\":\"n06f5dvf8lug7on1tdv6qofz523t\"},{\"name\":\"DUMP=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"\",\"help\":\"DUMP=_ALL_ | *table-name*\",\"type\":\"choice\",\"arguments\":[{\"name\":\"_ALL_\",\"followsDelimiter\":\"/\",\"description\":\"lists accessible tables in the libref’s server connection.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0p08olb57oxyrn163mxiaib8k71\"},{\"name\":\"table-name\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"determines whether the specified table is accessible.\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"p1n6br8dv4fl3in1c3nrzyp6hriw\"}],\"supportSiteTargetFragment\":\"n031fkggklt3x7n16jkaonomhuhy\"}],\"supportSiteTargetFile\":\"n0kbndpzbqrxqln1j50bs0r6mfcg.htm\"},{\"name\":\"SPDSCMD\",\"description\":\"Sends SPD Server a command to run.\",\"help\":\"SPDSCMD  ‘*command*’;\",\"arguments\":[{\"name\":\"command\",\"placeholder\":true,\"description\":\"specifies a host command or a server command.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0cc9ek361x6ywn10oh2fsgdeq46\"}],\"supportSiteTargetFile\":\"p00cyl5mrnp4lan1nip4wlb4i98h.htm\"},{\"name\":\"SPDSMAC\",\"description\":\"Prints the default values for SPD Server macro variables.\",\"help\":\"spdsmac; \",\"supportSiteTargetFile\":\"p1ufu9sey7o7udn15q1c1pg2ipg2.htm\"},{\"name\":\"TRUNCATE\",\"description\":\"Removes data from a table without deleting the table structure or metadata.\",\"help\":\"TRUNCATE *table-name*;\",\"arguments\":[{\"name\":\"table-name\",\"placeholder\":true,\"description\":\"specifies the name of the table from which to remove data.\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"n10xywg54ruqlrn167fajlt8a9v9\"}],\"supportSiteTargetFile\":\"n1o5phkhxda9orn1puab1yshnili.htm\"}],\"supportSiteInformation\":{\"docsetId\":\"spdsag\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n0wincwo9e53ljn1s7beiqxryq6o.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/SPECTRA.json",
    "content": "{\"name\":\"SPECTRA\",\"statements\":[{\"name\":\"PROC SPECTRA\",\"description\":\"The SPECTRA procedure performs spectral and cross-spectral analysis of time series. You can use spectral analysis techniques to look for periodicities or cyclical patterns in data. † The SPECTRA procedure produces estimates of the spectral and cross-spectral densities of a multivariate time series. Estimates of the spectral and cross-spectral densities of a multivariate time series are produced using a finite Fourier transform to obtain periodograms and cross-periodograms. The periodogram ordinates are smoothed by a moving average to produce estimated spectral and cross-spectral densities. PROC SPECTRA can also test whether or not the data are white noise.\",\"help\":\"PROC SPECTRA <A><ADJMEAN><ALTW><COEF><CROSS><DATA=SAS-data-set><K><OUT=SAS-data-set><P><PH><S><WHITETEST>;     \\n\\tBY variables ;\\n\\n\\tVAR variables ;\\n\\n\\tWEIGHTS weight-constants | kernel-specification ;\\n\",\"arguments\":[{\"name\":\"A\",\"optional\":true,\"description\":\"Outputs the amplitude variables (A_nn _mm) of the cross-spectrum.\",\"type\":\"standalone\"},{\"name\":\"ADJMEAN\",\"optional\":true,\"aliases\":[\"CENTER\"],\"description\":\"Subtracts the series mean before performing the Fourier decomposition. This sets the first periodogram ordinate to 0 rather than 2n times the squared mean. This option is commonly used when the periodograms are to be plotted to prevent a large first periodogram ordinate from distorting the scale of the plot.\",\"type\":\"standalone\"},{\"name\":\"ALTW\",\"optional\":true,\"description\":\"Specifies that the quadrature spectrum estimate is computed at the boundaries in the same way as the spectral density estimate and the cospectrum estimate are computed.\",\"type\":\"standalone\"},{\"name\":\"COEF\",\"optional\":true,\"description\":\"Outputs the Fourier cosine and sine coefficients of each series.\",\"type\":\"standalone\"},{\"name\":\"CROSS\",\"optional\":true,\"description\":\"Is used with the P and S options to output cross-periodograms and cross-spectral densities when more than one variable is listed in the VAR statement.\",\"type\":\"standalone\"},{\"name\":\"DATA=\",\"optional\":true,\"description\":\"Names the SAS data set that contains the input data. If the DATA= option is omitted, the most recently created SAS data set is used.\",\"help\":\"DATA=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"K\",\"optional\":true,\"description\":\"Outputs the squared coherency variables (K_nn _mm ) of the cross-spectrum. The K_nn _mm variables are identically 1 unless weights are given in the WEIGHTS statement and the S option is specified.\",\"type\":\"standalone\"},{\"name\":\"OUT=\",\"optional\":true,\"description\":\"Names the output data set created by PROC SPECTRA to store the results. If the OUT= option is omitted, the output data set is named by using the DATAn convention.\",\"help\":\"OUT=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"P\",\"optional\":true,\"description\":\"Outputs the periodogram variables. The variables are named P_nn, where nn is an index of the original variable with which the periodogram variable is associated. When both the P and CROSS options are specified, the cross-periodogram variables RP_nn_mm and IP_nn_mm are also output.\",\"type\":\"standalone\"},{\"name\":\"PH\",\"optional\":true,\"description\":\"Outputs the phase variables (PH_nn _mm) of the cross-spectrum.\",\"type\":\"standalone\"},{\"name\":\"S\",\"optional\":true,\"description\":\"Outputs the spectral density estimates. The variables are named S_nn, where nn is an index of the original variable with which the estimate variable is associated. When both the S and CROSS options are specified, the cross-spectral variables CS_nn _mm and QS_nn _mm are also output.\",\"type\":\"standalone\"},{\"name\":\"WHITETEST\",\"optional\":true,\"description\":\"Prints two tests of the hypothesis that the data are white noise.\",\"type\":\"standalone\"}]},{\"name\":\"BY\",\"description\":\"A BY statement can be used with PROC SPECTRA to obtain separate analyses for groups of observations defined by the BY variables.\",\"help\":\"BY variables \"},{\"name\":\"VAR\",\"aliases\":[\"VARS\"],\"description\":\"The VAR statement specifies one or more numeric variables that contain the time series to analyze. The order of the variables in the VAR statement list determines the index, nn, used to name the output variables. The VAR statement is required.\",\"help\":\"VAR variables \"},{\"name\":\"WEIGHTS\",\"aliases\":[\"WEIGHT\"],\"description\":\"The WEIGHTS statement specifies the relative weights used in the moving average applied to the periodogram ordinates to form the spectral density estimates. A WEIGHTS statement must be used to produce smoothed spectral density estimates. You can specify the relative weights in two ways: you can specify them explicitly, for example weights 1 2 3 2 1; or you can specify them implicitly by using the kernel specification. You can specify five different kernels in the WEIGHTS statement. The syntax for the statement is WEIGHTS [PARZEN][BART][TUKEY][TRUNCAT][QS] [c e] ; where c ≥ 0 and e ≥ 0 are used to compute the bandwidth parameter as l(q)=cq^e and q is the number of periodogram ordinates + 1: q=floor(n/2)+1 If the WEIGHTS statement is not used, only the periodogram is produced.\",\"help\":\"WEIGHTS weight-constants | kernel-specification \"}],\"supportSiteInformation\":{\"docsetId\":\"etsug\",\"docsetVersion\":\"latest\",\"docsetTargetFile\":\"etsug_spectra_toc.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/SPP.json",
    "content": "{\"name\":\"SPP\",\"statements\":[{\"name\":\"PROC SPP\",\"description\":\"The SPP procedure performs analysis for spatial point patterns in two dimensions. You can specify the point process rectangular window or rely on the input data set coordinates. Summary descriptions are available through the F, G, J, K functions, which compare the empirical function distributions to the theoretical homogeneous Poisson functions. † The SPP procedure uses ODS Graphics to create graphs as part of its output.\",\"help\":\"PROC SPP <DATA=SAS-data-set><DESCENDING><NAMELEN=number><PLOTS=ALL | HISTOGRAM | NONE>;     \\n\\tBY <DESCENDING><NOTSORTED> ;\\n\\n\\tCOVTEST <TEST=<D | CM>> ;\\n\\n\\tMODEL <CENSCALE><CL<(alpha-value)>><CORRB> ...;\\n\\n\\tNLOPTIONS <ABSCONV= | ABSTOL=r><ABSFCONV=r <n> | ABSFTOL=r<n>><ABSGCONV= | ABSGTOL=r <n>> ...;\\n\\n\\tPARMS <PARMSDATA=SAS-data-set | PDATA=SAS-data-set> ;\\n\\n\\tPROCESS <AREA=><EVENT=><MARK=> ...;\\n\\n\\tTREND name = FIELD(field-definition);\\n\",\"arguments\":[{\"name\":\"DATA=\",\"optional\":true,\"description\":\"Specifies the SAS data set containing the data to be analyzed. If you omit the DATA= option, the procedure uses the most recently created SAS data set.\",\"help\":\"DATA=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"DESCENDING\",\"optional\":true,\"aliases\":[\"DESCEND\",\"DESC\"],\"description\":\"Requests that the levels of the response variable for the binomial model that uses a single-variable response syntax be sorted in the reverse of the default order.\",\"type\":\"standalone\"},{\"name\":\"NAMELEN=\",\"optional\":true,\"description\":\"Specifies the length to which long effect names are shortened. The default and minimum value is 20.\",\"help\":\"NAMELEN=*number*\",\"type\":\"value\"},{\"name\":\"PLOTS=\",\"optional\":true,\"description\":\"You can specify the following plot-requests:\",\"help\":\"PLOTS=ALL | HISTOGRAM | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ALL\",\"description\":\"Requests that all default plots be produced.\",\"type\":\"standalone\"},{\"name\":\"HISTOGRAM\",\"description\":\"Creates a histogram for the predicted weights from the missingness model.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"Suppresses all plots.\",\"type\":\"standalone\"}]}]},{\"name\":\"BY\",\"description\":\"You can specify a BY statement with PROC SPP to obtain separate analyses of observations in groups that are defined by the BY variables. When a BY statement appears, the procedure expects the input data set to be sorted in order of the BY variables. If you specify more than one BY statement, only the last one specified is used. If your input data set is not sorted in ascending order, use one of the following alternatives: • Sort the data by using the SORT procedure with a similar BY statement. • Specify the NOTSORTED or DESCENDING option in the BY statement for the BCHOICE procedure. The NOTSORTED option does not mean that the data are unsorted but rather that the data are arranged in groups (according to values of the BY variables) and that these groups are not necessarily in alphabetical or increasing numeric order. • Create an index on the BY variables by using the DATASETS procedure (in Base SAS software).\",\"help\":\"BY &lt;DESCENDING&gt;&lt;NOTSORTED&gt;\",\"arguments\":[{\"name\":\"DESCENDING\",\"optional\":true,\"description\":\"Specifies that the observations are sorted in descending order by the variable that immediately follows the word DESCENDING in the BY statement.\",\"type\":\"standalone\"},{\"name\":\"NOTSORTED\",\"optional\":true,\"description\":\"Specifies that observations are not necessarily sorted in alphabetic or numeric order.\",\"type\":\"standalone\"}]},{\"name\":\"COVTEST\",\"description\":\"You use the COVTEST statement to perform covariate dependency tests that are based on an empirical distribution function (EDF). The COVTEST statement contains two essential parts: a process-name (which must be declared in a PROCESS statement that precedes the COVTEST statement) that you specify on the left side and a list of trend-names (which must be defined in a preceding TREND statement within the same PROC SPP call) that you specify on the right side. The procedure performs separate EDF tests for every trend-name that is specified in the right side of the COVTEST statement.\",\"help\":\"COVTEST &lt;TEST=&lt;D | CM&gt;&gt;\",\"arguments\":[{\"name\":\"TEST=\",\"optional\":true,\"description\":\"Requests the test statistics for any type of requested weighted tests. This option applies only if you have specified a trend on the right side of the COVTEST statement. The requested weighted test statistic is applied to every trend that is specified on the right side of the COVTEST statement. You can specify the following values: D requests the Kolmogorov-Smirnov D statistic. CM requests the Cramér–von Mises W² statistic.\",\"help\":\"TEST=D | CM\",\"type\":\"choice\",\"arguments\":[{\"name\":\"D\",\"description\":\"Requests the Kolmogorov-Smirnov D statistic.\",\"type\":\"standalone\"},{\"name\":\"CM\",\"description\":\"Requests the Cramér–von Mises W² statistic.\",\"type\":\"standalone\"}]}]},{\"name\":\"MODEL\",\"description\":\"The MODEL statement enables you to fit an inhomogeneous Poisson process model. You must specify a process-name as the dependent variable. In addition, the MODEL statement enables you to specify multiple trends as covariates. If you do not specify any trends as covariates in the MODEL statement, PROC SPP fits a second-degree polynomial. The process-name must be defined in a preceding PROCESS statement, and each trend-name must be defined in a preceding TREND statement.\",\"help\":\"MODEL &lt;CENSCALE&gt;&lt;CL&lt;(alpha-value)&gt;&gt;&lt;CORRB&gt; ...\",\"arguments\":[{\"name\":\"CENSCALE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Lists the centering and scaling (standardization) information for each coordinate and covariate in the model.\",\"type\":\"standalone\"},{\"name\":\"CL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests a t-type confidence interval for the estimated parameters. You can also specify the significance level via the alpha-value. The default alpha-value is 0.05, which corresponds to the default confidence level of 95%.\",\"type\":\"standalone\"},{\"name\":\"CORRB\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests the estimated correlation matrix for the parameter estimates. To request the estimated correlation matrix for the model parameters with respect to the standardized covariates, specify both this model-option and the SOLUTION model-option.\",\"type\":\"standalone\"},{\"name\":\"COVB\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests the estimated covariance matrix for the parameter estimates. To request the estimated covariance matrix for the model parameters with respect to the standardized covariates, specify this model-option and the SOLUTION model-option.\",\"type\":\"standalone\"},{\"name\":\"GOF\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests a goodness-of-fit test for the fitted intensity model. You can specify the number of Monte Carlo simulation runs as an integer in num-simulations. By default, the SPP procedure performs 100 simulations when you specify this option.\",\"type\":\"standalone\"},{\"name\":\"GRID\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the grid resolution for model fitting, where value-NX specifies the number of grids in the horizontal direction and value-NY specifies the number of grids in the vertical direction. By default, the SPP procedure fits the model on a 128 x 128 grid.\",\"type\":\"standalone\"},{\"name\":\"ITHIST=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests an iteration history table for the model-fitting optimization. Specify this option to produce additional levels of output detail. You can specify the following value:\",\"help\":\"ITHIST=PARM\",\"type\":\"choice\",\"arguments\":[{\"name\":\"PARM\",\"type\":\"standalone\"}]},{\"name\":\"MTYPE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the type of inhomogeneous intensity model to be fit by PROC SPP. You fit a negative binomial model only in order to diagnose overdispersion, so in this case no fitted intensity is produced, and likewise none of the goodness-of-fit tests or residual diagnostics that are based on the intensity are produced. You can specify the following values: POISSON fits a Poisson process model. NEGBINOMIAL fits a negative binomial model.\",\"help\":\"MTYPE=POISSON | NEGBINOMIAL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"POISSON\",\"followsDelimiter\":\"/\",\"description\":\"Fits a Poisson process model.\",\"type\":\"standalone\"},{\"name\":\"NEGBINOMIAL\",\"followsDelimiter\":\"/\",\"description\":\"Fits a negative binomial model.\",\"type\":\"standalone\"}]},{\"name\":\"OUTINTENSITY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies a SAS-data-set in which to store the output intensity estimate.\",\"help\":\"OUTINTENSITY=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"OUTSIM=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies a SAS-data-set in which to store a simulated point pattern from a fitted intensity model. Specify the number of iterations in <iter-value> to generate multiple point pattern data sets. By default, the number of simulation iterations is set to 1.\",\"type\":\"value\"},{\"name\":\"POLYNOMIAL\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"POLY\"],\"description\":\"Specifies a polynomial trend in the coordinates. You can also specify the degree of the polynomial component. If you do not specify the degree, PROC SPP procedure uses a second-degree polynomial by default.\",\"type\":\"standalone\"},{\"name\":\"RESIDUAL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests residual diagnostics for the inhomogeneous Poisson process model. If you specify this option, you must also specify the residual bandwidth for computing smoothed residuals via the B= suboption.\",\"help\":\"RESIDUAL=B=\",\"type\":\"choice\",\"arguments\":[{\"name\":\"B=\",\"type\":\"value\"}]},{\"name\":\"SOLUTION\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays the parameter estimates table in a location- and scale-standardized space. For optimization purposes, any polynomial coordinates and covariates in the model are centered and scaled. The parameters and the approximate covariance and the correlation matrices are displayed by default in the untransformed, unstandardized space. This option causes the output to be displayed on the basis of the actual fitted parameters in the transformed space. If you also specify the COVB or CORRB model-option (or both), then PROC SPP also displays the estimated covariance or correlation matrix, respectively (or both), in the transformed space.\",\"type\":\"standalone\"}]},{\"name\":\"NLOPTIONS\",\"description\":\"The NLOPTIONS statement specifies details about the nonlinear optimization technique that PROC SPP uses to maximize the log-likelihood function for the first-order intensity model. By default, PROC SPP uses the Newton-Raphson with ridging optimization technique.\",\"help\":\"NLOPTIONS &lt;ABSCONV= | ABSTOL=r&gt;&lt;ABSFCONV=r &lt;n&gt; | ABSFTOL=r&lt;n&gt;&gt;&lt;ABSGCONV= | ABSGTOL=r &lt;n&gt;&gt; ...\",\"arguments\":[{\"name\":\"ABSCONV=\",\"optional\":true,\"aliases\":[\"ABSTOL=\"],\"description\":\"Specifies an absolute function convergence criterion.\",\"type\":\"value\"},{\"name\":\"ABSFCONV=\",\"optional\":true,\"aliases\":[\"ABSFTOL=\"],\"description\":\"Specifies an absolute function difference convergence criterion.\",\"type\":\"value\"},{\"name\":\"ABSGCONV=\",\"optional\":true,\"aliases\":[\"ABSGTOL=\"],\"description\":\"Specifies an absolute gradient convergence criterion.\",\"type\":\"value\"},{\"name\":\"ABSXCONV=\",\"optional\":true,\"aliases\":[\"ABSXTOL=\"],\"description\":\"Specifies the absolute parameter convergence criterion.\",\"type\":\"value\"},{\"name\":\"ASINGULAR=\",\"optional\":true,\"aliases\":[\"ASING=\"],\"description\":\"Specifies an absolute singularity criterion r, r > 0, for the inversion of the information matrix, which is needed to compute the covariance matrix.\",\"type\":\"value\"},{\"name\":\"DAMPSTEP\",\"optional\":true,\"aliases\":[\"DS\"],\"description\":\"Specifies that the initial step-size value aⁿ (where n=0) for each line search (used by the QUANEW, CONGRA, or NEWRAP technique) cannot be larger than r times the step-size value used in the former iteration.\",\"type\":\"standalone\"},{\"name\":\"FCONV2=\",\"optional\":true,\"aliases\":[\"FTOL2=\"],\"description\":\"Specifies a second function convergence criterion.\",\"type\":\"value\"},{\"name\":\"FCONV=\",\"optional\":true,\"aliases\":[\"FTOL=\"],\"description\":\"Specifies the relative function convergence criterion.\",\"type\":\"value\"},{\"name\":\"FSIZE=\",\"optional\":true,\"description\":\"Specifies the FSIZE parameter of the relative function and relative gradient termination criteria. The default value is r=0.\",\"help\":\"FSIZE=*r*\",\"type\":\"value\"},{\"name\":\"GCONV2=\",\"optional\":true,\"aliases\":[\"GTOL2=\"],\"description\":\"Specifies another relative gradient convergence criterion.\",\"type\":\"value\"},{\"name\":\"GCONV=\",\"optional\":true,\"aliases\":[\"GTOL=\"],\"description\":\"Specifies the relative gradient convergence criterion.\",\"type\":\"value\"},{\"name\":\"HESCAL=\",\"optional\":true,\"aliases\":[\"HS=\"],\"description\":\"Specifies the scaling version of the Hessian or crossproduct Jacobian matrix used in NRRIDG, TRUREG, LEVMAR, NEWRAP, or DBLDOG optimization.\",\"help\":\"HESCAL=0 | 1 | 2 | 3\",\"type\":\"choice\",\"arguments\":[{\"name\":\"0\",\"description\":\"Specifies that no scaling is done.\",\"type\":\"standalone\"},{\"name\":\"1\",\"description\":\"Specifies the Moré (1978) scaling update\",\"type\":\"standalone\"},{\"name\":\"2\",\"description\":\"Specifies the Dennis, Gay, and Welsch (1981) scaling update\",\"type\":\"standalone\"},{\"name\":\"3\",\"description\":\"Specifies that di is reset in each iteration\",\"type\":\"standalone\"}]},{\"name\":\"INHESSIAN\",\"optional\":true,\"aliases\":[\"INHESS\"],\"description\":\"Specifies how the initial estimate of the approximate Hessian is defined for the quasi-Newton techniques QUANEW and DBLDOG.\",\"type\":\"standalone\"},{\"name\":\"INSTEP=\",\"optional\":true,\"aliases\":[\"SALPHA=\",\"RADIUS=\"],\"description\":\"Reduces the length of the first trial step during the line search of the first iterations.\",\"help\":\"INSTEP=*r*\",\"type\":\"value\"},{\"name\":\"LCDEACT=\",\"optional\":true,\"aliases\":[\"LCD=\"],\"description\":\"Specifies a threshold r for the Lagrange multiplier that decides whether an active inequality constraint remains active or can be deactivated.\",\"type\":\"value\"},{\"name\":\"LCEPSILON=\",\"optional\":true,\"aliases\":[\"LCEPS=\",\"LCE=\"],\"description\":\"Specifies the range r, r ≥ 0, for active and violated boundary and linear constraints.\",\"type\":\"value\"},{\"name\":\"LCSINGULAR=\",\"optional\":true,\"aliases\":[\"LCSING=\",\"LCS=\"],\"description\":\"Specifies a criterion r, r ≥ 0, used in the update of the QR decomposition that decides whether an active constraint is linearly dependent on a set of other active constraints.\",\"type\":\"value\"},{\"name\":\"LINESEARCH=\",\"optional\":true,\"aliases\":[\"LIS=\",\"SMETHOD=\",\"SM=\"],\"description\":\"Specifies the line-search method for the CONGRA, QUANEW, and NEWRAP optimization techniques.\",\"help\":\"LINESEARCH=1 | 2 | 3 | 4 | 5 | 6 | 7 | 8\",\"type\":\"choice\",\"arguments\":[{\"name\":\"1\",\"description\":\"Specifies a line-search method that needs the same number of function and gradient calls for cubic interpolation and cubic extrapolation; this method is similar to one used by the Harwell subroutine library.\",\"type\":\"standalone\"},{\"name\":\"2\",\"description\":\"Specifies a line-search method that needs more function calls than gradient calls for quadratic and cubic interpolation and cubic extrapolation; this method is implemented as shown in Fletcher (1987) and can be modified to an exact line search by using the LSPRECISION= option.\",\"type\":\"standalone\"},{\"name\":\"3\",\"description\":\"Specifies a line-search method that needs the same number of function and gradient calls for cubic interpolation and cubic extrapolation; this method is implemented as shown in Fletcher (1987) and can be modified to an exact line search by using the LSPRECISION= option.\",\"type\":\"standalone\"},{\"name\":\"4\",\"description\":\"Specifies a line-search method that needs the same number of function and gradient calls for stepwise extrapolation and cubic interpolation\",\"type\":\"standalone\"},{\"name\":\"5\",\"description\":\"Specifies a line-search method that is a modified version of LIS=4.\",\"type\":\"standalone\"},{\"name\":\"6\",\"description\":\"Specifies golden section line search (Polak 1971), which uses only function values for linear approximation.\",\"type\":\"standalone\"},{\"name\":\"7\",\"description\":\"Specifies bisection line search (Polak 1971), which uses only function values for linear approximation.\",\"type\":\"standalone\"},{\"name\":\"8\",\"description\":\"Specifies Armijo line-search technique (Polak 1971), which uses only function values for linear approximation.\",\"type\":\"standalone\"}]},{\"name\":\"LSPRECISION=\",\"optional\":true,\"aliases\":[\"LSP=\"],\"description\":\"Specifies the degree of accuracy that should be obtained by the line-search algorithms LIS=2 and LIS=3. The default LSPRECISION= values are:\",\"type\":\"value\"},{\"name\":\"MAXFUNC=\",\"optional\":true,\"aliases\":[\"MAXFU=\"],\"description\":\"Requires the number of function calls to be no larger than i. The default values are:\",\"type\":\"value\"},{\"name\":\"MAXITER=\",\"optional\":true,\"aliases\":[\"MAXIT=\"],\"description\":\"Requires the number of iterations to be no larger than i. The default values are: o For TECH= LEVMAR, NEWRAP, NRRIDG, TRUREG: i=50 o For TECH= DBLDOG, QUANEW: i=200 o For TECH= CONGRA: i=400\",\"type\":\"value\"},{\"name\":\"MAXSTEP=\",\"optional\":true,\"description\":\"Specifies an upper bound for the step length of the line-search algorithms during the first n iterations.\",\"type\":\"value\"},{\"name\":\"MAXTIME=\",\"optional\":true,\"description\":\"Requires the CPU time to be no larger than r. The default value of the MAXTIME= option is the largest double floating-point number on your computer.\",\"help\":\"MAXTIME=*r*\",\"type\":\"value\"},{\"name\":\"MINITER=\",\"optional\":true,\"aliases\":[\"MINIT=\"],\"description\":\"Specifies the minimum number of iterations. The default value is 0.\",\"type\":\"value\"},{\"name\":\"MSINGULAR=\",\"optional\":true,\"aliases\":[\"MSING=\"],\"description\":\"Specifies a relative singularity criterion r, r > 0, for the inversion of the information matrix, which is needed to compute the covariance matrix.\",\"type\":\"value\"},{\"name\":\"NOPRINT\",\"optional\":true,\"description\":\"Suppresses output related to optimization such as the iteration history.\",\"type\":\"standalone\"},{\"name\":\"PALL\",\"optional\":true,\"description\":\"[Displays information about the starting values and final values of the optimization process.\",\"type\":\"standalone\"},{\"name\":\"PHISTORY\",\"optional\":true,\"aliases\":[\"PHIST\"],\"description\":\"Displays the optimization history. The PHISTORY option is set automatically if the PALL or PRINT option is set.\",\"type\":\"standalone\"},{\"name\":\"RESTART=\",\"optional\":true,\"aliases\":[\"REST=\"],\"description\":\"Specifies that the QUANEW or CONGRA algorithm is restarted with a steepest descent/ascent search direction after at most i iterations, i > 0.\",\"type\":\"value\"},{\"name\":\"SINGULAR=\",\"optional\":true,\"aliases\":[\"SING=\"],\"description\":\"Specifies the singularity criterion r, 0 < r < 1, used, for example, for matrix inversion.\",\"type\":\"value\"},{\"name\":\"SOCKET=\",\"optional\":true,\"description\":\"Specifies the fileref that contains the information needed for remote monitoring.\",\"help\":\"SOCKET=*fileref*\",\"type\":\"value\"},{\"name\":\"TECHNIQUE=\",\"optional\":true,\"aliases\":[\"TECH=\",\"OMETHOD=\",\"OM=\"],\"description\":\"Specifies the optimization technique.\",\"help\":\"TECHNIQUE=CONGRA | DBLDOG | LEVMAR | NEWRAP | NRRIDG | QUANEW | TRUREG | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"CONGRA\",\"description\":\"Chooses one of four different conjugate-gradient optimization algorithms, which can be more precisely defined with the UPDATE= option and modified with the LINESEARCH= option.\",\"type\":\"standalone\"},{\"name\":\"DBLDOG\",\"description\":\"Performs a version of double-dogleg optimization, which uses the gradient to update an approximation of the Cholesky factor of the Hessian.\",\"type\":\"standalone\"},{\"name\":\"LEVMAR\",\"description\":\"Performs a highly stable but, for large problems, memory- and time-consuming Levenberg-Marquardt optimization technique, a slightly improved variant of the Moré (1978) implementation. This is the default optimization technique if there are fewer than 40 parameters to estimate.\",\"type\":\"standalone\"},{\"name\":\"NEWRAP\",\"description\":\"Performs a usually stable but, for large problems, memory- and time-consuming Newton-Raphson optimization technique. The algorithm combines a line-search algorithm with ridging, and it can be modified with the LINESEARCH= option.\",\"type\":\"standalone\"},{\"name\":\"NRRIDG\",\"description\":\"Performs a usually stable but, for large problems, memory- and time-consuming Newton-Raphson optimization technique. This algorithm does not perform a line search.\",\"type\":\"standalone\"},{\"name\":\"QUANEW\",\"description\":\"Chooses one of four different quasi-Newton optimization algorithms that can be more precisely defined with the UPDATE= option and modified with the LINESEARCH= option.\",\"type\":\"standalone\"},{\"name\":\"TRUREG\",\"description\":\"Performs a usually very stable but, for large problems, memory- and time-consuming trust-region optimization technique. The algorithm is implemented similar to Gay (1983) and Moré and Sorensen (1983).\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"Does not perform any optimization. This option is similar to METHOD=NONE, but TECH=NONE also computes and displays residuals and goodness of fit statistics.\",\"type\":\"standalone\"}]},{\"name\":\"UPDATE=\",\"optional\":true,\"aliases\":[\"UPD=\"],\"description\":\"Specifies the update method for the quasi-Newton, double-dogleg, or conjugate-gradient optimization technique.\",\"help\":\"UPDATE=BFGS | DBFGS | DDFP | DFP | PB | FR | PR | CD\",\"type\":\"choice\",\"arguments\":[{\"name\":\"BFGS\",\"description\":\"Performs the original Broyden, Fletcher, Goldfarb, and Shanno (BFGS) update of the inverse Hessian matrix.\",\"type\":\"standalone\"},{\"name\":\"DBFGS\",\"description\":\"Performs the dual BFGS update of the Cholesky factor of the Hessian matrix. This is the default update method.\",\"type\":\"standalone\"},{\"name\":\"DDFP\",\"description\":\"Performs the dual Davidon, Fletcher, and Powell (DFP) update of the Cholesky factor of the Hessian matrix.\",\"type\":\"standalone\"},{\"name\":\"DFP\",\"description\":\"Performs the original DFP update of the inverse Hessian matrix.\",\"type\":\"standalone\"},{\"name\":\"PB\",\"description\":\"Performs the automatic restart update method of Powell (1977) and Beale (1972).\",\"type\":\"standalone\"},{\"name\":\"FR\",\"description\":\"Performs the Fletcher-Reeves update (Fletcher 1987).\",\"type\":\"standalone\"},{\"name\":\"PR\",\"description\":\"Performs the Polak-Ribiere update (Fletcher 1987).\",\"type\":\"standalone\"},{\"name\":\"CD\",\"description\":\"Performs a conjugate-descent update of Fletcher (1987).\",\"type\":\"standalone\"}]},{\"name\":\"VERSION=\",\"optional\":true,\"aliases\":[\"VS=\"],\"description\":\"Specifies the version of the quasi-Newton optimization technique with nonlinear constraints.\",\"help\":\"VERSION=1 | 2\",\"type\":\"choice\",\"arguments\":[{\"name\":\"1\",\"description\":\"Specifies the update of the U vector as in Powell (1978a, 1978b) (update like VF02AD).\",\"type\":\"standalone\"},{\"name\":\"2\",\"description\":\"Specifies the update of the U vector as in Powell (1982a, 1982b) (update like VMCWD).\",\"type\":\"standalone\"}]},{\"name\":\"VSINGULAR=\",\"optional\":true,\"aliases\":[\"VSING=\"],\"description\":\"Specifies a relative singularity criterion r, r > 0, for the inversion of the information matrix, which is needed to compute the covariance matrix.\",\"type\":\"value\"},{\"name\":\"XCONV=\",\"optional\":true,\"aliases\":[\"XTOL=\"],\"description\":\"Specifies the relative parameter convergence criterion. Termination requires a small relative parameter change in subsequent iterations.\",\"type\":\"value\"},{\"name\":\"XSIZE=\",\"optional\":true,\"description\":\"Specifies the XSIZE parameter of the relative function and relative gradient termination criteria. The default value is r=0.\",\"help\":\"XSIZE=*r*\",\"type\":\"value\"}]},{\"name\":\"PARMS\",\"description\":\"The PARMS statement specifies initial values for the parameters in the MODEL statement. Alternatively, the PARMS statement can request a grid search over several values of these parameters. The PARMS statement is optional and must follow the associated MODEL statement.\",\"help\":\"PARMS &lt;PARMSDATA=SAS-data-set | PDATA=SAS-data-set&gt;\",\"arguments\":[{\"name\":\"PARMSDATA=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"PDATA=\"],\"description\":\"Specifies the SAS data set from which to read model parameter values. The data set should contain the values in the sequence that is required by the PARMS statement in either of the following two ways: •Specify one single column under the variable Estimate (Est) that contains all the parameter values.\",\"type\":\"value\"}]},{\"name\":\"PROCESS\",\"description\":\"The PROCESS statement defines a point pattern for analysis. You must use a valid SAS variable name to define the process, and you can describe it by using variables that contain the x and y coordinates of the points within the point pattern. The variables must also be in the DATA= data set. You can specify only one PROCESS statement in PROC SPP.\",\"help\":\"PROCESS &lt;AREA=&gt;&lt;EVENT=&gt;&lt;MARK=&gt; ...\",\"arguments\":[{\"name\":\"AREA=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"\",\"type\":\"value\"},{\"name\":\"BLOCKS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the block size that is required for calculating the confidence intervals of distance functions, where NX specifies the number of horizontal blocks and NY specifies the number of vertical blocks. The block size should be neither too small nor too large for this option to behave reasonably.\",\"type\":\"standalone\"},{\"name\":\"BYTYPE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests distance function calculation by values of the mark variable. This option produces individual distance function calculations for each mark type. You can specify the following options: ALL requests distance function calculation for all available character mark variable values in the DATA= data set. value-list requests distance function calculation for certain formatted mark variable values, which you specify as quoted strings in the value-list.\",\"help\":\"BYTYPE=ALL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ALL\",\"type\":\"standalone\"}]},{\"name\":\"CROSS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests cross-type distance function analysis between different mark values. For cross-type analysis, you must specify a mark variable in the point pattern definition by using the MARK= pattern-option. The CROSS= option applies only to any requested distance functions K, L, G, J, or PCF. You must specify the TYPES suboption as follows:\",\"type\":\"value\"},{\"name\":\"EVENT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"\",\"type\":\"value\"},{\"name\":\"F\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Performs a test for complete spatial randomness that is based on the empty-space F function. You can specify the following suboption:\",\"type\":\"standalone\"},{\"name\":\"G\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Performs a test for complete spatial randomness that is based on the nearest-neighbor G function.\",\"type\":\"standalone\"},{\"name\":\"GRID\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies a reference grid for computing the F/G/J function, where value-NX represents the number of horizontal divisions and value-NY represents the number of vertical divisions. By default, the SPP procedure uses a 50 x 50 grid.\",\"type\":\"standalone\"},{\"name\":\"J\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Performs a test for complete spatial randomness that is based on the J function. You can specify the following suboption:\",\"type\":\"standalone\"},{\"name\":\"K\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Performs a test for complete spatial randomness that is based on the K function.\",\"type\":\"standalone\"},{\"name\":\"KERNEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Produces a nonparametric estimate of the first-order intensity, or a nonparametric smoothed estimate of a quantitative mark variable of the point pattern, depending on the kernel-suboptions. When you do not specify the kernel-suboptions, PROC SPP computes a nonparametric intensity estimate that is based on a default bandwidth and uses a Gaussian kernel. You can specify the following kernel-suboptions.\",\"help\":\"KERNEL=TYPE= | B= | ADAPTIVE | OUT= | GRID\",\"type\":\"choice\",\"arguments\":[{\"name\":\"TYPE=\",\"type\":\"value\"},{\"name\":\"B=\",\"type\":\"value\"},{\"name\":\"ADAPTIVE\",\"type\":\"standalone\"},{\"name\":\"OUT=\",\"type\":\"value\"},{\"name\":\"GRID\",\"type\":\"standalone\"}]},{\"name\":\"L\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Performs a test for complete spatial randomness that is based on the L function.\",\"type\":\"standalone\"},{\"name\":\"MARK=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"\",\"type\":\"value\"},{\"name\":\"MAXDIST=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the option to be used for computing the maximum distance for different distance functions.\",\"help\":\"MAXDIST=&lt;*value*&gt; | MAX | CUT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"value\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies a value for the maximum distance for performing distance function calculations. The value must be positive and larger than the value of the MINDIST=value option. You can specify any positive value for the maximum distance. However, values that are too large might produce artifacts that do not reflect the true underlying process.\",\"type\":\"value\"},{\"name\":\"MAX\",\"followsDelimiter\":\"/\",\"description\":\"Uses the maximum possible distance, based on the suggestion by Baddeley and Turner (2013).\",\"type\":\"standalone\"},{\"name\":\"CUT\",\"followsDelimiter\":\"/\",\"description\":\"Uses the maximum distance at certain cutoff values that are recommended by Baddeley (2014).\",\"type\":\"standalone\"}]},{\"name\":\"MINDIST=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies a positive number for the minimum distance (or starting) distance for all distance function calculations. The value of this option cannot be more than the value of MAXDIST= option.\",\"help\":\"MINDIST=*value*\",\"type\":\"value\"},{\"name\":\"NDIST=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the number of distance bins with which to compute all the specified distance functions. This is a global option that applies to all specified distance functions. When you specify a value for this option, the SPP procedure uses this value instead of others for distance function calculations.\",\"help\":\"NDIST=*value*\",\"type\":\"value\"},{\"name\":\"NSIM=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies a positive integer for the number of simulations to be used to compute envelopes for the CSR tests in all distance functions. When you specify this option, it applies to all specified distance functions.\",\"help\":\"NSIM=*value*\",\"type\":\"value\"},{\"name\":\"OUTSIM=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the name of a SAS-data-set to contain the results of simulations in distance functions. This option is ignored unless one of the distance functions is specified in the PROCESS statement.\",\"help\":\"OUTSIM=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"PCF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Performs a test for complete spatial randomness that is based on the pair correlation function (PCF) function. The pair correlation function is calculated only when you specify EDGECORR=ON in the PROC SPP statement. You can specify the following suboption:\",\"help\":\"PCF=B=\",\"type\":\"choice\",\"arguments\":[{\"name\":\"B=\",\"type\":\"value\"}]},{\"name\":\"QUADRAT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Performs a test for complete spatial randomness. You can specify value-NX and value-NY to provide a quadrat specification that includes the number of horizontal and vertical divisions. If you do not specify the number of horizontal and vertical divisions, PROC SPP computes a default quadrat of 10 x 10. By default, the QUADRAT option displays only the Pearson chi-square test for CSR. If you also specify the DETAILS suboption, then PROC SPP displays the quadrat count in addition to the Pearson residual information.\",\"type\":\"standalone\"}]},{\"name\":\"TREND\",\"description\":\"The TREND statement enables you to define a spatial trend covariate, where name is a standard SAS variable name that names the trend and the FIELD suboption describes the field as follows: FIELD (X-variable, Y-variable, field-variable ) specifies a spatial field variable as a trend by using any spatial field covariates that are available in the DATA= data set, where X-variable specifies the X coordinate and Y-variable specifies the Y coordinate of the spatial field. The third argument is the field-variable, which is a numeric variable in the DATA= data set.\",\"help\":\"TREND name = FIELD(field-definition)\"}],\"supportSiteInformation\":{\"docsetId\":\"statug\",\"docsetVersion\":\"latest\",\"docsetTargetFile\":\"statug_spp_toc.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/SQL.json",
    "content": "{\"name\":\"SQL\",\"statements\":[{\"name\":\"PROC SQL\",\"description\":\"PROC SQL Statement\",\"help\":\"PROC SQL <options>;\\n\\tALTER TABLE table-name\\n\\t\\t<ADD column-definition-1<,                               column-definition-2,                             ...>>\\n\\t\\t<ADD constraint-specification-1<,                               constraint-specification-2,                             ...>>\\n\\t\\t<ADD CONSTRAINT constraint-name-1constraint-specification-1\\n\\t\\t\\t<,                               constraint-name-2\\n                           constraint-specification-2,                             ...>>\\n\\t\\t<DROP column-1<,                               column-2,                             ...>>\\n\\t\\t<DROP CONSTRAINT constraint-name-1<,                               constraint-name-2,                             ...>>\\n\\t\\t<DROP FOREIGN KEY constraint-name>\\n\\t\\t<DROP PRIMARY KEY >\\n\\t\\t<MODIFY column-definition-1<,                               column-definition-2,                             ...>>                                                                                                                 ;\\n\\n\\tCREATE <UNIQUE >INDEX index-name\\n\\t\\tON table-name (column-1\\n                  <, column-2,                          ...>);\\n\\n\\tCREATE TABLE table-name\\n\\t\\t(column-specification-1<, column-specification-2 \\n\\t\\t| constraint-specification-1,                       ...>);\\n\\n\\tCREATE TABLE  table-nameLIKE table-name-2 ;\\n\\n\\tCREATE TABLE table-nameAS query-expression\\n\\t\\t<ORDER BY order-by-item-1<,                               order-by-item-2,                             ...>>;\\n\\n\\tCREATE VIEW proc-sql-view\\n\\t\\t<(column-name-list)>AS query-expression\\n\\t\\t<ORDER                         BY order-by-item-1<,                               order-by-item-2,                             ...>>\\n\\t\\t<USING libname-clause-1<,                               libname-clause-2,                             ...>> ;\\n\\n\\tDELETE FROM table-name                       | sas/access-view |  proc-sql-view\\n\\t\\t<AS alias>\\n\\t\\t<WHERE sql-expression>;\\n\\n\\tDESCRIBE TABLE                    table-name-1 <, table-name-2 ,                       ...>;\\n\\n\\tDESCRIBE VIEW proc-sql-view-1 <, proc-sql-view-2 ,                       ...>;\\n\\n\\tDESCRIBE TABLE CONSTRAINTS table-name-1<, table-name-2,                       ...>;\\n\\n\\tDROP INDEX                    index-name-1<, index-name-2,                       ...>FROM table-name;\\n\\n\\tDROP TABLE table-name-1 <, table-name-2 ,                       ...>;\\n\\n\\tDROP VIEW view-name-1<, view-name-2  ,                       ...>;\\n\\n\\tINSERT INTO table-name | sas/access-view | proc-sql-view\\n\\t\\t<(column-1<, column-2,                             ...>)>\\n\\t\\tSET column1=sql-expression-1<, column-2=sql-expression-2,                          ...>\\n\\t\\t\\t<column1=sql-expression-1<, column-2=sql-expression-2,                                ...> ...>;\\n\\n\\tINSERT INTO table-name | sas/access-view | proc-sql-view\\n\\t\\t<(column-1\\n                     <, column-2,                             ...>)>\\n\\t\\tVALUES  (value-1<, value-2,                          ...>                   ) \\n\\t\\t\\t<VALUES  (value-1<, value-2,                                ...>                         ) >;\\n\\n\\tINSERT INTO table-name | sas/access-view | proc-sql-view\\n\\t\\t<(column-1\\n                     <, column-2,                             ...>)>\\n\\t\\tquery-expression;\\n\\n\\tRESET <options>;\\n\\n\\tSELECT <DISTINCT | UNIQUE>object-item-1<, object-item-2,                       ...>\\n\\t\\t\\n\\t\\t\\t<INTO macro-variable-specification-1<, macro-variable-specification-2,                                ...>>\\n\\t\\t\\tFROM from-list\\n\\t\\t\\t<WHERE sql-expression>\\n\\t\\t\\t<GROUP                            BY group-by-item-1<, group-by-item-2,  ...>>\\n\\t\\t\\t<HAVING sql-expression>\\n\\t\\t\\t<ORDER                            BY order-by-item-1<,                                   order-by-item-2\\n                              <ASC | DESC>,  ...>>;\\n\\n\\tUPDATE table-name | sas/access-view | proc-sql-view<AS alias>\\n\\t\\tSET column-1=sql-expression-1<, column-2=sql-expression-2,                          ...>\\n\\t\\t\\t<column-1=sql-expression-1<, column-1=sql-expression-2,                                ...>>\\n\\t\\t<WHERE sql-expression>;\\n\\n\\tVALIDATE query-expression;\\n<QUIT ;>To connect to a DBMS and send it a DBMS-specific nonquery SQL statement, use this form: PROC SQL ;\\n\\tCONNECT TO dbms-name<AS alias>\\n\\t\\t<(connect-statement-argument-1=value-1 \\n\\t\\t<connect-statement-argument-2=value-2 ...>)>\\n\\t\\t<(database-connection-argument-1=value-1 \\n\\t\\t<database-connection-argument-2=value-2 ...>)>;\\n\\n\\tEXECUTE  (dbms-SQL-statement) \\n\\t\\tBY dbms-name | alias;\\n\\n\\t<DISCONNECT FROM dbms-name | alias;><QUIT ;>To connect to a DBMS and query the DBMS data, use this form:PROC SQL ;\\n\\tCONNECT TO dbms-name<AS alias>\\n\\t\\t<(connect-statement-argument-1=value-1 \\n\\t\\t<connect-statement-argument-2=value-2 ...>)>\\n\\t\\t<(database-connection-argument-1=value-1 \\n\\t\\t<database-connection-argument-2=value-2 ...>)>;\\n\\n\\tSELECT column-list\\n\\t\\tFROM  CONNECTION TO dbms-name | alias\\n\\t\\t\\t (dbms-query)\\n\\t\\t\\toptional PROC SQL clauses;\\n\\n\\t<DISCONNECT FROM dbms-name | alias;><QUIT ;>\",\"arguments\":[{\"name\":\"_METHOD\",\"optional\":true,\"description\":\"displays the hierarchy of execution methods that PROC SQL used in the SQL query. Each step is identified by a code and is displayed in the SAS log.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0zswsnh8h8l6gn104p7f1vv2ilr\"},{\"name\":\"_TREE\",\"optional\":true,\"description\":\"displays a hierarchical representation of how the SQL query was executed.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0gqrlev8lq1enn1f1hihtoa2esm\"},{\"name\":\"CONSTDATETIME\",\"optional\":true,\"description\":\"specifies whether the SQL procedure replaces references to the DATE, TIME, DATETIME, and TODAY functions in a query with their equivalent constant values before the query executes. Computing these values once ensures consistency of results when the functions are used multiple times in a query or when the query executes the functions close to a date or time boundary.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n10h45j1wci2oyn16n9y7grymdxj\"},{\"name\":\"NOCONSTDATETIME\",\"optional\":true,\"description\":\"specifies whether the SQL procedure replaces references to the DATE, TIME, DATETIME, and TODAY functions in a query with their equivalent constant values before the query executes. Computing these values once ensures consistency of results when the functions are used multiple times in a query or when the query executes the functions close to a date or time boundary.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n10h45j1wci2oyn16n9y7grymdxj\"},{\"name\":\"DICTDIAG\",\"optional\":true,\"description\":\"specifies whether to create a Diagnostic column in the report. The Diagnostic column in the report contains a message for each DICTIONARY table that failed to open.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p19hqed3fts3lhn16w7sefmq4akp\"},{\"name\":\"NODICTDIAG\",\"optional\":true,\"description\":\"specifies whether to create a Diagnostic column in the report. The Diagnostic column in the report contains a message for each DICTIONARY table that failed to open.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p19hqed3fts3lhn16w7sefmq4akp\"},{\"name\":\"DOUBLE\",\"optional\":true,\"description\":\"specifies whether to double-space the report.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0htmfcyewcqd0n1ri9vf4ps6nwx\"},{\"name\":\"NODOUBLE\",\"optional\":true,\"description\":\"specifies whether to double-space the report.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0htmfcyewcqd0n1ri9vf4ps6nwx\"},{\"name\":\"DQUOTE=\",\"optional\":true,\"description\":\"specifies whether PROC SQL treats values within double quotation marks (\\\" \\\") as variables or strings. With DQUOTE=ANSI, PROC SQL treats a quoted value as a variable. This feature enables you to use the following as table names, column names, or aliases:\\n• reserved words such as  AS, JOIN, GROUP, and so on\\n• DBMS names and other  names that are not normally permissible in SAS.\",\"help\":\"DQUOTE=ANSI | SAS\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ANSI\",\"type\":\"standalone\"},{\"name\":\"SAS\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"p0u2e0sslsn4pen10ka958g1z6b4\"},{\"name\":\"ERRORSTOP\",\"optional\":true,\"description\":\"specifies whether PROC SQL stops executing if it encounters an error. In a batch or noninteractive session, ERRORSTOP instructs PROC SQL to stop executing the statements but to continue checking the syntax after it has encountered an error.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0d5s4melcy8hbn1q293auv1txrk\"},{\"name\":\"NOERRORSTOP\",\"optional\":true,\"description\":\"specifies whether PROC SQL stops executing if it encounters an error. In a batch or noninteractive session, ERRORSTOP instructs PROC SQL to stop executing the statements but to continue checking the syntax after it has encountered an error.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0d5s4melcy8hbn1q293auv1txrk\"},{\"name\":\"EXEC\",\"optional\":true,\"description\":\"specifies whether a statement should be executed after its syntax is checked for accuracy.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1mwkhn225elzwn1txas8t87lii6\"},{\"name\":\"NOEXEC\",\"optional\":true,\"description\":\"specifies whether a statement should be executed after its syntax is checked for accuracy.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1mwkhn225elzwn1txas8t87lii6\"},{\"name\":\"EXITCODE\",\"optional\":true,\"description\":\"specifies that PROC SQL clears an error code for any SQL statement. Error codes are assigned to the SQLEXITCODE macro variable.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0d30wdrj4h0ljn1p455epx7sutn\"},{\"name\":\"FEEDBACK\",\"optional\":true,\"description\":\"specifies whether PROC SQL displays, in the SAS log, PROC SQL statements after view references are expanded or certain other transformations of the statement are made.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0dl95cpzwue89n1iobwxfguflpz\"},{\"name\":\"NOFEEDBACK\",\"optional\":true,\"description\":\"specifies whether PROC SQL displays, in the SAS log, PROC SQL statements after view references are expanded or certain other transformations of the statement are made.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0dl95cpzwue89n1iobwxfguflpz\"},{\"name\":\"FLOW\",\"optional\":true,\"description\":\"specifies that character columns longer than n are flowed to multiple lines. PROC SQL sets the column width at n and specifies that character columns longer than n are flowed to multiple lines. When you specify FLOW=n m, PROC SQL floats the width of the columns between these limits to achieve a balanced layout. Specifying FLOW without arguments is equivalent to specifying FLOW=12 200.\",\"help\":\"FLOW&lt;=*n* &lt;*m*&gt;&gt; | NOFLOW\",\"type\":\"choice\",\"arguments\":[{\"name\":\"n\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"NOFLOW\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"n0bk4e9dbjlyvkn1huucapxm7eq1\"},{\"name\":\"INOBS=\",\"optional\":true,\"description\":\"restricts the number of rows (observations) that PROC SQL retrieves from any single source.\",\"help\":\"INOBS=*n*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1usnpbnkejl35n1sapkcd85uqqz\"},{\"name\":\"IPASSTHRU\",\"optional\":true,\"description\":\"specifies whether implicit pass through is enabled or disabled.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p14s4ac9ddsdmnn1bsq52hy2f5af\"},{\"name\":\"NOIPASSTHRU\",\"optional\":true,\"description\":\"specifies whether implicit pass through is enabled or disabled.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p14s4ac9ddsdmnn1bsq52hy2f5af\"},{\"name\":\"LOOPS=\",\"optional\":true,\"description\":\"restricts PROC SQL to n iterations through its inner loop. You use the number of iterations reported in the SQLOOPS macro variable (after each SQL statement is executed) to discover the number of loops. Set a limit to prevent queries from consuming excessive computer resources. For example, joining three large tables without meeting the join-matching conditions could create a huge internal table that would be inefficient to execute.\",\"help\":\"LOOPS=*n*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n19hjd7fs0s6psn1a5b8jyyo1ctl\"},{\"name\":\"NUMBER\",\"optional\":true,\"description\":\"specifies whether the SELECT statement includes a column called ROW, which is the row (or observation) number of the data as the rows are retrieved.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0u5lren1aruvyn14kbvrirbvcnm\"},{\"name\":\"NONUMBER\",\"optional\":true,\"description\":\"specifies whether the SELECT statement includes a column called ROW, which is the row (or observation) number of the data as the rows are retrieved.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0u5lren1aruvyn14kbvrirbvcnm\"},{\"name\":\"OUTOBS=\",\"optional\":true,\"description\":\"restricts the number of rows (observations) in the output. For example, if you specify OUTOBS=10 and insert values into a table using a query expression, then the SQL procedure inserts a maximum of 10 rows. Likewise, OUTOBS=10 limits the output to 10 rows.\",\"help\":\"OUTOBS=*n*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0ot4wqrljvwm3n1pp8pmw261kjl\"},{\"name\":\"PRINT\",\"optional\":true,\"description\":\"specifies whether the output from a SELECT statement is printed.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0upqzb71cryopn10od6xsk1a17t\"},{\"name\":\"NOPRINT\",\"optional\":true,\"description\":\"specifies whether the output from a SELECT statement is printed.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0upqzb71cryopn10od6xsk1a17t\"},{\"name\":\"PROMPT\",\"optional\":true,\"description\":\"modifies the effect of the INOBS=, OUTOBS=, and LOOPS= options. If you specify the PROMPT option and reach the limit specified by INOBS=, OUTOBS=, or LOOPS=, then PROC SQL prompts you to stop or continue. The prompting repeats if the same limit is reached again.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1sfkxnjtqceikn1clztj6chsg9u\"},{\"name\":\"NOPROMPT\",\"optional\":true,\"description\":\"modifies the effect of the INOBS=, OUTOBS=, and LOOPS= options. If you specify the PROMPT option and reach the limit specified by INOBS=, OUTOBS=, or LOOPS=, then PROC SQL prompts you to stop or continue. The prompting repeats if the same limit is reached again.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1sfkxnjtqceikn1clztj6chsg9u\"},{\"name\":\"REDUCEPUT=\",\"optional\":true,\"description\":\"specifies the engine type to use to optimize a PUT function in a query. The PUT function is replaced with a logically equivalent expression. The engine type can be one of the following values:\",\"help\":\"REDUCEPUT=ALL | NONE | DBMS | BASE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ALL\",\"description\":\"specifies to consider the optimization of all PUT functions, regardless of the engine that is used by the query to access the data.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1e7g5fv4kkw1zn1umhwrhdz1v5g\"},{\"name\":\"NONE\",\"description\":\"specifies to not optimize any PUT function.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1gppl1pux95lnn1e370b7u3ep78\"},{\"name\":\"DBMS\",\"description\":\"specifies to consider the optimization of all PUT functions in a query performed by a SAS/ACCESS engine.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0cnfjnqr381wan1qpkkq5pj86lb\"},{\"name\":\"BASE\",\"description\":\"specifies to consider the optimization of all PUT functions in a query performed by a SAS/ACCESS engine or a Base SAS engine.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n02so9jyj5stjan14hq47wn5ec8h\"}],\"supportSiteTargetFragment\":\"p0la1n82lptflbn11irv9s2jguyc\"},{\"name\":\"REDUCEPUTOBS=\",\"optional\":true,\"description\":\"when the REDUCEPUT= option is set to DBMS, BASE, or ALL, specifies the minimum number of observations that must be in a table for PROC SQL to consider optimizing the PUT function in a query.\",\"help\":\"REDUCEPUTOBS=*n*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0ygcmld1z8fwfn1pg5iomyzgti5\"},{\"name\":\"REDUCEPUTVALUES=\",\"optional\":true,\"description\":\"when the REDUCEPUT= option is set to DBMS, BASE, or ALL, specifies the maximum number of SAS format values that can exist in a PUT function expression for PROC SQL to consider optimizing the PUT function in a query.\",\"help\":\"REDUCEPUTVALUES=*n*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p05uomlt2z5hw7n10z9xrcn30kit\"},{\"name\":\"REMERGE\",\"optional\":true,\"description\":\"specifies whether PROC SQL can process queries that use remerging of data. The remerge feature of PROC SQL makes two passes through a table, using data in the second pass that was created in the first pass, in order to complete a query. When the NOREMERGE system option is set, PROC SQL cannot process remerging of data. If remerging is attempted when the NOREMERGE option is set, then an error is written to the SAS log.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p01454eymsw9d4n1w381xc8dy8uw\"},{\"name\":\"NOREMERGE\",\"optional\":true,\"description\":\"specifies whether PROC SQL can process queries that use remerging of data. The remerge feature of PROC SQL makes two passes through a table, using data in the second pass that was created in the first pass, in order to complete a query. When the NOREMERGE system option is set, PROC SQL cannot process remerging of data. If remerging is attempted when the NOREMERGE option is set, then an error is written to the SAS log.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p01454eymsw9d4n1w381xc8dy8uw\"},{\"name\":\"SORTMSG\",\"optional\":true,\"description\":\"for certain operations, such as ORDER BY, that can sort tables internally using PROC SORT, specifies whether information about the sort can be requested from PROC SORT and displayed in the log.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n07bz03h3cyczfn15u2bq6ww8wlw\"},{\"name\":\"NOSORTMSG\",\"optional\":true,\"description\":\"for certain operations, such as ORDER BY, that can sort tables internally using PROC SORT, specifies whether information about the sort can be requested from PROC SORT and displayed in the log.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n07bz03h3cyczfn15u2bq6ww8wlw\"},{\"name\":\"SORTSEQ=\",\"optional\":true,\"description\":\"specifies the collating sequence to use when a query contains an ORDER BY clause. Use this option only if you want a collating sequence other than your system or installation’s default collating sequence.\",\"help\":\"SORTSEQ=*sort-table* | LINGUISTIC\",\"type\":\"choice\",\"arguments\":[{\"name\":\"sort-table\",\"placeholder\":true,\"type\":\"dataSet\"},{\"name\":\"LINGUISTIC\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"p0i5z6z3vnmjd2n1abnsp9p3bc05\"},{\"name\":\"STIMER\",\"optional\":true,\"description\":\"specifies whether PROC SQL writes timing information to the SAS log for each statement, rather than as a cumulative value for the entire procedure. For this option to work, you must also specify the SAS system option STIMER. Some operating environments require that you specify this system option when you invoke SAS. If you use the system option alone, then you receive timing information for the entire SQL procedure, not on a statement-by-statement basis.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0191qt5frj114n18k8iocrx9j1x\"},{\"name\":\"NOSTIMER\",\"optional\":true,\"description\":\"specifies whether PROC SQL writes timing information to the SAS log for each statement, rather than as a cumulative value for the entire procedure. For this option to work, you must also specify the SAS system option STIMER. Some operating environments require that you specify this system option when you invoke SAS. If you use the system option alone, then you receive timing information for the entire SQL procedure, not on a statement-by-statement basis.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0191qt5frj114n18k8iocrx9j1x\"},{\"name\":\"STOPONTRUNC\",\"optional\":true,\"description\":\"specifies to not insert or update a row that contains data larger than the column when a truncation error occurs. This applies only when using the SET clause in an INSERT or UPDATE statement.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0r3czyua256drn174akfqjda5xv\"},{\"name\":\"THREADS\",\"optional\":true,\"description\":\"overrides the SAS system option THREADS | NOTHREADS for a particular invocation of PROC SQL unless the system option is restricted. (See Restriction.) THREADS | NOTHREADS can also be specified in a RESET statement for use in particular queries. When THREADS is specified, PROC SQL uses parallel processing in order to increase the performance of sorting operations that involve large amounts of data. For more information about parallel processing, see .\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1xa4uycb9jb4bn16aki8jqur3kk\"},{\"name\":\"NOTHREADS\",\"optional\":true,\"description\":\"overrides the SAS system option THREADS | NOTHREADS for a particular invocation of PROC SQL unless the system option is restricted. (See Restriction.) THREADS | NOTHREADS can also be specified in a RESET statement for use in particular queries. When THREADS is specified, PROC SQL uses parallel processing in order to increase the performance of sorting operations that involve large amounts of data. For more information about parallel processing, see .\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1xa4uycb9jb4bn16aki8jqur3kk\"},{\"name\":\"UNDO_POLICY=\",\"optional\":true,\"description\":\"specifies how PROC SQL handles updated data if errors occur while you are updating data. You can use UNDO_POLICY= to control whether your changes are permanent.\",\"help\":\"UNDO_POLICY=NONE | OPTIONAL | REQUIRED\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NONE\",\"description\":\"keeps any updates or inserts.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0e611oj5g5ymbn1f9zzxaek091g\"},{\"name\":\"OPTIONAL\",\"description\":\"reverses any updates or inserts that it can reverse reliably.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p173ibhspkypi9n154u4hyda5k69\"},{\"name\":\"REQUIRED\",\"description\":\"reverses all inserts or updates that have been done to the point of the error. In some cases, the UNDO operation cannot be done reliably. For example, when a program uses a SAS/ACCESS view, it might not be able to reverse the effects of the INSERT and UPDATE statements without reversing the effects of other changes at the same time. In that case, PROC SQL issues an error message and does not execute the statement.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0dk6aprdsnmwan1l2mfxj1i3p4t\"}],\"supportSiteTargetFragment\":\"p1kmzmzgof6o2jn1rbtkaq2vs0nd\"},{\"name\":\"UBUFSIZE=\",\"optional\":true,\"description\":\"specifies the internal transient buffer page size for the PROC SQL paged memory subsystem. PROC SQL uses this subsystem to help implement operations such as joins, aggregations, and intersections. The output is in multiples of 1 (bytes), 1024 (kilobytes), 1,048,576 (megabytes), or 1,073,741,824 (gigabytes). For example, a value of 65536 specifies a page size of 65536 bytes, and a value of 64k specifies a page size of 65536 bytes.\",\"help\":\"UBUFSIZE=*n* | *n*K | *n*M | *n*G\",\"type\":\"choice\",\"arguments\":[{\"name\":\"n\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"K\",\"type\":\"value\"},{\"name\":\"M\",\"type\":\"value\"},{\"name\":\"G\",\"type\":\"value\"}],\"supportSiteTargetFragment\":\"n05q55y0wkbglen11d7p32c0f38d\"},{\"name\":\"WARNRECURS\",\"optional\":true,\"description\":\"specifies whether a warning displays in the SAS log for recursive references.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p06phzb69azajxn1dvqbpicri8l4\"},{\"name\":\"NOWARNRECURS\",\"optional\":true,\"description\":\"specifies whether a warning displays in the SAS log for recursive references.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p06phzb69azajxn1dvqbpicri8l4\"}],\"supportSiteTargetFile\":\"p12ohgh32ffm6un13s7l2d5p9c8y.htm\"},{\"name\":\"ALTER TABLE\",\"description\":\"Adds columns to, drops columns from, and changes column attributes in an existing table. Adds, modifies, and drops integrity constraints from an existing table.\",\"help\":\"ALTER TABLE table-name\\n\\t<ADD  column-definition-1<, column-definition-2,  ...>>\\n\\n\\t<ADD  constraint-specification-1<, constraint-specification-2,  ...>>\\n\\n\\t<ADD CONSTRAINT constraint-name-1 constraint-specification-1<, constraint-name-2constraint-specification-2,  ...>\\n\\t\\t>\\n\\n\\t<DROP column-1<, column-2,  ...>>\\n\\n\\t<DROP CONSTRAINT constraint-name-1<, constraint-name-2,  ...>>\\n\\n\\t<DROP FOREIGN KEY constraint-name>\\n\\n\\t<DROP PRIMARY KEY >\\n\\n\\t<MODIFY column-definition-1<, column-definition-2,  ...>>\\n                                       ;\",\"arguments\":[{\"name\":\"table-name\",\"placeholder\":true,\"description\":\"In the ALTER TABLE statement, table-namerefers to the name of the table that is to be altered. In the REFERENCES clause, table-namerefers to the name of table that contains the primary key that is referenced by the foreign key. table-name can be a one-level name, a two-level libref.table name, or a physical pathname that is enclosed in single quotation marks.\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"p1mt4sd9fwxaqtn1txu9o3jrz95r\"},{\"name\":\"ADD\",\"optional\":true,\"description\":\"Column-definition adds the column or columns that are specified in each column-definition. Constraint-specification adds the specified integrity constraint and assigns a default name to it.\",\"help\":\"ADD *column-definition-1* &lt;, *column-definition-2*,  ...&gt; <br/> ADD *constraint-specification-1* &lt;, *constraint-specification-2*,  ...&gt;\",\"type\":\"value\",\"arguments\":[{\"name\":\"column-definition-1\",\"placeholder\":true,\"description\":\"the column or columns that are specified in each column-definition.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1d50v7lf54vein1oo5d9fizwcid\"},{\"name\":\"constraint-specification-1\",\"placeholder\":true,\"description\":\"adds the integrity constraint that is specified in constraint-specification and assigns a default name to it.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0u779j3j62lm3n1gsqmeaqozgv5\"}],\"supportSiteTargetFragment\":\"p0mut00d9u3ygwn1sk0nq7ufpba0\"},{\"name\":\"ADD CONSTRAINT\",\"optional\":true,\"description\":\"adds the integrity constraint that is specified in constraint-specification and assigns constraint-name to it.\",\"help\":\"ADD CONSTRAINT *constraint-name-1* *constraint-specification-1*&lt;, *constraint-name-2**constraint-specification-2*,  ...&gt;\",\"type\":\"value\",\"arguments\":[{\"name\":\"constraint-name\",\"placeholder\":true,\"description\":\"specifies a name for the constraint that is being specified. The name must be a valid SAS name.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n12vwbmihym6xbn1uogl358vxkr3\"},{\"name\":\"CHECK\",\"description\":\"specifies that all rows in table-name satisfy the WHERE-clause. WHERE-clausespecifies a SAS WHERE clause. Do not include the WHERE keyword in the WHERE clause.\",\"help\":\"CHECK *(WHERE-clause)* \",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1nvko0iykcbovn14393r5umc2yb\"},{\"name\":\"DISTINCT\",\"description\":\"specifies that the values of each column must be unique. This constraint is identical to UNIQUE.\",\"help\":\" DISTINCT (*column-1*&lt;, *column-2*,  ...&gt;)\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0dib0fv5bw52fn1qard6j7punys\"},{\"name\":\"FOREIGN                                           KEY\",\"description\":\"specifies a foreign key, that is, a set of columns whose values are linked to the values of the primary key variable in another table (the table-name that is specified for REFERENCES). The referential-actions are performed when the values of a primary key column that is referenced by the foreign key are updated or deleted.\",\"help\":\" FOREIGN KEY (*column-1*&lt;, *column-2*,&gt;) REFERENCES *table-name* &lt;ON DELETE *referential-action*&gt;&lt;ON UPDATE *referential-action*&gt;\",\"type\":\"dataSet\",\"arguments\":[{\"name\":\"CASCADE\",\"description\":\"allows primary key data values to be updated, and updates matching values in the foreign key to the same values. This referential action is currently supported for updates only.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p09gb1z03u9i61n1iioy39sx431z\"},{\"name\":\"RESTRICT\",\"description\":\"prevents the update or deletion of primary key data values if a matching value exists in the foreign key. This referential action is the default.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1m0oir7f4d6tan1cdne5pp5c9gv\"},{\"name\":\"SET\",\"description\":\"allows primary key data values to be updated, and sets all matching foreign key values to NULL.\",\"help\":\"SET NULL\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0ur3yinpduagin162acoweu94vg\"}],\"supportSiteTargetFragment\":\"n0scmfwhk3fe33n1ifvj2y4lno6y\"},{\"name\":\"NOT                                           NULL\",\"description\":\"specifies that column does not contain a null or missing value, including special missing values.\",\"help\":\"NOT NULL (*column*)\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0eiip5k3s0d5vn1n9ghjx7uoszp\"},{\"name\":\"PRIMARY KEY \",\"description\":\"specifies one or more primary key columns (that is, columns that do not contain missing values and whose values are unique).\",\"help\":\"PRIMARY KEY (*column-1*&lt;, *column-2*,  ...&gt;)\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1phu3quvuo3jln1en70kimtjvtm\"},{\"name\":\"UNIQUE\",\"description\":\"specifies that the values of each column must be unique. This constraint is identical to DISTINCT.\",\"help\":\"UNIQUE (*column-1*&lt;, *column-2*, ...&gt;)\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1cu2kfbdv00dtn1xngzao41r6gm\"},{\"name\":\"message-string\",\"placeholder\":true,\"description\":\"specifies the text of an error message that is written to the log when the integrity constraint is not met. The maximum length of message-string is 250 characters.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p00ipv14r8d92dn1xesofw1e8l42\"},{\"name\":\"NEWLINE\",\"description\":\"the text that is specified for MESSAGE= is displayed as well as the default error message for that integrity constraint.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0h3ceie9k8eten1mjc1apnqmeir\"},{\"name\":\"USER\",\"description\":\"only the text that is specified for MESSAGE= is displayed.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1entb8oqiv7rkn1kyh2slgpe84u\"}],\"supportSiteTargetFragment\":\"p0lnpoxe1gohrln1oo6e1idq2the\"},{\"name\":\"DROP\",\"optional\":true,\"description\":\"deletes each column from the table.column names a column in table-name.\",\"help\":\"DROP column-1\\n<, column-2,  ...>\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1857bsiip8bjyn1mz8aa5p77wo7\"},{\"name\":\"DROP CONSTRAINT\",\"optional\":true,\"description\":\"deletes the integrity constraint that is referenced by each constraint-name. To find the name of an integrity constraint, use the DESCRIBE TABLE CONSTRAINTS clause.\",\"help\":\"DROP CONSTRAINT *constraint-name-1*&lt;, *constraint-name-2* , ...&gt;\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0sc2lfplqubtin1hr54m4zx0azi\"},{\"name\":\"DROP FOREIGN KEY\",\"optional\":true,\"description\":\"removes the foreign key constraint that is referenced by constraint-name.\",\"help\":\"DROP FOREIGN KEY *constraint-name*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n102dflrry5rb2n14bifguad7roc\"},{\"name\":\"DROP PRIMARY KEY\",\"optional\":true,\"description\":\"removes the primary key constraint from table-name.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0f5jak94e9j3bn1nebm2fjv9tbx\"},{\"name\":\"MODIFY\",\"optional\":true,\"description\":\"changes one or more attributes of the column that is specified in each column-definition.\",\"help\":\"MODIFY *column-definition-1* &lt;, *column-definition-2*,  ...&gt;\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1i9noze7mod4rn1ea875vs098mx\"}],\"supportSiteTargetFile\":\"n1ckvfae6xf2tyn1nrivm6egpr8b.htm\"},{\"name\":\"CONNECT\",\"description\":\"Establishes a connection with a DBMS that SAS/ACCESS software supports.\",\"help\":\"CONNECT TO dbms-name<AS alias>\\n<(connect-statement-argument-1=value-1 <connect-statement-argument-2=value-2 ...>)>\\n<(database-connection-argument-1=value-1 <database-connection-argument-2=value-2 ...>)>;CONNECT USING libref<AS alias>;\",\"arguments\":[{\"name\":\"dbms-name\",\"placeholder\":true,\"description\":\"identifies the DBMS that you want to connect to (for example, ORACLE or DB2).\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0fv4u34xss1u9n1wifkfcbp8egw\"},{\"name\":\"libref\",\"placeholder\":true,\"description\":\"specifies the libref for which a DBMS connection has already been established through the LIBNAME statement. The libref connection parameters can be reused in the SQL procedure using the CONNECT statement.\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"p1xs0e0bekbacan1qzdolmk8tfro\"},{\"name\":\"AS\",\"optional\":true,\"description\":\"specifies an alias that has 1 to 32 characters. The keyword AS must precede alias. Some DBMSs allow more than one connection. The optional AS clause enables you to name the connections so that you can refer to them later.\",\"help\":\"AS *alias*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0yjvmtuuts97vn13mgk9vy6zmq5\"},{\"name\":\"connect-statement-argument=\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies values for arguments that indicate whether you can make multiple connections, shared or unique connections, and so on, to the database. These arguments are optional, but if they are included, then they must be enclosed in parentheses. For more information about these arguments, see .\",\"help\":\"*connect-statement-argument=value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0t8e8iyi3ov80n153afgbx2n04c\"},{\"name\":\"database-connection-argument=\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies values for the DBMS-specific arguments that are needed by PROC SQL in order to connect to the DBMS. These arguments are optional for most databases, but if they are included, then they must be enclosed in parentheses. For more information, see the SAS/ACCESS documentation for your DBMS.\",\"help\":\"*database-connection-argument=value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1h1g955wtjlq8n1tviy5jm9t0vd\"}],\"supportSiteTargetFile\":\"n0dvpyfvarx8cun1xif861xhh3k5.htm\"},{\"name\":\"CREATE INDEX\",\"description\":\"Creates indexes on columns in tables.\",\"help\":\"CREATE <UNIQUE >INDEX index-name\\n\\tON table-name  (column-1 <, column-2,  ...>);\\n\",\"arguments\":[{\"name\":\"INDEX\",\"description\":\"names the index that you are creating. If you are creating an index on one column only, then index-name must be the same as column. If you are creating an index on more than one column, then index-name cannot be the same as any column in the table.\",\"help\":\"INDEX *index-name*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1fowbpqm4fst6n162md4v288nkc\"},{\"name\":\"ON\",\"description\":\"specifies a PROC SQL table.\",\"help\":\"ON *table-name*\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"n0wxk4c70413onn17dmuugiohpw9\"},{\"name\":\"UNIQUE\",\"optional\":true,\"description\":\"causes SAS to reject any change to a table that would cause more than one row to have the same index value. Unique indexes guarantee that data in one column, or in a composite group of columns, remains unique for every row in a table. A unique index can be defined for a column that includes NULL or missing values if each row has a unique index value.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n06gi9ydp6ubktn1xh734fsbud36\"},{\"name\":\"column\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies a column in table-name.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1p61u2ddnfpxfn169z2hfnv3rtj\"}],\"supportSiteTargetFile\":\"n0cvv6ppmhcubdn0z54q91ip5vgk.htm\"},{\"name\":\"CREATE TABLE\",\"description\":\"Creates PROC SQL tables.\",\"help\":\"CREATE TABLE table-name\\n(column-specification-1<, column-specification-2 | constraint-specification-1,  ...>);CREATE TABLE table-nameLIKE table-name-2 ;CREATE TABLE table-nameAS query-expression\\n\\t<ORDER BY order-by-item-1<, order-by-item-2,  ...>>;\\n\",\"arguments\":[{\"name\":\"table-name\",\"placeholder\":true,\"description\":\"\\n• in the CREATE TABLE statement, refers to the name of the table that is to be created. You can use data set options by placing them in parentheses immediately after <i>table-name</i>. \\n• in the REFERENCES clause, refers to the name of table that contains the primary key that is referenced by the foreign key.\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"n0hy2yj6j7p9xyn10d4vxeo8ifr8\"},{\"name\":\"column-definition\",\"placeholder\":true,\"description\":\"See .\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0l804b5slwgcrn16d7czsrbn548\"},{\"name\":\"column-constraint\",\"placeholder\":true,\"description\":\"See .\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1k3y4fmjiqtl3n1a29oxbx28k3n\"},{\"name\":\"table-name-2\",\"placeholder\":true,\"description\":\"creates table-name with the same column names and column attributes as table-name2, but with no rows.\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"p0lyo5jwxj7nl1n12pgzzz1j3guh\"},{\"name\":\"query-expression\",\"placeholder\":true,\"description\":\"creates table-name from the results of a query.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0g4sfqx1wff3qn1cr6ap2pi7wku\"},{\"name\":\"constraint-name\",\"placeholder\":true,\"description\":\"specifies a name for the constraint that is being specified. The name must be a valid SAS name.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p01rqs46natbr9n1vn9hwggzekje\"},{\"name\":\"CHECK\",\"description\":\"specifies that all rows in table-name satisfy the WHERE-clause. WHERE-clause is a SAS WHERE clause. Do not include the WHERE keyword in the WHERE clause.\",\"help\":\"CHECK *WHERE-clause*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0qvt8lyvx7f0fn18oeae8djqlpq\"},{\"name\":\"DISTINCT\",\"description\":\"specifies that the values of each column must be unique. This constraint is identical to UNIQUE.\",\"help\":\"DISTINCT (*column-1* &lt;, *column-2*,  ...&gt;)\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1tdsz596zsyzan1bm2gpjw7g908\"},{\"name\":\"FOREIGN KEY\",\"description\":\"specifies a foreign key, that is, a set of columns whose values are linked to the values of the primary key variable in another table (the table-name that is specified for REFERENCES). The actions are performed when the values of a primary key column that is referenced by the foreign key are updated or deleted. Actions can be the following action:\",\"help\":\"FOREIGN KEY (*column-1*&lt;, *column-2*,  ...&gt;)\",\"type\":\"value\",\"arguments\":[{\"name\":\"CASCADE\",\"description\":\"allows primary key data values to be updated, and updates matching values in the foreign key to the same values. This referential action is currently supported for updates only.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1prlt8e9s7nzzn1j026mlmm3rt4\"},{\"name\":\"RESTRICT\",\"description\":\"occurs only if there are matching foreign key values. This referential action is the default.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0gapyeranwnvqn1fapjozxy6goh\"},{\"name\":\"SET                                           NULL\",\"description\":\"sets all matching foreign key values to NULL.\",\"help\":\"SET NULL\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0w4cq8q7k01e0n18ooys1264t7c\"}],\"supportSiteTargetFragment\":\"p11ypwirkvnl6bn1pffsaze96pdq\"},{\"name\":\"REFERENCES\",\"description\":\"specifies a foreign key, that is, a set of columns whose values are linked to the values of the primary key variable in another table (the table-name that is specified for REFERENCES). The actions are performed when the values of a primary key column that is referenced by the foreign key are updated or deleted. Actions can be the following action:\",\"help\":\"REFERENCES *table-name*&lt;ON DELETE CASCADE | RESTRICT | SET NULL&gt;&lt;ON UPDATE CASCADE | RESTRICT | SET NULL&gt;\",\"type\":\"dataSet\",\"arguments\":[{\"name\":\"CASCADE\",\"description\":\"allows primary key data values to be updated, and updates matching values in the foreign key to the same values. This referential action is currently supported for updates only.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1prlt8e9s7nzzn1j026mlmm3rt4\"},{\"name\":\"RESTRICT\",\"description\":\"occurs only if there are matching foreign key values. This referential action is the default.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0gapyeranwnvqn1fapjozxy6goh\"},{\"name\":\"SET                                           NULL\",\"description\":\"sets all matching foreign key values to NULL.\",\"help\":\"SET NULL\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0w4cq8q7k01e0n18ooys1264t7c\"}],\"supportSiteTargetFragment\":\"p11ypwirkvnl6bn1pffsaze96pdq\"},{\"name\":\"NOT NULL\",\"description\":\"specifies that column does not contain a null or missing value, including special missing values.\",\"help\":\"NOT NULL (*column*)\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0vh5axpjwkjabn1m5cq3zx219yk\"},{\"name\":\"PRIMARY KEY\",\"description\":\"specifies one or more primary key columns, that is, columns that do not contain missing values and whose values are unique.\",\"help\":\"PRIMARY KEY(*column-1*&lt;, *column-2*, ...&gt;)\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0gel27jlsc8pyn1wt90bnukbuqr\"},{\"name\":\"UNIQUE\",\"description\":\"specifies that the values of each column must be unique. This constraint is identical to DISTINCT.\",\"help\":\"UNIQUE (*column-1* &lt;, *column-2*,  ...&gt;)\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0gpgru66dks6nn1j78gkpbk4ca4\"},{\"name\":\"MESSAGE=\",\"description\":\"specifies the text of an error message that is written to the log when the integrity constraint is not met. The maximum length of message-string is 250 characters.\",\"help\":\"MESSAGE='*message-string*'\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0gwshfyjfjz3pn1mg4v7xl7crtu\"},{\"name\":\"MSGTYPE=\",\"description\":\"specifies how the error message is displayed in the SAS log when an integrity constraint is not met.\",\"help\":\"MSGTYPE=NEWLINE | USER\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NEWLINE\",\"description\":\"the text that is specified for MESSAGE= is displayed as well as the default error message for that integrity constraint.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0g3ib2w7ldetfn1sd2d17wpznfy\"},{\"name\":\"USER\",\"description\":\"only the text that is specified for MESSAGE= is displayed.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n07qdwxm8gp6qjn1o56it35orbay\"}],\"supportSiteTargetFragment\":\"p0rix0htuiq7tpn1ibnc7or5j24c\"},{\"name\":\"ORDER\",\"optional\":true,\"description\":\"sorts the rows in table-name by the values of each order-by-item.\",\"help\":\"ORDER BY *order-by-item-1* &lt;, *order-by-item-2*,  ...&gt;\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0u3ekxliap5yhn12c36d1ynlvao\"}],\"supportSiteTargetFile\":\"n07kfcv1vbih8rn1k9epo45umxil.htm\"},{\"name\":\"CREATE VIEW\",\"description\":\"Creates a PROC SQL view from a query expression.\",\"help\":\"CREATE VIEW proc-sql-view<(column-name-list)>AS query-expression\\n\\t<ORDER BY order-by-item-1<, order-by-item-2,  ...>>\\n\\n\\t<USING libname-clause-1<, libname-clause-2,  ...>> ;\\n\",\"arguments\":[{\"name\":\"proc-sql-view\",\"placeholder\":true,\"description\":\"specifies the name for the PROC SQL view that you are creating.\",\"help\":\"*proc-sql-view*\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"p028ku6dkpzr4un16mx1myfn2mlh\"},{\"name\":\"query-expression\",\"placeholder\":true,\"description\":\"See .\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1rl7z4rbnyg7un156wy4ar1gaot\"},{\"name\":\"column-name-list\",\"optional\":true,\"placeholder\":true,\"description\":\"is a comma-separated list of column names for the view, to be used in place of the column names or aliases that are specified in the SELECT clause. The names in this list are assigned to columns in the order in which they are specified in the SELECT clause. If the number of column names in this list does not equal the number of columns in the SELECT clause, then a warning is written to the SAS log.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1smuui5ekqjhsn1astilfxvbi94\"},{\"name\":\"ORDER\",\"optional\":true,\"description\":\"See .\",\"help\":\"ORDER BY *order-by-item-1* &lt;, *order-by-item-2*,  ...&gt;\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0br4l4yk92c87n1bomb6gtoba6i\"},{\"name\":\"USING\",\"optional\":true,\"description\":\"stores DBMS connection information in the view by embedding the SAS/ACCESS LIBNAME statement inside the view. libname-clause can be one of the following:\",\"help\":\"USING *libname-clause-1* &lt;, *libname-clause-2*,  ...&gt;\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0l0jeoajutjykn1ld6tcouq6c0b\"}],\"supportSiteTargetFile\":\"n0nolnbokay91in1gouzgw3xzl5e.htm\"},{\"name\":\"DELETE\",\"description\":\"Removes one or more rows from a table or view that is specified in the FROM clause.\",\"help\":\"DELETE FROM table-name  | sas/access-view | proc-sql-view\\n\\t<AS alias>\\n\\n\\t<WHERE sql-expression>;\\n\",\"arguments\":[{\"name\":\"table-name\",\"placeholder\":true,\"description\":\"specifies the table that you are deleting rows from. table-name can be a one-level name, a two-level libref.table name, or a physical pathname that is enclosed in single quotation marks.\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"n02qg9zli9oi5cn1hulfkrn8e8hn\"},{\"name\":\"sas/access-view\",\"placeholder\":true,\"description\":\"specifies a SAS/ACCESS view that you are deleting rows from.\",\"help\":\"*sas/access-view* \",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"n16jt9lz979yq1n0zshad5zvy394\"},{\"name\":\"proc-sql-view\",\"placeholder\":true,\"description\":\"specifies a PROC SQL view that you are deleting rows from. proc-sql-view can be a one-level name, a two-level libref.view name, or a physical pathname that is enclosed in single quotation marks.\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"p1db5imxt88lzbn1gx813mcjossr\"},{\"name\":\"AS\",\"optional\":true,\"description\":\"assigns an alias to table-name, sas/access-view, or proc-sql-view.\",\"help\":\"AS *alias*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0pmemf8ytl3kln1lvle0a9ht8cg\"},{\"name\":\"WHERE\",\"optional\":true,\"description\":\"produces a value from a sequence of operands and operators.\",\"help\":\"WHERE *sql-expression*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1uvfvb8zuwl0hn1fctqrvrx6uwl\"}],\"supportSiteTargetFile\":\"n0wvt1t0egww81n1nrdqjvc32oyl.htm\"},{\"name\":\"DESCRIBE\",\"description\":\"Displays a PROC SQL definition in the SAS log.\",\"help\":\"DESCRIBE TABLE  *table-name-1*&lt;, *table-name-2*,  ...&gt;;DESCRIBE VIEW *proc-sql-view-1*&lt;, *proc-sql-view-2* ,  ...&gt;;DESCRIBE TABLE CONSTRAINTS *table-name-1*&lt;, *table-name-2* ,  ...&gt;;\",\"arguments\":[{\"name\":\"table-name\",\"placeholder\":true,\"description\":\"specifies a PROC SQL table. table-name can be a one-level name, a two-level libref.table name, or a physical pathname that is enclosed in single quotation marks.\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"p07ktvpju053vjn17a19pd54vsjv\"},{\"name\":\"proc-sql-view\",\"placeholder\":true,\"description\":\"specifies a PROC SQL view. proc-sql-view can be a one-level name, a two-level libref.view name, or a physical pathname that is enclosed in single quotation marks.\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"n1sl2r4cj69vvmn1tx3c3wn7nx64\"}],\"supportSiteTargetFile\":\"p0393mbwto9n9gn1i0yaxvr5iqae.htm\"},{\"name\":\"DISCONNECT\",\"description\":\"Ends the connection with a DBMS that a SAS/ACCESS interface supports.\",\"help\":\"DISCONNECT FROM *dbms-name* | *alias*;\",\"arguments\":[{\"name\":\"dbms-name\",\"placeholder\":true,\"description\":\"specifies the DBMS from which you want to end the connection (for example, DB2 or ORACLE). The name that you specify should match the name that is specified in the CONNECT statement.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1hgnx6vr7xxnon1g7w3loxlqf1i\"},{\"name\":\"alias\",\"placeholder\":true,\"description\":\"specifies the alias that is defined in the CONNECT statement.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1boao18y1xwtwn1o56ipwtfb0qo\"}],\"supportSiteTargetFile\":\"n060ubbm041ijun1lpsydeh29rw3.htm\"},{\"name\":\"DROP\",\"description\":\"Deletes tables, views, or indexes.\",\"help\":\"DROP TABLE *table-name-1*&lt;, *table-name-2* ,  ...&gt;;DROP VIEW *view-name-1*&lt;, *view-name-2* ,  ...&gt;;DROP INDEX  *index-name-1*&lt;, *index-name-2*,  ...&gt;FROM *table-name*;\",\"arguments\":[{\"name\":\"table-name\",\"placeholder\":true,\"description\":\"specifies a PROC SQL table. table-name can be a one-level name, a two-level libref.table name, or a physical pathname that is enclosed in single quotation marks.\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"n1gshdaocw41s9n1g5bfr24isqox\"},{\"name\":\"view-name\",\"placeholder\":true,\"description\":\"specifies a SAS view of any type: PROC SQL view, SAS/ACCESS view, or DATA step view. view-name can be a one-level name, a two-level libref.view name, or a physical pathname that is enclosed in single quotation marks.\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"p1eeyrdyf4oz8yn1eb93dw2rb1ic\"},{\"name\":\"index-name\",\"placeholder\":true,\"description\":\"specifies an index that exists on table-name.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n124xek8h6266an1eo4em0vfppyx\"}],\"supportSiteTargetFile\":\"p17kx1f38m0j86n1fq7qec1kclcz.htm\"},{\"name\":\"EXECUTE\",\"description\":\"Sends a DBMS-specific SQL statement to a DBMS that a SAS/ACCESS interface supports.\",\"help\":\"EXECUTE  (dbms-SQL-statement) \\n\\tBY dbms-name | alias;\",\"arguments\":[{\"name\":\"dbms-SQL-statement\",\"placeholder\":true,\"description\":\"is any DBMS-specific SQL statement, except the SELECT statement, which can be executed by the DBMS-specific dynamic SQL. The SQL statement can contain a semicolon. The SQL statement can be case-sensitive, depending on your data source, and it is passed to the data source exactly as you enter it.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0wzavjqqamdunn1wsy1ot1r9ysc\"},{\"name\":\"dbms-name\",\"placeholder\":true,\"description\":\"identifies the DBMS to which you want to direct the DBMS statement (for example, ORACLE or DB2).\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1rpq7nfmior7nn13a1s2wvj7hcf\"},{\"name\":\"alias\",\"placeholder\":true,\"description\":\"specifies an optional alias that is defined in the CONNECT statement. Note that alias must be preceded by the keyword BY.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n11iwn6d7f3gbcn1mkicdt9bwgw1\"}],\"supportSiteTargetFile\":\"n0tpd3yaqvep53n1g8wahav3hgco.htm\"},{\"name\":\"INSERT\",\"description\":\"Adds rows to a new or existing table or view.\",\"help\":\"INSERT INTO table-name | sas/access-view | proc-sql-view\\n<(column-1<, column-2,  ...>)>\\n\\tSET column1=sql-expression-1<, column-2=sql-expression-2,  ...>\\nINSERT INTO table-name | sas/access-view | proc-sql-view\\n<(column-1 <, column-2,  ...>)>\\n\\tVALUES  (value-1<, value-2,  ...>) \\n\\t\\t<VALUES  (value-1<, value-2,  ...>) >;\\nINSERT INTO table-name | sas/access-view | proc-sql-view\\n<(column-1<, column-2,  ...>)>\\nquery-expression;\",\"arguments\":[{\"name\":\"table-name\",\"placeholder\":true,\"description\":\"specifies a PROC SQL table into which you are inserting rows. table-name can be a one-level name, a two-level libref.table name, or a physical pathname that is enclosed in single quotation marks.\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"n1y1k08bqf9qmdn1f3s2p8p7gfvo\"},{\"name\":\"sas/access-view\",\"placeholder\":true,\"description\":\"specifies a SAS/ACCESS view into which you are inserting rows.\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"p1m710qoesm1t3n1tbwffpxj34e5\"},{\"name\":\"proc-sql-view\",\"placeholder\":true,\"description\":\"specifies a PROC SQL view into which you are inserting rows. proc-sql-view can be a one-level name, a two-level libref.view name, or a physical pathname that is enclosed in single quotation marks.\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"p02nn7ai13z977n1jbcr7vouh4la\"},{\"name\":\"column\",\"placeholder\":true,\"description\":\"specifies the column into which you are inserting rows.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0qnyabl0wz7mkn1f95gz87i0bgi\"},{\"name\":\"sql-expression\",\"placeholder\":true,\"description\":\"produces a value from a sequence of operands and operators.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1dxr0aueeet8wn1hx85hjcgzswj\"},{\"name\":\"value\",\"placeholder\":true,\"description\":\"is a data value.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0dq1d8tnavkgsn1538v3l1ybkwb\"},{\"name\":\"query-expression\",\"placeholder\":true,\"description\":\"retrieves data from tables.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0i776q2aft76fn1ljkax3n287ev\"}],\"supportSiteTargetFile\":\"n00p1g1wr4q7pzn1e6o5i82n7iml.htm\"},{\"name\":\"QUIT\",\"description\":\"Executes any statements that have not executed and ends the procedure.\",\"help\":\"QUIT ;\",\"supportSiteTargetFile\":\"n0bhts7ccpcc7vn14vt65ofodtya.htm\"},{\"name\":\"RESET\",\"description\":\"Resets PROC SQL options without restarting the procedure.\",\"help\":\"RESET &lt;*options*&gt;;\",\"arguments\":[{\"name\":\"options\",\"optional\":true,\"placeholder\":true,\"description\":\"the PROC SQL options that you want to add, drop, or change without restarting the procedure.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1sxu0c9raz9kwn1n4yrjstpgeta\"}],\"supportSiteTargetFile\":\"p1e1cq1yqz1q68n19trsyynkr7se.htm\"},{\"name\":\"SELECT\",\"description\":\"Selects columns and rows of data from tables and views.\",\"help\":\"SELECT <DISTINCT | UNIQUE>object-item-1<, object-item-2,  ...>\\n\\t\\n\\t\\t<INTO macro-variable-specification-1<, macro-variable-specification-2,  ...>>\\n\\t\\tFROM from-list\\n\\t\\t<WHERE sql-expression>\\n\\t\\t<GROUP BY group-by-item-1<, group-by-item-2,  ...>>\\n\\t\\t<HAVING sql-expression>\\n\\t\\t<ORDER BY order-by-item-1<,  order-by-item-2 <ASC | DESC>,  ...>>;\\n\",\"arguments\":[{\"name\":\"*\",\"description\":\"represents all columns in the tables or views that are listed in the FROM clause.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1ftn6m8t8061un155rf48yehdl4a\"},{\"name\":\"case-expression\",\"description\":\"derives a column from a CASE expression.\",\"help\":\"*case-expression*&lt;AS *alias*&gt;\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p08pchzsltfle8n1jyi93cq8m1p5a\"},{\"name\":\"column-name\",\"description\":\"names a single column.\",\"help\":\"*column-name*&lt;AS *alias*&gt;&lt;*column-modifier-1*&lt; *column-modifier-2*  ...&gt;&gt; \",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0cex26v13yqoxn1849k8ssmbu2qa\"},{\"name\":\"sql-expression\",\"description\":\"derives a column from an sql-expression.\",\"help\":\"sql-expression <AS alias>\\n<column-modifier-1< column-modifier-2  ...>>\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0e7t5vveti08yn1wk2k68as1nyxa\"},{\"name\":\"table-name.*\",\"placeholder\":true,\"description\":\"specifies all columns in the PROC SQL table that is specified in table-name.\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"n14kdw8s7t0b0vn1msgn2v82qt1ua\"},{\"name\":\"table-alias.*\",\"placeholder\":true,\"description\":\"specifies all columns in the PROC SQL table that has the alias that is specified in table-alias.\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"n1rxd3txn70dahn1b469hudth00ka\"},{\"name\":\"view-name.*\",\"placeholder\":true,\"description\":\"specifies all columns in the SAS view that is specified in view-name.\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"n0g99pf2vqzz7en0zjgozl9lsu88a\"},{\"name\":\"view-alias.*\",\"placeholder\":true,\"description\":\"specifies all columns in the SAS view that has the alias that is specified in view-alias.\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"p0s7fe4o8wvoaqn16d49l8gntqkla\"},{\"name\":\"FROM\",\"description\":\"specifies source tables or views.\",\"help\":\"FROM *from-list*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1gdvyvy8wbgpan1hgadc5usztmk\"},{\"name\":\"INTO\",\"optional\":true,\"description\":\"stores the value of one or more columns for use later in another PROC SQL query or SAS statement.\",\"help\":\"INTO *macro-variable-specification-1* &lt;, *macro-variable-specification-2*,  ...&gt;\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1oa7w6rv70cogn1sug2obybf7q1\"},{\"name\":\"WHERE\",\"optional\":true,\"description\":\"subsets the output based on specified conditions.\",\"help\":\"WHERE *sql-expression*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1pxhbze7qm70pn1eho13px4owiw\"},{\"name\":\"GROUP BY\",\"optional\":true,\"description\":\"specifies how to group the data for summarizing.\",\"help\":\"GROUP BY *group-by-item-1* &lt;, *group-by-item-2*,  ...&gt;\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0y1j0mj9sbkxxn1uesz4s2sdpmf\"},{\"name\":\"HAVING\",\"optional\":true,\"description\":\"subsets grouped data based on specified conditions.\",\"help\":\"HAVING *sql-expression*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0zw1esry98o3yn1h4pule2fckr1\"},{\"name\":\"ORDER BY\",\"optional\":true,\"description\":\"specifies the order in which rows are displayed in a result table.\",\"help\":\"ORDER BY *order-by-item-1* &lt;, *order-by-item-2* &lt;ASC | DESC&gt;,  ...&gt;\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1vle799ed2hq7n1bfobhfa87rqt\"}],\"supportSiteTargetFile\":\"p0hwg3z33gllron184mzdoqwpe3j.htm\"},{\"name\":\"UPDATE\",\"description\":\"Modifies a column's values in existing rows of a table or view.\",\"help\":\"UPDATE table-name | sas/access-view | proc-sql-view<AS alias>\\n\\tSET column-1=sql-expression-1<, column-2=sql-expression-2,  ...>\\n\\n\\t<WHERE sql-expression>;\\n\",\"arguments\":[{\"name\":\"table-name\",\"placeholder\":true,\"description\":\"specifies a PROC SQL table. table-name can be a one-level name, a two-level libref.table name, or a physical pathname that is enclosed in single quotation marks.\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"p1l2essyb37amxn1r9vg0zdq7smr\"},{\"name\":\"sas/access-view\",\"placeholder\":true,\"description\":\"specifies a SAS/ACCESS view.\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"p0k24a12usjs2pn1u6luvs93j7vx\"},{\"name\":\"proc-sql-view\",\"placeholder\":true,\"description\":\"specifies a PROC SQL view. proc-sql-view can be a one-level name, a two-level libref.view name, or a physical pathname that is enclosed in single quotation marks.\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"n0f00hwc6ppuayn12fa9dht3chq8\"},{\"name\":\"alias\",\"placeholder\":true,\"description\":\"assigns an alias to table-name, sas/access-view, or proc-sql-view.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1a1j2bmerebvcn18r9y3nenhzxn\"},{\"name\":\"column\",\"placeholder\":true,\"description\":\"specifies a column in table-name, sas/access-view, or proc-sql-view.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0c4o1ss4qx67un1fl3va232edoi\"},{\"name\":\"sql-expression\",\"placeholder\":true,\"description\":\"produces a value from a sequence of operands and operators.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0o2a4um8rzipdn13sxtfiiq4yly\"}],\"supportSiteTargetFile\":\"p0ci36zwxhm1xdn1a943yeczfalk.htm\"},{\"name\":\"VALIDATE\",\"description\":\"Checks the accuracy of a query expression's syntax and semantics without executing the expression.\",\"help\":\"VALIDATE *query-expression*;\",\"arguments\":[{\"name\":\"query-expression\",\"placeholder\":true,\"description\":\"retrieves data from tables.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n02no0sam1u10dn108td0jlpb570\"}],\"supportSiteTargetFile\":\"p059a19y50rpgun1bp4ehq0ld34l.htm\"}],\"supportSiteInformation\":{\"docsetId\":\"sqlproc\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n1oihmdy7om5rmn1aorxui3kxizl.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/SQOOP.json",
    "content": "{\"name\":\"SQOOP\",\"statements\":[{\"name\":\"PROC SQOOP\",\"description\":\"Allows access to Apache Sqoop using options to allow data transfer between a database and HDFS.\",\"help\":\"PROC SQOOP *required-arguments*&lt;*additional-sqoop-options*&gt;;\",\"arguments\":[{\"name\":\"COMMAND=\",\"description\":\"specifies the Apache Sqoop command. Here is how you must specify the command:\",\"help\":\"COMMAND='*command-to-sqoop*'\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p18u03tkaheyx6n1gylym5zsy6vy\"},{\"name\":\"DBPWD=\",\"description\":\"specifies the database password that is associated with the DBUSER option. Because this option is mutually exclusive with the PASSWORDFILE= option, you must specify only one or the other.\",\"help\":\"DBPWD='*database-password*'\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n11az34gw1khzhn15713yufj0zrm\"},{\"name\":\"DBUSER=\",\"description\":\"specifies the database user name to use for import or export.\",\"help\":\"DBUSER='*database-user-name*'\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0vpugl6kbd6zqn0zjnxqov1ib35\"},{\"name\":\"HADOOPPWD=\",\"description\":\"specifies the Hadoop password that is associated with the HADOOPUSER= option.\",\"help\":\"HADOOPPWD='*hadoop-password*'\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1nu7z1xghl3hmn12b7y79fwvckk\"},{\"name\":\"HADOOPUSER=\",\"description\":\"specifies the Hadoop user name to use for import or export.\",\"help\":\"HADOOPUSER='*hadoop-user-name*'\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p05ua0plwyjh0zn1plbghldn8jle\"},{\"name\":\"OOZIEURL=\",\"description\":\"specifies the URL to the Oozie server.\",\"help\":\"OOZIEURL='*oozie-URL*'\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1wd0yiaj1qfo8n169wovl1pkb0v\"},{\"name\":\"DELETEWF\",\"optional\":true,\"description\":\"specifies that, if an Oozie workflow file exists as specified by the location in WFHDFSPATH, it should be deleted. The SQOOP procedure then creates a new workflow file at that location.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1p4p177dbiolbn110goauf2kvny\"},{\"name\":\"HIVE_SERVER=\",\"optional\":true,\"description\":\"specifies the Hive server name that runs the Hive service and the port number to use to connect to the specified Hive service.\",\"help\":\"HIVE_SERVER='*server-name-and-port*'\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1drnjmajt8oazn1thz25hd9ofsv\"},{\"name\":\"HIVE_URI=\",\"optional\":true,\"description\":\"specifies the JDBC URI.\",\"help\":\"HIVE_URI=jdbc:hive2://*HiveServerHost*:*HiveServerPort*&lt;/Schema:*Property1=Value*; &lt; ...*PropertyN=ValueN*;&gt;&gt;\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1bfpx24glaj5qn1hha2y94mxh66\"},{\"name\":\"JOBTRACKER=\",\"optional\":true,\"description\":\"specifies the URL to the JobTracker or ResourceManager services.\",\"help\":\"JOBTRACKER='*job-tracker-URL*'\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p03mnpjqhfg8i7n1qe056abxftyp\"},{\"name\":\"NAMENODE=\",\"optional\":true,\"description\":\"specifies the URL to the NameNode services.\",\"help\":\"NAMENODE='*name-node-URL*'\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0vcoupclzlgtxn16vrpm98fl2i6\"},{\"name\":\"PASSWORDFILE=\",\"optional\":true,\"description\":\"specifies the name of the file that is located in HDFS that contains the database password for import or export. This separate password file must exist before you can run this procedure, and care should be taken to keep this file secure.\",\"help\":\"PASSWORDFILE='*password-file*'\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1c2xdq1ri7t41n10trgxyfskb3d\"},{\"name\":\"WFHDFSPATH=\",\"optional\":true,\"description\":\"specifies the path and filename for where to upload the Oozie workflow, as shown below.\",\"help\":\"WFHDFSPATH='*Oozie-workflow-path-and-filename*'\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1jkcn6ec1amu5n1v3qmb9vm1eye\"}],\"supportSiteTargetFile\":\"n0pozq3rgnj1q0n1pcvweostxogo.htm\"}],\"supportSiteInformation\":{\"docsetId\":\"proc\",\"docsetVersion\":\"v_002\",\"docsetTargetFile\":\"n0rzt2lqe7u5asn1p77edgvicl49.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/SSM.json",
    "content": "{\"name\":\"SSM\",\"statements\":[{\"name\":\"PROC SSM\",\"description\":\"State space models (SSMs) are used for analyzing continuous response variables that are recorded sequentially according to a numeric indexing variable. In many cases, the indexing variable is time and the observations are collected at regular time intervals—for example, hourly, weekly, or monthly. In such cases, the resulting data are called time series data. In other cases, the indexing variable might not be time or the observations might not be equally spaced according to the indexing variable. These more general types of sequential data are called longitudinal data. Because of their sequential nature, these types of data exhibit some characteristic features. For example, chronologically closer measurements tend to be highly correlated while measurements farther apart are essentially uncorrelated. Data can be trending in a particular direction and can have seasonal or other periodic patterns. SSMs are specially designed to model such sequential data. They apply to both univariate and multivariate response situations and can easily incorporate predictor (independent variable) information when it is available. † The SSM procedure performs state space modeling of univariate and multivariate time series and longitudinal data.\",\"help\":\"PROC SSM <BREAKPEAKS><DATA=SAS-data-set><NOPRINT><OPTIMIZER( <TECHNIQUE=technique> <MAXITER=integer>)><PLOTS=ALL | AO | MAXSHOCK... ><PRINTALL><STATEINFO><ZSPARSE>;     \\n\\tABORT <ABEND><CANCEL><CANCEL FILE> ...;\\n\\n\\tARRAY specification <...> ;\\n\\n\\tBY variables;\\n\\n\\tCALL routine(parameter-1<, ...parameter-n>);\\n\\n\\tCOMPONENT <PRINT=<FILTER | SMOOTH>> ;\\n\\n\\tDELETE;\\n\\n\\tDEPLAG name(response-variable) lag-term1 <lag-term2 …> ;\\n\\n\\tDO <OVER><><> ...;\\n\\n\\tELSE <DO><IF><THEN> ...;\\n\\n\\tEND;\\n\\n\\tEVAL <PRINT=<FILTER | SMOOTH>> ;\\n\\n\\tGOTO label;\\n\\n\\tID <INTERVAL=value> ;\\n\\n\\tIF <DO><THEN><WHEN> ...;\\n\\n\\tIRREGULAR <PRINT=SMOOTH><VARIANCE=variable | number> ;\\n\\n\\tLINK statement-label;\\n\\n\\tMODEL <PRINT=<FILTER | SMOOTH>> ;\\n\\n\\t;\\n\\n\\tOUTPUT <ALPHA=number><AO(<ALPHA=number> <MAXNUM=number> <MAXPCT=number>)><BREAK(<ALPHA=number> <MAXNUM=number> <MAXPCT=number>)> ...;\\n\\n\\tPARMS <LOWER=(number1 number2 …) | LOWER=(number)><UPPER=(number1 number2 …) | UPPER=(number)> ;\\n\\n\\tPUT <_PAGE_> ;\\n\\n\\tRETURN;\\n\\n\\t;\\n\\n\\tSTATE <A1(nd)><CHECKBREAK<( ELEMENTWISE | OVERALL)>><COV( D ) <= (var1 var2 …) | (number1 number2 …)>COV( G ) <= (var1 var2 …) | (number1 number2 …)>COV( I ) <= (variable) | (number)>COV( RANK=integer )> ...;\\n\\n\\tSTOP ;\\n\\n\\tTREND <AR= φ1 φ2 …φp><CHECKBREAK<( ELEMENTWISE | OVERALL)>><CROSS=(var1, var2, …) | CROSS(MATCHPARM)=(var1, var2, …)> ...;\\n\\n\\tWHEN <DO> ;\\n\",\"arguments\":[{\"name\":\"BREAKPEAKS\",\"optional\":true,\"description\":\"Prints an alternate form of the break summary tables when the CHECKBREAK option is used in the STATE or TREND statement or when the MAXSHOCK option is used in the OUTPUT statement. In this alternate form, the summary tables report the significant peaks of the shock statistics curves.\",\"type\":\"standalone\"},{\"name\":\"DATA=\",\"optional\":true,\"description\":\"Specifies the name of the SAS data set that contains the variables needed for the analysis. If you do not specify this option, PROC SSM uses the most recently created SAS data set.\",\"help\":\"DATA=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"NOPRINT\",\"optional\":true,\"description\":\"Turns off all the printing and plotting for the procedure. Any subsequent print options are ignored.\",\"type\":\"standalone\"},{\"name\":\"OPTIMIZER=\",\"optional\":true,\"description\":\"Specifies options that are associated with the optimizer used in the maximum likelihood parameter estimation. The default settings of the optimization process are adequate in most problems. However, in some cases it might be useful to change the optimization technique or to change the maximum number of iterations. You can specify one of the following techniques: ACTIVESET corresponds to the active-set method. DBLDOG corresponds to the double-dogleg method. INTERIORPOINT corresponds to the primal-dual interior point method. NEWRAP corresponds to the Newton-Raphson method. QUANEW corresponds to the (dual) quasi-Newton method. TRUREG corresponds to the trust region method.\",\"help\":\"OPTIMIZER=TECHNIQUE= | MAXITER=\",\"type\":\"choice\",\"arguments\":[{\"name\":\"TECHNIQUE=\",\"type\":\"value\"},{\"name\":\"MAXITER=\",\"type\":\"value\"}]},{\"name\":\"PLOTS=\",\"optional\":true,\"description\":\"Controls the plots produced with ODS Graphics. When you specify only one plot-request, you can omit the parentheses around it. The following global-plot-option is supported:\",\"help\":\"PLOTS=ALL | AO | MAXSHOCK | NONE | RESIDUAL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ALL\",\"description\":\"Produces all plots appropriate for the particular analysis.\",\"type\":\"standalone\"},{\"name\":\"AO\",\"description\":\"Syntax: AO< (prediction-error-plot-options)> Produces the prediction error plots—one for each response variable. You can specify the following prediction-error-plot-options: NORMAL produces a summary panel of the prediction error diagnostics, which consist of the following: o histogram of prediction errors o normal quantile plot of prediction errors STD produces a scatter plot of standardized prediction errors against time.\",\"type\":\"standalone\"},{\"name\":\"MAXSHOCK\",\"description\":\"Produces a scatter plot of maximal state shock statistics against time.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"Suppresses all plots.\",\"type\":\"standalone\"},{\"name\":\"RESIDUAL\",\"description\":\"Syntax: RESIDUAL <(residual-plot-options)> Produces the residuals plots—one for each response variable. You can specify the following residual-plot-options: NORMAL produces a summary panel of the residual diagnostics, which consist of the following: o histogram of residuals o normal quantile plot of residuals STD produces a scatter plot of standardized residuals against time.\",\"type\":\"standalone\"}]},{\"name\":\"PRINTALL\",\"optional\":true,\"description\":\"Turns on all the printing options for the procedure. All subsequent NOPRINT options in the procedure are ignored.\",\"type\":\"standalone\"},{\"name\":\"STATEINFO\",\"optional\":true,\"description\":\"Prints two tables that provide information about the composition of the state vector in terms of the components specified in the model. One table describes the composition of state αt, and the other table describes the diffuse vector δ and the regressors, which are part of the initial condition specification α1.\",\"type\":\"standalone\"},{\"name\":\"ZSPARSE\",\"optional\":true,\"description\":\"Enables the exploitation of the sparsity of the Ζt matrices in the observation equation during the modeling calculations (see the section State Space Model and Notation for further information). The use of this option can improve the computational efficiency of models that have a large state dimension and sparse Ζt matrices—that is, many of their elements are zero. You should use the ZSPARSE option only when the state dimension is sufficiently large (at least 30) and a good percentage (at least 50%) of Ζt entries are zero; otherwise, the computational efficiency can in fact degrade. Example:\",\"type\":\"standalone\"}]},{\"name\":\"ABORT\",\"description\":\"Stops executing the current DATA step, SAS job, or SAS session.\",\"help\":\"ABORT &lt;ABEND&gt;&lt;CANCEL&gt;&lt;CANCEL FILE&gt; ...\",\"arguments\":[{\"name\":\"ABEND\",\"optional\":true,\"description\":\"Causes abnormal termination of the current SAS job or session. Results depend on the method of operation: o batch mode and noninteractive mode o stops processing immediately o sends an error message to the SAS log that states that execution was terminated by the ABEND option of the ABORT macro statement o does not execute any subsequent statements or check syntax o returns control to the operating environment; further action is based on how your operating environment and your site treat jobs that end abnormally. o windowing environment and interactive line mode\",\"type\":\"standalone\"},{\"name\":\"CANCEL\",\"optional\":true,\"description\":\"Causes the cancellation of the current submitted statements. The results depend on the method of operation: o batch mode and noninteractive mode o The entire SAS program and SAS system are terminated. o The error message is written to the SAS log. o windowing environment and interactive line mode o It only clears the current submitted program. o Other subsequent submitted programs are not affected. o The error message is written to the SAS log. o workspace server and stored process server o It only clears currently submitted program. o Other subsequent submit calls are not affected. o The error message is written to the SAS log. o SAS IntrNet application server\",\"type\":\"standalone\"},{\"name\":\"CANCEL FILE\",\"optional\":true,\"description\":\"Causes only the contents of the autoexec file or %INCLUDE file to be cleared by the %ABORT statement. Other submitted source statements will be executed after the autoexec or %INCLUDE file.\",\"type\":\"standalone\"},{\"name\":\"NOLIST\",\"optional\":true,\"description\":\"suppresses the output of all variables to the SAS log.\",\"type\":\"standalone\"},{\"name\":\"RETURN\",\"optional\":true,\"description\":\"Causes abnormal termination of the current SAS job or session. Results depend on the method of operation: o batch mode and noninteractive mode o stops processing immediately o sends an error message to the SAS log that states that execution was terminated by the RETURN option in the ABORT macro statement o does not execute any subsequent statements or check syntax o returns control to the operating environment with a condition code indicating an error. o windowing environment and interactive line mode\",\"type\":\"standalone\"}]},{\"name\":\"ARRAY\",\"description\":\"An ARRAY specification is in a form as follows: name[dimension](variables) The ARRAY statement is used to associate a name with a list of variables. Each of the variables in the variable list must be defined using a VAR statement. The ARRAY statement is required when you are specifying a constraint by FOREACH statement.\",\"help\":\"ARRAY specification &lt;...&gt; \"},{\"name\":\"BY\",\"description\":\"A BY statement can be used in the SSM procedure to process a data set in groups of observations that are defined by the BY variables. The model specified by using the MODEL and other statements is applied to all the groups defined by the BY variables. When a BY statement appears, the procedure expects the input data set to be sorted in order of the BY variables. The BY variables are one or more variables in the input data set. The BY variables cannot be used in the model specification; in particular, they cannot be used as response variables or regressors in a MODEL statement.\",\"help\":\"BY variables\"},{\"name\":\"CALL\",\"description\":\"Invokes a SAS CALL routine.\",\"help\":\"CALL routine(parameter-1&lt;, ...parameter-n&gt;)\"},{\"name\":\"COMPONENT\",\"description\":\"The COMPONENT statement specifies a component (a linear combination of state elements), named name. You can use name later as a term in the right-hand side of the MODEL statement, which defines the observation equation. The estimate of name is output to the OUT= data set that is specified in the OUTPUT statement. In addition, you can print the component estimate by using the PRINT= option.\",\"help\":\"COMPONENT &lt;PRINT=&lt;FILTER | SMOOTH&gt;&gt;\",\"arguments\":[{\"name\":\"PRINT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests printing of the filtered or smoothed estimate of the specified component.\",\"help\":\"PRINT=FILTER | SMOOTH\",\"type\":\"choice\",\"arguments\":[{\"name\":\"FILTER\",\"followsDelimiter\":\"/\",\"description\":\"Requests printing of the filtered estimate of the specified component.\",\"type\":\"standalone\"},{\"name\":\"SMOOTH\",\"followsDelimiter\":\"/\",\"description\":\"Requests printing of the smoothed estimate of the specified component.\",\"type\":\"standalone\"}]}]},{\"name\":\"DELETE\",\"description\":\"Stops processing the current observation.\",\"help\":\"DELETE\"},{\"name\":\"DEPLAG\",\"description\":\"The DEPLAG statement defines a term, named name, that consists of a linear combination of lagged response variables. You can use name later as a right-hand-side term in the MODEL statement for the response variable, as specified in name(response-variable). For a multivariate model, a separate DEPLAG statement is needed for each MODEL statement that has a right-hand-side term that involves lagged response variables. The linear combination of lagged response variables is specified by using one or more lag-terms. Each lag-term specifies the lags that are associated with one of the response variables. A lag-term is specified in one of the following forms: lag-response-variable(LAGS=maximum-lag) lag-response-variable(LAGS=(integer1 integer2 …)) lag-response-variable(LAGS=maximum-lag COEFF=(number1 number2 …) | (variable1 variable2 …)) lag-response-variable(LAGS=(integer1 integer2 …) COEFF=(number1 number2 …) | (variable1 variable2 …))\",\"help\":\"DEPLAG name(response-variable) lag-term1 &lt;lag-term2 …&gt; \"},{\"name\":\"DO\",\"description\":\"\",\"help\":\"DO &lt;OVER&gt;&lt;&gt;&lt;&gt; ...\",\"arguments\":[{\"name\":\"BY\",\"optional\":true,\"description\":\"Precedes an increment integer (other than 0) or an expression that generates an integer to be added to the value of the index variable in each iteration of the DO loop.\",\"type\":\"standalone\"},{\"name\":\"OVER\",\"optional\":true,\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"TO\",\"optional\":true,\"description\":\"Separates the start and stop integers or expressions that control the number of times the portion of the DATA step between the iterative DO and END statements is processed.\",\"type\":\"standalone\"},{\"name\":\"UNTIL\",\"optional\":true,\"description\":\"...more SAS statements... END\",\"type\":\"standalone\"},{\"name\":\"WHILE\",\"optional\":true,\"description\":\"\",\"type\":\"standalone\"}]},{\"name\":\"ELSE\",\"description\":\"If the condition in a IF-THEN statement is false and an ELSE statement is present, then the ELSE action is carried out.\",\"help\":\"ELSE &lt;DO&gt;&lt;IF&gt;&lt;THEN&gt; ...\",\"arguments\":[{\"name\":\"AND\",\"optional\":true,\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"DO\",\"optional\":true,\"description\":\"Action statement in an IF-THEN-ELSE construct.\",\"type\":\"standalone\"},{\"name\":\"IF\",\"optional\":true,\"description\":\"Executes a SAS statement for observations that meet specific conditions.\",\"type\":\"standalone\"},{\"name\":\"NOT\",\"optional\":true,\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"OR\",\"optional\":true,\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"OUTPUT\",\"optional\":true,\"description\":\"Action statement in an IF-THEN-ELSE construct.\",\"type\":\"standalone\"},{\"name\":\"THEN\",\"optional\":true,\"description\":\"If the conditions that are specified in the IF clause are met, the IF-THEN statement executes a SAS statement for observations that are read from a SAS data set, for records in an external file, or for computed values.\",\"type\":\"standalone\"}]},{\"name\":\"END\",\"description\":\"Ends a DO group or SELECT group processing.\",\"help\":\"END\"},{\"name\":\"EVAL\",\"description\":\"The EVAL statement defines a linear combination, named name, of the terms used in the right-hand side of a MODEL statement. You can specify any variables (for example, predictor variables and names of components) in the expression of the EVAL statement; however, you cannot specify in this expression any observation disturbances that are specified by the IRREGULAR statement and any model terms that are specified by the DEPLAG statement. Suppose C1 and C2 are two components (defined by COMPONENT statements elsewhere in the program), T1 is a trend component, and X1 is a regression variable used in a model. The following are valid examples of the EVAL statement: eval e1 = c1 - c2; eval e2 = t1 + c1 + x1; eval e2 = t1 + 2*c1 - 1.5*x1;\",\"help\":\"EVAL &lt;PRINT=&lt;FILTER | SMOOTH&gt;&gt;\",\"arguments\":[{\"name\":\"PRINT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests printing of the filtered or smoothed estimate of the specified linear combination.\",\"help\":\"PRINT=FILTER | SMOOTH\",\"type\":\"choice\",\"arguments\":[{\"name\":\"FILTER\",\"followsDelimiter\":\"/\",\"description\":\"Requests printing of the filtered estimateof the specified linear combination.\",\"type\":\"standalone\"},{\"name\":\"SMOOTH\",\"followsDelimiter\":\"/\",\"description\":\"Requests printing of the smoothed estimate of the specified linear combination.\",\"type\":\"standalone\"}]}]},{\"name\":\"GOTO\",\"description\":\"Jumps to a new statement.\",\"help\":\"GOTO label\"},{\"name\":\"ID\",\"description\":\"The ID statement names a numeric variable to associate a sequence value—usually related to a time stamp—to the observations in the input data set. The observations within a BY group must be ordered in ascending order by the ID variable. Often the ID variable’s values are SAS date, time, or datetime values, and each observation within a BY group has a unique ID value. Generally, however, the ID variable can be any numeric variable, and there can be multiple observations with the same ID value. If the ID values are SAS date, time, or datetime values, you can specify the associated unit of time—for example, day, week or month—by using the INTERVAL= option. If an ID statement is not specified, the observation number, with respect to the BY group, is used as the time ID. Whenever an ID variable is specified, a variable, _ID_DELTA_, is automatically created that can be used as any input data set variable in the programming statements. _ID_DELTA_ contains the distance between two successive ID values. The first _ID_DELTA_ value is arbitrarily taken as one. If the INTERVAL= option is specified, the distance between the ID values is measured in terms of the number of intervals; therefore, for regularly spaced data, _ID_DELTA_ is identically equal to one.\",\"help\":\"ID &lt;INTERVAL=value&gt;\",\"arguments\":[{\"name\":\"INTERVAL=\",\"optional\":true,\"description\":\"Specifies the unit of time interval that is used for measuring the ID values. INTERVAL=value is used in conjunction with the ID variable to check that the input data are in the proper order.\",\"help\":\"INTERVAL=*value*\",\"type\":\"value\"}]},{\"name\":\"IF\",\"description\":\"\",\"help\":\"IF &lt;DO&gt;&lt;THEN&gt;&lt;WHEN&gt; ...\",\"arguments\":[{\"name\":\"AND\",\"optional\":true,\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"DO\",\"optional\":true,\"description\":\"Action statement in an IF-THEN construct.\",\"type\":\"standalone\"},{\"name\":\"GO\",\"optional\":true,\"aliases\":[\"GOTO\"],\"description\":\"Jumps to a new statement.\",\"help\":\"GO TO\",\"type\":\"standalone\"},{\"name\":\"NOT\",\"optional\":true,\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"OR\",\"optional\":true,\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"OUTPUT\",\"optional\":true,\"description\":\"Action statement in an IF-THEN construct.\",\"type\":\"standalone\"},{\"name\":\"PUT\",\"optional\":true,\"description\":\"Action statement in an IF-THEN construct.\",\"type\":\"standalone\"},{\"name\":\"SET\",\"optional\":true,\"description\":\"Reads an observation from one or more SAS data sets.\",\"type\":\"standalone\"},{\"name\":\"STOP\",\"optional\":true,\"description\":\"Action statement in an IF-THEN construct. Stops execution of the current DATA step.\",\"type\":\"standalone\"},{\"name\":\"THEN\",\"optional\":true,\"description\":\"If the conditions that are specified in the IF clause are met, the IF-THEN statement executes a SAS statement for observations that are read from a SAS data set, for records in an external file, or for computed values.\",\"type\":\"standalone\"},{\"name\":\"WHEN\",\"optional\":true,\"description\":\"WHEN statement in an IF-THEN-WHEN construct.\",\"type\":\"standalone\"}]},{\"name\":\"IRREGULAR\",\"description\":\"The IRREGULAR statement specifies a one-dimensional white noise component, which can be used to specify the observation error in a MODEL statement.\",\"help\":\"IRREGULAR &lt;PRINT=SMOOTH&gt;&lt;VARIANCE=variable | number&gt;\",\"arguments\":[{\"name\":\"PRINT=\",\"optional\":true,\"description\":\"Requests printing of the smoothed estimate of the specified irregular component.\",\"help\":\"PRINT=*SMOOTH*\",\"type\":\"value\"},{\"name\":\"VARIANCE=\",\"optional\":true,\"description\":\"Specifies the variance of the white noise. Any nonnegative value, including 0, is permissible. If the variable contains unknown parameters, they are estimated from the data. Similarly, if the VARIANCE= option is not specified, the variance is estimated from the data.\",\"type\":\"value\"}]},{\"name\":\"LINK\",\"description\":\"Directs program execution immediately to the statement label that is specified and, if followed by a RETURN statement, returns execution to the statement that follows the LINK statement.\",\"help\":\"LINK statement-label\"},{\"name\":\"MODEL\",\"description\":\"A MODEL statement specifies an observation equation that describes a response variable as a sum of regression effects and components that are defined in the program. The response variable must be a numeric variable from the input data set. The variables used in the right-hand side of the model expression can be numeric variables from the input data set, numeric variables defined by using programming statements, or names of components that are specified in the COMPONENT, DEPLAG, TREND, or IRREGULAR statements. For a multivariate model, a separate MODEL statement is needed for each of the response variables. In this case, the observation errors, which are specified in an IRREGULAR statement, must be different in each MODEL statement.\",\"help\":\"MODEL &lt;PRINT=&lt;FILTER | SMOOTH&gt;&gt;\",\"arguments\":[{\"name\":\"PRINT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests printing of the filtered or smoothed estimate of the specified response variable. The filtered estimate is produced during the filtering phase, and the smoothed estimate is produced by the smoothing phase of the Kalman filter and smoother algorithm. The filtered estimate is also called the one-step-ahead forecast of the response variable. The smoothed estimate corresponds to the full-sample prediction of the response variable. Since the full-sample prediction of a nonmissing response value is that value itself, full-sample predictions are printed only for the missing response values.\",\"help\":\"PRINT=FILTER | SMOOTH\",\"type\":\"choice\",\"arguments\":[{\"name\":\"FILTER\",\"followsDelimiter\":\"/\",\"description\":\"Requests printing of the filtered estimateof the specified linear combination.\",\"type\":\"standalone\"},{\"name\":\"SMOOTH\",\"followsDelimiter\":\"/\",\"description\":\"Requests printing of the smoothed estimate of the specified linear combination.\",\"type\":\"standalone\"}]}]},{\"name\":\"OTHERWISE\",\"description\":\">\",\"help\":\"\"},{\"name\":\"OUTPUT\",\"description\":\"The OUTPUT statement creates an optional output data set and also provides options to control certain aspects of the procedure output. If the OUT= option is specified, then an output data set is created to store estimates of the model components and series forecasts. If the OUT= option is omitted, then no data set is created by the OUTPUT statement. Other options in the OUTPUT statement produce additional information in the printed output generated by the procedure. For example, the AO and BREAK options control the search for additive outliers and structural breaks in the data, respectively.\",\"help\":\"OUTPUT &lt;ALPHA=number&gt;&lt;AO(&lt;ALPHA=number&gt; &lt;MAXNUM=number&gt; &lt;MAXPCT=number&gt;)&gt;&lt;BREAK(&lt;ALPHA=number&gt; &lt;MAXNUM=number&gt; &lt;MAXPCT=number&gt;)&gt; ...\",\"arguments\":[{\"name\":\"ALPHA=\",\"optional\":true,\"description\":\"Specifies the significance level of the forecast confidence intervals. For example, ALPHA=0.05, which is the default, results in a 95% confidence interval.\",\"help\":\"ALPHA=*number*\",\"type\":\"value\"},{\"name\":\"AO=\",\"optional\":true,\"description\":\"Controls the additive outlier search (see the section Delete-One Cross Validation and the Additive Outlier Detection for more information). The ALPHA= suboption specifies the significance level for reporting the outliers. The default is ALPHA=0.05. The MAXNUM= suboption limits the number of outliers to search. The default is MAXNUM=5. The MAXPCT= suboption is similar to the MAXNUM= suboption. In the MAXPCT= option you can limit the number of outliers to search for according to a percentage of the series length. The default is MAXPCT=1. When you specify both of these options, the lesser of the two search numbers is used.\",\"help\":\"AO=MAXNUM= | MAXPCT=\",\"type\":\"choice\",\"arguments\":[{\"name\":\"MAXNUM=\",\"type\":\"value\"},{\"name\":\"MAXPCT=\",\"type\":\"value\"}]},{\"name\":\"BREAK=\",\"optional\":true,\"description\":\"Controls the structural break search (for more information, see the section Structural Breaks in the State Evolution). In order for this option to have any effect, the CHECKBREAK option in one of the STATE or TREND statements, or the MAXSHOCK option in the OUTPUT statement, must be turned on. The ALPHA= suboption specifies the significance level for reporting the breaks. The default is ALPHA=0.05. The MAXNUM= suboption limits the number of breaks to search. The default is MAXNUM=5. The MAXPCT= suboption is similar to the MAXNUM= suboption. In the MAXPCT= option, you can limit the number of breaks to search for according to a percentage of the number of distinct time points in the data. The default is MAXPCT=1. When you specify both of these options, the lesser of the two search numbers is used.\",\"help\":\"BREAK=MAXNUM= | MAXPCT=\",\"type\":\"choice\",\"arguments\":[{\"name\":\"MAXNUM=\",\"type\":\"value\"},{\"name\":\"MAXPCT=\",\"type\":\"value\"}]},{\"name\":\"MAXSHOCK\",\"optional\":true,\"description\":\"Causes the computation of the maximal state shock chi-square statistic at each distinct time point in the input data set. These statistics are output to the data set that is specified in the OUT= option. A time series plot of these statistics is produced if the PLOTS=MAXSHOCK option is specified in the PROC SSM statement. These statistics are useful for detecting structural breaks in the state evolution process. This option can be computationally expensive for a model with large state size.\",\"type\":\"standalone\"},{\"name\":\"OUT=\",\"optional\":true,\"description\":\"Specifies an output data set for the forecasts. The output data set contains the ID variable (if specified), the response variables, the one-step-ahead and out-of-sample response variable forecasts, the forecast confidence intervals, the smoothed values of the response series, and the one-step-ahead and smoothed estimates of the model components—including expressions that are defined by using the EVAL statement.\",\"help\":\"OUT=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"PDV\",\"optional\":true,\"description\":\"Causes the inclusion of the variables (variables in the program data vector) that are defined by using the programming statements in the SSM procedure in the OUT= data set. The parameters defined by the PARMS statement are also included. The output data set contains the values of these variables evaluated for all the rows in the input data set that is specified in the DATA= option. The parameters in the PARMS statement contain their estimated values.\",\"type\":\"standalone\"},{\"name\":\"PRESS\",\"optional\":true,\"description\":\"Prints the prediction error sum of squares (PRESS) and the generalized cross validation error sum of squares (GCV). The PRESS table also reports the number of summands that are used in these sums of squares.\",\"type\":\"standalone\"}]},{\"name\":\"PARMS\",\"description\":\"The PARMS statement declares the parameters of a model and optionally sets their initial values. You can also specify the lower and upper limits of their validity range. The parameters declared by using the PARMS statement are called named parameters throughout this chapter. A model can have additional parameters: any unspecified quantity in the model specification becomes part of the parameter vector.\",\"help\":\"PARMS &lt;LOWER=(number1 number2 …) | LOWER=(number)&gt;&lt;UPPER=(number1 number2 …) | UPPER=(number)&gt;\",\"arguments\":[{\"name\":\"LOWER=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the lower bounds for the specified parameters. The list can contain exactly one number, which is taken to be the lower bound for all the listed parameters in the statement, or it must contain as many values as the number of parameters specified. A missing value, denoted by ., is a permissible value, which signifies that the parameter has no lower bound.\",\"type\":\"value\"},{\"name\":\"UPPER=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the upper bounds for the specified parameters. The list can contain exactly one number, which is taken to be the upper bound for all the listed parameters in the statement, or it must contain as many values as the number of parameters specified. A missing value, denoted by ., is a permissible value, which signifies that the parameter has no upper bound.\",\"type\":\"value\"}]},{\"name\":\"PUT\",\"description\":\"The PUT statement writes text data to the current output file.\",\"help\":\"PUT &lt;_PAGE_&gt;\",\"arguments\":[{\"name\":\"_PAGE_\",\"optional\":true,\"description\":\"Outputs any pending line data and moves to the top of the next page.\",\"type\":\"standalone\"}]},{\"name\":\"RETURN\",\"description\":\"Stops executing statements at the current point in the DATA step and returns to a predetermined point in the step.\",\"help\":\"RETURN\"},{\"name\":\"SELECT\",\"description\":\"\",\"help\":\"\"},{\"name\":\"STATE\",\"description\":\"The STATE statement specifies a subsection of αt, the overall state vector at time t. It is assumed that the subsections that are specified by using different STATE statements are mutually independent.\",\"help\":\"STATE &lt;A1(nd)&gt;&lt;CHECKBREAK&lt;( ELEMENTWISE | OVERALL)&gt;&gt;&lt;COV( D ) &lt;= (var1 var2 …) | (number1 number2 …)&gt;COV( G ) &lt;= (var1 var2 …) | (number1 number2 …)&gt;COV( I ) &lt;= (variable) | (number)&gt;COV( RANK=integer )&gt; ...\",\"arguments\":[{\"name\":\"A1\",\"optional\":true,\"description\":\"Specifies that the last nd elements of the state subsection be treated as diffuse. This becomes the dimension of the relevant subsection of the diffuse vector δ.\",\"type\":\"standalone\"},{\"name\":\"CHECKBREAK=\",\"optional\":true,\"description\":\"Turns on the checking of breaks for this state subsection. The ELEMENTWISE suboption requests the elementwise checking of any unexpected change in the state subsection as it evolves from one time point to the next. The OVERALL suboption requests a similar check for the entire state subsection—that is, in this case the change is measured as a multidimensional change. The ELEMENTWISE suboption is the default. Unless the PRINT=BREAKDETAIL option is specified, only a summary of the most significant breaks is produced. If the PRINT=BREAKDETAIL is specified, tables that contain the break significance statistics at every distinct time point are produced—one for the ELEMENTWISE suboption and one for the OVERALL suboption.\",\"help\":\"CHECKBREAK=ELEMENTWISE | OVERALL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ELEMENTWISE\",\"type\":\"standalone\"},{\"name\":\"OVERALL\",\"type\":\"standalone\"}]},{\"name\":\"COV=\",\"optional\":true,\"description\":\"Specifies the relevant block of the disturbance covariance Qt (for t >= 2) in the transition equation. As with the T option, the absence of this option signifies that this Q-block consists of only zeros. The structure of the Q-block is also similarly specified. However, the following differences exist: o The list that is specified to form the covariance must result in a symmetric, positive semidefinite matrix. o You can specify a rank constraint on the Q-block by specifying COV(RANK=integer), where the specified integer must lie between 1 and dim. A rank constraint is permissible only for the general form and only when its elements are not specified by using a list.\",\"help\":\"COV=RANK=\",\"type\":\"choice\",\"arguments\":[{\"name\":\"RANK=\",\"type\":\"value\"}]},{\"name\":\"COV1=\",\"optional\":true,\"description\":\"Specifies the relevant block of the initial state covariance Q1. The different options in this case have the same meaning as the options of the COV option. However, the following differences exist: o If the elements of Q1 are specified by a list of variables in parentheses, then these variables must evaluate to constant values. In particular, they can depend on parameters that are specified by the PARMS statements; however, they cannot depend on any of the input data columns.\",\"help\":\"COV1=RANK=\",\"type\":\"choice\",\"arguments\":[{\"name\":\"RANK=\",\"type\":\"value\"}]},{\"name\":\"PRINT=\",\"optional\":true,\"description\":\"Requests printing of the respective system matrices and the printing of the break statistics at each distinct time point. You can specify PRINT=AR or PRINT=MA only if you specify the TYPE=VARMA option. If any of these matrices are time-varying, the matrix that corresponds to the first time instance is printed. For the BREAKDETAIL suboption to have any effect, the CHECKBREAK option must be turned on. If TYPE= option is used, the result of PRINT=COV can be different than the matrix supplied in the COV= option.\",\"help\":\"PRINT=AR | BREAKDETAIL | COV | COV1 | MA | T\",\"type\":\"choice\",\"arguments\":[{\"name\":\"AR\",\"description\":\"Specify this option only if you specify the TYPE=VARMA option.\",\"type\":\"standalone\"},{\"name\":\"BREAKDETAIL\",\"description\":\"For this option to take effect, the CHECKBREAK option must be turned on.\",\"type\":\"standalone\"},{\"name\":\"COV\",\"description\":\"If TYPE= option is used, the result of PRINT=COV can be different than the matrix supplied in the COV= option.\",\"type\":\"standalone\"},{\"name\":\"COV1\",\"description\":\"If TYPE= option is used, the result of PRINT=COV can be different than the matrix supplied in the COV= option.\",\"type\":\"standalone\"},{\"name\":\"MA\",\"description\":\"Specify this option only if you specify the TYPE=VARMA option.\",\"type\":\"standalone\"},{\"name\":\"T\",\"description\":\"Requests printing of the break statistics at each distinct time point.\",\"type\":\"standalone\"}]},{\"name\":\"SINPUT=\",\"optional\":true,\"description\":\"Specifies the relevant dim-dimensional block of the state input vector Ct. The absence of this option signifies that this block of the Ct vector consists of only zeros. If the elements of Ct are specified by a list of variables in parentheses, then these variables must be independent of unknown parameters. In particular, they cannot be functions of parameters that are defined by the PARMS statements.\",\"type\":\"value\"},{\"name\":\"T\",\"optional\":true,\"description\":\"Specifies the relevant block of the transition matrix Tt. The absence of this option signifies that this block consists of only zeros. You can specify the structure of the T-block by specifying T(I) for the identity form, T(D) for the diagonal form, and T(G) for a general unstructured form. In addition, you can explicitly specify the entries of the T-block by specifying a list of numbers in parentheses, or by specifying in parentheses a list of variables that are defined by using the programming statements. The unspecified elements of the T-block are included in the list of parameters to be estimated from the data. If the elements of the T-block are supplied by a list in parentheses, the number of elements in the list depends on its structure.\",\"type\":\"standalone\"},{\"name\":\"TYPE=\",\"optional\":true,\"description\":\"Syntax: TYPE=WN TYPE=RW TYPE=LL <(SLOPECOV(I | D | G) <= (var1, var2, …) | (number1, number2, …)> )> TYPE=LL (SLOPECOV( RANK=integer) ) TYPE=SEASON (LENGTH=integer <DROPH=number-list> <KEEPH=number-list> ) TYPE=CYCLE <( <CT> <RHO=variable | number> <PERIOD=variable | number> )> TYPE=VARMA ( <p <(I | D)> =integer> <q<(D)>=integer> )\",\"help\":\"TYPE=RW | LL | SEASON | CYCLE | VARMA*WN*\",\"type\":\"value\",\"arguments\":[{\"name\":\"RW\",\"description\":\"dim-variate random walk\",\"type\":\"standalone\"},{\"name\":\"LL\",\"description\":\"Syntax: TYPE=LL <(SLOPECOV(I | D | G) <= (var1, var2, …) | (number1, number2, …)> )> Syntax: LL (SLOPECOV( RANK=integer) ) dim-variate local linear\",\"type\":\"standalone\"},{\"name\":\"SEASON\",\"description\":\"Syntax: SEASON (LENGTH=integer <DROPH=number-list> <KEEPH=number-list> ) dim-variate season\",\"type\":\"standalone\"},{\"name\":\"CYCLE\",\"description\":\"Syntax: CYCLE <( <CT> <RHO=variable | number> <PERIOD=variable | number> )> dim-variate cycle\",\"type\":\"standalone\"},{\"name\":\"VARMA\",\"description\":\"Syntax: VARMA ( <p <(I | D)> =integer> <q<(D)> =integer> ) dim-variate VARMA\",\"type\":\"standalone\"}]},{\"name\":\"W\",\"optional\":true,\"description\":\"Syntax: W(D)= (var1 var2 …) | (number1 number2 …) W(G)= (var1 var2 …) | (number1 number2 …) W(I) <= (variable) | (number) >\",\"type\":\"standalone\"}]},{\"name\":\"STOP\",\"description\":\"The STOP statement halts the execution of all statements that contain it, including DO statements and other control or looping statements. Execution continues with the next top-level source statement.\",\"help\":\"STOP \"},{\"name\":\"TREND\",\"description\":\"The TREND statement defines a term in the model that follows a stochastic pattern of a certain predefined type. The options in the TREND statement enable you to specify a wide variety of commonly used stochastic patterns. Each TREND statement in effect stands for a special pair of STATE and COMPONENT statements. You can specify more than one TREND statement. Each separate TREND statement defines a component that is assumed to be independent of all other component specifications in the model. Very often the TREND statement is used to specify a component that captures the time-varying level of the data. However, in many cases it is also used to define components of a more general nature; for example, it can be used to define a noise component that follows a stationary ARMA model.\",\"help\":\"TREND &lt;AR= φ1 φ2 …φp&gt;&lt;CHECKBREAK&lt;( ELEMENTWISE | OVERALL)&gt;&gt;&lt;CROSS=(var1, var2, …) | CROSS(MATCHPARM)=(var1, var2, …)&gt; ...\",\"arguments\":[{\"name\":\"AR=\",\"optional\":true,\"description\":\"Lists the values of the coefficients of the nonseasonal autoregressive polynomial.\",\"type\":\"value\"},{\"name\":\"CHECKBREAK=\",\"optional\":true,\"description\":\"Turns on the checking of breaks for this trend component. The ELEMENTWISE suboption requests the elementwise checking of any unexpected change in the state subsection that is associated with the trend component. The OVERALL suboption requests a similar check for the entire state subsection—that is, in this case the change is measured as a multidimensional change. The ELEMENTWISE suboption is the default. Unless the PRINT=BREAKDETAIL option is specified, only a summary of the most significant breaks is produced. If the PRINT=BREAKDETAIL is specified, tables that contain the break significance statistics at every distinct time point are produced—one for the ELEMENTWISE suboption and one for the OVERALL suboption. If the CROSS= option is specified and the CROSS= list contains more than one variable, the OVERALL suboption considers subsections that are associated with each CROSS= variable separately.\",\"help\":\"CHECKBREAK=ELEMENTWISE | OVERALL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ELEMENTWISE\",\"type\":\"standalone\"},{\"name\":\"OVERALL\",\"type\":\"standalone\"}]},{\"name\":\"CROSS=\",\"optional\":true,\"description\":\"Creates a linear combination of one or more independent trend components that is based on the variables in the list. If the parameters of the trend are specified by options such as the LEVELVAR= option or the PHI= option, these parameters are shared by these constituent trends.\",\"help\":\"CROSS=MATCHPARM\",\"type\":\"choice\",\"arguments\":[{\"name\":\"MATCHPARM\",\"type\":\"standalone\"}]},{\"name\":\"LEVELVAR=\",\"optional\":true,\"description\":\"Specifies the disturbance variance parameter for all the trend types.\",\"type\":\"value\"},{\"name\":\"NODIFFUSE\",\"optional\":true,\"description\":\"Causes the diffuse elements in the initial state of the state subsection underlying the trend component to be treated as nondiffuse. This option is applicable to all trend types except ARIMA. For the ARIMA trend type, this option is ignored even if the nonseasonal or seasonal differencing orders are nonzero. The diffuse elements are assumed to be independent, zero-mean, Gaussian variables. Their variances become part of the parameter vector and are estimated by using the data. This option is useful for creating a trend component that can be interpreted as a deviation from an overall trend component (with diffuse initialization), which is defined separately.\",\"type\":\"standalone\"},{\"name\":\"PHI=\",\"optional\":true,\"description\":\"Specifies the value of φ for trend types DLL, DECAY, DECAY(OU), GROWTH, and GROWTH(OU). For the type DLL, the specified value must be between 0.0 and 1.0. For types DECAY and DECAY(OU), φ must be strictly negative. For types GROWTH and GROWTH(OU), φ must be strictly positive. If variable contains unknown parameters, they are estimated from the data. Similarly, if the PHI= option is not specified, φ is estimated from the data.\",\"type\":\"value\"},{\"name\":\"PRINT=\",\"optional\":true,\"description\":\"Requests printing of the respective system matrices of the state equation that underlies the specified trend, the printing of its filtered and smoothed estimates, and the printing of the break statistics at each distinct time point. For the BREAKDETAIL suboption to have any effect, the CHECKBREAK option must be turned on. If any of these matrices are time-varying, the matrix that corresponds to the first time instance is printed.\",\"help\":\"PRINT=BREAKDETAIL | COV | COV1 | FILTER | SMOOTH | T\",\"type\":\"choice\",\"arguments\":[{\"name\":\"BREAKDETAIL\",\"description\":\"For this option to take effect, the CHECKBREAK option must be turned on.\",\"type\":\"standalone\"},{\"name\":\"COV\",\"description\":\"If TYPE= option is used, the result of PRINT=COV can be different than the matrix supplied in the COV= option.\",\"type\":\"standalone\"},{\"name\":\"COV1\",\"description\":\"If TYPE= option is used, the result of PRINT=COV1 can be different than the matrix supplied in the COV1= option.\",\"type\":\"standalone\"},{\"name\":\"FILTER\",\"description\":\"Requests printing of the filtered estimate of the respective system matrices of the state equation that underlies the specified trend.\",\"type\":\"standalone\"},{\"name\":\"SMOOTH\",\"description\":\"Requests printing of the smoothed estimate of the respective system matrices of the state equation that underlies the specified trend.\",\"type\":\"standalone\"},{\"name\":\"T\",\"description\":\"Requests printing of the the printing of the break statistics at each distinct time point.\",\"type\":\"standalone\"}]},{\"name\":\"SAR=\",\"optional\":true,\"description\":\"Lists the values of the coefficients of the seasonal autoregressive polynomial.\",\"type\":\"value\"},{\"name\":\"SLOPEVAR=\",\"optional\":true,\"description\":\"Specifies the second disturbance variance parameter for trend types LL and DLL. Any nonnegative value, including 0, is permissible. If variable contains unknown parameters, they are estimated from the data.\",\"type\":\"value\"},{\"name\":\"SMA=\",\"optional\":true,\"description\":\"Lists the values of the coefficients of the seasonal moving average polynomial.\",\"type\":\"value\"}]},{\"name\":\"WHEN\",\"description\":\"\",\"help\":\"WHEN &lt;DO&gt;\",\"arguments\":[{\"name\":\"DO\",\"optional\":true,\"description\":\"\",\"type\":\"standalone\"}]}],\"supportSiteInformation\":{\"docsetId\":\"etsug\",\"docsetVersion\":\"latest\",\"docsetTargetFile\":\"etsug_ssm_toc.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/STANDARD.json",
    "content": "{\"name\":\"STANDARD\",\"statements\":[{\"name\":\"PROC STANDARD\",\"description\":\"Standardizes variables in a SAS data set to a given mean and standard deviation, and it creates a new SAS data set containing the standardized values.\",\"help\":\"PROC STANDARD <options>;                   \\n\\tATTRIB   variable-list(s) attribute-list(s);\\n\\n\\tBY <DESCENDING>variable-1\\n\\t\\t<… <DESCENDING> variable-n>\\n\\t\\t<NOTSORTED>;\\n\\n\\tFREQ variable;\\n\\n\\tFORMAT variable-1< ...variable-n><format><DEFAULT=default-format>;\\n\\n\\tLABEL variable-1=label-1< ...variable-n=label-n>;\\n\\n\\tVAR variable(s);\\n\\n\\tWEIGHT variable;\\n\\n\\tWHERE where-expression-1\\n\\t\\t<logical-operator where-expression-n>;             \\n\",\"arguments\":[{\"name\":\"DATA=\",\"optional\":true,\"description\":\"specifies the input data set.\",\"help\":\"DATA=*SAS-data-set*\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"p1blzd1ed1bichn1ebg3doxvpqb4\"},{\"name\":\"EXCLNPWGT\",\"optional\":true,\"aliases\":[\"EXCLNPWGTS\"],\"description\":\"excludes observations with nonpositive weights.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p17f9z9qi8azo1n120uyk9z4mz8z\"},{\"name\":\"MEAN=\",\"optional\":true,\"aliases\":[\"M=\"],\"description\":\"specifies the mean value.\",\"help\":\"MEAN=*mean-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0b14vda8uglsqn1h8d492cendn1\"},{\"name\":\"NOPRINT\",\"optional\":true,\"description\":\"suppresses all printed output.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n11vnr0rxikg41n1s9h47m7ld1nx\"},{\"name\":\"OUT=\",\"optional\":true,\"description\":\"specifies the output data set.\",\"help\":\"OUT=*SAS-data-set*\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"p0hahcq7dxcz9nn1x0ma2h3uznwt\"},{\"name\":\"PRESERVERAWBYVALUES\",\"optional\":true,\"description\":\"preserves raw by values.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1xvbxu6979e3jn1gpvyi3nxkllb\"},{\"name\":\"PRINT\",\"optional\":true,\"description\":\"prints statistics for each variable to standardize.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1te8pc6tlxviyn1e6w4938ea3bx\"},{\"name\":\"REPLACE\",\"optional\":true,\"description\":\"replace missing values with a variable mean or MEAN= value.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0f9uppvibc3oon1qanwf21fxcnt\"},{\"name\":\"STD=\",\"optional\":true,\"aliases\":[\"S=\"],\"description\":\"specifies the standard deviation value.\",\"help\":\"STD=*std-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1kd757op8i7adn1p4xfb5nwenra\"},{\"name\":\"VARDEF=\",\"optional\":true,\"description\":\"specifies the divisor for variance calculations and standard deviation. The following are choices are possible values for divisor and the associated divisors.\",\"help\":\"VARDEF=*divisor* \",\"type\":\"value\",\"arguments\":[{\"name\":\"DF\",\"description\":\"degrees of freedom. The formula for divisor is n − 1.\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DF\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"n1j5cunz4y6tkpn14c22nhoe6iza\"},{\"name\":\"N\",\"description\":\"number of observations. The formula for divisor is n.\",\"type\":\"choice\",\"arguments\":[{\"name\":\"N\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"p1qcpi5qfadbg8n1994mzvd55est\"},{\"name\":\"WDF\",\"description\":\"sum of weights minus one. The formula for divisor is (Σi wi) − 1.\",\"type\":\"choice\",\"arguments\":[{\"name\":\"WDF\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"n17ktkktpq4zdon1ae88pyqck3uo\"},{\"name\":\"WEIGHT\",\"aliases\":[\"WGT\"],\"description\":\"sum of weights. The formula for divisor is Σi wi.\",\"type\":\"choice\",\"arguments\":[{\"name\":\"WEIGHT\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"p0wniwje2066obn1wyh6x5j91y1m\"}],\"supportSiteTargetFragment\":\"p0fghvm6x6zrj3n1astttzuanwy3\"}],\"supportSiteTargetFile\":\"p08lchizi3ii8yn10lzjjegwwazv.htm\"},{\"name\":\"ATTRIB\",\"description\":\"Associates a format, informat, label, and length with one or more variables.\",\"help\":\"ATTRIB  *variable-list(s)**attribute-list(s)*;\",\"arguments\":[{\"name\":\"variable-list\",\"optional\":true,\"placeholder\":true,\"description\":\"names the variables that you want to associate with the attributes.\",\"help\":\"*variable-list(s)*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1nd0mq22iu6ovn14mz1ot1hwcjih\"},{\"name\":\"FORMAT=\",\"description\":\"associates a format with variables in variable-list.\",\"help\":\"FORMAT=*format*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p08pt9ce6bhq86n18a3zcc97bldzh\"},{\"name\":\"INFORMAT=\",\"description\":\"associates an informat with variables in variable-list.\",\"help\":\"INFORMAT=*informat*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n136glco6ritqdn160792yhk9mv1h\"},{\"name\":\"LABEL=\",\"description\":\"associates a label with variables in variable-list.\",\"help\":\"LABEL='*label*' \",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0a9x9io5pi05mn1i4p2cphc7t0nh\"}],\"supportSiteTargetFile\":\"n08gl432ap57nen1n029wdbj5s1f.htm\"},{\"name\":\"BY\",\"description\":\"Orders the output according to the BY groups.\",\"help\":\"BY <DESCENDING>variable-1\\n\\t<… <DESCENDING> variable-n>\\n\\t<NOTSORTED>;\",\"arguments\":[{\"name\":\"variable\",\"placeholder\":true,\"description\":\"specifies the variable that the procedure uses to form BY groups. You can specify more than one variable. If you do not use the NOTSORTED option in the BY statement, then either the observations in the data set must be sorted by all the variables that you specify, or they must be indexed appropriately. Variables in a BY statement are called BY variables.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0e9kbav2i9chhn1xectebpz4s14d\"},{\"name\":\"DESCENDING\",\"optional\":true,\"description\":\"specifies that the observations are sorted in descending order by the variable that immediately follows the word DESCENDING in the BY statement.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1au0lhf4hi1h2n1le3cx2tp74l5d\"},{\"name\":\"NOTSORTED\",\"optional\":true,\"description\":\"specifies that observations are not necessarily sorted in alphabetic or numeric order. The observations are grouped in another way (for example, chronological order).\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p068zvjhrpn2awn1bygis4m6hppad\"}],\"supportSiteTargetFile\":\"n13shq4na41y5wn14t67d8l6wgq8d.htm\"},{\"name\":\"FORMAT\",\"description\":\"Associates formats with variables.\",\"help\":\"FORMAT *variable-1*&lt; ...*variable-n*&gt;*format**variable-1*&lt; ...*variable-n*&gt;*format*;\",\"arguments\":[{\"name\":\"variable\",\"optional\":true,\"placeholder\":true,\"description\":\"names one or more variables for SAS to associate with a format. You must specify at least one variable.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1d0cionbspk2tn1ma0m6kjd1ntxh\"},{\"name\":\"format\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the format that is listed for writing the values of the variables.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n15nxwcex8m202n1dp4xwbds95t9h\"}],\"supportSiteTargetFile\":\"p02hzcxsifsk8dn1a53t49zqd82ch.htm\"},{\"name\":\"FREQ\",\"description\":\"Treats observations as if they appear multiple times in the input data set. You can use a WEIGHT statement and a FREQ statement in the same step of any procedure that supports both statements.\",\"help\":\"FREQ *variable*;\",\"arguments\":[{\"name\":\"variable\",\"placeholder\":true,\"description\":\"specifies a numeric variable whose value represents the frequency of the observation. If you use the FREQ statement, then the procedure assumes that each observation represents\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1gl408e2992fqn1pegfgkpbrcyp\"}],\"supportSiteTargetFile\":\"n0753qvbja9mgfn14vnlg4k54veq.htm\"},{\"name\":\"LABEL\",\"description\":\"Assigns descriptive labels to variables.\",\"help\":\"LABEL variable-1 = 'text-string' < ...variable-n = 'text-string'>;\\nLABEL variable-1 = ' ' < ...variable-n=’ ‘>; | variable-1 = < ...variable-n= >;\",\"arguments\":[{\"name\":\"text-string\",\"placeholder\":true,\"description\":\"specifies a label of up to 256 bytes.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n09u0k5ydxzgr3n1dfznhvex7uuoh\"},{\"name\":\"'\",\"placeholder\":true,\"description\":\"removes a label from a variable. Enclose a single blank space in quotation marks to remove an existing label. You can remove labels from multiple variables in a single LABEL statement:\",\"help\":\"*' '*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1dl99omzes92cn1typpf6yl1ng0h\"}],\"supportSiteTargetFile\":\"p1s0j2pii3oj7fn1f87s02j4zo52h.htm\"},{\"name\":\"VAR\",\"aliases\":[\"VARIABLE\",\"VARIABLES\"],\"description\":\"Specifies the variables to standardize and their order in the printed output.\",\"help\":\"VAR *variable(s)*;\",\"arguments\":[{\"name\":\"variable\",\"placeholder\":true,\"description\":\"identifies one or more variables to standardize.\",\"help\":\"*variable(s)*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0ts5z0av2mfqen1mnoc2e41d05k\"}],\"supportSiteTargetFile\":\"p1scgj4kn7p3s1n1vup8d75eb7nh.htm\"},{\"name\":\"WEIGHT\",\"aliases\":[\"WGT\"],\"description\":\"Specifies weights for analysis variables in the statistical calculations.\",\"help\":\"WEIGHT *variable*;\",\"arguments\":[{\"name\":\"variable\",\"placeholder\":true,\"description\":\"specifies a numeric variable whose values weight the values of the analysis variables. The values of the variable do not have to be integers. The table below shows what the action will be based on the weight value.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p13mda66mqntian1l82eokjoznbv\"}],\"supportSiteTargetFile\":\"p0do7kafwlwhnln1i2aaj5mts0sk.htm\"},{\"name\":\"WHERE\",\"description\":\"Subsets the input data set by specifying certain conditions that each observation must meet before it is available for processing.\",\"help\":\"WHERE where-expression-1\\n<logical-operator where-expression-n>; \",\"arguments\":[{\"name\":\"where-expression\",\"optional\":true,\"placeholder\":true,\"description\":\"is an arithmetic or logical expression that generally consists of a sequence of operands and operators.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p04iz9sx1znb6en1ptu9o3h9ns07h\"},{\"name\":\"logical-operator\",\"optional\":true,\"placeholder\":true,\"description\":\"can be AND, AND NOT, OR, or OR NOT.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0xd4nxmu81y3rn1lzcij1t759lnh\"}],\"supportSiteTargetFile\":\"n0yu3xyqnznndnn0z1v515xzfeboh.htm\"}],\"supportSiteInformation\":{\"docsetId\":\"proc\",\"docsetVersion\":\"v_002\",\"docsetTargetFile\":\"p1baz760758nn2n1arzklv8yrbhw.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/STATESPACE.json",
    "content": "{\"name\":\"STATESPACE\",\"statements\":[{\"name\":\"PROC STATESPACE\",\"description\":\"The STATESPACE procedure uses the state space model to analyze and forecast multivariate time series. The STATESPACE procedure is appropriate for jointly forecasting several related time series that have dynamic interactions. By taking into account the autocorrelations among all the variables in a set, the STATESPACE procedure can give better forecasts than methods that model each series separately. † By default, the STATESPACE procedure automatically selects a state space model appropriate for the time series, making the procedure a good tool for automatic forecasting of multivariate time series. Alternatively, you can specify the state space model by giving the form of the state vector and the state transition and innovation matrices.\",\"help\":\"PROC STATESPACE <ARMAX=n><BACK=n><CANCORR><COVB><DATA=SAS-data-set><DETTOL=value><DIMMAX=n><INTERVAL=interval><INTPER=n><ITPRINT><KLAG=n><LAGMAX=k><LEAD=n><MAXIT=n><MINIC><NOCENTER><NOEST><NOPRINT><OUT=SAS-data-set><OUTAR=SAS-data-set><OUTMODEL=SAS-data-set><PARMTOL=value><PASTMIN=n><PRINT><PRINTOUT=SHORT | LONG | NONE><RESIDEST><SIGCORR=value><SINGULAR=value>;     \\n\\tBY variable ... ;\\n\\n\\tFORM variable value ... ;\\n\\n\\tID variable ;\\n\\n\\tINITIAL <F(row,column)=value><G(row,column)=value> ;\\n\\n\\tRESTRICT <F (row,column)= value><G (row,column)= value> ;\\n\\n\\tVAR variable (difference, difference, ...) ... ;\\n\",\"arguments\":[{\"name\":\"ARMAX=\",\"optional\":true,\"description\":\"Specifies the maximum order of the preliminary autoregressive models. The ARMAX= option controls the autoregressive orders for which information criteria are printed, and controls the number of lags printed in the schematic representation of partial autocorrelations. The default is ARMAX=10.\",\"help\":\"ARMAX=*n*\",\"type\":\"value\"},{\"name\":\"BACK=\",\"optional\":true,\"description\":\"Starts forecasting n periods before the end of the input data. The BACK= option value must not be greater than the number of observations. The default is BACK=0.\",\"help\":\"BACK=*n*\",\"type\":\"value\"},{\"name\":\"CANCORR\",\"optional\":true,\"description\":\"Prints the canonical correlations and information criterion for each candidate state vector considered.\",\"type\":\"standalone\"},{\"name\":\"COVB\",\"optional\":true,\"description\":\"Prints the inverse of the observed information matrix for the parameter estimates. This matrix is an estimate of the covariance matrix for the parameter estimates.\",\"type\":\"standalone\"},{\"name\":\"DATA=\",\"optional\":true,\"description\":\"Specifies the name of the SAS data set to be used by the procedure. If the DATA= option is omitted, the most recently created SAS data set is used.\",\"help\":\"DATA=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"DETTOL=\",\"optional\":true,\"description\":\"Specifies the convergence criterion. The DETTOL= and PARMTOL= option values are used together to test for convergence of the estimation process. If, during an iteration, the relative change of the parameter estimates is less than the PARMTOL= value and the relative change of the determinant of the innovation variance matrix is less than the DETTOL= value, then iteration ceases and the current estimates are accepted. The default is DETTOL=1E–5.\",\"help\":\"DETTOL=*value*\",\"type\":\"value\"},{\"name\":\"DIMMAX=\",\"optional\":true,\"description\":\"Specifies the upper limit to the dimension of the state vector. The DIMMAX= option can be used to limit the size of the model selected. The default is DIMMAX=10.\",\"help\":\"DIMMAX=*n*\",\"type\":\"value\"},{\"name\":\"INTERVAL=\",\"optional\":true,\"description\":\"Specifies the time interval between observations. The INTERVAL= value is used in conjunction with the ID variable to check that the input data are in order and have no missing periods. The INTERVAL= option is also used to extrapolate the ID values past the end of the input data.\",\"help\":\"INTERVAL=*interval*\",\"type\":\"value\"},{\"name\":\"INTPER=\",\"optional\":true,\"description\":\"Specifies that each input observation corresponds to n time periods. For example, the options INTERVAL=MONTH and INTPER=2 specify bimonthly data and are equivalent to specifying INTERVAL=MONTH2. If the INTERVAL= option is not specified, the INTPER= option controls the increment used to generate ID values for the forecast observations. The default is INTPER=1.\",\"help\":\"INTPER=*n*\",\"type\":\"value\"},{\"name\":\"ITPRINT\",\"optional\":true,\"description\":\"Prints the iterations during the estimation process.\",\"type\":\"standalone\"},{\"name\":\"KLAG=\",\"optional\":true,\"description\":\"Sets an upper limit for the number of lags of the sample autocovariance matrix used in computing the approximate likelihood function. If the data have a strong moving average character, a larger KLAG= value might be necessary to obtain good estimates. The default is KLAG=15.\",\"help\":\"KLAG=*n*\",\"type\":\"value\"},{\"name\":\"LAGMAX=\",\"optional\":true,\"description\":\"Specifies the number of lags for which the sample autocovariance matrix is computed. The LAGMAX= option controls the number of lags printed in the schematic representation of the autocorrelations.\",\"help\":\"LAGMAX=*k*\",\"type\":\"value\"},{\"name\":\"LEAD=\",\"optional\":true,\"description\":\"Specifies how many forecast observations are produced. The forecasts start at the point set by the BACK= option. The default is LEAD=0, which produces no forecasts.\",\"help\":\"LEAD=*n*\",\"type\":\"value\"},{\"name\":\"MAXIT=\",\"optional\":true,\"description\":\"Sets an upper limit to the number of iterations in the maximum likelihood or conditional least squares estimation. The default is MAXIT=50.\",\"help\":\"MAXIT=*n*\",\"type\":\"value\"},{\"name\":\"MINIC\",\"optional\":true,\"description\":\"Writes to the OUTAR= data set only the preliminary Yule-Walker estimates for the VAR model that produces the minimum AIC.\",\"type\":\"standalone\"},{\"name\":\"NOCENTER\",\"optional\":true,\"description\":\"Prevents subtraction of the sample mean from the input series (after any specified differencing) before the analysis.\",\"type\":\"standalone\"},{\"name\":\"NOEST\",\"optional\":true,\"description\":\"Suppresses the final maximum likelihood estimation of the selected model.\",\"type\":\"standalone\"},{\"name\":\"NOPRINT\",\"optional\":true,\"description\":\"Suppresses all printed output.\",\"type\":\"standalone\"},{\"name\":\"OUT=\",\"optional\":true,\"description\":\"Writes the residuals, actual values, forecasts, and forecast standard errors to a SAS data set.\",\"help\":\"OUT=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"OUTAR=\",\"optional\":true,\"description\":\"Writes the Yule-Walker estimates of the preliminary autoregressive models to a SAS data set.\",\"help\":\"OUTAR=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"OUTMODEL=\",\"optional\":true,\"description\":\"Writes the parameter estimates and their standard errors to a SAS data set.\",\"help\":\"OUTMODEL=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"PARMTOL=\",\"optional\":true,\"description\":\"Specifies the convergence criterion. The DETTOL= and PARMTOL= option values are used together to test for convergence of the estimation process. If, during an iteration, the relative change of the parameter estimates is less than the PARMTOL= value and the relative change of the determinant of the innovation variance matrix is less than the DETTOL= value, then iteration ceases and the current estimates are accepted. The default is PARMTOL=0.001.\",\"help\":\"PARMTOL=*value*\",\"type\":\"value\"},{\"name\":\"PASTMIN=\",\"optional\":true,\"description\":\"Specifies the minimum number of lags to include in the canonical correlation analysis. The default is PASTMIN=0.\",\"help\":\"PASTMIN=*n*\",\"type\":\"value\"},{\"name\":\"PRINT\",\"optional\":true,\"description\":\"Prints the forecasts.\",\"type\":\"standalone\"},{\"name\":\"PRINTOUT=\",\"optional\":true,\"description\":\"Determines the amount of detail printed.\",\"help\":\"PRINTOUT=SHORT | LONG | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"SHORT\",\"description\":\"Prints the output for the preliminary autoregressive models, and rhe descriptive statistics and state space model estimation output. This is the default.\",\"type\":\"standalone\"},{\"name\":\"LONG\",\"description\":\"Prints the lagged covariance matrices, the partial autoregressive matrices, and estimates of the residual covariance matrices from the sequence of autoregressive models.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"Suppresses the output for the preliminary autoregressive models. The descriptive statistics and state space model estimation output are still printed.\",\"type\":\"standalone\"}]},{\"name\":\"RESIDEST\",\"optional\":true,\"description\":\"Computes the final estimates by using conditional least squares on the raw data. This type of estimation might be more stable than the default maximum likelihood method but is usually more computationally expensive.\",\"type\":\"standalone\"},{\"name\":\"SIGCORR=\",\"optional\":true,\"description\":\"Specifies the multiplier of the degrees of freedom for the penalty term in the information criterion used to select the state space form. The default is SIGCORR=2. The larger the value of the SIGCORR= option, the smaller the state vector tends to be. Hence, a large value causes a simpler model to be fit.\",\"help\":\"SIGCORR=*value*\",\"type\":\"value\"},{\"name\":\"SINGULAR=\",\"optional\":true,\"description\":\"Specifies the criterion for testing for singularity of a matrix. A matrix is declared singular if a scaled pivot is less than the SINGULAR= value when sweeping the matrix. The default is SINGULAR=1E–7.\",\"help\":\"SINGULAR=*value*\",\"type\":\"value\"}]},{\"name\":\"BY\",\"description\":\"A BY statement can be used with the STATESPACE procedure to obtain separate analyses on observations in groups defined by the BY variables.\",\"help\":\"BY variable ... \"},{\"name\":\"FORM\",\"description\":\"The FORM statement specifies the number of times a variable is included in the state vector. Values can be specified for any variable listed in the VAR statement. If a value is specified for each variable in the VAR statement, the state vector for the state space model is entirely specified, and automatic selection of the state space model is not performed. The following statements illustrate the use of the FORM statement: proc statespace data=in; var x y; form x 3 y 2; run;\",\"help\":\"FORM variable value ... \"},{\"name\":\"ID\",\"description\":\"The ID statement specifies a variable that identifies observations in the input data set. The variable specified in the ID statement is included in the OUT= data set. The values of the ID variable are extrapolated for the forecast observations based on the values of the INTERVAL= and INTPER= options.\",\"help\":\"ID variable \"},{\"name\":\"INITIAL\",\"description\":\"The INITIAL statement gives initial values to the specified elements of the F and G matrices. These initial values are used as starting values for the iterative estimation.\",\"help\":\"INITIAL &lt;F(row,column)=value&gt;&lt;G(row,column)=value&gt;\",\"arguments\":[{\"name\":\"F=\",\"optional\":true,\"description\":\"Initializes the specified elements of the F matrix to the specified value.\",\"type\":\"value\"},{\"name\":\"G=\",\"optional\":true,\"description\":\"Initializes the specified elements of the G matrix to the specified value.\",\"type\":\"value\"}]},{\"name\":\"RESTRICT\",\"description\":\"The RESTRICT statement restricts the specified elements of the F and G matrices to the specified values. To use the restrict statement, you need to know the form of the model. Either specify the form of the model with the FORM statement, or do a preliminary run (perhaps with the NOEST option) to find the form of the model that PROC STATESPACE selects for the data. The following is an example of a RESTRICT statement: restrict f(3,2)=0 g(4,1)=0 g(5,1)=0 ;\",\"help\":\"RESTRICT &lt;F (row,column)= value&gt;&lt;G (row,column)= value&gt;\",\"arguments\":[{\"name\":\"F=\",\"optional\":true,\"description\":\"Restricts the specified elements of the F matrix to the specified value.\",\"type\":\"value\"},{\"name\":\"G=\",\"optional\":true,\"description\":\"Restricts the specified elements of the G matrix to the specified value.\",\"type\":\"value\"}]},{\"name\":\"VAR\",\"description\":\"The VAR statement specifies the variables in the input data set to model and forecast. The VAR statement also specifies differencing of the input variables. The VAR statement is required. Differencing is specified by following the variable name with a list of difference periods separated by commas. The order in which variables are listed in the VAR statement controls the order in which variables are included in the state vector. Usually, potential inputs should be listed before potential outputs.\",\"help\":\"VAR variable (difference, difference, ...) ... \"}],\"supportSiteInformation\":{\"docsetId\":\"etsug\",\"docsetVersion\":\"latest\",\"docsetTargetFile\":\"etsug_statespa_toc.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/STDIZE.json",
    "content": "{\"name\":\"STDIZE\",\"statements\":[{\"name\":\"PROC STDIZE\",\"description\":\"The STDIZE procedure standardizes one or more numeric variables in a SAS data set by subtracting a location measure and dividing by a scale measure.\",\"help\":\"PROC STDIZE <ADD=c><DATA=SAS-data-set><FUZZ=c><INITIAL=MEAN | MEDIAN | SUM... ><KEEPLEN><METHOD=MEAN | MEDIAN | SUM... ><MISSING=method | value><MULT=c><NMARKERS=n><NOMISS><NORM><OUT=SAS-data-set><OUTSTAT=SAS-data-set><PCTLDEF=percentiles><PCTLMTD=ORD_STAT | ONEPASS | P2><PCTLPTS=n><PSTAT><REPLACE><REPONLY><SNORM><UNSTD><VARDEF=DF | N | WDF... >;     \\n\\tBY <DESCENDING><NOTSORTED> ;\\n\\n\\tFREQ variable ;\\n\\n\\tLOCATION variables ;\\n\\n\\tSCALE variables ;\\n\\n\\tVAR variable ;\\n\\n\\tWEIGHT variable;\\n\",\"arguments\":[{\"name\":\"ADD=\",\"optional\":true,\"description\":\"Specifies a constant, c, to add to each value after standardizing and multiplying by the value you specify in the MULT= option. The default value is 0.\",\"help\":\"ADD=*c*\",\"type\":\"value\"},{\"name\":\"DATA=\",\"optional\":true,\"description\":\"Specifies the input data set to be standardized. If you omit the DATA= option, the most recently created data set is used.\",\"help\":\"DATA=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"FUZZ=\",\"optional\":true,\"description\":\"Specifies the relative fuzz factor. The default value is 1E–14.\",\"help\":\"FUZZ=*c*\",\"type\":\"value\"},{\"name\":\"INITIAL=\",\"optional\":true,\"description\":\"Specifies the method for computing initial estimates for the A estimates (ABW, AWAVE, and AHUBER).\",\"help\":\"INITIAL=MEAN | MEDIAN | SUM | EUCLEN | USTD | STD | RANGE | MIDRANGE | MAXABS | IQR | MAD | AGK | SPACING | L\",\"type\":\"choice\",\"arguments\":[{\"name\":\"MEAN\",\"description\":\"Mean\",\"type\":\"standalone\"},{\"name\":\"MEDIAN\",\"description\":\"Median\",\"type\":\"standalone\"},{\"name\":\"SUM\",\"description\":\"Sum\",\"type\":\"standalone\"},{\"name\":\"EUCLEN\",\"description\":\"Euclidean length\",\"type\":\"standalone\"},{\"name\":\"USTD\",\"description\":\"Standard deviation about origin\",\"type\":\"standalone\"},{\"name\":\"STD\",\"description\":\"Standard deviation\",\"type\":\"standalone\"},{\"name\":\"RANGE\",\"description\":\"Range\",\"type\":\"standalone\"},{\"name\":\"MIDRANGE\",\"description\":\"Range/2\",\"type\":\"standalone\"},{\"name\":\"MAXABS\",\"description\":\"Maximum absolute value\",\"type\":\"standalone\"},{\"name\":\"IQR\",\"description\":\"Interquartile range\",\"type\":\"standalone\"},{\"name\":\"MAD\",\"description\":\"Median absolute deviation from median\",\"type\":\"standalone\"},{\"name\":\"AGK\",\"description\":\"AGK estimate (ACECLUS)\",\"type\":\"standalone\"},{\"name\":\"SPACING\",\"description\":\"Minimum spacing\",\"type\":\"standalone\"},{\"name\":\"L\",\"description\":\"L(p)\",\"type\":\"standalone\"}]},{\"name\":\"KEEPLEN\",\"optional\":true,\"description\":\"Specifies that output variables inherit the length of the analysis variable that PROC STDIZE uses to derive them.\",\"type\":\"standalone\"},{\"name\":\"METHOD=\",\"optional\":true,\"description\":\"Specifies the name of the method for computing location and scale measures.\",\"help\":\"METHOD=MEAN | MEDIAN | SUM | EUCLEN | USTD | STD | RANGE | MIDRANGE | MAXABS | IQR | MAD | ABW | AHUBER | AWAVE | AGK | SPACING | L | IN\",\"type\":\"choice\",\"arguments\":[{\"name\":\"MEAN\",\"description\":\"Mean\",\"type\":\"standalone\"},{\"name\":\"MEDIAN\",\"description\":\"Median\",\"type\":\"standalone\"},{\"name\":\"SUM\",\"description\":\"Sum\",\"type\":\"standalone\"},{\"name\":\"EUCLEN\",\"description\":\"Euclidean length\",\"type\":\"standalone\"},{\"name\":\"USTD\",\"description\":\"Standard deviation about origin\",\"type\":\"standalone\"},{\"name\":\"STD\",\"description\":\"Standard deviation\",\"type\":\"standalone\"},{\"name\":\"RANGE\",\"description\":\"Range\",\"type\":\"standalone\"},{\"name\":\"MIDRANGE\",\"description\":\"Range/2\",\"type\":\"standalone\"},{\"name\":\"MAXABS\",\"description\":\"Maximum absolute value\",\"type\":\"standalone\"},{\"name\":\"IQR\",\"description\":\"Interquartile range\",\"type\":\"standalone\"},{\"name\":\"MAD\",\"description\":\"Median absolute deviation from median\",\"type\":\"standalone\"},{\"name\":\"ABW\",\"description\":\"Biweight A-estimate\",\"type\":\"standalone\"},{\"name\":\"AHUBER\",\"description\":\"Huber A-estimate\",\"type\":\"standalone\"},{\"name\":\"AWAVE\",\"description\":\"Wave A-estimate\",\"type\":\"standalone\"},{\"name\":\"AGK\",\"description\":\"AGK estimate (ACECLUS)\",\"type\":\"standalone\"},{\"name\":\"SPACING\",\"description\":\"Minimum spacing\",\"type\":\"standalone\"},{\"name\":\"L\",\"description\":\"L(p)\",\"type\":\"standalone\"},{\"name\":\"IN\",\"description\":\"Read from data set.\",\"type\":\"standalone\"}]},{\"name\":\"MISSING=\",\"optional\":true,\"description\":\"Specifies the method (or a numeric value) for replacing missing values. If you omit the MISSING= option, the REPLACE option replaces missing values with the location measure given by the METHOD= option.\",\"type\":\"value\"},{\"name\":\"MULT=\",\"optional\":true,\"description\":\"Specifies a constant, c, by which to multiply each value after standardizing. The default value is 1.\",\"help\":\"MULT=*c*\",\"type\":\"value\"},{\"name\":\"NMARKERS=\",\"optional\":true,\"description\":\"Specifies the number of markers used when you specify the one-pass algorithm (PCTLMTD=ONEPASS). The value n must be greater than or equal to 5. The default value is 105.\",\"help\":\"NMARKERS=*n*\",\"type\":\"value\"},{\"name\":\"NOMISS\",\"optional\":true,\"description\":\"Omits observations with missing values for any of the analyzed variables from calculation of the location and scale measures.\",\"type\":\"standalone\"},{\"name\":\"NORM\",\"optional\":true,\"description\":\"Normalizes the scale estimator to be consistent for the standard deviation of a normal distribution when you specify the option METHOD=AGK, METHOD=IQR, METHOD=MAD, or METHOD=SPACING.\",\"type\":\"standalone\"},{\"name\":\"OUT=\",\"optional\":true,\"description\":\"Specifies the name of the SAS data set created by PROC STDIZE.\",\"help\":\"OUT=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"OUTSTAT=\",\"optional\":true,\"description\":\"Specifies the name of the SAS data set containing the location and scale measures and other computed statistics.\",\"help\":\"OUTSTAT=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"PCTLDEF=\",\"optional\":true,\"description\":\"Specifies which of five definitions is used to calculate percentiles when you specify the option PCTLMTD=ORD_STAT. By default, PCTLDEF=5.\",\"help\":\"PCTLDEF=*percentiles*\",\"type\":\"value\"},{\"name\":\"PCTLMTD=\",\"optional\":true,\"description\":\"Specifies the method used to estimate percentiles.\",\"help\":\"PCTLMTD=ORD_STAT | ONEPASS | P2\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ORD_STAT\",\"description\":\"Computes the percentiles by the order statistics method.\",\"type\":\"standalone\"},{\"name\":\"ONEPASS\",\"description\":\"Modifies the P-square algorithm for histograms nvented by Jain and Chlamtac (1985).\",\"type\":\"standalone\"},{\"name\":\"P2\",\"description\":\"P-square algorithm for histograms proposed by Jain and Chlamtac (1985).\",\"type\":\"standalone\"}]},{\"name\":\"PCTLPTS=\",\"optional\":true,\"description\":\"Writes percentiles to the OUTSTAT= data set. Values of n can be any decimal number between 0 and 100, inclusive.\",\"help\":\"PCTLPTS=*n*\",\"type\":\"value\"},{\"name\":\"PSTAT\",\"optional\":true,\"description\":\"Displays the location and scale measures.\",\"type\":\"standalone\"},{\"name\":\"REPLACE\",\"optional\":true,\"description\":\"Replaces missing data with the value 0 in the standardized data (this value corresponds to the location measure before standardizing).\",\"type\":\"standalone\"},{\"name\":\"REPONLY\",\"optional\":true,\"description\":\"Replaces missing data only; PROC STDIZE does not standardize the data.\",\"type\":\"standalone\"},{\"name\":\"SNORM\",\"optional\":true,\"description\":\"Normalizes the scale estimator to have an expectation of approximately 1 for a standard normal distribution when you specify the METHOD=SPACING option.\",\"type\":\"standalone\"},{\"name\":\"UNSTD\",\"optional\":true,\"aliases\":[\"UNSTDIZE\"],\"description\":\"Unstandardizes variables when you specify the METHOD=IN(ds) option.\",\"type\":\"standalone\"},{\"name\":\"VARDEF=\",\"optional\":true,\"description\":\"Specifies the divisor to be used in the calculation of variances. By default, VARDEF=DF.\",\"help\":\"VARDEF=DF | N | WDF | WEIGHT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DF\",\"description\":\"Degrees of freedom\",\"type\":\"standalone\"},{\"name\":\"N\",\"description\":\"Number of observations\",\"type\":\"standalone\"},{\"name\":\"WDF\",\"description\":\"Sum of weights minus 1\",\"type\":\"standalone\"},{\"name\":\"WEIGHT\",\"description\":\"Sum of weights\",\"type\":\"standalone\"}]}]},{\"name\":\"BY\",\"description\":\"Obtains separate analyses on observations in groups defined by the BY variables.\",\"help\":\"BY &lt;DESCENDING&gt;&lt;NOTSORTED&gt;\",\"arguments\":[{\"name\":\"DESCENDING\",\"optional\":true,\"description\":\"Specifies that the observations are sorted in descending order by the variable that immediately follows the word DESCENDING in the BY statement.\",\"type\":\"standalone\"},{\"name\":\"NOTSORTED\",\"optional\":true,\"description\":\"Specifies that observations are not necessarily sorted in alphabetic or numeric order.\",\"type\":\"standalone\"}]},{\"name\":\"FREQ\",\"description\":\"If one variable in the input data set represents the frequency of occurrence for other values in the observation, specify the variable name in a FREQ statement. PROC STDIZE treats the data set as if each observation appeared n times, where n is the value of the FREQ variable for the observation.\",\"help\":\"FREQ variable \"},{\"name\":\"LOCATION\",\"aliases\":[\"LOCATIONS\"],\"description\":\"The LOCATION statement specifies a list of numeric variables that contain location measures in the input data set specified by the METHOD=IN option.\",\"help\":\"LOCATION variables \"},{\"name\":\"SCALE\",\"aliases\":[\"SCALES\"],\"description\":\"The SCALE statement specifies the list of numeric variables containing scale measures in the input data set specified by the METHOD=IN option.\",\"help\":\"SCALE variables \"},{\"name\":\"VAR\",\"description\":\"The VAR statement lists numeric variables to be standardized. If you omit the VAR statement, all numeric variables not listed in the BY, FREQ, and WEIGHT statements are used.\",\"help\":\"VAR variable \"},{\"name\":\"WEIGHT\",\"description\":\"The WEIGHT statement specifies a numeric variable in the input data set with values that are used to weight each observation. Only one variable can be specified.\",\"help\":\"WEIGHT variable\"}],\"supportSiteInformation\":{\"docsetId\":\"statug\",\"docsetVersion\":\"latest\",\"docsetTargetFile\":\"statug_stdize_toc.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/STDRATE.json",
    "content": "{\"name\":\"STDRATE\",\"statements\":[{\"name\":\"PROC STDRATE\",\"description\":\"[New procedure in SAS/STAT 12.1] † The STDRATE procedure computes directly standardized rates and risks for study populations. For two study populations with the same reference population, PROC STDRATE compares directly standardized rates or risks from these two populations. For homogeneous effects across strata, PROC STDRATE computes Mantel-Haenszel estimates. The STDRATE procedure also computes indirectly standardized rates and risks, including SMR. † The attributable fraction measures the excess event rate or risk fraction in the exposed population that can be attributed to the exposure. The rate or risk ratio statistic is required in the attributable fraction computation, and the STDRATE procedure estimates the ratio by using either SMR or the rate ratio statistic in the Mantel-Haenszel estimates. † Although the STDRATE procedure provides useful summary standardized statistics, standardization is not a substitute for individual comparisons of stratum-specific estimates. PROC STDRATE provides summary statistics, such as rate and risk estimates and their confidence limits, in each stratum. In addition, PROC STDRATE also displays these stratum-specific statistics by using ODS Graphics. † Note that the term standardization has different meanings in other statistical applications. For example, the STDIZE procedure standardizes numeric variables in a SAS data set by subtracting a location measure and dividing by a scale measure.\",\"help\":\"PROC STDRATE <ALPHA=α><CL=GAMMA | LOGNORMAL | NONE... ><DATA=SAS-data-set><EFFECT=DIFF | RATIO><METHOD=DIRECT | INDIRECT | MH><PLOTS=ALL | DIST|DISTRIBUTION | EFFECT... ><REFDATA=SAS-data-set><SIDES=2 | L | U><STAT=RATE | RISK>;     \\n\\tBY <DESCENDING><NOTSORTED> ;\\n\\n\\tPOPULATION <EVENT=variable><GROUP <( ORDER=DATA | FORMATTED | INTERNAL )> =variable><POPEVENT=number> ...;\\n\\n\\tREFERENCE <EVENT=variable><RATE <( MULT=c )> = variable><RISK=variable> ...;\\n\\n\\tSTRATA <EFFECT><MISSING><ORDER=<DATA | FORMATTED | INTERNAL>> ...;\\n\",\"arguments\":[{\"name\":\"ALPHA=\",\"optional\":true,\"description\":\"Requests that confidence limits be constructed with confidence level 100(1-α)%, where 0 < α < 1. The default is ALPHA=0.05. These confidence limits include confidence limits for the stratum-specific rates or risks, standardized rate and risk, standardized morbidity/mortality ratio, and population attributable rate and risk.\",\"type\":\"value\"},{\"name\":\"CL=\",\"optional\":true,\"description\":\"Specifies the method to construct confidence limits for SMR and standardized rate and risk.\",\"help\":\"CL=GAMMA | LOGNORMAL | NONE | NORMAL | POISSON\",\"type\":\"choice\",\"arguments\":[{\"name\":\"GAMMA\",\"description\":\"Syntax: GAMMA <(TYPE=AVERAGE | CONSERVATIVE)> Requests confidence limits based on a gamma distribution for METHOD=DIRECT and METHOD=MH. This value applies only when STAT=RATE. You can specify the TYPE=CONSERVATIVE suboption to request conservative confidence limits that are based on a gamma distribution and were developed by Fay and Feuer (1997), or you can specify the TYPE=AVERAGE suboption to request modified confidence limits proposed by Tiwari, Clegg, and Zou (2006).\",\"type\":\"standalone\"},{\"name\":\"LOGNORMAL\",\"description\":\"Requests confidence limits based on a lognormal distribution.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"Suppresses construction of confidence limits.\",\"type\":\"standalone\"},{\"name\":\"NORMAL\",\"description\":\"Requests confidence limits based on a normal distribution.\",\"type\":\"standalone\"},{\"name\":\"POISSON\",\"description\":\"Requests confidence limits based on a Poisson distribution. This value applies only when METHOD=INDIRECT.\",\"type\":\"standalone\"}]},{\"name\":\"DATA=\",\"optional\":true,\"description\":\"Names the required SAS data set that contains the event information in the study populations.\",\"help\":\"DATA=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"EFFECT=\",\"optional\":true,\"description\":\"Displays a table of the effect estimate and associated confidence limits. This option applies only when METHOD=DIRECT with two study populations and when METHOD=MH, where two study populations are required.\",\"help\":\"EFFECT=DIFF | RATIO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DIFF\",\"description\":\"Displays a test on the difference effect\",\"type\":\"standalone\"},{\"name\":\"RATIO\",\"description\":\"Displays a test on the ratio effect of estimates between the study populations.\",\"type\":\"standalone\"}]},{\"name\":\"METHOD=\",\"optional\":true,\"aliases\":[\"M=\"],\"description\":\"Syntax: METHOD= DIRECT | INDIRECT <(AF)> | MH <(AF)> M= DIRECT | INDIRECT <(AF)> | MH <(AF)> Specifies the required method for standardization. METHOD=DIRECT requests direct standardization, METHOD=INDIRECT requests indirect standardization, and METHOD=MH requests Mantel-Haenszel estimation.\",\"help\":\"METHOD=DIRECT | INDIRECT | MH\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DIRECT\",\"description\":\"Requests direct standardization\",\"type\":\"standalone\"},{\"name\":\"INDIRECT\",\"description\":\"Syntax: INDIRECT <(AF)> Requests indirect standardization. The AF suboption requests the attributable fraction that measures the excess event rate or risk fraction in the exposed population that is attributable to the exposure. This suboption also requests the population attributable fraction that measures the excess event rate or risk fraction in the total population that is attributable to the exposure.\",\"type\":\"standalone\"},{\"name\":\"MH\",\"description\":\"Syntax: MH <(AF)> Requests Mantel-Haenszel estimation. The AF suboption requests the attributable fraction that measures the excess event rate or risk fraction in the exposed population that is attributable to the exposure. This suboption also requests the population attributable fraction that measures the excess event rate or risk fraction in the total population that is attributable to the exposure.\",\"type\":\"standalone\"}]},{\"name\":\"PLOTS=\",\"optional\":true,\"description\":\"Syntax: PLOTS <( global-options )> <= plot-request> PLOTS <( global-options )> <= ( plot-request < …plot-request> ) > Specifies options that control the details of the plots. The default is PLOTS=RATE for STAT=RATE and PLOTS=RISK for STAT=RISK. You can specify the following global-options:\",\"help\":\"PLOTS=ALL | DIST|DISTRIBUTION | EFFECT | NONE | RATE | RISK | SMR\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ALL\",\"description\":\"Produces all appropriate plots.\",\"type\":\"standalone\"},{\"name\":\"DIST\",\"description\":\"Displays a plot of the proportions for stratum-specific exposed time or sample size.\",\"help\":\"DIST|DISTRIBUTION\",\"type\":\"choice\"},{\"name\":\"EFFECT\",\"description\":\"Displays a plot of the stratum-specific effect estimates and associated confidence limits. This option applies only when METHOD=DIRECT with two study populations and when METHOD=MH, where two study populations are required. If the EFFECT=DIFF option is specified, the stratum-specific rate or risk difference effects are displayed. Otherwise, the stratum- specific rate or risk ratio effects are displayed.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"Suppresses all plots.\",\"type\":\"standalone\"},{\"name\":\"RATE\",\"description\":\"Displays a plot of the stratum-specific rates and associated confidence limits. This option applies only when STAT=RATE. If a confidence limits method is specified in the STATS(CL=) option in the STRATA statement, that method is used to compute the confidence limits. Otherwise, the normal approximation is used.\",\"type\":\"standalone\"},{\"name\":\"RISK\",\"description\":\"Displays a plot of the stratum-specific rates and associated confidence limits. This option applies only when STAT=RISK. If a confidence limits method is specified in the STATS(CL=) option in the STRATA statement, that method is used to compute the confidence limits. Otherwise, the normal approximation is used.\",\"type\":\"standalone\"},{\"name\":\"SMR\",\"description\":\"Displays a plot of the stratum-specific SMR estimates and associated confidence limits. This option applies only when METHOD=INDIRECT. If a method is specified in the SMR(CL=) option in the STRATA statement, that method is used to compute the confidence limits. Otherwise, the normal approximation is used.\",\"type\":\"standalone\"}]},{\"name\":\"REFDATA=\",\"optional\":true,\"description\":\"Names the required SAS data set that contains the event information in the reference population.\",\"help\":\"REFDATA=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"SIDES=\",\"optional\":true,\"aliases\":[\"SIDED=\",\"SIDE=\"],\"description\":\"Specifies the number of sides (or tails) and direction of the statistical tests and test-based confidence intervals.\",\"help\":\"SIDES=2 | L | U\",\"type\":\"choice\",\"arguments\":[{\"name\":\"2\",\"description\":\"(The default) specifies two-sided tests and confidence intervals for means.\",\"type\":\"standalone\"},{\"name\":\"L\",\"description\":\"Specifies lower one-sided tests, in which the alternative hypothesis indicates a mean less than the null value, and lower one-sided confidence intervals between minus infinity and the upper confidence limit.\",\"type\":\"standalone\"},{\"name\":\"U\",\"description\":\"Specifies upper one-sided tests, in which the alternative hypothesis indicates a mean greater than the null value, and upper one-sided confidence intervals between the lower confidence limit and infinity.\",\"type\":\"standalone\"}]},{\"name\":\"STAT=\",\"optional\":true,\"description\":\"Specifies the statistic for standardization.\",\"help\":\"STAT=RATE | RISK\",\"type\":\"choice\",\"arguments\":[{\"name\":\"RATE\",\"description\":\"Syntax: RATE <( MULT=c )> Computes standardized rates. The MULT= suboption in the STAT=RATE option specifies a power of 10 constant c, and requests that rates per c population-time units be displayed in the output tables and graphics. The default is MULT=100000, which specifies rates per 100,000 population-time units.\",\"type\":\"standalone\"},{\"name\":\"RISK\",\"description\":\"Computes standardized risks.\",\"type\":\"standalone\"}]}]},{\"name\":\"BY\",\"description\":\"You can specify a BY statement with PROC STDRATE to obtain separate analyses on observations in groups defined by the BY variables. When a BY statement appears, the procedure expects the input data set to be sorted in the order of the BY variables. The variables are one or more variables in the input data set.\",\"help\":\"BY &lt;DESCENDING&gt;&lt;NOTSORTED&gt;\",\"arguments\":[{\"name\":\"DESCENDING\",\"optional\":true,\"description\":\"Specifies that the observations are sorted in descending order by the variable that immediately follows the word DESCENDING in the BY statement.\",\"type\":\"standalone\"},{\"name\":\"NOTSORTED\",\"optional\":true,\"description\":\"The NOTSORTED option does not mean that the data are unsorted but rather that the data are arranged in groups (according to values of the BY variables) and that these groups are not necessarily in alphabetical or increasing numeric order.\",\"type\":\"standalone\"}]},{\"name\":\"POPULATION\",\"description\":\"The required POPULATION statement specifies the information in the study data set.\",\"help\":\"POPULATION &lt;EVENT=variable&gt;&lt;GROUP &lt;( ORDER=DATA | FORMATTED | INTERNAL )&gt; =variable&gt;&lt;POPEVENT=number&gt; ...\",\"arguments\":[{\"name\":\"EVENT=\",\"optional\":true,\"description\":\"Specifies the variable for the number of events in the study data set.\",\"help\":\"EVENT=*variable*\",\"type\":\"value\"},{\"name\":\"GROUP=\",\"optional\":true,\"description\":\"Specifies the variable whose values identify the various populations. This option is required when METHOD=MH and also applies when METHOD=DIRECT in the PROC STDRATE statement. The optional ORDER= suboption specifies the order in which the values of the variable are to be displayed. You can specify the following values for the ORDER= suboption: DATA sorts by the order in which the values appear in the input data set. FORMATTED sorts by their external formatted values. INTERNAL sorts by the unformatted values, which yields the same order that the SORT procedure does.\",\"help\":\"GROUP=ORDER=\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ORDER=\",\"type\":\"value\"}]},{\"name\":\"POPEVENT=\",\"optional\":true,\"description\":\"Specifies the total number of events in the study data set. This option applies only when METHOD=INDIRECT is specified in the PROC STDRATE statement and the total number of events is not available in the study data set.\",\"help\":\"POPEVENT=*number*\",\"type\":\"value\"},{\"name\":\"RATE=\",\"optional\":true,\"description\":\"Specifies the variable for the observed rate in the study data set. This option applies only when STAT=RATE is specified in the PROC STDRATE statement. The MULT=c suboption specifies a power of 10 constant c and requests that the rates per c population-time units be read from the data set. The default is the value of the MULT= suboption used in the STAT=RATE option in the PROC STDRATE statement.\",\"help\":\"RATE=MULT=\",\"type\":\"choice\",\"arguments\":[{\"name\":\"MULT=\",\"type\":\"value\"}]},{\"name\":\"RISK=\",\"optional\":true,\"description\":\"Specifies the variable for the observed risk in the study data set. This option applies only when STAT=RISK is specified in the PROC STDRATE statement.\",\"help\":\"RISK=*variable*\",\"type\":\"value\"},{\"name\":\"TOTAL=\",\"optional\":true,\"description\":\"Specifies the variable for either the population-time (STAT=RATE) or the number of observations (STAT=RISK) in the study data set.\",\"help\":\"TOTAL=*variable*\",\"type\":\"value\"}]},{\"name\":\"REFERENCE\",\"description\":\"The REFERENCE statement specifies the information in the reference data set. This statement is required when METHOD=DIRECT or METHOD=INDIRECT is specified in the PROC STDRATE statement. When METHOD=INDIRECT is specified in the PROC STDRATE statement, the overall reference population rate and risk are needed to compute indirect standardized rate and risk, respectively. If the information is not available in the reference data set, you can specify the following options for overall reference population rate and risk: REFEVENT=number specifies the total number of events in the reference data set. REFRATE <( MULT=c )> = number specifies the crude rate in the reference data set. This option applies only when STAT=RATE is specified in the PROC STDRATE statement. The MULT=c suboption specifies a power of 10 constant c, and the number is the crude rate per c population-time units in the data set. The default is the value of the MULT= suboption in the STAT=RATE option in the PROC STDRATE statement. REFRISK=number specifies the crude risk in the reference data set. This option applies only when STAT=RISK is specified in the PROC STDRATE statement. REFTOTAL=number specifies either the total population-time (STAT=RATE) or the total number of observations (STAT=RISK) in the reference data set.\",\"help\":\"REFERENCE &lt;EVENT=variable&gt;&lt;RATE &lt;( MULT=c )&gt; = variable&gt;&lt;RISK=variable&gt; ...\",\"arguments\":[{\"name\":\"EVENT=\",\"optional\":true,\"description\":\"Specifies the variable for the number of events in the reference data set.\",\"help\":\"EVENT=*variable*\",\"type\":\"value\"},{\"name\":\"RATE=\",\"optional\":true,\"description\":\"Specifies the variable for the observed rate in the reference data set. This option applies only when STAT=RATE is specified in the PROC STDRATE statement. The MULT=c suboption specifies a power of 10 constant c and requests that the rates per c population-time units be read from the data set. The default is the value of the MULT= suboption used in the STAT=RATE option in the PROC STDRATE statement.\",\"help\":\"RATE=MULT=\",\"type\":\"choice\",\"arguments\":[{\"name\":\"MULT=\",\"type\":\"value\"}]},{\"name\":\"REFEVENT=\",\"optional\":true,\"description\":\"Specifies the total number of events in the reference data set.\",\"help\":\"REFEVENT=*variable*\",\"type\":\"value\"},{\"name\":\"REFRATE=\",\"optional\":true,\"description\":\"Specifies the crude rate in the reference data set. This option applies only when STAT=RATE is specified in the PROC STDRATE statement. The MULT=c suboption specifies a power of 10 constant c and requests that the rates per c population-time units be read from the data set. The default is the value of the MULT= suboption used in the STAT=RATE option in the PROC STDRATE statement.\",\"help\":\"REFRATE=MULT=\",\"type\":\"choice\",\"arguments\":[{\"name\":\"MULT=\",\"type\":\"value\"}]},{\"name\":\"REFRISK=\",\"optional\":true,\"description\":\"Specifies the crude risk in the reference data set. This option applies only when STAT=RISK is specified in the PROC STDRATE statement.\",\"help\":\"REFRISK=*variable*\",\"type\":\"value\"},{\"name\":\"REFTOTAL=\",\"optional\":true,\"description\":\"Specifies either the total population-time (STAT=RATE) or the total number of observations (STAT=RISK) in the reference data set.\",\"help\":\"REFTOTAL=*variable*\",\"type\":\"value\"},{\"name\":\"RISK=\",\"optional\":true,\"description\":\"Specifies the variable for the observed risk in the reference data set. This option applies only when STAT=RISK is specified in the PROC STDRATE statement.\",\"help\":\"RISK=*variable*\",\"type\":\"value\"},{\"name\":\"TOTAL=\",\"optional\":true,\"description\":\"Specifies the variable for either the population-time (STAT=RATE) or the number of observations (STAT=RISK) in the reference data set.\",\"help\":\"TOTAL=*variable*\",\"type\":\"value\"}]},{\"name\":\"STRATA\",\"description\":\"The STRATA statement names variables that form the strata in the standardization. The combinations of categories of STRATA variables define the strata in the population. The STRATA variables are one or more variables in all input data sets. These variables can be either character or numeric. The formatted values of the STRATA variables determine the levels. Thus, you can use formats to group values into levels. When the STRATA statement is not specified or the statement is specified without variables, all observations in a data set are treated as though they are from a single stratum.\",\"help\":\"STRATA &lt;EFFECT&gt;&lt;MISSING&gt;&lt;ORDER=&lt;DATA | FORMATTED | INTERNAL&gt;&gt; ...\",\"arguments\":[{\"name\":\"EFFECT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays a table of the stratum-specific effect estimates and associated confidence limits. This option applies only when METHOD=DIRECT with two study populations and when METHOD=MH, where two study populations are required. If the EFFECT=DIFF option in the PROC STDRATE statement is specified, the stratum-specific rate or risk difference effects are displayed. Otherwise, the stratum-specific rate or risk ratio effects are displayed.\",\"type\":\"standalone\"},{\"name\":\"MISSING\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Treats missing values as a valid (nonmissing) category for all STRATA variables. When PROC STDRATE determines levels of a STRATA variable, an observation with missing values for that STRATA variable is excluded, unless the MISSING option is specified.\",\"type\":\"standalone\"},{\"name\":\"ORDER=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Syntax ORDER=DATA | FORMATTED | INTERNAL Specifies the order in which the values of the categorical variables are to be displayed.\",\"help\":\"ORDER=DATA | FORMATTED | INTERNAL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DATA\",\"followsDelimiter\":\"/\",\"description\":\"Sorts by the order in which the values appear in the input data set.\",\"type\":\"standalone\"},{\"name\":\"FORMATTED\",\"followsDelimiter\":\"/\",\"description\":\"Sorts by their external formatted values.\",\"type\":\"standalone\"},{\"name\":\"INTERNAL\",\"followsDelimiter\":\"/\",\"description\":\"Sorts by the unformatted values, which yields the same order that the SORT procedure does.\",\"type\":\"standalone\"}]},{\"name\":\"SMR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays tables for stratum-specific SMR estimates. This option applies only when METHOD=INDIRECT is specified in the PROC STDRATE statement. You can specify the following values of the CL= suboption to request confidence limits for the SMR estimate in each stratum: LOGNORMAL requests confidence limits based on a lognormal approximation. NONE suppresses confidence limits. NORMAL requests confidence limits based on a normal approximation and also displays the standard error for the rate estimate in each stratum. POISSON requests confidence limits based on a Poisson distribution for stratum-specific rates. This values applies only when STAT=RATE in the PROC STDRATE statement.\",\"help\":\"SMR=CL=\",\"type\":\"choice\",\"arguments\":[{\"name\":\"CL=\",\"type\":\"value\"}]},{\"name\":\"STATS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays tables for stratum-specific statistics such as stratum-specific rates and risks. You can specify the following values of the CL= suboption to request confidence limits for the rate or risk estimate in each stratum: LOGNORMAL requests confidence limits based on a lognormal approximation. NONE suppresses confidence limits. NORMAL requests confidence limits based on a normal approximation and also displays the standard error for the rate estimate in each stratum. POISSON requests confidence limits based on a Poisson distribution for stratum-specific rates. This values applies only when STAT=RATE in the PROC STDRATE statement.\",\"help\":\"STATS=CL=\",\"type\":\"choice\",\"arguments\":[{\"name\":\"CL=\",\"type\":\"value\"}]}]}],\"supportSiteInformation\":{\"docsetId\":\"statug\",\"docsetVersion\":\"latest\",\"docsetTargetFile\":\"statug_stdrate_toc.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/STEPDISC.json",
    "content": "{\"name\":\"STEPDISC\",\"statements\":[{\"name\":\"PROC STEPDISC\",\"description\":\"Given a classification variable and several quantitative variables, the STEPDISC procedure performs a stepwise discriminant analysis to select a subset of the quantitative variables for use in discriminating among the classes.\",\"help\":\"PROC STEPDISC <ALL><BCORR><BCOV><BSSCP><DATA=SAS-data-set><INCLUDE=n><MAXMACRO=n><MAXSTEP=n><METHOD=BACKWARD | FORWARD | STEPWISE><PCORR><PCOV><PR2ENTRY=p><PR2STAY=p><PSSCP><SHORT><SIMPLE><SINGULAR=p><SLENTRY=p><SLSTAY=p><START=n><STDMEAN><STOP=n><TCORR><TCOV><TSSCP><WCORR><WCOV><WSSCP>;     \\n\\tBY <DESCENDING><NOTSORTED> ;\\n\\n\\tCLASS variable ;\\n\\n\\tFREQ variable ;\\n\\n\\tVAR variables ;\\n\\n\\tWEIGHT variable;\\n\",\"arguments\":[{\"name\":\"ALL\",\"optional\":true,\"description\":\"Activates all of the display options.\",\"type\":\"standalone\"},{\"name\":\"BCORR\",\"optional\":true,\"description\":\"Displays between-class correlations.\",\"type\":\"standalone\"},{\"name\":\"BCOV\",\"optional\":true,\"description\":\"Displays between-class covariances.\",\"type\":\"standalone\"},{\"name\":\"BSSCP\",\"optional\":true,\"description\":\"Displays the between-class SSCP matrix.\",\"type\":\"standalone\"},{\"name\":\"DATA=\",\"optional\":true,\"description\":\"Specifies the data set to be analyzed. The data set can be an ordinary SAS data set or one of several specially structured data sets created by statistical procedures available with SAS/STAT software.\",\"help\":\"DATA=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"INCLUDE=\",\"optional\":true,\"description\":\"Includes the first n variables in the VAR statement in every model. By default, INCLUDE=0.\",\"help\":\"INCLUDE=*n*\",\"type\":\"value\"},{\"name\":\"MAXMACRO=\",\"optional\":true,\"description\":\"Specifies the maximum number of macro variables with independent variable lists to create.\",\"help\":\"MAXMACRO=*n*\",\"type\":\"value\"},{\"name\":\"MAXSTEP=\",\"optional\":true,\"description\":\"Specifies the maximum number of steps. By default, MAXSTEP= two times the number of variables in the VAR statement.\",\"help\":\"MAXSTEP=*n*\",\"type\":\"value\"},{\"name\":\"METHOD=\",\"optional\":true,\"description\":\"Specifies the method used to select the variables in the model.\",\"help\":\"METHOD=BACKWARD | FORWARD | STEPWISE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"BACKWARD\",\"description\":\"Specifies backward elimination.\",\"type\":\"standalone\"},{\"name\":\"FORWARD\",\"description\":\"Specifies forward selection.\",\"type\":\"standalone\"},{\"name\":\"STEPWISE\",\"description\":\"Specifies stepwise selection.\",\"type\":\"standalone\"}]},{\"name\":\"PCORR\",\"optional\":true,\"description\":\"Displays pooled within-class correlations (partial correlations based on the pooled within-class covariances).\",\"type\":\"standalone\"},{\"name\":\"PCOV\",\"optional\":true,\"description\":\"Displays pooled within-class covariances.\",\"type\":\"standalone\"},{\"name\":\"PR2ENTRY=\",\"optional\":true,\"aliases\":[\"PR2E=\"],\"description\":\"Specifies the partial R square for adding variables in the forward selection mode, where p ≤ 1.\",\"help\":\"PR2ENTRY=*p*\",\"type\":\"value\"},{\"name\":\"PR2STAY=\",\"optional\":true,\"aliases\":[\"PR2S=\"],\"description\":\"Specifies the partial R square for retaining variables in the backward elimination mode, where p ≤ 1.\",\"help\":\"PR2STAY=*p*\",\"type\":\"value\"},{\"name\":\"PSSCP\",\"optional\":true,\"description\":\"Displays the pooled within-class corrected SSCP matrix.\",\"type\":\"standalone\"},{\"name\":\"SHORT\",\"optional\":true,\"description\":\"Suppresses the displayed output from each step.\",\"type\":\"standalone\"},{\"name\":\"SIMPLE\",\"optional\":true,\"description\":\"Displays simple descriptive statistics for the total sample and within each class.\",\"type\":\"standalone\"},{\"name\":\"SINGULAR=\",\"optional\":true,\"description\":\"Specifies the singularity criterion for entering variables, where O<p<1.\",\"help\":\"SINGULAR=*p*\",\"type\":\"value\"},{\"name\":\"SLENTRY=\",\"optional\":true,\"aliases\":[\"SLE=\"],\"description\":\"Specifies the significance level for adding variables in the forward selection mode, where 0 ≤ p ≤ 1. The default value is 0.15.\",\"help\":\"SLENTRY=*p*\",\"type\":\"value\"},{\"name\":\"SLSTAY=\",\"optional\":true,\"aliases\":[\"SLS=\"],\"description\":\"Specifies the significance level for retaining variables in the backward elimination mode, where 0 ≤ p ≤ 1. The default value is 0.15.\",\"help\":\"SLSTAY=*p*\",\"type\":\"value\"},{\"name\":\"START=\",\"optional\":true,\"description\":\"Specifies that the first n variables in the VAR statement be used to begin the selection process.\",\"help\":\"START=*n*\",\"type\":\"value\"},{\"name\":\"STDMEAN\",\"optional\":true,\"description\":\"Displays total-sample and pooled within-class standardized class means.\",\"type\":\"standalone\"},{\"name\":\"STOP=\",\"optional\":true,\"description\":\"Specifies the number of variables in the final model.\",\"help\":\"STOP=*n*\",\"type\":\"value\"},{\"name\":\"TCORR\",\"optional\":true,\"description\":\"Displays total-sample correlations.\",\"type\":\"standalone\"},{\"name\":\"TCOV\",\"optional\":true,\"description\":\"Displays total-sample covariances.\",\"type\":\"standalone\"},{\"name\":\"TSSCP\",\"optional\":true,\"description\":\"Displays the total-sample corrected SSCP matrix.\",\"type\":\"standalone\"},{\"name\":\"WCORR\",\"optional\":true,\"description\":\"Displays within-class correlations for each class level.\",\"type\":\"standalone\"},{\"name\":\"WCOV\",\"optional\":true,\"description\":\"Displays within-class covariances for each class level.\",\"type\":\"standalone\"},{\"name\":\"WSSCP\",\"optional\":true,\"description\":\"Displays the within-class corrected SSCP matrix for each class level.\",\"type\":\"standalone\"}]},{\"name\":\"BY\",\"description\":\"Obtains separate analyses on observations in groups defined by the BY variables.\",\"help\":\"BY &lt;DESCENDING&gt;&lt;NOTSORTED&gt;\",\"arguments\":[{\"name\":\"DESCENDING\",\"optional\":true,\"description\":\"Specifies that the observations are sorted in descending order by the variable that immediately follows the word DESCENDING in the BY statement.\",\"type\":\"standalone\"},{\"name\":\"NOTSORTED\",\"optional\":true,\"description\":\"Specifies that observations are not necessarily sorted in alphabetic or numeric order.\",\"type\":\"standalone\"}]},{\"name\":\"CLASS\",\"description\":\"The values of the CLASS variable define the groups for analysis. Class levels are determined by the formatted values of the CLASS variable. The CLASS variable can be numeric or character.\",\"help\":\"CLASS variable \"},{\"name\":\"FREQ\",\"description\":\"If a variable in the data set represents the frequency of occurrence for the other values in the observation, include the name of the variable in a FREQ statement. The procedure then treats the data set as if each observation appears n times, where n is the value of the FREQ variable for the observation.\",\"help\":\"FREQ variable \"},{\"name\":\"VAR\",\"description\":\"The VAR statement specifies the quantitative variables eligible for selection. The default is all numeric variables not listed in other statements.\",\"help\":\"VAR variables \"},{\"name\":\"WEIGHT\",\"description\":\"To use relative weights for each observation in the input data set, place the weights in a variable in the data set and specify the name in a WEIGHT statement. This is often done when the variance associated with each observation is different and the values of the WEIGHT variable are proportional to the reciprocals of the variances.\",\"help\":\"WEIGHT variable\"}],\"supportSiteInformation\":{\"docsetId\":\"statug\",\"docsetVersion\":\"latest\",\"docsetTargetFile\":\"statug_stepdisc_toc.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/STREAM.json",
    "content": "{\"name\":\"STREAM\",\"statements\":[{\"name\":\"PROC STREAM\",\"description\":\"Enables you to process an input stream that consists of arbitrary text that can contain SAS macro specifications.\",\"help\":\"PROC STREAM OUTFILE=fileref<options>; BEGIN\\ntext-1\\n<text-2 ...>\\n;;;;\",\"arguments\":[{\"name\":\"OUTFILE=\",\"description\":\"Specifies the file where all tokens are written.\",\"help\":\"OUTFILE=*fileref*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0z4qzqm6dgmsfn1l3qk0486e95n\"},{\"name\":\"text\",\"placeholder\":true,\"description\":\"Specifies the SAS statements or macros to use with PROC STREAM.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0b6jq7y6474b9n1p9udbnd9yc86\"},{\"name\":\"MOD\",\"optional\":true,\"description\":\"Specifies that the output file is appended to instead of being overwritten.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0h9xi73ggenzfn1jbdurrutmeyg\"},{\"name\":\"NOABSSCMT\",\"optional\":true,\"description\":\"Specifies whether comments are written to the output stream.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p17823mnqjkp5fn1ly00hsfovc9b\"},{\"name\":\"PRESCOL\",\"optional\":true,\"description\":\"Indicates that an attempt is made to preserve the columns of the original input file.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p062rnj89zr1fgn19sc7fbowbrrw\"},{\"name\":\"QUOTING=\",\"optional\":true,\"description\":\"Specifies how quotation marks are handled.\",\"help\":\"QUOTING=SINGLE | DOUBLE | BOTH\",\"type\":\"choice\",\"arguments\":[{\"name\":\"SINGLE\",\"description\":\"specifies that single quotation marks are treated like any other character. If you use the SINGLE option and macro references occur within single quotation marks, such as '&hello', the macro references are expanded.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1r27txd4jyox4n13q6sx7wypv4w\"},{\"name\":\"DOUBLE\",\"description\":\"specifies that double quotation marks are treated like any other character.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1ghxwwmi2jt4an1xtxfy66fd8s1\"},{\"name\":\"BOTH\",\"description\":\"specifies that both SINGLE and DOUBLE options are used.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p09742g8d4dylyn1h4jjm9xhfv8v\"}],\"supportSiteTargetFragment\":\"n0l8y6fx9rfnvtn1d1st7875zjyd\"},{\"name\":\"RESETDELIM=\",\"optional\":true,\"description\":\"Indicates a special marker token.\",\"help\":\"RESETDELIM='*label*'\",\"type\":\"value\",\"arguments\":[{\"name\":\"NEWLINE\",\"description\":\"specifies that a new line is emitted to the output file.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p137neyzrzmvq3n1oag3njobfj27\"},{\"name\":\"READFILE\",\"description\":\"specifies that the given filename is opened, and its contents are read as is and written to the output file. There is no macro expansion of the contents of this file, and new lines are preserved. This differs from %INCLUDE, where macro expansion occurs and new lines are ignored. For an example of how to use the READFILE keyword, see .\",\"help\":\"READFILE *filename*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1li5qema2sdg8n1x6wp32phsrdk\"}],\"supportSiteTargetFragment\":\"p0xck4wrtsn20dn1s6kpiduopwxf\"}],\"supportSiteTargetFile\":\"n12zrkr08eiacmn17lcv4fmt79tb.htm\"}],\"supportSiteInformation\":{\"docsetId\":\"proc\",\"docsetVersion\":\"v_002\",\"docsetTargetFile\":\"p06pqn7v5nkz02n0zkpq7832j1yp.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/STYLEGAN.json",
    "content": "{\"name\":\"STYLEGAN\",\"statements\":[{\"name\":\"PROC STYLEGAN\",\"description\":\"The STYLEGAN Procedure trains a Style GAN model on images in SAS Viya. PROC STYLEGAN implements the Style GAN version 2 model by using the PyTorch library.\",\"help\":\"PROC STYLEGAN  IMAGESIZE=number<options>;                 \\n\\tOPTIMIZATION <options>;                 \\n\\n\\tOUTPUT  OUT=libref.data-table;                 \\n\\n\\tSAVESTATE  RSTORE=libref.data-table;                 \\n\\n\\tTRAIN <options>;                 \\n\",\"arguments\":[{\"name\":\"IMAGESIZE=\",\"description\":\"specifies the image size (width of square images in pixels) in the training data\",\"help\":\"IMAGESIZE=*number*\",\"type\":\"value\"},{\"name\":\"DATA=\",\"optional\":true,\"description\":\"names the input data table for PROC STYLEGAN to use\",\"help\":\"DATA=*libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"DETERMINISTIC\",\"optional\":true,\"description\":\"DETERMINISTIC} tells the NVIDIA CUDA Deep Neural Network library (cuDNN) that you want only the deterministic implementations\",\"type\":\"standalone\"},{\"name\":\"NUMSAMPLES=\",\"optional\":true,\"description\":\"specifies the number of sample images to generate\",\"help\":\"NUMSAMPLES=*number*\",\"type\":\"value\"},{\"name\":\"SCORESEED=\",\"optional\":true,\"description\":\"specifies the seed to use for the random number generator for scoring\",\"help\":\"SCORESEED=*number*\",\"type\":\"value\"},{\"name\":\"SEED=\",\"optional\":true,\"description\":\"specifies the seed to use for the random number generator for training\",\"help\":\"SEED=*number*\",\"type\":\"value\"},{\"name\":\"USEGPU\",\"optional\":true,\"description\":\"specifies that a GPU device is to be used\",\"help\":\"USEGPU(*suboptions*)\",\"type\":\"value\",\"arguments\":[{\"name\":\"DEVICE=\",\"description\":\"specifies the ID number of the GPU device that is to be used\",\"help\":\"DEVICE=*id-number*\",\"type\":\"value\"}]}]},{\"name\":\"OPTIMIZATION\",\"description\":\"specifies the optimizer parameters to use in training the style GAN model\",\"help\":\"OPTIMIZATION &lt;options&gt;;                                              \",\"arguments\":[{\"name\":\"ADAM\",\"optional\":true,\"description\":\"specifies the optimization method to use in training the GAN model\",\"help\":\"ADAM (BETA1=*number* BETA2=*number*)\",\"type\":\"value\",\"arguments\":[{\"name\":\"BETA1=\",\"description\":\"specifies the exponential decay rate for the first-moment estimates\",\"help\":\" BETA1=*number*\",\"type\":\"value\"},{\"name\":\"BETA2=\",\"description\":\"specifies the exponential decay rate for the second-moment estimates\",\"help\":\" BETA2=*number*\",\"type\":\"value\"}]},{\"name\":\"LEARNINGRATE=\",\"optional\":true,\"description\":\"specifies the learning rate for the optimizer\",\"help\":\" LEARNINGRATE=*number*\",\"type\":\"value\"},{\"name\":\"MINIBATCHSIZE=\",\"optional\":true,\"description\":\"specifies the number of images in one minibatch\",\"help\":\" MINIBATCHSIZE=*number*\",\"type\":\"value\"},{\"name\":\"NUMITERS=\",\"optional\":true,\"description\":\"specifies the number of minibatches to be used for training the GAN model\",\"help\":\" NUMITERS=*number*\",\"type\":\"value\"}]},{\"name\":\"OUTPUT\",\"description\":\"creates an output data table that contains the results of PROC STYLEGAN\",\"help\":\"OUTPUT  OUT=*libref.data-table*;                                              \",\"arguments\":[{\"name\":\"OUT=\",\"optional\":true,\"description\":\"specifies the output table in which to store the generated images from the trained model\",\"help\":\"OUT=*libref.data-table*\",\"type\":\"dataSet\"}]},{\"name\":\"SAVESTATE\",\"description\":\"creates an analytic store for the model and saves it as a binary object in a data table\",\"help\":\"SAVESTATE  RSTORE=*libref.data-table*;                                              \",\"arguments\":[{\"name\":\"RSTORE=\",\"description\":\"specifies a data table in which to save the analytic store for the model\",\"help\":\"RSTORE=*libref.data-table*\",\"type\":\"dataSet\"}]},{\"name\":\"TRAIN\",\"description\":\"specifies the training parameters to use for training the style GAN model\",\"help\":\"TRAIN &lt;options&gt;;                                              \",\"arguments\":[{\"name\":\"CHECKPOINTFREQ=\",\"optional\":true,\"description\":\"specifies the frequency at which to save a checkpoint during the training\",\"help\":\"CHECKPOINTFREQ=*integer*\",\"type\":\"value\"},{\"name\":\"CHECKPOINTIN=\",\"optional\":true,\"description\":\"specifies the checkpoint table to be loaded to restore your model\",\"help\":\"CHECKPOINTIN=*libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"CHECKPOINTOUT=\",\"optional\":true,\"description\":\"specifies the table in which to save the current model as a checkpoint\",\"help\":\"CHECKPOINTOUT=*libref.output-table*\",\"type\":\"dataSet\"},{\"name\":\"NTRUNCATIONLATENTS=\",\"optional\":true,\"description\":\"specifies the number of latents to use in calculating the truncation mean\",\"help\":\"NTRUNCATIONLATENTS=*integer*\",\"type\":\"value\"},{\"name\":\"PRINTFREQ=\",\"optional\":true,\"description\":\"specifies the frequency at which to print losses to the log and the iteration history table\",\"help\":\"PRINTFREQ=*integer*\",\"type\":\"value\"},{\"name\":\"REGDFREQ=\",\"optional\":true,\"description\":\"specifies the frequency at which to regularize the discriminator\",\"help\":\"REGDFREQ=*integer*\",\"type\":\"value\"},{\"name\":\"REGGFREQ=\",\"optional\":true,\"description\":\"specifies the frequency at which to regularize the generator\",\"help\":\"REGGFREQ=*integer*\",\"type\":\"value\"},{\"name\":\"REGPATHWEIGHT=\",\"optional\":true,\"description\":\"specifies the weight for regularizing the path length loss\",\"help\":\"REGPATHWEIGHT=*number*\",\"type\":\"value\"},{\"name\":\"REGR1WEIGHT=\",\"optional\":true,\"description\":\"specifies the weight for regularizing the R1 loss\",\"help\":\"REGR1WEIGHT=*number*\",\"type\":\"value\"},{\"name\":\"TRUNCATION=\",\"optional\":true,\"description\":\"specifies the truncation ratio for image generation\",\"help\":\"TRUNCATION=*number*\",\"type\":\"value\"},{\"name\":\"USESMALLNETWORK\",\"optional\":true,\"description\":\"USESMALLNETWORK} specifies that small networks are to be used\",\"type\":\"standalone\"}]}],\"supportSiteInformation\":{\"docsetId\":\"casml\",\"docsetVersion\":\"latest\",\"docsetTargetFile\":\"casml_stylegan_toc.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/SUMMARY.json",
    "content": "{\"name\":\"SUMMARY\",\"statements\":[{\"name\":\"PROC SUMMARY\",\"description\":\"Computes descriptive statistics for variables across all observations or within groups of observations.\",\"help\":\"PROC SUMMARY <options><statistic-keyword(s)>;       \\n\\tATTRIB  variable-list(s) attribute-list(s);\\n\\n\\tBY <DESCENDING>variable-1<<DESCENDING>variable-2  ...>\\n\\t\\t<NOTSORTED>;\\n\\n\\tCLASS variable(s)</ options>;\\n\\n\\tFORMAT variable-1< ...variable-n><format><DEFAULT=default-format>;\\n\\n\\tFREQ variable;\\n\\n\\tID variable(s);\\n\\n\\tLABEL variable-1=label-1< ...variable-n=label-n>;\\n\\n\\tOUTPUT <OUT=SAS-data-set><output-statistic-specification(s)>\\n\\t\\t<id-group-specification(s)><maximum-id-specification(s)>\\n\\t\\t<minimum-id-specification(s)></ options>      ;\\n\\n\\tTYPES request(s);\\n\\n\\tVAR variable(s)</ WEIGHT=weight-variable>;\\n\\n\\tWAYS list;\\n\\n\\tWEIGHT variable;\\n\\n\\tWHERE where-expression-1\\n\\t\\t<logical-operator where-expression-n>;     \\n\",\"arguments\":[{\"name\":\"ALPHA=\",\"optional\":true,\"description\":\"specifies the confidence level for the confidence limits.\",\"help\":\"ALPHA=*value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1s22hbbyw8x52n13u68ysifgyfxa\"},{\"name\":\"CHARTYPE\",\"optional\":true,\"description\":\"specifies that the _TYPE_ variable contain character values.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0iq0ml0ccsemvn1a4rqnmu1p8o5a\"},{\"name\":\"CLASSDATA=\",\"optional\":true,\"description\":\"specifies a secondary data set that contains the combinations of class variables to analyze.\",\"help\":\"CLASSDATA=*SAS-data-set*\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"n0padmzlcjwc6in1w3hxp6818n2ba\"},{\"name\":\"COMPLETETYPES\",\"optional\":true,\"description\":\"creates all possible combinations of class variable values.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1terqe3hgwedcn1fvzn3i20lh6oa\"},{\"name\":\"DATA=\",\"optional\":true,\"description\":\"specifies the input data set.\",\"help\":\"DATA=*SAS-data-set*\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"p1gzer747f4otln1xvgs59s6jxtba\"},{\"name\":\"DESCENDTYPES\",\"optional\":true,\"aliases\":[\"DESCENDING\",\"DESCEND\"],\"description\":\"orders the output data set by descending _TYPE_ value.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0972mrt0j84myn14m720wcuxj1ha\"},{\"name\":\"EXCLNPWGT\",\"optional\":true,\"aliases\":[\"EXCLNPWGTS\"],\"description\":\"excludes observations with nonpositive weights from the analysis.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0z920azg9nefgn1lkkvzox5rz25a\"},{\"name\":\"EXCLUSIVE\",\"optional\":true,\"description\":\"excludes from the analysis all combinations of class variable values that are not in the CLASSDATA= data set.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1sfkv0pa645z0n1uroc5wc896x2a\"},{\"name\":\"FW=\",\"optional\":true,\"description\":\"specifies the field width for the statistics.\",\"help\":\"FW=*field-width*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1fyn8gnpfno34n1mnq6u8blhg79a\"},{\"name\":\"INCAS=\",\"optional\":true,\"description\":\"specifies whether to allow in-CAS processing.\",\"help\":\"INCAS=(YES | NO)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YES\",\"description\":\"Use in-CAS processing. YES is the default.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1qs9fx0svc4c1n10zito6sv4zfpa\"},{\"name\":\"NO\",\"description\":\"Do not use in-CAS processing.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p16ypn8u9k2x8pn1lwc5mmw9cmhva\"}],\"supportSiteTargetFragment\":\"n114z5pqzvnrwon1mu0ue47q6ntca\"},{\"name\":\"IDMIN\",\"optional\":true,\"description\":\"selects ID variables based on minimum values.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p19tmjzicqelh2n1ewisw6iy7cvha\"},{\"name\":\"MAXDEC=\",\"optional\":true,\"description\":\"specifies the number of decimal places for the statistics.\",\"help\":\"MAXDEC=*number*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1m8zxfes82ykcn1ij2cy50zo7c8a\"},{\"name\":\"MISSING\",\"optional\":true,\"description\":\"uses missing values as valid values to create combinations of class variables.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1gihcptfgsw4pn1ocdf32e01qhwa\"},{\"name\":\"NOLABEL\",\"optional\":true,\"description\":\"suppresses variable labels.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n12tnyfjpyk7hdn18pkjrac5tqeza\"},{\"name\":\"NONOBS\",\"optional\":true,\"description\":\"suppresses reporting the total number of observations for each unique combination of the class variables.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1snnp2pa49hdmn18lyyvb2d8agia\"},{\"name\":\"NOPRINT\",\"optional\":true,\"description\":\"suppresses all displayed output.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1h4u2gqxgnpvpn12iyihb4q7tuoa\"},{\"name\":\"NOTRAP\",\"optional\":true,\"description\":\"disables floating point exception recovery.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1a0ogjdm3o3v1n1n725sf3vmg5va\"},{\"name\":\"NWAY\",\"optional\":true,\"description\":\"limits the output statistics to the observations with the highest _TYPE_ value.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n10z5tfgi3j0h9n19pq7bbgn9tvea\"},{\"name\":\"ORDER=\",\"optional\":true,\"description\":\"orders the values of the class variables according to the specified order.\",\"help\":\"ORDER=DATA | FORMATTED | FREQ | UNFORMATTED\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DATA\",\"description\":\"orders values according to their order in the input data set.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0m4bo115hfiwzn12rcewcb5yniya\"},{\"name\":\"FORMATTED\",\"aliases\":[\"FMT\",\"EXTERNAL\"],\"description\":\"orders values by their ascending formatted values. This order depends on your operating environment.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0huk2edozl4dpn1xj8w10jrltvwa\"},{\"name\":\"FREQ\",\"description\":\"orders values by descending frequency count so that levels with the most observations are listed first.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1nofnwkb2dn96n1dk137o9ftx1ea\"},{\"name\":\"UNFORMATTED\",\"aliases\":[\"UNFMT\",\"INTERNAL\"],\"description\":\"orders values by their unformatted values, which yields the same order as PROC SORT. This order depends on your operating environment.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1x2lqv65kjdxbn1p0u8ezghccuua\"}],\"supportSiteTargetFragment\":\"p19vuldjddab5in1c08tplk61b1fa\"},{\"name\":\"PRINT\",\"optional\":true,\"description\":\"displays the output.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p07ne67wjg1ud7n147cddfzb2jjia\"},{\"name\":\"PRINTALLTYPES\",\"optional\":true,\"aliases\":[\"PRINTALL\"],\"description\":\"displays the analysis for all requested combinations of class variables.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p187iacq9hwke8n14o5r3tvqbo9la\"},{\"name\":\"PRINTIDVARS\",\"optional\":true,\"aliases\":[\"PRINTIDS\"],\"description\":\"displays the values of the ID variables.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1nkj2utfryvfon1qjlc113i3j6ka\"},{\"name\":\"QMARKERS=\",\"optional\":true,\"description\":\"specifies the sample size to use for the P2 quantile estimation method.\",\"help\":\"QMARKERS=*number*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0ru0h91sfgb38n1p2d0oec1bulja\"},{\"name\":\"QMETHOD=\",\"optional\":true,\"description\":\"specifies the quantile estimation method.\",\"help\":\"QMETHOD=OS | P2\",\"type\":\"choice\",\"arguments\":[{\"name\":\"OS\",\"description\":\"uses order statistics. This method is the same method that PROC UNIVARIATE uses.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0wtqr9m26pbb0n1qktaliwgjq4ea\"},{\"name\":\"P2\",\"description\":\"uses the P² method to approximate the quantile.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0a1gskh119r3jn1gpkrg134b71la\"}],\"supportSiteTargetFragment\":\"p18tj2sqwwl2wmn15pnha8y6ri44a\"},{\"name\":\"QNTLDEF=\",\"optional\":true,\"aliases\":[\"PCTLDEF=\"],\"description\":\"specifies the mathematical definition used to compute quantiles.\",\"help\":\"QNTLDEF=1 | 2 | 3 | 4 | 5\",\"type\":\"choice\",\"arguments\":[{\"name\":\"1\",\"type\":\"standalone\"},{\"name\":\"2\",\"type\":\"standalone\"},{\"name\":\"3\",\"type\":\"standalone\"},{\"name\":\"4\",\"type\":\"standalone\"},{\"name\":\"5\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"n1xsk6v7ixfsrmn1phcsrgps47mia\"},{\"name\":\"statistic-keyword\",\"optional\":true,\"placeholder\":true,\"description\":\"selects the statistics.\",\"help\":\"*statistic-keyword(s)*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n11nn4xu6p9wvjn1lh60wtvvn538a\"},{\"name\":\"STACKODSOUTPUT\",\"optional\":true,\"aliases\":[\"STACKODS\"],\"description\":\"produces an ODS output object\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1jlrxmcdwyj5nn1ug9fmdzp9c2la\"},{\"name\":\"SUMSIZE=\",\"optional\":true,\"description\":\"specifies the amount of memory to use for data summarization with class variables.\",\"help\":\"SUMSIZE=*value*\",\"type\":\"value\",\"arguments\":[{\"name\":\"n\",\"placeholder\":true,\"description\":\"specifies the amount of memory available in bytes, kilobytes, megabytes, or gigabytes, respectively. If n is 0, then PROC MEANS use the value of the SAS system option SUMSIZE=.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0omxyl034aogvn1voap1pqe4mjia\"},{\"name\":\"K\",\"description\":\"specifies the amount of memory available in bytes, kilobytes, megabytes, or gigabytes, respectively. If n is 0, then PROC MEANS use the value of the SAS system option SUMSIZE=.\",\"help\":\"*n*K\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0omxyl034aogvn1voap1pqe4mjia\"},{\"name\":\"M\",\"description\":\"specifies the amount of memory available in bytes, kilobytes, megabytes, or gigabytes, respectively. If n is 0, then PROC MEANS use the value of the SAS system option SUMSIZE=.\",\"help\":\"*n*M\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0omxyl034aogvn1voap1pqe4mjia\"},{\"name\":\"G\",\"description\":\"specifies the amount of memory available in bytes, kilobytes, megabytes, or gigabytes, respectively. If n is 0, then PROC MEANS use the value of the SAS system option SUMSIZE=.\",\"help\":\"*n*G\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0omxyl034aogvn1voap1pqe4mjia\"},{\"name\":\"MAXIMUM\",\"description\":\"specifies the maximum amount of memory that is available.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0142n0xgk88ain1tyx2jvuf9rgka\"},{\"name\":\"MAX\",\"description\":\"specifies the maximum amount of memory that is available.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0142n0xgk88ain1tyx2jvuf9rgka\"}],\"supportSiteTargetFragment\":\"p1d30rdp6kbch5n14d8j3ytbuwela\"},{\"name\":\"THREADS\",\"optional\":true,\"description\":\"overrides the SAS system option THREADS | NOTHREADS.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0sr73r5sqdysln1pj92fpax4ab2a\"},{\"name\":\"NOTHREADS\",\"optional\":true,\"description\":\"overrides the SAS system option THREADS | NOTHREADS.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0sr73r5sqdysln1pj92fpax4ab2a\"},{\"name\":\"VARDEF=\",\"optional\":true,\"description\":\"specifies the variance divisor.\",\"help\":\"VARDEF=DF | N | WDF | WEIGHT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DF\",\"type\":\"standalone\"},{\"name\":\"N\",\"type\":\"standalone\"},{\"name\":\"WDF\",\"type\":\"standalone\"},{\"name\":\"WEIGHT\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"p16znqh7q08cpan1ngx5x6wddihda\"},{\"name\":\"CLM\",\"optional\":true,\"description\":\"is a descriptive statistic keyword.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1tj8qhu2tfk7on1tb08ywftac3ja\"},{\"name\":\"CSS\",\"optional\":true,\"description\":\"is a descriptive statistic keyword.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1kls9bjeezvzyn1dayhkah7oabga\"},{\"name\":\"KURTOSIS\",\"optional\":true,\"aliases\":[\"KURT\"],\"description\":\"is a descriptive statistic keyword.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0pqsa06jnoa2hn0zs402wbk0ewba\"},{\"name\":\"LCLM\",\"optional\":true,\"description\":\"is a descriptive statistic keyword.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1apantzuzykuxn1bv6h31vb06rxa\"},{\"name\":\"MAX\",\"optional\":true,\"description\":\"is a descriptive statistic keyword.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0bw0c0q1r0nmun1n6naaqwfazcba\"},{\"name\":\"MEAN\",\"optional\":true,\"description\":\"is a descriptive statistic keyword.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0o9s9opl7fv7ln1wp8x4buz3yz9a\"},{\"name\":\"MIN\",\"optional\":true,\"description\":\"is a descriptive statistic keyword.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1hy0m743cf7w8n1olhr19cimgl0a\"},{\"name\":\"MODE\",\"optional\":true,\"description\":\"is a descriptive statistic keyword.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p07t3gpg45a9jen176bsbqw3tnj2a\"},{\"name\":\"N\",\"optional\":true,\"description\":\"is a descriptive statistic keyword.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1ifmajlp0pjm1n1x4kktrwzeul4a\"},{\"name\":\"NMISS\",\"optional\":true,\"description\":\"is a descriptive statistic keyword.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p10ceuzqtsroj1n1hoj7yibtk7kva\"},{\"name\":\"RANGE\",\"optional\":true,\"description\":\"is a descriptive statistic keyword.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0lk7snqraxclbn1f6p1hj4utn2ga\"},{\"name\":\"SKEWNESS\",\"optional\":true,\"aliases\":[\"SKEW\"],\"description\":\"is a descriptive statistic keyword.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1gwzayn9vltqpn1mmoccqpiag95a\"},{\"name\":\"STDDEV\",\"optional\":true,\"aliases\":[\"STD\"],\"description\":\"is a descriptive statistic keyword.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0hpd4q46aafcbn1spkd25n4w4g4a\"},{\"name\":\"STDERR\",\"optional\":true,\"description\":\"is a descriptive statistic keyword.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n17efpoodq50enn10l42mvrx48q4a\"},{\"name\":\"SUM\",\"optional\":true,\"description\":\"is a descriptive statistic keyword.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1bm7sfv4dh8fsn1bidiwvag9ldba\"},{\"name\":\"SUMWGT\",\"optional\":true,\"description\":\"is a descriptive statistic keyword.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1jacrnsbpojxxn1xc7pckaprnu3a\"},{\"name\":\"UCLM\",\"optional\":true,\"description\":\"is a descriptive statistic keyword.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1famd6yvshquun100n5gn6ujo0ga\"},{\"name\":\"USS\",\"optional\":true,\"description\":\"is a descriptive statistic keyword.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0kpsb2g4dcnqzn19ul67afz6r2ea\"},{\"name\":\"VAR\",\"optional\":true,\"description\":\"is a descriptive statistic keyword.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1597dxvdhizr2n1aa2p7cexno7ia\"},{\"name\":\"MEDIAN\",\"optional\":true,\"aliases\":[\"P50\"],\"description\":\"is a quantile statistic keyword.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0ga7lrzhqgztwn1c7tec62fw2mja\"},{\"name\":\"P1\",\"optional\":true,\"description\":\"is a quantile statistic keyword.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p113gnarin5s5fn0z6yjhh2k8wwla\"},{\"name\":\"P5\",\"optional\":true,\"description\":\"is a quantile statistic keyword.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0d7syveyctywgn1y0s6gvctvzvma\"},{\"name\":\"P10\",\"optional\":true,\"description\":\"is a quantile statistic keyword.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p125lg7f0n77rzn1rcw5bcsjb26ba\"},{\"name\":\"P20\",\"optional\":true,\"description\":\"is a quantile statistic keyword.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0hui480upgisqn1qoen4qlr093la\"},{\"name\":\"P40\",\"optional\":true,\"description\":\"is a quantile statistic keyword.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0chro3rthj2oqn1wv6w3eze1l4aa\"},{\"name\":\"P70\",\"optional\":true,\"description\":\"is a quantile statistic keyword.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1a94hhyy4nbxvn1kijqv4qlzcoia\"},{\"name\":\"Q1\",\"optional\":true,\"aliases\":[\"P25\"],\"description\":\"is a quantile statistic keyword.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0o9oostj28g8zn167hjiudicp4za\"},{\"name\":\"Q3\",\"optional\":true,\"aliases\":[\"P75\"],\"description\":\"is a quantile statistic keyword.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p13vg4u6t5q9kkn1tp57lyhwews7a\"},{\"name\":\"P90\",\"optional\":true,\"description\":\"is a quantile statistic keyword.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1rmn4trwz7djwn1p3kk5ng0jlw9a\"},{\"name\":\"P95\",\"optional\":true,\"description\":\"is a quantile statistic keyword.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1mvfvro67nl54n1a6dobn15ezgba\"},{\"name\":\"P99\",\"optional\":true,\"description\":\"is a quantile statistic keyword.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1dl2u7yuqh7k5n1nttged64rm70a\"},{\"name\":\"P30\",\"optional\":true,\"description\":\"is a quantile statistic keyword.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1j1j46v71vxg6n1uh906ihbc0qoa\"},{\"name\":\"P60\",\"optional\":true,\"description\":\"is a quantile statistic keyword.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0rk2fj3gm3tn3n148kp90s1hug5a\"},{\"name\":\"P80\",\"optional\":true,\"description\":\"is a quantile statistic keyword.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0yomgtvcjahorn1x2pbjz2l6194a\"},{\"name\":\"QRANGE\",\"optional\":true,\"description\":\"is a quantile statistic keyword.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0hd2al4bdzwkan151cmab87v7twa\"},{\"name\":\"PROBT\",\"optional\":true,\"aliases\":[\"PBT\"],\"description\":\"is a hypothesis testing keyword.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1h2z3xuq6lawin1uh0y6cupaiqna\"},{\"name\":\"T\",\"optional\":true,\"description\":\"is a hypothesis testing keyword.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n08w40rqhn9rt3n1fnqztpi3e90sa\"}],\"supportSiteTargetFile\":\"p1nq9wozc7uw3hn1uni965howprl.htm\"},{\"name\":\"ATTRIB\",\"description\":\"Associates a format, informat, label, and length with one or more variables.\",\"help\":\"ATTRIB  *variable-list(s)**attribute-list(s)*;\",\"arguments\":[{\"name\":\"variable-list\",\"optional\":true,\"placeholder\":true,\"description\":\"names the variables that you want to associate with the attributes.\",\"help\":\"*variable-list(s)*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1nd0mq22iu6ovn14mz1ot1hwcjii\"},{\"name\":\"FORMAT=\",\"description\":\"associates a format with variables in variable-list.\",\"help\":\"FORMAT=*format*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p08pt9ce6bhq86n18a3zcc97bldzi\"},{\"name\":\"INFORMAT=\",\"description\":\"associates an informat with variables in variable-list.\",\"help\":\"INFORMAT=*informat*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n136glco6ritqdn160792yhk9mv1i\"},{\"name\":\"LABEL=\",\"description\":\"associates a label with variables in variable-list.\",\"help\":\"LABEL='*label*' \",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0a9x9io5pi05mn1i4p2cphc7t0ni\"}],\"supportSiteTargetFile\":\"n04pixwhr1atzln1dow0e10lyibsh.htm\"},{\"name\":\"BY\",\"description\":\"Orders the output according to the BY groups.\",\"help\":\"BY <DESCENDING>variable-1\\n\\t<… <DESCENDING> variable-n>\\n\\t<NOTSORTED>;\",\"arguments\":[{\"name\":\"variable\",\"placeholder\":true,\"description\":\"specifies the variable that the procedure uses to form BY groups. You can specify more than one variable. If you do not use the NOTSORTED option in the BY statement, then either the observations in the data set must be sorted by all the variables that you specify, or they must be indexed appropriately. Variables in a BY statement are called BY variables.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0e9kbav2i9chhn1xectebpz4s14e\"},{\"name\":\"DESCENDING\",\"optional\":true,\"description\":\"specifies that the observations are sorted in descending order by the variable that immediately follows the word DESCENDING in the BY statement.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1au0lhf4hi1h2n1le3cx2tp74l5e\"},{\"name\":\"NOTSORTED\",\"optional\":true,\"description\":\"specifies that observations are not necessarily sorted in alphabetic or numeric order. The observations are grouped in another way (for example, chronological order).\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p068zvjhrpn2awn1bygis4m6hppae\"}],\"supportSiteTargetFile\":\"n13shq4na41y5wn14t67d8l6wgq8e.htm\"},{\"name\":\"CLASS\",\"aliases\":[\"CLASSES\"],\"description\":\"Specifies the variables whose values define the subgroup combinations for the analysis.\",\"help\":\"CLASS *variable(s)*&lt;/ *options*&gt;;\",\"arguments\":[{\"name\":\"variable\",\"placeholder\":true,\"description\":\"specifies one or more variables that the procedure uses to group the data. Variables in a CLASS statement are referred to as class variables. Class variables are numeric or character. Class variables can have continuous values, but they typically have a few discrete values that define levels of the variable. You do not have to sort the data by class variables.\",\"help\":\"*variable(s)*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0xdbqeecc3qzcn1oyj1j5kiqhwua\"},{\"name\":\"ASCENDING\",\"optional\":true,\"aliases\":[\"ASCEND\"],\"description\":\"specifies to sort the class variable levels in ascending order.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1cy87vl8ngdlsn1vd9ls38f4xo0a\"},{\"name\":\"DESCENDING\",\"optional\":true,\"aliases\":[\"DESCEND\"],\"description\":\"specifies to sort the class variable levels in descending order.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1de8k6wf2uqlmn1el7alm4xsf81a\"},{\"name\":\"EXCLUSIVE\",\"optional\":true,\"description\":\"excludes from the analysis all combinations of the class variables that are not found in the preloaded range of user-defined formats.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1meuhaks5wybon12yv08flegybda\"},{\"name\":\"GROUPINTERNAL\",\"optional\":true,\"description\":\"specifies not to apply formats to the class variables when PROC MEANS groups the values to create combinations of class variables.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p175w9ogoqswumn1hgtl0980uwt3a\"},{\"name\":\"MISSING\",\"optional\":true,\"description\":\"considers missing values as valid values for the class variable levels. Special missing values that represent numeric values (the letters A through Z and the underscore (_) character) are each considered as a separate value.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0354l8zc8umckn1ok5mt6rzf8jta\"},{\"name\":\"MLF\",\"optional\":true,\"description\":\"enables PROC MEANS to use the primary and secondary format labels for a given range or overlapping ranges to create subgroup combinations when a multilabel format is assigned to a class variable.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p123wmftgjeqxvn1er5k8a4dk851a\"},{\"name\":\"ORDER=\",\"optional\":true,\"description\":\"specifies the order to group the levels of the class variables in the output, where\",\"help\":\"ORDER=DATA | FORMATTED | FREQ | UNFORMATTED\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DATA\",\"description\":\"orders values according to their order in the input data set.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1pq15uuhy54stn1gct9r8esuu6ya\"},{\"name\":\"FORMATTED\",\"aliases\":[\"FMT\",\"EXTERNAL\"],\"description\":\"orders values by their ascending formatted values. This order depends on your operating environment. If no format has been assigned to a class variable, then the default format, BEST12., is used.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0f3z28mns0077n1kev0pxfzmfrna\"},{\"name\":\"FREQ\",\"description\":\"orders values by descending frequency count so that levels with the most observations are listed first.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n17ej7jg30fh7yn1fxs880kw69qfa\"},{\"name\":\"UNFORMATTED\",\"aliases\":[\"UNFMT\",\"INTERNAL\"],\"description\":\"orders values by their unformatted values, which yields the same order as PROC SORT. This order depends on your operating environment. This sort sequence is particularly useful for displaying dates chronologically.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1n06hkbnimf47n1jxsgh1ds3kd1a\"}],\"supportSiteTargetFragment\":\"n09pd4g8nj6dzln1b8hug6tj2m0pa\"},{\"name\":\"PRELOADFMT\",\"optional\":true,\"description\":\"specifies that all formats are preloaded for the class variables.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0nahy480eyb0hn1618r62dvi6wha\"}],\"supportSiteTargetFile\":\"p0gpxoqczfzcyln13ma53kpq38loa.htm\"},{\"name\":\"FORMAT\",\"description\":\"Associates formats with variables.\",\"help\":\"FORMAT *variable-1*&lt; ...*variable-n*&gt;*format**variable-1*&lt; ...*variable-n*&gt;*format*;\",\"arguments\":[{\"name\":\"variable\",\"optional\":true,\"placeholder\":true,\"description\":\"names one or more variables for SAS to associate with a format. You must specify at least one variable.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1d0cionbspk2tn1ma0m6kjd1ntxi\"},{\"name\":\"format\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the format that is listed for writing the values of the variables.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n15nxwcex8m202n1dp4xwbds95t9i\"}],\"supportSiteTargetFile\":\"p02hzcxsifsk8dn1a53t49zqd82ci.htm\"},{\"name\":\"FREQ\",\"aliases\":[\"FREQUENCY\"],\"description\":\"Specifies a numeric variable that contains the frequency of each observation.\",\"help\":\"FREQ *variable*;\",\"arguments\":[{\"name\":\"variable\",\"placeholder\":true,\"description\":\"specifies a numeric variable whose value represents the frequency of the observation. If you use the FREQ statement, then the procedure assumes that each observation represents n observations, where n is the value of variable. If n is not an integer, then SAS truncates it. If n is less than 1 or is missing, then the procedure does not use that observation to calculate statistics.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n09r5rdafxlqwnn17wnrm8lkikvza\"}],\"supportSiteTargetFile\":\"p077f1i147m5k1n11qixyg0q9m9ra.htm\"},{\"name\":\"ID\",\"description\":\"Includes additional variables in the output data set.\",\"help\":\"ID *variable(s)*;\",\"arguments\":[{\"name\":\"variable\",\"placeholder\":true,\"description\":\"identifies one or more variables from the input data set whose maximum values for groups of observations PROC MEANS includes in the output data set.\",\"help\":\"*variable(s)*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p04crg6eisoxion1nhfito9ds4yna\"}],\"supportSiteTargetFile\":\"n1niocuk07q2wnn16mz96fboupgca.htm\"},{\"name\":\"LABEL\",\"description\":\"Assigns descriptive labels to variables.\",\"help\":\"LABEL variable-1 = 'text-string' < ...variable-n = 'text-string'>;\\nLABEL variable-1 = ' ' < ...variable-n=’ ‘>; | variable-1 = < ...variable-n= >;\",\"arguments\":[{\"name\":\"text-string\",\"placeholder\":true,\"description\":\"specifies a label of up to 256 bytes.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n09u0k5ydxzgr3n1dfznhvex7uuoi\"},{\"name\":\"'\",\"placeholder\":true,\"description\":\"removes a label from a variable. Enclose a single blank space in quotation marks to remove an existing label. You can remove labels from multiple variables in a single LABEL statement:\",\"help\":\"*' '*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1dl99omzes92cn1typpf6yl1ng0i\"}],\"supportSiteTargetFile\":\"p1s0j2pii3oj7fn1f87s02j4zo52i.htm\"},{\"name\":\"OUTPUT\",\"description\":\"Writes statistics to a new SAS data set.\",\"help\":\"OUTPUT <OUT=SAS-data-set>\\n<statistic-specifications>\\n<id-group-specifications><maximum-id-specifications>\\n<minimum-id-specifications></ options>;\",\"arguments\":[{\"name\":\"OUT=\",\"optional\":true,\"description\":\"names the new output data set. If SAS-data-set does not exist, then PROC MEANS creates it. If you omit OUT=, then the data set is named DATAn, where n is the smallest integer that makes the name unique.\",\"help\":\"OUT=*SAS-data-set*\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"n0yppqgrnr63b2n1571lkhu8wn34a\"},{\"name\":\"statistic-keyword\",\"placeholder\":true,\"description\":\"specifies which statistic to store in the output data set.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1lqx93is8jgn1n1mc44o273qyfza\"},{\"name\":\"variable-list\",\"placeholder\":true,\"description\":\"specifies the names of one or more numeric analysis variables whose statistics you want to store in the output data set.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1tzqdz21lswu3n1tx2jtnwtc3r6a\"},{\"name\":\"names\",\"placeholder\":true,\"description\":\"specifies one or more names for the variables in the output data set that contain the analysis variable statistics. The first name contains the statistic for the first analysis variable; the second name contains the statistic for the second analysis variable; and so on.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1ktj0n30xj39tn1b890lk7fk2oka\"},{\"name\":\"IDGROUP\",\"optional\":true,\"aliases\":[\"IDGRP\"],\"description\":\"combines the features and extends the ID statement, the IDMIN option in the PROC statement, and the MAXID and MINID options in the OUTPUT statement to create an OUT= data set that identifies multiple extreme values.\",\"help\":\"IDGROUP (&lt;MIN (*variable-list-1*) |  MAX (*variable-list-1*) &lt;…MIN (*variable-list-n*) |  MAX (*variable-list-n*) &gt;&gt; &lt;MISSING&gt; &lt;OBS&gt; &lt;LAST&gt;  OUT &lt;[*n*]&gt;  (*id-variable-list*)=&lt;*names*&gt;)\",\"type\":\"value\",\"arguments\":[{\"name\":\"LAST\",\"description\":\"specifies that the OUT= data set contains values from the last observation (or the last n observations, if n is specified).\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0fwlhoks3ly7cn1sdb31l0928fia\"},{\"name\":\"MAX\",\"description\":\"specifies the selection criteria to determine the maximum extreme values of one or more input data set variables specified in variable-list.\",\"help\":\"MAX(*variable-list*)\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p12yvywdy6kwt7n1szkey2wiw9zva\"},{\"name\":\"MIN\",\"description\":\"specifies the selection criteria to determine the minimum extreme values of one or more input data set variables specified in variable-list.\",\"help\":\"MIN(*variable-list*)\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0905hsspfbe8zn1lyryup3hhm8ua\"},{\"name\":\"MISSING\",\"aliases\":[\"MISS\"],\"description\":\"specifies that missing values be used in selection criteria.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p02maouvtpzvl9n126hb6dlrxwcqa\"},{\"name\":\"OBS\",\"description\":\"includes an _OBS_ variable in the OUT= data set that contains the number of the observation in the input data set where the extreme value was found.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1da677rxbqyj3n1t3cupv1ak3rda\"},{\"name\":\"[n]\",\"placeholder\":true,\"description\":\"specifies the number of extreme values for each variable in id-variable-list to include in the OUT= data set. PROC MEANS creates n new variables and uses the suffix _n to create the variable names, where n is a sequential integer from 1 to n.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0ts41alnt8b0mn1b44fd24bzvwia\"},{\"name\":\"(id-variable-list)\",\"placeholder\":true,\"aliases\":[\"IDGRP\"],\"description\":\"identifies one or more input data set variables whose values PROC MEANS includes in the OUT= data set. PROC MEANS determines which observations to generate by the selection criteria that you specify (MIN, MAX, and LAST).\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n16awg1yvh6psdn1dzv4uybvr87ea\"},{\"name\":\"names\",\"placeholder\":true,\"description\":\"specifies one or more names for variables in the OUT= data set.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0r4u6z1h2mxyvn13zequtilpnhja\"}],\"supportSiteTargetFragment\":\"p1p58yhxlrc0can1scam7bco7y96a\"},{\"name\":\"MAXID\",\"optional\":true,\"description\":\"specifies that one or more identification variables be associated with the maximum values of the analysis variables.\",\"help\":\"MAXID &lt;(*variable-1* &lt;(*id-variable-list-1*)&gt; &lt;…*variable-n*   &lt;(*id-variable-list-n*)&gt;&gt;)&gt; = *names*\",\"type\":\"value\",\"arguments\":[{\"name\":\"variable\",\"placeholder\":true,\"description\":\"identifies the numeric analysis variable whose maximum values PROC MEANS determines. PROC MEANS can determine several maximum values for a variable because, in addition to the overall maximum value, subgroup levels, which are defined by combinations of class variables values, also have maximum values.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n04vppxlq2ttocn118zniu1btfcia\"},{\"name\":\"id-variable-list\",\"placeholder\":true,\"description\":\"identifies one or more variables whose values identify the observations with the maximum values of the analysis variable.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0n8hq1i7mmgrin163a9x061683ra\"},{\"name\":\"names\",\"placeholder\":true,\"description\":\"specifies the names for new variables that contain the values of the identification variable associated with the maximum value of each analysis variable.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n03iukhdh8gfz9n1p33vdkm8pn50a\"}],\"supportSiteTargetFragment\":\"n18gev4bh8mlhvn1hwqda63fa30aa\"},{\"name\":\"MINID\",\"optional\":true,\"description\":\"see the description of maximum-id-specification. This option behaves in exactly the same way, except that PROC MEANS determines the minimum values instead of the maximum values.\",\"help\":\"MINID&lt;(*variable-1* &lt;(*id-variable-list-1*)&gt; &lt;…*variable-n*  &lt;(*id-variable-list-n*)&gt;&gt;)&gt; = *name(s)* \",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0hs0r9yoo17jtn107cwe0cr6lega\"},{\"name\":\"AUTOLABEL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that PROC MEANS appends the statistic name to the end of the variable label. If an analysis variable has no label, then PROC MEANS creates a label by appending the statistic name to the analysis variable name.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0fi38s26bofvcn1tuubwd7gcwlua\"},{\"name\":\"AUTONAME\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that PROC MEANS creates a unique variable name for an output statistic when you do not assign the variable name in the OUTPUT statement. This action is accomplished by appending to the statistic-keyword to the end of the input variable name from which the statistic was derived.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p17tgkdb4qu2b3n1jwfyngeaczmua\"},{\"name\":\"KEEPLEN\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that statistics in the output data set inherit the length of the analysis variable that PROC MEANS uses to derive them.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1i6fhy0i39iiln11k9qebhrcq5ea\"},{\"name\":\"LEVELS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"includes a variable named _LEVEL_ in the output data set. This variable contains a value from 1 to n that indicates a unique combination of the values of class variables (the values of _TYPE_ variable).\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p04p1a417w0v6qn1dlxvx7abv20oa\"},{\"name\":\"NOINHERIT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that the variables in the output data set that contain statistics do not inherit the attributes (label and format) of the analysis variables that are used to derive them.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p07dwafjyog3jkn10hkhkpss4uu6a\"},{\"name\":\"WAYS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"includes a variable named _WAY_ in the output data set. This variable contains a value from 1 to the maximum number of class variables that indicates how many class variables PROC MEANS combines to create the TYPE value.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p06jkev56a75ran1iihmf5z6sfmua\"},{\"name\":\"CLM\",\"optional\":true,\"description\":\"is a descriptive statistic keyword.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1ffyt1akgfdnzn12zlrso5xp3kga\"},{\"name\":\"CSS\",\"optional\":true,\"description\":\"is a descriptive statistic keyword.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1awyifo0il9d0n1v9kb6f5q8etfa\"},{\"name\":\"KURTOSIS\",\"optional\":true,\"aliases\":[\"KURT\"],\"description\":\"is a descriptive statistic keyword.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0aff2o0xqjddcn1jjrldtrrst2ea\"},{\"name\":\"LCLM\",\"optional\":true,\"description\":\"is a descriptive statistic keyword.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0ctjqna96wuuwn1pm16o8m60xs8a\"},{\"name\":\"MAX\",\"optional\":true,\"description\":\"is a descriptive statistic keyword.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1eahmqilp5j9hn1e01kuzgh12y6a\"},{\"name\":\"MEAN\",\"optional\":true,\"description\":\"is a descriptive statistic keyword.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p07rmif0f94khln178e2ga69e26ya\"},{\"name\":\"MIN\",\"optional\":true,\"description\":\"is a descriptive statistic keyword.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n16xvujog0lemqn1x1h4clj66afba\"},{\"name\":\"MODE\",\"optional\":true,\"description\":\"is a descriptive statistic keyword.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p19z1f21e1qu6bn1nzososzz2zz8a\"},{\"name\":\"N\",\"optional\":true,\"description\":\"is a descriptive statistic keyword.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0g9lvl3809gxsn1l6n8jo8mvu2sa\"},{\"name\":\"NMISS\",\"optional\":true,\"description\":\"is a descriptive statistic keyword.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1qwgoc1ke7v1nn1ku4f0bfxuj32a\"},{\"name\":\"RANGE\",\"optional\":true,\"description\":\"is a descriptive statistic keyword.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0lbofgdoiw0ddn1fz7x810q7fw5a\"},{\"name\":\"SKEWNESS\",\"optional\":true,\"aliases\":[\"SKEW\"],\"description\":\"is a descriptive statistic keyword.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1n1eucz7djhaqn1xb5ys84pdkvga\"},{\"name\":\"STDDEV\",\"optional\":true,\"aliases\":[\"STD\"],\"description\":\"is a descriptive statistic keyword.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1ibs543srmrjcn1orvq93l3862la\"},{\"name\":\"STDERR\",\"optional\":true,\"description\":\"is a descriptive statistic keyword.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n19c01l3dpjyy6n1e25n5l9ekpl0a\"},{\"name\":\"SUM\",\"optional\":true,\"description\":\"is a descriptive statistic keyword.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1qyuzpsa1a5z2n1ryqx15bdjrjoa\"},{\"name\":\"SUMWGT\",\"optional\":true,\"description\":\"is a descriptive statistic keyword.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0a79maqccbrcon1kacbc6p7knnaa\"},{\"name\":\"UCLM\",\"optional\":true,\"description\":\"is a descriptive statistic keyword.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p15mzaj0b15ecin1o8d1k9hi0f8la\"},{\"name\":\"USS\",\"optional\":true,\"description\":\"is a descriptive statistic keyword.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0uq2wqwstux73n103aphhxj13laa\"},{\"name\":\"VAR\",\"optional\":true,\"description\":\"is a descriptive statistic keyword.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1vqgi3g2qaa1zn1rj6lh76hrr6ca\"},{\"name\":\"MEDIAN\",\"optional\":true,\"aliases\":[\"P50\"],\"description\":\"is a quantile statistic keyword.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0dewqzlaqgptxn1kq1mvhhu608na\"},{\"name\":\"P1\",\"optional\":true,\"description\":\"is a quantile statistic keyword.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p13uvyirjaosbin1jl8kzia0iqkua\"},{\"name\":\"P5\",\"optional\":true,\"description\":\"is a quantile statistic keyword.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0c8ixhfsi2lwhn1lb2oob1j8g5ta\"},{\"name\":\"P10\",\"optional\":true,\"description\":\"is a quantile statistic keyword.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0m948otkp8aoqn1jbra2lt6fyrca\"},{\"name\":\"P20\",\"optional\":true,\"description\":\"is a quantile statistic keyword.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p13z32uowcwm2fn1n828f9sm4nh8a\"},{\"name\":\"P40\",\"optional\":true,\"description\":\"is a quantile statistic keyword.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0pjvqfx1esql2n16awf1v73x1eqa\"},{\"name\":\"P70\",\"optional\":true,\"description\":\"is a quantile statistic keyword.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p03o3piycpldpyn1rl0or18gg4uma\"},{\"name\":\"Q1\",\"optional\":true,\"aliases\":[\"P25\"],\"description\":\"is a quantile statistic keyword.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0fki1w3q5d28mn1f0eesiqa5k0da\"},{\"name\":\"Q3\",\"optional\":true,\"aliases\":[\"P75\"],\"description\":\"is a quantile statistic keyword.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1svpegri8sq7dn1224mqtptnh2fa\"},{\"name\":\"P90\",\"optional\":true,\"description\":\"is a quantile statistic keyword.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1izsrcdw468b5n1pop6xkqmnhvva\"},{\"name\":\"P95\",\"optional\":true,\"description\":\"is a quantile statistic keyword.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0k7xd3m41dzswn1uu2ky3o6yj0da\"},{\"name\":\"P99\",\"optional\":true,\"description\":\"is a quantile statistic keyword.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0zo9n3axkgcnsn1wpmmfavld4y8a\"},{\"name\":\"P30\",\"optional\":true,\"description\":\"is a quantile statistic keyword.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0hhoy1rgsnsb9n1oawpnqrha854a\"},{\"name\":\"P60\",\"optional\":true,\"description\":\"is a quantile statistic keyword.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n06mkscivf0efcn1l70vwfcygad9a\"},{\"name\":\"P80\",\"optional\":true,\"description\":\"is a quantile statistic keyword.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0fsebfh941mpmn19yjxhaxxqmcra\"},{\"name\":\"QRANGE\",\"optional\":true,\"description\":\"is a quantile statistic keyword.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1a485ry6poa1mn1334fw2r4qhuua\"},{\"name\":\"PROBT\",\"optional\":true,\"aliases\":[\"PBT\"],\"description\":\"is a hypothesis testing keyword.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0g3l5fijgo3bgn1x12aubf1dn4xa\"},{\"name\":\"T\",\"optional\":true,\"description\":\"is a hypothesis testing keyword.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1sv3i221m0tmpn1i41whekmges4a\"}],\"supportSiteTargetFile\":\"p04vbvpcjg2vrjn1v8wyf0daypfia.htm\"},{\"name\":\"TYPES\",\"description\":\"Identifies which of the possible combinations of class variables to generate.\",\"help\":\"TYPES *request(s)*;\",\"arguments\":[{\"name\":\"request\",\"placeholder\":true,\"description\":\"specifies which of the 2 to the k 2k combinations of class variables PROC MEANS uses to create the types, where k k is the number of class variables. A request includes one class variable name, several class variable names separated by asterisks, or ().\",\"help\":\"*request(s)*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1kp2jm2fdmwbxn1o5k64ifonujza\"}],\"supportSiteTargetFile\":\"p1ivm86f1sq3r1n13nykew2kdimpa.htm\"},{\"name\":\"VAR\",\"description\":\"Identifies the analysis variables and their order in the results.\",\"supportSiteTargetFile\":\"p1mq7x66t83ypqn1goff48xzzqyv.htm\"},{\"name\":\"WAYS\",\"description\":\"Specifies the number of ways to make unique combinations of class variables.\",\"help\":\"WAYS *list*;\",\"arguments\":[{\"name\":\"list\",\"placeholder\":true,\"description\":\"specifies one or more integers that define the number of class variables to combine to form all the unique combinations of class variables. For example, you can specify 2 for all possible pairs and 3 for all possible triples. The list can be specified in the following ways:\\n• <i>m</i>\\n• <i>m1 m2 … mn</i> \\n• <i>m1,m2,…,mn</i>  \\n• <i>m</i> TO <i>n</i> &lt;BY <i>increment</i>&gt;  \\n• <i>m1,m2</i> TO <i>m3</i> &lt;BY <i>increment</i>&gt;, <i>m4</i>\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0kh0rt20vdsvmn1i8nqg781c69ma\"}],\"supportSiteTargetFile\":\"n1affq2dctdc8un1eokb50s12qbga.htm\"},{\"name\":\"WEIGHT\",\"aliases\":[\"WGT\"],\"description\":\"Specifies weights for analysis variables in the statistical calculations. You can use a WEIGHT statement and a FREQ statement in the same step of any procedure that supports both statements.\",\"help\":\"WEIGHT *variable*;\",\"arguments\":[{\"name\":\"variable\",\"placeholder\":true,\"description\":\"specifies a numeric variable whose values weight the values of the analysis variables. The values of the variable do not have to be integers.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0ql2iebtqcvpsn1dqg6ckrut3oya\"}],\"supportSiteTargetFile\":\"n1fkicmznf5emon1h4av08a7rfwya.htm\"},{\"name\":\"WHERE\",\"description\":\"Subsets the input data set by specifying certain conditions that each observation must meet before it is available for processing.\",\"help\":\"WHERE where-expression-1\\n<logical-operator where-expression-n>; \",\"arguments\":[{\"name\":\"where-expression\",\"optional\":true,\"placeholder\":true,\"description\":\"is an arithmetic or logical expression that generally consists of a sequence of operands and operators.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p04iz9sx1znb6en1ptu9o3h9ns07i\"},{\"name\":\"logical-operator\",\"optional\":true,\"placeholder\":true,\"description\":\"can be AND, AND NOT, OR, or OR NOT.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0xd4nxmu81y3rn1lzcij1t759lni\"}],\"supportSiteTargetFile\":\"n0yu3xyqnznndnn0z1v515xzfeboi.htm\"}],\"supportSiteInformation\":{\"docsetId\":\"proc\",\"docsetVersion\":\"v_002\",\"docsetTargetFile\":\"p0aq3hsvflztfzn1xa2wt6s35oy6.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/SUPERLEARNER.json",
    "content": "{\"name\":\"SUPERLEARNER\",\"statements\":[{\"name\":\"PROC SUPERLEARNER\",\"description\":\"invokes the procedure\",\"help\":\"PROC SUPERLEARNER <options>;                 \\n\\tBASELEARNER  'name' model-type<(model-options)><input-options>;                 \\n\\n\\tCROSSVALIDATION <options>;                 \\n\\n\\tINPUT  variables </option>;                 \\n\\n\\tMARGIN  'name' variable='value' <...variable='value'>;                 \\n\\n\\tOUTPUT  OUT=libref.data-table<options>;                 \\n\\n\\tSTORE <OUT=>libref.data-table;                 \\n\\n\\tTARGET  variable </option>;                 \\n\",\"arguments\":[{\"name\":\"APPLYROWORDER\",\"optional\":true,\"description\":\"uses group and order information from the input data table\",\"type\":\"standalone\"},{\"name\":\"DATA=\",\"optional\":true,\"description\":\"names the input data table for PROC SUPERLEARNER to use\",\"help\":\"DATA=*libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"METHOD=\",\"optional\":true,\"description\":\"specifies the meta-learning method to be used to estimate the coefficients of the super learner model\",\"help\":\"METHOD=CCLOGLIK|CCLS|CVSELECTOR\",\"type\":\"choice\"},{\"name\":\"RESTORE=\",\"optional\":true,\"description\":\"specifies the name of the item store that contains a model that is fitted and stored from a previous analysis\",\"help\":\"RESTORE=*libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"SEED=\",\"optional\":true,\"description\":\"specifies the initial seed to start the pseudorandom number generator for k-fold partitioning and base learner model building, where n is an integer\",\"help\":\"SEED=*n*\",\"type\":\"value\"}]},{\"name\":\"BASELEARNER\",\"description\":\"provides options for you to specify and customize a base learner model. You must first specify a unique name for the base learner in single quotes\",\"help\":\"BASELEARNER  'name' *model-type*&lt;(*model-options*)&gt;&lt;input-options&gt;;                                              \",\"arguments\":[{\"name\":\"BART\",\"optional\":true,\"description\":\"specifies a Bayesian additive regression trees model\",\"type\":\"standalone\",\"arguments\":[{\"name\":\"MINLEAFSIZE=\",\"description\":\"specifies the minimum number of observations that each child of a split must contain in the training data in order for the split to be considered\",\"help\":\"MINLEAFSIZE=*number*\",\"type\":\"value\"},{\"name\":\"NBI=\",\"description\":\"specifies the number of burn-in iterations to perform before the procedure starts to save samples for prediction\",\"help\":\"NBI=*number*\",\"type\":\"value\"},{\"name\":\"NBINS=\",\"description\":\"specifies the number of bins to use for binning the continuous input variables\",\"help\":\"NBINS=*number*\",\"type\":\"value\"},{\"name\":\"NMC=\",\"description\":\"specifies the number of iterations in the main simulation loop\",\"help\":\"NMC=*number*\",\"type\":\"value\"},{\"name\":\"NTHIN=\",\"description\":\"specifies the thinning rate of the simulation\",\"help\":\"NTHIN=*number*\",\"type\":\"value\"},{\"name\":\"NTREE=\",\"description\":\"specifies the number of trees in a sample of the sum-of-trees ensemble\",\"help\":\"NTREE=*number*\",\"type\":\"value\"},{\"name\":\"INTINPUT=\",\"description\":\"specifies the interval input variables for the base learner model\",\"help\":\"INTINPUT=(*variables*)\",\"type\":\"value\"},{\"name\":\"NOMINPUT=\",\"description\":\"specifies the nominal input variables for the base learner model\",\"help\":\"NOMINPUT=(*variables*)\",\"type\":\"value\"}]},{\"name\":\"BNET\",\"optional\":true,\"description\":\"specifies a Bayesian network model\",\"type\":\"standalone\",\"arguments\":[{\"name\":\"ALPHA=\",\"description\":\"specifies the significance level for independence tests by using the chi-square or G-square statistics, where number is between 0 and 1, inclusive\",\"help\":\"ALPHA=*number*\",\"type\":\"value\"},{\"name\":\"INDEPTEST=\",\"description\":\"specifies the method to use for independence tests\",\"help\":\"INDEPTEST=*keyword*\",\"type\":\"value\"},{\"name\":\"MAXPARENTS=\",\"description\":\"specifies the maximum number of parents that are allowed for each node in the network structure, where integer is a value between 1 and 16, inclusive\",\"help\":\"MAXPARENTS=*integer*\",\"type\":\"value\"},{\"name\":\"MIALPHA=\",\"description\":\"specifies the threshold for independence tests by using mutual information, where number is a value between 0 and 1, inclusive\",\"help\":\"MIALPHA=*number*\",\"type\":\"value\"},{\"name\":\"NUMBIN=\",\"description\":\"specifies the number of binning levels for all interval variables, where integer is a value between 2 and 1,024, inclusive\",\"help\":\"NUMBIN=*integer*\",\"type\":\"value\"},{\"name\":\"PARENTING=\",\"description\":\"specifies the algorithm to use for orienting the network structure\",\"help\":\"PARENTING=*keyword*\",\"type\":\"value\"},{\"name\":\"PRESCREENING=\",\"description\":\"specifies the initial screening for the input variables\",\"help\":\"PRESCREENING=*keyword*\",\"type\":\"value\"},{\"name\":\"STRUCTURE=\",\"description\":\"specifies the network structure\",\"help\":\"STRUCTURE=*keyword*\",\"type\":\"value\"},{\"name\":\"VARSELECT=\",\"description\":\"specifies how input variables are selected beyond the prescreening\",\"help\":\"VARSELECT=*keyword*\",\"type\":\"value\"},{\"name\":\"INTINPUT=\",\"description\":\"specifies the interval input variables for the base learner model\",\"help\":\"INTINPUT=(*variables*)\",\"type\":\"value\"},{\"name\":\"NOMINPUT=\",\"description\":\"specifies the nominal input variables for the base learner model\",\"help\":\"NOMINPUT=(*variables*)\",\"type\":\"value\"}]},{\"name\":\"FACTMAC\",\"optional\":true,\"description\":\"specifies a factorization machine model\",\"type\":\"standalone\",\"arguments\":[{\"name\":\"LEARNSTEP=\",\"description\":\"specifies the learning step size for the stochastic gradient descent algorithm, where number is a positive real number\",\"help\":\"LEARNSTEP=*number*\",\"type\":\"value\"},{\"name\":\"MAXITER=\",\"description\":\"specifies the maximum number of iterations for the algorithm to perform, where number is an integer greater than or equal to 1\",\"help\":\"MAXITER=*number*\",\"type\":\"value\"},{\"name\":\"NFACTORS=\",\"description\":\"specifies the number of factors to estimate for the model, where number is an integer greater than or equal to 1\",\"help\":\"NFACTORS=*number*\",\"type\":\"value\"},{\"name\":\"INTINPUT=\",\"description\":\"specifies the interval input variables for the base learner model\",\"help\":\"INTINPUT=(*variables*)\",\"type\":\"value\"},{\"name\":\"NOMINPUT=\",\"description\":\"specifies the nominal input variables for the base learner model\",\"help\":\"NOMINPUT=(*variables*)\",\"type\":\"value\"}]},{\"name\":\"FOREST\",\"optional\":true,\"description\":\"specifies a forest model\",\"type\":\"standalone\",\"arguments\":[{\"name\":\"INBAGFRACTION=\",\"description\":\"specifies the fraction of the random bootstrap sample of the training data to be used to grow each tree in the forest, where number is a value between 0 and 1, inclusive\",\"help\":\"INBAGFRACTION=*number*\",\"type\":\"value\"},{\"name\":\"MAXDEPTH=\",\"description\":\"specifies the maximum depth of the tree to be grown\",\"help\":\"MAXDEPTH=*number*\",\"type\":\"value\"},{\"name\":\"MINLEAFSIZE=\",\"description\":\"specifies the minimum number of observations that each child of a split must contain in the training data table in order for the split to be considered\",\"help\":\"MINLEAFSIZE=*number*\",\"type\":\"value\"},{\"name\":\"NTREES=\",\"description\":\"specifies the number of trees to grow in the forest model\",\"help\":\"NTREES=*number*\",\"type\":\"value\"},{\"name\":\"NUMBIN=\",\"description\":\"specifies the number of bins to use for binning the interval input variables\",\"help\":\"NUMBIN=*number*\",\"type\":\"value\"},{\"name\":\"VARS_TO_TRY=\",\"description\":\"specifies the number of input variables to consider splitting on in a node, where m ranges from 1 to the number of input variables\",\"help\":\"VARS_TO_TRY=*m*\",\"type\":\"value\"},{\"name\":\"INTINPUT=\",\"description\":\"specifies the interval input variables for the base learner model\",\"help\":\"INTINPUT=(*variables*)\",\"type\":\"value\"},{\"name\":\"NOMINPUT=\",\"description\":\"specifies the nominal input variables for the base learner model\",\"help\":\"NOMINPUT=(*variables*)\",\"type\":\"value\"}]},{\"name\":\"GAMMOD\",\"optional\":true,\"description\":\"specifies a generalized additive model based on low-rank regression splines\",\"type\":\"standalone\",\"arguments\":[{\"name\":\"CLASS=\",\"description\":\"names the classification variables to be used as explanatory variables in the analysis if they are also used in the PARAM(effects) option\",\"help\":\"CLASS=(*variables*)\",\"type\":\"value\"},{\"name\":\"PARAM\",\"description\":\"specifies parametric effects that are constructed from variables in the input data; this option can appear multiple times\",\"help\":\"PARAM(*effects*)\",\"type\":\"value\"},{\"name\":\"SPLINE\",\"description\":\"specifies nonparametric spline effects that are constructed from variables in the input data\",\"help\":\"SPLINE(*variable*...&lt;*variable*&gt;&lt;/*spline-options*&gt;)\",\"type\":\"value\",\"arguments\":[{\"name\":\"DF=\",\"description\":\"specifies a fixed degrees of freedom\",\"help\":\"DF=*n*\",\"type\":\"value\"},{\"name\":\"M=\",\"description\":\"specifies the order of the derivative in the penalty term, where n is a positive integer\",\"help\":\"M=*n*\",\"type\":\"value\"}]}]},{\"name\":\"GAMSELECT\",\"optional\":true,\"description\":\"specifies a generalized additive model with model selection\",\"type\":\"standalone\",\"arguments\":[{\"name\":\"PARTBYFRAC\",\"description\":\"randomly assigns specified proportions of the observations in the input data table to the validation role\",\"help\":\"PARTBYFRAC(VALIDATE=*fraction*)\",\"type\":\"value\"},{\"name\":\"PARTBYVAR=\",\"description\":\"names the variable in the input data table whose values are used to assign the validation role to each observation\",\"help\":\"PARTBYVAR=*variable*(VALIDATE=*'value'*)\",\"type\":\"value\"},{\"name\":\"SELECTION=\",\"description\":\"specifies the method to be used to select the model\",\"help\":\"SELECTION=*method*&lt;(*method-options*)&gt;\",\"type\":\"value\",\"arguments\":[{\"name\":\"CHOOSE=\",\"description\":\"specifies the criterion to use in selecting the final model\",\"help\":\"CHOOSE=VALIDATE\",\"type\":\"value\"},{\"name\":\"MAXITER=\",\"description\":\"specifies the maximum number of iterations for the boosting method\",\"help\":\"MAXITER=*number*\",\"type\":\"value\"},{\"name\":\"STEPSIZE=\",\"description\":\"specifies the step size to use for the boosting algorithm, where number is a value between 0 and 1\",\"help\":\"STEPSIZE=*number*\",\"type\":\"value\"},{\"name\":\"LAMBDA1=\",\"description\":\"sets a fixed nonnegative value to control the sparsity penalty\",\"help\":\"LAMBDA1=*number*\",\"type\":\"value\"},{\"name\":\"LAMBDA2=\",\"description\":\"sets a fixed nonnegative value to control the smoothness penalty\",\"help\":\"LAMBDA2=*number*\",\"type\":\"value\"},{\"name\":\"MAXITER=\",\"description\":\"specifies the maximum number of iterations that generalized additive model fitting can perform by solving reweighted additive models at each iteration\",\"help\":\"MAXITER=*number*\",\"type\":\"value\"}]},{\"name\":\"CLASS=\",\"description\":\"names the classification variables to be used as explanatory variables in the analysis if they are also used in the PARAM(effects) option\",\"help\":\"CLASS=(*variables*)\",\"type\":\"value\"},{\"name\":\"PARAM\",\"description\":\"specifies parametric effects that are constructed from variables in the input data; you can specify this option multiple times\",\"help\":\"PARAM(*effects*)\",\"type\":\"value\"},{\"name\":\"SPLINE\",\"description\":\"specifies nonparametric spline effects that are constructed from variables in the input data\",\"help\":\"SPLINE(*variable*&lt;*variable*&gt;&lt;*/ spline-options*&gt;)\",\"type\":\"value\",\"arguments\":[{\"name\":\"DEGREE=\",\"description\":\"specifies the degree of the spline transformation, where n is a nonnegative integer\",\"help\":\"DEGREE=*n*\",\"type\":\"value\"},{\"name\":\"DF=\",\"description\":\"specifies the fixed degrees of freedom for the spline at each boosting iteration\",\"help\":\"DF=*n*\",\"type\":\"value\"}]}]},{\"name\":\"GPCLASS\",\"optional\":true,\"description\":\"specifies a Gaussian process classification model\",\"type\":\"standalone\",\"arguments\":[{\"name\":\"KERNEL=\",\"description\":\"specifies the kernel-related parameters to use in the Gaussian process\",\"help\":\"KERNEL=*keyword*&lt;(*kernel-options*)&gt;\",\"type\":\"value\",\"arguments\":[{\"name\":\"CONSTANT=\",\"description\":\"specifies the constant in the linear kernel function\",\"help\":\"CONSTANT=*n*\",\"type\":\"value\"},{\"name\":\"SIGMA=\",\"description\":\"specifies the bandwidth in the Gaussian kernel function\",\"help\":\"SIGMA=*n*\",\"type\":\"value\"}]},{\"name\":\"MAXITER=\",\"description\":\"specifies the maximum number of Newton iterations\",\"help\":\"MAXITER=*number*\",\"type\":\"value\"},{\"name\":\"MINLEAFSIZE=\",\"description\":\"specifies the minimum change of the loss function between consecutive Newton iterations\",\"help\":\"MINLEAFSIZE=*number*\",\"type\":\"value\"},{\"name\":\"INTINPUT=\",\"description\":\"specifies the interval input variables for the base learner model\",\"help\":\"INTINPUT=(*variables*)\",\"type\":\"value\"}]},{\"name\":\"GPREG\",\"optional\":true,\"description\":\"specifies a Gaussian process regression model\",\"type\":\"standalone\",\"arguments\":[{\"name\":\"ALGORITHM=\",\"description\":\"specifies the optimization-algorithm to use during training\",\"help\":\"ALGORITHM=*keyword*\",\"type\":\"value\"},{\"name\":\"AUTORELEVANCEDETERMINATION\",\"description\":\"uses automatic relevance determination in the kernel function\",\"type\":\"standalone\"},{\"name\":\"JITTERMAXITERS=\",\"description\":\"specifies the maximum number of iterations for jitter Cholesky decomposition\",\"help\":\"JITTERMAXITERS=*number*\",\"type\":\"value\"},{\"name\":\"KERNEL=\",\"description\":\"specifies the kernel-related parameters to be used in the Gaussian process\",\"help\":\"KERNEL=*keyword*\",\"type\":\"value\"},{\"name\":\"LEARNINGRATE=\",\"description\":\"specifies the learning rate parameter for the adam or SGD algorithm\",\"help\":\"LEARNINGRATE=*number*\",\"type\":\"value\"},{\"name\":\"MINIBATCHSIZE=\",\"description\":\"specifies the size of the minibatches to use in the adam or SGD algorithm\",\"help\":\"MINIBATCHSIZE=*number*\",\"type\":\"value\"},{\"name\":\"MOMENTUM=\",\"description\":\"specifies the momentum, where number is a value between 0 and 1, inclusive\",\"help\":\"MOMENTUM=*number*\",\"type\":\"value\"},{\"name\":\"NINDUCINGPOINTS=\",\"description\":\"specifies the number of inducing points to use in the sparse Gaussian process, where number is a positive integer\",\"help\":\"NINDUCINGPOINTS=*number*\",\"type\":\"value\"},{\"name\":\"INTINPUT=\",\"description\":\"specifies the interval input variables for the base learner model\",\"help\":\"INTINPUT=(*variables*)\",\"type\":\"value\"}]},{\"name\":\"GRADBOOST\",\"optional\":true,\"description\":\"specifies a gradient boosting model\",\"type\":\"standalone\",\"arguments\":[{\"name\":\"LASSO=\",\"description\":\"specifies the L1 norm regularization parameter, where number must be nonnegative\",\"help\":\"LASSO=*number*\",\"type\":\"value\"},{\"name\":\"LEARNINGRATE=\",\"description\":\"specifies the learning rate for the gradient boosting algorithm, where number is a value between 0 and 1, inclusive\",\"help\":\"LEARNINGRATE=*number*\",\"type\":\"value\"},{\"name\":\"MAXDEPTH=\",\"description\":\"specifies the maximum depth of the tree to be grown\",\"help\":\"MAXDEPTH=*number*\",\"type\":\"value\"},{\"name\":\"MINLEAFSIZE=\",\"description\":\"specifies the minimum number of observations that each child of a split must contain in the training data table in order for the split to be considered\",\"help\":\"MINLEAFSIZE=*number*\",\"type\":\"value\"},{\"name\":\"NTREES=\",\"description\":\"specifies the number of trees to grow in the gradient boosting model\",\"help\":\"NTREES=*number*\",\"type\":\"value\"},{\"name\":\"NUMBIN=\",\"description\":\"specifies the number of bins to use for binning the interval input variables\",\"help\":\"NUMBIN=*number*\",\"type\":\"value\"},{\"name\":\"RIDGE=\",\"description\":\"specifies the L2 norm regularization parameter, where number must be nonnegative\",\"help\":\"RIDGE=*number*\",\"type\":\"value\"},{\"name\":\"SAMPLINGRATE=\",\"description\":\"specifies the fraction of the training data to be used to grow each tree in the boosting model\",\"help\":\"SAMPLINGRATE=*number*\",\"type\":\"value\"},{\"name\":\"VARS_TO_TRY=\",\"description\":\"specifies the number of input variables to consider splitting on in a node, where m ranges from 1 to the number of input variables\",\"help\":\"VARS_TO_TRY=*m*\",\"type\":\"value\"},{\"name\":\"INTINPUT=\",\"description\":\"specifies the interval input variables for the base learner model\",\"help\":\"INTINPUT=(*variables*)\",\"type\":\"value\"},{\"name\":\"NOMINPUT=\",\"description\":\"specifies the nominal input variables for the base learner model\",\"help\":\"NOMINPUT=(*variables*)\",\"type\":\"value\"}]},{\"name\":\"LIGHTGRADBOOST\",\"optional\":true,\"description\":\"specifies a light gradient boosting machine model\",\"type\":\"standalone\",\"arguments\":[{\"name\":\"BAGGINGFRACTION=\",\"description\":\"randomly selects a portion of the observations without resampling\",\"help\":\"BAGGINGFRACTION=*number*\",\"type\":\"value\"},{\"name\":\"BAGGINGFREQUENCY=\",\"description\":\"specifies the frequency of bagging\",\"help\":\"BAGGINGFREQUENCY=*number*\",\"type\":\"value\"},{\"name\":\"INPUTFRACTION=\",\"description\":\"randomly selects a subset of features on each iteration or tree\",\"help\":\"INPUTFRACTION=*number*\",\"type\":\"value\"},{\"name\":\"LASSO=\",\"description\":\"specifies the L1-norm regularization parameter, where number must be nonnegative\",\"help\":\"LASSO=*number*\",\"type\":\"value\"},{\"name\":\"LEAFSIZE=\",\"description\":\"specifies the minimum number of observations that each child of a split must contain in the training data table in order for the split to be considered\",\"help\":\"LEAFSIZE=*number*\",\"type\":\"value\"},{\"name\":\"LEARNINGRATE=\",\"description\":\"specifies the learning rate for each tree, where number must be greater than 0\",\"help\":\"LEARNINGRATE=*number*\",\"type\":\"value\"},{\"name\":\"MAXDEPTH=\",\"description\":\"limits the maximum depth of the tree model\",\"help\":\"MAXDEPTH=*number*\",\"type\":\"value\"},{\"name\":\"MAXITERS=\",\"description\":\"specifies the maximum number of iterations for the boosting\",\"help\":\"MAXITERS=*number*\",\"type\":\"value\"},{\"name\":\"NUMBIN=\",\"description\":\"specifies the number of bins to use for binning the interval input variables\",\"help\":\"NUMBIN=*number*\",\"type\":\"value\"},{\"name\":\"RIDGE=\",\"description\":\"specifies the L2-norm regularization parameter, where number must be nonnegative\",\"help\":\"RIDGE=*number*\",\"type\":\"value\"},{\"name\":\"INTINPUT=\",\"description\":\"specifies the interval input variables for the base learner model\",\"help\":\"INTINPUT=(*variables*)\",\"type\":\"value\"},{\"name\":\"NOMINPUT=\",\"description\":\"specifies the nominal input variables for the base learner model\",\"help\":\"NOMINPUT=(*variables*)\",\"type\":\"value\"}]},{\"name\":\"LOGSELECT\",\"optional\":true,\"description\":\"specifies a logistic regression model with model selection\",\"type\":\"standalone\",\"arguments\":[{\"name\":\"LASSORHO=\",\"description\":\"specifies the base regularization parameter for the LASSO model selection method\",\"help\":\"LASSORHO=*r*\",\"type\":\"value\"},{\"name\":\"LASSOSTEPS=\",\"description\":\"specifies the maximum number of steps for LASSO model selection\",\"help\":\"LASSOSTEPS=*n*\",\"type\":\"value\"},{\"name\":\"LASSOTOL=\",\"description\":\"specifies the convergence tolerance for the optimization algorithm that solves for the LASSO parameter estimates at each step of LASSO model selection\",\"help\":\"LASSOTOL=*r*\",\"type\":\"value\"},{\"name\":\"LINK=\",\"description\":\"specifies the link function for the model\",\"help\":\"LINK=*keyword*\",\"type\":\"value\"},{\"name\":\"PARTBYFRAC\",\"description\":\"randomly assigns specified proportions of the observations in the input data table to the validation role\",\"help\":\"PARTBYFRAC(VALIDATE=*fraction*)\",\"type\":\"value\"},{\"name\":\"PARTBYVAR=\",\"description\":\"names the variable in the input data table whose values are used to assign the validation role to each observation\",\"help\":\"PARTBYVAR=*variable*(VALIDATE=*'value'*)\",\"type\":\"value\"},{\"name\":\"SELECTION=\",\"description\":\"specifies the method to be used to select the model\",\"help\":\"SELECTION=*method*&lt;(*method-options*)&gt;\",\"type\":\"value\"},{\"name\":\"CLASS=\",\"description\":\"names the classification variables to be used as explanatory variables in the analysis if you also specify them in the EFFECT= option\",\"help\":\"CLASS=(*variables*)\",\"type\":\"value\"},{\"name\":\"EFFECT=\",\"description\":\"specifies model effects that are constructed from variables in the input data table\",\"help\":\"EFFECT=(*effects*)\",\"type\":\"value\"}]},{\"name\":\"REGSELECT\",\"optional\":true,\"description\":\"specifies an ordinary least squares regression model with model selection\",\"type\":\"standalone\",\"arguments\":[{\"name\":\"PARTBYFRAC\",\"description\":\"randomly assigns specified proportions of the observations in the input data table to the validation role\",\"help\":\"PARTBYFRAC(VALIDATE=*fraction*)\",\"type\":\"value\"},{\"name\":\"PARTBYVAR=\",\"description\":\"names the variable in the input data table whose values are used to assign the validation role to each observation\",\"help\":\"PARTBYVAR=*variable*(VALIDATE=*'value'*)\",\"type\":\"value\"},{\"name\":\"SELECTION=\",\"description\":\"specifies the method to be used to select the model\",\"help\":\"SELECTION=*method*&lt;(*method-options*)&gt;\",\"type\":\"value\"},{\"name\":\"CLASS=\",\"description\":\"names the classification variables to be used as explanatory variables in the analysis if you also specify them in the EFFECT= option\",\"help\":\"CLASS=(*variables*)\",\"type\":\"value\"},{\"name\":\"EFFECT=\",\"description\":\"specifies model effects that are constructed from variables in the input data table\",\"help\":\"EFFECT=(*effects*)\",\"type\":\"value\"}]},{\"name\":\"SVMACHINE\",\"optional\":true,\"description\":\"specifies a support vector machine model\",\"type\":\"standalone\",\"arguments\":[{\"name\":\"C=\",\"description\":\"specifies the penalty value, where number is a real number greater than 0\",\"help\":\"C=*number*\",\"type\":\"value\"},{\"name\":\"DEGREE=\",\"description\":\"specifies the degree that is used in a polynomial kernel\",\"help\":\"DEGREE=*number*\",\"type\":\"value\"},{\"name\":\"EPSILON=\",\"description\":\"specifies the insensitive loss value, where number is a nonnegative real number\",\"help\":\"EPSILON=*number*\",\"type\":\"value\"},{\"name\":\"KERNEL=\",\"description\":\"specifies the type of kernel\",\"help\":\"KERNEL=*keyword*\",\"type\":\"value\"},{\"name\":\"METHOD=\",\"description\":\"specifies the optimization method\",\"help\":\"METHOD=*keyword*\",\"type\":\"value\"},{\"name\":\"RBFPARAMETER=\",\"description\":\"specifies the K_PAR parameter that is used in an RBF kernel, where number is greater than or equal to 0.0001\",\"help\":\"RBFPARAMETER=*number*\",\"type\":\"value\"},{\"name\":\"REGL2=\",\"description\":\"specifies the L2 penalty value when METHOD=CD, where number is a real number greater than 0\",\"help\":\"REGL2=*number*\",\"type\":\"value\"},{\"name\":\"SIGMOIDPARAMETER1=\",\"description\":\"specifies the K_PAR1 parameter that is used in a sigmoid kernel, where number is a positive number\",\"help\":\"SIGMOIDPARAMETER1=*number*\",\"type\":\"value\"},{\"name\":\"SIGMOIDPARAMETER2=\",\"description\":\"specifies the K_PAR2 parameter that is used in a sigmoid kernel, where number is a real number\",\"help\":\"SIGMOIDPARAMETER2=*number*\",\"type\":\"value\"},{\"name\":\"INTINPUT=\",\"description\":\"specifies the interval input variables for the base learner model\",\"help\":\"INTINPUT=(*variables*)\",\"type\":\"value\"},{\"name\":\"NOMINPUT=\",\"description\":\"specifies the nominal input variables for the base learner model\",\"help\":\"NOMINPUT=(*variables*)\",\"type\":\"value\"}]},{\"name\":\"TREESPLIT\",\"optional\":true,\"description\":\"specifies a tree-based statistical model\",\"type\":\"standalone\",\"arguments\":[{\"name\":\"CRITERION=\",\"description\":\"specifies the criterion by which to split a parent node into child nodes\",\"help\":\"CRITERION=*keyword*\",\"type\":\"value\"},{\"name\":\"DEGREE=\",\"description\":\"specifies the maximum depth of the tree to be grown\",\"help\":\"DEGREE=*number*\",\"type\":\"value\"},{\"name\":\"MINLEAFSIZE=\",\"description\":\"specifies the minimum number of observations per child node\",\"help\":\"MINLEAFSIZE=*number*\",\"type\":\"value\"},{\"name\":\"NUMBIN=\",\"description\":\"specifies the number of bins to use for binning interval predictor variables\",\"help\":\"NUMBIN=*number*\",\"type\":\"value\"},{\"name\":\"INTINPUT=\",\"description\":\"specifies the interval input variables for the base learner model\",\"help\":\"INTINPUT=(*variables*)\",\"type\":\"value\"},{\"name\":\"NOMINPUT=\",\"description\":\"specifies the nominal input variables for the base learner model\",\"help\":\"NOMINPUT=(*variables*)\",\"type\":\"value\"}]}]},{\"name\":\"CROSSVALIDATION\",\"description\":\"controls details about the k-fold cross-validation process\",\"help\":\"CROSSVALIDATION &lt;options&gt;;                                              \",\"arguments\":[{\"name\":\"KFOLD=\",\"optional\":true,\"description\":\"specifies the number of partition folds in cross-validation, where n is an integer between 2 and the number of observations that are used for training, inclusive\",\"help\":\"KFOLD=*n*\",\"type\":\"value\"},{\"name\":\"STRATVAR=\",\"optional\":true,\"description\":\"specifies a categorical variable for stratified cross-validation\",\"help\":\"STRATVAR=*variable*\",\"type\":\"value\"}]},{\"name\":\"INPUT\",\"description\":\"specifies one or more predictor variables for the super learner model that share a common variable type\",\"help\":\"INPUT  variables &lt;/option&gt;;                                              \",\"arguments\":[{\"name\":\"LEVEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the variable type\",\"help\":\"LEVEL=*value*\",\"type\":\"value\"}]},{\"name\":\"MARGIN\",\"description\":\"computes a predictive margin. You specify a unique name in single quotes, followed by one or more variable-value pairs that define the predictive margin.\",\"help\":\"MARGIN  'name' variable='value' &lt;...variable='value'&gt;;                                              \"},{\"name\":\"OUTPUT\",\"description\":\"creates a data table that contains observationwise predicted values that PROC SUPERLEARNER computes after fitting the model\",\"help\":\"OUTPUT  OUT=*libref.data-table*&lt;options&gt;;                                              \",\"arguments\":[{\"name\":\"OUT=\",\"optional\":true,\"description\":\"names the output data table for PROC SUPERLEARNER to use\",\"help\":\"OUT=*libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"COPYVAR=\",\"optional\":true,\"aliases\":[\"COPYVARS=\"],\"description\":\"transfers one or more variables from the input data table to the output data table\",\"help\":\"COPYVAR=*variable*\",\"type\":\"value\"},{\"name\":\"LEARNERPRED\",\"optional\":true,\"description\":\"computes predicted response values by using each trained base learner model\",\"type\":\"standalone\"},{\"name\":\"MARGINPRED\",\"optional\":true,\"description\":\"outputs the predicted response values under each intervening scenario that you specify in a MARGIN statement\",\"type\":\"standalone\"}]},{\"name\":\"STORE\",\"description\":\"saves the context and results of the statistical analysis\",\"help\":\"STORE &lt;OUT=&gt;libref.data-table;                                              \"},{\"name\":\"TARGET\",\"description\":\"specifies the response variable for the super learner model\",\"help\":\"TARGET  variable &lt;/option&gt;;                                              \",\"arguments\":[{\"name\":\"LEVEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the variable type\",\"help\":\"LEVEL=*value*\",\"type\":\"value\"}]}],\"supportSiteInformation\":{\"docsetId\":\"casstat\",\"docsetVersion\":\"latest\",\"docsetTargetFile\":\"casstat_superlearner_toc.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/SURVEYFREQ.json",
    "content": "{\"name\":\"SURVEYFREQ\",\"statements\":[{\"name\":\"PROC SURVEYFREQ\",\"description\":\"The SURVEYFREQ procedure produces one-way to n-way frequency and crosstabulation tables from sample survey data. These tables include estimates of population totals, population proportions, and their standard errors. Confidence limits, coefficients of variation, and design effects are also available. The procedure provides a variety of options to customize the table display. † For one-way frequency tables, PROC SURVEYFREQ provides Rao-Scott chi-square goodness-of-fit tests, which are adjusted for the sample design. You can test a null hypothesis of equal proportions for a one-way frequency table, or you can input custom null hypothesis proportions for the test. For two-way tables, PROC SURVEYFREQ provides design-adjusted tests of independence, or no association, between the row and column variables. These tests include the Rao-Scott chi-square test, the Rao-Scott likelihood ratio test, the Wald chi-square test, and the Wald log-linear chi-square test. For 2x2 tables, PROC SURVEYFREQ computes estimates and confidence limits for risks (row proportions), the risk difference, the odds ratio, and relative risks. † PROC SURVEYFREQ computes variance estimates based on the sample design used to obtain the survey data. The design can be a complex multistage survey design with stratification, clustering, and unequal weighting. PROC SURVEYFREQ provides a choice of variance estimation methods, which include Taylor series linearization, balanced repeated replication (BRR), and the jackknife.\",\"help\":\"PROC SURVEYFREQ <DATA=SAS-data-set><MISSING><NOMCAR><NOSUMMARY><ORDER=DATA | FORMATTED | FREQ... ><PAGE><RATE=value | SAS-data-set><TOTAL=value | SAS-data-set><VARHEADER=LABEL | NAME | NAMELABEL><VARMETHOD=BRR | JACKKNIFE | TAYLOR>;     \\n\\tBY <DESCENDING><NOTSORTED> ;\\n\\n\\tCLUSTER variables ;\\n\\n\\tREPWEIGHTS <DF=df><JKCOEFS=value | (values) | SAS-data-set> ;\\n\\n\\tSTRATA <LIST> ;\\n\\n\\tTABLES <ALPHA=α><CHISQ < (options) >><CHISQ1> ...;\\n\\n\\tWEIGHT variable;\\n\",\"arguments\":[{\"name\":\"DATA=\",\"optional\":true,\"description\":\"Names the SAS data set to be analyzed by PROC SURVEYFREQ.\",\"help\":\"DATA=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"MISSING\",\"optional\":true,\"description\":\"Treats missing values as a valid (nonmissing) category for all categorical variables, which include TABLES, STRATA, and CLUSTER variables.\",\"type\":\"standalone\"},{\"name\":\"NOMCAR\",\"optional\":true,\"description\":\"Includes observations with missing values of TABLES variables in the variance computation as not missing completely at random (NOMCAR) for Taylor series variance estimation.\",\"type\":\"standalone\"},{\"name\":\"NOSUMMARY\",\"optional\":true,\"description\":\"Suppresses the display of the \\\"Data Summary\\\" table, which PROC SURVEYFREQ produces by default.\",\"type\":\"standalone\"},{\"name\":\"ORDER=\",\"optional\":true,\"description\":\"Specifies the order of the variable levels in the frequency and crosstabulation tables, which you request in the TABLES statement. The ORDER= option also controls the order of the STRATA variable levels in the Stratum Information table.\",\"help\":\"ORDER=DATA | FORMATTED | FREQ | INTERNAL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DATA\",\"description\":\"Levels ordered by the order of appearance in the input data set.\",\"type\":\"standalone\"},{\"name\":\"FORMATTED\",\"description\":\"Levels ordered by the external formatted value, except for numeric variables with no explicit format, which are sorted by their unformatted (internal) value.\",\"type\":\"standalone\"},{\"name\":\"FREQ\",\"description\":\"Levels ordered by the descending frequency count; levels with the most observations come first in the order.\",\"type\":\"standalone\"},{\"name\":\"INTERNAL\",\"description\":\"Levels ordered by the unformatted value.\",\"type\":\"standalone\"}]},{\"name\":\"PAGE\",\"optional\":true,\"description\":\"Displays only one table per page. Otherwise, PROC SURVEYFREQ displays multiple tables per page as space permits.\",\"type\":\"standalone\"},{\"name\":\"RATE=\",\"optional\":true,\"aliases\":[\"R=\"],\"description\":\"Specifies the sampling rate as a nonnegative value, or identifies an input data set that gives the stratum sampling rates in a variable named _RATE_.\",\"type\":\"value\"},{\"name\":\"TOTAL=\",\"optional\":true,\"aliases\":[\"N=\"],\"description\":\"Specifies the total number of primary sampling units (PSUs) in the study population as a positive value, or identifiesan input data set that gives the stratum population totals in a variable named _TOTAL_.\",\"type\":\"value\"},{\"name\":\"VARHEADER=\",\"optional\":true,\"description\":\"Specifies the variable identification to use in the displayed output.\",\"help\":\"VARHEADER=LABEL | NAME | NAMELABEL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"LABEL\",\"description\":\"Displays the variable label.\",\"type\":\"standalone\"},{\"name\":\"NAME\",\"description\":\"Displays the variable name.\",\"type\":\"standalone\"},{\"name\":\"NAMELABEL\",\"description\":\"Displays both the variable name and label, with the label in parentheses following the name—that is, Name (Label).\",\"type\":\"standalone\"}]},{\"name\":\"VARMETHOD=\",\"optional\":true,\"description\":\"Specifies the variance estimation method.\",\"help\":\"VARMETHOD=BRR | JACKKNIFE | TAYLOR\",\"type\":\"choice\",\"arguments\":[{\"name\":\"BRR\",\"description\":\"[Syntax: BRR<(method-options)>] Requests variance estimation by balanced repeated replication (BRR). You can specify the following method-options in parentheses after the VARMETHOD=BRR option. DFADJ computes the degrees of freedom as the number of nonmissing strata for the individual table request. FAY <=value> requests Fay’s method, which is a modification of the BRR method. HADAMARD=SAS-data-set names a SAS data set that contains the Hadamard matrix for BRR replicate construction. OUTWEIGHTS=SAS-data-set names a SAS data set to store the replicate weights that PROC SURVEYFREQ creates for BRR variance estimation. PRINTH displays the Hadamard matrix used to construct replicates for BRR. REPS=number specifies the number of replicates for BRR variance estimation. The value of number must be an integer greater than 1.\",\"type\":\"standalone\"},{\"name\":\"JACKKNIFE\",\"description\":\"[Syntax: JACKKNIFE<(method-options)>] Requests variance estimation by the delete-1 jackknife method. You can specify the following method-options in parentheses after the VARMETHOD=JACKKNIFE option: DFADJ computes the degrees of freedom by using the number of nonmissing strata and clusters for the individual table request. OUTJKCOEFS=SAS-data-set names a SAS data set to store the jackknife coefficients. OUTWEIGHTS=SAS-data-set names a SAS data set to store the replicate weights that PROC SURVEYFREQ creates for jackknife variance estimation.\",\"type\":\"standalone\"},{\"name\":\"TAYLOR\",\"description\":\"Requests Taylor series variance estimation. This is the default method if you do not specify the VARMETHOD= option or a REPWEIGHTS statement.\",\"type\":\"standalone\"}]}]},{\"name\":\"BY\",\"description\":\"You can specify a BY statement with PROC SURVEYFREQ to obtain separate analyses of observations in groups that are defined by the BY variables. Note that using a BY statement provides completely separate analyses of the BY groups. It does not provide a statistically valid domain (subpopulation) analysis, where the total number of units in the subpopulation is not known with certainty. You should include the domain variable(s) in your TABLES request to obtain domain analysis.\",\"help\":\"BY &lt;DESCENDING&gt;&lt;NOTSORTED&gt;\",\"arguments\":[{\"name\":\"DESCENDING\",\"optional\":true,\"description\":\"Specifies that the observations are sorted in descending order by the variable that immediately follows the word DESCENDING in the BY statement.\",\"type\":\"standalone\"},{\"name\":\"NOTSORTED\",\"optional\":true,\"description\":\"Specifies that observations are not necessarily sorted in alphabetic or numeric order.\",\"type\":\"standalone\"}]},{\"name\":\"CLUSTER\",\"aliases\":[\"CLUSTERS\"],\"description\":\"The CLUSTER statement names variables that identify the first-stage clusters, or primary sampling units (PSUs), in a clustered sample design.\",\"help\":\"CLUSTER variables \"},{\"name\":\"REPWEIGHTS\",\"aliases\":[\"REPWEIGHT\"],\"description\":\"The REPWEIGHTS statement names variables that provide replicate weights for BRR or jackknife variance estimation, which you request with the VARMETHOD=BRR or VARMETHOD=JACKKNIFE option in the PROC SURVEYFREQ statement.\",\"help\":\"REPWEIGHTS &lt;DF=df&gt;&lt;JKCOEFS=value | (values) | SAS-data-set&gt;\",\"arguments\":[{\"name\":\"DF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the degrees of freedom for the analysis. The value of df must be a positive number.\",\"help\":\"DF=*df*\",\"type\":\"value\"},{\"name\":\"JKCOEFS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"JKCOEFS=value Specifies the jackknife coefficient for VARMETHOD=JACKKNIFE. The coefficient value must be a nonnegative number less than one. JKCOEFS=(values) Specifies jackknife coefficients for VARMETHOD=JACKKNIFE, where each coefficient corresponds to an individual replicate identified by a REPWEIGHTS variable. You can separate values with blanks or commas.\",\"type\":\"value\"}]},{\"name\":\"STRATA\",\"aliases\":[\"STRATUM\"],\"description\":\"The STRATA statement names variables that form the strata in a stratified sample design.\",\"help\":\"STRATA &lt;LIST&gt;\",\"arguments\":[{\"name\":\"LIST\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays a \\\"Stratum Information\\\" table, which lists all strata together with the corresponding values of the STRATA variables.\",\"type\":\"standalone\"}]},{\"name\":\"TABLES\",\"aliases\":[\"TABLE\"],\"description\":\"The TABLES statement requests one-way to n-way frequency and crosstabulation tables and statistics for these tables.\",\"help\":\"TABLES &lt;ALPHA=α&gt;&lt;CHISQ &lt; (options) &gt;&gt;&lt;CHISQ1&gt; ...\",\"arguments\":[{\"name\":\"ALPHA=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Sets the level for confidence limits. The value of α must be between 0 and 1, and the default is 0.05.\",\"type\":\"value\"},{\"name\":\"CHISQ=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests the Rao-Scott chi-square test. This is a design-adjusted test that is computed by applying a design correction to the weighted Pearson chi-square statistic. By default, PROC SURVEYFREQ provides a first-order Rao-Scott chi-square test.\",\"help\":\"CHISQ=FIRSTORDER | MODIFIED | SECONDORDER\",\"type\":\"choice\",\"arguments\":[{\"name\":\"FIRSTORDER\",\"type\":\"standalone\"},{\"name\":\"MODIFIED\",\"type\":\"standalone\"},{\"name\":\"SECONDORDER\",\"type\":\"standalone\"}]},{\"name\":\"CHISQ1\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests the Rao-Scott modified chi-square test.\",\"type\":\"standalone\"},{\"name\":\"CL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests confidence limits for the percentages (proportions) in the crosstabulation table. You can specify the following options in parentheses following the CL option: ADJUST=NO |YES controls the degrees-of-freedom adjustment to the effective sample size for the modified Clopper-Pearson and Wilson confidence limits. By default, ADJUST=YES. PSMALL <= p> uses the alternative confidence limit type that you specify with the TYPE= option for extreme (small or large) proportion values. The PSMALL value p defines the range of extreme proportion values, where those proportions less than or equal to p or greater than or equal to (1 – p) are considered to be extreme, and those proportions between p and (1 – p) are not extreme. TRUNCATE=NO | YES controls the truncation of the effective sample size for the modified Clopper-Pearson and Wilson confidence limits. By default, TRUNCATE=YES truncates the effective sample size if it is larger than the original sample size. TYPE=name specifies the type of confidence limits to compute for proportions. If you do not specify the TYPE= option, PROC SURVEYFREQ computes Wald confidence limits (TYPE=WALD) by default. CLOPPERPEARSON | CP requests modified Clopper-Pearson (exact) confidence limits for proportions. LOGIT -- requests logit confidence limits for proportions. WALD -- requests standard Wald (\\\"linear\\\") confidence limits for proportions. This is the default confidence limit type if you do not specify the TYPE= option.\",\"help\":\"CL=TYPE= | TRUNCATE= | PSMALL | ADJUST=\",\"type\":\"choice\",\"arguments\":[{\"name\":\"TYPE=\",\"type\":\"value\"},{\"name\":\"TRUNCATE=\",\"type\":\"value\"},{\"name\":\"PSMALL\",\"type\":\"standalone\"},{\"name\":\"ADJUST=\",\"type\":\"value\"}]},{\"name\":\"CLWT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests confidence limits for the weighted frequencies, or totals, in the crosstabulation table.\",\"type\":\"standalone\"},{\"name\":\"COL\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"COLUMN\"],\"description\":\"Displays the column percentage, or estimated proportion of the column total, for each cell in a two-way table.\",\"type\":\"standalone\"},{\"name\":\"CV\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays the coefficient of variation for each percentage, or proportion estimate, in the crosstabulation table.\",\"type\":\"standalone\"},{\"name\":\"CVWT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays the coefficient of variation for each weighted frequency, or estimated total, in the crosstabulation table.\",\"type\":\"standalone\"},{\"name\":\"DEFF\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays the design effect for each overall percentage (proportion) estimate in the crosstabulation table.\",\"type\":\"standalone\"},{\"name\":\"DF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the degrees of freedom for the analysis. The value of df must be a nonnegative number.\",\"help\":\"DF=*df*\",\"type\":\"value\"},{\"name\":\"EXPECTED\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays expected weighted frequencies for the table cells in a two-way table.\",\"type\":\"standalone\"},{\"name\":\"LRCHISQ\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests the Rao-Scott likelihood ratio chi-square test.\",\"type\":\"standalone\"},{\"name\":\"LRCHISQ1\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests the Rao-Scott modified likelihood ratio chi-square test.\",\"type\":\"standalone\"},{\"name\":\"NOCELLPERCENT\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"NOCELLPCT\"],\"description\":\"Suppresses the display of overall cell percentages in the crosstabulation table, as well as the standard errors of the percentages.\",\"type\":\"standalone\"},{\"name\":\"NOFREQ\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Suppresses the display of cell frequencies in the crosstabulation table.\",\"type\":\"standalone\"},{\"name\":\"NOPERCENT\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"NOPCT\"],\"description\":\"Suppresses the display of all percentages in the crosstabulation table. The NOPERCENT option also suppresses the display of standard errors of the percentages.\",\"type\":\"standalone\"},{\"name\":\"NOPRINT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Suppresses the display of frequency and crosstabulation tables but displays all requested statistical tests.\",\"type\":\"standalone\"},{\"name\":\"NOSPARSE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Suppresses the display of variable levels with zero frequency in two-way tables.\",\"type\":\"standalone\"},{\"name\":\"NOSTD\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Suppresses the display of all standard errors in the crosstabulation table.\",\"type\":\"standalone\"},{\"name\":\"NOTOTAL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Suppresses the display of row totals, column totals, and overall totals in the crosstabulation table.\",\"type\":\"standalone\"},{\"name\":\"NOWT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Suppresses the display of weighted frequencies in the crosstabulation table. The NOWT option also suppresses the display of standard errors of the weighted frequencies.\",\"type\":\"standalone\"},{\"name\":\"OR\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"RESRISK\"],\"description\":\"Requests estimates of the odds ratio, the column 1 relative risk, and the column 2 relative risk for 2x2 tables. The OR option also provides confidence limits for these statistics.\",\"type\":\"standalone\"},{\"name\":\"RISK1\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests column 1 risk statistics for 2x2 tables, together with their standard errors and confidence limits.\",\"type\":\"standalone\"},{\"name\":\"RISK2\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests column 2 risk statistics for 2x2 tables, together with their standard errors and confidence limits.\",\"type\":\"standalone\"},{\"name\":\"RISK\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"RISKDIFF\"],\"description\":\"Requests risk statistics for 2x2 tables. The RISK option a lso provides standard errors and confidence limits for these statistics.\",\"type\":\"standalone\"},{\"name\":\"ROW=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"displays the row percentage (estimated proportion of the row total) for each cell in a two-way table. The ROW option also provides the standard errors of the row percentages. See the section “Row and Column Proportions” on page 7633 for more information. This option has no effect for one-way tables. You can specify the following option in parentheses after the ROW option:\",\"help\":\"ROW=DEFF\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DEFF\",\"type\":\"standalone\"}]},{\"name\":\"TESTP=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies null hypothesis proportions, or test percentages, for one-way chi-square tests. You can separate values with blanks or commas. Specify values in probability form as numbers between 0 and 1, where the proportions sum to 1. Or specify values in percentage form as numbers between 0 and 100, where the percentages sum to 100.\",\"type\":\"value\"},{\"name\":\"VAR\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays the variance estimate for each percentage in the crosstabulation table.\",\"type\":\"standalone\"},{\"name\":\"VARWT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays the variance estimate for each weighted frequency, or estimated total, in the crosstabulation table.\",\"type\":\"standalone\"},{\"name\":\"WCHISQ\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests the Wald chi-square test for two-way tables.\",\"type\":\"standalone\"},{\"name\":\"WLLCHISQ\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests the Wald log-linear chi-square test for two-way tables.\",\"type\":\"standalone\"},{\"name\":\"WTFREQ\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"WT\"],\"description\":\"Displays totals (weighted frequencies) and their standard errors when you do not specify a WEIGHT or REPWEIGHTS statement.\",\"type\":\"standalone\"}]},{\"name\":\"WEIGHT\",\"aliases\":[\"WGT\"],\"description\":\"The WEIGHT statement names the variable that contains the sampling weights. This variable must be numeric, and the sampling weights must be positive numbers.\",\"help\":\"WEIGHT variable\"}],\"supportSiteInformation\":{\"docsetId\":\"statug\",\"docsetVersion\":\"latest\",\"docsetTargetFile\":\"statug_surveyfreq_toc.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/SURVEYIMPUTE.json",
    "content": "{\"name\":\"SURVEYIMPUTE\",\"statements\":[{\"name\":\"PROC SURVEYIMPUTE\",\"description\":\"The SURVEYIMPUTE procedure imputes missing values of an item in a data set by replacing them with observed values from the same item. The principles by which the imputation is performed are particularly useful for survey data. PROC SURVEYIMPUTE also computes replicate weights (such as jackknife weights) that account for the imputation and that can be used for replication-based variance estimation for complex surveys. The procedure implements a fractional hot-deck imputation technique (Kim and Fuller 2004; Fuller 2009; Kim and Shao 2014) in addition to some traditional hot-deck imputation techniques (Andridge and Little 2010). † Nonresponse is a common problem in almost all surveys of human populations. Estimators that are based on survey data that include nonresponse can suffer from nonresponse bias if the nonrespondents are different from the respondents. Estimators that use complete cases (only the observed units) might also be less precise. Imputation techniques are important tools for reducing nonresponse bias and producing efficient estimators. † The main objectives of any imputation technique are to eliminate the nonresponse bias and to provide an imputed data set that results in consistent analyses conducted with the imputed data. In addition, a variance estimator must be available that accounts for both the sampling variance and the imputation variance. Imputation techniques use implicit or explicit models. Some model-based imputation techniques include multiple imputation, mean imputation, and regression imputation.\",\"help\":\"PROC SURVEYIMPUTE <DATA=SAS-data-set><METHOD=FEFI | HOTDECK|HD><NDONORS=r><NOPRINT><ORDER=DATA | FORMATTED | FREQ... ><SEED=number><VARMETHOD=BRR | JACKKNIFE|JK | NONE>;     \\n\\tBY <DESCENDING><NOTSORTED> ;\\n\\n\\tCELLS variables ;\\n\\n\\tCLASS <DESCENDING><ORDER=<DATA | FORMATTED | FREQ>... ><TRUNCATE <=n>> ...;\\n\\n\\tCLUSTER variables;\\n\\n\\tID variable;\\n\\n\\tIMPJOINT <variables>;\\n\\n\\tOUTPUT <DONORID<=name>><OUT=SAS-data-set><OUTJKCOEFS=SAS-data-set> ...;\\n\\n\\tREPWEIGHTS variables;\\n\\n\\tSTRATA variables;\\n\\n\\tVAR variables;\\n\\n\\tWEIGHT variable;\\n\",\"arguments\":[{\"name\":\"DATA=\",\"optional\":true,\"description\":\"Names the SAS data set that contains the data to be analyzed. If you omit the DATA= option, PROC SURVEYIMPUTE uses the most recently created SAS data set.\",\"help\":\"DATA=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"METHOD=\",\"optional\":true,\"description\":\"Specifies the imputation method to impute missing values for all variables in the VAR statement. By default, METHOD=FEFI.\",\"help\":\"METHOD=FEFI | HOTDECK|HD\",\"type\":\"choice\",\"arguments\":[{\"name\":\"FEFI\",\"description\":\"Syntax: FEFI <(method-options)> Requests the fully efficient fractional imputation (FEFI) method. You can specify the following method-options: ABSEMWTCONV=r specifies the absolute weighted convergence criterion. The expectation maximization (EM) algorithm stops when the maximum absolute difference between the fractional weights from the previous iteration and the fractional weights from the current iteration is less than r. The default value of r is 0.00001. RELEMWTCONV=r specifies a relative weighted convergence criterion. The expectation maximization (EM) algorithm stops when the maximum relative absolute difference between the weights from the previous iteration and the weights from the current iteration is less than r. The default value of r is 0.001. MAXDONORCELLS=i specifies the maximum number (i) of donor cells allowed for a recipient unit. By default, MAXDONORCELLS=5000. MAXEMITER=i specifies the maximum number (i) of iterations for the expectation maximization (EM) algorithm. By default, MAXEMITER=100.\",\"type\":\"standalone\"},{\"name\":\"HOTDECK\",\"description\":\"Syntax: HOTDECK < (SELECTION=selection-option) > HD < (SELECTION=selection-option) > Requests the hot-deck imputation method. By default, SELECTION=SRSWR for METHOD=HOTDECK if you do not use the WEIGHT statement, and SELECTION=WEIGHTED for METHOD=HOTDECK if you use the WEIGHT statement. You can specify one of the following donor selection selection-options: ABB requests donor selection by using the approximate Bayesian bootstrap method. SRSWOR requests donor selection by using simple random samples without replacement. SRSWR requests donor selection by using simple random samples with replacement. WEIGHTED requests donor selection by using probability proportional to respondent weights with replacement.\",\"help\":\"HOTDECK|HD\",\"type\":\"choice\"}]},{\"name\":\"NDONORS=\",\"optional\":true,\"description\":\"Specifies the number of donor units to impute for a recipient unit when METHOD=HOTDECK. If you specify NDONORS=0, then no imputation is performed. When METHOD=FEFI , the SURVEYIMPUTE procedure performs fully efficient fractional imputation, for which the NDONORS= option does not apply. When METHOD=HOTDECK, NDONORS=1 by default.\",\"help\":\"NDONORS=*r*\",\"type\":\"value\"},{\"name\":\"NOPRINT\",\"optional\":true,\"description\":\"Suppresses all displayed output. This option temporarily disables the Output Delivery System (ODS).\",\"type\":\"standalone\"},{\"name\":\"ORDER=\",\"optional\":true,\"description\":\"Specifies the sort order for the levels of the classification variables (which are specified in the CLASS statement). This option applies to the levels for all classification variables, except when you use the (default) ORDER=FORMATTED option with numeric classification variables that have no explicit format. In that case, the levels of such variables are ordered by their internal value.\",\"help\":\"ORDER=DATA | FORMATTED | FREQ | INTERNAL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DATA\",\"description\":\"Levels sorted by the order of appearance in the input data set.\",\"type\":\"standalone\"},{\"name\":\"FORMATTED\",\"description\":\"Levels sorted by the external formatted value, except for numeric variables with no explicit format, which are sorted by their unformatted (internal) value.\",\"type\":\"standalone\"},{\"name\":\"FREQ\",\"description\":\"Levels sorted by the descending frequency count; levels with the most observations come first in the order.\",\"type\":\"standalone\"},{\"name\":\"INTERNAL\",\"description\":\"Levels sorted by the unformatted value.\",\"type\":\"standalone\"}]},{\"name\":\"SEED=\",\"optional\":true,\"description\":\"Specifies the initial seed for random number generation that is used to select donor units for METHOD=HOTDECK . The number should be a positive integer. If you do not specify this option or if number is 0, PROC SURVEYIMPUTE uses the time of day from the computer’s clock to obtain the initial seed.\",\"help\":\"SEED=*number*\",\"type\":\"value\"},{\"name\":\"VARMETHOD=\",\"optional\":true,\"aliases\":[\"REPWEIGHTSTYPE=\"],\"description\":\"[Syntax: VARMETHOD=BRR < (method-options) > | JACKKNIFE | NONE REPWEIGHTSTYPE=BRR < (method-options) > | JACKKNIFE | NONE\",\"help\":\"VARMETHOD=BRR | JACKKNIFE|JK | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"BRR\",\"description\":\"BRR < (method-options) > Computes the imputation-adjusted balanced repeated replication (BRR) weights. The BRR method requires a stratified sample design with two primary sampling units (PSUs) in each stratum. If you specify the VARMETHOD=BRR option, you must also use a STRATA statement unless you provide replicate weights by using a REPWEIGHTS statement. You can specify the following method-options in parentheses after the VARMETHOD=BRR option: FAY <=value> requests Fay’s method, which is a modification of the BRR method. HADAMARD=SAS-data-set H=SAS-data-set names a SAS data set that contains the Hadamard matrix for BRR replicate construction. PRINTH displays the Hadamard matrix used to construct replicates for BRR. When you provide the Hadamard matrix in the HADAMARD= method-option, PROC SURVEYIMPUTE displays only the rows and columns that are actually used to construct replicates. REPS=number specifies the number of replicates for BRR variance estimation. The value of number must be an integer greater than 1.\",\"type\":\"standalone\"},{\"name\":\"JACKKNIFE\",\"description\":\"Computes the imputation-adjusted jackknife replicate weights.\",\"help\":\"JACKKNIFE|JK\",\"type\":\"choice\"},{\"name\":\"NONE\",\"description\":\"Does not compute replicate weights.\",\"type\":\"standalone\"}]}]},{\"name\":\"BY\",\"description\":\"You can specify a BY statement with PROC SURVEYIMPUTE to obtain separate analyses of observations in groups that are defined by the BY variables. When a BY statement appears, the procedure expects the input data set to be sorted in order of the BY variables. If you specify more than one BY statement, only the last one specified is used.\",\"help\":\"BY &lt;DESCENDING&gt;&lt;NOTSORTED&gt;\",\"arguments\":[{\"name\":\"DESCENDING\",\"optional\":true,\"description\":\"Specifies that the observations are sorted in descending order by the variable that immediately follows the word DESCENDING in the BY statement.\",\"type\":\"standalone\"},{\"name\":\"NOTSORTED\",\"optional\":true,\"description\":\"Specifies that observations are not necessarily sorted in alphabetic or numeric order.\",\"type\":\"standalone\"}]},{\"name\":\"CELLS\",\"description\":\"The CELLS statement names the variables that identify the imputation cells. The imputation cells divide the data into groups of similar units. The combination of levels of CELLS variables defines the imputation cells. If you do not use this statement, then all observation units are assumed to be in one imputation cell.\",\"help\":\"CELLS variables \"},{\"name\":\"CLASS\",\"description\":\"The CLASS statement names the classification variables for the analysis. Most options can be specified either as individual variable options or as global options. You can specify options for each variable by enclosing the options in parentheses after the variable name. You can also specify global options for the CLASS statement by placing the options after a slash (/). Global options are applied to every variable that is specified without an option in the CLASS statement. However, individual CLASS variable options override the global options.\",\"help\":\"CLASS &lt;DESCENDING&gt;&lt;ORDER=&lt;DATA | FORMATTED | FREQ&gt;... &gt;&lt;TRUNCATE &lt;=n&gt;&gt; ...\",\"arguments\":[{\"name\":\"DESCENDING\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"DESC\"],\"description\":\"Reverses the sorting order of the classification variable. If you specify both the DESCENDING and ORDER= options, PROC SURVEYIMPUTE orders the categories according to the ORDER= option and then reverses that order.\",\"type\":\"standalone\"},{\"name\":\"ORDER=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the sort order for the levels of classification variables.\",\"help\":\"ORDER=DATA | FORMATTED | FREQ | INTERNAL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DATA\",\"followsDelimiter\":\"/\",\"description\":\"Levels are sorted by the order of appearance in the input data set\",\"type\":\"standalone\"},{\"name\":\"FORMATTED\",\"followsDelimiter\":\"/\",\"description\":\"Levels are sorted by the external formatted value, except for numeric variables with no explicit format, which are sorted by their unformatted (internal) value.\",\"type\":\"standalone\"},{\"name\":\"FREQ\",\"followsDelimiter\":\"/\",\"description\":\"Levels are sorted by the descending frequency count; levels with the most observations come first in the order\",\"type\":\"standalone\"},{\"name\":\"INTERNAL\",\"followsDelimiter\":\"/\",\"description\":\"Levels are sorted by the unformatted value.\",\"type\":\"standalone\"}]},{\"name\":\"TRUNCATE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the length n of CLASS variable values to use in determining CLASS variable levels. The default is to use the full formatted length of the CLASS variable. If you specify the TRUNCATE option without the length n, the first 16 characters of the formatted values are used. When formatted values are longer than 16 characters, you can use this option to revert to the levels as determined in releases before SAS 9. The TRUNCATE option is available only as a global option.\",\"type\":\"value\"}]},{\"name\":\"CLUSTER\",\"description\":\"The CLUSTER statement names variables that identify the first-stage clusters in a clustered sample design. First-stage clusters are also known as primary sampling units (PSUs). The combinations of categories of CLUSTER variables define the clusters in the sample. If you also use the STRATA statement, clusters are nested within strata. If your sample design has clustering at multiple stages, you should specify only the first-stage clusters (PSUs) in the CLUSTER statement. For more information, see the section Specifying the Sample Design. If you use a REPWEIGHTS statement to provide replicate weights for the BRR or jackknife variance estimation method, you do not need to use a CLUSTER statement.\",\"help\":\"CLUSTER variables\"},{\"name\":\"ID\",\"description\":\"The ID statement names a variable in the DATA= input data set to identify observation units. When you use an OUTPUT statement, the OUT= data set includes the ID variable. PROC SURVEYIMPUTE uses the ID variable values to identify the donor observations. If you do not use an ID statement, the procedure creates a new variable named UnitID that uses the observation numbers to identify the donor observations.\",\"help\":\"ID variable\"},{\"name\":\"IMPJOINT\",\"description\":\"The IMPJOINT statement specifies the names of variables that are to be imputed jointly for the fully efficient fractional imputation (FEFI) method. If you do not use the IMPJOINT statement, then all the variables that you specify in the VAR statement are imputed jointly. You can use multiple IMPJOINT statements. The levels of the variables in the IMPJOINT statement describe a nonparametric imputation model for the expectation maximization (EM) step for the fractional imputation.\",\"help\":\"IMPJOINT &lt;variables&gt;\"},{\"name\":\"OUTPUT\",\"description\":\"The OUTPUT statement creates a SAS data set that contains the imputed data. You must use the OUTPUT statement to store the imputed data in a SAS data set. If you use multiple OUTPUT statements, then PROC SURVEYIMPUTE uses only the first OUTPUT statement and ignores the rest. The OUTPUT OUT= data set contains all the variables from the DATA= input data set, imputed values for missing values for the variables in the VAR statement, and some observation-level quantities. These quantities can include the fractionally adjusted weights, replicate weights, recipient numbers, and donor identifications.\",\"help\":\"OUTPUT &lt;DONORID&lt;=name&gt;&gt;&lt;OUT=SAS-data-set&gt;&lt;OUTJKCOEFS=SAS-data-set&gt; ...\",\"arguments\":[{\"name\":\"DONORID\",\"optional\":true,\"description\":\"Requests a name for the identification variable for the donor units. If you do not specify this keyword, the donor IDs are not saved in the output data set. If you specify this keyword but do not specify a name, then the donor IDs are stored in a new variable named DonorID. This keyword is available only when METHOD=HOTDECK.\",\"type\":\"standalone\"},{\"name\":\"FRACTIONALWEIGHTS=\",\"optional\":true,\"description\":\"Includes the fractional weights of donor cells in the output data set and specifies the corresponding variable name. If you do not specify this keyword, the fractional weights are not saved in the output data set. This keyword is available only when METHOD=FEFI.\",\"help\":\"FRACTIONALWEIGHTS=*name*\",\"type\":\"value\"},{\"name\":\"IMPADJWEIGHTS=\",\"optional\":true,\"description\":\"Includes the imputation-adjusted weights in the output data set and specifies the corresponding variable name. The imputation-adjusted weights are computed by multiplying the base weights by the fractional weights. If you do not specify this keyword, then the imputation-adjusted weights are stored in a new variable named ImpWt. This keyword is available only when METHOD=FEFI.\",\"help\":\"IMPADJWEIGHTS=*name*\",\"type\":\"value\"},{\"name\":\"IMPSTATUS\",\"optional\":true,\"description\":\"Includes an imputation status index.\",\"help\":\"IMPSTATUS0 | 1 | 2 | 3 | 4\",\"type\":\"choice\",\"arguments\":[{\"name\":\"0\",\"description\":\"All items are observed.\",\"type\":\"standalone\"},{\"name\":\"1\",\"description\":\"All missing items are imputed.\",\"type\":\"standalone\"},{\"name\":\"2\",\"description\":\"No missing items are imputed.\",\"type\":\"standalone\"},{\"name\":\"3\",\"description\":\"Some missing items are imputed but some missing items are not imputed.\",\"type\":\"standalone\"},{\"name\":\"4\",\"description\":\"Invalid observation; observation is not used in the imputation.\",\"type\":\"standalone\"}]},{\"name\":\"OBSID=\",\"optional\":true,\"description\":\"Includes an index variable to contain the unique numeric identification of every unit from the input data set in the output data and specifies the corresponding variable name. If you do not specify this keyword, then the default unit ID is stored in a new variable named UnitID. The OBSID= option is not applicable when the ID statement is specified.\",\"help\":\"OBSID=*name*\",\"type\":\"value\"},{\"name\":\"OUT=\",\"optional\":true,\"description\":\"Names the output data set. If you use the OUTPUT statement but omit the OUT= option, then the output data set is named by using the DATAn convention\",\"help\":\"OUT=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"OUTJKCOEFS=\",\"optional\":true,\"description\":\"Names a SAS data set that contains the jackknife coefficients for VARMETHOD=JACKKNIFE.\",\"help\":\"OUTJKCOEFS=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"RECIPIENT=\",\"optional\":true,\"description\":\"Includes the recipient index in the output data set and specifies the corresponding variable name. The recipient index can be 0 (which indicates a nonmissing unit) or any positive integer (which represents multiple donor units for a recipient unit). If you do not specify this keyword, then the recipient index is stored in a new variable named Recipient.\",\"help\":\"RECIPIENT=*name*\",\"type\":\"value\"}]},{\"name\":\"REPWEIGHTS\",\"description\":\"The REPWEIGHTS statement names variables that provide replicate weights. If you use a REPWEIGHTS statement and you specify METHOD=HOTDECK in the PROC SURVEYIMPUTE statement, the procedure does not adjust the replicate weights. If you use a REPWEIGHTS statement and you specify METHOD=FEFI in the PROC SURVEYIMPUTE statement, the procedure adjusts the replicate weights. Each REPWEIGHTS variable should contain the weights for a single replicate, and the number of replicates should equal the number of REPWEIGHTS variables. The REPWEIGHTS variables must be numeric, and the variable values must be nonnegative numbers. If you provide replicate weights in a REPWEIGHTS statement, you do not need to use a CLUSTER or STRATA statement. If you use a REPWEIGHTS statement but do not use a WEIGHT statement, PROC SURVEYIMPUTE uses the average of each observation’s replicate weights as the observation’s weight.\",\"help\":\"REPWEIGHTS variables\"},{\"name\":\"STRATA\",\"description\":\"The STRATA statement names one or more variables that form the strata in a stratified sample design. The combinations of levels of STRATA variables define the strata in the sample, where strata are nonoverlapping subgroups that were sampled independently. If your sample design has stratification at multiple stages, you should identify only the first-stage strata in the STRATA statement. For more information, see the section Specifying the Sample Design. If you provide replicate weights in a REPWEIGHTS statement, you do not need to use a STRATA statement. The STRATA variables are one or more variables in the DATA= input data set. These variables can be either character or numeric, but PROC SURVEYIMPUTE treats them as categorical variables. The formatted values of the STRATA variables determine the STRATA variable levels. Thus, you can use formats to group values into levels.\",\"help\":\"STRATA variables\"},{\"name\":\"VAR\",\"description\":\"The VAR statement names the analysis variables to be imputed. The analysis variables can be either character or numeric. The categorical variables in the VAR statement, which can be either character or numeric, must also be specified in the CLASS statement. Only variables that you specify in the VAR statement will be imputed. If you specify METHOD=FEFI , then all numeric variables that you specify in the VAR statement must also be specified in the CLASS statement. METHOD=FEFI is not available for continuous variables in SAS/STAT 14.1. A variable in the VAR statement should not appear in any of the BY, CLUSTER, REPWEIGHTS, STRATA, and WEIGHT statements.\",\"help\":\"VAR variables\"},{\"name\":\"WEIGHT\",\"description\":\"The WEIGHT statement names the variable that contains the sampling weights. This variable must be numeric, and the sampling weights must be positive numbers. If an observation has a weight that is nonpositive or missing, then PROC SURVEYIMPUTE omits that observation from the analysis. If you do not use a WEIGHT statement but you provide replicate weights in a REPWEIGHTS statement, PROC SURVEYIMPUTE uses the average of each observation’s replicate weights as the observation’s weight. If you use neither a WEIGHT statement nor a REPWEIGHTS statement, PROC SURVEYIMPUTE assigns all observations a weight of 1.\",\"help\":\"WEIGHT variable\"}],\"supportSiteInformation\":{\"docsetId\":\"statug\",\"docsetVersion\":\"latest\",\"docsetTargetFile\":\"statug_surveyimpute_toc.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/SURVEYLOGISTIC.json",
    "content": "{\"name\":\"SURVEYLOGISTIC\",\"statements\":[{\"name\":\"PROC SURVEYLOGISTIC\",\"description\":\"Categorical responses arise extensively in sample survey. Common examples of responses include the following: † o binary: for example, attended graduate school or not o ordinal: for example, mild, moderate, and severe pain o nominal: for example, ABC, NBC, CBS, FOX TV network viewed at a certain hour † Logistic regression analysis is often used to investigate the relationship between such discrete responses and a set of explanatory variables.\",\"help\":\"PROC SURVEYLOGISTIC <ALPHA=α><DATA=SAS-data-set><MISSING><NOMCAR><ORDER=DATA | FORMATTED | FREQ... ><RATE=value | SAS-data-set><TOTAL=value | SAS-data-set><TRUNCATE><VARMETHOD=BRR | JACKKNIFE | TAYLOR>;     \\n\\tBY <DESCENDING><NOTSORTED> ;\\n\\n\\tCLASS <CPREFIX=n><DESCENDING><LPREFIX=n> ...;\\n\\n\\tCLUSTER variables ;\\n\\n\\tDOMAIN variables <variable*variable variable*variable*variable ... > ;\\n\\n\\tEFFECT EFFECT-NAME=COLLECTION|LAG|MULTIMEMBER|MM...  <PERIOD=variable><WITHIN=(variables) | WITHIN=variable> ...;\\n\\n\\tESTIMATE <ADJDFE=<SOURCE | ROW>><ADJUST=<BON | SCHEFFE | SIDAK>... ><ALPHA=number> ...;\\n\\n\\tFREQ variable ;\\n\\n\\tLSMEANS <ADJDFE=<SOURCE | ROW>><ADJUST=<BON | DUNNETT | NELSON>... ><ALPHA=number> ...;\\n\\n\\tLSMESTIMATE <ADJDFE=<SOURCE | ROW>><ADJUST=<BON | SCHEFFE | SIDAK>... ><ALPHA=number> ...;\\n\\n\\tMODEL DESCENDING EVENT=<’category’>|FIRST|LAST  ORDER=DATA|FORMATTED|FREQ...  ...;\\n\\n\\tOUTPUT <LOWER=name><OUT=SAS-data-set><PREDICTED=> ...;\\n\\n\\tREPWEIGHTS <DF=df><JKCOEFS=jackknife-coefficient-specification> ;\\n\\n\\tSLICE <ADJDFE=<SOURCE | ROW>><ADJUST=<BON | DUNNETT | NELSON>... ><ALPHA=number> ...;\\n\\n\\tSTORE <LABEL='label'> ;\\n\\n\\tSTRATA <LIST><NOCOLLAPSE> ;\\n\\n\\tTEST <PRINT> ;\\n\\n\\tUNITS <DEFAULT=list> ;\\n\\n\\tWEIGHT variable;\\n\",\"arguments\":[{\"name\":\"ALPHA=\",\"optional\":true,\"description\":\"Sets the confidence level for confidence limits. The value of the ALPHA= option must be between 0 and 1, and the default value is 0.05. A confidence level of α produces 100(1-α)% confidence limits. The default of ALPHA=0.05 produces 95% confidence limits.\",\"type\":\"value\"},{\"name\":\"DATA=\",\"optional\":true,\"description\":\"Specifies the SAS data set to be analyzed by PROC SURVEYREG. If you omit the DATA= option, the procedure uses the most recently created SAS data set.\",\"help\":\"DATA=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"MISSING\",\"optional\":true,\"description\":\"Treats missing values as a valid (nonmissing) category for all categorical variables, which include CLASS, STRATA, CLUSTER, and DOMAIN variables. By default, if you do not specify the MISSING option, an observation is excluded from the analysis if it has a missing value.\",\"type\":\"standalone\"},{\"name\":\"NOMCAR\",\"optional\":true,\"description\":\"Requests that the procedure treat missing values in the variance computation as not missing completely at random (NOMCAR) for Taylor series variance estimation. When you specify the NOMCAR option, PROC SURVEYREG computes variance estimates by analyzing the nonmissing values as a domain or subpopulation, where the entire population includes both nonmissing and missing domains.]\",\"type\":\"standalone\"},{\"name\":\"ORDER=\",\"optional\":true,\"description\":\"Specifies the order in which to sort the levels of the classification variables (which are specified in the CLASS statement). This option applies to the levels for all classification variables, except when you use the (default) ORDER=FORMATTED option with numeric classification variables that have no explicit format. With this option, the levels of such variables are ordered by their internal value.\",\"help\":\"ORDER=DATA | FORMATTED | FREQ | INTERNAL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DATA\",\"description\":\"Levels sorted by the order of appearance in the input data set.\",\"type\":\"standalone\"},{\"name\":\"FORMATTED\",\"description\":\"Levels sorted by the external formatted value, except for numeric variables with no explicit format, which are sorted by their unformatted (internal) value.\",\"type\":\"standalone\"},{\"name\":\"FREQ\",\"description\":\"Levels sorted by the descending frequency count; levels with the most observations come first in the order.\",\"type\":\"standalone\"},{\"name\":\"INTERNAL\",\"description\":\"Levels sorted by the unformatted value.\",\"type\":\"standalone\"}]},{\"name\":\"RATE=\",\"optional\":true,\"aliases\":[\"R=\"],\"description\":\"Specifies the sampling rate as a nonnegative value, or identifies an input data set that gives the stratum sampling rates in a variable named _RATE_. The procedure uses this information to compute a finite population correction for Taylor series variance estimation. The procedure does not use the RATE= option for BRR or jackknife variance estimation, which you request with the VARMETHOD=BRR or VARMETHOD=JACKKNIFE option.\",\"type\":\"value\"},{\"name\":\"TOTAL=\",\"optional\":true,\"aliases\":[\"N=\"],\"description\":\"Specifies the total number of primary sampling units (PSUs) in the study population as a positive value, or identifies an input data set that gives the stratum population totals in a variable named _TOTAL_. The procedure uses this information to compute a finite population correction for Taylor series variance estimation. The procedure does not use the TOTAL= option for BRR or jackknife variance estimation, which you request with the VARMETHOD=BRR or VARMETHOD=JACKKNIFE option.\",\"type\":\"value\"},{\"name\":\"TRUNCATE\",\"optional\":true,\"description\":\"Specifies that class levels should be determined using no more than the first 16 characters of the formatted values of the CLASS, STRATA, and CLUSTER variables. When formatted values are longer than 16 characters, you can use this option in order to revert to the levels as determined in releases before SAS 9.\",\"type\":\"standalone\"},{\"name\":\"VARMETHOD=\",\"optional\":true,\"description\":\"Specifies the variance estimation method.\",\"help\":\"VARMETHOD=BRR | JACKKNIFE | TAYLOR\",\"type\":\"choice\",\"arguments\":[{\"name\":\"BRR\",\"description\":\"Requests variance estimation by balanced repeated replication (BRR). You can specify the following method-options in parentheses after the VARMETHOD=BRR option: FAY <=value> requests Fay’s method, which is a modification of the BRR method. HADAMARD=SAS-data-set H=SAS-data-set names a SAS data set that contains the Hadamard matrix for BRR replicate construction. OUTWEIGHTS=SAS-data-set names an output SAS data set to store the replicate weights that PROC SURVEYPHREG creates for BRR variance estimation. The OUTWEIGHTS= method-option is not available when you provide replicate weights with a REPWEIGHTS statement. PRINTH displays the Hadamard matrix used to construct replicates for BRR. When you provide the Hadamard matrix in the HADAMARD= method-option, PROC SURVEYPHREG displays only the rows and columns that are actually used to construct replicates. REPS=number specifies the number of replicates for BRR variance estimation. The value of number must be an integer greater than 1.\",\"type\":\"standalone\"},{\"name\":\"JACKKNIFE\",\"description\":\"Requests variance estimation by the delete-1 jackknife method. You can specify the following method-options in parentheses following VARMETHOD=JACKKNIFE: OUTWEIGHTS=SAS-data-set names an output SAS data set that contains replicate weights. The OUTWEIGHTS= method-option is not available when you provide replicate weights with the REPWEIGHTS statement. OUTJKCOEFS=SAS-data-set names an output SAS data set that contains jackknife coefficients.\",\"type\":\"standalone\"},{\"name\":\"TAYLOR\",\"description\":\"Requests Taylor series variance estimation. This is the default method if you do not specify the VARMETHOD= option or a REPWEIGHTS statement.\",\"type\":\"standalone\"}]}]},{\"name\":\"BY\",\"description\":\"You can specify a BY statement with PROC SURVEYLOGISTIC to obtain separate analyses on observations in groups that are defined by the BY variables. When a BY statement appears, the procedure expects the input data set to be sorted in order of the BY variables. If you specify more than one BY statement, only the last one specified is used.\",\"help\":\"BY &lt;DESCENDING&gt;&lt;NOTSORTED&gt;\",\"arguments\":[{\"name\":\"DESCENDING\",\"optional\":true,\"description\":\"Specifies that the observations are sorted in descending order by the variable that immediately follows the word DESCENDING in the BY statement.\",\"type\":\"standalone\"},{\"name\":\"NOTSORTED\",\"optional\":true,\"description\":\"Specifies that observations are not necessarily sorted in alphabetic or numeric order.\",\"type\":\"standalone\"}]},{\"name\":\"CLASS\",\"description\":\"The CLASS statement names the classification variables to be used in the analysis. The CLASS statement must precede the MODEL statement. You can specify various v-options for each variable by enclosing them in parentheses after the variable name. You can also specify global v-options for the CLASS statement by placing them after a slash (/). Global v-options are applied to all the variables specified in the CLASS statement. However, individual CLASS variable v-options override the global v-options.\",\"help\":\"CLASS &lt;CPREFIX=n&gt;&lt;DESCENDING&gt;&lt;LPREFIX=n&gt; ...\",\"arguments\":[{\"name\":\"CPREFIX=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies that, at most, the first n characters of a CLASS variable name be used in creating names for the corresponding dummy variables.\",\"help\":\"CPREFIX=*n*\",\"type\":\"value\"},{\"name\":\"DESCENDING\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"DESC\"],\"description\":\"Reverses the sorting order of the classification variable.\",\"type\":\"standalone\"},{\"name\":\"LPREFIX=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies that, at most, the first n characters of a CLASS variable label be used in creating labels for the corresponding design variables.\",\"help\":\"LPREFIX=*n*\",\"type\":\"value\"},{\"name\":\"ORDER=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the order in which to sort the levels of the classification variables (which are specified in the CLASS statement). This option applies to the levels for all classification variables, except when you use the (default) ORDER=FORMATTED option with numeric classification variables that have no explicit format. With this option, the levels of such variables are ordered by their internal value.\",\"help\":\"ORDER=DATA | FORMATTED | FREQ | INTERNAL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DATA\",\"followsDelimiter\":\"/\",\"description\":\"Levels are sorted by the order of appearance in the input data set\",\"type\":\"standalone\"},{\"name\":\"FORMATTED\",\"followsDelimiter\":\"/\",\"description\":\"Levels are sorted by the external formatted value, except for numeric variables with no explicit format, which are sorted by their unformatted (internal) value.\",\"type\":\"standalone\"},{\"name\":\"FREQ\",\"followsDelimiter\":\"/\",\"description\":\"Levels are sorted by the descending frequency count; levels with the most observations come first in the order\",\"type\":\"standalone\"},{\"name\":\"INTERNAL\",\"followsDelimiter\":\"/\",\"description\":\"Levels are sorted by the unformatted value.\",\"type\":\"standalone\"}]},{\"name\":\"PARAM=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the parameterization method for the classification variable or variables.\",\"help\":\"PARAM=EFFECT | GLM | ORDINAL | POLYNOMIAL | REFERENCE | ORTHEFFECT | ORTHORDINAL | ORTHPOLY | ORTHREF\",\"type\":\"choice\",\"arguments\":[{\"name\":\"EFFECT\",\"followsDelimiter\":\"/\",\"description\":\"Specifies effect coding\",\"type\":\"standalone\"},{\"name\":\"GLM\",\"followsDelimiter\":\"/\",\"description\":\"Specifies less-than-full-rank, reference-cell coding; this option can be used only as a global option.\",\"type\":\"standalone\"},{\"name\":\"ORDINAL\",\"followsDelimiter\":\"/\",\"description\":\"Specifies the cumulative parameterization for an ordinal CLASS variable.\",\"type\":\"standalone\"},{\"name\":\"POLYNOMIAL\",\"followsDelimiter\":\"/\",\"description\":\"Specifies polynomial coding.\",\"type\":\"standalone\"},{\"name\":\"REFERENCE\",\"followsDelimiter\":\"/\",\"description\":\"Specifies reference-cell coding.\",\"type\":\"standalone\"},{\"name\":\"ORTHEFFECT\",\"followsDelimiter\":\"/\",\"description\":\"Orthogonalizes PARAM=EFFECT coding.\",\"type\":\"standalone\"},{\"name\":\"ORTHORDINAL\",\"followsDelimiter\":\"/\",\"description\":\"Orthogonalizes PARAM=ORDINAL coding.\",\"type\":\"standalone\"},{\"name\":\"ORTHPOLY\",\"followsDelimiter\":\"/\",\"description\":\"Orthogonalizes PARAM=POLYNOMIAL coding.\",\"type\":\"standalone\"},{\"name\":\"ORTHREF\",\"followsDelimiter\":\"/\",\"description\":\"Orthogonalizes PARAM=REFERENCE coding.\",\"type\":\"standalone\"}]},{\"name\":\"REF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the reference level for PARAM=EFFECT, or PARAM=REFERENCE. For an individual (but not a global) variable REF= option, you can specify the level of the variable to use as the reference level. For a global or individual variable REF= option, you can use the FIRST or LAST keyword. The default is REF=LAST.\",\"help\":\"REF=&lt;’*level*’&gt; | FIRST | LAST\",\"type\":\"choice\",\"arguments\":[{\"name\":\"’level’\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"For an individual (but not a global) variable, you can specify the level of the variable to use as the reference level. Specify the formatted value of the variable if a format is assigned.\",\"type\":\"value\"},{\"name\":\"FIRST\",\"followsDelimiter\":\"/\",\"description\":\"For a global or individual variable, designates the first ordered level as reference.\",\"type\":\"standalone\"},{\"name\":\"LAST\",\"followsDelimiter\":\"/\",\"description\":\"For a global or individual variable, designates the last ordered level as reference.\",\"type\":\"standalone\"}]}]},{\"name\":\"CLUSTER\",\"aliases\":[\"CLUSTERS\"],\"description\":\"The CLUSTER statement names variables that identify the clusters in a clustered sample design. The combinations of categories of CLUSTER variables define the clusters in the sample. If there is a STRATA statement, clusters are nested within strata. If you provide replicate weights for BRR or jackknife variance estimation with the REPWEIGHTS statement, you do not need to specify a CLUSTER statement. If your sample design has clustering at multiple stages, you should identify only the first-stage clusters (primary sampling units (PSUs)), in the CLUSTER statement. The CLUSTER variables are one or more variables in the DATA= input data set. These variables can be either character or numeric, but the procedure treats them as categorical variables. The formatted values of the CLUSTER variables determine the CLUSTER variable levels. Thus, you can use formats to group values into levels.\",\"help\":\"CLUSTER variables \"},{\"name\":\"DOMAIN\",\"description\":\"The DOMAIN statement requests analysis for domains (subpopulations), in addition to analysis for the entire study population. The DOMAIN statement names the variables that identify domains, which are called domain variables. It is common practice to compute statistics for domains. The formation of these domains might not be known at the design stage. Therefore, the sample sizes for the domains are often random. Use a DOMAIN statement to incorporate this variability into the variance estimation. Note that a DOMAIN statement is different from a BY statement. In a BY statement, you treat the sample sizes as fixed in each subpopulation, and you perform analysis within each BY group independently.\",\"help\":\"DOMAIN variables &lt;variable*variable variable*variable*variable ... &gt; \"},{\"name\":\"EFFECT\",\"description\":\"The name of the effect is specified after the EFFECT keyword. This name can appear in only one EFFECT statement and cannot be the name of a variable in the input data set. The effect-type is specified after an equal sign, followed by a list of variables within parentheses which are used in constructing the effect. Effect-options that are specific to an effect-type can be specified after a slash (/) following the variable list. The EFFECT statement enables you to construct special collections of columns for design matrices. These collections are referred to as constructed effects to distinguish them from the usual model effects formed from continuous or classification variables.\",\"help\":\"EFFECT EFFECT-NAME=COLLECTION|LAG|MULTIMEMBER|MM...  &lt;PERIOD=variable&gt;&lt;WITHIN=(variables) | WITHIN=variable&gt; ...\",\"arguments\":[{\"name\":\"EFFECT-NAME=\",\"placeholder\":true,\"description\":\"Replace 'EFFECT-NAME' with the name of the effect, specified after the EFFECT keyword. This name can appear in only one EFFECT statement and cannot be the name of a variable in the input data set. These values can be used: COLLECTION, LAG, MULTIMEMBER, POLYNOMIAL, or SPLINE.\",\"type\":\"value\"},{\"name\":\"BASIS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"[For the SPLINE effect-type only] Specifies a basis for the spline expansion.\",\"help\":\"BASIS=BSPLINE | TPF\",\"type\":\"choice\",\"arguments\":[{\"name\":\"BSPLINE\",\"followsDelimiter\":\"/\",\"description\":\"Specifies a B-spline basis for the spline expansion.\",\"type\":\"standalone\"},{\"name\":\"TPF\",\"followsDelimiter\":\"/\",\"description\":\"Syntax: TPF(options) Specifies a truncated power function basis for the spline expansion. You can modify the number of columns when you request BASIS=TPF with the following options: NOINT excludes the intercept column. NOPOWERS excludes the intercept and polynomial columns.\",\"type\":\"standalone\"}]},{\"name\":\"DATABOUNDARY\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"[For the SPLINE effect-type only] Specifies that the extremes of the data be used as boundary knots when building a B-spline basis.\",\"type\":\"standalone\"},{\"name\":\"DEGREE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"\",\"help\":\"DEGREE=*n*\",\"type\":\"value\"},{\"name\":\"DESIGNROLE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"\",\"help\":\"DESIGNROLE=*variable*\",\"type\":\"value\"},{\"name\":\"DETAILS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"[For the LAG | COLLECTION | MULTIMEMBER | POLYNOMIAL |SPLINE effect-type] Requests a table that shows the (1) lag design matrix of the lag effect, or (2) constituents of the collection effect, or (3) levels of the multimember effect, or (4) details of the specified polynomial, or (5) knot locations and the knots associated with each spline basis function.\",\"type\":\"standalone\"},{\"name\":\"KNOTMAX=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"\",\"help\":\"KNOTMAX=*value*\",\"type\":\"value\"},{\"name\":\"KNOTMETHOD=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"[For the SPLINE effect-type only] Specifies how to construct the knots for spline effects.\",\"help\":\"KNOTMETHOD=EQUAL | LIST | LISTWITHBOUNDARY | MULTISCALE | PERCENTILES | RANGEFRACTIONS\",\"type\":\"choice\",\"arguments\":[{\"name\":\"EQUAL\",\"followsDelimiter\":\"/\",\"description\":\"Syntax: EQUAL<(n)> Specifies that n equally spaced knots be positioned between the extremes of the data. The default is n=3. For a B-spline basis, any needed boundary knots continue to be equally spaced unless the DATABOUNDARY option has also been specified. KNOTMETHOD=EQUAL is the default if no knot-method is specified.\",\"type\":\"standalone\"},{\"name\":\"LIST\",\"followsDelimiter\":\"/\",\"description\":\"Syntax: LIST(number-list) Specifies the list of internal knots to be used in forming the spline basis columns. For a B-spline basis, the data extremes are used as boundary knots.\",\"type\":\"standalone\"},{\"name\":\"LISTWITHBOUNDARY\",\"followsDelimiter\":\"/\",\"description\":\"Syntax: LISTWITHBOUNDARY(number-list) Specifies the list of all knots that are used in forming the spline basis columns.\",\"type\":\"standalone\"},{\"name\":\"MULTISCALE\",\"followsDelimiter\":\"/\",\"description\":\"Syntax: MULTISCALE<(multiscale-options)> Specifies that multiple B-spline bases be generated, corresponding to sets with an increasing number of internal knots. You can control which scales are included with the following multiscale-options: STARTSCALE=n specifies the start scale, where n is a positive integer. The default is STARTSCALE=0. ENDSCALE=n specifies the end scale, where n is a positive integer. The default is ENDSCALE=7.\",\"type\":\"standalone\"},{\"name\":\"PERCENTILES\",\"followsDelimiter\":\"/\",\"description\":\"Syntax: PERCENTILES(n) Requests that internal knots be placed at n equally spaced percentiles of the variable or variables named in the EFFECT statement.\",\"type\":\"standalone\"},{\"name\":\"RANGEFRACTIONS\",\"followsDelimiter\":\"/\",\"description\":\"Syntax: RANGEFRACTIONS(fraction-list) Requests that internal knots be placed at each fraction of the ranges of the variables in the EFFECT statement.\",\"type\":\"standalone\"}]},{\"name\":\"KNOTMIN=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"\",\"help\":\"KNOTMIN=*value*\",\"type\":\"value\"},{\"name\":\"LABELSTYLE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"\",\"help\":\"LABELSTYLE=EXPAND | EXPONENT | INCLUDENAME | PRODUCTSYMBOL=\",\"type\":\"choice\",\"arguments\":[{\"name\":\"EXPAND\",\"followsDelimiter\":\"/\",\"description\":\"Specifies that each variable with an exponent greater than 1 be written as products of that variable.\",\"type\":\"standalone\"},{\"name\":\"EXPONENT\",\"followsDelimiter\":\"/\",\"description\":\"Syntax: EXPONENT <=quoted string> Specifies that each variable with an exponent greater than 1 be written using exponential notation. By default, the symbol ^ is used as the exponentiation operator. If you supply the optional quoted string after an equal sign, then that string is used as the exponentiation operator.\",\"type\":\"standalone\"},{\"name\":\"INCLUDENAME\",\"followsDelimiter\":\"/\",\"description\":\"Specifies that the name of the effect followed by an underscore be used as a prefix for term labels.\",\"type\":\"standalone\"},{\"name\":\"PRODUCTSYMBOL=\",\"followsDelimiter\":\"/\",\"description\":\"Syntax: PRODUCTSYMBOL=NONE | quoted string Specifies that the supplied string be used as the product symbol.\",\"type\":\"value\"}]},{\"name\":\"MDEGREE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"\",\"help\":\"MDEGREE=*n*\",\"type\":\"value\"},{\"name\":\"NLAG=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"\",\"type\":\"value\"},{\"name\":\"NOEFFECT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"[For the MULTIMEMBER effect-type only] Specifies that, for observations with all missing levels of the multimember variables, the values in the corresponding design matrix columns be set to zero.\",\"type\":\"standalone\"},{\"name\":\"NOSEPARATE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"[For the POLYNOMIAL effect-type only] Specifies that the polynomial be treated as a single effect with multiple degrees of freedom. The effect name that you specify is used as the constructed effect name, and the labels of the terms are used as labels of the corresponding parameters.\",\"type\":\"standalone\"},{\"name\":\"PERIOD=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the period variable of the LAG design. The number of periods is the number of unique formatted values of the PERIOD= variable, and the ordering of the period is formed by sorting these formatted values in ascending order. You must specify a PERIOD= variable.\",\"help\":\"PERIOD=*variable*\",\"type\":\"value\"},{\"name\":\"SEPARATE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"[For the SPLINE effect-type only] Specifies that when multiple variables are specified in the EFFECT statement, the spline basis for each variable be treated as a separate effect. The names of these separated effects are formed by appending an underscore followed by the name of the variable to the name that you specify in the EFFECT statement.\",\"type\":\"standalone\"},{\"name\":\"SPLIT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"[For the SPLINE effect-type only] Specifies that each individual column in the design matrix that corresponds to the spline effect be treated as a separate effect that can enter or leave the model independently. Names for these split effects are generated by appending the variable name and an index for each column to the name that you specify in the EFFECT statement.\",\"type\":\"standalone\"},{\"name\":\"STANDARDIZE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies that the variables that define the polynomial be standardized. By default, the standardized variables receive prefix \\\"s_\\\" in the variable names. You can use the following centerscale-opts to specify how the center and scale are estimated: METHOD=MOMENTS specifies that the center be estimated by the variable mean and the scale be estimated by the standard deviation. METHOD=RANGE specifies that the center be estimated by the midpoint of the variable range and the scale be estimated as half the variable range. METHOD=WMOMENTS is the same as METHOD=MOMENTS except that weighted means and weighted standard deviations are used.\",\"help\":\"STANDARDIZECENTER | CENTERSCALE | NONE | SCALE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"CENTER\",\"followsDelimiter\":\"/\",\"description\":\"Specifies that variables be centered but not scaled.\",\"type\":\"standalone\"},{\"name\":\"CENTERSCALE\",\"followsDelimiter\":\"/\",\"description\":\"Specifies that variables be centered and scaled. This is the default if you do not specify a standardization-opt.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"followsDelimiter\":\"/\",\"description\":\"Specifies that no standardization be performed.\",\"type\":\"standalone\"},{\"name\":\"SCALE\",\"followsDelimiter\":\"/\",\"description\":\"Specifies that variables be scaled but not centered.\",\"type\":\"standalone\"}]},{\"name\":\"STDIZE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"[For the MULTIMEMBER effect-type only] Specifies that for each observation, the entries in the design matrix that corresponds to the multimember effect be scaled to have a sum of one.\",\"type\":\"standalone\"},{\"name\":\"WEIGHT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"\",\"help\":\"WEIGHT=*wght-list*\",\"type\":\"value\"},{\"name\":\"WITHIN=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"\",\"type\":\"value\"}]},{\"name\":\"ESTIMATE\",\"description\":\"The ESTIMATE statement provides a mechanism for obtaining custom hypothesis tests. Estimates are formed as linear estimable functions of the form Lβ. You can perform hypothesis tests for the estimable functions, construct confidence limits, and obtain specific nonlinear transformations. The basic element of the ESTIMATE statement is the estimate-specification, which consists of model effects and their coefficients. A estimate-specification takes the general form effect name <effect values ...> The following variables can appear in the ESTIMATE statement: label is an optional label that identifies the particular row of the estimate in the output. effect identifies an effect that appears in the MODEL statement. The keyword INTERCEPT can be used as an effect when an intercept is fitted in the model. You do not need to include all effects that are in the MODEL statement. values are constants that are elements of the L matrix and are associated with the fixed and random effects.\",\"help\":\"ESTIMATE &lt;ADJDFE=&lt;SOURCE | ROW&gt;&gt;&lt;ADJUST=&lt;BON | SCHEFFE | SIDAK&gt;... &gt;&lt;ALPHA=number&gt; ...\",\"arguments\":[{\"name\":\"ADJDFE=\",\"optional\":true,\"description\":\"Specifies how denominator degrees of freedom are determined when p-values and confidence limits are adjusted for multiple comparisons with the ADJUST= option.\",\"help\":\"ADJDFE=SOURCE | ROW\",\"type\":\"choice\",\"arguments\":[{\"name\":\"SOURCE\",\"description\":\"The denominator degrees of freedom for multiplicity-adjusted results are the denominator degrees of freedom for the final effect listed in the ESTIMATE statement from the 'Type III' table.\",\"type\":\"standalone\"},{\"name\":\"ROW\",\"description\":\"Useful if you want multiplicity adjustments to take into account that denominator degrees of freedom are not constant across estimates.\",\"type\":\"standalone\"}]},{\"name\":\"ADJUST=\",\"optional\":true,\"description\":\"Requests a multiple comparison adjustment for the p-values and confidence limits for the estimates.\",\"help\":\"ADJUST=BON | SCHEFFE | SIDAK | SIMULATE&lt;(simoptions)&gt; | T\",\"type\":\"choice\",\"arguments\":[{\"name\":\"BON\",\"description\":\"Bonferroni adjustment\",\"type\":\"standalone\"},{\"name\":\"SCHEFFE\",\"description\":\"Scheffe's adjustment\",\"type\":\"standalone\"},{\"name\":\"SIDAK\",\"description\":\"Sidak adjustment\",\"type\":\"standalone\"},{\"name\":\"SIMULATE\",\"description\":\"Computes adjusted p-values and confidence limits from the simulated distribution of the maximum or maximum absolute value of a multivariate t random vector.\",\"help\":\"SIMULATE&lt;(simoptions)&gt;\",\"type\":\"standalone\"},{\"name\":\"T\",\"description\":\"The default, which really signifies no adjustment for multiple comparisons.\",\"type\":\"standalone\"}]},{\"name\":\"ALPHA=\",\"optional\":true,\"description\":\"Requests that a t-type confidence interval be constructed with confidence level 1-number. The value of number must be between 0 and 1; the default is 0.05.\",\"help\":\"ALPHA=*number*\",\"type\":\"value\"},{\"name\":\"CATEGORY=\",\"optional\":true,\"description\":\"Specifies how to construct estimates and multiplicity corrections for models with multinomial data (ordinal or nominal). This option is also important for constructing sets of estimable functions for F or chi-square tests with the JOINT option.\",\"help\":\"CATEGORY=JOINT | SEPARATE | &lt;*quoted-value-list*&gt;\",\"type\":\"choice\",\"arguments\":[{\"name\":\"JOINT\",\"description\":\"Computes the estimable functions for every nonredundant category and treats them as a set. For example, a three-row ESTIMATE statement in a model with three response categories leads to six estimable functions.\",\"type\":\"standalone\"},{\"name\":\"SEPARATE\",\"description\":\"Computes the estimable functions for every nonredundant category in turn. For example, a three-row ESTIMATE statement in a model with three response categories leads to two sets of three estimable functions.\",\"type\":\"standalone\"},{\"name\":\"quoted-value-list\",\"placeholder\":true,\"description\":\"Computes the estimable functions only for the list of values given. The list must consist of formatted values of the response categories.\",\"type\":\"value\"}]},{\"name\":\"CHISQ\",\"optional\":true,\"description\":\"Requests that chi-square tests be performed in addition to F tests, when you request an F test with the JOINT option. This option has no effect in procedures that produce chi-square statistics by default.\",\"type\":\"standalone\"},{\"name\":\"CL\",\"optional\":true,\"description\":\"Requests that t-type confidence limits be constructed. If the procedure shows the degrees of freedom in the \\\"Estimates\\\" table as infinite, then the confidence limits are z intervals. The confidence level is 0.95 by default, and you can change the confidence level with the ALPHA= option. The confidence intervals are adjusted for multiplicity when you specify the ADJUST= option. However, if a step-down p-value adjustment is requested with the STEPDOWN option, only the p-values are adjusted for multiplicity.\",\"type\":\"standalone\"},{\"name\":\"DF=\",\"optional\":true,\"description\":\"Specifies the degrees of freedom for the t test and confidence limits. This option is not supported by the procedures that perform chi-square-based inference (LOGISTIC, PHREG, and SUVEYLOGISTIC).\",\"help\":\"DF=*number*\",\"type\":\"value\"},{\"name\":\"DIVISOR=\",\"optional\":true,\"description\":\"Specifies a list of values by which to divide the coefficients so that fractional coefficients can be entered as integer numerators. If you do not specify value-list, a default value of 1.0 is assumed. Missing values in the value-list are converted to 1.0. If the number of elements in value-list exceeds the number of rows of the estimate, the extra values are ignored. If the number of elements in value-list is less than the number of rows of the estimate, the last value in value-list is copied forward. If you specify a row-specific divisor as part of the specification of the estimate row, this value multiplies the corresponding divisor that is implied by the value-list. For example, the following statement divides the coefficients in the first row by 8, and the coefficients in the third and fourth row by 3: estimate 'One vs. two' A 2 -2 (divisor=2), 'One vs. three' A 1 0 -1 , 'One vs. four' A 3 0 0 -3 , 'One vs. five' A 1 0 0 0 -1 / divisor=4,.,3;\",\"help\":\"DIVISOR=*value-list*\",\"type\":\"value\"},{\"name\":\"E\",\"optional\":true,\"description\":\"Requests that the L matrix coefficients be displayed.\",\"type\":\"standalone\"},{\"name\":\"EXP\",\"optional\":true,\"description\":\"Requests exponentiation of the estimate. When you model data with the logit, cumulative logit, or generalized logit link functions, and the estimate represents a log odds ratio or log cumulative odds ratio, the EXP option produces an odds ratio. In proportional hazards model, this option produces estimates of hazard ratios. If you specify the CL or ALPHA= option, the (adjusted) confidence bounds are also exponentiated.\",\"type\":\"standalone\"},{\"name\":\"ILINK\",\"optional\":true,\"description\":\"Requests that the estimate and its standard error are also reported on the scale of the mean (the inverse linked scale).\",\"type\":\"standalone\"},{\"name\":\"JOINT=\",\"optional\":true,\"description\":\"Requests that a joint F or chi-square test be produced for the rows of the estimate. The JOINT option in the ESTIMATE statement essentially replaces the CONTRAST statement. When the LOWERTAILED or the UPPERTAILED options are in effect, or if the BOUNDS option described below is in effect, the JOINT option produces the chi-bar-square statistic according to Silvapulle and Sen (2004). This statistic uses a simulation-based approach to compute p-values in situations where the alternative hypotheses of the estimable functions are not simple two-sided hypotheses. You can specify the following joint-test-options in parentheses: ACC=γ specifies the accuracy radius for determining the necessary sample size in the simulation-based approach of Silvapulle and Sen (2004) for tests with order restrictions. The value of γ must be strictly between 0 and 1; the default value is 0.005. EPS=є specifies the accuracy confidence level for determining the necessary sample size in the simulation-based approach of Silvapulle and Sen (2004) for tests with order restrictions. The value of є must be strictly between 0 and 1; the default value is 0.01. LABEL='label' assigns an identifying label to the joint test. If you do not specify a label, the first non-default label for the ESTIMATE rows is used to label the joint test. NOEST | ONLY performs only the F or chi-square test and suppresses other results from the ESTIMATE statement. This option is useful for emulating the CONTRAST statement that is available in other procedures. NSAMP=n specifies the number of samples for the simulation-based method of Silvapulle and Sen (2004). CHISQ -- adds a chi-square test if the procedure produces an F test by default.\",\"help\":\"JOINT=ACC= | EPS= | LABEL= | NOEST | ONLY | NSAMP= | CHISQ | BOUNDS=\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ACC=\",\"type\":\"value\"},{\"name\":\"EPS=\",\"type\":\"value\"},{\"name\":\"LABEL=\",\"type\":\"value\"},{\"name\":\"NOEST\",\"type\":\"standalone\"},{\"name\":\"ONLY\",\"type\":\"standalone\"},{\"name\":\"NSAMP=\",\"type\":\"value\"},{\"name\":\"CHISQ\",\"type\":\"standalone\"},{\"name\":\"BOUNDS=\",\"type\":\"value\"}]},{\"name\":\"LOWER\",\"optional\":true,\"aliases\":[\"LOWERTAILED\"],\"description\":\"Requests that the p-value for the t test be based only on values less than the test statistic. A two-tailed test is the default. A lower-tailed confidence limit is also produced if you specify the CL or ALPHA= option.\",\"type\":\"standalone\"},{\"name\":\"NOFILL\",\"optional\":true,\"description\":\"Suppresses the automatic fill-in of coefficients of higher-order effects.\",\"type\":\"standalone\"},{\"name\":\"PLOTS=\",\"optional\":true,\"description\":\"Produces ODS statistical graphics of the distribution of estimable functions if the procedure performs the analysis in a sampling-based mode.\",\"help\":\"PLOTS=ALL | BOXPLOT | DISTPLOT | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ALL\",\"description\":\"Produces all possible plots with their default settings.\",\"type\":\"standalone\"},{\"name\":\"BOXPLOT\",\"description\":\"Syntax: BOXPLOT<(boxplot-options)> Produces box plots of the distribution of the estimable function across the posterior sample. A separate box is generated for each estimable function, and all boxes appear on a single graph by default. You can affect the appearance of the box plot graph with the following options: ORIENTATION=VERTICAL|HORIZONTAL ORIENT=VERT|HORIZ specifies the orientation of the boxes. The default is vertical orientation of the box plots. NPANELPOS=number specifies how to break the series of box plots across multiple panels. If the NPANELPOS option is not specified, or if number equals zero, then all box plots are displayed in a single graph; this is the default.\",\"type\":\"standalone\"},{\"name\":\"DISTPLOT\",\"aliases\":[\"DIST\"],\"description\":\"Syntax: DISTPLOT<(distplot-options)> Generates panels of histograms with a kernel density overlaid. A separate plot in each panel contains the results for each estimable function. You can specify the following distplot-options in parentheses: BOX|NOBOX controls the display of a horizontal box plot of the estimable function’s distribution across the posterior sample below the graph. The BOX option is enabled by default. HIST|NOHIST controls the display of the histogram of the estimable function’s distribution across the posterior sample. The HIST option is enabled by default. NORMAL|NONORMAL controls the display of a normal density estimate on the graph. The NONORMAL option is enabled by default. KERNEL|NOKERNEL controls the display of a kernel density estimate on the graph. The KERNEL option is enabled by default. NROWS=number specifies the highest number of rows in a panel. The default is 3. NCOLS=number specifies the highest number of columns in a panel. The default is 3. UNPACK unpacks the panel into separate graphics.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"Does not produce any plots.\",\"type\":\"standalone\"}]},{\"name\":\"SEED=\",\"optional\":true,\"description\":\"Specifies the seed for the sampling-based components of the computations for the ESTIMATE statement (for example, chi-bar-square statistics and simulated p-values). number specifies an integer that is used to start the pseudo-random number generator for the simulation. If you do not specify a seed, or if you specify a value less than or equal to zero, the seed is generated from reading the time of day from the computer clock. There could be multiple ESTIMATE statements with SEED= specifications and there could be other statements that can supply a random number seed. Since the procedure has only one random number stream, the initial seed is shown in the SAS log.\",\"help\":\"SEED=*number*\",\"type\":\"value\"},{\"name\":\"SINGULAR=\",\"optional\":true,\"description\":\"Tunes the estimability checking. The value for number must be between 0 and 1; the default is 1E-4.\",\"help\":\"SINGULAR=*number*\",\"type\":\"value\"},{\"name\":\"STEPDOWN\",\"optional\":true,\"description\":\"Requests that multiplicity adjustments for the p-values of estimates be further adjusted in a step-down fashion. Step-down methods increase the power of multiple testing procedures by taking advantage of the fact that a p-value is never declared significant unless all smaller p-values are also declared significant. You can specify the following step-down-options in parentheses after the STEPDOWN option: MAXTIME=n specifies the time (in seconds) to be spent computing the maximal logically consistent sequential subsets of equality hypotheses for TYPE=LOGICAL. The default is MAXTIME=60. ORDER=PVALUE | ORDER=ROWS specifies the order in which the step-down tests to be performed. ORDER=PVALUE is the default, with estimates being declared significant only if all estimates with smaller (unadjusted) p-values are significant. If you specify ORDER=ROWS, then significances are evaluated in the order in which they are specified in the syntax. REPORT specifies that a report on the step-down adjustment be displayed, including a listing of the sequential subsets (Westfall 1997) and, for ADJUST=SIMULATE, the step-down simulation results.\",\"type\":\"standalone\"},{\"name\":\"TESTVALUE=\",\"optional\":true,\"aliases\":[\"TESTMEAN=\"],\"description\":\"Specifies the value under the null hypothesis for testing the estimable functions in the ESTIMATE statement. The rules for specifying the value-list are very similar to those for specifying the divisor list in the DIVISOR= option. If no TESTVALUE= is specified, all tests are performed as H: Lβ=0. Missing values in the value-list also are translated to zeros. If you specify fewer values than rows in the ESTIMATE statement, the last value in value-list is carried forward. The TESTVALUE= option affects only p-values from individual, joint, and multiplicity-adjusted tests. It does not affect confidence intervals.\",\"help\":\"TESTVALUE=*value-list*\",\"type\":\"value\"},{\"name\":\"UPPER\",\"optional\":true,\"aliases\":[\"UPPERTAILED\"],\"description\":\"Requests that the p-value for the t test be based only on values greater than the test statistic. A two-tailed test is the default. An upper-tailed confidence limit is also produced if you specify the CL or ALPHA= option.\",\"type\":\"standalone\"}]},{\"name\":\"FREQ\",\"aliases\":[\"FREQUENCY\"],\"description\":\"The variable in the FREQ statement identifies a variable that contains the frequency of occurrence of each observation. PROC SURVEYLOGISTIC treats each observation as if it appears n times, where n is the value of the FREQ variable for the observation. If it is not an integer, the frequency value is truncated to an integer. If the frequency value is less than 1 or missing, the observation is not used in the model fitting. When the FREQ statement is not specified, each observation is assigned a frequency of 1. If you use the events/trials syntax in the MODEL statement, the FREQ statement is not allowed because the event and trial variables represent the frequencies in the data set.\",\"help\":\"FREQ variable \"},{\"name\":\"LSMEANS\",\"description\":\"The LSMEANS statement computes and compares least squares means (LS-means) of fixed effects. LS-means are predicted population margins—that is, they estimate the marginal means over a balanced population. In a sense, LS-means are to unbalanced designs as class and subclass arithmetic means are to balanced designs.\",\"help\":\"LSMEANS &lt;ADJDFE=&lt;SOURCE | ROW&gt;&gt;&lt;ADJUST=&lt;BON | DUNNETT | NELSON&gt;... &gt;&lt;ALPHA=number&gt; ...\",\"arguments\":[{\"name\":\"ADJDFE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies how denominator degrees of freedom are determined when p-values and confidence limits are adjusted for multiple comparisons with the ADJUST= option.\",\"help\":\"ADJDFE=SOURCE | ROW\",\"type\":\"choice\",\"arguments\":[{\"name\":\"SOURCE\",\"followsDelimiter\":\"/\",\"description\":\"The denominator degrees of freedom for multiplicity-adjusted results are the denominator degrees of freedom for the LS-mean effect in the \\\"Type III Tests of Fixed Effects\\\" table.\",\"type\":\"standalone\"},{\"name\":\"ROW\",\"followsDelimiter\":\"/\",\"description\":\"Useful if you want multiplicity adjustments to take into account that denominator degrees of freedom are not constant across LS-mean differences.\",\"type\":\"standalone\"}]},{\"name\":\"ADJUST=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests a multiple comparison adjustment for the p-values and confidence limits for the differences of LS-means.\",\"help\":\"ADJUST=BON | DUNNETT | NELSON | SCHEFFE | SIDAK | SIMULATE | SMM | TUKEY\",\"type\":\"choice\",\"arguments\":[{\"name\":\"BON\",\"followsDelimiter\":\"/\",\"description\":\"Bonferroni adjustment\",\"type\":\"standalone\"},{\"name\":\"DUNNETT\",\"followsDelimiter\":\"/\",\"description\":\"Dunnett adjustment (in which the procedure analyzes all differences with a control level)\",\"type\":\"standalone\"},{\"name\":\"NELSON\",\"followsDelimiter\":\"/\",\"description\":\"Nelson adjustment (in which ANOM differences are taken)\",\"type\":\"standalone\"},{\"name\":\"SCHEFFE\",\"followsDelimiter\":\"/\",\"description\":\"Scheffe's adjustment\",\"type\":\"standalone\"},{\"name\":\"SIDAK\",\"followsDelimiter\":\"/\",\"description\":\"Sidak adjustment\",\"type\":\"standalone\"},{\"name\":\"SIMULATE\",\"followsDelimiter\":\"/\",\"description\":\"Computes adjusted p-values and confidence limits from the simulated distribution of the maximum or maximum absolute value of a multivariate t random vector. Syntax: SIMULATE<(simoptions)> You can specify the following simoptions in parentheses after the ADJUST=SIMULATE option. ACC=value specifies the target accuracy radius γ of a 100(1-ε)% confidence interval for the true probability content of the estimated (1-α)th quantile. The default value is ACC=0.005. EPS=value specifies the value ε for a 100(1-ε)% confidence interval for the true probability content of the estimated (1-α)th quantile. The default value is ACC=0.005. NSAMP=n specifies the sample size for the simulation. SEED=number specifies an integer that is used to start the pseudo-random number generator for the simulation. THREADS specifies that the computational work for the simulation be divided into parallel threads, where the number of threads is the value of the SAS system option CPUCOUNT=. NOTHREADS specifies that the computational work for the simulation be performed in sequence rather than in parallel. NOTHREADS is the default. This option overrides the SAS system option THREADS|NOTHREADS.\",\"type\":\"standalone\"},{\"name\":\"SMM\",\"followsDelimiter\":\"/\",\"aliases\":[\"GT2\"],\"description\":\"SMM adjustment\",\"type\":\"standalone\"},{\"name\":\"TUKEY\",\"followsDelimiter\":\"/\",\"description\":\"If your data are unbalanced, PROC GLIMMIX uses the approximation described in Kramer (1956) and identifies the adjustment as \\\"Tukey-Kramer\\\" in the results.\",\"type\":\"standalone\"}]},{\"name\":\"ALPHA=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that a t-type confidence interval be constructed for each of the LS-means with confidence level (1-number)x100%. The value of number must be between 0 and 1; the default is 0.05.\",\"help\":\"ALPHA=*number*\",\"type\":\"value\"},{\"name\":\"AT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Modifies the values of the covariates that are used in computing LS-means. By default, all covariate effects are set equal to their mean values for computation of standard LS-means. The AT option enables you to assign arbitrary values to the covariates. Additional columns in the output table indicate the values of the covariates.\",\"help\":\"AT=MEANS\",\"type\":\"choice\",\"arguments\":[{\"name\":\"MEANS\",\"type\":\"standalone\"}]},{\"name\":\"BYLEVEL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that separate margins be computed for each level of the LSMEANS effect.\",\"type\":\"standalone\"},{\"name\":\"CL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that t-type confidence limits be constructed for each of the LS-means. The confidence level is 0.95 by default; this can be changed with the ALPHA= option.\",\"type\":\"standalone\"},{\"name\":\"CORR\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays the estimated correlation matrix of the least squares means as part of the \\\"Least Squares Means\\\" table.\",\"type\":\"standalone\"},{\"name\":\"COV\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays the estimated covariance matrix of the least squares means as part of the \\\"Least Squares Means\\\" table.\",\"type\":\"standalone\"},{\"name\":\"DF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the degrees of freedom for the t test and confidence limits. The default is the denominator degrees of freedom taken from the \\\"Type III Tests\\\" table that corresponds to the LS-means effect.\",\"help\":\"DF=*number*\",\"type\":\"value\"},{\"name\":\"DIFF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"PDIFF=\"],\"description\":\"Requests that differences of the LS-means be displayed.\",\"help\":\"DIFF=ALL | ANOM | CONTROL | CONTROLL | CONTROLU\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ALL\",\"followsDelimiter\":\"/\",\"description\":\"Requests all pairwise differences; this is the default.\",\"type\":\"standalone\"},{\"name\":\"ANOM\",\"followsDelimiter\":\"/\",\"description\":\"Requests differences between each LS-mean and the average LS-mean, as in the analysis of means (Ott 1967).\",\"type\":\"standalone\"},{\"name\":\"CONTROL\",\"followsDelimiter\":\"/\",\"description\":\"Requests the differences with a control, which, by default, is the first level of each of the specified LSMEANS effects.\",\"type\":\"standalone\"},{\"name\":\"CONTROLL\",\"followsDelimiter\":\"/\",\"description\":\"Tests whether the noncontrol levels are significantly smaller than the control; the upper confidence limits for the control minus the noncontrol levels are considered to be infinity and are displayed as missing.\",\"type\":\"standalone\"},{\"name\":\"CONTROLU\",\"followsDelimiter\":\"/\",\"description\":\"Tests whether the noncontrol levels are significantly larger than the control; the upper confidence limits for the noncontrol levels minus the control are considered to be infinity and are displayed as missing.\",\"type\":\"standalone\"}]},{\"name\":\"E\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that the L matrix coefficients for the LSMEANS effects be displayed.\",\"type\":\"standalone\"},{\"name\":\"EXP\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests exponentiation of the LS-means or LS-mean differences. When you model data with the logit, cumulative logit, or generalized logit link functions, and the estimate represents a log odds ratio or log cumulative odds ratio, the EXP option produces an odds ratio. In proportional hazards model, the exponentiation of the LS-mean differences produces estimates of hazard ratios. If you specify the CL or ALPHA= option, the (adjusted) confidence bounds are also exponentiated.\",\"type\":\"standalone\"},{\"name\":\"ILINK\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that estimates and their standard errors in the \\\"Least Squares Means\\\" table also be reported on the scale of the mean (the inverse linked scale).\",\"type\":\"standalone\"},{\"name\":\"LINES\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Presents results of comparisons between all pairs of least squares means by listing the means in descending order and indicating nonsignificant subsets by line segments beside the corresponding LS-means.\",\"type\":\"standalone\"},{\"name\":\"MEANS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies to produce the table of least squares means. This is the default.\",\"type\":\"standalone\"},{\"name\":\"NOMEANS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies not to produce the table of least squares means.\",\"type\":\"standalone\"},{\"name\":\"OBSMARGINS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"OM=\"],\"description\":\"Specifies a potentially different weighting scheme for the computation of LS-means coefficients. The standard LS-means have equal coefficients across classification effects; however, the OM option changes these coefficients to be proportional to those found in the OM-data-set. This adjustment is reasonable when you want your inferences to apply to a population that is not necessarily balanced but has the margins that are observed in OM-data-set.\",\"type\":\"value\"},{\"name\":\"ODDSRATIO\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"OR\"],\"description\":\"Requests that LS-mean differences (DIFF, ADJUST= options) are also reported in terms of odds ratios. The ODDSRATIO option is ignored unless you use either the logit, cumulative logit, or generalized logit link function. If you specify the CL or ALPHA= option, confidence intervals for the odds ratios are also computed. These intervals are adjusted for multiplicity when you specify the ADJUST= option.\",\"type\":\"standalone\"},{\"name\":\"PDIFF\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Is the same as the DIFF option.\",\"type\":\"standalone\"},{\"name\":\"PLOT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"PLOTS=\"],\"description\":\"Requests that least squares means related graphics are produced via ODS Graphics, provided that the ODS GRAPHICS statement has been specified and the plot request does not conflict with other options in the LSMEANS statement.\",\"help\":\"PLOT=ALL | ANOMPLOT | BOXPLOT | CONTROLPLOT | DIFFPLOT | DISTPLOT | MEANPLOT | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ALL\",\"followsDelimiter\":\"/\",\"description\":\"Requests that the default plots corresponding to this LSMEANS statement be produced.\",\"type\":\"standalone\"},{\"name\":\"ANOMPLOT\",\"followsDelimiter\":\"/\",\"aliases\":[\"ANOM\"],\"description\":\"Requests an analysis of means display in which least squares means are compared to an average least squares mean.\",\"type\":\"standalone\"},{\"name\":\"BOXPLOT\",\"followsDelimiter\":\"/\",\"description\":\"Syntax: BOXPLOT<boxplot-options>> Produces box plots of the distribution of the least squares mean or least squares mean differences across a posterior sample. For example, this plot is available in procedures that support a Bayesian analysis through the BAYES statement. A separate box is generated for each estimable function, and all boxes appear on a single graph by default. You can affect the appearance of the box plot graph with the following options: ORIENTATION=VERTICAL|HORIZONTAL ORIENT=VERT|HORIZ specifies the orientation of the boxes. The default is vertical orientation of the box plots. NPANELPOS=number specifies how to break the series of box plots across multiple panels. If the NPANELPOS option is not specified, or if number equals zero, then all box plots are displayed in a single graph; this is the default.\",\"type\":\"standalone\"},{\"name\":\"CONTROLPLOT\",\"followsDelimiter\":\"/\",\"aliases\":[\"CONTROL\"],\"description\":\"Requests a display in which least squares means are visually compared against a reference level.\",\"type\":\"standalone\"},{\"name\":\"DIFFPLOT\",\"followsDelimiter\":\"/\",\"aliases\":[\"DIFFOGRAM\",\"DIFF\"],\"description\":\"Requests a display of all pairwise least squares mean differences and their significance. Syntax: DIFFPLOT<(diffplot-options)> You can specify the following diffplot-options: ABS all line segments are shown on the same side of the reference line. NOABS separates comparisons according to the sign of the difference. CENTER marks the center point for each comparison. NOLINES suppresses the display of the line segments that represent the confidence bounds for the differences of the least squares means. The NOLINES option implies the CENTER option.\",\"type\":\"standalone\"},{\"name\":\"DISTPLOT\",\"followsDelimiter\":\"/\",\"aliases\":[\"DIST\"],\"description\":\"Syntax: DISTPLOT<distplot-options> Generates panels of histograms with a kernel density overlaid if the analysis has access to a set of posterior parameter estimates. You can sepcify the following distplot-options in parentheses: BOX|NOBOX controls the display of a horizontal box plot of the estimable function’s distribution across the posterior sample below the graph. The BOX option is enabled by default. HIST|NOHIST controls the display of the histogram of the estimable function’s distribution across the posterior sample. The HIST option is enabled by default. NORMAL|NONORMAL controls the display of a normal density estimate on the graph. The NONORMAL option is enabled by default. KERNEL|NOKERNEL controls the display of a kernel density estimate on the graph. The KERNEL option is enabled by default. NROWS=number specifies the highest number of rows in a panel. The default is 3. NCOLS=number specifies the highest number of columns in a panel. The default is 3. UNPACK unpacks the panel into separate graphics.\",\"type\":\"standalone\"},{\"name\":\"MEANPLOT\",\"followsDelimiter\":\"/\",\"description\":\"Syntax: MEANPLOT<(meanplot-options)> Requests displays of the least squares means. The following meanplot-options control the display of the least squares means: ASCENDING displays the least squares means in ascending order. This option has no effect if means are sliced or displayed in separate plots. CL displays upper and lower confidence limits for the least squares means. By default, 95% limits are drawn. CLBAND displays confidence limits as bands. This option implies the JOIN option. DESCENDING displays the least squares means in descending order. This option has no effect if means are sliced or displayed in separate plots. ILINK requests that means (and confidence limits) are displayed on the inverse linked scale. JOIN | CONNECT connects the least squares means with lines. This option is implied by the CLBAND option. SLICEBY=fixed-effect specifies an effect by which to group the means in a single plot. PLOTBY=fixed-effect specifies an effect by which to break interaction plots into separate displays.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"followsDelimiter\":\"/\",\"description\":\"Requests that no plots be produced.\",\"type\":\"standalone\"}]},{\"name\":\"SEED=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the seed for the sampling-based components of the computations for the LSMEANS statement (for example, chi-bar-square statistics and simulated p-values). number specifies an integer that is used to start the pseudo-random-number generator for the simulation. If you do not specify a seed, or if you specify a value less than or equal to zero, the seed is generated from reading the time of day from the computer clock.\",\"help\":\"SEED=*number*\",\"type\":\"value\"},{\"name\":\"SINGULAR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Tunes the estimability checking. The value for number must be between 0 and 1; the default is 1E-4.\",\"help\":\"SINGULAR=*number*\",\"type\":\"value\"},{\"name\":\"STEPDOWN=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that multiple comparison adjustments for the p-values of LS-mean differences be further adjusted in a step-down fashion. Step-down methods increase the power of multiple comparisons by taking advantage of the fact that a p-value is never declared significant unless all smaller p-values are also declared significant. You can specify the following step-down options in parentheses: MAXTIME=n specifies the time (in seconds) to spend computing the maximal logically consistent sequential subsets of equality hypotheses for TYPE=LOGICAL. REPORT specifies that a report on the step-down adjustment should be displayed, including a listing of the sequential subsets (Westfall 1997) and, for ADJUST=SIMULATE, the step-down simulation results.\",\"help\":\"STEPDOWN=MAXTIME= | REPORT | TYPE=\",\"type\":\"choice\",\"arguments\":[{\"name\":\"MAXTIME=\",\"type\":\"value\"},{\"name\":\"REPORT\",\"type\":\"standalone\"},{\"name\":\"TYPE=\",\"type\":\"value\"}]}]},{\"name\":\"LSMESTIMATE\",\"description\":\"The LSMESTIMATE statement provides a mechanism for obtaining custom hypothesis tests among least squares means.\",\"help\":\"LSMESTIMATE &lt;ADJDFE=&lt;SOURCE | ROW&gt;&gt;&lt;ADJUST=&lt;BON | SCHEFFE | SIDAK&gt;... &gt;&lt;ALPHA=number&gt; ...\",\"arguments\":[{\"name\":\"ADJDFE=\",\"optional\":true,\"description\":\"Specifies how denominator degrees of freedom are determined when p-values and confidence limits are adjusted for multiple comparisons with the ADJUST= option.\",\"help\":\"ADJDFE=SOURCE | ROW\",\"type\":\"choice\",\"arguments\":[{\"name\":\"SOURCE\",\"description\":\"The denominator degrees of freedom for multiplicity-adjusted results are the denominator degrees of freedom for the LS-mean effect in the \\\"Type III Tests of Fixed Effects\\\" table.\",\"type\":\"standalone\"},{\"name\":\"ROW\",\"description\":\"Useful if you want multiplicity adjustments to take into account that denominator degrees of freedom are not constant across estimates.\",\"type\":\"standalone\"}]},{\"name\":\"ADJUST=\",\"optional\":true,\"description\":\"Requests a multiple comparison adjustment for the p-values and confidence limits for the LS-mean estimates. The adjusted quantities are produced in addition to the unadjusted p-values and confidence limits. Adjusted confidence limits are produced if the CL or ALPHA= option is in effect.\",\"help\":\"ADJUST=BON | SCHEFFE | SIDAK | SIMULATE | T\",\"type\":\"choice\",\"arguments\":[{\"name\":\"BON\",\"description\":\"Bonferroni adjustment\",\"type\":\"standalone\"},{\"name\":\"SCHEFFE\",\"description\":\"Scheffe's adjustment\",\"type\":\"standalone\"},{\"name\":\"SIDAK\",\"description\":\"Sidak adjustment\",\"type\":\"standalone\"},{\"name\":\"SIMULATE\",\"description\":\"Computes adjusted p-values and confidence limits from the simulated distribution of the maximum or maximum absolute value of a multivariate t random vector. Syntax: SIMULATE<(simoptions)> You can specify the following simoptions in parentheses after the ADJUST=SIMULATE option. ACC=value specifies the target accuracy radius γ of a 100(1-ε)% confidence interval for the true probability content of the estimated (1-α)th quantile. The default value is ACC=0.005. EPS=value specifies the value ε for a 100(1-ε)% confidence interval for the true probability content of the estimated (1-α)th quantile. The default value is ACC=0.005. NSAMP=n specifies the sample size for the simulation. SEED=number specifies an integer that is used to start the pseudo-random number generator for the simulation. THREADS specifies that the computational work for the simulation be divided into parallel threads, where the number of threads is the value of the SAS system option CPUCOUNT=. NOTHREADS specifies that the computational work for the simulation be performed in sequence rather than in parallel. NOTHREADS is the default. This option overrides the SAS system option THREADS|NOTHREADS.\",\"type\":\"standalone\"},{\"name\":\"T\",\"description\":\"The default, which really signifies no adjustment for multiple comparisons.\",\"type\":\"standalone\"}]},{\"name\":\"ALPHA=\",\"optional\":true,\"description\":\"Requests that a t-type confidence interval be constructed for each of the LS-means with confidence level 1-number. The value of number must be between 0 and 1; the default is 0.05.\",\"help\":\"ALPHA=*number*\",\"type\":\"value\"},{\"name\":\"AT=\",\"optional\":true,\"description\":\"Modifies the values of the covariates used in computing LS-means. By default, all covariate effects are set equal to their mean values for computation of standard LS-means. The AT option enables you to assign arbitrary values to the covariates. Additional columns in the output table indicate the values of the covariates.\",\"help\":\"AT=MEANS\",\"type\":\"choice\",\"arguments\":[{\"name\":\"MEANS\",\"type\":\"standalone\"}]},{\"name\":\"BYLEVEL\",\"optional\":true,\"description\":\"Requests that the procedure compute separate margins for each level of the LSMEANS effect.\",\"type\":\"standalone\"},{\"name\":\"CATEGORY=\",\"optional\":true,\"description\":\"Specifies how to construct estimates and multiplicity corrections for models with multinomial data (ordinal or nominal). This option is also important for constructing sets of estimable functions for F tests with the JOINT option.\",\"help\":\"CATEGORY=JOINT | SEPARATE | &lt;*quoted-value-list*&gt;\",\"type\":\"choice\",\"arguments\":[{\"name\":\"JOINT\",\"description\":\"Computes the estimable functions for every nonredundant category and treats them as a set. For example, a three-row LSESTIMATE statement in a model with three response categories leads to six estimable functions.\",\"type\":\"standalone\"},{\"name\":\"SEPARATE\",\"description\":\"Computes the estimable functions for every nonredundant category in turn. For example, a three-row LSESTIMATE statement in a model with three response categories leads to two sets of three estimable functions.\",\"type\":\"standalone\"},{\"name\":\"quoted-value-list\",\"placeholder\":true,\"description\":\"Computes the estimable functions only for the list of values given. The list must consist of formatted values of the response categories.\",\"type\":\"value\"}]},{\"name\":\"CHISQ\",\"optional\":true,\"description\":\"Requests that chi-square tests be performed in addition to F tests, when you request an F test with the JOINT option. This option has no effect in procedures that produce chi-square statistics by default.\",\"type\":\"standalone\"},{\"name\":\"CL\",\"optional\":true,\"description\":\"Requests that t-type confidence limits be constructed for each of the LS-means. The confidence level is 0.95 by default; this can be changed with the ALPHA= option.\",\"type\":\"standalone\"},{\"name\":\"CORR\",\"optional\":true,\"description\":\"Displays the estimated correlation matrix of the linear combination of the least squares means.\",\"type\":\"standalone\"},{\"name\":\"COV\",\"optional\":true,\"description\":\"Displays the estimated covariance matrix of the linear combination of the least squares means.\",\"type\":\"standalone\"},{\"name\":\"DF=\",\"optional\":true,\"description\":\"Specifies the degrees of freedom for the t test and confidence limits.\",\"help\":\"DF=*number*\",\"type\":\"value\"},{\"name\":\"DIVISOR=\",\"optional\":true,\"description\":\"Specifies a list of values by which to divide the coefficients so that fractional coefficients can be entered as integer numerators. If you do not specify value-list, a default value of 1.0 is assumed. Missing values in the value-list are converted to 1.0.\",\"help\":\"DIVISOR=*value-list*\",\"type\":\"value\"},{\"name\":\"E\",\"optional\":true,\"description\":\"Requests that the L coefficients of the estimable function be displayed.\",\"type\":\"standalone\"},{\"name\":\"ELSM\",\"optional\":true,\"description\":\"Requests that the K matrix coefficients be displayed. These are the coefficients that apply to the LS-means. This option is useful to ensure that you assigned the coefficients correctly to the LS-means.\",\"type\":\"standalone\"},{\"name\":\"EXP\",\"optional\":true,\"description\":\"Requests exponentiation of the least squares means estimate. When you model data with the logit link function and the estimate represents a log odds ratio, the EXP option produces an odds ratio. If you specify the CL or ALPHA= option, the (adjusted) confidence limits for the estimate are also exponentiated.\",\"type\":\"standalone\"},{\"name\":\"ILINK\",\"optional\":true,\"description\":\"Requests that the estimate and its standard error are also reported on the scale of the mean (the inverse linked scale).\",\"type\":\"standalone\"},{\"name\":\"JOINT=\",\"optional\":true,\"description\":\"Requests that a joint F or chi-square test be produced for the rows of the estimate. You can specify the following joint-test-options in parentheses: ACC=γ specifies the accuracy radius for determining the necessary sample size in the simulation-based approach of Silvapulle and Sen (2004) for tests with order restrictions. The value of γ must be strictly between 0 and 1; the default value is 0.005. EPS=є specifies the accuracy confidence level for determining the necessary sample size in the simulation-based approach of Silvapulle and Sen (2004) for tests with order restrictions. The value of є must be strictly between 0 and 1; the default value is 0.01. LABEL='label' assigns an identifying label to the joint test. If you do not specify a label, the first non-default label for the ESTIMATE rows is used to label the joint test. NOEST | ONLY performs only the F or chi-square test and suppresses other results from the ESTIMATE statement. This option is useful for emulating the CONTRAST statement that is available in other procedures. NSAMP=n specifies the number of samples for the simulation-based method of Silvapulle and Sen (2004). CHISQ -- adds a chi-square test if the procedure produces an F test by default.\",\"help\":\"JOINT=ACC= | EPS= | LABEL= | NOEST | ONLY | NSAMP= | CHISQ | BOUNDS=\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ACC=\",\"type\":\"value\"},{\"name\":\"EPS=\",\"type\":\"value\"},{\"name\":\"LABEL=\",\"type\":\"value\"},{\"name\":\"NOEST\",\"type\":\"standalone\"},{\"name\":\"ONLY\",\"type\":\"standalone\"},{\"name\":\"NSAMP=\",\"type\":\"value\"},{\"name\":\"CHISQ\",\"type\":\"standalone\"},{\"name\":\"BOUNDS=\",\"type\":\"value\"}]},{\"name\":\"LOWER\",\"optional\":true,\"aliases\":[\"LOWERTAILED\"],\"description\":\"Requests that the p-value for the t test be based only on values less than the test statistic. A two-tailed test is the default. A lower-tailed confidence limit is also produced if you specify the CL or ALPHA= option.\",\"type\":\"standalone\"},{\"name\":\"OBSMARGINS=\",\"optional\":true,\"aliases\":[\"OM=\"],\"description\":\"Specifies a potentially different weighting scheme for the computation of LS-means coefficients. The standard LS-means have equal coefficients across classification effects; however, the OM option changes these coefficients to be proportional to those found in the OM-data-set. This adjustment is reasonable when you want your inferences to apply to a population that is not necessarily balanced but has the margins observed in OM-data-set.\",\"type\":\"value\"},{\"name\":\"PLOTS=\",\"optional\":true,\"description\":\"Produces ODS statistical graphics of the distribution of estimable functions if the procedure performs the analysis in a sampling-based mode.\",\"help\":\"PLOTS=ALL | BOXPLOT | DISTPLOT | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ALL\",\"description\":\"Requests that the default plots corresponding to this LSMEANS statement be produced.\",\"type\":\"standalone\"},{\"name\":\"BOXPLOT\",\"description\":\"Syntax: BOXPLOT<boxplot-options>> Produces box plots of the distribution of the least squares mean or least squares mean differences across a posterior sample. For example, this plot is available in procedures that support a Bayesian analysis through the BAYES statement. A separate box is generated for each estimable function, and all boxes appear on a single graph by default. You can affect the appearance of the box plot graph with the following options: ORIENTATION=VERTICAL|HORIZONTAL ORIENT=VERT|HORIZ specifies the orientation of the boxes. The default is vertical orientation of the box plots. NPANELPOS=number specifies how to break the series of box plots across multiple panels. If the NPANELPOS option is not specified, or if number equals zero, then all box plots are displayed in a single graph; this is the default.\",\"type\":\"standalone\"},{\"name\":\"DISTPLOT\",\"aliases\":[\"DIST\"],\"description\":\"Syntax: DISTPLOT<distplot-options> Generates panels of histograms with a kernel density overlaid if the analysis has access to a set of posterior parameter estimates. You can sepcify the following distplot-options in parentheses: BOX|NOBOX controls the display of a horizontal box plot of the estimable function’s distribution across the posterior sample below the graph. The BOX option is enabled by default. HIST|NOHIST controls the display of the histogram of the estimable function’s distribution across the posterior sample. The HIST option is enabled by default. NORMAL|NONORMAL controls the display of a normal density estimate on the graph. The NONORMAL option is enabled by default. KERNEL|NOKERNEL controls the display of a kernel density estimate on the graph. The KERNEL option is enabled by default. NROWS=number specifies the highest number of rows in a panel. The default is 3. NCOLS=number specifies the highest number of columns in a panel. The default is 3. UNPACK unpacks the panel into separate graphics.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"Requests that no plots be produced.\",\"type\":\"standalone\"}]},{\"name\":\"SINGULAR=\",\"optional\":true,\"description\":\"Tunes the estimability checking as documented for the ESTIMATE statement.\",\"help\":\"SINGULAR=*number*\",\"type\":\"value\"},{\"name\":\"STEPDOWN\",\"optional\":true,\"description\":\"Requests that multiplicity adjustments for the p-values of estimates be further adjusted in a step-down fashion. Step-down methods increase the power of multiple testing procedures by taking advantage of the fact that a p-value is never declared significant unless all smaller p-values are also declared significant. You can specify the following step-down-options in parentheses: MAXTIME=n specifies the time (in seconds) to spend computing the maximal logically consistent sequential subsets of equality hypotheses for TYPE=LOGICAL. The default is MAXTIME=60. ORDER=PVALUE ORDER=ROWS specifies the order in which the step-down tests are performed. ORDER=PVALUE is the default, with LS-mean estimates being declared significant only if all LS-mean estimates with smaller (unadjusted) p-values are significant. If you specify ORDER=ROWS, then significances are evaluated in the order in which they are specified. REPORT specifies that a report on the step-down adjustment be displayed, including a listing of the sequential subsets (Westfall 1997) and, for ADJUST=SIMULATE, the step-down simulation results.\",\"type\":\"standalone\"},{\"name\":\"TESTVALUE=\",\"optional\":true,\"aliases\":[\"TESTMEAN=\"],\"description\":\"Specifies the value under the null hypothesis for testing the estimable functions in the LSMESTIMATE statement. The rules for specifying the value-list are very similar to those for specifying the divisor list in the DIVISOR= option. If no TESTVALUE= is specified, all tests are performed as H: Lβ=0. Missing values in the value-list also are translated to zeros. If you specify fewer values than rows in the ESTIMATE statement, the last value in value-list is carried forward. The TESTVALUE= option affects only p-values from individual, joint, and multiplicity-adjusted tests. It does not affect confidence intervals.\",\"help\":\"TESTVALUE=*value-list*\",\"type\":\"value\"},{\"name\":\"UPPER\",\"optional\":true,\"aliases\":[\"UPPERTAILED\"],\"description\":\"Requests that the p-value for the t test be based only on values greater than the test statistic. A two-tailed test is the default. An upper-tailed confidence limit is also produced if you specify the CL or ALPHA= option.\",\"type\":\"standalone\"}]},{\"name\":\"MODEL\",\"description\":\"MODEL variable <(v-options)> = <effects> < / options> ; The MODEL statement names the response variable and the explanatory effects, including covariates, main effects, interactions, and nested effects. Model options can be specified after a slash (/). Two forms of the MODEL statement can be specified. The first form, referred to as single-trial syntax, is applicable to binary, ordinal, and nominal response data. The second form, referred to as events/trials syntax, is restricted to the case of binary response data. The single-trial syntax is used when each observation in the DATA= data set contains information about only a single trial, such as a single subject in an experiment. When each observation contains information about multiple binary-response trials, such as the counts of the number of subjects observed and the number responding, then events/trials syntax can be used. In the events/trials syntax, you specify two variables that contain count data for a binomial experiment. These two variables are separated by a slash. The value of the first variable, events, is the number of positive responses (or events), and it must be nonnegative. The value of the second variable, trials, is the number of trials, and it must not be less than the value of events. In the single-trial syntax, you specify one variable (on the left side of the equal sign) as the response variable. This variable can be character or numeric. Options specific to the response variable can be specified immediately after the response variable with parentheses around them. For both forms of the MODEL statement, explanatory effects follow the equal sign. Variables can be either continuous or classification variables. Classification variables can be character or numeric, and they must be declared in the CLASS statement. When an effect is a classification variable, the procedure enters a set of coded columns into the design matrix instead of directly entering a single column containing the values of the variable.\",\"help\":\"MODEL DESCENDING EVENT=&lt;’category’&gt;|FIRST|LAST  ORDER=DATA|FORMATTED|FREQ...  ...\",\"arguments\":[{\"name\":\"DESCENDING\",\"aliases\":[\"DESC\"],\"description\":\"[response variable option] Reverses the order of the response categories.\",\"type\":\"standalone\"},{\"name\":\"EVENT=\",\"description\":\"\",\"help\":\"EVENT=&lt;’*category*’&gt; | FIRST | LAST\",\"type\":\"choice\",\"arguments\":[{\"name\":\"’category’\",\"placeholder\":true,\"description\":\"Replace ’category’ with an actual event category.\",\"type\":\"value\"},{\"name\":\"FIRST\",\"description\":\"Designates the first ordered category as the event.\",\"type\":\"standalone\"},{\"name\":\"LAST\",\"description\":\"Designates the last ordered category as the event. This is the default.\",\"type\":\"standalone\"}]},{\"name\":\"ORDER=\",\"description\":\"[response variable option] Specifies the sorting order for the levels of the response variable.\",\"help\":\"ORDER=DATA | FORMATTED | FREQ | INTERNAL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DATA\",\"description\":\"Levels are sorted by the order of appearance in the input data set.\",\"type\":\"standalone\"},{\"name\":\"FORMATTED\",\"description\":\"Levels are sorted by the external formatted value, except for numeric variables with no explicit format, which are sorted by their unformatted (internal) value.\",\"type\":\"standalone\"},{\"name\":\"FREQ\",\"description\":\"Levels are sorted by the Descending frequency count; levels with the most observations come first in the order.\",\"type\":\"standalone\"},{\"name\":\"INTERNAL\",\"description\":\"Levels are sorted by the unformatted value.\",\"type\":\"standalone\"}]},{\"name\":\"REFERENCE=\",\"aliases\":[\"REF=\"],\"description\":\"Specifies the reference category for the generalized logit model and the binary response model. The default is REF=LAST.\",\"help\":\"REFERENCE=’*category*’ | FIRST | LAST\",\"type\":\"choice\",\"arguments\":[{\"name\":\"’category’\",\"placeholder\":true,\"description\":\"Replace <’category’> with an actual value (formatted if a format is applied) of the reference category in quotes.\",\"type\":\"value\"},{\"name\":\"FIRST\",\"description\":\"Designates the first ordered category as the reference category.\",\"type\":\"standalone\"},{\"name\":\"LAST\",\"description\":\"Designates the last ordered category as the reference category. This is the default.\",\"type\":\"standalone\"}]},{\"name\":\"ABSFCONV=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the absolute function convergence criterion.\",\"help\":\"ABSFCONV=*value*\",\"type\":\"value\"},{\"name\":\"ALPHA=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Sets the level of significance α for 100(1 - α)% confidence intervals for regression parameters or odds ratios. The value α must be between 0 and 1. By default, α is equal to the value of the ALPHA= option in the PROC SURVEYLOGISTIC statement, or α=0.05 if the ALPHA= option is not specified. This option has no effect unless confidence limits for the parameters or odds ratios are requested.\",\"help\":\"ALPHA=*number*\",\"type\":\"value\"},{\"name\":\"CLODDS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests confidence intervals for the odds ratios. Computation of these confidence intervals is based on individual Wald tests. The confidence coefficient can be specified with the ALPHA= option.\",\"type\":\"standalone\"},{\"name\":\"CLPARM\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests confidence intervals for the parameters.\",\"type\":\"standalone\"},{\"name\":\"CORRB\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays the correlation matrix of the parameter estimates.\",\"type\":\"standalone\"},{\"name\":\"COVB\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays the covariance matrix of the parameter estimates.\",\"type\":\"standalone\"},{\"name\":\"EXPB\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"EXPEST\"],\"description\":\"Displays the exponentiated values of the parameter estimates in the \\\"Analysis of Maximum Likelihood Estimates\\\" table for the logit model.\",\"type\":\"standalone\"},{\"name\":\"FCONV=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the relative function convergence criterion.\",\"help\":\"FCONV=*value*\",\"type\":\"value\"},{\"name\":\"GCONV=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the relative gradient convergence criterion.\",\"help\":\"GCONV=*value*\",\"type\":\"value\"},{\"name\":\"ITPRINT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays the iteration history of the maximum-likelihood model fitting. The ITPRINT option also displays the last evaluation of the gradient vector and the final change in the -2logL.\",\"type\":\"standalone\"},{\"name\":\"LINK=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"L=\"],\"description\":\"Specifies the link function that links the response probabilities to the linear predictors.\",\"help\":\"LINK=CLOGLOG | GLOGIT | LOGIT | PROBIT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"CLOGLOG\",\"followsDelimiter\":\"/\",\"description\":\"Specifies the complementary log-log function.\",\"type\":\"standalone\"},{\"name\":\"GLOGIT\",\"followsDelimiter\":\"/\",\"description\":\"Specifies the generalized logit function.\",\"type\":\"standalone\"},{\"name\":\"LOGIT\",\"followsDelimiter\":\"/\",\"description\":\"Specifies the cumulative ogit function.\",\"type\":\"standalone\"},{\"name\":\"PROBIT\",\"followsDelimiter\":\"/\",\"description\":\"Specifies the inverse standard normal distribution function.\",\"type\":\"standalone\"}]},{\"name\":\"MAXITER=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the maximum number of iterations to perform. By default, MAXITER=25. If convergence is not attained in n iterations, the displayed output created by the procedure contains results that are based on the last maximum likelihood iteration.\",\"help\":\"MAXITER=*n*\",\"type\":\"value\"},{\"name\":\"NOCHECK\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Disables the checking process to determine whether maximum likelihood estimates of the regression parameters exist. If you are sure that the estimates are finite, this option can reduce the execution time when the estimation takes more than eight iterations.\",\"type\":\"standalone\"},{\"name\":\"NODUMMYPRINT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Suppresses the \\\"Class Level Information\\\" table, which shows how the design matrix columns for the CLASS variables are coded.\",\"type\":\"standalone\"},{\"name\":\"NOINT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Suppresses the intercept for the binary response model or the first intercept for the ordinal response model.\",\"type\":\"standalone\"},{\"name\":\"OFFSET=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Names the offset variable. The regression coefficient for this variable is fixed at 1.\",\"help\":\"OFFSET=*name*\",\"type\":\"value\"},{\"name\":\"PARMLABEL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays the labels of the parameters in the \\\"Analysis of Maximum Likelihood Estimates\\\" table.\",\"type\":\"standalone\"},{\"name\":\"RIDGING=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the technique used to improve the log-likelihood function when its value in the current iteration is less than that in the previous iteration.\",\"help\":\"RIDGING=ABSOLUTE | RELATIVE | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ABSOLUTE\",\"followsDelimiter\":\"/\",\"description\":\"The diagonal elements of the negative (expected) Hessian are inflated by adding the ridge value.\",\"type\":\"standalone\"},{\"name\":\"RELATIVE\",\"followsDelimiter\":\"/\",\"description\":\"The diagonal elements are inflated by a factor of 1 plus the ridge value. This is the default.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"followsDelimiter\":\"/\",\"description\":\"The crude line search method of taking half a step is used instead of ridging.\",\"type\":\"standalone\"}]},{\"name\":\"RSQUARE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests a generalized R² measure for the fitted model.\",\"type\":\"standalone\"},{\"name\":\"SINGULAR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the tolerance for testing the singularity of the Hessian matrix (Newton-Raphson algorithm) or the expected value of the Hessian matrix (Fisher scoring algorithm).\",\"help\":\"SINGULAR=*value*\",\"type\":\"value\"},{\"name\":\"STB\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays the standardized estimates for the parameters for the continuous explanatory variables in the \\\"Analysis of Maximum Likelihood Estimates\\\" table.\",\"type\":\"standalone\"},{\"name\":\"TECHNIQUE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the optimization technique for estimating the regression parameters.\",\"help\":\"TECHNIQUE=FISHER | NEWTON\",\"type\":\"choice\",\"arguments\":[{\"name\":\"FISHER\",\"followsDelimiter\":\"/\",\"description\":\"Fisher scoring algorithm\",\"type\":\"standalone\"},{\"name\":\"NEWTON\",\"followsDelimiter\":\"/\",\"description\":\"Newton-Raphson algorithm\",\"type\":\"standalone\"}]},{\"name\":\"VADJUST=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies an adjustment to the variance estimation for the regression coefficients.\",\"help\":\"VADJUST=DF | VADJUST= | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DF\",\"followsDelimiter\":\"/\",\"description\":\"Specifies to use the degrees of freedom adjustment.\",\"type\":\"standalone\"},{\"name\":\"VADJUST=\",\"followsDelimiter\":\"/\",\"description\":\"Syntax: VADJUST=MOREL <(Morel-options)> Specifies to use the variance adjustment proposed by Morel (1989). You can specify the following Morel-options within parentheses after the VADJUST=MOREL option: ADJBOUND=φ sets the upper bound coefficient φ in the variance adjustment. This upper bound must be positive. By default, the procedure uses φ=0.5. DEFFBOUND=δ sets the lower bound of the estimated design effect in the variance adjustment. This lower bound must be positive. By default, the procedure uses δ=1.\",\"type\":\"value\"},{\"name\":\"NONE\",\"followsDelimiter\":\"/\",\"description\":\"Specifies not to use any variance adjustment.\",\"type\":\"standalone\"}]},{\"name\":\"XCONV=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the relative parameter convergence criterion.\",\"help\":\"XCONV=*value*\",\"type\":\"value\"}]},{\"name\":\"OUTPUT\",\"description\":\"The OUTPUT statement creates a new SAS data set that contains all the variables in the input data set and, optionally, the estimated linear predictors and their standard error estimates, the estimates of the cumulative or individual response probabilities, and the confidence limits for the cumulative probabilities.\",\"help\":\"OUTPUT &lt;LOWER=name&gt;&lt;OUT=SAS-data-set&gt;&lt;PREDICTED=&gt; ...\",\"arguments\":[{\"name\":\"ALPHA=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Sets the level of significance α for 100(1-α)% limits for the appropriate response probabilities. The value α must be between 0 and 1. By default, α is equal to the value of the ALPHA= option in the PROC SURVEYLOGISTIC statement, or 0.05 if the ALPHA= option is not specified.\",\"type\":\"value\"},{\"name\":\"LOWER=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"L=\"],\"description\":\"Names the variable that contains the lower confidence limits for π, where π is the probability of the event response if events/trials syntax or single-trial syntax with binary response is specified.\",\"help\":\"LOWER=*name*\",\"type\":\"value\"},{\"name\":\"OUT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Names the output data set. If you omit the OUT= option, the output data set is created and given a default name by using the DATAn convention. The statistic options in the OUTPUT statement specify the statistics to be included in the output data set and name the new variables that contain the statistics.\",\"help\":\"OUT=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"PREDICTED=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"P=\"],\"description\":\"Names the variable that contains the predicted probabilities. For the events/trials syntax or the single-trial syntax with binary response, it is the predicted event probability. For a cumulative model, it is the predicted cumulative probability (that is, the probability that the response variable is less than or equal to the value of _LEVEL_); and for the generalized logit model, it is the predicted individual probability (that is, the probability of the response category represented by the value of _LEVEL_).\",\"type\":\"value\"},{\"name\":\"PREDPROBS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests individual, cumulative, or cross validated predicted probabilities.\",\"help\":\"PREDPROBS=(INDIVIDUAL CUMULATIVE) | (INDIVIDUAL CROSSVALIDATE) | (CUMULATIVE CROSSVALIDATE) | (INDIVIDUAL CUMULATIVE CROSSVALIDATE)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"(INDIVIDUAL CUMULATIVE)\",\"followsDelimiter\":\"/\",\"aliases\":[\"(I C)\"],\"description\":\"Requests the predicted probability and cumulative predicted probability of each response level.\",\"type\":\"standalone\"},{\"name\":\"(INDIVIDUAL CROSSVALIDATE)\",\"followsDelimiter\":\"/\",\"aliases\":[\"(I X)\"],\"description\":\"Requests the predicted probability and cross validated individual predicted probability of each response level.\",\"type\":\"standalone\"},{\"name\":\"(CUMULATIVE CROSSVALIDATE)\",\"followsDelimiter\":\"/\",\"aliases\":[\"(C X)\"],\"description\":\"Requests the cumulative predicted probability and cross validated individual predicted probability of each response level.\",\"type\":\"standalone\"},{\"name\":\"(INDIVIDUAL CUMULATIVE CROSSVALIDATE)\",\"followsDelimiter\":\"/\",\"aliases\":[\"(I C X)\"],\"description\":\"Requests the predicted probability, cumulative predicted probability, and cross validated individual predicted probability of each response level.\",\"help\":\"(INDIVIDUAL CUMULATIVE CROSSVALIDATE)\",\"type\":\"standalone\"}]},{\"name\":\"STDXBETA=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Names the variable that contains the standard error estimates of XBETA.\",\"help\":\"STDXBETA=*name*\",\"type\":\"value\"},{\"name\":\"UPPER=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"U=\"],\"description\":\"Names the variable containing the upper confidence limits for π, where π is the probability of the event response if events/trials syntax or single-trial syntax with binary response is specified.\",\"help\":\"UPPER=*name*\",\"type\":\"value\"},{\"name\":\"XBETA=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Names the variable that contains the estimates of the linear predictor αi + β'x, where i is the corresponding ordered value of _LEVEL_.\",\"help\":\"XBETA=*name*\",\"type\":\"value\"}]},{\"name\":\"REPWEIGHTS\",\"description\":\"The REPWEIGHTS statement names variables that provide replicate weights for BRR or jackknife variance estimation, which you request with the VARMETHOD=BRR or VARMETHOD=JACKKNIFE option in the PROC SURVEYREG statement. If you do not provide replicate weights for these methods by using a REPWEIGHTS statement, then the procedure constructs replicate weights for the analysis. Each REPWEIGHTS variable should contain the weights for a single replicate, and the number of replicates equals the number of REPWEIGHTS variables. The REPWEIGHTS variables must be numeric, and the variable values must be nonnegative numbers.\",\"help\":\"REPWEIGHTS &lt;DF=df&gt;&lt;JKCOEFS=jackknife-coefficient-specification&gt;\",\"arguments\":[{\"name\":\"DF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the degrees of freedom for the analysis. The value of df must be a positive number. PROC SURVEYPHREG also use the DF= value in computing the denominator degrees of freedom for the F statistics in Wald type tests and confidence intervals.\",\"help\":\"DF=*df*\",\"type\":\"value\"},{\"name\":\"JKCOEFS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies jackknife coefficients for VARMETHOD=JACKKNIFE. The default value for the jackknife coefficient is (R-1)/R, where R is the total number of replicates. You can specify an alternative value with one of the following three forms: JKCOEFS=value specifies a single jackknife coefficient for all replicates. The coefficient value must be a nonnegative number. JKCOEFS=(values) specifies jackknife coefficients for VARMETHOD=JACKKNIFE, where each coefficient corresponds to an individual replicate identified by a REPWEIGHTS variable. You can separate values with blanks or commas. The coefficient values must be nonnegative numbers. The number of values must equal the number of replicate weight variables named in the REPWEIGHTS statement. List these values in the same order in which you list the corresponding replicate weight variables in the REPWEIGHTS statement.\",\"help\":\"JKCOEFS=*jackknife-coefficient-specification*\",\"type\":\"value\"}]},{\"name\":\"SLICE\",\"description\":\"The SLICE statement provides a general mechanism for performing a partitioned analysis of the LS-means for an interaction. This analysis is also known as an analysis of simple effects. The SLICE statement uses the same options as the LSMEANS statement.\",\"help\":\"SLICE &lt;ADJDFE=&lt;SOURCE | ROW&gt;&gt;&lt;ADJUST=&lt;BON | DUNNETT | NELSON&gt;... &gt;&lt;ALPHA=number&gt; ...\",\"arguments\":[{\"name\":\"ADJDFE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies how denominator degrees of freedom are determined when p-values and confidence limits are adjusted for multiple comparisons with the ADJUST= option.\",\"help\":\"ADJDFE=SOURCE | ROW\",\"type\":\"choice\",\"arguments\":[{\"name\":\"SOURCE\",\"followsDelimiter\":\"/\",\"description\":\"The denominator degrees of freedom for multiplicity-adjusted results are the denominator degrees of freedom for the LS-mean effect in the \\\"Type III Tests of Fixed Effects\\\" table.\",\"type\":\"standalone\"},{\"name\":\"ROW\",\"followsDelimiter\":\"/\",\"description\":\"Useful if you want multiplicity adjustments to take into account that denominator degrees of freedom are not constant across LS-mean differences.\",\"type\":\"standalone\"}]},{\"name\":\"ADJUST=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests a multiple comparison adjustment for the p-values and confidence limits for the differences of LS-means.\",\"help\":\"ADJUST=BON | DUNNETT | NELSON | SCHEFFE | SIDAK | SIMULATE | SMM | TUKEY\",\"type\":\"choice\",\"arguments\":[{\"name\":\"BON\",\"followsDelimiter\":\"/\",\"description\":\"Bonferroni adjustment\",\"type\":\"standalone\"},{\"name\":\"DUNNETT\",\"followsDelimiter\":\"/\",\"description\":\"Dunnett adjustment (in which the procedure analyzes all differences with a control level)\",\"type\":\"standalone\"},{\"name\":\"NELSON\",\"followsDelimiter\":\"/\",\"description\":\"Nelson adjustment (in which ANOM differences are taken)\",\"type\":\"standalone\"},{\"name\":\"SCHEFFE\",\"followsDelimiter\":\"/\",\"description\":\"Scheffe's adjustment\",\"type\":\"standalone\"},{\"name\":\"SIDAK\",\"followsDelimiter\":\"/\",\"description\":\"Sidak adjustment\",\"type\":\"standalone\"},{\"name\":\"SIMULATE\",\"followsDelimiter\":\"/\",\"description\":\"Computes adjusted p-values and confidence limits from the simulated distribution of the maximum or maximum absolute value of a multivariate t random vector. Syntax: SIMULATE<(simoptions)> You can specify the following simoptions in parentheses after the ADJUST=SIMULATE option. ACC=value specifies the target accuracy radius γ of a 100(1-ε)% confidence interval for the true probability content of the estimated (1-α)th quantile. The default value is ACC=0.005. EPS=value specifies the value ε for a 100(1-ε)% confidence interval for the true probability content of the estimated (1-α)th quantile. The default value is ACC=0.005. NSAMP=n specifies the sample size for the simulation. SEED=number specifies an integer that is used to start the pseudo-random number generator for the simulation. THREADS specifies that the computational work for the simulation be divided into parallel threads, where the number of threads is the value of the SAS system option CPUCOUNT=. NOTHREADS specifies that the computational work for the simulation be performed in sequence rather than in parallel. NOTHREADS is the default. This option overrides the SAS system option THREADS|NOTHREADS.\",\"type\":\"standalone\"},{\"name\":\"SMM\",\"followsDelimiter\":\"/\",\"aliases\":[\"GT2\"],\"description\":\"SMM adjustment\",\"type\":\"standalone\"},{\"name\":\"TUKEY\",\"followsDelimiter\":\"/\",\"description\":\"If your data are unbalanced, PROC GLIMMIX uses the approximation described in Kramer (1956) and identifies the adjustment as \\\"Tukey-Kramer\\\" in the results.\",\"type\":\"standalone\"}]},{\"name\":\"ALPHA=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that a t-type confidence interval be constructed for each of the LS-means with confidence level (1-number)x100%. The value of number must be between 0 and 1; the default is 0.05.\",\"help\":\"ALPHA=*number*\",\"type\":\"value\"},{\"name\":\"AT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Modifies the values of the covariates that are used in computing LS-means. By default, all covariate effects are set equal to their mean values for computation of standard LS-means. The AT option enables you to assign arbitrary values to the covariates. Additional columns in the output table indicate the values of the covariates.\",\"help\":\"AT=MEANS\",\"type\":\"choice\",\"arguments\":[{\"name\":\"MEANS\",\"type\":\"standalone\"}]},{\"name\":\"BYLEVEL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that separate margins be computed for each level of the SLICE model-effect.\",\"type\":\"standalone\"},{\"name\":\"CL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that t-type confidence limits be constructed for each of the LS-means. The confidence level is 0.95 by default; this can be changed with the ALPHA= option.\",\"type\":\"standalone\"},{\"name\":\"CORR\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays the estimated correlation matrix of the least squares means as part of the \\\"Least Squares Means\\\" table.\",\"type\":\"standalone\"},{\"name\":\"COV\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays the estimated covariance matrix of the least squares means as part of the \\\"Least Squares Means\\\" table.\",\"type\":\"standalone\"},{\"name\":\"DF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the degrees of freedom for the t test and confidence limits. The default is the denominator degrees of freedom taken from the \\\"Type III Tests\\\" table that corresponds to the LS-means effect.\",\"help\":\"DF=*number*\",\"type\":\"value\"},{\"name\":\"DIFF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"PDIFF=\"],\"description\":\"Requests that differences of the LS-means be displayed.\",\"help\":\"DIFF=ALL | ANOM | CONTROL | CONTROLL | CONTROLU\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ALL\",\"followsDelimiter\":\"/\",\"description\":\"Requests all pairwise differences; this is the default.\",\"type\":\"standalone\"},{\"name\":\"ANOM\",\"followsDelimiter\":\"/\",\"description\":\"Requests differences between each LS-mean and the average LS-mean, as in the analysis of means (Ott 1967).\",\"type\":\"standalone\"},{\"name\":\"CONTROL\",\"followsDelimiter\":\"/\",\"description\":\"Requests the differences with a control, which, by default, is the first level of each of the specified SLICE effects.\",\"type\":\"standalone\"},{\"name\":\"CONTROLL\",\"followsDelimiter\":\"/\",\"description\":\"Tests whether the noncontrol levels are significantly smaller than the control; the upper confidence limits for the control minus the noncontrol levels are considered to be infinity and are displayed as missing.\",\"type\":\"standalone\"},{\"name\":\"CONTROLU\",\"followsDelimiter\":\"/\",\"description\":\"Tests whether the noncontrol levels are significantly larger than the control; the upper confidence limits for the noncontrol levels minus the control are considered to be infinity and are displayed as missing.\",\"type\":\"standalone\"}]},{\"name\":\"E\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that the L matrix coefficients for the SLICE effects be displayed.\",\"type\":\"standalone\"},{\"name\":\"EXP\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests exponentiation of the LS-means or LS-mean differences. When you model data with the logit, cumulative logit, or generalized logit link functions, and the estimate represents a log odds ratio or log cumulative odds ratio, the EXP option produces an odds ratio. In proportional hazards model, the exponentiation of the LS-mean differences produces estimates of hazard ratios. If you specify the CL or ALPHA= option, the (adjusted) confidence bounds are also exponentiated.\",\"type\":\"standalone\"},{\"name\":\"ILINK\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that estimates and their standard errors in the \\\"Least Squares Means\\\" table also be reported on the scale of the mean (the inverse linked scale).\",\"type\":\"standalone\"},{\"name\":\"LINES\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Presents results of comparisons between all pairs of least squares means by listing the means in descending order and indicating nonsignificant subsets by line segments beside the corresponding LS-means.\",\"type\":\"standalone\"},{\"name\":\"MEANS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies to produce the table of least squares means.\",\"type\":\"standalone\"},{\"name\":\"NOF\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Suppresses the F test for testing the mutual equality of the estimable functions in the partition.\",\"type\":\"standalone\"},{\"name\":\"NOMEANS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies not to produce the table of least squares means. This is the default.\",\"type\":\"standalone\"},{\"name\":\"OBSMARGINS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"OM=\"],\"description\":\"Specifies a potentially different weighting scheme for the computation of LS-means coefficients. The standard LS-means have equal coefficients across classification effects; however, the OM option changes these coefficients to be proportional to those found in the OM-data-set. This adjustment is reasonable when you want your inferences to apply to a population that is not necessarily balanced but has the margins that are observed in OM-data-set.\",\"type\":\"value\"},{\"name\":\"ODDSRATIO\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"OR\"],\"description\":\"Requests that LS-mean differences (DIFF, ADJUST= options) are also reported in terms of odds ratios. The ODDSRATIO option is ignored unless you use either the logit, cumulative logit, or generalized logit link function. If you specify the CL or ALPHA= option, confidence intervals for the odds ratios are also computed. These intervals are adjusted for multiplicity when you specify the ADJUST= option.\",\"type\":\"standalone\"},{\"name\":\"PDIFF\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Is the same as the DIFF option.\",\"type\":\"standalone\"},{\"name\":\"PLOT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"PLOTS=\"],\"description\":\"Requests that least squares means related graphics are produced via ODS Graphics, provided that the ODS GRAPHICS statement has been specified and the plot request does not conflict with other options in the SLICE statement.\",\"help\":\"PLOT=ALL | ANOMPLOT | BOXPLOT | CONTROLPLOT | DIFFPLOT | DISTPLOT | MEANPLOT | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ALL\",\"followsDelimiter\":\"/\",\"description\":\"Requests that the default plots corresponding to this SLICE statement be produced.\",\"type\":\"standalone\"},{\"name\":\"ANOMPLOT\",\"followsDelimiter\":\"/\",\"aliases\":[\"ANOM\"],\"description\":\"Requests an analysis of means display in which least squares means are compared to an average least squares mean.\",\"type\":\"standalone\"},{\"name\":\"BOXPLOT\",\"followsDelimiter\":\"/\",\"description\":\"Syntax: BOXPLOT<boxplot-options>> Produces box plots of the distribution of the least squares mean or least squares mean differences across a posterior sample. For example, this plot is available in procedures that support a Bayesian analysis through the BAYES statement. A separate box is generated for each estimable function, and all boxes appear on a single graph by default. You can affect the appearance of the box plot graph with the following options: ORIENTATION=VERTICAL|HORIZONTAL ORIENT=VERT|HORIZ specifies the orientation of the boxes. The default is vertical orientation of the box plots. NPANELPOS=number specifies how to break the series of box plots across multiple panels. If the NPANELPOS option is not specified, or if number equals zero, then all box plots are displayed in a single graph; this is the default.\",\"type\":\"standalone\"},{\"name\":\"CONTROLPLOT\",\"followsDelimiter\":\"/\",\"aliases\":[\"CONTROL\"],\"description\":\"Requests a display in which least squares means are visually compared against a reference level.\",\"type\":\"standalone\"},{\"name\":\"DIFFPLOT\",\"followsDelimiter\":\"/\",\"aliases\":[\"DIFFOGRAM\",\"DIFF\"],\"description\":\"Requests a display of all pairwise least squares mean differences and their significance. Syntax: DIFFPLOT<(diffplot-options)> You can specify the following diffplot-options: ABS all line segments are shown on the same side of the reference line. NOABS separates comparisons according to the sign of the difference. CENTER marks the center point for each comparison. NOLINES suppresses the display of the line segments that represent the confidence bounds for the differences of the least squares means. The NOLINES option implies the CENTER option.\",\"type\":\"standalone\"},{\"name\":\"DISTPLOT\",\"followsDelimiter\":\"/\",\"aliases\":[\"DIST\"],\"description\":\"Syntax: DISTPLOT<distplot-options> Generates panels of histograms with a kernel density overlaid if the analysis has access to a set of posterior parameter estimates. You can sepcify the following distplot-options in parentheses: BOX|NOBOX controls the display of a horizontal box plot of the estimable function’s distribution across the posterior sample below the graph. The BOX option is enabled by default. HIST|NOHIST controls the display of the histogram of the estimable function’s distribution across the posterior sample. The HIST option is enabled by default. NORMAL|NONORMAL controls the display of a normal density estimate on the graph. The NONORMAL option is enabled by default. KERNEL|NOKERNEL controls the display of a kernel density estimate on the graph. The KERNEL option is enabled by default. NROWS=number specifies the highest number of rows in a panel. The default is 3. NCOLS=number specifies the highest number of columns in a panel. The default is 3. UNPACK unpacks the panel into separate graphics.\",\"type\":\"standalone\"},{\"name\":\"MEANPLOT\",\"followsDelimiter\":\"/\",\"description\":\"Syntax: MEANPLOT<(meanplot-options)> Requests displays of the least squares means. The following meanplot-options control the display of the least squares means: ASCENDING displays the least squares means in ascending order. This option has no effect if means are sliced or displayed in separate plots. CL displays upper and lower confidence limits for the least squares means. By default, 95% limits are drawn. CLBAND displays confidence limits as bands. This option implies the JOIN option. DESCENDING displays the least squares means in descending order. This option has no effect if means are sliced or displayed in separate plots. ILINK requests that means (and confidence limits) are displayed on the inverse linked scale. JOIN | CONNECT connects the least squares means with lines. This option is implied by the CLBAND option. SLICEBY=fixed-effect specifies an effect by which to group the means in a single plot. PLOTBY=fixed-effect specifies an effect by which to break interaction plots into separate displays.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"followsDelimiter\":\"/\",\"description\":\"Requests that no plots be produced.\",\"type\":\"standalone\"}]},{\"name\":\"SEED=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the seed for the sampling-based components of the computations for the SLICE statement (for example, chi-bar-square statistics and simulated p-values). number specifies an integer that is used to start the pseudo-random-number generator for the simulation. If you do not specify a seed, or if you specify a value less than or equal to zero, the seed is generated from reading the time of day from the computer clock.\",\"help\":\"SEED=*number*\",\"type\":\"value\"},{\"name\":\"SINGULAR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Tunes the estimability checking. The value for number must be between 0 and 1; the default is 1E-4.\",\"help\":\"SINGULAR=*number*\",\"type\":\"value\"},{\"name\":\"SLICEBY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"\",\"type\":\"value\"},{\"name\":\"STEPDOWN=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that multiple comparison adjustments for the p-values of LS-mean differences be further adjusted in a step-down fashion. Step-down methods increase the power of multiple comparisons by taking advantage of the fact that a p-value is never declared significant unless all smaller p-values are also declared significant. You can specify the following step-down options in parentheses: MAXTIME=n specifies the time (in seconds) to spend computing the maximal logically consistent sequential subsets of equality hypotheses for TYPE=LOGICAL. REPORT specifies that a report on the step-down adjustment should be displayed, including a listing of the sequential subsets (Westfall 1997) and, for ADJUST=SIMULATE, the step-down simulation results.\",\"help\":\"STEPDOWN=MAXTIME= | REPORT | TYPE=\",\"type\":\"choice\",\"arguments\":[{\"name\":\"MAXTIME=\",\"type\":\"value\"},{\"name\":\"REPORT\",\"type\":\"standalone\"},{\"name\":\"TYPE=\",\"type\":\"value\"}]}]},{\"name\":\"STORE\",\"aliases\":[\"ITEMSTORE\"],\"description\":\"The STORE statement requests that the procedure save the context and results of the statistical analysis. The resulting item store is a binary file format that cannot be modified. The contents of the item store can be processed with the PLM procedure. The item-store-name is a usual one- or two-level SAS name, like the names that are used for SAS data sets. If you specify a one-level name, then the item store resides in the WORK library and is deleted at the end of the SAS session. Since item stores usually are used to perform postprocessing tasks, typical usage specifies a two-level name of the form libname.membername. If an item store by the same name as specified in the STORE statement already exists, the existing store is replaced.\",\"help\":\"STORE &lt;LABEL='label'&gt;\",\"arguments\":[{\"name\":\"LABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Adds a custom label. When the PLM procedure processes an item store, the label appears in the PROC PLM output along with other identifying information.\",\"help\":\"LABEL='*label*'\",\"type\":\"value\"}]},{\"name\":\"STRATA\",\"aliases\":[\"STRATUM\"],\"description\":\"The STRATA statement specifies variables that form the strata in a stratified sample design. The combinations of categories of STRATA variables define the strata in the sample. If your sample design has stratification at multiple stages, you should identify only the first-stage strata in the STRATA statement. If you provide replicate weights for BRR or jackknife variance estimation with a REPWEIGHTS statement, you do not need to specify a STRATA statement. The STRATA variables are one or more variables in the DATA= input data set. These variables can be either character or numeric, but the procedure treats them as categorical variables. The formatted values of the STRATA variables determine the STRATA variable levels. Thus, you can use formats to group values into levels.\",\"help\":\"STRATA &lt;LIST&gt;&lt;NOCOLLAPSE&gt;\",\"arguments\":[{\"name\":\"LIST\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays a \\\"Stratum Information\\\" table, which includes values of the STRATA variables and the number of observations, number of clusters, population total, and sampling rate for each stratum.\",\"type\":\"standalone\"},{\"name\":\"NOCOLLAPSE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Prevents the procedure from collapsing (combining) strata that have only one sampling unit for the Taylor series variance estimation. By default, the procedure collapses strata that contain only one sampling unit for the Taylor series method.\",\"type\":\"standalone\"}]},{\"name\":\"TEST\",\"description\":\"The TEST statement tests linear hypotheses about the regression coefficients. The Wald test is used to jointly test the null hypotheses (Ho: Lθ=c) specified in a single TEST statement. When c=0 you should specify a CONTRAST statement instead. Each equation specifies a linear hypothesis (a row of the L matrix and the corresponding element of the c vector); multiple equations are separated by commas. The label, which must be a valid SAS name, is used to identify the resulting output and should always be included. You can submit multiple TEST statements. The form of an equation is as follows: term < ± term ...> < = ± term < ± term ... >> where term is a parameter of the model, or a constant, or a constant times a parameter. For a binary response model, the intercept parameter is named INTERCEPT; for an ordinal response model, the intercept parameters are named INTERCEPT, INTERCEPT2, INTERCEPT3, and so on. When no equal sign appears, the expression is set to 0.\",\"help\":\"TEST &lt;PRINT&gt;\",\"arguments\":[{\"name\":\"PRINT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays intermediate calculations in the testing of the null hypothesis Ho: Lθ=c.\",\"type\":\"standalone\"}]},{\"name\":\"UNITS\",\"description\":\"The UNITS statement enables you to specify units of change for the continuous explanatory variables so that customized odds ratios can be estimated. An estimate of the corresponding odds ratio is produced for each unit of change specified for an explanatory variable. The UNITS statement is ignored for CLASS variables. If the CLODDS option is specified in the MODEL statement, the corresponding confidence limits for the odds ratios are also displayed. The term independent is the name of an explanatory variable, and list represents a list of units of change, separated by spaces, that are of interest for that variable. Each unit of change in a list has one of the following forms: o number o SD or SD o number * SD where number is any nonzero number and SD is the sample standard deviation of the corresponding independent variable.\",\"help\":\"UNITS &lt;DEFAULT=list&gt;\",\"arguments\":[{\"name\":\"DEFAULT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"DEF=\"],\"description\":\"Gives a list of units of change for all explanatory variables that are not specified in the UNITS statement. Each unit of change can be in any of the forms described previously. If the DEFAULT= option is not specified, PROC SURVEYLOGISTIC does not produce customized odds ratio estimates for any explanatory variable that is not listed in the UNITS statement.\",\"help\":\"DEFAULT=*list*\",\"type\":\"value\"}]},{\"name\":\"WEIGHT\",\"aliases\":[\"WGT\"],\"description\":\"The WEIGHT statement names the variable that contains the sampling weights. This variable must be numeric, and the sampling weights must be positive numbers. If an observation has a weight that is nonpositive or missing, then the procedure omits that observation from the analysis. If you do not specify a WEIGHT statement but provide replicate weights with a REPWEIGHTS statement, PROC SURVEYLOGISTIC uses the average of each observation’s replicate weights as the observation’s weight. If you do not specify a WEIGHT statement or a REPWEIGHTS statement, PROC SURVEYLOGISTIC assigns all observations a weight of one.\",\"help\":\"WEIGHT variable\"}],\"supportSiteInformation\":{\"docsetId\":\"statug\",\"docsetVersion\":\"latest\",\"docsetTargetFile\":\"statug_surveylogistic_toc.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/SURVEYMEANS.json",
    "content": "{\"name\":\"SURVEYMEANS\",\"statements\":[{\"name\":\"PROC SURVEYMEANS\",\"description\":\"The SURVEYMEANS procedure estimates characteristics of a survey population by using statistics computed from a survey sample. You can estimate statistics such as means, totals, proportions, quantiles, and ratios. PROC SURVEYMEANS also provides domain analysis, which computes estimates for subpopulations or domains. The procedure also estimates variances and confidence limits and performs t tests for these statistics. PROC SURVEYMEANS uses either the Taylor series (linearization) method or replication (subsampling) methods to estimate sampling errors of estimators based on complex sample designs. The sample design can be a complex survey sample design with stratification, clustering, and unequal weighting.\",\"help\":\"PROC SURVEYMEANS <ALL><ALLGEO><ALPHA=α><CLM><CLSUM><CV><CVSUM><DATA=SAS-data-set><DECILES><DF><GEOMEAN><GMSTDERR><LCLM><LCLSUM><MAX><MEAN><MEDIAN><MIN><MISSING><NCLUSTER><NMISS><NOBS><NOMCAR><NONSYMCL><NOSPARSE><ORDER=DATA | FORMATTED | FREQ... ><PERCENTILE=(values)><Q1><Q3><QUANTILE=(values)><QUARTILES><RANGE><RATE=value | SAS-data-set><STACKING><STD><STDERR><SUM><SUMWGT><T><TOTAL=value | SAS-data-set><UCLM><UCLSUM><VAR><VARMETHOD=BRR | JACKKNIFE | TAYLOR><VARSUM>;     \\n\\tBY <DESCENDING><NOTSORTED> ;\\n\\n\\tCLASS variables ;\\n\\n\\tCLUSTER variables ;\\n\\n\\tDOMAIN variables <variable*variable variable*variable*variable ... > ;\\n\\n\\tPOSTSTRATA <PSPCT=SAS-data-set | values><PSTOTAL=SAS-data-set | values> ;\\n\\n\\tRATIO <’label’> variables / variables ;\\n\\n\\tREPWEIGHTS <DF=df><JKCOEFS=jackknife-coefficient-specification> ;\\n\\n\\tSTRATA <LIST> ;\\n\\n\\tVAR variables ;\\n\\n\\tWEIGHT variable;\\n\",\"arguments\":[{\"name\":\"ALL\",\"optional\":true,\"description\":\"All available statistics except those associated with geometric means\",\"type\":\"standalone\"},{\"name\":\"ALLGEO\",\"optional\":true,\"description\":\"All available statistics associated with geometric means\",\"type\":\"standalone\"},{\"name\":\"ALPHA=\",\"optional\":true,\"description\":\"Sets the confidence level for confidence limits. The value of the ALPHA= option must be between 0 and 1, and the default value is 0.05. A confidence level of α produces 100(1-α)% confidence limits. The default of ALPHA=0.05 produces 95% confidence limits.\",\"type\":\"value\"},{\"name\":\"CLM\",\"optional\":true,\"description\":\"100(1-α)% two-sided confidence limits for the MEAN, where α is determined by the ALPHA= option; the default is α=0.05\",\"type\":\"standalone\"},{\"name\":\"CLSUM\",\"optional\":true,\"description\":\"100(1-α)% two-sided confidence limits for the SUM, where α is determined by the ALPHA= option; the default is α=0.05\",\"type\":\"standalone\"},{\"name\":\"CV\",\"optional\":true,\"description\":\"Coefficient of variation for MEAN\",\"type\":\"standalone\"},{\"name\":\"CVSUM\",\"optional\":true,\"description\":\"Coefficient of variation for SUM\",\"type\":\"standalone\"},{\"name\":\"DATA=\",\"optional\":true,\"description\":\"Specifies the SAS data set to be analyzed by PROC SURVEYMEANS. If you omit the DATA= option, the procedure uses the most recently created SAS data set.\",\"help\":\"DATA=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"DECILES\",\"optional\":true,\"description\":\"The 10th, the 20th, ..., and the 90th percentiles including their standard errors and confidence limits.\",\"type\":\"standalone\"},{\"name\":\"DF\",\"optional\":true,\"description\":\"Degrees of freedom for the t test\",\"type\":\"standalone\"},{\"name\":\"GEOMEAN\",\"optional\":true,\"description\":\"Geometric mean of a numeric variable that contains positive values\",\"type\":\"standalone\"},{\"name\":\"GMSTDERR\",\"optional\":true,\"description\":\"Standard error of the GEOMEAN. When you request GEOMEAN, the procedure computes GMSTDERR by default.\",\"type\":\"standalone\"},{\"name\":\"LCLM\",\"optional\":true,\"description\":\"100(1-α)% one-sided confidence limit of the MEAN, where α is determined by the ALPHA= option; the default is α=0.05.\",\"type\":\"standalone\"},{\"name\":\"LCLSUM\",\"optional\":true,\"description\":\"100(1-α)% one-sided confidence limit of the SUM, where α is determined by the ALPHA= option; the default is α=0.05.\",\"type\":\"standalone\"},{\"name\":\"MAX\",\"optional\":true,\"description\":\"Maximum value\",\"type\":\"standalone\"},{\"name\":\"MEAN\",\"optional\":true,\"description\":\"Mean for a numeric variable, or the proportion in each category for a categorical variable\",\"type\":\"standalone\"},{\"name\":\"MEDIAN\",\"optional\":true,\"description\":\"Median for a numeric variable\",\"type\":\"standalone\"},{\"name\":\"MIN\",\"optional\":true,\"description\":\"Minimum value\",\"type\":\"standalone\"},{\"name\":\"MISSING\",\"optional\":true,\"description\":\"Treats missing values as a valid (nonmissing) category for all categorical variables, which include CLASS, STRATA, CLUSTER, and DOMAIN variables. By default, if you do not specify the MISSING option, an observation is excluded from the analysis if it has a missing value.\",\"type\":\"standalone\"},{\"name\":\"NCLUSTER\",\"optional\":true,\"description\":\"Number of clusters\",\"type\":\"standalone\"},{\"name\":\"NMISS\",\"optional\":true,\"description\":\"Number of missing observations\",\"type\":\"standalone\"},{\"name\":\"NOBS\",\"optional\":true,\"description\":\"Number of nonmissing observations\",\"type\":\"standalone\"},{\"name\":\"NOMCAR\",\"optional\":true,\"description\":\"Requests that the procedure treat missing values in the variance computation as not missing completely at random (NOMCAR) for Taylor series variance estimation. When you specify the NOMCAR option, PROC SURVEYREG computes variance estimates by analyzing the nonmissing values as a domain or subpopulation, where the entire population includes both nonmissing and missing domains.]\",\"type\":\"standalone\"},{\"name\":\"NONSYMCL\",\"optional\":true,\"description\":\"Requests nonsymmetric confidence limits for quantiles when you request quantiles with PERCENTILE= or QUANTILE= option.\",\"type\":\"standalone\"},{\"name\":\"NOSPARSE\",\"optional\":true,\"description\":\"Suppresses the display of analysis variables with zero frequency. By default, the procedure displays all continuous variables and all levels of categorical variables.\",\"type\":\"standalone\"},{\"name\":\"ORDER=\",\"optional\":true,\"description\":\"Specifies the order in which to sort the levels of the categorical variables are to be reported.\",\"help\":\"ORDER=DATA | FORMATTED | FREQ | INTERNAL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DATA\",\"description\":\"Levels sorted by the order of appearance in the input data set.\",\"type\":\"standalone\"},{\"name\":\"FORMATTED\",\"description\":\"Levels sorted by the external formatted value, except for numeric variables with no explicit format, which are sorted by their unformatted (internal) value.\",\"type\":\"standalone\"},{\"name\":\"FREQ\",\"description\":\"Levels sorted by the descending frequency count; levels with the most observations come first in the order.\",\"type\":\"standalone\"},{\"name\":\"INTERNAL\",\"description\":\"Levels sorted by the unformatted value.\",\"type\":\"standalone\"}]},{\"name\":\"PERCENTILE=\",\"optional\":true,\"description\":\"Specifies percentiles you want the procedure to compute. You can separate values with blanks or commas. Each value must be between 0 and 100. You can also use the statistic-keywords DECILES, MEDIAN, Q1, Q3, and QUARTILES to request common percentiles.\",\"type\":\"value\"},{\"name\":\"Q1\",\"optional\":true,\"description\":\"Lower quartile\",\"type\":\"standalone\"},{\"name\":\"Q3\",\"optional\":true,\"description\":\"Upper quartile\",\"type\":\"standalone\"},{\"name\":\"QUANTILE=\",\"optional\":true,\"description\":\"Specifies quantiles you want the procedure to compute. You can separate values with blanks or commas. Each value must be between 0 and 1. You can also use the statistic-keywords DECILES, MEDIAN, Q1, Q3, and QUARTILES to request common quantiles.\",\"type\":\"value\"},{\"name\":\"QUARTILES\",\"optional\":true,\"description\":\"Lower quartile (25%th percentile), median (50%th percentile), and upper quartile (75%th percentile), including their standard errors and confidence limits.\",\"type\":\"standalone\"},{\"name\":\"RANGE\",\"optional\":true,\"description\":\"Range calculated as the difference between maximum value and minimum value (MAX - MIN).\",\"type\":\"standalone\"},{\"name\":\"RATE=\",\"optional\":true,\"aliases\":[\"R=\"],\"description\":\"Specifies the sampling rate as a nonnegative value, or specifies an input data set that contains the stratum sampling rates. The procedure uses this information to compute a finite population correction for Taylor series variance estimation. The procedure does not use the RATE= option for BRR or jackknife variance estimation, which you request with the VARMETHOD=BRR or VARMETHOD=JACKKNIFE option.\",\"type\":\"value\"},{\"name\":\"STACKING\",\"optional\":true,\"description\":\"Requests that the procedure produce the output data sets by using a stacking table structure, which was the default before SAS 9. The new default is to produce a rectangular table structure in the output data sets. A rectangular structure creates one observation for each analysis variable in the data set. A stacking structure creates only one observation in the output data set for all analysis variables. The STACKING option affects the following tables:\",\"type\":\"standalone\"},{\"name\":\"STD\",\"optional\":true,\"description\":\"Standard deviation of the SUM. When you request SUM, the procedure computes STD by default.\",\"type\":\"standalone\"},{\"name\":\"STDERR\",\"optional\":true,\"description\":\"Standard error of the MEAN or RATIO. When you request MEAN or RATIO, the procedure computes STDERR by default.\",\"type\":\"standalone\"},{\"name\":\"SUM\",\"optional\":true,\"description\":\"Weighted sum or estimated population total when the appropriate sampling weights are used.\",\"type\":\"standalone\"},{\"name\":\"SUMWGT\",\"optional\":true,\"description\":\"Sum of the weights\",\"type\":\"standalone\"},{\"name\":\"T\",\"optional\":true,\"description\":\"Student's t statistic\",\"type\":\"standalone\"},{\"name\":\"TOTAL=\",\"optional\":true,\"aliases\":[\"N=\"],\"description\":\"Specifies the total number of primary sampling units (PSUs) in the study population as a positive value, or specifies an input data set that contains the stratum population totals. The procedure uses this information to compute a finite population correction for Taylor series variance estimation. The procedure does not use the TOTAL= option for BRR or jackknife variance estimation, which you request with the VARMETHOD=BRR or VARMETHOD=JACKKNIFE option.\",\"type\":\"value\"},{\"name\":\"UCLM\",\"optional\":true,\"description\":\"100(1-α)% one-sided confidence limit of the MEAN, where α is determined by the ALPHA= option; the default is α=0.05.\",\"type\":\"standalone\"},{\"name\":\"UCLSUM\",\"optional\":true,\"description\":\"100(1-α)% one-sided confidence limit of the SUM, where α is determined by the ALPHA= option; the default is α=0.05.\",\"type\":\"standalone\"},{\"name\":\"VAR\",\"optional\":true,\"description\":\"Variance of the MEAN or RATIO\",\"type\":\"standalone\"},{\"name\":\"VARMETHOD=\",\"optional\":true,\"description\":\"Specifies the variance estimation method.\",\"help\":\"VARMETHOD=BRR | JACKKNIFE | TAYLOR\",\"type\":\"choice\",\"arguments\":[{\"name\":\"BRR\",\"description\":\"Requests variance estimation by balanced repeated replication (BRR). You can specify the following method-options in parentheses after the VARMETHOD=BRR option: DFADJ computes the degrees of freedom as the number of nonmissing strata for an analysis variable. FAY <=value> requests Fay’s method, which is a modification of the BRR method. HADAMARD=SAS-data-set H=SAS-data-set names a SAS data set that contains the Hadamard matrix for BRR replicate construction. OUTWEIGHTS=SAS-data-set names an output SAS data set to store the replicate weights that PROC SURVEYPHREG creates for BRR variance estimation. The OUTWEIGHTS= method-option is not available when you provide replicate weights with a REPWEIGHTS statement. PRINTH displays the Hadamard matrix used to construct replicates for BRR. When you provide the Hadamard matrix in the HADAMARD= method-option, PROC SURVEYPHREG displays only the rows and columns that are actually used to construct replicates. REPS=number specifies the number of replicates for BRR variance estimation. The value of number must be an integer greater than 1.\",\"type\":\"standalone\"},{\"name\":\"JACKKNIFE\",\"description\":\"Requests variance estimation by the delete-1 jackknife method. You can specify the following method-options in parentheses following VARMETHOD=JACKKNIFE: DFADJ computes the degrees of freedom as the number of nonmissing strata for an analysis variable. OUTWEIGHTS=SAS-data-set names an output SAS data set that contains replicate weights. The OUTWEIGHTS= method-option is not available when you provide replicate weights with the REPWEIGHTS statement. OUTJKCOEFS=SAS-data-set names an output SAS data set that contains jackknife coefficients.\",\"type\":\"standalone\"},{\"name\":\"TAYLOR\",\"description\":\"Requests Taylor series variance estimation. This is the default method if you do not specify the VARMETHOD= option or a REPWEIGHTS statement.\",\"type\":\"standalone\"}]},{\"name\":\"VARSUM\",\"optional\":true,\"description\":\"Variance of the SUM\",\"type\":\"standalone\"}]},{\"name\":\"BY\",\"description\":\"You can specify a BY statement with PROC SURVEYMENAS to obtain separate analyses on observations in groups that are defined by the BY variables. When a BY statement appears, the procedure expects the input data set to be sorted in order of the BY variables. If you specify more than one BY statement, only the last one specified is used.\",\"help\":\"BY &lt;DESCENDING&gt;&lt;NOTSORTED&gt;\",\"arguments\":[{\"name\":\"DESCENDING\",\"optional\":true,\"description\":\"Specifies that the observations are sorted in descending order by the variable that immediately follows the word DESCENDING in the BY statement.\",\"type\":\"standalone\"},{\"name\":\"NOTSORTED\",\"optional\":true,\"description\":\"Specifies that observations are not necessarily sorted in alphabetic or numeric order.\",\"type\":\"standalone\"}]},{\"name\":\"CLASS\",\"aliases\":[\"CLASSES\"],\"description\":\"The CLASS statement names variables to be analyzed as categorical variables. For categorical variables, PROC SURVEYMEANS estimates the proportion in each category or level, instead of the overall mean. PROC SURVEYMEANS always analyzes character variables as categorical. If you want categorical analysis for a numeric variable, you must include that variable in the CLASS statement. The CLASS variables are one or more variables in the DATA= input data set. These variables can be either character or numeric. The formatted values of the CLASS variables determine the categorical variable levels. Thus, you can use formats to group values into levels. When determining levels of a CLASS variable, an observation with missing values for this CLASS variable is excluded, unless you specify the MISSING option. You can use multiple CLASS statements to specify categorical variables.\",\"help\":\"CLASS variables \"},{\"name\":\"CLUSTER\",\"aliases\":[\"CLUSTERS\"],\"description\":\"The CLUSTER statement names variables that identify the clusters in a clustered sample design. The combinations of categories of CLUSTER variables define the clusters in the sample. If there is a STRATA statement, clusters are nested within strata. If you provide replicate weights for BRR or jackknife variance estimation with the REPWEIGHTS statement, you do not need to specify a CLUSTER statement. If your sample design has clustering at multiple stages, you should identify only the first-stage clusters (primary sampling units (PSUs)), in the CLUSTER statement. The CLUSTER variables are one or more variables in the DATA= input data set. These variables can be either character or numeric, but the procedure treats them as categorical variables. The formatted values of the CLUSTER variables determine the CLUSTER variable levels. Thus, you can use formats to group values into levels.\",\"help\":\"CLUSTER variables \"},{\"name\":\"DOMAIN\",\"description\":\"The DOMAIN statement requests analysis for domains (subpopulations), in addition to analysis for the entire study population. The DOMAIN statement names the variables that identify domains, which are called domain variables. It is common practice to compute statistics for domains. The formation of these domains might not be known at the design stage. Therefore, the sample sizes for the domains are often random. Use a DOMAIN statement to incorporate this variability into the variance estimation. Note that a DOMAIN statement is different from a BY statement. In a BY statement, you treat the sample sizes as fixed in each subpopulation, and you perform analysis within each BY group independently.\",\"help\":\"DOMAIN variables &lt;variable*variable variable*variable*variable ... &gt; \"},{\"name\":\"POSTSTRATA\",\"description\":\"The POSTSTRATA statement names variables that form the poststrata to adjust the sampling weight for analyzing the survey. The combinations of categories of POSTSTRATA variables define the poststrata in the sample. The POSTSTRATA variables are one or more variables in the DATA= input data set. These variables can be either character or numeric. The formatted values of the POSTSTRATA variables determine the categorical levels. Thus, you can use formats to group values into levels. You must specify either poststratification totals or poststratification proportions, but not both, in the POSTSTRATA statement after a slash (/).\",\"help\":\"POSTSTRATA &lt;PSPCT=SAS-data-set | values&gt;&lt;PSTOTAL=SAS-data-set | values&gt;\",\"arguments\":[{\"name\":\"PSPCT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"POSTPCT=\"],\"description\":\"Syntax: PSPCT=SAS-data-set | values POSTPCT=SAS-data-set | values Specifies an input data set that contains the population poststratum proportions or specifies the population poststratum proportions as positive values. The SURVEYMEANS procedure uses this information to compute weight adjustment for poststratification. You can provide poststratification proportions by specifying POSTPCT=SAS-data-set, which names a SAS data set that contains the poststratification variables and the poststratum poststratification. This data set is called the poststratum proportion data set.\",\"type\":\"value\"},{\"name\":\"PSTOTAL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"POSTTOTAL=\",\"PSCONTROL=\"],\"description\":\"Syntax: PSTOTAL=SAS-data-set | values POSTTOTAL=SAS-data-set | values PSCONTROL=SAS-data-set | values Specifies an input data set that contains the poststratum totals or specifies the population poststratum totals as positive values. The SURVEYMEANS procedure uses this information to compute weight adjustment for poststratification. You can provide poststratification totals by specifying PSTOTAL=SAS-data-set, which names a SAS data set that contains the poststratification variables and the poststratum totals. This data set is called the poststratum total data set. A poststratum total data set must contain all the poststratification variables that are listed in the POSTSTRATA statement and all the variables listed in the BY statement. If there are formats associated with the POSTSTRATA variables and the BY variables, then the formats in the poststratum total data set for these variables must be consistent with those in the DATA= data set in the PROC SURVEYMEANS statement. A poststratum total data set must have a variable named _PSTOTAL_ that contains the poststratum totals. The value of _PSTOTAL_ must be positive. When poststratum levels are easy to identify, their corresponding poststratum totals can be specified as a list of positive numbers.\",\"type\":\"value\"}]},{\"name\":\"RATIO\",\"description\":\"The RATIO statement requests ratio analysis for means or proportions of analysis variables. A ratio statement names the variables whose means are used as numerators or denominators in a ratio. Variables that appear before the slash (/) are called numerator variables and are used as numerators. Variables that appear after the slash (/) are called denominator variables and are used as denominators. These variables can be any number of analysis variables, either continuous or categorical, except those named in the BY, CLUSTER, REPWEIGHTS, STRATA, and WEIGHT statements. You can optionally specify a label for each RATIO statement to identify the ratios in the output. Labels must be enclosed in single quotes.\",\"help\":\"RATIO &lt;’label’&gt; variables / variables \"},{\"name\":\"REPWEIGHTS\",\"aliases\":[\"REPWEIGHT\",\"REPWGTS\",\"REPWGT\",\"REPWT\",\"REPWTS\"],\"description\":\"The REPWEIGHTS statement names variables that provide replicate weights for BRR or jackknife variance estimation, which you request with the VARMETHOD=BRR or VARMETHOD=JACKKNIFE option in the PROC SURVEYREG statement. If you do not provide replicate weights for these methods by using a REPWEIGHTS statement, then the procedure constructs replicate weights for the analysis. Each REPWEIGHTS variable should contain the weights for a single replicate, and the number of replicates equals the number of REPWEIGHTS variables. The REPWEIGHTS variables must be numeric, and the variable values must be nonnegative numbers.\",\"help\":\"REPWEIGHTS &lt;DF=df&gt;&lt;JKCOEFS=jackknife-coefficient-specification&gt;\",\"arguments\":[{\"name\":\"DF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the degrees of freedom for the analysis. The value of df must be a positive number. PROC SURVEYPHREG also use the DF= value in computing the denominator degrees of freedom for the F statistics in Wald type tests and confidence intervals.\",\"help\":\"DF=*df*\",\"type\":\"value\"},{\"name\":\"JKCOEFS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies jackknife coefficients for VARMETHOD=JACKKNIFE. The default value for the jackknife coefficient is (R-1)/R, where R is the total number of replicates. You can specify an alternative value with one of the following three forms: JKCOEFS=value specifies a single jackknife coefficient for all replicates. The coefficient value must be a nonnegative number. JKCOEFS=(values) specifies jackknife coefficients for VARMETHOD=JACKKNIFE, where each coefficient corresponds to an individual replicate identified by a REPWEIGHTS variable. You can separate values with blanks or commas. The coefficient values must be nonnegative numbers. The number of values must equal the number of replicate weight variables named in the REPWEIGHTS statement. List these values in the same order in which you list the corresponding replicate weight variables in the REPWEIGHTS statement.\",\"help\":\"JKCOEFS=*jackknife-coefficient-specification*\",\"type\":\"value\"}]},{\"name\":\"STRATA\",\"aliases\":[\"STRATUM\"],\"description\":\"The STRATA statement specifies variables that form the strata in a stratified sample design. The combinations of categories of STRATA variables define the strata in the sample. If your sample design has stratification at multiple stages, you should identify only the first-stage strata in the STRATA statement. If you provide replicate weights for BRR or jackknife variance estimation with a REPWEIGHTS statement, you do not need to specify a STRATA statement. The STRATA variables are one or more variables in the DATA= input data set. These variables can be either character or numeric, but the procedure treats them as categorical variables. The formatted values of the STRATA variables determine the STRATA variable levels. Thus, you can use formats to group values into levels.\",\"help\":\"STRATA &lt;LIST&gt;\",\"arguments\":[{\"name\":\"LIST\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays a \\\"Stratum Information\\\" table, which includes values of the STRATA variables and the number of observations, number of clusters, population total, and sampling rate for each stratum.\",\"type\":\"standalone\"}]},{\"name\":\"VAR\",\"aliases\":[\"VARIABLE\"],\"description\":\"The VAR statement names the variables to be analyzed. If you want a categorical analysis for a numeric variable, you must also name that variable in the CLASS statement. For categorical variables, PROC SURVEYMEANS estimates the proportion in each category or level, instead of the overall mean. Character variables are always analyzed as categorical variables. When you specify a variable in a RATIO statement, but not in a VAR statement, the procedure includes this variable as an analysis variable. If you do not specify a VAR statement, then PROC SURVEYMEANS analyzes all variables in the DATA= input data set, except those named in the BY, CLUSTER, DOMAIN, REPWEIGHTS, STRATA, and WEIGHT statements.\",\"help\":\"VAR variables \"},{\"name\":\"WEIGHT\",\"aliases\":[\"WGT\"],\"description\":\"The WEIGHT statement names the variable that contains the sampling weights. This variable must be numeric, and the sampling weights must be positive numbers. If an observation has a weight that is nonpositive or missing, then the procedure omits that observation from the analysis. If you do not specify a WEIGHT statement but provide replicate weights with a REPWEIGHTS statement, PROC SURVEYPMEANS uses the average of each observation’s replicate weights as the observation’s weight. If you do not specify a WEIGHT statement or a REPWEIGHTS statement, PROC SURVEYMEANS assigns all observations a weight of one.\",\"help\":\"WEIGHT variable\"}],\"supportSiteInformation\":{\"docsetId\":\"statug\",\"docsetVersion\":\"latest\",\"docsetTargetFile\":\"statug_surveymeans_toc.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/SURVEYPHREG.json",
    "content": "{\"name\":\"SURVEYPHREG\",\"statements\":[{\"name\":\"PROC SURVEYPHREG\",\"description\":\"The SURVEYPHREG procedure performs regression analysis based on the Cox proportional hazards model for sample survey data. Cox’s semiparametric model is widely used in the analysis of survival data to estimate hazard rates when adequate explanatory variables are available. The procedure provides design-based variance estimates, confidence intervals, and hypothesis tests concerning the parameters and model effects. † For statistical inference, PROC SURVEYPHREG incorporates complex survey sample designs, including designs with stratification, clustering, and unequal weighting. † The procedure also allows time-dependent explanatory variables. An explanatory variable is time-dependent if its value for any given individual can change over time. Time-dependent variables have many useful applications in survival analysis. You can include time-dependent variables such as blood pressure or blood chemistry measures that vary with time during the course of a study. You can also use time-dependent variables to test the validity of the proportional hazards model. † Several optimization techniques are available in SURVEYPHREG to maximize the log likelihood. Hazard ratio estimates can also be obtained along with parameter estimates. Sampling errors of the regression parameters and hazard ratios are computed by using either the Taylor series (linearization) method or one of the replication (resampling) methods that are based on complex sample designs (Binder; 1983; Wolter; 2007; Särndal, Swensson, and Wretman; 1992; Binder; 1992; Lohr; 2009; Fuller; 2009). These variance estimators essentially assume the finite population as fixed and estimate the variability due to the random sample selection mechanism.\",\"help\":\"PROC SURVEYPHREG <DATA=SAS-data-set><MISSING><NOMCAR><NOPRINT><ORDER=DATA | FORMATTED | FREQ... ><RATE=value | SAS-data-set><TOTAL=value | SAS-data-set><VARMETHOD=BRR | JACKKNIFE | TAYLOR>;     \\n\\tBY <DESCENDING><NOTSORTED> ;\\n\\n\\tCLASS <CPREFIX=n><DESCENDING><LPREFIX=n> ...;\\n\\n\\tCLUSTER variables ;\\n\\n\\tDOMAIN variables <variable*variable variable*variable*variable ... > ;\\n\\n\\tESTIMATE <ADJDFE=<SOURCE | ROW>><ADJUST=<BON | SCHEFFE | SIDAK>... ><ALPHA=number> ...;\\n\\n\\tFREQ variable;\\n\\n\\tLSMEANS <ADJDFE=<SOURCE | ROW>><ADJUST=<BON | DUNNETT | NELSON>... ><ALPHA=number> ...;\\n\\n\\tLSMESTIMATE <ADJDFE=<SOURCE | ROW>><ADJUST=<BON | SCHEFFE | SIDAK>... ><ALPHA=number> ...;\\n\\n\\tMODEL <ALPHA=α><CLPARM<=keyword>><COVB> ...;\\n\\n\\tNLOPTIONS <ABSCONV= | ABSTOL=r><ABSFCONV=r <n> | ABSFTOL=r<n>><ABSGCONV= | ABSGTOL=r <n>> ...;\\n\\n\\tOUTPUT ATRISK= OUT=SAS-data-set RESDEV= ...;\\n\\n\\tREPWEIGHTS <DF=df><JKCOEFS=jackknife-coefficient-specification> ;\\n\\n\\tSLICE <ADJDFE=<SOURCE | ROW>><ADJUST=<BON | DUNNETT | NELSON>... ><ALPHA=number> ...;\\n\\n\\tSTORE <LABEL='label'> ;\\n\\n\\tSTRATA <LIST> ;\\n\\n\\tTEST <CHISQ><DDF=value-list><E> ...;\\n\\n\\tWEIGHT variable;\\n\",\"arguments\":[{\"name\":\"DATA=\",\"optional\":true,\"description\":\"Names the SAS data set that contains the data to be analyzed. If you omit the DATA= option, the procedure uses the most recently created SAS data set.\",\"help\":\"DATA=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"MISSING\",\"optional\":true,\"description\":\"Treats missing values as a valid (nonmissing) category for all categorical variables, which include CLASS, STRATA, CLUSTER, and DOMAIN variables. By default, if you do not specify the MISSING option, an observation is excluded from the analysis if it has a missing value for any of these categorical variables.\",\"type\":\"standalone\"},{\"name\":\"NOMCAR\",\"optional\":true,\"description\":\"Includes observations with missing values of the analysis variables that are specified in the MODEL statement as not missing completely at random (NOMCAR) for Taylor series variance estimation. When you specify the NOMCAR option, PROC SURVEYPHREG computes variance estimates by analyzing the nonmissing values as a domain (subpopulation), where the entire population includes both nonmissing and missing domains.]\",\"type\":\"standalone\"},{\"name\":\"NOPRINT\",\"optional\":true,\"description\":\"Suppresses all displayed output. Note that this option temporarily disables the Output Delivery System (ODS).\",\"type\":\"standalone\"},{\"name\":\"ORDER=\",\"optional\":true,\"description\":\"Specifies the order in which to sort the levels of the classification variables (which are specified in the CLASS statement). This option applies to the levels for all classification variables, except when you use the (default) ORDER=FORMATTED option with numeric classification variables that have no explicit format. With this option, the levels of such variables are ordered by their internal value.\",\"help\":\"ORDER=DATA | FORMATTED | FREQ | INTERNAL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DATA\",\"description\":\"Levels sorted by the order of appearance in the input data set.\",\"type\":\"standalone\"},{\"name\":\"FORMATTED\",\"description\":\"Levels sorted by the external formatted value, except for numeric variables with no explicit format, which are sorted by their unformatted (internal) value.\",\"type\":\"standalone\"},{\"name\":\"FREQ\",\"description\":\"Levels sorted by the descending frequency count; levels with the most observations come first in the order.\",\"type\":\"standalone\"},{\"name\":\"INTERNAL\",\"description\":\"Levels sorted by the unformatted value.\",\"type\":\"standalone\"}]},{\"name\":\"RATE=\",\"optional\":true,\"aliases\":[\"R=\"],\"description\":\"Specifies the sampling rate as a nonnegative value, or identifies an input data set that gives the stratum sampling rates in a variable named _RATE_. PROC SURVEYPHREG uses this information to compute a finite population correction for Taylor series variance estimation. The procedure does not use the RATE= option for BRR or jackknife variance estimation, which you request with the VARMETHOD=BRR or VARMETHOD=JACKKNIFE option.\",\"type\":\"value\"},{\"name\":\"TOTAL=\",\"optional\":true,\"aliases\":[\"N=\"],\"description\":\"Specifies the total number of primary sampling units (PSUs) in the study population as a positive value, or identifies an input data set that gives the stratum population totals in a variable named _TOTAL_. PROC SURVEYPHREG uses this information to compute a finite population correction for Taylor series variance estimation. The procedure does not use the TOTAL= option for BRR or jackknife variance estimation, which you request with the VARMETHOD=BRR or VARMETHOD=JACKKNIFE option.\",\"type\":\"value\"},{\"name\":\"VARMETHOD=\",\"optional\":true,\"description\":\"Specifies the variance estimation method.\",\"help\":\"VARMETHOD=BRR | JACKKNIFE | TAYLOR\",\"type\":\"choice\",\"arguments\":[{\"name\":\"BRR\",\"description\":\"Requests variance estimation by balanced repeated replication (BRR). You can specify the following method-options in parentheses after the VARMETHOD=BRR option: FAY <=value> requests Fay’s method, which is a modification of the BRR method. HADAMARD=SAS-data-set H=SAS-data-set names a SAS data set that contains the Hadamard matrix for BRR replicate construction. OUTWEIGHTS=SAS-data-set names an output SAS data set to store the replicate weights that PROC SURVEYPHREG creates for BRR variance estimation. The OUTWEIGHTS= method-option is not available when you provide replicate weights with a REPWEIGHTS statement. PRINTH displays the Hadamard matrix used to construct replicates for BRR. When you provide the Hadamard matrix in the HADAMARD= method-option, PROC SURVEYPHREG displays only the rows and columns that are actually used to construct replicates. REPS=number specifies the number of replicates for BRR variance estimation. The value of number must be an integer greater than 1.\",\"type\":\"standalone\"},{\"name\":\"JACKKNIFE\",\"description\":\"Requests variance estimation by the delete-1 jackknife method. You can specify the following method-options in parentheses following VARMETHOD=JACKKNIFE: OUTWEIGHTS=SAS-data-set names an output SAS data set that contains replicate weights. The OUTWEIGHTS= method-option is not available when you provide replicate weights with the REPWEIGHTS statement. OUTJKCOEFS=SAS-data-set names an output SAS data set that contains jackknife coefficients.\",\"type\":\"standalone\"},{\"name\":\"TAYLOR\",\"description\":\"Requests Taylor series variance estimation. This is the default method if you do not specify the VARMETHOD= option or a REPWEIGHTS statement.\",\"type\":\"standalone\"}]}]},{\"name\":\"BY\",\"description\":\"You can specify a BY statement with PROC SURVEYPHREG to obtain separate analyses on observations in groups that are defined by the BY variables. When a BY statement appears, the procedure expects the input data set to be sorted in order of the BY variables. If you specify more than one BY statement, only the last one specified is used.\",\"help\":\"BY &lt;DESCENDING&gt;&lt;NOTSORTED&gt;\",\"arguments\":[{\"name\":\"DESCENDING\",\"optional\":true,\"description\":\"Specifies that the observations are sorted in descending order by the variable that immediately follows the word DESCENDING in the BY statement.\",\"type\":\"standalone\"},{\"name\":\"NOTSORTED\",\"optional\":true,\"description\":\"Specifies that observations are not necessarily sorted in alphabetic or numeric order.\",\"type\":\"standalone\"}]},{\"name\":\"CLASS\",\"description\":\"The CLASS statement names the classification variables to be used in the analysis. The CLASS statement must precede the MODEL statement.\",\"help\":\"CLASS &lt;CPREFIX=n&gt;&lt;DESCENDING&gt;&lt;LPREFIX=n&gt; ...\",\"arguments\":[{\"name\":\"CPREFIX=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies that, at most, the first n characters of a CLASS variable label be used in creating labels for the corresponding design variables.\",\"help\":\"CPREFIX=*n*\",\"type\":\"value\"},{\"name\":\"DESCENDING\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"DESC\"],\"description\":\"Reverses the sorting order of the classification variable. If both the DESCENDING and ORDER= options are specified, PROC SURVEYPHREG orders the categories according to the ORDER= option and then reverses that order.\",\"type\":\"standalone\"},{\"name\":\"LPREFIX=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies that, at most, the first n characters of a CLASS variable label be used in creating labels for the corresponding design variables.\",\"help\":\"LPREFIX=*n*\",\"type\":\"value\"},{\"name\":\"MISSING\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Treats missing values (\\\".\\\", \\\".A\\\", ..., \\\".Z\\\" for numeric variables and blanks for character variables) as valid values for the CLASS variable.\",\"type\":\"standalone\"},{\"name\":\"ORDER=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the sorting order for the levels of classification variables.\",\"help\":\"ORDER=DATA | FORMATTED | FREQ | INTERNAL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DATA\",\"followsDelimiter\":\"/\",\"description\":\"Orders values according to their order in the input data set.\",\"type\":\"standalone\"},{\"name\":\"FORMATTED\",\"followsDelimiter\":\"/\",\"description\":\"Orders values by their ascending formatted values. This order depends on your operating environment.\",\"type\":\"standalone\"},{\"name\":\"FREQ\",\"followsDelimiter\":\"/\",\"description\":\"Orders values by descending frequency count so that levels with the most observations are listed first.\",\"type\":\"standalone\"},{\"name\":\"INTERNAL\",\"followsDelimiter\":\"/\",\"description\":\"Orders values by their unformatted values, which yields the same order as PROC SORT. This order depends on your operating environment.\",\"type\":\"standalone\"}]},{\"name\":\"PARAM=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the parameterization method for the classification variable or variables.\",\"help\":\"PARAM=EFFECT | GLM | ORDINAL | POLYNOMIAL | REFERENCE | ORTHEFFECT | ORTHORDINAL | ORTHPOLY | ORTHREF\",\"type\":\"choice\",\"arguments\":[{\"name\":\"EFFECT\",\"followsDelimiter\":\"/\",\"description\":\"Specifies effect coding\",\"type\":\"standalone\"},{\"name\":\"GLM\",\"followsDelimiter\":\"/\",\"description\":\"Specifies less-than-full-rank, reference-cell coding; this option can be used only as a global option.\",\"type\":\"standalone\"},{\"name\":\"ORDINAL\",\"followsDelimiter\":\"/\",\"description\":\"Specifies the cumulative parameterization for an ordinal CLASS variable.\",\"type\":\"standalone\"},{\"name\":\"POLYNOMIAL\",\"followsDelimiter\":\"/\",\"description\":\"Specifies polynomial coding.\",\"type\":\"standalone\"},{\"name\":\"REFERENCE\",\"followsDelimiter\":\"/\",\"description\":\"Specifies reference-cell coding.\",\"type\":\"standalone\"},{\"name\":\"ORTHEFFECT\",\"followsDelimiter\":\"/\",\"description\":\"Orthogonalizes PARAM=EFFECT coding.\",\"type\":\"standalone\"},{\"name\":\"ORTHORDINAL\",\"followsDelimiter\":\"/\",\"description\":\"Orthogonalizes PARAM=ORDINAL coding.\",\"type\":\"standalone\"},{\"name\":\"ORTHPOLY\",\"followsDelimiter\":\"/\",\"description\":\"Orthogonalizes PARAM=POLYNOMIAL coding.\",\"type\":\"standalone\"},{\"name\":\"ORTHREF\",\"followsDelimiter\":\"/\",\"description\":\"Orthogonalizes PARAM=REFERENCE coding.\",\"type\":\"standalone\"}]},{\"name\":\"REF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the reference level for PARAM=EFFECT, PARAM=REFERENCE, and their orthogonalizations.\",\"help\":\"REF=&lt;’*level*’&gt; | FIRST | LAST\",\"type\":\"choice\",\"arguments\":[{\"name\":\"’level’\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"For an individual (but not a global) variable, you can specify the level of the variable to use as the reference level. Specify the formatted value of the variable if a format is assigned.\",\"type\":\"value\"},{\"name\":\"FIRST\",\"followsDelimiter\":\"/\",\"description\":\"For a global or individual variable, designates the first ordered level as reference.\",\"type\":\"standalone\"},{\"name\":\"LAST\",\"followsDelimiter\":\"/\",\"description\":\"For a global or individual variable, designates the last ordered level as reference.\",\"type\":\"standalone\"}]},{\"name\":\"TRUNCATE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the length n of CLASS variable values to use in determining CLASS variable levels. The default is to use the full formatted length of the CLASS variable. If you specify TRUNCATE without the length n, the first 16 characters of the formatted values are used.\",\"type\":\"value\"}]},{\"name\":\"CLUSTER\",\"aliases\":[\"CLUSTERS\"],\"description\":\"The CLUSTER statement names variables that identify the first-stage clusters in a clustered sample design. First-stage clusters are also known as primary sampling units (PSUs). The combinations of categories of CLUSTER variables define the clusters in the sample. If there is a STRATA statement, clusters are nested within strata. The CLUSTER variables are one or more variables in the DATA= input data set. These variables can be either character or numeric, but the procedure treats them as categorical variables. The formatted values of the CLUSTER variables determine the CLUSTER variable levels. Thus, you can use formats to group values into levels.\",\"help\":\"CLUSTER variables \"},{\"name\":\"DOMAIN\",\"description\":\"The DOMAIN statement requests analysis for domains (subpopulations), in addition to analysis for the entire study population. The DOMAIN statement names the variables that identify domains, which are called domain variables. It is common practice to compute statistics for domains. The formation of these domains might not be known at the design stage. Therefore, the sample sizes for the domains are often random. Use a DOMAIN statement to incorporate this variability into the variance estimation. Note that a DOMAIN statement is different from a BY statement. In a BY statement, you treat the sample sizes as fixed in each subpopulation, and you perform analysis within each BY group independently.\",\"help\":\"DOMAIN variables &lt;variable*variable variable*variable*variable ... &gt; \"},{\"name\":\"ESTIMATE\",\"description\":\"The ESTIMATE statement provides a mechanism for obtaining custom hypothesis tests. Estimates are formed as linear estimable functions of the form Lβ. You can perform hypothesis tests for the estimable functions, construct confidence limits, and obtain specific nonlinear transformations. The basic element of the ESTIMATE statement is the estimate-specification, which consists of model effects and their coefficients. A estimate-specification takes the general form effect name <effect values ...> The following variables can appear in the ESTIMATE statement: label is an optional label that identifies the particular row of the estimate in the output. effect identifies an effect that appears in the MODEL statement. The keyword INTERCEPT can be used as an effect when an intercept is fitted in the model. You do not need to include all effects that are in the MODEL statement. values are constants that are elements of the L matrix and are associated with the fixed and random effects.\",\"help\":\"ESTIMATE &lt;ADJDFE=&lt;SOURCE | ROW&gt;&gt;&lt;ADJUST=&lt;BON | SCHEFFE | SIDAK&gt;... &gt;&lt;ALPHA=number&gt; ...\",\"arguments\":[{\"name\":\"ADJDFE=\",\"optional\":true,\"description\":\"Specifies how denominator degrees of freedom are determined when p-values and confidence limits are adjusted for multiple comparisons with the ADJUST= option.\",\"help\":\"ADJDFE=SOURCE | ROW\",\"type\":\"choice\",\"arguments\":[{\"name\":\"SOURCE\",\"description\":\"The denominator degrees of freedom for multiplicity-adjusted results are the denominator degrees of freedom for the final effect listed in the ESTIMATE statement from the 'Type III' table.\",\"type\":\"standalone\"},{\"name\":\"ROW\",\"description\":\"Useful if you want multiplicity adjustments to take into account that denominator degrees of freedom are not constant across estimates.\",\"type\":\"standalone\"}]},{\"name\":\"ADJUST=\",\"optional\":true,\"description\":\"Requests a multiple comparison adjustment for the p-values and confidence limits for the estimates.\",\"help\":\"ADJUST=BON | SCHEFFE | SIDAK | SIMULATE&lt;(simoptions)&gt; | T\",\"type\":\"choice\",\"arguments\":[{\"name\":\"BON\",\"description\":\"Bonferroni adjustment\",\"type\":\"standalone\"},{\"name\":\"SCHEFFE\",\"description\":\"Scheffe's adjustment\",\"type\":\"standalone\"},{\"name\":\"SIDAK\",\"description\":\"Sidak adjustment\",\"type\":\"standalone\"},{\"name\":\"SIMULATE\",\"description\":\"Computes adjusted p-values and confidence limits from the simulated distribution of the maximum or maximum absolute value of a multivariate t random vector.\",\"help\":\"SIMULATE&lt;(simoptions)&gt;\",\"type\":\"standalone\"},{\"name\":\"T\",\"description\":\"The default, which really signifies no adjustment for multiple comparisons.\",\"type\":\"standalone\"}]},{\"name\":\"ALPHA=\",\"optional\":true,\"description\":\"Requests that a t-type confidence interval be constructed with confidence level 1-number. The value of number must be between 0 and 1; the default is 0.05.\",\"help\":\"ALPHA=*number*\",\"type\":\"value\"},{\"name\":\"CATEGORY=\",\"optional\":true,\"description\":\"Specifies how to construct estimates and multiplicity corrections for models with multinomial data (ordinal or nominal). This option is also important for constructing sets of estimable functions for F or chi-square tests with the JOINT option.\",\"help\":\"CATEGORY=JOINT | SEPARATE | &lt;*quoted-value-list*&gt;\",\"type\":\"choice\",\"arguments\":[{\"name\":\"JOINT\",\"description\":\"Computes the estimable functions for every nonredundant category and treats them as a set. For example, a three-row ESTIMATE statement in a model with three response categories leads to six estimable functions.\",\"type\":\"standalone\"},{\"name\":\"SEPARATE\",\"description\":\"Computes the estimable functions for every nonredundant category in turn. For example, a three-row ESTIMATE statement in a model with three response categories leads to two sets of three estimable functions.\",\"type\":\"standalone\"},{\"name\":\"quoted-value-list\",\"placeholder\":true,\"description\":\"Computes the estimable functions only for the list of values given. The list must consist of formatted values of the response categories.\",\"type\":\"value\"}]},{\"name\":\"CHISQ\",\"optional\":true,\"description\":\"Requests that chi-square tests be performed in addition to F tests, when you request an F test with the JOINT option. This option has no effect in procedures that produce chi-square statistics by default.\",\"type\":\"standalone\"},{\"name\":\"CL\",\"optional\":true,\"description\":\"Requests that t-type confidence limits be constructed. If the procedure shows the degrees of freedom in the \\\"Estimates\\\" table as infinite, then the confidence limits are z intervals. The confidence level is 0.95 by default, and you can change the confidence level with the ALPHA= option. The confidence intervals are adjusted for multiplicity when you specify the ADJUST= option. However, if a step-down p-value adjustment is requested with the STEPDOWN option, only the p-values are adjusted for multiplicity.\",\"type\":\"standalone\"},{\"name\":\"DF=\",\"optional\":true,\"description\":\"Specifies the degrees of freedom for the t test and confidence limits. This option is not supported by the procedures that perform chi-square-based inference (LOGISTIC, PHREG, and SUVEYLOGISTIC).\",\"help\":\"DF=*number*\",\"type\":\"value\"},{\"name\":\"DIVISOR=\",\"optional\":true,\"description\":\"Specifies a list of values by which to divide the coefficients so that fractional coefficients can be entered as integer numerators. If you do not specify value-list, a default value of 1.0 is assumed. Missing values in the value-list are converted to 1.0. If the number of elements in value-list exceeds the number of rows of the estimate, the extra values are ignored. If the number of elements in value-list is less than the number of rows of the estimate, the last value in value-list is copied forward. If you specify a row-specific divisor as part of the specification of the estimate row, this value multiplies the corresponding divisor that is implied by the value-list. For example, the following statement divides the coefficients in the first row by 8, and the coefficients in the third and fourth row by 3: estimate 'One vs. two' A 2 -2 (divisor=2), 'One vs. three' A 1 0 -1 , 'One vs. four' A 3 0 0 -3 , 'One vs. five' A 1 0 0 0 -1 / divisor=4,.,3;\",\"help\":\"DIVISOR=*value-list*\",\"type\":\"value\"},{\"name\":\"E\",\"optional\":true,\"description\":\"Requests that the L matrix coefficients be displayed.\",\"type\":\"standalone\"},{\"name\":\"EXP\",\"optional\":true,\"description\":\"Requests exponentiation of the estimate. When you model data with the logit, cumulative logit, or generalized logit link functions, and the estimate represents a log odds ratio or log cumulative odds ratio, the EXP option produces an odds ratio. In proportional hazards model, this option produces estimates of hazard ratios. If you specify the CL or ALPHA= option, the (adjusted) confidence bounds are also exponentiated.\",\"type\":\"standalone\"},{\"name\":\"ILINK\",\"optional\":true,\"description\":\"Requests that the estimate and its standard error are also reported on the scale of the mean (the inverse linked scale).\",\"type\":\"standalone\"},{\"name\":\"JOINT=\",\"optional\":true,\"description\":\"Requests that a joint F or chi-square test be produced for the rows of the estimate. The JOINT option in the ESTIMATE statement essentially replaces the CONTRAST statement. When the LOWERTAILED or the UPPERTAILED options are in effect, or if the BOUNDS option described below is in effect, the JOINT option produces the chi-bar-square statistic according to Silvapulle and Sen (2004). This statistic uses a simulation-based approach to compute p-values in situations where the alternative hypotheses of the estimable functions are not simple two-sided hypotheses. You can specify the following joint-test-options in parentheses: ACC=γ specifies the accuracy radius for determining the necessary sample size in the simulation-based approach of Silvapulle and Sen (2004) for tests with order restrictions. The value of γ must be strictly between 0 and 1; the default value is 0.005. EPS=є specifies the accuracy confidence level for determining the necessary sample size in the simulation-based approach of Silvapulle and Sen (2004) for tests with order restrictions. The value of є must be strictly between 0 and 1; the default value is 0.01. LABEL='label' assigns an identifying label to the joint test. If you do not specify a label, the first non-default label for the ESTIMATE rows is used to label the joint test. NOEST | ONLY performs only the F or chi-square test and suppresses other results from the ESTIMATE statement. This option is useful for emulating the CONTRAST statement that is available in other procedures. NSAMP=n specifies the number of samples for the simulation-based method of Silvapulle and Sen (2004). CHISQ -- adds a chi-square test if the procedure produces an F test by default.\",\"help\":\"JOINT=ACC= | EPS= | LABEL= | NOEST | ONLY | NSAMP= | CHISQ | BOUNDS=\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ACC=\",\"type\":\"value\"},{\"name\":\"EPS=\",\"type\":\"value\"},{\"name\":\"LABEL=\",\"type\":\"value\"},{\"name\":\"NOEST\",\"type\":\"standalone\"},{\"name\":\"ONLY\",\"type\":\"standalone\"},{\"name\":\"NSAMP=\",\"type\":\"value\"},{\"name\":\"CHISQ\",\"type\":\"standalone\"},{\"name\":\"BOUNDS=\",\"type\":\"value\"}]},{\"name\":\"LOWER\",\"optional\":true,\"aliases\":[\"LOWERTAILED\"],\"description\":\"Requests that the p-value for the t test be based only on values less than the test statistic. A two-tailed test is the default. A lower-tailed confidence limit is also produced if you specify the CL or ALPHA= option.\",\"type\":\"standalone\"},{\"name\":\"NOFILL\",\"optional\":true,\"description\":\"Suppresses the automatic fill-in of coefficients of higher-order effects.\",\"type\":\"standalone\"},{\"name\":\"PLOTS=\",\"optional\":true,\"description\":\"Produces ODS statistical graphics of the distribution of estimable functions if the procedure performs the analysis in a sampling-based mode.\",\"help\":\"PLOTS=ALL | BOXPLOT | DISTPLOT | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ALL\",\"description\":\"Produces all possible plots with their default settings.\",\"type\":\"standalone\"},{\"name\":\"BOXPLOT\",\"description\":\"Syntax: BOXPLOT<(boxplot-options)> Produces box plots of the distribution of the estimable function across the posterior sample. A separate box is generated for each estimable function, and all boxes appear on a single graph by default. You can affect the appearance of the box plot graph with the following options: ORIENTATION=VERTICAL|HORIZONTAL ORIENT=VERT|HORIZ specifies the orientation of the boxes. The default is vertical orientation of the box plots. NPANELPOS=number specifies how to break the series of box plots across multiple panels. If the NPANELPOS option is not specified, or if number equals zero, then all box plots are displayed in a single graph; this is the default.\",\"type\":\"standalone\"},{\"name\":\"DISTPLOT\",\"aliases\":[\"DIST\"],\"description\":\"Syntax: DISTPLOT<(distplot-options)> Generates panels of histograms with a kernel density overlaid. A separate plot in each panel contains the results for each estimable function. You can specify the following distplot-options in parentheses: BOX|NOBOX controls the display of a horizontal box plot of the estimable function’s distribution across the posterior sample below the graph. The BOX option is enabled by default. HIST|NOHIST controls the display of the histogram of the estimable function’s distribution across the posterior sample. The HIST option is enabled by default. NORMAL|NONORMAL controls the display of a normal density estimate on the graph. The NONORMAL option is enabled by default. KERNEL|NOKERNEL controls the display of a kernel density estimate on the graph. The KERNEL option is enabled by default. NROWS=number specifies the highest number of rows in a panel. The default is 3. NCOLS=number specifies the highest number of columns in a panel. The default is 3. UNPACK unpacks the panel into separate graphics.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"Does not produce any plots.\",\"type\":\"standalone\"}]},{\"name\":\"SEED=\",\"optional\":true,\"description\":\"Specifies the seed for the sampling-based components of the computations for the ESTIMATE statement (for example, chi-bar-square statistics and simulated p-values). number specifies an integer that is used to start the pseudo-random number generator for the simulation. If you do not specify a seed, or if you specify a value less than or equal to zero, the seed is generated from reading the time of day from the computer clock. There could be multiple ESTIMATE statements with SEED= specifications and there could be other statements that can supply a random number seed. Since the procedure has only one random number stream, the initial seed is shown in the SAS log.\",\"help\":\"SEED=*number*\",\"type\":\"value\"},{\"name\":\"SINGULAR=\",\"optional\":true,\"description\":\"Tunes the estimability checking. The value for number must be between 0 and 1; the default is 1E-4.\",\"help\":\"SINGULAR=*number*\",\"type\":\"value\"},{\"name\":\"STEPDOWN\",\"optional\":true,\"description\":\"Requests that multiplicity adjustments for the p-values of estimates be further adjusted in a step-down fashion. Step-down methods increase the power of multiple testing procedures by taking advantage of the fact that a p-value is never declared significant unless all smaller p-values are also declared significant. You can specify the following step-down-options in parentheses after the STEPDOWN option: MAXTIME=n specifies the time (in seconds) to be spent computing the maximal logically consistent sequential subsets of equality hypotheses for TYPE=LOGICAL. The default is MAXTIME=60. ORDER=PVALUE | ORDER=ROWS specifies the order in which the step-down tests to be performed. ORDER=PVALUE is the default, with estimates being declared significant only if all estimates with smaller (unadjusted) p-values are significant. If you specify ORDER=ROWS, then significances are evaluated in the order in which they are specified in the syntax. REPORT specifies that a report on the step-down adjustment be displayed, including a listing of the sequential subsets (Westfall 1997) and, for ADJUST=SIMULATE, the step-down simulation results.\",\"type\":\"standalone\"},{\"name\":\"TESTVALUE=\",\"optional\":true,\"aliases\":[\"TESTMEAN=\"],\"description\":\"Specifies the value under the null hypothesis for testing the estimable functions in the ESTIMATE statement. The rules for specifying the value-list are very similar to those for specifying the divisor list in the DIVISOR= option. If no TESTVALUE= is specified, all tests are performed as H: Lβ=0. Missing values in the value-list also are translated to zeros. If you specify fewer values than rows in the ESTIMATE statement, the last value in value-list is carried forward. The TESTVALUE= option affects only p-values from individual, joint, and multiplicity-adjusted tests. It does not affect confidence intervals.\",\"help\":\"TESTVALUE=*value-list*\",\"type\":\"value\"},{\"name\":\"UPPER\",\"optional\":true,\"aliases\":[\"UPPERTAILED\"],\"description\":\"Requests that the p-value for the t test be based only on values greater than the test statistic. A two-tailed test is the default. An upper-tailed confidence limit is also produced if you specify the CL or ALPHA= option.\",\"type\":\"standalone\"}]},{\"name\":\"FREQ\",\"description\":\"The FREQ statement names a numeric variable that provides a frequency for each observation in the input data set. PROC SURVEYPHREG treats each observation as if it appears n times, where n is the value of the FREQ variable for the observation. If not an integer, the frequency value is truncated to an integer. If the frequency value is missing, the observation is not used in the analysis. If you specify more than one FREQ statement, the procedure uses only the first FREQ statement and ignores the rest.\",\"help\":\"FREQ variable\"},{\"name\":\"LSMEANS\",\"description\":\"The LSMEANS statement computes and compares least squares means (LS-means) of fixed effects. LS-means are predicted population margins—that is, they estimate the marginal means over a balanced population. In a sense, LS-means are to unbalanced designs as class and subclass arithmetic means are to balanced designs.\",\"help\":\"LSMEANS &lt;ADJDFE=&lt;SOURCE | ROW&gt;&gt;&lt;ADJUST=&lt;BON | DUNNETT | NELSON&gt;... &gt;&lt;ALPHA=number&gt; ...\",\"arguments\":[{\"name\":\"ADJDFE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies how denominator degrees of freedom are determined when p-values and confidence limits are adjusted for multiple comparisons with the ADJUST= option.\",\"help\":\"ADJDFE=SOURCE | ROW\",\"type\":\"choice\",\"arguments\":[{\"name\":\"SOURCE\",\"followsDelimiter\":\"/\",\"description\":\"The denominator degrees of freedom for multiplicity-adjusted results are the denominator degrees of freedom for the LS-mean effect in the \\\"Type III Tests of Fixed Effects\\\" table.\",\"type\":\"standalone\"},{\"name\":\"ROW\",\"followsDelimiter\":\"/\",\"description\":\"Useful if you want multiplicity adjustments to take into account that denominator degrees of freedom are not constant across LS-mean differences.\",\"type\":\"standalone\"}]},{\"name\":\"ADJUST=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests a multiple comparison adjustment for the p-values and confidence limits for the differences of LS-means.\",\"help\":\"ADJUST=BON | DUNNETT | NELSON | SCHEFFE | SIDAK | SIMULATE | SMM | TUKEY\",\"type\":\"choice\",\"arguments\":[{\"name\":\"BON\",\"followsDelimiter\":\"/\",\"description\":\"Bonferroni adjustment\",\"type\":\"standalone\"},{\"name\":\"DUNNETT\",\"followsDelimiter\":\"/\",\"description\":\"Dunnett adjustment (in which the procedure analyzes all differences with a control level)\",\"type\":\"standalone\"},{\"name\":\"NELSON\",\"followsDelimiter\":\"/\",\"description\":\"Nelson adjustment (in which ANOM differences are taken)\",\"type\":\"standalone\"},{\"name\":\"SCHEFFE\",\"followsDelimiter\":\"/\",\"description\":\"Scheffe's adjustment\",\"type\":\"standalone\"},{\"name\":\"SIDAK\",\"followsDelimiter\":\"/\",\"description\":\"Sidak adjustment\",\"type\":\"standalone\"},{\"name\":\"SIMULATE\",\"followsDelimiter\":\"/\",\"description\":\"Computes adjusted p-values and confidence limits from the simulated distribution of the maximum or maximum absolute value of a multivariate t random vector. Syntax: SIMULATE<(simoptions)> You can specify the following simoptions in parentheses after the ADJUST=SIMULATE option. ACC=value specifies the target accuracy radius γ of a 100(1-ε)% confidence interval for the true probability content of the estimated (1-α)th quantile. The default value is ACC=0.005. EPS=value specifies the value ε for a 100(1-ε)% confidence interval for the true probability content of the estimated (1-α)th quantile. The default value is ACC=0.005. NSAMP=n specifies the sample size for the simulation. SEED=number specifies an integer that is used to start the pseudo-random number generator for the simulation. THREADS specifies that the computational work for the simulation be divided into parallel threads, where the number of threads is the value of the SAS system option CPUCOUNT=. NOTHREADS specifies that the computational work for the simulation be performed in sequence rather than in parallel. NOTHREADS is the default. This option overrides the SAS system option THREADS|NOTHREADS.\",\"type\":\"standalone\"},{\"name\":\"SMM\",\"followsDelimiter\":\"/\",\"aliases\":[\"GT2\"],\"description\":\"SMM adjustment\",\"type\":\"standalone\"},{\"name\":\"TUKEY\",\"followsDelimiter\":\"/\",\"description\":\"If your data are unbalanced, PROC GLIMMIX uses the approximation described in Kramer (1956) and identifies the adjustment as \\\"Tukey-Kramer\\\" in the results.\",\"type\":\"standalone\"}]},{\"name\":\"ALPHA=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that a t-type confidence interval be constructed for each of the LS-means with confidence level (1-number)x100%. The value of number must be between 0 and 1; the default is 0.05.\",\"help\":\"ALPHA=*number*\",\"type\":\"value\"},{\"name\":\"AT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Modifies the values of the covariates that are used in computing LS-means. By default, all covariate effects are set equal to their mean values for computation of standard LS-means. The AT option enables you to assign arbitrary values to the covariates. Additional columns in the output table indicate the values of the covariates.\",\"help\":\"AT=MEANS\",\"type\":\"choice\",\"arguments\":[{\"name\":\"MEANS\",\"type\":\"standalone\"}]},{\"name\":\"BYLEVEL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that separate margins be computed for each level of the LSMEANS effect.\",\"type\":\"standalone\"},{\"name\":\"CL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that t-type confidence limits be constructed for each of the LS-means. The confidence level is 0.95 by default; this can be changed with the ALPHA= option.\",\"type\":\"standalone\"},{\"name\":\"CORR\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays the estimated correlation matrix of the least squares means as part of the \\\"Least Squares Means\\\" table.\",\"type\":\"standalone\"},{\"name\":\"COV\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays the estimated covariance matrix of the least squares means as part of the \\\"Least Squares Means\\\" table.\",\"type\":\"standalone\"},{\"name\":\"DF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the degrees of freedom for the t test and confidence limits. The default is the denominator degrees of freedom taken from the \\\"Type III Tests\\\" table that corresponds to the LS-means effect.\",\"help\":\"DF=*number*\",\"type\":\"value\"},{\"name\":\"DIFF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"PDIFF=\"],\"description\":\"Requests that differences of the LS-means be displayed.\",\"help\":\"DIFF=ALL | ANOM | CONTROL | CONTROLL | CONTROLU\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ALL\",\"followsDelimiter\":\"/\",\"description\":\"Requests all pairwise differences; this is the default.\",\"type\":\"standalone\"},{\"name\":\"ANOM\",\"followsDelimiter\":\"/\",\"description\":\"Requests differences between each LS-mean and the average LS-mean, as in the analysis of means (Ott 1967).\",\"type\":\"standalone\"},{\"name\":\"CONTROL\",\"followsDelimiter\":\"/\",\"description\":\"Requests the differences with a control, which, by default, is the first level of each of the specified LSMEANS effects.\",\"type\":\"standalone\"},{\"name\":\"CONTROLL\",\"followsDelimiter\":\"/\",\"description\":\"Tests whether the noncontrol levels are significantly smaller than the control; the upper confidence limits for the control minus the noncontrol levels are considered to be infinity and are displayed as missing.\",\"type\":\"standalone\"},{\"name\":\"CONTROLU\",\"followsDelimiter\":\"/\",\"description\":\"Tests whether the noncontrol levels are significantly larger than the control; the upper confidence limits for the noncontrol levels minus the control are considered to be infinity and are displayed as missing.\",\"type\":\"standalone\"}]},{\"name\":\"E\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that the L matrix coefficients for the LSMEANS effects be displayed.\",\"type\":\"standalone\"},{\"name\":\"EXP\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests exponentiation of the LS-means or LS-mean differences. When you model data with the logit, cumulative logit, or generalized logit link functions, and the estimate represents a log odds ratio or log cumulative odds ratio, the EXP option produces an odds ratio. In proportional hazards model, the exponentiation of the LS-mean differences produces estimates of hazard ratios. If you specify the CL or ALPHA= option, the (adjusted) confidence bounds are also exponentiated.\",\"type\":\"standalone\"},{\"name\":\"ILINK\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that estimates and their standard errors in the \\\"Least Squares Means\\\" table also be reported on the scale of the mean (the inverse linked scale).\",\"type\":\"standalone\"},{\"name\":\"LINES\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Presents results of comparisons between all pairs of least squares means by listing the means in descending order and indicating nonsignificant subsets by line segments beside the corresponding LS-means.\",\"type\":\"standalone\"},{\"name\":\"MEANS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies to produce the table of least squares means. This is the default.\",\"type\":\"standalone\"},{\"name\":\"NOMEANS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies not to produce the table of least squares means.\",\"type\":\"standalone\"},{\"name\":\"OBSMARGINS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"OM=\"],\"description\":\"Specifies a potentially different weighting scheme for the computation of LS-means coefficients. The standard LS-means have equal coefficients across classification effects; however, the OM option changes these coefficients to be proportional to those found in the OM-data-set. This adjustment is reasonable when you want your inferences to apply to a population that is not necessarily balanced but has the margins that are observed in OM-data-set.\",\"type\":\"value\"},{\"name\":\"ODDSRATIO\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"OR\"],\"description\":\"Requests that LS-mean differences (DIFF, ADJUST= options) are also reported in terms of odds ratios. The ODDSRATIO option is ignored unless you use either the logit, cumulative logit, or generalized logit link function. If you specify the CL or ALPHA= option, confidence intervals for the odds ratios are also computed. These intervals are adjusted for multiplicity when you specify the ADJUST= option.\",\"type\":\"standalone\"},{\"name\":\"PDIFF\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Is the same as the DIFF option.\",\"type\":\"standalone\"},{\"name\":\"PLOT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"PLOTS=\"],\"description\":\"Requests that least squares means related graphics are produced via ODS Graphics, provided that the ODS GRAPHICS statement has been specified and the plot request does not conflict with other options in the LSMEANS statement.\",\"help\":\"PLOT=ALL | ANOMPLOT | BOXPLOT | CONTROLPLOT | DIFFPLOT | DISTPLOT | MEANPLOT | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ALL\",\"followsDelimiter\":\"/\",\"description\":\"Requests that the default plots corresponding to this LSMEANS statement be produced.\",\"type\":\"standalone\"},{\"name\":\"ANOMPLOT\",\"followsDelimiter\":\"/\",\"aliases\":[\"ANOM\"],\"description\":\"Requests an analysis of means display in which least squares means are compared to an average least squares mean.\",\"type\":\"standalone\"},{\"name\":\"BOXPLOT\",\"followsDelimiter\":\"/\",\"description\":\"Syntax: BOXPLOT<boxplot-options>> Produces box plots of the distribution of the least squares mean or least squares mean differences across a posterior sample. For example, this plot is available in procedures that support a Bayesian analysis through the BAYES statement. A separate box is generated for each estimable function, and all boxes appear on a single graph by default. You can affect the appearance of the box plot graph with the following options: ORIENTATION=VERTICAL|HORIZONTAL ORIENT=VERT|HORIZ specifies the orientation of the boxes. The default is vertical orientation of the box plots. NPANELPOS=number specifies how to break the series of box plots across multiple panels. If the NPANELPOS option is not specified, or if number equals zero, then all box plots are displayed in a single graph; this is the default.\",\"type\":\"standalone\"},{\"name\":\"CONTROLPLOT\",\"followsDelimiter\":\"/\",\"aliases\":[\"CONTROL\"],\"description\":\"Requests a display in which least squares means are visually compared against a reference level.\",\"type\":\"standalone\"},{\"name\":\"DIFFPLOT\",\"followsDelimiter\":\"/\",\"aliases\":[\"DIFFOGRAM\",\"DIFF\"],\"description\":\"Requests a display of all pairwise least squares mean differences and their significance. Syntax: DIFFPLOT<(diffplot-options)> You can specify the following diffplot-options: ABS all line segments are shown on the same side of the reference line. NOABS separates comparisons according to the sign of the difference. CENTER marks the center point for each comparison. NOLINES suppresses the display of the line segments that represent the confidence bounds for the differences of the least squares means. The NOLINES option implies the CENTER option.\",\"type\":\"standalone\"},{\"name\":\"DISTPLOT\",\"followsDelimiter\":\"/\",\"aliases\":[\"DIST\"],\"description\":\"Syntax: DISTPLOT<distplot-options> Generates panels of histograms with a kernel density overlaid if the analysis has access to a set of posterior parameter estimates. You can sepcify the following distplot-options in parentheses: BOX|NOBOX controls the display of a horizontal box plot of the estimable function’s distribution across the posterior sample below the graph. The BOX option is enabled by default. HIST|NOHIST controls the display of the histogram of the estimable function’s distribution across the posterior sample. The HIST option is enabled by default. NORMAL|NONORMAL controls the display of a normal density estimate on the graph. The NONORMAL option is enabled by default. KERNEL|NOKERNEL controls the display of a kernel density estimate on the graph. The KERNEL option is enabled by default. NROWS=number specifies the highest number of rows in a panel. The default is 3. NCOLS=number specifies the highest number of columns in a panel. The default is 3. UNPACK unpacks the panel into separate graphics.\",\"type\":\"standalone\"},{\"name\":\"MEANPLOT\",\"followsDelimiter\":\"/\",\"description\":\"Syntax: MEANPLOT<(meanplot-options)> Requests displays of the least squares means. The following meanplot-options control the display of the least squares means: ASCENDING displays the least squares means in ascending order. This option has no effect if means are sliced or displayed in separate plots. CL displays upper and lower confidence limits for the least squares means. By default, 95% limits are drawn. CLBAND displays confidence limits as bands. This option implies the JOIN option. DESCENDING displays the least squares means in descending order. This option has no effect if means are sliced or displayed in separate plots. ILINK requests that means (and confidence limits) are displayed on the inverse linked scale. JOIN | CONNECT connects the least squares means with lines. This option is implied by the CLBAND option. SLICEBY=fixed-effect specifies an effect by which to group the means in a single plot. PLOTBY=fixed-effect specifies an effect by which to break interaction plots into separate displays.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"followsDelimiter\":\"/\",\"description\":\"Requests that no plots be produced.\",\"type\":\"standalone\"}]},{\"name\":\"SEED=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the seed for the sampling-based components of the computations for the LSMEANS statement (for example, chi-bar-square statistics and simulated p-values). number specifies an integer that is used to start the pseudo-random-number generator for the simulation. If you do not specify a seed, or if you specify a value less than or equal to zero, the seed is generated from reading the time of day from the computer clock.\",\"help\":\"SEED=*number*\",\"type\":\"value\"},{\"name\":\"SINGULAR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Tunes the estimability checking. The value for number must be between 0 and 1; the default is 1E-4.\",\"help\":\"SINGULAR=*number*\",\"type\":\"value\"},{\"name\":\"STEPDOWN=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that multiple comparison adjustments for the p-values of LS-mean differences be further adjusted in a step-down fashion. Step-down methods increase the power of multiple comparisons by taking advantage of the fact that a p-value is never declared significant unless all smaller p-values are also declared significant. You can specify the following step-down options in parentheses: MAXTIME=n specifies the time (in seconds) to spend computing the maximal logically consistent sequential subsets of equality hypotheses for TYPE=LOGICAL. REPORT specifies that a report on the step-down adjustment should be displayed, including a listing of the sequential subsets (Westfall 1997) and, for ADJUST=SIMULATE, the step-down simulation results.\",\"help\":\"STEPDOWN=MAXTIME= | REPORT | TYPE=\",\"type\":\"choice\",\"arguments\":[{\"name\":\"MAXTIME=\",\"type\":\"value\"},{\"name\":\"REPORT\",\"type\":\"standalone\"},{\"name\":\"TYPE=\",\"type\":\"value\"}]}]},{\"name\":\"LSMESTIMATE\",\"description\":\"The LSMESTIMATE statement provides a mechanism for obtaining custom hypothesis tests among least squares means.\",\"help\":\"LSMESTIMATE &lt;ADJDFE=&lt;SOURCE | ROW&gt;&gt;&lt;ADJUST=&lt;BON | SCHEFFE | SIDAK&gt;... &gt;&lt;ALPHA=number&gt; ...\",\"arguments\":[{\"name\":\"ADJDFE=\",\"optional\":true,\"description\":\"Specifies how denominator degrees of freedom are determined when p-values and confidence limits are adjusted for multiple comparisons with the ADJUST= option.\",\"help\":\"ADJDFE=SOURCE | ROW\",\"type\":\"choice\",\"arguments\":[{\"name\":\"SOURCE\",\"description\":\"The denominator degrees of freedom for multiplicity-adjusted results are the denominator degrees of freedom for the LS-mean effect in the \\\"Type III Tests of Fixed Effects\\\" table.\",\"type\":\"standalone\"},{\"name\":\"ROW\",\"description\":\"Useful if you want multiplicity adjustments to take into account that denominator degrees of freedom are not constant across estimates.\",\"type\":\"standalone\"}]},{\"name\":\"ADJUST=\",\"optional\":true,\"description\":\"Requests a multiple comparison adjustment for the p-values and confidence limits for the LS-mean estimates. The adjusted quantities are produced in addition to the unadjusted p-values and confidence limits. Adjusted confidence limits are produced if the CL or ALPHA= option is in effect.\",\"help\":\"ADJUST=BON | SCHEFFE | SIDAK | SIMULATE | T\",\"type\":\"choice\",\"arguments\":[{\"name\":\"BON\",\"description\":\"Bonferroni adjustment\",\"type\":\"standalone\"},{\"name\":\"SCHEFFE\",\"description\":\"Scheffe's adjustment\",\"type\":\"standalone\"},{\"name\":\"SIDAK\",\"description\":\"Sidak adjustment\",\"type\":\"standalone\"},{\"name\":\"SIMULATE\",\"description\":\"Computes adjusted p-values and confidence limits from the simulated distribution of the maximum or maximum absolute value of a multivariate t random vector. Syntax: SIMULATE<(simoptions)> You can specify the following simoptions in parentheses after the ADJUST=SIMULATE option. ACC=value specifies the target accuracy radius γ of a 100(1-ε)% confidence interval for the true probability content of the estimated (1-α)th quantile. The default value is ACC=0.005. EPS=value specifies the value ε for a 100(1-ε)% confidence interval for the true probability content of the estimated (1-α)th quantile. The default value is ACC=0.005. NSAMP=n specifies the sample size for the simulation. SEED=number specifies an integer that is used to start the pseudo-random number generator for the simulation. THREADS specifies that the computational work for the simulation be divided into parallel threads, where the number of threads is the value of the SAS system option CPUCOUNT=. NOTHREADS specifies that the computational work for the simulation be performed in sequence rather than in parallel. NOTHREADS is the default. This option overrides the SAS system option THREADS|NOTHREADS.\",\"type\":\"standalone\"},{\"name\":\"T\",\"description\":\"The default, which really signifies no adjustment for multiple comparisons.\",\"type\":\"standalone\"}]},{\"name\":\"ALPHA=\",\"optional\":true,\"description\":\"Requests that a t-type confidence interval be constructed for each of the LS-means with confidence level 1-number. The value of number must be between 0 and 1; the default is 0.05.\",\"help\":\"ALPHA=*number*\",\"type\":\"value\"},{\"name\":\"AT=\",\"optional\":true,\"description\":\"Modifies the values of the covariates used in computing LS-means. By default, all covariate effects are set equal to their mean values for computation of standard LS-means. The AT option enables you to assign arbitrary values to the covariates. Additional columns in the output table indicate the values of the covariates.\",\"help\":\"AT=MEANS\",\"type\":\"choice\",\"arguments\":[{\"name\":\"MEANS\",\"type\":\"standalone\"}]},{\"name\":\"BYLEVEL\",\"optional\":true,\"description\":\"Requests that the procedure compute separate margins for each level of the LSMEANS effect.\",\"type\":\"standalone\"},{\"name\":\"CATEGORY=\",\"optional\":true,\"description\":\"Specifies how to construct estimates and multiplicity corrections for models with multinomial data (ordinal or nominal). This option is also important for constructing sets of estimable functions for F tests with the JOINT option.\",\"help\":\"CATEGORY=JOINT | SEPARATE | &lt;*quoted-value-list*&gt;\",\"type\":\"choice\",\"arguments\":[{\"name\":\"JOINT\",\"description\":\"Computes the estimable functions for every nonredundant category and treats them as a set. For example, a three-row LSESTIMATE statement in a model with three response categories leads to six estimable functions.\",\"type\":\"standalone\"},{\"name\":\"SEPARATE\",\"description\":\"Computes the estimable functions for every nonredundant category in turn. For example, a three-row LSESTIMATE statement in a model with three response categories leads to two sets of three estimable functions.\",\"type\":\"standalone\"},{\"name\":\"quoted-value-list\",\"placeholder\":true,\"description\":\"Computes the estimable functions only for the list of values given. The list must consist of formatted values of the response categories.\",\"type\":\"value\"}]},{\"name\":\"CHISQ\",\"optional\":true,\"description\":\"Requests that chi-square tests be performed in addition to F tests, when you request an F test with the JOINT option. This option has no effect in procedures that produce chi-square statistics by default.\",\"type\":\"standalone\"},{\"name\":\"CL\",\"optional\":true,\"description\":\"Requests that t-type confidence limits be constructed for each of the LS-means. The confidence level is 0.95 by default; this can be changed with the ALPHA= option.\",\"type\":\"standalone\"},{\"name\":\"CORR\",\"optional\":true,\"description\":\"Displays the estimated correlation matrix of the linear combination of the least squares means.\",\"type\":\"standalone\"},{\"name\":\"COV\",\"optional\":true,\"description\":\"Displays the estimated covariance matrix of the linear combination of the least squares means.\",\"type\":\"standalone\"},{\"name\":\"DF=\",\"optional\":true,\"description\":\"Specifies the degrees of freedom for the t test and confidence limits.\",\"help\":\"DF=*number*\",\"type\":\"value\"},{\"name\":\"DIVISOR=\",\"optional\":true,\"description\":\"Specifies a list of values by which to divide the coefficients so that fractional coefficients can be entered as integer numerators. If you do not specify value-list, a default value of 1.0 is assumed. Missing values in the value-list are converted to 1.0.\",\"help\":\"DIVISOR=*value-list*\",\"type\":\"value\"},{\"name\":\"E\",\"optional\":true,\"description\":\"Requests that the L coefficients of the estimable function be displayed.\",\"type\":\"standalone\"},{\"name\":\"ELSM\",\"optional\":true,\"description\":\"Requests that the K matrix coefficients be displayed. These are the coefficients that apply to the LS-means. This option is useful to ensure that you assigned the coefficients correctly to the LS-means.\",\"type\":\"standalone\"},{\"name\":\"EXP\",\"optional\":true,\"description\":\"Requests exponentiation of the least squares means estimate. When you model data with the logit link function and the estimate represents a log odds ratio, the EXP option produces an odds ratio. If you specify the CL or ALPHA= option, the (adjusted) confidence limits for the estimate are also exponentiated.\",\"type\":\"standalone\"},{\"name\":\"ILINK\",\"optional\":true,\"description\":\"Requests that the estimate and its standard error are also reported on the scale of the mean (the inverse linked scale).\",\"type\":\"standalone\"},{\"name\":\"JOINT=\",\"optional\":true,\"description\":\"Requests that a joint F or chi-square test be produced for the rows of the estimate. You can specify the following joint-test-options in parentheses: ACC=γ specifies the accuracy radius for determining the necessary sample size in the simulation-based approach of Silvapulle and Sen (2004) for tests with order restrictions. The value of γ must be strictly between 0 and 1; the default value is 0.005. EPS=є specifies the accuracy confidence level for determining the necessary sample size in the simulation-based approach of Silvapulle and Sen (2004) for tests with order restrictions. The value of є must be strictly between 0 and 1; the default value is 0.01. LABEL='label' assigns an identifying label to the joint test. If you do not specify a label, the first non-default label for the ESTIMATE rows is used to label the joint test. NOEST | ONLY performs only the F or chi-square test and suppresses other results from the ESTIMATE statement. This option is useful for emulating the CONTRAST statement that is available in other procedures. NSAMP=n specifies the number of samples for the simulation-based method of Silvapulle and Sen (2004). CHISQ -- adds a chi-square test if the procedure produces an F test by default.\",\"help\":\"JOINT=ACC= | EPS= | LABEL= | NOEST | ONLY | NSAMP= | CHISQ | BOUNDS=\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ACC=\",\"type\":\"value\"},{\"name\":\"EPS=\",\"type\":\"value\"},{\"name\":\"LABEL=\",\"type\":\"value\"},{\"name\":\"NOEST\",\"type\":\"standalone\"},{\"name\":\"ONLY\",\"type\":\"standalone\"},{\"name\":\"NSAMP=\",\"type\":\"value\"},{\"name\":\"CHISQ\",\"type\":\"standalone\"},{\"name\":\"BOUNDS=\",\"type\":\"value\"}]},{\"name\":\"LOWER\",\"optional\":true,\"aliases\":[\"LOWERTAILED\"],\"description\":\"Requests that the p-value for the t test be based only on values less than the test statistic. A two-tailed test is the default. A lower-tailed confidence limit is also produced if you specify the CL or ALPHA= option.\",\"type\":\"standalone\"},{\"name\":\"OBSMARGINS=\",\"optional\":true,\"aliases\":[\"OM=\"],\"description\":\"Specifies a potentially different weighting scheme for the computation of LS-means coefficients. The standard LS-means have equal coefficients across classification effects; however, the OM option changes these coefficients to be proportional to those found in the OM-data-set. This adjustment is reasonable when you want your inferences to apply to a population that is not necessarily balanced but has the margins observed in OM-data-set.\",\"type\":\"value\"},{\"name\":\"PLOTS=\",\"optional\":true,\"description\":\"Produces ODS statistical graphics of the distribution of estimable functions if the procedure performs the analysis in a sampling-based mode.\",\"help\":\"PLOTS=ALL | BOXPLOT | DISTPLOT | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ALL\",\"description\":\"Requests that the default plots corresponding to this LSMEANS statement be produced.\",\"type\":\"standalone\"},{\"name\":\"BOXPLOT\",\"description\":\"Syntax: BOXPLOT<boxplot-options>> Produces box plots of the distribution of the least squares mean or least squares mean differences across a posterior sample. For example, this plot is available in procedures that support a Bayesian analysis through the BAYES statement. A separate box is generated for each estimable function, and all boxes appear on a single graph by default. You can affect the appearance of the box plot graph with the following options: ORIENTATION=VERTICAL|HORIZONTAL ORIENT=VERT|HORIZ specifies the orientation of the boxes. The default is vertical orientation of the box plots. NPANELPOS=number specifies how to break the series of box plots across multiple panels. If the NPANELPOS option is not specified, or if number equals zero, then all box plots are displayed in a single graph; this is the default.\",\"type\":\"standalone\"},{\"name\":\"DISTPLOT\",\"aliases\":[\"DIST\"],\"description\":\"Syntax: DISTPLOT<distplot-options> Generates panels of histograms with a kernel density overlaid if the analysis has access to a set of posterior parameter estimates. You can sepcify the following distplot-options in parentheses: BOX|NOBOX controls the display of a horizontal box plot of the estimable function’s distribution across the posterior sample below the graph. The BOX option is enabled by default. HIST|NOHIST controls the display of the histogram of the estimable function’s distribution across the posterior sample. The HIST option is enabled by default. NORMAL|NONORMAL controls the display of a normal density estimate on the graph. The NONORMAL option is enabled by default. KERNEL|NOKERNEL controls the display of a kernel density estimate on the graph. The KERNEL option is enabled by default. NROWS=number specifies the highest number of rows in a panel. The default is 3. NCOLS=number specifies the highest number of columns in a panel. The default is 3. UNPACK unpacks the panel into separate graphics.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"Requests that no plots be produced.\",\"type\":\"standalone\"}]},{\"name\":\"SINGULAR=\",\"optional\":true,\"description\":\"Tunes the estimability checking as documented for the ESTIMATE statement.\",\"help\":\"SINGULAR=*number*\",\"type\":\"value\"},{\"name\":\"STEPDOWN\",\"optional\":true,\"description\":\"Requests that multiplicity adjustments for the p-values of estimates be further adjusted in a step-down fashion. Step-down methods increase the power of multiple testing procedures by taking advantage of the fact that a p-value is never declared significant unless all smaller p-values are also declared significant. You can specify the following step-down-options in parentheses: MAXTIME=n specifies the time (in seconds) to spend computing the maximal logically consistent sequential subsets of equality hypotheses for TYPE=LOGICAL. The default is MAXTIME=60. ORDER=PVALUE ORDER=ROWS specifies the order in which the step-down tests are performed. ORDER=PVALUE is the default, with LS-mean estimates being declared significant only if all LS-mean estimates with smaller (unadjusted) p-values are significant. If you specify ORDER=ROWS, then significances are evaluated in the order in which they are specified. REPORT specifies that a report on the step-down adjustment be displayed, including a listing of the sequential subsets (Westfall 1997) and, for ADJUST=SIMULATE, the step-down simulation results.\",\"type\":\"standalone\"},{\"name\":\"TESTVALUE=\",\"optional\":true,\"aliases\":[\"TESTMEAN=\"],\"description\":\"Specifies the value under the null hypothesis for testing the estimable functions in the LSMESTIMATE statement. The rules for specifying the value-list are very similar to those for specifying the divisor list in the DIVISOR= option. If no TESTVALUE= is specified, all tests are performed as H: Lβ=0. Missing values in the value-list also are translated to zeros. If you specify fewer values than rows in the ESTIMATE statement, the last value in value-list is carried forward. The TESTVALUE= option affects only p-values from individual, joint, and multiplicity-adjusted tests. It does not affect confidence intervals.\",\"help\":\"TESTVALUE=*value-list*\",\"type\":\"value\"},{\"name\":\"UPPER\",\"optional\":true,\"aliases\":[\"UPPERTAILED\"],\"description\":\"Requests that the p-value for the t test be based only on values greater than the test statistic. A two-tailed test is the default. An upper-tailed confidence limit is also produced if you specify the CL or ALPHA= option.\",\"type\":\"standalone\"}]},{\"name\":\"MODEL\",\"description\":\"The MODEL statement identifies the variable to be used as the failure time variable, the optional censoring variable, and the explanatory effects, including covariates, main effects, and interactions.\",\"help\":\"MODEL &lt;ALPHA=α&gt;&lt;CLPARM&lt;=keyword&gt;&gt;&lt;COVB&gt; ...\",\"arguments\":[{\"name\":\"ALPHA=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Sets the level of the confidence limits for the estimated regression parameters and the hazard ratios. The value of α must be between 0 and 1, and the default is 0.05. A confidence level of α produces 100(1-α)% confidence limits. The default of ALPHA=0.05 produces 95% confidence limits.\",\"type\":\"value\"},{\"name\":\"CLPARM=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Produces confidence limits for regression parameters of Cox proportional hazards models. The confidence coefficient can be specified with the ALPHA= option. Classification main effects that use parameterizations other than REF, EFFECT, or GLM are ignored.\",\"type\":\"value\"},{\"name\":\"COVB\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays the estimated covariance matrix of the parameter estimates.\",\"type\":\"standalone\"},{\"name\":\"DF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the denominator degrees of freedom for hypothesis tests and the degrees of freedom to use for confidence limits. If a value is specified, it must be a nonnegative number. Instead of a value, you can specify one of the following key words: NONE, PARMADJ, ALLREPS.\",\"help\":\"DF=&lt;*value*&gt; | NONE | PARMADJ | ALLREPS\",\"type\":\"choice\",\"arguments\":[{\"name\":\"value\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"Replace <value> with a nonnegative number.\",\"type\":\"value\"},{\"name\":\"NONE\",\"followsDelimiter\":\"/\",\"description\":\"Specifies the denominator degrees of freedom to be infinite. Use this option if you want to compute chi-square tests and normal confidence intervals. This option is applicable to both the Taylor series linearization and the replication methods.\",\"type\":\"standalone\"},{\"name\":\"PARMADJ\",\"followsDelimiter\":\"/\",\"description\":\"Computes the denominator degrees of freedom as the number of clusters (or observations if no CLUSTER statement is specified) minus the number of strata (or one if no STRATA statement is specified) minus the number of nonsingular parameters in the model. This option can be useful if you are fitting a model with many parameters relative to the number of clusters minus the number of strata.\",\"type\":\"standalone\"},{\"name\":\"ALLREPS\",\"followsDelimiter\":\"/\",\"description\":\"Computes the denominator degrees of freedom for replication methods by using the total number of replicate samples. By default, PROC SURVEYPHREG computes the denominator degrees of freedom based on the number of replicate samples used.\",\"type\":\"standalone\"}]},{\"name\":\"HESS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays the last evaluation of the Hessian matrix.\",\"type\":\"standalone\"},{\"name\":\"INVHESS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays the inverse of the Hessian matrix that is evaluated at the estimated regression parameters.\",\"type\":\"standalone\"},{\"name\":\"RISKLIMITS\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"RL\"],\"description\":\"Produces confidence limits for hazard ratios and related quantities. The confidence coefficient can be specified with the ALPHA= option. Great care needs to be taken with any interpretation of the estimates and their confidence limits if interaction effects are involved in the model or if parameterizations other than REF, EFFECT, or GLM are used.\",\"type\":\"standalone\"},{\"name\":\"SERATIO=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Computes the ratio of two standard errors for the regression parameters. The standard error in the numerator uses the complete design information that you specify.\",\"help\":\"SERATIO=ALL | MODEL | IND\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ALL\",\"followsDelimiter\":\"/\",\"description\":\"Requests both MODEL and IND standard error ratios.\",\"type\":\"standalone\"},{\"name\":\"MODEL\",\"followsDelimiter\":\"/\",\"description\":\"Computes the standard errors in the denominator as the square root of the diagonals of the inverse Hessian matrix evaluated at the estimated regression parameters.\",\"type\":\"standalone\"},{\"name\":\"IND\",\"followsDelimiter\":\"/\",\"description\":\"Computes the standard errors in the denominator by ignoring stratification and clustering.\",\"type\":\"standalone\"}]},{\"name\":\"SINGULAR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the singularity criterion for determining linear dependencies in the set of explanatory variables. The default value is 10⁻ⁿ (where n=12).\",\"help\":\"SINGULAR=*value*\",\"type\":\"value\"},{\"name\":\"TIES=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies how to handle ties in the failure time.\",\"help\":\"TIES=BRESLOW | EFRON\",\"type\":\"choice\",\"arguments\":[{\"name\":\"BRESLOW\",\"followsDelimiter\":\"/\",\"description\":\"Uses the approximate partial likelihood of Breslow (1974). This is the default value.\",\"type\":\"standalone\"},{\"name\":\"EFRON\",\"followsDelimiter\":\"/\",\"description\":\"Uses the approximate partial likelihood of Efron (1977).\",\"type\":\"standalone\"}]},{\"name\":\"VADJUST=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies variance adjustment factors.\",\"help\":\"VADJUST=DF | NONE | AVGREPSS\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DF\",\"followsDelimiter\":\"/\",\"description\":\"Requests degrees of freedom adjustment (n-1)/(n-p) in the computation of the matrix G for the Taylor series linearization variance estimation. By default, VADJUST=DF.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"followsDelimiter\":\"/\",\"description\":\"Excludes the degrees of freedom adjustment (n-1)/(n-p) from the computation of the matrix G for the Taylor series linearization variance estimation.\",\"type\":\"standalone\"},{\"name\":\"AVGREPSS\",\"followsDelimiter\":\"/\",\"description\":\"Use the average sum of squares from all the usable replicate samples for the unusable replicates. This option is applicable only for the jackknife replication method. AVGREPSS multiplies the default jackknife variance estimator by the factor R/Ra, where Ra is the number of usable replicates and R is the total number of replicates.\",\"type\":\"standalone\"}]},{\"name\":\"VARRATIO=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Computes the ratio of two variances for the regression parameters. The variance in the numerator uses the complete design information.\",\"help\":\"VARRATIO=ALL | MODEL | IND\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ALL\",\"followsDelimiter\":\"/\",\"description\":\"Requests both MODEL and IND variance ratios.\",\"type\":\"standalone\"},{\"name\":\"MODEL\",\"followsDelimiter\":\"/\",\"description\":\"Computes the variances in the denominator as the square root of the diagonals of the inverse Hessian matrix evaluated at the estimated regression parameters.\",\"type\":\"standalone\"},{\"name\":\"IND\",\"followsDelimiter\":\"/\",\"description\":\"Computes the variances in the denominator by ignoring stratification and clustering.\",\"type\":\"standalone\"}]}]},{\"name\":\"NLOPTIONS\",\"description\":\"The NLOPTIONS statement provides you with syntax to control aspects of the nonlinear optimizations.\",\"help\":\"NLOPTIONS &lt;ABSCONV= | ABSTOL=r&gt;&lt;ABSFCONV=r &lt;n&gt; | ABSFTOL=r&lt;n&gt;&gt;&lt;ABSGCONV= | ABSGTOL=r &lt;n&gt;&gt; ...\",\"arguments\":[{\"name\":\"ABSCONV=\",\"optional\":true,\"aliases\":[\"ABSTOL=\"],\"description\":\"Specifies an absolute function convergence criterion.\",\"type\":\"value\"},{\"name\":\"ABSFCONV=\",\"optional\":true,\"aliases\":[\"ABSFTOL=\"],\"description\":\"Specifies an absolute function convergence criterion.\",\"type\":\"value\"},{\"name\":\"ABSGCONV=\",\"optional\":true,\"aliases\":[\"ABSGTOL=\"],\"description\":\"Specifies an absolute gradient convergence criterion. Termination requires the maximum absolute gradient element to be small.\",\"type\":\"value\"},{\"name\":\"ABSXCONV=\",\"optional\":true,\"aliases\":[\"ABSXTOL=\"],\"description\":\"Specifies the absolute parameter convergence criterion. Termination requires a small Euclidean distance between successive parameter vectors.\",\"type\":\"value\"},{\"name\":\"ASINGULAR=\",\"optional\":true,\"aliases\":[\"ASING=\"],\"description\":\"Specifies an absolute singularity criterion r, r > 0, for the inversion of the information matrix, which is needed to compute the covariance matrix.\",\"type\":\"value\"},{\"name\":\"DAMPSTEP=\",\"optional\":true,\"aliases\":[\"DS=\"],\"description\":\"Specifies that the initial step-size value aⁿ (where n=0) for each line search (used by the QUANEW, CONGRA, or NEWRAP technique) cannot be larger than r times the step-size value used in the former iteration.\",\"type\":\"value\"},{\"name\":\"FCONV2=\",\"optional\":true,\"aliases\":[\"FTOL2=\"],\"description\":\"Specifies a second function convergence criterion.\",\"type\":\"value\"},{\"name\":\"FCONV=\",\"optional\":true,\"aliases\":[\"FTOL=\"],\"description\":\"Specifies the relative function convergence criterion.\",\"type\":\"value\"},{\"name\":\"FSIZE=\",\"optional\":true,\"description\":\"Specifies the FSIZE parameter of the relative function and relative gradient termination criteria. The default value is r=0.\",\"help\":\"FSIZE=*r*\",\"type\":\"value\"},{\"name\":\"GCONV2=\",\"optional\":true,\"description\":\"Specifies another relative gradient convergence criterion.\",\"type\":\"value\"},{\"name\":\"GCONV=\",\"optional\":true,\"aliases\":[\"GTOL=\"],\"description\":\"Specifies the relative gradient convergence criterion.\",\"type\":\"value\"},{\"name\":\"HESCAL=\",\"optional\":true,\"aliases\":[\"HS=\"],\"description\":\"Specifies the scaling version of the Hessian or crossproduct Jacobian matrix used in NRRIDG, TRUREG, LEVMAR, NEWRAP, or DBLDOG optimization.\",\"help\":\"HESCAL=0 | 1 | 2 | 3\",\"type\":\"choice\",\"arguments\":[{\"name\":\"0\",\"description\":\"Specifies that no scaling is done.\",\"type\":\"standalone\"},{\"name\":\"1\",\"description\":\"Specifies the Moré (1978) scaling update\",\"type\":\"standalone\"},{\"name\":\"2\",\"description\":\"Specifies the Dennis, Gay, and Welsch (1981) scaling update\",\"type\":\"standalone\"},{\"name\":\"3\",\"description\":\"Specifies that di is reset in each iteration\",\"type\":\"standalone\"}]},{\"name\":\"INHESSIAN=\",\"optional\":true,\"description\":\"Specifies how the initial estimate of the approximate Hessian is defined for the quasi-Newton techniques QUANEW and DBLDOG.\",\"type\":\"value\"},{\"name\":\"INSTEP=\",\"optional\":true,\"aliases\":[\"SALPHA=\",\"RADIUS=\"],\"description\":\"Reduces the length of the first trial step during the line search of the first iterations.\",\"help\":\"INSTEP=*r*\",\"type\":\"value\"},{\"name\":\"LCDEACT=\",\"optional\":true,\"aliases\":[\"LCD=\"],\"description\":\"Specifies a threshold r for the Lagrange multiplier that decides whether an active inequality constraint remains active or can be deactivated.\",\"type\":\"value\"},{\"name\":\"LCEPSILON=\",\"optional\":true,\"aliases\":[\"LCEPS=\",\"LCE=\"],\"description\":\"Specifies the range r, r ≥ 0, for active and violated boundary and linear constraints.\",\"type\":\"value\"},{\"name\":\"LCSINGULAR=\",\"optional\":true,\"aliases\":[\"LCSING=\",\"LCS=\"],\"description\":\"Specifies a criterion r, r ≥ 0, used in the update of the QR decomposition that decides whether an active constraint is linearly dependent on a set of other active constraints.\",\"type\":\"value\"},{\"name\":\"LINESEARCH=\",\"optional\":true,\"aliases\":[\"LIS=\",\"SMETHOD=\",\"SM=\"],\"description\":\"Specifies the line-search method for the CONGRA, QUANEW, and NEWRAP optimization techniques.\",\"help\":\"LINESEARCH=1 | 2 | 3 | 4 | 5 | 6 | 7 | 8\",\"type\":\"choice\",\"arguments\":[{\"name\":\"1\",\"description\":\"Specifies a line-search method that needs the same number of function and gradient calls for cubic interpolation and cubic extrapolation; this method is similar to one used by the Harwell subroutine library.\",\"type\":\"standalone\"},{\"name\":\"2\",\"description\":\"Specifies a line-search method that needs more function calls than gradient calls for quadratic and cubic interpolation and cubic extrapolation; this method is implemented as shown in Fletcher (1987) and can be modified to an exact line search by using the LSPRECISION= option.\",\"type\":\"standalone\"},{\"name\":\"3\",\"description\":\"Specifies a line-search method that needs the same number of function and gradient calls for cubic interpolation and cubic extrapolation; this method is implemented as shown in Fletcher (1987) and can be modified to an exact line search by using the LSPRECISION= option.\",\"type\":\"standalone\"},{\"name\":\"4\",\"description\":\"Specifies a line-search method that needs the same number of function and gradient calls for stepwise extrapolation and cubic interpolation\",\"type\":\"standalone\"},{\"name\":\"5\",\"description\":\"Specifies a line-search method that is a modified version of LIS=4.\",\"type\":\"standalone\"},{\"name\":\"6\",\"description\":\"Specifies golden section line search (Polak 1971), which uses only function values for linear approximation.\",\"type\":\"standalone\"},{\"name\":\"7\",\"description\":\"Specifies bisection line search (Polak 1971), which uses only function values for linear approximation.\",\"type\":\"standalone\"},{\"name\":\"8\",\"description\":\"Specifies Armijo line-search technique (Polak 1971), which uses only function values for linear approximation.\",\"type\":\"standalone\"}]},{\"name\":\"LSPRECISION=\",\"optional\":true,\"aliases\":[\"LSP=\",\"SPRECISION=\",\"SP=\"],\"description\":\"Specifies the degree of accuracy that should be obtained by the line-search algorithms LIS=2 and LIS=3. The default LSPRECISION= values are:\",\"type\":\"value\"},{\"name\":\"MAXFUNC=\",\"optional\":true,\"aliases\":[\"MAXFU=\"],\"description\":\"Requires the number of function calls to be no larger than i. The default values are:\",\"type\":\"value\"},{\"name\":\"MAXITER=\",\"optional\":true,\"aliases\":[\"MAXIT=\"],\"description\":\"Requires the number of iterations to be no larger than i. The default values are: o For TECH= LEVMAR, NEWRAP, NRRIDG, TRUREG: i=50 o For TECH= DBLDOG, QUANEW: i=200 o For TECH= CONGRA: i=400\",\"type\":\"value\"},{\"name\":\"MAXSTEP=\",\"optional\":true,\"description\":\"Specifies an upper bound for the step length of the line-search algorithms during the first n iterations.\",\"type\":\"value\"},{\"name\":\"MAXTIME=\",\"optional\":true,\"description\":\"Requires the CPU time to be no larger than r. The default value of the MAXTIME= option is the largest double floating-point number on your computer.\",\"help\":\"MAXTIME=*r*\",\"type\":\"value\"},{\"name\":\"MINITER=\",\"optional\":true,\"aliases\":[\"MINIT=\"],\"description\":\"Specifies the minimum number of iterations. The default value is 0.\",\"type\":\"value\"},{\"name\":\"MSINGULAR=\",\"optional\":true,\"aliases\":[\"MSING=\"],\"description\":\"Specifies a relative singularity criterion r, r > 0, for the inversion of the information matrix, which is needed to compute the covariance matrix.\",\"type\":\"value\"},{\"name\":\"NOPRINT\",\"optional\":true,\"description\":\"Suppresses output related to optimization such as the iteration history.\",\"type\":\"standalone\"},{\"name\":\"PALL\",\"optional\":true,\"aliases\":[\"ALL\"],\"description\":\"[Displays information about the starting values and final values of the optimization process.\",\"type\":\"standalone\"},{\"name\":\"PHISTORY\",\"optional\":true,\"aliases\":[\"PHIS\"],\"description\":\"Displays the optimization history. The PHISTORY option is set automatically if the PALL or PRINT option is set.\",\"type\":\"standalone\"},{\"name\":\"RESTART=\",\"optional\":true,\"aliases\":[\"REST=\"],\"description\":\"Specifies that the QUANEW or CONGRA algorithm is restarted with a steepest descent/ascent search direction after at most i iterations, i > 0.\",\"type\":\"value\"},{\"name\":\"SINGULAR=\",\"optional\":true,\"description\":\"Specifies the singularity criterion r, 0 < r < 1, used, for example, for matrix inversion.\",\"type\":\"value\"},{\"name\":\"SOCKET=\",\"optional\":true,\"description\":\"Specifies the fileref that contains the information needed for remote monitoring.\",\"type\":\"value\"},{\"name\":\"TECHNIQUE=\",\"optional\":true,\"aliases\":[\"TECH=\",\"OMETHOD=\",\"OM=\"],\"description\":\"Specifies the optimization technique.\",\"help\":\"TECHNIQUE=CONGRA | DBLDOG | LEVMAR | NEWRAP | NRRIDG | QUANEW | TRUREG | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"CONGRA\",\"description\":\"Chooses one of four different conjugate-gradient optimization algorithms, which can be more precisely defined with the UPDATE= option and modified with the LINESEARCH= option.\",\"type\":\"standalone\"},{\"name\":\"DBLDOG\",\"description\":\"Performs a version of double-dogleg optimization, which uses the gradient to update an approximation of the Cholesky factor of the Hessian.\",\"type\":\"standalone\"},{\"name\":\"LEVMAR\",\"description\":\"Performs a highly stable but, for large problems, memory- and time-consuming Levenberg-Marquardt optimization technique, a slightly improved variant of the Moré (1978) implementation. This is the default optimization technique if there are fewer than 40 parameters to estimate.\",\"type\":\"standalone\"},{\"name\":\"NEWRAP\",\"description\":\"Performs a usually stable but, for large problems, memory- and time-consuming Newton-Raphson optimization technique. The algorithm combines a line-search algorithm with ridging, and it can be modified with the LINESEARCH= option.\",\"type\":\"standalone\"},{\"name\":\"NRRIDG\",\"description\":\"Performs a usually stable but, for large problems, memory- and time-consuming Newton-Raphson optimization technique. This algorithm does not perform a line search.\",\"type\":\"standalone\"},{\"name\":\"QUANEW\",\"description\":\"Chooses one of four different quasi-Newton optimization algorithms that can be more precisely defined with the UPDATE= option and modified with the LINESEARCH= option.\",\"type\":\"standalone\"},{\"name\":\"TRUREG\",\"description\":\"Performs a usually very stable but, for large problems, memory- and time-consuming trust-region optimization technique. The algorithm is implemented similar to Gay (1983) and Moré and Sorensen (1983).\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"Does not perform any optimization. This option is similar to METHOD=NONE, but TECH=NONE also computes and displays residuals and goodness of fit statistics.\",\"type\":\"standalone\"}]},{\"name\":\"UPDATE=\",\"optional\":true,\"description\":\"Specifies the update method for the quasi-Newton, double-dogleg, or conjugate-gradient optimization technique.\",\"help\":\"UPDATE=BFGS | DBFGS | DDFP | DFP | PB | FR | PR | CD\",\"type\":\"choice\",\"arguments\":[{\"name\":\"BFGS\",\"description\":\"Performs the original Broyden, Fletcher, Goldfarb, and Shanno (BFGS) update of the inverse Hessian matrix.\",\"type\":\"standalone\"},{\"name\":\"DBFGS\",\"description\":\"Performs the dual BFGS update of the Cholesky factor of the Hessian matrix. This is the default update method.\",\"type\":\"standalone\"},{\"name\":\"DDFP\",\"description\":\"Performs the dual Davidon, Fletcher, and Powell (DFP) update of the Cholesky factor of the Hessian matrix.\",\"type\":\"standalone\"},{\"name\":\"DFP\",\"description\":\"Performs the original DFP update of the inverse Hessian matrix.\",\"type\":\"standalone\"},{\"name\":\"PB\",\"description\":\"Performs the automatic restart update method of Powell (1977) and Beale (1972).\",\"type\":\"standalone\"},{\"name\":\"FR\",\"description\":\"Performs the Fletcher-Reeves update (Fletcher 1987).\",\"type\":\"standalone\"},{\"name\":\"PR\",\"description\":\"Performs the Polak-Ribiere update (Fletcher 1987).\",\"type\":\"standalone\"},{\"name\":\"CD\",\"description\":\"Performs a conjugate-descent update of Fletcher (1987).\",\"type\":\"standalone\"}]},{\"name\":\"VERSION=\",\"optional\":true,\"aliases\":[\"VS=\"],\"description\":\"Specifies the version of the quasi-Newton optimization technique with nonlinear constraints.\",\"help\":\"VERSION=1 | 2\",\"type\":\"choice\",\"arguments\":[{\"name\":\"1\",\"description\":\"Specifies the update of the U vector as in Powell (1978a, 1978b) (update like VF02AD).\",\"type\":\"standalone\"},{\"name\":\"2\",\"description\":\"Specifies the update of the U vector as in Powell (1982a, 1982b) (update like VMCWD).\",\"type\":\"standalone\"}]},{\"name\":\"VSINGULAR=\",\"optional\":true,\"aliases\":[\"VSING=\"],\"description\":\"Specifies a relative singularity criterion r, r > 0, for the inversion of the information matrix, which is needed to compute the covariance matrix.\",\"type\":\"value\"},{\"name\":\"XCONV=\",\"optional\":true,\"aliases\":[\"XTOL=\"],\"description\":\"Specifies the relative parameter convergence criterion. Termination requires a small relative parameter change in subsequent iterations.\",\"type\":\"value\"},{\"name\":\"XSIZE=\",\"optional\":true,\"description\":\"Specifies the XSIZE parameter of the relative function and relative gradient termination criteria. The default value is r=0.\",\"help\":\"XSIZE=*r*\",\"type\":\"value\"}]},{\"name\":\"OUTPUT\",\"description\":\"The OUTPUT statement creates a new SAS data set that contains statistics that are calculated for each observation unit. These statistics can include the estimated linear predictor (z'jβ) and its standard error, residuals, and influence statistics. In addition, this data set includes all the variables from the DATA= input data set.\",\"help\":\"OUTPUT ATRISK= OUT=SAS-data-set RESDEV= ...\",\"arguments\":[{\"name\":\"ATRISK=\",\"description\":\"Specifies the number of subjects at risk at the observation time τj.\",\"type\":\"value\"},{\"name\":\"OUT=\",\"description\":\"Names the output data set. If you omit the OUT= option, the OUTPUT data set is named by using the DATAn convention.\",\"help\":\"OUT=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"RESDEV=\",\"description\":\"Specifies the deviance residual Dj\",\"type\":\"value\"},{\"name\":\"RESMART=\",\"description\":\"Specifies the martingale residual Mj.\",\"type\":\"value\"},{\"name\":\"RESSCH=\",\"description\":\"Specifies the Schoenfeld residuals.\",\"type\":\"value\"},{\"name\":\"RESSCO=\",\"description\":\"Specifies the score residuals.\",\"type\":\"value\"},{\"name\":\"STDXBETA=\",\"description\":\"Specifies the standard error of an estimated linear predictor.\",\"type\":\"value\"},{\"name\":\"WTATRISK=\",\"description\":\"Specifies the weighted number of subjects at risk at the observation time τj.\",\"type\":\"value\"},{\"name\":\"WTRESSCH=\",\"description\":\"Specifies the weighted Schoenfeld residuals.\",\"type\":\"value\"},{\"name\":\"XBETA=\",\"description\":\"Specifies the estimate of the linear predictor, zj'β\",\"type\":\"value\"}]},{\"name\":\"REPWEIGHTS\",\"description\":\"The REPWEIGHTS statement names variables that provide replicate weights for BRR or jackknife variance estimation, which you request with the VARMETHOD=BRR or VARMETHOD=JACKKNIFE option in the PROC SURVEYPHREG statement. If you do not provide replicate weights for these methods by using a REPWEIGHTS statement, then PROC SURVEYPHREG constructs replicate weights for the analysis. Each REPWEIGHTS variable should contain the weights for a single replicate, and the number of replicates equals the number of REPWEIGHTS variables. The REPWEIGHTS variables must be numeric, and the variable values must be nonnegative numbers.\",\"help\":\"REPWEIGHTS &lt;DF=df&gt;&lt;JKCOEFS=jackknife-coefficient-specification&gt;\",\"arguments\":[{\"name\":\"DF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the degrees of freedom for the analysis. The value of df must be a positive number. PROC SURVEYPHREG also use the DF= value in computing the denominator degrees of freedom for the F statistics in Wald type tests and confidence intervals.\",\"help\":\"DF=*df*\",\"type\":\"value\"},{\"name\":\"JKCOEFS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies jackknife coefficients for VARMETHOD=JACKKNIFE. The default value for the jackknife coefficient is (R-1)/R, where R is the total number of replicates. You can specify an alternative value with one of the following three forms: JKCOEFS=value specifies a single jackknife coefficient for all replicates. The coefficient value must be a nonnegative number. JKCOEFS=(values) specifies jackknife coefficients for VARMETHOD=JACKKNIFE, where each coefficient corresponds to an individual replicate identified by a REPWEIGHTS variable. You can separate values with blanks or commas. The coefficient values must be nonnegative numbers. The number of values must equal the number of replicate weight variables named in the REPWEIGHTS statement. List these values in the same order in which you list the corresponding replicate weight variables in the REPWEIGHTS statement.\",\"help\":\"JKCOEFS=*jackknife-coefficient-specification*\",\"type\":\"value\"}]},{\"name\":\"SLICE\",\"description\":\"The SLICE statement provides a general mechanism for performing a partitioned analysis of the LS-means for an interaction. This analysis is also known as an analysis of simple effects. The SLICE statement uses the same options as the LSMEANS statement.\",\"help\":\"SLICE &lt;ADJDFE=&lt;SOURCE | ROW&gt;&gt;&lt;ADJUST=&lt;BON | DUNNETT | NELSON&gt;... &gt;&lt;ALPHA=number&gt; ...\",\"arguments\":[{\"name\":\"ADJDFE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies how denominator degrees of freedom are determined when p-values and confidence limits are adjusted for multiple comparisons with the ADJUST= option.\",\"help\":\"ADJDFE=SOURCE | ROW\",\"type\":\"choice\",\"arguments\":[{\"name\":\"SOURCE\",\"followsDelimiter\":\"/\",\"description\":\"The denominator degrees of freedom for multiplicity-adjusted results are the denominator degrees of freedom for the LS-mean effect in the \\\"Type III Tests of Fixed Effects\\\" table.\",\"type\":\"standalone\"},{\"name\":\"ROW\",\"followsDelimiter\":\"/\",\"description\":\"Useful if you want multiplicity adjustments to take into account that denominator degrees of freedom are not constant across LS-mean differences.\",\"type\":\"standalone\"}]},{\"name\":\"ADJUST=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests a multiple comparison adjustment for the p-values and confidence limits for the differences of LS-means.\",\"help\":\"ADJUST=BON | DUNNETT | NELSON | SCHEFFE | SIDAK | SIMULATE | SMM | TUKEY\",\"type\":\"choice\",\"arguments\":[{\"name\":\"BON\",\"followsDelimiter\":\"/\",\"description\":\"Bonferroni adjustment\",\"type\":\"standalone\"},{\"name\":\"DUNNETT\",\"followsDelimiter\":\"/\",\"description\":\"Dunnett adjustment (in which the procedure analyzes all differences with a control level)\",\"type\":\"standalone\"},{\"name\":\"NELSON\",\"followsDelimiter\":\"/\",\"description\":\"Nelson adjustment (in which ANOM differences are taken)\",\"type\":\"standalone\"},{\"name\":\"SCHEFFE\",\"followsDelimiter\":\"/\",\"description\":\"Scheffe's adjustment\",\"type\":\"standalone\"},{\"name\":\"SIDAK\",\"followsDelimiter\":\"/\",\"description\":\"Sidak adjustment\",\"type\":\"standalone\"},{\"name\":\"SIMULATE\",\"followsDelimiter\":\"/\",\"description\":\"Computes adjusted p-values and confidence limits from the simulated distribution of the maximum or maximum absolute value of a multivariate t random vector. Syntax: SIMULATE<(simoptions)> You can specify the following simoptions in parentheses after the ADJUST=SIMULATE option. ACC=value specifies the target accuracy radius γ of a 100(1-ε)% confidence interval for the true probability content of the estimated (1-α)th quantile. The default value is ACC=0.005. EPS=value specifies the value ε for a 100(1-ε)% confidence interval for the true probability content of the estimated (1-α)th quantile. The default value is ACC=0.005. NSAMP=n specifies the sample size for the simulation. SEED=number specifies an integer that is used to start the pseudo-random number generator for the simulation. THREADS specifies that the computational work for the simulation be divided into parallel threads, where the number of threads is the value of the SAS system option CPUCOUNT=. NOTHREADS specifies that the computational work for the simulation be performed in sequence rather than in parallel. NOTHREADS is the default. This option overrides the SAS system option THREADS|NOTHREADS.\",\"type\":\"standalone\"},{\"name\":\"SMM\",\"followsDelimiter\":\"/\",\"aliases\":[\"GT2\"],\"description\":\"SMM adjustment\",\"type\":\"standalone\"},{\"name\":\"TUKEY\",\"followsDelimiter\":\"/\",\"description\":\"If your data are unbalanced, PROC GLIMMIX uses the approximation described in Kramer (1956) and identifies the adjustment as \\\"Tukey-Kramer\\\" in the results.\",\"type\":\"standalone\"}]},{\"name\":\"ALPHA=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that a t-type confidence interval be constructed for each of the LS-means with confidence level (1-number)x100%. The value of number must be between 0 and 1; the default is 0.05.\",\"help\":\"ALPHA=*number*\",\"type\":\"value\"},{\"name\":\"AT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Modifies the values of the covariates that are used in computing LS-means. By default, all covariate effects are set equal to their mean values for computation of standard LS-means. The AT option enables you to assign arbitrary values to the covariates. Additional columns in the output table indicate the values of the covariates.\",\"help\":\"AT=MEANS\",\"type\":\"choice\",\"arguments\":[{\"name\":\"MEANS\",\"type\":\"standalone\"}]},{\"name\":\"BYLEVEL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that separate margins be computed for each level of the SLICE model-effect.\",\"type\":\"standalone\"},{\"name\":\"CL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that t-type confidence limits be constructed for each of the LS-means. The confidence level is 0.95 by default; this can be changed with the ALPHA= option.\",\"type\":\"standalone\"},{\"name\":\"CORR\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays the estimated correlation matrix of the least squares means as part of the \\\"Least Squares Means\\\" table.\",\"type\":\"standalone\"},{\"name\":\"COV\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays the estimated covariance matrix of the least squares means as part of the \\\"Least Squares Means\\\" table.\",\"type\":\"standalone\"},{\"name\":\"DF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the degrees of freedom for the t test and confidence limits. The default is the denominator degrees of freedom taken from the \\\"Type III Tests\\\" table that corresponds to the LS-means effect.\",\"help\":\"DF=*number*\",\"type\":\"value\"},{\"name\":\"DIFF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"PDIFF=\"],\"description\":\"Requests that differences of the LS-means be displayed.\",\"help\":\"DIFF=ALL | ANOM | CONTROL | CONTROLL | CONTROLU\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ALL\",\"followsDelimiter\":\"/\",\"description\":\"Requests all pairwise differences; this is the default.\",\"type\":\"standalone\"},{\"name\":\"ANOM\",\"followsDelimiter\":\"/\",\"description\":\"Requests differences between each LS-mean and the average LS-mean, as in the analysis of means (Ott 1967).\",\"type\":\"standalone\"},{\"name\":\"CONTROL\",\"followsDelimiter\":\"/\",\"description\":\"Requests the differences with a control, which, by default, is the first level of each of the specified SLICE effects.\",\"type\":\"standalone\"},{\"name\":\"CONTROLL\",\"followsDelimiter\":\"/\",\"description\":\"Tests whether the noncontrol levels are significantly smaller than the control; the upper confidence limits for the control minus the noncontrol levels are considered to be infinity and are displayed as missing.\",\"type\":\"standalone\"},{\"name\":\"CONTROLU\",\"followsDelimiter\":\"/\",\"description\":\"Tests whether the noncontrol levels are significantly larger than the control; the upper confidence limits for the noncontrol levels minus the control are considered to be infinity and are displayed as missing.\",\"type\":\"standalone\"}]},{\"name\":\"E\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that the L matrix coefficients for the SLICE effects be displayed.\",\"type\":\"standalone\"},{\"name\":\"EXP\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests exponentiation of the LS-means or LS-mean differences. When you model data with the logit, cumulative logit, or generalized logit link functions, and the estimate represents a log odds ratio or log cumulative odds ratio, the EXP option produces an odds ratio. In proportional hazards model, the exponentiation of the LS-mean differences produces estimates of hazard ratios. If you specify the CL or ALPHA= option, the (adjusted) confidence bounds are also exponentiated.\",\"type\":\"standalone\"},{\"name\":\"ILINK\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that estimates and their standard errors in the \\\"Least Squares Means\\\" table also be reported on the scale of the mean (the inverse linked scale).\",\"type\":\"standalone\"},{\"name\":\"LINES\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Presents results of comparisons between all pairs of least squares means by listing the means in descending order and indicating nonsignificant subsets by line segments beside the corresponding LS-means.\",\"type\":\"standalone\"},{\"name\":\"MEANS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies to produce the table of least squares means.\",\"type\":\"standalone\"},{\"name\":\"NOF\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Suppresses the F test for testing the mutual equality of the estimable functions in the partition.\",\"type\":\"standalone\"},{\"name\":\"NOMEANS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies not to produce the table of least squares means. This is the default.\",\"type\":\"standalone\"},{\"name\":\"OBSMARGINS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"OM=\"],\"description\":\"Specifies a potentially different weighting scheme for the computation of LS-means coefficients. The standard LS-means have equal coefficients across classification effects; however, the OM option changes these coefficients to be proportional to those found in the OM-data-set. This adjustment is reasonable when you want your inferences to apply to a population that is not necessarily balanced but has the margins that are observed in OM-data-set.\",\"type\":\"value\"},{\"name\":\"ODDSRATIO\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"OR\"],\"description\":\"Requests that LS-mean differences (DIFF, ADJUST= options) are also reported in terms of odds ratios. The ODDSRATIO option is ignored unless you use either the logit, cumulative logit, or generalized logit link function. If you specify the CL or ALPHA= option, confidence intervals for the odds ratios are also computed. These intervals are adjusted for multiplicity when you specify the ADJUST= option.\",\"type\":\"standalone\"},{\"name\":\"PDIFF\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Is the same as the DIFF option.\",\"type\":\"standalone\"},{\"name\":\"PLOT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"PLOTS=\"],\"description\":\"Requests that least squares means related graphics are produced via ODS Graphics, provided that the ODS GRAPHICS statement has been specified and the plot request does not conflict with other options in the SLICE statement.\",\"help\":\"PLOT=ALL | ANOMPLOT | BOXPLOT | CONTROLPLOT | DIFFPLOT | DISTPLOT | MEANPLOT | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ALL\",\"followsDelimiter\":\"/\",\"description\":\"Requests that the default plots corresponding to this SLICE statement be produced.\",\"type\":\"standalone\"},{\"name\":\"ANOMPLOT\",\"followsDelimiter\":\"/\",\"aliases\":[\"ANOM\"],\"description\":\"Requests an analysis of means display in which least squares means are compared to an average least squares mean.\",\"type\":\"standalone\"},{\"name\":\"BOXPLOT\",\"followsDelimiter\":\"/\",\"description\":\"Syntax: BOXPLOT<boxplot-options>> Produces box plots of the distribution of the least squares mean or least squares mean differences across a posterior sample. For example, this plot is available in procedures that support a Bayesian analysis through the BAYES statement. A separate box is generated for each estimable function, and all boxes appear on a single graph by default. You can affect the appearance of the box plot graph with the following options: ORIENTATION=VERTICAL|HORIZONTAL ORIENT=VERT|HORIZ specifies the orientation of the boxes. The default is vertical orientation of the box plots. NPANELPOS=number specifies how to break the series of box plots across multiple panels. If the NPANELPOS option is not specified, or if number equals zero, then all box plots are displayed in a single graph; this is the default.\",\"type\":\"standalone\"},{\"name\":\"CONTROLPLOT\",\"followsDelimiter\":\"/\",\"aliases\":[\"CONTROL\"],\"description\":\"Requests a display in which least squares means are visually compared against a reference level.\",\"type\":\"standalone\"},{\"name\":\"DIFFPLOT\",\"followsDelimiter\":\"/\",\"aliases\":[\"DIFFOGRAM\",\"DIFF\"],\"description\":\"Requests a display of all pairwise least squares mean differences and their significance. Syntax: DIFFPLOT<(diffplot-options)> You can specify the following diffplot-options: ABS all line segments are shown on the same side of the reference line. NOABS separates comparisons according to the sign of the difference. CENTER marks the center point for each comparison. NOLINES suppresses the display of the line segments that represent the confidence bounds for the differences of the least squares means. The NOLINES option implies the CENTER option.\",\"type\":\"standalone\"},{\"name\":\"DISTPLOT\",\"followsDelimiter\":\"/\",\"aliases\":[\"DIST\"],\"description\":\"Syntax: DISTPLOT<distplot-options> Generates panels of histograms with a kernel density overlaid if the analysis has access to a set of posterior parameter estimates. You can sepcify the following distplot-options in parentheses: BOX|NOBOX controls the display of a horizontal box plot of the estimable function’s distribution across the posterior sample below the graph. The BOX option is enabled by default. HIST|NOHIST controls the display of the histogram of the estimable function’s distribution across the posterior sample. The HIST option is enabled by default. NORMAL|NONORMAL controls the display of a normal density estimate on the graph. The NONORMAL option is enabled by default. KERNEL|NOKERNEL controls the display of a kernel density estimate on the graph. The KERNEL option is enabled by default. NROWS=number specifies the highest number of rows in a panel. The default is 3. NCOLS=number specifies the highest number of columns in a panel. The default is 3. UNPACK unpacks the panel into separate graphics.\",\"type\":\"standalone\"},{\"name\":\"MEANPLOT\",\"followsDelimiter\":\"/\",\"description\":\"Syntax: MEANPLOT<(meanplot-options)> Requests displays of the least squares means. The following meanplot-options control the display of the least squares means: ASCENDING displays the least squares means in ascending order. This option has no effect if means are sliced or displayed in separate plots. CL displays upper and lower confidence limits for the least squares means. By default, 95% limits are drawn. CLBAND displays confidence limits as bands. This option implies the JOIN option. DESCENDING displays the least squares means in descending order. This option has no effect if means are sliced or displayed in separate plots. ILINK requests that means (and confidence limits) are displayed on the inverse linked scale. JOIN | CONNECT connects the least squares means with lines. This option is implied by the CLBAND option. SLICEBY=fixed-effect specifies an effect by which to group the means in a single plot. PLOTBY=fixed-effect specifies an effect by which to break interaction plots into separate displays.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"followsDelimiter\":\"/\",\"description\":\"Requests that no plots be produced.\",\"type\":\"standalone\"}]},{\"name\":\"SEED=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the seed for the sampling-based components of the computations for the SLICE statement (for example, chi-bar-square statistics and simulated p-values). number specifies an integer that is used to start the pseudo-random-number generator for the simulation. If you do not specify a seed, or if you specify a value less than or equal to zero, the seed is generated from reading the time of day from the computer clock.\",\"help\":\"SEED=*number*\",\"type\":\"value\"},{\"name\":\"SINGULAR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Tunes the estimability checking. The value for number must be between 0 and 1; the default is 1E-4.\",\"help\":\"SINGULAR=*number*\",\"type\":\"value\"},{\"name\":\"SLICEBY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"\",\"type\":\"value\"},{\"name\":\"STEPDOWN=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that multiple comparison adjustments for the p-values of LS-mean differences be further adjusted in a step-down fashion. Step-down methods increase the power of multiple comparisons by taking advantage of the fact that a p-value is never declared significant unless all smaller p-values are also declared significant. You can specify the following step-down options in parentheses: MAXTIME=n specifies the time (in seconds) to spend computing the maximal logically consistent sequential subsets of equality hypotheses for TYPE=LOGICAL. REPORT specifies that a report on the step-down adjustment should be displayed, including a listing of the sequential subsets (Westfall 1997) and, for ADJUST=SIMULATE, the step-down simulation results.\",\"help\":\"STEPDOWN=MAXTIME= | REPORT | TYPE=\",\"type\":\"choice\",\"arguments\":[{\"name\":\"MAXTIME=\",\"type\":\"value\"},{\"name\":\"REPORT\",\"type\":\"standalone\"},{\"name\":\"TYPE=\",\"type\":\"value\"}]}]},{\"name\":\"STORE\",\"aliases\":[\"ITEMSTORE\"],\"description\":\"The STORE statement requests that the procedure save the context and results of the statistical analysis. The resulting item store is a binary file format that cannot be modified. The contents of the item store can be processed with the PLM procedure. The item-store-name is a usual one- or two-level SAS name, like the names that are used for SAS data sets. If you specify a one-level name, then the item store resides in the WORK library and is deleted at the end of the SAS session. Since item stores usually are used to perform postprocessing tasks, typical usage specifies a two-level name of the form libname.membername. If an item store by the same name as specified in the STORE statement already exists, the existing store is replaced.\",\"help\":\"STORE &lt;LABEL='label'&gt;\",\"arguments\":[{\"name\":\"LABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Adds a custom label. When the PLM procedure processes an item store, the label appears in the PROC PLM output along with other identifying information.\",\"help\":\"LABEL='*label*'\",\"type\":\"value\"}]},{\"name\":\"STRATA\",\"aliases\":[\"STRATUM\"],\"description\":\"The STRATA statement names variables that form the strata in a stratified sample design. The combinations of levels of STRATA variables define the strata in the sample, where strata are nonoverlapping subgroups that were sampled independently. If your sample design has stratification at multiple stages, you should identify only the first-stage strata in the STRATA statement. If you provide replicate weights for BRR or jackknife variance estimation with a REPWEIGHTS statement, you do not need to specify a STRATA statement. The STRATA variables are one or more variables in the DATA= input data set. These variables can be either character or numeric, but the procedure treats them as categorical variables. The formatted values of the STRATA variables determine the STRATA variable levels. Thus, you can use formats to group values into levels.\",\"help\":\"STRATA &lt;LIST&gt;\",\"arguments\":[{\"name\":\"LIST\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays a \\\"Stratum Information\\\" table, which lists all strata together with the corresponding values of the STRATA variables. This table provides the number of observations and the number of clusters in each stratum, as well as the sampling fraction if you specify the RATE= or TOTAL= option.\",\"type\":\"standalone\"}]},{\"name\":\"TEST\",\"description\":\"The TEST statement enables you to perform F tests for model effects that test Type I, II, or Type III hypotheses.\",\"help\":\"TEST &lt;CHISQ&gt;&lt;DDF=value-list&gt;&lt;E&gt; ...\",\"arguments\":[{\"name\":\"CHISQ\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that chi-square tests be performed for the relevant effects in addition to the F tests. Type III tests are the default; you can produce the Type I and Type II tests by using the HTYPE= option. This option has no effect when the procedure produces chi-square statistics by default.\",\"type\":\"standalone\"},{\"name\":\"DDF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"DF=\"],\"description\":\"Specifies the denominator degrees of freedom for the fixed effects. The value-list specification is a list of numbers or missing values (.) separated by commas. The order of degrees of freedom should match the order of the fixed effects that are specified in the TEST statement; otherwise it should match the order in which the effects appear in the \\\"Type III Tests of Fixed Effects\\\" table.\",\"help\":\"DDF=*value-list*\",\"type\":\"value\"},{\"name\":\"E\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that Type I, Type II, and Type III L matrix coefficients be displayed for all relevant effects.\",\"type\":\"standalone\"},{\"name\":\"E1\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"EI\"],\"description\":\"Requests that Type I L matrix coefficients be displayed for all relevant effects.\",\"type\":\"standalone\"},{\"name\":\"E2\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"EII\"],\"description\":\"Requests that Type II L matrix coefficients be displayed for all relevant effects.]\",\"type\":\"standalone\"},{\"name\":\"E3\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"EIII\"],\"description\":\"Requests that Type III L matrix coefficients be displayed for all relevant effects.\",\"type\":\"standalone\"},{\"name\":\"HTYPE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Indicates the type of hypothesis test to perform on the fixed effects. Valid entries for values in the value-list are 1, 2, and 3, which correspond to Type I, Type II, and Type III tests, respectively. The default value is 3.\",\"help\":\"HTYPE=*value-list*\",\"type\":\"value\"},{\"name\":\"INTERCEPT\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"INT\"],\"description\":\"Adds a row to the tables for Type I, II, and III tests that correspond to the overall intercept.\",\"type\":\"standalone\"}]},{\"name\":\"WEIGHT\",\"aliases\":[\"WGT\"],\"description\":\"The WEIGHT statement names the variable that contains the sampling weights. This variable must be numeric, and the sampling weights must be positive numbers. If an observation has a weight that is nonpositive or missing, then the procedure omits that observation from the analysis. If you do not specify a WEIGHT statement but provide replicate weights with a REPWEIGHTS statement, PROC SURVEYPHREG uses the average of each observation’s replicate weights as the observation’s weight. If you specify neither a WEIGHT statement nor a REPWEIGHTS statement, PROC SURVEYPHREG assigns all observations a weight of one.\",\"help\":\"WEIGHT variable\"}],\"supportSiteInformation\":{\"docsetId\":\"statug\",\"docsetVersion\":\"latest\",\"docsetTargetFile\":\"statug_surveyphreg_toc.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/SURVEYREG.json",
    "content": "{\"name\":\"SURVEYREG\",\"statements\":[{\"name\":\"PROC SURVEYREG\",\"description\":\"The SURVEYREG procedure performs regression analysis for sample survey data. This procedure can handle complex survey sample designs, including designs with stratification, clustering, and unequal weighting. The procedure fits linear models for survey data and computes regression coefficients and their variance-covariance matrix. The procedure also provides significance tests for the model effects and for any specified estimable linear functions of the model parameters. Using the regression model, the procedure can compute predicted values for the sample survey data. † PROC SURVEYREG uses elementwise regression to compute the regression coefficient estimators by generalized least squares estimation. The procedure assumes that the regression coefficients are the same across strata and primary sampling units (PSUs). To estimate the variance-covariance matrix for the regression coefficients, PROC SURVEYREG uses either the Taylor series (linearization) method or replication (resampling) methods to estimate sampling errors of estimators, based on complex sample designs.\",\"help\":\"PROC SURVEYREG <ALPHA=α><DATA=SAS-data-set><MISSING><NOMCAR><ORDER=DATA | FORMATTED | FREQ... ><RATE=value | SAS-data-set><TOTAL=value | SAS-data-set><TRUNCATE><VARMETHOD=BRR | JACKKNIFE | TAYLOR>;     \\n\\tBY <DESCENDING><NOTSORTED> ;\\n\\n\\tCLASS variables ;\\n\\n\\tCLUSTER variables ;\\n\\n\\tDOMAIN variables <variable*variable variable*variable*variable ... > ;\\n\\n\\tEFFECT EFFECT-NAME=COLLECTION|LAG|MULTIMEMBER|MM...  <PERIOD=variable><WITHIN=(variables) | WITHIN=variable> ...;\\n\\n\\tESTIMATE <ADJDFE=<SOURCE | ROW>><ADJUST=<BON | SCHEFFE | SIDAK>... ><ALPHA=number> ...;\\n\\n\\tLSMEANS <ADJDFE=<SOURCE | ROW>><ADJUST=<BON | DUNNETT | NELSON>... ><ALPHA=number> ...;\\n\\n\\tLSMESTIMATE <ADJDFE=<SOURCE | ROW>><ADJUST=<BON | SCHEFFE | SIDAK>... ><ALPHA=number> ...;\\n\\n\\tMODEL <ADJRSQ><ANOVA><CLPARM> ...;\\n\\n\\tOUTPUT LCLM PREDICTED RESIDUAL ...;\\n\\n\\tREPWEIGHTS <DF=df><JKCOEFS=jackknife-coefficient-specification> ;\\n\\n\\tSLICE <ADJDFE=<SOURCE | ROW>><ADJUST=<BON | DUNNETT | NELSON>... ><ALPHA=number> ...;\\n\\n\\tSTORE <LABEL='label'> ;\\n\\n\\tSTRATA <LIST><NOCOLLAPSE> ;\\n\\n\\tTEST <CHISQ><DDF=value-list><E> ...;\\n\\n\\tWEIGHT variable;\\n\",\"arguments\":[{\"name\":\"ALPHA=\",\"optional\":true,\"description\":\"Sets the confidence level for confidence limits. The value of the ALPHA= option must be between 0 and 1, and the default value is 0.05. A confidence level of α produces 100(1-α)% confidence limits. The default of ALPHA=0.05 produces 95% confidence limits.\",\"type\":\"value\"},{\"name\":\"DATA=\",\"optional\":true,\"description\":\"Specifies the SAS data set to be analyzed by PROC SURVEYREG. If you omit the DATA= option, the procedure uses the most recently created SAS data set.\",\"help\":\"DATA=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"MISSING\",\"optional\":true,\"description\":\"Treats missing values as a valid (nonmissing) category for all categorical variables, which include CLASS, STRATA, CLUSTER, and DOMAIN variables. By default, if you do not specify the MISSING option, an observation is excluded from the analysis if it has a missing value.\",\"type\":\"standalone\"},{\"name\":\"NOMCAR\",\"optional\":true,\"description\":\"Requests that the procedure treat missing values in the variance computation as not missing completely at random (NOMCAR) for Taylor series variance estimation. When you specify the NOMCAR option, PROC SURVEYREG computes variance estimates by analyzing the nonmissing values as a domain or subpopulation, where the entire population includes both nonmissing and missing domains.]\",\"type\":\"standalone\"},{\"name\":\"ORDER=\",\"optional\":true,\"description\":\"Specifies the order in which to sort the levels of the classification variables (which are specified in the CLASS statement). This option applies to the levels for all classification variables, except when you use the (default) ORDER=FORMATTED option with numeric classification variables that have no explicit format. With this option, the levels of such variables are ordered by their internal value.\",\"help\":\"ORDER=DATA | FORMATTED | FREQ | INTERNAL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DATA\",\"description\":\"Levels sorted by the order of appearance in the input data set.\",\"type\":\"standalone\"},{\"name\":\"FORMATTED\",\"description\":\"Levels sorted by the external formatted value, except for numeric variables with no explicit format, which are sorted by their unformatted (internal) value.\",\"type\":\"standalone\"},{\"name\":\"FREQ\",\"description\":\"Levels sorted by the descending frequency count; levels with the most observations come first in the order.\",\"type\":\"standalone\"},{\"name\":\"INTERNAL\",\"description\":\"Levels sorted by the unformatted value.\",\"type\":\"standalone\"}]},{\"name\":\"RATE=\",\"optional\":true,\"aliases\":[\"R=\"],\"description\":\"Specifies the sampling rate as a nonnegative value, or identifies an input data set that gives the stratum sampling rates in a variable named _RATE_. The procedure uses this information to compute a finite population correction for Taylor series variance estimation. The procedure does not use the RATE= option for BRR or jackknife variance estimation, which you request with the VARMETHOD=BRR or VARMETHOD=JACKKNIFE option.\",\"type\":\"value\"},{\"name\":\"TOTAL=\",\"optional\":true,\"aliases\":[\"N=\"],\"description\":\"Specifies the total number of primary sampling units (PSUs) in the study population as a positive value, or identifies an input data set that gives the stratum population totals in a variable named _TOTAL_. The procedure uses this information to compute a finite population correction for Taylor series variance estimation. The procedure does not use the TOTAL= option for BRR or jackknife variance estimation, which you request with the VARMETHOD=BRR or VARMETHOD=JACKKNIFE option.\",\"type\":\"value\"},{\"name\":\"TRUNCATE\",\"optional\":true,\"description\":\"Specifies that class levels should be determined using no more than the first 16 characters of the formatted values of the CLASS, STRATA, and CLUSTER variables. When formatted values are longer than 16 characters, you can use this option in order to revert to the levels as determined in releases before SAS 9.\",\"type\":\"standalone\"},{\"name\":\"VARMETHOD=\",\"optional\":true,\"description\":\"Specifies the variance estimation method.\",\"help\":\"VARMETHOD=BRR | JACKKNIFE | TAYLOR\",\"type\":\"choice\",\"arguments\":[{\"name\":\"BRR\",\"description\":\"Requests variance estimation by balanced repeated replication (BRR). You can specify the following method-options in parentheses after the VARMETHOD=BRR option: FAY <=value> requests Fay’s method, which is a modification of the BRR method. HADAMARD=SAS-data-set H=SAS-data-set names a SAS data set that contains the Hadamard matrix for BRR replicate construction. OUTWEIGHTS=SAS-data-set names an output SAS data set to store the replicate weights that PROC SURVEYPHREG creates for BRR variance estimation. The OUTWEIGHTS= method-option is not available when you provide replicate weights with a REPWEIGHTS statement. PRINTH displays the Hadamard matrix used to construct replicates for BRR. When you provide the Hadamard matrix in the HADAMARD= method-option, PROC SURVEYPHREG displays only the rows and columns that are actually used to construct replicates. REPS=number specifies the number of replicates for BRR variance estimation. The value of number must be an integer greater than 1.\",\"type\":\"standalone\"},{\"name\":\"JACKKNIFE\",\"description\":\"Requests variance estimation by the delete-1 jackknife method. You can specify the following method-options in parentheses following VARMETHOD=JACKKNIFE: OUTWEIGHTS=SAS-data-set names an output SAS data set that contains replicate weights. The OUTWEIGHTS= method-option is not available when you provide replicate weights with the REPWEIGHTS statement. OUTJKCOEFS=SAS-data-set names an output SAS data set that contains jackknife coefficients.\",\"type\":\"standalone\"},{\"name\":\"TAYLOR\",\"description\":\"Requests Taylor series variance estimation. This is the default method if you do not specify the VARMETHOD= option or a REPWEIGHTS statement.\",\"type\":\"standalone\"}]}]},{\"name\":\"BY\",\"description\":\"You can specify a BY statement with PROC SURVEYREG to obtain separate analyses on observations in groups that are defined by the BY variables. When a BY statement appears, the procedure expects the input data set to be sorted in order of the BY variables. If you specify more than one BY statement, only the last one specified is used.\",\"help\":\"BY &lt;DESCENDING&gt;&lt;NOTSORTED&gt;\",\"arguments\":[{\"name\":\"DESCENDING\",\"optional\":true,\"description\":\"Specifies that the observations are sorted in descending order by the variable that immediately follows the word DESCENDING in the BY statement.\",\"type\":\"standalone\"},{\"name\":\"NOTSORTED\",\"optional\":true,\"description\":\"Specifies that observations are not necessarily sorted in alphabetic or numeric order.\",\"type\":\"standalone\"}]},{\"name\":\"CLASS\",\"aliases\":[\"CLASSES\"],\"description\":\"The CLASS statement names the classification variables to be used in the analysis. Typical classification variables are Treatment, Sex, Race, Group, and Replication. If you use the CLASS statement, it must appear before the MODEL statement. Classification variables can be either character or numeric. By default, class levels are determined from the entire set of formatted values of the CLASS variables. Note: Prior to SAS 9, class levels were determined by using no more than the first 16 characters of the formatted values. To revert to this previous behavior, you can use the TRUNCATE option in the PROC SURVEYREG statement. In any case, you can use formats to group values into levels. You can adjust the order of CLASS variable levels with the ORDER= option in the PROC SURVEYREG statement. You can use multiple CLASS statements to specify classification variables.\",\"help\":\"CLASS variables \"},{\"name\":\"CLUSTER\",\"aliases\":[\"CLUSTERS\"],\"description\":\"The CLUSTER statement names variables that identify the clusters in a clustered sample design. The combinations of categories of CLUSTER variables define the clusters in the sample. If there is a STRATA statement, clusters are nested within strata. If you provide replicate weights for BRR or jackknife variance estimation with the REPWEIGHTS statement, you do not need to specify a CLUSTER statement. If your sample design has clustering at multiple stages, you should identify only the first-stage clusters (primary sampling units (PSUs)), in the CLUSTER statement. The CLUSTER variables are one or more variables in the DATA= input data set. These variables can be either character or numeric, but the procedure treats them as categorical variables. The formatted values of the CLUSTER variables determine the CLUSTER variable levels. Thus, you can use formats to group values into levels.\",\"help\":\"CLUSTER variables \"},{\"name\":\"DOMAIN\",\"description\":\"The DOMAIN statement requests analysis for domains (subpopulations), in addition to analysis for the entire study population. The DOMAIN statement names the variables that identify domains, which are called domain variables. It is common practice to compute statistics for domains. The formation of these domains might not be known at the design stage. Therefore, the sample sizes for the domains are often random. Use a DOMAIN statement to incorporate this variability into the variance estimation. Note that a DOMAIN statement is different from a BY statement. In a BY statement, you treat the sample sizes as fixed in each subpopulation, and you perform analysis within each BY group independently.\",\"help\":\"DOMAIN variables &lt;variable*variable variable*variable*variable ... &gt; \"},{\"name\":\"EFFECT\",\"description\":\"The name of the effect is specified after the EFFECT keyword. This name can appear in only one EFFECT statement and cannot be the name of a variable in the input data set. The effect-type is specified after an equal sign, followed by a list of variables within parentheses which are used in constructing the effect. Effect-options that are specific to an effect-type can be specified after a slash (/) following the variable list. The EFFECT statement enables you to construct special collections of columns for design matrices. These collections are referred to as constructed effects to distinguish them from the usual model effects formed from continuous or classification variables.\",\"help\":\"EFFECT EFFECT-NAME=COLLECTION|LAG|MULTIMEMBER|MM...  &lt;PERIOD=variable&gt;&lt;WITHIN=(variables) | WITHIN=variable&gt; ...\",\"arguments\":[{\"name\":\"EFFECT-NAME=\",\"description\":\"Replace 'EFFECT-NAME' with the name of the effect, specified after the EFFECT keyword. This name can appear in only one EFFECT statement and cannot be the name of a variable in the input data set.\",\"help\":\"EFFECT-NAME=COLLECTION | LAG | MULTIMEMBER|MM | POLYNOMIAL|POLY | SPLINE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"COLLECTION\",\"description\":\"Is a collection effect that defines one or more variables as a single effect with multiple degrees of freedom. The variables in a collection are considered as a unit for estimation and inference. Option(s) available (specified after a slash (/) following the variable list): DETAILS Displays the constituents of the collection effect\",\"type\":\"standalone\"},{\"name\":\"LAG\",\"description\":\"Is a classification effect in which the level that is used for a given period corresponds to the level in the preceding period. Options available (specified after a slash (/) following the variable list): DESIGNROLE= Names a variable that controls to which lag design an observation is assigned DETAILS Displays the lag design of the lag effect NLAG= Specifies the number of periods in the lag PERIOD= Names the variable that defines the period WITHIN= Names the variable or variables that define the group within which each period is defined\",\"type\":\"standalone\"},{\"name\":\"MULTIMEMBER\",\"description\":\"Is a multimember classification effect whose levels are determined by one or more variables that appear in a CLASS statement. Options available (specified after a slash (/) following the variable list): NOEFFECT Specifies that observations with all missing levels for the multimember variables should have zero values in the corresponding design matrix columns WEIGHT= Specifies the weight variable for the contributions of each of the classification effects\",\"help\":\"MULTIMEMBER|MM\",\"type\":\"choice\"},{\"name\":\"POLYNOMIAL\",\"description\":\"Is a multivariate polynomial effect in the specified numeric variables. Options available (specified after a slash (/) following the variable list): DEGREE= Specifies the degree of the polynomial MDEGREE= Specifies the maximum degree of any variable in a term of the polynomial STANDARDIZE= Specifies centering and scaling suboptions for the variables that define the polynomial\",\"help\":\"POLYNOMIAL|POLY\",\"type\":\"choice\"},{\"name\":\"SPLINE\",\"description\":\"Is a regression spline effect whose columns are univariate spline expansions of one or more variables. A spline expansion replaces the original variable with an expanded or larger set of new variables. Options available (specified after a slash (/) following the variable list): BASIS= Specifies the type of basis (B-spline basis or truncated power function basis) for the spline expansion DEGREE= Specifies the degree of the spline transformation KNOTMETHOD= Specifies how to construct the knots for spline effects\",\"type\":\"standalone\"}]},{\"name\":\"BASIS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"[For the SPLINE effect-type only] Specifies a basis for the spline expansion.\",\"help\":\"BASIS=BSPLINE | TPF\",\"type\":\"choice\",\"arguments\":[{\"name\":\"BSPLINE\",\"followsDelimiter\":\"/\",\"description\":\"Specifies a B-spline basis for the spline expansion.\",\"type\":\"standalone\"},{\"name\":\"TPF\",\"followsDelimiter\":\"/\",\"description\":\"Syntax: TPF(options) Specifies a truncated power function basis for the spline expansion. You can modify the number of columns when you request BASIS=TPF with the following options: NOINT excludes the intercept column. NOPOWERS excludes the intercept and polynomial columns.\",\"type\":\"standalone\"}]},{\"name\":\"DATABOUNDARY\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"[For the SPLINE effect-type only] Specifies that the extremes of the data be used as boundary knots when building a B-spline basis.\",\"type\":\"standalone\"},{\"name\":\"DEGREE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"\",\"help\":\"DEGREE=*n*\",\"type\":\"value\"},{\"name\":\"DESIGNROLE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"\",\"help\":\"DESIGNROLE=*variable*\",\"type\":\"value\"},{\"name\":\"DETAILS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"[For the LAG | COLLECTION | MULTIMEMBER | POLYNOMIAL |SPLINE effect-type] Requests a table that shows the (1) lag design matrix of the lag effect, or (2) constituents of the collection effect, or (3) levels of the multimember effect, or (4) details of the specified polynomial, or (5) knot locations and the knots associated with each spline basis function.\",\"type\":\"standalone\"},{\"name\":\"KNOTMAX=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"\",\"help\":\"KNOTMAX=*value*\",\"type\":\"value\"},{\"name\":\"KNOTMETHOD=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"[For the SPLINE effect-type only] Specifies how to construct the knots for spline effects.\",\"help\":\"KNOTMETHOD=EQUAL | LIST | LISTWITHBOUNDARY | MULTISCALE | PERCENTILES | RANGEFRACTIONS\",\"type\":\"choice\",\"arguments\":[{\"name\":\"EQUAL\",\"followsDelimiter\":\"/\",\"description\":\"Syntax: EQUAL<(n)> Specifies that n equally spaced knots be positioned between the extremes of the data. The default is n=3. For a B-spline basis, any needed boundary knots continue to be equally spaced unless the DATABOUNDARY option has also been specified. KNOTMETHOD=EQUAL is the default if no knot-method is specified.\",\"type\":\"standalone\"},{\"name\":\"LIST\",\"followsDelimiter\":\"/\",\"description\":\"Syntax: LIST(number-list) Specifies the list of internal knots to be used in forming the spline basis columns. For a B-spline basis, the data extremes are used as boundary knots.\",\"type\":\"standalone\"},{\"name\":\"LISTWITHBOUNDARY\",\"followsDelimiter\":\"/\",\"description\":\"Syntax: LISTWITHBOUNDARY(number-list) Specifies the list of all knots that are used in forming the spline basis columns.\",\"type\":\"standalone\"},{\"name\":\"MULTISCALE\",\"followsDelimiter\":\"/\",\"description\":\"Syntax: MULTISCALE<(multiscale-options)> Specifies that multiple B-spline bases be generated, corresponding to sets with an increasing number of internal knots. You can control which scales are included with the following multiscale-options: STARTSCALE=n specifies the start scale, where n is a positive integer. The default is STARTSCALE=0. ENDSCALE=n specifies the end scale, where n is a positive integer. The default is ENDSCALE=7.\",\"type\":\"standalone\"},{\"name\":\"PERCENTILES\",\"followsDelimiter\":\"/\",\"description\":\"Syntax: PERCENTILES(n) Requests that internal knots be placed at n equally spaced percentiles of the variable or variables named in the EFFECT statement.\",\"type\":\"standalone\"},{\"name\":\"RANGEFRACTIONS\",\"followsDelimiter\":\"/\",\"description\":\"Syntax: RANGEFRACTIONS(fraction-list) Requests that internal knots be placed at each fraction of the ranges of the variables in the EFFECT statement.\",\"type\":\"standalone\"}]},{\"name\":\"KNOTMIN=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"\",\"help\":\"KNOTMIN=*value*\",\"type\":\"value\"},{\"name\":\"LABELSTYLE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"\",\"help\":\"LABELSTYLE=EXPAND | EXPONENT | INCLUDENAME | PRODUCTSYMBOL=\",\"type\":\"choice\",\"arguments\":[{\"name\":\"EXPAND\",\"followsDelimiter\":\"/\",\"description\":\"Specifies that each variable with an exponent greater than 1 be written as products of that variable.\",\"type\":\"standalone\"},{\"name\":\"EXPONENT\",\"followsDelimiter\":\"/\",\"description\":\"Syntax: EXPONENT <=quoted string> Specifies that each variable with an exponent greater than 1 be written using exponential notation. By default, the symbol ^ is used as the exponentiation operator. If you supply the optional quoted string after an equal sign, then that string is used as the exponentiation operator.\",\"type\":\"standalone\"},{\"name\":\"INCLUDENAME\",\"followsDelimiter\":\"/\",\"description\":\"Specifies that the name of the effect followed by an underscore be used as a prefix for term labels.\",\"type\":\"standalone\"},{\"name\":\"PRODUCTSYMBOL=\",\"followsDelimiter\":\"/\",\"description\":\"Syntax: PRODUCTSYMBOL=NONE | quoted string Specifies that the supplied string be used as the product symbol.\",\"type\":\"value\"}]},{\"name\":\"MDEGREE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"\",\"help\":\"MDEGREE=*n*\",\"type\":\"value\"},{\"name\":\"NLAG=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"\",\"type\":\"value\"},{\"name\":\"NOEFFECT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"[For the MULTIMEMBER effect-type only] Specifies that, for observations with all missing levels of the multimember variables, the values in the corresponding design matrix columns be set to zero.\",\"type\":\"standalone\"},{\"name\":\"NOSEPARATE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"[For the POLYNOMIAL effect-type only] Specifies that the polynomial be treated as a single effect with multiple degrees of freedom. The effect name that you specify is used as the constructed effect name, and the labels of the terms are used as labels of the corresponding parameters.\",\"type\":\"standalone\"},{\"name\":\"PERIOD=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the period variable of the LAG design. The number of periods is the number of unique formatted values of the PERIOD= variable, and the ordering of the period is formed by sorting these formatted values in ascending order. You must specify a PERIOD= variable.\",\"help\":\"PERIOD=*variable*\",\"type\":\"value\"},{\"name\":\"SEPARATE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"[For the SPLINE effect-type only] Specifies that when multiple variables are specified in the EFFECT statement, the spline basis for each variable be treated as a separate effect. The names of these separated effects are formed by appending an underscore followed by the name of the variable to the name that you specify in the EFFECT statement.\",\"type\":\"standalone\"},{\"name\":\"SPLIT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"[For the SPLINE effect-type only] Specifies that each individual column in the design matrix that corresponds to the spline effect be treated as a separate effect that can enter or leave the model independently. Names for these split effects are generated by appending the variable name and an index for each column to the name that you specify in the EFFECT statement.\",\"type\":\"standalone\"},{\"name\":\"STANDARDIZE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies that the variables that define the polynomial be standardized. By default, the standardized variables receive prefix \\\"s_\\\" in the variable names. You can use the following centerscale-opts to specify how the center and scale are estimated: METHOD=MOMENTS specifies that the center be estimated by the variable mean and the scale be estimated by the standard deviation. METHOD=RANGE specifies that the center be estimated by the midpoint of the variable range and the scale be estimated as half the variable range. METHOD=WMOMENTS is the same as METHOD=MOMENTS except that weighted means and weighted standard deviations are used.\",\"help\":\"STANDARDIZECENTER | CENTERSCALE | NONE | SCALE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"CENTER\",\"followsDelimiter\":\"/\",\"description\":\"Specifies that variables be centered but not scaled.\",\"type\":\"standalone\"},{\"name\":\"CENTERSCALE\",\"followsDelimiter\":\"/\",\"description\":\"Specifies that variables be centered and scaled. This is the default if you do not specify a standardization-opt.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"followsDelimiter\":\"/\",\"description\":\"Specifies that no standardization be performed.\",\"type\":\"standalone\"},{\"name\":\"SCALE\",\"followsDelimiter\":\"/\",\"description\":\"Specifies that variables be scaled but not centered.\",\"type\":\"standalone\"}]},{\"name\":\"STDIZE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"[For the MULTIMEMBER effect-type only] Specifies that for each observation, the entries in the design matrix that corresponds to the multimember effect be scaled to have a sum of one.\",\"type\":\"standalone\"},{\"name\":\"WEIGHT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"\",\"help\":\"WEIGHT=*wght-list*\",\"type\":\"value\"},{\"name\":\"WITHIN=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"\",\"type\":\"value\"}]},{\"name\":\"ESTIMATE\",\"description\":\"The ESTIMATE statement provides a mechanism for obtaining custom hypothesis tests. Estimates are formed as linear estimable functions of the form Lβ. You can perform hypothesis tests for the estimable functions, construct confidence limits, and obtain specific nonlinear transformations. The basic element of the ESTIMATE statement is the estimate-specification, which consists of model effects and their coefficients. A estimate-specification takes the general form effect name <effect values ...> The following variables can appear in the ESTIMATE statement: label is an optional label that identifies the particular row of the estimate in the output. effect identifies an effect that appears in the MODEL statement. The keyword INTERCEPT can be used as an effect when an intercept is fitted in the model. You do not need to include all effects that are in the MODEL statement. values are constants that are elements of the L matrix and are associated with the fixed and random effects.\",\"help\":\"ESTIMATE &lt;ADJDFE=&lt;SOURCE | ROW&gt;&gt;&lt;ADJUST=&lt;BON | SCHEFFE | SIDAK&gt;... &gt;&lt;ALPHA=number&gt; ...\",\"arguments\":[{\"name\":\"ADJDFE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies how denominator degrees of freedom are determined when p-values and confidence limits are adjusted for multiple comparisons with the ADJUST= option.\",\"help\":\"ADJDFE=SOURCE | ROW\",\"type\":\"choice\",\"arguments\":[{\"name\":\"SOURCE\",\"followsDelimiter\":\"/\",\"description\":\"The denominator degrees of freedom for multiplicity-adjusted results are the denominator degrees of freedom for the final effect listed in the ESTIMATE statement from the 'Type III' table.\",\"type\":\"standalone\"},{\"name\":\"ROW\",\"followsDelimiter\":\"/\",\"description\":\"Useful if you want multiplicity adjustments to take into account that denominator degrees of freedom are not constant across estimates.\",\"type\":\"standalone\"}]},{\"name\":\"ADJUST=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests a multiple comparison adjustment for the p-values and confidence limits for the estimates.\",\"help\":\"ADJUST=BON | SCHEFFE | SIDAK | SIMULATE&lt;(simoptions)&gt; | T\",\"type\":\"choice\",\"arguments\":[{\"name\":\"BON\",\"followsDelimiter\":\"/\",\"description\":\"Bonferroni adjustment\",\"type\":\"standalone\"},{\"name\":\"SCHEFFE\",\"followsDelimiter\":\"/\",\"description\":\"Scheffe's adjustment\",\"type\":\"standalone\"},{\"name\":\"SIDAK\",\"followsDelimiter\":\"/\",\"description\":\"Sidak adjustment\",\"type\":\"standalone\"},{\"name\":\"SIMULATE\",\"followsDelimiter\":\"/\",\"description\":\"Computes adjusted p-values and confidence limits from the simulated distribution of the maximum or maximum absolute value of a multivariate t random vector.\",\"help\":\"SIMULATE&lt;(simoptions)&gt;\",\"type\":\"standalone\"},{\"name\":\"T\",\"followsDelimiter\":\"/\",\"description\":\"The default, which really signifies no adjustment for multiple comparisons.\",\"type\":\"standalone\"}]},{\"name\":\"ALPHA=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that a t-type confidence interval be constructed with confidence level 1-number. The value of number must be between 0 and 1; the default is 0.05.\",\"help\":\"ALPHA=*number*\",\"type\":\"value\"},{\"name\":\"CATEGORY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies how to construct estimates and multiplicity corrections for models with multinomial data (ordinal or nominal). This option is also important for constructing sets of estimable functions for F or chi-square tests with the JOINT option.\",\"help\":\"CATEGORY=JOINT | SEPARATE | &lt;*quoted-value-list*&gt;\",\"type\":\"choice\",\"arguments\":[{\"name\":\"JOINT\",\"followsDelimiter\":\"/\",\"description\":\"Computes the estimable functions for every nonredundant category and treats them as a set. For example, a three-row ESTIMATE statement in a model with three response categories leads to six estimable functions.\",\"type\":\"standalone\"},{\"name\":\"SEPARATE\",\"followsDelimiter\":\"/\",\"description\":\"Computes the estimable functions for every nonredundant category in turn. For example, a three-row ESTIMATE statement in a model with three response categories leads to two sets of three estimable functions.\",\"type\":\"standalone\"},{\"name\":\"quoted-value-list\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"Computes the estimable functions only for the list of values given. The list must consist of formatted values of the response categories.\",\"type\":\"value\"}]},{\"name\":\"CHISQ\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that chi-square tests be performed in addition to F tests, when you request an F test with the JOINT option. This option has no effect in procedures that produce chi-square statistics by default.\",\"type\":\"standalone\"},{\"name\":\"CL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that t-type confidence limits be constructed. If the procedure shows the degrees of freedom in the \\\"Estimates\\\" table as infinite, then the confidence limits are z intervals. The confidence level is 0.95 by default, and you can change the confidence level with the ALPHA= option. The confidence intervals are adjusted for multiplicity when you specify the ADJUST= option. However, if a step-down p-value adjustment is requested with the STEPDOWN option, only the p-values are adjusted for multiplicity.\",\"type\":\"standalone\"},{\"name\":\"DF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the degrees of freedom for the t test and confidence limits. This option is not supported by the procedures that perform chi-square-based inference (LOGISTIC, PHREG, and SUVEYLOGISTIC).\",\"help\":\"DF=*number*\",\"type\":\"value\"},{\"name\":\"DIVISOR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies a list of values by which to divide the coefficients so that fractional coefficients can be entered as integer numerators. If you do not specify value-list, a default value of 1.0 is assumed. Missing values in the value-list are converted to 1.0. If the number of elements in value-list exceeds the number of rows of the estimate, the extra values are ignored. If the number of elements in value-list is less than the number of rows of the estimate, the last value in value-list is copied forward. If you specify a row-specific divisor as part of the specification of the estimate row, this value multiplies the corresponding divisor that is implied by the value-list. For example, the following statement divides the coefficients in the first row by 8, and the coefficients in the third and fourth row by 3: estimate 'One vs. two' A 2 -2 (divisor=2), 'One vs. three' A 1 0 -1 , 'One vs. four' A 3 0 0 -3 , 'One vs. five' A 1 0 0 0 -1 / divisor=4,.,3;\",\"help\":\"DIVISOR=*value-list*\",\"type\":\"value\"},{\"name\":\"E\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that the L matrix coefficients be displayed.\",\"type\":\"standalone\"},{\"name\":\"EXP\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests exponentiation of the estimate. When you model data with the logit, cumulative logit, or generalized logit link functions, and the estimate represents a log odds ratio or log cumulative odds ratio, the EXP option produces an odds ratio. In proportional hazards model, this option produces estimates of hazard ratios. If you specify the CL or ALPHA= option, the (adjusted) confidence bounds are also exponentiated.\",\"type\":\"standalone\"},{\"name\":\"ILINK\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that the estimate and its standard error are also reported on the scale of the mean (the inverse linked scale).\",\"type\":\"standalone\"},{\"name\":\"JOINT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that a joint F or chi-square test be produced for the rows of the estimate. The JOINT option in the ESTIMATE statement essentially replaces the CONTRAST statement. When the LOWERTAILED or the UPPERTAILED options are in effect, or if the BOUNDS option described below is in effect, the JOINT option produces the chi-bar-square statistic according to Silvapulle and Sen (2004). This statistic uses a simulation-based approach to compute p-values in situations where the alternative hypotheses of the estimable functions are not simple two-sided hypotheses. You can specify the following joint-test-options in parentheses: ACC=γ specifies the accuracy radius for determining the necessary sample size in the simulation-based approach of Silvapulle and Sen (2004) for tests with order restrictions. The value of γ must be strictly between 0 and 1; the default value is 0.005. EPS=є specifies the accuracy confidence level for determining the necessary sample size in the simulation-based approach of Silvapulle and Sen (2004) for tests with order restrictions. The value of є must be strictly between 0 and 1; the default value is 0.01. LABEL='label' assigns an identifying label to the joint test. If you do not specify a label, the first non-default label for the ESTIMATE rows is used to label the joint test. NOEST | ONLY performs only the F or chi-square test and suppresses other results from the ESTIMATE statement. This option is useful for emulating the CONTRAST statement that is available in other procedures. NSAMP=n specifies the number of samples for the simulation-based method of Silvapulle and Sen (2004). CHISQ -- adds a chi-square test if the procedure produces an F test by default.\",\"help\":\"JOINT=ACC= | EPS= | LABEL= | NOEST | ONLY | NSAMP= | CHISQ | BOUNDS=\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ACC=\",\"type\":\"value\"},{\"name\":\"EPS=\",\"type\":\"value\"},{\"name\":\"LABEL=\",\"type\":\"value\"},{\"name\":\"NOEST\",\"type\":\"standalone\"},{\"name\":\"ONLY\",\"type\":\"standalone\"},{\"name\":\"NSAMP=\",\"type\":\"value\"},{\"name\":\"CHISQ\",\"type\":\"standalone\"},{\"name\":\"BOUNDS=\",\"type\":\"value\"}]},{\"name\":\"LOWER\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"LOWERTAILED\"],\"description\":\"Requests that the p-value for the t test be based only on values less than the test statistic. A two-tailed test is the default. A lower-tailed confidence limit is also produced if you specify the CL or ALPHA= option.\",\"type\":\"standalone\"},{\"name\":\"NOFILL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Suppresses the automatic fill-in of coefficients of higher-order effects.\",\"type\":\"standalone\"},{\"name\":\"PLOTS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Produces ODS statistical graphics of the distribution of estimable functions if the procedure performs the analysis in a sampling-based mode.\",\"help\":\"PLOTS=ALL | BOXPLOT | DISTPLOT|DIST | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ALL\",\"followsDelimiter\":\"/\",\"description\":\"Produces all possible plots with their default settings.\",\"type\":\"standalone\"},{\"name\":\"BOXPLOT\",\"followsDelimiter\":\"/\",\"description\":\"Syntax: BOXPLOT<(boxplot-options)> Produces box plots of the distribution of the estimable function across the posterior sample. A separate box is generated for each estimable function, and all boxes appear on a single graph by default. You can affect the appearance of the box plot graph with the following options: ORIENTATION=VERTICAL|HORIZONTAL ORIENT=VERT|HORIZ specifies the orientation of the boxes. The default is vertical orientation of the box plots. NPANELPOS=number specifies how to break the series of box plots across multiple panels. If the NPANELPOS option is not specified, or if number equals zero, then all box plots are displayed in a single graph; this is the default.\",\"type\":\"standalone\"},{\"name\":\"DISTPLOT\",\"followsDelimiter\":\"/\",\"description\":\"Syntax: DISTPLOT<(distplot-options)> Generates panels of histograms with a kernel density overlaid. A separate plot in each panel contains the results for each estimable function. You can specify the following distplot-options in parentheses: BOX|NOBOX controls the display of a horizontal box plot of the estimable function’s distribution across the posterior sample below the graph. The BOX option is enabled by default. HIST|NOHIST controls the display of the histogram of the estimable function’s distribution across the posterior sample. The HIST option is enabled by default. NORMAL|NONORMAL controls the display of a normal density estimate on the graph. The NONORMAL option is enabled by default. KERNEL|NOKERNEL controls the display of a kernel density estimate on the graph. The KERNEL option is enabled by default. NROWS=number specifies the highest number of rows in a panel. The default is 3. NCOLS=number specifies the highest number of columns in a panel. The default is 3. UNPACK unpacks the panel into separate graphics.\",\"help\":\"DISTPLOT|DIST\",\"type\":\"choice\"},{\"name\":\"NONE\",\"followsDelimiter\":\"/\",\"description\":\"Does not produce any plots.\",\"type\":\"standalone\"}]},{\"name\":\"SEED=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the seed for the sampling-based components of the computations for the ESTIMATE statement (for example, chi-bar-square statistics and simulated p-values). number specifies an integer that is used to start the pseudo-random number generator for the simulation. If you do not specify a seed, or if you specify a value less than or equal to zero, the seed is generated from reading the time of day from the computer clock. There could be multiple ESTIMATE statements with SEED= specifications and there could be other statements that can supply a random number seed. Since the procedure has only one random number stream, the initial seed is shown in the SAS log.\",\"help\":\"SEED=*number*\",\"type\":\"value\"},{\"name\":\"SINGULAR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Tunes the estimability checking. The value for number must be between 0 and 1; the default is 1E-4.\",\"help\":\"SINGULAR=*number*\",\"type\":\"value\"},{\"name\":\"STEPDOWN\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that multiplicity adjustments for the p-values of estimates be further adjusted in a step-down fashion. Step-down methods increase the power of multiple testing procedures by taking advantage of the fact that a p-value is never declared significant unless all smaller p-values are also declared significant. You can specify the following step-down-options in parentheses after the STEPDOWN option: MAXTIME=n specifies the time (in seconds) to be spent computing the maximal logically consistent sequential subsets of equality hypotheses for TYPE=LOGICAL. The default is MAXTIME=60. ORDER=PVALUE | ORDER=ROWS specifies the order in which the step-down tests to be performed. ORDER=PVALUE is the default, with estimates being declared significant only if all estimates with smaller (unadjusted) p-values are significant. If you specify ORDER=ROWS, then significances are evaluated in the order in which they are specified in the syntax. REPORT specifies that a report on the step-down adjustment be displayed, including a listing of the sequential subsets (Westfall 1997) and, for ADJUST=SIMULATE, the step-down simulation results.\",\"type\":\"standalone\"},{\"name\":\"TESTVALUE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"TESTMEAN=\"],\"description\":\"Specifies the value under the null hypothesis for testing the estimable functions in the ESTIMATE statement. The rules for specifying the value-list are very similar to those for specifying the divisor list in the DIVISOR= option. If no TESTVALUE= is specified, all tests are performed as H: Lβ=0. Missing values in the value-list also are translated to zeros. If you specify fewer values than rows in the ESTIMATE statement, the last value in value-list is carried forward. The TESTVALUE= option affects only p-values from individual, joint, and multiplicity-adjusted tests. It does not affect confidence intervals.\",\"help\":\"TESTVALUE=*value-list*\",\"type\":\"value\"},{\"name\":\"UPPER\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"UPPERTAILED\"],\"description\":\"Requests that the p-value for the t test be based only on values greater than the test statistic. A two-tailed test is the default. An upper-tailed confidence limit is also produced if you specify the CL or ALPHA= option.\",\"type\":\"standalone\"}]},{\"name\":\"LSMEANS\",\"description\":\"The LSMEANS statement computes and compares least squares means (LS-means) of fixed effects. LS-means are predicted population margins—that is, they estimate the marginal means over a balanced population. In a sense, LS-means are to unbalanced designs as class and subclass arithmetic means are to balanced designs.\",\"help\":\"LSMEANS &lt;ADJDFE=&lt;SOURCE | ROW&gt;&gt;&lt;ADJUST=&lt;BON | DUNNETT | NELSON&gt;... &gt;&lt;ALPHA=number&gt; ...\",\"arguments\":[{\"name\":\"ADJDFE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies how denominator degrees of freedom are determined when p-values and confidence limits are adjusted for multiple comparisons with the ADJUST= option.\",\"help\":\"ADJDFE=SOURCE | ROW\",\"type\":\"choice\",\"arguments\":[{\"name\":\"SOURCE\",\"followsDelimiter\":\"/\",\"description\":\"The denominator degrees of freedom for multiplicity-adjusted results are the denominator degrees of freedom for the LS-mean effect in the \\\"Type III Tests of Fixed Effects\\\" table.\",\"type\":\"standalone\"},{\"name\":\"ROW\",\"followsDelimiter\":\"/\",\"description\":\"Useful if you want multiplicity adjustments to take into account that denominator degrees of freedom are not constant across LS-mean differences.\",\"type\":\"standalone\"}]},{\"name\":\"ADJUST=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests a multiple comparison adjustment for the p-values and confidence limits for the differences of LS-means.\",\"help\":\"ADJUST=BON | DUNNETT | NELSON | SCHEFFE | SIDAK | SIMULATE | SMM|GT2 | TUKEY\",\"type\":\"choice\",\"arguments\":[{\"name\":\"BON\",\"followsDelimiter\":\"/\",\"description\":\"Bonferroni adjustment\",\"type\":\"standalone\"},{\"name\":\"DUNNETT\",\"followsDelimiter\":\"/\",\"description\":\"Dunnett adjustment (in which the procedure analyzes all differences with a control level)\",\"type\":\"standalone\"},{\"name\":\"NELSON\",\"followsDelimiter\":\"/\",\"description\":\"Nelson adjustment (in which ANOM differences are taken)\",\"type\":\"standalone\"},{\"name\":\"SCHEFFE\",\"followsDelimiter\":\"/\",\"description\":\"Scheffe's adjustment\",\"type\":\"standalone\"},{\"name\":\"SIDAK\",\"followsDelimiter\":\"/\",\"description\":\"Sidak adjustment\",\"type\":\"standalone\"},{\"name\":\"SIMULATE\",\"followsDelimiter\":\"/\",\"description\":\"Computes adjusted p-values and confidence limits from the simulated distribution of the maximum or maximum absolute value of a multivariate t random vector. Syntax: SIMULATE<(simoptions)> You can specify the following simoptions in parentheses after the ADJUST=SIMULATE option. ACC=value specifies the target accuracy radius γ of a 100(1-ε)% confidence interval for the true probability content of the estimated (1-α)th quantile. The default value is ACC=0.005. EPS=value specifies the value ε for a 100(1-ε)% confidence interval for the true probability content of the estimated (1-α)th quantile. The default value is ACC=0.005. NSAMP=n specifies the sample size for the simulation. SEED=number specifies an integer that is used to start the pseudo-random number generator for the simulation. THREADS specifies that the computational work for the simulation be divided into parallel threads, where the number of threads is the value of the SAS system option CPUCOUNT=. NOTHREADS specifies that the computational work for the simulation be performed in sequence rather than in parallel. NOTHREADS is the default. This option overrides the SAS system option THREADS|NOTHREADS.\",\"type\":\"standalone\"},{\"name\":\"SMM\",\"followsDelimiter\":\"/\",\"description\":\"SMM adjustment\",\"help\":\"SMM|GT2\",\"type\":\"choice\"},{\"name\":\"TUKEY\",\"followsDelimiter\":\"/\",\"description\":\"If your data are unbalanced, PROC GLIMMIX uses the approximation described in Kramer (1956) and identifies the adjustment as \\\"Tukey-Kramer\\\" in the results.\",\"type\":\"standalone\"}]},{\"name\":\"ALPHA=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that a t-type confidence interval be constructed for each of the LS-means with confidence level (1-number)x100%. The value of number must be between 0 and 1; the default is 0.05.\",\"help\":\"ALPHA=*number*\",\"type\":\"value\"},{\"name\":\"AT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Modifies the values of the covariates that are used in computing LS-means. By default, all covariate effects are set equal to their mean values for computation of standard LS-means. The AT option enables you to assign arbitrary values to the covariates. Additional columns in the output table indicate the values of the covariates.\",\"help\":\"AT=MEANS\",\"type\":\"choice\",\"arguments\":[{\"name\":\"MEANS\",\"type\":\"standalone\"}]},{\"name\":\"BYLEVEL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that separate margins be computed for each level of the LSMEANS effect.\",\"type\":\"standalone\"},{\"name\":\"CL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that t-type confidence limits be constructed for each of the LS-means. The confidence level is 0.95 by default; this can be changed with the ALPHA= option.\",\"type\":\"standalone\"},{\"name\":\"CORR\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays the estimated correlation matrix of the least squares means as part of the \\\"Least Squares Means\\\" table.\",\"type\":\"standalone\"},{\"name\":\"COV\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays the estimated covariance matrix of the least squares means as part of the \\\"Least Squares Means\\\" table.\",\"type\":\"standalone\"},{\"name\":\"DF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the degrees of freedom for the t test and confidence limits. The default is the denominator degrees of freedom taken from the \\\"Type III Tests\\\" table that corresponds to the LS-means effect.\",\"help\":\"DF=*number*\",\"type\":\"value\"},{\"name\":\"DIFF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"PDIFF=\"],\"description\":\"Requests that differences of the LS-means be displayed.\",\"help\":\"DIFF=ALL | ANOM | CONTROL | CONTROLL | CONTROLU\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ALL\",\"followsDelimiter\":\"/\",\"description\":\"Requests all pairwise differences; this is the default.\",\"type\":\"standalone\"},{\"name\":\"ANOM\",\"followsDelimiter\":\"/\",\"description\":\"Requests differences between each LS-mean and the average LS-mean, as in the analysis of means (Ott 1967).\",\"type\":\"standalone\"},{\"name\":\"CONTROL\",\"followsDelimiter\":\"/\",\"description\":\"Requests the differences with a control, which, by default, is the first level of each of the specified LSMEANS effects.\",\"type\":\"standalone\"},{\"name\":\"CONTROLL\",\"followsDelimiter\":\"/\",\"description\":\"Tests whether the noncontrol levels are significantly smaller than the control; the upper confidence limits for the control minus the noncontrol levels are considered to be infinity and are displayed as missing.\",\"type\":\"standalone\"},{\"name\":\"CONTROLU\",\"followsDelimiter\":\"/\",\"description\":\"Tests whether the noncontrol levels are significantly larger than the control; the upper confidence limits for the noncontrol levels minus the control are considered to be infinity and are displayed as missing.\",\"type\":\"standalone\"}]},{\"name\":\"E\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that the L matrix coefficients for the LSMEANS effects be displayed.\",\"type\":\"standalone\"},{\"name\":\"EXP\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests exponentiation of the LS-means or LS-mean differences. When you model data with the logit, cumulative logit, or generalized logit link functions, and the estimate represents a log odds ratio or log cumulative odds ratio, the EXP option produces an odds ratio. In proportional hazards model, the exponentiation of the LS-mean differences produces estimates of hazard ratios. If you specify the CL or ALPHA= option, the (adjusted) confidence bounds are also exponentiated.\",\"type\":\"standalone\"},{\"name\":\"ILINK\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that estimates and their standard errors in the \\\"Least Squares Means\\\" table also be reported on the scale of the mean (the inverse linked scale).\",\"type\":\"standalone\"},{\"name\":\"LINES\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Presents results of comparisons between all pairs of least squares means by listing the means in descending order and indicating nonsignificant subsets by line segments beside the corresponding LS-means.\",\"type\":\"standalone\"},{\"name\":\"MEANS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies to produce the table of least squares means. This is the default.\",\"type\":\"standalone\"},{\"name\":\"NOMEANS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies not to produce the table of least squares means.\",\"type\":\"standalone\"},{\"name\":\"OBSMARGINS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"OM=\"],\"description\":\"Specifies a potentially different weighting scheme for the computation of LS-means coefficients. The standard LS-means have equal coefficients across classification effects; however, the OM option changes these coefficients to be proportional to those found in the OM-data-set. This adjustment is reasonable when you want your inferences to apply to a population that is not necessarily balanced but has the margins that are observed in OM-data-set.\",\"type\":\"value\"},{\"name\":\"ODDSRATIO\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"OR\"],\"description\":\"Requests that LS-mean differences (DIFF, ADJUST= options) are also reported in terms of odds ratios. The ODDSRATIO option is ignored unless you use either the logit, cumulative logit, or generalized logit link function. If you specify the CL or ALPHA= option, confidence intervals for the odds ratios are also computed. These intervals are adjusted for multiplicity when you specify the ADJUST= option.\",\"type\":\"standalone\"},{\"name\":\"PDIFF\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Is the same as the DIFF option.\",\"type\":\"standalone\"},{\"name\":\"PLOT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"PLOTS=\"],\"description\":\"Requests that least squares means related graphics are produced via ODS Graphics, provided that the ODS GRAPHICS statement has been specified and the plot request does not conflict with other options in the LSMEANS statement.\",\"help\":\"PLOT=ALL | ANOMPLOT|ANOM | BOXPLOT | CONTROLPLOT|CONTROL | DIFFPLOT|DIFFOGRAM|DIFF | DISTPLOT|DIST | MEANPLOT | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ALL\",\"followsDelimiter\":\"/\",\"description\":\"Requests that the default plots corresponding to this LSMEANS statement be produced.\",\"type\":\"standalone\"},{\"name\":\"ANOMPLOT\",\"followsDelimiter\":\"/\",\"description\":\"Requests an analysis of means display in which least squares means are compared to an average least squares mean.\",\"help\":\"ANOMPLOT|ANOM\",\"type\":\"choice\"},{\"name\":\"BOXPLOT\",\"followsDelimiter\":\"/\",\"description\":\"Syntax: BOXPLOT<boxplot-options>> Produces box plots of the distribution of the least squares mean or least squares mean differences across a posterior sample. For example, this plot is available in procedures that support a Bayesian analysis through the BAYES statement. A separate box is generated for each estimable function, and all boxes appear on a single graph by default. You can affect the appearance of the box plot graph with the following options: ORIENTATION=VERTICAL|HORIZONTAL ORIENT=VERT|HORIZ specifies the orientation of the boxes. The default is vertical orientation of the box plots. NPANELPOS=number specifies how to break the series of box plots across multiple panels. If the NPANELPOS option is not specified, or if number equals zero, then all box plots are displayed in a single graph; this is the default.\",\"type\":\"standalone\"},{\"name\":\"CONTROLPLOT\",\"followsDelimiter\":\"/\",\"description\":\"Requests a display in which least squares means are visually compared against a reference level.\",\"help\":\"CONTROLPLOT|CONTROL\",\"type\":\"choice\"},{\"name\":\"DIFFPLOT\",\"followsDelimiter\":\"/\",\"description\":\"Requests a display of all pairwise least squares mean differences and their significance. Syntax: DIFFPLOT<(diffplot-options)> You can specify the following diffplot-options: ABS all line segments are shown on the same side of the reference line. NOABS separates comparisons according to the sign of the difference. CENTER marks the center point for each comparison. NOLINES suppresses the display of the line segments that represent the confidence bounds for the differences of the least squares means. The NOLINES option implies the CENTER option.\",\"help\":\"DIFFPLOT|DIFFOGRAM|DIFF\",\"type\":\"choice\"},{\"name\":\"DISTPLOT\",\"followsDelimiter\":\"/\",\"description\":\"Syntax: DISTPLOT<distplot-options> Generates panels of histograms with a kernel density overlaid if the analysis has access to a set of posterior parameter estimates. You can sepcify the following distplot-options in parentheses: BOX|NOBOX controls the display of a horizontal box plot of the estimable function’s distribution across the posterior sample below the graph. The BOX option is enabled by default. HIST|NOHIST controls the display of the histogram of the estimable function’s distribution across the posterior sample. The HIST option is enabled by default. NORMAL|NONORMAL controls the display of a normal density estimate on the graph. The NONORMAL option is enabled by default. KERNEL|NOKERNEL controls the display of a kernel density estimate on the graph. The KERNEL option is enabled by default. NROWS=number specifies the highest number of rows in a panel. The default is 3. NCOLS=number specifies the highest number of columns in a panel. The default is 3. UNPACK unpacks the panel into separate graphics.\",\"help\":\"DISTPLOT|DIST\",\"type\":\"choice\"},{\"name\":\"MEANPLOT\",\"followsDelimiter\":\"/\",\"description\":\"Syntax: MEANPLOT<(meanplot-options)> Requests displays of the least squares means. The following meanplot-options control the display of the least squares means: ASCENDING displays the least squares means in ascending order. This option has no effect if means are sliced or displayed in separate plots. CL displays upper and lower confidence limits for the least squares means. By default, 95% limits are drawn. CLBAND displays confidence limits as bands. This option implies the JOIN option. DESCENDING displays the least squares means in descending order. This option has no effect if means are sliced or displayed in separate plots. ILINK requests that means (and confidence limits) are displayed on the inverse linked scale. JOIN | CONNECT connects the least squares means with lines. This option is implied by the CLBAND option. SLICEBY=fixed-effect specifies an effect by which to group the means in a single plot. PLOTBY=fixed-effect specifies an effect by which to break interaction plots into separate displays.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"followsDelimiter\":\"/\",\"description\":\"Requests that no plots be produced.\",\"type\":\"standalone\"}]},{\"name\":\"SEED=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the seed for the sampling-based components of the computations for the LSMEANS statement (for example, chi-bar-square statistics and simulated p-values). number specifies an integer that is used to start the pseudo-random-number generator for the simulation. If you do not specify a seed, or if you specify a value less than or equal to zero, the seed is generated from reading the time of day from the computer clock.\",\"help\":\"SEED=*number*\",\"type\":\"value\"},{\"name\":\"SINGULAR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Tunes the estimability checking. The value for number must be between 0 and 1; the default is 1E-4.\",\"help\":\"SINGULAR=*number*\",\"type\":\"value\"},{\"name\":\"STEPDOWN=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that multiple comparison adjustments for the p-values of LS-mean differences be further adjusted in a step-down fashion. Step-down methods increase the power of multiple comparisons by taking advantage of the fact that a p-value is never declared significant unless all smaller p-values are also declared significant. You can specify the following step-down options in parentheses: MAXTIME=n specifies the time (in seconds) to spend computing the maximal logically consistent sequential subsets of equality hypotheses for TYPE=LOGICAL. REPORT specifies that a report on the step-down adjustment should be displayed, including a listing of the sequential subsets (Westfall 1997) and, for ADJUST=SIMULATE, the step-down simulation results.\",\"help\":\"STEPDOWN=MAXTIME= | REPORT | TYPE=\",\"type\":\"choice\",\"arguments\":[{\"name\":\"MAXTIME=\",\"type\":\"value\"},{\"name\":\"REPORT\",\"type\":\"standalone\"},{\"name\":\"TYPE=\",\"type\":\"value\"}]}]},{\"name\":\"LSMESTIMATE\",\"description\":\"The LSMESTIMATE statement provides a mechanism for obtaining custom hypothesis tests among least squares means.\",\"help\":\"LSMESTIMATE &lt;ADJDFE=&lt;SOURCE | ROW&gt;&gt;&lt;ADJUST=&lt;BON | SCHEFFE | SIDAK&gt;... &gt;&lt;ALPHA=number&gt; ...\",\"arguments\":[{\"name\":\"ADJDFE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies how denominator degrees of freedom are determined when p-values and confidence limits are adjusted for multiple comparisons with the ADJUST= option.\",\"help\":\"ADJDFE=SOURCE | ROW\",\"type\":\"choice\",\"arguments\":[{\"name\":\"SOURCE\",\"followsDelimiter\":\"/\",\"description\":\"The denominator degrees of freedom for multiplicity-adjusted results are the denominator degrees of freedom for the LS-mean effect in the \\\"Type III Tests of Fixed Effects\\\" table.\",\"type\":\"standalone\"},{\"name\":\"ROW\",\"followsDelimiter\":\"/\",\"description\":\"Useful if you want multiplicity adjustments to take into account that denominator degrees of freedom are not constant across estimates.\",\"type\":\"standalone\"}]},{\"name\":\"ADJUST=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests a multiple comparison adjustment for the p-values and confidence limits for the LS-mean estimates. The adjusted quantities are produced in addition to the unadjusted p-values and confidence limits. Adjusted confidence limits are produced if the CL or ALPHA= option is in effect.\",\"help\":\"ADJUST=BON | SCHEFFE | SIDAK | SIMULATE | T\",\"type\":\"choice\",\"arguments\":[{\"name\":\"BON\",\"followsDelimiter\":\"/\",\"description\":\"Bonferroni adjustment\",\"type\":\"standalone\"},{\"name\":\"SCHEFFE\",\"followsDelimiter\":\"/\",\"description\":\"Scheffe's adjustment\",\"type\":\"standalone\"},{\"name\":\"SIDAK\",\"followsDelimiter\":\"/\",\"description\":\"Sidak adjustment\",\"type\":\"standalone\"},{\"name\":\"SIMULATE\",\"followsDelimiter\":\"/\",\"description\":\"Computes adjusted p-values and confidence limits from the simulated distribution of the maximum or maximum absolute value of a multivariate t random vector. Syntax: SIMULATE<(simoptions)> You can specify the following simoptions in parentheses after the ADJUST=SIMULATE option. ACC=value specifies the target accuracy radius γ of a 100(1-ε)% confidence interval for the true probability content of the estimated (1-α)th quantile. The default value is ACC=0.005. EPS=value specifies the value ε for a 100(1-ε)% confidence interval for the true probability content of the estimated (1-α)th quantile. The default value is ACC=0.005. NSAMP=n specifies the sample size for the simulation. SEED=number specifies an integer that is used to start the pseudo-random number generator for the simulation. THREADS specifies that the computational work for the simulation be divided into parallel threads, where the number of threads is the value of the SAS system option CPUCOUNT=. NOTHREADS specifies that the computational work for the simulation be performed in sequence rather than in parallel. NOTHREADS is the default. This option overrides the SAS system option THREADS|NOTHREADS.\",\"type\":\"standalone\"},{\"name\":\"T\",\"followsDelimiter\":\"/\",\"description\":\"The default, which really signifies no adjustment for multiple comparisons.\",\"type\":\"standalone\"}]},{\"name\":\"ALPHA=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that a t-type confidence interval be constructed for each of the LS-means with confidence level 1-number. The value of number must be between 0 and 1; the default is 0.05.\",\"help\":\"ALPHA=*number*\",\"type\":\"value\"},{\"name\":\"AT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Modifies the values of the covariates used in computing LS-means. By default, all covariate effects are set equal to their mean values for computation of standard LS-means. The AT option enables you to assign arbitrary values to the covariates. Additional columns in the output table indicate the values of the covariates.\",\"help\":\"AT=MEANS\",\"type\":\"choice\",\"arguments\":[{\"name\":\"MEANS\",\"type\":\"standalone\"}]},{\"name\":\"BYLEVEL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that the procedure compute separate margins for each level of the LSMEANS effect.\",\"type\":\"standalone\"},{\"name\":\"CATEGORY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies how to construct estimates and multiplicity corrections for models with multinomial data (ordinal or nominal). This option is also important for constructing sets of estimable functions for F tests with the JOINT option.\",\"help\":\"CATEGORY=JOINT | SEPARATE | &lt;*quoted-value-list*&gt;\",\"type\":\"choice\",\"arguments\":[{\"name\":\"JOINT\",\"followsDelimiter\":\"/\",\"description\":\"Computes the estimable functions for every nonredundant category and treats them as a set. For example, a three-row LSESTIMATE statement in a model with three response categories leads to six estimable functions.\",\"type\":\"standalone\"},{\"name\":\"SEPARATE\",\"followsDelimiter\":\"/\",\"description\":\"Computes the estimable functions for every nonredundant category in turn. For example, a three-row LSESTIMATE statement in a model with three response categories leads to two sets of three estimable functions.\",\"type\":\"standalone\"},{\"name\":\"quoted-value-list\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"Computes the estimable functions only for the list of values given. The list must consist of formatted values of the response categories.\",\"type\":\"value\"}]},{\"name\":\"CHISQ\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that chi-square tests be performed in addition to F tests, when you request an F test with the JOINT option. This option has no effect in procedures that produce chi-square statistics by default.\",\"type\":\"standalone\"},{\"name\":\"CL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that t-type confidence limits be constructed for each of the LS-means. The confidence level is 0.95 by default; this can be changed with the ALPHA= option.\",\"type\":\"standalone\"},{\"name\":\"CORR\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays the estimated correlation matrix of the linear combination of the least squares means.\",\"type\":\"standalone\"},{\"name\":\"COV\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays the estimated covariance matrix of the linear combination of the least squares means.\",\"type\":\"standalone\"},{\"name\":\"DF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the degrees of freedom for the t test and confidence limits.\",\"help\":\"DF=*number*\",\"type\":\"value\"},{\"name\":\"DIVISOR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies a list of values by which to divide the coefficients so that fractional coefficients can be entered as integer numerators. If you do not specify value-list, a default value of 1.0 is assumed. Missing values in the value-list are converted to 1.0.\",\"help\":\"DIVISOR=*value-list*\",\"type\":\"value\"},{\"name\":\"E\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that the L coefficients of the estimable function be displayed.\",\"type\":\"standalone\"},{\"name\":\"ELSM\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that the K matrix coefficients be displayed. These are the coefficients that apply to the LS-means. This option is useful to ensure that you assigned the coefficients correctly to the LS-means.\",\"type\":\"standalone\"},{\"name\":\"EXP\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests exponentiation of the least squares means estimate. When you model data with the logit link function and the estimate represents a log odds ratio, the EXP option produces an odds ratio. If you specify the CL or ALPHA= option, the (adjusted) confidence limits for the estimate are also exponentiated.\",\"type\":\"standalone\"},{\"name\":\"ILINK\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that the estimate and its standard error are also reported on the scale of the mean (the inverse linked scale).\",\"type\":\"standalone\"},{\"name\":\"JOINT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that a joint F or chi-square test be produced for the rows of the estimate. You can specify the following joint-test-options in parentheses: ACC=γ specifies the accuracy radius for determining the necessary sample size in the simulation-based approach of Silvapulle and Sen (2004) for tests with order restrictions. The value of γ must be strictly between 0 and 1; the default value is 0.005. EPS=є specifies the accuracy confidence level for determining the necessary sample size in the simulation-based approach of Silvapulle and Sen (2004) for tests with order restrictions. The value of є must be strictly between 0 and 1; the default value is 0.01. LABEL='label' assigns an identifying label to the joint test. If you do not specify a label, the first non-default label for the ESTIMATE rows is used to label the joint test. NOEST | ONLY performs only the F or chi-square test and suppresses other results from the ESTIMATE statement. This option is useful for emulating the CONTRAST statement that is available in other procedures. NSAMP=n specifies the number of samples for the simulation-based method of Silvapulle and Sen (2004). CHISQ -- adds a chi-square test if the procedure produces an F test by default.\",\"help\":\"JOINT=ACC= | EPS= | LABEL= | NOEST | ONLY | NSAMP= | CHISQ | BOUNDS=\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ACC=\",\"type\":\"value\"},{\"name\":\"EPS=\",\"type\":\"value\"},{\"name\":\"LABEL=\",\"type\":\"value\"},{\"name\":\"NOEST\",\"type\":\"standalone\"},{\"name\":\"ONLY\",\"type\":\"standalone\"},{\"name\":\"NSAMP=\",\"type\":\"value\"},{\"name\":\"CHISQ\",\"type\":\"standalone\"},{\"name\":\"BOUNDS=\",\"type\":\"value\"}]},{\"name\":\"LOWER\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"LOWERTAILED\"],\"description\":\"Requests that the p-value for the t test be based only on values less than the test statistic. A two-tailed test is the default. A lower-tailed confidence limit is also produced if you specify the CL or ALPHA= option.\",\"type\":\"standalone\"},{\"name\":\"OBSMARGINS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"OM=\"],\"description\":\"Specifies a potentially different weighting scheme for the computation of LS-means coefficients. The standard LS-means have equal coefficients across classification effects; however, the OM option changes these coefficients to be proportional to those found in the OM-data-set. This adjustment is reasonable when you want your inferences to apply to a population that is not necessarily balanced but has the margins observed in OM-data-set.\",\"type\":\"value\"},{\"name\":\"PLOTS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Produces ODS statistical graphics of the distribution of estimable functions if the procedure performs the analysis in a sampling-based mode.\",\"help\":\"PLOTS=ALL | BOXPLOT | DISTPLOT|DIST | NONE*plot-options*\",\"type\":\"value\",\"arguments\":[{\"name\":\"ALL\",\"followsDelimiter\":\"/\",\"description\":\"Requests that the default plots corresponding to this LSMEANS statement be produced.\",\"type\":\"standalone\"},{\"name\":\"BOXPLOT\",\"followsDelimiter\":\"/\",\"description\":\"Syntax: BOXPLOT<boxplot-options>> Produces box plots of the distribution of the least squares mean or least squares mean differences across a posterior sample. For example, this plot is available in procedures that support a Bayesian analysis through the BAYES statement. A separate box is generated for each estimable function, and all boxes appear on a single graph by default. You can affect the appearance of the box plot graph with the following options: ORIENTATION=VERTICAL|HORIZONTAL ORIENT=VERT|HORIZ specifies the orientation of the boxes. The default is vertical orientation of the box plots. NPANELPOS=number specifies how to break the series of box plots across multiple panels. If the NPANELPOS option is not specified, or if number equals zero, then all box plots are displayed in a single graph; this is the default.\",\"type\":\"standalone\"},{\"name\":\"DISTPLOT\",\"followsDelimiter\":\"/\",\"description\":\"Syntax: DISTPLOT<distplot-options> Generates panels of histograms with a kernel density overlaid if the analysis has access to a set of posterior parameter estimates. You can sepcify the following distplot-options in parentheses: BOX|NOBOX controls the display of a horizontal box plot of the estimable function’s distribution across the posterior sample below the graph. The BOX option is enabled by default. HIST|NOHIST controls the display of the histogram of the estimable function’s distribution across the posterior sample. The HIST option is enabled by default. NORMAL|NONORMAL controls the display of a normal density estimate on the graph. The NONORMAL option is enabled by default. KERNEL|NOKERNEL controls the display of a kernel density estimate on the graph. The KERNEL option is enabled by default. NROWS=number specifies the highest number of rows in a panel. The default is 3. NCOLS=number specifies the highest number of columns in a panel. The default is 3. UNPACK unpacks the panel into separate graphics.\",\"help\":\"DISTPLOT|DIST\",\"type\":\"choice\"},{\"name\":\"NONE\",\"followsDelimiter\":\"/\",\"description\":\"Requests that no plots be produced.\",\"type\":\"standalone\"}]},{\"name\":\"SINGULAR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Tunes the estimability checking as documented for the ESTIMATE statement.\",\"help\":\"SINGULAR=*number*\",\"type\":\"value\"},{\"name\":\"STEPDOWN\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that multiplicity adjustments for the p-values of estimates be further adjusted in a step-down fashion. Step-down methods increase the power of multiple testing procedures by taking advantage of the fact that a p-value is never declared significant unless all smaller p-values are also declared significant. You can specify the following step-down-options in parentheses: MAXTIME=n specifies the time (in seconds) to spend computing the maximal logically consistent sequential subsets of equality hypotheses for TYPE=LOGICAL. The default is MAXTIME=60. ORDER=PVALUE ORDER=ROWS specifies the order in which the step-down tests are performed. ORDER=PVALUE is the default, with LS-mean estimates being declared significant only if all LS-mean estimates with smaller (unadjusted) p-values are significant. If you specify ORDER=ROWS, then significances are evaluated in the order in which they are specified. REPORT specifies that a report on the step-down adjustment be displayed, including a listing of the sequential subsets (Westfall 1997) and, for ADJUST=SIMULATE, the step-down simulation results.\",\"type\":\"standalone\"},{\"name\":\"TESTVALUE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"TESTMEAN=\"],\"description\":\"Specifies the value under the null hypothesis for testing the estimable functions in the LSMESTIMATE statement. The rules for specifying the value-list are very similar to those for specifying the divisor list in the DIVISOR= option. If no TESTVALUE= is specified, all tests are performed as H: Lβ=0. Missing values in the value-list also are translated to zeros. If you specify fewer values than rows in the ESTIMATE statement, the last value in value-list is carried forward. The TESTVALUE= option affects only p-values from individual, joint, and multiplicity-adjusted tests. It does not affect confidence intervals.\",\"help\":\"TESTVALUE=*value-list*\",\"type\":\"value\"},{\"name\":\"UPPER\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"UPPERTAILED\"],\"description\":\"Requests that the p-value for the t test be based only on values greater than the test statistic. A two-tailed test is the default. An upper-tailed confidence limit is also produced if you specify the CL or ALPHA= option.\",\"type\":\"standalone\"}]},{\"name\":\"MODEL\",\"description\":\"The MODEL statement specifies the dependent (response) variable and the independent (regressor) variables or effects. The dependent variable must be numeric. Each term in a MODEL statement, called an effect, is a variable or a combination of variables. You can specify an effect with a variable name or with special notation by using variable names and operators.\",\"help\":\"MODEL &lt;ADJRSQ&gt;&lt;ANOVA&gt;&lt;CLPARM&gt; ...\",\"arguments\":[{\"name\":\"ADJRSQ\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests the procedure compute the adjusted multiple R-square.\",\"type\":\"standalone\"},{\"name\":\"ANOVA\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests the ANOVA table be produced in the output. By default, the ANOVA table is not printed in the output.\",\"type\":\"standalone\"},{\"name\":\"CLPARM\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests confidence limits for the parameter estimates. The SURVEYREG procedure determines the confidence coefficient by using the ALPHA= option, which by default equals 0.05 and produces 95% confidence bounds. The CLPARM option also requests confidence limits for all the estimable linear functions of regression parameters in the ESTIMATE statements.\",\"type\":\"standalone\"},{\"name\":\"COVB\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays the estimated covariance matrix of the estimated regression estimates.\",\"type\":\"standalone\"},{\"name\":\"DEFF\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays design effects for the regression coefficient estimates.\",\"type\":\"standalone\"},{\"name\":\"DF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the denominator degrees of freedom for the F tests and the degrees of freedom for the t tests. The default is the number of clusters (or the number of observations if there is no CLUSTER statement) minus the number of actual strata. The number of actual strata equals the number of strata in the data before collapsing minus the number of strata collapsed plus 1.\",\"help\":\"DF=*value*\",\"type\":\"value\"},{\"name\":\"INVERSE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays the inverse or the generalized inverse of the X'X matrix. When there is a WEIGHT variable, the procedure displays the inverse or the generalized inverse of the X'WX matrix, where W is the diagonal matrix constructed from WEIGHT variable values.\",\"type\":\"standalone\"},{\"name\":\"NOINT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Omits the intercept from the model.\",\"type\":\"standalone\"},{\"name\":\"PARMLEVEL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays the labels of the parameters in the \\\"Estimated Regression Coefficients\\\" table.\",\"type\":\"standalone\"},{\"name\":\"SINGULAR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Tunes the estimability checking.\",\"help\":\"SINGULAR=*value*\",\"type\":\"value\"},{\"name\":\"SOLUTION\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays a solution to the normal equations, which are the parameter estimates. The SOLUTION option is useful only when you use a CLASS statement. If you do not specify a CLASS statement, PROC SURVEYREG displays parameter estimates by default. But if you specify a CLASS statement, PROC SURVEYREG does not display parameter estimates unless you also specify the SOLUTION option.\",\"type\":\"standalone\"},{\"name\":\"STB\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Produces standardized regression coefficients. A standardized regression coefficient is computed by dividing a parameter estimate by the ratio of the sample standard deviation of the dependent variable to the sample standard deviation of the regressor.\",\"type\":\"standalone\"},{\"name\":\"VADJUST=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies whether to use degrees of freedom adjustment (n-1)/(n-p) in the computation of the matrix G for the variance estimation.\",\"help\":\"VADJUST=DF | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DF\",\"followsDelimiter\":\"/\",\"description\":\"Specifies to use degrees of freedom adjustment (n-1)/(n-p) in the computation of the matrix G for the variance estimation.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"followsDelimiter\":\"/\",\"description\":\"Specifies not to use degrees of freedom adjustment (n-1)/(n-p) in the computation of the matrix G for the variance estimation.\",\"type\":\"standalone\"}]},{\"name\":\"XPX\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays the X'X matrix, or the X'WX matrix when there is a WEIGHT variable, where W is the diagonal matrix constructed from WEIGHT variable values. The X option also displays the crossproducts vector X'y or X'Wy.\",\"type\":\"standalone\"}]},{\"name\":\"OUTPUT\",\"description\":\"The OUTPUT statement creates a new SAS data set that contains all the variables in the input data set and, optionally, the estimated linear predictors and their standard error estimates, the residuals from the linear regression, and the confidence limits for the predictors. keyword <=variable-name> specifies the statistics to include in the output data set and names the new variables that contain the statistics.\",\"help\":\"OUTPUT LCLM PREDICTED RESIDUAL ...\",\"arguments\":[{\"name\":\"LCLM\",\"description\":\"Lower bound of a 100(1-α)% confidence interval for the expected value (mean) of the predicted value. The α level is equal to the value of the ALPHA= option in the OUTPUT statement or, if this option is not specified, to the ALPHA= option in the PROC SURVEYREG statement. If neither of these options is set, then α=0.05 by default, resulting in the lower bound for a 95% confidence interval. If no variable name is given for this keyword, the default variable name is _LCLM_.\",\"type\":\"standalone\"},{\"name\":\"PREDICTED\",\"aliases\":[\"PRED\"],\"description\":\"Predicted values. If no variable name is given for this keyword, the default variable name is _PREDICTED_.\",\"type\":\"standalone\"},{\"name\":\"RESIDUAL\",\"description\":\"Residuals, calculated as ACTUAL - PREDICTED. If no variable name is given for this keyword, the default variable name is _RESIDUAL_.\",\"type\":\"standalone\"},{\"name\":\"STDP\",\"aliases\":[\"STD\"],\"description\":\"Standard error of the mean predicted value. If no variable name is given for this keyword, the default variable name is _STD_.\",\"type\":\"standalone\"},{\"name\":\"UCLM\",\"description\":\"Upper bound of a 100(1-α)% confidence interval for the expected value (mean) of the predicted value. The α level is equal to the value of the ALPHA= option in the OUTPUT statement or, if this option is not specified, to the ALPHA= option in the PROC SURVEYREG statement. If neither of these options is set, then α=0.05 by default, resulting in the upper bound for a 95% confidence interval. If no variable name is given for this keyword, the default variable name is _UCLM_.\",\"type\":\"standalone\"},{\"name\":\"ALPHA=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the level of significance α for 100(1-α)% confidence intervals. By default, α is equal to the value of the ALPHA= option in the PROC SURVEYREG statement or 0.05 if that option is not specified. You can use values between 0 and 1.\",\"type\":\"value\"}]},{\"name\":\"REPWEIGHTS\",\"description\":\"The REPWEIGHTS statement names variables that provide replicate weights for BRR or jackknife variance estimation, which you request with the VARMETHOD=BRR or VARMETHOD=JACKKNIFE option in the PROC SURVEYREG statement. If you do not provide replicate weights for these methods by using a REPWEIGHTS statement, then the procedure constructs replicate weights for the analysis. Each REPWEIGHTS variable should contain the weights for a single replicate, and the number of replicates equals the number of REPWEIGHTS variables. The REPWEIGHTS variables must be numeric, and the variable values must be nonnegative numbers.\",\"help\":\"REPWEIGHTS &lt;DF=df&gt;&lt;JKCOEFS=jackknife-coefficient-specification&gt;\",\"arguments\":[{\"name\":\"DF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the degrees of freedom for the analysis. The value of df must be a positive number. PROC SURVEYPHREG also use the DF= value in computing the denominator degrees of freedom for the F statistics in Wald type tests and confidence intervals.\",\"help\":\"DF=*df*\",\"type\":\"value\"},{\"name\":\"JKCOEFS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies jackknife coefficients for VARMETHOD=JACKKNIFE. The default value for the jackknife coefficient is (R-1)/R, where R is the total number of replicates. You can specify an alternative value with one of the following three forms: JKCOEFS=value specifies a single jackknife coefficient for all replicates. The coefficient value must be a nonnegative number. JKCOEFS=(values) specifies jackknife coefficients for VARMETHOD=JACKKNIFE, where each coefficient corresponds to an individual replicate identified by a REPWEIGHTS variable. You can separate values with blanks or commas. The coefficient values must be nonnegative numbers. The number of values must equal the number of replicate weight variables named in the REPWEIGHTS statement. List these values in the same order in which you list the corresponding replicate weight variables in the REPWEIGHTS statement.\",\"help\":\"JKCOEFS=*jackknife-coefficient-specification*\",\"type\":\"value\"}]},{\"name\":\"SLICE\",\"description\":\"The SLICE statement provides a general mechanism for performing a partitioned analysis of the LS-means for an interaction. This analysis is also known as an analysis of simple effects. The SLICE statement uses the same options as the LSMEANS statement.\",\"help\":\"SLICE &lt;ADJDFE=&lt;SOURCE | ROW&gt;&gt;&lt;ADJUST=&lt;BON | DUNNETT | NELSON&gt;... &gt;&lt;ALPHA=number&gt; ...\",\"arguments\":[{\"name\":\"ADJDFE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies how denominator degrees of freedom are determined when p-values and confidence limits are adjusted for multiple comparisons with the ADJUST= option.\",\"help\":\"ADJDFE=SOURCE | ROW\",\"type\":\"choice\",\"arguments\":[{\"name\":\"SOURCE\",\"followsDelimiter\":\"/\",\"description\":\"The denominator degrees of freedom for multiplicity-adjusted results are the denominator degrees of freedom for the LS-mean effect in the \\\"Type III Tests of Fixed Effects\\\" table.\",\"type\":\"standalone\"},{\"name\":\"ROW\",\"followsDelimiter\":\"/\",\"description\":\"Useful if you want multiplicity adjustments to take into account that denominator degrees of freedom are not constant across LS-mean differences.\",\"type\":\"standalone\"}]},{\"name\":\"ADJUST=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests a multiple comparison adjustment for the p-values and confidence limits for the differences of LS-means.\",\"help\":\"ADJUST=BON | DUNNETT | NELSON | SCHEFFE | SIDAK | SIMULATE | SMM|GT2 | TUKEY\",\"type\":\"choice\",\"arguments\":[{\"name\":\"BON\",\"followsDelimiter\":\"/\",\"description\":\"Bonferroni adjustment\",\"type\":\"standalone\"},{\"name\":\"DUNNETT\",\"followsDelimiter\":\"/\",\"description\":\"Dunnett adjustment (in which the procedure analyzes all differences with a control level)\",\"type\":\"standalone\"},{\"name\":\"NELSON\",\"followsDelimiter\":\"/\",\"description\":\"Nelson adjustment (in which ANOM differences are taken)\",\"type\":\"standalone\"},{\"name\":\"SCHEFFE\",\"followsDelimiter\":\"/\",\"description\":\"Scheffe's adjustment\",\"type\":\"standalone\"},{\"name\":\"SIDAK\",\"followsDelimiter\":\"/\",\"description\":\"Sidak adjustment\",\"type\":\"standalone\"},{\"name\":\"SIMULATE\",\"followsDelimiter\":\"/\",\"description\":\"Computes adjusted p-values and confidence limits from the simulated distribution of the maximum or maximum absolute value of a multivariate t random vector. Syntax: SIMULATE<(simoptions)> You can specify the following simoptions in parentheses after the ADJUST=SIMULATE option. ACC=value specifies the target accuracy radius γ of a 100(1-ε)% confidence interval for the true probability content of the estimated (1-α)th quantile. The default value is ACC=0.005. EPS=value specifies the value ε for a 100(1-ε)% confidence interval for the true probability content of the estimated (1-α)th quantile. The default value is ACC=0.005. NSAMP=n specifies the sample size for the simulation. SEED=number specifies an integer that is used to start the pseudo-random number generator for the simulation. THREADS specifies that the computational work for the simulation be divided into parallel threads, where the number of threads is the value of the SAS system option CPUCOUNT=. NOTHREADS specifies that the computational work for the simulation be performed in sequence rather than in parallel. NOTHREADS is the default. This option overrides the SAS system option THREADS|NOTHREADS.\",\"type\":\"standalone\"},{\"name\":\"SMM\",\"followsDelimiter\":\"/\",\"description\":\"SMM adjustment\",\"help\":\"SMM|GT2\",\"type\":\"choice\"},{\"name\":\"TUKEY\",\"followsDelimiter\":\"/\",\"description\":\"If your data are unbalanced, PROC GLIMMIX uses the approximation described in Kramer (1956) and identifies the adjustment as \\\"Tukey-Kramer\\\" in the results.\",\"type\":\"standalone\"}]},{\"name\":\"ALPHA=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that a t-type confidence interval be constructed for each of the LS-means with confidence level (1-number)x100%. The value of number must be between 0 and 1; the default is 0.05.\",\"help\":\"ALPHA=*number*\",\"type\":\"value\"},{\"name\":\"AT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Modifies the values of the covariates that are used in computing LS-means. By default, all covariate effects are set equal to their mean values for computation of standard LS-means. The AT option enables you to assign arbitrary values to the covariates. Additional columns in the output table indicate the values of the covariates.\",\"help\":\"AT=MEANS\",\"type\":\"choice\",\"arguments\":[{\"name\":\"MEANS\",\"type\":\"standalone\"}]},{\"name\":\"BYLEVEL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that separate margins be computed for each level of the SLICE model-effect.\",\"type\":\"standalone\"},{\"name\":\"CL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that t-type confidence limits be constructed for each of the LS-means. The confidence level is 0.95 by default; this can be changed with the ALPHA= option.\",\"type\":\"standalone\"},{\"name\":\"CORR\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays the estimated correlation matrix of the least squares means as part of the \\\"Least Squares Means\\\" table.\",\"type\":\"standalone\"},{\"name\":\"COV\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays the estimated covariance matrix of the least squares means as part of the \\\"Least Squares Means\\\" table.\",\"type\":\"standalone\"},{\"name\":\"DF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the degrees of freedom for the t test and confidence limits. The default is the denominator degrees of freedom taken from the \\\"Type III Tests\\\" table that corresponds to the LS-means effect.\",\"help\":\"DF=*number*\",\"type\":\"value\"},{\"name\":\"DIFF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"PDIFF=\"],\"description\":\"Requests that differences of the LS-means be displayed.\",\"help\":\"DIFF=ALL | ANOM | CONTROL | CONTROLL | CONTROLU\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ALL\",\"followsDelimiter\":\"/\",\"description\":\"Requests all pairwise differences; this is the default.\",\"type\":\"standalone\"},{\"name\":\"ANOM\",\"followsDelimiter\":\"/\",\"description\":\"Requests differences between each LS-mean and the average LS-mean, as in the analysis of means (Ott 1967).\",\"type\":\"standalone\"},{\"name\":\"CONTROL\",\"followsDelimiter\":\"/\",\"description\":\"Requests the differences with a control, which, by default, is the first level of each of the specified SLICE effects.\",\"type\":\"standalone\"},{\"name\":\"CONTROLL\",\"followsDelimiter\":\"/\",\"description\":\"Tests whether the noncontrol levels are significantly smaller than the control; the upper confidence limits for the control minus the noncontrol levels are considered to be infinity and are displayed as missing.\",\"type\":\"standalone\"},{\"name\":\"CONTROLU\",\"followsDelimiter\":\"/\",\"description\":\"Tests whether the noncontrol levels are significantly larger than the control; the upper confidence limits for the noncontrol levels minus the control are considered to be infinity and are displayed as missing.\",\"type\":\"standalone\"}]},{\"name\":\"E\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that the L matrix coefficients for the SLICE effects be displayed.\",\"type\":\"standalone\"},{\"name\":\"EXP\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests exponentiation of the LS-means or LS-mean differences. When you model data with the logit, cumulative logit, or generalized logit link functions, and the estimate represents a log odds ratio or log cumulative odds ratio, the EXP option produces an odds ratio. In proportional hazards model, the exponentiation of the LS-mean differences produces estimates of hazard ratios. If you specify the CL or ALPHA= option, the (adjusted) confidence bounds are also exponentiated.\",\"type\":\"standalone\"},{\"name\":\"ILINK\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that estimates and their standard errors in the \\\"Least Squares Means\\\" table also be reported on the scale of the mean (the inverse linked scale).\",\"type\":\"standalone\"},{\"name\":\"LINES\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Presents results of comparisons between all pairs of least squares means by listing the means in descending order and indicating nonsignificant subsets by line segments beside the corresponding LS-means.\",\"type\":\"standalone\"},{\"name\":\"MEANS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies to produce the table of least squares means.\",\"type\":\"standalone\"},{\"name\":\"NOF\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Suppresses the F test for testing the mutual equality of the estimable functions in the partition.\",\"type\":\"standalone\"},{\"name\":\"NOMEANS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies not to produce the table of least squares means. This is the default.\",\"type\":\"standalone\"},{\"name\":\"OBSMARGINS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"OM=\"],\"description\":\"Specifies a potentially different weighting scheme for the computation of LS-means coefficients. The standard LS-means have equal coefficients across classification effects; however, the OM option changes these coefficients to be proportional to those found in the OM-data-set. This adjustment is reasonable when you want your inferences to apply to a population that is not necessarily balanced but has the margins that are observed in OM-data-set.\",\"type\":\"value\"},{\"name\":\"ODDSRATIO\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"OR\"],\"description\":\"Requests that LS-mean differences (DIFF, ADJUST= options) are also reported in terms of odds ratios. The ODDSRATIO option is ignored unless you use either the logit, cumulative logit, or generalized logit link function. If you specify the CL or ALPHA= option, confidence intervals for the odds ratios are also computed. These intervals are adjusted for multiplicity when you specify the ADJUST= option.\",\"type\":\"standalone\"},{\"name\":\"PDIFF\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Is the same as the DIFF option.\",\"type\":\"standalone\"},{\"name\":\"PLOT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"PLOTS=\"],\"description\":\"Requests that least squares means related graphics are produced via ODS Graphics, provided that the ODS GRAPHICS statement has been specified and the plot request does not conflict with other options in the SLICE statement.\",\"help\":\"PLOT=ALL | ANOMPLOT|ANOM | BOXPLOT | CONTROLPLOT|CONTROL | DIFFPLOT|DIFFOGRAM|DIFF | DISTPLOT|DIST | MEANPLOT | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ALL\",\"followsDelimiter\":\"/\",\"description\":\"Requests that the default plots corresponding to this SLICE statement be produced.\",\"type\":\"standalone\"},{\"name\":\"ANOMPLOT\",\"followsDelimiter\":\"/\",\"description\":\"Requests an analysis of means display in which least squares means are compared to an average least squares mean.\",\"help\":\"ANOMPLOT|ANOM\",\"type\":\"choice\"},{\"name\":\"BOXPLOT\",\"followsDelimiter\":\"/\",\"description\":\"Syntax: BOXPLOT<boxplot-options>> Produces box plots of the distribution of the least squares mean or least squares mean differences across a posterior sample. For example, this plot is available in procedures that support a Bayesian analysis through the BAYES statement. A separate box is generated for each estimable function, and all boxes appear on a single graph by default. You can affect the appearance of the box plot graph with the following options: ORIENTATION=VERTICAL|HORIZONTAL ORIENT=VERT|HORIZ specifies the orientation of the boxes. The default is vertical orientation of the box plots. NPANELPOS=number specifies how to break the series of box plots across multiple panels. If the NPANELPOS option is not specified, or if number equals zero, then all box plots are displayed in a single graph; this is the default.\",\"type\":\"standalone\"},{\"name\":\"CONTROLPLOT\",\"followsDelimiter\":\"/\",\"description\":\"Requests a display in which least squares means are visually compared against a reference level.\",\"help\":\"CONTROLPLOT|CONTROL\",\"type\":\"choice\"},{\"name\":\"DIFFPLOT\",\"followsDelimiter\":\"/\",\"description\":\"Requests a display of all pairwise least squares mean differences and their significance. Syntax: DIFFPLOT<(diffplot-options)> You can specify the following diffplot-options: ABS all line segments are shown on the same side of the reference line. NOABS separates comparisons according to the sign of the difference. CENTER marks the center point for each comparison. NOLINES suppresses the display of the line segments that represent the confidence bounds for the differences of the least squares means. The NOLINES option implies the CENTER option.\",\"help\":\"DIFFPLOT|DIFFOGRAM|DIFF\",\"type\":\"choice\"},{\"name\":\"DISTPLOT\",\"followsDelimiter\":\"/\",\"description\":\"Syntax: DISTPLOT<distplot-options> Generates panels of histograms with a kernel density overlaid if the analysis has access to a set of posterior parameter estimates. You can sepcify the following distplot-options in parentheses: BOX|NOBOX controls the display of a horizontal box plot of the estimable function’s distribution across the posterior sample below the graph. The BOX option is enabled by default. HIST|NOHIST controls the display of the histogram of the estimable function’s distribution across the posterior sample. The HIST option is enabled by default. NORMAL|NONORMAL controls the display of a normal density estimate on the graph. The NONORMAL option is enabled by default. KERNEL|NOKERNEL controls the display of a kernel density estimate on the graph. The KERNEL option is enabled by default. NROWS=number specifies the highest number of rows in a panel. The default is 3. NCOLS=number specifies the highest number of columns in a panel. The default is 3. UNPACK unpacks the panel into separate graphics.\",\"help\":\"DISTPLOT|DIST\",\"type\":\"choice\"},{\"name\":\"MEANPLOT\",\"followsDelimiter\":\"/\",\"description\":\"Syntax: MEANPLOT<(meanplot-options)> Requests displays of the least squares means. The following meanplot-options control the display of the least squares means: ASCENDING displays the least squares means in ascending order. This option has no effect if means are sliced or displayed in separate plots. CL displays upper and lower confidence limits for the least squares means. By default, 95% limits are drawn. CLBAND displays confidence limits as bands. This option implies the JOIN option. DESCENDING displays the least squares means in descending order. This option has no effect if means are sliced or displayed in separate plots. ILINK requests that means (and confidence limits) are displayed on the inverse linked scale. JOIN | CONNECT connects the least squares means with lines. This option is implied by the CLBAND option. SLICEBY=fixed-effect specifies an effect by which to group the means in a single plot. PLOTBY=fixed-effect specifies an effect by which to break interaction plots into separate displays.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"followsDelimiter\":\"/\",\"description\":\"Requests that no plots be produced.\",\"type\":\"standalone\"}]},{\"name\":\"SEED=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the seed for the sampling-based components of the computations for the SLICE statement (for example, chi-bar-square statistics and simulated p-values). number specifies an integer that is used to start the pseudo-random-number generator for the simulation. If you do not specify a seed, or if you specify a value less than or equal to zero, the seed is generated from reading the time of day from the computer clock.\",\"help\":\"SEED=*number*\",\"type\":\"value\"},{\"name\":\"SINGULAR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Tunes the estimability checking. The value for number must be between 0 and 1; the default is 1E-4.\",\"help\":\"SINGULAR=*number*\",\"type\":\"value\"},{\"name\":\"SLICEBY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"\",\"type\":\"value\"},{\"name\":\"STEPDOWN=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that multiple comparison adjustments for the p-values of LS-mean differences be further adjusted in a step-down fashion. Step-down methods increase the power of multiple comparisons by taking advantage of the fact that a p-value is never declared significant unless all smaller p-values are also declared significant. You can specify the following step-down options in parentheses: MAXTIME=n specifies the time (in seconds) to spend computing the maximal logically consistent sequential subsets of equality hypotheses for TYPE=LOGICAL. REPORT specifies that a report on the step-down adjustment should be displayed, including a listing of the sequential subsets (Westfall 1997) and, for ADJUST=SIMULATE, the step-down simulation results.\",\"help\":\"STEPDOWN=MAXTIME= | REPORT | TYPE=\",\"type\":\"choice\",\"arguments\":[{\"name\":\"MAXTIME=\",\"type\":\"value\"},{\"name\":\"REPORT\",\"type\":\"standalone\"},{\"name\":\"TYPE=\",\"type\":\"value\"}]}]},{\"name\":\"STORE\",\"aliases\":[\"ITEMSTORE\"],\"description\":\"The STORE statement requests that the procedure save the context and results of the statistical analysis. The resulting item store is a binary file format that cannot be modified. The contents of the item store can be processed with the PLM procedure. The item-store-name is a usual one- or two-level SAS name, like the names that are used for SAS data sets. If you specify a one-level name, then the item store resides in the WORK library and is deleted at the end of the SAS session. Since item stores usually are used to perform postprocessing tasks, typical usage specifies a two-level name of the form libname.membername. If an item store by the same name as specified in the STORE statement already exists, the existing store is replaced.\",\"help\":\"STORE &lt;LABEL='label'&gt;\",\"arguments\":[{\"name\":\"LABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Adds a custom label. When the PLM procedure processes an item store, the label appears in the PROC PLM output along with other identifying information.\",\"help\":\"LABEL='*label*'\",\"type\":\"value\"}]},{\"name\":\"STRATA\",\"aliases\":[\"STRATUM\"],\"description\":\"The STRATA statement specifies variables that form the strata in a stratified sample design. The combinations of categories of STRATA variables define the strata in the sample. If your sample design has stratification at multiple stages, you should identify only the first-stage strata in the STRATA statement. If you provide replicate weights for BRR or jackknife variance estimation with a REPWEIGHTS statement, you do not need to specify a STRATA statement. The STRATA variables are one or more variables in the DATA= input data set. These variables can be either character or numeric, but the procedure treats them as categorical variables. The formatted values of the STRATA variables determine the STRATA variable levels. Thus, you can use formats to group values into levels.\",\"help\":\"STRATA &lt;LIST&gt;&lt;NOCOLLAPSE&gt;\",\"arguments\":[{\"name\":\"LIST\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays a \\\"Stratum Information\\\" table, which includes values of the STRATA variables and the number of observations, number of clusters, population total, and sampling rate for each stratum.\",\"type\":\"standalone\"},{\"name\":\"NOCOLLAPSE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Prevents the procedure from collapsing (combining) strata that have only one sampling unit for the Taylor series variance estimation. By default, the procedure collapses strata that contain only one sampling unit for the Taylor series method.\",\"type\":\"standalone\"}]},{\"name\":\"TEST\",\"description\":\"The TEST statement enables you to perform F tests for model effects that test Type I, II, or Type III hypotheses.\",\"help\":\"TEST &lt;CHISQ&gt;&lt;DDF=value-list&gt;&lt;E&gt; ...\",\"arguments\":[{\"name\":\"CHISQ\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that chi-square tests be performed for the relevant effects in addition to the F tests. Type III tests are the default; you can produce the Type I and Type II tests by using the HTYPE= option. This option has no effect when the procedure produces chi-square statistics by default.\",\"type\":\"standalone\"},{\"name\":\"DDF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"DF=\"],\"description\":\"Specifies the denominator degrees of freedom for the fixed effects. The value-list specification is a list of numbers or missing values (.) separated by commas. The order of degrees of freedom should match the order of the fixed effects that are specified in the TEST statement; otherwise it should match the order in which the effects appear in the \\\"Type III Tests of Fixed Effects\\\" table.\",\"help\":\"DDF=*value-list*\",\"type\":\"value\"},{\"name\":\"E\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that Type I, Type II, and Type III L matrix coefficients be displayed for all relevant effects.\",\"type\":\"standalone\"},{\"name\":\"E1\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"EI\"],\"description\":\"Requests that Type I L matrix coefficients be displayed for all relevant effects.\",\"type\":\"standalone\"},{\"name\":\"E2\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"EII\"],\"description\":\"Requests that Type II L matrix coefficients be displayed for all relevant effects.]\",\"type\":\"standalone\"},{\"name\":\"E3\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"EIII\"],\"description\":\"Requests that Type III L matrix coefficients be displayed for all relevant effects.\",\"type\":\"standalone\"},{\"name\":\"HTYPE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Indicates the type of hypothesis test to perform on the fixed effects. Valid entries for values in the value-list are 1, 2, and 3, which correspond to Type I, Type II, and Type III tests, respectively. The default value is 3.\",\"help\":\"HTYPE=*value-list*\",\"type\":\"value\"},{\"name\":\"INTERCEPT\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"INT\"],\"description\":\"Adds a row to the tables for Type I, II, and III tests that correspond to the overall intercept.\",\"type\":\"standalone\"}]},{\"name\":\"WEIGHT\",\"aliases\":[\"WGT\"],\"description\":\"The WEIGHT statement names the variable that contains the sampling weights. This variable must be numeric, and the sampling weights must be positive numbers. If an observation has a weight that is nonpositive or missing, then the procedure omits that observation from the analysis. If you do not specify a WEIGHT statement but provide replicate weights with a REPWEIGHTS statement, PROC SURVEYPHREG uses the average of each observation’s replicate weights as the observation’s weight. If you do not specify a WEIGHT statement or a REPWEIGHTS statement, PROC SURVEYREG assigns all observations a weight of one.\",\"help\":\"WEIGHT variable\"}],\"supportSiteInformation\":{\"docsetId\":\"statug\",\"docsetVersion\":\"latest\",\"docsetTargetFile\":\"statug_surveyreg_toc.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/SURVEYSELECT.json",
    "content": "{\"name\":\"SURVEYSELECT\",\"statements\":[{\"name\":\"PROC SURVEYSELECT\",\"description\":\"The SURVEYSELECT procedure provides a variety of methods for selecting probability-based random samples. The procedure can select a simple random sample or can sample according to a complex multistage sample design that includes stratification, clustering, and unequal probabilities of selection. With probability sampling, each unit in the survey population has a known, positive probability of selection. This property of probability sampling avoids selection bias and enables you to use statistical theory to make valid inferences from the sample to the survey population. † PROC SURVEYSELECT provides the following equal probability sampling methods: o simple random sampling (without replacement) o unrestricted random sampling (with replacement) o systematic random sampling o sequential random sampling o Bernoulli sampling † This procedure also provides the following probability proportional to size (PPS) methods: o PPS sampling without replacement o PPS sampling with replacement o PPS systematic sampling o PPS algorithms for selecting two units per stratum o sequential PPS sampling with minimum replacement\",\"help\":\"PROC SURVEYSELECT <CERTSIZE><CERTSIZE=certain | CERTSIZE=SAS-data-set | CERTSIZE=P><DATA=SAS-data-set><JTPROBS><MAXSIZE><MAXSIZE=max | MAXSIZE=SAS-data-set><METHOD=PPS | PPS_BREWER | PPS_MURTHY... ><MINSIZE><MINSIZE=min | MINSIZE=SAS-data-set><NMAX=n><NMIN=n><NOPRINT><OUT=SAS-data-set><OUTALL><OUTHITS><OUTSEED><OUTSIZE><OUTSORT=SAS-data-set><REPS=nreps><SAMPRATE=r | SAMPRATE=(values) | SAMPRATE=SAS-data-set><SAMPSIZE=n | SAMPSIZE=(values) | SAMPSIZE=SAS-data-set><SEED=number | SEED=SAS-data-set><SELECTALL><SORT=NEST | SERP><STATS>;     \\n\\tCONTROL variables ;\\n\\n\\tFREQ variable ;\\n\\n\\tID variables ;\\n\\n\\tSAMPLINGUNIT <PPS><PRESORTED> ;\\n\\n\\tSIZE variable ;\\n\\n\\tSTRATA <ALLOC=<PROPORTIONAL | OPTIMAL | NEYMAN>... ><COST><COST=(values) | SAS-data-set> ...;\\n\",\"arguments\":[{\"name\":\"CERTSIZE\",\"optional\":true,\"description\":\"Requests certainty selection, where the certainty size values are provided in the secondary input data set.\",\"type\":\"standalone\"},{\"name\":\"CERTSIZE=\",\"optional\":true,\"description\":\"Specifies the certainty size value, or names a SAS data set that contains certainty size values for the strata; or specifies the certainty proportion p.\",\"type\":\"value\"},{\"name\":\"DATA=\",\"optional\":true,\"description\":\"\",\"help\":\"DATA=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"JTPROBS\",\"optional\":true,\"description\":\"Includes joint probabilities of selection in the OUT= output data set.\",\"type\":\"standalone\"},{\"name\":\"MAXSIZE\",\"optional\":true,\"description\":\"Requests adjustment of size measures according to the stratum maximum size values provided in the secondary input data set.\",\"type\":\"standalone\"},{\"name\":\"MAXSIZE=\",\"optional\":true,\"description\":\"Specifies the maximum size value, or names a SAS data set that contains the maximum size values for the strata.\",\"type\":\"value\"},{\"name\":\"METHOD=\",\"optional\":true,\"aliases\":[\"M=\"],\"description\":\"Specifies the method for sample selection.\",\"help\":\"METHOD=PPS | PPS_BREWER | PPS_MURTHY | PPS_SAMPFORD | PPS_SEQ | PPS_SYS | PPS_WR | SEQ | SRS | SYS | URS\",\"type\":\"choice\",\"arguments\":[{\"name\":\"PPS\",\"description\":\"Requests selection with probability proportional to size and without replacement.\",\"type\":\"standalone\"},{\"name\":\"PPS_BREWER\",\"description\":\"Requests selection according to Brewer’s method.\",\"type\":\"standalone\"},{\"name\":\"PPS_MURTHY\",\"description\":\"Requests selection according to Murthy’s method.\",\"type\":\"standalone\"},{\"name\":\"PPS_SAMPFORD\",\"description\":\"Requests selection according to Sampford’s method.\",\"type\":\"standalone\"},{\"name\":\"PPS_SEQ\",\"description\":\"Requests sequential selection with probability proportional to size and with minimum replacement.\",\"type\":\"standalone\"},{\"name\":\"PPS_SYS\",\"description\":\"Requests systematic selection with probability proportional to size.\",\"type\":\"standalone\"},{\"name\":\"PPS_WR\",\"description\":\"Requests selection with probability proportional to size and with replacement.\",\"type\":\"standalone\"},{\"name\":\"SEQ\",\"description\":\"Requests sequential selection according to Chromy’s method.\",\"type\":\"standalone\"},{\"name\":\"SRS\",\"description\":\"Requests simple random sampling, which is selection with equal probability and without replacement.\",\"type\":\"standalone\"},{\"name\":\"SYS\",\"description\":\"Requests systematic random sampling.\",\"type\":\"standalone\"},{\"name\":\"URS\",\"description\":\"Requests unrestricted random sampling, which is selection with equal probability and with replacement.\",\"type\":\"standalone\"}]},{\"name\":\"MINSIZE\",\"optional\":true,\"description\":\"Requests adjustment of size measures according to the stratum minimum size values provided in the secondary input data set.\",\"type\":\"standalone\"},{\"name\":\"MINSIZE=\",\"optional\":true,\"description\":\"Specifies the minimum size value, or names a SAS data set that contains the minimum size values for the strata.\",\"type\":\"value\"},{\"name\":\"NMAX=\",\"optional\":true,\"description\":\"Specifies the maximum stratum sample size n for the SAMPRATE= option.\",\"help\":\"NMAX=*n*\",\"type\":\"value\"},{\"name\":\"NMIN=\",\"optional\":true,\"description\":\"Specifies the minimum stratum sample size n for the SAMPRATE= option. When you specify the SAMPRATE= option, PROC SURVEYSELECT calculates the stratum sample size by multiplying the total number of units in the stratum by the specified sampling rate. If this sample size is less than the value NMIN=n, then PROC SURVEYSELECT selects n units.\",\"help\":\"NMIN=*n*\",\"type\":\"value\"},{\"name\":\"NOPRINT\",\"optional\":true,\"description\":\"Suppresses the display of all output.\",\"type\":\"standalone\"},{\"name\":\"OUT=\",\"optional\":true,\"description\":\"Names the output data set that contains the sample.\",\"help\":\"OUT=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"OUTALL\",\"optional\":true,\"description\":\"Includes all observations from the input data set in the output data set.\",\"type\":\"standalone\"},{\"name\":\"OUTHITS\",\"optional\":true,\"description\":\"Includes a separate observation in the output data set for each selection when the same unit is selected more than once.\",\"type\":\"standalone\"},{\"name\":\"OUTSEED\",\"optional\":true,\"description\":\"Includes the initial seed for each stratum in the output data set.\",\"type\":\"standalone\"},{\"name\":\"OUTSIZE\",\"optional\":true,\"description\":\"Includes additional design and sampling frame parameters in the output data set.\",\"type\":\"standalone\"},{\"name\":\"OUTSORT=\",\"optional\":true,\"description\":\"Names an output data set that contains the sorted input data set.\",\"help\":\"OUTSORT=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"REPS=\",\"optional\":true,\"description\":\"Specifies the number of sample replicates. The value of nreps must be a positive integer.\",\"help\":\"REPS=*nreps*\",\"type\":\"value\"},{\"name\":\"SAMPRATE=\",\"optional\":true,\"aliases\":[\"RATE=\"],\"description\":\"Specifies the sampling rate, or stratum sampling rates (separated with blanks or commas), or names a SAS data set that contains stratum sampling rates.\",\"type\":\"value\"},{\"name\":\"SAMPSIZE=\",\"optional\":true,\"aliases\":[\"N=\"],\"description\":\"Specifies the sample size, or sample sizes for the strata (separated with blanks or commas), or names a SAS data set that contains the sample sizes for the strata.\",\"type\":\"value\"},{\"name\":\"SEED=\",\"optional\":true,\"description\":\"Specifies the initial seed for random number generation, or names a SAS data set that contains initial seeds for the strata.\",\"type\":\"value\"},{\"name\":\"SELECTALL\",\"optional\":true,\"description\":\"Requests that PROC SURVEYSELECT select all stratum units when the stratum sample size exceeds the total number of units in the stratum.\",\"type\":\"standalone\"},{\"name\":\"SORT=\",\"optional\":true,\"description\":\"Specifies the type of sorting by CONTROL variables.\",\"help\":\"SORT=NEST | SERP\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NEST\",\"description\":\"Requests nested sorting.\",\"type\":\"standalone\"},{\"name\":\"SERP\",\"description\":\"Requests hierarchic serpentine sorting.\",\"type\":\"standalone\"}]},{\"name\":\"STATS\",\"optional\":true,\"description\":\"Includes selection probabilities and sampling weights in the OUT= output data set for equal probability selection methods when you do not specify a STRATA statement.\",\"type\":\"standalone\"}]},{\"name\":\"CONTROL\",\"description\":\"The CONTROL statement names variables for sorting the input data set before sample selection. The CONTROL variables can be character or numeric. If you also specify a STRATA statement, PROC SURVEYSELECT sorts by CONTROL variables within strata.\",\"help\":\"CONTROL variables \"},{\"name\":\"FREQ\",\"description\":\"The FREQ statement names a numeric variable that contains the frequency of occurrence of each observation. If you use a FREQ statement, PROC SURVEYSELECT assumes that an observation represents n observations, where n is the value of the FREQ variable for the observation. The FREQ statement is not available when you specify a SAMPLINGUNIT statement.\",\"help\":\"FREQ variable \"},{\"name\":\"ID\",\"description\":\"The ID statement names one or more variables from the DATA= input data set to include in the OUT= output data set of selected units. If there is no ID statement, PROC SURVEYSELECT includes all variables from the input data set in the output data set. The ID variables can be either character or numeric.\",\"help\":\"ID variables \"},{\"name\":\"SAMPLINGUNIT\",\"aliases\":[\"CLUSTER\"],\"description\":\"The SAMPLINGUNIT statement names variables that identify the sampling units as groups of observations (clusters). The combinations of categories of SAMPLINGUNIT variables define the sampling units. If there is a STRATA statement, sampling units are nested within strata. When you use a SAMPLINGUNIT statement to define units (clusters), PROC SURVEYSELECT selects a sample of these units by using the selection method and design parameters that you specify in the PROC SURVEYSELECT statement. If you do not use a SAMPLINGUNIT statement, then PROC SURVEYSELECT uses the input data set observations as sampling units by default. The SAMPLINGUNIT variables are one or more variables in the DATA= input data set. These variables can be either character or numeric. The formatted values of the SAMPLINGUNIT variables determine the SAMPLINGUNIT variable levels. Thus, you can use formats to group values into levels.\",\"help\":\"SAMPLINGUNIT &lt;PPS&gt;&lt;PRESORTED&gt;\",\"arguments\":[{\"name\":\"PPS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Computes a sampling unit’s size measure as the number of observations in the sampling unit. The procedure then uses these size measures to select a sample according to the PPS selection method that you specify with the METHOD= option in the PROC SURVEYSELECT statement.\",\"type\":\"standalone\"},{\"name\":\"PRESORTED\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that PROC SURVEYSELECT not sort the input data set by the SAMPLINGUNIT variables within strata. By default, the procedure sorts the input data set by the SAMPLINGUNIT variables, which groups the observations into sampling units and orders the units by the SAMPLINGUNIT variables.\",\"type\":\"standalone\"}]},{\"name\":\"SIZE\",\"description\":\"The SIZE statement names one and only one size measure variable, which contains the sampling unit size measures that are used for selection with probability proportional to size.\",\"help\":\"SIZE variable \"},{\"name\":\"STRATA\",\"aliases\":[\"STRATUM\"],\"description\":\"You can specify a STRATA statement to partition the input data set into nonoverlapping groups defined by the STRATA variables.\",\"help\":\"STRATA &lt;ALLOC=&lt;PROPORTIONAL | OPTIMAL | NEYMAN&gt;... &gt;&lt;COST&gt;&lt;COST=(values) | SAS-data-set&gt; ...\",\"arguments\":[{\"name\":\"ALLOC=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"ALLOCATE=\"],\"description\":\"Specifies the method for allocating the total sample size among the strata.\",\"help\":\"ALLOC=PROPORTIONAL | OPTIMAL | NEYMAN | (&lt;*values*&gt;) | &lt;*SAS-data-set*&gt;\",\"type\":\"choice\",\"arguments\":[{\"name\":\"PROPORTIONAL\",\"followsDelimiter\":\"/\",\"description\":\"Requests proportional allocation, which allocates the total sample size in proportion to the stratum sizes, where the stratum size is the number of sampling units in the stratum.\",\"type\":\"standalone\"},{\"name\":\"OPTIMAL\",\"followsDelimiter\":\"/\",\"description\":\"Requests optimal allocation, which allocates the total sample size among the strata in proportion to stratum sizes, stratum variances, and stratum costs.\",\"type\":\"standalone\"},{\"name\":\"NEYMAN\",\"followsDelimiter\":\"/\",\"description\":\"Requests Neyman allocation, which allocates the total sample size among the strata in proportion to the stratum sizes and variances.\",\"type\":\"standalone\"},{\"name\":\"(values)\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"Lists stratum allocation proportions. You can separate values with blanks or commas.\",\"type\":\"value\"},{\"name\":\"SAS-data-set\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"Names a SAS data set that contains stratum allocation proportions.\",\"type\":\"dataSet\"}]},{\"name\":\"COST\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Indicates that stratum costs are included in the secondary input data set.\",\"type\":\"standalone\"},{\"name\":\"COST=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"COSTS=\"],\"description\":\"COST=(values) Specifies stratum costs, which are required if you specify the ALLOC=OPTIMAL option. You can separate values with blanks or commas.\",\"type\":\"value\"},{\"name\":\"NOSAMPLE\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"NOSAMP\"],\"description\":\"Requests that SURVEYSELECT allocate the total sample size among the strata but not select the sample.\",\"type\":\"standalone\"},{\"name\":\"VAR\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Indicates that stratum variances are included in the secondary input data set.\",\"type\":\"standalone\"},{\"name\":\"VAR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"VAR=(values) Lists stratum variances, which are required if you specify ALLOC=OPTIMAL or ALLOC=NEYMAN. You can separate values with blanks or commas.\",\"type\":\"value\"}]}],\"supportSiteInformation\":{\"docsetId\":\"statug\",\"docsetVersion\":\"latest\",\"docsetTargetFile\":\"statug_surveyselect_toc.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/SVDD.json",
    "content": "{\"name\":\"SVDD\",\"statements\":[{\"name\":\"PROC SVDD\",\"description\":\"The SVDD procedure implements the support vector data description (SVDD) algorithm (Tax and Duin 2004). SVDD is a one-class classification technique that is useful in applications where data that belong to one class are abundant but data about any other class are scarce or missing. Fraud detection, equipment health monitoring, and process control are some examples of application areas where the majority of the data belong to one class. You can use SVDD to model such one-class data and subsequently use the model to perform outlier detection.\",\"help\":\"PROC SVDD <DATA=CAS-libref.data-table><NBINS=number><NOPRINT><NTHREADS=number-of-threads><OUTLIER_FRACTION=number | FRACTION=number FRAC=number><OUTSV=CAS-libref.data-table | SV=CAS-libref.data-table><SCORE><STANDARDIZE><USECONSTANTCOLUMN>;     \\n\\tCODE <FILE=filename> ;\\n\\n\\tID variables;\\n\\n\\tINPUT <LEVEL=<INTERVAL | NOMINAL>> ;\\n\\n\\tKERNEL <BW=s> RBF ;\\n\\n\\tSAVESTATE <RSTORE=CAS-libref.data-table> ;\\n\\n\\tSOLVER ACTSET STOCHS <STOL=number> ...;\\n\\n\\tWEIGHT variable;\\n\",\"arguments\":[{\"name\":\"DATA=\",\"optional\":true,\"description\":\"Names the input data table for PROC SVDD to use. The default is the most recently created data table. CAS-libref.data-table is a two-level name, where\",\"help\":\"DATA=*CAS-libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"NBINS=\",\"optional\":true,\"description\":\"Specifies the number of bins to display, where number must be an integer greater than 2. By default, NBINS=20.\",\"help\":\"NBINS=*number*\",\"type\":\"value\"},{\"name\":\"NOPRINT\",\"optional\":true,\"description\":\"Suppresses the generation of ODS outputs. If you specify this option, no ODS tables are generated.\",\"type\":\"standalone\"},{\"name\":\"NTHREADS=\",\"optional\":true,\"description\":\"Specifies the number of threads to use for the computation. The default value is the number of CPUs available in the machine.\",\"help\":\"NTHREADS=*number-of-threads*\",\"type\":\"value\"},{\"name\":\"OUTLIER_FRACTION=\",\"optional\":true,\"aliases\":[\"FRACTION=\"],\"description\":\"Specifies the expected fraction of the training data that consists of outliers, where number must be a real number between 0 and 1.\",\"type\":\"value\"},{\"name\":\"OUTSV=\",\"optional\":true,\"aliases\":[\"SV=\"],\"description\":\"Specifies the output data to contain the training data observations that are identified as support vectors, the corresponding value of the Lagrange multiplier (column _SVDDALPHA_), and an indicator (column _SVDDOUTLIER_) that flags the position of the support vectors relative to the data boundary. Support vectors whose _SVDDOUTLIER_ value is 0 fall on the data boundary, and support vectors whose _SVDDOUTLIER_ value is 1 fall outside the data boundary. CAS-libref.data-table is a two-level name, where CAS-libref refers to the caslib and session identifier, and data-table specifies the name of the output data table.\",\"type\":\"value\"},{\"name\":\"SCORE\",\"optional\":true,\"description\":\"Scores the observations in the data table that is specified in the DATA= option and generates a frequency table of _SVDDDISTANCE_ values.\",\"type\":\"standalone\"},{\"name\":\"STANDARDIZE\",\"optional\":true,\"aliases\":[\"STD\"],\"description\":\"Standardizes the variables that are specified in the INPUT statement with LEVEL=INTERVAL, by subtracting their mean and dividing by their standard deviation.\",\"type\":\"standalone\"},{\"name\":\"USECONSTANTCOLUMN\",\"optional\":true,\"aliases\":[\"UCC\"],\"description\":\"Uses variables that have constant values for SVDD scoring. By default, the variables that have constant values are ignored. This option is useful in scenarios where certain variables have constant value in the training data, but variation in the values of those variables is expected in the scoring data. This option ensures that variables with constant values are used for scoring.\",\"type\":\"standalone\"}]},{\"name\":\"CODE\",\"description\":\"The CODE statement generates SAS DATA step code that mimics the computations that are performed. The generated SAS DATA step code can be used for scoring new observations. Only one CODE statement is processed. If you specify multiple CODE statements, only the first one is used. The CODE statement is optional. If you do not include a CODE statement, no score code is generated.\",\"help\":\"CODE &lt;FILE=filename&gt;\",\"arguments\":[{\"name\":\"FILE=\",\"optional\":true,\"description\":\"Specifies the filename of the file to write the SAS score code to.\",\"help\":\"FILE=*filename*\",\"type\":\"value\"}]},{\"name\":\"ID\",\"description\":\"The ID statement lists one or more variables to be copied from the input data table to the output data tables that are specified in the OUTSV= option in the PROC SVDD statement and the RSTORE= option in the SAVESTATE statement.\",\"help\":\"ID variables\"},{\"name\":\"INPUT\",\"description\":\"The INPUT statement specifies the names of variables to be used in training. Only interval, binary, and nominal variables are accepted. If you want to use different options for different variables, you can specify multiple INPUT statements.\",\"help\":\"INPUT &lt;LEVEL=&lt;INTERVAL | NOMINAL&gt;&gt;\",\"arguments\":[{\"name\":\"LEVEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies whether the specified input variables are continuous or categorical.\",\"help\":\"LEVEL=INTERVAL | NOMINAL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"INTERVAL\",\"followsDelimiter\":\"/\",\"description\":\"Specifies that the input variables are continuous.\",\"type\":\"standalone\"},{\"name\":\"NOMINAL\",\"followsDelimiter\":\"/\",\"description\":\"Specifies that the input variables are categorical.\",\"type\":\"standalone\"}]}]},{\"name\":\"KERNEL\",\"description\":\"The KERNEL statement specifies the type of kernel and any associated parameters to be used during training. Only the radial basis kernel function is supported.\",\"help\":\"KERNEL &lt;BW=s&gt; RBF \",\"arguments\":[{\"name\":\"RBF\",\"description\":\"[kernel-type] Uses a radial basis function (also known as the Gaussian kernel function) during training.\",\"type\":\"standalone\"},{\"name\":\"BW=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"[kernel-parameter]\",\"help\":\"BW=*s*\",\"type\":\"value\"}]},{\"name\":\"SAVESTATE\",\"description\":\"The SAVESTATE statement creates an analytic store for the model and saves it as a binary object in a data table. You can use the analytic store in the ASTORE procedure to score new data.\",\"help\":\"SAVESTATE &lt;RSTORE=CAS-libref.data-table&gt;\",\"arguments\":[{\"name\":\"RSTORE=\",\"optional\":true,\"description\":\"Specifies the filename of the file in which to save the analytic store. CAS-libref.data-table is a two-level name, where CAS-libref refers to the caslib and session identifier, and data-table specifies the name of the output data table.\",\"help\":\"RSTORE=*CAS-libref.data-table*\",\"type\":\"dataSet\"}]},{\"name\":\"SOLVER\",\"description\":\"The SOLVER statement specifies the type of optimization solver for SVDD training.\",\"help\":\"SOLVER ACTSET STOCHS &lt;STOL=number&gt; ...\",\"arguments\":[{\"name\":\"ACTSET\",\"description\":\"Uses the active-set solver for SVDD training.\",\"type\":\"standalone\"},{\"name\":\"STOCHS\",\"description\":\"Uses a stochastic subset solver for SVDD training.\",\"type\":\"standalone\"},{\"name\":\"CTOL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the tolerance value that is used for detecting convergence of the center, where number must be a real number greater than 0. To obtain a solution more quickly, specify a higher value for number. By default, CTOL=1E–2.\",\"help\":\"CTOL=*number*\",\"type\":\"value\"},{\"name\":\"MAXITER=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the maximum number of iterations of the solver, where number must be an integer greater than 0. To obtain a solution more quickly, specify a lower value for number. By default, MAXITER is set to 25 for the active-set solver and 200 for the stochastic subset solver.\",\"help\":\"MAXITER=*number*\",\"type\":\"value\"},{\"name\":\"MAXSV=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the maximum number of support vectors, where number must be an integer greater than 0. To obtain a solution more quickly, specify a lower value for number. By default, MAXSV=3500.\",\"help\":\"MAXSV=*number*\",\"type\":\"value\"},{\"name\":\"NMATCH=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies a convergence criterion for the stochastic solver, where number must be an integer greater than 0. If the radius and center values converge for number of consecutive iterations, then convergence is declared. By default, NMATCH=5. To obtain a solution more quickly, specify a lower value for number.\",\"help\":\"NMATCH=*number*\",\"type\":\"value\"},{\"name\":\"NSAMP=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the number of observations that are sampled in each iteration of the stochastic solver, where number must be an integer greater than 0. To obtain a solution more quickly, specify a lower value for number. By default, NSAMP=10.\",\"help\":\"NSAMP=*number*\",\"type\":\"value\"},{\"name\":\"RTOL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the tolerance value that is used to detect convergence of threshold value, where number must be a real number greater than 0. To obtain a solution more quickly, specify a higher value for number. By default, RTOL=1E–2.\",\"help\":\"RTOL=*number*\",\"type\":\"value\"},{\"name\":\"SEED=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies a seed value that is used for selecting a random sample, where number must be an integer. The default value of SEED is based on the system clock. If you want reproducible results, specify an integer for number.\",\"help\":\"SEED=*number*\",\"type\":\"value\"},{\"name\":\"STOL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the tolerance value for the solver, where number must be a real number greater than 0. To obtain a solution more quickly, specify a higher value for number. By default, STOL=1E–6.\",\"help\":\"STOL=*number*\",\"type\":\"value\"}]},{\"name\":\"WEIGHT\",\"description\":\"The WEIGHT statement names a variable in the training data that specifies the weight to be assigned to each observation. The values of variable must be nonnegative. Observations that have higher weight have a better chance of being designated as support vectors.\",\"help\":\"WEIGHT variable\"}],\"supportSiteInformation\":{\"docsetId\":\"casml\",\"docsetVersion\":\"latest\",\"docsetTargetFile\":\"casml_svdd_toc.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/SVMACHINE.json",
    "content": "{\"name\":\"SVMACHINE\",\"statements\":[{\"name\":\"PROC SVMACHINE\",\"description\":\"The SVMACHINE procedure implements support vector machines (SVM) algorithms in SAS Viya. The SVM algorithms include support vector classification (SVC) and support vector regression (SVR). As a popular data mining model, SVM algorithms compute support vector machine learning classifiers for the binary pattern recognition problem and regression problem. Like other predictive modeling tools, the SVMACHINE procedure uses input data to train a model and provides information about the model. The procedure executes an SVM algorithm (by applying the interior point optimization method, the coordinate descent optimization method, or the active-set optimization method during training) and can generate a SAS analytic store for scoring future data.\",\"help\":\"PROC SVMACHINE <options>;                 \\n\\tAUTOTUNE <options>;                 \\n\\n\\tCODE  FILE=filename;                 \\n\\n\\tCROSSVALIDATION <options>;                 \\n\\n\\tFREQ  variable;                 \\n\\n\\tID variables;                 \\n\\n\\tINPUT  variables / <LEVEL=INTERVAL | NOMINAL>;                 \\n\\n\\tKERNEL  kernel-type / <kernel-parameter>;                 \\n\\n\\tOUTPUT  OUT=mylib.data-table<option>;                 \\n\\n\\tPARTITION  partition-option;                 \\n\\n\\tSAVESTATE  RSTORE=mylib.data-table;                 \\n\\n\\tTARGET  variable </options>;                 \\n\\n\\tWEIGHT  variable;                 \\n\",\"arguments\":[{\"name\":\"APPLYROWORDER\",\"optional\":true,\"description\":\"uses a data distribution and row order as determined by a previous partition action call\",\"type\":\"standalone\"},{\"name\":\"C=\",\"optional\":true,\"description\":\"specifies the penalty value, where number is a real number greater than 0\",\"help\":\"C=*number*\",\"type\":\"value\"},{\"name\":\"DATA=\",\"optional\":true,\"description\":\"names the input data table for PROC SVMACHINE to use\",\"help\":\"DATA=*libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"EARLYSTOP\",\"optional\":true,\"description\":\"generates a model that is based on the validation accuracy\",\"type\":\"standalone\"},{\"name\":\"EPSILON=\",\"optional\":true,\"description\":\"specifies the insensitive loss value, where number is a nonnegative real number\",\"help\":\"EPSILON=*number*\",\"type\":\"value\"},{\"name\":\"ITERATIONREPORT\",\"optional\":true,\"description\":\"generates a table named \\\"Iteration Report,\\\" which displays the training accuracy for each iteration\",\"type\":\"standalone\"},{\"name\":\"MAXITER=\",\"optional\":true,\"description\":\"specifies the maximum number of iterations before the process stops, where number is a positive integer\",\"help\":\"MAXITER=*number*\",\"type\":\"value\"},{\"name\":\"MAXSV=\",\"optional\":true,\"description\":\"specifies the maximum number of support vectors, where number is a positive integer\",\"help\":\"MAXSV=*number*\",\"type\":\"value\"},{\"name\":\"METHOD=\",\"optional\":true,\"description\":\"specifies the optimization method to use for training the data\",\"help\":\"METHOD=ACTIVESET | CD | IPOINT\",\"type\":\"choice\"},{\"name\":\"NOPRINT\",\"optional\":true,\"description\":\"suppresses the generation of ODS outputs\",\"type\":\"standalone\"},{\"name\":\"NOSCALE\",\"optional\":true,\"description\":\"uses the original data during training\",\"type\":\"standalone\"},{\"name\":\"NTHREADS=\",\"optional\":true,\"description\":\"specifies the number of threads to use in the computation\",\"help\":\"NTHREADS=*number-of-threads*\",\"type\":\"value\"},{\"name\":\"PRINTTARGET\",\"optional\":true,\"description\":\"generates the \\\"Predicted Probability Variables\\\" table, which displays the target variable and the predicted probability variables, and the \\\"Predicted Target Variable\\\" table, which displays the predicted target variable\",\"type\":\"standalone\"},{\"name\":\"REGL1=\",\"optional\":true,\"description\":\"specifies the L1 penalty value when METHOD=CD, where number is a real number greater than 0\",\"help\":\"REGL1=*number*\",\"type\":\"value\"},{\"name\":\"REGL2=\",\"optional\":true,\"description\":\"specifies the L2 penalty value when METHOD=CD, where number is a real number greater than 0\",\"help\":\"REGL2=*number*\",\"type\":\"value\"},{\"name\":\"SCALE\",\"optional\":true,\"description\":\"scales the input variables to between 0 and 1 during training\",\"type\":\"standalone\"},{\"name\":\"SEED=\",\"optional\":true,\"description\":\"specifies the random number seed when METHOD=CD, where number is a nonnegative integer\",\"help\":\"SEED=*number*\",\"type\":\"value\"},{\"name\":\"TOLERANCE=\",\"optional\":true,\"description\":\"specifies the minimal absolute tolerance at which the iteration stops\",\"help\":\"TOLERANCE=*number*\",\"type\":\"value\"},{\"name\":\"USEMISS\",\"optional\":true,\"description\":\"uses missing values for input variables\",\"type\":\"standalone\"}]},{\"name\":\"AUTOTUNE\",\"description\":\"searches for the best combination of values of the C= option in the PROC SVMACHINE statement and the {DEGREE=} suboption of the POLYNOMIAL option in the KERNEL statement\",\"help\":\"AUTOTUNE &lt;options&gt;;                                              \",\"arguments\":[{\"name\":\"TUNINGPARAMETERS=\",\"optional\":true,\"aliases\":[\"TUNEPARMS=\"],\"description\":\"specifies which options to tune and which ranges to tune over\",\"help\":\"TUNINGPARAMETERS=(*suboption* |...| &lt;*suboption*&gt;)\",\"type\":\"value\",\"arguments\":[{\"name\":\"C\",\"description\":\"specifies the penalty values to be used when tuning the SVM model, where number or any value in value-list is a real number greater than 0\",\"help\":\"C (LB=*number* UB=*number* VALUES=*value-list* INIT=*number* EXCLUDE)\",\"type\":\"value\",\"arguments\":[{\"name\":\"LB=\",\"description\":\"specifies the minimum penalty value to consider when tuning the SVM model\",\"help\":\"LB=*number*\",\"type\":\"value\"},{\"name\":\"UB=\",\"description\":\"specifies the maximum penalty value to consider when tuning the SVM model\",\"help\":\"UB=*number*\",\"type\":\"value\"},{\"name\":\"VALUES=\",\"description\":\"specifies a list of penalty values to consider when tuning the SVM model, where value-list is a space-separated list of numbers greater than 0\",\"help\":\"VALUES=*value-list*\",\"type\":\"value\"},{\"name\":\"INIT=\",\"description\":\"specifies the initial penalty value for the tuner to use\",\"help\":\"INIT=*number*\",\"type\":\"value\"},{\"name\":\"EXCLUDE\",\"description\":\"excludes the penalty suboption from the tuning process\",\"type\":\"standalone\"}]},{\"name\":\"DEGREE\",\"description\":\"specifies the degree that is used in a polynomial kernel when tuning the SVM model, where number and values in the value-list can be 2 or 3\",\"help\":\"DEGREE (LB=*number* UB=*number* VALUES=*value-list* INIT=*number* EXCLUDE)\",\"type\":\"value\",\"arguments\":[{\"name\":\"LB=\",\"description\":\"specifies a lower bound of the degree to consider when tuning the SVM model\",\"help\":\"LB=*number*\",\"type\":\"value\"},{\"name\":\"UB=\",\"description\":\"specifies an upper bound of the degree to consider when tuning the SVM model\",\"help\":\"UB=*number*\",\"type\":\"value\"},{\"name\":\"VALUES=\",\"description\":\"specifies a list of values to consider for the degree in the kernel, where value-list is a space-separated list of numbers\",\"help\":\"VALUES=*value-list*\",\"type\":\"value\"},{\"name\":\"INIT=\",\"description\":\"specifies the initial degree of the kernel in the SVM model\",\"help\":\"INIT=*number*\",\"type\":\"value\"},{\"name\":\"EXCLUDE\",\"description\":\"excludes the degree from the tuning process\",\"type\":\"standalone\"}]},{\"name\":\"KERNEL_METHOD\",\"description\":\"specifies the combined values of the KERNEL and METHOD suboptions that are used when tuning the SVM model\",\"help\":\"KERNEL_METHOD (VALUES=*value-list* INIT=*value* EXCLUDE)\",\"type\":\"value\",\"arguments\":[{\"name\":\"VALUES=\",\"description\":\"specifies a list of values to consider for the KERNEL_METHOD suboption, where value-list is a space-separated list of strings\",\"help\":\"VALUES=*value-list*\",\"type\":\"value\"},{\"name\":\"INIT=\",\"description\":\"specifies the initial value of the KERNEL_METHOD suboption\",\"help\":\"INIT=*value*\",\"type\":\"value\"},{\"name\":\"EXCLUDE\",\"description\":\"excludes the KERNEL_METHOD suboption from the tuning process\",\"type\":\"standalone\"}]},{\"name\":\"RBFPARAMETER\",\"description\":\"specifies the RBFPARAMETER (K_PAR) suboption values to be used when tuning the SVM model, where number or any value in the value-list is a real number greater than 0\",\"help\":\"RBFPARAMETER (LB=*number* UB=*number* VALUES=*value-list* INIT=*number* EXCLUDE)\",\"type\":\"value\",\"arguments\":[{\"name\":\"LB=\",\"description\":\"specifies the minimum RBFPARAMETER suboption value to consider when tuning the SVM model\",\"help\":\"LB=*number*\",\"type\":\"value\"},{\"name\":\"UB=\",\"description\":\"specifies the maximum RBFPARAMETER suboption value to consider when tuning the SVM model\",\"help\":\"UB=*number*\",\"type\":\"value\"},{\"name\":\"VALUES=\",\"description\":\"specifies a list of RBFPARAMETER suboption values to consider when tuning the SVM model, where value-list is a space-separated list of numbers greater than 0\",\"help\":\"VALUES=*value-list*\",\"type\":\"value\"},{\"name\":\"INIT=\",\"description\":\"specifies the initial RBFPARAMETER suboption value for the tuner to use\",\"help\":\"INIT=*number*\",\"type\":\"value\"},{\"name\":\"EXCLUDE\",\"description\":\"excludes the RBFPARAMETER suboption from the tuning process\",\"type\":\"standalone\"}]},{\"name\":\"REGL2\",\"description\":\"specifies the REGL2 suboption values to be used when tuning the SVM model, where number or any value in the value-list is a real number greater than 0\",\"help\":\"REGL2 (LB=*number* UB=*number* VALUES=*value-list* INIT=*number* EXCLUDE)\",\"type\":\"value\",\"arguments\":[{\"name\":\"LB=\",\"description\":\"specifies the minimum REGL2 suboption value to consider when tuning the SVM model\",\"help\":\"LB=*number*\",\"type\":\"value\"},{\"name\":\"UB=\",\"description\":\"specifies the maximum REGL2 suboption value to consider when tuning the SVM model\",\"help\":\"UB=*number*\",\"type\":\"value\"},{\"name\":\"VALUES=\",\"description\":\"specifies a list of REGL2 suboption values to consider when tuning the SVM model, where value-list is a space-separated list of numbers greater than 0\",\"help\":\"VALUES=*value-list*\",\"type\":\"value\"},{\"name\":\"INIT=\",\"description\":\"specifies the initial REGL2 suboption value for the tuner to use\",\"help\":\"INIT=*number*\",\"type\":\"value\"},{\"name\":\"EXCLUDE\",\"description\":\"excludes the REGL2 suboption from the tuning process\",\"type\":\"standalone\"}]},{\"name\":\"SIGMOIDPARAMETER1\",\"description\":\"specifies the SIGMOIDPARAMETER1 (K_PAR1) suboption values to be used when tuning the SVM model, where number or any value in the value-list is a real number greater than 0\",\"help\":\"SIGMOIDPARAMETER1 (LB=*number* UB=*number* VALUES=*value-list* INIT=*number* EXCLUDE)\",\"type\":\"value\",\"arguments\":[{\"name\":\"LB=\",\"description\":\"specifies the minimum SIGMOIDPARAMETER1 suboption value to consider when tuning the SVM model\",\"help\":\"LB=*number*\",\"type\":\"value\"},{\"name\":\"UB=\",\"description\":\"specifies the maximum SIGMOIDPARAMETER1 suboption value to consider when tuning the SVM model\",\"help\":\"UB=*number*\",\"type\":\"value\"},{\"name\":\"VALUES=\",\"description\":\"specifies a list of SIGMOIDPARAMETER1 suboption values to consider when tuning the SVM model, where value-list is a space-separated list of numbers greater than 0\",\"help\":\"VALUES=*value-list*\",\"type\":\"value\"},{\"name\":\"INIT=\",\"description\":\"specifies the initial SIGMOIDPARAMETER1 suboption value for the tuner to use\",\"help\":\"INIT=*number*\",\"type\":\"value\"},{\"name\":\"EXCLUDE\",\"description\":\"excludes the SIGMOIDPARAMETER1 suboption from the tuning process\",\"type\":\"standalone\"}]},{\"name\":\"SIGMOIDPARAMETER2\",\"description\":\"specifies the SIGMOIDPARAMETER2 (K_PAR2) suboption values to be used when tuning the SVM model, where number or any value in the value-list is a real number\",\"help\":\"SIGMOIDPARAMETER2 (LB=*number* UB=*number* VALUES=*value-list* INIT=*number* EXCLUDE)\",\"type\":\"value\",\"arguments\":[{\"name\":\"LB=\",\"description\":\"specifies the minimum SIGMOIDPARAMETER2 suboption value to consider when tuning the SVM model\",\"help\":\"LB=*number*\",\"type\":\"value\"},{\"name\":\"UB=\",\"description\":\"specifies the maximum SIGMOIDPARAMETER2 suboption value to consider when tuning the SVM model\",\"help\":\"UB=*number*\",\"type\":\"value\"},{\"name\":\"VALUES=\",\"description\":\"specifies a list of SIGMOIDPARAMETER2 suboption values to consider when tuning the SVM model, where value-list is a space-separated list of real numbers\",\"help\":\"VALUES=*value-list*\",\"type\":\"value\"},{\"name\":\"INIT=\",\"description\":\"specifies the initial SIGMOIDPARAMETER2 suboption value for the tuner to use\",\"help\":\"INIT=*number*\",\"type\":\"value\"},{\"name\":\"EXCLUDE\",\"description\":\"excludes the SIGMOIDPARAMETER2 suboption from the tuning process\",\"type\":\"standalone\"}]}]}]},{\"name\":\"CODE\",\"description\":\"generates SAS DATA step code that mimics the computations that the OUTPUT statement performs\",\"help\":\"CODE  FILE=*filename*;                                              \",\"arguments\":[{\"name\":\"FILE=\",\"optional\":true,\"description\":\"specifies the name of the file to write the SAS score code to\",\"help\":\"FILE=*filename*\",\"type\":\"value\"}]},{\"name\":\"CROSSVALIDATION\",\"description\":\"performs k-fold cross validation to find the average estimated validation error\",\"help\":\"CROSSVALIDATION &lt;options&gt;;                                              \",\"arguments\":[{\"name\":\"KFOLD=\",\"optional\":true,\"description\":\"specifies the number of partition folds in the cross validation process, where number is between 2 and 20, inclusive\",\"help\":\"KFOLD=*number*\",\"type\":\"value\"},{\"name\":\"NOPARALLEL\",\"optional\":true,\"description\":\"specifies that k-fold cross validation not be run in parallel\",\"type\":\"standalone\"},{\"name\":\"NSUBSESSIONWORKERS=\",\"optional\":true,\"description\":\"specifies the number of worker nodes to use in parallel subsessions\",\"help\":\"NSUBSESSIONWORKERS=*number*\",\"type\":\"value\"}]},{\"name\":\"FREQ\",\"description\":\"identifies a numeric variable in the input data table that contains the frequency of occurrence of each observation\",\"help\":\"FREQ  variable;                                              \"},{\"name\":\"ID\",\"description\":\"lists one or more variables that are to be copied from the input data table to the output data tables that are specified in the OUT= option in the OUTPUT statement and the RSTORE= option in the SAVESTATE statement\",\"help\":\"ID *variables*;                                              \"},{\"name\":\"INPUT\",\"description\":\"specifies the names of variables to be used in training\",\"help\":\"INPUT  variables / &lt;LEVEL=INTERVAL | NOMINAL&gt;;                                              \",\"arguments\":[{\"name\":\"LEVEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies whether the specified input variables are continuous or categorical\",\"help\":\"LEVEL=INTERVAL | NOMINAL\",\"type\":\"choice\"}]},{\"name\":\"KERNEL\",\"description\":\"specifies the type of kernel and any associated parameters to be used during training\",\"help\":\"KERNEL  kernel-type / &lt;kernel-parameter&gt;;                                              \",\"arguments\":[{\"name\":\"LINEAR\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"uses a linear kernel during training\",\"type\":\"standalone\"},{\"name\":\"POLYNOMIAL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"uses a polynomial kernel during training\",\"help\":\"POLYNOMIAL &lt;/ DEGREE=*number*&gt; \",\"type\":\"standaloneOrValue\"},{\"name\":\"RBF\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"uses a radial basis function (RBF) kernel during training\",\"help\":\"RBF &lt;/ K_PAR=*number*&gt;\",\"type\":\"standaloneOrValue\"},{\"name\":\"SIGMOID\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"uses a sigmoid kernel during training\",\"help\":\"SIGMOID &lt;/ K_PAR1=*number* K_PAR2=*number*&gt; \",\"type\":\"standaloneOrValue\"}]},{\"name\":\"OUTPUT\",\"description\":\"creates an output data table that contains the predicted values of the input data table\",\"help\":\"OUTPUT  OUT=*mylib.data-table*&lt;option&gt;;                                              \",\"arguments\":[{\"name\":\"OUT=\",\"optional\":true,\"description\":\"names the output data table for PROC SVMACHINE to use\",\"help\":\"OUT=*libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"COPYVAR=\",\"optional\":true,\"aliases\":[\"COPYVARS=\"],\"description\":\"lists one or more variables from the input data table that are transferred to the output data table\",\"help\":\"COPYVAR={*variable*}\",\"type\":\"value\"},{\"name\":\"ROLE\",\"optional\":true,\"description\":\"specifies a numeric variable that indicates the role that each observation plays in fitting the model\",\"help\":\"ROLE&lt;=*variable*&gt;\",\"type\":\"standaloneOrValue\"}]},{\"name\":\"PARTITION\",\"description\":\"specifies how observations in the input data set are logically partitioned into disjoint subsets for model training, validation, and testing\",\"help\":\"PARTITION  partition-option;                                              \",\"arguments\":[{\"name\":\"FRACTION\",\"optional\":true,\"description\":\"randomly assigns specified proportions of the observations in the input data table to the roles\",\"help\":\"FRACTION(&lt;TEST=*fraction*&gt; &lt;VALIDATE=*fraction*&gt; &lt;SEED=*number*&gt;)\",\"type\":\"standaloneOrValue\"},{\"name\":\"ROLE=\",\"optional\":true,\"aliases\":[\"ROLEVAR=\"],\"description\":\"names the variable in the input data table whose values are used to assign roles to each observation\",\"help\":\"ROLE={*variable* (&lt;TEST=*'value'*&gt; &lt;TRAIN=*'value'*&gt; &lt;VALIDATE=*'value'*&gt;) }\",\"type\":\"value\"}]},{\"name\":\"SAVESTATE\",\"description\":\"creates an analytic store for the model and saves it as a binary object in a data table\",\"help\":\"SAVESTATE  RSTORE=*mylib.data-table*;                                              \",\"arguments\":[{\"name\":\"RSTORE=\",\"optional\":true,\"description\":\"specifies a data table in which to save the analytic store for the model\",\"help\":\"RSTORE=*mylib.data-table*\",\"type\":\"dataSet\"}]},{\"name\":\"TARGET\",\"description\":\"names the target variable whose values PROC SVMACHINE predicts\",\"help\":\"TARGET  variable &lt;/options&gt;;                                              \",\"arguments\":[{\"name\":\"LEVEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies whether the specified target is continuous or categorical\",\"help\":\"LEVEL=INTERVAL | NOMINAL\",\"type\":\"choice\"},{\"name\":\"ASC\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"ASCENDING\"],\"description\":\"levelizes the target values in ascending order\",\"type\":\"standalone\"},{\"name\":\"DESC\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"DESCENDING\"],\"description\":\"levelizes the target values in descending order\",\"type\":\"standalone\"}]},{\"name\":\"WEIGHT\",\"description\":\"variable is used to weight each observation to perform a weighted analysis of the data\",\"help\":\"WEIGHT  variable;                                              \"}],\"supportSiteInformation\":{\"docsetId\":\"casml\",\"docsetVersion\":\"latest\",\"docsetTargetFile\":\"casml_svmachine_toc.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/SYSLIN.json",
    "content": "{\"name\":\"SYSLIN\",\"statements\":[{\"name\":\"PROC SYSLIN\",\"description\":\"The SYSLIN procedure estimates parameters in an interdependent system of linear regression equations. † Ordinary least squares (OLS) estimates are biased and inconsistent when current period endogenous variables appear as regressors in other equations in the system. The errors of a set of related regression equations are often correlated, and the efficiency of the estimates can be improved by taking these correlations into account. The SYSLIN procedure provides several techniques that produce consistent and asymptotically efficient estimates for systems of regression equations. † The SYSLIN procedure provides the following estimation methods: † ordinary least squares (OLS), two-stage least squares (2SLS), limited information maximum likelihood (LIML), K-class, seemingly unrelated regressions (SUR), iterated seemingly unrelated regressions (ITSUR), three-stage least squares (3SLS), iterated three-stage least squares (IT3SLS), full information maximum likelihood (FIML), minimum expected loss (MELO), † Other features of the SYSLIN procedure enable you to: † impose linear restrictions on the parameter estimates, test linear hypotheses about the parameters, write predicted and residual values to an output SAS data set, write parameter estimates to an output SAS data set, write the crossproducts matrix (SSCP) to an output SAS data set, use raw data, correlations, covariances, or cross products as input\",\"help\":\"PROC SYSLIN <2SLS><3SLS><ALL><ALPHA=value><CONVERGE=value><DATA=SAS-data-set><FIML><FIRST><IT3SLS><ITPRINT><ITSUR><K=value><LIML><MAXITER=n><MELO><NOINCLUDE><NOPRINT><OLS><OUT=SAS-data-set><OUTCOV3><OUTCOV><OUTEST=SAS-data-set><OUTSSCP=SAS-data-set><REDUCED><SDIAG><SIMPLE><SINGULAR=value><SUR><USSCP><USSCP2><VARDEF=DF | N | WEIGHT... >;     \\n\\tBY variables ;\\n\\n\\tENDOGENOUS variables ;\\n\\n\\tIDENTITY equation ;\\n\\n\\tINSTRUMENTS variables ;\\n\\n\\tMODEL <ALL><ALPHA=value><CORRB> ...;\\n\\n\\tOUTPUT <PREDICTED=variable><RESIDUAL=variable> ;\\n\\n\\tRESTRICT equation , ..., equation ;\\n\\n\\tSRESTRICT equation , ..., equation ;\\n\\n\\tSTEST <PRINT> ;\\n\\n\\tTEST <PRINT> ;\\n\\n\\tVAR variables ;\\n\\n\\tWEIGHT variable ;\\n\",\"arguments\":[{\"name\":\"2SLS\",\"optional\":true,\"description\":\"Specifies the two-stage least squares estimation method.\",\"type\":\"standalone\"},{\"name\":\"3SLS\",\"optional\":true,\"description\":\"Specifies the three-stage least squares estimation method.\",\"type\":\"standalone\"},{\"name\":\"ALL\",\"optional\":true,\"description\":\"Specifies the CORRB, COVB, DW, I, OVERID, PLOT, STB, and XPX options for every MODEL statement.\",\"type\":\"standalone\"},{\"name\":\"ALPHA=\",\"optional\":true,\"description\":\"Specifies Fuller’s modification to the LIML estimation method.\",\"help\":\"ALPHA=*value*\",\"type\":\"value\"},{\"name\":\"CONVERGE=\",\"optional\":true,\"description\":\"Specifies the convergence criterion for the iterative estimation methods IT3SLS, ITSUR, and FIML. The default is CONVERGE=0.0001.\",\"help\":\"CONVERGE=*value*\",\"type\":\"value\"},{\"name\":\"DATA=\",\"optional\":true,\"description\":\"Specifies the input data set. If the DATA= option is omitted, the most recently created SAS data set is used. In addition to ordinary SAS data sets, PROC SYSLIN can analyze data sets of TYPE=CORR, TYPE=COV, TYPE=UCORR, TYPE=UCOV, and TYPE=SSCP.\",\"help\":\"DATA=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"FIML\",\"optional\":true,\"description\":\"Specifies the full information maximum likelihood estimation method.\",\"type\":\"standalone\"},{\"name\":\"FIRST\",\"optional\":true,\"description\":\"Prints first-stage regression statistics for the endogenous variables regressed on the instruments. This output includes sums of squares, estimates, variances, and standard deviations.\",\"type\":\"standalone\"},{\"name\":\"IT3SLS\",\"optional\":true,\"description\":\"Specifies the iterative three-stage least squares estimation method.\",\"type\":\"standalone\"},{\"name\":\"ITPRINT\",\"optional\":true,\"description\":\"Prints parameter estimates, system-weighted residual sum of squares, and at each iteration for the IT3SLS and ITSUR estimation methods. For the FIML method, the ITPRINT option prints parameter estimates, negative of log-likelihood function, and norm of gradient vector at each iteration.\",\"type\":\"standalone\"},{\"name\":\"ITSUR\",\"optional\":true,\"description\":\"Specifies the iterative seemingly unrelated estimation method.\",\"type\":\"standalone\"},{\"name\":\"K=\",\"optional\":true,\"description\":\"Specifies the K-class estimation method.\",\"help\":\"K=*value*\",\"type\":\"value\"},{\"name\":\"LIML\",\"optional\":true,\"description\":\"Specifies the limited information maximum likelihood estimation method.\",\"type\":\"standalone\"},{\"name\":\"MAXITER=\",\"optional\":true,\"description\":\"Specifies the maximum number of iterations allowed for the IT3SLS, ITSUR, and FIML estimation methods. The MAXITER= option can be abbreviated as MAXIT=. The default is MAXITER=30.\",\"help\":\"MAXITER=*n*\",\"type\":\"value\"},{\"name\":\"MELO\",\"optional\":true,\"description\":\"Specifies the minimum expected loss estimation method.\",\"type\":\"standalone\"},{\"name\":\"NOINCLUDE\",\"optional\":true,\"description\":\"Excludes the RESTRICT statements from the final stage for the 3SLS, IT3SLS, SUR, and ITSUR estimation methods.\",\"type\":\"standalone\"},{\"name\":\"NOPRINT\",\"optional\":true,\"description\":\"Suppresses all printed output. Specifying NOPRINT in the PROC SYSLIN statement is equivalent to specifying NOPRINT in every MODEL statement.\",\"type\":\"standalone\"},{\"name\":\"OLS\",\"optional\":true,\"description\":\"Specifies the ordinary least squares estimation method. This is the default.\",\"type\":\"standalone\"},{\"name\":\"OUT=\",\"optional\":true,\"description\":\"Specifies an output SAS data set for residuals and predicted values. The OUT= option is used in conjunction with the OUTPUT statement.\",\"help\":\"OUT=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"OUTCOV3\",\"optional\":true,\"aliases\":[\"COV3OUT\"],\"description\":\"Writes covariance matrices for each model in a system to the OUTEST= data set when the 3SLS, SUR, or FIML option is used.\",\"type\":\"standalone\"},{\"name\":\"OUTCOV\",\"optional\":true,\"aliases\":[\"COVOUT\"],\"description\":\"Writes the covariance matrix of the parameter estimates to the OUTEST= data set in addition to the parameter estimates.\",\"type\":\"standalone\"},{\"name\":\"OUTEST=\",\"optional\":true,\"description\":\"Writes the parameter estimates to an output data set.\",\"help\":\"OUTEST=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"OUTSSCP=\",\"optional\":true,\"description\":\"Writes the sum-of-squares-and-crossproducts matrix to an output data set.\",\"help\":\"OUTSSCP=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"REDUCED\",\"optional\":true,\"description\":\"Prints the reduced form estimates. If the REDUCED option is specified, you should specify any IDENTITY statements needed to make the system square.\",\"type\":\"standalone\"},{\"name\":\"SDIAG\",\"optional\":true,\"description\":\"Uses the diagonal of S instead of S to do the estimation, where S is the covariance matrix of equation errors.\",\"type\":\"standalone\"},{\"name\":\"SIMPLE\",\"optional\":true,\"description\":\"Prints descriptive statistics for the dependent variables. The statistics printed include the sum, mean, uncorrected sum of squares, variance, and standard deviation.\",\"type\":\"standalone\"},{\"name\":\"SINGULAR=\",\"optional\":true,\"description\":\"Specifies a criterion for testing singularity of the crossproducts matrix. This is a tuning parameter used to make PROC SYSLIN more or less sensitive to singularities. The value must be between 0 and 1. The default is SINGULAR=1E–8.\",\"help\":\"SINGULAR=*value*\",\"type\":\"value\"},{\"name\":\"SUR\",\"optional\":true,\"description\":\"Specifies the seemingly unrelated estimation method.\",\"type\":\"standalone\"},{\"name\":\"USSCP\",\"optional\":true,\"description\":\"Prints the uncorrected sum-of-squares-and-crossproducts matrix.\",\"type\":\"standalone\"},{\"name\":\"USSCP2\",\"optional\":true,\"description\":\"Prints the uncorrected sum-of-squares-and-crossproducts matrix for all variables used in the analysis, including predicted values of variables generated by the procedure.\",\"type\":\"standalone\"},{\"name\":\"VARDEF=\",\"optional\":true,\"description\":\"Specifies the denominator to use in calculating cross-equation error covariances and parameter standard errors and covariances.\",\"help\":\"VARDEF=DF | N | WEIGHT | WGT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DF\",\"description\":\"Corrects for model degrees of freedom.\",\"type\":\"standalone\"},{\"name\":\"N\",\"description\":\"Specifies no degrees-of-freedom correction.\",\"type\":\"standalone\"},{\"name\":\"WEIGHT\",\"description\":\"Specifies the sum of the observation weights.\",\"type\":\"standalone\"},{\"name\":\"WGT\",\"description\":\"Specifies the sum of the observation weights minus the model degrees of freedom.\",\"type\":\"standalone\"}]}]},{\"name\":\"BY\",\"description\":\"A BY statement can be used with PROC SYSLIN to obtain separate analyses on observations in groups defined by the BY variables.\",\"help\":\"BY variables \"},{\"name\":\"ENDOGENOUS\",\"description\":\"The ENDOGENOUS statement declares the jointly dependent variables that are projected in the first-stage regression through the instrument variables. The ENDOGENOUS statement is not needed for the SUR, ITSUR, or OLS estimation methods. The default ENDOGENOUS list consists of all the dependent variables in the MODEL and IDENTITY statements that do not appear in the INSTRUMENTS statement.\",\"help\":\"ENDOGENOUS variables \"},{\"name\":\"IDENTITY\",\"aliases\":[\"ID\"],\"description\":\"The IDENTITY statement specifies linear relationships among variables to write to the OUTEST= data set. It provides extra information in the OUTEST= data set but does not create or compute variables. The OUTEST= data set can be processed by the SIMLIN procedure in a later step. The IDENTITY statement is also used to compute reduced form coefficients when the REDUCED option in the PROC SYSLIN statement is specified. The equation given by the IDENTITY statement has the same form as equations in the MODEL statement. A label can be specified for an IDENTITY statement as follows: label: IDENTITY equation ...;\",\"help\":\"IDENTITY equation \"},{\"name\":\"INSTRUMENTS\",\"description\":\"The INSTRUMENTS statement declares the variables used in obtaining first-stage predicted values. All the instruments specified are used in each first-stage regression. The INSTRUMENTS statement is required for the 2SLS, 3SLS, IT3SLS, LIML, MELO, and K-class estimation methods. The INSTRUMENTS statement is not needed for the SUR, ITSUR, OLS, or FIML estimation methods.\",\"help\":\"INSTRUMENTS variables \"},{\"name\":\"MODEL\",\"description\":\"The MODEL statement regresses the response variable on the left side of the equal sign against the regressors listed on the right side. Models can be given labels. Model labels are used in the printed output to identify the results for different models. Model labels are also used in SRESTRICT and STEST statements to refer to parameters in different models. If no label is specified, the response variable name is used as the label for the model. The model label is specified as follows: label : MODEL ...;\",\"help\":\"MODEL &lt;ALL&gt;&lt;ALPHA=value&gt;&lt;CORRB&gt; ...\",\"arguments\":[{\"name\":\"ALL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the CORRB, COVB, DW, I, OVERID, PLOT, STB, and XPX options.\",\"type\":\"standalone\"},{\"name\":\"ALPHA=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the α parameter for Fuller’s modification to the LIML estimation method.\",\"help\":\"ALPHA=*value*\",\"type\":\"value\"},{\"name\":\"CORRB\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Prints the matrix of estimated correlations between the parameter estimates.\",\"type\":\"standalone\"},{\"name\":\"COVB\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Prints the matrix of estimated covariances between the parameter estimates.\",\"type\":\"standalone\"},{\"name\":\"DW\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Prints Durbin-Watson statistics and autocorrelation coefficients for the residuals.\",\"type\":\"standalone\"},{\"name\":\"I\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Prints the inverse of the crossproducts matrix for the model, (X'X)⁻¹. If restrictions are specified, the crossproducts matrix printed is adjusted for the restrictions.\",\"type\":\"standalone\"},{\"name\":\"K=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies K-class estimation.\",\"help\":\"K=*value*\",\"type\":\"value\"},{\"name\":\"NOINT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Suppresses the intercept parameter from the model.\",\"type\":\"standalone\"},{\"name\":\"NOPRINT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Suppresses the normal printed output.\",\"type\":\"standalone\"},{\"name\":\"OVERID\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Prints Basmann’s (1960) test for over identifying restrictions.\",\"type\":\"standalone\"},{\"name\":\"PLOT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Plots residual values against regressors. A plot of the residuals for each regressor is printed.\",\"type\":\"standalone\"},{\"name\":\"STB\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Prints standardized parameter estimates. Sometimes known as a standard partial regression coefficient, a standardized parameter estimate is a parameter estimate multiplied by the standard deviation of the associated regressor and divided by the standard deviation of the response variable.\",\"type\":\"standalone\"},{\"name\":\"UNREST\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Prints parameter estimates computed before restrictions are applied. The UNREST option is valid only if a RESTRICT statement is specified.\",\"type\":\"standalone\"},{\"name\":\"XPX\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Prints the model crossproducts matrix, X'X.\",\"type\":\"standalone\"}]},{\"name\":\"OUTPUT\",\"description\":\"The OUTPUT statement writes predicted values and residuals from the preceding model to the data set specified by the OUT= option in the PROC SYSLIN statement. An OUTPUT statement must come after the MODEL statement to which it applies. The OUT= option must be specified in the PROC SYSLIN statement.\",\"help\":\"OUTPUT &lt;PREDICTED=variable&gt;&lt;RESIDUAL=variable&gt;\",\"arguments\":[{\"name\":\"PREDICTED=\",\"optional\":true,\"aliases\":[\"PRED=\",\"P=\"],\"description\":\"Names a new variable to contain the predicted values for the response variable.\",\"help\":\"PREDICTED=*variable*\",\"type\":\"value\"},{\"name\":\"RESIDUAL=\",\"optional\":true,\"aliases\":[\"RESID=\",\"R=\"],\"description\":\"Names a new variable to contain the residual values for the response variable.\",\"help\":\"RESIDUAL=*variable*\",\"type\":\"value\"}]},{\"name\":\"RESTRICT\",\"description\":\"The RESTRICT statement places restrictions on the parameter estimates for the preceding MODEL statement. Any number of RESTRICT statements can follow a MODEL statement. Each restriction is written as a linear equation. If more than one restriction is specified in a single RESTRICT statement, the restrictions are separated by commas. RESTRICT statements can be given labels. The labels are used in the printed output to distinguish results for different restrictions. Labels are specified as follows: label : RESTRICT ...; The following is an example of the use of the RESTRICT statement, in which the coefficients of the regressors X1 and X2 are required to sum to 1. proc syslin data=a; model y = x1 x2; restrict x1 + x2 = 1; run;\",\"help\":\"RESTRICT equation , ..., equation \"},{\"name\":\"SRESTRICT\",\"description\":\"The SRESTRICT statement imposes linear restrictions that involve parameters in two or more MODEL statements. The SRESTRICT statement is like the RESTRICT statement but is used to impose restrictions across equations, whereas the RESTRICT statement applies only to parameters in the immediately preceding MODEL statement. SRESTRICT statements can be given labels. The labels are used in the printed output to distinguish results for different restrictions. Labels are specified as follows: label : SRESTRICT ...; The following is an example of the use of the SRESTRICT statement, in which the coefficient for the regressor X2 is constrained to be the same in both models. proc syslin data=a 3sls; endogenous y1 y2; instruments x1 x2; model y1 = y2 x1 x2; model y2 = y1 x2; srestrict y1.x2 = y2.x2; run;\",\"help\":\"SRESTRICT equation , ..., equation \"},{\"name\":\"STEST\",\"description\":\"The STEST statement performs an F test for the joint hypotheses specified in the statement. STEST statements can be given labels. The label is used in the printed output to distinguish different tests. Any number of STEST statements can be specified. Labels are specified as follows: label : STEST ...; The following is an example of the STEST statement: proc syslin data=a 3sls; endogenous y1 y2; instruments x1 x2; model y1 = y2 x1 x2; model y2 = y1 x2; stest y1.x2 = y2.x2; run;\",\"help\":\"STEST &lt;PRINT&gt;\",\"arguments\":[{\"name\":\"PRINT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Prints intermediate calculations for the hypothesis tests.\",\"type\":\"standalone\"}]},{\"name\":\"TEST\",\"description\":\"The TEST statement performs F tests of linear hypotheses about the parameters in the preceding MODEL statement. Each equation specifies a linear hypothesis to be tested. If more than one equation is specified, the equations are separated by commas. TEST statements can be given labels. The label is used in the printed output to distinguish different tests. Any number of TEST statements can be specified. Labels are specified as follows: label : TEST ...; The following is an example of the use of TEST statement, which tests the hypothesis that the coefficients of X1 and X2 are the same: proc syslin data=a; model y = x1 x2; test x1 = x2; run;\",\"help\":\"TEST &lt;PRINT&gt;\",\"arguments\":[{\"name\":\"PRINT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Prints intermediate calculations for the hypothesis tests.\",\"type\":\"standalone\"}]},{\"name\":\"VAR\",\"description\":\"The VAR statement is used to include variables in the crossproducts matrix that are not specified in any MODEL statement. This statement is rarely used with PROC SYSLIN and is used only with the OUTSSCP= option in the PROC SYSLIN statement.\",\"help\":\"VAR variables \"},{\"name\":\"WEIGHT\",\"description\":\"The WEIGHT statement is used to perform weighted regression. The WEIGHT statement names a variable in the input data set whose values are relative weights for a weighted least squares fit. If the weight value is proportional to the reciprocal of the variance for each observation, the weighted estimates are the best linear unbiased estimates (BLUE).\",\"help\":\"WEIGHT variable \"}],\"supportSiteInformation\":{\"docsetId\":\"etsug\",\"docsetVersion\":\"latest\",\"docsetTargetFile\":\"etsug_syslin_toc.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/TABULARGAN.json",
    "content": "{\"name\":\"TABULARGAN\",\"statements\":[{\"name\":\"PROC TABULARGAN\",\"description\":\"The TABULARGAN procedure trains a correlation-preserving conditional tabular generative adversarial network (CPCTGAN) model on tabular data in SAS Viya. The procedure implements the CPCTGAN model by using the PyTorch library.\",\"help\":\"PROC TABULARGAN <options>;                 \\n\\tAEOPTIMIZATION < ADAM(suboptions) ><options>;                 \\n\\n\\tGANOPTIMIZATION < ADAM(suboptions) ><options>;                 \\n\\n\\tGMM <options>;                 \\n\\n\\tINPUT  variables </ LEVEL={INTERVAL | NOMINAL}>;                 \\n\\n\\tOUTPUT  OUT=libref.data-table;                 \\n\\n\\tSAVESTATE  RSTORE=libref.data-table;                 \\n\\n\\tTRAIN <options>;                 \\n\",\"arguments\":[{\"name\":\"DATA=\",\"optional\":true,\"description\":\"names the input data table for PROC TABULARGAN to use\",\"help\":\"DATA=*libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"DETERMINISTIC\",\"optional\":true,\"description\":\"DETERMINISTIC} tells the NVIDIA CUDA Deep Neural Network library (CuDNN) that you want only the deterministic implementations\",\"type\":\"standalone\"},{\"name\":\"NUMSAMPLES=\",\"optional\":true,\"description\":\"specifies the number of sample observations to generate\",\"help\":\"NUMSAMPLES=*number*\",\"type\":\"value\"},{\"name\":\"SCORESEED=\",\"optional\":true,\"description\":\"specifies the seed to use for the random number generator for scoring\",\"help\":\"SCORESEED=*number*\",\"type\":\"value\"},{\"name\":\"SEED=\",\"optional\":true,\"description\":\"specifies the seed to use for the random number generator for training\",\"help\":\"SEED=*number*\",\"type\":\"value\"},{\"name\":\"USEGPU\",\"optional\":true,\"description\":\"specifies that a GPU device is to be used\",\"help\":\"USEGPU(*suboptions*)\",\"type\":\"value\",\"arguments\":[{\"name\":\"DEVICE=\",\"description\":\"specifies the ID number of the GPU device that is to be used\",\"help\":\"DEVICE=*id-number*\",\"type\":\"value\"}]}]},{\"name\":\"AEOPTIMIZATION\",\"description\":\"specifies the optimizer parameters to use in training the autoencoder model\",\"help\":\"AEOPTIMIZATION &lt; ADAM(*suboptions*) &gt;&lt;*options*&gt;;                                              \",\"arguments\":[{\"name\":\"ADAM\",\"optional\":true,\"description\":\"specifies the optimization method to use in training the autoencoder model\",\"help\":\"ADAM (BETA1=*number* BETA2=*number*)\",\"type\":\"value\",\"arguments\":[{\"name\":\"BETA1=\",\"description\":\"specifies the exponential decay rate for the first-moment estimates\",\"help\":\" BETA1=*number*\",\"type\":\"value\"},{\"name\":\"BETA2=\",\"description\":\"specifies the exponential decay rate for the second-moment estimates\",\"help\":\" BETA2=*number*\",\"type\":\"value\"}]},{\"name\":\"LEARNINGRATE=\",\"optional\":true,\"description\":\"specifies the learning rate for the autoencoder's optimizer\",\"help\":\" LEARNINGRATE=*number*\",\"type\":\"value\"},{\"name\":\"NUMEPOCHS=\",\"optional\":true,\"description\":\"specifies the number of epochs to use in training the autoencoder model\",\"help\":\" NUMEPOCHS=*number*\",\"type\":\"value\"},{\"name\":\"WEIGHTDECAY=\",\"optional\":true,\"description\":\"specifies the weight decay for the autoencoder's optimizer\",\"help\":\" WEIGHTDECAY=*number*\",\"type\":\"value\"}]},{\"name\":\"GANOPTIMIZATION\",\"description\":\"specifies the optimizer parameters to use in training the GAN model\",\"help\":\"GANOPTIMIZATION &lt; ADAM(*suboptions*) &gt;&lt;*options*&gt;;                                              \",\"arguments\":[{\"name\":\"ADAM\",\"optional\":true,\"description\":\"specifies the optimization method to use in training the GAN model\",\"help\":\"ADAM (BETA1=*number* BETA2=*number*)\",\"type\":\"value\",\"arguments\":[{\"name\":\"BETA1=\",\"description\":\"specifies the exponential decay rate for the first-moment estimates\",\"help\":\" BETA1=*number*\",\"type\":\"value\"},{\"name\":\"BETA2=\",\"description\":\"specifies the exponential decay rate for the second-moment estimates\",\"help\":\" BETA2=*number*\",\"type\":\"value\"}]},{\"name\":\"LEARNINGRATE=\",\"optional\":true,\"description\":\"specifies the learning rate for the optimizer\",\"help\":\" LEARNINGRATE=*number*\",\"type\":\"value\"},{\"name\":\"NUMEPOCHS=\",\"optional\":true,\"description\":\"specifies the number of epochs to use in training the model GAN model\",\"help\":\" NUMEPOCHS=*number*\",\"type\":\"value\"},{\"name\":\"WEIGHTDECAYD=\",\"optional\":true,\"description\":\"specifies the weight decay for the discriminator's optimizer\",\"help\":\" WEIGHTDECAYD=*number*\",\"type\":\"value\"},{\"name\":\"WEIGHTDECAYG=\",\"optional\":true,\"description\":\"specifies the weight decay for the generator's optimizer\",\"help\":\" WEIGHTDECAYG=*number*\",\"type\":\"value\"}]},{\"name\":\"GMM\",\"description\":\"specifies the Gaussian mixture model (GMM) parameters to be used to calculate the centroid information for the interval variables\",\"help\":\"GMM &lt;options&gt;;                                              \",\"arguments\":[{\"name\":\"ALPHA=\",\"optional\":true,\"description\":\"specifies the concentration parameter for the Dirichlet process\",\"help\":\"ALPHA=*number*\",\"type\":\"value\"},{\"name\":\"CENTROIDSTABLE=\",\"optional\":true,\"description\":\"specifies the table that contains Gaussian mixture model (GMM) centroid information for continuous variables\",\"help\":\"CENTROIDSTABLE=*libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"MAXCLUSTERS=\",\"optional\":true,\"description\":\"specifies the GMM maximum number of clusters\",\"help\":\"MAXCLUSTERS=*number*\",\"type\":\"value\"},{\"name\":\"SEED=\",\"optional\":true,\"description\":\"specifies a value to use for starting the pseudorandom number generator for initialization\",\"help\":\"SEED=*number*\",\"type\":\"value\"},{\"name\":\"VB\",\"optional\":true,\"description\":\"specifies the inference parameters for the variational Bayesian (VB) model\",\"help\":\"VB(*suboptions*)\",\"type\":\"value\",\"arguments\":[{\"name\":\"COVARIANCE=\",\"description\":\"specifies the GMM covariance matrix type\",\"help\":\"COVARIANCE=DIAGONAL | FULL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DIAGONAL\",\"description\":\"specifies the covariance matrices of the Gaussian distributions as diagonal matrices\",\"type\":\"standalone\"},{\"name\":\"FULL\",\"description\":\"specifies the covariance matrices of the Gaussian distributions as full matrices\",\"type\":\"standalone\"}]},{\"name\":\"MAXVBITER=\",\"description\":\"sets the maximum number of iterations for VB inference\",\"help\":\"MAXVBITER=*number*\",\"type\":\"value\"},{\"name\":\"THRESHOLD=\",\"description\":\"specifies the GMM convergence threshold\",\"help\":\"THRESHOLD=*number*\",\"type\":\"value\"}]}]},{\"name\":\"INPUT\",\"description\":\"names input variables that share a common option\",\"help\":\"INPUT  variables &lt;/ LEVEL={INTERVAL | NOMINAL}&gt;;                                              \",\"arguments\":[{\"name\":\"LEVEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the level of measurement of the variables\",\"help\":\"LEVEL={INTERVAL | NOMINAL}\",\"type\":\"choice\"}]},{\"name\":\"OUTPUT\",\"description\":\"creates an output data table that contains the results of PROC TABULARGAN\",\"help\":\"OUTPUT  OUT=*libref.data-table*;                                              \",\"arguments\":[{\"name\":\"OUT=\",\"optional\":true,\"description\":\"specifies the output table in which to store the generated tabular data from the trained model\",\"help\":\"OUT=*libref.data-table*\",\"type\":\"dataSet\"}]},{\"name\":\"SAVESTATE\",\"description\":\"creates an analytic store for the model and saves it as a binary object in a data table\",\"help\":\"SAVESTATE  RSTORE=*libref.data-table*;                                              \",\"arguments\":[{\"name\":\"RSTORE=\",\"description\":\"specifies a data table in which to save the analytic store for the model\",\"help\":\"RSTORE=*libref.data-table*\",\"type\":\"dataSet\"}]},{\"name\":\"TRAIN\",\"description\":\"specifies the training parameters to use for training the tabular GAN model\",\"help\":\"TRAIN &lt;options&gt;;                                              \",\"arguments\":[{\"name\":\"CHECKPOINTFREQ=\",\"optional\":true,\"description\":\"specifies the frequency at which to save a checkpoint during training\",\"help\":\"CHECKPOINTFREQ=*number*\",\"type\":\"value\"},{\"name\":\"CHECKPOINTIN=\",\"optional\":true,\"description\":\"specifies the checkpoint table to be loaded to restore your model\",\"help\":\"CHECKPOINTIN=*libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"CHECKPOINTOUT=\",\"optional\":true,\"description\":\"specifies the table in which to save the current model as a checkpoint\",\"help\":\"CHECKPOINTOUT=*libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"EMBEDDINGDIM=\",\"optional\":true,\"description\":\"specifies the dimensions of the input noise to the generator\",\"help\":\"EMBEDDINGDIM=*number*\",\"type\":\"value\"},{\"name\":\"MINIBATCHSIZE=\",\"optional\":true,\"description\":\"specifies the number of observations in one minibatch\",\"help\":\"MINIBATCHSIZE=*number*\",\"type\":\"value\"},{\"name\":\"PACKSIZE=\",\"optional\":true,\"description\":\"specifies the number of samples to group together in applying the discriminator\",\"help\":\"PACKSIZE=*number*\",\"type\":\"value\"},{\"name\":\"PRINTFREQ=\",\"optional\":true,\"description\":\"specifies the frequency at which to print losses to the log and the iteration history table\",\"help\":\"PRINTFREQ=*number*\",\"type\":\"value\"},{\"name\":\"REGR1WEIGHT=\",\"optional\":true,\"description\":\"specifies the weight to use in regularizing the discriminator\",\"help\":\"REGR1WEIGHT=*number*\",\"type\":\"value\"},{\"name\":\"USEORIGLEVELFREQ\",\"optional\":true,\"description\":\"USEORIGLEVELFREQ} uses the log-frequency of categorical levels in the conditional sampling\",\"type\":\"standalone\"}]}],\"supportSiteInformation\":{\"docsetId\":\"casml\",\"docsetVersion\":\"latest\",\"docsetTargetFile\":\"casml_tabulargan_toc.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/TABULATE.json",
    "content": "{\"name\":\"TABULATE\",\"statements\":[{\"name\":\"PROC TABULATE\",\"description\":\"Displays descriptive statistics in tabular format.\",\"help\":\"PROC TABULATE <options><STYLE=style-override(s)>;\\n\\tATTRIB  variable-list(s) attribute-list(s);\\n\\n\\tBY <DESCENDING>variable-1\\n\\t\\t<<DESCENDING>variable-n ...><NOTSORTED>;\\n\\n\\tCLASS variable(s)</ options><STYLE=style-override(s) >;\\n\\n\\tCLASSLEV variable(s)</ STYLE=style-override(s)>;\\n\\n\\tFORMAT variable-1< ...variable-n><format><DEFAULT=default-format>;\\n\\n\\tFREQ variable;\\n\\n\\tKEYLABEL keyword-1='description-1' <keyword-2='description-2'  ...>;\\n\\n\\tKEYWORD keyword(s)</ STYLE=style-override(s)>;\\n\\n\\tLABEL variable-1=label-1< ...variable-n=label-n>;\\n\\n\\tTABLE <<page-expression,>row-expression,>\\n\\t\\tcolumn-expression </ table-options>;\\n\\n\\tVAR analysis-variable(s)</ options><STYLE=style-override(s)>;\\n\\n\\tWEIGHT variable;\\n\\n\\tWHERE where-expression-1\\n\\t\\t<logical-operator where-expression-n>; \\n\",\"arguments\":[{\"name\":\"ALPHA=\",\"optional\":true,\"description\":\"specifies the confidence level for the confidence limits.\",\"help\":\"ALPHA=*value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1f0jmqfizo9wdn1dxevkch8clqn\"},{\"name\":\"CLASSDATA=\",\"optional\":true,\"description\":\"specifies a secondary data set that contains the combinations of values of class variables to include in tables and output data sets.\",\"help\":\"CLASSDATA=*SAS-data-set*\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"n1k7cffoxmhkexn1k3e4wc7yu6s9\"},{\"name\":\"CONTENTS=\",\"optional\":true,\"description\":\"specifies the text for the entries in the table of contents.\",\"help\":\"CONTENTS=*link-text* &lt;#BYLINE&gt; &lt;#BYVAL&gt; &lt; #BYVAR&gt;\",\"type\":\"value\",\"arguments\":[{\"name\":\"#BYLINE\",\"description\":\"substitutes the entire BY line without leading or trailing blanks for #BYLINE in the text string. The BY line uses the format variable-name=value.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0g4q4b283vfhgn13cmd4zsw5digb\"},{\"name\":\"#BYVAL\",\"description\":\"substitutes the current value of the specified BY variable for #BYVAL in the text string.\",\"help\":\"#BYVAL*n* <br/> #BYVAL(*BY-variable-name*)\",\"type\":\"value\",\"arguments\":[{\"name\":\"n\",\"placeholder\":true,\"description\":\"specifies a variable by its position in the BY statement. For example, #BYVAL2 specifies the second variable in the BY statement.\",\"help\":\"*n* \",\"type\":\"value\",\"supportSiteTargetFragment\":\"p13afyz3ybaq8on1i34uzntgm74nb\"},{\"name\":\"BY-variable-name\",\"placeholder\":true,\"description\":\"specifies a variable from the BY statement by its name. For example, #BYVAL(YEAR) specifies the BY variable, YEAR. Variable-name is not case sensitive.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0bfmlnr1odg60n1cjw5ny2spf8xb\"}],\"supportSiteTargetFragment\":\"p0x6d9nm5ee9ghn1pviwycsny35hb\"},{\"name\":\"#BYVAR\",\"description\":\"substitutes the name of the BY-variable or the label associated with the variable (whatever the BY line would normally display) for #BYVAR in the text string.\",\"help\":\"#BYVAR*n* <br/> #BYVAR(*BY-variable-name*)\",\"type\":\"value\",\"arguments\":[{\"name\":\"n\",\"placeholder\":true,\"description\":\"specifies a variable by its position in the BY statement. For example, #BYVAR2 specifies the second variable in the BY statement.\",\"help\":\"*n* \",\"type\":\"value\",\"supportSiteTargetFragment\":\"p12jeed2wwv9qnn1i35tdbdwu2djb\"},{\"name\":\"BY-variable-name\",\"placeholder\":true,\"description\":\"specifies a variable from the BY statement by its name. For example, #BYVAR(SITES) specifies the BY variable, SITES. Variable-name is not case sensitive.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n19obrzhqcas46n1fcoxf7jvndkob\"}],\"supportSiteTargetFragment\":\"n09gmqcl9ve8knn1cwmckehgcamnb\"}],\"supportSiteTargetFragment\":\"n1xmnndni0bwkcn1hut9a09wmj56\"},{\"name\":\"DATA=\",\"optional\":true,\"description\":\"specifies the input data set.\",\"help\":\"DATA=*SAS-data-set*\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"n0lxvfk4ggwj9in12h643bt1lrb9\"},{\"name\":\"EXCLNPWGT\",\"optional\":true,\"aliases\":[\"EXCLNPWGTS\"],\"description\":\"excludes observations with nonpositive weights.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1t93wzd7m2k8pn119lt1wjzcc37\"},{\"name\":\"EXCLUSIVE\",\"optional\":true,\"description\":\"excludes from tables and output data sets all combinations of class variable values that are not in the CLASSDATA= data set.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n100glkp46yuf1n1ey6725t3c6aw\"},{\"name\":\"FORMAT=\",\"optional\":true,\"aliases\":[\"F=\"],\"description\":\"specifies a default format for each cell in the table.\",\"help\":\"FORMAT=*format-name*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1nvxidro0l1wxn1r3tc18omqq6f\"},{\"name\":\"FORMCHAR=\",\"optional\":true,\"description\":\"defines the characters to use to construct the table outlines and dividers.\",\"help\":\"FORMCHAR= &lt;(*position(s)*)&gt;='*formatting-character(s)*' \",\"type\":\"value\",\"arguments\":[{\"name\":\"position\",\"placeholder\":true,\"description\":\"identifies the position of one or more characters in the SAS formatting-character string. A space or a comma separates the positions.\",\"help\":\"*position(s)*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1k9cbl9u11gi9n18u84clv6nbsg\"},{\"name\":\"formatting-character\",\"placeholder\":true,\"description\":\"lists the characters to use for the specified positions.\",\"help\":\"*formatting-character(s)*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0490ermslp99yn12f84qdhrj9xz\"}],\"supportSiteTargetFragment\":\"p0ohnkj6l2afhgn1uadiskbfrjyd\"},{\"name\":\"MISSING\",\"optional\":true,\"description\":\"considers missing values as valid values for class variables.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0k25as39ky069n1npp4qi7uvk9u\"},{\"name\":\"NOSEPS\",\"optional\":true,\"description\":\"eliminates horizontal separator lines from the row titles and the body of the table.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0lmgsj4s1bhbqn1aopgs0buwgbk\"},{\"name\":\"NOTHREADS\",\"optional\":true,\"description\":\"disables parallel processing of the input data set.This option overrides the SAS system option THREADS | NOTHREADS unless the system option is restricted.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0yyt1mzp1z0rvn1xhpckgkkujzl\"},{\"name\":\"ORDER=\",\"optional\":true,\"description\":\"orders the values of a class variable according to the specified order.\",\"help\":\"ORDER=DATA | FORMATTED | FREQ | UNFORMATTED\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DATA\",\"description\":\"orders values according to their order in the input data set.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0hvpq4g5igh3dn1ek8uqnt7d9sa\"},{\"name\":\"FORMATTED\",\"aliases\":[\"FMT\",\"EXTERNAL\"],\"description\":\"orders values by their ascending formatted values. If no format has been assigned to a numeric class variable, then the default format, BEST12., is used. This order depends on your operating environment.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1jpg18bl17qghn0zv1jbbbbvuzv\"},{\"name\":\"FREQ\",\"description\":\"orders values by descending frequency count.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0mn793yh27dp5n1w070uvybw6wf\"},{\"name\":\"UNFORMATTED\",\"aliases\":[\"UNFMT\",\"INTERNAL\"],\"description\":\"orders values by their unformatted values, which yields the same order as PROC SORT. This order depends on your operating environment. This sort sequence is particularly useful for displaying dates chronologically.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1h8adla4vm653n19oue6st3m660\"}],\"supportSiteTargetFragment\":\"p1atw75cple5l6n12z4h9z16rvjb\"},{\"name\":\"OUT=\",\"optional\":true,\"description\":\"specifies the output data set.\",\"help\":\"OUT=*SAS-data-set*\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"p08ap616k1v756n15ooi1w1fv1yu\"},{\"name\":\"QMARKERS=\",\"optional\":true,\"description\":\"specifies the sample size to use for the P2 quantile estimation method.\",\"help\":\"QMARKERS=*number*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1scrqnqsk6585n1v82h13ay8tmm\"},{\"name\":\"QMETHOD=\",\"optional\":true,\"description\":\"specifies the quantile estimation method.\",\"help\":\"QMETHOD=OS | P2\",\"type\":\"choice\",\"arguments\":[{\"name\":\"OS\",\"description\":\"uses order statistics. PROC UNIVARIATE uses this technique.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0x3am0xrcw2chn1utckhxiejh1w\"},{\"name\":\"P2\",\"aliases\":[\"HIST\"],\"description\":\"uses the P2 method to approximate the quantile.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0uyr8rj65odbwn1k0smofyftaj0\"}],\"supportSiteTargetFragment\":\"n00vy2fvj1czcfn1k4phw88ejvw0\"},{\"name\":\"QNTLDEF=\",\"optional\":true,\"aliases\":[\"PCTLDEF=\"],\"description\":\"specifies the mathematical definition to calculate quantiles.\",\"help\":\"QNTLDEF=1 | 2 | 3 | 4 | 5\",\"type\":\"choice\",\"arguments\":[{\"name\":\"1\",\"type\":\"standalone\"},{\"name\":\"2\",\"type\":\"standalone\"},{\"name\":\"3\",\"type\":\"standalone\"},{\"name\":\"4\",\"type\":\"standalone\"},{\"name\":\"5\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"n1kkiz8mdr494qn1mqvhpjz3bmds\"},{\"name\":\"STYLE=\",\"optional\":true,\"aliases\":[\"S=\"],\"description\":\"specifies one or more style overrides to use for specific areas of the table.\",\"help\":\"STYLE=*style-override(s)*\",\"type\":\"value\",\"arguments\":[{\"name\":\"<PARENT>\",\"description\":\"specifies that the data cell use the style element of its parent heading.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n11jkutultb47xn13vjxdbo78ehl\"},{\"name\":\"style-attribute-name\",\"placeholder\":true,\"description\":\"specifies the attribute to change.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0lqsdo90qlk5un18brz7cnhu50z\"},{\"name\":\"style-attribute-value\",\"placeholder\":true,\"description\":\"specifies a value for the attribute. Each attribute has a different set of valid values. A SAS format can also be used as an attribute value for conditional formatting.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0p6gqfhlytm0gn1atit1c0eogjb\"},{\"name\":\"style-element-name\",\"placeholder\":true,\"description\":\"is the name of a style element that is part of an ODS style template.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0wj2hh2skn15hn11e8mb5h10xvj\"}],\"supportSiteTargetFragment\":\"n1agn69u302dzpn18mxxxdjxhhqy\"},{\"name\":\"THREADS\",\"optional\":true,\"description\":\"enables parallel processing of the input data set. This option overrides the SAS system option THREADS | NOTHREADS unless the system option is restricted.\",\"help\":\"THREADS \",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0gmrqulfi8f6qn1fy19jbq2d9m4\"},{\"name\":\"TRAP\",\"optional\":true,\"description\":\"enables floating point exception recovery during data processing beyond the recovery that is provided by normal SAS FPE handling.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p03vetrq56uu71n1idphlgn5aaui\"},{\"name\":\"VARDEF=\",\"optional\":true,\"description\":\"specifies the variance divisor to use in the calculation of the variance and standard deviation.\",\"help\":\"VARDEF=DF | N | WDF | WEIGHT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DF\",\"description\":\"Degrees of freedom\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1tv7mw1za4w09n1o9czfjtod3w2\"},{\"name\":\"N\",\"description\":\"Number of observations\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1ohf7rrmi4s92n11h9mf8omi9ji\"},{\"name\":\"WDF\",\"description\":\"Sum of weights minus one\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0jyp9p0g68h7hn1pn8guqys0u88\"},{\"name\":\"WEIGHT\",\"aliases\":[\"WGT\"],\"description\":\"Sum of weights\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0jyqgbg2lx0otn1dwei7y7qbkwy\"}],\"supportSiteTargetFragment\":\"n1bd4y12nehzumn1fw50lhe3lqwz\"}],\"supportSiteTargetFile\":\"n1hpbwr9acrbmen1e2d6hxjkotm1.htm\"},{\"name\":\"ATTRIB\",\"description\":\"Associates a format, informat, label, and length with one or more variables.\",\"help\":\"ATTRIB  *variable-list(s)**attribute-list(s)*;\",\"arguments\":[{\"name\":\"variable-list\",\"optional\":true,\"placeholder\":true,\"description\":\"names the variables that you want to associate with the attributes.\",\"help\":\"*variable-list(s)*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1nd0mq22iu6ovn14mz1ot1hwcjij\"},{\"name\":\"FORMAT=\",\"description\":\"associates a format with variables in variable-list.\",\"help\":\"FORMAT=*format*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p08pt9ce6bhq86n18a3zcc97bldzj\"},{\"name\":\"INFORMAT=\",\"description\":\"associates an informat with variables in variable-list.\",\"help\":\"INFORMAT=*informat*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n136glco6ritqdn160792yhk9mv1j\"},{\"name\":\"LABEL=\",\"description\":\"associates a label with variables in variable-list.\",\"help\":\"LABEL='*label*' \",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0a9x9io5pi05mn1i4p2cphc7t0nj\"}],\"supportSiteTargetFile\":\"n04pixwhr1atzln1dow0e10lyibsi.htm\"},{\"name\":\"BY\",\"description\":\"Orders the output according to the BY groups.\",\"help\":\"BY <DESCENDING>variable-1\\n\\t<… <DESCENDING> variable-n>\\n\\t<NOTSORTED>;\",\"arguments\":[{\"name\":\"variable\",\"placeholder\":true,\"description\":\"specifies the variable that the procedure uses to form BY groups. You can specify more than one variable. If you do not use the NOTSORTED option in the BY statement, then either the observations in the data set must be sorted by all the variables that you specify, or they must be indexed appropriately. Variables in a BY statement are called BY variables.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0e9kbav2i9chhn1xectebpz4s14f\"},{\"name\":\"DESCENDING\",\"optional\":true,\"description\":\"specifies that the observations are sorted in descending order by the variable that immediately follows the word DESCENDING in the BY statement.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1au0lhf4hi1h2n1le3cx2tp74l5f\"},{\"name\":\"NOTSORTED\",\"optional\":true,\"description\":\"specifies that observations are not necessarily sorted in alphabetic or numeric order. The observations are grouped in another way (for example, chronological order).\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p068zvjhrpn2awn1bygis4m6hppaf\"}],\"supportSiteTargetFile\":\"n13shq4na41y5wn14t67d8l6wgq8f.htm\"},{\"name\":\"CLASS\",\"aliases\":[\"CLASSES\"],\"description\":\"Identifies class variables for the table. Class variables determine the categories that PROC TABULATE uses to calculate statistics.\",\"help\":\"CLASS *variable(s)*&lt;/ *options*&gt;;\",\"arguments\":[{\"name\":\"variable\",\"placeholder\":true,\"description\":\"specifies one or more variables that the procedure uses to group the data. Variables in a CLASS statement are referred to as class variables.\",\"help\":\"*variable(s)*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1u6lr9n40da7dn19996hylbt756\"},{\"name\":\"ASCENDING\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"ASCEND\"],\"description\":\"specifies to sort the class variable values in ascending order.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0b7qd06diy25en16skc90lkpopd\"},{\"name\":\"DESCENDING\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"DESCEND\"],\"description\":\"specifies to sort the class variable values in descending order.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0qs6y3y83r77yn11j6uk8m5fltl\"},{\"name\":\"EXCLUSIVE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"excludes from tables and output data sets all combinations of class variables that are not found in the preloaded range of user-defined formats.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0se6pik0cxnjhn1jj0j881p98qb\"},{\"name\":\"GROUPINTERNAL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies not to apply formats to the class variables when PROC TABULATE groups the values to create combinations of class variables.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1my7snisvn2pnn10710mppjw664\"},{\"name\":\"MISSING\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"considers missing values as valid class variable levels. Special missing values that represent numeric values (the letters A through Z and the underscore (_) character) are each considered as a separate value.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0wt65km52k9w9n1xtjkg14gj1pl\"},{\"name\":\"MLF\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"enables PROC TABULATE to use the format label or labels for a given range or overlapping ranges to create subgroup combinations when a multilabel format is assigned to a class variable.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n122obwdb252fln0zg4i2rry1g38\"},{\"name\":\"ORDER=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the order to group the levels of the class variables in the output.\",\"help\":\"ORDER=DATA | FORMATTED | FREQ | UNFORMATTED\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DATA\",\"followsDelimiter\":\"/\",\"description\":\"orders values according to their order in the input data set.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1tj0xr83zju4jn11jrshn3okgmp\"},{\"name\":\"FORMATTED\",\"followsDelimiter\":\"/\",\"aliases\":[\"FMT\",\"EXTERNAL\"],\"description\":\"orders values by their ascending formatted values. This order depends on your operating environment.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0auyw0vqzwgnqn1lalnnrkllurz\"},{\"name\":\"FREQ\",\"followsDelimiter\":\"/\",\"description\":\"orders values by descending frequency count.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p00ecqlyp6fkp5n1ip8sonwrzv2l\"},{\"name\":\"UNFORMATTED\",\"followsDelimiter\":\"/\",\"aliases\":[\"UNFMT\",\"INTERNAL\"],\"description\":\"orders values by their unformatted values, which yields the same order as PROC SORT. This order depends on your operating environment. This sort sequence is particularly useful for displaying dates chronologically.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n08ff1gvgbubnln1iz4ypd260c6t\"}],\"supportSiteTargetFragment\":\"n1wvx67xgvjweyn11h2a5mjoks2l\"},{\"name\":\"PRELOADFMT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that all formats are preloaded for the class variables.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1x7h5fvfczq19n1upfc8xo6viwb\"},{\"name\":\"STYLE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"S=\"],\"description\":\"specifies one or more style overrides to use for page dimension text and class variable name headings.\",\"help\":\"STYLE=*style-override*\",\"type\":\"value\",\"arguments\":[{\"name\":\"<PARENT>\",\"followsDelimiter\":\"/\",\"description\":\"specifies that the data cell use the style element of its parent heading.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n11jkutultb47xn13vjxdbo78ehla\"},{\"name\":\"style-attribute-name\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the attribute to change.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0lqsdo90qlk5un18brz7cnhu50za\"},{\"name\":\"style-attribute-value\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a value for the attribute. Each attribute has a different set of valid values. A SAS format can also be used as an attribute value for conditional formatting.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0p6gqfhlytm0gn1atit1c0eogjba\"},{\"name\":\"style-element-name\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"is the name of a style element that is part of an ODS style template.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0wj2hh2skn15hn11e8mb5h10xvja\"}],\"supportSiteTargetFragment\":\"n0qs5768ioh04ln1lgplexsvdk4z\"}],\"supportSiteTargetFile\":\"n12teq2mctxmbjn1hu0ykvqwgpvp.htm\"},{\"name\":\"CLASSLEV\",\"aliases\":[\"CLASSLEVEL\",\"CLASSLEVELS\"],\"description\":\"Specifies a style element for class variable level value headings.\",\"help\":\"CLASSLEV *variable(s)*&lt;/ STYLE=*style-override(s)*&gt;;\",\"arguments\":[{\"name\":\"variable\",\"placeholder\":true,\"description\":\"specifies one or more class variables from the CLASS statement for which you want to specify a style element.\",\"help\":\"*variable(s)*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n027o18fc14uh1n10lvils1h3bw9\"},{\"name\":\"STYLE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"S=\"],\"description\":\"specifies one or more style overrides for class variable level value headings.\",\"help\":\"STYLE=*style-override*\",\"type\":\"value\",\"arguments\":[{\"name\":\"<PARENT>\",\"followsDelimiter\":\"/\",\"description\":\"specifies that the data cell use the style element of its parent heading.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n11jkutultb47xn13vjxdbo78ehlb\"},{\"name\":\"style-attribute-name\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the attribute to change.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0lqsdo90qlk5un18brz7cnhu50zb\"},{\"name\":\"style-attribute-value\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a value for the attribute. Each attribute has a different set of valid values. A SAS format can also be used as an attribute value for conditional formatting.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0p6gqfhlytm0gn1atit1c0eogjbb\"},{\"name\":\"style-element-name\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"is the name of a style element that is part of an ODS style template.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0wj2hh2skn15hn11e8mb5h10xvjb\"}],\"supportSiteTargetFragment\":\"p083hmtbm7m9h7n15iwwh05aybdx\"}],\"supportSiteTargetFile\":\"p0m0bk4zwq34npn18pd43srt47pu.htm\"},{\"name\":\"FORMAT\",\"description\":\"Associates formats with variables.\",\"help\":\"FORMAT *variable-1*&lt; ...*variable-n*&gt;*format**variable-1*&lt; ...*variable-n*&gt;*format*;\",\"arguments\":[{\"name\":\"variable\",\"optional\":true,\"placeholder\":true,\"description\":\"names one or more variables for SAS to associate with a format. You must specify at least one variable.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1d0cionbspk2tn1ma0m6kjd1ntxj\"},{\"name\":\"format\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the format that is listed for writing the values of the variables.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n15nxwcex8m202n1dp4xwbds95t9j\"}],\"supportSiteTargetFile\":\"p02hzcxsifsk8dn1a53t49zqd82cj.htm\"},{\"name\":\"FREQ\",\"description\":\"Specifies a numeric variable that contains the frequency of each observation.\",\"help\":\"FREQ *variable*;\",\"arguments\":[{\"name\":\"variable\",\"placeholder\":true,\"description\":\"specifies a numeric variable whose value represents the frequency of the observation. If you use the FREQ statement, then the procedure assumes that each observation represents\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1gl408e2992fqn1pegfgkpbrcypa\"}],\"supportSiteTargetFile\":\"n0veqyxb8kgzlon1um145m972pib.htm\"},{\"name\":\"KEYLABEL\",\"description\":\"Labels a keyword for the duration of the PROC TABULATE step. PROC TABULATE uses the label anywhere that the specified keyword would otherwise appear.\",\"help\":\"KEYLABEL *keyword-1*='*description-1*' &lt;*keyword-2*='*description-2*'  ...&gt;;\",\"arguments\":[{\"name\":\"keyword\",\"placeholder\":true,\"description\":\"specifies a statistic keyword.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1mddjipf93darn1fhf8azb469a9\"},{\"name\":\"description\",\"placeholder\":true,\"description\":\"specifies the keyword label.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0jd5cdh1ttl1rn157kg4me0ys9i\"}],\"supportSiteTargetFile\":\"n0hv64spq4ckzcn14a8bxli4eu0o.htm\"},{\"name\":\"KEYWORD\",\"aliases\":[\"KEYWORDS\"],\"description\":\"Specifies a style element for keyword headings.\",\"help\":\"KEYWORD *keyword(s)*&lt;/ STYLE=*style-override(s)*&gt;;\",\"arguments\":[{\"name\":\"keyword\",\"placeholder\":true,\"description\":\"specifies the keyword statistic.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0n3o0lr9du13in1hl7m70rmzk4f\"},{\"name\":\"STYLE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"S=\"],\"description\":\"specifies one or more style overrides for the keyword headings.\",\"help\":\"STYLE=*style-override*\",\"type\":\"value\",\"arguments\":[{\"name\":\"<PARENT>\",\"followsDelimiter\":\"/\",\"description\":\"specifies that the data cell use the style element of its parent heading.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n11jkutultb47xn13vjxdbo78ehlc\"},{\"name\":\"style-attribute-name\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the attribute to change.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0lqsdo90qlk5un18brz7cnhu50zc\"},{\"name\":\"style-attribute-value\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a value for the attribute. Each attribute has a different set of valid values. A SAS format can also be used as an attribute value for conditional formatting.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0p6gqfhlytm0gn1atit1c0eogjbc\"},{\"name\":\"style-element-name\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"is the name of a style element that is part of an ODS style template.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0wj2hh2skn15hn11e8mb5h10xvjc\"}],\"supportSiteTargetFragment\":\"n17r1hlahz5i2ln17yl4e9ke7r5n\"}],\"supportSiteTargetFile\":\"n02ezsh0wi3oihn1bqdsttszoltk.htm\"},{\"name\":\"LABEL\",\"description\":\"Assigns descriptive labels to variables.\",\"help\":\"LABEL variable-1 = 'text-string' < ...variable-n = 'text-string'>;\\nLABEL variable-1 = ' ' < ...variable-n=’ ‘>; | variable-1 = < ...variable-n= >;\",\"arguments\":[{\"name\":\"text-string\",\"placeholder\":true,\"description\":\"specifies a label of up to 256 bytes.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n09u0k5ydxzgr3n1dfznhvex7uuoj\"},{\"name\":\"'\",\"placeholder\":true,\"description\":\"removes a label from a variable. Enclose a single blank space in quotation marks to remove an existing label. You can remove labels from multiple variables in a single LABEL statement:\",\"help\":\"*' '*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1dl99omzes92cn1typpf6yl1ng0j\"}],\"supportSiteTargetFile\":\"p1s0j2pii3oj7fn1f87s02j4zo52j.htm\"},{\"name\":\"TABLE\",\"aliases\":[\"TABLES\"],\"description\":\"Describes a table to be printed.\",\"help\":\"TABLE <<page-expression,>row-expression,>\\ncolumn-expression </ table-options>;\",\"arguments\":[{\"name\":\"column-expression\",\"placeholder\":true,\"description\":\"defines the columns in the table.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1c1jway2phrhwn17qx6eyiddvxm\"},{\"name\":\"page-expression\",\"optional\":true,\"placeholder\":true,\"description\":\"defines the pages in a table.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0tyo6avsj4t6xn1fiyf8ckwxov4\"},{\"name\":\"row-expression\",\"optional\":true,\"placeholder\":true,\"description\":\"defines the rows in the table.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1j80aiy5gu35nn1hhpp399cyfmo\"},{\"name\":\"BOX=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies text for the empty box above the row titles.\",\"help\":\"BOX=*value*\",\"type\":\"value\",\"arguments\":[{\"name\":\"_PAGE_\",\"followsDelimiter\":\"/\",\"description\":\"writes the page-dimension text in the box. If the page-dimension text does not fit, then it is placed in its default position above the box, and the box remains empty.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1dmd55gfhj9xsn0zq3gvsq3paq2\"}],\"supportSiteTargetFragment\":\"n1rjg9bjjgam9in12f2kdm03tydt\"},{\"name\":\"BOX=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies text and a style override for the empty box above the row titles.\",\"help\":\"BOX={&lt;*label*=*value*&gt; &lt;STYLE=*style-override(s)*&gt;}\",\"type\":\"standaloneOrValue\",\"arguments\":[{\"name\":\"_PAGE_\",\"followsDelimiter\":\"/\",\"description\":\"writes the page-dimension text in the box. If the page-dimension text does not fit, then it is placed in its default position above the box, and the box remains empty.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1ekak9e92tn4an1hknqn15d2530\"},{\"name\":\"'string'\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"writes the quoted string in the box. Any string that does not fit in the box is truncated.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1h69o9d2xj52an12ocihl71v4hz\"},{\"name\":\"variable\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"writes the name (or label, if the variable has one) of a variable in the box. Any name or label that does not fit in the box is truncated.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1a43cyht709nln1j9r7iq1vo03k\"}],\"supportSiteTargetFragment\":\"n03ma6zqry2azen1w7esree3vuje\"},{\"name\":\"CAPTION=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a caption text string to add before each table.\",\"help\":\"CAPTION= *text*&lt;#BYLINE&gt; &lt;#BYVAL&gt;&lt;#BYVAR&gt;\",\"type\":\"value\",\"arguments\":[{\"name\":\"#BYLINE\",\"followsDelimiter\":\"/\",\"description\":\"substitutes the entire BY line without leading or trailing blanks for #BYLINE in the text string. The BY line uses the format variable-name=value.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0g4q4b283vfhgn13cmd4zsw5digc\"},{\"name\":\"#BYVAL\",\"followsDelimiter\":\"/\",\"description\":\"substitutes the current value of the specified BY variable for #BYVAL in the text string.\",\"help\":\"#BYVAL*n* <br/> #BYVAL(*BY-variable-name*)\",\"type\":\"value\",\"arguments\":[{\"name\":\"n\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a variable by its position in the BY statement. For example, #BYVAL2 specifies the second variable in the BY statement.\",\"help\":\"*n* \",\"type\":\"value\",\"supportSiteTargetFragment\":\"p13afyz3ybaq8on1i34uzntgm74nc\"},{\"name\":\"BY-variable-name\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a variable from the BY statement by its name. For example, #BYVAL(YEAR) specifies the BY variable, YEAR. Variable-name is not case sensitive.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0bfmlnr1odg60n1cjw5ny2spf8xc\"}],\"supportSiteTargetFragment\":\"p0x6d9nm5ee9ghn1pviwycsny35hc\"},{\"name\":\"#BYVAR\",\"followsDelimiter\":\"/\",\"description\":\"substitutes the name of the BY-variable or the label associated with the variable (whatever the BY line would normally display) for #BYVAR in the text string.\",\"help\":\"#BYVAR*n* <br/> #BYVAR(*BY-variable-name*)\",\"type\":\"value\",\"arguments\":[{\"name\":\"n\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a variable by its position in the BY statement. For example, #BYVAR2 specifies the second variable in the BY statement.\",\"help\":\"*n* \",\"type\":\"value\",\"supportSiteTargetFragment\":\"p12jeed2wwv9qnn1i35tdbdwu2djc\"},{\"name\":\"BY-variable-name\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a variable from the BY statement by its name. For example, #BYVAR(SITES) specifies the BY variable, SITES. Variable-name is not case sensitive.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n19obrzhqcas46n1fcoxf7jvndkoc\"}],\"supportSiteTargetFragment\":\"n09gmqcl9ve8knn1cwmckehgcamnc\"}],\"supportSiteTargetFragment\":\"p1aceveia9kgqin1bdzz7eu2eevx\"},{\"name\":\"CONDENSE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"prints as many complete logical pages as possible on a single printed page or, if possible, prints multiple pages of tables that are too wide to fit on a page one below the other on a single page, instead of on separate pages.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1hlip97h0817un14begjrqh42g1\"},{\"name\":\"CONTENTS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"enables you to name the link in the HTML table of contents that points to the ODS output of the table that is produced by using the TABLE statement.\",\"help\":\"CONTENTS=*link-text* &lt;#BYLINE&gt; &lt;#BYVAL&gt; &lt;#BYVAR&gt;\",\"type\":\"value\",\"arguments\":[{\"name\":\"#BYLINE\",\"followsDelimiter\":\"/\",\"description\":\"substitutes the entire BY line without leading or trailing blanks for #BYLINE in the text string. The BY line uses the format variable-name=value.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0g4q4b283vfhgn13cmd4zsw5digd\"},{\"name\":\"#BYVAL\",\"followsDelimiter\":\"/\",\"description\":\"substitutes the current value of the specified BY variable for #BYVAL in the text string.\",\"help\":\"#BYVAL*n* <br/> #BYVAL(*BY-variable-name*)\",\"type\":\"value\",\"arguments\":[{\"name\":\"n\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a variable by its position in the BY statement. For example, #BYVAL2 specifies the second variable in the BY statement.\",\"help\":\"*n* \",\"type\":\"value\",\"supportSiteTargetFragment\":\"p13afyz3ybaq8on1i34uzntgm74nd\"},{\"name\":\"BY-variable-name\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a variable from the BY statement by its name. For example, #BYVAL(YEAR) specifies the BY variable, YEAR. Variable-name is not case sensitive.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0bfmlnr1odg60n1cjw5ny2spf8xd\"}],\"supportSiteTargetFragment\":\"p0x6d9nm5ee9ghn1pviwycsny35hd\"},{\"name\":\"#BYVAR\",\"followsDelimiter\":\"/\",\"description\":\"substitutes the name of the BY-variable or the label associated with the variable (whatever the BY line would normally display) for #BYVAR in the text string.\",\"help\":\"#BYVAR*n* <br/> #BYVAR(*BY-variable-name*)\",\"type\":\"value\",\"arguments\":[{\"name\":\"n\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a variable by its position in the BY statement. For example, #BYVAR2 specifies the second variable in the BY statement.\",\"help\":\"*n* \",\"type\":\"value\",\"supportSiteTargetFragment\":\"p12jeed2wwv9qnn1i35tdbdwu2djd\"},{\"name\":\"BY-variable-name\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a variable from the BY statement by its name. For example, #BYVAR(SITES) specifies the BY variable, SITES. Variable-name is not case sensitive.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n19obrzhqcas46n1fcoxf7jvndkod\"}],\"supportSiteTargetFragment\":\"n09gmqcl9ve8knn1cwmckehgcamnd\"}],\"supportSiteTargetFragment\":\"n1hdwsowp1ny2sn1exe99i54oe7i\"},{\"name\":\"FORMAT_PRECEDENCE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies whether the format that is specified for the page dimension (PAGE), row dimension (ROW), or column dimension (COLUMN) is applied to the contents of the table cells.\",\"help\":\"FORMAT_PRECEDENCE=PAGE | ROW | COLUMN\",\"type\":\"choice\",\"arguments\":[{\"name\":\"PAGE\",\"followsDelimiter\":\"/\",\"description\":\"specifies that the format that is specified for the page dimension is applied to the contents of the table cells.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p077mfxsv00luhn15bndm5vqnjpb\"},{\"name\":\"ROW\",\"followsDelimiter\":\"/\",\"description\":\"specifies that the format that is specified for the row dimension is applied to the contents of the table cells.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1sf2hm7qoevzrn1ftlatz8j67ot\"},{\"name\":\"COLUMN\",\"followsDelimiter\":\"/\",\"aliases\":[\"COL\"],\"description\":\"specifies that the format that is specified for the column dimension is applied to the contents of the table cells.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1pddbzm8wdw1on1tuedp6h4l8s4\"}],\"supportSiteTargetFragment\":\"p1lklayhzerd31n168ij96pnh6ye\"},{\"name\":\"FUZZ=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"supplies a numeric value against which table cell values other than frequency counts are compared to eliminate trivial values (absolute values less than the FUZZ= value) from printing.\",\"help\":\"FUZZ=*number*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0glgzpeniv2c5n1heqwfi4urov8\"},{\"name\":\"INDENT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the number of spaces to indent nested row headings, and suppresses the row headings for class variables.\",\"help\":\"INDENT=*number-of-spaces*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p02tm6gduqgo8tn12rlvgqaang02\"},{\"name\":\"MISSTEXT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"supplies up to 256 characters of text to be printed for table cells that contain missing values.\",\"help\":\"MISSTEXT='*text*'\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1k3pxr27low16n1pu8czlmdzix1\"},{\"name\":\"MISSTEXT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"supplies up to 256 characters of text to be printed and specifies a style override for table cells that contain missing values.\",\"help\":\"MISSTEXT={&lt;*label*='*text*'&gt; &lt;STYLE=*style-override(s)*&gt;}\",\"type\":\"standaloneOrValue\",\"supportSiteTargetFragment\":\"p0g9c9q6ue3boan18cip00y57e22\"},{\"name\":\"NOCELLMERGE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies that data cells are not merged with other data cells in the table.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p08uoy48gf1k91n18hnohfq3sgsj\"},{\"name\":\"NOCONTINUED\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"suppresses the continuation message, continued, that is displayed at the bottom of tables that span multiple pages.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0edar5sr9t7c3n1xoavyc4a8khb\"},{\"name\":\"PRINTMISS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"prints all values that occur for a class variable each time headings for that variable are printed, even if there are no data for some of the cells that these headings create.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1bfyhicrggdk8n17se7faboa2p2\"},{\"name\":\"ROW=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies whether all title elements in a row crossing are allotted space even when they are blank.\",\"help\":\"ROW=CONSTANT |  FLOAT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"CONSTANT\",\"followsDelimiter\":\"/\",\"aliases\":[\"CONST\"],\"description\":\"allots space to all row titles even if the title has been blanked out. (For example, N=' '.)\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1rnfu84oc0rfkn1392ogonrdhjr\"},{\"name\":\"FLOAT\",\"followsDelimiter\":\"/\",\"description\":\"divides the row title space equally among the nonblank row titles in the crossing.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1whv2z8tji6a2n1in0le2w5nxwt\"}],\"supportSiteTargetFragment\":\"p0g4uzk5x343eln1wklr4sxy5gk6\"},{\"name\":\"RTSPACE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"RTS=\"],\"description\":\"specifies the number of print positions to allot to all of the headings in the row dimension, including spaces that are used to print outlining characters for the row headings.\",\"help\":\"RTSPACE=*number*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1cnnopk6vch6gn1ayj1w1n9c3uv\"},{\"name\":\"STYLE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"S=\"],\"description\":\"specifies one or more style overrides to use for parts of the table other than table cells.\",\"help\":\"STYLE=*style-override*\",\"type\":\"value\",\"arguments\":[{\"name\":\"<PARENT>\",\"followsDelimiter\":\"/\",\"description\":\"specifies that the data cell use the style element of its parent heading.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n11jkutultb47xn13vjxdbo78ehld\"},{\"name\":\"style-attribute-name\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the attribute to change.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0lqsdo90qlk5un18brz7cnhu50zd\"},{\"name\":\"style-attribute-value\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a value for the attribute. Each attribute has a different set of valid values. A SAS format can also be used as an attribute value for conditional formatting.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0p6gqfhlytm0gn1atit1c0eogjbd\"},{\"name\":\"style-element-name\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"is the name of a style element that is part of an ODS style template.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0wj2hh2skn15hn11e8mb5h10xvjd\"}],\"supportSiteTargetFragment\":\"p0hiewmplgrpeln1l80m0jqd55r8\"},{\"name\":\"STYLE_PRECEDENCE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies whether the style that is specified for the page dimension (PAGE), row dimension (ROW), or column dimension (COLUMN or COL) is applied to the contents of the table cells.\",\"help\":\"STYLE_PRECEDENCE=PAGE | ROW | COLUMN\",\"type\":\"choice\",\"arguments\":[{\"name\":\"PAGE\",\"followsDelimiter\":\"/\",\"description\":\"specifies that the style that is specified for the page dimension is applied to the contents of the table cells.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n165asnytis1sln1ium2bdp03pry\"},{\"name\":\"ROW\",\"followsDelimiter\":\"/\",\"description\":\"specifies that the style that is specified for the row dimension is applied to the contents of the table cells.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p09fdzwuk12qnwn1v4sfz47it73n\"},{\"name\":\"COLUMN\",\"followsDelimiter\":\"/\",\"aliases\":[\"COL\"],\"description\":\"specifies that the style that is specified for the column dimension is applied to the contents of the table cells.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0xt00pm9wdq8dn11xvqyq5z6wxc\"}],\"supportSiteTargetFragment\":\"n15zbbgrmzw7q7n1cf16dw6m660n\"}],\"supportSiteTargetFile\":\"p1g617vn5t3p39n0z9o601rw74jz.htm\"},{\"name\":\"VAR\",\"aliases\":[\"VARIABLE\",\"VARIABLES\"],\"description\":\"Identifies numeric variables to use as analysis variables.\",\"help\":\"VAR *analysis-variable(s)*&lt;/ *options*&gt;;\",\"arguments\":[{\"name\":\"analysis-variable\",\"placeholder\":true,\"description\":\"identifies the analysis variables in the table. Analysis variables are numeric variables for which PROC TABULATE calculates statistics. The values of an analysis variable can be continuous or discrete.\",\"help\":\"*analysis-variable(s);*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1l2vj5fjkxfwun1825sxife06nh\"},{\"name\":\"STYLE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"S=\"],\"description\":\"specifies one or more style overrides for analysis variable name headings.\",\"help\":\"STYLE=*style-override(s)*\",\"type\":\"value\",\"arguments\":[{\"name\":\"<PARENT>\",\"followsDelimiter\":\"/\",\"description\":\"specifies that the data cell use the style element of its parent heading.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n11jkutultb47xn13vjxdbo78ehle\"},{\"name\":\"style-attribute-name\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the attribute to change.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0lqsdo90qlk5un18brz7cnhu50ze\"},{\"name\":\"style-attribute-value\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a value for the attribute. Each attribute has a different set of valid values. A SAS format can also be used as an attribute value for conditional formatting.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0p6gqfhlytm0gn1atit1c0eogjbe\"},{\"name\":\"style-element-name\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"is the name of a style element that is part of an ODS style template.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0wj2hh2skn15hn11e8mb5h10xvje\"}],\"supportSiteTargetFragment\":\"p0ka12e1wycek5n19u0delub176a\"},{\"name\":\"WEIGHT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a numeric variable whose values weight the values of the variables that are specified in the VAR statement. The variable does not have to be an integer.\",\"help\":\"WEIGHT=*weight-variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0ly7wbu4asey2n18eipugd3sofs\"}],\"supportSiteTargetFile\":\"n0f1mhg3u837myn1lyj4mebokgpv.htm\"},{\"name\":\"WEIGHT\",\"aliases\":[\"WGT\"],\"description\":\"Specifies weights for analysis variables in the statistical calculations.\",\"help\":\"WEIGHT *variable*;\",\"arguments\":[{\"name\":\"variable\",\"placeholder\":true,\"description\":\"specifies a numeric variable whose values weight the values of the analysis variables. The values of the variable do not have to be integers.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0hrrj30qrjj4dn1hw6tyg96zzvh\"}],\"supportSiteTargetFile\":\"n1hdr41psnyg4en137jaap5ia951.htm\"},{\"name\":\"WHERE\",\"description\":\"Subsets the input data set by specifying certain conditions that each observation must meet before it is available for processing.\",\"help\":\"WHERE where-expression-1\\n<logical-operator where-expression-n>; \",\"arguments\":[{\"name\":\"where-expression\",\"optional\":true,\"placeholder\":true,\"description\":\"is an arithmetic or logical expression that generally consists of a sequence of operands and operators.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p04iz9sx1znb6en1ptu9o3h9ns07j\"},{\"name\":\"logical-operator\",\"optional\":true,\"placeholder\":true,\"description\":\"can be AND, AND NOT, OR, or OR NOT.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0xd4nxmu81y3rn1lzcij1t759lnj\"}],\"supportSiteTargetFile\":\"n0yu3xyqnznndnn0z1v515xzfeboj.htm\"}],\"supportSiteInformation\":{\"docsetId\":\"proc\",\"docsetVersion\":\"v_002\",\"docsetTargetFile\":\"n00yutbvvckjwrn1ldg5xkvjy1pu.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/TEMPLATE.json",
    "content": "{\"name\":\"TEMPLATE\",\"statements\":[{\"name\":\"DEFINE COLUMN\",\"description\":\"Creates a template for a column.\",\"help\":\"DEFINE COLUMN column-path | Base.Template.Column\\n\\t< / STORE=libref.template-store>;\\n\\t\\t<column-attribute-1<column-attribute-2> ...>;\\n\\n\\tCELLSTYLE expression-1AS <style-element-name><[style-attribute-specification(s)] >\\n\\t\\t<, expression-n AS  <style-element-name><[style-attribute-specification(s)]>>;\\n\\n\\tCOMPUTE AS expression;\\n\\n\\tDEFINE HEADER  | Base.Template.Header template-path;  \\n\\t\\tstatements-and-attributes\\n\\t\\tEND ;\\n\\n\\tDYNAMIC variable-1<=default-variable-1>\\n\\t\\t<'text-1'>\\n\\t\\t< ...variable-n<=default-variable-n><'text-n'>>;\\n\\n\\tMVAR variable-1<=default-variable-1><'text-1'>\\n\\t\\t< ...variable-n<=default-variable-n><'text-n'>>;\\n\\n\\tNMVAR variable-1<=default-variable-1><'text-1'>\\n\\t\\t< ...variable-n<=default-variable-n><'text-n'>>;\\n\\n\\tNOTES  \\\"text\\\";\\n\\n\\tTRANSLATE expression-1INTO expression-2\\n\\t\\t<, expression-n INTO  expression-m>;\\n\\n\\tEND ;\",\"arguments\":[{\"name\":\"column-path\",\"placeholder\":true,\"description\":\"specifies where to store the column template. A column-path consists of one or more names that are separated by periods. Each name represents a directory in a template store, which is a type of SAS file. PROC TEMPLATE writes the template to the first writable template store in the current path.\",\"help\":\"*column-path* \",\"type\":\"value\"},{\"name\":\"Base.Template.Column\",\"description\":\"creates a top-level column template that is globally applied to all of your tabular output. After you create this template, you do not need to specify it explicitly in your SAS programs. It is automatically applied to all tabular output until you specifically remove the template from the item store.\",\"type\":\"standalone\"},{\"name\":\"STORE=\",\"optional\":true,\"description\":\"specifies the template store in which to store the template. If the template store does not exist, it is created.\",\"help\":\"STORE=*libref*.*template-store*\",\"type\":\"dataSet\"}]},{\"name\":\"DEFINE CROSSTABS\",\"description\":\"Creates a crosstabulation table template.\",\"help\":\"DEFINE CROSSTABS table-path</ STORE=libref.template-store>;  \\n\\t<table-attribute-1; <table-attribute-n>;>\\n\\n\\tCELLVALUE cellvalues;\\n\\n\\tDEFINE CELLVALUE cellvalue;  \\n\\t\\tstatements-and-attributes;\\n\\n\\tEND ;\\n\\n\\tDEFINE HEADER header-name;  \\n\\t\\tstatements-and-attributes;\\n\\n\\tEND ;\\n\\n\\tDEFINE FOOTER footer-name;  \\n\\t\\tstatements-and-attributes;\\n\\n\\tEND ;\\n\\n\\tDYNAMIC variable-1<'text-1'><variable-n<'text-n'>>;\\n\\n\\tFOOTER footer-name(s);\\n\\n\\tHEADER  header-name(s);\\n\\n\\tNOTES text; END ;\",\"arguments\":[{\"name\":\"table-path\",\"placeholder\":true,\"description\":\"specifies where to store the crosstabulation table template. A table-path consists of one or more names, separated by periods. Each name represents a directory in a template store, which is a type of SAS file. For more information about template stores, see . PROC TEMPLATE writes the template to the first writable template store in the current path.\",\"type\":\"dataSet\"},{\"name\":\"STORE=\",\"optional\":true,\"description\":\"Specify the template store in which to store the crosstabulation template.\",\"help\":\"STORE= *template-store*\",\"type\":\"value\"},{\"name\":\"CELL_STYLE=\",\"optional\":true,\"description\":\"Specify a style element and any changes to its attributes to use for the cellvalues in the non-summary rows and columns\",\"help\":\"CELL_STYLE=&lt;*style-element-name*&gt;&lt;[*style-attribute-specification(s)*]&gt; | *style-name*\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element-name[style-attribute-specification\",\"placeholder\":true,\"type\":\"standaloneOrValue\"},{\"name\":\"style-name\",\"placeholder\":true,\"type\":\"value\"}]},{\"name\":\"COLS_HEADER=\",\"optional\":true,\"description\":\"Specify the name of the header to use over the column variable value columns in the table\",\"help\":\"COLS_HEADER=*header-name*  \",\"type\":\"value\"},{\"name\":\"COL_TOTAL_STYLE=\",\"optional\":true,\"description\":\"Specify the style element and any changes to its attributes to use for the cellvalues in the last row in the table\",\"help\":\"COL_TOTAL_STYLE=&lt;*style-element-name*&gt;&lt;[*style-attribute-specification(s)*]&gt; \",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element-name[style-attribute-specification\",\"placeholder\":true,\"type\":\"standaloneOrValue\"}]},{\"name\":\"COL_VAR_STYLE=\",\"optional\":true,\"description\":\"Specify the style element and any changes to its attributes to use for the column variable values used as headers over the column variable value columns\",\"help\":\"COL_VAR_STYLE=&lt;*style-element-name*&gt;&lt;[*style-attribute-specification(s)*]&gt;\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element-name[style-attribute-specification\",\"placeholder\":true,\"type\":\"standaloneOrValue\"}]},{\"name\":\"GRAND_TOTAL_STYLE=\",\"optional\":true,\"description\":\"Specify the style element and any changes to its attributes to use for the cellvalues in the rightmost column of the last row in the table\",\"help\":\"GRAND_TOTAL_STYLE=&lt;*style-element-name*&gt;&lt;[*style-attribute-specification(s)*]&gt; \",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element-name[style-attribute-specification\",\"placeholder\":true,\"type\":\"standaloneOrValue\"}]},{\"name\":\"LABEL=\",\"optional\":true,\"description\":\"Specify a label for the table\",\"help\":\"LABEL=\\\"*text*\\\" \",\"type\":\"value\"},{\"name\":\"LEGEND_STYLE=\",\"optional\":true,\"description\":\"Specify the style element and any changes to its attributes to use for the legend table that appears near the upper left corner of the table\",\"help\":\"LEGEND_STYLE=&lt;*style-element-name*&gt;&lt;[*style-attribute-specification(s)*]&gt;\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element-name[style-attribute-specification\",\"placeholder\":true,\"type\":\"standaloneOrValue\"}]},{\"name\":\"ROWS_HEADER=\",\"optional\":true,\"description\":\"Specify the name of the header to use over the row variable values (leftmost) column in the table\",\"help\":\"ROWS_HEADER=*header-name*  \",\"type\":\"value\"},{\"name\":\"ROW_TOTAL_STYLE=\",\"optional\":true,\"description\":\"Specify the style element and any changes to its attributes to use for the cellvalues in the cells that contain row totals\",\"help\":\"ROW_TOTAL_STYLE=&lt;*style-element-name*&gt;&lt;[*style-attribute-specification(s)*]&gt; \",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element-name[style-attribute-specification\",\"placeholder\":true,\"type\":\"standaloneOrValue\"}]},{\"name\":\"ROW_VAR_STYLE=\",\"optional\":true,\"description\":\"Specify the style element and any changes to its attributes to use for the row variable values in the leftmost column of the table\",\"help\":\"ROW_VAR_STYLE=&lt;*style-element-name*&gt;&lt;[*style-attribute-specification(s)*]&gt;\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element-name[style-attribute-specification\",\"placeholder\":true,\"type\":\"standaloneOrValue\"}]},{\"name\":\"STYLE=\",\"optional\":true,\"description\":\"Specify a style element and any changes to its attributes to use for the table\",\"help\":\"STYLE=&lt;*style-element-name*&gt;&lt;[*style-attribute-specification(s)*]&gt;\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style-element-name\",\"placeholder\":true,\"description\":\"is the name of the style element to use to display the table. The style element must be part of a style that is registered with the Output Delivery System. SAS provides some style. You can create customized styles with PROC TEMPLATE. For more information, see . By default, ODS produces different parts of ODS output with different elements. For example, by default, a table is produced with the style element Table. The Table style element that SAS is provides is uniquely designed to describe elements necessary to a table. However, you might have a user-defined style element at your site that would be appropriate to specify.\",\"type\":\"value\"},{\"name\":\"style-attribute-specification\",\"placeholder\":true,\"description\":\"describes the style attribute to change.\",\"help\":\"*style-attribute-specification* \",\"type\":\"value\"}]}]},{\"name\":\"DEFINE FOOTER\",\"description\":\"Creates a template for a table footer.\",\"help\":\"DEFINE FOOTER footer-path | Base.Template.Footer \\n\\t< / STORE=libref.template-store>;\\n\\n\\t<header/footer-attribute-1<header/footer-attribute-2> ...>;\\n\\n\\tDYNAMIC variable-1<=default-variable-1>\\n\\t\\t<'text-1'>\\n\\t\\t\\t< ...variable-n<=default-variable-n><'text-n'>>;\\n\\n\\tMVAR variable-1<=default-variable-1><'text-1'>\\n\\t\\t< ...variable-n<=default-variable-n><'text-n'>>;\\n\\n\\tNMVAR variable-1<=default-variable-1><'text-1'>\\n\\t\\t< ...variable-n<=default-variable-n><'text-n'>>;\\n\\tNOTES  \\\"text\\\";\\n\\tTEXT footer-specification;\\n\\tTEXT2 footer-specification;\\n\\tTEXT3 footer-specification;\\n\\tEND ;\"},{\"name\":\"DEFINE HEADER\",\"description\":\"Creates a template for a table header or a header inside a column template.\",\"help\":\"DEFINE HEADER header-path | Base.Template.Header\\n\\t</ STORE=libref.template-store>;\\n\\n\\t<header/footer-attribute-1<header/footer-attribute-2> ...>;\\n\\n\\tDYNAMIC variable-1<=default-variable-1>\\n\\t\\t<'text-1'>\\n\\t\\t< ...variable-n<=default-variable-n><'text-n'>>;\\n\\n\\tMVAR variable-1<=default-variable-1><'text-1'>\\n\\t\\t< ...variable-n<=default-variable-n><'text-n'>>;\\n\\n\\tNMVAR variable-1<=default-variable-1><'text-1'>\\n\\t\\t< ...variable-n<=default-variable-n><'text-n'>>;\\n\\tNOTES  \\\"text\\\";\\n\\tTEXT header-specification;\\n\\tTEXT2 header-specification;\\n\\tTEXT3 header-specification;\\n\\tEND ;\",\"arguments\":[{\"name\":\"header-path\",\"placeholder\":true,\"description\":\"specifies where to store the header template. A header-path consists of one or more names, separated by periods. Each name represents a directory in a template store. (A template store is a type of SAS file.) PROC TEMPLATE writes the template to the first writable template store in the current path.\",\"help\":\"*header-path* \",\"type\":\"value\"},{\"name\":\"Base.Template.Header\",\"description\":\"creates a top-level header template that is globally applied to all of your tabular output. After this template is created, you do not need to explicitly specify it in your SAS programs. It is automatically applied to all tabular output until you specifically remove it from the item store.\",\"type\":\"standalone\"},{\"name\":\"Base.Template.Footer\",\"description\":\"creates a top-level header template that is globally applied to all of your tabular output. After this template is created, you do not need to explicitly specify it in your SAS programs. It is automatically applied to all tabular output until you specifically remove it from the item store.\",\"type\":\"standalone\"},{\"name\":\"STORE=\",\"optional\":true,\"description\":\"specifies the template store in which to store the template. If the template store does not exist, it is created.\",\"help\":\"STORE=*libref*.*template-store*\",\"type\":\"dataSet\"}]},{\"name\":\"DEFINE STYLE\",\"description\":\"Creates a style for any destination that supports the STYLE= option. The DEFINE STYLE statement begins a DEFINE STYLE statement block.\",\"help\":\"DEFINE STYLE style-path | Base.Template.Style</ STORE=libref.template-store>;   \\n\\tPARENT= style-path;\\n\\n\\tNOTES  \\\"text\\\";\\n\\n\\tCLASS style-element-name(s)<\\\"text\\\">\\n\\t\\t</ style-attribute-specification(s)>;\\n\\n\\tIMPORT style-specification<media-type-1<, media-type-2> ...>;\\n\\n\\tSTYLE style-element-name(s)<FROM style-element-name | _SELF_ ><\\\"text\\\">\\n\\t\\t</ style-attribute-specification(s)>;\\nEND; \",\"arguments\":[{\"name\":\"style-path\",\"placeholder\":true,\"description\":\"specifies where to store the style. A style-path consists of one or more names, separated by periods. Each name represents a directory in a template store. PROC TEMPLATE writes the style to the first writable template store in the current path.\",\"help\":\"*style-path* \",\"type\":\"value\"},{\"name\":\"Base.Template.Style\",\"description\":\"creates a style that is the parent of all styles that do not explicitly specify a parent. After this template is created, you do not need to explicitly specify it in your SAS programs. It is automatically applied to all output until you specifically remove it from the item store.\",\"type\":\"standalone\"},{\"name\":\"STORE=\",\"optional\":true,\"description\":\"specifies the template store in which to store the style. If the template store does not exist, then it is created.\",\"help\":\"STORE=*libref*.*template-store*\",\"type\":\"dataSet\"}]},{\"name\":\"DEFINE TABLE\",\"description\":\"Creates a table template.\",\"help\":\"DEFINE TABLE table-path | Base.Template.Table\\n\\t</ STORE=libref.template-store>;\\n\\n\\t<table-attribute-1<table-attribute-2> ...>;\\n\\n\\tCELLSTYLE expression-1AS <style-element-name><[style-attribute-specification(s)] >\\n\\t\\t<, expression-n AS  <style-element-name><[style-attribute-specification(s)]>>;\\n\\n\\tCOLUMN column(s);\\n\\n\\tDEFINE template-typetemplate-name</ options>;  \\n\\t\\tstatements-and-attributes\\n\\t\\tEND ;\\n\\n\\tDYNAMIC variable-1<=default-variable-1>\\n\\t\\t<'text-1'>< ...variable-n<=default-variable-n><'text-n'>>;\\n\\n\\tFOOTER footer-name(s);\\n\\n\\tHEADER header-name(s);\\n\\n\\tMVAR variable-1<=default-variable-1><'text-1'>\\n\\t\\t< ...variable-n<=default-variable-n><'text-n'>>;\\n\\n\\tNMVAR variable-1<=default-variable-1><'text-1'>\\n\\t\\t< ...variable-n<=default-variable-n><'text-n'>>;\\n\\n\\tNOTES  \\\"text\\\";\\n\\n\\tTRANSLATE expression-1INTO expression-2< , expression-n INTO  expression-m;>\\n\\tEND ;\",\"arguments\":[{\"name\":\"table-path\",\"placeholder\":true,\"description\":\"specifies where to store the table template. A table-path consists of one or more names that are separated by periods. Each name represents a directory in a template store, which is a type of SAS file. PROC TEMPLATE writes the template to the first writable template store in the current path.\",\"help\":\"*table-path* \",\"type\":\"dataSet\"},{\"name\":\"Base.Template.Table\",\"description\":\"creates a top-level table template that is globally applied to all of your tabular output. Once this template is created, you do not need to explicitly specify it in your SAS programs. It is automatically applied to all tabular output until you specifically remove it from the item store.\",\"type\":\"standalone\"},{\"name\":\"STORE=\",\"optional\":true,\"description\":\"specifies the template store in which to store the template. If the template store does not exist, it is created.\",\"help\":\"STORE=*libref*.*template-store*\",\"type\":\"dataSet\"}]},{\"name\":\"DEFINE TAGSET\",\"description\":\"Creates a tagset.\",\"help\":\"DEFINE TAGSET tagset-path | Base.Template.Tagset\\n\\t</ STORE=libref.template-store <(READ | WRITE | UPDATE) >>;\\n\\n\\t\\n\\t\\t<tagset-attribute-1; <tagset-attribute-n;>>\\n\\n\\tDEFINE EVENT event-name;\\nstatements and attributes\\n\\tNOTES 'text';\\n\\n\\tEND ;\",\"arguments\":[{\"name\":\"tagset-path\",\"placeholder\":true,\"description\":\"specifies where to store the tagset.\",\"help\":\"*tagset-path* \",\"type\":\"value\"},{\"name\":\"Base.Template.Tagset\",\"description\":\"creates a tagset that is the parent of all tagsets that do not explicitly specify a parent. After this template is created, you do not need to explicitly specify it in your SAS programs. It is automatically applied to all output until you specifically remove it from the item store.\",\"type\":\"standalone\"},{\"name\":\"STORE=\",\"optional\":true,\"description\":\"specifies the template store where the template is stored.\",\"help\":\"STORE=*libref*.*template-store* *access-options*\",\"type\":\"dataSet\",\"arguments\":[{\"name\":\"libref.template-store\",\"placeholder\":true,\"description\":\"specifies the current template store.\",\"type\":\"dataSet\"},{\"name\":\"READ\",\"description\":\"provides Read-Only access.\",\"type\":\"standalone\"},{\"name\":\"WRITE\",\"description\":\"provides Write access as well as Read access. If the tagset does not exist, then WRITE access creates a new tagset. If the tagset does exist, then WRITE access does not replace an existing tagset.\",\"type\":\"standalone\"},{\"name\":\"UPDATE\",\"description\":\"provides Update access as well as Read access. If the tagset does not exist, then UPDATE does not create a new tagset. If the tagset does exist, then UPDATE replaces it.\",\"type\":\"standalone\"}]},{\"name\":\"BREAKTEXT_LENGTH=\",\"optional\":true,\"description\":\"Specify the maximum number of characters that will be considered for forced line breaks by ODS\",\"help\":\"BREAKTEXT_LENGTH=*number*\",\"type\":\"value\"},{\"name\":\"BREAKTEXT_RATIO=\",\"optional\":true,\"description\":\"Specify the maximum ratio of the width of space available for text entry to the length of the text that is supposed to fit in that space\",\"help\":\"BREAKTEXT_RATIO=*number*\",\"type\":\"value\"},{\"name\":\"BREAKTEXT_WIDTH=\",\"optional\":true,\"description\":\"Specify the maximum width of space available for text entry that ODS will consider for placement of automatic line breaks\",\"help\":\"BREAKTEXT_WIDTH=*number*\",\"type\":\"value\"},{\"name\":\"COPYRIGHT=\",\"optional\":true,\"description\":\"Specify the text to use as a copyright\",\"help\":\"COPYRIGHT= '(*text*)'\",\"type\":\"value\"},{\"name\":\"DEFAULT_EVENT=\",\"optional\":true,\"description\":\"Specify the name of the event to use by default\",\"help\":\"DEFAULT_EVENT= '*event-name*'\",\"type\":\"value\"},{\"name\":\"EMBEDDED_STYLESHEET=\",\"optional\":true,\"description\":\"Specify whether the tagset supports embedded style sheets\",\"help\":\"EMBEDDED_STYLESHEET= YES | NO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YES\",\"aliases\":[\"ON\"],\"description\":\"supports embedded style sheets.\",\"type\":\"standalone\"},{\"name\":\"NO\",\"aliases\":[\"OFF\"],\"description\":\"does not support embedded style sheets.\",\"type\":\"standalone\"}]},{\"name\":\"IMAGE_FORMATS=\",\"optional\":true,\"description\":\"Specify a comma-delimited list of image types or file extensions that are valid for an output destination\",\"help\":\"IMAGE_FORMATS= '*image-type(s)*'\",\"type\":\"value\"},{\"name\":\"INDENT=\",\"optional\":true,\"description\":\"Specify the number of spaces the NDENT and XDENT event statements indent the output\",\"help\":\"INDENT=*n*\",\"type\":\"value\",\"arguments\":[{\"name\":\"n\",\"placeholder\":true,\"description\":\"specifies a numeric value for the number of spaces that you want the output to indent.\",\"type\":\"value\"}]},{\"name\":\"LOG_NOTE=\",\"optional\":true,\"description\":\"Specify a string, which is printed to the SAS log when the tagset is used\",\"help\":\"LOG_NOTE= '*string*'\",\"type\":\"value\",\"arguments\":[{\"name\":\"string\",\"placeholder\":true,\"description\":\"specifies the text that is printed to the SAS log.\",\"type\":\"value\"}]},{\"name\":\"MAP=\",\"optional\":true,\"description\":\"Specify special characters and their translations\",\"help\":\"MAP= '*characters*'\",\"type\":\"value\",\"arguments\":[{\"name\":\"characters\",\"placeholder\":true,\"description\":\"specifies one or more special characters.\",\"type\":\"value\"}]},{\"name\":\"MAPSUB=\",\"optional\":true,\"description\":\"Specify strings to substitute for special characters\",\"help\":\"MAPSUB= '*strings*'\",\"type\":\"value\",\"arguments\":[{\"name\":\"strings\",\"placeholder\":true,\"description\":\"specifies the text strings to substitute for the characters that are specified in the MAP= statement.\",\"type\":\"value\"}]},{\"name\":\"NOBREAKSPACE=\",\"optional\":true,\"description\":\"Define a nonbreaking space for the markup output\",\"help\":\"NOBREAKSPACE= '*string*'\",\"type\":\"value\",\"arguments\":[{\"name\":\"string\",\"placeholder\":true,\"description\":\"specifies the character that defines a nonbreaking space.\",\"type\":\"value\"}]},{\"name\":\"NO_BYTE_ORDER_MARK=\",\"optional\":true,\"description\":\"Specify whether a byte-order mark is written to the output files when using a UTF character set\",\"help\":\"NO_BYTE_ORDER_MARK=YES | ON | NO | OFF\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YES\",\"type\":\"standalone\"},{\"name\":\"ON\",\"type\":\"standalone\"},{\"name\":\"NO\",\"type\":\"standalone\"},{\"name\":\"OFF\",\"type\":\"standalone\"}]},{\"name\":\"OUTPUT_TYPE=\",\"optional\":true,\"description\":\"Set a category for the output\",\"help\":\"OUTPUT_TYPE= CSV | HTML | LATEX | WML | XML\",\"type\":\"choice\",\"arguments\":[{\"name\":\"CSV\",\"type\":\"standalone\"},{\"name\":\"HTML\",\"type\":\"standalone\"},{\"name\":\"LATEX\",\"type\":\"standalone\"},{\"name\":\"WML\",\"type\":\"standalone\"},{\"name\":\"XML\",\"type\":\"standalone\"}]},{\"name\":\"PARENT=\",\"optional\":true,\"description\":\"Specify the tagset from which the current template inherits\",\"help\":\"PARENT= *tagset-path*\",\"type\":\"value\",\"arguments\":[{\"name\":\"tagset-path\",\"placeholder\":true,\"description\":\"specifies the name of a directory in a template store.\",\"type\":\"value\"}]},{\"name\":\"PURE_STYLE=\",\"optional\":true,\"description\":\"Specify whether all style attributes are available at all times\",\"help\":\"PURE_STYLE=YES | NO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YES\",\"type\":\"standalone\"},{\"name\":\"NO\",\"type\":\"standalone\"}]},{\"name\":\"REGISTERED_TM=\",\"optional\":true,\"description\":\"Specify the text to use as a registered trademark\",\"help\":\"REGISTERED_TM= '(*text*)'\",\"type\":\"value\"},{\"name\":\"SPLIT=\",\"optional\":true,\"description\":\"Define a string to use for line breaks in the markup output\",\"help\":\"SPLIT= '*string*'\",\"type\":\"value\"},{\"name\":\"STACKED_COLUMNS=\",\"optional\":true,\"description\":\"Specify whether the tagset lets procedures place columns on top of each other, or side by side\",\"help\":\"STACKED_COLUMNS= YES | NO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YES\",\"aliases\":[\"ON\"],\"description\":\"stacks columns on top of each other.\",\"type\":\"standalone\"},{\"name\":\"NO\",\"aliases\":[\"OFF\"],\"description\":\"stacks columns side by side.\",\"type\":\"standalone\"}]},{\"name\":\"TRADEMARK=\",\"optional\":true,\"description\":\"Specify the text to use as a trademark\",\"help\":\"TRADEMARK= '(*text*)'\",\"type\":\"value\"}]},{\"name\":\"PROC TEMPLATE\",\"description\":\"Begins a PROC TEMPLATE template.\",\"help\":\"PROC TEMPLATE \\n\\tDEFINE STYLE style-path            | Base.Template.Style </                 STORE=libref               .template-store\\n            >           ; \\n\\t\\tPARENT= style-path;\\n\\t\\tNOTES                \\\"text\\\";\\n\\t\\tCLASS style-element-name(s)<\\\"text\\\">\\n\\t\\t\\t</                   style-attribute-specification(s)>;\\n\\t\\tSTYLE style-element-name(s)<FROM                   style-element-name | _SELF_ ><\\\"text\\\">\\n\\t\\t\\t</                   style-attribute-specification(s)>;\\n\\t\\tEND ;\\n\\n\\tEND            ;\\n\\n\\tEDIT template-path-1<AS                 template-path-2\\n            >< /                 STORE=libref               .template-store\\n            >            ;             \\n\\t\\tstatements-and-attributes\\n\\t\\tEND ;\\n\\n\\tDEFINE COLUMN column-path            | Base.Template.Column \\n\\t\\t< /                   STORE=libref.template-store>;\\n\\t\\tstatements-and-attributes\\n\\t\\tEND ;\\n\\n\\tDEFINE FOOTER footer-path            | Base.Template.Footer \\n\\t\\t< /                   STORE=libref.template-store>;\\n\\t\\tstatements-and-attributes\\n\\t\\tEND ;\\n\\n\\tDEFINE HEADER template-name            | Base.Template.Header            ;             \\n\\t\\tstatements-and-attributes\\n\\t\\tEND ;\\n\\n\\tDEFINE TABLE table-path            | Base.Template.Table \\n\\t\\t</                   STORE=libref.template-store>;\\n\\t\\tstatements-and-attributes\\n\\t\\tEND ;\\n\\n\\tDEFINE CROSSTABS table-path</                 STORE=libref.template-store\\n            >           ; \\n\\t\\t<table-attribute-1               ; <table-attribute-n>               ;>\\n\\t\\tCELLVALUE cellvalues;\\n\\t\\tDEFINE CELLVALUE cellvalue;                 \\n\\t\\t\\tstatements-and-attributes               ;\\n\\t\\tEND ;\\n\\t\\tDEFINE HEADER header-name;                 \\n\\t\\t\\tstatements-and-attributes               ;\\n\\t\\tEND ;\\n\\t\\tDEFINE FOOTER footer-name;                 \\n\\t\\t\\tstatements-and-attributes               ;\\n\\t\\tEND ;\\n\\t\\tDYNAMIC variable-1<'text-1'><variable-n<'text-n                   '>>;\\n\\t\\tFOOTER footer-name(s);\\n\\t\\tHEADER  header-name(s);\\n\\t\\tNOTES text; \\n\\n\\tDEFINE TAGSET tagset-path</                 STORE=libref               .template-store\\n            >           ; \\n\\t\\t<tagset-attribute-1               ; <...                     tagset-attribute-n                   ;>>\\n\\t\\tDEFINE EVENT event-name;                   \\n\\t\\t\\t<event-attribute-1;<event-attribute-n                   ;>>\\n\\t\\t\\tBLOCK event-name< /                     event-statement-condition(s)\\n                >               ;\\n\\t\\t\\tBREAK </                     event-statement-condition(s)\\n                >               ;\\n\\t\\t\\tCLOSE </                     event-statement-condition(s)\\n                >               ;\\n\\t\\t\\tCONTINUE </                     event-statement-condition(s)\\n                >               ;\\n\\t\\t\\tDELSTREAM                 $$stream-variable-name</                     event-statement-condition(s)\\n                >               ;\\n\\t\\t\\tDO </                     event-statement-condition(s)\\n                >               ;\\n\\t\\t\\tDONE                ;\\n\\t\\t\\tELSE </                     event-statement-condition(s)\\n                >               ;\\n\\t\\t\\tEVAL                 $<$>user-defined-variablewhere-expression< / event-statement-condition(s)\\n                >               ;\\n\\t\\t\\tFLUSH </event-statement-condition(s)\\n                >               ;\\n\\t\\t\\tITERATE                 $dictionary-variable                | $list-variable</                     event-statement-condition(s)\\n                >               ;\\n\\t\\t\\tNDENT </                     event-statement-condition(s)\\n                >               ;\\n\\t\\t\\tNEXT                 $dictionary-variable                | $list-variable</                     event-statement-condition(s)\\n                >               ;\\n\\t\\t\\tOPEN                 $$stream-variable-name</                     event-statement-condition(s)\\n                >               ;\\n\\t\\t\\tPUT <function><NL><variable><'text                   ' >< /                     event-statement-condition(s)\\n                >               ;\\n\\t\\t\\tPUTL                 (<variable>                | <'text                   ' >               | <function>                | <NL>               ) < /                     event-statement-condition(s)\\n                >               ;\\n\\t\\t\\tPUTLOG                 (<variable><'text                   ' ><function>               )</                     event-statement-condition(s)\\n                >               ;\\n\\t\\t\\tPUTQ                 (<variable>                | <'text                   ' >               | <function>                | <NL>               )</                     event-statement-condition(s)\\n                >               ;\\n\\t\\t\\tPUTSTREAM                 $$stream-variable-name</                     event-statement-condition(s)\\n                >               ;\\n\\t\\t\\tPUTVARS variable-groupvariable-group-value< /                     event-statement-condition(s)\\n                >               ;\\n\\t\\t\\tSET                 $<$>user-defined-variable-nameuser-defined-variable-value\\n\\t\\t\\t\\t</                       event-statement-condition(s)>;\\n\\t\\t\\tSTOP </                     event-statement-condition(s)\\n                >               ;\\n\\t\\t\\tTRIGGER event-name<START | FINISH ></                     event-statement-condition(s)\\n                >               ;\\n\\t\\t\\tUNBLOCK event-name</                     event-statement-condition(s)\\n                >               ;\\n\\t\\t\\tUNSET ALL                | $memory-variable                | $$stream-variable</                     event-statement-condition(s)\\n                >               ;\\n\\t\\t\\tXDENT </                     event-statement-condition(s)\\n                >               ;\\n\\t\\t\\tEND                ;\\n\\t\\tNOTES ;\\n\\t\\tEND ;\\n\\n\\tDELETE item-path< /                 STORE=libref               .template-store\\n            >           ;\\n\\n\\tLINK item-path-1TO  item-path-2</options\\n            >           ;\\n\\n\\tLIST <starting-path></                 options\\n            >           ;\\n\\n\\tPATH location(s)           ;\\n\\n\\tSOURCE item-path</options\\n            ><STORE=libref               .template-store\\n            >           ;\\n\\n\\tTEST             DATA=data-set< /                 STORE=libref               .template-store\\n            >           ;\\n\\n\\tEND            ;\\n\"},{\"name\":\"DEFINE\",\"description\":\"Creates a template inside of a table template.\",\"help\":\"DEFINE <COLUMN | FOOTER | HEADER>template-name< / NOLIST>;   \\n\\tstatements-and-attributes;END ;\",\"arguments\":[{\"name\":\"template-name\",\"placeholder\":true,\"description\":\"specifies the name of the new template.\",\"help\":\"*template-name* \",\"type\":\"value\"},{\"name\":\"COLUMN\",\"optional\":true,\"description\":\"specifies to create a column template. For statements and attributes that can be used within a column template, see .\",\"type\":\"standalone\"},{\"name\":\"FOOTER\",\"optional\":true,\"description\":\"specifies to create a footer template. For statements and attributes that can be used within a footer template, see .\",\"type\":\"standalone\"},{\"name\":\"HEADER\",\"optional\":true,\"description\":\"specifies to create a header template. For statements and attributes that can be used within a header template, see .\",\"type\":\"standalone\"},{\"name\":\"NOLIST\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"preserves the template-type when inheriting it from another table template.\",\"type\":\"standalone\"}]},{\"name\":\"DELETE\",\"description\":\"Deletes the specified item.\",\"help\":\"DELETE *item-path*&lt; /  STORE= *template-store*; &gt;\",\"arguments\":[{\"name\":\"item-path\",\"placeholder\":true,\"description\":\"specifies an item to delete. An item-path consists of one or more names, separated by periods. Each name represents a directory in a template store. (A template store is a type of SAS file.) If the same item exists in multiple template stores, PROC TEMPLATE deletes the item from the first template store in the current path where you have Write access.\",\"type\":\"value\"},{\"name\":\"STORE=\",\"optional\":true,\"description\":\"specifies the template store where the template that you want to delete is stored.\",\"help\":\"STORE= *template-store*\",\"type\":\"value\"}]},{\"name\":\"EDIT\",\"description\":\"Edits an existing template. The EDIT statement replaces the DEFINE statement in a template block when editing. You can use the EDIT statement in place of any DEFINE statement.\",\"help\":\"EDIT template-path-1<AS template-path-2 ></ STORE=libref.template-store>;   \\n\\ttemplate-statements;\\n\\n\\tEND ;\",\"arguments\":[{\"name\":\"template-path-1\",\"placeholder\":true,\"description\":\"specifies a template to edit. template-path-1 consists of one or more names that are separated by periods. Each name represents a directory in a template store, which is a type of SAS file.\",\"type\":\"value\"},{\"name\":\"AS\",\"optional\":true,\"description\":\"specifies the location in which to store the edited template, where template-path-2 consists of one or more names that are separated by periods. Each name represents a directory in a template store, which is a type of SAS file. By default, PROC TEMPLATE writes the edited template to the first writable template store in the current path.\",\"help\":\"AS *template-path-2*\",\"type\":\"value\"},{\"name\":\"STORE=\",\"optional\":true,\"description\":\"specifies the template store from which to read template-path-1 and in which to store template-path-2.\",\"help\":\"STORE=*libref*.*template-store*\",\"type\":\"dataSet\"},{\"name\":\"template-statements\",\"optional\":true,\"placeholder\":true,\"description\":\"template-statements are any statements or attributes that are valid between the DEFINE statement and the END statement.\",\"type\":\"value\"}]},{\"name\":\"LINK\",\"description\":\"Creates a link to an existing item.\",\"help\":\"LINK *item-path-1*TO  *item-path-2*&lt;/ *options*&gt;;\",\"arguments\":[{\"name\":\"item-path-1\",\"placeholder\":true,\"description\":\"specifies the path of the item to create. PROC TEMPLATE creates the item in the first template store in the path that you can write to.\",\"type\":\"value\"},{\"name\":\"item-path-2\",\"placeholder\":true,\"description\":\"specifies the path of the item to link to. If the same item exists in multiple template stores, PROC TEMPLATE uses the one from the first template store in the current path that you can read.\",\"type\":\"value\"},{\"name\":\"NOTES=\",\"optional\":true,\"description\":\"specifies notes to store in the item.\",\"help\":\"NOTES= '*text*'\",\"type\":\"value\"},{\"name\":\"STORE=\",\"optional\":true,\"description\":\"specifies the location where the link is created.\",\"help\":\"STORE=*libref*.*template-store*\",\"type\":\"dataSet\"}]},{\"name\":\"LIST\",\"description\":\"Lists the items in one or more template stores.\",\"help\":\"LIST &lt;*starting-path*&gt;&lt;/ *options*&gt;;\",\"arguments\":[{\"name\":\"starting-path\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies a level within each template store where PROC TEMPLATE starts listing items. For example, if starting-path is base.univariate, PROC TEMPLATE lists only base.univariate and the items within it and within all the levels that it contains.\",\"type\":\"value\"},{\"name\":\"SORT=\",\"optional\":true,\"description\":\"sorts the list of items by the specified statistic in the specified sorting order.\",\"help\":\"SORT=*statistic* &lt;*sorting-order*&gt;\",\"type\":\"value\",\"arguments\":[{\"name\":\"CREATED\",\"description\":\"is the date on which the item was created.\",\"type\":\"standalone\"},{\"name\":\"NOTES\",\"aliases\":[\"LABEL\"],\"description\":\"is the content of any NOTES statement in the PROC TEMPLATE step that created the item.\",\"type\":\"standalone\"},{\"name\":\"LINK\",\"description\":\"is the name of the item that the current item links to (see ).\",\"type\":\"standalone\"},{\"name\":\"PATH\",\"description\":\"is the path to the current item in the template store. (The path does not include the name of the template store).\",\"type\":\"standalone\"},{\"name\":\"SIZE\",\"description\":\"is the size of the item.\",\"type\":\"standalone\"},{\"name\":\"TYPE\",\"description\":\"is the type of the item: COLUMN, FOOTER, HEADER, STYLE, TABLE, or LINK. If the item is simply a level in the item store, its type is DIR.\",\"type\":\"standalone\"},{\"name\":\"ASCENDING\",\"aliases\":[\"A\"],\"description\":\"sorts from low values to high values.\",\"type\":\"standalone\"},{\"name\":\"DESCENDING\",\"aliases\":[\"D\"],\"description\":\"sorts from high values to low values.\",\"type\":\"standalone\"}]},{\"name\":\"STATS=\",\"optional\":true,\"description\":\"specifies the information to include in the list of items.\",\"help\":\"STATS=ALL | STORE | *(statistic-1 &lt;, … statistic-n&gt;)*\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ALL\",\"description\":\"includes all available information.\",\"type\":\"standalone\"},{\"name\":\"STORE\",\"description\":\"specifies the name of the template store that contains the items.\",\"type\":\"standalone\"},{\"name\":\"CREATED\",\"description\":\"is the date on which the item was created.\",\"type\":\"standalone\"},{\"name\":\"NOTES\",\"aliases\":[\"LABEL\"],\"description\":\"is the content of any NOTES statement in the PROC TEMPLATE step that created the item.\",\"type\":\"standalone\"},{\"name\":\"LINK\",\"description\":\"is the name of the item that the current item links to (see ).\",\"type\":\"standalone\"},{\"name\":\"SIZE\",\"description\":\"is the size of the item.\",\"type\":\"standalone\"}]},{\"name\":\"STORE=\",\"optional\":true,\"description\":\"specifies the template store to process.\",\"help\":\"STORE=*libref*.*template-store* \",\"type\":\"dataSet\"},{\"name\":\"WHERE=\",\"optional\":true,\"description\":\"selects, for listing, items that meet a particular condition. For example, the following statement lists items that contain the word \\\"Default\\\" in the path to the current template:\",\"help\":\"WHERE=*where-expression*\",\"type\":\"value\",\"arguments\":[{\"name\":\"PATH\",\"aliases\":[\"NAME\",\"_NAME_\",\"TEMPLATE\",\"_TEMPLATE_\"],\"description\":\"is the fully qualified path of a template.\",\"type\":\"standalone\"},{\"name\":\"_PATH_\",\"aliases\":[\"NAME\",\"_NAME_\",\"TEMPLATE\",\"_TEMPLATE_\"],\"description\":\"is the fully qualified path of a template.\",\"type\":\"standalone\"},{\"name\":\"STORE\",\"description\":\"is the name of the template store that contains the item.\",\"type\":\"standalone\"},{\"name\":\"TYPE\",\"description\":\"is the type of the item. TYPE is one of the following:\",\"type\":\"standalone\"},{\"name\":\"_TYPE_\",\"description\":\"is the type of the item. TYPE is one of the following:\",\"type\":\"standalone\"},{\"name\":\"NOTES\",\"aliases\":[\"LABEL\"],\"description\":\"is the content of any NOTES statement in the PROC TEMPLATE step that created the item. The contents is displayed in the LABEL field.\",\"type\":\"standalone\"},{\"name\":\"SIZE\",\"description\":\"is the size of the item in bytes.\",\"type\":\"standalone\"},{\"name\":\"CREATED\",\"description\":\"is the date on which the item was created.\",\"type\":\"standalone\"},{\"name\":\"CDATE\",\"description\":\"is the creation date of the item.\",\"type\":\"standalone\"},{\"name\":\"_CDATE_\",\"description\":\"is the creation date of the item.\",\"help\":\"_CDATE_ \",\"type\":\"standalone\"},{\"name\":\"CDATETIME\",\"description\":\"is the creation datetime of the item.\",\"type\":\"standalone\"},{\"name\":\"_CDATETIME_\",\"description\":\"is the creation datetime of the item.\",\"type\":\"standalone\"},{\"name\":\"CTIME\",\"description\":\"is the creation time of the item.\",\"type\":\"standalone\"},{\"name\":\"_CTIME_\",\"description\":\"is the creation time of the item.\",\"type\":\"standalone\"},{\"name\":\"MDATE\",\"description\":\"is the modification date of the item.\",\"type\":\"standalone\"},{\"name\":\"_MDATE_\",\"description\":\"is the modification date of the item.\",\"type\":\"standalone\"},{\"name\":\"MDATETIME\",\"description\":\"is the modification datetime of the item.\",\"type\":\"standalone\"},{\"name\":\"_MDATETIME_\",\"description\":\"is the modification datetime of the item.\",\"help\":\"_MDATETIME_   \",\"type\":\"standalone\"},{\"name\":\"MODIFIED\",\"description\":\"is the date on which the item was modified.\",\"type\":\"standalone\"},{\"name\":\"MTIME\",\"description\":\"is the modification time of the item.\",\"type\":\"standalone\"},{\"name\":\"_MTIME_\",\"description\":\"is the modification time of the item.\",\"type\":\"standalone\"},{\"name\":\"comparison-operator\",\"placeholder\":true,\"description\":\"compares a variable with a value or with another variable. The following table lists the comparison operators:\",\"help\":\"*comparison-operator*\",\"type\":\"value\"}]}]},{\"name\":\"PATH\",\"description\":\"Specifies locations to write to or read from when you create or use PROC TEMPLATE templates or definitions, and specifies the order in which to search for them. This statement overrides the ODS PATH statement for the duration of the PROC TEMPLATE step.\",\"help\":\"PATH &lt;(APPEND | )(PREPEND | )(REMOVE)&gt;*location(s)*;PATH *path-argument*;\",\"arguments\":[{\"name\":\"<libref.>item-store\",\"placeholder\":true,\"description\":\"identifies an item store to read from, to write to, or to update. If an item store does not already exist, then the PATH statement creates it.\",\"type\":\"dataSet\"},{\"name\":\"(READ\",\"description\":\"specifies the access mode for the item. An access mode is one of the following:\",\"type\":\"standalone\"},{\"name\":\"UPDATE\",\"description\":\"specifies the access mode for the item. An access mode is one of the following:\",\"type\":\"standalone\"},{\"name\":\"WRITE)\",\"description\":\"specifies the access mode for the item. An access mode is one of the following:\",\"help\":\"WRITE) \",\"type\":\"standalone\"},{\"name\":\"RESET\",\"description\":\"sets the ODS path to the default settings Sasuser.Templat (UPDATE) and Sashelp.Tmplmst (READ).\",\"type\":\"standalone\"},{\"name\":\"SHOW\",\"description\":\"displays the current ODS path.\",\"type\":\"standalone\"},{\"name\":\"VERIFY\",\"description\":\"sets the ODS path to include only templates supplied by SAS. Specifying VERIFY is the same as specifying ODS PATH Sashelp.Tmplmst (READ).\",\"type\":\"standalone\"},{\"name\":\"(APPEND\",\"optional\":true,\"description\":\"adds one or more locations to a path, or removes one or more locations from a path.\",\"type\":\"standalone\"},{\"name\":\"PREPEND\",\"optional\":true,\"description\":\"adds one or more locations to a path, or removes one or more locations from a path.\",\"type\":\"standalone\"},{\"name\":\"REMOVE\",\"optional\":true,\"description\":\"adds one or more locations to a path, or removes one or more locations from a path.\",\"help\":\"REMOVE )\",\"type\":\"standalone\"}]},{\"name\":\"SOURCE\",\"description\":\"Writes the source code for the template specified to the SAS log.\",\"help\":\"SOURCE *item-path*&lt;/ *options*&gt;; \",\"arguments\":[{\"name\":\"item-path\",\"placeholder\":true,\"description\":\"specifies the path of the item that you want to write to the SAS log. If the same item exists in multiple template stores, PROC TEMPLATE uses the one from the first template store that you can read in the current path.\",\"type\":\"value\"},{\"name\":\"EXPAND\",\"optional\":true,\"description\":\"prints the source of all parents of a template.\",\"type\":\"standalone\"},{\"name\":\"FILE=\",\"optional\":true,\"description\":\"specifies a file to write the item to.\",\"help\":\"FILE= '*file-specification*' | *fileref*\",\"type\":\"choice\",\"arguments\":[{\"name\":\"'file-specification'\",\"placeholder\":true,\"description\":\"is the name of an external file to write to.\",\"type\":\"value\"},{\"name\":\"fileref\",\"placeholder\":true,\"description\":\"is a file reference that has been assigned to an external file. Use the FILENAME statement to assign a fileref.\",\"help\":\"*fileref* \",\"type\":\"value\"}]},{\"name\":\"NOFOLLOW\",\"optional\":true,\"description\":\"specifies that the program does not resolve links in the PARENT= statement, which specifies the item that the current item inherits from. For information about the PARENT= statement, see in the styles attribute section.\",\"type\":\"standalone\"},{\"name\":\"STORE=\",\"optional\":true,\"description\":\"specifies the template store where the item is located.\",\"help\":\"STORE= *libref.template-store*\",\"type\":\"dataSet\"},{\"name\":\"WHERE=\",\"optional\":true,\"description\":\"selects items that meet a particular condition. For example, the following statement displays the source code for items that contain the word \\\"Default\\\" in the path to the current template: source / where=(path ? 'Default');\",\"help\":\"WHERE=(*where-expression*)\",\"type\":\"value\",\"arguments\":[{\"name\":\"PATH\",\"aliases\":[\"NAME\",\"_NAME_\",\"TEMPLATE\",\"_TEMPLATE_\"],\"description\":\"is the fully qualified path of a template.\",\"type\":\"standalone\"},{\"name\":\"_PATH_\",\"aliases\":[\"NAME\",\"_NAME_\",\"TEMPLATE\",\"_TEMPLATE_\"],\"description\":\"is the fully qualified path of a template.\",\"type\":\"standalone\"},{\"name\":\"TYPE\",\"description\":\"is the type of the item. TYPE is one of the following:\",\"type\":\"standalone\"},{\"name\":\"_TYPE_\",\"description\":\"is the type of the item. TYPE is one of the following:\",\"type\":\"standalone\"},{\"name\":\"NOTES\",\"aliases\":[\"LABEL\"],\"description\":\"is the content of any NOTES statement in the PROC TEMPLATE step that created the item. The contents is displayed in the LABEL field.\",\"type\":\"standalone\"},{\"name\":\"SIZE\",\"description\":\"is the size of the item in bytes.\",\"type\":\"standalone\"},{\"name\":\"CREATED\",\"description\":\"is the date on which the item was created.\",\"type\":\"standalone\"},{\"name\":\"CDATE\",\"description\":\"is the creation date of the item.\",\"type\":\"standalone\"},{\"name\":\"_CDATE_\",\"description\":\"is the creation date of the item.\",\"help\":\"_CDATE_ \",\"type\":\"standalone\"},{\"name\":\"CDATETIME\",\"description\":\"is the creation datetime of the item.\",\"type\":\"standalone\"},{\"name\":\"_CDATETIME_\",\"description\":\"is the creation datetime of the item.\",\"type\":\"standalone\"},{\"name\":\"CTIME\",\"description\":\"is the creation time of the item.\",\"type\":\"standalone\"},{\"name\":\"_CTIME_\",\"description\":\"is the creation time of the item.\",\"type\":\"standalone\"},{\"name\":\"MDATE\",\"description\":\"is the modification date of the item.\",\"type\":\"standalone\"},{\"name\":\"_MDATE_\",\"description\":\"is the modification date of the item.\",\"type\":\"standalone\"},{\"name\":\"MDATETIME\",\"description\":\"is the modification datetime of the item.\",\"type\":\"standalone\"},{\"name\":\"_MDATETIME_\",\"description\":\"is the modification datetime of the item.\",\"help\":\"_MDATETIME_  \",\"type\":\"standalone\"},{\"name\":\"MODIFIED\",\"description\":\"is the date on which the item was modified.\",\"type\":\"standalone\"},{\"name\":\"MTIME\",\"description\":\"is the modification time of the item.\",\"type\":\"standalone\"},{\"name\":\"_MTIME_\",\"description\":\"is the modification time of the item.\",\"type\":\"standalone\"},{\"name\":\"comparison-operator\",\"placeholder\":true,\"description\":\"compares a variable with a value or with another variable. The following table lists the comparison operators:\",\"help\":\"*comparison-operator*\",\"type\":\"value\"}]}]},{\"name\":\"TEST\",\"description\":\"Tests the most recently created item by binding it to the specified data set.\",\"help\":\"TEST  DATA=*data-set*&lt;/ STORE=*libref*.*template-store*&gt;;  \",\"arguments\":[{\"name\":\"DATA=\",\"description\":\"specifies the SAS data set to bind to the most recently created item. ODS sends this output object to all open ODS destinations.\",\"help\":\"DATA=*data-set*\",\"type\":\"dataSet\"},{\"name\":\"STORE=\",\"optional\":true,\"description\":\"specifies the template store where the item is located.\",\"help\":\"STORE=*libref*.*template-store*\",\"type\":\"dataSet\"}]}],\"supportSiteInformation\":{\"docsetId\":\"odsproc\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"p1e7inim7w83xun1oq20jg6z2uez.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/TEXTCATEGORY.json",
    "content": "{\"name\":\"TEXTCATEGORY\",\"statements\":[{\"name\":\"PROC TEXTCATEGORY\",\"description\":\"The TEXTCATEGORY procedure provides development packages for a category model. The procedure checks the syntax of textual category rules and generates information about syntax errors in the rules. It uses textual category rules to generate a category model. The procedure also creates an analytic store for the category model.\",\"help\":\"PROC TEXTCATEGORY DATA=libref.data-tableCONCEPT=libref.data-tableLANGUAGE=languageSYNTAXERRORS=libref.data-tableTOKENIZER=BASIC|STANDARD ;\\n\\tASTORESETTINGS ALGORITHM=FREQUENCY|WEIGHTEDDOCTYPE=TEXT|XMLMAXCHAR=nOUTPUTMODE=DATAGRID|DEFAULTTEXT=\\\"string\\\";\\n\\n\\tID variable;\\n\\n\\tINPUT variable;\\n\\n\\tOUTPUT OUT=libref.data-table;\\n\\n\\tSAVESTATE RSTORE=libref.data-table;\\n\",\"arguments\":[{\"name\":\"DATA=\",\"description\":\"names the input data table for PROC TEXTCATEGORY to use. Each row of the input data table must contain one character variable and one ID variable that correspond to the textual category rule and the unique ID of each row, respectively.\",\"help\":\"DATA=*libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"CONCEPT=\",\"optional\":true,\"description\":\"specifies an input table that contains a language interpretation and text interpretation (LITI) model. The LITI model, which is also called the concept model, is used for concept definition and extraction. You can use the category rules to reference the concepts that are defined in the LITI model. You can create a LITI model by using the TEXTCONCEPT procedure.\",\"help\":\"CONCEPT=*libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"LANGUAGE=\",\"optional\":true,\"description\":\"specifies the language to use for generating the category model. This value is either the name or the two-letter ISO 639-1 language code of a licensed language. The category model is a language-specific model. If you omit this option, then the default language (English) is used.\",\"help\":\"LANGUAGE=*language*\",\"type\":\"value\"},{\"name\":\"SYNTAXERRORS=\",\"optional\":true,\"description\":\"specifies the output table that contains information about syntax errors in the category rules.\",\"help\":\"SYNTAXERRORS=*libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"TOKENIZER=\",\"optional\":true,\"description\":\"specifies which tokenizer to use in the category model. You can specify the following values:\",\"help\":\"TOKENIZER=BASIC | STANDARD\",\"type\":\"choice\",\"arguments\":[{\"name\":\"BASIC\",\"description\":\"applies a basic tokenizer that treats all characters as separate words. It is used only when you the set the LANGUAGE= option to a value of CHINESE, JAPANESE, or KOREAN.\",\"type\":\"standalone\"},{\"name\":\"STANDARD\",\"description\":\"applies a language-specific tokenizer. All licensed languages support the default standard value.\",\"type\":\"standalone\"}]}]},{\"name\":\"ASTORESETTINGS\",\"description\":\"The ASTORESETTINGS statement enables you to configure the category analytic store that you save by using the SAVESTATE statement.\",\"help\":\"ASTORESETTINGS *ALGORITHM=FREQUENCY|WEIGHTED**DOCTYPE=TEXT|XML**MAXCHAR=n**OUTPUTMODE=DATAGRID|DEFAULT**TEXT=\\\"string\\\"*;\",\"arguments\":[{\"name\":\"ALGORITHM=\",\"optional\":true,\"description\":\"specifies the type of scoring algorithm to use. By default, ALGORITHM=FREQUENCY.\",\"help\":\"ALGORITHM=FREQUENCY | WEIGHTED\",\"type\":\"choice\",\"arguments\":[{\"name\":\"FREQUENCY\",\"description\":\"applies the frequency-based algorithm in scoring. This algorithm calculates the scores by using a count of the total number of instances of matching terms that are found in an input document. This is the default.\",\"type\":\"standalone\"},{\"name\":\"WEIGHTED\",\"description\":\"applies the relevancy-based (weighted) algorithm in scoring. This algorithm calculates the scores according to a number of criteria, such as the occurrence of words or phrases, the specified weighting of those words, their location, and so on.\",\"type\":\"standalone\"}]},{\"name\":\"DOCTYPE=\",\"optional\":true,\"description\":\"specifies how to treat the input document to be used in scoring. You can specify the following values:\",\"help\":\"DOCTYPE=TEXT | XML\",\"type\":\"choice\",\"arguments\":[{\"name\":\"TEXT\",\"description\":\"treats the input documents as raw text in scoring. This is the default.\",\"type\":\"standalone\"},{\"name\":\"XML\",\"description\":\"treats the input documents as XML in scoring.\",\"type\":\"standalone\"}]},{\"name\":\"MAXCHAR=\",\"optional\":true,\"description\":\"specifies the length of output character variables to use in scoring the category analytic store model. By default, MAXCHAR=1024. When you use the DS2 language to score an analytic store model, the VARCHAR output is truncated if the output text exceeds the VARCHAR length. You can use this option to modify the VARCHAR length. When you score an analytic store model by using the EPCODE= option in the DESCRIBE statement in PROC ASTORE, the value that you specify in the MAXCHAR= option must be greater than or equal to the value necessary to avoid truncating the output columns. The maximum width of column output when you score an analytic store model in this way on the client is 32,767 characters. Wider column output is truncated.\",\"help\":\"MAXCHAR=*n*\",\"type\":\"value\"},{\"name\":\"OUTPUTMODE=\",\"optional\":true,\"description\":\"specifies which output tables to generate when the category analytic store model is scored. You can specify the following values:\",\"help\":\"OUTPUTMODE=DATAGRID | DEFAULT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DATAGRID\",\"description\":\"specifies that the category analytic store model create one output table that includes category results.\",\"type\":\"standalone\"},{\"name\":\"DEFAULT\",\"description\":\"specifies that the category analytic store model create three output tables from the input table.\",\"type\":\"standalone\"}]},{\"name\":\"TEXT=\",\"optional\":true,\"description\":\"specifies the name of the variable that contains documents for scoring the model. This is the name of the text variable that will be saved in the analytic store model. The default value is \\\"_text_\\\". When the analytic store is used, a procedure requires a table that has this variable name. This value can be used by PROC ASTORE in a subsequent scoring step.\",\"help\":\"TEXT=*\\\"string\\\"*\",\"type\":\"value\"}]},{\"name\":\"ID\",\"description\":\"The ID statement specifies the variable that contains the rule IDs. In the input data table, each row corresponds to one or more rules. The ID of each row must be unique; it can be either a number or a string of characters. The TEXTCATEGORY procedure excludes the rules that have missing ID values from the syntax checking.\",\"help\":\"ID *variable*;\",\"arguments\":[{\"name\":\"variable\",\"placeholder\":true,\"description\":\"names the ID variable.\",\"type\":\"value\"}]},{\"name\":\"INPUT\",\"description\":\"The INPUT statement specifies the variable that contains the category rules.\",\"help\":\"INPUT *variable*;\",\"arguments\":[{\"name\":\"variable\",\"placeholder\":true,\"description\":\"names the INPUT variable.\",\"type\":\"value\"}]},{\"name\":\"OUTPUT\",\"description\":\"The OUTPUT statement creates an output data set that contains the category model.\",\"help\":\"OUTPUT *OUT=libref.data-table*;\",\"arguments\":[{\"name\":\"OUT=\",\"description\":\"names the table to contain the category model.\",\"help\":\"OUT=*libref.data-table*\",\"type\":\"dataSet\"}]},{\"name\":\"SAVESTATE\",\"description\":\"The SAVESTATE statement saves a category analytic store model in a data table. The analytic store contains the necessary information for scoring a category model by using the ASTORE procedure.\",\"help\":\"SAVESTATE *RSTORE=libref.data-table*;\",\"arguments\":[{\"name\":\"RSTORE=\",\"description\":\"specifies a data table in which to save the category analytic store model.\",\"help\":\"RSTORE=*libref.data-table*\",\"type\":\"dataSet\"}]}],\"supportSiteInformation\":{\"docsetId\":\"casvta\",\"docsetVersion\":\"latest\",\"docsetTargetFile\":\"casvta_textcategory_toc.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/TEXTCATSCORE.json",
    "content": "{\"name\":\"TEXTCATSCORE\",\"statements\":[{\"name\":\"PROC TEXTCATSCORE\",\"description\":\"The TEXTCATSCORE procedure scores text documents against a category model, which is a type of rule-based model. You can write your own rules to define category membership for some documents while excluding texts that contain inappropriate content, and then use the TEXTCATEGORY procedure to create the category model. PROC TEXTCATSCORE can create four output data tables, which contain the following information: the category output data results, the category output term results, the categorization model, and the category grouped results.\",\"help\":\"PROC TEXTCATSCORE  DATA=libref.data-tableINMODEL=libref.data-table<ALGORITHM=FREQUENCY | WEIGHTED><DOCTYPE=TEXT | XML><OUTDOCMATCH-libref.data-table><OUTMATCH=-libref.data-table> ;\\n\\tID variable;\\n\\n\\tINPUT variable;\\n\\n\\tOUTGROUPEDMATCH OUT=libref.data-table<MATCHDLEIMITER=\\\"string\\\">;\\n\\n\\tOUTPUT OUT=libref.data-table;\\n\",\"arguments\":[{\"name\":\"DATA=\",\"description\":\"specifies the input data table for PROC TEXTCATSCORE to use. Each row of the input data table must contain one character variable and one ID variable that correspond to the text document and the unique ID of a document, respectively.\",\"help\":\"DATA=*libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"INMODEL=\",\"description\":\"specifies an input table that contains a category model. You can create a table with a category model by using PROC TEXTCATEGORY.\",\"help\":\"INMODEL=*libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"ALGORITHM=\",\"optional\":true,\"description\":\"specifies the type of scoring algorithm to use. You can specify the following algorithm types:\",\"help\":\"ALGORITHM=FREQUENCY | WEIGHTED\",\"type\":\"choice\",\"arguments\":[{\"name\":\"FREQUENCY\",\"description\":\"applies the frequency-based algorithm in scoring. This algorithm calculates the scores by using a count of the total number of instances of matching terms that are found in an input document. This is the default.\",\"type\":\"standalone\"},{\"name\":\"WEIGHTED\",\"description\":\"applies the relevancy-based (weighted) algorithm in scoring. This algorithm calculates the scores according to a number of criteria, such as the occurrence of words or phrases, the specified weighting of those words, their location, and so on.\",\"type\":\"standalone\"}]},{\"name\":\"DOCTYPE=\",\"optional\":true,\"description\":\"specifies how to treat the input document to be used in scoring. You can specify the following values:\",\"help\":\"DOCTYPE=TEXT | XML\",\"type\":\"choice\",\"arguments\":[{\"name\":\"TEXT\",\"description\":\"treats the input documents as raw text in scoring. This is the default.\",\"type\":\"standalone\"},{\"name\":\"XML\",\"description\":\"treats the input documents as XML in scoring.\",\"type\":\"standalone\"}]},{\"name\":\"OUTDOCMATCH=\",\"optional\":true,\"description\":\"In this table, the first variable is an ID variable that corresponds to the unique ID of a document. For the other variables, the variable names are category_1 , …, category_N, where N is the number of categories that are defined in the category model; the variable labels are the category names that are defined in the category model; and the value of these variables is either 1 or 0, which indicates that the document matches (1) or does not match (0) the category.\",\"help\":\"OUTDOCMATCH=*libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"OUTMATCH=\",\"optional\":true,\"description\":\"This table contains the following variables:\",\"help\":\"OUTMATCH=*libref.data-table*\",\"type\":\"dataSet\"}]},{\"name\":\"ID\",\"description\":\"The ID statement names the variable in the DATA= table that contains the document IDs. This statement is required.\",\"help\":\"ID *variable*;\",\"arguments\":[{\"name\":\"variable\",\"placeholder\":true,\"description\":\"specifies the variable in the DATA= table that contains the document IDs.\",\"type\":\"value\"}]},{\"name\":\"INPUT\",\"description\":\"The INPUT statement specifies the variable that contains the documents to be scored. If you omit this statement, then the default text variable is used.\",\"help\":\"INPUT *variable*;\",\"arguments\":[{\"name\":\"variable\",\"placeholder\":true,\"description\":\"specifies the variable in the DATA= table that contains the text of the documents to be analyzed.\",\"type\":\"value\"}]},{\"name\":\"OUTGROUPEDMATCH\",\"description\":\"Creates an output data table that contains the grouped category output results.\",\"help\":\"OUTGROUPEDMATCH OUT=*libref.data-table*;\",\"arguments\":[{\"name\":\"OUT=\",\"description\":\"specifies the name of a category output term table that groups matched terms together by category for each document. This table contains the following variables:\",\"help\":\"OUT=*libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"MATCHDELIMITER=\",\"optional\":true,\"description\":\"specifies the delimiter that is used to separate each matched term. You can specify a delimiter that consists of one or more characters, but it should not exceed 32 characters and should be enclosed in quotation marks. By default, MATCHDELIMITER=\\\"|\\\".\",\"help\":\"MATCHDELIMITER=*\\\"string\\\"*\",\"type\":\"value\"}]},{\"name\":\"OUTPUT\",\"description\":\"The OUTPUT statement creates an output data table that contains the category output results.\",\"help\":\"OUTPUT OUT=*libref.data-table*;\",\"arguments\":[{\"name\":\"OUT=\",\"description\":\"specifies the name of the output data table. This table contains the following variables:\",\"help\":\"OUT=*libref.data-table*\",\"type\":\"dataSet\"}]}],\"supportSiteInformation\":{\"docsetId\":\"casvta\",\"docsetVersion\":\"latest\",\"docsetTargetFile\":\"casvta_textcatscore_toc.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/TEXTCONCEPT.json",
    "content": "{\"name\":\"TEXTCONCEPT\",\"statements\":[{\"name\":\"PROC TEXTCONCEPT\",\"description\":\"The PROC TEXTCONCEPT statement builds a concept model by using LITI rules and, optionally, predefined entities.\",\"help\":\" PROC TEXTCONCEPT DATA=libref.data-table <options>; \\t\\t\\t\\t\\t\\t\\n\\tASTORESETTINGS \\t\\t\\t\\t\\t <options>;\\n\\n\\tID variable;\\n\\n\\tINPUT variable;\\n\\n\\t OUTPUT  OUT=libref.output-table \\t\\t\\t\\t\\t; \\n\\n\\tSAVESTATE \\t\\t\\t\\t\\t RSTORE=libref.output-table;\\n\",\"arguments\":[{\"name\":\"DATA=\",\"description\":\"specifies the input data table that contains the textual LITI rules.\",\"help\":\" DATA=libref.data-table\\n\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"n0mhvdiqtkhi7kn1gbc2kuga879p\"},{\"name\":\"LANGUAGE=\",\"optional\":true,\"description\":\"specifies the language to be used for compiling the language-specific LI binary.\",\"help\":\"LANGUAGE=*language*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0ukbcfy6a2eyon16q87tsje0azb\"},{\"name\":\"PREDEFINEDNER\",\"optional\":true,\"description\":\"determines whether to include the predefined concepts model in the LI binary.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0dcwcs0lrlgufn1n2nr3yxibt85\"},{\"name\":\"SYNTAXERRORS=\",\"optional\":true,\"description\":\"specifies the output table that contains the syntax error information about LITI rules.\",\"help\":\" SYNTAXERRORS=libref.output-table\\n\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"p1835lvr8pgt74n1l7udpwjwkv2t\"},{\"name\":\"TOKENIZER=\",\"optional\":true,\"description\":\"specifies which tokenizer to use in the LITI model.\",\"help\":\" TOKENIZER=BASIC | STANDARD\",\"type\":\"choice\",\"arguments\":[{\"name\":\"BASIC\",\"description\":\"applies the basic tokenizer.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0xlvo8jvgigj1n19z4ls0hluvbk\"},{\"name\":\"STANDARD\",\"description\":\"applies a language-specific tokenizer. By default, TOKENIZER=STANDARD.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1fo0ldsay5i11n1gmb5wk52x1qu\"}],\"supportSiteTargetFragment\":\"n12e03uj8xe7vyn1jvgw976ydbja\"}],\"supportSiteTargetFile\":\"n1gen6j4ffkl4on1ajvydhwp38dl.htm\"},{\"name\":\"ASTORESETTINGS\",\"description\":\"The ASTORESETTINGS statement enables you to further configure the concept analytic store model that you save by using the SAVESTATE statement. This statement is optional.\",\"help\":\"ASTORESETTINGS  &lt;MATCHTYPE=ALL | BEST | LONGEST&gt;&lt;MAXCHAR=*integer*&gt;&lt;OUTPUTMODE=DEFAULT | DATAGRID&gt;&lt;TEXT=*variable*&gt;;\",\"arguments\":[{\"name\":\"MATCHTYPE=\",\"optional\":true,\"description\":\"determines how to treat overlapping matches while scoring the concept analytic store model. By default, MATCHTYPE=ALL.\",\"help\":\"MATCHTYPE=ALL | BEST | LONGEST\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ALL\",\"description\":\"returns all the terms that match any of the concepts.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n045xi0a5k7h4kn1auqcbhmmylez\"},{\"name\":\"BEST\",\"description\":\"returns only the match for the concept that has the highest priority setting.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0c7y686qrmvc5n1k8k6rha5lvzr\"},{\"name\":\"LONGEST\",\"description\":\"returns the longest match for the concept.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0t5pauilva2v2n1a1x09wgs418h\"}],\"supportSiteTargetFragment\":\"n1u8afi135gyacn1ufbhm2w8k6tz\"},{\"name\":\"MAXCHAR=\",\"optional\":true,\"description\":\"specifies the length of output character variables while scoring the concept analytic store model. By default, MAXCHAR=1024. The minimum value is 9, and the maximum value is 536870911.\",\"help\":\"MAXCHAR=*integer*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0tws324ekckspn1wsxs7juo02ej\"},{\"name\":\"OUTPUTMODE=\",\"optional\":true,\"description\":\"specifies which output tables are generated when the concept analytic store model is scored. By default, OUTPUTMODE=DEFAULT.\",\"help\":\"OUTPUTMODE=DATAGRID | DEFAULT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DATAGRID\",\"description\":\"specifies that the concept analytic store model creates one output table that contains concept results and fact results. Each document corresponds to one output row of data grids. Use this option if you plan to score the analytic store by using DS2 or by using a SAS Micro Analytic Service or SAS Embedded Process. This option is also compatible with PROC ASTORE.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p08i6kak2wqwhjn1jqnq95c4hvin\"},{\"name\":\"DEFAULT\",\"description\":\"specifies that the concept analytic store model creates two output tables from the input table. The two tables contain concept results and fact results.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1lntlmnunc4pdn14hocoykfvm6j\"}],\"supportSiteTargetFragment\":\"n0gzr1dohp1vdpn1t0a5a0x90kkt\"},{\"name\":\"TEXT=\",\"optional\":true,\"description\":\"specifies the name of the variable that contains documents for scoring the model. By default, TEXT=\\\"_text_\\\".\",\"help\":\"TEXT=*\\\"string\\\"*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0rafi7t7izlacn1dmxuxfq6xqyc\"}],\"supportSiteTargetFile\":\"n0b60rc86j3dwfn1ou272lwfra22.htm\"},{\"name\":\"ID\",\"description\":\"The ID statement names the variable in the DATA= table that contains the rule IDs. This statement is required.\",\"help\":\"ID *variable*;\",\"arguments\":[{\"name\":\"variable\",\"placeholder\":true,\"description\":\"specifies the variable in the DATA= table that contains the rule IDs.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0rhppdfd3y4kgn11vptnl41gor4\"}],\"supportSiteTargetFile\":\"p0vlt8kj0hadg3n1mx5kjsq7rqdx.htm\"},{\"name\":\"INPUT\",\"description\":\"The INPUT statement names the variable in the DATA= table that contains the textual LITI rules. This statement is required.\",\"help\":\"INPUT *variable*;\",\"arguments\":[{\"name\":\"variable\",\"placeholder\":true,\"description\":\"specifies the variable in the DATA= table that contains the textual LITI rules.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1ig0f501wftrmn169nbbjletre7\"}],\"supportSiteTargetFile\":\"p1ila7o525amr5n1adxkvoum3st8.htm\"},{\"name\":\"OUTPUT\",\"description\":\"The OUTPUT statement specifies the output table to contain the compiled LI binary. This statement is optional.\",\"help\":\"OUTPUT \\t\\t\\t\\t\\t\\t OUT= *libref.output-table*; \",\"arguments\":[{\"name\":\"OUT=\",\"description\":\"specifies the output table to contain the compiled LI binary.\",\"help\":\"OUT= *libref.output-table*\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"p136hiqwz6yji6n1glxxcw0jkuw8\"}],\"supportSiteTargetFile\":\"n04o44ipjmoqzen1r7nj7dmckr0c.htm\"},{\"name\":\"SAVESTATE\",\"description\":\"The SAVESTATE statement specifies the output table to contain a compiled concept analytic store model. This statement is optional.\",\"help\":\"SAVESTATE \\t\\t\\t\\t\\t\\t RSTORE=*libref.output-table*;\",\"arguments\":[{\"name\":\"RSTORE=\",\"description\":\"specifies the output table to contain a concept analytic store model.\",\"help\":\"RSTORE=*libref.output-table*\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"p1gpdnftp2u3mrn1093mx6hgebqd\"}],\"supportSiteTargetFile\":\"p0pzu6dsh7mgbpn1hgso1a56qc6m.htm\"}],\"supportSiteInformation\":{\"docsetId\":\"casvtaproc\",\"docsetVersion\":\"v_002\",\"docsetTargetFile\":\"n085fe2rywc8hzn10pxassy2e4u0.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/TEXTCONCEPTSCORE.json",
    "content": "{\"name\":\"TEXTCONCEPTSCORE\",\"statements\":[{\"name\":\"PROC TEXTCONCEPTSCORE\",\"description\":\"The TEXTCONCEPTSCORE statement performs concept and fact extraction by using a compiled LITI model.\",\"help\":\"PROC TEXTCONCEPTSCORE DATA= libref.data-table<options>; \\t\\t\\t\\t\\t\\t\\n\\tID variable;\\n\\n\\tINPUT variable;\\n\\n\\tOUTPUT OUT=libref.output-table;\\n\",\"arguments\":[{\"name\":\"DATA=\",\"description\":\"specifies the input table that contains the documents to process.\",\"help\":\"DATA=*libref.data-table*\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"n15zsur65ttpmvn13r8e6iq0lz3d\"},{\"name\":\"DROPCONCEPTS=\",\"optional\":true,\"description\":\"specifies a list of primary concepts to remove from the output tables.\",\"help\":\"DROPCONCEPTS=(*\\\"concept-name\\\", ...*)\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1816aphqmg3hyn17z3uk074k9vy\"},{\"name\":\"INMODEL=\",\"optional\":true,\"description\":\"specifies an input table that contains a compiled LI binary.\",\"help\":\"INMODEL=*libref.data-table*\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"p00jjxs87tl3zon1j3p6ebq2yetx\"},{\"name\":\"INPARSE=\",\"optional\":true,\"description\":\"specifies an input table that contains pre-parsed input documents. You should use a table that was created using the OUTPARSE= option in a previous run of PROC TEXTCONCEPTSCORE.\",\"help\":\"INPARSE=*libref.data-table*\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"n14wt09zb3odx4n1bskgym6w5bd3\"},{\"name\":\"LANGUAGE=\",\"optional\":true,\"description\":\"specifies the language that is used in the DATA= input table. You can specify the name or the two-letter ISO 639-1 language code of a licensed language. By default, LANGUAGE=EN; this specifies the English language.\",\"help\":\"LANGUAGE=*language*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1izv715plwz9hn131ayqf1c7q4w\"},{\"name\":\"MATCHTYPE=\",\"optional\":true,\"description\":\"determines how to treat overlapping matches while applying the LITI model. By default, MATCHTYPE=ALL.\",\"help\":\"MATCHTYPE=ALL | BEST | LONGEST\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ALL\",\"description\":\"returns all the terms that match any of the concepts.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0l3czzxux6cqxn17jairgu9309u\"},{\"name\":\"BEST\",\"description\":\"returns only the match for the concept that has the highest priority setting.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p109htriut1bjln1t8oqbazvjwzy\"},{\"name\":\"LONGEST\",\"description\":\"returns the longest match for the concept.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n08t7sr4qtb00hn1fqkdqppotnu6\"}],\"supportSiteTargetFragment\":\"n0nlrxjhrr537wn1c41dwac1z8pq\"},{\"name\":\"OUTFACT=\",\"optional\":true,\"description\":\"specifies the output table to contain the fact match results information.\",\"help\":\"OUTFACT=*libref.output-table*\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"p0igte0of90r03n1p1t2kid6k2ib\"},{\"name\":\"OUTPARSE=\",\"optional\":true,\"description\":\"specifies an output table to contain the results of parsing the documents from the DATA= input table.\",\"help\":\"OUTPARSE=*libref.output-table*\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"n1hss19c1iox4nn1jnwi0awamdo2\"},{\"name\":\"OUTRULEMATCH=\",\"optional\":true,\"description\":\"specifies the output table to contain the rule match results.\",\"help\":\"OUTRULEMATCH=*libref.output-table*\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"p1nxhkppfqssp5n1elefe6s57s0m\"}],\"supportSiteTargetFile\":\"p1wguwskzv2xf1n1ldziazgi6c5f.htm\"},{\"name\":\"ID\",\"description\":\"The ID statement names the variable in the DATA= table that contains the document IDs. This statement is required.\",\"help\":\"ID *variable*;\",\"arguments\":[{\"name\":\"variable\",\"placeholder\":true,\"description\":\"specifies the variable in the DATA= table that contains the document IDs.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p01n12fk1xtdmyn1i0q1b3y6m56a\"}],\"supportSiteTargetFile\":\"p0u6sq7klx5qc8n1p1zx9mutrisk.htm\"},{\"name\":\"INPUT\",\"description\":\"The INPUT statement names the variable in the DATA= table that contains the text of the documents to be analyzed. This statement is required.\",\"help\":\"INPUT *variable*;\",\"arguments\":[{\"name\":\"variable\",\"placeholder\":true,\"description\":\"specifies the variable in the DATA= table that contains the text of the documents to be analyzed.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0czfezlj27cp6n1lqw2017wzft8\"}],\"supportSiteTargetFile\":\"n1tf7027wulozsn18nsvokcuue75.htm\"},{\"name\":\"OUTPUT\",\"description\":\"The OUTPUT statement specifies the output table to contain the concept match results. This statement is optional.\",\"help\":\" OUTPUT \\t\\t\\t\\t\\t\\tOUT=*libref.output-table*;\",\"arguments\":[{\"name\":\"OUT=\",\"description\":\"specifies the output table to contain the concept match results.\",\"help\":\"OUT=*libref.output-table*\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"p02mbeeer4fjjpn145n4ckklni2w\"}],\"supportSiteTargetFile\":\"p1j4d7303hdw1in19nhefsjvnhez.htm\"}],\"supportSiteInformation\":{\"docsetId\":\"casvtaproc\",\"docsetVersion\":\"v_002\",\"docsetTargetFile\":\"p0zq5upksj6t01n1x716qznxz5uf.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/TEXTMINE.json",
    "content": "{\"name\":\"TEXTMINE\",\"statements\":[{\"name\":\"PROC TEXTMINE\",\"description\":\"The TEXTMINE procedure integrates natural language processing and statistical analysis to analyze large-scale textual data in SAS Viya. It supports a wide range of fundamental text analysis features, which include tokenizing, stemming, part-of-speech tagging, noun group extraction, default or customized stop lists and start lists, entity parsing, multiword tokens, synonym lists, term weighting, term-by-document matrix creation, dimension reduction with singular value decomposition (SVD), and topic discovery. (The procedure uses the tmMine action of the textMining action set to accomplish these tasks, but it does not use all of the action’s capabilities.)\",\"help\":\"PROC TEXTMINE  DATA=libref.data-table<options>;\\n VARIABLES variable;\\n<TARGET variable;>\\n DOC_ID variable;\\n<PARSE parse-options;\\n SAVESTATE RSTORE=libref.data-model;\\n SELECT label-list GROUP=group-optionKEEP | IGNORE;\\n SPELLCHECK spell-options;\\n SVD svd-options>\",\"arguments\":[{\"name\":\"DATA=\",\"description\":\"names the input data table for PROC TEXTSENTIMENT to use that contains the textual LITI rules. The input data table must contain a rule ID variable and a rule variable. The default is the most recently created data table.\",\"help\":\"DATA=*libref.data-table*;\",\"type\":\"dataSet\"},{\"name\":\"LANGUAGE=\",\"optional\":true,\"description\":\"names the language that is used by the documents in the input SAS data table. The current release supports the following languages: Arabic, Chinese, Croatian, Czech, Danish, Dutch, English, Farsi, Finnish, French, German, Greek, Hebrew, Hindi, Hungarian, Indonesian, Italian, Japanese, Kazakh, Korean, Norwegian, Polish, Portuguese, Romanian, Russian, Slovak, Slovene, Spanish, Swedish, Tagalog, Thai, Turkish, and Vietnamese. By default, LANGUAGE=ENGLISH.\",\"help\":\"LANGUAGE=*language*\",\"type\":\"value\"},{\"name\":\"NEWVARNAMES\",\"optional\":true,\"description\":\"adds leading and trailing underscore characters to variable names in some output tables.\",\"type\":\"standalone\"},{\"name\":\"NTHREADS=\",\"optional\":true,\"description\":\"specifies the number of threads to be used. By default, the number of threads is the same as the number of CPUs.\",\"help\":\"NTHREADS=*nthreads*\",\"type\":\"value\"}]},{\"name\":\"DOC_ID\",\"description\":\"The DOC_ID statement specifies the variable that contains the ID of each document. In the input data table, each row corresponds to one document. The ID of each document must be unique; it can be either a number or a string of characters.\",\"help\":\"DOC_ID *variable*;\"},{\"name\":\"PARSE\",\"description\":\"The PARSE statement specifies the options for parsing the input documents and creating the term-by-document matrix.\",\"help\":\"PARSE &lt;COMPLEXTAG ENTITIES=STD | NONE |  MULTITERM=*libref.data-table* NONOUNGROUPS NOSTEMMING NOTAGGING SHOWDROPPEDTERMS START=*libref.data-table* STOP=*libref.data-table* SYNONYM=*libref.data-table* CELLWGT=LOG | NONE |  REDUCEF=*n* TERMWGTENTROPY | MI | NONE OUTCHILD=*libref.data-table* OUTCONFIG=*libref.data-table* OUTPARENT=*libref.data-table* OUTPOS=*libref.data-table* OUTTERMS=*libref.data-table*&gt;;\",\"arguments\":[{\"name\":\"CELLWGT=\",\"optional\":true,\"description\":\"specifies how the elements in the term-by-document matrix are weighted. You can specify the following values:\",\"help\":\"CELLWGT=LOG | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"LOG\",\"description\":\"weights cells by using the log formulation.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"specifies that no cell weight be applied.\",\"type\":\"standalone\"}]},{\"name\":\"COMPLEXTAG\",\"optional\":true,\"description\":\"includes the complexTag variable in the OUTPOS= table and in the output OUTTERMS= table. For some terms, this variable contains a finer level of detail of the part of speech. The information in the complexTag column is used during the accumulation phase of parsing and during scoring so that consistent results are returned.\",\"type\":\"standalone\"},{\"name\":\"ENTITIES=\",\"optional\":true,\"description\":\"determines whether to use the standard LITI file for entity extraction. By default, ENTITIES=NONE. You can specify the following values:\",\"help\":\"ENTITIES=STD | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"STD\",\"description\":\"uses the standard LITI file for entity extraction. A term such as \\\"George W. Bush\\\" is recognized as an entity and given the corresponding entity role and attribute. For this term, the entity role is nlpPerson and the attribute is Entity. Although the entity is treated as the single term \\\"george w. bush\\\", individual tokens such as \\\"george\\\", \\\"w\\\", and \\\"bush\\\" are also included.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"does not use the standard LITI file for entity extraction.\",\"type\":\"standalone\"}]},{\"name\":\"MULTITERM=\",\"optional\":true,\"description\":\"specifies the input SAS data table that contains a case-sensitive list of multiword terms. The multiterm data table must have the variable Multiterm, and each row must be formatted in the following manner: the multiword term itself, followed by a colon; a number that represents the token type, followed by a colon; and finally, the part of speech that the multiword term represents. (Token type 3 is the most common token type for multiterm lists; it represents compound words.)\",\"help\":\"MULTITERM=*libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"NONOUNGROUPS\",\"optional\":true,\"description\":\"suppresses standard noun group extraction. (By default, PROC TEXTMINE extracts noun groups, returns noun phrases without determiners or prepositions, and unless the NOSTEMMING option is specified, stems noun group elements.)\",\"type\":\"standalone\"},{\"name\":\"NONG\",\"optional\":true,\"description\":\"suppresses standard noun group extraction. (By default, PROC TEXTMINE extracts noun groups, returns noun phrases without determiners or prepositions, and unless the NOSTEMMING option is specified, stems noun group elements.)\",\"type\":\"standalone\"},{\"name\":\"NOSTEMMING\",\"optional\":true,\"description\":\"suppresses stemming of words. (By default, words are stemmed using dictionary-based stemming, also known as lemmatization; that is, terms such as \\\"advises\\\" and \\\"advising\\\" are mapped to the parent term \\\"advise.\\\")\",\"type\":\"standalone\"},{\"name\":\"NOTAGGING\",\"optional\":true,\"description\":\"suppresses tagging of terms. (By default, terms are tagged, and PROC TEXTMINE identifies a term’s part of speech and provides this informatoin in the Role variable of the OUTTERMS= data table.)\",\"type\":\"standalone\"},{\"name\":\"OUTCHILD=\",\"optional\":true,\"description\":\"specifies the output data table to contain a compressed representation of the sparse term-by-document matrix. The term counts are not weighted. The data table saves only the kept, representative terms. Unlike in the OUTPARENT= data table, the child frequencies in the OUTCHILD= data table are not attributed to their corresponding parent.\",\"help\":\"OUTCHILD=*libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"OUTCONFIG=\",\"optional\":true,\"description\":\"specifies the output data table to contain configuration information that is used for the current run of PROC TEXTMINE. the primary purpose of this data table is to relay the configuration information from the TEXTMINE procedure to the TMSCORE procedure. PROC TMSCORE uses options that are consistent with PROC TEXTMINE. Thus, the data table that is created by the OUTCONFIG= option becomes an input data table for PROC TMSCORE and ensures that the parsing options are consistent between the two runs.\",\"help\":\"OUTCONFIG=*libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"OUTPARENT=\",\"optional\":true,\"description\":\"specifies the output data table to contain a compressed representation of the sparse term-by-document matrix. The term counts can be weighted, if requested. The data table contains only the kept, representative terms, and the child frequencies are attributed to the corresponding parent. (To obtain information about the children, use the OUTCHILD= option.)\",\"help\":\"OUTPARENT=*libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"REDUCEF=\",\"optional\":true,\"description\":\"removes terms that are not in at least n documents. The value of n must be a positive integer. By default, REDUCEF=4.\",\"help\":\"REDUCEF=*n*\",\"type\":\"value\"},{\"name\":\"SHOWDROPPEDTERMS\",\"optional\":true,\"description\":\"includes the terms that have a keep status of N in the OUTTERMS= and OUTCHILD= data tables.\",\"type\":\"standalone\"},{\"name\":\"START=\",\"optional\":true,\"description\":\"specifies the input data table that contains the terms to keep for the analysis. These terms are displayed in the OUTTERMS= data table with a keep status of Y. All other terms are displayed with a keep status of N if the SHOWDROPPEDTERMS option is specified or not displayed if that option is omitted. The START= data table must have a Term variable and can also have a Role variable. You cannot specify both the START= and STOP= options.\",\"help\":\"START=*libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"STOP=\",\"optional\":true,\"description\":\"specifies the input data table that contains the terms to exclude from the analysis. These terms are displayed in the OUTTERMS= data table with a keep status of N if the SHOWDROPPEDTERMS option is specified. The terms are not identified as parents or children. The STOP= data table must have a Term variable and can also have a Role variable. You cannot specify both the STOP= and START= options.\",\"help\":\"STOP=*libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"SYNONYM=\",\"optional\":true,\"description\":\"specifies the input data table that contains the terms to exclude from the analysis. These terms are displayed in the OUTTERMS= data table with a keep status of N if the SHOWDROPPEDTERMS option is specified. The terms are not identified as parents or children. The STOP= data table must have a Term variable and can also have a Role variable. You cannot specify both the STOP= and START= options.\",\"help\":\"SYNONYM=*libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"TERMWGT=\",\"optional\":true,\"description\":\"specifies how terms are weighted. You can specify the following values:\",\"help\":\"TERMWGT=ENTROPY | MI | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ENTROPY\",\"description\":\"uses the entropy formulation to weight terms.\",\"type\":\"standalone\"},{\"name\":\"MI\",\"description\":\"uses the mutual information formulation to weight terms (you must also specify the TARGET statement).\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"requests that no term weight be applied.\",\"type\":\"standalone\"}]}]},{\"name\":\"SAVESTATE\",\"description\":\"The SAVESTATE statement saves a text mining model to a binary object that is contained in a data table. The object is referred to as the analytic store and contains the necessary information for scoring a text mining model by using the ASTORE procedure. Only complete text models that consist of both parsing and document projections can be saved to the analytic store by PROC TEXTMINE.\",\"help\":\"SAVESTATE  RSTORE=*libref.data-table*;\",\"arguments\":[{\"name\":\"RSTORE=\",\"description\":\"specifies a data table in which to save the text mining model.\",\"help\":\"RSTORE=*libref.data-table*\",\"type\":\"dataSet\"}]},{\"name\":\"SELECT\",\"description\":\"The SELECT statement enables you to specify the parts of speech or entities or attributes that you want to include in or exclude from your analysis. Exclusion by the SELECT statement is different from exclusion that is indicated by the _keep variable in the OUTTERMS= data table. Terms that are excluded by the SELECT statement cannot be included in the OUTTERMS= data table, whereas terms that have a _keep value of N can be included in the OUTTERMS= data table if the SHOWDROPPEDTERMS option is specified. Terms that are excluded by the SELECT statement are excluded from the OUTPOS= data table, but terms that have a _keep value of N are included in the OUTPOS= data table.\",\"help\":\"SELECT *label-list*&lt;GROUP=*group-option*&gt;*KEEP|IGNORE*;\",\"arguments\":[{\"name\":\"label-list\",\"placeholder\":true,\"description\":\"specifies one or more labels that are parts of speech, entities, or attributes. Each label must be enclosed in double quotation marks and separated by spaces from other labels. Labels are not case-sensitive. Terms that have these labels are either ignored during parsing (when the IGNORE option is specified) or kept in the parsing results in the OUTPOS= and OUTTERMS= data tables (when the KEEP option is specified).\",\"type\":\"value\"},{\"name\":\"IGNORE\",\"description\":\"ignores during parsing all terms whose labels are specified in the label-list, but keeps all other terms in the parsing results (in the OUTPOS= and OUTTERMS= data tables).\",\"type\":\"standalone\"},{\"name\":\"KEEP\",\"description\":\"keeps in the parsing results (in the OUTPOS= and OUTTERMS= data tables) only the terms whose labels are specified in the label-list.\",\"type\":\"standalone\"},{\"name\":\"GROUP=\",\"optional\":true,\"description\":\"specifies whether the labels are attributes, entities, or parts of speech. The group type must be enclosed in double quotation marks and is not case-sensitive. All labels that are specified in the label-list in the same SELECT statement should belong to the specified group. If you need to select labels from more than one group, you can use multiple SELECT statements (one for each group that you need to select from). You cannot specify multiple SELECT statements for the same group. By default, Num and Punct in the \\\"ATTRIBUTES\\\" group are ignored, but this default is overridden by a SELECT statement that specifies GROUP=\\\"ATTRIBUTES\\\". By default, GROUP=\\\"POS\\\".\",\"help\":\"GROUP=\\\"ATTRIBUTES\\\" | \\\"ENTITIES\\\" | \\\"POS\\\"\",\"type\":\"choice\",\"arguments\":[{\"name\":\"\\\"ATTRIBUTES\\\"\",\"type\":\"standalone\"},{\"name\":\"\\\"ENTITIES\\\"\",\"type\":\"standalone\"},{\"name\":\"\\\"POS\\\"\",\"type\":\"standalone\"}]}]},{\"name\":\"SPELLCHECK\",\"description\":\"The SPELLCHECK statement specifies the options for learning misspelled terms and their corrections. The misspelled term is considered the child term, and its correction is referred to as its parent term. Candidate misspelled terms occur rarely in the collection. The predicted, correctly spelled term must be similar in spelling to the incorrect child and must also occur frequently.\",\"help\":\"SPELLCHECK &lt;DICTTABLE=*libref.data-table* DIFFROLE MAXCHILDREN=*n* MAXSPELLDIST=*n* MINPARENTS=*n*&gt;;\",\"arguments\":[{\"name\":\"DICTTABLE=\",\"optional\":true,\"description\":\"specifies a data table to use as a dictionary. The SPELLCHECK statement assumes that all terms in this table are spelled correctly. This table must contain a column named _term_ that holds the terms whose spelling will not be corrected.\",\"help\":\"DICTTABLE=*libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"DIFFROLE\",\"optional\":true,\"description\":\"specifies that a misspelled term can be corrected to a term whose part of speech differs. When you omit this option, terms are compared only if they are the same part of speech.\",\"type\":\"standalone\"},{\"name\":\"MAXCHILDREN=\",\"optional\":true,\"description\":\"specifies the maximum number of documents that a term can appear in and still be considered a child term. A child term identifies a predicted misspelled term whose correction is the parent term that is assigned to it. If the number of documents that contain a term is greater than n, the term is not treated as a misspelled term candidate, and the SPELLCHECK statement does not correct it. By default, MAXCHILDREN=6.\",\"help\":\"MAXCHILDREN=*n*\",\"type\":\"value\"},{\"name\":\"MAXSPELLDIST=\",\"optional\":true,\"description\":\"specifies the maximum allowable spelling edit distance between a term that is considered misspelled and the term that is considered its correction. The SPELLCHECK statement computes the distance between a misspelled term candidate and a correct term candidate. The shorter the distance, the greater the possibility that the misspelled term is changed to match the correctly spelled term. By default, MAXSPELLDIST=15.\",\"help\":\"MAXSPELLDIST=*n*\",\"type\":\"value\"},{\"name\":\"MINPARENTS=\",\"optional\":true,\"description\":\"specifies the minimum number of documents that a term must appear in to be considered a parent term. A parent term represents the predicted correction of its child term. If the number of documents that contain a term is less than n, the term is not treated as a correctly spelled term candidate. By default, MINPARENTS=3.\",\"help\":\"MINPARENTS=*n*\",\"type\":\"value\"}]},{\"name\":\"SVD\",\"description\":\"The SVD statement specifies the options for calculating a truncated singular value decomposition (SVD) of the large, sparse term-by-document matrix that is created during the parsing phase of PROC TEXTMINE.\",\"help\":\"SVD &lt;COL=*variable* ENTRY=*variable* ROW=*variable* K=*k* MAX_K=*n* RESOLUTION=*LOW|MED|HIGH* TOL=*epsilon* EXACTWEIGHT IN_TERMS=*libref.data-table* NOCUTOFFS NUMLABELS=*n* ROTATION=*PROMAX|VARIMAX* OUTDOCPRO=*libref.data-table* OUTTOPICS=*libref.data-table* OUTWORDPRO=*libref.data-table* SVDS=*libref.data-table* SVDU=*libref.data-table* SVDV=*libref.data-table*&gt;;\",\"arguments\":[{\"name\":\"COL=\",\"optional\":true,\"description\":\"specifies the variable that contains the column indices of the term-by-document matrix. You must specify this option when you run PROC TEXTMINE in SVD-only mode (that is, when you specify the SVD statement but not the PARSE statement).\",\"help\":\"COL=*variable*\",\"type\":\"value\"},{\"name\":\"ENTRY=\",\"optional\":true,\"description\":\"specifies the variable that contains the entries of the term-by-document matrix. You must specify this option when you run PROC TEXTMINE in SVD-only mode (that is, when you specify the SVD statement but not the PARSE statement).\",\"help\":\"ENTRY=*variable*\",\"type\":\"value\"},{\"name\":\"EXACTWEIGHT\",\"optional\":true,\"description\":\"specifies that the weights aggregated during topic derivation not be rounded. By default, the calculated weights are rounded to the nearest 0.001.\",\"type\":\"standalone\"},{\"name\":\"IN_TERMS=\",\"optional\":true,\"description\":\"specifies the input data table that contains information about the terms in the document collection. This data table should contain the following variables: Term, Role, Attribute, Freq, Numdocs, _keep, Key, Parent, Parent_id, _ispar, Weight. The terms are required to generate topic names in the OUTTOPICS= data table. This option is only for topic discovery in SVD-only mode. This option conflicts with the PARSE statement, and only one of the two can be specified. If you want to run SVD-only mode without topic discovery, then you can omit this option.\",\"help\":\"IN_TERMS=*libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"K=\",\"optional\":true,\"description\":\"specifies the number of columns in the matrices U, V, and S. This value is the number of dimensions of the data table after SVD is performed. If the value of k is too large, then PROC TEXTMINE runs for an unnecessarily long time. This option takes precedence over the MAX_K= option. This option also controls the number of topics that are extracted from the text corpus when the ROTATION= option is specified.\",\"help\":\"K=*k*\",\"type\":\"value\"},{\"name\":\"MAX_K=\",\"optional\":true,\"description\":\"specifies the maximum value that PROC TEXTMINE should return as the recommended value of k (the number of columns in the matrices U, V, and S) when the RESOLUTION= option is specified (to recommend the value of k). PROC TEXTMINE attempts to calculate k dimensions (as opposed to recommending it) when it performs SVD. This option is ignored if the K= option is specified. This option also controls the number of topics that are extracted from the text corpus when the ROTATION= option is specified.\",\"help\":\"MAX_K=*n*\",\"type\":\"value\"},{\"name\":\"NOCUTOFFS\",\"optional\":true,\"description\":\"uses all weights in the U matrix to form the document projections. When topics are requested, weights below the term cutoff (as calculated in the OUTTOPICS= data table) are set to 0 before the projection is formed.\",\"type\":\"standalone\"},{\"name\":\"NUMLABELS=\",\"optional\":true,\"description\":\"specifies the number of terms to use in the descriptive label for each topic. The descriptive label provides a brief synopsis of the discovered topics. The labels are stored in the OUTTOPICS= data table. By default, NUMLABELS=5.\",\"help\":\"NUMLABELS=*n*\",\"type\":\"value\"},{\"name\":\"OUTDOCPRO=\",\"optional\":true,\"description\":\"specifies the output data table to contain the projections (embeddings) of the columns of the term-by-document matrix by using the columns of U. Because each column of the term-by-document matrix corresponds to a document, the output forms a new representation of the input documents in a space that has much lower dimensionality. You can copy the variables from the data table that is specified in the DATA= option in the PROC TEXTMINE statement to the data table that is specified in this option. You can also specify the following suboptions:\",\"help\":\"OUTDOCPRO=*libref.data-table* &lt;KEEPVARIABLES=*variable-list* NONORMDOC&gt;\",\"type\":\"dataSet\",\"arguments\":[{\"name\":\"KEEPVARIABLES=\",\"description\":\"attaches the content of the variables that are specified in the variable-list to the output. These variables must appear in the data table that is specified in the DATA= option in the PROC TEXTMINE statement.\",\"help\":\"KEEPVARIABLES=*variable-list*\",\"type\":\"value\"},{\"name\":\"KEEPVARS=\",\"description\":\"attaches the content of the variables that are specified in the variable-list to the output. These variables must appear in the data table that is specified in the DATA= option in the PROC TEXTMINE statement.\",\"help\":\"KEEPVARS=*variable-list*\",\"type\":\"value\"},{\"name\":\"NONORMDOC\",\"description\":\"suppresses normalization of the columns that contain the projections of documents to have a unit norm.\",\"type\":\"standalone\"}]},{\"name\":\"OUTTOPICS=\",\"optional\":true,\"description\":\"specifies the output data table to contain the topics that are discovered.\",\"help\":\"OUTTOPICS=*libref.data-table* \",\"type\":\"dataSet\"},{\"name\":\"OUTWORDPRO=\",\"optional\":true,\"description\":\"specifies the output data table to contain the word projections (embeddings) of the rows of the term-by-document matrix by using the columns of V.\",\"help\":\"OUTWORDPRO=*libref.data-table* \",\"type\":\"dataSet\"},{\"name\":\"RESOLUTION=\",\"optional\":true,\"description\":\"specifies how to calculate the recommended number of dimensions (resolution) for the singular value decomposition (SVD). By default, RESOLUTION=HIGH. If you specify this option, you must also specify the MAX_K= option. A low-resolution SVD returns fewer dimensions than a high-resolution SVD. This option recommends the value of k (the number of columns in the matrices U, V, and S) heuristically based on the value that you specify in the MAX_K= option. Assume that the MAX_K= option is set to n and an SVD that has n dimensions accounts for t% of the total variance. You can specify the following values:\",\"help\":\"RESOLUTION=LOW | MED | HIGH\",\"type\":\"choice\",\"arguments\":[{\"name\":\"LOW\",\"description\":\"recommends a k that explains (2/3) * t% of the total variance.\",\"type\":\"standalone\"},{\"name\":\"MED\",\"description\":\"recommends a k that explains (5/6) * t% of the total variance.\",\"type\":\"standalone\"},{\"name\":\"HIGH\",\"description\":\"always recommends the maximum number of dimensions; that is, k=n.\",\"type\":\"standalone\"}]},{\"name\":\"ROTATION=\",\"optional\":true,\"description\":\"specifies the type of rotation to be used in order to maximize the explanatory power of each topic. By default, ROTATION=VARIMAX. You can specify the following values:\",\"help\":\"ROTATION=PROMAX | VARIMAX\",\"type\":\"choice\",\"arguments\":[{\"name\":\"PROMAX\",\"description\":\"uses an oblique rotation on the original left-singular vectors and generates topics that might be correlated.\",\"type\":\"standalone\"},{\"name\":\"VARIMAX\",\"description\":\"uses an orthogonal rotation on the original left-singular vectors and generates uncorrelated topics.\",\"type\":\"standalone\"}]},{\"name\":\"ROW=\",\"optional\":true,\"description\":\"specifies the variable that contains the row indices of the term-by-document matrix. You must specify this option when you run PROC TEXTMINE in SVD-only mode (that is, when you specify the SVD statement but not the PARSE statement).\",\"help\":\"ROW=*variable*\",\"type\":\"value\"},{\"name\":\"SVDS=\",\"optional\":true,\"description\":\"specifies the output data table to contain the calculated singular values.\",\"help\":\"SVDS=*libref.data-table* \",\"type\":\"dataSet\"},{\"name\":\"SVDU=\",\"optional\":true,\"description\":\"specifies the data table to contain the calculated left-singular vectors.\",\"help\":\"SVDU=*libref.data-table* \",\"type\":\"dataSet\"},{\"name\":\"SVDV=\",\"optional\":true,\"description\":\"specifies the data table to contain the calculated right-singular vectors.\",\"help\":\"SVDV=*libref.data-table* \",\"type\":\"dataSet\"},{\"name\":\"TOL=\",\"optional\":true,\"description\":\"specifies the maximum allowable tolerance for the singular value. The default value of epsilon is 10^-6, which is more than adequate for most text mining problems.\",\"help\":\"TOL=*epsilon* \",\"type\":\"value\"}]},{\"name\":\"TARGET\",\"description\":\"The TARGET statement specifies the variable that contains the information about the category that a document belongs to. The target variable can be any nominal or ordinal variable; it is used in calculating mutual information term weighting.\",\"help\":\"TARGET *variable*;\"},{\"name\":\"VARIABLES\",\"description\":\"The VARIABLES statement specifies the variable that contains the text to be processed.\",\"help\":\"VARIABLES *variable*;\"}],\"supportSiteInformation\":{\"docsetId\":\"casml\",\"docsetVersion\":\"latest\",\"docsetTargetFile\":\"casml_textmine_toc.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/TEXTNEARDUP.json",
    "content": "{\"name\":\"TEXTNEARDUP\",\"statements\":[{\"name\":\"PROC TEXTNEARDUP\",\"description\":\"The PROC TEXTNEARDUP statement detects exact- and near-duplicate documents in the input text data.\",\"help\":\" PROC TEXTNEARDUP DATA=libref.data-table ; \\t\\t\\t\\t\\t\\t\\n\\tID variable;\\n\\n\\tINPUT variable;\\t\\t \\t\\t\\t\\t\\t\\t\\t \\t\\t\\t\\t\\n\\n\\t OUTPUT  OUT=libref.data-table; \\n\",\"arguments\":[{\"name\":\"DATA=\",\"description\":\"specifies the input table that contains the text data.\",\"help\":\" DATA=libref.data-table\\n\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"n1fh9b40qg1ihan11its4v4ov0nh\"},{\"name\":\"STEP=\",\"optional\":true,\"description\":\"specifies the interval value, which ranges from 1 to 5, to use as the step size for selecting neighboring characters after the target character in a given string. By default, STEP=2.\",\"help\":\"STEP=*int*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1nfwxbea080gkn1i60cc80dvonu\"},{\"name\":\"THRESHOLD=\",\"optional\":true,\"description\":\"specifies the value, which ranges from 0 (exclusive) to 1, that represents the threshold for the matrix similarity between two documents. By default, THRESHOLD=0.8.\",\"help\":\"THRESHOLD=*double*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p15z0rix9y4yiwn16og455ako6yp\"}],\"supportSiteTargetFile\":\"n093zs5wdhyenqn1628hsvzq31e1.htm\"},{\"name\":\"ID\",\"description\":\"The ID statement specifies the variable that contains the ID of each document. This statement is required.\",\"help\":\"ID *variable*;\",\"arguments\":[{\"name\":\"variable\",\"placeholder\":true,\"description\":\"specifies the variable that contains the ID of each document.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0rj0u1hogfgapn179uu2fh80apn\"}],\"supportSiteTargetFile\":\"p0os0qq40cjjh2n1i09cfro8br5p.htm\"},{\"name\":\"INPUT\",\"description\":\"The INPUT statement specifies the variable that contains the text documents to be processed. This statement is required.\",\"help\":\"INPUT *variable*;\",\"arguments\":[{\"name\":\"variable\",\"placeholder\":true,\"description\":\"specifies the variable that contains the text documents to be processed.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0auprgxyru2w9n16eu9308t3s4l\"}],\"supportSiteTargetFile\":\"p1f1anzr3fsnhxn1jfxp6txfqg46.htm\"},{\"name\":\"OUTPUT\",\"description\":\"The OUTPUT statement specifies the output table to contain the retained text documents. This statement is required.\",\"help\":\"OUTPUT \\t\\t\\t\\t\\t\\t OUT=*libref.data-table* &lt;SCORE=*libref.data-table*&gt;; \",\"arguments\":[{\"name\":\"OUT=\",\"description\":\"specifies the output table that contains the retained documents after the removal of exact-duplicate documents and near-duplicate documents with the columns of the input table.\",\"help\":\"OUT=*libref.data-table*\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"p048pgac4snjwyn1fu95n22l19cs\"},{\"name\":\"SCORE=\",\"optional\":true,\"description\":\"specifies the output table that contains document IDs, group IDs, and similarity scores.\",\"help\":\"SCORE=*libref.data-table*\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"n1blel2awnj6eqn1f5a2jjvbdw05\"}],\"supportSiteTargetFile\":\"p1n82cy35zwqt0n1g1xtwbazurjs.htm\"}],\"supportSiteInformation\":{\"docsetId\":\"casvtaproc\",\"docsetVersion\":\"v_002\",\"docsetTargetFile\":\"n03tt623tatt2an14b8nt1cvbte5.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/TEXTPROFILE.json",
    "content": "{\"name\":\"TEXTPROFILE\",\"statements\":[{\"name\":\"PROC TEXTPROFILE\",\"description\":\"The TEXTPROFILE procedure describes statistical characteristics of textual data in order to provide a profile of a data set and enable comparisons between data sets. This procedure can enable you to make good decisions about cleaning or filtering text data sets. It can help you decide what models to use with the data. You can also use this procedure to detect patterns such as bias in the data.\",\"help\":\"PROC TEXTPROFILE DATA=libref.data-tableDOCUMENT=documentINTERMEDIATE=intermediateLANGUAGE=languageSENTENCES=sentencesTOKENS=tokens ; \\n\\tID variable;\\n\\n\\tINPUT variable;\\n\\n\\tOUTPUT NOREFERENCEOUT=libref.data-table;\\n\",\"arguments\":[{\"name\":\"DATA=\",\"description\":\"names the input data table for PROC TEXTPROFILE to use.\",\"help\":\"DATA=*libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"DOCUMENT=\",\"optional\":true,\"description\":\"specifies the output table that contains statistics about document-level information complexity.\",\"help\":\"DOCUMENT=*document*\",\"type\":\"value\"},{\"name\":\"INTERMEDIATE=\",\"optional\":true,\"description\":\"specifies the output table that contains the token count of each sentence in each document.\",\"help\":\"INTERMEDIATE=*intermediate*\",\"type\":\"value\"},{\"name\":\"LANGUAGE=\",\"optional\":true,\"description\":\"names the language that is used by the documents in the input SAS data table. The languages that the current release supports are Arabic, Chinese, Croatian, Czech, Danish, Dutch, English, Farsi, Finnish, French, German, Greek, Hebrew, Hindi, Hungarian, Indonesian, Italian, Japanese, Kazakh, Korean, Norwegian, Polish, Portuguese, Romanian, Russian, Slovak, Slovene, Spanish, Swedish, Tagalog, Thai, Turkish, and Vietnamese. By default, LANGUAGE=ENGLISH.\",\"help\":\"LANGUAGE=*language*\",\"type\":\"value\"},{\"name\":\"SENTENCES=\",\"optional\":true,\"description\":\"specifies the output table that contains statistics about sentence-level information complexity based on the token count.\",\"help\":\"SENTENCES=*sentences*\",\"type\":\"value\"},{\"name\":\"TOKENS=\",\"optional\":true,\"description\":\"specifies the output table that contains statistics about word-level information density based on the unique tokens. A token is a sequence of characters that are grouped together to represent a single, atomic unit of meaning. Tokens are usually words, but they can also be characters or parts of words.\",\"help\":\"TOKENS=*tokens*\",\"type\":\"value\"}]},{\"name\":\"ID\",\"description\":\"The ID statement specifies the variable that contains the ID of each document. In the input data table, each row corresponds to one document. The ID of each document can be either a number or a string of characters.\",\"help\":\"ID *variable*;\",\"arguments\":[{\"name\":\"variable\",\"placeholder\":true,\"description\":\"names the ID variable.\",\"type\":\"value\"}]},{\"name\":\"INPUT\",\"description\":\"The INPUT statement specifies the variable that contains the text to be processed.\",\"help\":\"INPUT *variable*;\",\"arguments\":[{\"name\":\"variable\",\"placeholder\":true,\"description\":\"names the INPUT variable.\",\"type\":\"value\"}]},{\"name\":\"OUTPUT\",\"description\":\"The OUTPUT statement creates an output data table that contains the generated rules.\",\"help\":\"OUTPUT *NOREFERENCE**OUT=libref.data-table*;\",\"arguments\":[{\"name\":\"NOREFERENCE\",\"optional\":true,\"description\":\"excludes reference statistics in the output. By default, reference statistics are included in the output when you omit this option.\",\"type\":\"standalone\"},{\"name\":\"OUT=\",\"optional\":true,\"description\":\"specifies the output table that contains statistics about information complexity, information density, and vocabulary diversity. libref.data-table is a two-level name, where libref refers to the library, and data-table specifies the name of the output data table.\",\"help\":\"OUT=*libref.data-table*\",\"type\":\"dataSet\"}]}],\"supportSiteInformation\":{\"docsetId\":\"casvta\",\"docsetVersion\":\"latest\",\"docsetTargetFile\":\"casvta_textprofile_toc.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/TEXTRULE.json",
    "content": "{\"name\":\"TEXTRULE\",\"statements\":[{\"name\":\"PROC TEXTRULE\",\"description\":\"The TEXTRULE procedure generates language interpretation for textual information (LITI) concept or fact rules by using annotated data.\",\"help\":\"PROC TEXTRULE DATA=libref.data-tableCUTOFF=nEXCLUDE=libref.data-tableGENERATEFACTLANGUAGE=languageNOPREDEFINEDNERREDUCE=n ; \\n\\tID variable;\\n\\n\\tINPUT END=_end_LABEL=_concept_START=_start_END=TEXT=_sentence_;\\n\\n\\tOUTPUT OUT=libref.data-table;\\n\",\"arguments\":[{\"name\":\"DATA=\",\"description\":\"names the input data table for PROC TEXTRULE to use. The input data table contains annotated sentences. Each row corresponds to one sentence and must contain five variables.\",\"help\":\"DATA=*libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"CUTOFF=\",\"optional\":true,\"description\":\"specifies the maximum number of rules that are returned. By default, CUTOFF=500, which means that PROC TEXTRULE returns the first 500 rules according to their frequency.\",\"help\":\"CUTOFF=*n*\",\"type\":\"value\"},{\"name\":\"EXCLUDE=\",\"optional\":true,\"description\":\"specifies the input table that contains the rules that you want to exclude. libref.data-table is a two-level name, where libref refers to the library, and data-table specifies the name of the input data table.\",\"help\":\"EXCLUDE=*libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"GENERATEFACT\",\"optional\":true,\"description\":\"determines whether to generate the fact rules. When you specify this option, PROC TEXTRULE generates fact rules only. By default, the procedure generates concept rules only.\",\"type\":\"standalone\"},{\"name\":\"LANGUAGE=\",\"optional\":true,\"description\":\"specifies the language that is used in the text variable of the input table. This value is either the name or the two-letter ISO 639-1 language code of a licensed language. If you omit this option, then the default language (English) is used.\",\"help\":\"LANGUAGE=*language*\",\"type\":\"value\"},{\"name\":\"NOPREDEFINEDNER\",\"optional\":true,\"description\":\"determines whether the predefined concepts model should be used to generate concept rules. If you omit this option, the predefined concepts model is used to generate concept rules.\",\"type\":\"standalone\"},{\"name\":\"REDUCE=\",\"optional\":true,\"description\":\"removes the rules from the output table if their frequency is less than n. The value of n must be a positive integer. By default, REDUCE=1, which means that no rule is removed.\",\"help\":\"REDUCE=*n*\",\"type\":\"value\"}]},{\"name\":\"ID\",\"description\":\"The ID statement specifies the variable that contains the IDs of each sentence. This variable can be either a number or a string of characters. It is used to group data for generating fact rules.\",\"help\":\"ID *variable*;\",\"arguments\":[{\"name\":\"variable\",\"placeholder\":true,\"description\":\"names the ID variable.\",\"type\":\"value\"}]},{\"name\":\"INPUT\",\"description\":\"The INPUT statement specifies the options for input variables that contain the annotated data.\",\"help\":\"INPUT *variable*;\",\"arguments\":[{\"name\":\"END=\",\"description\":\"specifies the variable that contains the end position of the tagged term in the sentence. By default, END=_end_.\",\"help\":\"END=*variable*\",\"type\":\"value\"},{\"name\":\"LABEL=\",\"description\":\"specifies the variable that contains the label of tagged terms. The labels are used as concept names in generated rules. By default, LABEL=_concept_.\",\"help\":\"LABEL=*variable*\",\"type\":\"value\"},{\"name\":\"START=\",\"description\":\"specifies the variable that contains the start position of the tagged term in the sentence. By default, START=_start_.\",\"help\":\"START=*variable*\",\"type\":\"value\"},{\"name\":\"TEXT=\",\"description\":\"specifies the variable that contains the text to be processed. This text contains tagged terms. By default, TEXT=_sentence_.\",\"help\":\"TEXT=*variable*\",\"type\":\"value\"}]},{\"name\":\"OUTPUT\",\"description\":\"The OUTPUT statement creates an output data table that contains the generated rules.\",\"help\":\"OUTPUT *OUT=libref.data-table*;\",\"arguments\":[{\"name\":\"OUT=\",\"description\":\"specifies the name of the output data table.\",\"help\":\"OUT=*libref.data-table*\",\"type\":\"dataSet\"}]}],\"supportSiteInformation\":{\"docsetId\":\"casvta\",\"docsetVersion\":\"latest\",\"docsetTargetFile\":\"casvta_textrule_toc.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/TEXTSENTIMENT.json",
    "content": "{\"name\":\"TEXTSENTIMENT\",\"statements\":[{\"name\":\"PROC TEXTSENTIMENT\",\"description\":\"The TEXTSENTIMENT procedure enables you to validate language interpretation for textual information (LITI) syntax and to compile an LI binary from a table of LITI rules. It also enables you to save the compiled model as a table.\",\"help\":\"PROC TEXTSENTIMENT  DATA=libref.data-table<LANGUAGE=language PREDEFINEDSENTIMENT SYNTAXERRORS=libref.data-table>;\\n         ASTORESETTINGS <options>;\\n         ID variable;\\n         INPUT variable;\\n         OUTPUT OUT=libref.data-table <option>;\\n         SAVESTATE RSTORE=libref.data-table;\",\"arguments\":[{\"name\":\"DATA=\",\"description\":\"names the input data table for PROC TEXTSENTIMENT to use that contains the textual LITI rules. The input data table must contain a rule ID variable and a rule variable. The default is the most recently created data table.\",\"help\":\"DATA=*libref.data-table*;\",\"type\":\"dataSet\"},{\"name\":\"LANGUAGE=\",\"optional\":true,\"description\":\"specifies the language to be used for compiling the language-specific LI binary. You can specify the name or two-letter ISO 639-1 language code of a licensed language. By default, LANGUAGE=EN; this specifies the English language.\",\"help\":\"LANGUAGE=*language*\",\"type\":\"value\"},{\"name\":\"PREDEFINEDSENTIMENT\",\"optional\":true,\"description\":\"includes the predefined sentiment model in the LI binary. If you omit this option, the predefined model is not included.\",\"type\":\"standalone\"},{\"name\":\"SYNTAXERRORS=\",\"optional\":true,\"description\":\"specifies the output table to contain the syntax error information about LITI rules. If you omit this option, syntax checking is not performed.\",\"help\":\"SYNTAXERRORS=*libref.data-table*\",\"type\":\"dataSet\"}]},{\"name\":\"ASTORESETTINGS\",\"description\":\"The ASTORESETTINGS statement enables you to configure the category analytic store that you save by using the SAVESTATE statement.\",\"help\":\"ASTORESETTINGS &lt;MATCHTYPE=*ALL|BEST|LONGEST*  MAXCHAR=*integer* OUTPUTMODE=*DATAGRID|DEFAULT* TEXT=\\\"*string*\\\"&gt;;\",\"arguments\":[{\"name\":\"MATCHTYPE=\",\"optional\":true,\"description\":\"specifies which LITI match algorithm to use. By default, MATCHTYPE=LONGEST. You can specify the following algorithms:\",\"help\":\"MATCHTYPE=ALL | BEST | LONGEST\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ALL\",\"description\":\"specifies that overlapping matches are possible.\",\"type\":\"standalone\"},{\"name\":\"BEST\",\"description\":\"specifies that the highest priority of overlapping concept matches is used.\",\"type\":\"standalone\"},{\"name\":\"LONGEST\",\"description\":\"specifies that the longest of any overlapping concept matches is used.\",\"type\":\"standalone\"}]},{\"name\":\"MAXCHAR=\",\"optional\":true,\"description\":\"specifies the length of output character variables while you are scoring the concept analytic store model. By default, MAXCHAR=1024. The minimum value is 9, and the maximum value is 536,870,911.\",\"help\":\"MAXCHAR=*integer*\",\"type\":\"value\"},{\"name\":\"OUTPUTMODE=\",\"optional\":true,\"description\":\"specifies which output tables to generate when the concept analytic store model is scored. You can specify the following values:\",\"help\":\"OUTPUTMODE=DATAGRID | DEFAULT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DATAGRID\",\"description\":\"specifies that the concept analytic store model create one output table that contains sentiment results and concept match results. Each document corresponds to one output row of data grids.\",\"type\":\"standalone\"},{\"name\":\"DEFAULT\",\"description\":\"specifies that the concept analytic store model create two output tables from the input table. The two tables contain sentiment results and concept match results.\",\"type\":\"standalone\"}]},{\"name\":\"TEXT=\",\"optional\":true,\"description\":\"specifies the name of the variable that contains documents for scoring the model. By default, TEXT=\\\"_text_\\\". This is the name of the text variable to be saved in the analytic store model. When the analytic store is used, a procedure requires a table that contains this variable name.\",\"help\":\"TEXT=\\\"*string*\\\"\",\"type\":\"value\"}]},{\"name\":\"ID\",\"description\":\"The ID statement specifies the name of the rule ID variable in the input data table. The value of this variable, which can be of numeric or character type, identifies the rules to be validated.\",\"help\":\"ID *variable*;\"},{\"name\":\"INPUT\",\"description\":\"The INPUT statement specifies the name of the rule variable in the input data table.\",\"help\":\"INPUT *variable*;\"},{\"name\":\"OUTPUT\",\"description\":\"The OUTPUT statement specifies the output table to contain the compiled LI binary.\",\"help\":\"OUTPUT  OUT=*libref.data-table*&lt;COPYVARS=*variable*|(*variables*)&gt;;\",\"arguments\":[{\"name\":\"OUT=\",\"description\":\"specifies the output table to contain the compiled LI binary.\",\"help\":\"OUT=*libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"COPYVARS=\",\"optional\":true,\"description\":\"transfers one or more variables from the input data table to the output data table.\",\"help\":\"COPYVARS=*variable* <br/> COPYVARS=(*variables*)\",\"type\":\"value\"}]},{\"name\":\"SAVESTATE\",\"description\":\"The SAVESTATE statement specifies the output table to contain the compiled sentiment analytic store model.\",\"help\":\"SAVESTATE  RSTORE=*libref.data-table*;\",\"arguments\":[{\"name\":\"RSTORE=\",\"description\":\"specifies the output table to contain the compiled sentiment analytic store model. The analytic store model can be used by PROC ASTORE in a subsequent scoring step. The concept analytic store format does not support LITI models that have rules that use the CLAUS_n operator.\",\"help\":\"RSTORE=*libref.data-table*\",\"type\":\"dataSet\"}]}],\"supportSiteInformation\":{\"docsetId\":\"casvta\",\"docsetVersion\":\"latest\",\"docsetTargetFile\":\"casvta_textsentiment_toc.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/TEXTSENTSCORE.json",
    "content": "{\"name\":\"TEXTSENTSCORE\",\"statements\":[{\"name\":\"PROC TEXTSENTSCORE\",\"description\":\"The TEXTSENTSCORE procedure uses a language interpretation for textual information (LITI) model to score text in an input data table. It creates an output data table that contains a sentiment classification (positive, negative, mixed, or none) and a sentiment score for each document in the input data table. You can use a predefined sentiment model or a custom model that you compile by using the TEXTSENTIMENT procedure.\",\"help\":\"PROC TEXTSENTSCORE  DATA=libref.data-table<INMODEL=libref.data-table> LANGUAGE=language MATCHTYPE=ALL|BEST|LONGEST OUTMATCH=libref.data-table;\\n         ID variable;\\n         INPUT variable;\\n         OUTPUT OUT=libref.data-table <option>;\",\"arguments\":[{\"name\":\"DATA=\",\"description\":\"names the input data table for PROC TEXTSENTSCORE to use. The input data table must contain a document ID and a text variable.\",\"help\":\"DATA=*libref.data-table*;\",\"type\":\"dataSet\"},{\"name\":\"INMODEL=\",\"optional\":true,\"description\":\"specifies a data table that contains a compiled language interpretation for textual information (LITI) model.\",\"help\":\"INMODEL=*libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"LANGUAGE=\",\"optional\":true,\"description\":\"specifies which language’s predefined sentiment model to use. You can specify the name or the two-letter ISO 639-1 language code of a licensed language. By default, LANGUAGE=EN; this specifies the English language.\",\"help\":\"LANGUAGE=*language*\",\"type\":\"value\"},{\"name\":\"MATCHTYPE=\",\"optional\":true,\"description\":\"specifies which LITI match algorithm to use. By default, MATCHTYPE=LONGEST. You can specify the following algorithms:\",\"help\":\"MATCHTYPE=ALL | BEST | LONGEST\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ALL\",\"description\":\"specifies that overlapping matches are possible.\",\"type\":\"standalone\"},{\"name\":\"BEST\",\"description\":\"specifies that the highest priority of overlapping concept matches is used.\",\"type\":\"standalone\"},{\"name\":\"LONGEST\",\"description\":\"specifies that the longest of any overlapping concept matches is used.\",\"type\":\"standalone\"}]},{\"name\":\"OUTMATCH=\",\"optional\":true,\"description\":\"specifies the output data table that contains the results of the concept matching.\",\"help\":\"OUTMATCH=*libref.data-table*\",\"type\":\"dataSet\"}]},{\"name\":\"ID\",\"description\":\"The ID statement specifies the name of the document ID variable in the input data table.\",\"help\":\"ID *variable*;\"},{\"name\":\"INPUT\",\"description\":\"The INPUT statement specifies the name of the text variable in the input data table.\",\"help\":\"INPUT *variable*;\"},{\"name\":\"OUTPUT\",\"description\":\"The OUTPUT statement enables you to create a data table that contains the results of PROC TEXTSENTSCORE.\",\"help\":\"OUTPUT  OUT=*libref.data-table*&lt;COPYVARS=(*variables*)&gt;;\",\"arguments\":[{\"name\":\"OUT=\",\"description\":\"specifies the output data table. The output data table contains a sentiment label column (_sentiment_) and a score column (_score_) for each document.\",\"help\":\"OUT=*libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"COPYVARS=\",\"optional\":true,\"description\":\"specifies the variables from the input data table to copy to the OUT= data table.\",\"help\":\"COPYVARS=(*variables*)\",\"type\":\"value\"}]}],\"supportSiteInformation\":{\"docsetId\":\"casvta\",\"docsetVersion\":\"latest\",\"docsetTargetFile\":\"casvta_textsentscore_toc.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/TEXTSUMMARY.json",
    "content": "{\"name\":\"TEXTSUMMARY\",\"statements\":[{\"name\":\"PROC TEXTSUMMARY\",\"description\":\"The TEXTSUMMARY procedure uses natural language processing (NLP) techniques to summarize a document by selecting representative sentences from within the document to become the summary. This procedure computes a summary for each document in a data set.\",\"help\":\"PROC TEXTSUMMARY <options>;\\n ID variable;\\n INPUT variable;\\n OUTPUT OUT=libref.data-table<option>;\",\"arguments\":[{\"name\":\"DATA=\",\"optional\":true,\"description\":\"names the input data table for PROC TEXTSUMMARY to use that contains the text data to be summarized. The default is the most recently created data table.\",\"help\":\"DATA=*libref.data-table*;\",\"type\":\"dataSet\"},{\"name\":\"ENTITIES\",\"optional\":true,\"description\":\"specifies that predefined concepts and noun groups be used to compute the summarization. By default, predefined concepts and noun groups are not used.\",\"type\":\"standalone\"},{\"name\":\"LANGUAGE=\",\"optional\":true,\"description\":\"specifies the language that is used in the text variable of the input table. You can specify the name or two-letter ISO 639-1 language code of a licensed language. By default, LANGUAGE=EN; this specifies the English language.\",\"help\":\"LANGUAGE=*language*\",\"type\":\"value\"},{\"name\":\"MAXSENTENCES=\",\"optional\":true,\"description\":\"specifies the maximum length of the summary in number of sentences. The value of maxsentences can range from 1 to 32. By default, MAXSENTENCES=5.\",\"help\":\"MAXSENTENCES=*maxsentences*\",\"type\":\"value\"}]},{\"name\":\"ID\",\"description\":\"The ID statement specifies the variable that contains the ID of each document. In the input data table, each row corresponds to one document. The ID of each document can be either a number or a string of characters.\",\"help\":\"ID *variable*;\"},{\"name\":\"INPUT\",\"description\":\"The INPUT statement specifies the variable that contains the text to be processed.\",\"help\":\"INPUT *variable*;\"},{\"name\":\"OUTPUT\",\"description\":\"The OUTPUT statement enables you to control aspects of the output table.\",\"help\":\"OUTPUT  OUT=*libref.data-table*&lt;COPYVARS=*variable*|(*variables*)&gt;;\",\"arguments\":[{\"name\":\"OUT=\",\"description\":\"specifies the output table to contain the summaries from individual documents.\",\"help\":\"OUT=*libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"NOELLIPSES\",\"optional\":true,\"description\":\"eliminates ellipsis points (…) between nonconsecutive sentences in the document summary. By default, ellipsis points are added to the summary to indicate nonconsecutive selected sentences.\",\"type\":\"standalone\"}]}],\"supportSiteInformation\":{\"docsetId\":\"casvta\",\"docsetVersion\":\"latest\",\"docsetTargetFile\":\"casvta_textsummary_toc.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/TIMEID.json",
    "content": "{\"name\":\"TIMEID\",\"statements\":[{\"name\":\"PROC TIMEID\",\"description\":\"The TIMEID procedure evaluates a variable in an input data set for its suitability as a time ID variable in SAS procedures and solutions that are used for time series analysis. PROC TIMEID assesses how well a time interval specification fits SAS date or datetime values, or observation numbers used to index a time series. The time interval used in this analysis can be either specified explicitly as input to PROC TIMEID or inferred by the procedure based on values of the time ID variable. The TIMEID procedure produces diagnostic information in the form of data sets and ODS tabular and plotted output. These diagnostic results summarize characteristics of the time ID variable that can help determine its use as an index in other time series procedures and solutions. † PROC TIMEID is intended for use as a tool to either identify the time interval of a variable or prepare problematic data sets for use in subsequent time series analyses. In particular, this procedure can be used to investigate inconsistencies between time ID values and the ID statement options used in other SAS procedures and solutions.\",\"help\":\"PROC TIMEID <DATA=SAS-data-set><MAXERROR=number><NBYOBS=number><OUTFREQ=SAS-data-set><OUTINTERVAL=SAS-data-set><OUTINTERVALDETAILS=SAS-data-set><PLOT=COUNTS|INTCNTS|INTERVALCOUNTS | OFFSETS | PERIODS|SPANS... ><PRINT=COUNTS|INTCNTS|INTERVALCOUNTS | INTERVAL | OFFSETS... >;     \\n\\tBY variables ; ;\\n\\n\\tID <ALIGN=<BEGINNING|BEG|B | MIDDLE|MID|M | ENDING|END|E>... ><DUPLICATES><FORMAT=format> ...;\\n\",\"arguments\":[{\"name\":\"DATA=\",\"optional\":true,\"description\":\"Names the SAS data set that contains the input data for the procedure. If the DATA= option is not specified, the most recently created SAS data set is used.\",\"help\":\"DATA=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"MAXERROR=\",\"optional\":true,\"description\":\"Limits the number of warning and error messages produced during the execution of the procedure to the specified value. The default is MAXERRORS=50. This option is particularly useful in BY-group processing where it can be used to suppress recurring messages.\",\"help\":\"MAXERROR=*number*\",\"type\":\"value\"},{\"name\":\"NBYOBS=\",\"optional\":true,\"description\":\"Limits the number of observations that are used to analyze the time ID variable. The NBYOBS= option should be used instead of the OBS= data set option when BY variables are specified. The NBYOBS= option excludes observations from incomplete BY groups in the analysis. This option guarantees that any truncation of the DATA= data set occurs at a BY-group boundary. Only BY groups that are completely contained within the first number of observations are processed. When the NBYOBS= option is omitted, all observations are processed.\",\"help\":\"NBYOBS=*number*\",\"type\":\"value\"},{\"name\":\"OUTFREQ=\",\"optional\":true,\"description\":\"Names the output data set to contain the frequency counts of each unique value of the time ID variable. The frequency counts are performed on time ID values that are recorded in the DATA= data set. The time ID values are not aligned with respect to an interval prior to computation of the frequency counts.\",\"help\":\"OUTFREQ=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"OUTINTERVAL=\",\"optional\":true,\"description\":\"Names the output data set to contain the time ID interval information that is summarized across all BY groups in the DATA= data set.\",\"help\":\"OUTINTERVAL=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"OUTINTERVALDETAILS=\",\"optional\":true,\"description\":\"Names the output data set to contain the time ID interval information for each BY group.\",\"help\":\"OUTINTERVALDETAILS=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"PLOT=\",\"optional\":true,\"description\":\"Specifies the graphical output desired. By default, the TIMEID procedure produces no graphical output. The following global-options are available:\",\"help\":\"PLOT=COUNTS | OFFSETS | PERIODS | VALUES | ALL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"COUNTS\",\"aliases\":[\"INTCNTS\",\"INTERVALCOUNTS\"],\"description\":\"Plots a histogram of the time ID interval counts.\",\"type\":\"standalone\"},{\"name\":\"OFFSETS\",\"description\":\"Plots a histogram of the time offsets for the time ID values.\",\"type\":\"standalone\"},{\"name\":\"PERIODS\",\"aliases\":[\"SPANS\"],\"description\":\"Plots a histogram of the spans between adjacent time ID values.\",\"type\":\"standalone\"},{\"name\":\"VALUES\",\"description\":\"Plots a panel of the counts, offsets, and spans for each of the time ID values.\",\"type\":\"standalone\"},{\"name\":\"ALL\",\"description\":\"Is equivalent to specifying PLOT=(INTERVALCOUNTS SPANS OFFSETS VALUES).\",\"type\":\"standalone\"}]},{\"name\":\"PRINT=\",\"optional\":true,\"description\":\"Specifies the printed output desired. By default, the TIMEID procedure produces no printed output.\",\"help\":\"PRINT=COUNTS | INTERVAL | OFFSETS | PERIODS | VALUES | ALL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"COUNTS\",\"aliases\":[\"INTCNTS\",\"INTERVALCOUNTS\"],\"description\":\"Prints a table that contains the counts of time ID values per interval.\",\"type\":\"standalone\"},{\"name\":\"INTERVAL\",\"description\":\"Prints a summary of information about the time interval.\",\"type\":\"standalone\"},{\"name\":\"OFFSETS\",\"description\":\"Prints a table that contains the time offsets for the time ID values.\",\"type\":\"standalone\"},{\"name\":\"PERIODS\",\"aliases\":[\"SPANS\"],\"description\":\"Prints tables that contain statistics on the spans between adjacent time ID values.\",\"type\":\"standalone\"},{\"name\":\"VALUES\",\"description\":\"Prints tables that contain offset span and count information for the time ID values.\",\"type\":\"standalone\"},{\"name\":\"ALL\",\"description\":\"Is equivalent to specifying PRINT=(INTERVALCOUNTS SPANS INTERVAL OFFSETS VALUES).\",\"type\":\"standalone\"}]}]},{\"name\":\"BY\",\"description\":\"A BY statement can be used with PROC TIMEID to obtain separate analyses for groups of observations defined by the BY variables.\",\"help\":\"BY variables ; \"},{\"name\":\"ID\",\"description\":\"The ID statement names a numeric variable that identifies observations in the input and output data sets. The ID variable’s values are assumed to be SAS date or datetime values. The ID statement options specify how the time ID values are spaced and aligned relative to a SAS date or datetime interval. The INTERVAL= option specifies the fundamental spacing that is used as the basis for counting intervals, offsets, and spans in the data. Specification of the ID variable in an ID statement is required.\",\"help\":\"ID &lt;ALIGN=&lt;BEGINNING|BEG|B | MIDDLE|MID|M | ENDING|END|E&gt;... &gt;&lt;DUPLICATES&gt;&lt;FORMAT=format&gt; ...\",\"arguments\":[{\"name\":\"ALIGN=\",\"optional\":true,\"description\":\"Specifies the alignment of the identifying SAS date or datetime that is used to represent intervals. The value of the ALIGN= option is used in the analysis of the time ID variable.\",\"help\":\"ALIGN=BEGINNING|BEG|B | MIDDLE|MID|M | ENDING|END|E | INFER*alignment*\",\"type\":\"value\",\"arguments\":[{\"name\":\"BEGINNING\",\"aliases\":[\"BEG\",\"B\"],\"description\":\"Specifies that the identifying date for the interval is the beginning date in the interval.\",\"type\":\"standalone\"},{\"name\":\"MIDDLE\",\"aliases\":[\"MID\",\"M\"],\"description\":\"Specifies that the identifying date for the interval is the middle date in the interval.\",\"type\":\"standalone\"},{\"name\":\"ENDING\",\"aliases\":[\"END\",\"E\"],\"description\":\"Specifies that the identifying date for the interval is the ending date in the interval.\",\"type\":\"standalone\"},{\"name\":\"INFER\",\"description\":\"Specifies that the alignment of values within time intervals be inferred from the time ID values.\",\"type\":\"standalone\"}]},{\"name\":\"DUPLICATES\",\"optional\":true,\"description\":\"Specifies that multiple observations in the DATA= data set can fall within the same time interval as defined by the time ID variable. When this option is omitted and multiple time ID values are encountered in a single time interval, error messages are written to the SAS log.\",\"type\":\"standalone\"},{\"name\":\"FORMAT=\",\"optional\":true,\"description\":\"Specifies the SAS format used for time ID values in the data sets and in printed and plotted output that is generated by PROC TIMEID. If the FORMAT= option is not specified, the format applied to the input time ID variable is used. If neither of these formats is specified, the format is inferred from the INTERVAL= option.\",\"help\":\"FORMAT=*format*\",\"type\":\"value\"},{\"name\":\"INTERVAL=\",\"optional\":true,\"description\":\"Specifies the proposed time interval and shift that describe the time ID values in the input data set.\",\"help\":\"INTERVAL=DAY | HOUR | MINUTE | SECOND | WEEK | MONTH | YEAR | QTR | TENDAY | SEMIMONTH | SEMIYEAR | WEEKDAY | YEARV | R445YR | R454YR | R544YR | R445QTR | R454QTR | R544QTR | R445MON | R454MON | R544MON | WEEKV*interval*\",\"type\":\"value\",\"arguments\":[{\"name\":\"DAY\",\"description\":\"Specifies daily intervals. Abbreviations are DAY, DAYS, and DAILY. The starting subperiod s is in days (DAY).\",\"type\":\"standalone\"},{\"name\":\"HOUR\",\"description\":\"Specifies hourly intervals. Aliases are HOUR, DTHOUR, HOURS, DTHOURS, HOURLY, DTHOURLY, HR, and DTHR. The starting subperiod s is in hours (HOUR).\",\"type\":\"standalone\"},{\"name\":\"MINUTE\",\"description\":\"Specifies minute intervals. Aliases are MINUTE, DTMINUTE, MINUTES, DTMINUTES, MIN, and DTMIN. The starting subperiod s is in minutes (MINUTE).\",\"type\":\"standalone\"},{\"name\":\"SECOND\",\"description\":\"Specifies second intervals. Aliases are SECOND, DTSECOND, SECONDS, DTSECONDS, SEC and DTSEC. The starting subperiod s is in seconds (SECOND).\",\"type\":\"standalone\"},{\"name\":\"WEEK\",\"description\":\"Specifies weekly intervals of seven days. Abbreviations are WEEK, WEEKS, and WEEKLY. The starting subperiod s is in days (DAY), with the days of the week numbered as 1=Sunday, 2=Monday, 3=Tuesday, 4=Wednesday, 5=Thursday, 6=Friday, and 7=Saturday. For example, WEEK.7 means weekly with Saturday as the first day of the week.\",\"type\":\"standalone\"},{\"name\":\"MONTH\",\"description\":\"Specifies monthly intervals. Abbreviations are MONTH, MONTHS, MONTHLY, and MON. The starting subperiod s is in months (MONTH). For example, MONTH2.2 intervals are February– March, April–May, June–July, August–September, October–November, and December–January of the following year.\",\"type\":\"standalone\"},{\"name\":\"YEAR\",\"description\":\"Specifies yearly intervals. Abbreviations are YEAR, YEARS, YEARLY, YR, ANNUAL, A NNUALLY, and ANNUALS. The starting subperiod s is in months (MONTH).\",\"type\":\"standalone\"},{\"name\":\"QTR\",\"description\":\"Specifies quarterly intervals (every three months). Abbreviations are QTR, QUARTER, QUARTERS, QUARTERLY, QTRLY, and QTRS. The starting subperiod s is in months (MONTH).\",\"type\":\"standalone\"},{\"name\":\"TENDAY\",\"description\":\"Specifies 10-day intervals. TENDAY breaks the month into three periods, the 1st through the 10th day of the month, the th through the th day of the month, and the remainder of the month. (TENDAY is a special interval typically used for reporting automobile sales data.) The starting subperiod s is in TENDAY periods.\",\"type\":\"standalone\"},{\"name\":\"SEMIMONTH\",\"description\":\"Specifies semimonthly intervals. SEMIMONTH breaks each month into two periods, starting on the st and th days. Abbreviations are SEMIMONTH, SEMIMONTHS, SEMIMONTHLY, and SEMIMON. The starting subperiod s is in SEMIMONTH periods.\",\"type\":\"standalone\"},{\"name\":\"SEMIYEAR\",\"description\":\"Specifies semiannual intervals (every six months). Abbreviations are SEMIYEAR, SEMIYEARS, SEMIYEARLY, SEMIYR, SEMIANNUAL, and SEMIANN. The starting subperiod s is in months (MONTH).\",\"type\":\"standalone\"},{\"name\":\"WEEKDAY\",\"description\":\"Specifies daily intervals with weekend days included in the preceding weekday. Note that for a five-day work week that starts on Monday, the appropriate interval is WEEKDAY5.2. Abbreviations are WEEKDAY and WEEKDAYS. The starting subperiod s is in weekdays (WEEKDAY).\",\"type\":\"standalone\"},{\"name\":\"YEARV\",\"description\":\"Specifies ISO 8601 yearly intervals. The ISO 8601 year starts on the Monday on or immediately preceding January th. Note that it is possible for the ISO 8601 year to start in December of the preceding year. Also, some ISO 8601 years contain a leap week.\",\"type\":\"standalone\"},{\"name\":\"R445YR\",\"description\":\"Is the same as YEARV except that the starting subperiod s is in retail 4-4-5 months (R445MON).\",\"type\":\"standalone\"},{\"name\":\"R454YR\",\"description\":\"Is the same as YEARV except that the starting subperiod s is in retail 4-5-4 months (R454MON).\",\"type\":\"standalone\"},{\"name\":\"R544YR\",\"description\":\"Is the same as YEARV except that the starting subperiod s is in retail 5-4-4 months (R544MON).\",\"type\":\"standalone\"},{\"name\":\"R445QTR\",\"description\":\"Specifies retail 4-4-5 quarterly intervals (every 13 ISO 8601 weeks). Some fourth quarters contain a leap week. The starting subperiod s is in retail 4-4-5 months (R445MON).\",\"type\":\"standalone\"},{\"name\":\"R454QTR\",\"description\":\"Specifies retail 4-5-4 quarterly intervals (every 13 ISO 8601 weeks). Some fourth quarters contain a leap week.\",\"type\":\"standalone\"},{\"name\":\"R544QTR\",\"description\":\"Specifies retail 5-4-4 quarterly intervals (every 13 ISO 8601 weeks). Some fourth quarters contain a leap week. The starting subperiod s is in retail 5-4-4 months (R544MON).\",\"type\":\"standalone\"},{\"name\":\"R445MON\",\"description\":\"Specifies retail 4-4-5 monthly intervals. The 3rd, 6th, 9th, and 12th months are five ISO 8601 weeks long with the exception that some th months contain leap weeks. All other months are four ISO 8601 weeks long. R445MON intervals begin with the 1st, 5th, 9th, 14th, 18th, 22nd, 27th, 31st, 35th, 40th, 44th, and 48th weeks of the ISO year. The starting subperiod s is in retail 4-4-5 months (R445MON).\",\"type\":\"standalone\"},{\"name\":\"R454MON\",\"description\":\"Specifies retail 4-5-4 monthly intervals. The 2nd, 5th, 8th, and 11th months are five ISO 8601 weeks long. All other months are four ISO 8601 weeks long with the exception that some 12th months contain leap weeks. R454MON intervals begin with the 1st, 5th, 10th, 14th, 18th, 23rd, 27th, 31st, 36th, 40th, 44th, and 49th weeks of the ISO year.\",\"type\":\"standalone\"},{\"name\":\"R544MON\",\"description\":\"Specifies retail 5-4-4 monthly intervals. The 1st, 4th, 7th, and 10th months are five ISO 8601 weeks long. All other months are four ISO 8601 weeks long with the exception that some th months contain leap weeks. R544MON intervals begin with the 1st, 6th, 10th, 14th, 19th, 23rd, 27th, 32nd, 36th, 40th, 45th, and 49th weeks of the ISO year. The starting subperiod s is in retail 5-4-4 months (R544MON).\",\"type\":\"standalone\"},{\"name\":\"WEEKV\",\"description\":\"Specifies ISO 8601 weekly intervals of seven days. Each week starts on Monday. The starting subperiod s is in days (DAY). Note that WEEKV differs from WEEK in that WEEKV.1 starts on Monday, WEEKV.2 starts on Tuesday, and so forth.\",\"type\":\"standalone\"}]},{\"name\":\"NOTSORTED\",\"optional\":true,\"description\":\"Specifies that the observations in the DATA= data set are not sorted by the time ID variable. When this option is omitted, error messages are generated for time ID values that are not sorted in ascending order.\",\"type\":\"standalone\"}]}],\"supportSiteInformation\":{\"docsetId\":\"etsug\",\"docsetVersion\":\"latest\",\"docsetTargetFile\":\"etsug_timeid_toc.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/TIMESERIES.json",
    "content": "{\"name\":\"TIMESERIES\",\"statements\":[{\"name\":\"PROC TIMESERIES\",\"description\":\"The TIMESERIES procedure analyzes time-stamped transactional data with respect to time and accumulates the data into a time series format. The procedure can perform trend and seasonal analysis on the transactions. After the transactional data are accumulated, time domain and frequency domain analysis can be performed on the accumulated time series. † Time series analyses performed by the TIMESERIES procedure include: o descriptive (global) statistics o seasonal decomposition/adjustment analysis o correlation analysis o cross-correlation analysis\",\"help\":\"PROC TIMESERIES <CROSSPLOTS=SERIES | CCF | ALL><DATA= SAS-data-set><MAXERROR= number><OUT= SAS-data-set><OUTCORR= SAS-data-set><OUTCROSSCORR= SAS-data-set><OUTDECOMP= SAS-data-set><OUTSEASON= SAS-data-set><OUTSUM= SAS-data-set><OUTTREND= SAS-data-set><PLOTS=SERIES | RESIDUAL | CYCLES... ><PRINT=DECOMP | SEASONS | DESCSTATS... ><PRINTDETAILS><SEASONALITY= number><SORTNAMES>;     \\n\\tBY <DESCENDING><NOTSORTED> ;\\n\\n\\tCORR <LAGS= (numlist)><NLAG= number><NPARMS= number> ...;\\n\\n\\tCROSSCORR <LAGS= (numlist)><NLAG= number><TRANSPOSE=<NO | YES>> ...;\\n\\n\\tCROSSVAR <ACCUMULATE=<NONE | TOTAL | AVERAGE>... ><DIF=( numlist )><SDIF=( numlist )> ...;\\n\\n\\tDECOMP <LAMBDA= number><MODE=<ADD|ADDITIVE | MULT|MULTIPLICATIVE | LOGADD|LOGADDITIVE>... ><NPERIODS= number> ...;\\n\\n\\tID <ACCUMULATE=<NONE | TOTAL | AVERAGE>... ><ALIGN=<BEGINNING | MIDDLE | ENDING>><END=date | datetime> ...;\\n\\n\\tSEASON N NOBS <TRANSPOSE=<NO | YES>> ...;\\n\\n\\tSPECTRA COS FREQ PERIOD ...;\\n\\n\\tSSA <GROUPS=(numlist)...(numlist)><LENGTH=number><NPERIODS=number> ...;\\n\\n\\tTREND NOBS <NPERIODS= number><TRANSPOSE=<NO | YES>> ...;\\n\\n\\tVAR <ACCUMULATE=<NONE | TOTAL | AVERAGE>... ><DIF=( numlist )><SDIF=( numlist )> ...;\\n\",\"arguments\":[{\"name\":\"CROSSPLOTS=\",\"optional\":true,\"description\":\"Specifies the cross-variable graphical output desired. By default, the TIMESERIES procedure produces no graphical output.\",\"help\":\"CROSSPLOTS=SERIES | CCF | ALL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"SERIES\",\"description\":\"Plots the time series (OUT= data set).\",\"type\":\"standalone\"},{\"name\":\"CCF\",\"description\":\"Plots the cross-correlation functions (OUTCROSSCORR= data set).\",\"type\":\"standalone\"},{\"name\":\"ALL\",\"description\":\"Same as PLOTS=(SERIES CCF).\",\"type\":\"standalone\"}]},{\"name\":\"DATA=\",\"optional\":true,\"description\":\"Names the SAS data set that contains the input data for the procedure to create the time series. If the DATA= option is not specified, the most recently created SAS data set is used.\",\"type\":\"value\"},{\"name\":\"MAXERROR=\",\"optional\":true,\"description\":\"Limits the number of warning and error messages that are produced during the execution of the procedure to the specified value. The default is MAXERRORS=50. This option is particularly useful in BY-group processing where it can be used to suppress the recurring messages.\",\"type\":\"value\"},{\"name\":\"OUT=\",\"optional\":true,\"description\":\"Names the output data set to contain the time series variables specified in the subsequent VAR and CROSSVAR statements. If BY variables are specified, they are also included in the OUT= data set. If an ID variable is specified, it is also included in the OUT= data set. The values are accumulated based on the ID statement INTERVAL= or the ACCUMULATE= option or both. The OUT= data set is particularly useful when you want to further analyze, model, or forecast the resulting time series with other SAS/ETS procedures.\",\"type\":\"value\"},{\"name\":\"OUTCORR=\",\"optional\":true,\"description\":\"Names the output data set to contain the univariate time domain statistics.\",\"type\":\"value\"},{\"name\":\"OUTCROSSCORR=\",\"optional\":true,\"description\":\"Names the output data set to contain the cross-correlation statistics.\",\"type\":\"value\"},{\"name\":\"OUTDECOMP=\",\"optional\":true,\"description\":\"Names the output data set to contain the decomposed and/or seasonally adjusted time series.\",\"type\":\"value\"},{\"name\":\"OUTSEASON=\",\"optional\":true,\"description\":\"Names the output data set to contain the seasonal statistics. The statistics are computed for each season as specified by the ID statement INTERVAL= option or the PROC TIMESERIES statement SEASONALITY= option. The OUTSEASON= data set is particularly useful when analyzing transactional data for seasonal variations.\",\"type\":\"value\"},{\"name\":\"OUTSUM=\",\"optional\":true,\"description\":\"Names the output data set to contain the descriptive statistics. The descriptive statistics are based on the accumulated time series when the ACCUMULATE= and/or SETMISSING= options are specified in the ID or VAR statements. The OUTSUM= data set is particularly useful when analyzing large numbers of series and a summary of the results are needed.\",\"type\":\"value\"},{\"name\":\"OUTTREND=\",\"optional\":true,\"description\":\"Names the output data set to contain the trend statistics. The statistics are computed for each time period as specified by the ID statement INTERVAL= option. The OUTTREND= data set is particularly useful when analyzing transactional data for trends.\",\"type\":\"value\"},{\"name\":\"PLOTS=\",\"optional\":true,\"description\":\"Specifies the univariate graphical output desired. By default, the TIMESERIES procedure produces no graphical output.\",\"help\":\"PLOTS=SERIES | RESIDUAL | CYCLES | CORR | ACF | PACF | IACF | WN | DECOMP | TCS | TCC | SIC | SC | SA | PCSA | IC | TC | CC | ALL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"SERIES\",\"description\":\"Plots the time series (OUT= data set).\",\"type\":\"standalone\"},{\"name\":\"RESIDUAL\",\"description\":\"Plots the residual time series (OUT= data set).\",\"type\":\"standalone\"},{\"name\":\"CYCLES\",\"description\":\"Plots the seasonal cycles (OUT= data set).\",\"type\":\"standalone\"},{\"name\":\"CORR\",\"description\":\"Plots the correlation panel (OUTCORR= data set).\",\"type\":\"standalone\"},{\"name\":\"ACF\",\"description\":\"Plots the autocorrelation function (OUTCORR= data set).\",\"type\":\"standalone\"},{\"name\":\"PACF\",\"description\":\"Plots the partial autocorrelation function (OUTCORR= data set).\",\"type\":\"standalone\"},{\"name\":\"IACF\",\"description\":\"Plots the inverse autocorrelation function (OUTCORR= data set).\",\"type\":\"standalone\"},{\"name\":\"WN\",\"description\":\"Plots the white noise probabilities (OUTCORR= data set).\",\"type\":\"standalone\"},{\"name\":\"DECOMP\",\"description\":\"Plots the seasonal adjustment panel (OUTDECOMP= data set).\",\"type\":\"standalone\"},{\"name\":\"TCS\",\"description\":\"Plots the trend-cycle-seasonal component (OUTDECOMP= data set).\",\"type\":\"standalone\"},{\"name\":\"TCC\",\"description\":\"Plots the trend-cycle component (OUTDECOMP= data set).\",\"type\":\"standalone\"},{\"name\":\"SIC\",\"description\":\"Plots the seasonal-irregular component (OUTDECOMP= data set).\",\"type\":\"standalone\"},{\"name\":\"SC\",\"description\":\"Plots the seasonal component (OUTDECOMP= data set).\",\"type\":\"standalone\"},{\"name\":\"SA\",\"description\":\"Plots the seasonal adjusted component (OUTDECOMP= data set).\",\"type\":\"standalone\"},{\"name\":\"PCSA\",\"description\":\"Plots the percent change in the seasonal adjusted component (OUTDECOMP= data set).\",\"type\":\"standalone\"},{\"name\":\"IC\",\"description\":\"Plots the irregular component (OUTDECOMP= data set).\",\"type\":\"standalone\"},{\"name\":\"TC\",\"description\":\"Plots the trend component (OUTDECOMP= data set).\",\"type\":\"standalone\"},{\"name\":\"CC\",\"description\":\"Plots the cycle component (OUTDECOMP= data set).\",\"type\":\"standalone\"},{\"name\":\"ALL\",\"description\":\"Same as PLOTS=(SERIES ACF PACF IACF WN).\",\"type\":\"standalone\"}]},{\"name\":\"PRINT=\",\"optional\":true,\"description\":\"Specifies the printed output desired. By default, the TIMESERIES procedure produces no printed output.\",\"help\":\"PRINT=DECOMP | SEASONS | DESCSTATS | SUMMARY | TRENDS\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DECOMP\",\"description\":\"Prints the seasonal decomposition/adjustment table (OUTDECOMP= data set).\",\"type\":\"standalone\"},{\"name\":\"SEASONS\",\"description\":\"Prints the seasonal statistics table (OUTSEASON= data set).\",\"type\":\"standalone\"},{\"name\":\"DESCSTATS\",\"description\":\"Prints the descriptive statistics for the accumulated time series (OUTSUM= data set).\",\"type\":\"standalone\"},{\"name\":\"SUMMARY\",\"description\":\"Prints the descriptive statistics table for all time series (OUTSUM= data set).\",\"type\":\"standalone\"},{\"name\":\"TRENDS\",\"description\":\"Prints the trend statistics table (OUTTREND= data set).\",\"type\":\"standalone\"}]},{\"name\":\"PRINTDETAILS\",\"optional\":true,\"description\":\"Specifies that output requested with the PRINT= option be printed in greater detail.\",\"type\":\"standalone\"},{\"name\":\"SEASONALITY=\",\"optional\":true,\"description\":\"Specifies the length of the seasonal cycle. For example, SEASONALITY=3 means that every group of three time periods forms a seasonal cycle. By default, the length of the seasonal cycle is one (no seasonality) or the length implied by the INTERVAL= option specified in the ID statement. For example, INTERVAL=MONTH implies that the length of the seasonal cycle is 12.\",\"type\":\"value\"},{\"name\":\"SORTNAMES\",\"optional\":true,\"description\":\"Specifies that the variables specified in the VAR and CROSSVAR statements be processed in sorted order by the variable names. This option allows the output data sets to be presorted by the variable names.\",\"type\":\"standalone\"}]},{\"name\":\"BY\",\"description\":\"Creates a separate table on a separate page for each BY group.\",\"help\":\"BY &lt;DESCENDING&gt;&lt;NOTSORTED&gt;\",\"arguments\":[{\"name\":\"DESCENDING\",\"optional\":true,\"description\":\"Specifies that the observations are sorted in descending order by the variable that immediately follows the word DESCENDING in the BY statement.\",\"type\":\"standalone\"},{\"name\":\"NOTSORTED\",\"optional\":true,\"description\":\"Specifies that observations are not necessarily sorted in alphabetic or numeric order.\",\"type\":\"standalone\"}]},{\"name\":\"CORR\",\"description\":\"A CORR statement can be used with the TIMESERIES procedure to specify options related to time domain analysis of the accumulated time series. Only one CORR statement is allowed.\",\"help\":\"CORR &lt;LAGS= (numlist)&gt;&lt;NLAG= number&gt;&lt;NPARMS= number&gt; ...\",\"arguments\":[{\"name\":\"ACF\",\"description\":\"Autocorrelations\",\"type\":\"standalone\"},{\"name\":\"ACF2STD\",\"description\":\"Two standard errors beyond autocorrelations\",\"type\":\"standalone\"},{\"name\":\"ACFLPROB\",\"description\":\"Autocorrelation log probabilities\",\"type\":\"standalone\"},{\"name\":\"ACFNORM\",\"description\":\"Normalized autocorrelations\",\"type\":\"standalone\"},{\"name\":\"ACFPROB\",\"description\":\"Autocorrelation probabilities\",\"type\":\"standalone\"},{\"name\":\"ACFSTD\",\"description\":\"Autocorrelation standard errors\",\"type\":\"standalone\"},{\"name\":\"ACOV=\",\"description\":\"Autocovariances\",\"type\":\"value\"},{\"name\":\"IACF\",\"description\":\"Inverse autocorrelations\",\"type\":\"standalone\"},{\"name\":\"IACF2STD\",\"description\":\"Two standard errors beyond inverse autocorrelations\",\"type\":\"standalone\"},{\"name\":\"IACFLPROB\",\"description\":\"Inverse autocorrelation probabilities\",\"type\":\"standalone\"},{\"name\":\"IACFNORM\",\"description\":\"Normalized inverse autocorrelations\",\"type\":\"standalone\"},{\"name\":\"IACFSTD\",\"description\":\"Inverse autocorrelation standard errors\",\"type\":\"standalone\"},{\"name\":\"LAG\",\"description\":\"Time lag\",\"type\":\"standalone\"},{\"name\":\"N\",\"description\":\"Number of variance products\",\"type\":\"standalone\"},{\"name\":\"PACF\",\"description\":\"Partial autocorrelations\",\"type\":\"standalone\"},{\"name\":\"PACF2STD\",\"description\":\"Two standard errors beyond partial autocorrelations\",\"type\":\"standalone\"},{\"name\":\"PACFLPROB\",\"description\":\"Partial autocorrelation log probabilities\",\"type\":\"standalone\"},{\"name\":\"PACFNORM\",\"description\":\"Partial normalized autocorrelations\",\"type\":\"standalone\"},{\"name\":\"PACFPROB\",\"description\":\"Partial autocorrelation probabilities\",\"type\":\"standalone\"},{\"name\":\"PACFSTD\",\"description\":\"Partial autocorrelation standard errors\",\"type\":\"standalone\"},{\"name\":\"WN\",\"description\":\"White noise test statistics\",\"type\":\"standalone\"},{\"name\":\"WNLPROB\",\"description\":\"White noise test log probabilities\",\"type\":\"standalone\"},{\"name\":\"WNPROB\",\"description\":\"White noise test probabilities\",\"type\":\"standalone\"},{\"name\":\"LAGS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the list of lags to be stored in OUTCORR= data set or to be plotted. The list of lags must be separated by spaces or commas. For example, LAGS=(1,3) specifies the first then third lag.\",\"type\":\"value\"},{\"name\":\"NLAG=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the number of lags to be stored in the OUTCORR= data set or to be plotted. The default is 24 or three times the length of the seasonal cycle, whichever is smaller. The LAGS= option takes precedence over the NLAG= option.\",\"type\":\"value\"},{\"name\":\"NPARMS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the number of parameters used in the model that created the residual time series. The number of parameters determines the degrees of freedom associated with the Ljung-Box statistics. The default is NPARMS=0. This option is useful when analyzing the residuals of a time series model with the number of parameters specified by NPARMS=number option.\",\"type\":\"value\"},{\"name\":\"TRANSPOSE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies whether the OUTCORR= data set is recorded with the lags as the column names, or with the correlation statistics as the column names.\",\"help\":\"TRANSPOSE=NO | YES\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NO\",\"followsDelimiter\":\"/\",\"description\":\"Specifies that the OUTCORR= data set is recorded with the correlation statistics as the column names. This is the default.\",\"type\":\"standalone\"},{\"name\":\"YES\",\"followsDelimiter\":\"/\",\"description\":\"Specifies that the OUTCORR= data set is recorded with the lags as the column names instead of with the correlation statistics as the column names.\",\"type\":\"standalone\"}]}]},{\"name\":\"CROSSCORR\",\"description\":\"A CROSSCORR statement can be used with the TIMESERIES procedure to specify options that are related to cross-correlation analysis of the accumulated time series. Only one CROSSCORR statement is allowed.\",\"help\":\"CROSSCORR &lt;LAGS= (numlist)&gt;&lt;NLAG= number&gt;&lt;TRANSPOSE=&lt;NO | YES&gt;&gt; ...\",\"arguments\":[{\"name\":\"CCF\",\"description\":\"Cross correlations\",\"type\":\"standalone\"},{\"name\":\"CCF2STD\",\"description\":\"Two standard errors beyond cross-correlations\",\"type\":\"standalone\"},{\"name\":\"CCFLPROB\",\"description\":\"Cross-correlation log probabilities\",\"type\":\"standalone\"},{\"name\":\"CCFNORM\",\"description\":\"Normalized cross-correlations\",\"type\":\"standalone\"},{\"name\":\"CCFPROB\",\"description\":\"Corss-correlation probabilities\",\"type\":\"standalone\"},{\"name\":\"CCFSTD\",\"description\":\"Cross-correlation standard errors\",\"type\":\"standalone\"},{\"name\":\"CCOV\",\"description\":\"Cross covariances\",\"type\":\"standalone\"},{\"name\":\"LAG\",\"description\":\"Time lag\",\"type\":\"standalone\"},{\"name\":\"N\",\"description\":\"Number of variance products\",\"type\":\"standalone\"},{\"name\":\"LAGS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the list of lags to be stored in OUTCROSSCORR= data set or to be plotted. The list of lags must be separated by spaces or commas. For example, LAGS=(1,3) specifies the first then third lag.\",\"type\":\"value\"},{\"name\":\"NLAG=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the number of lags to be stored in the OUTCROSSCORR= data set or to be plotted. The default is 24 or three times the length of the seasonal cycle, whichever is smaller. The LAGS= option takes precedence over the NLAG= option.\",\"type\":\"value\"},{\"name\":\"TRANSPOSE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies whether the OUTCROSSCORR= data set is recorded with the lags as the column names, or with the cross-correlation statistics as the column names.\",\"help\":\"TRANSPOSE=NO | YES\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NO\",\"followsDelimiter\":\"/\",\"description\":\"Specifies that the OUTCROSSCORR= data set is recorded with the cross-correlation statistics as the column names. This is the default.\",\"type\":\"standalone\"},{\"name\":\"YES\",\"followsDelimiter\":\"/\",\"description\":\"Specifies that the OUTCROSSCORR= data set is recorded with the lags as the column names instead of with the cross-correlation statistics as the column names.\",\"type\":\"standalone\"}]}]},{\"name\":\"CROSSVAR\",\"description\":\"The CROSSVAR statement lists the numeric variables in the DATA= data set whose values are to be accumulated to form the time series.\",\"help\":\"CROSSVAR &lt;ACCUMULATE=&lt;NONE | TOTAL | AVERAGE&gt;... &gt;&lt;DIF=( numlist )&gt;&lt;SDIF=( numlist )&gt; ...\",\"arguments\":[{\"name\":\"ACCUMULATE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies how the data set observations are accumulated within each time period. The frequency (width of each time interval) is specified by the INTERVAL= option.\",\"help\":\"ACCUMULATE=NONE | TOTAL | AVERAGE | MINIMUM | MEDIAN | MAXIMUM | N | NMISS | NOBS | FIRST | LAST | STDDEV | CSS | USS\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NONE\",\"followsDelimiter\":\"/\",\"description\":\"No accumulation occurs; the ID variable values must be equally spaced with respect to the frequency. This is the default option.\",\"type\":\"standalone\"},{\"name\":\"TOTAL\",\"followsDelimiter\":\"/\",\"description\":\"Observations are accumulated based on the total sum of their values.\",\"type\":\"standalone\"},{\"name\":\"AVERAGE\",\"followsDelimiter\":\"/\",\"description\":\"Observations are accumulated based on the average of their values.\",\"type\":\"standalone\"},{\"name\":\"MINIMUM\",\"followsDelimiter\":\"/\",\"description\":\"Observations are accumulated based on the minimum of their values.\",\"type\":\"standalone\"},{\"name\":\"MEDIAN\",\"followsDelimiter\":\"/\",\"description\":\"Observations are accumulated based on the median of their values.\",\"type\":\"standalone\"},{\"name\":\"MAXIMUM\",\"followsDelimiter\":\"/\",\"description\":\"Observations are accumulated based on the maximum of their values.\",\"type\":\"standalone\"},{\"name\":\"N\",\"followsDelimiter\":\"/\",\"description\":\"Observations are accumulated based on the number of nonmissing observations.\",\"type\":\"standalone\"},{\"name\":\"NMISS\",\"followsDelimiter\":\"/\",\"description\":\"Observations are accumulated based on the number of missing observations.\",\"type\":\"standalone\"},{\"name\":\"NOBS\",\"followsDelimiter\":\"/\",\"description\":\"Observations are accumulated based on the number of observations.\",\"type\":\"standalone\"},{\"name\":\"FIRST\",\"followsDelimiter\":\"/\",\"description\":\"Observations are accumulated based on the first of their values.\",\"type\":\"standalone\"},{\"name\":\"LAST\",\"followsDelimiter\":\"/\",\"description\":\"Observations are accumulated based on the last of their values.\",\"type\":\"standalone\"},{\"name\":\"STDDEV\",\"followsDelimiter\":\"/\",\"description\":\"Observations are accumulated based on the standard deviation of their values.\",\"type\":\"standalone\"},{\"name\":\"CSS\",\"followsDelimiter\":\"/\",\"description\":\"Observations are accumulated based on the corrected sum of squares of their values.\",\"type\":\"standalone\"},{\"name\":\"USS\",\"followsDelimiter\":\"/\",\"description\":\"Observations are accumulated based on the uncorrected sum of squares of their values.\",\"type\":\"standalone\"}]},{\"name\":\"DIF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the differencing to be applied to the accumulated time series. The list of differencing orders must be separated by spaces or commas. For example, DIF=(1,3) specifies first then third order differencing. Differencing is applied after time series transformation. The TRANSFORM= option is applied before the DIF= option.\",\"type\":\"value\"},{\"name\":\"SDIF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the seasonal differencing to be applied to the accumulated time series. The list of seasonal differencing orders must be separated by spaces or commas. For example, SDIF=(1,3) specifies first then third order seasonal differencing. Differencing is applied after time series transformation. The TRANSFORM= option is applied before the SDIF= option.\",\"type\":\"value\"},{\"name\":\"SETMISSING=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies how missing values (either actual or accumulated) are to be interpreted in the accumulated time series for variables listed in the VAR or CROSSVAR statement.\",\"help\":\"SETMISSING=MISSING | AVERAGE | MINIMUM | MEDIAN | MAXIMUM | FIRST | LAST | PREVIOUS | NEXT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"MISSING\",\"followsDelimiter\":\"/\",\"description\":\"Missing values are set to missing. This is the default option.\",\"type\":\"standalone\"},{\"name\":\"AVERAGE\",\"followsDelimiter\":\"/\",\"description\":\"Missing values are set to the accumulated average value.\",\"type\":\"standalone\"},{\"name\":\"MINIMUM\",\"followsDelimiter\":\"/\",\"description\":\"Missing values are set to the accumulated minimum value.\",\"type\":\"standalone\"},{\"name\":\"MEDIAN\",\"followsDelimiter\":\"/\",\"description\":\"Missing values are set to the accumulated median value.\",\"type\":\"standalone\"},{\"name\":\"MAXIMUM\",\"followsDelimiter\":\"/\",\"description\":\"Missing values are set to the accumulated maximum value.\",\"type\":\"standalone\"},{\"name\":\"FIRST\",\"followsDelimiter\":\"/\",\"description\":\"Missing values are set to the accumulated first nonmissing value.\",\"type\":\"standalone\"},{\"name\":\"LAST\",\"followsDelimiter\":\"/\",\"description\":\"Missing values are set to the accumulated last nonmissing value.\",\"type\":\"standalone\"},{\"name\":\"PREVIOUS\",\"followsDelimiter\":\"/\",\"description\":\"Missing values are set to the previous accumulated nonmissing value. Missing values at the beginning of the accumulated series remain missing.\",\"type\":\"standalone\"},{\"name\":\"NEXT\",\"followsDelimiter\":\"/\",\"description\":\"Missing values are set to the next accumulated nonmissing value. Missing values at the end of the accumulated series remain missing.\",\"type\":\"standalone\"}]},{\"name\":\"TRANSFORM=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the time series transformation to be applied to the accumulated time series.\",\"help\":\"TRANSFORM=NONE | LOG | SQRT | LOGISTIC | BOXCOX(n)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NONE\",\"followsDelimiter\":\"/\",\"description\":\"No transformation. This is the default.\",\"type\":\"standalone\"},{\"name\":\"LOG\",\"followsDelimiter\":\"/\",\"description\":\"Logarithmic transformation\",\"type\":\"standalone\"},{\"name\":\"SQRT\",\"followsDelimiter\":\"/\",\"description\":\"Square-root transformation\",\"type\":\"standalone\"},{\"name\":\"LOGISTIC\",\"followsDelimiter\":\"/\",\"description\":\"Logistic transformation\",\"type\":\"standalone\"},{\"name\":\"BOXCOX\",\"followsDelimiter\":\"/\",\"description\":\"Box-Cox transformation with parameter number where number is between –5 and 5.\",\"help\":\"BOXCOX(n)\",\"type\":\"standalone\"}]}]},{\"name\":\"DECOMP\",\"description\":\"A DECOMP statement can be used with the TIMESERIES procedure to specify options related to classical seasonal decomposition of the time series data. Only one DECOMP statement is allowed. The options specified affect all variables listed in the VAR statements. Decomposition can be performed only when the length of the seasonal cycle specified by the PROC TIMESERIES statement SEASONALITY= option or implied by the ID statement INTERVAL= option is greater than one.\",\"help\":\"DECOMP &lt;LAMBDA= number&gt;&lt;MODE=&lt;ADD|ADDITIVE | MULT|MULTIPLICATIVE | LOGADD|LOGADDITIVE&gt;... &gt;&lt;NPERIODS= number&gt; ...\",\"arguments\":[{\"name\":\"CC\",\"aliases\":[\"CYCLE\"],\"description\":\"Trend component\",\"type\":\"standalone\"},{\"name\":\"IC\",\"aliases\":[\"IRREGULAR\"],\"description\":\"Irregular component\",\"type\":\"standalone\"},{\"name\":\"ORIG\",\"description\":\"Original series\",\"type\":\"standalone\"},{\"name\":\"PCSA\",\"description\":\"Percent change seasonally adjusted series\",\"type\":\"standalone\"},{\"name\":\"SA\",\"aliases\":[\"ADJUSTED\"],\"description\":\"Seasonally adjusted series\",\"type\":\"standalone\"},{\"name\":\"SC\",\"description\":\"Seasonal component\",\"type\":\"standalone\"},{\"name\":\"SCSTD\",\"description\":\"Seasonal component standard errors\",\"type\":\"standalone\"},{\"name\":\"SIC\",\"aliases\":[\"SEASONIRREGULAR\"],\"description\":\"Seasonal-irregular component\",\"type\":\"standalone\"},{\"name\":\"TC\",\"description\":\"Trend component\",\"type\":\"standalone\"},{\"name\":\"TCC\",\"aliases\":[\"TRENDCYCLE\"],\"description\":\"Trend-cycle component\",\"type\":\"standalone\"},{\"name\":\"TCS\",\"aliases\":[\"TRENDCYCLESEASON\"],\"description\":\"Trend-cycle-seasonal component\",\"type\":\"standalone\"},{\"name\":\"LAMBDA=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the Hodrick-Prescott filter parameter for trend-cycle decomposition. The default is λ=1600. Filtering applies when the trend component or the cycle component is requested. If filtering is not specified, this option is ignored.\",\"type\":\"value\"},{\"name\":\"MODE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the type of decomposition to be used to decompose the time series.\",\"help\":\"MODE=ADD|ADDITIVE | MULT|MULTIPLICATIVE | LOGADD|LOGADDITIVE | PSEUDOADD|PSEUDOADDITIVE | MULTORADD\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ADD\",\"followsDelimiter\":\"/\",\"description\":\"Additive decomposition\",\"help\":\"ADD|ADDITIVE\",\"type\":\"choice\"},{\"name\":\"MULT\",\"followsDelimiter\":\"/\",\"description\":\"Multiplicative decomposition\",\"help\":\"MULT|MULTIPLICATIVE\",\"type\":\"choice\"},{\"name\":\"LOGADD\",\"followsDelimiter\":\"/\",\"description\":\"Log-additive decomposition\",\"help\":\"LOGADD|LOGADDITIVE\",\"type\":\"choice\"},{\"name\":\"PSEUDOADD\",\"followsDelimiter\":\"/\",\"description\":\"Pseudo-additive decomposition\",\"help\":\"PSEUDOADD|PSEUDOADDITIVE\",\"type\":\"choice\"},{\"name\":\"MULTORADD\",\"followsDelimiter\":\"/\",\"description\":\"Multiplicative or additive decomposition, depending on data\",\"type\":\"standalone\"}]},{\"name\":\"NPERIODS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the number of time periods to be stored in the OUTDECOMP= data set when the TRANSPOSE=YES option is specified. If the TRANSPOSE=NO option is specified, the NPERIODS= option is ignored. If the NPERIODS= option is positive, the first or beginning time periods are recorded. If the NPERIODS= option is negative, the last or ending time periods are recorded.\",\"type\":\"value\"},{\"name\":\"TRANSPOSE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies whether the OUTDECOMP= data set be recorded with the the statistics as the column names, or with the time periods as the column names.\",\"help\":\"TRANSPOSE=NO | YES\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NO\",\"followsDelimiter\":\"/\",\"description\":\"Specifies that the OUTDECOMP= data set be recorded with the the statistics as the column names.\",\"type\":\"standalone\"},{\"name\":\"YES\",\"followsDelimiter\":\"/\",\"description\":\"Specifies that the OUTDECOMP= data set be recorded with the time periods as the column names instead of with the statistics as the column names.\",\"type\":\"standalone\"}]}]},{\"name\":\"ID\",\"description\":\"The ID statement names a numeric variable that identifies observations in the input and output data sets. The ID variable’s values are assumed to be SAS date, time, or datetime values. In addition, the ID statement specifies the (desired) frequency associated with the time series. The ID statement options also specify how the observations are accumulated and how the time ID values are aligned to form the time series. The information specified affects all variables listed in subsequent VAR statements. If the ID statement is specified, the INTERVAL= option must also be used. If an ID statement is not specified, the observation number, with respect to the BY group, is used as the time ID.\",\"help\":\"ID &lt;ACCUMULATE=&lt;NONE | TOTAL | AVERAGE&gt;... &gt;&lt;ALIGN=&lt;BEGINNING | MIDDLE | ENDING&gt;&gt;&lt;END=date | datetime&gt; ...\",\"arguments\":[{\"name\":\"ACCUMULATE=\",\"optional\":true,\"description\":\"Specifies how the data set observations are accumulated within each time period. The frequency (width of each time interval) is specified by the INTERVAL= option.\",\"help\":\"ACCUMULATE=NONE | TOTAL | AVERAGE | MINIMUM|MIN | MEDIAN|MED | MAXIMUM|MAX | N | NMISS | NOBS | FIRST | LAST | STDDEV|STD | CSS | USS\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NONE\",\"description\":\"No accumulation occurs; the ID variable values must be equally spaced with respect to the frequency. This is the default option.\",\"type\":\"standalone\"},{\"name\":\"TOTAL\",\"description\":\"Observations are accumulated based on the total sum of their values.\",\"type\":\"standalone\"},{\"name\":\"AVERAGE\",\"description\":\"Observations are accumulated based on the average of their values.\",\"type\":\"standalone\"},{\"name\":\"MINIMUM\",\"description\":\"Observations are accumulated based on the minimum of their values.\",\"help\":\"MINIMUM|MIN\",\"type\":\"choice\"},{\"name\":\"MEDIAN\",\"description\":\"Observations are accumulated based on the median of their values.\",\"help\":\"MEDIAN|MED\",\"type\":\"choice\"},{\"name\":\"MAXIMUM\",\"description\":\"Observations are accumulated based on the maximum of their values.\",\"help\":\"MAXIMUM|MAX\",\"type\":\"choice\"},{\"name\":\"N\",\"description\":\"Observations are accumulated based on the number of nonmissing observations.\",\"type\":\"standalone\"},{\"name\":\"NMISS\",\"description\":\"Observations are accumulated based on the number of missing observations.\",\"type\":\"standalone\"},{\"name\":\"NOBS\",\"description\":\"Observations are accumulated based on the number of observations.\",\"type\":\"standalone\"},{\"name\":\"FIRST\",\"description\":\"Observations are accumulated based on the first of their values.\",\"type\":\"standalone\"},{\"name\":\"LAST\",\"description\":\"Observations are accumulated based on the last of their values.\",\"type\":\"standalone\"},{\"name\":\"STDDEV\",\"description\":\"Observations are accumulated based on the standard deviation of their values.\",\"help\":\"STDDEV|STD\",\"type\":\"choice\"},{\"name\":\"CSS\",\"description\":\"Observations are accumulated based on the corrected sum of squares of their values.\",\"type\":\"standalone\"},{\"name\":\"USS\",\"description\":\"Observations are accumulated based on the uncorrected sum of squares of their values.\",\"type\":\"standalone\"}]},{\"name\":\"ALIGN=\",\"optional\":true,\"description\":\"Controls the alignment of SAS dates used to identify output observations.\",\"help\":\"ALIGN=BEGINNING | MIDDLE | ENDING\",\"type\":\"choice\",\"arguments\":[{\"name\":\"BEGINNING\",\"description\":\"SAS dates aligned in the BEGINNING.\",\"type\":\"standalone\"},{\"name\":\"MIDDLE\",\"description\":\"SAS dates aligned in the MIDDLE.\",\"type\":\"standalone\"},{\"name\":\"ENDING\",\"description\":\"SAS dates aligned in the ENDING.\",\"type\":\"standalone\"}]},{\"name\":\"END=\",\"optional\":true,\"description\":\"Specifies a SAS date or datetime literal value that represents the end of the data.\",\"type\":\"value\"},{\"name\":\"FORMAT=\",\"optional\":true,\"description\":\"Specifies the SAS format for the time ID values. If the FORMAT= option is not specified, the default format is implied from the INTERVAL= option.\",\"help\":\"FORMAT=*format*\",\"type\":\"value\"},{\"name\":\"INTERVAL=\",\"optional\":true,\"description\":\"Specifies the frequency of the accumulated time series.\",\"help\":\"INTERVAL=DAY | HOUR | MINUTE | SECOND | WEEK | MONTH | YEAR | QTR | TENDAY | SEMIMONTH | SEMIYEAR\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DAY\",\"description\":\"DAY interval\",\"type\":\"standalone\"},{\"name\":\"HOUR\",\"description\":\"HOUR interval\",\"type\":\"standalone\"},{\"name\":\"MINUTE\",\"description\":\"MINUTE interval\",\"type\":\"standalone\"},{\"name\":\"SECOND\",\"description\":\"SECOND interval\",\"type\":\"standalone\"},{\"name\":\"WEEK\",\"description\":\"WEEK interval\",\"type\":\"standalone\"},{\"name\":\"MONTH\",\"description\":\"MONTH interval\",\"type\":\"standalone\"},{\"name\":\"YEAR\",\"description\":\"YEAR interval\",\"type\":\"standalone\"},{\"name\":\"QTR\",\"description\":\"QTR interval\",\"type\":\"standalone\"},{\"name\":\"TENDAY\",\"description\":\"TENDAY interval\",\"type\":\"standalone\"},{\"name\":\"SEMIMONTH\",\"description\":\"SEMIMONTH interval\",\"type\":\"standalone\"},{\"name\":\"SEMIYEAR\",\"description\":\"SEMIYEAR interval\",\"type\":\"standalone\"}]},{\"name\":\"NOTSORTED\",\"optional\":true,\"description\":\"Specifies that the time ID values are not in sorted order. The ESM procedure sorts the data with respect to the time ID prior to analysis.\",\"type\":\"standalone\"},{\"name\":\"SETMISSING=\",\"optional\":true,\"description\":\"Specifies how missing values (either input or accumulated) are assigned in the accumulated time series. If a number n is specified (SETMISSING=n), missing values are set to that number.\",\"help\":\"SETMISSING=MISSING | AVERAGE | MINIMUM | MEDIAN | MAXIMUM | FIRST | LAST | PREVIOUS | NEXT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"MISSING\",\"description\":\"Missing values are set to missing. This is the default option.\",\"type\":\"standalone\"},{\"name\":\"AVERAGE\",\"description\":\"Missing values are set to the accumulated average value.\",\"type\":\"standalone\"},{\"name\":\"MINIMUM\",\"description\":\"Missing values are set to the accumulated minimum value.\",\"type\":\"standalone\"},{\"name\":\"MEDIAN\",\"description\":\"Missing values are set to the accumulated median value.\",\"type\":\"standalone\"},{\"name\":\"MAXIMUM\",\"description\":\"Missing values are set to the accumulated maximum value.\",\"type\":\"standalone\"},{\"name\":\"FIRST\",\"description\":\"Missing values are set to the accumulated first nonmissing value.\",\"type\":\"standalone\"},{\"name\":\"LAST\",\"description\":\"Missing values are set to the accumulated last nonmissing value.\",\"type\":\"standalone\"},{\"name\":\"PREVIOUS\",\"description\":\"Missing values are set to the previous accumulated nonmissing value. Missing values at the beginning of the accumulated series remain missing.\",\"type\":\"standalone\"},{\"name\":\"NEXT\",\"description\":\"Missing values are set to the next accumulated nonmissing value. Missing values at the end of the accumulated series remain missing.\",\"type\":\"standalone\"}]},{\"name\":\"START=\",\"optional\":true,\"description\":\"Specifies a SAS date or datetime literal value that represents the beginning of the data.\",\"type\":\"value\"}]},{\"name\":\"SEASON\",\"description\":\"A SEASON statement can be used with the TIMESERIES procedure to specify options that are related to seasonal analysis of the time-stamped transactional data. Only one SEASON statement is allowed. The options specified affect all variables specified in the VAR statements. Seasonal analysis can be performed only when the length of the seasonal cycle specified by the PROC TIMESERIES statement SEASONALITY= option or implied by the ID statement INTERVAL= option is greater than one.\",\"help\":\"SEASON N NOBS &lt;TRANSPOSE=&lt;NO | YES&gt;&gt; ...\",\"arguments\":[{\"name\":\"CSS\",\"description\":\"Corrected sum of squares\",\"type\":\"standalone\"},{\"name\":\"MAXIMUM\",\"description\":\"Maximum value\",\"type\":\"standalone\"},{\"name\":\"MEAN\",\"description\":\"Mean value\",\"type\":\"standalone\"},{\"name\":\"MEDIAN\",\"description\":\"Median value\",\"type\":\"standalone\"},{\"name\":\"MINIMUM\",\"description\":\"Minimum value\",\"type\":\"standalone\"},{\"name\":\"N\",\"description\":\"Number of nonmissing observations\",\"type\":\"standalone\"},{\"name\":\"NMISS\",\"description\":\"Number of missing observations\",\"type\":\"standalone\"},{\"name\":\"NOBS\",\"description\":\"Number of observations\",\"type\":\"standalone\"},{\"name\":\"RANGE\",\"description\":\"Range value\",\"type\":\"standalone\"},{\"name\":\"STDDEV\",\"description\":\"Standard deviation\",\"type\":\"standalone\"},{\"name\":\"SUM\",\"description\":\"Summation value\",\"type\":\"standalone\"},{\"name\":\"USS\",\"description\":\"Uncorrected sum of squares\",\"type\":\"standalone\"},{\"name\":\"TRANSPOSE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies whether the OUTSEASON= data set be recorded with the the statistics as the column names, or with the seasonal indices as the column names.\",\"help\":\"TRANSPOSE=NO | YES\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NO\",\"followsDelimiter\":\"/\",\"description\":\"Specifies that the OUTSEASON= data set be recorded with the the statistics as the column names.\",\"type\":\"standalone\"},{\"name\":\"YES\",\"followsDelimiter\":\"/\",\"description\":\"Specifies that the OUTSEASON= data set be recorded with the seasonal indices as the column names instead of the statistics as the column names.\",\"type\":\"standalone\"}]}]},{\"name\":\"SPECTRA\",\"description\":\"A SPECTRA statement can be used with the TIMESERIES procedure to specify which statistics appear in the OUTSPECTRA= data set. The SPECTRA statement options are used in performing a spectral analysis on the variables listed in the VAR statement. These options affect values that are produced in the PROC TIMESERIES statement’s OUTSPECTRA= data set, and in the periodogram and spectral density estimate. Only one SPECTRA statement is allowed.\",\"help\":\"SPECTRA COS FREQ PERIOD ...\",\"arguments\":[{\"name\":\"COS\",\"description\":\"Cosine transform\",\"type\":\"standalone\"},{\"name\":\"FREQ\",\"description\":\"Frequency in radians from 0 to π.\",\"type\":\"standalone\"},{\"name\":\"P\",\"description\":\"Periodogram\",\"type\":\"standalone\"},{\"name\":\"PERIOD\",\"description\":\"Period or wavelength\",\"type\":\"standalone\"},{\"name\":\"S\",\"description\":\"Spectral density estimates\",\"type\":\"standalone\"},{\"name\":\"SIN\",\"description\":\"Sine transform\",\"type\":\"standalone\"},{\"name\":\"ADJMEAN\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"CENTER\"],\"description\":\"Subtracts the series mean before performing the Fourier decomposition. This sets the first periodogram ordinate to 0 rather than to 2n times the squared mean. This option is commonly used when the periodograms are to be plotted to prevent a large first periodogram ordinate from distorting the scale of the plot.\",\"type\":\"standalone\"},{\"name\":\"ALPHA=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the width of a window drawn around the spectral density estimate in a spectral density versus frequency plot. Based on approximations proposed by Brockwell and Davis (1991), periodogram ordinates fall within this window with a confidence level of 1-ALPHA. The value ALPHA must be between 0 and 1; the default is 0.5.\",\"type\":\"value\"},{\"name\":\"BARTLETT\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"BART\"],\"description\":\"Specifies the BARTLETT kernel smoothing function to calculate a spectral density estimate as the moving average of periodogram ordinates. The DOMAIN= option specifies how the smoothing function is interpreted. The available domain values are: FREQUENCY smooths the periodogram ordinates.\",\"type\":\"standalone\"},{\"name\":\"PARZEN\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the PARZEN kernel smoothing function for calculating a spectral density estimate as the moving average of periodogram ordinates. The DOMAIN= option specifies how the smoothing function is interpreted. The available domain values are: FREQUENCY smooths the periodogram ordinates.\",\"type\":\"standalone\"},{\"name\":\"QS\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"QUADR\"],\"description\":\"Specifies the quadratic spectral (QS) kernel smoothing function for calculating a spectral density estimate as the moving average of periodogram ordinates. The DOMAIN= option specifies how the smoothing function is interpreted. The available domain values are: FREQUENCY smooths the periodogram ordinates.\",\"type\":\"standalone\"},{\"name\":\"TRUNCAT\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"TRUNC\"],\"description\":\"Specifies the TRUNCATed kernel smoothing function for calculating a spectral density estimate as the moving average of periodogram ordinates. The DOMAIN= option specifies how the smoothing function is interpreted. The available domain values are: FREQUENCY smooths the periodogram ordinates.\",\"type\":\"standalone\"},{\"name\":\"TUKEY\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"TUK\"],\"description\":\"Specifies the TUKEY-Hanning kernel smoothing function for calculating a spectral density estimate as the moving average of periodogram ordinates. The DOMAIN= option specifies how the smoothing function is interpreted. The available domain values are: FREQUENCY smooths the periodogram ordinates.\",\"type\":\"standalone\"},{\"name\":\"WEIGHTS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the relative weights used in computing a spectral density estimate as the moving average smoothing of periodogram ordinates. If neither a WEIGHTS option nor a kernel function is specified, the spectral density estimate is identical to the unmodified periodogram. The following SPECTRA statement uses the WEIGHTS option to specify equal weighting for each of the three adjacent periodogram ordinates centered on each spectral density estimate:\",\"type\":\"standalone\"}]},{\"name\":\"SSA\",\"description\":\"An SSA statement can be used with the TIMESERIES procedure to specify options that are related to singular spectrum analysis (SSA) of the accumulated time series. Only one SSA statement is allowed.\",\"help\":\"SSA &lt;GROUPS=(numlist)...(numlist)&gt;&lt;LENGTH=number&gt;&lt;NPERIODS=number&gt; ...\",\"arguments\":[{\"name\":\"GROUPS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the lists that categorize window lags into groups. The window lags must be separated by spaces or commas. For example, GROUPS=(1,3) (2,4) specifies that the first and third window lags form the first group and the second and fourth window lags form the second group. If no GROUPS= option is specified, the window lags are divided into two groups based on the THRESHOLDPCT= value.\",\"type\":\"value\"},{\"name\":\"LENGTH=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the window length to be used in the analysis. It represents the maximum lag used in the SSA autocovariance calculations. The number specified by the LENGTH= option must be greater than one and less than 1000. When the SEASONALITY= option is provided or inferred by the INTERVAL= option in the ID statement the default window length is the smaller of two times the length of the seasonal cycle and one half the length of the time series. When no seasonality value is available the default window length is the smaller of 12 and one half the length of the time series.\",\"help\":\"LENGTH=*number*\",\"type\":\"value\"},{\"name\":\"NPERIODS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the number of time periods to be stored in the OUTSSA= data set when the TRANSPOSE=YES option is specified. If the TRANSPOSE option is not specified, the NPERIODS= option is ignored. The NPERIODS= option specifies the number of OUTSSA= data set variables to contain the groups.\",\"help\":\"NPERIODS=*number*\",\"type\":\"value\"},{\"name\":\"THRESHOLDPCT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies a percentage used to divide the SSA components into two groups based on the cumulative percentage of their singular values. The percentage specified by the THRESHOLDPCT= option must be greater than zero and less than 100. The default is THRESHOLDPCT=90.\",\"help\":\"THRESHOLDPCT=*percent*\",\"type\":\"value\"},{\"name\":\"TRANSPOSE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies which values are recorded as column names in the OUTSSA= data set.\",\"help\":\"TRANSPOSE=NO | YES\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NO\",\"followsDelimiter\":\"/\",\"description\":\"Specifies that the specified groups be recorded as the column names.\",\"type\":\"standalone\"},{\"name\":\"YES\",\"followsDelimiter\":\"/\",\"description\":\"Specifies that the time periods be recorded as the column names instead of the specified groups as the column names.\",\"type\":\"standalone\"}]}]},{\"name\":\"TREND\",\"description\":\"A TREND statement can be used with the TIMESERIES procedure to specify options related to trend analysis of the time-stamped transactional data. Only one TREND statement is allowed. The options specified affect all variables specified in the VAR statements.\",\"help\":\"TREND NOBS &lt;NPERIODS= number&gt;&lt;TRANSPOSE=&lt;NO | YES&gt;&gt; ...\",\"arguments\":[{\"name\":\"CSS\",\"description\":\"Corrected sum of squares\",\"type\":\"standalone\"},{\"name\":\"MAXIMUM\",\"description\":\"Maximum value\",\"type\":\"standalone\"},{\"name\":\"MEAN\",\"description\":\"Mean value\",\"type\":\"standalone\"},{\"name\":\"MEDIAN\",\"description\":\"Median value\",\"type\":\"standalone\"},{\"name\":\"MINIMUM\",\"description\":\"Minimum value\",\"type\":\"standalone\"},{\"name\":\"N\",\"description\":\"Number of nonmissing observations\",\"type\":\"standalone\"},{\"name\":\"NMISS\",\"description\":\"Number of missing observations\",\"type\":\"standalone\"},{\"name\":\"NOBS\",\"description\":\"Number of observations\",\"type\":\"standalone\"},{\"name\":\"RANGE\",\"description\":\"Range value\",\"type\":\"standalone\"},{\"name\":\"STDDEV\",\"description\":\"Standard deviation\",\"type\":\"standalone\"},{\"name\":\"SUM\",\"description\":\"Summation value\",\"type\":\"standalone\"},{\"name\":\"USS\",\"description\":\"Uncorrected sum of squares\",\"type\":\"standalone\"},{\"name\":\"NPERIODS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the number of time periods to be stored in the OUTTREND= data set when the TRANSPOSE=YES option is specified. If the TRANSPOSE option is not specified, the NPERIODS= option is ignored. The NPERIODS= option specifies the number of OUTTREND= data set variables to contain the trend statistics and is therefore limited to the maximum allowable number of SAS variables.\",\"type\":\"value\"},{\"name\":\"TRANSPOSE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies whether the OUTTREND= data set be recorded with the the statistics as the column names, or with the time periods as the column names.\",\"help\":\"TRANSPOSE=NO | YES\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NO\",\"followsDelimiter\":\"/\",\"description\":\"Specifies that the OUTTREND= data set be recorded with the the statistics as the column names.\",\"type\":\"standalone\"},{\"name\":\"YES\",\"followsDelimiter\":\"/\",\"description\":\"Specifies that the OUTTREND= data set be recorded with the time periods as the column names instead of with the statistics as the column names.\",\"type\":\"standalone\"}]}]},{\"name\":\"VAR\",\"description\":\"The VAR statement lists the numeric variables in the DATA= data set whose values are to be accumulated to form the time series.\",\"help\":\"VAR &lt;ACCUMULATE=&lt;NONE | TOTAL | AVERAGE&gt;... &gt;&lt;DIF=( numlist )&gt;&lt;SDIF=( numlist )&gt; ...\",\"arguments\":[{\"name\":\"ACCUMULATE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies how the data set observations are accumulated within each time period. The frequency (width of each time interval) is specified by the INTERVAL= option.\",\"help\":\"ACCUMULATE=NONE | TOTAL | AVERAGE | MINIMUM | MEDIAN | MAXIMUM | N | NMISS | NOBS | FIRST | LAST | STDDEV | CSS | USS\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NONE\",\"followsDelimiter\":\"/\",\"description\":\"No accumulation occurs; the ID variable values must be equally spaced with respect to the frequency. This is the default option.\",\"type\":\"standalone\"},{\"name\":\"TOTAL\",\"followsDelimiter\":\"/\",\"description\":\"Observations are accumulated based on the total sum of their values.\",\"type\":\"standalone\"},{\"name\":\"AVERAGE\",\"followsDelimiter\":\"/\",\"description\":\"Observations are accumulated based on the average of their values.\",\"type\":\"standalone\"},{\"name\":\"MINIMUM\",\"followsDelimiter\":\"/\",\"description\":\"Observations are accumulated based on the minimum of their values.\",\"type\":\"standalone\"},{\"name\":\"MEDIAN\",\"followsDelimiter\":\"/\",\"description\":\"Observations are accumulated based on the median of their values.\",\"type\":\"standalone\"},{\"name\":\"MAXIMUM\",\"followsDelimiter\":\"/\",\"description\":\"Observations are accumulated based on the maximum of their values.\",\"type\":\"standalone\"},{\"name\":\"N\",\"followsDelimiter\":\"/\",\"description\":\"Observations are accumulated based on the number of nonmissing observations.\",\"type\":\"standalone\"},{\"name\":\"NMISS\",\"followsDelimiter\":\"/\",\"description\":\"Observations are accumulated based on the number of missing observations.\",\"type\":\"standalone\"},{\"name\":\"NOBS\",\"followsDelimiter\":\"/\",\"description\":\"Observations are accumulated based on the number of observations.\",\"type\":\"standalone\"},{\"name\":\"FIRST\",\"followsDelimiter\":\"/\",\"description\":\"Observations are accumulated based on the first of their values.\",\"type\":\"standalone\"},{\"name\":\"LAST\",\"followsDelimiter\":\"/\",\"description\":\"Observations are accumulated based on the last of their values.\",\"type\":\"standalone\"},{\"name\":\"STDDEV\",\"followsDelimiter\":\"/\",\"description\":\"Observations are accumulated based on the standard deviation of their values.\",\"type\":\"standalone\"},{\"name\":\"CSS\",\"followsDelimiter\":\"/\",\"description\":\"Observations are accumulated based on the corrected sum of squares of their values.\",\"type\":\"standalone\"},{\"name\":\"USS\",\"followsDelimiter\":\"/\",\"description\":\"Observations are accumulated based on the uncorrected sum of squares of their values.\",\"type\":\"standalone\"}]},{\"name\":\"DIF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the differencing to be applied to the accumulated time series. The list of differencing orders must be separated by spaces or commas. For example, DIF=(1,3) specifies first then third order differencing. Differencing is applied after time series transformation. The TRANSFORM= option is applied before the DIF= option.\",\"type\":\"value\"},{\"name\":\"SDIF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the seasonal differencing to be applied to the accumulated time series. The list of seasonal differencing orders must be separated by spaces or commas. For example, SDIF=(1,3) specifies first then third order seasonal differencing. Differencing is applied after time series transformation. The TRANSFORM= option is applied before the SDIF= option.\",\"type\":\"value\"},{\"name\":\"SETMISSING=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"SETMISS=\"],\"description\":\"Specifies how missing values (either actual or accumulated) are to be interpreted in the accumulated time series for variables listed in the VAR or CROSSVAR statement.\",\"help\":\"SETMISSING=MISSING | AVERAGE | MINIMUM | MEDIAN | MAXIMUM | FIRST | LAST | PREVIOUS | NEXT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"MISSING\",\"followsDelimiter\":\"/\",\"description\":\"Missing values are set to missing. This is the default option.\",\"type\":\"standalone\"},{\"name\":\"AVERAGE\",\"followsDelimiter\":\"/\",\"description\":\"Missing values are set to the accumulated average value.\",\"type\":\"standalone\"},{\"name\":\"MINIMUM\",\"followsDelimiter\":\"/\",\"description\":\"Missing values are set to the accumulated minimum value.\",\"type\":\"standalone\"},{\"name\":\"MEDIAN\",\"followsDelimiter\":\"/\",\"description\":\"Missing values are set to the accumulated median value.\",\"type\":\"standalone\"},{\"name\":\"MAXIMUM\",\"followsDelimiter\":\"/\",\"description\":\"Missing values are set to the accumulated maximum value.\",\"type\":\"standalone\"},{\"name\":\"FIRST\",\"followsDelimiter\":\"/\",\"description\":\"Missing values are set to the accumulated first nonmissing value.\",\"type\":\"standalone\"},{\"name\":\"LAST\",\"followsDelimiter\":\"/\",\"description\":\"Missing values are set to the accumulated last nonmissing value.\",\"type\":\"standalone\"},{\"name\":\"PREVIOUS\",\"followsDelimiter\":\"/\",\"description\":\"Missing values are set to the previous accumulated nonmissing value. Missing values at the beginning of the accumulated series remain missing.\",\"type\":\"standalone\"},{\"name\":\"NEXT\",\"followsDelimiter\":\"/\",\"description\":\"Missing values are set to the next accumulated nonmissing value. Missing values at the end of the accumulated series remain missing.\",\"type\":\"standalone\"}]},{\"name\":\"TRANSFORM=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the time series transformation to be applied to the accumulated time series.\",\"help\":\"TRANSFORM=NONE | LOG | SQRT | LOGISTIC | BOXCOX(n)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NONE\",\"followsDelimiter\":\"/\",\"description\":\"No transformation. This is the default.\",\"type\":\"standalone\"},{\"name\":\"LOG\",\"followsDelimiter\":\"/\",\"description\":\"Logarithmic transformation\",\"type\":\"standalone\"},{\"name\":\"SQRT\",\"followsDelimiter\":\"/\",\"description\":\"Square-root transformation\",\"type\":\"standalone\"},{\"name\":\"LOGISTIC\",\"followsDelimiter\":\"/\",\"description\":\"Logistic transformation\",\"type\":\"standalone\"},{\"name\":\"BOXCOX\",\"followsDelimiter\":\"/\",\"description\":\"Box-Cox transformation with parameter number where number is between –5 and 5.\",\"help\":\"BOXCOX(n)\",\"type\":\"standalone\"}]}]}],\"supportSiteInformation\":{\"docsetId\":\"etsug\",\"docsetVersion\":\"latest\",\"docsetTargetFile\":\"etsug_timeseries_toc.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/TMODEL.json",
    "content": "{\"name\":\"TMODEL\",\"statements\":[{\"name\":\"PROC TMODEL\",\"description\":\"The TMODEL procedure analyzes models in which the relationships among the variables comprise a system of one or more nonlinear equations. Primary uses of the TMODEL procedure are estimation, simulation, and forecasting of nonlinear simultaneous equation models. † PROC TMODEL features include the following: o SAS programming statements to define simultaneous systems of nonlinear equations o tools to analyze the structure of the simultaneous equation system o ARIMA, PDL, and other dynamic modeling capabilities o tools to specify and estimate the error covariance structure o tools to estimate and solve ordinary differential equations o the following methods for parameter estimation: – ordinary least squares (OLS) – two-stage least squares (2SLS) – seemingly unrelated regression (SUR) and iterative SUR (ITSUR) – three-stage least squares (3SLS) and iterative 3SLS (IT3SLS) – generalized method of moments (GMM) – simulated method of moments (SMM) – full information maximum likelihood (FIML) – general log-likelihood maximization o simulation and forecasting capabilities o Monte Carlo simulation o goal-seeking solutions\",\"help\":\"PROC TMODEL<BLOCK><DATA=SAS-data-set><DETAILS><FLOW><GRAPH><LIST><LISTALL><LISTCODE><LISTDEP><LISTDER><MAXERRORS=n><MEMORYUSE><MODEL=model-name | (model-list)><NDEC=n><NOPRINT><NOSTORE><OUTMODEL=model-name><OUTPARMS=SAS-data-set><PARMSDATA=SAS-data-set><PLOTS=ALL | ACF | IACF... ><PRINTALL><TRACE><XREF>;     \\n\\tABORT <ABEND><CANCEL><CANCEL FILE> ...;\\n\\n\\tARRAY <_ALL_><_NUMERIC_><_TEMPORARY_> ...;\\n\\n\\tATTRIB <FORMAT=format><INFORMAT=informat><LABEL='label'> ...;\\n\\n\\tBOUNDS bound1 <, bound2 ...> ;\\n\\n\\tBY variables ;\\n\\n\\tCALL name ( argument-1 [, ...argument-n] );\\n\\n\\tCONTROL variable < value > ... ;\\n\\n\\tCROSSSECTION variables ;\\n\\n\\tDELETE;\\n\\n\\tDEPENDENT variable < initial-values > ... ;\\n\\n\\tDO <OVER><><> ...;\\n\\n\\tDROP variable ... ;\\n\\n\\tELSE <DO><IF><THEN> ...;\\n\\n\\tEND;\\n\\n\\tENDOGENOUS variable < initial-values > ... ;\\n\\n\\tERRORMODEL <CAUCHY( <location, scale> )><CHISQUARED ( df <, nc> )><GENERAL(Likelihood <, parm1, parm2,...parmn > )> ...;\\n\\n\\tESTIMATE <COVB><OUTCOV><OUTEST=> ...;\\n\\n\\tEXOGENOUS variable < initial-values > ... ;\\n\\n\\tFIT DROP= ( parameters ...) INITIAL= ( variable = < parameter | constant > ...) PARMS= ( parameters [values] ...) ...;\\n\\n\\tGOTO label;\\n\\n\\tID variables ;\\n\\n\\tIF <DO><THEN><WHEN> ...;\\n\\n\\tINCLUDE model-names ... ;\\n\\n\\tINDEPENDENT variable < initial-values > ... ;\\n\\n\\tINSTRUMENTS EXCLUDE=(parameters) <NOINTERCEPT> _EXOG_ ...;\\n\\n\\tKEEP variable-list ;\\n\\n\\t;\\n\\n\\tLENGTH <DEFAULT=n> ;\\n\\n\\tLINK statement-label;\\n\\n\\tMOMENT variables = moment specification ;\\n\\n\\tNUMBER <INIT expression> ;\\n\\n\\t;\\n\\n\\tOUTVARS variables ;\\n\\n\\tPARAMETERS variable <value> <variable <value>> ... ;\\n\\n\\tPERFORMANCE BYPRIORITY = value1 REPPRIORITY = value 2 GRIDPRIORITY = value3 PARTPRIORITY = value4 NTHREADS = value5 ;\\n\\n\\t\\n\\n\\tPUT <_PAGE_> ;\\n\\n\\tRANDOM random-effects ~ distribution\\n\\n\\tRANGE <RANGE variable < = first > < TO last > > ;\\n\\n\\tRENAME old-name-1=new-name-1 ... <old-name-n=new-name-n>;\\n\\n\\tRESET <DATA=SAS-data-set><OUTPARMS=SAS-data-set><PURGE> ...;\\n\\n\\tRESTRICT restriction1 < , restriction2 ...> ;\\n\\n\\tRETAIN variable-list1 value1 < variable-list2 value2 ...> ;\\n\\n\\tRETURN;\\n\\n\\t;\\n\\n\\tSOLVE SATISFY=equation | SATISFY=( equations ) ;\\n\\n\\tSTOP ;\\n\\n\\tTEST <LM><LR><WALD> ...;\\n\\n\\tVAR variables <initial-values> ... ;\\n\\n\\tWEIGHT variable ;\\n\\n\\tWHEN <DO> ;\\n\",\"arguments\":[{\"name\":\"BLOCK\",\"optional\":true,\"description\":\"Prints an analysis of the structure of the model given by the assignments to model variables appearing in the model program. This analysis includes a classification of model variables into endogenous (dependent) and exogenous (independent) groups based on the presence of the variable on the left-hand side of an assignment statement. The endogenous variables are grouped into simultaneously determined blocks. The dependency structure of the simultaneous blocks and exogenous variables is also printed. The BLOCK option cannot analyze dependencies implied by general form equations.\",\"type\":\"standalone\"},{\"name\":\"DATA=\",\"optional\":true,\"description\":\"Names the input data set. Variables in the model program are looked up in the DATA= data set and, if found, their attributes (type, length, label, format) are set to be the same as those in the input data set (if not previously defined otherwise). The values for the variables in the program are read from the input data set when the model is estimated or simulated by FIT and SOLVE statements.\",\"help\":\"DATA=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"DETAILS\",\"optional\":true,\"description\":\"Specifies the detailed printout. Parts of the printed output are expanded when the DETAILS option is specified. If ODS GRAPHICS ON is specified, the following additional graphs of the residuals are produced: ACF, PACF, IACF, white noise, and QQ plot versus the normal.\",\"type\":\"standalone\"},{\"name\":\"FLOW\",\"optional\":true,\"description\":\"Prints a message for each statement in the model program as it is executed. This debugging option is needed very rarely and produces voluminous output.\",\"type\":\"standalone\"},{\"name\":\"GRAPH\",\"optional\":true,\"description\":\"Prints the graph of the dependency structure of the model. The GRAPH option also invokes the BLOCK option and produces a graphical display of the information listed by the BLOCK option.\",\"type\":\"standalone\"},{\"name\":\"LIST\",\"optional\":true,\"description\":\"Prints the model program and variable lists, including the statements added by PROC MODEL and macros.\",\"type\":\"standalone\"},{\"name\":\"LISTALL\",\"optional\":true,\"description\":\"Selects the LIST, LISTDEP, LISTDER, and LISTCODE options.\",\"type\":\"standalone\"},{\"name\":\"LISTCODE\",\"optional\":true,\"description\":\"Prints the derivative tables and compiled model program code. LISTCODE is a debugging feature and is not normally needed.\",\"type\":\"standalone\"},{\"name\":\"LISTDEP\",\"optional\":true,\"description\":\"Prints a report that lists for each variable in the model program the variables that depend on it and that it depends on. These lists are given separately for current-period values and for lagged values of the variables.\",\"type\":\"standalone\"},{\"name\":\"LISTDER\",\"optional\":true,\"description\":\"Prints a table of derivatives for FIT and SOLVE tasks. (The LISTDER option is applicable only for the default NEWTON method for SOLVE tasks.) The derivatives table shows each nonzero derivative computed for the problem. The derivative listed can be a constant, a variable in the model program, or a special derivative variable created to hold the result of the derivative expression. This option is turned on by the LISTCODE and PRINTALL options.\",\"type\":\"standalone\"},{\"name\":\"MAXERRORS=\",\"optional\":true,\"description\":\"Specifies the maximum number of execution errors that can be printed. The default is MAXERRORS=50.\",\"help\":\"MAXERRORS=*n*\",\"type\":\"value\"},{\"name\":\"MEMORYUSE\",\"optional\":true,\"description\":\"Prints a report of the memory required for the various parts of the analysis.\",\"type\":\"standalone\"},{\"name\":\"MODEL=\",\"optional\":true,\"description\":\"Reads the model from one or more input model files created by previous PROC TMODEL executions. Model files are written by the OUTMODEL= option.\",\"type\":\"value\"},{\"name\":\"NDEC=\",\"optional\":true,\"description\":\"Specifies the precision of the format that PROC TMODEL uses when printing various numbers. The default is NDEC=3, which means that PROC TMODEL attempts to print values by using the D format but ensures that at least three significant digits are shown. If the NDEC= value is greater than nine, the BEST. format is used. The smallest value allowed is NDEC=2.\",\"help\":\"NDEC=*n*\",\"type\":\"value\"},{\"name\":\"NOPRINT\",\"optional\":true,\"description\":\"Suppresses the normal printed output but does not suppress error listings. Using any other print option turns the NOPRINT option off. The PRINT option can be used with the RESET statement to turn off NOPRINT.\",\"type\":\"standalone\"},{\"name\":\"NOSTORE\",\"optional\":true,\"description\":\"Suppresses the default output of the model file. This option is applicable only when FIT or SOLVE statements are not used, the MODEL= option is not used, and when a model is specified.\",\"type\":\"standalone\"},{\"name\":\"OUTMODEL=\",\"optional\":true,\"description\":\"Specifies the name of an output model file to which the model is to be written. Starting with SAS 9.2, model files are being stored as XML-based SAS data sets instead of being stored as members of a SAS catalog as in earlier releases. This makes MODEL files more readily extendable in the future and enables Java-based applications to read the MODEL files directly. To change this behavior, use the SAS global-CMPMODEL-options. You can choose the format in which the output model file is stored and read by using the CMPMODEL=global-CMPMODEL-options in an PTIONS statement as follows.\",\"help\":\"OUTMODEL=*model-name*\",\"type\":\"value\"},{\"name\":\"OUTPARMS=\",\"optional\":true,\"description\":\"Writes the parameter estimates to a SAS data set.\",\"help\":\"OUTPARMS=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"PARMSDATA=\",\"optional\":true,\"description\":\"Names the SAS data set that contains the parameter estimates. In PROC TMODEL, you have several options to specify starting values for the parameters to be estimated. When more than one option is specified, the options are implemented in the following order of precedence (from highest to lowest): the START= option, the PARMS statement initialization value, the ESTDATA= option, and the PARMSDATA= option. If no options are specified for the starting value, the default value of 0.0001 is used.\",\"help\":\"PARMSDATA=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"PLOTS=\",\"optional\":true,\"description\":\"Requests that the TMODEL procedure produce statistical graphics via the Output Delivery System, provided that the ODS GRAPHICS statement has been specified. The global-plot-options apply to all relevant plots generated by the TMODEL procedure. The global-plot-options supported by the TMODEL procedure follow. ONLY suppresses the default plots. Only the plots specifically requested are produced.\",\"help\":\"PLOTS=ALL | ACF | IACF | PACF | FITPLOT | COOKSD | QQ | RESIDUAL | STUDENTRESIDUAL | RESIDUALHISTOGRAM  | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ALL\",\"description\":\"Requests that all plots appropriate for the particular analysis be produced.\",\"type\":\"standalone\"},{\"name\":\"ACF\",\"description\":\"Produces the autocorrelation function plot.\",\"type\":\"standalone\"},{\"name\":\"IACF\",\"description\":\"Produces the inverse autocorrelation function plot of residuals.\",\"type\":\"standalone\"},{\"name\":\"PACF\",\"description\":\"Produces the partial autocorrelation function plot of residuals.\",\"type\":\"standalone\"},{\"name\":\"FITPLOT\",\"description\":\"Plots the predicted and actual values.\",\"type\":\"standalone\"},{\"name\":\"COOKSD\",\"description\":\"Produces the Cook’s D plot.\",\"type\":\"standalone\"},{\"name\":\"QQ\",\"description\":\"Produces a QQ plot of residuals.\",\"type\":\"standalone\"},{\"name\":\"RESIDUAL\",\"aliases\":[\"RES\"],\"description\":\"Plots the residuals.\",\"type\":\"standalone\"},{\"name\":\"STUDENTRESIDUAL\",\"description\":\"Plots the studentized residuals.\",\"type\":\"standalone\"},{\"name\":\"RESIDUALHISTOGRAM\",\"aliases\":[\"RESIDHISTOGRAM\"],\"description\":\"Plots the histogram of residuals.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"Suppresses all plots.\",\"type\":\"standalone\"}]},{\"name\":\"PRINTALL\",\"optional\":true,\"description\":\"Turns on all the printing-control options. The options set by PRINTALL are DETAILS; the model information options LIST, LISTDEP, LISTDER, XREF, BLOCK, and GRAPH; the FIT task printing options FSRSQ, COVB, CORRB, COVS, CORRS, DW, and COLLIN; and the SOLVE task printing options STATS, THEIL, SOLVEPRINT, and ITPRINT.\",\"type\":\"standalone\"},{\"name\":\"TRACE\",\"optional\":true,\"description\":\"Prints the result of each operation in each statement in the model program as it is executed, in addition to the information printed by the FLOW option. This debugging option is needed very rarely and produces voluminous output.\",\"type\":\"standalone\"},{\"name\":\"XREF\",\"optional\":true,\"description\":\"Prints a cross-reference of the variables in the model program that shows where each variable was referenced or given a value. The XREF option is normally used in conjunction with the LIST option.\",\"type\":\"standalone\"}]},{\"name\":\"ABORT\",\"description\":\"Stops executing the current DATA step, SAS job, or SAS session.\",\"help\":\"ABORT &lt;ABEND&gt;&lt;CANCEL&gt;&lt;CANCEL FILE&gt; ...\",\"arguments\":[{\"name\":\"ABEND\",\"optional\":true,\"description\":\"Causes abnormal termination of the current SAS job or session. Results depend on the method of operation: o batch mode and noninteractive mode o stops processing immediately o sends an error message to the SAS log that states that execution was terminated by the ABEND option of the ABORT macro statement o does not execute any subsequent statements or check syntax o returns control to the operating environment; further action is based on how your operating environment and your site treat jobs that end abnormally. o windowing environment and interactive line mode\",\"type\":\"standalone\"},{\"name\":\"CANCEL\",\"optional\":true,\"description\":\"Causes the cancellation of the current submitted statements. The results depend on the method of operation: o batch mode and noninteractive mode o The entire SAS program and SAS system are terminated. o The error message is written to the SAS log. o windowing environment and interactive line mode o It only clears the current submitted program. o Other subsequent submitted programs are not affected. o The error message is written to the SAS log. o workspace server and stored process server o It only clears currently submitted program. o Other subsequent submit calls are not affected. o The error message is written to the SAS log. o SAS IntrNet application server\",\"help\":\"CANCEL \",\"type\":\"standalone\"},{\"name\":\"CANCEL FILE\",\"optional\":true,\"description\":\"Causes only the contents of the autoexec file or %INCLUDE file to be cleared by the %ABORT statement. Other submitted source statements will be executed after the autoexec or %INCLUDE file.\",\"help\":\" CANCEL FILE\",\"type\":\"standalone\"},{\"name\":\"NOLIST\",\"optional\":true,\"description\":\"suppresses the output of all variables to the SAS log.\",\"type\":\"standalone\"},{\"name\":\"RETURN\",\"optional\":true,\"description\":\"Causes abnormal termination of the current SAS job or session. Results depend on the method of operation: o batch mode and noninteractive mode o stops processing immediately o sends an error message to the SAS log that states that execution was terminated by the RETURN option in the ABORT macro statement o does not execute any subsequent statements or check syntax o returns control to the operating environment with a condition code indicating an error. o windowing environment and interactive line mode\",\"type\":\"standalone\"}]},{\"name\":\"ARRAY\",\"description\":\"Defines the elements of an array.\",\"help\":\"ARRAY &lt;_ALL_&gt;&lt;_NUMERIC_&gt;&lt;_TEMPORARY_&gt; ...\",\"arguments\":[{\"name\":\"_ALL_\",\"optional\":true,\"description\":\"Specifies all variables.\",\"type\":\"standalone\"},{\"name\":\"_CHARACTER_\",\"optional\":true,\"description\":\"Specifies all character variables.\",\"type\":\"standalone\"},{\"name\":\"_NUMERIC_\",\"optional\":true,\"description\":\"Specifies all numeric variables.\",\"type\":\"standalone\"},{\"name\":\"_TEMPORARY_\",\"optional\":true,\"description\":\"Creates a list of temporary data elements.\",\"type\":\"standalone\"}]},{\"name\":\"ATTRIB\",\"description\":\"Associates a format, informat, label, and length with one or more variables.\",\"help\":\"ATTRIB &lt;FORMAT=format&gt;&lt;INFORMAT=informat&gt;&lt;LABEL='label'&gt; ...\",\"arguments\":[{\"name\":\"FORMAT=\",\"optional\":true,\"description\":\"Associates a format with variables in a variable-list.\",\"help\":\"FORMAT=*format*\",\"type\":\"value\"},{\"name\":\"INFORMAT=\",\"optional\":true,\"description\":\"Associates an informat with variables in a variable-list.\",\"help\":\"INFORMAT=*informat*\",\"type\":\"value\"},{\"name\":\"LABEL=\",\"optional\":true,\"description\":\"Associates a label with variables in a variable-list.\",\"help\":\"LABEL='*label*'\",\"type\":\"value\"},{\"name\":\"LENGTH=\",\"optional\":true,\"description\":\"Specifies the length of variables in a variable-list.\",\"type\":\"value\"},{\"name\":\"TRANSCODE=\",\"optional\":true,\"description\":\"Specifies whether character variables can be transcoded.\",\"type\":\"value\"}]},{\"name\":\"BOUNDS\",\"description\":\"The BOUNDS statement imposes simple boundary constraints on the parameter estimates. BOUNDS statement constraints refer to the parameters estimated by the associated FIT statement (that is, to either the preceding FIT statement or, in the absence of a preceding FIT statement, to the following FIT statement). You can specify any number of BOUNDS statements. Each bound is composed of parameters and constants and inequality operators: item operator item < operator item < operator item ...> > Each item is a constant, the name of an estimated parameter, or a list of parameter names. Each operator is <, >, <=, or >=. You can use both the BOUNDS statement and the RESTRICT statement to impose boundary constraints; however, the BOUNDS statement provides a simpler syntax for specifying these kinds of constraints.\",\"help\":\"BOUNDS bound1 &lt;, bound2 ...&gt; \"},{\"name\":\"BY\",\"description\":\"A BY statement is used with the FIT statement to obtain separate estimates for observations in groups defined by the BY variables. Note that if an output model file is written, using the OUTMODEL= option, the parameter values stored are those from the last BY group processed. To save parameter estimates for each BY group, use the OUTEST= option in the FIT statement. A BY statement is used with the SOLVE statement to obtain solutions for observations in groups defined by the BY variables. If the BY variables are identical in the DATA= data set and the ESTDATA= data set, then the two data sets are synchronized and the calculations are performed by using the data and parameters for each BY group. This holds for BY variables in the SDATA= data set as well. If the BY variables do not match, BY group processing is abandoned in either the ESTDATA= data set or the SDATA= data set, whichever has the missing BY value. If the DATA= data set does not contain BY variables and the ESTDATA= data set or the SDATA= data set does, then BY processing is performed for the ESTDATA= data set and the SDATA= data set by reusing the data in the DATA= data set for each BY group.\",\"help\":\"BY variables \"},{\"name\":\"CALL\",\"description\":\"The CALL statement invokes the named library subroutine. The values that are determined for each argument expression are passed to the subroutine when the subroutine is invoked. The subroutine can update the values of PROC OPTMODEL parameters and variables when an argument is an identifier-expression.\",\"help\":\"CALL name ( argument-1 [, ...argument-n] )\"},{\"name\":\"CONTROL\",\"description\":\"The CONTROL statement declares control variables and specifies their values. A control variable is like a parameter except that it has a fixed value and is not estimated from the data. You can use control variables for constants in model equations that you might want to change in different solution cases. You can use control variables to vary the program logic. Unlike the retained variables, these values are fixed across iterations.\",\"help\":\"CONTROL variable &lt; value &gt; ... \"},{\"name\":\"DELETE\",\"description\":\"Stops processing the current observation.\",\"help\":\"DELETE\"},{\"name\":\"DEPENDENT\",\"description\":\"The DEPENDENT statement is equivalent to the ENDOGENOUS statement and is provided for the convenience of non-econometric practitioners. The ENDOGENOUS statement optionally provides initial values for lagged dependent variables.\",\"help\":\"DEPENDENT variable &lt; initial-values &gt; ... \"},{\"name\":\"DO\",\"description\":\"\",\"help\":\"DO &lt;OVER&gt;&lt;&gt;&lt;&gt; ...\",\"arguments\":[{\"name\":\"BY\",\"optional\":true,\"description\":\"Precedes an increment integer (other than 0) or an expression that generates an integer to be added to the value of the index variable in each iteration of the DO loop.\",\"type\":\"standalone\"},{\"name\":\"OVER\",\"optional\":true,\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"TO\",\"optional\":true,\"description\":\"Separates the start and stop integers or expressions that control the number of times the portion of the DATA step between the iterative DO and END statements is processed.\",\"type\":\"standalone\"},{\"name\":\"UNTIL\",\"optional\":true,\"description\":\"...more SAS statements... END\",\"type\":\"standalone\"},{\"name\":\"WHILE\",\"optional\":true,\"description\":\"\",\"type\":\"standalone\"}]},{\"name\":\"DROP\",\"description\":\"Excludes variables from output SAS data sets.\",\"help\":\"DROP variable ... \"},{\"name\":\"ELSE\",\"description\":\"If the condition in an IF-THEN statement is false and an ELSE statement is present, then the ELSE action is carried out.\",\"help\":\"ELSE &lt;DO&gt;&lt;IF&gt;&lt;THEN&gt; ...\",\"arguments\":[{\"name\":\"AND\",\"optional\":true,\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"DO\",\"optional\":true,\"description\":\"Action statement in an IF-THEN-ELSE construct.\",\"type\":\"standalone\"},{\"name\":\"IF\",\"optional\":true,\"description\":\"Executes a SAS statement for observations that meet specific conditions.\",\"type\":\"standalone\"},{\"name\":\"NOT\",\"optional\":true,\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"OR\",\"optional\":true,\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"OUTPUT\",\"optional\":true,\"description\":\"Action statement in an IF-THEN-ELSE construct.\",\"type\":\"standalone\"},{\"name\":\"THEN\",\"optional\":true,\"description\":\"If the conditions that are specified in the IF clause are met, the IF-THEN statement executes a SAS statement for observations that are read from a SAS data set, for records in an external file, or for computed values.\",\"type\":\"standalone\"}]},{\"name\":\"END\",\"description\":\"Ends a DO group or SELECT group processing.\",\"help\":\"END\"},{\"name\":\"ENDOGENOUS\",\"aliases\":[\"ENDOG\",\"ENDO\"],\"description\":\"The ENDOGENOUS statement declares model variables and identifies them as endogenous. You can declare model variables with an ENDOGENOUS statement instead of with a VAR statement to help document the model or to indicate the default solution variables. The variables declared endogenous are solved when a SOLVE statement does not indicate which variables to solve. Valid abbreviations for the ENDOGENOUS statement are ENDOG and ENDO. The DEPENDENT statement is equivalent to the ENDOGENOUS statement and is provided for the convenience of non-econometric practitioners. The ENDOGENOUS statement optionally provides initial values for lagged dependent variables.\",\"help\":\"ENDOGENOUS variable &lt; initial-values &gt; ... \"},{\"name\":\"ERRORMODEL\",\"description\":\"The ERRORMODEL statement is the mechanism for specifying the distribution of the residuals. You must specify the dependent/endogenous variables or general-form model name, a tilde (~), and then a distribution with its parameters.\",\"help\":\"ERRORMODEL &lt;CAUCHY( &lt;location, scale&gt; )&gt;&lt;CHISQUARED ( df &lt;, nc&gt; )&gt;&lt;GENERAL(Likelihood &lt;, parm1, parm2,...parmn &gt; )&gt; ...\",\"arguments\":[{\"name\":\"CAUCHY\",\"optional\":true,\"description\":\"Specifies the Cauchy distribution. This option is supported only for simulation. The arguments correspond to the arguments of the SAS CDF function which computes the cumulative distribution function (ignoring the random variable argument).\",\"type\":\"standalone\"},{\"name\":\"CDF=\",\"optional\":true,\"description\":\"Specifies the univariate distribution that is used for simulation so that the estimation can be done for one set of distributional assumptions and the simulation for another. The CDF can be any of the distributions from the previous section with the exception of the general likelihood. In addition, you can specify the empirical distribution of the residuals. EMPIRICAL= ( <TAILS=(options)> ) uses the sorted residual data to create an empirical CDF. TAILS=( tail-options ) specifies how to handle the tails in computing the inverse CDF from an empirical distribution, where tail-options are: NORMAL specifies the normal distribution to extrapolate the tails. T( df ) specifies the t distribution to extrapolate the tails.\",\"help\":\"CDF=EMPIRICAL= | TAILS= | NORMAL | T | PERCENT=\",\"type\":\"choice\",\"arguments\":[{\"name\":\"EMPIRICAL=\",\"type\":\"value\"},{\"name\":\"TAILS=\",\"type\":\"value\"},{\"name\":\"NORMAL\",\"type\":\"standalone\"},{\"name\":\"T\",\"type\":\"standalone\"},{\"name\":\"PERCENT=\",\"type\":\"value\"}]},{\"name\":\"CHISQUARED\",\"optional\":true,\"description\":\"Specifies the χ² distribution. This option is supported only for simulation. The arguments correspond to the arguments of the SAS CDF function (ignoring the random variable argument).\",\"type\":\"standalone\"},{\"name\":\"F\",\"optional\":true,\"description\":\"Specifies the F distribution. This option is supported only for simulation. The arguments correspond to the arguments of the SAS CDF function (ignoring the random variable argument).\",\"type\":\"standalone\"},{\"name\":\"GENERAL\",\"optional\":true,\"description\":\"Specifies the negative of a general log-likelihood function that you construct by using SAS programming statements. The procedure minimizes the negative log-likelihood function specified. parm1, parm2,...parmn are optional parameters for this distribution and are used for documentation purposes only.\",\"type\":\"standalone\"},{\"name\":\"NORMAL\",\"optional\":true,\"description\":\"Specifies a multivariate normal (Gaussian) distribution with mean 0 and variances ν1 through νn.\",\"type\":\"standalone\"},{\"name\":\"POISSON\",\"optional\":true,\"description\":\"Specifies the Poisson distribution. This option is supported only for simulation. The arguments correspond to the arguments of the SAS CDF function (ignoring the random variable argument).\",\"type\":\"standalone\"},{\"name\":\"T\",\"optional\":true,\"description\":\"Specifies a multivariate t distribution with noncentrality 0, variance ν1 through νn, and common degrees of freedom df.\",\"type\":\"standalone\"},{\"name\":\"UNIFORM\",\"optional\":true,\"description\":\"Specifies the uniform distribution. This option is supported only for simulation. The arguments correspond to the arguments of the SAS CDF function (ignoring the random variable argument).\",\"type\":\"standalone\"}]},{\"name\":\"ESTIMATE\",\"description\":\"The ESTIMATE statement computes estimates of functions of the parameters. The ESTIMATE statement refers to the parameters estimated by the associated FIT statement (that is, to either the preceding FIT statement or, in the absence of a preceding FIT statement, to the following FIT statement). You can use any number of ESTIMATE statements.\",\"help\":\"ESTIMATE &lt;COVB&gt;&lt;OUTCOV&gt;&lt;OUTEST=&gt; ...\",\"arguments\":[{\"name\":\"CORRB\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Prints the correlation matrix of the functions of the parameters.\",\"type\":\"standalone\"},{\"name\":\"COVB\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Prints the covariance matrix of the functions of the parameters.\",\"type\":\"standalone\"},{\"name\":\"OUTCOV\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Writes the covariance matrix of the functions of the parameters to the OUTEST= data set in addition to the parameter estimates.\",\"type\":\"standalone\"},{\"name\":\"OUTEST=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the name of the data set in which the estimate of the functions of the parameters are to be written. The format for this data set is identical to the OUTEST= data set for the FIT statement.\",\"type\":\"value\"}]},{\"name\":\"EXOGENOUS\",\"aliases\":[\"EXOG\",\"EXO\"],\"description\":\"The EXOGENOUS statement declares model variables and identifies them as exogenous. You can declare model variables with an EXOGENOUS statement instead of with a VAR statement to help document the model or to indicate the default instrumental variables. The variables declared exogenous are used as instruments when an instrumental variables estimation method is requested (such as N2SLS or N3SLS) and an INSTRUMENTS statement is not used. Valid abbreviations for the EXOGENOUS statement are EXOG and EXO. The INDEPENDENT statement is equivalent to the EXOGENOUS statement and is provided for the convenience of non-econometric practitioners. The EXOGENOUS statement optionally provides initial values for lagged exogenous variables.\",\"help\":\"EXOGENOUS variable &lt; initial-values &gt; ... \"},{\"name\":\"FIT\",\"description\":\"The FIT statement estimates model parameters by fitting the model equations to input data and optionally selects the equations to be fit. If the list of equations is omitted, all model equations that contain parameters are fitted. [Not all FIT statement options are supported for autocompletion at present.]\",\"help\":\"FIT DROP= ( parameters ...) INITIAL= ( variable = &lt; parameter | constant &gt; ...) PARMS= ( parameters [values] ...) ...\",\"arguments\":[{\"name\":\"DROP=\",\"description\":\"Specifies that the named parameters not be estimated. All the parameters in the equations fit are estimated except those listed in the DROP= option. The dropped parameters retain their previous values and are not changed by the estimation.\",\"type\":\"value\"},{\"name\":\"INITIAL=\",\"description\":\"Associates a variable with an initial value as a parameter or a constant. This option applies only to ordinary differential equations.\",\"type\":\"value\"},{\"name\":\"PARMS=\",\"description\":\"Selects a subset of the parameters for estimation. When the PARMS= option is used, only the named parameters are estimated. Any parameters not specified in the PARMS= list retain their previous values and are not changed by the estimation.\",\"type\":\"value\"},{\"name\":\"PRL=\",\"description\":\"Requests confidence intervals on estimated parameters. By default, the PRL option produces 95% likelihood ratio confidence limits. The coverage of the confidence interval is controlled by the ALPHA= option in the FIT statement.\",\"help\":\"PRL=WALD | LR | BOTH\",\"type\":\"choice\",\"arguments\":[{\"name\":\"WALD\",\"description\":\"Requests likelihood ratio confidence limits.\",\"type\":\"standalone\"},{\"name\":\"LR\",\"description\":\"Requests Wald confidence limits.\",\"type\":\"standalone\"},{\"name\":\"BOTH\",\"description\":\"Requests both Wald and likelihood ratio confidence limits.\",\"type\":\"standalone\"}]},{\"name\":\"START=\",\"description\":\"Supplies starting values for the parameter estimates. In PROC TMODEL, you have several options to specify starting values for the parameters to be estimated. When more than one option is specified, the options are implemented in the following order of precedence (from highest to lowest): the START= option, the PARMS statement initialization value, the ESTDATA= option, and the PARMSDATA= option. If no options are specified for the starting value, the default value of 0.0001 is used. If the START= option specifies more than one starting value for one or more parameters, a grid search is performed over all combinations of the values, and the best combination is used to start the iterations.\",\"type\":\"value\"},{\"name\":\"ADJSMMV\",\"optional\":true,\"description\":\"Specifies adding the variance adjustment from simulating the moments to the variance-covariance matrix of the parameter estimators. By default, no adjustment is made.\",\"type\":\"standalone\"},{\"name\":\"BLOCK\",\"optional\":true,\"description\":\"Prints an analysis of the structure of the model given by the assignments to model variables appearing in the model program. This analysis includes a classification of model variables into endogenous (dependent) and exogenous (independent) groups based on the presence of the variable on the left-hand side of an assignment statement. The endogenous variables are grouped into simultaneously determined blocks. The dependency structure of the simultaneous blocks and exogenous variables is also printed. The BLOCK option cannot analyze dependencies implied by general form equations.\",\"type\":\"standalone\"},{\"name\":\"CHOW=\",\"optional\":true,\"description\":\"Prints the Chow test for break points or structural changes in a model. The argument is the number of observations in the first sample or a parenthesized list of first sample sizes. If the size of the one of the two groups in which the sample is partitioned is less than the number of parameters, then a predictive Chow test is automatically used.\",\"type\":\"value\"},{\"name\":\"COLLIN\",\"optional\":true,\"description\":\"Prints collinearity diagnostics for the Jacobian crossproducts matrix (XPX) after the parameters have converged. Collinearity diagnostics are also automatically printed if the estimation fails to converge.\",\"type\":\"standalone\"},{\"name\":\"CONVERGE=\",\"optional\":true,\"description\":\"Specifies the convergence criteria. The convergence measure must be less than value1 before convergence is assumed. value2 is the convergence criterion for the S and V matrices for S and V iterated methods. value2 defaults to value1.\",\"type\":\"value\"},{\"name\":\"CORR\",\"optional\":true,\"description\":\"Prints the correlation matrices of the residuals and parameters. Using CORR is the same as using both CORRB and CORRS.\",\"type\":\"standalone\"},{\"name\":\"CORRB\",\"optional\":true,\"description\":\"Prints the correlation matrix of the parameter estimates.\",\"type\":\"standalone\"},{\"name\":\"CORRS\",\"optional\":true,\"description\":\"Prints the correlation matrix of the residuals.\",\"type\":\"standalone\"},{\"name\":\"COV\",\"optional\":true,\"description\":\"Prints the covariance matrices of the residuals and parameters. Specifying COV is the same as specifying both COVB and COVS.\",\"type\":\"standalone\"},{\"name\":\"COVB\",\"optional\":true,\"description\":\"Prints the covariance matrix of the parameter estimates.\",\"type\":\"standalone\"},{\"name\":\"COVBEST=\",\"optional\":true,\"description\":\"Specifies the variance-covariance estimator used for FIML. The default is COVBEST=CROSS.\",\"help\":\"COVBEST=GLS | CROSS | FDA\",\"type\":\"choice\",\"arguments\":[{\"name\":\"GLS\",\"description\":\"Selects the generalized least squares estimator.\",\"type\":\"standalone\"},{\"name\":\"CROSS\",\"description\":\"Selects the crossproducts estimator.\",\"type\":\"standalone\"},{\"name\":\"FDA\",\"description\":\"Selects the inverse of the finite difference approximation to the Hessian.\",\"type\":\"standalone\"}]},{\"name\":\"COVS\",\"optional\":true,\"description\":\"Prints the covariance matrix of the residuals.\",\"type\":\"standalone\"},{\"name\":\"DATA=\",\"optional\":true,\"description\":\"Specifies the input data set. Values for the variables in the program are read from this data set. If the DATA= option is not specified on the FIT statement, the data set specified by the DATA= option on the PROC TMODEL statement is used.\",\"help\":\"DATA=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"DETAILS\",\"optional\":true,\"description\":\"Specifies the detailed printout. Parts of the printed output are expanded when the DETAILS option is specified. If ODS GRAPHICS ON is specified, the following additional graphs of the residuals are produced: ACF, PACF, IACF, white noise, and QQ plot versus the normal.\",\"type\":\"standalone\"},{\"name\":\"DW=\",\"optional\":true,\"description\":\"Prints Durbin-Watson d statistics, which measure autocorrelation of the residuals. When the residual series is interrupted by missing observations, the Durbin-Watson statistic calculated is d' as suggested by Savin and White (1978). This is the usual Durbin-Watson computed by ignoring the gaps. Savin and White show that it has the same null distribution as the DW with no gaps in the series and can be used to test for autocorrelation using the standard tables. The Durbin-Watson statistic is not valid for models that contain lagged endogenous variables.\",\"type\":\"value\"},{\"name\":\"DWPROB\",\"optional\":true,\"description\":\"Prints the significance level (p-values) for the Durbin-Watson tests. Since the Durbin-Watson p-values are computationally expensive, they are not reported by default. In the Durbin-Watson test, the null hypothesis is that there is autocorrelation at a specific lag.\",\"type\":\"standalone\"},{\"name\":\"DYNAMIC\",\"optional\":true,\"description\":\"Specifies dynamic estimation of ordinary differential equations.\",\"type\":\"standalone\"},{\"name\":\"EPSILON=\",\"optional\":true,\"description\":\"Specifies the tolerance value used to transform strict inequalities into inequalities when restrictions on parameters are imposed. By default, EPSILON=1E–8.\",\"type\":\"value\"},{\"name\":\"ESTDATA=\",\"optional\":true,\"description\":\"Specifies a data set whose first observation provides initial values for some or all of the parameters.\",\"help\":\"ESTDATA=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"FIML\",\"optional\":true,\"description\":\"Specifies full information maximum likelihood estimation.\",\"type\":\"standalone\"},{\"name\":\"FLOW\",\"optional\":true,\"description\":\"Prints a message for each statement in the model program as it is executed. This debugging option is needed very rarely and produces voluminous output.\",\"type\":\"standalone\"},{\"name\":\"FSRSQ\",\"optional\":true,\"description\":\"Prints the first-stage R² statistics for instrumental estimation methods. These R² statistics measure the proportion of the variance retained when the Jacobian columns associated with the parameters are projected through the instruments space.\",\"type\":\"standalone\"},{\"name\":\"GENGMMV\",\"optional\":true,\"description\":\"Specify GMM variance under arbitrary weighting matrix. This is the default method for GMM estimation.\",\"type\":\"standalone\"},{\"name\":\"GINV=\",\"optional\":true,\"description\":\"Specifies the type of generalized inverse to be used when computing the covariance matrix. The default is GINV=G2.\",\"help\":\"GINV=G2 | G4\",\"type\":\"choice\",\"arguments\":[{\"name\":\"G2\",\"description\":\"A G2 inverse is calculated by satisfying the first two properties of the Moore-Penrose generalized inverse.\",\"type\":\"standalone\"},{\"name\":\"G4\",\"description\":\"Selects the Moore-Penrose generalized inverse.\",\"type\":\"standalone\"}]},{\"name\":\"GMM\",\"optional\":true,\"description\":\"Specifies generalized method of moments estimation.\",\"type\":\"standalone\"},{\"name\":\"GODFREY=\",\"optional\":true,\"description\":\"Performs Godfrey’s tests for autocorrelated residuals for each equation, where n is the maximum autoregressive order, and specifies that Godfrey’s tests be computed for lags 1 through n. The default number of lags is one.\",\"help\":\"GODFREY=*n*\",\"type\":\"value\"},{\"name\":\"GRAPH\",\"optional\":true,\"description\":\"Prints the graph of the dependency structure of the model. The GRAPH option also invokes the BLOCK option and produces a graphical display of the information listed by the BLOCK option.\",\"type\":\"standalone\"},{\"name\":\"HAUSMAN\",\"optional\":true,\"description\":\"Performs Hausman’s specification test, or m-statistics.\",\"type\":\"standalone\"},{\"name\":\"HCCME=\",\"optional\":true,\"description\":\"Specifies the type of heteroscedasticity-consistent covariance matrix estimator to use for OLS, 2SLS, 3SLS, SUR, and the iterated versions of these estimation methods.\",\"help\":\"HCCME=0 | 1 | 2 | 3 | NO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"0\",\"description\":\"Corresponds to the type of covariance matrix estimator to use: HCO\",\"type\":\"standalone\"},{\"name\":\"1\",\"description\":\"Corresponds to the type of covariance matrix estimator to use: HC1\",\"type\":\"standalone\"},{\"name\":\"2\",\"description\":\"Corresponds to the type of covariance matrix estimator to use: HC2\",\"type\":\"standalone\"},{\"name\":\"3\",\"description\":\"Corresponds to the type of covariance matrix estimator to use: HC3\",\"type\":\"standalone\"},{\"name\":\"NO\",\"description\":\"Specifies not to use any covariance matrix estimator.\",\"type\":\"standalone\"}]},{\"name\":\"HESSIAN=\",\"optional\":true,\"description\":\"Specifies the Hessian approximation used for FIML. HESSIAN=GLS is the default.\",\"help\":\"HESSIAN=CROSS | GLS | FDA\",\"type\":\"choice\",\"arguments\":[{\"name\":\"CROSS\",\"description\":\"Selects the crossproducts approximation to the Hessian.\",\"type\":\"standalone\"},{\"name\":\"GLS\",\"description\":\"Selects the generalized least squares approximation to the Hessian.\",\"type\":\"standalone\"},{\"name\":\"FDA\",\"description\":\"Selects the finite difference approximation to the Hessian.\",\"type\":\"standalone\"}]},{\"name\":\"I\",\"optional\":true,\"description\":\"Prints the inverse of the crossproducts Jacobian matrix at each iteration.\",\"type\":\"standalone\"},{\"name\":\"IT2SLS\",\"optional\":true,\"description\":\"Specifies iterated two-stage least squares estimation. This is the same as 2SLS unless there are cross-equation parameter restrictions.\",\"type\":\"standalone\"},{\"name\":\"IT3SLS\",\"optional\":true,\"description\":\"Specifies iterated three-stage least squares estimation.\",\"type\":\"standalone\"},{\"name\":\"ITALL\",\"optional\":true,\"description\":\"Specifies all iteration printing-control options (I, ITDETAILS, ITPRINT, and XPX). ITALL also prints the crossproducts matrix (labeled CROSS), the parameter change vector, and the estimate of the cross-equation covariance of residuals matrix at each iteration.\",\"type\":\"standalone\"},{\"name\":\"ITDETAILS\",\"optional\":true,\"description\":\"Prints a detailed iteration listing. This includes the ITPRINT information and additional statistics.\",\"type\":\"standalone\"},{\"name\":\"ITGMM\",\"optional\":true,\"description\":\"Specifies iterated generalized method of moments estimation.\",\"type\":\"standalone\"},{\"name\":\"ITOLS\",\"optional\":true,\"description\":\"Specifies iterated ordinary least squares estimation. This is the same as OLS unless there are cross-equation parameter restrictions.\",\"type\":\"standalone\"},{\"name\":\"ITPRINT\",\"optional\":true,\"description\":\"Prints the parameter estimates, objective function value, and convergence criteria at each iteration.\",\"type\":\"standalone\"},{\"name\":\"ITSUR\",\"optional\":true,\"description\":\"Specifies iterated seemingly unrelated regression estimation.\",\"type\":\"standalone\"},{\"name\":\"KERNEL=\",\"optional\":true,\"description\":\"Specifies the kernel to be used for GMM and ITGMM. The default is KERNEL=(PARZEN, 1, 0.2).\",\"help\":\"KERNEL=PARZEN | BART | QS\",\"type\":\"choice\",\"arguments\":[{\"name\":\"PARZEN\",\"description\":\"Selects the Parzen kernel.\",\"type\":\"standalone\"},{\"name\":\"BART\",\"description\":\"Selects the Bartlett kernel.\",\"type\":\"standalone\"},{\"name\":\"QS\",\"description\":\"Selects the quadratic spectral kernel. e ≥ 0 and c ≥ 0 are used to compute the bandwidth parameter.\",\"type\":\"standalone\"}]},{\"name\":\"LIST\",\"optional\":true,\"description\":\"Prints the model program and variable lists, including the statements added by PROC TMODEL and macros.\",\"type\":\"standalone\"},{\"name\":\"LISTCODE\",\"optional\":true,\"description\":\"Prints the derivative tables and compiled model program code. LISTCODE is a debugging feature and is not normally needed.\",\"type\":\"standalone\"},{\"name\":\"LISTDEP\",\"optional\":true,\"description\":\"Prints a report that lists for each variable in the model program the variables that depend on it and that it depends on. These lists are given separately for current-period values and for lagged values of the variables.\",\"type\":\"standalone\"},{\"name\":\"LISTDER\",\"optional\":true,\"description\":\"Prints a table of derivatives for FIT and SOLVE tasks. (The LISTDER option is applicable only for the default NEWTON method for SOLVE tasks.) The derivatives table shows each nonzero derivative computed for the problem. The derivative listed can be a constant, a variable in the model program, or a special derivative variable created to hold the result of the derivative expression. This option is turned on by the LISTCODE and PRINTALL options.\",\"type\":\"standalone\"},{\"name\":\"LTEBOUND=\",\"optional\":true,\"description\":\"Specifies the local truncation error bound for the integration. This option is ignored if no ordinary differential equations (ODEs) are specified.\",\"help\":\"LTEBOUND=*n*\",\"type\":\"value\"},{\"name\":\"MAXERRORS=\",\"optional\":true,\"description\":\"Specifies the maximum number of execution errors that can be printed. The default is MAXERRORS=50.\",\"help\":\"MAXERRORS=*n*\",\"type\":\"value\"},{\"name\":\"MAXITER=\",\"optional\":true,\"description\":\"Specifies the maximum number of iterations allowed. The default is MAXITER=100.\",\"help\":\"MAXITER=*n*\",\"type\":\"value\"},{\"name\":\"MAXSUBITER=\",\"optional\":true,\"description\":\"Specifies the maximum number of subiterations allowed for an iteration. For the GAUSS method, the MAXSUBITER= option limits the number of step halvings. For the MARQUARDT method, the MAXSUBITER= option limits the number of times n can be increased. The default is MAXSUBITER=30.\",\"help\":\"MAXSUBITER=*n*\",\"type\":\"value\"},{\"name\":\"METHOD=\",\"optional\":true,\"description\":\"Specifies the iterative minimization method to use. The default is METHOD=GAUSS. If the default GAUSS method fails to converge, the procedure switches to the MARQUARDT method.\",\"help\":\"METHOD=GAUSS | MARQUARDT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"GAUSS\",\"description\":\"Specifies the Gauss-Newton method.\",\"type\":\"standalone\"},{\"name\":\"MARQUARDT\",\"description\":\"Specifies the Marquardt-Levenberg method.\",\"type\":\"standalone\"}]},{\"name\":\"MINTIMESTEP=\",\"optional\":true,\"description\":\"Specifies the smallest allowed time step to be used in the integration. This option is ignored if no ODEs are specified.\",\"help\":\"MINTIMESTEP=*n*\",\"type\":\"value\"},{\"name\":\"MISSING=\",\"optional\":true,\"description\":\"Specifies how missing values are handled. The default is MISSING=DELETE.\",\"help\":\"MISSING=PAIRWISE | DELETE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"PAIRWISE\",\"description\":\"Specifies that missing values are tracked on an equation-by-equation basis.\",\"type\":\"standalone\"},{\"name\":\"DELETE\",\"description\":\"Specifies that the entire observation is omitted from the analysis when any equation has a missing predicted or actual value for the equation.\",\"type\":\"standalone\"}]},{\"name\":\"NDRAW=\",\"optional\":true,\"description\":\"Requests the simulation method for estimation. H is the number of draws. If number of draws is not specified, the default H is set to 10.\",\"type\":\"value\"},{\"name\":\"NESTIT\",\"optional\":true,\"description\":\"Changes the way the iterations are performed for estimation methods that iterate the estimate of the equation covariance (S matrix). The NESTIT option is relevant only for the methods that iterate the estimate of the covariance matrix (ITGMM, ITOLS, ITSUR, IT2SLS, and IT3SLS).\",\"type\":\"standalone\"},{\"name\":\"NO3SLS\",\"optional\":true,\"description\":\"Specifies not to use 3SLS automatically for FIML initial parameter starting values.\",\"type\":\"standalone\"},{\"name\":\"NOGENGMMV\",\"optional\":true,\"description\":\"Specifies not to use GMM variance under arbitrary weighting matrix. Use GMM variance under optimal weighting matrix instead.\",\"type\":\"standalone\"},{\"name\":\"NOOLS\",\"optional\":true,\"aliases\":[\"NO2SLS\"],\"description\":\"Specifies bypassing OLS or 2SLS to get initial parameter estimates for GMM, ITGMM, or FIML. This is important for certain models that are poorly defined in OLS or 2SLS, or if good initial parameter values are already provided. Note that for GMM, the V matrix is created by using the initial values specified and this might not be consistently estimated.\",\"type\":\"standalone\"},{\"name\":\"NOPRINT\",\"optional\":true,\"description\":\"Suppresses the normal printed output but does not suppress error listings. Using any other print option turns the NOPRINT option off. The PRINT option can be used with the RESET statement to turn off NOPRINT.\",\"type\":\"standalone\"},{\"name\":\"NORMAL\",\"optional\":true,\"description\":\"Performs tests of normality of the model residuals.\",\"type\":\"standalone\"},{\"name\":\"NPREOBS=\",\"optional\":true,\"description\":\"Specifies the initial number of observations to run the simulation before the simulated values are compared to observed variables. This option is most useful in cases where the program statements involve lag operations. Use this option to avoid the effect of the starting point on the simulation.\",\"type\":\"value\"},{\"name\":\"NVDRAW=\",\"optional\":true,\"description\":\"Specifies H', the number of draws for V matrix. If this option is not specified, the default H' is set to 20.\",\"type\":\"value\"},{\"name\":\"OLS\",\"optional\":true,\"description\":\"Specifies ordinary least squares estimation. This is the default.\",\"type\":\"standalone\"},{\"name\":\"OUT=\",\"optional\":true,\"description\":\"Names the SAS data set to contain the residuals, predicted values, or actual values from each estimation.\",\"help\":\"OUT=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"OUTACTUAL\",\"optional\":true,\"description\":\"Writes the actual values of the endogenous variables of the estimation to the OUT= data set. This option is applicable only if the OUT= option is specified.\",\"type\":\"standalone\"},{\"name\":\"OUTALL\",\"optional\":true,\"description\":\"Selects the OUTACTUAL, OUTERRORS, OUTLAGS, OUTPREDICT, and OUTRESID options.\",\"type\":\"standalone\"},{\"name\":\"OUTCOV\",\"optional\":true,\"aliases\":[\"COVOUT\"],\"description\":\"Writes the covariance matrix of the estimates to the OUTEST= data set in addition to the parameter estimates. The OUTCOV option is applicable only if the OUTEST= option is also specified.\",\"type\":\"standalone\"},{\"name\":\"OUTEST=\",\"optional\":true,\"description\":\"Names the SAS data set to contain the parameter estimates and optionally the covariance of the estimates.\",\"help\":\"OUTEST=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"OUTLAGS\",\"optional\":true,\"description\":\"Writes the observations used to start the lags to the OUT= data set. This option is applicable only if the OUT= option is specified.\",\"type\":\"standalone\"},{\"name\":\"OUTPREDICT\",\"optional\":true,\"description\":\"Writes the predicted values to the OUT= data set. This option is applicable only if OUT= is specified.\",\"type\":\"standalone\"},{\"name\":\"OUTRESID\",\"optional\":true,\"description\":\"Writes the residual values computed from the parameter estimates to the OUT= data set. The OUTRESID option is the default if neither OUTPREDICT nor OUTACTUAL is specified. This option is applicable only if the OUT= option is specified.\",\"type\":\"standalone\"},{\"name\":\"OUTS=\",\"optional\":true,\"description\":\"Names the SAS data set to contain the estimated covariance matrix of the equation errors. This is the covariance of the residuals computed from the parameter estimates.\",\"help\":\"OUTS=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"OUTSN=\",\"optional\":true,\"description\":\"Names the SAS data set to contain the estimated normalized covariance matrix of the equation errors. This is valid for multivariate t distribution estimation.\",\"help\":\"OUTSN=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"OUTSUSED=\",\"optional\":true,\"description\":\"Names the SAS data set to contain the S matrix used in the objective function definition. The OUTSUSED= data set is the same as the OUTS= data set for the methods that iterate the S matrix.\",\"help\":\"OUTSUSED=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"OUTUNWGTRESID\",\"optional\":true,\"description\":\"Writes the unweighted residual values computed from the parameter estimates to the OUT= data set. These are residuals computed as actual-predicted with no accounting for the WEIGHT statement, the _WEIGHT_ variable, or any variance expressions. This option is applicable only if the OUT= option is specified.\",\"type\":\"standalone\"},{\"name\":\"OUTV=\",\"optional\":true,\"description\":\"Names the SAS data set to contain the estimate of the variance matrix for GMM and ITGMM.\",\"help\":\"OUTV=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"PCHOW=\",\"optional\":true,\"description\":\"Prints the predictive Chow test for break points or structural changes in a model. The argument is the number of observations in the first sample or a parenthesized list of first sample sizes.\",\"type\":\"value\"},{\"name\":\"PRINTALL\",\"optional\":true,\"description\":\"Turns on all the printing-control options. The options set by PRINTALL are DETAILS; the model information options LIST, LISTDEP, LISTDER, XREF, BLOCK, and GRAPH; the FIT task printing options FSRSQ, COVB, CORRB, COVS, CORRS, DW, and COLLIN; and the SOLVE task printing options STATS, THEIL, SOLVEPRINT, and ITPRINT.\",\"type\":\"standalone\"},{\"name\":\"SDATA=\",\"optional\":true,\"description\":\"Specifies a data set that provides the covariance matrix of the equation errors. The matrix read from the SDATA= data set is used for the equation covariance matrix (S matrix) in the estimation. (The SDATA= S matrix is used to provide only the initial estimate of S for the methods that iterate the S matrix.)\",\"help\":\"SDATA=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"SINGULAR=\",\"optional\":true,\"description\":\"Specifies the smallest pivot value allowed. The default 1.0E–12.\",\"help\":\"SINGULAR=*value*\",\"type\":\"value\"},{\"name\":\"STARTITER=\",\"optional\":true,\"description\":\"Specifies the number of minimization iterations to perform at each grid point. The default is STARTITER=0, which implies that no minimization is performed at the grid points.\",\"help\":\"STARTITER=*n*\",\"type\":\"value\"},{\"name\":\"SUR\",\"optional\":true,\"description\":\"Specifies seemingly unrelated regression estimation.\",\"type\":\"standalone\"},{\"name\":\"TIME=\",\"optional\":true,\"description\":\"Specifies the name of the time variable. This variable must be in the data set.\",\"help\":\"TIME=*name*\",\"type\":\"value\"},{\"name\":\"TRACE\",\"optional\":true,\"description\":\"Prints the result of each operation in each statement in the model program as it is executed, in addition to the information printed by the FLOW option. This debugging option is needed very rarely and produces voluminous output.\",\"type\":\"standalone\"},{\"name\":\"TYPE=\",\"optional\":true,\"description\":\"Specifies the estimation type to read from the SDATA= and ESTDATA= data sets. The name specified in the TYPE= option is compared to the _TYPE_ variable in the ESTDATA= and SDATA= data sets to select observations to use in constructing the covariance matrices. When the TYPE= option is omitted, the last estimation type in the data set is used. Valid values are the estimation methods used in PROC TMODEL.\",\"help\":\"TYPE=*name*\",\"type\":\"value\"},{\"name\":\"VARDEF=\",\"optional\":true,\"description\":\"Specifies the denominator to be used in computing variances and covariances, MSE, root MSE measures, and so on. The default is VARDEF=DF.\",\"help\":\"VARDEF=N | WGT | DF | WDF\",\"type\":\"choice\",\"arguments\":[{\"name\":\"N\",\"description\":\"Specifies that the number of nonmissing observations be used.\",\"type\":\"standalone\"},{\"name\":\"WGT\",\"description\":\"Specifies that the sum of the weights be used.\",\"type\":\"standalone\"},{\"name\":\"DF\",\"description\":\"Specifies that the number of nonmissing observations minus the model degrees of freedom (number of parameters) be used.\",\"type\":\"standalone\"},{\"name\":\"WDF\",\"description\":\"Specifies that the sum of the weights minus the model degrees of freedom be used.\",\"type\":\"standalone\"}]},{\"name\":\"VDATA=\",\"optional\":true,\"description\":\"Specifies a data set that contains a variance matrix for GMM and ITGMM estimation.\",\"help\":\"VDATA=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"WHITE\",\"optional\":true,\"description\":\"Specifies White’s test.\",\"type\":\"standalone\"},{\"name\":\"XPX\",\"optional\":true,\"description\":\"Prints the crossproducts Jacobian matrix at each iteration.\",\"type\":\"standalone\"},{\"name\":\"XREF\",\"optional\":true,\"description\":\"Prints a cross-reference of the variables in the model program that shows where each variable was referenced or given a value. The XREF option is normally used in conjunction with the LIST option.\",\"type\":\"standalone\"}]},{\"name\":\"GOTO\",\"description\":\"Jumps to a new statement.\",\"help\":\"GOTO label\"},{\"name\":\"ID\",\"description\":\"The ID statement specifies variables to identify observations in error messages or other listings and in the OUT= data set. The ID variables are normally SAS date or datetime variables. If more than one ID variable is used, the first variable is used to identify the observations; the remaining variables are added to the OUT= data set.\",\"help\":\"ID variables \"},{\"name\":\"IF\",\"description\":\"\",\"help\":\"IF &lt;DO&gt;&lt;THEN&gt;&lt;WHEN&gt; ...\",\"arguments\":[{\"name\":\"AND\",\"optional\":true,\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"DO\",\"optional\":true,\"description\":\"Action statement in an IF-THEN construct.\",\"type\":\"standalone\"},{\"name\":\"GO\",\"optional\":true,\"aliases\":[\"GOTO\"],\"description\":\"Jumps to a new statement.\",\"help\":\"GO TO\",\"type\":\"standalone\"},{\"name\":\"NOT\",\"optional\":true,\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"OR\",\"optional\":true,\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"OUTPUT\",\"optional\":true,\"description\":\"Action statement in an IF-THEN construct.\",\"type\":\"standalone\"},{\"name\":\"PUT\",\"optional\":true,\"description\":\"Action statement in an IF-THEN construct.\",\"type\":\"standalone\"},{\"name\":\"SET\",\"optional\":true,\"description\":\"Reads an observation from one or more SAS data sets.\",\"type\":\"standalone\"},{\"name\":\"STOP\",\"optional\":true,\"description\":\"Action statement in an IF-THEN construct. Stops execution of the current DATA step.\",\"type\":\"standalone\"},{\"name\":\"THEN\",\"optional\":true,\"description\":\"If the conditions that are specified in the IF clause are met, the IF-THEN statement executes a SAS statement for observations that are read from a SAS data set, for records in an external file, or for computed values.\",\"type\":\"standalone\"},{\"name\":\"WHEN\",\"optional\":true,\"description\":\"WHEN statement in an IF-THEN-WHEN construct.\",\"type\":\"standalone\"}]},{\"name\":\"INCLUDE\",\"description\":\"The INCLUDE statement reads model files and inserts their contents into the current model. However, instead of replacing the current model as the RESET MODEL= option does, the contents of included model files are inserted into the model program at the position that the INCLUDE statement appears.\",\"help\":\"INCLUDE model-names ... \"},{\"name\":\"INDEPENDENT\",\"description\":\"The INDEPENDENT statement is equivalent to the EXOGENOUS statement and is provided for the convenience of non-econometric practitioners. The EXOGENOUS statement optionally provides initial values for lagged exogenous variables.\",\"help\":\"INDEPENDENT variable &lt; initial-values &gt; ... \"},{\"name\":\"INSTRUMENTS\",\"description\":\"The INSTRUMENTS statement specifies the instrumental variables to be used in the N2SLS, N3SLS, IT2SLS, IT3SLS, GMM, and ITGMM estimation methods. There are three ways of specifying the INSTRUMENTS statement. The first form of the INSTRUMENTS statement is used only after the FIT statement and before the next RUN statement. The items specified as instruments for the second form can be variables, names of parameters to be estimated, or the special keyword _EXOG_. The keyword _EXOG_ indicates that all the model variables declared EXOGENOUS are to be added to the instruments list. The second form of the INSTRUMENTS statement is declared before a FIT statement and defines the default instruments list. The items specified as instruments can be variables or the special keyword _EXOG_. If a single INSTRUMENTS statement of the second form is declared before multiple FIT statements, then it serves as the default instruments list for each of the FIT statements. However, if any of these FIT statements are followed by separate INSTRUMENTS statement, then the latter take precedence over the default list. Hence, in the case of multiple FIT statements, the INSTRUMENTS statement for a particular FIT statement is written below the FIT statement if instruments other than the default are required. For a single FIT statement, you can declare the INSTRUMENTS statement of the second form either preceding or following the FIT statement. A third form of the INSTRUMENTS statement is used to specify instruments for each equation. No explicit intercept is added, parameters cannot be specified to represent instruments, and the _EXOG_ keyword is not allowed. Equations not explicitly assigned instruments use all the instruments specified for the other equations as well as instruments not assigned specific equations.\",\"help\":\"INSTRUMENTS EXCLUDE=(parameters) &lt;NOINTERCEPT&gt; _EXOG_ ...\",\"arguments\":[{\"name\":\"EXCLUDE=\",\"description\":\"Specifies that the derivatives of the equations with respect to all of the parameters to be estimated (except the parameters listed in the EXCLUDE list) be used as instruments, in addition to the other instruments specified. If you use the EXCLUDE= option, you should be sure that the derivatives with respect to the nonexcluded parameters in the estimation are independent of the endogenous variables and not functions of the parameters estimated.\",\"type\":\"value\"},{\"name\":\"_EXOG_\",\"description\":\"The keyword _EXOG_ indicates that all the model variables declared EXOGENOUS are to be added to the instruments list.\",\"type\":\"standalone\"},{\"name\":\"INTONLY\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies that only the intercept be used as an instrument. This option is used for GMM estimation where the moments have been specified explicitly.\",\"type\":\"standalone\"},{\"name\":\"NOINTERCEPT\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"NOINT\"],\"description\":\"Excludes the constant of 1.0 (intercept) from the instruments list. An intercept is included as an instrument while using the first or second form of the INSTRUMENTS statement unless NOINTERCEPT is specified.\",\"type\":\"standalone\"}]},{\"name\":\"KEEP\",\"description\":\"The KEEP statement specifies which variables are to be included in the analysis and/or output.\",\"help\":\"KEEP variable-list \"},{\"name\":\"LABEL\",\"description\":\"\",\"help\":\"\"},{\"name\":\"LENGTH\",\"description\":\"Specifies the number of bytes for storing variables.\",\"help\":\"LENGTH &lt;DEFAULT=n&gt;\",\"arguments\":[{\"name\":\"DEFAULT=\",\"optional\":true,\"description\":\"Changes the default number of bytes that SAS uses to store the values of any newly created numeric variables.\",\"help\":\"DEFAULT=*n*\",\"type\":\"value\"}]},{\"name\":\"LINK\",\"description\":\"Directs program execution immediately to the statement label that is specified and, if followed by a RETURN statement, returns execution to the statement that follows the LINK statement.\",\"help\":\"LINK statement-label\"},{\"name\":\"MOMENT\",\"description\":\"In many scenarios, endogenous variables are observed from data. From the models, you can simulate these endogenous variables based on a fixed set of parameters. The goal of simulated method of moments (SMM) is to find a set of parameters such that the moments of the simulated data match the moments of the observed variables. If there are many moments to match, the code might be tedious. The following MOMENT statement provides a way to generate some commonly used moments automatically. Multiple MOMENT statements can be used. variables can be one or more endogenous variables. moment specification can have the following four types: o ( number list ) specifies that the endogenous variable is raised to the power specified by each number in number list. o ABS( number list ) specifies that the absolute value of the endogenous variable is raised to the power specified by each number in number list. o LAGnum ( number list ) specifies that the endogenous variable is multiplied by the num th lag of the endogenous variable, and this product is raised to the power specified by each number in number list. o ABS_LAGnum ( number list ) specifies that the endogenous variable is multiplied by the num th lag of the endogenous variable, and the absolute value of this product is raised to the power specified by each number in number list.\",\"help\":\"MOMENT variables = moment specification \"},{\"name\":\"NUMBER\",\"description\":\"Declaration of parameters that have a NUMBER type.\",\"help\":\"NUMBER &lt;INIT expression&gt;\",\"arguments\":[{\"name\":\"INIT\",\"optional\":true,\"description\":\"Specifies a default value that is used when a parameter value is required but no other value has been supplied.\",\"type\":\"standalone\"}]},{\"name\":\"OTHERWISE\",\"description\":\">\",\"help\":\"\"},{\"name\":\"OUTVARS\",\"aliases\":[\"OUTVAR\"],\"description\":\"The OUTVARS statement specifies additional variables defined in the model program to be output to the OUT= data sets. The OUTVARS statement is not needed unless the variables to be added to the output data set are not referred to by the model, or unless you want to include parameters or other special variables in the OUT= data set. The OUTVARS statement includes additional variables, whereas the KEEP statement excludes variables.\",\"help\":\"OUTVARS variables \"},{\"name\":\"PARAMETERS\",\"aliases\":[\"PARMS\",\"PARM\"],\"description\":\"The PARAMETERS statement declares the parameters of a model and optionally sets their initial values. Valid abbreviations are PARMS and PARM. Each parameter has a single value associated with it, which is the same for all observations. Lagging is not relevant for parameters. If a value is not specified in the PARMS statement (or by the PARMS= option of a FIT statement), the value defaults to 0.0001 for FIT tasks and to a missing value for SOLVE tasks.\",\"help\":\"PARAMETERS variable &lt;value&gt; &lt;variable &lt;value&gt;&gt; ... \"},{\"name\":\"PUT\",\"description\":\"The PUT statement writes text data to the current output file.\",\"help\":\"PUT &lt;_PAGE_&gt;\",\"arguments\":[{\"name\":\"_PAGE_\",\"optional\":true,\"description\":\"Outputs any pending line data and moves to the top of the next page.\",\"type\":\"standalone\"}]},{\"name\":\"RANGE\",\"description\":\"The RANGE statement specifies the range of observations to be read from the DATA= data set. For FIT tasks, the RANGE statement controls the period of fit for the estimation. For SOLVE tasks, the RANGE statement controls the simulation period or forecast horizon. The RANGE variable must be a numeric variable in the DATA= data set that identifies the observations, and the data set must be sorted by the RANGE variable. The first observation in the range is identified by first, and the last observation is identified by last.\",\"help\":\"RANGE &lt;RANGE variable &lt; = first &gt; &lt; TO last &gt; &gt;\",\"arguments\":[{\"name\":\"TO\",\"optional\":true,\"description\":\"Separates the first and last observations in the range.\",\"type\":\"standalone\"}]},{\"name\":\"RENAME\",\"description\":\"Specifies new names for variables in output SAS data sets.\",\"help\":\"RENAME old-name-1=new-name-1 ... &lt;old-name-n=new-name-n&gt;\"},{\"name\":\"RESET\",\"description\":\"All of the options of the PROC TMODEL statement can be reset by the RESET statement. In addition, the RESET statement supports one additional option: PURGE deletes the current model so that a new model can be defined.\",\"help\":\"RESET &lt;DATA=SAS-data-set&gt;&lt;OUTPARMS=SAS-data-set&gt;&lt;PURGE&gt; ...\",\"arguments\":[{\"name\":\"BLOCK\",\"optional\":true,\"description\":\"Prints an analysis of the structure of the model given by the assignments to model variables appearing in the model program. This analysis includes a classification of model variables into endogenous (dependent) and exogenous (independent) groups based on the presence of the variable on the left-hand side of an assignment statement. The endogenous variables are grouped into simultaneously determined blocks. The dependency structure of the simultaneous blocks and exogenous variables is also printed. The BLOCK option cannot analyze dependencies implied by general form equations.\",\"type\":\"standalone\"},{\"name\":\"DATA=\",\"optional\":true,\"description\":\"Names the input data set. Variables in the model program are looked up in the DATA= data set and, if found, their attributes (type, length, label, format) are set to be the same as those in the input data set (if not previously defined otherwise). The values for the variables in the program are read from the input data set when the model is estimated or simulated by FIT and SOLVE statements.\",\"help\":\"DATA=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"DETAILS\",\"optional\":true,\"description\":\"Specifies the detailed printout. Parts of the printed output are expanded when the DETAILS option is specified. If ODS GRAPHICS ON is specified, the following additional graphs of the residuals are produced: ACF, PACF, IACF, white noise, and QQ plot versus the normal.\",\"type\":\"standalone\"},{\"name\":\"FLOW\",\"optional\":true,\"description\":\"Prints a message for each statement in the model program as it is executed. This debugging option is needed very rarely and produces voluminous output.\",\"type\":\"standalone\"},{\"name\":\"GRAPH\",\"optional\":true,\"description\":\"Prints the graph of the dependency structure of the model. The GRAPH option also invokes the BLOCK option and produces a graphical display of the information listed by the BLOCK option.\",\"type\":\"standalone\"},{\"name\":\"LIST\",\"optional\":true,\"description\":\"prints the model program and variable lists, including the statements added by PROC TMODEL and macros.\",\"type\":\"standalone\"},{\"name\":\"LISTALL\",\"optional\":true,\"description\":\"Selects the LIST, LISTDEP, LISTDER, and LISTCODE options.\",\"type\":\"standalone\"},{\"name\":\"LISTCODE\",\"optional\":true,\"description\":\"Prints the derivative tables and compiled model program code. LISTCODE is a debugging feature and is not normally needed.\",\"type\":\"standalone\"},{\"name\":\"LISTDEP\",\"optional\":true,\"description\":\"Prints a report that lists for each variable in the model program the variables that depend on it and that it depends on. These lists are given separately for current-period values and for lagged values of the variables.\",\"type\":\"standalone\"},{\"name\":\"LISTDER\",\"optional\":true,\"description\":\"Prints a table of derivatives for FIT and SOLVE tasks. (The LISTDER option is applicable only for the default NEWTON method for SOLVE tasks.) The derivatives table shows each nonzero derivative computed for the problem. The derivative listed can be a constant, a variable in the model program, or a special derivative variable created to hold the result of the derivative expression. This option is turned on by the LISTCODE and PRINTALL options.\",\"type\":\"standalone\"},{\"name\":\"MAXERRORS=\",\"optional\":true,\"description\":\"Specifies the maximum number of execution errors that can be printed. The default is MAXERRORS=50.\",\"help\":\"MAXERRORS=*n*\",\"type\":\"value\"},{\"name\":\"MEMORYUSE\",\"optional\":true,\"description\":\"Prints a report of the memory required for the various parts of the analysis.\",\"type\":\"standalone\"},{\"name\":\"MODEL=\",\"optional\":true,\"description\":\"Reads the model from one or more input model files created by previous PROC TMODEL executions. Model files are written by the OUTMODEL= option.\",\"type\":\"value\"},{\"name\":\"NDEC=\",\"optional\":true,\"description\":\"Specifies the precision of the format that PROC TMODEL uses when printing various numbers. The default is NDEC=3, which means that PROC TMODEL attempts to print values by using the D format but ensures that at least three significant digits are shown. If the NDEC= value is greater than nine, the BEST. format is used. The smallest value allowed is NDEC=2.\",\"help\":\"NDEC=*n*\",\"type\":\"value\"},{\"name\":\"NOPRINT\",\"optional\":true,\"description\":\"Suppresses the normal printed output but does not suppress error listings. Using any other print option turns the NOPRINT option off. The PRINT option can be used with the RESET statement to turn off NOPRINT.\",\"type\":\"standalone\"},{\"name\":\"NOSTORE\",\"optional\":true,\"description\":\"Suppresses the default output of the model file. This option is applicable only when FIT or SOLVE statements are not used, the MODEL= option is not used, and when a model is specified.\",\"type\":\"standalone\"},{\"name\":\"OUTMODEL=\",\"optional\":true,\"description\":\"Specifies the name of an output model file to which the model is to be written. Starting with SAS 9.2, model files are being stored as XML-based SAS data sets instead of being stored as members of a SAS catalog as in earlier releases. This makes MODEL files more readily extendable in the future and enables Java-based applications to read the MODEL files directly. To change this behavior, use the SAS global-CMPMODEL-options. You can choose the format in which the output model file is stored and read by using the CMPMODEL=global-CMPMODEL-options in an PTIONS statement as follows.\",\"help\":\"OUTMODEL=*model-name*\",\"type\":\"value\"},{\"name\":\"OUTPARMS=\",\"optional\":true,\"description\":\"Writes the parameter estimates to a SAS data set.\",\"help\":\"OUTPARMS=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"PARMSDATA=\",\"optional\":true,\"description\":\"Names the SAS data set that contains the parameter estimates. In PROC TMODEL, you have several options to specify starting values for the parameters to be estimated. When more than one option is specified, the options are implemented in the following order of precedence (from highest to lowest): the START= option, the PARMS statement initialization value, the ESTDATA= option, and the PARMSDATA= option. If no options are specified for the starting value, the default value of 0.0001 is used.\",\"help\":\"PARMSDATA=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"PLOTS=\",\"optional\":true,\"description\":\"Requests that the TMODEL procedure produce statistical graphics via the Output Delivery System, provided that the ODS GRAPHICS statement has been specified. The global-plot-options apply to all relevant plots generated by the TMODEL procedure. The global-plot-options supported by the TMODEL procedure follow. ONLY suppresses the default plots. Only the plots specifically requested are produced.\",\"help\":\"PLOTS=ALL | ACF | IACF | PACF | FITPLOT | COOKSD | QQ | RESIDUAL | STUDENTRESIDUAL | RESIDUALHISTOGRAM | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ALL\",\"description\":\"Requests that all plots appropriate for the particular analysis be produced.\",\"type\":\"standalone\"},{\"name\":\"ACF\",\"description\":\"Produces the autocorrelation function plot.\",\"type\":\"standalone\"},{\"name\":\"IACF\",\"description\":\"Produces the inverse autocorrelation function plot of residuals.\",\"type\":\"standalone\"},{\"name\":\"PACF\",\"description\":\"Produces the partial autocorrelation function plot of residuals.\",\"type\":\"standalone\"},{\"name\":\"FITPLOT\",\"description\":\"Plots the predicted and actual values.\",\"type\":\"standalone\"},{\"name\":\"COOKSD\",\"description\":\"Produces the Cook’s D plot.\",\"type\":\"standalone\"},{\"name\":\"QQ\",\"description\":\"Produces a QQ plot of residuals.\",\"type\":\"standalone\"},{\"name\":\"RESIDUAL\",\"aliases\":[\"RES\"],\"description\":\"Plots the residuals.\",\"type\":\"standalone\"},{\"name\":\"STUDENTRESIDUAL\",\"description\":\"Plots the studentized residuals.\",\"type\":\"standalone\"},{\"name\":\"RESIDUALHISTOGRAM\",\"aliases\":[\"RESIDHISTOGRAM\"],\"description\":\"Plots the histogram of residuals.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"Suppresses all plots.\",\"type\":\"standalone\"}]},{\"name\":\"PRINTALL\",\"optional\":true,\"description\":\"Turns on all the printing-control options. The options set by PRINTALL are DETAILS; the model information options LIST, LISTDEP, LISTDER, XREF, BLOCK, and GRAPH; the FIT task printing options FSRSQ, COVB, CORRB, COVS, CORRS, DW, and COLLIN; and the SOLVE task printing options STATS, THEIL, SOLVEPRINT, and ITPRINT.\",\"type\":\"standalone\"},{\"name\":\"PURGE\",\"optional\":true,\"description\":\"Deletes the current model so that a new model can be defined.\",\"type\":\"standalone\"},{\"name\":\"TRACE\",\"optional\":true,\"description\":\"Prints the result of each operation in each statement in the model program as it is executed, in addition to the information printed by the FLOW option. This debugging option is needed very rarely and produces voluminous output.\",\"type\":\"standalone\"},{\"name\":\"XREF\",\"optional\":true,\"description\":\"Prints a cross-reference of the variables in the model program that shows where each variable was referenced or given a value. The XREF option is normally used in conjunction with the LIST option.\",\"type\":\"standalone\"}]},{\"name\":\"RESTRICT\",\"description\":\"The RESTRICT statement is used to impose linear and nonlinear restrictions on the parameter estimates. RESTRICT statements refer to the parameters estimated by the associated FIT statement (that is, to either the preceding FIT statement or, in the absence of a preceding FIT statement, to the following FIT statement). You can specify any number of RESTRICT statements. Each restriction is written as an optional name, followed by an expression, followed by an equality operator (=) or an inequality operator (<, >, <=, >=), followed by a second expression: < \\\"name\\\" > expression operator expression The optional \\\"name\\\" is a string used to identify the restriction in the printed output and in the OUTEST= data set. The operator can be =, <, >, <= , or >=. The operator and second expression are optional.\",\"help\":\"RESTRICT restriction1 &lt; , restriction2 ...&gt; \"},{\"name\":\"RETAIN\",\"description\":\"Causes a variable that is created by an INPUT or assignment statement to retain its value from one iteration to the next.\",\"help\":\"RETAIN variable-list1 value1 &lt; variable-list2 value2 ...&gt; \"},{\"name\":\"RETURN\",\"description\":\"Stops executing statements at the current point in the DATA step and returns to a predetermined point in the step.\",\"help\":\"RETURN\"},{\"name\":\"SELECT\",\"description\":\"\",\"help\":\"\"},{\"name\":\"SOLVE\",\"description\":\"The SOLVE statement specifies that the model be simulated or forecast for input data values and, optionally, selects the variables to be solved. If the list of variables is omitted, all of the model variables declared ENDOGENOUS are solved. If no model variables are declared ENDOGENOUS, then all model variables are solved. (SOLVE statement options are not currently supported for autocompletion.)\",\"help\":\"SOLVE SATISFY=equation | SATISFY=( equations ) \",\"arguments\":[{\"name\":\"SATISFY=\",\"description\":\"Specifies a subset of the model equations that the solution values are to satisfy. If the SATISFY= option is not used, the solution is computed to satisfy all the model equations. Note that the number of equations must equal the number of variables solved.\",\"type\":\"value\"}]},{\"name\":\"STOP\",\"description\":\"The STOP statement halts the execution of all statements that contain it, including DO statements and other control or looping statements. Execution continues with the next top-level source statement.\",\"help\":\"STOP \"},{\"name\":\"TEST\",\"description\":\"The TEST statement performs tests of nonlinear hypotheses on the model parameters. The TEST statement applies to the parameters estimated by the associated FIT statement (that is, either the preceding FIT statement or, in the absence of a preceding FIT statement, the following FIT statement). You can specify any number of TEST statements.\",\"help\":\"TEST &lt;LM&gt;&lt;LR&gt;&lt;WALD&gt; ...\",\"arguments\":[{\"name\":\"ALL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests all three types of tests.\",\"type\":\"standalone\"},{\"name\":\"LM\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"RAO\",\"LGRANGE\"],\"description\":\"Specifies that a Lagrange multiplier test be computed.\",\"type\":\"standalone\"},{\"name\":\"LR\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"LIKE\"],\"description\":\"Specifies that a likelihood ratio test be computed.\",\"type\":\"standalone\"},{\"name\":\"OUT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the name of an output SAS data set that contains the test results. The format of the OUT= data set produced by the TEST statement is similar to that of the OUTEST= data set produced by the FIT statement.\",\"help\":\"OUT=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"WALD\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies that a Wald test be computed. WALD is the default.\",\"type\":\"standalone\"}]},{\"name\":\"VAR\",\"aliases\":[\"VARS\"],\"description\":\"The VAR statement declares model variables and optionally provides initial values for the lags of the variables.\",\"help\":\"VAR variables &lt;initial-values&gt; ... \"},{\"name\":\"WEIGHT\",\"aliases\":[\"WGT\"],\"description\":\"The WEIGHT statement specifies a variable to supply weighting values to use for each observation in estimating parameters. If the weight of an observation is nonpositive, that observation is not used for the estimation. variable must be a numeric variable in the input data set. An alternative weighting method is to use an assignment statement to give values to the special variable _WEIGHT_. The _WEIGHT_ variable must not depend on the parameters being estimated. If both weighting specifications are given, the weights are multiplied together.\",\"help\":\"WEIGHT variable \"},{\"name\":\"WHEN\",\"description\":\"\",\"help\":\"WHEN &lt;DO&gt;\",\"arguments\":[{\"name\":\"DO\",\"optional\":true,\"description\":\"\",\"type\":\"standalone\"}]}],\"interactive\":true,\"supportSiteInformation\":{\"docsetId\":\"etsug\",\"docsetVersion\":\"latest\",\"docsetTargetFile\":\"etsug_tmodel_toc.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/TMSCORE.json",
    "content": "{\"name\":\"TMSCORE\",\"statements\":[{\"name\":\"PROC TMSCORE\",\"description\":\"The TMSCORE procedure scores textual data in SAS Viya. In text mining, scoring is the process of applying parsing and singular value decomposition (SVD) projections to new textual data. The TMSCORE procedure performs this scoring of new documents, and its primary outputs are the Outparent data table (which holds the parsing results of the term-by-document matrix) and the Outdocpro data table (which holds the reduced dimensional representation of the score collection). PROC TMSCORE uses some of the output data tables of the TEXTMINE procedure as input data to ensure consistency between scoring and training. During scoring, the new textual data must be parsed using the same settings that the training data were parsed with, indexed using only the subset of terms that were used during training, and projected onto the reduced-dimensional subspace of the singular value decomposition that was derived from the training data. To facilitate this process, you specify the CONFIG=, TERMS=, and SVDU= options in PROC TEXTMINE to create three data tables (Outconfig, Outterms, and Svdu, respectively), and then you specify those three data tables as inputs to PROC TMSCORE.\",\"help\":\"PROC TMSCORE <CONFIG=CAS-libref.data-table><DATA=CAS-libref.data-table><OUTPARENT=CAS-libref.data-table><SVDDOCPRO=CAS-libref.data-table><SVDU=CAS-libref.data-table><TERMS=CAS-libref.data-table>;     \\n\\tDOC_ID variable ;\\n\\n\\tVARIABLES variable ; | VAR variable ;\\n\",\"arguments\":[{\"name\":\"CONFIG=\",\"optional\":true,\"description\":\"Specifies the input data table that contains configuration information for PROC TMSCORE. CASlibref. data-table is a two-level name, where CAS-libref refers to the caslib and session identifier, and data-table specifies the name of the input data table.\",\"help\":\"CONFIG=*CAS-libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"DATA=\",\"optional\":true,\"aliases\":[\"DOC=\"],\"description\":\"Names the input data table for PROC TMSCORE to use. CAS-libref.data-table is a two-level name, where\",\"help\":\"DATA=*CAS-libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"OUTPARENT=\",\"optional\":true,\"description\":\"Specifies the output data table to contain a compressed representation of the sparse term-by-document frequency matrix. CAS-libref.data-table is a two-level name, where CAS-libref refers to the caslib and session identifier, and data-table specifies the name of the output data table.\",\"help\":\"OUTPARENT=*CAS-libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"SVDDOCPRO=\",\"optional\":true,\"description\":\"Specifies the output data table to contain the reduced dimensional projections for each document. CAS-libref.data-table is a two-level name, where CAS-libref refers to the caslib and session identifier, and data-table specifies the name of the output data table.\",\"help\":\"SVDDOCPRO=*CAS-libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"SVDU=\",\"optional\":true,\"description\":\"Specifies the input data table that contains the U matrix, which is created during training by PROC TEXTMINE. CAS-libref.data-table is a two-level name, where CAS-libref refers to the caslib and session identifier, and data-table specifies the name of the input data table.\",\"help\":\"SVDU=*CAS-libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"TERMS=\",\"optional\":true,\"description\":\"Specifies the input data table of terms to be used by PROC TMSCORE. CAS-libref.data-table is a two-level name, where CAS-libref refers to the caslib and session identifier, and data-table specifies the name of the input data table.\",\"help\":\"TERMS=*CAS-libref.data-table*\",\"type\":\"dataSet\"}]},{\"name\":\"DOC_ID\",\"description\":\"This statement specifies the variable that contains the ID of each document. The ID of each document must be unique; it can be either a number or a string of characters.\",\"help\":\"DOC_ID variable \"},{\"name\":\"VARIABLES\",\"aliases\":[\"VAR\"],\"description\":\"This statement specifies the variable that contains the text to be processed.\",\"help\":\"VARIABLES variable ; | VAR variable \"}],\"supportSiteInformation\":{\"docsetId\":\"casml\",\"docsetVersion\":\"latest\",\"docsetTargetFile\":\"casml_tmscore_toc.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/TPSPLINE.json",
    "content": "{\"name\":\"TPSPLINE\",\"statements\":[{\"name\":\"PROC TPSPLINE\",\"description\":\"The TPSPLINE procedure uses the penalized least squares method to fit a nonparametric regression model. It computes thin-plate smoothing splines to approximate smooth multivariate functions observed with noise. The TPSPLINE procedure allows great flexibility in the possible form of the regression surface. In particular, PROC TPSPLINE makes no assumptions of a parametric form for the model. The generalized cross validation (GCV) function can be used to select the amount of smoothing. † The TPSPLINE procedure uses the penalized least squares method to fit the data with a flexible model in which the number of effective parameters can be as large as the number of unique design points. Hence, as the sample size increases, the model space also increases, enabling the thin-plate smoothing spline to fit more complicated situations. † The main features of the TPSPLINE procedure are as follows: † o provides penalized least squares estimates o supports the use of multidimensional data o supports multiple SCORE statements o fits both semiparametric models and nonparametric models o provides options for handling large data sets o supports multiple dependent variables o enables you to choose a particular model by specifying the model degrees of freedom or smoothing parameter o supports graphical displays produced through ODS Graphics\",\"help\":\"PROC TPSPLINE <DATA=SAS-data-set>;     \\n\\tBY <DESCENDING><NOTSORTED> ;\\n\\n\\tFREQ variable ;\\n\\n\\tID variables ;\\n\\n\\tMODEL <ALPHA=number><DF=number><DISTANCE=number> ...;\\n\\n\\tOUTPUT <OUT=SAS-data-set><PRED><RESID> ...;\\n\\n\\tSCORE <DATA=SAS-data-set><OUT=SAS-data-set><PRED> ...;\\n\",\"arguments\":[{\"name\":\"DATA=\",\"optional\":true,\"description\":\"Specifies the SAS data set to be read by PROC TPSPLINE. The default value is the most recently created data set.\",\"help\":\"DATA=*SAS-data-set*\",\"type\":\"dataSet\"}]},{\"name\":\"BY\",\"description\":\"You can specify a BY statement with PROC TPSPLINE to obtain separate analyses on observations in groups that are defined by the BY variables. When a BY statement appears, the procedure expects the input data set to be sorted in order of the BY variables. If you specify more than one BY statement, only the last one specified is used.\",\"help\":\"BY &lt;DESCENDING&gt;&lt;NOTSORTED&gt;\",\"arguments\":[{\"name\":\"DESCENDING\",\"optional\":true,\"description\":\"Specifies that the observations are sorted in descending order by the variable that immediately follows the word DESCENDING in the BY statement.\",\"type\":\"standalone\"},{\"name\":\"NOTSORTED\",\"optional\":true,\"description\":\"Specifies that observations are not necessarily sorted in alphabetic or numeric order.\",\"type\":\"standalone\"}]},{\"name\":\"FREQ\",\"aliases\":[\"FREQUENCY\"],\"description\":\"If one variable in your input data set represents the frequency of occurrence for other values in the observation, specify the variable’s name in a FREQ statement. PROC TPSPLINE treats the data as if each observation appears n times, where n is the value of the FREQ variable for the observation.\",\"help\":\"FREQ variable \"},{\"name\":\"ID\",\"description\":\"The variables in the ID statement are copied from the input data set to the OUT= data set. If you omit the ID statement, only the variables used in the MODEL statement and requested statistics are included in the output data set.\",\"help\":\"ID variables \"},{\"name\":\"MODEL\",\"description\":\"The MODEL statement specifies the dependent variables, the independent regression variables, which are listed with no parentheses, and the independent smoothing variables, which are listed inside parentheses.\",\"help\":\"MODEL &lt;ALPHA=number&gt;&lt;DF=number&gt;&lt;DISTANCE=number&gt; ...\",\"arguments\":[{\"name\":\"ALPHA=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the significance level α of the confidence limits on the final thin-plate smoothing spline estimate when you request confidence limits to be included in the output data set. Specify number as a value between 0 and 1. The default value is 0.05.\",\"help\":\"ALPHA=*number*\",\"type\":\"value\"},{\"name\":\"DF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the degrees of freedom of the thin-plate smoothing spline estimate.\",\"help\":\"DF=*number*\",\"type\":\"value\"},{\"name\":\"DISTANCE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"D=\"],\"description\":\"You can use the DISTANCE= option to reduce the number of unique design points by treating nearby data as replicates.\",\"help\":\"DISTANCE=*number*\",\"type\":\"value\"},{\"name\":\"LAMBDA0=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the smoothing parameter, λo, to be used in the thin-plate smoothing spline estimate\",\"help\":\"LAMBDA0=*number*\",\"type\":\"value\"},{\"name\":\"LAMBDA=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies a set of values for the λ parameter.\",\"help\":\"LAMBDA=*list-of-values*\",\"type\":\"value\"},{\"name\":\"LOGNLAMBDA0=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"LOGNL0=\"],\"description\":\"Specifies the smoothing parameter, λo, on the log scale.\",\"help\":\"LOGNLAMBDA0=*number*\",\"type\":\"value\"},{\"name\":\"LOGNLAMBDA=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"LOGNL=\"],\"description\":\"Specifies a set of values for the smoothing parameter, λo, on the log scale.\",\"help\":\"LOGNLAMBDA=*list-of-values*\",\"type\":\"value\"},{\"name\":\"M=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the order of the derivative in the penalty term. The M= value must be a positive integer.\",\"help\":\"M=*number*\",\"type\":\"value\"}]},{\"name\":\"OUTPUT\",\"description\":\"The OUTPUT statement creates a new SAS data set containing diagnostic measures calculated after fitting the model.\",\"help\":\"OUTPUT &lt;OUT=SAS-data-set&gt;&lt;PRED&gt;&lt;RESID&gt; ...\",\"arguments\":[{\"name\":\"ADIAG\",\"optional\":true,\"description\":\"Diagonal element of the hat matrix associated with the observation\",\"type\":\"standalone\"},{\"name\":\"COEF\",\"optional\":true,\"description\":\"Coefficients\",\"type\":\"standalone\"},{\"name\":\"LCLM\",\"optional\":true,\"description\":\"Lower limit of the confidence interval for the expected value of the dependent variables.\",\"type\":\"standalone\"},{\"name\":\"OUT=\",\"optional\":true,\"description\":\"Specifies the name of the new data set to contain the diagnostic measures. This specification is required.\",\"help\":\"OUT=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"PRED\",\"optional\":true,\"description\":\"Predicted values\",\"type\":\"standalone\"},{\"name\":\"RESID\",\"optional\":true,\"description\":\"Residual values\",\"type\":\"standalone\"},{\"name\":\"STD\",\"optional\":true,\"description\":\"Standard error of the mean predicted value\",\"type\":\"standalone\"},{\"name\":\"UCLM\",\"optional\":true,\"description\":\"Upper limit of the confidence interval for the expected value of the dependent variables.\",\"type\":\"standalone\"}]},{\"name\":\"SCORE\",\"description\":\"The SCORE statement calculates predicted values for a new data set. If you have multiple data sets to predict, you can specify multiple SCORE statements. You must use a SCORE statement for each data set.\",\"help\":\"SCORE &lt;DATA=SAS-data-set&gt;&lt;OUT=SAS-data-set&gt;&lt;PRED&gt; ...\",\"arguments\":[{\"name\":\"DATA=\",\"optional\":true,\"description\":\"Specifies the input SAS data set containing the smoothing variables x and regression variables z.\",\"help\":\"DATA=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"LCLM\",\"optional\":true,\"description\":\"Lower limit of the Bayesian confidence interval for the expected value of the dependent variables. By default, PROC TPSPLINE computes 95% confidence limits.\",\"type\":\"standalone\"},{\"name\":\"OUT=\",\"optional\":true,\"description\":\"Specifies the name of the SAS data set to contain the predictions.\",\"help\":\"OUT=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"PRED\",\"optional\":true,\"description\":\"Predicted values\",\"type\":\"standalone\"},{\"name\":\"STD\",\"optional\":true,\"description\":\"Standard error of the mean predicted value\",\"type\":\"standalone\"},{\"name\":\"UCLM\",\"optional\":true,\"description\":\"Upper limit of the Bayesian confidence interval for the expected value of the dependent variables. By default, PROC TPSPLINE computes 95% confidence limits.\",\"type\":\"standalone\"}]}],\"supportSiteInformation\":{\"docsetId\":\"statug\",\"docsetVersion\":\"latest\",\"docsetTargetFile\":\"statug_tpspline_toc.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/TRANSPOSE.json",
    "content": "{\"name\":\"TRANSPOSE\",\"statements\":[{\"name\":\"PROC TRANSPOSE\",\"description\":\"Creates an output data set by restructuring the values in a SAS data set, transposing selected variables into observations.\",\"help\":\"PROC TRANSPOSE <DATA=input-data-set><DELIMITER=delimiter><LABEL=label>\\n<LET><NAME=name><OUT=output-data-set><PREFIX=prefix><SUFFIX=suffix>;                   \\n\\tATTRIB  variable-list(s) attribute-list(s);\\n\\n\\tBY <DESCENDING>variable-1\\n\\t\\t<<DESCENDING>variable-2  ...>\\n\\t\\t<NOTSORTED>;\\n\\n\\tCOPY variable(s);\\n\\n\\tFORMAT variable-1< ...variable-n><format><DEFAULT=default-format>;\\n\\n\\tID variable;\\n\\n\\t\\n\\t\\tIDLABEL variable; \\n\\n\\tLABEL variable-1=label-1< ...variable-n=label-n>;\\n\\n\\tVAR variable(s); \\n\\n\\tWHERE where-expression-1\\n\\t\\t<logical-operator where-expression-n>;             \\n\",\"arguments\":[{\"name\":\"DATA=\",\"optional\":true,\"description\":\"names the SAS data set to transpose.\",\"help\":\"DATA=*input-data-set*\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"p1cqmjgzhpajm4n1xs7o4tu5yt6t\"},{\"name\":\"DELIMITER=\",\"optional\":true,\"aliases\":[\"DELIM=\"],\"description\":\"specifies a delimiter to use in constructing names for transposed variables in the output data set. If specified, the delimiter is inserted between variable values if more than one variable has been specified in the ID statement.\",\"help\":\"DELIMITER=*delimiter*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0csnvbrt98i3pn1jvi5j3ip378z\"},{\"name\":\"LABEL=\",\"optional\":true,\"description\":\"specifies a name for the variable in the output data set that contains the label of the variable that is being transposed to create the current observation.\",\"help\":\"LABEL=*label*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1bnzfx6o1cqx6n144sjqs9nk5ke\"},{\"name\":\"LET\",\"optional\":true,\"description\":\"allows duplicate values of an ID variable. PROC TRANSPOSE transposes the observation that contains the last occurrence of a particular ID value within the data set or BY group.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p13oxefnnyz3u3n1mps2ce1jdm3x\"},{\"name\":\"NAME=\",\"optional\":true,\"description\":\"specifies the name for the variable in the output data set that contains the name of the variable that is being transposed to create the current observation.\",\"help\":\"NAME=*name*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p07ikyzgwp8v46n1ey61wdyfnvti\"},{\"name\":\"OUT=\",\"optional\":true,\"description\":\"names the output data set. If output-data-set does not exist, then PROC TRANSPOSE creates it by using the DATAn naming convention.\",\"help\":\"OUT=*output-data-set*\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"n0sfkf3rmygllsn11y3nvscr7rsa\"},{\"name\":\"PREFIX=\",\"optional\":true,\"description\":\"specifies a prefix to use in constructing names for transposed variables in the output data set. For example, if PREFIX=VAR, then the names of the variables are VAR1, VAR2, …,VARn.\",\"help\":\"PREFIX=*prefix*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p060v1caqlgl3un1eswzdqug3hvq\"},{\"name\":\"SUFFIX=\",\"optional\":true,\"description\":\"specifies a suffix to use in constructing names for transposed variables in the output data set.\",\"help\":\"SUFFIX=*suffix*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n12fl3irx33j7gn1nvnhtlhz1hjk\"}],\"supportSiteTargetFile\":\"p1r2tjnp8ewe3sn1acnpnrs3xbad.htm\"},{\"name\":\"ATTRIB\",\"description\":\"Associates a format, informat, label, and length with one or more variables.\",\"help\":\"ATTRIB  *variable-list(s)**attribute-list(s)*;\",\"arguments\":[{\"name\":\"variable-list\",\"optional\":true,\"placeholder\":true,\"description\":\"names the variables that you want to associate with the attributes.\",\"help\":\"*variable-list(s)*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1nd0mq22iu6ovn14mz1ot1hwcjik\"},{\"name\":\"FORMAT=\",\"description\":\"associates a format with variables in variable-list.\",\"help\":\"FORMAT=*format*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p08pt9ce6bhq86n18a3zcc97bldzk\"},{\"name\":\"INFORMAT=\",\"description\":\"associates an informat with variables in variable-list.\",\"help\":\"INFORMAT=*informat*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n136glco6ritqdn160792yhk9mv1k\"},{\"name\":\"LABEL=\",\"description\":\"associates a label with variables in variable-list.\",\"help\":\"LABEL='*label*' \",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0a9x9io5pi05mn1i4p2cphc7t0nk\"}],\"supportSiteTargetFile\":\"n04pixwhr1atzln1dow0e10lyibsj.htm\"},{\"name\":\"BY\",\"description\":\"Orders the output according to the BY groups.\",\"help\":\"BY <DESCENDING>variable-1\\n\\t<… <DESCENDING> variable-n>\\n\\t<NOTSORTED>;\",\"arguments\":[{\"name\":\"variable\",\"placeholder\":true,\"description\":\"specifies the variable that the procedure uses to form BY groups. You can specify more than one variable. If you do not use the NOTSORTED option in the BY statement, then either the observations in the data set must be sorted by all the variables that you specify, or they must be indexed appropriately. Variables in a BY statement are called BY variables.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0e9kbav2i9chhn1xectebpz4s14g\"},{\"name\":\"DESCENDING\",\"optional\":true,\"description\":\"specifies that the observations are sorted in descending order by the variable that immediately follows the word DESCENDING in the BY statement.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1au0lhf4hi1h2n1le3cx2tp74l5g\"},{\"name\":\"NOTSORTED\",\"optional\":true,\"description\":\"specifies that observations are not necessarily sorted in alphabetic or numeric order. The observations are grouped in another way (for example, chronological order).\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p068zvjhrpn2awn1bygis4m6hppag\"}],\"supportSiteTargetFile\":\"n13shq4na41y5wn14t67d8l6wgq8g.htm\"},{\"name\":\"COPY\",\"description\":\"Copies variables directly from the input data set to the output data set without transposing them.\",\"help\":\"COPY *variable(s)*;\",\"arguments\":[{\"name\":\"variable(s)\",\"placeholder\":true,\"description\":\"names one or more variables that the COPY statement copies directly from the input data set to the output data set without transposing them.\",\"help\":\"*variable(s)*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n02sgmukkdi81bn17hp7lwi5nj5t\"}],\"supportSiteTargetFile\":\"n0cy0rgx624yi1n1ranatzlwhin1.htm\"},{\"name\":\"FORMAT\",\"description\":\"Associates formats with variables.\",\"help\":\"FORMAT *variable-1*&lt; ...*variable-n*&gt;*format**variable-1*&lt; ...*variable-n*&gt;*format*;\",\"arguments\":[{\"name\":\"variable\",\"optional\":true,\"placeholder\":true,\"description\":\"names one or more variables for SAS to associate with a format. You must specify at least one variable.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1d0cionbspk2tn1ma0m6kjd1ntxk\"},{\"name\":\"format\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the format that is listed for writing the values of the variables.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n15nxwcex8m202n1dp4xwbds95t9k\"}],\"supportSiteTargetFile\":\"p02hzcxsifsk8dn1a53t49zqd82ck.htm\"},{\"name\":\"ID\",\"description\":\"Specifies one or more variables in the input data set whose nonmissing formatted values name the transposed variables in the output data set. When a variable name is being formed in the transposed (output) data set, the formatted values of all listed ID variables are concatenated in the same order that the variables are listed in the ID statement. The PREFIX=, DELIMITER=, and SUFFIX= options can be used to modify the formed variable name. The PREFIX= option specifies a common character or character string to appear at the beginning of the formed variable names. The DELIMITER= option specifies a common character or character string to be inserted between the values of the ID variables. The SUFFIX= option specifies a common character or character string to be appended to the end of each formed variable name.\",\"help\":\"ID *variable(s)*;\",\"arguments\":[{\"name\":\"variable(s)\",\"placeholder\":true,\"description\":\"names one or more variables whose formatted values are used to form the names of the variables in the output data set.\",\"help\":\"*variable(s)*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1u668a2fznynxn18tf4nmm5fv6f\"}],\"supportSiteTargetFile\":\"p16njbxciji0qjn1x6y7mzktujp4.htm\"},{\"name\":\"IDLABEL\",\"description\":\"Creates labels for the transposed variables.\",\"help\":\"IDLABEL *variable*; \",\"arguments\":[{\"name\":\"variable\",\"placeholder\":true,\"description\":\"names the variable whose values the procedure uses to label the variables that the ID statement names. variable can be character or numeric.\",\"help\":\"*variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p14yr793u7h5rqn1japfygzki76r\"}],\"supportSiteTargetFile\":\"p1baki8ibq833kn1r8vbnrvyv5x8.htm\"},{\"name\":\"LABEL\",\"description\":\"Assigns descriptive labels to variables.\",\"help\":\"LABEL variable-1 = 'text-string' < ...variable-n = 'text-string'>;\\nLABEL variable-1 = ' ' < ...variable-n=’ ‘>; | variable-1 = < ...variable-n= >;\",\"arguments\":[{\"name\":\"text-string\",\"placeholder\":true,\"description\":\"specifies a label of up to 256 bytes.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n09u0k5ydxzgr3n1dfznhvex7uuok\"},{\"name\":\"'\",\"placeholder\":true,\"description\":\"removes a label from a variable. Enclose a single blank space in quotation marks to remove an existing label. You can remove labels from multiple variables in a single LABEL statement:\",\"help\":\"*' '*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1dl99omzes92cn1typpf6yl1ng0k\"}],\"supportSiteTargetFile\":\"p1s0j2pii3oj7fn1f87s02j4zo52k.htm\"},{\"name\":\"VAR\",\"description\":\"Lists the variables to transpose.\",\"help\":\"\\n\\tVAR variable(s); \",\"arguments\":[{\"name\":\"variable(s)\",\"placeholder\":true,\"description\":\"names one or more variables to transpose.\",\"help\":\"*variable(s)*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p18o8m52c3tzddn10u8rxg065llp\"}],\"supportSiteTargetFile\":\"p19h5tsoknssr4n18gbl9xle0kq1.htm\"},{\"name\":\"WHERE\",\"description\":\"Subsets the input data set by specifying certain conditions that each observation must meet before it is available for processing.\",\"help\":\"WHERE where-expression-1\\n<logical-operator where-expression-n>; \",\"arguments\":[{\"name\":\"where-expression\",\"optional\":true,\"placeholder\":true,\"description\":\"is an arithmetic or logical expression that generally consists of a sequence of operands and operators.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p04iz9sx1znb6en1ptu9o3h9ns07k\"},{\"name\":\"logical-operator\",\"optional\":true,\"placeholder\":true,\"description\":\"can be AND, AND NOT, OR, or OR NOT.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0xd4nxmu81y3rn1lzcij1t759lnk\"}],\"supportSiteTargetFile\":\"n0yu3xyqnznndnn0z1v515xzfebok.htm\"}],\"supportSiteInformation\":{\"docsetId\":\"proc\",\"docsetVersion\":\"v_002\",\"docsetTargetFile\":\"n1xno5xgs39b70n0zydov0owajj8.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/TRANSREG.json",
    "content": "{\"name\":\"TRANSREG\",\"statements\":[{\"name\":\"PROC TRANSREG\",\"description\":\"The TRANSREG (transformation regression) procedure fits linear models, optionally with smooth, spline, Box-Cox, and other nonlinear transformations of the variables. You can use PROC TRANSREG to fit a curve through a scatter plot or fit multiple curves, one for each level of a classification variable. You can also constrain the functions to be parallel or monotone or have the same intercept. PROC TRANSREG can be used to code experimental designs and classification variables prior to their use in other analyses.\",\"help\":\"PROC TRANSREG <ADDITIVE><ADPREFIX=name><AIPREFIX=name><ALPHA=number><APPROXIMATIONS><CANONICAL><CCC><CCONVERGE=n><CDPREFIX=name><CEC><CILPREFIX=name><CIPREFIX=name><CIUPREFIX=name><CL><CLI><CLM><CMLPREFIX=name><CMUPREFIX=name><COEFFICIENTS><CONVERGE=n><COORDINATES<=n>><CPC><CPREFIX=n><CQC><DAPPROXIMATIONS><DATA=SAS-data-set><DEPENDENT=name><DESIGN<=n>><DETAIL><DREPLACE><HISTORY><IAPPROXIMATIONS><INDIVIDUAL><IREPLACE><LEVERAGE<=name>><LILPREFIX=name><LIUPREFIX=name><LMLPREFIX=name><LMUPREFIX=name><LPREFIX=n><MACRO(keyword=name...)><MAXITER=n><MEANS><MEC><METHOD=CANALS | MORALS | REDUNDANCY... ><MONOTONE=two-letters><MPC><MQC><MRC><MREDUNDANCY><NCAN=n><NOINT><NOMISS><NOPRINT><NORESTOREMISSING><NOSCORES><NOZEROCONSTANT><NSR><ORDER=DATA | FREQ | FORMATTED... ><OUTTEST=SAS-data-set><PBOXCOXTABLE><PLOTS=ALL | BOXCOX|BOX | FIT... ><PPREFIX=name><PREDICTED><RDPREFIX=name><REDUNDANCY=STANDARDIZE | UNSTANDARDIZE><REFERENCE=NONE | MISSING | ZERO><REITERATE><REPLACE><RESIDUALS><RPREFIX=name><RSQUARE><SEPARATORS=’string-1’ <’string-2’>><SHORT><SINGULAR=n><SOLVE><SS2><TDPREFIX=name><TEST><TIPREFIX=name><TSTANDARD=CENTER | NOMISS | ORIGINAL... ><TSUFFIX=n><TYPE=’text’|name><UNTIE=two-letters><UTILITIES>;     \\n\\tBY <DESCENDING><NOTSORTED> ;\\n\\n\\tFREQ variable ;\\n\\n\\tID variables ;\\n\\n\\tMODEL BSPLINE CLASS EPOINT ...;\\n\\n\\tOUTPUT <ADPREFIX=name><AIPREFIX=name><OUT=SAS-data-set> ...;\\n\\n\\tWEIGHT variable;\\n\",\"arguments\":[{\"name\":\"ADDITIVE\",\"optional\":true,\"aliases\":[\"ADD\"],\"description\":\"Creates an additive model by multiplying the values of each independent variable (after the TSTANDARD= standardization) by that variable’s corresponding multiple regression coefficient. This process scales the independent variables so that the predicted-values variable for the final dependent variable is simply the sum of the final independent variables. An additive model is a univariate multiple regression model. As a result, the ADDITIVE a-option is not valid if METHOD=CANALS, or if METHOD=REDUNDANCY or METHOD=UNIVARIATE with more than one dependent variable.\",\"type\":\"standalone\"},{\"name\":\"ADPREFIX=\",\"optional\":true,\"aliases\":[\"ADP=\"],\"description\":\"Specifies a prefix for naming the dependent variable predicted values. The default is ADPREFIX=P when you specify the PREDICTED o-option; otherwise, it is ADPREFIX=A. When you specify the ADPREFIX= o-option, the PREDICTED o-option is automatically specified for you. The ADPREFIX= o-option is the same as the PPREFIX= o-option.\",\"help\":\"ADPREFIX=*name*\",\"type\":\"value\"},{\"name\":\"AIPREFIX=\",\"optional\":true,\"aliases\":[\"AIP=\"],\"description\":\"Specifies a prefix for naming the independent variable approximations. The default is AIPREFIX=A. When you specify the AIPREFIX= o-option, the IAPPROXIMATIONS o-option is automatically specified for you.\",\"help\":\"AIPREFIX=*name*\",\"type\":\"value\"},{\"name\":\"ALPHA=\",\"optional\":true,\"aliases\":[\"ALP=\"],\"description\":\"Specifies the level of significance for all of the confidence limits. By default, ALPHA=0.05.\",\"help\":\"ALPHA=*number*\",\"type\":\"value\"},{\"name\":\"APPROXIMATIONS\",\"optional\":true,\"aliases\":[\"APPROX\",\"APP\"],\"description\":\"Is equivalent to specifying both the DAPPROXIMATIONS and the IAPPROXIMATIONS o-options. If you specify METHOD=UNIVARIATE, then the APPROXIMATIONS o-option specifies only the DAPPROXIMATIONS o-option.\",\"type\":\"standalone\"},{\"name\":\"CANONICAL\",\"optional\":true,\"aliases\":[\"CAN\"],\"description\":\"Outputs canonical variables to the OUT= data set. When you specify METHOD=CANALS, the CANONICAL o-option is automatically specified for you. The CDPREFIX= o-option specifies a prefix for naming the dependent canonical variables (default Cand), and the CIPREFIX= o-option specifies a prefix for naming the independent canonical variables (default Cani).\",\"type\":\"standalone\"},{\"name\":\"CCC\",\"optional\":true,\"description\":\"Outputs canonical correlation coefficients to the OUT= data set.\",\"type\":\"standalone\"},{\"name\":\"CCONVERGE=\",\"optional\":true,\"aliases\":[\"CCO=\"],\"description\":\"Specifies the minimum change in the criterion being optimized (squared multiple correlation for METHOD=MORALS and METHOD=UNIVARIATE, average squared multiple correlation for METHOD=REDUNDANCY, average squared canonical correlation for METHOD=CANALS) that is required to continue iterating. By default, CCONVERGE=0.0.\",\"help\":\"CCONVERGE=*n*\",\"type\":\"value\"},{\"name\":\"CDPREFIX=\",\"optional\":true,\"aliases\":[\"CDP=\"],\"description\":\"Provides a prefix for naming the canonical dependent variables. The default is CDPREFIX=Cand. When you specify the CDPREFIX= o-option, the CANONICAL o-option is automatically specified for you.\",\"help\":\"CDPREFIX=*name*\",\"type\":\"value\"},{\"name\":\"CEC\",\"optional\":true,\"description\":\"Outputs canonical elliptical point model coordinates to the OUT= data set.\",\"type\":\"standalone\"},{\"name\":\"CILPREFIX=\",\"optional\":true,\"aliases\":[\"CIL=\"],\"description\":\"Specifies a prefix for naming the conservative-individual-lower confidence limits. The default prefix is CIL. When you specify the CILPREFIX= o-option, the CLI o-option is automatically specified for you.\",\"help\":\"CILPREFIX=*name*\",\"type\":\"value\"},{\"name\":\"CIPREFIX=\",\"optional\":true,\"aliases\":[\"CIP=\"],\"description\":\"Provides a prefix for naming the canonical independent variables. The default is CIPREFIX=Cani. When you specify the CIPREFIX= o-option, the CANONICAL o-option is automatically specified for you.\",\"help\":\"CIPREFIX=*name*\",\"type\":\"value\"},{\"name\":\"CIUPREFIX=\",\"optional\":true,\"aliases\":[\"CIU=\"],\"description\":\"Specifies a prefix for naming the conservative-individual-upper confidence limits. The default prefix is CIU. When you specify the CIUPREFIX= o-option, the CLI o-option is automatically specified for you.\",\"help\":\"CIUPREFIX=*name*\",\"type\":\"value\"},{\"name\":\"CL\",\"optional\":true,\"description\":\"Requests confidence limits on the parameter estimates in the displayed output.\",\"type\":\"standalone\"},{\"name\":\"CLI\",\"optional\":true,\"description\":\"Outputs individual confidence limits to the OUT= data set. The names of the confidence limits variables are constructed from the original dependent variable names and the prefixes specified in the following o-options: LILPREFIX= (default LIL for liberal individual lower), CILPREFIX= (default CIL for conservative individual lower), LIUPREFIX= (default LIU for liberal individual upper), and CIUPREFIX= (default CIU for conservative individual upper). When there are no monotonicity constraints, the liberal and conservative limits are the same.\",\"type\":\"standalone\"},{\"name\":\"CLM\",\"optional\":true,\"description\":\"Outputs mean confidence limits to the OUT= data set. The names of the confidence limits variables are constructed from the original dependent variable names and the prefixes specified in the following o-options: LMLPREFIX= (default LML for liberal mean lower), CMLPREFIX= (default CML for conservative mean lower), LMUPREFIX= (default LMU for liberal mean upper), and CMUPREFIX= (default CMU for conservative mean upper). When there are no monotonicity constraints, the liberal and conservative limits are the same.\",\"type\":\"standalone\"},{\"name\":\"CMLPREFIX=\",\"optional\":true,\"aliases\":[\"CML=\"],\"description\":\"Specifies a prefix for naming the conservative-mean-lower confidence limits. The default prefix is CML. When you specify the CMLPREFIX= o-option, the CLM o-option is automatically specified for you.\",\"help\":\"CMLPREFIX=*name*\",\"type\":\"value\"},{\"name\":\"CMUPREFIX=\",\"optional\":true,\"description\":\"Specifies a prefix for naming the conservative-mean-upper confidence limits. The default prefix is CMU. When you specify the CMUPREFIX= o-option, the CLM o-option is automatically specified for you.\",\"help\":\"CMUPREFIX=*name*\",\"type\":\"value\"},{\"name\":\"COEFFICIENTS\",\"optional\":true,\"aliases\":[\"COE\"],\"description\":\"Outputs either multiple regression coefficients or raw canonical coefficients to the OUT= data set. If you specify METHOD=CANALS (in the MODEL or PROC TRANSREG statement), then the COEFFICIENTS o-option outputs the first n canonical variables, where n is the value of the NCAN= a-option (specified in the MODEL or PROC TRANSREG statement). Otherwise, the COEFFICIENTS o-option includes multiple regression coefficients in the OUT= data set. In addition, when you specify the CLASS expansion for any independent variable, the COEFFICIENTS o-option also outputs marginal means.\",\"type\":\"standalone\"},{\"name\":\"CONVERGE=\",\"optional\":true,\"aliases\":[\"CON=\"],\"description\":\"Specifies the minimum average absolute change in standardized variable scores that is required to continue iterating. By default, CONVERGE=0.00001. Average change is computed over only those variables that can be transformed by the iterations; that is, all LINEAR, OPSCORE, MONOTONE, UNTIE, SPLINE, MSPLINE, and SSPLINE variables and nonoptimal transformation variables with missing values.\",\"help\":\"CONVERGE=*n*\",\"type\":\"value\"},{\"name\":\"COORDINATES=\",\"optional\":true,\"aliases\":[\"COO=\"],\"description\":\"Outputs either ideal point or vector model coordinates for preference mapping to the OUT= data set. When METHOD=CANALS, these coordinates are computed from canonical coefficients; otherwise, the coordinates are computed from multiple regression coefficients. For details, see the section Point Models.\",\"type\":\"value\"},{\"name\":\"CPC\",\"optional\":true,\"description\":\"Outputs canonical point model coordinates to the OUT= data set.\",\"type\":\"standalone\"},{\"name\":\"CPREFIX=\",\"optional\":true,\"aliases\":[\"CPR=\"],\"description\":\"Specifies the number of first characters of a CLASS expansion variable’s name to use in constructing names for coded variables. Coded variable names are constructed from the first n characters of the CLASS expansion variable’s name and the first 32 - n characters of the formatted CLASS expansion variable’s value. For example, if the variable ClassVariable has values 1, 2, and 3, then, by default, the coded variables are named ClassVariable1, ClassVariable2, and ClassVariable3. However, with CPREFIX=5, the coded variables are named Class1, Class2, and Class3. When CPREFIX=0, coded variable names are created entirely from the CLASS expansion variable’s formatted values. Valid values range from –1 to 31, where –1 indicates the default calculation and 0 to 31 are the number of prefix characters to use. The default, –1, sets n to 32 – min(32, max(2, fl)), where fl is the format length. When you specify CPREFIX= as an a-option or an o-option, it specifies the default for all CLASS variables. When you specify CPREFIX= as a t-option, it overrides the default only for selected variables.\",\"help\":\"CPREFIX=*n*\",\"type\":\"value\"},{\"name\":\"CQC\",\"optional\":true,\"description\":\"Outputs canonical quadratic point model coordinates to the OUT= data set.\",\"type\":\"standalone\"},{\"name\":\"DAPPROXIMATIONS\",\"optional\":true,\"aliases\":[\"DAP\"],\"description\":\"Outputs the approximations of the transformed dependent variables to the OUT= data set. These are the target values for the optimal transformations. With METHOD=UNIVARIATE and METHOD=MORALS, the dependent variable approximations are the ordinary predicted values from the linear model. The names of the approximation variables are constructed from the ADPREFIX= o-option (default A) and the original dependent variable names. For ordinary predicted values, use the PREDICTED o-option instead of the DAPPROXIMATIONS o-option, since the PREDICTED o-option uses a more relevant prefix (\\\"P\\\" instead of \\\"A\\\") and a more relevant variable label suffix (\\\"Predicted Values\\\" instead of \\\"Approximations\\\").\",\"type\":\"standalone\"},{\"name\":\"DATA=\",\"optional\":true,\"description\":\"Specifies the SAS data set to be analyzed. If you do not specify the DATA= option, PROC TRANSREG uses the most recently created SAS data set. The data set must be an ordinary SAS data set; it cannot be a special TYPE= data set.\",\"help\":\"DATA=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"DEPENDENT=\",\"optional\":true,\"aliases\":[\"DEP=\"],\"description\":\"Specifies the untransformed dependent variable for OUT= data sets with METHOD=MORALS when there is more than one dependent variable. The default is DEPENDENT=_DEPEND_.\",\"help\":\"DEPENDENT=*name*\",\"type\":\"value\"},{\"name\":\"DESIGN=\",\"optional\":true,\"aliases\":[\"DES=\"],\"description\":\"Specifies that your primary goal is design matrix coding, not analysis. Specifying the DESIGN o-option makes the procedure run faster. The DESIGN o-option sets the default method to UNIVARIATE and the default MAXITER= value to zero. It suppresses computing the regression coefficients, unless they are needed for some other option. Furthermore, when the DESIGN o-option is specified, the MODEL statement is not required to have an equal sign. When no MODEL statement equal sign is specified, all variables are considered independent variables, all options that require dependent variables are ignored, and the IREPLACE o-option is automatically specified for you.\",\"type\":\"value\"},{\"name\":\"DETAIL\",\"optional\":true,\"aliases\":[\"DET\"],\"description\":\"Reports on details of the model specification. For example, it reports the knots and coefficients for splines, reference levels for CLASS variables, Box-Cox results, the smoothing parameter, and so on. The DETAIL option can take two optional suboptions, NOCOEFFICIENTS and NOKNOTS (or NOC and NOK). To suppress knots from the details listing, specify DETAIL(NOKNOTS). To suppress coefficients from the details listing, specify DETAIL(NOCOEFFICIENTS). To suppress both knots and coefficients from the details listing, specify DETAIL(NOKNOTS NOCOEFFICIENTS).\",\"type\":\"standalone\"},{\"name\":\"DREPLACE\",\"optional\":true,\"aliases\":[\"DRE\"],\"description\":\"Replaces the original dependent variables with the transformed dependent variables in the OUT= data set. The names of the transformed variables in the OUT= data set correspond to the names of the original dependent variables in the input data set. By default, both the original dependent variables and the transformed dependent variables (with names constructed from the TDPREFIX= (default T) o-option and the original dependent variable names) are included in the OUT= data set.\",\"type\":\"standalone\"},{\"name\":\"HISTORY\",\"optional\":true,\"aliases\":[\"HIS\"],\"description\":\"Displays the iteration histories even when the NOPRINT a-option is specified.\",\"type\":\"standalone\"},{\"name\":\"IAPPROXIMATIONS\",\"optional\":true,\"aliases\":[\"IAP\"],\"description\":\"Outputs the approximations of the transformed independent variables to the OUT= data set. These are the target values for the optimal transformations. The names of the approximation variables are constructed from the AIPREFIX= o-option (default A) and the original independent variable names. When you specify the AIPREFIX= o-option, the IAPPROXIMATIONS o-option is automatically specified for you. The IAPPROXIMATIONS o-option is not valid when METHOD=UNIVARIATE.\",\"type\":\"standalone\"},{\"name\":\"INDIVIDUAL\",\"optional\":true,\"aliases\":[\"IND\"],\"description\":\"Fits each model for each dependent variable individually. This means, for example, that when INDIVIDUAL is specified, missing values in one dependent variable will not cause that observation to be deleted for the other models with the other dependent variables. In contrast, by default, missing values in any variable in any model can cause the observation to be deleted for all models. The INDIVIDUAL a-option can be specified only with METHOD=MORALS.\",\"type\":\"standalone\"},{\"name\":\"IREPLACE\",\"optional\":true,\"aliases\":[\"IRE\"],\"description\":\"Replaces the original independent variables with the transformed independent variables in the OUT= data set. The names of the transformed variables in the OUT= data set correspond to the names of the original independent variables in the input data set. By default, both the original independent variables and the transformed independent variables (with names constructed from the TIPREFIX= o-option (default T) and the original independent variable names) are included in the OUT= data set.\",\"type\":\"standalone\"},{\"name\":\"LEVERAGE=\",\"optional\":true,\"aliases\":[\"LEV=\"],\"description\":\"Creates a variable with the specified name in the OUT= data set that contains leverages. Specifying the LEVERAGE o-option is equivalent to specifying LEVERAGE=Leverage.\",\"type\":\"value\"},{\"name\":\"LILPREFIX=\",\"optional\":true,\"aliases\":[\"LIL=\"],\"description\":\"Specifies a prefix for naming the liberal-individual-lower confidence limits. The default prefix is LIL. When you specify the LILPREFIX= o-option, the CLI o-option is automatically specified for you.\",\"help\":\"LILPREFIX=*name*\",\"type\":\"value\"},{\"name\":\"LIUPREFIX=\",\"optional\":true,\"aliases\":[\"LIU=\"],\"description\":\"Specifies a prefix for naming the liberal-individual-upper confidence limits. The default prefix is LIU. When you specify the LIUPREFIX= o-option, the CLI o-option is automatically specified for you.\",\"help\":\"LIUPREFIX=*name*\",\"type\":\"value\"},{\"name\":\"LMLPREFIX=\",\"optional\":true,\"aliases\":[\"LML=\"],\"description\":\"Specifies a prefix for naming the liberal-mean-lower confidence limits. The default prefix is LML. When you specify the LMLPREFIX= o-option, the CLM o-option is automatically specified for you.\",\"help\":\"LMLPREFIX=*name*\",\"type\":\"value\"},{\"name\":\"LMUPREFIX=\",\"optional\":true,\"aliases\":[\"LMU=\"],\"description\":\"Specifies a prefix for naming the liberal-mean-upper confidence limits. The default prefix is LMU. When you specify the LMUPREFIX= o-option, the CLM o-option is automatically specified for you.\",\"help\":\"LMUPREFIX=*name*\",\"type\":\"value\"},{\"name\":\"LPREFIX=\",\"optional\":true,\"aliases\":[\"LPR=\"],\"description\":\"Specifies the number of first characters of a CLASS expansion variable’s label (or name if no label is specified) to use in constructing labels for coded variables. Coded variable labels are constructed from the first n characters of the CLASS expansion variable’s name and the first 127 - n characters of the formatted CLASS expansion variable’s value. Valid values range from –1 to 127. Values of 0 to 127 specify the number of name or label characters to use. The default is –1, which specifies that PROC TRANSREG should pick a value depending on the length of the prefix and the formatted class value. When you specify LPREFIX= as an a-option or an o-option, it determines the default for all CLASS variables. When you specify LPREFIX= as a t-option, it overrides the default only for selected variables.\",\"help\":\"LPREFIX=*n*\",\"type\":\"value\"},{\"name\":\"MACRO=\",\"optional\":true,\"aliases\":[\"MAC\"],\"description\":\"Creates macro variables. Most of the options available within the MACRO o-option are rarely needed. By default, PROC TRANSREG creates a macro variable named _TrgInd with a complete list of independent variables created by the procedure. PROC TRANSREG, also by default, creates a macro variable named _TrgIndN, which contains the number of variables in the _TrgInd list. The available keywords are as follows. DN=name -- specifies the name of a macro variable that contains the number of dependent variables. By default, a macro variable named _TrgDepN is created. This is the number of variables in the DL= list and the number of macro variables created by the DV= and DE= specifications. IN=name -- specifies the name of a macro variable that contains the number of independent variables. By default, a macro variable named _TrgIndN is created. This is the number of variables in the IL= list and the number of macro variables created by the IV= and IE= specifications. DL=name -- specifies the name of a macro variable that contains the list of the dependent variables. By default, a macro variable named _TrgDep is created. These are the variable names of the final transformed variables in the OUT= data set. For example, if there are three dependent variables, y1–y3, then _TrgDep contains, by default, Ty1 Ty2 Ty3 (or y1 y2 y3 if you specify the REPLACE o-option). IL=name -- specifies the name of a macro variable that contains the list of the independent variables. By default, a macro variable named _TrgInd is created. These are the variable names of the final transformed variables in the OUT= data set. For example, if there are three independent variables, x1–x3, then _TrgInd contains, by default, Tx1 Tx2 Tx3 (or x1 x2 x3 if you specify the REPLACE o-option). DV=prefix -- specifies a prefix for creating a list of macro variables, each of which contains one dependent variable name. For example, if there are three dependent variables, y1–y3, and you specify macro(dv=Dep), then three macro variables, Dep1, Dep2, and Dep3, are created, containing Ty1, Ty2, and Ty3, respectively (or y1, y2, and y3 if you specify the REPLACE o-option). By default, no list is created. IV=prefix -- specifies a prefix for creating a list of macro variables, each of which contains one independent variable name. For example, if there are three independent variables, x1–x3, and you specify macro(iv=Ind), then three macro variables, Ind1, Ind2, and Ind3, are created, containing Tx1, Tx2, and TX3, respectively (or x1, x2, and x3 if you specify the REPLACE o-option). By default, no list is created. DE=prefix -- specifies a prefix for creating a list of macro variables, each of which contains one dependent variable effect. This list shows the origin of each model term. Each effect consists of two or more parts, and each part consists of a value in 32 columns followed by a blank. For example, if you specify macro(de=d), then a macro variable d1 is created for identity(y).\",\"help\":\"MACRO=IE= | DE= | IV= | DV= | IL= | DL= | IN= | DN=\",\"type\":\"choice\",\"arguments\":[{\"name\":\"IE=\",\"type\":\"value\"},{\"name\":\"DE=\",\"type\":\"value\"},{\"name\":\"IV=\",\"type\":\"value\"},{\"name\":\"DV=\",\"type\":\"value\"},{\"name\":\"IL=\",\"type\":\"value\"},{\"name\":\"DL=\",\"type\":\"value\"},{\"name\":\"IN=\",\"type\":\"value\"},{\"name\":\"DN=\",\"type\":\"value\"}]},{\"name\":\"MAXITER=\",\"optional\":true,\"aliases\":[\"MAX=\"],\"description\":\"Specifies the maximum number of iterations (see the section Controlling the Number of Iterations). By default, MAXITER=30. You can specify MAXITER=0 to save time when no transformations are requested.\",\"help\":\"MAXITER=*n*\",\"type\":\"value\"},{\"name\":\"MEANS\",\"optional\":true,\"aliases\":[\"MEA\"],\"description\":\"Outputs marginal means for CLASS variable expansions to the OUT= data set.\",\"type\":\"standalone\"},{\"name\":\"MEC\",\"optional\":true,\"description\":\"Outputs multiple regression elliptical point model coordinates to the OUT= data set.\",\"type\":\"standalone\"},{\"name\":\"METHOD=\",\"optional\":true,\"description\":\"Specifies the iterative algorithm. By default, METHOD=UNIVARIATE, unless you specify options that cannot be handled by the UNIVARIATE algorithm. Specifically, the default is METHOD=MORALS for the following situations: o if you specify LINEAR, OPSCORE, MONOTONE, UNTIE, SPLINE, MSPLINE, or SSPLINE transformations for the independent variables o if you specify the ADDITIVE a-option with more than one dependent variable o if you specify the IAPPROXIMATIONS o-option o if you specify the INDIVIDUAL a-option\",\"help\":\"METHOD=CANALS | MORALS | REDUNDANCY | UNIVARIATE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"CANALS\",\"description\":\"Specifies canonical correlation with alternating least squares. This jointly transforms all dependent and independent variables to maximize the average of the first n squared canonical correlations, where n is the value of the NCAN= a-option.\",\"type\":\"standalone\"},{\"name\":\"MORALS\",\"description\":\"Specifies multiple optimal regression with alternating least squares. This transforms each dependent variable, along with the set of independent variables, to maximize the squared multiple correlation.\",\"type\":\"standalone\"},{\"name\":\"REDUNDANCY\",\"description\":\"Jointly transforms all dependent and independent variables to maximize the average of the squared multiple correlations.\",\"type\":\"standalone\"},{\"name\":\"UNIVARIATE\",\"description\":\"Transforms each dependent variable to maximize the squared multiple correlation, while the independent variables are not transformed.\",\"type\":\"standalone\"}]},{\"name\":\"MONOTONE=\",\"optional\":true,\"aliases\":[\"MON=\"],\"description\":\"Specifies the first and last special missing value in the list of those special missing values to be estimated with within-variable order and category constraints. By default, there are no order constraints on missing value estimates. The two-letters value must consist of two letters in alphabetical order. For example, MONOTONE=DF means that the estimate of .D must be less than or equal to the estimate of .E, which must be less than or equal to the estimate of .F; no order constraints are placed on estimates of ._, .A through .C, and .G through .Z.\",\"help\":\"MONOTONE=*two-letters*\",\"type\":\"value\"},{\"name\":\"MPC\",\"optional\":true,\"description\":\"Outputs multiple regression point model coordinates to the OUT= data set.\",\"type\":\"standalone\"},{\"name\":\"MQC\",\"optional\":true,\"description\":\"Outputs multiple regression quadratic point model coordinates to the OUT= data set.\",\"type\":\"standalone\"},{\"name\":\"MRC\",\"optional\":true,\"description\":\"Outputs multiple regression coefficients to the OUT= data set.\",\"type\":\"standalone\"},{\"name\":\"MREDUNDANCY\",\"optional\":true,\"aliases\":[\"MRE\"],\"description\":\"Outputs multiple redundancy analysis coefficients to the OUT= data set.\",\"type\":\"standalone\"},{\"name\":\"NCAN=\",\"optional\":true,\"aliases\":[\"NCA=\"],\"description\":\"Specifies the number of canonical variables to use in the METHOD=CANALS algorithm. By default, NCAN=1. The value of the NCAN= a-option must be ≥ 1.\",\"help\":\"NCAN=*n*\",\"type\":\"value\"},{\"name\":\"NOINT\",\"optional\":true,\"aliases\":[\"NOI\"],\"description\":\"Omits the intercept from the OUT= data set and suppresses centering of data. You cannot specify the NOINT a-option with iterative transformations since there is no provision for optimal scaling without an intercept. The NOINT a-option can be specified only when there is no implicit intercept and when all of the data in a BY group absolutely will not change during the iterations.\",\"type\":\"standalone\"},{\"name\":\"NOMISS\",\"optional\":true,\"aliases\":[\"NOM\"],\"description\":\"Excludes all observations with missing values from the analysis, but does not exclude them from the OUT= data set. If you omit the NOMISS a-option, PROC TRANSREG simultaneously computes the optimal transformations of the nonmissing values and estimates the missing values that minimize squared error.\",\"type\":\"standalone\"},{\"name\":\"NOPRINT\",\"optional\":true,\"aliases\":[\"NOP\"],\"description\":\"Suppresses the display of all output unless you specify the HISTORY a-option. The NOPRINT a-option without the HISTORY a-option disables the Output Delivery System (ODS), including ODS Graphics, for the duration of the procedure run. The NOPRINT a-option with the HISTORY a-option disables all output except the iteration history, again including ODS Graphics, for the duration of the procedure run.\",\"type\":\"standalone\"},{\"name\":\"NORESTOREMISSING\",\"optional\":true,\"aliases\":[\"NORESTORE\",\"NOR\"],\"description\":\"Specifies that missing values should not be restored when the OUT= data set is created. By default, the coded CLASS variable contains a row of missing values for observations in which the CLASS variable is missing. When you specify the NORESTOREMISSING o-option, these observations contain a row of zeros instead. This is useful when PROC TRANSREG is used to code experimental designs for discrete choice models and there is a constant alternative indicated by a missing value.\",\"type\":\"standalone\"},{\"name\":\"NOSCORES\",\"optional\":true,\"aliases\":[\"NOS\"],\"description\":\"Excludes original variables, transformed variables, predicted values, residuals, and scores from the OUT= data set. You can use the NOSCORES o-option with various other options to create an OUT= data set that contains only a coefficient partition (for example, a data set consisting entirely of coefficients and coordinates).\",\"type\":\"standalone\"},{\"name\":\"NOZEROCONSTANT\",\"optional\":true,\"aliases\":[\"NOZERO\",\"NOZ\"],\"description\":\"Specifies that constant variables are expected and should not be zeroed. By default, constant variables are zeroed. This option is useful when PROC TRANSREG is used to code experimental designs for discrete choice models. When these designs are very large, it might be more efficient to use the DESIGN= a-option. It might be that attributes are constant within a block of n observations, so you need to specify the NOZEROCONSTANT a-option to get the correct results. You can specify this option in the PROC TRANSREG, MODEL, and OUTPUT statements.\",\"type\":\"standalone\"},{\"name\":\"NSR\",\"optional\":true,\"description\":\"Specifies that no restrictions are placed on the use of SMOOTH and SSPLINE and the ordinary least squares is used to find the coefficients and predicted values. By default, only certain types of models can be specified with SMOOTH and ordinary least squares is not used to find the coefficients and predicted values.\",\"type\":\"standalone\"},{\"name\":\"ORDER=\",\"optional\":true,\"aliases\":[\"ORD=\"],\"description\":\"Specifies the order in which the CLASS variable levels are to be reported. The default is ORDER=INTERNAL. For ORDER=FORMATTED and ORDER=INTERNAL, the sort order is machine dependent. When you specify ORDER= as an a-option or an o-option, it determines the default ordering for all CLASS variables. When you specify ORDER= as a t-option, it overrides the default ordering only for selected variables.\",\"help\":\"ORDER=DATA | FREQ | FORMATTED | INTERNAL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DATA\",\"description\":\"Sorts by order of appearance in the input data set.\",\"type\":\"standalone\"},{\"name\":\"FREQ\",\"description\":\"Sorts by formatted value.\",\"type\":\"standalone\"},{\"name\":\"FORMATTED\",\"description\":\"Sorts by descending frequency count; levels with the most observations appear first.\",\"type\":\"standalone\"},{\"name\":\"INTERNAL\",\"description\":\"Sorts by unformatted value.\",\"type\":\"standalone\"}]},{\"name\":\"OUTTEST=\",\"optional\":true,\"description\":\"Specifies an output data set to contain hypothesis tests results. When you specify the OUTTEST= option, the data set contains ANOVA results. When you specify the SS2 a-option, regression tables are also output. When you specify the UTILITIES o-option, conjoint analysis part-worth utilities are also output.\",\"help\":\"OUTTEST=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"PBOXCOXTABLE\",\"optional\":true,\"aliases\":[\"PBO\"],\"description\":\"Prints the Box-Cox table with the log likelihood displayed as a function of lambda. The important information in this table is displayed in the Box-Cox plot, so when ODS Graphics is in effect and the plot is produced, the table is not produced by default. When ODS Graphics is not in effect or when the plot is not produced, the table is produced by default. Specify the PBOXCOXTABLE option if you want to see the table in addition to the plot.\",\"type\":\"standalone\"},{\"name\":\"PLOTS=\",\"optional\":true,\"description\":\"Controls the plots produced through ODS Graphics. When you specify only one plot request, you can omit the parentheses around the plot request. Syntax: PLOTS <(global-plot-options)> <= plot-request <(options)>> PLOTS <(global-plot-options)> <= (plot-request <(options)> <... plot-request <(options)>>)> The global plot options include the following: INTERPOLATE |INT uses observations that are excluded from the analysis for interpolation in the fit and transformation plots. By default, observations with zero weight are excluded from all plots. These include observations with a zero, negative, or missing weight or frequency and observations excluded due to missing and invalid values. ONLY | ONL suppresses the default plots. Only plots specifically requested are displayed.\",\"help\":\"PLOTS=ALL | BOXCOX|BOX | FIT | NONE | OBSERVEDBYPREDICTED|OBP|OBS | PBSPLINE|PBS | PREFMAP|PRE | RESIDUALS|RES | SCATTER|SCA | TRANSFORMATION|TRA\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ALL\",\"description\":\"Produces all appropriate plots.\",\"type\":\"standalone\"},{\"name\":\"BOXCOX\",\"description\":\"[Syntax: BOXCOX <( options )> ] Requests a display of the results of the Box-Cox transformation. These results are displayed by default when there is a Box-Cox transformation. The BOXCOX plot request has the following options: P=n adds t or T=t² curves to the legend for the functions where p(t) < n, where t is the t statistic corresponding to the optimal lambda. You can specify P=0 to suppress the legend and P=1 to see all curves in the legend. The default value comes from the BOXCOX(variable / ALPHA=p) specification, which by default is 0.05. RMSE | RMS plots the root mean square error as a function of lambda. T plots t statistics rather than F=t² statistics. UNPACKPANEL | UNPACK |UNP plots the t or F=t² and log-likelihood plots in separate panels.\",\"help\":\"BOXCOX|BOX\",\"type\":\"choice\"},{\"name\":\"FIT\",\"description\":\"[Syntax: FIT <( options )> ] Requests a regression fit plot. This plot is produced by default whenever it is appropriate. It is produced when the dependent variable is specified with the IDENTITY transform, and when there is one quantitative independent variable (for example, IDENTITY for linear fit or SPLINE or one of the other transformations for a nonlinear fit) and at most one CLASS variable. When there is a CLASS variable, separate fits are produced within levels based on your model. You would specify the FIT plot request only to specify a FIT option or with the ONLY global plot option. The FIT plot request has the following options: NOCLM suppresses the confidence limits in regression fit plots. NOCLI suppresses the individual prediction limits in regression fit plots. NOOBS suppresses the observations showing only the fit function and optionally the confidence and prediction limits.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"Suppresses all plots.\",\"type\":\"standalone\"},{\"name\":\"OBSERVEDBYPREDICTED\",\"description\":\"Plots the transformed dependent variable as a function of the regression predicted values.\",\"help\":\"OBSERVEDBYPREDICTED|OBP|OBS\",\"type\":\"choice\"},{\"name\":\"PBSPLINE\",\"description\":\"[Syntax: PBSPLINE <( UNPACKPANEL )> PBS <( UNPACK )> Requests the penalized B-spline criterion plots. You would specify the PBSPLINE plot request only to specify a PBSPLINE option or with the ONLY global plot option. The PBSPLINE plot request has the following option: UNPACKPANEL | UNPACK |UNP plots each criterion plot in a separate panel.\",\"help\":\"PBSPLINE|PBS\",\"type\":\"choice\"},{\"name\":\"PREFMAP\",\"description\":\"Plots ideal point or vector preference mapping results when either two IDENTITY or two POINT independent variables are specified along with the COORDINATES option.\",\"help\":\"PREFMAP|PRE\",\"type\":\"choice\"},{\"name\":\"RESIDUALS\",\"description\":\"[Syntax: RESIDUALS <( options )> RES <( options )> Plots the residuals as a function of each of the transformed independent variables, except coded CLASS variables. The RESIDUALS plot request has the following options: CLASS | CLA plots the residuals as a function of each of the transformed independent variables, including coded CLASS variables. Note that the ALL plot request, which you use to request all plots, specifies the RESIDUALS plot request without the CLASS option. UNPACKPANEL | UNPACK | UNP plots the residuals in separate plots, not several per panel. SMOOTH | SMO adds a LOESS smooth function to the residuals plots.\",\"help\":\"RESIDUALS|RES\",\"type\":\"choice\"},{\"name\":\"SCATTER\",\"description\":\"Plots the scatter plot of observed data, before the transformations, for models with a single quantitative dependent variable, a single quantitative independent variable, and at most one CLASS independent variable.\",\"help\":\"SCATTER|SCA\",\"type\":\"choice\"},{\"name\":\"TRANSFORMATION\",\"description\":\"Syntax: TRANSFORMATION <( options )> TRA <( options )> Plots the variable transformations. The TRANSFORMATION plot request has the following options: DEPENDENTS | DEP plots only the dependent variable transformations. INDEPENDENTS | IND plots only the independent variable transformations. UNPACKPANEL | UNPACK | UNP plots the transformations in separate plots, not several per panel.\",\"help\":\"TRANSFORMATION|TRA\",\"type\":\"choice\"}]},{\"name\":\"PPREFIX=\",\"optional\":true,\"aliases\":[\"PDPREFIX=\",\"PDP=\"],\"description\":\"Specifies a prefix for naming the dependent variable predicted values. The default is PPREFIX=P when you specify the PREDICTED o-option; otherwise, it is PPREFIX=A. When you specify the PPREFIX= o-option, the PREDICTED o-option is automatically specified for you. The PPREFIX= o-option is the same as the ADPREFIX= o-option.\",\"help\":\"PPREFIX=*name*\",\"type\":\"value\"},{\"name\":\"PREDICTED\",\"optional\":true,\"aliases\":[\"PRE\"],\"description\":\"Outputs predicted values, which for METHOD=UNIVARIATE and METHOD=MORALS are the ordinary predicted values from the linear model, to the OUT= data set. The names of the predicted values’ variables are constructed from the PPREFIX= o-option (default P) and the original dependent variable names. When you specify the PPREFIX= o-option, the PREDICTED o-option is automatically specified for you.\",\"type\":\"standalone\"},{\"name\":\"RDPREFIX=\",\"optional\":true,\"aliases\":[\"RPD=\"],\"description\":\"Specifies a prefix for naming the residual (dependent) variables to the OUT= data set. The default is RDPREFIX=R. When you specify the RDPREFIX= o-option, the RESIDUALS o-option is automatically specified for you.\",\"help\":\"RDPREFIX=*name*\",\"type\":\"value\"},{\"name\":\"REDUNDANCY=\",\"optional\":true,\"aliases\":[\"RED=\"],\"description\":\"Outputs redundancy variables to the OUT= data set, either standardized or unstandardized. Specifying the REDUNDANCY o-option is the same as specifying REDUNDANCY=STANDARDIZE. The results of the REDUNDANCY o-option depends on the TSTANDARD= option. You must specify TSTANDARD=Z to get results based on standardized data. The TSTANDARD= option controls how the data that go into the redundancy analysis are scaled, and REDUNDANCY=STANDARDIZE| UNSTANDARDIZE controls how the redundancy variables are scaled. The REDUNDANCY o-option is automatically specified for you when you specify the METHOD=REDUNDANCY a-option. The RPREFIX= o-option specifies a prefix (default Red) for naming the redundancy variables.\",\"help\":\"REDUNDANCY=STANDARDIZE | UNSTANDARDIZE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"STANDARDIZE\",\"description\":\"Outputs redundancy variables to the OUT= data set, standardized.\",\"type\":\"standalone\"},{\"name\":\"UNSTANDARDIZE\",\"description\":\"Outputs redundancy variables to the OUT= data set, unstandardized.\",\"type\":\"standalone\"}]},{\"name\":\"REFERENCE=\",\"optional\":true,\"description\":\"Specifies how reference levels of CLASS variables are to be treated. You can specify the REFERENCE= option in the PROC TRANSREG, MODEL, or OUTPUT statement, and you can specify it independently for the OUT= data set and the displayed output. When you specify it in only one statement, it sets the option for both the displayed output and the OUT= data set.\",\"help\":\"REFERENCE=NONE | MISSING | ZERO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NONE\",\"description\":\"Reference levels are suppressed. This is the default.\",\"type\":\"standalone\"},{\"name\":\"MISSING\",\"description\":\"Reference levels are displayed and output with missing values.\",\"type\":\"standalone\"},{\"name\":\"ZERO\",\"description\":\"Reference levels are displayed and output with zeros.\",\"type\":\"standalone\"}]},{\"name\":\"REITERATE\",\"optional\":true,\"aliases\":[\"REI\"],\"description\":\"Enables PROC TRANSREG to use previous transformations as starting points. The REITERATE a-option affects only variables that are iteratively transformed (specified as LINEAR, OPSCORE, MONOTONE, UNTIE, SPLINE, MSPLINE, and SSPLINE). For iterative transformations, the REITERATE a-option requests a search in the input data set for a variable that consists of the value of the TDPREFIX= or TIPREFIX= o-option followed by the original variable name. If such a variable is found, it is used to provide the initial values for the first iteration. The final transformation is a member of the transformation family defined by the original variable, not the transformation family defined by the initialization variable.\",\"type\":\"standalone\"},{\"name\":\"REPLACE\",\"optional\":true,\"aliases\":[\"REP\"],\"description\":\"Is equivalent to specifying both the DREPLACE and the IREPLACE o-options.\",\"type\":\"standalone\"},{\"name\":\"RESIDUALS\",\"optional\":true,\"aliases\":[\"RES\"],\"description\":\"Outputs the differences between the transformed dependent variables and their predicted values. The names of the residual variables are constructed from the RDPREFIX= o-option (default R) and the original dependent variable names.\",\"type\":\"standalone\"},{\"name\":\"RPREFIX=\",\"optional\":true,\"aliases\":[\"RPR=\"],\"description\":\"Provides a prefix for naming the redundancy variables. The default is RPREFIX=Red. When you specify the RPREFIX= o-option, the REDUNDANCY o-option is automatically specified for you.\",\"help\":\"RPREFIX=*name*\",\"type\":\"value\"},{\"name\":\"RSQUARE\",\"optional\":true,\"aliases\":[\"RSQ\"],\"description\":\"Prints a table with only the model R square.\",\"type\":\"standalone\"},{\"name\":\"SEPARATORS=\",\"optional\":true,\"aliases\":[\"SEP=\"],\"description\":\"Specifies separators for creating CLASS expansion variable labels. By default, SEPARATORS=’ ’ ’ * ’ (\\\"blank\\\" and \\\"blank asterisk blank\\\"). The first value is used to separate variable names and values in interactions. The second value is used to separate interaction components. For example, the label for the coded variable for the A=1 and B=2 cell is, by default, ’A 1 * B 2’. If SEPARATORS=’=’ ’x’ is specified, then the label is ’A=1xB=2’. When you specify SEPARATORS= as an a-option or an o-option, it determines the default separators for all CLASS variables. When you specify SEPARATORS= as a t-option, it overrides the default only for selected variables.\",\"type\":\"value\"},{\"name\":\"SHORT\",\"optional\":true,\"aliases\":[\"SHO\"],\"description\":\"Suppresses the iteration histories.\",\"type\":\"standalone\"},{\"name\":\"SINGULAR=\",\"optional\":true,\"aliases\":[\"SIN=\"],\"description\":\"Specifies the largest value within rounding error of zero. By default, SINGULAR=1E–12. PROC TRANSREG uses the value of the SINGULAR= a-option for checking 1 - R² when constructing full-rank matrices of predictor variables, checking denominators before dividing, and so on. PROC TRANSREG computes the regression coefficients by sweeping with rational pivoting.\",\"help\":\"SINGULAR=*n*\",\"type\":\"value\"},{\"name\":\"SOLVE\",\"optional\":true,\"aliases\":[\"SOL\",\"DUMMY\",\"DUM\"],\"description\":\"Provides a canonical initialization. When there are no monotonicity constraints, when there is at most one canonical variable in each set, and when there is enough available memory, PROC TRANSREG (with the SOLVE a-option) can usually directly solve for the optimal solution in only one iteration. The initialization iteration is number 0, which is slower and uses more memory than other iterations. However, for some models, specifying the SOLVE a-option can greatly decrease the amount of time required to find the optimal transformations. During iteration 0, each variable is replaced by an expanded variable and the model is fit to the larger, expanded set of variables. For example, an OPSCORE variable is expanded into coded (or \\\"dummy\\\") variables, as if CLASS were specified, and a SPLINE variable is expanded into a B-spline basis, as if BSPLINE were specified. Then for each expanded variable, the results of iteration zero are constructed by multiplying the expanded basis times the β subvector to get the optimal transformation. This a-option can be useful even in models where a direct solution is not possible, because it provides good initial transformations of all the variables.\",\"type\":\"standalone\"},{\"name\":\"SS2\",\"optional\":true,\"description\":\"Produces a regression table based on Type II sums of squares. Tests of the contribution of each transformation to the overall model are displayed and output to the OUTTEST= data set when you specify the OUTTEST= option. When you specify the SS2 a-option, the TEST a-option is automatically specified for you.\",\"type\":\"standalone\"},{\"name\":\"TDPREFIX=\",\"optional\":true,\"aliases\":[\"TDP=\"],\"description\":\"Specifies a prefix for naming the transformed dependent variables. By default, TDPREFIX=T. The TDPREFIX= o-option is ignored when you specify the DREPLACE o-option.\",\"help\":\"TDPREFIX=*name*\",\"type\":\"value\"},{\"name\":\"TEST\",\"optional\":true,\"aliases\":[\"TES\"],\"description\":\"Generates an ANOVA table. PROC TRANSREG tests the null hypothesis that the vector of scoring coefficients for all of the transformations is zero.\",\"type\":\"standalone\"},{\"name\":\"TIPREFIX=\",\"optional\":true,\"aliases\":[\"TIP=\"],\"description\":\"Specifies a prefix for naming the transformed independent variables. By default, TIPREFIX=T. The TIPREFIX= o-option is ignored when you specify the IREPLACE o-option.\",\"help\":\"TIPREFIX=*name*\",\"type\":\"value\"},{\"name\":\"TSTANDARD=\",\"optional\":true,\"description\":\"Specifies the standardization of the transformed variables for the hypothesis tests and in the OUT= data set. By default, TSTANDARD=ORIGINAL. When you specify TSTANDARD= as an a-option or an o-option, it determines the default standardization for all variables. When you specify TSTANDARD= as a t-option, it overrides the default standardization only for selected variables.\",\"help\":\"TSTANDARD=CENTER | NOMISS | ORIGINAL | Z\",\"type\":\"choice\",\"arguments\":[{\"name\":\"CENTER\",\"description\":\"Centers the output variables to mean zero, but the variances are the same as the variances of the input variables.\",\"type\":\"standalone\"},{\"name\":\"NOMISS\",\"description\":\"Sets the means and variances of the transformed variables in the OUT= data set, computed over all output values that correspond to nonmissing values in the input data set, to the means and variances computed from the nonmissing observations of the original variables. The TSTANDARD=NOMISS specification is useful with missing data. When a variable is linearly transformed, the final variable contains the original nonmissing values and the missing value estimates. In other words, the nonmissing values are unchanged. If your data have no missing values, TSTANDARD=NOMISS and TSTANDARD=ORIGINAL produce the same results.\",\"type\":\"standalone\"},{\"name\":\"ORIGINAL\",\"description\":\"Sets the means and variances of the transformed variables to the means and variances of the original variables. This is the default.\",\"type\":\"standalone\"},{\"name\":\"Z\",\"description\":\"Standardizes the variables to mean zero, variance one.\",\"type\":\"standalone\"}]},{\"name\":\"TSUFFIX=\",\"optional\":true,\"aliases\":[\"TSU=\"],\"description\":\"Specifies the number of characters in \\\"Transformation\\\" to append to variable labels for transformed variables. By default, all characters are used.\",\"help\":\"TSUFFIX=*n*\",\"type\":\"value\"},{\"name\":\"TYPE=\",\"optional\":true,\"aliases\":[\"TYP=\"],\"description\":\"Specifies the valid value for the _TYPE_ variable in the input data set. If PROC TRANSREG finds an input _TYPE_ variable, it uses only observations with a _TYPE_ value that matches the TYPE= value. This enables a PROC TRANSREG OUT= data set containing coefficients to be used as input to PROC TRANSREG without requiring a WHERE statement to exclude the coefficients. If a _TYPE_ variable is not in the data set, all observations are used. The default is TYPE=’SCORE’, so if you do not specify the TYPE= a-option, only observations with _TYPE_=’SCORE’ are used. Do not confuse this a-option with the data set TYPE= option. The DATA= data set must be an ordinary SAS data set.\",\"type\":\"value\"},{\"name\":\"UNTIE=\",\"optional\":true,\"aliases\":[\"UNT=\"],\"description\":\"Specifies the first and last special missing values in the list of those special missing values that are to be estimated with within-variable order constraints but no category constraints. The two-letters value must consist of two letters in alphabetical order. By default, there are category constraints but no order constraints on special missing value estimates.\",\"help\":\"UNTIE=*two-letters*\",\"type\":\"value\"},{\"name\":\"UTILITIES\",\"optional\":true,\"aliases\":[\"UTI\"],\"description\":\"Produces a table of the part-worth utilities from a conjoint analysis. Utilities, their standard errors, and the relative importance of each factor are displayed and output to the OUTTEST= data set when you specify the OUTTEST= option. When you specify the UTILITIES a-option, the TEST a-option is automatically specified for you.\",\"type\":\"standalone\"}]},{\"name\":\"BY\",\"description\":\"You can specify a BY statement with PROC TRANSREG to obtain separate analyses on observations in groups defined by the BY variables. When a BY statement appears, the procedure expects the input data set to be sorted in order of the BY variables.\",\"help\":\"BY &lt;DESCENDING&gt;&lt;NOTSORTED&gt;\",\"arguments\":[{\"name\":\"DESCENDING\",\"optional\":true,\"description\":\"Specifies that the observations are sorted in descending order by the variable that immediately follows the word DESCENDING in the BY statement.\",\"type\":\"standalone\"},{\"name\":\"NOTSORTED\",\"optional\":true,\"description\":\"Specifies that observations are not necessarily sorted in alphabetic or numeric order.\",\"type\":\"standalone\"}]},{\"name\":\"FREQ\",\"description\":\"If one variable in your input data set represents the frequency of occurrence for other values in the observation, specify the variable’s name in a FREQ statement. PROC TRANSREG treats the data as if each observation appears n times, where n is the value of the FREQ variable for the observation. Noninteger values of the FREQ variable are truncated to the largest integer less than the FREQ value. The observation is used in the analysis only if the value of the FREQ statement variable is greater than or equal to 1.\",\"help\":\"FREQ variable \"},{\"name\":\"ID\",\"description\":\"The ID statement includes additional character or numeric variables in the OUT= data set. The variables must be contained in the input data set. The first variable is used to label points in PREFMAP plots. These variables are also used in some plots as tip variables.\",\"help\":\"ID variables \"},{\"name\":\"MODEL\",\"description\":\"these depend on the transform chosen. The t-options are listed after a slash in the parentheses that enclose the variable list (either 'dependents or independents). The a-options control the algorithm used, details of iteration, details of how the intercept and coded variables are generated, and displayed output details. The a-options are listed after the entire model specification (the dependents, independents, transformations, and t-options) and after a slash. You can also specify the algorithm options in the PROC TRANSREG statement. When you specify the DESIGN o-option, dependents and an equal sign are not required. The operators *, |, and @ from the GLM procedure are available for interactions with the CLASS expansion and the IDENTITY transformation. They are used as follows: Class(a * b ... c | d ... e | f ... @ n) Identity(a * b ... c | d ... e | f ... @ n) In addition, transformations and spline expansions can be crossed with classification variables as follows: transform(var) * class(group) transform(var) | class(group)\",\"help\":\"MODEL BSPLINE CLASS EPOINT ...\",\"arguments\":[{\"name\":\"ARSIN\",\"aliases\":[\"ARS\"],\"description\":\"Finds an inverse trigonometric sine transformation. Variables specified in the ARSIN transform must be numeric and in the interval (-1.0 ≤ x ≤ 1.0), and they are typically continuous.\",\"type\":\"standalone\"},{\"name\":\"BOXCOX\",\"aliases\":[\"BOX\"],\"description\":\"Finds a Box-Cox (1964) transformation of the specified variables. The BOXCOX transformation can be used only with dependent variables. The ALPHA=, CLL=, CONVENIENT, GEOMETRICMEAN, LAMBDA=, and PARAMETER= t-options can be used with the BOXCOX transformation. Variables specified in the BOXCOX transform must be numeric, and they are typically continuous.\",\"type\":\"standalone\"},{\"name\":\"BSPLINE\",\"aliases\":[\"BSP\"],\"description\":\"Expands each variable to a B-spline basis. You can specify the DEGREE=, KNOTS=, NKNOTS=, and EVENLY= t-options with the BSPLINE expansion. When DEGREE=n (3 by default) with k knots (0 by default), n+k+l variables are created. In addition, the original variable appears in the OUT= data set before the ID variables. For example, bspline(x) expands x into x_0 x_1 x_2 x_3 and outputs x as well. The x_: variables contain the B-spline basis vectors (which are the same basis vectors that the SPLINE and MSPLINE transformations use internally). The columns of the BSPLINE expansion sum to a column of ones, so an implicit intercept model is fit when the BSPLINE expansion is specified. If you specify the BSPLINE expansion for more than one variable, the model is less than full rank. Variables specified in a BSPLINE expansion must be numeric, and they are typically continuous.\",\"type\":\"standalone\"},{\"name\":\"CLASS\",\"aliases\":[\"CLA\"],\"description\":\"Expands the variables to a set of coded or \\\"dummy\\\" variables. PROC TRANSREG uses the values of the formatted variables to determine class membership. The specification class(x1 x2) fits a simple main-effects model, class(x1 | x2) fits a main-effects and interactions model, and class(x1|x2|x3|x4@2 x1*x2*x3) fits a model with all main effects, all two-way interactions, and one three-way interaction. Variables specified with the CLASS expansion can be either character or numeric; numeric variables should be discrete.\",\"type\":\"standalone\"},{\"name\":\"EPOINT\",\"aliases\":[\"EPO\"],\"description\":\"Expands the variables for an elliptical response surface regression or for an elliptical ideal point regression. Specify the COORDINATES o-option to output PREFMAP ideal elliptical point model coordinates to the OUT= data set. Each axis of the ellipse (or ellipsoid) is oriented in the same direction as one of the variables. The EPOINT expansion creates a new variable for each original variable. The value of each new variable is the square of each observed value for the corresponding original variable. The regression analysis then uses both sets of variables (original and squared). Variables specified with the EPOINT expansion must be numeric, and they are typically continuous.\",\"type\":\"standalone\"},{\"name\":\"EXP\",\"description\":\"Exponentiates variables (x is transformed to a^x). To specify the value of a, use the PARAMETER= t-option. By default, a is the mathematical constant e=2.718... Variables specified with the EXP transform must be numeric, and they are typically continuous.\",\"type\":\"standalone\"},{\"name\":\"IDENTITY\",\"aliases\":[\"IDE\"],\"description\":\"Specifies variables that are not changed by the iterations. Typically, the IDENTITY transformation is used with a simple variable list, such as identity(x1-x5). However, you can also specify interaction terms. For example, identity(x1 | x2) creates x1, x2, and the product x1*x2; and identity(x1 | x2 | x3) creates x1, x2, x1*x2, x3, x1*x3, x2*x3, and x1*x2*x3. Variables specified in the IDENTITY transform must be numeric.\",\"type\":\"standalone\"},{\"name\":\"LINEAR\",\"aliases\":[\"LIN\"],\"description\":\"Finds an optimal linear transformation of each variable. For variables with no missing values, the transformed variable is the same as the original variable. For variables with missing values, the transformed nonmissing values have a different scale and origin than the original values. Variables specified in the LINEAR transform must be numeric.\",\"type\":\"standalone\"},{\"name\":\"LOG\",\"description\":\"Transforms variables to logarithms (x is transformed to LOGa(x)). To specify the base of the logarithm, use the PARAMETER= t-option. The default is a natural logarithm with base e=2.718... Variables specified with the LOG transform must be numeric and positive, and they are typically continuous.\",\"type\":\"standalone\"},{\"name\":\"LOGIT\",\"description\":\"Finds a logit transformation on the variables. The logit of x is LOG(x/(1-x)). Unlike other transformations, LOGIT does not have a three-letter abbreviation. Variables specified with the LOGIT transform must be numeric and in the interval (0.0 < x < 1.0), and they are typically continuous.\",\"type\":\"standalone\"},{\"name\":\"MONOTONE\",\"aliases\":[\"MON\"],\"description\":\"Finds a monotonic transformation of each variable, with the restriction that ties are preserved. The Kruskal (1964) secondary least-squares monotonic transformation is used. This transformation weakly preserves order and category membership (ties). Variables specified with the MONOTONE transform must be numeric, and they are typically discrete.\",\"type\":\"standalone\"},{\"name\":\"MSPLINE\",\"aliases\":[\"MSP\"],\"description\":\"Finds a monotonically increasing B-spline transformation with monotonic coefficients (de Boor; 1978; de Leeuw; 1986) of each variable. You can specify the DEGREE=, KNOTS=, NKNOTS=, and EVENLY= t-options with MSPLINE. By default, PROC TRANSREG fits a quadratic spline with no knots. Variables specified with the MSPLINE transform must be numeric, and they are typically continuous.\",\"type\":\"standalone\"},{\"name\":\"OPSCORE\",\"aliases\":[\"OPS\"],\"description\":\"Finds an optimal scoring of each variable. The OPSCORE transformation assigns scores to each class (level) of the variable. The Fisher (1938) optimal scoring method is used. Variables specified with the OPSCORE transform can be either character or numeric; numeric variables should be discrete.\",\"type\":\"standalone\"},{\"name\":\"PBSPLINE\",\"aliases\":[\"PBS\"],\"description\":\"Is a noniterative penalized B-spline transformation (Eilers and Marx; 1996). The PBSPLINE transformation can be used only with independent variables. By default with PBSPLINE, a cubic spline is fit with 100 evenly spaced knots, three evenly spaced exterior knots, and a difference matrix of order three (DEGREE=3 NKNOTS=100 EVENLY=3 PARAMETER=3). Variables specified in the PBSPLINE transform must be numeric, and they are typically continuous.\",\"type\":\"standalone\"},{\"name\":\"POINT\",\"aliases\":[\"POI\"],\"description\":\"Expands the variables for a circular response surface regression or for a circular ideal point regression. Specify the COORDINATES o-option to output PREFMAP ideal point model coordinates to the OUT= data set. The POINT expansion creates a new variable having a value for each observation that is the sum of squares of all the POINT variables. This new variable is added to the set of variables and is used in the regression analysis.\",\"type\":\"standalone\"},{\"name\":\"POWER\",\"aliases\":[\"POW\"],\"description\":\"Raises variables to a specified power (x is transformed to x^a). You must specify the power parameter, a, by specifying the PARAMETER= t-option following the variables. Here is an example: power(variable / parameter=number)\",\"type\":\"standalone\"},{\"name\":\"PSPLINE\",\"aliases\":[\"PSP\"],\"description\":\"Expands each variable to a piecewise polynomial basis. You can specify the DEGREE=, KNOTS=, NKNOTS=, and EVENLY t-options with PSPLINE. When DEGREE= (3 by default) with k knots (0 by default), n + k variables are created. In addition, the original variable appears in the OUT= data set before the ID variables. For example, pspline (x / nknots=1) expands x into x_1 x_2 x_3 x_4 and outputs x as well. Unlike BSPLINE, an intercept is not implicit in the columns of PSPLINE. Variables specified with the PSPLINE expansion must be numeric, and they are typically continuous.\",\"type\":\"standalone\"},{\"name\":\"QPOINT\",\"aliases\":[\"QPO\"],\"description\":\"Expands the variables for a quadratic response surface regression or for a quadratic ideal point regression. Specify the COORDINATES o-option to output PREFMAP quadratic ideal point model coordinates to the OUT= data set. For m QPOINT variables, m(m+1)/2 new variables are created containing the squares and crossproducts of the original variables. The regression analysis uses both sets (original and crossed). Variables specified with the QPOINT expansion must be numeric, and they are typically continuous.\",\"type\":\"standalone\"},{\"name\":\"RANK\",\"aliases\":[\"RAN\"],\"description\":\"Transforms variables to ranks. Ranks are averaged within ties. The smallest input value is assigned the smallest rank. Variables specified in the RANK transform must be numeric.\",\"type\":\"standalone\"},{\"name\":\"SMOOTH\",\"aliases\":[\"SMO\"],\"description\":\"Is a noniterative smoothing spline transformation (Reinsch; 1967). You can specify the smoothing parameter with either the SM= or the PARAMETER= t-option. The default smoothing parameter is SM=0. The SMOOTH transformation can be used only with independent variables. Variables specified with the SMOOTH transform must be numeric, and they are typically continuous. How the results of the SMOOTH transformation are used in PROC TRANSREG has changed with this release. In particular, some aspects of the syntax along the coefficients and predicted values have changed.\",\"type\":\"standalone\"},{\"name\":\"SPLINE\",\"aliases\":[\"SPL\"],\"description\":\"Finds a B-spline transformation (de Boor; 1978) of each variable. By default, PROC TRANSREG fits a cubic spline with no knots. You can specify the DEGREE=, KNOTS=, NKNOTS=, and EVENLY= t-options with SPLINE. Variables specified with the SPLINE transform must be numeric, and they are typically continuous.\",\"type\":\"standalone\"},{\"name\":\"SSPLINE\",\"aliases\":[\"SSP\"],\"description\":\"Finds an iterative smoothing spline transformation of each variable. The SSPLINE transformation does not generally minimize squared error. You can specify the smoothing parameter with either the SM= t-option or the PARAMETER= t-option. The default smoothing parameter is SM=0. Variables specified with the SSPLINE transform must be numeric, and they are typically continuous. How the results of the SSPLINE transformation are used in PROC TRANSREG has changed with this release to be consistent with the changes to SMOOTH. In particular, some aspects of the syntax along the coefficients and predicted values have changed.\",\"type\":\"standalone\"},{\"name\":\"UNTIE\",\"aliases\":[\"UNT\"],\"description\":\"Finds a monotonic transformation of each variable without the restriction that ties are preserved. PROC TRANSREG uses the Kruskal (1964) primary least-squares monotonic transformation method. This transformation weakly preserves order but not category membership (it might untie some previously tied values). Variables specified with the UNTIE transform must be numeric, and they are typically discrete.\",\"type\":\"standalone\"},{\"name\":\"ADDITIVE\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"ADD\"],\"description\":\"Creates an additive model by multiplying the values of each independent variable (after the TSTANDARD= standardization) by that variable’s corresponding multiple regression coefficient. This process scales the independent variables so that the predicted-values variable for the final dependent variable is simply the sum of the final independent variables. An additive model is a univariate multiple regression model. As a result, the ADDITIVE a-option is not valid if METHOD=CANALS, or if METHOD=REDUNDANCY or METHOD=UNIVARIATE with more than one dependent variable.\",\"type\":\"standalone\"},{\"name\":\"ALPHA=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"ALP=\"],\"description\":\"Specifies the level of significance for all of the confidence limits. By default, ALPHA=0.05.\",\"help\":\"ALPHA=*number*\",\"type\":\"value\"},{\"name\":\"CCONVERGE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"CCO=\"],\"description\":\"Specifies the minimum change in the criterion being optimized (squared multiple correlation for METHOD=MORALS and METHOD=UNIVARIATE, average squared multiple correlation for METHOD=REDUNDANCY, average squared canonical correlation for METHOD=CANALS) that is required to continue iterating. By default, CCONVERGE=0.0.\",\"help\":\"CCONVERGE=*n*\",\"type\":\"value\"},{\"name\":\"CL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests confidence limits on the parameter estimates in the displayed output.\",\"type\":\"standalone\"},{\"name\":\"CONVERGE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"CON=\"],\"description\":\"Specifies the minimum average absolute change in standardized variable scores that is required to continue iterating. By default, CONVERGE=0.00001. Average change is computed over only those variables that can be transformed by the iterations; that is, all LINEAR, OPSCORE, MONOTONE, UNTIE, SPLINE, MSPLINE, and SSPLINE variables and nonoptimal transformation variables with missing values.\",\"help\":\"CONVERGE=*n*\",\"type\":\"value\"},{\"name\":\"CPREFIX=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"CPR=\"],\"description\":\"Specifies the number of first characters of a CLASS expansion variable’s name to use in constructing names for coded variables. Coded variable names are constructed from the first n characters of the CLASS expansion variable’s name and the first 32 - n characters of the formatted CLASS expansion variable’s value. For example, if the variable ClassVariable has values 1, 2, and 3, then, by default, the coded variables are named ClassVariable1, ClassVariable2, and ClassVariable3. However, with CPREFIX=5, the coded variables are named Class1, Class2, and Class3. When CPREFIX=0, coded variable names are created entirely from the CLASS expansion variable’s formatted values. Valid values range from –1 to 31, where –1 indicates the default calculation and 0 to 31 are the number of prefix characters to use. The default, –1, sets n to 32 – min(32, max(2, fl)), where fl is the format length. When you specify CPREFIX= as an a-option or an o-option, it specifies the default for all CLASS variables. When you specify CPREFIX= as a t-option, it overrides the default only for selected variables.\",\"help\":\"CPREFIX=*n*\",\"type\":\"value\"},{\"name\":\"DETAIL\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"DET\"],\"description\":\"Reports on details of the model specification. For example, it reports the knots and coefficients for splines, reference levels for CLASS variables, Box-Cox results, the smoothing parameter, and so on. The DETAIL option can take two optional suboptions, NOCOEFFICIENTS and NOKNOTS (or NOC and NOK). To suppress knots from the details listing, specify DETAIL(NOKNOTS). To suppress coefficients from the details listing, specify DETAIL(NOCOEFFICIENTS). To suppress both knots and coefficients from the details listing, specify DETAIL(NOKNOTS NOCOEFFICIENTS).\",\"type\":\"standalone\"},{\"name\":\"HISTORY\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"HIS\"],\"description\":\"Displays the iteration histories even when the NOPRINT a-option is specified.\",\"type\":\"standalone\"},{\"name\":\"INDIVIDUAL\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"IND\"],\"description\":\"Fits each model for each dependent variable individually. This means, for example, that when INDIVIDUAL is specified, missing values in one dependent variable will not cause that observation to be deleted for the other models with the other dependent variables. In contrast, by default, missing values in any variable in any model can cause the observation to be deleted for all models. The INDIVIDUAL a-option can be specified only with METHOD=MORALS.\",\"type\":\"standalone\"},{\"name\":\"LPREFIX=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"LPR=\"],\"description\":\"Specifies the number of first characters of a CLASS expansion variable’s label (or name if no label is specified) to use in constructing labels for coded variables. Coded variable labels are constructed from the first n characters of the CLASS expansion variable’s name and the first 127 - n characters of the formatted CLASS expansion variable’s value. Valid values range from –1 to 127. Values of 0 to 127 specify the number of name or label characters to use. The default is –1, which specifies that PROC TRANSREG should pick a value depending on the length of the prefix and the formatted class value. When you specify LPREFIX= as an a-option or an o-option, it determines the default for all CLASS variables. When you specify LPREFIX= as a t-option, it overrides the default only for selected variables.\",\"help\":\"LPREFIX=*n*\",\"type\":\"value\"},{\"name\":\"MAXITER=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"MAX=\"],\"description\":\"Specifies the maximum number of iterations (see the section Controlling the Number of Iterations). By default, MAXITER=30. You can specify MAXITER=0 to save time when no transformations are requested.\",\"help\":\"MAXITER=*n*\",\"type\":\"value\"},{\"name\":\"METHOD=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the iterative algorithm. By default, METHOD=UNIVARIATE, unless you specify options that cannot be handled by the UNIVARIATE algorithm. Specifically, the default is METHOD=MORALS for the following situations: o if you specify LINEAR, OPSCORE, MONOTONE, UNTIE, SPLINE, MSPLINE, or SSPLINE transformations for the independent variables o if you specify the ADDITIVE a-option with more than one dependent variable o if you specify the IAPPROXIMATIONS o-option o if you specify the INDIVIDUAL a-option\",\"help\":\"METHOD=CANALS | MORALS | REDUNDANCY | UNIVARIATE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"CANALS\",\"followsDelimiter\":\"/\",\"description\":\"Specifies canonical correlation with alternating least squares. This jointly transforms all dependent and independent variables to maximize the average of the first n squared canonical correlations, where n is the value of the NCAN= a-option.\",\"type\":\"standalone\"},{\"name\":\"MORALS\",\"followsDelimiter\":\"/\",\"description\":\"Specifies multiple optimal regression with alternating least squares. This transforms each dependent variable, along with the set of independent variables, to maximize the squared multiple correlation.\",\"type\":\"standalone\"},{\"name\":\"REDUNDANCY\",\"followsDelimiter\":\"/\",\"description\":\"Jointly transforms all dependent and independent variables to maximize the average of the squared multiple correlations.\",\"type\":\"standalone\"},{\"name\":\"UNIVARIATE\",\"followsDelimiter\":\"/\",\"description\":\"Transforms each dependent variable to maximize the squared multiple correlation, while the independent variables are not transformed.\",\"type\":\"standalone\"}]},{\"name\":\"MONOTONE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"MON=\"],\"description\":\"Specifies the first and last special missing value in the list of those special missing values to be estimated with within-variable order and category constraints. By default, there are no order constraints on missing value estimates. The two-letters value must consist of two letters in alphabetical order. For example, MONOTONE=DF means that the estimate of .D must be less than or equal to the estimate of .E, which must be less than or equal to the estimate of .F; no order constraints are placed on estimates of ._, .A through .C, and .G through .Z.\",\"help\":\"MONOTONE=*two-letters*\",\"type\":\"value\"},{\"name\":\"NCAN=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"NCA=\"],\"description\":\"Specifies the number of canonical variables to use in the METHOD=CANALS algorithm. By default, NCAN=1. The value of the NCAN= a-option must be ≥ 1.\",\"help\":\"NCAN=*n*\",\"type\":\"value\"},{\"name\":\"NOINT\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"NOI\"],\"description\":\"Omits the intercept from the OUT= data set and suppresses centering of data. You cannot specify the NOINT a-option with iterative transformations since there is no provision for optimal scaling without an intercept. The NOINT a-option can be specified only when there is no implicit intercept and when all of the data in a BY group absolutely will not change during the iterations.\",\"type\":\"standalone\"},{\"name\":\"NOMISS\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"NOM\"],\"description\":\"Excludes all observations with missing values from the analysis, but does not exclude them from the OUT= data set. If you omit the NOMISS a-option, PROC TRANSREG simultaneously computes the optimal transformations of the nonmissing values and estimates the missing values that minimize squared error.\",\"type\":\"standalone\"},{\"name\":\"NOPRINT\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"NOP\"],\"description\":\"Suppresses the display of all output unless you specify the HISTORY a-option. The NOPRINT a-option without the HISTORY a-option disables the Output Delivery System (ODS), including ODS Graphics, for the duration of the procedure run. The NOPRINT a-option with the HISTORY a-option disables all output except the iteration history, again including ODS Graphics, for the duration of the procedure run.\",\"type\":\"standalone\"},{\"name\":\"NOZEROCONSTANT\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"NOZERO\",\"NOZ\"],\"description\":\"Specifies that constant variables are expected and should not be zeroed. By default, constant variables are zeroed. This option is useful when PROC TRANSREG is used to code experimental designs for discrete choice models. When these designs are very large, it might be more efficient to use the DESIGN= a-option. It might be that attributes are constant within a block of n observations, so you need to specify the NOZEROCONSTANT a-option to get the correct results. You can specify this option in the PROC TRANSREG, MODEL, and OUTPUT statements.\",\"type\":\"standalone\"},{\"name\":\"NSR\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies that no restrictions are placed on the use of SMOOTH and SSPLINE and the ordinary least squares is used to find the coefficients and predicted values. By default, only certain types of models can be specified with SMOOTH and ordinary least squares is not used to find the coefficients and predicted values.\",\"type\":\"standalone\"},{\"name\":\"ORDER=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"ORD=\"],\"description\":\"Specifies the order in which the CLASS variable levels are to be reported. The default is ORDER=INTERNAL. For ORDER=FORMATTED and ORDER=INTERNAL, the sort order is machine dependent. When you specify ORDER= as an a-option or an o-option, it determines the default ordering for all CLASS variables. When you specify ORDER= as a t-option, it overrides the default ordering only for selected variables.\",\"help\":\"ORDER=DATA | FREQ | FORMATTED | INTERNAL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DATA\",\"followsDelimiter\":\"/\",\"description\":\"Sorts by order of appearance in the input data set.\",\"type\":\"standalone\"},{\"name\":\"FREQ\",\"followsDelimiter\":\"/\",\"description\":\"Sorts by formatted value.\",\"type\":\"standalone\"},{\"name\":\"FORMATTED\",\"followsDelimiter\":\"/\",\"description\":\"Sorts by descending frequency count; levels with the most observations appear first.\",\"type\":\"standalone\"},{\"name\":\"INTERNAL\",\"followsDelimiter\":\"/\",\"description\":\"Sorts by unformatted value.\",\"type\":\"standalone\"}]},{\"name\":\"PBOXCOXTABLE\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"PBO\"],\"description\":\"Prints the Box-Cox table with the log likelihood displayed as a function of lambda. The important information in this table is displayed in the Box-Cox plot, so when ODS Graphics is in effect and the plot is produced, the table is not produced by default. When ODS Graphics is not in effect or when the plot is not produced, the table is produced by default. Specify the PBOXCOXTABLE option if you want to see the table in addition to the plot.\",\"type\":\"standalone\"},{\"name\":\"REFERENCE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies how reference levels of CLASS variables are to be treated. You can specify the REFERENCE= option in the PROC TRANSREG, MODEL, or OUTPUT statement, and you can specify it independently for the OUT= data set and the displayed output. When you specify it in only one statement, it sets the option for both the displayed output and the OUT= data set.\",\"help\":\"REFERENCE=NONE | MISSING | ZERO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NONE\",\"followsDelimiter\":\"/\",\"description\":\"Reference levels are suppressed. This is the default.\",\"type\":\"standalone\"},{\"name\":\"MISSING\",\"followsDelimiter\":\"/\",\"description\":\"Reference levels are displayed and output with missing values.\",\"type\":\"standalone\"},{\"name\":\"ZERO\",\"followsDelimiter\":\"/\",\"description\":\"Reference levels are displayed and output with zeros.\",\"type\":\"standalone\"}]},{\"name\":\"REITERATE\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"REI\"],\"description\":\"Enables PROC TRANSREG to use previous transformations as starting points. The REITERATE a-option affects only variables that are iteratively transformed (specified as LINEAR, OPSCORE, MONOTONE, UNTIE, SPLINE, MSPLINE, and SSPLINE). For iterative transformations, the REITERATE a-option requests a search in the input data set for a variable that consists of the value of the TDPREFIX= or TIPREFIX= o-option followed by the original variable name. If such a variable is found, it is used to provide the initial values for the first iteration. The final transformation is a member of the transformation family defined by the original variable, not the transformation family defined by the initialization variable.\",\"type\":\"standalone\"},{\"name\":\"RSQUARE\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"RSQ\"],\"description\":\"Prints a table with only the model R square.\",\"type\":\"standalone\"},{\"name\":\"SEPARATORS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"SEP=\"],\"description\":\"Specifies separators for creating CLASS expansion variable labels. By default, SEPARATORS=’ ’ ’ * ’ (\\\"blank\\\" and \\\"blank asterisk blank\\\"). The first value is used to separate variable names and values in interactions. The second value is used to separate interaction components. For example, the label for the coded variable for the A=1 and B=2 cell is, by default, ’A 1 * B 2’. If SEPARATORS=’=’ ’x’ is specified, then the label is ’A=1xB=2’. When you specify SEPARATORS= as an a-option or an o-option, it determines the default separators for all CLASS variables. When you specify SEPARATORS= as a t-option, it overrides the default only for selected variables.\",\"type\":\"value\"},{\"name\":\"SHORT\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"SHO\"],\"description\":\"Suppresses the iteration histories.\",\"type\":\"standalone\"},{\"name\":\"SINGULAR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"SIN=\"],\"description\":\"Specifies the largest value within rounding error of zero. By default, SINGULAR=1E–12. PROC TRANSREG uses the value of the SINGULAR= a-option for checking 1 - R² when constructing full-rank matrices of predictor variables, checking denominators before dividing, and so on. PROC TRANSREG computes the regression coefficients by sweeping with rational pivoting.\",\"help\":\"SINGULAR=*n*\",\"type\":\"value\"},{\"name\":\"SOLVE\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"SOL\",\"DUMMY\",\"DUM\"],\"description\":\"Provides a canonical initialization. When there are no monotonicity constraints, when there is at most one canonical variable in each set, and when there is enough available memory, PROC TRANSREG (with the SOLVE a-option) can usually directly solve for the optimal solution in only one iteration. The initialization iteration is number 0, which is slower and uses more memory than other iterations. However, for some models, specifying the SOLVE a-option can greatly decrease the amount of time required to find the optimal transformations. During iteration 0, each variable is replaced by an expanded variable and the model is fit to the larger, expanded set of variables. For example, an OPSCORE variable is expanded into coded (or \\\"dummy\\\") variables, as if CLASS were specified, and a SPLINE variable is expanded into a B-spline basis, as if BSPLINE were specified. Then for each expanded variable, the results of iteration zero are constructed by multiplying the expanded basis times the β subvector to get the optimal transformation. This a-option can be useful even in models where a direct solution is not possible, because it provides good initial transformations of all the variables.\",\"type\":\"standalone\"},{\"name\":\"SS2\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Produces a regression table based on Type II sums of squares. Tests of the contribution of each transformation to the overall model are displayed and output to the OUTTEST= data set when you specify the OUTTEST= option. When you specify the SS2 a-option, the TEST a-option is automatically specified for you.\",\"type\":\"standalone\"},{\"name\":\"TEST\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"TES\"],\"description\":\"Generates an ANOVA table. PROC TRANSREG tests the null hypothesis that the vector of scoring coefficients for all of the transformations is zero.\",\"type\":\"standalone\"},{\"name\":\"TSTANDARD=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the standardization of the transformed variables for the hypothesis tests and in the OUT= data set. By default, TSTANDARD=ORIGINAL. When you specify TSTANDARD= as an a-option or an o-option, it determines the default standardization for all variables. When you specify TSTANDARD= as a t-option, it overrides the default standardization only for selected variables.\",\"help\":\"TSTANDARD=CENTER | NOMISS | ORIGINAL | Z\",\"type\":\"choice\",\"arguments\":[{\"name\":\"CENTER\",\"followsDelimiter\":\"/\",\"description\":\"Centers the output variables to mean zero, but the variances are the same as the variances of the input variables.\",\"type\":\"standalone\"},{\"name\":\"NOMISS\",\"followsDelimiter\":\"/\",\"description\":\"Sets the means and variances of the transformed variables in the OUT= data set, computed over all output values that correspond to nonmissing values in the input data set, to the means and variances computed from the nonmissing observations of the original variables. The TSTANDARD=NOMISS specification is useful with missing data. When a variable is linearly transformed, the final variable contains the original nonmissing values and the missing value estimates. In other words, the nonmissing values are unchanged. If your data have no missing values, TSTANDARD=NOMISS and TSTANDARD=ORIGINAL produce the same results.\",\"type\":\"standalone\"},{\"name\":\"ORIGINAL\",\"followsDelimiter\":\"/\",\"description\":\"Sets the means and variances of the transformed variables to the means and variances of the original variables. This is the default.\",\"type\":\"standalone\"},{\"name\":\"Z\",\"followsDelimiter\":\"/\",\"description\":\"Standardizes the variables to mean zero, variance one.\",\"type\":\"standalone\"}]},{\"name\":\"TSUFFIX=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"TSU=\"],\"description\":\"Specifies the number of characters in \\\"Transformation\\\" to append to variable labels for transformed variables. By default, all characters are used.\",\"help\":\"TSUFFIX=*n*\",\"type\":\"value\"},{\"name\":\"TYPE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"TYP=\"],\"description\":\"Specifies the valid value for the _TYPE_ variable in the input data set. If PROC TRANSREG finds an input _TYPE_ variable, it uses only observations with a _TYPE_ value that matches the TYPE= value. This enables a PROC TRANSREG OUT= data set containing coefficients to be used as input to PROC TRANSREG without requiring a WHERE statement to exclude the coefficients. If a _TYPE_ variable is not in the data set, all observations are used. The default is TYPE=’SCORE’, so if you do not specify the TYPE= a-option, only observations with _TYPE_=’SCORE’ are used. Do not confuse this a-option with the data set TYPE= option. The DATA= data set must be an ordinary SAS data set.\",\"type\":\"value\"},{\"name\":\"UNTIE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"UNT=\"],\"description\":\"Specifies the first and last special missing values in the list of those special missing values that are to be estimated with within-variable order constraints but no category constraints. The two-letters value must consist of two letters in alphabetical order. By default, there are category constraints but no order constraints on special missing value estimates.\",\"help\":\"UNTIE=*two-letters*\",\"type\":\"value\"},{\"name\":\"UTILITIES\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"UTI\"],\"description\":\"Produces a table of the part-worth utilities from a conjoint analysis. Utilities, their standard errors, and the relative importance of each factor are displayed and output to the OUTTEST= data set when you specify the OUTTEST= option. When you specify the UTILITIES a-option, the TEST a-option is automatically specified for you.\",\"type\":\"standalone\"}]},{\"name\":\"OUTPUT\",\"description\":\"The OUTPUT statement creates a new SAS data set that contains coefficients, marginal means, and information about the original and transformed variables. The information about original and transformed variables composes the score partition of the data set; observations have _TYPE_=’SCORE’. The coefficients and marginal means compose the coefficient partition of the data set; observations have _TYPE_=’M COEFFI’ or _TYPE_=’MEAN’.\",\"help\":\"OUTPUT &lt;ADPREFIX=name&gt;&lt;AIPREFIX=name&gt;&lt;OUT=SAS-data-set&gt; ...\",\"arguments\":[{\"name\":\"ADPREFIX=\",\"optional\":true,\"aliases\":[\"ADP=\"],\"description\":\"Specifies a prefix for naming the dependent variable predicted values. The default is ADPREFIX=P when you specify the PREDICTED o-option; otherwise, it is ADPREFIX=A. When you specify the ADPREFIX= o-option, the PREDICTED o-option is automatically specified for you. The ADPREFIX= o-option is the same as the PPREFIX= o-option.\",\"help\":\"ADPREFIX=*name*\",\"type\":\"value\"},{\"name\":\"AIPREFIX=\",\"optional\":true,\"aliases\":[\"AIP=\"],\"description\":\"Specifies a prefix for naming the independent variable approximations. The default is AIPREFIX=A. When you specify the AIPREFIX= o-option, the IAPPROXIMATIONS o-option is automatically specified for you.\",\"help\":\"AIPREFIX=*name*\",\"type\":\"value\"},{\"name\":\"APPROXIMATIONS\",\"optional\":true,\"aliases\":[\"APPROX\",\"APP\"],\"description\":\"Is equivalent to specifying both the DAPPROXIMATIONS and the IAPPROXIMATIONS o-options. If you specify METHOD=UNIVARIATE, then the APPROXIMATIONS o-option specifies only the DAPPROXIMATIONS o-option.\",\"type\":\"standalone\"},{\"name\":\"CANONICAL\",\"optional\":true,\"aliases\":[\"CAN\"],\"description\":\"Outputs canonical variables to the OUT= data set. When you specify METHOD=CANALS, the CANONICAL o-option is automatically specified for you. The CDPREFIX= o-option specifies a prefix for naming the dependent canonical variables (default Cand), and the CIPREFIX= o-option specifies a prefix for naming the independent canonical variables (default Cani).\",\"type\":\"standalone\"},{\"name\":\"CCC\",\"optional\":true,\"description\":\"Outputs canonical correlation coefficients to the OUT= data set.\",\"type\":\"standalone\"},{\"name\":\"CDPREFIX=\",\"optional\":true,\"aliases\":[\"CDP=\"],\"description\":\"Provides a prefix for naming the canonical dependent variables. The default is CDPREFIX=Cand. When you specify the CDPREFIX= o-option, the CANONICAL o-option is automatically specified for you.\",\"help\":\"CDPREFIX=*name*\",\"type\":\"value\"},{\"name\":\"CEC\",\"optional\":true,\"description\":\"Outputs canonical elliptical point model coordinates to the OUT= data set.\",\"type\":\"standalone\"},{\"name\":\"CILPREFIX=\",\"optional\":true,\"aliases\":[\"CIL=\"],\"description\":\"Specifies a prefix for naming the conservative-individual-lower confidence limits. The default prefix is CIL. When you specify the CILPREFIX= o-option, the CLI o-option is automatically specified for you.\",\"help\":\"CILPREFIX=*name*\",\"type\":\"value\"},{\"name\":\"CIPREFIX=\",\"optional\":true,\"aliases\":[\"CIP=\"],\"description\":\"Provides a prefix for naming the canonical independent variables. The default is CIPREFIX=Cani. When you specify the CIPREFIX= o-option, the CANONICAL o-option is automatically specified for you.\",\"help\":\"CIPREFIX=*name*\",\"type\":\"value\"},{\"name\":\"CIUPREFIX=\",\"optional\":true,\"aliases\":[\"CIU=\"],\"description\":\"Specifies a prefix for naming the conservative-individual-upper confidence limits. The default prefix is CIU. When you specify the CIUPREFIX= o-option, the CLI o-option is automatically specified for you.\",\"help\":\"CIUPREFIX=*name*\",\"type\":\"value\"},{\"name\":\"CLI\",\"optional\":true,\"description\":\"Outputs individual confidence limits to the OUT= data set. The names of the confidence limits variables are constructed from the original dependent variable names and the prefixes specified in the following o-options: LILPREFIX= (default LIL for liberal individual lower), CILPREFIX= (default CIL for conservative individual lower), LIUPREFIX= (default LIU for liberal individual upper), and CIUPREFIX= (default CIU for conservative individual upper). When there are no monotonicity constraints, the liberal and conservative limits are the same.\",\"type\":\"standalone\"},{\"name\":\"CLM\",\"optional\":true,\"description\":\"Outputs mean confidence limits to the OUT= data set. The names of the confidence limits variables are constructed from the original dependent variable names and the prefixes specified in the following o-options: LMLPREFIX= (default LML for liberal mean lower), CMLPREFIX= (default CML for conservative mean lower), LMUPREFIX= (default LMU for liberal mean upper), and CMUPREFIX= (default CMU for conservative mean upper). When there are no monotonicity constraints, the liberal and conservative limits are the same.\",\"type\":\"standalone\"},{\"name\":\"CMLPREFIX=\",\"optional\":true,\"aliases\":[\"CML=\"],\"description\":\"Specifies a prefix for naming the conservative-mean-lower confidence limits. The default prefix is CML. When you specify the CMLPREFIX= o-option, the CLM o-option is automatically specified for you.\",\"help\":\"CMLPREFIX=*name*\",\"type\":\"value\"},{\"name\":\"CMUPREFIX=\",\"optional\":true,\"description\":\"Specifies a prefix for naming the conservative-mean-upper confidence limits. The default prefix is CMU. When you specify the CMUPREFIX= o-option, the CLM o-option is automatically specified for you.\",\"help\":\"CMUPREFIX=*name*\",\"type\":\"value\"},{\"name\":\"COEFFICIENTS\",\"optional\":true,\"aliases\":[\"COE\"],\"description\":\"Outputs either multiple regression coefficients or raw canonical coefficients to the OUT= data set. If you specify METHOD=CANALS (in the MODEL or PROC TRANSREG statement), then the COEFFICIENTS o-option outputs the first n canonical variables, where n is the value of the NCAN= a-option (specified in the MODEL or PROC TRANSREG statement). Otherwise, the COEFFICIENTS o-option includes multiple regression coefficients in the OUT= data set. In addition, when you specify the CLASS expansion for any independent variable, the COEFFICIENTS o-option also outputs marginal means.\",\"type\":\"standalone\"},{\"name\":\"COORDINATES=\",\"optional\":true,\"aliases\":[\"COO=\"],\"description\":\"Outputs either ideal point or vector model coordinates for preference mapping to the OUT= data set. When METHOD=CANALS, these coordinates are computed from canonical coefficients; otherwise, the coordinates are computed from multiple regression coefficients. For details, see the section Point Models.\",\"type\":\"value\"},{\"name\":\"CPC\",\"optional\":true,\"description\":\"Outputs canonical point model coordinates to the OUT= data set.\",\"type\":\"standalone\"},{\"name\":\"CQC\",\"optional\":true,\"description\":\"Outputs canonical quadratic point model coordinates to the OUT= data set.\",\"type\":\"standalone\"},{\"name\":\"DAPPROXIMATIONS\",\"optional\":true,\"aliases\":[\"DAP\"],\"description\":\"Outputs the approximations of the transformed dependent variables to the OUT= data set. These are the target values for the optimal transformations. With METHOD=UNIVARIATE and METHOD=MORALS, the dependent variable approximations are the ordinary predicted values from the linear model. The names of the approximation variables are constructed from the ADPREFIX= o-option (default A) and the original dependent variable names. For ordinary predicted values, use the PREDICTED o-option instead of the DAPPROXIMATIONS o-option, since the PREDICTED o-option uses a more relevant prefix (\\\"P\\\" instead of \\\"A\\\") and a more relevant variable label suffix (\\\"Predicted Values\\\" instead of \\\"Approximations\\\").\",\"type\":\"standalone\"},{\"name\":\"DEPENDENT=\",\"optional\":true,\"aliases\":[\"DEP=\"],\"description\":\"Specifies the untransformed dependent variable for OUT= data sets with METHOD=MORALS when there is more than one dependent variable. The default is DEPENDENT=_DEPEND_.\",\"help\":\"DEPENDENT=*name*\",\"type\":\"value\"},{\"name\":\"DESIGN=\",\"optional\":true,\"aliases\":[\"DES=\"],\"description\":\"Specifies that your primary goal is design matrix coding, not analysis. Specifying the DESIGN o-option makes the procedure run faster. The DESIGN o-option sets the default method to UNIVARIATE and the default MAXITER= value to zero. It suppresses computing the regression coefficients, unless they are needed for some other option. Furthermore, when the DESIGN o-option is specified, the MODEL statement is not required to have an equal sign. When no MODEL statement equal sign is specified, all variables are considered independent variables, all options that require dependent variables are ignored, and the IREPLACE o-option is automatically specified for you.\",\"type\":\"value\"},{\"name\":\"DREPLACE\",\"optional\":true,\"aliases\":[\"DRE\"],\"description\":\"Replaces the original dependent variables with the transformed dependent variables in the OUT= data set. The names of the transformed variables in the OUT= data set correspond to the names of the original dependent variables in the input data set. By default, both the original dependent variables and the transformed dependent variables (with names constructed from the TDPREFIX= (default T) o-option and the original dependent variable names) are included in the OUT= data set.\",\"type\":\"standalone\"},{\"name\":\"IAPPROXIMATIONS\",\"optional\":true,\"aliases\":[\"IAP\"],\"description\":\"Outputs the approximations of the transformed independent variables to the OUT= data set. These are the target values for the optimal transformations. The names of the approximation variables are constructed from the AIPREFIX= o-option (default A) and the original independent variable names. When you specify the AIPREFIX= o-option, the IAPPROXIMATIONS o-option is automatically specified for you. The IAPPROXIMATIONS o-option is not valid when METHOD=UNIVARIATE.\",\"type\":\"standalone\"},{\"name\":\"IREPLACE\",\"optional\":true,\"aliases\":[\"IRE\"],\"description\":\"Replaces the original independent variables with the transformed independent variables in the OUT= data set. The names of the transformed variables in the OUT= data set correspond to the names of the original independent variables in the input data set. By default, both the original independent variables and the transformed independent variables (with names constructed from the TIPREFIX= o-option (default T) and the original independent variable names) are included in the OUT= data set.\",\"type\":\"standalone\"},{\"name\":\"LEVERAGE=\",\"optional\":true,\"aliases\":[\"LEV=\"],\"description\":\"Creates a variable with the specified name in the OUT= data set that contains leverages. Specifying the LEVERAGE o-option is equivalent to specifying LEVERAGE=Leverage.\",\"type\":\"value\"},{\"name\":\"LILPREFIX=\",\"optional\":true,\"aliases\":[\"LIL=\"],\"description\":\"Specifies a prefix for naming the liberal-individual-lower confidence limits. The default prefix is LIL. When you specify the LILPREFIX= o-option, the CLI o-option is automatically specified for you.\",\"help\":\"LILPREFIX=*name*\",\"type\":\"value\"},{\"name\":\"LIUPREFIX=\",\"optional\":true,\"aliases\":[\"LIU=\"],\"description\":\"Specifies a prefix for naming the liberal-individual-upper confidence limits. The default prefix is LIU. When you specify the LIUPREFIX= o-option, the CLI o-option is automatically specified for you.\",\"help\":\"LIUPREFIX=*name*\",\"type\":\"value\"},{\"name\":\"LMLPREFIX=\",\"optional\":true,\"aliases\":[\"LML=\"],\"description\":\"Specifies a prefix for naming the liberal-mean-lower confidence limits. The default prefix is LML. When you specify the LMLPREFIX= o-option, the CLM o-option is automatically specified for you.\",\"help\":\"LMLPREFIX=*name*\",\"type\":\"value\"},{\"name\":\"LMUPREFIX=\",\"optional\":true,\"aliases\":[\"LMU=\"],\"description\":\"Specifies a prefix for naming the liberal-mean-upper confidence limits. The default prefix is LMU. When you specify the LMUPREFIX= o-option, the CLM o-option is automatically specified for you.\",\"help\":\"LMUPREFIX=*name*\",\"type\":\"value\"},{\"name\":\"MACRO=\",\"optional\":true,\"aliases\":[\"MAC\"],\"description\":\"Creates macro variables. Most of the options available within the MACRO o-option are rarely needed. By default, PROC TRANSREG creates a macro variable named _TrgInd with a complete list of independent variables created by the procedure. PROC TRANSREG, also by default, creates a macro variable named _TrgIndN, which contains the number of variables in the _TrgInd list. The available keywords are as follows. DN=name -- specifies the name of a macro variable that contains the number of dependent variables. By default, a macro variable named _TrgDepN is created. This is the number of variables in the DL= list and the number of macro variables created by the DV= and DE= specifications. IN=name -- specifies the name of a macro variable that contains the number of independent variables. By default, a macro variable named _TrgIndN is created. This is the number of variables in the IL= list and the number of macro variables created by the IV= and IE= specifications. DL=name -- specifies the name of a macro variable that contains the list of the dependent variables. By default, a macro variable named _TrgDep is created. These are the variable names of the final transformed variables in the OUT= data set. For example, if there are three dependent variables, y1–y3, then _TrgDep contains, by default, Ty1 Ty2 Ty3 (or y1 y2 y3 if you specify the REPLACE o-option). IL=name -- specifies the name of a macro variable that contains the list of the independent variables. By default, a macro variable named _TrgInd is created. These are the variable names of the final transformed variables in the OUT= data set. For example, if there are three independent variables, x1–x3, then _TrgInd contains, by default, Tx1 Tx2 Tx3 (or x1 x2 x3 if you specify the REPLACE o-option). DV=prefix -- specifies a prefix for creating a list of macro variables, each of which contains one dependent variable name. For example, if there are three dependent variables, y1–y3, and you specify macro(dv=Dep), then three macro variables, Dep1, Dep2, and Dep3, are created, containing Ty1, Ty2, and Ty3, respectively (or y1, y2, and y3 if you specify the REPLACE o-option). By default, no list is created. IV=prefix -- specifies a prefix for creating a list of macro variables, each of which contains one independent variable name. For example, if there are three independent variables, x1–x3, and you specify macro(iv=Ind), then three macro variables, Ind1, Ind2, and Ind3, are created, containing Tx1, Tx2, and TX3, respectively (or x1, x2, and x3 if you specify the REPLACE o-option). By default, no list is created. DE=prefix -- specifies a prefix for creating a list of macro variables, each of which contains one dependent variable effect. This list shows the origin of each model term. Each effect consists of two or more parts, and each part consists of a value in 32 columns followed by a blank. For example, if you specify macro(de=d), then a macro variable d1 is created for identity(y).\",\"help\":\"MACRO=IE= | DE= | IV= | DV= | IL= | DL= | IN= | DN=\",\"type\":\"choice\",\"arguments\":[{\"name\":\"IE=\",\"type\":\"value\"},{\"name\":\"DE=\",\"type\":\"value\"},{\"name\":\"IV=\",\"type\":\"value\"},{\"name\":\"DV=\",\"type\":\"value\"},{\"name\":\"IL=\",\"type\":\"value\"},{\"name\":\"DL=\",\"type\":\"value\"},{\"name\":\"IN=\",\"type\":\"value\"},{\"name\":\"DN=\",\"type\":\"value\"}]},{\"name\":\"MEANS\",\"optional\":true,\"aliases\":[\"MEA\"],\"description\":\"Outputs marginal means for CLASS variable expansions to the OUT= data set.\",\"type\":\"standalone\"},{\"name\":\"MEC\",\"optional\":true,\"description\":\"Outputs multiple regression elliptical point model coordinates to the OUT= data set.\",\"type\":\"standalone\"},{\"name\":\"MPC\",\"optional\":true,\"description\":\"Outputs multiple regression point model coordinates to the OUT= data set.\",\"type\":\"standalone\"},{\"name\":\"MQC\",\"optional\":true,\"description\":\"Outputs multiple regression quadratic point model coordinates to the OUT= data set.\",\"type\":\"standalone\"},{\"name\":\"MRC\",\"optional\":true,\"description\":\"Outputs multiple regression coefficients to the OUT= data set.\",\"type\":\"standalone\"},{\"name\":\"MREDUNDANCY\",\"optional\":true,\"aliases\":[\"MRE\"],\"description\":\"Outputs multiple redundancy analysis coefficients to the OUT= data set.\",\"type\":\"standalone\"},{\"name\":\"NORESTOREMISSING\",\"optional\":true,\"aliases\":[\"NORESTORE\",\"NOR\"],\"description\":\"Specifies that missing values should not be restored when the OUT= data set is created. By default, the coded CLASS variable contains a row of missing values for observations in which the CLASS variable is missing. When you specify the NORESTOREMISSING o-option, these observations contain a row of zeros instead. This is useful when PROC TRANSREG is used to code experimental designs for discrete choice models and there is a constant alternative indicated by a missing value.\",\"type\":\"standalone\"},{\"name\":\"NOSCORES\",\"optional\":true,\"aliases\":[\"NOS\"],\"description\":\"Excludes original variables, transformed variables, predicted values, residuals, and scores from the OUT= data set. You can use the NOSCORES o-option with various other options to create an OUT= data set that contains only a coefficient partition (for example, a data set consisting entirely of coefficients and coordinates).\",\"type\":\"standalone\"},{\"name\":\"OUT=\",\"optional\":true,\"description\":\"Specifies the output data set for the data, transformed data, predicted values, residuals, scores, coefficients, and so on. When you use an OUTPUT statement but do not use the OUT= specification, PROC TRANSREG creates a data set and uses the DATA convention. If you want to create a permanent SAS data set, you must specify a two-level name.\",\"help\":\"OUT=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"PPREFIX=\",\"optional\":true,\"aliases\":[\"PDPREFIX=\",\"PDP=\"],\"description\":\"Specifies a prefix for naming the dependent variable predicted values. The default is PPREFIX=P when you specify the PREDICTED o-option; otherwise, it is PPREFIX=A. When you specify the PPREFIX= o-option, the PREDICTED o-option is automatically specified for you. The PPREFIX= o-option is the same as the ADPREFIX= o-option.\",\"help\":\"PPREFIX=*name*\",\"type\":\"value\"},{\"name\":\"PREDICTED\",\"optional\":true,\"aliases\":[\"PRE\"],\"description\":\"Outputs predicted values, which for METHOD=UNIVARIATE and METHOD=MORALS are the ordinary predicted values from the linear model, to the OUT= data set. The names of the predicted values’ variables are constructed from the PPREFIX= o-option (default P) and the original dependent variable names. When you specify the PPREFIX= o-option, the PREDICTED o-option is automatically specified for you.\",\"type\":\"standalone\"},{\"name\":\"RDPREFIX=\",\"optional\":true,\"aliases\":[\"RPD=\"],\"description\":\"Specifies a prefix for naming the residual (dependent) variables to the OUT= data set. The default is RDPREFIX=R. When you specify the RDPREFIX= o-option, the RESIDUALS o-option is automatically specified for you.\",\"help\":\"RDPREFIX=*name*\",\"type\":\"value\"},{\"name\":\"REDUNDANCY=\",\"optional\":true,\"aliases\":[\"RED=\"],\"description\":\"Outputs redundancy variables to the OUT= data set, either standardized or unstandardized. Specifying the REDUNDANCY o-option is the same as specifying REDUNDANCY=STANDARDIZE. The results of the REDUNDANCY o-option depends on the TSTANDARD= option. You must specify TSTANDARD=Z to get results based on standardized data. The TSTANDARD= option controls how the data that go into the redundancy analysis are scaled, and REDUNDANCY= STANDARDIZE|UNSTANDARDIZE controls how the redundancy variables are scaled. The REDUNDANCY o-option is automatically specified for you when you specify the METHOD=REDUNDANCY a-option. The RPREFIX= o-option specifies a prefix (default Red) for naming the redundancy variables.\",\"help\":\"REDUNDANCY=STANDARDIZE | UNSTANDARDIZE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"STANDARDIZE\",\"description\":\"Outputs redundancy variables to the OUT= data set, standardized.\",\"type\":\"standalone\"},{\"name\":\"UNSTANDARDIZE\",\"description\":\"Outputs redundancy variables to the OUT= data set, unstandardized.\",\"type\":\"standalone\"}]},{\"name\":\"REFERENCE=\",\"optional\":true,\"description\":\"Specifies how reference levels of CLASS variables are to be treated. You can specify the REFERENCE= option in the PROC TRANSREG, MODEL, or OUTPUT statement, and you can specify it independently for the OUT= data set and the displayed output. When you specify it in only one statement, it sets the option for both the displayed output and the OUT= data set.\",\"help\":\"REFERENCE=NONE | MISSING | ZERO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NONE\",\"description\":\"Reference levels are suppressed. This is the default.\",\"type\":\"standalone\"},{\"name\":\"MISSING\",\"description\":\"Reference levels are displayed and output with missing values.\",\"type\":\"standalone\"},{\"name\":\"ZERO\",\"description\":\"Reference levels are displayed and output with zeros.\",\"type\":\"standalone\"}]},{\"name\":\"REPLACE\",\"optional\":true,\"aliases\":[\"REP\"],\"description\":\"Is equivalent to specifying both the DREPLACE and the IREPLACE o-options.\",\"type\":\"standalone\"},{\"name\":\"RESIDUALS\",\"optional\":true,\"aliases\":[\"RES\"],\"description\":\"Outputs the differences between the transformed dependent variables and their predicted values. The names of the residual variables are constructed from the RDPREFIX= o-option (default R) and the original dependent variable names.\",\"type\":\"standalone\"},{\"name\":\"RPREFIX=\",\"optional\":true,\"aliases\":[\"RPR=\"],\"description\":\"Provides a prefix for naming the redundancy variables. The default is RPREFIX=Red. When you specify the RPREFIX= o-option, the REDUNDANCY o-option is automatically specified for you.\",\"help\":\"RPREFIX=*name*\",\"type\":\"value\"},{\"name\":\"TDPREFIX=\",\"optional\":true,\"aliases\":[\"TDP=\"],\"description\":\"Specifies a prefix for naming the transformed dependent variables. By default, TDPREFIX=T. The TDPREFIX= o-option is ignored when you specify the DREPLACE o-option.\",\"help\":\"TDPREFIX=*name*\",\"type\":\"value\"},{\"name\":\"TIPREFIX=\",\"optional\":true,\"aliases\":[\"TIP=\"],\"description\":\"Specifies a prefix for naming the transformed independent variables. By default, TIPREFIX=T. The TIPREFIX= o-option is ignored when you specify the IREPLACE o-option.\",\"help\":\"TIPREFIX=*name*\",\"type\":\"value\"}]},{\"name\":\"WEIGHT\",\"description\":\"When you use a WEIGHT statement, a weighted residual sum of squares is minimized. The WEIGHT statement has no effect on degrees of freedom or number of observations, but the weights affect most other calculations. The observation is used in the analysis only if the value of the WEIGHT statement variable is greater than 0.\",\"help\":\"WEIGHT variable\"}],\"supportSiteInformation\":{\"docsetId\":\"statug\",\"docsetVersion\":\"latest\",\"docsetTargetFile\":\"statug_transreg_toc.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/TRANTAB.json",
    "content": "{\"name\":\"TRANTAB\",\"statements\":[{\"name\":\"PROC TRANTAB\",\"description\":\"Creates, edits, or displays a translation table.\",\"help\":\"PROC TRANTAB TABLE=table-name<NLS>;  \\n\\tCLEAR <ONE | TWO | BOTH>;\\n\\n\\tINVERSE ;\\n\\n\\tLIST <ONE | TWO | BOTH>;\\n\\n\\tLOAD TABLE=table-name<NLS>;\\n\\n\\tREPLACE position value-1 < …value-n>;\\n\\n\\tSAVE <TABLE=table-name><CAT=libname.catalog ><ONE | TWO | BOTH>;\\n\\n\\tSWAP ;\",\"arguments\":[{\"name\":\"TABLE=\",\"description\":\"specifies the translation table to create, edit, or display the table. The specified table name must be a valid one-level SAS name with no more than eight characters.\",\"help\":\"TABLE=*table-name*\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"n18c2mhafgphohn1g3frcw2wsj0l\"},{\"name\":\"NLS\",\"optional\":true,\"description\":\"specifies that the table listed in the TABLE= argument is one of five special internal translation tables provided with SAS. You must use the NLS option when you specify one of the five special tables in the TABLE= argument. NLS stands for National Language Support. This option and the associated translation tables provide a method to translate characters that exist in languages other than U.S. English. To use the modified NLS table, specify its name in the SAS system option TRANTAB= . When you load one of these special translation tables, the SAS log displays a note stating that table 2 is uninitialized. That is, table 2 is an empty table that contains all 0s. PROC TRANTAB does not use table 2 for translation in these special cases.\",\"type\":\"standalone\",\"arguments\":[{\"name\":\"SASXPT\",\"description\":\"specifies the local-to-transport format translation table (used by the CPORT procedure).\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p04j9r9o3g24pjn11xlzbxmuynl0\"},{\"name\":\"SASLCL\",\"description\":\"specifies the transport-to-local format translation table (used by the CIMPORT procedure).\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1bj0mtss4r120n19r73avlpll89\"},{\"name\":\"SASUCS\",\"description\":\"specifies the lowercase-to-uppercase translation table (used by the UPCASE function).\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n11b4fuelbgu60n1ebtalawbxusz\"},{\"name\":\"SASLCS\",\"description\":\"specifies the uppercase-to-lowercase translation table (used by the LOWCASE macro).\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0nrj0yzks2alwn1i5anl4usprhr\"},{\"name\":\"SASCCL\",\"description\":\"specifies the character classification table (used internally), which contains flag bytes that correspond to each character position. These positions indicate the class or classes to which each character belongs.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p19cp3wl0pwo2cn1902y7cy1cl30\"}],\"supportSiteTargetFragment\":\"p1gyjt99zjxujbn14wvxwfi7segs\"}],\"supportSiteTargetFile\":\"p15gnr2l8y46o5n116vhbfp4ipp0.htm\"},{\"name\":\"CLEAR\",\"description\":\"Sets all positions in the translation table to 0; used when you create a new table.\",\"help\":\"CLEAR &lt;ONE | TWO | BOTH&gt;;\",\"arguments\":[{\"name\":\"ONE\",\"optional\":true,\"description\":\"\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0ub6cvj6cy80sn16yzi8aac00s3\"},{\"name\":\"TWO\",\"optional\":true,\"description\":\"\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0ub6cvj6cy80sn16yzi8aac00s3\"},{\"name\":\"BOTH\",\"optional\":true,\"description\":\"\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0ub6cvj6cy80sn16yzi8aac00s3\"}],\"supportSiteTargetFile\":\"n1em23n6jwzkd8n17vay89k0pwhe.htm\"},{\"name\":\"INVERSE\",\"description\":\"Creates an inverse of table 1 in a translation table. The INVERSE statement creates table 2.\",\"help\":\"INVERSE ;\",\"supportSiteTargetFile\":\"p0c2ej82e8o4tin1wgdc6o3ymied.htm\"},{\"name\":\"LIST\",\"description\":\"Displays a translation table in hexadecimal representation in the SAS log.\",\"help\":\"LIST &lt;ONE | TWO | BOTH&gt;;\",\"arguments\":[{\"name\":\"ONE\",\"optional\":true,\"description\":\"\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1ghtflh87gobtn1750z7oho5s5w\"},{\"name\":\"TWO\",\"optional\":true,\"description\":\"\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1ghtflh87gobtn1750z7oho5s5w\"},{\"name\":\"BOTH\",\"optional\":true,\"description\":\"\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1ghtflh87gobtn1750z7oho5s5w\"}],\"supportSiteTargetFile\":\"p18y0lhvw2zjxun1e66x6mchz31y.htm\"},{\"name\":\"LOAD\",\"description\":\"Loads a translation table into memory for editing.\",\"help\":\"LOAD TABLE=*table-name* &lt;NLS&gt;;\",\"arguments\":[{\"name\":\"TABLE=\",\"description\":\"specifies the name of an existing translation table to edit. The specified table name must be a valid one-level SAS name.\",\"help\":\"TABLE=*table-name*\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"n0pybc7ibemggxn1v5nohfrziply\"},{\"name\":\"NLS\",\"optional\":true,\"description\":\"specifies that the table listed in the TABLE= argument is one of five special internal translation tables that are provided with SAS. You must use the NLS option when you specify one of the five special tables in the TABLE= argument:\",\"type\":\"standalone\",\"arguments\":[{\"name\":\"SASXPT\",\"description\":\"specifies the local-to-transport format translation table.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n17ju90pynz0mgn1fal905nvgh5w\"},{\"name\":\"SASLCL\",\"description\":\"specifies the transport-to-local format translation table.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0jyv2xgd1eqkan108htr13fwxmt\"},{\"name\":\"SASUCS\",\"description\":\"specifies the lowercase-to-uppercase translation table.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0pm2f1xjrh85jn1lzrdjr00qg0i\"},{\"name\":\"SASLCS\",\"description\":\"specifies the uppercase-to-lowercase translation table.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n109jpcykpicgfn1c1qag53jiz9u\"},{\"name\":\"SASCCL\",\"description\":\"specifies the character classification table, which contains flag bytes that correspond to each character position. These positions indicate the class or classes to which each character belongs.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1k1v38xkcup27n1d2bjt8fdk9fs\"}],\"supportSiteTargetFragment\":\"p0aoyoquykq36pn13cqz896iu36e\"}],\"supportSiteTargetFile\":\"p0thu9zd33dvten14yo80xgsqzdl.htm\"},{\"name\":\"REPLACE\",\"aliases\":[\"REP\"],\"description\":\"Replaces characters in a translation table with the specified values, starting at the specified position.\",\"help\":\"REPLACE *position value-1*&lt; …*value-n*&gt;;\",\"arguments\":[{\"name\":\"position\",\"placeholder\":true,\"description\":\"specifies the position in a translation table where the replacement begins. The editable positions in a translation table begin at decimal 0 and end at decimal 255. To specify the position, you can do either of the following:\\n• Use a decimal or hexadecimal value to specify an actual location. If you specify a decimal value (for example, 20), PROC TRANTAB locates position 20 in the table, which is byte 21. If you specify a hexadecimal value (for example, '14'x), PROC TRANTAB locates the decimal position that is equivalent to the specified hexadecimal value, which in this case is position 20 (or byte 21) in the table.\\n• Use a quoted character.  PROC TRANTAB locates the quoted character in the table (that is, the quoted character's hexadecimal value) and uses that character's position as the starting position.  For example, specifying the following REPLACE statement replaces the first occurrence of the hexadecimal value for \\\"a\\\" and the next two hexadecimal values with the hexadecimal equivalent of \\\"ABC\\\":  \",\"type\":\"value\",\"supportSiteTargetFragment\":\"n12l2cz5t5gsu5n1kmdobt2weun1\"},{\"name\":\"value-1\",\"placeholder\":true,\"description\":\"is one or more decimal, hexadecimal, or character constants that specify the actual value to place in the table, starting at position. You can also use a mixture of these values. That is, you can specify a decimal, a hexadecimal, and a character value in one REPLACE statement. shows a mixture of all three types of values in the REPLACE statement.\",\"help\":\"*value-1* &lt; …*value-n*&gt;\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0d37fn47ry2f9n1o943yivqp0wq\"}],\"supportSiteTargetFile\":\"p16qoev1x3u3n5n1xd68e528m0pv.htm\"},{\"name\":\"SAVE\",\"description\":\"Saves the translation table in your Sasuser.Profile catalog.\",\"help\":\"SAVE &lt;TABLE=*table-name*&gt;&lt;CAT=*libname.catalog*&gt;&lt;ONE | TWO | BOTH&gt;;\",\"arguments\":[{\"name\":\"TABLE=\",\"optional\":true,\"description\":\"specifies the name under which the current table is saved. The name must be a valid one-level SAS name.\",\"help\":\"TABLE=*table-name*\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"p1p48tynmjwrdjn1fqi1hkxf34j8\"},{\"name\":\"CAT=\",\"optional\":true,\"description\":\"specifies the name of the output catalog when you are saving a TRANTAB entry.\",\"help\":\"CAT=*libname.catalog*\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"n0ebbkyrxxaovgn1445kxsl63un5\"},{\"name\":\"ONE\",\"optional\":true,\"description\":\"\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n02kc3ay21cuv6n1qubikxvu3w69\"},{\"name\":\"TWO\",\"optional\":true,\"description\":\"\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n02kc3ay21cuv6n1qubikxvu3w69\"},{\"name\":\"BOTH\",\"optional\":true,\"description\":\"\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n02kc3ay21cuv6n1qubikxvu3w69\"}],\"supportSiteTargetFile\":\"p0amn9wiflr6ijn1ujuqqjfxg4s6.htm\"},{\"name\":\"SWAP\",\"description\":\"Exchanges table 1 with table 2 to enable you to edit positions 256 through 511.\",\"help\":\"SWAP ;\",\"supportSiteTargetFile\":\"p0c96ty6qp5og6n1n3hiozqth0l5.htm\"}],\"interactive\":true,\"supportSiteInformation\":{\"docsetId\":\"nlsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p140vpknze29j0n1rbfs5fcxemu3.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/TREE.json",
    "content": "{\"name\":\"TREE\",\"statements\":[{\"name\":\"PROC TREE\",\"description\":\"The TREE procedure produces a tree diagram, also known as a dendrogram or phenogram, from a data set created by the CLUSTER or VARCLUS procedure that contains the results of hierarchical clustering as a tree structure.\",\"help\":\"PROC TREE <CFRAME=color><DATA=SAS-data-set><DESCENDING><DESCRIPTION=entry-description><DISSIMILAR><DOCK=n><FILLCHAR=’c’><GOUT=<libref.>member-name><HAXIS=AXISn><HEIGHT=HEIGHT | LENGTH | MODE... ><HORDISPLAY=RIGHT><HORIZONTAL><HPAGES=n1><INC=n><JOINCHAR=’c’><LEAFCHAR=’c’><LEVEL=n><LINEPRINTER><LINES=( <COLOR=color> <WIDTH=n> <DOTS>)><LIST><MAXHEIGHT=n><MINHEIGHT=n><NAME=name><NCLUSTERS=n><NOPRINT><NTICK=n><OUT=SAS-data-set><PAGES=n><POS=n><ROOT=’name’><SIMILAR><SORT><SPACES=s><TICKPOS=n><TREECHAR=’c’><VAXIS=AXISn><VPAGES=n2>;     \\n\\tBY <DESCENDING><NOTSORTED> ;\\n\\n\\tCOPY variables ;\\n\\n\\tFREQ variable ;\\n\\n\\tHEIGHT variable ;\\n\\n\\tID variables ;\\n\\n\\tNAME variable ;\\n\\n\\tPARENT variable ;\\n\",\"arguments\":[{\"name\":\"CFRAME=\",\"optional\":true,\"description\":\"Specifies a color for the frame, which is the rectangle bounded by the axes.\",\"help\":\"CFRAME=*color*\",\"type\":\"color\"},{\"name\":\"DATA=\",\"optional\":true,\"description\":\"Specifies the input data set defining the tree.\",\"help\":\"DATA=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"DESCENDING\",\"optional\":true,\"aliases\":[\"DES\"],\"description\":\"Reverses the sorting order for the SORT option.\",\"type\":\"standalone\"},{\"name\":\"DESCRIPTION=\",\"optional\":true,\"description\":\"Specifies a description for the graph in the GOUT= catalog. The default is \\\"Proc Tree Graph Output.\\\"\",\"help\":\"DESCRIPTION=*entry-description*\",\"type\":\"value\"},{\"name\":\"DISSIMILAR\",\"optional\":true,\"aliases\":[\"DIS\"],\"description\":\"Specifies that the values of the HEIGHT variable are dissimilarities; that is, a large height value means that the clusters are very dissimilar or far apart.\",\"type\":\"standalone\"},{\"name\":\"DOCK=\",\"optional\":true,\"description\":\"Causes observations in the OUT= data set assigned to output clusters with a frequency of n or less to be given missing values for the output variables CLUSTER and CLUSNAME.\",\"help\":\"DOCK=*n*\",\"type\":\"value\"},{\"name\":\"FILLCHAR=\",\"optional\":true,\"aliases\":[\"FC=\"],\"description\":\"Specifies the character to display between leaves that are not joined into a cluster.\",\"type\":\"value\"},{\"name\":\"GOUT=\",\"optional\":true,\"description\":\"Specifies the catalog in which the generated graph is stored. The default is WORK.GSEG.\",\"type\":\"value\"},{\"name\":\"HAXIS=\",\"optional\":true,\"description\":\"Specifies that the AXIS statement used to customize the appearance of the horizontal axis.\",\"help\":\"HAXIS=*AXISn*\",\"type\":\"value\"},{\"name\":\"HEIGHT=\",\"optional\":true,\"aliases\":[\"H=\"],\"description\":\"Specifies certain conventional variables to be used for the height axis of the tree diagram.\",\"help\":\"HEIGHT=HEIGHT | LENGTH | MODE | NCL | RSQ\",\"type\":\"choice\",\"arguments\":[{\"name\":\"HEIGHT\",\"description\":\"Specifies the _HEIGHT_ variable.\",\"type\":\"standalone\"},{\"name\":\"LENGTH\",\"description\":\"Defines the height of each node as its path length from the root.\",\"type\":\"standalone\"},{\"name\":\"MODE\",\"description\":\"Specifies the _MODE_ variable.\",\"type\":\"standalone\"},{\"name\":\"NCL\",\"description\":\"Specifies the _NCL_ (number of clusters) variable.\",\"type\":\"standalone\"},{\"name\":\"RSQ\",\"description\":\"Specifies the _RSQ_ variable.\",\"type\":\"standalone\"}]},{\"name\":\"HORDISPLAY=\",\"optional\":true,\"description\":\"Specifies that the graph be oriented horizontally, with the leaf nodes on the right side, when the HORIZONTAL option is also specified.\",\"help\":\"HORDISPLAY=RIGHT\",\"type\":\"value\"},{\"name\":\"HORIZONTAL\",\"optional\":true,\"aliases\":[\"HOR\"],\"description\":\"Displays the tree diagram with the height axis oriented horizontally.\",\"type\":\"standalone\"},{\"name\":\"HPAGES=\",\"optional\":true,\"description\":\"Specifies that the original graph be enlarged to cover n1 pages.\",\"help\":\"HPAGES=*n1*\",\"type\":\"value\"},{\"name\":\"INC=\",\"optional\":true,\"description\":\"Specifies the increment between tick values on the height axis.\",\"help\":\"INC=*n*\",\"type\":\"value\"},{\"name\":\"JOINCHAR=\",\"optional\":true,\"aliases\":[\"JC=\"],\"description\":\"Specifies the character displayed between leaves that are joined into a cluster.\",\"type\":\"value\"},{\"name\":\"LEAFCHAR=\",\"optional\":true,\"aliases\":[\"LC=\"],\"description\":\"Specifies the character used to represent clusters having no children.\",\"type\":\"value\"},{\"name\":\"LEVEL=\",\"optional\":true,\"description\":\"Specifies the level of the tree defining disjoint clusters for the OUT= data set.\",\"help\":\"LEVEL=*n*\",\"type\":\"value\"},{\"name\":\"LINEPRINTER\",\"optional\":true,\"description\":\"Specifies that the tree diagram be displayed using line printer graphics.\",\"type\":\"standalone\"},{\"name\":\"LINES=\",\"optional\":true,\"description\":\"Specifies the color and the thickness of the lines of the tree, and whether a dot is drawn at each leaf node.\",\"type\":\"value\"},{\"name\":\"LIST\",\"optional\":true,\"description\":\"Lists all the nodes in the tree, displaying the height, parent, and children of each node.\",\"type\":\"standalone\"},{\"name\":\"MAXHEIGHT=\",\"optional\":true,\"aliases\":[\"MAXH=\"],\"description\":\"Specifies the maximum value displayed on the height axis.\",\"help\":\"MAXHEIGHT=*n*\",\"type\":\"value\"},{\"name\":\"MINHEIGHT=\",\"optional\":true,\"aliases\":[\"MINH=\"],\"description\":\"Specifies the minimum value displayed on the height axis.\",\"help\":\"MINHEIGHT=*n*\",\"type\":\"value\"},{\"name\":\"NAME=\",\"optional\":true,\"description\":\"Specifies the entry name for the generated graph in the GOUT= catalog.\",\"help\":\"NAME=*name*\",\"type\":\"value\"},{\"name\":\"NCLUSTERS=\",\"optional\":true,\"aliases\":[\"NCL=\",\"N=\"],\"description\":\"Specifies the number of clusters desired in the OUT= data set.\",\"help\":\"NCLUSTERS=*n*\",\"type\":\"value\"},{\"name\":\"NOPRINT\",\"optional\":true,\"description\":\"Suppresses the display of the tree.\",\"type\":\"standalone\"},{\"name\":\"NTICK=\",\"optional\":true,\"description\":\"Specifies the number of tick intervals on the height axis.\",\"help\":\"NTICK=*n*\",\"type\":\"value\"},{\"name\":\"OUT=\",\"optional\":true,\"description\":\"Creates an output data set containing one observation for each object in the tree or subtree being processed and variables called CLUSTER and CLUSNAME showing cluster membership at any specified level in the tree.\",\"help\":\"OUT=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"PAGES=\",\"optional\":true,\"description\":\"Specifies the number of pages over which the tree diagram (from root to leaves) is to extend. The default is 1.\",\"help\":\"PAGES=*n*\",\"type\":\"value\"},{\"name\":\"POS=\",\"optional\":true,\"description\":\"Specifies the number of column positions on the height axis.\",\"help\":\"POS=*n*\",\"type\":\"value\"},{\"name\":\"ROOT=\",\"optional\":true,\"description\":\"Specifies the value of the NAME variable for the root of a subtree to be displayed if you do not want to display the entire tree.\",\"type\":\"value\"},{\"name\":\"SIMILAR\",\"optional\":true,\"aliases\":[\"SIM\"],\"description\":\"Specifies that the values of the HEIGHT variable represent similarities; that is, a large height value means that the clusters are very similar or close together.\",\"type\":\"standalone\"},{\"name\":\"SORT\",\"optional\":true,\"description\":\"Sorts the children of each node by the HEIGHT variable, in the order of cluster formation.\",\"type\":\"standalone\"},{\"name\":\"SPACES=\",\"optional\":true,\"aliases\":[\"S=\"],\"description\":\"Specifies the number of spaces between objects in the output.\",\"help\":\"SPACES=*s*\",\"type\":\"value\"},{\"name\":\"TICKPOS=\",\"optional\":true,\"description\":\"Specifies the number of column positions per tick interval on the height axis.\",\"help\":\"TICKPOS=*n*\",\"type\":\"value\"},{\"name\":\"TREECHAR=\",\"optional\":true,\"aliases\":[\"TC=\"],\"description\":\"Specifies the character used to represent clusters with children.\",\"type\":\"value\"},{\"name\":\"VAXIS=\",\"optional\":true,\"description\":\"Specifies that the AXIS statement be used to customize the appearance of the vertical axis.\",\"help\":\"VAXIS=*AXISn*\",\"type\":\"value\"},{\"name\":\"VPAGES=\",\"optional\":true,\"description\":\"Specifies that the original graph be enlarged to cover n2 pages.\",\"help\":\"VPAGES=*n2*\",\"type\":\"value\"}]},{\"name\":\"BY\",\"description\":\"Obtains separate analyses on observations in groups defined by the BY variables.\",\"help\":\"BY &lt;DESCENDING&gt;&lt;NOTSORTED&gt;\",\"arguments\":[{\"name\":\"DESCENDING\",\"optional\":true,\"description\":\"Specifies that the observations are sorted in descending order by the variable that immediately follows the word DESCENDING in the BY statement.\",\"type\":\"standalone\"},{\"name\":\"NOTSORTED\",\"optional\":true,\"description\":\"Specifies that observations are not necessarily sorted in alphabetic or numeric order.\",\"type\":\"standalone\"}]},{\"name\":\"COPY\",\"description\":\"The COPY statement specifies one or more character or numeric variables to be copied to the OUT= data set.\",\"help\":\"COPY variables \"},{\"name\":\"FREQ\",\"description\":\"The FREQ statement specifies one numeric variable that tells how many clustering observations belong to the cluster.\",\"help\":\"FREQ variable \"},{\"name\":\"HEIGHT\",\"description\":\"The HEIGHT statement specifies the name of a numeric variable to define the height of each node (cluster) in the tree.\",\"help\":\"HEIGHT variable \"},{\"name\":\"ID\",\"description\":\"The ID variable is used to identify the objects (leaves) in the tree on the output. The ID variable can be a character or numeric variable of any length.\",\"help\":\"ID variables \"},{\"name\":\"NAME\",\"description\":\"The NAME statement specifies a character or numeric variable identifying the node represented by each observation.\",\"help\":\"NAME variable \"},{\"name\":\"PARENT\",\"description\":\"The PARENT statement specifies a character or numeric variable identifying the node in the tree that is the parent of each observation.\",\"help\":\"PARENT variable \"}],\"supportSiteInformation\":{\"docsetId\":\"statug\",\"docsetVersion\":\"latest\",\"docsetTargetFile\":\"statug_treediag_toc.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/TREESPLIT.json",
    "content": "{\"name\":\"TREESPLIT\",\"statements\":[{\"name\":\"PROC TREESPLIT\",\"description\":\"The TREESPLIT procedure builds tree-based statistical models for classification and regression in SAS Viya. The procedure produces a classification tree, which models a categorical response, or a regression tree, which models a continuous response. Both types of trees are referred to as decision trees, because the model is expressed as a series of if-then statements. For each type of tree, you specify a response variable (also called a target variable), whose values you want PROC TREESPLIT to predict, and one or more input variables (called predictor variables), whose values the procedure uses to predict the values of the target variable.\",\"help\":\"PROC TREESPLIT <ASSIGNMISSING=BRANCH | MACSMALL | POPULAR... ><BINMETHOD=BUCKET | QUANTILE><CLUSTERSPLIT><CVCC><DATA=CAS-libref.data-table><INMODEL=< CAS-libref. >data-table><MAXBRANCH=b><MAXDEPTH= integer >= 1><MINLEAFSIZE=number><MINUSEINSEARCH=number><NOPRINT><NSURROGATES=number><NUMBIN=number><OUTMODEL=CAS-libref.data-table><PLOTS < (global-plot-option) > < = plot-request < (options) > >PLOTS < (global-plot-option) > < = (plot-request < (options) > < . . . plot-request < (options) > >) >><PRINTTARGET><PRUNINGTABLE><RBAIMP><SEED=number><SPLITONCE><VII=2 | 3>; \\n\\tAUTOTUNE <EVALHISTORY=<ALL | LOG | NOE>... ><FRACTION=number><KFOLD=number> ...;\\n\\n\\tCLASS variables;\\n\\n\\tCODE <FILE=filename> ;\\n\\n\\tCROSSVALIDATION           <KFOLD=number | NOPARALLEL | NSUBSESSIONWORKERS=number>\\n\\n\\tFREQ variable ;\\n\\n\\tGROW <CHAID < (options) >><CHISQUARE < (options) >><ENTROPY (<options>) | GAIN < option >> ...;\\n\\n\\tINPUT           <LEVEL=<INTERVAL | NOMINAL>>           ;\\n\\n\\tMODEL response = variable ;\\n\\n\\tOUTPUT <><OUT=CAS-libref.data-table> ;\\n\\n\\tPARTITION <FRACTION(< TEST=fraction > < VALIDATE=fraction > < SEED=number >)><ROLE=|ROLEVAR=variable (< TEST='value' > < TRAIN='value' > < VALIDATE='value' >)>           ;\\n\\n\\tPRUNE <C45 < (CONFIDENCE=confidence-level) >><COSTCOMPLEXITY < (prune-options) > | CC < (prune-options) >><OFF> ...;\\n\\n\\tSCORE <COPYVAR=variable | COPYVARS=(variables)><OUT=CAS-libref.data-table> ;\\n\\n\\tTARGET           <LEVEL=<INTERVAL | NOMINAL>>           ;\\n\\n\\tWEIGHT variable;\\n\",\"arguments\":[{\"name\":\"ASSIGNMISSING=\",\"optional\":true,\"description\":\"Specifies how to handle missing values of predictor variables during training and how to handle missing values and unknown levels of predictor variables after all surrogate rules have been applied during scoring. An unknown level of a categorical predictor variable is a level that does not exist in the training data but is encountered during scoring. During scoring, unknown levels are treated as missing values.\",\"help\":\"ASSIGNMISSING=BRANCH | MACSMALL | POPULAR | SIMILAR | USEINSEARCH | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"BRANCH\",\"description\":\"During the training phase, assigns any observation that has a missing value for the predictor variable to a specially created child node (branch). If all observations have nonmissing values for a predictor variable, then no branch is created to contain observations with missing values.\",\"type\":\"standalone\"},{\"name\":\"MACSMALL\",\"description\":\"During the training phase, treats a missing value in a categorical predictor variable as a separate, legitimate value. If all observations have nonmissing values for a categorical predictor variable, then no branch is selected to contain observations with missing values.\",\"type\":\"standalone\"},{\"name\":\"POPULAR\",\"description\":\"During the training phase, assigns any observation that has a missing value in the predictor variable to the child node that has the most training observations\",\"type\":\"standalone\"},{\"name\":\"SIMILAR\",\"description\":\"During the training phase, assigns any observation that has a missing value in the predictor variable to the child node whose observations are most similar to it. This similarity is determined using the chi-square criterion for categorical responses or the F-test criterion for continuous responses. If all observations have nonmissing values for a predictor variable, then no branch is selected to contain observations with missing values.\",\"type\":\"standalone\"},{\"name\":\"USEINSEARCH\",\"description\":\"During the training phase, treats a missing value in a predictor variable as a separate, legitimate value. If all observations have nonmissing values for a predictor variable, then no branch is selected to contain observations with missing values.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"During the training phase, excludes any observation that has a missing value for any predictor variable. In the scoring phase, if an observation has a missing value or an unknown level for a predictor variable, then the observation is assigned to the child node that contains the most training observations.\",\"type\":\"standalone\"}]},{\"name\":\"BINMETHOD=\",\"optional\":true,\"description\":\"Specifies how to bin interval input variables prior to growing the decision tree. The number of bins that are created is determined by the NUMBIN= option.\",\"help\":\"BINMETHOD=BUCKET | QUANTILE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"BUCKET\",\"description\":\"Bins interval input variables into fixed-width bins.\",\"type\":\"standalone\"},{\"name\":\"QUANTILE\",\"description\":\"Bins interval input variables into bins according to their quantile.\",\"type\":\"standalone\"}]},{\"name\":\"CLUSTERSPLIT\",\"optional\":true,\"description\":\"Determines the splits at each node using clustering on each input variable, and then chooses the splitting variable on the basis of which variable and split optimize the criterion that is specified in the GROW statement.\",\"type\":\"standalone\"},{\"name\":\"CVCC\",\"optional\":true,\"aliases\":[\"CVCOSTCOMPLEXITY\"],\"description\":\"Requests a table of the results of cost-complexity pruning based on cross validation. For each penalty parameter in the cross validation, the table provides the penalty parameter, the minimum, the maximum, and the average error. The error is the misclassification rate when the response variable is categorical and is the average square error (ASE) when the response variable is continuous. You can use the PLOTS=CVCC option to request a plot of the information in this table.\",\"type\":\"standalone\"},{\"name\":\"DATA=\",\"optional\":true,\"description\":\"Names the input data table for PROC TREESPLIT to use. CAS-libref.data-table is a two-level name, where\",\"help\":\"DATA=*CAS-libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"INMODEL=\",\"optional\":true,\"description\":\"Specifies the data table that you have previously saved as a tree model by using the OUTMODEL= option in a previous run of PROC TREESPLIT. CAS-libref.data-table is a two-level name, where CASlibref refers to the caslib and session identifier, and data-table specifies the name of the input data table.\",\"type\":\"value\"},{\"name\":\"MAXBRANCH=\",\"optional\":true,\"description\":\"Specifies the maximum number of child nodes per parent node in the tree. PROC TREESPLIT tries to create this number of children unless it is impossible (for example, if a split variable does not have enough levels). By default, MAXBRANCH=2.\",\"help\":\"MAXBRANCH=*b*\",\"type\":\"value\"},{\"name\":\"MAXDEPTH=\",\"optional\":true,\"description\":\"Specifies the maximum depth to which you wish to grow your decision tree.\",\"type\":\"value\"},{\"name\":\"MINLEAFSIZE=\",\"optional\":true,\"description\":\"Specifies the minimum number of observations in the training data that each child of a split must contain in order for the split to be considered. By default, MINLEAFSIZE=1.\",\"help\":\"MINLEAFSIZE=*number*\",\"type\":\"value\"},{\"name\":\"MINUSEINSEARCH=\",\"optional\":true,\"description\":\"Specifies a threshold for using missing values in the split search when ASSIGNMISSING= USEINSEARCH as the missing value policy. If the number of observations that have missing values for the splitting variable is greater than or equal to number, then PROC TREESPLIT uses the USEINSEARCH policy for missing values.\",\"help\":\"MINUSEINSEARCH=*number*\",\"type\":\"value\"},{\"name\":\"NOPRINT\",\"optional\":true,\"description\":\"Specifies to turn off all printing of ODS tables and graphics.\",\"type\":\"standalone\"},{\"name\":\"NSURROGATES=\",\"optional\":true,\"description\":\"Specifies the number of surrogate rules to create for each splitting rule, where number is an integer greater than 0. Surrogate rules are backup splitting rules that are used when the variable that corresponds to the primary splitting rule is missing. Both this option and the ASSIGNMISSING= affect training and scoring.\",\"help\":\"NSURROGATES=*number*\",\"type\":\"value\"},{\"name\":\"NUMBIN=\",\"optional\":true,\"description\":\"Specifies the number of bins to use for binning interval predictor variables. PROC TREESPLIT bins continuous predictors to a fixed bin size. This option controls the number of bins and thereby also the size of the bins.\",\"help\":\"NUMBIN=*number*\",\"type\":\"value\"},{\"name\":\"OUTMODEL=\",\"optional\":true,\"description\":\"Names the output data table to which you want to save the decision tree model. CAS-libref.data-table is a two-level name, where\",\"help\":\"OUTMODEL=*CAS-libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"PLOTS=\",\"optional\":true,\"description\":\"Controls the plots that are produced through ODS Graphics. When you specify only one plot-request, you can omit the parentheses around it. global-plot-option: ONLY suppresses the default plots. Only plots that you specifically request are displayed.\",\"help\":\"PLOTS=LINKSTYLE | CURVED | ORTHOGONAL | STRAIGHT | LINKWIDTH | CONSTANT | PROPORTIONAL | NOLEGEND | DEPTH | NODES | ONLY\",\"type\":\"choice\",\"arguments\":[{\"name\":\"LINKSTYLE\",\"type\":\"standalone\"},{\"name\":\"CURVED\",\"type\":\"standalone\"},{\"name\":\"ORTHOGONAL\",\"type\":\"standalone\"},{\"name\":\"STRAIGHT\",\"type\":\"standalone\"},{\"name\":\"LINKWIDTH\",\"type\":\"standalone\"},{\"name\":\"CONSTANT\",\"type\":\"standalone\"},{\"name\":\"PROPORTIONAL\",\"type\":\"standalone\"},{\"name\":\"NOLEGEND\",\"type\":\"standalone\"},{\"name\":\"DEPTH\",\"type\":\"standalone\"},{\"name\":\"NODES\",\"type\":\"standalone\"},{\"name\":\"ONLY\",\"type\":\"standalone\"}]},{\"name\":\"PRINTTARGET\",\"optional\":true,\"description\":\"Outputs tables that indicate generated columns in the OUT= table from the OUTPUT statement.\",\"type\":\"standalone\"},{\"name\":\"PRUNINGTABLE\",\"optional\":true,\"description\":\"Outputs a table of the pruning results.\",\"type\":\"standalone\"},{\"name\":\"RBAIMP\",\"optional\":true,\"description\":\"Creates a variable importance table by using random branch assignment (RBA). This table is created in addition to the normal variable importance table that is calculated using the residual sum of squares (RSS) error.\",\"type\":\"standalone\"},{\"name\":\"SEED=\",\"optional\":true,\"description\":\"Specifies the initial seed for random number generation for cross validation. The value of number must be an integer. By default, the seed is generated by reading the time of day from the computer’s clock.\",\"help\":\"SEED=*number*\",\"type\":\"value\"},{\"name\":\"SPLITONCE\",\"optional\":true,\"description\":\"Specifies the that an input variable should only be split once.\",\"type\":\"standalone\"},{\"name\":\"VII=\",\"optional\":true,\"aliases\":[\"INTERACTIONIMP=\"],\"description\":\"Calculates the variable interaction importance, which is described in the section Variable nteraction Importance.\",\"help\":\"VII=2 | 3\",\"type\":\"choice\",\"arguments\":[{\"name\":\"2\",\"description\":\"Calculates the importance of all two-way variable interactions.\",\"type\":\"standalone\"},{\"name\":\"3\",\"description\":\"Calculates the importance of all three-way and all two-way variable interactions.\",\"type\":\"standalone\"}]}]},{\"name\":\"AUTOTUNE\",\"description\":\"The AUTOTUNE statement searches for the best growing parameters based on the problem and the options. When you specify the AUTOTUNE statement, the NUMBIN= and MAXDEPTH= options in the PROC TREESPLIT statement and the GROW statement are ignored, because PROC TREESPLIT searches for the best of these parameters for tree growth. Trees created as a result of using autotuning are not pruned. You cannot specify the AUTOTUNE statement in conjunction with the PARTITION statement.\",\"help\":\"AUTOTUNE &lt;EVALHISTORY=&lt;ALL | LOG | NOE&gt;... &gt;&lt;FRACTION=number&gt;&lt;KFOLD=number&gt; ...\",\"arguments\":[{\"name\":\"CRITERION=\",\"optional\":true,\"description\":\"Specifies information about the splitting criteria to use for tuning the decision tree. You can specify the following additional suboptions: VALUES=value-list specifies a list of splitting criteria to consider during tuning, where value-list is a space separated list that can include one or more of the following values: CHAID, CHISQUARE, FTEST, GAIN, GINI, and VARIANCE. INIT=value specifies the initial splitting criterion for the tuner to use. You can specify the following values: CHAID, CHISQUARE, FTEST, GAIN, GINI, IGR, RSS, or VARIANCE.\",\"help\":\"CRITERION=VALUES= | INIT= | EXCLUDE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"VALUES=\",\"type\":\"value\"},{\"name\":\"INIT=\",\"type\":\"value\"},{\"name\":\"EXCLUDE\",\"type\":\"standalone\"}]},{\"name\":\"EVALHISTORY=\",\"optional\":true,\"description\":\"Specifies how to report the evaluation history of the tuner.\",\"help\":\"EVALHISTORY=ALL | LOG | NOE | TABLE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ALL\",\"description\":\"Reports each evaluation in the log and creates the EvaluationHistory ODS table.\",\"type\":\"standalone\"},{\"name\":\"LOG\",\"description\":\"Prints the following information to the log for each evaluation: evaluation number, objective value, best objective value up to that point, evaluation time, and elapsed time since the beginning of the tuning process.\",\"type\":\"standalone\"},{\"name\":\"NOE\",\"description\":\"Suppresses reporting of evaluations in the log and does not create the EvaluationHistory ODS table.\",\"type\":\"standalone\"},{\"name\":\"TABLE\",\"description\":\"Creates the EvaluationHistory ODS table, which contains all evaluated points. The table contains columns for the evaluation number, all tuning parameters, and the objective function value.\",\"type\":\"standalone\"}]},{\"name\":\"FRACTION=\",\"optional\":true,\"description\":\"Specifies the fraction of all data to be used for validation, where number must be between 0.01 and 0.99, inclusive. If you specify this option, the tuner uses a single partition validation for finding the objective value (validation error estimate). This option might not be advisable for small or unbalanced data tables where the random assignment of the validation subset might not provide a good estimate of error. For large, balanced data tables, a single validation partition is usually sufficient for estimating error; a single partition is more efficient than cross validation in terms of the total execution time. By default, FRACTION=0.3. You cannot specify this option in combination with the KFOLD= option.\",\"help\":\"FRACTION=*number*\",\"type\":\"value\"},{\"name\":\"KFOLD=\",\"optional\":true,\"description\":\"Specifies the number of partition folds in the cross validation process, where number must be between 2 and 20, inclusive. If you specify this option, the tuner uses cross validation to find the objective value. In cross validation, each model evaluation requires number of training executions (on number–1 data folds) and number of scoring executions (on 1 hold-out fold). Thus, the evaluation time is increased by approximately number. For small to medium data tables or for unbalanced data tables, cross validation provides on average a better representation of error across the entire data table (a better generalization error). By default, KFOLD=5. You cannot specify this option in combination with the FRACTION= option.\",\"help\":\"KFOLD=*number*\",\"type\":\"value\"},{\"name\":\"MAXDEPTH=\",\"optional\":true,\"description\":\"Specifies information about the maximum depth to grow the decision tree to use for tuning the decision tree. You can specify the following additional suboptions: LB=number specifies the minimum depth to consider during tuning. If you specify this suboption, you cannot specify the VALUES= suboption. By default, LB=1. UB=number specifies the maximum depth to consider during tuning. If you specify this suboption, you cannot specify the VALUES= suboption. By default, UB=19. VALUES=value-list specifies a list of depth values to consider during tuning, where value-list is a space-separated list of positive integers. If you specify this suboption, you cannot specify either the LB= or UB= suboption. INIT=number specifies the initial depth for the tuner to use. By default, INIT=10. EXCLUDE excludes depth from the tuning process.\",\"help\":\"MAXDEPTH=LB= | UB= | VALUES= | INIT= | EXCLUDE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"LB=\",\"type\":\"value\"},{\"name\":\"UB=\",\"type\":\"value\"},{\"name\":\"VALUES=\",\"type\":\"value\"},{\"name\":\"INIT=\",\"type\":\"value\"},{\"name\":\"EXCLUDE\",\"type\":\"standalone\"}]},{\"name\":\"MAXEVALS=\",\"optional\":true,\"description\":\"Specifies the maximum number of configuration evaluations allowed for the tuner, where number must be an integer greater than or equal to 3. When the number of evaluations is reached, the tuner terminates the search and returns the results. To produce a single objective function value (validation error estimate), each configuration evaluation requires either a single model training and scoring execution on a validation partition, or a number of training and scoring executions equal to the value of the KFOLD= option for cross validation. The MAXEVALS= option might lead to termination before the value of the MAXITER= option or the MAXTIME= option is reached. By default, MAXEVALS=50.\",\"help\":\"MAXEVALS=*number*\",\"type\":\"value\"},{\"name\":\"MAXITER=\",\"optional\":true,\"description\":\"Specifies the maximum number of iterations of the optimization tuner, where number must be greater than or equal to 1. Each iteration normally involves a number of objective evaluations up to the value of the POPSIZE= option. The MAXITER= option might lead to termination before the value of the MAXEVALS= option or the MAXTIME= option is reached. By default, MAXITER=5.\",\"help\":\"MAXITER=*number*\",\"type\":\"value\"},{\"name\":\"MAXTIME=\",\"optional\":true,\"description\":\"Specifies the maximum time (in seconds) allowed for the tuner, where number must be greater than or equal to 1. When this value is reached, the tuner terminates the search and returns results. The actual run time for optimization might be longer because it includes the remaining time needed to finish the current evaluation. For long-running model training (large data tables), the actual run time might significantly exceed number. The MAXTIME= option might lead to termination before the value of the MAXEVALS= option or the MAXITER= option is reached. By default, MAXTIME=36000.\",\"help\":\"MAXTIME=*number*\",\"type\":\"value\"},{\"name\":\"NPARALLEL=\",\"optional\":true,\"description\":\"Specifies the number of evaluations to be performed in parallel, where number must be greater than or equal to 0. When SEARCHMETHOD=GA is specified, the value of number is equal to the value of the POPSIZE= option minus one. When SEARCHMETHOD=LHS or SEARCHMETHOD=RANDOM is specified, the value of number is equal to the value of SAMPLESIZE= option.\",\"help\":\"NPARALLEL=*number*\",\"type\":\"value\"},{\"name\":\"NUMBIN=\",\"optional\":true,\"description\":\"Specifies information about the number of bins in which to bin the interval inputs while tuning the decision tree. You can specify the following additional suboptions: LB=number specifies the minimum number of bins to consider during tuning. If you specify this suboption, you cannot specify the VALUES= suboption. By default, LB=20. UB=number specifies the maximum number of bins to consider during tuning. If you specify this suboption, you cannot specify the VALUES= suboption. By default, UB=200. VALUES=value-list specifies a list of numbers of bins to consider during tuning, where value-list is a space-separated list of positive integers. If you specify this suboption, you cannot specify either the LB= or UB= suboption. INIT=number specifies the initial number of bins for the tuner to use.\",\"help\":\"NUMBIN=LB= | UB= | VALUES= | INIT= | EXCLUDE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"LB=\",\"type\":\"value\"},{\"name\":\"UB=\",\"type\":\"value\"},{\"name\":\"VALUES=\",\"type\":\"value\"},{\"name\":\"INIT=\",\"type\":\"value\"},{\"name\":\"EXCLUDE\",\"type\":\"standalone\"}]},{\"name\":\"OBJECTIVE=\",\"optional\":true,\"description\":\"Specifies which measure of model performance the tuner uses as the objective function.\",\"help\":\"OBJECTIVE=ASE | AUC | F05 | F1 | GAMMA | GINI | KS | MAE | MCE | MCLL | MISC | MSE | MSLE | RASE | RMAE | RMSLE | TAU*function*\",\"type\":\"value\",\"arguments\":[{\"name\":\"ASE\",\"description\":\"Uses average squared error as the objective function.\",\"type\":\"standalone\"},{\"name\":\"AUC\",\"description\":\"Uses area under the curve as the objective function (nominal type only).\",\"type\":\"standalone\"},{\"name\":\"F05\",\"description\":\"Uses the F0.5 coefficient as the objective function (nominal type only).\",\"type\":\"standalone\"},{\"name\":\"F1\",\"description\":\"Uses the F1 coefficient as the objective function (nominal type only).\",\"type\":\"standalone\"},{\"name\":\"GAMMA\",\"description\":\"Uses the gamma coefficient as the objective function (nominal type only).\",\"type\":\"standalone\"},{\"name\":\"GINI\",\"description\":\"Uses the Gini coefficient as the objective function (nominal type only).\",\"type\":\"standalone\"},{\"name\":\"KS\",\"description\":\"Uses the Kolmogorov-Smirnov coefficient as the objective function (nominal type only).\",\"type\":\"standalone\"},{\"name\":\"MAE\",\"description\":\"Uses the mean absolute error as the objective function (interval type only).\",\"type\":\"standalone\"},{\"name\":\"MCE\",\"description\":\"Uses the misclassification rate as the objective function (nominal type only).\",\"type\":\"standalone\"},{\"name\":\"MCLL\",\"description\":\"Uses the multiclass log loss as the objective function (nominal type only).\",\"type\":\"standalone\"},{\"name\":\"MISC\",\"description\":\"Uses the misclassification error percentage as the objective function (nominal type only).\",\"type\":\"standalone\"},{\"name\":\"MSE\",\"description\":\"Uses the mean squared error as the objective function (interval type only).\",\"type\":\"standalone\"},{\"name\":\"MSLE\",\"description\":\"Uses the mean squared logarithmic error as the objective function (interval type only).\",\"type\":\"standalone\"},{\"name\":\"RASE\",\"description\":\"Uses the root average squared error as the objective function.\",\"type\":\"standalone\"},{\"name\":\"RMAE\",\"description\":\"Uses the root mean absolute error as the objective function (interval type only).\",\"type\":\"standalone\"},{\"name\":\"RMSLE\",\"description\":\"Uses the root mean squared logarithmic error as the objective function (interval type only).\",\"type\":\"standalone\"},{\"name\":\"TAU\",\"description\":\"Uses the tau coefficient as the objective function (nominal type only).\",\"type\":\"standalone\"}]},{\"name\":\"POPSIZE=\",\"optional\":true,\"description\":\"Specifies the maximum number of evaluations in one iteration (population), where number must be greater than or equal to 1. In some cases, the tuner algorithm might generate a number of new configurations smaller than number. By default, POPSIZE=10.\",\"help\":\"POPSIZE=*number*\",\"type\":\"value\"},{\"name\":\"SAMPLESIZE=\",\"optional\":true,\"description\":\"Specifies the total number of evaluations, where number must be greater than or equal to 1. You can specify this option when SEARCHMETHOD=RANDOM or SEARCHMETHOD=LHS. This option is ignored when SEARCHMETHOD=GA.\",\"help\":\"SAMPLESIZE=*number*\",\"type\":\"value\"},{\"name\":\"SEARCHMETHOD=\",\"optional\":true,\"description\":\"Specifies the search method to use for tuning.\",\"help\":\"SEARCHMETHOD=GA | LHS | RANDOM\",\"type\":\"choice\",\"arguments\":[{\"name\":\"GA\",\"description\":\"Uses an initial Latin hypercube sample that seeds a genetic algorithm to generate a new population of alternative configurations at each iteration.\",\"type\":\"standalone\"},{\"name\":\"LHS\",\"description\":\"Uses a Latin hypercube to generate a single sample of configurations that is uniform in each tuning parameter, but random in combinations.\",\"type\":\"standalone\"},{\"name\":\"RANDOM\",\"description\":\"Generates a single sample of purely random configurations.\",\"type\":\"standalone\"}]},{\"name\":\"TARGETEVENT=\",\"optional\":true,\"description\":\"Specifies the target event to use for calculating the selected objective function. This option is ignored when the value of the OBJECTIVE= option is not AUC, F1, F05, GINI, GAMMA, TAU, or KS.\",\"help\":\"TARGETEVENT=*string*\",\"type\":\"value\"},{\"name\":\"USEPARAMETERS=\",\"optional\":true,\"description\":\"Specifies which set of parameters to tune.\",\"help\":\"USEPARAMETERS=STANDARD | CUSTOM | COMBINED*tuning-parameter-option*\",\"type\":\"value\",\"arguments\":[{\"name\":\"STANDARD\",\"description\":\"Tunes using the default bounds and initial values for all parameters.\",\"type\":\"standalone\"},{\"name\":\"CUSTOM\",\"description\":\"Tunes only the parameters that are specified in the TUNINGPARAMETERS= option.\",\"type\":\"standalone\"},{\"name\":\"COMBINED\",\"description\":\"Tunes the parameters that are specified in the TUNINGPARAMETERS= option and uses default bounds and initial values to tune all other parameters.\",\"type\":\"standalone\"}]}]},{\"name\":\"CLASS\",\"description\":\"The CLASS statement causes the specified variables to be treated as categorical variables in the analysis. These variables enter the analysis not through their values but through levels to which the unique values are mapped. You can specify only one CLASS statement. Note: All classification levels are padded or truncated to 32 characters.\",\"help\":\"CLASS variables\"},{\"name\":\"CODE\",\"description\":\"The CODE statement converts the final tree to SAS DATA step code that you can use for scoring. If you do not specify this statement, no SAS DATA step code is output.\",\"help\":\"CODE &lt;FILE=filename&gt;\",\"arguments\":[{\"name\":\"FILE=\",\"optional\":true,\"description\":\"Specifies the name of the file to write the SAS score code to.\",\"help\":\"FILE=*filename*\",\"type\":\"value\"}]},{\"name\":\"CROSSVALIDATION\",\"description\":\"The CROSSVALIDATION statement performs k-fold cross validation to find the average estimated validation error. You cannot specify this statement if you specify either the AUTOTUNE statement or the PARTITION statement. Note: The CROSSVALIDATION statement does not support any pruning method. If you specify this statement, you must also disable pruning by specifying the OFF option in the PRUNE statement.\",\"help\":\"CROSSVALIDATION             &lt;KFOLD=*number* | NOPARALLEL | NSUBSESSIONWORKERS=*number*&gt;\",\"arguments\":[{\"name\":\"KFOLD=\",\"optional\":true,\"description\":\"specifies the number of partition folds in the cross validation process, where number is between 2 and 20, inclusive. By default, KFOLD=5.\",\"help\":\"KFOLD=*number*\",\"type\":\"value\"},{\"name\":\"NOPARALLEL\",\"optional\":true,\"description\":\"specifies that k-fold cross validation not be run in parallel. By default, the process runs in parallel.\",\"type\":\"standalone\"},{\"name\":\"NSUBSESSIONWORKERS=\",\"optional\":true,\"description\":\"specifies the number of worker nodes to use in parallel subsessions. If you omit this option or if the number is 0, the number of worker nodes is determined automatically.\",\"help\":\"NSUBSESSIONWORKERS=*number*\",\"type\":\"value\"}]},{\"name\":\"FREQ\",\"description\":\"The variable in the FREQ statement identifies a numeric variable in the data set that contains the frequency of occurrence of each observation. PROC TREESPLIT treats each observation as if it appears f times, where f is the value of the FREQ variable for the observation. If f is not an integer, it is truncated to an integer. If f is less than 1 or missing, the observation is not used in the analysis. When the FREQ statement is not specified, each observation is assigned a frequency of 1.\",\"help\":\"FREQ variable \"},{\"name\":\"GROW\",\"description\":\"The GROW statement specifies the criterion by which to split a parent node into child nodes. As it grows the tree, PROC TREESPLIT calculates the specified criterion for each predictor variable and then splits on the predictor variable whose criterion is closest to the value specified for that criterion.\",\"help\":\"GROW &lt;CHAID &lt; (options) &gt;&gt;&lt;CHISQUARE &lt; (options) &gt;&gt;&lt;ENTROPY (&lt;options&gt;) | GAIN &lt; option &gt;&gt; ...\",\"arguments\":[{\"name\":\"CHAID=\",\"optional\":true,\"description\":\"For categorical predictor variables, CHAID uses the value (as specified in the ALPHA= option) of a chi-square statistic (for a classification tree) or an F statistic (for a regression tree) to merge similar levels of the predictor variable until the number of children in the proposed split reaches the number that you specify in the MAXBRANCH= option. The p-values for the final split determine the variable on which to split. For continuous predictor variables, CHAID chooses the best single split until the number of children in the proposed split reaches the value that you specify in the MAXBRANCH= option.\",\"help\":\"CHAID=ALPHA= | BONFERRONI\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ALPHA=\",\"type\":\"value\"},{\"name\":\"BONFERRONI\",\"type\":\"standalone\"}]},{\"name\":\"CHISQUARE=\",\"optional\":true,\"description\":\"Uses a chi-square statistic to split each variable and then uses the p-values that correspond to the resulting splits to determine the splitting variable.\",\"help\":\"CHISQUARE=ALPHA= | BONFERRONI\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ALPHA=\",\"type\":\"value\"},{\"name\":\"BONFERRONI\",\"type\":\"standalone\"}]},{\"name\":\"ENTROPY=\",\"optional\":true,\"aliases\":[\"GAIN\"],\"description\":\"Uses the gain in information (decrease in entropy) to split each variable and then to determine the split.\",\"help\":\"ENTROPY=MINENTROPY= | MINGAIN=\",\"type\":\"choice\",\"arguments\":[{\"name\":\"MINENTROPY=\",\"type\":\"value\"},{\"name\":\"MINGAIN=\",\"type\":\"value\"}]},{\"name\":\"FTEST=\",\"optional\":true,\"description\":\"Uses an F statistic to split each variable and then uses the resulting p-value to determine the split variable.\",\"help\":\"FTEST=ALPHA= | BONFERRONI\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ALPHA=\",\"type\":\"value\"},{\"name\":\"BONFERRONI\",\"type\":\"standalone\"}]},{\"name\":\"GINI\",\"optional\":true,\"description\":\"Uses the decrease in the Gini index to split each variable and then to determine the split.\",\"type\":\"standalone\"},{\"name\":\"IGR\",\"optional\":true,\"description\":\"Uses the entropy metric to split each variable and then uses the information gain ratio to determine the split.\",\"type\":\"standalone\"},{\"name\":\"RSS\",\"optional\":true,\"aliases\":[\"VARIANCE\"],\"description\":\"Uses the change in response variance to split each variable and then to determine the split.\",\"type\":\"standalone\"}]},{\"name\":\"INPUT\",\"description\":\"The INPUT statement specifies predictor variables for the decision tree or regression tree. The value of variable can be a range such as \\\"var_1–var_1000\\\" or the special \\\"_ALL_\\\" value to include all variables in the data tables. As with CLASS variables, all nominal INPUT variables are padded or truncated to 32 characters. You cannot use an INPUT statement with a MODEL or CLASS statement.\",\"help\":\"INPUT             &lt;LEVEL=&lt;INTERVAL | NOMINAL&gt;&gt;\",\"arguments\":[{\"name\":\"LEVEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies whether the specified predictor variables are interval or nominal.\",\"help\":\"LEVEL=INTERVAL | NOMINAL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"INTERVAL\",\"followsDelimiter\":\"/\",\"description\":\"Treats all numeric variables as interval predictors.\",\"type\":\"standalone\"},{\"name\":\"NOMINAL\",\"followsDelimiter\":\"/\",\"description\":\"Treats all variables as nominal predictors.\",\"type\":\"standalone\"}]}]},{\"name\":\"MODEL\",\"description\":\"The MODEL statement causes PROC TREESPLIT to create a tree model by using response as the response variable and one or more variables as predictors. By default, variables are treated as a continuous predictors if they are numeric variables, or as categorical variables if they also appear in a CLASS statement. NOTE: Specifying a character variable in a MODEL statement without previously declaring it in a CLASS statement results in an error.\",\"help\":\"MODEL response = variable \"},{\"name\":\"OUTPUT\",\"description\":\"The OUTPUT statement creates an output data table that contains the results of PROC TREESPLIT.\",\"help\":\"OUTPUT &lt;&gt;&lt;OUT=CAS-libref.data-table&gt;\",\"arguments\":[{\"name\":\"COPYVAR=\",\"optional\":true,\"aliases\":[\"COPYVARS=\"],\"description\":\"Lists one or more variables from the input data table to be transferred to the output data table.\",\"type\":\"value\"},{\"name\":\"OUT=\",\"optional\":true,\"description\":\"Names the output data table for PROC TREESPLIT to use. CAS-libref.data-table is a two-level name, where\",\"help\":\"OUT=*CAS-libref.data-table*\",\"type\":\"dataSet\"}]},{\"name\":\"PARTITION\",\"description\":\"The PARTITION statement specifies how observations in the input data set are logically partitioned into disjoint subsets for model training, validation, and testing.\",\"help\":\"PARTITION &lt;FRACTION(&lt; TEST=fraction &gt; &lt; VALIDATE=fraction &gt; &lt; SEED=number &gt;)&gt;&lt;ROLE=|ROLEVAR=variable (&lt; TEST='value' &gt; &lt; TRAIN='value' &gt; &lt; VALIDATE='value' &gt;)&gt;\",\"arguments\":[{\"name\":\"FRACTION=\",\"optional\":true,\"description\":\"Randomly assigns specified proportions of the observations in the input data table to the roles. You specify the proportions for testing and validation by using the TEST= and VALIDATE= suboptions. If you specify both the TEST= and VALIDATE= suboptions, then the sum of the specified fractions must be less than 1 and the remaining fraction of the observations are assigned to the training role. The SEED= option specifies an integer that is used to start the pseudorandom number generator for random partitioning of data for training, testing, and validation. If you do not specify SEED=number or if number is less than or equal to 0, the seed is generated by reading the time of day from the computer’s clock.\",\"help\":\"FRACTION=VALIDATE= | TEST= | SEED=\",\"type\":\"choice\",\"arguments\":[{\"name\":\"VALIDATE=\",\"type\":\"value\"},{\"name\":\"TEST=\",\"type\":\"value\"},{\"name\":\"SEED=\",\"type\":\"value\"}]},{\"name\":\"ROLE=\",\"optional\":true,\"aliases\":[\"ROLEVAR=\"],\"description\":\"Names the variable in the input data table whose values are used to assign roles to each observation. This variable cannot also appear as an analysis variable in other statements or options. The TEST=, TRAIN=, and VALIDATE= suboptions specify the formatted values of this variable that are used to assign observation roles. If you do not specify the TRAIN= suboption, then all observations whose role is not determined by the TEST= or VALIDATE= suboption are assigned to the training role.\",\"help\":\"ROLE=TRAIN= | VALIDATE= | TEST=\",\"type\":\"choice\",\"arguments\":[{\"name\":\"TRAIN=\",\"type\":\"value\"},{\"name\":\"VALIDATE=\",\"type\":\"value\"},{\"name\":\"TEST=\",\"type\":\"value\"}]}]},{\"name\":\"PRUNE\",\"description\":\"The PRUNE statement specifies the pruning method and related options.\",\"help\":\"PRUNE &lt;C45 &lt; (CONFIDENCE=confidence-level) &gt;&gt;&lt;COSTCOMPLEXITY &lt; (prune-options) &gt; | CC &lt; (prune-options) &gt;&gt;&lt;OFF&gt; ...\",\"arguments\":[{\"name\":\"C45=\",\"optional\":true,\"description\":\"Requests C4.5 pruning (Quinlan 1993), which is based on the upper confidence limit for the error rate. For more information, see the section “Pruning” on page 499. This pruning method is available only for classification trees (which have a categorical response). PROC TREESPLIT uses the error rate from the training data only. You can specify the following prune-option:\",\"help\":\"C45=CONFIDENCE=\",\"type\":\"choice\",\"arguments\":[{\"name\":\"CONFIDENCE=\",\"type\":\"value\"}]},{\"name\":\"COSTCOMPLEXITY=\",\"optional\":true,\"aliases\":[\"CC\"],\"description\":\"Requests cost-complexity pruning (Breiman et al. 1984; Quinlan 1987; Zhang and Singer 2010). You can specify this pruning method for both classification trees (which have a categorical response) and regression trees (which have a continuous response).\",\"help\":\"COSTCOMPLEXITY=ALPHA= | KFOLD= | LEAVES=\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ALPHA=\",\"type\":\"value\"},{\"name\":\"KFOLD=\",\"type\":\"value\"},{\"name\":\"LEAVES=\",\"type\":\"value\"}]},{\"name\":\"OFF\",\"optional\":true,\"aliases\":[\"NONE\"],\"description\":\"Turns off pruning completely. No pruning is performed, and no pruning plots are generated.\",\"type\":\"standalone\"},{\"name\":\"REDUCEDERROR=\",\"optional\":true,\"aliases\":[\"REP\"],\"description\":\"Requests reduced-error pruning (Quinlan 1986). Reduced-error pruning has two stages: subtree sequence generation and subtree selection. The validation data are used for both stages. The PARTITION statement is required. You can specify the following prune-options:\",\"help\":\"REDUCEDERROR=LEAVES=\",\"type\":\"choice\",\"arguments\":[{\"name\":\"LEAVES=\",\"type\":\"value\"}]}]},{\"name\":\"SCORE\",\"description\":\"The SCORE statement creates a new data table that is the result of prediction from using the input data and the model.\",\"help\":\"SCORE &lt;COPYVAR=variable | COPYVARS=(variables)&gt;&lt;OUT=CAS-libref.data-table&gt;\",\"arguments\":[{\"name\":\"COPYVAR=\",\"optional\":true,\"aliases\":[\"COPYVARS=\"],\"description\":\"Lists one or more variables from the input data table to be transferred to the output data table.\",\"type\":\"value\"},{\"name\":\"OUT=\",\"optional\":true,\"description\":\"Names the output data table for PROC NNET to use. CAS-libref.data-table is a two-level name, where\",\"help\":\"OUT=*CAS-libref.data-table*\",\"type\":\"dataSet\"}]},{\"name\":\"TARGET\",\"description\":\"The TARGET statement names the variable whose values PROC TREESPLIT predicts. Missing values in the target are ignored except during scoring. You cannot use a TARGET statement with a MODEL or CLASS statement.\",\"help\":\"TARGET             &lt;LEVEL=&lt;INTERVAL | NOMINAL&gt;&gt;\",\"arguments\":[{\"name\":\"LEVEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies whether the specified response variable is interval or nominal.\",\"help\":\"LEVEL=INTERVAL | NOMINAL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"INTERVAL\",\"followsDelimiter\":\"/\",\"description\":\"Treats the response as an interval variable and creates a regression tree.\",\"type\":\"standalone\"},{\"name\":\"NOMINAL\",\"followsDelimiter\":\"/\",\"description\":\"Treats the response as a nominal variable and creates a decision tree.\",\"type\":\"standalone\"}]}]},{\"name\":\"WEIGHT\",\"description\":\"The variable in the WEIGHT statement is used as a weight to perform a weighted analysis of the data. Observations that have nonpositive or missing weights are not included in the analysis. If a WEIGHT statement is not included, all observations that are used in the analysis are assigned a weight of 1.\",\"help\":\"WEIGHT variable\"}],\"supportSiteInformation\":{\"docsetId\":\"casstat\",\"docsetVersion\":\"latest\",\"docsetTargetFile\":\"casstat_treesplit_toc.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/TSCSREG.json",
    "content": "{\"name\":\"TSCSREG\",\"statements\":[{\"name\":\"PROC TSCSREG\",\"description\":\"The TSCSREG (time series cross section regression) procedure analyzes a class of linear econometric models that commonly arise when time series and cross- sectional data are combined. The TSCSREG procedure deals with panel data sets that consist of time series observations on each of several cross-sectional units. † The TSCSREG procedure is very similar to the PANEL procedure; for full description, syntax details, models, and estimation methods, see Chapter 19, The PANEL Procedure. The TSCSREG procedure is no longer being updated, and it shares the code base with the PANEL procedure.\",\"help\":\"PROC TSCSREG <CORR><CORRB><COVB><CS=number><DASILVA><DATA=SAS-data-set><FIXONE><FIXTWO><FULLER><M=number><NOINT><NOMEAN><NOPRINT><OUTCORR><OUTCOV><OUTEST=SAS-data-set><PARKS><PHI><RANONE><RANTWO><RHO><SINGULAR=number><TS=number><VAR>;     \\n\\tBY variables ;\\n\\n\\tID cross-section-id-variable time-series-id-variable ;\\n\\n\\tMODEL <CORRB><COVB><FIXONE> ...;\\n\\n\\tTEST equation < , equation ...> < / options > ;\\n\",\"arguments\":[{\"name\":\"CORR\",\"optional\":true,\"description\":\"Prints the matrix of estimated correlations between the parameter estimates.\",\"type\":\"standalone\"},{\"name\":\"CORRB\",\"optional\":true,\"description\":\"Prints the matrix of estimated correlations between the parameter estimates.\",\"type\":\"standalone\"},{\"name\":\"COVB\",\"optional\":true,\"description\":\"Prints the matrix of estimated covariances between the parameter estimates.\",\"type\":\"standalone\"},{\"name\":\"CS=\",\"optional\":true,\"description\":\"Specifies the number of cross sections. The CS= option value must be greater than 1. The CS= option is required unless an ID statement is used.\",\"help\":\"CS=*number*\",\"type\":\"value\"},{\"name\":\"DASILVA\",\"optional\":true,\"description\":\"Specifies that the model be estimated by using the Da Silva method, which assumes a mixed variance-component moving-average model for the error structure.\",\"type\":\"standalone\"},{\"name\":\"DATA=\",\"optional\":true,\"description\":\"Names the input data set. The input data set must be sorted by cross section and by time period within cross section. If you omit the DATA= option, the most recently created SAS data set is used.\",\"help\":\"DATA=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"FIXONE\",\"optional\":true,\"description\":\"Specifies that a one-way fixed-effects model be estimated with the one-way model corresponding to group effects only.\",\"type\":\"standalone\"},{\"name\":\"FIXTWO\",\"optional\":true,\"description\":\"Specifies that a two-way fixed-effects model be estimated.\",\"type\":\"standalone\"},{\"name\":\"FULLER\",\"optional\":true,\"description\":\"Specifies that the model be estimated by using the Fuller-Battese method, which assumes a variance components model for the error structure.\",\"type\":\"standalone\"},{\"name\":\"M=\",\"optional\":true,\"description\":\"Specifies the order of the moving-average process in the Da Silva method. The M= value must be less than T-1. The default is M=1.\",\"help\":\"M=*number*\",\"type\":\"value\"},{\"name\":\"NOINT\",\"optional\":true,\"description\":\"Suppresses the intercept parameter from the model.\",\"type\":\"standalone\"},{\"name\":\"NOMEAN\",\"optional\":true,\"description\":\"Suppresses the intercept parameter from the model.\",\"type\":\"standalone\"},{\"name\":\"NOPRINT\",\"optional\":true,\"description\":\"Suppresses the normal printed output.\",\"type\":\"standalone\"},{\"name\":\"OUTCORR\",\"optional\":true,\"aliases\":[\"CORROUT\"],\"description\":\"Writes the correlation matrix of the parameter estimates to the OUTEST= data set.\",\"type\":\"standalone\"},{\"name\":\"OUTCOV\",\"optional\":true,\"aliases\":[\"COVOUT\"],\"description\":\"Writes the covariance matrix of the parameter estimates to the OUTEST= data set.\",\"type\":\"standalone\"},{\"name\":\"OUTEST=\",\"optional\":true,\"description\":\"Names a SAS data set to write the parameter estimates. When the OUTEST= option is not specified, the OUTEST= data set is not created.\",\"help\":\"OUTEST=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"PARKS\",\"optional\":true,\"description\":\"Specifies that the model be estimated by using the Parks method, which assumes a first-order autoregressive model for the error structure.\",\"type\":\"standalone\"},{\"name\":\"PHI\",\"optional\":true,\"description\":\"Prints the Φ matrix of estimated covariances of the observations for the Parks method. The PHI option is relevant only when the PARKS option is used.\",\"type\":\"standalone\"},{\"name\":\"RANONE\",\"optional\":true,\"description\":\"Specifies that a one-way random-effects model be estimated.\",\"type\":\"standalone\"},{\"name\":\"RANTWO\",\"optional\":true,\"description\":\"Specifies that a two-way random-effects model be estimated.\",\"type\":\"standalone\"},{\"name\":\"RHO\",\"optional\":true,\"description\":\"Prints the estimated autocorrelation coefficients for the Parks method.\",\"type\":\"standalone\"},{\"name\":\"SINGULAR=\",\"optional\":true,\"description\":\"Specifies a singularity criterion for the inversion of the matrix. The default depends on the precision of the computer system.\",\"help\":\"SINGULAR=*number*\",\"type\":\"value\"},{\"name\":\"TS=\",\"optional\":true,\"description\":\"Specifies the number of observations in the time series for each cross section. The TS= option value must be greater than 1. The TS= option is required unless an ID statement is used. Note that the number of observations for each time series must be the same for each cross section and must cover the same time period.\",\"help\":\"TS=*number*\",\"type\":\"value\"},{\"name\":\"VAR\",\"optional\":true,\"description\":\"Prints the matrix of estimated covariances between the parameter estimates.\",\"type\":\"standalone\"}]},{\"name\":\"BY\",\"description\":\"A BY statement can be used with PROC TSCSREG to obtain separate analyses on observations in groups defined by the BY variables. When a BY statement appears, the input data set must be sorted by the BY variables as well as by cross section and time period within the BY groups.\",\"help\":\"BY variables \"},{\"name\":\"ID\",\"description\":\"The ID statement is used to specify variables in the input data set that identify the cross section and time period for each observation. When an ID statement is used, the TSCSREG procedure verifies that the input data set is sorted by the cross section ID variable and by the time series ID variable within each cross section. The TSCSREG procedure also verifies that the time series ID values are the same for all cross sections.\",\"help\":\"ID cross-section-id-variable time-series-id-variable \"},{\"name\":\"MODEL\",\"description\":\"The MODEL statement specifies the regression model and the error structure assumed for the regression residuals. The response variable on the left side of the equal sign is regressed on the independent variables listed after the equal sign. Any number of MODEL statements can be used. For each model statement, only one response variable can be specified on the left side of the equal sign. Models can be given labels up to 32 characters in length. Model labels are used in the printed output to identify the results for different models. If no label is specified, the response variable name is used as the label for the model.\",\"help\":\"MODEL &lt;CORRB&gt;&lt;COVB&gt;&lt;FIXONE&gt; ...\",\"arguments\":[{\"name\":\"CORRB\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"CORR\"],\"description\":\"Prints the matrix of estimated correlations between the parameter estimates.\",\"type\":\"standalone\"},{\"name\":\"COVB\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"VAR\"],\"description\":\"Prints the matrix of estimated covariances between the parameter estimates.\",\"type\":\"standalone\"},{\"name\":\"DASILVA\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies that the model be estimated by using the Da Silva method, which assumes a mixed variance-component moving-average model for the error structure.\",\"type\":\"standalone\"},{\"name\":\"FIXONE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies that a one-way fixed-effects model be estimated with the one-way model corresponding to group effects only.\",\"type\":\"standalone\"},{\"name\":\"FIXTWO\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies that a two-way fixed-effects model be estimated.\",\"type\":\"standalone\"},{\"name\":\"FULLER\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies that the model be estimated by using the Fuller-Battese method, which assumes a variance components model for the error structure.\",\"type\":\"standalone\"},{\"name\":\"M=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the order of the moving-average process in the Da Silva method. The M= value must be less than T-1. The default is M=1.\",\"help\":\"M=*number*\",\"type\":\"value\"},{\"name\":\"NOINT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Suppresses the intercept parameter from the model.\",\"type\":\"standalone\"},{\"name\":\"NOMEAN\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Suppresses the intercept parameter from the model.\",\"type\":\"standalone\"},{\"name\":\"NOPRINT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Suppresses the normal printed output.\",\"type\":\"standalone\"},{\"name\":\"PARKS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies that the model be estimated by using the Parks method, which assumes a first-order autoregressive model for the error structure.\",\"type\":\"standalone\"},{\"name\":\"PHI\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Prints the Φ matrix of estimated covariances of the observations for the Parks method. The PHI option is relevant only when the PARKS option is used.\",\"type\":\"standalone\"},{\"name\":\"RANONE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies that a one-way random-effects model be estimated.\",\"type\":\"standalone\"},{\"name\":\"RANTWO\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies that a two-way random-effects model be estimated.\",\"type\":\"standalone\"},{\"name\":\"RHO\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Prints the estimated autocorrelation coefficients for the Parks method.\",\"type\":\"standalone\"},{\"name\":\"SINGULAR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies a singularity criterion for the inversion of the matrix. The default depends on the precision of the computer system.\",\"help\":\"SINGULAR=*number*\",\"type\":\"value\"}]},{\"name\":\"TEST\",\"description\":\"The TEST statement performs F tests of linear hypotheses about the regression parameters in the preceding MODEL statement. Each equation specifies a linear hypothesis to be tested. All hypotheses in one TEST statement are tested jointly. Variable names in the equations must correspond to regressors in the preceding MODEL statement, and each name represents the coefficient of the corresponding regressor. The keyword INTERCEPT refers to the coefficient of the intercept. The following statements illustrate the use of the TEST statement: proc tscsreg; model y = x1 x2 x3; test x1 = 0, x2 * .5 + 2 * x3= 0; test_int: test intercept=0, x3 = 0; Note that a test of the following form is not permitted: test_bad: test x2 / 2 + 2 * x3= 0; Do not use the division sign in test/restrict statements.\",\"help\":\"TEST equation &lt; , equation ...&gt; &lt; / options &gt; \"}],\"supportSiteInformation\":{\"docsetId\":\"etsug\",\"docsetVersion\":\"latest\",\"docsetTargetFile\":\"etsug_tscsreg_toc.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/TSCUSTINT.json",
    "content": "{\"name\":\"TSCUSTINT\",\"statements\":[{\"name\":\"PROC TSCUSTINT\",\"description\":\"invokes the TSCUSTINT procedure\",\"help\":\"PROC TSCUSTINT  options;                 \\n\\tINPUTROLES <BEGIN=variable-name><END=variable-name><SEASON=variable-name> ;                 \\n\",\"arguments\":[{\"name\":\"DATA=\",\"description\":\"names the input data table for PROC TSCUSTINT to use\",\"help\":\"DATA=*libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"INTERVALNAME=\",\"description\":\"specifies the custom interval name to use as syntax in interval functions such as INTNX and INTCK, and in the INTERVAL= option of the ID statement for procedures such as PROC TSMODEL\",\"help\":\"INTERVALNAME=*'custom-interval-name'*\",\"type\":\"value\"},{\"name\":\"NTHREADS=\",\"optional\":true,\"description\":\"specifies the number of threads that are used per worker node in a CAS session\",\"help\":\"NTHREADS=*n*\",\"type\":\"value\"}]},{\"name\":\"INPUTROLES\",\"description\":\"enables you to specify names for custom interval definition variables in the DATA= data table\",\"help\":\"INPUTROLES &lt;BEGIN=variable-name&gt;&lt;END=variable-name&gt;&lt;SEASON=variable-name&gt; ;                                              \",\"arguments\":[{\"name\":\"BEGIN=\",\"optional\":true,\"description\":\"specifies the name of the variable in the DATA= data table that contains the beginning SAS date, SAS datetime, or observation number for each interval bin\",\"help\":\"BEGIN=*variable-name*\",\"type\":\"value\"},{\"name\":\"END=\",\"optional\":true,\"description\":\"specifies the name of the variable in the DATA= data table that contains the ending SAS date, SAS datetime, or observation number for each interval bin\",\"help\":\"END=*variable-name*\",\"type\":\"value\"},{\"name\":\"SEASON=\",\"optional\":true,\"description\":\"specifies the name of the variable in the DATA= data table that contains the seasonal index for each interval bin\",\"help\":\"SEASON=*variable-name*\",\"type\":\"value\"}]}],\"supportSiteInformation\":{\"docsetId\":\"casforecast\",\"docsetVersion\":\"latest\",\"docsetTargetFile\":\"casforecast_tscustint_toc.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/TSGLOBALRECON.json",
    "content": "{\"name\":\"TSGLOBALRECON\",\"statements\":[{\"name\":\"PROC TSGLOBALRECON\",\"description\":\"enables you to adjust base forecasts across all levels of a hierarchy to obtain a new set of reconciled forecasts, or coherent forecasts, such that the reconciled forecasts of the lower levels of data disaggregation add up to the reconciled forecasts of the upper levels of aggregation.\",\"help\":\"PROC TSGLOBALRECON <option>;                 \\n\\tBY  variables;                 \\n\\n\\tID  variable;                 \\n\\n\\tLEVEL  DATA=libref.data-table <options>;                 \\n\",\"arguments\":[{\"name\":\"NTHREADS=\",\"optional\":true,\"description\":\"specifies the number of threads to be used per worker node in a CAS session\",\"help\":\"NTHREADS=*number*\",\"type\":\"value\"}]},{\"name\":\"BY\",\"description\":\"defines hierarchy levels of observations for the DATA= data table that you specify in the LEVEL statement\",\"help\":\"BY  variables;                                              \"},{\"name\":\"ID\",\"description\":\"specifies a numeric variable that identifies observations in the input and output data tables\",\"help\":\"ID  variable;                                              \"},{\"name\":\"LEVEL\",\"description\":\"specifies the information for a single level of the hierarchy\",\"help\":\"LEVEL  DATA=libref.data-table &lt;*options*&gt;;                                              \",\"arguments\":[{\"name\":\"DATA=\",\"description\":\"specifies the input table that contains base forecasts for a level of the hierarchy\",\"help\":\"DATA=*libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"OUT=\",\"optional\":true,\"description\":\"specifies the output table of reconciled forecasts for a level of the hierarchy that is associated with the DATA= input table\",\"help\":\"OUT=*libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"ROLES=\",\"optional\":true,\"description\":\"specifies the role of each input table variable for a level of the hierarchy that is associated with the DATA= input table\",\"help\":\"ROLES=(&lt;ACTUAL=*variable*&gt; &lt;ERROR=*variable*&gt; &lt;NAME=*variable*&gt; &lt;PREDICT=*variable*&gt;)\",\"type\":\"value\"}]}],\"supportSiteInformation\":{\"docsetId\":\"casforecast\",\"docsetVersion\":\"latest\",\"docsetTargetFile\":\"casforecast_tsgrecon_toc.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/TSINFO.json",
    "content": "{\"name\":\"TSINFO\",\"statements\":[{\"name\":\"PROC TSINFO\",\"description\":\"invokes the TSINFO procedure\",\"help\":\"PROC TSINFO  options;                 \\n\\tBY  variables;                 \\n\\n\\tID  variable </options>;                 \\n\",\"arguments\":[{\"name\":\"DATA=\",\"description\":\"specifies the SAS input data table that contains the input data for the procedure\",\"help\":\"DATA=*libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"OUTINTERVALDETAILS\",\"description\":\"names the output data table to contain the time ID interval information for each BY group in the DATA= data set\",\"help\":\"OUTINTERVALDETAILS =*libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"NTHREADS=\",\"optional\":true,\"description\":\"specifies the number of threads to use in the computation\",\"help\":\"NTHREADS=*number*\",\"type\":\"value\"}]},{\"name\":\"BY\",\"description\":\"You can use a BY statement to obtain separate analyses for groups of observations that are defined by the variables, which can be either character or numeric\",\"help\":\"BY  variables;                                              \"},{\"name\":\"ID\",\"description\":\"names a numeric variable that identifies observations in the input and output data\",\"help\":\"ID  variable &lt;/options&gt;;                                              \",\"arguments\":[{\"name\":\"ALIGN=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the alignment of the identifying SAS date or datetime that is used to represent intervals\",\"help\":\"ALIGN=BEGINNING | MIDDLE | ENDING | INFER\",\"type\":\"choice\"},{\"name\":\"END=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a SAS date, datetime, or time value that represents when the SAS date or datetime values end\",\"help\":\"END=*value*\",\"type\":\"value\"},{\"name\":\"START=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a SAS date, datetime, or time value that represents the variable value at which the SAS date or datetime values begins\",\"help\":\"START=*value*\",\"type\":\"value\"}]}],\"supportSiteInformation\":{\"docsetId\":\"casecon\",\"docsetVersion\":\"latest\",\"docsetTargetFile\":\"casecon_tsinfo_toc.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/TSMODEL.json",
    "content": "{\"name\":\"TSMODEL\",\"statements\":[{\"name\":\"PROC TSMODEL\",\"description\":\"The TSMODEL procedure is a SAS Viya procedure that executes user-defined programs on time series data. The TSMODEL procedure analyzes timestamped transactional data with respect to time and accumulates the data into a time series format. † The TSMODEL procedure forms time series from input timestamped transactional data and writes the accumulated time series variables to an output table. Time series are delineated based on the distinct values of the variables that are listed in the BY statement.\",\"help\":\"PROC TSMODEL <AUXDATA=CAS-libref.data-table><DATA=CAS-libref.data-table><INOBJ=(object-name=CAS-libref.data-table ...)><INSCALAR=CAS-libref.data-table><LEAD=n><LOGCONTROL=(severity=IGNORE | KEEP <severity=IGNORE | KEEP...>)><OUT=CAS-libref.data-table><OUTARRAY=CAS-libref.data-table><OUTLOG=CAS-libref.data-table><OUTOBJ=(object-name=CAS-libref.data-table ...)><OUTSCALAR=CAS-libref.data-table><OUTSUM=CAS-libref.data-table><PUTTOLOG=YES | NO><SEASONALITY=number>;     \\n\\tARRAY <NOSYMBOLS> ;\\n\\n\\tATTRIB <FORMAT=format-name><LABEL='label'><LENGTH=length> ...;\\n\\n\\tBY variables;\\n\\n\\tCALL routine(parameter-1<, ...parameter-n>);\\n\\n\\tCONTINUE;\\n\\n\\tDATALINES4;\\n\\n\\tDATALINES;\\n\\n\\t;\\n\\n\\tDELETE;\\n\\n\\tDELETEFUNC function-name;\\n\\n\\tDELETESUBR subroutine-name;\\n\\n\\tDESCRIBE;\\n\\n\\tDISPLAY <BELL><BLANK><NOINPUT> ...;\\n\\n\\tDO <OVER><><> ...;\\n\\n\\tDROP variable-list;\\n\\n\\tELSE <DO><IF><THEN> ...;\\n\\n\\tEND;\\n\\n\\tENDRSUBMIT;\\n\\n\\tENDSUB;\\n\\n\\tENDSUBMIT ;\\n\\n\\tERROR <message>;\\n\\n\\tEXECUTE;\\n\\n\\tFILE <DISK><DUMMY><LOG> ...;\\n\\n\\tFORMAT <DEFAULT=default-format> ;\\n\\n\\tFUNCTION <KIND= | GROUP='string'><VARARGS> ;\\n\\n\\tGOTO label;\\n\\n\\tID <ACCUMULATE=<NONE | TOTAL | AVERAGE>... ><ALIGN=<BEGINNING | MIDDLE | ENDING>> INTERVAL=DAY|HOUR|MINUTE...  ...;\\n\\n\\tIF <DO><NOT><THEN> ...;\\n\\n\\tINFORMAT <DEFAULT= default-informat> ;\\n\\n\\tINSCALARS scalar-name-list; | INSCALAR scalar-name-list;\\n\\n\\tKEEP variable-list;\\n\\n\\tKILLTASK _ALL_ |task1...taskn ;\\n\\n\\tLABEL variable='label';\\n\\n\\tLEAVE;\\n\\n\\tLENGTH <DEFAULT=n> ;\\n\\n\\tLINK label;\\n\\n\\tLIST;\\n\\n\\tLISTFUNC function-name;\\n\\n\\tLISTSUBR subroutine-name;\\n\\n\\tLISTTASK <_ALL_|task> ;\\n\\n\\tLOCK <CLEAR><LIST> ;\\n\\n\\tLOSTCARD;\\n\\n\\tMISSING character(s);\\n\\n\\tODS DOCUMENT <ALL><CLOSE><EXCLUDE exclusion(s)| ALL | NONE> ...;\\n\\n\\tODS ESCAPECHAR= 'escape-character';\\n\\n\\tODS GRAPHICS <ANTIALIAS=<OFF | ON>> OFF ON ...;\\n\\n\\tODS LISTING <EXCLUDE/SELECT ALL><CLOSE><EXCLUDE exclusion(s)| ALL | NONE> ...;\\n\\n\\tODS MARKUP <ALL><CLOSE><EXCLUDE exclusion(s)| ALL | NONE> ...;\\n\\n\\tODS NOPROCTITLE;\\n\\n\\tODS NOUSEGOPT;\\n\\n\\tODS OUTPUT <CLEAR><CLOSE><SHOW> ...;\\n\\n\\tODS PRINTER <ALL><CLOSE><EXCLUDE exclusion(s)| ALL | NONE> ...;\\n\\n\\tODS PROCLABEL 'string';\\n\\n\\tODS PROCTITLE;\\n\\n\\tODS RESULTS <OFF><ON> ;\\n\\n\\tODS RTF <ALL><CLOSE><EXCLUDE exclusion(s)| ALL | NONE> ...;\\n\\n\\tODS TAGSETS.RTF <ALL><CLOSE><EXCLUDE exclusion(s)| ALL | NONE> ...;\\n\\n\\tODS TEXT= 'text-string';\\n\\n\\tODS TRACE <EXCLUDED> OFF ON ...;\\n\\n\\tODS USEGOPT;\\n\\n\\tODS VERIFY <ERROR><OFF><ON> ...;\\n\\n\\t;\\n\\n\\tOUTARGS out-argument-1, ..., out-argument-n;\\n\\n\\tOUTARRAYS array-name-list; | OUTARRAY array-name-list;\\n\\n\\tOUTPUT<data-set-name(s)>;\\n\\n\\tOUTSCALARS scalar-name-list; | OUTSCALAR scalar-name-list;\\n\\n\\tPAGE;\\n\\n\\tPRINT <OUTLOG><WHERE where-clause>> ;\\n\\n\\tPUT <_ALL_><_INFILE_><_ODS_> ...;\\n\\n\\tPUTLOG 'message';\\n\\n\\tRDISPLAY <<CONNECTREMOTE=>server-ID >;\\n\\n\\tREDIRECT INPUT OUTPUT ;\\n\\n\\tREMOVE <data-set-name(s)>;\\n\\n\\tRENAME old-name-1=new-name-1 ... <old-name-n=new-name-n>;\\n\\n\\tREPLACE <data-set-name-1><...data-set-name-n>;\\n\\n\\tREQUIRE package-1 <package-2 ... package-n>;REQUIRE package (class-1 ...class-n);\\n\\n\\tRETAIN <element-list(s) <initial-value(s) |;\\n\\n\\t;\\n\\n\\tRGET <<CONNECTREMOTE=>server-ID>;\\n\\n\\tRSUBMIT <options>; ENDRSUBMIT <CANCEL>;\\n\\n\\t;\\n\\n\\tSIGNOFF <options>;\\n\\n\\tSIGNON <options> ;\\n\\n\\tSKIP <n>;\\n\\n\\tSTOP;\\n\\n\\tSTRUCT structure-name variable;\\n\\n\\tSUBMIT <DYNAMICS=(var-1=[number | \\\"string\\\"] <var-2=[number | \\\"string\\\"]...>)><FILE=SAS-file-ref | 'File-path'> ;\\n\\n\\tSUBROUTINE <KIND= | GROUP='string'><OUTARGS><VARARGS> ...;\\n\\n\\tSYSTASK COMMAND \\\"operating system command\\\";\\n\\n\\tVAR <ACCUMULATE=<NONE | TOTAL | AVERAGE>... ><SETMISSING=<MISSING | AVERAGE | MINIMUM>... > ;\\n\\n\\tWAITFOR<_ANY_ | _ALL_> taskname <taskname...><TIMEOUT=seconds>;\\n\\n\\tWHEN <DO> ;\\n\\n\\tWHERE where-expression-1;\\n\\n\\tWINDOW <COLOR=<BLACK | GRAY | PINK>... ><COLUMNS=columns><ICOLUMN=column> ...;\\n\",\"arguments\":[{\"name\":\"AUXDATA=\",\"optional\":true,\"description\":\"Names a table that contains auxiliary input data for the procedure to use for supplying time series variables. CAS-libref.data-table is a two-level name, where CAS-libref refers to the caslib and session identifier, and data-table specifies the name of the input data table.\",\"help\":\"AUXDATA=*CAS-libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"DATA=\",\"optional\":true,\"description\":\"Names the input data table for PROC TSMODEL to use. The default is the most recently created data table. CAS-libref.data-table is a two-level name, where CAS-libref refers to a collection of information that is defined in the LIBNAME statement and includes the caslib, which includes a path to the data, and a session identifier, which defaults to the active session but which can be explicitly defined in the LIBNAME statement.\",\"help\":\"DATA=*CAS-libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"INOBJ=\",\"optional\":true,\"description\":\"Specifies pairs, each of which binds a repeater object specified by object-name with an input table specified by CAS-libref.data-table. You can specify one or more object-table pairs as needed to associate the repeater objects that you declare in your user-defined program with their input tables. You must specify a binding for any repeater object that you declare in your program; otherwise, a parse-time error is generated when you submit the program and no execution occurs.\",\"type\":\"value\"},{\"name\":\"INSCALAR=\",\"optional\":true,\"description\":\"Specifies a table to supply scalar dynamic variables to be included and made accessible to your program code as it executes.\",\"help\":\"INSCALAR=*CAS-libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"LEAD=\",\"optional\":true,\"description\":\"Specifies the number of periods ahead to extend time series arrays for the variables in both the VAR and OUTARRAYS statements that are output to the CAS table. You can specify this option to accommodate a forecast lead or horizon when you are preparing time series data for forecasting.\",\"help\":\"LEAD=*n*\",\"type\":\"value\"},{\"name\":\"LOGCONTROL=\",\"optional\":true,\"description\":\"Specifies pairs that define error severity and associated message disposition for the OUTLOG= option. You can specify multiple LOGCONTROL= options. You can specify zero or more pairs. In these pairs, severity can take one of the following values: NONE specifies messages that have no severity classification. NOTE specifies messages whose severity classification is NOTE. WARNING specifies messages whose severity classification is WARNING. ERROR specifies messages whose severity classification is ERROR. You can specify the following values to indicate the associated message disposition: IGNORE ignores messages of the specified severity.\",\"help\":\"LOGCONTROL=NONE | NOTE | WARNING | ERROR | IGNORE | KEEP\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NONE\",\"type\":\"standalone\"},{\"name\":\"NOTE\",\"type\":\"standalone\"},{\"name\":\"WARNING\",\"type\":\"standalone\"},{\"name\":\"ERROR\",\"type\":\"standalone\"},{\"name\":\"IGNORE\",\"type\":\"standalone\"},{\"name\":\"KEEP\",\"type\":\"standalone\"}]},{\"name\":\"OUT=\",\"optional\":true,\"description\":\"Names the output table to contain the time series variables that are specified in the subsequent VAR statements.\",\"help\":\"OUT=*CAS-libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"OUTARRAY=\",\"optional\":true,\"description\":\"Names the output table to contain the time series vectors that are specified in the VAR and OUTARRAYS statements. CAS-libref.data-table is a two-level name, where CAS-libref refers to the caslib and session identifier, and data-table specifies the name of the output data table.\",\"help\":\"OUTARRAY=*CAS-libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"OUTLOG=\",\"optional\":true,\"description\":\"Names the output table to contain textual messages that are collected from the execution of the BY-group processing.\",\"help\":\"OUTLOG=*CAS-libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"OUTOBJ=\",\"optional\":true,\"description\":\"Specifies pairs, each of which binds a collector object specified by object-name with an output table specified by CAS-libref.data-table.\",\"type\":\"value\"},{\"name\":\"OUTSCALAR=\",\"optional\":true,\"description\":\"Names the output table to contain the scalar names that are specified in the OUTSCALARS statements. CAS-libref.data-table is a two-level name, where CAS-libref refers to the caslib and session identifier, and data-table specifies the name of the output data table.\",\"help\":\"OUTSCALAR=*CAS-libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"OUTSUM=\",\"optional\":true,\"description\":\"Names the output table to contain the descriptive statistics. CAS-libref.data-table is a two-level name, where CAS-libref refers to the caslib and session identifier, and data-table specifies the name of the output data table.\",\"help\":\"OUTSUM=*CAS-libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"PUTTOLOG=\",\"optional\":true,\"description\":\"Specifies whether to capture messages from the PUT programming statement to the BY group’s row in the table that is specified in the OUTLOG= option.\",\"help\":\"PUTTOLOG=YES | NO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YES\",\"description\":\"Specifies to captures messages.\",\"type\":\"standalone\"},{\"name\":\"NO\",\"description\":\"Specifies not to capture messages.\",\"type\":\"standalone\"}]},{\"name\":\"SEASONALITY=\",\"optional\":true,\"description\":\"Specifies the length of the seasonal cycle. For example, SEASONALITY=3 means that every group of three time periods forms a seasonal cycle. By default, the length of the seasonal cycle is 1 (no seasonality) or the length that is implied by the INTERVAL= option in the ID statement.\",\"help\":\"SEASONALITY=*number*\",\"type\":\"value\"}]},{\"name\":\"ARRAY\",\"description\":\"Associates a name with a list of variables and constants.\",\"help\":\"ARRAY &lt;NOSYMBOLS&gt;\",\"arguments\":[{\"name\":\"NOSYMBOLS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies that an array of numeric or character values be created without the associated element variables. In this case, the only way you can access elements in the array is by array subscripting.\",\"type\":\"standalone\"}]},{\"name\":\"ATTRIB\",\"description\":\"Specifies format, label, and length information for variables.\",\"help\":\"ATTRIB &lt;FORMAT=format-name&gt;&lt;LABEL='label'&gt;&lt;LENGTH=length&gt; ...\",\"arguments\":[{\"name\":\"FORMAT=\",\"optional\":true,\"description\":\"Associates a format with variables in the variable argument.\",\"help\":\"FORMAT=*format-name*\",\"type\":\"value\"},{\"name\":\"LABEL=\",\"optional\":true,\"description\":\"Associates a label with variables in the variable argument.\",\"help\":\"LABEL='*label*'\",\"type\":\"value\"},{\"name\":\"LENGTH=\",\"optional\":true,\"description\":\"Specifies the length of the variable in the variable argument.\",\"help\":\"LENGTH=*length*\",\"type\":\"value\"}]},{\"name\":\"BY\",\"description\":\"You can include a BY statement with PROC TSMODEL to obtain separate processing for groups of observations that are defined by the BY variables. The rows in each distinct BY group are used to accumulate the time series vectors from the timestamped row data according to a desired frequency (which is specified in the INTERVAL= option) and the accumulation mode (which is specified in the ACCUMULATE= option).\",\"help\":\"BY variables\"},{\"name\":\"CALL\",\"description\":\"Invokes a SAS CALL routine.\",\"help\":\"CALL routine(parameter-1&lt;, ...parameter-n&gt;)\"},{\"name\":\"CONTINUE\",\"description\":\"Stops processing the current DO-loop iteration and resumes processing the next iteration.\",\"help\":\"CONTINUE\"},{\"name\":\"DATALINES4\",\"aliases\":[\"CARDS4\",\"LINES4\"],\"description\":\"Indicates that data lines that contain semicolons follow.\",\"help\":\"DATALINES4\"},{\"name\":\"DATALINES\",\"aliases\":[\"CARDS\",\"LINES\"],\"description\":\"Specifies that data lines follow.\",\"help\":\"DATALINES\"},{\"name\":\"DECLARE\",\"aliases\":[\"DCL\"],\"description\":\"Declares one or more DS2 variables or temporary arrays.\",\"help\":\"\"},{\"name\":\"DELETE\",\"description\":\"Stops processing the current observation.\",\"help\":\"DELETE\"},{\"name\":\"DELETEFUNC\",\"description\":\"Causes a function to be deleted from the function library that is specified in the OUTLIB option. Required Argument: function-name specifies the name of a function to be deleted from the function library that is specified in the OUTLIB option.\",\"help\":\"DELETEFUNC function-name\"},{\"name\":\"DELETESUBR\",\"description\":\"Causes a subroutine to be deleted from the function library that is specified in the OUTLIB option. Required Argument: subroutine-name specifies the name of a subroutine to be deleted from the function library that is specified in the OUTLIB option.\",\"help\":\"DELETESUBR subroutine-name\"},{\"name\":\"DESCRIBE\",\"description\":\"Retrieves source code from a stored compiled DATA step program or a DATA step view.\",\"help\":\"DESCRIBE\"},{\"name\":\"DISPLAY\",\"description\":\"Displays a window that is created with the WINDOW statement.\",\"help\":\"DISPLAY &lt;BELL&gt;&lt;BLANK&gt;&lt;NOINPUT&gt; ...\",\"arguments\":[{\"name\":\"BELL\",\"optional\":true,\"description\":\"Produces an audible alarm, beep, or bell sound when the window is displayed if your personal computer is equipped with a speaker device that provides sound.\",\"type\":\"standalone\"},{\"name\":\"BLANK\",\"optional\":true,\"description\":\"Clears the window.\",\"type\":\"standalone\"},{\"name\":\"DELETE\",\"optional\":true,\"description\":\"Deletes the display of the window after processing passes from the DISPLAY statement on which the option appears.\",\"type\":\"standalone\"},{\"name\":\"NOINPUT\",\"optional\":true,\"description\":\"Specifies that you cannot input values into fields that are displayed in the window.\",\"type\":\"standalone\"}]},{\"name\":\"DO\",\"description\":\"Specifies a group of statements to be executed as a unit.\",\"help\":\"DO &lt;OVER&gt;&lt;&gt;&lt;&gt; ...\",\"arguments\":[{\"name\":\"BY\",\"optional\":true,\"description\":\"Precedes an increment integer (other than 0) or an expression that generates an integer to be added to the value of the index variable in each iteration of the DO loop.\",\"type\":\"standalone\"},{\"name\":\"OVER\",\"optional\":true,\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"TO\",\"optional\":true,\"description\":\"Separates the start and stop integers or expressions that control the number of times the portion of the DATA step between the iterative DO and END statements is processed.\",\"type\":\"standalone\"},{\"name\":\"UNTIL\",\"optional\":true,\"description\":\"...more SAS statements... END\",\"type\":\"standalone\"},{\"name\":\"WHILE\",\"optional\":true,\"description\":\"\",\"type\":\"standalone\"}]},{\"name\":\"DROP\",\"description\":\"Excludes variables from output SAS data sets.\",\"help\":\"DROP variable-list\"},{\"name\":\"ELSE\",\"description\":\"If the condition in an IF-THEN statement is false and an ELSE statement is present, then the ELSE action is carried out.\",\"help\":\"ELSE &lt;DO&gt;&lt;IF&gt;&lt;THEN&gt; ...\",\"arguments\":[{\"name\":\"AND\",\"optional\":true,\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"DO\",\"optional\":true,\"description\":\"DO statement in an IF-THEN/ELSE construct.\",\"type\":\"standalone\"},{\"name\":\"IF\",\"optional\":true,\"description\":\"Executes a SAS statement for observations that meet specific conditions.\",\"type\":\"standalone\"},{\"name\":\"NOT\",\"optional\":true,\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"OR\",\"optional\":true,\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"THEN\",\"optional\":true,\"description\":\"If the conditions that are specified in the IF clause are met, the IF-THEN statement executes a SAS statement for observations that are read from a SAS data set, for records in an external file, or for computed values.\",\"type\":\"standalone\"}]},{\"name\":\"END\",\"description\":\"Ends a DO group or SELECT group processing.\",\"help\":\"END\"},{\"name\":\"ENDRSUBMIT\",\"description\":\"Marks the end of a block of statements that a client session submits to a server session for execution.\",\"help\":\"ENDRSUBMIT\"},{\"name\":\"ENDSUB\",\"description\":\"Ends a FUNCTION or SUBROUTINE statement block.\",\"help\":\"ENDSUB\"},{\"name\":\"ENDSUBMIT\",\"description\":\"The ENDSUBMIT statement is required to terminate the user-defined program statements in the PROC TSMODEL statement block whenever you specify the SUBMIT statement without the FILE= option.\",\"help\":\"ENDSUBMIT \"},{\"name\":\"ERROR\",\"description\":\"Sets _ERROR_ to 1. A message written to the SAS log is optional.\",\"help\":\"ERROR &lt;message&gt;\"},{\"name\":\"EXECUTE\",\"description\":\"Executes a stored compiled DATA step program.\",\"help\":\"EXECUTE\"},{\"name\":\"FILE\",\"description\":\"Specifies the current output file for PUT statements.\",\"help\":\"FILE &lt;DISK&gt;&lt;DUMMY&gt;&lt;LOG&gt; ...\",\"arguments\":[{\"name\":\"BLKSIZE=\",\"optional\":true,\"description\":\"Specifies the block size of the output file.\",\"type\":\"value\"},{\"name\":\"COLUMN=\",\"optional\":true,\"aliases\":[\"COL=\"],\"description\":\"Specifies a variable that SAS automatically sets to the current column location of the pointer.\",\"type\":\"value\"},{\"name\":\"DELIMITER=\",\"optional\":true,\"aliases\":[\"DLM=\"],\"description\":\"Specifies an alternate delimiter (other than a blank) to be used for LIST output.\",\"type\":\"value\"},{\"name\":\"DISK\",\"optional\":true,\"description\":\"[device-type] Specifies that the device is a disk drive.\",\"type\":\"standalone\"},{\"name\":\"DLMSOPT=\",\"optional\":true,\"description\":\"Specifies a parsing option for the DLMSTR= T option that removes trailing blanks of the string delimiter.\",\"help\":\"DLMSOPT='T'\",\"type\":\"choice\",\"arguments\":[{\"name\":\"'T'\",\"description\":\"Removes trailing blanks of the string delimiter.\",\"type\":\"standalone\"}]},{\"name\":\"DLMSTR=\",\"optional\":true,\"description\":\"Specifies a character string as an alternate delimiter (other than a blank) to be used for LIST output\",\"type\":\"value\"},{\"name\":\"DROPOVER\",\"optional\":true,\"description\":\"Discards data items that exceed the output line length (as specified by the LINESIZE= or LRECL= options in the FILE statement).\",\"type\":\"standalone\"},{\"name\":\"DSD\",\"optional\":true,\"description\":\"Specifies that data values that contain embedded delimiters, such as tabs or commas, be enclosed in quotation marks.\",\"type\":\"standalone\"},{\"name\":\"DUMMY\",\"optional\":true,\"description\":\"[device-type] Specifies that the output to the file is discarded. Tip: Specifying DUMMY can be useful for testing.\",\"type\":\"standalone\"},{\"name\":\"ENCODING=\",\"optional\":true,\"description\":\"Specifies the encoding to use when writing to the output file.\",\"help\":\"ENCODING='warabic' | 'wbaltic' | 'wlatin2' | 'wcyrillic' | 'wgreek' | 'whebrew' | 'wturkish' | 'wvietnamese' | 'wlatin1' | 'utf-8' | 'ms-950' | 'ms-936' | 'ms-932' | 'ms-949'\",\"type\":\"choice\",\"arguments\":[{\"name\":\"'warabic'\",\"description\":\"Arabic\",\"type\":\"standalone\"},{\"name\":\"'wbaltic'\",\"description\":\"Baltic\",\"type\":\"standalone\"},{\"name\":\"'wlatin2'\",\"description\":\"Central Europe\",\"type\":\"standalone\"},{\"name\":\"'wcyrillic'\",\"description\":\"Cyrillic\",\"type\":\"standalone\"},{\"name\":\"'wgreek'\",\"description\":\"Greek\",\"type\":\"standalone\"},{\"name\":\"'whebrew'\",\"description\":\"Hebrew\",\"type\":\"standalone\"},{\"name\":\"'wturkish'\",\"description\":\"Turkish\",\"type\":\"standalone\"},{\"name\":\"'wvietnamese'\",\"description\":\"Vietnamese\",\"type\":\"standalone\"},{\"name\":\"'wlatin1'\",\"description\":\"Western\",\"type\":\"standalone\"},{\"name\":\"'utf-8'\",\"description\":\"Unicode encoding\",\"type\":\"standalone\"},{\"name\":\"'ms-950'\",\"description\":\"Traditional Chinese\",\"type\":\"standalone\"},{\"name\":\"'ms-936'\",\"description\":\"Simplified Chinese\",\"type\":\"standalone\"},{\"name\":\"'ms-932'\",\"description\":\"Japanese\",\"type\":\"standalone\"},{\"name\":\"'ms-949'\",\"description\":\"Korean\",\"type\":\"standalone\"}]},{\"name\":\"FILENAME=\",\"optional\":true,\"description\":\"Defines a character variable, whose name you supply, that SAS sets to the value of the physical name of the file currently open for PUT statement output.\",\"type\":\"value\"},{\"name\":\"FILEVAR=\",\"optional\":true,\"description\":\"Defines a variable whose change in value causes the FILE statement to close the current output file and open a new one the next time the FILE statement executes.\",\"type\":\"value\"},{\"name\":\"FLOWOVER\",\"optional\":true,\"description\":\"Causes data that exceeds the current line length to be written on a new line.\",\"type\":\"standalone\"},{\"name\":\"FOOTNOTES\",\"optional\":true,\"aliases\":[\"FOOTNOTE\"],\"description\":\"Specifies that the currently defined footnotes are printed.\",\"type\":\"standalone\"},{\"name\":\"GTERM\",\"optional\":true,\"description\":\"[device-type] Indicates that the output device type is a graphics device that will receive graphics data.\",\"type\":\"standalone\"},{\"name\":\"HEADER=\",\"optional\":true,\"description\":\"Defines a statement label that identifies a group of SAS statements that you want to execute each time SAS begins a new output page\",\"type\":\"value\"},{\"name\":\"LINE=\",\"optional\":true,\"description\":\"Defines a variable whose value is the current relative line number within the group of lines available to the output pointer.\",\"type\":\"value\"},{\"name\":\"LINESIZE=\",\"optional\":true,\"aliases\":[\"LS=\"],\"description\":\"Sets the maximum number of columns per line for reports and the maximum record length for data files.\",\"type\":\"value\"},{\"name\":\"LINESLEFT=\",\"optional\":true,\"aliases\":[\"LL=\"],\"description\":\"Defines a variable whose value is the number of lines left on the current page.\",\"type\":\"value\"},{\"name\":\"LOG\",\"optional\":true,\"description\":\"Is a reserved fileref that directs the output that is produced by any PUT statements to the SAS log.\",\"type\":\"standalone\"},{\"name\":\"LRECL=\",\"optional\":true,\"description\":\"Specifies the logical record length of the output file.\",\"type\":\"value\"},{\"name\":\"MOD\",\"optional\":true,\"description\":\"Writes the output lines after any existing lines in the file.\",\"type\":\"standalone\"},{\"name\":\"N=\",\"optional\":true,\"description\":\"Specifies the number of lines that you want available to the output pointer in the current iteration of the DATA step.\",\"help\":\"N=&lt;*n*&gt; | PAGESIZE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"n\",\"placeholder\":true,\"description\":\"Specifies the number of lines that are available to the output pointer. Replace n with an integer.\",\"type\":\"value\"},{\"name\":\"PAGESIZE\",\"aliases\":[\"PS\"],\"description\":\"Specifies that the entire page is available to the output pointer.\",\"type\":\"standalone\"}]},{\"name\":\"NOFOOTNOTES\",\"optional\":true,\"aliases\":[\"NOFOOTNOTE\"],\"description\":\"Specifies that the currently defined footnotes are not printed.\",\"type\":\"standalone\"},{\"name\":\"NOPAD\",\"optional\":true,\"description\":\"Specifies that records written to an external file are not padded with blanks to the length that is specified in the LRECL= option.\",\"type\":\"standalone\"},{\"name\":\"NOPRINT\",\"optional\":true,\"description\":\"Specifies that carriage-control characters are placed in the output lines.\",\"type\":\"standalone\"},{\"name\":\"NOTITLES\",\"optional\":true,\"aliases\":[\"NOTITLE\"],\"description\":\"Specifies that the current title lines are not printed on the pages of files.\",\"type\":\"standalone\"},{\"name\":\"ODS=\",\"optional\":true,\"description\":\"Specifies to use the Output Delivery System to format the output from a DATA step.\",\"type\":\"value\"},{\"name\":\"OLD\",\"optional\":true,\"description\":\"Replaces the previous contents of the file.\",\"type\":\"standalone\"},{\"name\":\"PAD\",\"optional\":true,\"description\":\"Specifies that records written to an external file are padded with blanks to the length that is specified in the LRECL= option.\",\"type\":\"standalone\"},{\"name\":\"PAGESIZE=\",\"optional\":true,\"aliases\":[\"PS=\"],\"description\":\"Sets the number of lines per page for your reports.\",\"help\":\"PAGESIZE=*value*\",\"type\":\"value\"},{\"name\":\"PIPE\",\"optional\":true,\"description\":\"[device-type] Specifies an unnamed pipe. Note: Some operating environments do not support pipes.\",\"type\":\"standalone\"},{\"name\":\"PLOTTER\",\"optional\":true,\"description\":\"[device-type] Specifies an unbuffered graphics output device.\",\"type\":\"standalone\"},{\"name\":\"PRINT\",\"optional\":true,\"description\":\"Either a reserved fileref that directs the output that is produced by any PUT statements to the same file as the output that is produced by SAS procedures, or an option that specifies that carriage-control characters are placed in the output lines.\",\"type\":\"standalone\"},{\"name\":\"PRINTER\",\"optional\":true,\"description\":\"[device-type] Specifies a printer or printer spool file.\",\"type\":\"standalone\"},{\"name\":\"RECFM=\",\"optional\":true,\"description\":\"Specifies the record format of the output file.\",\"type\":\"value\"},{\"name\":\"STOPOVER\",\"optional\":true,\"description\":\"Stops processing the DATA step immediately if a PUT statement attempts to write a data item that exceeds the current line length.\",\"type\":\"standalone\"},{\"name\":\"TAPE\",\"optional\":true,\"description\":\"[device-type] Specifies a tape drive.\",\"type\":\"standalone\"},{\"name\":\"TEMP\",\"optional\":true,\"description\":\"[device-type] Creates a temporary file that exists only as long as the filename is assigned. Restriction: Do not specify a physical pathname. If you do, SAS returns an error.\",\"type\":\"standalone\"},{\"name\":\"TERMINAL\",\"optional\":true,\"description\":\"[device-type] Specifies the user's terminal.\",\"type\":\"standalone\"},{\"name\":\"TITLES\",\"optional\":true,\"aliases\":[\"TITLE\"],\"description\":\"Specifies that the current title lines are printed on the pages of files.\",\"type\":\"standalone\"},{\"name\":\"UPRINTER\",\"optional\":true,\"description\":\"[device-type] Specifies a Universal Printing printer definition name.\",\"type\":\"standalone\"},{\"name\":\"_FILE_=\",\"optional\":true,\"description\":\"StatementOptionNames a character variable that references the current output buffer of this FILE statement.\",\"help\":\"_FILE_=*variable*\",\"type\":\"value\"}]},{\"name\":\"FORMAT\",\"description\":\"Associates formats with variables.\",\"help\":\"FORMAT &lt;DEFAULT=default-format&gt;\",\"arguments\":[{\"name\":\"DEFAULT=\",\"optional\":true,\"description\":\"Specifies a temporary default format for displaying the values of variables that are not listed in the FORMAT statement.\",\"help\":\"DEFAULT=*default-format*\",\"type\":\"value\"}]},{\"name\":\"FUNCTION\",\"description\":\"Specifies a subroutine declaration for a routine that returns a value.\",\"help\":\"FUNCTION &lt;KIND= | GROUP='string'&gt;&lt;VARARGS&gt;\",\"arguments\":[{\"name\":\"KIND=\",\"optional\":true,\"aliases\":[\"GROUP=\"],\"description\":\"Specifies a collection of items that have specific attributes.\",\"type\":\"value\"},{\"name\":\"VARARGS\",\"optional\":true,\"description\":\"Specifies that the function supports a variable number of arguments. If you specify VARARGS, then the last argument in the function must be an array.\",\"type\":\"standalone\"}]},{\"name\":\"GOTO\",\"aliases\":[\"GO TO\"],\"description\":\"Jumps to a new statement.\",\"help\":\"GOTO label\"},{\"name\":\"ID\",\"description\":\"The ID statement names a numeric variable that identifies the temporal order (time sequence) of observations in the input and output tables. The values of variables are assumed to be SAS date, SAS datetime, or observation values. In addition, the ID statement specifies the frequency to be associated with the time series. The ID statement options also specify a global treatment for how the time series variables are accumulated from the BY group’s rows and how the time ID values are aligned to form the time series. The specified information affects all variables that are specified in subsequent VAR statements. The ID statement and the INTERVAL= option are required to specify the desired accumulation frequency.\",\"help\":\"ID &lt;ACCUMULATE=&lt;NONE | TOTAL | AVERAGE&gt;... &gt;&lt;ALIGN=&lt;BEGINNING | MIDDLE | ENDING&gt;&gt; INTERVAL=DAY|HOUR|MINUTE...  ...\",\"arguments\":[{\"name\":\"INTERVAL=\",\"description\":\"Specifies the frequency of the accumulated time series. For example, if the input table consists of quarterly observations, then specify INTERVAL=QTR. Interval names are constructed from a basic interval type with an optional multiplier and shift. The general form of an interval name is as follows:\",\"help\":\"INTERVAL=DAY | HOUR | MINUTE | SECOND | WEEK | MONTH | YEAR | QTR | TENDAY | SEMIMONTH | SEMIYEAR | WEEKDAY | YEARV | R445YR | R454YR | R544YR | R445QTR | R454QTR | R544QTR | R445MON | R454MON | R544MON | WEEKV*interval*\",\"type\":\"value\",\"arguments\":[{\"name\":\"DAY\",\"description\":\"Specifies daily intervals. Abbreviations are DAY, DAYS, and DAILY. The starting subperiod s is in days (DAY).\",\"type\":\"standalone\"},{\"name\":\"HOUR\",\"description\":\"Specifies hourly intervals. Aliases are HOUR, DTHOUR, HOURS, DTHOURS, HOURLY, DTHOURLY, HR, and DTHR. The starting subperiod s is in hours (HOUR).\",\"type\":\"standalone\"},{\"name\":\"MINUTE\",\"description\":\"Specifies minute intervals. Aliases are MINUTE, DTMINUTE, MINUTES, DTMINUTES, MIN, and DTMIN. The starting subperiod s is in minutes (MINUTE).\",\"type\":\"standalone\"},{\"name\":\"SECOND\",\"description\":\"Specifies second intervals. Aliases are SECOND, DTSECOND, SECONDS, DTSECONDS, SEC and DTSEC. The starting subperiod s is in seconds (SECOND).\",\"type\":\"standalone\"},{\"name\":\"WEEK\",\"description\":\"Specifies weekly intervals of seven days. Abbreviations are WEEK, WEEKS, and WEEKLY. The starting subperiod s is in days (DAY), with the days of the week numbered as 1=Sunday, 2=Monday, 3=Tuesday, 4=Wednesday, 5=Thursday, 6=Friday, and 7=Saturday. For example, WEEK.7 means weekly with Saturday as the first day of the week.\",\"type\":\"standalone\"},{\"name\":\"MONTH\",\"description\":\"Specifies monthly intervals. Abbreviations are MONTH, MONTHS, MONTHLY, and MON. The starting subperiod s is in months (MONTH). For example, MONTH2.2 intervals are February– March, April–May, June–July, August–September, October–November, and December–January of the following year.\",\"type\":\"standalone\"},{\"name\":\"YEAR\",\"description\":\"Specifies yearly intervals. Abbreviations are YEAR, YEARS, YEARLY, YR, ANNUAL, A NNUALLY, and ANNUALS. The starting subperiod s is in months (MONTH).\",\"type\":\"standalone\"},{\"name\":\"QTR\",\"description\":\"Specifies quarterly intervals (every three months). Abbreviations are QTR, QUARTER, QUARTERS, QUARTERLY, QTRLY, and QTRS. The starting subperiod s is in months (MONTH).\",\"type\":\"standalone\"},{\"name\":\"TENDAY\",\"description\":\"Specifies 10-day intervals. TENDAY breaks the month into three periods, the 1st through the 10th day of the month, the th through the th day of the month, and the remainder of the month. (TENDAY is a special interval typically used for reporting automobile sales data.) The starting subperiod s is in TENDAY periods.\",\"type\":\"standalone\"},{\"name\":\"SEMIMONTH\",\"description\":\"Specifies semimonthly intervals. SEMIMONTH breaks each month into two periods, starting on the st and th days. Abbreviations are SEMIMONTH, SEMIMONTHS, SEMIMONTHLY, and SEMIMON. The starting subperiod s is in SEMIMONTH periods.\",\"type\":\"standalone\"},{\"name\":\"SEMIYEAR\",\"description\":\"Specifies semiannual intervals (every six months). Abbreviations are SEMIYEAR, SEMIYEARS, SEMIYEARLY, SEMIYR, SEMIANNUAL, and SEMIANN. The starting subperiod s is in months (MONTH).\",\"type\":\"standalone\"},{\"name\":\"WEEKDAY\",\"description\":\"Specifies daily intervals with weekend days included in the preceding weekday. Note that for a five-day work week that starts on Monday, the appropriate interval is WEEKDAY5.2. Abbreviations are WEEKDAY and WEEKDAYS. The starting subperiod s is in weekdays (WEEKDAY).\",\"type\":\"standalone\"},{\"name\":\"YEARV\",\"description\":\"Specifies ISO 8601 yearly intervals. The ISO 8601 year starts on the Monday on or immediately preceding January th. Note that it is possible for the ISO 8601 year to start in December of the preceding year. Also, some ISO 8601 years contain a leap week.\",\"type\":\"standalone\"},{\"name\":\"R445YR\",\"description\":\"Is the same as YEARV except that the starting subperiod s is in retail 4-4-5 months (R445MON).\",\"type\":\"standalone\"},{\"name\":\"R454YR\",\"description\":\"Is the same as YEARV except that the starting subperiod s is in retail 4-5-4 months (R454MON).\",\"type\":\"standalone\"},{\"name\":\"R544YR\",\"description\":\"Is the same as YEARV except that the starting subperiod s is in retail 5-4-4 months (R544MON).\",\"type\":\"standalone\"},{\"name\":\"R445QTR\",\"description\":\"Specifies retail 4-4-5 quarterly intervals (every 13 ISO 8601 weeks). Some fourth quarters contain a leap week. The starting subperiod s is in retail 4-4-5 months (R445MON).\",\"type\":\"standalone\"},{\"name\":\"R454QTR\",\"description\":\"Specifies retail 4-5-4 quarterly intervals (every 13 ISO 8601 weeks). Some fourth quarters contain a leap week.\",\"type\":\"standalone\"},{\"name\":\"R544QTR\",\"description\":\"Specifies retail 5-4-4 quarterly intervals (every 13 ISO 8601 weeks). Some fourth quarters contain a leap week. The starting subperiod s is in retail 5-4-4 months (R544MON).\",\"type\":\"standalone\"},{\"name\":\"R445MON\",\"description\":\"Specifies retail 4-4-5 monthly intervals. The 3rd, 6th, 9th, and 12th months are five ISO 8601 weeks long with the exception that some th months contain leap weeks. All other months are four ISO 8601 weeks long. R445MON intervals begin with the 1st, 5th, 9th, 14th, 18th, 22nd, 27th, 31st, 35th, 40th, 44th, and 48th weeks of the ISO year. The starting subperiod s is in retail 4-4-5 months (R445MON).\",\"type\":\"standalone\"},{\"name\":\"R454MON\",\"description\":\"Specifies retail 4-5-4 monthly intervals. The 2nd, 5th, 8th, and 11th months are five ISO 8601 weeks long. All other months are four ISO 8601 weeks long with the exception that some 12th months contain leap weeks. R454MON intervals begin with the 1st, 5th, 10th, 14th, 18th, 23rd, 27th, 31st, 36th, 40th, 44th, and 49th weeks of the ISO year.\",\"type\":\"standalone\"},{\"name\":\"R544MON\",\"description\":\"Specifies retail 5-4-4 monthly intervals. The 1st, 4th, 7th, and 10th months are five ISO 8601 weeks long. All other months are four ISO 8601 weeks long with the exception that some th months contain leap weeks. R544MON intervals begin with the 1st, 6th, 10th, 14th, 19th, 23rd, 27th, 32nd, 36th, 40th, 45th, and 49th weeks of the ISO year. The starting subperiod s is in retail 5-4-4 months (R544MON).\",\"type\":\"standalone\"},{\"name\":\"WEEKV\",\"description\":\"Specifies ISO 8601 weekly intervals of seven days. Each week starts on Monday. The starting subperiod s is in days (DAY). Note that WEEKV differs from WEEK in that WEEKV.1 starts on Monday, WEEKV.2 starts on Tuesday, and so forth.\",\"type\":\"standalone\"}]},{\"name\":\"ACCUMULATE=\",\"optional\":true,\"description\":\"Specifies how the data set observations are accumulated within each time period. The frequency (width of each time interval) is specified by the INTERVAL= option.\",\"help\":\"ACCUMULATE=NONE | TOTAL | AVERAGE | MINIMUM | MEDIAN | MAXIMUM | N | NMISS | NOBS | FIRST | LAST | STDDEV | CSS | USS\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NONE\",\"description\":\"No accumulation occurs; the ID variable values must be equally spaced with respect to the frequency. This is the default option.\",\"type\":\"standalone\"},{\"name\":\"TOTAL\",\"description\":\"Observations are accumulated based on the total sum of their values.\",\"type\":\"standalone\"},{\"name\":\"AVERAGE\",\"description\":\"Observations are accumulated based on the average of their values.\",\"type\":\"standalone\"},{\"name\":\"MINIMUM\",\"description\":\"Observations are accumulated based on the minimum of their values.\",\"type\":\"standalone\"},{\"name\":\"MEDIAN\",\"description\":\"Observations are accumulated based on the median of their values.\",\"type\":\"standalone\"},{\"name\":\"MAXIMUM\",\"description\":\"Observations are accumulated based on the maximum of their values.\",\"type\":\"standalone\"},{\"name\":\"N\",\"description\":\"Observations are accumulated based on the number of nonmissing observations.\",\"type\":\"standalone\"},{\"name\":\"NMISS\",\"description\":\"Observations are accumulated based on the number of missing observations.\",\"type\":\"standalone\"},{\"name\":\"NOBS\",\"description\":\"Observations are accumulated based on the number of observations.\",\"type\":\"standalone\"},{\"name\":\"FIRST\",\"description\":\"Observations are accumulated based on the first of their values.\",\"type\":\"standalone\"},{\"name\":\"LAST\",\"description\":\"Observations are accumulated based on the last of their values.\",\"type\":\"standalone\"},{\"name\":\"STDDEV\",\"description\":\"Observations are accumulated based on the standard deviation of their values.\",\"type\":\"standalone\"},{\"name\":\"CSS\",\"description\":\"Observations are accumulated based on the corrected sum of squares of their values.\",\"type\":\"standalone\"},{\"name\":\"USS\",\"description\":\"Observations are accumulated based on the uncorrected sum of squares of their values.\",\"type\":\"standalone\"}]},{\"name\":\"ALIGN=\",\"optional\":true,\"description\":\"Controls the alignment of SAS date or datetime values that are used to identify the time period of output observations.\",\"help\":\"ALIGN=BEGINNING | MIDDLE | ENDING\",\"type\":\"choice\",\"arguments\":[{\"name\":\"BEGINNING\",\"description\":\"Represents each time period using the beginning SAS date or datetime value of the time period.\",\"type\":\"standalone\"},{\"name\":\"MIDDLE\",\"description\":\"Represents each time period using the middle SAS date or datetime value of the time period. he middle is calculated as the average of the beginning and ending values.\",\"type\":\"standalone\"},{\"name\":\"ENDING\",\"description\":\"Represents each time period using the ending SAS date or datetime value of the time period.\",\"type\":\"standalone\"}]},{\"name\":\"END=\",\"optional\":true,\"description\":\"Specifies a SAS date or datetime value that represents the end of the data. If the last time ID variable value is less than value, then the series is extended with missing values. If the last time ID variable value is greater than value, then the series is truncated. For example, END=\\\"&sysdate\\\"D uses the automatic macro variable SYSDATE to extend or truncate the series to the current date. You can specify the START= and END= options to ensure that the data that are associated within each BY group contain the same number of observations.\",\"help\":\"END=*value*\",\"type\":\"value\"},{\"name\":\"FORMAT=\",\"optional\":true,\"description\":\"Specifies the SAS format for the time ID values. If this option is not specified, the default format is inferred from the INTERVAL= option.\",\"help\":\"FORMAT=*format*\",\"type\":\"value\"},{\"name\":\"SETMISSING=\",\"optional\":true,\"aliases\":[\"SETMISS=\"],\"description\":\"Specifies how to interpret missing values (either input or accumulated) in the accumulated time series.\",\"help\":\"SETMISSING=MISSING | AVERAGE | MINIMUM | MEDIAN | MAXIMUM | FIRST | LAST | PREVIOUS | NEXT | n\",\"type\":\"choice\",\"arguments\":[{\"name\":\"MISSING\",\"description\":\"Missing values are set to missing. This is the default option.\",\"type\":\"standalone\"},{\"name\":\"AVERAGE\",\"description\":\"Missing values are set to the accumulated average value.\",\"type\":\"standalone\"},{\"name\":\"MINIMUM\",\"description\":\"Missing values are set to the accumulated minimum value.\",\"type\":\"standalone\"},{\"name\":\"MEDIAN\",\"description\":\"Missing values are set to the accumulated median value.\",\"type\":\"standalone\"},{\"name\":\"MAXIMUM\",\"description\":\"Missing values are set to the accumulated maximum value.\",\"type\":\"standalone\"},{\"name\":\"FIRST\",\"description\":\"Missing values are set to the accumulated first nonmissing value.\",\"type\":\"standalone\"},{\"name\":\"LAST\",\"description\":\"Missing values are set to the accumulated last nonmissing value.\",\"type\":\"standalone\"},{\"name\":\"PREVIOUS\",\"description\":\"Missing values are set to the previous accumulated nonmissing value. Missing values at the beginning of the accumulated series remain missing.\",\"type\":\"standalone\"},{\"name\":\"NEXT\",\"description\":\"Missing values are set to the next accumulated nonmissing value. Missing values at the end of the accumulated series remain missing.\",\"type\":\"standalone\"},{\"name\":\"n\",\"description\":\"Interprets a missing value as having the value n.\",\"type\":\"standalone\"}]},{\"name\":\"START=\",\"optional\":true,\"description\":\"Specifies a SAS date or datetime value that represents the beginning of the data.\",\"help\":\"START=*value*\",\"type\":\"value\"},{\"name\":\"TRIMID=\",\"optional\":true,\"description\":\"Specifies the method for trimming the data in the BY groups when time series vectors are input to the user-defined program. The output time ID variable span that is calculated by the method is dependent on the input time ID variable span, irrespective of missing values of the time series variables. Depending on the method and the input time ID variable data, leading or trailing missing values can be added to the time series variables.\",\"help\":\"TRIMID=NONE | LEFT | RIGHT | BOTH*method*\",\"type\":\"value\",\"arguments\":[{\"name\":\"NONE\",\"description\":\"Uses the same starting and ending values of the output time ID variable for all BY groups.\",\"type\":\"standalone\"},{\"name\":\"LEFT\",\"description\":\"Uses the identifying date for the first time period that is input for the BY group as the starting value of the output time ID variable for each BY group.\",\"type\":\"standalone\"},{\"name\":\"RIGHT\",\"description\":\"Uses the identifying date for the last time period that is input for the BY group as the ending value of the output time ID variable for each BY group.\",\"type\":\"standalone\"},{\"name\":\"BOTH\",\"description\":\"Uses the span of the input time ID variable for the BY group as the span of the output time ID variable for each BY group.\",\"type\":\"standalone\"}]}]},{\"name\":\"IF\",\"description\":\"Continues processing only those observations that meet the condition of the specified expression.\",\"help\":\"IF &lt;DO&gt;&lt;NOT&gt;&lt;THEN&gt; ...\",\"arguments\":[{\"name\":\"AND\",\"optional\":true,\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"DO\",\"optional\":true,\"description\":\"DO statement in an IF-THEN construct.\",\"type\":\"standalone\"},{\"name\":\"NOT\",\"optional\":true,\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"OR\",\"optional\":true,\"description\":\"\",\"type\":\"standalone\"},{\"name\":\"THEN\",\"optional\":true,\"description\":\"If the conditions that are specified in the IF clause are met, the IF-THEN statement executes a SAS statement for observations that are read from a SAS data set, for records in an external file, or for computed values.\",\"type\":\"standalone\"}]},{\"name\":\"INFORMAT\",\"description\":\"Associates informats with variables.\",\"help\":\"INFORMAT &lt;DEFAULT= default-informat&gt;\",\"arguments\":[{\"name\":\"DEFAULT=\",\"optional\":true,\"description\":\"Specifies a temporary default informat for reading values of the variables that are listed in the INFORMAT statement. If no variable is specified, then the DEFAULT= informat specification applies a temporary default informat for reading values of all the variables of that type included in the DATA step. Numeric informats are applied to numeric variables, and character informats are applied to character variables. These default informats apply only to the current DATA step.\",\"type\":\"value\"}]},{\"name\":\"INSCALARS\",\"aliases\":[\"INSCALAR\"],\"description\":\"The INSCALARS statement specifies which scalar variables to automatically include for your program to use. These variables can be numeric or character. Each variable that you name in an INSCALARS statement must be defined in the table specified in the INSCALAR= option in the PROC TSMODEL statement. You must specify at least one INSCALARS statement if you specify the INSCALAR= option in the PROC TSMODEL statement. You can specify multiple INSCALARS statements.\",\"help\":\"INSCALARS scalar-name-list; | INSCALAR scalar-name-list\"},{\"name\":\"KEEP\",\"description\":\"Specifies the variables to include in output SAS data sets.\",\"help\":\"KEEP variable-list\"},{\"name\":\"KILLTASK\",\"description\":\"For asynchronous tasks, forces one or more active tasks or server sessions to terminate immediately.\",\"help\":\"KILLTASK _ALL_ |task1...taskn \"},{\"name\":\"LABEL\",\"description\":\"Specifies a label of up to 256 characters.\",\"help\":\"LABEL variable='label'\"},{\"name\":\"LEAVE\",\"description\":\"Stops processing the current loop and resumes with the next statement in the sequence.\",\"help\":\"LEAVE\"},{\"name\":\"LENGTH\",\"description\":\"Specifies the number of bytes for storing variables.\",\"help\":\"LENGTH &lt;DEFAULT=n&gt;\",\"arguments\":[{\"name\":\"DEFAULT=\",\"optional\":true,\"description\":\"Changes the default number of bytes that SAS uses to store the values of any newly created numeric variables.\",\"help\":\"DEFAULT=*n*\",\"type\":\"value\"}]},{\"name\":\"LINK\",\"description\":\"Directs program execution immediately to the statement label that is specified and, if followed by a RETURN statement, returns execution to the statement that follows the LINK statement.\",\"help\":\"LINK label\"},{\"name\":\"LIST\",\"description\":\"Writes to the SAS log the input data record for the observation that is being processed.\",\"help\":\"LIST\"},{\"name\":\"LISTFUNC\",\"description\":\"Causes the source code for a function to be written to the SAS listing. Required Argument: function-name specifies the name of the function for which source code is written to the SAS listing.\",\"help\":\"LISTFUNC function-name\"},{\"name\":\"LISTSUBR\",\"description\":\"Causes the source code for a subroutine to be written to the SAS listing. Required Argument: subroutine-name specifies the name of the subroutine for which source code is written to the SAS listing.\",\"help\":\"LISTSUBR subroutine-name\"},{\"name\":\"LISTTASK\",\"description\":\"Lists all active connections or tasks and identifies the execution status of each connection or task.\",\"help\":\"LISTTASK &lt;_ALL_|task&gt; \"},{\"name\":\"LOSTCARD\",\"description\":\"Resynchronizes the input data when SAS encounters a missing or invalid record in data that has multiple records per observation.\",\"help\":\"LOSTCARD\"},{\"name\":\"OTHERWISE\",\"description\":\"Specifies a statement to be executed if no WHEN condition is met.\",\"help\":\"\"},{\"name\":\"OUTARGS\",\"description\":\"Specifies arguments from the argument list that the subroutine should update.\",\"help\":\"OUTARGS out-argument-1, ..., out-argument-n\"},{\"name\":\"OUTARRAYS\",\"aliases\":[\"OUTARRAY\"],\"description\":\"The OUTARRAYS statement specifies a list of array names; each name specifies a numeric output array variable to be stored in the table that is specified in the OUTARRAY= option in the PROC TSMODEL statement. You can specify multiple OUTARRAYS statements.\",\"help\":\"OUTARRAYS array-name-list; | OUTARRAY array-name-list\"},{\"name\":\"OUTPUT\",\"description\":\"Writes the current observation to a SAS data set.\",\"help\":\"OUTPUT&lt;data-set-name(s)&gt;\"},{\"name\":\"OUTSCALARS\",\"aliases\":[\"OUTSCALAR\"],\"description\":\"The OUTSCALARS statement specifies a list of scalar names; each name specifies a numeric or character output scalar variable to be stored in the table that is specified in the OUTSCALAR= option in the PROC TSMODEL statement. You can specify multiple OUTSCALARS statements.\",\"help\":\"OUTSCALARS scalar-name-list; | OUTSCALAR scalar-name-list\"},{\"name\":\"PRINT\",\"description\":\"The PRINT statement allows you to display results that are saved to CAS tables that you specify in the PROC TSMODEL statement options. You can include multiple PRINT statements in your PROC TSMODEL statement block. Each PRINT statement is processed independently in the order that you specify them.\",\"help\":\"PRINT &lt;OUTLOG&gt;&lt;WHERE where-clause&gt;&gt;\",\"arguments\":[{\"name\":\"OUTLOG\",\"optional\":true,\"description\":\"Displays information from the OUTLOG= table to the SAS LOG.\",\"type\":\"standalone\"},{\"name\":\"WHERE\",\"optional\":true,\"description\":\"You can specify an optional WHERE clause to select the rows from the OUTLOG table that you want to print. The WHERE clause must reference columns of the OUTLOG= table.\",\"type\":\"standalone\"}]},{\"name\":\"PUT\",\"description\":\"Writes lines to the SAS log, to the SAS output window, or to an external location that is specified in the most recent FILE statement.\",\"help\":\"PUT &lt;_ALL_&gt;&lt;_INFILE_&gt;&lt;_ODS_&gt; ...\",\"arguments\":[{\"name\":\"OVERPRINT\",\"optional\":true,\"description\":\"Causes the values that follow the keyword OVERPRINT to print on the most recently written output line.\",\"type\":\"standalone\"},{\"name\":\"_ALL_\",\"optional\":true,\"description\":\"Writes the values of all variables, which includes automatic variables, that are defined in the current DATA step by using named output.\",\"type\":\"standalone\"},{\"name\":\"_BLANKPAGE_\",\"optional\":true,\"description\":\"Advances the pointer to the first line of a new page, even when the pointer is positioned on the first line and the first column of a new page.\",\"type\":\"standalone\"},{\"name\":\"_INFILE_\",\"optional\":true,\"description\":\"Writes the last input data record that is read either from the current input file or from the data lines that follow a DATELINES statement.\",\"type\":\"standalone\"},{\"name\":\"_ODS_\",\"optional\":true,\"description\":\"Moves data values for all columns (as defined by the ODS option in the FILE statement) into a special buffer, from which it is eventually written to the data component. The ODS option in the FILE statement defines the structure of the data component that holds the results of the DATA step.\",\"type\":\"standalone\"},{\"name\":\"_PAGE_\",\"optional\":true,\"description\":\"Advances the pointer to the first line of a new page. SAS automatically begins a new page when a line exceeds the current PAGESIZE= value.\",\"type\":\"standalone\"}]},{\"name\":\"PUTLOG\",\"description\":\"Writes a message to the SAS log.\",\"help\":\"PUTLOG 'message'\"},{\"name\":\"RDISPLAY\",\"description\":\"Creates a Log window to display the lines from the log and an Output window to list the output generated from the execution of the statements within an asynchronous RSUBMIT block.\",\"help\":\"RDISPLAY &lt;&lt;CONNECTREMOTE=&gt;server-ID &gt;\"},{\"name\":\"REDIRECT\",\"description\":\"Points to different input or output SAS data sets when you execute a stored program.\",\"help\":\"REDIRECT INPUT OUTPUT \",\"arguments\":[{\"name\":\"INPUT\",\"description\":\"Specifies to redirect input data sets.\",\"type\":\"standalone\"},{\"name\":\"OUTPUT\",\"description\":\"Specifies to redirect output data sets.\",\"type\":\"standalone\"}]},{\"name\":\"REMOVE\",\"description\":\"Deletes an observation from a SAS data set.\",\"help\":\"REMOVE &lt;data-set-name(s)&gt;\"},{\"name\":\"RENAME\",\"description\":\"Specifies new names for variables in output SAS data sets.\",\"help\":\"RENAME old-name-1=new-name-1 ... &lt;old-name-n=new-name-n&gt;\"},{\"name\":\"REPLACE\",\"description\":\"Replaces an observation in the same location.\",\"help\":\"REPLACE &lt;data-set-name-1&gt;&lt;...data-set-name-n&gt;\"},{\"name\":\"REQUIRE\",\"description\":\"The REQUIRE statement specifies which time series and time frequency analysis packages to make available for your user-defined program. These packages include functions, subroutines, and objects that you can utilize from your program to perform sophisticated time series processing. These packages provide functionality that ranges from a simple function to count missing observations in an array to very sophisticated objects that perform automatic time series modeling and forecasting.\",\"help\":\"REQUIRE package-1 &lt;package-2 ... package-n&gt;;REQUIRE package (class-1 ...class-n)\"},{\"name\":\"RETAIN\",\"description\":\"Causes a variable that is created by an INPUT or assignment statement to retain its value from one iteration of the DATA step to the next.\",\"help\":\"RETAIN &lt;element-list(s) &lt;initial-value(s) |\"},{\"name\":\"RETURN\",\"description\":\"(1) RETURN; Stops executing statements at the current point in the DATA step and returns to a predetermined point in the step. (2) RETURN (expression); Statement within a FUNCTION-ENDSUB block.\",\"help\":\"\"},{\"name\":\"RGET\",\"description\":\"Retrieves the log and output that are created by an asynchronous RSUBMIT and merges them into the Log and Output windows of the client session.\",\"help\":\"RGET &lt;&lt;CONNECTREMOTE=&gt;server-ID&gt;\"},{\"name\":\"RSUBMIT\",\"description\":\"Marks the beginning of a block of statements that a client session submits to a server session for execution.\",\"help\":\"RSUBMIT &lt;options&gt;; ENDRSUBMIT &lt;CANCEL&gt;\"},{\"name\":\"SELECT\",\"description\":\"Executes one of several statements or groups of statements.\",\"help\":\"\"},{\"name\":\"SIGNOFF\",\"description\":\"Ends the connection between a client session and a server session.\",\"help\":\"SIGNOFF &lt;options&gt;\"},{\"name\":\"SIGNON\",\"description\":\"Initiates a connection between a client session and a server session.\",\"help\":\"SIGNON &lt;options&gt; \"},{\"name\":\"STOP\",\"description\":\"Stops execution of the current DATA step.\",\"help\":\"STOP\"},{\"name\":\"STRUCT\",\"description\":\"Declares (creates) structure types that are defined in C-Language packages.\",\"help\":\"STRUCT structure-name variable\"},{\"name\":\"SUBMIT\",\"description\":\"The SUBMIT statement indicates the start of your user-defined program statements or specifies the location of a file that contains your user-defined program statements.\",\"help\":\"SUBMIT &lt;DYNAMICS=(var-1=[number | \\\"string\\\"] &lt;var-2=[number | \\\"string\\\"]...&gt;)&gt;&lt;FILE=SAS-file-ref | 'File-path'&gt;\",\"arguments\":[{\"name\":\"DYNAMICS=\",\"optional\":true,\"description\":\"Defines variables (constants) outside of the scope of the submitted code. These variables function as global arguments to the submitted code.\",\"type\":\"value\"},{\"name\":\"FILE=\",\"optional\":true,\"description\":\"Specifies a file that contains your user-defined program. If you specify this option, you must not specify the ENDSUBMIT statement.\",\"type\":\"value\"}]},{\"name\":\"SUBROUTINE\",\"description\":\"Declares (creates) an independent computational block of code that you can call using a CALL statement.\",\"help\":\"SUBROUTINE &lt;KIND= | GROUP='string'&gt;&lt;OUTARGS&gt;&lt;VARARGS&gt; ...\",\"arguments\":[{\"name\":\"KIND=\",\"optional\":true,\"aliases\":[\"GROUP=\"],\"description\":\"Specifies a collection of items that have specific attributes.\",\"type\":\"value\"},{\"name\":\"OUTARGS\",\"optional\":true,\"description\":\"Specifies arguments from the argument list that the subroutine should update.\",\"type\":\"standalone\"},{\"name\":\"VARARGS\",\"optional\":true,\"description\":\"Specifies that the subroutine has a variable argument length. In this case, the last argument must be an array. The array accepts the variable arguments.\",\"type\":\"standalone\"}]},{\"name\":\"SYSTASK\",\"description\":\"Executes, lists, or terminates asynchronous tasks.\",\"help\":\"SYSTASK COMMAND \\\"operating system command\\\"\"},{\"name\":\"VAR\",\"description\":\"The VAR statement lists the numeric variables in the DATA= table or AUXDATA= tables whose values are to be accumulated to form the time series.\",\"help\":\"VAR &lt;ACCUMULATE=&lt;NONE | TOTAL | AVERAGE&gt;... &gt;&lt;SETMISSING=&lt;MISSING | AVERAGE | MINIMUM&gt;... &gt;\",\"arguments\":[{\"name\":\"ACCUMULATE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies how to accumulate the table observations within each time period for the variables in the variable-list. If you do not specify this option, accumulation is determined by the ACCUMULATE= option in the ID statement.\",\"help\":\"ACCUMULATE=NONE | TOTAL | AVERAGE | MINIMUM | MEDIAN | MAXIMUM | N | NMISS | NOBS | FIRST | LAST | STDDEV | CSS | USS\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NONE\",\"followsDelimiter\":\"/\",\"description\":\"No accumulation occurs; the ID variable values must be equally spaced with respect to the frequency. This is the default option.\",\"type\":\"standalone\"},{\"name\":\"TOTAL\",\"followsDelimiter\":\"/\",\"description\":\"Observations are accumulated based on the total sum of their values.\",\"type\":\"standalone\"},{\"name\":\"AVERAGE\",\"followsDelimiter\":\"/\",\"description\":\"Observations are accumulated based on the average of their values.\",\"type\":\"standalone\"},{\"name\":\"MINIMUM\",\"followsDelimiter\":\"/\",\"description\":\"Observations are accumulated based on the minimum of their values.\",\"type\":\"standalone\"},{\"name\":\"MEDIAN\",\"followsDelimiter\":\"/\",\"description\":\"Observations are accumulated based on the median of their values.\",\"type\":\"standalone\"},{\"name\":\"MAXIMUM\",\"followsDelimiter\":\"/\",\"description\":\"Observations are accumulated based on the maximum of their values.\",\"type\":\"standalone\"},{\"name\":\"N\",\"followsDelimiter\":\"/\",\"description\":\"Observations are accumulated based on the number of nonmissing observations.\",\"type\":\"standalone\"},{\"name\":\"NMISS\",\"followsDelimiter\":\"/\",\"description\":\"Observations are accumulated based on the number of missing observations.\",\"type\":\"standalone\"},{\"name\":\"NOBS\",\"followsDelimiter\":\"/\",\"description\":\"Observations are accumulated based on the number of observations.\",\"type\":\"standalone\"},{\"name\":\"FIRST\",\"followsDelimiter\":\"/\",\"description\":\"Observations are accumulated based on the first of their values.\",\"type\":\"standalone\"},{\"name\":\"LAST\",\"followsDelimiter\":\"/\",\"description\":\"Observations are accumulated based on the last of their values.\",\"type\":\"standalone\"},{\"name\":\"STDDEV\",\"followsDelimiter\":\"/\",\"description\":\"Observations are accumulated based on the standard deviation of their values.\",\"type\":\"standalone\"},{\"name\":\"CSS\",\"followsDelimiter\":\"/\",\"description\":\"Observations are accumulated based on the corrected sum of squares of their values.\",\"type\":\"standalone\"},{\"name\":\"USS\",\"followsDelimiter\":\"/\",\"description\":\"Observations are accumulated based on the uncorrected sum of squares of their values.\",\"type\":\"standalone\"}]},{\"name\":\"SETMISSING=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"SETMISS=\"],\"description\":\"Specifies how to interpret missing values (either input or accumulated) in the accumulated time series for variables in the variable-list. If you do not specify this option, missing values are set based on the SETMISSING= option in the ID statement.\",\"help\":\"SETMISSING=MISSING | AVERAGE | MINIMUM | MEDIAN | MAXIMUM | FIRST | LAST | PREVIOUS | NEXT | n\",\"type\":\"choice\",\"arguments\":[{\"name\":\"MISSING\",\"followsDelimiter\":\"/\",\"description\":\"Missing values are set to missing. This is the default option.\",\"type\":\"standalone\"},{\"name\":\"AVERAGE\",\"followsDelimiter\":\"/\",\"description\":\"Missing values are set to the accumulated average value.\",\"type\":\"standalone\"},{\"name\":\"MINIMUM\",\"followsDelimiter\":\"/\",\"description\":\"Missing values are set to the accumulated minimum value.\",\"type\":\"standalone\"},{\"name\":\"MEDIAN\",\"followsDelimiter\":\"/\",\"description\":\"Missing values are set to the accumulated median value.\",\"type\":\"standalone\"},{\"name\":\"MAXIMUM\",\"followsDelimiter\":\"/\",\"description\":\"Missing values are set to the accumulated maximum value.\",\"type\":\"standalone\"},{\"name\":\"FIRST\",\"followsDelimiter\":\"/\",\"description\":\"Missing values are set to the accumulated first nonmissing value.\",\"type\":\"standalone\"},{\"name\":\"LAST\",\"followsDelimiter\":\"/\",\"description\":\"Missing values are set to the accumulated last nonmissing value.\",\"type\":\"standalone\"},{\"name\":\"PREVIOUS\",\"followsDelimiter\":\"/\",\"description\":\"Missing values are set to the previous accumulated nonmissing value. Missing values at the beginning of the accumulated series remain missing.\",\"type\":\"standalone\"},{\"name\":\"NEXT\",\"followsDelimiter\":\"/\",\"description\":\"Missing values are set to the next accumulated nonmissing value. Missing values at the end of the accumulated series remain missing.\",\"type\":\"standalone\"},{\"name\":\"n\",\"followsDelimiter\":\"/\",\"description\":\"Interprets a missing value as having the value n.\",\"type\":\"standalone\"}]}]},{\"name\":\"WAITFOR\",\"description\":\"Suspends execution of the current SAS session until the specified tasks finish executing.\",\"help\":\"WAITFOR&lt;_ANY_ | _ALL_&gt; taskname &lt;taskname...&gt;&lt;TIMEOUT=seconds&gt;\"},{\"name\":\"WHEN\",\"description\":\"Identifies SAS statements that are executed when a particular condition is true.\",\"help\":\"WHEN &lt;DO&gt;\",\"arguments\":[{\"name\":\"DO\",\"optional\":true,\"description\":\"\",\"type\":\"standalone\"}]},{\"name\":\"WHERE\",\"description\":\"Selects observations from SAS data sets that meet a particular condition.\",\"help\":\"WHERE where-expression-1\"}],\"supportSiteInformation\":{\"docsetId\":\"casforecast\",\"docsetVersion\":\"latest\",\"docsetTargetFile\":\"casforecast_tsmodel_toc.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/TSMODREPO.json",
    "content": "{\"name\":\"TSMODREPO\",\"statements\":[{\"name\":\"PROC TSMODREPO\",\"description\":\"invokes the TSMODREPO procedure\",\"help\":\"PROC TSMODREPO  options;                 \\n\\tBY  variables;                 \\n\",\"arguments\":[{\"name\":\"FORCECHAR\",\"optional\":true,\"description\":\"coerces the string columns of the OUTFMSG= data set to constant-length type (that is, CHAR type)\",\"type\":\"standalone\"},{\"name\":\"INEST=\",\"optional\":true,\"description\":\"names the input SAS-data-set that contains the information used to map individual time series to their respective model selection lists\",\"help\":\"INEST=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"MAXERROR=\",\"optional\":true,\"description\":\"limits the number of warning and error messages that PROC TSMODREPO produces during execution to number\",\"help\":\"MAXERROR=*number*\",\"type\":\"value\"},{\"name\":\"OUTFMSG=\",\"optional\":true,\"description\":\"names the output data set, either a SAS data set or a CAS data table\",\"help\":\"OUTFMSG=*libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"OUTPROCINFO=\",\"optional\":true,\"description\":\"names the output data set, either a SAS data set or a CAS data table, that contains information from the SAS log\",\"help\":\"OUTPROCINFO=*libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"REPOSITORY=\",\"optional\":true,\"aliases\":[\"MODELREPOSITORY=\",\"MODELREP=\",\"REP=\"],\"description\":\"names the input SAS-catalog that contains time series modeling information (that is, model selection lists and model specifications)\",\"help\":\"REPOSITORY=*SAS-catalog*\",\"type\":\"dataSet\"},{\"name\":\"VARLEN=\",\"optional\":true,\"description\":\"specifies the maximum byte length number of each of the resulting FMSG XML documents that are stored in the _FMSGSPEC_ column of the OUTFMSG= data set\",\"help\":\"VARLEN=*number*\",\"type\":\"value\"}]},{\"name\":\"BY\",\"description\":\"You can use a BY statement in PROC TSMODREPO to obtain separate analyses for groups of observations that are defined by the variables, which can be either character or numeric\",\"help\":\"BY  variables;                                              \"}],\"supportSiteInformation\":{\"docsetId\":\"casforecast\",\"docsetVersion\":\"latest\",\"docsetTargetFile\":\"casforecast_tsmodrepo_toc.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/TSNE.json",
    "content": "{\"name\":\"TSNE\",\"statements\":[{\"name\":\"PROC TSNE\",\"description\":\"The TSNE procedure implements the t-distributed stochastic neighbor embedding (t-SNE) dimension reduction method in SAS Viya. The t-SNE method is well suited for visualization of high-dimensional data, as well as for feature engineering and preprocessing for subsequent clustering and modeling. PROC TSNE computes a low-dimensional representation, also called an embedding, of high-dimensional data into two or three dimensions. Unlike other dimension reduction methods, such as principal component analysis, t-SNE is appropriate for nonlinear data and emphasizes existing groupings in the data. The method is named t-SNE because it models the pairwise distances in low dimensions according to Student’s t-distribution.\",\"help\":\"PROC TSNE <DATA=CAS-libref.data-table><LEARNINGRATE=number><MAXITERS=number><NDIMENSIONS=number><NOPRINT><NTHREADS=number-of-threads><PERPLEXITY=number>;     \\n\\tDISPLAY <CASESENSITIVE><EXCLUDE><EXCLUDEALL> ...;\\n\\n\\tDISPLAYOUT <INCLUDEALL><NOREPLACE><REPEATED> ...;\\n\\n\\tINPUT variables;\\n\\n\\tOUTPUT <COPYVAR=variable | COPYVARS=(variables)><OUT=CAS-libref.data-table> ;\\n\",\"arguments\":[{\"name\":\"DATA=\",\"optional\":true,\"description\":\"Names the input data table for PROC TSNE to use. The default is the most recently created data table. CAS-libref.data-table is a two-level name, where\",\"help\":\"DATA=*CAS-libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"LEARNINGRATE=\",\"optional\":true,\"description\":\"Specifies the learning rate for the gradient descent optimization, where number is a positive real number. The learning rate controls the amount by which the embeddings are updated at each iteration.\",\"help\":\"LEARNINGRATE=*number*\",\"type\":\"value\"},{\"name\":\"MAXITERS=\",\"optional\":true,\"description\":\"Specifies the maximum number of iterations for the algorithm to perform, where number is an integer greater than or equal to 1.\",\"help\":\"MAXITERS=*number*\",\"type\":\"value\"},{\"name\":\"NDIMENSIONS=\",\"optional\":true,\"description\":\"Specifies the number of dimensions to return, where number is either 2 or 3.\",\"help\":\"NDIMENSIONS=*number*\",\"type\":\"value\"},{\"name\":\"NOPRINT\",\"optional\":true,\"description\":\"Suppresses ODS output.\",\"type\":\"standalone\"},{\"name\":\"NTHREADS=\",\"optional\":true,\"description\":\"Specifies the number of threads to use for the computation, where number-of-threads is an integer. The default value is the maximum number of available threads per computer.\",\"help\":\"NTHREADS=*number-of-threads*\",\"type\":\"value\"},{\"name\":\"PERPLEXITY=\",\"optional\":true,\"description\":\"Specifies the perplexity value to use for the computation, where number is a real number greater than zero.\",\"help\":\"PERPLEXITY=*number*\",\"type\":\"value\"}]},{\"name\":\"DISPLAY\",\"description\":\"The DISPLAY statement enables you to specify a list of display tables to display or exclude. This statement is similar to the ODS SELECT, ODS EXCLUDE, and ODS TRACE statements. However, the DISPLAY statement can improve performance when a large number of tables could be generated (such as in BY-group processing). The procedure processes the DISPLAY statement on a CAS server and thus sends only a subset of ODS tables to the SAS client. Because ODS statements are processed on a SAS client, all the display tables generated are first sent to the client and then the client creates a subset. If both DISPLAY and ODS statements are used together, the DISPLAY statement takes precedence over the ODS statements.\",\"help\":\"DISPLAY &lt;CASESENSITIVE&gt;&lt;EXCLUDE&gt;&lt;EXCLUDEALL&gt; ...\",\"arguments\":[{\"name\":\"CASESENSITIVE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Performs a case-sensitive comparison of table names in the table-list to display table names when tables are subsetted for display. To preserve case, you must enclose table names in the table-list in quotation marks.\",\"type\":\"standalone\"},{\"name\":\"EXCLUDE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays all display tables except those specified in the table-list.\",\"type\":\"standalone\"},{\"name\":\"EXCLUDEALL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Suppresses display of all tables. This option takes precedence over the other options.\",\"type\":\"standalone\"},{\"name\":\"TRACE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays the display table names, labels, and paths.\",\"type\":\"standalone\"}]},{\"name\":\"DISPLAYOUT\",\"description\":\"The DISPLAYOUT statement enables you to create CAS output tables from your displayed output. This statement is similar to the ODS OUTPUT statement. The table-spec-list specifies a list of CAS output tables to create. Each entry in the list has either a key or a key=value format: key=value specifies key as the ODS table name, path, or partial pathname, and specifies value as the CAS output table name. key specifies key as the ODS table name and also as the CAS output table name. Table names and partial pathnames are discussed under the DISPLAY statement. The DISPLAYOUT statement does not support regular expressions.\",\"help\":\"DISPLAYOUT &lt;INCLUDEALL&gt;&lt;NOREPLACE&gt;&lt;REPEATED&gt; ...\",\"arguments\":[{\"name\":\"INCLUDEALL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Creates output CAS tables for all display tables. The name of the created output CAS table is the same as the corresponding display table name. If you specify this option, the table-spec-list specification is ignored.\",\"type\":\"standalone\"},{\"name\":\"NOREPLACE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Does not replace an existing CAS output table of the same name.\",\"type\":\"standalone\"},{\"name\":\"REPEATED\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Replicates all CAS output tables on all nodes.\",\"type\":\"standalone\"}]},{\"name\":\"INPUT\",\"description\":\"The INPUT statement specifies the variables to use in the t-SNE analysis. The variables must be of interval type. You must specify at least one input variable.\",\"help\":\"INPUT variables\"},{\"name\":\"OUTPUT\",\"description\":\"The OUTPUT statement creates an embedding data table to contain the results of the procedure run.\",\"help\":\"OUTPUT &lt;COPYVAR=variable | COPYVARS=(variables)&gt;&lt;OUT=CAS-libref.data-table&gt;\",\"arguments\":[{\"name\":\"COPYVAR=\",\"optional\":true,\"aliases\":[\"COPYVARS=\"],\"description\":\"Lists one or more variables from the input data table to be transferred to the output data table.\",\"type\":\"value\"},{\"name\":\"OUT=\",\"optional\":true,\"description\":\"Names the output data table for PROC TSNE to use. You must specify this option before any other options. CAS-libref.data-table is a two-level name, where\",\"help\":\"OUT=*CAS-libref.data-table*\",\"type\":\"dataSet\"}]}],\"supportSiteInformation\":{\"docsetId\":\"casml\",\"docsetVersion\":\"latest\",\"docsetTargetFile\":\"casml_tsne_toc.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/TSRECONCILE.json",
    "content": "{\"name\":\"TSRECONCILE\",\"statements\":[{\"name\":\"PROC TSRECONCILE\",\"description\":\"The TSRECONCILE procedure reconciles forecasts of timestamped data at two different levels of a hierarchy in a top-down fashion for input data that are contained in CAS tables. † When data are organized in a hierarchical fashion, there are often accounting constraints that link the data at different levels of the hierarchy. Typically, for any particular time period, the data in a parent node are either the sum or the average of the data of its child nodes. For example, the total sales of a product by a retail company are the sum of the sales of the same product in all its stores.\",\"help\":\"PROC TSRECONCILE <AGGREGATE=SUM | AVERAGE><ALPHA=α><CLMETHOD=SHIFT | GAUSSIAN> DATA=CAS-libref.data-table | CHILD=CAS-libref.data-table | DISDATA=CAS-libref.data-table <DISAGGREGATION=DIFFERENCE | PROPORTIONS><LOCKZERO> OUTFOR=CAS-libref.data-table PARENT=CAS-libref.data-table | AGGDATA=CAS-libref.data-table <SIGN=MIXED | POSITIVE | NEGATIVE><WEIGHTED>;     \\n\\tBY variables ;\\n\\n\\tCHILDROLES <ACTUAL=variable-name><LOWER=variable-name><PREDICT=variable-name> ...;\\n\\n\\tID <END=option><START=option> ;\\n\\n\\tPARENTROLES <ACTUAL=variable-name><LOWER=variable-name><PREDICT=variable-name> ...;\\n\",\"arguments\":[{\"name\":\"DATA=\",\"aliases\":[\"CHILD=\",\"DISDATA=\"],\"description\":\"Specifies the input data table that contains the forecast of the time series that represent the children nodes in the hierarchy. Typically, the CHILD= data table is generated by an OUTFOR= data collector object of the TSMODEL procedure. The dimensions of the CHILD= data table are greater than the dimensions of the PARENT= data table. CAS-libref.data-table is a two-level name, where CAS-libref refers to the caslib and session identifier, and data-table specifies the name of the input data table.\",\"type\":\"value\"},{\"name\":\"OUTFOR=\",\"description\":\"Specifies the name of the output data table in which to store the reconciled values. CAS-libref.data-table is a two-level name, where CAS-libref refers to the caslib and session identifier, and data-table specifies the name of the input data table.\",\"help\":\"OUTFOR=*CAS-libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"PARENT=\",\"aliases\":[\"AGGDATA=\"],\"description\":\"Specifies the input data table that contains the forecasts of the time series that represent the parent nodes in the hierarchy. Typically, the PARENT= data table is generated by an OUTFOR= data collector object of the TSMODEL procedure. CAS-libref.data-table is a two-level name, where CAS-libref refers to the caslib and session identifier, and data-table specifies the name of the input data table.\",\"type\":\"value\"},{\"name\":\"AGGREGATE=\",\"optional\":true,\"description\":\"Specifies whether the dependent variable in the PARENT= data table is the total sum or the average over the BY groups of the dependent variable in the CHILD= data table. By default, AGGREGATE=SUM.\",\"help\":\"AGGREGATE=SUM | AVERAGE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"SUM\",\"description\":\"Specifies that the dependent variable in the PARENT= data table is a total sum.\",\"type\":\"standalone\"},{\"name\":\"AVERAGE\",\"description\":\"Specifies that the dependent variable in the PARENT= data table is an avarage.\",\"type\":\"standalone\"}]},{\"name\":\"ALPHA=\",\"optional\":true,\"description\":\"Specifies the level of the confidence limits when CLMETHOD=GAUSSIAN, where α must be between 0.0001 and 0.9999. The upper and lower confidence limits will have a 1 - α confidence level. By default, ALPHA=0.05, which produces 95% confidence intervals.\",\"type\":\"value\"},{\"name\":\"CLMETHOD=\",\"optional\":true,\"description\":\"Specifies which method to use to compute confidence limits for the reconciled forecasts.\",\"help\":\"CLMETHOD=SHIFT | GAUSSIAN\",\"type\":\"choice\",\"arguments\":[{\"name\":\"SHIFT\",\"description\":\"Computes the confidence intervals by re-centering the original confidence intervals around the new forecasts.\",\"type\":\"standalone\"},{\"name\":\"GAUSSIAN\",\"description\":\"Computes the confidence intervals by assuming that the forecasts are approximately Gaussian.\",\"type\":\"standalone\"}]},{\"name\":\"DISAGGREGATION=\",\"optional\":true,\"description\":\"Specifies the type of disaggregation method and type of loss function for top-down reconciliation.\",\"help\":\"DISAGGREGATION=DIFFERENCE | PROPORTIONS\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DIFFERENCE\",\"description\":\"Bases the loss function on the root mean squared error (RMSE), which results in adjustments that are the (possibly weighted) mean difference of the aggregated child nodes and the parent node.\",\"type\":\"standalone\"},{\"name\":\"PROPORTIONS\",\"description\":\"Uses a loss function that results in reconciled forecasts that are the (possibly weighted) proportional disaggregation of the parent node.\",\"type\":\"standalone\"}]},{\"name\":\"LOCKZERO\",\"optional\":true,\"description\":\"Specifies that a value of 0 for the Predict variable in the CHILD= data table implies a value of 0 for the corresponding observation in the OUTFOR= data table.\",\"type\":\"standalone\"},{\"name\":\"SIGN=\",\"optional\":true,\"description\":\"Specifies the sign in the reconciled series. By default, SIGN=MIXED.\",\"help\":\"SIGN=MIXED | POSITIVE | NEGATIVE*option*\",\"type\":\"value\",\"arguments\":[{\"name\":\"MIXED\",\"description\":\"Specifies that the output series can have any sign.\",\"type\":\"standalone\"},{\"name\":\"POSITIVE\",\"description\":\"Specify that the output series is nonnegative.\",\"type\":\"standalone\"},{\"name\":\"NEGATIVE\",\"description\":\"Specifies that the output series is nonpositive.\",\"type\":\"standalone\"}]},{\"name\":\"WEIGHTED\",\"optional\":true,\"description\":\"Weights the loss function for top-down reconciliation by the inverse of the variance of the input forecasts.\",\"type\":\"standalone\"}]},{\"name\":\"BY\",\"description\":\"The BY statement defines separate groups of observations for the CHILD= data table. BY variables can be either character or numeric.\",\"help\":\"BY variables \"},{\"name\":\"CHILDROLES\",\"description\":\"The CHILDROLES statement enables you to specify names for forecasting variables in the CHILD= data table.\",\"help\":\"CHILDROLES &lt;ACTUAL=variable-name&gt;&lt;LOWER=variable-name&gt;&lt;PREDICT=variable-name&gt; ...\",\"arguments\":[{\"name\":\"ACTUAL=\",\"optional\":true,\"description\":\"Specifies the name of the variable in theCHILD= data table that contains the actual values. By default, ACTUAL=ACTUAL.\",\"help\":\"ACTUAL=*variable-name*\",\"type\":\"value\"},{\"name\":\"ERROR=\",\"optional\":true,\"description\":\"Specifies the name of the variable in the CHILD= data table that contains the error values. By default, ERROR=ERROR.\",\"help\":\"ERROR=*variable-name*\",\"type\":\"value\"},{\"name\":\"LOWER=\",\"optional\":true,\"description\":\"Specifies the name of the variable in the CHILD= data table that contains the lower confidence limit values. By default, LOWER=LOWER.\",\"help\":\"LOWER=*variable-name*\",\"type\":\"value\"},{\"name\":\"PREDICT=\",\"optional\":true,\"description\":\"Specifies the name of the variable in the CHILD= data table that contains the predicted values. By default, PREDICT=PREDICT.\",\"help\":\"PREDICT=*variable-name*\",\"type\":\"value\"},{\"name\":\"STD=\",\"optional\":true,\"description\":\"Specifies the name of the variable in the CHILD= data table that contains the standard error values. By default, STD=STD.\",\"help\":\"STD=*variable-name*\",\"type\":\"value\"},{\"name\":\"UPPER=\",\"optional\":true,\"description\":\"Specifies the name of the variable in the CHILD= data table that contains the upper confidence limit values. By default, UPPER=UPPER.\",\"help\":\"UPPER=*variable-name*\",\"type\":\"value\"}]},{\"name\":\"ID\",\"description\":\"The ID statement names a numeric variable that identifies observations in the input and output data tables. The ID variable’s values are assumed to be SAS date, time, or datetime values.\",\"help\":\"ID &lt;END=option&gt;&lt;START=option&gt;\",\"arguments\":[{\"name\":\"END=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies a SAS date, datetime, or time value that represents the date at which the reconciliation ends. If the largest variable value is less than the END= value, this option has no effect.\",\"help\":\"END=*option*\",\"type\":\"value\"},{\"name\":\"START=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies a SAS date, datetime, or time value that represents the variable value at which the reconciliation begins. This option can be used to limit the reconciliation process only to forecasts that are outside the historical period.\",\"help\":\"START=*option*\",\"type\":\"value\"}]},{\"name\":\"PARENTROLES\",\"description\":\"The PARENTROLES statement enables you to specify custom names for forecasting variables in the PARENT= data table.\",\"help\":\"PARENTROLES &lt;ACTUAL=variable-name&gt;&lt;LOWER=variable-name&gt;&lt;PREDICT=variable-name&gt; ...\",\"arguments\":[{\"name\":\"ACTUAL=\",\"optional\":true,\"description\":\"Specifies the name of the variable in the PARENT= data table that contains the actual values. By default, ACTUAL=ACTUAL.\",\"help\":\"ACTUAL=*variable-name*\",\"type\":\"value\"},{\"name\":\"ERROR=\",\"optional\":true,\"description\":\"Specifies the name of the variable in the PARENT= data table that contains the error values. By default, ERROR=ERROR.\",\"help\":\"ERROR=*variable-name*\",\"type\":\"value\"},{\"name\":\"LOWER=\",\"optional\":true,\"description\":\"Specifies the name of the variable in the PARENT= data table that contains the lower confidence limit values. By default, LOWER=LOWER.\",\"help\":\"LOWER=*variable-name*\",\"type\":\"value\"},{\"name\":\"PREDICT=\",\"optional\":true,\"description\":\"Specifies the name of the variable in the CHILD= data table that contains the predicted values. By default, PREDICT=PREDICT.\",\"help\":\"PREDICT=*variable-name*\",\"type\":\"value\"},{\"name\":\"STD=\",\"optional\":true,\"description\":\"Specifies the name of the variable in the PARENT= data table that contains the standard error values. By default, STD=STD.\",\"help\":\"STD=*variable-name*\",\"type\":\"value\"},{\"name\":\"UPPER=\",\"optional\":true,\"description\":\"Specifies the name of the variable in the PARENT= data table that contains the upper confidence limit values. By default, UPPER=UPPER.\",\"help\":\"UPPER=*variable-name*\",\"type\":\"value\"}]}],\"supportSiteInformation\":{\"docsetId\":\"casforecast\",\"docsetVersion\":\"latest\",\"docsetTargetFile\":\"casforecast_tsreconcile_toc.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/TSSELECTLAG.json",
    "content": "{\"name\":\"TSSELECTLAG\",\"statements\":[{\"name\":\"PROC TSSELECTLAG\",\"description\":\"The TSSELECTLAG procedure is a time series procedure that calculates the lag at which two different time series are maximally correlated.\",\"help\":\"PROC TSSELECTLAG &lt;options&gt;;                                              \",\"arguments\":[{\"name\":\"DATA=\",\"optional\":true,\"description\":\"names the input data table for PROC TSSELECTLAG to use. The default is the most recently created data table. libref.data-table is a two-level name.\",\"help\":\"DATA=*libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"CORRELATIONTYPE=\",\"optional\":true,\"description\":\"specifies the type of correlation to use in the calculations. By default, CORRELATIONTYPE=PEARSON.\",\"help\":\"CORRELATIONTYPE= PEARSON | DISTANCE | XI\",\"type\":\"choice\"},{\"name\":\"TYPE=\",\"optional\":true,\"description\":\"specifies the type of correlation to use in the calculations. By default, CORRELATIONTYPE=PEARSON.\",\"help\":\"TYPE=PEARSON | DISTANCE | XI\",\"type\":\"choice\"},{\"name\":\"MINLAG=\",\"optional\":true,\"description\":\"sets the lower bound for determining the lag at which the maximum or minimum cross-correlation occurs. By default, MINLAG=1.\",\"help\":\"MINLAG=*number*\",\"type\":\"value\"},{\"name\":\"MAXLAG=\",\"optional\":true,\"description\":\"sets the upper bound for determining the lag at which the maximum or minimum cross-correlation occurs. By default, MAXLAG=1.\",\"help\":\"MAXLAG=*number*\",\"type\":\"value\"},{\"name\":\"PRECISION=\",\"optional\":true,\"description\":\"sets the precision at which the computation is done. When you specify this option, only the most significant number decimal digits of the data are used to compute the correlation.\",\"help\":\"PRECISION=*number*\",\"type\":\"value\"},{\"name\":\"NDIGITS=\",\"optional\":true,\"description\":\"sets the precision at which the computation is done. When you specify this option, only the most significant number decimal digits of the data are used to compute the correlation.\",\"help\":\"NDIGITS=*number*\",\"type\":\"value\"},{\"name\":\"NTHREADS=\",\"optional\":true,\"description\":\"specifies the maximum number of threads to be used to compute the cross-correlations.\",\"help\":\"NTHREADS=*number*\",\"type\":\"value\"},{\"name\":\"OUT=\",\"optional\":true,\"description\":\"specifies the name of the data table where all the computed cross-correlations are stored.\",\"help\":\"OUT= *libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"OUTLAG=\",\"optional\":true,\"description\":\"specifies the name of the data table where all the computed cross-correlations are stored.\",\"help\":\"OUTLAG=*libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"NTHREADS=\",\"optional\":true,\"description\":\"specifies the number of threads to use in the computation\",\"help\":\"NTHREADS=*number-of-threads*\",\"type\":\"value\"}]},{\"name\":\"ID\",\"aliases\":[\"DATETIME\"],\"description\":\"specifies a datetime variable whose values, when they are arranged in increasing order, are evenly spaced, with no missing time points in between.\",\"help\":\"ID *variable-name*;                                              \"},{\"name\":\"XVAR\",\"aliases\":[\"INPUT\",\"VAR\"],\"description\":\"lists all explanatory variables that are used in the analysis. Cross-correlations are computed among all XVAR statement variables and the YVAR statement variable.\",\"help\":\"XVAR *variable-list*;                                              \"},{\"name\":\"YVAR\",\"aliases\":[\"TARGET\",\"WITH\"],\"description\":\"lists the target variable that is used in the analysis. Cross-correlations are computed among all XVAR statement variables and the YVAR statement variable.\",\"help\":\"YVAR *variable-name*;                                              \"}],\"supportSiteInformation\":{\"docsetId\":\"casforecast\",\"docsetVersion\":\"latest\",\"docsetTargetFile\":\"casforecast_tsselectlag_toc.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/TTEST.json",
    "content": "{\"name\":\"TTEST\",\"statements\":[{\"name\":\"PROC TTEST\",\"description\":\"The TTEST procedure performs t tests and computes confidence limits for one sample, paired observations, two independent samples, and the AB/BA crossover design.\",\"help\":\"PROC TTEST <ALPHA=α><BYVAR><CI=EQUAL | UMPU | NONE><COCHRAN><DATA=SAS-data-set><DIST=LOGNORMAL | NORMAL><H0=m><NOBYVAR><ORDER=DATA | FORMATTED | FREQ... ><PLOTS=ALL | AGREEMENT | BOX... ><SIDES=2 | L | U><TEST=DIFF | RATIO><TOST(<lower ,> upper)>;     \\n\\tBY <DESCENDING><NOTSORTED> ;\\n\\n\\tCLASS variable ;\\n\\n\\tFREQ variable ;\\n\\n\\tPAIRED PairLists ;\\n\\n\\tVAR <CROSSOVER=(variable1 variable2)><IGNOREPERIOD> ;\\n\\n\\tWEIGHT variable;\\n\",\"arguments\":[{\"name\":\"ALPHA=\",\"optional\":true,\"description\":\"Specifies that confidence intervals (except test-based mean confidence intervals when the TOST option is used) are to be 100(1 - α)% confidence intervals, where 0 < α < 1.\",\"type\":\"value\"},{\"name\":\"BYVAR\",\"optional\":true,\"description\":\"Groups the results by the PAIRED or VAR variables.\",\"type\":\"standalone\"},{\"name\":\"CI=\",\"optional\":true,\"aliases\":[\"CL=\"],\"description\":\"Specifies whether a confidence interval is displayed for σ and, if so, what kind.\",\"help\":\"CI=EQUAL | UMPU | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"EQUAL\",\"description\":\"Specifies an equal-tailed confidence interval, and it is the default.\",\"type\":\"standalone\"},{\"name\":\"UMPU\",\"description\":\"Specifies an interval based on the uniformly most powerful unbiased test of Ho: σ=σ0.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"Requests that no confidence interval be displayed for σ.\",\"type\":\"standalone\"}]},{\"name\":\"COCHRAN\",\"optional\":true,\"description\":\"Requests the Cochran and Cox approximation of the probability level for the unequal variances situation.\",\"type\":\"standalone\"},{\"name\":\"DATA=\",\"optional\":true,\"description\":\"Names the SAS data set for the procedure to use.\",\"help\":\"DATA=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"DIST=\",\"optional\":true,\"description\":\"Specifies the underlying distribution assumed for the data.\",\"help\":\"DIST=LOGNORMAL | NORMAL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"LOGNORMAL\",\"description\":\"Lognormal distribution\",\"type\":\"standalone\"},{\"name\":\"NORMAL\",\"description\":\"Normal distribution\",\"type\":\"standalone\"}]},{\"name\":\"H0=\",\"optional\":true,\"description\":\"Requests tests against a null value of m, unless the TOST option is used, in which case m is merely used to derive the lower and upper equivalence bounds.\",\"help\":\"H0=*m*\",\"type\":\"value\"},{\"name\":\"NOBYVAR\",\"optional\":true,\"description\":\"Includes all PAIRED or VAR variables together in each output table.\",\"type\":\"standalone\"},{\"name\":\"ORDER=\",\"optional\":true,\"description\":\"Specifies the sorting order for the levels of the classification variable (specified in the CLASS statement) and treatment variables (specified in the CROSSOVER option in the VAR statement).\",\"help\":\"ORDER=DATA | FORMATTED | FREQ | INTERNAL | MIXED\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DATA\",\"description\":\"Orders values according to their order in the input data set.\",\"type\":\"standalone\"},{\"name\":\"FORMATTED\",\"description\":\"Orders values by their ascending formatted values. This order depends on your operating environment.\",\"type\":\"standalone\"},{\"name\":\"FREQ\",\"description\":\"Orders values by descending frequency count so that levels with the most observations are listed first.\",\"type\":\"standalone\"},{\"name\":\"INTERNAL\",\"description\":\"Orders values by their unformatted values, which yields the same order as PROC SORT. This order depends on your operating environment.\",\"type\":\"standalone\"},{\"name\":\"MIXED\",\"description\":\"Same as ORDER=FORMATTED if the unformatted variable is character-valued; same as ORDER=INTERNAL otherwise (unformatted variable is numeric-valued)\",\"type\":\"standalone\"}]},{\"name\":\"PLOTS=\",\"optional\":true,\"description\":\"Syntax: PLOTS <(global-plot-options)> <= plot-request <(options)>> PLOTS <(global-plot-options)> <= (plot-request <(options)> <... plot-request <(options)>>)> Controls the plots produced through ODS Graphics. ONLY suppresses the default plots SHOWH0 shows the null value (as specified by the H0= option in the PROC TTEST statement) in all relevant plots.\",\"help\":\"PLOTS=ALL | AGREEMENT | BOX | HISTOGRAM | INTERVAL | NONE | PROFILES | QQ | SUMMARY\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ALL\",\"description\":\"Produces all appropriate plots.\",\"type\":\"standalone\"},{\"name\":\"AGREEMENT\",\"description\":\"Requests an agreement plot.\",\"type\":\"standalone\"},{\"name\":\"BOX\",\"description\":\"Requests a box plot or comparative box plots.\",\"type\":\"standalone\"},{\"name\":\"HISTOGRAM\",\"description\":\"Requests a histogram or comparative histograms with overlaid normal and kernel densities.\",\"type\":\"standalone\"},{\"name\":\"INTERVAL\",\"description\":\"Requests plots of confidence interval for means.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"Suppresses all plots.\",\"type\":\"standalone\"},{\"name\":\"PROFILES\",\"description\":\"Requests a profiles plot.\",\"type\":\"standalone\"},{\"name\":\"QQ\",\"description\":\"Requests a normal quantile-quantile (Q-Q) plot.\",\"type\":\"standalone\"},{\"name\":\"SUMMARY\",\"description\":\"Requests HISTOGRAM and BOX plots together in a single panel, sharing common X axes.\",\"type\":\"standalone\"}]},{\"name\":\"SIDES=\",\"optional\":true,\"aliases\":[\"SIDED=\",\"SIDE=\"],\"description\":\"Specifies the number of sides (or tails) and direction of the statistical tests and test-based confidence intervals.\",\"help\":\"SIDES=2 | L | U\",\"type\":\"choice\",\"arguments\":[{\"name\":\"2\",\"description\":\"(The default) specifies two-sided tests and confidence intervals for means.\",\"type\":\"standalone\"},{\"name\":\"L\",\"description\":\"Specifies lower one-sided tests, in which the alternative hypothesis indicates a mean less than the null value, and lower one-sided confidence intervals between minus infinity and the upper confidence limit.\",\"type\":\"standalone\"},{\"name\":\"U\",\"description\":\"Specifies upper one-sided tests, in which the alternative hypothesis indicates a mean greater than the null value, and upper one-sided confidence intervals between the lower confidence limit and infinity.\",\"type\":\"standalone\"}]},{\"name\":\"TEST=\",\"optional\":true,\"description\":\"Specifies the test criterion.\",\"help\":\"TEST=DIFF | RATIO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DIFF\",\"description\":\"Used to test the difference of means.\",\"type\":\"standalone\"},{\"name\":\"RATIO\",\"description\":\"Used to test the ratio of means.\",\"type\":\"standalone\"}]},{\"name\":\"TOST\",\"optional\":true,\"description\":\"Requests Schuirman’s TOST equivalence test. The upper equivalence bound must be specified. If TEST=DIFF, then the default value for the lower equivalence bound is 2m-upper, where m is the value of the H0= option. If TEST=RATIO, then the default value for lower is m/upper.\",\"type\":\"standalone\"}]},{\"name\":\"BY\",\"description\":\"Obtains separate analyses on observations in groups defined by the BY variables.\",\"help\":\"BY &lt;DESCENDING&gt;&lt;NOTSORTED&gt;\",\"arguments\":[{\"name\":\"DESCENDING\",\"optional\":true,\"description\":\"Specifies that the observations are sorted in descending order by the variable that immediately follows the word DESCENDING in the BY statement.\",\"type\":\"standalone\"},{\"name\":\"NOTSORTED\",\"optional\":true,\"description\":\"Specifies that observations are not necessarily sorted in alphabetic or numeric order.\",\"type\":\"standalone\"}]},{\"name\":\"CLASS\",\"description\":\"A CLASS statement giving the name of the classification (or grouping) variable must accompany the PROC TTEST statement in the two-independent-sample case.\",\"help\":\"CLASS variable \"},{\"name\":\"FREQ\",\"description\":\"The variable in the FREQ statement identifies a variable that contains the frequency of occurrence of each observation. PROC TTEST treats each observation as if it appears n times, where n is the value of the FREQ variable for the observation.\",\"help\":\"FREQ variable \"},{\"name\":\"PAIRED\",\"description\":\"The PairLists in the PAIRED statement identifies the variables to be compared in paired comparisons. You can use one or more PairLists.\",\"help\":\"PAIRED PairLists \"},{\"name\":\"VAR\",\"description\":\"The VAR statement names the variables to be used in the analyses. One-sample comparisons are conducted when the VAR statement is used without the CROSSOVER option or CLASS statement. Two-independent-sample comparisons are conducted when the VAR statement is used with a CLASS statement.\",\"help\":\"VAR &lt;CROSSOVER=(variable1 variable2)&gt;&lt;IGNOREPERIOD&gt;\",\"arguments\":[{\"name\":\"CROSSOVER=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the variables representing the treatment applied in each of the two periods in an AB/BA crossover design.\",\"help\":\"CROSSOVER=(variable1 variable2)\",\"type\":\"value\"},{\"name\":\"IGNOREPERIOD\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Indicates that the period effect shall be ignored—that is, assumed to be equal to 0 (if TEST=DIFF) or 1 (if TEST=RATIO).\",\"type\":\"standalone\"}]},{\"name\":\"WEIGHT\",\"description\":\"The WEIGHT statement weights each observation in the input data set by the value of the WEIGHT variable. The values of the WEIGHT variable can be nonintegral, and they are not truncated.\",\"help\":\"WEIGHT variable\"}],\"supportSiteInformation\":{\"docsetId\":\"statug\",\"docsetVersion\":\"latest\",\"docsetTargetFile\":\"statug_ttest_toc.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/UCM.json",
    "content": "{\"name\":\"UCM\",\"statements\":[{\"name\":\"PROC UCM\",\"description\":\"The UCM procedure analyzes and forecasts equally spaced univariate time series data by using an unobserved components model (UCM). The UCMs are also called structural models in the time series literature. A UCM decomposes the response series into components such as trend, seasonals, cycles, and the regression effects due to predictor series. The components in the model are supposed to capture the salient features of the series that are useful in explaining and predicting its behavior. Harvey (1989) is a good reference for time series modeling that uses the UCMs. Harvey calls the components in a UCM the \\\"stylized facts\\\" about the series under consideration. Traditionally, the ARIMA models and, to some limited extent, the exponential smoothing models have been the main tools in the analysis of this type of time series data. It is fair to say that the UCMs capture the versatility of the ARIMA models while possessing the interpretability of the smoothing models. A thorough discussion of the correspondence between the ARIMA models and the UCMs, and the relative merits of UCM and ARIMA modeling, is given in Harvey (1989). The UCMs are also very similar to another set of models, called the dynamic models, that are popular in the Bayesian time series literature (West and Harrison 1999). In SAS/ETS you can use PROC ARIMA for ARIMA modeling, PROC ESM for exponential smoothing modeling , and use the Time Series Forecasting System for a point-and-click interface to ARIMA and exponential smoothing modeling.\",\"help\":\"PROC UCM <DATA=SAS-data-set><NOPRINT><PLOTS=ALL | NONE | FILTER... ><PRINTALL>;     \\n\\tAUTOREG <NOEST=<RHO | VARIANCE | RHO VARIANCE)>><PLOT=<FILTER | SMOOTH | (FILTER SMOOTH)>><PRINT=<FILTER | SMOOTH | (FILTER SMOOTH)>> ...;\\n\\n\\tBLOCKSEASON <BLOCKSIZE=integer><NBLOCKS=integer><NOEST> ...;\\n\\n\\tBY variables ;\\n\\n\\tCYCLE <NOEST=<PERIOD | RHO | VARIANCE>... ><PERIOD=value><PLOT=<FILTER | SMOOTH | (FILTER SMOOTH)>> ...;\\n\\n\\tDEPLAG <LAGS=order | LAGS=(lag, ..., lag ) ...(lag, ..., lag )><NOEST><PHI=value ...> ...;\\n\\n\\tESTIMATE <BACK=integer><EXTRADIFFUSE=k><NOPROFILE> ...;\\n\\n\\tFORECAST <ALPHA=value><BACK=integer><EXTRADIFFUSE=k> ...;\\n\\n\\tID <ALIGN=<BEGINNING | MIDDLE | ENDING>><INTERVAL=<DAY | HOUR | MINUTE>... > ;\\n\\n\\tIRREGULAR <NOEST><PLOT=<FILTER | SMOOTH | (<FILTER> <SMOOTH>)>><PRINT=<FILTER | SMOOTH | (<FILTER> <SMOOTH>)>> ...;\\n\\n\\tLEVEL <CHECKBREAK><NOEST><PLOT=<FILTER | SMOOTH | (<FILTER> <SMOOTH>)>> ...;\\n\\n\\tMODEL dependent <= regressors> ;\\n\\n\\tNLOPTIONS <ABSCONV= | ABSTOL=r><ABSFCONV=r[n] | ABSFTOL=r[n><ABSGCONV=r[n] | ABSGTOL=r[n> ...;\\n\\n\\tOUTLIER <ALPHA=significance-level><MAXNUM=number><MAXPCT=number> ...;\\n\\n\\tRANDOMREG <NOEST><PLOT=<FILTER | SMOOTH | (<FILTER> <SMOOTH>)>><PRINT=<FILTER | SMOOTH | (<FILTER> <SMOOTH>)>> ...;\\n\\n\\tSEASON <DROPHARMONICS|DROPH=number-list | n TO m BY p><KEEPHARMONICS|KEEPH=number-list | n TO m BY p><LENGTH=integer> ...;\\n\\n\\tSLOPE <NOEST><PLOT=<FILTER | SMOOTH | (<FILTER> <SMOOTH>)>><PRINT=<FILTER | SMOOTH | (<FILTER> <SMOOTH>)>> ...;\\n\\n\\tSPLINEREG <DEGREE=integer><KNOTS=number-list | n TO m BY p><NKNOTS=m> ...;\\n\\n\\tSPLINESEASON <DEGREE=integer><KNOTS=integer-1 integer-2 ...><LENGTH=integer> ...;\\n\",\"arguments\":[{\"name\":\"DATA=\",\"optional\":true,\"description\":\"Specifies the name of the SAS data set containing the time series. If the DATA= option is not specified in the PROC UCM statement, the most recently created SAS data set is used.\",\"help\":\"DATA=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"NOPRINT\",\"optional\":true,\"description\":\"Turns off all the printing for the procedure. The subsequent print options in the procedure are ignored.\",\"type\":\"standalone\"},{\"name\":\"PLOTS=\",\"optional\":true,\"description\":\"Controls the plots produced with ODS Graphics. When you specify only one plot request, you can omit the parentheses around the plot request. Syntax: PLOTS<(global-plot-options)> <= plot-request <(options)>> PLOTS<(global-plot-options)> <= (plot-request <(options)> <... plot-request <(options)>>)> The following global-plot-option is supported:\",\"help\":\"PLOTS=ALL | NONE | FILTER | RESIDUAL | SMOOTH\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ALL\",\"description\":\"Produces all plots appropriate for the particular analysis.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"Suppresses all plots.\",\"type\":\"standalone\"},{\"name\":\"FILTER\",\"description\":\"Syntax: FILTER(<filter-plot-options>) Produces time series plots of the filtered component estimates. The following filter-plot-options are available: ALL produces all the filtered component estimate plots appropriate for the particular analysis. LEVEL produces a time series plot of the filtered level component estimate, provided the model contains the level component. SLOPE produces a time series plot of the filtered slope component estimate, provided the model contains the slope component. CYCLE produces time series plots of the filtered cycle component estimates for all cycle components in the model, if there are any. SEASON produces time series plots of the filtered season component estimates for all seasonal components in the model, if there are any. DECOMP produces time series plots of the filtered estimates of the series decomposition.\",\"type\":\"standalone\"},{\"name\":\"RESIDUAL\",\"description\":\"Syntax: RESIDUAL(<residual-plot-options>) Produces the residuals plots. The following residual-plot-options are available: ALL produces all the residual diagnostics plots appropriate for the particular analysis. ACF produces the autocorrelation plot of residuals. CUSUM produces the plot of cumulative residuals against time. CUSUMSQ produces the plot of cumulative squared residuals against time. HISTOGRAM produces the histogram of residuals. LOESS produces a scatter plot of residuals against time, which has an overlaid loess-fit. PACF produces the partial-autocorrelation plot of residuals. PANEL produces a summary panel of the residual diagnostics consisting of the following: o histogram of residuals o normal quantile plot of residuals o the residual-autocorrelation-plot o the residual-partial-autocorrelation-plot QQ produces a normal quantile plot of residuals. RESIDUAL produces a needle plot of residuals against time. WN produces the plot of Ljung-Box white-noise test p-values at different lags (in log scale).\",\"type\":\"standalone\"},{\"name\":\"SMOOTH\",\"description\":\"Syntax: SMOOTH(<smooth-plot-options>) Produces time series plots of the smoothed component estimates. The following smooth-plot-options are available: ALL produces all the smoothed component estimate plots appropriate for the particular analysis. LEVEL produces time series plot of the smoothed level component estimate, provided the model contains the level component. SLOPE produces time series plot of the smoothed slope component estimate, provided the model contains the slope component. CYCLE produces time series plots of the smoothed cycle component estimates for all cycle components in the model, if there are any. SEASON produces time series plots of the smoothed season component estimates for all season components in the model, if there are any. DECOMP produces time series plots of the smoothed estimates of the series decomposition.\",\"type\":\"standalone\"}]},{\"name\":\"PRINTALL\",\"optional\":true,\"description\":\"Turns on all the printing options for the procedure. The subsequent NOPRINT options in the procedure are ignored.\",\"type\":\"standalone\"}]},{\"name\":\"AUTOREG\",\"description\":\"The AUTOREG statement specifies an autoregressive component in the model. An autoregressive component is a special case of cycle that corresponds to the frequency of zero or π. It is modeled separately for easier interpretation.\",\"help\":\"AUTOREG &lt;NOEST=&lt;RHO | VARIANCE | RHO VARIANCE)&gt;&gt;&lt;PLOT=&lt;FILTER | SMOOTH | (FILTER SMOOTH)&gt;&gt;&lt;PRINT=&lt;FILTER | SMOOTH | (FILTER SMOOTH)&gt;&gt; ...\",\"arguments\":[{\"name\":\"NOEST=\",\"optional\":true,\"description\":\"Fixes the values of ρ and ρ²γ to those specified in the RHO= and VARIANCE= options.\",\"help\":\"NOEST=RHO | VARIANCE | RHO VARIANCE)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"RHO\",\"description\":\"Fixes the value of ρ to the one specified in the RHO= option.\",\"type\":\"standalone\"},{\"name\":\"VARIANCE\",\"description\":\"Fixes the value of ρ²γ to the one specified in the VARIANCE= option.\",\"type\":\"standalone\"},{\"name\":\"RHO\",\"description\":\"Fixes the values of ρ and ρ²γ to those specified in the RHO= and VARIANCE= options.\",\"help\":\"RHO VARIANCE)\",\"type\":\"standalone\"}]},{\"name\":\"PLOT=\",\"optional\":true,\"description\":\"Requests plotting of the filtered or smoothed estimate of the autoreg component.\",\"help\":\"PLOT=FILTER | SMOOTH | (FILTER SMOOTH)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"FILTER\",\"description\":\"Requests plotting of the filtered estimate of the autoreg component.\",\"type\":\"standalone\"},{\"name\":\"SMOOTH\",\"description\":\"Requests plotting of the smoothed estimate of the autoreg component.\",\"type\":\"standalone\"},{\"name\":\"(FILTER SMOOTH)\",\"description\":\"Requests plotting of the filtered and smoothed estimates of the autoreg component.\",\"type\":\"standalone\"}]},{\"name\":\"PRINT=\",\"optional\":true,\"description\":\"Requests printing of the filtered or smoothed estimate of the autoreg component.\",\"help\":\"PRINT=FILTER | SMOOTH | (FILTER SMOOTH)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"FILTER\",\"description\":\"Requests printing of the filtered estimate of the autoreg component.\",\"type\":\"standalone\"},{\"name\":\"SMOOTH\",\"description\":\"Requests printing of the smoothed estimate of the autoreg component.\",\"type\":\"standalone\"},{\"name\":\"(FILTER SMOOTH)\",\"description\":\"Requests printing of the filtered and smoothed estimates of the autoreg component.\",\"type\":\"standalone\"}]},{\"name\":\"RHO=\",\"optional\":true,\"description\":\"Specifies an initial value for the damping factor ρ during the parameter estimation process. The value of ρ must be in the interval (–1, 1), including –1 but excluding 1.\",\"help\":\"RHO=*value*\",\"type\":\"value\"},{\"name\":\"VARIANCE=\",\"optional\":true,\"description\":\"Specifies an initial value for the disturbance variance, ρ²γ, during the parameter estimation process. Any nonnegative value, including zero, is an acceptable starting value.\",\"help\":\"VARIANCE=*value*\",\"type\":\"value\"}]},{\"name\":\"BLOCKSEASON\",\"description\":\"The BLOCKSEASON or BLOCKSEASONAL statement is used to specify a seasonal component γt that has a special block structure. The seasonal γt is called a block seasonal of block size m and number of blocks k if its season length, s, can be factored as s=m*k and its seasonal effects have a block form—that is, the first m seasonal effects are all equal to some number τ-1, the next m effects are all equal to some number τ-2, and so on.\",\"help\":\"BLOCKSEASON &lt;BLOCKSIZE=integer&gt;&lt;NBLOCKS=integer&gt;&lt;NOEST&gt; ...\",\"arguments\":[{\"name\":\"BLOCKSIZE=\",\"optional\":true,\"description\":\"Specifies the block size, m. This is a required option in this statement. The block size can be any integer larger than or equal to two. Typical examples of block sizes are 24, corresponding to the hours of the day when a day is being used as a block in hourly data, or 60, corresponding to the minutes in an hour when an hour is being used as a block in data recorded by minutes, etc.\",\"help\":\"BLOCKSIZE=*integer*\",\"type\":\"value\"},{\"name\":\"NBLOCKS=\",\"optional\":true,\"description\":\"Specifies the number of blocks, k. This is a required option in this statement. The number of blocks can be any integer greater than or equal to two.\",\"help\":\"NBLOCKS=*integer*\",\"type\":\"value\"},{\"name\":\"NOEST\",\"optional\":true,\"description\":\"Specifies the value of the disturbance variance parameter to the value specified in the VARIANCE= option.\",\"type\":\"standalone\"},{\"name\":\"OFFSET=\",\"optional\":true,\"description\":\"Specifies the position of the first measurement within the block, if the first measurement is not at the start of a block. The OFFSET= value must be between one and the block size. The default value is one. The first measurement refers to the start of the estimation span and the forecast span. If these spans differ, their starting measurements must be separated by an integer multiple of the block size.\",\"help\":\"OFFSET=*integer*\",\"type\":\"value\"},{\"name\":\"PLOT=\",\"optional\":true,\"description\":\"Requests plots of the season component. When you specify only one plot request, you can omit the parentheses around the plot request.\",\"help\":\"PLOT=FILTER | SMOOTH | F_ANNUAL | S_ANNUAL | (&lt;FILTER&gt; &lt;SMOOTH&gt; &lt;F_ANNUAL&gt; &lt;S_ANNUAL&gt;)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"FILTER\",\"description\":\"Requests plot of the filtered estimates of the season component, γt.\",\"type\":\"standalone\"},{\"name\":\"SMOOTH\",\"description\":\"Requests plot of the smoothed estimates of the season component, γt.\",\"type\":\"standalone\"},{\"name\":\"F_ANNUAL\",\"description\":\"Requests plot of the \\\"annual\\\" variation in the filtered estimates of the season component, γt.\",\"type\":\"standalone\"},{\"name\":\"S_ANNUAL\",\"description\":\"Requests plot of the \\\"annual\\\" variation in the smoothed estimates of the season component, γt.\",\"type\":\"standalone\"},{\"name\":\"(<FILTER> <SMOOTH> <F_ANNUAL> <S_ANNUAL>)\",\"description\":\"Requests plots for a combination of FILTER, SMOOTH, F_ANNUAL, and S_ANNUAL plot-requests.\",\"type\":\"standalone\"}]},{\"name\":\"PRINT=\",\"optional\":true,\"description\":\"Requests printing of the filtered or smoothed estimate of the block season component, γt.\",\"help\":\"PRINT=FILTER | SMOOTH | (FILTER SMOOTH)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"FILTER\",\"description\":\"Requests printing of the filtered estimate of the block season component, γt.\",\"type\":\"standalone\"},{\"name\":\"SMOOTH\",\"description\":\"Requests printing of the smoothed estimate of the block season component, γt.\",\"type\":\"standalone\"},{\"name\":\"(FILTER SMOOTH)\",\"description\":\"Requests printing of the filtered and smoothed estimates of the block season component, γt.\",\"type\":\"standalone\"}]},{\"name\":\"TYPE=\",\"optional\":true,\"description\":\"Specifies the type of the block seasonal component. The default type is DUMMY.\",\"help\":\"TYPE=DUMMY | TRIG\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DUMMY\",\"description\":\"DUMMY [No description available]\",\"type\":\"standalone\"},{\"name\":\"TRIG\",\"description\":\"TRIG [No description available]\",\"type\":\"standalone\"}]},{\"name\":\"VARIANCE=\",\"optional\":true,\"description\":\"Specifies an initial value for the disturbance variance, σ²ω, in the γt equation at the start of the parameter estimation process. Any nonnegative value, including zero, is an acceptable starting value.\",\"help\":\"VARIANCE=*value*\",\"type\":\"value\"}]},{\"name\":\"BY\",\"description\":\"A BY statement can be used in the UCM procedure to process a data set in groups of observations defined by the BY variables. The model specified using the MODEL and other component statements is applied to all the groups defined by the BY variables. When a BY statement appears, the procedure expects the input data set to be sorted in order of the BY variables. The variables are one or more variables in the input data set.\",\"help\":\"BY variables \"},{\"name\":\"CYCLE\",\"description\":\"The CYCLE statement is used to specify a cycle component, ψt, in the model. There can be multiple cycles in a model, each specified using a separate CYCLE statement.\",\"help\":\"CYCLE &lt;NOEST=&lt;PERIOD | RHO | VARIANCE&gt;... &gt;&lt;PERIOD=value&gt;&lt;PLOT=&lt;FILTER | SMOOTH | (FILTER SMOOTH)&gt;&gt; ...\",\"arguments\":[{\"name\":\"NOEST=\",\"optional\":true,\"description\":\"Fixes the values of the component parameters to those specified in the RHO=, PERIOD=, and VARIANCE= options. This option enables you to fix any combination of parameter values.\",\"help\":\"NOEST=PERIOD | RHO | VARIANCE | &lt;PERIODZ&gt; &lt;RHO&gt; &lt;VARIANCE&gt;)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"PERIOD\",\"description\":\"Fixes the value of period to the one specified in the PERIOD= option.\",\"type\":\"standalone\"},{\"name\":\"RHO\",\"description\":\"Fixes the value of ρ to the one specified in the RHO= option.\",\"type\":\"standalone\"},{\"name\":\"VARIANCE\",\"description\":\"Fixes the value of γ to the one specified in the VARIANCE= option.\",\"type\":\"standalone\"},{\"name\":\"<PERIODZ> <RHO> <VARIANCE>)\",\"description\":\"Fixes the values of period, ρ and/or variance to those specified in the RHO= and VARIANCE= options.\",\"type\":\"standalone\"}]},{\"name\":\"PERIOD=\",\"optional\":true,\"description\":\"Specifies an initial value for the cycle period during the parameter estimation process. Period value must be strictly greater than 2.\",\"help\":\"PERIOD=*value*\",\"type\":\"value\"},{\"name\":\"PLOT=\",\"optional\":true,\"description\":\"Requests plotting of the filtered or smoothed estimate of the cycle component.\",\"help\":\"PLOT=FILTER | SMOOTH | (FILTER SMOOTH)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"FILTER\",\"description\":\"Requests plotting of the filtered estimate of the cycle component.\",\"type\":\"standalone\"},{\"name\":\"SMOOTH\",\"description\":\"Requests plotting of the smoothed estimate of the cycle component.\",\"type\":\"standalone\"},{\"name\":\"(FILTER SMOOTH)\",\"description\":\"Requests plotting of the filtered and smoothed estimates of the cycle component.\",\"type\":\"standalone\"}]},{\"name\":\"PRINT=\",\"optional\":true,\"description\":\"Requests printing of the filtered or smoothed estimate of the cycle component ψt.\",\"help\":\"PRINT=FILTER | SMOOTH | (FILTER SMOOTH)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"FILTER\",\"description\":\"Requests printing of the filtered estimate of the cycle component ψt.\",\"type\":\"standalone\"},{\"name\":\"SMOOTH\",\"description\":\"Requests printing of the smoothed estimate of the cycle component ψt.\",\"type\":\"standalone\"},{\"name\":\"(FILTER SMOOTH)\",\"description\":\"Requests printing of the filtered and smoothed estimates of the cycle component ψt.\",\"type\":\"standalone\"}]},{\"name\":\"RHO=\",\"optional\":true,\"description\":\"Specifies an initial value for the damping factor ρ during the parameter estimation process. Any value of ρ in the interval (0, 1), including 1 but excluding zero, is an acceptable initial value for the damping factor.\",\"help\":\"RHO=*value*\",\"type\":\"value\"},{\"name\":\"VARIANCE=\",\"optional\":true,\"description\":\"Specifies an initial value for the disturbance variance, σ²v, to be used during the parameter estimation process. Any nonnegative value, including zero, is an acceptable starting value.\",\"help\":\"VARIANCE=*value*\",\"type\":\"value\"}]},{\"name\":\"DEPLAG\",\"description\":\"The DEPLAG statement is used to specify the lags of the dependent variable to be included as predictors in the model.\",\"help\":\"DEPLAG &lt;LAGS=order | LAGS=(lag, ..., lag ) ...(lag, ..., lag )&gt;&lt;NOEST&gt;&lt;PHI=value ...&gt; ...\",\"arguments\":[{\"name\":\"LAGS=\",\"optional\":true,\"description\":\"Is a required option in this statement. LAGS=(l1, l2,..., lk) defines a model with specified lags of the dependent variable included as predictors. LAGS=order is equivalent to LAGS=(1, 2, ..., order ).\",\"type\":\"value\"},{\"name\":\"NOEST\",\"optional\":true,\"description\":\"Fixes the values of the parameters to those specified in PHI= option.\",\"type\":\"standalone\"},{\"name\":\"PHI=\",\"optional\":true,\"description\":\"Lists starting values for the coefficients of the lagged dependent variable. The order of the values listed corresponds with the order of the lags specified in the LAGS= option.\",\"type\":\"value\"}]},{\"name\":\"ESTIMATE\",\"description\":\"The ESTIMATE statement is an optional statement used to control the overall model-fitting environment. Using this statement, you can control the span of observations used to fit the model by using the SKIPFIRST= and BACK= options. This can be useful in model diagnostics. You can request a variety of goodness-of-fit statistics and other model diagnostic information including different residual diagnostic plots. Note that the ESTIMATE statement is not used to control the nonlinear optimization process itself. That is done using the NLOPTIONS statement.\",\"help\":\"ESTIMATE &lt;BACK=integer&gt;&lt;EXTRADIFFUSE=k&gt;&lt;NOPROFILE&gt; ...\",\"arguments\":[{\"name\":\"BACK=\",\"optional\":true,\"aliases\":[\"SKIPLAST=\"],\"description\":\"Indicates that some ending part of the data needs to be ignored during the parameter estimation. This can be useful when you want to study the forecasting performance of a model on the observed data. BACK=10 results in skipping the last 10 measurements of the response series during the parameter estimation. The default is BACK=0.\",\"help\":\"BACK=*integer*\",\"type\":\"value\"},{\"name\":\"EXTRADIFFUSE=\",\"optional\":true,\"description\":\"Enables continuation of the diffuse filtering iterations for k additional iterations beyond the first instance where the initialization of the diffuse state would have otherwise taken place. If the specified k is larger than the sample size, the diffuse iterations continue until the end of the sample. Note that one-step-ahead residuals are produced only after the diffuse state is initialized. Delaying the initialization leads to a reduction in the number of one-step-ahead residuals available for computing the residual diagnostic measures. This option is useful when you want to ignore the first few one-step-ahead residuals that often have large variance.\",\"help\":\"EXTRADIFFUSE=*k*\",\"type\":\"value\"},{\"name\":\"NOPROFILE\",\"optional\":true,\"description\":\"Requests that the usual likelihood be optimized for parameter estimation.\",\"type\":\"standalone\"},{\"name\":\"OUTEST=\",\"optional\":true,\"description\":\"Specifies an output data set for the estimated parameters.\",\"help\":\"OUTEST=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"PLOT=\",\"optional\":true,\"description\":\"Requests different residual diagnostic plots.\",\"help\":\"PLOT=ACF | CUSUM | CUSUMSQ | MODEL | HISTOGRAM | LOESS | PACF | PANEL | QQ | RESIDUAL | WN\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ACF\",\"description\":\"Produces the residual-autocorrelation plot.\",\"type\":\"standalone\"},{\"name\":\"CUSUM\",\"description\":\"Produces the plot of cumulative residuals against time.\",\"type\":\"standalone\"},{\"name\":\"CUSUMSQ\",\"description\":\"Produces the plot of cumulative squared residuals against time.\",\"type\":\"standalone\"},{\"name\":\"MODEL\",\"description\":\"Produces the plot of one-step-ahead forecasts in the estimation span.\",\"type\":\"standalone\"},{\"name\":\"HISTOGRAM\",\"description\":\"Produces the histogram of residuals.\",\"type\":\"standalone\"},{\"name\":\"LOESS\",\"description\":\"Produces a scatter plot of residuals against time, which has an overlaid loess-fit.\",\"type\":\"standalone\"},{\"name\":\"PACF\",\"description\":\"Produces the residual-partial-autocorrelation plot.\",\"type\":\"standalone\"},{\"name\":\"PANEL\",\"description\":\"Produces a summary panel of the residual diagnostics consisting of: o histogram of residuals o normal quantile plot of residuals o the residual-autocorrelation-plot o the residual-partial-autocorrelation-plot\",\"type\":\"standalone\"},{\"name\":\"QQ\",\"description\":\"Produces a normal quantile plot of residuals.\",\"type\":\"standalone\"},{\"name\":\"RESIDUAL\",\"description\":\"Produces a needle plot of residuals against time.\",\"type\":\"standalone\"},{\"name\":\"WN\",\"description\":\"Produces a plot of p-values, in log-scale, at different lags for the Ljung-Box portmanteau white noise test statistics.\",\"type\":\"standalone\"}]},{\"name\":\"PRINT=\",\"optional\":true,\"description\":\"Suppresses all the printed output related to the model fitting, such as the parameter estimates, the goodness-of-fit statistics, and so on.\",\"help\":\"PRINT=NONE\",\"type\":\"value\"},{\"name\":\"PROFILE\",\"optional\":true,\"description\":\"Requests that the profile likelihood, obtained by concentrating out one of the disturbance variances from the likelihood, be optimized for parameter estimation. By default, the profile likelihood is not optimized if any of the disturbance variance parameters is held fixed to a nonzero value.\",\"type\":\"standalone\"},{\"name\":\"SKIPFIRST=\",\"optional\":true,\"description\":\"Indicates that some early part of the data needs to be ignored during the parameter estimation. This can be useful if there is a reason to believe that the model being estimated is not appropriate for this portion of the data. SKIPFIRST=10 results in skipping the first 10 measurements of the response series during the parameter estimation. The default is SKIPFIRST=0.\",\"help\":\"SKIPFIRST=*integer*\",\"type\":\"value\"}]},{\"name\":\"FORECAST\",\"description\":\"The FORECAST statement is an optional statement that is used to specify the overall forecasting environment for the specified model. It can be used to specify the span of observations, the historical period, to use to compute the forecasts of the future observations. This is done using the SKIPFIRST= and BACK= options. The number of periods to forecast beyond the historical period, and the significance level of the forecast confidence interval, is specified using the LEAD= and ALPHA= options. You can request one-step-ahead series and component forecasts by using the PRINT= option. You can save the series forecasts, and the model-based decomposition of the series, in a data set by using the OUTFOR= option.\",\"help\":\"FORECAST &lt;ALPHA=value&gt;&lt;BACK=integer&gt;&lt;EXTRADIFFUSE=k&gt; ...\",\"arguments\":[{\"name\":\"ALPHA=\",\"optional\":true,\"description\":\"Specifies the significance level of the forecast confidence intervals; for example, ALPHA=0.05, which is the default, results in a 95% confidence interval.\",\"help\":\"ALPHA=*value*\",\"type\":\"value\"},{\"name\":\"BACK=\",\"optional\":true,\"aliases\":[\"SKIPLAST=\"],\"description\":\"Specifies the holdout sample for the evaluation of the forecasting performance of the model. For example, BACK=10 results in treating the last 10 observed values of the response series as unobserved. A post-sample-prediction-analysis table is produced for comparing the predicted values with the actual values in the holdout period. The default is BACK=0.\",\"help\":\"BACK=*integer*\",\"type\":\"value\"},{\"name\":\"EXTRADIFFUSE=\",\"optional\":true,\"description\":\"Enables continuation of the diffuse filtering iterations for k additional iterations beyond the first instance where the initialization of the diffuse state would have otherwise taken place. If the specified k is larger than the sample size, the diffuse iterations continue until the end of the sample.\",\"help\":\"EXTRADIFFUSE=*k*\",\"type\":\"value\"},{\"name\":\"LEAD=\",\"optional\":true,\"description\":\"Specifies the number of periods to forecast beyond the historical period defined by the SKIPFIRST= and BACK= options; for example, LEAD=10 results in the forecasting of 10 future values of the response series. The default is LEAD=12.\",\"help\":\"LEAD=*integer*\",\"type\":\"value\"},{\"name\":\"OUTFOR=\",\"optional\":true,\"description\":\"Specifies an output data set for the forecasts. The output data set contains the ID variable (if specified), the response and predictor series, the one-step-ahead and out-of-sample response series forecasts, the forecast confidence intervals, the smoothed values of the response series, and the smoothed forecasts produced as a result of the model-based decomposition of the series.\",\"help\":\"OUTFOR=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"PLOT=\",\"optional\":true,\"description\":\"Requests forecast and model decomposition plots.\",\"help\":\"PLOT=DECOMP | DECOMPVAR | FDECOMP | FDECOMPVAR | FORECASTS | TREND | (&lt;DECOMP&gt; &lt;DECOMPVAR&gt; &lt;FDECOMP&gt; &lt;FDECOMPVAR&gt; &lt;FORECASTS&gt; &lt;TREND&gt;)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DECOMP\",\"description\":\"Provides plot of the decomposition estimates.\",\"type\":\"standalone\"},{\"name\":\"DECOMPVAR\",\"description\":\"Provides plot of the variance of model decomposition estimates.\",\"type\":\"standalone\"},{\"name\":\"FDECOMP\",\"description\":\"Provides plot for the filtered decomposition estimates.\",\"type\":\"standalone\"},{\"name\":\"FDECOMPVAR\",\"description\":\"Provides plot for the filtered decomposition estimates and their variances.\",\"type\":\"standalone\"},{\"name\":\"FORECASTS\",\"description\":\"Provides plot of the series forecasts.\",\"type\":\"standalone\"},{\"name\":\"TREND\",\"description\":\"Provides plot of the smoothed trend.\",\"type\":\"standalone\"},{\"name\":\"(<DECOMP> <DECOMPVAR> <FDECOMP> <FDECOMPVAR> <FORECASTS> <TREND>)\",\"description\":\"Requests a combination of forecast and model decomposition plots.\",\"type\":\"standalone\"}]},{\"name\":\"PRINT=\",\"optional\":true,\"description\":\"Controls the printing of the series forecasts and the printing of smoothed model decomposition estimates. By default, the series forecasts are printed only for the forecast horizon specified by the LEAD= option; that is, the one-step-ahead predicted values are not printed.\",\"help\":\"PRINT=DECOMP | FDECOMP | FORECASTS | NONE | (&lt;DECOMP&gt; &lt;FDECOMP&gt; &lt;FORECASTS&gt;)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DECOMP\",\"description\":\"Prints smoothed estimates of the following effects: trend, trend plus regression, trend plus regression plus cycle, and sum of all components except the irregular.\",\"type\":\"standalone\"},{\"name\":\"FDECOMP\",\"description\":\"Prints filtered estimates of DECOMP effects.\",\"type\":\"standalone\"},{\"name\":\"FORECASTS\",\"description\":\"Requests printing of forecasts for the entire forecast span.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"Suppresses the printing of all the forecast output.\",\"type\":\"standalone\"},{\"name\":\"(<DECOMP> <FDECOMP> <FORECASTS>)\",\"description\":\"Requests a combination of print options.\",\"type\":\"standalone\"}]},{\"name\":\"SKIPFIRST=\",\"optional\":true,\"description\":\"Indicates that some early part of the data needs to be ignored during the forecasting calculations. This can be useful if there is a reason to believe that the model being used for forecasting is not appropriate for this portion of the data. SKIPFIRST=10 results in skipping the first 10 measurements of the response series during the forecast calculations. The default is SKIPFIRST=0.\",\"help\":\"SKIPFIRST=*integer*\",\"type\":\"value\"}]},{\"name\":\"ID\",\"description\":\"The ID statement names a numeric variable that identifies observations in the input and output data sets. The ID variable’s values are assumed to be SAS date, time, or datetime values. In addition, the ID statement specifies the frequency associated with the time series.\",\"help\":\"ID &lt;ALIGN=&lt;BEGINNING | MIDDLE | ENDING&gt;&gt;&lt;INTERVAL=&lt;DAY | HOUR | MINUTE&gt;... &gt;\",\"arguments\":[{\"name\":\"ALIGN=\",\"optional\":true,\"description\":\"Controls the alignment of SAS dates used to identify output observations. The ALIGN= option is used to align the ID variable with the beginning, middle, or end of the time ID interval specified by the INTERVAL= option.\",\"help\":\"ALIGN=BEGINNING | MIDDLE | ENDING\",\"type\":\"choice\",\"arguments\":[{\"name\":\"BEGINNING\",\"description\":\"Aligns the ID variable with the beginning of the time ID interval specified by the INTERVAL= option.\",\"type\":\"standalone\"},{\"name\":\"MIDDLE\",\"description\":\"Aligns the ID variable with the middle of the time ID interval specified by the INTERVAL= option.\",\"type\":\"standalone\"},{\"name\":\"ENDING\",\"description\":\"Aligns the ID variable with the end of the time ID interval specified by the INTERVAL= option.\",\"type\":\"standalone\"}]},{\"name\":\"INTERVAL=\",\"optional\":true,\"description\":\"Specifies the time interval between observations. This option is required in the ID statement.\",\"help\":\"INTERVAL=DAY | HOUR | MINUTE | SECOND | WEEK | MONTH | YEAR | QTR | TENDAY | SEMIMONTH | SEMIYEAR\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DAY\",\"description\":\"DAY interval\",\"type\":\"standalone\"},{\"name\":\"HOUR\",\"description\":\"HOUR interval\",\"type\":\"standalone\"},{\"name\":\"MINUTE\",\"description\":\"MINUTE interval\",\"type\":\"standalone\"},{\"name\":\"SECOND\",\"description\":\"SECOND interval\",\"type\":\"standalone\"},{\"name\":\"WEEK\",\"description\":\"WEEK interval\",\"type\":\"standalone\"},{\"name\":\"MONTH\",\"description\":\"MONTH interval\",\"type\":\"standalone\"},{\"name\":\"YEAR\",\"description\":\"YEAR interval\",\"type\":\"standalone\"},{\"name\":\"QTR\",\"description\":\"QTR interval\",\"type\":\"standalone\"},{\"name\":\"TENDAY\",\"description\":\"TENDAY interval\",\"type\":\"standalone\"},{\"name\":\"SEMIMONTH\",\"description\":\"SEMIMONTH interval\",\"type\":\"standalone\"},{\"name\":\"SEMIYEAR\",\"description\":\"SEMIYEAR interval\",\"type\":\"standalone\"}]}]},{\"name\":\"IRREGULAR\",\"description\":\"The IRREGULAR statement includes an irregular component in the model. There can be at most one IRREGULAR statement in the model specification. The irregular component corresponds to the overall random error, εt, in the model. By default the irregular component is modeled as white noise—that is, as a sequence of independent, identically distributed, zero-mean, Gaussian random variables. However, you can also model it as an autoregressive moving-average (ARMA) process.\",\"help\":\"IRREGULAR &lt;NOEST&gt;&lt;PLOT=&lt;FILTER | SMOOTH | (&lt;FILTER&gt; &lt;SMOOTH&gt;)&gt;&gt;&lt;PRINT=&lt;FILTER | SMOOTH | (&lt;FILTER&gt; &lt;SMOOTH&gt;)&gt;&gt; ...\",\"arguments\":[{\"name\":\"AR=\",\"optional\":true,\"description\":\"[ARMA Specification Option]\",\"type\":\"value\"},{\"name\":\"MA=\",\"optional\":true,\"description\":\"[ARMA Specification Option]\",\"type\":\"value\"},{\"name\":\"NOEST\",\"optional\":true,\"description\":\"Fixes the value of σ²ε to the value specified in the VARIANCE= option.\",\"type\":\"standalone\"},{\"name\":\"NOEST=\",\"optional\":true,\"description\":\"[ARMA Specification Option]\",\"type\":\"value\"},{\"name\":\"P=\",\"optional\":true,\"description\":\"[ARMA Specification Option]\",\"help\":\"P=*integer*\",\"type\":\"value\"},{\"name\":\"PLOT=\",\"optional\":true,\"description\":\"Requests plotting of the filtered or smoothed estimate of the irregular component.\",\"help\":\"PLOT=FILTER | SMOOTH | (&lt;FILTER&gt; &lt;SMOOTH&gt;)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"FILTER\",\"description\":\"Requests plotting of the filtered estimate of the irregular component.\",\"type\":\"standalone\"},{\"name\":\"SMOOTH\",\"description\":\"Requests plotting of the smoothed estimate of the irregular component.\",\"type\":\"standalone\"},{\"name\":\"(<FILTER> <SMOOTH>)\",\"description\":\"Requests plotting of the filtered and smoothed estimates of the irregular component.\",\"type\":\"standalone\"}]},{\"name\":\"PRINT=\",\"optional\":true,\"description\":\"Requests printing of the filtered or smoothed estimate of the irregular component.\",\"help\":\"PRINT=FILTER | SMOOTH | (&lt;FILTER&gt; &lt;SMOOTH&gt;)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"FILTER\",\"description\":\"Requests printing of the filtered estimate of the irregular component.\",\"type\":\"standalone\"},{\"name\":\"SMOOTH\",\"description\":\"Requests printing of the smoothed estimate of the irregular component.\",\"type\":\"standalone\"},{\"name\":\"(<FILTER> <SMOOTH>)\",\"description\":\"Requests printing of the filtered and smoothed estimates of the irregular component.\",\"type\":\"standalone\"}]},{\"name\":\"Q=\",\"optional\":true,\"description\":\"[ARMA Specification Option]\",\"help\":\"Q=*integer*\",\"type\":\"value\"},{\"name\":\"S=\",\"optional\":true,\"description\":\"[ARMA Specification Option]\",\"help\":\"S=*integer*\",\"type\":\"value\"},{\"name\":\"SAR=\",\"optional\":true,\"description\":\"[ARMA Specification Option]\",\"type\":\"value\"},{\"name\":\"SMA=\",\"optional\":true,\"description\":\"[ARMA Specification Option]\",\"type\":\"value\"},{\"name\":\"SP=\",\"optional\":true,\"description\":\"[ARMA Specification Option]\",\"help\":\"SP=*integer*\",\"type\":\"value\"},{\"name\":\"SQ=\",\"optional\":true,\"description\":\"[ARMA Specification Option]\",\"help\":\"SQ=*integer*\",\"type\":\"value\"},{\"name\":\"VARIANCE=\",\"optional\":true,\"description\":\"Specifies an initial value for σ²є during the parameter estimation process. Any nonnegative value, including zero, is an acceptable starting value.\",\"help\":\"VARIANCE=*value*\",\"type\":\"value\"}]},{\"name\":\"LEVEL\",\"description\":\"The LEVEL statement is used to include a level component in the model. The level component, either by itself or together with a slope component (see the SLOPE statement), forms the trend component, µt, of the model.\",\"help\":\"LEVEL &lt;CHECKBREAK&gt;&lt;NOEST&gt;&lt;PLOT=&lt;FILTER | SMOOTH | (&lt;FILTER&gt; &lt;SMOOTH&gt;)&gt;&gt; ...\",\"arguments\":[{\"name\":\"CHECKBREAK\",\"optional\":true,\"description\":\"Turns on the checking of breaks in the level component.\",\"type\":\"standalone\"},{\"name\":\"NOEST\",\"optional\":true,\"description\":\"Fixes the value of σ²η to the value specified in the VARIANCE= option.\",\"type\":\"standalone\"},{\"name\":\"PLOT=\",\"optional\":true,\"description\":\"Requests plotting of the filtered or smoothed estimate of the level component.\",\"help\":\"PLOT=FILTER | SMOOTH | (&lt;FILTER&gt; &lt;SMOOTH&gt;)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"FILTER\",\"description\":\"Requests plotting of the filtered estimate of the level component.\",\"type\":\"standalone\"},{\"name\":\"SMOOTH\",\"description\":\"Requests plotting of the smoothed estimate of the level component.\",\"type\":\"standalone\"},{\"name\":\"(<FILTER> <SMOOTH>)\",\"description\":\"Requests plotting of the filtered and smoothed estimates of the level component.\",\"type\":\"standalone\"}]},{\"name\":\"PRINT=\",\"optional\":true,\"description\":\"Requests printing of the filtered or smoothed estimate of the irregular component.\",\"help\":\"PRINT=FILTER | SMOOTH | (&lt;FILTER&gt; &lt;SMOOTH&gt;)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"FILTER\",\"description\":\"Requests printing of the filtered estimate of the level component.\",\"type\":\"standalone\"},{\"name\":\"SMOOTH\",\"description\":\"Requests printing of the smoothed estimate of the level component.\",\"type\":\"standalone\"},{\"name\":\"(<FILTER> <SMOOTH>)\",\"description\":\"Requests printing of the filtered and smoothed estimates of the level component.\",\"type\":\"standalone\"}]},{\"name\":\"VARIANCE=\",\"optional\":true,\"description\":\"Specifies an initial value for σ²η, the disturbance variance in the µt equation at the start of the parameter estimation process. Any nonnegative value, including zero, is an acceptable starting value.\",\"help\":\"VARIANCE=*value*\",\"type\":\"value\"}]},{\"name\":\"MODEL\",\"description\":\"The MODEL statement specifies the response variable and, optionally, the predictor or regressor variables for the UCM model. This is a required statement in the UCM procedure. The predictors specified in the MODEL statement are assumed to have a linear and time-invariant relationship with the response. The predictors that have time-varying regression coefficients are specified separately in the RANDOMREG statement. Similarly, the predictors that have a nonlinear effect on the response variable are specified separately in the SPLINEREG statement. Only one MODEL statement can be specified.\",\"help\":\"MODEL dependent &lt;= regressors&gt; \"},{\"name\":\"NLOPTIONS\",\"description\":\"PROC UCM uses the nonlinear optimization (NLO) subsystem to perform the nonlinear optimization of the likelihood function during the estimation of model parameters. You can use the NLOPTIONS statement to control different aspects of this optimization process. For most problems the default settings of the optimization process are adequate. However, in some cases it might be useful to change the optimization technique or to change the maximum number of iterations. This can be done by using the TECH= and MAXITER= options in the NLOPTIONS statement as follows: nloptions tech=dbldog maxiter=200;\",\"help\":\"NLOPTIONS &lt;ABSCONV= | ABSTOL=r&gt;&lt;ABSFCONV=r[n] | ABSFTOL=r[n&gt;&lt;ABSGCONV=r[n] | ABSGTOL=r[n&gt; ...\",\"arguments\":[{\"name\":\"ABSCONV=\",\"optional\":true,\"aliases\":[\"ABSTOL=\"],\"description\":\"Specifies an absolute function convergence criterion. The default value of r is the negative square root of the largest double-precision value, which serves only as a protection against overflows.\",\"type\":\"value\"},{\"name\":\"ABSFCONV=\",\"optional\":true,\"aliases\":[\"ABSFTOL=\"],\"description\":\"Specifies an absolute function convergence criterion. The default value is r=0. The optional integer value n specifies the number of successive iterations for which the criterion must be satisfied before the process can be terminated.\",\"type\":\"value\"},{\"name\":\"ABSGCONV=\",\"optional\":true,\"aliases\":[\"ABSGTOL=\"],\"description\":\"Specifies an absolute gradient convergence criterion. The default value is r=1E-5. The optional integer value n specifies the number of successive iterations for which the criterion must be satisfied before the process can be terminated.\",\"type\":\"value\"},{\"name\":\"ABSXCONV=\",\"optional\":true,\"aliases\":[\"ABSXTOL=\"],\"description\":\"Specifies the absolute parameter convergence criterion. The default is r=1E-8 for the NMSIMP technique and r=0 otherwise. The optional integer value n specifies the number of successive iterations for which the criterion must be satisfied before the process can terminate.\",\"type\":\"value\"},{\"name\":\"DAMPSTEP=\",\"optional\":true,\"description\":\"Specifies that the initial step length value a⁰ for each line search (used by the QUANEW, HYQUAN, CONGRA, or NEWRAP technique) cannot be larger than r times the step length value used in the former iteration. If the DAMPSTEP option is specified but r is not specified, the default is r=2. The DAMPSTEP=r option can prevent the line-search algorithm from repeatedly stepping into regions where some objective functions are difficult to compute or where they could lead to floating point overflows during the computation of objective functions and their derivatives. The DAMPSTEP=r option can save time-costly function calls during the line searches of objective functions that result in very small steps.\",\"type\":\"value\"},{\"name\":\"FCONV2=\",\"optional\":true,\"aliases\":[\"FTOL2=\"],\"description\":\"Specifies another function convergence criterion.\",\"type\":\"value\"},{\"name\":\"FCONV=\",\"optional\":true,\"aliases\":[\"FTOL=\"],\"description\":\"Specifies a relative function convergence criterion.\",\"type\":\"value\"},{\"name\":\"FSIZE=\",\"optional\":true,\"description\":\"Specifies the FSIZE parameter of the relative function and relative gradient termination criteria. The default value is r=0.\",\"help\":\"FSIZE=*r*\",\"type\":\"value\"},{\"name\":\"GCONV=\",\"optional\":true,\"aliases\":[\"GTOL=\"],\"description\":\"Specifies a relative gradient convergence criterion. The default value is r=1E-8. The optional integer value n specifies the number of successive iterations for which the criterion must be satisfied before the process can terminate.\",\"type\":\"value\"},{\"name\":\"HESCAL=\",\"optional\":true,\"aliases\":[\"HS=\"],\"description\":\"Specifies the scaling version of the Hessian matrix used in NRRIDG, TRUREG, NEWRAP, or DBLDOG optimization.\",\"help\":\"HESCAL=0 | 1 | 2 | 3\",\"type\":\"choice\",\"arguments\":[{\"name\":\"0\",\"description\":\"Specifies that no scaling is done.\",\"type\":\"standalone\"},{\"name\":\"1\",\"description\":\"Specifies the Moré (1978) scaling update\",\"type\":\"standalone\"},{\"name\":\"2\",\"description\":\"Specifies the Dennis, Gay, and Welsch (1981) scaling update\",\"type\":\"standalone\"},{\"name\":\"3\",\"description\":\"Specifies that di is reset in each iteration\",\"type\":\"standalone\"}]},{\"name\":\"INHESSIAN=\",\"optional\":true,\"aliases\":[\"INHESS=\"],\"description\":\"Specifies how the initial estimate of the approximate Hessian is defined for the quasi-Newton techniques QUANEW and DBLDOG.\",\"type\":\"value\"},{\"name\":\"INSTEP=\",\"optional\":true,\"description\":\"Reduces the length of the first trial step during the line search of the first iterations.\",\"help\":\"INSTEP=*r*\",\"type\":\"value\"},{\"name\":\"LINESEARCH=\",\"optional\":true,\"aliases\":[\"LIS=\"],\"description\":\"Specifies the line-search method for the CONGRA, QUANEW, and NEWRAP optimization techniques.\",\"help\":\"LINESEARCH=1 | 2 | 3 | 4 | 5 | 6 | 7 | 8\",\"type\":\"choice\",\"arguments\":[{\"name\":\"1\",\"description\":\"Specifies a line-search method that needs the same number of function and gradient calls for cubic interpolation and cubic extrapolation; this method is similar to one used by the Harwell subroutine library.\",\"type\":\"standalone\"},{\"name\":\"2\",\"description\":\"Specifies a line-search method that needs more function calls than gradient calls for quadratic and cubic interpolation and cubic extrapolation; this method is implemented as shown in Fletcher (1987) and can be modified to an exact line search by using the LSPRECISION= option.\",\"type\":\"standalone\"},{\"name\":\"3\",\"description\":\"Specifies a line-search method that needs the same number of function and gradient calls for cubic interpolation and cubic extrapolation; this method is implemented as shown in Fletcher (1987) and can be modified to an exact line search by using the LSPRECISION= option.\",\"type\":\"standalone\"},{\"name\":\"4\",\"description\":\"Specifies a line-search method that needs the same number of function and gradient calls for stepwise extrapolation and cubic interpolation\",\"type\":\"standalone\"},{\"name\":\"5\",\"description\":\"Specifies a line-search method that is a modified version of LIS=4.\",\"type\":\"standalone\"},{\"name\":\"6\",\"description\":\"Specifies golden section line search (Polak 1971), which uses only function values for linear approximation.\",\"type\":\"standalone\"},{\"name\":\"7\",\"description\":\"Specifies bisection line search (Polak 1971), which uses only function values for linear approximation.\",\"type\":\"standalone\"},{\"name\":\"8\",\"description\":\"Specifies Armijo line-search technique (Polak 1971), which uses only function values for linear approximation.\",\"type\":\"standalone\"}]},{\"name\":\"LSPRECISION=\",\"optional\":true,\"aliases\":[\"LSP=\"],\"description\":\"Specifies the degree of accuracy that should be obtained by the line-search algorithms LIS=2 and LIS=3. The default LSPRECISION= values are:\",\"type\":\"value\"},{\"name\":\"MAXFUNC=\",\"optional\":true,\"aliases\":[\"MAXFU=\"],\"description\":\"Requires the number of function calls to be no larger than i. The default values are:\",\"type\":\"value\"},{\"name\":\"MAXITER=\",\"optional\":true,\"aliases\":[\"MAXIT=\"],\"description\":\"Requires the number of iterations to be no larger than i. The default values are: o For TECH= TRUREG, NRRIDG, NEWRAP: i=50 o For TECH= QUANEW, DBLDOG: i=200 o For TECH= CONGRA: i=400 o For TECH= NMSIMP: i=1000 These default values are also valid when i is specified as a missing value.\",\"type\":\"value\"},{\"name\":\"MAXSTEP=\",\"optional\":true,\"description\":\"Specifies an upper bound for the step length of the line-search algorithms during the first n iterations.\",\"help\":\"MAXSTEP=*r[n*\",\"type\":\"value\"},{\"name\":\"MAXTIME=\",\"optional\":true,\"description\":\"Requires the CPU time to be no larger than r. The default value of the MAXTIME= option is the largest double floating-point number on your computer. Note that the time specified by the MAXTIME= option is checked only once at the end of each iteration. Therefore, the actual running time can be much longer than that specified by the MAXTIME= option. The actual running time includes the rest of the time needed to finish the iteration and the time needed to generate the output of the results.\",\"help\":\"MAXTIME=*r*\",\"type\":\"value\"},{\"name\":\"MINITER=\",\"optional\":true,\"aliases\":[\"MINIT=\"],\"description\":\"Specifies the minimum number of iterations. The default value is 0. If you request more iterations than are actually needed for convergence to a stationary point, the optimization algorithms can behave strangely. For example, the effect of rounding errors can prevent the algorithm from continuing for the required number of iterations.\",\"type\":\"value\"},{\"name\":\"NOPRINT\",\"optional\":true,\"description\":\"Suppresses the output.\",\"type\":\"standalone\"},{\"name\":\"PALL\",\"optional\":true,\"description\":\"[Displays all optional output for optimization.\",\"type\":\"standalone\"},{\"name\":\"PHISTORY\",\"optional\":true,\"description\":\"Displays the optimization history.\",\"type\":\"standalone\"},{\"name\":\"PHISTPARMS\",\"optional\":true,\"description\":\"Display parameter estimates in each iteration.\",\"type\":\"standalone\"},{\"name\":\"PINIT\",\"optional\":true,\"description\":\"Displays the initial values and derivatives (if available).\",\"type\":\"standalone\"},{\"name\":\"PSHORT\",\"optional\":true,\"description\":\"Restricts the amount of default output.\",\"type\":\"standalone\"},{\"name\":\"PSUMMARY\",\"optional\":true,\"description\":\"Restricts the amount of default displayed output to a short form of iteration history and notes, warnings, and errors.\",\"type\":\"standalone\"},{\"name\":\"RESTART=\",\"optional\":true,\"aliases\":[\"REST=\"],\"description\":\"Specifies that the QUANEW or CONGRA algorithm is restarted with a steepest descent/ascent search direction after, at most, i iterations, i > 0.\",\"type\":\"value\"},{\"name\":\"SOCKET=\",\"optional\":true,\"description\":\"Specifies the fileref that contains the information needed for remote monitoring.\",\"type\":\"value\"},{\"name\":\"TECHNIQUE=\",\"optional\":true,\"aliases\":[\"TECH=\"],\"description\":\"Specifies the optimization technique.\",\"help\":\"TECHNIQUE=CONGRA | DBLDOG | NMSIMP | NEWRAP | NRRIDG | QUANEW | TRUREG | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"CONGRA\",\"description\":\"Chooses one of four different conjugate-gradient optimization algorithms, which can be more precisely defined with the UPDATE= option and modified with the LINESEARCH= option.\",\"type\":\"standalone\"},{\"name\":\"DBLDOG\",\"description\":\"Performs a version of double-dogleg optimization, which uses the gradient to update an approximation of the Cholesky factor of the Hessian.\",\"type\":\"standalone\"},{\"name\":\"NMSIMP\",\"description\":\"Performs a Nelder-Mead simplex optimization.\",\"type\":\"standalone\"},{\"name\":\"NEWRAP\",\"description\":\"Performs a usually stable but, for large problems, memory- and time-consuming Newton-Raphson optimization technique. The algorithm combines a line-search algorithm with ridging, and it can be modified with the LINESEARCH= option.\",\"type\":\"standalone\"},{\"name\":\"NRRIDG\",\"description\":\"Performs a usually stable but, for large problems, memory- and time-consuming Newton-Raphson optimization technique. This algorithm does not perform a line search.\",\"type\":\"standalone\"},{\"name\":\"QUANEW\",\"description\":\"Chooses one of four different quasi-Newton optimization algorithms that can be more precisely defined with the UPDATE= option and modified with the LINESEARCH= option.\",\"type\":\"standalone\"},{\"name\":\"TRUREG\",\"description\":\"Performs a usually very stable but, for large problems, memory- and time-consuming trust-region optimization technique. The algorithm is implemented similar to Gay (1983) and Moré and Sorensen (1983).\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"Does not perform any optimization. This option is similar to METHOD=NONE, but TECH=NONE also computes and displays residuals and goodness of fit statistics.\",\"type\":\"standalone\"}]},{\"name\":\"UPDATE=\",\"optional\":true,\"aliases\":[\"UPD=\"],\"description\":\"Specifies the update method for the quasi-Newton, double-dogleg, or conjugate-gradient optimization technique.\",\"help\":\"UPDATE=BFGS | DBFGS | DDFP | DFP | PB | FR | PR | CD\",\"type\":\"choice\",\"arguments\":[{\"name\":\"BFGS\",\"description\":\"Performs the original Broyden, Fletcher, Goldfarb, and Shanno (BFGS) update of the inverse Hessian matrix.\",\"type\":\"standalone\"},{\"name\":\"DBFGS\",\"description\":\"Performs the dual BFGS update of the Cholesky factor of the Hessian matrix. This is the default update method.\",\"type\":\"standalone\"},{\"name\":\"DDFP\",\"description\":\"Performs the dual Davidon, Fletcher, and Powell (DFP) update of the Cholesky factor of the Hessian matrix.\",\"type\":\"standalone\"},{\"name\":\"DFP\",\"description\":\"Performs the original DFP update of the inverse Hessian matrix.\",\"type\":\"standalone\"},{\"name\":\"PB\",\"description\":\"Performs the automatic restart update method of Powell (1977) and Beale (1972).\",\"type\":\"standalone\"},{\"name\":\"FR\",\"description\":\"Performs the Fletcher-Reeves update (Fletcher 1987).\",\"type\":\"standalone\"},{\"name\":\"PR\",\"description\":\"Performs the Polak-Ribiere update (Fletcher 1987).\",\"type\":\"standalone\"},{\"name\":\"CD\",\"description\":\"Performs a conjugate-descent update of Fletcher (1987).\",\"type\":\"standalone\"}]},{\"name\":\"XCONV=\",\"optional\":true,\"aliases\":[\"XTOL=\"],\"description\":\"Specifies the relative parameter convergence criterion. For all techniques except NMSIMP, termination requires a small relative parameter change in subsequent iterations. The default value is r=1E-8 for the NMSIMP technique and r=0 otherwise. The optional integer value n specifies the number of successive iterations for which the criterion must be satisfied before the process can be terminated.\",\"type\":\"value\"},{\"name\":\"XSIZE=\",\"optional\":true,\"description\":\"Specifies the XSIZE parameter of the relative parameter termination criterion. The default value is r=0.\",\"type\":\"value\"}]},{\"name\":\"OUTLIER\",\"description\":\"The OUTLIER statement enables you to control the reporting of the additive outliers (AO) and level shifts (LS) in the response series. The AOs are searched by default. You can turn on the search for LSs by using the CHECKBREAK option in the LEVEL statement.\",\"help\":\"OUTLIER &lt;ALPHA=significance-level&gt;&lt;MAXNUM=number&gt;&lt;MAXPCT=number&gt; ...\",\"arguments\":[{\"name\":\"ALPHA=\",\"optional\":true,\"description\":\"Specifies the significance level for reporting the outliers. The default is 0.05.\",\"help\":\"ALPHA=*significance-level*\",\"type\":\"value\"},{\"name\":\"MAXNUM=\",\"optional\":true,\"description\":\"Limits the number of outliers to search. The default is MAXNUM=5.\",\"help\":\"MAXNUM=*number*\",\"type\":\"value\"},{\"name\":\"MAXPCT=\",\"optional\":true,\"description\":\"Is similar to the MAXNUM= option. In the MAXPCT= option you can limit the number of outliers to search for according to a percentage of the series length. The default is MAXPCT=1. When both of these options are specified, the minimum of the two search numbers is used.\",\"help\":\"MAXPCT=*number*\",\"type\":\"value\"},{\"name\":\"PRINT=\",\"optional\":true,\"description\":\"Enables you to control the printed output of the outlier search.\",\"help\":\"PRINT=SHORT | DETAIL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"SHORT\",\"description\":\"Produces an outlier summary table containing the most significant outliers, either AO or LS, discovered in the outlier search.\",\"type\":\"standalone\"},{\"name\":\"DETAIL\",\"description\":\"Produces, in addition to the outlier summary table, separate tables containing the AO and LS structural break chi² statistics computed at each time point in the estimation span.\",\"type\":\"standalone\"}]}]},{\"name\":\"RANDOMREG\",\"description\":\"The RANDOMREG statement is used to specify regressors with time-varying regression coefficients. Each regression coefficient is assumed to evolve as a random walk.\",\"help\":\"RANDOMREG &lt;NOEST&gt;&lt;PLOT=&lt;FILTER | SMOOTH | (&lt;FILTER&gt; &lt;SMOOTH&gt;)&gt;&gt;&lt;PRINT=&lt;FILTER | SMOOTH | (&lt;FILTER&gt; &lt;SMOOTH&gt;)&gt;&gt; ...\",\"arguments\":[{\"name\":\"NOEST\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Fixes the value of σ² to the value specified in the VARIANCE= option.\",\"type\":\"standalone\"},{\"name\":\"PLOT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests plotting of the filtered or smoothed estimate of the time-varying regression coefficient.\",\"help\":\"PLOT=FILTER | SMOOTH | (&lt;FILTER&gt; &lt;SMOOTH&gt;)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"FILTER\",\"followsDelimiter\":\"/\",\"description\":\"Requests plotting of the filtered estimate of the time-varying regression coefficient.\",\"type\":\"standalone\"},{\"name\":\"SMOOTH\",\"followsDelimiter\":\"/\",\"description\":\"Requests plotting of the smoothed estimate of the time-varying regression coefficient.\",\"type\":\"standalone\"},{\"name\":\"(<FILTER> <SMOOTH>)\",\"followsDelimiter\":\"/\",\"description\":\"Requests plotting of the filtered and smoothed estimates of the time-varying regression coefficient.\",\"type\":\"standalone\"}]},{\"name\":\"PRINT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests printing of the filtered or smoothed estimate of the time-varying regression coefficient.\",\"help\":\"PRINT=FILTER | SMOOTH | (&lt;FILTER&gt; &lt;SMOOTH&gt;)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"FILTER\",\"followsDelimiter\":\"/\",\"description\":\"Requests printing of the filtered estimate of the time-varying regression coefficient.\",\"type\":\"standalone\"},{\"name\":\"SMOOTH\",\"followsDelimiter\":\"/\",\"description\":\"Requests printing of the smoothed estimate of the time-varying regression coefficient.\",\"type\":\"standalone\"},{\"name\":\"(<FILTER> <SMOOTH>)\",\"followsDelimiter\":\"/\",\"description\":\"Requests printing of the filtered and smoothed estimates of the time-varying regression coefficient.\",\"type\":\"standalone\"}]},{\"name\":\"VARIANCE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies an initial value for σ² during the parameter estimation process. Any nonnegative value, including zero, is an acceptable starting value.\",\"help\":\"VARIANCE=*value*\",\"type\":\"value\"}]},{\"name\":\"SEASON\",\"description\":\"The SEASON or SEASONAL statement is used to specify a seasonal component, γt, in the model. A seasonal component can be one of the two types, DUMMY or TRIG.\",\"help\":\"SEASON &lt;DROPHARMONICS|DROPH=number-list | n TO m BY p&gt;&lt;KEEPHARMONICS|KEEPH=number-list | n TO m BY p&gt;&lt;LENGTH=integer&gt; ...\",\"arguments\":[{\"name\":\"DROPHARMONICS=\",\"optional\":true,\"aliases\":[\"DROPH=\"],\"description\":\"Enables you to drop some harmonics γ-j,t from the full set of harmonics used to obtain a trigonometric seasonal. The drop list can include any integer between 1 and [s/2], s being the season length.\",\"type\":\"value\"},{\"name\":\"KEEPHARMONICS=\",\"optional\":true,\"aliases\":[\"KEEPH=\"],\"description\":\"Enables you to keep only the harmonics γ-j,t listed in the option to obtain a trigonometric seasonal. The keep list can include any integer between 1 and [s/2], s being the season length.\",\"type\":\"value\"},{\"name\":\"LENGTH=\",\"optional\":true,\"description\":\"Specifies the season length, s. This is a required option in this statement. The season length can be any integer greater than or equal to 2. Typical examples of season lengths are 12, corresponding to the monthly seasonality, or 4, corresponding to the quarterly seasonality.\",\"help\":\"LENGTH=*integer*\",\"type\":\"value\"},{\"name\":\"NOEST\",\"optional\":true,\"description\":\"Fixes the value of the disturbance variance parameter to the value specified in the VARIANCE= option.\",\"type\":\"standalone\"},{\"name\":\"PLOT=\",\"optional\":true,\"description\":\"Requests plots of the season component. When you specify only one plot request, you can omit the parentheses around the plot request.\",\"help\":\"PLOT=FILTER | SMOOTH | F_ANNUAL | S_ANNUAL | (&lt;FILTER&gt; &lt;SMOOTH&gt; &lt;F_ANNUAL&gt; &lt;S_ANNUAL&gt;)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"FILTER\",\"description\":\"Requests plot of the filtered estimates of the season component, γt.\",\"type\":\"standalone\"},{\"name\":\"SMOOTH\",\"description\":\"Requests plot of the smoothed estimates of the season component, γt.\",\"type\":\"standalone\"},{\"name\":\"F_ANNUAL\",\"description\":\"Requests plot of the \\\"annual\\\" variation in the filtered estimates of the season component, γt.\",\"type\":\"standalone\"},{\"name\":\"S_ANNUAL\",\"description\":\"Requests plot of the \\\"annual\\\" variation in the smoothed estimates of the season component, γt.\",\"type\":\"standalone\"},{\"name\":\"(<FILTER> <SMOOTH> <F_ANNUAL> <S_ANNUAL>)\",\"description\":\"Requests plots for a combination of FILTER, SMOOTH, F_ANNUAL, and S_ANNUAL plot-requests.\",\"type\":\"standalone\"}]},{\"name\":\"PRINT=\",\"optional\":true,\"description\":\"Requests printing of the filtered or smoothed estimate of the seasonal component, γt.\",\"help\":\"PRINT=FILTER | SMOOTH | (&lt;FILTER SMOOTH&gt;)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"FILTER\",\"description\":\"Requests printing of the filtered estimate of the seasonal component, γt.\",\"type\":\"standalone\"},{\"name\":\"SMOOTH\",\"description\":\"Requests printing of the smoothed estimate of the seasonal component, γt.\",\"type\":\"standalone\"},{\"name\":\"(<FILTER SMOOTH>)\",\"description\":\"Requests printing of the filtered and smoothed estimates of the seasonal component, γt.\",\"type\":\"standalone\"}]},{\"name\":\"PRINT=\",\"optional\":true,\"description\":\"Requests printing of the summary of harmonics present in the seasonal component. This option is valid only for the trigonometric seasonal component.\",\"help\":\"PRINT=HARMONICS\",\"type\":\"value\"},{\"name\":\"TYPE=\",\"optional\":true,\"description\":\"Specifies the type of the seasonal component. The default type is DUMMY.\",\"help\":\"TYPE=DUMMY | TRIG\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DUMMY\",\"description\":\"DUMMY [No description available]\",\"type\":\"standalone\"},{\"name\":\"TRIG\",\"description\":\"TRIG [No description available]\",\"type\":\"standalone\"}]},{\"name\":\"VARIANCE=\",\"optional\":true,\"description\":\"Specifies an initial value for the disturbance variance, σ²ω, σ in the γt equation at the start of the parameter estimation process. Any nonnegative value, including zero, is an acceptable starting value.\",\"help\":\"VARIANCE=*value*\",\"type\":\"value\"}]},{\"name\":\"SLOPE\",\"description\":\"The SLOPE statement is used to include a slope component in the model. The slope component cannot be used without the level component (see the LEVEL statement). The level and slope specifications jointly define the trend component of the model. A SLOPE statement without the accompanying LEVEL statement is ignored.\",\"help\":\"SLOPE &lt;NOEST&gt;&lt;PLOT=&lt;FILTER | SMOOTH | (&lt;FILTER&gt; &lt;SMOOTH&gt;)&gt;&gt;&lt;PRINT=&lt;FILTER | SMOOTH | (&lt;FILTER&gt; &lt;SMOOTH&gt;)&gt;&gt; ...\",\"arguments\":[{\"name\":\"NOEST\",\"optional\":true,\"description\":\"Fixes the value of the disturbance variance, σ²ξ, to the value specified in the VARIANCE= option.\",\"type\":\"standalone\"},{\"name\":\"PLOT=\",\"optional\":true,\"description\":\"Requests plotting of the filtered or smoothed estimate of the slope component.\",\"help\":\"PLOT=FILTER | SMOOTH | (&lt;FILTER&gt; &lt;SMOOTH&gt;)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"FILTER\",\"description\":\"Requests plotting of the filtered estimate of the slope component.\",\"type\":\"standalone\"},{\"name\":\"SMOOTH\",\"description\":\"Requests plotting of the smoothed estimate of the slope component.\",\"type\":\"standalone\"},{\"name\":\"(<FILTER> <SMOOTH>)\",\"description\":\"Requests plotting of the filtered and smoothed estimates of the slope component.\",\"type\":\"standalone\"}]},{\"name\":\"PRINT=\",\"optional\":true,\"description\":\"Requests printing of the filtered or smoothed estimate of the slope component, βt.\",\"help\":\"PRINT=FILTER | SMOOTH | (&lt;FILTER&gt; &lt;SMOOTH&gt;)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"FILTER\",\"description\":\"Requests printing of the filtered estimate of the slope component.\",\"type\":\"standalone\"},{\"name\":\"SMOOTH\",\"description\":\"Requests printing of the smoothed estimate of the slope component.\",\"type\":\"standalone\"},{\"name\":\"(<FILTER> <SMOOTH>)\",\"description\":\"Requests printing of the filtered and smoothed estimates of the slope component.\",\"type\":\"standalone\"}]},{\"name\":\"VARIANCE=\",\"optional\":true,\"description\":\"Specifies an initial value for the disturbance variance, σ²ξ, in the βt equation at the start of the parameter estimation process. Any nonnegative value, including zero, is an acceptable starting value.\",\"help\":\"VARIANCE=*value*\",\"type\":\"value\"}]},{\"name\":\"SPLINEREG\",\"description\":\"The SPLINEREG statement is used to specify a regressor that has a nonlinear relationship with the dependent series that can be approximated by a given β-spline. If the specified spline has degree d and is based on n internal knots, then it is known that it can be written as a linear combination of (n + d + 1) regressors that are derived from the original regressor. The span of these (n + d + 1) derived regressors includes constant; therefore, to avoid multicollinearity with the level component, one of these regressors is dropped. Specifying the SPLINEREG statement is equivalent to specifying a RANDOMREG statement with these derived regressors. There can be multiple SPLINEREG statements. You must specify at least one interior knot, either using the NKNOTS= option or the KNOTS= option.\",\"help\":\"SPLINEREG &lt;DEGREE=integer&gt;&lt;KNOTS=number-list | n TO m BY p&gt;&lt;NKNOTS=m&gt; ...\",\"arguments\":[{\"name\":\"DEGREE=\",\"optional\":true,\"description\":\"Specifies the degree of the spline. It can be any integer larger than or equal to zero. The default value is 3. The polynomial degree should be a small integer, usually 0, 1, 2, or 3. Larger values are rarely useful. If you have any doubt as to what degree to specify, use the default.\",\"help\":\"DEGREE=*integer*\",\"type\":\"value\"},{\"name\":\"KNOTS=\",\"optional\":true,\"description\":\"Specifies the interior knots or break points. The values in the knot list must be nondecreasing and must lie between the minimum and the maximum of the spline regressor values in the input data set. The first time you specify a value in the knot list, it indicates a discontinuity in the th (from DEGREE=n) derivative of the transformation function at the value of the knot. The second mention of a value indicates a discontinuity in the th derivative of the transformation function at the value of the knot. Knots can be repeated any number of times for decreasing smoothness at the break points, but the values in the knot list can never decrease.\",\"type\":\"value\"},{\"name\":\"NKNOTS=\",\"optional\":true,\"description\":\"Creates m knots, the first at the 100/(m+1) percentile, the second at the 200/(m+1) percentile, and so on. Knots are always placed at data values; there is no interpolation. For example, if NKNOTS=3, knots are placed at the 25th percentile, the median, and the 75th percentile. The value specified for the NKNOTS= option must be ≥ 1. You cannot use the NKNOTS=option with the KNOTS= option.\",\"help\":\"NKNOTS=*m*\",\"type\":\"value\"},{\"name\":\"NOEST\",\"optional\":true,\"description\":\"Fixes the value of the regression coefficient random walk disturbance variance to the value specified in the VARIANCE= option.\",\"type\":\"standalone\"},{\"name\":\"PLOT=\",\"optional\":true,\"description\":\"Requests plotting of the filtered or smoothed estimate of the time-varying regression coefficient.\",\"help\":\"PLOT=FILTER | SMOOTH | (&lt;FILTER&gt; &lt;SMOOTH&gt;)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"FILTER\",\"description\":\"Requests plotting of the filtered estimate of the time-varying regression coefficient.\",\"type\":\"standalone\"},{\"name\":\"SMOOTH\",\"description\":\"Requests plotting of the smoothed estimate of the time-varying regression coefficient.\",\"type\":\"standalone\"},{\"name\":\"(<FILTER> <SMOOTH>)\",\"description\":\"Requests plotting of the filtered and smoothed estimates of the time-varying regression coefficient.\",\"type\":\"standalone\"}]},{\"name\":\"PRINT=\",\"optional\":true,\"description\":\"Requests printing of the filtered or smoothed estimate of the time-varying regression coefficient.\",\"help\":\"PRINT=FILTER | SMOOTH | (FILTER SMOOTH)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"FILTER\",\"description\":\"Requests printing of the filtered estimate of the time-varying regression coefficient.\",\"type\":\"standalone\"},{\"name\":\"SMOOTH\",\"description\":\"Requests printing of the smoothed estimate of the time-varying regression coefficient.\",\"type\":\"standalone\"},{\"name\":\"(FILTER SMOOTH)\",\"description\":\"Requests printing of the filtered and smoothed estimates of the time-varying regression coefficient.\",\"type\":\"standalone\"}]},{\"name\":\"VARIANCE=\",\"optional\":true,\"description\":\"Specifies an initial value for the regression coefficient random walk disturbance variance during the parameter estimation process. Any nonnegative value, including zero, is an acceptable starting value.\",\"help\":\"VARIANCE=*value*\",\"type\":\"value\"}]},{\"name\":\"SPLINESEASON\",\"description\":\"The SPLINESEASON statement is used to specify a seasonal pattern that is to be approximated by a given β-spline. If the specified spline has degree d and is based on n internal knots, then it can be written as a linear combination of (n + d) regressors that are derived from the seasonal dummy regressors. The SPLINESEASON specification is equivalent to specifying a RANDOMREG specification with these derived regressors. Such approximation is useful only if the season length is relatively large, at least larger than (n + d).\",\"help\":\"SPLINESEASON &lt;DEGREE=integer&gt;&lt;KNOTS=integer-1 integer-2 ...&gt;&lt;LENGTH=integer&gt; ...\",\"arguments\":[{\"name\":\"DEGREE=\",\"optional\":true,\"description\":\"Specifies the degree of the spline. It can be any integer larger than or equal to zero. The default value is 3.\",\"help\":\"DEGREE=*integer*\",\"type\":\"value\"},{\"name\":\"KNOTS=\",\"optional\":true,\"description\":\"Lists the internal knots. This list of values must be a nondecreasing sequence of integers within the range of 2 to (s - 1), where s is the season length specified in the LENGTH= option. This is a required option in this statement.\",\"type\":\"value\"},{\"name\":\"LENGTH=\",\"optional\":true,\"description\":\"Specifies the season length, s. This is a required option in this statement. The length can be any integer greater than or equal to three.\",\"help\":\"LENGTH=*integer*\",\"type\":\"value\"},{\"name\":\"NOEST\",\"optional\":true,\"description\":\"Fixes the value of the regression coefficient random walk disturbance variance to the value specified in the VARIANCE= option.\",\"type\":\"standalone\"},{\"name\":\"OFFSET=\",\"optional\":true,\"description\":\"Specifies the position of the first measurement within the season, if the first measurement is not at the start of the season. The OFFSET= value must be between one and the season length. The default value is one. The first measurement refers to the start of the estimation span and the forecast span. If these spans differ, their starting measurements must be separated by an integer multiple of the season length.\",\"help\":\"OFFSET=*integer*\",\"type\":\"value\"},{\"name\":\"PLOT=\",\"optional\":true,\"description\":\"Requests plotting of the filtered or smoothed estimate of the season component.\",\"help\":\"PLOT=FILTER | SMOOTH | (&lt;FILTER&gt; &lt;SMOOTH&gt;)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"FILTER\",\"description\":\"Requests plotting of the filtered estimate of the season component.\",\"type\":\"standalone\"},{\"name\":\"SMOOTH\",\"description\":\"Requests plotting of the smoothed estimate of the season component.\",\"type\":\"standalone\"},{\"name\":\"(<FILTER> <SMOOTH>)\",\"description\":\"Requests plotting of the filtered and smoothed estimates of the season component.\",\"type\":\"standalone\"}]},{\"name\":\"PRINT=\",\"optional\":true,\"description\":\"Requests printing of the filtered or smoothed estimate of the spline season component.\",\"help\":\"PRINT=FILTER | SMOOTH | (FILTER SMOOTH)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"FILTER\",\"description\":\"Requests printing of the filtered estimate of the spline season component.\",\"type\":\"standalone\"},{\"name\":\"SMOOTH\",\"description\":\"Requests printing of the smoothed estimate of the spline season component.\",\"type\":\"standalone\"},{\"name\":\"(FILTER SMOOTH)\",\"description\":\"Requests printing of the filtered and smoothed estimates of the spline season component.\",\"type\":\"standalone\"}]},{\"name\":\"RKNOTS=\",\"optional\":true,\"description\":\"Specifies a grouping of knots such that the knots within the same group have identical seasonal values. The knots specified in this option must already be present in the list specified by the KNOTS= option. The knot groups must be non-overlapping and without any repeated knots.\",\"type\":\"value\"},{\"name\":\"VARIANCE=\",\"optional\":true,\"description\":\"Specifies an initial value for the regression coefficient random walk disturbance variance during the parameter estimation process. Any nonnegative value, including zero, is an acceptable starting value.\",\"help\":\"VARIANCE=*value*\",\"type\":\"value\"}]}],\"supportSiteInformation\":{\"docsetId\":\"casecon\",\"docsetVersion\":\"latest\",\"docsetTargetFile\":\"casecon_ucm_toc.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/UNIVARIATE.json",
    "content": "{\"name\":\"UNIVARIATE\",\"statements\":[{\"name\":\"PROC UNIVARIATE\",\"description\":\"The UNIVARIATE procedure provides the following: † o descriptive statistics based on moments (including skewness and kurtosis), quantiles or percentiles (such as the median), frequency tables, and extreme values o histograms that optionally can be fitted with probability density curves for various distributions and with kernel density estimates o cumulative distribution function plots (cdf plots). Optionally, these can be superimposed with probability distribution curves for various distributions. o quantile-quantile plots (Q-Q plots), probability plots, and probability-probability plots (P-P plots). These plots facilitate the comparison of a data distribution with various theoretical distributions. o goodness-of-fit tests for a variety of distributions including the normal o the ability to inset summary statistics on plots o the ability to analyze data sets with a frequency variable o the ability to create output data sets containing summary statistics, histogram intervals, and parameters of fitted curves\",\"help\":\"PROC UNIVARIATE <ALL><ALPHA=α><ANNOTATE=SAS-data-set><CIBASIC <(<TYPE=keyword> <ALPHA=>)>><CIPCTLDF <(<TYPE=keyword> <ALPHA=>)>><CIPCTLNORMAL <(<TYPE=keyword> <ALPHA=>)>><DATA=SAS-data-set><EXCLNPWGT><FREQ><GOUT=graphics-catalog><IDOUT><LOCCOUNT><MODES><MU0=values><NEXTROBS=n><NEXTRVAL=n><NOBYPLOT><NOPRINT><NORMAL><NOTABCONTENTS><NOVARCONTENTS><OUTTABLE=SAS-data-set><PCTLDEF=1 | 2 | 3... ><PLOTSIZE=n><PLOTS><ROBUSTSCALE><ROUND=units><SUMMARYCONTENTS='string'><TRIMMED=values <(<TYPE=keyword> <ALPHA=>)>><VARDEF=DF | N | WDF... ><WINSORIZED=values <(<TYPE=keyword> <ALPHA=>)>>;     \\n\\tBY <DESCENDING><NOTSORTED> ;\\n\\n\\tCDFPLOT <ALPHADELTA=value><ALPHAINITIAL=value><ANNOKEY> ...;\\n\\n\\tCLASS <KEYLEVEL=value | ( value1 value2 )><MISSING><ORDER=<DATA | FORMATTED | FREQ>... > ...;\\n\\n\\tFREQ variable;\\n\\n\\tHISTOGRAM <ALPHADELTA=value><ALPHAINITIAL=value><ANNOKEY> ...;\\n\\n\\tID variable(s);\\n\\n\\tINSET <CFILL=color | BLANK><CFILL=BLANK><DATA=SAS-data-set> ...;\\n\\n\\tOUTPUT <OUT=SAS-data-set><PCTLPRE=prefixes><PCTLPTS=percentiles> ...;\\n\\n\\tPPPLOT <ALPHADELTA=value><ALPHAINITIAL=value><ANNOKEY> ...;\\n\\n\\tPROBPLOT <ALPHADELTA=value><ALPHAINITIAL=value><ANNOKEY> ...;\\n\\n\\tQQPLOT <ALPHADELTA=value><ALPHAINITIAL=value><ANNOKEY> ...;\\n\\n\\tVAR variable(s);\\n\\n\\tWEIGHT variable;\\n\",\"arguments\":[{\"name\":\"ALL\",\"optional\":true,\"description\":\"Requests all statistics and tables that the FREQ, MODES, NEXTRVAL=5, PLOT, and CIBASIC options generate.\",\"type\":\"standalone\"},{\"name\":\"ALPHA=\",\"optional\":true,\"description\":\"Specifies the level of significance a for 100(1 - α)% confidence intervals.\",\"type\":\"value\"},{\"name\":\"ANNOTATE=\",\"optional\":true,\"aliases\":[\"ANNO=\"],\"description\":\"Specifies an input data set that contains annotate variables.\",\"help\":\"ANNOTATE=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"CIBASIC=\",\"optional\":true,\"description\":\"Requests confidence limits for the mean, standard deviation, and variance based on the assumption that the data are normally distributed.\",\"help\":\"CIBASIC=TYPE= | ALPHA= | LOWER | UPPER | TWOSIDED\",\"type\":\"choice\",\"arguments\":[{\"name\":\"TYPE=\",\"type\":\"value\"},{\"name\":\"ALPHA=\",\"type\":\"value\"},{\"name\":\"LOWER\",\"type\":\"standalone\"},{\"name\":\"UPPER\",\"type\":\"standalone\"},{\"name\":\"TWOSIDED\",\"type\":\"standalone\"}]},{\"name\":\"CIPCTLDF=\",\"optional\":true,\"aliases\":[\"CIQUANTDF\"],\"description\":\"Requests confidence limits for quantiles based on a method that is distribution-free.\",\"help\":\"CIPCTLDF=TYPE= | ALPHA= | LOWER | UPPER | SYMMETRIC | ASYMMETRIC\",\"type\":\"choice\",\"arguments\":[{\"name\":\"TYPE=\",\"type\":\"value\"},{\"name\":\"ALPHA=\",\"type\":\"value\"},{\"name\":\"LOWER\",\"type\":\"standalone\"},{\"name\":\"UPPER\",\"type\":\"standalone\"},{\"name\":\"SYMMETRIC\",\"type\":\"standalone\"},{\"name\":\"ASYMMETRIC\",\"type\":\"standalone\"}]},{\"name\":\"CIPCTLNORMAL=\",\"optional\":true,\"aliases\":[\"CIQUANTNORMAL\"],\"description\":\"Requests confidence limits for quantiles based on the assumption that the data are normally distributed.\",\"help\":\"CIPCTLNORMAL=TYPE= | ALPHA= | LOWER | UPPER | TWOSIDED\",\"type\":\"choice\",\"arguments\":[{\"name\":\"TYPE=\",\"type\":\"value\"},{\"name\":\"ALPHA=\",\"type\":\"value\"},{\"name\":\"LOWER\",\"type\":\"standalone\"},{\"name\":\"UPPER\",\"type\":\"standalone\"},{\"name\":\"TWOSIDED\",\"type\":\"standalone\"}]},{\"name\":\"DATA=\",\"optional\":true,\"description\":\"Specifies the input SAS data set to be analyzed.\",\"help\":\"DATA=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"EXCLNPWGT\",\"optional\":true,\"aliases\":[\"EXCLNPWGTS\"],\"description\":\"Excludes observations with nonpositive weight values (zero or negative) from the analysis. By default, PROC UNIVARIATE counts observations with negative or zero weights in the total number of observations. This option applies only when you use a WEIGHT statement.\",\"type\":\"standalone\"},{\"name\":\"FREQ\",\"optional\":true,\"description\":\"Requests a frequency table that consists of the variable values, frequencies, cell percentages, and cumulative percentages.\",\"type\":\"standalone\"},{\"name\":\"GOUT=\",\"optional\":true,\"description\":\"Specifies the SAS catalog that PROC UNIVARIATE uses to save traditional graphics output.\",\"help\":\"GOUT=*graphics-catalog*\",\"type\":\"dataSet\"},{\"name\":\"IDOUT\",\"optional\":true,\"description\":\"Includes ID variables in the output data set created by an OUTPUT statement.\",\"type\":\"standalone\"},{\"name\":\"LOCCOUNT\",\"optional\":true,\"description\":\"Requests a table that shows the number of observations greater than, not equal to, and less than the value of MU0=. PROC UNIVARIATE uses these values to construct the sign test and the signed rank test. This option does not apply if you use a WEIGHT statement.\",\"type\":\"standalone\"},{\"name\":\"MODES\",\"optional\":true,\"aliases\":[\"MODE\"],\"description\":\"Requests a table of all possible modes.\",\"type\":\"standalone\"},{\"name\":\"MU0=\",\"optional\":true,\"aliases\":[\"LOCATION=\"],\"description\":\"Specifies the value of the mean or location parameter (muo) in the null hypothesis for tests of location summarized in the table labeled \\\"Tests for Location: Mu0=value.\\\"\",\"help\":\"MU0=*values*\",\"type\":\"value\"},{\"name\":\"NEXTROBS=\",\"optional\":true,\"description\":\"Specifies the number of extreme observations that PROC UNIVARIATE lists in the table of extreme observations.\",\"help\":\"NEXTROBS=*n*\",\"type\":\"value\"},{\"name\":\"NEXTRVAL=\",\"optional\":true,\"description\":\"Specifies the number of extreme values that PROC UNIVARIATE lists in the table of extreme values.\",\"help\":\"NEXTRVAL=*n*\",\"type\":\"value\"},{\"name\":\"NOBYPLOT\",\"optional\":true,\"description\":\"Suppresses side-by-side line printer box plots that are created by default when you use the BY statement and either the ALL option or the PLOT option in the PROC statement.\",\"type\":\"standalone\"},{\"name\":\"NOPRINT\",\"optional\":true,\"description\":\"Suppresses all the tables of descriptive statistics that the PROC UNIVARIATE statement creates. NOPRINT does not suppress the tables that the HISTOGRAM statement creates.\",\"type\":\"standalone\"},{\"name\":\"NORMAL\",\"optional\":true,\"aliases\":[\"NORMALTEST\"],\"description\":\"Requests tests for normality that include a series of goodness-of-fit tests based on the empirical distribution function.\",\"type\":\"standalone\"},{\"name\":\"NOTABCONTENTS\",\"optional\":true,\"description\":\"Suppresses the table of contents entries for tables of summary statistics produced by the PROC UNIVARIATE statement.\",\"type\":\"standalone\"},{\"name\":\"NOVARCONTENTS\",\"optional\":true,\"description\":\"Suppresses grouping entries associated with analysis variables in the table of contents. By default, the table of contents lists results associated with an analysis variable in a group with the variable name.\",\"type\":\"standalone\"},{\"name\":\"OUTTABLE=\",\"optional\":true,\"description\":\"Creates an output data set that contains univariate statistics arranged in tabular form, with one observation per analysis variable.\",\"help\":\"OUTTABLE=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"PCTLDEF=\",\"optional\":true,\"aliases\":[\"DEF=\"],\"description\":\"Specifies the definition that PROC UNIVARIATE uses to calculate quantiles.\",\"help\":\"PCTLDEF=1 | 2 | 3 | 4 | 5\",\"type\":\"choice\",\"arguments\":[{\"name\":\"1\",\"description\":\"Definition 1 for computing quantile statistics\",\"type\":\"standalone\"},{\"name\":\"2\",\"description\":\"Definition 2 for computing quantile statistics\",\"type\":\"standalone\"},{\"name\":\"3\",\"description\":\"Definition 3 for computing quantile statistics\",\"type\":\"standalone\"},{\"name\":\"4\",\"description\":\"Definition 4 for computing quantile statistics\",\"type\":\"standalone\"},{\"name\":\"5\",\"description\":\"Definition 5 for computing quantile statistics\",\"type\":\"standalone\"}]},{\"name\":\"PLOTSIZE\",\"optional\":true,\"description\":\"Specifies the approximate number of rows used in line-printer plots requested with the PLOTS option.\",\"type\":\"standalone\"},{\"name\":\"PLOTS\",\"optional\":true,\"aliases\":[\"PLOT\"],\"description\":\"Produces a stem-and-leaf plot (or a horizontal bar chart), a box plot, and a normal quantile plot in line printer output.\",\"type\":\"standalone\"},{\"name\":\"ROBUSTSCALE\",\"optional\":true,\"description\":\"Produces a table with robust estimates of scale.\",\"type\":\"standalone\"},{\"name\":\"ROUND=\",\"optional\":true,\"description\":\"Specifies the units to use to round the analysis variables prior to computing statistics.\",\"help\":\"ROUND=*units*\",\"type\":\"value\"},{\"name\":\"SUMMARYCONTENTS=\",\"optional\":true,\"description\":\"Specifies the table of contents entry used for grouping the summary statistics produced by the PROC UNIVARIATE statement.\",\"help\":\"SUMMARYCONTENTS='*string*'\",\"type\":\"value\"},{\"name\":\"TRIMMED=\",\"optional\":true,\"aliases\":[\"TRIM=\"],\"description\":\"Requests a table of trimmed means, where value specifies the number or the proportion of observations that PROC UNIVARIATE trims.\",\"help\":\"TRIMMED=TYPE= | ALPHA= | LOWER | UPPER | TWOSIDED\",\"type\":\"choice\",\"arguments\":[{\"name\":\"TYPE=\",\"type\":\"value\"},{\"name\":\"ALPHA=\",\"type\":\"value\"},{\"name\":\"LOWER\",\"type\":\"standalone\"},{\"name\":\"UPPER\",\"type\":\"standalone\"},{\"name\":\"TWOSIDED\",\"type\":\"standalone\"}]},{\"name\":\"VARDEF=\",\"optional\":true,\"description\":\"Specifies the divisor to use in the calculation of variances and standard deviation.\",\"help\":\"VARDEF=DF | N | WDF | WEIGHT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DF\",\"description\":\"Degrees of freedom\",\"type\":\"standalone\"},{\"name\":\"N\",\"description\":\"Number of observations\",\"type\":\"standalone\"},{\"name\":\"WDF\",\"description\":\"Sum of weights minus one\",\"type\":\"standalone\"},{\"name\":\"WEIGHT\",\"aliases\":[\"WGT\"],\"description\":\"Sum of weights\",\"type\":\"standalone\"}]},{\"name\":\"WINSORIZED=\",\"optional\":true,\"aliases\":[\"WINSOR=\"],\"description\":\"Requests of a table of Winsorized means, where value is the number or the proportion of observations that PROC UNIVARIATE uses to compute the Winsorized mean.\",\"help\":\"WINSORIZED=TYPE= | ALPHA= | LOWER | UPPER | TWOSIDED\",\"type\":\"choice\",\"arguments\":[{\"name\":\"TYPE=\",\"type\":\"value\"},{\"name\":\"ALPHA=\",\"type\":\"value\"},{\"name\":\"LOWER\",\"type\":\"standalone\"},{\"name\":\"UPPER\",\"type\":\"standalone\"},{\"name\":\"TWOSIDED\",\"type\":\"standalone\"}]}]},{\"name\":\"BY\",\"description\":\"Obtains separate analyses for each BY group.\",\"help\":\"BY &lt;DESCENDING&gt;&lt;NOTSORTED&gt;\",\"arguments\":[{\"name\":\"DESCENDING\",\"optional\":true,\"description\":\"Specifies that the observations are sorted in descending order by the variable that immediately follows the word DESCENDING in the BY statement.\",\"type\":\"standalone\"},{\"name\":\"NOTSORTED\",\"optional\":true,\"description\":\"Specifies that observations are not necessarily sorted in alphabetic or numeric order.\",\"type\":\"standalone\"}]},{\"name\":\"CDFPLOT\",\"aliases\":[\"CDF\"],\"description\":\"Plots the observed cumulative distribution function (cdf) of a variable.\",\"help\":\"CDFPLOT &lt;ALPHADELTA=value&gt;&lt;ALPHAINITIAL=value&gt;&lt;ANNOKEY&gt; ...\",\"arguments\":[{\"name\":\"ALPHA=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the shape parameter α for distribution functions requested with the BETA and GAMMA options.\",\"help\":\"ALPHA=*value*\",\"type\":\"value\"},{\"name\":\"ALPHADELTA=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the change in successive estimates of α-hat at which iteration terminates in the Newton-Raphson approximation of the maximum likelihood estimate of α for gamma distributions requested with the GAMMA option.\",\"help\":\"ALPHADELTA=*value*\",\"type\":\"value\"},{\"name\":\"ALPHAINITIAL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the initial value for α-hat in the Newton-Raphson approximation of the maximum likelihood estimate of α for gamma distributions requested with the GAMMA option. Enclose the ALPHAINITIAL= option in parentheses after the GAMMA keyword.\",\"help\":\"ALPHAINITIAL=*value*\",\"type\":\"value\"},{\"name\":\"ANNOKEY\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Applies the annotation requested with the ANNOTATE= option only to the key cell of a comparative plot.\",\"type\":\"standalone\"},{\"name\":\"ANNOTATE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"ANNO=\"],\"description\":\"Specifies an input data set that contains annotate variables.\",\"help\":\"ANNOTATE=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"BETA\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays a fitted beta distribution function on the cdf plot. Description of beta-options:\",\"help\":\"BETA(ALPHA= | BETA= | SIGMA= | THETA= | COLOR= | L= | W=)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ALPHA=\",\"type\":\"value\"},{\"name\":\"BETA=\",\"type\":\"value\"},{\"name\":\"SIGMA=\",\"type\":\"value\"},{\"name\":\"THETA=\",\"type\":\"value\"},{\"name\":\"COLOR=\",\"type\":\"value\"},{\"name\":\"L=\",\"type\":\"value\"},{\"name\":\"W=\",\"type\":\"value\"}]},{\"name\":\"BETA=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the second shape parameter, β, for beta distribution functions requested by the BETA option.\",\"help\":\"BETA=*value*\",\"type\":\"value\"},{\"name\":\"C=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the shape parameter, c, for Weibull distribution functions requested with the WEIBULL option.\",\"help\":\"C=*value*\",\"type\":\"value\"},{\"name\":\"CAXIS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"CAXES=\",\"CA=\"],\"description\":\"Specifies the color for the axes and tick marks.\",\"help\":\"CAXIS=*color*\",\"type\":\"color\"},{\"name\":\"CDELTA=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the change in successive estimates of c at which iterations terminate in the Newton-Raphson approximation of the maximum likelihood estimate of c for Weibull distributions requested by the WEIBULL option. Enclose the CDELTA= option in parentheses after the WEIBULL keyword. Iteration continues until the change in between consecutive steps is less than the value specified or until the number of iterations exceeds the value of the MAXITER= option. The default value is 0.00001.\",\"help\":\"CDELTA=*value*\",\"type\":\"value\"},{\"name\":\"CFRAME=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the color for the area that is enclosed by the axes and frame. The area is not filled by default.\",\"help\":\"CFRAME=*color*\",\"type\":\"color\"},{\"name\":\"CFRAMESIDE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the color to fill the frame area for the row labels that display along the left side of a comparative plot.\",\"help\":\"CFRAMESIDE=*color*\",\"type\":\"color\"},{\"name\":\"CFRAMETOP=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the color to fill the frame area for the column labels that display across the top of a comparative plot.\",\"help\":\"CFRAMETOP=*color*\",\"type\":\"color\"},{\"name\":\"CHREF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"CH=\"],\"description\":\"Specifies the color for horizontal axis reference lines requested by the HREF= option.\",\"help\":\"CHREF=*color*\",\"type\":\"color\"},{\"name\":\"CINITIAL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the initial value for c-hat in the Newton-Raphson approximation of the maximum likelihood estimate of c for Weibull distributions requested with the WEIBULL or WEIBULL2 option. The default value is 1.8.\",\"help\":\"CINITIAL=*value*\",\"type\":\"value\"},{\"name\":\"COLOR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the color of the curve or reference line associated with a distribution or kernel density estimate. Enclose the COLOR= option in parentheses after a distribution option or the KERNEL option. In a HISTOGRAM statement, you can specify a list of colors in parentheses for multiple density curves.\",\"help\":\"COLOR=*color*\",\"type\":\"color\"},{\"name\":\"CONTENTS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the table of contents grouping entry for output produced by the plot statement. You can specify CONTENTS='' to suppress the grouping entry.\",\"help\":\"CONTENTS='*string*'\",\"type\":\"value\"},{\"name\":\"CPROP\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Produces proportion bars that use an appropriate color from the ODS style.\",\"type\":\"color\"},{\"name\":\"CPROP=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the color for a horizontal bar whose length (relative to the width of the tile) indicates the proportion of the total frequency that is represented by the corresponding cell in a comparative plot.\",\"help\":\"CPROP=EMPTY | *color*\",\"type\":\"choice\",\"arguments\":[{\"name\":\"color\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the color for a horizontal bar whose length (relative to the width of the tile) indicates the proportion of the total frequency that is represented by the corresponding cell in a comparative plot.\",\"type\":\"color\"},{\"name\":\"EMPTY\",\"followsDelimiter\":\"/\",\"description\":\"Displays empty bars.\",\"type\":\"standalone\"}]},{\"name\":\"CSTATREF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the colors for reference lines that you request in the STATREF= option. If you specify a single color, it is used for all STATREF= lines. Otherwise, if fewer colors are specified than reference lines are requested, the remaining lines are displayed with the default reference line color. You can also specify the value _default in the color list to request the default color.\",\"help\":\"CSTATREF=*color* | (*color-list*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"color\",\"placeholder\":true,\"type\":\"color\"},{\"name\":\"(color-list)\",\"placeholder\":true,\"type\":\"color\"}]},{\"name\":\"CTEXT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"CT=\"],\"description\":\"Specifies the color for tick mark values and axis labels. The default is the color specified for the CTEXT= option in the GOPTIONS statement.\",\"help\":\"CTEXT=*color*\",\"type\":\"color\"},{\"name\":\"CTEXTSIDE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the color for the row labels that display along the left side of a comparative plot. By default, the color specified by the CTEXT= option is used. If you omit the CTEXT= option, the color specified in the GOPTIONS statement is used.\",\"help\":\"CTEXTSIDE=*color*\",\"type\":\"color\"},{\"name\":\"CTEXTTOP=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the color for the column labels that display along the left side of a comparative plot. By default, the color specified by the CTEXT= option is used. If you omit the CTEXT= option, the color specified in the GOPTIONS statement is used.\",\"help\":\"CTEXTTOP=*color*\",\"type\":\"color\"},{\"name\":\"CVREF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"CV=\"],\"description\":\"Specifies the color for lines requested with the VREF= option.\",\"help\":\"CVREF=*color*\",\"type\":\"color\"},{\"name\":\"DESCRIPTION=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"DES=\"],\"description\":\"Specifies a description, up to 256 characters long, that appears in the PROC GREPLAY master menu for a traditional graphics chart. The default value is the analysis variable name.\",\"help\":\"DESCRIPTION='*string*'\",\"type\":\"value\"},{\"name\":\"EXPONENTIAL\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"EXP\"],\"description\":\"Displays a fitted exponential distribution function on the cdf plot. Description of exponential-options:\",\"help\":\"EXPONENTIAL&lt;(SIGMA= | THETA= | COLOR= | L= | W=)&gt;\",\"type\":\"standaloneOrValue\"},{\"name\":\"FITINTERVAL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the value of z for the method of percentiles when this method is used to fit a Johnson sB or Johnson sU distribution. The FITINTERVAL= option is specified in parentheses after the SB or SU option. The default of z is 0.524.\",\"help\":\"FITINTERVAL=*value*\",\"type\":\"value\"},{\"name\":\"FITMETHOD=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the method used to estimate the parameters of a Johnson sB or Johnson sU distribution. The FITMETHOD= option is specified in parentheses after the SB or SU option. By default, the method of percentiles is used.\",\"help\":\"FITMETHOD=PERCENTILE | MLE | MOMENTS\",\"type\":\"choice\",\"arguments\":[{\"name\":\"PERCENTILE\",\"followsDelimiter\":\"/\",\"description\":\"Method of percentiles.\",\"type\":\"standalone\"},{\"name\":\"MLE\",\"followsDelimiter\":\"/\",\"description\":\"Method of MLE.\",\"type\":\"standalone\"},{\"name\":\"MOMENTS\",\"followsDelimiter\":\"/\",\"description\":\"Method of moments.\",\"type\":\"standalone\"}]},{\"name\":\"FITTOLERANCE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the tolerance value for the ratio criterion when the method of percentiles is used to fit a Johnson sB or Johnson sU distribution. The FITTOLERANCE= option is specified in parentheses after the SB or SU option. The default value is 0.01.\",\"help\":\"FITTOLERANCE=*value*\",\"type\":\"value\"},{\"name\":\"FONT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies a software font for reference line and axis labels. You can also specify fonts for axis labels in an AXIS statement. The FONT= font takes precedence over the FTEXT= font specified in the GOPTIONS statement.\",\"help\":\"FONT=*font*\",\"type\":\"value\"},{\"name\":\"GAMMA\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays a fitted gamma distribution function on the cdf plot. Description of gamma-options:\",\"help\":\"GAMMA&lt;(ALPHADELTA= | ALPHAINITIAL= | MAXITER= | SIGMA= | ALPHA= | THETA= | COLOR= | L= | W=)&gt;\",\"type\":\"standaloneOrValue\"},{\"name\":\"GUMBEL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays fitted Gumbel density curves on the histogram. You can specify the GUMBEL option only once in a HISTOGRAM statement, but it can request any number of Gumbel curves. Use the MU= and the SIGMA= Gumbel-options to specify the location parameter μ and the scale parameter σ, respectively. By default, PROC UNIVARIATE computes maximum likelihood estimates for μ and σ.\",\"help\":\"GUMBEL&lt; (*Gumbel-options*)&gt;\",\"type\":\"standaloneOrValue\"},{\"name\":\"HAXIS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the name of an AXIS statement describing the horizontal axis.\",\"help\":\"HAXIS=*value*\",\"type\":\"value\"},{\"name\":\"HEIGHT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"HM=\"],\"description\":\"Specifies the height, in percentage screen units, of text for axis labels, tick mark labels, and legends. This option takes precedence over the HTEXT= option in the GOPTIONS statement.\",\"help\":\"HEIGHT=*value*\",\"type\":\"value\"},{\"name\":\"HMINOR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"HM=\"],\"description\":\"Specifies the number of minor tick marks between each major tick mark on the horizontal axis. Minor tick marks are not labeled. By default, HMINOR=0.\",\"help\":\"HMINOR=*n*\",\"type\":\"value\"},{\"name\":\"HREF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Draws reference lines that are perpendicular to the horizontal axis at the values that you specify.\",\"help\":\"HREF=*values*\",\"type\":\"value\"},{\"name\":\"HREFLABELS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"HREFLABEL=\",\"HREFLAB=\"],\"description\":\"Specifies labels for the lines requested by the HREF= option. The number of labels must equal the number of lines. Enclose each label in quotes. Labels can have up to 16 characters.\",\"type\":\"value\"},{\"name\":\"HREFLABPOS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the vertical position of the HREFLABELS= labels.\",\"help\":\"HREFLABPOS=1 | 2 | 3 | 4\",\"type\":\"choice\",\"arguments\":[{\"name\":\"1\",\"followsDelimiter\":\"/\",\"description\":\"Along top of plot\",\"type\":\"standalone\"},{\"name\":\"2\",\"followsDelimiter\":\"/\",\"description\":\"Staggered from top to bottom of plot\",\"type\":\"standalone\"},{\"name\":\"3\",\"followsDelimiter\":\"/\",\"description\":\"Along bottom of plot\",\"type\":\"standalone\"},{\"name\":\"4\",\"followsDelimiter\":\"/\",\"description\":\"Staggered from bottom to top of plot\",\"type\":\"standalone\"}]},{\"name\":\"IGAUSS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"displays fitted inverse Gaussian density curves on the histogram. You can specify the IGAUSS option only once in a HISTOGRAM statement, but it can request any number of inverse Gaussian curves. Use the MU= and the LAMBDA= iGauss-options to specify the location parameter μ and the shape parameter λ, respectively. By default, PROC UNIVARIATE uses the sample mean for μ and computes a maximum likelihood estimate for λ.\",\"help\":\"IGAUSS &lt;(i*Gauss-options*)&gt;\",\"type\":\"standaloneOrValue\"},{\"name\":\"INFONT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies a software font to use for text inside the framed areas of the plot. The INFONT= option takes precedence over the FTEXT= option in the GOPTIONS statement.\",\"help\":\"INFONT=*font*\",\"type\":\"value\"},{\"name\":\"INHEIGHT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the height, in percentage screen units, of text used inside the framed areas of the histogram. By default, the height specified by the HEIGHT= option is used. If you do not specify the HEIGHT= option, the height specified with the HTEXT= option in the GOPTIONS statement is used.\",\"help\":\"INHEIGHT=*value*\",\"type\":\"value\"},{\"name\":\"INTERTILE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the distance in horizontal percentage screen units between the framed areas, called tiles, of a comparative plot. By default, INTERTILE=0.75 percentage screen units. This option is not available unless you use the CLASS statement. You can specify INTERTILE=0 to create contiguous tiles.\",\"help\":\"INTERTILE=*value*\",\"type\":\"value\"},{\"name\":\"ITPRINT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests a table that shows the iteration history and optimizer details of the maximum likelihood parameter estimation of a Weibull distribution that is requested by the WEIBULL or WEIBULL2 option.\",\"type\":\"standalone\"},{\"name\":\"LAMBDA=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the shape parameter λ for fitted curves that are requested by the IGAUSS option. Enclose the LAMBDA= option in parentheses after the IGAUSS distribution keyword. If you do not specify a value for λ, the procedure calculates a maximum likelihood estimate.\",\"help\":\"LAMBDA=*value*\",\"type\":\"value\"},{\"name\":\"L=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the line type of the curve or reference line associated with a distribution or kernel density estimate. Enclose the L= option in parentheses after the distribution option or the KERNEL option. In a HISTOGRAM statement, you can specify a list of line types in parentheses for multiple density curves.\",\"help\":\"L=*linetype*\",\"type\":\"value\"},{\"name\":\"LHREF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"LH=\"],\"description\":\"Specifies the line type for the reference lines that you request with the HREF= option. By default, LHREF=2, which produces a dashed line.\",\"type\":\"value\"},{\"name\":\"LOGNORMAL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays a fitted lognormal distribution function on the cdf plot. Description of lognormal-options:\",\"help\":\"LOGNORMAL&lt;(ZETA= | SIGMA= | THETA= | COLOR= | L= | W=)&gt;\",\"type\":\"standaloneOrValue\"},{\"name\":\"LSTATREF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the line types for the reference lines that you request in the STATREF= option. If you specify a single line type, it is used for all STATREF= lines. Otherwise, if fewer line types are specified than reference lines are requested, the remaining lines are displayed with the default reference line type.\",\"help\":\"LSTATREF=*linetype* |  *linetype-list*\",\"type\":\"choice\",\"arguments\":[{\"name\":\"linetype\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"linetype-list\",\"placeholder\":true,\"type\":\"value\"}]},{\"name\":\"LVREF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"LV=\"],\"description\":\"Specifies the line type for lines requested with the VREF= option. By default, LVREF=2, which produces a dashed line.\",\"help\":\"LVREF=*linetype*\",\"type\":\"value\"},{\"name\":\"MAXITER=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the maximum number of iterations in the Newton-Raphson approximation of the maximum likelihood estimate of α for gamma distributions requested with the GAMMA option and c for Weibull distributions requested with the WEIBULL and WEIBULL2 options. Enclose the MAXITER= option in parentheses after the GAMMA, WEIBULL, or WEIBULL2 keywords. The default value of n is 20.\",\"help\":\"MAXITER=*n*\",\"type\":\"value\"},{\"name\":\"MU=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the parameter, μ, for normal distribution functions requested with the NORMAL option.\",\"help\":\"MU=*value*\",\"type\":\"value\"},{\"name\":\"NAME=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies a name for the plot, up to eight characters long, that appears in the PROC GREPLAY master menu for a traditional graphics chart. The default value is 'UNIVAR'.\",\"help\":\"NAME='*string*'\",\"type\":\"value\"},{\"name\":\"NCOLS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"NCOL=\"],\"description\":\"Specifies the number of columns per panel in a comparative plot. This option is not available unless you use the CLASS statement. By default, NCOLS=1 if you specify only one CLASS variable, and NCOLS=2 if you specify two CLASS variables. If you specify two CLASS variables, you can use the NCOLS= option with the NROWS= option.\",\"help\":\"NCOLS=*n*\",\"type\":\"value\"},{\"name\":\"NOCDFLEGEND\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"NOLEGEND\"],\"description\":\"suppresses the legend for the superimposed theoretical cumulative distribution function. The NOCDFLEGEND option applies only to ODS Graphics output.\",\"type\":\"standalone\"},{\"name\":\"NOECDF\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Suppresses the observed distribution function (the empirical cumulative distribution function) of the variable, which is drawn by default.\",\"type\":\"standalone\"},{\"name\":\"NOFRAME\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Suppresses the frame around the subplot area.\",\"type\":\"standalone\"},{\"name\":\"NOHLABEL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Suppresses the label for the horizontal axis. You can use this option to reduce clutter.\",\"type\":\"standalone\"},{\"name\":\"NORMAL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays a fitted normal distribution function on the cdf plot. Description of normal-options:\",\"help\":\"NORMAL&lt;(MU= | SIGMA= | COLOR= | L= | W=)&gt;\",\"type\":\"standaloneOrValue\"},{\"name\":\"NOVLABEL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Suppresses the label for the vertical axis. You can use this option to reduce clutter.\",\"type\":\"standalone\"},{\"name\":\"NOVTICK\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Suppresses the tick marks and tick mark labels for the vertical axis. This option also suppresses the label for the vertical axis.\",\"type\":\"standalone\"},{\"name\":\"NROWS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"NROW=\"],\"description\":\"Specifies the number of rows per panel in a comparative plot. This option is not available unless you use the CLASS statement. By default, NROWS=2. If you specify two CLASS variables, you can use the NCOLS= option with the NROWS= option.\",\"help\":\"NROWS=*n*\",\"type\":\"value\"},{\"name\":\"ODSFOOTNOTE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Adds a footnote to ODS Graphics output.\",\"help\":\"ODSFOOTNOTE=FOOTNOTE | FOOTNOTE1 | *'string'*\",\"type\":\"choice\",\"arguments\":[{\"name\":\"FOOTNOTE\",\"followsDelimiter\":\"/\",\"description\":\"Uses the value of the SAS FOOTNOTE statement as the graph footnote.\",\"type\":\"standalone\"},{\"name\":\"FOOTNOTE1\",\"followsDelimiter\":\"/\",\"description\":\"Uses the value of the SAS FOOTNOTE statement as the graph footnote.\",\"type\":\"standalone\"},{\"name\":\"'string'\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"Uses the specified string as the graph footnote. The string can contain either of the following escaped characters, which are replaced with the appropriate values from the analysis: \\\\n is replaced by the analysis variable name, or \\\\l is replaced by the analysis variable label (or name if the analysis variable has no label).\",\"type\":\"value\"}]},{\"name\":\"ODSFOOTNOTE2=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Adds a secondary footnote to ODS Graphics output.\",\"help\":\"ODSFOOTNOTE2=FOOTNOTE2 | *'string'*\",\"type\":\"choice\",\"arguments\":[{\"name\":\"FOOTNOTE2\",\"followsDelimiter\":\"/\",\"description\":\"Uses the value of the SAS FOOTNOTE2 statement as the secondary graph footnote.\",\"type\":\"standalone\"},{\"name\":\"'string'\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"Uses the specified string as the secondary graph footnote. The string can contain either of the following escaped characters, which are replaced with the appropriate values from the analysis: \\\\n is replaced by the analysis variable name, or \\\\l is replaced by the analysis variable label (or name if the analysis variable has no label).\",\"type\":\"value\"}]},{\"name\":\"ODSTITLE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies a title for ODS Graphics output.\",\"help\":\"ODSTITLE=TITLE | TITLE1 | NONE | DEFAULT | LABELFMT | *'string'*\",\"type\":\"choice\",\"arguments\":[{\"name\":\"TITLE\",\"followsDelimiter\":\"/\",\"description\":\"Uses the value of the SAS TITLE statement as the graph title.\",\"type\":\"standalone\"},{\"name\":\"TITLE1\",\"followsDelimiter\":\"/\",\"description\":\"Uses the value of the SAS TITLE statement as the graph title.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"followsDelimiter\":\"/\",\"description\":\"Suppresses all titles from the graph.\",\"type\":\"standalone\"},{\"name\":\"DEFAULT\",\"followsDelimiter\":\"/\",\"description\":\"Uses the default ODS Graphics title (a descriptive title that consists of the plot type and the analysis variable name).\",\"type\":\"standalone\"},{\"name\":\"LABELFMT\",\"followsDelimiter\":\"/\",\"description\":\"Uses the default ODS Graphics title with the variable label instead of the variable name.\",\"type\":\"standalone\"},{\"name\":\"'string'\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"Uses the specified string as the graph title. The string can contain the following escaped characters, which are replaced with the appropriate values from the analysis: \\\\n is replaced by the analysis variable name, or \\\\l is replaced by the analysis variable label (or name if the analysis variable has no label).\",\"type\":\"value\"}]},{\"name\":\"ODSTITLE2=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies a secondary title for ODS Graphics output.\",\"help\":\"ODSTITLE2=TITLE2 | *'string'*\",\"type\":\"choice\",\"arguments\":[{\"name\":\"TITLE2\",\"followsDelimiter\":\"/\",\"description\":\"Uses the value of the SAS TITLE2 statement as the secondary graph title..\",\"type\":\"standalone\"},{\"name\":\"'string'\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"Uses the specified string as the secondary graph title. The string can contain the following escaped characters, which are replaced with the appropriate values from the analysis: \\\\n is replaced by the analysis variable name, or \\\\l is replaced by the analysis variable label (or name if the analysis variable has no label).\",\"type\":\"value\"}]},{\"name\":\"OVERLAY\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies that plots associated with different levels of a CLASS variable be overlaid onto a single plot, rather than displayed as separate cells in a comparative plot.\",\"type\":\"standalone\"},{\"name\":\"PARETO\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays fitted generalized Pareto density curves on the histogram. You can specify the this option only once in a HISTOGRAM statement, but it can request any number of generalized Pareto curves. The parameter Θ must be less than the minimum data value. Use the THETA= Pareto-option to specify Θ. By default, THETA=0. Use the SIGMA= and the ALPHA= Pareto-options to specify the scale parameter sigma and the shape parameter a. By default, PROC UNIVARIATE computes maximum likelihood estimates for σ and a.\",\"help\":\"PARETO&lt;(*Pareto-options*)&gt;\",\"type\":\"standaloneOrValue\"},{\"name\":\"POWER\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays fitted power function density curves on the histogram. You can specify this option only once in a HISTOGRAM statement, but it can request any number of power function curves. The parameter Θ must be less than the minimum data value. Use the THETA= and SIGMA= power-options to specify Θ and σ. The default values are 0 and 1, respectively. Use the ALPHA= power-option to specify the and the shape parameter, a. By default, PROC UNIVARIATE computes a maximum likelihood estimate for a.\",\"help\":\"POWER&lt;(*power-options*)&gt;\",\"type\":\"standaloneOrValue\"},{\"name\":\"RAYLEIGH\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays fitted Rayleigh density curves on the histogram. You can specify this option only once in a HISTOGRAM statement, but it can request any number of Rayleigh curves. The parameter Θ must be less than the minimum data value. Use the THETA= Rayleigh-option to specify Θ. By default, THETA=0. Use the SIGMA= Rayleigh-option to specify the scale parameter σ. By default, PROC UNIVARIATE computes maximum likelihood estimates for σ.\",\"help\":\"RAYLEIGH&lt;(*Rayleigh-options*)&gt;\",\"type\":\"standaloneOrValue\"},{\"name\":\"SCALE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Is an alias for the SIGMA= option for distributions requested by the BETA, EXPONENTIAL, GAMMA, SB, SU, WEIBULL, and WEIBULL2 options and for the ZETA= option for distributions requested by the LOGNORMAL option.\",\"help\":\"SCALE=*value*\",\"type\":\"value\"},{\"name\":\"SHAPE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Is an alias for the ALPHA= option for distributions requested by the GAMMA option, for the SIGMA= option for distributions requested by the LOGNORMAL option, and for the C= option for distributions requested by the WEIBULL and WEIBULL2 options.\",\"help\":\"SHAPE=*value*\",\"type\":\"value\"},{\"name\":\"SIGMA=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the parameter, σ, for distribution functions requested by the BETA, EXPONENTIAL, GAMMA, LOGNORMAL, NORMAL, and WEIBULL options.\",\"type\":\"value\"},{\"name\":\"STATREF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"draws reference lines at the values of the statistics that are requested in the space-delimited keyword-list. Keywords can be MAX, MEAN, MEDIAN, Q2, MIN, MODE, P p, Q1, Q3, factor STD. These reference lines are perpendicular to the horizontal axis in a histogram or CDF plot, and perpendicular to the vertical axis in a probability or Q-Q plot (unless the ROTATE option is specified). The STATREF= option does not apply to the PPPLOT statement.\",\"help\":\"STATREF=*keyword-list*\",\"type\":\"value\"},{\"name\":\"STATREFLABELS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"STATREFLABEL=\",\"STATREFLAB=\"],\"description\":\"Specifies labels for the lines that you request in the STATREF= option. The number of labels must equal the number of lines. Enclose each label in quotes. Labels can be up to 16 characters long.\",\"help\":\"STATREFLABELS=*'label1*' ...'*labeln*'\",\"type\":\"value\"},{\"name\":\"STATREFSUBCHAR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies a substitution character (such as #) for labels that you specify in the STATREFLABELS= option. When the labels are displayed in a graph, the first occurrence of the specified character in each label is replaced with the value of the corresponding STATREF= statistic.\",\"help\":\"STATREFSUBCHAR=*'character'*\",\"type\":\"value\"},{\"name\":\"THETA=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the lower threshold parameter, θ, for theoretical cumulative distribution functions requested with the BETA, EXPONENTIAL, GAMMA, LOGNORMAL, and WEIBULL options.\",\"type\":\"value\"},{\"name\":\"THRESHOLD=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the lower threshold parameter, θ, for theoretical cumulative distribution functions requested with the BETA, EXPONENTIAL, GAMMA, LOGNORMAL, and WEIBULL options.\",\"type\":\"value\"},{\"name\":\"TURNVLABELS\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"TURNVLABEL\"],\"description\":\"Turns the characters in the vertical axis labels so that they display vertically. This happens by default when you use a hardware font.\",\"type\":\"standalone\"},{\"name\":\"VAXIS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the name of an AXIS statement describing the vertical axis. In a HISTOGRAM statement, you can alternatively specify a value-list for the vertical axis.\",\"help\":\"VAXIS=*name*\",\"type\":\"value\"},{\"name\":\"VAXISLABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies a label for the vertical axis. Labels can have up to 40 characters.\",\"help\":\"VAXISLABEL='*label*'\",\"type\":\"value\"},{\"name\":\"VMINOR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"VM=\"],\"description\":\"Specifies the number of minor tick marks between each major tick mark on the vertical axis. Minor tick marks are not labeled. The default is zero.\",\"help\":\"VMINOR=*n*\",\"type\":\"value\"},{\"name\":\"VREF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Draws reference lines perpendicular to the vertical axis at the values specified. Also see the CVREF= and LVREF= options.\",\"help\":\"VREF=*value-list*\",\"type\":\"value\"},{\"name\":\"VREFLABELS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"VREFLABEL=\",\"VREFLAB=\"],\"description\":\"Specifies labels for the lines requested by the VREF= option. The number of labels must equal the number of lines. Enclose each label in quotes. Labels can have up to 16 characters.\",\"type\":\"value\"},{\"name\":\"VREFLABPOS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the horizontal position of the VREFLABELS= labels.\",\"help\":\"VREFLABPOS=1 | 2\",\"type\":\"choice\",\"arguments\":[{\"name\":\"1\",\"followsDelimiter\":\"/\",\"description\":\"Labels are positioned at the left of the plot.\",\"type\":\"standalone\"},{\"name\":\"2\",\"followsDelimiter\":\"/\",\"description\":\"Labels are positioned at the right of the plot.\",\"type\":\"standalone\"}]},{\"name\":\"VSCALE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the scale of the vertical axis.\",\"help\":\"VSCALE=COUNT | PERCENT | PROPORTION\",\"type\":\"choice\",\"arguments\":[{\"name\":\"COUNT\",\"followsDelimiter\":\"/\",\"description\":\"Scales the data in units of the number of observations per data unit.\",\"type\":\"standalone\"},{\"name\":\"PERCENT\",\"followsDelimiter\":\"/\",\"description\":\"Scales the data in units of percent of observations per data unit. This is the default.\",\"type\":\"standalone\"},{\"name\":\"PROPORTION\",\"followsDelimiter\":\"/\",\"description\":\"Scales the data in units of proportion of observations per data unit.\",\"type\":\"standalone\"}]},{\"name\":\"W=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the width in pixels of the curve or reference line associated with a distribution or kernel density estimate. Enclose the W= option in parentheses after the distribution option or the KERNEL option. In a HISTOGRAM statement, you can specify a list of widths in parentheses for multiple density curves.\",\"type\":\"value\"},{\"name\":\"WAXIS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the line thickness, in pixels, for the axes and frame.\",\"help\":\"WAXIS=*n*\",\"type\":\"value\"},{\"name\":\"WEIBULL\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"WEIB\"],\"description\":\"Displays a fitted Weibull distribution function on the cdf plot. Description of Weibull-options:\",\"help\":\"WEIBULL          (C= | CDELTA= | CINITIAL= | MAXITER= | SIGMA= | THETA= | COLOR= | L= | W=)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"C=\",\"type\":\"value\"},{\"name\":\"CDELTA=\",\"type\":\"value\"},{\"name\":\"CINITIAL=\",\"type\":\"value\"},{\"name\":\"MAXITER=\",\"type\":\"value\"},{\"name\":\"SIGMA=\",\"type\":\"value\"},{\"name\":\"THETA=\",\"type\":\"value\"},{\"name\":\"COLOR=\",\"type\":\"value\"},{\"name\":\"L=\",\"type\":\"value\"},{\"name\":\"W=\",\"type\":\"value\"}]},{\"name\":\"WHREF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the line thickness, in pixels, of the reference lines that you request using the HREF= option. If you specify a single thickness, it is used for all HREF= lines. Otherwise, if you specify fewer thicknesses than reference lines, the remaining lines are displayed using the default thickness.\",\"help\":\"WHREF=*value-list*\",\"type\":\"value\"},{\"name\":\"WSTATREF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the line thickness, in pixels, of the reference lines that you request using the STATREF= option. If you specify a single thickness, it is used for all STATREF= lines. Otherwise, if you specify fewer thicknesses than reference lines, the remaining lines are displayed using the default thickness.\",\"help\":\"WSTATREF=*value-list*\",\"type\":\"value\"},{\"name\":\"WVREF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the line thickness, in pixels, of the reference lines that you request using the VREF= option. If you specify a single thickness, it is used for all VREF= lines. Otherwise, if you specify fewer thicknesses than reference lines, the remaining lines are displayed using the default thickness.\",\"help\":\"WVREF=*value-list*\",\"type\":\"value\"},{\"name\":\"ZETA=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies a value for the scale parameter, ζ, for a lognormal distribution function requested with the LOGNORMAL option.\",\"help\":\"ZETA=*value*\",\"type\":\"value\"}]},{\"name\":\"CLASS\",\"description\":\"The CLASS statement specifies one or two variables used to group the data into classification levels.\",\"help\":\"CLASS &lt;KEYLEVEL=value | ( value1 value2 )&gt;&lt;MISSING&gt;&lt;ORDER=&lt;DATA | FORMATTED | FREQ&gt;... &gt; ...\",\"arguments\":[{\"name\":\"KEYLEVEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the key cells in comparative plots.\",\"type\":\"value\"},{\"name\":\"MISSING\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies that missing values for the CLASS variable are to be treated as valid classification levels.\",\"type\":\"standalone\"},{\"name\":\"NOKEYMOVE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies that the location of the key cell in a comparative plot be unchanged by the CLASS statement KEYLEVEL= option.\",\"type\":\"standalone\"},{\"name\":\"ORDER=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the display order for the CLASS variable values.\",\"help\":\"ORDER=DATA | FORMATTED | FREQ | INTERNAL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DATA\",\"followsDelimiter\":\"/\",\"description\":\"Orders values according to their order in the input data set.\",\"type\":\"standalone\"},{\"name\":\"FORMATTED\",\"followsDelimiter\":\"/\",\"description\":\"Orders values by their ascending formatted values. This order depends on your operating environment.\",\"type\":\"standalone\"},{\"name\":\"FREQ\",\"followsDelimiter\":\"/\",\"description\":\"Orders values by descending frequency count so that levels with the most observations are listed first.\",\"type\":\"standalone\"},{\"name\":\"INTERNAL\",\"followsDelimiter\":\"/\",\"description\":\"Orders values by their unformatted values, which yields the same order as PROC SORT. This order depends on your operating environment.\",\"type\":\"standalone\"}]}]},{\"name\":\"FREQ\",\"description\":\"The FREQ statement specifies a numeric variable whose value represents the frequency of the observation. If you use the FREQ statement, the procedure assumes that each observation represents n observations, where n is the value of variable. If the variable is not an integer, the SAS System truncates it. If the variable is less than 1 or is missing, the procedure excludes that observation from the analysis. Note: The FREQ statement affects the degrees of freedom, but the WEIGHT statement does not.\",\"help\":\"FREQ variable\"},{\"name\":\"HISTOGRAM\",\"aliases\":[\"HIST\"],\"description\":\"The HISTOGRAM statement creates histograms and optionally superimposes estimated parametric and nonparametric probability density curves.\",\"help\":\"HISTOGRAM &lt;ALPHADELTA=value&gt;&lt;ALPHAINITIAL=value&gt;&lt;ANNOKEY&gt; ...\",\"arguments\":[{\"name\":\"ALPHA=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the shape parameter α for distribution functions requested with the BETA and GAMMA options.\",\"help\":\"ALPHA=*value-list*\",\"type\":\"value\"},{\"name\":\"ALPHADELTA=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the change in successive estimates of α-hat at which iteration terminates in the Newton-Raphson approximation of the maximum likelihood estimate of α for gamma distributions requested with the GAMMA option.\",\"help\":\"ALPHADELTA=*value*\",\"type\":\"value\"},{\"name\":\"ALPHAINITIAL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the initial value for α-hat in the Newton-Raphson approximation of the maximum likelihood estimate of α for gamma distributions requested with the GAMMA option. Enclose the ALPHAINITIAL= option in parentheses after the GAMMA keyword.\",\"help\":\"ALPHAINITIAL=*value*\",\"type\":\"value\"},{\"name\":\"ANNOKEY\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Applies the annotation requested with the ANNOTATE= option only to the key cell of a comparative plot.\",\"type\":\"standalone\"},{\"name\":\"ANNOTATE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"ANNO=\"],\"description\":\"Specifies an input data set that contains annotate variables.\",\"help\":\"ANNOTATE=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"BARFILL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies variables whose values determine the colors of the bars in the cells of a comparative histogram. Cells that are associated with a particular value of a BARFILL= variable are the same color. The colors that are used are determined by the ODS style. If the HISTOGRAM statement applies to more than one analysis variable (which are listed in either the HISTOGRAM statement or a VAR statement), you can specify a list of BARFILL= variables, which are matched with analysis variables by their positions in the lists.\",\"help\":\"BARFILL=*variable-list*\",\"type\":\"value\"},{\"name\":\"BARLABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays labels above the histogram bars.\",\"help\":\"BARLABEL=COUNT | PERCENT | PROPORTION\",\"type\":\"choice\",\"arguments\":[{\"name\":\"COUNT\",\"followsDelimiter\":\"/\",\"description\":\"The label shows the number of observations associated with a given bar.\",\"type\":\"standalone\"},{\"name\":\"PERCENT\",\"followsDelimiter\":\"/\",\"description\":\"The label shows the percentage of observations represented by that bar.\",\"type\":\"standalone\"},{\"name\":\"PROPORTION\",\"followsDelimiter\":\"/\",\"description\":\"The label displays the proportion of observations associated with the bar.\",\"type\":\"standalone\"}]},{\"name\":\"BARWIDTH=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the width of the histogram bars in percentage screen units.)>\",\"help\":\"BARWIDTH=*value*\",\"type\":\"value\"},{\"name\":\"BETA\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays a fitted beta distribution function on the histogram. You can specify the following beta-options:\",\"help\":\"BETA(ALPHA= | BETA= | SIGMA= | THETA= | COLOR= | L= | W= | CONTENTS= | FILL | MIDDLEPERCENTS | NOPRINT | PERCENTS= | W=)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ALPHA=\",\"type\":\"value\"},{\"name\":\"BETA=\",\"type\":\"value\"},{\"name\":\"SIGMA=\",\"type\":\"value\"},{\"name\":\"THETA=\",\"type\":\"value\"},{\"name\":\"COLOR=\",\"type\":\"value\"},{\"name\":\"L=\",\"type\":\"value\"},{\"name\":\"W=\",\"type\":\"value\"},{\"name\":\"CONTENTS=\",\"type\":\"value\"},{\"name\":\"FILL\",\"type\":\"standalone\"},{\"name\":\"MIDDLEPERCENTS\",\"type\":\"standalone\"},{\"name\":\"NOPRINT\",\"type\":\"standalone\"},{\"name\":\"PERCENTS=\",\"type\":\"value\"},{\"name\":\"W=\",\"type\":\"value\"}]},{\"name\":\"BETA=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the second shape parameter, β, for beta density curves requested by the BETA option.\",\"help\":\"BETA=*value-list*\",\"type\":\"value\"},{\"name\":\"C=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the shape parameter, c, for Weibull distribution functions requested with the WEIBULL option.\",\"help\":\"C=*value-list*\",\"type\":\"value\"},{\"name\":\"CAXIS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"CAXES=\",\"CA=\"],\"description\":\"Specifies the color for the axes and tick marks.\",\"help\":\"CAXIS=*color*\",\"type\":\"color\"},{\"name\":\"CBARLINE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the color for the outline of the histogram bars when producing traditional graphics.\",\"help\":\"CBARLINE=*color*\",\"type\":\"color\"},{\"name\":\"CDELTA=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the change in successive estimates of c at which iterations terminate in the Newton-Raphson approximation of the maximum likelihood estimate of c for Weibull distributions requested by the WEIBULL option. Enclose the CDELTA= option in parentheses after the WEIBULL keyword. Iteration continues until the change in between consecutive steps is less than the value specified or until the number of iterations exceeds the value of the MAXITER= option. The default value is 0.00001.\",\"help\":\"CDELTA=*value*\",\"type\":\"value\"},{\"name\":\"CFILL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the color to fill the bars of the histogram (or the area under a fitted density curve if you also specify the FILL option) when producing traditional graphics.\",\"help\":\"CFILL=*color*\",\"type\":\"color\"},{\"name\":\"CFRAME=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the color for the area that is enclosed by the axes and frame. The area is not filled by default.\",\"help\":\"CFRAME=*color*\",\"type\":\"color\"},{\"name\":\"CFRAMESIDE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the color to fill the frame area for the row labels that display along the left side of a comparative plot.\",\"help\":\"CFRAMESIDE=*color*\",\"type\":\"color\"},{\"name\":\"CFRAMETOP=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the color to fill the frame area for the column labels that display across the top of a comparative plot.\",\"help\":\"CFRAMETOP=*color*\",\"type\":\"color\"},{\"name\":\"CGRID=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the color for grid lines when a grid displays on the histogram in traditional graphics.\",\"help\":\"CGRID=*color*\",\"type\":\"color\"},{\"name\":\"CHREF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"CH=\"],\"description\":\"Specifies the color for horizontal axis reference lines requested by the HREF= option.\",\"help\":\"CHREF=*color*\",\"type\":\"color\"},{\"name\":\"CINITIAL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the initial value for c-hat in the Newton-Raphson approximation of the maximum likelihood estimate of c for Weibull distributions requested with the WEIBULL or WEIBULL2 option. The default value is 1.8.\",\"help\":\"CINITIAL=*value*\",\"type\":\"value\"},{\"name\":\"CLIPCURVES\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Scales the vertical axis without taking fitted curves into consideration. Curves that extend above the tallest histogram bar can be clipped. You can use this option to avoid compression of the histogram bars that can be caused by extremely high fitted curve peaks.\",\"type\":\"standalone\"},{\"name\":\"CLIPREF\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Draws reference lines requested with the HREF= and VREF= options behind the histogram bars.\",\"type\":\"standalone\"},{\"name\":\"COLOR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the color of the curve or reference line associated with a distribution or kernel density estimate. Enclose the COLOR= option in parentheses after a distribution option or the KERNEL option. In a HISTOGRAM statement, you can specify a list of colors in parentheses for multiple density curves.\",\"help\":\"COLOR=*color*\",\"type\":\"color\"},{\"name\":\"CONTENTS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the table of contents grouping entry for output produced by the plot statement. You can specify CONTENTS='' to suppress the grouping entry.\",\"help\":\"CONTENTS='*string*'\",\"type\":\"value\"},{\"name\":\"CPROP\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Produces proportion bars that use an appropriate color from the ODS style.\",\"type\":\"color\"},{\"name\":\"CPROP=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the color for a horizontal bar whose length (relative to the width of the tile) indicates the proportion of the total frequency that is represented by the corresponding cell in a comparative plot.\",\"help\":\"CPROP=EMPTY | *color*\",\"type\":\"choice\",\"arguments\":[{\"name\":\"color\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the color for a horizontal bar whose length (relative to the width of the tile) indicates the proportion of the total frequency that is represented by the corresponding cell in a comparative plot.\",\"type\":\"color\"}]},{\"name\":\"CSTATREF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the colors for reference lines that you request in the STATREF= option. If you specify a single color, it is used for all STATREF= lines. Otherwise, if fewer colors are specified than reference lines are requested, the remaining lines are displayed with the default reference line color. You can also specify the value _default in the color list to request the default color.\",\"help\":\"CSTATREF=*color* | (*color-list*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"color\",\"placeholder\":true,\"type\":\"color\"},{\"name\":\"(color-list)\",\"placeholder\":true,\"type\":\"color\"}]},{\"name\":\"CTEXT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"CT=\"],\"description\":\"Specifies the color for tick mark values and axis labels. The default is the color specified for the CTEXT= option in the GOPTIONS statement.\",\"help\":\"CTEXT=*color*\",\"type\":\"color\"},{\"name\":\"CTEXTSIDE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the color for the row labels that display along the left side of a comparative plot. By default, the color specified by the CTEXT= option is used. If you omit the CTEXT= option, the color specified in the GOPTIONS statement is used.\",\"help\":\"CTEXTSIDE=*color*\",\"type\":\"color\"},{\"name\":\"CTEXTTOP=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the color for the column labels that display along the left side of a comparative plot. By default, the color specified by the CTEXT= option is used. If you omit the CTEXT= option, the color specified in the GOPTIONS statement is used.\",\"help\":\"CTEXTTOP=*color*\",\"type\":\"color\"},{\"name\":\"CVREF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"CV=\"],\"description\":\"Specifies the color for lines requested with the VREF= option.\",\"help\":\"CVREF=*color*\",\"type\":\"color\"},{\"name\":\"DELTA=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the first shape parameter, d, for Johnson sB and Johnson sU distribution functions requested with the SB and SU options.\",\"help\":\"DELTA=*value-list*\",\"type\":\"value\"},{\"name\":\"DESCRIPTION=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"DES=\"],\"description\":\"Specifies a description, up to 256 characters long, that appears in the PROC GREPLAY master menu for a traditional graphics chart. The default value is the analysis variable name.\",\"help\":\"DESCRIPTION='*string*'\",\"type\":\"value\"},{\"name\":\"EDFNSAMPLES=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the number of simulation samples to use to compute p-values for empirical distribution function (EDF) goodness-of-fit statistics for density curves that are requested by the GUMBEL, IGAUSS, PARETO, and RAYLEIGH options. Enclose the EDFNSAMPLES= option in parentheses after the distribution option. By default, EDFNSAMPLES=500.\",\"help\":\"EDFNSAMPLES=*value*\",\"type\":\"value\"},{\"name\":\"EDFSEED=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies an integer value to use to start the pseudorandom number generator when creating simulation samples for computing EDF goodness-of-fit statistic p-values for density curves that are requested by the GUMBEL, IGAUSS, PARETO, and RAYLEIGH options. Enclose the EDFSEED= option in parentheses after the distribution option. By default, the procedure uses a random number seed that is generated from reading the time of day from the computer’s clock.\",\"help\":\"EDFSEED=*value*\",\"type\":\"value\"},{\"name\":\"ENDPOINTS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Uses histogram bin endpoints as the tick mark values for the horizontal axis and determines how to compute the bin width of the histogram bars.\",\"type\":\"standalone\"},{\"name\":\"EXPONENTIAL\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"EXP\"],\"description\":\"Displays a fitted exponential distribution function on the histogram. You can specify the following exponential-options:\",\"help\":\"EXPONENTIAL&lt;(SIGMA= | THETA= | COLOR= | CONTENTS= | FILL | L= | W= | MIDPERCENTS | NOPRINT | PERCENTS=)&gt;\",\"type\":\"standaloneOrValue\"},{\"name\":\"FILL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Fills areas under the fitted density curve or the kernel density estimate with colors and patterns.\",\"type\":\"standalone\"},{\"name\":\"FITINTERVAL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the value of z for the method of percentiles when this method is used to fit a Johnson sB or Johnson sU distribution. The FITINTERVAL= option is specified in parentheses after the SB or SU option. The default of z is 0.524.\",\"help\":\"FITINTERVAL=*value*\",\"type\":\"value\"},{\"name\":\"FITMETHOD=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the method used to estimate the parameters of a Johnson sB or Johnson sU distribution. The FITMETHOD= option is specified in parentheses after the SB or SU option. By default, the method of percentiles is used.\",\"help\":\"FITMETHOD=PERCENTILE | MLE | MOMENTS\",\"type\":\"choice\",\"arguments\":[{\"name\":\"PERCENTILE\",\"followsDelimiter\":\"/\",\"description\":\"Method of percentiles.\",\"type\":\"standalone\"},{\"name\":\"MLE\",\"followsDelimiter\":\"/\",\"description\":\"Method of MLE.\",\"type\":\"standalone\"},{\"name\":\"MOMENTS\",\"followsDelimiter\":\"/\",\"description\":\"Method of moments.\",\"type\":\"standalone\"}]},{\"name\":\"FITTOLERANCE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the tolerance value for the ratio criterion when the method of percentiles is used to fit a Johnson sB or Johnson sU distribution. The FITTOLERANCE= option is specified in parentheses after the SB or SU option. The default value is 0.01.\",\"help\":\"FITTOLERANCE=*value*\",\"type\":\"value\"},{\"name\":\"FONT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies a software font for reference line and axis labels. You can also specify fonts for axis labels in an AXIS statement. The FONT= font takes precedence over the FTEXT= font specified in the GOPTIONS statement.\",\"help\":\"FONT=*font*\",\"type\":\"value\"},{\"name\":\"FORCEHIST\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Forces the creation of a histogram if there is only one unique observation.\",\"type\":\"standalone\"},{\"name\":\"FRONTREF\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Draws reference lines requested with the HREF= and VREF= options in front of the histogram bars.\",\"type\":\"standalone\"},{\"name\":\"GAMMA\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays fitted gamma density curves on the histogram. You can specify the following gamma-options:\",\"help\":\"GAMMA(ALPHADELTA= | ALPHAINITIAL= | MAXITER= | SIGMA= | ALPHA= | THETA= | COLOR= | CONTENTS= | FILL | L= | W= | MIDPERCENTS | NOPRINT | PERCENTS=)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ALPHADELTA=\",\"type\":\"value\"},{\"name\":\"ALPHAINITIAL=\",\"type\":\"value\"},{\"name\":\"MAXITER=\",\"type\":\"value\"},{\"name\":\"SIGMA=\",\"type\":\"value\"},{\"name\":\"ALPHA=\",\"type\":\"value\"},{\"name\":\"THETA=\",\"type\":\"value\"},{\"name\":\"COLOR=\",\"type\":\"value\"},{\"name\":\"CONTENTS=\",\"type\":\"value\"},{\"name\":\"FILL\",\"type\":\"standalone\"},{\"name\":\"L=\",\"type\":\"value\"},{\"name\":\"W=\",\"type\":\"value\"},{\"name\":\"MIDPERCENTS\",\"type\":\"standalone\"},{\"name\":\"NOPRINT\",\"type\":\"standalone\"},{\"name\":\"PERCENTS=\",\"type\":\"value\"}]},{\"name\":\"GAMMA=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the second shape parameter, γ, for Johnson SB and Johnson SU distribution functions requested with the SB and SU options.\",\"help\":\"GAMMA=*value-list*\",\"type\":\"value\"},{\"name\":\"GRID\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays a grid on the histogram.\",\"type\":\"standalone\"},{\"name\":\"GUMBEL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays fitted Gumbel density curves on the histogram. You can specify the GUMBEL option only once in a HISTOGRAM statement, but it can request any number of Gumbel curves. Use the MU= and the SIGMA= Gumbel-options to specify the location parameter μ and the scale parameter σ, respectively. By default, PROC UNIVARIATE computes maximum likelihood estimates for μ and σ.\",\"help\":\"GUMBEL&lt; (*Gumbel-options*)&gt;\",\"type\":\"standaloneOrValue\"},{\"name\":\"HANGING\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests a hanging histogram,\",\"type\":\"standalone\"},{\"name\":\"HAXIS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the name of an AXIS statement describing the horizontal axis.\",\"help\":\"HAXIS=*value*\",\"type\":\"value\"},{\"name\":\"HEIGHT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the height, in percentage screen units, of text for axis labels, tick mark labels, and legends. This option takes precedence over the HTEXT= option in the GOPTIONS statement.\",\"help\":\"HEIGHT=*value*\",\"type\":\"value\"},{\"name\":\"HMINOR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"HM=\"],\"description\":\"Specifies the number of minor tick marks between each major tick mark on the horizontal axis. Minor tick marks are not labeled. By default, HMINOR=0.\",\"help\":\"HMINOR=*n*\",\"type\":\"value\"},{\"name\":\"HOFFSET=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the offset, in percentage screen units, at both ends of the horizontal axis.\",\"help\":\"HOFFSET=*value*\",\"type\":\"value\"},{\"name\":\"HREF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Draws reference lines that are perpendicular to the horizontal axis at the values that you specify.\",\"help\":\"HREF=*values*\",\"type\":\"value\"},{\"name\":\"HREFLABELS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"HREFLABEL=\",\"HREFLAB=\"],\"description\":\"Specifies labels for the lines requested by the HREF= option. The number of labels must equal the number of lines. Enclose each label in quotes. Labels can have up to 16 characters.\",\"type\":\"value\"},{\"name\":\"HREFLABPOS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the vertical position of the HREFLABELS= labels.\",\"help\":\"HREFLABPOS=1 | 2 | 3 | 4\",\"type\":\"choice\",\"arguments\":[{\"name\":\"1\",\"followsDelimiter\":\"/\",\"description\":\"Along top of plot\",\"type\":\"standalone\"},{\"name\":\"2\",\"followsDelimiter\":\"/\",\"description\":\"Staggered from top to bottom of plot\",\"type\":\"standalone\"},{\"name\":\"3\",\"followsDelimiter\":\"/\",\"description\":\"Along bottom of plot\",\"type\":\"standalone\"},{\"name\":\"4\",\"followsDelimiter\":\"/\",\"description\":\"Staggered from bottom to top of plot\",\"type\":\"standalone\"}]},{\"name\":\"IGAUSS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"displays fitted inverse Gaussian density curves on the histogram. You can specify the IGAUSS option only once in a HISTOGRAM statement, but it can request any number of inverse Gaussian curves. Use the MU= and the LAMBDA= iGauss-options to specify the location parameter μ and the shape parameter λ, respectively. By default, PROC UNIVARIATE uses the sample mean for μ and computes a maximum likelihood estimate for λ.\",\"help\":\"IGAUSS &lt;(i*Gauss-options*)&gt;\",\"type\":\"standaloneOrValue\"},{\"name\":\"INFONT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies a software font to use for text inside the framed areas of the plot. The INFONT= option takes precedence over the FTEXT= option in the GOPTIONS statement.\",\"help\":\"INFONT=*font*\",\"type\":\"value\"},{\"name\":\"INHEIGHT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the height, in percentage screen units, of text used inside the framed areas of the histogram. By default, the height specified by the HEIGHT= option is used. If you do not specify the HEIGHT= option, the height specified with the HTEXT= option in the GOPTIONS statement is used.\",\"help\":\"INHEIGHT=*value*\",\"type\":\"value\"},{\"name\":\"INTERBAR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the space between histogram bars in percentage screen units.\",\"help\":\"INTERBAR=*value*\",\"type\":\"value\"},{\"name\":\"INTERTILE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the distance in horizontal percentage screen units between the framed areas, called tiles, of a comparative plot. By default, INTERTILE=0.75 percentage screen units. This option is not available unless you use the CLASS statement. You can specify INTERTILE=0 to create contiguous tiles.\",\"help\":\"INTERTILE=*value*\",\"type\":\"value\"},{\"name\":\"ITPRINT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests a table that shows the iteration history and optimizer details of the maximum likelihood parameter estimation of a Weibull distribution that is requested by the WEIBULL or WEIBULL2 option.\",\"type\":\"standalone\"},{\"name\":\"K=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the kernel function (normal, quadratic, or triangular) used to compute a kernel density estimate.\",\"help\":\"K=NORMAL | QUADRATIC | TRIANGULAR\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NORMAL\",\"followsDelimiter\":\"/\",\"description\":\"Normal kernel function\",\"type\":\"standalone\"},{\"name\":\"QUADRATIC\",\"followsDelimiter\":\"/\",\"description\":\"Quadratic kernel function\",\"type\":\"standalone\"},{\"name\":\"TRIANGULAR\",\"followsDelimiter\":\"/\",\"description\":\"Triangular kernel function\",\"type\":\"standalone\"}]},{\"name\":\"KERNEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Superimposes kernel density estimates on the histogram. You can specify the kernel-options described below:\",\"help\":\"KERNEL=C= | COLOR= | FILL | K= | L= | LOWER | UPPER | W=\",\"type\":\"choice\",\"arguments\":[{\"name\":\"C=\",\"type\":\"value\"},{\"name\":\"COLOR=\",\"type\":\"value\"},{\"name\":\"FILL\",\"type\":\"standalone\"},{\"name\":\"K=\",\"type\":\"value\"},{\"name\":\"L=\",\"type\":\"value\"},{\"name\":\"LOWER\",\"type\":\"standalone\"},{\"name\":\"UPPER\",\"type\":\"standalone\"},{\"name\":\"W=\",\"type\":\"value\"}]},{\"name\":\"L=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the line type of the curve or reference line associated with a distribution or kernel density estimate. Enclose the L= option in parentheses after the distribution option or the KERNEL option. In a HISTOGRAM statement, you can specify a list of line types in parentheses for multiple density curves.\",\"help\":\"L=*linetype*\",\"type\":\"value\"},{\"name\":\"LAMBDA=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the shape parameter λ for fitted curves that are requested by the IGAUSS option. Enclose the LAMBDA= option in parentheses after the IGAUSS distribution keyword. If you do not specify a value for λ, the procedure calculates a maximum likelihood estimate.\",\"help\":\"LAMBDA=*value*\",\"type\":\"value\"},{\"name\":\"LGRID=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the line type for the grid when a grid displays on the histogram.\",\"help\":\"LGRID=*linetype*\",\"type\":\"value\"},{\"name\":\"LHREF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"LH=\"],\"description\":\"Specifies the line type for the reference lines that you request with the HREF= option. By default, LHREF=2, which produces a dashed line.\",\"type\":\"value\"},{\"name\":\"LOGNORMAL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays a fitted lognormal distribution function on the histogram. You can specify the following lognormal-options:\",\"help\":\"LOGNORMAL&lt;(SIGMA= | THETA= | ZETA= | COLOR= | CONTENTS= | FILL | L= | MIDPERCENTS | NOPRINT | PERCENTS= | W=)&gt;\",\"type\":\"standaloneOrValue\"},{\"name\":\"LOWER=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies lower bounds for kernel density estimates requested with the KERNEL option.\",\"help\":\"LOWER=*value-list*\",\"type\":\"value\"},{\"name\":\"LSTATREF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the line types for the reference lines that you request in the STATREF= option. If you specify a single line type, it is used for all STATREF= lines. Otherwise, if fewer line types are specified than reference lines are requested, the remaining lines are displayed with the default reference line type.\",\"help\":\"LSTATREF=*linetype* |  *linetype-list*\",\"type\":\"choice\",\"arguments\":[{\"name\":\"linetype\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"linetype-list\",\"placeholder\":true,\"type\":\"value\"}]},{\"name\":\"LVREF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"LV=\"],\"description\":\"Specifies the line type for lines requested with the VREF= option. By default, LVREF=2, which produces a dashed line.\",\"help\":\"LVREF=*linetype*\",\"type\":\"value\"},{\"name\":\"MAXITER=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the maximum number of iterations in the Newton-Raphson approximation of the maximum likelihood estimate of α for gamma distributions requested with the GAMMA option and c for Weibull distributions requested with the WEIBULL and WEIBULL2 options. Enclose the MAXITER= option in parentheses after the GAMMA, WEIBULL, or WEIBULL2 keywords. The default value of n is 20.\",\"help\":\"MAXITER=*n*\",\"type\":\"value\"},{\"name\":\"MAXNBIN=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Limits the number of bins displayed in the comparative histogram.\",\"help\":\"MAXNBIN=*n*\",\"type\":\"value\"},{\"name\":\"MAXSIGMAS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Limits the number of bins displayed in the comparative histogram to a range of value standard deviations (of the data in the key cell) above and below the mean of the data in the key cell.\",\"help\":\"MAXSIGMAS=*value*\",\"type\":\"value\"},{\"name\":\"MIDPERCENTS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests a table listing the midpoints and percentage of observations in each histogram interval.\",\"type\":\"standalone\"},{\"name\":\"MIDPOINTS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies how to determine the midpoints for the histogram intervals, where values determines the width of the histogram bars as the difference between consecutive midpoints.\",\"help\":\"MIDPOINTS=*values* | KEY | UNIFORM\",\"type\":\"choice\",\"arguments\":[{\"name\":\"values\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"The values must be listed in increasing order and must be evenly spaced. The difference between consecutive midpoints is used as the width of the histogram bars.\",\"type\":\"value\"},{\"name\":\"KEY\",\"followsDelimiter\":\"/\",\"description\":\"The procedure first determines the midpoints for the data in the key cell. The initial number of midpoints is based on the number of observations in the key cell by using the method of Terrell and Scott (1985). The midpoint list for the key cell is then extended in either direction as necessary until it spans the data in the remaining cells.\",\"type\":\"standalone\"},{\"name\":\"UNIFORM\",\"followsDelimiter\":\"/\",\"description\":\"The procedure determines the midpoints using all the observations as if there were no cells. In other words, the number of midpoints is computed from the total sample size by using the method of Terrell and Scott (1985).\",\"type\":\"standalone\"}]},{\"name\":\"MU=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the parameter, µ, for normal density curves requested with the NORMAL option.\",\"help\":\"MU=*value*\",\"type\":\"value\"},{\"name\":\"NAME=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies a name for the plot, up to eight characters long, that appears in the PROC GREPLAY master menu for a traditional graphics chart. The default value is 'UNIVAR'.\",\"help\":\"NAME='*string*'\",\"type\":\"value\"},{\"name\":\"NCOLS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"NCOL=\"],\"description\":\"Specifies the number of columns per panel in a comparative plot. This option is not available unless you use the CLASS statement. By default, NCOLS=1 if you specify only one CLASS variable, and NCOLS=2 if you specify two CLASS variables. If you specify two CLASS variables, you can use the NCOLS= option with the NROWS= option.\",\"help\":\"NCOLS=*n*\",\"type\":\"value\"},{\"name\":\"NENDPOINTS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Uses histogram interval endpoints as the tick mark values for the horizontal axis and determines the number of bins.\",\"help\":\"NENDPOINTS=*n*\",\"type\":\"value\"},{\"name\":\"NMIDPOINTS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the number of histogram intervals.\",\"help\":\"NMIDPOINTS=*n*\",\"type\":\"value\"},{\"name\":\"NOBARS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Suppresses drawing of histogram bars, which is useful for viewing fitted curves only.\",\"type\":\"standalone\"},{\"name\":\"NOCURVELEGEND\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"NOLEGEND\"],\"description\":\"Suppresses the legend for fitted curves. This option applies only to ODS Graphics output.\",\"type\":\"standalone\"},{\"name\":\"NOFRAME\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Suppresses the frame around the subplot area.\",\"type\":\"standalone\"},{\"name\":\"NOHLABEL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Suppresses the label for the horizontal axis. You can use this option to reduce clutter.\",\"type\":\"standalone\"},{\"name\":\"NOPLOT\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"NOCHART\"],\"description\":\"Suppresses the creation of a plot. Use this option when you only want to tabulate summary statistics for a fitted density or create an OUTHISTOGRAM= data set.\",\"type\":\"standalone\"},{\"name\":\"NOPRINT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Suppresses tables summarizing the fitted curve. Enclose the NOPRINT option in parentheses following the distribution option.\",\"type\":\"standalone\"},{\"name\":\"NORMAL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays a fitted normal density curves on the histogram. You can specify the following normal-options:\",\"help\":\"NORMAL&lt;(MU= | SIGMA= | COLOR= | CONTENTS= | FILL | L= | MIDPERCENTS | W=)&gt;\",\"type\":\"standaloneOrValue\"},{\"name\":\"NOTABCONTENTS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Suppresses the table of contents entries for tables produced by the HISTOGRAM statement.\",\"type\":\"standalone\"},{\"name\":\"NOVLABEL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Suppresses the label for the vertical axis. You can use this option to reduce clutter.\",\"type\":\"standalone\"},{\"name\":\"NOVTICK\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Suppresses the tick marks and tick mark labels for the vertical axis. This option also suppresses the label for the vertical axis.\",\"type\":\"standalone\"},{\"name\":\"NROWS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"NROW=\"],\"description\":\"Specifies the number of rows per panel in a comparative plot. This option is not available unless you use the CLASS statement. By default, NROWS=2. If you specify two CLASS variables, you can use the NCOLS= option with the NROWS= option.\",\"help\":\"NROWS=*n*\",\"type\":\"value\"},{\"name\":\"ODSFOOTNOTE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Adds a footnote to ODS Graphics output.\",\"help\":\"ODSFOOTNOTE=FOOTNOTE | FOOTNOTE1 | *'string'*\",\"type\":\"choice\",\"arguments\":[{\"name\":\"FOOTNOTE\",\"followsDelimiter\":\"/\",\"description\":\"Uses the value of the SAS FOOTNOTE statement as the graph footnote.\",\"type\":\"standalone\"},{\"name\":\"FOOTNOTE1\",\"followsDelimiter\":\"/\",\"description\":\"Uses the value of the SAS FOOTNOTE statement as the graph footnote.\",\"type\":\"standalone\"},{\"name\":\"'string'\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"Uses the specified string as the graph footnote. The string can contain either of the following escaped characters, which are replaced with the appropriate values from the analysis: \\\\n is replaced by the analysis variable name, or \\\\l is replaced by the analysis variable label (or name if the analysis variable has no label).\",\"type\":\"value\"}]},{\"name\":\"ODSFOOTNOTE2=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Adds a secondary footnote to ODS Graphics output.\",\"help\":\"ODSFOOTNOTE2=FOOTNOTE2 | *'string'*\",\"type\":\"choice\",\"arguments\":[{\"name\":\"FOOTNOTE2\",\"followsDelimiter\":\"/\",\"description\":\"Uses the value of the SAS FOOTNOTE2 statement as the secondary graph footnote.\",\"type\":\"standalone\"},{\"name\":\"'string'\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"Uses the specified string as the secondary graph footnote. The string can contain either of the following escaped characters, which are replaced with the appropriate values from the analysis: \\\\n is replaced by the analysis variable name, or \\\\l is replaced by the analysis variable label (or name if the analysis variable has no label).\",\"type\":\"value\"}]},{\"name\":\"ODSTITLE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies a title for ODS Graphics output.\",\"help\":\"ODSTITLE=TITLE | TITLE1 | NONE | DEFAULT | LABELFMT | *'string'*\",\"type\":\"choice\",\"arguments\":[{\"name\":\"TITLE\",\"followsDelimiter\":\"/\",\"description\":\"Uses the value of the SAS TITLE statement as the graph title.\",\"type\":\"standalone\"},{\"name\":\"TITLE1\",\"followsDelimiter\":\"/\",\"description\":\"Uses the value of the SAS TITLE statement as the graph title.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"followsDelimiter\":\"/\",\"description\":\"Suppresses all titles from the graph.\",\"type\":\"standalone\"},{\"name\":\"DEFAULT\",\"followsDelimiter\":\"/\",\"description\":\"Uses the default ODS Graphics title (a descriptive title that consists of the plot type and the analysis variable name).\",\"type\":\"standalone\"},{\"name\":\"LABELFMT\",\"followsDelimiter\":\"/\",\"description\":\"Uses the default ODS Graphics title with the variable label instead of the variable name.\",\"type\":\"standalone\"},{\"name\":\"'string'\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"Uses the specified string as the graph title. The string can contain the following escaped characters, which are replaced with the appropriate values from the analysis: \\\\n is replaced by the analysis variable name, or \\\\l is replaced by the analysis variable label (or name if the analysis variable has no label).\",\"type\":\"value\"}]},{\"name\":\"ODSTITLE2=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies a secondary title for ODS Graphics output.\",\"help\":\"ODSTITLE2=TITLE2 | *'string'*\",\"type\":\"choice\",\"arguments\":[{\"name\":\"TITLE2\",\"followsDelimiter\":\"/\",\"description\":\"Uses the value of the SAS TITLE2 statement as the secondary graph title..\",\"type\":\"standalone\"},{\"name\":\"'string'\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"Uses the specified string as the secondary graph title. The string can contain the following escaped characters, which are replaced with the appropriate values from the analysis: \\\\n is replaced by the analysis variable name, or \\\\l is replaced by the analysis variable label (or name if the analysis variable has no label).\",\"type\":\"value\"}]},{\"name\":\"OPTBOUNDRANGE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Defines the sampling range for each parameter during maximum likelihood estimation for the Johnson SU distribution. PROC UNIVARIATE computes initial estimates for each parameter by using the method of percentiles. The value determines the range of parameter values around the initial estimate that can be sampled for local optimization starting values. By default, OPTBOUNDRANGE=100.\",\"help\":\"OPTBOUNDRANGE=*value*\",\"type\":\"value\"},{\"name\":\"OPTMAXITER=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Limits the number of iterations that are used by the optimizer in maximum likelihood estimation for the Johnson SU distribution. By default,OPTMAXITER=500.\",\"help\":\"OPTMAXITER=*value*\",\"type\":\"value\"},{\"name\":\"OPTMAXSTARTS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Defines the maximum number of starting points to use for local optimization in maximum likelihood estimation for the Johnson SU distribution. That is, no more than N local optimizations are used in the multi-start algorithm. By default, OPTMAXSTARTS=100.\",\"help\":\"OPTMAXSTARTS=*N*\",\"type\":\"value\"},{\"name\":\"OPTPRINT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Prints the iteration history for the Johnson SU distribution maximum likelihood estimation.\",\"type\":\"standalone\"},{\"name\":\"OPTSEED=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a positive integer seed for generating random number sequences in Johnson SU distribution maximum likelihood estimation. You can use this option to replicate results from different runs.\",\"help\":\"OPTSEED=*value*\",\"type\":\"value\"},{\"name\":\"OPTTOLERANCE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the tolerance for declaring optimality in maximum likelihood estimation for the Johnson SU distribution. By default, OPTTOLERANCE=1E–8.\",\"help\":\"OPTTOLERANCE=*value*\",\"type\":\"value\"},{\"name\":\"OUTHISTOGRAM=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"OUTHIST\"],\"description\":\"Creates a SAS data set that contains information about histogram intervals.\",\"help\":\"OUTHISTOGRAM=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"OUTKERNEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Creates a SAS data set that contains information about kernel density estimates.\",\"help\":\"OUTKERNEL=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"OVERLAY\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies that plots associated with different levels of a CLASS variable be overlaid onto a single plot, rather than displayed as separate cells in a comparative plot.\",\"type\":\"standalone\"},{\"name\":\"PARETO\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays fitted generalized Pareto density curves on the histogram. You can specify the this option only once in a HISTOGRAM statement, but it can request any number of generalized Pareto curves. The parameter Θ must be less than the minimum data value. Use the THETA= Pareto-option to specify Θ. By default, THETA=0. Use the SIGMA= and the ALPHA= Pareto-options to specify the scale parameter sigma and the shape parameter a. By default, PROC UNIVARIATE computes maximum likelihood estimates for σ and a.\",\"help\":\"PARETO&lt;(*Pareto-options*)&gt;\",\"type\":\"standaloneOrValue\"},{\"name\":\"PERCENTS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"PERCENT=\"],\"description\":\"Specifies a list of percents for which quantiles calculated from the data and quantiles estimated from the fitted curve are tabulated.\",\"help\":\"PERCENTS=*values*\",\"type\":\"value\"},{\"name\":\"PFILL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies a pattern used to fill the bars of the histograms (or the areas under a fitted curve if you also specify the FILL option) when producing traditional graphics.\",\"help\":\"PFILL=*pattern*\",\"type\":\"value\"},{\"name\":\"POWER\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays fitted power function density curves on the histogram. You can specify this option only once in a HISTOGRAM statement, but it can request any number of power function curves. The parameter Θ must be less than the minimum data value. Use the THETA= and SIGMA= power-options to specify Θ and σ. The default values are 0 and 1, respectively. Use the ALPHA= power-option to specify the and the shape parameter, a. By default, PROC UNIVARIATE computes a maximum likelihood estimate for a.\",\"help\":\"POWER&lt;(*power-options*)&gt;\",\"type\":\"standaloneOrValue\"},{\"name\":\"RAYLEIGH\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays fitted Rayleigh density curves on the histogram. You can specify this option only once in a HISTOGRAM statement, but it can request any number of Rayleigh curves. The parameter Θ must be less than the minimum data value. Use the THETA= Rayleigh-option to specify Θ. By default, THETA=0. Use the SIGMA= Rayleigh-option to specify the scale parameter σ. By default, PROC UNIVARIATE computes maximum likelihood estimates for σ.\",\"help\":\"RAYLEIGH&lt;(*Rayleigh-options*)&gt;\",\"type\":\"standaloneOrValue\"},{\"name\":\"RTINCLUDE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Includes the right endpoint of each histogram interval in that interval.\",\"type\":\"standalone\"},{\"name\":\"SB\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays fitted Johnson sB density curves on the histogram.\",\"type\":\"standalone\"},{\"name\":\"SCALE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Is an alias for the SIGMA= option for distributions requested by the BETA, EXPONENTIAL, GAMMA, SB, SU, WEIBULL, and WEIBULL2 options and for the ZETA= option for distributions requested by the LOGNORMAL option.\",\"help\":\"SCALE=*value*\",\"type\":\"value\"},{\"name\":\"SHAPE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Is an alias for the ALPHA= option for distributions requested by the GAMMA option, for the SIGMA= option for distributions requested by the LOGNORMAL option, and for the C= option for distributions requested by the WEIBULL and WEIBULL2 options.\",\"help\":\"SHAPE=*value*\",\"type\":\"value\"},{\"name\":\"SIGMA=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the parameter, σ, for distribution functions requested by the BETA, EXPONENTIAL, GAMMA, LOGNORMAL, NORMAL, and WEIBULL options.\",\"help\":\"SIGMA=*value-list*\",\"type\":\"value\"},{\"name\":\"STATREF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"draws reference lines at the values of the statistics that are requested in the space-delimited keyword-list. Keywords can be MAX, MEAN, MEDIAN, Q2, MIN, MODE, P p, Q1, Q3, factor STD. These reference lines are perpendicular to the horizontal axis in a histogram or CDF plot, and perpendicular to the vertical axis in a probability or Q-Q plot (unless the ROTATE option is specified). The STATREF= option does not apply to the PPPLOT statement.\",\"help\":\"STATREF=*keyword-list*\",\"type\":\"value\"},{\"name\":\"STATREFLABELS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"STATREFLABEL=\",\"STATREFLAB=\"],\"description\":\"Specifies labels for the lines that you request in the STATREF= option. The number of labels must equal the number of lines. Enclose each label in quotes. Labels can be up to 16 characters long.\",\"help\":\"STATREFLABELS=*'label1*' ...'*labeln*'\",\"type\":\"value\"},{\"name\":\"STATREFSUBCHAR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies a substitution character (such as #) for labels that you specify in the STATREFLABELS= option. When the labels are displayed in a graph, the first occurrence of the specified character in each label is replaced with the value of the corresponding STATREF= statistic.\",\"help\":\"STATREFSUBCHAR=*'character'*\",\"type\":\"value\"},{\"name\":\"SU\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays fitted Johnson SU density curves on the histogram.\",\"help\":\"SU&lt;(*S**<sub>U</sub>**-options*)&gt;\",\"type\":\"standaloneOrValue\"},{\"name\":\"THETA=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the lower threshold parameter, θ, for curves requested with the BETA, EXPONENTIAL, GAMMA, LOGNORMAL, SB, SU, and WEIBULL options.\",\"help\":\"THETA=*value-list*\",\"type\":\"value\"},{\"name\":\"THRESHOLD=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the lower threshold parameter, θ, for theoretical cumulative distribution functions requested with the BETA, EXPONENTIAL, GAMMA, LOGNORMAL, and WEIBULL options.\",\"type\":\"value\"},{\"name\":\"TURNVLABELS\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"TURNVLABEL\"],\"description\":\"Turns the characters in the vertical axis labels so that they display vertically. This happens by default when you use a hardware font.\",\"type\":\"standalone\"},{\"name\":\"UPPER=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies upper bounds for kernel density estimates requested with the KERNEL option.\",\"help\":\"UPPER=*value-list*\",\"type\":\"value\"},{\"name\":\"VAXIS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the name of an AXIS statement describing the vertical axis. In a HISTOGRAM statement, you can alternatively specify a value-list for the vertical axis.\",\"help\":\"VAXIS=*name*\",\"type\":\"value\"},{\"name\":\"VAXISLABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies a label for the vertical axis. Labels can have up to 40 characters.\",\"help\":\"VAXISLABEL='*label*'\",\"type\":\"value\"},{\"name\":\"VMINOR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"VM=\"],\"description\":\"Specifies the number of minor tick marks between each major tick mark on the vertical axis. Minor tick marks are not labeled. The default is zero.\",\"help\":\"VMINOR=*n*\",\"type\":\"value\"},{\"name\":\"VOFFSET=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the offset, in percentage screen units, at the upper end of the vertical axis.\",\"help\":\"VOFFSET=*value*\",\"type\":\"value\"},{\"name\":\"VREF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Draws reference lines perpendicular to the vertical axis at the values specified. Also see the CVREF= and LVREF= options.\",\"help\":\"VREF=*value-list*\",\"type\":\"value\"},{\"name\":\"VREFLABELS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"VREFLABEL=\",\"VREFLAB=\"],\"description\":\"Specifies labels for the lines requested by the VREF= option. The number of labels must equal the number of lines. Enclose each label in quotes. Labels can have up to 16 characters.\",\"help\":\"VREFLABELS=*'label1''* ...*'labeln'*\",\"type\":\"value\"},{\"name\":\"VREFLABPOS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the horizontal position of the VREFLABELS= labels.\",\"help\":\"VREFLABPOS=1 | 2\",\"type\":\"choice\",\"arguments\":[{\"name\":\"1\",\"followsDelimiter\":\"/\",\"description\":\"Labels are positioned at the left of the plot.\",\"type\":\"standalone\"},{\"name\":\"2\",\"followsDelimiter\":\"/\",\"description\":\"Labels are positioned at the right of the plot.\",\"type\":\"standalone\"}]},{\"name\":\"VSCALE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the scale of the vertical axis for a histogram.\",\"help\":\"VSCALE=COUNT | PERCENT | PROPORTION\",\"type\":\"choice\",\"arguments\":[{\"name\":\"COUNT\",\"followsDelimiter\":\"/\",\"description\":\"Scales the data in units of the number of observations per data unit.\",\"type\":\"standalone\"},{\"name\":\"PERCENT\",\"followsDelimiter\":\"/\",\"description\":\"Scales the data in units of percent of observations per data unit. This is the default.\",\"type\":\"standalone\"},{\"name\":\"PROPORTION\",\"followsDelimiter\":\"/\",\"description\":\"Scales the data in units of proportion of observations per data unit.\",\"type\":\"standalone\"}]},{\"name\":\"W=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the width in pixels of the curve or reference line associated with a distribution or kernel density estimate. Enclose the W= option in parentheses after the distribution option or the KERNEL option. In a HISTOGRAM statement, you can specify a list of widths in parentheses for multiple density curves.\",\"type\":\"value\"},{\"name\":\"WAXIS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the line thickness, in pixels, for the axes and frame.\",\"help\":\"WAXIS=*n*\",\"type\":\"value\"},{\"name\":\"WBARLINE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the width of bar outlines when producing traditional graphics.\",\"help\":\"WBARLINE=*n*\",\"type\":\"value\"},{\"name\":\"WEIBULL\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"WEIB\"],\"description\":\"Displays a fitted Weibull density curves on the histogram. You can specify the following Weibull-options:\",\"help\":\"WEIBULL(C= | CDELTA= | CINITIAL= | MAXITER= | SIGMA= | THETA= | COLOR= | CONTENTS= | FILL | L= | W= | MIDPERCENTS | NOPRINT | PERCENTS=)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"C=\",\"type\":\"value\"},{\"name\":\"CDELTA=\",\"type\":\"value\"},{\"name\":\"CINITIAL=\",\"type\":\"value\"},{\"name\":\"MAXITER=\",\"type\":\"value\"},{\"name\":\"SIGMA=\",\"type\":\"value\"},{\"name\":\"THETA=\",\"type\":\"value\"},{\"name\":\"COLOR=\",\"type\":\"value\"},{\"name\":\"CONTENTS=\",\"type\":\"value\"},{\"name\":\"FILL\",\"type\":\"standalone\"},{\"name\":\"L=\",\"type\":\"value\"},{\"name\":\"W=\",\"type\":\"value\"},{\"name\":\"MIDPERCENTS\",\"type\":\"standalone\"},{\"name\":\"NOPRINT\",\"type\":\"standalone\"},{\"name\":\"PERCENTS=\",\"type\":\"value\"}]},{\"name\":\"WGRID=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the line thickness for the grid when producing traditional graphics.\",\"help\":\"WGRID=*n*\",\"type\":\"value\"},{\"name\":\"WHREF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the line thickness, in pixels, of the reference lines that you request using the HREF= option. If you specify a single thickness, it is used for all HREF= lines. Otherwise, if you specify fewer thicknesses than reference lines, the remaining lines are displayed using the default thickness.\",\"help\":\"WHREF=*value-list*\",\"type\":\"value\"},{\"name\":\"WSTATREF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the line thickness, in pixels, of the reference lines that you request using the STATREF= option. If you specify a single thickness, it is used for all STATREF= lines. Otherwise, if you specify fewer thicknesses than reference lines, the remaining lines are displayed using the default thickness.\",\"help\":\"WSTATREF=*value-list*\",\"type\":\"value\"},{\"name\":\"WVREF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the line thickness, in pixels, of the reference lines that you request using the VREF= option. If you specify a single thickness, it is used for all VREF= lines. Otherwise, if you specify fewer thicknesses than reference lines, the remaining lines are displayed using the default thickness.\",\"help\":\"WVREF=*value-list*\",\"type\":\"value\"},{\"name\":\"ZETA=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies a value for the scale parameter, ζ, for lognormal density curves requested with the LOGNORMAL option.\",\"help\":\"ZETA=*value-list*\",\"type\":\"value\"}]},{\"name\":\"ID\",\"description\":\"Specifies one or more variables to include in the table of extreme observations. The corresponding values of the ID variables appear beside the n largest and n smallest observations, where n is the value of NEXTROBS= option. You can also include ID variables in the output data set created by an OUTPUT statement by specifying the IDOUT option in the PROC UNIVARIATE statement.\",\"help\":\"ID variable(s)\"},{\"name\":\"INSET\",\"description\":\"An INSET statement places a box or table of summary statistics, called an inset, directly in a graph created with a CDFPLOT, HISTOGRAM, PPPLOT, PROBPLOT, or QQPLOT statement.\",\"help\":\"INSET &lt;CFILL=color | BLANK&gt;&lt;CFILL=BLANK&gt;&lt;DATA=SAS-data-set&gt; ...\",\"arguments\":[{\"name\":\"CFILL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the color of the background (including the header background if you do not specify the CFILLH= option). CFILL=BLANK leaves the background uncolored and prevents items from showing through the inset.\",\"help\":\"CFILL=*color* | BLANK\",\"type\":\"choice\",\"arguments\":[{\"name\":\"color\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the color of the background (including the header background if you do not specify the CFILLH= option). CFILL=BLANK leaves the background uncolored and prevents items from showing through the inset.\",\"type\":\"color\"},{\"name\":\"BLANK\",\"followsDelimiter\":\"/\",\"description\":\"Leaves the background uncolored and prevents items from showing through the inset.\",\"type\":\"standalone\"}]},{\"name\":\"CFILLH=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the color of the header background for traditional graphics. The default value is the CFILL= color.\",\"help\":\"CFILLH=*color*\",\"type\":\"color\"},{\"name\":\"CFRAME=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the color of the frame for traditional graphics. The default value is the same color as the axis of the plot.\",\"help\":\"CFRAME=*color*\",\"type\":\"color\"},{\"name\":\"CHEADER=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the color of the header text for traditional graphics. The default value is the CTEXT= color.\",\"help\":\"CHEADER=*color*\",\"type\":\"color\"},{\"name\":\"CSHADOW=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the color of the drop shadow for traditional graphics. By default, if a CSHADOW= option is not specified, a drop shadow is not displayed.\",\"help\":\"CSHADOW=*color*\",\"type\":\"color\"},{\"name\":\"CTEXT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"CT=\"],\"description\":\"Specifies the color of the text for traditional graphics. The default value is the same color as the other text on the plot.\",\"help\":\"CTEXT=*color*\",\"type\":\"color\"},{\"name\":\"DATA\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies that data coordinates are to be used in positioning the inset with the POSITION= option.\",\"type\":\"standalone\"},{\"name\":\"DATA=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests that PROC UNIVARIATE display customized statistics from a SAS data set in the inset table.\",\"help\":\"DATA=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"FONT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the font of the text for traditional graphics. By default, if you locate the inset in the interior of the plot, then the font is SIMPLEX. If you locate the inset in the exterior of the plot, then the font is the same as the other text on the plot.\",\"help\":\"FONT=*font*\",\"type\":\"value\"},{\"name\":\"FORMAT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies a format for all the values in the inset.\",\"help\":\"FORMAT=*format*\",\"type\":\"value\"},{\"name\":\"HEADER=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the header text. The string cannot exceed 40 characters. By default, no header line appears in the inset.\",\"help\":\"HEADER='*string*'\",\"type\":\"value\"},{\"name\":\"HEIGHT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"HM=\"],\"description\":\"Specifies the height of the text for traditional graphics.\",\"help\":\"HEIGHT=*value*\",\"type\":\"value\"},{\"name\":\"POSITION=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Determines the position of the inset. The position is a compass point keyword, a margin keyword, or a pair of coordinates (x,y). You can specify coordinates in axis percent units or axis data units. The default value is NW, which positions the inset in the upper left (northwest) corner of the display.\",\"help\":\"POSITION=*position*\",\"type\":\"value\"},{\"name\":\"REFPOINT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the reference point for an inset that PROC UNIVARIATE positions by a pair of coordinates with the POSITION= option.\",\"help\":\"REFPOINT=BR | BL | TR | TL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"BR\",\"followsDelimiter\":\"/\",\"description\":\"Bottom right\",\"type\":\"standalone\"},{\"name\":\"BL\",\"followsDelimiter\":\"/\",\"description\":\"Bottom left (the default)\",\"type\":\"standalone\"},{\"name\":\"TR\",\"followsDelimiter\":\"/\",\"description\":\"Top right\",\"type\":\"standalone\"},{\"name\":\"TL\",\"followsDelimiter\":\"/\",\"description\":\"Top left\",\"type\":\"standalone\"}]}]},{\"name\":\"OUTPUT\",\"description\":\"The OUTPUT statement saves statistics and BY variables in an output data set. When you use a BY statement, each observation in the OUT= data set corresponds to one of the BY groups. Otherwise, the OUT= data set contains only one observation. You can use any number of OUTPUT statements in the UNIVARIATE procedure. Each OUTPUT statement creates a new data set containing the statistics specified in that statement. You must use the VAR statement with the OUTPUT statement. The OUTPUT statement must contain a specification of the form keyword=names or the PCTLPTS= and PCTLPRE= specifications.\",\"help\":\"OUTPUT &lt;OUT=SAS-data-set&gt;&lt;PCTLPRE=prefixes&gt;&lt;PCTLPTS=percentiles&gt; ...\",\"arguments\":[{\"name\":\"CSS=\",\"description\":\"Sum of squares corrected for the mean\",\"type\":\"value\"},{\"name\":\"CV=\",\"description\":\"Percent coefficient of variation\",\"type\":\"value\"},{\"name\":\"GINI\",\"description\":\"Gini's mean difference\",\"type\":\"standalone\"},{\"name\":\"KURTOSIS=\",\"aliases\":[\"KURT=\"],\"description\":\"Measures heaviness of tails.\",\"type\":\"value\"},{\"name\":\"LCLM=\",\"description\":\"One-sided confidence limit below the mean\",\"type\":\"value\"},{\"name\":\"MAD\",\"description\":\"Median absolute difference about the median\",\"type\":\"standalone\"},{\"name\":\"MAX=\",\"description\":\"Maximum value\",\"type\":\"value\"},{\"name\":\"MEAN=\",\"description\":\"Arithmetic mean\",\"type\":\"value\"},{\"name\":\"MEDIAN=\",\"aliases\":[\"P50=\"],\"description\":\"Middle value\",\"type\":\"value\"},{\"name\":\"MIN=\",\"description\":\"Minimum value\",\"type\":\"value\"},{\"name\":\"MODE=\",\"description\":\"Most frequent value\",\"type\":\"value\"},{\"name\":\"MSIGN\",\"description\":\"Sign statistic\",\"type\":\"standalone\"},{\"name\":\"N=\",\"description\":\"Number of observations that are not missing\",\"type\":\"value\"},{\"name\":\"NMISS=\",\"description\":\"Number of observations that are missing\",\"type\":\"value\"},{\"name\":\"NORMALTEST\",\"description\":\"Test statistic for normality\",\"type\":\"standalone\"},{\"name\":\"P10=\",\"description\":\"10th percentile\",\"type\":\"value\"},{\"name\":\"P1=\",\"description\":\"1st percentile\",\"type\":\"value\"},{\"name\":\"P25=\",\"description\":\"25th percentile\",\"type\":\"value\"},{\"name\":\"P5=\",\"description\":\"5th percentile\",\"type\":\"value\"},{\"name\":\"P75=\",\"description\":\"75th percentile (upper quartile)\",\"type\":\"value\"},{\"name\":\"P90=\",\"description\":\"90th percentile\",\"type\":\"value\"},{\"name\":\"P95=\",\"description\":\"95th percentile\",\"type\":\"value\"},{\"name\":\"P99=\",\"description\":\"99th percentile\",\"type\":\"value\"},{\"name\":\"PROBM\",\"description\":\"Probability of a greater absolute value for the sign statistic\",\"type\":\"standalone\"},{\"name\":\"PROBN\",\"description\":\"Probability value for the test of normality\",\"type\":\"standalone\"},{\"name\":\"PROBS\",\"description\":\"Probability value for the signed rank test\",\"type\":\"standalone\"},{\"name\":\"PROBT=\",\"aliases\":[\"PRT=\"],\"description\":\"Two-tailed probability value for the Student's t statistic\",\"type\":\"value\"},{\"name\":\"Q1=\",\"description\":\"Lower quartile (25th percentile)\",\"type\":\"value\"},{\"name\":\"Q3=\",\"description\":\"Upper quartile (75th percentile)\",\"type\":\"value\"},{\"name\":\"QN\",\"description\":\"Qn, alternative to MAD\",\"type\":\"standalone\"},{\"name\":\"QRANGE=\",\"description\":\"Interquartile range and is calculated as Q3-Q1\",\"type\":\"value\"},{\"name\":\"RANGE=\",\"description\":\"Range calculated as the difference between maximum value and minimum value.\",\"type\":\"value\"},{\"name\":\"SIGNRANK\",\"description\":\"Signed rank statistic\",\"type\":\"standalone\"},{\"name\":\"SKEWNESS=\",\"aliases\":[\"SKEW=\"],\"description\":\"Measures the tendency of the deviations to be larger in one direction than in the other.\",\"type\":\"value\"},{\"name\":\"SN\",\"description\":\"Sn, alternative to MAD\",\"type\":\"standalone\"},{\"name\":\"STDDEV=\",\"aliases\":[\"STD=\"],\"description\":\"Standard deviation\",\"type\":\"value\"},{\"name\":\"STDERR=\",\"description\":\"Standard error of the mean\",\"type\":\"value\"},{\"name\":\"STD_GINI\",\"description\":\"Gini's standard deviation\",\"type\":\"standalone\"},{\"name\":\"STD_MAD\",\"description\":\"MAD standard deviation\",\"type\":\"standalone\"},{\"name\":\"STD_QN\",\"description\":\"Qn standard deviation\",\"type\":\"standalone\"},{\"name\":\"STD_QRANGE\",\"description\":\"Qn standard deviation\",\"type\":\"standalone\"},{\"name\":\"STD_SN\",\"description\":\"Sn standard deviation\",\"type\":\"standalone\"},{\"name\":\"SUM=\",\"description\":\"Sum\",\"type\":\"value\"},{\"name\":\"SUMWGT=\",\"description\":\"Sum of the weights\",\"type\":\"value\"},{\"name\":\"T=\",\"description\":\"Student's t statistic\",\"type\":\"value\"},{\"name\":\"UCLM=\",\"description\":\"One-sided confidence limit above the mean\",\"type\":\"value\"},{\"name\":\"USS=\",\"description\":\"Uncorrected sum of squares\",\"type\":\"value\"},{\"name\":\"VAR=\",\"description\":\"Variance\",\"type\":\"value\"},{\"name\":\"OUT=\",\"optional\":true,\"description\":\"Identifies the output data set.\",\"help\":\"OUT=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"PCTLNAME=\",\"optional\":true,\"description\":\"Specifies one or more suffixes to create the names for the variables that contain the PCTLPTS= percentiles.\",\"help\":\"PCTLNAME=*suffixes*\",\"type\":\"value\"},{\"name\":\"PCTLPRE=\",\"optional\":true,\"description\":\"Specifies one or more prefixes to create the variable names for the variables that contain the PCTLPTS= percentiles.\",\"help\":\"PCTLPRE=*prefixes*\",\"type\":\"value\"},{\"name\":\"PCTLPTS=\",\"optional\":true,\"description\":\"Specifies one or more percentiles that are not automatically computed by the UNIVARIATE procedure.\",\"help\":\"PCTLPTS=*percentiles*\",\"type\":\"value\"}]},{\"name\":\"PPPLOT\",\"aliases\":[\"PP\"],\"description\":\"The PPPLOT statement creates a probability-probability plot (also referred to as a P-P plot or percent plot), which compares the empirical cumulative distribution function (ecdf) of a variable with a specified theoretical cumulative distribution function such as the normal.\",\"help\":\"PPPLOT &lt;ALPHADELTA=value&gt;&lt;ALPHAINITIAL=value&gt;&lt;ANNOKEY&gt; ...\",\"arguments\":[{\"name\":\"ALPHA=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the shape parameter α for P-P plots requested with the BETA and GAMMA options.\",\"help\":\"ALPHA=*value-list*\",\"type\":\"value\"},{\"name\":\"ALPHADELTA=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the change in successive estimates of α-hat at which iteration terminates in the Newton-Raphson approximation of the maximum likelihood estimate of α for gamma distributions requested with the GAMMA option.\",\"help\":\"ALPHADELTA=*value*\",\"type\":\"value\"},{\"name\":\"ALPHAINITIAL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the initial value for α-hat in the Newton-Raphson approximation of the maximum likelihood estimate of α for gamma distributions requested with the GAMMA option. Enclose the ALPHAINITIAL= option in parentheses after the GAMMA keyword.\",\"help\":\"ALPHAINITIAL=*value*\",\"type\":\"value\"},{\"name\":\"ANNOKEY\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Applies the annotation requested with the ANNOTATE= option only to the key cell of a comparative plot.\",\"type\":\"standalone\"},{\"name\":\"ANNOTATE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"ANNO=\"],\"description\":\"Specifies an input data set that contains annotate variables.\",\"help\":\"ANNOTATE=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"BETA\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Creates a beta P-P plot.\",\"type\":\"standalone\"},{\"name\":\"BETA=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the second shape parameter, β, for P-P plots requested by the BETA option.\",\"help\":\"BETA=*value*\",\"type\":\"value\"},{\"name\":\"C=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the shape parameter, c, for P-P plots requested with the WEIBULL option\",\"help\":\"C=*value*\",\"type\":\"value\"},{\"name\":\"CAXIS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"CAXES=\",\"CA=\"],\"description\":\"Specifies the color for the axes and tick marks.\",\"help\":\"CAXIS=*color*\",\"type\":\"color\"},{\"name\":\"CDELTA=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the change in successive estimates of c at which iterations terminate in the Newton-Raphson approximation of the maximum likelihood estimate of c for Weibull distributions requested by the WEIBULL option. Enclose the CDELTA= option in parentheses after the WEIBULL keyword. Iteration continues until the change in between consecutive steps is less than the value specified or until the number of iterations exceeds the value of the MAXITER= option. The default value is 0.00001.\",\"help\":\"CDELTA=*value*\",\"type\":\"value\"},{\"name\":\"CFRAME=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the color for the area that is enclosed by the axes and frame. The area is not filled by default.\",\"help\":\"CFRAME=*color*\",\"type\":\"color\"},{\"name\":\"CFRAMESIDE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the color to fill the frame area for the row labels that display along the left side of a comparative plot.\",\"help\":\"CFRAMESIDE=*color*\",\"type\":\"color\"},{\"name\":\"CFRAMETOP=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the color to fill the frame area for the column labels that display across the top of a comparative plot.\",\"help\":\"CFRAMETOP=*color*\",\"type\":\"color\"},{\"name\":\"CHREF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"CH=\"],\"description\":\"Specifies the color for horizontal axis reference lines requested by the HREF= option.\",\"help\":\"CHREF=*color*\",\"type\":\"color\"},{\"name\":\"CINITIAL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the initial value for c-hat in the Newton-Raphson approximation of the maximum likelihood estimate of c for Weibull distributions requested with the WEIBULL or WEIBULL2 option. The default value is 1.8.\",\"help\":\"CINITIAL=*value*\",\"type\":\"value\"},{\"name\":\"COLOR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the color of the curve or reference line associated with a distribution or kernel density estimate. Enclose the COLOR= option in parentheses after a distribution option or the KERNEL option. In a HISTOGRAM statement, you can specify a list of colors in parentheses for multiple density curves.\",\"help\":\"COLOR=*color*\",\"type\":\"color\"},{\"name\":\"CONTENTS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the table of contents grouping entry for output produced by the plot statement. You can specify CONTENTS='' to suppress the grouping entry.\",\"help\":\"CONTENTS='*string*'\",\"type\":\"value\"},{\"name\":\"CPROP\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Produces proportion bars that use an appropriate color from the ODS style.\",\"type\":\"color\"},{\"name\":\"CPROP=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the color for a horizontal bar whose length (relative to the width of the tile) indicates the proportion of the total frequency that is represented by the corresponding cell in a comparative plot.\",\"help\":\"CPROP=EMPTY | *color*\",\"type\":\"choice\",\"arguments\":[{\"name\":\"color\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the color for a horizontal bar whose length (relative to the width of the tile) indicates the proportion of the total frequency that is represented by the corresponding cell in a comparative plot.\",\"type\":\"color\"},{\"name\":\"EMPTY\",\"followsDelimiter\":\"/\",\"description\":\"Displays empty bars.\",\"type\":\"standalone\"}]},{\"name\":\"CSTATREF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the colors for reference lines that you request in the STATREF= option. If you specify a single color, it is used for all STATREF= lines. Otherwise, if fewer colors are specified than reference lines are requested, the remaining lines are displayed with the default reference line color. You can also specify the value _default in the color list to request the default color.\",\"help\":\"CSTATREF=*color* | (*color-list*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"color\",\"placeholder\":true,\"type\":\"color\"},{\"name\":\"(color-list)\",\"placeholder\":true,\"type\":\"color\"}]},{\"name\":\"CTEXT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"CT=\"],\"description\":\"Specifies the color for tick mark values and axis labels. The default is the color specified for the CTEXT= option in the GOPTIONS statement.\",\"help\":\"CTEXT=*color*\",\"type\":\"color\"},{\"name\":\"CTEXTSIDE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the color for the row labels that display along the left side of a comparative plot. By default, the color specified by the CTEXT= option is used. If you omit the CTEXT= option, the color specified in the GOPTIONS statement is used.\",\"help\":\"CTEXTSIDE=*color*\",\"type\":\"color\"},{\"name\":\"CTEXTTOP=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the color for the column labels that display along the left side of a comparative plot. By default, the color specified by the CTEXT= option is used. If you omit the CTEXT= option, the color specified in the GOPTIONS statement is used.\",\"help\":\"CTEXTTOP=*color*\",\"type\":\"color\"},{\"name\":\"CVREF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"CV=\"],\"description\":\"Specifies the color for lines requested with the VREF= option.\",\"help\":\"CVREF=*color*\",\"type\":\"color\"},{\"name\":\"DESCRIPTION=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"DES=\"],\"description\":\"Specifies a description, up to 256 characters long, that appears in the PROC GREPLAY master menu for a traditional graphics chart. The default value is the analysis variable name.\",\"help\":\"DESCRIPTION='*string*'\",\"type\":\"value\"},{\"name\":\"EXPONENTIAL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Creates an exponential P-P plot.\",\"type\":\"standalone\"},{\"name\":\"FITINTERVAL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the value of z for the method of percentiles when this method is used to fit a Johnson sB or Johnson sU distribution. The FITINTERVAL= option is specified in parentheses after the SB or SU option. The default of z is 0.524.\",\"help\":\"FITINTERVAL=*value*\",\"type\":\"value\"},{\"name\":\"FITMETHOD=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the method used to estimate the parameters of a Johnson sB or Johnson sU distribution. The FITMETHOD= option is specified in parentheses after the SB or SU option. By default, the method of percentiles is used.\",\"help\":\"FITMETHOD=PERCENTILE | MLE | MOMENTS\",\"type\":\"choice\",\"arguments\":[{\"name\":\"PERCENTILE\",\"followsDelimiter\":\"/\",\"description\":\"Method of percentiles.\",\"type\":\"standalone\"},{\"name\":\"MLE\",\"followsDelimiter\":\"/\",\"description\":\"Method of MLE.\",\"type\":\"standalone\"},{\"name\":\"MOMENTS\",\"followsDelimiter\":\"/\",\"description\":\"Method of moments.\",\"type\":\"standalone\"}]},{\"name\":\"FITTOLERANCE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the tolerance value for the ratio criterion when the method of percentiles is used to fit a Johnson sB or Johnson sU distribution. The FITTOLERANCE= option is specified in parentheses after the SB or SU option. The default value is 0.01.\",\"help\":\"FITTOLERANCE=*value*\",\"type\":\"value\"},{\"name\":\"FONT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies a software font for reference line and axis labels. You can also specify fonts for axis labels in an AXIS statement. The FONT= font takes precedence over the FTEXT= font specified in the GOPTIONS statement.\",\"help\":\"FONT=*font*\",\"type\":\"value\"},{\"name\":\"GAMMA\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Creates a gamma P-P plot.\",\"type\":\"standalone\"},{\"name\":\"GUMBEL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays fitted Gumbel density curves on the histogram. You can specify the GUMBEL option only once in a HISTOGRAM statement, but it can request any number of Gumbel curves. Use the MU= and the SIGMA= Gumbel-options to specify the location parameter μ and the scale parameter σ, respectively. By default, PROC UNIVARIATE computes maximum likelihood estimates for μ and σ.\",\"help\":\"GUMBEL&lt; (*Gumbel-options*)&gt;\",\"type\":\"standaloneOrValue\"},{\"name\":\"HAXIS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the name of an AXIS statement describing the horizontal axis.\",\"help\":\"HAXIS=*value*\",\"type\":\"value\"},{\"name\":\"HEIGHT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"HM=\"],\"description\":\"Specifies the height, in percentage screen units, of text for axis labels, tick mark labels, and legends. This option takes precedence over the HTEXT= option in the GOPTIONS statement.\",\"help\":\"HEIGHT=*value*\",\"type\":\"value\"},{\"name\":\"HMINOR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"HM=\"],\"description\":\"Specifies the number of minor tick marks between each major tick mark on the horizontal axis. Minor tick marks are not labeled. By default, HMINOR=0.\",\"help\":\"HMINOR=*n*\",\"type\":\"value\"},{\"name\":\"HREF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Draws reference lines that are perpendicular to the horizontal axis at the values that you specify.\",\"help\":\"HREF=*values*\",\"type\":\"value\"},{\"name\":\"HREFLABELS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"HREFLABEL=\",\"HREFLAB=\"],\"description\":\"Specifies labels for the lines requested by the HREF= option. The number of labels must equal the number of lines. Enclose each label in quotes. Labels can have up to 16 characters.\",\"type\":\"value\"},{\"name\":\"HREFLABPOS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the vertical position of the HREFLABELS= labels.\",\"help\":\"HREFLABPOS=1 | 2 | 3 | 4\",\"type\":\"choice\",\"arguments\":[{\"name\":\"1\",\"followsDelimiter\":\"/\",\"description\":\"Along top of plot\",\"type\":\"standalone\"},{\"name\":\"2\",\"followsDelimiter\":\"/\",\"description\":\"Staggered from top to bottom of plot\",\"type\":\"standalone\"},{\"name\":\"3\",\"followsDelimiter\":\"/\",\"description\":\"Along bottom of plot\",\"type\":\"standalone\"},{\"name\":\"4\",\"followsDelimiter\":\"/\",\"description\":\"Staggered from bottom to top of plot\",\"type\":\"standalone\"}]},{\"name\":\"IGAUSS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"displays fitted inverse Gaussian density curves on the histogram. You can specify the IGAUSS option only once in a HISTOGRAM statement, but it can request any number of inverse Gaussian curves. Use the MU= and the LAMBDA= iGauss-options to specify the location parameter μ and the shape parameter λ, respectively. By default, PROC UNIVARIATE uses the sample mean for μ and computes a maximum likelihood estimate for λ.\",\"help\":\"IGAUSS &lt;(i*Gauss-options*)&gt;\",\"type\":\"standaloneOrValue\"},{\"name\":\"INFONT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies a software font to use for text inside the framed areas of the plot. The INFONT= option takes precedence over the FTEXT= option in the GOPTIONS statement.\",\"help\":\"INFONT=*font*\",\"type\":\"value\"},{\"name\":\"INHEIGHT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the height, in percentage screen units, of text used inside the framed areas of the histogram. By default, the height specified by the HEIGHT= option is used. If you do not specify the HEIGHT= option, the height specified with the HTEXT= option in the GOPTIONS statement is used.\",\"help\":\"INHEIGHT=*value*\",\"type\":\"value\"},{\"name\":\"INTERTILE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the distance in horizontal percentage screen units between the framed areas, called tiles, of a comparative plot. By default, INTERTILE=0.75 percentage screen units. This option is not available unless you use the CLASS statement. You can specify INTERTILE=0 to create contiguous tiles.\",\"help\":\"INTERTILE=*value*\",\"type\":\"value\"},{\"name\":\"ITPRINT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests a table that shows the iteration history and optimizer details of the maximum likelihood parameter estimation of a Weibull distribution that is requested by the WEIBULL or WEIBULL2 option.\",\"type\":\"standalone\"},{\"name\":\"LAMBDA=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the shape parameter λ for fitted curves that are requested by the IGAUSS option. Enclose the LAMBDA= option in parentheses after the IGAUSS distribution keyword. If you do not specify a value for λ, the procedure calculates a maximum likelihood estimate.\",\"help\":\"LAMBDA=*value*\",\"type\":\"value\"},{\"name\":\"L=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the line type of the curve or reference line associated with a distribution or kernel density estimate. Enclose the L= option in parentheses after the distribution option or the KERNEL option. In a HISTOGRAM statement, you can specify a list of line types in parentheses for multiple density curves.\",\"help\":\"L=*linetype*\",\"type\":\"value\"},{\"name\":\"LHREF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"LH=\"],\"description\":\"Specifies the line type for the reference lines that you request with the HREF= option. By default, LHREF=2, which produces a dashed line.\",\"type\":\"value\"},{\"name\":\"LOGNORMAL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Creates a lognormal P-P plot.\",\"type\":\"standalone\"},{\"name\":\"LVREF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"LV=\"],\"description\":\"Specifies the line type for lines requested with the VREF= option. By default, LVREF=2, which produces a dashed line.\",\"help\":\"LVREF=*linetype*\",\"type\":\"value\"},{\"name\":\"LSTATREF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the line types for the reference lines that you request in the STATREF= option. If you specify a single line type, it is used for all STATREF= lines. Otherwise, if fewer line types are specified than reference lines are requested, the remaining lines are displayed with the default reference line type.\",\"help\":\"LSTATREF=*linetype* |  *linetype-list*\",\"type\":\"choice\",\"arguments\":[{\"name\":\"linetype\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"linetype-list\",\"placeholder\":true,\"type\":\"value\"}]},{\"name\":\"MAXITER=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the maximum number of iterations in the Newton-Raphson approximation of the maximum likelihood estimate of α for gamma distributions requested with the GAMMA option and c for Weibull distributions requested with the WEIBULL and WEIBULL2 options. Enclose the MAXITER= option in parentheses after the GAMMA, WEIBULL, or WEIBULL2 keywords. The default value of n is 20.\",\"help\":\"MAXITER=*n*\",\"type\":\"value\"},{\"name\":\"MU=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the parameter, µ, for normal P-P plot requested with the NORMAL option.\",\"help\":\"MU=*value*\",\"type\":\"value\"},{\"name\":\"NAME=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies a name for the plot, up to eight characters long, that appears in the PROC GREPLAY master menu for a traditional graphics chart. The default value is 'UNIVAR'.\",\"help\":\"NAME='*string*'\",\"type\":\"value\"},{\"name\":\"NCOLS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"NCOL=\"],\"description\":\"Specifies the number of columns per panel in a comparative plot. This option is not available unless you use the CLASS statement. By default, NCOLS=1 if you specify only one CLASS variable, and NCOLS=2 if you specify two CLASS variables. If you specify two CLASS variables, you can use the NCOLS= option with the NROWS= option.\",\"help\":\"NCOLS=*n*\",\"type\":\"value\"},{\"name\":\"NOFRAME\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Suppresses the frame around the subplot area.\",\"type\":\"standalone\"},{\"name\":\"NOHLABEL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Suppresses the label for the horizontal axis. You can use this option to reduce clutter.\",\"type\":\"standalone\"},{\"name\":\"NOLINE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Suppresses the diagonal reference line.\",\"type\":\"standalone\"},{\"name\":\"NORMAL\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"NORM\"],\"description\":\"Creates a normal P-P plot.\",\"type\":\"standalone\"},{\"name\":\"NOVLABEL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Suppresses the label for the vertical axis. You can use this option to reduce clutter.\",\"type\":\"standalone\"},{\"name\":\"NOVTICK\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Suppresses the tick marks and tick mark labels for the vertical axis. This option also suppresses the label for the vertical axis.\",\"type\":\"standalone\"},{\"name\":\"NROWS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"NROW=\"],\"description\":\"Specifies the number of rows per panel in a comparative plot. This option is not available unless you use the CLASS statement. By default, NROWS=2. If you specify two CLASS variables, you can use the NCOLS= option with the NROWS= option.\",\"help\":\"NROWS=*n*\",\"type\":\"value\"},{\"name\":\"ODSFOOTNOTE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Adds a footnote to ODS Graphics output.\",\"help\":\"ODSFOOTNOTE=FOOTNOTE | FOOTNOTE1 | *'string'*\",\"type\":\"choice\",\"arguments\":[{\"name\":\"FOOTNOTE\",\"followsDelimiter\":\"/\",\"description\":\"Uses the value of the SAS FOOTNOTE statement as the graph footnote.\",\"type\":\"standalone\"},{\"name\":\"FOOTNOTE1\",\"followsDelimiter\":\"/\",\"description\":\"Uses the value of the SAS FOOTNOTE statement as the graph footnote.\",\"type\":\"standalone\"},{\"name\":\"'string'\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"Uses the specified string as the graph footnote. The string can contain either of the following escaped characters, which are replaced with the appropriate values from the analysis: \\\\n is replaced by the analysis variable name, or \\\\l is replaced by the analysis variable label (or name if the analysis variable has no label).\",\"type\":\"value\"}]},{\"name\":\"ODSFOOTNOTE2=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Adds a secondary footnote to ODS Graphics output.\",\"help\":\"ODSFOOTNOTE2=FOOTNOTE2 | *'string'*\",\"type\":\"choice\",\"arguments\":[{\"name\":\"FOOTNOTE2\",\"followsDelimiter\":\"/\",\"description\":\"Uses the value of the SAS FOOTNOTE2 statement as the secondary graph footnote.\",\"type\":\"standalone\"},{\"name\":\"'string'\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"Uses the specified string as the secondary graph footnote. The string can contain either of the following escaped characters, which are replaced with the appropriate values from the analysis: \\\\n is replaced by the analysis variable name, or \\\\l is replaced by the analysis variable label (or name if the analysis variable has no label).\",\"type\":\"value\"}]},{\"name\":\"ODSTITLE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies a title for ODS Graphics output.\",\"help\":\"ODSTITLE=TITLE | TITLE1 | NONE | DEFAULT | LABELFMT | *'string'*\",\"type\":\"choice\",\"arguments\":[{\"name\":\"TITLE\",\"followsDelimiter\":\"/\",\"description\":\"Uses the value of the SAS TITLE statement as the graph title.\",\"type\":\"standalone\"},{\"name\":\"TITLE1\",\"followsDelimiter\":\"/\",\"description\":\"Uses the value of the SAS TITLE statement as the graph title.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"followsDelimiter\":\"/\",\"description\":\"Suppresses all titles from the graph.\",\"type\":\"standalone\"},{\"name\":\"DEFAULT\",\"followsDelimiter\":\"/\",\"description\":\"Uses the default ODS Graphics title (a descriptive title that consists of the plot type and the analysis variable name).\",\"type\":\"standalone\"},{\"name\":\"LABELFMT\",\"followsDelimiter\":\"/\",\"description\":\"Uses the default ODS Graphics title with the variable label instead of the variable name.\",\"type\":\"standalone\"},{\"name\":\"'string'\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"Uses the specified string as the graph title. The string can contain the following escaped characters, which are replaced with the appropriate values from the analysis: \\\\n is replaced by the analysis variable name, or \\\\l is replaced by the analysis variable label (or name if the analysis variable has no label).\",\"type\":\"value\"}]},{\"name\":\"ODSTITLE2=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies a secondary title for ODS Graphics output.\",\"help\":\"ODSTITLE2=TITLE2 | *'string'*\",\"type\":\"choice\",\"arguments\":[{\"name\":\"TITLE2\",\"followsDelimiter\":\"/\",\"description\":\"Uses the value of the SAS TITLE2 statement as the secondary graph title..\",\"type\":\"standalone\"},{\"name\":\"'string'\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"Uses the specified string as the secondary graph title. The string can contain the following escaped characters, which are replaced with the appropriate values from the analysis: \\\\n is replaced by the analysis variable name, or \\\\l is replaced by the analysis variable label (or name if the analysis variable has no label).\",\"type\":\"value\"}]},{\"name\":\"OVERLAY\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies that plots associated with different levels of a CLASS variable be overlaid onto a single plot, rather than displayed as separate cells in a comparative plot.\",\"type\":\"standalone\"},{\"name\":\"PARETO\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays fitted generalized Pareto density curves on the histogram. You can specify the this option only once in a HISTOGRAM statement, but it can request any number of generalized Pareto curves. The parameter Θ must be less than the minimum data value. Use the THETA= Pareto-option to specify Θ. By default, THETA=0. Use the SIGMA= and the ALPHA= Pareto-options to specify the scale parameter sigma and the shape parameter a. By default, PROC UNIVARIATE computes maximum likelihood estimates for σ and a.\",\"help\":\"PARETO&lt;(*Pareto-options*)&gt;\",\"type\":\"standaloneOrValue\"},{\"name\":\"POWER\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays fitted power function density curves on the histogram. You can specify this option only once in a HISTOGRAM statement, but it can request any number of power function curves. The parameter Θ must be less than the minimum data value. Use the THETA= and SIGMA= power-options to specify Θ and σ. The default values are 0 and 1, respectively. Use the ALPHA= power-option to specify the and the shape parameter, a. By default, PROC UNIVARIATE computes a maximum likelihood estimate for a.\",\"help\":\"POWER&lt;(*power-options*)&gt;\",\"type\":\"standaloneOrValue\"},{\"name\":\"RAYLEIGH\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays fitted Rayleigh density curves on the histogram. You can specify this option only once in a HISTOGRAM statement, but it can request any number of Rayleigh curves. The parameter Θ must be less than the minimum data value. Use the THETA= Rayleigh-option to specify Θ. By default, THETA=0. Use the SIGMA= Rayleigh-option to specify the scale parameter σ. By default, PROC UNIVARIATE computes maximum likelihood estimates for σ.\",\"help\":\"RAYLEIGH&lt;(*Rayleigh-options*)&gt;\",\"type\":\"standaloneOrValue\"},{\"name\":\"SCALE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Is an alias for the SIGMA= option for distributions requested by the BETA, EXPONENTIAL, GAMMA, SB, SU, WEIBULL, and WEIBULL2 options and for the ZETA= option for distributions requested by the LOGNORMAL option.\",\"help\":\"SCALE=*value*\",\"type\":\"value\"},{\"name\":\"SHAPE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Is an alias for the ALPHA= option for distributions requested by the GAMMA option, for the SIGMA= option for distributions requested by the LOGNORMAL option, and for the C= option for distributions requested by the WEIBULL and WEIBULL2 options.\",\"help\":\"SHAPE=*value*\",\"type\":\"value\"},{\"name\":\"SIGMA=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the scale parameter, σ, for P-P plots requested by the BETA, EXPONENTIAL, GAMMA, LOGNORMAL, NORMAL, and WEIBULL options\",\"type\":\"value\"},{\"name\":\"SQUARE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays the P-P plot in a square frame. The default is a rectangular frame.\",\"type\":\"standalone\"},{\"name\":\"STATREFLABELS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"STATREFLABEL=\",\"STATREFLAB=\"],\"description\":\"Specifies labels for the lines that you request in the STATREF= option. The number of labels must equal the number of lines. Enclose each label in quotes. Labels can be up to 16 characters long.\",\"help\":\"STATREFLABELS=*'label1*' ...'*labeln*'\",\"type\":\"value\"},{\"name\":\"STATREFSUBCHAR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies a substitution character (such as #) for labels that you specify in the STATREFLABELS= option. When the labels are displayed in a graph, the first occurrence of the specified character in each label is replaced with the value of the corresponding STATREF= statistic.\",\"help\":\"STATREFSUBCHAR=*'character'*\",\"type\":\"value\"},{\"name\":\"THETA=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the lower threshold parameter, θ, for theoretical cumulative distribution functions requested with the BETA, EXPONENTIAL, GAMMA, LOGNORMAL, and WEIBULL options.\",\"type\":\"value\"},{\"name\":\"THRESHOLD=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the lower threshold parameter, θ, for P-P plots requested with the BETA, EXPONENTIAL, GAMMA, LOGNORMAL, and WEIBULL options.\",\"type\":\"value\"},{\"name\":\"TURNVLABELS\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"TURNVLABEL\"],\"description\":\"Turns the characters in the vertical axis labels so that they display vertically. This happens by default when you use a hardware font.\",\"type\":\"standalone\"},{\"name\":\"VAXIS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the name of an AXIS statement describing the vertical axis. In a HISTOGRAM statement, you can alternatively specify a value-list for the vertical axis.\",\"help\":\"VAXIS=*name*\",\"type\":\"value\"},{\"name\":\"VAXISLABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies a label for the vertical axis. Labels can have up to 40 characters.\",\"help\":\"VAXISLABEL='*label*'\",\"type\":\"value\"},{\"name\":\"VMINOR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"VM=\"],\"description\":\"Specifies the number of minor tick marks between each major tick mark on the vertical axis. Minor tick marks are not labeled. The default is zero.\",\"help\":\"VMINOR=*n*\",\"type\":\"value\"},{\"name\":\"VREF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Draws reference lines perpendicular to the vertical axis at the values specified. Also see the CVREF= and LVREF= options.\",\"help\":\"VREF=*value-list*\",\"type\":\"value\"},{\"name\":\"VREFLABELS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"VREFLABEL=\",\"VREFLAB=\"],\"description\":\"Specifies labels for the lines requested by the VREF= option. The number of labels must equal the number of lines. Enclose each label in quotes. Labels can have up to 16 characters.\",\"type\":\"value\"},{\"name\":\"VREFLABPOS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the horizontal position of the VREFLABELS= labels.\",\"help\":\"VREFLABPOS=1 | 2\",\"type\":\"choice\",\"arguments\":[{\"name\":\"1\",\"followsDelimiter\":\"/\",\"description\":\"Labels are positioned at the left of the plot.\",\"type\":\"standalone\"},{\"name\":\"2\",\"followsDelimiter\":\"/\",\"description\":\"Labels are positioned at the right of the plot.\",\"type\":\"standalone\"}]},{\"name\":\"W=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the width in pixels of the curve or reference line associated with a distribution or kernel density estimate. Enclose the W= option in parentheses after the distribution option or the KERNEL option. In a HISTOGRAM statement, you can specify a list of widths in parentheses for multiple density curves.\",\"type\":\"value\"},{\"name\":\"WAXIS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the line thickness, in pixels, for the axes and frame.\",\"help\":\"WAXIS=*n*\",\"type\":\"value\"},{\"name\":\"WEIBULL\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"WEIB\"],\"description\":\"Creates a Weibull P-P plot.\",\"type\":\"standalone\"},{\"name\":\"WHREF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the line thickness, in pixels, of the reference lines that you request using the HREF= option. If you specify a single thickness, it is used for all HREF= lines. Otherwise, if you specify fewer thicknesses than reference lines, the remaining lines are displayed using the default thickness.\",\"help\":\"WHREF=*value-list*\",\"type\":\"value\"},{\"name\":\"WSTATREF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the line thickness, in pixels, of the reference lines that you request using the STATREF= option. If you specify a single thickness, it is used for all STATREF= lines. Otherwise, if you specify fewer thicknesses than reference lines, the remaining lines are displayed using the default thickness.\",\"help\":\"WSTATREF=*value-list*\",\"type\":\"value\"},{\"name\":\"WVREF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the line thickness, in pixels, of the reference lines that you request using the VREF= option. If you specify a single thickness, it is used for all VREF= lines. Otherwise, if you specify fewer thicknesses than reference lines, the remaining lines are displayed using the default thickness.\",\"help\":\"WVREF=*value-list*\",\"type\":\"value\"},{\"name\":\"ZETA=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies a value for the scale parameter, ζ, for a lognormal P-P plots requested with the LOGNORMAL option.\",\"help\":\"ZETA=*value*\",\"type\":\"value\"}]},{\"name\":\"PROBPLOT\",\"aliases\":[\"PROB\"],\"description\":\"The PROBPLOT statement creates a probability plot, which compares ordered variable values with the percentiles of a specified theoretical distribution. If the data distribution matches the theoretical distribution, the points on the plot form a linear pattern.\",\"help\":\"PROBPLOT &lt;ALPHADELTA=value&gt;&lt;ALPHAINITIAL=value&gt;&lt;ANNOKEY&gt; ...\",\"arguments\":[{\"name\":\"ALPHA=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the mandatory shape parameter α for probability plots requested with the BETA and GAMMA options.\",\"type\":\"value\"},{\"name\":\"ALPHADELTA=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the change in successive estimates of α-hat at which iteration terminates in the Newton-Raphson approximation of the maximum likelihood estimate of α for gamma distributions requested with the GAMMA option.\",\"help\":\"ALPHADELTA=*value*\",\"type\":\"value\"},{\"name\":\"ALPHAINITIAL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the initial value for α-hat in the Newton-Raphson approximation of the maximum likelihood estimate of α for gamma distributions requested with the GAMMA option. Enclose the ALPHAINITIAL= option in parentheses after the GAMMA keyword.\",\"help\":\"ALPHAINITIAL=*value*\",\"type\":\"value\"},{\"name\":\"ANNOKEY\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Applies the annotation requested with the ANNOTATE= option only to the key cell of a comparative plot.\",\"type\":\"standalone\"},{\"name\":\"ANNOTATE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"ANNO=\"],\"description\":\"Specifies an input data set that contains annotate variables.\",\"help\":\"ANNOTATE=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"BETA\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Creates a beta probability plot for each combination of the required shape parameters, a and β, specified by the required ALPHA= and BETA= beta-options.)>\",\"help\":\"BETA(ALPHA= | BETA= | EST)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ALPHA=\",\"type\":\"value\"},{\"name\":\"BETA=\",\"type\":\"value\"},{\"name\":\"EST\",\"type\":\"standalone\"}]},{\"name\":\"BETA=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the mandatory shape parameter, β, for probability plots requested with the BETA option.\",\"type\":\"value\"},{\"name\":\"C=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the shape parameter, c, for probability plots requested with the WEIBULL and WEIBULL2 options.\",\"type\":\"value\"},{\"name\":\"CAXIS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"CAXES=\",\"CA=\"],\"description\":\"Specifies the color for the axes and tick marks.\",\"help\":\"CAXIS=*color*\",\"type\":\"color\"},{\"name\":\"CDELTA=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the change in successive estimates of c at which iterations terminate in the Newton-Raphson approximation of the maximum likelihood estimate of c for Weibull distributions requested by the WEIBULL option. Enclose the CDELTA= option in parentheses after the WEIBULL keyword. Iteration continues until the change in between consecutive steps is less than the value specified or until the number of iterations exceeds the value of the MAXITER= option. The default value is 0.00001.\",\"help\":\"CDELTA=*value*\",\"type\":\"value\"},{\"name\":\"CFRAME=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the color for the area that is enclosed by the axes and frame. The area is not filled by default.\",\"help\":\"CFRAME=*color*\",\"type\":\"color\"},{\"name\":\"CFRAMESIDE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the color to fill the frame area for the row labels that display along the left side of a comparative plot.\",\"help\":\"CFRAMESIDE=*color*\",\"type\":\"color\"},{\"name\":\"CFRAMETOP=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the color to fill the frame area for the column labels that display across the top of a comparative plot.\",\"help\":\"CFRAMETOP=*color*\",\"type\":\"color\"},{\"name\":\"CGRID=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the color for grid lines when a grid displays on the plot. This option also produces a grid.\",\"help\":\"CGRID=*color*\",\"type\":\"color\"},{\"name\":\"CHREF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"CH=\"],\"description\":\"Specifies the color for horizontal axis reference lines requested by the HREF= option.\",\"help\":\"CHREF=*color*\",\"type\":\"color\"},{\"name\":\"CINITIAL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the initial value for c-hat in the Newton-Raphson approximation of the maximum likelihood estimate of c for Weibull distributions requested with the WEIBULL or WEIBULL2 option. The default value is 1.8.\",\"help\":\"CINITIAL=*value*\",\"type\":\"value\"},{\"name\":\"COLOR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the color of the curve or reference line associated with a distribution or kernel density estimate. Enclose the COLOR= option in parentheses after a distribution option or the KERNEL option. In a HISTOGRAM statement, you can specify a list of colors in parentheses for multiple density curves.\",\"type\":\"value\"},{\"name\":\"CONTENTS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the table of contents grouping entry for output produced by the plot statement. You can specify CONTENTS='' to suppress the grouping entry.\",\"help\":\"CONTENTS='*string*'\",\"type\":\"value\"},{\"name\":\"CPROP\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Produces proportion bars that use an appropriate color from the ODS style.\",\"type\":\"color\"},{\"name\":\"CPROP=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the color for a horizontal bar whose length (relative to the width of the tile) indicates the proportion of the total frequency that is represented by the corresponding cell in a comparative plot.\",\"help\":\"CPROP=EMPTY | *color*\",\"type\":\"choice\",\"arguments\":[{\"name\":\"color\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the color for a horizontal bar whose length (relative to the width of the tile) indicates the proportion of the total frequency that is represented by the corresponding cell in a comparative plot.\",\"type\":\"color\"},{\"name\":\"EMPTY\",\"followsDelimiter\":\"/\",\"description\":\"Displays empty bars.\",\"type\":\"standalone\"}]},{\"name\":\"CSTATREF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the colors for reference lines that you request in the STATREF= option. If you specify a single color, it is used for all STATREF= lines. Otherwise, if fewer colors are specified than reference lines are requested, the remaining lines are displayed with the default reference line color. You can also specify the value _default in the color list to request the default color.\",\"help\":\"CSTATREF=*color* | (*color-list*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"color\",\"placeholder\":true,\"type\":\"color\"},{\"name\":\"(color-list)\",\"placeholder\":true,\"type\":\"color\"}]},{\"name\":\"CTEXT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"CT=\"],\"description\":\"Specifies the color for tick mark values and axis labels. The default is the color specified for the CTEXT= option in the GOPTIONS statement.\",\"help\":\"CTEXT=*color*\",\"type\":\"color\"},{\"name\":\"CTEXTSIDE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the color for the row labels that display along the left side of a comparative plot. By default, the color specified by the CTEXT= option is used. If you omit the CTEXT= option, the color specified in the GOPTIONS statement is used.\",\"help\":\"CTEXTSIDE=*color*\",\"type\":\"color\"},{\"name\":\"CTEXTTOP=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the color for the column labels that display along the left side of a comparative plot. By default, the color specified by the CTEXT= option is used. If you omit the CTEXT= option, the color specified in the GOPTIONS statement is used.\",\"help\":\"CTEXTTOP=*color*\",\"type\":\"color\"},{\"name\":\"CVREF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"CV=\"],\"description\":\"Specifies the color for lines requested with the VREF= option.\",\"help\":\"CVREF=*color*\",\"type\":\"color\"},{\"name\":\"DESCRIPTION=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"DES=\"],\"description\":\"Specifies a description, up to 256 characters long, that appears in the PROC GREPLAY master menu for a traditional graphics chart. The default value is the analysis variable name.\",\"help\":\"DESCRIPTION='*string*'\",\"type\":\"value\"},{\"name\":\"EXPONENTIAL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Creates an exponential probability plot.\",\"type\":\"standalone\"},{\"name\":\"FITINTERVAL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the value of z for the method of percentiles when this method is used to fit a Johnson sB or Johnson sU distribution. The FITINTERVAL= option is specified in parentheses after the SB or SU option. The default of z is 0.524.\",\"help\":\"FITINTERVAL=*value*\",\"type\":\"value\"},{\"name\":\"FITMETHOD=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the method used to estimate the parameters of a Johnson sB or Johnson sU distribution. The FITMETHOD= option is specified in parentheses after the SB or SU option. By default, the method of percentiles is used.\",\"help\":\"FITMETHOD=PERCENTILE | MLE | MOMENTS\",\"type\":\"choice\",\"arguments\":[{\"name\":\"PERCENTILE\",\"followsDelimiter\":\"/\",\"description\":\"Method of percentiles.\",\"type\":\"standalone\"},{\"name\":\"MLE\",\"followsDelimiter\":\"/\",\"description\":\"Method of MLE.\",\"type\":\"standalone\"},{\"name\":\"MOMENTS\",\"followsDelimiter\":\"/\",\"description\":\"Method of moments.\",\"type\":\"standalone\"}]},{\"name\":\"FITTOLERANCE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the tolerance value for the ratio criterion when the method of percentiles is used to fit a Johnson sB or Johnson sU distribution. The FITTOLERANCE= option is specified in parentheses after the SB or SU option. The default value is 0.01.\",\"help\":\"FITTOLERANCE=*value*\",\"type\":\"value\"},{\"name\":\"FONT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies a software font for reference line and axis labels. You can also specify fonts for axis labels in an AXIS statement. The FONT= font takes precedence over the FTEXT= font specified in the GOPTIONS statement.\",\"help\":\"FONT=*font*\",\"type\":\"value\"},{\"name\":\"GAMMA\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Creates a gamma probability plot for each value of the shape parameter α given by the mandatory ALPHA= gamma-option.\",\"type\":\"standalone\"},{\"name\":\"GRID\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays a grid. Grid lines are reference lines that are perpendicular to the percentile axis at major tick marks.\",\"type\":\"standalone\"},{\"name\":\"GUMBEL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays fitted Gumbel density curves on the histogram. You can specify the GUMBEL option only once in a HISTOGRAM statement, but it can request any number of Gumbel curves. Use the MU= and the SIGMA= Gumbel-options to specify the location parameter μ and the scale parameter σ, respectively. By default, PROC UNIVARIATE computes maximum likelihood estimates for μ and σ.\",\"help\":\"GUMBEL&lt; (*Gumbel-options*)&gt;\",\"type\":\"standaloneOrValue\"},{\"name\":\"HAXIS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the name of an AXIS statement describing the horizontal axis.\",\"help\":\"HAXIS=*value*\",\"type\":\"value\"},{\"name\":\"HEIGHT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"HM=\"],\"description\":\"Specifies the height, in percentage screen units, of text for axis labels, tick mark labels, and legends. This option takes precedence over the HTEXT= option in the GOPTIONS statement.\",\"help\":\"HEIGHT=*value*\",\"type\":\"value\"},{\"name\":\"HMINOR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the number of minor tick marks between each major tick mark on the horizontal axis. Minor tick marks are not labeled. By default, HMINOR=0.\",\"help\":\"HMINOR=*n*\",\"type\":\"value\"},{\"name\":\"HREF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Draws reference lines that are perpendicular to the horizontal axis at the values that you specify.\",\"help\":\"HREF=*values*\",\"type\":\"value\"},{\"name\":\"HREFLABELS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"HREFLABEL=\",\"HREFLAB=\"],\"description\":\"Specifies labels for the lines requested by the HREF= option. The number of labels must equal the number of lines. Enclose each label in quotes. Labels can have up to 16 characters.\",\"type\":\"value\"},{\"name\":\"HREFLABPOS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the vertical position of the HREFLABELS= labels.\",\"help\":\"HREFLABPOS=1 | 2 | 3 | 4\",\"type\":\"choice\",\"arguments\":[{\"name\":\"1\",\"followsDelimiter\":\"/\",\"description\":\"Along top of plot\",\"type\":\"standalone\"},{\"name\":\"2\",\"followsDelimiter\":\"/\",\"description\":\"Staggered from top to bottom of plot\",\"type\":\"standalone\"},{\"name\":\"3\",\"followsDelimiter\":\"/\",\"description\":\"Along bottom of plot\",\"type\":\"standalone\"},{\"name\":\"4\",\"followsDelimiter\":\"/\",\"description\":\"Staggered from bottom to top of plot\",\"type\":\"standalone\"}]},{\"name\":\"INFONT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies a software font to use for text inside the framed areas of the plot. The INFONT= option takes precedence over the FTEXT= option in the GOPTIONS statement.\",\"help\":\"INFONT=*font*\",\"type\":\"value\"},{\"name\":\"INHEIGHT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the height, in percentage screen units, of text used inside the framed areas of the histogram. By default, the height specified by the HEIGHT= option is used. If you do not specify the HEIGHT= option, the height specified with the HTEXT= option in the GOPTIONS statement is used.\",\"help\":\"INHEIGHT=*value*\",\"type\":\"value\"},{\"name\":\"INTERTILE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the distance in horizontal percentage screen units between the framed areas, called tiles, of a comparative plot. By default, INTERTILE=0.75 percentage screen units. This option is not available unless you use the CLASS statement. You can specify INTERTILE=0 to create contiguous tiles.\",\"help\":\"INTERTILE=*value*\",\"type\":\"value\"},{\"name\":\"ITPRINT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests a table that shows the iteration history and optimizer details of the maximum likelihood parameter estimation of a Weibull distribution that is requested by the WEIBULL or WEIBULL2 option.\",\"type\":\"standalone\"},{\"name\":\"L=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the line type of the curve or reference line associated with a distribution or kernel density estimate. Enclose the L= option in parentheses after the distribution option or the KERNEL option. In a HISTOGRAM statement, you can specify a list of line types in parentheses for multiple density curves.\",\"help\":\"L=*linetype*\",\"type\":\"value\"},{\"name\":\"LGRID=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the line type for the grid requested by the GRID= option. By default, LGRID=1, which produces a solid line.\",\"help\":\"LGRID=*linetype*\",\"type\":\"value\"},{\"name\":\"LHREF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"LH=\"],\"description\":\"Specifies the line type for the reference lines that you request with the HREF= option. By default, LHREF=2, which produces a dashed line.\",\"type\":\"value\"},{\"name\":\"LOGNORMAL\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"LNORM\"],\"description\":\"Creates a lognormal probability plot for each value of the shape parameter, σ, given by the mandatory SIGMA= lognormal-option.\",\"type\":\"standalone\"},{\"name\":\"LVREF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"LV=\"],\"description\":\"Specifies the line type for lines requested with the VREF= option. By default, LVREF=2, which produces a dashed line.\",\"help\":\"LVREF=*linetype*\",\"type\":\"value\"},{\"name\":\"LSTATREF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the line types for the reference lines that you request in the STATREF= option. If you specify a single line type, it is used for all STATREF= lines. Otherwise, if fewer line types are specified than reference lines are requested, the remaining lines are displayed with the default reference line type.\",\"help\":\"LSTATREF=*linetype* |  *linetype-list*\",\"type\":\"choice\",\"arguments\":[{\"name\":\"linetype\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"linetype-list\",\"placeholder\":true,\"type\":\"value\"}]},{\"name\":\"MAXITER=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the maximum number of iterations in the Newton-Raphson approximation of the maximum likelihood estimate of α for gamma distributions requested with the GAMMA option and c for Weibull distributions requested with the WEIBULL and WEIBULL2 options. Enclose the MAXITER= option in parentheses after the GAMMA, WEIBULL, or WEIBULL2 keywords. The default value of n is 20.\",\"help\":\"MAXITER=*n*\",\"type\":\"value\"},{\"name\":\"MU=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the parameter, µ, for normal probability plot requested with the NORMAL option.\",\"help\":\"MU=*value*\",\"type\":\"value\"},{\"name\":\"NAME=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies a name for the plot, up to eight characters long, that appears in the PROC GREPLAY master menu for a traditional graphics chart. The default value is 'UNIVAR'.\",\"help\":\"NAME='*string*'\",\"type\":\"value\"},{\"name\":\"NCOLS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"NCOL=\"],\"description\":\"Specifies the number of columns per panel in a comparative plot. This option is not available unless you use the CLASS statement. By default, NCOLS=1 if you specify only one CLASS variable, and NCOLS=2 if you specify two CLASS variables. If you specify two CLASS variables, you can use the NCOLS= option with the NROWS= option.\",\"help\":\"NCOLS=*n*\",\"type\":\"value\"},{\"name\":\"NOADJ\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the adjustment value added to the sample size in the calculation of theoretical percentiles. By default, NADJ=1/4.\",\"type\":\"standalone\"},{\"name\":\"NOFRAME\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Suppresses the frame around the subplot area.\",\"type\":\"standalone\"},{\"name\":\"NOHLABEL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Suppresses the label for the horizontal axis. You can use this option to reduce clutter.\",\"type\":\"standalone\"},{\"name\":\"NOLINELEGEND\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"NOLEGEND\"],\"description\":\"suppresses the legend for the optional distribution reference line. This option applies only to ODS Graphics output.\",\"type\":\"standalone\"},{\"name\":\"NORMAL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Creates a normal probabilty plot.\",\"type\":\"standalone\"},{\"name\":\"NOVLABEL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Suppresses the label for the vertical axis. You can use this option to reduce clutter.\",\"type\":\"standalone\"},{\"name\":\"NOVTICK\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Suppresses the tick marks and tick mark labels for the vertical axis. This option also suppresses the label for the vertical axis.\",\"type\":\"standalone\"},{\"name\":\"NROWS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"NROW=\"],\"description\":\"Specifies the number of rows per panel in a comparative plot. This option is not available unless you use the CLASS statement. By default, NROWS=2. If you specify two CLASS variables, you can use the NCOLS= option with the NROWS= option.\",\"help\":\"NROWS=*n*\",\"type\":\"value\"},{\"name\":\"ODSFOOTNOTE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Adds a footnote to ODS Graphics output.\",\"help\":\"ODSFOOTNOTE=FOOTNOTE | FOOTNOTE1 | *'string'*\",\"type\":\"choice\",\"arguments\":[{\"name\":\"FOOTNOTE\",\"followsDelimiter\":\"/\",\"description\":\"Uses the value of the SAS FOOTNOTE statement as the graph footnote.\",\"type\":\"standalone\"},{\"name\":\"FOOTNOTE1\",\"followsDelimiter\":\"/\",\"description\":\"Uses the value of the SAS FOOTNOTE statement as the graph footnote.\",\"type\":\"standalone\"},{\"name\":\"'string'\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"Uses the specified string as the graph footnote. The string can contain either of the following escaped characters, which are replaced with the appropriate values from the analysis: \\\\n is replaced by the analysis variable name, or \\\\l is replaced by the analysis variable label (or name if the analysis variable has no label).\",\"type\":\"value\"}]},{\"name\":\"ODSFOOTNOTE2=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Adds a secondary footnote to ODS Graphics output.\",\"help\":\"ODSFOOTNOTE2=FOOTNOTE2 | *'string'*\",\"type\":\"choice\",\"arguments\":[{\"name\":\"FOOTNOTE2\",\"followsDelimiter\":\"/\",\"description\":\"Uses the value of the SAS FOOTNOTE2 statement as the secondary graph footnote.\",\"type\":\"standalone\"},{\"name\":\"'string'\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"Uses the specified string as the secondary graph footnote. The string can contain either of the following escaped characters, which are replaced with the appropriate values from the analysis: \\\\n is replaced by the analysis variable name, or \\\\l is replaced by the analysis variable label (or name if the analysis variable has no label).\",\"type\":\"value\"}]},{\"name\":\"ODSTITLE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies a title for ODS Graphics output.\",\"help\":\"ODSTITLE=TITLE | TITLE1 | NONE | DEFAULT | LABELFMT | *'string'*\",\"type\":\"choice\",\"arguments\":[{\"name\":\"TITLE\",\"followsDelimiter\":\"/\",\"description\":\"Uses the value of the SAS TITLE statement as the graph title.\",\"type\":\"standalone\"},{\"name\":\"TITLE1\",\"followsDelimiter\":\"/\",\"description\":\"Uses the value of the SAS TITLE statement as the graph title.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"followsDelimiter\":\"/\",\"description\":\"Suppresses all titles from the graph.\",\"type\":\"standalone\"},{\"name\":\"DEFAULT\",\"followsDelimiter\":\"/\",\"description\":\"Uses the default ODS Graphics title (a descriptive title that consists of the plot type and the analysis variable name).\",\"type\":\"standalone\"},{\"name\":\"LABELFMT\",\"followsDelimiter\":\"/\",\"description\":\"Uses the default ODS Graphics title with the variable label instead of the variable name.\",\"type\":\"standalone\"},{\"name\":\"'string'\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"Uses the specified string as the graph title. The string can contain the following escaped characters, which are replaced with the appropriate values from the analysis: \\\\n is replaced by the analysis variable name, or \\\\l is replaced by the analysis variable label (or name if the analysis variable has no label).\",\"type\":\"value\"}]},{\"name\":\"ODSTITLE2=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies a secondary title for ODS Graphics output.\",\"help\":\"ODSTITLE2=TITLE2 | *'string'*\",\"type\":\"choice\",\"arguments\":[{\"name\":\"TITLE2\",\"followsDelimiter\":\"/\",\"description\":\"Uses the value of the SAS TITLE2 statement as the secondary graph title..\",\"type\":\"standalone\"},{\"name\":\"'string'\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"Uses the specified string as the secondary graph title. The string can contain the following escaped characters, which are replaced with the appropriate values from the analysis: \\\\n is replaced by the analysis variable name, or \\\\l is replaced by the analysis variable label (or name if the analysis variable has no label).\",\"type\":\"value\"}]},{\"name\":\"OVERLAY\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies that plots associated with different levels of a CLASS variable be overlaid onto a single plot, rather than displayed as separate cells in a comparative plot.\",\"type\":\"standalone\"},{\"name\":\"PARETO\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays fitted generalized Pareto density curves on the histogram. You can specify the this option only once in a HISTOGRAM statement, but it can request any number of generalized Pareto curves. The parameter Θ must be less than the minimum data value. Use the THETA= Pareto-option to specify Θ. By default, THETA=0. Use the SIGMA= and the ALPHA= Pareto-options to specify the scale parameter sigma and the shape parameter a. By default, PROC UNIVARIATE computes maximum likelihood estimates for σ and a.\",\"help\":\"PARETO&lt;(*Pareto-options*)&gt;\",\"type\":\"standaloneOrValue\"},{\"name\":\"PCTLMINOR\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests minor tick marks for the percentile axis.\",\"type\":\"standalone\"},{\"name\":\"PCTLORDER=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the tick marks that are labeled on the theoretical percentile axis.\",\"help\":\"PCTLORDER=*values*\",\"type\":\"value\"},{\"name\":\"POWER\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays fitted power function density curves on the histogram. You can specify this option only once in a HISTOGRAM statement, but it can request any number of power function curves. The parameter Θ must be less than the minimum data value. Use the THETA= and SIGMA= power-options to specify Θ and σ. The default values are 0 and 1, respectively. Use the ALPHA= power-option to specify the and the shape parameter, a. By default, PROC UNIVARIATE computes a maximum likelihood estimate for a.\",\"help\":\"POWER&lt;(*power-options*)&gt;\",\"type\":\"standaloneOrValue\"},{\"name\":\"RANKADJ=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the adjustment value added to the ranks in the calculation of theoretical percentiles.\",\"help\":\"RANKADJ=*value*\",\"type\":\"value\"},{\"name\":\"RAYLEIGH\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays fitted Rayleigh density curves on the histogram. You can specify this option only once in a HISTOGRAM statement, but it can request any number of Rayleigh curves. The parameter Θ must be less than the minimum data value. Use the THETA= Rayleigh-option to specify Θ. By default, THETA=0. Use the SIGMA= Rayleigh-option to specify the scale parameter σ. By default, PROC UNIVARIATE computes maximum likelihood estimates for σ.\",\"help\":\"RAYLEIGH&lt;(*Rayleigh-options*)&gt;\",\"type\":\"standaloneOrValue\"},{\"name\":\"ROTATE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Switches the horizontal and vertical axes so that the theoretical percentiles are plotted vertically while the data are plotted horizontally.\",\"type\":\"standalone\"},{\"name\":\"SCALE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Is an alias for the SIGMA= option for distributions requested by the BETA, EXPONENTIAL, GAMMA, SB, SU, WEIBULL, and WEIBULL2 options and for the ZETA= option for distributions requested by the LOGNORMAL option.\",\"help\":\"SCALE=*value*\",\"type\":\"value\"},{\"name\":\"SHAPE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Is an alias for the ALPHA= option for distributions requested by the GAMMA option, for the SIGMA= option for distributions requested by the LOGNORMAL option, and for the C= option for distributions requested by the WEIBULL and WEIBULL2 options.\",\"help\":\"SHAPE=*value*\",\"type\":\"value\"},{\"name\":\"SIGMA=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the parameter, σ, for probability plots requested by the BETA, EXPONENTIAL, GAMMA, LOGNORMAL, NORMAL, and WEIBULL options.\",\"type\":\"value\"},{\"name\":\"SLOPE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the slope for a distribution reference line requested with the LOGNORMAL and WEIBULL2 options.\",\"type\":\"value\"},{\"name\":\"SQUARE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays the probability plot in a square frame. The default is a rectangular frame.\",\"type\":\"standalone\"},{\"name\":\"STATREF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"draws reference lines at the values of the statistics that are requested in the space-delimited keyword-list. Keywords can be MAX, MEAN, MEDIAN, Q2, MIN, MODE, P p, Q1, Q3, factor STD. These reference lines are perpendicular to the horizontal axis in a histogram or CDF plot, and perpendicular to the vertical axis in a probability or Q-Q plot (unless the ROTATE option is specified). The STATREF= option does not apply to the PPPLOT statement.\",\"help\":\"STATREF=*keyword-list*\",\"type\":\"value\"},{\"name\":\"STATREFLABELS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"STATREFLABEL=\",\"STATREFLAB=\"],\"description\":\"Specifies labels for the lines that you request in the STATREF= option. The number of labels must equal the number of lines. Enclose each label in quotes. Labels can be up to 16 characters long.\",\"help\":\"STATREFLABELS=*'label1*' ...'*labeln*'\",\"type\":\"value\"},{\"name\":\"STATREFSUBCHAR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies a substitution character (such as #) for labels that you specify in the STATREFLABELS= option. When the labels are displayed in a graph, the first occurrence of the specified character in each label is replaced with the value of the corresponding STATREF= statistic.\",\"help\":\"STATREFSUBCHAR=*'character'*\",\"type\":\"value\"},{\"name\":\"THETA=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the lower threshold parameter, θ, for plots requested with the BETA, EXPONENTIAL, GAMMA, LOGNORMAL, and WEIBULL options.\",\"type\":\"value\"},{\"name\":\"THRESHOLD=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the lower threshold parameter, θ, for plots requested with the BETA, EXPONENTIAL, GAMMA, LOGNORMAL, and WEIBULL options.\",\"type\":\"value\"},{\"name\":\"TURNVLABELS\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"TURNVLABEL\"],\"description\":\"Turns the characters in the vertical axis labels so that they display vertically. This happens by default when you use a hardware font.\",\"type\":\"standalone\"},{\"name\":\"VAXIS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the name of an AXIS statement describing the vertical axis. In a HISTOGRAM statement, you can alternatively specify a value-list for the vertical axis.\",\"help\":\"VAXIS=*name*\",\"type\":\"value\"},{\"name\":\"VAXISLABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies a label for the vertical axis. Labels can have up to 40 characters.\",\"help\":\"VAXISLABEL='*label*'\",\"type\":\"value\"},{\"name\":\"VMINOR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"VM=\"],\"description\":\"Specifies the number of minor tick marks between each major tick mark on the vertical axis. Minor tick marks are not labeled. The default is zero.\",\"help\":\"VMINOR=*n*\",\"type\":\"value\"},{\"name\":\"VREF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Draws reference lines perpendicular to the vertical axis at the values specified. Also see the CVREF= and LVREF= options.\",\"help\":\"VREF=*value-list*\",\"type\":\"value\"},{\"name\":\"VREFLABELS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"VREFLABEL=\",\"VREFLAB=\"],\"description\":\"Specifies labels for the lines requested by the VREF= option. The number of labels must equal the number of lines. Enclose each label in quotes. Labels can have up to 16 characters.\",\"type\":\"value\"},{\"name\":\"VREFLABPOS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the horizontal position of the VREFLABELS= labels.\",\"help\":\"VREFLABPOS=1 | 2\",\"type\":\"choice\",\"arguments\":[{\"name\":\"1\",\"followsDelimiter\":\"/\",\"description\":\"Labels are positioned at the left of the plot.\",\"type\":\"standalone\"},{\"name\":\"2\",\"followsDelimiter\":\"/\",\"description\":\"Labels are positioned at the right of the plot.\",\"type\":\"standalone\"}]},{\"name\":\"W=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the width in pixels of the curve or reference line associated with a distribution or kernel density estimate. Enclose the W= option in parentheses after the distribution option or the KERNEL option. In a HISTOGRAM statement, you can specify a list of widths in parentheses for multiple density curves.\",\"type\":\"value\"},{\"name\":\"WAXIS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the line thickness, in pixels, for the axes and frame.\",\"help\":\"WAXIS=*n*\",\"type\":\"value\"},{\"name\":\"WEIBULL\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"WEIB\"],\"description\":\"Creates a three-parameter Weibull probability plot for each value of the required shape parameter, c, specified by the mandatory C= Weibull-option.\",\"help\":\"WEIBULL(C=value | \\n        EST\\n        <Weibull-options> )\",\"type\":\"standaloneOrValue\",\"arguments\":[{\"name\":\"value\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"EST\",\"type\":\"standalone\"}]},{\"name\":\"WEIBULL2\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"W2\"],\"description\":\"Creates a two-parameter Weibull probability plot.\",\"help\":\"WEIBULL2<(Weibull2-options)>\\n       \",\"type\":\"standaloneOrValue\"},{\"name\":\"WGRID=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the line thickness for the grid when producing traditional graphics. The option does not apply to ODS Graphics output.\",\"help\":\"WGRID=*n*\",\"type\":\"value\"},{\"name\":\"WHREF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the line thickness, in pixels, of the reference lines that you request using the HREF= option. If you specify a single thickness, it is used for all HREF= lines. Otherwise, if you specify fewer thicknesses than reference lines, the remaining lines are displayed using the default thickness.\",\"help\":\"WHREF=*value-list*\",\"type\":\"value\"},{\"name\":\"WSTATREF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the line thickness, in pixels, of the reference lines that you request using the STATREF= option. If you specify a single thickness, it is used for all STATREF= lines. Otherwise, if you specify fewer thicknesses than reference lines, the remaining lines are displayed using the default thickness.\",\"help\":\"WSTATREF=*value-list*\",\"type\":\"value\"},{\"name\":\"WVREF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the line thickness, in pixels, of the reference lines that you request using the VREF= option. If you specify a single thickness, it is used for all VREF= lines. Otherwise, if you specify fewer thicknesses than reference lines, the remaining lines are displayed using the default thickness.\",\"help\":\"WVREF=*value-list*\",\"type\":\"value\"},{\"name\":\"ZETA=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies a value for the scale parameter, ζ, for the lognormal probability plots requested with the LOGNORMAL option.\",\"type\":\"value\"}]},{\"name\":\"QQPLOT\",\"aliases\":[\"QQ\"],\"description\":\"TThe QQPLOT statement creates quantile-quantile plots (Q-Q plots) and compares ordered variable values with quantiles of a specified theoretical distribution.\",\"help\":\"QQPLOT &lt;ALPHADELTA=value&gt;&lt;ALPHAINITIAL=value&gt;&lt;ANNOKEY&gt; ...\",\"arguments\":[{\"name\":\"ALPHA=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the mandatory shape parameter α for quantile plots requested with the BETA and GAMMA options.\",\"type\":\"value\"},{\"name\":\"ALPHADELTA=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the change in successive estimates of α-hat at which iteration terminates in the Newton-Raphson approximation of the maximum likelihood estimate of α for gamma distributions requested with the GAMMA option.\",\"help\":\"ALPHADELTA=*value*\",\"type\":\"value\"},{\"name\":\"ALPHAINITIAL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the initial value for α-hat in the Newton-Raphson approximation of the maximum likelihood estimate of α for gamma distributions requested with the GAMMA option. Enclose the ALPHAINITIAL= option in parentheses after the GAMMA keyword.\",\"help\":\"ALPHAINITIAL=*value*\",\"type\":\"value\"},{\"name\":\"ANNOKEY\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Applies the annotation requested with the ANNOTATE= option only to the key cell of a comparative plot.\",\"type\":\"standalone\"},{\"name\":\"ANNOTATE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"ANNO=\"],\"description\":\"Specifies an input data set that contains annotate variables.\",\"help\":\"ANNOTATE=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"BETA\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Creates a beta quantile plot for each combination of the required shape parameters, α and β, specified by the required ALPHA= and BETA= beta-options.)>\",\"help\":\"BETA(ALPHA=*value* | BETA=*value* | EST&lt;*beta-options*&gt;)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ALPHA=\",\"type\":\"value\"},{\"name\":\"BETA=\",\"type\":\"value\"},{\"name\":\"EST\",\"type\":\"standaloneOrValue\"}]},{\"name\":\"BETA=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the mandatory shape parameter, β, for quantile plots requested with the BETA option.\",\"help\":\"BETA=*value-list* | EST\",\"type\":\"choice\",\"arguments\":[{\"name\":\"value-list\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"EST\",\"type\":\"standalone\"}]},{\"name\":\"C=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the shape parameter, c, for quantile plots requested with the WEIBULL and WEIBULL2 options.\",\"help\":\"C=EST\",\"type\":\"choice\",\"arguments\":[{\"name\":\"EST\",\"type\":\"standalone\"}]},{\"name\":\"CAXIS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"CAXES=\",\"CA=\"],\"description\":\"Specifies the color for the axes and tick marks.\",\"help\":\"CAXIS=*color*\",\"type\":\"color\"},{\"name\":\"CDELTA=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the change in successive estimates of c at which iterations terminate in the Newton-Raphson approximation of the maximum likelihood estimate of c for Weibull distributions requested by the WEIBULL option. Enclose the CDELTA= option in parentheses after the WEIBULL keyword. Iteration continues until the change in c between consecutive steps is less than the value specified or until the number of iterations exceeds the value of the MAXITER= option. The default value is 0.00001.\",\"help\":\"CDELTA=*value*\",\"type\":\"value\"},{\"name\":\"CFRAME=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the color for the area that is enclosed by the axes and frame. The area is not filled by default.\",\"help\":\"CFRAME=*color*\",\"type\":\"color\"},{\"name\":\"CFRAMESIDE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the color to fill the frame area for the row labels that display along the left side of a comparative plot.\",\"help\":\"CFRAMESIDE=*color*\",\"type\":\"color\"},{\"name\":\"CFRAMETOP=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the color to fill the frame area for the column labels that display across the top of a comparative plot.\",\"help\":\"CFRAMETOP=*color*\",\"type\":\"color\"},{\"name\":\"CGRID=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the color for grid lines when a grid displays on the plot. This option also produces a grid.\",\"help\":\"CGRID=*color*\",\"type\":\"color\"},{\"name\":\"CHREF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"CH=\"],\"description\":\"Specifies the color for horizontal axis reference lines requested by the HREF= option.\",\"help\":\"CHREF=*color*\",\"type\":\"color\"},{\"name\":\"CINITIAL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the initial value for c-hat in the Newton-Raphson approximation of the maximum likelihood estimate of c for Weibull distributions requested with the WEIBULL or WEIBULL2 option. The default value is 1.8.\",\"help\":\"CINITIAL=*value*\",\"type\":\"value\"},{\"name\":\"COLOR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the color of the curve or reference line associated with a distribution or kernel density estimate. Enclose the COLOR= option in parentheses after a distribution option or the KERNEL option. In a HISTOGRAM statement, you can specify a list of colors in parentheses for multiple density curves.\",\"help\":\"COLOR=*color*\",\"type\":\"color\"},{\"name\":\"CONTENTS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the table of contents grouping entry for output produced by the plot statement. You can specify CONTENTS='' to suppress the grouping entry.\",\"help\":\"CONTENTS='*string*'\",\"type\":\"value\"},{\"name\":\"CPROP\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Produces proportion bars that use an appropriate color from the ODS style.\",\"type\":\"color\"},{\"name\":\"CPROP=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the color for a horizontal bar whose length (relative to the width of the tile) indicates the proportion of the total frequency that is represented by the corresponding cell in a comparative plot.\",\"help\":\"CPROP=EMPTY | *color*\",\"type\":\"choice\",\"arguments\":[{\"name\":\"color\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the color for a horizontal bar whose length (relative to the width of the tile) indicates the proportion of the total frequency that is represented by the corresponding cell in a comparative plot.\",\"type\":\"color\"},{\"name\":\"EMPTY\",\"followsDelimiter\":\"/\",\"description\":\"Displays empty bars.\",\"type\":\"standalone\"}]},{\"name\":\"CSTATREF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the colors for reference lines that you request in the STATREF= option. If you specify a single color, it is used for all STATREF= lines. Otherwise, if fewer colors are specified than reference lines are requested, the remaining lines are displayed with the default reference line color. You can also specify the value _default in the color list to request the default color.\",\"help\":\"CSTATREF=*color* | (*color-list*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"color\",\"placeholder\":true,\"type\":\"color\"},{\"name\":\"(color-list)\",\"placeholder\":true,\"type\":\"color\"}]},{\"name\":\"CTEXT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"CT=\"],\"description\":\"Specifies the color for tick mark values and axis labels. The default is the color specified for the CTEXT= option in the GOPTIONS statement.\",\"help\":\"CTEXT=*color*\",\"type\":\"color\"},{\"name\":\"CTEXTSIDE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the color for the row labels that display along the left side of a comparative plot. By default, the color specified by the CTEXT= option is used. If you omit the CTEXT= option, the color specified in the GOPTIONS statement is used.\",\"help\":\"CTEXTSIDE=*color*\",\"type\":\"color\"},{\"name\":\"CTEXTTOP=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the color for the column labels that display along the left side of a comparative plot. By default, the color specified by the CTEXT= option is used. If you omit the CTEXT= option, the color specified in the GOPTIONS statement is used.\",\"help\":\"CTEXTTOP=*color*\",\"type\":\"color\"},{\"name\":\"CVREF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"CV=\"],\"description\":\"Specifies the color for lines requested with the VREF= option.\",\"help\":\"CVREF=*color*\",\"type\":\"color\"},{\"name\":\"DESCRIPTION=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"DES=\"],\"description\":\"Specifies a description, up to 256 characters long, that appears in the PROC GREPLAY master menu for a traditional graphics chart. The default value is the analysis variable name.\",\"help\":\"DESCRIPTION='*string*'\",\"type\":\"value\"},{\"name\":\"EXPONENTIAL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Creates an exponential quantile plot.\",\"type\":\"standalone\"},{\"name\":\"FITINTERVAL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the value of z for the method of percentiles when this method is used to fit a Johnson sB or Johnson sU distribution. The FITINTERVAL= option is specified in parentheses after the SB or SU option. The default of z is 0.524.\",\"help\":\"FITINTERVAL=*value*\",\"type\":\"value\"},{\"name\":\"FITMETHOD=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the method used to estimate the parameters of a Johnson sB or Johnson sU distribution. The FITMETHOD= option is specified in parentheses after the SB or SU option. By default, the method of percentiles is used.\",\"help\":\"FITMETHOD=PERCENTILE | MLE | MOMENTS\",\"type\":\"choice\",\"arguments\":[{\"name\":\"PERCENTILE\",\"followsDelimiter\":\"/\",\"description\":\"Method of percentiles.\",\"type\":\"standalone\"},{\"name\":\"MLE\",\"followsDelimiter\":\"/\",\"description\":\"Method of MLE.\",\"type\":\"standalone\"},{\"name\":\"MOMENTS\",\"followsDelimiter\":\"/\",\"description\":\"Method of moments.\",\"type\":\"standalone\"}]},{\"name\":\"FITTOLERANCE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the tolerance value for the ratio criterion when the method of percentiles is used to fit a Johnson sB or Johnson sU distribution. The FITTOLERANCE= option is specified in parentheses after the SB or SU option. The default value is 0.01.\",\"help\":\"FITTOLERANCE=*value*\",\"type\":\"value\"},{\"name\":\"FONT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies a software font for reference line and axis labels. You can also specify fonts for axis labels in an AXIS statement. The FONT= font takes precedence over the FTEXT= font specified in the GOPTIONS statement.\",\"help\":\"FONT=*font*\",\"type\":\"value\"},{\"name\":\"GAMMA=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Creates a gamma quantile plot for each value of the shape parameter α given by the mandatory ALPHA= gamma-option.\",\"help\":\"GAMMA=ALPHA= | EST\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ALPHA=\",\"type\":\"value\"},{\"name\":\"EST\",\"type\":\"standalone\"}]},{\"name\":\"GRID\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays a grid of horizontal lines positioned at major tick marks on the vertical axis.\",\"type\":\"standalone\"},{\"name\":\"GUMBEL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays fitted Gumbel density curves on the histogram. You can specify the GUMBEL option only once in a HISTOGRAM statement, but it can request any number of Gumbel curves. Use the MU= and the SIGMA= Gumbel-options to specify the location parameter μ and the scale parameter σ, respectively. By default, PROC UNIVARIATE computes maximum likelihood estimates for μ and σ.\",\"help\":\"GUMBEL&lt; (*Gumbel-options*)&gt;\",\"type\":\"standaloneOrValue\"},{\"name\":\"HAXIS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the name of an AXIS statement describing the horizontal axis.\",\"help\":\"HAXIS=*value*\",\"type\":\"value\"},{\"name\":\"HEIGHT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"HM=\"],\"description\":\"Specifies the height, in percentage screen units, of text for axis labels, tick mark labels, and legends. This option takes precedence over the HTEXT= option in the GOPTIONS statement.\",\"help\":\"HEIGHT=*value*\",\"type\":\"value\"},{\"name\":\"HMINOR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"HM=\"],\"description\":\"Specifies the number of minor tick marks between each major tick mark on the horizontal axis. Minor tick marks are not labeled. By default, HMINOR=0.\",\"help\":\"HMINOR=*n*\",\"type\":\"value\"},{\"name\":\"HREF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Draws reference lines that are perpendicular to the horizontal axis at the values that you specify.\",\"help\":\"HREF=*values*\",\"type\":\"value\"},{\"name\":\"HREFLABELS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"HREFLABEL=\",\"HREFLAB=\"],\"description\":\"Specifies labels for the lines requested by the HREF= option. The number of labels must equal the number of lines. Enclose each label in quotes. Labels can have up to 16 characters.\",\"type\":\"value\"},{\"name\":\"HREFLABPOS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the vertical position of the HREFLABELS= labels.\",\"help\":\"HREFLABPOS=1 | 2 | 3 | 4\",\"type\":\"choice\",\"arguments\":[{\"name\":\"1\",\"followsDelimiter\":\"/\",\"description\":\"Along top of plot\",\"type\":\"standalone\"},{\"name\":\"2\",\"followsDelimiter\":\"/\",\"description\":\"Staggered from top to bottom of plot\",\"type\":\"standalone\"},{\"name\":\"3\",\"followsDelimiter\":\"/\",\"description\":\"Along bottom of plot\",\"type\":\"standalone\"},{\"name\":\"4\",\"followsDelimiter\":\"/\",\"description\":\"Staggered from bottom to top of plot\",\"type\":\"standalone\"}]},{\"name\":\"INFONT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies a software font to use for text inside the framed areas of the plot. The INFONT= option takes precedence over the FTEXT= option in the GOPTIONS statement.\",\"help\":\"INFONT=*font*\",\"type\":\"value\"},{\"name\":\"INHEIGHT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the height, in percentage screen units, of text used inside the framed areas of the histogram. By default, the height specified by the HEIGHT= option is used. If you do not specify the HEIGHT= option, the height specified with the HTEXT= option in the GOPTIONS statement is used.\",\"help\":\"INHEIGHT=*value*\",\"type\":\"value\"},{\"name\":\"INTERTILE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the distance in horizontal percentage screen units between the framed areas, called tiles, of a comparative plot. By default, INTERTILE=0.75 percentage screen units. This option is not available unless you use the CLASS statement. You can specify INTERTILE=0 to create contiguous tiles.\",\"help\":\"INTERTILE=*value*\",\"type\":\"value\"},{\"name\":\"ITPRINT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests a table that shows the iteration history and optimizer details of the maximum likelihood parameter estimation of a Weibull distribution that is requested by the WEIBULL or WEIBULL2 option.\",\"type\":\"standalone\"},{\"name\":\"L=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the line type of the curve or reference line associated with a distribution or kernel density estimate. Enclose the L= option in parentheses after the distribution option or the KERNEL option. In a HISTOGRAM statement, you can specify a list of line types in parentheses for multiple density curves.\",\"help\":\"L=*linetype*\",\"type\":\"value\"},{\"name\":\"LGRID=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the line type for the grid requested by the GRID= option. By default, LGRID=1, which produces a solid line.\",\"help\":\"LGRID=*linetype*\",\"type\":\"value\"},{\"name\":\"LHREF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"LH=\"],\"description\":\"Specifies the line type for the reference lines that you request with the HREF= option. By default, LHREF=2, which produces a dashed line.\",\"type\":\"value\"},{\"name\":\"LOGNORMAL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Creates a lognormal quantile plot for each value of the shape parameter σ given by the mandatory SIGMA= lognormal-option.\",\"help\":\"LOGNORMAL=SIGMA= | EST\",\"type\":\"choice\",\"arguments\":[{\"name\":\"SIGMA=\",\"type\":\"value\"},{\"name\":\"EST\",\"type\":\"standalone\"}]},{\"name\":\"LVREF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"LV=\"],\"description\":\"Specifies the line type for lines requested with the VREF= option. By default, LVREF=2, which produces a dashed line.\",\"help\":\"LVREF=*linetype*\",\"type\":\"value\"},{\"name\":\"LSTATREF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the line types for the reference lines that you request in the STATREF= option. If you specify a single line type, it is used for all STATREF= lines. Otherwise, if fewer line types are specified than reference lines are requested, the remaining lines are displayed with the default reference line type.\",\"help\":\"LSTATREF=*linetype* |  *linetype-list*\",\"type\":\"choice\",\"arguments\":[{\"name\":\"linetype\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"linetype-list\",\"placeholder\":true,\"type\":\"value\"}]},{\"name\":\"MAXITER=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the maximum number of iterations in the Newton-Raphson approximation of the maximum likelihood estimate of α for gamma distributions requested with the GAMMA option and c for Weibull distributions requested with the WEIBULL and WEIBULL2 options. Enclose the MAXITER= option in parentheses after the GAMMA, WEIBULL, or WEIBULL2 keywords. The default value of n is 20.\",\"help\":\"MAXITER=*n*\",\"type\":\"value\"},{\"name\":\"MU=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the parameter, µ, for normal quantile plot requested with the NORMAL option.\",\"help\":\"MU=*value*\",\"type\":\"value\"},{\"name\":\"NAME=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies a name for the plot, up to eight characters long, that appears in the PROC GREPLAY master menu for a traditional graphics chart. The default value is 'UNIVAR'.\",\"help\":\"NAME='*string*'\",\"type\":\"value\"},{\"name\":\"NCOLS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"NCOL=\"],\"description\":\"Specifies the number of columns per panel in a comparative plot. This option is not available unless you use the CLASS statement. By default, NCOLS=1 if you specify only one CLASS variable, and NCOLS=2 if you specify two CLASS variables. If you specify two CLASS variables, you can use the NCOLS= option with the NROWS= option.\",\"help\":\"NCOLS=*n*\",\"type\":\"value\"},{\"name\":\"NOADJ\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the adjustment value added to the sample size in the calculation of theoretical percentiles. By default, NADJ=1/4.\",\"type\":\"standalone\"},{\"name\":\"NOFRAME\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Suppresses the frame around the subplot area.\",\"type\":\"standalone\"},{\"name\":\"NOHLABEL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Suppresses the label for the horizontal axis. You can use this option to reduce clutter.\",\"type\":\"standalone\"},{\"name\":\"NOLINELEGEND\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"NOLEGEND\"],\"description\":\"suppresses the legend for the optional distribution reference line. This option applies only to ODS Graphics output.\",\"type\":\"standalone\"},{\"name\":\"NORMAL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Creates a normal qunatile plot.\",\"type\":\"standalone\"},{\"name\":\"NOVLABEL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Suppresses the label for the vertical axis. You can use this option to reduce clutter.\",\"type\":\"standalone\"},{\"name\":\"NOVTICK\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Suppresses the tick marks and tick mark labels for the vertical axis. This option also suppresses the label for the vertical axis.\",\"type\":\"standalone\"},{\"name\":\"NROWS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"NROW=\"],\"description\":\"Specifies the number of rows per panel in a comparative plot. This option is not available unless you use the CLASS statement. By default, NROWS=2. If you specify two CLASS variables, you can use the NCOLS= option with the NROWS= option.\",\"help\":\"NROWS=*n*\",\"type\":\"value\"},{\"name\":\"ODSFOOTNOTE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Adds a footnote to ODS Graphics output.\",\"help\":\"ODSFOOTNOTE=FOOTNOTE | FOOTNOTE1 | *'string'*\",\"type\":\"choice\",\"arguments\":[{\"name\":\"FOOTNOTE\",\"followsDelimiter\":\"/\",\"description\":\"Uses the value of the SAS FOOTNOTE statement as the graph footnote.\",\"type\":\"standalone\"},{\"name\":\"FOOTNOTE1\",\"followsDelimiter\":\"/\",\"description\":\"Uses the value of the SAS FOOTNOTE statement as the graph footnote.\",\"type\":\"standalone\"},{\"name\":\"'string'\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"Uses the specified string as the graph footnote. The string can contain either of the following escaped characters, which are replaced with the appropriate values from the analysis: \\\\n is replaced by the analysis variable name, or \\\\l is replaced by the analysis variable label (or name if the analysis variable has no label).\",\"type\":\"value\"}]},{\"name\":\"ODSFOOTNOTE2=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Adds a secondary footnote to ODS Graphics output.\",\"help\":\"ODSFOOTNOTE2=FOOTNOTE2 | *'string'*\",\"type\":\"choice\",\"arguments\":[{\"name\":\"FOOTNOTE2\",\"followsDelimiter\":\"/\",\"description\":\"Uses the value of the SAS FOOTNOTE2 statement as the secondary graph footnote.\",\"type\":\"standalone\"},{\"name\":\"'string'\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"Uses the specified string as the secondary graph footnote. The string can contain either of the following escaped characters, which are replaced with the appropriate values from the analysis: \\\\n is replaced by the analysis variable name, or \\\\l is replaced by the analysis variable label (or name if the analysis variable has no label).\",\"type\":\"value\"}]},{\"name\":\"ODSTITLE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies a title for ODS Graphics output.\",\"help\":\"ODSTITLE=TITLE | TITLE1 | NONE | DEFAULT | LABELFMT | *'string'*\",\"type\":\"choice\",\"arguments\":[{\"name\":\"TITLE\",\"followsDelimiter\":\"/\",\"description\":\"Uses the value of the SAS TITLE statement as the graph title.\",\"type\":\"standalone\"},{\"name\":\"TITLE1\",\"followsDelimiter\":\"/\",\"description\":\"Uses the value of the SAS TITLE statement as the graph title.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"followsDelimiter\":\"/\",\"description\":\"Suppresses all titles from the graph.\",\"type\":\"standalone\"},{\"name\":\"DEFAULT\",\"followsDelimiter\":\"/\",\"description\":\"Uses the default ODS Graphics title (a descriptive title that consists of the plot type and the analysis variable name).\",\"type\":\"standalone\"},{\"name\":\"LABELFMT\",\"followsDelimiter\":\"/\",\"description\":\"Uses the default ODS Graphics title with the variable label instead of the variable name.\",\"type\":\"standalone\"},{\"name\":\"'string'\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"Uses the specified string as the graph title. The string can contain the following escaped characters, which are replaced with the appropriate values from the analysis: \\\\n is replaced by the analysis variable name, or \\\\l is replaced by the analysis variable label (or name if the analysis variable has no label).\",\"type\":\"value\"}]},{\"name\":\"ODSTITLE2=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies a secondary title for ODS Graphics output.\",\"help\":\"ODSTITLE2=TITLE2 | *'string'*\",\"type\":\"choice\",\"arguments\":[{\"name\":\"TITLE2\",\"followsDelimiter\":\"/\",\"description\":\"Uses the value of the SAS TITLE2 statement as the secondary graph title..\",\"type\":\"standalone\"},{\"name\":\"'string'\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"Uses the specified string as the secondary graph title. The string can contain the following escaped characters, which are replaced with the appropriate values from the analysis: \\\\n is replaced by the analysis variable name, or \\\\l is replaced by the analysis variable label (or name if the analysis variable has no label).\",\"type\":\"value\"}]},{\"name\":\"OVERLAY\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies that plots associated with different levels of a CLASS variable be overlaid onto a single plot, rather than displayed as separate cells in a comparative plot.\",\"type\":\"standalone\"},{\"name\":\"PARETO\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays fitted generalized Pareto density curves on the histogram. You can specify the this option only once in a HISTOGRAM statement, but it can request any number of generalized Pareto curves. The parameter Θ must be less than the minimum data value. Use the THETA= Pareto-option to specify Θ. By default, THETA=0. Use the SIGMA= and the ALPHA= Pareto-options to specify the scale parameter sigma and the shape parameter a. By default, PROC UNIVARIATE computes maximum likelihood estimates for σ and a.\",\"help\":\"PARETO&lt;(*Pareto-options*)&gt;\",\"type\":\"standaloneOrValue\"},{\"name\":\"PCTLMINOR\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Adds a nonlinear percentile axis along the frame of the Q-Q plot opposite the theoretical quantile axis\",\"type\":\"standalone\"},{\"name\":\"PCTLSCALE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests scale labels for the theoretical quantile axis in percentile units, resulting in a nonlinear axis scale.\",\"type\":\"standalone\"},{\"name\":\"POWER\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays fitted power function density curves on the histogram. You can specify this option only once in a HISTOGRAM statement, but it can request any number of power function curves. The parameter Θ must be less than the minimum data value. Use the THETA= and SIGMA= power-options to specify Θ and σ. The default values are 0 and 1, respectively. Use the ALPHA= power-option to specify the and the shape parameter, a. By default, PROC UNIVARIATE computes a maximum likelihood estimate for a.\",\"help\":\"POWER&lt;(*power-options*)&gt;\",\"type\":\"standaloneOrValue\"},{\"name\":\"RANKADJ=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the adjustment value added to the ranks in the calculation of theoretical percentiles.\",\"help\":\"RANKADJ=*value*\",\"type\":\"value\"},{\"name\":\"RAYLEIGH\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays fitted Rayleigh density curves on the histogram. You can specify this option only once in a HISTOGRAM statement, but it can request any number of Rayleigh curves. The parameter Θ must be less than the minimum data value. Use the THETA= Rayleigh-option to specify Θ. By default, THETA=0. Use the SIGMA= Rayleigh-option to specify the scale parameter σ. By default, PROC UNIVARIATE computes maximum likelihood estimates for σ.\",\"help\":\"RAYLEIGH&lt;(*Rayleigh-options*)&gt;\",\"type\":\"standaloneOrValue\"},{\"name\":\"ROTATE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Switches the horizontal and vertical axes so that the theoretical quantiles are plotted vertically while the data are plotted horizontally.\",\"type\":\"standalone\"},{\"name\":\"SCALE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Is an alias for the SIGMA= option for distributions requested by the BETA, EXPONENTIAL, GAMMA, SB, SU, WEIBULL, and WEIBULL2 options and for the ZETA= option for distributions requested by the LOGNORMAL option.\",\"help\":\"SCALE=*value*\",\"type\":\"value\"},{\"name\":\"SHAPE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Is an alias for the ALPHA= option for distributions requested by the GAMMA option, for the SIGMA= option for distributions requested by the LOGNORMAL option, and for the C= option for distributions requested by the WEIBULL and WEIBULL2 options.\",\"help\":\"SHAPE=*value*\",\"type\":\"value\"},{\"name\":\"SIGMA=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the parameter, σ, for quantile plots requested by the BETA, EXPONENTIAL, GAMMA, LOGNORMAL, NORMAL, and WEIBULL options\",\"help\":\"SIGMA=EST\",\"type\":\"choice\",\"arguments\":[{\"name\":\"EST\",\"type\":\"standalone\"}]},{\"name\":\"SLOPE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the slope for a distribution reference line requested with the LOGNORMAL and WEIBULL2 options.\",\"help\":\"SLOPE=EST\",\"type\":\"choice\",\"arguments\":[{\"name\":\"EST\",\"type\":\"standalone\"}]},{\"name\":\"SQUARE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays the quantile plot in a square frame. The default is a rectangular frame.\",\"type\":\"standalone\"},{\"name\":\"STATREF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"draws reference lines at the values of the statistics that are requested in the space-delimited keyword-list. Keywords can be MAX, MEAN, MEDIAN, Q2, MIN, MODE, P p, Q1, Q3, factor STD. These reference lines are perpendicular to the horizontal axis in a histogram or CDF plot, and perpendicular to the vertical axis in a probability or Q-Q plot (unless the ROTATE option is specified). The STATREF= option does not apply to the PPPLOT statement.\",\"help\":\"STATREF=*keyword-list*\",\"type\":\"value\"},{\"name\":\"STATREFLABELS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"STATREFLABEL=\",\"STATREFLAB=\"],\"description\":\"Specifies labels for the lines that you request in the STATREF= option. The number of labels must equal the number of lines. Enclose each label in quotes. Labels can be up to 16 characters long.\",\"help\":\"STATREFLABELS=*'label1*' ...'*labeln*'\",\"type\":\"value\"},{\"name\":\"STATREFSUBCHAR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies a substitution character (such as #) for labels that you specify in the STATREFLABELS= option. When the labels are displayed in a graph, the first occurrence of the specified character in each label is replaced with the value of the corresponding STATREF= statistic.\",\"help\":\"STATREFSUBCHAR=*'character'*\",\"type\":\"value\"},{\"name\":\"THETA=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the lower threshold parameter, θ, for plots requested with the BETA, EXPONENTIAL, GAMMA, LOGNORMAL, and WEIBULL options.\",\"help\":\"THETA=EST\",\"type\":\"choice\",\"arguments\":[{\"name\":\"EST\",\"type\":\"standalone\"}]},{\"name\":\"THRESHOLD=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the lower threshold parameter, θ, for plots requested with the BETA, EXPONENTIAL, GAMMA, LOGNORMAL, and WEIBULL options.\",\"help\":\"THRESHOLD=EST\",\"type\":\"choice\",\"arguments\":[{\"name\":\"EST\",\"type\":\"standalone\"}]},{\"name\":\"TURNVLABELS\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"TURNVLABEL\"],\"description\":\"Turns the characters in the vertical axis labels so that they display vertically. This happens by default when you use a hardware font.\",\"type\":\"standalone\"},{\"name\":\"VAXIS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the name of an AXIS statement describing the vertical axis. In a HISTOGRAM statement, you can alternatively specify a value-list for the vertical axis.\",\"help\":\"VAXIS=*name*\",\"type\":\"value\"},{\"name\":\"VAXISLABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies a label for the vertical axis. Labels can have up to 40 characters.\",\"help\":\"VAXISLABEL='*label*'\",\"type\":\"value\"},{\"name\":\"VMINOR=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"VM=\"],\"description\":\"Specifies the number of minor tick marks between each major tick mark on the vertical axis. Minor tick marks are not labeled. The default is zero.\",\"help\":\"VMINOR=*n*\",\"type\":\"value\"},{\"name\":\"VREF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Draws reference lines perpendicular to the vertical axis at the values specified. Also see the CVREF= and LVREF= options.\",\"help\":\"VREF=*value-list*\",\"type\":\"value\"},{\"name\":\"VREFLABELS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"VREFLABEL=\",\"VREFLAB=\"],\"description\":\"Specifies labels for the lines requested by the VREF= option. The number of labels must equal the number of lines. Enclose each label in quotes. Labels can have up to 16 characters.\",\"type\":\"value\"},{\"name\":\"VREFLABPOS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the horizontal position of the VREFLABELS= labels.\",\"help\":\"VREFLABPOS=1 | 2\",\"type\":\"choice\",\"arguments\":[{\"name\":\"1\",\"followsDelimiter\":\"/\",\"description\":\"Labels are positioned at the left of the plot.\",\"type\":\"standalone\"},{\"name\":\"2\",\"followsDelimiter\":\"/\",\"description\":\"Labels are positioned at the right of the plot.\",\"type\":\"standalone\"}]},{\"name\":\"W=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the width in pixels of the curve or reference line associated with a distribution or kernel density estimate. Enclose the W= option in parentheses after the distribution option or the KERNEL option. In a HISTOGRAM statement, you can specify a list of widths in parentheses for multiple density curves.\",\"type\":\"value\"},{\"name\":\"WAXIS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the line thickness, in pixels, for the axes and frame.\",\"help\":\"WAXIS=*n*\",\"type\":\"value\"},{\"name\":\"WEIBULL\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"WEIB\"],\"description\":\"Creates a three-parameter Weibull quantile plot for each value of the required shape parameter, c, specified by the mandatory C= Weibull-option.\",\"help\":\"WEIBULL(C=*value* | EST&lt;*Weibull-options*&gt;)\",\"type\":\"standaloneOrValue\",\"arguments\":[{\"name\":\"value\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"EST\",\"type\":\"standalone\"}]},{\"name\":\"WEIBULL2\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"W2\"],\"description\":\"Creates a two-parameter Weibull quantile plot.\",\"help\":\"WEIBULL2&lt;(*Weibull2-options*)&gt;\",\"type\":\"standaloneOrValue\"},{\"name\":\"WGRID=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the line thickness for the grid when producing traditional graphics. The option does not apply to ODS Graphics output.\",\"help\":\"WGRID=*n*\",\"type\":\"value\"},{\"name\":\"WHREF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the line thickness, in pixels, of the reference lines that you request using the HREF= option. If you specify a single thickness, it is used for all HREF= lines. Otherwise, if you specify fewer thicknesses than reference lines, the remaining lines are displayed using the default thickness.\",\"help\":\"WHREF=*value-list*\",\"type\":\"value\"},{\"name\":\"WSTATREF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the line thickness, in pixels, of the reference lines that you request using the STATREF= option. If you specify a single thickness, it is used for all STATREF= lines. Otherwise, if you specify fewer thicknesses than reference lines, the remaining lines are displayed using the default thickness.\",\"help\":\"WSTATREF=*value-list*\",\"type\":\"value\"},{\"name\":\"WVREF=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the line thickness, in pixels, of the reference lines that you request using the VREF= option. If you specify a single thickness, it is used for all VREF= lines. Otherwise, if you specify fewer thicknesses than reference lines, the remaining lines are displayed using the default thickness.\",\"help\":\"WVREF=*value-list*\",\"type\":\"value\"},{\"name\":\"ZETA=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies a value for the scale parameter, ζ, for the lognormal quantile plots requested with the LOGNORMAL option.\",\"help\":\"ZETA=EST\",\"type\":\"choice\",\"arguments\":[{\"name\":\"EST\",\"type\":\"standalone\"}]}]},{\"name\":\"VAR\",\"aliases\":[\"VARIABLE\",\"VARIABLES\"],\"description\":\"Specifies the analysis variables and their order in the results. By default, if you omit the VAR statement, PROC UNIVARIATE analyzes all numeric variables that are not listed in the other statements.\",\"help\":\"VAR variable(s)\"},{\"name\":\"WEIGHT\",\"description\":\"Specifies numeric weights for analysis variables in the statistical calculations. The UNIVARIATE procedure uses the values of the WEIGHT variable to modify the computation of a number of summary statistics by assuming that the variance of the ith value xi of the analysis variable is equal to σ²/wi, where σ is an unknown parameter. The values of the WEIGHT variable do not have to be integers and are typically positive. By default, observations with nonpositive or missing values of the WEIGHT variable are handled as follows:1 o If the value is zero, the observation is counted in the total number of observations. o If the value is negative, it is converted to zero, and the observation is counted in the total number of observations. o If the value is missing, the observation is excluded from the analysis.\",\"help\":\"WEIGHT variable\"}],\"supportSiteInformation\":{\"docsetId\":\"procstat\",\"docsetVersion\":\"v_008\",\"docsetTargetFile\":\"procstat_univariate_toc.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/UPLOAD.json",
    "content": "{\"name\":\"UPLOAD\",\"statements\":[{\"name\":\"PROC UPLOAD\",\"aliases\":[\"none\"],\"description\":\"Transfers files from the client to the server.\",\"help\":\"PROC UPLOAD \\n\\t<data-set-options>\\n\\t\\t<library-options>\\n\\t\\t<external-file-options>\\n\\t\\t<AFTER=date>;WHERE where-expression-1<logical-operator where-expression-n>;EXCLUDE list</MEMTYPE=mtype>;SELECT </MEMTYPE=mtype>;\",\"arguments\":[{\"name\":\"AFTER=\",\"optional\":true,\"description\":\"specifies a modification date in the form of a numeric date value or a SAS date constant.\",\"help\":\"AFTER=*date*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0cneqivlqua5tn1p6zbw563h2wh\"},{\"name\":\"BINARY\",\"optional\":true,\"description\":\"specifies an upload of a binary image (an exact copy) of an external client file. Use this option only for uploading external files.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0di3hnm1xy2kan1empb8j6bxt3h\"},{\"name\":\"CONSTRAINT=\",\"optional\":true,\"description\":\"specifies if integrity constraints should be re-created on the server when a SAS data set that has integrity constraints defined is uploaded. You can specify this option with the DATA= option (if you omit the OUT= option) or with the INLIB= and OUTLIB= options.\",\"help\":\"CONSTRAINT=YES | NO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YES\",\"type\":\"standalone\"},{\"name\":\"NO\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"p0m3cmzgtfbuypn1kee94dnbinjf\"},{\"name\":\"DATA=\",\"optional\":true,\"description\":\"specifies a SAS data set to upload from the client to the server. If the data set is a permanent SAS data set, you must define a libref before the PROC UPLOAD statement and specify the two-level name of the data set.\",\"help\":\"DATA=*client-SAS-data-set* &lt;(*SAS-data-set-options*)&gt;\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"n1otorrinm7h0yn1dm4x1vnerf1h\"},{\"name\":\"DATECOPY\",\"optional\":true,\"description\":\"retains the date on which a SAS data set was created and the date on which a SAS data set was last modified for each data set that is transferred.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1iabiju1g3ei6n1qqrbylk7pgog\"},{\"name\":\"ENTRYTYPE=\",\"optional\":true,\"aliases\":[\"ETYPE=\",\"ET=\"],\"description\":\"specifies a catalog entry type to be uploaded. Examples of catalog entry types include DATA and FORMAT.\",\"help\":\"ENTRYTYPE=*etype* \",\"type\":\"value\",\"supportSiteTargetFragment\":\"p13exkohrvsmbhn15yxy2y37zzgd\"},{\"name\":\"EXTENDSN=\",\"optional\":true,\"description\":\"specifies whether to promote the length of short numerics (length less than 8 bytes) when transferring.\",\"help\":\"EXTENDSN=YES | NO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NO\",\"description\":\"indicates that the length of numeric variables is not promoted.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1uddfa48cekhbn1j86b6sxmu1wk\"},{\"name\":\"YES\",\"description\":\"indicates that 1 will be added to the length of any numeric variable that has a length of less than 8 bytes before it is transferred to the server.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0wkvmt60ycatyn1837549p73esu\"}],\"supportSiteTargetFragment\":\"n1x2xbaujyxjdan1apt80yu1i7gp\"},{\"name\":\"GEN=\",\"optional\":true,\"description\":\"specifies that data set generations are to be sent during library transfers.\",\"help\":\"GEN=YES | NO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YES\",\"description\":\"specifies that data set generations are sent during library transfers.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1dbfjhga7aulln18v4is1vzezfa\"},{\"name\":\"NO\",\"description\":\"specifies that data set generations are not sent during library transfers.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1clrvmog6dqz9n13sy1i17fp5af\"}],\"supportSiteTargetFragment\":\"n0x39tmobss924n1uwcmdb7o9ssg\"},{\"name\":\"INDEX=\",\"optional\":true,\"description\":\"specifies whether to allow for the upload or download of indexes that are defined on a SAS data set.\",\"help\":\"INDEX=YES | NO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YES\",\"type\":\"standalone\"},{\"name\":\"NO\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"p04e4mwitzhjr8n1x0y57wzi57iq\"},{\"name\":\"INFILE=\",\"optional\":true,\"description\":\"specifies the external file that you want to upload to the server from the client.\",\"help\":\"INFILE=*client-file-identifier*\",\"type\":\"value\",\"arguments\":[{\"name\":\"fileref\",\"placeholder\":true,\"description\":\"is used if you have defined a fileref on the client that is associated with a single file. You must define the fileref before specifying the PROC UPLOAD statement.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1kbevm9evnh85n12e9dshorsqhk\"},{\"name\":\"member\",\"placeholder\":true,\"description\":\"specifies one or more files in that aggregate storage location. You can use the asterisk character (*) as a wildcard in the member specification to upload multiple files via a single PROC UPLOAD statement. The * matches zero or more characters.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1vpld1iobbd3cn1tiv2dizf46bl\"},{\"name\":\"'external-file-name'\",\"placeholder\":true,\"description\":\"is used to explicitly define the file that is to be uploaded.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0jgw63j9h9l6ln1nubt2v16nvts\"}],\"supportSiteTargetFragment\":\"n0stiv1dn4bvurn1s9sq4sms8wsh\"},{\"name\":\"INLIB=\",\"optional\":true,\"aliases\":[\"IN=\",\"INDD=\"],\"description\":\"specifies a SAS library to upload from the client to the server. This option must be used with the OUTLIB= option. Before using this option, you must define the libref that is used for client-SAS-library.\",\"help\":\"INLIB=client-SAS-library \\n \",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"n15wdjv2u7muvmn1qtdtu14jl24l\"},{\"name\":\"MEMTYPE=\",\"optional\":true,\"aliases\":[\"MTYPE=\",\"MT=\"],\"description\":\"specifies one or more member types to be uploaded.\",\"help\":\"MEMTYPE=ALL | CATALOG | DATA | MDDB | VIEW \",\"type\":\"choice\",\"arguments\":[{\"name\":\"ALL\",\"type\":\"standalone\"},{\"name\":\"CATALOG\",\"type\":\"standalone\"},{\"name\":\"DATA\",\"type\":\"standalone\"},{\"name\":\"MDDB\",\"type\":\"standalone\"},{\"name\":\"VIEW\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"p1p3evmzrkapqyn1434gqlhdldcy\"},{\"name\":\"OUTFILE=\",\"optional\":true,\"description\":\"specifies an external file in the server session to which the file in the client session will be transferred.\",\"help\":\"OUTFILE=*server-file-identifier*\",\"type\":\"value\",\"arguments\":[{\"name\":\"\\\"external-filename\\\"\",\"placeholder\":true,\"description\":\"is the physical location of the file in the server session to which the file in the client session is transferred.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1qwfh7734mpp3n1m3wrnrlltml4\"},{\"name\":\"fileref\",\"placeholder\":true,\"description\":\"is the SAS filename that is associated with the physical location of a single file in the server session.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0vfrpbsrz3e2pn1g1y0g1lj89rg\"},{\"name\":\"fileref\",\"placeholder\":true,\"description\":\"is the fileref that is associated with an aggregate storage location, such as a directory or a partitioned data set, in the server session. member specifies the file in the aggregate storage location that will be transferred.\",\"help\":\"*fileref(member)*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1hahfisfxx63yn1iz06l7np088o\"}],\"supportSiteTargetFragment\":\"n1bxbyxrosxjb4n1tgve06uk0ish\"},{\"name\":\"OUTLIB=\",\"optional\":true,\"aliases\":[\"OUTDD=\",\"OUT=\"],\"description\":\"The OUT= option is a valid form of the OUTLIB= option. The UPLOAD procedure determines the meaning of the OUT= option as follows:\\n• If you specify the DATA= option and the OUT= option, the OUT= option names the output SAS data set. \\n• If you specify only the OUTLIB= option, the UPLOAD procedure uploads the last SAS data set that was created on the client. \\n• If you specify the INLIB= option and the OUTLIB= option, the OUTLIB= option specifies the name of a SAS library. \",\"help\":\"OUTLIB=*server-SAS-data-set* &lt;(*SAS-data-set-options*)&gt; <br/> OUTLIB=*server-SAS-library* \",\"type\":\"dataSet\",\"arguments\":[{\"name\":\"server-SAS-data-set\",\"placeholder\":true,\"description\":\"specifies the SAS data set in the server session that you want the uploaded data set written to. If you want to create a permanent SAS data set, you must define the libref before specifying the PROC UPLOAD statement, and you must specify a two-level SAS data set name.\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"p0y9yy22m5sq23n1vrbaqmr370y0\"}],\"supportSiteTargetFragment\":\"p1ls1yvbmwluxqn1wghk3bxr9395\"},{\"name\":\"server-SAS-library\",\"optional\":true,\"placeholder\":true,\"description\":\"names the destination SAS library on your server where the uploaded data sets from the client are stored. Before using this option, you must define the libref that is used for server-SAS-library.\",\"help\":\"*server-SAS-library* \",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"n0inrlc3hmgnxcn1q3hiqniqf49h\"},{\"name\":\"VIEWTODATA\",\"optional\":true,\"description\":\"for a library transfer only, causes view descriptor files to be transferred as data sets instead of as view files, which is the default. If you want some views to be transferred as view files and other views to be transferred as data sets, you would have to perform two separate transfers. If you attempt to use this option for a single data set transfer (by using the DATA= option), an error results.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p02undb86iksihn1o8i62qkrwpr3\"},{\"name\":\"V6TRANSPORT\",\"optional\":true,\"description\":\"specifies that data should be translated by using the SAS 6 File Format Translation Algorithms. Specify this option only when you want to use the SAS 6 translation style explicitly and both the client and the server run SAS 8 or a later release.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0idmyfqdqm36bn1gf9aafsqgxn3\"},{\"name\":\"XATTR=\",\"optional\":true,\"description\":\"specifies whether to allow for the upload or download of extended attributes that are defined on a SAS data set or SAS library. This option is turned on by default in PROC UPLOAD and PROC DOWNLOAD. The XATTR=YES option is invalid when the OUT= option is specified.\",\"help\":\"XATTR=YES | NO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YES\",\"type\":\"standalone\"},{\"name\":\"NO\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"p0qe1yrm3yf4h8n168kbkzn8kgiq\"}],\"supportSiteTargetFile\":\"p1fomu79jj84ipn10wltbbed6srk.htm\"},{\"name\":\"WHERE\",\"description\":\"Selects observations from SAS data sets.\",\"help\":\"WHERE *where-expression-1*&lt;*logical-operator where-expression-n*&gt;;\",\"arguments\":[{\"name\":\"where-expression-1\",\"optional\":true,\"placeholder\":true,\"description\":\"is a WHERE expression.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0ntuqi2vx46yjn1bwwjubj824kn\"},{\"name\":\"logical-operator\",\"optional\":true,\"placeholder\":true,\"description\":\"is one of the following logical operators:\\n• AND\\n• AND NOT\\n• OR\\n• OR NOT\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1x58rqucazpvyn10mhrk1s5x2by\"},{\"name\":\"where-expression-n\",\"optional\":true,\"placeholder\":true,\"description\":\"is a WHERE expression.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0t0zwzhbaz7otn1oxjighfohrih\"}],\"supportSiteTargetFile\":\"p0sjrs7oqymf18n1uunu840p0v1b.htm\"},{\"name\":\"EXCLUDE\",\"description\":\"Excludes library members from uploading.\",\"help\":\"EXCLUDE *lib-member-list*&lt;/ MEMTYPE=*mtype*&gt;;\",\"arguments\":[{\"name\":\"prefix\",\"placeholder\":true,\"description\":\"specifies all members whose names begin with the character string prefix. For example, if you specify TEST:, all members with names that begin with the letters TEST are excluded.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0s8gr46l5r14yn1o4e1e2e5y34j\"},{\"name\":\"first-last\",\"placeholder\":true,\"description\":\"specifies all members whose names have a value between first and last. For example, if you specify TEST1-TEST3, any files that are named TEST1, TEST2, or TEST3 are excluded.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0kvu7owin356zn1wu8bunhi60y8\"},{\"name\":\"MEMTYPE=\",\"optional\":true,\"aliases\":[\"MTYPE=\",\"MT=\"],\"description\":\"specifies a member type to exclude from uploading.\",\"help\":\"MEMTYPE=ALL | CATALOG | DATA | MDDB | VIEW\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ALL\",\"type\":\"standalone\"},{\"name\":\"CATALOG\",\"type\":\"standalone\"},{\"name\":\"DATA\",\"type\":\"standalone\"},{\"name\":\"MDDB\",\"type\":\"standalone\"},{\"name\":\"VIEW\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"p09fzfkps6w939n1ay7rvhtwuw02\"}],\"supportSiteTargetFile\":\"n04q0vs54f21ggn1bhu0zwl6dllo.htm\"},{\"name\":\"SELECT\",\"description\":\"Selects specific library members to upload.\",\"help\":\"SELECT *lib-member-list*&lt;/ MEMTYPE=*mtype*&gt;;SELECT *cat-entry-list*&lt;/ ENTRYTYPE=*etype*&gt;;\",\"arguments\":[{\"name\":\"prefix\",\"placeholder\":true,\"description\":\"specifies all members whose names begin with the character string prefix. For example, if you specify TEST:, all members with names that begin with the letters TEST are excluded.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1y0ds3y70rb3tn18381238uc2kb\"},{\"name\":\"first-last\",\"placeholder\":true,\"description\":\"specifies all members whose names have a value between first and last. For example, if you specify TEST1-TEST3, any files that are named TEST1, TEST2, or TEST3 are excluded.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p00m8zg1b6abtsn1m34dsmxcdaa4\"},{\"name\":\"entry\",\"placeholder\":true,\"description\":\"is the name of an entry in the catalog to exclude from uploading.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0n18e26vvho5wn19fiw83nasxln\"},{\"name\":\".type\",\"placeholder\":true,\"description\":\"is the type of the catalog entry. This part of the name is optional.\",\"type\":\"standaloneOrValue\",\"supportSiteTargetFragment\":\"n0grujzc0w8mkln0zikuwbpu3ycf\"},{\"name\":\"MEMTYPE=\",\"optional\":true,\"aliases\":[\"MTYPE=\",\"MT=\"],\"description\":\"specifies a member type to exclude from uploading.\",\"help\":\"MEMTYPE=ALL | CATALOG | DATA | MDDB | VIEW\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ALL\",\"type\":\"standalone\"},{\"name\":\"CATALOG\",\"type\":\"standalone\"},{\"name\":\"DATA\",\"type\":\"standalone\"},{\"name\":\"MDDB\",\"type\":\"standalone\"},{\"name\":\"VIEW\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"n07r705pvb1nsjn1dd6c32xk0lbi\"},{\"name\":\"ENTRYTYPE=\",\"optional\":true,\"aliases\":[\"ETYPE=\",\"ET=\"],\"description\":\"specifies a catalog entry type to exclude from uploading. Examples of catalog entry types include FORMAT and DATA.\",\"help\":\"ENTRYTYPE=*etype*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n153joy4tq8iwnn1ljkawadfjgaa\"}],\"supportSiteTargetFile\":\"n00m79lug7e223n0zem0vkpibk99.htm\"}],\"supportSiteInformation\":{\"docsetId\":\"viyaconnref\",\"docsetVersion\":\"v_007\",\"docsetTargetFile\":\"n0neh3awe5h31an10tk116znn4lr.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/VARCLUS.json",
    "content": "{\"name\":\"VARCLUS\",\"statements\":[{\"name\":\"PROC VARCLUS\",\"description\":\"The VARCLUS procedure divides a set of numeric variables into disjoint or hierarchical clusters.\",\"help\":\"PROC VARCLUS <CENTROID><CORR><COVARIANCE><DATA=SAS-data-set><HIERARCHY><INITIAL=GROUP | INPUT | RANDOM... ><MAXCLUSTERS=n><MAXEIGEN=n><MAXITER=n><MAXSEARCH=n><MINCLUSTERS=n><MULTIPLEGROUP><NOINT><NOPRINT><OUTSTAT=SAS-data-set><OUTTREE=SAS-data-set><PLOTS=ALL | MAXPOINTS=|MAXPTS= | DENDROGRAM... ><PROPORTION=n><RANDOM=n><SHORT><SIMPLE><SUMMARY><TRACE><VARDEF=DF | N | WDF... >;     \\n\\tBY <DESCENDING><NOTSORTED> ;\\n\\n\\tFREQ variable ;\\n\\n\\tPARTIAL variable ;\\n\\n\\tSEED variables ;\\n\\n\\tVAR variables ;\\n\\n\\tWEIGHT variables;\\n\",\"arguments\":[{\"name\":\"CENTROID\",\"optional\":true,\"description\":\"Uses centroid components rather than principal components.\",\"type\":\"standalone\"},{\"name\":\"CORR\",\"optional\":true,\"description\":\"Displays the correlation matrix.\",\"type\":\"standalone\"},{\"name\":\"COVARIANCE\",\"optional\":true,\"aliases\":[\"COV\"],\"description\":\"Analyzes the covariance matrix instead of the correlation matrix.\",\"type\":\"standalone\"},{\"name\":\"DATA=\",\"optional\":true,\"description\":\"Specifies the SAS data set to be analyzed.\",\"help\":\"DATA=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"HIERARCHY\",\"optional\":true,\"aliases\":[\"HI\"],\"description\":\"Requires the clusters at different levels to maintain a hierarchical structure. To draw a tree diagram, use the OUTTREE= option and the TREE procedure.\",\"type\":\"standalone\"},{\"name\":\"INITIAL=\",\"optional\":true,\"description\":\"Specifies the method for initializing the clusters.\",\"help\":\"INITIAL=GROUP | INPUT | RANDOM | SEED\",\"type\":\"choice\",\"arguments\":[{\"name\":\"GROUP\",\"description\":\"Obtains the cluster membership of each variable from an observation in the DATA= data set where the _TYPE_ variable has a value of 'GROUP'.\",\"type\":\"standalone\"},{\"name\":\"INPUT\",\"description\":\"Obtains scoring coefficients for the cluster components from observations in the DATA= data set where the _TYPE_ variable has a value of 'SCORE'.\",\"type\":\"standalone\"},{\"name\":\"RANDOM\",\"description\":\"Assigns variables randomly to clusters.\",\"type\":\"standalone\"},{\"name\":\"SEED\",\"description\":\"Initializes each cluster component to be one of the variables named in the SEED statement.\",\"type\":\"standalone\"}]},{\"name\":\"MAXCLUSTERS=\",\"optional\":true,\"aliases\":[\"MAXC=\"],\"description\":\"Specifies the largest number of clusters desired. The default value is the number of variables.\",\"help\":\"MAXCLUSTERS=*n*\",\"type\":\"value\"},{\"name\":\"MAXEIGEN=\",\"optional\":true,\"description\":\"Specifies that when choosing a cluster to split, VARCLUS should choose the cluster with the largest second eigenvalue, provided that its second eigenvalue is greater than the MAXEIGEN= value.\",\"help\":\"MAXEIGEN=*n*\",\"type\":\"value\"},{\"name\":\"MAXITER=\",\"optional\":true,\"description\":\"Specifies the maximum number of iterations during the NCS phase. The default value is 1 if you specify the CENTROID option; the default is 10 otherwise.\",\"help\":\"MAXITER=*n*\",\"type\":\"value\"},{\"name\":\"MAXSEARCH=\",\"optional\":true,\"description\":\"Specifies the maximum number of iterations during the search phase. The default is 1000 divide by the number of variables.\",\"help\":\"MAXSEARCH=*n*\",\"type\":\"value\"},{\"name\":\"MINCLUSTERS=\",\"optional\":true,\"aliases\":[\"MINC=\"],\"description\":\"Specifies the smallest number of clusters desired. The default value is 2 for INITIAL=RANDOM or INITIAL=SEED; otherwise, VARCLUS begins with one cluster and tries to split it in accordance with the PROPORTION= and/or MAXEIGEN= options.\",\"help\":\"MINCLUSTERS=*n*\",\"type\":\"value\"},{\"name\":\"MULTIPLEGROUP\",\"optional\":true,\"aliases\":[\"MG\"],\"description\":\"Performs a multiple group component analysis.\",\"type\":\"standalone\"},{\"name\":\"NOINT\",\"optional\":true,\"description\":\"Requests that no intercept be used; covariances or correlations are not corrected for the mean.\",\"type\":\"standalone\"},{\"name\":\"NOPRINT\",\"optional\":true,\"description\":\"Suppresses displayed output. Note that this option temporarily disables the Output Delivery System (ODS).\",\"type\":\"standalone\"},{\"name\":\"OUTSTAT=\",\"optional\":true,\"description\":\"Creates an output data set to contain statistics including means, standard deviations, correlations, cluster scoring coefficients, and the cluster structure.\",\"help\":\"OUTSTAT=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"OUTTREE=\",\"optional\":true,\"description\":\"Creates an output data set to contain information on the tree structure that can be used by the TREE procedure to display a tree diagram.\",\"help\":\"OUTTREE=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"PLOTS=\",\"optional\":true,\"description\":\"Syntax: PLOTS <(global-plot-options)> <= plot-request > PLOTS <(global-plot-options)> <= (plot-request <... plot-request >)> Controls the plots produced through ODS Graphics.\",\"help\":\"PLOTS=ALL | MAXPOINTS=|MAXPTS= | DENDROGRAM | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ALL\",\"description\":\"Produces all plots, which for PROC VARCLUS is only a dendrogram.\",\"type\":\"standalone\"},{\"name\":\"MAXPOINTS=\",\"description\":\"Syntax: MAXPOINTS=n | MAXPTS=n Suppresses the dendrogram when the number of variables (clusters) exceeds the n value. This prevents an unreadable plot from being produced. The default is MAXPOINTS=200.\",\"help\":\"MAXPOINTS=|MAXPTS=\",\"type\":\"choice\"},{\"name\":\"DENDROGRAM\",\"description\":\"Syntax: DENDROGRAM <( dendrogram-options )> Requests a dendrogram and specifies dendrogram-options. Unlike most graphs, the size of the dendrogram can vary as a function of the number of objects that appear in the dendrogram. You can specify the following dendrogram-options to control the size and appearance of the dendrogram: COMPUTEHEIGHT=a b |CH=a b specifies the constants for computing the height of the dendrogram. For n points being clustered, intercept a, and slope b, the height is based in part on a + bn. For a horizontal dendrogram, the default (given in pixels) is COMPUTEHEIGHT=100 12, the default height in pixels is max(100 + 12n, 480), the default height in inches is max(1.04167 + 0.125n, 5), and the default height in centimeters is max(2.64583 + 0.3175n, 12.7). For a vertical dendrogram, the default height is 480 pixels. The default unit is pixels, and you can use the UNIT= dendrogram-option to change the unit to inches or centimeters for this option. Inches equals pixels divided by 96, and centimeters equals inches times 2.54. COMPUTEWIDTH=a b |CW=a b specifies the constants for computing the width of the dendrogram. For n points being clustered, intercept a, and slope b, the width is based in part on . For a vertical dendrogram, the default (given in pixels) is COMPUTEWIDTH=100 12, the default width in pixels is max(100 + 12n, 640), the default width in inches is max(1.04167 + 0.125n, 6.66667), and the default width in centimeters is max(2.64583 + 0.3175n, 16.933). For a horizontal dendrogram, the default width is 640 pixels. The default unit is pixels, and you can use the UNIT= dendrogram-option to change the unit to inches or centimeters for this option. Inches equals pixels divided by 96, and centimeters equals inches times 2.54. HEIGHT=PROPORTION | NCL | VAREXP or H=P | N | V specifies the method for drawing the height of the dendrogram. HEIGHT=PROPORTION is the default. HEIGHT=PROPORTION specifies that the total proportion of variance explained by the clusters at the current level of the tree is used. HEIGHT=NCL specifies that the number of clusters is used. HEIGHT=VAREXP specifies that the total variance explained by the clusters at the current level of the tree is used. HORIZONTAL | VERTICAL specifies either a horizontal dendrogram with the objects on the vertical axis (HORIZONTAL) or a vertical dendrogram with the objects on the horizontal axis (VERTICAL). The default is HORIZONTAL. SETHEIGHT=height SH=height specifies the height of the dendrogram. By default, the height is based on the COMPUTEHEIGHT= option. The default unit is pixels, and you can use the UNIT= dendrogram-option to change the unit to inches or centimeters for this dendrogram-option. SETWIDTH=width SW=width specifies the width of the dendrogram. By default, the width is based on the COMPUTEWIDTH= option. The default unit is pixels, and you can use the UNIT= dendrogram-option to change the unit to inches or centimeters for this dendrogram-option. UNIT=PX | IN | CM specifies the unit (pixels, inches, or centimeters) for the SETHEIGHT=, SETWIDTH=, COMPUTEHEIGHT=, and COMPUTEWIDTH= dendrogram-options.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"Suppresses all plots.\",\"type\":\"standalone\"}]},{\"name\":\"PROPORTION=\",\"optional\":true,\"aliases\":[\"PERCENT=\"],\"description\":\"Specifies that when choosing a cluster to split, VARCLUS should choose the cluster with the smallest proportion of variation explained, provided that its proportion of variation explained is less than the PROPORTION= value.\",\"help\":\"PROPORTION=*n*\",\"type\":\"value\"},{\"name\":\"RANDOM=\",\"optional\":true,\"description\":\"Specifies a positive integer as a starting value for use with REPLACE=RANDOM.\",\"help\":\"RANDOM=*n*\",\"type\":\"value\"},{\"name\":\"SHORT\",\"optional\":true,\"description\":\"Suppresses display of the cluster structure, scoring coefficient, and intercluster correlation matrices.\",\"type\":\"standalone\"},{\"name\":\"SIMPLE\",\"optional\":true,\"description\":\"Displays means and standard deviations.\",\"type\":\"standalone\"},{\"name\":\"SUMMARY\",\"optional\":true,\"description\":\"Suppresses all default displayed output except the final summary table.\",\"type\":\"standalone\"},{\"name\":\"TRACE\",\"optional\":true,\"description\":\"Displays the cluster to which each variable is assigned during the iterations.\",\"type\":\"standalone\"},{\"name\":\"VARDEF=\",\"optional\":true,\"description\":\"Specifies the divisor to be used in the calculation of variances and covariances. By default, VARDEF=DF.\",\"help\":\"VARDEF=DF | N | WDF | WEIGHT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DF\",\"description\":\"Degrees of freedom\",\"type\":\"standalone\"},{\"name\":\"N\",\"description\":\"Number of observations\",\"type\":\"standalone\"},{\"name\":\"WDF\",\"description\":\"Sum of weights minus 1\",\"type\":\"standalone\"},{\"name\":\"WEIGHT\",\"description\":\"Sum of weights\",\"type\":\"standalone\"}]}]},{\"name\":\"BY\",\"description\":\"Obtains separate analyses on observations in groups defined by the BY variables.\",\"help\":\"BY &lt;DESCENDING&gt;&lt;NOTSORTED&gt;\",\"arguments\":[{\"name\":\"DESCENDING\",\"optional\":true,\"description\":\"Specifies that the observations are sorted in descending order by the variable that immediately follows the word DESCENDING in the BY statement.\",\"type\":\"standalone\"},{\"name\":\"NOTSORTED\",\"optional\":true,\"description\":\"Specifies that observations are not necessarily sorted in alphabetic or numeric order.\",\"type\":\"standalone\"}]},{\"name\":\"FREQ\",\"description\":\"If a variable in your data set represents the frequency of occurrence for the other values in the observation, include the variable’s name in a FREQ statement. The procedure then treats the data set as if each observation appears n times, where n is the value of the FREQ variable for the observation\",\"help\":\"FREQ variable \"},{\"name\":\"PARTIAL\",\"description\":\"If you want to base the clustering on partial correlations, list the variables to be partialed out in the PARTIAL statement.\",\"help\":\"PARTIAL variable \"},{\"name\":\"SEED\",\"description\":\"The SEED statement specifies variables to be used as seeds to initialize the clusters. It is not necessary to use INITIAL=SEED if the SEED statement is present, but if any other INITIAL= option is specified, the SEED statement is ignored.\",\"help\":\"SEED variables \"},{\"name\":\"VAR\",\"description\":\"The VAR statement specifies the variables to be clustered. If you do not specify the VAR statement and do not specify TYPE=SSCP, all numeric variables not listed in other statements (except the SEED statement) are processed.\",\"help\":\"VAR variables \"},{\"name\":\"WEIGHT\",\"description\":\"If you want to specify relative weights for each observation in the input data set, place the weights in a variable in the data set and specify the name in a WEIGHT statement. This is often done when the variance associated with each observation is different and the values of the weight variable are proportional to the reciprocals of the variances.\",\"help\":\"WEIGHT variables\"}],\"supportSiteInformation\":{\"docsetId\":\"statug\",\"docsetVersion\":\"latest\",\"docsetTargetFile\":\"statug_varclus_toc.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/VARCOMP.json",
    "content": "{\"name\":\"VARCOMP\",\"statements\":[{\"name\":\"PROC VARCOMP\",\"description\":\"The VARCOMP procedure handles general linear models that have random effects. Random effects are classification effects with levels that are assumed to be randomly selected from an infinite population of possible levels. PROC VARCOMP estimates the contribution of each of the random effects to the variance of the dependent variable. † A single MODEL statement specifies the dependent variables and the effects: main effects, interactions, and nested effects. The effects must be composed of classification variables; no continuous variables are allowed on the right side of the equal sign.\",\"help\":\"PROC VARCOMP <DATA=SAS-data-set><EPSILON=number><MAXITER=number><METHOD=TYPE1 | MIVQUE0 | ML... >;     \\n\\tBY <DESCENDING><NOTSORTED> ;\\n\\n\\tCLASS variables ;\\n\\n\\tMODEL <ALPHA=α><CL=<MLS | GCL>><FIXED=n> ...;\\n\",\"arguments\":[{\"name\":\"DATA=\",\"optional\":true,\"description\":\"Specifies the input SAS data set to use. If this option is omitted, the most recently created SAS data set is used.\",\"help\":\"DATA=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"EPSILON=\",\"optional\":true,\"description\":\"Specifies the convergence value of the objective function for METHOD=ML or METHOD=REML. By default, EPSILON=1E-8.\",\"help\":\"EPSILON=*number*\",\"type\":\"value\"},{\"name\":\"MAXITER=\",\"optional\":true,\"description\":\"Specifies the maximum number of iterations for METHOD=ML or METHOD=REML. By default, MAXITER=50.\",\"help\":\"MAXITER=*number*\",\"type\":\"value\"},{\"name\":\"METHOD=\",\"optional\":true,\"description\":\"Specifies which of the five methods (TYPE1, MIVQUE0, ML, REML, or GRR) you want to use.\",\"help\":\"METHOD=TYPE1 | MIVQUE0 | ML | REML | GRR\",\"type\":\"choice\",\"arguments\":[{\"name\":\"TYPE1\",\"description\":\"Applies to any random-effects model and design.\",\"type\":\"standalone\"},{\"name\":\"MIVQUE0\",\"description\":\"Applies to any random-effects model and design.\",\"type\":\"standalone\"},{\"name\":\"ML\",\"description\":\"Applies to any random-effects model and design.\",\"type\":\"standalone\"},{\"name\":\"REML\",\"description\":\"Applies to any random-effects model and design.\",\"type\":\"standalone\"},{\"name\":\"GRR\",\"description\":\"[Syntax: GRR<(options)>] Provides a specialized analysis only for certain designs. You can specify the following options in parentheses after METHOD=GRR. SPECLIMITS=(LSL,USL,<k>) SL=(LSL,USL,<k>) specifies the specification limits for the first random factor, which is regarded as the product being tested in the gauge R and R study. RATIO specifies that certain additional ratios of variance components should also be computed and displayed, such as proportion of total variance due to the process.\",\"type\":\"standalone\"}]}]},{\"name\":\"BY\",\"description\":\"You can specify a BY statement with PROC VARCOMP to obtain separate analyses on observations in groups that are defined by the BY variables. When a BY statement appears, the procedure expects the input data set to be sorted in order of the BY variables. If you specify more than one BY statement, only the last one specified is used.\",\"help\":\"BY &lt;DESCENDING&gt;&lt;NOTSORTED&gt;\",\"arguments\":[{\"name\":\"DESCENDING\",\"optional\":true,\"description\":\"Specifies that the observations are sorted in descending order by the variable that immediately follows the word DESCENDING in the BY statement.\",\"type\":\"standalone\"},{\"name\":\"NOTSORTED\",\"optional\":true,\"description\":\"Specifies that observations are not necessarily sorted in alphabetic or numeric order.\",\"type\":\"standalone\"}]},{\"name\":\"CLASS\",\"description\":\"The CLASS statement specifies the classification variables to be used in the analysis. All effects in the MODEL statement must be composed of effects that appear in the CLASS statement. Classification variables can be either numeric or character; if they are character, only the first 16 characters are used. Numeric classification variables are not restricted to integers since a variable’s format determines the levels.\",\"help\":\"CLASS variables \"},{\"name\":\"MODEL\",\"description\":\"The MODEL statement gives the dependent variables and independent effects. If you specify more than one dependent variable, a separate analysis is performed for each one. The independent effects are limited to main effects, interactions, and nested effects; no continuous effects are allowed. All independent effects must be composed of effects that appear in the CLASS statement. Effects are specified in the VARCOMP procedure in the same way as described for the ANOVA procedure. Only one MODEL statement is allowed.\",\"help\":\"MODEL &lt;ALPHA=α&gt;&lt;CL=&lt;MLS | GCL&gt;&gt;&lt;FIXED=n&gt; ...\",\"arguments\":[{\"name\":\"ALPHA=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the level of significance α for (1-α)100% two-sided confidence limits. The value of α must be between 0 and 1. By default, α is equal to 0.05.\",\"type\":\"value\"},{\"name\":\"CL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies that confidence limits for all of the parameters of interest should be computed and displayed. It also optionally specifies the method to use for computing the confidence limits.\",\"help\":\"CL=MLS | GCL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"MLS\",\"followsDelimiter\":\"/\",\"description\":\"Specifies the modified large-sample (MLS) method for computing the confidence limits.\",\"type\":\"standalone\"},{\"name\":\"GCL\",\"followsDelimiter\":\"/\",\"description\":\"Specifies the generalized confidence limits (GCL) method for computing the confidence limits. You can specify the following options in parentheses after CL=GCL. NSAMPLE=n specifies the sample size for generalized pivot quantities (GPQ) sampling. The default value is 12,605. EPSILON=number specifies a small positive value used in some GPQ computations. The default value is 0.001.\",\"type\":\"standalone\"}]},{\"name\":\"FIXED=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies that the first n effects in the MODEL statement are fixed effects.\",\"help\":\"FIXED=*n*\",\"type\":\"value\"}]}],\"supportSiteInformation\":{\"docsetId\":\"statug\",\"docsetVersion\":\"latest\",\"docsetTargetFile\":\"statug_varcomp_toc.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/VARIMPUTE.json",
    "content": "{\"name\":\"VARIMPUTE\",\"statements\":[{\"name\":\"PROC VARIMPUTE\",\"description\":\"The VARIMPUTE procedure performs variable imputation on a data table. Imputation is a common step in data preparation.\",\"help\":\"PROC VARIMPUTE  DATA=libref.data-table{ <options>};                 \\n\\tCODE <options>;                 \\n\\n\\tFREQ  variable;                 \\n\\n\\tINPUT  variables </options>;                 \\n\\n\\tOUTPUT  OUT=libref.data-table<option>;                 \\n\\n\\tWEIGHT  variable;                 \\n\",\"arguments\":[{\"name\":\"DATA=\",\"optional\":true,\"description\":\"names the input data table for PROC VARIMPUTE to use\",\"help\":\"DATA=*libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"NTHREADS=\",\"optional\":true,\"description\":\"specifies the number of threads to be used\",\"help\":\"NTHREADS=*number-of-threads*\",\"type\":\"value\"},{\"name\":\"SEED=\",\"optional\":true,\"description\":\"specifies an integer that is used to start the pseudorandom number generator\",\"help\":\"SEED=*random-seed*\",\"type\":\"value\"}]},{\"name\":\"CODE\",\"description\":\"writes SAS DATA step code for computing predicted values of the fitted model to a file or to a table\",\"help\":\"CODE &lt;options&gt;;                                              \",\"arguments\":[{\"name\":\"COMMENT\",\"optional\":true,\"description\":\"Adds comments to the generated code\",\"type\":\"standalone\"},{\"name\":\"FILE=\",\"optional\":true,\"description\":\"Names the file in which to save the generated code\",\"help\":\"FILE=*filename*\",\"type\":\"value\"},{\"name\":\"FORMATWIDTH=\",\"optional\":true,\"description\":\"Specifies the numeric format width for the regression coefficients\",\"help\":\"FORMATWIDTH=*width*\",\"type\":\"value\"},{\"name\":\"INDENTSIZE=\",\"optional\":true,\"description\":\"Specifies the number of spaces to indent the generated code\",\"help\":\"INDENTSIZE=*n*\",\"type\":\"value\"},{\"name\":\"LABELID=\",\"optional\":true,\"description\":\"Specifies a number used to construct names and labels\",\"help\":\"LABELID=*value*\",\"type\":\"value\"},{\"name\":\"LINESIZE=\",\"optional\":true,\"description\":\"Specifies the line size for the generated code\",\"help\":\"LINESIZE=*value*\",\"type\":\"value\"},{\"name\":\"NOTRIM\",\"optional\":true,\"description\":\"Compares formatted values, including blank padding\",\"type\":\"standalone\"},{\"name\":\"OUT=\",\"optional\":true,\"description\":\"Names an output table in which to save the generated code\",\"help\":\"OUT=*libref.data-table*\",\"type\":\"dataSet\"}]},{\"name\":\"FREQ\",\"description\":\"identifies a numeric variable in the input data table that contains the frequency of occurrence of each observation\",\"help\":\"FREQ  variable;                                              \"},{\"name\":\"INPUT\",\"description\":\"names one or more input variables and specifies the method that is used to impute missing values\",\"help\":\"INPUT  variables &lt;/options&gt;;                                              \",\"arguments\":[{\"name\":\"CONTINUOUSTECH=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"CTECH=\"],\"description\":\"specifies the imputation method for interval variables\",\"help\":\"CONTINUOUSTECH=*imputation-method*\",\"type\":\"value\"},{\"name\":\"NOMINALTECH=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"NTECH=\"],\"description\":\"specifies the imputation method for nominal variables\",\"help\":\"NOMINALTECH=*imputation-method*\",\"type\":\"value\"}]},{\"name\":\"OUTPUT\",\"description\":\"creates an output data table to contain the results of PROC VARIMPUTE\",\"help\":\"OUTPUT  OUT=*libref.data-table*&lt;option&gt;;                                              \",\"arguments\":[{\"name\":\"OUT=\",\"description\":\"names the output data table for PROC VARIMPUTE to use\",\"help\":\"OUT=*libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"COPYVAR=\",\"optional\":true,\"aliases\":[\"COPYVARS=\"],\"description\":\"lists one or more variables from the input data table to be transferred to the output data table\",\"help\":\"COPYVAR={*variable*}\",\"type\":\"value\"}]},{\"name\":\"WEIGHT\",\"description\":\"variable is used to weight each observation to perform a weighted analysis of the data\",\"help\":\"WEIGHT  variable;                                              \"}],\"supportSiteInformation\":{\"docsetId\":\"casstat\",\"docsetVersion\":\"latest\",\"docsetTargetFile\":\"casstat_varimpute_toc.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/VARIOGRAM.json",
    "content": "{\"name\":\"VARIOGRAM\",\"statements\":[{\"name\":\"PROC VARIOGRAM\",\"description\":\"The VARIOGRAM procedure computes empirical measures of spatial continuity for two-dimensional spatial data. These measures are a function of the distances between the sample data pairs. When the data are free of nonrandom (or systematic) surface trends, the estimated continuity measures are the empirical semivariance and covariance. The procedure also fits permissible theoretical models to the empirical semivariograms, so that you can use them in subsequent analysis to perform spatial prediction. You can produce plots of the empirical semivariograms in addition to plots of the fitted models. Both isotropic and anisotropic continuity measures are available. † PROC VARIOGRAM also provides the Moran’s I and Geary’s c spatial autocorrelation statistics, in addition to the Moran scatter plot to visualize spatial associations within a specified neighborhood around observations. The procedure produces the OUTVAR=, OUTPAIR=, and OUTDISTANCE= data sets that contain information about the semivariogram analysis. Also, the OUTACWEIGHTS= and the OUTMORAN= output data sets contain information about the autocorrelation analysis. † The VARIOGRAM procedure now uses ODS Graphics to create graphs as part of its output.\",\"help\":\"PROC VARIOGRAM <DATA=SAS-data-set><NOPRINT><OUTACWEIGHTS=SAS-data-set><OUTDISTANCE=SAS-data-set><OUTPAIR=SAS-data-set><OUTVAR=SAS-data-set><PLOTS=ALL | EQUATE | FITPLOT|FIT... >;     \\n\\tBY <DESCENDING><NOTSORTED> ;\\n\\n\\tCOMPUTE <ALPHA=number><ANGLETOLERANCE=angle tolerance><AUTOCORRELATION <(autocorrelation-options)> Experimental> ...;\\n\\n\\tCOORDINATES <XCOORD= (variable-name)><YCOORD= (variable-name)> ;\\n\\n\\tDIRECTIONS directions-list ;\\n\\n\\tID variable ;\\n\\n\\tMODEL ALPHA=number CHOOSE=AIC|SSE|STATUS  CL ...;\\n\\n\\tNLOPTIONS <ABSCONV= | ABSTOL=r><ABSFCONV=r <n> | ABSFTOL=r<n>><ABSGCONV= | ABSGTOL=r <n>> ...;\\n\\n\\tPARMS <HOLD=value-list><LOWERB=value-list><MAXSCALE=maxscale> ...;\\n\\n\\tSTORE <LABEL=store-label> OUT=store-name ;\\n\\n\\tVAR analysis-variables-list ;\\n\",\"arguments\":[{\"name\":\"DATA=\",\"optional\":true,\"description\":\"Specifies a SAS data set containing the x and y coordinate variables and the VAR statement variables.\",\"help\":\"DATA=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"NOPRINT\",\"optional\":true,\"description\":\"Suppresses the normal display of results.\",\"type\":\"standalone\"},{\"name\":\"OUTACWEIGHTS=\",\"optional\":true,\"aliases\":[\"OUTACW=\",\"OUTA=\"],\"description\":\"Specifies a SAS data set in which to store the autocorrelation weights information for each pair of points in the DATA= data set.\",\"help\":\"OUTACWEIGHTS=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"OUTDISTANCE=\",\"optional\":true,\"aliases\":[\"OUTDIST=\",\"OUTD=\"],\"description\":\"Specifies a SAS data set in which to store summary distance information.\",\"help\":\"OUTDISTANCE=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"OUTPAIR=\",\"optional\":true,\"aliases\":[\"OUTP=\"],\"description\":\"Specifies a SAS data set in which to store distance and angle information for each pair of points in the DATA= data set.\",\"help\":\"OUTPAIR=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"OUTVAR=\",\"optional\":true,\"aliases\":[\"OUTVR=\"],\"description\":\"Specifies a SAS data set in which to store the continuity measures.\",\"help\":\"OUTVAR=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"PLOTS=\",\"optional\":true,\"description\":\"Syntax: PLOTS <(global-plot-options)> <= plot-request <(options)>> PLOTS <(global-plot-options)> <= (plot-request <(options)> <... plot-request <(options)>>)> Controls the plots produced through ODS Graphics. The global-plot-options include the following: ONLY suppresses the default plots. Only plots specifically requested are displayed.\",\"help\":\"PLOTS=ALL | EQUATE | FITPLOT|FIT | MORAN | NONE | OBSERVATIONS|OBSERV|OBS | PAIRS | SEMIVARIOGRAM|SEMIVAR\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ALL\",\"description\":\"Produces all appropriate plots.\",\"type\":\"standalone\"},{\"name\":\"EQUATE\",\"description\":\"Specifies that all appropriate plots be produced in a way that the axes coordinates have equal size units.\",\"type\":\"standalone\"},{\"name\":\"FITPLOT\",\"aliases\":[\"FIT\"],\"description\":\"[Syntax: FITPLOT <(fitplot-options)> Requests a plot that shows the model fitting results against the empirical semivariogram. By default, FITPLOT displays one plot of the fitted model (or a panel of plots for different angles in the anisotropic case). You can specify the following fitplot-options: NCLASSES=number | NCLASSES=ALL specifies the maximum number of classes to display on the fit plot, where number is a positive integer. The default is NCLASSES=5 for nonpaneled plots and NCLASSES=3 for paneled plots. The option takes effect when you specify the FORM=AUTO option in the MODEL statement, and it is ignored when you fit one single model. If you specify NCLASSES=ALL or a larger number than the available classes, then all available classes are shown on the fit plot. If you specify multiple instances of the NCLASSES= option, then only the last specified instance is honored. UNPACK suppresses paneling in paneled fit plots. By default, fit plots appear in a panel, when appropriate.\",\"type\":\"standalone\"},{\"name\":\"MORAN\",\"description\":\"[Syntax: MORAN <(moran-options)> Produces a Moran scatter plot of the observations with nonmissing values. In addition to the Moran scatter plot points, the plot also displays the fit line for the linear regression of the weighted average on the standardized observation values, the regression fit line slope, and a reference line with slope equal to 1. The MORAN plot has the following moran-options: LABEL < ( label-options ) > labels the observations. The label is the ID variable if the ID statement is specified; otherwise, it is the observation number. The label-options can be one or more of the following: HH -- specifies that labels show for observations in the upper right (high-high) plot quadrant of positive spatial association. HL -- specifies that labels show for observations in the lower right (high-low) plot quadrant of negative spatial association. LH -- specifies that labels show for observations in the upper left (low-high) plot quadrant of negative spatial association. LL -- specifies that labels show for observations in the lower left (low-low) plot quadrant of positive spatial association. If you specify multiple instances of the MORAN option and you specify the LABEL suboption in any of those, then the resulting Moran scatter plot displays the observations labels. By default, when you specify none of the label-options, the PLOTS=MORAN(LABEL) request puts labels in all observations. ROWAVG=rowavg-option specifies the flag value for row-averaging of weights in the computation of the weighted average. The rowavg-option can be either of the following: OFF -- specifies that autocorrelation weights not be row-averaged. ON -- specifies that row-averaged autocorrelation weights be used. The default behavior is ROWAVG=ON.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"Suppresses all plots.\",\"type\":\"standalone\"},{\"name\":\"OBSERVATIONS\",\"aliases\":[\"OBSERV\",\"OBS\"],\"description\":\"[Syntax: OBSERVATIONS<(observations-plot-options)>] Produces the observed data plot. The OBSERVATIONS option has the following suboptions: GRADIENT specifies that observations be displayed as circles colored by the observed measurement. OUTLINE specifies that observations be displayed as circles with a border but with a completely transparent fill. OUTLINEGRADIENT is the same as OBSERVATIONS(GRADIENT) except that a border is shown around each observation. SHOWMISSING specifies that observations with missing values be displayed in addition to the observations with nonmissing values.\",\"type\":\"standalone\"},{\"name\":\"PAIRS\",\"description\":\"[Syntax: PAIRS<(pairs-plot-options)>] Specifies that the pairwise distances histogram be produced. The PAIRS option has the following suboptions: MIDPOINT specifies that the plot created with the PAIRS option display the lag class midpoint value on the horizontal axis, rather than the default lag class number. NOINSET specifies that the plot created with the PAIRS option be produced without the default inset that provides additional information about the pairs distribution. THRESHOLD=minimum pairs specifies that a reference line appear in the plot created with the PAIRS option to indicate the minimum pairs frequency of data pairs.\",\"type\":\"standalone\"},{\"name\":\"SEMIVARIOGRAM\",\"aliases\":[\"SEMIVAR\"],\"description\":\"[Syntax: SEMIVARIOGRAM<(semivar-plot-options)>] Specifies that the empirical semivariogram plot be produced. You can specify the SEMIVAR option multiple times in the same PLOTS option to request instances of plots with the following semivar-plot-options: ALL | CLASSICAL | ROBUST ALL | CLA | ROB specifies a single type of empirical semivariogram (classical or robust) to plot, or specifies that all the available types be included in the same plot. The default is ALL. UNPACKPANEL | UNPACK specifies that paneled semivariogram plots be displayed separately. By default, plots appear in a panel, when appropriate.\",\"type\":\"standalone\"}]}]},{\"name\":\"BY\",\"description\":\"You can specify a BY statement with PROC VARIOGRAM to obtain separate analyses on observations in groups that are defined by the BY variables. When a BY statement appears, the procedure expects the input data set to be sorted in order of the BY variables. If you specify more than one BY statement, only the last one specified is used.\",\"help\":\"BY &lt;DESCENDING&gt;&lt;NOTSORTED&gt;\",\"arguments\":[{\"name\":\"DESCENDING\",\"optional\":true,\"description\":\"Specifies that the observations are sorted in descending order by the variable that immediately follows the word DESCENDING in the BY statement.\",\"type\":\"standalone\"},{\"name\":\"NOTSORTED\",\"optional\":true,\"description\":\"Specifies that observations are not necessarily sorted in alphabetic or numeric order.\",\"type\":\"standalone\"}]},{\"name\":\"COMPUTE\",\"description\":\"The COMPUTE statement provides a number of options that control the computation of the semivariance, the robust semivariance, and the covariance.\",\"help\":\"COMPUTE &lt;ALPHA=number&gt;&lt;ANGLETOLERANCE=angle tolerance&gt;&lt;AUTOCORRELATION &lt;(autocorrelation-options)&gt; Experimental&gt; ...\",\"arguments\":[{\"name\":\"ALPHA=\",\"optional\":true,\"description\":\"Specifies a parameter to obtain the confidence level for constructing confidence limits in the classical empirical semivariance estimation. The value of number must be between 0 and 1, and the confidence level is 1-number. The default is ALPHA=0.05, which corresponds to the default confidence level of 95%.\",\"help\":\"ALPHA=*number*\",\"type\":\"value\"},{\"name\":\"ANGLETOLERANCE=\",\"optional\":true,\"aliases\":[\"ANGLETOL=\",\"ATOL=\"],\"description\":\"Specifies the tolerance, in degrees, around the angles determined by the NDIRECTIONS= specification.\",\"type\":\"value\"},{\"name\":\"AUTOCORRELATION\",\"optional\":true,\"aliases\":[\"AUTOCORR\",\"AUTOC\"],\"description\":\"specifies that autocorrelation statistics be calculated.\",\"help\":\"AUTOCORRELATION&lt;(ASSUMPTION=NORMALITY | RANDOMIZATION&gt; &lt;STATISTICS=ALL | GEARY | MORAN&gt;&lt;WEIGHTS=BINARY&lt;(ROWAVERAGING)&gt; | DISTANCE&lt;(NORMALIZE | POWER=*number* | ROWAVERAGING | SCALE=*number*&gt;)&gt;\",\"type\":\"standaloneOrValue\",\"arguments\":[{\"name\":\"ASSUMPTION=\",\"description\":\"specifies the type of autocorrelation assumption to use\",\"help\":\"ASSUMPTION=NORMALITY | RANDOMIZATION\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NORMALITY\",\"aliases\":[\"NORMAL\",\"NOR\"],\"description\":\"specifies use of the normality assumption.\",\"type\":\"standalone\"},{\"name\":\"RANDOMIZATION\",\"aliases\":[\"RANDOM\",\"RAN\"],\"description\":\"specifies use of the randomization assumption.\",\"type\":\"standalone\"}]},{\"name\":\"STATISTICS=\",\"description\":\"specifies the autocorrelation statistics in detail.\",\"help\":\"STATISTICS=ALL | GEARY | MORAN\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ALL\",\"description\":\"applies all available types of autoregression statistics.\",\"type\":\"standalone\"},{\"name\":\"GEARY\",\"aliases\":[\"GEA\"],\"description\":\"specifies use of the Geary’s c statistics.\",\"type\":\"standalone\"},{\"name\":\"MORAN\",\"aliases\":[\"MOR\"],\"description\":\"specifies use of the Moran’s I statistics.\",\"type\":\"standalone\"}]},{\"name\":\"WEIGHTS=\",\"description\":\"specifies the scheme used for the computation of the autocorrelation weights.\",\"help\":\"WEIGHTS=BINARY&lt;(ROWAVERAGING)&gt; | DISTANCE&lt;(NORMALIZE | POWER=*number* | ROWAVERAGING | SCALE=*number*&gt;\",\"type\":\"choice\",\"arguments\":[{\"name\":\"BINARY\",\"description\":\"specifies that binary weights be used.\",\"help\":\"BINARY&lt;(ROWAVERAGING)&gt;\",\"type\":\"standaloneOrValue\",\"arguments\":[{\"name\":\"ROWAVERAGING\",\"aliases\":[\"ROWAVG\",\"ROW\"],\"description\":\"specifies that asymmetric autocorrelation weights be assigned to data pairs.\",\"type\":\"standalone\"}]},{\"name\":\"DISTANCE\",\"description\":\"specifies that autocorrelation weights be assigned based on the point pair distances.\",\"help\":\"DISTANCE&lt;(NORMALIZE | POWER=*number* | ROWAVERAGING | SCALE=*number*&gt;\",\"type\":\"standaloneOrValue\",\"arguments\":[{\"name\":\"NORMALIZE\",\"aliases\":[\"NORMAL\",\"NOR\"],\"description\":\"specifies that normalized pair distances be used in the distance-based weights expression.\",\"type\":\"standalone\"},{\"name\":\"POWER=\",\"aliases\":[\"POW\"],\"description\":\"specifies the power to which the pair distance is raised in the distance-based weights expression.\",\"help\":\"POWER=*number*\",\"type\":\"value\"},{\"name\":\"ROWAVERAGING\",\"aliases\":[\"ROWAVG\",\"ROW\"],\"description\":\"specifies that asymmetric autocorrelation weights be assigned to data pairs.\",\"type\":\"standalone\"},{\"name\":\"SCALE=\",\"aliases\":[\"SCA\"],\"description\":\"specifies the scaling factor in the distance-based weights expression.\",\"help\":\"SCALE=*number*\",\"type\":\"value\"}]}]}]},{\"name\":\"BANDWIDTH=\",\"optional\":true,\"aliases\":[\"BANDW=\"],\"description\":\"Specifies the bandwidth, or perpendicular distance cutoff for determining the angle class for a given pair of points.\",\"type\":\"value\"},{\"name\":\"CL\",\"optional\":true,\"description\":\"Requests confidence limits for the classical semivariance estimate.\",\"type\":\"standalone\"},{\"name\":\"DEPSILON=\",\"optional\":true,\"aliases\":[\"DEPS=\"],\"description\":\"Specifies the distance value for declaring that two distinct points are zero distance apart. Such pairs, if they occur, cause numeric problems.\",\"type\":\"value\"},{\"name\":\"LAGDISTANCE=\",\"optional\":true,\"aliases\":[\"LAGDIST=\",\"LAGD=\"],\"description\":\"Specifies the basic distance unit defining the lags. For example, a specification of LAGDISTANCE=x results in lag distance classes that are multiples of x.\",\"type\":\"value\"},{\"name\":\"LAGTOLERANCE=\",\"optional\":true,\"aliases\":[\"LAGTOL=\",\"LAGT=\"],\"description\":\"Specifies the tolerance around the LAGDISTANCE= value for grouping distance pairs into lag classes.\",\"type\":\"value\"},{\"name\":\"MAXLAGS=\",\"optional\":true,\"aliases\":[\"MAXLAG=\",\"MAXL=\"],\"description\":\"Specifies the maximum number of lag classes used in constructing the continuity measures.\",\"type\":\"value\"},{\"name\":\"NDIRECTIONS=\",\"optional\":true,\"aliases\":[\"NDIR=\",\"ND=\"],\"description\":\"Specifies the number of angle classes to use in computing the continuity measures.\",\"type\":\"value\"},{\"name\":\"NHCLASSES=\",\"optional\":true,\"aliases\":[\"NHCLASS=\",\"NHC=\"],\"description\":\"Specifies the number of distance classes to consider in the spatial domain in the exploratory stage of the empirical semivariogram computation.\",\"type\":\"value\"},{\"name\":\"NOVARIOGRAM\",\"optional\":true,\"description\":\"Prevents the computation of the continuity measures. This option is useful for preliminary analysis, or when you require only the OUTDISTANCE= or OUTPAIR= data sets.\",\"type\":\"standalone\"},{\"name\":\"OUTPDISTANCE=\",\"optional\":true,\"aliases\":[\"OUTPDIST=\",\"OUTPD=\"],\"description\":\"Specifies the cutoff distance for writing observations to the OUTPAIR= data set.\",\"type\":\"value\"},{\"name\":\"ROBUST\",\"optional\":true,\"description\":\"Requests that a robust version of the semivariance be calculated in addition to the classical semivariance.\",\"type\":\"standalone\"}]},{\"name\":\"COORDINATES\",\"description\":\"Only one COORDINATES statement is allowed, and it is applied to all PREDICT statements. In other words, it is assumed that all the VAR= variables in all PREDICT statements have the same x and y coordinates.\",\"help\":\"COORDINATES &lt;XCOORD= (variable-name)&gt;&lt;YCOORD= (variable-name)&gt;\",\"arguments\":[{\"name\":\"XCOORD=\",\"optional\":true,\"aliases\":[\"XC=\",\"X=\"],\"description\":\"Specifies the name of the variable containing the x coordinate of the data in the DATA= data set.\",\"type\":\"value\"},{\"name\":\"YCOORD=\",\"optional\":true,\"aliases\":[\"YC=\",\"Y=\"],\"description\":\"Specifies the name of the variable containing the y coordinate of the data in the DATA= data set.\",\"type\":\"value\"}]},{\"name\":\"DIRECTIONS\",\"description\":\"You use the DIRECTIONS statement to define angle classes. You can specify angle classes as a list of angles, separated by commas, with optional angle tolerances and bandwidths within parentheses following the angle. You must specify at least one angle. If you do not specify the optional angle tolerance, the default value of 45° is used. If you do not specify the optional bandwidth, no bandwidth is checked. If you specify a bandwidth, you must also specify an angle tolerance.\",\"help\":\"DIRECTIONS directions-list \"},{\"name\":\"ID\",\"description\":\"The ID statement specifies which variable to include for identification of the observations in the OUTPAIR= and the OUTACWEIGHTS= output data sets. The ID statement variable is also used for the labels and tool tips in the OBSERVATIONS plot. In the VARIOGRAM procedure you can specify only one ID variable in the ID statement. If no ID statement is given, then PROC VARIOGRAM uses the observation number in the data sets and the OBSERVATIONS plot.\",\"help\":\"ID variable \"},{\"name\":\"MODEL\",\"description\":\"You specify the MODEL statement if you want to fit a theoretical semivariogram model to the empirical semivariogram data that are produced in the COMPUTE statement. You must have nonmissing empirical semivariogram estimates at a minimum of three lags to perform model fitting. You can choose to perform a fully automated fitting or to fit one model with specific forms. In the first case you simply specify a list of forms or no forms at all. All suitable combinations are tested, and the result is the model that produces the best fit according to specified criteria. In the second case you specify one theoretical semivariogram model, and you have more control over its parameters for the fitting process.\",\"help\":\"MODEL ALPHA=number CHOOSE=AIC|SSE|STATUS  CL ...\",\"arguments\":[{\"name\":\"ALPHA=\",\"description\":\"Requests that a t-type confidence interval be constructed for each of the fitting parameters with confidence level 1-number. The value of number must be in ; the default is 0.05 which corresponds to the default confidence level of 95%. If the CL option of the MODEL statement is not specified, then ALPHA= is ignored.\",\"help\":\"ALPHA=*number*\",\"type\":\"value\"},{\"name\":\"CHOOSE=\",\"description\":\"Specifies that if the fitting task has more than one model to fit, then PROC VARIOGRAM ranks the fitted models and chooses the optimally fit model according to one or more available criteria.\",\"help\":\"CHOOSE=AIC | SSE | STATUS\",\"type\":\"choice\",\"arguments\":[{\"name\":\"AIC\",\"description\":\"Specifies Akaike’s information criterion.\",\"type\":\"standalone\"},{\"name\":\"SSE\",\"description\":\"Specifies the weighted sum of squares error for each fitted model when METHOD=WLS, and the residual sum of squares error for each fitted model when METHOD=OLS.\",\"type\":\"standalone\"},{\"name\":\"STATUS\",\"description\":\"Classifies models based on their fitting process convergence status. CHOOSE=STATUS places on top models for which the fitting process is successful.\",\"type\":\"standalone\"}]},{\"name\":\"CL\",\"description\":\"Requests that t-type confidence limits be constructed for each of the fitting parametersestimates. The confidence level is 0.95 by default; this can be changed with the ALPHA= option of the MODEL statement.\",\"type\":\"standalone\"},{\"name\":\"EQUIVTOL=\",\"aliases\":[\"ETOL=\"],\"description\":\"Specifies a positive upper value tolerance to use when categorizing multiple models in classes of equivalence. For this categorization, the VARIOGRAM procedure computes the sum of absolute differences of semivariances for pairs of consecutively ranked models. If the sum is lower than the EQUIVTOL= value for any such model pair, then these two models are deemed to be equivalent. As a result, the EQUIVTOL= option can affect the number and size of classes of equivalence in the fit summary table. Smaller values of the EQUIVTOL= parameter result in a more strict model comparison and can lead to a higher number of classes of equivalence.\",\"help\":\"EQUIVTOL=*etol-value*\",\"type\":\"value\"},{\"name\":\"FORM=\",\"description\":\"Specifies the functional form (type) of the semivariogram model. The supported structures are two-parameter models that use the sill and range as parameters. The Matérn model is an exception that makes use of a third smoothing parameter .\",\"type\":\"value\"},{\"name\":\"CORRB\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests the approximate correlation matrix for the parameter estimates of the model fitting. The CORRB option is ignored when you also specify the DETAILS=ALL option.\",\"type\":\"standalone\"},{\"name\":\"COVB\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests the approximate covariance matrix for the parameter estimates of the model fitting. The COVB option is ignored when you also specify the DETAILS=ALL option.\",\"type\":\"standalone\"},{\"name\":\"DETAILS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests different levels of output to be produced during the fitting process.\",\"help\":\"DETAILS=MOD | ITR | ALL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"MOD\",\"followsDelimiter\":\"/\",\"description\":\"Specifies that the default output for all candidate models be produced when the FORM=AUTO option is specified in the MODEL statement. If you fit only one explicit model, then the DETAILS=MOD option has no effect and is ignored.\",\"type\":\"standalone\"},{\"name\":\"ITR\",\"followsDelimiter\":\"/\",\"description\":\"Requests that a complete iteration history be produced in addition to the default output. The output for DETAILS=ITR includes the current values of the parameter estimates, their gradients, and additional optimization statistics.\",\"type\":\"standalone\"},{\"name\":\"ALL\",\"followsDelimiter\":\"/\",\"description\":\"Requests the most detailed level of output when fitting a model. Specifically, except for the default output, the DETAILS=ALL option produces optimization statistics in addition to the combined output of the DETAILS=ITR, COVB, and CORRB options.\",\"type\":\"standalone\"}]},{\"name\":\"FIT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies which type of empirical semivariogram to fit.\",\"help\":\"FIT=CLASSICAL | ROBUST\",\"type\":\"choice\",\"arguments\":[{\"name\":\"CLASSICAL\",\"followsDelimiter\":\"/\",\"aliases\":[\"CLA\"],\"description\":\"Fits a model for the classical empirical semivariance.\",\"type\":\"standalone\"},{\"name\":\"ROBUST\",\"followsDelimiter\":\"/\",\"aliases\":[\"ROB\"],\"description\":\"Fits a model for the robust empirical semivariance. This option can be used only when the ROBUST option is specified in the COMPUTE statement.\",\"type\":\"standalone\"}]},{\"name\":\"GRADIENT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays the gradient of the objective function with respect to the parameter estimates in the \\\"Parameter Estimates\\\" table.\",\"type\":\"standalone\"},{\"name\":\"MTOGTOL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"MTOL=\"],\"description\":\"Specifies the threshold value above which a Matérn form in a model switches to the Gaussian form. The number value must be positive. By default, if the fitting process progressively increases the Matérn smoothness parameter v without converging to a smoothness estimate, then the VARIOGRAM procedure converts the Matérn form into a Gaussian form when smoothness exceeds the default value 10,000.\",\"help\":\"MTOGTOL=*number*\",\"type\":\"value\"},{\"name\":\"NOFIT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Suppresses the model fitting process.\",\"type\":\"standalone\"},{\"name\":\"NOITPRINT\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Suppresses the display of the iteration history table when you have also specified the DETAILS=ITR or DETAILS=ALL option in the MODEL statement. Otherwise, the NOITPRINT option is ignored.\",\"type\":\"standalone\"}]},{\"name\":\"NLOPTIONS\",\"description\":\"By default, PROC VARIOGRAM uses the technique TECH=NRRIDG, which corresponds to Newton-Raphson optimization with ridging. The NLOPTIONS statement provides you with syntax to control aspects of the nonlinear optimizations.\",\"help\":\"NLOPTIONS &lt;ABSCONV= | ABSTOL=r&gt;&lt;ABSFCONV=r &lt;n&gt; | ABSFTOL=r&lt;n&gt;&gt;&lt;ABSGCONV= | ABSGTOL=r &lt;n&gt;&gt; ...\",\"arguments\":[{\"name\":\"ABSCONV=\",\"optional\":true,\"aliases\":[\"ABSTOL=\"],\"description\":\"Specifies an absolute function convergence criterion.\",\"type\":\"value\"},{\"name\":\"ABSFCONV=\",\"optional\":true,\"aliases\":[\"ABSFTOL=\"],\"description\":\"Specifies an absolute function convergence criterion.\",\"type\":\"value\"},{\"name\":\"ABSGCONV=\",\"optional\":true,\"aliases\":[\"ABSGTOL=\"],\"description\":\"Specifies an absolute gradient convergence criterion. Termination requires the maximum absolute gradient element to be small.\",\"type\":\"value\"},{\"name\":\"ABSXCONV=\",\"optional\":true,\"aliases\":[\"ABSXTOL=\"],\"description\":\"Specifies the absolute parameter convergence criterion. Termination requires a small Euclidean distance between successive parameter vectors.\",\"type\":\"value\"},{\"name\":\"ASINGULAR=\",\"optional\":true,\"aliases\":[\"ASING=\"],\"description\":\"Specifies an absolute singularity criterion r, r > 0, for the inversion of the information matrix, which is needed to compute the covariance matrix.\",\"type\":\"value\"},{\"name\":\"DAMPSTEP=\",\"optional\":true,\"aliases\":[\"DS=\"],\"description\":\"Specifies that the initial step-size value aⁿ (where n=0) for each line search (used by the QUANEW, CONGRA, or NEWRAP technique) cannot be larger than r times the step-size value used in the former iteration.\",\"type\":\"value\"},{\"name\":\"FCONV2=\",\"optional\":true,\"aliases\":[\"FTOL2=\"],\"description\":\"Specifies a second function convergence criterion.\",\"type\":\"value\"},{\"name\":\"FCONV=\",\"optional\":true,\"aliases\":[\"FTOL=\"],\"description\":\"Specifies the relative function convergence criterion.\",\"type\":\"value\"},{\"name\":\"FSIZE=\",\"optional\":true,\"description\":\"Specifies the FSIZE parameter of the relative function and relative gradient termination criteria. The default value is r=0.\",\"help\":\"FSIZE=*r*\",\"type\":\"value\"},{\"name\":\"GCONV2=\",\"optional\":true,\"description\":\"Specifies another relative gradient convergence criterion.\",\"type\":\"value\"},{\"name\":\"GCONV=\",\"optional\":true,\"aliases\":[\"GTOL=\"],\"description\":\"Specifies the relative gradient convergence criterion.\",\"type\":\"value\"},{\"name\":\"HESCAL=\",\"optional\":true,\"aliases\":[\"HS=\"],\"description\":\"Specifies the scaling version of the Hessian or crossproduct Jacobian matrix used in NRRIDG, TRUREG, LEVMAR, NEWRAP, or DBLDOG optimization.\",\"help\":\"HESCAL=0 | 1 | 2 | 3\",\"type\":\"choice\",\"arguments\":[{\"name\":\"0\",\"description\":\"Specifies that no scaling is done.\",\"type\":\"standalone\"},{\"name\":\"1\",\"description\":\"Specifies the Moré (1978) scaling update\",\"type\":\"standalone\"},{\"name\":\"2\",\"description\":\"Specifies the Dennis, Gay, and Welsch (1981) scaling update\",\"type\":\"standalone\"},{\"name\":\"3\",\"description\":\"Specifies that di is reset in each iteration\",\"type\":\"standalone\"}]},{\"name\":\"INHESSIAN=\",\"optional\":true,\"description\":\"Specifies how the initial estimate of the approximate Hessian is defined for the quasi-Newton techniques QUANEW and DBLDOG.\",\"type\":\"value\"},{\"name\":\"INSTEP=\",\"optional\":true,\"aliases\":[\"SALPHA=\",\"RADIUS=\"],\"description\":\"Reduces the length of the first trial step during the line search of the first iterations.\",\"help\":\"INSTEP=*r*\",\"type\":\"value\"},{\"name\":\"LCDEACT=\",\"optional\":true,\"aliases\":[\"LCD=\"],\"description\":\"Specifies a threshold r for the Lagrange multiplier that decides whether an active inequality constraint remains active or can be deactivated.\",\"type\":\"value\"},{\"name\":\"LCEPSILON=\",\"optional\":true,\"aliases\":[\"LCEPS=\",\"LCE=\"],\"description\":\"Specifies the range r, r ≥ 0, for active and violated boundary and linear constraints.\",\"type\":\"value\"},{\"name\":\"LCSINGULAR=\",\"optional\":true,\"aliases\":[\"LCSING=\",\"LCS=\"],\"description\":\"Specifies a criterion r, r ≥ 0, used in the update of the QR decomposition that decides whether an active constraint is linearly dependent on a set of other active constraints.\",\"type\":\"value\"},{\"name\":\"LINESEARCH=\",\"optional\":true,\"aliases\":[\"LIS=\",\"SMETHOD=\",\"SM=\"],\"description\":\"Specifies the line-search method for the CONGRA, QUANEW, and NEWRAP optimization techniques.\",\"help\":\"LINESEARCH=1 | 2 | 3 | 4 | 5 | 6 | 7 | 8\",\"type\":\"choice\",\"arguments\":[{\"name\":\"1\",\"description\":\"Specifies a line-search method that needs the same number of function and gradient calls for cubic interpolation and cubic extrapolation; this method is similar to one used by the Harwell subroutine library.\",\"type\":\"standalone\"},{\"name\":\"2\",\"description\":\"Specifies a line-search method that needs more function calls than gradient calls for quadratic and cubic interpolation and cubic extrapolation; this method is implemented as shown in Fletcher (1987) and can be modified to an exact line search by using the LSPRECISION= option.\",\"type\":\"standalone\"},{\"name\":\"3\",\"description\":\"Specifies a line-search method that needs the same number of function and gradient calls for cubic interpolation and cubic extrapolation; this method is implemented as shown in Fletcher (1987) and can be modified to an exact line search by using the LSPRECISION= option.\",\"type\":\"standalone\"},{\"name\":\"4\",\"description\":\"Specifies a line-search method that needs the same number of function and gradient calls for stepwise extrapolation and cubic interpolation\",\"type\":\"standalone\"},{\"name\":\"5\",\"description\":\"Specifies a line-search method that is a modified version of LIS=4.\",\"type\":\"standalone\"},{\"name\":\"6\",\"description\":\"Specifies golden section line search (Polak 1971), which uses only function values for linear approximation.\",\"type\":\"standalone\"},{\"name\":\"7\",\"description\":\"Specifies bisection line search (Polak 1971), which uses only function values for linear approximation.\",\"type\":\"standalone\"},{\"name\":\"8\",\"description\":\"Specifies Armijo line-search technique (Polak 1971), which uses only function values for linear approximation.\",\"type\":\"standalone\"}]},{\"name\":\"LSPRECISION=\",\"optional\":true,\"aliases\":[\"LSP=\",\"SPRECISION=\",\"SP=\"],\"description\":\"Specifies the degree of accuracy that should be obtained by the line-search algorithms LIS=2 and LIS=3. The default LSPRECISION= values are:\",\"type\":\"value\"},{\"name\":\"MAXFUNC=\",\"optional\":true,\"aliases\":[\"MAXFU=\"],\"description\":\"Requires the number of function calls to be no larger than i. The default values are:\",\"type\":\"value\"},{\"name\":\"MAXITER=\",\"optional\":true,\"aliases\":[\"MAXIT=\"],\"description\":\"Requires the number of iterations to be no larger than i. The default values are: o For TECH= LEVMAR, NEWRAP, NRRIDG, TRUREG: i=50 o For TECH= DBLDOG, QUANEW: i=200 o For TECH= CONGRA: i=400\",\"type\":\"value\"},{\"name\":\"MAXSTEP=\",\"optional\":true,\"description\":\"Specifies an upper bound for the step length of the line-search algorithms during the first n iterations.\",\"type\":\"value\"},{\"name\":\"MAXTIME=\",\"optional\":true,\"description\":\"Requires the CPU time to be no larger than r. The default value of the MAXTIME= option is the largest double floating-point number on your computer.\",\"help\":\"MAXTIME=*r*\",\"type\":\"value\"},{\"name\":\"MINITER=\",\"optional\":true,\"aliases\":[\"MINIT=\"],\"description\":\"Specifies the minimum number of iterations. The default value is 0.\",\"type\":\"value\"},{\"name\":\"MSINGULAR=\",\"optional\":true,\"aliases\":[\"MSING=\"],\"description\":\"Specifies a relative singularity criterion r, r > 0, for the inversion of the information matrix, which is needed to compute the covariance matrix.\",\"type\":\"value\"},{\"name\":\"NOPRINT\",\"optional\":true,\"description\":\"Suppresses output related to optimization such as the iteration history.\",\"type\":\"standalone\"},{\"name\":\"PALL\",\"optional\":true,\"aliases\":[\"ALL\"],\"description\":\"[Displays information about the starting values and final values of the optimization process.\",\"type\":\"standalone\"},{\"name\":\"PHISTORY\",\"optional\":true,\"aliases\":[\"PHIS\"],\"description\":\"Displays the optimization history. The PHISTORY option is set automatically if the PALL or PRINT option is set.\",\"type\":\"standalone\"},{\"name\":\"RESTART=\",\"optional\":true,\"aliases\":[\"REST=\"],\"description\":\"Specifies that the QUANEW or CONGRA algorithm is restarted with a steepest descent/ascent search direction after at most i iterations, i > 0.\",\"type\":\"value\"},{\"name\":\"SINGULAR=\",\"optional\":true,\"description\":\"Specifies the singularity criterion r, 0 < r < 1, used, for example, for matrix inversion.\",\"type\":\"value\"},{\"name\":\"SOCKET=\",\"optional\":true,\"description\":\"Specifies the fileref that contains the information needed for remote monitoring.\",\"type\":\"value\"},{\"name\":\"TECHNIQUE=\",\"optional\":true,\"aliases\":[\"TECH=\",\"OMETHOD=\",\"OM=\"],\"description\":\"Specifies the optimization technique.\",\"help\":\"TECHNIQUE=CONGRA | DBLDOG | LEVMAR | NEWRAP | NRRIDG | QUANEW | TRUREG | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"CONGRA\",\"description\":\"Chooses one of four different conjugate-gradient optimization algorithms, which can be more precisely defined with the UPDATE= option and modified with the LINESEARCH= option.\",\"type\":\"standalone\"},{\"name\":\"DBLDOG\",\"description\":\"Performs a version of double-dogleg optimization, which uses the gradient to update an approximation of the Cholesky factor of the Hessian.\",\"type\":\"standalone\"},{\"name\":\"LEVMAR\",\"description\":\"Performs a highly stable but, for large problems, memory- and time-consuming Levenberg-Marquardt optimization technique, a slightly improved variant of the Moré (1978) implementation. This is the default optimization technique if there are fewer than 40 parameters to estimate.\",\"type\":\"standalone\"},{\"name\":\"NEWRAP\",\"description\":\"Performs a usually stable but, for large problems, memory- and time-consuming Newton-Raphson optimization technique. The algorithm combines a line-search algorithm with ridging, and it can be modified with the LINESEARCH= option.\",\"type\":\"standalone\"},{\"name\":\"NRRIDG\",\"description\":\"Performs a usually stable but, for large problems, memory- and time-consuming Newton-Raphson optimization technique. This algorithm does not perform a line search.\",\"type\":\"standalone\"},{\"name\":\"QUANEW\",\"description\":\"Chooses one of four different quasi-Newton optimization algorithms that can be more precisely defined with the UPDATE= option and modified with the LINESEARCH= option.\",\"type\":\"standalone\"},{\"name\":\"TRUREG\",\"description\":\"Performs a usually very stable but, for large problems, memory- and time-consuming trust-region optimization technique. The algorithm is implemented similar to Gay (1983) and Moré and Sorensen (1983).\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"Does not perform any optimization. This option is similar to METHOD=NONE, but TECH=NONE also computes and displays residuals and goodness of fit statistics.\",\"type\":\"standalone\"}]},{\"name\":\"UPDATE=\",\"optional\":true,\"description\":\"Specifies the update method for the quasi-Newton, double-dogleg, or conjugate-gradient optimization technique.\",\"help\":\"UPDATE=BFGS | DBFGS | DDFP | DFP | PB | FR | PR | CD\",\"type\":\"choice\",\"arguments\":[{\"name\":\"BFGS\",\"description\":\"Performs the original Broyden, Fletcher, Goldfarb, and Shanno (BFGS) update of the inverse Hessian matrix.\",\"type\":\"standalone\"},{\"name\":\"DBFGS\",\"description\":\"Performs the dual BFGS update of the Cholesky factor of the Hessian matrix. This is the default update method.\",\"type\":\"standalone\"},{\"name\":\"DDFP\",\"description\":\"Performs the dual Davidon, Fletcher, and Powell (DFP) update of the Cholesky factor of the Hessian matrix.\",\"type\":\"standalone\"},{\"name\":\"DFP\",\"description\":\"Performs the original DFP update of the inverse Hessian matrix.\",\"type\":\"standalone\"},{\"name\":\"PB\",\"description\":\"Performs the automatic restart update method of Powell (1977) and Beale (1972).\",\"type\":\"standalone\"},{\"name\":\"FR\",\"description\":\"Performs the Fletcher-Reeves update (Fletcher 1987).\",\"type\":\"standalone\"},{\"name\":\"PR\",\"description\":\"Performs the Polak-Ribiere update (Fletcher 1987).\",\"type\":\"standalone\"},{\"name\":\"CD\",\"description\":\"Performs a conjugate-descent update of Fletcher (1987).\",\"type\":\"standalone\"}]},{\"name\":\"VERSION=\",\"optional\":true,\"aliases\":[\"VS=\"],\"description\":\"Specifies the version of the quasi-Newton optimization technique with nonlinear constraints.\",\"help\":\"VERSION=1 | 2\",\"type\":\"choice\",\"arguments\":[{\"name\":\"1\",\"description\":\"Specifies the update of the U vector as in Powell (1978a, 1978b) (update like VF02AD).\",\"type\":\"standalone\"},{\"name\":\"2\",\"description\":\"Specifies the update of the U vector as in Powell (1982a, 1982b) (update like VMCWD).\",\"type\":\"standalone\"}]},{\"name\":\"VSINGULAR=\",\"optional\":true,\"aliases\":[\"VSING=\"],\"description\":\"Specifies a relative singularity criterion r, r > 0, for the inversion of the information matrix, which is needed to compute the covariance matrix.\",\"type\":\"value\"},{\"name\":\"XCONV=\",\"optional\":true,\"aliases\":[\"XTOL=\"],\"description\":\"Specifies the relative parameter convergence criterion. Termination requires a small relative parameter change in subsequent iterations.\",\"type\":\"value\"},{\"name\":\"XSIZE=\",\"optional\":true,\"description\":\"Specifies the XSIZE parameter of the relative function and relative gradient termination criteria. The default value is r=0.\",\"help\":\"XSIZE=*r*\",\"type\":\"value\"}]},{\"name\":\"PARMS\",\"description\":\"The PARMS statement specifies initial values for the semivariance parameters of a single specified model in the MODEL statement. Alternatively, the PARMS statement can request a grid search over several values of these parameters. You must specify the values by starting with the nugget effect parameter. You continue in the order in which semivariogram forms are specified in the FORM= option of the MODEL statement by specifying for each structure the values for its scale, range, and any other parameters as applicable. The PARMS statement is optional and must follow the associated MODEL statement. The value-list specification can take any of several forms: m a single value m1,m2,...,mn several values m to n a sequence in which m equals the starting value, n equals the ending value, and the increment equals 1 m to n by i a sequence in which m equals the starting value, n equals the ending value, and the increment equals i m1,m2 to m3 mixed values and sequences You can use the PARMS statement to input fixed values for parameters and also initial values that you want to optimize.\",\"help\":\"PARMS &lt;HOLD=value-list&gt;&lt;LOWERB=value-list&gt;&lt;MAXSCALE=maxscale&gt; ...\",\"arguments\":[{\"name\":\"HOLD=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"EQCONS=\"],\"description\":\"Specifies which parameter values be constrained to equal the specified values.\",\"help\":\"HOLD=*value-list*\",\"type\":\"value\"},{\"name\":\"LOWERB=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies lower boundary constraints on the semivariance parameters. The value-list specification is a list of numbers or missing values (.) separated by commas. You must list the numbers in the order that PROC VARIOGRAM uses for the semivariance parameters, and each number corresponds to the lower boundary constraint. A missing value instructs PROC VARIOGRAM to use its default constraint.\",\"help\":\"LOWERB=*value-list*\",\"type\":\"value\"},{\"name\":\"MAXSCALE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies a positive upper threshold for the fitted semivariogram sill. This option imposes a linear constraint on the optimization of the nonfixed semivariogram scale and nugget parameters so that the sum of all scale and nugget parameters does not exceed the specified MAXSCALE= value. The MAXSCALE= constraint is ignored if all the semivariogram scale and nugget parameters are fixed.\",\"help\":\"MAXSCALE=*maxscale*\",\"type\":\"value\"},{\"name\":\"NOBOUND\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Requests the removal of boundary constraints on semivariance parameters. For example, semivariance parameters have a default zero lower boundary constraint since they have a physical meaning only for positive values. The NOBOUND option enables the fitting process to derive negative estimates; hence, you need to be cautious with the outcome when you specify this option.\",\"type\":\"standalone\"},{\"name\":\"PARMSDATA=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"PDATA=\"],\"description\":\"Specifies that semivariance parameters values be read from a SAS data set. The data set should contain the values in the sequence required by the PARMS statement in either of the following two ways: o Specify one single column under the variable Estimate (or Est) that contains all the parameter values.\",\"help\":\"PARMSDATA=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"UPPERB=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies upper boundary constraints on the semivariance parameters. The value-list specification is a list of numbers or missing values (.) separated by commas. You must list the numbers in the order that PROC VARIOGRAM uses for the semivariance parameters, and each number corresponds to the upper boundary constraint. A missing value instructs PROC VARIOGRAM to use its default constraint.\",\"help\":\"UPPERB=*value-list*\",\"type\":\"value\"}]},{\"name\":\"STORE\",\"aliases\":[\"ITEMSTORE\"],\"description\":\"The STORE statement requests that the procedure save the context and results of the semivariogram model fitting analysis in an item store. An item store is a binary file defined by the SAS System. You cannot modify the contents of an item store. The contents of item stores produced by PROC VARIOGRAM can be processed only with the KRIGE2D or the SIM2D procedure. After you save results in an item store, you can use them at a later time without having to fit the model again.\",\"help\":\"STORE &lt;LABEL=store-label&gt; OUT=store-name \",\"arguments\":[{\"name\":\"OUT=\",\"description\":\"The store-name is a usual one- or two-level SAS name, as for SAS data sets. If you specify a one-level name, then the item store resides in the Work library and is deleted at the end of the SAS session. Since item stores are often used for postprocessing tasks, typical usage specifies a two-level name of the form\",\"help\":\"OUT=*store-name*\",\"type\":\"value\"},{\"name\":\"LABEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies a custom label for the item store that is produced by PROC VARIOGRAM. When another procedure processes an item store, the label appears in the procedure’s output along with other identifying information.\",\"help\":\"LABEL=*store-label*\",\"type\":\"value\"}]},{\"name\":\"VAR\",\"aliases\":[\"VARIABLE\"],\"description\":\"Use the VAR statement to specify the analysis variables. You can specify only numeric variables. If you do not specify a VAR statement, all numeric variables in the DATA= data set that are not in the COORDINATES statement are used.\",\"help\":\"VAR analysis-variables-list \"}],\"supportSiteInformation\":{\"docsetId\":\"statug\",\"docsetVersion\":\"latest\",\"docsetTargetFile\":\"statug_variogram_toc.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/VARMAX.json",
    "content": "{\"name\":\"VARMAX\",\"statements\":[{\"name\":\"PROC VARMAX\",\"description\":\"Given a multivariate time series, the VARMAX procedure estimates the model parameters and generates forecasts associated with vector autoregressive moving-average processes with exogenous regressors (VARMAX) models. Often, economic or financial variables are not only contemporaneously correlated to each other, they are also correlated to each other’s past values. The VARMAX procedure can be used to model these types of time relationships. In many economic and financial applications, the variables of interest (dependent, response, or endogenous variables) are influenced by variables external to the system under consideration (independent, input, predictor, regressor, or exogenous variables). The VARMAX procedure enables you to model the dynamic relationship both between the dependent variables and also between the dependent and independent variables.\",\"help\":\"PROC VARMAX <COVOUT><DATA=SAS-data-set><OUTCOV><OUTEST=SAS-data-set><OUTSTAT=SAS-data-set><PLOTS=ALL | FORECASTS<(forecasts-plot-options)> | IMPULSE<(impulse-plot-options)>... >;     \\n\\tBY <DESCENDING><NOTSORTED> ;\\n\\n\\tCAUSAL <GROUP1=(variables)><GROUP2=(variables)> ;\\n\\n\\tCOINTEG <EXOGENEITY><H=(matrix)><J=(matrix)> ...;\\n\\n\\tGARCH <FORM=<BEKK | CCC>><OUTHT=SAS-data-set><P=number | P=(number-list)> ...;\\n\\n\\tID <ALIGN=<BEGINNING | MIDDLE | ENDING>><INTERVAL=<DAY | HOUR | MINUTE>... > ;\\n\\n\\tMODEL <CENTER><DIF(variable (number-list) <... variable (number-list)>)><DIFX(number-list) | DIFX=(number-list)> ...;\\n\\n\\tNLOPTIONS <ABSCONV= | ABSTOL=r><ABSFCONV=r[n] | ABSFTOL=r[n><ABSGCONV=r[n] | ABSGTOL=r[n> ...;\\n\\n\\tOUTPUT <ALPHA=number><BACK=number><LEAD=number> ...;\\n\\n\\tRESTRICT <AR(l,i,j)=><CONST(i)=><MA(l,i,j)=> ...;\\n\\n\\tTEST <AR(l,i,j)=><CONST(i)=><MA(l,i,j)=> ...;\\n\",\"arguments\":[{\"name\":\"COVOUT\",\"optional\":true,\"description\":\"Writes the covariance matrix for the parameter estimates to the OUTEST= data set. This option is valid only if the OUTEST= option is specified.\",\"type\":\"standalone\"},{\"name\":\"DATA=\",\"optional\":true,\"description\":\"Specifies the input SAS data set. If the DATA= option is not specified, the PROC VARMAX statement uses the most recently created SAS data set.\",\"help\":\"DATA=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"OUTCOV\",\"optional\":true,\"description\":\"Writes the covariance matrix for the parameter estimates to the OUTEST= data set. This option is valid only if the OUTEST= option is specified.\",\"type\":\"standalone\"},{\"name\":\"OUTEST=\",\"optional\":true,\"description\":\"Writes the parameter estimates to the output data set.\",\"help\":\"OUTEST=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"OUTSTAT=\",\"optional\":true,\"description\":\"Writes residual diagnostic results to an output data set. If the COINTTEST=(JOHANSEN) option is specified, the results of this option are also written to the output data set.\",\"help\":\"OUTSTAT=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"PLOTS=\",\"optional\":true,\"description\":\"Syntax: PLOTS<(global-plot-option)> = plot-request-option <(options)> | PLOTS<(global-plot-option)> = ( plot-request-option <(options)> ... plot-request-option <(options)> ) Controls the plots produced through ODS Graphics. When you specify only one plot, you can omit the parentheses around the plot request. The global-plot-option applies to the impulse and prediction error analysis plots generated by the VARMAX procedure. The following global-plot-option is available:\",\"help\":\"PLOTS=ALL | FORECASTS&lt;(forecasts-plot-options)&gt; | IMPULSE&lt;(impulse-plot-options)&gt; | MODEL | NONE | RESIDUAL&lt;(residual-plot-options)&gt;\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ALL\",\"description\":\"Produces all plots appropriate for the particular analysis.\",\"type\":\"standalone\"},{\"name\":\"FORECASTS\",\"description\":\"Produces plots of the forecasts. The forecasts-only plot that shows the multistep forecasts in the forecast region is produced by default. The following forecasts-plot-options are available: ALL produces the FORECASTSONLY and the FORECASTS plots. This is the default. FORECASTS produces a plot that shows the one-step-ahead as well as the multistep forecasts. FORECASTSONLY produces a plot that shows only the multistep forecasts.\",\"help\":\"FORECASTS&lt;(forecasts-plot-options)&gt;\",\"type\":\"standalone\"},{\"name\":\"IMPULSE\",\"description\":\"Produces the plots of impulse response function and the impulse response of the transfer function. The following impulse-plot-options are available: ALL produces all impulse plots. This is the default. ACCUM produces the accumulated impulse plot. ORTH produces the orthogonalized impulse plot. SIMPLE produces the simple impulse plot.\",\"help\":\"IMPULSE&lt;(impulse-plot-options)&gt;\",\"type\":\"standalone\"},{\"name\":\"MODEL\",\"description\":\"Produces plots of dependent variables listed in the MODEL statement and plots of the one-step-ahead predicted values for each dependent variables.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"Produces prediction error plot.\",\"type\":\"standalone\"},{\"name\":\"RESIDUAL\",\"description\":\"Produces plots associated with the prediction errors obtained after modeling the data. The following residual-plot-options are available: ALL produces all plots associated with the analysis of the prediction errors. This is the default. RESIDUAL produces prediction error plot. DIAGNOSTICS produces a panel of plots useful in assessing the autocorrelations and white-noise of the prediction errors. The panel consists of the following: o the autocorrelation plot of the prediction errors o the partial autocorrelation plot of the prediction errors o the inverse autocorrelation plot of the prediction errors o the log scaled white noise plot of the prediction errors NORMAL produces a panel of plots useful in assessing normality of the prediction errors. The panel consists of the following: o distribution of the prediction errors with overlaid the normal curve o normal quantile plot of the prediction errors\",\"help\":\"RESIDUAL&lt;(residual-plot-options)&gt;\",\"type\":\"standalone\"}]}]},{\"name\":\"BY\",\"description\":\"A BY statement can be used with PROC VARMAX to obtain separate analyses on observations in groups defined by the BY variables.\",\"help\":\"BY &lt;DESCENDING&gt;&lt;NOTSORTED&gt;\",\"arguments\":[{\"name\":\"DESCENDING\",\"optional\":true,\"description\":\"Specifies that the observations are sorted in descending order by the variable that immediately follows the word DESCENDING in the BY statement.\",\"type\":\"standalone\"},{\"name\":\"NOTSORTED\",\"optional\":true,\"description\":\"Specifies that observations are not necessarily sorted in alphabetic or numeric order.\",\"type\":\"standalone\"}]},{\"name\":\"CAUSAL\",\"description\":\"A CAUSAL statement prints the Granger causality test by fitting the VAR(p) model by using all variables defined in GROUP1 and GROUP2. Any number of CAUSAL statements can be specified. The CAUSAL statement proceeds with the MODEL statement and uses the variables and the autoregressive order, p, specified in the MODEL statement. Variables in the GROUP1= and GROUP2= options should be defined in the MODEL statement.If the P=0 option is specified in the MODEL statement, the CAUSAL statement is not applicable.\",\"help\":\"CAUSAL &lt;GROUP1=(variables)&gt;&lt;GROUP2=(variables)&gt;\",\"arguments\":[{\"name\":\"GROUP1=\",\"optional\":true,\"description\":\"GROUP1 variables defined in the MODEL statement.\",\"type\":\"value\"},{\"name\":\"GROUP2=\",\"optional\":true,\"description\":\"GROUP2 variables defined in the MODEL statement.\",\"type\":\"value\"}]},{\"name\":\"COINTEG\",\"description\":\"The COINTEG statement fits the vector error correction model to the data, tests the restrictions of the long-run parameters and the adjustment parameters, and tests for the weak exogeneity in the long-run parameters. The cointegrated system uses the maximum likelihood analysis proposed by Johansen and Juselius (1990) and Johansen (1995a, 1995b). Only one COINTEG statement is allowed.\",\"help\":\"COINTEG &lt;EXOGENEITY&gt;&lt;H=(matrix)&gt;&lt;J=(matrix)&gt; ...\",\"arguments\":[{\"name\":\"EXOGENEITY\",\"optional\":true,\"description\":\"Formulates the likelihood ratio tests for testing weak exogeneity in the long-run parameters. The null hypothesis is that one variable is weakly exogenous for the others.\",\"type\":\"standalone\"},{\"name\":\"H=\",\"optional\":true,\"description\":\"Specifies the restrictions H on the k x r or (k+1) x r cointegrated coefficient matrix β such that β = H(Φ), where H is known and Φ is unknown.\",\"type\":\"value\"},{\"name\":\"J=\",\"optional\":true,\"description\":\"Specifies the restrictions J on the k x r adjustment matrix α such that α=J(ψ), where J is known and ψ is unknown.\",\"type\":\"value\"},{\"name\":\"NORMALIZE=\",\"optional\":true,\"description\":\"Specifies a single dependent (endogenous) variable name whose cointegrating vectors are normalized. If the variable name is different from that specified in the COINTTEST= (JOHANSEN=) or ECM= option in the MODEL statement, the variable name specified in the COINTEG statement is used. If the normalized variable is not specified, cointegrating vectors are not normalized.\",\"help\":\"NORMALIZE=*variable*\",\"type\":\"value\"},{\"name\":\"RANK=\",\"optional\":true,\"description\":\"Specifies the cointegration rank of the cointegrated system. This option is required in the COINTEG statement. The rank of cointegration should be greater than zero and less than the number of dependent (endogenous) variables. If the value of the RANK= option in the COINTEG statement is different from that specified in the ECM= option, the rank specified in the COINTEG statement is used.\",\"help\":\"RANK=*number*\",\"type\":\"value\"}]},{\"name\":\"GARCH\",\"description\":\"The GARCH statement specifies a GARCH-type multivariate conditional heteroscedasticity model.\",\"help\":\"GARCH &lt;FORM=&lt;BEKK | CCC&gt;&gt;&lt;OUTHT=SAS-data-set&gt;&lt;P=number | P=(number-list)&gt; ...\",\"arguments\":[{\"name\":\"FORM=\",\"optional\":true,\"description\":\"Specifies the representation for a GARCH model.\",\"help\":\"FORM=BEKK | CCC\",\"type\":\"choice\",\"arguments\":[{\"name\":\"BEKK\",\"description\":\"Specifies a BEKK representation. This is the default.\",\"type\":\"standalone\"},{\"name\":\"CCC\",\"description\":\"Specifies a constant conditional correlation representation.\",\"type\":\"standalone\"}]},{\"name\":\"OUTHT=\",\"optional\":true,\"description\":\"Writes the conditional covariance matrix to an output data set.\",\"help\":\"OUTHT=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"P=\",\"optional\":true,\"description\":\"Specifies the order of the process or the subset of GARCH terms to be fitted. For example, you can specify the P=(1,3) option. The P=3 option is equivalent to the P=(1,2,3) option. The default is P=0.\",\"type\":\"value\"},{\"name\":\"Q=\",\"optional\":true,\"description\":\"Specifies the order of the process or the subset of ARCH terms to be fitted. This option is required in the GARCH statement.\",\"type\":\"value\"}]},{\"name\":\"ID\",\"description\":\"The ID statement specifies a variable that identifies observations in the input data set. The datetime variable specified in the ID statement is included in the OUT= data set if the OUTPUT statement is specified. Note that the ID variable is usually a SAS datetime variable. The values of the ID variable are extrapolated for the forecast observations based on the value of the INTERVAL= option.\",\"help\":\"ID &lt;ALIGN=&lt;BEGINNING | MIDDLE | ENDING&gt;&gt;&lt;INTERVAL=&lt;DAY | HOUR | MINUTE&gt;... &gt;\",\"arguments\":[{\"name\":\"ALIGN=\",\"optional\":true,\"description\":\"Controls the alignment of SAS dates used to identify output observations.\",\"help\":\"ALIGN=BEGINNING | MIDDLE | ENDING\",\"type\":\"choice\",\"arguments\":[{\"name\":\"BEGINNING\",\"description\":\"SAS dates aligned in the BEGINNING.\",\"type\":\"standalone\"},{\"name\":\"MIDDLE\",\"description\":\"SAS dates aligned in the MIDDLE.\",\"type\":\"standalone\"},{\"name\":\"ENDING\",\"description\":\"SAS dates aligned in the ENDING.\",\"type\":\"standalone\"}]},{\"name\":\"INTERVAL=\",\"optional\":true,\"description\":\"Specifies the time interval between observations. This option is required in the ID statement. The INTERVAL= option is used in conjunction with the ID variable to check that the input data are in order and have no missing periods. The INTERVAL= option is also used to extrapolate the ID values past the end of the input data when the OUTPUT statement is specified.\",\"help\":\"INTERVAL=DAY | HOUR | MINUTE | SECOND | WEEK | MONTH | YEAR | QTR | TENDAY | SEMIMONTH | SEMIYEAR\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DAY\",\"description\":\"DAY interval\",\"type\":\"standalone\"},{\"name\":\"HOUR\",\"description\":\"HOUR interval\",\"type\":\"standalone\"},{\"name\":\"MINUTE\",\"description\":\"MINUTE interval\",\"type\":\"standalone\"},{\"name\":\"SECOND\",\"description\":\"SECOND interval\",\"type\":\"standalone\"},{\"name\":\"WEEK\",\"description\":\"WEEK interval\",\"type\":\"standalone\"},{\"name\":\"MONTH\",\"description\":\"MONTH interval\",\"type\":\"standalone\"},{\"name\":\"YEAR\",\"description\":\"YEAR interval\",\"type\":\"standalone\"},{\"name\":\"QTR\",\"description\":\"QTR interval\",\"type\":\"standalone\"},{\"name\":\"TENDAY\",\"description\":\"TENDAY interval\",\"type\":\"standalone\"},{\"name\":\"SEMIMONTH\",\"description\":\"SEMIMONTH interval\",\"type\":\"standalone\"},{\"name\":\"SEMIYEAR\",\"description\":\"SEMIYEAR interval\",\"type\":\"standalone\"}]}]},{\"name\":\"MODEL\",\"description\":\"The MODEL statement specifies dependent (endogenous) variables and independent (exogenous) variables for the VARMAX model. The multivariate model can have the same or different independent variables corresponding to the dependent variables. As a special case, the VARMAX procedure allows you to analyze one dependent variable. Only one MODEL statement is allowed.\",\"help\":\"MODEL &lt;CENTER&gt;&lt;DIF(variable (number-list) &lt;... variable (number-list)&gt;)&gt;&lt;DIFX(number-list) | DIFX=(number-list)&gt; ...\",\"arguments\":[{\"name\":\"CENTER\",\"optional\":true,\"description\":\"Centers the dependent (endogenous) variables by subtracting their means.\",\"type\":\"standalone\"},{\"name\":\"COINTTEST=\",\"optional\":true,\"description\":\"Tests for cointegration. The following options can be used with the COINTTEST=( ) option. The options are specified within parentheses: JOHANSEN | JOHANSEN=(TYPE=value IORDER=number NORMALIZE=variable) prints the cointegration rank test for multivariate time series based on Johansen’s method. The following options can be used in the JOHANSEN=() option: IORDER=number specifies the integrated order. IORDER=1 prints the cointegration rank test for an integrated order 1 and prints the long-run parameter, β, and the adjustment coefficient, α. This is the default. IORDER=2 -- prints the cointegration rank test for integrated orders 1 and 2. NORMALIZE=variable specifies the dependent (endogenous) variable name whose cointegration vectors are to be normalized. TYPE=value specifies the type of cointegration rank test to be printed. Valid values are as follows: MAX -- prints the cointegration maximum eigenvalue test. TRACE -- prints the cointegration trace test. This is the default. SIGLEVEL=value sets the size of cointegration rank tests and common trends tests. The SIGLEVEL=value can be set to 0.1, 0.05, or 0.01. The default is SIGLEVEL=0.05. SW | SW=(TYPE=value LAG=number) prints common trends tests for a multivariate time series based on the Stock-Watson method. This test is provided when the number of dependent (endogenous) variables is less than or equal to 6. The following options can be used in the SW=( ) option. The options are listed within parentheses: LAG=number specifies the number of lags. TYPE=value specifies the type of common trends test to be printed. Valid values are as follows:\",\"type\":\"value\"},{\"name\":\"DFTEST=\",\"optional\":true,\"description\":\"Prints the Dickey-Fuller unit root tests. The DLAG=(number) ...(number) option specifies the regular or seasonal unit root test. Supported values of number are in 1, 2, 4, 12. If the number is greater than one, a seasonal Dickey-Fuller test is performed. If the TREND= option is specified, the seasonal unit root test is not available. The default is DLAG=1.\",\"type\":\"value\"},{\"name\":\"DIF=\",\"optional\":true,\"description\":\"Syntax: DIF(variable (number-list) <... variable (number-list)>) |DIF=(variable (number-list) <... variable (number-list)>)\",\"type\":\"value\"},{\"name\":\"DIFX=\",\"optional\":true,\"description\":\"Specifies the degrees of differencing to be applied to all independent variables. The number-list must contain one or more numbers, each of which should be greater than zero.\",\"help\":\"DIFX=(number-list)\",\"type\":\"value\"},{\"name\":\"DIFY=\",\"optional\":true,\"description\":\"Specifies the degrees of differencing to be applied to all dependent (endogenous) variables. The number-list must contain one or more numbers, each of which should be greater than zero.\",\"type\":\"value\"},{\"name\":\"ECM=\",\"optional\":true,\"description\":\"Specifies a vector error correction model. The following options can be used in the ECM=() option: NORMALIZE=variable specifies a single dependent variable name whose cointegrating vectors are normalized. RANK=number specifies the cointegration rank. This option is required in the ECM= option. The value of the RANK= option should be greater than zero and less than or equal to the number of dependent (endogenous) variables, k.\",\"type\":\"value\"},{\"name\":\"LAGMAX=\",\"optional\":true,\"description\":\"Specifies the maximum number of lags for which results are computed and displayed by the PRINT=(CORRX CORRY COVX COVY IARR IMPULSE= IMPULSX= PARCOEF PCANCORR PCORR) options. This option is also used to limit the printed results for the cross covariances and cross- correlations of residuals. The default is LAGMAX=min(12, T-2), where T is the number of nonmissing observations.\",\"help\":\"LAGMAX=*number*\",\"type\":\"value\"},{\"name\":\"METHOD=\",\"optional\":true,\"description\":\"Requests the type of estimates to be computed.\",\"help\":\"METHOD=LS | ML\",\"type\":\"choice\",\"arguments\":[{\"name\":\"LS\",\"description\":\"Specifies least squares estimates.\",\"type\":\"standalone\"},{\"name\":\"ML\",\"description\":\"Specifies maximum likelihood estimates.\",\"type\":\"standalone\"}]},{\"name\":\"MINIC=\",\"optional\":true,\"description\":\"Prints the information criterion for the appropriate AR and MA tentative order selection and for the diagnostic checks of the fitted model. The following options can be used in the MINIC=() option. The options are specified within parentheses: P=number |P=(pmin:pmax) specifies the range of AR orders to be considered in the tentative order selection. The default is P=(0:5). The P=3 option is equivalent to the P=(0:3) option. PERROR=number | PERROR=(pe,min:pe,max) specifies the range of AR orders for obtaining the error series. The default is PERROR=(pmax:pmax+qmax). Q=number Q=(qmin:qmax) specifies the range of MA orders to be considered in the tentative order selection. The default is Q=(0:5). TYPE=value specifies the criterion for the model order selection. Valid criteria are as follows:\",\"type\":\"value\"},{\"name\":\"NOCURRENTX\",\"optional\":true,\"description\":\"Suppresses the current values xt of the independent variables.\",\"type\":\"standalone\"},{\"name\":\"NOINT\",\"optional\":true,\"description\":\"Suppresses the intercept parameter, delta.\",\"type\":\"standalone\"},{\"name\":\"NOPRINT\",\"optional\":true,\"description\":\"Suppresses all printed output.\",\"type\":\"standalone\"},{\"name\":\"NSEASON=\",\"optional\":true,\"description\":\"Specifies the number of seasonal periods. When the NSEASON=number option is specified, (number –1) seasonal dummies are added to the regressors. If the NOINT option is specified, the NSEASON= option is not applicable.\",\"help\":\"NSEASON=*number*\",\"type\":\"value\"},{\"name\":\"P=\",\"optional\":true,\"description\":\"Specifies the order of the vector autoregressive process. Subset models of vector autoregressive orders can be specified by listing the desired set of lags. For example, you can specify the P=(1,3,4) option. The P=3 option is equivalent to the P=(1,2,3) option. The default is P=0.\",\"type\":\"value\"},{\"name\":\"PRINT=\",\"optional\":true,\"description\":\"The following options can be used in the PRINT=( ) option. The options are listed within parentheses: CORRB prints the estimated correlations of the parameter estimates. CORRX | CORRX(number) prints the cross-correlation matrices of exogenous (independent) variables. The number should be greater than zero. CORRY | CORRY(number) prints the cross-correlation matrices of dependent (endogenous) variables. The number should be greater than zero. COVB prints the estimated covariances of the parameter estimates. COVPE | COVPE(number) prints the covariance matrices of number-ahead prediction errors for the VARMAX(p,q,s) model. The number should be greater than zero. COVX | COVX(number) prints the cross-covariance matrices of exogenous (independent) variables. The number should be greater than zero. COVY | COVY(number) prints the cross-covariance matrices of dependent (endogenous) variables. The number should be greater than zero. DECOMPOSE | DECOMPOSE(number) prints the decomposition of the prediction error covariances using up to the number of lags specified by number in parentheses for the VARMA(,) model. DIAGNOSE prints the residual diagnostics and model diagnostics. DYNAMIC prints the contemporaneous relationships among the components of the vector time series. ESTIMATES prints the coefficient estimates and a schematic representation of the significance and sign of the parameter estimates. IARR | IARR(number) prints the infinite order AR representation of a VARMA process. The number should be greater than zero. If the ECM= option and the COINTEG statement are specified, then the reparameterized AR coefficient matrices are printed. IMPULSE |IMPULSE(number) IMPULSE=(SIMPLE ACCUM ORTH STDERR ALL) IMPULSE(number)=(SIMPLE ACCUM ORTH STDERR ALL) prints the impulse response function. The number should be greater than zero. The following options can be used in the IMPULSE=( ) option. The options are specified within parentheses: ACCUM prints the accumulated impulse response function. ALL is equivalent to specifying all of SIMPLE, ACCUM, ORTH, and STDERR. ORTH prints the orthogonalized impulse response function. SIMPLE prints the impulse response function. This is the default. STDERR prints the standard errors of the impulse response function, the accumulated impulse response function, or the orthogonalized impulse response function. IMPULSX |IMPULSX(number) IMPULSX=(SIMPLE ACCUM ALL) IMPULSX(number)=(SIMPLE ACCUM ALL) prints the impulse response function related to exogenous (independent) variables. The following options can be used in the IMPULSX=( ) option. The options are specified within parentheses: ACCUM prints the accumulated impulse response matrices for the transfer function. ALL is equivalent to specifying both SIMPLE and ACCUM. SIMPLE prints the impulse response matrices for the transfer function. This is the default. PARCOEF | PARCOEF(number) prints the partial autoregression coefficient matrices. PCANCORR | PCANCORR(number) prints the partial canonical correlations. PCORR | PCORR(number) prints the partial correlation matrices. The number should be greater than zero. ROOTS prints the eigenvalues of the kp x kp companion matrix associated with the AR characteristic function Φ(β), where kp is the number of dependent (endogenous) variables.\",\"type\":\"value\"},{\"name\":\"PRINTALL\",\"optional\":true,\"description\":\"Requests all printing control options.\",\"type\":\"standalone\"},{\"name\":\"PRINTFORM=\",\"optional\":true,\"description\":\"Requests the printing format of the output generated by the PRINT= option and cross covariances and cross-correlations of residuals.\",\"help\":\"PRINTFORM=MATRIX | UNIVARIATE | BOTH\",\"type\":\"choice\",\"arguments\":[{\"name\":\"MATRIX\",\"description\":\"Prints output in matrix form. This is the default.\",\"type\":\"standalone\"},{\"name\":\"UNIVARIATE\",\"description\":\"Prints output by variables.\",\"type\":\"standalone\"},{\"name\":\"BOTH\",\"description\":\"Prints output in both MATRIX and UNIVARIATE forms.\",\"type\":\"standalone\"}]},{\"name\":\"PRIOR=\",\"optional\":true,\"description\":\"Specifies the prior value of parameters for the BVARX(p,s) model. The following options can be used with the PRIOR=(prior-options) option. The prior-options are listed within parentheses: IVAR | IVAR=(variables) specifies an integrated BVAR(p) model. The variables should be specified in the MODEL statement as dependent variables. LAMBDA=value specifies the prior standard deviation of the AR coefficient parameter matrices. It should be a positive number. The default is λ=1. MEAN=(vector) specifies the mean vector in the prior distribution for the AR coefficients. If the vector is not specified, the prior value is assumed to be a zero vector. NREP=number specifies the number of periods to compute the measure of forecast accuracy. The default is NREP=0.5T, where T is the number of observations.\",\"type\":\"value\"},{\"name\":\"Q=\",\"optional\":true,\"description\":\"Specifies the order of the moving-average error process. Subset models of moving-average orders can be specified by listing the desired set of lags. For example, you can specify the Q=(1,5) option. The default is Q=0.\",\"type\":\"value\"},{\"name\":\"SCENTER\",\"optional\":true,\"description\":\"Centers seasonal dummies specified by the NSEASON= option. The centered seasonal dummies are generated by c-(1/s), where c is a seasonal dummy generated by the NSEASON=s option.\",\"type\":\"standalone\"},{\"name\":\"TREND=\",\"optional\":true,\"description\":\"Specifies the degree of deterministic time trend included in the model.\",\"help\":\"TREND=LINEAR | QUAD\",\"type\":\"choice\",\"arguments\":[{\"name\":\"LINEAR\",\"description\":\"Includes a linear time trend as a regressor.\",\"type\":\"standalone\"},{\"name\":\"QUAD\",\"description\":\"Includes linear and quadratic time trends as regressors.\",\"type\":\"standalone\"}]},{\"name\":\"VARDEF=\",\"optional\":true,\"description\":\"Corrects for the degrees of freedom of the denominator for computing an error covariance matrix for the METHOD=LS option.\",\"help\":\"VARDEF=DF | N\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DF\",\"description\":\"Specifies that the number of nonmissing observation minus the number of regressors be used.\",\"type\":\"standalone\"},{\"name\":\"N\",\"description\":\"Specifies that the number of nonmissing observation be used.\",\"type\":\"standalone\"}]},{\"name\":\"XLAG=\",\"optional\":true,\"description\":\"Specifies the lags of exogenous (independent) variables. Subset models of distributed lags can be specified by listing the desired set of lags. For example, XLAG=(2) selects only a lag 2 of the exogenous variables. The default is XLAG=0. To exclude the present values of exogenous variables from the model, the NOCURRENTX option must be used.\",\"type\":\"value\"}]},{\"name\":\"NLOPTIONS\",\"description\":\"The VARMAX procedure uses the nonlinear optimization (NLO) subsystem to perform nonlinear optimization tasks.\",\"help\":\"NLOPTIONS &lt;ABSCONV= | ABSTOL=r&gt;&lt;ABSFCONV=r[n] | ABSFTOL=r[n&gt;&lt;ABSGCONV=r[n] | ABSGTOL=r[n&gt; ...\",\"arguments\":[{\"name\":\"ABSCONV=\",\"optional\":true,\"aliases\":[\"ABSTOL=\"],\"description\":\"Specifies an absolute function convergence criterion. The default value of r is the negative square root of the largest double-precision value, which serves only as a protection against overflows.\",\"type\":\"value\"},{\"name\":\"ABSFCONV=\",\"optional\":true,\"aliases\":[\"ABSFTOL=\"],\"description\":\"Specifies an absolute function convergence criterion. The default value is r=0. The optional integer value n specifies the number of successive iterations for which the criterion must be satisfied before the process can be terminated.\",\"type\":\"value\"},{\"name\":\"ABSGCONV=\",\"optional\":true,\"aliases\":[\"ABSGTOL=\"],\"description\":\"Specifies an absolute gradient convergence criterion. The default value is r=1E-5. The optional integer value n specifies the number of successive iterations for which the criterion must be satisfied before the process can be terminated.\",\"type\":\"value\"},{\"name\":\"ABSXCONV=\",\"optional\":true,\"aliases\":[\"ABSXTOL=\"],\"description\":\"Specifies the absolute parameter convergence criterion. The default is r=1E-8 for the NMSIMP technique and r=0 otherwise. The optional integer value n specifies the number of successive iterations for which the criterion must be satisfied before the process can terminate.\",\"type\":\"value\"},{\"name\":\"DAMPSTEP=\",\"optional\":true,\"description\":\"Specifies that the initial step length value a⁰ for each line search (used by the QUANEW, HYQUAN, CONGRA, or NEWRAP technique) cannot be larger than r times the step length value used in the former iteration. If the DAMPSTEP option is specified but r is not specified, the default is r=2. The DAMPSTEP=r option can prevent the line-search algorithm from repeatedly stepping into regions where some objective functions are difficult to compute or where they could lead to floating point overflows during the computation of objective functions and their derivatives. The DAMPSTEP=r option can save time-costly function calls during the line searches of objective functions that result in very small steps.\",\"type\":\"value\"},{\"name\":\"FCONV2=\",\"optional\":true,\"aliases\":[\"FTOL2=\"],\"description\":\"Specifies another function convergence criterion.\",\"type\":\"value\"},{\"name\":\"FCONV=\",\"optional\":true,\"aliases\":[\"FTOL=\"],\"description\":\"Specifies a relative function convergence criterion.\",\"type\":\"value\"},{\"name\":\"FSIZE=\",\"optional\":true,\"description\":\"Specifies the FSIZE parameter of the relative function and relative gradient termination criteria. The default value is r=0.\",\"help\":\"FSIZE=*r*\",\"type\":\"value\"},{\"name\":\"GCONV=\",\"optional\":true,\"aliases\":[\"GTOL=\"],\"description\":\"Specifies a relative gradient convergence criterion. The default value is r=1E-8. The optional integer value n specifies the number of successive iterations for which the criterion must be satisfied before the process can terminate.\",\"type\":\"value\"},{\"name\":\"HESCAL=\",\"optional\":true,\"aliases\":[\"HS=\"],\"description\":\"Specifies the scaling version of the Hessian matrix used in NRRIDG, TRUREG, NEWRAP, or DBLDOG optimization.\",\"help\":\"HESCAL=0 | 1 | 2 | 3\",\"type\":\"choice\",\"arguments\":[{\"name\":\"0\",\"description\":\"Specifies that no scaling is done.\",\"type\":\"standalone\"},{\"name\":\"1\",\"description\":\"Specifies the Moré (1978) scaling update\",\"type\":\"standalone\"},{\"name\":\"2\",\"description\":\"Specifies the Dennis, Gay, and Welsch (1981) scaling update\",\"type\":\"standalone\"},{\"name\":\"3\",\"description\":\"Specifies that di is reset in each iteration\",\"type\":\"standalone\"}]},{\"name\":\"INHESSIAN=\",\"optional\":true,\"aliases\":[\"INHESS=\"],\"description\":\"Specifies how the initial estimate of the approximate Hessian is defined for the quasi-Newton techniques QUANEW and DBLDOG.\",\"type\":\"value\"},{\"name\":\"INSTEP=\",\"optional\":true,\"description\":\"Reduces the length of the first trial step during the line search of the first iterations.\",\"help\":\"INSTEP=*r*\",\"type\":\"value\"},{\"name\":\"LINESEARCH=\",\"optional\":true,\"aliases\":[\"LIS=\"],\"description\":\"Specifies the line-search method for the CONGRA, QUANEW, and NEWRAP optimization techniques.\",\"help\":\"LINESEARCH=1 | 2 | 3 | 4 | 5 | 6 | 7 | 8\",\"type\":\"choice\",\"arguments\":[{\"name\":\"1\",\"description\":\"Specifies a line-search method that needs the same number of function and gradient calls for cubic interpolation and cubic extrapolation; this method is similar to one used by the Harwell subroutine library.\",\"type\":\"standalone\"},{\"name\":\"2\",\"description\":\"Specifies a line-search method that needs more function calls than gradient calls for quadratic and cubic interpolation and cubic extrapolation; this method is implemented as shown in Fletcher (1987) and can be modified to an exact line search by using the LSPRECISION= option.\",\"type\":\"standalone\"},{\"name\":\"3\",\"description\":\"Specifies a line-search method that needs the same number of function and gradient calls for cubic interpolation and cubic extrapolation; this method is implemented as shown in Fletcher (1987) and can be modified to an exact line search by using the LSPRECISION= option.\",\"type\":\"standalone\"},{\"name\":\"4\",\"description\":\"Specifies a line-search method that needs the same number of function and gradient calls for stepwise extrapolation and cubic interpolation\",\"type\":\"standalone\"},{\"name\":\"5\",\"description\":\"Specifies a line-search method that is a modified version of LIS=4.\",\"type\":\"standalone\"},{\"name\":\"6\",\"description\":\"Specifies golden section line search (Polak 1971), which uses only function values for linear approximation.\",\"type\":\"standalone\"},{\"name\":\"7\",\"description\":\"Specifies bisection line search (Polak 1971), which uses only function values for linear approximation.\",\"type\":\"standalone\"},{\"name\":\"8\",\"description\":\"Specifies Armijo line-search technique (Polak 1971), which uses only function values for linear approximation.\",\"type\":\"standalone\"}]},{\"name\":\"LSPRECISION=\",\"optional\":true,\"aliases\":[\"LSP=\"],\"description\":\"Specifies the degree of accuracy that should be obtained by the line-search algorithms LIS=2 and LIS=3. The default LSPRECISION= values are:\",\"type\":\"value\"},{\"name\":\"MAXFUNC=\",\"optional\":true,\"aliases\":[\"MAXFU=\"],\"description\":\"Requires the number of function calls to be no larger than i. The default values are:\",\"type\":\"value\"},{\"name\":\"MAXITER=\",\"optional\":true,\"aliases\":[\"MAXIT=\"],\"description\":\"Requires the number of iterations to be no larger than i. The default values are: o For TECH= TRUREG, NRRIDG, NEWRAP: i=50 o For TECH= QUANEW, DBLDOG: i=200 o For TECH= CONGRA: i=400 o For TECH= NMSIMP: i=1000 These default values are also valid when i is specified as a missing value.\",\"type\":\"value\"},{\"name\":\"MAXSTEP=\",\"optional\":true,\"description\":\"Specifies an upper bound for the step length of the line-search algorithms during the first n iterations.\",\"help\":\"MAXSTEP=*r[n*\",\"type\":\"value\"},{\"name\":\"MAXTIME=\",\"optional\":true,\"description\":\"Requires the CPU time to be no larger than r. The default value of the MAXTIME= option is the largest double floating-point number on your computer. Note that the time specified by the MAXTIME= option is checked only once at the end of each iteration. Therefore, the actual running time can be much longer than that specified by the MAXTIME= option. The actual running time includes the rest of the time needed to finish the iteration and the time needed to generate the output of the results.\",\"help\":\"MAXTIME=*r*\",\"type\":\"value\"},{\"name\":\"MINITER=\",\"optional\":true,\"aliases\":[\"MINIT=\"],\"description\":\"Specifies the minimum number of iterations. The default value is 0. If you request more iterations than are actually needed for convergence to a stationary point, the optimization algorithms can behave strangely. For example, the effect of rounding errors can prevent the algorithm from continuing for the required number of iterations.\",\"type\":\"value\"},{\"name\":\"NOPRINT\",\"optional\":true,\"description\":\"Suppresses the output.\",\"type\":\"standalone\"},{\"name\":\"PALL\",\"optional\":true,\"description\":\"[Displays all optional output for optimization.\",\"type\":\"standalone\"},{\"name\":\"PHISTORY\",\"optional\":true,\"description\":\"Displays the optimization history.\",\"type\":\"standalone\"},{\"name\":\"PHISTPARMS\",\"optional\":true,\"description\":\"Display parameter estimates in each iteration.\",\"type\":\"standalone\"},{\"name\":\"PINIT\",\"optional\":true,\"description\":\"Displays the initial values and derivatives (if available).\",\"type\":\"standalone\"},{\"name\":\"PSHORT\",\"optional\":true,\"description\":\"Restricts the amount of default output.\",\"type\":\"standalone\"},{\"name\":\"PSUMMARY\",\"optional\":true,\"description\":\"Restricts the amount of default displayed output to a short form of iteration history and notes, warnings, and errors.\",\"type\":\"standalone\"},{\"name\":\"RESTART=\",\"optional\":true,\"aliases\":[\"REST=\"],\"description\":\"Specifies that the QUANEW or CONGRA algorithm is restarted with a steepest descent/ascent search direction after, at most, i iterations, i > 0.\",\"type\":\"value\"},{\"name\":\"SOCKET=\",\"optional\":true,\"description\":\"Specifies the fileref that contains the information needed for remote monitoring.\",\"type\":\"value\"},{\"name\":\"TECHNIQUE=\",\"optional\":true,\"aliases\":[\"TECH=\"],\"description\":\"Specifies the optimization technique.\",\"help\":\"TECHNIQUE=CONGRA | DBLDOG | NMSIMP | NEWRAP | NRRIDG | QUANEW | TRUREG | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"CONGRA\",\"description\":\"Chooses one of four different conjugate-gradient optimization algorithms, which can be more precisely defined with the UPDATE= option and modified with the LINESEARCH= option.\",\"type\":\"standalone\"},{\"name\":\"DBLDOG\",\"description\":\"Performs a version of double-dogleg optimization, which uses the gradient to update an approximation of the Cholesky factor of the Hessian.\",\"type\":\"standalone\"},{\"name\":\"NMSIMP\",\"description\":\"Performs a Nelder-Mead simplex optimization.\",\"type\":\"standalone\"},{\"name\":\"NEWRAP\",\"description\":\"Performs a usually stable but, for large problems, memory- and time-consuming Newton-Raphson optimization technique. The algorithm combines a line-search algorithm with ridging, and it can be modified with the LINESEARCH= option.\",\"type\":\"standalone\"},{\"name\":\"NRRIDG\",\"description\":\"Performs a usually stable but, for large problems, memory- and time-consuming Newton-Raphson optimization technique. This algorithm does not perform a line search.\",\"type\":\"standalone\"},{\"name\":\"QUANEW\",\"description\":\"Chooses one of four different quasi-Newton optimization algorithms that can be more precisely defined with the UPDATE= option and modified with the LINESEARCH= option.\",\"type\":\"standalone\"},{\"name\":\"TRUREG\",\"description\":\"Performs a usually very stable but, for large problems, memory- and time-consuming trust-region optimization technique. The algorithm is implemented similar to Gay (1983) and Moré and Sorensen (1983).\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"Does not perform any optimization. This option is similar to METHOD=NONE, but TECH=NONE also computes and displays residuals and goodness of fit statistics.\",\"type\":\"standalone\"}]},{\"name\":\"UPDATE=\",\"optional\":true,\"aliases\":[\"UPD=\"],\"description\":\"Specifies the update method for the quasi-Newton, double-dogleg, or conjugate-gradient optimization technique.\",\"help\":\"UPDATE=BFGS | DBFGS | DDFP | DFP | PB | FR | PR | CD\",\"type\":\"choice\",\"arguments\":[{\"name\":\"BFGS\",\"description\":\"Performs the original Broyden, Fletcher, Goldfarb, and Shanno (BFGS) update of the inverse Hessian matrix.\",\"type\":\"standalone\"},{\"name\":\"DBFGS\",\"description\":\"Performs the dual BFGS update of the Cholesky factor of the Hessian matrix. This is the default update method.\",\"type\":\"standalone\"},{\"name\":\"DDFP\",\"description\":\"Performs the dual Davidon, Fletcher, and Powell (DFP) update of the Cholesky factor of the Hessian matrix.\",\"type\":\"standalone\"},{\"name\":\"DFP\",\"description\":\"Performs the original DFP update of the inverse Hessian matrix.\",\"type\":\"standalone\"},{\"name\":\"PB\",\"description\":\"Performs the automatic restart update method of Powell (1977) and Beale (1972).\",\"type\":\"standalone\"},{\"name\":\"FR\",\"description\":\"Performs the Fletcher-Reeves update (Fletcher 1987).\",\"type\":\"standalone\"},{\"name\":\"PR\",\"description\":\"Performs the Polak-Ribiere update (Fletcher 1987).\",\"type\":\"standalone\"},{\"name\":\"CD\",\"description\":\"Performs a conjugate-descent update of Fletcher (1987).\",\"type\":\"standalone\"}]},{\"name\":\"XCONV=\",\"optional\":true,\"aliases\":[\"XTOL=\"],\"description\":\"Specifies the relative parameter convergence criterion. For all techniques except NMSIMP, termination requires a small relative parameter change in subsequent iterations. The default value is r=1E-8 for the NMSIMP technique and r=0 otherwise. The optional integer value n specifies the number of successive iterations for which the criterion must be satisfied before the process can be terminated.\",\"type\":\"value\"},{\"name\":\"XSIZE=\",\"optional\":true,\"description\":\"Specifies the XSIZE parameter of the relative parameter termination criterion. The default value is r=0.\",\"type\":\"value\"}]},{\"name\":\"OUTPUT\",\"description\":\"The OUTPUT statement generates and prints forecasts based on the model estimated in the previous MODEL statement and, optionally, creates an output SAS data set that contains these forecasts.\",\"help\":\"OUTPUT &lt;ALPHA=number&gt;&lt;BACK=number&gt;&lt;LEAD=number&gt; ...\",\"arguments\":[{\"name\":\"ALPHA=\",\"optional\":true,\"description\":\"Sets the forecast confidence limit size, where number is between 0 and 1. When you specify the ALPHA=number option, the upper and lower confidence limits define the 100(1-α)% confidence interval. The default is ALPHA=0.05, which produces 95% confidence intervals.\",\"help\":\"ALPHA=*number*\",\"type\":\"value\"},{\"name\":\"BACK=\",\"optional\":true,\"description\":\"Specifies the number of observations before the end of the data at which the multistep forecasts begin. The BACK= option value must be less than or equal to the number of observations minus the number of lagged regressors in the model. The default is BACK=0, which means that the forecasts start at the end of the available data.\",\"help\":\"BACK=*number*\",\"type\":\"value\"},{\"name\":\"LEAD=\",\"optional\":true,\"description\":\"Specifies the number of multistep forecast values to compute. The default is LEAD=12.\",\"help\":\"LEAD=*number*\",\"type\":\"value\"},{\"name\":\"NOPRINT\",\"optional\":true,\"description\":\"Suppresses the printed forecast values of each dependent (endogenous) variable.\",\"type\":\"standalone\"},{\"name\":\"OUT=\",\"optional\":true,\"description\":\"Writes the forecast values to an output data set.\",\"help\":\"OUT=*SAS-data-set*\",\"type\":\"dataSet\"}]},{\"name\":\"RESTRICT\",\"description\":\"The RESTRICT statement restricts the specified parameters to the specified values. Only one RESTRICT statement is allowed, but multiple restrictions can be specified in one RESTRICT statement.\",\"help\":\"RESTRICT &lt;AR(l,i,j)=&gt;&lt;CONST(i)=&gt;&lt;MA(l,i,j)=&gt; ...\",\"arguments\":[{\"name\":\"ACH\",\"optional\":true,\"description\":\"Is the ARCH parameter of the lag l value of (ε)t(ε')t, where i,j=1,...,k for BEKK representation and i=j=1,...,k for CCC representation.\",\"type\":\"standalone\"},{\"name\":\"AR\",\"optional\":true,\"description\":\"Is the autoregressive parameter of the lag l value of the (j)th dependent (endogenous) variable, (y)j,t-l, to the (i)th dependent variable at time t, (y)it.\",\"type\":\"standalone\"},{\"name\":\"CCC\",\"optional\":true,\"description\":\"Is the constant conditional correlation parameter for only the CCC representation; (i,j) is 1 ≤ i ≤ j ≤ k.\",\"type\":\"standalone\"},{\"name\":\"CONST\",\"optional\":true,\"description\":\"Is the intercept parameter of the (i)th time series, (y)it\",\"type\":\"standalone\"},{\"name\":\"GCH\",\"optional\":true,\"description\":\"Is the GARCH parameter of the lag l value of covariance matrix, Ht, where i,j=1,...,k for BEKK representation and i=j=1,...,k for CCC representation.\",\"type\":\"standalone\"},{\"name\":\"GCHC\",\"optional\":true,\"description\":\"Is the constant parameter of the covariance matrix, Ht, and (i,j) is 1 ≤ i=j ≤ k for CCC representation and 1 ≤ i ≤ j ≤ k for BEKK representations, where k is the number of dependent variables.\",\"type\":\"standalone\"},{\"name\":\"LTREND\",\"optional\":true,\"description\":\"Is the linear trend parameter of the current value (i)th time series, (y)it.\",\"type\":\"standalone\"},{\"name\":\"MA\",\"optional\":true,\"description\":\"Is the moving-average parameter of the lag l value of the (j)th error process, єj,t-l, to the (i)th dependent variable at time t, (y)it.\",\"type\":\"standalone\"},{\"name\":\"QTREND\",\"optional\":true,\"description\":\"Is the quadratic trend parameter of the current value (i)th time series, (y)it.\",\"type\":\"standalone\"},{\"name\":\"SDUMMY\",\"optional\":true,\"description\":\"Is the (j)th seasonal dummy of the (i)th time series at time t, (y)it, where j=1,...,(nseason-1), where nseason is based on the NSEASON= option in the MODEL statement.\",\"type\":\"standalone\"},{\"name\":\"XL\",\"optional\":true,\"description\":\"Is the exogenous parameter of the lag l value of the (j)th exogenous (independent) variable, (x)j,t-l, to the (i)th dependent variable at time t, (y)it.\",\"type\":\"standalone\"}]},{\"name\":\"TEST\",\"description\":\"The TEST statement performs the Wald test for the joint hypothesis specified in the statement. The restriction’s form is parameter=value, and each restriction is separated by commas. The restrictions are specified in the same manner as in the RESTRICT statement. Any number of TEST statements can be specified. To use the TEST statement, you need to know the form of the model. If the P=, Q=, and XLAG= options are not specified, then the TEST statement is not applicable. The following is an example of the TEST statement. In the case of a bivariate (=2) VAR(2) model, proc varmax data=one; model y1 y2 / p=2; test AR(1,1,2)=0, AR(2,1,2)=0; run;\",\"help\":\"TEST &lt;AR(l,i,j)=&gt;&lt;CONST(i)=&gt;&lt;MA(l,i,j)=&gt; ...\",\"arguments\":[{\"name\":\"ACH\",\"optional\":true,\"description\":\"Is the ARCH parameter of the lag l value of (ε)t(ε)'t, where i,j=1,...,k for BEKK representation and i=j=1,...,k for CCC representation.\",\"type\":\"standalone\"},{\"name\":\"AR\",\"optional\":true,\"description\":\"Is the autoregressive parameter of the lag l value of the (j)th dependent (endogenous) variable, (y)j,t-l, to the (i)th dependent variable at time t, (y)it.\",\"type\":\"standalone\"},{\"name\":\"CCC\",\"optional\":true,\"description\":\"Is the constant conditional correlation parameter for only the CCC representation; (i,j) is 1 ≤ i ≤ j ≤ k.\",\"type\":\"standalone\"},{\"name\":\"CONST\",\"optional\":true,\"description\":\"Is the intercept parameter of the (i)th time series, (y)it\",\"type\":\"standalone\"},{\"name\":\"GCH\",\"optional\":true,\"description\":\"Is the GARCH parameter of the lag l value of covariance matrix, Ht, where i,j=1,...,k for BEKK representation and i=j=1,...,k for CCC representation.\",\"type\":\"standalone\"},{\"name\":\"GCHC\",\"optional\":true,\"description\":\"Is the constant parameter of the covariance matrix, Ht, and (i,j) is 1 ≤ i=j ≤ k for CCC representation and 1 ≤ i ≤ j ≤ k for BEKK representations, where k is the number of dependent variables.\",\"type\":\"standalone\"},{\"name\":\"LTREND\",\"optional\":true,\"description\":\"Is the linear trend parameter of the current value (i)th time series, (y)it.\",\"type\":\"standalone\"},{\"name\":\"MA\",\"optional\":true,\"description\":\"Is the moving-average parameter of the lag l value of the (j)th error process, (ε)j,t-l, to the (i)th dependent variable at time t, (y)it.\",\"type\":\"standalone\"},{\"name\":\"QTREND\",\"optional\":true,\"description\":\"Is the quadratic trend parameter of the current value (i)th time series, (y)it.\",\"type\":\"standalone\"},{\"name\":\"SDUMMY\",\"optional\":true,\"description\":\"Is the (j)th seasonal dummy of the (i)th time series at time t, (y)it, where , where j=1,...,(nseason-1), where nseason is based on the NSEASON= option in the MODEL statement.\",\"type\":\"standalone\"},{\"name\":\"XL\",\"optional\":true,\"description\":\"Is the exogenous parameter of the lag l value of the (j)th exogenous (independent) variable, (x)j,t-l, to the (i)th dependent variable at time t, (y)it.\",\"type\":\"standalone\"}]}],\"supportSiteInformation\":{\"docsetId\":\"etsug\",\"docsetVersion\":\"latest\",\"docsetTargetFile\":\"etsug_varmax_toc.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/VARREDUCE.json",
    "content": "{\"name\":\"VARREDUCE\",\"statements\":[{\"name\":\"PROC VARREDUCE\",\"description\":\"The VARREDUCE procedure is a high-performance procedure that performs both supervised and unsupervised variable selection on the SAS appliance. You can use the VARREDUCE procedure to read data in distributed form and perform variable selection in parallel in single-machine mode or distributed mode. † The VARREDUCE procedure performs unsupervised variable selection by identifying a set of variables that jointly explain the maximum amount of data variance. Unlike principal component analysis (PCA), which reduces dimensionality by generating a set of new variables (variable extraction), the VARREDUCE procedure reduces dimensionality by selecting a subset of the original variables (variable selection). Thus, this technique preserves model interpretation.\",\"help\":\"PROC VARREDUCE <DATA=CAS-libref.data-table><MATRIX=CORR | COV | SSCP><TECHNIQUE=VARIANCEANALYSIS|VAR | DISCRIMINANTANALYSIS|DSC>;     \\n\\tCLASS <DESCENDING><MISSING> ;\\n\\n\\tDISPLAY <CASESENSITIVE><EXCLUDE><EXCLUDEALL> ...;\\n\\n\\tDISPLAYOUT <NOREPLACE><REPEATED> ;\\n\\n\\tFREQ variable ;\\n\\n\\tREDUCE SUPERVISED <AIC><AICC><BIC> ...;\\n\\n\\tREDUCE UNSUPERVISED <MAXEFFECTS=n><MAXITER=n | MAXSTEPS=n><VARIANCEEXPLAINED=fraction | VAREXP=fraction> ...;\\n\",\"arguments\":[{\"name\":\"DATA=\",\"optional\":true,\"description\":\"Names the input data table for PROC VARREDUCE to use. The default is the most recently created data table. CAS-libref.data-table is a two-level name, where\",\"help\":\"DATA=*CAS-libref.data-table*\",\"type\":\"dataSet\"},{\"name\":\"MATRIX=\",\"optional\":true,\"description\":\"Specifies the matrix to use to select variables: Pearson correlation, sum of squares and crossproducts, or covariance respectively.\",\"help\":\"MATRIX=CORR | COV | SSCP\",\"type\":\"choice\",\"arguments\":[{\"name\":\"CORR\",\"description\":\"Selects variables based on the Pearson correlation matrix.\",\"type\":\"standalone\"},{\"name\":\"COV\",\"description\":\"Selects variables based on the covariance matrix.\",\"type\":\"standalone\"},{\"name\":\"SSCP\",\"description\":\"Selects variables based on the sums of squares and crossproducts matrix.\",\"type\":\"standalone\"}]},{\"name\":\"TECHNIQUE=\",\"optional\":true,\"aliases\":[\"TECH=\"],\"description\":\"Specifies the variable selection technique. You can specify the following keywords:\",\"help\":\"TECHNIQUE=VARIANCEANALYSIS|VAR | DISCRIMINANTANALYSIS|DSC\",\"type\":\"choice\",\"arguments\":[{\"name\":\"VARIANCEANALYSIS\",\"description\":\"Performs variance analysis for variable selection.\",\"help\":\"VARIANCEANALYSIS|VAR\",\"type\":\"choice\"},{\"name\":\"DISCRIMINANTANALYSIS\",\"description\":\"Performs discriminant analysis for variable selection.\",\"help\":\"DISCRIMINANTANALYSIS|DSC\",\"type\":\"choice\"}]}]},{\"name\":\"CLASS\",\"description\":\"The CLASS statement names the classification variables to be used as explanatory variables in the analysis. The CLASS statement must precede the REDUCE statement. The VARREDUCE procedure does not support the SPLIT option in the CLASS statement. For CLASS variable parameterization, the VARREDUCE procedure only support the GLM method.\",\"help\":\"CLASS &lt;DESCENDING&gt;&lt;MISSING&gt;\",\"arguments\":[{\"name\":\"DESCENDING\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"DESC\"],\"description\":\"Reverses the sort order of the classification variable.\",\"type\":\"standalone\"},{\"name\":\"MISSING\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Treats missing values (“.”, “.A”, . . . , “.Z” for numeric variables and blanks for character variables) as valid values for the CLASS variable.\",\"type\":\"standalone\"}]},{\"name\":\"DISPLAY\",\"description\":\"The DISPLAY statement enables you to specify a list of ODS tables to display or exclude. This statement is similar to the ODS SELECT, ODS EXCLUDE, and ODS TRACE statements. However, the DISPLAY statement can improve performance when a large number of tables could be generated (such as in BY-group processing). The procedure processes the DISPLAY statement on a CAS server and thus sends only a subset of ODS tables to the SAS client. Because ODS statements are processed on a SAS client, all ODS tables are sent to the client and then the client creates a subset. If both DISPLAY and ODS statements are used together, the DISPLAY statement takes precedence over the ODS statements.\",\"help\":\"DISPLAY &lt;CASESENSITIVE&gt;&lt;EXCLUDE&gt;&lt;EXCLUDEALL&gt; ...\",\"arguments\":[{\"name\":\"CASESENSITIVE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Performs a case-sensitive comparison of table names in the table-list to ODS table names when tables are subsetted for display. To preserve case, you must enclose table names in the table-list in quotation marks.\",\"type\":\"standalone\"},{\"name\":\"EXCLUDE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays all ODS tables except those specified in the table-list.\",\"type\":\"standalone\"},{\"name\":\"EXCLUDEALL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Suppresses display of all tables. This option takes precedence over the other options.\",\"type\":\"standalone\"},{\"name\":\"TRACE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Displays the ODS table names, labels, and paths.\",\"type\":\"standalone\"}]},{\"name\":\"DISPLAYOUT\",\"description\":\"The DISPLAYOUT statement enables you to create CAS output tables from your displayed output. This statement is similar to the ODS OUTPUT statement. The table-spec-list specifies a list of CAS output tables to create. Each entry in the list has either a key or a key=value format: key=value specifies key as the ODS table name, path, or partial pathname, and specifies value as the CAS output table name. key specifies key as the ODS table name and also as the CAS output table name. Table names and partial pathnames are discussed under the DISPLAY statement. The DISPLAYOUT statement does not support regular expressions.\",\"help\":\"DISPLAYOUT &lt;NOREPLACE&gt;&lt;REPEATED&gt;\",\"arguments\":[{\"name\":\"NOREPLACE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Does not replace an existing CAS output table of the same name.\",\"type\":\"standalone\"},{\"name\":\"REPEATED\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Replicates the CAS output tables on all nodes.\",\"type\":\"standalone\"}]},{\"name\":\"FREQ\",\"description\":\"The variable in the FREQ statement identifies a numeric variable in the data set that contains the frequency of occurrence for each observation. SAS high-performance analytical procedures that support the FREQ statement treat each observation as if it appeared f times, where f is the value of the FREQ variable for the observation. If the frequency value is not an integer, it is truncated to an integer. If the frequency value is less than 1 or missing, the observation is not used in the analysis. When the FREQ statement is not specified, each observation is assigned a frequency of 1.\",\"help\":\"FREQ variable \"},{\"name\":\"REDUCE SUPERVISED\",\"description\":\"PROC VARREDUCE can be used for both supervised and unsupervised variable selection. In unsupervised case, the REDUCE statement specifies the effects to be considered in the variable selection process. An effect can be an original variable in the input data set or a variable constructed from the original variables. In the supervised case, besides the effects, the response variables also needs to be specified. A response variable can be an original variable in the input data set or a variable constructed from the original variables.\",\"help\":\"REDUCE SUPERVISED &lt;AIC&gt;&lt;AICC&gt;&lt;BIC&gt; ...\",\"arguments\":[{\"name\":\"AIC\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Stops PROC VARREDUCE if the Akaike’s information criterion (AIC) value fails to decrease in three contiguous steps.\",\"type\":\"standalone\"},{\"name\":\"AICC\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Stops PROC VARREDUCE if the corrected Akaike’s information (AICC) value fails to decrease in three contiguous steps.\",\"type\":\"standalone\"},{\"name\":\"BIC\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Stops PROC VARREDUCE if the Schwarz Bayesian information criterion (BIC) value fails to decrease in three contiguous steps.\",\"type\":\"standalone\"},{\"name\":\"MAXEFFECTS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"[For both supervised and unsupervised variable selection] Stops PROC VARREDUCE after n effects have been selected. Because individual levels of one classification variable can be selected in different steps of the variable selection process, PROC VARREDUCE might take more than n steps to select n effects.\",\"help\":\"MAXEFFECTS=*n*\",\"type\":\"value\"},{\"name\":\"MAXITER=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"MAXSTEPS=\"],\"description\":\"[For both supervised and unsupervised variable selection] Stops PROC VARREDUCE after it runs n steps.\",\"type\":\"value\"},{\"name\":\"MINVARIANCEINCREMENT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"VARINC=\"],\"description\":\"[For both supervised and unsupervised variable selection]\",\"type\":\"value\"},{\"name\":\"VARIANCEEXPLAINED=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"VAREXP=\"],\"description\":\"[For both supervised and unsupervised variable selection]\",\"type\":\"value\"}]},{\"name\":\"REDUCE UNSUPERVISED\",\"description\":\"PROC VARREDUCE can be used for both supervised and unsupervised variable selection. In unsupervised case, the REDUCE statement specifies the effects to be considered in the variable selection process. An effect can be an original variable in the input data set or a variable constructed from the original variables. In the supervised case, besides the effects, the response variables also needs to be specified. A response variable can be an original variable in the input data set or a variable constructed from the original variables.\",\"help\":\"REDUCE UNSUPERVISED &lt;MAXEFFECTS=n&gt;&lt;MAXITER=n | MAXSTEPS=n&gt;&lt;VARIANCEEXPLAINED=fraction | VAREXP=fraction&gt; ...\",\"arguments\":[{\"name\":\"MAXEFFECTS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"[For both supervised and unsupervised variable selection] Stops PROC VARREDUCE after n effects have been selected. Because individual levels of one classification variable can be selected in different steps of the variable selection process, PROC VARREDUCE might take more than n steps to select n effects.\",\"help\":\"MAXEFFECTS=*n*\",\"type\":\"value\"},{\"name\":\"MAXITER=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"MAXSTEPS=\"],\"description\":\"[For both supervised and unsupervised variable selection] Stops PROC VARREDUCE after it runs n steps.\",\"type\":\"value\"},{\"name\":\"MINVARIANCEINCREMENT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"VARINC=\"],\"description\":\"[For both supervised and unsupervised variable selection]\",\"type\":\"value\"},{\"name\":\"VARIANCEEXPLAINED=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"VAREXP=\"],\"description\":\"[For both supervised and unsupervised variable selection]\",\"type\":\"value\"}]}],\"supportSiteInformation\":{\"docsetId\":\"casstat\",\"docsetVersion\":\"latest\",\"docsetTargetFile\":\"casstat_varreduce_toc.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/X11.json",
    "content": "{\"name\":\"X11\",\"statements\":[{\"name\":\"PROC X11\",\"description\":\"The X11 procedure, an adaptation of the U.S. Bureau of the Census X-11 Seasonal Adjustment program, seasonally adjusts monthly or quarterly time series. The procedure makes additive or multiplicative adjustments and creates an output data set containing the adjusted time series and intermediate calculations. † The X11 procedure also provides the X-11-ARIMA method developed by Statistics Canada. This method fits an ARIMA model to the original series, then uses the model forecast to extend the original series. This extended series is then seasonally adjusted by the standard X-11 seasonal adjustment method. The extension of the series improves the estimation of the seasonal factors and reduces revisions to the seasonally adjusted series as new data become available.\",\"help\":\"PROC X11 <DATA= SAS-data-set><NOPRINT><OUTEXTRAP><OUTSPAN= SAS-data-set><OUTSTB= SAS-data-set><OUTTDR= SAS-data-set><YRAHEADOUT>;     \\n\\tARIMA <BACKCAST= n><CHICR= value><CONVERGE= value> ...;\\n\\n\\tBY variables ;\\n\\n\\tID variables ;\\n\\n\\tMACURVES <FEBRUARY=<'3' | '3X3' | '3X5'>... ><JANUARY=<'3' | '3X3' | '3X5'>... ><MARCH=<'3' | '3X3' | '3X5'>... > ...;\\n\\n\\tMONTHLY <ADDITIVE><CHARTS=<STANDARD | FULL | NONE>><DATE= variable> ...;\\n\\n\\tOUTPUT <OUT= SAS-data-set> ;\\n\\n\\tPDWEIGHTS <MONDAY=><SUNDAY=><TUESDAY=> ...;\\n\\n\\tQUARTERLY <ADDITIVE><CHARTS=<STANDARD | FULL | NONE>><DATE= variable> ...;\\n\\n\\tSSPAN <CUTOFF= value><NDEC= n><TDCUTOFF= value> ...;\\n\\n\\tTABLES <A1><A2><A3> ...;\\n\\n\\tVAR variables ;\\n\",\"arguments\":[{\"name\":\"DATA=\",\"optional\":true,\"description\":\"Specifies the input SAS data set used. If it is omitted, the most recently created SAS data set is used.\",\"type\":\"value\"},{\"name\":\"NOPRINT\",\"optional\":true,\"description\":\"Suppresses any printed output. The NOPRINT option overrides any PRINTOUT=, CHARTS=, or TABLES statement and any output associated with the ARIMA statement.\",\"type\":\"standalone\"},{\"name\":\"OUTEXTRAP\",\"optional\":true,\"description\":\"Adds the extra observations used in ARIMA processing to the output data set. When ARIMA forecasting/backcasting is requested, extra observations are appended to the ends of the series, and the calculations are carried out on this extended series. The appended observations are not normally written to the OUT= data set. However, if OUTEXTRAP is specified, these extra observations are written to the output data set.\",\"type\":\"standalone\"},{\"name\":\"OUTSPAN=\",\"optional\":true,\"description\":\"Specifies the output data set to store the sliding spans analysis results. Tables A1, C18, D10, and D11 for each span are written to this data set.\",\"type\":\"value\"},{\"name\":\"OUTSTB=\",\"optional\":true,\"description\":\"' Specifies the output data set to store the stable seasonality test results (table D8). All the information in the analysis of variance table associated with the stable seasonality test is contained in the variables written to this data set.\",\"type\":\"value\"},{\"name\":\"OUTTDR=\",\"optional\":true,\"description\":\"Specifies the output data set to store the trading-day regression results (tables B15 and C15). All the information in the analysis of variance table associated with the trading-day regression is contained in the variables written to this data set. This option is valid only when TDREGR=PRINT, TEST, or ADJUST is specified in the MONTHLY statement.\",\"type\":\"value\"},{\"name\":\"YRAHEADOUT\",\"optional\":true,\"description\":\"Adds one-year-ahead forecast values to the output data set for tables C16, C18, and D10. The original purpose of this option was to avoid recomputation of the seasonal adjustment factors when new data became available. While computing costs were an important factor when the X-11 method was developed, this is no longer the case and this option is obsolete.\",\"type\":\"standalone\"}]},{\"name\":\"ARIMA\",\"description\":\"The ARIMA statement applies the X-11-ARIMA method to the series specified in the VAR statement. This method uses an ARIMA model estimated from the original data to extend the series one or more years. The ARIMA statement options control the ARIMA model used and the estimation, forecasting, and printing of this model.\",\"help\":\"ARIMA &lt;BACKCAST= n&gt;&lt;CHICR= value&gt;&lt;CONVERGE= value&gt; ...\",\"arguments\":[{\"name\":\"BACKCAST=\",\"optional\":true,\"description\":\"Specifies the number of years to backcast the series. The default is BACKCAST= 0.\",\"type\":\"value\"},{\"name\":\"CENTER\",\"optional\":true,\"description\":\"Centers each time series by subtracting its sample mean. The analysis is done on the centered data. Later, when forecasts are generated, the mean is added back. Note that centering is done after differencing. The CENTER option is normally used in conjunction with the NOCONSTANT option of the ESTIMATE statement.\",\"type\":\"standalone\"},{\"name\":\"CHICR=\",\"optional\":true,\"description\":\"Specifies the criteria for the significance level for the Box-Ljung chi-square test for lack of fit when testing the five predefined models. The default is CHICR= 0.05.\",\"type\":\"value\"},{\"name\":\"CONVERGE=\",\"optional\":true,\"description\":\"Specifies the convergence criterion for the estimation of an ARIMA model. The default value is 0.001. The CONVERGE= value must be positive.\",\"type\":\"value\"},{\"name\":\"FORECAST=\",\"optional\":true,\"description\":\"Specifies the number of years to forecast the series. The default is FORECAST= 1.\",\"type\":\"value\"},{\"name\":\"MAPECR=\",\"optional\":true,\"description\":\"Specifies the criteria for the mean absolute percent error (MAPE) when testing the five predefined models. A small MAPE value is evidence for an adequate model; a large MAPE value results in the model being rejected. The MAPECR= value is the boundary for acceptance/rejection. Thus a larger MAPECR= value would make it easier for a model to pass the criteria. The default is MAPECR= 15. The MAPECR= option values must be between 1 and 100.\",\"type\":\"value\"},{\"name\":\"MAXITER=\",\"optional\":true,\"description\":\"Specifies the maximum number of iterations in the estimation process. MAXITER must be between 1 and 60; the default value is 15.\",\"type\":\"value\"},{\"name\":\"METHOD=\",\"optional\":true,\"description\":\"Specifies the estimation method.\",\"help\":\"METHOD=CLS | ULS | ML\",\"type\":\"choice\",\"arguments\":[{\"name\":\"CLS\",\"description\":\"Requests conditional least squares.\",\"type\":\"standalone\"},{\"name\":\"ULS\",\"description\":\"Requests unconditional least squares.\",\"type\":\"standalone\"},{\"name\":\"ML\",\"description\":\"Requests maximum likelihood.\",\"type\":\"standalone\"}]},{\"name\":\"MODEL=\",\"optional\":true,\"description\":\"Specifies the ARIMA model. The AR and MA orders are given by P=n1 and Q=n2, respectively, while the seasonal AR and MA orders are given by SP=n3 and SQ=n4, respectively.\",\"type\":\"value\"},{\"name\":\"NOINT\",\"optional\":true,\"description\":\"Suppresses the fitting of a constant (or intercept) parameter in the model. (That is, the parameter µ is omitted.)\",\"type\":\"standalone\"},{\"name\":\"NOPRINT\",\"optional\":true,\"description\":\"Suppresses the normal printout generated by the ARIMA statement. Note that the effect of specifying the NOPRINT option in the ARIMA statement is different from the effect of specifying the NOPRINT in the PROC X11 statement, since the former only affects ARIMA output.\",\"type\":\"standalone\"},{\"name\":\"OVDIFCR=\",\"optional\":true,\"description\":\"Specifies the criteria for the over-differencing test when testing the five predefined models. When the MA parameters in one of these models sum to a number close to 1.0, this is an indication of over-parameterization and the model is rejected. The OVDIFCR= value is the boundary for this rejection; values greater than this value fail the over-differencing test. A larger OVDIFCR= value would make it easier for a model to pass the criteria. The default is OVDIFCR= 0.90. The OVDIFCR= option values must be between 0.80 and 0.99.\",\"type\":\"value\"},{\"name\":\"PRINTALL\",\"optional\":true,\"description\":\"Provides the same output as the default printing for all models fit and, in addition, prints an estimation summary and chi-square statistics for each model fit.\",\"type\":\"standalone\"},{\"name\":\"PRINTFP\",\"optional\":true,\"description\":\"Prints the results for the initial pass of X11 made to exclude trading-day effects. This option has an effect only when the TDREGR= option specifies ADJUST, TEST, or PRINT. In these cases, an initial pass of the standard X11 method is required to get rid of calendar effects before doing any ARIMA estimation. Usually this first pass is not of interest, and by default no tables are printed. However, specifying PRINTFP in the ARIMA statement causes any tables printed in the final pass to also be printed for this initial pass.\",\"type\":\"standalone\"},{\"name\":\"TRANSFORM=\",\"optional\":true,\"description\":\"The ARIMA statement in PROC X11 allows certain transformations on the series before estimation. The specified transformation is applied only to a user-specified model. If TRANSFORM= is specified and the MODEL= option is not specified, the trans- formation request is ignored and a warning is printed.\",\"help\":\"TRANSFORM=LOG | (constant^power)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"LOG\",\"description\":\"Requests that the natural log of the series be used for estimation.\",\"type\":\"standalone\"},{\"name\":\"(constant^power)\",\"description\":\"Requests that a general power transformation of the form Xt->(Xt+a)^b be used for estimation, where a is the constant and b is the power.\",\"type\":\"standalone\"}]}]},{\"name\":\"BY\",\"description\":\"A BY statement can be used with PROC X11 to obtain separate analyses on observations in groups defined by the BY variables. When a BY statement appears, the procedure expects the input DATA= data set to be sorted in order of the BY variables.\",\"help\":\"BY variables \"},{\"name\":\"ID\",\"description\":\"If you are creating an output data set, use the ID statement to put values of the ID variables, in addition to the table values, into the output data set. The ID statement has no effect when an output data set is not created. If the DATE= variable is specified in the MONTHLY or QUARTERLY statement, this variable is included automatically in the OUTPUT data set. If no DATE= variable is specified, the variable _DATE_ is added.\",\"help\":\"ID variables \"},{\"name\":\"MACURVES\",\"description\":\"The MACURVES statement specifies the length of the moving-average curves for estimating the seasonal factors for any month. This statement can be used only with monthly time series data. The month=option specifications consist of the month name (or the first three letters of the month name), an equal sign, and one of the following option values: ’3’ specifies a three-term moving average for the month ’3X3’ specifies a three-by-three moving average ’3X5’ specifies a three-by-five moving average ’3X9’ specifies a three-by-nine moving average STABLE specifies a stable seasonal factor (average of all values for the month)\",\"help\":\"MACURVES &lt;FEBRUARY=&lt;'3' | '3X3' | '3X5'&gt;... &gt;&lt;JANUARY=&lt;'3' | '3X3' | '3X5'&gt;... &gt;&lt;MARCH=&lt;'3' | '3X3' | '3X5'&gt;... &gt; ...\",\"arguments\":[{\"name\":\"APRIL=\",\"optional\":true,\"aliases\":[\"APR=\"],\"description\":\"Specifies the length of the moving-average curves for estimating the seasonal factors for April.\",\"help\":\"APRIL='3' | '3X3' | '3X5' | '3X9' | STABLE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"'3'\",\"description\":\"Specifies a three-term moving average for the month.\",\"type\":\"standalone\"},{\"name\":\"'3X3'\",\"description\":\"Specifies a three-by-three moving average.\",\"type\":\"standalone\"},{\"name\":\"'3X5'\",\"description\":\"Specifies a three-by-five moving average.\",\"type\":\"standalone\"},{\"name\":\"'3X9'\",\"description\":\"Specifies a three-by-nine moving average.\",\"type\":\"standalone\"},{\"name\":\"STABLE\",\"description\":\"Specifies a stable seasonal factor (average of all values for the month)\",\"type\":\"standalone\"}]},{\"name\":\"AUGUST=\",\"optional\":true,\"aliases\":[\"AUG=\"],\"description\":\"Specifies the length of the moving-average curves for estimating the seasonal factors for August.\",\"help\":\"AUGUST='3' | '3X3' | '3X5' | '3X9' | STABLE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"'3'\",\"description\":\"Specifies a three-term moving average for the month.\",\"type\":\"standalone\"},{\"name\":\"'3X3'\",\"description\":\"Specifies a three-by-three moving average.\",\"type\":\"standalone\"},{\"name\":\"'3X5'\",\"description\":\"Specifies a three-by-five moving average.\",\"type\":\"standalone\"},{\"name\":\"'3X9'\",\"description\":\"Specifies a three-by-nine moving average.\",\"type\":\"standalone\"},{\"name\":\"STABLE\",\"description\":\"Specifies a stable seasonal factor (average of all values for the month)\",\"type\":\"standalone\"}]},{\"name\":\"DECEMBER=\",\"optional\":true,\"aliases\":[\"DEC=\"],\"description\":\"Specifies the length of the moving-average curves for estimating the seasonal factors for December.\",\"help\":\"DECEMBER='3' | '3X3' | '3X5' | '3X9' | STABLE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"'3'\",\"description\":\"Specifies a three-term moving average for the month.\",\"type\":\"standalone\"},{\"name\":\"'3X3'\",\"description\":\"Specifies a three-by-three moving average.\",\"type\":\"standalone\"},{\"name\":\"'3X5'\",\"description\":\"Specifies a three-by-five moving average.\",\"type\":\"standalone\"},{\"name\":\"'3X9'\",\"description\":\"Specifies a three-by-nine moving average.\",\"type\":\"standalone\"},{\"name\":\"STABLE\",\"description\":\"Specifies a stable seasonal factor (average of all values for the month)\",\"type\":\"standalone\"}]},{\"name\":\"FEBRUARY=\",\"optional\":true,\"aliases\":[\"FEB=\"],\"description\":\"Specifies the length of the moving-average curves for estimating the seasonal factors for February.\",\"help\":\"FEBRUARY='3' | '3X3' | '3X5' | '3X9' | STABLE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"'3'\",\"description\":\"Specifies a three-term moving average for the month.\",\"type\":\"standalone\"},{\"name\":\"'3X3'\",\"description\":\"Specifies a three-by-three moving average.\",\"type\":\"standalone\"},{\"name\":\"'3X5'\",\"description\":\"Specifies a three-by-five moving average.\",\"type\":\"standalone\"},{\"name\":\"'3X9'\",\"description\":\"Specifies a three-by-nine moving average.\",\"type\":\"standalone\"},{\"name\":\"STABLE\",\"description\":\"Specifies a stable seasonal factor (average of all values for the month)\",\"type\":\"standalone\"}]},{\"name\":\"JANUARY=\",\"optional\":true,\"aliases\":[\"JAN=\"],\"description\":\"Specifies the length of the moving-average curves for estimating the seasonal factors for January.\",\"help\":\"JANUARY='3' | '3X3' | '3X5' | '3X9' | STABLE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"'3'\",\"description\":\"Specifies a three-term moving average for the month.\",\"type\":\"standalone\"},{\"name\":\"'3X3'\",\"description\":\"Specifies a three-by-three moving average.\",\"type\":\"standalone\"},{\"name\":\"'3X5'\",\"description\":\"Specifies a three-by-five moving average.\",\"type\":\"standalone\"},{\"name\":\"'3X9'\",\"description\":\"Specifies a three-by-nine moving average.\",\"type\":\"standalone\"},{\"name\":\"STABLE\",\"description\":\"Specifies a stable seasonal factor (average of all values for the month)\",\"type\":\"standalone\"}]},{\"name\":\"JULY=\",\"optional\":true,\"aliases\":[\"JUL=\"],\"description\":\"Specifies the length of the moving-average curves for estimating the seasonal factors for July.\",\"help\":\"JULY='3' | '3X3' | '3X5' | '3X9' | STABLE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"'3'\",\"description\":\"Specifies a three-term moving average for the month.\",\"type\":\"standalone\"},{\"name\":\"'3X3'\",\"description\":\"Specifies a three-by-three moving average.\",\"type\":\"standalone\"},{\"name\":\"'3X5'\",\"description\":\"Specifies a three-by-five moving average.\",\"type\":\"standalone\"},{\"name\":\"'3X9'\",\"description\":\"Specifies a three-by-nine moving average.\",\"type\":\"standalone\"},{\"name\":\"STABLE\",\"description\":\"Specifies a stable seasonal factor (average of all values for the month)\",\"type\":\"standalone\"}]},{\"name\":\"JUNE=\",\"optional\":true,\"aliases\":[\"JUN=\"],\"description\":\"Specifies the length of the moving-average curves for estimating the seasonal factors for June.\",\"help\":\"JUNE='3' | '3X3' | '3X5' | '3X9' | STABLE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"'3'\",\"description\":\"Specifies a three-term moving average for the month.\",\"type\":\"standalone\"},{\"name\":\"'3X3'\",\"description\":\"Specifies a three-by-three moving average.\",\"type\":\"standalone\"},{\"name\":\"'3X5'\",\"description\":\"Specifies a three-by-five moving average.\",\"type\":\"standalone\"},{\"name\":\"'3X9'\",\"description\":\"Specifies a three-by-nine moving average.\",\"type\":\"standalone\"},{\"name\":\"STABLE\",\"description\":\"Specifies a stable seasonal factor (average of all values for the month)\",\"type\":\"standalone\"}]},{\"name\":\"MARCH=\",\"optional\":true,\"aliases\":[\"MAR=\"],\"description\":\"Specifies the length of the moving-average curves for estimating the seasonal factors for March.\",\"help\":\"MARCH='3' | '3X3' | '3X5' | '3X9' | STABLE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"'3'\",\"description\":\"Specifies a three-term moving average for the month.\",\"type\":\"standalone\"},{\"name\":\"'3X3'\",\"description\":\"Specifies a three-by-three moving average.\",\"type\":\"standalone\"},{\"name\":\"'3X5'\",\"description\":\"Specifies a three-by-five moving average.\",\"type\":\"standalone\"},{\"name\":\"'3X9'\",\"description\":\"Specifies a three-by-nine moving average.\",\"type\":\"standalone\"},{\"name\":\"STABLE\",\"description\":\"Specifies a stable seasonal factor (average of all values for the month)\",\"type\":\"standalone\"}]},{\"name\":\"MAY=\",\"optional\":true,\"description\":\"Specifies the length of the moving-average curves for estimating the seasonal factors for May.\",\"help\":\"MAY='3' | '3X3' | '3X5' | '3X9' | STABLE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"'3'\",\"description\":\"Specifies a three-term moving average for the month.\",\"type\":\"standalone\"},{\"name\":\"'3X3'\",\"description\":\"Specifies a three-by-three moving average.\",\"type\":\"standalone\"},{\"name\":\"'3X5'\",\"description\":\"Specifies a three-by-five moving average.\",\"type\":\"standalone\"},{\"name\":\"'3X9'\",\"description\":\"Specifies a three-by-nine moving average.\",\"type\":\"standalone\"},{\"name\":\"STABLE\",\"description\":\"Specifies a stable seasonal factor (average of all values for the month)\",\"type\":\"standalone\"}]},{\"name\":\"NOVEMBER=\",\"optional\":true,\"aliases\":[\"NOV=\"],\"description\":\"Specifies the length of the moving-average curves for estimating the seasonal factors for November.\",\"help\":\"NOVEMBER='3' | '3X3' | '3X5' | '3X9' | STABLE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"'3'\",\"description\":\"Specifies a three-term moving average for the month.\",\"type\":\"standalone\"},{\"name\":\"'3X3'\",\"description\":\"Specifies a three-by-three moving average.\",\"type\":\"standalone\"},{\"name\":\"'3X5'\",\"description\":\"Specifies a three-by-five moving average.\",\"type\":\"standalone\"},{\"name\":\"'3X9'\",\"description\":\"Specifies a three-by-nine moving average.\",\"type\":\"standalone\"},{\"name\":\"STABLE\",\"description\":\"Specifies a stable seasonal factor (average of all values for the month)\",\"type\":\"standalone\"}]},{\"name\":\"OCTOBER=\",\"optional\":true,\"aliases\":[\"OCT=\"],\"description\":\"Specifies the length of the moving-average curves for estimating the seasonal factors for October.\",\"help\":\"OCTOBER='3' | '3X3' | '3X5' | '3X9' | STABLE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"'3'\",\"description\":\"Specifies a three-term moving average for the month.\",\"type\":\"standalone\"},{\"name\":\"'3X3'\",\"description\":\"Specifies a three-by-three moving average.\",\"type\":\"standalone\"},{\"name\":\"'3X5'\",\"description\":\"Specifies a three-by-five moving average.\",\"type\":\"standalone\"},{\"name\":\"'3X9'\",\"description\":\"Specifies a three-by-nine moving average.\",\"type\":\"standalone\"},{\"name\":\"STABLE\",\"description\":\"Specifies a stable seasonal factor (average of all values for the month)\",\"type\":\"standalone\"}]},{\"name\":\"SEPTEMBER=\",\"optional\":true,\"aliases\":[\"SEP=\"],\"description\":\"Specifies the length of the moving-average curves for estimating the seasonal factors for September.\",\"help\":\"SEPTEMBER='3' | '3X3' | '3X5' | '3X9' | STABLE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"'3'\",\"description\":\"Specifies a three-term moving average for the month.\",\"type\":\"standalone\"},{\"name\":\"'3X3'\",\"description\":\"Specifies a three-by-three moving average.\",\"type\":\"standalone\"},{\"name\":\"'3X5'\",\"description\":\"Specifies a three-by-five moving average.\",\"type\":\"standalone\"},{\"name\":\"'3X9'\",\"description\":\"Specifies a three-by-nine moving average.\",\"type\":\"standalone\"},{\"name\":\"STABLE\",\"description\":\"Specifies a stable seasonal factor (average of all values for the month)\",\"type\":\"standalone\"}]}]},{\"name\":\"MONTHLY\",\"description\":\"The MONTHLY statement must be used when the input data to PROC X11 are a monthly time series. The MONTHLY statement specifies options that determine the computations performed by PROC X11 and what is included in its output. Either the DATE= or START= option must be used.\",\"help\":\"MONTHLY &lt;ADDITIVE&gt;&lt;CHARTS=&lt;STANDARD | FULL | NONE&gt;&gt;&lt;DATE= variable&gt; ...\",\"arguments\":[{\"name\":\"ADDITIVE\",\"optional\":true,\"description\":\"Performs additive adjustments. If the ADDITIVE option is omitted, PROC X11 performs multiplicative adjustments.\",\"type\":\"standalone\"},{\"name\":\"CHARTS=\",\"optional\":true,\"description\":\"Specifies the charts produced by the procedure. The default is CHARTS=STANDARD.\",\"help\":\"CHARTS=STANDARD | FULL | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"STANDARD\",\"description\":\"Specifies 12 monthly seasonal charts and a trend cycle chart.\",\"type\":\"standalone\"},{\"name\":\"FULL\",\"description\":\"Prints additional charts of irregular and seasonal factors.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"Specifies to print no charts.\",\"type\":\"standalone\"}]},{\"name\":\"DATE=\",\"optional\":true,\"description\":\"Specifies a variable that gives the date for each observation. The starting and ending dates are obtained from the first and last values of the DATE= variable, which must contain SAS date values.\",\"type\":\"value\"},{\"name\":\"END=\",\"optional\":true,\"description\":\"Specifies that only the part of the input series ending with the month and year given be adjusted (for example, END=DEC1970).\",\"type\":\"value\"},{\"name\":\"EXCLUDE=\",\"optional\":true,\"description\":\"Excludes from the trading-day regression any irregular values that are more than value standard deviations from the mean. The EXCLUDE=value must be between 0.1 and 9.9, with the default value being 2.5.\",\"type\":\"value\"},{\"name\":\"FULLWEIGHT=\",\"optional\":true,\"description\":\"Assigns weights to irregular values based on their distance from the mean in standard deviation units. The weights are used for estimating seasonal and trend cycle components. Irregular values less than the FULLWEIGHT= value (in standard deviation units) are assigned full weights of 1, values that fall between the ZEROWEIGHT= and FULLWEIGHT= limits are assigned weights linearly graduated between 0 and 1, and values greater than the ZEROWEIGHT= limit are assigned a weight of 0. The default is FULLWEIGHT=1.5.\",\"type\":\"value\"},{\"name\":\"LENGTH\",\"optional\":true,\"description\":\"Includes length-of-month allowance in computing trading-day factors. If this option is omitted, length-of-month allowances are included with the seasonal factors.\",\"type\":\"standalone\"},{\"name\":\"NDEC=\",\"optional\":true,\"description\":\"Specifies the number of decimal places shown in the printed tables in the listing. This option has no effect on the precision of the variable values in the output data set.\",\"type\":\"value\"},{\"name\":\"PMFACTOR=\",\"optional\":true,\"description\":\"Specifies a variable containing the prior monthly factors. Use this option if you have previous knowledge of monthly adjustment factors. The PMFACTOR= option can be used to make the following adjustments:\",\"type\":\"value\"},{\"name\":\"PRINTOUT=\",\"optional\":true,\"description\":\"Specifies the tables to be printed by the procedure. The default is PRINTOUT=STANDARD.\",\"help\":\"PRINTOUT=STANDARD | FULL | LONG | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"STANDARD\",\"description\":\"Prints between 17 and 27 tables depending on the other options that are specified.\",\"type\":\"standalone\"},{\"name\":\"FULL\",\"description\":\"Prints between 44 and 59 tables.\",\"type\":\"standalone\"},{\"name\":\"LONG\",\"description\":\"Prints between 27 and 39 tables\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"Prints no tables.\",\"type\":\"standalone\"}]},{\"name\":\"START=\",\"optional\":true,\"description\":\"Adjusts only the part of the input series starting with the specified month and year. When the DATE= option is not used, the START= option gives the year and month of the first input observation — for example, START= JAN1966. START= must be specified if DATE= is not given. If START= is specified (and no DATE= option is given), and an OUT= data set is requested, a variable named _DATE_ is added to the data set, giving the date value for each observation.\",\"type\":\"value\"},{\"name\":\"SUMMARY\",\"optional\":true,\"description\":\"Specifies that the data are already seasonally adjusted and the procedure is to produce summary measures. If the SUMMARY option is omitted, the X11 procedure performs seasonal adjustment of the input data before calculating summary measures.\",\"type\":\"standalone\"},{\"name\":\"TDCOMPUTE=\",\"optional\":true,\"description\":\"Uses the part of the input series beginning with January of the specified year to derive trading-day weights. If this option is omitted, the entire series is used.\",\"type\":\"value\"},{\"name\":\"TDREGR=\",\"optional\":true,\"description\":\"Specifies the treatment of trading-day regression. The default is TDREGR=NONE.\",\"help\":\"TDREGR=NONE | PRINT | ADJUST | TEST\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NONE\",\"description\":\"Omits the computation of the trading-day regression.\",\"type\":\"standalone\"},{\"name\":\"PRINT\",\"description\":\"Computes and prints the trading-day regressions but does not adjust the series.\",\"type\":\"standalone\"},{\"name\":\"ADJUST\",\"description\":\"Computes and prints the trading-day regression and adjusts the irregular components to obtain preliminary weights.\",\"type\":\"standalone\"},{\"name\":\"TEST\",\"description\":\"Adjusts the final series if the trading-day regression estimates explain significant variation on the basis of an F test (or residual trading-day variation if prior weights are used).\",\"type\":\"standalone\"}]},{\"name\":\"TRENDADJ\",\"optional\":true,\"description\":\"Modifies extreme irregular values prior to computing the trend cycle estimates in the first iteration. If the TRENDADJ option is omitted, the trend cycle is computed without modifications for extremes.\",\"type\":\"standalone\"},{\"name\":\"TRENDMA=\",\"optional\":true,\"description\":\"Specifies the number of terms in the moving average to be used by the procedure in estimating the variable trend cycle component.\",\"help\":\"TRENDMA=9 | 13 | 23\",\"type\":\"choice\",\"arguments\":[{\"name\":\"9\",\"description\":\"9 terms in the moving average.\",\"type\":\"standalone\"},{\"name\":\"13\",\"description\":\"13 terms in the moving average.\",\"type\":\"standalone\"},{\"name\":\"23\",\"description\":\"23 terms in the moving average.\",\"type\":\"standalone\"}]},{\"name\":\"ZEROWEIGHT=\",\"optional\":true,\"description\":\"Assigns weights to irregular values based on their distance from the mean in standard deviation units. The weights are used for estimating seasonal and trend cycle components. Irregular values beyond the standard deviation limit specified in the ZEROWEIGHT= option are assigned zero weights. Values that fall between the two limits (ZEROWEIGHT= and FULLWEIGHT=) are assigned weights linearly graduated between 0 and 1. The default is ZEROWEIGHT=2.5.\",\"type\":\"value\"}]},{\"name\":\"OUTPUT\",\"description\":\"The OUTPUT statement creates an output data set containing specified tables. The data set is named by the OUT= option.\",\"help\":\"OUTPUT &lt;OUT= SAS-data-set&gt;\",\"arguments\":[{\"name\":\"OUT=\",\"optional\":true,\"description\":\"Names the output data set. If OUT= is omitted, the SAS System names the new data set by using the DATAn convention.\",\"type\":\"value\"}]},{\"name\":\"PDWEIGHTS\",\"description\":\"The PDWEIGHTS statement can be used to specify one to seven daily weights. The statement can only be used with monthly series that are seasonally adjusted using the multiplicative model. These weights are used to compute prior trading-day factors, which are then used to adjust the original series prior to the seasonal adjustment process. Only relative weights are needed; the X11 procedure adjusts the weights so that they sum to 7.0. The weights can also be corrected by the procedure on the basis of estimates of trading-day variation from the input data.\",\"help\":\"PDWEIGHTS &lt;MONDAY=&gt;&lt;SUNDAY=&gt;&lt;TUESDAY=&gt; ...\",\"arguments\":[{\"name\":\"FRIDAY=\",\"optional\":true,\"aliases\":[\"FRI=\"],\"description\":\"Specifies a weight (w) for Friday.\",\"type\":\"value\"},{\"name\":\"MONDAY=\",\"optional\":true,\"aliases\":[\"MON=\"],\"description\":\"Specifies a weight (w) for Monday.\",\"type\":\"value\"},{\"name\":\"SATURDAY=\",\"optional\":true,\"aliases\":[\"SAT=\"],\"description\":\"Specifies a weight (w) for Saturday.\",\"type\":\"value\"},{\"name\":\"SUNDAY=\",\"optional\":true,\"aliases\":[\"SUN=\"],\"description\":\"Specifies a weight (w) for Sunday.\",\"type\":\"value\"},{\"name\":\"THURSDAY=\",\"optional\":true,\"aliases\":[\"THU=\"],\"description\":\"Specifies a weight (w) for Thursday.\",\"type\":\"value\"},{\"name\":\"TUESDAY=\",\"optional\":true,\"aliases\":[\"TUE=\"],\"description\":\"Specifies a weight (w) for Tuesday.\",\"type\":\"value\"},{\"name\":\"WEDNESDAY=\",\"optional\":true,\"aliases\":[\"WED=\"],\"description\":\"Specifies a weight (w) for Wednesday.\",\"type\":\"value\"}]},{\"name\":\"QUARTERLY\",\"description\":\"The QUARTERLY statement must be used when the input data are quarterly time series. This statement includes options that determine the computations performed by the procedure and what is in the printed output. The DATE= option or the START= option must be used.\",\"help\":\"QUARTERLY &lt;ADDITIVE&gt;&lt;CHARTS=&lt;STANDARD | FULL | NONE&gt;&gt;&lt;DATE= variable&gt; ...\",\"arguments\":[{\"name\":\"ADDITIVE\",\"optional\":true,\"description\":\"Performs additive adjustments. If the ADDITIVE option is omitted, PROC X11 performs multiplicative adjustments.\",\"type\":\"standalone\"},{\"name\":\"CHARTS=\",\"optional\":true,\"description\":\"Specifies the charts produced by the procedure. The default is CHARTS=STANDARD.\",\"help\":\"CHARTS=STANDARD | FULL | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"STANDARD\",\"description\":\"Specifies 12 monthly seasonal charts and a trend cycle chart.\",\"type\":\"standalone\"},{\"name\":\"FULL\",\"description\":\"Prints additional charts of irregular and seasonal factors.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"Specifies to print no charts.\",\"type\":\"standalone\"}]},{\"name\":\"DATE=\",\"optional\":true,\"description\":\"Specifies a variable that gives the date for each observation. The starting and ending dates are obtained from the first and last values of the DATE= variable, which must contain SAS date values.\",\"type\":\"value\"},{\"name\":\"END=\",\"optional\":true,\"description\":\"Specifies that only the part of the input series ending with the quarter and year given be adjusted (for example, END=’1973Q4’). The specification must be enclosed in quotes, and q must be 1, 2, 3, or 4.\",\"type\":\"value\"},{\"name\":\"FULLWEIGHT=\",\"optional\":true,\"description\":\"Assigns weights to irregular values based on their distance from the mean in standard deviation units. The weights are used for estimating seasonal and trend cycle components. Irregular values less than the FULLWEIGHT= value (in standard deviation units) are assigned full weights of 1, values that fall between the ZEROWEIGHT= and FULLWEIGHT= limits are assigned weights linearly graduated between 0 and 1, and values greater than the ZEROWEIGHT= limit are assigned a weight of 0. The default is FULLWEIGHT=1.5.\",\"type\":\"value\"},{\"name\":\"NDEC=\",\"optional\":true,\"description\":\"Specifies the number of decimal places shown in the printed tables in the listing. This option has no effect on the precision of the variable values in the output data set.\",\"type\":\"value\"},{\"name\":\"PRINTOUT=\",\"optional\":true,\"description\":\"Specifies the tables to be printed by the procedure. The default is PRINTOUT=STANDARD.\",\"help\":\"PRINTOUT=STANDARD | FULL | LONG | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"STANDARD\",\"description\":\"Prints between 17 and 27 tables depending on the other options that are specified.\",\"type\":\"standalone\"},{\"name\":\"FULL\",\"description\":\"Prints between 44 and 59 tables.\",\"type\":\"standalone\"},{\"name\":\"LONG\",\"description\":\"Prints between 27 and 39 tables\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"Prints no tables.\",\"type\":\"standalone\"}]},{\"name\":\"START=\",\"optional\":true,\"description\":\"Adjusts only the part of the input series starting with the specified quarter and year. When the DATE= option is not used, the START= option gives the year and month of the first input observation — for example, START= ’1967Q1’. The specification must be enclosed in quotes, and q must be 1, 2, 3, or 4.\",\"type\":\"value\"},{\"name\":\"SUMMARY\",\"optional\":true,\"description\":\"Specifies that the data are already seasonally adjusted and the procedure is to produce summary measures. If the SUMMARY option is omitted, the X11 procedure performs seasonal adjustment of the input data before calculating summary measures.\",\"type\":\"standalone\"},{\"name\":\"TRENDADJ\",\"optional\":true,\"description\":\"Modifies extreme irregular values prior to computing the trend cycle estimates in the first iteration. If the TRENDADJ option is omitted, the trend cycle is computed without modifications for extremes.\",\"type\":\"standalone\"},{\"name\":\"ZEROWEIGHT=\",\"optional\":true,\"description\":\"Assigns weights to irregular values based on their distance from the mean in standard deviation units. The weights are used for estimating seasonal and trend cycle components. Irregular values beyond the standard deviation limit specified in the ZEROWEIGHT= option are assigned zero weights. Values that fall between the two limits (ZEROWEIGHT= and FULLWEIGHT=) are assigned weights linearly graduated between 0 and 1. The default is ZEROWEIGHT=2.5.\",\"type\":\"value\"}]},{\"name\":\"SSPAN\",\"description\":\"The SSPAN statement applies sliding spans analysis to determine the suitability of seasonal adjustment for an economic series.\",\"help\":\"SSPAN &lt;CUTOFF= value&gt;&lt;NDEC= n&gt;&lt;TDCUTOFF= value&gt; ...\",\"arguments\":[{\"name\":\"CUTOFF=\",\"optional\":true,\"description\":\"Gives the percentage value for determining an excessive difference within a span for the seasonal factors, the seasonally adjusted series, and month-to-month and year-to-year differences in the seasonally adjusted series. The default value is 3.0.\",\"type\":\"value\"},{\"name\":\"NDEC=\",\"optional\":true,\"description\":\"Specifies the number of decimal places shown on selected sliding span reports. This option has no effect on the precision of the variables values in the OUTSPAN output data set.\",\"type\":\"value\"},{\"name\":\"NOPRINT\",\"optional\":true,\"description\":\"Suppresses all sliding span reports.\",\"type\":\"standalone\"},{\"name\":\"PRINT\",\"optional\":true,\"description\":\"Prints the summary sliding span reports S 0 through S 6.E.\",\"type\":\"standalone\"},{\"name\":\"PRINTALL\",\"optional\":true,\"description\":\"Prints the summary sliding spans report S 0 through S 6.E, along with detail reports S 7.A through S 7.E.\",\"type\":\"standalone\"},{\"name\":\"TDCUTOFF=\",\"optional\":true,\"description\":\"Gives the percentage value for determining an excessive difference within a span for the trading-day factors. The default value is 2.0.\",\"type\":\"value\"}]},{\"name\":\"TABLES\",\"description\":\"The TABLES statement prints the tables specified in addition to the tables that are printed as a result of the PRINTOUT= option in the MONTHLY or QUARTERLY statement. To print only selected tables, omit the PRINTOUT= option in the MONTHLY or QUARTERLY statement and list the tables to be printed in the TABLES statement. For example, to print only the final seasonal factors and final seasonally adjusted series, use the statement tables d10 d11;\",\"help\":\"TABLES &lt;A1&gt;&lt;A2&gt;&lt;A3&gt; ...\",\"arguments\":[{\"name\":\"A1\",\"optional\":true,\"description\":\"[Prior adjustments (optional)] Original series\",\"type\":\"standalone\"},{\"name\":\"A13\",\"optional\":true,\"description\":\"[Prior adjustments (optional)] ARIMA forecasts\",\"type\":\"standalone\"},{\"name\":\"A14\",\"optional\":true,\"description\":\"[Prior adjustments (optional)] ARIMA backcasts\",\"type\":\"standalone\"},{\"name\":\"A15\",\"optional\":true,\"description\":\"[Prior adjustments (optional)] Prior adjusted or original series extended by ARIMA backcasts and forecasts\",\"type\":\"standalone\"},{\"name\":\"A2\",\"optional\":true,\"description\":\"[Prior adjustments (optional)] Prior monthly adjustment factors\",\"type\":\"standalone\"},{\"name\":\"A3\",\"optional\":true,\"description\":\"[Prior adjustments (optional)] Original series adjusted for prior monthly factors\",\"type\":\"standalone\"},{\"name\":\"A4\",\"optional\":true,\"description\":\"[Prior adjustments (optional)] Prior trading-day adjustments\",\"type\":\"standalone\"},{\"name\":\"A5\",\"optional\":true,\"description\":\"[Prior adjustments (optional)] Prior adjusted or original series\",\"type\":\"standalone\"},{\"name\":\"B1\",\"optional\":true,\"description\":\"Prior adjusted or original series\",\"type\":\"standalone\"},{\"name\":\"B10\",\"optional\":true,\"description\":\"Seasonal factors\",\"type\":\"standalone\"},{\"name\":\"B11\",\"optional\":true,\"description\":\"Seasonally adjusted series\",\"type\":\"standalone\"},{\"name\":\"B13\",\"optional\":true,\"description\":\"Irregular series\",\"type\":\"standalone\"},{\"name\":\"B14\",\"optional\":true,\"description\":\"Extreme irregular values excluded from trading-day regression\",\"type\":\"standalone\"},{\"name\":\"B15\",\"optional\":true,\"description\":\"Preliminary trading-day regression\",\"type\":\"standalone\"},{\"name\":\"B16\",\"optional\":true,\"description\":\"Trading-day adjustment factors\",\"type\":\"standalone\"},{\"name\":\"B17\",\"optional\":true,\"description\":\"Preliminary weights for irregular components\",\"type\":\"standalone\"},{\"name\":\"B18\",\"optional\":true,\"description\":\"Trading-day factors derived from combined daily weights\",\"type\":\"standalone\"},{\"name\":\"B19\",\"optional\":true,\"description\":\"Original series adjusted for trading-day and prior variation\",\"type\":\"standalone\"},{\"name\":\"B2\",\"optional\":true,\"description\":\"Trend cycle\",\"type\":\"standalone\"},{\"name\":\"B3\",\"optional\":true,\"description\":\"Unmodified seasonal-irregular (S-I) ratios\",\"type\":\"standalone\"},{\"name\":\"B4\",\"optional\":true,\"description\":\"Replacement values for extreme S-I ratios\",\"type\":\"standalone\"},{\"name\":\"B5\",\"optional\":true,\"description\":\"Seasonal factors\",\"type\":\"standalone\"},{\"name\":\"B6\",\"optional\":true,\"description\":\"Seasonally adjusted series\",\"type\":\"standalone\"},{\"name\":\"B7\",\"optional\":true,\"description\":\"Trend cycle\",\"type\":\"standalone\"},{\"name\":\"B8\",\"optional\":true,\"description\":\"Unmodified S-I ratios\",\"type\":\"standalone\"},{\"name\":\"B9\",\"optional\":true,\"description\":\"Replacement values for extreme S-I ratios\",\"type\":\"standalone\"},{\"name\":\"C1\",\"optional\":true,\"description\":\"Original series modified by preliminary weights and adjusted for trading-day and prior variation\",\"type\":\"standalone\"},{\"name\":\"C10\",\"optional\":true,\"description\":\"Seasonal factors\",\"type\":\"standalone\"},{\"name\":\"C11\",\"optional\":true,\"description\":\"Seasonally adjusted series\",\"type\":\"standalone\"},{\"name\":\"C13\",\"optional\":true,\"description\":\"Irregular series\",\"type\":\"standalone\"},{\"name\":\"C14\",\"optional\":true,\"description\":\"Extreme irregular values excluded from trading-day regression\",\"type\":\"standalone\"},{\"name\":\"C15\",\"optional\":true,\"description\":\"Final trading-day regression\",\"type\":\"standalone\"},{\"name\":\"C16\",\"optional\":true,\"description\":\"Final trading-day adjustment factors derived from regression coefficients\",\"type\":\"standalone\"},{\"name\":\"C17\",\"optional\":true,\"description\":\"Final weight for irregular components\",\"type\":\"standalone\"},{\"name\":\"C18\",\"optional\":true,\"description\":\"Final trading-day factors derived from combined daily weights\",\"type\":\"standalone\"},{\"name\":\"C19\",\"optional\":true,\"description\":\"Original series adjusted for trading-day and prior variation\",\"type\":\"standalone\"},{\"name\":\"C2\",\"optional\":true,\"description\":\"Trend cycle\",\"type\":\"standalone\"},{\"name\":\"C3\",\"optional\":true,\"description\":\"Modified S-I ratios\",\"type\":\"standalone\"},{\"name\":\"C4\",\"optional\":true,\"description\":\"Modified S-I ratios\",\"type\":\"standalone\"},{\"name\":\"C5\",\"optional\":true,\"description\":\"Seasonal factors\",\"type\":\"standalone\"},{\"name\":\"C6\",\"optional\":true,\"description\":\"Seasonally adjusted series\",\"type\":\"standalone\"},{\"name\":\"C7\",\"optional\":true,\"description\":\"trend cycle\",\"type\":\"standalone\"},{\"name\":\"C9\",\"optional\":true,\"description\":\"Modified S-I ratios\",\"type\":\"standalone\"},{\"name\":\"D1\",\"optional\":true,\"description\":\"Original series modified for final weights and adjusted for trading-day and prior variation\",\"type\":\"standalone\"},{\"name\":\"D10\",\"optional\":true,\"description\":\"Final seasonal factors\",\"type\":\"standalone\"},{\"name\":\"D11\",\"optional\":true,\"description\":\"Final seasonally adjusted series\",\"type\":\"standalone\"},{\"name\":\"D12\",\"optional\":true,\"description\":\"Final trend cycle\",\"type\":\"standalone\"},{\"name\":\"D13\",\"optional\":true,\"description\":\"Final irregular series\",\"type\":\"standalone\"},{\"name\":\"D2\",\"optional\":true,\"description\":\"Trend cycle\",\"type\":\"standalone\"},{\"name\":\"D4\",\"optional\":true,\"description\":\"Modified S-I ratios\",\"type\":\"standalone\"},{\"name\":\"D5\",\"optional\":true,\"description\":\"Seasonal factors\",\"type\":\"standalone\"},{\"name\":\"D6\",\"optional\":true,\"description\":\"Seasonally adjusted series\",\"type\":\"standalone\"},{\"name\":\"D7\",\"optional\":true,\"description\":\"Trend cycle\",\"type\":\"standalone\"},{\"name\":\"D8\",\"optional\":true,\"description\":\"Final unmodified S-I ratios\",\"type\":\"standalone\"},{\"name\":\"D9\",\"optional\":true,\"description\":\"Final replacement values for extreme S-I ratios\",\"type\":\"standalone\"},{\"name\":\"E1\",\"optional\":true,\"description\":\"[Analytical tables] Original series with outliers replaced\",\"type\":\"standalone\"},{\"name\":\"E2\",\"optional\":true,\"description\":\"[Analytical tables] Modified seasonally adjusted series\",\"type\":\"standalone\"},{\"name\":\"E3\",\"optional\":true,\"description\":\"[Analytical tables] Modified irregular series\",\"type\":\"standalone\"},{\"name\":\"E4\",\"optional\":true,\"description\":\"[Analytical tables] Ratios of annual totals\",\"type\":\"standalone\"},{\"name\":\"E5\",\"optional\":true,\"description\":\"[Analytical tables] Percent changes in original series\",\"type\":\"standalone\"},{\"name\":\"E6\",\"optional\":true,\"description\":\"[Analytical tables] Percent changes in final seasonally adjusted series\",\"type\":\"standalone\"},{\"name\":\"F1\",\"optional\":true,\"description\":\"[Summary measures] MCD moving average\",\"type\":\"standalone\"},{\"name\":\"F2\",\"optional\":true,\"description\":\"[Summary measures] Summary measures\",\"type\":\"standalone\"},{\"name\":\"G1\",\"optional\":true,\"description\":\"[Charts] Chart of final seasonally adjusted series and trend cycle\",\"type\":\"standalone\"},{\"name\":\"G2\",\"optional\":true,\"description\":\"[Charts] Chart of S-I ratios with extremes, S-I ratios without extremes, and final seasonal factors\",\"type\":\"standalone\"},{\"name\":\"G3\",\"optional\":true,\"description\":\"[Charts] Calendar order\",\"type\":\"standalone\"},{\"name\":\"G4\",\"optional\":true,\"description\":\"[Charts] Chart of final irregular and final modified irregular series\",\"type\":\"standalone\"}]},{\"name\":\"VAR\",\"description\":\"The VAR statement is used to specify the variables in the input data set that are to be analyzed by the procedure. Only numeric variables can be specified. If the VAR statement is omitted, all numeric variables are analyzed except those appearing in a BY or ID statement or the variable named in the DATE= option in the MONTHLY or QUARTERLY statement.\",\"help\":\"VAR variables \"}],\"supportSiteInformation\":{\"docsetId\":\"etsug\",\"docsetVersion\":\"latest\",\"docsetTargetFile\":\"etsug_x11_toc.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/X12.json",
    "content": "{\"name\":\"X12\",\"statements\":[{\"name\":\"PROC X12\",\"description\":\"The X12 procedure, an adaptation of the U.S. Bureau of the Census X-12-ARIMA Seasonal Adjustment program (U.S. Bureau of the Census; 2001c), seasonally adjusts monthly or quarterly time series. The procedure makes additive or multiplicative adjustments and creates an output data set that contains the adjusted time series and intermediate calculations. † The X-12-ARIMA program combines the capabilities of the X-11 program (Shiskin, Young, and Musgrave; 1967) and the X-11-ARIMA/88 program (Dagum; 1988) and also introduces some new features (Findley et al.; 1998). One of the main enhancements involves the use of a regARIMA model, a regression model with ARIMA (autoregressive integrated moving average) errors. Thus, the X-12-ARIMA program contains methods developed by both the U.S. Census Bureau and Statistics Canada. In addition, the X-12-ARIMA automatic modeling routine is based on the TRAMO (time series regression with ARIMA noise, missing values, and outliers) method (Gomez and Maravall; 1997a, 1997b). The four major components of the X-12-ARIMA program are regARIMA modeling, model diagnostics, seasonal adjustment that uses enhanced X-11 methodology, and post-adjustment diagnostics. Statistics Canada’s X-11 method fits an ARIMA model to the original series, and then uses the model forecast to extend the original series. This extended series is then seasonally adjusted by the standard X-11 seasonal adjustment method. The extension of the series improves the estimation of the seasonal factors and reduces revisions to the seasonally adjusted series as new data become available.\",\"help\":\"PROC X12 <AUXDATA=SAS-data-set><DATA=SAS-data-set><DATE=variable | DATEVAR=variable><INEVENT=SAS-data-set><INTERVAL=DAY | HOUR | MINUTE... ><MDLINFOIN=SAS-data-set><MDLINFOOUT=SAS-data-set><NOPRINT><NOTRIMMISS><OUTSTAT=SAS-data-set><PERIODOGRAM><PLOTS=ALL | NONE | SERIES... ><SEASONS=number><SPAN=(mmmyy ,mmmyy ) | SPAN=(’yyQq’ ,’yyQq’ )><SPECTRUMSERIES=table-name><START=mmmyy | START=’yyQq’ | STARTDATE=mmmyy | STARTDATE=’yyQq’>;     \\n\\tADJUST <PREDEFINED=<LOM | LOQ | LPYEAR>> ;\\n\\n\\tARIMA <MODEL=((p d q) (P D Q)s)> ;\\n\\n\\tAUTOMDL <DIFFORDER=(nonseasonal order, seasonal order)><MAXDIFF=(nonseasonal order, seasonal order)><MAXORDER=(nonseasonal order, seasonal order)> ...;\\n\\n\\tBY variables ;\\n\\n\\tCHECK <MAXLAG=value><PRINT=<ACF | PACF | ACFSQUARED>... > ;\\n\\n\\tESTIMATE <ITPRINT><MAXITER=value><TOL=value> ...;\\n\\n\\tEVENT <B=(value <F> ...)><USERTYPE=<AO | CONSTANT | EASTER>... > ;\\n\\n\\tFORECAST <LEAD=value> ;\\n\\n\\tID variables ;\\n\\n\\tIDENTIFY <DIFF=(order, order, order)><MAXLAG=value><SDIFF=(order, order, order)> ...;\\n\\n\\tINPUT <B=(value <F> ...)><USERTYPE=<AO | CONSTANT | EASTER>... > ;\\n\\n\\tOUTLIER <CV=value><SPAN=(mmmyy ,mmmyy ) | SPAN=(’yyQq’ ,’yyQq’ )><TYPE=<NONE | (AO LS TC) | (AO LS)>... > ...;\\n\\n\\tOUTPUT <A1><A2><OUT=SAS-data-set> ...;\\n\\n\\tREGRESSION <B=(value <F> ...)> PREDEFINED=CONSTANT< / B= >|LOM|LOMSTOCK...  USERVAR=(variables) < / B=value USERTYPE=option> ...;\\n\\n\\tTABLES <A19><C20><NOSUMMARYLINE> ...;\\n\\n\\tTRANSFORM <FUNCTION=<NONE | LOG | SQRT>... ><POWER=value> ;\\n\\n\\tUSERDEFINED variables ;\\n\\n\\tVAR variables ;\\n\\n\\tX11 <MODE=<ADD | MULT | LOGADD>... ><OUTFORECAST><SEASONALMA=<S3X1 | S3X3 | S3X5>... > ...;\\n\",\"arguments\":[{\"name\":\"AUXDATA=\",\"optional\":true,\"description\":\"[Experimental feature] Specifies an auxiliary input data set that contains user-defined variables, which are specified in the INPUT statement, the USERVAR= option of the REGRESSION statment, or the USERDEFINED statement. The AUXDATA= data set can also contain the date variable, which is specified in the DATE= option in the PROC X12 statement. If the date variable is present, then the date variable is used to align the observations in the auxiliary data set to the observations in the series that is being processed. The date values must be sorted in ascending order with no gaps or duplications, and the interval must match the interval of the series. If the date variable is not present or valid, then observations in the auxiliary data set are matched by observation number to the series that is being processed. The auxiliary data set does not support BY-group processing. The variables in the auxiliary data set are applied to all BY groups, where the dates of the BY group correspond to the dates of the auxiliary data set.\",\"help\":\"AUXDATA=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"DATA=\",\"optional\":true,\"description\":\"Specifies the input SAS data set used. If this option is omitted, the most recently created SAS data set is used.\",\"help\":\"DATA=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"DATE=\",\"optional\":true,\"aliases\":[\"DATEVAR=\"],\"description\":\"Specifies a variable that gives the date for each observation. Unless specified in the SPAN= option, the starting and ending dates are obtained from the first and last values of the DATE= variable, which must contain SAS date or datetime values.\",\"type\":\"value\"},{\"name\":\"INEVENT=\",\"optional\":true,\"description\":\"Specifies the input data set that defines any user-defined event variables. This option can be omitted if events are not specified or if only SAS predefined events are specified in an EVENT statement.\",\"help\":\"INEVENT=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"INTERVAL=\",\"optional\":true,\"description\":\"Specifies the frequency of the input time series.\",\"help\":\"INTERVAL=DAY | HOUR | MINUTE | SECOND | WEEK | MONTH | YEAR | QTR | TENDAY | SEMIMONTH | SEMIYEAR\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DAY\",\"description\":\"DAY interval\",\"type\":\"standalone\"},{\"name\":\"HOUR\",\"description\":\"HOUR interval\",\"type\":\"standalone\"},{\"name\":\"MINUTE\",\"description\":\"MINUTE interval\",\"type\":\"standalone\"},{\"name\":\"SECOND\",\"description\":\"SECOND interval\",\"type\":\"standalone\"},{\"name\":\"WEEK\",\"description\":\"WEEK interval\",\"type\":\"standalone\"},{\"name\":\"MONTH\",\"description\":\"MONTH interval\",\"type\":\"standalone\"},{\"name\":\"YEAR\",\"description\":\"YEAR interval\",\"type\":\"standalone\"},{\"name\":\"QTR\",\"description\":\"QTR interval\",\"type\":\"standalone\"},{\"name\":\"TENDAY\",\"description\":\"TENDAY interval\",\"type\":\"standalone\"},{\"name\":\"SEMIMONTH\",\"description\":\"SEMIMONTH interval\",\"type\":\"standalone\"},{\"name\":\"SEMIYEAR\",\"description\":\"SEMIYEAR interval\",\"type\":\"standalone\"}]},{\"name\":\"MDLINFOIN=\",\"optional\":true,\"description\":\"Specifies an optional input data set that contains model information that can replace the information contained in the TRANSFORM, REGRESSION, ARIMA, and AUTOMDL statements.\",\"help\":\"MDLINFOIN=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"MDLINFOOUT=\",\"optional\":true,\"description\":\"Specifies the optional output data set that contains the transformation, regression, and ARIMA information related to each seasonally adjusted series. The data set is sorted by the BY-group variables, if any, and by series names. The MDLINFOOUT= data set can be used as input for the MDLINFOIN= option.\",\"help\":\"MDLINFOOUT=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"NOPRINT\",\"optional\":true,\"description\":\"Suppresses any printed output.\",\"type\":\"standalone\"},{\"name\":\"NOTRIMMISS\",\"optional\":true,\"description\":\"Suppresses the default, by which leading and trailing missing values are trimmed from the series. If NOTRIMMISS is used, PROC X12 automatically generates missing value regressors for any missing value within the span of the series, including leading and trailing missing values.\",\"type\":\"standalone\"},{\"name\":\"OUTSTAT=\",\"optional\":true,\"description\":\"Specifies an optional output data set which contains the summary statistics that related to each seasonally adjusted series. The data set is sorted by the BY-group variables, if any, and by series names.\",\"help\":\"OUTSTAT=*SAS-data-set*\",\"type\":\"dataSet\"},{\"name\":\"PERIODOGRAM\",\"optional\":true,\"description\":\"Specifies that the PERIODOGRAM rather than the spectrum of the series be plotted in the G tables and plots. If PERIODOGRAM is not specified, then the SPECTRUM is plotted in the G tables.\",\"type\":\"standalone\"},{\"name\":\"PLOTS=\",\"optional\":true,\"description\":\"controls the plots that are produced through ODS Graphics. Syntax: PLOTS<(global-plot-options)> <= plot-request <(options)>> PLOTS<(global-plot-options)> <= (plot-request <(options)> <... plot-request <(options)>>)> The global-plot-options apply to all relevant plots that are generated by the X12 procedure. The following global-plot-option is supported:\",\"help\":\"PLOTS=ALL | NONE | SERIES | RESIDUAL | SA | IC\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ALL\",\"description\":\"Produces all plots that are appropriate for the particular analysis.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"Suppresses all plots.\",\"type\":\"standalone\"},{\"name\":\"SERIES\",\"description\":\"Syntax: SERIES(<series-plot-options>) Produces plots that are associated with the identification stage of the modeling. The ACF, PACF, and SPECTRUM plots are produced by default. The following series-plot-options are available: ACF produces the plot of autocorrelations. ALL produces all the plots that are associated with the identification stage. NONE suppresses all plots that are associated with the identification stage. PACF produces the plot of partial-autocorrelations. SPECTRUM produces the spectral plot of Table G0. Table G0 is calculated based on either Table A1, A19, B1 or E1, as specified by the SPECTRUMSERIES= option.\",\"type\":\"standalone\"},{\"name\":\"RESIDUAL\",\"description\":\"Syntax: RESIDUAL(<residual-plot-options>) Produces the regARIMA model residual series plots if the CHECK statement is specified. The ACF, PACF, HIST, SQACF, and SPECTRUM plots are produced by default. The following residual-plot-options are available: ACF produces the plot of residual autocorrelations. ALL produces all the residual diagnostics plots that are appropriate for the particular analysis. HIST produces the histogram of the residuals and also the residual outliers and residual statistics tables that describe the residual histogram. NONE suppresses all the residual diagnostics plots. PACF produces the plot of residual partial-autocorrelations if PRINT=PACF is specified in the CHECK statement. SPECTRUM produces the spectral plot of Table GRs. Table GRs is calculated based on the regARIMA model residual series. SQACF produces the plot of squared residual autocorrelations.\",\"type\":\"standalone\"},{\"name\":\"SA\",\"aliases\":[\"ADJUSTED\"],\"description\":\"Syntax: SA(<sa-plot-options>) | ADJUSTED(<sa-plot-options>) Produces the seasonally adjusted series plots in the X11 statement. The SPECTRUM plot is produced by default. The following sa-plot-options are available: ALL produces all seasonally adjusted plots. NONE suppresses all seasonally adjusted plots. SPECTRUM produces the spectral plot of Table G1. Table G1 is calculated based on the modified seasonally adjusted series (Table E2).\",\"type\":\"standalone\"},{\"name\":\"IC\",\"aliases\":[\"IRREGULAR\"],\"description\":\"Syntax: IC(<ic-plot-options>) | IRREGULAR(<ic-plot-options>) Produces the irregular series plots in the X11 statement. The SPECTRUM plot is produced by default. The following ic-plot-options are available: ALL produces all irregular plots. NONE suppresses all irregular plots. SPECTRUM produces the spectral plot of Table G2. Table G2 is calculated based on the modified irregular series (Table E3).\",\"type\":\"standalone\"}]},{\"name\":\"SEASONS=\",\"optional\":true,\"description\":\"Specifies the number of observations in a seasonal cycle. If the SEASONS= option is not specified and INTERVAL=QTR, then SEASONS=4 is assumed. If the SEASONS= option is not specified and INTERVAL=MONTH, then SEASONS=12 is assumed. If the SEASONS= option is specified, its value should not conflict with the values of the INTERVAL= option or the values of the date variable.\",\"help\":\"SEASONS=*number*\",\"type\":\"value\"},{\"name\":\"SPAN=\",\"optional\":true,\"description\":\"Specifies the dates of the first and last observations to define a subset for processing. A single date in parentheses is interpreted to be the starting date of the subset. To specify only the ending date, use SPAN=(,mmmyy).\",\"type\":\"value\"},{\"name\":\"SPECTRUMSERIES=\",\"optional\":true,\"description\":\"Specifies the table name of the series that is used in the spectrum of the original series (table G0). The table names that can be specified are A1, A19, B1, or E1. The default is B1.\",\"help\":\"SPECTRUMSERIES=*table-name*\",\"type\":\"dataSet\"},{\"name\":\"START=\",\"optional\":true,\"aliases\":[\"STARTDATE=\"],\"description\":\"Specifies the date of the first observation. Unless the SPAN= option is used, the starting and ending dates are the dates of the first and last observations, respectively.\",\"type\":\"value\"}]},{\"name\":\"ADJUST\",\"description\":\"The ADJUST statement adjusts the series for leap year and length-of-period factors prior to estimating a regARIMA model. The \\\"Prior Adjustment Factors\\\" table is associated with the ADJUST statement.\",\"help\":\"ADJUST &lt;PREDEFINED=&lt;LOM | LOQ | LPYEAR&gt;&gt;\",\"arguments\":[{\"name\":\"PREDEFINED=\",\"optional\":true,\"description\":\"Specifies length-of-month adjustment, length-of-quarter adjustment, or leap year adjustment.\",\"help\":\"PREDEFINED=LOM | LOQ | LPYEAR\",\"type\":\"choice\",\"arguments\":[{\"name\":\"LOM\",\"description\":\"Specifies length-of-month adjustment.\",\"type\":\"standalone\"},{\"name\":\"LOQ\",\"description\":\"Specifies length-of-quarter adjustment.\",\"type\":\"standalone\"},{\"name\":\"LPYEAR\",\"description\":\"Specifies eap year adjustment.\",\"type\":\"standalone\"}]}]},{\"name\":\"ARIMA\",\"description\":\"The ARIMA statement specifies the ARIMA part of the regARIMA model. This statement defines a pure ARIMA model if no REGRESSION statements, INPUT statements, or EVENT statements are specified. The ARIMA part of the model can include multiplicative seasonal factors.\",\"help\":\"ARIMA &lt;MODEL=((p d q) (P D Q)s)&gt;\",\"arguments\":[{\"name\":\"MODEL=\",\"optional\":true,\"description\":\"Specifies the ARIMA model. The format follows standard Box-Jenkins notation (Box, Jenkins, and Reinsel; 1994). The nonseasonal AR and MA orders are given by p and q, respectively, while the seasonal AR and MA orders are given by P and Q. The number of differences and seasonal differences are given by d and D, respectively. The notation (p d q) and (P D Q) can also be specified as (p, d, q) and (P, D, Q).\",\"type\":\"value\"}]},{\"name\":\"AUTOMDL\",\"description\":\"The AUTOMDL statement is used to invoke the automatic model selection procedure of the X-12-ARIMA method. This method is based largely on the TRAMO (time series regression with ARIMA noise, missing values, and outliers) method by Gomez and Maravall (1997a, 1997b).\",\"help\":\"AUTOMDL &lt;DIFFORDER=(nonseasonal order, seasonal order)&gt;&lt;MAXDIFF=(nonseasonal order, seasonal order)&gt;&lt;MAXORDER=(nonseasonal order, seasonal order)&gt; ...\",\"arguments\":[{\"name\":\"ACCEPTDEFAULT\",\"optional\":true,\"description\":\"Specifies that the default model be chosen if its Ljung-Box Q is acceptable.\",\"type\":\"standalone\"},{\"name\":\"ARMACV=\",\"optional\":true,\"description\":\"Specifies the threshold value for the t statistics associated with the highest order ARMA coefficients.\",\"help\":\"ARMACV=*value*\",\"type\":\"value\"},{\"name\":\"BALANCED\",\"optional\":true,\"description\":\"Specifies that the automatic modeling procedure prefer balanced models over unbalanced models. A balanced model is one in which the sum of AR, differencing, and seasonal differencing orders equal to the sum of MA and seasonal MA orders.\",\"type\":\"standalone\"},{\"name\":\"DIFFORDER=\",\"optional\":true,\"description\":\"Specifies the fixed orders of differencing to be used in the automatic ARIMA model identification procedure. When the DIFFORDER= option is used, only the AR and MA orders are automatically identified. Acceptable values for the regular differencing orders are 0, 1, and 2; acceptable values for the seasonal differencing orders are 0 and 1.\",\"type\":\"value\"},{\"name\":\"HRINITIAL\",\"optional\":true,\"description\":\"Specifies that Hannan-Rissanen estimation be done before exact maximum likelihood estimation to provide initial values. If HRINITIAL is specified, then models for which the Hannan-Rissanen estimation has an unacceptable coefficient are rejected.\",\"type\":\"standalone\"},{\"name\":\"LJUNGBOXLIMIT=\",\"optional\":true,\"description\":\"Specifies acceptance criteria for confidence coefficient of the Ljung-Box Q statistic.\",\"help\":\"LJUNGBOXLIMIT=*value*\",\"type\":\"value\"},{\"name\":\"MAXDIFF=\",\"optional\":true,\"description\":\"Specifies the maximum orders of regular and seasonal differencing for the automatic identification of differencing orders. When MAXDIFF is specified, the differencing orders are identified first, and then the AR and MA orders are identified. Acceptable values for the regular differencing orders are 1 and 2; the only acceptable value for the seasonal differencing order is 1.\",\"type\":\"value\"},{\"name\":\"MAXORDER=\",\"optional\":true,\"description\":\"Specifies the maximum orders of nonseasonal and seasonal ARMA polynomials for the automatic ARIMA model identification procedure. The maximum order for the nonseasonal ARMA parameters should be between 1 and 4; the maximum order for the seasonal ARMA should be 1 or 2.\",\"type\":\"value\"},{\"name\":\"NOINT\",\"optional\":true,\"description\":\"Suppresses the fitting of a constant (or intercept) parameter in the model. (That is, the parameter µ is omitted.)\",\"type\":\"standalone\"},{\"name\":\"PRINT=\",\"optional\":true,\"description\":\"Lists the tables to be displayed in the output.\",\"help\":\"PRINT=UNITROOTTEST | AUTOCHOICE | UNITROOTTESTMDL | AUTOCHOICEMDL | BEST5MODEL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"UNITROOTTEST\",\"description\":\"Causes the table titled \\\"Results of Unit Root Test for Identifying Orders of Differencing\\\" to be printed.\",\"type\":\"standalone\"},{\"name\":\"AUTOCHOICE\",\"description\":\"Displays the tables titled \\\"Comparison of Automatically Selected Model and Default Model\\\" and \\\"Final Automatic Model Selection\\\".\",\"type\":\"standalone\"},{\"name\":\"UNITROOTTESTMDL\",\"description\":\"Displays the table titled \\\"ARIMA Estimates for Unit Root Identification\\\".\",\"type\":\"standalone\"},{\"name\":\"AUTOCHOICEMDL\",\"description\":\"Displays the table \\\"Models Estimated by Automatic ARIMA Model Selection Procedure\\\".\",\"type\":\"standalone\"},{\"name\":\"BEST5MODEL\",\"description\":\"Displays the table \\\"Best Five ARIMA Models Chosen by Automatic Modeling\\\".\",\"type\":\"standalone\"}]},{\"name\":\"REDUCECV=\",\"optional\":true,\"description\":\"Specifies the percentage that the outlier critical value be reduced when a final model is found to have an unacceptable confidence coefficient for the Ljung-Box Q statistic. This value should be between 0 and 1. The default value is 0.14286.\",\"help\":\"REDUCECV=*value*\",\"type\":\"value\"}]},{\"name\":\"BY\",\"description\":\"A BY statement can be used with PROC X12 to obtain separate analyses on observations in groups defined by the BY variables. When a BY statement appears, the procedure expects the input DATA= data set to be sorted in order of the BY variables.\",\"help\":\"BY variables \"},{\"name\":\"CHECK\",\"description\":\"The CHECK statement produces statistics for diagnostic checking of residuals from the estimated regARIMA model.\",\"help\":\"CHECK &lt;MAXLAG=value&gt;&lt;PRINT=&lt;ACF | PACF | ACFSQUARED&gt;... &gt;\",\"arguments\":[{\"name\":\"MAXLAG=\",\"optional\":true,\"description\":\"Specifies the number of lags for the residual sample autocorrelation function (ACF) and partial autocorrelation function (PACF). The default is 36 for monthly series and 12 for quarterly series. The minimum value for MAXLAG= is 1.\",\"help\":\"MAXLAG=*value*\",\"type\":\"value\"},{\"name\":\"PRINT=\",\"optional\":true,\"description\":\"Specifies the diagnostic checking tables to be displayed. If the PRINT= option is not specified, the default is equivalent to specifying PRINT=(ACF ACFSQUARED RESIDUALOUTLIER RESIDUALSTATISTICS NORM SPECRESIDUAL).\",\"help\":\"PRINT=ACF | PACF | ACFSQUARED | RESIDUALSTATISTICS | RESIDUALOUTLIER | NORM | SPECRESIDUAL | ALL | NONE | (*OPTIONS*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ACF\",\"description\":\"Displays the table titled \\\"Autocorrelation of regARIMA Model Residuals.\\\"\",\"type\":\"standalone\"},{\"name\":\"PACF\",\"description\":\"Displays the table titled \\\"Partial Autocorrelation of regARIMA Model Residuals.\\\"\",\"type\":\"standalone\"},{\"name\":\"ACFSQUARED\",\"description\":\"Displays the table titled \\\"Autocorrelation of Squared regARIMA Model Residuals.\\\"\",\"type\":\"standalone\"},{\"name\":\"RESIDUALSTATISTICS\",\"aliases\":[\"RESSTAT\"],\"description\":\"Displays the table titled \\\"Summary Statistics for the Unstandardized Residuals.\\\"\",\"type\":\"standalone\"},{\"name\":\"RESIDUALOUTLIER\",\"aliases\":[\"RESOUTLIER\"],\"description\":\"Displays the table \\\"Outliers of the Unstandardized Residuals\\\" if the residuals contain outliers.\",\"type\":\"standalone\"},{\"name\":\"NORM\",\"description\":\"Displays the table titled \\\"Normality Statistics for regARIMA Model Residuals\\\". Measures of normality included in this table are skewness, Geary’s a statistic, and kurtosis.\",\"type\":\"standalone\"},{\"name\":\"SPECRESIDUAL\",\"description\":\"Displays the table titled \\\"Table G Rs: 10*LOG(SPECTRUM) of the regARIMA Model Residuals.\\\"\",\"type\":\"standalone\"},{\"name\":\"ALL\",\"description\":\"Specifies that all tables related to diagnostic checking be displayed.\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"description\":\"If no other PRINT= option is specified, then none of the tables that are associated with diagnostic checking are displayed. However, PRINT=NONE has no effect if other PRINT= options are specified in the CHECK statement.\",\"type\":\"standalone\"},{\"name\":\"(OPTIONS)\",\"placeholder\":true,\"description\":\"Change OPTIONS with a list of print options.\",\"type\":\"value\"}]}]},{\"name\":\"ESTIMATE\",\"description\":\"The ESTIMATE statement estimates the regARIMA model. The regARIMA model is specified by the REGRESSION, INPUT, EVENT, and ARIMA statements or by the MDLINFOIN= data set.\",\"help\":\"ESTIMATE &lt;ITPRINT&gt;&lt;MAXITER=value&gt;&lt;TOL=value&gt; ...\",\"arguments\":[{\"name\":\"ITPRINT\",\"optional\":true,\"description\":\"Specifies that the \\\"Iterations History\\\" table be displayed. This includes detailed output for estimation iterations (including log-likelihood values and parameters) and counts of function evaluations and iterations.\",\"type\":\"standalone\"},{\"name\":\"MAXITER=\",\"optional\":true,\"description\":\"Specifies the maximum number of iterations (for estimating the AR and MA parameters) allowed.\",\"help\":\"MAXITER=*value*\",\"type\":\"value\"},{\"name\":\"PRINTERR\",\"optional\":true,\"description\":\"Causes restarted iterations to be included in the \\\"Iterations History\\\" table (if ITPRINT is specified) or creates the \\\"Restarted Iterations\\\" table (if ITPRINT is not specified).\",\"type\":\"standalone\"},{\"name\":\"TOL=\",\"optional\":true,\"description\":\"Specifies the convergence tolerance for the nonlinear estimation. Absolute changes in the log-likelihood are compared to the TOL= value to check convergence of the estimation iterations.\",\"help\":\"TOL=*value*\",\"type\":\"value\"}]},{\"name\":\"EVENT\",\"description\":\"The EVENT statement specifies EVENTs to be included in the regression portion of the regARIMA model. Multiple EVENT statements can be specified. If a MDLINFOIN= data set is not specified, then all variables specified in the EVENT statements are applied to all BY-groups and all time series that are processed. If a MDLINFOIN= data set is specified, then the EVENT statements applies only if no regression information for the BY-group and series is available in the MDLINFOIN= data set.\",\"help\":\"EVENT &lt;B=(value &lt;F&gt; ...)&gt;&lt;USERTYPE=&lt;AO | CONSTANT | EASTER&gt;... &gt;\",\"arguments\":[{\"name\":\"B=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies initial or fixed values for the EVENT parameters. An F immediately following the numerical value indicates that this is not an initial value, but a fixed value.\",\"type\":\"value\"},{\"name\":\"USERTYPE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Enables a user-defined variable to be processed in the same manner as a U.S. Census predefined variable.\",\"help\":\"USERTYPE=AO | CONSTANT | EASTER | HOLIDAY | LABOR | LOM | LOMSTOCK | LOQ | LPYEAR | LS | RP | SCEASTER | SEASONAL | TC | TD | TDSTOCK | THANKS | USER\",\"type\":\"choice\",\"arguments\":[{\"name\":\"AO\",\"followsDelimiter\":\"/\",\"description\":\"Specifies a user-defined variable to be processed in the same manner as a U.S. Census predefined AO variable.\",\"type\":\"standalone\"},{\"name\":\"CONSTANT\",\"followsDelimiter\":\"/\",\"description\":\"Specifies a user-defined variable to be processed in the same manner as a U.S. Census predefined CONSTANT variable.\",\"type\":\"standalone\"},{\"name\":\"EASTER\",\"followsDelimiter\":\"/\",\"description\":\"Specifies a user-defined variable to be processed in the same manner as a U.S. Census predefined EASTER variable.\",\"type\":\"standalone\"},{\"name\":\"HOLIDAY\",\"followsDelimiter\":\"/\",\"description\":\"Specifies a user-defined variable to be processed in the same manner as a U.S. Census predefined HOLIDAY variable.\",\"type\":\"standalone\"},{\"name\":\"LABOR\",\"followsDelimiter\":\"/\",\"description\":\"Specifies a user-defined variable to be processed in the same manner as a U.S. Census predefined LABOR variable.\",\"type\":\"standalone\"},{\"name\":\"LOM\",\"followsDelimiter\":\"/\",\"description\":\"Specifies a user-defined variable to be processed in the same manner as a U.S. Census predefined LOM variable.\",\"type\":\"standalone\"},{\"name\":\"LOMSTOCK\",\"followsDelimiter\":\"/\",\"description\":\"Specifies a user-defined variable to be processed in the same manner as a U.S. Census predefined LOMSTOCK variable.\",\"type\":\"standalone\"},{\"name\":\"LOQ\",\"followsDelimiter\":\"/\",\"description\":\"Specifies a user-defined variable to be processed in the same manner as a U.S. Census predefined LOQ variable.\",\"type\":\"standalone\"},{\"name\":\"LPYEAR\",\"followsDelimiter\":\"/\",\"description\":\"Specifies a user-defined variable to be processed in the same manner as a U.S. Census predefined LPYEAR variable.\",\"type\":\"standalone\"},{\"name\":\"LS\",\"followsDelimiter\":\"/\",\"description\":\"Specifies a user-defined variable to be processed in the same manner as a U.S. Census predefined LS variable.\",\"type\":\"standalone\"},{\"name\":\"RP\",\"followsDelimiter\":\"/\",\"description\":\"Specifies a user-defined variable to be processed in the same manner as a U.S. Census predefined RP variable.\",\"type\":\"standalone\"},{\"name\":\"SCEASTER\",\"followsDelimiter\":\"/\",\"description\":\"Specifies a user-defined variable to be processed in the same manner as a U.S. Census predefined SCEASTER variable.\",\"type\":\"standalone\"},{\"name\":\"SEASONAL\",\"followsDelimiter\":\"/\",\"description\":\"Specifies a user-defined variable to be processed in the same manner as a U.S. Census predefined SEASONAL variable.\",\"type\":\"standalone\"},{\"name\":\"TC\",\"followsDelimiter\":\"/\",\"description\":\"Specifies a user-defined variable to be processed in the same manner as a U.S. Census predefined TC variable.\",\"type\":\"standalone\"},{\"name\":\"TD\",\"followsDelimiter\":\"/\",\"description\":\"Specifies a user-defined variable to be processed in the same manner as a U.S. Census predefined TD variable.\",\"type\":\"standalone\"},{\"name\":\"TDSTOCK\",\"followsDelimiter\":\"/\",\"description\":\"Specifies a user-defined variable to be processed in the same manner as a U.S. Census predefined TDSTOCK variable.\",\"type\":\"standalone\"},{\"name\":\"THANKS\",\"followsDelimiter\":\"/\",\"description\":\"Specifies a user-defined variable to be processed in the same manner as a U.S. Census predefined THANKS variable.\",\"type\":\"standalone\"},{\"name\":\"USER\",\"followsDelimiter\":\"/\",\"description\":\"Specifies a user-defined variable to be processed in the same manner as a U.S. Census predefined USER variable.\",\"type\":\"standalone\"}]}]},{\"name\":\"FORECAST\",\"description\":\"The FORECAST statement uses the estimated model to forecast the time series. The output contains point forecast and forecast statistics for the transformed and original series.\",\"help\":\"FORECAST &lt;LEAD=value&gt;\",\"arguments\":[{\"name\":\"LEAD=\",\"optional\":true,\"description\":\"Specifies the number of periods ahead to forecast. The default is the number of periods in a year (4 or 12), and the maximum is 60.\",\"help\":\"LEAD=*value*\",\"type\":\"value\"}]},{\"name\":\"ID\",\"description\":\"If you are creating an output data set, use the ID statement to copy values of the ID variables, in addition to the table values, into the output data set. Or, if the VAR statement is omitted, all numeric variables that are not identified as BY variables, ID variables, the DATE= variable, or user-defined regressors are processed as time series.\",\"help\":\"ID variables \"},{\"name\":\"IDENTIFY\",\"description\":\"The IDENTIFY statement is used to produce plots of the sample autocorrelation function (ACF) and partial autocorrelation function (PACF) for identifying the ARIMA part of a regARIMA model. The sample ACF and PACF are produced for all combinations of the nonseasonal and seasonal differences of the data specified by the DIFF= and SDIFF= options.\",\"help\":\"IDENTIFY &lt;DIFF=(order, order, order)&gt;&lt;MAXLAG=value&gt;&lt;SDIFF=(order, order, order)&gt; ...\",\"arguments\":[{\"name\":\"DIFF=\",\"optional\":true,\"description\":\"Specifies orders of nonseasonal differencing to use in model identification. The value 0 specifies no differencing; the value 1 specifies one nonseasonal difference (1-β); the value 2 specifies two nonseasonal differences (1-β^s)²; and so forth.\",\"type\":\"value\"},{\"name\":\"MAXLAG=\",\"optional\":true,\"description\":\"Specifies the number of lags for the sample autocorrelation function (ACF) and partial autocorrelation function (PACF) of the regression residuals for model identification. The default is 36 for monthly series and 12 for quarterly series. MAXLAG applies to both tables and plots. The minimum value for MAXLAG= is 1.\",\"help\":\"MAXLAG=*value*\",\"type\":\"value\"},{\"name\":\"PRINTREG\",\"optional\":true,\"description\":\"Causes the \\\"Regression Model Parameter Estimates\\\" table to be printed if the REGRESSION statement is present. By default, the table is not printed.\",\"type\":\"standalone\"},{\"name\":\"SDIFF=\",\"optional\":true,\"description\":\"Specifies orders of seasonal differencing to use in model identification. The value 0 specifies no differencing; the value 1 specifies one nonseasonal difference (1-β); the value 2 specifies two nonseasonal differences (1-β^s)²; and so forth.\",\"type\":\"value\"}]},{\"name\":\"INPUT\",\"description\":\"The INPUT statement specifies variables in the PROC X12 DATA= data set that are to be used as regressors in the regression portion of the regARIMA model.\",\"help\":\"INPUT &lt;B=(value &lt;F&gt; ...)&gt;&lt;USERTYPE=&lt;AO | CONSTANT | EASTER&gt;... &gt;\",\"arguments\":[{\"name\":\"B=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies initial or fixed values for the INPUT parameters. An F immediately following the numerical value indicates that this is not an initial value, but a fixed value.\",\"type\":\"value\"},{\"name\":\"USERTYPE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Enables a user-defined variable to be processed in the same manner as a U.S. Census predefined variable.\",\"help\":\"USERTYPE=AO | CONSTANT | EASTER | HOLIDAY | LABOR | LOM | LOMSTOCK | LOQ | LPYEAR | LS | RP | SCEASTER | SEASONAL | TC | TD | TDSTOCK | THANKS | USER\",\"type\":\"choice\",\"arguments\":[{\"name\":\"AO\",\"followsDelimiter\":\"/\",\"description\":\"Specifies a user-defined variable to be processed in the same manner as a U.S. Census predefined AO variable.\",\"type\":\"standalone\"},{\"name\":\"CONSTANT\",\"followsDelimiter\":\"/\",\"description\":\"Specifies a user-defined variable to be processed in the same manner as a U.S. Census predefined CONSTANT variable.\",\"type\":\"standalone\"},{\"name\":\"EASTER\",\"followsDelimiter\":\"/\",\"description\":\"Specifies a user-defined variable to be processed in the same manner as a U.S. Census predefined EASTER variable.\",\"type\":\"standalone\"},{\"name\":\"HOLIDAY\",\"followsDelimiter\":\"/\",\"description\":\"Specifies a user-defined variable to be processed in the same manner as a U.S. Census predefined HOLIDAY variable.\",\"type\":\"standalone\"},{\"name\":\"LABOR\",\"followsDelimiter\":\"/\",\"description\":\"Specifies a user-defined variable to be processed in the same manner as a U.S. Census predefined LABOR variable.\",\"type\":\"standalone\"},{\"name\":\"LOM\",\"followsDelimiter\":\"/\",\"description\":\"Specifies a user-defined variable to be processed in the same manner as a U.S. Census predefined LOM variable.\",\"type\":\"standalone\"},{\"name\":\"LOMSTOCK\",\"followsDelimiter\":\"/\",\"description\":\"Specifies a user-defined variable to be processed in the same manner as a U.S. Census predefined LOMSTOCK variable.\",\"type\":\"standalone\"},{\"name\":\"LOQ\",\"followsDelimiter\":\"/\",\"description\":\"Specifies a user-defined variable to be processed in the same manner as a U.S. Census predefined LOQ variable.\",\"type\":\"standalone\"},{\"name\":\"LPYEAR\",\"followsDelimiter\":\"/\",\"description\":\"Specifies a user-defined variable to be processed in the same manner as a U.S. Census predefined LPYEAR variable.\",\"type\":\"standalone\"},{\"name\":\"LS\",\"followsDelimiter\":\"/\",\"description\":\"Specifies a user-defined variable to be processed in the same manner as a U.S. Census predefined LS variable.\",\"type\":\"standalone\"},{\"name\":\"RP\",\"followsDelimiter\":\"/\",\"description\":\"Specifies a user-defined variable to be processed in the same manner as a U.S. Census predefined RP variable.\",\"type\":\"standalone\"},{\"name\":\"SCEASTER\",\"followsDelimiter\":\"/\",\"description\":\"Specifies a user-defined variable to be processed in the same manner as a U.S. Census predefined SCEASTER variable.\",\"type\":\"standalone\"},{\"name\":\"SEASONAL\",\"followsDelimiter\":\"/\",\"description\":\"Specifies a user-defined variable to be processed in the same manner as a U.S. Census predefined SEASONAL variable.\",\"type\":\"standalone\"},{\"name\":\"TC\",\"followsDelimiter\":\"/\",\"description\":\"Specifies a user-defined variable to be processed in the same manner as a U.S. Census predefined TC variable.\",\"type\":\"standalone\"},{\"name\":\"TD\",\"followsDelimiter\":\"/\",\"description\":\"Specifies a user-defined variable to be processed in the same manner as a U.S. Census predefined TD variable.\",\"type\":\"standalone\"},{\"name\":\"TDSTOCK\",\"followsDelimiter\":\"/\",\"description\":\"Specifies a user-defined variable to be processed in the same manner as a U.S. Census predefined TDSTOCK variable.\",\"type\":\"standalone\"},{\"name\":\"THANKS\",\"followsDelimiter\":\"/\",\"description\":\"Specifies a user-defined variable to be processed in the same manner as a U.S. Census predefined THANKS variable.\",\"type\":\"standalone\"},{\"name\":\"USER\",\"followsDelimiter\":\"/\",\"description\":\"Specifies a user-defined variable to be processed in the same manner as a U.S. Census predefined USER variable.\",\"type\":\"standalone\"}]}]},{\"name\":\"OUTLIER\",\"description\":\"The OUTLIER statement specifies that the X12 procedure perform automatic detection of additive (point) outliers, temporary change outliers, level shifts, or any combination of the three when using the specified model. After outliers are identified, the appropriate regression variables are incorporated into the model as \\\"Automatically Identified Outliers,\\\" and the model is reestimated. This procedure is repeated until no additional outliers are found.\",\"help\":\"OUTLIER &lt;CV=value&gt;&lt;SPAN=(mmmyy ,mmmyy ) | SPAN=(’yyQq’ ,’yyQq’ )&gt;&lt;TYPE=&lt;NONE | (AO LS TC) | (AO LS)&gt;... &gt; ...\",\"arguments\":[{\"name\":\"AOCV=\",\"optional\":true,\"description\":\"Specifies a critical value to use for additive (point) outliers. If AOCV is specified, this value overrides any default critical value for AO outliers.\",\"help\":\"AOCV=*value*\",\"type\":\"value\"},{\"name\":\"CV=\",\"optional\":true,\"description\":\"Specifies an initial critical value to use for detection of all types of outliers. The absolute value of the t statistic associated with an outlier parameter estimate is compared with the critical value to determine the significance of the outlier. If the CV= option is not specified, then the default initial critical value is computed using a formula presented by Ljung (1993), which is based on the number of observations or model span used in the analysis.\",\"help\":\"CV=*value*\",\"type\":\"value\"},{\"name\":\"LSCV=\",\"optional\":true,\"description\":\"Specifies a critical value to use for level shift outliers. If LSCV is specified, this value overrides any default critical value for LS outliers.\",\"help\":\"LSCV=*value*\",\"type\":\"value\"},{\"name\":\"SPAN=\",\"optional\":true,\"description\":\"Gives the dates of the first and last observations to define a subset for searching for outliers. A single date in parentheses is interpreted to be the starting date of the subset. To specify only the ending date, use SPAN=(,mmmyy ) or SPAN=(,’yyQq’). If the starting or ending date is omitted, then the first or last date, respectively, of the input data set is assumed. A four-digit year can be specified; if a two-digit year is specified, the value specified in the YEARCUTOFF= SAS system option applies.\",\"type\":\"value\"},{\"name\":\"TCCV=\",\"optional\":true,\"description\":\"Specifies a critical value to use for temporary change outliers. If TCCV is specified, this value overrides any default critical value for TC outliers.\",\"help\":\"TCCV=*value*\",\"type\":\"value\"},{\"name\":\"TYPE=\",\"optional\":true,\"description\":\"Lists the outlier types to be detected by the automatic outlier identification method. TYPE=NONE turns off outlier detection. The valid outlier types are AO, LS, and TC. The default is TYPE=(AO LS).\",\"help\":\"TYPE=NONE | (AO LS TC) | (AO LS) | (LS TC) | (AO TC)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NONE\",\"description\":\"Lists no outlier types to be detected by the automatic outlier identification method.\",\"type\":\"standalone\"},{\"name\":\"(AO LS TC)\",\"description\":\"Lists the AO LS TC outlier types to be detected by the automatic outlier identification method.\",\"type\":\"standalone\"},{\"name\":\"(AO LS)\",\"description\":\"Lists AO LS outlier types to be detected by the automatic outlier identification method. This is the default.\",\"type\":\"standalone\"},{\"name\":\"(LS TC)\",\"description\":\"Lists LS TC outlier types to be detected by the automatic outlier identification method.\",\"type\":\"standalone\"},{\"name\":\"(AO TC)\",\"description\":\"Lists AO TC outlier types to be detected by the automatic outlier identification method.\",\"type\":\"standalone\"}]}]},{\"name\":\"OUTPUT\",\"description\":\"The OUTPUT statement creates an output data set that contains specified tables. The data set is named by the OUT= option.\",\"help\":\"OUTPUT &lt;A1&gt;&lt;A2&gt;&lt;OUT=SAS-data-set&gt; ...\",\"arguments\":[{\"name\":\"A1\",\"optional\":true,\"description\":\"[Prior adjustments and regARIMA components (optional)] Original series\",\"type\":\"standalone\"},{\"name\":\"A10\",\"optional\":true,\"description\":\"[Prior adjustments and regARIMA components (optional)] RegARIMA user-defined seasonal component\",\"type\":\"standalone\"},{\"name\":\"A19\",\"optional\":true,\"description\":\"[Prior adjustments and regARIMA components (optional)] RegARIMA outlier adjusted original data\",\"type\":\"standalone\"},{\"name\":\"A2\",\"optional\":true,\"description\":\"[Prior adjustments and regARIMA components (optional)] Prior-adjustment factors\",\"type\":\"standalone\"},{\"name\":\"A6\",\"optional\":true,\"description\":\"[Prior adjustments and regARIMA components (optional)] RegARIMA trading day component\",\"type\":\"standalone\"},{\"name\":\"A7\",\"optional\":true,\"description\":\"[Prior adjustments and regARIMA components (optional)] RegARIMA holiday component\",\"type\":\"standalone\"},{\"name\":\"A8\",\"optional\":true,\"description\":\"[Prior adjustments and regARIMA components (optional)] RegARIMA combined outlier component\",\"type\":\"standalone\"},{\"name\":\"A8A0\",\"optional\":true,\"description\":\"[Prior adjustments and regARIMA components (optional)] RegARIMA AO outlier component\",\"type\":\"standalone\"},{\"name\":\"A8LS\",\"optional\":true,\"description\":\"[Prior adjustments and regARIMA components (optional)] RegARIMA level change outlier component\",\"type\":\"standalone\"},{\"name\":\"A8TC\",\"optional\":true,\"description\":\"[Prior adjustments and regARIMA components (optional)] RegARIMA temporary change outlier component\",\"type\":\"standalone\"},{\"name\":\"A9\",\"optional\":true,\"description\":\"[Prior adjustments and regARIMA components (optional)] RegARIMA user-defined regression component\",\"type\":\"standalone\"},{\"name\":\"B1\",\"optional\":true,\"description\":\"[Preliminary estimates of irregular component weights and trading day regression factors (X-11 method)] Prior-adjusted or original series\",\"type\":\"standalone\"},{\"name\":\"C17\",\"optional\":true,\"description\":\"[Final estimates of irregular component weights and trading day regression factors] Final weight for irregular components\",\"type\":\"standalone\"},{\"name\":\"C20\",\"optional\":true,\"description\":\"[inal estimates of irregular component weights and trading day regression factors] Final extreme value adjustment factors\",\"type\":\"standalone\"},{\"name\":\"D1\",\"optional\":true,\"description\":\"[Final estimates of seasonal, trend cycle, and irregular components] Modified original data, D iteration\",\"type\":\"standalone\"},{\"name\":\"D10\",\"optional\":true,\"description\":\"[Final estimates of seasonal, trend cycle, and irregular components] Final seasonal factors\",\"type\":\"standalone\"},{\"name\":\"D10B\",\"optional\":true,\"description\":\"[Final estimates of seasonal, trend cycle, and irregular components] Seasonal factors, adjusted for user-defined seasonal\",\"type\":\"standalone\"},{\"name\":\"D10D\",\"optional\":true,\"description\":\"[Final estimates of seasonal, trend cycle, and irregular components] Final seasonal difference\",\"type\":\"standalone\"},{\"name\":\"D11\",\"optional\":true,\"description\":\"[Final replacement values for extreme S-I ratios] Final seasonally adjusted series\",\"type\":\"standalone\"},{\"name\":\"D11A\",\"optional\":true,\"description\":\"[Final estimates of seasonal, trend cycle, and irregular components] Final seasonally adjusted series with forced yearly totals\",\"type\":\"standalone\"},{\"name\":\"D11F\",\"optional\":true,\"description\":\"[Final seasonally adjusted series] Factors applied to get adjusted series with forced yearly totals\",\"type\":\"standalone\"},{\"name\":\"D11R\",\"optional\":true,\"description\":\"[Final estimates of seasonal, trend cycle, and irregular components] Rounded final seasonally adjusted series (with forced yearly totals)\",\"type\":\"standalone\"},{\"name\":\"D12\",\"optional\":true,\"description\":\"[Final estimates of seasonal, trend cycle, and irregular components] Final trend cycle\",\"type\":\"standalone\"},{\"name\":\"D13\",\"optional\":true,\"description\":\"[Final estimates of seasonal, trend cycle, and irregular components] Final irregular series\",\"type\":\"standalone\"},{\"name\":\"D16\",\"optional\":true,\"description\":\"[Final estimates of seasonal, trend cycle, and irregular components]\",\"type\":\"standalone\"},{\"name\":\"D16B\",\"optional\":true,\"description\":\"[Final estimates of seasonal, trend cycle, and irregular components] Combined adjustment factors\",\"type\":\"standalone\"},{\"name\":\"D18\",\"optional\":true,\"description\":\"[Final estimates of seasonal, trend cycle, and irregular components] Combined calendar adjustment factors\",\"type\":\"standalone\"},{\"name\":\"D7\",\"optional\":true,\"description\":\"[Final estimates of seasonal, trend cycle, and irregular components] Preliminary trend cycle, D iteration\",\"type\":\"standalone\"},{\"name\":\"D8\",\"optional\":true,\"description\":\"[Final estimates of seasonal, trend cycle, and irregular components] Final unmodified S-I ratios\",\"type\":\"standalone\"},{\"name\":\"D9\",\"optional\":true,\"description\":\"[Final estimates of seasonal, trend cycle, and irregular components] Final replacement values for extreme S-I ratios\",\"type\":\"standalone\"},{\"name\":\"E1\",\"optional\":true,\"description\":\"[Analytical table] Original data modified for extremes\",\"type\":\"standalone\"},{\"name\":\"E2\",\"optional\":true,\"description\":\"[Analytical table] Modified seasonally adjusted series\",\"type\":\"standalone\"},{\"name\":\"E3\",\"optional\":true,\"description\":\"[Analytical table] Modified irregular series\",\"type\":\"standalone\"},{\"name\":\"E5\",\"optional\":true,\"description\":\"[Analytical table] Percent changes in original series\",\"type\":\"standalone\"},{\"name\":\"E6\",\"optional\":true,\"description\":\"[Analytical table] Percent changes in final seasonally adjusted series\",\"type\":\"standalone\"},{\"name\":\"E6A\",\"optional\":true,\"description\":\"[Analytical table] Percent changes (differences) in seasonally adjusted series with forced yearly totals (D11.A)\",\"type\":\"standalone\"},{\"name\":\"E6R\",\"optional\":true,\"description\":\"[Analytical table] Percent changes (differences) in rounded seasonally adjusted series (D11.R)\",\"type\":\"standalone\"},{\"name\":\"E7\",\"optional\":true,\"description\":\"[Analytical table] Differences in final trend cycle\",\"type\":\"standalone\"},{\"name\":\"E8\",\"optional\":true,\"description\":\"[Analytical table] Percent changes (differences) in original series adjusted for calendar factors (A18)\",\"type\":\"standalone\"},{\"name\":\"MV1\",\"optional\":true,\"description\":\"Original series adjusted for missing value regressors\",\"type\":\"standalone\"},{\"name\":\"OUT=\",\"optional\":true,\"description\":\"Names the data set to contain the specified tables. If the OUT= option is omitted, the SAS System names the new data set by using the default DATAn convention. For each table to be included in the output data set, you must specify the X12 tablename keyword. The keyword corresponds to the title label used by the Census Bureau X12-ARIMA software.\",\"help\":\"OUT=*SAS-data-set*\",\"type\":\"dataSet\"}]},{\"name\":\"REGRESSION\",\"description\":\"The REGRESSION statement includes regression variables in a regARIMA model or specifies regression variables whose effects are to be removed by the IDENTIFY statement to aid in ARIMA model identification. Predefined regression variables are selected with the PREDEFINED= option. User-defined regression variables are specified with the USERVAR= option.\",\"help\":\"REGRESSION &lt;B=(value &lt;F&gt; ...)&gt; PREDEFINED=CONSTANT&lt; / B= &gt;|LOM|LOMSTOCK...  USERVAR=(variables) &lt; / B=value USERTYPE=option&gt; ...\",\"arguments\":[{\"name\":\"PREDEFINED=\",\"description\":\"Lists the predefined regression variables to be included in the model.\",\"help\":\"PREDEFINED=CONSTANT&lt; / B= &gt; | LOM | LOMSTOCK | LOQ | LPYEAR | SEASONAL | TD | TDNOLPYEAR | TD1COEF | TD1NOLPYEAR | EASTER(value) | SCEASTER(value) | LABOR(value) | THANK(value) | TDSTOCK(value) | SINCOS(value ...)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"CONSTANT\",\"description\":\"Trend constant\",\"help\":\"CONSTANT&lt; / B= &gt;\",\"type\":\"value\"},{\"name\":\"LOM\",\"description\":\"Length-of-month (monthly flow)\",\"type\":\"standalone\"},{\"name\":\"LOMSTOCK\",\"description\":\"Stock length-of-month\",\"type\":\"standalone\"},{\"name\":\"LOQ\",\"description\":\"Length-of-quarter (quarterly flow)\",\"type\":\"standalone\"},{\"name\":\"LPYEAR\",\"description\":\"Leap year monthly and quarterly flow)\",\"type\":\"standalone\"},{\"name\":\"SEASONAL\",\"description\":\"Fixed seasonal\",\"type\":\"standalone\"},{\"name\":\"TD\",\"description\":\"Trading day\",\"type\":\"standalone\"},{\"name\":\"TDNOLPYEAR\",\"description\":\"Trading day (leap year)\",\"type\":\"standalone\"},{\"name\":\"TD1COEF\",\"description\":\"One coefficient trading day\",\"type\":\"standalone\"},{\"name\":\"TD1NOLPYEAR\",\"description\":\"One coefficient trading day (leap year)\",\"type\":\"standalone\"},{\"name\":\"EASTER\",\"description\":\"Easter holiday\",\"help\":\"EASTER(value)\",\"type\":\"standalone\"},{\"name\":\"SCEASTER\",\"description\":\"Statistics Canada Easter\",\"help\":\"SCEASTER(value)\",\"type\":\"standalone\"},{\"name\":\"LABOR\",\"description\":\"Labor Day\",\"help\":\"LABOR(value)\",\"type\":\"standalone\"},{\"name\":\"THANK\",\"description\":\"Thanksgiving\",\"help\":\"THANK(value)\",\"type\":\"standalone\"},{\"name\":\"TDSTOCK\",\"description\":\"Stock trading day\",\"help\":\"TDSTOCK(value)\",\"type\":\"standalone\"},{\"name\":\"SINCOS\",\"description\":\"Fixed seasonal\",\"help\":\"SINCOS(value ...)\",\"type\":\"standalone\"}]},{\"name\":\"USERVAR=\",\"description\":\"Specifies variables in the PROC X12 DATA= data set that are to be used as regressors.\",\"type\":\"value\"},{\"name\":\"B=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies initial or fixed values for the regression parameters in the order in which they appear in the PREDEFINED= and USERVAR= options. An F immediately following the numerical value indicates that this is not an initial value, but a fixed value.\",\"type\":\"value\"},{\"name\":\"USERTYPE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Enables a user-defined variable to be processed in the same manner as a U.S. Census predefined variable.\",\"help\":\"USERTYPE=AO | CONSTANT | EASTER | HOLIDAY | LABOR | LOM | LOMSTOCK | LOQ | LPYEAR | LS | RP | SCEASTER | SEASONAL | TC | TD | TDSTOCK | THANKS | USER\",\"type\":\"choice\",\"arguments\":[{\"name\":\"AO\",\"followsDelimiter\":\"/\",\"description\":\"Specifies a user-defined variable to be processed in the same manner as a U.S. Census predefined AO variable.\",\"type\":\"standalone\"},{\"name\":\"CONSTANT\",\"followsDelimiter\":\"/\",\"description\":\"Specifies a user-defined variable to be processed in the same manner as a U.S. Census predefined CONSTANT variable.\",\"type\":\"standalone\"},{\"name\":\"EASTER\",\"followsDelimiter\":\"/\",\"description\":\"Specifies a user-defined variable to be processed in the same manner as a U.S. Census predefined EASTER variable.\",\"type\":\"standalone\"},{\"name\":\"HOLIDAY\",\"followsDelimiter\":\"/\",\"description\":\"Specifies a user-defined variable to be processed in the same manner as a U.S. Census predefined HOLIDAY variable.\",\"type\":\"standalone\"},{\"name\":\"LABOR\",\"followsDelimiter\":\"/\",\"description\":\"Specifies a user-defined variable to be processed in the same manner as a U.S. Census predefined LABOR variable.\",\"type\":\"standalone\"},{\"name\":\"LOM\",\"followsDelimiter\":\"/\",\"description\":\"Specifies a user-defined variable to be processed in the same manner as a U.S. Census predefined LOM variable.\",\"type\":\"standalone\"},{\"name\":\"LOMSTOCK\",\"followsDelimiter\":\"/\",\"description\":\"Specifies a user-defined variable to be processed in the same manner as a U.S. Census predefined LOMSTOCK variable.\",\"type\":\"standalone\"},{\"name\":\"LOQ\",\"followsDelimiter\":\"/\",\"description\":\"Specifies a user-defined variable to be processed in the same manner as a U.S. Census predefined LOQ variable.\",\"type\":\"standalone\"},{\"name\":\"LPYEAR\",\"followsDelimiter\":\"/\",\"description\":\"Specifies a user-defined variable to be processed in the same manner as a U.S. Census predefined LPYEAR variable.\",\"type\":\"standalone\"},{\"name\":\"LS\",\"followsDelimiter\":\"/\",\"description\":\"Specifies a user-defined variable to be processed in the same manner as a U.S. Census predefined LS variable.\",\"type\":\"standalone\"},{\"name\":\"RP\",\"followsDelimiter\":\"/\",\"description\":\"Specifies a user-defined variable to be processed in the same manner as a U.S. Census predefined RP variable.\",\"type\":\"standalone\"},{\"name\":\"SCEASTER\",\"followsDelimiter\":\"/\",\"description\":\"Specifies a user-defined variable to be processed in the same manner as a U.S. Census predefined SCEASTER variable.\",\"type\":\"standalone\"},{\"name\":\"SEASONAL\",\"followsDelimiter\":\"/\",\"description\":\"Specifies a user-defined variable to be processed in the same manner as a U.S. Census predefined SEASONAL variable.\",\"type\":\"standalone\"},{\"name\":\"TC\",\"followsDelimiter\":\"/\",\"description\":\"Specifies a user-defined variable to be processed in the same manner as a U.S. Census predefined TC variable.\",\"type\":\"standalone\"},{\"name\":\"TD\",\"followsDelimiter\":\"/\",\"description\":\"Specifies a user-defined variable to be processed in the same manner as a U.S. Census predefined TD variable.\",\"type\":\"standalone\"},{\"name\":\"TDSTOCK\",\"followsDelimiter\":\"/\",\"description\":\"Specifies a user-defined variable to be processed in the same manner as a U.S. Census predefined TDSTOCK variable.\",\"type\":\"standalone\"},{\"name\":\"THANKS\",\"followsDelimiter\":\"/\",\"description\":\"Specifies a user-defined variable to be processed in the same manner as a U.S. Census predefined THANKS variable.\",\"type\":\"standalone\"},{\"name\":\"USER\",\"followsDelimiter\":\"/\",\"description\":\"Specifies a user-defined variable to be processed in the same manner as a U.S. Census predefined USER variable.\",\"type\":\"standalone\"}]}]},{\"name\":\"TABLES\",\"description\":\"The TABLES statement enables you to alter the display of the PROC X12 tables. You can specify the display of tables that are not displayed by default by PROC X12, and the NOSUM option enables you to suppress the printing of the period summary line in the time series tables.\",\"help\":\"TABLES &lt;A19&gt;&lt;C20&gt;&lt;NOSUMMARYLINE&gt; ...\",\"arguments\":[{\"name\":\"A19\",\"optional\":true,\"description\":\"[Prior adjustments and regARIMA components (optional)] RegARIMA outlier adjusted original data\",\"type\":\"standalone\"},{\"name\":\"C20\",\"optional\":true,\"description\":\"[inal estimates of irregular component weights and trading day regression factors] Final extreme value adjustment factors\",\"type\":\"standalone\"},{\"name\":\"D1\",\"optional\":true,\"description\":\"[Final estimates of seasonal, trend cycle, and irregular components] Modified original data, D iteration\",\"type\":\"standalone\"},{\"name\":\"D7\",\"optional\":true,\"description\":\"[Final estimates of seasonal, trend cycle, and irregular components] Preliminary trend cycle, D iteration\",\"type\":\"standalone\"},{\"name\":\"E1\",\"optional\":true,\"description\":\"[Analytical table] Original data modified for extremes\",\"type\":\"standalone\"},{\"name\":\"E2\",\"optional\":true,\"description\":\"[Analytical table] Modified seasonally adjusted series\",\"type\":\"standalone\"},{\"name\":\"E3\",\"optional\":true,\"description\":\"[Analytical table] Modified irregular series\",\"type\":\"standalone\"},{\"name\":\"NOSUMMARYLINE\",\"optional\":true,\"aliases\":[\"NOSUM\",\"NOSUMMARY\"],\"description\":\"Applies to the tables available for output in the OUTPUT Statement. By default, these tables include a summary line that gives the average, total, or standard deviation for the historical data by period. The NOSUM option suppresses the display of the summary line in the listing. Also, if the tables are output with ODS, the summary line is not an observation in the data set. Thus, the output to the data set is only the time series, both the historical data and the forecast data, if available.\",\"type\":\"standalone\"}]},{\"name\":\"TRANSFORM\",\"description\":\"The TRANSFORM statement transforms or adjusts the series prior to estimating a regARIMA model. With this statement, the series can be Box-Cox (power) transformed. The \\\"Prior Adjustment Factors\\\" table is associated with the TRANSFORM statement. Only one option can appear in the TRANSFORM statement.\",\"help\":\"TRANSFORM &lt;FUNCTION=&lt;NONE | LOG | SQRT&gt;... &gt;&lt;POWER=value&gt;\",\"arguments\":[{\"name\":\"FUNCTION=\",\"optional\":true,\"aliases\":[\"TYPE=\"],\"description\":\"Specifies the transformation to be applied to the series prior to estimating a regARIMA model. The default is FUNCTION=NONE.\",\"help\":\"FUNCTION=NONE | LOG | SQRT | INVERSE | LOGISTIC | AUTO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NONE\",\"description\":\"Specifies no transformation. This is the default.\",\"type\":\"standalone\"},{\"name\":\"LOG\",\"description\":\"Specifies logarithmic transformation.\",\"type\":\"standalone\"},{\"name\":\"SQRT\",\"description\":\"Specifies square root transformation.\",\"type\":\"standalone\"},{\"name\":\"INVERSE\",\"description\":\"Specifies inverse transformation.\",\"type\":\"standalone\"},{\"name\":\"LOGISTIC\",\"description\":\"Specifies logistic transformation.\",\"type\":\"standalone\"},{\"name\":\"AUTO\",\"description\":\"Uses selection based on Akaike’s information criterion (AIC) to decide between a log transformation and no transformation.\",\"type\":\"standalone\"}]},{\"name\":\"POWER=\",\"optional\":true,\"description\":\"Transforms the input series, Yt, by using a Box-Cox power transformation.\",\"help\":\"POWER=*value*\",\"type\":\"value\"}]},{\"name\":\"USERDEFINED\",\"description\":\"The USERDEFINED statement is used to identify the variables in the input data set that are available for user-defined regression. Only numeric variables can be specified. Note that specifying variables in the USERDEFINED statement does not include the variables as regressors.\",\"help\":\"USERDEFINED variables \"},{\"name\":\"VAR\",\"description\":\"The VAR statement is used to specify the variables in the input data set that are to be analyzed by the procedure. Only numeric variables can be specified. If the VAR statement is omitted, all numeric variables are analyzed except those that appear in a BY statement, ID statement, INPUT statement, USERDEFINED statement, the USERVAR= option of the REGRESSION statement, or the variable named in the DATE= option in the PROC X12 statement.\",\"help\":\"VAR variables \"},{\"name\":\"X11\",\"description\":\"The X11 statement is an optional statement for invoking seasonal adjustment by an enhanced version of the methodology of the Census Bureau X-11 and X-11Q programs. You can control the type of seasonal adjustment decomposition calculated with the MODE= option.\",\"help\":\"X11 &lt;MODE=&lt;ADD | MULT | LOGADD&gt;... &gt;&lt;OUTFORECAST&gt;&lt;SEASONALMA=&lt;S3X1 | S3X3 | S3X5&gt;... &gt; ...\",\"arguments\":[{\"name\":\"FINAL=\",\"optional\":true,\"description\":\"Lists the types of prior adjustment factors, obtained from the regression and outlier statements, that are to be removed from the final seasonally adjusted series.\",\"help\":\"FINAL=AO | LS | TC | ALL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"AO\",\"description\":\"Additive outliers\",\"type\":\"standalone\"},{\"name\":\"LS\",\"description\":\"Level change and ramp outliers\",\"type\":\"standalone\"},{\"name\":\"TC\",\"description\":\"Temporary change outliers\",\"type\":\"standalone\"},{\"name\":\"ALL\",\"description\":\"All outliers\",\"type\":\"standalone\"}]},{\"name\":\"FORCE=\",\"optional\":true,\"description\":\"Specifies that the seasonally adjusted series be modified.\",\"help\":\"FORCE=TOTALS | ROUND | BOTH\",\"type\":\"choice\",\"arguments\":[{\"name\":\"TOTALS\",\"description\":\"To force the yearly totals of the seasonally adjusted series and the original series to be the same.\",\"type\":\"standalone\"},{\"name\":\"ROUND\",\"description\":\"To adjust the seasonally adjusted values for each calendar year so that the sum of the rounded seasonally adjusted series for any year equals the rounded annual total.\",\"type\":\"standalone\"},{\"name\":\"BOTH\",\"description\":\"To first force the yearly totals, then round the adjusted series.\",\"type\":\"standalone\"}]},{\"name\":\"MODE=\",\"optional\":true,\"description\":\"Determines the mode of the seasonal adjustment decomposition to be performed.\",\"help\":\"MODE=ADD | MULT | LOGADD | PSEUDOADD\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ADD\",\"description\":\"Additive mode of the seasonal adjustment decomposition\",\"type\":\"standalone\"},{\"name\":\"MULT\",\"description\":\"Multiplicative mode of the seasonal adjustment decomposition\",\"type\":\"standalone\"},{\"name\":\"LOGADD\",\"description\":\"Log-additive mode of the seasonal adjustment decomposition\",\"type\":\"standalone\"},{\"name\":\"PSEUDOADD\",\"description\":\"Pseudo-additive mode of the seasonal adjustment decomposition\",\"type\":\"standalone\"}]},{\"name\":\"OUTFORECAST\",\"optional\":true,\"aliases\":[\"OUTFCST\"],\"description\":\"Determines whether forecasts are included in certain tables sent to the output data set. If OUTFORECAST is specified, then forecast values are included in the output data set for tables A6, A7, A8, A9, A10, B1, D10, D10B, D10D, D16, D16B, and D18. The default is not to include forecasts.\",\"type\":\"standalone\"},{\"name\":\"SEASONALMA=\",\"optional\":true,\"description\":\"Specifies which seasonal moving average (also called seasonal \\\"filter\\\") be used to estimate the seasonal factors. These seasonal moving averages are n x m moving averages, meaning that an n-term simple average is taken of a sequence of consecutive m-term simple averages.\",\"help\":\"SEASONALMA=S3X1 | S3X3 | S3X5 | S3X9 | STABLE | X11DEFAULT | MSR\",\"type\":\"choice\",\"arguments\":[{\"name\":\"S3X1\",\"description\":\"A S3X1 moving average.\",\"type\":\"standalone\"},{\"name\":\"S3X3\",\"description\":\"A S3X3 moving average.\",\"type\":\"standalone\"},{\"name\":\"S3X5\",\"description\":\"A S3X5 moving average.\",\"type\":\"standalone\"},{\"name\":\"S3X9\",\"description\":\"A S3X9 moving average.\",\"type\":\"standalone\"},{\"name\":\"STABLE\",\"description\":\"Stable seasonal filter.\",\"type\":\"standalone\"},{\"name\":\"X11DEFAULT\",\"description\":\"A 3X3 moving average is used to calculate the initial seasonal factors in each iteration, and a 3X5 moving average to calculate the final seasonal factors\",\"type\":\"standalone\"},{\"name\":\"MSR\",\"description\":\"Filter chosen automatically by using the moving seasonality ratio of X-11-ARIMA/88\",\"type\":\"standalone\"}]},{\"name\":\"SIGMALIM=\",\"optional\":true,\"description\":\"Specifies the lower and upper sigma limits in standard deviation units which are used to identify and down-weight extreme irregular values in the internal seasonal adjustment computations. One or both limits can be specified. The lower limit must be greater than 0 and not greater than the upper limit. If the lower sigma limit is not specified, then it defaults to a value of 1.5. The default upper sigma limit is 2.5. The comma must be used if the upper limit is specified.\",\"type\":\"value\"},{\"name\":\"TRENDMA=\",\"optional\":true,\"description\":\"Specifies which Henderson moving average be used to estimate the final trend cycle. Any odd number greater than one and less than or equal to 101 can be specified. Example: TRENDMA=23. If no selection is made, the program selects a trend moving average based on statistical characteristics of the data. For monthly series, a 9-, 13-, or 23-term Henderson moving average is selected. For quarterly series, the program chooses either a 5- or a 7-term Henderson moving average.\",\"help\":\"TRENDMA=*value*\",\"type\":\"value\"},{\"name\":\"TYPE=\",\"optional\":true,\"description\":\"Specifies the method used to calculate the final seasonally adjusted series (Table D11). The default method is TYPE=SA.\",\"help\":\"TYPE=SA | SUMMARY | TREND\",\"type\":\"choice\",\"arguments\":[{\"name\":\"SA\",\"description\":\"Assumes that the original series has not been seasonally adjusted.\",\"type\":\"standalone\"},{\"name\":\"SUMMARY\",\"description\":\"The trend cycle, irregular, trading day, and holiday factors are calculated, but not removed from the seasonally adjusted series. Thus, for TYPE=SUMMARY, Table D11 is the same as the original series.\",\"type\":\"standalone\"},{\"name\":\"TREND\",\"description\":\"trading day, holiday, and prior adjustment factors are removed from the original series to calculate the seasonally adjusted series (Table D11) and also are used in the calculation of the final trend (Table D12).\",\"type\":\"standalone\"}]}]}],\"supportSiteInformation\":{\"docsetId\":\"etsug\",\"docsetVersion\":\"latest\",\"docsetTargetFile\":\"etsug_x12_toc.htm\"}}"
  },
  {
    "path": "server/pubsdata/Procedures/en/XSL.json",
    "content": "{\"name\":\"XSL\",\"statements\":[{\"name\":\"PROC XSL\",\"description\":\"Transforms an XML document.\",\"help\":\"PROC XSL IN=fileref | 'external-file'OUT=fileref | 'external-file'XSL=fileref | 'external-file';\\n\\tPARAMETER  'parameter'='value';\",\"arguments\":[{\"name\":\"IN=\",\"description\":\"specifies the input file. The file must be a well-formed XML document.\",\"help\":\"IN=*fileref* | '*external-file*'\",\"type\":\"choice\",\"arguments\":[{\"name\":\"fileref\",\"placeholder\":true,\"description\":\"specifies the SAS fileref that is assigned to the input XML document. To assign a fileref, use the FILENAME statement.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1glo2ljnx0jfkn1hjyu2xaep07u\"},{\"name\":\"'external-file'\",\"placeholder\":true,\"description\":\"is the physical location of the input XML document. Include the complete pathname and the filename. Enclose the physical name in single or double quotation marks. The maximum length is 200 characters.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p03l1vx1kmvbuun14uq0uuwbluq2\"}],\"supportSiteTargetFragment\":\"p0uus785for10wn14jbyxxx4pzxz\"},{\"name\":\"OUT=\",\"description\":\"specifies the output file.\",\"help\":\"OUT=*fileref* | '*external-file*'\",\"type\":\"choice\",\"arguments\":[{\"name\":\"fileref\",\"placeholder\":true,\"description\":\"specifies the SAS fileref that is assigned to the output file. To assign a fileref, use the FILENAME statement.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0gys5x15utbrmn1upokaysgpa2s\"},{\"name\":\"'external-file'\",\"placeholder\":true,\"description\":\"is the physical location of the output file. Include the complete pathname and the filename. Enclose the physical name in single or double quotation marks. The maximum length is 200 characters.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0e9i2yg39scurn1afsm0uuoh5k0\"}],\"supportSiteTargetFragment\":\"n14ir658rut8qgn1a8oztbr2k3et\"},{\"name\":\"XSL=\",\"aliases\":[\"XSLT=\"],\"description\":\"specifies the XSL style sheet to transform the XML document. The XSL style sheet is a file that describes how to transform the XML document by using the XSLT language. The XSL style sheet must be a well-formed XML document.\",\"help\":\"XSL=*fileref* | '*external-file*'\",\"type\":\"choice\",\"arguments\":[{\"name\":\"fileref\",\"placeholder\":true,\"description\":\"specifies the SAS fileref that is assigned to the XSL style sheet. To assign a fileref, use the FILENAME statement.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n11h5ylso7w998n1ruqvxceiam5j\"},{\"name\":\"'external-file'\",\"placeholder\":true,\"description\":\"is the physical location of the XSL style sheet. Include the complete pathname and the filename. Enclose the physical name in single or double quotation marks. The maximum length is 200 characters.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0yehgoudcp7a2n135497vtliwt5\"}],\"supportSiteTargetFragment\":\"n1pnordew2ruo2n16o0vud8kft0l\"}],\"supportSiteTargetFile\":\"p0209aryd0fkqtn1061f7d84uni4.htm\"},{\"name\":\"PARAMETER\",\"description\":\"Changes instances of a parameter in an XSL style sheet to a specified value.\",\"help\":\"PARAMETER '*parameter*'='*value*';\",\"arguments\":[{\"name\":\"'parameter'=\",\"placeholder\":true,\"description\":\"specifies the parameter name and a value to be passed to the XSL style sheet. PROC XSL changes instances of the parameter in the style sheet to the specified value. The specified parameter must exist in the XSL style sheet. Enclose the parameter name in single or double quotation marks. The specified value can be a character string or a numeric value. Enclose the value in single or double quotation marks if the value is a character string.\",\"help\":\"'*parameter*'='*value*'\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1et91yxdji3can1lkrkjh6clsfi\"}],\"supportSiteTargetFile\":\"p13vucf5x9u2a5n1hmilhshqcpqr.htm\"}],\"supportSiteInformation\":{\"docsetId\":\"proc\",\"docsetVersion\":\"v_002\",\"docsetTargetFile\":\"p0ypu917haaeizn1nmje9zskuxg6.htm\"}}"
  },
  {
    "path": "server/pubsdata/Statements/en/datastep.json",
    "content": "[{\"name\":\"ABORT\",\"description\":\"Stops executing the current DATA step, SAS job, or SAS session.\",\"help\":\"Form 1: ABORT statement for use on the SAS Compute Server, batch\\nmode, or noninteractive mode\\nABORT  <ABEND | CANCEL <FILE> | EXIT<n> | RETURN<n> | NOLIST> ;\\nForm 2: ABORT statement for use on the CAS server\\nABORT ;\",\"arguments\":[{\"name\":\"ABEND\",\"optional\":true,\"description\":\"causes abnormal termination of the current SAS job or session. Actions depend on the method of operation.\\n• batch mode and noninteractive mode\\n• stops processing immediately. \\n• sends an error message to the SAS log that states that execution was terminated by the ABEND option of the ABORT statement.\\n• does not execute any subsequent statements or check syntax.\\n• returns control to the operating environment; further action is based on how your operating environment and your site treat jobs that end abnormally.\\n• SAS Compute Server session\\n• the SAS compute session is terminated.\\n• an abnormal error code is set in the “sessionConditionCode’”.\\n• the state for the SAS Compute Server session is set to “canceled”.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0779bphtjgn9cn1r7j08nnytrg8\"},{\"name\":\"CANCEL\",\"optional\":true,\"description\":\"causes the execution of the submitted statements to be canceled. Actions depend on the method of operation.\\n• batch mode and noninteractive mode\\n• terminates the entire SAS program.\\n• writes an error message to the SAS log.\\n• SAS Compute Server session\\n• clears only the currently submitted program.\\n•  does not affect other subsequent submit calls.\\n• writes an error message to the SAS log.\\n• SAS/IntrNet application server \\n• creates a separate execution for each request and submits the request code. A CANCEL argument in the request code clears the current submitted code but does not terminate the execution or the SAS session. \",\"help\":\"CANCEL &lt;FILE&gt; &lt;*n*&gt;\",\"type\":\"standaloneOrValue\",\"arguments\":[{\"name\":\"FILE\",\"description\":\"when coded as an option to the CANCEL argument in an autoexec file or in a %INCLUDE file, causes only the contents of the autoexec file or %INCLUDE file to be cleared by the ABORT statement. Other submitted source statements are executed after the autoexec file or %INCLUDE file.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0mjeugjpt86ran19p3opwh6ruon\"}],\"supportSiteTargetFragment\":\"p090wm19zmwlzzn1gyltcwwzohic\"},{\"name\":\"EXIT\",\"optional\":true,\"description\":\"causes the following actions to occur in a SAS Compute Server session:\\n• the remainder of the SAS Compute Server session is not executed.\\n• the SAS Compute Server session exits with a message of NOTE.\\n• the 'jobConditionCode' for the SAS Compute Server job is set to 0.\\n• the state for the SAS Compute Server session is set to “completed”.\",\"type\":\"standalone\",\"arguments\":[{\"name\":\"n\",\"placeholder\":true,\"description\":\"is an integer value that enables you to specify a condition code when used with the EXIT argument in a SAS Compute Server session. Specifying n causes the following actions to occur:\\n• the remainder of the SAS Compute Server session is not executed.\\n• the SAS Compute Server session exits with a message of ERROR.\\n• the SYSCC automatic macro variable in the SAS Compute Server session is set to <i>n</i>.\\n• the 'jobConditionCode' for the SAS Compute Server job is set to <i>n</i>.\\n• the state for the SAS Compute Server session is set to “error”.\",\"type\":\"standaloneOrValue\",\"supportSiteTargetFragment\":\"p1l23bmh7e0lm0n1eimiud3i5jsr\"}],\"supportSiteTargetFragment\":\"n1jj9t6xx6sggen1hoibpqcstvwq\"},{\"name\":\"RETURN\",\"optional\":true,\"description\":\"causes the immediate normal termination of the current SAS job or session. Results depend on the method of operation.\\n• batch mode and noninteractive mode:\\n• stops processing immediately.\\n• sends an error message to the SAS log that states that execution was terminated by the RETURN option in the ABORT statement.\\n• does not execute any subsequent statements or check syntax.\\n• returns control to your operating environment with a condition code that indicates an error. \\n• SAS Compute Server session\\n• the SAS compute session is terminated.\\n• an abnormal error code is set in the “sessionConditionCode.”\\n• the state for the SAS Compute Server session is set to “canceled”.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0irseottnka9ln18b5f83d9cij7\"},{\"name\":\"n\",\"optional\":true,\"placeholder\":true,\"description\":\"is an integer value that enables you to specify a condition code. When n is used with the CANCEL argument, the value n is placed in the SYSINFO automatic macro variable. When not used with the CANCEL argument, the value of n is the error code that is returned by SAS as the exit code. The value of n can range from 0 to 255. Normally, a return code of 0 indicates that a program ran with no errors. Return codes greater than 0 are used to indicate progressively more serious error conditions. Return codes of 0–6 are reserved for use by SAS.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0o17n4cnpst7gn1ux6za1dawmwv\"},{\"name\":\"NOLIST\",\"optional\":true,\"description\":\"suppresses the output of all variables to the SAS log.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n19fwimzn9q6kzn1mfui5w4dm26e\"}],\"supportSiteInformation\":{\"docsetId\":\"lestmtsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p0hp2evpgqvfsfn1u223hh9ubv3g.htm\"}},{\"name\":\"ARRAY\",\"description\":\"Defines the elements of an array.\",\"help\":\"ARRAY  array-name { subscript } \\n<$ length | length |  VARCHAR(length) | VARCHAR(*)>\\n<array-elements><(initial-value-list)>;\",\"arguments\":[{\"name\":\"array-name\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the name of the array.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0i3dsaul2y0zun1hz03s4gvjy9p\"},{\"name\":\"{dimension-size\",\"placeholder\":true,\"description\":\"specifies the number of elements in each dimension of the array. Dimension-size is a numeric representation of either the number of elements in a one-dimensional array or the number of elements in each dimension of a multidimensional array.\",\"help\":\"{*dimension-size(s)*}\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n01q4my3tqie86n1wf2zz0wh85d9\"},{\"name\":\"{\",\"placeholder\":true,\"description\":\"are the bounds of each dimension of an array, where lower is the lower bound of that dimension and upper is the upper bound.\",\"help\":\"{&lt;*lower* :&gt;*upper*&lt;, ...&lt;*lower* :&gt; *upper*&gt;}\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p02weyvl4l22mtn1l40cywbwlcws\"},{\"name\":\"{*}\",\"placeholder\":true,\"description\":\"specifies that SAS is to determine the subscript by counting the variables in the array. When you specify the asterisk, also include array-elements.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0hp34qa61gdesn1tidm0qmr8wq8\"},{\"name\":\"$\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies that the elements in the array are character elements.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0viqfo0zx5qr4n18hk3ilunyg1v\"},{\"name\":\"length\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the length of elements in the array that have not been previously assigned a length. For numeric and character variables, this is the maximum number of bytes stored in the variable.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0b72h9p5luz2vn1uzb50qpua6p7\"},{\"name\":\"VARCHAR\",\"optional\":true,\"description\":\"specifies that the preceding variables are character variables of type VARCHAR.\",\"type\":\"standalone\",\"arguments\":[{\"name\":\"length\",\"placeholder\":true,\"description\":\"specifies the maximum number of characters stored for VARCHAR variables.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p01los3627srqkn1cnl8sc3jwvgb\"},{\"name\":\"*\",\"description\":\"specifies to support the maximum length allowed for VARCHAR variables: 536,870,911 characters.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0fpurkjntj07xn1tcv7eo5fh89t\"}],\"supportSiteTargetFragment\":\"n1rnm4bcheyfj1n1d3ypj5d1fe50\"},{\"name\":\"variables\",\"placeholder\":true,\"description\":\"lists variable names.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0esxiidls4o65n1gcvu1bv2x44p\"},{\"name\":\"_TEMPORARY_\",\"description\":\"creates a list of temporary data elements.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n05zzkgtkwqngin1xjnw8f6xebys\"},{\"name\":\"(initial-value-list)\",\"optional\":true,\"placeholder\":true,\"description\":\"gives initial values for the corresponding elements in the array. The values for elements can be numbers or character strings. You must enclose all character strings in quotation marks. To specify one or more initial values directly, use this format:\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0ipqmvg7jid2xn1408suxfvlnc5\"}],\"supportSiteInformation\":{\"docsetId\":\"lestmtsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p08do6szetrxe2n136ush727sbuo.htm\"}},{\"name\":\"ATTRIB\",\"description\":\"Associates a format, informat, label, and length with one or more variables.\",\"help\":\"ATTRIB  *variable-list(s)**attribute-list(s)*;\",\"arguments\":[{\"name\":\"variable-list\",\"optional\":true,\"placeholder\":true,\"description\":\"names the variables that you want to associate with the attributes.\",\"help\":\"*variable-list(s)*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1nd0mq22iu6ovn14mz1ot1hwcji\"},{\"name\":\"FORMAT=\",\"description\":\"associates a format with variables in variable-list.\",\"help\":\"FORMAT=*format*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p08pt9ce6bhq86n18a3zcc97bldz\"},{\"name\":\"INFORMAT=\",\"description\":\"associates an informat with variables in variable-list.\",\"help\":\"INFORMAT=*informat*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n136glco6ritqdn160792yhk9mv1\"},{\"name\":\"LABEL=\",\"description\":\"associates a label with variables in variable-list.\",\"help\":\"LABEL='*label*' \",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0a9x9io5pi05mn1i4p2cphc7t0n\"},{\"name\":\"LENGTH=\",\"description\":\"specifies the length of variables in variable-list.\",\"help\":\"LENGTH=&lt;$&gt;*length*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p19cbu6foc42dkn14jexvqf2ylch\"},{\"name\":\"TRANSCODE=\",\"description\":\"specifies whether character variables can be transcoded. Use TRANSCODE=NO to suppress transcoding. Variables with TRANSCODE=NO are not returned.\",\"help\":\"TRANSCODE=YES | NO \",\"type\":\"choice\",\"arguments\":[{\"name\":\"YES\",\"type\":\"standalone\"},{\"name\":\"NO\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"n0aybfq07h016yn1rx870dn8lnrg\"}],\"supportSiteInformation\":{\"docsetId\":\"lestmtsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n1wxb7p9jkxycin16lz2db7idbnt.htm\"}},{\"name\":\"BY\",\"description\":\"Controls the operation of a SET, MERGE, MODIFY, or UPDATE statement in the DATA step and sets up special grouping variables.\",\"help\":\"BY <DESCENDING>variable-1< ...<DESCENDING>variable-n>\\n<NOTSORTED><GROUPFORMAT>;\",\"arguments\":[{\"name\":\"variable\",\"placeholder\":true,\"description\":\"names each variable by which the data set is sorted or indexed. These variables are referred to as BY variables for the current DATA or PROC step.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0dmmex0fsbmj0n1gcl0fexcslcy\"},{\"name\":\"DESCENDING\",\"optional\":true,\"description\":\"specifies that the data sets are sorted in descending order by the variable that is specified. DESCENDING means largest to smallest numerically, or reverse alphabetical for character variables.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1cugm3hio9mc0n1auu8cutbw9y5\"},{\"name\":\"GROUPFORMAT\",\"optional\":true,\"description\":\"uses the formatted values, instead of the internal values, of the BY variables to determine where BY groups begin and end. GROUPFORMAT also determines how FIRST.variable and LAST.variable are assigned. Although the GROUPFORMAT option can appear anywhere in the BY statement, the option applies to all variables in the BY statement.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0yh1ocgld557an11ewawcc2kop5\"},{\"name\":\"NOTSORTED\",\"optional\":true,\"description\":\"specifies that observations with the same BY value are grouped together but are not necessarily sorted in alphabetical or numeric order.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p15nij2ef6sunen1o4m7dqh90re0\"}],\"supportSiteInformation\":{\"docsetId\":\"lestmtsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p0yeyftk8ftuckn1o5qzy53284gz.htm\"}},{\"name\":\"CALL\",\"description\":\"Invokes a SAS CALL routine.\",\"help\":\"CALL *routine*(*parameter-1*&lt;,  ...*parameter-n*&gt;);\",\"arguments\":[{\"name\":\"routine\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the name of the SAS CALL routine that you want to invoke.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n03u6r7tlc5u95n1cn2gccprdm1c\"},{\"name\":\"(parameter)\",\"optional\":true,\"placeholder\":true,\"description\":\"is a piece of information to be passed to or returned from the routine.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n16206xgpjokiun1frtz1vpo9gcq\"}],\"supportSiteInformation\":{\"docsetId\":\"lestmtsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p182pwqs929uq5n13x03neri25ru.htm\"}},{\"name\":\"CONTINUE\",\"description\":\"Stops processing the current DO-loop iteration and resumes processing the next iteration.\",\"help\":\"CONTINUE; \",\"supportSiteInformation\":{\"docsetId\":\"lestmtsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n0vupy1vhs8gosn1tjd3zg8dtf76.htm\"}},{\"name\":\"DATALINES\",\"description\":\"Specifies that lines of data follow the statement.\",\"help\":\"DATALINES ;\",\"aliases\":[\"CARDS\",\"LINES\"],\"supportSiteInformation\":{\"docsetId\":\"lestmtsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p0114gachtut3nn1and4ap8ke9nf.htm\"}},{\"name\":\"DATALINES4\",\"description\":\"Specifies that the lines of data that follow the statement contain internal semicolons.\",\"help\":\"DATALINES4 ;\",\"aliases\":[\"CARDS4\",\"LINES4\"],\"supportSiteInformation\":{\"docsetId\":\"lestmtsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p1mm9b070wj962n16q0v1d9uku5q.htm\"}},{\"name\":\"DELETE\",\"description\":\"Stops processing the current observation.\",\"help\":\"DELETE ;\",\"supportSiteInformation\":{\"docsetId\":\"lestmtsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p068vr83ld69mrn1fpvs67k5l5as.htm\"}},{\"name\":\"DESCRIBE\",\"description\":\"Retrieves source code from a stored compiled DATA step program or a DATA step view.\",\"help\":\"DESCRIBE ;\",\"supportSiteInformation\":{\"docsetId\":\"lestmtsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p102rm8qsbdsrdn1ut74dkc8a5kk.htm\"}},{\"name\":\"DO\",\"description\":\"Specifies a group of statements to be executed as a unit.\",\"help\":\"DO ;\\n ...more SAS statements ...\\nEND ; \",\"supportSiteInformation\":{\"docsetId\":\"lestmtsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n0el0y2a02ab1ln1pks3gbac1en3.htm\"}},{\"name\":\"DROP\",\"description\":\"Excludes variables from output SAS data sets.\",\"help\":\"DROP  *variable-list*;\",\"arguments\":[{\"name\":\"variable-list\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the names of the variables to omit from the output data set.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0q26aw9mxipw1n1vqfzdblvblyh\"}],\"supportSiteInformation\":{\"docsetId\":\"lestmtsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n1capr0s7tilbvn1lypdshkgpaip.htm\"}},{\"name\":\"END\",\"description\":\"Ends DO group or SELECT group processing.\",\"help\":\"END ;\",\"supportSiteInformation\":{\"docsetId\":\"lestmtsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n1hzww1k9y2xwun1ndd9xd2qwkv5.htm\"}},{\"name\":\"ERROR\",\"description\":\"Sets _ERROR_ to 1. A message written to the SAS log is optional.\",\"help\":\"ERROR &lt;*message*&gt;;\",\"arguments\":[{\"name\":\"message\",\"optional\":true,\"placeholder\":true,\"description\":\"writes a message to the SAS log.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n03etvmck8gb95n1fjg5tmwp0k2m\"}],\"supportSiteInformation\":{\"docsetId\":\"lestmtsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n0404um2m3l8n0n1kpygoyclarne.htm\"}},{\"name\":\"EXECUTE\",\"description\":\"Executes a stored compiled DATA step program.\",\"help\":\"EXECUTE ;\",\"supportSiteInformation\":{\"docsetId\":\"lestmtsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p0jm1h5hx4zl19n1w3i3p7a3biie.htm\"}},{\"name\":\"FILE\",\"description\":\"Specifies the current output file for PUT statements.\",\"help\":\"FILE *file-specification*&lt;*device-type*&gt;&lt;*options*&gt;;\",\"arguments\":[{\"name\":\"'external-file'\",\"placeholder\":true,\"description\":\"specifies the physical name of an external file, which is enclosed in quotation marks. The physical name is the name by which the operating environment recognizes the file.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1gflmui3xe1vzn1ovwmt12zh1de\"},{\"name\":\"fileref\",\"placeholder\":true,\"description\":\"specifies the fileref of an external file.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1sljp4ktjp6s9n1x1ohjaejuipn\"},{\"name\":\"fileref\",\"placeholder\":true,\"description\":\"specifies a fileref that is previously assigned to an external file that is an aggregate grouping of files. Follow the fileref with the name of a file or member, which is enclosed in parentheses.\",\"help\":\"*fileref(file)*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0wdzjjkf1iw79n1xj2bxzbyp7iy\"},{\"name\":\"LOG\",\"description\":\"is a reserved fileref that directs the output that is produced by any PUT statements to the SAS log.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n04d17lm1a1n7pn1p7zbsbovq4o6\"},{\"name\":\"PRINT\",\"description\":\"is a reserved fileref that directs the output that is produced by any PUT statements to the same file as the output that is produced by SAS procedures.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1hr4ddux7z81gn11m3kbqri7zah\"},{\"name\":\"CATALOG\",\"description\":\"specifies the CATALOG access method.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0w0b3gagmi98gn1tqwfe5ns58wh\"},{\"name\":\"CLIPBOARD\",\"description\":\"specifies the CLIPBOARD access method.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1ezxo4fck9wfxn1mvc6r5lxth8w\"},{\"name\":\"DISK\",\"description\":\"specifies that the device is a disk drive.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p142upzk1lohvvn1c9yc82yvc1be\"},{\"name\":\"DUMMY\",\"description\":\"specifies that the output to the file is discarded.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1ny0umfi1hukan1a7dnrkkdccbr\"},{\"name\":\"FTP\",\"description\":\"specifies the FTP access method.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1ury0e4qkxcyen1ix64lefkxku1\"},{\"name\":\"HADOOP\",\"description\":\"specifies the Hadoop access method.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1fi74lucnp9l7n1q0taitnbngpp\"},{\"name\":\"GTERM\",\"description\":\"indicates that the output device type is a graphics device that receives graphics data.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n16qnw22q6nfeon12kq0hwboux1o\"},{\"name\":\"PIPE\",\"description\":\"specifies an unnamed pipe.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1sqi7sxiuwp30n1c8hhuwx1q9q6\"},{\"name\":\"PLOTTER\",\"description\":\"specifies an unbuffered graphics output device.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1a6e625sxijz6n1ndp60jlrp57v\"},{\"name\":\"PRINTER\",\"description\":\"specifies a printer or printer spool file.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n11xtkgprysr9un1c0t5xgszo1jn\"},{\"name\":\"SOCKET\",\"description\":\"specifies the SOCKET access method.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n179dtxf5p0vmkn1dfanwqgwybvb\"},{\"name\":\"TAPE\",\"description\":\"specifies a tape drive.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1x8419eb4xqfjn13gguwo9kha2u\"},{\"name\":\"TERMINAL\",\"description\":\"specifies the user's terminal.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p14w0d0hy79v6sn1jxkp6jjbw1wv\"},{\"name\":\"UPRINTER\",\"description\":\"specifies a Universal Printer definition name.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1adjd7s7dmnkun1nih0ww3lxktu\"},{\"name\":\"WEBDAV\",\"description\":\"specifies the WEBDAV access method.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1f8u4snnrqwgyn16bu3qnguof39\"},{\"name\":\"BLKSIZE=\",\"optional\":true,\"aliases\":[\"BLK=\"],\"description\":\"specifies the block size of the output file. The block size is the number of bytes that are physically written in one output operation.\",\"help\":\"BLKSIZE=*block-size*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1afoy4rdxdectn1mxq6bi5f45c1\"},{\"name\":\"COLUMN=\",\"optional\":true,\"aliases\":[\"COL=\"],\"description\":\"specifies a variable that SAS automatically sets to the current column location of the pointer. This variable, like automatic variables, is not written to the data set.\",\"help\":\"COLUMN=*variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1djmz3ohlzmlrn0zduvip1w0r3i\"},{\"name\":\"DELIMITER=\",\"optional\":true,\"aliases\":[\"DLM=\"],\"description\":\"specifies an alternate delimiter (other than blank) to be used for LIST output, where delimiter can be one of these items:\",\"help\":\"DELIMITER= *delimiter(s)*\",\"type\":\"value\",\"arguments\":[{\"name\":\"'list-of-delimiting-characters'\",\"placeholder\":true,\"description\":\"specifies one or more characters to write as delimiters.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n14um1op6s2cvpn1oua9p4kotgfo\"},{\"name\":\"character-variable\",\"placeholder\":true,\"description\":\"specifies a character variable whose value becomes the delimiter.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n036bm3ugqssf0n1ihsjzxj1bek3\"}],\"supportSiteTargetFragment\":\"p1o0452x0eut43n133rbgki9tuyq\"},{\"name\":\"DLMSOPT=\",\"optional\":true,\"description\":\"specifies a parsing option for the DLMSTR=T option that removes trailing blanks of the string delimiter.\",\"help\":\"DLMSOPT='T | ''t'\",\"type\":\"choice\",\"arguments\":[{\"name\":\"T\",\"type\":\"standalone\"},{\"name\":\"t\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"p1kue6araybo8dn1kkzx6txj2few\"},{\"name\":\"DLMSTR=\",\"optional\":true,\"description\":\"specifies a character string as an alternate delimiter (other than a blank) to be used for LIST output, where delimiter can be one of these items:\",\"help\":\"DLMSTR= *delimiter*\",\"type\":\"value\",\"arguments\":[{\"name\":\"'delimiting-string'\",\"placeholder\":true,\"description\":\"specifies a character string to write as a delimiter.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1xpv5pbxc03pun1mbclfxv88l03\"},{\"name\":\"character-variable\",\"placeholder\":true,\"description\":\"specifies a character variable whose value becomes the delimiter.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1miutta9gx4yjn1tme32wydv545\"}],\"supportSiteTargetFragment\":\"p0ln3ey4731lwrn1oj6uhsuptzri\"},{\"name\":\"DROPOVER\",\"optional\":true,\"description\":\"discards data items that exceed the output line length (as specified by the LINESIZE= option or LRECL= option in the FILE statement).\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0eysiik2mxin8n1hxh6a8rnkpye\"},{\"name\":\"DSD\",\"optional\":true,\"description\":\"specifies that data values that contain embedded delimiters, such as tabs or commas, be enclosed in quotation marks. The DSD option enables you to write data values that contain embedded delimiters to LIST output. This option is ignored for other types of output (for example, formatted, column, and named). Any double quotation marks that are included in the data value are repeated. When a variable value contains the delimiter and DSD is used in the FILE statement, the variable value is enclosed in double quotation marks when the output is generated. For example:\",\"help\":\"DSD (delimiter sensitive data)\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1ckqb7ej5xd6hn13ufvkf2vobhp\"},{\"name\":\"ENCODING=\",\"optional\":true,\"description\":\"specifies the encoding to use when writing to the output file. The value for ENCODING= indicates that the output file has a different encoding from the current session encoding.\",\"help\":\"ENCODING= '*encoding-value*'\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1c3qpen0qxpw3n19w8fxtar2nce\"},{\"name\":\"FILENAME=\",\"optional\":true,\"description\":\"defines a character variable, whose name you supply, that SAS sets to the value of the physical name of the file currently open for PUT statement output. The physical name is how the operating environment recognizes the file.\",\"help\":\"FILENAME=*variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p00ypenoqlo4hhn17i9ymg4tt8j4\"},{\"name\":\"FILEVAR=\",\"optional\":true,\"description\":\"defines a variable whose change in value causes the FILE statement to close the current output file and open a new one the next time the FILE statement executes. The next PUT statement that executes writes to the new file that is specified as the value of the FILEVAR= variable.\",\"help\":\"FILEVAR=*variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1nbligmhm5ui3n1att4dz3qtl01\"},{\"name\":\"FLOWOVER\",\"optional\":true,\"description\":\"causes data that exceeds the current line length to be written on a new line. When a PUT statement attempts to write beyond the maximum allowed line length (as specified by the LINESIZE= option in the FILE statement), the current output line is written to the file and the data item that exceeds the current line length is written to a new line.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p09vv007jfv7von13nfbe1lhihfw\"},{\"name\":\"FOOTNOTES\",\"optional\":true,\"description\":\"controls whether currently defined footnotes are printed.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0jnbf9w95wh9kn1ce7xck3yhn7b\"},{\"name\":\"NOFOOTNOTES\",\"optional\":true,\"description\":\"controls whether currently defined footnotes are printed.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0jnbf9w95wh9kn1ce7xck3yhn7b\"},{\"name\":\"HEADER=\",\"optional\":true,\"description\":\"defines a statement label that identifies a group of SAS statements that you want to execute each time SAS begins a new output page.\",\"help\":\"HEADER=*label*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1fx6x5h9en1psn14q51n2tnlybs\"},{\"name\":\"LINE=\",\"optional\":true,\"description\":\"defines a variable whose value is the current relative line number within the group of lines available to the output pointer. You supply the variable name and SAS automatically assigns the value.\",\"help\":\"LINE=*variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n146n23is4y9dfn1pmq75duvlhx8\"},{\"name\":\"LINESIZE=\",\"optional\":true,\"aliases\":[\"LS=\"],\"description\":\"sets the maximum number of columns per line for reports and the maximum record length for data files.\",\"help\":\"LINESIZE=*line-size*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1g1cnpl191yjsn18q0zs0b14v20\"},{\"name\":\"LINESLEFT=\",\"optional\":true,\"aliases\":[\"LL=\"],\"description\":\"defines a variable whose value is the number of lines left on the current page. You supply the variable name and SAS assigns the value of the number of lines left on the current page to that variable. The value of the LINESLEFT= variable is set at the end of PUT statement execution.\",\"help\":\"LINESLEFT=*variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0457ssbkveer0n1fqwh5grov77j\"},{\"name\":\"LRECL=\",\"optional\":true,\"description\":\"specifies the logical record length of the output file.\",\"help\":\"LRECL=*logical-record-length*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1bir9ee9i4kuxn1klgxfk15bsrf\"},{\"name\":\"MEMVAR=\",\"optional\":true,\"description\":\"specifies a file to open. When a directory fileref or physical name is provided in the FILE statement, the file that is referred to in the MEMVAR= variable is opened. When the value of the MEMVAR= variable changes, the current file is closed and the new file is opened.\",\"help\":\"MEMVAR=*variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0auvg25oef39cn1paoi0ynfed8o\"},{\"name\":\"MOD\",\"optional\":true,\"description\":\"writes the output lines after any existing lines in the file.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0lx9a72rtw5uln17e2tmb8t53zi\"},{\"name\":\"N=\",\"optional\":true,\"description\":\"specifies the number of lines that you want available to the output pointer in the current iteration of the DATA step. Available-lines can be expressed as a number (n) or as the keyword PAGESIZE or PS.\",\"help\":\"N=*available-lines*\",\"type\":\"value\",\"arguments\":[{\"name\":\"n\",\"placeholder\":true,\"description\":\"specifies the number of lines that are available to the output pointer. The system can move back and forth between the number of lines that are specified while composing them before moving on to the next set.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p11a2pcmwx55zen1olcoi7zr1e27\"},{\"name\":\"PAGESIZE\",\"aliases\":[\"PS\"],\"description\":\"specifies that the entire page is available to the output pointer.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0zp4iumyna197n1qfbypgqjtk9r\"}],\"supportSiteTargetFragment\":\"n19jblphxe9226n109tevgmxxzq4\"},{\"name\":\"NEW\",\"optional\":true,\"description\":\"specifies whether a new file or an existing file is used for output. If you specify NEW, a new file is to be opened for output. If the file already exists, it is deleted and re-created. If you specify OLD, the previous contents of the file are replaced. NEW is the default.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1qam8hzo9iledn1mzbs8xz6omzl\"},{\"name\":\"OLD\",\"optional\":true,\"description\":\"specifies whether a new file or an existing file is used for output. If you specify NEW, a new file is to be opened for output. If the file already exists, it is deleted and re-created. If you specify OLD, the previous contents of the file are replaced. NEW is the default.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1qam8hzo9iledn1mzbs8xz6omzl\"},{\"name\":\"PAD\",\"optional\":true,\"description\":\"controls whether records written to an external file are padded with blanks to the length that is specified in the LRECL= option.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0bx4nd80sk4z0n1qfdz0c2mrpbt\"},{\"name\":\"NOPAD\",\"optional\":true,\"description\":\"controls whether records written to an external file are padded with blanks to the length that is specified in the LRECL= option.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0bx4nd80sk4z0n1qfdz0c2mrpbt\"},{\"name\":\"PAGESIZE=\",\"optional\":true,\"aliases\":[\"PS=\"],\"description\":\"sets the number of lines per page for your reports.\",\"help\":\"PAGESIZE=*value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p14mthuk2vf42cn1b7rvq0415804\"},{\"name\":\"PRINT\",\"optional\":true,\"description\":\"controls whether carriage-control characters are placed in the output lines.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0db4j7vzv80iun1ngdijgv33xis\"},{\"name\":\"NOPRINT\",\"optional\":true,\"description\":\"controls whether carriage-control characters are placed in the output lines.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0db4j7vzv80iun1ngdijgv33xis\"},{\"name\":\"RECFM=\",\"optional\":true,\"description\":\"specifies the record format of the output file.\",\"help\":\"RECFM=*record-format*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n09own83w9k75tn1ewc4xlacqhna\"},{\"name\":\"STOPOVER\",\"optional\":true,\"description\":\"stops processing the DATA step immediately if a PUT statement attempts to write a data item that exceeds the current line length. In such a case, SAS discards the data item that exceeds the current line length, writes the portion of the line that was built before the error occurred, and issues an error message.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0jnibabfbu9sun14l7ygachlb0k\"},{\"name\":\"TERMSTR=\",\"optional\":true,\"description\":\"controls the end-of-line delimiter in files that are formatted by Linux. By default, either a line feed alone or a carriage return and a line feed indicate the end of a line. To explicitly define the end-of-line delimiter, specify one of the following values:\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1xrki104i787yn106a72607mtfd\"},{\"name\":\"TITLES\",\"optional\":true,\"description\":\"controls the printing of the current title lines on the pages of files. When NOTITLES is omitted or when TITLES is specified, SAS prints any titles that are currently defined.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1q3eek4x6qvd9n1w1n1kr2xkn9u\"},{\"name\":\"NOTITLES\",\"optional\":true,\"description\":\"controls the printing of the current title lines on the pages of files. When NOTITLES is omitted or when TITLES is specified, SAS prints any titles that are currently defined.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1q3eek4x6qvd9n1w1n1kr2xkn9u\"},{\"name\":\"UNBUF\",\"optional\":true,\"description\":\"tells SAS not to perform buffered Writes to the file on any subsequent FILE statement. This option applies especially when you are writing to a data collection device.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p14ax4oh9ta3esn10dk147evwyad\"},{\"name\":\"_FILE_=\",\"optional\":true,\"description\":\"names a character variable that references the current output buffer of this FILE statement. You can use the variable in the same way as any other variable, even as the target of an assignment. The variable is automatically retained and initialized to blanks. Like automatic variables, the _FILE_= variable is not written to the data set.\",\"help\":\"_FILE_=*variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1c8pueuvio44wn12rc1ejiqg45h\"}],\"supportSiteInformation\":{\"docsetId\":\"lestmtsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n15o12lpyoe4gfn1y1vcp6xs6966.htm\"}},{\"name\":\"FORMAT\",\"description\":\"Associates formats with variables.\",\"help\":\"FORMAT variable-1< ...variable-n><format><DEFAULT=default-format>;\\nFORMAT variable-1< ...variable-n>format<DEFAULT=default-format>;\\nFORMAT variable-1< ...variable-n>formatvariable-1< ...variable-n>format;\",\"arguments\":[{\"name\":\"variable\",\"optional\":true,\"placeholder\":true,\"description\":\"names one or more variables for SAS to associate with a format. You must specify at least one variable.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1d0cionbspk2tn1ma0m6kjd1ntx\"},{\"name\":\"format\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the format that is listed for writing the values of the variables.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n15nxwcex8m202n1dp4xwbds95t9\"},{\"name\":\"DEFAULT=\",\"optional\":true,\"description\":\"specifies a temporary default format for displaying the values of variables that are not listed in the FORMAT statement. These default formats apply only to the current DATA step; they are not permanently associated with variables in the output data set.\",\"help\":\"DEFAULT=*default-format*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0k0jb3arokdz9n1g3q3zizh81g4\"}],\"supportSiteInformation\":{\"docsetId\":\"lestmtsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n0d5oq7e0oia0wn13nsins0x8nmh.htm\"}},{\"name\":\"GOTO\",\"description\":\"Directs program execution immediately to the statement label that is specified and, if followed by a RETURN statement, returns execution to the beginning of the DATA step.\",\"help\":\"GOTO *label*;\",\"aliases\":[\"GOTO\"],\"arguments\":[{\"name\":\"label\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies a statement label that identifies the GOTO destination. The destination must be within the same DATA step. You must specify the label argument.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1f6v0xal7gszqn1n2rih9ph5vz7\"}],\"supportSiteInformation\":{\"docsetId\":\"lestmtsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p04lue2yzjvc8xn1603l5kqlw62d.htm\"}},{\"name\":\"IF\",\"description\":\"Continues processing only those observations that meet the condition of the specified expression.\",\"help\":\"IF *expression*;\",\"arguments\":[{\"name\":\"expression\",\"optional\":true,\"placeholder\":true,\"description\":\"is any SAS expression.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0mb32dfbiyrabn1nn208jotdvvx\"}],\"supportSiteInformation\":{\"docsetId\":\"lestmtsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p1cxl8ifdt8u0gn12wqbji8o5fq1.htm\"}},{\"name\":\"IF-THEN/ELSE\",\"description\":\"Executes a SAS statement for observations that meet specific conditions.\",\"help\":\"IF expressionTHEN statement; \\n<ELSE statement;>\",\"arguments\":[{\"name\":\"expression\",\"optional\":true,\"placeholder\":true,\"description\":\"is any SAS expression and is a required argument.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n05zel5juq566in1w9tjwoq4y1jf\"},{\"name\":\"statement\",\"optional\":true,\"placeholder\":true,\"description\":\"can be any executable SAS statement or DO group.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1dxr15mt0zujgn1jfwspoa9y1dw\"}],\"supportSiteInformation\":{\"docsetId\":\"lestmtsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n1j60arf27ll4nn1ejavv3nby4pa.htm\"}},{\"name\":\"INFILE\",\"description\":\"Specifies an external file to read with an INPUT statement.\",\"help\":\"INFILE file-specification<device-type><options>;\\nINFILE DBMS-specifications;\",\"arguments\":[{\"name\":\"'external-file'\",\"placeholder\":true,\"description\":\"specifies the physical name of an external file. The physical name is the name that the operating environment uses to access the file.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n073ithwvgx3g5n179enmocsjiyo\"},{\"name\":\"fileref\",\"placeholder\":true,\"description\":\"specifies the fileref of an external file.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0ldhqd3f4qaean14gjm2tguq2tz\"},{\"name\":\"fileref\",\"placeholder\":true,\"description\":\"specifies a fileref of an aggregate storage location and the name of a file or member, enclosed in parentheses, that resides in that location.\",\"help\":\"*fileref(file)*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p07p1o2xwsdgrwn1j00ptn5tyxry\"},{\"name\":\"DATALINES\",\"aliases\":[\"CARDS  |  CARDS4\"],\"description\":\"specifies that the input data immediately follow the DATALINES statement or DATALINES4 statement in the DATA step. Using DATALINES enables you to use the INFILE statement options to control how the INPUT statement reads instream data lines.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1ahiox78ve1aan17e259m1x8pib\"},{\"name\":\"DATALINES4\",\"aliases\":[\"CARDS  |  CARDS4\"],\"description\":\"specifies that the input data immediately follow the DATALINES statement or DATALINES4 statement in the DATA step. Using DATALINES enables you to use the INFILE statement options to control how the INPUT statement reads instream data lines.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1ahiox78ve1aan17e259m1x8pib\"},{\"name\":\"ACTIVEMQ\",\"description\":\"specifies an access method that enables you to access an ActiveMQ messaging broker.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0s6zjcirllztpn1g1jzz486r21p\"},{\"name\":\"CATALOG\",\"description\":\"specifies the CATALOG access method.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p10epnuao4pna1n1qvaus5x5yim3\"},{\"name\":\"CLIPBOARD\",\"description\":\"specifies the CLIPBOARD access method.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0uo98c6t7mdkmn1bfk9vsc60gl7\"},{\"name\":\"DISK\",\"description\":\"specifies that the device is a disk drive.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1o5zp081o0po5n1dyqkluz0f16d\"},{\"name\":\"DUMMY\",\"description\":\"specifies that the input from the external file be discarded.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0nrq6dsz17b0xn1l69b791dtfp2\"},{\"name\":\"FTP\",\"description\":\"specifies the FTP access method.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0ro6l8oah1jjsn1jx2algs5j4mj\"},{\"name\":\"GTERM\",\"description\":\"indicates that the output device type is a graphics device that receives graphics data.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n194zqh01lhqwmn15jk9g1og8zo4\"},{\"name\":\"HADOOP\",\"description\":\"specifies the Hadoop access method.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1hd9m9jk3kh39n19eq330k3te44\"},{\"name\":\"JMS\",\"description\":\"specifies a Java Message Service (JMS) destination.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0w9mdvh4digf5n1ocqifiseeh83\"},{\"name\":\"PIPE\",\"description\":\"specifies an unnamed pipe.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0gyp79ee4idhpn1ovhcnomtwotb\"},{\"name\":\"PLOTTER\",\"description\":\"specifies an unbuffered graphics output device.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n11vhdy61q88i2n1c2ygwsgy9zx1\"},{\"name\":\"PRINTER\",\"description\":\"specifies a printer or printer spool file.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n09iuuj349amcmn1vzur5kaepvwc\"},{\"name\":\"SOCKET\",\"description\":\"specifies the SOCKET access method.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1dfr47h5y392bn10tnngp4ccpuq\"},{\"name\":\"TAPE\",\"description\":\"specifies a tape drive.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0ovphz557x6h7n1p54rlhnfuhvo\"},{\"name\":\"TERMINAL\",\"description\":\"specifies the user's terminal.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0hqn7xxckv25tn1xm0srhdno192\"},{\"name\":\"UPRINTER\",\"description\":\"specifies a Universal Printer definition name.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p08tlhcja2pvman14c1rzc2bnp9r\"},{\"name\":\"URL\",\"description\":\"specifies the URL access method.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1qa5dfzxgmnc9n1cs20o3qp7wpu\"},{\"name\":\"WEBDAV\",\"description\":\"specifies the WebDAV access method.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1n7ycz8l6141cn1kzkhdvf7jekb\"},{\"name\":\"BLKSIZE=\",\"optional\":true,\"aliases\":[\"BLK=\"],\"description\":\"specifies the block size of the input file.\",\"help\":\"BLKSIZE=*block-size*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0hv1hd4kzwukfn1wpdksuigvse8\"},{\"name\":\"COLUMN=\",\"optional\":true,\"aliases\":[\"COL=\"],\"description\":\"names a variable that SAS uses to assign the current column location of the input pointer. As with automatic variables, the COLUMN= variable is not written to the data set.\",\"help\":\"COLUMN=*variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n16dr2pa1qdvb7n136c2qh36nqc1\"},{\"name\":\"DELIMITER=\",\"optional\":true,\"aliases\":[\"DLM=\"],\"description\":\"specifies an alternate delimiter (other than a blank) to be used for LIST input, where delimiter(s) can be one of these items:\",\"help\":\"DELIMITER= *delimiter(s)* \",\"type\":\"value\",\"arguments\":[{\"name\":\"'list-of-delimiting-characters'\",\"placeholder\":true,\"description\":\"specifies one or more characters to read as delimiters.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1a4eiaxt9fd8kn1fmcdpk7bejea\"},{\"name\":\"character-variable\",\"placeholder\":true,\"description\":\"specifies a character variable whose value becomes the delimiter.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1sc9kwcxc8scen1mfzyk527fgka\"}],\"supportSiteTargetFragment\":\"p1010u4pgvxo7qn1dik2w1wn284g\"},{\"name\":\"DLMSTR=\",\"optional\":true,\"description\":\"specifies a character string as an alternate delimiter (other than a blank) to be used for LIST input, where delimiter can be one of these items:\",\"help\":\"DLMSTR= *delimiter*\",\"type\":\"value\",\"arguments\":[{\"name\":\"'delimiting-string'\",\"placeholder\":true,\"description\":\"specifies a character string to read as a delimiter.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p088l1v17z1c24n0zs9eppj9qill\"},{\"name\":\"character-variable\",\"placeholder\":true,\"description\":\"specifies a character variable whose value becomes the delimiter.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n17mmbuuvs5ewbn1r0uruxmbfpot\"}],\"supportSiteTargetFragment\":\"n10jzr9z76e1ghn12i7ie8514fjv\"},{\"name\":\"DLMSOPT=\",\"optional\":true,\"description\":\"specifies parsing options for the DLMSTR= option, where options can be one of these values:\",\"help\":\" DLMSOPT= '*options*'\",\"type\":\"value\",\"arguments\":[{\"name\":\"I\",\"description\":\"specifies that case-insensitive comparisons are done.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p16yiiavfjppfhn1thk4pgw5ukjt\"},{\"name\":\"T\",\"description\":\"specifies that trailing blanks of the string delimiter be removed.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0ryzlf9lo4rqcn1216ypwibzval\"}],\"supportSiteTargetFragment\":\"p0ivio0jifo17in1x99q0ttgg5gh\"},{\"name\":\"DSD\",\"optional\":true,\"description\":\"specifies that when data values are enclosed in quotation marks, delimiters within the value are treated as character data. The DSD option changes how SAS treats delimiters when you use LIST input and sets the default delimiter to a comma. When you specify DSD, SAS treats two consecutive delimiters as a missing value and removes quotation marks from character values.\",\"help\":\"DSD (delimiter-sensitive data)\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0fa7kq7teis7cn0znh84wga9e0t\"},{\"name\":\"ENCODING=\",\"optional\":true,\"description\":\"specifies the encoding to use when reading from the external file. The value for ENCODING= indicates that the external file has a different encoding from the current session encoding.\",\"help\":\"ENCODING= '*encoding-value*'\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p04issugw2jphun1xr5q64xgnnxa\"},{\"name\":\"END=\",\"optional\":true,\"description\":\"specifies a variable that SAS sets to 1 when the current input data record is the last in the input file. Until SAS processes the last data record, the END= variable is set to 0. As with automatic variables, this variable is not written to the data set.\",\"help\":\"END=*variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1bbiuoq3a4vrvn1s2bykkuugh8i\"},{\"name\":\"EOF=\",\"optional\":true,\"description\":\"specifies a statement label that is the object of an implicit GOTO when the INFILE statement reaches end of file. When an INPUT statement attempts to read from a file that has no more records, SAS moves execution to the statement label indicated.\",\"help\":\"EOF=*label*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p07e0pcmalha21n150e511bdo67f\"},{\"name\":\"EOV=\",\"optional\":true,\"description\":\"specifies a variable that SAS sets to 1 when the first record in a file in a series of concatenated files is read. The variable is set only after SAS encounters the next file. As with automatic variables, the EOV= variable is not written to the data set.\",\"help\":\"EOV=*variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p18lw3704d3wp2n1kr1iuq2xhw45\"},{\"name\":\"EXPANDTABS\",\"optional\":true,\"description\":\"specifies whether to expand tab characters to the standard tab setting. The standard tab setting is set at 8-column intervals that start at column 9.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1bmuozusfmvd2n1sfd5ym1uytqj\"},{\"name\":\"NOEXPANDTABS\",\"optional\":true,\"description\":\"specifies whether to expand tab characters to the standard tab setting. The standard tab setting is set at 8-column intervals that start at column 9.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1bmuozusfmvd2n1sfd5ym1uytqj\"},{\"name\":\"FILENAME=\",\"optional\":true,\"description\":\"specifies a variable that SAS sets to the physical name of the currently opened input file. In a series of concatenated files, the variable is updated only after SAS encounters the next file. As with automatic variables, the FILENAME= variable is not written to the data set.\",\"help\":\"FILENAME=*variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n06h3lgb45a90tn10cjoqi40fpu3\"},{\"name\":\"FILEVAR=\",\"optional\":true,\"description\":\"specifies a variable whose change in value causes the INFILE statement to close the current input file and open a new one. When the next INPUT statement executes, it reads from the new file that the FILEVAR= variable specifies. As with automatic variables, this variable is not written to the data set.\",\"help\":\"FILEVAR=*variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1co5raf64hklwn1m40ecoo3e76e\"},{\"name\":\"FIRSTOBS=\",\"optional\":true,\"description\":\"specifies a record number that SAS uses to begin reading input data records in the input file.\",\"help\":\"FIRSTOBS=*record-number*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1rkzrc9xhipnhn1i8dvg70bg3vs\"},{\"name\":\"FLOWOVER\",\"optional\":true,\"description\":\"causes an INPUT statement to continue to read the next input data record if it does not find values in the current input line for all the variables in the statement. FLOWOVER is the default behavior of the INPUT statement.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1o2edz0l3vt31n157vox3wcpdga\"},{\"name\":\"LENGTH=\",\"optional\":true,\"description\":\"specifies a variable that SAS sets to the length of the current input line. SAS does not assign the variable a value until an INPUT statement executes. As with automatic variables, the LENGTH= variable is not written to the data set.\",\"help\":\"LENGTH=*variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0mj7z99as6v0on1nbin1xd4jdy7\"},{\"name\":\"LINE=\",\"optional\":true,\"description\":\"specifies a variable that SAS sets to the line location of the input pointer in the input buffer. As with automatic variables, the LINE= variable is not written to the data set.\",\"help\":\"  LINE=*variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1g112uzj9zd44n16zjza78097vs\"},{\"name\":\"LINESIZE=\",\"optional\":true,\"aliases\":[\"LS=\"],\"description\":\"specifies the record length that is available to the INPUT statement.\",\"help\":\"LINESIZE=*line-size*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0ii5bc0frxvs5n1dzjet0dtrf2n\"},{\"name\":\"LRECL=\",\"optional\":true,\"description\":\"specifies the logical record length.\",\"help\":\"  LRECL=*logical-record-length*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1iciced84ejncn1lydukm56d8zg\"},{\"name\":\"MISSOVER\",\"optional\":true,\"description\":\"prevents an INPUT statement from reading a new input data record if it does not find values in the current input line for all the variables in the statement. When an INPUT statement reaches the end of the current input data record, variables without any values assigned are set to missing.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1sr4to5u81m4yn1648e5a0wdd0b\"},{\"name\":\"MEMVAR=\",\"optional\":true,\"description\":\"enables you to open the individual files that are contained in a directory or contained in a directory-based file such as a ZIP file. When a directory fileref or physical name is provided in the INFILE statement, the file that is referred to in the MEMVAR= variable is opened. When the value of the MEMVAR= variable changes, the current file is closed and the new file is opened. To read all members of a directory, set the MEMVAR= variable to blanks.\",\"help\":\"MEMVAR=*variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p067ib7gt32vhrn1mwsf7umf64lo\"},{\"name\":\"N=\",\"optional\":true,\"description\":\"specifies the number of lines that are available to the input pointer at one time.\",\"help\":\"N=*available-lines*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n06gynlpzixwn1n1fe4rt90jicu1\"},{\"name\":\"NBYTE=\",\"optional\":true,\"description\":\"specifies the name of a variable that contains the number of bytes to read from a file when you are reading data in stream record format (RECFM=S in the FILENAME statement).\",\"help\":\"NBYTE=*variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1snbljmbl2o4kn1myleql0za4hj\"},{\"name\":\"OBS=\",\"optional\":true,\"description\":\"\",\"help\":\"  OBS=*record-number* | MAX \",\"type\":\"choice\",\"arguments\":[{\"name\":\"record-number\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"MAX\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"n0p6f6luvqu1e7n13ipy07fvr36o\"},{\"name\":\"PAD\",\"optional\":true,\"description\":\"controls whether SAS pads the records that are read from an external file with blanks to the length that is specified in the LRECL= option.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1fvenmht6hcjvn1jxqna4m7n1is\"},{\"name\":\"NOPAD\",\"optional\":true,\"description\":\"controls whether SAS pads the records that are read from an external file with blanks to the length that is specified in the LRECL= option.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1fvenmht6hcjvn1jxqna4m7n1is\"},{\"name\":\"PRINT\",\"optional\":true,\"description\":\"specifies whether the input file contains carriage-control characters.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1pj6jk9n8jldhn15ly3oxlma11a\"},{\"name\":\"NOPRINT\",\"optional\":true,\"description\":\"specifies whether the input file contains carriage-control characters.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1pj6jk9n8jldhn15ly3oxlma11a\"},{\"name\":\"RECFM=\",\"optional\":true,\"description\":\"specifies the record format of the input file. Here are the possible values:\",\"help\":\"RECFM=*record-format*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1969nk1hchys4n15xzi4ipsx0tu\"},{\"name\":\"RESET=\",\"optional\":true,\"description\":\"specifies whether to close the current input file and open a new file, or close and reopen the current input file. When the variable value is 0, the current file is closed and a new file is opened when the value of the FILEVAR= variable changes. When the variable value is 1, the current file is closed and the file that is referred to by the FILEVAR= variable is reopened.\",\"help\":\"RESET=*variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0vckw5a4b8wkwn0zzt01mz7voay\"},{\"name\":\"SCANOVER\",\"optional\":true,\"description\":\"causes the INPUT statement to scan the input data records until the character string that is specified in the @'character-string' expression is found.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p14kybkjo4jwv2n1q2h5wm3kqfnd\"},{\"name\":\"SHAREBUFFERS\",\"optional\":true,\"aliases\":[\"SHAREBUFS\"],\"description\":\"specifies that the FILE statement and the INFILE statement share the same buffer.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n085j9e91utol7n1f9711uq3834e\"},{\"name\":\"START=\",\"optional\":true,\"description\":\"specifies a variable whose value SAS uses as the first column number of the record that the PUT _INFILE_ statement writes. As with automatic variables, the START variable is not written to the data set.\",\"help\":\"START=*variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0xf6cblszsig5n1nxmakijmvlmd\"},{\"name\":\"STATUS=\",\"optional\":true,\"description\":\"specifies a variable whose value contains the return status code from a URL request.\",\"help\":\"STATUS=*variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p14t491oxmzvw2n1giiwh1roh4rv\"},{\"name\":\"STOPOVER\",\"optional\":true,\"description\":\"causes the DATA step to stop processing if an INPUT statement reaches the end of the current record without finding values for all variables in the statement. When an input line does not contain the expected number of values, SAS sets _ERROR_ to 1, stops building the data set as if a STOP statement has executed, and prints the incomplete data line.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0zyzk9oz30aagn10atej6vw9n77\"},{\"name\":\"TERMSTR=\",\"optional\":true,\"description\":\"controls the end-of-line delimiter in files that are formatted by Linux. By default, either a line feed alone or a carriage return and a line feed indicate the end of a line. To explicitly define the end-of-line delimiter, specify one of the following values:\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0b9vdbpr34hgkn1mxqh2h14vifq\"},{\"name\":\"TRUNCOVER\",\"optional\":true,\"description\":\"overrides the default behavior of the INPUT statement when an input data record is shorter than the INPUT statement expects. By default, the INPUT statement automatically reads the next input data record. TRUNCOVER enables you to read variable-length records when some records are shorter than the INPUT statement expects. Variables without any values assigned are set to missing.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1w53eurb5rzvsn1sf102hn7ticw\"},{\"name\":\"UNBUFFERED\",\"optional\":true,\"aliases\":[\"UNBUF\"],\"description\":\"tells SAS not to perform a buffered (“look ahead”) read.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p14tt2d3uvh1ftn1842lj7frbv8o\"},{\"name\":\"_INFILE_=\",\"optional\":true,\"description\":\"specifies a character variable that references the contents of the current input buffer for this INFILE statement. You can use the variable in the same way as any other variable, even as the target of an assignment. The variable is automatically retained and initialized to blanks. As with automatic variables, the _INFILE_= variable is not written to the data set.\",\"help\":\"_INFILE_=*variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0ez2gsfe6gvo7n15s0sc1zo8sbn\"},{\"name\":\"DBMS-Specifications\",\"optional\":true,\"placeholder\":true,\"description\":\"enables you to read records from some DBMS files. See the SAS/ACCESS documentation for the DBMS that you use in or .\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0bzlmwigo2jqcn1g1o5l9nky7ns\"}],\"supportSiteInformation\":{\"docsetId\":\"lestmtsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n1rill4udj0tfun1fvce3j401plo.htm\"}},{\"name\":\"INFORMAT\",\"description\":\"Associates informats with variables.\",\"help\":\"INFORMAT variable-1<…variable-n><informat>; \\nINFORMAT <variable-1><… variable-n><DEFAULT=default-informat>;\\nINFORMAT variable-1<…variable-n>informat<DEFAULT=default-informat>;\",\"arguments\":[{\"name\":\"variable\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies one or more variables to associate with an informat. You must specify at least one variable when specifying an informat or when including no other arguments. Specifying a variable is optional when using a DEFAULT= informat specification.\",\"help\":\" *variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1vrwpnxtbi9fnn10mimmk9n3e0w\"},{\"name\":\"informat\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the informat for reading the values of the variables that are listed in the INFORMAT statement.\",\"help\":\" *informat*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1c7wzzo383inqn19uxm5kmymo82\"},{\"name\":\"DEFAULT=\",\"optional\":true,\"description\":\"specifies a temporary default informat for reading values of the variables that are listed in the INFORMAT statement. If no variable is specified, then the DEFAULT= informat specification applies a temporary default informat for reading values of all the variables of that type included in the DATA step. Numeric informats are applied to numeric variables, and character informats are applied to character variables. These default informats apply only to the current DATA step.\",\"help\":\"DEFAULT= *default-informat*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0c6s21ljme8mjn1efrgkq03t6u1\"}],\"supportSiteInformation\":{\"docsetId\":\"lestmtsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p164164hob450kn1agkpcosya669.htm\"}},{\"name\":\"INPUT\",\"description\":\"Describes the arrangement of values in the input data record and assigns input values to the corresponding SAS variables.\",\"help\":\"INPUT &lt;*specification(s)*&gt;&lt;@ | @@&gt;;\",\"arguments\":[{\"name\":\"variable\",\"placeholder\":true,\"description\":\"names a variable that is assigned input values.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1kr51845as0qvn12ch746xl966b\"},{\"name\":\"(variable-list)\",\"placeholder\":true,\"description\":\"specifies a list of variables that are assigned input values.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1wllpqudxin1tn11uesc7hm6wqu\"},{\"name\":\"$\",\"description\":\"specifies to store the variable value as a character value rather than as a numeric value.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0cfj9zkzrd3qyn1p673usyjxuw5\"},{\"name\":\"pointer-control\",\"placeholder\":true,\"description\":\"moves the input pointer to a specified line or column in the input buffer.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0d78hif552qoxn1ez5sts6qtvjn\"},{\"name\":\"column-specifications\",\"placeholder\":true,\"description\":\"specifies the columns of the input record that contain the value to read.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0cjqm73spcujwn125qh428hdh6i\"},{\"name\":\"format-modifier\",\"placeholder\":true,\"description\":\"allows modified list input or controls the amount of information that is reported in the SAS log when an error in an input value occurs.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0mzvk9wqv6w1on1nmljrf9wc266\"},{\"name\":\"informat.\",\"placeholder\":true,\"description\":\"specifies an informat to use to read the variable value.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1mk9fbat8ftqjn13yuv0kl35hgz\"},{\"name\":\"(informat-list)\",\"placeholder\":true,\"description\":\"specifies a list of informats to use to read the values for the preceding list of variables.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1io5injjxspnzn1ip11e3przn70\"},{\"name\":\"@\",\"optional\":true,\"description\":\"holds an input record for the execution of the next INPUT statement within the same iteration of the DATA step. This line-hold specifier is called trailing @.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p090uq97qdgjxln1ayqixv0fc5q7\"},{\"name\":\"@@\",\"optional\":true,\"description\":\"holds the input record for the execution of the next INPUT statement across iterations of the DATA step. This line-hold specifier is called double trailing @.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1pks2mvy1sq09n1b6aasltbqczv\"},{\"name\":\"@n\",\"optional\":true,\"placeholder\":true,\"description\":\"moves the pointer to column n.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0suq40zta8rkgn130bf8ba8qugw\"},{\"name\":\"@numeric-variable\",\"optional\":true,\"placeholder\":true,\"description\":\"moves the pointer to the column given by the value of numeric-variable.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p15uwfwwiaokdyn1ow2so7f4k17q\"},{\"name\":\"@\",\"optional\":true,\"placeholder\":true,\"description\":\"moves the pointer to the column that is given by the value of expression.\",\"help\":\"@(*expression*)\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n103uk3ykzz4ban1mzebp2dn1rch\"},{\"name\":\"@'character-string'\",\"optional\":true,\"placeholder\":true,\"description\":\"locates the specified series of characters in the input record and moves the pointer to the first column after character-string.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0hs3lx749acn6n114et9qghxpvg\"},{\"name\":\"@character-variable\",\"optional\":true,\"placeholder\":true,\"description\":\"locates the series of characters in the input record that is given by the value of character-variable and moves the pointer to the first column after that series of characters.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1vapj08g55bvsn1ankfsus9xeaz\"},{\"name\":\"@\",\"optional\":true,\"placeholder\":true,\"description\":\"locates the series of characters in the input record that is given by the value of character-expression and moves the pointer to the first column after the series.\",\"help\":\"@(*character-expression*)\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1ked3uir9q9rsn0ztj8xv8rryz6\"},{\"name\":\"+n\",\"optional\":true,\"placeholder\":true,\"description\":\"moves the pointer n columns.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1wfke9nfg5j66n165fxduw6udzc\"},{\"name\":\"+numeric-variable\",\"optional\":true,\"placeholder\":true,\"description\":\"moves the pointer the number of columns that is given by the value of numeric-variable.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0nr2q5fb7gcoyn15slfha3va1fy\"},{\"name\":\"+\",\"optional\":true,\"placeholder\":true,\"description\":\"moves the pointer the number of columns given by expression.\",\"help\":\"+(*expression*)\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1r9t3cgnns7cfn125xo6p4w4evw\"},{\"name\":\"#n\",\"optional\":true,\"placeholder\":true,\"description\":\"moves the pointer to record n.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1qjbj79rjv46fn1e4upfj425071\"},{\"name\":\"#numeric-variable\",\"optional\":true,\"placeholder\":true,\"description\":\"moves the pointer to the record that is given by the value of numeric-variable.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1hcje8ni1e7akn13xpxzcufofhd\"},{\"name\":\"#\",\"optional\":true,\"placeholder\":true,\"description\":\"moves the pointer to the record that is given by the value of expression.\",\"help\":\"#(*expression*)\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1ih9mwk5cmvu3n17umh6ukmw0pq\"},{\"name\":\"/\",\"optional\":true,\"description\":\"advances the pointer to column 1 of the next input record.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0c4c87w1odqmgn1e6jjd3g7xn4t\"},{\"name\":\"?\",\"optional\":true,\"description\":\"suppresses printing the invalid data note when SAS encounters invalid data values.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0eit0fphh5d2mn16wwm76u9ecgp\"},{\"name\":\"??\",\"optional\":true,\"description\":\"suppresses printing the messages and the input lines when SAS encounters invalid data values. The automatic variable _ERROR_ is not set to 1 for the invalid observation.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n096ygwv10v4u6n1jiwhwkhduidw\"}],\"supportSiteInformation\":{\"docsetId\":\"lestmtsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n0oaql83drile0n141pdacojq97s.htm\"}},{\"name\":\"KEEP\",\"description\":\"Specifies the variables to include in output SAS data sets.\",\"help\":\"KEEP *variable-list*;\",\"arguments\":[{\"name\":\"variable-list\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the names of the variables to write to the output data set.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n048igp7r48qhyn17f5hr3m0a60y\"}],\"supportSiteInformation\":{\"docsetId\":\"lestmtsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n1nnrzzsw6rzrjn1p2jfky6pdv23.htm\"}},{\"name\":\"LABEL\",\"description\":\"Assigns descriptive labels to variables.\",\"help\":\"Form 1: Creates a descriptive label for one or more variables.\\nLABEL variable-1 = 'text-string' < ...variable-n = 'text-string'>;\\nForm 2: Removes the label from one or more variables.\\nLABEL variable-1 = ' ' < ...variable-n=’ ‘>; | variable-1 = < ...variable-n= >;\",\"arguments\":[{\"name\":\"text-string\",\"placeholder\":true,\"description\":\"specifies a label of up to 256 bytes.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n09u0k5ydxzgr3n1dfznhvex7uuo\"},{\"name\":\"'\",\"placeholder\":true,\"description\":\"removes a label from a variable. Enclose a single blank space in quotation marks to remove an existing label. You can remove labels from multiple variables in a single LABEL statement:\",\"help\":\"*' '*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1dl99omzes92cn1typpf6yl1ng0\"}],\"supportSiteInformation\":{\"docsetId\":\"lestmtsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n1r8ub0jx34xfsn1ppcjfe0u16pc.htm\"}},{\"name\":\"LEAVE\",\"description\":\"Stops processing the current loop and resumes with the next statement in the sequence.\",\"help\":\"LEAVE ;\",\"supportSiteInformation\":{\"docsetId\":\"lestmtsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n03wnjww9jjpm8n1q16exvgtoae9.htm\"}},{\"name\":\"LENGTH\",\"description\":\"Specifies the number of bytes for storing character and numeric variables, or the number of characters for storing VARCHAR variables.\",\"help\":\"LENGTH  *variable-specification(s)*&lt;DEFAULT=*n*&gt;;\",\"arguments\":[{\"name\":\"variable\",\"placeholder\":true,\"description\":\"specifies one or more variables that are to be assigned a length, including any variables in the DATA step. Variables that are dropped from the output data set are also included.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p02x1p84vatcdln1h842p43cq4cb\"},{\"name\":\"$\",\"description\":\"specifies that the preceding variables are character variables of type CHAR.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1m7jzs74exkfnn1vobc2yr4ycg7\"},{\"name\":\"length\",\"placeholder\":true,\"description\":\"specifies a numeric constant for storing variable values. For numeric and character variables, this constant is the maximum number of bytes stored in the variable.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1h552aivyqhehn1bwxpyx4rvl5b\"},{\"name\":\"VARCHAR\",\"description\":\"specifies that the preceding variables are of type VARCHAR.\",\"type\":\"standalone\",\"arguments\":[{\"name\":\"length\",\"placeholder\":true,\"description\":\"specifies the maximum number of characters stored for VARCHAR variables.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1gogbxpepjctmn1rzl6dpyojdlv\"},{\"name\":\"*\",\"description\":\"specifies to support the maximum length allowed: 536,870,911 characters.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0kinhm8nbrm4on1xzhbopbv9ap4\"}],\"supportSiteTargetFragment\":\"n1pcenp38a6vken1ezn903ib5mps\"},{\"name\":\"DEFAULT=\",\"optional\":true,\"description\":\"changes the default number of bytes that SAS uses to store the values of any newly created numeric variables.\",\"help\":\"DEFAULT=*n*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1lgpoesvxiunln136rh6l1a6e8p\"}],\"supportSiteInformation\":{\"docsetId\":\"lestmtsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p1hgqgmxm3dpqcn1d4w5za5qbz0d.htm\"}},{\"name\":\"LINK\",\"description\":\"Directs program execution immediately to the statement label that is specified and, if followed by a RETURN statement, returns execution to the statement that follows the LINK statement.\",\"help\":\"LINK *label*;\",\"arguments\":[{\"name\":\"label\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies a statement label that identifies the LINK destination. You must specify the label argument.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p13bgxopnpwoxrn14bvfoe27xirx\"}],\"supportSiteInformation\":{\"docsetId\":\"lestmtsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n132s7tapddkc8n1my90ekgo4v0q.htm\"}},{\"name\":\"LIST\",\"description\":\"Writes to the SAS log the input data record for the observation that is being processed.\",\"help\":\"LIST ;\",\"supportSiteInformation\":{\"docsetId\":\"lestmtsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n0drxaqb7f0w0tn18viaj8dtjwud.htm\"}},{\"name\":\"LOSTCARD\",\"description\":\"Resynchronizes the input data when SAS encounters a missing or invalid record in data that has multiple records per observation.\",\"help\":\"LOSTCARD ;\",\"supportSiteInformation\":{\"docsetId\":\"lestmtsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n0hesbzvvszy1dn168oveyjv3hx2.htm\"}},{\"name\":\"MERGE\",\"description\":\"Joins observations from two or more SAS data sets into a single observation.\",\"help\":\"MERGE   SAS-data-set-1<(data-set-options)>\\nSAS-data-set-2<(data-set-options) >\\n< ...SAS-data-set-n<(data-set-options)>>\\n<END=variable>;\",\"arguments\":[{\"name\":\"SAS-data-set\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies at least two existing SAS data sets from which observations are read. You can specify individual data sets, data set lists, or a combination of both.\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"p0d767eg4icj95n18iy4ppiuusk4\"},{\"name\":\"(data-set-options)\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies one or more SAS data set options in parentheses after a SAS data set name.\",\"help\":\" (*data-set-options*)\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"n1jjl2gxmpf6spn1j5aykbdsta40\"},{\"name\":\"END=\",\"optional\":true,\"description\":\"names and creates a temporary variable that contains an end-of-file indicator.\",\"help\":\"END=*variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1at8t8dckcykkn1xnqr1i64vi9x\"}],\"supportSiteInformation\":{\"docsetId\":\"lestmtsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n1i8w2bwu1fn5kn1gpxj18xttbb0.htm\"}},{\"name\":\"MODIFY\",\"description\":\"Replaces, deletes, and appends observations in an existing SAS data set in place but does not create an additional copy.\",\"help\":\"Form 1: \\nMODIFY master-data-set<(data-set-options)>transaction-data-set<(data-set-options)>\\n<CUROBS=variable><NOBS=variable><END=variable>\\n<UPDATEMODE=MISSINGCHECK | NOMISSINGCHECK>;\\nBY by-variable;\\nForm 2: \\nMODIFY  master-data-set<(data-set-options)>KEY=index</ UNIQUE>\\n<KEYRESET=variable><NOBS=variable><END=variable>;\\nForm 3: \\nMODIFY  master-data-set<(data-set-options)><NOBS=variable>POINT=variable;\\nForm 4: \\nMODIFY  master-data-set<(data-set-options)><NOBS=variable><END=variable>;\",\"arguments\":[{\"name\":\"master-data-set\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the SAS data set that you want to modify.\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"n1dz84obxv7m4fn14oulryzbsuzl\"},{\"name\":\"(data-set-options)\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies one or more SAS data set options in parentheses after a SAS data set name.\",\"help\":\" (*data-set-options*)\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"n08kwwf849cycon1fthcylhfo3yj\"},{\"name\":\"transaction-data-set\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the SAS data set that provides the values for matching access. These values are the values that you want to use to update the master data set.\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"p0cm24aj86ngaen13atlcgcgqjti\"},{\"name\":\"by-variable\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies one or more variables by which you identify corresponding observations.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0ha0t5d7s4ehen10fugbmetaozg\"},{\"name\":\"CUROBS=\",\"optional\":true,\"description\":\"creates and names a variable that contains the observation number that was just read from the data set.\",\"help\":\"CUROBS=*variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0i7tlmj34v3ymn1cnivyhl3to26\"},{\"name\":\"END=\",\"optional\":true,\"description\":\"creates and names a temporary variable that contains an end-of-file indicator.\",\"help\":\"END=*variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0gga182crmdcon1hhh6w98lpdb0\"},{\"name\":\"KEY=\",\"optional\":true,\"description\":\"specifies a simple or composite index of the SAS data file that is being modified. The KEY= argument retrieves observations from that SAS data file based on index values that are supplied by like-named variables in another source of information.\",\"help\":\"KEY=*index*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1uabnmk9o2b51n1j5r4hpg6ktfd\"},{\"name\":\"KEYRESET=\",\"optional\":true,\"description\":\"controls whether a KEY= search should begin at the top of the index for the data set that is being read. When the value of the KEYRESET variable is 1, the index lookup begins at the top of the index. When the value of the KEYRESET variable is 0, the index lookup is not reset and the lookup continues where the prior lookup ended.\",\"help\":\"KEYRESET=*variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1trtd3qg3wk0hn13tx2z2rao305\"},{\"name\":\"NOBS=\",\"optional\":true,\"description\":\"creates and names a temporary variable whose value is usually the total number of observations in the input data set. For certain SAS views and sequential engines such as the TAPE and XML engines, SAS cannot determine the number of observations. In these cases, SAS sets the value of the NOBS= variable to the largest positive integer value available in the operating environment.\",\"help\":\"NOBS=*variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p17kra6owi6a2un1uq2h2fszcpzf\"},{\"name\":\"POINT=\",\"optional\":true,\"description\":\"reads SAS data sets using random (direct) access by observation number. variable names a variable whose value is the number of the observation to read. The POINT= variable is available anywhere in the DATA step, but it is not added to any SAS data set.\",\"help\":\"POINT=*variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1qlnn6fi3uqz5n1u5s11ktnarss\"},{\"name\":\"UNIQUE\",\"optional\":true,\"description\":\"causes a KEY= search always to begin at the top of the index for the data file being modified.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n129l1dpc2z3myn1j3bhgi99as1l\"},{\"name\":\"UPDATEMODE=\",\"optional\":true,\"description\":\"specifies whether missing variable values in a transaction data set are to be allowed to replace existing variable values in a master data set.\",\"help\":\"UPDATEMODE=MISSINGCHECK | NOMISSINGCHECK\",\"type\":\"choice\",\"arguments\":[{\"name\":\"MISSINGCHECK\",\"description\":\"prevents missing variable values in a transaction data set from replacing values in a master data set.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p006m4djer2o5pn10lad8t9satnh\"},{\"name\":\"NOMISSINGCHECK\",\"description\":\"allows missing variable values in a transaction data set to replace values in a master data set by preventing the check from being performed.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0247t2y1wob9qn1ume7apdot7y4\"}],\"supportSiteTargetFragment\":\"p0obczwh20i6pqn0zm77j55cfoaq\"}],\"supportSiteInformation\":{\"docsetId\":\"lestmtsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n0g9jfr4x5hgsfn17gtma5547lt1.htm\"}},{\"name\":\"OUTPUT\",\"description\":\"Writes the current observation to a SAS data set.\",\"help\":\"OUTPUT &lt;*data-set-name(s)*&gt;;\",\"arguments\":[{\"name\":\"data-set-name\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the name of a data set to which SAS writes the observation.\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"n1bo93xpvvyigin1o48pgb8wi5tq\"}],\"supportSiteInformation\":{\"docsetId\":\"lestmtsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n1lltvbis7ye1an1eryo4leh2mck.htm\"}},{\"name\":\"PUT\",\"description\":\"Writes lines to the SAS log, to the SAS output window, or to an external location that is specified in the most recent FILE statement.\",\"help\":\"PUT <specification(s)><><@ | @@>;\\nPUT 'ERROR: text' |  'NOTE: text' |  'WARNING: text';\\nPUT 'ERROR- text' |  'NOTE: text' |  'WARNING- text';\",\"arguments\":[{\"name\":\"variable\",\"placeholder\":true,\"description\":\"specifies the variable whose value is written.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n11xfp4lgtmd0pn1qd90b8hbcvwc\"},{\"name\":\"(variable-list)\",\"placeholder\":true,\"description\":\"specifies a list of variables whose values are written.\",\"help\":\" (*variable-list*)\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p16fqy4lwzu5own13h88dfpe1std\"},{\"name\":\"'character-string'\",\"placeholder\":true,\"description\":\"specifies a string of text, enclosed in quotation marks, to write.\",\"help\":\" *'character-string'*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1aua6lh62b16an1ix95gknxpq1b\"},{\"name\":\"n*\",\"placeholder\":true,\"description\":\"specifies to repeat n times the subsequent character string.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1iyttvgyivjhqn1chlme0plql18\"},{\"name\":\"pointer-control\",\"placeholder\":true,\"description\":\"moves the output pointer to a specified line or column in the output buffer.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p017ok51idfsosn1sie1l9whmld6\"},{\"name\":\"column-specifications\",\"placeholder\":true,\"description\":\"specifies which columns of the output line the values are written.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1098zy74vimr0n111u703j3y5cq\"},{\"name\":\"format.\",\"placeholder\":true,\"description\":\"specifies a format to use when the variable values are written.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p06r0wbgwwkxyyn18oc1wb9dg1ce\"},{\"name\":\"(format-list)\",\"placeholder\":true,\"description\":\"specifies a list of formats to use when the values of the preceding list of variables are written.\",\"help\":\" (*format-list*)\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p107gj012fsrlln1rmx639bouuan\"},{\"name\":\"_INFILE_\",\"description\":\"writes the last input data record that is read either from the current input file or from the data lines that follow a DATALINES statement.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0gi42s1waenktn144pixye0rmt1\"},{\"name\":\"_ALL_\",\"description\":\"writes the values of all variables, which includes automatic variables, that are defined in the current DATA step by using named output.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1salw87a72tgwn1pies5b4kp8u1\"},{\"name\":\"@\",\"optional\":true,\"description\":\"holds an output line for the execution of the next PUT statement even across iterations of the DATA step. These line-hold specifiers are called trailing @ and double trailing @.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1ujtbcxnuc54ln123o1go846gmu\"},{\"name\":\"@@\",\"optional\":true,\"description\":\"holds an output line for the execution of the next PUT statement even across iterations of the DATA step. These line-hold specifiers are called trailing @ and double trailing @.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1ujtbcxnuc54ln123o1go846gmu\"},{\"name\":\"@n\",\"optional\":true,\"placeholder\":true,\"description\":\"moves the pointer to column n.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0ypeswakdvv5pn1k4k3zt16ei6w\"},{\"name\":\"@numeric-variable\",\"optional\":true,\"placeholder\":true,\"description\":\"moves the pointer to the column given by the value of numeric-variable.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1bffa6jouay1dn1weofviu2d666\"},{\"name\":\"@\",\"optional\":true,\"placeholder\":true,\"description\":\"moves the pointer to the column that is given by the value of expression.\",\"help\":\"@(*expression*)\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0s0zusmy6qf4hn1pwcrfka2xt1s\"},{\"name\":\"+n\",\"optional\":true,\"placeholder\":true,\"description\":\"moves the pointer n columns.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0ilt1803yd90on1cbpu3c8qac5w\"},{\"name\":\"+numeric-variable\",\"optional\":true,\"placeholder\":true,\"description\":\"moves the pointer the number of columns given by the value of numeric-variable.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0h7byiprrnr7hn119v9ydhe2q0s\"},{\"name\":\"+\",\"optional\":true,\"placeholder\":true,\"description\":\"moves the pointer the number of columns given by expression.\",\"help\":\"+(*expression*)\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1hwhqehlusnl5n1vjr12utfwn7l\"},{\"name\":\"#n\",\"optional\":true,\"placeholder\":true,\"description\":\"moves the pointer to line n and column 1.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p13ayp9nrngla3n1dlykm4r1duwe\"},{\"name\":\"#numeric-variable\",\"optional\":true,\"placeholder\":true,\"description\":\"moves the pointer to the line given by the value of numeric-variable and to column 1.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1jnfktbu7sapan1tabruv2lx0fg\"},{\"name\":\"#\",\"optional\":true,\"placeholder\":true,\"description\":\"moves the pointer to the line that is given by the value of expression and to column 1.\",\"help\":\"#(*expression*)\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p005qbsvatkny7n1px4e2uxqze2l\"},{\"name\":\"/\",\"optional\":true,\"placeholder\":true,\"description\":\"advances the pointer to column 1 of the next line.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1915nycnr84gmn17un887qcqtq0\"},{\"name\":\"OVERPRINT\",\"optional\":true,\"description\":\"causes the values that follow the keyword OVERPRINT to be printed on the most recently written output line.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1rmffhor8otmhn1dg1lonqi69p5\"},{\"name\":\"_BLANKPAGE_\",\"optional\":true,\"description\":\"advances the pointer to the first line of a new page, even when the pointer is positioned on the first line and the first column of a new page.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1i2odvalpm4o6n1dqq2gjk2i8jx\"},{\"name\":\"_PAGE_\",\"optional\":true,\"description\":\"advances the pointer to the first line of a new page. SAS automatically begins a new page when a line exceeds the current PAGESIZE= value.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1h737dv9bd819n1elaun1r06g9k\"},{\"name\":\"'ERROR:\",\"optional\":true,\"description\":\"specifies an error message, which is displayed in red text in the SAS log.\",\"help\":\"'ERROR: &lt;*text*&gt;'\",\"type\":\"standaloneOrValue\",\"supportSiteTargetFragment\":\"p1r2rwfeavrrc9n11tgduopdllny\"},{\"name\":\"'NOTE:\",\"optional\":true,\"description\":\"specifies a note message, which is displayed in blue text in the SAS log.\",\"help\":\"'NOTE: &lt;*text*&gt;'\",\"type\":\"standaloneOrValue\",\"supportSiteTargetFragment\":\"n1mm6a5tjnti69n1pd0zcet1vnj7\"},{\"name\":\"'WARNING:\",\"optional\":true,\"description\":\"specifies a warning message, which is displayed in green text in the SAS log.\",\"help\":\"'WARNING: &lt;*text*&gt;'\",\"type\":\"standaloneOrValue\",\"supportSiteTargetFragment\":\"p1if9kli7mdgdmn1up53qj53ndjd\"},{\"name\":\"'ERROR-\",\"optional\":true,\"description\":\"specifies an error message, which is displayed in red text in the SAS log. The hyphen causes the text omit the keyword, ERROR, and to indent the text.\",\"help\":\"'ERROR- &lt;*text*&gt;'\",\"type\":\"standaloneOrValue\",\"supportSiteTargetFragment\":\"n1qma7phycxudun10t45ddayzlef\"},{\"name\":\"'NOTE-\",\"optional\":true,\"description\":\"specifies a note message, which is displayed in blue text in the SAS log. The hyphen causes the text omit the keyword, NOTE, and to indent the text.\",\"help\":\"'NOTE- &lt;*text*&gt;'\",\"type\":\"standaloneOrValue\",\"supportSiteTargetFragment\":\"n0x2m5wegvqtzgn1jithlqgjsruh\"},{\"name\":\"'WARNING-\",\"optional\":true,\"description\":\"specifies a warning message, which is displayed in green text in the SAS log. The hyphen causes the text omit the keyword, WARNING, and to indent the text.\",\"help\":\"'WARNING- &lt;*text*&gt;'\",\"type\":\"standaloneOrValue\",\"supportSiteTargetFragment\":\"n0xglp1k2kzmwin180bdo97f5cg5\"}],\"supportSiteInformation\":{\"docsetId\":\"lestmtsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n1spe7nmkmi7ywn175002rof97fv.htm\"}},{\"name\":\"PUTLOG\",\"description\":\"Writes a message to the SAS log.\",\"help\":\"PUTLOG <‘text ’>;\\nPUTLOG <‘ERROR: text ’><‘NOTE: text ’><‘WARNING: text ’>\\nPUTLOG <‘ERROR- text ’><‘NOTE- text ’><‘WARNING- text ’>;\",\"arguments\":[{\"name\":\"text\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the custom message that you want to write to the SAS log. Text can include character literals (enclosed in single or double quotation marks), variable names, formats, and pointer controls.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n167aze1ilu3w3n135jzu8ncm5zf\"},{\"name\":\"ERROR:\",\"optional\":true,\"description\":\"displays the keyword ERROR followed by your custom log message in red text in the SAS log.\",\"help\":\"ERROR: *text*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1rix2lf8sws26n143vwvpt6y419\"},{\"name\":\"ERROR-\",\"optional\":true,\"description\":\"displays a message in the SAS log in red text, without including the keyword ERROR.\",\"help\":\"ERROR- *text*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0nqtasqwctk7kn1si7tfsn7dgqp\"},{\"name\":\"NOTE:\",\"optional\":true,\"description\":\"displays the keyword NOTE followed by your custom log message in blue text in the SAS log.\",\"help\":\"NOTE: *text*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1co75f33uamhzn1kb861r7jighp\"},{\"name\":\"NOTE-\",\"optional\":true,\"description\":\"displays a message in the SAS log in blue text, without including the keyword NOTE.\",\"help\":\"NOTE- *text*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n04vzw8uapx9u9n1kxm94mi5dke2\"},{\"name\":\"WARNING:\",\"optional\":true,\"description\":\"displays the keyword WARNING followed by your custom log message in green text in the SAS log.\",\"help\":\"WARNING: *text*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0wu4zz6gxwhdnn1s7tcvhci3arn\"},{\"name\":\"WARNING-\",\"optional\":true,\"description\":\"displays a message in the SAS log in green text, without including the keyword WARNING.\",\"help\":\"WARNING- *text*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n09j3h7gidv8vhn1t94ywep2m5n8\"}],\"supportSiteInformation\":{\"docsetId\":\"lestmtsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n05jha8tsrpanyn19m05ss7ltv6e.htm\"}},{\"name\":\"REDIRECT\",\"description\":\"Points to different input or output SAS data sets when you execute a stored program.\",\"help\":\"REDIRECT INPUT | OUTPUT*old-name-1*=*new-name-1*&lt; ...*old-name-n*=*new-name-n*&gt;;\",\"arguments\":[{\"name\":\"INPUT\",\"optional\":true,\"description\":\"specifies whether to redirect input or output data sets. When you specify INPUT, the REDIRECT statement associates the name of the input data set in the source program with the name of another SAS data set. When you specify OUTPUT, the REDIRECT statement associates the name of the output data set with the name of another SAS data set.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0o5fhpj5lr9ztn14lsuexug4cam\"},{\"name\":\"OUTPUT\",\"optional\":true,\"description\":\"specifies whether to redirect input or output data sets. When you specify INPUT, the REDIRECT statement associates the name of the input data set in the source program with the name of another SAS data set. When you specify OUTPUT, the REDIRECT statement associates the name of the output data set with the name of another SAS data set.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0o5fhpj5lr9ztn14lsuexug4cam\"},{\"name\":\"old-name\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the name of the input or output data set in the source program.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n05zv1bbiilou5n18os02096zs4u\"},{\"name\":\"new-name\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the name of the input or output data set that you want SAS to process for the current execution.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n080u17h9xn1hen1fu88weu4s2uj\"}],\"supportSiteInformation\":{\"docsetId\":\"lestmtsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n0fmg9paaurj4jn0zp3d2nkb2y8p.htm\"}},{\"name\":\"REMOVE\",\"description\":\"Deletes an observation from a SAS data set.\",\"help\":\"REMOVE &lt;*data-set-name(s)*&gt;;\",\"arguments\":[{\"name\":\"data-set-name\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the data set in which the observation is deleted.\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"n1ce1jnixfimehn1h1ro0bx2bttz\"}],\"supportSiteInformation\":{\"docsetId\":\"lestmtsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n1gx8o8pxm8pgdn1q68cmf5jnorw.htm\"}},{\"name\":\"RENAME\",\"description\":\"Specifies new names for variables in output SAS data sets.\",\"help\":\"RENAME *old-name-1*=*new-name-1*&lt; ...*old-name-n*=*new-name-n*&gt;;\",\"arguments\":[{\"name\":\"old-name\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the name of a variable or variable list as it appears in the input data set, or in the current DATA step for newly created variables.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p157n0wm6jbfqjn16e6ly71bo53e\"},{\"name\":\"new-name\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the name or list to use in the output data set.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0t5f8qlkxw6ugn0zm30jnv9xkk3\"}],\"supportSiteInformation\":{\"docsetId\":\"lestmtsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n0x16kvqkxxdx5n1t04voifvo8wo.htm\"}},{\"name\":\"REPLACE\",\"description\":\"Replaces an observation in the same location.\",\"help\":\"REPLACE &lt;*data-set-name-1*&gt;&lt; ...*data-set-name-n*&gt;;\",\"arguments\":[{\"name\":\"data-set-name\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the data set to which the observation is written.\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"n1mgkkk3rgfpl0n1150cowwca3kx\"}],\"supportSiteInformation\":{\"docsetId\":\"lestmtsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p103b0p9akdcmhn1xbik9hbuo760.htm\"}},{\"name\":\"RETAIN\",\"description\":\"Causes a variable that is created by an INPUT or assignment statement to retain its value from one iteration of the DATA step to the next.\",\"help\":\"RETAIN   <element-list(s)<initial-value(s) | (initial-value-1) | (initial-value-list-1)>\\n< ...element-list-n<initial-value-n | (initial-value-n ) | (initial-value-list-n)>>> ;\",\"arguments\":[{\"name\":\"element-list\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies variable names, variable lists, or array names whose values you want retained.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p13gpn2r981u23n1vpn4otq7hj0g\"},{\"name\":\"initial-value\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies an initial value, numeric or character, for one or more of the preceding elements.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1jxpnwpk1imb8n13z4zs9k3z3wi\"},{\"name\":\"(initial-value)\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies an initial value, numeric or character, for a single preceding element or for the first in a list of preceding elements.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0ykdgkztkkzj7n1it1ywb1a0qff\"},{\"name\":\"(initial-value-list)\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies an initial value, numeric or character, for individual elements in the preceding list. SAS matches the first value in the list with the first variable in the list of elements, the second value with the second variable, and so on.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p05d006hgevsnbn11axi3cf53qce\"}],\"supportSiteInformation\":{\"docsetId\":\"lestmtsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p0t2ac0tfzcgbjn112mu96hkgg9o.htm\"}},{\"name\":\"RETURN\",\"description\":\"Stops executing statements at the current point in the DATA step and returns to a predetermined point in the step.\",\"help\":\"RETURN ;\",\"supportSiteInformation\":{\"docsetId\":\"lestmtsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p0t9xi85l04wjtn1j31cx4j4kry7.htm\"}},{\"name\":\"SELECT\",\"description\":\"Executes one of several statements or groups of statements.\",\"help\":\"SELECT <(select-expression)> ;  \\n\\tWHEN -1 (when-expression-1< ..., when-expression-n> ) statement; \\n\\n\\t< ...WHEN -n (when-expression-1< ...,when-expression-n> ) statement;>\\n\\t\\t<OTHERWISE  statement;>\\n\\nEND ;\",\"arguments\":[{\"name\":\"(select-expression)\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies any SAS expression that evaluates to a single value.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0jbd6x57fy06ln1xhjiwxacrf13\"},{\"name\":\"(when-expression)\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies any SAS expression, including a compound expression. SELECT requires you to specify at least one when-expression.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1j5sqglpm7tien1a3n2cjykkqkt\"},{\"name\":\"statement\",\"optional\":true,\"placeholder\":true,\"description\":\"can be any executable SAS statement, including DO, SELECT, and null statements. You must specify the statement argument.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0zezdg4ef6i5yn1ru9ugm8cpemn\"}],\"supportSiteInformation\":{\"docsetId\":\"lestmtsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p09213s9jc2t99n1vx0omk2rh9ps.htm\"}},{\"name\":\"SET\",\"description\":\"Reads an observation from one or more SAS data sets.\",\"help\":\"SET <SAS-data-set(s)<(data-set-options(s) )>>\\n\\t<options>;\",\"arguments\":[{\"name\":\"SAS-data-set\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies a one-level name, a two-level name, or one of the special SAS data set names.\",\"help\":\"*SAS-data-set (s)*\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"p1sqg5ioevf7ntn1q4e9n4svd2td\"},{\"name\":\"(data-set-options)\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies actions SAS is to take when it reads variables or observations into the program data vector for processing.\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"n1f0ygx3cx150in15if5uhl3stln\"},{\"name\":\"CUROBS=\",\"optional\":true,\"description\":\"creates and names a variable that contains the observation number that was just read from the data set.\",\"help\":\"CUROBS=*variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0t6q52h9jgtkbn1wqhhlk991o5f\"},{\"name\":\"END=\",\"optional\":true,\"description\":\"creates and names a temporary variable that contains an end-of-file indicator. The variable, which is initialized to zero, is set to 1 when SET reads the last observation of the last data set listed. This variable is not added to any new data set.\",\"help\":\"END=*variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1kx8j6j9we7zkn16bo3w12966c4\"},{\"name\":\"INDSNAME=\",\"optional\":true,\"description\":\"creates and names a variable that stores the name of the SAS data set from which the current observation is read. The stored name can be a data set name or a physical name. The physical name is the name by which the operating environment recognizes the file.\",\"help\":\"INDSNAME=*variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1hvkihxy1eushn1jwkb0ups79l1\"},{\"name\":\"KEY=\",\"optional\":true,\"description\":\"provides nonsequential access to observations in a SAS data set, which are based on the value of an index variable or a key.\",\"help\":\"KEY=*index*&lt;/UNIQUE&gt;\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0bef2ksq08u9yn1a0hj5zoetvzm\"},{\"name\":\"KEYRESET=\",\"optional\":true,\"description\":\"controls whether a KEY= search should begin at the top of the index for the data set that is being read. When the value of the KEYRESET variable is 1, the index lookup begins at the top of the index. When the value of the KEYRESET variable is 0, the index lookup is not reset and the lookup continues where the prior lookup ended.\",\"help\":\"KEYRESET=*variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n01orz3w02j9hen1c2six3cp57ox\"},{\"name\":\"NOBS=\",\"optional\":true,\"description\":\"creates and names a temporary variable whose value is usually the total number of observations in the input data set or data sets. If more than one data set is listed in the SET statement, the value of the NOBS= variable equals the total number of observations in the data sets that are listed. The number of observations includes those observations that are marked for deletion but are not yet deleted.\",\"help\":\"NOBS=*variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1btcos3msce2en14kzwh4l9ucjb\"},{\"name\":\"OPEN=\",\"optional\":true,\"description\":\"enables you to delay the opening of any concatenated SAS data sets until they are ready to be processed.\",\"help\":\"OPEN=( | DEFER)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"IMMEDIATE\",\"description\":\"during the compilation phase, opens all data sets that are listed in the SET statement.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n120nu31rhp6dxn1k20hm3wl3qdb\"},{\"name\":\"DEFER\",\"description\":\"opens the first data set during the compilation phase, and opens subsequent data sets during the execution phase. When the DATA step reads and processes all observations in a data set, it closes the data set and opens the next data set in the list.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0j93jw6pn211en1bw9nxndw2wy8\"}],\"supportSiteTargetFragment\":\"n0tvqphlw8x7ttn1lbuj5y12syjk\"},{\"name\":\"POINT=\",\"optional\":true,\"description\":\"specifies a temporary variable whose numeric value determines which observation is read. POINT= causes the SET statement to use random (direct) access to read a SAS data set.\",\"help\":\"  POINT=*variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0u2yq8x2b1fu4n1m0d5hzam9hjv\"},{\"name\":\"UNIQUE\",\"optional\":true,\"description\":\"causes a KEY= search always to begin at the top of the index for the data set that is being read.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0juysmfj4991wn1ljwbrzsscvc6\"}],\"supportSiteInformation\":{\"docsetId\":\"lestmtsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p00hxg3x8lwivcn1f0e9axziw57y.htm\"}},{\"name\":\"STOP\",\"description\":\"Stops execution of the current DATA step.\",\"help\":\"STOP ;\",\"supportSiteInformation\":{\"docsetId\":\"lestmtsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p02jy612cym9oxn10i19cbewlrdf.htm\"}},{\"name\":\"UPDATE\",\"description\":\"Updates a file by applying transactions.\",\"help\":\"UPDATE  master-data-set<(data-set-options)>transaction-data-set<(data-set-options)>\\n\\t<END=variable>\\n\\n\\t<UPDATEMODE=MISSINGCHECK | NOMISSINGCHECK>;\\n\\n\\tBY by-variable;\\n\",\"arguments\":[{\"name\":\"master-data-set\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the SAS data set used as the master file.\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"p1aruub98a0t5mn1k9qs59d9zor6\"},{\"name\":\"(data-set-options)\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies actions SAS is to take when it reads variables into the DATA step for processing.\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"n06akk4e6onsgyn11xve86ybbr2c\"},{\"name\":\"transaction-data-set\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the SAS data set that contains the changes to be applied to the master data set.\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"p0sr2x681x2m4jn17o7dmv2aa6h1\"},{\"name\":\"END=\",\"optional\":true,\"description\":\"creates and names a temporary variable that contains an end-of-file indicator. This variable is initialized to 0 and is set to 1 when UPDATE processes the last observation. This variable is not added to any data set.\",\"help\":\"END=*variable*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0apmbyjcjuttxn149gpr0wmg8vk\"},{\"name\":\"UPDATEMODE=\",\"optional\":true,\"description\":\"specifies whether missing variable values in a transaction data set are to be allowed to replace existing variable values in a master data set.\",\"help\":\"UPDATEMODE=MISSINGCHECK <br/> UPDATEMODE=NOMISSINGCHECK\",\"type\":\"value\",\"arguments\":[{\"name\":\"MISSINGCHECK\",\"description\":\"prevents missing variable values in a transaction data set from replacing values in a master data set. This is the default setting.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1hnrm8lp1627kn17gegxj1ug4b0\"},{\"name\":\"NOMISSINGCHECK\",\"description\":\"allows missing variable values in a transaction data set to replace values in a master data set.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1jxghfm3bli72n1tn0lu47v0e6h\"}],\"supportSiteTargetFragment\":\"p0f17ijdjn9wuzn1xup7mq3ragng\"}],\"supportSiteInformation\":{\"docsetId\":\"lestmtsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p18w3br45er2qun1r8sfmm4grjyr.htm\"}},{\"name\":\"WHERE\",\"description\":\"Selects observations from SAS data sets that meet a particular condition.\",\"help\":\"WHERE where-expression-1\\n<logical-operator where-expression-n>; \",\"arguments\":[{\"name\":\"where-expression\",\"optional\":true,\"placeholder\":true,\"description\":\"is an arithmetic or logical expression that generally consists of a sequence of operands and operators.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p04iz9sx1znb6en1ptu9o3h9ns07\"},{\"name\":\"logical-operator\",\"optional\":true,\"placeholder\":true,\"description\":\"can be AND, AND NOT, OR, or OR NOT.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0xd4nxmu81y3rn1lzcij1t759ln\"}],\"supportSiteInformation\":{\"docsetId\":\"lestmtsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n1xbr9r0s9veq0n137iftzxq4g7e.htm\"}}]"
  },
  {
    "path": "server/pubsdata/Statements/en/global.json",
    "content": "[{\"name\":\"%INCLUDE\",\"description\":\"Brings a SAS programming statement, data lines, or both, into a current SAS program.\",\"help\":\"%INCLUDE source(s)\\n</<SOURCE2>  <S2=length>  <options> >;\",\"aliases\":[\"%INC\"],\"arguments\":[{\"name\":\"'external-file'\",\"placeholder\":true,\"description\":\"specifies the physical name of an external file that is enclosed in quotation marks. The physical name is the name by which the operating environment recognizes the file.\",\"help\":\"*'external-file'*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n11cn2mel4y80nn15hledbsqvvu3\"},{\"name\":\"fileref\",\"placeholder\":true,\"description\":\"specifies a fileref that has previously been associated with an external file.\",\"help\":\"*fileref*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0oykmbgcctycsn1d00a3epc4yjl\"},{\"name\":\"fileref\",\"placeholder\":true,\"description\":\"specifies a fileref that has previously been associated with an aggregate storage location. Follow the fileref with one or more filenames that reside in that location. Enclose the filenames in one set of parentheses, and separate each filename with a comma followed by a space.\",\"help\":\"*fileref (filename-1 &lt;, ”filename–2.xxx”, ... filename-n&gt;)*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p02dgktj3y0spmn1r2pox8maft81\"},{\"name\":\"internal-lines\",\"placeholder\":true,\"description\":\"includes lines that were entered earlier in the same SAS job or session.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1qvad3jnk22crn191d0yr4hrxp1\"},{\"name\":\"*\",\"description\":\"prompts you to enter data from the keyboard. Place an asterisk (*) after the %INCLUDE statement in your code: To resume processing the original source program, enter a %RUN statement from the keyboard.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p03no7wkb29fpkn1062p4pctw3a5\"},{\"name\":\"SOURCE2\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"causes the SAS log to show the source statements that are being included in your SAS program.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1lv0sf1c9kfpln1hqxqrjji871g\"},{\"name\":\"S2=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the length of the record to be used for input. Length can have these values:\",\"help\":\"S2=*length*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1ppdsnv73lzjen1p563cn5qv0yn\"},{\"name\":\"BLKSIZE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"BLK=\"],\"description\":\"specifies the number of bytes that are physically read or written in an I/O operation.\",\"help\":\"BLKSIZE=*block-size*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1fib2c3t1bqfin11ix4ad6nc23x\"},{\"name\":\"ENCODING=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the encoding to use when reading from the specified source. The value for ENCODING= indicates that the specified source has a different encoding from the current session encoding.\",\"help\":\"ENCODING='*encoding-value*'\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0l8v41jy9oesyn1harg1lgfelyu\"},{\"name\":\"LRECL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the logical record length (in bytes).\",\"help\":\"LRECL=*record-length*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p15i16gfi4k2urn1tje4yehqzz1e\"},{\"name\":\"RECFM=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the record format. The following values are valid:\",\"help\":\"RECFM=*record-format*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1gu3aiuflzv6cn1fataw2j0ybvl\"}],\"supportSiteInformation\":{\"docsetId\":\"lestmtsglobal\",\"docsetVersion\":\"v_002\",\"docsetTargetFile\":\"p1s3uhhqtscz2sn1otiatbovfn1t.htm\"}},{\"name\":\"%LIST\",\"description\":\"Displays lines that are entered in the current session.\",\"help\":\"%LIST &lt;*n*&lt;:*m* | − *m*&gt;&gt;;\",\"arguments\":[{\"name\":\"n\",\"optional\":true,\"placeholder\":true,\"description\":\"displays line n.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p07wqcw4cgbneun11wkysl5r2iy3\"},{\"name\":\"n–m\",\"optional\":true,\"placeholder\":true,\"aliases\":[\"<i>n:m</i>\"],\"description\":\"displays lines n through m.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n04pah0jbl5zahn10ufwue557f2u\"}],\"supportSiteInformation\":{\"docsetId\":\"lestmtsglobal\",\"docsetVersion\":\"v_002\",\"docsetTargetFile\":\"p02qgs5rt5lydbn1l6is036snn9j.htm\"}},{\"name\":\"%RUN\",\"description\":\"Ends source statements following a %INCLUDE * statement.\",\"help\":\"%RUN ;\",\"supportSiteInformation\":{\"docsetId\":\"lestmtsglobal\",\"docsetVersion\":\"v_002\",\"docsetTargetFile\":\"p0jpgbtfevrkvyn1f2g8u1rp52la.htm\"}},{\"name\":\"AXIS\",\"description\":\"Controls the location, values, and appearance of the axes in plots and charts.\",\"help\":\"AXIS &lt;*1*-*99*&gt;&lt;*options*&gt;;\",\"arguments\":[{\"name\":\"COLOR=\",\"optional\":true,\"aliases\":[\"C=\"],\"description\":\"specifies the color for all axis components (the axis line, all tick marks, the frame outline, and all text) unless you include a more explicit AXIS statement color specification.\",\"help\":\"  COLOR=*axis-color*\",\"type\":\"color\",\"supportSiteTargetFragment\":\"n1t4yju0byf72pn185kt5a2az5ju\"},{\"name\":\"INTERVAL=\",\"optional\":true,\"description\":\"The INTERVAL option affects the LOGBASE option in the AXIS statement.\",\"help\":\"  INTERVAL=EVEN | UNEVEN | PARTIAL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"EVEN\",\"type\":\"standalone\"},{\"name\":\"UNEVEN\",\"type\":\"standalone\"},{\"name\":\"PARTIAL\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"n1vxsosiz5we0tn10nja4pl02zby\"},{\"name\":\"LABEL=\",\"optional\":true,\"description\":\"modifies an axis label.\",\"help\":\"  LABEL=(*text-options*) | (&lt;*text-options*&gt; \\\"*text-string*\\\") | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ANGLE=\",\"aliases\":[\"A=\"],\"description\":\"specifies the angle of the baseline with respect to the horizontal. A positive value for degrees moves the baseline counterclockwise; a negative value moves it clockwise. By default, ANGLE=0 (horizontal) unless the text is automatically angled or rotated to avoid overlapping.\",\"help\":\"    ANGLE=*degrees*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p12euaemffy8svn1j6c2pd615yni\"},{\"name\":\"COLOR=\",\"aliases\":[\"C=\"],\"description\":\"specifies the color for the text. If you omit the COLOR= option, a color specification is searched for in this order:\",\"help\":\"     COLOR=text-color\\n  \",\"type\":\"color\",\"supportSiteTargetFragment\":\"n1t3tzkdex7befn15kgvql5c7uf7\"},{\"name\":\"FONT=\",\"aliases\":[\"F=\"],\"description\":\"specifies the font for the text. See for details about specifying font. If you omit the FONT= option, a font specification is searched for in this order:\",\"help\":\"      FONT=*font* | NONE    \",\"type\":\"choice\",\"arguments\":[{\"name\":\"font\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"NONE\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"p0jb9hqtswmdghn1pyiabpoe86wn\"},{\"name\":\"HEIGHT=\",\"aliases\":[\"H=\"],\"description\":\"specifies the height of the text characters in number of units. If you omit the HEIGHT= option, a text height specification is searched for in this order:\",\"help\":\"     HEIGHT=text-height\\n   <units>\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1t1a1quhah2z6n1xiydpetdt66a\"},{\"name\":\"JUSTIFY=\",\"aliases\":[\"J=L | C | R\"],\"description\":\"specifies the alignment of the text. The default depends on the option with which it is used and the text that it applies to.\\n• With the LABEL= option, the following is true: \\n• For a left vertical axis label, the default is         JUSTIFY=RIGHT.\\n• for a right vertical axis label, the default is         JUSTIFY=LEFT.\\n• for a horizontal axis label, the default is         JUSTIFY=CENTER.\\n• With the REFLABEL= option, the following is true: \\n• For a reference line that intersects a vertical         axis, the default is JUSTIFY=CENTER. RIGHT places the text string on the right end of the         line. CENTER places the text string in the middle of the line. LEFT places the text string         to the left of the line.\\n• For a reference line that intersects a         horizontal axis, the default is JUSTIFY=RIGHT for all procedures except the BAR statement in         GBARLINE. For the BAR statement in GBARLINE the default is JUSTIFY=LEFT. RIGHT places the         text string just to the right of the line. CENTER centers the text string on top of the         line. LEFT places the text string just to the left of the line.\\n• With the VALUE= option, the following is true: \\n• For         numeric variables on a vertical axis, the default is JUSTIFY=LEFT, starting with SAS/GRAPH         release 9.2. Specify JUSTIFY=RIGHT to align the variable values according to release 9.1 and         earlier behavior.\\n• For character variables on a vertical axis, the         default is JUSTIFY=LEFT.\\n• For all variables on a horizontal axis, the         default is JUSTIFY=CENTER.\",\"help\":\"     JUSTIFY=LEFT | CENTER | RIGHT \",\"type\":\"choice\",\"arguments\":[{\"name\":\"LEFT\",\"type\":\"standalone\"},{\"name\":\"CENTER\",\"type\":\"standalone\"},{\"name\":\"RIGHT\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"p0dw720adp7twzn14nvybpxwp3g8\"},{\"name\":\"ROTATE=\",\"aliases\":[\"R=\"],\"description\":\"specifies the angle at which each character of text is rotated with respect to the baseline of the text string. A positive value for degree rotates the character counterclockwise; a negative value moves it clockwise. By default, ROTATE=0 (parallel to the baseline) unless the text is automatically angled or rotated to avoid overlapping.\",\"help\":\"     ROTATE=degrees\\n  \",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1a10mjy02mq2yn1c7h4w6iygt5f\"},{\"name\":\"\\\"text-string\\\"\",\"placeholder\":true,\"description\":\"provides up to 256 characters of label text. By default, the text of the axis label is either the variable name or a previously assigned variable label. Enclose each string in quotation marks. Separate multiple strings with blanks.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1cfqmzgkqf52nn144iebcayabyz\"},{\"name\":\"NONE\",\"description\":\"suppresses the axis label.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1oilwpply1gknn1kq8wjllv4qq4\"}],\"supportSiteTargetFragment\":\"n0wy7071ipdl26n1sgziqnttl8v6\"},{\"name\":\"LENGTH=\",\"optional\":true,\"description\":\"specifies the length of the axis in number of units.\",\"help\":\"  LENGTH=*axis length* &lt;*units*&gt; \",\"type\":\"value\",\"supportSiteTargetFragment\":\"p03cfkolnxoj40n1jaersli1530l\"},{\"name\":\"LOGBASE=\",\"optional\":true,\"description\":\"scales the axis values logarithmically according to the value specified.\",\"help\":\"  LOGBASE=*base* | E | PI\",\"type\":\"choice\",\"arguments\":[{\"name\":\"base\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"E\",\"type\":\"standalone\"},{\"name\":\"PI\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"n1fex5sxey7hefn1m1uv4fn5h87u\"},{\"name\":\"LOGSTYLE=\",\"optional\":true,\"description\":\"specifies whether the values displayed on the logarithmic axis are the values of the base or the values of the power.\",\"help\":\"LOGSTYLE=EXPAND | POWER\",\"type\":\"choice\",\"arguments\":[{\"name\":\"EXPAND\",\"type\":\"standalone\"},{\"name\":\"POWER\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"n12mz71tnix54mn1pgolggn5vx1k\"},{\"name\":\"MAJOR=\",\"optional\":true,\"description\":\"modifies the major tick marks.\",\"help\":\"  MAJOR=(*tick-mark-suboptions*) | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"COLOR=\",\"description\":\"specifies the color of the major tick marks\",\"help\":\"COLOR=*tick-color*\",\"type\":\"color\",\"supportSiteTargetFragment\":\"p1132rwywdpzkjn1l43hvfs87epe\"},{\"name\":\"HEIGHT=\",\"description\":\"specifies the vertical height of the major tick marks\",\"help\":\"HEIGHT=*tick-height* &lt;*units*&gt; \",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0xfxu4zi6ysv9n1pyke1rfbgtet\"},{\"name\":\"NUMBER=\",\"description\":\"specifies the number of the major tick marks\",\"help\":\"NUMBER=*number-of-ticks*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0904l0es3wbz0n1l3xp67d81hi1\"},{\"name\":\"WIDTH=\",\"description\":\"specifies the width of the major tick marks\",\"help\":\"WIDTH=*thickness-factor*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1s959yjljfpwhn14uzcbde7up5g\"}],\"supportSiteTargetFragment\":\"p0wg8hnwj4dugmn1bj9hx71lv34e\"},{\"name\":\"MINOR=\",\"optional\":true,\"description\":\"modifies the minor tick marks that appear between major tick marks.\",\"help\":\"  MINOR=(*tick-mark-suboptions*) | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"COLOR=\",\"description\":\"specifies the color of the minor tick marks\",\"help\":\"COLOR=*tick-color*\",\"type\":\"color\",\"supportSiteTargetFragment\":\"n1kvib9dg9owa0n1hohslm6rqny9\"},{\"name\":\"HEIGHT=\",\"description\":\"specifies the vertical height of the minor tick marks\",\"help\":\"HEIGHT=*tick-height* &lt;*units*&gt; \",\"type\":\"value\",\"supportSiteTargetFragment\":\"n060zqrugegwlln1lfcp6d8vb1x2\"},{\"name\":\"NUMBER=\",\"description\":\"specifies the number of the minor tick marks\",\"help\":\"NUMBER=*number-of-ticks*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p07x2u7xs5wv5ln1jp62z3wl68q1\"},{\"name\":\"WIDTH=\",\"description\":\"specifies the width of the minor tick marks\",\"help\":\"WIDTH=*thickness-factor*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p19iyf708ycodcn1ozfgrtqh704j\"}],\"supportSiteTargetFragment\":\"p1q5x57me1dfrpn1qqgfx45y9s28\"},{\"name\":\"NOBRACKETS\",\"optional\":true,\"description\":\"suppresses the printing of group brackets drawn around the values on the group axis in a bar chart.\",\"help\":\"  NOBRACKETS\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p09dcv67m1syb9n1kprxhcfh2csj\"},{\"name\":\"NOPLANE\",\"optional\":true,\"description\":\"removes either the horizontal or vertical three-dimensional axis plane in bar charts produced by the HBAR3D and VBAR3D statements.\",\"help\":\" NOPLANE\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n15drrqyjdf26rn1sue2oo33w25s\"},{\"name\":\"OFFSET=\",\"optional\":true,\"description\":\"specifies the distance from the first and last major tick marks or bars to the ends of the axis line.\",\"help\":\"  OFFSET=(*n1*&lt;,*n2*&gt;)&lt;*units*&gt; | (*n1*&lt;*units*&gt;&lt;,*n2*&gt;&lt;*units*&gt;)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"(n1,n2)units\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"(n1units,n2units)\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p1o97vg8nkwyr7n0z3v1s76qetfi\"},{\"name\":\"ORDER=\",\"optional\":true,\"description\":\"specifies the order in which data values appear on the axis.\",\"help\":\"  ORDER=(*value-list*)\",\"type\":\"value\",\"arguments\":[{\"name\":\"value-list\",\"placeholder\":true,\"description\":\"For numeric variables, value-list is either an explicit list of values or a starting value and an ending value with an interval increment, or a combination of both forms:\\n• <i>n</i> &lt;<i> ...n</i>&gt;\\n• <i>n</i> TO <i>n</i> &lt;BY <i>increment</i>&gt;\\n• <i>n</i>&lt; ...<i>n</i>&gt; TO <i>n</i> &lt;BY <i>increment</i> &gt; &lt;<i>n</i> &lt;<i> ...n</i> &gt; &gt;\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0jcorhtmulgr7n140rjnfuhjf87\"},{\"name\":\"value-list\",\"placeholder\":true,\"description\":\"For character variables, value-list is a list of unique character values enclosed in quotation marks and separated by blanks:\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0jtgdulrwl3bxn1jl8p1f3h35t2\"},{\"name\":\"D\",\"description\":\"date\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0vyfuk80lnvxkn1is6vasyssx8p\"},{\"name\":\"T\",\"description\":\"time\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p04z7jfzc9e1ftn1uifuneap6ga3\"},{\"name\":\"DT\",\"description\":\"datetime\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p121kt306cxvswn1edxvxn3r1q48\"},{\"name\":\"DAY\",\"description\":\"default interval for date\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0hmzl88gprt38n1khpzzzkecp5p\"},{\"name\":\"SECOND\",\"description\":\"default interval for time\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0jp8z98qs6lkjn1j02ku1br80jf\"},{\"name\":\"DTSECOND\",\"description\":\"default interval for datetime\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0gfboui6r14ycn1llyy31ti862u\"}],\"supportSiteTargetFragment\":\"p1mvucdpk1ibj4n1xg89x2h5x2ym\"},{\"name\":\"ORIGIN=\",\"optional\":true,\"description\":\"specifies the x coordinate and the y coordinate of the origin of the axis.\",\"help\":\"  ORIGIN=(&lt;*x*&gt;&lt;,*y*&gt;)&lt;*units*&gt; | (&lt;*x*&gt;&lt;*units*&gt;&lt;,*y*&gt;&lt;*units*&gt;)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"(x,y)units\",\"placeholder\":true,\"type\":\"standaloneOrValue\"},{\"name\":\"(xunits,yunits)\",\"placeholder\":true,\"type\":\"standaloneOrValue\"}],\"supportSiteTargetFragment\":\"n0fhm5aghekecjn1dghmoiqqn4zq\"},{\"name\":\"REFLABEL=\",\"optional\":true,\"description\":\"creates and defines the appearance of a reference-line label.\",\"help\":\"  REFLABEL=(*text-options*) | (&lt;*text-options*&gt;*\\\"text-string\\\"*) | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ANGLE=\",\"aliases\":[\"A=\"],\"description\":\"specifies the angle of the baseline with respect to the horizontal. A positive value for degrees moves the baseline counterclockwise; a negative value moves it clockwise. By default, ANGLE=0 (horizontal) unless the text is automatically angled or rotated to avoid overlapping.\",\"help\":\"    ANGLE=*degrees*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p12euaemffy8svn1j6c2pd615ynia\"},{\"name\":\"AUTOREF\",\"description\":\"automatically labels each reference line on an axis with the response value at the reference line's position.\",\"help\":\" AUTOREF\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0xsk33fclbe0fn1u8ounthkgo8l\"},{\"name\":\"COLOR=\",\"aliases\":[\"C=\"],\"description\":\"specifies the color for the text. If you omit the COLOR= option, a color specification is searched for in this order:\",\"help\":\"     COLOR=text-color\\n  \",\"type\":\"color\",\"supportSiteTargetFragment\":\"n1t3tzkdex7befn15kgvql5c7uf7a\"},{\"name\":\"FONT=\",\"aliases\":[\"F=\"],\"description\":\"specifies the font for the text. See for details about specifying font. If you omit the FONT= option, a font specification is searched for in this order:\",\"help\":\"      FONT=*font* | NONE    \",\"type\":\"choice\",\"arguments\":[{\"name\":\"font\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"NONE\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"p0jb9hqtswmdghn1pyiabpoe86wna\"},{\"name\":\"FORMAT=\",\"description\":\"specifies a valid format to be applied to the response-axis value shown with the AUTOREF label on each reference line.\",\"help\":\"FORMAT='*ValidFormat*'\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n10on4ka9gk1zwn18uts04e06q4o\"},{\"name\":\"HEIGHT=\",\"aliases\":[\"H=\"],\"description\":\"specifies the height of the text characters in number of units. If you omit the HEIGHT= option, a text height specification is searched for in this order:\",\"help\":\"     HEIGHT=text-height\\n   <units>\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1t1a1quhah2z6n1xiydpetdt66aa\"},{\"name\":\"JUSTIFY=\",\"aliases\":[\"J=L | C | R\"],\"description\":\"specifies the alignment of the text. The default depends on the option with which it is used and the text that it applies to.\\n• With the LABEL= option, the following is true: \\n• For a left vertical axis label, the default is         JUSTIFY=RIGHT.\\n• for a right vertical axis label, the default is         JUSTIFY=LEFT.\\n• for a horizontal axis label, the default is         JUSTIFY=CENTER.\\n• With the REFLABEL= option, the following is true: \\n• For a reference line that intersects a vertical         axis, the default is JUSTIFY=CENTER. RIGHT places the text string on the right end of the         line. CENTER places the text string in the middle of the line. LEFT places the text string         to the left of the line.\\n• For a reference line that intersects a         horizontal axis, the default is JUSTIFY=RIGHT for all procedures except the BAR statement in         GBARLINE. For the BAR statement in GBARLINE the default is JUSTIFY=LEFT. RIGHT places the         text string just to the right of the line. CENTER centers the text string on top of the         line. LEFT places the text string just to the left of the line.\\n• With the VALUE= option, the following is true: \\n• For         numeric variables on a vertical axis, the default is JUSTIFY=LEFT, starting with SAS/GRAPH         release 9.2. Specify JUSTIFY=RIGHT to align the variable values according to release 9.1 and         earlier behavior.\\n• For character variables on a vertical axis, the         default is JUSTIFY=LEFT.\\n• For all variables on a horizontal axis, the         default is JUSTIFY=CENTER.\",\"help\":\"     JUSTIFY=LEFT | CENTER | RIGHT \",\"type\":\"choice\",\"arguments\":[{\"name\":\"LEFT\",\"type\":\"standalone\"},{\"name\":\"CENTER\",\"type\":\"standalone\"},{\"name\":\"RIGHT\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"p0dw720adp7twzn14nvybpxwp3g8a\"},{\"name\":\"POSITION=\",\"description\":\"specifies the position of a reference-line label relative to the reference line. The default is TOP for both vertical and horizontal reference lines. The POSITION= option is available only on the REFLABEL= option.\\n• For horizontal reference lines, TOP places              the label just above the reference line. MIDDLE places the label on the reference line.              BOTTOM places the label just below the reference line.\\n• For vertical reference lines, TOP places              the label at the top end of the reference line. MIDDLE places the label in the middle              of the line. BOTTOM places the label at the bottom end of the line.\",\"help\":\"            POSITION=TOP | MIDDLE | BOTTOM\",\"type\":\"choice\",\"arguments\":[{\"name\":\"TOP\",\"type\":\"standalone\"},{\"name\":\"MIDDLE\",\"type\":\"standalone\"},{\"name\":\"BOTTOM\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"p14y46gleaqbopn18octdwwbj9iz\"},{\"name\":\"ROTATE=\",\"aliases\":[\"R=\"],\"description\":\"specifies the angle at which each character of text is rotated with respect to the baseline of the text string. A positive value for degree rotates the character counterclockwise; a negative value moves it clockwise. By default, ROTATE=0 (parallel to the baseline) unless the text is automatically angled or rotated to avoid overlapping.\",\"help\":\"     ROTATE=degrees\\n  \",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1a10mjy02mq2yn1c7h4w6iygt5fa\"},{\"name\":\"TICK=\",\"aliases\":[\"T=\"],\"description\":\"specifies the n reference line or tick mark value. Used only with the REFLABEL= option or the VALUE= option. If neither one is specified, then the TICK= option is ignored.\\n• With the REFLABEL= option, the TICK=              option specifies the               <i>n</i><sup>th</sup> reference line.              It is used to limit modifications to individual reference lines when there are multiple              reference lines on an axis. For example, the following option changes the color of only              the third reference line's label and leaves all other reference-line labels unchanged: \\n• With the VALUE= option, the TICK= option              specifies the <i>n</i><sup>th</sup>               value. It is used to designate the tick mark value whose text and              appearance you want to modify. For example, the following option changes the color of              only the third tick mark value and leaves all others unchanged: \",\"help\":\" TICK=n\\n         \",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0my6kxfmxymvyn1mmwytp07sktm\"},{\"name\":\"\\\"text-string\\\"\",\"placeholder\":true,\"description\":\"provides up to 256 characters of label text. By default, a reference line does not have a label. Enclose each string in quotation marks. Separate multiple strings with blank spaces. The strings are applied to the reference lines specified by the VREF or HREF option.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0nsmb7pvuuf13n1jgnj0qtywloc\"},{\"name\":\"NONE\",\"description\":\"suppresses the reference-line label.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1m7czx6etbtovn12o4zbdcojja7\"}],\"supportSiteTargetFragment\":\"n0gg0hgs02vxzen0zuju9e8woplf\"},{\"name\":\"SPLIT=\",\"optional\":true,\"description\":\"specifies one or more characters that the AXIS statement uses to break axis values into multiple lines.\",\"help\":\"  SPLIT=\\\"*split-char(s)*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p14i4pp8fsiqhkn1eswyqvlwoehh\"},{\"name\":\"STAGGER\",\"optional\":true,\"description\":\"offsets the axis values on a horizontal axis.\",\"help\":\" STAGGER\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0p6727depuz0on1lrazqqacnod2\"},{\"name\":\"STYLE=\",\"optional\":true,\"description\":\"specifies a line type for the axis line.\",\"help\":\"  STYLE=*line-type*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1pgkvr92zngg1n10o3o1bformix\"},{\"name\":\"VALUE=\",\"optional\":true,\"description\":\"modifies the text that labels the major tick marks on the axis.\",\"help\":\" VALUE=(*text-options*) | (&lt;*text-options*&gt;*\\\"text-string\\\"*) | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ANGLE=\",\"aliases\":[\"A=\"],\"description\":\"specifies the angle of the baseline with respect to the horizontal. A positive value for degrees moves the baseline counterclockwise; a negative value moves it clockwise. By default, ANGLE=0 (horizontal) unless the text is automatically angled or rotated to avoid overlapping.\",\"help\":\"    ANGLE=*degrees*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p12euaemffy8svn1j6c2pd615ynib\"},{\"name\":\"COLOR=\",\"aliases\":[\"C=\"],\"description\":\"specifies the color for the text. If you omit the COLOR= option, a color specification is searched for in this order:\",\"help\":\"     COLOR=text-color\\n  \",\"type\":\"color\",\"supportSiteTargetFragment\":\"n1t3tzkdex7befn15kgvql5c7uf7b\"},{\"name\":\"FONT=\",\"aliases\":[\"F=\"],\"description\":\"specifies the font for the text. See for details about specifying font. If you omit the FONT= option, a font specification is searched for in this order:\",\"help\":\"      FONT=*font* | NONE    \",\"type\":\"choice\",\"arguments\":[{\"name\":\"font\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"NONE\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"p0jb9hqtswmdghn1pyiabpoe86wnb\"},{\"name\":\"HEIGHT=\",\"aliases\":[\"H=\"],\"description\":\"specifies the height of the text characters in number of units. If you omit the HEIGHT= option, a text height specification is searched for in this order:\",\"help\":\"     HEIGHT=text-height\\n   <units>\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1t1a1quhah2z6n1xiydpetdt66ab\"},{\"name\":\"JUSTIFY=\",\"aliases\":[\"J=L | C | R\"],\"description\":\"specifies the alignment of the text. The default depends on the option with which it is used and the text that it applies to.\\n• With the LABEL= option, the following is true: \\n• For a left vertical axis label, the default is         JUSTIFY=RIGHT.\\n• for a right vertical axis label, the default is         JUSTIFY=LEFT.\\n• for a horizontal axis label, the default is         JUSTIFY=CENTER.\\n• With the REFLABEL= option, the following is true: \\n• For a reference line that intersects a vertical         axis, the default is JUSTIFY=CENTER. RIGHT places the text string on the right end of the         line. CENTER places the text string in the middle of the line. LEFT places the text string         to the left of the line.\\n• For a reference line that intersects a         horizontal axis, the default is JUSTIFY=RIGHT for all procedures except the BAR statement in         GBARLINE. For the BAR statement in GBARLINE the default is JUSTIFY=LEFT. RIGHT places the         text string just to the right of the line. CENTER centers the text string on top of the         line. LEFT places the text string just to the left of the line.\\n• With the VALUE= option, the following is true: \\n• For         numeric variables on a vertical axis, the default is JUSTIFY=LEFT, starting with SAS/GRAPH         release 9.2. Specify JUSTIFY=RIGHT to align the variable values according to release 9.1 and         earlier behavior.\\n• For character variables on a vertical axis, the         default is JUSTIFY=LEFT.\\n• For all variables on a horizontal axis, the         default is JUSTIFY=CENTER.\",\"help\":\"     JUSTIFY=LEFT | CENTER | RIGHT \",\"type\":\"choice\",\"arguments\":[{\"name\":\"LEFT\",\"type\":\"standalone\"},{\"name\":\"CENTER\",\"type\":\"standalone\"},{\"name\":\"RIGHT\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"p0dw720adp7twzn14nvybpxwp3g8b\"},{\"name\":\"ROTATE=\",\"aliases\":[\"R=\"],\"description\":\"specifies the angle at which each character of text is rotated with respect to the baseline of the text string. A positive value for degree rotates the character counterclockwise; a negative value moves it clockwise. By default, ROTATE=0 (parallel to the baseline) unless the text is automatically angled or rotated to avoid overlapping.\",\"help\":\"     ROTATE=degrees\\n  \",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1a10mjy02mq2yn1c7h4w6iygt5fb\"},{\"name\":\"TICK=\",\"aliases\":[\"T=\"],\"description\":\"specifies the n reference line or tick mark value. Used only with the REFLABEL= option or the VALUE= option. If neither one is specified, then the TICK= option is ignored.\\n• With the REFLABEL= option, the TICK=              option specifies the               <i>n</i><sup>th</sup> reference line.              It is used to limit modifications to individual reference lines when there are multiple              reference lines on an axis. For example, the following option changes the color of only              the third reference line's label and leaves all other reference-line labels unchanged: \\n• With the VALUE= option, the TICK= option              specifies the <i>n</i><sup>th</sup>               value. It is used to designate the tick mark value whose text and              appearance you want to modify. For example, the following option changes the color of              only the third tick mark value and leaves all others unchanged: \",\"help\":\" TICK=n\\n         \",\"type\":\"value\",\"supportSiteTargetFragment\":\"n118mikxfc6b7wn1s0arijlxxhz8\"},{\"name\":\"\\\"text-string\\\"\",\"placeholder\":true,\"description\":\"provides up to 256 characters of text for the major tick mark value. By default, the value is either the variable value or an associated format value. Enclose each string in quotation marks and separate multiple strings with blanks.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1qyloaf0watrgn1obyp50dtlok5\"},{\"name\":\"NONE\",\"description\":\"suppresses the major tick mark labels, although the major tick marks are still displayed.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n01030nvfnp798n1eoftbf673gu5\"}],\"supportSiteTargetFragment\":\"n0e2phmxlxl1i7n143k3xumxak06\"},{\"name\":\"WIDTH=\",\"optional\":true,\"description\":\"specifies the thickness of the axis line.\",\"help\":\"  WIDTH=*thickness-factor*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0d9q7v86054djn10vysp2n3po7g\"},{\"name\":\"COLOR=\",\"optional\":true,\"aliases\":[\"C=\"],\"description\":\"colors the tick marks. If you omit the COLOR= suboption, a color specification is searched for in this order:\",\"help\":\" COLOR=*tick-mark-color*\",\"type\":\"color\",\"supportSiteTargetFragment\":\"n109xzva8pakeqn1mpkc7y1pkg75\"},{\"name\":\"HEIGHT=\",\"optional\":true,\"aliases\":[\"H=\"],\"description\":\"specifies the height of the tick mark. The defaults for the HEIGHT= suboption depend on the option with which it is used:\\n• With the MAJOR= option the default height  .5 CELLS.\\n• With the MINOR= option the default height  .25 CELLS.\",\"help\":\" HEIGHT=tick-height <units> \\n \",\"type\":\"value\",\"supportSiteTargetFragment\":\"n05xlqj1du2g32n1hdm81wazzv4d\"},{\"name\":\"NUMBER=\",\"optional\":true,\"aliases\":[\"N=\"],\"description\":\"specifies the number of tick marks to be drawn. With the MAJOR= option, number-of-ticks must be greater than 1. With the MINOR= option, number-of-ticks must be greater than 0.\",\"help\":\"  NUMBER=*number-of-ticks*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0ock4toa55m4dn1uspak9rw2w91\"},{\"name\":\"WIDTH=\",\"optional\":true,\"aliases\":[\"W=\"],\"description\":\"specifies the thickness of the tick mark, where thickness-factor is a number. Thickness increases directly with thickness-factor. By default, WIDTH=1.\",\"help\":\"  WIDTH=thickness-factor \\n \",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0g38l5qjncwvan1pyyuttg2q005\"}],\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"p0rvgwbkch5iqsn1rghqth2dl59y.htm\"}},{\"name\":\"CATNAME\",\"description\":\"Logically combines two or more catalogs into one by associating them with a catref (a shortcut name); clears one or all catrefs; lists the concatenated catalogs in one concatenation or in all concatenations.\",\"help\":\"CATNAME  <libref.>catref\\n\\t< (libref-1.catalog-1<(ACCESS=READONLY)>\\n\\t<…libref-n.catalog–n <(ACCESS=READONLY)>>)>;\\nCATNAME <libref.>catrefCLEAR | _ALL_ CLEAR;\\nCATNAME <libref.>catrefLIST | _ALL_ LIST;\",\"arguments\":[{\"name\":\"libref\",\"optional\":true,\"placeholder\":true,\"description\":\"is any previously assigned SAS libref. If you do not specify a libref, SAS concatenates the catalog in the Work library, using the catref that you specify.\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"n1bittv1lqz8ztn1utp0pbw9v4qr\"},{\"name\":\"catref\",\"optional\":true,\"placeholder\":true,\"description\":\"is a unique catalog reference name for a catalog or a catalog concatenation that is specified in the statement. Separate the catref from the libref with a period, as in libref.catref. Any SAS name can be used for this catref.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0ntskso008p15n15tvjqdipvhgw\"},{\"name\":\"catalog\",\"optional\":true,\"placeholder\":true,\"description\":\"is the name of a catalog that is available for use in the catalog concatenation.\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"n1x5lny18qf1jun14xdf1d4mw510\"},{\"name\":\"CLEAR\",\"optional\":true,\"description\":\"disassociates a currently assigned catref or libref.catref.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1s8i6mdzwoh5un1u4uyp0btxv22\"},{\"name\":\"_ALL_ CLEAR\",\"optional\":true,\"description\":\"disassociates all currently assigned catref or libref.catref concatenations.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0tqayjg83xnu9n1ub49bho0rcq9\"},{\"name\":\"LIST\",\"optional\":true,\"description\":\"writes the catalog names that are included in the specified concatenation to the SAS log.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n13fziyqifj3nqn1mqks6adgumxh\"},{\"name\":\"_ALL_ LIST\",\"optional\":true,\"description\":\"writes all catalog names that are included in any current catalog concatenation to the SAS log.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n09ixkzcy538own1a3flzgwltbd1\"},{\"name\":\"ACCESS=\",\"optional\":true,\"description\":\"assigns a read-only attribute to the catalog. SAS allows users to read from the catalog entries but not to update information or to write new information.\",\"help\":\"ACCESS=READONLY\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p113ziy98tceeln16x89tod2371g\"}],\"supportSiteInformation\":{\"docsetId\":\"lestmtsglobal\",\"docsetVersion\":\"v_002\",\"docsetTargetFile\":\"n1rzdih703whb4n1j619msahs5o0.htm\"}},{\"name\":\"DATA\",\"description\":\"Begins a DATA step and provides names for any output such as SAS data sets, views, or programs.\",\"help\":\"Form 1: \\nDATA statement for creating output data sets DATA  <data-set-name-1<(data-set-options-1)>>\\n< ...data-set-name-n<(data-set-options-n)>>\\n</  <NESTING> <STACK=stack-size> <HEXLISTALL>><NOLIST>;\\nForm 2: \\nDATA statement for creating a DATA step view DATA view-name<data-set-name-1<(data-set-options-1)>>\\n< ...data-set-name-n<(data-set-options-n)>>  /  VIEW=view-name\\n<(<password-option> <SOURCE=source-option> )>\\n<NESTING><NOLIST>;\\nForm 3: \\nDATA statement for creating a stored compiled DATA step program DATA data-set-name/ PGM=program-name\\n<(<password-option> <SOURCE=source-option> )>\\n<NESTING><NOLIST>;\\nForm 4: \\nDATA statement for describing a DATA step view DATA VIEW=view-name<(password-option)><NOLIST>;  \\n\\tDESCRIBE ; \\n\\nForm 5: \\nDATA statement for use with  a stored compiled DATA step program DATA PGM=program-name<(password-option)><NOLIST>; \\n\\t<DESCRIBE ;>\\n\\n\\t<REDIRECT  INPUT | OUTPUT old-name-1 = new-name-1<… old-name-n = new-name-n> ;>\\n\\n\\t<EXECUTE ;>\\n\\nForm 6: \\nDATA statement for use on the CAS server DATA <data-set-name-1<(data-set-options-1)>>\\n< ...data-set-name-n<(data-set-options-n)>>\\n/ <             <SESSREF=session-reference-name>             |             <SESSUUID=session-uuid > >\\n<THREADS=number-of-threads><SINGLE= NO | YES | NOINPUT>\\n<NESTING><STACK=stack-size><HEXLISTALL><NOLIST>;\",\"arguments\":[{\"name\":\"data-set-name\",\"optional\":true,\"placeholder\":true,\"description\":\"names the SAS data file or DATA step view that the DATA step creates. To create a DATA step view, you must specify at least one data-set-name and that data-set-name must match view-name.\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"n09a6hmumbac3nn0z2c4amhva4cw\"},{\"name\":\"(data-set-options)\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies optional arguments that the DATA step applies when it writes observations to the output data set.\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"n1xm1pq0ult5x7n1loir5uk8ipsz\"},{\"name\":\"NOLIST\",\"optional\":true,\"description\":\"suppresses the output of all variables to the SAS log when the value of _ERROR_ is 1.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n17uvnq98cfffdn18mzldlwvv63m\"},{\"name\":\"ALTER=\",\"aliases\":[\"PROTECT=\"],\"description\":\"assigns an ALTER password to a SAS data file. The password enables you to protect or replace a stored compiled DATA step program or a DATA step view.\",\"help\":\"ALTER=alter-password \\n  \",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0h44wm5srj1lan1aclb1ba63onx\"},{\"name\":\"PW=\",\"description\":\"assigns a READ= password and an ALTER= password. Both passwords are set to the same value.\",\"help\":\"PW=password \\n  \",\"type\":\"value\",\"supportSiteTargetFragment\":\"p17jldvqf061ckn19ivrkhcyka4z\"},{\"name\":\"READ=\",\"aliases\":[\"EXECUTE=\"],\"description\":\"assigns a READ password to a SAS data file. The password enables you to read or execute a stored compiled DATA step program or a DATA step view.\",\"help\":\"READ=*read-password* \",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1o98gkrbavaapn1jfr4e0c9xwvu\"},{\"name\":\"PGM=\",\"optional\":true,\"description\":\"names the stored compiled program that SAS creates or executes in the DATA step. To create a stored compiled program, specify a slash (/) before the PGM= option. To execute a stored compiled program, specify the PGM= option without a slash (/).\",\"help\":\"PGM=*program-name*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0cylc7njkayhln1rtgojiiaeb48\"},{\"name\":\"SOURCE=\",\"optional\":true,\"description\":\"specifies one of these source options:\",\"help\":\"SOURCE=*source-option*\",\"type\":\"value\",\"arguments\":[{\"name\":\"ENCRYPTALL\",\"description\":\"encrypts and saves the source code, including all character string constants, that created a stored compiled DATA step program or a DATA step view.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1mshkslyzdioyn12pb8xus0qcjj\"},{\"name\":\"NOSAVE\",\"description\":\"does not save the source code.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0rohfvvhkj1xzn1pnqgf8rz3lq8\"},{\"name\":\"SAVE\",\"description\":\"saves the source code that created a stored compiled DATA step program or a DATA step view.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1idlkubl5ydhin1lnjjia1ulg2x\"}],\"supportSiteTargetFragment\":\"p0bz8slj5vwhymn1ql7y2mdvr65q\"},{\"name\":\"VIEW=\",\"optional\":true,\"description\":\"names a view that the DATA step uses to store the input DATA step view.\",\"help\":\"VIEW=*view-name*\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"p0szvu3p89ijp7n0zztby8rbixuf\"},{\"name\":\"HEXLISTALL\",\"optional\":true,\"description\":\"enables the LIST statement to write log data in hexadecimal format for all lines of input data.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1hjxyjeuj93odn1xjgigftshg92\"},{\"name\":\"NESTING\",\"optional\":true,\"description\":\"specifies that a note is printed to the SAS log for the beginning and end of each DO-END and SELECT-END nesting level. This option enables you to debug mismatched DO-END and SELECT-END statements and is particularly useful in large programs where the nesting level is not obvious.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p144v478zwvm1bn18bcqynbktt9n\"},{\"name\":\"STACK=\",\"optional\":true,\"description\":\"specifies the maximum number of nested LINK statements.\",\"help\":\"STACK=*stack-size*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0jy38vhlt4jfvn1x28ig6afnjj7\"},{\"name\":\"SESSREF=\",\"optional\":true,\"description\":\"associates a DATA step with a CAS session. The value for the SESSREF= option represents the current active session.\",\"help\":\"SESSREF=*session-reference-name*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n125ld52t8qbsen1cu6n220tqnyv\"},{\"name\":\"SESSUUID=\",\"optional\":true,\"description\":\"specifies the CAS session where the DATA step runs. The session-uuid is the universally unique identifier (UUID) that is associated with a CAS session. One way to create a session and retrieve the UUID for the session is with the CAS statement or LIBNAME statement.\",\"help\":\"SESSUUID=*session-uuid*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1mnicti0ae5ujn1rw6wjngtzpg6\"},{\"name\":\"SINGLE=\",\"optional\":true,\"description\":\"specifies whether to run the DATA step in a single thread in CAS. By default, a DATA step running in CAS runs in a single thread when there is no CAS input table specified. The DATA step running in CAS runs in multiple threads by default when there is an input CAS table specified. For example, the following DATA step runs by default in a single thread in CAS:\",\"help\":\"SINGLE=NO | NOINPUT | YES\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NOINPUT\",\"description\":\"runs the DATA step program in a single thread only when there are no CAS input tables. This option is useful when writing a DATA step that generates only output data to a table. NOINPUT is the default for DATA step processing in CAS when there is no input table specified.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1bfmbldkbw8g1n12ceso7i803j1\"},{\"name\":\"NO\",\"description\":\"runs the DATA step program in all threads. If there are 4 workers and each worker supports 32 threads, the DATA step program runs in 128 threads. NO is the default for DATA step processing in CAS as long as there is an input table specified. Otherwise, without an input table, the DATA step in CAS runs in a single thread.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0b39s7t8c723vn166tb2t49kvck\"},{\"name\":\"YES\",\"description\":\"runs the DATA step program in a single thread. As rows from input tables are processed, a copy of every row is transferred to a single node and processed in the single thread. This action incurs a performance penalty for the data transfer, data duplication, and limited processing that is possible with a single thread. A DATA step that is running in SAS always runs in a single thread.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1nq7zr2cnr0wsn1go7avudue44y\"}],\"supportSiteTargetFragment\":\"p0kh854gfkpgg7n1izqv33ecbjif\"},{\"name\":\"THREADS=\",\"optional\":true,\"description\":\"specifies the number of threads to use to run the DATA step in CAS.\",\"help\":\"THREADS=*number-of-threads*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1xvufr0yhkcqfn1dheqloc9jq76\"}],\"supportSiteInformation\":{\"docsetId\":\"lestmtsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n1kh25to5o0wmvn1o4n4hsl3yyww.htm\"}},{\"name\":\"ENDSAS\",\"description\":\"Stops SAS program execution as soon as the statement is encountered in a SAS program.\",\"help\":\"ENDSAS ;\",\"supportSiteInformation\":{\"docsetId\":\"lestmtsglobal\",\"docsetVersion\":\"v_002\",\"docsetTargetFile\":\"p1aok1r21bw4oqn17duao6d81m2l.htm\"}},{\"name\":\"FILENAME\",\"description\":\"Associates a SAS fileref with an external file or an output device, disassociates a fileref and external file, or lists attributes of external files\",\"help\":\"FILENAME  fileref<device-type> 'external-file'<ENCODING='encoding-value'>\\n<options>;\\nFILENAME  fileref<device-type><options>;  \\nFILENAME  fileref'pathname-1'  ... 'pathname-n' | directory-name<ENCODING='encoding-value'>\\n<options>;\\nFILENAME fileref<access-method>'external-file'access-information;\\nFILENAME  filerefCLEAR | _ALL_ CLEAR;\\nFILENAME  filerefLIST | _ALL_ LIST  ; \",\"arguments\":[{\"name\":\"fileref\",\"optional\":true,\"placeholder\":true,\"description\":\"is any SAS name that you use when you assign a new fileref. When you disassociate a currently assigned fileref or when you list file attributes with the FILENAME statement, specify a fileref that was previously assigned with a FILENAME statement.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1dfsf0ys0sex7n1jcuwccii712y\"},{\"name\":\"ABS\",\"description\":\"specifies an access method that enables you to access data in Microsoft Azure Blob Storage.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1pd018eiswn3yn10pvkw43skz3j\"},{\"name\":\"ADLS\",\"description\":\"specifies an access method that enables you to access data in Microsoft Azure Data Lake Storage.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p09wkwmbkg0b4kn13zcyhis5igab\"},{\"name\":\"CATALOG\",\"description\":\"specifies an access method that enables you to reference a SAS catalog as an external file.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0r1dmw0y63unen1jntqv0vu65v8\"},{\"name\":\"CLIPBRD\",\"description\":\"specifies an access method that enables you to read text data from and write text data to the clipboard on the host computer.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0rbyijac0fribn1ko2a10glja4r\"},{\"name\":\"DATAURL\",\"description\":\"specifies an access method that enables you to read data from user-specified text.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1ehhcsnnr0t4ln1viloyto624jk\"},{\"name\":\"DISK\",\"description\":\"specifies that the device is a disk drive.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0bo3pjlnnhgqcn14dv3evdhv58c\"},{\"name\":\"DUMMY\",\"description\":\"specifies that the output to the file is discarded.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1x4p74ulshb1cn1sjecjb2675xd\"},{\"name\":\"EMAIL\",\"description\":\"specifies an access method that enables you to send electronic mail programmatically from SAS by using the SMTP (Simple Mail Transfer Protocol) email interface.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1ifsu5sclgnbln17evmghj7t5ru\"},{\"name\":\"FILESRVC\",\"description\":\"specifies an access method that enables you to store and retrieve user content using the SAS Viya Files service.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n17v82sx6dc4azn18lpbyozt0po1\"},{\"name\":\"FTP\",\"description\":\"specifies an access method that enables you to access remote files by using the FTP protocol.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0llotrzyfeuqxn1sapv47dha3ob\"},{\"name\":\"GCS\",\"description\":\"specifies an access method that enables you to access data in Google Cloud Storage.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1l1svmeo50jp5n102jqghxs38su\"},{\"name\":\"GTERM\",\"description\":\"indicates that the output device type is a graphics device that receives graphics data.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0trbcbs5m5w16n11xhrkbuu5021\"},{\"name\":\"HADOOP\",\"description\":\"specifies an access method that enables you to access files on a Hadoop Distributed File System (HDFS) whose location is specified in a configuration file.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1jfgvoiginx8yn14qumw882awhi\"},{\"name\":\"PIPE\",\"description\":\"specifies an unnamed pipe.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0y7wvu04jsfgsn1xyz8huv6ja1p\"},{\"name\":\"PLOTTER\",\"description\":\"specifies an unbuffered graphics output device.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1qr7127bmzqyhn17ult2i5wsom3\"},{\"name\":\"PRINTER\",\"description\":\"specifies a printer or printer spool file.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0wovzayhmry9xn0zyw6sjcl13mi\"},{\"name\":\"S3\",\"description\":\"specifies an access method that enables you to access Amazon S3 files.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0tsp1uw3c59o2n18e7x1gv3u45a\"},{\"name\":\"SOCKET\",\"description\":\"specifies an access method that enables you to read from or write to a TCP/IP socket.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p05kngtryao8qln1rckex1zt2bui\"},{\"name\":\"TAPE\",\"description\":\"specifies a tape drive.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n05q1qvxii8jqxn12yt6lbyf2vi3\"},{\"name\":\"TEMP\",\"description\":\"creates a temporary file that exists only as long as the filename is assigned. The temporary file can be accessed only through the logical name and is available only while the logical name exists.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p15vkwbrhuo0rcn18e1tfkadrypt\"},{\"name\":\"TERMINAL\",\"description\":\"specifies the user's terminal.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n19ey2qvsd5vt8n1fr2om7wvc1tg\"},{\"name\":\"UPRINTER\",\"description\":\"specifies a Universal Printing printer definition name.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1a7e58yu45gein1b1pw7p59skel\"},{\"name\":\"URL\",\"description\":\"specifies an access method that enables you to access remote files by using the URL access method.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0w28sqiwisg5ln1o356eupdfmif\"},{\"name\":\"WEBDAV\",\"description\":\"specifies an access method that enables you to access remote files by using the WebDAV protocol.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0zc480ksenhrxn1nl03losw2fdh\"},{\"name\":\"ZIP\",\"description\":\"specifies an access method that enables you to access ZIP files.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n10hjjucbu0r37n1qfg9pcta56d0\"},{\"name\":\"'external-file'\",\"optional\":true,\"placeholder\":true,\"description\":\"is the physical name of an external file. The physical name is the name that is recognized by the operating environment. Linux filenames are case sensitive.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0se67xfc8yv81n1g71m586dif9h\"},{\"name\":\"'pathname-1'\",\"optional\":true,\"placeholder\":true,\"description\":\"are pathnames for the files that you want to access with the same fileref. Use this form of the FILENAME statement when you want to concatenate filenames. Concatenation of filenames is available only for DISK files, so you do not have to specify the device-type. Separate the pathnames with either commas or blank spaces. Enclose each pathname in quotation marks. Remember that Linux filenames are case-sensitive.\",\"help\":\"'*pathname-1*'  ... '*pathname-n*' \",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0wy3c9nfs0hotn156io62g0mrno\"},{\"name\":\"directory-name\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the directory that contains the files that you want to access.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0rhr3khkul1ugn1weq0hkmld85h\"},{\"name\":\"access-method\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the access method or device type that is used if the fileref points to an input or output device or location that is not a physical file. describes the information that is expected by the access method.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1g16s843b52hgn14zjj53xsaz2u\"},{\"name\":\"access-information\",\"optional\":true,\"placeholder\":true,\"description\":\"differs according to the access method. shows the information appropriate to each access method.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0ke5kdyb23mi1n1emdu56i92wjj\"},{\"name\":\"ENCODING=\",\"optional\":true,\"description\":\"specifies the encoding to use when SAS is reading from or writing to an external file. The value for ENCODING= indicates that the external file has a different encoding from the current session encoding.\",\"help\":\"ENCODING= '*encoding-value*'\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n094h314v2s8hvn1cohy8heflbt9\"},{\"name\":\"CLEAR\",\"optional\":true,\"description\":\"disassociates one or more currently assigned filerefs.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0d7v3h589znhbn1xhja1wj9khom\"},{\"name\":\"_ALL_\",\"optional\":true,\"description\":\"specifies that the CLEAR or LIST argument applies to all currently assigned filerefs.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0fmskmihfskz0n1axrd3d3974lh\"},{\"name\":\"LIST\",\"optional\":true,\"description\":\"writes the attributes of one or more files to the SAS log.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0h43lfy7wo6udn1elbphq57wpvc\"},{\"name\":\"BLKSIZE=\",\"optional\":true,\"aliases\":[\"BLK=\"],\"description\":\"specifies the number of bytes that are physically written or read in one I/O operation. The default is 64K. The maximum is 1G-1.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0d06cvkts962in1veiytmm4zsz9\"},{\"name\":\"LOCKINTERNAL=\",\"optional\":true,\"description\":\"specifies the SAS system locking that is to be used for the files that are listed in a FILENAME statement. For more information, see .\",\"help\":\"LOCKINTERNAL=AUTO | SHARED\",\"type\":\"choice\",\"arguments\":[{\"name\":\"AUTO\",\"description\":\"locks a file so that in a SAS session, if a user has Write access to a file, then no other users can have Read or Write access to the file. If a user has Read access to a file, no other user can have Write access to the file, but multiple users can have Read access.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1rkmtxswmw8iln0zhe68qj831ss\"},{\"name\":\"SHARED\",\"description\":\"locks a file so that in a SAS session, two users do not have simultaneous Write access to the file. The file can be shared simultaneously by one user who has Write access and multiple users who have Read access.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1h1v9gaq42333n1qp4nuh5sb4d6\"}],\"supportSiteTargetFragment\":\"n0qs2jm1w3doqxn0z5uh15zybrpm\"},{\"name\":\"LRECL=\",\"optional\":true,\"description\":\"specifies the logical record length. Its value depends on the record format in effect (RECFM).\",\"help\":\" LRECL=\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1g1mg5utqzgfqn1thed95j9zl02\"},{\"name\":\"MOD\",\"optional\":true,\"description\":\"indicates that data written to the file should be appended to the file.\",\"help\":\" MOD\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0y212yp9l9d11n1mk1qfxjzlgd3\"},{\"name\":\"NEW | OLD\",\"optional\":true,\"description\":\"specifies whether a new or existing file is used for output.\",\"help\":\"NEW | OLD\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NEW\",\"description\":\"specifies that a new file is opened for output. If the file already exists, it is deleted and re-created.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0v5fcn0z0e8fjn1purx98miad33\"},{\"name\":\"OLD\",\"description\":\"specifies that the previous contents of the file are replaced.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1xm3zfkm40ybmn1mof7xstk8yze\"}],\"supportSiteTargetFragment\":\"n016556mpxxto6n120bsfvpx2b22\"},{\"name\":\"PERMISSION=\",\"optional\":true,\"description\":\"specifies permissions to set for the specified fileref. To specify more than one set of permission values, separate them with a comma within quotation marks.\",\"help\":\"PERMISSION='*permission-value*'\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1ll0rzvlai33in170ogbn7cnw6r\"},{\"name\":\"RECFM=\",\"optional\":true,\"description\":\"specifies the record format of the external file.\",\"help\":\"RECFM=*record-format*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1vjdpd4r6jvqvn1ib5wye9g6qo5\"},{\"name\":\"TERMSTR=\",\"optional\":true,\"description\":\"controls the end-of-line delimiter in files that are formatted by Linux. By default, either a line feed alone or a carriage return and a line feed indicate the end of a line. To explicitly define the end-of-line delimiter, specify one of the following values:\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1tqjgyt7ux7crn1fn0hyvo8z6h8\"},{\"name\":\"UNBUF\",\"optional\":true,\"description\":\"tells SAS not to perform buffered Writes to the file on any subsequent FILE statement. This option applies especially when you are reading from or writing to a data collection device. It also prevents buffered Reads on INFILE statements.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0p5s5k7hc6ugkn14mgksa7jdvsk\"},{\"name\":\"ACCOUNTNAME=\",\"optional\":true,\"description\":\"specifies the name of the Azure storage account.\",\"help\":\"ACCOUNTNAME=“*account-name*”\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1nt4z82t2li67n18ibmq1ngcu2a\"},{\"name\":\"APPLICATIONID=\",\"optional\":true,\"description\":\"specifies the Azure application ID that is created in the Microsoft Entra ID.\",\"help\":\"APPLICATIONID=“*application-ID*”\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0snk7570yez35n1k0yccwd28lxd\"},{\"name\":\"FILESYSTEM=\",\"optional\":true,\"description\":\"specifies the name of the Azure file system.\",\"help\":\"FILESYSTEM=“*file-system*”\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1o2wgx43vislin17fchn5jj6e4f\"},{\"name\":\"“object-path”\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the Azure object that you want to access.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0u5fjir3eofb5n1gja6on2a9viq\"},{\"name\":\"CONTAINER=\",\"description\":\"specifies the container name of the Azure blob file system.\",\"help\":\"CONTAINER=”*container-name*”\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0v43zc42s1mgpn10zqeb37db0t6\"},{\"name\":\"“blob-file-name”\",\"placeholder\":true,\"description\":\"specifies the path and file name of the blob file that you want to create, access, or update.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1rje8ou8fjg23n1jx6ul3mixwye\"},{\"name\":\"“folder-name”\",\"placeholder\":true,\"description\":\"lists all blob files in a specified virtual directory within a container, including files in subdirectories and their subdirectory names.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1rhynzvs0j573n10plxevzu0oms\"},{\"name\":\"“/”\",\"description\":\"lists all blob files in a specified container, including files in subdirectories and their subdirectory names.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1gf3kxe11tzirn1li1yl7n7tzn0\"},{\"name\":\"APPEND\",\"optional\":true,\"aliases\":[\"MOD\"],\"description\":\"specifies appending content to an Azure append blob file type.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1k31jnsiegnhmn12k07isz7et59\"},{\"name\":\"DIR\",\"optional\":true,\"description\":\"specifies what content to list in a container when the virtual directory name and the blob name are identical. Specifies to list only members in the matching virtual directory. If neither the DIR option nor the FILE option is specified, then both the matching blob and members in the matching directory are returned by the listing.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1cnu5j1tvoehsn1rcr2bgefljms\"},{\"name\":\"FILE\",\"optional\":true,\"description\":\"specifies what content to list in a container when the virtual directory name and the blob name are identical. Specifies to list only the matching blob and not the matching directory name. If neither the FILE option nor the DIR option is specified, then both the matching blob and members in the matching directory are returned by the listing.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0q5bbodillbran10ghmg4tdljte\"},{\"name\":\"'catalog'\",\"optional\":true,\"placeholder\":true,\"description\":\"is a valid two-, three-, or four-part SAS catalog name, where the parts represent library.catalog.entry.entrytype.\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"p1kyspiz7qf3non1xm63pqhkpetc\"},{\"name\":\"DESC=\",\"optional\":true,\"description\":\"where description is a text description of the catalog.\",\"help\":\"DESC=*description*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1ol1xutbt1j58n1sth07qo0ztdk\"},{\"name\":\"BUFFER=\",\"optional\":true,\"description\":\"creates and names the paste buffer. You can create any number of paste buffers by naming them with the BUFFER= argument in the STORE command.\",\"help\":\"BUFFER=*paste-buffer-name*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1v9bwpvl7y0hfn1m8jdxkdf69xw\"},{\"name\":\"'data-url-specification'\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the data.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0h7wls5s9kt9yn1vlmir1qc3n00\"},{\"name\":\"'address'\",\"optional\":true,\"placeholder\":true,\"description\":\"is the email address to which you want to send the message. You must enclose the address in single or double quotation marks. To specify more than one address, you must enclose the group of addresses in parentheses, enclose each address in single or double quotation marks, and separate each address with either a comma or a space. To specify a real name along with an address, enclose the address in angle brackets (< >). Specifying an address as a FILENAME statement argument is optional if you specify the TO= email option or the PUT statement !EM_TO! directive, which overrides an address specification.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1n67yhcn3ifbin103n3rjv73btp\"},{\"name\":\"ATTACH=\",\"optional\":true,\"description\":\"specifies the physical name of the file or files to be attached to the message and any options to modify attachment specifications. The physical name is the name that is recognized by the operating environment. Enclose the physical name in quotation marks. To attach more than one file, enclose the group of files in parentheses, enclose each file in quotation marks, and separate each with a space. Here are examples:\",\"help\":\"ATTACH='*filename.ext*' | ATTACH= ('*filename.ext*' *attachment-options*)\",\"type\":\"value\",\"arguments\":[{\"name\":\"CONTENT_TYPE=\",\"aliases\":[\"CT= and TYPE=\"],\"description\":\"specifies the content type for the attached file. You must enclose the value in quotation marks. If you do not specify a content type, SAS tries to determine the correct content type based on the filename. For example, if you do not specify a content type, a filename of home.html is sent with a content type of text/html.\",\"help\":\"CONTENT_TYPE='*content*/*type*'\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1xbcbkkbxt16ln1qjlwfwe9jfbz\"},{\"name\":\"ENCODING=\",\"description\":\"specifies the text encoding of the attachment that is read into SAS. You must enclose the value in quotation marks.\",\"help\":\"ENCODING='*encoding-value*'\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0w1obujo2g08jn1oejw6ijdv2z3\"},{\"name\":\"EXTENSION=\",\"aliases\":[\"EXT=\"],\"description\":\"specifies a different file extension to be used for the specified attachment. You must enclose the value in quotation marks. This extension is used by the recipient's email program for selecting the appropriate utility to use for displaying the attachment. This example results in the attachment home.html being received as index.htm.\",\"help\":\"EXTENSION='*extension*'\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1vvx9m6v4xrq7n0zezi0ezk0myw\"},{\"name\":\"INLINED=\",\"description\":\"specifies a reference name that can be used to embed attachments in an email by using HTML. To embed an attachment, set content_type=\\\"text/html\\\"; and reference the attachment from the email text with SRC=\\\"cid:reference-name\\\". The reference-name is specified with the INLINE= option.\",\"help\":\"INLINED=\\\"*reference-name*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0xkkpzr1lsoicn1g8nhvgbkfgrt\"},{\"name\":\"LRECL=\",\"description\":\"where lrecl is the logical record length of the data.\",\"help\":\"LRECL=*lrecl*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0u9zyx43pan7wn1acn7yclqmbt1\"},{\"name\":\"NAME=\",\"description\":\"specifies a different name to be used for the specified attachment. You must enclose the value in quotation marks. This example results in the attachment home.html being received as index.html.\",\"help\":\"NAME='*filename*'\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0b0cn9z6juybin10586t30uevii\"},{\"name\":\"OUTENCODING=\",\"description\":\"specifies the resulting text encoding for the attachment to be sent. You must enclose the value in quotation marks.\",\"help\":\"OUTENCODING='*encoding-value*'\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0ybcg8idiztb2n1nwj3gz4d9wad\"}],\"supportSiteTargetFragment\":\"p14e47tr4h1izan1d5spchnth0wa\"},{\"name\":\"BCC=\",\"optional\":true,\"description\":\"specifies the recipient or recipients that you want to receive a blind carbon copy of the email. Individuals that are listed in the bcc field receive a copy of the email. The BCC field does not appear in the email header, so that these email addresses cannot be viewed by other recipients.\",\"help\":\"BCC='*bcc-address*'\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p12bl94r1je0iun1fz8g02qfrdj6\"},{\"name\":\"CC=\",\"optional\":true,\"description\":\"specifies the recipient or recipients to receive a carbon copy of the email message. You must enclose the address in single or double quotation marks. To specify more than one address, enclose the group of addresses in parentheses, enclose each address in single or double quotation marks, and separate each address with either a comma or a space. To specify a real name as well as an address, enclose the address in angle brackets (< >). Here are examples:\",\"help\":\"CC='*cc-address*'\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0rea4dehv2hi8n1d117d0d28xwb\"},{\"name\":\"CONTENT_TYPE=\",\"optional\":true,\"aliases\":[\"CT= and TYPE=\"],\"description\":\"specifies the content type for the message body. If you do not specify a content type, SAS tries to determine the correct content type. You must enclose the value in quotation marks.\",\"help\":\"CONTENT_TYPE='*content*/*type*'\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1crskxc1wzusvn14nk8rtto9pmr\"},{\"name\":\"DELIVERYRECEIPT\",\"optional\":true,\"description\":\"specifies that a notification be sent when the email message is delivered to the recipient.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n07atsu2if05yun1acyc7ptwh4mv\"},{\"name\":\"ENCODING=\",\"optional\":true,\"description\":\"specifies the text encoding to use for the message body. For valid encoding values, see .\",\"help\":\"ENCODING='*encoding-value*'\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p05burx8x3yfm1n1om4tujuyywsx\"},{\"name\":\"EXPIRES=\",\"optional\":true,\"description\":\"specifies the expiration date for the email message.\",\"help\":\"EXPIRES='*dd mon yyyy hh:mm*'\",\"type\":\"value\",\"arguments\":[{\"name\":\"dd\",\"description\":\"is an integer from 01 to 31 that represents the day of the month.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1en6r3tcqosu7n1ap4tm8u3vlga\"},{\"name\":\"mon\",\"description\":\"are the first three letters of the month name in English.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n01ehwrntzxnc4n1bxmonhudbogt\"},{\"name\":\"yyyy\",\"description\":\"is a four-digit integer that represents the year.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1087i3lhzshsln1de06vqzfeb5v\"},{\"name\":\"hh\",\"description\":\"is the number of hours that range from 00 through 23.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0ptdsgna78i0yn119qr7npb4sas\"},{\"name\":\"mm\",\"description\":\"is the number of minutes that range from 00 through 59.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0hsttnrx02zvrn19fq6870r90jf\"}],\"supportSiteTargetFragment\":\"n02z2q9ejy9wp9n11lxl82ml7ts9\"},{\"name\":\"FROM=\",\"optional\":true,\"description\":\"specifies the email address of the author of the message that is being sent. Specify this option when the person who is sending the message is not the author. You must enclose an address in quotation marks. You can specify only one email address. To specify the author's real name along with the address, enclose the address in angle brackets (< >). Here are examples:\",\"help\":\"FROM='*from-address*'\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0afqz8040eb1mn1hqw25atbdpfq\"},{\"name\":\"IMPORTANCE=\",\"optional\":true,\"description\":\"specifies the priority of the email message. You must enclose the value in quotation marks. You can specify the priority in the language that matches your session encoding. However, SAS translates the priority into English because the actual message header must contain English in accordance with the RFC-2076 specification (Common Internet Message Headers). Here are examples:\",\"help\":\"IMPORTANCE='LOW | NORMAL | HIGH'\",\"type\":\"choice\",\"arguments\":[{\"name\":\"LOW\",\"type\":\"standalone\"},{\"name\":\"NORMAL\",\"type\":\"standalone\"},{\"name\":\"HIGH\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"n04nznzi5drbrin1uah53nth1125\"},{\"name\":\"LRECL=\",\"optional\":true,\"description\":\"where lrecl is the logical record length of the data.\",\"help\":\"LRECL=*lrecl*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1sfg0ovct4tden1mporopymyz3h\"},{\"name\":\"READRECEIPT\",\"optional\":true,\"description\":\"specifies that a notification be sent when the email message is read by the recipient.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0yuvtrskhavgkn1gbies1ur5220\"},{\"name\":\"REPLYTO=\",\"optional\":true,\"description\":\"specifies the email address or addresses of who receives replies. You must enclose the address in single or double quotation marks. To specify more than one address, enclose the group of addresses in parentheses, enclose each address in single or double quotation marks, and separate each address with either a comma or a space. To specify a real name along with an address, enclose the address in angle brackets (< >). Here are examples:\",\"help\":\"REPLYTO='*replyto-address*'\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p15sdt95h05cy8n13w6i9lvbv0gn\"},{\"name\":\"SENDER=\",\"optional\":true,\"description\":\"specifies the return email address for the message that is being sent. If a message cannot be delivered, a notification is sent to the sender email address. To specify the author's real name along with the address, enclose the address in angle brackets (< >). Here are examples:\",\"help\":\"SENDER='*sender-address*'\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p10qrt9sj6y7twn1swysbc818ynm\"},{\"name\":\"SENSITIVITY=\",\"optional\":true,\"description\":\"specifies the sensitivity of the email message. You must enclose the value in single quotation marks. Here is an example that results in a confidential header being added to the email message:\",\"help\":\"SENSITIVITY='NORMAL | 'PRIVATE | 'PERSONAL | 'CONFIDENTIAL | ''COMPANY'\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NORMAL\",\"type\":\"standalone\"},{\"name\":\"PRIVATE\",\"type\":\"standalone\"},{\"name\":\"PERSONAL\",\"type\":\"standalone\"},{\"name\":\"CONFIDENTIAL\",\"type\":\"standalone\"},{\"name\":\"COMPANY\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"n1exbkdvdsvqyrn1l1evtkkp7nve\"},{\"name\":\"SUBJECT=\",\"optional\":true,\"description\":\"specifies the subject of the message. If the subject contains special characters or more than one word (that is, it contains at least one blank space), you must enclose the text in quotation marks. Here are examples:\",\"help\":\"SUBJECT=*subject*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p04u3ewh7yeitnn1g8yv0bgcpwr3\"},{\"name\":\"TO=\",\"optional\":true,\"description\":\"specifies the primary recipient or recipients of the email message. You must enclose the address in single or double quotation marks. To specify more than one address, enclose the group of addresses in parentheses, enclose each address in single or double quotation marks, and separate each address with either a comma or a space. To specify a real name as well as an address, enclose the address in angle brackets (< >). Here are examples:\",\"help\":\"TO='*to-address*'\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1ah95dsw6sq81n0zmtjgloxrxrt\"},{\"name\":\"'!EM_ABORT!'\",\"optional\":true,\"description\":\"abnormally end the current message. You can use this directive to stop SAS from automatically sending the message at the end of the DATA step. By default, SAS sends a message for each FILE statement.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0w9fxk797juikn1pgfgg9ge1rzg\"},{\"name\":\"'!EM_ATTACH!\",\"optional\":true,\"description\":\"replaces the physical name of the file or files to be attached to the message and any options to modify attachment specifications. The physical name is the name that is recognized by the operating environment. The directive must be enclosed in quotation marks and contain a maximum of 256 characters.\",\"help\":\"'!EM_ATTACH! *filename.ext*' <br/> '!EM_ATTACH! (*\\\"filename.ext\\\" attachment-options)'*\",\"type\":\"value\",\"arguments\":[{\"name\":\"CONTENT_TYPE=\",\"aliases\":[\"CT= and TYPE=\"],\"description\":\"specifies the content type for the attached file. You must enclose the value in quotation marks. If you do not specify a content type, SAS tries to determine the correct content type based on the filename. For example, if you do not specify a content type, a filename of home.html is sent with a content type of text/html. Here is an example:\",\"help\":\"CONTENT_TYPE='*content*/*type*'\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1ddlykz22j1bzn14yziwb8mhlfa\"},{\"name\":\"ENCODING=\",\"description\":\"specifies the text encoding to use for the attachment as it is read into SAS. You must enclose the value in quotation marks. For valid encoding values, see .\",\"help\":\"ENCODING='*encoding-value*'\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1vg2ajpq8621pn17x2im97r748r\"},{\"name\":\"EXTENSION=\",\"aliases\":[\"EXT=\"],\"description\":\"specifies a different file extension to be used for the specified attachment. You must enclose the value in quotation marks. This extension is used by the recipient's email program for selecting the appropriate utility to use for displaying the attachment. This example results in the attachment home.html being received as index.htm.\",\"help\":\"EXTENSION='*extension*'\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1qcyz2mo4yfksn1lmwcdvxmx17r\"},{\"name\":\"NAME=\",\"description\":\"specifies a different name to be used for the specified attachment. You must enclose the value in quotation marks. This example results in the attachment home.html being received as index.html.\",\"help\":\"NAME='*filename*'\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0qsp2vks3n55mn1iviot1ytpfrn\"},{\"name\":\"LRECL=\",\"description\":\"where lrecl is the logical record length of the data.\",\"help\":\"LRECL=*lrecl*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1tijs0vzbhha8n1713amfk8czcv\"},{\"name\":\"OUTENCODING=\",\"description\":\"specifies the resulting text encoding for the attachment to be sent. You must enclose the value in quotation marks.\",\"help\":\"OUTENCODING='*encoding-value*'\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0ejufjqa17fqgn17my8h2uf7rv9\"}],\"supportSiteTargetFragment\":\"n18gi8fy3o5eurn18ltqua4q2e38\"},{\"name\":\"'!EM_BCC!\",\"optional\":true,\"description\":\"specifies the recipient or recipients that you want to receive a blind carbon copy of the email. Individuals that are listed in the bcc field receive a copy of the email. The BCC field does not appear in the email header, so that these email addresses cannot be viewed by other recipients.\",\"help\":\"'!EM_BCC! *bcc-address*'\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1mxm9ldw2cgzhn10qh9shp9jx5n\"},{\"name\":\"'!EM_CC!\",\"optional\":true,\"description\":\"specifies the recipient or recipients to receive a carbon copy of the email message. You must enclose the address in single or double quotation marks. To specify more than one address, enclose the group of addresses in parentheses, enclose each address in single or double quotation marks, and separate each address with either a comma or a space. To specify a real name as well as an address, enclose the address in angle brackets (< >). Here are examples:\",\"help\":\"'!EM_CC! *cc-address*'\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1phu9erjq9v9pn15niy5izdcten\"},{\"name\":\"'!EM_CONTENTTYPE!\",\"optional\":true,\"aliases\":[\"!EM_CT! and !EM_TYPE!\"],\"description\":\"replaces the current content type of the message body with content-type. The default value is content-type.\",\"help\":\"'!EM_CONTENTTYPE! *content*/*type*'\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1ro5pcciic8a6n1ea13ff5dtru0\"},{\"name\":\"'!EM_DELIVERYRECEIPT!'\",\"optional\":true,\"description\":\"specifies that a notification be sent when the email message is delivered to the recipient.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1lbfjq5mlv4l1n1fsy8v5vccp6f\"},{\"name\":\"'!EM_EXPIRES!\",\"optional\":true,\"description\":\"replaces the current expiration date for the email message. Here are examples:\",\"help\":\"'!EM_EXPIRES! *dd mon yyyy hh:mm*'\",\"type\":\"value\",\"arguments\":[{\"name\":\"dd\",\"description\":\"is an integer from 01 to 31 that represents the day of the month.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p19kgebfy7r8oyn1ffsuyg4qqs44\"},{\"name\":\"mon\",\"description\":\"are the first three letters of the month name in English.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0sn7ln08g59win1h2s4q5s44b8g\"},{\"name\":\"yyyy\",\"description\":\"is a four-digit integer that represents the year.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0f90668iiw321n1nvdyng9mj2qp\"},{\"name\":\"hh\",\"description\":\"is the number of hours that range from 00 through 23.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0umvqvupc25q7n1dkqw1caeh4dt\"},{\"name\":\"mm\",\"description\":\"is the number of minutes that range from 00 through 59.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n18sh4ttvvtxb6n0zkdnx73g4w1j\"}],\"supportSiteTargetFragment\":\"p1iak3wn5v082ln1punraciw82bl\"},{\"name\":\"'!EM_FROM!\",\"optional\":true,\"description\":\"replaces the current address of the author of the message being sent, which could be either the default or the address that is specified by the FROM= email option. The directive must be enclosed in quotation marks. You can specify only one email address. To specify the author's real name along with the address, enclose the address in angle brackets (< >). Here are examples:\",\"help\":\"'!EM_FROM! *from-address*'\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0v87btr9m4h4fn1og9hbtrbrfm8\"},{\"name\":\"'!EM_IMPORTANCE!\",\"optional\":true,\"description\":\"specifies the priority of the email message. The directive must be enclosed in quotation marks. You can specify the priority in the language that matches your session encoding. However, SAS translates the priority into English because the actual message header must contain English in accordance with the RFC-2076 specification (Common Internet Message Headers). Here are examples:\",\"help\":\"'!EM_IMPORTANCE! LOW\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0tbzpki3fax5wn19m9g4955s031\"},{\"name\":\"NORMAL\",\"optional\":true,\"description\":\"specifies the priority of the email message. The directive must be enclosed in quotation marks. You can specify the priority in the language that matches your session encoding. However, SAS translates the priority into English because the actual message header must contain English in accordance with the RFC-2076 specification (Common Internet Message Headers). Here are examples:\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0tbzpki3fax5wn19m9g4955s031\"},{\"name\":\"HIGH'\",\"optional\":true,\"description\":\"specifies the priority of the email message. The directive must be enclosed in quotation marks. You can specify the priority in the language that matches your session encoding. However, SAS translates the priority into English because the actual message header must contain English in accordance with the RFC-2076 specification (Common Internet Message Headers). Here are examples:\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0tbzpki3fax5wn19m9g4955s031\"},{\"name\":\"'!EM_NEWMSG!'\",\"optional\":true,\"description\":\"clears all attributes of the current message that were set using PUT statement directives.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1iii3e3gqnvwmn1sozibfsn74et\"},{\"name\":\"'!EM_READRECEIPT!'\",\"optional\":true,\"description\":\"specifies that a notification be sent when the email message is read by the recipient.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0syjqhf68il7en1uztm9vndusdw\"},{\"name\":\"'!EM_REPLYTO!\",\"optional\":true,\"description\":\"specifies the email address or addresses of who receives replies. You must enclose the address in single or double quotation marks. To specify more than one address, enclose the group of addresses in parentheses, enclose each address in single or double quotation marks, and separate each address with either a comma or a space. To specify a real name along with an address, enclose the address in angle brackets (< >). Here are examples:\",\"help\":\"'!EM_REPLYTO! *replyto-address*'\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0mcti33lipakdn18lt1alr0cj0u\"},{\"name\":\"'!EM_SEND!'\",\"optional\":true,\"description\":\"sends the message with the current attributes. By default, SAS sends a message when the fileref is closed. The fileref closes when the next FILE statement is encountered or the DATA step ends. If you use this directive, SAS sends the message when it encounters the directive, and again at the end of the DATA step. This directive is useful for writing DATA step programs that conditionally send messages or use a loop to send multiple messages.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1tpqk2g1oz77rn1r43vol0yicer\"},{\"name\":\"'!EM_SENDER!\",\"optional\":true,\"description\":\"specifies the return email address for the message that is being sent. If a message cannot be delivered, a notification is sent to the sender email address. The default value for !EM_SENDER! is the email address of the user who is running SAS. To specify the author's real name along with the address, enclose the address in angle brackets (< >). Here are examples:\",\"help\":\"'!EM_SENDER! *sender-address*'\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0bknu1pwj1fcmn12yto4lt6j5ek\"},{\"name\":\"'!EM_SENSITIVITY!\",\"optional\":true,\"description\":\"marks the email message with the specified sensitivity. For example:\",\"help\":\"'!EM_SENSITIVITY! NORMAL\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1drkqwmf0ionon19sh9hmvt3bnm\"},{\"name\":\"PRIVATE\",\"optional\":true,\"description\":\"marks the email message with the specified sensitivity. For example:\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1drkqwmf0ionon19sh9hmvt3bnm\"},{\"name\":\"PERSONAL\",\"optional\":true,\"description\":\"marks the email message with the specified sensitivity. For example:\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1drkqwmf0ionon19sh9hmvt3bnm\"},{\"name\":\"CONFIDENTIAL\",\"optional\":true,\"description\":\"marks the email message with the specified sensitivity. For example:\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1drkqwmf0ionon19sh9hmvt3bnm\"},{\"name\":\"COMPANY-CONFIDENTIAL'\",\"optional\":true,\"description\":\"marks the email message with the specified sensitivity. For example:\",\"help\":\"COMPANY-CONFIDENTIAL' \",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1drkqwmf0ionon19sh9hmvt3bnm\"},{\"name\":\"'!EM_SUBJECT!\",\"optional\":true,\"description\":\"replaces the current subject of the message. The directive must be enclosed in quotation marks. If the subject contains special characters or more than one word (that is, it contains at least one blank space), you must enclose the text in quotation marks. Here are examples:\",\"help\":\"'!EM_SUBJECT! *subject*'\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1wcmb9m4dqlr4n1hsg4ts6geb2w\"},{\"name\":\"'!EM_TO!\",\"optional\":true,\"description\":\"specifies the primary recipient or recipients of the email message. You must enclose the address in single or double quotation marks. To specify more than one address, enclose the group of addresses in parentheses, enclose each address in single or double quotation marks, and separate each address with either a comma or a space. To specify a real name as well as an address, enclose the address in angle brackets (< >). Here are examples:\",\"help\":\"'!EM_TO! *to-address*'\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1xrgo8vhwytsqn1l8n8ot1vkbt3\"},{\"name\":\"file-uri\",\"optional\":true,\"placeholder\":true,\"description\":\"is a valid Uniform Resource Identifier (URI) of the content in the Files service. Here is an example. Note the file identifier contains a universally unique identifier (UUID) that is generated by the Files service when the content is created.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0wb1xl47lanefn1sryarn3glhyl\"},{\"name\":\"FOLDERPATH=\",\"optional\":true,\"description\":\"specifies a path to a SAS Viya platform folder for directory access.\",\"help\":\"FOLDERPATH='*path*'\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n06qigtg07e8uwn1vfzwxh306eqr\"},{\"name\":\"FOLDERURI=\",\"optional\":true,\"description\":\"specifies a path to a SAS Viya platform folder by URI.\",\"help\":\"FOLDERURI='*uri*'\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p19uzxp31nt2azn1nvq54u4yw8qo\"},{\"name\":\"PARENTURI=\",\"optional\":true,\"description\":\"specifies a SAS Viya platform object by Uniform Resource Identifier (URI).\",\"help\":\"PARENTURI='*uri*'\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1g1c9eu8sgzjwn1cevunhq1vcoe\"},{\"name\":\"CONTENTTYPE=\",\"optional\":true,\"aliases\":[\"CT, CTYPE\"],\"description\":\"specifies a default HTTP Content-Type header to be returned with the file when the file’s content is retrieved from the Files service.\",\"help\":\"CONTENTTYPE='*content-type*'\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p02vsuhw1wxynvn1onqsqtidnllt\"},{\"name\":\"CONTENTDISP=\",\"optional\":true,\"aliases\":[\"CD, CDISP\"],\"description\":\"specifies how to deliver the file.\",\"help\":\"CONTENTDISP='*string*'\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p12114v82nwmd4n1pmxgq84uddyi\"},{\"name\":\"DEBUG=\",\"optional\":true,\"description\":\"writes debugging information to the SAS log.\",\"help\":\"DEBUG=ERROR | HTTP\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ERROR\",\"description\":\"indicates to write debugging information when HTTP calls fail.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n00i49n0jso4n4n1rvz6c5jrzha2\"},{\"name\":\"HTTP\",\"description\":\"indicates to write debugging information for all HTTP calls.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0d0wa4171qup4n1l58f13gopm22\"}],\"supportSiteTargetFragment\":\"n104f96brpiy0en1kh1qsf9mv7n0\"},{\"name\":\"DESCRIPTION=\",\"optional\":true,\"aliases\":[\"DESC\"],\"description\":\"specifies a description for the file.\",\"help\":\"DESCRIPTION='*string*'\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0nu7cgvqdn5d8n0zujt42nkslj1\"},{\"name\":\"DOCUMENTTYPE=\",\"optional\":true,\"aliases\":[\"DT\"],\"description\":\"sets the document type attribute of the file.\",\"help\":\"DOCUMENTTYPE='*document-type*'\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p129m7lgz8alejn1b1fna8tr8mzq\"},{\"name\":\"FILENAME=\",\"optional\":true,\"aliases\":[\"NAME\"],\"description\":\"specifies the name of a file.\",\"help\":\"FILENAME='*name*'\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1nbz4xaq32hlwn1ofs7orybp749\"},{\"name\":\"SEARCHABLE=\",\"optional\":true,\"description\":\"specifies whether a file object that is created through the FILESRVC access method is indexed and searchable by the search service. Object files that are flagged as searchable can use resources and have a negative impact on performance. Creating a new object file with SEARCHABLE = FALSE can preserve resources and improve performance.\",\"help\":\"SEARCHABLE=TRUE | FALSE\",\"type\":\"choice\",\"supportSiteTargetFragment\":\"n0jmnir28u88s9n1bt4udrtgv70t\"},{\"name\":\"ftp-options\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies details that are specific to your operating environment such as file attributes and processing attributes.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p03zu0uw9e5wkxn1rz1zckqfa0hm\"},{\"name\":\"AUTHDOMAIN=\",\"optional\":true,\"description\":\"specifies the name of an authentication domain in order to connect to the FTP server. The authentication domain references credentials (user ID and password) without having to specify the credentials. The auth-domain name is case sensitive, and it must be enclosed in double quotation marks.\",\"help\":\"AUTHDOMAIN=\\\"*auth-domain*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p086h61jueksr7n1ommpaoelmbei\"},{\"name\":\"AUTHTLS\",\"optional\":true,\"description\":\"issues the FTP AUTH TLS command to the FTP server that requests TLS authentication. The Secure Command Channel Mode is entered by issuing the AUTH TLS command.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n17ikxyxvn9mm2n10t7oy61eyi87\"},{\"name\":\"BINARY\",\"optional\":true,\"aliases\":[\"RECFM=F\"],\"description\":\"is fixed-record format. Thus, all records are of size LRECL with no line delimiters. Data is transferred in image (binary) mode.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0tka7nfua9zaon19ht7bstucg40\"},{\"name\":\"BLOCKSIZE=\",\"optional\":true,\"description\":\"where blocksize is the size of the data buffer in bytes.\",\"help\":\"BLOCKSIZE=*blocksize*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p15wgv4w9dejzwn1k4wehfvq6mgw\"},{\"name\":\"CD=\",\"optional\":true,\"description\":\"issues a command that changes the working directory for the file transfer to the directory that you specify.\",\"help\":\"CD='*directory*'\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1cmy8vjzuxslpn1pzrslzn3ftmc\"},{\"name\":\"DEBUG\",\"optional\":true,\"description\":\"writes to the SAS log informational messages that are sent to and received from the FTP server.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1at13wslixyqmn16qncxcnt58ea\"},{\"name\":\"DIR\",\"optional\":true,\"description\":\"enables you to access directory files, PDS members, or PDSE members. Specify the directory name in the external-file argument. You must use valid directory syntax for the specified host.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0x1yu72ajg436n16k8c2yq5jmrt\"},{\"name\":\"FILEEXT\",\"optional\":true,\"description\":\"specifies that the member type of DATA is automatically appended to the member name in the FILE or INFILE statement when you use the DIR option.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1a3cb5phjrkgyn0zzmzsq2xgtbf\"},{\"name\":\"HOST=\",\"optional\":true,\"description\":\"where host is the network name of the remote host with the FTP server running.\",\"help\":\"HOST='*host*'\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1plgoi0t6npyqn14aqx680m23r9\"},{\"name\":\"HOSTRESPONSELEN=\",\"optional\":true,\"description\":\"where size is the length of the FTP server response message.\",\"help\":\"HOSTRESPONSELEN='*size*'\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n12aqnllrarj25n1jbtfa042y2br\"},{\"name\":\"LOWCASE_MEMNAME\",\"optional\":true,\"description\":\"enables autocall macro retrieval of lowercase directory or member names from FTP servers.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1alw5o1wmvcdrn1id3n9324bu48\"},{\"name\":\"LS\",\"optional\":true,\"description\":\"issues the LS command to the FTP server. LS returns the contents of the working directory as records with no file attributes.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p04r5znqhmik0in1wscnyk5uxw5u\"},{\"name\":\"LSFILE=\",\"optional\":true,\"description\":\"in combination with the LS option, specifies a character string that enables you to request a listing of a subset of files from the working directory. Enclose the character string in quotation marks.\",\"help\":\"LSFILE='*character-string*'\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1ejr7ccpkmeuzn1gd1nimronekz\"},{\"name\":\"MGET\",\"optional\":true,\"description\":\"transfers multiple files, similar to the FTP command MGET.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0hl3dlxomvxsrn1ndhm04fgqt0c\"},{\"name\":\"MPROMPT\",\"optional\":true,\"description\":\"specifies whether to prompt for confirmation that a file is to be read, if necessary, when the user executes the MGET option.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1kzfwnbp8f79jn10gnyslt1wegc\"},{\"name\":\"PASS=\",\"optional\":true,\"description\":\"where password is the password to use with the user name specified in the USER= option.\",\"help\":\"PASS='*password*'\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p01l41wb5rofk3n1626cozxp949i\"},{\"name\":\"PASSIVE\",\"optional\":true,\"description\":\"specifies that an attempt is made for passive mode FTP.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p17uzq45eqrkcqn1smneptn0hbx0\"},{\"name\":\"PBSZ=\",\"optional\":true,\"description\":\"specifies the FTP data channel Protection Buffer Size.\",\"help\":\"PBSZ=*protection-buffer-size*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0ds5iqnwxerarn1a3nt8ku42niv\"},{\"name\":\"PORT=\",\"optional\":true,\"description\":\"where portno is the port that the FTP daemon monitors on the respective host.\",\"help\":\"PORT=*portno*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1qqhbka78q2b6n17orbofynuoi7\"},{\"name\":\"PROMPT\",\"optional\":true,\"description\":\"specifies to prompt for the user login password, if necessary.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1wekt5vkjdr71n13pq5814kcgx3\"},{\"name\":\"PROT=\",\"optional\":true,\"description\":\"issues the FTP Data Channel protection level command. protection-level can be one of these values:\",\"help\":\"PROT=*protection-level*\",\"type\":\"value\",\"arguments\":[{\"name\":\"C\",\"description\":\"provides only FTP Control Channel security. The Data Channel is not protected.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n15n2q1wm79rltn1t6u614yy18ze\"},{\"name\":\"E\",\"description\":\"provides Confidentiality Protection.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0c2xkqsysnylpn1wsu0dybvsyw7\"},{\"name\":\"S\",\"description\":\"provides Integrity checking.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0yifgdrxzpj9zn18b5klyhsrmif\"},{\"name\":\"P\",\"description\":\"provides both Integrity checking and Confidentiality Protection.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n03vznyqbg21hvn12oxjr1zjadvu\"}],\"supportSiteTargetFragment\":\"n12g3zgek13e63n1nmfeolcp34u4\"},{\"name\":\"RCMD=\",\"optional\":true,\"description\":\"where command is the FTP 'SITE' or 'service' command to send to the FTP server.\",\"help\":\"RCMD= '*command* '\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0ernl7dx59o4en1jgsrv5gyn3na\"},{\"name\":\"RHELP\",\"optional\":true,\"description\":\"issues the HELP command to the FTP server. The results of this command are returned as records.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0gb79tetpbmtcn1per79yzhljth\"},{\"name\":\"RSTAT\",\"optional\":true,\"description\":\"issues the RSTAT command to the FTP server. The results of this command are returned as records.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p04ig52s4xui2hn1fg3n49k45spz\"},{\"name\":\"SAVEUSER\",\"optional\":true,\"description\":\"saves the user ID and password after the user ID and password prompt are successfully executed.\",\"help\":\" SAVEUSER\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1otohsutqvkdon1isf5cwu5b3dx\"},{\"name\":\"S370V\",\"optional\":true,\"description\":\"indicates that the file being read is in IBM 370 variable format.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p04huijphf55aan1o0bbjn17nhco\"},{\"name\":\"S370VS\",\"optional\":true,\"description\":\"indicates that the file that is being read is in IBM 370 variable-spanned format.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0k72s324acmgtn1rtmh98dwh4ks\"},{\"name\":\"WAIT_MILLISECONDS=\",\"optional\":true,\"description\":\"specifies the FTP response time in milliseconds.\",\"help\":\"WAIT_MILLISECONDS=*milliseconds*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n06g74ov5e13y9n1hf6gk6nysgfa\"},{\"name\":\"BUCKET=\",\"optional\":true,\"description\":\"specifies the bucket that you want to access in Google Cloud Storage (GCS). Buckets are containers in GCS that hold objects. Objects are individual pieces of data (for example, individual files). Buckets are similar to containers in Microsoft Azure Blob Storage.\",\"help\":\"BUCKET=“*bucket-name*”\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1cpsuyhp5aklnn1vte6ia1n5ds4\"},{\"name\":\"KEY=\",\"optional\":true,\"description\":\"specifies the path of the Google Cloud Storage Service Account JSON key file. The JSON key file contains the service account key. When you create a new service account key, a JSON file that contains the information required to access the service account is downloaded to your computer.\",\"help\":\"KEY=“*service-account-key-file-path*”\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n052t73fo41q9an10hhlming8dvj\"},{\"name\":\"AUTHDOMAIN=\",\"optional\":true,\"description\":\"Allows connection to a server by specifying the name of an authentication domain object.\",\"help\":\"AUTHDOMAIN=*authentication-domain*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0no712d03j15cn12a95f3532d2r\"},{\"name\":\"BUFFERLEN=\",\"optional\":true,\"description\":\"specifies the maximum buffer length of the data that is passed to Hadoop for its I/O operations.\",\"help\":\"BUFFERLEN=*bufferlen*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0foiepyr65zeln1xqbni7fajm0e\"},{\"name\":\"CONCAT\",\"optional\":true,\"description\":\"specifies that the HDFS directory name that is specified on the FILENAME HADOOP statement is considered a wildcard specification. The concatenation of all the files in the directory is treated as a single logical file and read as one file.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0enqrx7nz0d8rn17zw3l5fqnnx4\"},{\"name\":\"DEBUG\",\"optional\":true,\"description\":\"enables additional messages that are displayed on the SAS log.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1nkbdphgy9igpn11k16wq1unhn2\"},{\"name\":\"DIR\",\"optional\":true,\"description\":\"enables you to access files in an HDFS directory.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0b40ivgv0q7ipn1u2kpotcm08n1\"},{\"name\":\"FILEEXT\",\"optional\":true,\"description\":\"specifies that a file extension is automatically appended to the filename when you use the DIR option\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1mfdxh58d6tggn10jyl20yvcl71\"},{\"name\":\"LOWCASE_MEMNAME\",\"optional\":true,\"description\":\"enables autocall macro retrieval of lowercase directory or member names from HDFS systems.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0w5qjq0j6v98cn1w3c4oiywce2u\"},{\"name\":\"MAXWAIT=\",\"optional\":true,\"description\":\"specifies the HTTP status response time when using WebHDFS.\",\"help\":\"MAXWAIT=*wait-interval*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0y9i6j0a49v61n15iwxrjmp2h7v\"},{\"name\":\"PASS=\",\"optional\":true,\"description\":\"specifies the password to use with the user name that is specified in the USER option.\",\"help\":\"PASS='*password*'\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0xowphrydbruun1swutfz1j7gqw\"},{\"name\":\"PROMPT\",\"optional\":true,\"description\":\"specifies to prompt for the user login, the password, or both, if necessary.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0njpy9h6lb42nn195llcza2ifw6\"},{\"name\":\"WEBHDFSURL=\",\"optional\":true,\"description\":\"specifies the URL to access the Hadoop distributed file system (HDFS) through a REST API.\",\"help\":\"WEBHDFSURL=*web-HDFS-URL*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n049kki0lejl5fn1hl2iwvs6t6fb\"},{\"name\":\"ACL=\",\"optional\":true,\"description\":\"specifies the canned ACL value that applies to a new file in the specified object path.\",\"help\":\"ACL=\\\"*canned-ACL-value*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p00sdwl3a6m1bgn1q9eme5vy5ty6\"},{\"name\":\"'hostname:portno'\",\"optional\":true,\"placeholder\":true,\"description\":\"is the name or IP address of the host and the TCP/IP port number to connect to.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p19yxpmr2up6btn1nrktcltczohd\"},{\"name\":\"':portno'\",\"optional\":true,\"placeholder\":true,\"description\":\"is the port number to create for listening.\",\"help\":\"':*portno*' \",\"type\":\"value\",\"supportSiteTargetFragment\":\"p087349w3dgr3un1j5a9evb9m046\"},{\"name\":\"SERVER\",\"optional\":true,\"description\":\"sets the TCP/IP socket to be a listening socket, thereby enabling the system to act as a server that is waiting for a connection.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0yuowry11evtqn1b8jsw88fcug3\"},{\"name\":\"tcpip-options\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies details that are specific to your operating system such as the number of connections that the server accepts.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1m3ry41zk9dpln16prw4y6benwq\"},{\"name\":\"RECONN=\",\"optional\":true,\"description\":\"where conn-limit is the maximum number of connections that the server accepts.\",\"help\":\"RECONN=*conn-limit*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1cqwk1tolrl10n19orj6hclvjgq\"},{\"name\":\"ACCEPT=\",\"optional\":true,\"description\":\"specifies the Accept: header. The Accept: header can be used to specify certain media types, which are acceptable for the response.\",\"help\":\"ACCEPT='*header-type*'\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1qt1lxge6lhewn1tog82ci385mg\"},{\"name\":\"AUTHDOMAIN=\",\"optional\":true,\"description\":\"specifies the name of an authentication domain in order to connect to the proxy or web server. The authentication domain references credentials (user ID and password) without your having to explicitly specify the credentials. The auth-domain name is case sensitive, and it must be enclosed in double quotation marks.\",\"help\":\"AUTHDOMAIN=’*auth-domain*’\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0tn7es3ce7tzfn143o8s61ccfju\"},{\"name\":\"CONNECT\",\"optional\":true,\"description\":\"creates a connection between the client and the proxy and between the proxy and the server when accessing a URL through a proxy.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0ulgrj1gpbyhsn1n6sk83gzrxwt\"},{\"name\":\"DEBUG\",\"optional\":true,\"description\":\"writes debugging information to the SAS log.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0k02yztwnf37mn1k36v2z94gdt3\"},{\"name\":\"HEADERS=\",\"optional\":true,\"description\":\"specifies the fileref to which the header information is written when a file is opened by using the URL access method. The header information is the same information that is written to the SAS log.\",\"help\":\"HEADERS=*fileref*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0tkomrhtsxaryn1bhcjl8ef3ho2\"},{\"name\":\"PASS=\",\"optional\":true,\"description\":\"where password is the password to use with the user name that is specified in the USER option.\",\"help\":\"PASS='*password*' \",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0w5nkkgphb8djn1kc71imjgmr0b\"},{\"name\":\"PPASS=\",\"optional\":true,\"description\":\"where password is the password to use with the user name that is specified in the PUSER option. The PPASS option is used to access the proxy server.\",\"help\":\"PPASS='*password*' \",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0j57qp0wcb76xn1jmei1jppqamy\"},{\"name\":\"PROMPT\",\"optional\":true,\"description\":\"specifies to prompt for the user login password if necessary.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p17wn56mjx0puin1g9fyzzrcb2gw\"},{\"name\":\"PROXY=\",\"optional\":true,\"description\":\"specifies the Uniform Resource Locator (URL) for the proxy server in one of these forms:\",\"help\":\"PROXY=’*url*’\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0tgfwlxkc030dn1oujm5txdudz0\"},{\"name\":\"PUSER=\",\"optional\":true,\"description\":\"where username is used to log on to the URL proxy server.\",\"help\":\"PUSER='*username*' \",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0apkuynzxqx55n1l3ra32j90nev\"},{\"name\":\"AUTHDOMAIN=\",\"optional\":true,\"description\":\"specifies the name of an authentication domain metadata object in order to connect to the WebDAV server. The authentication domain references credentials (user ID and password) without your explicitly specifying the credentials.\",\"help\":\"AUTHDOMAIN=\\\"*auth-domain*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p00xhmfb7gtw00n1ebz2jkt0sbtj\"},{\"name\":\"DEBUG\",\"optional\":true,\"description\":\"writes debugging information to the SAS log.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1dy7xuqtnvn8wn1i2qhb74co9yg\"},{\"name\":\"DEL_ALL\",\"optional\":true,\"description\":\"enables you to delete a directory and all its members.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1isumytsgd7oqn0zb000sbijyco\"},{\"name\":\"DIR\",\"optional\":true,\"description\":\"enables you to access directory files. Specify the directory name in the external-file argument. You must use valid directory syntax for the specified host.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1szfpzbivo7l7n1xea0vvi8zrhb\"},{\"name\":\"FILEEXT\",\"optional\":true,\"description\":\"specifies that a file extension is automatically appended to the filename when you use the DIR option.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n09xim3up09whon10z0aw6r5n2rh\"},{\"name\":\"LOCALCACHE=\",\"optional\":true,\"description\":\"specifies a directory where a temporary subdirectory is created to hold local copies of the server files. Each fileref has its own unique subdirectory. If a directory is not specified, then the subdirectories are created in the SAS Work directory. SAS deletes the temporary files when the SAS program completes.\",\"help\":\"LOCALCACHE=”*directory name*”\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1rar6u96xl57kn1pu81ydlirrf5\"},{\"name\":\"LOCKDURATION=\",\"optional\":true,\"description\":\"specifies the number of minutes that the files that are written through the WebDAV fileref are locked. SAS unlocks the files when the SAS program successfully finishes executing. If the SAS program fails, then the locks expire after the time allotted.\",\"help\":\"LOCKDURATION=*n*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1461hi45jqgr7n1ltpv3v6rn9ww\"},{\"name\":\"LOWCASE_MEMNAME\",\"optional\":true,\"description\":\"enables autocall macro retrieval of lowercase directory or member names from WebDAV servers.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p09oksjrrehw3ln1m1y7vlqzpqip\"},{\"name\":\"MKDIR=\",\"optional\":true,\"description\":\"specifies a new directory that is created from the parent directory that was specified in the external-file option.\",\"help\":\"MKDIR=\\\"*new-directory-name*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1gcr1iw1fo26fn14ivg6bsy8fly\"},{\"name\":\"PASS=\",\"optional\":true,\"aliases\":[\"PASSWORD=, PW=, PWD=\"],\"description\":\"where password is the password to use with the user name that is specified in the USER option. The password is case sensitive and it must be enclosed in single or double quotation marks.\",\"help\":\"PASS='*password*'\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0jt3n2pi4qx7an1724reaygsj9i\"},{\"name\":\"PROMPT\",\"optional\":true,\"description\":\"specifies to prompt for the user logon password, if necessary.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0zq17npdxyyvwn1mqx5hljqovgt\"},{\"name\":\"PROXY=\",\"optional\":true,\"description\":\"specifies the Uniform Resource Locator (URL) for the proxy server in one of these forms:\",\"help\":\"PROXY=*url*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1hz2h9but4o6gn1rdy02ovd77ln\"},{\"name\":\"COMMENT=\",\"optional\":true,\"description\":\"writes an informative comment in a ZIP file.\",\"help\":\"COMMENT=\\\"*comment-string*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0fjrxd6yenzann14qyvzd2r5afj\"},{\"name\":\"COMPRESSION=\",\"optional\":true,\"description\":\"specifies the compression level that is used to write to the ZIP file member. Valid values for the compression level are 0 through 9. A value of 0 stores the file with no compression. A value of 9 indicates maximum compression.\",\"help\":\"COMPRESSION='*compression-level*'\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1ja6ie780otein1jyy3qnkydg20\"},{\"name\":\"DEBUG\",\"optional\":true,\"description\":\"writes debugging information to the SAS log.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1lu2y34em69cln18qwnux03lxgh\"},{\"name\":\"FILEEXT\",\"optional\":true,\"description\":\"specifies that a file extension is automatically appended to the filename member if the extension does not exist.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n01084l1tp2zvbn1rxtwql7cb2hi\"},{\"name\":\"GZIP\",\"optional\":true,\"description\":\"specifies that the external file is a GZIP file.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0piyzduhmrazwn1nzmczf28ljoe\"},{\"name\":\"LOWCASE_MEMNAME\",\"optional\":true,\"description\":\"enables autocall macro retrieval of lowercase directory or member names from ZIP files.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1olog4ok46uhgn1he0wow3nhz28\"},{\"name\":\"MEMBER=\",\"optional\":true,\"description\":\"associates the fileref with a single file found inside the ZIP file.\",\"help\":\"MEMBER=\\\"*member-file*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0e8q6iojfo0abn145aq78fengjf\"},{\"name\":\"NAMEENCODING=\",\"optional\":true,\"description\":\"specifies the encoding to use for ZIP file entry names and comments. The value for NAMEENCODING= indicates that the entry name and comment have a different encoding from the current session encoding.\",\"help\":\"NAMEENCODING=*encoding-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p16h1vx7by3233n1lhrrm184ehv6\"}],\"supportSiteInformation\":{\"docsetId\":\"lestmtsglobal\",\"docsetVersion\":\"v_002\",\"docsetTargetFile\":\"p05r9vhhqbhfzun1qo9mw64s4700.htm\"}},{\"name\":\"FOOTNOTE\",\"description\":\"Controls the content, appearance, and placement of text in a footnote.\",\"help\":\"FOOTNOTE &lt;*1*-*10*&gt;&lt;*ods-format-options*&gt;&lt;*text-options*&gt;&lt;‘*text-string*’&gt;;\",\"arguments\":[{\"name\":\"1-10\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the relative line that contains the footnote text.\",\"type\":\"standaloneOrValue\",\"supportSiteTargetFragment\":\"n0w7abf5upc8fdn1g78bsay3whv8\"},{\"name\":\"BCOLOR=\",\"aliases\":[\"BC=\"],\"description\":\"specifies the background color of the footnote block.\",\"help\":\"BCOLOR=*color*\",\"type\":\"color\",\"supportSiteTargetFragment\":\"n11fiqdpy6r5egn13aky21btchjj\"},{\"name\":\"BOLD\",\"description\":\"specifies that the font weight is bold for the text string.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1ackuyw2584y8n1jn5aly3x4z85\"},{\"name\":\"COLOR=\",\"aliases\":[\"C=\"],\"description\":\"specifies the color for the text. You can specify colors using a number of different color-naming schemes. For more information, see .\",\"help\":\"COLOR=*color*\",\"type\":\"color\",\"supportSiteTargetFragment\":\"n0vg9rxedai6uhn1k7g8w4snvqz9\"},{\"name\":\"FONT=\",\"aliases\":[\"F=\"],\"description\":\"specifies the system font to use for the text string. If you supply multiple fonts, then the destination device uses the first one that is installed on your system.\",\"help\":\"FONT=*system-font*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0gnzi2gkq29l3n1ah1wsxa22q8s\"},{\"name\":\"HEIGHT=\",\"aliases\":[\"H=\"],\"description\":\"specifies the size of the text. You can also specify the unit of measurement. Without a unit of measure, the number becomes a relative size.\",\"help\":\"HEIGHT=*numeric-value*&lt;*units*&gt;\",\"type\":\"value\",\"arguments\":[{\"name\":\"numeric-value\",\"placeholder\":true,\"description\":\"The value of size is relative to all other font sizes in the HTML document.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0iiov5vj4rvgkn1dlzwo6wbu942\"},{\"name\":\"units\",\"placeholder\":true,\"description\":\"is a nonnegative number.\",\"type\":\"standaloneOrValue\",\"supportSiteTargetFragment\":\"n1tgjzs8rrjjhxn1laoowdchs7sv\"}],\"supportSiteTargetFragment\":\"p174ht1x8ojadqn0z48iowayn4b2\"},{\"name\":\"ITALIC\",\"description\":\"specifies that the font style is italic for the text string.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n01ozh94geqvmjn1nc35ibhsu9rs\"},{\"name\":\"JUSTIFY=\",\"aliases\":[\"J=\"],\"description\":\"specifies the alignment of the text string. You can specify one of the following values:\",\"help\":\"JUSTIFY= LEFT | CENTER | RIGHT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"LEFT\",\"aliases\":[\"L\"],\"description\":\"specifies left justification.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0b6vgnjc0gbwln1iwhx5i8iip9j\"},{\"name\":\"CENTER\",\"aliases\":[\"C\"],\"description\":\"aligns the text in the center.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1ghxoytmzegd1n1x4n6ys1ubki7\"},{\"name\":\"RIGHT\",\"aliases\":[\"R\"],\"description\":\"aligns the text to the right.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0g26s413uurc7n1m87fg8ptbkc6\"}],\"supportSiteTargetFragment\":\"n0vn1z45zl83a3n11n5c9ter7jmw\"},{\"name\":\"LINK=\",\"description\":\"specifies a uniform resource locator (URL) to which a footnote links.\",\"help\":\"LINK='*URL*'\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0o65kuninrtg4n133nxqppor2dt\"},{\"name\":\"UNDERLIN=\",\"aliases\":[\"U=\"],\"description\":\"specifies whether the subsequent text is underlined. UNDERLIN=0 indicates no underlining. Values 1, 2, and 3 indicate the same type of underlining.\",\"help\":\"UNDERLIN=*0*-*3*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n11pev10zfudc4n1faofwlum1moa\"},{\"name\":\"ALT=\",\"description\":\"specifies descriptive text for a URL to which a footnote links, or the footnote itself.\",\"help\":\" ALT=*‘text-string’*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0yc14v62hqxcjn1s2olvgwxsatj\"},{\"name\":\"ANGLE=\",\"aliases\":[\"A=\"],\"description\":\"specifies the angle of the baseline of the entire text string with respect to the horizontal.\",\"help\":\" ANGLE=*degrees*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0m48wi91dhfqrn1cxwn8a0moouj\"},{\"name\":\"BLANK=\",\"aliases\":[\"BL=\"],\"description\":\"protects the box and its contents from being overwritten by any subsequent graphics elements.\",\"help\":\"  BLANK=YES \",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0hbp0hg5v9hrxn1fkxfxeq7vtzw\"},{\"name\":\"BOX=\",\"aliases\":[\"BO=\"],\"description\":\"draws a box around one line of text.\",\"help\":\"  BOX=1-4  \",\"type\":\"value\",\"supportSiteTargetFragment\":\"p13b3xxby03mijn1wpoisl4ux2jy\"},{\"name\":\"BSPACE=\",\"aliases\":[\"BS=\"],\"description\":\"specifies the amount of space between the text and the border of a box that you create with the BOX= option.\",\"help\":\" BSPACE=*numeric-value*&lt;*units*&gt;\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0rvhkfopxoulen1gllltxaags0n\"},{\"name\":\"DRAW=\",\"aliases\":[\"D=\"],\"description\":\"draws lines anywhere on the graphics output area.\",\"help\":\" DRAW=(*x,y* -,*x-n,y-n*)&lt;*units*&gt;\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1ekrwg257yi0zn10k8plkd6w43u\"},{\"name\":\"LANGLE=\",\"aliases\":[\"LA=\"],\"description\":\"specifies the angle of one or more than one entire text-string.\",\"help\":\" LANGLE=*degrees*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p10zkd93psa6awn1kwx9cpkfbdtx\"},{\"name\":\"LSPACE=\",\"aliases\":[\"LS=\"],\"description\":\"specifies the amount of space above lines of footnote text.\",\"help\":\" LSPACE=*line-space* &lt;*units*&gt;\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1ff0megp09j2mn10g43ncfj16p5\"},{\"name\":\"MOVE=\",\"aliases\":[\"M=\"],\"description\":\"positions a text string.\",\"help\":\"  MOVE=(*x*,*y*) &lt;*units*&gt;\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0e0rqcwsovaein1pqvv5o5m7bty\"},{\"name\":\"ROTATE=\",\"aliases\":[\"R=\"],\"description\":\"specifies the angle at which each character of text is rotated.\",\"help\":\" ROTATE=*degrees*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1cvgct01dgeepn1jbca644372rj\"},{\"name\":\"WRAP\",\"description\":\"wraps a text string containing a blank to a second line if the text does not fit on one line.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p13nbhzzd6r2dyn1ilerxfgoix5n\"},{\"name\":\"'text-string'\",\"optional\":true,\"placeholder\":true,\"description\":\"is a text string with a maximum length of 255 bytes. You must enclose text strings in either single or double quotation marks. The text appears exactly as you enter it in the statement, including uppercase and lowercase characters and spaces. Footnotes automatically wrap to additional lines if necessary. If the length of the specified title is greater than the value of the LINESIZE option, the title is truncated to the line size.\",\"type\":\"standaloneOrValue\",\"supportSiteTargetFragment\":\"p0hg4hfv9zyte3n1chfjj9m99v78\"}],\"supportSiteInformation\":{\"docsetId\":\"lestmtsglobal\",\"docsetVersion\":\"v_002\",\"docsetTargetFile\":\"n0wh407rnaleinn1rqyudxuzhkhu.htm\"}},{\"name\":\"GOPTIONS\",\"description\":\"Temporarily sets default values for many graphics attributes and device parameters used by SAS/GRAPH procedures.\",\"help\":\"GOPTIONS &lt;*options-list*&gt;;\",\"arguments\":[{\"name\":\"options-list\",\"optional\":true,\"placeholder\":true,\"description\":\"can be one or more options as listed and described in the .\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1enlhcgqyf0len0zlv7l2n7z8d2\"},{\"name\":\"ACCESSIBLE\",\"description\":\"when used with an HTML ODS destination, generates descriptive text and data for your graphs to comply with section 508 of the Rehabilitation Acts and to meet usability requirements for disabled users.\",\"type\":\"standalone\",\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"n1pzq8upbxrvwmn1ni2g5cjq7noh.htm\"}},{\"name\":\"ALTDESC\",\"description\":\"when used with an HTML ODS destination, includes an HTML ALT tag in the HTML output that specifies alternate text for the graph.\",\"type\":\"standalone\",\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"n1gj4oarw072dxn1bl3pcqbdv644.htm\"}},{\"name\":\"ASPECT=\",\"description\":\"Sets the aspect ratio for graphics elements.\",\"help\":\"ASPECT= *scaling-factor*\",\"type\":\"value\",\"arguments\":[{\"name\":\"scaling-factor\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies a nonnegative integer or real number that determines the ratio of width to height for graphics elements.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0z8qoz69uuvz1n10eu2u7jd6d8k\"}],\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"p0pmqzxmhyvfbyn153h3s72wkfc9.htm\"}},{\"name\":\"AUTOCOPY\",\"description\":\"prints a copy of the graph automatically.\",\"type\":\"standalone\",\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"n0aia9wojic9s1n1kyw2y2xsaauj.htm\"}},{\"name\":\"AUTOFEED\",\"description\":\"causes the device to feed new paper automatically for the next graph.\",\"type\":\"standalone\",\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"n10fwvi4bw3ynnn1i484b6pyv0ec.htm\"}},{\"name\":\"AUTOSIZE=\",\"description\":\"Controls whether to change the size of the character cells in order to preserve the number of rows and columns specified in the device entry.\",\"help\":\"AUTOSIZE= ON | OFF | DEFAULT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ON\",\"optional\":true,\"description\":\"changes the cell size in order to preserve the number of rows and columns.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0shou0xov4p9yn11e6erhtkz5hd\"},{\"name\":\"OFF\",\"optional\":true,\"description\":\"preserves the device's original cell size and temporarily changes the number of rows and columns.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0frwd26vwitntn1qickmv3e6flr\"},{\"name\":\"DEFAULT\",\"optional\":true,\"description\":\"uses the default setting (ON or OFF) that is controlled by DEVOPTS bit 50.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p02ize50wamrtxn1q5yifbez0rx1\"}],\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"n0zryzh69ezulxn1qrlb08gwuqw3.htm\"}},{\"name\":\"BINDING=\",\"description\":\"Specifies which edge of the document is the binding edge.\",\"help\":\"BINDING= DEFAULTEDGE | LONGEDGE | SHORTEDGE\",\"type\":\"choice\",\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"n07cm34lal6rssn14xnvtv2su7cj.htm\"}},{\"name\":\"BORDER\",\"description\":\"draws a border around the graphics output area.\",\"type\":\"standalone\",\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"n1k17f2g67cluyn1qrdzpsa61003.htm\"}},{\"name\":\"CBACK=\",\"description\":\"Specifies the background color of the graphics output.\",\"help\":\"CBACK= *background-color*\",\"type\":\"color\",\"arguments\":[{\"name\":\"background-color\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the background color using any SAS/GRAPH color name.\",\"type\":\"color\",\"supportSiteTargetFragment\":\"n0dr4opz9ryg17n105jqffspuxda\"}],\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"n13v17xadk6wesn1hbmxe264up78.htm\"}},{\"name\":\"CBY=\",\"description\":\"Selects the color of the BY lines that appear in the graphics output.\",\"help\":\"CBY= *By line-color*\",\"type\":\"color\",\"arguments\":[{\"name\":\"By\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the By-line color using any SAS/GRAPH color name.\",\"help\":\"*By line-color*\",\"type\":\"color\",\"supportSiteTargetFragment\":\"p0kpepvn7jkk0tn14gvvepa8vpux\"}],\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"p0d6ll379km4csn12qsd8g5twart.htm\"}},{\"name\":\"CELL\",\"description\":\"causes the device to use cell alignment.\",\"type\":\"standalone\",\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"p174zgboznfm0on17g16hfgw1udz.htm\"}},{\"name\":\"CHARACTERS\",\"description\":\"causes SAS/GRAPH to use the device-resident font when you do not specify a font in a SAS program.\",\"type\":\"standalone\",\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"n0khl5eoo9osxln14d58xxxzuwna.htm\"}},{\"name\":\"CHARTYPE=\",\"description\":\"Selects the number of the default hardware character set.\",\"help\":\"CHARTYPE= *hardware-font-chartype*\",\"type\":\"value\",\"arguments\":[{\"name\":\"hardware-font-chartype\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the hardware font character type as an integer in the range 0–999.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0ca2tej0bo1hvn1w918udv10nfh\"}],\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"n06xn4ngx95v7cn13yj853r4crw5.htm\"}},{\"name\":\"CIRCLEARC\",\"description\":\"causes SAS/GRAPH to use the built-in hardware circle- and arc-drawing capability of the device.\",\"type\":\"standalone\",\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"n1axm2ixvc8209n1vej72kan9h9l.htm\"}},{\"name\":\"COLLATE\",\"description\":\"Specifies whether to collate the output, if collation is supported by the device.\",\"type\":\"standalone\",\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"n1tdd8ku0603aqn11im2xtzi04cn.htm\"}},{\"name\":\"COLORS=\",\"description\":\"Specifies the colors used to produce your graphics output if you do not specify colors explicitly in program statements.\",\"help\":\"COLORS= &lt;(*colors-list* | NONE)&gt;\",\"type\":\"standaloneOrValue\",\"arguments\":[{\"name\":\"colors-list\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies one or more SAS color names.\",\"type\":\"color\",\"supportSiteTargetFragment\":\"p0jvll8mjsqvnln11jynvw8n1sit\"},{\"name\":\"NONE\",\"optional\":true,\"description\":\"tells SAS/GRAPH to use only the colors that you explicitly specify in program statements and to ignore the ODS style colors.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p14wtomzitum1gn1aoqnh2tgeu3j\"}],\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"p0n81luj43084dn1ul7dv8s0blr7.htm\"}},{\"name\":\"CPATTERN=\",\"description\":\"Selects the default color for PATTERN definitions when a color has not been specified.\",\"help\":\"CPATTERN= *pattern-color*\",\"type\":\"color\",\"arguments\":[{\"name\":\"pattern-color\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the pattern color using any SAS/GRAPH color name.\",\"type\":\"color\",\"supportSiteTargetFragment\":\"n02ti7j3853iqrn1c9mug1nb9b7i\"}],\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"p0740lyt0gtbnvn13vpf2ny2ym5a.htm\"}},{\"name\":\"CSYMBOL=\",\"description\":\"Specifies the default color for SYMBOL definitions when a color has not been specified.\",\"help\":\"CSYMBOL= *symbol-color*\",\"type\":\"color\",\"arguments\":[{\"name\":\"symbol-color\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the symbol color using any SAS/GRAPH color name.\",\"type\":\"color\",\"supportSiteTargetFragment\":\"p1tqsshkuwbvv2n1e254ybzi2wxe\"}],\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"n0tygqj54c7sw2n16is18z0zdk53.htm\"}},{\"name\":\"CTEXT=\",\"description\":\"Selects the default color for all text and the border.\",\"help\":\"CTEXT= *text-color*\",\"type\":\"color\",\"arguments\":[{\"name\":\"text-color\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the text color using any SAS/GRAPH color name.\",\"type\":\"color\",\"supportSiteTargetFragment\":\"p0einsc7th97i3n1pp84ulbfc3w5\"}],\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"n0zwp82ibtaxocn17iwzg94u02ih.htm\"}},{\"name\":\"CTITLE=\",\"description\":\"Selects the default color for all titles, footnotes, and notes, and the border.\",\"help\":\"CTITLE= *title-color*\",\"type\":\"color\",\"arguments\":[{\"name\":\"title-color\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the title color using any SAS/GRAPH color name.\",\"type\":\"color\",\"supportSiteTargetFragment\":\"n1tg3jh3olc820n1vp5ohhf4xlmu\"}],\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"n1g626c53ly2ftn150jv88s6b8c6.htm\"}},{\"name\":\"DASH\",\"description\":\"causes SAS/GRAPH to use the built-in hardware dashed-line drawing capability of the device when generating graphics output.\",\"type\":\"standalone\",\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"n0db7wnsa44o8tn1n43qgxpkl52k.htm\"}},{\"name\":\"DASHSCALE=\",\"description\":\"Scales the lengths of the dashes in a dashed line.\",\"help\":\"DASHSCALE= *scaling-factor*\",\"type\":\"value\",\"arguments\":[{\"name\":\"scaling-factor\",\"optional\":true,\"placeholder\":true,\"description\":\"can be any number greater than 0.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p00wn72jxmapusn1ubk61qzmbhlv\"}],\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"p1e8fm96nuqqh4n1amgbfwe81ra5.htm\"}},{\"name\":\"DELAY=\",\"description\":\"Controls the amount of time between graphs in the animation sequence.\",\"help\":\"DELAY= *delay-time*\",\"type\":\"value\",\"arguments\":[{\"name\":\"delay-time\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the length of time between graphs in units of 0.01 seconds.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1c80occu8r4i9n1esfz9fzu466p\"}],\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"n1s9fls5f47f2fn0zmxplenhteid.htm\"}},{\"name\":\"DEVADDR=\",\"description\":\"Specifies the location of the device to which the output of device drivers is sent.\",\"help\":\"DEVADDR= *device-address*\",\"type\":\"value\",\"arguments\":[{\"name\":\"device-address\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the address of the device to which the device driver output is to be sent.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0qz23296p5q82n1ekh1v5tucn18\"}],\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"n1g0kn1gc6703pn1eit56io5zwjp.htm\"}},{\"name\":\"DEVICE=\",\"aliases\":[\"DEV\"],\"description\":\"Specifies the device driver to which SAS/GRAPH sends the procedure output. The device driver controls the format of graphics output.\",\"help\":\"DEVICE= *device-entry*\",\"type\":\"value\",\"arguments\":[{\"name\":\"device-entry\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the name of a device entry that is stored in a device catalog.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1ejemt8xe50gen1jow6teurggxx\"}],\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"p1bl2ggl88qfbyn1wq9mv2j8uug2.htm\"}},{\"name\":\"DEVMAP=\",\"description\":\"Specifies the device map to be used when device-resident fonts are used.\",\"help\":\"DEVMAP= *device-map-name* | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"device-map-name\",\"optional\":true,\"placeholder\":true,\"description\":\"is a string up to eight characters long that is the name of the device map entry.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1eyd3rvqfol1un1us1vo9jeib1q\"},{\"name\":\"NONE\",\"optional\":true,\"description\":\"specifies that you do not want to use a device map.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0oyxakjjsppjhn1d1elegpbsa3w\"}],\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"n124zr3dy01x3pn14zq3dxzkin6l.htm\"}},{\"name\":\"DISPLAY\",\"description\":\"displays the graph output.\",\"type\":\"standalone\",\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"n0pgtnfskv8bqpn1ker8mgct8ewd.htm\"}},{\"name\":\"DISPOSAL=\",\"description\":\"Specifies what happens to the graphic after it is displayed.\",\"help\":\"DISPOSAL= NONE | BACKGROUND | PREVIOUS | UNSPECIFIED\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NONE\",\"optional\":true,\"description\":\"causes the graphic to be left in place after displaying.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1upkqtkkl33ydn0ztmt2pr9hezw\"},{\"name\":\"BACKGROUND\",\"optional\":true,\"description\":\"causes the background color to be returned and the graph erased after displaying.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n09khwhnp3qu8in15bz77puw9mn4\"},{\"name\":\"PREVIOUS\",\"optional\":true,\"description\":\"causes the graphic area to be restored with what was displayed in the area previously.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0tic89r1gdkq9n1ij3zow5kwl1q\"},{\"name\":\"UNSPECIFIED\",\"optional\":true,\"description\":\"indicates that no action is necessary.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1cjpwnhu22rson1xiwskaewueoz\"}],\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"n1rl8ego5fub11n10grdjaff2d9m.htm\"}},{\"name\":\"DRVINIT1=\",\"description\":\"Specifies host commands to be executed before driver initialization.\",\"help\":\"DRVINIT1= '*system-command(s)*'\",\"type\":\"value\",\"arguments\":[{\"name\":\"system-command\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies a character string of up to 72 characters that contains one or more valid system commands and can be in upper- or lowercase letters.\",\"help\":\"*system-command(s)*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1sewv44qrrv63n1ojy24s4i2b64\"}],\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"n0xd6ihhi22ae7n1lcp2m3s30eu9.htm\"}},{\"name\":\"DRVINIT2=\",\"description\":\"Specifies host commands to be executed before driver initialization.\",\"help\":\"DRVINIT2= '*system-command(s)*'\",\"type\":\"value\",\"arguments\":[{\"name\":\"system-command\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies a character string of up to 72 characters that contains one or more valid system commands and can be in upper- or lowercase letters.\",\"help\":\"*system-command(s)*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1sewv44qrrv63n1ojy24s4i2b64\"}],\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"n0xd6ihhi22ae7n1lcp2m3s30eu9.htm\"}},{\"name\":\"DRVTERM1=\",\"description\":\"Specifies host commands to be executed after the driver terminates.\",\"help\":\"DRVTERM1= '*system-command(s)*'\",\"type\":\"value\",\"arguments\":[{\"name\":\"system-command\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies a character string of up to 72 characters that contains one or more valid system commands and can be in upper- or lowercase letters.\",\"help\":\"*system-command(s)*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0wq53wp2fwcsvn1q5khxrpat8xj\"}],\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"n0wgmwdf019qhxn1j54lpg36tbo9.htm\"}},{\"name\":\"DRVTERM2=\",\"description\":\"Specifies host commands to be executed after the driver terminates.\",\"help\":\"DRVTERM2= '*system-command(s)*'\",\"type\":\"value\",\"arguments\":[{\"name\":\"system-command\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies a character string of up to 72 characters that contains one or more valid system commands and can be in upper- or lowercase letters.\",\"help\":\"*system-command(s)*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0wq53wp2fwcsvn1q5khxrpat8xj\"}],\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"n0wgmwdf019qhxn1j54lpg36tbo9.htm\"}},{\"name\":\"DUPLEX\",\"description\":\"specifies that duplex printing can be used if it is available on the device.\",\"type\":\"standalone\",\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"n0t8y6k38shzytn123s7pnrivz8o.htm\"}},{\"name\":\"ERASE\",\"description\":\"causes the graph to be erased when you press Enter after the graph has been displayed.\",\"type\":\"standalone\",\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"p04gybgkwx6qirn1i886fzvbfju1.htm\"}},{\"name\":\"EXTENSION=\",\"description\":\"Specifies the file extension for an external graphics file.\",\"help\":\"EXTENSION= '*file-type*'\",\"type\":\"value\",\"arguments\":[{\"name\":\"file-type\",\"optional\":true,\"placeholder\":true,\"description\":\"a string up to eight characters long that is a file extension, such as GIF or CGM, that you want to append to an external file.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0arqw6w9xrpcfn131j9hre0kt5p\"}],\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"n0gk0ttcpizp2in1vgwdkp72xkfh.htm\"}},{\"name\":\"FASTTEXT\",\"description\":\"specifies that integer-based font processing is to be used for faster font rendering.\",\"type\":\"standalone\",\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"n08pbom4wci4wjn14mrjiyl44tzw.htm\"}},{\"name\":\"FBY=\",\"description\":\"Selects the font for BY lines.\",\"help\":\"FBY= *By line-font*\",\"type\":\"value\",\"arguments\":[{\"name\":\"By\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the font for all BY lines on the graphics output.\",\"help\":\"*By line-font*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p16fm9e4ukoy7un1f4678v8slsqg\"}],\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"n0pyq8r0c0y4atn1aoup39iwpp62.htm\"}},{\"name\":\"FCACHE=\",\"description\":\"Specifies the number of system fonts to keep open at one time.\",\"help\":\"FCACHE= *number-fonts-open*\",\"type\":\"value\",\"arguments\":[{\"name\":\"number-fonts-open\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the number of system fonts to keep open. Number-fonts-open must be greater than or equal to zero.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0y4cjnqx1bgemn1ek2olycvg11v\"}],\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"p1xgxne0nze3atn1qnk94mgjvz9t.htm\"}},{\"name\":\"FILECLOSE=\",\"description\":\"Controls when the graphics stream file (GSF) is closed when you are using the device driver to send graphics output to a hard copy device.\",\"help\":\"FILECLOSE= DRIVERTERM | GRAPHEND\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DRIVERTERM\",\"optional\":true,\"aliases\":[\"DRIVER\"],\"description\":\"closes the GSF and makes it available to the device after all graphs have been produced and the procedure or driver terminates.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n17wr4r6rt4bspn1a6rwxz2n1rem\"},{\"name\":\"GRAPHEND\",\"optional\":true,\"aliases\":[\"GRAPH\"],\"description\":\"closes the GSF after each separate graph is produced and releases it to the device before sending another.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0rd3ipyipnff7n1bnl25zcyjqt7\"}],\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"p0wn0an1utqp05n1h25wbldh9k50.htm\"}},{\"name\":\"FILEONLY\",\"description\":\"specifies that a file rather than a storage location is the default destination for graphics output.\",\"type\":\"standalone\",\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"n19yidk88q839zn18pr1qf4opipe.htm\"}},{\"name\":\"FILL\",\"description\":\"causes SAS/GRAPH to use the built-in hardware rectangle-filling capability of the device.\",\"type\":\"standalone\",\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"p1v78mycob80zsn15mssiep5vi0n.htm\"}},{\"name\":\"FILLINC=\",\"description\":\"Specifies the number of pixels to move before drawing the next line in a software fill of a solid area.\",\"help\":\"FILLINC= 0 – 9999\",\"type\":\"standalone\",\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"n1k2xk3sbjil8nn1o424kiigjosc.htm\"}},{\"name\":\"FONTRES=\",\"description\":\"Controls the resolution of Bitstream fonts.\",\"help\":\"FONTRES= NORMAL | PRESENTATION\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NORMAL\",\"optional\":true,\"description\":\"renders fonts in memory using integer rendering routines, which improves character drawing speed for most host systems.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n16rem988u8fs5n1284kaj9r5z2t\"},{\"name\":\"PRESENTATION\",\"optional\":true,\"description\":\"disables the storage or use of rendered versions of Bitstream fonts, but produces the fonts at their highest resolution.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1wfs4k3g7g35kn1bj20ttr1klxp\"}],\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"p0efncjaqlgw2un1cvls7mcw6txb.htm\"}},{\"name\":\"FTEXT=\",\"description\":\"Sets the default font for all text.\",\"help\":\"FTEXT= *text-font* | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"text-font\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the font for all text on the graphics output.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1840js0krp6p5n13uiupr7hb5mh\"},{\"name\":\"NONE\",\"optional\":true,\"description\":\"specifies that the default device-resident font be used for all text on the graphics output, if possible.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1xgdj3o6cfkc3n14c3y4wh511xf\"}],\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"n0vlx9yoqswwq9n1utt753skty2k.htm\"}},{\"name\":\"FTITLE=\",\"description\":\"Selects the default font for the first TITLE line.\",\"help\":\"FTITLE= *title-font*\",\"type\":\"value\",\"arguments\":[{\"name\":\"title-font\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the font for the TITLE1 statement.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1nx68bps0nww9n146p98lgb0ce2\"}],\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"p131zvt1x6s5kcn18a24fx422955.htm\"}},{\"name\":\"FTRACK=\",\"description\":\"Controls the amount of space between letters in the Bitstream fonts supplied by SAS (Brush, Century, Swiss, and Zapf).\",\"help\":\"FTRACK= LOOSE | NONE | NORMAL | TIGHT | TOUCH | V5\",\"type\":\"choice\",\"arguments\":[{\"name\":\"LOOSE\",\"optional\":true,\"description\":\"leaves the most visible space between characters and produces a longer string.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1m8q4u74pg57an1a6sns8bb4vs6\"},{\"name\":\"NONE\",\"optional\":true,\"description\":\"spacing depends on the size of the font.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1i8qw250utkoon1tfstc39jbnzn\"},{\"name\":\"NORMAL\",\"optional\":true,\"description\":\"is the recommended setting.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0go3mzni8gugwn1v30f8cvh0jbe\"},{\"name\":\"TIGHT\",\"optional\":true,\"description\":\"reduces the space between characters.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1fbpgi7bep7qxn16yoqrdfz3lo6\"},{\"name\":\"TOUCH\",\"optional\":true,\"description\":\"leaves the least visible space between characters.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0jehfwivsv33sn10xlhvgdn3afa\"},{\"name\":\"V5\",\"optional\":true,\"description\":\"places a fixed amount of space between the characters and does not adjust for the shape of the character.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0f21ehkf6ofztn1l0oxrhdx6nzx\"}],\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"p0mejmtvkpygqun1jbsvddinsm65.htm\"}},{\"name\":\"GACCESS=\",\"description\":\"Specifies the format or the destination or both of graphics data written to a traditional SAS/GRAPH device driver or to a graphics stream file (GSF).\",\"help\":\"GACCESS= *output-format* | '*output-format**destination*'\",\"type\":\"choice\",\"arguments\":[{\"name\":\"SASGASTD\",\"description\":\"specifies that a continuous stream of data is written.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0n9r86top62k9n1bh2nl8a1t4cw\"},{\"name\":\"SASGAEDT\",\"description\":\"specifies that the file be host-specific edit format.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1fno558uxlvfhn12kux1i6g3eot\"},{\"name\":\"SASGAFIX\",\"description\":\"specifies that fixed-length records be written.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0z9v40zroo3hrn1srksbc9483wt\"},{\"name\":\"SASGALOG\",\"description\":\"specifies that records are to be written to the SAS log.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0gifm2gwhj4nin1xeel50dvctjm\"},{\"name\":\"GSASFILE\",\"description\":\"specifies that the records are to be written to the destination whose fileref is GSASFILE.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0j3e7ll7p5jtcn1qpn2gl4j34tn\"},{\"name\":\"'output-format\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the destination in addition to one of these output format values: SASGASTD, SASGAEDT, or SASGAFIX.\",\"help\":\"'*output-format*  *destination*'\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0r77fmqo37hpjn15escxf4txu30\"}],\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"p1t8r2pke5t1yhn1da8jtl20jlce.htm\"}},{\"name\":\"GCOPIES=\",\"description\":\"Sets the current and maximum number of copies to be printed.\",\"help\":\"GCOPIES= (&lt;*current-copies*&gt; &lt;*,max-copies*&gt;)\",\"type\":\"standaloneOrValue\",\"arguments\":[{\"name\":\"current-copies\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the current number of copies as an integer in the range 0–max-copies.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1nqod0y9s1q4yn120mfhmpp4r2e\"}],\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"n0fvid5dvrqfywn1p5ujkydfwfmy.htm\"}},{\"name\":\"GEND=\",\"description\":\"Appends an ASCII string to every graphics data record that is sent to a device or file.\",\"help\":\"GEND= '*string*'&lt;'*string-n*'&gt;\",\"type\":\"value\",\"arguments\":[{\"name\":\"'string'\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the ASCII string to append to every graphics data record that is sent to a device or file.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1guqjuqch7cc0n0zuwijuyhroz3\"}],\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"n0zm70hmg8f695n15ks1w45zu2gs.htm\"}},{\"name\":\"GEPILOG=\",\"description\":\"Sends a string to a device or file after all graphics commands are sent.\",\"help\":\"GEPILOG= '*string*'&lt;'*string-n*'&gt;\",\"type\":\"value\",\"arguments\":[{\"name\":\"'string'\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the string to a device or file after all graphics commands are sent.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0yr61iwwnv9nyn18juwge6uk9re\"}],\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"n0lqntbzrbc2o0n11j1g6lnncl4c.htm\"}},{\"name\":\"GOUTMODE=\",\"description\":\"Appends to or replaces the graphics output catalog.\",\"help\":\"GOUTMODE= APPEND | REPLACE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"APPEND\",\"optional\":true,\"description\":\"adds each new graph to the end of the current catalog.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0vl624mjfsk4qn0zy2sqnqyqt2g\"},{\"name\":\"REPLACE\",\"optional\":true,\"description\":\"replaces the contents of the catalog with the graph or graphs produced by a single procedure.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0ycvotdm0csh9n1dplf59vwrlld\"}],\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"p1ivf3737t52e7n13cu9lwurab02.htm\"}},{\"name\":\"GPROLOG=\",\"description\":\"Sends a string to device or file before graphics commands are sent.\",\"help\":\"GPROLOG= '*string*'&lt;'*string-n*'&gt;\",\"type\":\"value\",\"arguments\":[{\"name\":\"'string'\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the string to a device or file before all graphics commands are sent.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0cvs1lp7yjr7hn1iln9evlarj34\"}],\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"p0jzpdwnfncaein1fbwikjj0n9nc.htm\"}},{\"name\":\"GPROTOCOL=\",\"description\":\"Specifies the protocol module to use when routing output directly to a printer or creating a graphics stream file (GSF) to send to a device attached to your host by a protocol converter.\",\"help\":\"GPROTOCOL= *module-name*\",\"type\":\"value\",\"arguments\":[{\"name\":\"module-name\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the protocol module name.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0ni7ghpxdcw8an169upnwblyuzh\"}],\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"p1n0dug9u3vqezn1qdpfumb4ihx5.htm\"}},{\"name\":\"GRAPHRC\",\"description\":\"allows a return code at procedure termination.\",\"type\":\"standalone\",\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"p1416pwkt92hhbn1cjbgb72w9i5l.htm\"}},{\"name\":\"GSFLEN=\",\"description\":\"Controls the length of records written to the graphics stream file (GSF).\",\"help\":\"GSFLEN= *record-length*\",\"type\":\"value\",\"arguments\":[{\"name\":\"record-length\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the length of the records written by the driver to a GSF or to the device as an integer in the range 0–99999.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n07htad92mxge6n19kg23lt3vpgt\"}],\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"p0vq582na6e9isn1vs3h04rb98ja.htm\"}},{\"name\":\"GSFMODE=\",\"description\":\"Specifies the disposition of records written to a graphics stream file (GSF) or to a device or communications port by the device driver.\",\"help\":\"GSFMODE= APPEND | PORT | REPLACE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"APPEND\",\"optional\":true,\"description\":\"adds the records to the end of a GSF designated by the GACCESS= or GSFNAME= graphics option or device parameter.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1dk8nroncjxb8n12yxfi3kis1us\"},{\"name\":\"PORT\",\"optional\":true,\"description\":\"sends the records to a device or communications port.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0a3d1ed2krfdon1kej36rgjlbhl\"},{\"name\":\"REPLACE\",\"optional\":true,\"description\":\"replaces the existing contents of a GSF designated by the GACCESS= or GSFNAME= graphics option or device parameter.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n07wgea8yodus5n16a24uy8csbam\"}],\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"p1rfrb3zhjyef0n196gbpp66ysx8.htm\"}},{\"name\":\"GSFNAME=\",\"description\":\"Specifies the fileref of the file or aggregate file location to which graphics stream file records are written.\",\"help\":\"GSFNAME= *fileref*\",\"type\":\"value\",\"arguments\":[{\"name\":\"fileref\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies a fileref that points to the destination for the graphics stream file (GSF) output.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0d9rxcuhpwngrn15boq1ve5zeq5\"}],\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"p0c81ic3b3h35kn1hu0zkf9hc36l.htm\"}},{\"name\":\"GSFPROMPT\",\"description\":\"Specifies whether to write prompt messages to the graphics stream file (GSF).\",\"type\":\"standalone\",\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"n06j3vkppltfm1n1n4voqpwlxp2y.htm\"}},{\"name\":\"GSIZE=\",\"description\":\"Sets the number of lines of display used for graphics for devices whose displays can be divided into graphics and text areas.\",\"help\":\"GSIZE= *lines*\",\"type\":\"value\",\"arguments\":[{\"name\":\"lines\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the number of lines to be used for graphics.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0uuht3c6ofvs3n1he04rvuz3kea\"}],\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"n185ku32izhb0jn17ogh6hodvalp.htm\"}},{\"name\":\"GSTART=\",\"description\":\"Prefixes every record of graphics data sent to a device or file with a string of characters.\",\"help\":\"GSTART= '*string*'&lt;'*string-n*'&gt;\",\"type\":\"value\",\"arguments\":[{\"name\":\"'string'\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the string that prefixes every record of graphics data sent to a device or file.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1o4m2d8gqfbfxn1enbbpcwt5w5o\"}],\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"p16vwrl4qvew43n1utsq5xg97my5.htm\"}},{\"name\":\"GUNIT=\",\"description\":\"Specifies the default unit of measure to use with height specifications.\",\"help\":\"GUNIT= CELLS | CM | IN | PCT | PT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"CELLS\",\"optional\":true,\"description\":\"specifies character cells as the units.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1w4roqto5nofon11dpzi8sn1vn9\"},{\"name\":\"CM\",\"optional\":true,\"description\":\"specifies centimeters as the units.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0fp1gnzlrcjgwn1col8yzf3qk5c\"},{\"name\":\"IN\",\"optional\":true,\"description\":\"specifies inches as the units.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1f6ysl63mfw1in1g5omkdal1z7r\"},{\"name\":\"PCT\",\"optional\":true,\"description\":\"specifies percentage of the graphics output area as the units.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1xafervo5ic0an10kj85fzk0fhq\"},{\"name\":\"PT\",\"optional\":true,\"description\":\"specifies points as the units (there are approximately 72 points in an inch).\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1gix6unt9g7qwn1kmaxm6wrigek\"}],\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"n02nstdcadigrun13bjct5pt67hw.htm\"}},{\"name\":\"GWAIT=\",\"description\":\"Specifies the time between each graph displayed in a series.\",\"help\":\"GWAIT= *seconds*\",\"type\":\"value\",\"arguments\":[{\"name\":\"seconds\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the number of seconds between graphs.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n12tlfnwil1pnzn1aw75f206jlo6\"}],\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"n1s9sypkhsm2isn1129mk01m6agm.htm\"}},{\"name\":\"HANDSHAKE=\",\"description\":\"Specifies the type of flow control used to regulate the flow of data to a hard copy device.\",\"help\":\"HANDSHAKE= HARDWARE | NONE | SOFTWARE | XONXOFF\",\"type\":\"choice\",\"arguments\":[{\"name\":\"HARDWARE\",\"optional\":true,\"aliases\":[\"HARD\"],\"description\":\"specifies that SAS/GRAPH instruct the device to use the hardware CTS and RTS signals for flow control.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1m0xwm3yibxzcn1x9cnhk6m5fy0\"},{\"name\":\"NONE\",\"optional\":true,\"description\":\"specifies that SAS/GRAPH send data without providing flow control.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0zybz1qq3r5aqn15oc0bzo7i5zm\"},{\"name\":\"SOFTWARE\",\"optional\":true,\"aliases\":[\"SOFT\"],\"description\":\"specifies that SAS/GRAPH use programmed flow control with plotters in eavesdrop mode.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0uja52b5cvyyun1k3roaf5jgiqe\"},{\"name\":\"XONXOFF\",\"optional\":true,\"aliases\":[\"X\"],\"description\":\"specifies that SAS/GRAPH instruct the device to use ASCII characters DC1 and DC3 for flow control.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1dewwi52xqjj1n1crcz4os7sd6w\"}],\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"p0utrluapfxbsan188b8wum4jg1s.htm\"}},{\"name\":\"HBY=\",\"description\":\"Specifies the height of BY lines generated when you use BY-group processing.\",\"help\":\"HBY= *By line-height*&lt;*units*&gt;\",\"type\":\"value\",\"arguments\":[{\"name\":\"By\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the height of BY line text; by default By line-height is 1.\",\"help\":\"*By line-height* &lt;*units*&gt;\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0ky9m1rbchvmqn1qlr0ii5qghdb\"},{\"name\":\"units\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the units.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1tr1x5a1zqcwcn1ffoyrkls9w5p\"}],\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"p04wybo9dncimhn1k6p05niysknw.htm\"}},{\"name\":\"HORIGIN=\",\"description\":\"Sets the horizontal offset from the lower left corner of the display area to the lower left corner of the graph.\",\"help\":\"HORIGIN= *horizontal-offset*&lt;IN | CM | PT&gt;\",\"type\":\"value\",\"arguments\":[{\"name\":\"horizontal-offset\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the horizontal offset as a nonnegative integer optionally followed by a units specification of IN for inches (default), CM for centimeters, or PT for points.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n19dvl8phesqz0n15ifqvgwhdf3u\"},{\"name\":\"INCMPT\",\"optional\":true,\"description\":\"specifies the units as inches (IN), centimeters (CM), or points (PT).\",\"type\":\"choice\",\"arguments\":[{\"name\":\"IN\",\"type\":\"standalone\"},{\"name\":\"CM\",\"type\":\"standalone\"},{\"name\":\"PT\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"p0ikyvfpq718ren1ug5kgsl7314k\"}],\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"p1vhfm37fj96xwn1x011fwnxkh3i.htm\"}},{\"name\":\"HPOS=\",\"description\":\"Specifies the number of columns in the graphics output area.\",\"help\":\"HPOS= *columns*\",\"type\":\"value\",\"arguments\":[{\"name\":\"columns\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the number of columns in the graphics output area, which is equivalent to the number of hardware characters that can be displayed horizontally.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0sibkbb2okc8zn1f9zc7rxvavgp\"}],\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"n0bp1rbahnw9aen1pm1uxt8lpf7x.htm\"}},{\"name\":\"HSIZE=\",\"description\":\"Sets the horizontal size of the graphics output area.\",\"help\":\"HSIZE= *horizontal-size*&lt;IN | CM | PT&gt;\",\"type\":\"value\",\"arguments\":[{\"name\":\"horizontal-size\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the width of the graphics output area as a positive number optionally followed by a units specification of IN for inches (default), CM for centimeters, or PT for points.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1mkctk6fhuyign1fi3b8fbsetuc\"},{\"name\":\"INCMPT\",\"optional\":true,\"description\":\"specifies the units as inches (IN), centimeters (CM), or points (PT).\",\"type\":\"choice\",\"arguments\":[{\"name\":\"IN\",\"type\":\"standalone\"},{\"name\":\"CM\",\"type\":\"standalone\"},{\"name\":\"PT\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"p1uv3zy1i13lb5n1g0i4jwfgcjmh\"}],\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"n15k2j1cq9zpnan1vhaltxbkyry7.htm\"}},{\"name\":\"HTEXT=\",\"description\":\"Specifies the default height of the text in the graphics output.\",\"help\":\"HTEXT= *text-height*&lt;*units*&gt;\",\"type\":\"value\",\"arguments\":[{\"name\":\"text-height\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the height of the text.\",\"help\":\"*text-height* &lt;*units*&gt;\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0f8xzuky1ubfcn1bogn374u42d5\"},{\"name\":\"units\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the units.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p07vllogia0n5un1gvsmlu4i5ofq\"}],\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"p18zw184cn6uqun14vqvzoiubm8j.htm\"}},{\"name\":\"HTITLE=\",\"description\":\"Selects the default height used for the first TITLE line.\",\"help\":\"HTITLE= *title-height*&lt;*units*&gt;\",\"type\":\"value\",\"arguments\":[{\"name\":\"title-height\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the height of the text in the TITLE1 statement.\",\"help\":\"*title-height* &lt;*units*&gt;\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0jcgz19evzpesn18x0e3p78epfl\"},{\"name\":\"units\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the units.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0c8uppjcltfcdn1egxglc4zt1aj\"}],\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"n0lw9wd6hg1kt4n18o2r03jtwrqc.htm\"}},{\"name\":\"IBACK=\",\"description\":\"Specifies an image file to display in a graph's background area.\",\"help\":\"IBACK= *fileref* | \\\"*external-file*\\\" | \\\"*URL*\\\" | \\\" \\\"\",\"type\":\"choice\",\"arguments\":[{\"name\":\"fileref\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies a fileref that points to the image file that you want to use.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n105ukaexz5wfqn1lqw3pmqf1i10\"},{\"name\":\"external-file\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the complete filename of the image file that you want to use.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1eb0tctzmszi1n15j6fw3myhiev\"},{\"name\":\"URL\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the URL of the image file that you want to use.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1s7zue1zaag4vn1abpgqi2bne9b\"},{\"name\":\"\\\"\",\"optional\":true,\"description\":\"suppresses a background image.\",\"help\":\"\\\" \\\"\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0351mt00i5660n1r2b8ub8pzfbs\"}],\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"p0pl1dlyj64719n1ejjzhha51rmc.htm\"}},{\"name\":\"IMAGEPRINT\",\"description\":\"default value specifies that any images are to be included in graphics output.\",\"type\":\"standalone\",\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"p0492ve56wzttin1gjsvakojxu89.htm\"}},{\"name\":\"IMAGESTYLE=\",\"description\":\"Specifies how to display the image file that is specified on the IBACK= option.\",\"help\":\"IMAGESTYLE= TILE | FIT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"TILE\",\"optional\":true,\"description\":\"tile the image within the specified area.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1o1b3kyjj9wd5n1txcbjy0au2xh\"},{\"name\":\"FIT\",\"optional\":true,\"description\":\"fit the image within the background area.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0klw9s5g88mf6n17nsg6f72bn1j\"}],\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"p0gs7kuhfn2aspn0zkkmmm83dkzp.htm\"}},{\"name\":\"INTERLACED\",\"description\":\"Specifies whether images are to be displayed as they are received in the browser.\",\"type\":\"standalone\",\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"n1uo2pw523sg6sn1uz9x961698p2.htm\"}},{\"name\":\"INTERPOL=\",\"description\":\"Sets the default interpolation value for the SYMBOL statement.\",\"help\":\"INTERPOL= *interpolation-method*\",\"type\":\"value\",\"arguments\":[{\"name\":\"interpolation-method\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the default interpolation to be used when the INTERPOL= option is not specified in the SYMBOL statement.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0u3rzdiq266xwn1hb3jnwh51p08\"}],\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"p02ixhtvva9qqnn1l3y6oc5882ze.htm\"}},{\"name\":\"ITERATION=\",\"description\":\"Specifies the number of times to repeat the GIF or SVG animation loop.\",\"help\":\"ITERATION= 0 | *iteration-count*\",\"type\":\"choice\",\"arguments\":[{\"name\":\"0\",\"optional\":true,\"description\":\"specifies that the animation loops continuously.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0d77loy1fuzv9n1kfucrcklnzn9\"},{\"name\":\"iteration-count\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the number of times that the animation loop is repeated.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1101bsm2oreion1k52c5grgqbhu\"}],\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"n1tktkv5ayno0gn120sqiuqyr7ub.htm\"}},{\"name\":\"KEYMAP=\",\"description\":\"Selects the key map to use.\",\"help\":\"KEYMAP= *key-map-name* | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"key-map-name\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the name of a key map.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n05r9wvmftqblqn1juajfwsi3qlc\"},{\"name\":\"NONE\",\"optional\":true,\"description\":\"suppresses the key map assigned by default to a non-U.S. keyboard.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p15cf0h2gpp5ohn1rf30k4u0wrqg\"}],\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"n0im1l8h245fo5n1tcwfzitbq263.htm\"}},{\"name\":\"LFACTOR=\",\"description\":\"Selects the default hardware line thickness.\",\"help\":\"LFACTOR= *line-thickness-factor*\",\"type\":\"value\",\"arguments\":[{\"name\":\"line-thickness-factor\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the default hardware line thickness as an integer in the range 0–9999.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p09td68gwfeht8n1axgk7buty9da\"}],\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"p0rpaie5qg84cen1c537eit9fd21.htm\"}},{\"name\":\"NOACCESSIBLE\",\"description\":\"toggles off the ACCESSIBLE option.\",\"type\":\"standalone\",\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"n1pzq8upbxrvwmn1ni2g5cjq7noh.htm\"}},{\"name\":\"NOALTDESC\",\"description\":\"toggles off the ALTDESC option.\",\"type\":\"standalone\",\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"n1gj4oarw072dxn1bl3pcqbdv644.htm\"}},{\"name\":\"NOAUTOCOPY\",\"description\":\"suppresses printing a copy of the graph.\",\"type\":\"standalone\",\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"n0aia9wojic9s1n1kyw2y2xsaauj.htm\"}},{\"name\":\"NOAUTOFEED\",\"description\":\"suppresses the automatic paper feed.\",\"type\":\"standalone\",\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"n10fwvi4bw3ynnn1i484b6pyv0ec.htm\"}},{\"name\":\"NOBORDER\",\"description\":\"suppresses the border around the graphics output area.\",\"type\":\"standalone\",\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"n1k17f2g67cluyn1qrdzpsa61003.htm\"}},{\"name\":\"NOCELL\",\"description\":\"suppresses cell alignment, causing the procedure to use the entire procedure output area and place axis and tick mark labels without regard to cell alignment.\",\"type\":\"standalone\",\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"p174zgboznfm0on17g16hfgw1udz.htm\"}},{\"name\":\"NOCHARACTERS\",\"description\":\"causes SAS/GRAPH to draw the characters using the SIMULATE font and suppresses the use of all device—resident fonts, regardless of values that you specify in other SAS statements.\",\"type\":\"standalone\",\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"n0khl5eoo9osxln14d58xxxzuwna.htm\"}},{\"name\":\"NOCIRCLEARC\",\"description\":\"causes SAS/GRAPH to use software move and draw commands to draw circles and arcs.\",\"type\":\"standalone\",\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"n1axm2ixvc8209n1vej72kan9h9l.htm\"}},{\"name\":\"NOCOLLATE\",\"description\":\"Specifies whether to collate the output, if collation is supported by the device.\",\"type\":\"standalone\",\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"n1tdd8ku0603aqn11im2xtzi04cn.htm\"}},{\"name\":\"NODASH\",\"description\":\"causes SAS/GRAPH to draw the dashed lines.\",\"type\":\"standalone\",\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"n0db7wnsa44o8tn1n43qgxpkl52k.htm\"}},{\"name\":\"NODISPLAY\",\"description\":\"suppresses the graph output.\",\"type\":\"standalone\",\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"n0pgtnfskv8bqpn1ker8mgct8ewd.htm\"}},{\"name\":\"NODUPLEX\",\"description\":\"specifies that duplex printing is not to be used.\",\"type\":\"standalone\",\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"n0t8y6k38shzytn123s7pnrivz8o.htm\"}},{\"name\":\"NOERASE\",\"description\":\"causes the graph to remain on the display when you press Enter after the graph has been displayed.\",\"type\":\"standalone\",\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"p04gybgkwx6qirn1i886fzvbfju1.htm\"}},{\"name\":\"NOFASTTEXT\",\"description\":\"specifies that integer-based font processing is not to be used.\",\"type\":\"standalone\",\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"n08pbom4wci4wjn14mrjiyl44tzw.htm\"}},{\"name\":\"NOFILEONLY\",\"description\":\"specifies that a storage location is the default destination for graphics output, unless a file of the same name exists.\",\"type\":\"standalone\",\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"n19yidk88q839zn18pr1qf4opipe.htm\"}},{\"name\":\"NOFILL\",\"description\":\"causes SAS/GRAPH to use software fills to fill rectangles.\",\"type\":\"standalone\",\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"p1v78mycob80zsn15mssiep5vi0n.htm\"}},{\"name\":\"NOGRAPHRC\",\"description\":\"always returns a step code of 0, even if the SAS/GRAPH program produced errors.\",\"type\":\"standalone\",\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"p1416pwkt92hhbn1cjbgb72w9i5l.htm\"}},{\"name\":\"NOGSFPROMPT\",\"description\":\"Specifies whether to write prompt messages to the graphics stream file (GSF).\",\"type\":\"standalone\",\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"n06j3vkppltfm1n1n4voqpwlxp2y.htm\"}},{\"name\":\"NOIMAGEPRINT\",\"description\":\"specifies that images are to be withheld from graphics output.\",\"type\":\"standalone\",\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"p0492ve56wzttin1gjsvakojxu89.htm\"}},{\"name\":\"NONINTERLACED\",\"description\":\"Specifies whether images are to be displayed as they are received in the browser.\",\"type\":\"standalone\",\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"n1uo2pw523sg6sn1uz9x961698p2.htm\"}},{\"name\":\"NOPCLIP\",\"description\":\"stores the unclipped form of the polygon and causes the polygon to be clipped when replayed.\",\"type\":\"standalone\",\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"n1xl2akcby3k1ln1f2x2fbciazay.htm\"}},{\"name\":\"NOPENSORT\",\"description\":\"causes the plotter to draw each element as it is encountered, regardless of its color.\",\"type\":\"standalone\",\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"p1awyvg7vwmahqn1eaqkr72toik8.htm\"}},{\"name\":\"NOPIEFILL\",\"description\":\"causes SAS/GRAPH to fill pies and pie sections using software pie fills.\",\"type\":\"standalone\",\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"n1queg2zgxqqwkn0zc4psmpzvrt9.htm\"}},{\"name\":\"NOPOLYGONCLIP\",\"description\":\"specifies line clipping; a polygon that has been line-clipped cannot use a hardware pattern.\",\"type\":\"standalone\",\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"n1v9o233f4km9nn1w6sxgddjsi5m.htm\"}},{\"name\":\"NOPOLYGONFILL\",\"description\":\"causes SAS/GRAPH to use software fills to fill polygons.\",\"type\":\"standalone\",\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"n1u9pxlg2tql2an19cji5mrzx5dr.htm\"}},{\"name\":\"NOPROMPT\",\"description\":\"suppresses all prompts. NOPROMPT overrides the GWAIT= graphics option.\",\"type\":\"standalone\",\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"p0nh8wy1o0lk4tn1pakqwljudnym.htm\"}},{\"name\":\"NOQMSG\",\"description\":\"prevents the queuing of messages (default for plotters, cameras, and printers).\",\"type\":\"standalone\",\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"p12w67i0z9ngdzn1xw6kvagkx6e3.htm\"}},{\"name\":\"NOREVERSE\",\"description\":\"Specifies whether to print the output in reverse order, if reverse printing is supported by the device.\",\"type\":\"standalone\",\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"n07hm23fyc58mnn1qx85uqqn7vi0.htm\"}},{\"name\":\"NOROTATE\",\"description\":\"specifies no rotation.\",\"type\":\"standalone\",\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"p08q78a0ev1uf9n1mqkkq8huinc7.htm\"}},{\"name\":\"NOSWAP\",\"description\":\"does not swap the colors.\",\"type\":\"standalone\",\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"p1o7h9rwa25fb8n1cybtl57lwd6n.htm\"}},{\"name\":\"NOSYMBOL\",\"description\":\"causes SAS/GRAPH to draw the symbols using SAS/GRAPH fonts.\",\"type\":\"standalone\",\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"n1goq28h4bzcakn1hz3noe4wwcim.htm\"}},{\"name\":\"NOTRANSPARENCY\",\"description\":\"Specifies whether the background of the image should appear to be transparent when the image is displayed in the browser.\",\"type\":\"standalone\",\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"p0z42ld4n1bs5jn199f44o5i1jrs.htm\"}},{\"name\":\"NOUSERINPUT\",\"description\":\"disables user input\",\"type\":\"standalone\",\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"n1kle9dsm6ungjn18ozb1v75bn2c.htm\"}},{\"name\":\"OFFSHADOW=\",\"description\":\"Controls the width and depth of the drop shadow in legend frames.\",\"help\":\"OFFSHADOW= (*x*&lt;*units*&gt; , *y*&lt;*units*&gt;) | (*x,y*&lt;*units*&gt;)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"(xunits,yunits)\",\"optional\":true,\"placeholder\":true,\"description\":\"specify the width (x) with optional units and depth (y) with optional units of the drop shadow generated by the LEGEND statement.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0ijc8scc9apycn13skip29nb03t\"},{\"name\":\"(x,y units)\",\"optional\":true,\"placeholder\":true,\"description\":\"specify the width (x) and depth (y) with optional units of the drop shadow generated by the LEGEND statement.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0jir6u6j77f12n1jaulmf5dnumz\"}],\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"p0xl7qjgh9z3twn1qgyaeep8puv1.htm\"}},{\"name\":\"PAPERDEST=\",\"description\":\"Specifies which output bin the printer should use if multiple bins are available on the device.\",\"help\":\"PAPERDEST= *bin* | '*long bin name*'\",\"type\":\"choice\",\"arguments\":[{\"name\":\"bin\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the name or number of the output bin.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0votkwstxkk7mn1tc9y517olwlx\"},{\"name\":\"'long\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the name of the output bin as a character string.\",\"help\":\"'*long bin name*'\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0hn34y8gah3lsn16glzm3bqlnkc\"}],\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"n1nhhhg0tnxadin1k8oqy303bzyi.htm\"}},{\"name\":\"PAPERFEED=\",\"description\":\"Specifies the increment of paper that is ejected when a graph is completed.\",\"help\":\"PAPERFEED= *feed-increment*&lt;IN | CM&gt;\",\"type\":\"value\",\"arguments\":[{\"name\":\"feed-increment\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the feed increment as a nonnegative number.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0josmalwgeinon17izqp5op74up\"},{\"name\":\"INCM\",\"optional\":true,\"description\":\"specifies the units as inches (IN) or centimeters (CM).\",\"type\":\"standaloneOrValue\",\"supportSiteTargetFragment\":\"n1rtomzh1hq3n7n1q4s97x3hxrtg\"}],\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"n0xl6unc4k4a39n1ocwhbr3auxkm.htm\"}},{\"name\":\"PAPERLIMIT=\",\"description\":\"Sets the width of the paper used with plotters.\",\"help\":\"PAPERLIMIT= *width*&lt;IN | CM&gt;\",\"type\":\"value\",\"arguments\":[{\"name\":\"width\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the paper width as a numeric value.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1x3ghi9lateajn1tx5xw8tribqi\"},{\"name\":\"INCM\",\"optional\":true,\"description\":\"specifies the units as inches (IN) or centimeters (CM).\",\"type\":\"standaloneOrValue\",\"supportSiteTargetFragment\":\"p1hx2lmvyxliw2n15ug2j1fn8tz1\"}],\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"p1vyrc2enm1u32n1l1p112zttp9e.htm\"}},{\"name\":\"PAPERSIZE=\",\"description\":\"Specifies the name of a paper size.\",\"help\":\"PAPERSIZE= '*size-name*'\",\"type\":\"value\",\"arguments\":[{\"name\":\"size-name\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the name of a paper size, such as LETTER, LEGAL, or A4.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1pebowdwzr9q8n15zvo8ua5fjlo\"}],\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"p150i7r70gnxl0n1cb4i27f56ahj.htm\"}},{\"name\":\"PAPERSOURCE=\",\"description\":\"Specifies which paper tray the printer should use if multiple trays are available on the device.\",\"help\":\"PAPERSOURCE= *tray* | '*long tray name*'\",\"type\":\"choice\",\"arguments\":[{\"name\":\"tray\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the name or number of the paper tray.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0i9dtho7zxqw4n1w9qrfjae35yc\"},{\"name\":\"'long\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the name of the paper tray as a character string.\",\"help\":\"'*long tray name*'\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1crzywushh75kn1i0bp3bo5eqj4\"}],\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"p1gq3sdnrdmmkpn1qqt27avmfypu.htm\"}},{\"name\":\"PAPERTYPE=\",\"description\":\"Specifies the name of a paper type.\",\"help\":\"PAPERTYPE= '*type-name*'\",\"type\":\"value\",\"arguments\":[{\"name\":\"type-name\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the name of a paper type.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0w53u0aoj0huun1i79j41o8o13f\"}],\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"n15yixfmdh3n4sn1f9rkcm7r4ru0.htm\"}},{\"name\":\"PCLIP\",\"description\":\"stores clipped polygons with the graph in the default catalog WORK.GSEG, or in the catalog that you specify.\",\"type\":\"standalone\",\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"n1xl2akcby3k1ln1f2x2fbciazay.htm\"}},{\"name\":\"PENMOUNTS=\",\"description\":\"Specifies the number of active pens or colors.\",\"help\":\"PENMOUNTS= *active-pen-mounts*\",\"type\":\"value\",\"arguments\":[{\"name\":\"active-pen-mounts\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the number of pens for a plotter with multiple pens.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1l9ee4wfaywm2n1ey1o29nj0p98\"}],\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"p13quzh3oyfju7n1vh3honyc5cs6.htm\"}},{\"name\":\"PENSORT\",\"description\":\"causes the plotter to draw all graphics elements of one color at one time.\",\"type\":\"standalone\",\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"p1awyvg7vwmahqn1eaqkr72toik8.htm\"}},{\"name\":\"PIEFILL\",\"description\":\"causes SAS/GRAPH to use the built-in hardware capability of the device, if available, to fill pies and pie sections.\",\"type\":\"standalone\",\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"n1queg2zgxqqwkn0zc4psmpzvrt9.htm\"}},{\"name\":\"POLYGONCLIP\",\"description\":\"specifies polygon clipping, which enables a clipped polygon to be filled with a hardware pattern.\",\"type\":\"standalone\",\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"n1v9o233f4km9nn1w6sxgddjsi5m.htm\"}},{\"name\":\"POLYGONFILL\",\"description\":\"causes SAS/GRAPH to use the built-in hardware capability of the device to fill polygons.\",\"type\":\"standalone\",\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"n1u9pxlg2tql2an19cji5mrzx5dr.htm\"}},{\"name\":\"POSTGEPILOG=\",\"description\":\"Specifies data to send immediately after the data that is stored in the Gepilog field of the device entry is sent.\",\"help\":\"POSTGEPILOG= '*string*'\",\"type\":\"value\",\"arguments\":[{\"name\":\"'string'\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the data to send immediately after the data that is stored in the Gepilog field of the device entry is sent.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p012n52mcggd7hn1kaf0ll6fx7qp\"}],\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"n17tpsislhk531n18vw2h72sawsh.htm\"}},{\"name\":\"POSTGPROLOG=\",\"description\":\"Specifies the data to send immediately after the data that is stored in the Gprolog field of the device entry is sent.\",\"help\":\"POSTGPROLOG= '*string*'\",\"type\":\"value\",\"arguments\":[{\"name\":\"'string'\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the data to send immediately after the data that is stored in the Gprolog field of the device entry is sent.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0tpehpzvvolamn19ajbw7flgshx\"}],\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"p05mrwy21xk1j4n1cyro50ng5atl.htm\"}},{\"name\":\"POSTGRAPH1=\",\"description\":\"Specifies host commands to be executed after the graph is produced.\",\"help\":\"POSTGRAPH1= '*system-command(s)*'\",\"type\":\"value\",\"arguments\":[{\"name\":\"system-command\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies one or more valid system commands.\",\"help\":\"*system-command(s)*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1mcgflsy7c031n10sw79xgcjqla\"}],\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"p0glhn21x0yiepn1otlq74xutjcu.htm\"}},{\"name\":\"POSTGRAPH2=\",\"description\":\"Specifies host commands to be executed after the graph is produced.\",\"help\":\"POSTGRAPH2= '*system-command(s)*'\",\"type\":\"value\",\"arguments\":[{\"name\":\"system-command\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies one or more valid system commands.\",\"help\":\"*system-command(s)*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1mcgflsy7c031n10sw79xgcjqla\"}],\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"p0glhn21x0yiepn1otlq74xutjcu.htm\"}},{\"name\":\"PPDFILE=\",\"description\":\"Specifies the location of an external file containing PostScript Printer Description (PPD) information.\",\"help\":\"PPDFILE= *fileref* | '*external-file*'\",\"type\":\"choice\",\"arguments\":[{\"name\":\"fileref\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies a fileref that points to the PPD file that you want to use.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n06wdue3dcv4cyn0zpltn6owzcek\"},{\"name\":\"external-file\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the complete filename of the PPD file that you want to use.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1pa0rhbf7m5x2n12aco8jlt303e\"}],\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"n0aptcbih0z2byn144wind237jxr.htm\"}},{\"name\":\"PREGEPILOG=\",\"description\":\"Specifies data to send immediately before the data that is stored in the Gepilog field of the device entry is sent.\",\"help\":\"PREGEPILOG= '*string*'\",\"type\":\"value\",\"arguments\":[{\"name\":\"'string'\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies data to send immediately before the data that is stored in the Gepilog field of the device entry is sent.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0li0f2px0n8lpn19iguahmdwb12\"}],\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"p0wqlj3jkxrs9dn1qrv0vh7o5w3l.htm\"}},{\"name\":\"PREGPROLOG=\",\"description\":\"Specifies the data to send immediately before the data that is stored in the Gprolog field of the device entry is sent.\",\"help\":\"PREGPROLOG= '*string*'\",\"type\":\"value\",\"arguments\":[{\"name\":\"'string'\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the data to send immediately before the data that is stored in the Gprolog field of the device entry is sent.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1ccwelkgc0kr2n1ibkrn6c5zqb7\"}],\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"p18qepstversxon1l2rytqsqxlw6.htm\"}},{\"name\":\"PREGRAPH1=\",\"description\":\"Specifies host commands to be executed before the graph is produced.\",\"help\":\"PREGRAPH1= '*system-command(s)*'\",\"type\":\"value\",\"arguments\":[{\"name\":\"system-command\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies one or more valid system commands.\",\"help\":\"*system-command(s)*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0jts814jh5j6hn1tupopt6n5bze\"}],\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"n01gw81jg6mugnn1ezit0i02j93g.htm\"}},{\"name\":\"PREGRAPH2=\",\"description\":\"Specifies host commands to be executed before the graph is produced.\",\"help\":\"PREGRAPH2= '*system-command(s)*'\",\"type\":\"value\",\"arguments\":[{\"name\":\"system-command\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies one or more valid system commands.\",\"help\":\"*system-command(s)*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0jts814jh5j6hn1tupopt6n5bze\"}],\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"n01gw81jg6mugnn1ezit0i02j93g.htm\"}},{\"name\":\"PROMPT\",\"description\":\"causes all prompts to be displayed.\",\"type\":\"standalone\",\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"p0nh8wy1o0lk4tn1pakqwljudnym.htm\"}},{\"name\":\"PROMPTCHARS=\",\"description\":\"Selects the prompt characters to be used by SAS/GRAPH device drivers.\",\"help\":\"PROMPTCHARS= '*prompt-chars-hex-string*'X\",\"type\":\"value\",\"arguments\":[{\"name\":\"prompt-chars-hex-string\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the prompt characters to be used by SAS/GRAPH device drivers as an 8-byte hexadecimal string that is specified as 16 hexadecimal characters.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1lr97ed7xlcdun1lebt4q0bp6w5\"}],\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"n0kwo2tr2dk41hn1wywlwg3al9yd.htm\"}},{\"name\":\"QMSG\",\"description\":\"queues driver messages while the device is in graphics mode (default for video devices).\",\"type\":\"standalone\",\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"p12w67i0z9ngdzn1xw6kvagkx6e3.htm\"}},{\"name\":\"RENDER=\",\"description\":\"Controls the creation and disposition of rendered Bitstream fonts.\",\"help\":\"RENDER= APPEND | DISK | MEMORY | NONE | READ\",\"type\":\"choice\",\"arguments\":[{\"name\":\"APPEND\",\"optional\":true,\"description\":\"creates files to store rendered versions of Bitstream fonts if the files do not already exist, reads previously rendered characters from the font files, and appends rendered versions of new characters to the font files when the SAS/GRAPH procedure terminates.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1hnf36f0j8bn8n1vh2lqadqgygj\"},{\"name\":\"DISK\",\"optional\":true,\"description\":\"creates files to store rendered versions of Bitstream fonts if the files do not already exist, reads previously rendered characters from the font files, and appends rendered versions of new characters to the font files as they are encountered.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0s0710zk0eechn1n6o0tewvf3lc\"},{\"name\":\"MEMORY\",\"optional\":true,\"description\":\"renders all fonts in memory without creating any font files on disk.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n02ylraoi8zcmqn1svzd8haawez1\"},{\"name\":\"NONE\",\"optional\":true,\"description\":\"disables the font rendering features.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0jzlmacrq6sx9n1g7s1m67v25d7\"},{\"name\":\"READ\",\"optional\":true,\"description\":\"reads existing rendered font files but does not create new font files or write new characters to existing font files.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0evvbm2z6ky6tn1soqgfe6pfnfz\"}],\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"p0a9o3j3b7p4jvn1khef2as92b7z.htm\"}},{\"name\":\"RENDERLIB=\",\"description\":\"Specifies the SAS library in which rendered font files are stored.\",\"help\":\"RENDERLIB= *libref*\",\"type\":\"dataSet\",\"arguments\":[{\"name\":\"libref\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies a previously defined libref that identifies the SAS library.\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"p14afede6rtzsbn1uffjc8vbtc5n\"}],\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"n0bj4qkb0nj1ian1638yh1l7zs4u.htm\"}},{\"name\":\"REPAINT=\",\"description\":\"Specifies how many times to redraw the graph.\",\"help\":\"REPAINT= *redraw-factor*\",\"type\":\"value\",\"arguments\":[{\"name\":\"redraw-factor\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies how many times to redraw the graph as a integer in the range 0–999.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1agq5la4s54x8n1c0fl05rciq2r\"}],\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"p1k84ld2aly4x0n19rghjhioo8pp.htm\"}},{\"name\":\"RESET=\",\"description\":\"Resets graphics options to their default values, cancels global statements, or both.\",\"help\":\"RESET= ALL | GLOBAL | *statement-name* | (*statement-name(s)*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ALL\",\"optional\":true,\"description\":\"sets all graphics options to defaults and cancels all global statements.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0zxbscriio3u0n1bvvclrxj3qu4\"},{\"name\":\"GLOBAL\",\"optional\":true,\"description\":\"cancels all global statements (AXIS, FOOTNOTE, LEGEND, PATTERN, SYMBOL, and TITLE).\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0q2t280hecobpn1eowf58xwb2qo\"},{\"name\":\"statement-name\",\"optional\":true,\"placeholder\":true,\"description\":\"resets or cancels only the specified global statements.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n07wf02gblguevn1u71rtlk3ymwo\"}],\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"n042evhsr0ogogn1o812cpcpnid4.htm\"}},{\"name\":\"REVERSE\",\"description\":\"Specifies whether to print the output in reverse order, if reverse printing is supported by the device.\",\"type\":\"standalone\",\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"n07hm23fyc58mnn1qx85uqqn7vi0.htm\"}},{\"name\":\"ROTATE\",\"description\":\"specifies rotation of 90 degrees from the default graph orientation.\",\"type\":\"standalone\",\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"p08q78a0ev1uf9n1mqkkq8huinc7.htm\"}},{\"name\":\"ROTATE=\",\"description\":\"Specifies whether and how to rotate the graph.\",\"help\":\"ROTATE= LANDSCAPE | PORTRAIT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"LANDSCAPE\",\"optional\":true,\"description\":\"specifies landscape orientation (the graph is wider than it is high).\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n04z515v5prkrun1owyg0ztjd6nd\"},{\"name\":\"PORTRAIT\",\"optional\":true,\"description\":\"specifies portrait orientation (the graph is higher than it is wide).\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0jyu5dj56r4xkn1ay6nqhcpy2ik\"}],\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"p1a6jafawe7vonn18wkaaz8fzp18.htm\"}},{\"name\":\"SIMFONT=\",\"description\":\"Specifies a SAS/GRAPH font to use if the default device-resident font cannot be used.\",\"help\":\"SIMFONT= *SAS/GRAPH-font*\",\"type\":\"value\",\"arguments\":[{\"name\":\"SAS/GRAPH-font\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies a SAS/GRAPH font to use instead of the default device-resident font.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0nn4qb2uafb6dn11dqx2huukqff\"}],\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"p0ex2zp0hlus0qn1ao5oh24lxubl.htm\"}},{\"name\":\"SPEED=\",\"description\":\"Selects pen speed for plotters with variable speed selection.\",\"help\":\"SPEED= *pen-speed*\",\"type\":\"value\",\"arguments\":[{\"name\":\"pen-speed\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies a percentage (1 through 100) of the maximum pen speed for the device.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1u1kt0deabj2kn1ha8t57f4ayvc\"}],\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"n0oa91bbc4jsxln1erl7c3027s4u.htm\"}},{\"name\":\"SWAP\",\"description\":\"swaps BLACK for WHITE and vice versa.\",\"type\":\"standalone\",\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"p1o7h9rwa25fb8n1cybtl57lwd6n.htm\"}},{\"name\":\"SWFONTRENDER=\",\"description\":\"Specifies the method used to render system fonts.\",\"help\":\"SWFONTRENDER= POLYGON | SCANLINE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"POLYGON\",\"optional\":true,\"description\":\"uses polygon rendering\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0jfk6y45y0huan1pavao3cyj0kh\"},{\"name\":\"SCANLINE\",\"optional\":true,\"description\":\"uses scanline rendering\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0i27jce5suxnin195jzszfap3km\"}],\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"n0k3m1z9spm59nn1jkyo8c4ss155.htm\"}},{\"name\":\"SYMBOL\",\"description\":\"causes SAS/GRAPH to use the built-in symbol-drawing capability of the device, if available.\",\"type\":\"standalone\",\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"n1goq28h4bzcakn1hz3noe4wwcim.htm\"}},{\"name\":\"TARGETDEVICE=\",\"aliases\":[\"TARGET\"],\"description\":\"Displays the output as it would appear on a different device. Also, specifies the device driver for the PRINT command.\",\"help\":\"TARGETDEVICE= *target-device-entry*\",\"type\":\"value\",\"arguments\":[{\"name\":\"target-device-entry\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the name of a device entry in a catalog.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0mukys17jkrayn14w0ll3oo0vj2\"}],\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"p0ccmfpweaaxw4n15tfx1db6iwuo.htm\"}},{\"name\":\"TRANSPARENCY\",\"description\":\"Specifies whether the background of the image should appear to be transparent when the image is displayed in the browser.\",\"type\":\"standalone\",\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"p0z42ld4n1bs5jn199f44o5i1jrs.htm\"}},{\"name\":\"TRANTAB=\",\"description\":\"Selects a translate table for your system that performs ASCII-to-EBCDIC translation.\",\"help\":\"TRANTAB= *table* | *user-defined-table*\",\"type\":\"choice\",\"arguments\":[{\"name\":\"table\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies a translate table stored as a SAS/GRAPH catalog entry.\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"p13427717n4x6an1vmw192bkh4z4\"},{\"name\":\"user-defined-table\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the name of a user-created translate table.\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"n0osy7pfwmtrl3n1hf3r9jjjkxf5\"}],\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"p1uls4ncc88i6in18addwj8aufvq.htm\"}},{\"name\":\"UCC=\",\"description\":\"Sets the user-defined control characters for the device.\",\"help\":\"UCC= '*control-characters-hex-string*'X\",\"type\":\"value\",\"arguments\":[{\"name\":\"control-characters-hex-string\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the user-defined control characters for the device as a hexadecimal string that can be up 32 bytes (64 characters) long.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0gpshrxu7jfoen1lenzbsts71zk\"}],\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"n0wgfppzuxzjxan1qdlt7aj7d0q8.htm\"}},{\"name\":\"USERINPUT\",\"description\":\"enables user input\",\"type\":\"standalone\",\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"n1kle9dsm6ungjn18ozb1v75bn2c.htm\"}},{\"name\":\"VORIGIN=\",\"description\":\"Sets the vertical offset from the lower left corner of the display area to the lower left corner of the graph.\",\"help\":\"VORIGIN= *vertical-offset*&lt;IN | CM | PT&gt;\",\"type\":\"value\",\"arguments\":[{\"name\":\"vertical-offset\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the vertical offset as a nonnegative number.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0sd8ecrevzwnqn1n3549cqb8aes\"},{\"name\":\"INCMPT\",\"optional\":true,\"description\":\"specifies the units as inches (IN), centimeters (CM), or points (PT).\",\"type\":\"choice\",\"arguments\":[{\"name\":\"IN\",\"type\":\"standalone\"},{\"name\":\"CM\",\"type\":\"standalone\"},{\"name\":\"PT\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"n033rfq1esc0t3n1jwx19dml262u\"}],\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"n0ly0dlpz9dsoin10xldiezx3iqr.htm\"}},{\"name\":\"VPOS=\",\"description\":\"Sets the number of rows in the graphics output area.\",\"help\":\"VPOS= *rows*\",\"type\":\"value\",\"arguments\":[{\"name\":\"rows\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the number of rows in the graphics output area, which is equivalent to the number of hardware characters that can be displayed vertically.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n084pxnz2bop42n13fsgfwpwuz6e\"}],\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"p0jw11aj426o0jn1elfkqlmiklb4.htm\"}},{\"name\":\"VSIZE=\",\"description\":\"Sets the vertical size of the graphics output area.\",\"help\":\"VSIZE= *vertical-size*&lt;IN | CM | PT&gt;\",\"type\":\"value\",\"arguments\":[{\"name\":\"vertical-size\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the height of the graphics output area as a positive number.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0vbehg6uxfc4xn1wnqxb4hfez9e\"},{\"name\":\"INCMPT\",\"optional\":true,\"description\":\"specifies the units as inches (IN), centimeters (CM), or points (PT).\",\"type\":\"choice\",\"arguments\":[{\"name\":\"IN\",\"type\":\"standalone\"},{\"name\":\"CM\",\"type\":\"standalone\"},{\"name\":\"PT\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"n0ep4h0xjgsok1n1aqqggbs2fgui\"}],\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"p1abr61fgnk6pan1j5qmtqwv6z2a.htm\"}},{\"name\":\"XMAX=\",\"description\":\"Specifies the width of the addressable graphics display area; affects the horizontal resolution of the device and the horizontal dimension of the graphics output area.\",\"help\":\"XMAX= *width*&lt;IN | CM | PT&gt;\",\"type\":\"value\",\"arguments\":[{\"name\":\"width\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the width of the addressable graphics display area as a positive number.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1sakqhb3jdycen0zhxiur4l8drj\"},{\"name\":\"INCMPT\",\"optional\":true,\"description\":\"specifies the units as inches (IN), centimeters (CM), or points (PT).\",\"type\":\"choice\",\"arguments\":[{\"name\":\"IN\",\"type\":\"standalone\"},{\"name\":\"CM\",\"type\":\"standalone\"},{\"name\":\"PT\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"p0fkx97tk2ymxbn1sl8agdfz46es\"}],\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"p1t6dnp9jmn39qn1iw6abzq4m38u.htm\"}},{\"name\":\"XPIXELS=\",\"description\":\"Specifies the width of the addressable display area in pixels and in conjunction with XMAX determines the horizontal resolution for the device.\",\"help\":\"XPIXELS= *width-in-pixels*\",\"type\":\"value\",\"arguments\":[{\"name\":\"width-in-pixels\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the width of the addressable display area in pixels as an integer in the range 0–99999999.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1o199dwbpx9ebn1lsu8g3vxbd9v\"}],\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"n0mwck1ige61ksn1u0ino33kq7t5.htm\"}},{\"name\":\"YMAX=\",\"description\":\"Specifies the height of the addressable graphics display area; affects the vertical resolution of the device and the vertical dimension of the graphics output area.\",\"help\":\"YMAX= *height*&lt;IN | CM | PT&gt;\",\"type\":\"value\",\"arguments\":[{\"name\":\"height\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the height of the addressable graphics display area as a positive number optionally followed by a units specification of IN for inches (default), CM for centimeters, or PT for points.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0n1ep7rfik50nn162l5si7bbrn8\"},{\"name\":\"INCMPT\",\"optional\":true,\"description\":\"specifies the units as inches (IN), centimeters (CM), or points (PT).\",\"type\":\"choice\",\"arguments\":[{\"name\":\"IN\",\"type\":\"standalone\"},{\"name\":\"CM\",\"type\":\"standalone\"},{\"name\":\"PT\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"n1fgf7kfk8w80an1kpjbiy5mcfly\"}],\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"n1iuwvb5nw14m0n1jcqspsocly94.htm\"}},{\"name\":\"YPIXELS=\",\"description\":\"Specifies the height of the addressable display area in pixels and in conjunction with YMAX determines the horizontal resolution for the device.\",\"help\":\"YPIXELS= *height-in-pixels*\",\"type\":\"value\",\"arguments\":[{\"name\":\"height-in-pixels\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the height of the addressable display area in pixels as an integer in the range 0–99999999.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p08fm7lzwzegybn0zj2al5iujota\"}],\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"p0ksp3megb2h2qn15fci892vi0t2.htm\"}}],\"supportSiteInformation\":{\"docsetId\":\"grmapref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"p0vu32btexjo29n1jqrva2glsyns.htm\"}},{\"name\":\"LEGEND\",\"description\":\"Controls the location and appearance of legends on maps.\",\"help\":\"LEGEND &lt;*1* - *99*&gt;&lt;*options*&gt;;\",\"arguments\":[{\"name\":\"ACROSS=\",\"optional\":true,\"description\":\"specifies the number of columns to use for legend entries.\",\"help\":\"ACROSS=*number-of-columns*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1uzljm9bfzcx0n1956101y5xy5n\"},{\"name\":\"CBLOCK=\",\"optional\":true,\"description\":\"generates and colors a three-dimensional block effect behind the legend.\",\"help\":\"CBLOCK=*block-color*\",\"type\":\"color\",\"supportSiteTargetFragment\":\"p0d07ru7nuqbwkn1f4p2r1btr7cq\"},{\"name\":\"CBORDER=\",\"optional\":true,\"description\":\"draws a colored frame around the legend.\",\"help\":\"CBORDER=*frame-color*\",\"type\":\"color\",\"supportSiteTargetFragment\":\"n02y2vjqm248i6n1soh3sqz13f7y\"},{\"name\":\"CFRAME=\",\"optional\":true,\"description\":\"specifies the background color of the legend.\",\"help\":\"CFRAME=*background-color*\",\"type\":\"color\",\"supportSiteTargetFragment\":\"n0cytedymbirmen14ve5t3xn10h1\"},{\"name\":\"CSHADOW=\",\"optional\":true,\"description\":\"generates and colors a drop shadow behind the legend.\",\"help\":\"CSHADOW=*shadow-color*\",\"type\":\"color\",\"supportSiteTargetFragment\":\"p0kyp3sqkpxuzrn1l81vb59vnmd5\"},{\"name\":\"DOWN=\",\"optional\":true,\"description\":\"specifies the number of rows to use for legend entries.\",\"help\":\"DOWN=*number-of-rows*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n06u37b1jgj5zwn1o5lxg7l8thga\"},{\"name\":\"FRAME\",\"optional\":true,\"description\":\"draws a frame around the legend.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n15712mjcvqidbn1fwbn8pbkku3v\"},{\"name\":\"NOFRAME\",\"optional\":true,\"description\":\"draws a frame around the legend.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n15712mjcvqidbn1fwbn8pbkku3v\"},{\"name\":\"FWIDTH=\",\"optional\":true,\"description\":\"specifies the thickness of the frame, where thickness-factor is a number.\",\"help\":\"FWIDTH=*thickness-factor*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1new7nzs8hf8dn1br1zb6vvxe32\"},{\"name\":\"LABEL=\",\"optional\":true,\"description\":\"modifies a legend label.\",\"help\":\"LABEL=(*text-options* | (&lt;*text-options*&gt; \\\"*text-string*\\\") | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ANGLE=\",\"aliases\":[\"A=\"],\"description\":\"specifies the angle of the legend label or legend value description text with respect to the horizontal. A positive value for degrees moves the text counterclockwise; a negative value moves it clockwise. By default, ANGLE=0 (horizontal).\",\"help\":\"ANGLE=*degrees*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1cy5si2yy24nsn1buo0wwmo38u1\"},{\"name\":\"COLOR=\",\"aliases\":[\"C=\"],\"description\":\"specifies the color of the text. If you omit the COLOR= option, a color specification is searched for in this order:\",\"help\":\"COLOR=*text-color*\",\"type\":\"color\",\"supportSiteTargetFragment\":\"p062c8vyztdnx7n1moz0o0pyyj4n\"},{\"name\":\"FONT=\",\"aliases\":[\"F=\"],\"description\":\"specifies the font for the text. See for information about specifying fonts. If you omit the FONT= option, a font specification is searched for in this order:\",\"help\":\"FONT=*font* | NONE             \",\"type\":\"choice\",\"arguments\":[{\"name\":\"font\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"NONE\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"p1a5nvavtnum8bn153lti7fw8xxm\"},{\"name\":\"HEIGHT=\",\"aliases\":[\"H=\"],\"description\":\"specifies the height of the text characters in the number of units. By default, HEIGHT=1 CELL. If you omit the HEIGHT= option, a text height specification is searched for in this order:\",\"help\":\"HEIGHT=text-height\\n            <units>\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0h9nyi0h4ekwcn18g983jz59oi9\"},{\"name\":\"JUSTIFY=\",\"aliases\":[\"J=\"],\"description\":\"specifies the alignment of the text. The default for character variables is JUSTIFY=LEFT. The default for numeric variables is JUSTIFY=RIGHT. Associating a character format with a numeric variable does not change the default justification of the variable.\",\"help\":\"JUSTIFY=LEFT | CENTER | RIGHT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"LEFT\",\"aliases\":[\"L\"],\"description\":\"aligns the text to the left.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1c78y1laktrxan1c51u1dxxgq9o\"},{\"name\":\"CENTER\",\"aliases\":[\"C\"],\"description\":\"aligns the text in the center.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1bmom7pgroyi0n14ob3gr9aq77d\"},{\"name\":\"RIGHT\",\"aliases\":[\"R\"],\"description\":\"aligns the text to the right.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0et5fsyok7x3fn1mufyzcajgyvq\"}],\"supportSiteTargetFragment\":\"p0el03kb3b9j2bn1pvyg4l2e63zf\"},{\"name\":\"POSITION=\",\"description\":\"places the legend label in relation to the legend entries. The POSITION= option is used only with the LABEL= option. By default, POSITION=LEFT.\",\"help\":\"POSITION=(<BOTTOM | MIDDLE | TOP>\\n            <LEFT | CENTER | RIGHT>)\",\"type\":\"standaloneOrValue\",\"supportSiteTargetFragment\":\"p01ogw8ibr2yfcn1xfdg8dcw4hkt\"},{\"name\":\"ROTATE=\",\"aliases\":[\"R=\"],\"description\":\"specifies the angle at which each character of text is rotated with respect to the baseline of the text string. A positive value for degree rotates the character counterclockwise; a negative value moves it clockwise. By default, ROTATE=0 (parallel to the baseline).\",\"help\":\"ROTATE=*degrees*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1p8g14t95s1zrn1a83woyem610o\"},{\"name\":\"TICK=\",\"aliases\":[\"T=\"],\"description\":\"specifies the nth legend entry. The TICK= option is used only with the VALUE= option to designate the legend entry whose text and appearance you want to modify. For example, to change the text of the third legend entry to Minneapolis, specify the following code:\",\"help\":\"TICK=*n*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0pwsyautoh59sn1tx2734ebg0tm\"},{\"name\":\"\\\"text-string\\\"\",\"placeholder\":true,\"description\":\"provides up to 256 characters of label text. Enclose each string in quotation marks. Separate multiple strings with blanks.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1jwhuyugopavjn19g58rpewuo0z\"},{\"name\":\"NONE\",\"description\":\"suppresses the value descriptions.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1rcgd2jns8s6wn13xjhmkae17ta\"}],\"supportSiteTargetFragment\":\"n0fzpwnqcv4fjqn16gdtleollfv4\"},{\"name\":\"MODE=\",\"optional\":true,\"description\":\"specifies whether the legend is drawn in the procedure output area or whether legend elements can overlay other graphics elements.\",\"help\":\"MODE=PROTECT | RESERVE | SHARE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"PROTECT\",\"description\":\"draws the legend in the procedure output area, but a blanking area surrounds the legend, preventing other graphics elements from being displayed in the legend. (A blanking area is a protected area in which no other graphics elements are displayed.)\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1kawaf0y64ta0n10ntw0n7b0hgx\"},{\"name\":\"RESERVE\",\"description\":\"takes space for the legend from the procedure output area, thereby reducing the amount of space available for the graph. If MODE=RESERVE is specified in conjunction with OFFSET=, the legend can push the graph off the graphics output area. RESERVE is valid only when POSITION=OUTSIDE. If POSITION=INSIDE is specified, a warning is issued and MODE= value is changed to PROTECT.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1i95zaordjz3dn1w8vj0rjp8og9\"},{\"name\":\"SHARE\",\"description\":\"draws the legend in the procedure output area. If the legend is positioned over elements of the graph itself, both graphics elements and legend elements are displayed.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0lprfc0omjq05n1vy3cfkudmkiz\"}],\"supportSiteTargetFragment\":\"p0lfy93pwpnhuun1wvwxyz4sj0zc\"},{\"name\":\"OFFSET=\",\"optional\":true,\"description\":\"specifies the distance to move the entire legend.\",\"help\":\"OFFSET=(&lt;*x*&gt;&lt;,*y*&gt;)&lt;*units*&gt; | (&lt;*x*&lt;*units*&gt;&gt;&lt;,*y*&lt;*units*&gt;&gt;)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"(x,y)units\",\"placeholder\":true,\"type\":\"standaloneOrValue\"},{\"name\":\"(xunits,yunits)\",\"placeholder\":true,\"type\":\"standaloneOrValue\"}],\"supportSiteTargetFragment\":\"p070apaz70bd2gn1v9dtkr7omge6\"},{\"name\":\"ORDER=\",\"optional\":true,\"description\":\"selects or orders the legend values that appear in the legend.\",\"help\":\"ORDER=(*value-list*) | DESCENDING\",\"type\":\"choice\",\"arguments\":[{\"name\":\"(value-list)\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"DESCENDING\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"p1th0k0va2552zn101638df1ftiz\"},{\"name\":\"ORIGIN=\",\"optional\":true,\"description\":\"specifies the x and y coordinates of the lower left corner of the legend box.\",\"help\":\"ORIGIN=(&lt;*x*&gt;&lt;,*y*&gt;)&lt;*units*&gt; | (&lt;*x*&lt;*units*&gt;&gt;&lt;,*y*&lt;*units*&gt;&gt;)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"(x,y)units\",\"placeholder\":true,\"type\":\"standaloneOrValue\"},{\"name\":\"(xunits,yunits)\",\"placeholder\":true,\"type\":\"standaloneOrValue\"}],\"supportSiteTargetFragment\":\"n14kp3bbj85ov3n0z3hthddhmo3e\"},{\"name\":\"POSITION=\",\"optional\":true,\"description\":\"positions the legend on the graph.\",\"help\":\"POSITION=(&lt;BOTTOM | MIDDLE | TOP&gt; &lt;LEFT | CENTER | RIGHT&gt; &lt;OUTSIDE | INSIDE&gt;)\",\"type\":\"standaloneOrValue\",\"arguments\":[{\"name\":\"OUTSIDE\",\"description\":\"specifies the location of the legend in relation to the axis area.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1txch3ktedxkcn165o36sqkpsag\"},{\"name\":\"INSIDE\",\"description\":\"specifies the location of the legend in relation to the axis area.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1txch3ktedxkcn165o36sqkpsag\"},{\"name\":\"BOTTOM\",\"description\":\"specifies the vertical position.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0z09pw0bk560xn0zoq086ylklca\"},{\"name\":\"MIDDLE\",\"description\":\"specifies the vertical position.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0z09pw0bk560xn0zoq086ylklca\"},{\"name\":\"TOP\",\"description\":\"specifies the vertical position.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0z09pw0bk560xn0zoq086ylklca\"},{\"name\":\"LEFT\",\"description\":\"specifies the horizontal position.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p19efjcynpypo9n1h7tb0fg09dwo\"},{\"name\":\"CENTER\",\"description\":\"specifies the horizontal position.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p19efjcynpypo9n1h7tb0fg09dwo\"},{\"name\":\"RIGHT\",\"description\":\"specifies the horizontal position.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p19efjcynpypo9n1h7tb0fg09dwo\"}],\"supportSiteTargetFragment\":\"n17g76ugqar1evn1sdwcoesmpm4b\"},{\"name\":\"REPEAT=\",\"optional\":true,\"description\":\"specifies how many times the plot symbol is repeated in the legend.\",\"help\":\"REPEAT=1 | 2 | 3 \",\"type\":\"choice\",\"arguments\":[{\"name\":\"1\",\"type\":\"standalone\"},{\"name\":\"2\",\"type\":\"standalone\"},{\"name\":\"3\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"p04gtha399fn9fn1fcv9nr6t4vjo\"},{\"name\":\"ROWMAJOR\",\"optional\":true,\"description\":\"specifies the arrangement of legend entries when there are multiple rows and multiple columns.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1nivc2upsng42n1xhajy33c0sf4\"},{\"name\":\"COLMAJOR\",\"optional\":true,\"description\":\"specifies the arrangement of legend entries when there are multiple rows and multiple columns.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1nivc2upsng42n1xhajy33c0sf4\"},{\"name\":\"SHAPE=\",\"optional\":true,\"description\":\"specifies the size and shape of the legend values displayed in each legend entry.\",\"help\":\" SHAPE=BAR(*width*&lt;*units*&gt;,*height*&lt;*units*&gt;) &lt;*units*&gt;\",\"type\":\"value\",\"arguments\":[{\"name\":\"BAR\",\"description\":\"is used with the GMAP procedure. Each legend value is a bar of the specified width and height.\",\"help\":\"BAR(*width*,*height*)&lt;*units*&gt;\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0c81bev79e7dcn1oe4pg9if2e62\"},{\"name\":\"(widthunits,heightunits) units\",\"placeholder\":true,\"description\":\"is used with the GMAP procedure. Each legend value is a bar of the specified width and height.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0c81bev79e7dcn1oe4pg9if2e62\"},{\"name\":\"LINE\",\"description\":\"is used with the GPLOT and GCONTOUR procedures. Each legend value is a line of the length that you specify. Plotting symbols are omitted from the legend values. You can specify units for length.\",\"help\":\"LINE(*length*) &lt;*units*&gt;\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1dcqv9wx5sc3an1rcwjniy9hu65\"},{\"name\":\"SYMBOL\",\"description\":\"is used with the GPLOT procedure. Each legend value (not each symbol), is the width and height that you specify. For example, this specification produces legend values like the ones in (a):\",\"help\":\"SYMBOL(*width*,*height*)&lt;*units*&gt;\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1hgc3yktvxjnon11lymn6mv9h8c\"},{\"name\":\"(widthunits,heightunits) units\",\"placeholder\":true,\"description\":\"is used with the GPLOT procedure. Each legend value (not each symbol), is the width and height that you specify. For example, this specification produces legend values like the ones in (a):\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1hgc3yktvxjnon11lymn6mv9h8c\"}],\"supportSiteTargetFragment\":\"n00ga5dkl2er7cn13h2shg82amkk\"},{\"name\":\"SPACE=\",\"optional\":true,\"description\":\"specifies the amount of space between individual legend values along a horizontal baseline.\",\"help\":\"SPACE=*value-spacing*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0l97rvclrytebn1v49v5smvqrai\"},{\"name\":\"SPLIT=\",\"optional\":true,\"description\":\"specifies one or more characters that the LEGEND statement uses to break a text description string into multiple lines.\",\"help\":\"SPLIT=\\\"*split-char(s)*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0fidumrhnfpoon12v188yf7im3y\"},{\"name\":\"VALUE=\",\"optional\":true,\"description\":\"modifies the legend value descriptions.\",\"help\":\"VALUE=(*text-options* | (&lt;*text-options*&gt; \\\"*text-string*\\\") | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ANGLE=\",\"aliases\":[\"A=\"],\"description\":\"specifies the angle of the legend label or legend value description text with respect to the horizontal. A positive value for degrees moves the text counterclockwise; a negative value moves it clockwise. By default, ANGLE=0 (horizontal).\",\"help\":\"ANGLE=*degrees*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1cy5si2yy24nsn1buo0wwmo38u1a\"},{\"name\":\"COLOR=\",\"aliases\":[\"C=\"],\"description\":\"specifies the color of the text. If you omit the COLOR= option, a color specification is searched for in this order:\",\"help\":\"COLOR=*text-color*\",\"type\":\"color\",\"supportSiteTargetFragment\":\"p062c8vyztdnx7n1moz0o0pyyj4na\"},{\"name\":\"FONT=\",\"aliases\":[\"F=\"],\"description\":\"specifies the font for the text. See for information about specifying fonts. If you omit the FONT= option, a font specification is searched for in this order:\",\"help\":\"FONT=*font* | NONE             \",\"type\":\"choice\",\"arguments\":[{\"name\":\"font\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"NONE\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"p1a5nvavtnum8bn153lti7fw8xxma\"},{\"name\":\"HEIGHT=\",\"aliases\":[\"H=\"],\"description\":\"specifies the height of the text characters in the number of units. By default, HEIGHT=1 CELL. If you omit the HEIGHT= option, a text height specification is searched for in this order:\",\"help\":\"HEIGHT=text-height\\n            <units>\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0h9nyi0h4ekwcn18g983jz59oi9a\"},{\"name\":\"JUSTIFY=\",\"aliases\":[\"J=\"],\"description\":\"specifies the alignment of the text. The default for character variables is JUSTIFY=LEFT. The default for numeric variables is JUSTIFY=RIGHT. Associating a character format with a numeric variable does not change the default justification of the variable.\",\"help\":\"JUSTIFY=LEFT | CENTER | RIGHT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"LEFT\",\"aliases\":[\"L\"],\"description\":\"aligns the text to the left.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1c78y1laktrxan1c51u1dxxgq9oa\"},{\"name\":\"CENTER\",\"aliases\":[\"C\"],\"description\":\"aligns the text in the center.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1bmom7pgroyi0n14ob3gr9aq77da\"},{\"name\":\"RIGHT\",\"aliases\":[\"R\"],\"description\":\"aligns the text to the right.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0et5fsyok7x3fn1mufyzcajgyvqa\"}],\"supportSiteTargetFragment\":\"p0el03kb3b9j2bn1pvyg4l2e63zfa\"},{\"name\":\"POSITION=\",\"description\":\"places the legend label in relation to the legend entries. The POSITION= option is used only with the LABEL= option. By default, POSITION=LEFT.\",\"help\":\"POSITION=(<BOTTOM | MIDDLE | TOP>\\n            <LEFT | CENTER | RIGHT>)\",\"type\":\"standaloneOrValue\",\"supportSiteTargetFragment\":\"p01ogw8ibr2yfcn1xfdg8dcw4hkta\"},{\"name\":\"ROTATE=\",\"aliases\":[\"R=\"],\"description\":\"specifies the angle at which each character of text is rotated with respect to the baseline of the text string. A positive value for degree rotates the character counterclockwise; a negative value moves it clockwise. By default, ROTATE=0 (parallel to the baseline).\",\"help\":\"ROTATE=*degrees*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1p8g14t95s1zrn1a83woyem610oa\"},{\"name\":\"TICK=\",\"aliases\":[\"T=\"],\"description\":\"specifies the nth legend entry. The TICK= option is used only with the VALUE= option to designate the legend entry whose text and appearance you want to modify. For example, to change the text of the third legend entry to Minneapolis, specify the following code:\",\"help\":\"TICK=*n*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0pwsyautoh59sn1tx2734ebg0tma\"},{\"name\":\"\\\"text-string\\\"\",\"placeholder\":true,\"description\":\"provides up to 256 characters of text for the value description. Enclose each string in quotation marks. Separate multiple strings with blanks. Value description text that is too long to fit in a legend area can result in the entire value not being displayed.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1fdel1ishwoekn1pgpzjpk5zd4m\"},{\"name\":\"NONE\",\"description\":\"suppresses the value descriptions.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0zuegbl7rfq6vn1v9jcwr2owad4\"}],\"supportSiteTargetFragment\":\"p17s7opemf9bq5n1so9i5l49jl09\"}],\"supportSiteInformation\":{\"docsetId\":\"grmapref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"p0anvu6ux4d0ijn1mt06fn9yl0wx.htm\"}},{\"name\":\"LIBNAME\",\"description\":\"Associates or disassociates a SAS library with a libref (a shortcut name), clears one or all librefs, lists the characteristics of a SAS library, concatenates SAS libraries, or concatenates SAS catalogs.\",\"help\":\"Form 1: \\nLIBNAME  libref<engine>'SAS-library'\\n<libname-options><engine-host-options>;\\nForm 2: \\nLIBNAME  librefCLEAR |   _ALL_ CLEAR ;\\nForm 3: \\nLIBNAME  librefLIST | _ALL_ LIST; \\nForm 4: \\nLIBNAME  libref<engine> (library-specification-1 < ...library-specification-n>)\\n<libname-options>;\",\"arguments\":[{\"name\":\"libref\",\"placeholder\":true,\"description\":\"is a shortcut name or a “nickname” for the aggregate storage location where your SAS files are stored. It is any SAS name when you are assigning a new libref. When you are disassociating a libref from a SAS library or when you are listing attributes, specify a libref that was previously assigned.\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"n00n9d4qhcdledn1d8amdxvj3dhl\"},{\"name\":\"SAS-library\",\"placeholder\":true,\"description\":\"must be the physical name for the SAS library. The physical name is the name that is recognized by the operating environment. Enclose the physical name in single or double quotation marks.\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"n0p25jbmwnq5h0n1qei2tdv1tikx\"},{\"name\":\"library-specification\",\"placeholder\":true,\"description\":\"is two or more SAS libraries that are specified by physical names, previously assigned librefs, or a combination of the two. Separate each specification with either a blank or a comma and enclose the entire list in parentheses.\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"p0wqevyv910l8bn1b2kgidcdrf75\"},{\"name\":\"CLEAR\",\"description\":\"disassociates one or more currently assigned librefs.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0nxzifhbbp7pfn1c56qsmnp1k1m\"},{\"name\":\"_ALL_\",\"description\":\"specifies that the CLEAR or LIST argument applies to all currently assigned librefs.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0h1tncn98tixqn1c8qat32kt0n3\"},{\"name\":\"LIST\",\"description\":\"writes the attributes of one or more SAS libraries to the SAS log.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0hzymihsjnm51n1vs0xq36353h2\"},{\"name\":\"ACCESS=\",\"optional\":true,\"description\":\"\",\"help\":\"ACCESS=READONLY | TEMP\",\"type\":\"choice\",\"arguments\":[{\"name\":\"READONLY\",\"description\":\"assigns a read-only attribute to an entire SAS library. SAS does not allow you to open a data set in the library in order to update information or write new information.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0p4plwr1bgxzqn10lt5c8nzhbrj\"},{\"name\":\"TEMP\",\"description\":\"specifies that the SAS library be treated as a scratch library. That is, the system does not consume CPU cycles to ensure that the files in a Temp library do not become corrupted.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1c4tdwx96arwdn1q9807nvpq076\"}],\"supportSiteTargetFragment\":\"n1gfn9nvwcfeaon19bo6ms51bjry\"},{\"name\":\"AUTHADMIN=\",\"optional\":true,\"description\":\"specifies whether an administrator can access a metadata-bound library for which corresponding metadata is corrupted, misconfigured, or missing.\",\"help\":\"AUTHADMIN= YES | NO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YES\",\"type\":\"standalone\"},{\"name\":\"NO\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"n0pahcxul7115cn1tgmo8wlf1jsu\"},{\"name\":\"AUTHALTER=\",\"optional\":true,\"description\":\"Specifies an ALTER password to use only in data access requests where both of these conditions exist:\\n• AUTHADMIN=YES is specified in the LIBNAME statement that is referenced in the request.\\n• The correct password for the target metadata-bound data set or library is not otherwise available or is invalid.\",\"help\":\"AUTHALTER=*alter-password*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1dbfb4d0xe840n11c0rzff4hx13\"},{\"name\":\"AUTHPW=\",\"optional\":true,\"description\":\"Specifies a password to use only in data access requests where both of these conditions exist:\\n• AUTHADMIN=YES is specified in the LIBNAME statement that is referenced in the request or is invalid.\\n• The correct password for the target metadata-bound library is not otherwise available.\",\"help\":\"AUTHPW=*password*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1m7x3iqg490q8n19lkikfa90nxu\"},{\"name\":\"AUTHREAD=\",\"optional\":true,\"description\":\"Specifies a READ password to use only in data access requests where both of these conditions exist:\\n• AUTHADMIN=YES is specified in the LIBNAME statement that is referenced in the request.\\n• The correct password for the target metadata-bound library is not otherwise available or is invalid.\",\"help\":\"AUTHREAD=*read-password*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1uwb87rbsvqygn11d5p0vqjwgao\"},{\"name\":\"AUTHWRITE=\",\"optional\":true,\"description\":\"Assigns a WRITE password to a metadata-bound library that prevents users from writing to a library, unless they enter the password.\",\"help\":\"AUTHWRITE=*write-password*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0z613eqon6nahn17npueas83w13\"},{\"name\":\"COMPRESS=\",\"optional\":true,\"description\":\"controls the compression of observations in output SAS data sets for a SAS library.\",\"help\":\"COMPRESS=NO | CHAR | BINARY\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NO\",\"description\":\"specifies that the observations in a newly created SAS data set be uncompressed (fixed-length records).\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n15qpz6v9od9cfn14vksraycosra\"},{\"name\":\"CHAR\",\"aliases\":[\"YES\"],\"description\":\"specifies that the observations in a newly created SAS data set be compressed (variable-length records) by SAS using RLE (Run Length Encoding). RLE compresses observations by reducing repeated consecutive characters (including blanks) to two-byte or three-byte representations.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n107acsdoosqvwn16yqfk0wz75wb\"},{\"name\":\"BINARY\",\"description\":\"specifies that the observations in a newly created SAS data set be compressed (variable-length records) by SAS using RDC (Ross Data Compression). RDC combines run-length encoding and sliding-window compression to compress the file.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0mrkq3zlt2b1dn191vb7pfyctha\"}],\"supportSiteTargetFragment\":\"p17sa5rucsmyxyn1hugpjv5o5v11\"},{\"name\":\"CVPBYTES=\",\"optional\":true,\"description\":\"specifies the number of bytes by which to expand character variable lengths when processing a SAS data file that requires transcoding. The CVP engine expands the lengths so that character data truncation does not occur. The lengths for character variables are increased by adding the specified value to the current length. You can specify a value from 0 to 32,766.\",\"help\":\"CVPBYTES=*bytes*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0yb87fq7a07vbn1lbu83t20hlim\"},{\"name\":\"CVPENGINE=\",\"optional\":true,\"aliases\":[\"CVPENG\"],\"description\":\"specifies the engine to use to process a SAS data file that requires transcoding. The CVP engine expands the character variable lengths to transcoding so that character data truncation does not occur. Then the specified engine processes the actual file.\",\"help\":\"CVPENGINE=*engine*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0r7fla2z5behmn16t3j8c5g1uw4\"},{\"name\":\"CVPFORMATWIDTH=\",\"optional\":true,\"aliases\":[\"CVPFMTW\"],\"description\":\"specifies whether to expand the character format width.\",\"help\":\"CVPFORMATWIDTH=YES | NO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YES\",\"type\":\"standalone\"},{\"name\":\"NO\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"n1cg11iphsfpcln1mlktb9hcpg8k\"},{\"name\":\"CVPMULTIPLIER=\",\"optional\":true,\"aliases\":[\"CVPMULT\"],\"description\":\"specifies a multiplier value that expands character variable lengths when you are processing a SAS data file that requires transcoding. The CVP engine expands the lengths so that character data truncation does not occur. The lengths for character variables are increased by multiplying the current length by the specified value. You can specify a multiplier value from 1 to 5 or you can specify 0 and then the CVP engine determines the multiplier automatically.\",\"help\":\"CVPMULTIPLIER=*multiplier*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0koszng7h859hn11k0ckty923gw\"},{\"name\":\"CVPVARCHAR=\",\"optional\":true,\"description\":\"specifies whether to convert fixed-width character variables to variable-width characters during input file processing. The byte length of the new-width character variable is the maximum number of bytes per character from the SAS session encoding multiplied by the specified fixed-width character length.\",\"help\":\"CVPVARCHAR=YES | NO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YES\",\"type\":\"standalone\"},{\"name\":\"NO\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"n03pz0ct9xek10n1riv0t4e5ovry\"},{\"name\":\"EXTENDOBSCOUNTER=\",\"optional\":true,\"aliases\":[\"EOC=\"],\"description\":\"specifies whether to extend the maximum observation count in output SAS data files for a SAS library.\",\"help\":\"EXTENDOBSCOUNTER=YES | NO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YES\",\"description\":\"specifies to use the default maximum observation count of 263–1 or approximately 9.2 quintillion observations in a newly created SAS data file.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n103aokk8y1bzgn1ez36ahkbj32h\"},{\"name\":\"NO\",\"description\":\"is a compatibility setting for a newly created SAS data file, to enable its use in releases prior to SAS 9.3.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p05rc54asrdpkfn19offuhtv336f\"}],\"supportSiteTargetFragment\":\"n04c9utpl4s10yn1sp4375d5i72l\"},{\"name\":\"INENCODING=\",\"optional\":true,\"description\":\"overrides the encoding when you are reading (input processing) SAS data sets in the SAS library.\",\"help\":\"INENCODING=ANY | ASCIIANY | EBCDICANY | *encoding-value*\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ANY\",\"type\":\"standalone\"},{\"name\":\"ASCIIANY\",\"type\":\"standalone\"},{\"name\":\"EBCDICANY\",\"type\":\"standalone\"},{\"name\":\"encoding-value\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"n02u7zkealtsign1fvjrhva8i7ac\"},{\"name\":\"LIBRARYDEFINITION=\",\"optional\":true,\"aliases\":[\"LIBDEF=\"],\"description\":\"retrieves pre-defined engine LIBNAME information from the Data Sources microservice and performs a LIBNAME assignment using that information.\",\"help\":\"LIBRARYDEFINITION=*source-definition-URI*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0t2zfgazmw26on1brpc4mi48adv\"},{\"name\":\"OUTENCODING=\",\"optional\":true,\"description\":\"OUTENCODING=ANY | ASCIIANY | EBCDICANY | encoding-value\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1tex9ha6wbtudn1ax0eyfrewb1w\"},{\"name\":\"OUTREP=\",\"optional\":true,\"description\":\"specifies the data representation, which is the form in which data is stored in a particular operating environment. Different operating environments use different standards or conventions for storing data.\\n• Floating-point numbers can be represented in IEEE floating-point format or IBM floating-point format.\\n• Data alignment can be on a 1-byte, 4-byte, or 8-byte boundary, depending on data type requirements for the operating environment.\\n• Data type lengths can be 8 bits or more for a character data type, 16 bit, 32 bit, or 64 bit for an integer data type, 32 bit for a single-precision floating-point data type, and 64 bit for a double-precision floating-point data type.\\n• The ordering of bytes can be big Endian or little Endian.\",\"help\":\"OUTREP=*format*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0vk9eqgld4ebxn128t28phhtqys\"},{\"name\":\"POINTOBS=\",\"optional\":true,\"description\":\"specifies whether SAS creates compressed data sets whose observations can be randomly accessed or sequentially accessed.\",\"help\":\"POINTOBS=YES | NO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YES\",\"description\":\"causes SAS software to produce a compressed data set that might be randomly accessed by observation number.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0ud1g0w2w618xn1hlccvwaucuj7\"},{\"name\":\"NO\",\"description\":\"suppresses the ability to randomly access observations in a compressed data set by observation number.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0nakmwcs5oh4un17tjwkqgqslu6\"}],\"supportSiteTargetFragment\":\"p0dfqx3rb5ymhzn19j9ghw1t5c3i\"},{\"name\":\"REPEMPTY=\",\"optional\":true,\"description\":\"controls replacement of SAS data sets when the new one is empty.\",\"help\":\"REPEMPTY=YES | NO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YES\",\"description\":\"specifies that a new empty data set replaces an existing data set. This is the default.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p186rvh2atttlkn1uscl3jrcr8fo\"},{\"name\":\"NO\",\"description\":\"specifies that a new empty data set does not replace an existing data set.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0ni1b5tu35035n1xzkb9pvxu5gs\"}],\"supportSiteTargetFragment\":\"n0p7poahmd88fdn1wjtz2zi7h0d6\"},{\"name\":\"engine\",\"optional\":true,\"placeholder\":true,\"description\":\"is an engine name.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p01a7vu3ipfx7gn19lv49dezrwaw\"},{\"name\":\"FILELOCKS=\",\"description\":\"specifies whether file locking is turned on or off for the files that are opened under the libref in the LIBNAME statement. The FILELOCKS statement option works like the FILELOCKS system option, except that it applies only to the files that are associated with the libref. The following values for the FILELOCKS statement option are available:\",\"help\":\"FILELOCKS=NONE | FAIL | CONTINUE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NONE\",\"type\":\"standalone\"},{\"name\":\"FAIL\",\"type\":\"standalone\"},{\"name\":\"CONTINUE\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"n0312smhai7lahn14evmj54fge2z\"},{\"name\":\"FILELOCKWAIT=\",\"description\":\"specifies the number of seconds SAS waits for a locked file to become available to another process.\",\"help\":\"FILELOCKWAIT=*n*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1kedvzxe2tta4n1u9qcjayzvbcx\"},{\"name\":\"ABAPFM=\",\"aliases\":[\"ABAPFUNC\",\"ABAPFUNCTION\"],\"description\":\"Indicates the name of the ABAP function module that SAS uses.\",\"help\":\"ABAPFM= *abap_function_name*\",\"type\":\"value\",\"supportSiteInformation\":{\"docsetId\":\"accr3\",\"docsetVersion\":\"v_002\",\"docsetTargetFile\":\"n1cvbz5zifbn2fn1a9ay646k1ty7.htm\"}},{\"name\":\"ABAPPROG=\",\"aliases\":[\"ABAPPROGRAM\",\"ABAPREPORT\"],\"description\":\"Indicates the name of the ABAP program that SAS uses.\",\"help\":\"ABAPPROG= *abap_program*\",\"type\":\"value\",\"supportSiteInformation\":{\"docsetId\":\"accr3\",\"docsetVersion\":\"v_002\",\"docsetTargetFile\":\"n0gljhcg6rw6v9n1m80udgu9xv2p.htm\"}},{\"name\":\"ABAP_NAMESPACE=\",\"aliases\":[\"ABAPNAMESPACE\",\"ABAP_NAME_SPACE\",\"ABAPNS\",\"ABAP_NS\"],\"description\":\"Indicates the namespace for ABAP functions and programs that SAS uses.\",\"help\":\"ABAP_NAMESPACE= *namespace*\",\"type\":\"value\",\"supportSiteInformation\":{\"docsetId\":\"accr3\",\"docsetVersion\":\"v_002\",\"docsetTargetFile\":\"p0887r5p7kk734n1e95djx3v76mt.htm\"}},{\"name\":\"ACCESS=\",\"followsArguments\":[\"BIGQUERY\",\"DB2\",\"DUCKDB\",\"GREENPLM\",\"HADOOP\",\"IMPALA\",\"INFORMIX\",\"JDBC\",\"MYSQL\",\"NETEZZA\",\"ODBC\",\"ORACLE\",\"POSTGRES\",\"REDSHIFT\",\"SAPASE\",\"SAPHANA\",\"SAPIQ\",\"SNOW\",\"SPARK\",\"SQLSVR\",\"SSTORE\",\"TERADATA\",\"VERTICA\",\"YBRICK\"],\"description\":\"Determines the access level with which a libref connection is opened.\",\"help\":\"ACCESS= READONLY\",\"type\":\"choice\",\"arguments\":[{\"name\":\"READONLY\",\"optional\":true,\"description\":\"specifies that you can read but not update tables and views.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n04r33wk9lye1ln1p38qwtscuyow\"}],\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_011\",\"docsetTargetFile\":\"n1p05prwpj8gxvn1c5jq8v9hjh7s.htm\"}},{\"name\":\"ACCOUNT=\",\"followsArguments\":[\"TERADATA\"],\"description\":\"Specifies an account number that you want to charge for the Teradata session.\",\"help\":\"ACCOUNT= &lt;'&gt;*account_ID*&lt;' &gt;\",\"type\":\"value\",\"arguments\":[{\"name\":\"account_ID\",\"placeholder\":true,\"description\":\"optionally specifies the account number that you want to charge for the Teradata session.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0o46w2f1n9cx1n1vpt8dr0ncdcm\"}],\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_011\",\"docsetTargetFile\":\"p0q628n4fgltzan1qaxqgecgnso0.htm\"}},{\"name\":\"ACLGRP=\",\"description\":\"Names an ACL group that has been previously assigned to the SPD Server user ID.\",\"help\":\"ACLGRP= *acl-group*\",\"type\":\"value\",\"supportSiteInformation\":{\"docsetId\":\"spdsug\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n19m5rng8q3jazn185oc92oqlg8e.htm\"}},{\"name\":\"ACLSPECIAL=\",\"description\":\"Invokes special access to SPD Server resources in the server domain for a server user. The special privilege must already exist in the password database.\",\"help\":\"ACLSPECIAL= NO | YES\",\"type\":\"choice\",\"supportSiteInformation\":{\"docsetId\":\"spdsug\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p017xhhgfzadwyn1au3elknoourn.htm\"}},{\"name\":\"ADJUST_BYTE_SEMANTIC_COLUMN_LENGTHS=\",\"followsArguments\":[\"ORACLE\"],\"aliases\":[\"EXPAND_BYTE_SEMANTIC_COLUMN_LENGTHS=\"],\"description\":\"Specifies whether to adjust the lengths of CHAR or VARCHAR data type columns when reading from Oracle into SAS. This option applies only for columns that have been created in Oracle using BYTE semantics.\",\"help\":\"ADJUST_BYTE_SEMANTIC_COLUMN_LENGTHS= AUTO | YES |   NO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"AUTO\",\"optional\":true,\"description\":\"indicates that column lengths will be calculated based on the DETECT_MATCHING_CHARSETS LIBNAME option. If that option is set to YES and both SAS and Oracle use UTF8, then both SAS and Oracle will report the same byte length. If either SAS or Oracle do not use UTF8, then length adjustment/expansion will be done only if DBCLIENT_MAX_BYTES is greater than 1. If DETECT_MATCHING_CHARSETS is set to NO, then DBCLIENT_MAX_BYTES, DBSERVER_MAX_BYTES, and DBSERVER_ENCODING_FIXED will be used to calculate the column length reported by SAS.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0n10izz7n90wun1x4mei8yzwqzs\"},{\"name\":\"YES\",\"optional\":true,\"description\":\"indicates that column lengths reported by SAS when reading data from columns that have been created on Oracle using byte semantics will be based on the SAS calculated number of characters multiplied by the DBCLIENT_MAX_BYTES= value. SAS will work out the number of characters for such columns using DBSERVER_MAX_BYTES and DBSERVER_ENCODING_FIXED. The resultant number of characters will then be multiplied by DBCLIENT_MAX_BYTES to provide the final byte length.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1t99dwq7tkxv9n12lbfpo3mkefi\"},{\"name\":\"NO\",\"optional\":true,\"description\":\"indicates that any column lengths that byte semantics specify on the server are used “as is” on the client.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1vzng2lvnj1mwn1qdghme1q13mk\"}],\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_011\",\"docsetTargetFile\":\"n1n4y3nxgpi50vn1m0walgenlwm6.htm\"}},{\"name\":\"ADJUST_NCHAR_COLUMN_LENGTHS=\",\"followsArguments\":[\"ORACLE\"],\"description\":\"Specifies whether to adjust the lengths of NCHAR or NVARCHAR data type columns.\",\"help\":\"ADJUST_NCHAR_COLUMN_LENGTHS= YES |  NO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YES\",\"optional\":true,\"description\":\"indicates that column lengths are based on the number of characters multiplied by the DBCLIENT_MAX_BYTES= value.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0liy5reg6mjern1p0xx5d4yd4pc\"},{\"name\":\"NO\",\"optional\":true,\"description\":\"indicates that column lengths that NCHAR or NVARCHAR columns specify are multiplied by 2.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1uoe10ae4sahmn1x4r3i5ix8q6m\"}],\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_011\",\"docsetTargetFile\":\"n0yw9krcqituxen0zo7ke6pt3u5o.htm\"}},{\"name\":\"ADMIN\",\"followsArguments\":[\"PARQUET\"],\"description\":\"Specifies an administrator's name for Access Control Lists (ACLs) in Parquet files.\",\"help\":\"ADMIN =*name*\",\"type\":\"value\",\"supportSiteInformation\":{\"docsetId\":\"enghdff\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"p13jmzo8jurp6kn1wq7h7cc8fiet.htm\"}},{\"name\":\"ADMINPASS\",\"followsArguments\":[\"PARQUET\"],\"description\":\"Specifies the administrator's password for Access Control Lists (ACLs) in Parquet files.\",\"help\":\"ADMINPASS =*password*\",\"type\":\"value\",\"supportSiteInformation\":{\"docsetId\":\"enghdff\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"n0w8vvgtecbtr9n1qrbuj1bsm0yp.htm\"}},{\"name\":\"ALLOW_LARGE_RESULTS=\",\"followsArguments\":[\"BIGQUERY\"],\"aliases\":[\"ALR=\",\"LARGE_RESULTS=\"],\"description\":\"Specifies whether to allow query results larger than the Google BigQuery maximum response size.\",\"help\":\"ALLOW_LARGE_RESULTS= ALWAYS | MUST | OFF\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ALWAYS\",\"description\":\"specifies that all query results are written to a temporary stored table, including query results that are smaller than the maximum response size.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p164p57q9x8vrkn1rakd6wno6h4c\"},{\"name\":\"MUST\",\"description\":\"specifies that query results that are larger than the maximum response size are written to a temporary stored table.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n096uoa6x1jr5dn1jr3x13igk5ed\"},{\"name\":\"OFF\",\"description\":\"specifies that query results that are larger than the maximum response size trigger an error in the SAS log, and thus the query fails.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1eurdlltyoy3hn1jv927umlghj4\"}],\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_011\",\"docsetTargetFile\":\"n04sb0cpcqmql0n1e7ang2odwhkq.htm\"}},{\"name\":\"ALLOW_MOVED_PATHS=\",\"followsArguments\":[\"DUCKDB\"],\"description\":\"Specifies whether to allow scanning Iceberg tables that have been moved.\",\"help\":\"ALLOW_MOVED_PATHS= YES | NO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YESNO\",\"description\":\"specifies whether to allow scanning of Iceberg tables that have been moved.\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YES\",\"type\":\"standalone\"},{\"name\":\"NO\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"n0jyz67bt0841qn1luldejvkwxfw\"}],\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_011\",\"docsetTargetFile\":\"n1rgk3zvisi5l9n1f4pa7aoa4w3x.htm\"}},{\"name\":\"ALLOW_SELF_SIGNED_CERTS=\",\"followsArguments\":[\"HADOOP\",\"SPARK\"],\"description\":\"Enables or disables SSL wire encryption of client requests.\",\"help\":\"ALLOW_SELF_SIGNED_CERTS= NO | YES \",\"type\":\"choice\",\"arguments\":[{\"name\":\"NO\",\"description\":\"disables SSL wire encryption of client requests.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1eestgq1jqqp2n12uloyl8djh9e\"},{\"name\":\"YES\",\"description\":\"enables SSL wire encryption of client requests.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0jkk2xycap6l9n16wgedqenie26\"}],\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_011\",\"docsetTargetFile\":\"p0k6wxe1q40ne6n1snr7745k8ysy.htm\"}},{\"name\":\"ANALYZE=\",\"followsArguments\":[\"HADOOP\"],\"description\":\"Lets SAS improve performance when a single Hive store table is queried.\",\"help\":\"ANALYZE= YES | NO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YES\",\"optional\":true,\"description\":\"specifies that SAS might run an ANALYZE TABLE command to update table statistics. Current table statistics might improve SAS Read performance when a single table is queried. This operation is considered a hint, so if statistics are up-to-date, SAS might not perform the operation. The format of the ANALYZE TABLE command is subject to change in future releases of SAS as needed.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1uta2ic19vxhen1mjgdcayd316o\"},{\"name\":\"NO\",\"optional\":true,\"description\":\"specifies that SAS does not perform an additional operation to update table statistics.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1agnz5hghqrgtn1vj47k8zms315\"}],\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_011\",\"docsetTargetFile\":\"p1lvd4ojf916avn1uav89p6x19eb.htm\"}},{\"name\":\"API_TRACE=\",\"description\":\"Specifies whether to display the number of API calls that are made during a SAS session while connected to Salesforce.\",\"help\":\"API_TRACE= YES | NO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YES\",\"optional\":true,\"description\":\"specifies to display the number of API calls that are made in general during any operations that connect to Salesforce. It displays any SOQL statements that are executed in the database. As shown in the example below, it lets you view diagnostics on your SAS program in the SAS log.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0paqan6p43onsn1u22g7y6y7tbm\"},{\"name\":\"NO\",\"optional\":true,\"description\":\"specifies that the number of API calls is not displayed.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1cxhr6jm40jwsn1dblly8wh11pi\"}],\"supportSiteInformation\":{\"docsetId\":\"acnrdb\",\"docsetVersion\":\"v_002\",\"docsetTargetFile\":\"n09yxjaypnapxyn130myi60gnqoz.htm\"}},{\"name\":\"APPLICATIONNAME=\",\"description\":\"Specifies the client application’s name for auditing purposes.\",\"help\":\"APPLICATIONNAME= *name*\",\"type\":\"value\",\"supportSiteInformation\":{\"docsetId\":\"dataagenteng\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"n1fgfgjxecvkrkn1fhkejf70cmkm.htm\"}},{\"name\":\"ASHOST=\",\"aliases\":[\"HST\",\"R3HOST\",\"RFCHOST\"],\"description\":\"Indicates the host name or IP address of a specific SAP application server.\",\"help\":\"ASHOST= *application_server_host*\",\"type\":\"value\",\"supportSiteInformation\":{\"docsetId\":\"accr3\",\"docsetVersion\":\"v_002\",\"docsetTargetFile\":\"n17139nr1z2buxn1xzmdwllcrbhe.htm\"}},{\"name\":\"AUTH=\",\"followsArguments\":[\"SPARK\"],\"aliases\":[\"AUTHTYPE=\"],\"description\":\"Specifies the authorization method that is used to access Microsoft Azure.\",\"help\":\"AUTH= OAUTH2 | PASSWORD\",\"type\":\"choice\",\"arguments\":[{\"name\":\"OAUTH2\",\"description\":\"specifies that Microsoft Entra ID (formerly Azure AD) single sign-on is used. For more information, see .\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0ur1o6vikgh3an1utrrabv3swd9\"},{\"name\":\"PASSWORD\",\"description\":\"specifies that USER= and PASSWORD= values or authentication domain credentials are used to access Microsoft Azure. Specify an authentication domain with the AUTHDOMAIN= LIBNAME option.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0d8upb4q2umfnn1vlbxb51stqhm\"}],\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_011\",\"docsetTargetFile\":\"p1xjaxvf4z45jnn1mypu601xzada.htm\"}},{\"name\":\"AUTHDOMAIN=\",\"description\":\"Enables connection to SPD Server by specifying the name of an authentication domain.\",\"help\":\"AUTHDOMAIN= *authentication-domain*\",\"type\":\"value\",\"supportSiteInformation\":{\"docsetId\":\"spdsug\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p1bwfjrq3wrv8on1pr30ilgn69ao.htm\"}},{\"name\":\"AUTHENDPOINT=\",\"description\":\"Specifies the authorization endpoint to use.\",\"help\":\"AUTHENDPOINT= *authorization-endpoint*\",\"type\":\"value\",\"arguments\":[{\"name\":\"authorization-endpoint\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies a URL that represents the authorization endpoint to use to authenticate a user’s Salesforce account. If you are logging in to a production Salesforce instance, you do not need to specify this option. The default value is used.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0h8rh446suahbn1rx68sdx37a2x\"}],\"supportSiteInformation\":{\"docsetId\":\"acnrdb\",\"docsetVersion\":\"v_002\",\"docsetTargetFile\":\"n1pxuboz99z9phn1lvcgp90pbnjd.htm\"}},{\"name\":\"AUTHSCOPE=\",\"followsArguments\":[\"MYSQL\",\"POSTGRES\",\"REDSHIFT\",\"SNOW\",\"SPARK\",\"SQLSVR\",\"SSTORE\",\"TERADATA\"],\"description\":\"Specifies the Microsoft Azure resource and permissions that are required for authorizing access.\",\"help\":\"AUTHSCOPE= \\\"*scope*\\\"\",\"type\":\"value\",\"arguments\":[{\"name\":\"scope\",\"placeholder\":true,\"description\":\"specifies the Microsoft Azure resource and permissions that are required for authorizing access. Enclose the scope value in single or double quotation marks.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0m2c4n918umprn1dlr291ntzqit\"}],\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_011\",\"docsetTargetFile\":\"p1nniy5ggnee6mn17s2xve0gpvne.htm\"}},{\"name\":\"AUTHTYPE=\",\"followsArguments\":[\"IMPALA\",\"JDBC\",\"TERADATA\"],\"description\":\"Specifies authentication to Microsoft Entra ID (formerly Azure Active Directory) using single sign-on.\",\"help\":\"AUTHTYPE= AUTO | KERBEROS | OAUTH2 | PASSWORD\",\"type\":\"choice\",\"arguments\":[{\"name\":\"AUTO\",\"description\":\"for Teradata, specifies to use single sign-on (SSO) if possible (if AUTHSCOPE= is provided). If SSO is not possible, authenticate with user and password or an authentication domain.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p04tacz8siumgun1rrllpue75j3o\"},{\"name\":\"KERBEROS\",\"description\":\"specifies that you want to connect by using the Kerberos authentication protocol.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n18zy6jz4oigsxn114sfl2q69nat\"},{\"name\":\"OAUTH2\",\"description\":\"specifies that Microsoft Entra ID (formerly Azure AD) SSO is used.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1r7jsy7p0qgfkn12icnff5lv56m\"},{\"name\":\"PASSWORD\",\"description\":\"specifies that user and password or authentication domain values are used to connect to your data source.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0cj12tcm0mrlcn1a8gnbst2dy72\"}],\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_011\",\"docsetTargetFile\":\"n028wn8jk3te3hn1tszjzw26t2ox.htm\"}},{\"name\":\"AUTH_METHOD=\",\"followsArguments\":[\"REDSHIFT\"],\"description\":\"Specifies the authentication method for single sign-on.\",\"help\":\"AUTH_METHOD= 'IAM' | 'Native'\",\"type\":\"choice\",\"arguments\":[{\"name\":\"IAM\",\"description\":\"specifies that you are using the IAM method for authentication for SSO.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1n8d1yg07wr9bn17xxnv8p7zftf\"},{\"name\":\"Native\",\"description\":\"specifies that you are using the native authentication method for SSO.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n05xltssczshxmn1nmb7ngugsnaq\"}],\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_011\",\"docsetTargetFile\":\"n1jjgrrur2anx9n1ljlrmv23xuwo.htm\"}},{\"name\":\"AUTOCOMMIT=\",\"followsArguments\":[\"DB2\",\"GREENPLM\",\"INFORMIX\",\"MYSQL\",\"NETEZZA\",\"ODBC\",\"POSTGRES\",\"REDSHIFT\",\"SAPASE\",\"SAPHANA\",\"SAPIQ\",\"SNOW\",\"SQLSVR\",\"SSTORE\",\"VERTICA\",\"YBRICK\"],\"description\":\"Indicates whether updates are committed immediately after they are submitted.\",\"help\":\"AUTOCOMMIT= YES |   NO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YES\",\"optional\":true,\"description\":\"specifies that all updates, deletes, and inserts are committed (that is, saved to a table) immediately after they are submitted, and no rollback is possible.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1rns84w7ud64rn1k476y38934hm\"},{\"name\":\"NO\",\"optional\":true,\"description\":\"specifies that the SAS/ACCESS engine automatically performs the commit when it reaches the DBCOMMIT= value, or the default number of rows if DBCOMMIT= is not set.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0yq9zwdkbsaqpn18nup2udivy7i\"}],\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_011\",\"docsetTargetFile\":\"p174mq92r09au2n1jfb5f0ocsbe6.htm\"}},{\"name\":\"AUTOMAP=\",\"followsArguments\":[\"XMLV2\"],\"description\":\"Specifies to automatically generate an XMLMap file to import an XML document.\",\"help\":\"AUTOMAP= REPLACE | REUSE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"REPLACE\",\"optional\":true,\"description\":\"overwrites an existing XMLMap file.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0yukdp9fbqjlkn1aa84hkfoidlq\"},{\"name\":\"REUSE\",\"optional\":true,\"description\":\"does not overwrite an existing XMLMap file.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1rsons8b35bthn1r888tzj0pryw\"}],\"supportSiteInformation\":{\"docsetId\":\"engxml\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p1g7n416hsflf2n1fx3tmamo6mqr.htm\"}},{\"name\":\"AWS_AUTOCREATE=\",\"followsArguments\":[\"REDSHIFT\"],\"description\":\"Specifies whether to create a database user with the name that you specify for userName= if it does not exist.\",\"help\":\"AWS_AUTOCREATE= YES | NO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YESNO\",\"description\":\"specifies whether to create a database user with the name that you specify for userName= if it does not exist.\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YES\",\"type\":\"standalone\"},{\"name\":\"NO\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"n1tfmzwwi76spmn1a3i3edsaa6zp\"}],\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_011\",\"docsetTargetFile\":\"n0ttqrqh8wl1drn1mrqsk7nw9yxu.htm\"}},{\"name\":\"AWS_DURTIME=\",\"followsArguments\":[\"REDSHIFT\"],\"description\":\"Specifies the number of seconds until the AWS temporary password expires.\",\"help\":\"AWS_DURTIME= *value*\",\"type\":\"value\",\"arguments\":[{\"name\":\"value\",\"placeholder\":true,\"description\":\"specifies the number of seconds until the temporary AWS password expires.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1sp7mavzo5ec5n1vfi2vgr45roa\"}],\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_011\",\"docsetTargetFile\":\"n1m9ckrbbdh199n1vk4dldewpdys.htm\"}},{\"name\":\"AWS_IAM_ASSUME_ROLE_ARN=\",\"followsArguments\":[\"REDSHIFT\"],\"description\":\"Specifies an Amazon Resource Name that identifies an IAM role.\",\"help\":\"AWS_IAM_ASSUME_ROLE_ARN= \\\"*name*\\\"\",\"type\":\"value\",\"arguments\":[{\"name\":\"name\",\"placeholder\":true,\"description\":\"specifies an Amazon Resource Name that identifies an IAM role.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1255reuqvv8rln1us435511z3u1\"}],\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_011\",\"docsetTargetFile\":\"p0f2l8xxnajjaln1ii7cy18j7hy8.htm\"}},{\"name\":\"AWS_REGION=\",\"followsArguments\":[\"REDSHIFT\"],\"description\":\"Specifies the region for your AWS cluster.\",\"help\":\"AWS_REGION= '*region*'\",\"type\":\"value\",\"arguments\":[{\"name\":\"region\",\"placeholder\":true,\"description\":\"specifies the region for your AWS cluster.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n125wzyimzxsydn16ai815bbfu8v\"}],\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_011\",\"docsetTargetFile\":\"n1x1fnv4x9e29kn1i5d9r0xn9uvz.htm\"}},{\"name\":\"AZURE_ACCOUNTNAME=\",\"followsArguments\":[\"DUCKDB\"],\"description\":\"Specifies the Microsoft Azure account name for authentication.\",\"help\":\"AZURE_ACCOUNTNAME= \\\"*name*\\\"\",\"type\":\"value\",\"arguments\":[{\"name\":\"name\",\"placeholder\":true,\"description\":\"specifies the Microsoft Azure account name for authentication. Enclose the value in quotation marks.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1b6kszonc6lbqn170wek9y2hd8k\"}],\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_011\",\"docsetTargetFile\":\"p0l4xeac1le94hn1y235wkpjl66j.htm\"}},{\"name\":\"AZURE_BLOB_ENDPOINT=\",\"followsArguments\":[\"DUCKDB\"],\"aliases\":[\"AZURE_BLOBENDPOINT=\"],\"description\":\"Specifies the storage account under which files are located.\",\"help\":\"AZURE_BLOB_ENDPOINT= &lt;'&gt;*location-URL*&lt;'&gt;\",\"type\":\"value\",\"arguments\":[{\"name\":\"location-URL\",\"placeholder\":true,\"description\":\"specifies the storage account under which files are located.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1ngmceorvgug4n1igiina5d50g1\"}],\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_011\",\"docsetTargetFile\":\"n0hce8nomjzt64n16w5ztsb3rt0k.htm\"}},{\"name\":\"AZURE_CLIENT_ID=\",\"followsArguments\":[\"DUCKDB\"],\"description\":\"Specifies the client ID for authentication.\",\"help\":\"AZURE_CLIENT_ID= *client*\",\"type\":\"value\",\"arguments\":[{\"name\":\"client\",\"placeholder\":true,\"description\":\"specifies the Microsoft Azure client ID for authentication. This value is associated with the Azure client secret value that you specify.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1eg22zmdpe4wqn1wu20c9rjqxwy\"}],\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_011\",\"docsetTargetFile\":\"n0vlu5o93o4ggon1lx72rrkvgl42.htm\"}},{\"name\":\"AZURE_CLIENT_SECRET=\",\"followsArguments\":[\"DUCKDB\"],\"description\":\"Specifies the Microsoft Azure client secret for authentication.\",\"help\":\"AZURE_CLIENT_SECRET= '*value*'\",\"type\":\"value\",\"arguments\":[{\"name\":\"value\",\"placeholder\":true,\"description\":\"specifies the Microsoft Azure client secret for authentication. This value is associated with the Microsoft Azure client ID.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n08cen81q6vaynn101b6029j43a2\"}],\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_011\",\"docsetTargetFile\":\"n183csd5iw6g2rn1vutyio94gtlu.htm\"}},{\"name\":\"AZURE_DNS_SUFFIX=\",\"followsArguments\":[\"DUCKDB\"],\"description\":\"Specifies the Azure DNS suffix to use for accessing Azure BLOB storage.\",\"help\":\"AZURE_DNS_SUFFIX= \\\"*DNS-suffix*\\\"\",\"type\":\"value\",\"arguments\":[{\"name\":\"DNS-suffix\",\"placeholder\":true,\"description\":\"specifies the Azure DNS suffix to use for accessing Azure BLOB storage.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1ck82q4vvv3qwn1vbyqfokf9pxi\"}],\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_011\",\"docsetTargetFile\":\"p008g6t6bbuc5on1n3432cfb8jx9.htm\"}},{\"name\":\"AZURE_SAS=\",\"followsArguments\":[\"DUCKDB\"],\"description\":\"Specifies the shared access signature for authentication.\",\"help\":\"AZURE_SAS= '*value*'\",\"type\":\"value\",\"arguments\":[{\"name\":\"value\",\"placeholder\":true,\"description\":\"specifies the shared access signature for authentication.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1cpei32pm94ptn1i993styaf32r\"}],\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_011\",\"docsetTargetFile\":\"p0fuwn2sw3hn74n12yhbvx8o1adc.htm\"}},{\"name\":\"AZURE_TENANT_ID=\",\"followsArguments\":[\"DUCKDB\"],\"description\":\"Specifies the Microsoft Azure tenant ID for authentication.\",\"help\":\"AZURE_TENANT_ID= '*value*'\",\"type\":\"value\",\"arguments\":[{\"name\":\"value\",\"placeholder\":true,\"description\":\"specifies the Microsoft Azure tenant ID for authentication. Enclose the value in quotation marks.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1dczlhn1gcff9n0zb43oy217vpc\"}],\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_011\",\"docsetTargetFile\":\"n1miqf6zjxsb36n1vjh6b4s4uah1.htm\"}},{\"name\":\"BATCH=\",\"aliases\":[\"BATCHMODE\",\"BATCH_MODE\"],\"description\":\"Indicates whether SAS should use SAP batch jobs for data extracts.\",\"help\":\"BATCH= Y | N\",\"type\":\"choice\",\"arguments\":[{\"name\":\"Y\",\"aliases\":[\"1\"],\"description\":\"specifies that SAS uses batch jobs to extract R/3 data.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1xrjh9psu058rn1aci34fhrwiez\"},{\"name\":\"N\",\"aliases\":[\"0\"],\"description\":\"specifies that SAS uses dialog processes to extract R/3 data.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n01f741i4ee07zn18juosv29n5lq\"}],\"supportSiteInformation\":{\"docsetId\":\"accr3\",\"docsetVersion\":\"v_002\",\"docsetTargetFile\":\"n11k7jhurxhm2mn1cszldhyujbqe.htm\"}},{\"name\":\"BATCH_UPDATE=\",\"followsArguments\":[\"HADOOP\",\"JDBC\",\"SPARK\"],\"description\":\"Specifies whether to use batch update to write data to your external data source.\",\"help\":\"BATCH_UPDATE= YES | NO\",\"type\":\"choice\",\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_011\",\"docsetTargetFile\":\"n1tql5n7in51y3n14j0exozvgclg.htm\"}},{\"name\":\"BCP=\",\"followsArguments\":[\"ODBC\"],\"aliases\":[\"BULKLOAD=\"],\"description\":\"Determines whether SAS uses a data source utility to insert data into a data source table.\",\"help\":\"BCP= YES |  NO\",\"type\":\"choice\",\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_008\",\"docsetTargetFile\":\"n0j1e5bcfyjygxn1av4lu5yshd3s.htm\"}},{\"name\":\"BCP_OPTIONS=\",\"followsArguments\":[\"ODBC\",\"SQLSVR\"],\"aliases\":[\"BL_OPTIONS=\"],\"description\":\"Passes to the DBMS bulk-load facility options that affect how it loads and processes data.\",\"help\":\"BCP_OPTIONS= '*option*'\",\"type\":\"value\",\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_008\",\"docsetTargetFile\":\"p09w1pu6snqpvdn1pm4evzinrlgc.htm\"}},{\"name\":\"BIGQUERY\",\"description\":\"specifies the SAS/ACCESS engine name for the Google BigQuery interface.\",\"type\":\"standalone\",\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_008\",\"docsetTargetFile\":\"n1bqkrtqhw4344n13kmsimffinu3.htm\"}},{\"name\":\"BINARY_BYTE_LIMIT=\",\"followsArguments\":[\"ORC\",\"PARQUET\"],\"description\":\"Specifies the maximum length for binary columns that do not have a defined length.\",\"help\":\"BINARY_BYTE_LIMIT= *n*\",\"type\":\"value\",\"arguments\":[{\"name\":\"n\",\"optional\":true,\"placeholder\":true,\"description\":\"is the maximum length for binary columns that do not have a defined length in the data source.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1eyyztv0bl9b8n1pz8uhmyrqpof\"}],\"supportSiteInformation\":{\"docsetId\":\"enghdff\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"n1w2xq60ghodvrn17m1xmmuc4tbq.htm\"}},{\"name\":\"BLBYTES=\",\"description\":\"Modifies the size of the cached rowsets used in bulk loading.\",\"help\":\"BLBYTES= *number-of-bytes*\",\"type\":\"value\",\"supportSiteInformation\":{\"docsetId\":\"dataagenteng\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"n0ybutpwnl0um0n1t6z16g0w33b5.htm\"}},{\"name\":\"BLCOMMIT=\",\"description\":\"Specifies the maximum number of rows that can be inserted before a bulk load commit occurs.\",\"help\":\"BLCOMMIT= *unsigned-integer*\",\"type\":\"value\",\"supportSiteInformation\":{\"docsetId\":\"dataagenteng\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"p0vrok6od7n5i1n1ki2kvh2l5ayb.htm\"}},{\"name\":\"BLERRLIMIT=\",\"description\":\"Specifies the number of insertion errors that are allowed before bulk loading is terminated.\",\"help\":\"BLERRLIMIT= *number-of-errors*\",\"type\":\"value\",\"supportSiteInformation\":{\"docsetId\":\"dataagenteng\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"p0d7rgao2k4qf7n16he60bdxcuyn.htm\"}},{\"name\":\"BLROWS=\",\"description\":\"Modifies the number of rows in the cached rowsets that are used in bulk loading.\",\"help\":\"BLROWS= *number-of-rows*\",\"type\":\"value\",\"supportSiteInformation\":{\"docsetId\":\"dataagenteng\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"p1oz8naaauf793n1x6qgqijt4dut.htm\"}},{\"name\":\"BLSERVER=\",\"description\":\"Modifies the settings for server-side bulk loading.\",\"help\":\"BLSERVER= 0  | OFF | FALSE | NO | 1 | ON | TRUE | YES | *unsigned-integer*\",\"type\":\"choice\",\"supportSiteInformation\":{\"docsetId\":\"dataagenteng\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"p1hjwi0phyvfcsn1czne9rwxgvva.htm\"}},{\"name\":\"BLWARNLIMIT=\",\"description\":\"Specifies the number of warning messages that are allowed before bulk loading is terminated.\",\"help\":\"BLWARNLIMIT= *number-of-warnings*\",\"type\":\"value\",\"supportSiteInformation\":{\"docsetId\":\"dataagenteng\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"p1tm1vy2pn1j0xn1amgtiv6ujzsp.htm\"}},{\"name\":\"BL_ACCOUNTNAME=\",\"followsArguments\":[\"HADOOP\",\"SNOW\",\"SPARK\",\"SQLSVR\"],\"description\":\"Specifies the name of the account to use on the external storage system.\",\"help\":\"BL_ACCOUNTNAME= \\\"*account-name*\\\"\",\"type\":\"value\",\"arguments\":[{\"name\":\"account-name\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the name of the account to use on the external storage system.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1a19pwhqlgom3n1mhep970vnrk7\"}],\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_011\",\"docsetTargetFile\":\"n0yzy2bsm3d179n15z2gkar0ift1.htm\"}},{\"name\":\"BL_APPLICATIONID=\",\"followsArguments\":[\"HADOOP\",\"SNOW\",\"SPARK\",\"SQLSVR\"],\"description\":\"Specifies the application ID (a GUID string) for accessing the external storage system.\",\"help\":\"BL_APPLICATIONID= \\\"*string*\\\"\",\"type\":\"value\",\"arguments\":[{\"name\":\"string\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the Microsoft Entra Application ID (a GUID string) for accessing the external storage system.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0ftk3gq810j81n1onk0oy01njkx\"}],\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_011\",\"docsetTargetFile\":\"n1w03ovsf0htc4n18yy1om46cciw.htm\"}},{\"name\":\"BL_AUTHDOMAIN=\",\"followsArguments\":[\"SQLSVR\"],\"aliases\":[\"BL_AUTH_DOMAIN=\"],\"description\":\"Specifies an authentication domain that provides application ID and client secret values.\",\"help\":\"BL_AUTHDOMAIN= '*authentication-domain*'\",\"type\":\"value\",\"arguments\":[{\"name\":\"authentication-domain\",\"placeholder\":true,\"description\":\"specifies an authentication domain that provides application ID and client secret values for connection to Azure Data Lake Storage when bulk loading data to Microsoft Fabric Data Warehouse or to Azure Synapse Analytics.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1i1yy1jy8n7xrn10k9f7i0urc6w\"}],\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_011\",\"docsetTargetFile\":\"p0ylixn8r7tv3xn1axd87rlxjkni.htm\"}},{\"name\":\"BL_AWS_CONFIG_FILE=\",\"followsArguments\":[\"IMPALA\",\"REDSHIFT\",\"SPARK\"],\"aliases\":[\"BL_AWS_CONFIG=\"],\"description\":\"Specifies the location of the AWS configuration file.\",\"help\":\"BL_AWS_CONFIG_FILE= *path-and-file-name*\",\"type\":\"value\",\"arguments\":[{\"name\":\"path-and-file-name\",\"placeholder\":true,\"description\":\"specifies the location of the AWS configuration file. By default, this location is ~/.aws/config.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p198261znbfmlln1t2q5gnwje5md\"}],\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_011\",\"docsetTargetFile\":\"p0qqskyhynrb36n1eeh719fotb9p.htm\"}},{\"name\":\"BL_AWS_CREDENTIALS_FILE=\",\"followsArguments\":[\"IMPALA\",\"REDSHIFT\",\"SPARK\"],\"aliases\":[\"BL_AWS_CRED_FILE=\",\"BL_AWS_CREDENTIALS=\"],\"description\":\"Specifies the path to the credentials file.\",\"help\":\"BL_AWS_CREDENTIALS_FILE= *path-and-file-name*\",\"type\":\"value\",\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_011\",\"docsetTargetFile\":\"p008lei4m1m6frn11mvwz575gxvv.htm\"}},{\"name\":\"BL_AWS_PROFILE_NAME=\",\"followsArguments\":[\"IMPALA\",\"REDSHIFT\",\"SPARK\"],\"aliases\":[\"BL_AWS_PROFILE=\"],\"description\":\"Specifies the AWS profile to use when there is more than one profile in the AWS configuration file.\",\"help\":\"BL_AWS_PROFILE_NAME= *profile-name*\",\"type\":\"value\",\"arguments\":[{\"name\":\"profile-name\",\"placeholder\":true,\"description\":\"specifies the profile to use if there is more than one profile in the AWS configuration file.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n03bgasbb3ea0gn1ilbmj0k1gsg1\"}],\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_011\",\"docsetTargetFile\":\"p0ri6ik0lt0qxnn0zuxccio4rmj9.htm\"}},{\"name\":\"BL_AZURE_SAS=\",\"followsArguments\":[\"SNOW\"],\"description\":\"Specifies the Azure shared access signature token value.\",\"help\":\"BL_AZURE_SAS= *value*\",\"type\":\"value\",\"arguments\":[{\"name\":\"value\",\"placeholder\":true,\"description\":\"specifies the Azure shared access signature token value.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0gez82cq0ywl4n1fy1g5hmvwrpf\"}],\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_011\",\"docsetTargetFile\":\"p1g6y7lh23vwtwn1fzizudwr5wqz.htm\"}},{\"name\":\"BL_BADFILE=\",\"followsArguments\":[\"ORACLE\"],\"description\":\"Identifies a file that contains records that were rejected during bulk loading.\",\"help\":\"BL_BADFILE= *path-and-file-name*\",\"type\":\"value\",\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_011\",\"docsetTargetFile\":\"n0vde7mlegi5wkn1mudqazk9nzhy.htm\"}},{\"name\":\"BL_BUCKET=\",\"followsArguments\":[\"BIGQUERY\",\"IMPALA\",\"REDSHIFT\",\"SPARK\"],\"description\":\"Specifies the bucket name to use when transferring data files in bulk.\",\"help\":\"BL_BUCKET= '&lt;*bucket-name*&gt;'\",\"type\":\"value\",\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_011\",\"docsetTargetFile\":\"p1xfpsbh3y4d5sn1q440yel2ifrs.htm\"}},{\"name\":\"BL_CLIENT_SECRET=\",\"followsArguments\":[\"SPARK\",\"HADOOP\",\"SQLSERVER\"],\"description\":\"Specifies the client secret for authentication to Azure ADLS Gen2 storage.\",\"help\":\"BL_CLIENT_SECRET= \\\"*value*\\\"\",\"type\":\"value\",\"arguments\":[{\"name\":\"value\",\"placeholder\":true,\"description\":\"specifies a client secret for authentication to Azure ADLS Gen2 storage.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0s3y5brckl6qgn10awbrknwesib\"}],\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_011\",\"docsetTargetFile\":\"n01ou7rpu1syqfn1ghbouq3r0h7w.htm\"}},{\"name\":\"BL_COMPRESS=\",\"followsArguments\":[\"REDSHIFT\",\"SPARK\",\"SQLSVR\"],\"description\":\"Specifies whether to compress data files using the gzip format.\",\"help\":\"BL_COMPRESS= YES | NO\",\"type\":\"choice\",\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_011\",\"docsetTargetFile\":\"n0l1ria85lfxj9n1dbnbwwxqjq70.htm\"}},{\"name\":\"BL_CONFIG=\",\"followsArguments\":[\"REDSHIFT\",\"SPARK\"],\"aliases\":[\"BL_CONFIG_FILE=\"],\"description\":\"Specifies the location of the optional configuration file that the SAS communication layer uses to interact with the Amazon S3 tool.\",\"help\":\"BL_CONFIG= '&lt;*path-and-file-name*&gt;'\",\"type\":\"value\",\"arguments\":[{\"name\":\"path-and-file-name\",\"placeholder\":true,\"description\":\"specifies the host-specific directory path where the optional configuration file for communications with S3 is located.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1dmsb9srowv2tn1499uexyw8nw1\"}],\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_011\",\"docsetTargetFile\":\"n0eqde331g78vvn1dq4v26lcxf99.htm\"}},{\"name\":\"BL_CONTROL=\",\"followsArguments\":[\"ORACLE\"],\"description\":\"Identifies the file that contains control statements.\",\"help\":\"BL_CONTROL= *path-and-control-file-name*\",\"type\":\"value\",\"arguments\":[{\"name\":\"path-and-control-file-name\",\"placeholder\":true,\"description\":\"specifies the SQL*Loader file (where SQLLDR control statements are written) that describe the data to include in bulk loading.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0j13ejstszzpzn174ulvz0vvzmk\"}],\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_011\",\"docsetTargetFile\":\"p1peyb0x1n2uxyn1eu4ixwdhqxra.htm\"}},{\"name\":\"BL_DATAFILE=\",\"followsArguments\":[\"ORACLE\"],\"description\":\"Specifies the file that contains DBMS data for bulk loading.\",\"help\":\"BL_DATAFILE= *path-and-data-file-name*\",\"type\":\"value\",\"arguments\":[{\"name\":\"table\",\"placeholder\":true,\"description\":\"specifies the table name.\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"p10i5mo9xe59w2n12h7epzsk8dj3\"},{\"name\":\"unique-ID\",\"placeholder\":true,\"description\":\"specifies a number that is used to prevent collisions in the event of two or more simultaneous bulk loadings of a particular table. The SAS/ACCESS engine generates the number.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0bof4cvf1xtj4n1dliec4eyf5wc\"},{\"name\":\"ext\",\"placeholder\":true,\"description\":\"specifies the file extension (.DAT or .IXF) for the data file.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1m4rdrtjeqzbxn1ngunu4gqffcu\"}],\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_011\",\"docsetTargetFile\":\"p0ynf47mei2hsxn1coe9lcvxq9zw.htm\"}},{\"name\":\"BL_DEFAULT_DIR=\",\"followsArguments\":[\"BIGQUERY\",\"IMPALA\",\"MYSQL\",\"ORACLE\",\"REDSHIFT\",\"SPARK\",\"SQLSVR\",\"SSTORE\"],\"description\":\"Specifies where bulk loading creates all intermediate files.\",\"help\":\"BL_DEFAULT_DIR= '*host-specific-directory-path*'\",\"type\":\"value\",\"arguments\":[{\"name\":\"host-specific-directory-path\",\"placeholder\":true,\"description\":\"specifies the host-specific directory path where intermediate bulk-load files are created.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n10jkmv710ci75n1y13we9my2rhc\"}],\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_011\",\"docsetTargetFile\":\"p1eg0dpsb5jqptn1lol2ufg1ytn2.htm\"}},{\"name\":\"BL_DELETE_DATAFILE=\",\"followsArguments\":[\"BIGQUERY\",\"IMPALA\",\"ORACLE\",\"REDSHIFT\",\"SPARK\",\"SQLSVR\"],\"description\":\"Specifies whether to delete only the data file (NO) or all files that the SAS/ACCESS engine creates (YES) for the DBMS bulk-load facility.\",\"help\":\"BL_DELETE_DATAFILE= YES |  NO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YES\",\"optional\":true,\"description\":\"deletes all (data, control, and log) files that the SAS/ACCESS engine creates for the DBMS bulk-load facility.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p05uvdnzog5ezin1nd9z9s7ueda3\"},{\"name\":\"NO\",\"optional\":true,\"description\":\"deletes only the data file after bulk loading.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0769vvih22hywn1g3u4x8bsxha5\"}],\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_011\",\"docsetTargetFile\":\"n0f18k0ipthg0on1jkygvcfgjb0g.htm\"}},{\"name\":\"BL_DELETE_ONLY_DATAFILE=\",\"followsArguments\":[\"ORACLE\"],\"description\":\"Specifies whether to delete the data file that the SAS/ACCESS engine creates for the DBMS bulk-load facility.\",\"help\":\"BL_DELETE_ONLY_DATAFILE= YES |   NO\",\"type\":\"choice\",\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_011\",\"docsetTargetFile\":\"p0cfsf1ydr4xr2n1i57y1wxgweaz.htm\"}},{\"name\":\"BL_DELIMITER=\",\"followsArguments\":[\"BIGQUERY\",\"REDSHIFT\",\"SPARK\",\"SQLSVR\"],\"description\":\"Specifies override of the default delimiter character for separating columns of data during bulk loading or unloading (retrieval).\",\"help\":\"BL_DELIMITER= '&lt;*any-single-character*&gt;'\",\"type\":\"value\",\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_011\",\"docsetTargetFile\":\"n0glchwzqf23bnn0zuroavo1sp3y.htm\"}},{\"name\":\"BL_DIRECT_PATH=\",\"followsArguments\":[\"ORACLE\"],\"description\":\"Specifies the Oracle SQL*Loader DIRECT option.\",\"help\":\"BL_DIRECT_PATH= YES |  NO\",\"type\":\"choice\",\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_011\",\"docsetTargetFile\":\"p0ub9hjblrty1sn1u9k8buzgkdvu.htm\"}},{\"name\":\"BL_DISCARDFILE=\",\"followsArguments\":[\"ORACLE\"],\"description\":\"Specifies the file that contains records that were filtered from bulk loading because they did not match the criteria as specified in the CONTROL file.\",\"help\":\"BL_DISCARDFILE= *path-and-discard-file-name*\",\"type\":\"value\",\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_011\",\"docsetTargetFile\":\"p08x7kwlhxzi5rn1p014diy0olao.htm\"}},{\"name\":\"BL_DNSSUFFIX=\",\"followsArguments\":[\"SNOW\",\"SPARK\",\"SQLSVR\"],\"description\":\"Specifies the network host name where the storage system resides.\",\"help\":\"BL_DNSSUFFIX= \\\"*network-storage-host-name*\\\"\",\"type\":\"value\",\"arguments\":[{\"name\":\"network-storage-host-name\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the network host name where the storage system resides. It is referred to as a suffix because the value is typically appended to the end of the storage account name.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0zr0kj7psofiwn1nr6j0kwvps74\"}],\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_011\",\"docsetTargetFile\":\"p1hremvly60tujn13nf5q2dlrafx.htm\"}},{\"name\":\"BL_ENCKEY=\",\"followsArguments\":[\"IMPALA\",\"REDSHIFT\",\"SPARK\"],\"aliases\":[\"BL_ENC_KEY=\",\"BL_ENCRYPTION_KEY=\"],\"description\":\"Specifies the name of the encryption key to use when you access an Amazon S3 environment.\",\"help\":\"BL_ENCKEY= *encryption-key-name*\",\"type\":\"value\",\"arguments\":[{\"name\":\"encryption-key-name\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the name that is associated with an encryption key. The name matches a name that was assigned to an encryption key by using the S3 procedure.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1apnjxespb9ean1f0es9gapb4y8\"}],\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_011\",\"docsetTargetFile\":\"p0qapy1jyy0tqfn0z7zs3ulgzmfd.htm\"}},{\"name\":\"BL_FILESYSTEM=\",\"followsArguments\":[\"HADOOP\",\"SNOW\",\"SPARK\",\"SQLSVR\"],\"description\":\"Specifies the name of the file system within the external storage system.\",\"help\":\"BL_FILESYSTEM= \\\"*file-system-name*\\\"\",\"type\":\"value\",\"arguments\":[{\"name\":\"file-system-name\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the name of the file system within the external storage system that files are to be read from and written to.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1d6m2mjmibe5gn1g82o5ogw3taz\"}],\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_011\",\"docsetTargetFile\":\"p1mixszcvykcnfn1tja9pppw5amb.htm\"}},{\"name\":\"BL_FOLDER=\",\"followsArguments\":[\"HADOOP\",\"SNOW\",\"SPARK\",\"SQLSVR\"],\"description\":\"Specifies the folder or file path for the data in the external storage system.\",\"help\":\"BL_FOLDER= \\\"*file-path-and-folder*\\\"\",\"type\":\"value\",\"arguments\":[{\"name\":\"file-path-and-folder\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the folder or file path for the data in the external storage system. The location path starts with the container name.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0qzpjimcw95xan1qgu6c08clnot\"}],\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_011\",\"docsetTargetFile\":\"n1je2w8k61z8efn1aw3p8gaxmb7b.htm\"}},{\"name\":\"BL_FORMAT=\",\"followsArguments\":[\"HADOOP\",\"IMPALA\",\"SPARK\",\"SQLSVR\"],\"description\":\"Specifies the format of the bulk-load staging file.\",\"help\":\"BL_FORMAT= CSV | ORC | PARQUET | TEXT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"CSV\",\"optional\":true,\"description\":\"specifies a comma-separated value (CSV) file format.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n00697rfjoca2an1p9lq6lq4e7nz\"},{\"name\":\"ORC\",\"optional\":true,\"description\":\"specifies the Apache ORC (Optimized Row Columnar) open-source file format.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0ewnc5u2b65xnn1u0yhsn5d3rlb\"},{\"name\":\"PARQUET\",\"optional\":true,\"description\":\"specifies the Apache Parquet open-source file format.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1svu99g6ebsjen1xnsb3qwaji01\"},{\"name\":\"TEXT\",\"optional\":true,\"description\":\"specifies plain text format. The delimiter is specified by the BL_DELIMITER= option.\",\"help\":\"TEXT \",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p06queeb1lecy5n1pach96mnt0b8\"}],\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_011\",\"docsetTargetFile\":\"p1pggdrlrfer1wn151xtd4i4zmag.htm\"}},{\"name\":\"BL_FORMAT_OPT=\",\"followsArguments\":[\"SPARK\"],\"description\":\"Specifies formatting options for CSV files.\",\"help\":\"BL_FORMAT_OPT= \\\"*option*\\\" | \\\"*option-value*\\\"\",\"type\":\"choice\",\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_011\",\"docsetTargetFile\":\"p01hjk5bwbcjugn1pogwfg2klkgi.htm\"}},{\"name\":\"BL_HOST=\",\"followsArguments\":[\"IMPALA\"],\"aliases\":[\"BLHOST=\",\"BULKLOAD_HOST=\"],\"description\":\"Specifies the WebHDFS host name or IP address of the server where the external data file is stored.\",\"help\":\"BL_HOST= '*host-name*'\",\"type\":\"value\",\"arguments\":[{\"name\":\"host-name\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the name or IP address of the server where the external data file is stored.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n01c22t0a3ijz5n1298sfvtpmtxb\"}],\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_011\",\"docsetTargetFile\":\"n0rltrr66sxzusn1osefvxygmzjy.htm\"}},{\"name\":\"BL_IAM_ASSUME_ROLE_ARN=\",\"followsArguments\":[\"IMPALA\",\"REDSHIFT\",\"SPARK\"],\"description\":\"Specifies an Amazon Resource Name (ARN) that identifies an IAM role.\",\"help\":\"BL_IAM_ASSUME_ROLE_ARN= \\\"*ARN-value*\\\"\",\"type\":\"value\",\"arguments\":[{\"name\":\"ARN-value\",\"placeholder\":true,\"description\":\"specifies an Amazon resource name (ARN) that identifies an IAM role. The associated IAM role enables you to get access credentials for S3 via the AssumeRole IAM operation.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0aisk1odfj87jn1jwqeon16029i\"}],\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_011\",\"docsetTargetFile\":\"p0qt0ocalc7u03n1ri597rmb2686.htm\"}},{\"name\":\"BL_IAM_ASSUME_ROLE_NAME=\",\"followsArguments\":[\"IMPALA\",\"REDSHIFT\",\"SPARK\"],\"description\":\"Specifies an AWS IAM role name that enables you to connect to an Amazon S3 environment.\",\"help\":\"BL_IAM_ASSUME_ROLE_NAME= \\\"*value*\\\"\",\"type\":\"value\",\"arguments\":[{\"name\":\"value\",\"placeholder\":true,\"description\":\"specifies an AWS IAM role name that enables you to get access credentials for S3 via the AssumeRole IAM operation.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0oy3pwzv1pgwxn1fpqx1371rnpe\"}],\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_011\",\"docsetTargetFile\":\"p1qe4oqjd5qt2pn1blksyqzs1vgv.htm\"}},{\"name\":\"BL_IAM_ROLE=\",\"followsArguments\":[\"IMPALA\",\"REDSHIFT\",\"SPARK\"],\"aliases\":[\"BL_ROLE=\"],\"description\":\"Specifies an optional Amazon Web Services IAM role to use for the COPY command.\",\"help\":\"BL_IAM_ROLE= '*role-value*'\",\"type\":\"value\",\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_011\",\"docsetTargetFile\":\"p1b7mfkzh4nflen1pwfjqrvspxv9.htm\"}},{\"name\":\"BL_IDENTITY=\",\"followsArguments\":[\"SQLSVR\"],\"description\":\"Specifies the authentication method for the COPY command.\",\"help\":\"BL_IDENTITY= \\\"*identity-value*\\\"\",\"type\":\"value\",\"arguments\":[{\"name\":\"identity-value\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the authentication method for the COPY command in Azure Synapse Analytics (SQL DW).\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0lrd4lknce0fan113zdpcyu959c\"}],\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_011\",\"docsetTargetFile\":\"p0ntk71c36bzajn1lr2sb7c17093.htm\"}},{\"name\":\"BL_INDEX_OPTIONS=\",\"followsArguments\":[\"ORACLE\"],\"aliases\":[\"SQLLDR_INDEX_OPTION=\"],\"description\":\"Enables you to specify SQL*Loader Index options with bulk loading.\",\"help\":\"BL_INDEX_OPTIONS= '*any valid SQL*Loader Index option*'*segment-name*\",\"type\":\"value\",\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_011\",\"docsetTargetFile\":\"n11aeowva5vavzn1o2r7jki38x14.htm\"}},{\"name\":\"BL_INFORMIXDIR=\",\"followsArguments\":[\"INFORMIX\"],\"aliases\":[\"BL_NFXCLI_PATH=\",\"BL_NFXSDK_PATH=\"],\"description\":\"Specifies the location of the Informix SDK installation.\",\"help\":\"BL_INFORMIXDIR= \\\"*directory-path*\\\"\",\"type\":\"value\",\"arguments\":[{\"name\":\"directory-path\",\"placeholder\":true,\"description\":\"specifies the location of the Informix SDK installation.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1wjivxw8pgefun1xwm76gd27c92\"}],\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_011\",\"docsetTargetFile\":\"n0sfea8f2sqmd0n1v9nppdzbxfxn.htm\"}},{\"name\":\"BL_KEY=\",\"followsArguments\":[\"IMPALA\",\"REDSHIFT\",\"SPARK\"],\"description\":\"Specifies the Amazon Web Services access key that is used with key-based access control.\",\"help\":\"BL_KEY= *key-value*\",\"type\":\"value\",\"arguments\":[{\"name\":\"key-value\",\"placeholder\":true,\"description\":\"specifies an AWS key that you use to access the AWS environment.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1wfg8fjzqltldn1gr87uqt5fqm9\"}],\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_011\",\"docsetTargetFile\":\"n0yy9k5gq792hun1uh2guvtgv98t.htm\"}},{\"name\":\"BL_LOAD_METHOD=\",\"followsArguments\":[\"ORACLE\"],\"description\":\"Specifies the method by which data is loaded into a table during bulk loading.\",\"help\":\"BL_LOAD_METHOD= APPEND | INSERT | \\n     REPLACE | \\n     TRUNCATE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"APPEND\",\"description\":\"appends rows to an existing data source table.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1it9svs2g92m8n1kzk0s1cy394m\"},{\"name\":\"REPLACE\",\"description\":\"deletes all rows in the existing DBMS table and loads new rows from the data file.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n09dl99w4pzesgn1bmumz5tvewod\"},{\"name\":\"TRUNCATE\",\"description\":\"uses the SQL truncate command to achieve the best possible performance. You must first disable the referential integrity constraints of the DBMS table.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n135wryv7q91a5n1wznuhr50fzvq\"}],\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_011\",\"docsetTargetFile\":\"p14apiu8f48intn12tyvbffa36gp.htm\"}},{\"name\":\"BL_LOG=\",\"followsArguments\":[\"ODBC\",\"ORACLE\"],\"description\":\"Specifies the name of the error file where all errors are written when BULKLOAD=YES.\",\"help\":\"BL_LOG= &lt;'&gt;*file-name*&lt;'&gt;\",\"type\":\"value\",\"arguments\":[{\"name\":\"file-name\",\"placeholder\":true,\"description\":\"specifies the name of the designated log file.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1q73yhv4j72ofn1oyd4pjxgzxcm\"}],\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_011\",\"docsetTargetFile\":\"p1ko9g46nz301xn15ho5z34m4j1a.htm\"}},{\"name\":\"BL_MAXERRORS=\",\"followsArguments\":[\"SQLSVR\"],\"description\":\"Specifies the maximum number of rejected rows that are allowed in the load before the COPY command is canceled.\",\"help\":\"BL_MAXERRORS= *value*\",\"type\":\"value\",\"arguments\":[{\"name\":\"value\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the maximum number of rejected rows that are allowed in the load before the COPY command is canceled.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1inyoml2lfce9n1fm57tibspzkr\"}],\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_011\",\"docsetTargetFile\":\"n15kf3psh2hr46n1arweaxd0p0tb.htm\"}},{\"name\":\"BL_NUM_DATAFILES=\",\"followsArguments\":[\"SNOW\"],\"description\":\"Specifies the number of data files to create to contain the source data.\",\"help\":\"BL_NUM_DATAFILES= *value*\",\"type\":\"value\",\"arguments\":[{\"name\":\"value\",\"placeholder\":true,\"description\":\"specifies the number of files to create to hold your source data. This value can be an integer between 1 and 100, inclusively.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1tgt2hca55xfcn10gyz98ks5x6v\"}],\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_011\",\"docsetTargetFile\":\"p1jgq4zzlr9mskn1ifd0lqxasnrm.htm\"}},{\"name\":\"BL_NUM_READ_THREADS=\",\"followsArguments\":[\"BIGQUERY\",\"REDSHIFT\",\"SNOW\"],\"description\":\"Specifies the number of threads to use for bulk unloading from the DBMS into SAS.\",\"help\":\"BL_NUM_READ_THREADS= *value*\",\"type\":\"value\",\"arguments\":[{\"name\":\"value\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the number of threads that are used to perform bulk unloading (retrieval) of data from a DBMS.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n16zf9mjosl7sqn1ujq1lhuu6btb\"}],\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_011\",\"docsetTargetFile\":\"p0dhclvp166cftn1t0hj2h6nrs8t.htm\"}},{\"name\":\"BL_OPTIONS=\",\"followsArguments\":[\"ODBC\",\"ORACLE\",\"REDSHIFT\",\"SQLSVR\"],\"description\":\"Passes to the DBMS bulk-load facility options that affect how it loads and processes data.\",\"help\":\"BL_OPTIONS= '*option-1*&lt;, *option-2*&lt;, ..., *option-N*&gt;&gt;'\\\\nBL_OPTIONS= '*option-1=value-1* &lt;, *option-2=value-2* &lt; ... *option-N=value-N*&gt;&gt;'\",\"type\":\"value\",\"arguments\":[{\"name\":\"option\",\"placeholder\":true,\"description\":\"specifies a bulk-load option that you want to set.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1ma0192m1ym0vn1mmonb0wgchq1\"}],\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_011\",\"docsetTargetFile\":\"p09w1pu6snqpvdn1pm4evzinrlgc.htm\"}},{\"name\":\"BL_PARFILE=\",\"followsArguments\":[\"ORACLE\"],\"description\":\"Specifies a file that contains the SQL*Loader command-line options.\",\"help\":\"BL_PARFILE= &lt;*parameter-file*&gt;\",\"type\":\"standaloneOrValue\",\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_011\",\"docsetTargetFile\":\"n1vwvx7uc6t1bzn1wfzcgkgzthtm.htm\"}},{\"name\":\"BL_PRESERVE_BLANKS=\",\"followsArguments\":[\"ORACLE\"],\"description\":\"Determines how the SQL*Loader handles requests to insert blank spaces into CHAR/VARCHAR2 columns with the NOT NULL constraint.\",\"help\":\"BL_PRESERVE_BLANKS= YES |   NO\",\"type\":\"choice\",\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_011\",\"docsetTargetFile\":\"n1p920pzy2zk4in1ts3cruur42aa.htm\"}},{\"name\":\"BL_RECOVERABLE=\",\"followsArguments\":[\"DB2\",\"ORACLE\"],\"description\":\"Determines whether the LOAD process is recoverable.\",\"help\":\"BL_RECOVERABLE= YES |   NO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YES\",\"optional\":true,\"description\":\"specifies that the LOAD process is recoverable.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p00c810mlsukygn1od9s5167n05d\"},{\"name\":\"NO\",\"optional\":true,\"description\":\"specifies that the LOAD process is not recoverable.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n05a3lfnvtx12wn14vu9xh67pxio\"}],\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_011\",\"docsetTargetFile\":\"p0vj3hf8m9fr9cn1q7rt7s8yilmg.htm\"}},{\"name\":\"BL_REGION=\",\"followsArguments\":[\"IMPALA\",\"REDSHIFT\",\"SPARK\"],\"description\":\"Specifies the Amazon Web Services (AWS) region from which data is being retrieved.\",\"help\":\"BL_REGION= *region*\",\"type\":\"value\",\"arguments\":[{\"name\":\"region\",\"placeholder\":true,\"description\":\"specifies the AWS region from which S3 data is being loaded. You must specify the region when using the S3 tool to load data.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0rac09q3726qqn1gs48d8wltp8v\"}],\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_011\",\"docsetTargetFile\":\"p07t8cveom0j5un1r9flabihznr4.htm\"}},{\"name\":\"BL_RETURN_WARNINGS_AS_ERRORS=\",\"followsArguments\":[\"ORACLE\"],\"description\":\"Specifies whether SQL*Loader (bulk-load) warnings should be displayed in SAS through the SYSERR macro as warnings or errors.\",\"help\":\"BL_RETURN_WARNINGS_AS_ERRORS= YES |   NO\",\"type\":\"choice\",\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_011\",\"docsetTargetFile\":\"p0vheq9erabzg0n1s0dibwrldsdf.htm\"}},{\"name\":\"BL_SECRET=\",\"followsArguments\":[\"IMPALA\",\"REDSHIFT\",\"SPARK\",\"SQLSVR\"],\"description\":\"Specifies the secret access key that is used when you transfer data in bulk.\",\"help\":\"BL_SECRET= *secret-access-key*\",\"type\":\"value\",\"arguments\":[{\"name\":\"secret-access-key\",\"placeholder\":true,\"description\":\"specifies the secret access key value to access a data source.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1dzjo4bqhhwuon1w1g7iqhct2fj\"}],\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_011\",\"docsetTargetFile\":\"n1c5fybxm2x6j8n1sjv0mjkrza6j.htm\"}},{\"name\":\"BL_SUPPRESS_NULLIF=\",\"followsArguments\":[\"ORACLE\"],\"description\":\"Specifies whether to suppress the NULLIF clause for the specified columns to increase performance when a table is created.\",\"help\":\"BL_SUPPRESS_NULLIF= (_ALL_=YES | NO)\\\\nBL_SUPPRESS_NULLIF= (*column-name-1*=YES | NO)&lt; ... *column-name-N*=YES | NO&gt;)\",\"type\":\"choice\",\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_011\",\"docsetTargetFile\":\"n0qi7nypv6tmu4n1moxqxaxexmya.htm\"}},{\"name\":\"BL_TIMEOUT=\",\"followsArguments\":[\"SNOW\",\"SPARK\",\"SQLSVR\"],\"description\":\"Specifies the maximum completion time for a storage task, in seconds.\",\"help\":\"BL_TIMEOUT= *value*\",\"type\":\"value\",\"arguments\":[{\"name\":\"value\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the maximum completion time for a storage task, expressed as a number of seconds. If the task does not complete within the specified time, the storage system might return an error.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n06wzedunwf7afn19c3yg3iwzz9d\"}],\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_011\",\"docsetTargetFile\":\"n0n33gz9zgqonqn0zp23t9dya7sx.htm\"}},{\"name\":\"BL_TOKEN=\",\"followsArguments\":[\"IMPALA\",\"REDSHIFT\",\"SPARK\"],\"description\":\"Specifies a temporary token that is associated with the temporary credentials that you specify with the BL_KEY= and BL_SECRET= options.\",\"help\":\"BL_TOKEN= *temporary-token*\",\"type\":\"value\",\"arguments\":[{\"name\":\"temporary-token\",\"placeholder\":true,\"description\":\"specifies a temporary token that is associated with the temporary credentials that you provide with BL_KEY= and BL_SECRET= LIBNAME options.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0sld394veqrj2n1uvk22r7hndfn\"}],\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_011\",\"docsetTargetFile\":\"p167c8d7oc5265n10or1g7kzycoy.htm\"}},{\"name\":\"BL_USE_ESCAPE=\",\"followsArguments\":[\"REDSHIFT\",\"SPARK\"],\"description\":\"Specifies whether to escape a predefined set of special characters during bulk loading or bulk retrieval.\",\"help\":\"BL_USE_ESCAPE= YES | NO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YES\",\"description\":\"specifies that occurrences of a backslash (‘\\\\’), newline (‘\\\\n’), carriage return (‘\\\\r’), or user-defined delimiter receives a backslash inserted before it. The backslash preserves these occurrences in the data file that is used for bulk loading or data retrieval. Any occurrence of the NULL character (0x00) is replaced by a space (‘ ’).\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1vr2ktlok6lrbn1mnr8r799hqnk\"},{\"name\":\"NO\",\"description\":\"specifies that occurrences of a backslash (‘\\\\’), newline (‘\\\\n’), carriage return (‘\\\\r’), or user-defined delimiter are not escaped in the data file that is used for the bulk loading or data retrieval.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0fbmrhjuq848qn17i0alqrous07\"}],\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_011\",\"docsetTargetFile\":\"p137sraiyptlchn1kd8tb93r97aw.htm\"}},{\"name\":\"BL_USE_LOG=\",\"followsArguments\":[\"SQLSVR\"],\"description\":\"Specifies whether to get reports on rejected rows and the corresponding error file.\",\"help\":\"BL_USE_LOG= YES | NO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YES\",\"description\":\"specifies that a log that contains rejected rows and corresponding errors should be created during bulk loading. The log is stored in the location that is specified by the BL_LOG= option.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1b6ipdujgoflzn1tu9s43y6rekx\"},{\"name\":\"NO\",\"description\":\"specifies not to create a bulk loading log.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0swvghfrzwngon1oncuy7eyguid\"}],\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_011\",\"docsetTargetFile\":\"p13ycwwmlweeuqn1qpv9pq2isrbf.htm\"}},{\"name\":\"BL_USE_PIPE=\",\"followsArguments\":[\"MYSQL\",\"ORACLE\",\"SSTORE\"],\"description\":\"Specifies whether to use a named pipe for data transfer.\",\"help\":\"BL_USE_PIPE= YES | NO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YES\",\"description\":\"specifies that a named pipe is used to transfer data between SAS/ACCESS interfaces and the DBMS client interface.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1ikshlepm3we8n10wppl4pyroqr\"},{\"name\":\"NO\",\"description\":\"specifies that a flat file is used to transfer data. This setting enables you to save the file for later use or examination.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1mxzjtnt4sqazn14jxitam35azs\"}],\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_011\",\"docsetTargetFile\":\"n1d4eozbgwfg5jn1fi529sl2qllz.htm\"}},{\"name\":\"BL_USE_SSL=\",\"followsArguments\":[\"IMPALA\",\"REDSHIFT\",\"SPARK\"],\"description\":\"Specifies whether to use TLS encryption for connections to Amazon S3.\",\"help\":\"BL_USE_SSL= YES | NO\",\"type\":\"choice\",\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_011\",\"docsetTargetFile\":\"p1vy3smle21nkxn19r6qzxd2ay02.htm\"}},{\"name\":\"BL_WRITEBUFF=\",\"followsArguments\":[\"POSTGRES\"],\"description\":\"Specifies the number of rows to buffer in memory before writing to your data source.\",\"help\":\"BL_WRITEBUFF= *value*\",\"type\":\"value\",\"arguments\":[{\"name\":\"value\",\"placeholder\":true,\"description\":\"specifies the number of rows to hold in memory before writing to your data source.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0fd5pxydy2e28n17mmadkfu13fp\"}],\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_011\",\"docsetTargetFile\":\"n0bb91a0d4pxkqn1d85we9ee2xk9.htm\"}},{\"name\":\"BUFFER_SIZE=\",\"aliases\":[\"BLOCKSIZE\",\"BLOCK_SIZE\",\"BUFFERSIZE\",\"BUFFSIZE\"],\"description\":\"Sets the minimum buffer size for data transfers in batch and dialog modes.\",\"help\":\"BUFFER_SIZE= *buffersize*\",\"type\":\"value\",\"supportSiteInformation\":{\"docsetId\":\"accr3\",\"docsetVersion\":\"v_002\",\"docsetTargetFile\":\"n04z8xau9den4xn1h3hsfznlpmmd.htm\"}},{\"name\":\"BUFFSIZE=\",\"followsArguments\":[\"ORACLE\"],\"aliases\":[\"READBUFF=\"],\"description\":\"Specifies the number of rows of DBMS data to read into the buffer.\",\"help\":\"BUFFSIZE= *integer*\",\"type\":\"value\",\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_008\",\"docsetTargetFile\":\"p0u61lysy7qgzmn1bd66tz1om1yx.htm\"}},{\"name\":\"BULKLOAD=\",\"followsArguments\":[\"BIGQUERY\",\"GREENPLM\",\"HADOOP\",\"IMPALA\",\"INFORMIX\",\"MYSQL\",\"ODBC\",\"ORACLE\",\"POSTGRES\",\"SNOW\",\"SPARK\",\"SQLSVR\",\"SSTORE\",\"TERADATA\",\"YBRICK\"],\"description\":\"Determines whether SAS uses a data source utility to insert data into a data source table.\",\"help\":\"BULKLOAD= YES |  NO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YES\",\"optional\":true,\"description\":\"calls a bulk-load utility that is specific to your data source to insert or append rows to a data source table.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0z5lnudljx30an148mdi82mpp24\"},{\"name\":\"NO\",\"optional\":true,\"description\":\"does not call the data source bulk-load utility.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0vgl049m49zawn1egxefn38fu4i\"}],\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_011\",\"docsetTargetFile\":\"n0j1e5bcfyjygxn1av4lu5yshd3s.htm\"}},{\"name\":\"BULKUNLOAD=\",\"followsArguments\":[\"BIGQUERY\",\"INFORMIX\",\"NETEZZA\",\"POSTGRES\",\"REDSHIFT\",\"SNOW\",\"SPARK\",\"YBRICK\"],\"description\":\"Rapidly retrieves (fetches) a large number of rows from an external data set.\",\"help\":\"BULKUNLOAD= YES | NO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YES\",\"description\":\"calls the Remote External Table interface to retrieve data from the server.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0l024oiquj6htn1r1ue5zqlmzdb\"},{\"name\":\"NO\",\"description\":\"uses standard result sets to retrieve data from the DBMS.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n17lnyullf8f8fn1ct3n1mhy45jg\"}],\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_011\",\"docsetTargetFile\":\"p0q3z51m29j99nn1634rlyyxcxcg.htm\"}},{\"name\":\"BULK_API=\",\"aliases\":[\"BULKAPI=\"],\"description\":\"Determines whether SAS uses the Salesforce Bulk API to insert and retrieve data from a Salesforce database.\",\"help\":\"BULK_API= YES |  NO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YES\",\"optional\":true,\"description\":\"calls the Salesforce BULK API for query and load operations.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0n3bjwujtr9von1ltvw20g53u6p\"},{\"name\":\"NO\",\"optional\":true,\"description\":\"calls the default Salesforce SOAP API for query and load operations.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0mcg73lydv9qxn1719442ed6kf7\"}],\"supportSiteInformation\":{\"docsetId\":\"acnrdb\",\"docsetVersion\":\"v_002\",\"docsetTargetFile\":\"n1nj9r8m5j5v98n17cz6hiw8bpe4.htm\"}},{\"name\":\"BULK_REFRESH=\",\"aliases\":[\"BULKREFRESH=\"],\"description\":\"Specifies how often bulk load requests are checked for completion.\",\"help\":\"BULK_REFRESH= *value*\",\"type\":\"value\",\"arguments\":[{\"name\":\"value\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies in milliseconds how often bulk load requests are checked for completion.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1q2wbq8tbrruan1c8gcu513vkkv\"}],\"supportSiteInformation\":{\"docsetId\":\"acnrdb\",\"docsetVersion\":\"v_002\",\"docsetTargetFile\":\"p041fx5538cai4n10ip0y9l6de12.htm\"}},{\"name\":\"BULK_TIMEOUT=\",\"aliases\":[\"BULKTIMEOUT=\"],\"description\":\"Specifies the timeout period for bulk load operations.\",\"help\":\"BULK_TIMEOUT= *value*\",\"type\":\"value\",\"arguments\":[{\"name\":\"value\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the timeout period in milliseconds for bulk load operations. It applies to the entire duration of the bulk load, not for each API call.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0g39780tlajdon1f7s9tc1bvwib\"}],\"supportSiteInformation\":{\"docsetId\":\"acnrdb\",\"docsetVersion\":\"v_002\",\"docsetTargetFile\":\"n1ezb4sjqeqti2n1o1vdot8txajk.htm\"}},{\"name\":\"BYSORT=\",\"description\":\"Specifies whether to use implicit automatic SPD Server sorts on BY clauses.\",\"help\":\"BYSORT= NO | YES\",\"type\":\"choice\",\"supportSiteInformation\":{\"docsetId\":\"spdsug\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p0luvuvpxoqa40n1a95js9nyqp5n.htm\"}},{\"name\":\"CAS\",\"description\":\"specifies the CAS LIBNAME engine.\",\"type\":\"standalone\"},{\"name\":\"CASLIB=\",\"description\":\"Specifies the name of the caslib to use for engine operations in the LIBNAME statement.\",\"help\":\"CASLIB= *caslib-reference-name*\",\"type\":\"value\",\"supportSiteInformation\":{\"docsetId\":\"casref\",\"docsetVersion\":\"v_004\",\"docsetTargetFile\":\"p1bk7rk378opmvn1pv1e4wdbu9cb.htm\"}},{\"name\":\"CAST=\",\"followsArguments\":[\"TERADATA\"],\"description\":\"Specifies whether SAS or the Teradata DBMS server performs data conversions.\",\"help\":\"CAST= YES |  NO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YES\",\"optional\":true,\"description\":\"forces data conversions (casting) to be done on the Teradata DBMS server and overrides any data overhead percentage limit.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p17eypij4nri31n1h1wepgd893e6\"},{\"name\":\"NO\",\"optional\":true,\"description\":\"forces data conversions to be done by SAS and overrides any data overhead percentage limit.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0w1zc1jfo8ni7n1h5lk39xe53cz\"}],\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_011\",\"docsetTargetFile\":\"n1qp7fpghnto34n1k3osw18vfkqt.htm\"}},{\"name\":\"CAST_OVERHEAD_MAXPERCENT=\",\"followsArguments\":[\"TERADATA\"],\"description\":\"Specifies the overhead limit for data conversions to perform in Teradata instead of SAS.\",\"help\":\"CAST_OVERHEAD_MAXPERCENT= *n*\",\"type\":\"value\",\"arguments\":[{\"name\":\"n\",\"optional\":true,\"placeholder\":true,\"description\":\"any positive numeric value. The engine default is 20.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0wr9o2p1ld6oxn1a72q9sdh09pw\"}],\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_011\",\"docsetTargetFile\":\"n1huwv4ynmwd0xn1xulwzn7aep4x.htm\"}},{\"name\":\"CATALOG=\",\"followsArguments\":[\"JDBC\",\"SPARK\"],\"description\":\"Specifies the catalog name to use to qualify names when listing database objects.\",\"help\":\"CATALOG= '*catalog-name*'\",\"type\":\"dataSet\",\"arguments\":[{\"name\":\"catalog-name\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the catalog name to use to qualify names when listing database objects.\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"n1nakqowgh3y93n17vufhqq0xvti\"}],\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_011\",\"docsetTargetFile\":\"n18xmbny3kem0gn1w12rp6mgc4ky.htm\"}},{\"name\":\"CATEGORY=\",\"followsArguments\":[\"BIGQUERY\"],\"aliases\":[\"QUALIFIER=\"],\"description\":\"Enables identification of tables and views with the specified qualifier.\",\"help\":\"CATEGORY= &lt;'&gt;*qualifier-name*&lt;'&gt;\",\"type\":\"value\",\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_008\",\"docsetTargetFile\":\"p0x316293sxaoin1hy3jfleleub0.htm\"}},{\"name\":\"CDE\",\"description\":\"associates a SAS libref with data to be processed by Cloud Data Exchange for the SAS Viya platform.\",\"type\":\"standalone\"},{\"name\":\"CHARACTER_MULTIPLIER=\",\"followsArguments\":[\"HADOOP\",\"JDBC\",\"SPARK\"],\"aliases\":[\"DBCLIENT_MAX_BYTES=\"],\"description\":\"Specifies the maximum number of bytes per single character in SAS session encoding when reading character data from a DBMS.\",\"help\":\"CHARACTER_MULTIPLIER= *maximum-client-bytes*\",\"type\":\"value\",\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_008\",\"docsetTargetFile\":\"n03byaxn5439w5n1ev20fyqk0uaf.htm\"}},{\"name\":\"CHARMULTIPLIER=\",\"followsArguments\":[\"XMLV2\"],\"description\":\"Expands column (variable) lengths by a multiplier value.\",\"help\":\"CHARMULTIPLIER= *value*\",\"type\":\"value\",\"arguments\":[{\"name\":\"value\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the multiplier value to expand column (variable) lengths. These are column (variable) lengths specified in an XMLMap\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1xsleke5unne1n1vyoachlg4n98\"}],\"supportSiteInformation\":{\"docsetId\":\"engxml\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n0kvon2742e4c7n1qxt6truvio5y.htm\"}},{\"name\":\"CHAR_AS_NCHAR=\",\"followsArguments\":[\"NETEZZA\",\"SAPHANA\"],\"description\":\"Specifies the default character type to use for table columns.\",\"help\":\"CHAR_AS_NCHAR= YES |  NO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YES\",\"optional\":true,\"description\":\"specifies that NCHAR or NVARCHAR be used as the default column type.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0yav8pdgf44ucn1ii88ud9uqqb6\"},{\"name\":\"NO\",\"optional\":true,\"description\":\"specifies that CHAR or VARCHAR be used as the default column type.\",\"help\":\"NO \",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0d9k5apl25jrzn14qauw1upc332\"}],\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_011\",\"docsetTargetFile\":\"p1a7lp5l8qmuoln14iuvzmqspw6p.htm\"}},{\"name\":\"CHAR_COLUMN_LIMIT=\",\"followsArguments\":[\"ORC\",\"PARQUET\"],\"description\":\"Specifies the maximum length for character columns that do not have a defined length.\",\"help\":\"CHAR_COLUMN_LIMIT= *n*\",\"type\":\"value\",\"arguments\":[{\"name\":\"n\",\"optional\":true,\"placeholder\":true,\"description\":\"is the maximum length for character columns that do not have a defined length in the data source.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0f2l690kckjsjn1dv8wa4vrbjz2\"}],\"supportSiteInformation\":{\"docsetId\":\"enghdff\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"p12rwps1tjlz0zn1cnvobnjeu96x.htm\"}},{\"name\":\"CHECKPOINT=\",\"followsArguments\":[\"TERADATA\"],\"aliases\":[\"DBCOMMT=\"],\"description\":\"Causes an automatic COMMIT (permanently writing data to the DBMS) after processing a specified number of rows.\",\"help\":\"CHECKPOINT= *n*\",\"type\":\"value\",\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_008\",\"docsetTargetFile\":\"p00lgy3xwh61b8n16kffwq3veagu.htm\"}},{\"name\":\"CHNGPASS=\",\"description\":\"Specifies whether to prompt a server user for a change of password.\",\"help\":\"CHNGPASS= NO | YES\",\"type\":\"choice\",\"supportSiteInformation\":{\"docsetId\":\"spdsug\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p1g5lj48t64umwn13n4j805qjw4i.htm\"}},{\"name\":\"CLASS=\",\"followsArguments\":[\"HADOOP\"],\"aliases\":[\"DRIVER=\",\"DRIVERCLASS=\",\"HIVECLASS=\"],\"description\":\"Specifies the class name of the JDBC driver to use for your database connection.\",\"help\":\"CLASS= &lt;'&gt;*driver*&lt;'&gt;\",\"type\":\"value\",\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_008\",\"docsetTargetFile\":\"n19ksf8hw3hbk3n1sqwx4xfj3nch.htm\"}},{\"name\":\"CLASSPATH=\",\"followsArguments\":[\"HADOOP\",\"JDBC\",\"SPARK\"],\"description\":\"Specifies additional resources, including JDBC drivers, to add to the JDBC class path.\",\"help\":\"CLASSPATH= *directory-path*\",\"type\":\"value\",\"arguments\":[{\"name\":\"directory-path\",\"placeholder\":true,\"description\":\"specifies a path beneath the /data-drivers/ folder path.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1ngzck241cihon12ktslkzwik0m\"}],\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_011\",\"docsetTargetFile\":\"n0jnd2au8r38bxn12g3njubge0em.htm\"}},{\"name\":\"CLIENT=\",\"aliases\":[\"CLI\",\"RFCCLIENT\",\"RFCCLI\"],\"description\":\"Specifies the SAP logon parameter client.\",\"help\":\"CLIENT= *client*\",\"type\":\"value\",\"supportSiteInformation\":{\"docsetId\":\"accr3\",\"docsetVersion\":\"v_002\",\"docsetTargetFile\":\"p14g1lhs3np3zln1ou7qwug6n8o4.htm\"}},{\"name\":\"CLIENT_ENCODING=\",\"followsArguments\":[\"POSTGRES\",\"YBRICK\"],\"description\":\"Specifies the encoding to use when transferring data from your DBMS.\",\"help\":\"CLIENT_ENCODING= '*encoding*'\",\"type\":\"value\",\"arguments\":[{\"name\":\"encoding\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the encoding to use when transferring data into SAS.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1ljl5wxpm17nbn1nny8ptrzyvvr\"}],\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_011\",\"docsetTargetFile\":\"n1q0m2sl5jsi7mn125qfkflg9hfl.htm\"}},{\"name\":\"CLIENT_ID=\",\"followsArguments\":[\"BIGQUERY\"],\"description\":\"Specifies the client ID value for the OAuth client that is used to connect to Google BigQuery using the OAuth authentication method.\",\"help\":\"CLIENT_ID= *ID-value*\",\"type\":\"value\",\"arguments\":[{\"name\":\"ID-value\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the client ID value for the OAuth client that is used to connect to Google BigQuery using the OAuth authentication method.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0gab46m3lt59in16v6xwcoo48d5\"}],\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_011\",\"docsetTargetFile\":\"p16njlak2qt92kn1w0mh2r1ffyab.htm\"}},{\"name\":\"CLIENT_MAX_BYTES=\",\"followsArguments\":[\"IMPALA\",\"SASPIQ\"],\"aliases\":[\"DBCLIENT_MAX_BYTES=\"],\"description\":\"Specifies the maximum number of bytes per single character in SAS session encoding when reading character data from a DBMS.\",\"help\":\"CLIENT_MAX_BYTES= *maximum-client-bytes*\",\"type\":\"value\",\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_008\",\"docsetTargetFile\":\"n03byaxn5439w5n1ev20fyqk0uaf.htm\"}},{\"name\":\"CLIENT_SECRET=\",\"followsArguments\":[\"BIGQUERY\"],\"description\":\"Specifies the client secret value for the OAuth client that is used to connect to Google BigQuery using the OAuth authentication method.\",\"help\":\"CLIENT_SECRET= *authentication-secret*\",\"type\":\"value\",\"arguments\":[{\"name\":\"authentication-secret\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the client secret value for the OAuth client that is used to connect to Google BigQuery using the OAuth authentication method.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1ki63c5hdnolhn1rztasigzrcb0\"}],\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_011\",\"docsetTargetFile\":\"n0hpsne2cu98vpn1ky7d6infba4m.htm\"}},{\"name\":\"CLUSTER_ID=\",\"followsArguments\":[\"REDSHIFT\"],\"description\":\"Specifies the cluster ID for a connection.\",\"help\":\"CLUSTER_ID= *cluster-ID*\",\"type\":\"value\",\"arguments\":[{\"name\":\"cluster-ID\",\"placeholder\":true,\"description\":\"specifies the cluster ID for your connection.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n14he5lu8zeqtin14wv4rczdqg73\"}],\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_011\",\"docsetTargetFile\":\"p1nxxlb0qnbqknn14rqf9ydubo84.htm\"}},{\"name\":\"COMPRESS=\",\"description\":\"Specifies the compression of rows in output tables.\",\"help\":\"COMPRESS= NO | YES | CHAR | BINARY\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NO\",\"optional\":true,\"description\":\"specifies that the rows in a newly created table are uncompressed (fixed-length records).\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0pla9auyvhnh5n1886wsniid8vh\"},{\"name\":\"YES\",\"optional\":true,\"description\":\"specifies that the rows in a newly created table are compressed (variable-length records) using RLE (Run Length Encoding). RLE compresses rows by reducing repeated consecutive characters (including blanks) to two-byte or three-byte representations.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0sgf7lnhpfcc9n17ykeobgrnd4n\"},{\"name\":\"CHAR\",\"optional\":true,\"description\":\"specifies that the rows in a newly created table are compressed (variable-length records) using RLE (Run Length Encoding). RLE compresses rows by reducing repeated consecutive characters (including blanks) to two-byte or three-byte representations.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0sgf7lnhpfcc9n17ykeobgrnd4n\"},{\"name\":\"BINARY\",\"optional\":true,\"description\":\"specifies that the rows in a newly created table are compressed (variable-length records) using RDC (Ross Data Compression). RDC combines run-length encoding and sliding-window compression to compress the file.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0iqjsgxb51d97n1rid01fxg6ee8\"}],\"supportSiteInformation\":{\"docsetId\":\"dataagenteng\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"p1etbl1zfehckqn1wnz4jwc4x61e.htm\"}},{\"name\":\"CONNECTION=\",\"followsArguments\":[\"DB2\",\"DUCKDB\",\"GREENPLM\",\"HADOOP\",\"IMPALA\",\"INFORMIX\",\"JDBC\",\"MYSQL\",\"NETEZZA\",\"ODBC\",\"ORACLE\",\"POSTGRES\",\"REDSHIFT\",\"SAPASE\",\"SAPHANA\",\"SAPIQ\",\"SNOW\",\"SPARK\",\"SQLSVR\",\"SSTORE\",\"TERADATA\",\"VERTICA\",\"YBRICK\"],\"description\":\"Specifies whether operations on single or multiple librefs can share a connection to the DBMS.\",\"help\":\"CONNECTION=   GLOBAL | GLOBALREAD | SHARED | SHAREDREAD | UNIQUE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"GLOBAL\",\"optional\":true,\"description\":\"specifies that all operations that access DBMS tables in multiple librefs share a single connection if the conditions for sharing a connection are met. For more information, see .\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0rpjdh0wabm8sn1th1vm17dzm1x\"},{\"name\":\"GLOBALREAD\",\"optional\":true,\"description\":\"specifies that all READ operations that access DBMS tables in multiple librefs share a single connection if the conditions for sharing a connection are met. For more information, see .\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0eig0f530lhmrn17wadvy3vdj2s\"},{\"name\":\"SHARED\",\"optional\":true,\"description\":\"specifies that all operations that access DBMS tables in a single libref share a single connection if the conditions for sharing a connection are met. For more information, see .\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n03u43winovy7zn1sl9c9qh49gxs\"},{\"name\":\"SHAREDREAD\",\"optional\":true,\"description\":\"specifies that all READ operations that access DBMS tables in a single libref share a single connection if the conditions for sharing a connection are met. For more information, see .\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1d78f2a9scy8yn0zyxkek3zrbkj\"},{\"name\":\"UNIQUE\",\"optional\":true,\"description\":\"specifies that a separate connection is established every time a DBMS table is accessed by your SAS application.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1j7xiaza359vun17y6ql59socre\"}],\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_011\",\"docsetTargetFile\":\"n166tqlopg9p0bn1okz4ilmde7mp.htm\"}},{\"name\":\"CONNECTION_GROUP=\",\"followsArguments\":[\"DB2\",\"GREENPLM\",\"IMPALA\",\"INFORMIX\",\"MYSQL\",\"NETEZZA\",\"ODBC\",\"ORACLE\",\"POSTGRES\",\"REDSHIFT\",\"SAPASE\",\"SAPHANA\",\"SAPIQ\",\"SNOW\",\"SQLSVR\",\"SSTORE\",\"TERADATA\",\"VERTICA\",\"YBRICK\"],\"description\":\"Causes operations on multiple librefs and on multiple SQL pass-through facility CONNECT statements to share a connection to the DBMS.\",\"help\":\"CONNECTION_GROUP= *connection-group-name*\",\"type\":\"value\",\"arguments\":[{\"name\":\"connection-group-name\",\"optional\":true,\"placeholder\":true,\"description\":\"name of a connection group.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0x8vqwim2frimn1ov6vmrqtl268\"}],\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_011\",\"docsetTargetFile\":\"n0j8aq13jyowkon1a3difgmq5yow.htm\"}},{\"name\":\"CONNECTSTR=\",\"followsArguments\":[\"SQLSERVER\"],\"aliases\":[\"CONNECT_STRING=\",\"NOPROMPT=\"],\"description\":\"Specifies database-specific connection options to use when connecting.\",\"help\":\"CONNECTSTR= &lt;'&gt;*connection-options*&lt;'&gt;\",\"type\":\"value\",\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_008\",\"docsetTargetFile\":\"n0njmaggfaf9p4n1keqr54lbaylr.htm\"}},{\"name\":\"CONNECT_OPTIONS=\",\"followsArguments\":[\"SNOW\"],\"aliases\":[\"CONOPTS=\"],\"description\":\"Specifies database-specific connection options to use when connecting.\",\"help\":\"CONNECT_OPTIONS= '*connection_option1*&lt;;*connection_option2* ...&gt;';\",\"type\":\"value\",\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_008\",\"docsetTargetFile\":\"p1qu1edv1jhk1vn1dumx9uorn6l2.htm\"}},{\"name\":\"CONOPTS=\",\"followsArguments\":[\"GREENPLM\",\"IMPALA\",\"INFORMIX\",\"NETEZZA\",\"POSTGRES\",\"REDSHIFT\",\"SAPHANA\",\"SAPIQ\",\"SNOW\",\"VERTICA\",\"YBRICK\"],\"description\":\"Specifies database-specific connection options to use when connecting.\",\"help\":\"CONOPTS= '*connection_option1*&lt;;*connection_option2* ...&gt;';\",\"type\":\"value\",\"arguments\":[{\"name\":\"connection_option\",\"description\":\"specifies a database-specific connection option that is passed directly to the data source. Separate multiple values with a semicolon (;) and enclose the list of connection options in single or double quotation marks.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1egqwq316cvhkn1xlb72cfxcgdw\"}],\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_011\",\"docsetTargetFile\":\"p1qu1edv1jhk1vn1dumx9uorn6l2.htm\"}},{\"name\":\"CONTEXTROOT=\",\"description\":\"Specifies the context root to use in the HTTPS URL for an HTTP reverse proxy.\",\"help\":\"CONTEXTROOT= \\\"*HTTP-context-root*\\\"\",\"type\":\"value\",\"supportSiteInformation\":{\"docsetId\":\"dataagenteng\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"p1p8xhqqsn7zezn1fz1wr2il06ha.htm\"}},{\"name\":\"COPY_OPTIONS=\",\"followsArguments\":[\"DUCKDB\"],\"description\":\"Specifies a list of options to pass to the COPY command.\",\"help\":\"COPY_OPTIONS= \\\"*option1*&lt;, *option2*,  ...&gt;\\\"\",\"type\":\"value\",\"arguments\":[{\"name\":\"option\",\"placeholder\":true,\"description\":\"specifies an option to pass to the COPY command. Separate multiple options by commas.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n15d1541vhmq3zn0zfnwu1cejy52\"}],\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_011\",\"docsetTargetFile\":\"p0hqfd2ajtne4tn1dfzlnqe7ojuo.htm\"}},{\"name\":\"CREATED_IN=\",\"followsArguments\":[\"DB2\"],\"aliases\":[\"IN=\"],\"description\":\"Lets you specify the database and tablespace in which you want to create a new table.\",\"help\":\"CREATED_IN= '*database-name.tablespace-name*' | DATABASE *database-name*'\",\"type\":\"choice\",\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_008\",\"docsetTargetFile\":\"p0mahokqoolcpqn1k8tlis036002.htm\"}},{\"name\":\"CRED_PATH=\",\"followsArguments\":[\"BIGQUERY\"],\"aliases\":[\"CREDPATH=\",\"CRED_FILE=\",\"CREDFILE=\"],\"description\":\"Specifies the location of a credential file that enables authentication to Google Cloud Platform.\",\"help\":\"CRED_PATH= '*path-and-filename*'\",\"type\":\"value\",\"arguments\":[{\"name\":\"path-and-filename\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the path to the credentials file that enables authentication to Google Cloud Platform.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0fb3xgdm8r2qcn17dz9al5s48cs\"}],\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_011\",\"docsetTargetFile\":\"p1i29fu4rj1qj9n1jg2mq353cj24.htm\"}},{\"name\":\"CSV_OPTIONS=\",\"followsArguments\":[\"DUCKDB\"],\"description\":\"Specifies a list of options to pass to the read_csv function in DuckDB.\",\"help\":\"CSV_OPTIONS= \\\"*option1*&lt;, *option2*,  ...&gt;\\\"\",\"type\":\"value\",\"arguments\":[{\"name\":\"option\",\"placeholder\":true,\"description\":\"specifies an option to pass to the read_csv function in DuckDB. Separate multiple options by commas. Enclose the list of options in quotation marks.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n04xpbwie7k2rtn18bj64drnoom1\"}],\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_011\",\"docsetTargetFile\":\"n0n6topvrpoogun1h8thtm5khctc.htm\"}},{\"name\":\"CURSOR=\",\"followsArguments\":[\"IMPALA\"],\"aliases\":[\"CURSOR_TYPE=\"],\"description\":\"Specifies the cursor type for read-only and updatable cursors.\",\"help\":\"CURSOR= FORWARD_ONLY | STATIC\",\"type\":\"choice\",\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_008\",\"docsetTargetFile\":\"p1pdx0nznnifhhn1rwx52vo3o3ov.htm\"}},{\"name\":\"CURSOR_TYPE=\",\"followsArguments\":[\"DB2\",\"GREENPLM\",\"IMPALA\",\"ODBC\",\"POSTGRES\",\"REDSHIFT\",\"SQLSVR\",\"YBRICK\"],\"description\":\"Specifies the cursor type for read-only and updatable cursors.\",\"help\":\"CURSOR_TYPE= DYNAMIC | FORWARD_ONLY | KEYSET_DRIVEN | STATIC\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DYNAMIC\",\"optional\":true,\"description\":\"specifies that the cursor reflects all changes that are made to the rows in a result set as you move the cursor. The data values and the membership of rows in the cursor can change dynamically on each fetch.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0grk2o1hcy0ten1fqorkgkugzej\"},{\"name\":\"FORWARD_ONLY\",\"optional\":true,\"description\":\"specifies that the cursor functions like a DYNAMIC cursor except that it supports only sequential fetching of rows.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1kv5rj3nyh76yn1d6v0spb4c4w2\"},{\"name\":\"KEYSET_DRIVEN\",\"optional\":true,\"description\":\"specifies that the cursor determines which rows belong to the result set when the cursor is opened. However, changes that are made to these rows are reflected as you scroll around the cursor.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0v35man2ebkmbn1rzlgyi0l4c3z\"},{\"name\":\"STATIC\",\"optional\":true,\"description\":\"specifies that the cursor builds the complete result set when the cursor is opened. No changes that are made to the rows in the result set after the cursor is opened are reflected in the cursor. Static cursors are read-only.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1318uhmqkywqpn1tfpblefvrsqh\"}],\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_011\",\"docsetTargetFile\":\"p1pdx0nznnifhhn1rwx52vo3o3ov.htm\"}},{\"name\":\"CVP\",\"description\":\"specifies the character variable padding (CVP) engine to expand character variable lengths so that character data truncation does not occur when a file requires transcoding.\",\"type\":\"standalone\",\"supportSiteInformation\":{\"docsetId\":\"lestmtsglobal\",\"docsetVersion\":\"v_002\",\"docsetTargetFile\":\"p1ml1gmtqm3h72n17yjxbyagw0mm.htm\"}},{\"name\":\"DATABASE=\",\"followsArguments\":[\"DUCKDB\",\"GREENPLM\",\"INFORMIX\",\"MYSQL\",\"NETEZZA\",\"POSTGRES\",\"REDSHIFT\",\"SAPASE\",\"SAPIQ\",\"SSTORE\",\"SNOW\",\"TERADATA\",\"VERTICA\",\"YBRICK\"],\"description\":\"Specifies the database that you want to access.\",\"help\":\"DATABASE= &lt;'&gt;*database-name*&lt;' &gt;\",\"type\":\"value\",\"arguments\":[{\"name\":\"database-name\",\"placeholder\":true,\"description\":\"the database that you want to access. For many data sources, if the database name contains spaces or nonalphanumeric characters, you must enclose it in quotation marks.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1177lcjzhus2kn19g6ulk3oalj9\"}],\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_011\",\"docsetTargetFile\":\"p0c0xq7z7ktszen1rjyng3skq00z.htm\"}},{\"name\":\"DATALIMIT=\",\"description\":\"Specifies the maximum number of bytes of data that can be transferred between the CAS server and SAS during a single-table read.\",\"help\":\"DATALIMIT= *integer* | *integer*K | *integer*M | *integer*G | ALL\",\"type\":\"choice\",\"supportSiteInformation\":{\"docsetId\":\"casref\",\"docsetVersion\":\"v_004\",\"docsetTargetFile\":\"p019cb7e3vzgzmn1230k58xu9af6.htm\"}},{\"name\":\"DATAPATH=\",\"followsArguments\":[\"SPDE\"],\"description\":\"Specifies a list of paths in which to store data partitions (.dpf) for an SPD Engine data set.\",\"help\":\"DATAPATH= (*'path1'* &lt;*'path2'*&gt; ...)\",\"type\":\"value\",\"arguments\":[{\"name\":\"'path'\",\"placeholder\":true,\"description\":\"is a complete pathname in single or double quotation marks within parentheses. Separate multiple arguments with spaces.\",\"help\":\"*'path'*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1lowruo389ij1n1gvjguy2e2nz8\"}],\"supportSiteInformation\":{\"docsetId\":\"engspde\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p08x0z9bsju5kdn1qc7lt3kct7nu.htm\"}},{\"name\":\"DATASRC=\",\"followsArguments\":[\"DB2\",\"IMPALA\",\"SQLSVR\",\"NETEZZA\",\"ODBC\"],\"description\":\"Specifies the configured data source to which you want to connect.\",\"help\":\"DATASRC= &lt;'&gt;*data-source*&lt;'&gt;\",\"type\":\"value\",\"arguments\":[{\"name\":\"data-source\",\"placeholder\":true,\"description\":\"specifies the configured data source to which you want to connect.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1kv7jsyo08s9zn1g8q3792libzl\"}],\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_011\",\"docsetTargetFile\":\"p032yd68x67gxcn10g5qcz9dhq5p.htm\"}},{\"name\":\"DATA_BLOCK_SIZE=\",\"followsArguments\":[\"ORC\"],\"description\":\"Requests a stripe size for an ORC table during creation (output).\",\"help\":\"DATA_BLOCK_SIZE= *n* | *n*K | *n*M | *n*G\",\"type\":\"choice\",\"supportSiteInformation\":{\"docsetId\":\"enghdff\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"n0jdv1dsqbwmu9n1c1wkmurgiala.htm\"}},{\"name\":\"DB2\",\"description\":\"specifies the SAS/ACCESS engine name for the DB2 interface.\",\"type\":\"standalone\",\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_008\",\"docsetTargetFile\":\"p1em9x5l0q0h8vn1rfhudacb42hu.htm\"}},{\"name\":\"DBCLIENT_ENCODING_FIXED=\",\"followsArguments\":[\"ORACLE\"],\"description\":\"Specifies whether SAS session encoding is a fixed width.\",\"help\":\"DBCLIENT_ENCODING_FIXED= YES |  NO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YES\",\"optional\":true,\"description\":\"indicates that database table column lengths in characters are a fixed width. Use this value to adjust byte lengths within SAS for any database column lengths that are specified in bytes. The number of characters is calculated as the length that is specified in SAS, divided by the value in DBCLIENT_MAX_BYTES=. If needed, and if DB_LENGTH_SEMANTIC_BYTE=YES, the character length is then multiplied by the value in DBSERVER_MAX_BYTES=.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n03gbx192ncw27n1u22awaxzet93\"},{\"name\":\"NO\",\"optional\":true,\"description\":\"indicates that database table column lengths are not a fixed width.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0gos62ybk4813n10ihwfjybinb2\"}],\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_011\",\"docsetTargetFile\":\"p1w1ssssenmmbtn1kzang5uoqvte.htm\"}},{\"name\":\"DBCLIENT_MAX_BYTES=\",\"description\":\"Specifies the maximum number of bytes per single character in the SAS session encoding.\",\"help\":\"DBCLIENT_MAX_BYTES= *max-client-bytes*\",\"type\":\"value\",\"arguments\":[{\"name\":\"max-client-bytes\",\"placeholder\":true,\"description\":\"specifies the multiplying factor to apply for storage of CHAR and NCHAR variables for client encoding.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p07s0uwc4p1p5fn1nswqvxtpq572\"}],\"supportSiteInformation\":{\"docsetId\":\"accr3\",\"docsetVersion\":\"v_002\",\"docsetTargetFile\":\"n09hq7o27l1dexn14ilyzgz1nj0h.htm\"}},{\"name\":\"DBCOMMIT=\",\"followsArguments\":[\"DB2\",\"DUCKDB\",\"GREENPLM\",\"IMPALA\",\"INFORMIX\",\"NETEZZA\",\"ODBC\",\"ORACLE\",\"POSTGRES\",\"REDSHIFT\",\"SAPASE\",\"SAPHANA\",\"SAPIQ\",\"SNOW\",\"SSTORE\",\"TERADATA\",\"VERTICA\",\"YBRICK\"],\"aliases\":[\"DBINITCMD=\"],\"description\":\"Causes an automatic COMMIT (permanently writing data to the DBMS) after processing a specified number of rows.\",\"help\":\"DBCOMMIT= *n*\",\"type\":\"value\",\"arguments\":[{\"name\":\"n\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the number of rows that are processed. This value must be an integer greater than or equal to 0.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1w8g12hbkx1jbn1ok7xlsm5a4fv\"}],\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_011\",\"docsetTargetFile\":\"p00lgy3xwh61b8n16kffwq3veagu.htm\"}},{\"name\":\"DBCONINIT=\",\"followsArguments\":[\"DB2\",\"DUCKDB\",\"GREENPLM\",\"HADOOP\",\"IMPALA\",\"INFORMIX\",\"JDBC\",\"MYSQL\",\"NETEZZA\",\"ODBC\",\"ORACLE\",\"POSTGRES\",\"REDSHIFT\",\"SAPASE\",\"SAPIQ\",\"SNOW\",\"SPARK\",\"SQLSVR\",\"SSTORE\",\"TERADATA\",\"VERTICA\",\"YBRICK\"],\"description\":\"Specifies a user-defined initialization command to execute immediately after every connection to the DBMS that is within the scope of the LIBNAME statement or libref.\",\"help\":\"DBCONINIT= \\\"*DBMS-user-command*\\\"\",\"type\":\"value\",\"arguments\":[{\"name\":\"DBMS-user-command\",\"optional\":true,\"placeholder\":true,\"description\":\"any valid command that the SAS/ACCESS engine can execute and that does not return a result set or output parameters.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0gjpkk0wlwbkhn1vl19k9ch171h\"}],\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_011\",\"docsetTargetFile\":\"p1agt4p0hj4fyun103no9xpgskdv.htm\"}},{\"name\":\"DBCONTERM=\",\"followsArguments\":[\"DB2\",\"DUCKDB\",\"GREENPLM\",\"HADOOP\",\"IMPALA\",\"INFORMIX\",\"JDBC\",\"MYSQL\",\"NETEZZA\",\"ODBC\",\"ORACLE\",\"POSTGRES\",\"REDSHIFT\",\"SAPASE\",\"SAPIQ\",\"SNOW\",\"SPARK\",\"SQLSVR\",\"SSTORE\",\"TERADATA\",\"VERTICA\",\"YBRICK\"],\"description\":\"Specifies a user-defined termination command to execute before every disconnect from the DBMS that is within the scope of the LIBNAME statement or libref.\",\"help\":\"DBCONTERM= &lt;'&gt;*DBMS-user-command*&lt;'&gt;\",\"type\":\"value\",\"arguments\":[{\"name\":\"DBMS-user-command\",\"optional\":true,\"placeholder\":true,\"description\":\"any valid command that the SAS/ACCESS engine can execute and that does not return a result set or output parameters.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p10luffzko4sv4n1beuwi9gn3p2q\"}],\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_011\",\"docsetTargetFile\":\"n0u37n4u1ud4san15pa3xedbam8r.htm\"}},{\"name\":\"DBCREATE_TABLE_EXTERNAL=\",\"followsArguments\":[\"HADOOP\",\"SPARK\"],\"aliases\":[\"DBCREATE_EXTERNAL=\",\"DBCREATE_EXT=\"],\"description\":\"Specifies whether a Hive table is created and stored in the Hive warehouse or external to the Hive warehouse.\",\"help\":\"DBCREATE_TABLE_EXTERNAL= YES |  NO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YES\",\"optional\":true,\"description\":\"creates an external table—one that is stored outside of the Hive warehouse.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1nei1me0jp6sxn174bozv5sezcv\"},{\"name\":\"NO\",\"optional\":true,\"description\":\"creates a managed table—one that is managed within the Hive warehouse.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n08x94wgghnkf8n1c6q99sk4w2it\"}],\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_011\",\"docsetTargetFile\":\"n12r2tbfrrrsgdn1fa4ufw8vb79f.htm\"}},{\"name\":\"DBCREATE_TABLE_LOCATION=\",\"followsArguments\":[\"HADOOP\",\"SPARK\"],\"aliases\":[\"DBCREATE_LOCATION=\",\"DBCREATE_LOC=\",\"DBCREATE_PATH=\"],\"description\":\"Specifies the default location for external tables.\",\"help\":\"DBCREATE_TABLE_LOCATION= '*path*'\",\"type\":\"value\",\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_011\",\"docsetTargetFile\":\"p0hbggr9cfmadzn1px40rne6o59n.htm\"}},{\"name\":\"DBCREATE_TABLE_OPTS=\",\"followsArguments\":[\"BIGQUERY\",\"DB2\",\"DUCKDB\",\"GREENPLM\",\"HADOOP\",\"IMPALA\",\"INFORMIX\",\"JDBC\",\"MYSQL\",\"NETEZZA\",\"ODBC\",\"ORACLE\",\"POSTGRES\",\"REDSHIFT\",\"SAPASE\",\"SAPHANA\",\"SAPIQ\",\"SNOW\",\"SPARK\",\"SQLSVR\",\"SSTORE\",\"TERADATA\",\"VERTICA\",\"YBRICK\"],\"aliases\":[\"POST_STMT_OPTS=\"],\"description\":\"Specifies DBMS-specific syntax to add to the CREATE TABLE statement.\",\"help\":\"DBCREATE_TABLE_OPTS= '*DBMS-SQL-clauses*'\",\"type\":\"value\",\"arguments\":[{\"name\":\"DBMS-SQL-clauses\",\"placeholder\":true,\"description\":\"specifies one or more DBMS-specific clauses that can be appended to the end of a SQL CREATE TABLE statement.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p12bd9zknqh3azn1kfstaenfetyu\"}],\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_011\",\"docsetTargetFile\":\"n199ye1xtilsuxn1eytcjxe7ssag.htm\"}},{\"name\":\"DBDATASRC=\",\"followsArguments\":[\"INFORMIX\"],\"description\":\"Is an environment variable that lets you specify a default data source.\",\"help\":\"DBDATASRC= &lt;'&gt;*database-data-source*&lt;'&gt;\",\"type\":\"value\",\"arguments\":[{\"name\":\"database-data-source\",\"placeholder\":true,\"description\":\"is an environment variable that lets you specify a default data source. This value is used if you do not specify a DSN= connection option.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1l5hdujkznl4gn19bz1nq79myyh\"}],\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_011\",\"docsetTargetFile\":\"n19ji0ssrl6bhsn1qr6p06dummbn.htm\"}},{\"name\":\"DBGEN_NAME=\",\"followsArguments\":[\"BIGQUERY\",\"DB2\",\"DUCKDB\",\"GREENPLM\",\"HADOOP\",\"IMPALA\",\"INFORMIX\",\"JDBC\",\"MYSQL\",\"NETEZZA\",\"ODBC\",\"ORACLE\",\"POSTGRES\",\"REDSHIFT\",\"SAPASE\",\"SAPHANA\",\"SAPIQ\",\"SNOW\",\"SPARK\",\"SQLSVR\",\"SSTORE\",\"TERADATA\",\"VERTICA\",\"YBRICK\"],\"description\":\"Specifies the method that SAS uses to rename any DBMS columns that contain characters that SAS does not allow.\",\"help\":\"DBGEN_NAME= DBMS |  SAS\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DBMS\",\"optional\":true,\"description\":\"specifies that SAS renames DBMS columns to valid SAS variable names. SAS converts to underscores any characters that it does not allow. If it converts a column to a name that already exists, it appends a sequence number at the end of the new name.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0m9lzrot1sficn1sgwitl5907sv\"},{\"name\":\"SAS\",\"optional\":true,\"description\":\"specifies that SAS converts DBMS columns that contain characters that SAS does not allow into valid SAS variable names. SAS uses the format _COLn, where n is the column number, starting with 0. If SAS converts a name to a name that already exists, it appends a sequence number at the end of the new name.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1xzupxc0nnn6in1p9pe1oyo1lfi\"}],\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_011\",\"docsetTargetFile\":\"p0iuhofos8jqltn1ug9prpsqdwj2.htm\"}},{\"name\":\"DBINDEX=\",\"followsArguments\":[\"DB2\",\"GREENPLM\",\"IMPALA\",\"INFORMIX\",\"MYSQL\",\"NETEZZA\",\"ODBC\",\"ORACLE\",\"POSTGRES\",\"SAPASE\",\"SAPHANA\",\"SAPIQ\",\"SQLSVR\",\"SSTORE\",\"TERADATA\",\"VERTICA\",\"YBRICK\"],\"description\":\"Specifies whether SAS uses columns that have specified DBMS indexes when processing a join.\",\"help\":\"DBINDEX= YES | NO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YES\",\"optional\":true,\"description\":\"specifies that SAS uses columns that have specified DBMS indexes in the WHERE clause.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0ask848ta63lhn1bweu6drypvk3\"},{\"name\":\"NO\",\"optional\":true,\"description\":\"specifies that SAS does not use indexes that are specified on DBMS columns.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p186mx5kmcphbrn14j4vh5rggvoj\"}],\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_011\",\"docsetTargetFile\":\"p13ybn5kvdul5ln1rzislgem100z.htm\"}},{\"name\":\"DBINITCMD=\",\"followsArguments\":[\"VERTICA\"],\"aliases\":[\"DBCONINIT=\",\"INITCMD=\"],\"description\":\"Specifies a user-defined initialization command to execute immediately after every connection to the DBMS that is within the scope of the LIBNAME statement or libref.\",\"help\":\"DBINITCMD= &lt;'&gt;*DBMS-user-command*&lt;'&gt;\",\"type\":\"value\",\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_008\",\"docsetTargetFile\":\"p1agt4p0hj4fyun103no9xpgskdv.htm\"}},{\"name\":\"DBLIBINIT=\",\"followsArguments\":[\"DB2\",\"DUCKDB\",\"GREENPLM\",\"HADOOP\",\"IMPALA\",\"INFORMIX\",\"JDBC\",\"MYSQL\",\"NETEZZA\",\"ODBC\",\"ORACLE\",\"POSTGRES\",\"REDSHIFT\",\"SAPASE\",\"SAPHANA\",\"SAPIQ\",\"SNOW\",\"SPARK\",\"SQLSVR\",\"SSTORE\",\"TERADATA\",\"VERTICA\",\"YBRICK\"],\"description\":\"Specifies a user-defined initialization command to execute once within the scope of the LIBNAME statement or libref that established the first connection to the DBMS.\",\"help\":\"DBLIBINIT= &lt;'&gt;*DBMS-user-command*&lt;'&gt;\",\"type\":\"value\",\"arguments\":[{\"name\":\"DBMS-user-command\",\"optional\":true,\"placeholder\":true,\"description\":\"any DBMS command that the SAS/ACCESS engine can execute and that does not return a result set or output parameters.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0cevxgt4acqf0n0zlj4n883aeky\"}],\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_011\",\"docsetTargetFile\":\"n0nhlz4yjkqg5on1mt1ltlkzi508.htm\"}},{\"name\":\"DBLIBTERM=\",\"followsArguments\":[\"DB2\",\"DUCKDB\",\"GREENPLM\",\"HADOOP\",\"IMPALA\",\"INFORMIX\",\"JDBC\",\"MYSQL\",\"NETEZZA\",\"ODBC\",\"ORACLE\",\"POSTGRES\",\"REDSHIFT\",\"SAPASE\",\"SAPHANA\",\"SAPIQ\",\"SNOW\",\"SPARK\",\"SQLSVR\",\"SSTORE\",\"TERADATA\",\"VERTICA\",\"YBRICK\"],\"description\":\"Specifies a user-defined termination command to execute once, before the DBMS that is associated with the first connection made by the LIBNAME statement or libref disconnects.\",\"help\":\"DBLIBTERM= &lt;'&gt;*DBMS-user-command*&lt;'&gt;\",\"type\":\"value\",\"arguments\":[{\"name\":\"DBMS-user-command\",\"optional\":true,\"placeholder\":true,\"description\":\"any DBMS command that can be executed by the SAS/ACCESS engine and that does not return a result set or output parameters.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0tz29cmuw3mj0n1649onvyx3b0k\"}],\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_011\",\"docsetTargetFile\":\"p0nvxedrao16z9n16ojba057bcb6.htm\"}},{\"name\":\"DBLINK=\",\"followsArguments\":[\"ORACLE\",\"SAPASE\"],\"description\":\"For Oracle, this option specifies a link from your local database to database objects on another server. For SAP ASE, this option specifies a link from the default database to another database on the server to which you are connected.\",\"help\":\"DBLINK= *database-link*\",\"type\":\"value\",\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_011\",\"docsetTargetFile\":\"n0rcpg4p5u8k62n1of6ov01uvxq7.htm\"}},{\"name\":\"DBMAX_TEXT=\",\"followsArguments\":[\"DB2\",\"GREENPLM\",\"HADOOP\",\"IMPALA\",\"JDBC\",\"MYSQL\",\"NETEZZA\",\"ODBC\",\"ORACLE\",\"POSTGRES\",\"REDSHIFT\",\"SAPASE\",\"SAPHANA\",\"SAPIQ\",\"SNOW\",\"SPARK\",\"SQLSVR\",\"SSTORE\",\"VERTICA\",\"YBRICK\"],\"aliases\":[\"TEXTSIZE=\"],\"description\":\"Specifies the maximum length, in bytes, of large object or long character data that SAS reads from the DBMS.\",\"help\":\"DBMAX_TEXT= *bytes*\",\"type\":\"value\",\"arguments\":[{\"name\":\"bytes\",\"optional\":true,\"placeholder\":true,\"description\":\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1c266lz4788gsn1rrmi94xswpbr\"}],\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_011\",\"docsetTargetFile\":\"n1aqglg4ftdj04n1eyvh2l3367ql.htm\"}},{\"name\":\"DBMAX_TEXT_TYPES=\",\"followsArguments\":[\"HADOOP\",\"JDBC\",\"SPARK\"],\"description\":\"Specifies whether the DBMAX_TEXT= LIBNAME option is applied to all character types or only \\\"long\\\" data types.\",\"help\":\"DBMAX_TEXT_TYPES= LONG | ALL\",\"type\":\"choice\",\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_011\",\"docsetTargetFile\":\"n01t91tkmk7v0sn1x2e9kuts2bwa.htm\"}},{\"name\":\"DBMIXED=\",\"followsArguments\":[\"IMPALA\"],\"aliases\":[\"PRESERVE_COL_NAMES=\",\"PRES_COL=\",\"QUOTE_NAMES=\"],\"description\":\"Specifies whether to preserve spaces, special characters, and case sensitivity in DBMS column names when you create DBMS tables.\",\"help\":\"DBMIXED= YES | NO  \",\"type\":\"choice\",\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_008\",\"docsetTargetFile\":\"n157w3xk676z9on1t43ktv3lhl7h.htm\"}},{\"name\":\"DBMSTEMP=\",\"followsArguments\":[\"BIGQUERY\",\"DB2\",\"GREENPLM\",\"HADOOP\",\"JDBC\",\"MYSQL\",\"NETEZZA\",\"ODBC\",\"ORACLE\",\"POSTGRES\",\"SAPHANA\",\"SAPIQ\",\"SNOW\",\"SPARK\",\"SQLSVR\",\"SSTORE\",\"TERADATA\",\"VERTICA\",\"YBRICK\"],\"description\":\"Specifies whether SAS creates temporary tables.\",\"help\":\"DBMSTEMP= YES |   NO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YES\",\"optional\":true,\"description\":\"Specifies that SAS creates tables using the DBMS native temporary table semantics. The tables are scoped according to DBMS rules and must be referenced using the LIBNAME that shares the global connection. The SAS/ACCESS engine manages the required naming and qualification.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0quhw189evgxsn1mxxtzq69b13o\"},{\"name\":\"NO\",\"optional\":true,\"description\":\"specifies that SAS creates permanent tables.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0gko1k49qi4srn1q38qipvz6yx9\"}],\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_011\",\"docsetTargetFile\":\"p0he4t6yjfmkhpn16qrf0cdhllu6.htm\"}},{\"name\":\"DBNULL=\",\"description\":\"Specifies whether NULL is a valid value for the specified columns when a table is created.\",\"help\":\"DBNULL= YES | NO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YES\",\"optional\":true,\"description\":\"specifies that the NULL value is valid for the specified columns in the DBMS table.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0q427x2f0fwg1n1x1o6re9cnxjt\"},{\"name\":\"NO\",\"optional\":true,\"description\":\"specifies that the NULL value is not valid for the specified columns in the DBMS table.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0mj7zj4yveo2nn1ohl65km2uzvv\"}],\"supportSiteInformation\":{\"docsetId\":\"acnrdb\",\"docsetVersion\":\"v_002\",\"docsetTargetFile\":\"p0zrisagnc7olrn1se1a8gazbi4x.htm\"}},{\"name\":\"DBNULLKEYS=\",\"followsArguments\":[\"DB2\",\"GREENPLM\",\"IMPALA\",\"INFORMIX\",\"NETEZZA\",\"ODBC\",\"ORACLE\",\"POSTGRES\",\"REDSHIFT\",\"SAPIQ\",\"SNOW\",\"SQLSVR\",\"VERTICA\",\"YBRICK\"],\"description\":\"Specifies whether Null values are allowed in key columns.\",\"help\":\"DBNULLKEYS= YES |   NO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YES\",\"description\":\"specifies that NULL values are allowed in key columns in a transaction table or a primary table.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0e815s7y5u0wan1l51v7fjuydez\"},{\"name\":\"NO\",\"description\":\"specifies that NULL values are not allowed in key columns for a transaction table or a primary table.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0a7ck1whbge85n1lm3wtrxnemem\"}],\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_011\",\"docsetTargetFile\":\"n0gvbkkbc7p8nbn1t2sgqvhzersg.htm\"}},{\"name\":\"DBNULLWHERE=\",\"followsArguments\":[\"DB2\",\"ODBC\",\"ORACLE\",\"SAPHANA\",\"SQLSVR\"],\"description\":\"Specifies whether character columns in a WHERE clause can contain NULL values.\",\"help\":\"DBNULLWHERE= YES | NO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YES\",\"optional\":true,\"description\":\"specifies that there might be a NULL value for a column that is listed in a WHERE clause.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0f3j4xu82uihrn19j4k2gloj3rz\"},{\"name\":\"NO\",\"optional\":true,\"description\":\"specifies that none of the columns in a WHERE clause contain NULL values.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p062tivbvpy3a7n10v8yuw4lk77e\"}],\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_011\",\"docsetTargetFile\":\"n1em839gm8g0lpn1evbqavtdhudx.htm\"}},{\"name\":\"DBPROMPT=\",\"description\":\"Specifies whether SAS displays a window that prompts the user to enter DBMS connection information before connecting to the DBMS in interactive mode.\",\"help\":\"DBPROMPT= YES | NO\",\"type\":\"choice\",\"supportSiteInformation\":{\"docsetId\":\"accr3\",\"docsetVersion\":\"v_002\",\"docsetTargetFile\":\"n033o3yv3rpuapn15yhyh0idquz6.htm\"}},{\"name\":\"DBSASLABEL=\",\"followsArguments\":[\"BIGQUERY\",\"DB2\",\"DUCKDB\",\"GREENPLM\",\"HADOOP\",\"IMPALA\",\"INFORMIX\",\"JDBC\",\"MYSQL\",\"NETEZZA\",\"ODBC\",\"ORACLE\",\"REDSHIFT\",\"SAPASE\",\"SAPHANA\",\"SAPIQ\",\"SNOW\",\"SPARK\",\"SQLSVR\",\"SSTORE\",\"TERADATA\",\"VERTICA\"],\"description\":\"Specifies the column labels an engine uses.\",\"help\":\"DBSASLABEL= COMPAT | DBMS | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"COMPAT\",\"optional\":true,\"description\":\"specifies that the labels returned should be compatible with what the application normally receives—meaning that engines exhibit their normal behavior.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0g507wguiwipln1xkkc2t48ht68\"},{\"name\":\"DBMS\",\"optional\":true,\"description\":\"specifies that the engine returns a label exactly as it is stored in the database.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1j806oqgj7no7n1m0hw03fzw13s\"},{\"name\":\"NONE\",\"optional\":true,\"description\":\"specifies that the engine does not return a column label. The engine returns blanks for the column labels.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1t57hkgnm7927n1b5x9ceni96kj\"}],\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_011\",\"docsetTargetFile\":\"p1xlj6gb1tq9a8n1qmtefnhc9o1j.htm\"}},{\"name\":\"DBSERVER_ENCODING_FIXED=\",\"followsArguments\":[\"ORACLE\"],\"description\":\"Specifies whether Oracle database encoding is a fixed width.\",\"help\":\"DBSERVER_ENCODING_FIXED= YES |  NO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YES\",\"optional\":true,\"description\":\"indicates that database table column lengths in characters are a fixed width. Use this value to adjust byte lengths within SAS for any database column lengths that are specified in bytes. The number of characters is calculated by dividing the byte length by the value in DBSERVER_MAX_BYTES=.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0n69eozm4kygyn1fxeeqgv5tics\"},{\"name\":\"NO\",\"optional\":true,\"description\":\"indicates that database table column lengths are not a fixed width.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0ll91pzsswqz0n1ss2f27696mn4\"}],\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_011\",\"docsetTargetFile\":\"p0k19b63bgojnwn1ji08f5dqc5cy.htm\"}},{\"name\":\"DBSERVER_MAX_BYTES=\",\"followsArguments\":[\"DB2\",\"IMPALA\",\"ORACLE\",\"REDSHIFT\",\"SAPASE\",\"SNOW\",\"VERTICA\",\"YBRICK\"],\"description\":\"Specifies the maximum number of bytes per single character in the database server encoding.\",\"help\":\"DBSERVER_MAX_BYTES= *max-server-bytes*\",\"type\":\"value\",\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_011\",\"docsetTargetFile\":\"n12a1h1cyqucyzn1gr9ih9wys73n.htm\"}},{\"name\":\"DBSLICEPARM=\",\"followsArguments\":[\"BIGQUERY\",\"DB2\",\"DUCKDB\",\"GREENPLM\",\"INFORMIX\",\"ODBC\",\"ORACLE\",\"SAPASE\",\"SAPHANA\",\"SAPIQ\",\"SQLSVR\",\"SSTORE\",\"TERADATA\",\"VERTICA\"],\"description\":\"Controls the scope of DBMS threaded Reads and the number of threads.\",\"help\":\"DBSLICEPARM= NONE | THREADED_APPS | ALL\\\\nDBSLICEPARM=  ( NONE | THREADED_APPS | ALL&lt;*max-threads*&gt;             )\\\\nDBSLICEPARM=  (             NONE | THREADED_APPS | ALL&lt;, *max-threads*&gt;             )\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NONETHREADED_APPSALL\",\"description\":\"specifies how to manage threaded Reads from your data source.\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NONE\",\"type\":\"standalone\"},{\"name\":\"THREADED_APPS\",\"type\":\"standalone\"},{\"name\":\"ALL\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"n07h67xrb77gwtn1wubek8apy08k\"}],\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_011\",\"docsetTargetFile\":\"p0qs980zd6e2ain0zb0903igkfje.htm\"}},{\"name\":\"DBTERMCMD=\",\"followsArguments\":[\"VERTICA\"],\"aliases\":[\"DBCONTERM=\",\"TERMCMD=\"],\"description\":\"Specifies a user-defined termination command to execute before every disconnect from the DBMS that is within the scope of the LIBNAME statement or libref.\",\"help\":\"DBTERMCMD= &lt;'&gt;*DBMS-user-command*&lt;'&gt;\",\"type\":\"value\",\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_008\",\"docsetTargetFile\":\"n0u37n4u1ud4san15pa3xedbam8r.htm\"}},{\"name\":\"DB_LENGTH_SEMANTICS_BYTE=\",\"followsArguments\":[\"ORACLE\"],\"description\":\"Indicates whether CHAR and VARCHAR2 column lengths are specified in bytes or characters when creating an Oracle table.\",\"help\":\"DB_LENGTH_SEMANTICS_BYTE= YES |  NO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YES\",\"optional\":true,\"description\":\"specifies that CHAR and VARCHAR2 column lengths are specified in bytes when creating an Oracle table. The byte length is derived by multiplying the number of characters in SAS with DBSERVER_MAX_BYTES= value.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n18j13q46hn3ypn19lxjkaje5eq5\"},{\"name\":\"NO\",\"optional\":true,\"description\":\"specifies that CHAR and VARCHAR2 column lengths are specified in characters when creating an Oracle table. The CHAR keyword is also added next to the length value to indicate that this is the character (not byte) length. For fixed-width encoding, the number of characters is derived by dividing the byte length in SAS for the variable by the value in DBCLIENT_MAX_BYTES=. For variable-width encoding, the number of characters remains the same as the number of bytes.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0jnnexfyor127n1dlfv88i7p2b7\"}],\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_011\",\"docsetTargetFile\":\"p1871ral90m2psn1qz0muncpsld1.htm\"}},{\"name\":\"DB_MAX_BYTES=\",\"followsArguments\":[\"IMPALA\"],\"aliases\":[\"DBSERVER_MAX_BYTES=\"],\"description\":\"Specifies the maximum number of bytes per single character in the database server encoding.\",\"help\":\"DB_MAX_BYTES= *max-server-bytes*\",\"type\":\"value\",\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_008\",\"docsetTargetFile\":\"n12a1h1cyqucyzn1gr9ih9wys73n.htm\"}},{\"name\":\"DB_OBJECTS=\",\"followsArguments\":[\"ORACLE\"],\"description\":\"Specifies which database objects to return with PROC DATASETS or in SAS Explorer.\",\"help\":\"DB_OBJECTS= TABLES |   VIEWS |  SYNONYMS |  PUBLIC_SYNONYMS | ALL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ALL\",\"optional\":true,\"description\":\"returns all database object names, which can slow performance. Specify ALL by itself. It always overrides any multiple values that you specify.\",\"help\":\"ALL \",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0fox3pbcnyluen13n2ak59ce3qb\"},{\"name\":\"PUBLIC_SYNONYMS\",\"optional\":true,\"description\":\"returns only public database synonym names.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p08qndyt7qfnzwn1vhf7gsimjrq1\"},{\"name\":\"SYNONYMS\",\"optional\":true,\"description\":\"returns only database synonym names.\",\"help\":\"SYNONYMS \",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0ibp9suq9q0wxn12enznqku95x9\"},{\"name\":\"TABLES\",\"optional\":true,\"description\":\"returns only database table names.\",\"help\":\"TABLES \",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1p0h5hyscagven1hx00701s8mtn\"},{\"name\":\"VIEWS\",\"optional\":true,\"description\":\"returns only database view names.\",\"help\":\"VIEWS \",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p07qiakurh924bn17tijjel45b19\"}],\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_011\",\"docsetTargetFile\":\"p0nlg0qncay8qjn18g56mpw2bkzi.htm\"}},{\"name\":\"DEFAULT_AUTH_PLUGIN=\",\"followsArguments\":[\"MYSQL\",\"SSTORE\"],\"description\":\"Specifies the authentication plugin to use for a connection to a data source.\",\"help\":\"DEFAULT_AUTH_PLUGIN= caching_sha2_password | mysql_native_password\",\"type\":\"choice\",\"arguments\":[{\"name\":\"caching_sha2_passwordmysql_native_password\",\"description\":\"specifies the authentication plugin to use for a connection to a data source.\",\"type\":\"choice\",\"arguments\":[{\"name\":\"caching_sha2_password\",\"type\":\"standalone\"},{\"name\":\"mysql_native_password\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"p09r0q53vgqilzn1ne9thgr21y8o\"}],\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_011\",\"docsetTargetFile\":\"n0o6jlt3o1ei8xn1tbd3ixcyb1ah.htm\"}},{\"name\":\"DEFER=\",\"followsArguments\":[\"BIGQUERY\",\"DB2\",\"DUCKDB\",\"GREENPLM\",\"HADOOP\",\"IMPALA\",\"INFORMIX\",\"JDBC\",\"MYSQL\",\"NETEZZA\",\"ODBC\",\"ORACLE\",\"POSTGRES\",\"REDSHIFT\",\"SAPASE\",\"SAPHANA\",\"SAPIQ\",\"SNOW\",\"SPARK\",\"SQLSVR\",\"SSTORE\",\"TERADATA\",\"VERTICA\",\"YBRICK\"],\"description\":\"Specifies whether to defer the connection to the data source.\",\"help\":\"DEFER= YES |  NO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YES\",\"optional\":true,\"description\":\"specifies that the connection to the DBMS occurs when a table in the DBMS is opened.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1xshw4hossfvrn185l7km10tif3\"},{\"name\":\"NO\",\"optional\":true,\"description\":\"specifies that the connection to the DBMS occurs when the libref is assigned by a LIBNAME statement.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1eznq2cmqgx6cn184yc5g0svsb7\"}],\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_011\",\"docsetTargetFile\":\"p1aukl464makuln1mszw8l045xgy.htm\"}},{\"name\":\"DELETE_MULT_ROWS=\",\"followsArguments\":[\"GREENPLM\",\"IMPALA\",\"ODBC\",\"POSTGRES\",\"REDSHIFT\",\"SAPHANA\",\"SAPIQ\",\"SNOW\",\"SQLSVR\",\"VERTICA\",\"YBRICK\"],\"description\":\"Indicates whether to let SAS delete multiple rows from a data source, such as a DBMS table.\",\"help\":\"DELETE_MULT_ROWS= YES |  NO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YES\",\"optional\":true,\"description\":\"specifies that SAS/ACCESS processing continues if multiple rows are deleted. This might produce unexpected results.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0o99tywkrgtyzn1hjnrz6hakmdo\"},{\"name\":\"NO\",\"optional\":true,\"description\":\"specifies that SAS/ACCESS processing does not continue if multiple rows are deleted.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p15e107sbln8cxn13d40q59n6gfk\"}],\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_011\",\"docsetTargetFile\":\"n0y4n00geddhh4n1vyoa72l1m1yv.htm\"}},{\"name\":\"DERIVECHARMULTIPLIER=\",\"followsArguments\":[\"XMLV2\"],\"description\":\"Expands column (variable) lengths by a default multiplier value that is based on the session encoding.\",\"help\":\"DERIVECHARMULTIPLIER= YES | NO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YES\",\"optional\":true,\"description\":\"expands column (variable) lengths by a default multiplier value that is based on the session encoding. These are column (variable) lengths specified in an XMLMap\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p053o3cnav6tonn1fusud4rhnxnx\"},{\"name\":\"NO\",\"optional\":true,\"description\":\"does not expand column (variable) lengths.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p13bnk04i235gsn1wecug2mhdqvn\"}],\"supportSiteInformation\":{\"docsetId\":\"engxml\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n0l7vwlgrzwldpn12jppdkk4o9y6.htm\"}},{\"name\":\"DESTGROUP=\",\"description\":\"Indicates the name of the destination group for batch access to the SAP system when the SAP LIBNAME engine uses direct RFC calls.\",\"help\":\"DESTGROUP= *destination_group*\",\"type\":\"value\",\"supportSiteInformation\":{\"docsetId\":\"accr3\",\"docsetVersion\":\"v_002\",\"docsetTargetFile\":\"n0j08enqniwoovn1uwpprs88dauy.htm\"}},{\"name\":\"DESTINATION=\",\"aliases\":[\"DEST\",\"DST\",\"DSTN\"],\"description\":\"Indicates the destination in the saprfc.ini file if you are working with an saprfc.ini file.\",\"help\":\"DESTINATION= *destination*\",\"type\":\"value\",\"supportSiteInformation\":{\"docsetId\":\"accr3\",\"docsetVersion\":\"v_002\",\"docsetTargetFile\":\"n0batvbbh0br2dn1hhu2p7b5c6rm.htm\"}},{\"name\":\"DIRECTORIES_AS_DATA=\",\"followsArguments\":[\"DUCKDB\"],\"description\":\"Specifies whether SAS treats DuckDB tables as partitioned data files.\",\"help\":\"DIRECTORIES_AS_DATA= YES | NO\",\"type\":\"choice\",\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_011\",\"docsetTargetFile\":\"p0lz7u8bl4ooqtn1ph4z5kf5zbbb.htm\"}},{\"name\":\"DIRECT_EXE=\",\"description\":\"Allows you to pass a SAS SQL procedure DELETE statement directly to a data source to process, which can improve performance.\",\"help\":\"DIRECT_EXE=  DELETE\",\"type\":\"standalone\",\"supportSiteInformation\":{\"docsetId\":\"dataagenteng\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"p0zyghz3ybc29jn1a8lurpkbst65.htm\"}},{\"name\":\"DIRECT_SQL=\",\"followsArguments\":[\"BIGQUERY\",\"DB2\",\"DUCKDB\",\"GREENPLM\",\"HADOOP\",\"IMPALA\",\"INFORMIX\",\"JDBC\",\"MYSQL\",\"NETEZZA\",\"ODBC\",\"ORACLE\",\"POSTGRES\",\"REDSHIFT\",\"SAPASE\",\"SAPHANA\",\"SAPIQ\",\"SNOW\",\"SPARK\",\"SQLSVR\",\"SSTORE\",\"TERADATA\",\"VERTICA\",\"YBRICK\"],\"description\":\"Specifies whether generated SQL is passed to the DBMS for processing.\",\"help\":\"DIRECT_SQL= NO | \\n               NOFUNCTIONS | \\n               NOGENSQL | NOMULTOUTJOINS | NONE | NOWHERE | YES\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NO\",\"optional\":true,\"description\":\"specifies that generated SQL from PROC SQL is not passed to the DBMS for processing. This is the same as specifying the value NOGENSQL.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0b6k07qilhqw8n1p8vt28os6f8v\"},{\"name\":\"NOFUNCTIONS\",\"optional\":true,\"description\":\"prevents SQL statements from being passed to the DBMS for processing when they contain functions.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p02aoncv7o8519n1lvhexrqez5gv\"},{\"name\":\"NOGENSQL\",\"optional\":true,\"description\":\"prevents PROC SQL from generating SQL to be passed to the DBMS for processing.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0o6u74ufwl90qn1fqx112qygz70\"},{\"name\":\"NOMULTOUTJOINS\",\"optional\":true,\"description\":\"specifies that PROC SQL does not attempt to pass any multiple outer joins to the DBMS for processing. Other join statements might be passed down, however, including portions of a multiple outer join.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0fxdjvid7rogqn14ovlfn6nuhf1\"},{\"name\":\"NONE\",\"optional\":true,\"description\":\"specifies that generated SQL is not passed to the DBMS for processing. This includes SQL that is generated from PROC SQL, SAS functions that can be converted into DBMS functions, joins, and WHERE clauses.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0jlnfazyuacjen1p07sxy0bq6cy\"},{\"name\":\"YES\",\"optional\":true,\"description\":\"specifies that generated SQL from PROC SQL is passed directly to the DBMS for processing.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1leuw60wncdhrn196ixv2pzrzhx\"}],\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_011\",\"docsetTargetFile\":\"p1hrfk5zjg3mi2n16xnrbmf38m2f.htm\"}},{\"name\":\"DISCONNECT=\",\"description\":\"Controls how user proxy resources are assigned for a server user.\",\"help\":\"DISCONNECT= NO | YES\",\"type\":\"choice\",\"supportSiteInformation\":{\"docsetId\":\"spdsug\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p0g8u7obo8tswdn1fsjwao6otf7q.htm\"}},{\"name\":\"DM_UNICODE=\",\"followsArguments\":[\"ODBC\"],\"description\":\"Specifies the Unicode encoding for your driver manager.\",\"help\":\"DM_UNICODE= \\\"UTF-8\\\" | \\\"UTF-16\\\"\",\"type\":\"choice\",\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_011\",\"docsetTargetFile\":\"p0ykl8zhh1w4wcn1e3gdip1lw8qz.htm\"}},{\"name\":\"DRIVER=\",\"followsArguments\":[\"SAPHANA\",\"SNOW\"],\"description\":\"Specifies the ODBC driver to use to connect to your database.\",\"help\":\"DRIVER= &lt;'&gt;*ODBC-driver*&lt;'&gt;\",\"type\":\"value\",\"arguments\":[{\"name\":\"ODBC-driver\",\"placeholder\":true,\"description\":\"specifies the ODBC driver.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1nirpv0tkfzy2n1h7qd0q3i5v8v\"}],\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_011\",\"docsetTargetFile\":\"p0j2d08nm9bb2dn1fxm7pbfyiao5.htm\"}},{\"name\":\"DRIVERCLASS=\",\"followsArguments\":[\"HADOOP\",\"JDBC\",\"SPARK\"],\"aliases\":[\"CLASS=\"],\"description\":\"Specifies the fully qualified class name of the JDBC driver required for establishing a connection to your database.\",\"help\":\"DRIVERCLASS= &lt;'&gt;*driver*&lt;'&gt;\",\"type\":\"value\",\"arguments\":[{\"name\":\"driver\",\"placeholder\":true,\"description\":\"specifies the fully qualified class name of the JDBC driver.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0y7bzod0ncou4n1jpx80f0cbaqr\"}],\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_011\",\"docsetTargetFile\":\"n19ksf8hw3hbk3n1sqwx4xfj3nch.htm\"}},{\"name\":\"DRIVER_TRACE=\",\"followsArguments\":[\"BIGQUERY\",\"HADOOP\",\"JDBC\",\"MYSQL\",\"ORACLE\",\"POSTGRES\",\"SSTORE\",\"SPARK\"],\"description\":\"Requests tracing information that logs transaction records to an external file.\",\"help\":\"DRIVER_TRACE= *tracing-level*\",\"type\":\"value\",\"arguments\":[{\"name\":\"tracing-level\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the level of information that is recorded in the log file.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p08yibysgyipcfn1qjqwusmiyh7o\"}],\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_011\",\"docsetTargetFile\":\"p11x7o76auf85bn1ev4m0oty0bno.htm\"}},{\"name\":\"DRIVER_TRACEFILE=\",\"followsArguments\":[\"BIGQUERY\",\"HADOOP\",\"JDBC\",\"MYSQL\",\"ORACLE\",\"POSTGRES\",\"SSTORE\",\"SPARK\"],\"description\":\"Specifies the name of the trace log.\",\"help\":\"DRIVER_TRACEFILE= '*path-and-filename*'\",\"type\":\"value\",\"arguments\":[{\"name\":\"path-and-filename\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the path and file name for the trace log. Include the path and file name within single or double quotation marks.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0k6hyfrnujyj4n1xorpi47sv9ib\"}],\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_011\",\"docsetTargetFile\":\"p0iz6o1w2ei3ken158wn13n3c6ik.htm\"}},{\"name\":\"DRIVER_TRACEOPTIONS=\",\"followsArguments\":[\"BIGQUERY\",\"HADOOP\",\"JDBC\",\"MYSQL\",\"ORACLE\",\"POSTGRES\",\"SSTORE\",\"SPARK\"],\"description\":\"Specifies options for the trace log file.\",\"help\":\"DRIVER_TRACEOPTIONS= *value*\",\"type\":\"value\",\"arguments\":[{\"name\":\"value\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies options to control formatting and other properties for the trace log.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1subnhc4mwu69n12z0nlmhmt8vf\"}],\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_011\",\"docsetTargetFile\":\"p0yzdi9eiywlhbn1u4trlygccw0q.htm\"}},{\"name\":\"DSN=\",\"followsArguments\":[\"GREENPLM\",\"INFORMIX\",\"POSTGRES\",\"REDSHIFT\",\"SAPHANA\",\"SAPIQ\",\"SNOW\",\"VERTICA\",\"YBRICK\"],\"description\":\"Specifies the configured ODBC data source to which you want to connect.\",\"help\":\"DSN= &lt;'&gt;*data-source*&lt;'&gt;\",\"type\":\"value\",\"arguments\":[{\"name\":\"data-source\",\"placeholder\":true,\"description\":\"specifies the configured ODBC data source that you want to connect to.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0wn7whn1p1rr8n1euheb8jbhf5d\"}],\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_011\",\"docsetTargetFile\":\"n1h20j6k8k7irxn1fz97gg9hbtcl.htm\"}},{\"name\":\"DUCKDB_THREADS=\",\"followsArguments\":[\"DUCKDB\"],\"aliases\":[\"DB_THREADS=\"],\"description\":\"Specifies the number of threads for parallel query execution.\",\"help\":\"DUCKDB_THREADS= *value*\",\"type\":\"value\",\"arguments\":[{\"name\":\"value\",\"placeholder\":true,\"description\":\"specifies the number of threads for parallel query execution. SAS sets this value in the DuckDB configuration for the current session.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1moky512o4bcyn1uazdwrj94mlf\"}],\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_011\",\"docsetTargetFile\":\"p0tffh04lq5v42n134zkakugkvw9.htm\"}},{\"name\":\"ENABLE_BULK=\",\"followsArguments\":[\"SAPASE\"],\"description\":\"Lets the connection process bulk copy when loading data into an SAP ASE table.\",\"help\":\"ENABLE_BULK= NO |  YES\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NO\",\"optional\":true,\"description\":\"disables bulk copy ability for the libref.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1g2e6e7epjs3vn13r9iazmhrzec\"},{\"name\":\"YES\",\"optional\":true,\"description\":\"lets the connection perform bulk copy of SAS data into SAP ASE.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0pp3z3whd6wc8n1538y8rlnz8gd\"}],\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_011\",\"docsetTargetFile\":\"p09wlwwwztrlhwn1rp9p1funsnte.htm\"}},{\"name\":\"ENABLE_CLEARTEXTPLUGIN=\",\"followsArguments\":[\"MYSQL\"],\"description\":\"Specifies whether to enable the Cleartext plug-in for authentication.\",\"help\":\"ENABLE_CLEARTEXTPLUGIN= YES | NO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YESNO\",\"description\":\"specifies whether to enable the Cleartext plug-in for authentication.\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YES\",\"type\":\"standalone\"},{\"name\":\"NO\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"n1f7f0lro2ze4vn118xzkakdeysc\"}],\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_011\",\"docsetTargetFile\":\"n0ynr976ftnlisn1x4azgo89bkpb.htm\"}},{\"name\":\"ENCRYPT=\",\"followsArguments\":[\"SAPHANA\"],\"aliases\":[\"ENCRYPT\"],\"description\":\"Specifies how communication is encrypted.\",\"help\":\"ENCRYPT= YES | NO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YES\",\"description\":\"specifies to encrypt.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p141f7nqqpzwfsn140sbashq46v8\"},{\"name\":\"NO\",\"description\":\"specifies not to encrypt.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1ridla3nextonn1hxribsn5xqir\"}],\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_011\",\"docsetTargetFile\":\"n1vchlq9jrc180n1r9pp7pzdlvso.htm\"}},{\"name\":\"ENDOBS=\",\"description\":\"Specifies the end row number in a user-defined range for processing.\",\"help\":\"ENDOBS= *n*\",\"type\":\"value\",\"supportSiteInformation\":{\"docsetId\":\"spdsug\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n04pute95k9mp3n1tlvwsy7c3qhy.htm\"}},{\"name\":\"ENGINENAME=\",\"followsArguments\":[\"SAPIQ\"],\"aliases\":[\"SERVER=\"],\"description\":\"Specifies the server, host name, or IP address that is used to connect to the data source.\",\"help\":\"ENGINENAME= &lt;'&gt;*server-name*&lt;'&gt;\",\"type\":\"value\",\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_008\",\"docsetTargetFile\":\"n0ftewl6doujp9n1cdlp3j9g1fuj.htm\"}},{\"name\":\"ERRLIMIT=\",\"followsArguments\":[\"TERADATA\"],\"description\":\"Specifies the number of errors that are allowed while using the TPT or Fastload utility before SAS stops loading data to Teradata.\",\"help\":\"ERRLIMIT= *integer*\",\"type\":\"value\",\"arguments\":[{\"name\":\"integer\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies a positive integer that represents the number of errors after which SAS stops loading data.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0emg9jf5oauqqn1lw29695u0x1g\"}],\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_011\",\"docsetTargetFile\":\"n1aq2bgqcgprk1n1qio6c5bg7p8d.htm\"}},{\"name\":\"ESCAPE_BACKSLASH=\",\"followsArguments\":[\"MYSQL\",\"SSTORE\"],\"description\":\"Specifies whether backslashes in literals are preserved during data copy from a SAS data set to a table.\",\"help\":\"ESCAPE_BACKSLASH= YES | \\n                    NO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YES\",\"optional\":true,\"description\":\"specifies that an additional backslash is inserted in every literal value that already contains a backslash.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0qcfturu39trsn1ezg5dy54019r\"},{\"name\":\"NO\",\"optional\":true,\"description\":\"specifies that backslashes that exist in literal values are not preserved. An error results.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0s8jv93a1h8bxn108hsole57zvs\"}],\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_011\",\"docsetTargetFile\":\"p0wot7a5zcdcu0n1m7bchopp8ujm.htm\"}},{\"name\":\"EXCEL_OPTIONS=\",\"followsArguments\":[\"DUCKDB\"],\"description\":\"Specifies options that are used when reading an Excel file.\",\"help\":\"EXCEL_OPTIONS= \\\"*option-1 value-1*&lt;, *option-2 value-2*&lt;,  ...&gt;&gt;\\\"\",\"type\":\"value\",\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_011\",\"docsetTargetFile\":\"n0v4qnerkm6wkwn1iru2rpecmzdl.htm\"}},{\"name\":\"EXTENSION_DIR=\",\"followsArguments\":[\"DUCKDB\"],\"aliases\":[\"EXTENSION_DIRECTORY=\"],\"description\":\"Specifies a temporary location where DuckDB can install extensions that facilitate access to non-native file types.\",\"help\":\"EXTENSION_DIR= &lt;'&gt;*directory-path*&lt;'&gt;\",\"type\":\"value\",\"arguments\":[{\"name\":\"directory-path\",\"placeholder\":true,\"description\":\"specifies a temporary location where DuckDB can install extensions that facilitate access to non-native file types.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p14miohbu660u0n18wbce01ogsm5\"}],\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_011\",\"docsetTargetFile\":\"p086075ttfquubn1c01ytzu01p6t.htm\"}},{\"name\":\"FASTEXPORT=\",\"followsArguments\":[\"TERADATA\"],\"description\":\"Specifies whether the SAS/ACCESS engine uses the TPT API to read data.\",\"help\":\"FASTEXPORT= YES |   NO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YES\",\"optional\":true,\"description\":\"specifies that data is loaded from Teradata into SAS using the TPT Export driver.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n09l14i0pztqfhn1vj4hz0fx9o4d\"},{\"name\":\"NO\",\"optional\":true,\"description\":\"specifies that the TPT Export driver is not to be used.\",\"help\":\" NO\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1p4my0qqqxubfn1bqr6a3v0uuvg\"}],\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_011\",\"docsetTargetFile\":\"p0cstsnddl07vsn1klvrdkw5t6hb.htm\"}},{\"name\":\"FASTLOAD=\",\"followsArguments\":[\"TERADATA\"],\"aliases\":[\"BULKLOAD=\"],\"description\":\"Determines whether SAS uses a data source utility to insert data into a data source table.\",\"help\":\"FASTLOAD= YES |  NO\",\"type\":\"choice\",\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_008\",\"docsetTargetFile\":\"n0j1e5bcfyjygxn1av4lu5yshd3s.htm\"}},{\"name\":\"FEDSVR\",\"description\":\"specifies the engine that connects to SAS Federation Server. The engine establishes a remote connection, such that the current SAS session is a client to SAS Federation Server.\",\"type\":\"standalone\"},{\"name\":\"FETCH_IDENTITY=\",\"followsArguments\":[\"DB2\"],\"description\":\"Returns the value of the last inserted identity value.\",\"help\":\"FETCH_IDENTITY= YES |   NO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YES\",\"optional\":true,\"description\":\"returns the value of the last inserted identity value.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n094k9kw056fzhn1a1n685jte22r\"},{\"name\":\"NO\",\"optional\":true,\"description\":\"disables this option.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1sxpx593loy0vn15ijwhr9kysmj\"}],\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_011\",\"docsetTargetFile\":\"p0wm4zw93q90wzn1qmtiuiub3fno.htm\"}},{\"name\":\"FETCH_NUMERIC_TYPE=\",\"followsArguments\":[\"BIGQUERY\"],\"description\":\"Specifies how to load NUMERIC data from Google BigQuery.\",\"help\":\"FETCH_NUMERIC_TYPE= FLOAT64 | NUMERIC\",\"type\":\"choice\",\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_011\",\"docsetTargetFile\":\"p1fetptdt32d6en1ca1fg0rqlrb3.htm\"}},{\"name\":\"FILE_NAME_EXTENSION=\",\"followsArguments\":[\"ORC\",\"PARQUET\"],\"description\":\"Specifies nondefault file extensions for SAS to read and write files.\",\"help\":\"FILE_NAME_EXTENSION= *extension-type* | _NONE_\\\\nFILE_NAME_EXTENSION= (*extension-type-1*  ... *extension-type-n* &lt;_NONE_&gt;)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"extension-type\",\"optional\":true,\"placeholder\":true,\"description\":\"is one extension or a list of extensions. Do not include the period (.) character in an extension.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1gr1163xvyblsn1iawme0oxl8lq\"},{\"name\":\"_NONE_\",\"optional\":true,\"description\":\"specifies that files that have no extension are valid. You can specify the _NONE_ keyword alone or in a list of extensions. If you specify a list of extensions, place the _NONE_ keyword in the desired order of precedence.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1ld85pyzrtdmsn1f9e6pv2q8xts\"}],\"supportSiteInformation\":{\"docsetId\":\"enghdff\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"p0zbefnebg0p3ln19139ion5tsti.htm\"}},{\"name\":\"FILE_PATH=\",\"followsArguments\":[\"DUCKDB\"],\"description\":\"Specifies the folder or file path for your data.\",\"help\":\"FILE_PATH= \\\"*path*\\\"\",\"type\":\"value\",\"arguments\":[{\"name\":\"path\",\"placeholder\":true,\"description\":\"specifies the folder or file path for your data. Enclose the value in quotation marks.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0o11kqixe55qjn1n5qpyk7fdj6x\"}],\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_011\",\"docsetTargetFile\":\"p0dqfp4v183oj8n1106vx04pm8si.htm\"}},{\"name\":\"FILE_TYPE=\",\"followsArguments\":[\"DUCKDB\"],\"aliases\":[\"TYPE=\"],\"description\":\"Specifies the file format for your data.\",\"help\":\"FILE_TYPE= AVRO | CSV | DELTA | DUCKDB | EXCEL | ICEBERG | JSON | PARQUET\",\"type\":\"choice\",\"arguments\":[{\"name\":\"AVROCSVDELTADUCKDBEXCELICEBERGJSONPARQUET\",\"description\":\"specifies the file type for your data. Here are the possible values:\",\"type\":\"choice\",\"arguments\":[{\"name\":\"AVRO\",\"type\":\"standalone\"},{\"name\":\"CSV\",\"type\":\"standalone\"},{\"name\":\"DELTA\",\"type\":\"standalone\"},{\"name\":\"DUCKDB\",\"type\":\"standalone\"},{\"name\":\"EXCEL\",\"type\":\"standalone\"},{\"name\":\"ICEBERG\",\"type\":\"standalone\"},{\"name\":\"JSON\",\"type\":\"standalone\"},{\"name\":\"PARQUET\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"p15peq6di9xbs1n1ph81safx6n9h\"}],\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_011\",\"docsetTargetFile\":\"p0ns1qdebc6bepn1hxtpbt9s2c56.htm\"}},{\"name\":\"FORMATACTIVE=\",\"followsArguments\":[\"XMLV2\",\"XML\"],\"description\":\"Specifies whether SAS formats are used.\",\"help\":\"FORMATACTIVE= NO | YES\",\"type\":\"choice\",\"supportSiteInformation\":{\"docsetId\":\"engxml\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n1ckwn6nas874dn1hz4wc1vmof4n.htm\"}},{\"name\":\"FORMATLIBRARY=\",\"followsArguments\":[\"XML\"],\"description\":\"Specifies the libref of an existing SAS library in which to create the format catalog.\",\"help\":\"FORMATLIBRARY= *libref*\",\"type\":\"dataSet\",\"arguments\":[{\"name\":\"libref\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the libref of an existing SAS library in which to create the format catalog.\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"p0puykf2njszxrn18va4z6du9byj\"}],\"supportSiteInformation\":{\"docsetId\":\"engxml\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p0ex5hzs8j6jrcn1py4pqb0igvrn.htm\"}},{\"name\":\"FORMATNOREPLACE=\",\"followsArguments\":[\"XML\"],\"description\":\"Specifies whether to replace existing format entries in the format catalog search path in cases where an existing format entry has the same name as a format that is being created by the XML engine when it converts a CDISC ODM CodeList element.\",\"help\":\"FORMATNOREPLACE= NO | YES\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NO\",\"optional\":true,\"description\":\"does not replace formats that have the same name.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0i04er66wyouon169m7zjmibdmo\"},{\"name\":\"YES\",\"optional\":true,\"description\":\"does replace formats that have the same name.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p05uxzgbaxeombn1fwmtf2w6mprw\"}],\"supportSiteInformation\":{\"docsetId\":\"engxml\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p1khph2ia1j1gnn1wj585f5akwo9.htm\"}},{\"name\":\"GCSDOMAIN=\",\"followsArguments\":[\"BIGQUERY\"],\"aliases\":[\"AUTHDOMAIN=\"],\"description\":\"Allows connection to a server by specifying the name of an authentication domain object.\",\"help\":\"GCSDOMAIN= '*authentication-domain*'\",\"type\":\"value\",\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_008\",\"docsetTargetFile\":\"n0aiq25zc8u8u6n1i81my0a24sd3.htm\"}},{\"name\":\"GCS_ACCESS_KEY=\",\"followsArguments\":[\"DUCKDB\"],\"aliases\":[\"GCS_KEY_ID=\"],\"description\":\"Specifies your Google Cloud Storage HMAC access ID.\",\"help\":\"GCS_ACCESS_KEY= \\\"*value*\\\"\",\"type\":\"value\",\"arguments\":[{\"name\":\"value\",\"placeholder\":true,\"description\":\"specifies your Google Cloud Storage HMAC access ID.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p18p6q46314m9vn1f0gcep7kdtpv\"}],\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_011\",\"docsetTargetFile\":\"p1n6h4yrml12byn1reiukwwwgm0y.htm\"}},{\"name\":\"GCS_CRED_FILE=\",\"followsArguments\":[\"DUCKDB\"],\"aliases\":[\"GCS_AUTH_FILE=\"],\"description\":\"Specifies the path to a credentials file that enables authentication to Google Cloud Platform.\",\"help\":\"GCS_CRED_FILE= '*path-and-file-name*'\",\"type\":\"value\",\"arguments\":[{\"name\":\"path-and-file-name\",\"placeholder\":true,\"description\":\"specifies the location of a JSON credentials file that enables authentication to Google Cloud Platform.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p07u4y8o0kwjapn1r5yd4wqzmuts\"}],\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_011\",\"docsetTargetFile\":\"p1wbg9975v87gqn13i66tlayk0zl.htm\"}},{\"name\":\"GCS_SECRET=\",\"followsArguments\":[\"DUCKDB\"],\"description\":\"Specifies the HMAC secret that is linked to your HMAC access ID.\",\"help\":\"GCS_SECRET= \\\"*value*\\\"\",\"type\":\"value\",\"arguments\":[{\"name\":\"value\",\"placeholder\":true,\"description\":\"specifies the HMAC secret that is associated with your HMAC access ID.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0mjkwc2n6j2pdn17yzmt5067ya7\"}],\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_011\",\"docsetTargetFile\":\"n0xu0y6phxv08on1cp5stqu2kzgw.htm\"}},{\"name\":\"GO_ENABLE_LOGGING=\",\"followsArguments\":[\"BIGQUERY\"],\"description\":\"Specifies whether to enable logging in the Go layer.\",\"help\":\"GO_ENABLE_LOGGING= YES | NO\",\"type\":\"choice\",\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_011\",\"docsetTargetFile\":\"p11vq6rzc5iwtmn10hcnejuxagb2.htm\"}},{\"name\":\"GO_LOG_FILE=\",\"followsArguments\":[\"BIGQUERY\"],\"description\":\"Specifies the file that contains log information from the Go layer.\",\"help\":\"GO_LOG_FILE= \\\"*path-and-file-name*\\\"\",\"type\":\"value\",\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_011\",\"docsetTargetFile\":\"n0dhjaionqt2ttn1se7i2kix7haa.htm\"}},{\"name\":\"GO_LOG_FORMAT=\",\"followsArguments\":[\"BIGQUERY\"],\"description\":\"Specifies the format for trace messages in Go layer logging.\",\"help\":\"GO_LOG_FORMAT= json | pretty | term | file | plain | message | logfmt\",\"type\":\"choice\",\"arguments\":[{\"name\":\"json\",\"description\":\"specifies single-line, compact JSON.\",\"type\":\"choice\",\"arguments\":[{\"name\":\"json\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"p1vqskbctf6lemn195t71eyaj9xe\"},{\"name\":\"pretty\",\"description\":\"specifies multi-line, indented JSON.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1s94xvyupeolfn1fijjeay5gyy5\"},{\"name\":\"term\",\"description\":\"specifies color terminal output\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0cp7cgz0g49amn1wcmr5kktledo\"},{\"name\":\"file\",\"description\":\"specifies *.log file style output.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n18wsjgmn4xthtn162xuv462cmcl\"},{\"name\":\"plain\",\"description\":\"specifies simple level and message format.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p06v7x7rfoe94an1rnc3d1b5gmwb\"},{\"name\":\"message\",\"description\":\"specifies message string only.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n07sihljt1xudrn1gyj6b6kt19rj\"},{\"name\":\"logfmt\",\"description\":\"specifies structured logging of key-value pairs.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1ofxqylm8p0mjn1wibi1uv3q8sy\"}],\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_011\",\"docsetTargetFile\":\"n1ligxkmp04rcen1pw5v0k6tjlzi.htm\"}},{\"name\":\"GO_LOG_LEVEL=\",\"followsArguments\":[\"BIGQUERY\"],\"description\":\"Specifies the logging level for Go layer logging.\",\"help\":\"GO_LOG_LEVEL= ERROR | WARN | INFO | DEBUG | TRACE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ERROR\",\"description\":\"indicates that errors have occurred.\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ERROR\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"p0skmiu0s3xkcin1ne7s2b3l0j3y\"},{\"name\":\"WARN\",\"description\":\"provides messages that identify potentially harmful situations.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0csftypnnth87n1potodbjz9mca\"},{\"name\":\"INFO\",\"description\":\"provides information that highlights the progress of an application.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0zacj3gg8gi3kn1bf41b5h0z581\"},{\"name\":\"DEBUG\",\"description\":\"provides detailed information that you can use to debug your application.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1owz6uc7t8r1gn13eafxb8bxui0\"},{\"name\":\"TRACE\",\"description\":\"produces the most detailed information about your application.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n09hxu0477apoyn1g6n0w30qleek\"}],\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_011\",\"docsetTargetFile\":\"n173zelwlz73tdn1diew6xiexvqk.htm\"}},{\"name\":\"GREENPLM\",\"description\":\"specifies the SAS/ACCESS engine name for the Greenplum interface.\",\"type\":\"standalone\",\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_008\",\"docsetTargetFile\":\"p1pes2rr12b4g3n14nnqluay2te7.htm\"}},{\"name\":\"GROUP=\",\"description\":\"Indicates the name of the group of SAP application servers if you are using load balancing.\",\"help\":\"GROUP= *application_server_group*\",\"type\":\"value\",\"supportSiteInformation\":{\"docsetId\":\"accr3\",\"docsetVersion\":\"v_002\",\"docsetTargetFile\":\"n0y31yezr6qltnn1k1kjwdxf7o64.htm\"}},{\"name\":\"GWHOST=\",\"aliases\":[\"GATEWAY_HOST\"],\"description\":\"Indicates the host name of the SAP gateway.\",\"help\":\"GWHOST= *gateway_host_name*\",\"type\":\"value\",\"supportSiteInformation\":{\"docsetId\":\"accr3\",\"docsetVersion\":\"v_002\",\"docsetTargetFile\":\"n0o2ardmpl16q3n174xpjptqa5ol.htm\"}},{\"name\":\"GWSERV=\",\"aliases\":[\"GATEWAY_SERVICE\"],\"description\":\"Indicates the service of the SAP gateway.\",\"help\":\"GWSERV= *gateway_service*\",\"type\":\"value\",\"supportSiteInformation\":{\"docsetId\":\"accr3\",\"docsetVersion\":\"v_002\",\"docsetTargetFile\":\"p11wsh7qdcjpjyn16bh5p3pst9ra.htm\"}},{\"name\":\"HADOOP\",\"description\":\"specifies the SAS/ACCESS engine name for the Hadoop interface.\",\"type\":\"standalone\",\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_008\",\"docsetTargetFile\":\"n1h398otek0j00n1itib5k7ch738.htm\"}},{\"name\":\"HDFS_TEMPDIR=\",\"followsArguments\":[\"HADOOP\",\"IMPALA\",\"SPARK\"],\"description\":\"Specifies the path to the HDFS directory where SAS reads and writes temporary data.\",\"help\":\"HDFS_TEMPDIR= '*path*'\",\"type\":\"value\",\"arguments\":[{\"name\":\"path\",\"placeholder\":true,\"description\":\"specifies the path to the HDFS directory where SAS reads and writes temporary data.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p116g8vr2wy8den1d351pir6npza\"}],\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_011\",\"docsetTargetFile\":\"n1vtlpr03bh5ren1izwmclu2fn8j.htm\"}},{\"name\":\"HIDEFLAGS=\",\"description\":\"Specifies whether the columns Questionable, Annotated, and Substituted are hidden.\",\"help\":\"HIDEFLAGS= YES | NO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YES\",\"optional\":true,\"description\":\"hides the Questionable, Annotated, and Substituted columns.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n05m5s96ndttxfn113d0klyjwe2s\"},{\"name\":\"NO\",\"optional\":true,\"description\":\"displays all columns.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1bf1767jde04tn14bxjqqehb7yu\"}],\"supportSiteInformation\":{\"docsetId\":\"acnrdb\",\"docsetVersion\":\"v_002\",\"docsetTargetFile\":\"p0d4jddqdb75g4n1efk0hlhj0w8c.htm\"}},{\"name\":\"HIDEOPTVARS=\",\"description\":\"Specifies whether to hide the secondary variables of a data set.\",\"help\":\"HIDEOPTVARS= YES | NO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YES\",\"optional\":true,\"description\":\"specifies to exclude nonessential variables in the data set. For more information about which variables are hidden when HIDEOPTVARS=YES, see .\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0g1jaztp6w374n1e6u83gh7h9ul\"},{\"name\":\"NO\",\"optional\":true,\"description\":\"specifies not to exclude the secondary variables of a data set. To display all of the variables in a data set, specify HIDEOPTVARS=NO.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0kbtudnvm9qdnn1l4squchtowox\"}],\"supportSiteInformation\":{\"docsetId\":\"acnrdb\",\"docsetVersion\":\"v_002\",\"docsetTargetFile\":\"n0xw9c77zpbw0en11z7l204xe7xh.htm\"}},{\"name\":\"HIVE_PRINCIPAL=\",\"followsArguments\":[\"HADOOP\"],\"aliases\":[\"HIVE_KERBEROS_PRINCIPAL=\"],\"description\":\"Specifies the principal name of the Hive server in an environment that uses Kerberos.\",\"help\":\"HIVE_PRINCIPAL= '*Hive-principal-name*'\",\"type\":\"value\",\"arguments\":[{\"name\":\"Hive-principal-name\",\"placeholder\":true,\"description\":\"specifies the principal name of the Hive server in an environment that uses Kerberos.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p12qmclmrjbqpwn1s90810s69ni7\"}],\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_011\",\"docsetTargetFile\":\"p0bj7a01ewtjvwn1pfhw2640pbzl.htm\"}},{\"name\":\"HOST=\",\"description\":\"Specifies an SPD Server machine by node name or IP address.\",\"help\":\"HOST= *host-name*\",\"type\":\"value\",\"supportSiteInformation\":{\"docsetId\":\"spdsug\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p19f41r3xnhx3nn1befenbb3nart.htm\"}},{\"name\":\"HTTPPATH=\",\"followsArguments\":[\"HADOOP\",\"IMPALA\",\"SPARK\"],\"description\":\"Specifies the HTTP or HTTPS endpoint for building the JDBC URL connection string.\",\"help\":\"HTTPPATH= \\\"*http-path*\\\"\",\"type\":\"value\",\"arguments\":[{\"name\":\"http-path\",\"placeholder\":true,\"description\":\"specifies the HTTP or HTTPS endpoint for building the JDBC URL connection string.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1apekss3cs754n1k1bdbej96nba\"}],\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_011\",\"docsetTargetFile\":\"n17kldllse4tpqn1pofhgzi6jghs.htm\"}},{\"name\":\"ICEBERG_CATALOG=\",\"followsArguments\":[\"DUCKDB\"],\"description\":\"Specifies the identifier of an Iceberg catalog.\",\"help\":\"ICEBERG_CATALOG= '*catalog-identifier*'\",\"type\":\"dataSet\",\"arguments\":[{\"name\":\"catalog-identifier\",\"placeholder\":true,\"description\":\"specifies the identifier for an Iceberg catalog.\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"p0pjylhnr9etw0n1tvak9umk6p5v\"}],\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_011\",\"docsetTargetFile\":\"n0b5omsx5zddl1n11skhk690vwog.htm\"}},{\"name\":\"ICEBERG_CLIENT_ID=\",\"followsArguments\":[\"DUCKDB\"],\"description\":\"Specifies the client ID for authentication to an Iceberg catalog.\",\"help\":\"ICEBERG_CLIENT_ID= *identifier*\",\"type\":\"value\",\"arguments\":[{\"name\":\"identifier\",\"placeholder\":true,\"description\":\"specifies the client ID for authentication to an Iceberg catalog.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1e98v4gnqt1orn1rmik2q5jaxjr\"}],\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_011\",\"docsetTargetFile\":\"p016veey1a54atn11dca2m2mzjag.htm\"}},{\"name\":\"ICEBERG_CLIENT_SECRET=\",\"followsArguments\":[\"DUCKDB\"],\"description\":\"Specifies the client secret for authentication to an Iceberg catalog.\",\"help\":\"ICEBERG_CLIENT_SECRET= '*secret*'\",\"type\":\"value\",\"arguments\":[{\"name\":\"secret\",\"placeholder\":true,\"description\":\"specifies the client secret for authentication to an Iceberg catalog.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p00fvy6phidzq5n1joednqss47se\"}],\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_011\",\"docsetTargetFile\":\"n179a7mrc1lhxqn1ii1u53tt94v2.htm\"}},{\"name\":\"ICEBERG_ENDPOINT=\",\"followsArguments\":[\"DUCKDB\"],\"description\":\"Specifies the Iceberg endpoint URL to connect to an Iceberg REST catalog.\",\"help\":\"ICEBERG_ENDPOINT= \\\"*URL*\\\"\",\"type\":\"value\",\"arguments\":[{\"name\":\"URL\",\"placeholder\":true,\"description\":\"specifies the Iceberg endpoint URL for connecting to an Iceberg REST catalog.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0dw3hbs8xced1n1l9n3y6c1m2ch\"}],\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_011\",\"docsetTargetFile\":\"p0rhj3ffi4u5xbn1i6g86z5w3xf1.htm\"}},{\"name\":\"ICEBERG_ENDPOINT_TYPE=\",\"followsArguments\":[\"DUCKDB\"],\"description\":\"Specifies the Iceberg endpoint type for connecting to an Iceberg catalog.\",\"help\":\"ICEBERG_ENDPOINT_TYPE= GLUE | S3_TABLES\",\"type\":\"choice\",\"arguments\":[{\"name\":\"GLUE\",\"description\":\"specifies a connection to an Amazon Glue catalog.\",\"type\":\"choice\",\"arguments\":[{\"name\":\"GLUE\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"n08dz7n850d4bnn1487kd4ycgo71\"},{\"name\":\"S3_TABLES\",\"description\":\"specifies a connection to an S3 Tables bucket.\",\"type\":\"choice\",\"arguments\":[{\"name\":\"S3_TABLES\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"p0doqq6lxcw1cjn1w1bsf5870taq\"}],\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_011\",\"docsetTargetFile\":\"n12mphwnhqgyesn1l69kzx9f4s5n.htm\"}},{\"name\":\"ICEBERG_OAUTH2_URI=\",\"followsArguments\":[\"DUCKDB\"],\"aliases\":[\"ICEBERG_OAUTH2_SERVER_URI=\"],\"description\":\"Specifies the OAuth2 server URI to authenticate to an Iceberg catalog.\",\"help\":\"ICEBERG_OAUTH2_URI= '*server-URI*'\",\"type\":\"value\",\"arguments\":[{\"name\":\"server-URI\",\"placeholder\":true,\"description\":\"specifies the OAuth2 server URI to authenticate to an Iceberg catalog.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1huo14gmgv0zbn1beo2sji907o4\"}],\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_011\",\"docsetTargetFile\":\"n02ghwaxk58rurn1mpkuo4uqeomv.htm\"}},{\"name\":\"ICEBERG_SECRET_OPTIONS=\",\"followsArguments\":[\"DUCKDB\"],\"description\":\"Specifies the client secret for authentication to an Iceberg catalog.\",\"help\":\"ICEBERG_SECRET_OPTIONS= \\\"*option-value-pairs*\\\"\",\"type\":\"value\",\"arguments\":[{\"name\":\"option-value-pairs\",\"placeholder\":true,\"description\":\"specifies additional secret options for authenticating to an Iceberg catalog. Enclose one or more option-value pairs in double quotation marks. Specify option-value pairs with a space between the option name and the value, and enclose the value in single quotation marks. Separate multiple option-value pairs with a comma. These options are used for the DuckDB CREATE SECRET command.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1332iwl2g9zjpn101jt16p7t95v\"}],\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_011\",\"docsetTargetFile\":\"p11mc6ihcbbbufn1waw29ua0gqh7.htm\"}},{\"name\":\"ICEBERG_TOKEN=\",\"followsArguments\":[\"DUCKDB\"],\"description\":\"Specifies the OAuth2 token to authenticate to an Iceberg catalog.\",\"help\":\"ICEBERG_TOKEN= *OAuth2-token*\",\"type\":\"value\",\"arguments\":[{\"name\":\"OAuth2-token\",\"placeholder\":true,\"description\":\"specifies the OAuth2 token to authenticate to an Iceberg catalog.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1a9gl27t2ux1kn1254uwxau2d1q\"}],\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_011\",\"docsetTargetFile\":\"n1ufmwqxtp9p3in12k6s9zzecvxy.htm\"}},{\"name\":\"IDXBY=\",\"followsArguments\":[\"SPDE\"],\"description\":\"Specifies whether to use an index when processing a BY statement in the SPD Engine.\",\"help\":\"IDXBY= YES | NO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YES\",\"description\":\"uses an index when processing indexed variables in a BY statement.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1oun6589hrf79n1stdbfbxswcuf\"}],\"supportSiteInformation\":{\"docsetId\":\"engspde\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p1uqxmpdz132ypn1awp3i2f47737.htm\"}},{\"name\":\"IEEE_REVERSE=\",\"description\":\"Indicates whether floating-point numbers are byte-reversed.\",\"help\":\"IEEE_REVERSE= Y | N\",\"type\":\"choice\",\"supportSiteInformation\":{\"docsetId\":\"accr3\",\"docsetVersion\":\"v_002\",\"docsetTargetFile\":\"n1q7i23h98fkenn1dgw34whx78zf.htm\"}},{\"name\":\"IGNORE_BASELINE=\",\"followsArguments\":[\"HADOOP\",\"SPARK\"],\"description\":\"Specifies whether to try the connection regardless of the minimum required Hadoop version.\",\"help\":\"IGNORE_BASELINE= YES | NO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YES\",\"optional\":true,\"description\":\"Specifies that SAS allows connections to a target DBMS that does not meet minimum requirements. Although using this option is not recommended, it might be useful when version information is reported incorrectly or in test environments.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0cty2mxbh1yl4n180pxm85vbuqc\"},{\"name\":\"NO\",\"optional\":true,\"description\":\"Specifies that SAS rejects connections to a target DBMS that does not meet minimum requirements and issues an error to the SAS log.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0m1om1gb09t8xn1o2amq0wa4dun\"}],\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_011\",\"docsetTargetFile\":\"p1x65n5u5b014mn1lzaxer72sk1x.htm\"}},{\"name\":\"IGNORE_FEDSQL_OBJECTS=\",\"followsArguments\":[\"BIGQUERY\"],\"description\":\"Specifies whether to ignore FedSQL objects in a library query.\",\"help\":\"IGNORE_FEDSQL_OBJECTS= YES | NO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YESNO\",\"description\":\"specifies whether to ignore FedSQL objects, such as FedSQL views, DS2 packages, or DS2 threads.\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YES\",\"type\":\"standalone\"},{\"name\":\"NO\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"n1b0nip53jd4jdn1leeqolulh86a\"}],\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_011\",\"docsetTargetFile\":\"n08mb8643t5f8hn1oqiwvfkurpt1.htm\"}},{\"name\":\"IGNORE_READONLY=\",\"followsArguments\":[\"GREENPLM\"],\"aliases\":[\"IGNORE_READ_ONLY_COLUMNS=\"],\"description\":\"Specifies whether to ignore or include columns where data types are read-only when generating a SQL statement for inserts or updates.\",\"help\":\"IGNORE_READONLY= YES |  NO\",\"type\":\"choice\",\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_008\",\"docsetTargetFile\":\"p0ega0jk10t0gsn1uddprsogmbep.htm\"}},{\"name\":\"IGNORE_READ_ONLY_COLUMNS=\",\"description\":\"Specifies whether to ignore read-only columns.\",\"help\":\"IGNORE_READ_ONLY_COLUMNS= YES | NO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YES\",\"optional\":true,\"description\":\"specifies that the SAS/ACCESS engine ignores columns where data types are read-only when you are generating insert and update SQL statements.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p11ni44orqe97an1i4zwxpxci0oa\"},{\"name\":\"NO\",\"optional\":true,\"description\":\"specifies that the SAS/ACCESS engine does not ignore columns where data types are read-only when you are generating insert and update SQL statements.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n05dqaehf4mjb6n1wkr3rhh3shj5\"}],\"supportSiteInformation\":{\"docsetId\":\"acnrdb\",\"docsetVersion\":\"v_002\",\"docsetTargetFile\":\"n0le2stzr5gn5tn1jbmk3rqkk66r.htm\"}},{\"name\":\"IMPALA\",\"description\":\"specifies the SAS/ACCESS engine name for the Impala interface.\",\"type\":\"standalone\",\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_008\",\"docsetTargetFile\":\"n1syqcjuje9yc3n1nixlsqn1r0y0.htm\"}},{\"name\":\"IN=\",\"followsArguments\":[\"DB2\",\"GREENPLM\"],\"description\":\"Lets you specify the database and tablespace in which you want to create a new table.\",\"help\":\"IN= '*database-name.tablespace-name*' | DATABASE *database-name*'\",\"type\":\"choice\",\"arguments\":[{\"name\":\"database-name.tablespace-name\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the names of the database and tablespace, which are separated by a period. Enclose the entire specification in single quotation marks.\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"n1jc7ae2litz57n133lmx0nwjb4s\"},{\"name\":\"DATABASE\",\"optional\":true,\"description\":\"specifies only the database name. Specify the word DATABASE, a space, and the database name. Enclose the entire specification in single quotation marks.\",\"help\":\"DATABASE *database-name*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0l4dghcem4vu9n0zl97z60rcbcv\"}],\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_011\",\"docsetTargetFile\":\"p0mahokqoolcpqn1k8tlis036002.htm\"}},{\"name\":\"INDENT=\",\"followsArguments\":[\"XMLV2\",\"XML\"],\"description\":\"Specifies the number of columns to indent each nested element in the exported XML document.\",\"help\":\"INDENT= *integer*\",\"type\":\"value\",\"arguments\":[{\"name\":\"integer\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the number of columns to indent each nested element in the exported XML document.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1muz0ooe2nzovn1kix394t4pcql\"}],\"supportSiteInformation\":{\"docsetId\":\"engxml\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p0pzedh60u2et0n1v82im163xwie.htm\"}},{\"name\":\"INDEXPATH=\",\"followsArguments\":[\"SPDE\"],\"description\":\"Specifies a path or list of paths in which to store the two types of index component files (.hbx and .idx) associated with an SPD Engine data set.\",\"help\":\"INDEXPATH= (*'path1'*&lt;*'path2'* ...&gt;)\",\"type\":\"value\",\"arguments\":[{\"name\":\"'path'\",\"placeholder\":true,\"description\":\"is a complete pathname, in single or double quotation marks within parentheses. Separate multiple arguments with spaces.\",\"help\":\"*'path'*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0dud9wgsyk8oon1bc868nipan01\"}],\"supportSiteInformation\":{\"docsetId\":\"engspde\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n1c9i2zgp9k3jun1i6rsyum9zhl9.htm\"}},{\"name\":\"INENCODING=\",\"description\":\"Indicates the code page.\",\"help\":\"INENCODING= *code_page*\",\"type\":\"value\",\"supportSiteInformation\":{\"docsetId\":\"accr3\",\"docsetVersion\":\"v_002\",\"docsetTargetFile\":\"p15x2vf8qj0m0rn1aosmjdxzc6le.htm\"}},{\"name\":\"INFORMIX\",\"description\":\"specifies the SAS/ACCESS engine name for the Informix interface.\",\"type\":\"standalone\",\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_008\",\"docsetTargetFile\":\"n18adv7mgzejk9n14utksrgj6dtg.htm\"}},{\"name\":\"INITCMD=\",\"followsArguments\":[\"ORACLE\"],\"aliases\":[\"DBCOMMT=\"],\"description\":\"Causes an automatic COMMIT (permanently writing data to the DBMS) after processing a specified number of rows.\",\"help\":\"INITCMD= *n*\",\"type\":\"value\",\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_008\",\"docsetTargetFile\":\"p00lgy3xwh61b8n16kffwq3veagu.htm\"}},{\"name\":\"INSERTBUFF=\",\"followsArguments\":[\"BIGQUERY\",\"DB2\",\"GREENPLM\",\"HADOOP\",\"IMPALA\",\"INFORMIX\",\"JDBC\",\"MYSQL\",\"NETEZZA\",\"ODBC\",\"ORACLE\",\"POSTGRES\",\"REDSHIFT\",\"SAPHANA\",\"SAPIQ\",\"SNOW\",\"SPARK\",\"SQLSVR\",\"SSTORE\",\"VERTICA\",\"YBRICK\"],\"description\":\"Specifies the number of rows in a single DBMS insert.\",\"help\":\"INSERTBUFF= *positive-integer*\",\"type\":\"value\",\"arguments\":[{\"name\":\"positive-integer\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the number of rows to insert.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n13emnj3lmyg11n1qazep3ck688q\"}],\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_011\",\"docsetTargetFile\":\"p06u7eb5ienq5in1wq9injrz8vh5.htm\"}},{\"name\":\"INSERT_MULTI_VALUE=\",\"followsArguments\":[\"SQLSVR\"],\"description\":\"Specifies whether to use multi-value INSERT syntax to load data.\",\"help\":\"INSERT_MULTI_VALUE= YES | NO\",\"type\":\"choice\",\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_011\",\"docsetTargetFile\":\"n0bz9ryq3ihexdn1wcuwlxhgtufz.htm\"}},{\"name\":\"INSERT_SQL=\",\"followsArguments\":[\"GREENPLM\",\"NETEZZA\",\"ODBC\",\"REDSHIFT\",\"SQLSVR\",\"VERTICA\"],\"description\":\"Determines the method to use to insert rows into a data source.\",\"help\":\"INSERT_SQL= YES | NO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YES\",\"optional\":true,\"description\":\"specifies that SAS/ACCESS uses the SQL insert method for the data source to insert new rows into a table.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p13n3v7if4o941n1bshqt83okkx2\"},{\"name\":\"NO\",\"optional\":true,\"description\":\"specifies that SAS/ACCESS uses an alternate, DBMS-specific method to insert new rows into a table.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n01r3tw14hu385n1awdb45q8csl8\"}],\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_011\",\"docsetTargetFile\":\"n19lrvsoiohpjzn1ox2y66782qag.htm\"}},{\"name\":\"INSTANCE=\",\"followsArguments\":[\"SAPHANA\"],\"aliases\":[\"INSTANCE\"],\"description\":\"Specifies the instance number of the SAP HANA database engine.\",\"help\":\"INSTANCE= *instance-number*\",\"type\":\"value\",\"arguments\":[{\"name\":\"instance-number\",\"placeholder\":true,\"description\":\"specifies the instance number of the SAP HANA database engine. The port number is 3<instance-number>15 (for example, 30015 for the instance number 00). If you specify the port number explicitly in either PORT= or SERVER=, then INSTANCE= is ignored and a warning is written to the SAS log.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0u1h1k4ih8sken10xag7f0jhe76\"}],\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_011\",\"docsetTargetFile\":\"n0ktlgwqb6vc5nn185my7drfjs89.htm\"}},{\"name\":\"INTERFACE=\",\"followsArguments\":[\"SAPASE\"],\"description\":\"Specifies the name and location of the interfaces file that is searched when you connect to the SAP ASE server.\",\"help\":\"INTERFACE= *file-name*\",\"type\":\"value\",\"arguments\":[{\"name\":\"file-name\",\"placeholder\":true,\"description\":\"specifies the name and location of the SAP ASE interfaces file.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1jzjrvllizs62n1ty40cw8o2ug1\"}],\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_011\",\"docsetTargetFile\":\"n1d3l41up5rbzzn0zqhfehlnhy73.htm\"}},{\"name\":\"IOBLOCKSIZE=\",\"followsArguments\":[\"SPDE\"],\"description\":\"Specifies the size in bytes of a block of observations to be used in an I/O operation.\",\"help\":\"IOBLOCKSIZE= *n*\",\"type\":\"value\",\"supportSiteInformation\":{\"docsetId\":\"engspde\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p0k4z93p0yri0wn14vx68u6hfjbv.htm\"}},{\"name\":\"IP=\",\"description\":\"Invokes SQL implicit pass-through processing for the SPD Server session.\",\"help\":\"IP= YES\",\"type\":\"standalone\",\"supportSiteInformation\":{\"docsetId\":\"spdsug\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p0dpxgfjy9gotcn1vzt8zuwcfrn2.htm\"}},{\"name\":\"IP_CURSOR=\",\"followsArguments\":[\"SAPASE\"],\"description\":\"Specifies whether implicit PROC SQL pass-through processes multiple result data sets simultaneously.\",\"help\":\"IP_CURSOR= YES | NO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YES\",\"description\":\"specifies that implicit PROC SQL pass-through can process multiple result data sets simultaneously. The YES setting allows this type of extended processing. However, it decreases performance because cursors, not result data sets, are being used. Do not set to YES unless needed.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1pmh4cxz7veyfn146b2udmkpxbc\"},{\"name\":\"NO\",\"description\":\"specifies that implicit PROC SQL pass-through does not process multiple result data sets simultaneously.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n17fo8gqsd2rdun1qh3gjwelrlss\"}],\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_011\",\"docsetTargetFile\":\"n09hsie0h0u1cjn1ilccyfnqkryu.htm\"}},{\"name\":\"JDBC\",\"description\":\"specifies the SAS/ACCESS engine name for the JDBC interface.\",\"type\":\"standalone\",\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_008\",\"docsetTargetFile\":\"n0zm6fjwtgsnrzn1fegvyhl3yrwd.htm\"}},{\"name\":\"JMP\",\"description\":\"specifies the engine that connects to a JMP data table.\",\"type\":\"standalone\",\"supportSiteInformation\":{\"docsetId\":\"lestmtsglobal\",\"docsetVersion\":\"v_002\",\"docsetTargetFile\":\"p1h80b3a6znyo0n136823vqw8t4e.htm\"}},{\"name\":\"JSON\",\"description\":\"provides read-only sequential access to JSON data.\",\"type\":\"standalone\",\"supportSiteInformation\":{\"docsetId\":\"lestmtsglobal\",\"docsetVersion\":\"v_002\",\"docsetTargetFile\":\"n1jfdetszx99ban1rl4zll6tej7j.htm\"}},{\"name\":\"JSON_OPTIONS=\",\"followsArguments\":[\"DUCKDB\"],\"description\":\"Specifies options to pass to the read_json function in DuckDB.\",\"help\":\"JSON_OPTIONS= \\\"*option1*&lt;, *option2*,  ...&gt;\\\"\",\"type\":\"value\",\"arguments\":[{\"name\":\"option\",\"placeholder\":true,\"description\":\"specifies an option to pass to the read_json function in DuckDB. Separate multiple options by commas. Enclose the list of options in quotation marks.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p15irvokbugwgmn15f0vh5hkl8ea\"}],\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_011\",\"docsetTargetFile\":\"p1sff1wbzfhrznn1fi8tc13amtyd.htm\"}},{\"name\":\"KEYSET=\",\"followsArguments\":[\"GREENPLM\",\"SQLSVR\"],\"aliases\":[\"KEYSET_SIZE=\"],\"description\":\"Specifies the number of rows that are keyset driven.\",\"help\":\"KEYSET= *number-of-rows*\",\"type\":\"value\",\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_008\",\"docsetTargetFile\":\"p0orjgwsiaxbe9n1465c19f6z2gu.htm\"}},{\"name\":\"KEYSET_SIZE=\",\"followsArguments\":[\"GREENPLM\",\"ODBC\",\"POSTGRES\",\"REDSHIFT\",\"SQLSVR\",\"VERTICA\",\"YBRICK\"],\"description\":\"Specifies the number of rows that are keyset driven.\",\"help\":\"KEYSET_SIZE= *number-of-rows*\",\"type\":\"value\",\"arguments\":[{\"name\":\"number-of-rows\",\"optional\":true,\"placeholder\":true,\"description\":\"an integer with a value between 0 and the number of rows in the cursor.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p11nb0ptul5bb2n1y1fb1qsw0orp\"}],\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_011\",\"docsetTargetFile\":\"p0orjgwsiaxbe9n1465c19f6z2gu.htm\"}},{\"name\":\"KRBHOSTFQDN=\",\"followsArguments\":[\"IMPALA\"],\"description\":\"Specifies the fully qualified domain name of the host for Kerberos authentication.\",\"help\":\"KRBHOSTFQDN= '*domain-name*'\",\"type\":\"value\",\"arguments\":[{\"name\":\"domain-name\",\"placeholder\":true,\"description\":\"specifies the fully qualified domain name of the host for Kerberos authentication.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1g4lrqqhl718qn1plt36k978j76\"}],\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_011\",\"docsetTargetFile\":\"p0g3rtkbxdtts8n1j0fpi6yvcn1m.htm\"}},{\"name\":\"KRBREALM=\",\"followsArguments\":[\"IMPALA\"],\"description\":\"Specifies the Kerberos realm for authentication.\",\"help\":\"KRBREALM= '*realm-name*'\",\"type\":\"value\",\"arguments\":[{\"name\":\"realm-name\",\"placeholder\":true,\"description\":\"specifies the Kerberos realm (authentication domain) for the service principal.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1mr4nsl8628f6n174237s0gjsej\"}],\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_011\",\"docsetTargetFile\":\"n1pxadzhcqqjvon1pjy49qgcsh49.htm\"}},{\"name\":\"KRBSERVICENAME=\",\"followsArguments\":[\"IMPALA\"],\"description\":\"Specifies the service principal for Kerberos authentication.\",\"help\":\"KRBSERVICENAME= *service-name*\",\"type\":\"value\",\"arguments\":[{\"name\":\"service-name\",\"placeholder\":true,\"description\":\"specifies the Kerberos service principal to request a ticket for.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1taqvguz8kvitn12h8co33lic4f\"}],\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_011\",\"docsetTargetFile\":\"n04z8p8w91heiqn1hgb5h8gv3iuq.htm\"}},{\"name\":\"KRB_AUTH_TYPE=\",\"followsArguments\":[\"HADOOP\"],\"description\":\"Specifies how to obtain the subject for Kerberos authentication.\",\"help\":\"KRB_AUTH_TYPE= *integer*\",\"type\":\"value\",\"arguments\":[{\"name\":\"integer\",\"placeholder\":true,\"description\":\"specifies how to obtain the subject for Kerberos authentication. Valid values are 0, 1, 2, or 3. For more information, see \\\"Using Kerberos\\\" and \\\"Connector Configuration Options\\\" on the insightsoftware website.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0f2jx8aq1du92n11gty47nckhic\"}],\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_011\",\"docsetTargetFile\":\"p0bkrye5qyfynzn1ohplbbljfq41.htm\"}},{\"name\":\"KRB_HOST_FQDN=\",\"followsArguments\":[\"HADOOP\"],\"description\":\"Specifies the fully qualified domain name of the Hive server for Kerberos authentication.\",\"help\":\"KRB_HOST_FQDN= '*domain-name*'\",\"type\":\"value\",\"arguments\":[{\"name\":\"domain-name\",\"placeholder\":true,\"description\":\"specifies the fully qualified domain name of the Hive server. For more information, see \\\"Using Kerberos\\\" and \\\"Connector Configuration Options\\\" on the insightsoftware website.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1ki8slgs9tfj9n1xn9k9d2f6qzt\"}],\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_011\",\"docsetTargetFile\":\"n1gg9gb6uta2mln12eao1gfl8nse.htm\"}},{\"name\":\"KRB_REALM=\",\"followsArguments\":[\"HADOOP\"],\"description\":\"Specifies the Kerberos realm for authentication.\",\"help\":\"KRB_REALM= '*realm-name*'\",\"type\":\"value\",\"arguments\":[{\"name\":\"realm-name\",\"placeholder\":true,\"description\":\"specifies the Kerberos realm. For more information, see \\\"Using Kerberos\\\" and \\\"Connector Configuration Options\\\" on the insightsoftware website.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0lwju0ieqhxf0n1706hw28sweex\"}],\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_011\",\"docsetTargetFile\":\"n1cqz9szu2iew8n1iyb0fdgholq6.htm\"}},{\"name\":\"KRB_SERVICE_NAME=\",\"followsArguments\":[\"HADOOP\"],\"description\":\"Specifies the service principal name of the Hive server for Kerberos authentication.\",\"help\":\"KRB_SERVICE_NAME= &lt;'&gt;*service-name*&lt;'&gt;\",\"type\":\"value\",\"arguments\":[{\"name\":\"service-name\",\"placeholder\":true,\"description\":\"specifies the service principal name of the Hive server.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0ir283o8hxbnbn1ms74uhnacw0m\"}],\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_011\",\"docsetTargetFile\":\"p19qs9yhgbsr05n1c5fv419sxj3e.htm\"}},{\"name\":\"LANGUAGE=\",\"aliases\":[\"LANG\",\"LNG\",\"RFCLANG\",\"RFCLNG\"],\"description\":\"Indicates the SAP logon parameter language.\",\"help\":\" LANGUAGE= *language*\",\"type\":\"value\",\"supportSiteInformation\":{\"docsetId\":\"accr3\",\"docsetVersion\":\"v_002\",\"docsetTargetFile\":\"p1pojqs3kwmpkbn1f9zkemclpg0o.htm\"}},{\"name\":\"LARGE_RESULTS_DATASET=\",\"followsArguments\":[\"BIGQUERY\"],\"aliases\":[\"LRD=\"],\"description\":\"Specifies a data set ID for query results.\",\"help\":\"LARGE_RESULTS_DATASET= &lt;'&gt;*Google-BigQuery-data-set-ID*&lt;'&gt;\",\"type\":\"dataSet\",\"arguments\":[{\"name\":\"Google-BigQuery-data-set-ID\",\"placeholder\":true,\"description\":\"specifies a data set ID to which result set tables are written.\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"p13j42rrgp860pn1kfffsi1l9fg6\"}],\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_011\",\"docsetTargetFile\":\"n13f5giujvowvmn1mi0p4s49gf0j.htm\"}},{\"name\":\"LARGE_RESULTS_EXPIRATION_TIME=\",\"followsArguments\":[\"BIGQUERY\"],\"aliases\":[\"LRET=\"],\"description\":\"Specifies the amount of time in milliseconds until a temporary table is deleted.\",\"help\":\"LARGE_RESULTS_EXPIRATION_TIME= *milliseconds*\",\"type\":\"value\",\"arguments\":[{\"name\":\"milliseconds\",\"placeholder\":true,\"description\":\"specifies the amount of time in milliseconds before a temporary table is deleted.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n086zbodnhkf8qn1hddabxf68m1c\"}],\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_011\",\"docsetTargetFile\":\"n0d03o5lcl1vnnn1hrtiaqhyptep.htm\"}},{\"name\":\"LARGE_RESULTS_PROJECT=\",\"followsArguments\":[\"BIGQUERY\"],\"aliases\":[\"LRP=\"],\"description\":\"Specifies a project ID for large query results.\",\"help\":\"LARGE_RESULTS_PROJECT= &lt;'&gt;*project-ID*&lt;'&gt;\",\"type\":\"value\",\"arguments\":[{\"name\":\"project-name\",\"placeholder\":true,\"description\":\"specifies a project ID for large query results.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1ffav2wbuw154n1t6pvw22dkoih\"}],\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_011\",\"docsetTargetFile\":\"p0jbm1q0megl3un1d4g1b1md5tif.htm\"}},{\"name\":\"LIBGEN=\",\"description\":\"Configures the SPD Server connection to generate additional domain connections.\",\"help\":\"LIBGEN= NO | YES\",\"type\":\"choice\",\"supportSiteInformation\":{\"docsetId\":\"spdsug\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n09ie63mlduvlqn1n61pgnkhefe2.htm\"}},{\"name\":\"LOCATION=\",\"followsArguments\":[\"BIGQUERY\"],\"description\":\"Specifies the localization that was used to store data.\",\"help\":\"LOCATION= \\\"*location*\\\"\",\"type\":\"value\",\"arguments\":[{\"name\":\"location\",\"placeholder\":true,\"description\":\"specifies the location, from a localization standpoint, in which a data set is stored.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p092njawjl7kgzn1hvkmw21pzcus\"}],\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_011\",\"docsetTargetFile\":\"n02g3tnl9o9iewn1nq6jbribnqcg.htm\"}},{\"name\":\"LOCKING=\",\"description\":\"Enables record-level locking for the domain.\",\"help\":\"LOCKING= NO | YES\",\"type\":\"choice\",\"supportSiteInformation\":{\"docsetId\":\"spdsug\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p1e8sngmr5u5ajn1fzfhzpiwliiw.htm\"}},{\"name\":\"LOCKTABLE=\",\"followsArguments\":[\"INFORMIX\"],\"description\":\"Places exclusive or shared locks on tables.\",\"help\":\"LOCKTABLE= EXCLUSIVE | \\n                    SHARE\\n                \",\"type\":\"choice\",\"arguments\":[{\"name\":\"EXCLUSIVE\",\"optional\":true,\"description\":\"specifies that other users are prevented from accessing each table that you open in the libref.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1vlqs50b6o6s6n11tukxtdc3xtn\"},{\"name\":\"SHARE\",\"optional\":true,\"description\":\"specifies that other users or processes can read data from the tables, but they cannot update the data.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0je0u7g0bcpdtn1p6hfkbj9z31o\"}],\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_011\",\"docsetTargetFile\":\"n0s9403jdio3ren1s39vtuu3ubi4.htm\"}},{\"name\":\"LOCKTIME=\",\"followsArguments\":[\"INFORMIX\"],\"description\":\"Specifies the number of seconds to wait until rows are available for locking.\",\"help\":\"LOCKTIME= *positive-integer*\",\"type\":\"value\",\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_011\",\"docsetTargetFile\":\"n1xmt0yf6kjg5ln1dvig09wawdg6.htm\"}},{\"name\":\"LOCKWAIT=\",\"followsArguments\":[\"INFORMIX\",\"ORACLE\"],\"description\":\"Specifies whether to wait indefinitely until rows are available for locking.\",\"help\":\"LOCKWAIT= YES | \\n                    NO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YES\",\"optional\":true,\"description\":\"specifies that SAS waits until rows are available for locking.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0fjzh1wig69nbn19ape4wt9pafg\"},{\"name\":\"NO\",\"optional\":true,\"description\":\"specifies that SAS does not wait and returns an error to indicate that the lock is not available.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1w0tt20vnivvzn179n755sb8hn0\"}],\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_011\",\"docsetTargetFile\":\"n14y3h05hx2hvzn1lm3ve1esto13.htm\"}},{\"name\":\"LOGDB=\",\"followsArguments\":[\"TERADATA\"],\"description\":\"Redirects to an alternate database-specific table that FastExport creates or MultiLoad uses.\",\"help\":\"LOGDB= *database-name*\",\"type\":\"value\",\"arguments\":[{\"name\":\"database-name\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the name of the Teradata database.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p02sj0sspktg3fn1vmhdsltg4bxk\"}],\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_011\",\"docsetTargetFile\":\"p0k45t1pf7pwd8n16ek318wolwo0.htm\"}},{\"name\":\"LOGIN_TIMEOUT=\",\"followsArguments\":[\"HADOOP\",\"IMPALA\",\"JDBC\",\"NETEZZA\",\"ODBC\",\"POSTGRES\",\"REDSHIFT\",\"SAPHANA\",\"SAPIQ\",\"SNOW\",\"SPARK\",\"SQLSVR\",\"YBRICK\"],\"description\":\"Specifies the default login time-out for connecting to and accessing data sources in a library.\",\"help\":\"LOGIN_TIMEOUT= *numeric-value*\",\"type\":\"value\",\"arguments\":[{\"name\":\"numeric-value\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies a positive integer for the number of seconds to wait for the connection. A value of 0 indicates to wait indefinitely.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n18neh3lw1lsl0n1sus0k2ndk4d8\"}],\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_011\",\"docsetTargetFile\":\"n1ptclh8xc4n50n1mhw2acf48zj2.htm\"}},{\"name\":\"MAPREDUCE_JOB_NAME=\",\"followsArguments\":[\"HADOOP\",\"SPARK\"],\"description\":\"Specifies the MapReduce job name.\",\"help\":\"MAPREDUCE_JOB_NAME= \\\"*name*\\\"\",\"type\":\"value\",\"arguments\":[{\"name\":\"name\",\"placeholder\":true,\"description\":\"specifies the MapReduce job name.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n107t62g47zhden1j32xnz920np7\"}],\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_011\",\"docsetTargetFile\":\"n0z32bu8t3skjcn1y0lou0qoxsvi.htm\"}},{\"name\":\"MAPREDUCE_JOB_QUEUENAME=\",\"followsArguments\":[\"HADOOP\",\"SPARK\"],\"description\":\"Specifies the MapReduce queue name.\",\"help\":\"MAPREDUCE_JOB_QUEUENAME= \\\"*name*\\\"\",\"type\":\"value\",\"arguments\":[{\"name\":\"name\",\"placeholder\":true,\"description\":\"specifies the MapReduce queue name.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1wrkhavum6oxqn16w5avvc0vtqy\"}],\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_011\",\"docsetTargetFile\":\"n031605rg0x48zn1i7zk7tr3maf5.htm\"}},{\"name\":\"MAXTABLEMEM=\",\"description\":\"Specifies the maximum amount of memory, in bytes, to allocate for an in-memory table.\",\"help\":\"MAXTABLEMEM= *integer* | *integer*K | *integer*M | *integer*G\",\"type\":\"choice\",\"supportSiteInformation\":{\"docsetId\":\"casref\",\"docsetVersion\":\"v_004\",\"docsetTargetFile\":\"p1q6bju09nu987n1xkv558seiufb.htm\"}},{\"name\":\"MAX_ARRAY_LEN=\",\"followsArguments\":[\"DUCKDB\"],\"aliases\":[\"MAX_LIST_LEN=\",\"MAX_STRUCT_LEN=\"],\"description\":\"Specifies the maximum buffer length for complex data types.\",\"help\":\"MAX_ARRAY_LEN= *value*\",\"type\":\"value\",\"arguments\":[{\"name\":\"value\",\"placeholder\":true,\"description\":\"specifies the maximum buffer length in bytes for complex data types, such as arrays, lists, or structs. This buffer is used to construct a string representation of the complex type.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0bya9k6vmmoj0n1von3j4fts9t6\"}],\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_011\",\"docsetTargetFile\":\"p1x4pwp0q0io12n1vlal0olvt7mb.htm\"}},{\"name\":\"MAX_BINARY_LEN=\",\"followsArguments\":[\"BIGQUERY\",\"DUCKDB\"],\"description\":\"Specifies the maximum length in bytes of a binary column.\",\"help\":\"MAX_BINARY_LEN= *value*\",\"type\":\"value\",\"arguments\":[{\"name\":\"value\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the maximum length in bytes of a binary column. The value that you specify must be greater than 0.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1u4rwurslzrkcn0zkj422n1m15g\"}],\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_011\",\"docsetTargetFile\":\"p1c0itdiy0nyf1n1ew55zdbd3i6l.htm\"}},{\"name\":\"MAX_CHAR_LEN=\",\"description\":\"Specifies the maximum column width for results that are returned from an external database.\",\"help\":\"MAX_CHAR_LEN= *value*\",\"type\":\"value\",\"arguments\":[{\"name\":\"value\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the maximum column width for results that are returned by pass-through queries.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1e8juqdsqucmon13ds71ahkutsq\"}],\"supportSiteInformation\":{\"docsetId\":\"acnrdb\",\"docsetVersion\":\"v_002\",\"docsetTargetFile\":\"n1f7bhpwjp3qk8n16ys3hfmyvm4o.htm\"}},{\"name\":\"MAX_CONNECTS=\",\"followsArguments\":[\"SAPASE\"],\"description\":\"Specifies the maximum number of simultaneous connections that SAP ASE allows.\",\"help\":\"MAX_CONNECTS= *numeric-value*\",\"type\":\"value\",\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_011\",\"docsetTargetFile\":\"p0gelbkgv0lou9n1xhxveft4sbvw.htm\"}},{\"name\":\"MAX_STRING_SIZE=\",\"followsArguments\":[\"ORACLE\"],\"description\":\"Specifies whether to override string limits that are returned via Oracle.\",\"help\":\"MAX_STRING_SIZE= NONE | EXTENDED | STANDARD\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NONE\",\"description\":\"specifies that SAS/ACCESS uses the MAX_STRING_SIZE value that is returned when Oracle is queried.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1kujhsyqa9c7dn1bh057z7jxnl6\"},{\"name\":\"EXTENDED\",\"description\":\"specifies that SAS/ACCESS uses length limits for character values that correspond to those that Oracle uses when the MAX_STRING_SIZE parameter is set to EXTENDED.\",\"type\":\"choice\",\"arguments\":[{\"name\":\"EXTENDED\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"p04chi9wt5r5xun1cm4iz1p232ii\"},{\"name\":\"STANDARD\",\"description\":\"specifies that SAS/ACCESS uses length limits for character values that correspond to those that Oracle uses when the MAX_STRING_SIZE parameter is set to STANDARD.\",\"type\":\"choice\",\"arguments\":[{\"name\":\"STANDARD\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"n1uzxox78hd1awn17sq6v7o9wtz4\"}],\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_011\",\"docsetTargetFile\":\"n0gh1w4ecs3nlxn1oy5e3w2n4yb2.htm\"}},{\"name\":\"MAX_TABLE_JOINS\",\"aliases\":[\"MAX_TABLE_JOIN\",\"MAX_TABLES_JOIN\",\"MAX_TABLES_JOINS\"],\"description\":\"Indicates the number of tables that you can use in a left-outer join or an inner join in ABAP Open SQL.\",\"help\":\"MAX_TABLE_JOINS = *number*\",\"type\":\"value\",\"supportSiteInformation\":{\"docsetId\":\"accr3\",\"docsetVersion\":\"v_002\",\"docsetTargetFile\":\"p084cvolo24q1pn17av6zxnhj9i7.htm\"}},{\"name\":\"MEMORY_LIMIT=\",\"followsArguments\":[\"DUCKDB\"],\"description\":\"Specifies the memory limit for the DuckDB buffer manager.\",\"help\":\"MEMORY_LIMIT= '*value-and-units*'\",\"type\":\"value\",\"arguments\":[{\"name\":\"value-and-units\",\"placeholder\":true,\"description\":\"specifies the memory limit for the DuckDB buffer manager and the corresponding units, such as KB, MB, GB, and so on. Enclose the option value in single or double quotation marks.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1uz3txj315xzbn148remppbldqo\"}],\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_011\",\"docsetTargetFile\":\"n0gkvue39r4p0fn15atd7j49mxic.htm\"}},{\"name\":\"METAPATH=\",\"followsArguments\":[\"SPDE\"],\"description\":\"Specifies a list of paths in which to store overflow metadata (.mdf) component files for an SPD Engine data set.\",\"help\":\"METAPATH= (*'path1'* &lt;*'path2'* ...&gt;) \",\"type\":\"value\",\"arguments\":[{\"name\":\"'path'\",\"placeholder\":true,\"description\":\"is a complete pathname in single or double quotation marks within parentheses. Separate multiple arguments with spaces.\",\"help\":\"'*path*'  \",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1t9o3ky3xqk4qn10e20puipvogr\"}],\"supportSiteInformation\":{\"docsetId\":\"engspde\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p1cjwy0ly9lu3nn10tyhv33r82r8.htm\"}},{\"name\":\"MODE=\",\"followsArguments\":[\"BIGQUERY\",\"TERADATA\"],\"description\":\"Specifies the connection mode for Teradata or specifies the performance mode for Google BigQuery.\",\"help\":\"MODE= STANDARD | \\n                    PERFORMANCE\\\\nMODE= TERADATA | \\n                    ANSI\",\"type\":\"choice\",\"arguments\":[{\"name\":\"PERFORMANCE\",\"optional\":true,\"description\":\"specifies that you want to enable several performance-related options.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0fnodhepw69gtn13n1y5lxzdpkf\"},{\"name\":\"STANDARD\",\"optional\":true,\"description\":\"specifies that you want to use default values for performance-related options.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1x1shmivi6x49n10jnsb7or5l9i\"}],\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_011\",\"docsetTargetFile\":\"n0tfqr5qd1ryizn1hkohz7fs1g3k.htm\"}},{\"name\":\"MONGO\",\"description\":\"specifies the SAS/ACCESS engine name for the MongoDB interface.\",\"type\":\"standalone\"},{\"name\":\"MONGO_PLATFORM=\",\"description\":\"Specifies the type of database server to use for the MongoDB connection.\",\"help\":\"MONGO_PLATFORM= NATIVE | ATLAS\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ATLAS\",\"description\":\"specifies to connect to MongoDB services on MongoDB Atlas. MongoDB Atlas provides cloud-hosted MongoDB services on Amazon Web Services (AWS), Microsoft Azure, and Google Cloud.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n07fv97vpcdbvun12yqwbj9udzic\"},{\"name\":\"NATIVE\",\"description\":\"specifies to connect to a local MongoDB database server.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n08ya7ba0yfe3pn1cryyewijjm79\"}],\"supportSiteInformation\":{\"docsetId\":\"acnrdb\",\"docsetVersion\":\"v_002\",\"docsetTargetFile\":\"p1mgipokuspjtjn17391vo412kbc.htm\"}},{\"name\":\"MSHOST=\",\"description\":\"Indicates the host name of the message server, if you are using load balancing.\",\"help\":\"MSHOST= *message_server_host*\",\"type\":\"value\",\"supportSiteInformation\":{\"docsetId\":\"accr3\",\"docsetVersion\":\"v_002\",\"docsetTargetFile\":\"p0ncit7sjqbmdnn1e21e2o51grt1.htm\"}},{\"name\":\"MULTISTMT=\",\"followsArguments\":[\"TERADATA\"],\"description\":\"Specifies whether insert statements are sent to Teradata one at a time or in a group.\",\"help\":\"MULTISTMT= YES |   NO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YES\",\"optional\":true,\"description\":\"use TPT stream processing and use the maximum buffer size available for the Teradata Client TTU version and the Teradata DBS version that is being accessed.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0ac6p2j72cealn1ak2yznie5wx2\"},{\"name\":\"NO\",\"optional\":true,\"description\":\"send inserts to Teradata one row at a time.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0alkesw1bro88n1gvxvyi2n8b4l\"}],\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_011\",\"docsetTargetFile\":\"p085ydg1yuyi58n1sde03vyjgbnq.htm\"}},{\"name\":\"MULTI_DATASRC_OPT=\",\"description\":\"Used instead of the DBKEY= data set option to improve performance when you process a join between two data sources.\",\"help\":\"MULTI_DATASRC_OPT= NONE | IN_CLAUSE\",\"type\":\"choice\",\"supportSiteInformation\":{\"docsetId\":\"accr3\",\"docsetVersion\":\"v_002\",\"docsetTargetFile\":\"p0lyq2gc68geygn18wqu92nymp3h.htm\"}},{\"name\":\"MUTUAL_AUTH=\",\"description\":\"Specifies whether to enforce mutual authentication.\",\"help\":\"MUTUAL_AUTH= YES | NO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YES\",\"optional\":true,\"description\":\"Specifies that mutual authentication is enabled. This requires that both the SAS client and the Salesforce server must authenticate each other's identities using a mutual authentication certificate. To do this, you must set the path to your local certificate (CERT_PATH=) and a password (CERT_PASS).\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0z9ljn1f2q50qn13yhrpb7p3dvr\"},{\"name\":\"NO\",\"optional\":true,\"description\":\"Specifies that mutual authentication is disabled. By default, the Salesforce engine connects to port 4443 through a secured connection over HTTPS.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1v9ozizk26bb4n1tcei0u43mi07\"}],\"supportSiteInformation\":{\"docsetId\":\"acnrdb\",\"docsetVersion\":\"v_002\",\"docsetTargetFile\":\"p0avtc4wp1q6e3n1s3shodv2pa3w.htm\"}},{\"name\":\"MYSQL\",\"description\":\"specifies the SAS/ACCESS engine name for MySQL interface.\",\"type\":\"standalone\",\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_008\",\"docsetTargetFile\":\"n1lyg1d0crcejin1v7zaeteeniuu.htm\"}},{\"name\":\"NAMESPACE=\",\"aliases\":[\"NAME_SPACE\",\"NS\"],\"description\":\"Subsets a table list by namespace.\",\"help\":\"NAMESPACE=*name* \",\"type\":\"standalone\",\"supportSiteInformation\":{\"docsetId\":\"accr3\",\"docsetVersion\":\"v_002\",\"docsetTargetFile\":\"n1orw6t4q9ky5yn1l9abzbl1z8tu.htm\"}},{\"name\":\"NETCOMP=\",\"description\":\"Sends compressed data in a server network packet.\",\"help\":\"NETCOMP= NO | YES\",\"type\":\"choice\",\"supportSiteInformation\":{\"docsetId\":\"spdsug\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n0f32w14qq33f6n1te4cxknq9rt6.htm\"}},{\"name\":\"NETEZZA\",\"description\":\"specifies the SAS/ACCESS engine name for the Netezza interface.\",\"type\":\"standalone\",\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_008\",\"docsetTargetFile\":\"p0dgq9e0rwiqbjn1iq8al1glan5w.htm\"}},{\"name\":\"NEWPASSWORD=\",\"aliases\":[\"NEWPASSWD=\"],\"description\":\"Specifies a new password for an SPD Server user.\",\"help\":\"NEWPASSWORD= '*new-password*'\",\"type\":\"value\",\"supportSiteInformation\":{\"docsetId\":\"spdsug\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p0r9ggd1oa62fbn1wtrm85ju104r.htm\"}},{\"name\":\"NOPROMPT=\",\"followsArguments\":[\"DB2\",\"ODBC\",\"REDSHIFT\",\"SAPHANA\",\"SQLSERVER\",\"YBRICK\"],\"description\":\"Specifies connection options for your database.\",\"help\":\"NOPROMPT= &lt;'&gt;*connection-options*&lt;'&gt;\",\"type\":\"value\",\"arguments\":[{\"name\":\"connection-options\",\"placeholder\":true,\"description\":\"specifies connection options for your database. Separate multiple options with a semicolon. If you do not specify enough correct connection options, an error is returned. No window is displayed to help you complete the connection string.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p014lsp3zqfkaqn1ktmasl7zsesg\"}],\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_011\",\"docsetTargetFile\":\"n0njmaggfaf9p4n1keqr54lbaylr.htm\"}},{\"name\":\"NUMC_SAS_TYPE=\",\"aliases\":[\"NUMC\",\"NUMC_SASTYPE\",\"NUMC_TYPE\"],\"description\":\"Indicates the SAS type for ABAP type NUMC.\",\"help\":\"NUMC_SAS_TYPE= N | C | $\",\"type\":\"choice\",\"supportSiteInformation\":{\"docsetId\":\"accr3\",\"docsetVersion\":\"v_002\",\"docsetTargetFile\":\"n0tq794yabd0l1n10xbpctiwckgl.htm\"}},{\"name\":\"ODBC\",\"description\":\"specifies the SAS/ACCESS engine name for the ODBC interface.\",\"type\":\"standalone\",\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_008\",\"docsetTargetFile\":\"p0bu3zsz1a08ton1msxdx1jo45np.htm\"}},{\"name\":\"ODSCHARSET=\",\"followsArguments\":[\"XMLV2\",\"XML\"],\"description\":\"Specifies the character set to use for the output file\",\"help\":\"ODSCHARSET= *character-set*\",\"type\":\"value\",\"arguments\":[{\"name\":\"character-set\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the character set to use for the output file.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0qj2e8l7ayovhn1n7b1dvn5t9z8\"}],\"supportSiteInformation\":{\"docsetId\":\"engxml\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n1kp0s4tohp5z3n1rnwkfypn5gmj.htm\"}},{\"name\":\"ODSRECSEP=\",\"followsArguments\":[\"XML\"],\"description\":\"Controls the generation of a record separator that marks the end of a line in the output XML document.\",\"help\":\"ODSRECSEP= DEFAULT | NONE | YES\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DEFAULT\",\"optional\":true,\"description\":\"enables the XML engine to determine whether to generate a record separator based on the operating environment where you run the SAS job.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1jgsa5rda5xqwn1r9804o67ibz9\"},{\"name\":\"NONE\",\"optional\":true,\"description\":\"specifies to not generate a record separator.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0kenuex95mwkrn1cqixebclq1m2\"},{\"name\":\"YES\",\"optional\":true,\"description\":\"specifies to generate a record separator.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1izp1wd4yg3kxn1tdyx6cvjbpqq\"}],\"supportSiteInformation\":{\"docsetId\":\"engxml\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p04cnbu203xb6un13uvk8kvxv1cn.htm\"}},{\"name\":\"ODSTRANTAB=\",\"followsArguments\":[\"XMLV2\",\"XML\"],\"description\":\"Specifies the translation table to use for the output file.\",\"help\":\"ODSTRANTAB= *table-name*\",\"type\":\"dataSet\",\"arguments\":[{\"name\":\"table-name\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the translation table to use for the output file.\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"n1thwku9f22k6bn1lravthc9kf30\"}],\"supportSiteInformation\":{\"docsetId\":\"engxml\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p1tmjwts4qmwmfn1w9lgn17yvffa.htm\"}},{\"name\":\"ORACLE\",\"description\":\"specifies the SAS/ACCESS engine name for the Oracle interface.\",\"type\":\"standalone\",\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_008\",\"docsetTargetFile\":\"p1qft7bzdij79zn1bxh59mc3w8xj.htm\"}},{\"name\":\"ORAPW=\",\"followsArguments\":[\"ORACLE\"],\"aliases\":[\"PASSWORD=\"],\"description\":\"Specifies the password or access token to access a data source.\",\"help\":\"ORAPW= &lt;'&gt;*password*&lt;'&gt;\",\"type\":\"value\",\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_008\",\"docsetTargetFile\":\"n0mtrtroo9n75pn1oa992b2h2408.htm\"}},{\"name\":\"ORC\",\"description\":\"specifies the ORC LIBNAME engine.\",\"type\":\"standalone\"},{\"name\":\"OR_BINARY_DOUBLE\",\"followsArguments\":[\"ORACLE\"],\"description\":\"Specifies the default data type to use for numeric table columns.\",\"help\":\"OR_BINARY_DOUBLE                 = YES | \\n                    NO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YES\",\"optional\":true,\"description\":\"specifies BINARY_DOUBLE as the default.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p08dmnjc4qgoksn1xexjx4diquel\"},{\"name\":\"NO\",\"optional\":true,\"description\":\"specifies NUMBER as the default.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p04w43kt7ysw9cn11ks2glfa4em2\"}],\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_011\",\"docsetTargetFile\":\"n0wcjlk5k0zy4an11saq0ztugrj0.htm\"}},{\"name\":\"OR_ENABLE_INTERRUPT=\",\"followsArguments\":[\"ORACLE\"],\"description\":\"Allows interruption of any long-running SQL processes on the DBMS server.\",\"help\":\"OR_ENABLE_INTERRUPT= YES |   NO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YES\",\"optional\":true,\"description\":\"allows interruption of long-running SQL processes on the DBMS server.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1x3wvouqr9jj1n16mvc746nyjzr\"},{\"name\":\"NO\",\"optional\":true,\"description\":\"disables interruption of long-running SQL processes on the DBMS server.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0gp4nohv5wkxen1wv0c47ap493p\"}],\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_011\",\"docsetTargetFile\":\"n076nxe3ixrs04n1pe14kzzznoy1.htm\"}},{\"name\":\"OR_UPD_NOWHERE=\",\"followsArguments\":[\"ORACLE\"],\"aliases\":[\"ORACLE_73_OR_ABOVE=\"],\"description\":\"Specifies whether SAS uses an extra WHERE clause when updating rows with no locking.\",\"help\":\"OR_UPD_NOWHERE= YES |   NO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YES\",\"optional\":true,\"description\":\"specifies that SAS does not use an additional WHERE clause to determine whether each row has changed since it was read. Instead, SAS uses the SERIALIZABLE isolation level (available with Oracle7.3 and above) for update locking. If a row changes after the serializable transaction starts, the update on that row fails.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1k3jsd9up1bj1n1ie79od3otna4\"},{\"name\":\"NO\",\"optional\":true,\"description\":\"specifies that SAS uses an additional WHERE clause to determine whether each row has changed since it was read. If a row has changed since being read, the update fails.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p182fs2t6tywy9n1lv891fnyu2j0\"}],\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_011\",\"docsetTargetFile\":\"n0fz875jbm1ykdn18i58k1u2mfum.htm\"}},{\"name\":\"OWNER=\",\"followsArguments\":[\"GREENPLM\",\"SNOW\",\"SQLSVR\"],\"aliases\":[\"SCHEMA=\"],\"description\":\"Specifies the schema to use when accessing tables and views in a database.\",\"help\":\"OWNER= &lt;'&gt;*schema-name*&lt;'&gt;\",\"type\":\"value\",\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_008\",\"docsetTargetFile\":\"n14676yy6bhcjen18rxwswtajuuw.htm\"}},{\"name\":\"PACKETSIZE=\",\"followsArguments\":[\"SAPASE\"],\"description\":\"Allows specification of the packet size for SAP ASE to use.\",\"help\":\"PACKETSIZE= *numeric-value*\",\"type\":\"value\",\"arguments\":[{\"name\":\"numeric-value\",\"optional\":true,\"placeholder\":true,\"description\":\"any multiple of 512, up to the limit of the maximum network packet size value on your server.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1f5ar0vaj4sszn19jqvls6ah1yj\"}],\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_011\",\"docsetTargetFile\":\"p0lvsx1yqj1tgkn1m6ad8wu0as83.htm\"}},{\"name\":\"PARMDEFAULT=\",\"followsArguments\":[\"SAPHANA\"],\"aliases\":[\"USE_PARAMETER_DEFAULT\"],\"description\":\"Specifies whether the SAP HANA engine uses the defaults for variables and parameters that are specified in the metadata in SAP HANA.\",\"help\":\"PARMDEFAULT= YES | NO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YES\",\"optional\":true,\"description\":\"specifies to look up metadata for variables and parameters. This enables you to apply defaults for variables in a WHERE clause, and defaults for input parameters using the PLACEHOLDER syntax.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n13enuykffuskvn1mgt9zscimzol\"},{\"name\":\"NO\",\"optional\":true,\"description\":\"specifies to not look up metadata for variables and parameters.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0mkr39w73l8gen10k5kd6n54du6\"}],\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_011\",\"docsetTargetFile\":\"n01mnkgpgunxmrn1cmk23ou3ye37.htm\"}},{\"name\":\"PARMSTRING=\",\"followsArguments\":[\"SAPHANA\"],\"aliases\":[\"PARAMETERS\"],\"description\":\"Specifies a quoted string of variable name and value pairs separated by a comma, or a placeholder string.\",\"help\":\"PARMSTRING= <\\\"variable-name1=variable-value1,variable-name2=variable-value2, ...\\\">\\n\\n\\t< \\\"'PLACEHOLDER' = ('variable-name1', 'variable-value1'),< 'PLACEHOLDER'=\\n\\t\\t ('variable-name2', 'variable-value2'),> ...\\\">\",\"type\":\"standaloneOrValue\",\"arguments\":[{\"name\":\"\\\"variable-name1=\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the variable name and value pair. More than one pair can be specified and must be separated by a comma.\",\"help\":\"\\\"*variable-name1*=*variable-value1*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0hg225oiaauipn16ce8fodkawq5\"},{\"name\":\"\\\"'PLACEHOLDER'\",\"optional\":true,\"description\":\"specifies the variable name and value pair as a placeholder.\",\"help\":\" \\\"'PLACEHOLDER' = ('*variable-name1*', '*variable-value1*')\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0c9iolehz7ey4n1f5fclb6612ko\"}],\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_011\",\"docsetTargetFile\":\"n0kledc3ehm9c0n1l5zhgqlrbnqp.htm\"}},{\"name\":\"PARQUET\",\"description\":\"specifies the Parquet LIBNAME engine.\",\"type\":\"standalone\"},{\"name\":\"PARTSIZE=\",\"followsArguments\":[\"SPDE\"],\"description\":\"Specifies the maximum size (in megabytes, gigabytes, or terabytes) that the data component partitions can be. The value is specified when an SPD Engine data set is created. This size is a fixed size. This specification applies only to the data component files.\",\"help\":\"PARTSIZE= *n* | *n*M | *n*G | *n*T\",\"type\":\"choice\",\"arguments\":[{\"name\":\"n\",\"placeholder\":true,\"description\":\"is the size of the partition in megabytes, gigabytes, or terabytes. If n is specified without M, G, or T, the default is megabytes. PARTSIZE=128 is the same as PARTSIZE=128M. The maximum value is 8,796,093,022,207 megabytes.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0oq754pt123pbn171grxfb26dcr\"},{\"name\":\"M\",\"description\":\"is the size of the partition in megabytes, gigabytes, or terabytes. If n is specified without M, G, or T, the default is megabytes. PARTSIZE=128 is the same as PARTSIZE=128M. The maximum value is 8,796,093,022,207 megabytes.\",\"help\":\"*n*M\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0oq754pt123pbn171grxfb26dcr\"},{\"name\":\"G\",\"description\":\"is the size of the partition in megabytes, gigabytes, or terabytes. If n is specified without M, G, or T, the default is megabytes. PARTSIZE=128 is the same as PARTSIZE=128M. The maximum value is 8,796,093,022,207 megabytes.\",\"help\":\"*n*G\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0oq754pt123pbn171grxfb26dcr\"},{\"name\":\"T\",\"description\":\"is the size of the partition in megabytes, gigabytes, or terabytes. If n is specified without M, G, or T, the default is megabytes. PARTSIZE=128 is the same as PARTSIZE=128M. The maximum value is 8,796,093,022,207 megabytes.\",\"help\":\"*n*T\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0oq754pt123pbn171grxfb26dcr\"}],\"supportSiteInformation\":{\"docsetId\":\"engspde\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n04g21by7534k9n1u3ml5jregnpn.htm\"}},{\"name\":\"PASS=\",\"followsArguments\":[\"GREENPLM\",\"HADOOP\",\"IMPALA\",\"NETEZZA\",\"ORACLE\",\"POSTGRES\",\"REDSHIFT\",\"SAPASE\",\"SAPIQ\",\"SNOW\",\"SPARK\",\"YBRICK\"],\"aliases\":[\"PASSWORD=\",\"PW=\"],\"description\":\"Specifies the password or access token to access a data source.\",\"help\":\"PASS= &lt;'&gt;*password*&lt;'&gt;\",\"type\":\"value\",\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_008\",\"docsetTargetFile\":\"n0mtrtroo9n75pn1oa992b2h2408.htm\"}},{\"name\":\"PASSWORD=\",\"aliases\":[\"PASS=\",\"PASSWD=\",\"PW=\",\"PWD=\"],\"description\":\"Indicates the SAP logon parameter password.\",\"help\":\"PASSWORD= *password*\",\"type\":\"value\",\"supportSiteInformation\":{\"docsetId\":\"accr3\",\"docsetVersion\":\"v_002\",\"docsetTargetFile\":\"p02zc57lxol12bn1w7fbjwi0khud.htm\"}},{\"name\":\"PATH=\",\"followsArguments\":[\"ORACLE\"],\"description\":\"Specifies the Oracle driver, node, and database.\",\"help\":\"PATH= &lt;'&gt;*Oracle-database-specification*&lt;'&gt;\",\"type\":\"value\",\"arguments\":[{\"name\":\"Oracle-database-specification\",\"placeholder\":true,\"description\":\"specifies the Oracle driver, node, and database. Aliases are required if you are using SQL*Net Version 2.0 or later. In some operating environments, you can enter the information that is required by the PATH= statement before invoking SAS.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0ds564rf4dydpn1hxg5umn5xb2s\"}],\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_011\",\"docsetTargetFile\":\"p0myztq82vivhhn1j1kdpb7lfifj.htm\"}},{\"name\":\"PCFILES\",\"description\":\"is the LIBNAME engine running on Linux to read and write Microsoft Excel and Microsoft Access files on the SAS PC Files Server.\",\"type\":\"standalone\",\"supportSiteInformation\":{\"docsetId\":\"syntaxex2\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p01a07pt3vnk99n157sxnaqdlcum.htm\"}},{\"name\":\"PLATFORM=\",\"followsArguments\":[\"SPARK\"],\"description\":\"Specifies the target platform.\",\"help\":\"PLATFORM= SPARK | DATABRICKS\",\"type\":\"choice\",\"arguments\":[{\"name\":\"SPARK\",\"description\":\"specifies the target platform is a Spark SQL data source.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n082npx51uapfrn1vfidfnqkabmj\"},{\"name\":\"DATABRICKS\",\"description\":\"specifies the target platform is Databricks.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1cmhzhk10pgwvn119pucbis1cxu\"}],\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_011\",\"docsetTargetFile\":\"p0ii8joisn84gin1ughiiogdaxmp.htm\"}},{\"name\":\"PORT=\",\"followsArguments\":[\"GREENPLM\",\"HADOOP\",\"IMPALA\",\"INFORMIX\",\"MYSQL\",\"NETEZZA\",\"POSTGRES\",\"REDSHIFT\",\"SAPHANA\",\"SAPIQ\",\"SSTORE\",\"SNOW\",\"SPARK\",\"VERTICA\",\"YBRICK\"],\"description\":\"Specifies the port number that is used to connect to the data source.\",\"help\":\"PORT= *port-number*\",\"type\":\"value\",\"arguments\":[{\"name\":\"port-number\",\"placeholder\":true,\"description\":\"specifies the port number that is used to connect to the data source.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0xfg1rd662y2hn153n94fzx44cq\"}],\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_011\",\"docsetTargetFile\":\"p04f7w331i63zbn17gustnhghkn2.htm\"}},{\"name\":\"POSTGRES\",\"description\":\"specifies the SAS/ACCESS engine name for the PostgreSQL interface.\",\"type\":\"standalone\",\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_008\",\"docsetTargetFile\":\"p0nc2tikruabp6n1008nkdf0buee.htm\"}},{\"name\":\"POST_DML_STMT_OPTS=\",\"followsArguments\":[\"ORACLE\"],\"description\":\"Specifies text to append to an INSERT, UPDATE, or DELETE statement.\",\"help\":\"POST_DML_STMT_OPTS= *value*\",\"type\":\"value\",\"arguments\":[{\"name\":\"value\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies text to append to an UPDATE, INSERT, or DELETE statement. SAS/ACCESS does not verify the validity of the text that you provide.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0c4n4nvve41zdn1hf4sdjsa3wtf\"}],\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_011\",\"docsetTargetFile\":\"n0sfbwbbfscrvkn19zbdwfqhb90x.htm\"}},{\"name\":\"POST_STMT_OPTS=\",\"followsArguments\":[\"DB2\",\"GREENPLM\",\"HADOOP\",\"IMPALA\",\"INFORMIX\",\"JDBC\",\"NETEZZA\",\"ORACLE\",\"POSTGRES\",\"REDSHIFT\",\"SAPASE\",\"SAPIQ\",\"SNOW\",\"SPARK\",\"SQLSVR\",\"TERADATA\",\"VERTICA\",\"YBRICK\"],\"aliases\":[\"DBCREATE_TABLE_OPTS=\"],\"description\":\"Allows additional database-specific options to be placed after the CREATE TABLE statement in generated SQL code.\",\"help\":\"POST_STMT_OPTS= '*DBMS-SQL-options*'\",\"type\":\"value\",\"arguments\":[{\"name\":\"DBMS-SQL-option\",\"description\":\"specifies database-specific options to be placed after the CREATE TABLE statement. Enclose the options that you specify within single or double quotation marks.\",\"help\":\"DBMS-SQL-option(s)\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0o53h65r8lzpxn167suujta2zvv\"}],\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_011\",\"docsetTargetFile\":\"n0lf1zadbtv6yqn193vsy1r1rl0j.htm\"}},{\"name\":\"PREFETCH=\",\"description\":\"Specifies the number of cached rowsets to be used by client and server prefetching.\",\"help\":\"PREFETCH= 0  | OFF | FALSE | NO | 1 | ON | TRUE | YES | *unsigned-integer*\",\"type\":\"choice\",\"supportSiteInformation\":{\"docsetId\":\"dataagenteng\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"p15qvut86f8p5dn18wiiusbrey2k.htm\"}},{\"name\":\"PREFETCHBYTES=\",\"description\":\"Modifies the size of the cached rowsets used in prefetching.\",\"help\":\"PREFETCHBYTES= &lt;*unsigned-integer*&gt;\",\"type\":\"standaloneOrValue\",\"supportSiteInformation\":{\"docsetId\":\"dataagenteng\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"p0v62c1ycde0o3n16z7hcx1rzg3j.htm\"}},{\"name\":\"PREFETCHROWS=\",\"description\":\"Modifies the number of rows in the cached rowsets used in prefetching.\",\"help\":\"PREFETCHROWS= &lt;*unsigned-integer*&gt;\",\"type\":\"standaloneOrValue\",\"supportSiteInformation\":{\"docsetId\":\"dataagenteng\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"n1f1lufy1i44man1jje10or174ut.htm\"}},{\"name\":\"PREFIXATTRIBUTES=\",\"followsArguments\":[\"XMLV2\"],\"description\":\"Specifies whether the element name is concatenated to the attribute name when generating each XMLMap COLUMN element, which defines the SAS variable name.\",\"help\":\"PREFIXATTRIBUTES= YES | NO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YES\",\"optional\":true,\"description\":\"specifies that the element name is attached to the resulting SAS variable name.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1548uf6se8yenn1o1alr3xskscm\"},{\"name\":\"NO\",\"optional\":true,\"description\":\"specifies that the element name is not attached to the resulting SAS variable name.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1299o55waabvrn1exeoidypsyjj\"}],\"supportSiteInformation\":{\"docsetId\":\"engxml\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n13evv3zhk8xakn18pk0bwcycrs7.htm\"}},{\"name\":\"PRESERVE_COL_NAMES=\",\"followsArguments\":[\"DB2\",\"DUCKDB\",\"GREENPLM\",\"HADOOP\",\"IMPALA\",\"INFORMIX\",\"JDBC\",\"MYSQL\",\"NETEZZA\",\"ODBC\",\"ORACLE\",\"POSTGRES\",\"REDSHIFT\",\"SAPHANA\",\"SAPIQ\",\"SNOW\",\"SPARK\",\"SQLSVR\",\"SSTORE\",\"TERADATA\",\"VERTICA\",\"YBRICK\"],\"description\":\"Specifies whether to preserve spaces, special characters, and case sensitivity in DBMS column names when you create DBMS tables.\",\"help\":\"PRESERVE_COL_NAMES= YES | NO  \",\"type\":\"choice\",\"arguments\":[{\"name\":\"YES\",\"optional\":true,\"description\":\"specifies that column names that are used in table creation are passed to the DBMS with special characters and the exact, case-sensitive spelling of the name is preserved.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1dh6dsdq1dgz5n1ehol8dsdtduc\"},{\"name\":\"NO\",\"optional\":true,\"description\":\"specifies that column names that are used to create DBMS tables are derived from SAS variable names (VALIDVARNAME= system option) by using the SAS variable name normalization rules. However, the database applies its DBMS-specific normalization rules to the SAS variable names when creating the DBMS column names.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0orom0smgnn3bn1ss4477xniamo\"}],\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_011\",\"docsetTargetFile\":\"n157w3xk676z9on1t43ktv3lhl7h.htm\"}},{\"name\":\"PRESERVE_COMMENTS=\",\"followsArguments\":[\"DB2\",\"ODBC\",\"ORACLE\",\"SQLSVR\",\"VERTICA\"],\"description\":\"Specifies whether comments should be kept and passed down to your data source for processing.\",\"help\":\"PRESERVE_COMMENTS= YES | NO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YESNO\",\"description\":\"specifies whether comments should be passed down to your data source.\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YES\",\"type\":\"standalone\"},{\"name\":\"NO\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"n13qj4v1ogvnjvn1bc94osb1g0jx\"}],\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_011\",\"docsetTargetFile\":\"p10zn4vxk9kydhn1uqmvflt51puq.htm\"}},{\"name\":\"PRESERVE_GUID=\",\"followsArguments\":[\"ODBC\",\"SQLSVR\"],\"description\":\"Preserves the Microsoft SQL Server GUID (Unique Identifier).\",\"help\":\"PRESERVE_GUID= YES | NO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YES\",\"description\":\"removes the braces from around the GUID.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n00vhrtmddga0un17sc5gtp6ed1s\"},{\"name\":\"NO\",\"description\":\"retains the braces that are around the GUID.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1aerjsd0jesyzn1l9bth0dw22uu\"}],\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_011\",\"docsetTargetFile\":\"p05mz2i1nq3om7n1txtyfckn0w2i.htm\"}},{\"name\":\"PRESERVE_NAMES=\",\"followsArguments\":[\"DB2\",\"DUCKDB\",\"GREENPLM\",\"HADOOP\",\"IMPALA\",\"INFORMIX\",\"JDBC\",\"MYSQL\",\"NETEZZA\",\"ODBC\",\"ORACLE\",\"POSTGRES\",\"REDSHIFT\",\"SAPHANA\",\"SAPIQ\",\"SNOW\",\"SPARK\",\"SQLSVR\",\"SSTORE\",\"TERADATA\",\"VERTICA\",\"YBRICK\"],\"description\":\"Specifies whether to preserve spaces, special characters, and case sensitivity in DBMS column names and table names.\",\"help\":\"PRESERVE_NAMES= YES | NO  \",\"type\":\"choice\",\"arguments\":[{\"name\":\"YES\",\"optional\":true,\"description\":\"specifies that column names and table names are preserved, according to the rules for PRESERVE_COL_NAMES=YES and PRESERVE_TAB_NAMES=YES.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0tthbapsperlnn1i9sh1a3ccyky\"},{\"name\":\"NO\",\"optional\":true,\"description\":\"specifies that column names and table names are not preserved, according to the rules for PRESERVE_COL_NAMES=NO and PRESERVE_TAB_NAMES=NO.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1tpfodrwan5kbn1g7fw5a5ko2gg\"}],\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_011\",\"docsetTargetFile\":\"p1bcoy9xe4sno3n1nozawzzdt3ft.htm\"}},{\"name\":\"PRESERVE_TAB_NAMES=\",\"followsArguments\":[\"DB2\",\"DUCKDB\",\"GREENPLM\",\"HADOOP\",\"IMPALA\",\"INFORMIX\",\"JDBC\",\"MYSQL\",\"NETEZZA\",\"ODBC\",\"ORACLE\",\"POSTGRES\",\"REDSHIFT\",\"SAPHANA\",\"SAPIQ\",\"SNOW\",\"SPARK\",\"SQLSVR\",\"SSTORE\",\"TERADATA\",\"VERTICA\",\"YBRICK\"],\"description\":\"Specifies whether to preserve spaces, special characters, and case sensitivity in DBMS table names.\",\"help\":\"PRESERVE_TAB_NAMES= YES |   NO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YES\",\"optional\":true,\"description\":\"specifies that table names are read from and passed to the DBMS with special characters, and the exact, case-sensitive spelling of the name is preserved.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1kfc1hy8oou13n0zjh087c04ecv\"},{\"name\":\"NO\",\"optional\":true,\"description\":\"specifies that when you create DBMS tables or refer to an existing table, the table names are derived from SAS member names by using SAS member name normalization. However, the database applies DBMS-specific normalization rules to the SAS member names. Therefore, the table names are created or referenced in the database following the DBMS-specific normalization rules.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p070b4tltxll13n11yml3cc492z1\"}],\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_011\",\"docsetTargetFile\":\"n1qsjn9a18pja2n1gdctb7mc1ik8.htm\"}},{\"name\":\"PRESERVE_USER=\",\"followsArguments\":[\"DB2\",\"NETEZZA\",\"ODBC\"],\"description\":\"Preserves the case of the value in the USER= connection option.\",\"help\":\"PRESERVE_USER= YES |   NO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YES\",\"description\":\"specifies that SAS/ACCESS preserves the case of the value for the USER= option.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n00s91a2yyi6fxn1luw2yx8570v6\"},{\"name\":\"NO\",\"description\":\"specifies that SAS/ACCESS changes the value for the USER= option to uppercase for use in later connections.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1cc7sgur7h2enn1mjohvp2ekdr0\"}],\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_011\",\"docsetTargetFile\":\"p1jzzlfg0b2abdn1buku8l08a3ml.htm\"}},{\"name\":\"PROC_DATASETS_TAGFILTER=\",\"description\":\"Specifies a character string, which can include the wildcard characters ‘*’ and ‘?’, that is used to limit the output from the DATASETS procedure.\",\"help\":\"PROC_DATASETS_TAGFILTER= \\\"*filter-string*\\\"\",\"type\":\"value\",\"arguments\":[{\"name\":\"filter-string\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies a character string that is used to limit the output from the DATASETS procedure. The character string can contain these wildcard characters:\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1u5dgy1vc2iihn1s8qlsxwzkneq\"}],\"supportSiteInformation\":{\"docsetId\":\"acnrdb\",\"docsetVersion\":\"v_002\",\"docsetTargetFile\":\"p0cjm4s53xh7j1n1uj2vxq5acz20.htm\"}},{\"name\":\"PROGRAM_NAME=\",\"followsArguments\":[\"DB2\"],\"aliases\":[\"CORRELATION_ID\"],\"description\":\"Specifies the string to use as the application identifier for DB2 monitoring.\",\"help\":\"PROGRAM_NAME= '*user-defined-string*'\",\"type\":\"value\",\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_011\",\"docsetTargetFile\":\"p1jfvpu71yfxpvn1qvsocyqcmhxi.htm\"}},{\"name\":\"PROJECT=\",\"followsArguments\":[\"BIGQUERY\"],\"description\":\"Specifies the project ID for a Google Cloud Platform project.\",\"help\":\"PROJECT= '*project-ID*'\",\"type\":\"value\",\"arguments\":[{\"name\":\"project-ID\",\"placeholder\":true,\"description\":\"specifies the project ID for a Google Cloud Platform project.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1t34t20jnzbovn1k35x97qdxiqr\"}],\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_011\",\"docsetTargetFile\":\"n104aw25tg7iqdn1wcjb0tb29n8x.htm\"}},{\"name\":\"PROJECT_LIST=\",\"followsArguments\":[\"BIGQUERY\"],\"description\":\"Specifies a list of projects to access on Google Cloud Platform.\",\"help\":\"PROJECT_LIST= \\\"*project-ID-1*&lt;,*project-ID-2* ...&gt;\\\"\",\"type\":\"value\",\"arguments\":[{\"name\":\"project-ID\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies a list of Google Cloud Platform projects to access.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p09afodrhqwd98n1qanxnrcpwdpk\"}],\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_011\",\"docsetTargetFile\":\"n1cbyed2nscrctn1b1ryw41xrho0.htm\"}},{\"name\":\"PROMPT=\",\"description\":\"Specifies to prompt the SPD Server user for a password.\",\"help\":\"PROMPT= NO | YES\",\"type\":\"choice\",\"supportSiteInformation\":{\"docsetId\":\"spdsug\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n0b6vvy5db7xc2n1izazaa78trh0.htm\"}},{\"name\":\"PROPERTIES=\",\"followsArguments\":[\"HADOOP\",\"SPARK\"],\"description\":\"Specifies additional driver-specific JDBC connection properties that are added to the generated JDBC URL.\",\"help\":\"PROPERTIES= '*JDBC-connection-property-1*&lt;;*JDBC-connection-property-2* ...&gt;'\",\"type\":\"value\",\"arguments\":[{\"name\":\"JDBC-connection-property\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies one or more JDBC connection options.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n03dhuz25fsf6fn1vpcgsgr5eh47\"}],\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_011\",\"docsetTargetFile\":\"p0ly2onqqpbys8n1j9lra8qa6q20.htm\"}},{\"name\":\"PROXY=\",\"followsArguments\":[\"BIGQUERY\"],\"description\":\"Specifies the URL of a proxy server that is used to connect to Google BigQuery.\",\"help\":\"PROXY= \\\"*URL*\\\"\",\"type\":\"value\",\"arguments\":[{\"name\":\"URL\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the URL of the proxy server that is used to connect to Google BigQuery.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n01gsckcgufbhfn122l30gh0fixw\"}],\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_011\",\"docsetTargetFile\":\"p1oi61vho0l4jmn1jlqm8ryxunnx.htm\"}},{\"name\":\"PROXY_HOST=\",\"aliases\":[\"PROXY_SERVER=\",\"PROXYHOST=\",\"PROXYSERVER=\"],\"description\":\"Specifies the host name or IP address of a proxy server.\",\"help\":\"PROXY_HOST= \\\"*host-name*\\\";\",\"type\":\"value\",\"supportSiteInformation\":{\"docsetId\":\"acnrdb\",\"docsetVersion\":\"v_002\",\"docsetTargetFile\":\"p1na3vuiuoaaktn1ko83a3f889sl.htm\"}},{\"name\":\"PROXY_PASS=\",\"aliases\":[\"PROXYPASS=\"],\"description\":\"Specifies the password that is associated with PROXY_USER=.\",\"help\":\"PROXY_PASS= \\\"*password*\\\";\",\"type\":\"value\",\"supportSiteInformation\":{\"docsetId\":\"acnrdb\",\"docsetVersion\":\"v_002\",\"docsetTargetFile\":\"p0b9eoxln6trswn1xnceze0rps1p.htm\"}},{\"name\":\"PROXY_PORT=\",\"aliases\":[\"PROXYPORT=\"],\"description\":\"Specifies the port number of the proxy server.\",\"help\":\"PROXY_PORT= &lt;\\\"*port-number*\\\";&gt;\",\"type\":\"standaloneOrValue\",\"supportSiteInformation\":{\"docsetId\":\"acnrdb\",\"docsetVersion\":\"v_002\",\"docsetTargetFile\":\"p186949kld77bdn12eemcrnxicjk.htm\"}},{\"name\":\"PROXY_USER=\",\"aliases\":[\"PROXYUSER=\"],\"description\":\"Specifies the user ID that is used to access the proxy server.\",\"help\":\"PROXY_USER= &lt;\\\"*user-id*\\\";&gt;\",\"type\":\"standaloneOrValue\",\"supportSiteInformation\":{\"docsetId\":\"acnrdb\",\"docsetVersion\":\"v_002\",\"docsetTargetFile\":\"n0rnvcal4g7excn0zmuc4jc825f8.htm\"}},{\"name\":\"PWD=\",\"followsArguments\":[\"DB2\",\"GREENPLM\",\"HADOOP\",\"IMPALA\",\"INFORMIX\",\"JDBC\",\"NETEZZA\",\"ORACLE\",\"POSTGRES\",\"REDSHIFT\",\"SAPIQ\",\"SNOW\",\"SPARK\",\"SQLSERVER\",\"VERTICA\",\"YBRICK\"],\"aliases\":[\"PASSWORD=\"],\"description\":\"Specifies the password or access token to access a data source.\",\"help\":\"PWD= &lt;'&gt;*password*&lt;'&gt;\",\"type\":\"value\",\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_008\",\"docsetTargetFile\":\"n0mtrtroo9n75pn1oa992b2h2408.htm\"}},{\"name\":\"QUALIFIER=\",\"followsArguments\":[\"BIGQUERY\",\"JDBC\",\"MYSQL\",\"NETEZZA\",\"ODBC\",\"POSTGRES\",\"REDSHIFT\",\"SNOW\",\"SQLSVR\",\"VERTICA\",\"YBRICK\"],\"description\":\"Enables identification of tables and views with the specified qualifier.\",\"help\":\"QUALIFIER= &lt;'&gt;*qualifier-name*&lt;'&gt;\",\"type\":\"value\",\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_011\",\"docsetTargetFile\":\"p0x316293sxaoin1hy3jfleleub0.htm\"}},{\"name\":\"QUERY_BAND=\",\"followsArguments\":[\"TERADATA\"],\"description\":\"Specifies whether to set a query band for the current session.\",\"help\":\"QUERY_BAND= \\\"*pair-name=pair_value*;\\\"\",\"type\":\"value\",\"arguments\":[{\"name\":\"pair-name=\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies a name and value pair of a query band for the current session.\",\"help\":\"*pair-name=pair_value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1w4gglzdqevq5n1m4dtlq7cydvv\"}],\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_011\",\"docsetTargetFile\":\"n0p09ar7svz98en1evbfbivj6ac8.htm\"}},{\"name\":\"QUERY_TAG=\",\"followsArguments\":[\"SNOW\"],\"description\":\"Specifies an optional string that you can use to tag queries to your data source.\",\"help\":\"QUERY_TAG= \\\"*string*\\\"\",\"type\":\"value\",\"arguments\":[{\"name\":\"string\",\"placeholder\":true,\"description\":\"specifies an optional string that you can use to tag queries to your data source. The string can be up to 2,000 characters.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n127q5d9hr74gwn1jcy68hw8d66u\"}],\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_011\",\"docsetTargetFile\":\"n1wz1fxdrd4jc5n1v581dc5wbw8n.htm\"}},{\"name\":\"QUERY_TIMEOUT=\",\"followsArguments\":[\"DB2\",\"GREENPLM\",\"HADOOP\",\"IMPALA\",\"JDBC\",\"NETEZZA\",\"ODBC\",\"POSTGRES\",\"REDSHIFT\",\"SAPIQ\",\"SNOW\",\"SQLSVR\",\"SPARK\",\"VERTICA\",\"YBRICK\"],\"description\":\"Specifies the number of seconds of inactivity to wait before canceling a query.\",\"help\":\"QUERY_TIMEOUT= *number-of-seconds*\",\"type\":\"value\",\"arguments\":[{\"name\":\"number-of-seconds\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies a positive integer for the number of seconds to wait before canceling the query. The default value of 0 indicates that there is no time limit for a query. This option is useful when you are testing a query or if you suspect that a query might contain an endless loop.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n08wkq2tuo76een1ej6z6uimgpf0\"}],\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_011\",\"docsetTargetFile\":\"p02d9s4ku813k0n1e23dqyk1bmi8.htm\"}},{\"name\":\"QUOTED_IDENTIFIER=\",\"followsArguments\":[\"SAPASE\"],\"description\":\"Allows specification of table and column names with embedded spaces and special characters.\",\"help\":\"QUOTED_IDENTIFIER= YES | NO\",\"type\":\"choice\",\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_011\",\"docsetTargetFile\":\"p0a4i2motcfnpdn1w74je7imz8yq.htm\"}},{\"name\":\"QUOTE_CHAR=\",\"description\":\"Specifies which quotation mark character to use when delimiting identifiers.\",\"help\":\"QUOTE_CHAR= \\\"*character*\\\"\",\"type\":\"value\",\"arguments\":[{\"name\":\"character\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the quotation mark character to use when delimiting identifiers, such as the double quotation mark (\\\").\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0bdg7s8et8i3un14eirka884r67\"}],\"supportSiteInformation\":{\"docsetId\":\"acnrdb\",\"docsetVersion\":\"v_002\",\"docsetTargetFile\":\"n08kx5lws20hlin1uqtzct6kgak5.htm\"}},{\"name\":\"R3\",\"description\":\"explicitly specifies the R/3 library engine.\",\"type\":\"standalone\"},{\"name\":\"R3NAME=\",\"description\":\"Indicates the name of the R/3 system.\",\"help\":\"R3NAME= *system_name*\",\"type\":\"value\",\"supportSiteInformation\":{\"docsetId\":\"accr3\",\"docsetVersion\":\"v_002\",\"docsetTargetFile\":\"p1x2czwc4me6tnn17y4epz4g6ubp.htm\"}},{\"name\":\"READBUFF=\",\"followsArguments\":[\"BIGQUERY\",\"DB2\",\"GREENPLM\",\"HADOOP\",\"IMPALA\",\"INFORMIX\",\"JDBC\",\"NETEZZA\",\"ODBC\",\"ORACLE\",\"POSTGRES\",\"REDSHIFT\",\"SAPASE\",\"SAPHANA\",\"SAPIQ\",\"SNOW\",\"SPARK\",\"SQLSVR\",\"VERTICA\",\"YBRICK\"],\"aliases\":[\"BUFF=\"],\"description\":\"Specifies the number of rows of DBMS data to read into the buffer.\",\"help\":\"READBUFF= *integer*\",\"type\":\"value\",\"arguments\":[{\"name\":\"integer\",\"optional\":true,\"placeholder\":true,\"description\":\"the positive number of rows to hold in memory. SAS allows the maximum number that the DBMS allows.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0hc8aj25dmjiin1qnbt0pxafhtj\"}],\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_011\",\"docsetTargetFile\":\"p0u61lysy7qgzmn1bd66tz1om1yx.htm\"}},{\"name\":\"READTRANSFERSIZE=\",\"aliases\":[\"RTS\"],\"description\":\"Specifies the maximum number of bytes that the CAS engine reads when transferring data from the CAS server.\",\"help\":\"READTRANSFERSIZE= *integer* | *integer*K | *integer*M | *integer*G\",\"type\":\"choice\",\"supportSiteInformation\":{\"docsetId\":\"casref\",\"docsetVersion\":\"v_004\",\"docsetTargetFile\":\"n1sq7yirwmpizyn1xcismwsaflye.htm\"}},{\"name\":\"READ_EXPOSURE_OK=\",\"followsArguments\":[\"ORACLE\"],\"aliases\":[\"REREAD_EXPOSURE=\"],\"description\":\"Specifies whether the SAS/ACCESS engine functions like a random access engine for the scope of the LIBNAME statement.\",\"help\":\"READ_EXPOSURE_OK= YES |  NO\",\"type\":\"choice\",\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_008\",\"docsetTargetFile\":\"p0o86qsbwrwhbkn1n9cympe85h8z.htm\"}},{\"name\":\"READ_ISOLATION_LEVEL=\",\"followsArguments\":[\"DB2\",\"GREENPLM\",\"INFORMIX\",\"ODBC\",\"ORACLE\",\"POSTGRES\",\"REDSHIFT\",\"SAPASE\",\"SAPIQ\",\"SQLSVR\",\"TERADATA\",\"VERTICA\",\"YBRICK\"],\"description\":\"Specifies the degree of isolation of the current application process from other concurrently running application processes.\",\"help\":\"READ_ISOLATION_LEVEL= *DBMS-specific values*\",\"type\":\"value\",\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_011\",\"docsetTargetFile\":\"p1odod748tuqzjn1wwce690kzbcd.htm\"}},{\"name\":\"READ_LOCK_TYPE=\",\"followsArguments\":[\"DB2\",\"GREENPLM\",\"ODBC\",\"ORACLE\",\"POSTGRES\",\"REDSHIFT\",\"SAPASE\",\"SAPHANA\",\"SAPIQ\",\"SQLSVR\",\"TERADATA\",\"VERTICA\"],\"aliases\":[\"READLOCK_TYPE=\"],\"description\":\"Specifies how data in a DBMS table is locked during a READ transaction.\",\"help\":\"READ_LOCK_TYPE= ROW | \\n                                        PAGE | \\n                                        TABLE | \\n                                        NOLOCK | \\n                                        VIEW\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ROW\",\"optional\":true,\"description\":\"locks a row if any of its columns are accessed. If you are using the interface to ODBC or DB2, READ_LOCK_TYPE=ROW indicates that locking is based on the READ_ISOLATION_LEVEL= LIBNAME option.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1rtdy6vwk6ptyn1ov5p45gttoq6\"},{\"name\":\"PAGE\",\"optional\":true,\"description\":\"locks a page of data, which is a DBMS-specific number of bytes.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0nfgbf698oytqn1iatks1dxjq7u\"},{\"name\":\"TABLE\",\"optional\":true,\"description\":\"locks the entire DBMS table. If you specify READ_LOCK_TYPE=TABLE, you must also specify CONNECTION=UNIQUE, or you receive an error message. Specifying CONNECTION=UNIQUE ensures that your table lock is not lost (for example, due to another table closing and committing rows in the same connection).\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0mum7quxpbakln1stj7twrr4flb\"},{\"name\":\"NOLOCK\",\"optional\":true,\"description\":\"does not lock the DBMS table, pages, or rows during a read transaction.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0u9747cxhacgxn1l50njp0vvms0\"},{\"name\":\"VIEW\",\"optional\":true,\"description\":\"locks the entire DBMS view.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p096wd2s2ysme0n1ok9idpgdligi\"}],\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_011\",\"docsetTargetFile\":\"n12ge9v2n10o8en1faad2z8zazg6.htm\"}},{\"name\":\"READ_METHOD=\",\"followsArguments\":[\"HADOOP\"],\"description\":\"Specifies how to read data.\",\"help\":\"READ_METHOD= JDBC | HDFS\",\"type\":\"choice\",\"arguments\":[{\"name\":\"JDBC\",\"optional\":true,\"description\":\"specifies that data is to be read through the JDBC connection to the Hive service. You can use the ANALYZE= option to potentially improve performance when querying small tables.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1b8w6ldazazfon17n2xi5c5pm3p\"},{\"name\":\"HDFS\",\"optional\":true,\"description\":\"specifies that data is to be read through a connection to the Hadoop HDFS service.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0kflw6v93zzeen1e5996chfuazx\"}],\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_011\",\"docsetTargetFile\":\"n1wovp3swlye3nn1xiio7nlkzw3c.htm\"}},{\"name\":\"READ_MODE=\",\"followsArguments\":[\"BIGQUERY\"],\"description\":\"Specifies the method to use to move data into SAS.\",\"help\":\"READ_MODE= STANDARD | STORAGE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"STANDARDSTORAGE\",\"description\":\"specifies the method to use when moving data from Google BigQuery into SAS.\",\"type\":\"choice\",\"arguments\":[{\"name\":\"STANDARD\",\"type\":\"standalone\"},{\"name\":\"STORAGE\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"n0jb4zxt1y0xvpn140jhb5rnaanx\"}],\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_011\",\"docsetTargetFile\":\"p10djagzdrf2tan12zvfaom4275g.htm\"}},{\"name\":\"READ_MODE_WAIT=\",\"followsArguments\":[\"TERADATA\"],\"description\":\"During SAS/ACCESS Read operations, specifies whether Teradata should wait to acquire a lock or fail the request when a different user has already locked the DBMS resource.\",\"help\":\"READ_MODE_WAIT= YES |   NO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YES\",\"optional\":true,\"description\":\"specifies for Teradata to wait to acquire the lock, so SAS/ACCESS waits indefinitely until it can acquire the lock.\",\"help\":\"YES \",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1wkxj4zyukc14n1kd5p35543etl\"},{\"name\":\"NO\",\"optional\":true,\"description\":\"specifies Teradata fails the lock request if the specified DBMS resource is locked.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n089u4xfgfp3vxn15v3s0h8ik47h\"}],\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_011\",\"docsetTargetFile\":\"n1pdybrbmzmog9n1jra1kvqz18jp.htm\"}},{\"name\":\"READ_ONLY=\",\"followsArguments\":[\"DUCKDB\",\"NETEZZA\"],\"description\":\"Specifies whether to connect to your database in Read-Only mode.\",\"help\":\"READ_ONLY= YES | NO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YES\",\"description\":\"specifies to connect to your database in Read-Only mode.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n102l4jaigxd1fn1p1kej3fkgpz1\"},{\"name\":\"NO\",\"description\":\"specifies to connect to your database in Read-Write mode.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1o1k2mda591idn13sqvwx9zxrmk\"}],\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_011\",\"docsetTargetFile\":\"n1u67y2vbjwt85n1786ek8ooa9z5.htm\"}},{\"name\":\"REDSHIFT\",\"description\":\"specifies the SAS/ACCESS engine name for the Amazon Redshift interface.\",\"type\":\"standalone\",\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_008\",\"docsetTargetFile\":\"n1imo2k26vbn6kn1luk0qjutgnma.htm\"}},{\"name\":\"REFRESH_TOKEN=\",\"followsArguments\":[\"BIGQUERY\"],\"description\":\"Specifies the refresh token value for the OAuth client that is used to connect to Google BigQuery using the OAuth authentication method.\",\"help\":\"REFRESH_TOKEN= *token-value*\",\"type\":\"value\",\"arguments\":[{\"name\":\"token-value\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the refresh token value for the OAuth client that is used to connect to Google BigQuery using the OAuth authentication method.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1grhf72ngamctn1043lkt05ayqw\"}],\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_011\",\"docsetTargetFile\":\"n1o0w3eyewwe7kn1d38jbaqoj9e2.htm\"}},{\"name\":\"REMOTE_DRIVER=\",\"description\":\"Specifies the remote driver to use for the SAS Federation Server connection.\",\"help\":\"REMOTE_DRIVER= REMFS | FSNET | IOM | FEDSVR | REMTS\",\"type\":\"choice\",\"supportSiteInformation\":{\"docsetId\":\"engfedsrv\",\"docsetVersion\":\"v_004\",\"docsetTargetFile\":\"n1k3zhy7gy78ban1vvesf7ls4hjj.htm\"}},{\"name\":\"REMOTE_DRIVER_OPTIONS=\",\"description\":\"Specifies remote driver options for connecting to Cloud Data Exchange for the SAS Viya platform.\",\"help\":\"REMOTE_DRIVER_OPTIONS= ”*connection-option1*&lt;; connection-option2&gt;”\",\"type\":\"value\",\"arguments\":[{\"name\":\"\\\"connection-option\",\"placeholder\":true,\"description\":\"one or more remote driver connection options, specified as option=value pairs and separated by a semicolon (;). For valid options, see .\",\"help\":\"\\\"*connection-option(s)*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1n4rkor1p6neln16cdiiet0cfnr\"}],\"supportSiteInformation\":{\"docsetId\":\"dataagenteng\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"n02rw8b68pumy0n1k7sltt4stth5.htm\"}},{\"name\":\"REPEMPTY=\",\"followsArguments\":[\"DUCKDB\"],\"description\":\"Specifies whether to replace a data set with an empty data set.\",\"help\":\"REPEMPTY= YES | NO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YESNO\",\"description\":\"specifies whether you can replace an existing data set with an empty data set.\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YES\",\"type\":\"standalone\"},{\"name\":\"NO\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"n0z3a30unjjzk4n14edmkhmc91c4\"}],\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_011\",\"docsetTargetFile\":\"p1j1cf81m64ls5n1ry4hjddjm62g.htm\"}},{\"name\":\"REREAD_EXPOSURE=\",\"description\":\"Specifies whether the SAS/ACCESS engine behaves like a random-access engine for the scope of the LIBNAME statement.\",\"help\":\"REREAD_EXPOSURE= NO | YES\",\"type\":\"choice\",\"supportSiteInformation\":{\"docsetId\":\"accr3\",\"docsetVersion\":\"v_002\",\"docsetTargetFile\":\"p1a91ajclxubnmn15ktvmwnwzxpp.htm\"}},{\"name\":\"RESULTS=\",\"followsArguments\":[\"MYSQL\",\"SSTORE\"],\"description\":\"Determines how result sets are retrieved from the server.\",\"help\":\"RESULTS= MEMORY |    SERVER \",\"type\":\"choice\",\"arguments\":[{\"name\":\"MEMORY\",\"optional\":true,\"description\":\"stores query results in client memory.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n08a8b1a8qsmybn1g1lcn0fbyzkd\"},{\"name\":\"SERVER\",\"optional\":true,\"description\":\"stores query results on the server.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n18eqkab3dyaijn1aq3rsj72zqld\"}],\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_011\",\"docsetTargetFile\":\"p1a8h59v273daon1mdxh1vh7dyqn.htm\"}},{\"name\":\"RFC_STRING=\",\"aliases\":[\"ADDITIONAL_RFC_OPTIONS\",\"RFCOPENEX\",\"RFCSTRING\",\"RFC_OPTIONS_EXT\"],\"description\":\"Indicates additional logon or connection parameters for the RfcOpenEx() call.\",\"help\":\"RFC_STRING= *additional_rfc_options*\",\"type\":\"value\",\"supportSiteInformation\":{\"docsetId\":\"accr3\",\"docsetVersion\":\"v_002\",\"docsetTargetFile\":\"n0d9ul6yibc3o5n16b9hjnxjdm66.htm\"}},{\"name\":\"RIL=\",\"followsArguments\":[\"GREENPLM\",\"SQLSVR\"],\"aliases\":[\"READ_ISOLATION_LEVEL=\"],\"description\":\"Specifies the degree of isolation of the current application process from other concurrently running application processes.\",\"help\":\"RIL= *DBMS-specific values*\",\"type\":\"value\",\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_008\",\"docsetTargetFile\":\"p1odod748tuqzjn1wwce690kzbcd.htm\"}},{\"name\":\"ROLE=\",\"followsArguments\":[\"SNOW\"],\"description\":\"Specifies the default Snowflake role to use for sessions that the driver initiated.\",\"help\":\"ROLE= &lt;'&gt;*Snowflake-role*&lt;'&gt;\",\"type\":\"value\",\"arguments\":[{\"name\":\"Snowflake-role\",\"placeholder\":true,\"description\":\"specifies the default Snowflake role to use for sessions that the driver initiated. The specified role should be one that has been assigned to the specified user. If the specified role does not match any roles that are assigned to the user, sessions that the driver initiated have no role initially. However, a role can always be specified from within the session.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n03mebd129rd6in18b3lqeydwst9\"}],\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_011\",\"docsetTargetFile\":\"p09yf6119vewr2n1bwwbhxsut4sb.htm\"}},{\"name\":\"ROWSET=\",\"followsArguments\":[\"GREENPLM\",\"INFORMIX\"],\"aliases\":[\"READBUFF=\"],\"description\":\"Specifies the number of rows of DBMS data to read into the buffer.\",\"help\":\"ROWSET= *integer*\",\"type\":\"value\",\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_008\",\"docsetTargetFile\":\"p0u61lysy7qgzmn1bd66tz1om1yx.htm\"}},{\"name\":\"ROWSET_SIZE=\",\"aliases\":[\"READBUFF=\"],\"description\":\"Specifies the number of rows of DBMS data to read into the buffer.\",\"help\":\"ROWSET_SIZE= *integer*\",\"type\":\"value\",\"arguments\":[{\"name\":\"integer\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the number of rows to hold in memory. SAS allows the maximum value that is supported by the DBMS.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p09qdrsqzhrclan11zpp1lxdqldb\"}],\"supportSiteInformation\":{\"docsetId\":\"acnrdb\",\"docsetVersion\":\"v_002\",\"docsetTargetFile\":\"n0hww9xzu7xc2sn1wmomgl1o2ziq.htm\"}},{\"name\":\"S3_ACCESS_KEY=\",\"followsArguments\":[\"DUCKDB\"],\"aliases\":[\"S3_KEY_ID=\",\"S3_KEY=\"],\"description\":\"Specifies your AWS access key.\",\"help\":\"S3_ACCESS_KEY= \\\"*access-key*\\\"\",\"type\":\"value\",\"arguments\":[{\"name\":\"access-key\",\"placeholder\":true,\"description\":\"specifies your Amazon Web Services access key that is used with key-based access control.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1ne4pz7a8bhqxn1p5mslddaivso\"}],\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_011\",\"docsetTargetFile\":\"n0sgo374yu2zppn1dqizmr9rr5be.htm\"}},{\"name\":\"S3_REGION=\",\"followsArguments\":[\"DUCKDB\"],\"description\":\"Specifies your AWS region.\",\"help\":\"S3_REGION= \\\"*region*\\\"\",\"type\":\"value\",\"arguments\":[{\"name\":\"region\",\"placeholder\":true,\"description\":\"specifies your Amazon Web Services region where your data is stored.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1mi13olvccpckn18iozyd2pmlt0\"}],\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_011\",\"docsetTargetFile\":\"n1owb5m1y5o8w2n1giykogteod78.htm\"}},{\"name\":\"S3_SECRET=\",\"followsArguments\":[\"DUCKDB\"],\"description\":\"Specifies your AWS secret access key or a temporary secret access key.\",\"help\":\"S3_SECRET= \\\"*secret-access-key*\\\"\",\"type\":\"value\",\"arguments\":[{\"name\":\"secret-access-key\",\"placeholder\":true,\"description\":\"specifies your Amazon Web Services secret access key or a temporary secret access key.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1amee8mnft33pn1a8fmrlixb6v7\"}],\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_011\",\"docsetTargetFile\":\"p034lw4eg1g287n1s6k4wlqq2b69.htm\"}},{\"name\":\"S3_TOKEN=\",\"followsArguments\":[\"DUCKDB\"],\"aliases\":[\"S3_SESSION_TOKEN=\"],\"description\":\"Specifies a temporary token for accessing AWS.\",\"help\":\"S3_TOKEN= \\\"*token*\\\"\",\"type\":\"value\",\"arguments\":[{\"name\":\"token\",\"placeholder\":true,\"description\":\"specifies a temporary token for accessing AWS.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p02c8vj11p7469n0zkpdnsyphx1d\"}],\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_011\",\"docsetTargetFile\":\"n1s73kcb9dju7vn1rmpyl1m5sgny.htm\"}},{\"name\":\"SAPASE\",\"description\":\"the SAS/ACCESS engine name for the SAP ASE interface.\",\"type\":\"standalone\",\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_008\",\"docsetTargetFile\":\"n0xcqueed8s23cn14mfq7wviiyll.htm\"}},{\"name\":\"SAPHANA\",\"description\":\"specifies the SAS/ACCESS engine name for the SAP HANA interface.\",\"type\":\"standalone\",\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_008\",\"docsetTargetFile\":\"p0w3mmv1vqy36bn0z85fawz8i7dq.htm\"}},{\"name\":\"SAPIQ\",\"description\":\"specifies the SAS/ACCESS engine name for the SAP IQ interface.\",\"type\":\"standalone\",\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_008\",\"docsetTargetFile\":\"p1oxejq5zek1mmn1lqks8ynszvi0.htm\"}},{\"name\":\"SASEDOC\",\"description\":\"specifies the engine that associates a SAS libref (library reference) with one or more ODS output objects that are stored in an ODS document.\",\"type\":\"standalone\"},{\"name\":\"SASESOCK\",\"description\":\"identifies the SASESOCK engine to process input to and output from a TCP/IP port instead of a physical disk device.\",\"type\":\"standalone\"},{\"name\":\"SAS_DBMS_AUTOMETADATA=\",\"followsArguments\":[\"TERADATA\"],\"description\":\"Specifies whether to transfer data types and character-set metadata from input to output for DATA step processing.\",\"help\":\"SAS_DBMS_AUTOMETADATA= YES | NO\",\"type\":\"choice\",\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_011\",\"docsetTargetFile\":\"p12a2yrfrh6gbqn14w1b31ogp73z.htm\"}},{\"name\":\"SCAN_LIMIT=\",\"description\":\"Specifies the number of documents to scan to define or update a schema.\",\"help\":\"SCAN_LIMIT= *value*\",\"type\":\"value\",\"arguments\":[{\"name\":\"value\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the number of documents to scan to define or update a schema. The most recent documents are scanned first.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n16b9xhxunrru3n1p0840liuasvt\"}],\"supportSiteInformation\":{\"docsetId\":\"acnrdb\",\"docsetVersion\":\"v_002\",\"docsetTargetFile\":\"p0kfb8fdbe9lk3n1349ivw0ubry3.htm\"}},{\"name\":\"SCHEMA=\",\"description\":\"Specifies the server domain name.\",\"help\":\"SCHEMA= \\\"*domain-name*\\\"\",\"type\":\"value\",\"supportSiteInformation\":{\"docsetId\":\"spdsug\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p1tofgu13wdlcan1gl7mavwhmx8y.htm\"}},{\"name\":\"SCHEMA_AUTH=\",\"description\":\"Specifies the authorization method that is used to access a MongoDB schema.\",\"help\":\"SCHEMA_AUTH= AUTO | KERBEROS | LDAP | PASSWORD\",\"type\":\"choice\",\"arguments\":[{\"name\":\"AUTO\",\"description\":\"specifies that SAS uses the default method of USER= and PWD= authentication to access a MongoDB schema.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0ny6tszeyxa5bn10khr0ix3qvot\"},{\"name\":\"KERBEROS\",\"aliases\":[\"GSSAPI\"],\"description\":\"specifies that Kerberos authentication is used to access MongoDB.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n03211ah3nvzjmn1b0iigc6lx6fq\"},{\"name\":\"LDAP\",\"description\":\"specifies that LDAP authentication is used to access a MongoDB schema.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0abkv8ze9nsi7n1qeyozumjchx3\"},{\"name\":\"PASSWORD\",\"description\":\"specifies that USER= and PWD= values are used to access a MongoDB schema.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p15c690ewscxwin1x7dhtkisbjbw\"}],\"supportSiteInformation\":{\"docsetId\":\"acnrdb\",\"docsetVersion\":\"v_002\",\"docsetTargetFile\":\"p1gtd79m4val2in1w6g0b5v1via8.htm\"}},{\"name\":\"SCHEMA_COLLECTION=\",\"description\":\"Specifies the MongoDB collection where the schema file is stored.\",\"help\":\"SCHEMA_COLLECTION= '*collection-name*'\",\"type\":\"value\",\"arguments\":[{\"name\":\"collection-name\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the MongoDB collection where the schema file is stored. If the schema file does not already exist, SAS/ACCESS scans the specified collection and stores the generated schema with the collection.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0c1h8yno1uoxnn1dgi2h802pdui\"}],\"supportSiteInformation\":{\"docsetId\":\"acnrdb\",\"docsetVersion\":\"v_002\",\"docsetTargetFile\":\"n1a60rkc62s16gn10s0qgf3z5e8h.htm\"}},{\"name\":\"SCHEMA_DB=\",\"description\":\"Specifies the MongoDB database where a schema is stored.\",\"help\":\"SCHEMA_DB= '*database-name*'\",\"type\":\"value\",\"arguments\":[{\"name\":\"database-name\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the MongoDB database where a schema file is stored.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0ijn7vd8nc51jn1nv8bz4566irx\"}],\"supportSiteInformation\":{\"docsetId\":\"acnrdb\",\"docsetVersion\":\"v_002\",\"docsetTargetFile\":\"n0ylsugf0loqwyn1we5hql90w741.htm\"}},{\"name\":\"SCHEMA_MONGO_PLATFORM=\",\"description\":\"Specifies the type of database server to use for the MongoDB schema mapping.\",\"help\":\"SCHEMA_MONGO_PLATFORM= ATLAS | NATIVE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ATLAS\",\"description\":\"specifies that the MongoDB schema is stored in MongoDB Atlas. MongoDB Atlas replicates the schema file on all configured database server nodes.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1t727c5qtpepxn1cj5mpzxaym28\"},{\"name\":\"NATIVE\",\"description\":\"specifies to store the MongoDB schema file on a local database server. In a MONGO_PLATFORM=ATLAS connection, there is no default server. Specify the location of the server by using the SCHEMA_DB=, SCHEMA_PORT=, and SCHEMA_SERVER= options.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p05q3x2bskx35on1879wla6e7xi1\"}],\"supportSiteInformation\":{\"docsetId\":\"acnrdb\",\"docsetVersion\":\"v_002\",\"docsetTargetFile\":\"n12ocmfkul7femn1k5ltdpsh7krw.htm\"}},{\"name\":\"SCHEMA_PASSWORD=\",\"aliases\":[\"SCHEMA_PWD=\"],\"description\":\"Specifies the password that corresponds to a schema.\",\"help\":\"SCHEMA_PASSWORD= '*string*'\",\"type\":\"value\",\"arguments\":[{\"name\":\"string\",\"placeholder\":true,\"description\":\"specifies the password that corresponds to a schema.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1b0lihcv5nlu7n1ichj1soy12zn\"}],\"supportSiteInformation\":{\"docsetId\":\"acnrdb\",\"docsetVersion\":\"v_002\",\"docsetTargetFile\":\"n0vwgv46lwnnf8n17bsy242gmd98.htm\"}},{\"name\":\"SCHEMA_PORT=\",\"description\":\"Specifies the port that corresponds to a schema.\",\"help\":\"SCHEMA_PORT= *value*\",\"type\":\"value\",\"arguments\":[{\"name\":\"value\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the port that corresponds to a schema.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1fog2xycjtrzin1dnflu6r4jikx\"}],\"supportSiteInformation\":{\"docsetId\":\"acnrdb\",\"docsetVersion\":\"v_002\",\"docsetTargetFile\":\"p0ucm699nbhxbbn1495ejomv4wwe.htm\"}},{\"name\":\"SCHEMA_SERVER=\",\"description\":\"Specifies the server name or IP address of the server that stores the schema mapping.\",\"help\":\"SCHEMA_SERVER= &lt;'&gt;*server-name*&lt;'&gt;\",\"type\":\"value\",\"arguments\":[{\"name\":\"server-name\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the server that stores the schema definition for a collection.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0yd3zf0q4wsuhn18tf1vdzlq97d\"}],\"supportSiteInformation\":{\"docsetId\":\"acnrdb\",\"docsetVersion\":\"v_002\",\"docsetTargetFile\":\"n1c43gw4ricjoun1fi2eigzolmd5.htm\"}},{\"name\":\"SCHEMA_SSL_CA=\",\"description\":\"Specifies the full path name to the certificate authority file for the MongoDB schema location.\",\"help\":\"SCHEMA_SSL_CA= \\\"*path-and-file-name*\\\"\",\"type\":\"value\",\"supportSiteInformation\":{\"docsetId\":\"acnrdb\",\"docsetVersion\":\"v_002\",\"docsetTargetFile\":\"n0z9qsqkv196zcn131nhshzfsr1t.htm\"}},{\"name\":\"SCHEMA_SSL_CERT=\",\"description\":\"Specifies the full path name to the certificate file for the MongoDB schema location.\",\"help\":\"SCHEMA_SSL_CERT= \\\"*path-name*\\\"\",\"type\":\"value\",\"supportSiteInformation\":{\"docsetId\":\"acnrdb\",\"docsetVersion\":\"v_002\",\"docsetTargetFile\":\"n0wbdnqyrorqbfn1qa9wl44ar16w.htm\"}},{\"name\":\"SCHEMA_TABLES=\",\"description\":\"Specifies whether to create tables that give details about a schema.\",\"help\":\"SCHEMA_TABLES= YES | NO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YESNO\",\"optional\":true,\"description\":\"specifies whether to create the schema detail tables.\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YES\",\"type\":\"standalone\"},{\"name\":\"NO\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"p1fdai2vhk62dvn1d1ldhfegji54\"}],\"supportSiteInformation\":{\"docsetId\":\"acnrdb\",\"docsetVersion\":\"v_002\",\"docsetTargetFile\":\"n19w18j8tpseupn0ze1jjvtx8dv1.htm\"}},{\"name\":\"SCHEMA_USER=\",\"aliases\":[\"SCHEMA_UID=\"],\"description\":\"Specifies the user ID that corresponds to a schema.\",\"help\":\"SCHEMA_USER= '*user-ID*'\",\"type\":\"value\",\"arguments\":[{\"name\":\"user-ID\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the user ID that corresponds to a schema.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1d8dl4xm3la4in1s6ldvmhrzpqf\"}],\"supportSiteInformation\":{\"docsetId\":\"acnrdb\",\"docsetVersion\":\"v_002\",\"docsetTargetFile\":\"p0bqwhdhl2jx3kn1ajvmpnr96mx0.htm\"}},{\"name\":\"SCRATCH_DB=\",\"followsArguments\":[\"HADOOP\",\"IMPALA\",\"SPARK\"],\"description\":\"Specifies a Hive schema so that SAS can store temporary output.\",\"help\":\"SCRATCH_DB= *schema-name*\",\"type\":\"value\",\"arguments\":[{\"name\":\"schema-name\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the name that is assigned to a logical classification of objects in a relational database.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1901x3u428stnn13w83z48wnzjb\"}],\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_011\",\"docsetTargetFile\":\"p1j8jftcrwtalzn1qkhqu59u5qx5.htm\"}},{\"name\":\"SERVER=\",\"description\":\"Specifies an SPD Server host machine by its host name and service name.\",\"help\":\"SERVER= *host-name.service-name*\",\"type\":\"value\",\"supportSiteInformation\":{\"docsetId\":\"spdsug\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p0fhvkww2plhopn1kyq1a78x4hlu.htm\"}},{\"name\":\"SERVERNODE=\",\"followsArguments\":[\"SAPHANA\"],\"aliases\":[\"SERVER=\"],\"description\":\"Specifies the server, host name, or IP address that is used to connect to the data source.\",\"help\":\"SERVERNODE= &lt;'&gt;*server-name*&lt;'&gt;\",\"type\":\"value\",\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_008\",\"docsetTargetFile\":\"n0ftewl6doujp9n1cdlp3j9g1fuj.htm\"}},{\"name\":\"SERVERPREFETCH=\",\"description\":\"Modifies the number of cached rowsets to be used in server-side prefetching.\",\"help\":\"SERVERPREFETCH= 0  | OFF | FALSE | NO | 1 | ON | TRUE | YES | *unsigned-integer*\",\"type\":\"choice\",\"supportSiteInformation\":{\"docsetId\":\"dataagenteng\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"p1rrxxxhg0ue6bn1lrm0lkq0b18v.htm\"}},{\"name\":\"SERVICE=\",\"aliases\":[\"SERV=\"],\"description\":\"Specifies the service name or port number for the SPD Server’s name server.\",\"help\":\"SERVICE= *service-name* | *port-number*\",\"type\":\"choice\",\"supportSiteInformation\":{\"docsetId\":\"spdsug\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n02332q6r00qcsn1h9yjuma0ym2o.htm\"}},{\"name\":\"SESSIONS=\",\"followsArguments\":[\"TERADATA\"],\"description\":\"Specifies how many Teradata sessions to be logged on when using FastLoad, FastExport, or Multiload.\",\"help\":\"SESSIONS= *number-of-sessions*\",\"type\":\"value\",\"arguments\":[{\"name\":\"number-of-sessions\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies a numeric value that indicates the number of sessions to be logged on.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0c0617fxf5nj3n1qztk4brzyczh\"}],\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_011\",\"docsetTargetFile\":\"p0zep6xofkzkx7n1lb8iylzq74ox.htm\"}},{\"name\":\"SESSREF=\",\"description\":\"Specifies the name of the CAS session to which you want to connect.\",\"help\":\"SESSREF= *session-name*\",\"type\":\"value\",\"supportSiteInformation\":{\"docsetId\":\"casref\",\"docsetVersion\":\"v_004\",\"docsetTargetFile\":\"n19o56t4pszyywn1dt7axyq2q3yd.htm\"}},{\"name\":\"SFORCE\",\"description\":\"specifies the SAS/ACCESS engine name for the Salesforce interface.\",\"type\":\"standalone\"},{\"name\":\"SHARE=\",\"description\":\"Enables enhanced sharing of user proxies.\",\"help\":\"SHARE= NO | YES\",\"type\":\"choice\",\"supportSiteInformation\":{\"docsetId\":\"spdsug\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p04vb53jt1sbkjn1ujj7ii1ktfvo.htm\"}},{\"name\":\"SHOWFLAGS=\",\"description\":\"Specifies whether the columns Questionable, Annotated, and Substituted display.\",\"help\":\"SHOWFLAGS= YES | NO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YES\",\"optional\":true,\"description\":\"displays the Questionable, Annotated, and Substituted columns.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1g4yicxvotqzun126lezln52yhf\"},{\"name\":\"NO\",\"optional\":true,\"description\":\"displays only the Tag, Timestamp, Value, and Status columns.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1fuqkmfir1vzen1c7er41mymy7w\"}],\"supportSiteInformation\":{\"docsetId\":\"acnrdb\",\"docsetVersion\":\"v_002\",\"docsetTargetFile\":\"n1bmetzvbf51snn1lcj46hbd3lfc.htm\"}},{\"name\":\"SHOW_METADATA=\",\"description\":\"Specifies whether to display metadata tables and columns.\",\"help\":\"SHOW_METADATA= YES | NO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YES\",\"optional\":true,\"description\":\"specifies that the SAS/ACCESS engine displays metadata tables and columns.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0wvpn9ixhyf1hn1ks5f4av9qm50\"},{\"name\":\"NO\",\"optional\":true,\"description\":\"specifies that SAS/ACCESS engine does not display metadata tables and columns.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1ca2nbtjldpinn1jbkjl6mhb1hr\"}],\"supportSiteInformation\":{\"docsetId\":\"acnrdb\",\"docsetVersion\":\"v_002\",\"docsetTargetFile\":\"n16nrew79ou4f3n1cf47sft0ku3v.htm\"}},{\"name\":\"SHOW_RECYCLED=\",\"aliases\":[\"SHOW_DELETED=\"],\"description\":\"Specifies whether to display deleted table rows in the recycle bin.\",\"help\":\"SHOW_RECYCLED= YES | NO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YES\",\"optional\":true,\"description\":\"specifies that recently deleted table rows are displayed in the recycle bin.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p03nd5c2tty6inn12zrru246381c\"},{\"name\":\"NO\",\"optional\":true,\"description\":\"specifies that recently deleted table rows are not displayed in the recycle bin.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0xbbsouw2fkx7n1gon6wm59hkbb\"}],\"supportSiteInformation\":{\"docsetId\":\"acnrdb\",\"docsetVersion\":\"v_002\",\"docsetTargetFile\":\"n12pb6cn6huiupn1oqcjvcol4ewf.htm\"}},{\"name\":\"SHOW_SYNONYMS=\",\"followsArguments\":[\"ORACLE\"],\"description\":\"Specifies whether synonyms only or tables, views, or materialized views are available through your LIBNAME connection.\",\"help\":\"SHOW_SYNONYMS= YES |   NO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YES\",\"optional\":true,\"description\":\"specifies that only synonyms that represent tables, views, or materialized views are available through a LIBNAME connection.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0c5vfm5bqs71sn1rm3dqkacbyav\"},{\"name\":\"NO\",\"optional\":true,\"description\":\"specifies that only tables, views, or materialized views are available through a LIBNAME connection.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0jgjylpqmag26n11h3ruqw2p4va\"}],\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_011\",\"docsetTargetFile\":\"p0jjcu2gbcv4nyn1kr232lq6pqc1.htm\"}},{\"name\":\"SKIP_IDENTITY_COL=\",\"followsArguments\":[\"REDSHIFT\"],\"aliases\":[\"SIC=\"],\"description\":\"Specifies whether to skip IDENTITY columns when writing to an external table.\",\"help\":\"SKIP_IDENTITY_COL= YES | NO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YESNO\",\"description\":\"specifies whether to skip IDENTITY columns when writing to an external table.\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YES\",\"type\":\"standalone\"},{\"name\":\"NO\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"p0cra9sskau09wn1oeuwhuecydb4\"}],\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_011\",\"docsetTargetFile\":\"n0epvxyi18vlskn1jlugi0c5otwi.htm\"}},{\"name\":\"SLEEP=\",\"followsArguments\":[\"TERADATA\"],\"description\":\"Specifies the number of minutes that FastExport, FastLoad, or MultiLoad waits before trying again to log on to Teradata.\",\"help\":\"SLEEP= *number-of-minutes*\",\"type\":\"value\",\"arguments\":[{\"name\":\"number-of-minutes\",\"optional\":true,\"placeholder\":true,\"description\":\"the number of minutes to wait before trying again to log on to Teradata.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p138gshbrlnni1n11g0966xkrdpa\"}],\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_011\",\"docsetTargetFile\":\"n0z2e0bnkizox3n1bj4y3vpi7984.htm\"}},{\"name\":\"SNOW\",\"description\":\"specifies the SAS/ACCESS engine name for the Snowflake interface.\",\"type\":\"standalone\",\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_008\",\"docsetTargetFile\":\"p1se2m9js4ptfpn1252otv84u9ma.htm\"}},{\"name\":\"SPARK\",\"description\":\"specifies the SAS/ACCESS engine name for the Spark interface.\",\"type\":\"standalone\",\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_008\",\"docsetTargetFile\":\"p1qzm30adels9wn1oze9mgyc5pwc.htm\"}},{\"name\":\"SPDE\",\"description\":\"The SPD Engine is designed for shigh-speed processing of very large tables and uses threads to read data rapidly and in parallel, executing on multiple CPUs.\",\"type\":\"standalone\"},{\"name\":\"SPOOL=\",\"description\":\"Specifies whether SAS creates a utility spool file during Read transactions that read data more than once.\",\"help\":\"SPOOL= YES | NO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YES\",\"optional\":true,\"description\":\"specifies that SAS creates a utility spool file into which it writes the rows that are read the first time. For subsequent passes through the data, the rows are read from the utility spool file rather than being reread from the DBMS table. This guarantees that the rowset is the same for every pass through the data.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0tnmchg0pfu4zn1km2ob1enouqb\"},{\"name\":\"NO\",\"optional\":true,\"description\":\"specifies that the required rows for all passes of the data are read from the DBMS table. No spool file is written. There is no guarantee that the rowset is the same for each pass through the data.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1n3tjmgfj5wi7n12oka04udh2iv\"}],\"supportSiteInformation\":{\"docsetId\":\"acnrdb\",\"docsetVersion\":\"v_002\",\"docsetTargetFile\":\"p0chbpveogph8pn1psorsweo0tmq.htm\"}},{\"name\":\"SQLGENERATION=\",\"followsArguments\":[\"BIGQUERY\",\"DB2\",\"GREENPLM\",\"HADOOP\",\"IMPALA\",\"JDBC\",\"MYSQL\",\"NETEZZA\",\"ORACLE\",\"POSTGRES\",\"REDSHIFT\",\"SAPHANA\",\"SNOW\",\"SPARK\",\"SQLSVR\",\"TERADATA\",\"VERTICA\",\"YBRICK\"],\"description\":\"Specifies whether SAS procedures generate SQL for in-database processing of source data.\",\"help\":\"SQLGENERATION= NONE | DBMS\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NONE\",\"description\":\"prevents those SAS procedures that are enabled for in-database processing from generating SQL for in-database processing.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0jt857ti4ouypn1uv48p370qxo2\"},{\"name\":\"DBMS\",\"description\":\"allows those SAS procedures that are enabled for in-database processing to generate SQL for in-database processing.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0aepmgk60oq96n1ic9bdu1t8pxl\"}],\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_011\",\"docsetTargetFile\":\"p005mmm6mnyvdtn10rxbytrcqjgo.htm\"}},{\"name\":\"SQLSVR\",\"description\":\"specifies the SAS/ACCESS engine name for the Microsoft SQL Server interface.\",\"type\":\"standalone\",\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_008\",\"docsetTargetFile\":\"n0gz66qe8msnkyn1jgnhrr0l2k8y.htm\"}},{\"name\":\"SQL_FUNCTIONS=\",\"followsArguments\":[\"BIGQUERY\",\"DB2\",\"DUCKDB\",\"GREENPLM\",\"HADOOP\",\"IMPALA\",\"INFORMIX\",\"JDBC\",\"MYSQL\",\"NETEZZA\",\"ODBC\",\"ORACLE\",\"POSTGRES\",\"REDSHIFT\",\"SAPASE\",\"SAPHANA\",\"SAPIQ\",\"SNOW\",\"SPARK\",\"SQLSVR\",\"SSTORE\",\"TERADATA\",\"VERTICA\",\"YBRICK\"],\"description\":\"Customizes the in-memory SQL dictionary function list for this particular LIBNAME statement.\",\"help\":\"SQL_FUNCTIONS= ALL |  EXTERNAL_REPLACE=<libref.member> |  \\nEXTERNAL_APPEND=<libref.member> | SAFE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ALL\",\"optional\":true,\"description\":\"customizes the in-memory SQL dictionary function list for this particular LIBNAME statement by adding the set of all existing functions, even those that might be risky or untested.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1jlikignncmm4n13yz2fhnaih27\"},{\"name\":\"EXTERNAL_REPLACE=\",\"optional\":true,\"description\":\"indicates a user-specified, external SAS data set from which the complete function list in the SQL dictionary is to be built. The assumption is that the user has already issued a LIBNAME statement to the directory where the SAS data set exists.\",\"help\":\"EXTERNAL_REPLACE=&lt;*libref.member*&gt;\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"p0mu3sntsvy3bhn1245j6bo10km2\"},{\"name\":\"EXTERNAL_APPEND=\",\"optional\":true,\"description\":\"indicates a user-specified, external SAS data set from which additional functions are to be added to the existing function list in the SQL dictionary. The assumption is that the user has already issued a LIBNAME statement to the directory where the SAS data set exists.\",\"help\":\"EXTERNAL_APPEND=&lt;*libref.member*&gt;\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"p08ki1w22fzqgen1imxkqem3sqcc\"},{\"name\":\"SAFE\",\"optional\":true,\"description\":\"removes extended functions whose results might not match SAS behavior.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p187dcirjrql89n1nab6hnjkft3d\"}],\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_011\",\"docsetTargetFile\":\"n0k1cax0gzsdxdn1a3466l1gwtk9.htm\"}},{\"name\":\"SQL_FUNCTIONS_COPY=\",\"description\":\"Writes the function associated with this particular LIBNAME statement to a table or the SAS log.\",\"help\":\"SQL_FUNCTIONS_COPY= *libref.member* | SASLOG\",\"type\":\"choice\",\"supportSiteInformation\":{\"docsetId\":\"accr3\",\"docsetVersion\":\"v_002\",\"docsetTargetFile\":\"n0b483j602u1s7n1ra914bdklsjz.htm\"}},{\"name\":\"SQL_OJ_ANSI=\",\"followsArguments\":[\"SAPASE\"],\"description\":\"Specifies whether to pass ANSI outer-join syntax through to the database.\",\"help\":\"SQL_OJ_ANSI= YES |  NO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YES\",\"optional\":true,\"description\":\"specifies that ANSI outer-join syntax is passed through to the database.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1pwsua8v5uheyn1s12xa99an9aq\"},{\"name\":\"NO\",\"optional\":true,\"description\":\"disables pass-through of ANSI outer-joins.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0dnkbcnijodg9n16m86oij7t418\"}],\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_011\",\"docsetTargetFile\":\"n18wmwr80s5f1xn1kthpog95odrv.htm\"}},{\"name\":\"SSLCA=\",\"followsArguments\":[\"TERADATA\"],\"description\":\"Specifies the path to a CA certificate file to use for a secure connection to Teradata.\",\"help\":\"SSLCA= '*path-to-CA-file*'\",\"type\":\"value\",\"arguments\":[{\"name\":\"path-to-CA-file\",\"placeholder\":true,\"description\":\"specifies the path to a CA certificate file to use for a secure connection to Teradata.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0a1qs10aib04wn1v3bz8uz1ysej\"}],\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_011\",\"docsetTargetFile\":\"p05g74bzbebugun1bve07cwavgl2.htm\"}},{\"name\":\"SSLCAPATH=\",\"followsArguments\":[\"TERADATA\"],\"description\":\"Specifies the path to a directory that contains the certificates for a secure connection to Teradata.\",\"help\":\"SSLCAPATH= '*path*'\",\"type\":\"value\",\"arguments\":[{\"name\":\"path\",\"placeholder\":true,\"description\":\"specifies the path to a directory that contains the certificates for a secure connection to Teradata.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0nwdqroqgi0x1n1mt4uke2juy42\"}],\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_011\",\"docsetTargetFile\":\"n0ryurd8ak01vrn13q6b0q0ff4w1.htm\"}},{\"name\":\"SSLCRC=\",\"followsArguments\":[\"TERADATA\"],\"description\":\"Specifies the certificate revocation status values for which the CLI allows a TLS connection.\",\"help\":\"SSLCRC= ALLOW | REQUIRE\",\"type\":\"choice\",\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_011\",\"docsetTargetFile\":\"n1m8hi5qit06d1n1eqtwmzn662in.htm\"}},{\"name\":\"SSLCREATESELFSIGNEDCERTIFICATE=\",\"followsArguments\":[\"SAPHANA\"],\"aliases\":[\"SSLCREATECERT\",\"SSLCREATESELFSIGNEDCERTIFICATE\"],\"description\":\"Specifies whether to create a self-signed certificate if the keystore cannot be found.\",\"help\":\"SSLCREATESELFSIGNEDCERTIFICATE= YES | NO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YES\",\"description\":\"specifies to create a self-signed certificate if the keystore cannot be found.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n13in9s6lyreqvn16a8mjl94w775\"},{\"name\":\"NO\",\"description\":\"specifies to not create a self-signed certificate if the keystore cannot be found.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n10vici4hnndkdn1d4ez9faafoac\"}],\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_011\",\"docsetTargetFile\":\"n1slhq3gsos3ovn1n9zdrm2ng0jb.htm\"}},{\"name\":\"SSLCRYPTOPROVIDER=\",\"followsArguments\":[\"SAPHANA\"],\"aliases\":[\"SSLCRYPTOPROVIDER\",\"SSLPROVIDER\"],\"description\":\"Specifies the cryptographic library provider to use for SSL connectivity.\",\"help\":\"SSLCRYPTOPROVIDER= SAPCRYPTO  | OPENSSL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"SAPCRYPTO\",\"description\":\"specifies to use the CommonCryptoLib cryptographic library for SSL connectivity.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0hn6m9g5w07wpn1k5cw2ojfth8y\"},{\"name\":\"OPENSSL\",\"description\":\"specifies to use the OpenSSL cryptographic library for SSL connectivity.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1q01ckpzcnhzgn1jf2ofcejxqwf\"}],\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_011\",\"docsetTargetFile\":\"p18z2ibf7hu1aan1ol3u76medeoe.htm\"}},{\"name\":\"SSLHOSTNAMEINCERTIFICATE=\",\"followsArguments\":[\"SAPHANA\"],\"aliases\":[\"SSLHOSTNAMEINCERT\",\"SSLHOSTNAMEINCERTIFICATE\"],\"description\":\"Specifies the host-name certificate of the keystore.\",\"help\":\"SSLHOSTNAMEINCERTIFICATE= &lt;'&gt;*string*&lt;'&gt;\",\"type\":\"value\",\"arguments\":[{\"name\":\"string\",\"placeholder\":true,\"description\":\"specifies the host-name certificate of the keystore.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0jlbram6xjeqcn1byce5b5y0pls\"}],\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_011\",\"docsetTargetFile\":\"n07qxbzkb8m2pyn1uuersze0ty8a.htm\"}},{\"name\":\"SSLKEYSTORE=\",\"followsArguments\":[\"HADOOP\",\"SAPHANA\"],\"aliases\":[\"SSLKEYSTORE\"],\"description\":\"Specifies the path to the keystore file.\",\"help\":\"SSLKEYSTORE= &lt;'&gt;*file*&lt;'&gt;\",\"type\":\"value\",\"arguments\":[{\"name\":\"file\",\"placeholder\":true,\"description\":\"specifies the path to the keystore file.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1095sd4ec0eidn1m0xqim2rmoa9\"}],\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_011\",\"docsetTargetFile\":\"p1uvs7addtfxlon1g91b9fe8w2p3.htm\"}},{\"name\":\"SSLMODE=\",\"followsArguments\":[\"POSTGRES\",\"TERADATA\",\"YBRICK\"],\"description\":\"Specifies support for a TLS encrypted connection to your data source.\",\"help\":\"SSLMODE= '*value*'\",\"type\":\"value\",\"arguments\":[{\"name\":\"value\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies whether to support encryption when SAS/ACCESS connects to your database.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1jwsnr2vehuq5n1hyf1li84rk4m\"}],\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_011\",\"docsetTargetFile\":\"p0sav5k6nuva3hn1ld1zmci7xujb.htm\"}},{\"name\":\"SSLPROTOCOL=\",\"followsArguments\":[\"TERADATA\"],\"description\":\"Specifies the TLS protocol version.\",\"help\":\"SSLPROTOCOL= \\\"*value*\\\"\",\"type\":\"value\",\"arguments\":[{\"name\":\"value\",\"placeholder\":true,\"description\":\"specifies the TLS protocol version. Possible values for this option are \\\"TLS1_2\\\" or \\\"TLS1_3\\\". Other values are ignored.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1i2h9hp1q1crbn1t2vh0wes5vkv\"}],\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_011\",\"docsetTargetFile\":\"n0jsxofappt173n1wphl5sx7l85s.htm\"}},{\"name\":\"SSLTRUSTSTORE=\",\"followsArguments\":[\"SAPHANA\"],\"description\":\"Specifies the path to the truststore file.\",\"help\":\"SSLTRUSTSTORE= &lt;'&gt;*file*&lt;'&gt;\",\"type\":\"value\",\"arguments\":[{\"name\":\"file\",\"placeholder\":true,\"description\":\"specifies the path to the truststore file.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1hu8gyt5cfn0ln13zkyjagd3zy8\"}],\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_011\",\"docsetTargetFile\":\"n05a2h34chiu51n1vk9u70xj7goz.htm\"}},{\"name\":\"SSLVALIDATECERTIFICATE=\",\"followsArguments\":[\"SAPHANA\"],\"aliases\":[\"SSLVALIDATECERTIFICATE\"],\"description\":\"Specifies whether to validate the certificate of the communication partner.\",\"help\":\"SSLVALIDATECERTIFICATE= YES | NO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YES\",\"description\":\"specifies to validate the certificate of the communication partner.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1x4mqjeaedagen1045qjhchgbxc\"},{\"name\":\"NO\",\"description\":\"specifies to not validate the certificate of the communication partner.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1na6y1srmga6an1sjnro172wk4i\"}],\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_011\",\"docsetTargetFile\":\"n0vryczzy6imq6n12jv7ec0kff8l.htm\"}},{\"name\":\"SSL_CA=\",\"description\":\"Specifies the full path name to the certificate authority file.\",\"help\":\"SSL_CA= \\\"*path-and-file-name*\\\"\",\"type\":\"value\",\"arguments\":[{\"name\":\"path-and-file-name\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the full path, including file name, to the certificate authority (CA) file to use to establish a secure connection to the MongoDB server.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n185qo3ovr57c7n1cm2lmcfdfyxs\"}],\"supportSiteInformation\":{\"docsetId\":\"acnrdb\",\"docsetVersion\":\"v_002\",\"docsetTargetFile\":\"n0u38zcp2hsgw1n1gg6jg1pz6kkl.htm\"}},{\"name\":\"SSL_CERT=\",\"description\":\"Specifies the full path name to the certificate file.\",\"help\":\"SSL_CERT= \\\"*path-name*\\\"\",\"type\":\"value\",\"arguments\":[{\"name\":\"path-name\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the full path name to the certificate file to use to establish a secure connection to the MongoDB server.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0px2h9wzek3u6n1nuaz68s0sjon\"}],\"supportSiteInformation\":{\"docsetId\":\"acnrdb\",\"docsetVersion\":\"v_002\",\"docsetTargetFile\":\"p0lqn5q0nysz6on1udooj2qxwbrs.htm\"}},{\"name\":\"SSL_CIPHER=\",\"followsArguments\":[\"MYSQL\",\"SSTORE\"],\"description\":\"Specifies a list of permissible ciphers to use for encryption.\",\"help\":\"SSL_CIPHER= \\\"*cipher-list*\\\"\",\"type\":\"value\",\"arguments\":[{\"name\":\"cipher-list\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies a list of ciphers that are permitted to be used for encryption.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0onlwaw2lwnlxn1688iljibqb7w\"}],\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_011\",\"docsetTargetFile\":\"p1k2oqobgjzjnhn1uc3ptnecq34c.htm\"}},{\"name\":\"SSL_KEY=\",\"followsArguments\":[\"MYSQL\",\"SSTORE\"],\"description\":\"Specifies the path to the client private key file.\",\"help\":\"SSL_KEY= \\\"*path*\\\"\",\"type\":\"value\",\"arguments\":[{\"name\":\"path\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the path to the client private key file. This file is in PEM format.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n139mazxyj8qfmn10jhaoucyxhug\"}],\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_011\",\"docsetTargetFile\":\"n1omj71n0kajson18ytw17cctp10.htm\"}},{\"name\":\"SSL_KEY_STORE=\",\"followsArguments\":[\"HADOOP\"],\"aliases\":[\"SSLKEYSTORE=\"],\"description\":\"Specifies the path to the keystore file.\",\"help\":\"SSL_KEY_STORE= &lt;'&gt;*file*&lt;'&gt;\",\"type\":\"value\",\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_008\",\"docsetTargetFile\":\"p1uvs7addtfxlon1g91b9fe8w2p3.htm\"}},{\"name\":\"SSL_KEY_STORE_PWD=\",\"followsArguments\":[\"HADOOP\"],\"description\":\"Specifies the password for accessing the keystore file.\",\"help\":\"SSL_KEY_STORE_PWD= '*password-value*'\",\"type\":\"value\",\"arguments\":[{\"name\":\"password-value\",\"placeholder\":true,\"description\":\"specifies the password for accessing the keystore file.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1kj2wuncc2vgfn14uhgmg32oc75\"}],\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_011\",\"docsetTargetFile\":\"p0c46yp5edbxbgn0zq56iwzmhiwh.htm\"}},{\"name\":\"SSL_TRUST_STORE=\",\"followsArguments\":[\"HADOOP\",\"SPARK\"],\"description\":\"Specifies the path to the SSL truststore.\",\"help\":\"SSL_TRUST_STORE= \\\"*path*\\\"\",\"type\":\"value\",\"arguments\":[{\"name\":\"path\",\"placeholder\":true,\"description\":\"specifies the path to the SSL truststore.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0y1sjyae04fn3n1tk9ilvcrhzev\"}],\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_011\",\"docsetTargetFile\":\"n12p4oigp3u21tn16kkezfo0b6ka.htm\"}},{\"name\":\"SSTORE\",\"description\":\"specifies the SAS/ACCESS engine name for the SingleStore interface.\",\"type\":\"standalone\",\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_008\",\"docsetTargetFile\":\"p0nigwty8r58upn1ll646y67k7wq.htm\"}},{\"name\":\"STARTOBS=\",\"description\":\"Specifies the start row number in a user-defined range for processing.\",\"help\":\"STARTOBS= *n*\",\"type\":\"value\",\"supportSiteInformation\":{\"docsetId\":\"spdsug\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p1uzr6r8trztnrn106ux1ok4h2cc.htm\"}},{\"name\":\"STORAGE_ACCOUNT_NAME=\",\"followsArguments\":[\"ORC\",\"PARQUET\"],\"description\":\"Specifies the account name for connecting to Microsoft Azure.\",\"help\":\"STORAGE_ACCOUNT_NAME= *name*\",\"type\":\"value\",\"arguments\":[{\"name\":\"name\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the account name for connecting to a cloud storage system.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n18m7zm47o21jan1p92q9vu769nf\"}],\"supportSiteInformation\":{\"docsetId\":\"enghdff\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"n0ubu9mxqw7lfvn18chlzp0db6r2.htm\"}},{\"name\":\"STORAGE_APPLICATION_ID=\",\"followsArguments\":[\"ORC\",\"PARQUET\"],\"description\":\"Specifies the application ID for connecting to Microsoft Azure.\",\"help\":\"STORAGE_APPLICATION_ID= \\\"*string*\\\"\",\"type\":\"value\",\"arguments\":[{\"name\":\"\\\"string\\\"\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the application ID (a GUID string) from the assignment in the Microsoft Azure portal.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1xpt6w97w1iucn1fy9gve0cvfi5\"}],\"supportSiteInformation\":{\"docsetId\":\"enghdff\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"p0eo92a211aaqrn1ck3a3pb9vwjt.htm\"}},{\"name\":\"STORAGE_AUTH_DOMAIN=\",\"followsArguments\":[\"ORC\",\"PARQUET\"],\"description\":\"Allows connection to a server by specifying the name of an authentication domain object.\",\"help\":\"STORAGE_AUTH_DOMAIN= *authentication-domain*\",\"type\":\"value\",\"supportSiteInformation\":{\"docsetId\":\"enghdff\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"n0jrtb584yxrgzn1r3lnms3wef97.htm\"}},{\"name\":\"STORAGE_AWS_CONFIG_FILE=\",\"followsArguments\":[\"PARQUET\"],\"description\":\"Specifies the location of the Amazon Web Services (AWS) configuration file.\",\"help\":\"STORAGE_AWS_CONFIG_FILE= \\\"*path-and-AWS-configuration-file-name*\\\"\",\"type\":\"value\",\"arguments\":[{\"name\":\"path-and-AWS-configuration-file-name\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the location of the Amazon Web Services (AWS) configuration file.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0bdgx9fk9fljxn1k44lf2aej1nv\"}],\"supportSiteInformation\":{\"docsetId\":\"enghdff\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"p1mxhpb1cmnp3qn1tqokznha3yn9.htm\"}},{\"name\":\"STORAGE_AWS_KEY=\",\"followsArguments\":[\"PARQUET\"],\"description\":\"Specifies the primary service account key for AWS authentication.\",\"help\":\"STORAGE_AWS_KEY= \\\"*key-string*\\\"\",\"type\":\"value\",\"arguments\":[{\"name\":\"key-string\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the Amazon Web Services (AWS) access key ID in order to access Amazon S3.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1932ucvp5v3d8n1bnl8bokufrw0\"}],\"supportSiteInformation\":{\"docsetId\":\"enghdff\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"n0fp6iuvfukwwgn1i18k0kuvykq1.htm\"}},{\"name\":\"STORAGE_AWS_KEY_FILE=\",\"followsArguments\":[\"PARQUET\"],\"description\":\"Specifies the path and file name of an AWS credentials file.\",\"help\":\"STORAGE_AWS_KEY_FILE= \\\"*credentials-file-location*\\\"\",\"type\":\"value\",\"arguments\":[{\"name\":\"credentials-file-location\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the path and file name of an AWS credentials file that contains one or more profile names and the access key data for each profile name. The path name can be fully qualified or relative. If you specify the file name only, then the file must be in the working directory.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1cdg41st0ik8ln122zl7o404q4i\"}],\"supportSiteInformation\":{\"docsetId\":\"enghdff\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"p00z3tjk9qgzqxn1jvf1326sjpel.htm\"}},{\"name\":\"STORAGE_AWS_KEY_FILE_PROFILE=\",\"followsArguments\":[\"PARQUET\"],\"description\":\"Specifies a profile name from the Amazon Web Services (AWS) credentials file and config file.\",\"help\":\"STORAGE_AWS_KEY_FILE_PROFILE= \\\"*profile-name*\\\"\",\"type\":\"value\",\"arguments\":[{\"name\":\"profile-name\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies a profile name from the Amazon Web Services (AWS) credentials file and config file.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p14ykw5jhxcsh9n14al0eh8cnwtz\"}],\"supportSiteInformation\":{\"docsetId\":\"enghdff\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"n0mxchxnwx6ru9n1ri7mnpdwgokj.htm\"}},{\"name\":\"STORAGE_AWS_REGION=\",\"followsArguments\":[\"PARQUET\"],\"aliases\":[\"REGION=\"],\"description\":\"Specifies the AWS region for Amazon S3 data.\",\"help\":\"STORAGE_AWS_REGION= \\\"*region*\\\"\",\"type\":\"value\",\"arguments\":[{\"name\":\"region\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the AWS region for Amazon S3 data.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1i7lhdmlb6ofmn1c34so8at1jfs\"}],\"supportSiteInformation\":{\"docsetId\":\"enghdff\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"n1vli5hcerw1zvn1b6zxc8buu03r.htm\"}},{\"name\":\"STORAGE_AWS_ROLEARN=\",\"followsArguments\":[\"PARQUET\"],\"description\":\"Specifies an Amazon Resource Name (ARN) that identifies an IAM role.\",\"help\":\"STORAGE_AWS_ROLEARN= \\\"*IAM-role-ARN*\\\"\",\"type\":\"value\",\"arguments\":[{\"name\":\"IAM-role-ARN\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies an Amazon Resource Name (ARN) that identifies an IAM role. Specify the AWS Role ARN that is assigned to your OIDC IdP. The associated IAM role enables you to get access credentials to S3 via the AssumeRole IAM operation.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1r6lum925egi0n1w7oylllwocj7\"}],\"supportSiteInformation\":{\"docsetId\":\"enghdff\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"n06sh5hlggyzfen1i4jaosd2wwb3.htm\"}},{\"name\":\"STORAGE_AWS_SECRET_KEY=\",\"followsArguments\":[\"PARQUET\"],\"description\":\"Specifies the secret key for AWS authentication.\",\"help\":\"STORAGE_AWS_SECRET_KEY= \\\"*key-string*\\\"\",\"type\":\"value\",\"arguments\":[{\"name\":\"key-string\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the Amazon Web Services (AWS) secret access key in order to access Amazon S3.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0114srristr4bn14fyhf5kqor37\"}],\"supportSiteInformation\":{\"docsetId\":\"enghdff\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"p1caj87db0apebn1uquj33joex73.htm\"}},{\"name\":\"STORAGE_AWS_SESSION_TOKEN=\",\"followsArguments\":[\"PARQUET\"],\"description\":\"Specifies the temporary security token for AWS authentication.\",\"help\":\"STORAGE_AWS_SESSION_TOKEN= \\\"*token-string*\\\"\",\"type\":\"value\",\"arguments\":[{\"name\":\"token-string\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the Amazon Web Services (AWS) security token for temporary security credentials in order to access Amazon S3.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n04yqfwh1zwdkfn11es1ia5tsem2\"}],\"supportSiteInformation\":{\"docsetId\":\"enghdff\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"n0yp8s4pmkyiu1n1a7uydojv13oe.htm\"}},{\"name\":\"STORAGE_BUCKET_NAME=\",\"followsArguments\":[\"PARQUET\"],\"description\":\"Specifies the name of the storage bucket.\",\"help\":\"STORAGE_BUCKET_NAME= \\\"*bucket-name*\\\"\",\"type\":\"value\",\"arguments\":[{\"name\":\"bucket-name\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the name of the Amazon S3 bucket or Google Cloud Storage bucket.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p16mu7iklr48nzn1acsx3tokx1dd\"}],\"supportSiteInformation\":{\"docsetId\":\"enghdff\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"n0f7tcdyjxdagyn1wh14cjoz0rrg.htm\"}},{\"name\":\"STORAGE_CLIENT_SECRET\",\"followsArguments\":[\"PARQUET\"],\"description\":\"Specifies the secret key for Azure authentication.\",\"help\":\"STORAGE_CLIENT_SECRET =\\\"*secret-string*\\\"\",\"type\":\"value\",\"supportSiteInformation\":{\"docsetId\":\"enghdff\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"p1bg9fs2bu1qz7n1fndubqoqt0d5.htm\"}},{\"name\":\"STORAGE_DNS_SUFFIX=\",\"followsArguments\":[\"ORC\",\"PARQUET\"],\"description\":\"Specifies the network host name for connecting to Microsoft Azure.\",\"help\":\"STORAGE_DNS_SUFFIX= \\\"*name*\\\"\",\"type\":\"value\",\"arguments\":[{\"name\":\"\\\"name\\\"\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the network host name for connecting to a cloud storage system. Typically, this value is appended to the end of the storage account name and is called a suffix.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1c9y74o0ife9qn1uysqyxybf13q\"}],\"supportSiteInformation\":{\"docsetId\":\"enghdff\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"n1j0b9nr87rvion17av8lk60v2sq.htm\"}},{\"name\":\"STORAGE_FILE_SYSTEM=\",\"followsArguments\":[\"ORC\",\"PARQUET\"],\"description\":\"Specifies the name of the file system for connecting to Microsoft Azure.\",\"help\":\"STORAGE_FILE_SYSTEM= *name*\",\"type\":\"value\",\"arguments\":[{\"name\":\"name\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the name of the file system (also known as the container), within ADLS, that files are to be read from and written to.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1dqpv1lbnbgwsn1bthe3ok7k15j\"}],\"supportSiteInformation\":{\"docsetId\":\"enghdff\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"p0gjfbsrbc8dgxn1i9yo91lkga81.htm\"}},{\"name\":\"STORAGE_GCS_KEY_FILE=\",\"followsArguments\":[\"PARQUET\"],\"description\":\"Specifies a file that contains your service account key for Google Cloud Storage authentication.\",\"help\":\"STORAGE_GCS_KEY_FILE= \\\"*key-file-location*\\\"\",\"type\":\"value\",\"arguments\":[{\"name\":\"key-file-location\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the complete path name for your Google Cloud Storage key, which is usually stored as a file.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p08s8igyuwavdsn0zltg31qp7wtq\"}],\"supportSiteInformation\":{\"docsetId\":\"enghdff\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"n1kjblx97k6xmzn18fsln4vdw1td.htm\"}},{\"name\":\"STORAGE_GCS_KEY_STRING=\",\"followsArguments\":[\"PARQUET\"],\"description\":\"Specifies your service account key for Google Cloud Storage authentication as a string.\",\"help\":\"STORAGE_GCS_KEY_STRING= \\\"*key-string*\\\"\",\"type\":\"value\",\"arguments\":[{\"name\":\"key-string\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies your Google Cloud Storage key as a string rather than as a file.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n09rjc814b5zpjn1wdbi1g58vinp\"}],\"supportSiteInformation\":{\"docsetId\":\"enghdff\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"n0g3um7y7z90gdn0zml4y5jy56ey.htm\"}},{\"name\":\"STORAGE_PLATFORM=\",\"followsArguments\":[\"PARQUET\"],\"description\":\"Specifies the type of cloud storage system.\",\"help\":\"STORAGE_PLATFORM= ADLS | AWS | GCS\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ADLS\",\"optional\":true,\"description\":\"specifies Microsoft Azure Data Lake Storage Gen2.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0tzldtkmuw27cn1o1rnwbmdpzi7\"},{\"name\":\"AWS\",\"optional\":true,\"description\":\"specifies Amazon S3.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1130js2a8motvn1rpq1awahnygq\"},{\"name\":\"GCS\",\"optional\":true,\"description\":\"specifies Google Cloud Storage.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n01p65d1hg0otgn149ti808lqwij\"}],\"supportSiteInformation\":{\"docsetId\":\"enghdff\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"p1gc1nri3pnexvn13f5r7hg806on.htm\"}},{\"name\":\"STORAGE_SCOPE=\",\"followsArguments\":[\"PARQUET\"],\"description\":\"Specifies the Microsoft Azure resource and permissions that are required for federated authentication between Microsoft Entra ID and Amazon S3.\",\"help\":\"STORAGE_SCOPE= \\\"*scope-URI*\\\"\",\"type\":\"value\",\"arguments\":[{\"name\":\"scope-URI\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the Application scope that you created previously in Microsoft Entra ID.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0kgtxligsth2vn186c8757bjee5\"}],\"supportSiteInformation\":{\"docsetId\":\"enghdff\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"p05xts6m0hkl3kn13hsps1qtzv6k.htm\"}},{\"name\":\"STORAGE_SHARED_KEY=\",\"followsArguments\":[\"PARQUET\"],\"description\":\"Specifies the account key for connecting to Microsoft Azure.\",\"help\":\"STORAGE_SHARED_KEY= \\\"*string*\\\"\",\"type\":\"value\",\"arguments\":[{\"name\":\"\\\"string\\\"\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the account key, which you can copy from the assignment in the Microsoft Azure portal.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1ikw13fqho5vmn1r5840riog6xc\"}],\"supportSiteInformation\":{\"docsetId\":\"enghdff\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"n00jyh2oprjdfxn1h71p3wlk6xjl.htm\"}},{\"name\":\"STORAGE_TIMEOUT=\",\"followsArguments\":[\"ORC\",\"PARQUET\"],\"description\":\"Specifies the maximum completion time for connecting to a cloud storage system.\",\"help\":\"STORAGE_TIMEOUT= *n*\",\"type\":\"value\",\"arguments\":[{\"name\":\"n\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the maximum number of seconds for a storage task to complete. The time-out is not enforced by SAS. If the storage system is enabled to enforce a time-out, then the storage system returns an error if the task does not complete within the specified time.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1sm9do6958ay2n1dhsunl8v65ds\"}],\"supportSiteInformation\":{\"docsetId\":\"enghdff\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"n0pq9959w9t7wvn1me7hlod4g24w.htm\"}},{\"name\":\"STRDATES=\",\"followsArguments\":[\"GREENPLM\",\"POSTGRES\",\"SQLSVR\",\"YBRICK\"],\"aliases\":[\"STRINGDATES=\"],\"description\":\"Specifies whether to read date and time values from the database as character strings.\",\"help\":\"STRDATES= YES |  NO\",\"type\":\"choice\",\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_008\",\"docsetTargetFile\":\"n0l9jhk6dhd2ktn1vw123s31bm2e.htm\"}},{\"name\":\"STRINGDATES=\",\"description\":\"Specifies whether to read date and time values from the database as character strings or as numeric date values.\",\"help\":\"STRINGDATES= YES | NO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YES\",\"optional\":true,\"description\":\"specifies that SAS reads date and time values as character strings.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0w28x12sm3qb2n1jslyl0zqgbin\"},{\"name\":\"NO\",\"optional\":true,\"description\":\"specifies that SAS reads date and time values as numeric date values.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0wi5gfdn81xqgn1p592nuilun7q\"}],\"supportSiteInformation\":{\"docsetId\":\"acnrdb\",\"docsetVersion\":\"v_002\",\"docsetTargetFile\":\"p0pinhlq2offfin18qojidr4dick.htm\"}},{\"name\":\"SUB_CHAR=\",\"followsArguments\":[\"GREENPLM\",\"HADOOP\",\"IMPALA\",\"JDBC\",\"NETEZZA\",\"ODBC\",\"REDSHIFT\",\"SAPHANA\",\"SPARK\",\"SQLSVR\",\"VERTICA\",\"YBRICK\"],\"aliases\":[\"SUBCHAR=\",\"SUBSTITUTION_CHAR=\"],\"description\":\"Specifies a substitution character to use in place of any invalid characters that cannot be represented in the SAS session encoding.\",\"help\":\"SUB_CHAR= *value*\",\"type\":\"value\",\"arguments\":[{\"name\":\"value\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the substitution character to use in place of a character that cannot be represented in the SAS session encoding.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1w5bku5igi0whn1mv57km1ayboa\"}],\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_011\",\"docsetTargetFile\":\"p17vbzdt2tq5wkn14tmp6g4x6mdz.htm\"}},{\"name\":\"SVR=\",\"followsArguments\":[\"INFORMIX\"],\"aliases\":[\"SERVER=\"],\"description\":\"Specifies the server, host name, or IP address that is used to connect to the data source.\",\"help\":\"SVR= &lt;'&gt;*server-name*&lt;'&gt;\",\"type\":\"value\",\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_008\",\"docsetTargetFile\":\"n0ftewl6doujp9n1cdlp3j9g1fuj.htm\"}},{\"name\":\"SYBBUFSZ=\",\"followsArguments\":[\"SAPASE\"],\"description\":\"Specifies the number of rows of DBMS data to write to the buffer.\",\"help\":\"SYBBUFSZ= *number-of-rows*\",\"type\":\"value\",\"arguments\":[{\"name\":\"number-of-rows\",\"placeholder\":true,\"description\":\"specifies the number of rows of DBMS data to write to the buffer. If this option is used, the SAS/ACCESS interface view engine creates a buffer that is large enough to hold the specified number of rows. This buffer is created when the associated database table is read. The interface view engine uses SYBBUFSZ= to improve performance. If you omit this option, no data is written to the buffer.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1uig38moi54ipn1quautpwrpa9n\"}],\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_011\",\"docsetTargetFile\":\"n0kfk0ahj26rmon1lce93trwjk80.htm\"}},{\"name\":\"SYBPW=\",\"followsArguments\":[\"SAPASE\"],\"aliases\":[\"PASSWORD=\"],\"description\":\"Specifies the password or access token to access a data source.\",\"help\":\"SYBPW= &lt;'&gt;*password*&lt;'&gt;\",\"type\":\"value\",\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_008\",\"docsetTargetFile\":\"n0mtrtroo9n75pn1oa992b2h2408.htm\"}},{\"name\":\"SYNONYMS=\",\"followsArguments\":[\"NETEZZA\"],\"aliases\":[\"SHOW_SYNONYMS=\"],\"description\":\"Specifies whether PROC DATASETS shows synonyms, tables, views, or materialized views for the current user and schema if you specified the SCHEMA= option.\",\"help\":\"SYNONYMS= YES |  NO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YES\",\"optional\":true,\"description\":\"specifies that PROC DATASETS shows only synonyms that represent tables, views, or materialized views for the current user.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0db48jo43l37vn1nm9qvhx41dzc\"},{\"name\":\"NO\",\"optional\":true,\"description\":\"specifies that PROC DATASETS shows only tables, views, or materialized views for the current user.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0bwnq1tn7z85xn1m7kdhctlalr4\"}],\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_011\",\"docsetTargetFile\":\"p105sqt9qe72ewn1jwzfjtl5i51k.htm\"}},{\"name\":\"SYSNR=\",\"aliases\":[\"SYS\",\"SYSTEM\",\"SYSNO\"],\"description\":\"Indicates the SAP system number—the 2-byte code that identifies the system on the host.\",\"help\":\"SYSNR= *system_number*\",\"type\":\"value\",\"supportSiteInformation\":{\"docsetId\":\"accr3\",\"docsetVersion\":\"v_002\",\"docsetTargetFile\":\"p0yl8ahkosjewin1bkvxgkras8mr.htm\"}},{\"name\":\"TABLE_TYPE=\",\"followsArguments\":[\"SAPHANA\"],\"description\":\"Specifies the type of temporary tables and table storage when the engine creates tables in SAP HANA.\",\"help\":\"TABLE_TYPE= ROW |  COLUMN\\\\nTABLE_TYPE= LOCAL |  GLOBAL\\\\nTABLE_TYPE= (COLUMNLOCAL)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ROW\",\"optional\":true,\"description\":\"creates a table using ROW-based storage in SAP HANA.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1c09c66kg1ddyn1vcibyq8hn3x3\"},{\"name\":\"COLUMN\",\"optional\":true,\"description\":\"creates a table using COLUMN-based storage in SAP HANA.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1675fydiahny4n1se6y97g8uq4u\"}],\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_011\",\"docsetTargetFile\":\"p0myqk8hsfqic3n1ik3swe0b62qk.htm\"}},{\"name\":\"TAG=\",\"description\":\"Specifies a multi-level prefix for a CAS table that is used to identify the table to both the CAS server and SAS.\",\"help\":\"TAG= *tag-name*\",\"type\":\"value\",\"supportSiteInformation\":{\"docsetId\":\"casref\",\"docsetVersion\":\"v_004\",\"docsetTargetFile\":\"p0sh2e2aezfns8n12l74su739amu.htm\"}},{\"name\":\"TAGSET=\",\"followsArguments\":[\"XMLV2\",\"XML\"],\"description\":\"Specifies the name of a tagset to override the default tagset that is used by the specified markup type.\",\"help\":\"TAGSET= *tagset-name*\",\"type\":\"value\",\"arguments\":[{\"name\":\"tagset-name\",\"optional\":true,\"placeholder\":true,\"description\":\"is the name of a tagset to override the default tagset that is used by the markup type that is specified with XMLTYPE=.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n19wu5it0hnktpn122jrp5j1it28\"}],\"supportSiteInformation\":{\"docsetId\":\"engxml\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p0halv5mjualgdn1rf63dii3ultc.htm\"}},{\"name\":\"TDPID=\",\"followsArguments\":[\"TERADATA\"],\"aliases\":[\"SERVER=\"],\"description\":\"Specifies the server, host name, or IP address that is used to connect to the data source.\",\"help\":\"TDPID= &lt;'&gt;*server-name*&lt;'&gt;\",\"type\":\"value\",\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_008\",\"docsetTargetFile\":\"n0ftewl6doujp9n1cdlp3j9g1fuj.htm\"}},{\"name\":\"TEMP=\",\"description\":\"Creates a temporary server domain for this LIBNAME assignment.\",\"help\":\"TEMP= NO | YES\",\"type\":\"choice\",\"supportSiteInformation\":{\"docsetId\":\"spdsug\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p1ty3tmlv2ad4in1uhxa3kbsyjjf.htm\"}},{\"name\":\"TEMPORAL_QUALIFIER=\",\"followsArguments\":[\"TERADATA\"],\"description\":\"Specifies time-dimension criteria for retrieving data from Teradata.\",\"help\":\"TEMPORAL_QUALIFIER= CURRENT VALIDTIME | \\n VALIDTIME AS OF PERIOD 'period' | \\nSEQUENCED VALIDTIME PERIOD 'period' | \\n NONSEQUENCED VALIDTIME PERIOD 'period'\\\\nTEMPORAL_QUALIFIER= CURRENT TRANSACTIONTIME | \\nTRANSACTIONTIME AS OF 'period' |  \\nNONSEQUENCED TRANSACTIONTIME\",\"type\":\"choice\",\"arguments\":[{\"name\":\"CURRENT\",\"optional\":true,\"description\":\"selects rows that are valid at the current time.\",\"help\":\"CURRENT VALIDTIME\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1mp20l86q7gtvn1qs3ap6wmj8iz\"},{\"name\":\"VALIDTIME\",\"optional\":true,\"description\":\"selects rows with valid-time periods that overlap the specified AS OF period. For the period, you can specify either a single date or a time period (date range) by specifying a start date and an end date.\",\"help\":\"VALIDTIME AS OF PERIOD '*period*'\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n095mdwb032z3on1rvtm9877ytyw\"},{\"name\":\"SEQUENCED\",\"optional\":true,\"description\":\"selects history, current, or future rows that are valid for the specified time period.\",\"help\":\"SEQUENCED VALIDTIME PERIOD '*period*'\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1j3bp7w3lu347n1cilgusvtpken\"},{\"name\":\"NONSEQUENCED\",\"optional\":true,\"description\":\"treats the table as nontemporal.\",\"help\":\"NONSEQUENCED VALIDTIME PERIOD '*period*'\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n00s2egybok9den1pz00544ugn5l\"}],\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_011\",\"docsetTargetFile\":\"n1hmtgwsjdvsuzn16dy2zxdz25aq.htm\"}},{\"name\":\"TEMP_CTAS=\",\"followsArguments\":[\"HADOOP\"],\"description\":\"Specifies whether to create an intermediate (temporary) table in Hive.\",\"help\":\"TEMP_CTAS= YES | NO\",\"type\":\"choice\",\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_011\",\"docsetTargetFile\":\"p1osh4gytsfeuwn17zhnoic2ouyn.htm\"}},{\"name\":\"TEMP_DIR=\",\"followsArguments\":[\"DUCKDB\"],\"aliases\":[\"TEMP_DIRECTORY=\"],\"description\":\"Specifies the directory for temporary files.\",\"help\":\"TEMP_DIR= &lt;\\\"&gt;*path*&lt;\\\"&gt;\",\"type\":\"value\",\"arguments\":[{\"name\":\"path\",\"placeholder\":true,\"description\":\"specifies the location of the directory for temporary files. If the path includes spaces, then enclose the path value in quotation marks.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n11divimzpca58n1p3tbau5eywel\"}],\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_011\",\"docsetTargetFile\":\"p1sfad0a0y7b3ln1w0foztmce2lq.htm\"}},{\"name\":\"TENACITY=\",\"followsArguments\":[\"TERADATA\"],\"description\":\"Specifies how many hours that FastExport, FastLoad, or MultiLoad continues to try to log on again to Teradata if the maximum number of Teradata utilities are already running.\",\"help\":\"TENACITY= *number-of-hours*\",\"type\":\"value\",\"arguments\":[{\"name\":\"number-of-hours\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the number of hours to continue to try again to log on to Teradata.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0ih1di8wja8eyn1csf9h85588ca\"}],\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_011\",\"docsetTargetFile\":\"p1pevovjap5wi2n1sv06di6ohche.htm\"}},{\"name\":\"TERADATA\",\"description\":\"specifies the SAS/ACCESS engine name for the Teradata interface.\",\"type\":\"standalone\",\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_008\",\"docsetTargetFile\":\"p0gy4y5g1dy090n18jq1riw5g8d5.htm\"}},{\"name\":\"TEZ_QUEUE_NAME=\",\"followsArguments\":[\"HADOOP\",\"SPARK\"],\"description\":\"Specifies an Apache Tez queue name in which to execute client requests.\",\"help\":\"TEZ_QUEUE_NAME= \\\"*name*\\\"\",\"type\":\"value\",\"arguments\":[{\"name\":\"name\",\"placeholder\":true,\"description\":\"specifies an Apache Tez queue name in which to execute client requests.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1iycaamve8nann1wln0an4513wu\"}],\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_011\",\"docsetTargetFile\":\"p0at0yog29mum1n1c3b1y6hrpvk3.htm\"}},{\"name\":\"TIMEOUT=\",\"followsArguments\":[\"GREENPLM\",\"SQLSVR\"],\"aliases\":[\"QUERY_TIMEOUT=\"],\"description\":\"Specifies the number of seconds of inactivity to wait before canceling a query.\",\"help\":\"TIMEOUT= *number-of-seconds*\",\"type\":\"value\",\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_008\",\"docsetTargetFile\":\"p02d9s4ku813k0n1e23dqyk1bmi8.htm\"}},{\"name\":\"TIMEOUTSECONDS=\",\"aliases\":[\"TIMEOUT=\"],\"description\":\"Specifies the client inactivity time-out interval in seconds. If SAS stops transferring data to the server, the server starts the inactivity timer for the specified duration and cancels the request if SAS does not resume data transfer.\",\"help\":\"TIMEOUTSECONDS= *n*\",\"type\":\"value\",\"supportSiteInformation\":{\"docsetId\":\"casref\",\"docsetVersion\":\"v_004\",\"docsetTargetFile\":\"n169v6jnxf9qmjn1nl71g1mkk5zi.htm\"}},{\"name\":\"TIMEZONE=\",\"aliases\":[\"TZ=\"],\"description\":\"Specifies whether SAS writes timestamps to result data using local time or GMT.\",\"help\":\"TIMEZONE= LOCAL | GMT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"LOCAL\",\"optional\":true,\"description\":\"specifies to use the local time to write timestamps to result data in SAS.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0e2wkhp8oa4ybn1fd8v5vikc227\"},{\"name\":\"GMT\",\"optional\":true,\"aliases\":[\"UTC\"],\"description\":\"specifies to use GMT to write timestamps to result data in SAS.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0q725a7xijguen118241le5i7s4\"}],\"supportSiteInformation\":{\"docsetId\":\"acnrdb\",\"docsetVersion\":\"v_002\",\"docsetTargetFile\":\"n1x307ecnr149on1l99e4b3d6uu7.htm\"}},{\"name\":\"TPT=\",\"followsArguments\":[\"TERADATA\"],\"description\":\"Specifies whether SAS uses the Teradata Parallel Transporter (TPT) API to load data when SAS requests a Fastload, MultiLoad, or Multi-Statement insert.\",\"help\":\"TPT= YES |   NO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YES\",\"optional\":true,\"description\":\"specifies that SAS uses the TPT API when Fastload, MultiLoad, or Multi-Statement insert is requested.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n05exa7tha2ql4n17987fwns740c\"},{\"name\":\"NO\",\"optional\":true,\"description\":\"specifies that SAS does not use the TPT API when Fastload, MultiLoad, or Multi-Statement insert is requested.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0v521p0vgbd2xn1w6agahhk4pmr\"}],\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_011\",\"docsetTargetFile\":\"n10wv7q55n0bgzn1qwuskqjgl36v.htm\"}},{\"name\":\"TPT_DATA_ENCRYPTION=\",\"followsArguments\":[\"TERADATA\"],\"description\":\"Specifies whether to encrypt SQL requests, responses, and data when using the Teradata Parallel Transport (TPT) API.\",\"help\":\"TPT_DATA_ENCRYPTION= YES | NO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YESNO\",\"description\":\"specifies whether to encrypt SQL requests, responses, and data when using the TPT API.\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YES\",\"type\":\"standalone\"},{\"name\":\"NO\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"p1d0u29hdc9um9n1xi4ia2vnatw4\"}],\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_011\",\"docsetTargetFile\":\"n0sratuzo9mimgn1uz2lhn9nwf1q.htm\"}},{\"name\":\"TPT_MAX_SESSIONS=\",\"followsArguments\":[\"TERADATA\"],\"description\":\"Specifies the maximum number of sessions for Teradata to use when using the TPT API with FastLoad, MultiLoad, or Multi-Statement insert.\",\"help\":\"TPT_MAX_SESSIONS= *integer*\",\"type\":\"value\",\"arguments\":[{\"name\":\"integer\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the maximum number of sessions for Teradata to use when using the TPT API to load data with FastLoad, MultiLoad, or Multi-Statement insert.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p17sg4ljyc0oikn1n09thk9bnn9y\"}],\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_011\",\"docsetTargetFile\":\"n0upc7wkfgdssjn103gpyeq90dau.htm\"}},{\"name\":\"TPT_MIN_SESSIONS=\",\"followsArguments\":[\"TERADATA\"],\"description\":\"Specifies the minimum number of sessions for Teradata to use when using the TPT API with FastLoad, MultiLoad, or Multi-Statement insert.\",\"help\":\"TPT_MIN_SESSIONS= *integer*\",\"type\":\"value\",\"arguments\":[{\"name\":\"integer\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the minimum number of sessions for Teradata to use when using the TPT API to load data with FastLoad, MultiLoad, or Multi-Statement insert.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p00j8pu5irb2s0n1k7k6kui9we02\"}],\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_011\",\"docsetTargetFile\":\"n1qfwrokjenaexn18mul29th81vf.htm\"}},{\"name\":\"TPT_UNICODE_PASSTHRU=\",\"followsArguments\":[\"TERADATA\"],\"description\":\"Specifies whether to allow pass-through characters (PTC) to be loaded into SAS or written to Teradata.\",\"help\":\"TPT_UNICODE_PASSTHRU= YES | NO\",\"type\":\"choice\",\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_011\",\"docsetTargetFile\":\"p0l2m7xur57xgxn1s6flem2rikxd.htm\"}},{\"name\":\"TRACE=\",\"description\":\"Specifies whether to turn on tracing information for use in debugging.\",\"help\":\"TRACE= YES | NO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YES\",\"optional\":true,\"description\":\"specifies that tracing is enabled, and the DBMS driver manager writes each function call to the trace file that TRACEFILE= specifies.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1olcmbrhm3pw5n1aechcuwg6ers\"},{\"name\":\"NO\",\"optional\":true,\"description\":\"specifies that tracing is enabled.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1r6wjcj01u4nfn1sz82ptgt3bw5\"}],\"supportSiteInformation\":{\"docsetId\":\"acnrdb\",\"docsetVersion\":\"v_002\",\"docsetTargetFile\":\"n0f9qrxmcnba6xn1cw4is8biten3.htm\"}},{\"name\":\"TRACEFILE=\",\"description\":\"Specifies the file name to which the DBMS driver manager writes trace information.\",\"help\":\"TRACEFILE= *file-name* | '*path-and-file-name*'\",\"type\":\"choice\",\"arguments\":[{\"name\":\"file-name\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the name of the file in which to store trace information. When no path is provided, the SAS trace file is stored with your data files.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0kachibl8zwh5n10ub3peidk3i0\"},{\"name\":\"path-and-file-name\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the name of the file in which to store trace information and the directory where the trace file is stored. Enclose the fully qualified path name in single quotation marks.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p04p85nytwj82cn1wvaaf9y1k5y0\"}],\"supportSiteInformation\":{\"docsetId\":\"acnrdb\",\"docsetVersion\":\"v_002\",\"docsetTargetFile\":\"n00g76qe4jchq6n1kvkuraj31zeo.htm\"}},{\"name\":\"TRACEFLAGS=\",\"description\":\"Enables various tracing operations.\",\"help\":\"TRACEFLAGS= ALL | COLBINDINGS |   GETDATA |  PUTDATA | TIMESTAMP\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ALL\",\"optional\":true,\"description\":\"enables tracing for all operations that are available for this option.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0yhshwjkcyqwgn19ty56533l0wd\"},{\"name\":\"COLBINDINGS\",\"optional\":true,\"description\":\"enables tracing of column information on Read and Write.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p154yvtpklepn8n1n23xg9ghkrsn\"},{\"name\":\"GETDATA\",\"optional\":true,\"description\":\"enables tracing of operations that are related to Read.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1svbhl1fs4gl7n1fa7f7cyd73xk\"},{\"name\":\"PUTDATA\",\"optional\":true,\"description\":\"enables tracing of operations that are related to Write.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0ypfdsjmsi166n1rio79v0uk09b\"},{\"name\":\"TIMESTAMP\",\"optional\":true,\"description\":\"enables tracing of operations that are related to TIMESTAMP.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0opy21d39rk7kn1qf9r30ffnq42\"}],\"supportSiteInformation\":{\"docsetId\":\"acnrdb\",\"docsetVersion\":\"v_002\",\"docsetTargetFile\":\"n1sxocxfhodd8kn18t6oewvrx4ul.htm\"}},{\"name\":\"TRANSCODE_FAIL=\",\"followsArguments\":[\"JDBC\"],\"description\":\"Lets you specify how to handle processing and notification of transcoding errors.\",\"help\":\"TRANSCODE_FAIL= ERROR | WARNING | SILENT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ERROR\",\"optional\":true,\"description\":\"stops processing data and provides an informative error message.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0odhaudkxg0zkn1m3nvfrfkz0h2\"},{\"name\":\"WARNING\",\"optional\":true,\"description\":\"continues processing of data but provides an informative error message.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1qrj2f3udtgitn1s14zeunoivle\"},{\"name\":\"SILENT\",\"optional\":true,\"description\":\"continues processing of data but suppresses messages.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0slvhnovsuaobn1xstvvg9rugrz\"}],\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_011\",\"docsetTargetFile\":\"p0prrmsek6ksg4n12jttkcmkm7ge.htm\"}},{\"name\":\"TRANSERRORCOMPATMODE=\",\"aliases\":[\"TRANSERRORCOMPATMODE=\",\"TRANSCODEERRORCOMPATMODE=\",\"TRANSCODING_ERROR_COMPATIBILITY_MODE=\",\"TRANS_ERROR_COMPATIBILITY_MODE=\",\"TRANS_ERROR_COMPATMODE=\"],\"description\":\"Indicates whether transcoding errors are reported.\",\"help\":\"TRANSERRORCOMPATMODE= Y |  N\",\"type\":\"choice\",\"supportSiteInformation\":{\"docsetId\":\"accr3\",\"docsetVersion\":\"v_002\",\"docsetTargetFile\":\"n1nn5l9i6nxs2tn1vjgksx76icfo.htm\"}},{\"name\":\"TRUNCWARN=\",\"description\":\"Suppresses hard failure on NLS transcoding overflow and character mapping errors.\",\"help\":\"TRUNCWARN= NO | YES\",\"type\":\"choice\",\"supportSiteInformation\":{\"docsetId\":\"spdsug\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p0wm6ze3u0zmagn1irt0afaqpjum.htm\"}},{\"name\":\"TRUST_STORE_PASSWORD=\",\"followsArguments\":[\"HADOOP\",\"SPARK\"],\"description\":\"Specifies the password for the truststore.\",\"help\":\"TRUST_STORE_PASSWORD= \\\"*password*\\\"\",\"type\":\"value\",\"arguments\":[{\"name\":\"password\",\"placeholder\":true,\"description\":\"specifies the password for the truststore.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p10pvw3pfdsbsmn19ls88lvvm6ph\"}],\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_011\",\"docsetTargetFile\":\"p0xaver5akv50ln1iheanzmz8ier.htm\"}},{\"name\":\"TR_ENABLE_INTERRUPT=\",\"followsArguments\":[\"TERADATA\"],\"description\":\"Allows interruption of any long-running SQL processes that are involved in creating the result set or spool file.\",\"help\":\"TR_ENABLE_INTERRUPT= YES |  NO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YES\",\"optional\":true,\"description\":\"allows interruption of long-running SQL processes that are involved in creating the result set or spool file.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1eck5iooa7441n1w9mq112503aw\"},{\"name\":\"NO\",\"optional\":true,\"description\":\"disables the interrupt processing code path.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1ai3pb9rno5utn1cnm3uwauk9a7\"}],\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_011\",\"docsetTargetFile\":\"p17omwa4gp4ym9n1bc3qsopm7w5e.htm\"}},{\"name\":\"UID=\",\"followsArguments\":[\"DB2\",\"GREENPLM\",\"HADOOP\",\"INFORMIX\",\"JDBC\",\"ODBC\",\"ORACLE\",\"POSTGRES\",\"SAPIQ\",\"\",\"SNOW\",\"SPARK\",\"SQLSVR\",\"VERTICA\",\"YBRICK\"],\"aliases\":[\"USER=\"],\"description\":\"Specifies the user name or user ID for connecting to a data source.\",\"help\":\"UID= &lt;'&gt;*user-identifier*&lt;'&gt;\",\"type\":\"value\",\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_008\",\"docsetTargetFile\":\"n1c87dfvq0hf95n1vcahknpqroxs.htm\"}},{\"name\":\"UIL=\",\"followsArguments\":[\"GREENPLM\"],\"aliases\":[\"UPDATE_ISOLATION_LEVEL=\"],\"description\":\"Specifies the degree of isolation of the current application process from other concurrently running application processes.\",\"help\":\"UIL= *DBMS-specific-value*\",\"type\":\"value\",\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_008\",\"docsetTargetFile\":\"n1laot67qwiaj1n1dcw6f90a33y0.htm\"}},{\"name\":\"UNIXDOMAIN=\",\"description\":\"Specifies to use UNIX domain sockets for data transfers between the client and SPD Server.\",\"help\":\"UNIXDOMAIN= NO | YES\",\"type\":\"choice\",\"supportSiteInformation\":{\"docsetId\":\"spdsug\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n0llvecylud0sen1x5yb4fh7qhzr.htm\"}},{\"name\":\"UPDATEBUFF=\",\"followsArguments\":[\"ORACLE\"],\"description\":\"Specifies the number of rows that are processed in a single DBMS Update or Delete operation.\",\"help\":\"UPDATEBUFF= *positive-integer*\",\"type\":\"value\",\"arguments\":[{\"name\":\"positive-integer\",\"optional\":true,\"placeholder\":true,\"description\":\"the number of rows in an operation. SAS allows the maximum that the DBMS allows.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n17o42tub9jjcvn15b6kzlil6usn\"}],\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_011\",\"docsetTargetFile\":\"p0frqb2t15wl7yn1g49xiw4z4jqp.htm\"}},{\"name\":\"UPDATE_ISOLATION_LEVEL=\",\"followsArguments\":[\"DB2\",\"GREENPLM\",\"ODBC\",\"ORACLE\",\"POSTGRES\",\"REDSHIFT\",\"SAPASE\",\"SAPIQ\",\"SQLSVR\",\"TERADATA\",\"VERTICA\",\"YBRICK\"],\"description\":\"Specifies the degree of isolation of the current application process from other concurrently running application processes.\",\"help\":\"UPDATE_ISOLATION_LEVEL= *DBMS-specific-value*\",\"type\":\"value\",\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_011\",\"docsetTargetFile\":\"n1laot67qwiaj1n1dcw6f90a33y0.htm\"}},{\"name\":\"UPDATE_LOCK_TYPE=\",\"followsArguments\":[\"DB2\",\"GREENPLM\",\"ODBC\",\"ORACLE\",\"POSTGRES\",\"REDSHIFT\",\"SAPASE\",\"SAPHANA\",\"SAPIQ\",\"SQLSVR\",\"TERADATA\",\"VERTICA\",\"YBRICK\"],\"description\":\"Specifies how data in a DBMS table is locked during an update transaction.\",\"help\":\"UPDATE_LOCK_TYPE= ROW |   PAGE |   TABLE |   NOLOCK |  VIEW\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ROW\",\"optional\":true,\"description\":\"locks a row if any of its columns are to be updated.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p05a3m1n4p62cpn1pn3hm5cga398\"},{\"name\":\"PAGE\",\"optional\":true,\"description\":\"locks a page of data. The number of bytes in a page is specific to the DBMS.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1usr59q0tvrjdn18gyhrq4yivjz\"},{\"name\":\"TABLE\",\"optional\":true,\"description\":\"locks the entire DBMS table.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0tr44pje9eb8qn1kqh0r9hygc0x\"},{\"name\":\"NOLOCK\",\"optional\":true,\"description\":\"does not lock the DBMS table, page, or any rows when reading them for update.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0ennw9mlt5m0tn1lsehvwpdo1d9\"},{\"name\":\"VIEW\",\"optional\":true,\"description\":\"locks the entire DBMS view.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1l77fqz6uzk7rn1k8wwia0w8nhk\"}],\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_011\",\"docsetTargetFile\":\"n126asnnz3sf71n1pwqjquba114m.htm\"}},{\"name\":\"UPDATE_MODE_WAIT=\",\"followsArguments\":[\"TERADATA\"],\"description\":\"Specifies during SAS/ACCESS Update operations whether Teradata should wait to acquire a lock or fail the request when a different user has locked the DBMS resource.\",\"help\":\"UPDATE_MODE_WAIT= YES |   NO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YES\",\"optional\":true,\"description\":\"specifies for Teradata to wait to acquire the lock, so SAS/ACCESS waits indefinitely until it can acquire the lock.\",\"help\":\"YES \",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0xfhox5aroybtn1leavt6p22xtg\"},{\"name\":\"NO\",\"optional\":true,\"description\":\"specifies that Teradata fails the lock request if the specified DBMS resource is locked.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0x8kq4ghdc721n15jtwt7mcsqv6\"}],\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_011\",\"docsetTargetFile\":\"n0enb2gyy8cdjan1ujrz2f7z3txo.htm\"}},{\"name\":\"UPDATE_MULT_ROWS=\",\"followsArguments\":[\"GREENPLM\",\"IMPALA\",\"ODBC\",\"SAPHANA\",\"SAPIQ\",\"SNOW\",\"SQLSVR\",\"VERTICA\"],\"description\":\"Indicates whether SAS updates multiple rows from a data source, such as a DBMS table.\",\"help\":\"UPDATE_MULT_ROWS= YES |  NO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YES\",\"optional\":true,\"description\":\"specifies that SAS/ACCESS processing continues if multiple rows are updated. This might produce unexpected results.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0kf58qs15sgt4n1gnw5kz1zkxmh\"},{\"name\":\"NO\",\"optional\":true,\"description\":\"specifies that SAS/ACCESS processing does not continue if multiple rows are updated.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n14d9eoyd6rf6yn1pwa41zkli89m\"}],\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_011\",\"docsetTargetFile\":\"p05den62y7agkfn1a12dt8goukv2.htm\"}},{\"name\":\"UPDATE_SQL=\",\"followsArguments\":[\"DB2\",\"GREENPLM\",\"ODBC\",\"SQLSVR\",\"VERTICA\"],\"description\":\"Specifies whether SAS uses current-of-cursor SQL to update and delete rows in a data source.\",\"help\":\"UPDATE_SQL= YES | NO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YES\",\"optional\":true,\"description\":\"specifies that SAS/ACCESS uses Current-of-Cursor SQL to update or delete rows in a table.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1p5kk8rxfpbvwn1k4zzjlkhdazx\"},{\"name\":\"NO\",\"optional\":true,\"description\":\"specifies that SAS/ACCESS uses the SQLSetPos() application programming interface (API) to update or delete rows in a table.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n10iqwdcyxh5ccn1kwocqr1b9hjv\"}],\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_011\",\"docsetTargetFile\":\"n0rqnnrzy5tbm1n1ubt1afs6mwck.htm\"}},{\"name\":\"URI=\",\"followsArguments\":[\"HADOOP\",\"SPARK\"],\"aliases\":[\"URL=\"],\"description\":\"Specifies the JDBC connection string to use for your database connection.\",\"help\":\"URI= &lt;'&gt;*JDBC-URL*&lt;'&gt;\",\"type\":\"value\",\"arguments\":[{\"name\":\"JDBC-URL\",\"placeholder\":true,\"description\":\"specifies the JDBC connection string to use for your database connection.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1o6ljgb1at28qn13gqq5cpqq4mr\"}],\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_011\",\"docsetTargetFile\":\"n0t3kzpsr1noxbn118pam7dhvz6j.htm\"}},{\"name\":\"URL=\",\"followsArguments\":[\"JDBC\"],\"description\":\"Specifies the JDBC connection string to use for your database connection.\",\"help\":\"URL= \\\"jdbc:*driver-name*://*driver-connection-options*\\\"\",\"type\":\"value\",\"arguments\":[{\"name\":\"\\\"jdbc:://\\\"\",\"description\":\"specifies the JDBC connection string to use for your database connection.\",\"help\":\"\\\"jdbc:*driver-name*://*driver-connection-options*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n03m6hc2syfth4n1pfb615ivzfk3\"}],\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_011\",\"docsetTargetFile\":\"n009cx16hu90lkn1v4x112vtbkdp.htm\"}},{\"name\":\"USER=\",\"aliases\":[\"RFCUSER\",\"USERID\",\"USERNAME\",\"USR\"],\"description\":\"Indicates the SAP logon parameter user.\",\"help\":\"USER= *user*\",\"type\":\"value\",\"supportSiteInformation\":{\"docsetId\":\"accr3\",\"docsetVersion\":\"v_002\",\"docsetTargetFile\":\"n0kqw546g4vqbyn1witv1vtd1jk8.htm\"}},{\"name\":\"USERNAME=\",\"followsArguments\":[\"INFORMIX\"],\"aliases\":[\"USER=\"],\"description\":\"Specifies the user name or user ID for connecting to a data source.\",\"help\":\"USERNAME= &lt;'&gt;*user-identifier*&lt;'&gt;\",\"type\":\"value\",\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_008\",\"docsetTargetFile\":\"n1c87dfvq0hf95n1vcahknpqroxs.htm\"}},{\"name\":\"USERS\",\"followsArguments\":[\"PARQUET\"],\"description\":\"Defines users and their passwords that can be specified in Access Control Lists (ACLs) for Parquet files.\",\"help\":\"USERS =(*name-1*=*password-1*… *name-n*=*password-n*)\",\"type\":\"value\",\"supportSiteInformation\":{\"docsetId\":\"enghdff\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"p11m2hml6dpw9yn1pcfulyxpscj3.htm\"}},{\"name\":\"USE_INFORMATION_SCHEMA=\",\"followsArguments\":[\"BIGQUERY\"],\"description\":\"Specifies whether to use INFORMATION_SCHEMA in Google BigQuery to retrieve a list of schemas and tables or views.\",\"help\":\"USE_INFORMATION_SCHEMA= YES | NO\",\"type\":\"choice\",\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_011\",\"docsetTargetFile\":\"n0dy77exh2mjdbn1j7qbpym3hy1l.htm\"}},{\"name\":\"USE_NATIVE_NAMES=\",\"aliases\":[\"NATIVE_NAMES=\"],\"description\":\"Specifies whether to restore native naming conventions for custom tables and columns.\",\"help\":\"USE_NATIVE_NAMES= YES | NO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YES\",\"optional\":true,\"description\":\"restores the native naming convention of using the __c suffix with custom tables and columns.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n13if4fkqmse6hn1a1kins0moasu\"},{\"name\":\"NO\",\"optional\":true,\"description\":\"retains the current names for custom tables and columns. By default,the __c suffix at the end of custom table and column names is not displayed, and no suffix is needed to update component fields.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p15y3i6il6lopin1f1m31ufnvx48\"}],\"supportSiteInformation\":{\"docsetId\":\"acnrdb\",\"docsetVersion\":\"v_002\",\"docsetTargetFile\":\"n0gycvvi7sqcnjn1k3l6l4b1kpz4.htm\"}},{\"name\":\"USE_ODBC_CL=\",\"followsArguments\":[\"ODBC\",\"SAPHANA\",\"SQLSVR\"],\"description\":\"Indicates whether the Driver Manager uses the ODBC Cursor Library.\",\"help\":\"USE_ODBC_CL= YES |   NO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YES\",\"optional\":true,\"description\":\"specifies that the Driver Manager uses the ODBC Cursor Library. The ODBC Cursor Library supports block scrollable cursors and positioned update and delete statements.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0f42c0mq4av3jn1idyp5ja631fq\"},{\"name\":\"NO\",\"optional\":true,\"description\":\"specifies that the Driver Manager uses the scrolling capabilities of the driver.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0rwb58nzck37cn1fkw8tbcks7m7\"}],\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_011\",\"docsetTargetFile\":\"p0nhsktrtipxw9n1p8ypfk9vq6fk.htm\"}},{\"name\":\"USE_PIPELINE=\",\"followsArguments\":[\"REDSHIFT\"],\"description\":\"Enables pipeline read functionality for Amazon Redshift.\",\"help\":\"USE_PIPELINE= NO | YES\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NO\",\"description\":\"fetches rows directly to the main SAS read buffer. The main SAS read buffer runs in a single thread.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1npa8awbqtajjn1n4lxqpeyegw4\"},{\"name\":\"YES\",\"description\":\"specifies to leverage multi-thread technology to improve read performance.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0grkqh98kcwhyn1onnt0v90t9y8\"}],\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_011\",\"docsetTargetFile\":\"p0aopz9z5zlvden1k3xi3lwwoq1r.htm\"}},{\"name\":\"USE_SP_TABLES=\",\"followsArguments\":[\"ODBC\",\"SQLSVR\"],\"description\":\"Specifies whether to use the sp_tables stored procedure to check for table existence.\",\"help\":\"USE_SP_TABLES= YES | NO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YESNO\",\"description\":\"specifies whether to use the sp_tables stored procedure to check for table existence. If you do not use the stored procedure, then a SELECT SQL statement is used to check for table existence.\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YES\",\"type\":\"standalone\"},{\"name\":\"NO\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"n0l5ilipc6wnpdn145nxaey5cz64\"}],\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_011\",\"docsetTargetFile\":\"n1qfsxkrmn26c0n1s3d2ims64ymt.htm\"}},{\"name\":\"USE_SSL=\",\"followsArguments\":[\"HADOOP\",\"SPARK\"],\"description\":\"Specifies whether to use TLS encryption for connections.\",\"help\":\"USE_SSL= YES | NO\",\"type\":\"choice\",\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_011\",\"docsetTargetFile\":\"n1sif4pze1as4yn1o8bhi3qk1xtw.htm\"}},{\"name\":\"USING=\",\"followsArguments\":[\"INFORMIX\",\"SNOW\"],\"aliases\":[\"PASSWORD=\"],\"description\":\"Specifies the password or access token to access a data source.\",\"help\":\"USING= &lt;'&gt;*password*&lt;'&gt;\",\"type\":\"value\",\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_008\",\"docsetTargetFile\":\"n0mtrtroo9n75pn1oa992b2h2408.htm\"}},{\"name\":\"UTILCONN_TRANSIENT=\",\"followsArguments\":[\"DB2\",\"GREENPLM\",\"IMPALA\",\"INFORMIX\",\"MYSQL\",\"NETEZZA\",\"ODBC\",\"ORACLE\",\"POSTGRES\",\"REDSHIFT\",\"SAPASE\",\"SAPHANA\",\"SAPIQ\",\"SNOW\",\"SSTORE\",\"TERADATA\",\"VERTICA\",\"YBRICK\"],\"description\":\"Specifies whether a utility connection is automatically dropped as soon as it is no longer in use.\",\"help\":\"UTILCONN_TRANSIENT= NO |   YES\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NO\",\"optional\":true,\"description\":\"specifies that a utility connection is maintained for the lifetime of the libref.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p13n1a88lii8x1n18rkldvj3e4hz\"},{\"name\":\"YES\",\"optional\":true,\"description\":\"specifies that a utility connection is automatically dropped as soon as it is no longer in use.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0eoi2vuwpcha3n1wwx04ntxn6ky\"}],\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_011\",\"docsetTargetFile\":\"n17bep4lv3htqtn1kvtg2pva78ny.htm\"}},{\"name\":\"UUID=\",\"description\":\"Connects the CAS engine to the CAS session that is identified in the UUID.\",\"help\":\"UUID= *“session-uuid”*\",\"type\":\"value\",\"supportSiteInformation\":{\"docsetId\":\"casref\",\"docsetVersion\":\"v_004\",\"docsetTargetFile\":\"n16m0md0x5qz6xn1v1faqfyzt3b4.htm\"}},{\"name\":\"UUIDMAC=\",\"description\":\"Specifies a macro variable that stores a UUID for any session created by the engine.\",\"help\":\"UUIDMAC= *“macro-variable-name”*\",\"type\":\"value\",\"supportSiteInformation\":{\"docsetId\":\"casref\",\"docsetVersion\":\"v_004\",\"docsetTargetFile\":\"n06sczj71ev19yn17ijo0njydrz3.htm\"}},{\"name\":\"V9\",\"aliases\":[\"BASE\"],\"description\":\"specifies the default engine for accessing SAS files in Base SAS.\",\"type\":\"standalone\"},{\"name\":\"VERTICA\",\"description\":\"specifies the SAS/ACCESS engine name for the Vertica interface.\",\"type\":\"standalone\",\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_008\",\"docsetTargetFile\":\"p172yqf5a27rtvn1ityuv8w0viv6.htm\"}},{\"name\":\"VIYA_SERVICES_URL\",\"description\":\"Specifies the URL for the SAS Viya platform deployment for Ingress.\",\"help\":\"VIYA_SERVICES_URL | VIYA_URL= *&lt;https://viya-ingress-url[:port]&gt;*\",\"type\":\"value\",\"supportSiteInformation\":{\"docsetId\":\"dataagenteng\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"n0me0uytxzbpudn1qjcakylixfcv.htm\"}},{\"name\":\"WAREHOUSE=\",\"followsArguments\":[\"SNOW\"],\"description\":\"Specifies the default Snowflake warehouse to use for sessions that the driver initiated.\",\"help\":\"WAREHOUSE= &lt;'&gt;*Snowflake-warehouse*&lt;'&gt;\",\"type\":\"value\",\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_011\",\"docsetTargetFile\":\"n0gjae4zvg6fixn1w04cesrlkk5x.htm\"}},{\"name\":\"WARN_BIGINT=\",\"followsArguments\":[\"DB2\",\"SQLSVR\"],\"aliases\":[\"BIGINT_WARN=\"],\"description\":\"issues a warning in the SAS log if the BIGINT data type is in a DBMS table.\",\"help\":\"WARN_BIGINT= YES |   NO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YES\",\"optional\":true,\"description\":\"issues a warning in the SAS log if a BIGINT data type is in a DBMS table.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n17pwedq5b2grsn1g0s2dxywj5da\"},{\"name\":\"NO\",\"optional\":true,\"description\":\"specifies that the warning for a BIGINT data type does not appear in the SAS log.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1pzqp6vfobcnwn1ctqr2xqgh0r7\"}],\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_011\",\"docsetTargetFile\":\"p1xn9vbn62rzzln1hjscaurvn2vc.htm\"}},{\"name\":\"WEBHDFSURL=\",\"followsArguments\":[\"HADOOP\",\"IMPALA\"],\"description\":\"Specifies the URL to use to access the Hadoop distributed file system (HDFS) through a REST API.\",\"help\":\"WEBHDFSURL= \\\"*WebHDFS-URL*\\\"\",\"type\":\"value\",\"arguments\":[{\"name\":\"WebHDFS-URL\",\"placeholder\":true,\"description\":\"specifies the URL to access the Hadoop distributed file system (HDFS) through a REST API.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n16uwe874wkjlgn140s4jlyvq1hw\"}],\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_011\",\"docsetTargetFile\":\"n1s8b9tz3rn4ogn106xqu0v29y7o.htm\"}},{\"name\":\"WRITETRANSFERSIZE=\",\"aliases\":[\"WTS\"],\"description\":\"Specifies the maximum number of bytes that the CAS engine writes when transferring data to the CAS server.\",\"help\":\"WRITETRANSFERSIZE= *integer* | *integer*K | *integer*M | *integer*G\",\"type\":\"choice\",\"supportSiteInformation\":{\"docsetId\":\"casref\",\"docsetVersion\":\"v_004\",\"docsetTargetFile\":\"n1tzepk2j5k1qnn184e2unjmew24.htm\"}},{\"name\":\"XLSX\",\"description\":\"is the SAS LIBNAME engine name for reading and writing Microsoft Excel files in the .xlsx file format.\",\"type\":\"standalone\"},{\"name\":\"XMLCONCATENATE=\",\"followsArguments\":[\"XML\"],\"aliases\":[\"XMLCONCAT=\"],\"description\":\"Specifies whether the file to be imported contains multiple, concatenated XML documents.\",\"help\":\"XMLCONCATENATE= NO | YES\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NO\",\"optional\":true,\"description\":\"specifies that the file to be imported does not contain concatenated XML documents.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0nz9qczil8t4mn1azes3dd5n63z\"},{\"name\":\"YES\",\"optional\":true,\"description\":\"specifies that the file to be imported contains multiple, concatenated XML documents.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0uoof67xtcjfqn17c27r92g6u1f\"}],\"supportSiteInformation\":{\"docsetId\":\"engxml\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p17qxuhvdv7c26n17870ett00wb9.htm\"}},{\"name\":\"XMLDATAFORM=\",\"followsArguments\":[\"XMLV2\",\"XML\"],\"description\":\"Specifies whether the tag for the element to contain SAS variable information (name and data) is in open-element or enclosed-attribute format.\",\"help\":\"XMLDATAFORM= ELEMENT | ATTRIBUTE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ELEMENT\",\"optional\":true,\"description\":\"specifies that the tag is in open-element format.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0t982tclzt4zon10ao4cfbclmuv\"},{\"name\":\"ATTRIBUTE\",\"optional\":true,\"description\":\"specifies that the tag is in enclosed-attribute format.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p12qfcmchh0kcln1qkzh6ajnak86\"}],\"supportSiteInformation\":{\"docsetId\":\"engxml\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n1d4wmsnstjxs5n167s0uwuqk4yu.htm\"}},{\"name\":\"XMLDOUBLE=\",\"followsArguments\":[\"XMLV2\",\"XML\"],\"description\":\"Controls the results of importing or exporting numeric values.\",\"help\":\"XMLDOUBLE= DISPLAY | INTERNAL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DISPLAY\",\"optional\":true,\"aliases\":[\"FORMAT\"],\"description\":\"when exporting, the engine retrieves the stored value for the numeric variable, determines an appropriate display for the value in a readable form, and writes the display value to the XML document. The display value is affected by the engine and whether a format is assigned.\\n• The XML engine uses an assigned format. The maximum value is 16 digits. For example, if a numeric variable has an assigned format width that is 20 digits, such as BEST20., the engine truncates the exported value. If there is not an assigned format, the engine displays the value using BEST10.\\n• The XMLV2 engine ignores any assigned format and displays the value using BEST16.\",\"help\":\"DISPLAY \",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1o1rtoj6hbyovn1tvtc83g40hl0\"},{\"name\":\"INTERNAL\",\"optional\":true,\"aliases\":[\"PRECISION\"],\"description\":\"when exporting, the engine retrieves the stored value for the numeric variable and writes the raw value to a generated attribute value pair (of the form rawvalue=\\\"value\\\"). SAS uses the base64 encoding of a portable machine representation. (The base64 encoding method converts binary data into ASCII text and vice versa and is similar to the MIME format.)\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0pc2br02k1nron1q7llcfbovpa6\"}],\"supportSiteInformation\":{\"docsetId\":\"engxml\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n08s5he5wql8g5n1hb36e0yl5xky.htm\"}},{\"name\":\"XMLENCODING=\",\"followsArguments\":[\"XMLV2\",\"XML\"],\"description\":\"Overrides the SAS data set's encoding for the output file.\",\"help\":\"XMLENCODING= '*encoding-value*'\",\"type\":\"value\",\"arguments\":[{\"name\":\"'encoding-value'\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies an encoding value. If the value contains a hyphen, enclose the value in quotation marks.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0cxdiqm1vrs4gn1hy1nb3phb7lo\"}],\"supportSiteInformation\":{\"docsetId\":\"engxml\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n031tkihzjyuybn1ny7odnn4sjpz.htm\"}},{\"name\":\"XMLFILEREF=\",\"followsArguments\":[\"XMLV2\",\"XML\"],\"description\":\"Specifies an XML document to be exported or imported.\",\"help\":\"XMLFILEREF= *fileref*\",\"type\":\"value\",\"arguments\":[{\"name\":\"fileref\",\"optional\":true,\"placeholder\":true,\"description\":\"is the SAS name that is assigned to the physical location of the XML document to be exported or imported.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0ose8sfvcpw59n1dvps6c87svu7\"}],\"supportSiteInformation\":{\"docsetId\":\"engxml\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n04ma5ck4gmc9mn1xa0crupbtiu5.htm\"}},{\"name\":\"XMLMAP=\",\"followsArguments\":[\"XMLV2\",\"XML\"],\"description\":\"Specifies an XML document that contains specific XMLMap syntax.\",\"help\":\"XMLMAP= *fileref* | '*XMLMap-location*'\",\"type\":\"choice\",\"arguments\":[{\"name\":\"fileref\",\"optional\":true,\"placeholder\":true,\"description\":\"is the SAS name that is assigned to the physical location of the XMLMap. To assign a fileref, use the FILENAME statement.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n08gzgd714tg7jn1t04u7utovjg3\"},{\"name\":\"'XMLMap-location'\",\"optional\":true,\"placeholder\":true,\"description\":\"is the physical location of the XMLMap.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n05h40y9ksziipn1ev1qklmim2ld\"}],\"supportSiteInformation\":{\"docsetId\":\"engxml\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p0wjl5q1zgtph1n1gxhnaayxbu2a.htm\"}},{\"name\":\"XMLMETA=\",\"followsArguments\":[\"XMLV2\",\"XML\"],\"description\":\"Specifies whether to include metadata-related information in the exported markup, or specifies whether to import metadata-related information that is included in the input XML document.\",\"help\":\"XMLMETA= DATA | SCHEMADATA | SCHEMA\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DATA\",\"optional\":true,\"description\":\"ignores metadata-related information. DATA includes only data content in the exported markup and imports only data content in the input XML document.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1bu723no7tu4nn1xdsckemt0gsz\"},{\"name\":\"SCHEMADATA\",\"optional\":true,\"description\":\"includes both data content and metadata-related information in the exported markup and imports both data content and metadata-related information in the input XML document.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1tjbw8hp2nqzan1efy2q5nqhznl\"},{\"name\":\"SCHEMA\",\"optional\":true,\"description\":\"ignores data content. SCHEMA includes only metadata-related information in the exported markup and imports only metadata-related information in the input XML document.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n13izpzn08akwnn1lq20y9ztc4hr\"}],\"supportSiteInformation\":{\"docsetId\":\"engxml\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n0p4l9536wu107n1o9klu8un8nib.htm\"}},{\"name\":\"XMLPROCESS=\",\"followsArguments\":[\"XMLV2\",\"XML\"],\"description\":\"Determines how the engine processes character data that does not conform to W3C specifications.\",\"help\":\"XMLPROCESS= CONFORM | PERMIT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"CONFORM\",\"optional\":true,\"description\":\"requires that the XML conform to W3C specifications. W3C specifications state that for character data, certain characters such as the left angle bracket (<), the ampersand (&), and the apostrophe (') must be escaped using character references or strings like &amp;. For example, to allow attribute values to contain both single and double quotation marks, the apostrophe or single quotation mark character (') can be represented as &apos; and the double quotation mark character (\\\") can be represented as &quot;.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0nkp1xtinf0p5n17gov9rn9qzew\"},{\"name\":\"PERMIT\",\"optional\":true,\"description\":\"permits character data that does not conform to W3C specifications to be accepted. That is, in character data, non-escaped characters such as the apostrophe, double quotation marks, and the ampersand are accepted.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1uxj04tsxyomzn139ot33gokl5y\"}],\"supportSiteInformation\":{\"docsetId\":\"engxml\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p07cvm2rimvv04n1i4v0rhx1ovqr.htm\"}},{\"name\":\"XMLSCHEMA=\",\"followsArguments\":[\"XMLV2\",\"XML\"],\"description\":\"Specifies an external file to contain metadata-related information.\",\"help\":\"XMLSCHEMA= *fileref* | '*external-file*'\",\"type\":\"choice\",\"arguments\":[{\"name\":\"fileref\",\"optional\":true,\"placeholder\":true,\"description\":\"is the SAS name that is assigned to the physical location of the output file. To assign a fileref, use the FILENAME statement.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1779dydtqztxsn16sxcn97nxtkc\"},{\"name\":\"'external-file'\",\"optional\":true,\"placeholder\":true,\"description\":\"is the physical location of the file to contain the metadata-related information. Include the complete path name and the file name. Enclose the physical name in single or double quotation marks.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1k4x0486ax4rdn1lfx3scqcnlpx\"}],\"supportSiteInformation\":{\"docsetId\":\"engxml\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p162snytn61yf7n1raxezxex5byx.htm\"}},{\"name\":\"XMLTYPE=\",\"followsArguments\":[\"XMLV2\",\"XML\"],\"description\":\"Specifies the XML markup type.\",\"help\":\"XMLTYPE= GENERIC | CDISCODM | MSACCESS | ORACLE | XMLMAP\",\"type\":\"choice\",\"arguments\":[{\"name\":\"GENERIC\",\"optional\":true,\"description\":\"is a simple, well-formed XML markup type. The XML document consists of a root (enclosing) element and repeating element instances. GENERIC determines a variable's attributes from the data content.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0axuin1qpq2v3n14ks3y20w55zb\"},{\"name\":\"CDISCODM\",\"optional\":true,\"description\":\"is the XML markup type for the markup standards that are defined in the Operational Data Model (ODM) that was created by the Clinical Data Interchange Standards Consortium (CDISC). The XML engine supports the ODM 1.2 schema specification. ODM supports the electronic acquisition, exchange, and archiving of clinical trials data and metadata for medical and biopharmaceutical product development.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0dvaaop4cn93an1ffkeb3hf0dvf\"},{\"name\":\"MSACCESS\",\"optional\":true,\"description\":\"is the XML markup type for the markup standards supported for a Microsoft Access database (.mdb). If the Microsoft Access file contains metadata-related information, then you must specify MSACCESS rather than the default GENERIC markup type. If there is an embedded XML schema, specifying MSACCESS and the XMLMETA=SCHEMADATA option causes a variable's attributes to be obtained from the embedded schema. If there is not an embedded schema, MSACCESS uses default values for attributes.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1q3tsaj21h3ohn1dwkh5ps6d46g\"},{\"name\":\"ORACLE\",\"optional\":true,\"description\":\"is the XML markup type for the markup standards equivalent to the Oracle 8i XML implementation. The number of columns to indent each nested element is one, and the enclosing element tag for the contents of the SAS data set is ROWSET.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1u9pcw1uc3e7tn1674ntu5gd9rx\"},{\"name\":\"XMLMAP\",\"optional\":true,\"description\":\"specifies that XML markup is determined by an XMLMap, which is an XML document that you create that contains specific XMLMap syntax.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0ym19c158i5pjn1r24umbj3nrn3\"}],\"supportSiteInformation\":{\"docsetId\":\"engxml\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p1mj80r4qkuwvqn16ezz91cisgob.htm\"}},{\"name\":\"XMLV2\",\"description\":\"specifies the XMLV2 engine, which accesses the current engine functionality.\",\"type\":\"standalone\"},{\"name\":\"YBRICK\",\"description\":\"specifies the SAS/ACCESS engine name for the Yellowbrick interface.\",\"type\":\"standalone\",\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_008\",\"docsetTargetFile\":\"p1glxtyjwwmcbjn167iihv46eot6.htm\"}},{\"name\":\"ZOOKEEPER_NAMESPACE=\",\"followsArguments\":[\"HADOOP\",\"SPARK\"],\"description\":\"Specifies the ZooKeeper namespace.\",\"help\":\"ZOOKEEPER_NAMESPACE= *namespace*\",\"type\":\"value\",\"arguments\":[{\"name\":\"namespace\",\"placeholder\":true,\"description\":\"specifies the ZooKeeper namespace.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p023r2y32fp4czn1rp1xr5vyb264\"}],\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_011\",\"docsetTargetFile\":\"n0bjaek4v264opn1iwbveudqkp9h.htm\"}},{\"name\":\"ZOOKEEPER_PORT=\",\"followsArguments\":[\"HADOOP\",\"SPARK\"],\"description\":\"Specifies the port number that ZooKeeper listens to for client requests.\",\"help\":\"ZOOKEEPER_PORT= *port-number*\",\"type\":\"value\",\"arguments\":[{\"name\":\"port-number\",\"placeholder\":true,\"description\":\"specifies the port number that ZooKeeper listens to for client requests.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p11dp4zbry5tybn1ehg34l12a74d\"}],\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_011\",\"docsetTargetFile\":\"n1wvlswlzddrtfn1nfhh5954z02i.htm\"}},{\"name\":\"ZOOKEEPER_QUORUM=\",\"followsArguments\":[\"HADOOP\",\"SPARK\"],\"description\":\"Specifies the server nodes that are available to run client requests.\",\"help\":\"ZOOKEEPER_QUORUM= '*server-node1*&lt;,*server-node2* ...&gt;'\",\"type\":\"value\",\"arguments\":[{\"name\":\"server-node\",\"placeholder\":true,\"description\":\"specifies the server nodes that are available to run client requests. Separate node names using commas.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0fp7lp08umhsfn14887hqjphloy\"}],\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_011\",\"docsetTargetFile\":\"p1bffmwsibl5ejn15p7eft7wyb7x.htm\"}}],\"supportSiteInformation\":{\"docsetId\":\"lestmtsglobal\",\"docsetVersion\":\"v_002\",\"docsetTargetFile\":\"n1nk65k2vsfmxfn1wu17fntzszbp.htm\"}},{\"name\":\"LOCK\",\"description\":\"Acquires, lists, or releases an exclusive lock on an existing SAS file.\",\"help\":\"LOCK libref<.member-name<.member-type | .entry-name.entry-type>>\\n<LIST | QUERY | SHOW | CLEAR | NOMSG>;\",\"arguments\":[{\"name\":\"libref\",\"optional\":true,\"placeholder\":true,\"description\":\"is a name that is associated with a SAS library. The libref (library reference) must be a valid SAS name. If the libref is Sasuser or Work, you must specify it.\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"n0gf1knc8jquubn0zki208tuiunp\"},{\"name\":\"member-name\",\"optional\":true,\"placeholder\":true,\"description\":\"is a valid SAS name that specifies a member of the SAS library that is associated with the libref.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0v5z42bqj6apqn1wcaiyqm9oh09\"},{\"name\":\"member-type\",\"optional\":true,\"placeholder\":true,\"description\":\"is the type of SAS file to be locked. For example, valid values are DATA, VIEW, CATALOG, MDDB, and so on. The default is DATA.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0mk18hp71d4b6n1k6yunj1sdpzq\"},{\"name\":\"entry-name\",\"optional\":true,\"placeholder\":true,\"description\":\"is the name of the catalog entry to be locked.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0viljxeuzk5lwn1snm8jgdq3en6\"},{\"name\":\"entry-type\",\"optional\":true,\"placeholder\":true,\"description\":\"is the type of catalog entry to be locked.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n184pxkd72mp0zn1mhex07ni6hmg\"},{\"name\":\"LIST\",\"optional\":true,\"description\":\"writes to the SAS log whether you have an exclusive lock on the specified SAS file.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1anxmlywm3n34n1wjlq1tfbyb7l\"},{\"name\":\"QUERY\",\"optional\":true,\"description\":\"writes to the SAS log whether you have an exclusive lock on the specified SAS file.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1anxmlywm3n34n1wjlq1tfbyb7l\"},{\"name\":\"SHOW\",\"optional\":true,\"description\":\"writes to the SAS log whether you have an exclusive lock on the specified SAS file.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1anxmlywm3n34n1wjlq1tfbyb7l\"},{\"name\":\"CLEAR\",\"optional\":true,\"description\":\"releases a lock on the specified SAS file that was acquired using the LOCK statement in your SAS session.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1ugnux40gvvbnn1b5yictxrjd76\"},{\"name\":\"NOMSG\",\"optional\":true,\"description\":\"specifies that warnings and error messages are not written to the SAS log. NOMSG does not suppress notes that tell you that a lock is successful or that a lock is cleared.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p18yiw96i2gos3n1uk2f4i14ujvn\"}],\"supportSiteInformation\":{\"docsetId\":\"lestmtsglobal\",\"docsetVersion\":\"v_002\",\"docsetTargetFile\":\"p0pc4mpj7xzxs4n1257fgz2tkuyb.htm\"}},{\"name\":\"MISSING\",\"description\":\"Assigns characters in your input data to represent special missing values for numeric data.\",\"help\":\"MISSING *character(s)*;\",\"arguments\":[{\"name\":\"character\",\"optional\":true,\"placeholder\":true,\"description\":\"is the value in your input data that represents a special missing value.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p14mma1bugcpnrn1snhfdhpcna8c\"}],\"supportSiteInformation\":{\"docsetId\":\"lestmtsglobal\",\"docsetVersion\":\"v_002\",\"docsetTargetFile\":\"n0ewjmosjtyjbtn1t5zabfkrof4f.htm\"}},{\"name\":\"ODS CSV\",\"description\":\"Opens, manages, or closes the CSV destination, which produces CSV output containing columns of data values that are separated by commas and produces tabular output.\",\"help\":\"ODS CSV <(<ID => identifier)><action> ;\\nODS CSV <(<ID => identifier)><options> ;\",\"arguments\":[{\"name\":\"BODY=\",\"optional\":true,\"aliases\":[\"FILE=\"],\"description\":\"Open a markup family destination and specify the file that contains the primary output that is created by the ODS statement\",\"help\":\"BODY= \\\"*file-specification*\\\" (*suboptions*)\",\"type\":\"value\",\"arguments\":[{\"name\":\"external-file\",\"placeholder\":true,\"description\":\"is the name of an external output file.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1qruqgn88mmwvn1ankfz7linc4aa\"},{\"name\":\"fileref\",\"placeholder\":true,\"description\":\"is a file reference that has been assigned to an external file. Use the FILENAME statement to assign a fileref.\",\"help\":\"*fileref* \",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0z3178b30z9pnn14wga1votqbfea\"},{\"name\":\"entry.markup\",\"placeholder\":true,\"description\":\"specifies an entry in a SAS catalog to write to.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n19sx575c8xn2yn1dz6w6tepmif7a\"}],\"supportSiteTargetFragment\":\"n0yn6651z9d28wn13han0e9bll2xa\"},{\"name\":\"DOM\",\"optional\":true,\"description\":\"Specify that the ODS document object model is written to the SAS Log or to an external file\",\"help\":\"DOM&lt;=\\\"*external-file*\\\"&gt;\",\"type\":\"standaloneOrValue\",\"arguments\":[{\"name\":\"external-file\",\"placeholder\":true,\"description\":\"is the name of an external output file.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0vzar5h7f8gtcn1x5ihohfiun0fa\"}],\"supportSiteTargetFragment\":\"n1c57d2048ucksn1o3iq5uj0pim2a\"},{\"name\":\"ENCODING=\",\"optional\":true,\"description\":\"Override the encoding for input or output processing (transcodes) of external files\",\"help\":\"ENCODING= *local-character-set-encoding*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1iri7jiorpy5an19yud8nmfkdaea\"},{\"name\":\"EVENT=\",\"optional\":true,\"description\":\"Specify an event and the value for event variables that is associated with the event\",\"help\":\"EVENT= (FILE=*event-name* | FINISH | LABEL= | NAME= | START | STYLE= | TARGET= | TEXT= | URL= )\",\"type\":\"choice\",\"arguments\":[{\"name\":\"(FILE=)\",\"description\":\"triggers one of the known types of output files that correspond to the BODY=, CODE=, CONTENTS=, FRAME=, PAGES=, and STYLESHEET= options.\",\"help\":\"(FILE= BODY | CODE | CONTENTS | DATA | FRAME | PAGES | STYLESHEET)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"BODY\",\"type\":\"standalone\"},{\"name\":\"CODE\",\"type\":\"standalone\"},{\"name\":\"CONTENTS\",\"type\":\"standalone\"},{\"name\":\"DATA\",\"type\":\"standalone\"},{\"name\":\"FRAME\",\"type\":\"standalone\"},{\"name\":\"PAGES\",\"type\":\"standalone\"},{\"name\":\"STYLESHEET\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"n0sto57qqqtz92n1pz4aoktvscdfa\"},{\"name\":\"(FINISH)\",\"description\":\"triggers the finish section of an event.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1puz3bafkovoan1dq2xehjwbyvna\"},{\"name\":\"(LABEL='')\",\"description\":\"specifies the value for the LABEL event variable.\",\"help\":\"(LABEL='*variable-value*')\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0pxgjdbrqfm68n1plbl16q1l93va\"},{\"name\":\"(NAME='')\",\"description\":\"specifies the value for the NAME event variable.\",\"help\":\"(NAME='*variable-value*')\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p05a4behw90sktn17hb8v511p1k6a\"},{\"name\":\"(START)\",\"description\":\"triggers the start section of an event.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0z505zsq5aekqn1g847yi2axtm9a\"},{\"name\":\"(STYLE=)\",\"description\":\"specifies a style element.\",\"help\":\"(STYLE=*style-element*)\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p05bcihqe87mw7n1vffjxj24p6uma\"},{\"name\":\"(TARGET='')\",\"description\":\"specifies the value for the TARGET event variable.\",\"help\":\"(TARGET='*variable-value*')\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1unxvgxq8zvubn19wyk19ouvcnca\"},{\"name\":\"(TEXT='')\",\"description\":\"specifies the value for the TEXT event variable.\",\"help\":\"(TEXT='*variable-value*')\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n11ir18xfxvca6n1rxyuhrb8pt4xa\"},{\"name\":\"(URL='')\",\"description\":\"specifies the value for the URL event variable.\",\"help\":\"(URL='*variable-value*')\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1dn1u2sgov29cn1bj05hcahnk10a\"}],\"supportSiteTargetFragment\":\"p0xwg5a2ovaxf5n17uac0z2ivnjna\"},{\"name\":\"(ID= )\",\"optional\":true,\"description\":\"Open multiple instances of the same destination at the same time\",\"help\":\"(ID= *identifier*)  \",\"type\":\"value\",\"arguments\":[{\"name\":\"identifier\",\"placeholder\":true,\"description\":\"specifies another instance of the destination that is already open. identifier is numeric or a series of characters that begin with a letter or an underscore. Subsequent characters can include letters, underscores, and numeric characters.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1ik5dutu6em7un12sygbpoibz2ba\"}],\"supportSiteTargetFragment\":\"n08a4r2r3ld7q5n1gegnp2cj0tbaa\"},{\"name\":\"NEWFILE=\",\"optional\":true,\"description\":\"Create a new body file at the specified starting point\",\"help\":\"NEWFILE= *starting-point*\",\"type\":\"value\",\"arguments\":[{\"name\":\"BYGROUP\",\"description\":\"starts a new file for the results of each BY group.\",\"help\":\"BYGROUP \",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0cb532mycvnxhn1bl0y0h3ixid3a\"},{\"name\":\"NONE\",\"description\":\"writes all output to the body file that is currently open.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n19l1gwxdiqp2on1fehxjiqfuntla\"},{\"name\":\"OUTPUT\",\"aliases\":[\"TABLE\"],\"description\":\"starts a new body file for each output object. For SAS/GRAPH this means that ODS creates a new file for each SAS/GRAPH output file that the program generates.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0r7sk230x8uugn1t6t50ntwqt53a\"},{\"name\":\"PAGE\",\"description\":\"starts a new body file for each page of output. A page break occurs when a procedure explicitly starts a new page (not because the page size was exceeded) or when you start a new procedure.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0qy7xn25nkozsn1sswffg5sglu8a\"},{\"name\":\"PROC\",\"description\":\"starts a new body file each time you start a new procedure.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p03d2ii73d349cn1q08mh8fv7j37a\"}],\"supportSiteTargetFragment\":\"n0cwql5zij14uen1qlnfwso4vppza\"},{\"name\":\"OPTIONS\",\"optional\":true,\"description\":\"Specify tagset-specific suboptions and a named value\",\"help\":\"OPTIONS ( DOC=&lt;*suboptions*&gt;  )\",\"type\":\"choice\",\"arguments\":[{\"name\":\"(DOC=''''''\",\"description\":\"provides information about the specified tagset.\",\"help\":\"(DOC='HELP | ''QUICK | ''SETTINGS | '‘CHANGELOG’)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"HELP\",\"description\":\"provides generic help and information with a quick reference.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1r7fk0whthowvn13zy46xdl4ijba\"},{\"name\":\"QUICK\",\"description\":\"describes the options available for this tagset.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p16h6042s8lanen1q2tdjvw1lskga\"},{\"name\":\"SETTINGS\",\"description\":\"provides the current option settings.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0tk33j47y7kdpn1db326ztdwwkya\"},{\"name\":\"CHANGELOG\",\"description\":\"lists a history of changes made to the tagset. This suboption is supported only on the RTF tagset.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0npk4frf6cigmn1ovqu06cvrqb1a\"}],\"supportSiteTargetFragment\":\"p105mxit59a068n14xcjgn2jwyb5a\"},{\"name\":\"suboptions\",\"placeholder\":true,\"description\":\"specifies one or more suboptions that are valid for the specified tagset. Suboptions have the following format.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1m613cxa4y58bn1e4f7hwae7nuta\"}],\"supportSiteTargetFragment\":\"p1asf9z6d7vhorn11sqo9xhwsvf2a\"},{\"name\":\"PACKAGE\",\"optional\":true,\"description\":\"Specify that the output from the destination be added to an ODS package\",\"help\":\"PACKAGE        &lt;(*package-name*)&gt;\",\"type\":\"value\",\"arguments\":[{\"name\":\"package-name\",\"placeholder\":true,\"description\":\"specifies the name of a package that was created with the ODS PACKAGE statement. If no name is specified, then the output is added to the unnamed package that was opened last.\",\"help\":\"package-name\\n       \",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1nzuvjnflkrken1v28d6t2l6bdl\"}],\"supportSiteTargetFragment\":\"n0e5hwhthunv7an17e2gqjti9tvp\"},{\"name\":\"PATH=\",\"optional\":true,\"description\":\"Specify the location of an aggregate storage location or a SAS catalog for all markup files\",\"help\":\"PATH=*'aggregate-file-storage-specification'* | *fileref* | *libref.catalog*\",\"type\":\"choice\",\"arguments\":[{\"name\":\"'aggregate-file-storage-location'\",\"placeholder\":true,\"description\":\"specifies an aggregate storage location such as directory, folder, or partitioned data set.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n14f465dbc3062n1vfpazmqn0it6\"},{\"name\":\"fileref\",\"placeholder\":true,\"description\":\"is a file reference that has been assigned to an aggregate storage location. Use the FILENAME statement to assign a fileref.\",\"help\":\"fileref\\n       \",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1sahja9fjiigpn12xv803g4pbrh\"},{\"name\":\"libref.catalog\",\"placeholder\":true,\"description\":\"specifies a SAS catalog to write to.\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"n1a35gercspq79n1tl9o8f9x1bki\"}],\"supportSiteTargetFragment\":\"p16d6z28spu91rn1etq1ekj8z8p8\"},{\"name\":\"RECORD_SEPARATOR=\",\"optional\":true,\"aliases\":[\"RECSEP=\",\"RS=\"],\"description\":\"Specify an alternative character or string to separate lines in the output files\",\"help\":\"RECORD_SEPARATOR= '*alternative-separator*' | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"alternative-separator\",\"placeholder\":true,\"description\":\"represents one or more characters in hexadecimal or ASCII format. For example, the following option specifies a record separator for a carriage return character and a linefeed character for use with an ASCII file system:\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n08j14wujf360on1jxxows0il1vca\"},{\"name\":\"NONE\",\"description\":\"produces the markup language that is appropriate for the environment where you run the SAS job.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1bp9phjrcxo6gn19mwm6l1fdwj2a\"}],\"supportSiteTargetFragment\":\"p0ndduc2o59aign152u7tf7h1vdia\"},{\"name\":\"TRANTAB=\",\"optional\":true,\"description\":\"Specify a translation table to use when transcoding a file for output\",\"help\":\"TRANTAB= '*translation-table*'\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"n1exxchaszw5s5n1pfhiv2qyntnha\"},{\"name\":\"CLOSE\",\"optional\":true,\"description\":\"Close the destination and the file that is associated with it.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0314ri2ftw2xbn19qok9x5dcpxta\"},{\"name\":\"EXCLUDE\",\"optional\":true,\"description\":\"Exclude output objects from the destination\",\"help\":\"EXCLUDE *exclusion(s)* |  ALL |  NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"exclusion\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"ALL\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"p1dgxo1rmespghn1wosymk75o74ka\"},{\"name\":\"SELECT\",\"optional\":true,\"description\":\"Select output objects for the destination.\",\"help\":\"SELECT *selection(s)* |  ALL |  NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"selection\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"ALL\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"p1ivy4th5ppdkfn1aybs638tc3sya\"},{\"name\":\"SHOW\",\"optional\":true,\"description\":\"Write to the SAS Log the current selection or exclusion list for the destination\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0edxfd8jflk5xn1l1znzdzsupnaa\"}],\"supportSiteInformation\":{\"docsetId\":\"odsug\",\"docsetVersion\":\"v_004\",\"docsetTargetFile\":\"n0sfms293m8eihn1j7s47ptx6o0m.htm\"}},{\"name\":\"ODS CSVALL\",\"description\":\"Opens, manages, or closes the CSVALL destination, which produces CSVALL output containing columns of data values that are separated by commas and produces tabular output with titles, notes, and BY lines.\",\"help\":\"ODS CSVALL <(<ID => identifier)><action> ;\\nODS CSVALL <(<ID => identifier)><options> ;\",\"arguments\":[{\"name\":\"BODY=\",\"optional\":true,\"aliases\":[\"FILE=\"],\"description\":\"Open a markup family destination and specify the file that contains the primary output that is created by the ODS statement\",\"help\":\"BODY= \\\"*file-specification*\\\" (*suboptions*)\",\"type\":\"value\",\"arguments\":[{\"name\":\"external-file\",\"placeholder\":true,\"description\":\"is the name of an external output file.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1qruqgn88mmwvn1ankfz7linc4ab\"},{\"name\":\"fileref\",\"placeholder\":true,\"description\":\"is a file reference that has been assigned to an external file. Use the FILENAME statement to assign a fileref.\",\"help\":\"*fileref* \",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0z3178b30z9pnn14wga1votqbfeb\"},{\"name\":\"entry.markup\",\"placeholder\":true,\"description\":\"specifies an entry in a SAS catalog to write to.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n19sx575c8xn2yn1dz6w6tepmif7b\"}],\"supportSiteTargetFragment\":\"n0yn6651z9d28wn13han0e9bll2xb\"},{\"name\":\"DOM\",\"optional\":true,\"description\":\"Specify that the ODS document object model is written to the SAS Log or to an external file\",\"help\":\"DOM&lt;=\\\"*external-file*\\\"&gt;\",\"type\":\"standaloneOrValue\",\"arguments\":[{\"name\":\"external-file\",\"placeholder\":true,\"description\":\"is the name of an external output file.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0vzar5h7f8gtcn1x5ihohfiun0fb\"}],\"supportSiteTargetFragment\":\"n1c57d2048ucksn1o3iq5uj0pim2b\"},{\"name\":\"ENCODING=\",\"optional\":true,\"description\":\"Override the encoding for input or output processing (transcodes) of external files\",\"help\":\"ENCODING= *local-character-set-encoding*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1iri7jiorpy5an19yud8nmfkdaeb\"},{\"name\":\"EVENT=\",\"optional\":true,\"description\":\"Specify an event and the value for event variables that is associated with the event\",\"help\":\"EVENT= (FILE=*event-name* | FINISH | LABEL= | NAME= | START | STYLE= | TARGET= | TEXT= | URL= )\",\"type\":\"choice\",\"arguments\":[{\"name\":\"(FILE=)\",\"description\":\"triggers one of the known types of output files that correspond to the BODY=, CODE=, CONTENTS=, FRAME=, PAGES=, and STYLESHEET= options.\",\"help\":\"(FILE= BODY | CODE | CONTENTS | DATA | FRAME | PAGES | STYLESHEET)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"BODY\",\"type\":\"standalone\"},{\"name\":\"CODE\",\"type\":\"standalone\"},{\"name\":\"CONTENTS\",\"type\":\"standalone\"},{\"name\":\"DATA\",\"type\":\"standalone\"},{\"name\":\"FRAME\",\"type\":\"standalone\"},{\"name\":\"PAGES\",\"type\":\"standalone\"},{\"name\":\"STYLESHEET\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"n0sto57qqqtz92n1pz4aoktvscdfb\"},{\"name\":\"(FINISH)\",\"description\":\"triggers the finish section of an event.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1puz3bafkovoan1dq2xehjwbyvnb\"},{\"name\":\"(LABEL='')\",\"description\":\"specifies the value for the LABEL event variable.\",\"help\":\"(LABEL='*variable-value*')\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0pxgjdbrqfm68n1plbl16q1l93vb\"},{\"name\":\"(NAME='')\",\"description\":\"specifies the value for the NAME event variable.\",\"help\":\"(NAME='*variable-value*')\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p05a4behw90sktn17hb8v511p1k6b\"},{\"name\":\"(START)\",\"description\":\"triggers the start section of an event.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0z505zsq5aekqn1g847yi2axtm9b\"},{\"name\":\"(STYLE=)\",\"description\":\"specifies a style element.\",\"help\":\"(STYLE=*style-element*)\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p05bcihqe87mw7n1vffjxj24p6umb\"},{\"name\":\"(TARGET='')\",\"description\":\"specifies the value for the TARGET event variable.\",\"help\":\"(TARGET='*variable-value*')\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1unxvgxq8zvubn19wyk19ouvcncb\"},{\"name\":\"(TEXT='')\",\"description\":\"specifies the value for the TEXT event variable.\",\"help\":\"(TEXT='*variable-value*')\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n11ir18xfxvca6n1rxyuhrb8pt4xb\"},{\"name\":\"(URL='')\",\"description\":\"specifies the value for the URL event variable.\",\"help\":\"(URL='*variable-value*')\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1dn1u2sgov29cn1bj05hcahnk10b\"}],\"supportSiteTargetFragment\":\"p0xwg5a2ovaxf5n17uac0z2ivnjnb\"},{\"name\":\"(ID= )\",\"optional\":true,\"description\":\"Open multiple instances of the same destination at the same time\",\"help\":\"(ID= *identifier*)  \",\"type\":\"value\",\"arguments\":[{\"name\":\"identifier\",\"placeholder\":true,\"description\":\"specifies another instance of the destination that is already open. identifier is numeric or a series of characters that begin with a letter or an underscore. Subsequent characters can include letters, underscores, and numeric characters.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1ik5dutu6em7un12sygbpoibz2bb\"}],\"supportSiteTargetFragment\":\"n08a4r2r3ld7q5n1gegnp2cj0tbab\"},{\"name\":\"NEWFILE=\",\"optional\":true,\"description\":\"Create a new body file at the specified starting point\",\"help\":\"NEWFILE= *starting-point*\",\"type\":\"value\",\"arguments\":[{\"name\":\"BYGROUP\",\"description\":\"starts a new file for the results of each BY group.\",\"help\":\"BYGROUP \",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0cb532mycvnxhn1bl0y0h3ixid3b\"},{\"name\":\"NONE\",\"description\":\"writes all output to the body file that is currently open.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n19l1gwxdiqp2on1fehxjiqfuntlb\"},{\"name\":\"OUTPUT\",\"aliases\":[\"TABLE\"],\"description\":\"starts a new body file for each output object. For SAS/GRAPH this means that ODS creates a new file for each SAS/GRAPH output file that the program generates.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0r7sk230x8uugn1t6t50ntwqt53b\"},{\"name\":\"PAGE\",\"description\":\"starts a new body file for each page of output. A page break occurs when a procedure explicitly starts a new page (not because the page size was exceeded) or when you start a new procedure.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0qy7xn25nkozsn1sswffg5sglu8b\"},{\"name\":\"PROC\",\"description\":\"starts a new body file each time you start a new procedure.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p03d2ii73d349cn1q08mh8fv7j37b\"}],\"supportSiteTargetFragment\":\"n0cwql5zij14uen1qlnfwso4vppzb\"},{\"name\":\"OPTIONS\",\"optional\":true,\"description\":\"Specify tagset-specific suboptions and a named value\",\"help\":\"OPTIONS ( DOC=&lt;*suboptions*&gt;  )\",\"type\":\"choice\",\"arguments\":[{\"name\":\"(DOC=''''''\",\"description\":\"provides information about the specified tagset.\",\"help\":\"(DOC='HELP | ''QUICK | ''SETTINGS | '‘CHANGELOG’)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"HELP\",\"description\":\"provides generic help and information with a quick reference.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1r7fk0whthowvn13zy46xdl4ijbb\"},{\"name\":\"QUICK\",\"description\":\"describes the options available for this tagset.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p16h6042s8lanen1q2tdjvw1lskgb\"},{\"name\":\"SETTINGS\",\"description\":\"provides the current option settings.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0tk33j47y7kdpn1db326ztdwwkyb\"},{\"name\":\"CHANGELOG\",\"description\":\"lists a history of changes made to the tagset. This suboption is supported only on the RTF tagset.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0npk4frf6cigmn1ovqu06cvrqb1b\"}],\"supportSiteTargetFragment\":\"p105mxit59a068n14xcjgn2jwyb5b\"},{\"name\":\"suboptions\",\"placeholder\":true,\"description\":\"specifies one or more suboptions that are valid for the specified tagset. Suboptions have the following format.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1m613cxa4y58bn1e4f7hwae7nutb\"}],\"supportSiteTargetFragment\":\"p1asf9z6d7vhorn11sqo9xhwsvf2b\"},{\"name\":\"PACKAGE\",\"optional\":true,\"description\":\"Specify that the output from the destination be added to an ODS package\",\"help\":\"PACKAGE        &lt;(*package-name*)&gt;\",\"type\":\"value\",\"arguments\":[{\"name\":\"package-name\",\"placeholder\":true,\"description\":\"specifies the name of a package that was created with the ODS PACKAGE statement. If no name is specified, then the output is added to the unnamed package that was opened last.\",\"help\":\"package-name\\n       \",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1epgfotijitr1n189tf8h3uwgn1\"}],\"supportSiteTargetFragment\":\"n1aw0mf9gp901fn16zie59sb1frk\"},{\"name\":\"PATH=\",\"optional\":true,\"description\":\"Specify the location of an aggregate storage location or a SAS catalog for all markup files\",\"help\":\"PATH=*'aggregate-file-storage-specification'* | *fileref* | *libref.catalog*\",\"type\":\"choice\",\"arguments\":[{\"name\":\"'aggregate-file-storage-location'\",\"placeholder\":true,\"description\":\"specifies an aggregate storage location such as directory, folder, or partitioned data set.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0uvyye80fnn53n19f6haqhtvekv\"},{\"name\":\"fileref\",\"placeholder\":true,\"description\":\"is a file reference that has been assigned to an aggregate storage location. Use the FILENAME statement to assign a fileref.\",\"help\":\"fileref\\n       \",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1awo9wndkd725n1airloc7sevt1\"},{\"name\":\"libref.catalog\",\"placeholder\":true,\"description\":\"specifies a SAS catalog to write to.\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"n0bu8b54s7npykn1mogmtsnkvju6\"}],\"supportSiteTargetFragment\":\"p1d0sqghigew14n1m766l4kegz1j\"},{\"name\":\"RECORD_SEPARATOR=\",\"optional\":true,\"aliases\":[\"RECSEP=\",\"RS=\"],\"description\":\"Specify an alternative character or string to separate lines in the output files\",\"help\":\"RECORD_SEPARATOR= '*alternative-separator*' | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"alternative-separator\",\"placeholder\":true,\"description\":\"represents one or more characters in hexadecimal or ASCII format. For example, the following option specifies a record separator for a carriage return character and a linefeed character for use with an ASCII file system:\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n08j14wujf360on1jxxows0il1vcb\"},{\"name\":\"NONE\",\"description\":\"produces the markup language that is appropriate for the environment where you run the SAS job.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1bp9phjrcxo6gn19mwm6l1fdwj2b\"}],\"supportSiteTargetFragment\":\"p0ndduc2o59aign152u7tf7h1vdib\"},{\"name\":\"TRANTAB=\",\"optional\":true,\"description\":\"Specify a translation table to use when transcoding a file for output\",\"help\":\"TRANTAB= '*translation-table*'\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"n1exxchaszw5s5n1pfhiv2qyntnhb\"},{\"name\":\"CLOSE\",\"optional\":true,\"description\":\"closes the destination and any files that are associated with it.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1l4camp56ecs4n1qefnk1vxartf\"},{\"name\":\"EXCLUDE\",\"optional\":true,\"description\":\"excludes one or more output objects from the DOCUMENT destination.\",\"help\":\"EXCLUDE        *exclusion(s)*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0irfxjcyzn36in1fo6a1uih9bsy\"},{\"name\":\"ALL\",\"optional\":true,\"description\":\"excludes one or more output objects from the DOCUMENT destination.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0irfxjcyzn36in1fo6a1uih9bsy\"},{\"name\":\"NONE\",\"optional\":true,\"description\":\"excludes one or more output objects from the DOCUMENT destination.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0irfxjcyzn36in1fo6a1uih9bsy\"},{\"name\":\"SELECT\",\"optional\":true,\"description\":\"selects one or more output objects for the DOCUMENT destination.\",\"help\":\"SELECT        *selection(s)*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1tvaw3ogw5484n15czi03pdj3kq\"},{\"name\":\"ALL\",\"optional\":true,\"description\":\"selects one or more output objects for the DOCUMENT destination.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1tvaw3ogw5484n15czi03pdj3kq\"},{\"name\":\"NONE\",\"optional\":true,\"description\":\"selects one or more output objects for the DOCUMENT destination.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1tvaw3ogw5484n15czi03pdj3kq\"},{\"name\":\"SHOW\",\"optional\":true,\"description\":\"writes the current selection or exclusion list for the destination to the SAS log.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0zg6dn43ghw2fn15x6a6z4s9mv2\"}],\"supportSiteInformation\":{\"docsetId\":\"odsug\",\"docsetVersion\":\"v_004\",\"docsetTargetFile\":\"p11eu14m8gjbaln15insal0kjpl3.htm\"}},{\"name\":\"ODS DOCUMENT\",\"description\":\"Opens, manages, or closes the DOCUMENT destination, which produces a hierarchy of output objects that enables you to produce multiple ODS output formats without rerunning a PROC or DATA step.\",\"help\":\"ODS DOCUMENT action;\\nODS DOCUMENT \\n<NAME= <libref.>member-name<(access–option)>>\\n<DIR =(<PATH =path<(access-option)><LABEL =\\\"label\\\">>  )>\\n<CATALOG =permanent-catalog | _NULL_> ;\",\"arguments\":[{\"name\":\"CATALOG=\",\"optional\":true,\"aliases\":[\"CAT=\"],\"description\":\"\",\"help\":\"CATALOG=*permanent-catalog* | _NULL_\",\"type\":\"choice\",\"arguments\":[{\"name\":\"permanent-catalog\",\"placeholder\":true,\"description\":\"copies any temporary GRSEG to the specified permanent catalog and keeps a reference to the permanent GRSEG in the document. This value persists until the ODS DOCUMENT statement is closed, or until you delete it by specifying CATALOG=_NULL_.\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"n14c4u4is6xj3an1kogoqam3ev0v\"},{\"name\":\"_NULL_\",\"description\":\"deletes the catalog name that was previously specified for the CATALOG= option. Thereafter, temporary GRSEGs are not copied into the permanent catalog and thus are unavailable in subsequent sessions.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p11mufy271x1gin14epumk50t4sg\"}],\"supportSiteTargetFragment\":\"n0k61zo3tzjlsan192dc82qy8ai4\"},{\"name\":\"DIR=\",\"optional\":true,\"description\":\"specifies the directory path and/or label for ODS output.\",\"help\":\"DIR=(&lt;PATH=*path*&lt;(*access-option*)&gt;&gt;&lt;LABEL='label'&gt;);\",\"type\":\"standaloneOrValue\",\"arguments\":[{\"name\":\"LABEL=\",\"description\":\"assigns a label to a path.\",\"help\":\"LABEL=*label*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0pqvwgu4dv0lhn147tb7al48zba\"},{\"name\":\"PATH=\",\"description\":\"is specified as a sequence of entries that are delimited by backslashes.\",\"help\":\"PATH=path\\n                                <(access-option)>\\n                            \",\"type\":\"value\",\"arguments\":[{\"name\":\"path\",\"placeholder\":true,\"description\":\"is the name of the path.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n07ow6tkulp0oun1ou9ht2n5et1r\"},{\"name\":\"#sequence–number\",\"placeholder\":true,\"description\":\"is a number which, when combined with a pathname, uniquely identifies the entry in the directory that contains it.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1t04glmkvfxz4n1xckjqyisdq2f\"},{\"name\":\"WRITE\",\"description\":\"opens a document and provides Write access as well as Read access.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p18tsom4l4hlryn1dbg5bqfx7krr\"},{\"name\":\"UPDATE\",\"description\":\"opens an ODS document and appends new content to the document. UPDATE provides Update access as well as Read access.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0rs9cb1vsivnan18pcnls4qbskx\"}],\"supportSiteTargetFragment\":\"n0e3cg6l7gwt8tn17vefjc0ikfsy\"}],\"supportSiteTargetFragment\":\"p1bqrkz4y7l6b8n16fbppwefy70k\"},{\"name\":\"NAME=\",\"optional\":true,\"description\":\"\",\"help\":\"NAME=                                 <libref.>\\n                        member-name<(access-option)>\\n                    \",\"type\":\"value\",\"arguments\":[{\"name\":\"libref\",\"placeholder\":true,\"description\":\"specifies the SAS library where the document is stored.\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"p0oqnit757nudrn1g6jwermu4y8s\"},{\"name\":\"member-name\",\"placeholder\":true,\"description\":\"specifies the document name.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1ptc3sa3qd6t1n1bdc3bqcnhptj\"},{\"name\":\"WRITE\",\"description\":\"opens a document and provides Write access as well as Read access.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0xk4s5q1mntdjn1gli51t3rjl90\"},{\"name\":\"UPDATE\",\"description\":\"opens an ODS document and appends new content to the document. UPDATE provides Update access as well as Read access.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1oy2yjfv92y14n1sg1hj5nvrxqx\"}],\"supportSiteTargetFragment\":\"p1u6blon8x44rcn1bhd90zibry2t\"},{\"name\":\"CLOSE\",\"optional\":true,\"description\":\"closes the destination and any files that are associated with it.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n118zijm3x9pqhn1thw0vecrqr3j\"},{\"name\":\"EXCLUDE\",\"optional\":true,\"description\":\"excludes one or more output objects from the DOCUMENT destination.\",\"help\":\"EXCLUDE                             *exclusion(s)*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0ysjs8u5se3gsn1dmb2q32igzwc\"},{\"name\":\"ALL\",\"optional\":true,\"description\":\"excludes one or more output objects from the DOCUMENT destination.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0ysjs8u5se3gsn1dmb2q32igzwc\"},{\"name\":\"NONE\",\"optional\":true,\"description\":\"excludes one or more output objects from the DOCUMENT destination.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0ysjs8u5se3gsn1dmb2q32igzwc\"},{\"name\":\"SELECT\",\"optional\":true,\"description\":\"selects one or more output objects for the DOCUMENT destination.\",\"help\":\"SELECT                             *selection(s)*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p08eusehivnhfmn18ntrooxk98xq\"},{\"name\":\"ALL\",\"optional\":true,\"description\":\"selects one or more output objects for the DOCUMENT destination.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p08eusehivnhfmn18ntrooxk98xq\"},{\"name\":\"NONE\",\"optional\":true,\"description\":\"selects one or more output objects for the DOCUMENT destination.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p08eusehivnhfmn18ntrooxk98xq\"},{\"name\":\"SHOW\",\"optional\":true,\"description\":\"writes the current selection or exclusion list for the destination to the SAS log.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0z6ny3r1k0wywn1o7nz9337ryit\"}],\"supportSiteInformation\":{\"docsetId\":\"odsproc\",\"docsetVersion\":\"v_004\",\"docsetTargetFile\":\"n0nz6m09jrb7jsn1h8rngbvzk65u.htm\"}},{\"name\":\"ODS EPUB\",\"description\":\"Opens, manages, or closes the EPUB destination, which generates EPUB e-books.\",\"help\":\"ODS EPUB <(<ID => identifier)><action> ;\\nODS EPUB <(<ID => identifier)><options> ;\",\"aliases\":[\"ODS EPUB3\"],\"arguments\":[{\"name\":\"ANCHOR=\",\"optional\":true,\"description\":\"Specify a unique base name for the anchor tag that identifies each output object in the current chapter\",\"help\":\"ANCHOR=                      '*anchor-name*'\",\"type\":\"value\",\"arguments\":[{\"name\":\"anchor-name\",\"placeholder\":true,\"description\":\"is the base name for the anchor tag that identifies each output object in the current body file.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1c4gx37u0b0v4n1494oby3fqn13\"}],\"supportSiteTargetFragment\":\"n17cbehh30wy0on17veymnctf4xq\"},{\"name\":\"BOX_SIZING=\",\"optional\":true,\"description\":\"Specify how to measure the width of cells. Use to override the default value of BOX_SIZING for a destination\",\"help\":\"BOX_SIZING=(CONTENT_BOX  |  BORDER_BOX)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"CONTENT_BOX\",\"type\":\"standalone\"},{\"name\":\"BORDER_BOX\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"p1w6hsgna2mr1zn17la5mmwb73h0a\"},{\"name\":\"CSSSTYLE=\",\"optional\":true,\"description\":\"Specify a cascading style sheet to apply to your output\",\"help\":\"CSSSTYLE=                      '*file-specification*'&lt;(*media-type-1*&lt;…*media-type-10*&gt;)&gt;\",\"type\":\"value\",\"arguments\":[{\"name\":\"\\\"external-file\\\"\",\"placeholder\":true,\"description\":\"is the name of the external file.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1vxjx9y98ju4ln134iqcduv20du\"},{\"name\":\"fileref\",\"placeholder\":true,\"description\":\"is a file reference that has been assigned to an external file. Use the FILENAME statement to assign a fileref.\",\"help\":\"fileref\\n                           \",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1cfs6mxnuv1g3n175yox8u39e9a\"},{\"name\":\"\\\"URL\\\"\",\"placeholder\":true,\"description\":\"is a URL to an external file.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1974zapo252pxn16jwy64rgfjjb\"},{\"name\":\"(media-type-1<.. media-type-10>)\",\"placeholder\":true,\"description\":\"specifies one or more media blocks that correspond to the type of media that your output is rendered on. CSS uses media type blocks to specify how a document is to be presented on different media: on the screen, on paper, with a speech synthesizer, with a braille device, and so on.\",\"help\":\"(*media-type-1&lt;..                            media-type-10&gt;*)\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1g7bsnpl84umjn1b1b1gk3lskaz\"}],\"supportSiteTargetFragment\":\"p16odg2sthawrun1kn17tx65pmun\"},{\"name\":\"DEVICE=\",\"optional\":true,\"description\":\"Specify the name of a device driver.\",\"help\":\"DEVICE=                      *device-driver*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1rlha04k8ea2sn160enbb4cv67t\"},{\"name\":\"DOM\",\"optional\":true,\"description\":\"Specify that the ODS document object model is written to the SAS Log or to an external file\",\"help\":\"DOM&lt;=\\\"*external-file*\\\"&gt;\",\"type\":\"standaloneOrValue\",\"arguments\":[{\"name\":\"external-file\",\"placeholder\":true,\"description\":\"is the name of an external output file.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0vzar5h7f8gtcn1x5ihohfiun0fc\"}],\"supportSiteTargetFragment\":\"n1c57d2048ucksn1o3iq5uj0pim2c\"},{\"name\":\"EVENT=\",\"optional\":true,\"description\":\"Specify an event and the value for event variables that are associated with the event\",\"help\":\"EVENT=(FINISH |                         LABEL=*event-name* | NAME= | START | STYLE= | TARGET= | TEXT= | URL=)                   \",\"type\":\"choice\",\"arguments\":[{\"name\":\"BRANCH=\",\"description\":\"specifies that an entry for the chapter is to be created in the table of contents for the EPUB book. ODS EPUB does not automatically create table of contents entries for nonlinear output. BRANCH events can be nested to build nested table of contents entries. Match up the START and FINISH options to the desired depth.\",\"help\":\"BRANCH=( | FINISH)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"\",\"type\":\"standalone\"},{\"name\":\"FINISH\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"n0qwqt7q62cxwin1qqv3ah5u581p\"},{\"name\":\"FIGURE=\",\"description\":\"adds figures that are embedded in the e-book book. This block contains a single image. ODS EPUB implements FIGURE as an event.\",\"help\":\"FIGURE=( | FINISH)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"START\",\"description\":\"starts the code block that embeds the figure.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0ho76a974x9jkn14tjy9knvqmsf\"},{\"name\":\"FINISH\",\"description\":\"ends the code block that embeds the figure.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1097g7y6dkshnn1esdnbzpp2x4d\"}],\"supportSiteTargetFragment\":\"p1g7he2ufwjx7un1jw2unnhlik7f\"},{\"name\":\"FIGCAPTION=\",\"description\":\"adds text to the figure. This option provides markup for captioned content that is self-contained and can be separated from the main flow of the document. A figure can contain one caption and it must appear first or last in the caption content. ODS EPUB implements FIGCAPTION as an event. The FIGCAPTION event accepts TEXT, which is the text to be displayed above or below the content.\",\"help\":\"FIGCAPTION=(TEXT=*text-string*)\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p17xb9mirb0lgjn1p7hhzs25lplj\"},{\"name\":\"(FINISH)\",\"description\":\"triggers the finish section of an event.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p13alqvw0vs4cvn1oyv1jaazr5gc\"},{\"name\":\"IMAGE\",\"description\":\"specifies a URL for the image.\",\"help\":\"IMAGE (URL=                            *variable-value*)\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1e17ebsh8bny6n1uivlq4zj5dnz\"},{\"name\":\"(LABEL='')\",\"description\":\"specifies the value for the LABEL event variable.\",\"help\":\"(LABEL='*variable-value*')\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n15zgdezrcscgdn1nllrcb16jrk4\"},{\"name\":\"(NAME='')\",\"description\":\"specifies the value for the NAME event variable.\",\"help\":\"(NAME='*variable-value*')\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0pmmoaqk7466un1vmjls4vaj5j7\"},{\"name\":\"(START)\",\"description\":\"triggers the start of an event.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1i9681n4445v2n1e0m18ojzqmuh\"},{\"name\":\"(STYLE=)\",\"description\":\"specifies a style element.\",\"help\":\"(STYLE=*style-element*)\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n043q2ey9zy5j6n1b9zfsrx6udoo\"},{\"name\":\"(TARGET='')\",\"description\":\"specifies the value for the TARGET event variable.\",\"help\":\"(TARGET='*variable-value*')\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0fjh4n3wi9tjon1eqpuj59v9q2a\"},{\"name\":\"(TEXT='')\",\"description\":\"specifies the value for the TEXT event variable.\",\"help\":\"(TEXT='*variable-value*')\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1p9nrdvgv6r2zn155d3u5avfctb\"},{\"name\":\"(URL='')\",\"description\":\"specifies the value for the URL event variable.\",\"help\":\"(URL='*variable-value*')\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1bfzyxji1ouaxn11ob5iyeu39ad\"}],\"supportSiteTargetFragment\":\"n03uvaj3n4rh48n1vgktz0g9e15n\"},{\"name\":\"FILE=\",\"optional\":true,\"description\":\"Specify the file that contains the e-book created by the destination\",\"help\":\"FILE='*file-specification*'\",\"type\":\"value\",\"arguments\":[{\"name\":\"external-file\",\"placeholder\":true,\"description\":\"is the name of an external file to receive output.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n13vvj9vkv4hqkn10j32c4udggyc\"},{\"name\":\"fileref\",\"placeholder\":true,\"description\":\"is a file reference that has been assigned to an external file. Use the FILENAME statement to assign a fileref.\",\"help\":\"fileref\\n                           \",\"type\":\"value\",\"supportSiteTargetFragment\":\"p18iioqbnvm9vzn1radmwfhdqbb9\"}],\"supportSiteTargetFragment\":\"p1p952htlpe415n10g9m91ufe8z2\"},{\"name\":\"GFOOTNOTE\",\"optional\":true,\"description\":\"Control the location where footnotes are printed in the graphics output\",\"type\":\"standalone\",\"arguments\":[{\"name\":\"GFOOTNOTE\",\"description\":\"prints footnotes that are created by SAS/GRAPH, the SGPLOT procedure, the SGPANEL procedure, or the SGSCATTER procedure. The footnotes appear inside the graph borders.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1nxvk0hqttx1ln14upywc12wub1\"},{\"name\":\"NOGFOOTNOTE\",\"description\":\"prints footnotes that are created by ODS, which appear outside the graph borders.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n14yudd7e09vr3n1qkgdlig2ex09\"}],\"supportSiteTargetFragment\":\"n1s2a4u9m5hgron1pbg28yrw7egy\"},{\"name\":\"NOGFOOTNOTE\",\"optional\":true,\"description\":\"Control the location where footnotes are printed in the graphics output\",\"type\":\"standalone\",\"arguments\":[{\"name\":\"GFOOTNOTE\",\"description\":\"prints footnotes that are created by SAS/GRAPH, the SGPLOT procedure, the SGPANEL procedure, or the SGSCATTER procedure. The footnotes appear inside the graph borders.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1nxvk0hqttx1ln14upywc12wub1\"},{\"name\":\"NOGFOOTNOTE\",\"description\":\"prints footnotes that are created by ODS, which appear outside the graph borders.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n14yudd7e09vr3n1qkgdlig2ex09\"}],\"supportSiteTargetFragment\":\"n1s2a4u9m5hgron1pbg28yrw7egy\"},{\"name\":\"GTITLE\",\"optional\":true,\"description\":\"Control the location where titles are printed in the graphics output\",\"type\":\"standalone\",\"arguments\":[{\"name\":\"GTITLE\",\"description\":\"prints the title that is created by SAS/GRAPH, the SGPLOT procedure, the SGPANEL procedure, or the SGSCATTER procedure. The title appears inside the graph borders.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1byrw0mkwu1kgn18gzloqnhogr9\"},{\"name\":\"NOGTITLE\",\"description\":\"prints the title that is created by ODS, which appears outside of the graph borders.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0rg8pgo4m84ukn1ki123ah23i3e\"}],\"supportSiteTargetFragment\":\"n1a9ypt78rb5f8n1nnyuavrgy661\"},{\"name\":\"NOGTITLE\",\"optional\":true,\"description\":\"Control the location where titles are printed in the graphics output\",\"type\":\"standalone\",\"arguments\":[{\"name\":\"GTITLE\",\"description\":\"prints the title that is created by SAS/GRAPH, the SGPLOT procedure, the SGPANEL procedure, or the SGSCATTER procedure. The title appears inside the graph borders.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1byrw0mkwu1kgn18gzloqnhogr9\"},{\"name\":\"NOGTITLE\",\"description\":\"prints the title that is created by ODS, which appears outside of the graph borders.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0rg8pgo4m84ukn1ki123ah23i3e\"}],\"supportSiteTargetFragment\":\"n1a9ypt78rb5f8n1nnyuavrgy661\"},{\"name\":\"(ID= )\",\"optional\":true,\"description\":\"Open multiple instances of the same destination at the same time\",\"help\":\"(ID=                      *identifier*) \",\"type\":\"value\",\"arguments\":[{\"name\":\"identifier\",\"placeholder\":true,\"description\":\"specifies another instance of the destination that is already open. identifier is numeric or a series of characters that begin with a letter or an underscore. Subsequent characters can include letters, underscores, and numeric characters.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0q3ne2gornns5n1dpxkymohwxme\"}],\"supportSiteTargetFragment\":\"n0cg3jeqdwbfgqn1s9km4hn3tzgj\"},{\"name\":\"IMAGE_DPI\",\"optional\":true,\"aliases\":[\"DPI=\"],\"description\":\"Specify the image resolution for the graphical output\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0g5r5esdxcl19n1sg8pbvag8vdx\"},{\"name\":\"NEWCHAPTER=\",\"optional\":true,\"description\":\"Create a new chapter at the specified starting point\",\"help\":\"NEWCHAPTER=*starting-point*\",\"type\":\"value\",\"arguments\":[{\"name\":\"BYGROUP\",\"description\":\"starts a new chapter for the results of each BY group.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1gh94qd80p3e2n12bstsuotm94v\"},{\"name\":\"NONE\",\"description\":\"writes all output to the current chapter.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0y6k4tbd728ndn1n9pruk1rhxh1\"},{\"name\":\"NOW\",\"description\":\"starts a new chapter and writes all output to that new chapter.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0v8lhg9h5gfhen1or628c0ire4o\"},{\"name\":\"OUTPUT\",\"aliases\":[\"TABLE\"],\"description\":\"starts a new chapter for each output object.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0kis3lmhmofk6n1ac61r8mqwbdm\"},{\"name\":\"PAGE\",\"description\":\"starts a new chapter for each page of output. A page break occurs when you start a new procedure, or when a procedure explicitly starts a new page.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0gmn1nare9ikin12joxhdl6x266\"},{\"name\":\"PROC\",\"description\":\"starts a new chapter for each procedure.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1x5xyowo4hfqqn1gy4stde4m3by\"}],\"supportSiteTargetFragment\":\"n03yjl4jm5inq8n1whzjloosx5qw\"},{\"name\":\"OPTIONS\",\"optional\":true,\"description\":\"Specify destination-specific suboptions and a space-delimited named value for how e-books are handled\",\"help\":\"OPTIONS (&lt;                      *suboptions*&gt;)\",\"type\":\"value\",\"arguments\":[{\"name\":\"(CHAPTER_TYPE=’’)\",\"description\":\"Specifies the type of the current chapter. The type is one or more space-delimited terms defined by EPUB 3 Structural Semantics Vocabulary. For more information, see https://idpf.github.io/epub-vocabs/structure/.\",\"help\":\"(CHAPTER_TYPE=’*chapter-types*’)\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0vml9uykb9qxsn1oaw873d4o0ys\"},{\"name\":\"(CONTENTS=')\",\"description\":\"generates a table of contents.\",\"help\":\"(CONTENTS=\\\"YES\\\" | '\\\"NO\\\" | \\\"OFF\\\" | \\\"ON\\\")\",\"type\":\"choice\",\"arguments\":[{\"name\":\"OFF\",\"aliases\":[\"NO\"],\"description\":\"does not generate a table of contents.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p02bpu6s8k1ue9n1837w7diulfrm\"},{\"name\":\"ON\",\"aliases\":[\"YES\"],\"description\":\"generates a table of contents.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1enuljvpnfmedn1uhh8jry25f4y\"}],\"supportSiteTargetFragment\":\"p044ljrvqniwonn0zg94h9mci5d7\"},{\"name\":\"(CONTRIBUTOR='')\",\"description\":\"specifies one or more contributor’s names responsible for making contributions to the content of the e-book. Delimit multiple contributors with commas.\",\"help\":\"(CONTRIBUTOR='*text-string*')\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n10qlxgcn4c9brn102do9kywqel8\"},{\"name\":\"(COVER_IMAGE='')\",\"description\":\"specifies a cover image for the e-book.\",\"help\":\"(COVER_IMAGE='*external-file*')\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0vhkcpvaiel8tn1usfn0phwcc2z\"},{\"name\":\"(COVERAGE='')\",\"description\":\"specifies the extent or scope of the content of the e-book.\",\"help\":\"(COVERAGE='*text-string*')\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0mp0n7mfdekf2n1rhkud8fdnqqj\"},{\"name\":\"(CREATOR='')\",\"description\":\"specifies one or more primary creators or authors of the e-book.\",\"help\":\"(CREATOR='*text-string*')\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0pqvvutm7iwj6n126eh9i7ojngo\"},{\"name\":\"(DEFEAT_Books_CACHING=)\",\"description\":\"defeats Books e-book reader's caching of e-books that have the same title.\",\"help\":\"(DEFEAT_Books_CACHING=\\\"OFF\\\" | \\\"ON\\\")\",\"type\":\"choice\",\"arguments\":[{\"name\":\"OFF\",\"aliases\":[\"NO\"],\"description\":\"caches Books of the same title.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0rn00i9ei8cbyn1rpxv6lzq4r5k\"},{\"name\":\"ON\",\"aliases\":[\"YES\"],\"description\":\"defeats Books caching.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1vzrj6pmtb25nn1nfsmvnhmfi0i\"}],\"supportSiteTargetFragment\":\"p0z83y21lcf2l5n1dxsbwra1k004\"},{\"name\":\"(DESCRIPTION='')\",\"description\":\"specifies a description of the content of the e-book.\",\"help\":\"(DESCRIPTION='*text-string*')\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1i2hwkch21y3bn1k9hzs8w1vqzn\"},{\"name\":\"(EMBEDDED_FONTS='')\",\"description\":\"specifies a list of fonts to be embedded in the e-book.\",\"help\":\"(EMBEDDED_FONTS='*fonts*')\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p15i7d0nmavjlan10037xtfi2sg1\"},{\"name\":\"(HIDE_CONTENTS=)\",\"description\":\"hides entries in a linear table of contents.\",\"help\":\"(HIDE_CONTENTS=\\\"OFF\\\" | \\\"ON\\\")\",\"type\":\"choice\",\"arguments\":[{\"name\":\"OFF\",\"aliases\":[\"NO\"],\"description\":\"does not hide the entries in a linear table of contents.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0wf2ypd4llqmrn1qepitgxzl6sm\"},{\"name\":\"ON\",\"aliases\":[\"YES\"],\"description\":\"hides the entries in a linear table of contents.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n105xjbh6ewnccn14i1czoho833x\"}],\"supportSiteTargetFragment\":\"p1e95lhaomfonyn1hhkg3e3rk3kf\"},{\"name\":\"(HIDE_LANDMARKS=)\",\"description\":\"hides entries in a linear table of landmarks.\",\"help\":\"(HIDE_LANDMARKS=\\\"OFF\\\" | \\\"ON\\\")\",\"type\":\"choice\",\"arguments\":[{\"name\":\"OFF\",\"aliases\":[\"NO\"],\"description\":\"does not hide the entries in a linear table of landmarks.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1jyn5uww6z0cbn1ir16aenxua6d\"},{\"name\":\"ON\",\"aliases\":[\"YES\"],\"description\":\"hides the entries in a linear table of landmarks.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0r5a3pk74pko5n1hkfdhk1ipmvr\"}],\"supportSiteTargetFragment\":\"n0kk25tw1co9mwn1fet2922m6jno\"},{\"name\":\"(ISBN='')\",\"description\":\"specifies a 13-digit International Standard Book Number (ISBN) for the e-book. For more information, see http://en.wikipedia.org/wiki/International_Standard_Book_Number. If not specified, a Universally Unique Identifier (UUID) is generated for the e-book. For more information, see http://en.wikipedia.org/wiki/Universally_unique_identifier.\",\"help\":\"(ISBN='*isbn*')\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0oto0uey8cr55n1solbs6pqmga4\"},{\"name\":\"(LANDMARK=\",\"description\":\"specifies the landmark for the current chapter. If 'AUTO' is specified, the landmark will be derived from the chapter type.\",\"help\":\"(LANDMARK=’*landmark*’ | ‘AUTO’)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"’landmark’\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"‘AUTO’)\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"n0z2poe01t3bhcn1erods29gomsq\"},{\"name\":\"(LINEAR_NAV=)\",\"description\":\"specifies navigational aids to embed in the e-book.\",\"help\":\"(LINEAR_NAV=\\\"NONE\\\" | \\\"CONTENTS\\\" | \\\"LANDMARKS\\\" | \\\"ALL\\\")\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NONE\",\"description\":\"no navigational aids are embedded in the e-book.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0bdzkwz7lhe1an1xqunkps8fbx7\"},{\"name\":\"CONTENTS\",\"description\":\"causes the table of contents to be embedded.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0f7enn2lz1bi5n1636haxglv3ub\"},{\"name\":\"LANDMARKS\",\"description\":\"causes table of landmarks to be embedded.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n05oy0asn5zychn1kz9k9xoh20jh\"},{\"name\":\"ALL\",\"description\":\"causes the table of contents and the table of landmarks to be embedded.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1psfuzjlg5zc0n1rlyxoy71xuis\"}],\"supportSiteTargetFragment\":\"p13cqqxpqme0zvn14vllc6rjhkat\"},{\"name\":\"(NONLINEAR=)\",\"description\":\"specifies output to be written to the non-linear section of the e-book.\",\"help\":\"(NONLINEAR=\\\"NONE\\\" | \\\"CHAPTER\\\" | \\\"BATCH\\\" | \\\"TABLE\\\" | \\\"ALL\\\")\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NONE\",\"description\":\"occurs within the linear flow of the e-book.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1a2o8dzxcuasen1dnhrm8y2d6b8\"},{\"name\":\"CHAPTER\",\"description\":\"causes the entire chapter to be non-linear.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p088discx231a1n1s4bcf80qc1fc\"},{\"name\":\"BATCH\",\"description\":\"causes batch (preformatted) output to be non-linear.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p10sd3hsbgcx3hn1g12az12v4sqi\"},{\"name\":\"TABLE\",\"description\":\"causes tables to be non-linear.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p182xk6ep0p48dn1pjkmqlnu4fd6\"},{\"name\":\"ALL\",\"description\":\"causes the entire chapter to be non-linear. This has the same effect as the CHAPTER value.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1cc7zc7o1xg8bn1d55r33gwj5lw\"}],\"supportSiteTargetFragment\":\"n0ayil7jsyhhw2n1nmcel17p9bki\"},{\"name\":\"(OPTIMIZE_FOR_IBOOKS=)\",\"description\":\"optimizes for Books e-book reader.\",\"help\":\"(OPTIMIZE_FOR_IBOOKS=\\\"OFF\\\" | \\\"ON\\\")\",\"type\":\"choice\",\"arguments\":[{\"name\":\"OFF\",\"aliases\":[\"NO\"],\"description\":\"overrides user-specified fonts.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1uabzsgcc73vpn1re3xgwevh3m7\"},{\"name\":\"ON\",\"aliases\":[\"YES\"],\"description\":\"honors user-specified fonts.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n087jclett9if4n13bwnkhsgp6w9\"}],\"supportSiteTargetFragment\":\"n165yip6nmq012n18lhsi4f5ul8y\"},{\"name\":\"(PAGEBREAK=)\",\"description\":\"honors explicit page breaks.\",\"help\":\"(PAGEBREAK=\\\"OFF\\\" | \\\"ON\\\")\",\"type\":\"choice\",\"arguments\":[{\"name\":\"OFF\",\"aliases\":[\"NO\"],\"description\":\"does not honor explicit page breaks.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1p2uf00do2lsbn1x1ziis0h0tok\"},{\"name\":\"ON\",\"aliases\":[\"YES\"],\"description\":\"honors explicit page breaks.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0dmhcn7dnmx1gn1k81jttgz6kha\"},{\"name\":\"AUTO\",\"description\":\"allows ODS and procedures to determine when page breaks occur. Honors explicit page breaks.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1v2tgql46ooa7n12679oe00wsdz\"}],\"supportSiteTargetFragment\":\"n0ixxsr0tzlmtzn1s6c8hh530ug8\"},{\"name\":\"(PUBLISHER='')\",\"description\":\"specifies the publisher of the e-book.\",\"help\":\"(PUBLISHER='*text-string*')\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0pfrdaiiypitnn14ie9f2tahgh3\"},{\"name\":\"(RELATION='')\",\"description\":\"specifies a reference to a related resource.\",\"help\":\"(RELATION='*text-string*')\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0eb6hrn1k61rwn1clccalsvd97r\"},{\"name\":\"(RIGHTS='')\",\"description\":\"specifies information about rights held in and over the e-book.\",\"help\":\"(RIGHTS='*text-string*')\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0dwydi6kygdhgn1wcoymamt6i75\"},{\"name\":\"(SOURCE='')\",\"description\":\"specifies information about a prior resource from which the e-book was derived.\",\"help\":\"(SOURCE='*text-string*')\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1d7vi0t1acm1un1op8bo118ie9y\"},{\"name\":\"(START='')\",\"description\":\"specifies the component (chapter) at which an e-book first opens.\",\"help\":\"(START='*chapter-number*')\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1o0vmggs28juen1y1ctvjwkgub8\"},{\"name\":\"(SUBJECT='')\",\"description\":\"specifies one or more topics about the content of the e-book. Delimit multiple subjects with commas.\",\"help\":\"(SUBJECT='*text-string*')\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1t9xypk8njxedn1dv1xumoi2jcv\"},{\"name\":\"TOC_LEVEL=\",\"description\":\"Control the depth of the table of contents in the document\",\"help\":\"TOC_LEVEL=                            '*integer*'\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0kwgm0esr2o09n1c9p6p9ia17fm\"},{\"name\":\"TOC_TYPE=\",\"description\":\"Specify whether the ODS EPUB destination generates the legacy table of contents automatically, or the user generates a custom table of contents manually using nested headings\",\"help\":\"TOC_TYPE='LEGACY' | 'HEADINGS'\",\"type\":\"choice\",\"arguments\":[{\"name\":\"'LEGACY'\",\"type\":\"standalone\"},{\"name\":\"'HEADINGS'\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"n1e9e9ovikj70zn1h1nspv6futff\"},{\"name\":\"(TYPE='')\",\"description\":\"specifies the nature or genre of the content of the e-book.\",\"help\":\"(TYPE='*text-string*')\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p05sl3yhud4osan1q41i216lnpwd\"}],\"supportSiteTargetFragment\":\"n0ao0ycos85ymun14ml66y14okk9\"},{\"name\":\"STYLE=\",\"optional\":true,\"description\":\"Specifies one or more style-overrides to use when writing output files\",\"help\":\"STYLE=                      *style-override(s)*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1ucwfxx45mubkn1ljnzh6wbh5jl\"},{\"name\":\"STYLESHEET=\",\"optional\":true,\"description\":\"Specify one or more style sheet files to apply to the output\",\"help\":\"STYLESHEET= ( URL=                      ‘*external-file(s)*’ )\",\"type\":\"value\",\"arguments\":[{\"name\":\"(URL= )\",\"description\":\"specifies one or more space-delimited external style sheet filenames.\",\"help\":\"(URL=                            *'external-file(s)’*)\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0il96stsk8e9xn1pven6q6c6hq1\"}],\"supportSiteTargetFragment\":\"p01ns2e9kvmdgin1dmh404epgr6s\"},{\"name\":\"TITLE=\",\"optional\":true,\"description\":\"Insert the text string of a title that you specify into the metadata of the e-book\",\"help\":\"TITLE='*text-string*'\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1mnsmynsmophon1d2ed97379w4x\"},{\"name\":\"WORK=\",\"optional\":true,\"description\":\"Specify a work directory for constructing the e-book\",\"help\":\"WORK=*directory-name*'\",\"type\":\"value\",\"arguments\":[{\"name\":\"directory-name\",\"placeholder\":true,\"description\":\"is the name of the directory.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1kvuhmzjr4t1on107u1l5px3on2\"}],\"supportSiteTargetFragment\":\"p1n22jhidfbebon1klsz2nk879wl\"},{\"name\":\"CLOSE\",\"optional\":true,\"description\":\"Close the destination and the file that is associated with it.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0314ri2ftw2xbn19qok9x5dcpxtb\"},{\"name\":\"EXCLUDE\",\"optional\":true,\"description\":\"Exclude output objects from the destination\",\"help\":\"EXCLUDE *exclusion(s)* |  ALL |  NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"exclusion\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"ALL\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"p1dgxo1rmespghn1wosymk75o74kb\"},{\"name\":\"SELECT\",\"optional\":true,\"description\":\"Select output objects for the destination.\",\"help\":\"SELECT *selection(s)* |  ALL |  NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"selection\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"ALL\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"p1ivy4th5ppdkfn1aybs638tc3syb\"},{\"name\":\"SHOW\",\"optional\":true,\"description\":\"Write to the SAS Log the current selection or exclusion list for the destination\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0edxfd8jflk5xn1l1znzdzsupnab\"}],\"supportSiteInformation\":{\"docsetId\":\"odsug\",\"docsetVersion\":\"v_004\",\"docsetTargetFile\":\"p0kyz3ld3eg40wn1tfpqckz8ivdg.htm\"}},{\"name\":\"ODS ESCAPECHAR\",\"description\":\"Defines a representative character to be used in output strings.\",\"help\":\"ODS ESCAPECHAR = '*escape-character*';\",\"arguments\":[{\"name\":\"escape-character\",\"placeholder\":true,\"description\":\"specifies the special character that identifies the inline formatting symbol. The escape-character should be one of the following rarely used characters: @, ^, or \\\\.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p008hc7vjly0xxn1w2hk0ejiuh6c\"}],\"supportSiteInformation\":{\"docsetId\":\"odsug\",\"docsetVersion\":\"v_004\",\"docsetTargetFile\":\"p11xia2ltavr8ln17srq8vn4rnqc.htm\"}},{\"name\":\"ODS EXCEL\",\"description\":\"Opens, manages, or closes the ODS destination for Excel, which produces Excel spreadsheet files compatible with Microsoft Office 2010 and later versions.\",\"help\":\"ODS EXCEL <(<ID => identifier)><action> ;\\nODS EXCEL <(<ID => identifier)><options> ;\",\"arguments\":[{\"name\":\"ANCHOR=\",\"optional\":true,\"description\":\"Specify the root name for the anchor tag that identifies each output object in the current file\",\"help\":\"ANCHOR='*anchor-name*' \",\"type\":\"value\",\"arguments\":[{\"name\":\"anchor-name\",\"placeholder\":true,\"description\":\"is the root name for the anchor tag that identifies each output object in the current file. Each output object must have an anchor tag for the bookmarks to reference. The references are automatically created by ODS. These references point to the name of an anchor. Therefore, each anchor name in a file must be unique. By default IDX is the default name for the first object.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0zg5g18zbszhen10sjntfab213o\"}],\"supportSiteTargetFragment\":\"n1grgwzw0sek23n17nu6iug2r4f6\"},{\"name\":\"AUTHOR=\",\"optional\":true,\"description\":\"Specify the author of the Excel document\",\"help\":\"AUTHOR='*text-string*'\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p13ec0x3sa7x5dn11vlqfqmy7q5p\"},{\"name\":\"BOX_SIZING=\",\"optional\":true,\"description\":\"Specify how to measure the width of cells. Use to override the default value of BOX_SIZING for a destination\",\"help\":\"BOX_SIZING=(CONTENT_BOX  |  BORDER_BOX)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"CONTENT_BOX\",\"type\":\"standalone\"},{\"name\":\"BORDER_BOX\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"p1azv81400kqxwn10atceiqw3i9aa\"},{\"name\":\"CATEGORY=\",\"optional\":true,\"description\":\"Specify the category of the Excel document\",\"help\":\"CATEGORY='*text-string*'\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0y6d2grjvgshgn1kkbheo68zzdl\"},{\"name\":\"COMMENTS=\",\"optional\":true,\"description\":\"Add comments to the properties of the Excel document\",\"help\":\"COMMENTS='*text-string*'\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1boi9kpbkv146n161tmm3o0n6cd\"},{\"name\":\"CSSSTYLE=\",\"optional\":true,\"description\":\"Specify a cascading style sheet to apply to your output\",\"help\":\"CSSSTYLE='*file-specification*'&lt;(*media-type1*&lt;...*media-type-10*&gt;)&gt;\",\"type\":\"value\",\"arguments\":[{\"name\":\"'external-file'\",\"placeholder\":true,\"description\":\"is the name of the external file.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0vezok221qzvcn1f7prb09j4lin\"},{\"name\":\"fileref\",\"placeholder\":true,\"description\":\"is a file reference that has been assigned to an external file. Use the FILENAME statement to assign a fileref.\",\"help\":\"fileref\\n                  \",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0yc2ccg596umdn17eoxdayhk404\"},{\"name\":\"'URL'\",\"placeholder\":true,\"description\":\"is a URL to an external file.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n09nh8g2a54b6dn147roynn0ur6n\"},{\"name\":\"(media-type-1<.. media-type-10>)\",\"placeholder\":true,\"description\":\"specifies one or more media blocks that correspond to the type of media that your output is rendered on. CSS uses media type blocks to specify how a document is to be presented on different media: on the screen, on paper, with a speech synthesizer, with a braille device, and so on.\",\"help\":\"(*media-type-1&lt;..                   media-type-10&gt;*)\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0v94ufvgnsj64n1d5ahd1rz4le1\"}],\"supportSiteTargetFragment\":\"n1t5aw2g4zlyhon12k7yz0gaoxt1\"},{\"name\":\"DOM\",\"optional\":true,\"description\":\"Specify that the ODS document object model is written to the SAS Log or to an external file\",\"help\":\"DOM&lt;=\\\"*external-file*\\\"&gt;\",\"type\":\"standaloneOrValue\",\"arguments\":[{\"name\":\"external-file\",\"placeholder\":true,\"description\":\"is the name of an external output file.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0vzar5h7f8gtcn1x5ihohfiun0fd\"}],\"supportSiteTargetFragment\":\"n1c57d2048ucksn1o3iq5uj0pim2d\"},{\"name\":\"FILE=\",\"optional\":true,\"description\":\"Specify the file that contains the Excel created by the destination\",\"help\":\"FILE='*file-specification*'\",\"type\":\"value\",\"arguments\":[{\"name\":\"external-file\",\"placeholder\":true,\"description\":\"is the name of an external file to receive output.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1ufmm3nqdsgvin1cbwy3asfneut\"},{\"name\":\"fileref\",\"placeholder\":true,\"description\":\"is a file reference that has been assigned to an external file. Use the FILENAME statement to assign a fileref.\",\"help\":\"fileref\\n                  \",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0w7nfoxuusw8an123nyb3m8k9lg\"}],\"supportSiteTargetFragment\":\"p08fdx6yenfs30n17khh97yyfu98\"},{\"name\":\"GFOOTNOTE\",\"optional\":true,\"description\":\"Control the location where footnotes are printed in the graphics output\",\"type\":\"standalone\",\"arguments\":[{\"name\":\"GFOOTNOTE\",\"description\":\"prints footnotes that are created by SAS/GRAPH, the SGPLOT procedure, the SGPANEL procedure, or the SGSCATTER procedure. The footnotes appear inside the graph borders.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0vx0ltyvs7muwn1y0uvbecmtrxr\"},{\"name\":\"NOGFOOTNOTE\",\"description\":\"prints footnotes that are created by ODS, which appear outside the graph borders.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p025kgl9jv5czhn1imulo1nmo6z2\"}],\"supportSiteTargetFragment\":\"p0wgrl06gxw6m6n1jc9bh9j1kkr6\"},{\"name\":\"NOGFOOTNOTE\",\"optional\":true,\"description\":\"Control the location where footnotes are printed in the graphics output\",\"type\":\"standalone\",\"arguments\":[{\"name\":\"GFOOTNOTE\",\"description\":\"prints footnotes that are created by SAS/GRAPH, the SGPLOT procedure, the SGPANEL procedure, or the SGSCATTER procedure. The footnotes appear inside the graph borders.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0vx0ltyvs7muwn1y0uvbecmtrxr\"},{\"name\":\"NOGFOOTNOTE\",\"description\":\"prints footnotes that are created by ODS, which appear outside the graph borders.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p025kgl9jv5czhn1imulo1nmo6z2\"}],\"supportSiteTargetFragment\":\"p0wgrl06gxw6m6n1jc9bh9j1kkr6\"},{\"name\":\"GTITLE\",\"optional\":true,\"description\":\"Control the location where titles are printed in the graphics output\",\"type\":\"standalone\",\"arguments\":[{\"name\":\"GTITLE\",\"description\":\"prints the title that is created by SAS/GRAPH, the SGPLOT procedure, the SGPANEL procedure, or the SGSCATTER procedure. The title appears inside the graph borders.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1tnj006lh7c3pn1p74mcime5884\"},{\"name\":\"NOGTITLE\",\"description\":\"prints the title that is created by ODS, which appears outside of the graph borders.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1rzd7svxw6dwkn1tq3y0lmc0dcz\"}],\"supportSiteTargetFragment\":\"n0a8wm8p8flwasn1oedityv4dig8\"},{\"name\":\"NOGTITLE\",\"optional\":true,\"description\":\"Control the location where titles are printed in the graphics output\",\"type\":\"standalone\",\"arguments\":[{\"name\":\"GTITLE\",\"description\":\"prints the title that is created by SAS/GRAPH, the SGPLOT procedure, the SGPANEL procedure, or the SGSCATTER procedure. The title appears inside the graph borders.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1tnj006lh7c3pn1p74mcime5884\"},{\"name\":\"NOGTITLE\",\"description\":\"prints the title that is created by ODS, which appears outside of the graph borders.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1rzd7svxw6dwkn1tq3y0lmc0dcz\"}],\"supportSiteTargetFragment\":\"n0a8wm8p8flwasn1oedityv4dig8\"},{\"name\":\"IMAGE_DPI=\",\"optional\":true,\"aliases\":[\"DPI=\"],\"description\":\"Specify the image resolution for the graphical output\",\"help\":\"IMAGE_DPI='*number*'\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0dzz6xu9gfvxpn1j4fnnj6hshcr\"},{\"name\":\"KEYWORDS=\",\"optional\":true,\"description\":\"Add keywords to the Excel document properties\",\"help\":\"KEYWORDS='*text-string*'\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1c15lnul1gwonn1ohl85hys9moz\"},{\"name\":\"(ID= )\",\"optional\":true,\"description\":\"Open multiple instances of the same destination at the same time\",\"help\":\"(ID= *identifier*)  \",\"type\":\"value\",\"arguments\":[{\"name\":\"identifier\",\"placeholder\":true,\"description\":\"specifies another instance of the destination that is already open. identifier is numeric or a series of characters that begin with a letter or an underscore. Subsequent characters can include letters, underscores, and numeric characters.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1ik5dutu6em7un12sygbpoibz2bc\"}],\"supportSiteTargetFragment\":\"n08a4r2r3ld7q5n1gegnp2cj0tbac\"},{\"name\":\"OPTIONS\",\"optional\":true,\"description\":\"Specify destination-specific suboptions\",\"help\":\"OPTIONS (&lt;               *suboptions*&gt;)\",\"type\":\"value\",\"arguments\":[{\"name\":\"(ABSOLUTE_COLUMN_WIDTH ='')\",\"description\":\"specifies the column widths. Lists widths to use for columns instead of allowing SAS to determine the column width (measured widths). The number-list is a comma separated list of numbers. A value of 0 resets the default.\",\"help\":\"(ABSOLUTE_COLUMN_WIDTH                   ='*number-list*')\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1g955jtnhf2fhn1ebs3cynicot0\"},{\"name\":\"(ABSOLUTE_ROW_HEIGHT ='')\",\"description\":\"specifies the table body row heights. Specifying one number applies the same height value to all table body rows. A list of numbers applies a custom height to each row sequentially starting from the top of the spreadsheet. This option overrides SAS determining the column height (measured height). The number-list is a comma-separated list of numbers.\",\"help\":\"(ABSOLUTE_ROW_HEIGHT                   ='*number_list*')\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1g0darjkuv18mn1q4vmbl10hleq\"},{\"name\":\"(AUTOFILTER =\",\"description\":\"turns on filtering for specified columns in the worksheet.\",\"help\":\"(AUTOFILTER                   =\\\"ALL\\\" | \\\"NONE\\\" | '*range*' | '*column*'\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ALL\",\"description\":\"an autofilter is applied to all columns.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0lrpv6qi6d2rpn1qp7ugklp2qll\"},{\"name\":\"NONE\",\"description\":\"no autofiltering is applied.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1pvdhfqhobpftn1dhq75dtp9m7j\"},{\"name\":\"range\",\"placeholder\":true,\"description\":\"specifies the range of columns to which filtering is applied. Acceptable values for the range are a numeric range (‘3-5’) or a column range (‘A:C’).\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1mpkcortheioan1bahs07k72el8\"},{\"name\":\"column\",\"placeholder\":true,\"description\":\"specifies the column to which filtering is applied. Columns can be written as a number or a letter.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p19l5eqheyir0fn1rkpb7jc67l0b\"}],\"supportSiteTargetFragment\":\"p1kkrvud8zunvpn0z1x0n6opxoce\"},{\"name\":\"(BLACKANDWHITE=)\",\"description\":\"enables printing of the worksheet in black and white.\",\"help\":\"(BLACKANDWHITE=\\\"OFF\\\" | \\\"ON\\\")\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ON\",\"aliases\":[\"YES\"],\"description\":\"prints the worksheet in black and white.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p073pw1dye3o5in1sy8zla2w7njx\"},{\"name\":\"OFF\",\"aliases\":[\"NO\"],\"description\":\"does not print the worksheet in black and white.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1dtyyfmj6c59en1mjtdbylxowdv\"}],\"supportSiteTargetFragment\":\"n0r7t5e04619ttn1v6trjdiotriq\"},{\"name\":\"(BLANK_SHEET='')\",\"description\":\"creates a blank worksheet with the specified name. The string is a string with a length greater than zero. This name is used in combination with a worksheet counter to create a unique name.\",\"help\":\"(BLANK_SHEET='*string*')\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n08imb15xnkf7nn1c711poy4kjzi\"},{\"name\":\"(BLANK_TAB_COLOR=)\",\"description\":\"specifies the tab color of a blank worksheet.\",\"help\":\"(BLANK_TAB_COLOR=*'string'* | 'NONE')\",\"type\":\"choice\",\"arguments\":[{\"name\":\"'string'\",\"placeholder\":true,\"description\":\"specifies the tab color for the blank worksheet.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1wwsdr1dy1nx3n1wa3n2zwduky8\"},{\"name\":\"'NONE'\",\"description\":\"specifies that no tab color is applied to the blank worksheet.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1w77nqurnih2an1a87yn0zlmw0b\"}],\"supportSiteTargetFragment\":\"n1cxew97p8l1n2n1s8micvsdbnx6\"},{\"name\":\"(CENTER_HORIZONTAL=)\",\"description\":\"centers the worksheet horizontally when printing.\",\"help\":\"(CENTER_HORIZONTAL=\\\"OFF\\\" | \\\"ON\\\")\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ON\",\"aliases\":[\"YES\"],\"description\":\"centers the worksheet horizontally when printing.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n05zc0o7kfbacjn1t06qhl6dhqkc\"},{\"name\":\"OFF\",\"aliases\":[\"NO\"],\"description\":\"does not center the worksheet horizontally when printing.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n131gouh6yck56n1s8spn5ocbh1z\"}],\"supportSiteTargetFragment\":\"n1h15ws8z6s58kn1fgnze11tht9g\"},{\"name\":\"(CENTER_VERTICAL=)\",\"description\":\"specifies if the worksheet is to be centered vertically when printing.\",\"help\":\"(CENTER_VERTICAL=\\\"OFF\\\" | \\\"ON\\\")\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ON\",\"aliases\":[\"YES\"],\"description\":\"centers the worksheet vertically when printing.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0izw73hk8pdqyn19vmrj2t4p8iq\"},{\"name\":\"OFF\",\"aliases\":[\"NO\"],\"description\":\"does not center the worksheet vertically when printing.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p132ejcycgoerpn1d0vk8nagm8t5\"}],\"supportSiteTargetFragment\":\"p0o67911bfn5m3n1lbg47pkxl2nt\"},{\"name\":\"(COLUMN_REPEAT=)\",\"description\":\"controls how column headings are repeated across pages.\",\"help\":\"(COLUMN_REPEAT=*'column'* | *'range'* | 'HEADER' | 'NONE')\",\"type\":\"choice\",\"arguments\":[{\"name\":\"HEADER\",\"description\":\"repeat any of the columns containing headers.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n09qt53mazcwm8n1o37n58ztvjq2\"},{\"name\":\"column\",\"placeholder\":true,\"description\":\"specifies that the header of the column specified is repeated on each page. A column can be a number or a letter.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p08b5soreqk2fqn18dqk13wg8hnf\"},{\"name\":\"range\",\"placeholder\":true,\"description\":\"specifies that the headers of the columns within the range specified are repeated on each page. A range can be numbers ('1-3') or columns ('A:C').\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1g3j632co1hcjn1nupni25jwphq\"},{\"name\":\"NONE\",\"description\":\"specifies that there are no repeating columns.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1gmwovxzw5gu8n1r9e8e3xkkug3\"}],\"supportSiteTargetFragment\":\"p0qmjufbk1bttsn1if3vbysjh0fg\"},{\"name\":\"(CONTENTS=)\",\"description\":\"creates a worksheet that contains the table of contents.\",\"help\":\"(CONTENTS=\\\"OFF\\\" | \\\"ON\\\")\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ON\",\"aliases\":[\"YES\"],\"description\":\"creates a worksheet that contains the table of contents.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p02e2x6ez7tnfon1m6y0neq0flcl\"},{\"name\":\"OFF\",\"aliases\":[\"NO\"],\"description\":\"creates a worksheet that does not contain a table of contents.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0kv0r968trqhkn1k70mpcs01eqm\"}],\"supportSiteTargetFragment\":\"n01t6wtdg13xwln1ddxhtrg0crjz\"},{\"name\":\"(DPI='')\",\"description\":\"specifies the dots per inch for print resolution. Numbers allowed are 300, 600, and 1200.\",\"help\":\"(DPI='*number*')\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0flyzsmghn1yhn123w1qyaug6hk\"},{\"name\":\"(DRAFTQUALITY=)\",\"description\":\"specifies if draft quality should be used for printing\",\"help\":\"(DRAFTQUALITY=\\\"OFF\\\" | \\\"ON\\\")\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ON\",\"aliases\":[\"YES\"],\"description\":\"specifies that draft quality should be used for printing.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0ufj9hfd11ktdn1cbnqh8m53oo4\"},{\"name\":\"OFF\",\"aliases\":[\"NO\"],\"description\":\"specifies that draft quality should not be used for printing.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n13nnv4jpgsrfhn1lap92rz96tph\"}],\"supportSiteTargetFragment\":\"n1cbhui3t8wvyen1gxppuecmhe4c\"},{\"name\":\"(EMBEDDED_FOOTNOTES=)\",\"description\":\"specifies whether footnotes should appear in the worksheet.\",\"help\":\"(EMBEDDED_FOOTNOTES=\\\"OFF\\\" | \\\"ON\\\")\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ON\",\"aliases\":[\"YES\"],\"description\":\"embed footnotes in the worksheet.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p124tzj40jhbx9n1ahiq048pjueu\"},{\"name\":\"OFF\",\"aliases\":[\"NO\"],\"description\":\"do not embed footnotes in the worksheet.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0aakd3uvny7zcn1c82p4xz3gi8l\"}],\"supportSiteTargetFragment\":\"p05lallqhoeocon1wxwhbvfwr2w2\"},{\"name\":\"(EMBED_FOOTNOTES_ONCE=)\",\"aliases\":[\"EMBED_FOOTERS_ONCE =\"],\"description\":\"specifies whether embedded footnotes should appear only at the bottom of the worksheet.\",\"help\":\"(EMBED_FOOTNOTES_ONCE=\\\"OFF\\\" | \\\"ON\\\")\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ON\",\"aliases\":[\"YES\"],\"description\":\"embedded footnotes appear only once at the bottom of the worksheet.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0ilhyyrura9izn1hfrurnyq9j7h\"},{\"name\":\"OFF\",\"aliases\":[\"NO\"],\"description\":\"embedded footnotes appear at the bottom of the worksheet.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0d64lm4ofdmqin1n9ikj3b0iz84\"}],\"supportSiteTargetFragment\":\"p1klffktjjmztqn1r4ahw6rrltcb\"},{\"name\":\"(EMBEDDED_TITLES=)\",\"description\":\"specifies whether titles should appear in the worksheet.\",\"help\":\"(EMBEDDED_TITLES=\\\"OFF\\\" | \\\"ON\\\")\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ON\",\"aliases\":[\"YES\"],\"description\":\"embed titles in the worksheet.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0wrthe7penujmn156z2mxyi246a\"},{\"name\":\"OFF\",\"aliases\":[\"NO\"],\"description\":\"do not embed titles in the worksheet.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1ot5kdzidjtu8n1hz8f5wva32ri\"}],\"supportSiteTargetFragment\":\"p095k946yj7a04n16kuvkf8bu7du\"},{\"name\":\"(EMBED_TITLES_ONCE=)\",\"description\":\"specifies whether embedded titles should appear at the top of the worksheet only once.\",\"help\":\"(EMBED_TITLES_ONCE=\\\"OFF\\\" | \\\"ON\\\")\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ON\",\"aliases\":[\"YES\"],\"description\":\"embedded titles appear only once at the top of the worksheet.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n09rdq4ktfda94n1f1cec2r1y86q\"},{\"name\":\"OFF\",\"aliases\":[\"NO\"],\"description\":\"titles appear as they normally appear.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1jul3gkmt8mejn1s6n5qygxlqzf\"}],\"supportSiteTargetFragment\":\"p0cappz0e44ambn1usyx7af75572\"},{\"name\":\"(FITTOPAGE=)\",\"description\":\"specifies that the worksheet should fit on a page when printing.\",\"help\":\"(FITTOPAGE=\\\"OFF\\\" | \\\"ON\\\")\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ON\",\"aliases\":[\"YES\"],\"description\":\"fits the worksheet on the page when printing.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n06l2fz1wcmacun1uof50hicknsl\"},{\"name\":\"OFF\",\"aliases\":[\"NO\"],\"description\":\"does not try to fit the worksheet on the page when printing.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0hpgzr2627h52n15y2p60hjtyy9\"}],\"supportSiteTargetFragment\":\"p1744o07vw3zekn16c7wnc98z61m\"},{\"name\":\"(FLOW=)\",\"description\":\"specifies that a designated Worksheet area enables Wrap Text and disables newline character insertion. Excel wraps the text to the column width.\",\"help\":\"(FLOW=&lt;*\\\"cell-names\\\"* | \\\"DATA\\\" | \\\"HEADERS\\\" | \\\"ROWHEADERS\\\" | \\\"TABLES\\\" | \\\"TEXT\\\" | \\\"NONE\\\"&gt;)\",\"type\":\"standaloneOrValue\",\"arguments\":[{\"name\":\"cell-names\",\"placeholder\":true,\"description\":\"enables Wrap Text for a single cell such as “A12” or a cell range such as “C1:E4”.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0pyl0o4t3vp6nn1ag9a79r8cuco\"},{\"name\":\"DATA\",\"description\":\"enables Wrap Text for table data cells.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p07jdwsmmkqzoin1kvf3lsumddjd\"},{\"name\":\"HEADERS\",\"aliases\":[\"HEADER\"],\"description\":\"enables Wrap Text in table column headers.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0hnicsn3ahqwtn1lu0fmkm3brfn\"},{\"name\":\"ROWHEADERS\",\"aliases\":[\"ROWHEADER\"],\"description\":\"enables Wrap Text for table row headers.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n15i31pnrv4jc6n1pj7akn8sd6a4\"},{\"name\":\"TABLES\",\"aliases\":[\"TABLE\"],\"description\":\"enables Wrap Text for all parts of a table: HEADER, ROWHEADER, and DATA.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n00o96o2khs8tbn13ubo9bpo8vb0\"},{\"name\":\"TEXT\",\"description\":\"makes ODS TEXT output work like titles, footnotes, PROC titles, and BY lines. The text is written into multiple merged cells and Wrap Text is enabled.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n04lkesl7nvjlfn1pmddvrh3pjxv\"},{\"name\":\"NONE\",\"description\":\"specifies that text wrapping is not enabled. This option can turn off the FLOW= option.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0w2pmmjeucxpln1o1hzpm0tyf66\"}],\"supportSiteTargetFragment\":\"n0bzak0fefbrq6n19j1e1dlsqmo5\"},{\"name\":\"(FORMULAS=)\",\"description\":\"specifies if data values that begin with an '=' become formulas or cell values.\",\"help\":\"(FORMULAS=\\\"OFF\\\" | \\\"ON\\\")\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ON\",\"aliases\":[\"YES\"],\"description\":\"data values that begin with an '=' become formulas.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0dfl0zxcluxucn119s6p9kkjhds\"},{\"name\":\"OFF\",\"aliases\":[\"NO\"],\"description\":\"data values that begin with an '=' become cell values.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n196gu1cbi7jnln1ap4riu68evy4\"}],\"supportSiteTargetFragment\":\"p01bp4m7aez9ikn10s61ljq4i0kp\"},{\"name\":\"(FROZEN_HEADERS=\",\"description\":\"specifies that headers can scroll or not scroll with the scroll bar.\",\"help\":\"(FROZEN_HEADERS=\\\"OFF\\\" | \\\"ON\\\" | *number*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ON\",\"aliases\":[\"YES\",\"TRUE\"],\"description\":\"headers do not scroll with the scroll bar.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1gnxr50t9je2an1jaygwx2fa4r2\"},{\"name\":\"OFF\",\"aliases\":[\"NO\",\"FALSE\"],\"description\":\"headers do scroll with the scroll bar.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0zuemep1ecajzn14zjbp6uiv2qr\"},{\"name\":\"number\",\"placeholder\":true,\"description\":\"the number of the header row that does not scroll with the scroll bar.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1kwb0o8wi4rd3n1uy0tf34a4g6v\"}],\"supportSiteTargetFragment\":\"p0xvuqsbdkkng8n1wcejnuzk99th\"},{\"name\":\"(FROZEN_ROWHEADERS=\",\"description\":\"specifies if the row headers are on the left scroll when the table data scrolls.\",\"help\":\"(FROZEN_ROWHEADERS=\\\"OFF\\\" | \\\"ON\\\" | *'number'*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ON\",\"aliases\":[\"YES\"],\"description\":\"the row headers on the left are frozen when the table data scrolls.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0mchdqebthppun1qtbp1w257qh2\"},{\"name\":\"OFF\",\"aliases\":[\"NO\"],\"description\":\"the row headers on the left scroll when the table data scrolls.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0ivvp5fv5s8qvn1a56ytgor6cg6\"},{\"name\":\"number\",\"placeholder\":true,\"description\":\"freeze the number of columns specified.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0i6w8vo3bh4l4n1lipi9xaf9tk6\"}],\"supportSiteTargetFragment\":\"n1by0qrcw5lweyn1dt6r6qgdscql\"},{\"name\":\"(GRIDLINES=)\",\"description\":\"specifies if grid lines are printed.\",\"help\":\"(GRIDLINES=\\\"OFF\\\" | \\\"ON\\\")\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ON\",\"aliases\":[\"YES\"],\"description\":\"grid lines are printed.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0z3urqc2oj660n1g0hqexe716jv\"},{\"name\":\"OFF\",\"aliases\":[\"NO\"],\"description\":\"grid lines are not printed.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1ul7sdxi2szsyn1tvimbk1ps8qs\"}],\"supportSiteTargetFragment\":\"n11dztwrekaiudn1kvls6wmn0ezz\"},{\"name\":\"(HIDDEN_COLUMNS =\",\"description\":\"specifies the columns to hide.\",\"help\":\"(HIDDEN_COLUMNS                     ='*number-list**column*' | '*range*')\",\"type\":\"choice\",\"arguments\":[{\"name\":\"number-list\",\"placeholder\":true,\"description\":\"specifies a comma-delimited list of column numbers\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1m0ktr672lmpyn1usicm5u37e0k\"},{\"name\":\"column\",\"placeholder\":true,\"description\":\"specifies the number or letter of a column\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n193gsnvs6pquln1xjfhgfcsgizr\"},{\"name\":\"range\",\"placeholder\":true,\"description\":\"specifies a cell range. Cell ranges can be written as numbers ('1-3') or letters ('A:C').\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1q8biabnom37ln14f8q6xw39enl\"},{\"name\":\"NONE\",\"description\":\"specifies that all columns are shown.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1ee6ahtjnlwstn1883dfe5t8zhu\"}],\"supportSiteTargetFragment\":\"p0vctnnqoy1mkkn19vs58sqbee1s\"},{\"name\":\"(HIDDEN_ROWS =)\",\"description\":\"specifies the rows to hide. You can specify a list of rows to hide or a range of rows to hide.\",\"help\":\"(HIDDEN_ROWS                     =*'number_list_range'* | 'NONE')\",\"type\":\"choice\",\"arguments\":[{\"name\":\"'number_list_range'\",\"placeholder\":true,\"description\":\"specifies a list of rows or a range of rows to hide.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1qhnm263lpo8un1mvxo99qt0st5\"},{\"name\":\"'NONE'\",\"description\":\"specifies that all rows are shown.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1k00m05m86rr0n1i7sge3i3ephm\"}],\"supportSiteTargetFragment\":\"p130npf4oepdwen13qjsa7wrkuqv\"},{\"name\":\"(INDEX=)\",\"description\":\"creates a worksheet that contains an index of all worksheets.\",\"help\":\"(INDEX=''OFF'' | ''ON'')\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ON\",\"aliases\":[\"YES\"],\"description\":\"creates a worksheet that contains an index of all worksheets.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0l2eduupaxr9nn1xhcjed2apk1c\"},{\"name\":\"OFF\",\"aliases\":[\"NO\"],\"description\":\"does not create a worksheet that contains an index of all worksheets.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0hljxpkvrz1w9n1vf75ep41ltg7\"}],\"supportSiteTargetFragment\":\"p1lsh1f5i6kxoln1cjw44suri0jm\"},{\"name\":\"(MSG_LEVEL=)\",\"description\":\"suppresses messages from Excel.\",\"help\":\"(MSG_LEVEL= NO                   NOTES | NONE)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NO\",\"description\":\"suppresses messages\",\"help\":\"NO NOTES\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p04rftzfke2qi3n1nqa3orair43m\"},{\"name\":\"NONE\",\"description\":\"leaves messages\",\"help\":\"NONE \",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0qit10fdg1barn1vh5x032vtg5h\"}],\"supportSiteTargetFragment\":\"n16u6o1vo7f2e4n1nponvgvu9u16\"},{\"name\":\"(ORIENTATION=\",\"description\":\"orients the printed page as either portrait or landscape.\",\"help\":\"(ORIENTATION='PORTRAIT' | 'LANDSCAPE'\",\"type\":\"choice\",\"arguments\":[{\"name\":\"PORTRAIT\",\"description\":\"prints a portrait-oriented page.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p09qw3sab3uiubn1n3apiwu2uhyh\"},{\"name\":\"LANDSCAPE\",\"description\":\"prints a landscape-oriented page.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p07o420hkv8b6in1rsu3rnrx8wbt\"}],\"supportSiteTargetFragment\":\"n0oooyxpg4v325n1iu3y8t17uuv1\"},{\"name\":\"(PAGE_ORDER_ACROSS=)\",\"description\":\"specifies that the information across the page is printed first followed by the information that is down the page.\",\"help\":\"(PAGE_ORDER_ACROSS='OFF' | ’ON')\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ON\",\"aliases\":[\"YES\"],\"description\":\"print all of the information across the page first, followed by the information down the page.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1d2cyipie9mi4n18espyyvkvc7m\"},{\"name\":\"OFF\",\"aliases\":[\"NO\"],\"description\":\"print all of the information down the page first, followed by the information across the page.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0bz2wuy4ugecfn1s0vyjhaobtkn\"}],\"supportSiteTargetFragment\":\"n09x0ik19r426fn19klep18efhj4\"},{\"name\":\"(PAGES_FITHEIGHT='')\",\"description\":\"specifies the number of pages down to fit the worksheet when printing.\",\"help\":\"(PAGES_FITHEIGHT='*number*')\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0h55ys25g43mwn1sr63styma1ns\"},{\"name\":\"(PAGES_FITWIDTH='')\",\"description\":\"specifies the number of pages to fit the worksheet across when printing.\",\"help\":\"(PAGES_FITWIDTH='*number*')\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p01bkpmkbqflkpn16036iypu0j2n\"},{\"name\":\"(PRINT_AREA= '')\",\"description\":\"describes the printed area in terms of the column and row to start and end with. You can use column and row numbers and letters delimited by commas, or you can use a cell range. The following example indicates top left corner and bottom right corner:\",\"help\":\"(PRINT_AREA=                   '*item*')\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1bxn1cs1m2293n1kp338ud60yu8\"},{\"name\":\"(PRINT_FOOTER=)\",\"description\":\"specifies the text that is placed in the footer when printing. If a footnote is specified, that footnote is used. Otherwise, this text is placed in the footer.\",\"help\":\"(PRINT_FOOTER=*'text-string'* | 'NONE')\",\"type\":\"choice\",\"arguments\":[{\"name\":\"'text-string'\",\"placeholder\":true,\"description\":\"specifies the text that is placed in the footer when printing.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n176448d535e3hn15qk4fv4zf8ey\"},{\"name\":\"'NONE'\",\"description\":\"specifies that no text is printed in the footer.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0zuqwp0fus4avn1fd37yhbn53fa\"}],\"supportSiteTargetFragment\":\"p0kpdnrqaa33e8n0zp1bmora6gcq\"},{\"name\":\"(PRINT_FOOTER_MARGIN='')\",\"description\":\"specifies the footer margin that is set in the page setup window when printing. This margin is measured in inches.\",\"help\":\"(PRINT_FOOTER_MARGIN='*number*')\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1jej8vmvjipsrn1ei2k0dbror58\"},{\"name\":\"(PRINT_HEADER=)\",\"description\":\"specifies the text that is placed in the header when printing. If no title is specified, this text is used by Excel on the printed page. If a title has been specified with the TITLE statement, that title is used.\",\"help\":\"(PRINT_HEADER=*'text-string'* | 'NONE')\",\"type\":\"choice\",\"arguments\":[{\"name\":\"'text-string'\",\"placeholder\":true,\"description\":\"specifies the text that is placed in the header when printing.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0qyswnp5w2c6zn19whtssbrn8vf\"},{\"name\":\"'NONE'\",\"description\":\"specifies that no text is printed in the header.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0jln9qvjn4hpdn1aiv20e1bx8b0\"}],\"supportSiteTargetFragment\":\"p0nlr1fbfts31fn1c7zjnt45a8cd\"},{\"name\":\"(PRINT_HEADER_MARGIN='')\",\"description\":\"specifies the header margin that is set in the page setup dialog window when printing. This margin is measured in inches.\",\"help\":\"(PRINT_HEADER_MARGIN='*number*')\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p10m6cfqm790jhn16t4rh7nhjrtk\"},{\"name\":\"(PROTECT_WORKSHEET=)\",\"description\":\"protects the worksheet by making it read-only.\",\"help\":\"(PROTECT_WORKSHEET='OFF' | 'ON')\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ON\",\"aliases\":[\"YES\"],\"description\":\"read-only access protects the worksheet.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1d8t8mo1968ujn1cl9cut8ykipj\"},{\"name\":\"OFF\",\"aliases\":[\"NO\"],\"description\":\"does not protect the worksheet with read-only access.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0cte96czjbclbn0zn3s3m9abe6j\"}],\"supportSiteTargetFragment\":\"p0odxykqkgdr23n1faq5wxlfk3o7\"},{\"name\":\"(ROWBREAKS_COUNT='')\",\"description\":\"specifies that for every number data rows, insert a print page for printing.\",\"help\":\"(ROWBREAKS_COUNT='*number*')\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0ow9ozfgddhe4n1jdwkcfh0tz7b\"},{\"name\":\"(ROWBREAKS_INTERVAL=')\",\"description\":\"controls the placement of page breaks. This option places a page break after each output object or after each procedure.\",\"help\":\"(ROWBREAKS_INTERVAL='OUTPUT' | 'PROC' | NONE')\",\"type\":\"choice\",\"arguments\":[{\"name\":\"OUTPUT\",\"description\":\"inserts a page break between output objects.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0eqr3ecjr2n7mn17p6h2xbxgd27\"},{\"name\":\"PROC\",\"description\":\"inserts a page break between each procedure's output.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0w1i8vua6ajckn17rd2hzmjhpvc\"},{\"name\":\"NONE\",\"description\":\"does not insert custom page breaks.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1fc39zhhtmz4in1orom9bc06alg\"}],\"supportSiteTargetFragment\":\"p14jelvyfkbkctn1auz9gmz5ick0\"},{\"name\":\"(ROWCOLHEADINGS=)\",\"description\":\"specifies if row and column headings should be printed.\",\"help\":\"(ROWCOLHEADINGS='OFF' | 'ON')\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ON\",\"aliases\":[\"YES\"],\"description\":\"prints row and column headings.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p049vvnr0q4v58n1gi79vnvskhu4\"},{\"name\":\"OFF\",\"aliases\":[\"NO\"],\"description\":\"does not print row and column headings.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1c9uax693agzcn1wlv8ieav43hd\"}],\"supportSiteTargetFragment\":\"p0y43k2a2m2tlnn16jyqkn5zk62m\"},{\"name\":\"(ROW_HEIGHTS ='')\",\"description\":\"specifies the height of the row.\",\"help\":\"(ROW_HEIGHTS                   ='*number_list*')\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1m5p7mfrjjp1fn10el2h5lub9rb\"},{\"name\":\"(ROW_REPEAT=\",\"description\":\"controls how row headings are repeated across pages. For example, row_repeat='header' repeats all the row headers, row_repeat='1' repeats only one row, and row_repeat='1-3' repeats rows 1, 2, and 3.\",\"help\":\"(ROW_REPEAT='NONE' | 'HEADER' | *'number'* | *'number-range'*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NONE\",\"description\":\"specifies that no rows are repeated on each page.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0k1oh1hu4eemmn14m569gwpne6c\"},{\"name\":\"HEADER\",\"description\":\"specifies that all row headings are repeated on each page.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p07u4dpv3eoengn1k75wbnuma87e\"},{\"name\":\"number\",\"placeholder\":true,\"description\":\"specifies that the header of the row specified is repeated on each page.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1buktesygx7asn1l9nzu65nf093\"},{\"name\":\"number-range\",\"placeholder\":true,\"description\":\"specifies that the headers of the rows within the range specified are repeated on each page.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0tvkou9yklh8qn10dvli2dk0hry\"}],\"supportSiteTargetFragment\":\"p1vguvlvmyq4h2n1o0q5izivu4yo\"},{\"name\":\"(SCALE='')\",\"description\":\"specifies the scale level for printing.\",\"help\":\"(SCALE='*number*')\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1kn7qp1zqmshjn19dq9bt397nai\"},{\"name\":\"(SCREEN_RESOLUTION_SCALE_FACTOR= )\",\"description\":\"specifies the scale factor to optimize viewing of Excel spreadsheets on high-resolution displays.\",\"help\":\"(SCREEN_RESOLUTION_SCALE_FACTOR=                     *'display-scale-factor'* | 'NONE')\",\"type\":\"choice\",\"arguments\":[{\"name\":\"'display-scale-factor'\",\"placeholder\":true,\"description\":\"specifies the scale factor.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0wn69nx6id2j2n1b9a4f31uwnm8\"},{\"name\":\"'NONE'\",\"description\":\"specifies that no scale factor is used.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1adxjmdc1klxdn18eow1gr85w1b\"}],\"supportSiteTargetFragment\":\"p05ui23ofki17bn1w9g3exqnjceo\"},{\"name\":\"(SHEET_INTERVAL=\",\"description\":\"specifies the criteria for when a new worksheet is created.\",\"help\":\"(SHEET_INTERVAL='BYGROUP' | 'PAGE' | 'PROC' | 'NONE' | 'NOW' | 'TABLE')\",\"type\":\"choice\",\"arguments\":[{\"name\":\"BYGROUP\",\"aliases\":[\"BYGROUPS\"],\"description\":\"creates a new worksheet after each BYGROUP.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1r4m7htb3y4v4n1bojrlitdaouh\"},{\"name\":\"NONE\",\"description\":\"creates one worksheet with all of the data.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p16sv8f6fgiwrmn1o5hiljk5ae3m\"},{\"name\":\"NOW\",\"description\":\"creates a new worksheet. When used, the next output object starts on a new sheet. After SHEET_INTERVAL='NOW' is executed, the SHEET_INTERVAL option reverts to the previous setting.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0597xo1qlozahn15d8z952z48kc\"},{\"name\":\"PAGE\",\"description\":\"creates a worksheet for each page of procedure output.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0389khl1aysb1n1rsk0gdak8zpn\"},{\"name\":\"PROC\",\"description\":\"creates a worksheet of all of the procedure output.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1tqtgk23k9e1an1nx7ia0k08j8n\"},{\"name\":\"TABLE\",\"aliases\":[\"OUTPUT\"],\"description\":\"creates a worksheet for each table.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0w0etoaw614awn1eoyq6i1h5ekg\"}],\"supportSiteTargetFragment\":\"n14kzx0j3pmce9n1eysz6cco2sqn\"},{\"name\":\"(SHEET_LABEL=)\",\"description\":\"used as the first part of the name in the worksheet label instead of the predefined string. This option is used in combination with the various worksheet naming options like SHEET_INTERVAL.\",\"help\":\"(SHEET_LABEL=*'text-string'* | 'NONE')\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NONE\",\"description\":\"creates worksheet labels named by default.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0o6qo9o139vakn1qhofhq9kn35o\"},{\"name\":\"text-string\",\"placeholder\":true,\"description\":\"names the first part of the label of a worksheet with the specified string.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0a2s1yqjr5kwnn1gy8z0b4sg6rr\"}],\"supportSiteTargetFragment\":\"p13hhft5mjj7aqn1oevgmsi9ndpj\"},{\"name\":\"(SHEET_NAME=)\",\"description\":\"specifies the name for the next worksheet. This name is used along with the worksheet counter to create a unique name.\",\"help\":\"(SHEET_NAME=*'text-string'* | 'NONE')\",\"type\":\"choice\",\"arguments\":[{\"name\":\"'text-string'\",\"placeholder\":true,\"description\":\"specifies the name for the next worksheet.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n03s2m6vpwigbin1mlykbdljmsj2\"},{\"name\":\"'NONE'\",\"description\":\"creates worksheets named by default.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0a65uup100rwbn1lqjphtw8uuyw\"}],\"supportSiteTargetFragment\":\"n0tfh2jxivp5j2n1173bal0trcuk\"},{\"name\":\"(START_AT=)\",\"description\":\"specifies a starting cell for the report. The default is to start at column 1 and row 1 (A1).\",\"help\":\"(START_AT=*'string'* | 'NONE')\",\"type\":\"choice\",\"arguments\":[{\"name\":\"'string'\",\"placeholder\":true,\"description\":\"specifies a starting cell for the report.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n15w657jm45w1fn10xspls0zd9em\"},{\"name\":\"'NONE'\",\"description\":\"specifies that the report starts at column 1 and row 1 (A1).\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p16tmj2n5u5yodn16cx8t3g9ldkv\"}],\"supportSiteTargetFragment\":\"p0frh60dhbgd3pn1w5zgjk4um77a\"},{\"name\":\"(SUPPRESS_BYLINES=)\",\"description\":\"specifies whether to suppress BY lines in the worksheet.\",\"help\":\"(SUPPRESS_BYLINES='OFF' | 'ON')\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ON\",\"aliases\":[\"YES\"],\"description\":\"suppress BY lines in the worksheet.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0x3ykksfju3ean1cbf52eu1ym3r\"},{\"name\":\"OFF\",\"aliases\":[\"NO\"],\"description\":\"BY lines appear in the worksheet.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1510nbi4hkiain1t8p4p0t9zcyv\"}],\"supportSiteTargetFragment\":\"p0xmxibc4moeinn1j80sgpngs9k7\"},{\"name\":\"(TAB_COLOR=)\",\"description\":\"specifies the color for the next worksheet.\",\"help\":\"(TAB_COLOR=*'string'* | 'NONE')\",\"type\":\"choice\",\"arguments\":[{\"name\":\"'string'\",\"placeholder\":true,\"description\":\"specifies the color for the next worksheet.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1wjq645lnye0sn1o0ofle1q6h2i\"},{\"name\":\"'NONE'\",\"description\":\"specifies that no color is applied to the next worksheet.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1honbbwyf9gugn1877hblckegyo\"}],\"supportSiteTargetFragment\":\"p1th1wc9uhgjn1n0zhaalokzhk5c\"},{\"name\":\"(TITLE_FOOTNOTE_NOBREAK=)\",\"description\":\"specifies whether procedure titles, titles, BY lines, and footnotes wrap across lines.\",\"help\":\"(TITLE_FOOTNOTE_NOBREAK=\\\"ON\\\" | \\\"OFF\\\")\",\"type\":\"choice\",\"arguments\":[{\"name\":\"OFF\",\"aliases\":[\"NO\"],\"description\":\"specifies that procedure titles, titles, BY lines, and footnotes wrap across lines.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p095sxmv4fta6mn1bru50q6d45nt\"},{\"name\":\"ON\",\"aliases\":[\"YES\"],\"description\":\"specifies that procedure titles, titles, BY lines, and footnotes do not wrap across lines.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0ucwdvotyyejnn12oatyfur7x1m\"}],\"supportSiteTargetFragment\":\"n0h87thkkvw71cn127vsragucvp2\"},{\"name\":\"(TITLE_FOOTNOTE_WIDTH='')\",\"description\":\"specifies the number of columns that titles and footnotes should span. If zero, titles and footnotes are merged across the number of columns currently in use.\",\"help\":\"(TITLE_FOOTNOTE_WIDTH='*number*')\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0osqeonij5cmhn14zvtyd6lw9z6\"},{\"name\":\"(ZOOM='')\",\"description\":\"indicates the initial zoom level on the worksheet.\",\"help\":\"(ZOOM='*number*')\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n10mi1qci5hyx1n1180zs102fbcd\"}],\"supportSiteTargetFragment\":\"p0258wnlz15ubrn1vqfalp6l4hjz\"},{\"name\":\"STATUS=\",\"optional\":true,\"description\":\"Insert the status of the Excel document\",\"help\":\"STATUS='*text-string*'\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n12mr35odi3auqn1iwiffepqnart\"},{\"name\":\"STYLE=\",\"optional\":true,\"description\":\"Specify one or more style-overides to use when writing output files\",\"help\":\"STYLE=               *style-override(s)*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p09eap1c2g8bp4n1nsapv0r2expr\"},{\"name\":\"TEXT=\",\"optional\":true,\"description\":\"Insert text into your document\",\"help\":\"TEXT=*text-string*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1g1s2fbdt6mdzn1r9s8j2rvdkee\"},{\"name\":\"TITLE=\",\"optional\":true,\"description\":\"Specify a title for the Excel document\",\"help\":\"TITLE='*text-string*'\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p002twbs5fmo64n1utbbuvzy6tp8\"},{\"name\":\"WORK=\",\"optional\":true,\"description\":\"Specify an alternate directory for the temporary files\",\"help\":\"WORK='*fileref*' | '*directory-name*'\",\"type\":\"choice\",\"arguments\":[{\"name\":\"fileref\",\"placeholder\":true,\"description\":\"is a file reference that has been assigned to a directory. Use the FILENAME statement to assign a fileref.\",\"help\":\"fileref\\n              \",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0xqu8l4c8n5i4n1bbb3t47kc2ta\"},{\"name\":\"directory-name\",\"placeholder\":true,\"description\":\"is the name of the directory.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n11aztd2t1ifkpn1xvd4d5rhrord\"}],\"supportSiteTargetFragment\":\"n1e3lbiro46jkmn1sho5z5yvgkva\"},{\"name\":\"CLOSE\",\"optional\":true,\"description\":\"Close the destination and the file that is associated with it.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0314ri2ftw2xbn19qok9x5dcpxtc\"},{\"name\":\"EXCLUDE\",\"optional\":true,\"description\":\"Exclude output objects from the destination\",\"help\":\"EXCLUDE *exclusion(s)* |  ALL |  NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"exclusion\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"ALL\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"p1dgxo1rmespghn1wosymk75o74kc\"},{\"name\":\"SELECT\",\"optional\":true,\"description\":\"Select output objects for the destination.\",\"help\":\"SELECT *selection(s)* |  ALL |  NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"selection\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"ALL\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"p1ivy4th5ppdkfn1aybs638tc3syc\"},{\"name\":\"SHOW\",\"optional\":true,\"description\":\"Write to the SAS Log the current selection or exclusion list for the destination\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0edxfd8jflk5xn1l1znzdzsupnac\"},{\"name\":\"SUBJECT=\",\"optional\":true,\"description\":\"Insert the text string that you specify as the subject in the metadata of a file\",\"help\":\"SUBJECT='*subject-text*'\",\"type\":\"value\",\"arguments\":[{\"name\":\"subject-text\",\"placeholder\":true,\"description\":\"specifies the text in the metadata of a file that indicates the subject.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1ox2fey5z7nlkn1raszk0ahs3fqa\"}],\"supportSiteTargetFragment\":\"p103tab91b65j5n15nl1vgag8f3ka\"}],\"supportSiteInformation\":{\"docsetId\":\"odsug\",\"docsetVersion\":\"v_004\",\"docsetTargetFile\":\"p09n5pw9ol0897n1qe04zeur27rv.htm\"}},{\"name\":\"ODS EXCLUDE\",\"description\":\"Specifies output objects to exclude from ODS destinations.\",\"help\":\"ODS  &lt;*ODS-destination*&gt;EXCLUDE *exclusion(s)* | ALL | NONE;\",\"arguments\":[{\"name\":\"output-object\",\"placeholder\":true,\"description\":\"specifies one or more output objects to exclude. To specify an output object, you need to know which output objects your SAS program produces. The ODS TRACE statement writes to the SAS log a trace record that includes the path, the label, and other information about each output object that is produced. You can specify an output object in any of the following ways:\\n• a full path. For example, the following is the full path of the output object:  \\n• a partial path. A partial path consists of any part of the full path that begins immediately after a period (.) and continues to the end of the full path. For example, suppose the full path is the following:   \\n• a label that is enclosed in quotation marks.\\n• a label path. For example, the following is the label path for  the output object: \\n• a partial label path. A partial label path consists of any part of the label that begins immediately after a period (.) and continues to the end of the label. For example, suppose the label path is the following: \\n• a mixture of labels and paths.\\n• any of the partial path specifications, followed by a number sign (#) and a number. For example,  refers to the third output object that is named .\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1e4o2he9enbubn1i9pwo94spv7q\"},{\"name\":\"(PERSIST)\",\"description\":\"keeps the output-object that precedes the PERSIST option in the exclusion list until you explicitly modify the list.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1j5dse1wqa8csn1x2pemrkf47w3\"},{\"name\":\"ALL\",\"aliases\":[\"DEFAULT\"],\"description\":\"specifies that ODS does not send any output objects to the open destination.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1rwqvtsineh7dn18fz8lhutvhw0\"},{\"name\":\"NONE\",\"description\":\"specifies that ODS send all of the output objects to the open destination.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0xs7kts8m3a97n16zta1yrywyh8\"},{\"name\":\"NOWARN\",\"optional\":true,\"description\":\"suppresses the warning that an output object was requested but not created.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p08jbt6y6ier7sn1tzo33ot5dpqp\"},{\"name\":\"ODS-destination\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies to which ODS destination's exclusion list to write, where ODS-destination can be any valid ODS destination. For a discussion of ODS destinations, see .\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0mlakx011mr33n1utnalw2xci0m\"},{\"name\":\"WHERE=\",\"optional\":true,\"description\":\"excludes output objects that meet a particular condition. For example, the following statement excludes only output objects with the word \\\"Histogram\\\" in their name:\",\"help\":\"WHERE=*where-expression*\",\"type\":\"value\",\"arguments\":[{\"name\":\"_LABEL_\",\"description\":\"is the label of the output object.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n19sikwrxorrn1n19jmc1xbi5j4x\"},{\"name\":\"_LABELPATH_\",\"description\":\"is the label path of the output object.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p121gkynjdi8wqn0zxef8rtb4z3j\"},{\"name\":\"_NAME_\",\"description\":\"is the name of the output object.\",\"help\":\"_NAME_ \",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0n44g0kl1wvb6n1alrkz7jyashk\"},{\"name\":\"_PATH_\",\"description\":\"is the name path of the output object.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p06ruu862wrdssn1b7lc0y3zz3nu\"},{\"name\":\"operator\",\"placeholder\":true,\"description\":\"compares a variable with a value or with another variable. operator can be AND, OR NOT, OR, AND NOT, or a comparison operator.\",\"help\":\"*operator*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1806gtebhb0stn1roc5e9gry8ap\"}],\"supportSiteTargetFragment\":\"p0rmfvjny1m1ubn1lm18nm2e7b12\"}],\"supportSiteInformation\":{\"docsetId\":\"odsproc\",\"docsetVersion\":\"v_004\",\"docsetTargetFile\":\"n0edvjbwu4y1bun1qgmzbk3s3vix.htm\"}},{\"name\":\"ODS GRAPHICS\",\"description\":\"Enables or disables ODS Graphics processing and sets graphics environment options. This statement affects ODS template-based (ODS Graphics) graphics only. The ODS GRAPHICS statement does not affect device-based graphics (SAS/GRAPH).\",\"help\":\"ODS GRAPHICS &lt;OFF | ON&gt;&lt;/ *options*&gt; ;\",\"arguments\":[{\"name\":\"ON\",\"optional\":true,\"aliases\":[\"YES\"],\"description\":\"enables ODS Graphics processing.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0tbp626iijnmon1o2wiiaq9idum\"},{\"name\":\"OFF\",\"optional\":true,\"aliases\":[\"NO\"],\"description\":\"disables ODS Graphics processing.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1e4jlzu8qxzxgn134hx6mx42wjr\"},{\"name\":\"ANTIALIAS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"smooths jagged edges of all components in the graph.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1sfig30xdfpp2n1nh1pxben0zyv\"},{\"name\":\"ANTIALIAS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies whether anti-aliasing is applied to the rendering of the line and markers in any graph.\",\"help\":\"ANTIALIAS=                      ON | OFF\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ON\",\"followsDelimiter\":\"/\",\"aliases\":[\"YES\"],\"description\":\"smooths jagged edges of all components in the graph.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1kqstn8k361jhn1u5tf1voutudq\"},{\"name\":\"OFF\",\"followsDelimiter\":\"/\",\"aliases\":[\"NO\"],\"description\":\"does not smooth jagged edges of components other than text in the graph.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0jrhmho3ruyyvn11dlufjiuooeq\"}],\"supportSiteTargetFragment\":\"p0diygiopyji2nn13ajwojdlb6cy\"},{\"name\":\"ANTIALIASMAX=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the maximum number of graphics elements before anti-aliasing is disabled.\",\"help\":\"ANTIALIASMAX=                      *n*\",\"type\":\"value\",\"arguments\":[{\"name\":\"n\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a positive integer.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1daweaj9st0fwn1jjf1lbe85xfu\"}],\"supportSiteTargetFragment\":\"p1avb3n1fhjvzkn1f5aj3khira29\"},{\"name\":\"ATTRPRIORITY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a priority for cycling of the group attributes.\",\"help\":\"ATTRPRIORITY=COLOR | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"COLOR\",\"followsDelimiter\":\"/\",\"description\":\"assigns priority to the color attribute rotation by cycling through the list of colors while holding the marker symbol and line pattern constant. When all of the colors are exhausted, the marker symbol and line style attributes increment to the next element, and then the colors in the list are repeated. This pattern repeats as needed.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n179sovtj5cfgfn1u7rx2fd5zruw\"},{\"name\":\"NONE\",\"followsDelimiter\":\"/\",\"description\":\"does not use an attribute priority in the rotation pattern, even if one is set in the active style’s AttrPriority attribute. The rotation pattern cycles progressively through the attribute lists.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1e7ncv23j6ekmn10uyboemolzzq\"}],\"supportSiteTargetFragment\":\"p0df2s1z93lcrxn1gtdsri5gzlr9\"},{\"name\":\"BORDER\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"draws a border around each graph.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0w28oda54asgln14f880qpvvbhe\"},{\"name\":\"BORDER=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies whether to draw a border around each graph.\",\"help\":\"BORDER=ON | OFF\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ON\",\"followsDelimiter\":\"/\",\"aliases\":[\"YES\"],\"description\":\"draws a border around each graph.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p07axd929ek4cdn17pt5dhsx3nfe\"},{\"name\":\"OFF\",\"followsDelimiter\":\"/\",\"aliases\":[\"NO\"],\"description\":\"does not draw a border around each graph.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0eomz829g7ge9n1ta89aq9dxurn\"}],\"supportSiteTargetFragment\":\"n0viikkw1k232mn189d51lumqsvt\"},{\"name\":\"BYLINE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies how the BY line is displayed in graphs.\",\"help\":\"BYLINE=NOBYLINE | TITLE | FOOTNOTE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NOBYLINE\",\"followsDelimiter\":\"/\",\"description\":\"specifies that no BY line is displayed. NOBYLINE is the default.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0ag2nlh9kicxwn1shwi111a1en0\"},{\"name\":\"FOOTNOTE\",\"followsDelimiter\":\"/\",\"description\":\"specifies that the BY line is displayed as a left-justified graph footnote. This is the recommended setting.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p03itpb87ehuz0n10s4ychncuon4\"},{\"name\":\"TITLE\",\"followsDelimiter\":\"/\",\"description\":\"specifies that the BY line is displayed as a centered graph title. Specifying TITLE is not recommended because graphs are not designed to have additional title lines.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p153oc8n1z7b9on116j0631o06u0\"}],\"supportSiteTargetFragment\":\"n0sph3iq6zgh85n1sok1weo0869g\"},{\"name\":\"DATASKINMAX=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the maximum number of graphical elements allowed per plot when a data skin is applied.\",\"help\":\"DATASKINMAX=*n*\",\"type\":\"value\",\"arguments\":[{\"name\":\"n\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a positive integer.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0w5cgbbkc93uln1jtd6y9wropdv\"}],\"supportSiteTargetFragment\":\"p18bg4ystht70wn14tkeuxr7lici\"},{\"name\":\"DISCRETEMAX=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the maximum number of discrete values to be shown in any graph.\",\"help\":\"DISCRETEMAX=*n*\",\"type\":\"value\",\"arguments\":[{\"name\":\"n\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a positive integer.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1lgsr1kap0xeon102sghflypnqi\"}],\"supportSiteTargetFragment\":\"n0bw6yosak5kxzn1qu3du5esrvex\"},{\"name\":\"DRILLTARGET=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the window that displays the drill-down output.\",\"help\":\"DRILLTARGET=\\\"_blank\\\" | \\n                  \\\"_self\\\" | \\\"_parent\\\" | \\\"_top\\\" | \\\"frame-name\\\"\",\"type\":\"choice\",\"arguments\":[{\"name\":\"\\\"_blank\\\"\",\"followsDelimiter\":\"/\",\"description\":\"opens a new browser window to display the drilldown output.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1qchw54jvh1dmn11zfczrwedd7b\"},{\"name\":\"\\\"_self\\\"\",\"followsDelimiter\":\"/\",\"description\":\"opens the drill-down output in the same window.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1ipwop41008mhn0zaec9vmi4knf\"},{\"name\":\"\\\"_parent\\\"\",\"followsDelimiter\":\"/\",\"description\":\"opens the drill-down output in the parent frame.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n17f9n714w5y1ln1ne6nqbzu9d0w\"},{\"name\":\"\\\"_top\\\"\",\"followsDelimiter\":\"/\",\"description\":\"opens the drill-down output in the full body of the window.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1thy0gosk0zptn16x9knzlw3tna\"},{\"name\":\"\\\"frame-name\\\"\",\"followsDelimiter\":\"/\",\"description\":\"opens the drill down output in the named frame in the current window. If the name does not exist, the output is opened in a new window.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0n78ffra8hgvxn1c75iho54k4tj\"}],\"supportSiteTargetFragment\":\"p0fqr4ignhsl4zn1otrdnc6nf6om\"},{\"name\":\"GROUPMAX=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the maximum number of group values to be shown in any graph.\",\"help\":\"GROUPMAX=*n*\",\"type\":\"value\",\"arguments\":[{\"name\":\"n\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a positive integer.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1hu2abfonrqasn1e1ef6qp01bkn\"}],\"supportSiteTargetFragment\":\"p0s41t8rm1mc2zn1xzcsd7dnlg6h\"},{\"name\":\"HEIGHT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the height of a graph.\",\"help\":\"HEIGHT=*dimension*\",\"type\":\"value\",\"arguments\":[{\"name\":\"dimension\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"is a nonnegative number followed by one of these units of measure:\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1e13tpmgy8gp7n1qtfax4teein6\"}],\"supportSiteTargetFragment\":\"n19zh3fg7rai9xn1brgrm1vjr2wy\"},{\"name\":\"IMAGEMAP\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies to generate data tips.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0qqvmrfn0zhpwn1gjw50p0qpqwt\"},{\"name\":\"IMAGEMAP=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies whether data tips are generated.\",\"help\":\"IMAGEMAP=ON | OFF\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ON\",\"followsDelimiter\":\"/\",\"aliases\":[\"YES\"],\"description\":\"specifies to generate data tips.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p02z9eae8882hzn1gsa02utczxb7\"},{\"name\":\"OFF\",\"followsDelimiter\":\"/\",\"aliases\":[\"NO\"],\"description\":\"specifies not to generate data tips.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1axli8r2euuxnn1nat03zsmzpav\"}],\"supportSiteTargetFragment\":\"p1fdxv2v10iktvn1fnbmbhukhow8\"},{\"name\":\"IMAGENAME=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the base image file name.\",\"help\":\"IMAGENAME=\\\"*filename*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1tf90icyqmzh9n143tcsn5p44ns\"},{\"name\":\"LABELMAX=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the maximum number of labeled areas before data label collision avoidance is disabled.\",\"help\":\"LABELMAX=*n*\",\"type\":\"value\",\"arguments\":[{\"name\":\"n\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a positive integer.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0emb3vh6xjfvnn1c79gb5jn9s7l\"}],\"supportSiteTargetFragment\":\"n1sow80rbsptlmn1f1qp3qwi7acn\"},{\"name\":\"LABELPLACEMENT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the label-placement algorithm to use for positioning labels in the graphs.\",\"help\":\"LABELPLACEMENT=                      GREEDY | SA\",\"type\":\"choice\",\"arguments\":[{\"name\":\"GREEDY\",\"followsDelimiter\":\"/\",\"description\":\"specifies the Greedy method for managing label collision. The Greedy method tries different placement combinations in order to find an optimal approximation that avoids collisions. Label placement using this method is often less optimal than label placement using the Simulated Annealing (SA) method. However, depending on the number of data points and the potential for label collisions, the Greedy process can be significantly faster.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n08padh4stmkrpn17qknk2riur0s\"},{\"name\":\"SA\",\"followsDelimiter\":\"/\",\"description\":\"specifies the Simulated Annealing method for managing label collision. The SA method attempts to determine the global minimization-of-cost function, which is based on a simulated annealing algorithm. The resulting label placement is usually better than placement using the Greedy method. However, depending on the number of data points and the potential for label collisions, the SA method can be significantly slower.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1uk83s0yfajxpn1qyq92knag112\"}],\"supportSiteTargetFragment\":\"p09pxeh18vaat3n1084pnrth8sm5\"},{\"name\":\"LEGENDAREAMAX=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies an integer that is interpreted as the maximum percentage of the overall graphics area that a legend can occupy.\",\"help\":\"LEGENDAREAMAX=*n*\",\"type\":\"value\",\"arguments\":[{\"name\":\"n\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"MAXLEGENDAREA=\"],\"description\":\"specifies a positive integer.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1ce8uz9chubezn1q5g22ol8a2gw\"}],\"supportSiteTargetFragment\":\"p0xn0oifhodun0n1vyzr3fwx7byg\"},{\"name\":\"LINEPATTERNOBSMAX=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the maximum the number of vertices for a patterned line.\",\"help\":\"LINEPATTERNOBSMAX=n\\n               \",\"type\":\"value\",\"arguments\":[{\"name\":\"n\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a positive integer.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0bkswqqxz22cbn18bk8tc6afba3\"}],\"supportSiteTargetFragment\":\"p1dod2qgakgle1n1vquz8suhn53n\"},{\"name\":\"LOESSOBSMAX=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"LOESSMAXOBS=\"],\"description\":\"specifies an upper limit for the number of observations that can be used with a loess plot.\",\"help\":\"LOESSOBSMAX=*n*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0kssk9r8oz909n1o1xjki7c2a5t\"},{\"name\":\"NBINSMAX=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the maximum number of bins that are processed for histograms.\",\"help\":\"NBINSMAX=*n*\",\"type\":\"value\",\"arguments\":[{\"name\":\"n\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a positive integer.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1koyqn8rde189n1u7ouwlemd2c2\"}],\"supportSiteTargetFragment\":\"p1vgaelo6gc5exn13j22np41y0uj\"},{\"name\":\"NOANTIALIAS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"does not smooth jagged edges of components other than text in the graph.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p15qlvs5op9okin1vxyvloefduzr\"},{\"name\":\"NOBORDER\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"does not draw a border around the graph.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p03mbxy6sk5g89n1dhssqup91ytc\"},{\"name\":\"NOIMAGEMAP\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies not to generate data tips.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p06f74akuhx7k2n1avnnezk4afv7\"},{\"name\":\"NOSCALE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"does not scale the components of a graph proportionally.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1nlhg7widt8mgn1jgnel8drppsy\"},{\"name\":\"NOSCALEMARKERS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"does not scale the markers with the graph size.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p07937c6gkbbrpn1bv7bkaza1xsi\"},{\"name\":\"NOSUBPIXEL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"never uses subpixel rendering.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0w67fzlg044von1bb4twbd1e3la\"},{\"name\":\"NXYBINSMAX=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the maximum number of bins that are processed for heat maps.\",\"help\":\"NXYBINSMAX=*n*\",\"type\":\"value\",\"arguments\":[{\"name\":\"n\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a positive integer.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1savqnhfjw5dwn1dr52xlqyqlci\"}],\"supportSiteTargetFragment\":\"p15jx48j0z4bimn1h5lr52liq2qg\"},{\"name\":\"OBSMAX=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the maximum number of observations that are processed.\",\"help\":\"OBSMAX=*n*\",\"type\":\"value\",\"arguments\":[{\"name\":\"n\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"MAXOBS=\"],\"description\":\"specifies a positive integer.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0sfquok4ygy79n1e9cooxxzuw88\"}],\"supportSiteTargetFragment\":\"n14xyyc6c4ct8ln1e83gi4cx82kt\"},{\"name\":\"OUTPUTFMT=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the output format used to generate image or vector graphic files.\",\"help\":\"OUTPUTFMT=*file–type* | STATIC\",\"type\":\"choice\",\"arguments\":[{\"name\":\"file-type\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"is the image or vector graphic format to be generated. See .\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0z9uvkmh6q8xmn1smo3bxg1a7qc\"},{\"name\":\"STATIC\",\"followsDelimiter\":\"/\",\"description\":\"uses the best quality static image format for the active output destination. This is the default output format.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n00mi6bvhhohn7n15xk4xo316ia9\"}],\"supportSiteTargetFragment\":\"n0q290h2776ascn1evqmw2uniigf\"},{\"name\":\"PANELCELLMAX=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the maximum number of cells in a graph panel where the number of cells is determined dynamically by classification variables.\",\"help\":\"PANELCELLMAX=*n*\",\"type\":\"value\",\"arguments\":[{\"name\":\"n\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a positive integer.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1y2f24x3siefhn1874tfjnlk3rm\"}],\"supportSiteTargetFragment\":\"n1hj27pop6ebnmn14kbrolnky553\"},{\"name\":\"POP\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"restores the most recently pushed settings from the stack.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p14ixpwpxm2fvwn1mtkqelwttmym\"},{\"name\":\"PUSH\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"pushes the current ODS GRAPHICS settings to a stack.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n07wvfdam4a67pn1xlz4s6ausp6n\"},{\"name\":\"RESET\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"resets all options to their defaults.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n14bsrepc5uoj6n0z85h92ijj04n\"},{\"name\":\"RESET=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"resets one or all of the ODS GRAPHICS options to their defaults.\",\"help\":\"RESET=ALL | *option*\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ALL\",\"followsDelimiter\":\"/\",\"description\":\"resets all of the ODS GRAPHICS options to their defaults.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n14ahqzn92hl4pn17wfv145u35s1\"},{\"name\":\"option\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the name of an option to reset.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1ek65vq5bje49n1axl2s5w9jch3\"}],\"supportSiteTargetFragment\":\"n1tj8baj6rr0srn17t9urzza9ydm\"},{\"name\":\"SCALE\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"scales the components of a graph proportionally.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0nvn833f5l54bn1ls866murx5s8\"},{\"name\":\"SCALE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies whether the content of a graph is scaled proportionally.\",\"help\":\"SCALE=ON | OFF\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ON\",\"followsDelimiter\":\"/\",\"aliases\":[\"YES\"],\"description\":\"scales the components of a graph proportionally.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n085hj8eqz1osdn1j4kktx0q22ya\"},{\"name\":\"OFF\",\"followsDelimiter\":\"/\",\"aliases\":[\"NO\"],\"description\":\"does not scale the components of a graph proportionally.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p078cyoa2r4t2tn1apfdolqsslfr\"}],\"supportSiteTargetFragment\":\"n06mlasnz17bchn1vp4go5bccdlf\"},{\"name\":\"SCALEMARKERS\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"scales the markers with the graph size.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n16jdtxig1zqzvn1vu771hayej99\"},{\"name\":\"SCALEMARKERS=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies whether the plot markers are to be scaled with the graph size.\",\"help\":\"SCALEMARKERS=ON | OFF\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ON\",\"followsDelimiter\":\"/\",\"aliases\":[\"YES\"],\"description\":\"scales the markers with the graph size.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0pm6bvk09l5tnn1hm1onb1u2cnx\"},{\"name\":\"OFF\",\"followsDelimiter\":\"/\",\"aliases\":[\"NO\"],\"description\":\"does not scale the markers with the graph size.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1htsdsdg7mtd7n19x4n9hxie1s6\"}],\"supportSiteTargetFragment\":\"n0puon2er2t89en1p8bk2mobqews\"},{\"name\":\"SHOW\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"writes the current ODS Graphics settings to the SAS log.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p09xok6h14voiin1gq3blw3a4bvt\"},{\"name\":\"STACKDEPTHMAX=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the maximum stack depth for PUSH and POP requests.\",\"help\":\"STACKDEPTHMAX=*n*\",\"type\":\"value\",\"arguments\":[{\"name\":\"n\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a positive integer.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0g4dh2ej9idxxn1igrbeyk15jm2\"}],\"supportSiteTargetFragment\":\"n1x7444ru5f09un19s3avd49mnb8\"},{\"name\":\"SUBPIXEL\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"always uses subpixel rendering, when applicable, for rendering lines and bars.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0b0tn8o0fslymn1loyz9itu4jf3\"},{\"name\":\"SUBPIXEL=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies whether subpixel rendering should be used for rendering ODS Graphics.\",\"help\":\"SUBPIXEL=ON | OFF\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ON\",\"followsDelimiter\":\"/\",\"aliases\":[\"YES\"],\"description\":\"always uses subpixel rendering, when applicable, for rendering lines and bars.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0m9q9jtxcn6d2n1makdj4borcby\"},{\"name\":\"OFF\",\"followsDelimiter\":\"/\",\"aliases\":[\"NO\"],\"description\":\"never uses subpixel rendering.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1izt94xm35yxyn1n9kp1s32bnuh\"}],\"supportSiteTargetFragment\":\"p17dtgitajzxzcn1atd6j7rdgtza\"},{\"name\":\"TIPMAX=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the maximum number of distinct data tip areas allowed before data tips are disabled.\",\"help\":\"TIPMAX=n\\n               \",\"type\":\"value\",\"arguments\":[{\"name\":\"n\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a positive integer.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1augbx592j9arn1t3kj4jzsbubx\"}],\"supportSiteTargetFragment\":\"p0m2zcojdwexccn1d0eh79k9q5x5\"},{\"name\":\"TOTALCELLMAX=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the maximum number of total cells in a graph where the number of cells is determined dynamically by classification variables.\",\"help\":\"TOTALCELLMAX=*n*\",\"type\":\"value\",\"arguments\":[{\"name\":\"n\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a positive integer.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n02o7bw5g0bfhtn1l5l56gvm9xwf\"}],\"supportSiteTargetFragment\":\"n0598az3s0dtwon1dnmril6gr89s\"},{\"name\":\"WIDTH=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies the width of any graph.\",\"help\":\"WIDTH=*dimension*\",\"type\":\"value\",\"arguments\":[{\"name\":\"dimension\",\"placeholder\":true,\"followsDelimiter\":\"/\",\"description\":\"is a nonnegative number followed by one of these units of measure:\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0fwpb1g02oxldn16torc1f75fxh\"}],\"supportSiteTargetFragment\":\"n0toze6utppdphn1jokpjbpci00x\"}],\"supportSiteInformation\":{\"docsetId\":\"grstatgraph\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"p0kroq43yu0lspn16hk1u4c65lti.htm\"}},{\"name\":\"ODS HTML5\",\"description\":\"Opens, manages, or closes the HTML5 destination, which produces HTML 5.0 output that contains embedded style sheets.\",\"help\":\"ODS HTML5 <(<ID => identifier)><action> ;\\nODS HTML5 <(<ID => identifier)><options> ;\",\"arguments\":[{\"name\":\"ANCHOR=\",\"optional\":true,\"description\":\"Specify a unique base name for the anchor tag that identifies each output object in the current body file\",\"help\":\"ANCHOR= '*anchor-name*'\",\"type\":\"value\",\"arguments\":[{\"name\":\"anchor-name\",\"placeholder\":true,\"description\":\"is the base name for the anchor tag that identifies each output object in the current body file.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p01w95byx4kr7fn1ikf6cdm0c9oua\"}],\"supportSiteTargetFragment\":\"p0n4k1d2dkcni7n15ucd6m16xrtaa\"},{\"name\":\"ACCESSIBLE_GRAPH\",\"optional\":true,\"description\":\"Add accessibility metadata to graphs that are created by ODS Graphics\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1c3r2ch5kk9kdn10wgkf94sr65p\"},{\"name\":\"NOACCESSIBLE_GRAPH\",\"optional\":true,\"description\":\"Add accessibility metadata to graphs that are created by ODS Graphics\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1c3r2ch5kk9kdn10wgkf94sr65p\"},{\"name\":\"BASE=\",\"optional\":true,\"description\":\"Specify text to use as the first part of all links and references that ODS creates in output files\",\"help\":\"BASE= '*base-text*'\",\"type\":\"value\",\"arguments\":[{\"name\":\"base-text\",\"placeholder\":true,\"description\":\"is the text that ODS uses as the first part of all links and references that ODS creates in the file. Consider this specification:\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0sgdc1f04nauln10831w8p4gvpya\"}],\"supportSiteTargetFragment\":\"n07gac705m9r4ln1nl4x9v20uhi0a\"},{\"name\":\"BODY=\",\"optional\":true,\"aliases\":[\"FILE=\"],\"description\":\"Open a markup family destination and specify the file that contains the primary output that is created by the ODS statement\",\"help\":\"BODY= '*file-specification*' (*suboptions*)\",\"type\":\"value\",\"arguments\":[{\"name\":\"external-file\",\"placeholder\":true,\"description\":\"is the name of an external output file.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n16d6tku1wtmann12csfhp1csdpha\"},{\"name\":\"fileref\",\"placeholder\":true,\"description\":\"is a file reference that has been assigned to an external file. Use the FILENAME statement to assign a fileref.\",\"help\":\"*fileref* \",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1if2ivpr9jpyyn16pjqs7n7sktga\"},{\"name\":\"entry.markup\",\"placeholder\":true,\"description\":\"specifies an entry in a SAS catalog to write to.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0p2mzfmjdqfmyn16yngspiyamksa\"},{\"name\":\"(DYNAMIC)\",\"description\":\"Send output directly to a web server instead of writing it to a file\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0tx9i7zpg5y91n1efxlw455aavsa\"},{\"name\":\"(NO_BOTTOM_MATTER)\",\"description\":\"Specify that no ending markup language source code be added to the output file\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0b1a0wwsymzo3n1j9y1aduqf6jta\"},{\"name\":\"(NO_TOP_MATTER)\",\"description\":\"Specify that no beginning markup language source code be added to the top of the output file. For HTML 4.0, the NO_TOP_MATTER option removes the style sheet.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p07sp4iufwigsgn1n7k8whe9ir29a\"},{\"name\":\"(TITLE='')\",\"description\":\"Insert into the metadata of a file, the text string that you specify as the text to appear in the browser window title bar\",\"help\":\"(TITLE='*title-text*')\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0mtng5xbjpucvn1ej0yx2ln2fnfa\"},{\"name\":\"(URL= '' )\",\"description\":\"Specify a URL for the file-specification. ODS uses this URL (instead of the filename) in all the links and references that it creates and that point to the file.\",\"help\":\"(URL= '*Uniform-Resource-Locator*' )\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0uiijresiw33nn1ikgd5epxolbma\"}],\"supportSiteTargetFragment\":\"p1c6fjcso5p9tmn1ls9ihbbg20n4a\"},{\"name\":\"BOX_SIZING=\",\"optional\":true,\"description\":\"Specify how to measure the width of cells. Use to override the default value of BOX_SIZING for a destination\",\"help\":\"BOX_SIZING=(CONTENT_BOX  |  BORDER_BOX)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"CONTENT_BOX\",\"type\":\"standalone\"},{\"name\":\"BORDER_BOX\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"p1azv81400kqxwn10atceiqw3i9ab\"},{\"name\":\"CHARSET=\",\"optional\":true,\"description\":\"Specify the character set to be generated in the META declaration for the HTML output\",\"help\":\"CHARSET= *character-set*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0luttgd044rcen1sc1yp7xzkxqqa\"},{\"name\":\"CODE=\",\"optional\":true,\"description\":\"Open the HTML destination and specify the file that contains relevant style information\",\"help\":\"CODE= '*file-specification*' &lt;(*suboptions*)&gt;\",\"type\":\"value\",\"arguments\":[{\"name\":\"external-file\",\"placeholder\":true,\"description\":\"is the name of an external output file.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0cm0dg2mpnkayn1vyurari5fbqza\"},{\"name\":\"fileref\",\"placeholder\":true,\"description\":\"is a file reference that has been assigned to an external file. Use the FILENAME statement to assign a fileref.\",\"help\":\"*fileref* \",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1p19xelzqo0sun1h69iqiz6g1kma\"},{\"name\":\"entry.markup\",\"placeholder\":true,\"description\":\"specifies an entry in a SAS catalog to write to.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0btln4kok5qs2n1dpxz4fw219g5a\"},{\"name\":\"(DYNAMIC)\",\"description\":\"Send output directly to a web server instead of writing it to a file\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p07khl78ncm5g9n1b2n65b3q8l2za\"},{\"name\":\"(URL= '' )\",\"description\":\"Specify a URL for the file-specification. ODS uses this URL (instead of the filename) in all the links and references that it creates and that point to the file.\",\"help\":\"(URL= '*Uniform-Resource-Locator*' )\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0tute23aeejksn15jydxgmgsbbya\"}],\"supportSiteTargetFragment\":\"p042faxw7ovjosn1tnim626rb9cta\"},{\"name\":\"CONTENTS=\",\"optional\":true,\"description\":\"Open the HTML5 destination and specify the file that contains a table of contents for the output\",\"help\":\"CONTENTS=                      '*file-specification*'                      &lt;(*suboptions*)&gt;\",\"type\":\"value\",\"arguments\":[{\"name\":\"external-file\",\"placeholder\":true,\"description\":\"is the name of an external output file.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0rtmpnj7zwqi2n1xi1ujrmee3kp\"},{\"name\":\"fileref\",\"placeholder\":true,\"description\":\"is a file reference that has been assigned to an external file. Use the FILENAME statement to assign a fileref.\",\"help\":\"fileref\\n                           \",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1g73g3hieflp9n1cgmbovlkafrr\"},{\"name\":\"entry.markup\",\"placeholder\":true,\"description\":\"specifies an entry in a SAS catalog to write to.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0107nlnd49ifin19pcmnlq8l02k\"},{\"name\":\"(DYNAMIC)\",\"description\":\"Send output directly to a web server instead of writing it to a file\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0z18rr1qtz3okn1rec5o95ud6r7\"},{\"name\":\"(NO_BOTTOM_MATTER)\",\"description\":\"Specify that no ending markup language source code be added to the output file.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1rgopw39qwweyn1w5a155t21xbq\"},{\"name\":\"(NO_TOP_MATTER)\",\"description\":\"Specify that no beginning markup language source code be added to the top of the output file. For HTML 4.0, the NO_TOP_MATTER option removes the style sheet.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1vg938v3t2axtn1ajs83aiho1yj\"},{\"name\":\"(TITLE='')\",\"description\":\"Insert into the metadata of a file, the text string that you specify as the text to appear in the browser window title bar.\",\"help\":\"(TITLE='*title-text*')\",\"type\":\"value\",\"arguments\":[{\"name\":\"title-text\",\"placeholder\":true,\"description\":\"is the text in the metadata of a file that indicates the title.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n10gokc190yy1wn11wyxtyz9pybr\"}],\"supportSiteTargetFragment\":\"n1svfskhieir1mn1qwpnasbxbmmi\"},{\"name\":\"(URL= '' )\",\"description\":\"Specify a URL for the file-specification. ODS uses this URL (instead of the filename) in all the links and references that it creates and that point to the file.\",\"help\":\"(URL=                                  '*Uniform-Resource-Locator*'                               )\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1ru97duc9f6n6n15mhphd3a9p03\"}],\"supportSiteTargetFragment\":\"p176otpxnrfu4an1rxsr7h1r64c8\"},{\"name\":\"CSSSTYLE=\",\"optional\":true,\"description\":\"Specify a cascading style sheet to apply to your output\",\"help\":\"CSSSTYLE='*file-specification*'&lt;(*media-type1*&lt;...*media-type-10*&gt;)&gt;\",\"type\":\"value\",\"arguments\":[{\"name\":\"\\\"external-file\\\"\",\"placeholder\":true,\"description\":\"is the name of the external file.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p11iw3z8t16sn9n1m39t2b26rs6d\"},{\"name\":\"fileref\",\"placeholder\":true,\"description\":\"is a file reference that has been assigned to an external file. Use the FILENAME statement to assign a fileref.\",\"help\":\"fileref\\n                           \",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0kllv71690l1vn1dijg9og3ps4q\"},{\"name\":\"\\\"URL\\\"\",\"placeholder\":true,\"description\":\"is a URL to an external file.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p17ontj9p3jrkqn1oqa7u5z7jngv\"},{\"name\":\"(media-type-1<.. media-type-10>)\",\"placeholder\":true,\"description\":\"specifies one or more media blocks that correspond to the type of media that your output is rendered on. CSS uses media type blocks to specify how a document is to be presented on different media: on the screen, on paper, with a speech synthesizer, with a braille device, and so on.\",\"help\":\"(*media-type-1&lt;..                            media-type-10&gt;*)\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0ewatkozltop9n1jegpm1zo9zkn\"}],\"supportSiteTargetFragment\":\"p1vx1tf0sllnh6n1pcl11t3co07a\"},{\"name\":\"DOM\",\"optional\":true,\"description\":\"Specify that the ODS document object model is written to the SAS Log or to an external file\",\"help\":\"DOM&lt;=\\\"*external-file*\\\"&gt;\",\"type\":\"standaloneOrValue\",\"arguments\":[{\"name\":\"external-file\",\"placeholder\":true,\"description\":\"is the name of an external output file.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0vzar5h7f8gtcn1x5ihohfiun0fe\"}],\"supportSiteTargetFragment\":\"n1c57d2048ucksn1o3iq5uj0pim2e\"},{\"name\":\"DEVICE=\",\"optional\":true,\"description\":\"Specify a device for the output destination\",\"help\":\"DEVICE= *device-driver*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0qke3g1hiu38hn1a4pwglfk5gm5a\"},{\"name\":\"ENCODING=\",\"optional\":true,\"description\":\"Override the encoding for input or output processing (transcodes) of external files\",\"help\":\"ENCODING= *local-character-set-encoding*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1iri7jiorpy5an19yud8nmfkdaec\"},{\"name\":\"FRAME=\",\"optional\":true,\"description\":\"Specify the file that integrates the table of contents, the page contents, and the body file\",\"help\":\"FRAME= '*file-specification*' &lt;(*suboptions*)&gt;\",\"type\":\"value\",\"arguments\":[{\"name\":\"external-file\",\"placeholder\":true,\"description\":\"is the name of an external output file.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0ci2ninxo9zw6n1et8mfhiorp0fa\"},{\"name\":\"fileref\",\"placeholder\":true,\"description\":\"is a file reference that has been assigned to an external file. Use the FILENAME statement to assign a fileref.\",\"help\":\"*fileref* \",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0ifkzl3gajbsan1iv1dpr5zom8aa\"},{\"name\":\"entry.markup\",\"placeholder\":true,\"description\":\"specifies an entry in a SAS catalog to write to.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0bfbkwe6k00jmn1vwrgo49po3nua\"},{\"name\":\"(DYNAMIC)\",\"description\":\"Send output directly to a web server instead of writing it to a file\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p09telsw1e17phn142yl7le0nicpa\"},{\"name\":\"(NO_BOTTOM_MATTER)\",\"description\":\"Specify that no ending markup language source code be added to the output file\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1uzccl28l5mrwn18dqj92sfxbl7a\"},{\"name\":\"(NO_TOP_MATTER)\",\"description\":\"Specify that no beginning markup language source code be added to the top of the output file.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0tpg2ge7ux0uzn196clp7a4kqiba\"},{\"name\":\"(TITLE='')\",\"description\":\"Insert into the metadata of a file, the text string that you specify as the text to appear in the browser window title bar\",\"help\":\"(TITLE='*title-text*')\",\"type\":\"value\",\"arguments\":[{\"name\":\"title-text\",\"placeholder\":true,\"description\":\"is the text in the metadata of a file that indicates the title.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0i7yq2gadvs1hn1d8qnz114bketa\"}],\"supportSiteTargetFragment\":\"p0q6q297uolf7rn12ub8f89mi2b0a\"},{\"name\":\"(URL= '' )\",\"description\":\"Specify a URL for the file-specification. ODS uses this URL (instead of the filename) in all the links and references that it creates and that point to the file.\",\"help\":\"(URL= '*Uniform-Resource-Locator*' )\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0zsurzpwsmxnun1vjgqv1m5kbjwa\"}],\"supportSiteTargetFragment\":\"n1wurfrvb6tsbnn1cmjlormpf268a\"},{\"name\":\"GFOOTNOTE\",\"optional\":true,\"description\":\"Control the location where footnotes are printed in the graphics output\",\"type\":\"standalone\",\"arguments\":[{\"name\":\"GFOOTNOTE\",\"description\":\"writes footnotes that are created by SAS/GRAPH, the SGPLOT procedure, the SGPANEL procedure, the SGPIE procedure, the SGMAP procedure, or the SGSCATTER procedure. The footnotes appear inside the graph borders.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1fn47ytfzt7i9n1kil12jvo7xyva\"},{\"name\":\"NOGFOOTNOTE\",\"description\":\"writes footnotes that are created by ODS, which appear outside the graph borders.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1225ecfdy73nen1o0ps6wiiqbs7a\"}],\"supportSiteTargetFragment\":\"p0mat9atuedzjrn1opyxjp4744d7a\"},{\"name\":\"NOGFOOTNOTE\",\"optional\":true,\"description\":\"Control the location where footnotes are printed in the graphics output\",\"type\":\"standalone\",\"arguments\":[{\"name\":\"GFOOTNOTE\",\"description\":\"writes footnotes that are created by SAS/GRAPH, the SGPLOT procedure, the SGPANEL procedure, the SGPIE procedure, the SGMAP procedure, or the SGSCATTER procedure. The footnotes appear inside the graph borders.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1fn47ytfzt7i9n1kil12jvo7xyva\"},{\"name\":\"NOGFOOTNOTE\",\"description\":\"writes footnotes that are created by ODS, which appear outside the graph borders.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1225ecfdy73nen1o0ps6wiiqbs7a\"}],\"supportSiteTargetFragment\":\"p0mat9atuedzjrn1opyxjp4744d7a\"},{\"name\":\"GPATH=\",\"optional\":true,\"description\":\"Specify the location for all graphics output that is generated while the destination is open\",\"help\":\"GPATH=*'aggregate-file-storage-specification'* | *fileref* |  (URL=*libref.catalog* '*Uniform-Resource-Locator*' | NONE)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"'aggregate-file-storage-location'\",\"placeholder\":true,\"description\":\"specifies an aggregate storage location such as directory, folder, or partitioned data set.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1ll2hoqs077ain1jsvghn3bnlqba\"},{\"name\":\"fileref\",\"placeholder\":true,\"description\":\"is a file reference that has been assigned to an aggregate storage location. Use the FILENAME statement to assign a fileref.\",\"help\":\"*fileref* \",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1aigrrido468bn17vt3qzjyhsuda\"},{\"name\":\"libref.catalog\",\"placeholder\":true,\"description\":\"specifies a SAS catalog to write to.\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"n0691xw6mzpmidn1nhrzg6b9rspta\"},{\"name\":\"URL=\",\"description\":\"specifies a URL for file-specification.\",\"help\":\"URL= '*Uniform-Resource-Locator*' | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"Uniform-Resource-Locator\",\"placeholder\":true,\"description\":\"is the URL that you specify. ODS uses this URL instead of the filename in all the links and references that it creates to the file.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0m3r77m8qtmudn1ebfh80y7e539a\"},{\"name\":\"NONE\",\"description\":\"specifies that no information from the GPATH= option appears in the links or references.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0d9tn4wwrtsjfn0zo0dbs97y59ca\"}],\"supportSiteTargetFragment\":\"p11rnpzbbhz9x8n13psx582rkf3ka\"}],\"supportSiteTargetFragment\":\"n17pvogtiwilj4n131m27u67cbaga\"},{\"name\":\"GTITLE\",\"optional\":true,\"description\":\"Control the location where titles are printed in the graphics output\",\"type\":\"standalone\",\"arguments\":[{\"name\":\"GTITLE\",\"description\":\"writes the title that is created by SAS/GRAPH, the SGPLOT procedure, the SGPANEL procedure, or the SGSCATTER procedure. The title appears inside the graph borders.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1n2tyk8aqrdkhn1k5lkaxte711va\"},{\"name\":\"NOGTITLE\",\"description\":\"writes the title that is created by ODS, which appears outside of the graph borders.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0pg11ouf7em9an1ppy8w3mcpt1ca\"}],\"supportSiteTargetFragment\":\"p05noo3bc7xbxdn1va38xkarw9o3a\"},{\"name\":\"NOGTITLE\",\"optional\":true,\"description\":\"Control the location where titles are printed in the graphics output\",\"type\":\"standalone\",\"arguments\":[{\"name\":\"GTITLE\",\"description\":\"writes the title that is created by SAS/GRAPH, the SGPLOT procedure, the SGPANEL procedure, or the SGSCATTER procedure. The title appears inside the graph borders.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1n2tyk8aqrdkhn1k5lkaxte711va\"},{\"name\":\"NOGTITLE\",\"description\":\"writes the title that is created by ODS, which appears outside of the graph borders.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0pg11ouf7em9an1ppy8w3mcpt1ca\"}],\"supportSiteTargetFragment\":\"p05noo3bc7xbxdn1va38xkarw9o3a\"},{\"name\":\"HEADTEXT=\",\"optional\":true,\"description\":\"Specify HTML tags to place between the < HEAD> and < /HEAD> tags in all of the output files.\",\"help\":\"HEADTEXT= '*markup-document-head*'\",\"type\":\"value\",\"arguments\":[{\"name\":\"markup-document-head\",\"placeholder\":true,\"description\":\"specifies the markup tags to place between the < HEAD> and < /HEAD> tags.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1tn2rj3atifd4n1m9n1ig3zmd23a\"}],\"supportSiteTargetFragment\":\"p0unihljo8oibqn1htfr8p9a084aa\"},{\"name\":\"(ID= )\",\"optional\":true,\"description\":\"Open multiple instances of the same destination at the same time\",\"help\":\"(ID= *identifier*)  \",\"type\":\"value\",\"arguments\":[{\"name\":\"identifier\",\"placeholder\":true,\"description\":\"specifies another instance of the destination that is already open. identifier is numeric or a series of characters that begin with a letter or an underscore. Subsequent characters can include letters, underscores, and numeric characters.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1ik5dutu6em7un12sygbpoibz2bd\"}],\"supportSiteTargetFragment\":\"n08a4r2r3ld7q5n1gegnp2cj0tbad\"},{\"name\":\"IMAGE_DPI=\",\"optional\":true,\"aliases\":[\"DPI=\"],\"description\":\"Specify the image resolution for graphical output\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1ql6ythu7ayuyn103ejqko5gwaxa\"},{\"name\":\"METATEXT=\",\"optional\":true,\"description\":\"Specify HTML code to use as the <META> tag between the <HEAD> and </HEAD> tags in all of the HTML output files.\",\"help\":\"METATEXT= '*metatext-for-document-head*'\",\"type\":\"value\",\"arguments\":[{\"name\":\"'metatext-for-document-head'\",\"placeholder\":true,\"description\":\"specifies the HTML code that provides the browser with information about the document that it is loading. For example, this attribute could specify the content type and the character set to use.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0bhulu3edb2u3n1edllr0mq156ra\"}],\"supportSiteTargetFragment\":\"n17lem66u6duxun1agi0x0spp2sja\"},{\"name\":\"NEWFILE=\",\"optional\":true,\"description\":\"Create a new body file at the specified starting point\",\"help\":\"NEWFILE= *starting-point*\",\"type\":\"value\",\"arguments\":[{\"name\":\"BYGROUP\",\"description\":\"starts a new file for the results of each BY group.\",\"help\":\"BYGROUP \",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0cb532mycvnxhn1bl0y0h3ixid3c\"},{\"name\":\"NONE\",\"description\":\"writes all output to the body file that is currently open.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n19l1gwxdiqp2on1fehxjiqfuntlc\"},{\"name\":\"OUTPUT\",\"aliases\":[\"TABLE\"],\"description\":\"starts a new body file for each output object. For SAS/GRAPH this means that ODS creates a new file for each SAS/GRAPH output file that the program generates.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0r7sk230x8uugn1t6t50ntwqt53c\"},{\"name\":\"PAGE\",\"description\":\"starts a new body file for each page of output. A page break occurs when a procedure explicitly starts a new page (not because the page size was exceeded) or when you start a new procedure.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0qy7xn25nkozsn1sswffg5sglu8c\"},{\"name\":\"PROC\",\"description\":\"starts a new body file each time you start a new procedure.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p03d2ii73d349cn1q08mh8fv7j37c\"}],\"supportSiteTargetFragment\":\"n0cwql5zij14uen1qlnfwso4vppzc\"},{\"name\":\"OPTIONS\",\"optional\":true,\"description\":\"Specify suboptions and a named value for how images are handled using the HTML5 destination\",\"help\":\"OPTIONS (                      BITMAP_MODE=SVG_MODE= | GRAPH_BITMAP_MODE= | STYLE_BITMAP_MODE= | GRAPH_SVG_MODE= | STYLE_SVG_MODE | SHOW_GRAPH_STYLES= | RESET)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"BITMAP_MODE=\",\"description\":\"specifies how all bit mapped images are inserted into the HTML5 document. These values must be enclosed in parentheses.\",\"help\":\"BITMAP_MODE=GRAPH_BITMAP_MODE= | STYLE_BITMAP_MODE=\",\"type\":\"choice\",\"arguments\":[{\"name\":\"EMBED\",\"description\":\"creates an HTML5 <embed> tag.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1lev9h8oz6eqgn1l5gd409igpif\"},{\"name\":\"IMG\",\"description\":\"creates an HTML5 <img> tag that displays the image file.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0o5gz7kcgdza0n1lib86sknqcay\"},{\"name\":\"INLINE\",\"description\":\"inserts the image data into the HTML5 file. The image data is base64 encoded and is inserted into the document as a URL for bitmaps.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1k2mfrhuqi5o6n1ryean0hboip9\"},{\"name\":\"LINK\",\"description\":\"creates a hyperlink that points to the image file.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1wbcm3149f1sqn1wmh041vcb6xv\"},{\"name\":\"OBJECT\",\"description\":\"creates an HTML5 <object> tag that displays the image file. This tag is used to embed multimedia files and applications into your document (audio, video, PDF, and Flash).\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n14qex2cf6v1zgn1eduwzk9u5ydg\"}],\"supportSiteTargetFragment\":\"n0wgo336ejm0q7n1p6p6x4dewgqz\"},{\"name\":\"SVG_MODE=\",\"description\":\"specifies how all SVG images are inserted into the HTML5 document. These values must be enclosed in parentheses.\",\"help\":\"SVG_MODE=GRAPH_SVG_MODE= | STYLE_SVG_MODE=\",\"type\":\"choice\",\"arguments\":[{\"name\":\"EMBED\",\"description\":\"creates an HTML5 <embed> tag.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p03g88ry5xlokkn15fwfgqg85wvo\"},{\"name\":\"IMG\",\"description\":\"creates an HTML5 <img> tag that displays the image file.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1slbtsei6ajthn1h66ccsp1g76x\"},{\"name\":\"INLINE\",\"description\":\"inserts the image data into the HTML5 file. The image data is base64 encoded and is inserted into the document as a URL for bitmaps.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0iwzalgyxuro0n1441uk4270cnz\"},{\"name\":\"LINK\",\"description\":\"creates a hyperlink that points to the image file.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p02ckym2zrk29bn1xk976myavgio\"},{\"name\":\"OBJECT\",\"description\":\"creates an HTML5 <object> tag that displays the image file. This tag is used to embed multimedia files and applications into your document (audio, video, PDF, and Flash).\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n005368h7831drn1rb39bysklvhw\"}],\"supportSiteTargetFragment\":\"p0fkmgs23l2vwdn1ub8t45unkele\"},{\"name\":\"SHOW_GRAPH_STYLES=\",\"description\":\"specifies that the output should contain elements from the graph style that is specified for CSS. These values must be enclosed in parentheses.\",\"help\":\"SHOW_GRAPH_STYLES='ON' | 'OFF'\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ON\",\"aliases\":[\"YES\",\"TRUE\"],\"description\":\"specifies that the output should contain elements from the graph style that is specified for CSS.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0i30iybsojsh6n1ckbqiw2n2mlg\"},{\"name\":\"OFF\",\"aliases\":[\"NO\",\"FALSE\"],\"description\":\"specifies that the output should not contain elements from the graph style that is specified for CSS.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1o907zisxcu52n1m0m46mlcq1oi\"}],\"supportSiteTargetFragment\":\"p13i8v8a7luvkrn1nyzec9cgougd\"},{\"name\":\"USE_CSS_RESET=\",\"description\":\"turns on or off the default CSS styles information. This option works well with the SHOW_GRAPH_STYLES= suboption to provide a starting point to creating a style that works with the CSSSTYLE= option.\",\"help\":\"USE_CSS_RESET='ON' | 'OFF'\",\"type\":\"choice\",\"arguments\":[{\"name\":\"OFF\",\"description\":\"turns off the default CSS styles information.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0l0pz6ikggk4cn1m1igg3jbgx70\"},{\"name\":\"ON\",\"description\":\"turns on the default CSS styles information.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n11odp70u1fnkpn150nx9ps91sd5\"}],\"supportSiteTargetFragment\":\"n1sx7se3bugz5tn0zmxouitwnywa\"}],\"supportSiteTargetFragment\":\"n1f7pp6taidkqin117zg6m9aatex\"},{\"name\":\"PACKAGE\",\"optional\":true,\"description\":\"Specify that the output from the destination be added to an ODS package\",\"help\":\"PACKAGE &lt;*package-name*&gt;\",\"type\":\"value\",\"arguments\":[{\"name\":\"package-name\",\"placeholder\":true,\"description\":\"specifies the name of a package that was created with the ODS PACKAGE statement. If no name is specified, then the output is added to the unnamed package that was opened last.\",\"help\":\"*package-name* \",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1sxnxs9eup5sgn15p0nrg3an68da\"}],\"supportSiteTargetFragment\":\"n1c6q1to2twyq9n1dxhvqrdegnzta\"},{\"name\":\"PAGE=\",\"optional\":true,\"description\":\"Open the HTML destination and specify the file that contains a description of each page of the body file and contains links to the body file\",\"help\":\"PAGE= '*file-specification*' &lt;(*suboptions*)&gt;\",\"type\":\"value\",\"arguments\":[{\"name\":\"external-file\",\"placeholder\":true,\"description\":\"is the name of an external output file.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0ymllfpb4xg9gn1d5ezao6pybkja\"},{\"name\":\"fileref\",\"placeholder\":true,\"description\":\"is a file reference that has been assigned to an external file. Use the FILENAME statement to assign a fileref.\",\"help\":\"*fileref* \",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1ksuepg32zjgin1udonmxkqjs8aa\"},{\"name\":\"entry.markup\",\"placeholder\":true,\"description\":\"specifies an entry in a SAS catalog to write to.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1lc702327tzwjn1cv45r49f918ia\"},{\"name\":\"(DYNAMIC)\",\"description\":\"Send output directly to a web server instead of writing it to a file\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0u2ztkfnlce26n1c83xr9hlngmza\"},{\"name\":\"(NO_BOTTOM_MATTER)\",\"description\":\"Specify that no ending markup language source code be added to the output file.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0m9gg2j98v97bn1o8ac6wmwpldsa\"},{\"name\":\"(NO_TOP_MATTER)\",\"description\":\"Specify that no beginning markup language source code be added to the top of the output file. For HTML 4.0, the NO_TOP_MATTER option removes the style sheet.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1iyk5sqiqujiqn18de7z49iemija\"},{\"name\":\"(TITLE='')\",\"description\":\"Insert into the metadata of a file, the text string that you specify as the text to appear in the browser window title bar.\",\"help\":\"(TITLE='*title-text*')\",\"type\":\"value\",\"arguments\":[{\"name\":\"title-text\",\"placeholder\":true,\"description\":\"is the text in the metadata of a file that indicates the title.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1plv81u9x749en16o1l65eef75za\"}],\"supportSiteTargetFragment\":\"p0zqmu17yzxgxxn1f0qzesxreaena\"},{\"name\":\"(URL= '' )\",\"description\":\"Specify a URL for the file-specification. ODS uses this URL (instead of the filename) in all the links and references that it creates and that point to the file.\",\"help\":\"(URL= '*Uniform-Resource-Locator*' )\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1h4i3o0glwmvrn1sehd631ekasqa\"}],\"supportSiteTargetFragment\":\"n1ig4h0nechxk6n17zpi2uso25ama\"},{\"name\":\"PARAMETERS=\",\"optional\":true,\"description\":\"Write the specified parameters between the tags that generate dynamic graphics output\",\"help\":\"PARAMETERS= (*parameter-pair-1 ... parameter-pair-n*) \",\"type\":\"value\",\"arguments\":[{\"name\":\"parameter-name\",\"placeholder\":true,\"description\":\"is the name of the parameter.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1mvkqvcspg7l4n18zuna4p238m9a\"},{\"name\":\"parameter-value\",\"placeholder\":true,\"description\":\"is the value of the parameter.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1ipulu7997i4tn1jrwkrophlmqfa\"}],\"supportSiteTargetFragment\":\"p1j8kzgu4z2k64n1sdjt4x3qdmt6a\"},{\"name\":\"PATH=\",\"optional\":true,\"description\":\"Specify the location of an aggregate storage location or a SAS catalog for all markup files\",\"help\":\"PATH=*'aggregate-file-storage-specification'* | *fileref* |  (URL=*libref.catalog* '*Uniform-Resource-Locator*' | NONE)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"'aggregate-file-storage-location'\",\"placeholder\":true,\"description\":\"specifies an aggregate storage location such as directory, folder, or partitioned data set.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p090wtmjnlez69n1ewt5pwble4lpa\"},{\"name\":\"fileref\",\"placeholder\":true,\"description\":\"is a file reference that has been assigned to an aggregate storage location. Use the FILENAME statement to assign a fileref.\",\"help\":\"*fileref* \",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0fv46b6t84yj8n11eorqay9gn6ca\"},{\"name\":\"libref.catalog\",\"placeholder\":true,\"description\":\"specifies a SAS catalog to write to.\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"p1usmj3wgs0ywnn1k11yohqx4tv6a\"},{\"name\":\"URL=\",\"description\":\"specifies a URL for the file-specification.\",\"help\":\"URL= '*Uniform-Resource-Locator*' | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"Uniform-Resource-Locator\",\"placeholder\":true,\"description\":\"is the URL that you specify. ODS uses this URL instead of the filename in all the links and references that it creates to the file.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0dc34mrkp6eqnn1ajfg714dl169a\"},{\"name\":\"NONE\",\"description\":\"specifies that no information from the PATH= option appears in the links or references.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n11dtbohda5n00n1vr4yuxpcfjxua\"}],\"supportSiteTargetFragment\":\"p099f8kja409zvn1r5psdreeej94a\"}],\"supportSiteTargetFragment\":\"n0b5w6uybhac3wn1mvbaktqgzv27a\"},{\"name\":\"RECORD_SEPARATOR=\",\"optional\":true,\"aliases\":[\"RECSEP=\",\"RS=\"],\"description\":\"Specify an alternative character or string to separate lines in the output files\",\"help\":\"RECORD_SEPARATOR= '*alternative-separator*' | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"alternative-separator\",\"placeholder\":true,\"description\":\"represents one or more characters in hexadecimal or ASCII format. For example, the following option specifies a record separator for a carriage return character and a linefeed character for use with an ASCII file system:\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n08j14wujf360on1jxxows0il1vcc\"},{\"name\":\"NONE\",\"description\":\"produces the markup language that is appropriate for the environment where you run the SAS job.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1bp9phjrcxo6gn19mwm6l1fdwj2c\"}],\"supportSiteTargetFragment\":\"p0ndduc2o59aign152u7tf7h1vdic\"},{\"name\":\"STYLE=\",\"optional\":true,\"description\":\"Specify a style template to use in writing output files\",\"help\":\"STYLE=                      *style-template*\",\"type\":\"value\",\"arguments\":[{\"name\":\"style-template\",\"placeholder\":true,\"description\":\"describes how to display the presentation aspects (color, font face, font size, and so on) of your SAS output. A style template determines the overall appearance of the documents that use it. Each style template consists of style elements.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p18pryew9bo18fn19ncxov0vey6a\"}],\"supportSiteTargetFragment\":\"p0wb18matr0uv5n12b3sxqaw3bt8\"},{\"name\":\"STYLESHEET=\",\"optional\":true,\"description\":\"Open the HTML destination and place style information for output into an external file, or read style sheet information from an existing file\",\"help\":\"STYLESHEET= '*file-specification*' &lt;(*suboptions*)&gt;\",\"type\":\"value\",\"arguments\":[{\"name\":\"external-file\",\"placeholder\":true,\"description\":\"is the name of an external output file.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p16l8jx1lqa17bn1ne13phbrrdzja\"},{\"name\":\"fileref\",\"placeholder\":true,\"description\":\"is a file reference that has been assigned to an external file. Use the FILENAME statement to assign a fileref.\",\"help\":\"*fileref* \",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0hegpvvp7ncdun18qea0fmy1wpja\"},{\"name\":\"entry.markup\",\"placeholder\":true,\"description\":\"specifies an entry in a SAS catalog to write to.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1ntt00im67gh4n1do1phrem6vgca\"},{\"name\":\"(DYNAMIC)\",\"description\":\"Send output directly to a web server instead of writing it to a file\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1t7ap990unar9n1grfjfuigqjusa\"},{\"name\":\"(NO_BOTTOM_MATTER)\",\"description\":\"Specify that no ending markup language source code be added to the output file.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0mi66zsgh0ctvn13yfd11jcmyy8a\"},{\"name\":\"(NO_TOP_MATTER)\",\"description\":\"Specify that no beginning markup language source code be added to the top of the output file. For HTML 4.0, the NO_TOP_MATTER option removes the style sheet.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n05wlskwpn7d09n1ft6loy3jv9aaa\"},{\"name\":\"(TITLE='')\",\"description\":\"Insert into the metadata of a file, the text string that you specify as the text to appear in the browser window title bar.\",\"help\":\"(TITLE='*title-text*')\",\"type\":\"value\",\"arguments\":[{\"name\":\"title-text\",\"placeholder\":true,\"description\":\"is the text in the metadata of a file that indicates the title.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1806jchepi6exn1njkhel57trb1a\"}],\"supportSiteTargetFragment\":\"n00il2taticl2vn12z7r2ede3lpba\"},{\"name\":\"(URL= '' )\",\"description\":\"Specify a URL for the file-specification. ODS uses this URL (instead of the filename) in all the links and references that it creates and that point to the file.\",\"help\":\"(URL= '*Uniform-Resource-Locator*' )\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1drnd5gins5pan1uokrc09bq5w8a\"}],\"supportSiteTargetFragment\":\"p00g43mba8ez3fn1g5l2ilmuz07ia\"},{\"name\":\"TEXT=\",\"optional\":true,\"description\":\"Insert text into your document\",\"help\":\"TEXT=*text-string*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0g3gpeqwo261tn18h5lesb1sjzm\"},{\"name\":\"TRANTAB=\",\"optional\":true,\"description\":\"Specify a translation table to use when transcoding a file for output\",\"help\":\"TRANTAB= '*translation-table*'\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"n1exxchaszw5s5n1pfhiv2qyntnhc\"},{\"name\":\"CLOSE\",\"optional\":true,\"description\":\"Close the destination and the file that is associated with it.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0314ri2ftw2xbn19qok9x5dcpxtd\"},{\"name\":\"EXCLUDE\",\"optional\":true,\"description\":\"Exclude output objects from the destination\",\"help\":\"EXCLUDE *exclusion(s)* |  ALL |  NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"exclusion\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"ALL\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"p1dgxo1rmespghn1wosymk75o74kd\"},{\"name\":\"SELECT\",\"optional\":true,\"description\":\"Select output objects for the destination.\",\"help\":\"SELECT *selection(s)* |  ALL |  NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"selection\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"ALL\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"p1ivy4th5ppdkfn1aybs638tc3syd\"},{\"name\":\"SHOW\",\"optional\":true,\"description\":\"Write to the SAS Log the current selection or exclusion list for the destination\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0edxfd8jflk5xn1l1znzdzsupnad\"}],\"supportSiteInformation\":{\"docsetId\":\"odsug\",\"docsetVersion\":\"v_004\",\"docsetTargetFile\":\"p0hcv8gpxqebnpn1is52we2enltx.htm\"}},{\"name\":\"ODS LAYOUT ABSOLUTE\",\"description\":\"Enables you to specify an exact page location using x and y coordinates. Absolute layout is limited to one page and is supported only by the PDF destination\",\"help\":\"ODS LAYOUT ABSOLUTE &lt;*option-1*&gt;&lt;*option-2 ...*&gt;\",\"arguments\":[{\"name\":\"DESCRIPTION=\",\"optional\":true,\"aliases\":[\"DESC\"],\"description\":\"Specify alternate text for your layout containers and regions.\",\"help\":\"DESCRIPTION=\\\"*text-string*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0g2bifl13yp4gn1gwy28ix9txho\"},{\"name\":\"HEIGHT=\",\"optional\":true,\"description\":\"Specify a vertical height of the layout.\",\"help\":\"HEIGHT=*dimension*\",\"type\":\"value\",\"arguments\":[{\"name\":\"dimension\",\"placeholder\":true,\"description\":\"is a nonnegative number followed by an optional unit of measure. It is not recommended that you use pixels because of adverse dependencies on resolution that can differ between destinations.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0wy1l296us0ynn1tf1ei4t117zg\"}],\"supportSiteTargetFragment\":\"n1xhk6eth0hlo6n1nswigfu3698n\"},{\"name\":\"STYLE=\",\"optional\":true,\"description\":\"specifies one or more style elements to use for different parts of the layout.\",\"help\":\"STYLE=&lt;*style-element-name*&gt; &lt;[*style-attribute-specification(s)*]&gt;\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n13ytr9gsxnlz4n128pw4s5tudbd\"},{\"name\":\"WIDTH=\",\"optional\":true,\"description\":\"Specify the horizontal width of the layout.\",\"help\":\"WIDTH=*dimension*\",\"type\":\"value\",\"arguments\":[{\"name\":\"dimension\",\"placeholder\":true,\"description\":\"is a nonnegative number followed by an optional unit of measure. It is not recommended that you use pixels because of adverse dependencies on resolution that can differ between destinations.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1jlef3mm1pxkjn18r0cop6k1xz9\"}],\"supportSiteTargetFragment\":\"n1gzaqswd4f9rkn14bkbaj0cqf98\"},{\"name\":\"X=\",\"optional\":true,\"description\":\"Specify the horizontal position of the layout.\",\"help\":\"X=*dimension*\",\"type\":\"value\",\"arguments\":[{\"name\":\"dimension\",\"placeholder\":true,\"description\":\"is a nonnegative number followed by an optional unit of measure. It is not recommended that you use pixels because of adverse dependencies on resolution that can differ between destinations.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0lfl1c4r45x80n1637z6sz89lsm\"}],\"supportSiteTargetFragment\":\"n1qwia8n1vbfppn1ri3fdo7ahpy1\"},{\"name\":\"Y=\",\"optional\":true,\"description\":\"Specify the vertical starting position of the layout.\",\"help\":\"Y=*dimension*\",\"type\":\"value\",\"arguments\":[{\"name\":\"dimension\",\"placeholder\":true,\"description\":\"is a nonnegative number followed by an optional unit of measure. It is not recommended that you use pixels because of adverse dependencies on resolution that can differ between destinations.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p06lzozabmnwunn1gpk9xw7eng2y\"}],\"supportSiteTargetFragment\":\"n0czy1nt24iqoqn1ow4d5kinpslr\"}],\"supportSiteInformation\":{\"docsetId\":\"odsug\",\"docsetVersion\":\"v_004\",\"docsetTargetFile\":\"p1k4g02kp6c9nwn164il8odc9pir.htm\"}},{\"name\":\"ODS LAYOUT END\",\"description\":\"Ends a gridded or absolute layout statement block.\",\"help\":\"ODS LAYOUT END ; \",\"supportSiteInformation\":{\"docsetId\":\"odsug\",\"docsetVersion\":\"v_004\",\"docsetTargetFile\":\"p1lca7nvnooyt4n1dmx9k2n51zqo.htm\"}},{\"name\":\"ODS LAYOUT GRIDDED\",\"description\":\"Enables you to arrange output dynamically in a two-dimensional grid structure.\",\"help\":\"ODS LAYOUT GRIDDED &lt;*option-1*&gt;&lt;*option-2 ...*&gt;\",\"arguments\":[{\"name\":\"ADVANCE=\",\"optional\":true,\"description\":\"Dynamically populate the layout grid by groups, tables, pages, procedures, and explicitly.\",\"help\":\"ADVANCE=&lt;BYGROUP | EXPLICIT | PROC | TABLE | OUTPUT &gt;\",\"type\":\"standaloneOrValue\",\"arguments\":[{\"name\":\"BYGROUP\",\"description\":\"specifies that the gridded layout dynamically advance to a new region for every BYGROUP encountered.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0y1ll4rg9ymr5n1nt0gb5u4okeh\"},{\"name\":\"EXPLICIT\",\"description\":\"specifies that the gridded layout dynamically populates the region explicitly before moving on to the next region. All output is in ONE region unless ODS REGION statements are being used.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p01izeafdzwzyun1d0x1j0u4gwi5\"},{\"name\":\"PROC\",\"description\":\"specifies that the gridded layout dynamically populates the region by procedures before moving on to the next region.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0h2nx470p4d9zn16gihyxp58hvk\"},{\"name\":\"TABLE\",\"description\":\"specifies that the gridded layout dynamically populates the region by tables before moving on to the next region.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1ebv3149x9emgn1uxorrmlfum1z\"},{\"name\":\"OUTPUT\",\"description\":\"specifies that the gridded layout dynamically populates the region by output before moving on to the next region.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p14layc7ks7m4en1rchm8fomuye6\"}],\"supportSiteTargetFragment\":\"p0c9liq8fqocr3n16flwh57cey02\"},{\"name\":\"COLUMNS=\",\"optional\":true,\"description\":\"Specify the fixed number of columns in a gridded layout.\",\"help\":\"COLUMNS=*number*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1pko8eiivym1tn1i50529g2lywd\"},{\"name\":\"COLUMN_GUTTER=\",\"optional\":true,\"description\":\"Specify the horizontal space between each column.\",\"help\":\"COLUMN_GUTTER=*dimension*\",\"type\":\"value\",\"arguments\":[{\"name\":\"dimension\",\"placeholder\":true,\"description\":\"is a nonnegative number followed by an optional unit of measure. It is not recommended that you use pixels because of adverse dependencies on resolution that can differ between destinations.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0so7gmzjlj5z3n1vdc0p5pazu52\"}],\"supportSiteTargetFragment\":\"p1na1lpnhx1bepn15wuzly790kqd\"},{\"name\":\"COLUMN_WIDTHS=\",\"optional\":true,\"description\":\"Specify the width of each column specified.\",\"help\":\"COLUMN_WIDTHS=*dimension*\",\"type\":\"value\",\"arguments\":[{\"name\":\"dimension\",\"placeholder\":true,\"description\":\"is a nonnegative number followed by an optional unit of measure. It is not recommended that you use pixels because of adverse dependencies on resolution that can differ between destinations.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n02ijw9mkygo7kn19dnncxpc813r\"}],\"supportSiteTargetFragment\":\"n1lce8rnshp5can1tukw7t2pqriz\"},{\"name\":\"DESCRIPTION=\",\"optional\":true,\"aliases\":[\"DESC\"],\"description\":\"Specify alternate text for your layout containers and regions.\",\"help\":\"DESCRIPTION=\\\"*text-string*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0a5comq59vaiun0zmj2hlr3l8ov\"},{\"name\":\"HEIGHT=\",\"optional\":true,\"description\":\"Specify the vertical height of the layout.\",\"help\":\"HEIGHT=*dimension*\",\"type\":\"value\",\"arguments\":[{\"name\":\"dimension\",\"placeholder\":true,\"description\":\"is a nonnegative number followed by an optional unit of measure. It is not recommended that you use pixels because of adverse dependencies on resolution that can differ between destinations.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p101jflugv3d8fn10uzxja0iyp3w\"}],\"supportSiteTargetFragment\":\"p1g1b48grrjnt1n1qlpmnoa215gd\"},{\"name\":\"ORDER_TYPE=\",\"optional\":true,\"description\":\"Populate the grid by rows or columns.\",\"help\":\"ORDER_TYPE=&lt;ROW_MAJOR | COLUMN_MAJOR&gt;\",\"type\":\"standaloneOrValue\",\"arguments\":[{\"name\":\"COLUMN_MAJOR\",\"description\":\"specifies that the gridded layout first populates all regions in the first column before moving on to the next column.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0kjd2wsrhzwswn1xqureqty4ho4\"},{\"name\":\"ROW_MAJOR\",\"description\":\"specifies that the gridded layout first populates all regions in the row before moving on to the next row.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0gdb89pgxjjecn1pw5tc9f4iv7u\"}],\"supportSiteTargetFragment\":\"p1h4cmyuxu4194n17i1izta3q85k\"},{\"name\":\"ROWS=\",\"optional\":true,\"description\":\"Specify the fixed number of rows in the gridded layout.\",\"help\":\"ROWS=*number*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0t42luaqqoo6nn128rti56f5ypw\"},{\"name\":\"ROW_GUTTER=\",\"optional\":true,\"description\":\"Specify the vertical space between each row.\",\"help\":\"ROW_GUTTER=*dimension*\",\"type\":\"value\",\"arguments\":[{\"name\":\"dimension\",\"placeholder\":true,\"description\":\"is a nonnegative number followed by an optional unit of measure. It is not recommended that you use pixels because of adverse dependencies on resolution that can differ between destinations.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p142oiqkkbay78n13j6inn27lk8s\"}],\"supportSiteTargetFragment\":\"p15zybqng8mjqmn1t4uxr5suo5qk\"},{\"name\":\"ROW_HEIGHTS=\",\"optional\":true,\"description\":\"Specify the height of each row specified.\",\"help\":\"ROW_HEIGHTS=*dimension*\",\"type\":\"value\",\"arguments\":[{\"name\":\"dimension\",\"placeholder\":true,\"description\":\"is a nonnegative number followed by an optional unit of measure. It is not recommended that you use pixels because of adverse dependencies on resolution that can differ between destinations.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p17cgrn32pfwo1n1hoiya79gnb75\"}],\"supportSiteTargetFragment\":\"p0g9ac1rcgdg8fn1eu97v2zmqqwp\"},{\"name\":\"STYLE=\",\"optional\":true,\"description\":\"Specify one or more style elements to use for different parts of the layout.\",\"help\":\"STYLE=&lt;*style-element-name*&gt; &lt;[*style-attribute-specification(s)*]&gt;\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0ylrb26lw5cfcn1l7mt8dky2bl8\"},{\"name\":\"WIDTH=\",\"optional\":true,\"description\":\"Specify the horizontal width of the layout.\",\"help\":\"WIDTH=*dimension*\",\"type\":\"value\",\"arguments\":[{\"name\":\"dimension\",\"placeholder\":true,\"description\":\"is a nonnegative number followed by an optional unit of measure. It is not recommended that you use pixels because of adverse dependencies on resolution that can differ between destinations.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0b461yhaiqot9n17sispz1qrnhz\"}],\"supportSiteTargetFragment\":\"n0ifv1z75ftd5mn1nkz650fmlpej\"},{\"name\":\"X=\",\"optional\":true,\"description\":\"Specify the horizontal starting position of the layout.\",\"help\":\"X=*dimension*\",\"type\":\"value\",\"arguments\":[{\"name\":\"dimension\",\"placeholder\":true,\"description\":\"is a nonnegative number followed by an optional unit of measure. It is not recommended that you use pixels because of adverse dependencies on resolution that can differ between destinations.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1omjcqcohxnf2n1g6e1lvttyme9\"}],\"supportSiteTargetFragment\":\"n1977hwc1sovofn1r4wdzh7tjiaz\"},{\"name\":\"Y=\",\"optional\":true,\"description\":\"Specify the vertical starting position of the layout.\",\"help\":\"Y=*dimension*\",\"type\":\"value\",\"arguments\":[{\"name\":\"dimension\",\"placeholder\":true,\"description\":\"is a nonnegative number followed by an optional unit of measure. It is not recommended that you use pixels because of adverse dependencies on resolution that can differ between destinations.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1my9rn5f5lox5n1szk13n73nd0r\"}],\"supportSiteTargetFragment\":\"n1tj0m8k1bb55bn1vjfxoo24mc5c\"}],\"supportSiteInformation\":{\"docsetId\":\"odsug\",\"docsetVersion\":\"v_004\",\"docsetTargetFile\":\"p06ji2uhvayhq5n1eik2z2rf2ga8.htm\"}},{\"name\":\"ODS MARKUP\",\"description\":\"Opens, manages, or closes the MARKUP destination, which produces SAS output that is formatted using one of many different markup languages.\",\"help\":\"ODS MARKUP <(<ID =>\\n                        identifier)><action> ;\\nODS MARKUP <(<ID =>\\n                        identifier)><options><TAGSET =tagset-name><action> ;\",\"arguments\":[{\"name\":\"ANCHOR=\",\"optional\":true,\"description\":\"Specify a unique base name for the anchor tag that identifies each output object in the current body file\",\"help\":\"ANCHOR= '*anchor-name*'\",\"type\":\"value\",\"arguments\":[{\"name\":\"anchor-name\",\"placeholder\":true,\"description\":\"is the base name for the anchor tag that identifies each output object in the current body file.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p01w95byx4kr7fn1ikf6cdm0c9oub\"}],\"supportSiteTargetFragment\":\"p0n4k1d2dkcni7n15ucd6m16xrtab\"},{\"name\":\"ATTRIBUTES=\",\"optional\":true,\"description\":\"Specify attributes to write between the tags that generate dynamic graphics output\",\"help\":\"ATTRIBUTES= (*attribute-pair-1 ... attribute-pair-n*) \",\"type\":\"value\",\"arguments\":[{\"name\":\"attribute-name\",\"placeholder\":true,\"description\":\"is the name of the attribute.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1fxf3dw1px89bn1km1prdewhgd4a\"},{\"name\":\"attribute-value\",\"placeholder\":true,\"description\":\"is the value of the attribute.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1n01ikl4zwvhkn1u28dpizodnc2a\"}],\"supportSiteTargetFragment\":\"p11j1qa572jb44n1u3loljeomuzfa\"},{\"name\":\"BASE=\",\"optional\":true,\"description\":\"Specify text to use as the first part of all links and references that ODS creates in output files\",\"help\":\"BASE= '*base-text*'\",\"type\":\"value\",\"arguments\":[{\"name\":\"base-text\",\"placeholder\":true,\"description\":\"is the text that ODS uses as the first part of all links and references that ODS creates in the file. Consider this specification:\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0sgdc1f04nauln10831w8p4gvpyb\"}],\"supportSiteTargetFragment\":\"n07gac705m9r4ln1nl4x9v20uhi0b\"},{\"name\":\"BODY=\",\"optional\":true,\"aliases\":[\"FILE=\"],\"description\":\"Open a markup family destination and specify the file that contains the primary output that is created by the ODS statement\",\"help\":\"BODY= '*file-specification*' (*suboptions*)\",\"type\":\"value\",\"arguments\":[{\"name\":\"external-file\",\"placeholder\":true,\"description\":\"is the name of an external output file.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n16d6tku1wtmann12csfhp1csdphb\"},{\"name\":\"fileref\",\"placeholder\":true,\"description\":\"is a file reference that has been assigned to an external file. Use the FILENAME statement to assign a fileref.\",\"help\":\"*fileref* \",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1if2ivpr9jpyyn16pjqs7n7sktgb\"},{\"name\":\"entry.markup\",\"placeholder\":true,\"description\":\"specifies an entry in a SAS catalog to write to.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0p2mzfmjdqfmyn16yngspiyamksb\"},{\"name\":\"(DYNAMIC)\",\"description\":\"Send output directly to a web server instead of writing it to a file\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0tx9i7zpg5y91n1efxlw455aavsb\"},{\"name\":\"(NO_BOTTOM_MATTER)\",\"description\":\"Specify that no ending markup language source code be added to the output file\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0b1a0wwsymzo3n1j9y1aduqf6jtb\"},{\"name\":\"(NO_TOP_MATTER)\",\"description\":\"Specify that no beginning markup language source code be added to the top of the output file. For HTML 4.0, the NO_TOP_MATTER option removes the style sheet.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p07sp4iufwigsgn1n7k8whe9ir29b\"},{\"name\":\"(TITLE='')\",\"description\":\"Insert into the metadata of a file, the text string that you specify as the text to appear in the browser window title bar\",\"help\":\"(TITLE='*title-text*')\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0mtng5xbjpucvn1ej0yx2ln2fnfb\"},{\"name\":\"(URL= '' )\",\"description\":\"Specify a URL for the file-specification. ODS uses this URL (instead of the filename) in all the links and references that it creates and that point to the file.\",\"help\":\"(URL= '*Uniform-Resource-Locator*' )\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0uiijresiw33nn1ikgd5epxolbmb\"}],\"supportSiteTargetFragment\":\"p1c6fjcso5p9tmn1ls9ihbbg20n4b\"},{\"name\":\"CHARSET=\",\"optional\":true,\"description\":\"Specify the character set to be generated in the META declaration for the HTML output\",\"help\":\"CHARSET= *character-set*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0luttgd044rcen1sc1yp7xzkxqqb\"},{\"name\":\"CODE=\",\"optional\":true,\"description\":\"Open the HTML destination and specify the file that contains relevant style information\",\"help\":\"CODE= '*file-specification*' &lt;(*suboptions*)&gt;\",\"type\":\"value\",\"arguments\":[{\"name\":\"external-file\",\"placeholder\":true,\"description\":\"is the name of an external output file.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0cm0dg2mpnkayn1vyurari5fbqzb\"},{\"name\":\"fileref\",\"placeholder\":true,\"description\":\"is a file reference that has been assigned to an external file. Use the FILENAME statement to assign a fileref.\",\"help\":\"*fileref* \",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1p19xelzqo0sun1h69iqiz6g1kmb\"},{\"name\":\"entry.markup\",\"placeholder\":true,\"description\":\"specifies an entry in a SAS catalog to write to.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0btln4kok5qs2n1dpxz4fw219g5b\"},{\"name\":\"(DYNAMIC)\",\"description\":\"Send output directly to a web server instead of writing it to a file\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p07khl78ncm5g9n1b2n65b3q8l2zb\"},{\"name\":\"(URL= '' )\",\"description\":\"Specify a URL for the file-specification. ODS uses this URL (instead of the filename) in all the links and references that it creates and that point to the file.\",\"help\":\"(URL= '*Uniform-Resource-Locator*' )\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0tute23aeejksn15jydxgmgsbbyb\"}],\"supportSiteTargetFragment\":\"p042faxw7ovjosn1tnim626rb9ctb\"},{\"name\":\"CONTENTS=\",\"optional\":true,\"description\":\"Open the HTML destination and specify the file that contains a table of contents for the output\",\"help\":\"CONTENTS= '*file-specification*' &lt;(*suboptions*)&gt;\",\"type\":\"value\",\"arguments\":[{\"name\":\"external-file\",\"placeholder\":true,\"description\":\"is the name of an external output file.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0k6rt6gtiqji0n13bowqw3q013ia\"},{\"name\":\"fileref\",\"placeholder\":true,\"description\":\"is a file reference that has been assigned to an external file. Use the FILENAME statement to assign a fileref.\",\"help\":\"*fileref* \",\"type\":\"value\",\"supportSiteTargetFragment\":\"n09d0dfx40tymqn1f4h7gh7ilz3wa\"},{\"name\":\"entry.markup\",\"placeholder\":true,\"description\":\"specifies an entry in a SAS catalog to write to.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1mu3t9uw7czdun15d2mxyg5a5oxa\"},{\"name\":\"(DYNAMIC)\",\"description\":\"Send output directly to a web server instead of writing it to a file\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1n7kjoppaadqkn1nkx3gy66da2ra\"},{\"name\":\"(NO_BOTTOM_MATTER)\",\"description\":\"Specify that no ending markup language source code be added to the output file\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0k4hmc82xjavkn1cncevtndfwwea\"},{\"name\":\"(NO_TOP_MATTER)\",\"description\":\"Specify that no beginning markup language source code be added to the top of the output file.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1bwed0r5gvzjxn1w23x4a0mjyk3a\"},{\"name\":\"(TITLE='')\",\"description\":\"Insert into the metadata of a file, the text string that you specify as the text to appear in the browser window title bar.\",\"help\":\"(TITLE='*title-text*')\",\"type\":\"value\",\"arguments\":[{\"name\":\"title-text\",\"placeholder\":true,\"description\":\"is the text in the metadata of a file that indicates the title.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0dg901fhp21d1n10fwvez2643sya\"}],\"supportSiteTargetFragment\":\"n06hxs8ry8fqoun18im5gw4kltqwa\"},{\"name\":\"(URL= '' )\",\"description\":\"Specify a URL for the file-specification. ODS uses this URL (instead of the filename) in all the links and references that it creates and that point to the file.\",\"help\":\"(URL= '*Uniform-Resource-Locator*' )\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0ctlmmg4c9c0fn1o3497cnh7yx4a\"}],\"supportSiteTargetFragment\":\"p0yupsbsxb2e22n1junfuiynx131a\"},{\"name\":\"CSSSTYLE=\",\"optional\":true,\"description\":\"Specify a cascading style sheet to apply to your output\",\"help\":\"CSSSTYLE= '*file-specification*'&lt;(*media-type-1*&lt;…*media-type-10*&gt;)&gt;\",\"type\":\"value\",\"arguments\":[{\"name\":\"\\\"external-file\\\"\",\"placeholder\":true,\"description\":\"is the name of the external file.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1acjjnitg34uen0z96mk7z3bjeza\"},{\"name\":\"fileref\",\"placeholder\":true,\"description\":\"is a file reference that has been assigned to an external file. Use the FILENAME statement to assign a fileref.\",\"help\":\"*fileref* \",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1pacblr1igm6gn11sapppstue24a\"},{\"name\":\"\\\"URL\\\"\",\"placeholder\":true,\"description\":\"is a URL to an external file.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0i936ubl0icb1n14bzf4xuba1jfa\"},{\"name\":\"(media-type-1<.. media-type-10>)\",\"placeholder\":true,\"description\":\"specifies one or more media blocks that correspond to the type of media that your output is rendered on. CSS uses media type blocks to specify how a document is to be presented on different media: on the screen, on paper, with a speech synthesizer, with a braille device, and so on.\",\"help\":\"(*media-type-1&lt;.. media-type-10&gt;*)\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1ktodbg3cbcg3n1pcs3royigva0a\"}],\"supportSiteTargetFragment\":\"p1lipsp1ynf14mn1rgolhceti4vga\"},{\"name\":\"DEVICE=\",\"optional\":true,\"description\":\"Specify a device for the output destination\",\"help\":\"DEVICE= *device-driver*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0qke3g1hiu38hn1a4pwglfk5gm5b\"},{\"name\":\"DOM\",\"optional\":true,\"description\":\"Specify that the ODS document object model is written to the SAS Log or to an external file\",\"help\":\"DOM&lt;=\\\"*external-file*\\\"&gt;\",\"type\":\"standaloneOrValue\",\"arguments\":[{\"name\":\"external-file\",\"placeholder\":true,\"description\":\"is the name of an external output file.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0vzar5h7f8gtcn1x5ihohfiun0ff\"}],\"supportSiteTargetFragment\":\"n1c57d2048ucksn1o3iq5uj0pim2f\"},{\"name\":\"ENCODING=\",\"optional\":true,\"description\":\"Override the encoding for input or output processing (transcodes) of external files\",\"help\":\"ENCODING= *local-character-set-encoding*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1iri7jiorpy5an19yud8nmfkdaed\"},{\"name\":\"EVENT=\",\"optional\":true,\"description\":\"Specify an event and the value for event variables that is associated with the event\",\"help\":\"EVENT= (FILE=*event-name* | FINISH | LABEL= | NAME= | START | STYLE= | TARGET= | TEXT= | URL= )\",\"type\":\"choice\",\"arguments\":[{\"name\":\"(FILE=)\",\"description\":\"triggers one of the known types of output files that correspond to the BODY=, CODE=, CONTENTS=, FRAME=, PAGES=, and STYLESHEET= options.\",\"help\":\"(FILE= BODY | CODE | CONTENTS | DATA | FRAME | PAGES | STYLESHEET)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"BODY\",\"type\":\"standalone\"},{\"name\":\"CODE\",\"type\":\"standalone\"},{\"name\":\"CONTENTS\",\"type\":\"standalone\"},{\"name\":\"DATA\",\"type\":\"standalone\"},{\"name\":\"FRAME\",\"type\":\"standalone\"},{\"name\":\"PAGES\",\"type\":\"standalone\"},{\"name\":\"STYLESHEET\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"n0sto57qqqtz92n1pz4aoktvscdfc\"},{\"name\":\"(FINISH)\",\"description\":\"triggers the finish section of an event.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1puz3bafkovoan1dq2xehjwbyvnc\"},{\"name\":\"(LABEL='')\",\"description\":\"specifies the value for the LABEL event variable.\",\"help\":\"(LABEL='*variable-value*')\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0pxgjdbrqfm68n1plbl16q1l93vc\"},{\"name\":\"(NAME='')\",\"description\":\"specifies the value for the NAME event variable.\",\"help\":\"(NAME='*variable-value*')\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p05a4behw90sktn17hb8v511p1k6c\"},{\"name\":\"(START)\",\"description\":\"triggers the start section of an event.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0z505zsq5aekqn1g847yi2axtm9c\"},{\"name\":\"(STYLE=)\",\"description\":\"specifies a style element.\",\"help\":\"(STYLE=*style-element*)\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p05bcihqe87mw7n1vffjxj24p6umc\"},{\"name\":\"(TARGET='')\",\"description\":\"specifies the value for the TARGET event variable.\",\"help\":\"(TARGET='*variable-value*')\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1unxvgxq8zvubn19wyk19ouvcncc\"},{\"name\":\"(TEXT='')\",\"description\":\"specifies the value for the TEXT event variable.\",\"help\":\"(TEXT='*variable-value*')\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n11ir18xfxvca6n1rxyuhrb8pt4xc\"},{\"name\":\"(URL='')\",\"description\":\"specifies the value for the URL event variable.\",\"help\":\"(URL='*variable-value*')\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1dn1u2sgov29cn1bj05hcahnk10c\"}],\"supportSiteTargetFragment\":\"p0xwg5a2ovaxf5n17uac0z2ivnjnc\"},{\"name\":\"FRAME=\",\"optional\":true,\"description\":\"Specify the file that integrates the table of contents, the page contents, and the body file\",\"help\":\"FRAME= '*file-specification*' &lt;(*suboptions*)&gt;\",\"type\":\"value\",\"arguments\":[{\"name\":\"external-file\",\"placeholder\":true,\"description\":\"is the name of an external output file.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0ci2ninxo9zw6n1et8mfhiorp0fb\"},{\"name\":\"fileref\",\"placeholder\":true,\"description\":\"is a file reference that has been assigned to an external file. Use the FILENAME statement to assign a fileref.\",\"help\":\"*fileref* \",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0ifkzl3gajbsan1iv1dpr5zom8ab\"},{\"name\":\"entry.markup\",\"placeholder\":true,\"description\":\"specifies an entry in a SAS catalog to write to.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0bfbkwe6k00jmn1vwrgo49po3nub\"},{\"name\":\"(DYNAMIC)\",\"description\":\"Send output directly to a web server instead of writing it to a file\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p09telsw1e17phn142yl7le0nicpb\"},{\"name\":\"(NO_BOTTOM_MATTER)\",\"description\":\"Specify that no ending markup language source code be added to the output file\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1uzccl28l5mrwn18dqj92sfxbl7b\"},{\"name\":\"(NO_TOP_MATTER)\",\"description\":\"Specify that no beginning markup language source code be added to the top of the output file.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0tpg2ge7ux0uzn196clp7a4kqibb\"},{\"name\":\"(TITLE='')\",\"description\":\"Insert into the metadata of a file, the text string that you specify as the text to appear in the browser window title bar\",\"help\":\"(TITLE='*title-text*')\",\"type\":\"value\",\"arguments\":[{\"name\":\"title-text\",\"placeholder\":true,\"description\":\"is the text in the metadata of a file that indicates the title.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0i7yq2gadvs1hn1d8qnz114bketb\"}],\"supportSiteTargetFragment\":\"p0q6q297uolf7rn12ub8f89mi2b0b\"},{\"name\":\"(URL= '' )\",\"description\":\"Specify a URL for the file-specification. ODS uses this URL (instead of the filename) in all the links and references that it creates and that point to the file.\",\"help\":\"(URL= '*Uniform-Resource-Locator*' )\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0zsurzpwsmxnun1vjgqv1m5kbjwb\"}],\"supportSiteTargetFragment\":\"n1wurfrvb6tsbnn1cmjlormpf268b\"},{\"name\":\"GFOOTNOTE\",\"optional\":true,\"description\":\"Control the location where footnotes are printed in the graphics output\",\"type\":\"standalone\",\"arguments\":[{\"name\":\"GFOOTNOTE\",\"description\":\"writes footnotes that are created by SAS/GRAPH, the SGPLOT procedure, the SGPANEL procedure, the SGPIE procedure, the SGMAP procedure, or the SGSCATTER procedure. The footnotes appear inside the graph borders.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1fn47ytfzt7i9n1kil12jvo7xyvb\"},{\"name\":\"NOGFOOTNOTE\",\"description\":\"writes footnotes that are created by ODS, which appear outside the graph borders.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1225ecfdy73nen1o0ps6wiiqbs7b\"}],\"supportSiteTargetFragment\":\"p0mat9atuedzjrn1opyxjp4744d7b\"},{\"name\":\"NOGFOOTNOTE\",\"optional\":true,\"description\":\"Control the location where footnotes are printed in the graphics output\",\"type\":\"standalone\",\"arguments\":[{\"name\":\"GFOOTNOTE\",\"description\":\"writes footnotes that are created by SAS/GRAPH, the SGPLOT procedure, the SGPANEL procedure, the SGPIE procedure, the SGMAP procedure, or the SGSCATTER procedure. The footnotes appear inside the graph borders.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1fn47ytfzt7i9n1kil12jvo7xyvb\"},{\"name\":\"NOGFOOTNOTE\",\"description\":\"writes footnotes that are created by ODS, which appear outside the graph borders.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1225ecfdy73nen1o0ps6wiiqbs7b\"}],\"supportSiteTargetFragment\":\"p0mat9atuedzjrn1opyxjp4744d7b\"},{\"name\":\"GPATH=\",\"optional\":true,\"description\":\"Specify the location for all graphics output that is generated while the destination is open\",\"help\":\"GPATH=*'aggregate-file-storage-specification'* | *fileref* |  (URL=*libref.catalog* '*Uniform-Resource-Locator*' | NONE)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"'aggregate-file-storage-location'\",\"placeholder\":true,\"description\":\"specifies an aggregate storage location such as directory, folder, or partitioned data set.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1ll2hoqs077ain1jsvghn3bnlqbb\"},{\"name\":\"fileref\",\"placeholder\":true,\"description\":\"is a file reference that has been assigned to an aggregate storage location. Use the FILENAME statement to assign a fileref.\",\"help\":\"*fileref* \",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1aigrrido468bn17vt3qzjyhsudb\"},{\"name\":\"libref.catalog\",\"placeholder\":true,\"description\":\"specifies a SAS catalog to write to.\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"n0691xw6mzpmidn1nhrzg6b9rsptb\"},{\"name\":\"URL=\",\"description\":\"specifies a URL for file-specification.\",\"help\":\"URL= '*Uniform-Resource-Locator*' | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"Uniform-Resource-Locator\",\"placeholder\":true,\"description\":\"is the URL that you specify. ODS uses this URL instead of the filename in all the links and references that it creates to the file.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0m3r77m8qtmudn1ebfh80y7e539b\"},{\"name\":\"NONE\",\"description\":\"specifies that no information from the GPATH= option appears in the links or references.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0d9tn4wwrtsjfn0zo0dbs97y59cb\"}],\"supportSiteTargetFragment\":\"p11rnpzbbhz9x8n13psx582rkf3kb\"}],\"supportSiteTargetFragment\":\"n17pvogtiwilj4n131m27u67cbagb\"},{\"name\":\"GTITLE\",\"optional\":true,\"description\":\"Control the location where titles are printed in the graphics output\",\"type\":\"standalone\",\"arguments\":[{\"name\":\"GTITLE\",\"description\":\"writes the title that is created by SAS/GRAPH, the SGPLOT procedure, the SGPANEL procedure, or the SGSCATTER procedure. The title appears inside the graph borders.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1n2tyk8aqrdkhn1k5lkaxte711vb\"},{\"name\":\"NOGTITLE\",\"description\":\"writes the title that is created by ODS, which appears outside of the graph borders.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0pg11ouf7em9an1ppy8w3mcpt1cb\"}],\"supportSiteTargetFragment\":\"p05noo3bc7xbxdn1va38xkarw9o3b\"},{\"name\":\"NOGTITLE\",\"optional\":true,\"description\":\"Control the location where titles are printed in the graphics output\",\"type\":\"standalone\",\"arguments\":[{\"name\":\"GTITLE\",\"description\":\"writes the title that is created by SAS/GRAPH, the SGPLOT procedure, the SGPANEL procedure, or the SGSCATTER procedure. The title appears inside the graph borders.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1n2tyk8aqrdkhn1k5lkaxte711vb\"},{\"name\":\"NOGTITLE\",\"description\":\"writes the title that is created by ODS, which appears outside of the graph borders.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0pg11ouf7em9an1ppy8w3mcpt1cb\"}],\"supportSiteTargetFragment\":\"p05noo3bc7xbxdn1va38xkarw9o3b\"},{\"name\":\"HEADTEXT=\",\"optional\":true,\"description\":\"Specify HTML tags to place between the < HEAD> and < /HEAD> tags in all of the output files.\",\"help\":\"HEADTEXT= '*markup-document-head*'\",\"type\":\"value\",\"arguments\":[{\"name\":\"markup-document-head\",\"placeholder\":true,\"description\":\"specifies the markup tags to place between the < HEAD> and < /HEAD> tags.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1tn2rj3atifd4n1m9n1ig3zmd23b\"}],\"supportSiteTargetFragment\":\"p0unihljo8oibqn1htfr8p9a084ab\"},{\"name\":\"(ID= )\",\"optional\":true,\"description\":\"Open multiple instances of the same destination at the same time\",\"help\":\"(ID= *identifier*)  \",\"type\":\"value\",\"arguments\":[{\"name\":\"identifier\",\"placeholder\":true,\"description\":\"specifies another instance of the destination that is already open. identifier is numeric or a series of characters that begin with a letter or an underscore. Subsequent characters can include letters, underscores, and numeric characters.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1ik5dutu6em7un12sygbpoibz2be\"}],\"supportSiteTargetFragment\":\"n08a4r2r3ld7q5n1gegnp2cj0tbae\"},{\"name\":\"IMAGE_DPI=\",\"optional\":true,\"aliases\":[\"DPI=\"],\"description\":\"Specify the image resolution for graphical output\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1ql6ythu7ayuyn103ejqko5gwaxb\"},{\"name\":\"METATEXT=\",\"optional\":true,\"description\":\"Specify HTML code to use as the <META> tag between the <HEAD> and </HEAD> tags in all of the HTML output files.\",\"help\":\"METATEXT= '*metatext-for-document-head*'\",\"type\":\"value\",\"arguments\":[{\"name\":\"'metatext-for-document-head'\",\"placeholder\":true,\"description\":\"specifies the HTML code that provides the browser with information about the document that it is loading. For example, this attribute could specify the content type and the character set to use.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0bhulu3edb2u3n1edllr0mq156rb\"}],\"supportSiteTargetFragment\":\"n17lem66u6duxun1agi0x0spp2sjb\"},{\"name\":\"NEWFILE=\",\"optional\":true,\"description\":\"Create a new body file at the specified starting point\",\"help\":\"NEWFILE= *starting-point*\",\"type\":\"value\",\"arguments\":[{\"name\":\"BYGROUP\",\"description\":\"starts a new file for the results of each BY group.\",\"help\":\"BYGROUP \",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0cb532mycvnxhn1bl0y0h3ixid3d\"},{\"name\":\"NONE\",\"description\":\"writes all output to the body file that is currently open.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n19l1gwxdiqp2on1fehxjiqfuntld\"},{\"name\":\"OUTPUT\",\"aliases\":[\"TABLE\"],\"description\":\"starts a new body file for each output object. For SAS/GRAPH this means that ODS creates a new file for each SAS/GRAPH output file that the program generates.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0r7sk230x8uugn1t6t50ntwqt53d\"},{\"name\":\"PAGE\",\"description\":\"starts a new body file for each page of output. A page break occurs when a procedure explicitly starts a new page (not because the page size was exceeded) or when you start a new procedure.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0qy7xn25nkozsn1sswffg5sglu8d\"},{\"name\":\"PROC\",\"description\":\"starts a new body file each time you start a new procedure.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p03d2ii73d349cn1q08mh8fv7j37d\"}],\"supportSiteTargetFragment\":\"n0cwql5zij14uen1qlnfwso4vppzd\"},{\"name\":\"OPTIONS\",\"optional\":true,\"description\":\"Specify tagset-specific suboptions and a named value\",\"help\":\"OPTIONS ( DOC=&lt;*suboptions*&gt;  )\",\"type\":\"choice\",\"arguments\":[{\"name\":\"(DOC=''''''\",\"description\":\"provides information about the specified tagset.\",\"help\":\"(DOC='HELP | ''QUICK | ''SETTINGS | '‘CHANGELOG’)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"HELP\",\"description\":\"provides generic help and information with a quick reference.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1r7fk0whthowvn13zy46xdl4ijbc\"},{\"name\":\"QUICK\",\"description\":\"describes the options available for this tagset.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p16h6042s8lanen1q2tdjvw1lskgc\"},{\"name\":\"SETTINGS\",\"description\":\"provides the current option settings.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0tk33j47y7kdpn1db326ztdwwkyc\"},{\"name\":\"CHANGELOG\",\"description\":\"lists a history of changes made to the tagset. This suboption is supported only on the RTF tagset.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0npk4frf6cigmn1ovqu06cvrqb1c\"}],\"supportSiteTargetFragment\":\"p105mxit59a068n14xcjgn2jwyb5c\"},{\"name\":\"suboptions\",\"placeholder\":true,\"description\":\"specifies one or more suboptions that are valid for the specified tagset. Suboptions have the following format.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1m613cxa4y58bn1e4f7hwae7nutc\"}],\"supportSiteTargetFragment\":\"p1asf9z6d7vhorn11sqo9xhwsvf2c\"},{\"name\":\"PACKAGE\",\"optional\":true,\"description\":\"Specify that the output from the destination be added to an ODS package\",\"help\":\"PACKAGE &lt;*package-name*&gt;\",\"type\":\"value\",\"arguments\":[{\"name\":\"package-name\",\"placeholder\":true,\"description\":\"specifies the name of a package that was created with the ODS PACKAGE statement. If no name is specified, then the output is added to the unnamed package that was opened last.\",\"help\":\"*package-name* \",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1sxnxs9eup5sgn15p0nrg3an68db\"}],\"supportSiteTargetFragment\":\"n1c6q1to2twyq9n1dxhvqrdegnztb\"},{\"name\":\"PAGE=\",\"optional\":true,\"description\":\"Open the HTML destination and specify the file that contains a description of each page of the body file and contains links to the body file\",\"help\":\"PAGE= '*file-specification*' &lt;(*suboptions*)&gt;\",\"type\":\"value\",\"arguments\":[{\"name\":\"external-file\",\"placeholder\":true,\"description\":\"is the name of an external output file.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0ymllfpb4xg9gn1d5ezao6pybkjb\"},{\"name\":\"fileref\",\"placeholder\":true,\"description\":\"is a file reference that has been assigned to an external file. Use the FILENAME statement to assign a fileref.\",\"help\":\"*fileref* \",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1ksuepg32zjgin1udonmxkqjs8ab\"},{\"name\":\"entry.markup\",\"placeholder\":true,\"description\":\"specifies an entry in a SAS catalog to write to.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1lc702327tzwjn1cv45r49f918ib\"},{\"name\":\"(DYNAMIC)\",\"description\":\"Send output directly to a web server instead of writing it to a file\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0u2ztkfnlce26n1c83xr9hlngmzb\"},{\"name\":\"(NO_BOTTOM_MATTER)\",\"description\":\"Specify that no ending markup language source code be added to the output file.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0m9gg2j98v97bn1o8ac6wmwpldsb\"},{\"name\":\"(NO_TOP_MATTER)\",\"description\":\"Specify that no beginning markup language source code be added to the top of the output file. For HTML 4.0, the NO_TOP_MATTER option removes the style sheet.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1iyk5sqiqujiqn18de7z49iemijb\"},{\"name\":\"(TITLE='')\",\"description\":\"Insert into the metadata of a file, the text string that you specify as the text to appear in the browser window title bar.\",\"help\":\"(TITLE='*title-text*')\",\"type\":\"value\",\"arguments\":[{\"name\":\"title-text\",\"placeholder\":true,\"description\":\"is the text in the metadata of a file that indicates the title.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1plv81u9x749en16o1l65eef75zb\"}],\"supportSiteTargetFragment\":\"p0zqmu17yzxgxxn1f0qzesxreaenb\"},{\"name\":\"(URL= '' )\",\"description\":\"Specify a URL for the file-specification. ODS uses this URL (instead of the filename) in all the links and references that it creates and that point to the file.\",\"help\":\"(URL= '*Uniform-Resource-Locator*' )\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1h4i3o0glwmvrn1sehd631ekasqb\"}],\"supportSiteTargetFragment\":\"n1ig4h0nechxk6n17zpi2uso25amb\"},{\"name\":\"PARAMETERS=\",\"optional\":true,\"description\":\"Write the specified parameters between the tags that generate dynamic graphics output\",\"help\":\"PARAMETERS= (*parameter-pair-1 ... parameter-pair-n*) \",\"type\":\"value\",\"arguments\":[{\"name\":\"parameter-name\",\"placeholder\":true,\"description\":\"is the name of the parameter.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1mvkqvcspg7l4n18zuna4p238m9b\"},{\"name\":\"parameter-value\",\"placeholder\":true,\"description\":\"is the value of the parameter.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1ipulu7997i4tn1jrwkrophlmqfb\"}],\"supportSiteTargetFragment\":\"p1j8kzgu4z2k64n1sdjt4x3qdmt6b\"},{\"name\":\"PATH=\",\"optional\":true,\"description\":\"Specify the location of an aggregate storage location or a SAS catalog for all markup files\",\"help\":\"PATH=*'aggregate-file-storage-specification'* | *fileref* |  (URL=*libref.catalog* '*Uniform-Resource-Locator*' | NONE)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"'aggregate-file-storage-location'\",\"placeholder\":true,\"description\":\"specifies an aggregate storage location such as directory, folder, or partitioned data set.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p090wtmjnlez69n1ewt5pwble4lpb\"},{\"name\":\"fileref\",\"placeholder\":true,\"description\":\"is a file reference that has been assigned to an aggregate storage location. Use the FILENAME statement to assign a fileref.\",\"help\":\"*fileref* \",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0fv46b6t84yj8n11eorqay9gn6cb\"},{\"name\":\"libref.catalog\",\"placeholder\":true,\"description\":\"specifies a SAS catalog to write to.\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"p1usmj3wgs0ywnn1k11yohqx4tv6b\"},{\"name\":\"URL=\",\"description\":\"specifies a URL for the file-specification.\",\"help\":\"URL= '*Uniform-Resource-Locator*' | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"Uniform-Resource-Locator\",\"placeholder\":true,\"description\":\"is the URL that you specify. ODS uses this URL instead of the filename in all the links and references that it creates to the file.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0dc34mrkp6eqnn1ajfg714dl169b\"},{\"name\":\"NONE\",\"description\":\"specifies that no information from the PATH= option appears in the links or references.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n11dtbohda5n00n1vr4yuxpcfjxub\"}],\"supportSiteTargetFragment\":\"p099f8kja409zvn1r5psdreeej94b\"}],\"supportSiteTargetFragment\":\"n0b5w6uybhac3wn1mvbaktqgzv27b\"},{\"name\":\"RECORD_SEPARATOR=\",\"optional\":true,\"aliases\":[\"RECSEP=\",\"RS=\"],\"description\":\"Specify an alternative character or string to separate lines in the output files\",\"help\":\"RECORD_SEPARATOR= '*alternative-separator*' | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"alternative-separator\",\"placeholder\":true,\"description\":\"represents one or more characters in hexadecimal or ASCII format. For example, the following option specifies a record separator for a carriage return character and a linefeed character for use with an ASCII file system:\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n08j14wujf360on1jxxows0il1vcd\"},{\"name\":\"NONE\",\"description\":\"produces the markup language that is appropriate for the environment where you run the SAS job.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1bp9phjrcxo6gn19mwm6l1fdwj2d\"}],\"supportSiteTargetFragment\":\"p0ndduc2o59aign152u7tf7h1vdid\"},{\"name\":\"STYLE=\",\"optional\":true,\"description\":\"Specify a style template to use in writing output files\",\"help\":\"STYLE= *style-template*\",\"type\":\"value\",\"arguments\":[{\"name\":\"style-template\",\"placeholder\":true,\"description\":\"describes how to display the presentation aspects (color, font face, font size, and so on) of your SAS output. A style template determines the overall appearance of the documents that use it. Each style template consists of style elements.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0psx768d5h7o8n18648rtnty8ita\"}],\"supportSiteTargetFragment\":\"p0o9k5qa5cvgbcn1xtbjq0e11sgfa\"},{\"name\":\"STYLESHEET=\",\"optional\":true,\"description\":\"Open the HTML destination and place style information for output into an external file, or read style sheet information from an existing file\",\"help\":\"STYLESHEET= '*file-specification*' &lt;(*suboptions*)&gt;\",\"type\":\"value\",\"arguments\":[{\"name\":\"external-file\",\"placeholder\":true,\"description\":\"is the name of an external output file.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p16l8jx1lqa17bn1ne13phbrrdzjb\"},{\"name\":\"fileref\",\"placeholder\":true,\"description\":\"is a file reference that has been assigned to an external file. Use the FILENAME statement to assign a fileref.\",\"help\":\"*fileref* \",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0hegpvvp7ncdun18qea0fmy1wpjb\"},{\"name\":\"entry.markup\",\"placeholder\":true,\"description\":\"specifies an entry in a SAS catalog to write to.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1ntt00im67gh4n1do1phrem6vgcb\"},{\"name\":\"(DYNAMIC)\",\"description\":\"Send output directly to a web server instead of writing it to a file\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1t7ap990unar9n1grfjfuigqjusb\"},{\"name\":\"(NO_BOTTOM_MATTER)\",\"description\":\"Specify that no ending markup language source code be added to the output file.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0mi66zsgh0ctvn13yfd11jcmyy8b\"},{\"name\":\"(NO_TOP_MATTER)\",\"description\":\"Specify that no beginning markup language source code be added to the top of the output file. For HTML 4.0, the NO_TOP_MATTER option removes the style sheet.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n05wlskwpn7d09n1ft6loy3jv9aab\"},{\"name\":\"(TITLE='')\",\"description\":\"Insert into the metadata of a file, the text string that you specify as the text to appear in the browser window title bar.\",\"help\":\"(TITLE='*title-text*')\",\"type\":\"value\",\"arguments\":[{\"name\":\"title-text\",\"placeholder\":true,\"description\":\"is the text in the metadata of a file that indicates the title.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1806jchepi6exn1njkhel57trb1b\"}],\"supportSiteTargetFragment\":\"n00il2taticl2vn12z7r2ede3lpbb\"},{\"name\":\"(URL= '' )\",\"description\":\"Specify a URL for the file-specification. ODS uses this URL (instead of the filename) in all the links and references that it creates and that point to the file.\",\"help\":\"(URL= '*Uniform-Resource-Locator*' )\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1drnd5gins5pan1uokrc09bq5w8b\"}],\"supportSiteTargetFragment\":\"p00g43mba8ez3fn1g5l2ilmuz07ib\"},{\"name\":\"TAGSET=\",\"optional\":true,\"aliases\":[\"TYPE=\"],\"description\":\"Specify a keyword value for a tagset. A tagset is a template that defines how to create a markup language output type from a SAS format.\",\"help\":\"TAGSET= *tagset-name*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0rabnmqmn4aqwn172ftocqucnbza\"},{\"name\":\"TEXT=\",\"optional\":true,\"description\":\"Insert text into your document\",\"help\":\"TEXT=*text-string*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1jbxnitwgm8zbn1dq29n1e7gvkpa\"},{\"name\":\"TRANTAB=\",\"optional\":true,\"description\":\"Specify a translation table to use when transcoding a file for output\",\"help\":\"TRANTAB= '*translation-table*'\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"n1exxchaszw5s5n1pfhiv2qyntnhd\"},{\"name\":\"CLOSE\",\"optional\":true,\"description\":\"Close the destination and the file that is associated with it.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0314ri2ftw2xbn19qok9x5dcpxte\"},{\"name\":\"EXCLUDE\",\"optional\":true,\"description\":\"Exclude output objects from the destination\",\"help\":\"EXCLUDE *exclusion(s)* |  ALL |  NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"exclusion\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"ALL\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"p1dgxo1rmespghn1wosymk75o74ke\"},{\"name\":\"SELECT\",\"optional\":true,\"description\":\"Select output objects for the destination.\",\"help\":\"SELECT *selection(s)* |  ALL |  NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"selection\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"ALL\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"p1ivy4th5ppdkfn1aybs638tc3sye\"},{\"name\":\"SHOW\",\"optional\":true,\"description\":\"Write to the SAS Log the current selection or exclusion list for the destination\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0edxfd8jflk5xn1l1znzdzsupnae\"}],\"supportSiteInformation\":{\"docsetId\":\"odsug\",\"docsetVersion\":\"v_004\",\"docsetTargetFile\":\"n0onpp2holuauhn1gyb7lzx6knr7.htm\"}},{\"name\":\"ODS NOPROCTITLE\",\"description\":\"Suppresses the title of the procedure that produces the results.\",\"help\":\"ODS NOPROCTITLE ;\",\"supportSiteInformation\":{\"docsetId\":\"odsug\",\"docsetVersion\":\"v_004\",\"docsetTargetFile\":\"n07rso2vogb2lhn13wvfp9zrd143.htm\"}},{\"name\":\"ODS OUTPUT\",\"description\":\"Produces a SAS data set from an output object and manages the selection and exclusion lists for the OUTPUT destination.\",\"help\":\"ODS OUTPUT action;\\nODS OUTPUT data-set-definition(s);\",\"arguments\":[{\"name\":\"output-object\",\"placeholder\":true,\"description\":\"identifies one or more output objects to turn into a SAS data set.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0vtytnjrrbwnhn1tk6mw8vgij6b\"},{\"name\":\"MATCH_ALL=\",\"description\":\"creates a new data set for each output object. For an explanation of how ODS names these data sets, see the discussion of the option .\",\"help\":\"MATCH_ALL=&lt;*macro-var-name*&gt;\",\"type\":\"value\",\"arguments\":[{\"name\":\"macro-var-name\",\"placeholder\":true,\"description\":\"specifies the macro variable where a list of all the data sets that are created are stored. If you want to concatenate all the data sets after the PROC step, you can use the macro variable to specify all the data sets in a DATA step.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1fepmuhrzlnxin1i3csglye2lai\"}],\"supportSiteTargetFragment\":\"p1ctzipkouom7vn1wxjan33wlx7z\"},{\"name\":\"PERSIST=\",\"description\":\"determines when ODS closes any data sets that it is creating, and determines when ODS removes output objects from the selection list for the OUTPUT destination.\",\"help\":\"PERSIST=PROC | RUN \",\"type\":\"choice\",\"arguments\":[{\"name\":\"PROC\",\"description\":\"maintains the list of definitions even after the procedure ends, until you explicitly modify it. To modify the list, use ODS OUTPUT with one or more data-set-specifications. To set the list for the OUTPUT destination to EXCLUDE ALL, use the following statement:\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0tooz6r6c6kv5n1wye73uuaz5t9\"},{\"name\":\"RUN\",\"description\":\"maintains the list of definitions and keeps open the data sets that it is creating even if the procedure or DATA step ends, or until you explicitly modify the list.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0h84t9drabd52n19rw1n001u4b7\"}],\"supportSiteTargetFragment\":\"n16j48hu5lsddvn1uaqmlwhh8umm\"},{\"name\":\"data-set\",\"placeholder\":true,\"description\":\"names the SAS output data set. You can use a one-level or two-level (with a libref) name.\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"p00vg1vkp0y39kn1i6qbvlg6098g\"},{\"name\":\"NOWARN\",\"description\":\"suppresses the warning that an output object was requested but not created.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0zxcrovwr0g4pn1i4t9v1j2h5os\"},{\"name\":\"SHOW\",\"description\":\"functions just like the ODS SHOW statement except that it writes only the selection or exclusion list for the OUTPUT destination.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1jqjpwo0hzv0qn1p6nswj5t9lsp\"},{\"name\":\"CLEAR\",\"optional\":true,\"description\":\"sets the list for the OUTPUT destination to EXCLUDE ALL.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0one9se44zlmvn1kek7wocuizng\"},{\"name\":\"CLOSE\",\"optional\":true,\"description\":\"closes the OUTPUT destination. When an ODS destination is closed, ODS does not send output to that destination. Closing a destination frees some system resources.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0zc1mf4ygrabcn159zelg2yh94s\"},{\"name\":\"SHOW\",\"optional\":true,\"description\":\"writes to the SAS log the current selection or exclusion list for the OUTPUT destination. If the list is the default list (EXCLUDE ALL), then SHOW also writes the current overall selection or exclusion list.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1jxppxki7bmi9n1c013vyt82fww\"}],\"supportSiteInformation\":{\"docsetId\":\"odsug\",\"docsetVersion\":\"v_004\",\"docsetTargetFile\":\"p0oxrbinw6fjuwn1x23qam6dntyd.htm\"}},{\"name\":\"ODS PACKAGE\",\"description\":\"Opens, adds to, publishes, or closes one SAS Output Delivery System (ODS) package object.\",\"help\":\"ODS PACKAGE  (<name> ) OPEN<options> ;\\nODS PACKAGE  (<name> ) PUBLISH\\n\\ttransport PROPERTIES(transport-property-1=\\\"value-1\\\"  ...transport-property-n =\\\"value-n\\\");\\nODS PACKAGE  (<name> ) ADDFILE=file-specification | DATA=member-specification\\n\\tMIMETYPE=\\\"string\\\"<PATH=path-specification><options> ;\\nODS PACKAGE  (<name> ) CLOSE<CLEAR> ;\",\"arguments\":[{\"name\":\"ADD\",\"description\":\"adds a file or data set to an ODS package using the specified Multipurpose Internet Mail Extensions (MIME) type.\",\"help\":\"ADD \",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0w6v4nlasfpw7n0zc7k9oi4f974\"},{\"name\":\"FILE=\",\"description\":\"specifies the file that you want to add to an ODS package.\",\"help\":\"FILE=\\\"*file-specification*\\\" &lt;TEXT | BINARY&gt;\",\"type\":\"choice\",\"arguments\":[{\"name\":\"external-file\",\"placeholder\":true,\"description\":\"is the name of an external file to add.\",\"help\":\"*external-file* \",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1cwl1953uiqp1n13v55isvl74sr\"},{\"name\":\"fileref\",\"placeholder\":true,\"description\":\"is a file reference that has been assigned to an external file. Use the FILENAME statement to assign a fileref.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1hqvvlyf5onxnn10c7pcyxfu7zf\"},{\"name\":\"TEXT\",\"description\":\"specifies that the file is a text file.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n19mjjpo1yb4nun181ctmmcwclj9\"},{\"name\":\"BINARY\",\"description\":\"specifies that the file is a binary file.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0ja2lrqnfnicen1btf9q5wy2avk\"}],\"supportSiteTargetFragment\":\"n1hdgecpvopkbjn16s39sq9251n0\"},{\"name\":\"DATA=\",\"description\":\"specifies the data set that you want to add to an ODS package. member-specification can be in the form libname.membername or membername.\",\"help\":\"DATA=*member-specification*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1tsapo6ufypkrn16z0c5da943ff\"},{\"name\":\"MIMETYPE=\",\"description\":\"specifies the Multipurpose Internet Mail Extensions (MIME) type for the file or data set that you are adding to an ODS package.\",\"help\":\"MIMETYPE=''*string*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1d820kk57g2ufn1gtz6mgp0plm7\"},{\"name\":\"OPEN\",\"description\":\"creates the ODS package object to which the ODS destinations can connect. The ODS package object holds the package metadata and tracks the locations of any files that are added to the package metadata.\",\"help\":\"OPEN \",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n11nryvhw9f2ofn1xmrt5zw73ccs\"},{\"name\":\"PUBLISH\",\"description\":\"builds the ODS package and sends it to the chosen delivery transport.\",\"help\":\"PUBLISH \",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1uhjlyei7punxn1x94olp6skdhg\"},{\"name\":\"CLOSE\",\"description\":\"deletes the package object. As long as you have not closed a package, you can publish it as many ways and times as you want.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0w4qm8l2uce3zn14ukf9j85vibw\"},{\"name\":\"ARCHIVE\",\"description\":\"publishes a package to an archive. For a list of transport properties and their values, see the section on transport properties in .\",\"help\":\"ARCHIVE PROPERTIES(*transport-property-1=\\\"value-1\\\"*… *transport-property-n=\\\"value-n\\\"*\\\") \",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1p2d5isyd9wcbn1wn85wyks61ne\"},{\"name\":\"EMAIL\",\"description\":\"publishes a package to one or more e-mail addresses. For a list of transport properties and their values, see the section on transport properties in .\",\"help\":\"EMAIL PROPERTIES(*transport-property-1=\\\"value-1\\\"* . . . *transport-property-n=\\\"value-n\\\"*) ADDRESSES(\\\"*e-mail-address-1*\\\" . . . \\\"*e-mail-address-n*\\\")  \",\"type\":\"value\",\"supportSiteTargetFragment\":\"n16wa21et40ot6n1o4yiy7qz5ya7\"},{\"name\":\"QUEUE\",\"description\":\"publishes a package to one or more message queues. For a list of transport properties and their values, see the section on transport properties in .\",\"help\":\"QUEUE PROPERTIES(*transport-property-1=\\\"value-1\\\"* . . . *transport-property-n=\\\"value-n\\\"*) QUEUES(\\\"*queue-1*\\\" . . . \\\"*queue-n*\\\")  \",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1b5m0vrnkkfzrn1qst7sa8tqb1p\"},{\"name\":\"SUBSCRIBERS\",\"description\":\"publishes a package to subscribers who are associated with the specified channel. For a list of transport properties and their values, see the section on transport properties in .\",\"help\":\"SUBSCRIBERS PROPERTIES(*transport-property-1=\\\"value-1\\\"* . . . *transport-property-n=\\\"value-n\\\"*)\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0o6xfvnub46zmn1l5y3ub13hyva\"},{\"name\":\"WEBDAV\",\"description\":\"publishes a package to a WebDAV-compliant server. For a list of transport properties and their values, see the section on transport properties in .\",\"help\":\"WEBDAV PROPERTIES(*transport-property-1=\\\"value-1\\\"* . . . *transport-property-n=\\\"value-n\\\"*) \",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1b8ifekmsilhsn1iyu8yi0klftw\"},{\"name\":\"ABSTRACT=\",\"optional\":true,\"description\":\"specifies a string for the abstract metadata of the package or file.\",\"help\":\"ABSTRACT=*string*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1j5ctx3wi71zun15b3x7uomqbv8\"},{\"name\":\"CLEAR\",\"optional\":true,\"description\":\"specifies that all files that were automatically added to the package will be removed from the location to which ODS wrote them.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n149srcpgugx72n14e7quklrdtmc\"},{\"name\":\"DESCRIPTION=\",\"optional\":true,\"description\":\"specifies a string for the description metadata for the package or file.\",\"help\":\"DESCRIPTION=*string*  \",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1em9djvmviaann1v0ccdjpoiyg2\"},{\"name\":\"EXPIRATION=\",\"optional\":true,\"description\":\"specifies an expiration date for the package. The date must be a SAS date value.\",\"help\":\"EXPIRATION= &lt;'*expiration-date*'&gt;\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p06fnqcpj57jnen1r8u5kwhyyexo\"},{\"name\":\"(name)\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the name of a package. Naming a package enables you to open more than one package at a time. Each destination can connect with any package by specifying the package name in the same way.\",\"type\":\"standaloneOrValue\",\"supportSiteTargetFragment\":\"p0v4x2eo106j8jn15gs28sne2knf\"},{\"name\":\"NAMEVALUE=\",\"optional\":true,\"description\":\"specifies a string of name/value pairs for the name/value metadata on the package or file.\",\"help\":\"NAMEVALUE=\\\"&lt;*name-1=\\\"value-1\\\"* . . . *name-n=\\\"value-n\\\"*&gt;\\\"   \",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1wthjsnv53yosn182ol0kr01vmg\"},{\"name\":\"PATH=\",\"optional\":true,\"description\":\"places the file or data set at the specified pathname within an ODS package.\",\"help\":\"PATH=\\\"*path-specification*\\\" \",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0r2clvdw6np5hn1mieqj0yjnuyg\"}],\"supportSiteInformation\":{\"docsetId\":\"odsug\",\"docsetVersion\":\"v_004\",\"docsetTargetFile\":\"p19kppnlyy01n7n18jcfsy0eutvq.htm\"}},{\"name\":\"ODS PATH\",\"description\":\"The ODS PATH statement controls where ODS stores new templates that you create and where ODS finds the templates that your programs use.\",\"help\":\"ODS PATH <(APPEND | PREPEND | REMOVE) >location(s);\\nODS PATH path-argument;\",\"arguments\":[{\"name\":\"<libref.>item-store\",\"placeholder\":true,\"description\":\"identifies an item store to read from, to write to, or to update. If an item store does not already exist, then the ODS PATH statement will create it.\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"p0lbis7msblh5vn1gf02g9n91ho6\"},{\"name\":\"(READ)\",\"description\":\"provides Read-Only access. READ is the default.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1iwet8ojznvwcn1dfih5ckxq3x6\"},{\"name\":\"(WRITE)\",\"description\":\"provides Write access (always creating a new template store) as well as Read access. READ is the default.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p02vqpgh1f8nvdn1qyo1pdkuxyim\"},{\"name\":\"(UPDATE)\",\"description\":\"provides Update access (creating a new template store only if the specified one does not exist) as well as Read access. READ is the default.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0uutsowphn9c8n1oc1b1lqryzk6\"},{\"name\":\"RESET\",\"description\":\"sets the ODS path to the default settings Sasuser.Templat (UPDATE) and Sashelp.Tmplmst (READ).\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n19xo3poz9cg8hn1cezt1yloljzl\"},{\"name\":\"SHOW\",\"description\":\"displays the current ODS path.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n07vaxxnrgynacn15tc3c18amw0h\"},{\"name\":\"VERIFY\",\"description\":\"sets the ODS path to include only templates supplied by SAS. VERIFY is the same as specifying ODS PATH Sashelp.Tmplmst (READ).\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p08367houhx702n19cd2p5avpx3e\"},{\"name\":\"(APPEND)\",\"optional\":true,\"description\":\"adds one or more locations to the end of a path. When you append a location to a path, all duplicate instances (same name and same permissions) of that item store are removed from the path. Only the last item store with the same name and permissions are kept.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0pnrminquv9aon1m54sr6b8jz1a\"},{\"name\":\"(PREPEND)\",\"optional\":true,\"description\":\"adds one or more locations to the beginning of a path. When you prepend a location with Update permissions to a path, all duplicate instances (same name and same permissions) of that item store are removed from the path. Only the first item store with the same name and permissions are kept.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p08iw80lbigaton142rkbhheb7fj\"},{\"name\":\"(REMOVE)\",\"optional\":true,\"description\":\"removes one or more locations from a path.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1nq4sqilqy4r3n1mhcwd81y99qi\"}],\"supportSiteInformation\":{\"docsetId\":\"odsug\",\"docsetVersion\":\"v_004\",\"docsetTargetFile\":\"p03q7l9284sg38n1d9186k3i7u3c.htm\"}},{\"name\":\"ODS PDF\",\"description\":\"Opens, manages, or closes the PDF destination, which produces PDF output, a form of output that is read by Adobe Acrobat and other applications.\",\"help\":\"ODS PDF <(<ID =>\\n                  identifier)><action> ;\\nODS PDF <(<ID => identifier)><options> ;\",\"arguments\":[{\"name\":\"ANCHOR=\",\"optional\":true,\"aliases\":[\"NAMED_DEST=\",\"BOOKMARK=\"],\"description\":\"Specify the root name for the anchor tag that identifies each output object in the current file\",\"help\":\"ANCHOR='*anchor-name*' \",\"type\":\"value\",\"arguments\":[{\"name\":\"anchor-name\",\"placeholder\":true,\"description\":\"is the root name for the anchor tag that identifies each output object in the current file.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0dix4dc9qjvt6n185sovqm6rck2a\"}],\"supportSiteTargetFragment\":\"p0sj5cnjtyd59in12e8ha1we89ava\"},{\"name\":\"ACCESSIBLE\",\"optional\":true,\"description\":\"Adds non-visual metadata to the PDF file that enables the file to be accessed by assistive technology such as a screen reader.\",\"help\":\"ACCESSIBLE&lt;=ON | OFF&gt;\",\"type\":\"standaloneOrValue\",\"arguments\":[{\"name\":\"ON\",\"description\":\"adds non-visual metadata to the PDF file that enables the file to be accessed by assistive technology such as a screen reader.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1fgplddfo4x2tn1eybraa1j694k\"},{\"name\":\"OFF\",\"description\":\"does not add non-visual metadata to the PDF file that enables the file to be accessed by assistive technology such as a screen reader.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1asl1efsx5sxin1tkmjnh7ej3nn\"}],\"supportSiteTargetFragment\":\"n1f1ak40paptu2n1gs8gf5ukw1cs\"},{\"name\":\"NOACCESSIBLE\",\"optional\":true,\"description\":\"Suppresses non-visual metadata to the PDF file that enables the file to be accessed by assistive technology such as a screen reader.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p099joklbojel7n1bv3ezbhjcvqb\"},{\"name\":\"ACCESSIBLE_IDENTIFIER\",\"optional\":true,\"description\":\"Specifies that an identifier is added to the metadata of the PDF file, which confirms that the PDF produced by SAS meets the PDF Matterhorn Protocol. To suppress an identifier, specify the NOACCESSIBLE_IDENTIFIER option. NOACCESSIBLE_IDENTIFIER is the default.\",\"help\":\"ACCESSIBLE_IDENTIFIER&lt;=ON | OFF&gt;\",\"type\":\"standaloneOrValue\",\"arguments\":[{\"name\":\"ON\",\"aliases\":[\"YES\"],\"description\":\"specifies that an identifier is added to the metadata of the PDF file confirming that the PDF produced by SAS meets the PDF Matterhorn Protocol.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0n8el52f1wf8an1s6mtvl3uh2mw\"},{\"name\":\"OFF\",\"aliases\":[\"NO\"],\"description\":\"specifies that no identifier is added to the metadata of the PDF file confirming that the PDF produced by SAS meets the PDF Matterhorn Protocol.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p00peva4rrmu7ln14j96xrv4me8t\"}],\"supportSiteTargetFragment\":\"p0t7gfp4ceobeun1dqzsdnre742q\"},{\"name\":\"NOACCESSIBLE_IDENTIFIER\",\"optional\":true,\"description\":\"Specifies that no identifier is added to the metadata of the PDF file confirming that the PDF produced by SAS meets the PDF Matterhorn Protocol. To add an identifier, use the ACCESSIBLE_IDENTIFIER option. NOACCESSIBLE_IDENTIFIER is the default.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1k5wg678z0w8jn1klcxtjxcqoov\"},{\"name\":\"AUTHOR=\",\"optional\":true,\"description\":\"Insert the text string that you specify as the author into the metadata of a file\",\"help\":\"AUTHOR= '*author-text*'\",\"type\":\"value\",\"arguments\":[{\"name\":\"author-text\",\"placeholder\":true,\"description\":\"is the text in the metadata of an open file that indicates the author.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n07bpua20meeuvn1hqxzbh1g0nfga\"}],\"supportSiteTargetFragment\":\"n0u01qw0oolftnn12oa9d29vbydua\"},{\"name\":\"BASE=\",\"optional\":true,\"description\":\"Specify a string to use as the first part of all references that ODS creates in the file\",\"help\":\"BASE='*base-text*'\",\"type\":\"value\",\"arguments\":[{\"name\":\"base-text\",\"placeholder\":true,\"description\":\"is the text that ODS uses as the first part of all references that ODS creates in the file.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1ss7dh46hc7k0n15tx0a1me0appa\"}],\"supportSiteTargetFragment\":\"n0netpttzzfs22n15rbt1nwv061ka\"},{\"name\":\"BOOKMARKGEN\",\"optional\":true,\"description\":\"Control the generation of bookmarks in PDF files\",\"type\":\"standalone\",\"arguments\":[{\"name\":\"BOOKMARKGEN\",\"aliases\":[\"BOOKMARKGEN=YES\"],\"description\":\"specifies to generate bookmarks in PDF files.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1qu5304m79ttxn1h0vipefx6d2sa\"},{\"name\":\"NOBOOKMARKGEN\",\"aliases\":[\"BOOKMARKGEN=NO\"],\"description\":\"specifies not to generate bookmarks in the PDF files.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0kh4a5ul267jcn10x3vs6tm41dza\"}],\"supportSiteTargetFragment\":\"p0hdhlio8y5b9on1g4eb908hhnhza\"},{\"name\":\"NOBOOKMARKGEN\",\"optional\":true,\"description\":\"Control the generation of bookmarks in PDF files\",\"type\":\"standalone\",\"arguments\":[{\"name\":\"BOOKMARKGEN\",\"aliases\":[\"BOOKMARKGEN=YES\"],\"description\":\"specifies to generate bookmarks in PDF files.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1qu5304m79ttxn1h0vipefx6d2sa\"},{\"name\":\"NOBOOKMARKGEN\",\"aliases\":[\"BOOKMARKGEN=NO\"],\"description\":\"specifies not to generate bookmarks in the PDF files.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0kh4a5ul267jcn10x3vs6tm41dza\"}],\"supportSiteTargetFragment\":\"p0hdhlio8y5b9on1g4eb908hhnhza\"},{\"name\":\"BOOKMARKLEVEL=\",\"optional\":true,\"description\":\"Controls the level of table of contents detail that is collected in PDF documents.\",\"help\":\"BOOKMARKLEVEL= &lt;*n*&gt;\",\"type\":\"standaloneOrValue\",\"arguments\":[{\"name\":\"n\",\"placeholder\":true,\"description\":\"specifies with a positive, whole number the level of table of contents detail that is collected and available.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0g05895xyjwvln131ikyk3ymaura\"}],\"supportSiteTargetFragment\":\"n0ca3yphmd8l7kn15cx2dg3461j0a\"},{\"name\":\"BOOKMARKLIST=\",\"optional\":true,\"description\":\"Specify whether to generate and display the list of bookmarks for PDF files\",\"help\":\"BOOKMARKLIST= HIDE | NONE | SHOW \",\"type\":\"choice\",\"arguments\":[{\"name\":\"HIDE\",\"description\":\"generates a list of bookmarks for your PDF file. The bookmarks are not automatically displayed when you open the PDF file.\",\"help\":\"HIDE \",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1bee1posfx44kn1g1sdpu11wp78a\"},{\"name\":\"NONE\",\"aliases\":[\"NO\",\"OFF\",\"NOBOOKMARKLIST\"],\"description\":\"specifies not to generate a list of bookmarks for your PDF files.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0s56ihu8dp48dn1gt1srz8vdan7a\"},{\"name\":\"SHOW\",\"aliases\":[\"YES\",\"ON\",\"BOOKMARKLIST\"],\"description\":\"generates a list of bookmarks for your PDF file. The bookmarks are automatically displayed when you open the PDF file.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0hxszwcnj7gmkn1c8ujw2txrusza\"}],\"supportSiteTargetFragment\":\"p1vwe7eqotq2ecn1ursdit0rxw2la\"},{\"name\":\"BOOKMARKTYPE=\",\"optional\":true,\"description\":\"Formats by traditional or customized means your PDF document output.\",\"help\":\"BOOKMARKTYPE= &lt;LEGACY | HEADINGS&gt;\",\"type\":\"standaloneOrValue\",\"arguments\":[{\"name\":\"LEGACY\",\"description\":\"displays the traditional table of contents and printable table of contents.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1e2divb5vubdnn10xnz3ruten5ma\"},{\"name\":\"HEADINGS\",\"description\":\"builds a custom table of contents and a printable table of contents by honoring the heading levels set in the template produced by the PROC ODSTEXT HEADING statement.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n02lf8zs1mavhmn1e22xcvptfgb0a\"}],\"supportSiteTargetFragment\":\"n143rzth0ibcsen1qo2g86fqwa99a\"},{\"name\":\"BOX_SIZING=\",\"optional\":true,\"description\":\"Specify how to measure the width of cells. Use to override the default value of BOX_SIZING for a destination\",\"help\":\"BOX_SIZING=(CONTENT_BOX | ORDER_BOX)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"CONTENT_BOX\",\"type\":\"standalone\"},{\"name\":\"ORDER_BOX\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"n0wznywjcpe6dpn0zwzmxks20r2wa\"},{\"name\":\"COLOR=\",\"optional\":true,\"description\":\"Apply a specified color scheme to your output\",\"help\":\"COLOR=FULL | GRAY | MONO | NO | YES\",\"type\":\"choice\",\"arguments\":[{\"name\":\"FULL\",\"description\":\"creates full color output for both text and graphics.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1j3cdphp1pqxmn19ru0bkcn4coba\"},{\"name\":\"GRAY\",\"aliases\":[\"GREY\"],\"description\":\"creates gray scale output for both text and graphics.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0mcj0uemm1cemn1byjhg18390yma\"},{\"name\":\"MONO\",\"aliases\":[\"BW\"],\"description\":\"creates monochromatic output for both text and graphics.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1xkzfyvpwhur8n1nbneizo54dlua\"},{\"name\":\"NO\",\"description\":\"does not use all the color information that the style template provides. If you specify COLOR=NO, then the destination does this:\\n• generates black and white output\\n• creates all text and rules in black\\n• sets the SAS/GRAPH device to produce SAS/GRAPH output in gray scale\\n• ignores specifications for a background color from the style template except for the purposes of determining whether to print rules for the table \",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p169npe7ssgj8yn1m66z314gfrw7a\"},{\"name\":\"YES\",\"description\":\"uses all the color information that a style template provides, including background color. To print in color, you must also do the following:\\n• use a printer that is capable of printing in color.\\n• use the COLORPRINTING SAS system option.           .\",\"help\":\"YES \",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1eoph1k3z9kugn10796cv9j6cpoa\"}],\"supportSiteTargetFragment\":\"p0wnldwd9h46zhn1s76i62mui924a\"},{\"name\":\"COLUMNS=\",\"optional\":true,\"description\":\"Specify the number of columns to create on each page of output\",\"help\":\"COLUMNS=*n*\",\"type\":\"value\",\"arguments\":[{\"name\":\"n\",\"placeholder\":true,\"description\":\"is the number columns per page.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0veo1pw5up8yon185cdit8960qla\"}],\"supportSiteTargetFragment\":\"n179kof8vffqhfn1b20fwaougncca\"},{\"name\":\"COMPRESS=\",\"optional\":true,\"description\":\"Specify the compression of a PDF file. Compression reduces the size of the file\",\"help\":\"COMPRESS=*n*\",\"type\":\"value\",\"arguments\":[{\"name\":\"n\",\"placeholder\":true,\"description\":\"specifies the level of compression. The larger the number, the greater the compression. For example, n=0 is completely uncompressed, and n=9 is the maximum compression level.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0ewss1ziwwl1rn1lcu5r31k96uwa\"}],\"supportSiteTargetFragment\":\"p041n7ow5mplt0n1ssdspwg6w9rua\"},{\"name\":\"CONTENTS=\",\"optional\":true,\"description\":\"Control the generation of a printable table of contents\",\"help\":\"CONTENTS= NO | YES\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NO\",\"aliases\":[\"NOCONTENTS\"],\"description\":\"does not generate a printable table of contents.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1o31mynbmxkjfn1al7djauovhpwa\"},{\"name\":\"YES\",\"aliases\":[\"CONTENTS.\"],\"description\":\"generates a printable table of contents.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0ko8hy47tt7d9n1mggre6msog7ca\"}],\"supportSiteTargetFragment\":\"p1026kligh9sggn15ob8f0hj9xvfa\"},{\"name\":\"CSSSTYLE=\",\"optional\":true,\"description\":\"Specify a cascading style sheet to apply to your output\",\"help\":\"CSSSTYLE= '*file-specification*'&lt;(*media-type-1*&lt;…*media-type-10*&gt;)&gt;\",\"type\":\"value\",\"arguments\":[{\"name\":\"\\\"external-file\\\"\",\"placeholder\":true,\"description\":\"is the name of the external file.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1acjjnitg34uen0z96mk7z3bjezb\"},{\"name\":\"fileref\",\"placeholder\":true,\"description\":\"is a file reference that has been assigned to an external file. Use the FILENAME statement to assign a fileref.\",\"help\":\"*fileref* \",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1pacblr1igm6gn11sapppstue24b\"},{\"name\":\"\\\"URL\\\"\",\"placeholder\":true,\"description\":\"is a URL to an external file.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0i936ubl0icb1n14bzf4xuba1jfb\"},{\"name\":\"(media-type-1<.. media-type-10>)\",\"placeholder\":true,\"description\":\"specifies one or more media blocks that correspond to the type of media that your output is rendered on. CSS uses media type blocks to specify how a document is to be presented on different media: on the screen, on paper, with a speech synthesizer, with a braille device, and so on.\",\"help\":\"(*media-type-1&lt;.. media-type-10&gt;*)\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1ktodbg3cbcg3n1pcs3royigva0b\"}],\"supportSiteTargetFragment\":\"p1lipsp1ynf14mn1rgolhceti4vgb\"},{\"name\":\"DOM\",\"optional\":true,\"description\":\"Specify that the ODS document object model is written to the SAS Log or to an external file\",\"help\":\"DOM&lt;=\\\"*external-file*\\\"&gt;\",\"type\":\"standaloneOrValue\",\"arguments\":[{\"name\":\"external-file\",\"placeholder\":true,\"description\":\"is the name of an external output file.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0vzar5h7f8gtcn1x5ihohfiun0fg\"}],\"supportSiteTargetFragment\":\"n1c57d2048ucksn1o3iq5uj0pim2g\"},{\"name\":\"DPI=\",\"optional\":true,\"description\":\"Specify the image resolution in dots per inch for output images\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0938vrlqnmm8rn1q76pvb0p0hfba\"},{\"name\":\"FILE=\",\"optional\":true,\"description\":\"Specify the output file.\",\"help\":\"FILE='*external-file*' | *fileref*\",\"type\":\"choice\",\"arguments\":[{\"name\":\"external-file\",\"placeholder\":true,\"description\":\"is the name of an external file.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1872ifzl0nrc9n1996u94ms4ng9a\"},{\"name\":\"fileref\",\"placeholder\":true,\"description\":\"is a file reference that has been assigned to an external file. Use the FILENAME statement to assign a fileref.\",\"help\":\"*fileref* \",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0vooy58xyg3uzn1a211afi81jzra\"}],\"supportSiteTargetFragment\":\"p0rucjq9rsmxz9n1joif2qr72xdea\"},{\"name\":\"GFOOTNOTE\",\"optional\":true,\"description\":\"Specify the location where footnotes are printed in the graphics output\",\"type\":\"standalone\",\"arguments\":[{\"name\":\"GFOOTNOTE\",\"description\":\"includes all of the currently defined footnotes within the graphics output.\",\"help\":\"GFOOTNOTE \",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0ica10hly8z52n12v7gjf4sg3bba\"},{\"name\":\"NOGFOOTNOTE\",\"description\":\"prevents all of the currently defined footnotes from appearing in the graphics file. Instead, they become part of the Printer file.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n17otrlccy2a1on1ubjs0l9wh9yja\"}],\"supportSiteTargetFragment\":\"p0v8cii9x8xs5jn15t65xzu5dmb5a\"},{\"name\":\"NOGFOOTNOTE\",\"optional\":true,\"description\":\"Specify the location where footnotes are printed in the graphics output\",\"type\":\"standalone\",\"arguments\":[{\"name\":\"GFOOTNOTE\",\"description\":\"includes all of the currently defined footnotes within the graphics output.\",\"help\":\"GFOOTNOTE \",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0ica10hly8z52n12v7gjf4sg3bba\"},{\"name\":\"NOGFOOTNOTE\",\"description\":\"prevents all of the currently defined footnotes from appearing in the graphics file. Instead, they become part of the Printer file.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n17otrlccy2a1on1ubjs0l9wh9yja\"}],\"supportSiteTargetFragment\":\"p0v8cii9x8xs5jn15t65xzu5dmb5a\"},{\"name\":\"GTITLE\",\"optional\":true,\"description\":\"Control the location where titles are printed in the graphics output\",\"type\":\"standalone\",\"arguments\":[{\"name\":\"GTITLE\",\"description\":\"includes all of the currently defined titles within the graphics output.\",\"help\":\"GTITLE \",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1smisgpc61059n11cf034fssnpua\"},{\"name\":\"NOGTITLE\",\"description\":\"prevents all of the currently defined titles from appearing in the graphics output. Instead, the titles become part of the Printer file.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0wzlcmvermau6n1sctxha2yd7d7a\"}],\"supportSiteTargetFragment\":\"n1hm3a4wyfg5hzn1bbl66chi8dy6a\"},{\"name\":\"NOGTITLE\",\"optional\":true,\"description\":\"Control the location where titles are printed in the graphics output\",\"type\":\"standalone\",\"arguments\":[{\"name\":\"GTITLE\",\"description\":\"includes all of the currently defined titles within the graphics output.\",\"help\":\"GTITLE \",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1smisgpc61059n11cf034fssnpua\"},{\"name\":\"NOGTITLE\",\"description\":\"prevents all of the currently defined titles from appearing in the graphics output. Instead, the titles become part of the Printer file.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0wzlcmvermau6n1sctxha2yd7d7a\"}],\"supportSiteTargetFragment\":\"n1hm3a4wyfg5hzn1bbl66chi8dy6a\"},{\"name\":\"(<ID=> )\",\"optional\":true,\"description\":\"Open multiple instances of the same destination at the same time\",\"help\":\"(&lt;ID=&gt; *identifier*) \",\"type\":\"value\",\"arguments\":[{\"name\":\"identifier\",\"placeholder\":true,\"description\":\"can be numeric or can be a series of characters that begin with a letter or an underscore. Subsequent characters can include letters, underscores, and numerals.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n111a246tpnwc9n12ejbw0aa93vda\"}],\"supportSiteTargetFragment\":\"n1ngwi7ja8mxgin1ur9rwifjjpqfa\"},{\"name\":\"KEYWORDS=\",\"optional\":true,\"description\":\"Insert a string of keywords into the output file's metadata\",\"help\":\"KEYWORDS='*keywords-text*'\",\"type\":\"value\",\"arguments\":[{\"name\":\"keywords-text\",\"placeholder\":true,\"description\":\"is the string of keywords.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1on1dydhuc67kn1ebufz2s6gaxja\"}],\"supportSiteTargetFragment\":\"p1m7frcieb4mgmn1mb7j5uq6nm36a\"},{\"name\":\"NEWFILE=\",\"optional\":true,\"description\":\"Create a new file at the specified starting-point\",\"help\":\"NEWFILE= *starting-point*\",\"type\":\"value\",\"arguments\":[{\"name\":\"BYGROUP\",\"description\":\"starts a new file for the results of each BY group.\",\"help\":\"BYGROUP \",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0z8snhq16elwnn1g5uyk3o4lebka\"},{\"name\":\"NONE\",\"description\":\"writes all output to the file that is currently open.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0o3jd2dd72bsrn1ejr7plzze5hka\"},{\"name\":\"OUTPUT\",\"aliases\":[\"TABLE\"],\"description\":\"starts a new file for each output object. For SAS/GRAPH this means that ODS creates a new file for each SAS/GRAPH output file that the program generates.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0oueafj2cw9hyn150fkz9j6sfvfa\"},{\"name\":\"PAGE\",\"description\":\"starts a new file for each page of output. A page break occurs when a procedure explicitly starts a new page (not because the page size was exceeded) or when you start a new procedure.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1267pxhtygwgnn1iyqbbzx9epc0a\"},{\"name\":\"PROC\",\"description\":\"starts a body file each time you start a new procedure.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1apxxvbett0e9n1vhfwa4jzay77a\"}],\"supportSiteTargetFragment\":\"p0sdu2v9eiq9pzn1o8zaq5cawmvqa\"},{\"name\":\"NOTOC\",\"optional\":true,\"description\":\"Omit the table of contents (Bookmark list) that is produced by default when producing PDF or PDFMARK output\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0co8i390f3k9an1pytzw063nl92a\"},{\"name\":\"PACKAGE\",\"optional\":true,\"description\":\"Specify that the output from the destination be added to an ODS package\",\"help\":\"PACKAGE &lt;*package-name*&gt;\",\"type\":\"value\",\"arguments\":[{\"name\":\"package-name\",\"placeholder\":true,\"description\":\"specifies the name of a package that was created with the ODS PACKAGE statement. If no name is specified, then the output is added to the unnamed package that was opened last.\",\"help\":\"*package-name* \",\"type\":\"value\",\"supportSiteTargetFragment\":\"n01s7xls7vqambn13iy833gnovmva\"}],\"supportSiteTargetFragment\":\"n0ct6saaiacccpn1gchwaylt6aima\"},{\"name\":\"PDFNOTE\",\"optional\":true,\"description\":\"Control whether notes are added to a PDF file for items that are associated with the FLYOVER= style attribute\",\"type\":\"standalone\",\"arguments\":[{\"name\":\"PDFNOTE\",\"description\":\"adds notes to a PDF file for items that are associated with the FLYOVER= style attribute.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1mjv9uq9c86eun1p0jeaiaww2oja\"},{\"name\":\"NOPDFNOTE\",\"description\":\"modifies the behavior of PDFMARK so that notes are not added to the file for items that are associated with the FLYOVER= style attribute.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n120rc4wanw4s2n112qgqcgoilt4a\"}],\"supportSiteTargetFragment\":\"n1dc7ksf9hy7epn1aqzuhn9ysbc0a\"},{\"name\":\"NOPDFNOTE\",\"optional\":true,\"description\":\"Control whether notes are added to a PDF file for items that are associated with the FLYOVER= style attribute\",\"type\":\"standalone\",\"arguments\":[{\"name\":\"PDFNOTE\",\"description\":\"adds notes to a PDF file for items that are associated with the FLYOVER= style attribute.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1mjv9uq9c86eun1p0jeaiaww2oja\"},{\"name\":\"NOPDFNOTE\",\"description\":\"modifies the behavior of PDFMARK so that notes are not added to the file for items that are associated with the FLYOVER= style attribute.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n120rc4wanw4s2n112qgqcgoilt4a\"}],\"supportSiteTargetFragment\":\"n1dc7ksf9hy7epn1aqzuhn9ysbc0a\"},{\"name\":\"PDFTOC=\",\"optional\":true,\"description\":\"Control the level of the expansion of the bookmarks tree in PDF documents\",\"help\":\"PDFTOC=*n*\",\"type\":\"value\",\"arguments\":[{\"name\":\"n\",\"placeholder\":true,\"description\":\"specifies the level of expansion. For example, PDFTOC=0 results in a fully expanded bookmarks tree. PDFTOC=2 results in a bookmarks tree that is expanded to two levels.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0bpalwun97mgan138zm5imtmkowa\"}],\"supportSiteTargetFragment\":\"p1d568t4y6tup4n1qn1rfzws6gyua\"},{\"name\":\"STARTPAGE=\",\"optional\":true,\"description\":\"Control page breaks\",\"help\":\"STARTPAGE=NEVER | NO | NOW | YES | BYGROUP\",\"type\":\"choice\",\"arguments\":[{\"name\":\"BYGROUP\",\"description\":\"specifies to insert page breaks after each BY group.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0mvitkfbw2a6yn104bzdhubr9p0a\"},{\"name\":\"NEVER\",\"description\":\"specifies not to insert page breaks, even before graphics procedures.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1iz28x0rzo2stn1ew0qkty1snz3a\"},{\"name\":\"NO\",\"aliases\":[\"OFF\"],\"description\":\"specifies that no new pages be inserted at the beginning of each procedure, or within certain procedures, even if new pages are requested by the procedure code. A new page begins only when a page is filled or when you specify STARTPAGE=NOW.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1sy1fb63alndrn1rm0fi5m6gxrfa\"},{\"name\":\"NOW\",\"description\":\"forces the immediate insertion of a new page.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0frgj7nofypmpn1rbnc63x6xvyta\"},{\"name\":\"YES\",\"aliases\":[\"ON\"],\"description\":\"inserts a new page at the beginning of each procedure, and within certain procedures, as requested by the procedure code.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p14isbxvmixac0n0zsdrder0m94pa\"}],\"supportSiteTargetFragment\":\"n0c86qqt1gatyun1s65f7mmtmwl7a\"},{\"name\":\"STYLE=\",\"optional\":true,\"description\":\"Specify the style template to use in writing the PDF output\",\"help\":\"STYLE=*style-template*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n078rsa0ybzvjpn1st4rd9ke6nhsa\"},{\"name\":\"SUBJECT=\",\"optional\":true,\"description\":\"Insert the text string that you specify as the subject in the metadata of a file\",\"help\":\"SUBJECT='*subject-text*'\",\"type\":\"value\",\"arguments\":[{\"name\":\"subject-text\",\"placeholder\":true,\"description\":\"is the text in the metadata of a file that indicates the subject.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0fris0ci6m08gn1w0fi6nbnqlqva\"}],\"supportSiteTargetFragment\":\"n1n6otbpv51z0hn1uph5boln4393a\"},{\"name\":\"TEXT=\",\"optional\":true,\"description\":\"Insert text into your output\",\"help\":\"TEXT='*text-string*'\",\"type\":\"value\",\"arguments\":[{\"name\":\"text-string\",\"placeholder\":true,\"description\":\"is the text that you want to insert into your output.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1s711ktdwnxz7n0ztl6fizyyllda\"}],\"supportSiteTargetFragment\":\"p1czjuqjn2ootfn116bpmiwz2zzka\"},{\"name\":\"TITLE=\",\"optional\":true,\"description\":\"Insert the text string that you specify as the title in the metadata of a file\",\"help\":\"TITLE='*title-text*'\",\"type\":\"value\",\"arguments\":[{\"name\":\"title-text\",\"placeholder\":true,\"description\":\"is the text in the metadata of a file that indicates the title.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1f1w68frhr59mn1tg0bjfggyewla\"}],\"supportSiteTargetFragment\":\"n09kk6lpb02kgcn1hqyurk5m5hena\"},{\"name\":\"UNIFORM\",\"optional\":true,\"description\":\"For multi-page tables, provide uniformity from page to page within a single table\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p09n5fzdx95j6tn1t2h98c79muzwa\"},{\"name\":\"CLOSE\",\"optional\":true,\"description\":\"Close the destination and the file that is associated with it.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0314ri2ftw2xbn19qok9x5dcpxtf\"},{\"name\":\"EXCLUDE\",\"optional\":true,\"description\":\"Exclude output objects from the destination\",\"help\":\"EXCLUDE *exclusion(s)* |  ALL |  NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"exclusion\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"ALL\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"p1dgxo1rmespghn1wosymk75o74kf\"},{\"name\":\"SELECT\",\"optional\":true,\"description\":\"Select output objects for the destination.\",\"help\":\"SELECT *selection(s)* |  ALL |  NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"selection\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"ALL\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"p1ivy4th5ppdkfn1aybs638tc3syf\"},{\"name\":\"SHOW\",\"optional\":true,\"description\":\"Write to the SAS Log the current selection or exclusion list for the destination\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0edxfd8jflk5xn1l1znzdzsupnaf\"}],\"supportSiteInformation\":{\"docsetId\":\"odsug\",\"docsetVersion\":\"v_004\",\"docsetTargetFile\":\"n0mc4eolqoned0n16oy88mpj0e4g.htm\"}},{\"name\":\"ODS POWERPOINT\",\"description\":\"Opens, manages, or closes the ODS destination for PowerPoint, which produces PowerPoint output.\",\"help\":\"ODS POWERPOINT <(<ID => identifier)><action> ;\\nODS POWERPOINT <(<ID => identifier)><options> ;\",\"arguments\":[{\"name\":\"AUTHOR=\",\"optional\":true,\"description\":\"Specify the author of the PowerPoint document\",\"help\":\"AUTHOR='*text-string*'\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0njuqf21vr12an1pgu8ea1w2pmo\"},{\"name\":\"BOX_SIZING=\",\"optional\":true,\"description\":\"Specify how to measure the width of cells. Use to override the default value of BOX_SIZING for a destination\",\"help\":\"BOX_SIZING=(CONTENT_BOX  |  BORDER_BOX)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"CONTENT_BOX\",\"type\":\"standalone\"},{\"name\":\"BORDER_BOX\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"p1azv81400kqxwn10atceiqw3i9ac\"},{\"name\":\"CATEGORY=\",\"optional\":true,\"description\":\"Specify the category of the PowerPoint document\",\"help\":\"CATEGORY='*text-string*'\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1tsqxyget1ej2n1pek67m0h40ma\"},{\"name\":\"COMMENTS=\",\"optional\":true,\"description\":\"Add comments to the properties of the PowerPoint document\",\"help\":\"COMMENTS='*text-string*'\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n12nwgqpehnwewn1263gd64mi9ge\"},{\"name\":\"FILE=\",\"optional\":true,\"description\":\"Specify the file that contains the PowerPoint created by the destination\",\"help\":\"FILE='*file-specification*'\",\"type\":\"value\",\"arguments\":[{\"name\":\"external-file\",\"placeholder\":true,\"description\":\"is the name of an external file to receive output.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p19od7vu3rkplcn1ngeu7tfpkhce\"},{\"name\":\"fileref\",\"placeholder\":true,\"description\":\"is a file reference that has been assigned to an external file. Use the FILENAME statement to assign a fileref.\",\"help\":\"fileref\\n                           \",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1pugzz8h1z1isn18k2913x0iyrf\"}],\"supportSiteTargetFragment\":\"p1kyn41isvohzsn1jkhvax16qkdy\"},{\"name\":\"GFOOTNOTE\",\"optional\":true,\"description\":\"Control the location where footnotes are printed in the graphics output\",\"type\":\"standalone\",\"arguments\":[{\"name\":\"GFOOTNOTE\",\"description\":\"prints footnotes that are created by SAS/GRAPH, the SGPLOT procedure, the SGPANEL procedure, or the SGSCATTER procedure. The footnotes appear inside the graph borders.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n02ch03oj5tpt5n15z58026aqc6q\"},{\"name\":\"NOGFOOTNOTE\",\"description\":\"prints footnotes that are created by ODS, which appear outside the graph borders.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p00rfnha52w9uxn1pv8kc6ivaz76\"}],\"supportSiteTargetFragment\":\"n0g1ygvgnd8ikzn1d8z1y1a3le7o\"},{\"name\":\"NOGFOOTNOTE\",\"optional\":true,\"description\":\"Control the location where footnotes are printed in the graphics output\",\"type\":\"standalone\",\"arguments\":[{\"name\":\"GFOOTNOTE\",\"description\":\"prints footnotes that are created by SAS/GRAPH, the SGPLOT procedure, the SGPANEL procedure, or the SGSCATTER procedure. The footnotes appear inside the graph borders.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n02ch03oj5tpt5n15z58026aqc6q\"},{\"name\":\"NOGFOOTNOTE\",\"description\":\"prints footnotes that are created by ODS, which appear outside the graph borders.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p00rfnha52w9uxn1pv8kc6ivaz76\"}],\"supportSiteTargetFragment\":\"n0g1ygvgnd8ikzn1d8z1y1a3le7o\"},{\"name\":\"GTITLE\",\"optional\":true,\"description\":\"Control the location where titles are printed in the graphics output\",\"type\":\"standalone\",\"arguments\":[{\"name\":\"GTITLE\",\"description\":\"prints the title that is created by SAS/GRAPH, the SGPLOT procedure, the SGPANEL procedure, or the SGSCATTER procedure. The title appears inside the graph borders.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1xf6skf6hed5nn1r6spgoexi5j2\"},{\"name\":\"NOGTITLE\",\"description\":\"prints the title that is created by ODS, which appears outside of the graph borders.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0bwf971aww6pen18bmmh7kweopn\"}],\"supportSiteTargetFragment\":\"n11j7cnjtikw6ln1xng404btxaws\"},{\"name\":\"NOGTITLE\",\"optional\":true,\"description\":\"Control the location where titles are printed in the graphics output\",\"type\":\"standalone\",\"arguments\":[{\"name\":\"GTITLE\",\"description\":\"prints the title that is created by SAS/GRAPH, the SGPLOT procedure, the SGPANEL procedure, or the SGSCATTER procedure. The title appears inside the graph borders.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1xf6skf6hed5nn1r6spgoexi5j2\"},{\"name\":\"NOGTITLE\",\"description\":\"prints the title that is created by ODS, which appears outside of the graph borders.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0bwf971aww6pen18bmmh7kweopn\"}],\"supportSiteTargetFragment\":\"n11j7cnjtikw6ln1xng404btxaws\"},{\"name\":\"IMAGE_DPI\",\"optional\":true,\"aliases\":[\"DPI=\"],\"description\":\"Specify the image resolution for the graphical output\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1qh8ibpoxa8qfn17fot8y42csda\"},{\"name\":\"KEYWORDS=\",\"optional\":true,\"description\":\"Add keywords to the PowerPoint document properties\",\"help\":\"KEYWORDS='*text-string*'\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n14ucr6h7aacdin1xnh0abktbcjw\"},{\"name\":\"LAYOUT=\",\"optional\":true,\"description\":\"Specify a predefined gridded layout\",\"help\":\"LAYOUT=*layout-name*\",\"type\":\"value\",\"arguments\":[{\"name\":\"Titleslide\",\"description\":\"specifies the layout for the title slide.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n11cgemlu02e9rn1hos8d8iulln2\"},{\"name\":\"TitleandContent\",\"description\":\"specifies a slide with a title and content.\",\"help\":\"TitleandContent \",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p17pj6eldbfq3ln191pmqoueroeo\"},{\"name\":\"TwoContent\",\"description\":\"specifies slides with a two-column layout. The options that can be specified for ADVANCE= are listed below.\",\"help\":\"TwoContent&lt;                               (ADVANCE=*options*)&gt;\",\"type\":\"standaloneOrValue\",\"arguments\":[{\"name\":\"ADVANCE=\",\"description\":\"specifies that the grid is dynamically populated by groups, tables, output, and procedures. If nothing is specified for TwoContent, the grid is populated by PROC.\",\"help\":\"ADVANCE=                                  BYGROUP | OUTPUT | PROC | TABLE                               \",\"type\":\"choice\",\"arguments\":[{\"name\":\"BYGROUP\",\"description\":\"specifies that the gridded layout dynamically advance to a new region for every BY group encountered.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p12tsk3uqejwlln1gh3cxtlg1u05\"},{\"name\":\"OUTPUT\",\"description\":\"specifies that the gridded layout dynamically populates the region by output before moving on to the next region.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p05stjyibsti6dn1jxq5wz8i9l3g\"},{\"name\":\"PROC\",\"description\":\"specifies that the gridded layout dynamically populates the region by procedures before moving on to the next region.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1m4ump4876lfmn10qc5yligohsk\"},{\"name\":\"TABLE\",\"description\":\"specifies that the gridded layout dynamically populates the region by tables before moving on to the next region.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0dvym3oc1yqe0n1hdskevccn172\"}],\"supportSiteTargetFragment\":\"p1fmdrzz1h2tken1aebyft0k1vms\"}],\"supportSiteTargetFragment\":\"p0hjb2rskf7t8yn116qclgkurv73\"}],\"supportSiteTargetFragment\":\"n15rq0ch1e5y56n1rextw5z8jajh\"},{\"name\":\"OPTIONS\",\"optional\":true,\"description\":\"Specify suboptions and a named value when using the ODS POWERPONT destination\",\"help\":\"OPTIONS (                      ADVANCE_AFTER=ADVANCE_ON_MOUSE_CLICK= | BACKGROUNDCOLOR= | BACKGROUNDIMAGE= | BACKGROUNDREPEAT= | DURATION= | EFFECT_OPTION= | SOUND= | TRANSITION=                      )\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ADVANCE_AFTER=\",\"description\":\"specifies the number of seconds to display the current slide before automatically proceeding to the next slide. This option is used to create presentations that advance automatically.\",\"help\":\"ADVANCE_AFTER=*seconds*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1jv6zhj0crp3an1bonjt1pc9n7i\"},{\"name\":\"ADVANCE_ON_MOUSE_CLICK=\",\"description\":\"is used in conjunction with the ADVANCE_AFTER= option. The default is 'YES'. By default PowerPoint waits for a mouse click to proceed to the next slide. Specify ADVANCE_ON_MOUSE_CLICK=“NO” to disable this and proceed automatically. Leave ADVANCE_ON_MOUSE_CLICK=“YES” to allow a mouse click to advance to the next slide.\",\"help\":\"ADVANCE_ON_MOUSE_CLICK='YES' | 'NO'\",\"type\":\"choice\",\"arguments\":[{\"name\":\"'YES'\",\"type\":\"standalone\"},{\"name\":\"'NO'\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"p0ajv5gobe5h95n1g9etqq6395pa\"},{\"name\":\"BACKGROUNDCOLOR=\",\"description\":\"specifies the color of the background of the slides.\",\"help\":\"BACKGROUNDCOLOR=*color*\",\"type\":\"color\",\"supportSiteTargetFragment\":\"n1q1j8svxudqcvn10sobj7ynt8og\"},{\"name\":\"BACKGROUNDIMAGE=\",\"description\":\"specifies an image or a gradient to use as the background for the slides.\",\"help\":\"BACKGROUNDIMAGE=*'file-specification'* | 'LINEAR' | 'RADIAL' | 'NONE'\",\"type\":\"choice\",\"arguments\":[{\"name\":\"external-file\",\"placeholder\":true,\"description\":\"is the name and optional path of an external image file.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0o9ac7jktf3ysn1djxo0c6rec28\"},{\"name\":\"fileref\",\"placeholder\":true,\"description\":\"is a file reference that has been assigned to an external file. Use the FILENAME statement to assign a fileref.\",\"help\":\"fileref\\n                                 \",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1d1wz46ehezxgn1l02hp0n3ko5p\"},{\"name\":\"LINEAR-GRADIENT\",\"description\":\"A linear gradient is defined by a gradient line on which the color-stops are arranged. One way to describe the gradient line is by naming a side or corner. Another way is to describe the gradient line as a line passing through the center of the gradient box and rotated by an angle.\",\"help\":\"LINEAR-GRADIENT                                  (*side-or-corner*\",\"type\":\"value\",\"arguments\":[{\"name\":\"side-or-corner,\",\"placeholder\":true,\"description\":\"The gradient line begins at the named side or corner and extends to the opposite side or corner. For example, if the starting point is “top”, the gradient ray extends to the bottom.\",\"help\":\"*side-or-corner*,                                        *color-stop*\",\"type\":\"color\",\"supportSiteTargetFragment\":\"n0csuytab5rm1tn18xu4fiqgue2o\"},{\"name\":\"angle,\",\"placeholder\":true,\"description\":\"You can describe the gradient line as a line passing through the center of the gradient box and rotated by an angle. The angle is measured in degrees. The angle 0-degrees points to the right and 90-degrees points up. Positive angles go counterclockwise. In the direction of the angle, the ending-point is the point on the gradient-line where a line drawn perpendicular to the gradient-line would intersect the corner of the box in that direction. The starting-point is determined identically, except in the opposite direction of the angle. See .\",\"help\":\"*angle*,                                        *color-stop*[,                                        *color-stop*]+)\",\"type\":\"color\",\"supportSiteTargetFragment\":\"n0lua64isvtpacn132aj5oo34ntp\"},{\"name\":\"color-stop\",\"placeholder\":true,\"description\":\"A color-stop argument specifies a color. The position argument is optional. If a position is present, it is specified as a percentage between 0% and 100%. At each color-stop, the gradient line or ray is the color of the color-stop. Between two color-stops, the color is linearly interpolated between the colors of the two color stops.\",\"help\":\"color-stop\\n                                    <\\n                                          position>\",\"type\":\"color\",\"supportSiteTargetFragment\":\"p1nde0dax7p2f5n1ql7p9loj3e8s\"}],\"supportSiteTargetFragment\":\"p1hvxxmcub425qn15r550gpzjzh5\"},{\"name\":\"side-or-corner,\",\"placeholder\":true,\"description\":\"The gradient line begins at the named side or corner and extends to the opposite side or corner. For example, if the starting point is “top”, the gradient ray extends to the bottom.\",\"help\":\"*side-or-corner*,                                        *color-stop*\",\"type\":\"color\",\"supportSiteTargetFragment\":\"n0csuytab5rm1tn18xu4fiqgue2o\"},{\"name\":\"angle,\",\"placeholder\":true,\"description\":\"You can describe the gradient line as a line passing through the center of the gradient box and rotated by an angle. The angle is measured in degrees. The angle 0-degrees points to the right and 90-degrees points up. Positive angles go counterclockwise. In the direction of the angle, the ending-point is the point on the gradient-line where a line drawn perpendicular to the gradient-line would intersect the corner of the box in that direction. The starting-point is determined identically, except in the opposite direction of the angle. See .\",\"help\":\"*angle*,                                        *color-stop*[,                                        *color-stop*]+)\",\"type\":\"color\",\"supportSiteTargetFragment\":\"n0lua64isvtpacn132aj5oo34ntp\"},{\"name\":\"color-stop\",\"placeholder\":true,\"description\":\"A color-stop argument specifies a color. The position argument is optional. If a position is present, it is specified as a percentage between 0% and 100%. At each color-stop, the gradient line or ray is the color of the color-stop. Between two color-stops, the color is linearly interpolated between the colors of the two color stops.\",\"help\":\"color-stop\\n                                    <\\n                                          position>\",\"type\":\"color\",\"supportSiteTargetFragment\":\"p1nde0dax7p2f5n1ql7p9loj3e8s\"},{\"name\":\"RADIAL-GRADIENT\",\"description\":\"A radial gradient is defined by a gradient ray that starts in the center of the gradient and extends outward. Color-stops are positioned along the gradient ray starting in the center of the gradient toward the right. At each color-stop, the circle surrounding the center of the gradient has the specified color. Between color-stops the color is linearly interpolated between the colors of the adjacent color-stops.\",\"help\":\"RADIAL-GRADIENT                                     (< shape> size\\n                               position,                                  color-stop [,                                  color-stop]+)\",\"type\":\"color\",\"arguments\":[{\"name\":\"shape\",\"placeholder\":true,\"description\":\"If present it can be either CIRCLE or ELLIPSE. The destination for PowerPoint always uses CIRCLE no matter which shape is specified or if no shape is specified.\",\"type\":\"standaloneOrValue\",\"supportSiteTargetFragment\":\"p10sitg5emo5hon1795h11q1dcct\"},{\"name\":\"size\",\"placeholder\":true,\"description\":\"The gradient is always sized to meet the corner of the box farthest from the center. This sizing is called “farthest-corner” or “cover ” in the CSS language.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0g2kmuwzbyapln1wnzs3iqp647j\"},{\"name\":\"position\",\"placeholder\":true,\"description\":\"The position designates the center of the gradient in the box in which the gradient appears. It can be center or one of the corners topleft, topright, bottomleft, or bottomright.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0ufyo1k0xjqjwn1limq03r46nk7\"},{\"name\":\"color-stop\",\"placeholder\":true,\"description\":\"A color-stop specifies a color. The position argument is optional. If a position is present, it is specified as a percentage between 0% and 100%. At each color-stop, the gradient line or ray is the color of the color-stop. Between two color-stops, the color is linearly interpolated between the colors of the two color-stops.\",\"help\":\"color-stop\\n                                    <position>\",\"type\":\"color\",\"supportSiteTargetFragment\":\"p1vnazleuw84son145cjlrcyout2\"}],\"supportSiteTargetFragment\":\"p16f0g6uddsmpwn1dc1s12icq0d1\"},{\"name\":\"NONE\",\"description\":\"turns off the background image and returns to the default.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0b5pen15nv96bn1iwc19f2dc3ks\"}],\"supportSiteTargetFragment\":\"n0mizr5y48dqbfn1ektcfkmywlnv\"},{\"name\":\"BACKGROUNDREPEAT=\",\"description\":\"specifies whether the image used for the slide background is repeated horizontally, vertically, both, or not repeated. option can be one of the following:\",\"help\":\"BACKGROUNDREPEAT=*option*\",\"type\":\"value\",\"arguments\":[{\"name\":\"NO_REPEAT\",\"description\":\"specifies that the image is not repeated.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p16k09308azbn8n1s3l7hihp6nar\"},{\"name\":\"REPEAT\",\"description\":\"specifies that the image is repeated both horizontally and vertically.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0ulc5zy3gqilsn1tlqcf8x069nn\"}],\"supportSiteTargetFragment\":\"p01qasgrqfvl4en1l099md9tiqpi\"},{\"name\":\"DURATION=\",\"description\":\"specifies a non-default value for the duration of the transition. All transitions have a default duration. Use this option to specify a non-default value for the duration of the transition. The option value is a decimal number of seconds. For example, duration=\\\"1.5\\\" sets the duration to one and a half seconds.\",\"help\":\"DURATION=                            '*seconds*' \",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1jemiydpaos8jn1vftassqpjzko\"},{\"name\":\"EFFECT_OPTION=\",\"description\":\"specifies a variation of the transition. All of the EFFECT_OPTION options supported by Microsoft PowerPoint 2013 are supported by the ODS POWERPOINT destination. See for a list of the options supported for the EFFECT_OPTION.\",\"help\":\"EFFECT_OPTION=                            '*options*' \",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0i5b2pdm61waon1gro83ucfy8x2\"},{\"name\":\"SOUND=\",\"description\":\"specifies the name of a .wav file to play during the transition.\",\"help\":\"SOUND=                            '*filename*' \",\"type\":\"value\",\"arguments\":[{\"name\":\"filename\",\"description\":\"specifies the name of a .wav file to play during the transition. Filename can be either a fileref or the path to a .wav file. For example, if the fileref MYSOUND is associated with the file c:\\\\sounds\\\\thunder.wav, you can specify SOUND=\\\"MYSOUND\\\". Alternatively, you can specify the path explicitly: SOUND=\\\"c:\\\\sounds\\\\thunder.wav\\\".\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1ml91tnofm56yn1ah695ewr0aj1\"}],\"supportSiteTargetFragment\":\"n1rudvdoos8e0cn1p16iboxkfzm4\"},{\"name\":\"TRANSITION=\",\"description\":\"specifies the name of a transition to be used between slides. The transition applies starting with the next slide created and is applied between every succeeding slide until another transition is specified or TRANSITION=\\\"NONE\\\" is specified.\",\"help\":\"TRANSITION=&lt;*'name'*&gt; | 'NONE''\",\"type\":\"choice\",\"arguments\":[{\"name\":\"''name''\",\"placeholder\":true,\"description\":\"can be any of the 47 transitions supported by PowerPoint 2013. See for a list of the transition names.\",\"type\":\"standaloneOrValue\",\"supportSiteTargetFragment\":\"n1x72f6xhqdyjjn1s8upufb1ixcr\"},{\"name\":\"'NONE'\",\"description\":\"specifies that the default transition is used.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n17txgzh2k9xm8n0zkx6kv5imexk\"}],\"supportSiteTargetFragment\":\"n1m8i4yw33n2yon1luo67nzjc2h6\"}],\"supportSiteTargetFragment\":\"n0v958qrbxyqdtn1vsu778loj31i\"},{\"name\":\"SASDATE\",\"optional\":true,\"description\":\"Insert the standard SAS date in the document in place of the default PowerPoint date and time field\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0hr9p2xkzjjo2n1101e8btusuq3\"},{\"name\":\"STARTPAGE=\",\"optional\":true,\"description\":\"Controls insertion of new slides\",\"help\":\"STARTPAGE=                      YES | NO | NOW\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YES\",\"aliases\":[\"ON\"],\"description\":\"inserts a new slide at the start of each table or graph.\",\"help\":\"YES \",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n07yjbnbadx9b2n1kwvpasy9eekb\"},{\"name\":\"NO\",\"aliases\":[\"NEVER\"],\"description\":\"instructs ODS not to insert any new slides at the start of each procedure or within certain procedures, even if the procedure code requests new slides. A new slide begins only when a slide is filled or when you specify STARTPAGE= NOW.\",\"help\":\"NO \",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0nf1b9447r1ban1mnyleya4a5av\"},{\"name\":\"NOW\",\"description\":\"forces the immediate insertion of a new slide.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1c2g7ioo5pj8zn1tfknk6bg7nml\"}],\"supportSiteTargetFragment\":\"p1uwsfr5cyxxwnn1u9t1cb67ncm0\"},{\"name\":\"STATUS=\",\"optional\":true,\"description\":\"Insert the status of the PowerPoint document\",\"help\":\"STATUS='*text-string*'\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1avzd9uzoq7z6n1bk70ujorvsqh\"},{\"name\":\"STYLE=\",\"optional\":true,\"description\":\"Specifies one or more style-override(s) to use when writing output files\",\"help\":\"STYLE=                      *style-override(s)*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0fg0w2sqqsqawn1qu74vxjzwkx7\"},{\"name\":\"TITLE=\",\"optional\":true,\"description\":\"Specify a title for the PowerPoint document\",\"help\":\"TITLE='*text-string*'\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1c4ks7uvjmaeon1iaua19by35f2\"},{\"name\":\"WORK=\",\"optional\":true,\"description\":\"Specify an alternate directory for the temporary files\",\"help\":\"WORK='*fileref*' | '*directory-name*'\",\"type\":\"choice\",\"arguments\":[{\"name\":\"fileref\",\"placeholder\":true,\"description\":\"is a file reference that has been assigned to a directory. Use the FILENAME statement to assign a fileref.\",\"help\":\"fileref\\n                     \",\"type\":\"value\",\"supportSiteTargetFragment\":\"n003ldrxcg1ncmn1adrded33jod5\"},{\"name\":\"directory-name\",\"placeholder\":true,\"description\":\"is the name of the directory.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n195w5h9i1ko5kn1ig1lzb9sa8gs\"}],\"supportSiteTargetFragment\":\"n0pg6zen1os4htn1v41cjhubhzci\"},{\"name\":\"CLOSE\",\"optional\":true,\"description\":\"Close the destination and the file that is associated with it\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1cb1ck0tg2wnkn1d834s5ofr1il\"},{\"name\":\"EXCLUDE\",\"optional\":true,\"description\":\"Exclude output objects from the destination\",\"help\":\"EXCLUDE *exclusion(s)* |  ALL |  NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"exclusion\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"ALL\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"p1dgxo1rmespghn1wosymk75o74kg\"},{\"name\":\"SELECT\",\"optional\":true,\"description\":\"Select output objects for the destination.\",\"help\":\"SELECT *selection(s)* |  ALL |  NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"selection\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"ALL\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"p1ivy4th5ppdkfn1aybs638tc3syg\"},{\"name\":\"SHOW\",\"optional\":true,\"description\":\"Write to the SAS Log the current selection or exclusion list for the destination\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0edxfd8jflk5xn1l1znzdzsupnag\"},{\"name\":\"SUBJECT=\",\"optional\":true,\"description\":\"Insert the text string that you specify as the subject in the metadata of a file\",\"help\":\"SUBJECT='*subject-text*'\",\"type\":\"value\",\"arguments\":[{\"name\":\"subject-text\",\"placeholder\":true,\"description\":\"specifies the text in the metadata of a file that indicates the subject.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1ox2fey5z7nlkn1raszk0ahs3fqb\"}],\"supportSiteTargetFragment\":\"p103tab91b65j5n15nl1vgag8f3kb\"}],\"supportSiteInformation\":{\"docsetId\":\"odsug\",\"docsetVersion\":\"v_004\",\"docsetTargetFile\":\"p1756mh7e3niunn15ptvbaaanog5.htm\"}},{\"name\":\"ODS PROCLABEL\",\"description\":\"Enables you to change a procedure label.\",\"help\":\"ODS PROCLABEL  '*string*';ODS PROCLABEL=  '*string*';\",\"arguments\":[{\"name\":\"'string'\",\"placeholder\":true,\"description\":\"is the procedure label that you specify.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n08chiinzolevtn1c1qzyppkx5xr\"}],\"supportSiteInformation\":{\"docsetId\":\"odsproc\",\"docsetVersion\":\"v_004\",\"docsetTargetFile\":\"p1oavvfpbhmsw0n1u2dj5fz9ur9m.htm\"}},{\"name\":\"ODS PROCTITLE\",\"description\":\"Writes, in the output, the name of the procedure that produces the results.\",\"help\":\"ODS PROCTITLE ;\",\"supportSiteInformation\":{\"docsetId\":\"odsug\",\"docsetVersion\":\"v_004\",\"docsetTargetFile\":\"p0en8blj1fox74n16yxdyr36wpqz.htm\"}},{\"name\":\"ODS REGION\",\"description\":\"Creates a region container for absolute layouts. A region can contain output (such as text, tables, images, graphs) or nested layout containers.\",\"help\":\"ODS REGION  &lt;*option-1*&gt;&lt;*option-2 ...*&gt;\",\"arguments\":[{\"name\":\"DESCRIPTION=\",\"optional\":true,\"aliases\":[\"DESC\"],\"description\":\"Specify alternate text for your layout containers and regions.\",\"help\":\"DESCRIPTION=\\\"*text-string*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0zc232mqtstokn1n0hwqddu8tok\"},{\"name\":\"HEIGHT=\",\"optional\":true,\"description\":\"Specify a vertical height of the region.\",\"help\":\"HEIGHT=*dimension*\",\"type\":\"value\",\"arguments\":[{\"name\":\"dimension\",\"placeholder\":true,\"description\":\"is a nonnegative number followed by an optional unit of measure. It is not recommended that you use pixels because of adverse dependencies on resolution that can differ between destinations.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0x2p6e1hixluan1sbymsi66v83u\"}],\"supportSiteTargetFragment\":\"n1bamaql188q97n1n4sub0cvykj5\"},{\"name\":\"STYLE=\",\"optional\":true,\"description\":\"Specify one or more style elements to use for different parts of the layout.\",\"help\":\"STYLE=&lt;*style-element-name*&gt; &lt;[*style-attribute-specification(s)*]&gt;\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1btw21ckxe9dmn1ouqsbfqyjr74\"},{\"name\":\"WIDTH=\",\"optional\":true,\"description\":\"Specify the horizontal width of the region.\",\"help\":\"WIDTH=*dimension*\",\"type\":\"value\",\"arguments\":[{\"name\":\"dimension\",\"placeholder\":true,\"description\":\"is a nonnegative number followed by an optional unit of measure. It is not recommended that you use pixels because of adverse dependencies on resolution that can differ between destinations.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0ol66lsnzsuxdn1nw8nus0hkcad\"}],\"supportSiteTargetFragment\":\"p0tqnas9b4tpm0n11x3x60ym2ris\"},{\"name\":\"X=\",\"optional\":true,\"description\":\"Specify the horizontal starting position of the region.\",\"help\":\"X=*dimension*\",\"type\":\"value\",\"arguments\":[{\"name\":\"dimension\",\"placeholder\":true,\"description\":\"is a nonnegative number followed by an optional unit of measure. It is not recommended that you use pixels because of adverse dependencies on resolution that can differ between destinations.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1fgldb1hnj2f0n1p06evu71h2rk\"}],\"supportSiteTargetFragment\":\"n17ffw48wnv8rvn1d5xn0kyg7k67\"},{\"name\":\"Y=\",\"optional\":true,\"description\":\"Specify the starting vertical position of the region.\",\"help\":\"Y=*dimension*\",\"type\":\"value\",\"arguments\":[{\"name\":\"dimension\",\"placeholder\":true,\"description\":\"is a nonnegative number followed by an optional unit of measure. It is not recommended that you use pixels because of adverse dependencies on resolution that can differ between destinations.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1015e7aoh3yx8n1v0puagnab5ip\"}],\"supportSiteTargetFragment\":\"n0mb79c0e1zbexn1gt3b8m6wzrwo\"}],\"supportSiteInformation\":{\"docsetId\":\"odsug\",\"docsetVersion\":\"v_004\",\"docsetTargetFile\":\"n1igh7sm8chsu5n0zrigcqezv9vx.htm\"}},{\"name\":\"ODS RTF\",\"description\":\"Opens, manages, or closes the RTF destination, which produces output written in Rich Text Format for use with Microsoft Word..\",\"help\":\"ODS RTF <(<ID =>\\n                  identifier)>action;\\nODS RTF <(<ID =>\\n                  identifier)><options> ;\",\"arguments\":[{\"name\":\"ANCHOR=\",\"optional\":true,\"aliases\":[\"NAMED_DEST=\",\"BOOKMARK=\"],\"description\":\"Specify a unique base name for the anchor tag that identifies each output object in the current body file\",\"help\":\"ANCHOR= '*anchor-name*'\",\"type\":\"value\",\"arguments\":[{\"name\":\"anchor-name\",\"placeholder\":true,\"description\":\"is the base name for the RTF anchor tag that identifies each output object in the current file.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0uisuia12565en1i2e0jtbl0ei6a\"}],\"supportSiteTargetFragment\":\"p0sln3vm87gd5kn1aa6jkk1in5hra\"},{\"name\":\"AUTHOR=\",\"optional\":true,\"description\":\"Specify the text string that identifies the author. This text string is inserted into the metadata of a file.\",\"help\":\"AUTHOR= '*author-text*'\",\"type\":\"value\",\"arguments\":[{\"name\":\"author-text\",\"placeholder\":true,\"description\":\"is the text in the metadata of an open file that indicates the author.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0xadp319tsq7mn1wkcz7xvcarkma\"}],\"supportSiteTargetFragment\":\"n0fgw3k1bugihvn18rd530702fzga\"},{\"name\":\"BASE=\",\"optional\":true,\"description\":\"Specify text to use as the first part of all links and references that ODS creates in output files\",\"help\":\"BASE= '*base-text*'\",\"type\":\"value\",\"arguments\":[{\"name\":\"base-text\",\"placeholder\":true,\"description\":\"is the text that ODS uses as the first part of all references that ODS creates in the file. Consider this specification:\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1d0wp9onv8309n1xofnfoci1pbya\"}],\"supportSiteTargetFragment\":\"p1ulgy5pv6yv8cn1ny1nzgpph6hza\"},{\"name\":\"BODYTITLE\",\"optional\":true,\"description\":\"Specify that the titles and footnotes are to be placed into the body of the RTF document and not into the header and footer sections\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1viowr77j7zq2n1kwfordtxpbu4a\"},{\"name\":\"BODYTITLE_AUX\",\"optional\":true,\"description\":\"Specify that the titles and footnotes are to be placed into the body of the RTF document and not into the header and footer sections. The titles and footnotes are also placed into cells or tables\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0iqyu56ifge6in16b7o1d8t4vvsa\"},{\"name\":\"BOX_SIZING=\",\"optional\":true,\"description\":\"Specify how to measure the width of cells. Use to override the default value of BOX_SIZING for a destination\",\"help\":\"BOX_SIZING=(CONTENTBOX | BORDERBOX)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"CONTENTBOX\",\"type\":\"standalone\"},{\"name\":\"BORDERBOX\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"p1uv9eii85hdhsn1bsdq80jvuo5ca\"},{\"name\":\"COLUMNS=\",\"optional\":true,\"description\":\"Specify the number of columns to create on each page of output\",\"help\":\"COLUMNS=*n* | MAX\",\"type\":\"choice\",\"arguments\":[{\"name\":\"n\",\"placeholder\":true,\"description\":\"is the number of one-inch columns that you want on the page.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0pefzm1eup5ken15p4vbvf8oi76a\"},{\"name\":\"MAX\",\"description\":\"specifies the maximum number of columns for the paper size and margin setting. This value is dependent upon the paper size and page orientation.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n06pqcndfbc475n1p7jll0iipjlta\"}],\"supportSiteTargetFragment\":\"p1oyjbaa295vpen1dm93sv5dkv4fa\"},{\"name\":\"CONTENTS\",\"optional\":true,\"description\":\"Specify whether to produce a table of contents page\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1h4e96e6kutd4n1mzyv51sdj06xa\"},{\"name\":\"CSSSTYLE=\",\"optional\":true,\"description\":\"Specify a cascading style sheet to apply to your output\",\"help\":\"CSSSTYLE= '*file-specification*'&lt;(*media-type-1*&lt;…*media-type-10*&gt;)&gt;\",\"type\":\"value\",\"arguments\":[{\"name\":\"\\\"external-file\\\"\",\"placeholder\":true,\"description\":\"is the name of the external file.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1acjjnitg34uen0z96mk7z3bjezc\"},{\"name\":\"fileref\",\"placeholder\":true,\"description\":\"is a file reference that has been assigned to an external file. Use the FILENAME statement to assign a fileref.\",\"help\":\"*fileref* \",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1pacblr1igm6gn11sapppstue24c\"},{\"name\":\"\\\"URL\\\"\",\"placeholder\":true,\"description\":\"is a URL to an external file.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0i936ubl0icb1n14bzf4xuba1jfc\"},{\"name\":\"(media-type-1<.. media-type-10>)\",\"placeholder\":true,\"description\":\"specifies one or more media blocks that correspond to the type of media that your output is rendered on. CSS uses media type blocks to specify how a document is to be presented on different media: on the screen, on paper, with a speech synthesizer, with a braille device, and so on.\",\"help\":\"(*media-type-1&lt;.. media-type-10&gt;*)\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1ktodbg3cbcg3n1pcs3royigva0c\"}],\"supportSiteTargetFragment\":\"p1lipsp1ynf14mn1rgolhceti4vgc\"},{\"name\":\"DEVICE=\",\"optional\":true,\"description\":\"Specify a device for the RTF output destination\",\"help\":\"DEVICE= *device-driver*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0hxm0p6iszuwun1jwhfx1jyzwlta\"},{\"name\":\"DOM\",\"optional\":true,\"description\":\"Specify that the ODS document object model is written to the SAS Log or to an external file\",\"help\":\"DOM&lt;=\\\"*external-file*\\\"&gt;\",\"type\":\"standaloneOrValue\",\"arguments\":[{\"name\":\"external-file\",\"placeholder\":true,\"description\":\"is the name of an external output file.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0vzar5h7f8gtcn1x5ihohfiun0fh\"}],\"supportSiteTargetFragment\":\"n1c57d2048ucksn1o3iq5uj0pim2h\"},{\"name\":\"ENCODING=\",\"optional\":true,\"description\":\"Override the encoding for input or output processing (transcodes) of external files\",\"help\":\"ENCODING= *local-character-set-encoding*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1iri7jiorpy5an19yud8nmfkdaee\"},{\"name\":\"FILE=\",\"optional\":true,\"aliases\":[\"BODY=\"],\"description\":\"Open the ODS RTF destination and specify the name of the file to which to write information\",\"help\":\"FILE= '*external-file*' | *fileref*\",\"type\":\"choice\",\"arguments\":[{\"name\":\"external-file\",\"placeholder\":true,\"description\":\"is the name of an external file to which to write.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n15p53wk8w7d2gn1b8z9lovl0znea\"},{\"name\":\"fileref\",\"placeholder\":true,\"description\":\"is a file reference that has been assigned to an external file. Use the FILENAME statement to assign a fileref.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1t3bokynykao3n1x5p749umupooa\"}],\"supportSiteTargetFragment\":\"n0srmhg4lonqdxn167ozpcr366vfa\"},{\"name\":\"GFOOTNOTE\",\"optional\":true,\"description\":\"Specify the location where footnotes are printed in the graphics output\",\"type\":\"standalone\",\"arguments\":[{\"name\":\"GFOOTNOTE\",\"description\":\"includes all of the currently defined footnotes within the graphics output.\",\"help\":\"GFOOTNOTE \",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0j7eolst52854n1md668dfmw566a\"},{\"name\":\"NOGFOOTNOTE\",\"description\":\"prevents all of the currently defined footnotes from appearing in the graphics file. Instead, they become part of the RTF file.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1e66az2z7ucven1uxlpobv80gssa\"}],\"supportSiteTargetFragment\":\"p1c5qjsy3jh8pon1pm6g0h69y0qua\"},{\"name\":\"NOGFOOTNOTE\",\"optional\":true,\"description\":\"Specify the location where footnotes are printed in the graphics output\",\"type\":\"standalone\",\"arguments\":[{\"name\":\"GFOOTNOTE\",\"description\":\"includes all of the currently defined footnotes within the graphics output.\",\"help\":\"GFOOTNOTE \",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0j7eolst52854n1md668dfmw566a\"},{\"name\":\"NOGFOOTNOTE\",\"description\":\"prevents all of the currently defined footnotes from appearing in the graphics file. Instead, they become part of the RTF file.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1e66az2z7ucven1uxlpobv80gssa\"}],\"supportSiteTargetFragment\":\"p1c5qjsy3jh8pon1pm6g0h69y0qua\"},{\"name\":\"GTITLE\",\"optional\":true,\"description\":\"Control the location where titles are printed in the graphics output\",\"type\":\"standalone\",\"arguments\":[{\"name\":\"GTITLE\",\"description\":\"includes all of the currently defined titles within the graphics output that is called by the body file.\",\"help\":\"GTITLE \",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n009ltde0t0iuun1mvb09jvoasota\"},{\"name\":\"NOGTITLE\",\"description\":\"prevents all of the currently defined titles from appearing in the graphics output. Instead, the titles become part of the RTF file.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1iypgitcgczaxn1f21h6yyc7veva\"}],\"supportSiteTargetFragment\":\"p1mp49mb9l76vyn1skhy6hm5icpaa\"},{\"name\":\"NOGTITLE\",\"optional\":true,\"description\":\"Control the location where titles are printed in the graphics output\",\"type\":\"standalone\",\"arguments\":[{\"name\":\"GTITLE\",\"description\":\"includes all of the currently defined titles within the graphics output that is called by the body file.\",\"help\":\"GTITLE \",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n009ltde0t0iuun1mvb09jvoasota\"},{\"name\":\"NOGTITLE\",\"description\":\"prevents all of the currently defined titles from appearing in the graphics output. Instead, the titles become part of the RTF file.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1iypgitcgczaxn1f21h6yyc7veva\"}],\"supportSiteTargetFragment\":\"p1mp49mb9l76vyn1skhy6hm5icpaa\"},{\"name\":\"(ID= )\",\"optional\":true,\"description\":\"Open multiple instances of the same destination at the same time\",\"help\":\"(ID= *identifier*)  \",\"type\":\"value\",\"arguments\":[{\"name\":\"identifier\",\"placeholder\":true,\"description\":\"specifies another instance of the destination that is already open. identifier is numeric or a series of characters that begin with a letter or an underscore. Subsequent characters can include letters, underscores, and numeric characters.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1ik5dutu6em7un12sygbpoibz2bf\"}],\"supportSiteTargetFragment\":\"n08a4r2r3ld7q5n1gegnp2cj0tbaf\"},{\"name\":\"IMAGE_DPI\",\"optional\":true,\"aliases\":[\"DPI=\"],\"description\":\"Specify the image resolution for the graphical output\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1p7rp5hy6n2lfn1saaphh5w2ue5a\"},{\"name\":\"KEEPN\",\"optional\":true,\"description\":\"Control where tables split on a page\",\"type\":\"standalone\",\"arguments\":[{\"name\":\"KEEPN\",\"description\":\"ODS allows table splits only if the entire table cannot fit on one page.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1bbei0s6zcs3rn1sci04vb9ilpna\"},{\"name\":\"NOKEEPN\",\"description\":\"ODS lets a table split at a page break.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1cqeijodgxsn2n0zew5yqkwduyna\"}],\"supportSiteTargetFragment\":\"p06wpzowysyyg4n1oaqdh28hxw6ea\"},{\"name\":\"NOKEEPN\",\"optional\":true,\"description\":\"Control where tables split on a page\",\"type\":\"standalone\",\"arguments\":[{\"name\":\"KEEPN\",\"description\":\"ODS allows table splits only if the entire table cannot fit on one page.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1bbei0s6zcs3rn1sci04vb9ilpna\"},{\"name\":\"NOKEEPN\",\"description\":\"ODS lets a table split at a page break.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1cqeijodgxsn2n0zew5yqkwduyna\"}],\"supportSiteTargetFragment\":\"p06wpzowysyyg4n1oaqdh28hxw6ea\"},{\"name\":\"NEWFILE=\",\"optional\":true,\"description\":\"Create a new body file at the specified starting point\",\"help\":\"NEWFILE= *starting-point*\",\"type\":\"value\",\"arguments\":[{\"name\":\"BYGROUP\",\"description\":\"starts a new file for the results of each BY group.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n15ltkdh60vorxn1hrkmq9af1xyia\"},{\"name\":\"NONE\",\"description\":\"writes all output to the body file that is currently open.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1ahbn0zi7swzcn1uyk0loahvy6ba\"},{\"name\":\"OUTPUT\",\"aliases\":[\"TABLE\"],\"description\":\"starts a new file for each output object. For SAS/GRAPH this means that ODS creates a new file for each SAS/GRAPH output file that the program generates.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p003weydk14x24n1krh2zost95wua\"},{\"name\":\"PROC\",\"description\":\"starts a new file each time you start a new procedure.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1oyftg57zbwevn1ar92h9mfoy7ta\"}],\"supportSiteTargetFragment\":\"p069lzfmpft4lfn1l1nwevjb2v9oa\"},{\"name\":\"NOTOC_DATA\",\"optional\":true,\"description\":\"Specify whether contents data is inserted into the RTF file\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0c5w3gnlax2lxn1ej2snltvvwq2a\"},{\"name\":\"NOTRKEEP\",\"optional\":true,\"description\":\"Control whether table rows can be split by a page break\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0pd78mjrj1wi2n1b0oo9z65jakua\"},{\"name\":\"OPERATOR=\",\"optional\":true,\"description\":\"Insert the text that you specify into the metadata of the RTF file\",\"help\":\"OPERATOR= '*text-string*'\",\"type\":\"value\",\"arguments\":[{\"name\":\"text-string\",\"placeholder\":true,\"description\":\"is the text in the metadata of a file that indicates the author.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1o3aj5v92jrn0n1qoy3c4m1q78ha\"}],\"supportSiteTargetFragment\":\"n0sualfrr6o5k4n1uy77wiw8c0ira\"},{\"name\":\"PACKAGE\",\"optional\":true,\"description\":\"Specify that the output from the destination be added to an ODS package\",\"help\":\"PACKAGE &lt;*package-name*&gt;\",\"type\":\"value\",\"arguments\":[{\"name\":\"package-name\",\"placeholder\":true,\"description\":\"specifies the name of a package that was created with the ODS PACKAGE statement. If no name is specified, then the output is added to the unnamed package that was opened last.\",\"help\":\"*package-name* \",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0jb17x572bs6cn0zq6aroj361h9a\"}],\"supportSiteTargetFragment\":\"p1bpdelof4yay3n1uxaudm4xpnvca\"},{\"name\":\"PATH=\",\"optional\":true,\"description\":\"Specify the location of an aggregate storage location or a SAS catalog for all RTF files\",\"help\":\"PATH=*'aggregate-file-storage-specification'* | *fileref* |  (URL=*libref.catalog* '*Uniform-Resource-Locator*' | NONE)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"'aggregate-file-storage-location'\",\"placeholder\":true,\"description\":\"specifies an aggregate storage location such as directory, folder, or partitioned data set.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0q00ig3zbjy4hn1wgzdtqyrt9t3a\"},{\"name\":\"fileref\",\"placeholder\":true,\"description\":\"is a file reference that has been assigned to an aggregate storage location. Use the FILENAME statement to assign a fileref.\",\"help\":\"*fileref* \",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0tcogr2z8sn6in1xvuimsd3bme6a\"},{\"name\":\"libref.catalog\",\"placeholder\":true,\"description\":\"specifies a SAS catalog to write to.\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"p1rg3jb7gh5uu8n1gr61exq3kvtua\"},{\"name\":\"URL=\",\"description\":\"specifies a URL for the file-specification.\",\"help\":\"URL= '*Uniform-Resource-Locator*' | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"Uniform-Resource-Locator\",\"placeholder\":true,\"description\":\"is the URL that you specify. ODS uses this URL instead of the filename in all the links and references that it creates to the file.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1l8j435ct1tbfn1sk46w4ayu13va\"},{\"name\":\"NONE\",\"description\":\"specifies that no information from the PATH= option appears in the links or references.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1bjd5ir7lm7mon16azuzu83w8cra\"}],\"supportSiteTargetFragment\":\"p0ztf3h9ncbirrn1urf7s222mr6la\"}],\"supportSiteTargetFragment\":\"n048mavghv28arn1fl8jhtbhor3aa\"},{\"name\":\"PREPAGE=\",\"optional\":true,\"description\":\"Specify a text string that occurs before a table on a page\",\"help\":\"PREPAGE='*text-string*'\",\"type\":\"value\",\"arguments\":[{\"name\":\"text-string\",\"placeholder\":true,\"description\":\"is the text at the top of the table, after the titles. The text is placed before any tables created by the procedure.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0jtt032l3qsran1ai19k2sukw4ia\"}],\"supportSiteTargetFragment\":\"p0i756vfqo6ue4n1kpogy82mcbxua\"},{\"name\":\"RECORD_SEPARATOR=\",\"optional\":true,\"aliases\":[\"RECSEP=\",\"RS=\"],\"description\":\"Specify an alternative character or string to separate lines in the output files\",\"help\":\"RECORD_SEPARATOR= '*alternative-separator*' | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"alternative-separator\",\"placeholder\":true,\"description\":\"represents one or more characters in hexadecimal or ASCII format. For example, the following option specifies a record separator of a carriage-return character and a linefeed character (on an ASCII file system):\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0pd1jf2fq40t5n11ng6f1jpic9qa\"},{\"name\":\"NONE\",\"description\":\"produces RTF output that is appropriate for the environment in which you run the SAS job.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n00k7h0fnq2em0n1otmrtw7zrsmua\"}],\"supportSiteTargetFragment\":\"n0t759l4v0ekr7n15d5s8qn9xk39a\"},{\"name\":\"SASDATE\",\"optional\":true,\"description\":\"Write to the RTF file the time and date that you started your SAS session\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0hydzqq8kp3gvn12fi13df1vbm5a\"},{\"name\":\"STARTPAGE=\",\"optional\":true,\"description\":\"Control page breaks\",\"help\":\"STARTPAGE= BYGROUP | YES | NO | NOW\",\"type\":\"choice\",\"arguments\":[{\"name\":\"BYGROUP\",\"description\":\"specifies to insert page breaks after each BY group.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0x1v5hbz8p37en18xlqovlnmbf5a\"},{\"name\":\"YES\",\"aliases\":[\"ON\"],\"description\":\"inserts a new page at the start of each procedure and within certain procedures, as is requested by the procedure code.\",\"help\":\"YES \",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1fpgme6var1ryn1b8j8qx9r9u5oa\"},{\"name\":\"NO\",\"aliases\":[\"NEVER\"],\"description\":\"instructs ODS not to insert any new pages at the start of each procedure or within certain procedures, even if the procedure code requests new pages. A new page begins only when a page is filled or when you specify STARTPAGE= NOW.\",\"help\":\"NO \",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n030kb60efrv88n18kzf7tqasqvta\"},{\"name\":\"NOW\",\"description\":\"forces the immediate insertion of a new page.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0c4x1v2fikc5bn1gjlp4mfjx4k4a\"}],\"supportSiteTargetFragment\":\"p1ew7p9obvp8hzn1uqvyu0sam8sja\"},{\"name\":\"STYLE=\",\"optional\":true,\"description\":\"Specify a style template to use in writing the RTF files\",\"help\":\"STYLE= *style-template*\",\"type\":\"value\",\"arguments\":[{\"name\":\"style-template\",\"placeholder\":true,\"description\":\"describes how to display the presentation aspects (color, font face, font size, and so on) of your SAS output. A style template determines the overall appearance of the documents that use that style template. Each style template consists of style elements.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p08qgmepbpzrj1n1p73rh3uk7d7na\"}],\"supportSiteTargetFragment\":\"p18hno3i9d0nhfn1v36e19atwlqna\"},{\"name\":\"TEXT=\",\"optional\":true,\"description\":\"Insert text into your RTF output\",\"help\":\"TEXT= '*text-string*'\",\"type\":\"value\",\"arguments\":[{\"name\":\"text-string\",\"placeholder\":true,\"description\":\"is the text that you want to insert into your RTF output. You can also use TEXT= to annotate other output.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p033mfhohnqy33n1j2mar69p5hgga\"}],\"supportSiteTargetFragment\":\"p1qzg49bdxfttpn1h27icgu1o9n6a\"},{\"name\":\"TITLE=\",\"optional\":true,\"description\":\"Insert the text string that you want as your title into the metadata of a file\",\"help\":\"TITLE= '*title-text*'\",\"type\":\"value\",\"arguments\":[{\"name\":\"title-text\",\"placeholder\":true,\"description\":\"is the text in the metadata of a file that indicates the title.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1vqigpon64vsdn1sbhugtdiva4xa\"}],\"supportSiteTargetFragment\":\"n08j2kud84hyj5n1am4wah3id2lha\"},{\"name\":\"TOC_DATA\",\"optional\":true,\"description\":\"Specify whether contents data is inserted into the RTF file\",\"type\":\"standalone\",\"arguments\":[{\"name\":\"NOTOC_DATA\",\"description\":\"instructs ODS not to insert contents data into the RTF file.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n19b4gyai4n7d7n1y1deoexedbqsa\"},{\"name\":\"TOC_DATA\",\"description\":\"instructs ODS to insert contents data into the RTF file.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1njpsmhfxgl2cn1rc40wqj18vpua\"}],\"supportSiteTargetFragment\":\"n1su9oa33cx25gn117inm9wnih13a\"},{\"name\":\"NOTOC_DATA\",\"optional\":true,\"description\":\"Specify whether contents data is inserted into the RTF file\",\"type\":\"standalone\",\"arguments\":[{\"name\":\"NOTOC_DATA\",\"description\":\"instructs ODS not to insert contents data into the RTF file.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n19b4gyai4n7d7n1y1deoexedbqsa\"},{\"name\":\"TOC_DATA\",\"description\":\"instructs ODS to insert contents data into the RTF file.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1njpsmhfxgl2cn1rc40wqj18vpua\"}],\"supportSiteTargetFragment\":\"n1su9oa33cx25gn117inm9wnih13a\"},{\"name\":\"TRANTAB=\",\"optional\":true,\"description\":\"Specify a translation table to use when you transcode a file for output\",\"help\":\"TRANTAB= *translation-table*\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"p0jiyqz8vqnlx2n11kltbikrfaa3a\"},{\"name\":\"CLOSE\",\"optional\":true,\"description\":\"Close the destination and the file that is associated with it.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0314ri2ftw2xbn19qok9x5dcpxtg\"},{\"name\":\"EXCLUDE\",\"optional\":true,\"description\":\"Exclude output objects from the destination\",\"help\":\"EXCLUDE *exclusion(s)* |  ALL |  NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"exclusion\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"ALL\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"p1dgxo1rmespghn1wosymk75o74kh\"},{\"name\":\"SELECT\",\"optional\":true,\"description\":\"Select output objects for the destination.\",\"help\":\"SELECT *selection(s)* |  ALL |  NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"selection\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"ALL\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"p1ivy4th5ppdkfn1aybs638tc3syh\"},{\"name\":\"SHOW\",\"optional\":true,\"description\":\"Write to the SAS Log the current selection or exclusion list for the destination\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0edxfd8jflk5xn1l1znzdzsupnah\"}],\"supportSiteInformation\":{\"docsetId\":\"odsug\",\"docsetVersion\":\"v_004\",\"docsetTargetFile\":\"p1vvsv8ucnjzjnn1wq5wrlp74mdb.htm\"}},{\"name\":\"ODS SELECT\",\"description\":\"Specifies output objects for ODS destinations.\",\"help\":\"ODS  &lt;*ODS-destination*&gt;SELECT *selection(s)* | ALL | NONE;\",\"arguments\":[{\"name\":\"output-object\",\"placeholder\":true,\"description\":\"specifies the output object to select.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0c4cnefkpy5i6n1lkp2h42wbqg7\"},{\"name\":\"(PERSIST)\",\"description\":\"keeps the output-object that precedes the PERSIST option in the selection list, even if the DATA or procedure step ends, until you explicitly modify the list with one of the following:\\n• any ODS EXCLUDE                                  statement \\n• ODS SELECT                                  NONE\\n• ODS SELECT                                  ALL\\n• an ODS SELECT statement                                  that applies to the same output object but does not specify                                  PERSIST\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n11dvhufh958csn1tn2890fuj4cm\"},{\"name\":\"ALL\",\"aliases\":[\"DEFAULT\"],\"description\":\"specifies that ODS send all of the output objects to the open destination.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p05h9swp2krw3xn0znkh7vdfo5sg\"},{\"name\":\"NONE\",\"description\":\"specifies that ODS does not send any output objects to the open destination.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1x7hcciqi09lan1s8h7znm4same\"},{\"name\":\"(NOWARN)\",\"optional\":true,\"description\":\"suppresses the warning that an output object was requested but not created.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p119046daexd4in1bfv89jddoxrk\"},{\"name\":\"ODS-destination\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies to which ODS destination's selection list to write, where ODS-destination can be any valid ODS destination except for the OUTPUT destination.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1xumkifs4jdzzn1pwgt0ytcbplt\"},{\"name\":\"WHERE=\",\"optional\":true,\"description\":\"selects output objects that meet a particular condition. For example, the following statement selects only output objects with the word \\\"Histogram\\\" in their name:\",\"help\":\"WHERE=*where-expression*\",\"type\":\"value\",\"arguments\":[{\"name\":\"_LABEL_\",\"description\":\"is the label of the output object.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1dhm4ezkhfl8pn1xvx1w17n6mgo\"},{\"name\":\"_LABELPATH_\",\"description\":\"is the label path of the output object.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n187r990b184kmn1wdahn8wu1s1o\"},{\"name\":\"_NAME_\",\"description\":\"is the name of the output object.\",\"help\":\"_NAME_ \",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1sl1rkos80byhn1bgthnoqv4b4c\"},{\"name\":\"_PATH_\",\"description\":\"is the name path of the output object.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0w8pe52yt0gbqn10ef8iw2jnp1z\"},{\"name\":\"operator\",\"placeholder\":true,\"description\":\"compares a variable with a value or with another variable. operator can be AND, OR NOT, OR, AND NOT, or a comparison operator.\",\"help\":\"*operator*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n07fmxecr2p5odn1iy0j0t9n2csc\"}],\"supportSiteTargetFragment\":\"p0h723ln07qzsan1ea2sy03n81x9\"}],\"supportSiteInformation\":{\"docsetId\":\"odsproc\",\"docsetVersion\":\"v_004\",\"docsetTargetFile\":\"p1b72ff70v3obrn16aanp1r9q2bu.htm\"}},{\"name\":\"ODS SHOW\",\"description\":\"Writes the specified selection or exclusion list to the SAS log.\",\"help\":\"ODS &lt;*ODS-destination*&gt;SHOW ;\",\"arguments\":[{\"name\":\"ODS-destination\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies which ODS destination's selection or exclusion list to write to the SAS log. ODS-destination must be a valid ODS destination. For information about ODS destinations, see . For information about selection and exclusion lists, see .\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0b9fhph6vuymkn14656fttel1h8\"}],\"supportSiteInformation\":{\"docsetId\":\"odsug\",\"docsetVersion\":\"v_004\",\"docsetTargetFile\":\"n039755ylf7oppn141m3puregz1r.htm\"}},{\"name\":\"ODS TAGSETS.RTF\",\"description\":\"Opens, manages, or closes the RTF destination, which produces measured output that is written in Rich Text Format.\",\"help\":\"ODS TAGSETS.RTF <(<ID => identifier)>action;\\nODS TAGSETS.RTF <(<ID => identifier)><options> ;\",\"arguments\":[{\"name\":\"ANCHOR=\",\"optional\":true,\"aliases\":[\"NAMED_DEST=\",\"BOOKMARK=\"],\"description\":\"Specify a unique base name for the anchor tag that identifies each output object in the current body file\",\"help\":\"ANCHOR= '*anchor-name*'\",\"type\":\"value\",\"arguments\":[{\"name\":\"anchor-name\",\"placeholder\":true,\"description\":\"is the base name for the RTF anchor tag that identifies each output object in the current file.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0uisuia12565en1i2e0jtbl0ei6b\"}],\"supportSiteTargetFragment\":\"p0sln3vm87gd5kn1aa6jkk1in5hrb\"},{\"name\":\"AUTHOR=\",\"optional\":true,\"description\":\"Specify the text string that identifies the author. This text string is inserted into the metadata of a file.\",\"help\":\"AUTHOR= '*author-text*'\",\"type\":\"value\",\"arguments\":[{\"name\":\"author-text\",\"placeholder\":true,\"description\":\"is the text in the metadata of an open file that indicates the author.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0xadp319tsq7mn1wkcz7xvcarkmb\"}],\"supportSiteTargetFragment\":\"n0fgw3k1bugihvn18rd530702fzgb\"},{\"name\":\"BASE=\",\"optional\":true,\"description\":\"Specify text to use as the first part of all links and references that ODS creates in output files\",\"help\":\"BASE= '*base-text*'\",\"type\":\"value\",\"arguments\":[{\"name\":\"base-text\",\"placeholder\":true,\"description\":\"is the text that ODS uses as the first part of all references that ODS creates in the file. Consider this specification:\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1d0wp9onv8309n1xofnfoci1pbyb\"}],\"supportSiteTargetFragment\":\"p1ulgy5pv6yv8cn1ny1nzgpph6hzb\"},{\"name\":\"BOX_SIZING=\",\"optional\":true,\"description\":\"Specify how to measure the width of cells. Use to override the default value of BOX_SIZING for a destination\",\"help\":\"BOX_SIZING=(CONTENTBOX | BORDERBOX)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"CONTENTBOX\",\"type\":\"standalone\"},{\"name\":\"BORDERBOX\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"p1uv9eii85hdhsn1bsdq80jvuo5cb\"},{\"name\":\"COLUMNS=\",\"optional\":true,\"description\":\"Specify the number of columns to create on each page of output\",\"help\":\"COLUMNS=*n* | MAX\",\"type\":\"choice\",\"arguments\":[{\"name\":\"n\",\"placeholder\":true,\"description\":\"is the number of one-inch columns that you want on the page.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0pefzm1eup5ken15p4vbvf8oi76b\"},{\"name\":\"MAX\",\"description\":\"specifies the maximum number of columns for the paper size and margin setting. This value is dependent upon the paper size and page orientation.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n06pqcndfbc475n1p7jll0iipjltb\"}],\"supportSiteTargetFragment\":\"p1oyjbaa295vpen1dm93sv5dkv4fb\"},{\"name\":\"DEVICE=\",\"optional\":true,\"description\":\"Specify a device for the RTF output destination\",\"help\":\"DEVICE= *device-driver*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0hxm0p6iszuwun1jwhfx1jyzwltb\"},{\"name\":\"ENCODING=\",\"optional\":true,\"description\":\"Override the encoding for input or output processing (transcodes) of external files\",\"help\":\"ENCODING= *local-character-set-encoding*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1iri7jiorpy5an19yud8nmfkdaeg\"},{\"name\":\"FILE=\",\"optional\":true,\"aliases\":[\"BODY=\"],\"description\":\"Open the ODS RTF destination and specify the name of the file to which to write information\",\"help\":\"FILE= '*external-file*' | *fileref*\",\"type\":\"choice\",\"arguments\":[{\"name\":\"external-file\",\"placeholder\":true,\"description\":\"is the name of an external file to which to write.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n15p53wk8w7d2gn1b8z9lovl0zneb\"},{\"name\":\"fileref\",\"placeholder\":true,\"description\":\"is a file reference that has been assigned to an external file. Use the FILENAME statement to assign a fileref.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1t3bokynykao3n1x5p749umupoob\"}],\"supportSiteTargetFragment\":\"n0srmhg4lonqdxn167ozpcr366vfb\"},{\"name\":\"GFOOTNOTE\",\"optional\":true,\"description\":\"Specify the location where footnotes are printed in the graphics output\",\"type\":\"standalone\",\"arguments\":[{\"name\":\"GFOOTNOTE\",\"description\":\"includes all of the currently defined footnotes within the graphics output.\",\"help\":\"GFOOTNOTE \",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0j7eolst52854n1md668dfmw566b\"},{\"name\":\"NOGFOOTNOTE\",\"description\":\"prevents all of the currently defined footnotes from appearing in the graphics file. Instead, they become part of the RTF file.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1e66az2z7ucven1uxlpobv80gssb\"}],\"supportSiteTargetFragment\":\"p1c5qjsy3jh8pon1pm6g0h69y0qub\"},{\"name\":\"NOGFOOTNOTE\",\"optional\":true,\"description\":\"Specify the location where footnotes are printed in the graphics output\",\"type\":\"standalone\",\"arguments\":[{\"name\":\"GFOOTNOTE\",\"description\":\"includes all of the currently defined footnotes within the graphics output.\",\"help\":\"GFOOTNOTE \",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0j7eolst52854n1md668dfmw566b\"},{\"name\":\"NOGFOOTNOTE\",\"description\":\"prevents all of the currently defined footnotes from appearing in the graphics file. Instead, they become part of the RTF file.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1e66az2z7ucven1uxlpobv80gssb\"}],\"supportSiteTargetFragment\":\"p1c5qjsy3jh8pon1pm6g0h69y0qub\"},{\"name\":\"GTITLE\",\"optional\":true,\"description\":\"Control the location where titles are printed in the graphics output\",\"type\":\"standalone\",\"arguments\":[{\"name\":\"GTITLE\",\"description\":\"includes all of the currently defined titles within the graphics output that is called by the body file.\",\"help\":\"GTITLE \",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n009ltde0t0iuun1mvb09jvoasotb\"},{\"name\":\"NOGTITLE\",\"description\":\"prevents all of the currently defined titles from appearing in the graphics output. Instead, the titles become part of the RTF file.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1iypgitcgczaxn1f21h6yyc7vevb\"}],\"supportSiteTargetFragment\":\"p1mp49mb9l76vyn1skhy6hm5icpab\"},{\"name\":\"NOGTITLE\",\"optional\":true,\"description\":\"Control the location where titles are printed in the graphics output\",\"type\":\"standalone\",\"arguments\":[{\"name\":\"GTITLE\",\"description\":\"includes all of the currently defined titles within the graphics output that is called by the body file.\",\"help\":\"GTITLE \",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n009ltde0t0iuun1mvb09jvoasotb\"},{\"name\":\"NOGTITLE\",\"description\":\"prevents all of the currently defined titles from appearing in the graphics output. Instead, the titles become part of the RTF file.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1iypgitcgczaxn1f21h6yyc7vevb\"}],\"supportSiteTargetFragment\":\"p1mp49mb9l76vyn1skhy6hm5icpab\"},{\"name\":\"(ID= )\",\"optional\":true,\"description\":\"Open multiple instances of the same destination at the same time\",\"help\":\"(ID= *identifier*)  \",\"type\":\"value\",\"arguments\":[{\"name\":\"identifier\",\"placeholder\":true,\"description\":\"specifies another instance of the destination that is already open. identifier is numeric or a series of characters that begin with a letter or an underscore. Subsequent characters can include letters, underscores, and numeric characters.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1ik5dutu6em7un12sygbpoibz2bh\"}],\"supportSiteTargetFragment\":\"n08a4r2r3ld7q5n1gegnp2cj0tbah\"},{\"name\":\"IMAGE_DPI\",\"optional\":true,\"aliases\":[\"DPI=\"],\"description\":\"Specify the image resolution for the graphical output\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1p7rp5hy6n2lfn1saaphh5w2ue5b\"},{\"name\":\"NEWFILE=\",\"optional\":true,\"description\":\"Create a new body file at the specified starting point\",\"help\":\"NEWFILE= *starting-point*\",\"type\":\"value\",\"arguments\":[{\"name\":\"BYGROUP\",\"description\":\"starts a new file for the results of each BY group.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n15ltkdh60vorxn1hrkmq9af1xyib\"},{\"name\":\"NONE\",\"description\":\"writes all output to the body file that is currently open.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1ahbn0zi7swzcn1uyk0loahvy6bb\"},{\"name\":\"OUTPUT\",\"aliases\":[\"TABLE\"],\"description\":\"starts a new file for each output object. For SAS/GRAPH this means that ODS creates a new file for each SAS/GRAPH output file that the program generates.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p003weydk14x24n1krh2zost95wub\"},{\"name\":\"PROC\",\"description\":\"starts a new file each time you start a new procedure.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1oyftg57zbwevn1ar92h9mfoy7tb\"}],\"supportSiteTargetFragment\":\"p069lzfmpft4lfn1l1nwevjb2v9ob\"},{\"name\":\"OPERATOR=\",\"optional\":true,\"description\":\"Insert the text that you specify into the metadata of the RTF file\",\"help\":\"OPERATOR= '*text-string*'\",\"type\":\"value\",\"arguments\":[{\"name\":\"text-string\",\"placeholder\":true,\"description\":\"is the text in the metadata of a file that indicates the author.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1o3aj5v92jrn0n1qoy3c4m1q78hb\"}],\"supportSiteTargetFragment\":\"n0sualfrr6o5k4n1uy77wiw8c0irb\"},{\"name\":\"OPTIONS\",\"optional\":true,\"description\":\"Specify TAGSETS.RTF-specific options\",\"help\":\"OPTIONS (CONTENTS=CONTINUE_TAG= | DOC= | SECT= | TABLES_OFF= | TOC_DATA= | TOC_LEVEL= | TROWD= | TRHDR= | TROWHDRCELL= | VSPACE= | WATERMARK=)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"(CONTENTS= 'YES')\",\"description\":\"produces a table of contents (TOC) page for RTF documents that are opened in Microsoft Word. The table of contents page contains a Table of Contents field that puts all of the contents information that is embedded in the document into a table of contents. To display the captured TOC data, you must turn on the option TOC_DATA. To expand the table of contents, right-click under the title in Microsoft Word and select Update Field from the selection list.\",\"help\":\"(CONTENTS= 'YES') \",\"type\":\"value\",\"arguments\":[{\"name\":\"YES\",\"aliases\":[\"ON\"],\"description\":\"adds a table of contents page to the top of the RTF file. This table of contents page is followed by a page break.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0rrra0vwhbh2bn0zxc3x6v7zd06a\"}],\"supportSiteTargetFragment\":\"p1nru8jx56hjgkn1sma6mipyrej1a\"},{\"name\":\"(CONTINUE_TAG ='''')\",\"description\":\"specifies whether to add a continue tag to the RTF file when a table breaks and is continued to the next page.\",\"help\":\"(CONTINUE_TAG ='ON | ''OFF')\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ON\",\"aliases\":[\"YES\"],\"description\":\"instructs ODS to add a continue tag to the RTF file when a table breaks and is continued to the next page.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1pcczhmceevekn1evm0edb5wl05a\"},{\"name\":\"OFF\",\"aliases\":[\"NO\"],\"description\":\"instructs ODS not to add the continue tag when a table breaks and is continued to the next page.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p15uscpadrs836n1iwn083gi5g52a\"}],\"supportSiteTargetFragment\":\"p1a94vm6ssupv2n11ck5ukw1kjwpa\"},{\"name\":\"(DOC=)\",\"description\":\"provides information about the tagset.\",\"help\":\"(DOC=\\\"QUICK'' | \\\"HELP\\\" | \\\"SETTINGS\\\")\",\"type\":\"choice\",\"arguments\":[{\"name\":\"QUICK\",\"description\":\"describes the options available for this tagset.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n092og6152vvksn1kzzi0cfg8vxoa\"},{\"name\":\"HELP\",\"description\":\"provides generic help and information with a quick reference.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p117rud86x1cjun1ebbuyk7npii6a\"},{\"name\":\"SETTINGS\",\"description\":\"provides the current option settings.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n02af0lpa7xu73n12uc65n4a2jf1a\"}],\"supportSiteTargetFragment\":\"n1979dmet5os4fn1tr3i5ktvxzkba\"},{\"name\":\"(SECT='''')\",\"description\":\"inserts RTF control words into the section data specifications.\",\"help\":\"(SECT='*rtf_control_string*' | 'OFF | ''NONE')\",\"type\":\"choice\",\"arguments\":[{\"name\":\"rtf_control_string\",\"placeholder\":true,\"description\":\"specifies RTF control words used to format the section data.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0v3odwp0myyf0n1uklyvd4g1kjma\"},{\"name\":\"OFF\",\"aliases\":[\"NO\"],\"description\":\"turns off the usage of RTF control words for the section data and resets the rtf_control_string to null.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1d9782s9gh4e6n16dera7f6sktba\"},{\"name\":\"NONE\",\"description\":\"stops new RTF control words from being inserted into the file for the section data. ODS continues to use the section data information that was set before the use of NONE until it is reset.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n16exy5nizu6b0n0zas0z8tz696ea\"}],\"supportSiteTargetFragment\":\"p1nyt48qhgm2wfn1wtak1x1alfq0a\"},{\"name\":\"(TABLES_OFF=''''\",\"description\":\"determines whether tables are used. A table can consist of one cell or many cells. SAS puts all of the text that you create into tables for RTF output. Use this suboption for tables that are text holders like titles, footnotes, and TEXT=. You should not use this suboption for tables produced by reporting procedures.\",\"help\":\"(TABLES_OFF='*style_elements*' | 'STYLE | ''OFF'\",\"type\":\"choice\",\"arguments\":[{\"name\":\"style_elements\",\"placeholder\":true,\"description\":\"specifies the style element for formatting. For example, the following statement turns off tables that use the USERTEXT style element. The text specified by the TEXT= option is not placed in the table.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1t90vetu8xwtan1kt3xrh8jfiana\"},{\"name\":\"STYLE_ELEMENTS\",\"description\":\"lists the output style elements in the SAS Log.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1mni2zrof9wzwn1qmq6qvduk00ea\"},{\"name\":\"OFF\",\"aliases\":[\"NO\"],\"description\":\"turns the option off. Therefore, ODS places the information output next into the RTF file inside a table. This action is the default option.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0s43ey2hjile4n0zl12cvljvez4a\"}],\"supportSiteTargetFragment\":\"p09jg2i31py27mn1dgeszoftma61a\"},{\"name\":\"(TOC_DATA ='''')\",\"description\":\"specifies whether to show the contents data in the RTF file.\",\"help\":\"(TOC_DATA ='ON | ''OFF')\",\"type\":\"choice\",\"arguments\":[{\"name\":\"OFF\",\"aliases\":[\"NO\"],\"description\":\"instructs ODS not to display the table of contents data in the RTF file.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0j3jtd8btv7jfn1ee57sdb11jt6a\"},{\"name\":\"ON\",\"aliases\":[\"YES\"],\"description\":\"instructs ODS to display the hidden text of the table of contents in the RTF file.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0bor1923ibdydn1kciwfupp7wexa\"}],\"supportSiteTargetFragment\":\"p1qgeug8o6x7o2n1dh9gbvool4sua\"},{\"name\":\"(TOC_LEVEL ='')\",\"description\":\"Control the level of the expansion of the table of contents in RTF documents\",\"help\":\"(TOC_LEVEL ='*n*')\",\"type\":\"value\",\"arguments\":[{\"name\":\"n\",\"placeholder\":true,\"description\":\"specifies the level of expansion. For example, TOC_LEVEL=\\\"0\\\" results in a fully expanded table of contents. TOC_LEVEL=\\\"2\\\" results in a table of contents that is expanded to two levels.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p087ilschfcy1an1rlfn6d9l7szaa\"},{\"name\":\"OFF\",\"aliases\":[\"NO\"],\"description\":\"restores all levels of expansion that are shown in the Table of Contents.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0lkp9luxjokr1n1tfy9mymdwoqsa\"}],\"supportSiteTargetFragment\":\"n1o5iqm3udsy7gn12iiff9gn22y9a\"},{\"name\":\"(TROWD=')\",\"description\":\"inserts raw RTF specifications directly into header descriptions of the table row.\",\"help\":\"(TROWD='*rtf_control_string*' | OFF')\",\"type\":\"choice\",\"arguments\":[{\"name\":\"rtf_control_string\",\"placeholder\":true,\"description\":\"specifies RTF control words and symbols.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p10aducaszvxfpn141yk0axjstaha\"},{\"name\":\"OFF\",\"aliases\":[\"NO\"],\"description\":\"RTF controls are no longer inserted.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p09cmgo75hcjz4n10bvl2hgrpvr2a\"}],\"supportSiteTargetFragment\":\"p1t83elcjxwtiwn1szz6k97g317wa\"},{\"name\":\"(TRHDR='')\",\"description\":\"inserts raw table row RTF specifications directly into the header description of the table row.\",\"help\":\"(TRHDR='*rtf_control_string*' | 'OFF')\",\"type\":\"choice\",\"arguments\":[{\"name\":\"rtf_control_string\",\"placeholder\":true,\"description\":\"specifies Microsoft RTF control words or symbols.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1mhi6qv8sqvs5n1okupdyx5x9u3a\"},{\"name\":\"OFF\",\"aliases\":[\"NO\"],\"description\":\"RTF controls are no longer inserted.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0stzcyqwt18bdn1cgnd7h887jf0a\"}],\"supportSiteTargetFragment\":\"p02lwzgcfgjfomn151chq2qacxi2a\"},{\"name\":\"(TROWHDRCELL='')\",\"description\":\"inserts raw text into the table row cells. If the RTF Reader does not recognize this text_string, it applies the raw text to the location where the RTF is being written in the documentation. Otherwise, the RTF Reader interprets the text_string as RTF control words.\",\"help\":\"(TROWHDRCELL='*text_string*' | 'OFF')\",\"type\":\"choice\",\"arguments\":[{\"name\":\"text_string\",\"placeholder\":true,\"description\":\"any text specified.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0s9kthefmcw0hn1oy8pwkkv8g2xa\"},{\"name\":\"OFF\",\"aliases\":[\"NO\"],\"description\":\"inserts a null string. Text is no longer inserted.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1wijbvsjq57sqn1j9qj6cghn1c8a\"}],\"supportSiteTargetFragment\":\"p056b1y6oqhsken1drvi3jio33c3a\"},{\"name\":\"(VSPACE='''')\",\"description\":\"specifies whether to add or remove space before and after tables.\",\"help\":\"(VSPACE='ON | ''OFF')\",\"type\":\"choice\",\"arguments\":[{\"name\":\"OFF\",\"aliases\":[\"NO\"],\"description\":\"specifies that no space is added before and after tables in the RTF file.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1xqwlookmflw8n13p0kv5589m3la\"},{\"name\":\"ON\",\"aliases\":[\"YES\"],\"description\":\"specifies that space is added before and after tables in the RTF file.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0m896upc23u4in10ikrsj3qnyl1a\"}],\"supportSiteTargetFragment\":\"p0cuuxvzjqaz44n1dj71fayf9t8sa\"},{\"name\":\"(WATERMARK=\",\"description\":\"inserts a watermark that is displayed diagonally across each page of the RTF document.\",\"help\":\"(WATERMARK='*text_string* ' | ' ')\",\"type\":\"choice\",\"arguments\":[{\"name\":\"text_string\",\"placeholder\":true,\"description\":\"specifies the text string that appears diagonally across each page of the RTF document.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p02uau8apqv9jln1vmpndl14t7spa\"},{\"name\":\"'\",\"description\":\"turns off the watermark text. Use a blank character within the quotation marks.\",\"help\":\"' '\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0y2kqcpwpdbmqn168ftakrsbtmva\"},{\"name\":\"NO\",\"description\":\"appear as watermark text.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0261shfj5zg56n120rpxn9sccvxa\"},{\"name\":\"OFF\",\"description\":\"appear as watermark text.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0261shfj5zg56n120rpxn9sccvxa\"}],\"supportSiteTargetFragment\":\"n0r3jsmpgh2dqan1x0b0zlcoker4a\"}],\"supportSiteTargetFragment\":\"n0o408s12pylefn1ti6jessommlca\"},{\"name\":\"PACKAGE\",\"optional\":true,\"description\":\"Specify that the output from the destination be added to an ODS package\",\"help\":\"PACKAGE &lt;*package-name*&gt;\",\"type\":\"value\",\"arguments\":[{\"name\":\"package-name\",\"placeholder\":true,\"description\":\"specifies the name of a package that was created with the ODS PACKAGE statement. If no name is specified, then the output is added to the unnamed package that was opened last.\",\"help\":\"*package-name* \",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0jb17x572bs6cn0zq6aroj361h9b\"}],\"supportSiteTargetFragment\":\"p1bpdelof4yay3n1uxaudm4xpnvcb\"},{\"name\":\"PAGEPANELS=\",\"optional\":true,\"description\":\"Specify the number of panels that are rendered for a multipanel table\",\"help\":\"PAGEPANELS=*n* | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"n\",\"placeholder\":true,\"description\":\"specifies a positive integer.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0hyf7ak9ikbbcn1i516z2wen6yza\"},{\"name\":\"NONE\",\"description\":\"specifies that paneling is handled the same ways as traditional ODS RTF. That is, all of the first panel is written, then all of the second panel, and so on, until all of the table information is written.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1ephfzw1hc5ljn1h1p293amml40a\"}],\"supportSiteTargetFragment\":\"n11jsna0ycz049n1sdp0iglvryffa\"},{\"name\":\"PATH=\",\"optional\":true,\"description\":\"Specify the location of an aggregate storage location or a SAS catalog for all RTF files\",\"help\":\"PATH=*'aggregate-file-storage-specification'* | *fileref* |  (URL=*libref.catalog* '*Uniform-Resource-Locator*' | NONE)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"'aggregate-file-storage-location'\",\"placeholder\":true,\"description\":\"specifies an aggregate storage location such as directory, folder, or partitioned data set.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0q00ig3zbjy4hn1wgzdtqyrt9t3b\"},{\"name\":\"fileref\",\"placeholder\":true,\"description\":\"is a file reference that has been assigned to an aggregate storage location. Use the FILENAME statement to assign a fileref.\",\"help\":\"*fileref* \",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0tcogr2z8sn6in1xvuimsd3bme6b\"},{\"name\":\"libref.catalog\",\"placeholder\":true,\"description\":\"specifies a SAS catalog to write to.\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"p1rg3jb7gh5uu8n1gr61exq3kvtub\"},{\"name\":\"URL=\",\"description\":\"specifies a URL for the file-specification.\",\"help\":\"URL= '*Uniform-Resource-Locator*' | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"Uniform-Resource-Locator\",\"placeholder\":true,\"description\":\"is the URL that you specify. ODS uses this URL instead of the filename in all the links and references that it creates to the file.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1l8j435ct1tbfn1sk46w4ayu13vb\"},{\"name\":\"NONE\",\"description\":\"specifies that no information from the PATH= option appears in the links or references.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1bjd5ir7lm7mon16azuzu83w8crb\"}],\"supportSiteTargetFragment\":\"p0ztf3h9ncbirrn1urf7s222mr6lb\"}],\"supportSiteTargetFragment\":\"n048mavghv28arn1fl8jhtbhor3ab\"},{\"name\":\"PREPAGE=\",\"optional\":true,\"description\":\"Specify a text string that occurs before a table on a page\",\"help\":\"PREPAGE='*text-string*'\",\"type\":\"value\",\"arguments\":[{\"name\":\"text-string\",\"placeholder\":true,\"description\":\"is the text at the top of the table, after the titles. The text is placed before any tables created by the procedure.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0jtt032l3qsran1ai19k2sukw4ib\"}],\"supportSiteTargetFragment\":\"p0i756vfqo6ue4n1kpogy82mcbxub\"},{\"name\":\"RECORD_SEPARATOR=\",\"optional\":true,\"aliases\":[\"RECSEP=\",\"RS=\"],\"description\":\"Specify an alternative character or string to separate lines in the output files\",\"help\":\"RECORD_SEPARATOR= '*alternative-separator*' | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"alternative-separator\",\"placeholder\":true,\"description\":\"represents one or more characters in hexadecimal or ASCII format. For example, the following option specifies a record separator of a carriage-return character and a linefeed character (on an ASCII file system):\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0pd1jf2fq40t5n11ng6f1jpic9qb\"},{\"name\":\"NONE\",\"description\":\"produces RTF output that is appropriate for the environment in which you run the SAS job.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n00k7h0fnq2em0n1otmrtw7zrsmub\"}],\"supportSiteTargetFragment\":\"n0t759l4v0ekr7n15d5s8qn9xk39b\"},{\"name\":\"STARTPAGE=\",\"optional\":true,\"description\":\"Control page breaks\",\"help\":\"STARTPAGE=               BYGROUP | YES | NO | NOW\",\"type\":\"choice\",\"arguments\":[{\"name\":\"BYGROUP\",\"description\":\"specifies to insert page breaks after each BY group.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0zoulcp061bo9n1xxvsmwnnpjbf\"},{\"name\":\"YES\",\"aliases\":[\"ON\"],\"description\":\"inserts a new page at the start of each procedure and within certain procedures, as is requested by the procedure code.\",\"help\":\"YES \",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0bjy8b9cy7id5n1ipl5g4s4k7on\"},{\"name\":\"NO\",\"aliases\":[\"NEVER\"],\"description\":\"instructs ODS not to insert any new pages at the start of each procedure or within certain procedures, even if the procedure code requests new pages. A new page begins only when a page is filled or when you specify STARTPAGE= NOW.\",\"help\":\"NO \",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0mls9w04wewl7n10nammaxjz5t5\"},{\"name\":\"NOW\",\"description\":\"forces the immediate insertion of a new page.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0xkmedzl91n09n0zgvnhcdknl6m\"}],\"supportSiteTargetFragment\":\"p1f17hg4ju9t0vn12vqkuoruxznq\"},{\"name\":\"STYLE=\",\"optional\":true,\"description\":\"Specify a style template to use in writing the RTF files\",\"help\":\"STYLE= *style-template*\",\"type\":\"value\",\"arguments\":[{\"name\":\"style-template\",\"placeholder\":true,\"description\":\"describes how to display the presentation aspects (color, font face, font size, and so on) of your SAS output. A style template determines the overall appearance of the documents that use that style template. Each style template consists of style elements.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0wigjuiul4jisn1vs067rja2kj0a\"}],\"supportSiteTargetFragment\":\"n0bwfb4tky0zpyn1c8oopqn1c2oga\"},{\"name\":\"TABLEROWS=\",\"optional\":true,\"description\":\"Specify the number of rows that are rendered in a table\",\"help\":\"TABLEROWS= *n*\",\"type\":\"value\",\"arguments\":[{\"name\":\"n\",\"placeholder\":true,\"aliases\":[\"0\",\"NONE\"],\"description\":\"is a positive integer.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0omnoawwig1w7n14hmz8w9m9697a\"}],\"supportSiteTargetFragment\":\"n19m9lr2nqull7n1bh1te7gdyss5a\"},{\"name\":\"TEXT=\",\"optional\":true,\"description\":\"Insert text into your RTF output\",\"help\":\"TEXT= '*text-string*'\",\"type\":\"value\",\"arguments\":[{\"name\":\"text-string\",\"placeholder\":true,\"description\":\"is the text that you want to insert into your RTF output. You can also use TEXT= to annotate other output.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p033mfhohnqy33n1j2mar69p5hggb\"}],\"supportSiteTargetFragment\":\"p1qzg49bdxfttpn1h27icgu1o9n6b\"},{\"name\":\"TRANTAB=\",\"optional\":true,\"description\":\"Specify a translation table to use when you transcode a file for output\",\"help\":\"TRANTAB= *translation-table*\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"p0jiyqz8vqnlx2n11kltbikrfaa3b\"},{\"name\":\"UNIFORM\",\"optional\":true,\"description\":\"Specify that every page of a table is formatted the same\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0vp1bxopmhs47n1wbdi7p6tm2w9a\"},{\"name\":\"CLOSE\",\"optional\":true,\"description\":\"Close the destination and the file that is associated with it.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0314ri2ftw2xbn19qok9x5dcpxti\"},{\"name\":\"EXCLUDE\",\"optional\":true,\"description\":\"Exclude output objects from the destination\",\"help\":\"EXCLUDE *exclusion(s)* |  ALL |  NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"exclusion\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"ALL\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"p1dgxo1rmespghn1wosymk75o74kj\"},{\"name\":\"SELECT\",\"optional\":true,\"description\":\"Select output objects for the destination.\",\"help\":\"SELECT *selection(s)* |  ALL |  NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"selection\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"ALL\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"p1ivy4th5ppdkfn1aybs638tc3syj\"},{\"name\":\"SHOW\",\"optional\":true,\"description\":\"Write to the SAS Log the current selection or exclusion list for the destination\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0edxfd8jflk5xn1l1znzdzsupnaj\"}],\"supportSiteInformation\":{\"docsetId\":\"odsug\",\"docsetVersion\":\"v_004\",\"docsetTargetFile\":\"p19rpsb989jyadn1kgunyh4t8g0e.htm\"}},{\"name\":\"ODS TEXT=\",\"description\":\"Inserts text into your ODS output.\",\"help\":\"ODS TEXT=  '*text-string*' \",\"arguments\":[{\"name\":\"text-string\",\"placeholder\":true,\"description\":\"specifies the text to insert into your output. This text is sent to all open output destinations.\",\"help\":\"*text-string* \",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0tlup1npsr7xrn1v1ftcfkep08m\"}],\"supportSiteInformation\":{\"docsetId\":\"odsproc\",\"docsetVersion\":\"v_004\",\"docsetTargetFile\":\"p14gx25pepks6dn1q9m7vkq3gfoi.htm\"}},{\"name\":\"ODS TRACE\",\"description\":\"Writes to the SAS log a record of each output object that is created, or suppresses the writing of this record.\",\"help\":\"ODS TRACE  ON</options> ;\\nODS TRACE  OFF; \",\"arguments\":[{\"name\":\"OFF\",\"aliases\":[\"NO\"],\"description\":\"turns off the writing of the trace record.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1d22ww4cvjfojn1u87lc5vrrwok\"},{\"name\":\"ON\",\"aliases\":[\"OUTPUT\",\"YES\"],\"description\":\"turns on the writing of the trace record.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0vih8fiis37btn1pzbjjehh70xl\"},{\"name\":\"DOM\",\"optional\":true,\"description\":\"Specify that the ODS document object model is written to the SAS log or to an external file.\",\"help\":\"DOM&lt;=\\\"*external-file*\\\"&gt;\",\"type\":\"standaloneOrValue\",\"arguments\":[{\"name\":\"external-file\",\"placeholder\":true,\"description\":\"is the name of an external output file.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0uf7axk2mwg7rn145j95c8wf3g2\"}],\"supportSiteTargetFragment\":\"n1ch3whhdaglepn18cff7lxqjiqd\"},{\"name\":\"EXCLUDED\",\"optional\":true,\"description\":\"includes, in the trace record, information for excluded output objects.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1wycf4oklm4uhn1s7qztb52lyvv\"},{\"name\":\"LABEL\",\"optional\":true,\"description\":\"includes the label path for the output object in the record. You can use a label path anywhere that you can use a path.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1o328eowinrlhn1l566q2deaftx\"}],\"supportSiteInformation\":{\"docsetId\":\"odsproc\",\"docsetVersion\":\"v_004\",\"docsetTargetFile\":\"p1fpt3uuow90o3n155hs7bp1mo7f.htm\"}},{\"name\":\"ODS Tagset\",\"description\":\"Opens, manages, or closes the specified tagset destination.\",\"help\":\"ODS directory.tagset-namefile-specification<options> ;\\nODS directory.tagset-namefile-specificationaction;\",\"arguments\":[{\"name\":\"directory\",\"placeholder\":true,\"description\":\"specifies the directory where the specified tagset is stored. directory can be a directory supplied by SAS, a user-defined entry, or a libref. By default, the tagsets that SAS supplies are located in the directory TAGSETS, which is within the item store Sashelp.Tmplmst.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1qo99x9r3fvden1sx2fu4v3ek85\"},{\"name\":\"CORE\",\"description\":\"contains a table of Unicode values and mnemonics. For a detailed description of using this tagset, see .\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1pavqf4kkprown1shaek2ep26vb\"},{\"name\":\"CSV\",\"description\":\"produces tabular output that contains columns of data values that are separated by commas.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1ehka5739hiden10w7pstxx3gzu\"},{\"name\":\"CSVALL\",\"description\":\"produces output containing columns of data values that are separated by commas, and produces tabular output with titles, notes, and BY lines.\",\"help\":\"CSVALL \",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1uca1zstt4560n19ehwcwqfpqzo\"},{\"name\":\"CSVBYLINE\",\"description\":\"produces output with comma-separated values and columns of data that are separated by commas.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1cffeq1fmf1o1n1phqyfw6fu9y6\"},{\"name\":\"DEFAULT\",\"description\":\"produces XML output.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0twr4epv6uz68n1kbo8ki6ts8xo\"},{\"name\":\"ExcelXP\",\"description\":\"produces Microsoft spreadsheetML XML. This tagset is used to import data into Excel. Execute the following code to get detailed information about this tagset:\",\"help\":\"ExcelXP \",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1h130hfcpq9pvn1awv147fby30j\"},{\"name\":\"EVENT_MAP\",\"description\":\"creates XML output that shows which events are being triggered and which variables are used by an event to send output from a SAS process to an output file. When you run a SAS process with EVENT_MAP, ODS writes XML to an output file that shows all event names and variable names as tags. The output helps you create your own tagsets.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1r7nrw9w7tuf7n19cfe4m97lgqe\"},{\"name\":\"HTMLPANEL\",\"description\":\"creates panels for BY grouped graphs. It also has controls for semi-automatic and manually controlled paneling. This tagset makes it easy to put graphs and tables side-by-side on a page. Also included are controls for titles, footnotes, and BY lines.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1e0u3bsz8wr68n15vw5kulggvyy\"},{\"name\":\"NAMEDHTML\",\"description\":\"creates HTML output similar to STYLE_POPUP , but with all the objects labeled as they are when using ODS TRACE.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n11tl2pygbpje2n1l1pwqmbm793k\"},{\"name\":\"RTF\",\"description\":\"produces measured RTF. This tagset allows the user to specify how and where page breaks occur and when to place titles and footnotes into the body of a page. The RTF tagset enables SAS to place titles and footnotes into the body of the document so that it is outside of the control of Microsoft Word. Therefore, SAS becomes responsible for the implicit page breaks.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p02y8p4731615jn1pkm8rrjrm7wb\"},{\"name\":\"SHORT_MAP\",\"description\":\"creates a subset of the XML output that is created by the EVENT_MAP tagset.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1d838qer5n4r9n13kveflf54h8b\"},{\"name\":\"STYLE_DISPLAY\",\"description\":\"creates a sample page of HTML output that is similar to STYLE_POPUP output. The output helps you create and modify styles.\",\"help\":\"STYLE_DISPLAY \",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0imxvdayu2id9n1h9rutocmtn5v\"},{\"name\":\"STYLE_POPUP\",\"description\":\"displays the resolved ODS style template for any item that you select. This information is displayed in a window if you are using Internet Explorer.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0j5cvfeem41ejn1mdl2tp2isylk\"},{\"name\":\"TEXT_MAP\",\"description\":\"creates text output that shows which events are being triggered as ODS handles the output objects.\",\"help\":\"TEXT_MAP \",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0ez68dggmfc31n11a0nffyirgev\"},{\"name\":\"user-defined-tagset\",\"placeholder\":true,\"description\":\"specifies the tagset that you created using PROC TEMPLATE.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1rci5dn2sctqtn1eg08p1mt680d\"},{\"name\":\"ANCHOR=\",\"optional\":true,\"description\":\"Specify a unique base name for the anchor tag that identifies each output object in the current body file\",\"help\":\"ANCHOR= '*anchor-name*'\",\"type\":\"value\",\"arguments\":[{\"name\":\"anchor-name\",\"placeholder\":true,\"description\":\"is the base name for the anchor tag that identifies each output object in the current body file.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p01w95byx4kr7fn1ikf6cdm0c9ouc\"}],\"supportSiteTargetFragment\":\"p0n4k1d2dkcni7n15ucd6m16xrtac\"},{\"name\":\"ATTRIBUTES=\",\"optional\":true,\"description\":\"Specify attributes to write between the tags that generate dynamic graphics output\",\"help\":\"ATTRIBUTES= (*attribute-pair-1 ... attribute-pair-n*) \",\"type\":\"value\",\"arguments\":[{\"name\":\"attribute-name\",\"placeholder\":true,\"description\":\"is the name of the attribute.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1fxf3dw1px89bn1km1prdewhgd4b\"},{\"name\":\"attribute-value\",\"placeholder\":true,\"description\":\"is the value of the attribute.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1n01ikl4zwvhkn1u28dpizodnc2b\"}],\"supportSiteTargetFragment\":\"p11j1qa572jb44n1u3loljeomuzfb\"},{\"name\":\"BASE=\",\"optional\":true,\"description\":\"Specify text to use as the first part of all links and references that ODS creates in output files\",\"help\":\"BASE= '*base-text*'\",\"type\":\"value\",\"arguments\":[{\"name\":\"base-text\",\"placeholder\":true,\"description\":\"is the text that ODS uses as the first part of all links and references that ODS creates in the file. Consider this specification:\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0sgdc1f04nauln10831w8p4gvpyc\"}],\"supportSiteTargetFragment\":\"n07gac705m9r4ln1nl4x9v20uhi0c\"},{\"name\":\"BODY=\",\"optional\":true,\"aliases\":[\"FILE=\"],\"description\":\"Open a markup family destination and specify the file that contains the primary output that is created by the ODS statement\",\"help\":\"BODY= '*file-specification*' (*suboptions*)\",\"type\":\"value\",\"arguments\":[{\"name\":\"external-file\",\"placeholder\":true,\"description\":\"is the name of an external output file.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n16d6tku1wtmann12csfhp1csdphc\"},{\"name\":\"fileref\",\"placeholder\":true,\"description\":\"is a file reference that has been assigned to an external file. Use the FILENAME statement to assign a fileref.\",\"help\":\"*fileref* \",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1if2ivpr9jpyyn16pjqs7n7sktgc\"},{\"name\":\"entry.markup\",\"placeholder\":true,\"description\":\"specifies an entry in a SAS catalog to write to.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0p2mzfmjdqfmyn16yngspiyamksc\"},{\"name\":\"(DYNAMIC)\",\"description\":\"Send output directly to a web server instead of writing it to a file\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0tx9i7zpg5y91n1efxlw455aavsc\"},{\"name\":\"(NO_BOTTOM_MATTER)\",\"description\":\"Specify that no ending markup language source code be added to the output file\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0b1a0wwsymzo3n1j9y1aduqf6jtc\"},{\"name\":\"(NO_TOP_MATTER)\",\"description\":\"Specify that no beginning markup language source code be added to the top of the output file. For HTML 4.0, the NO_TOP_MATTER option removes the style sheet.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p07sp4iufwigsgn1n7k8whe9ir29c\"},{\"name\":\"(TITLE='')\",\"description\":\"Insert into the metadata of a file, the text string that you specify as the text to appear in the browser window title bar\",\"help\":\"(TITLE='*title-text*')\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0mtng5xbjpucvn1ej0yx2ln2fnfc\"},{\"name\":\"(URL= '' )\",\"description\":\"Specify a URL for the file-specification. ODS uses this URL (instead of the filename) in all the links and references that it creates and that point to the file.\",\"help\":\"(URL= '*Uniform-Resource-Locator*' )\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0uiijresiw33nn1ikgd5epxolbmc\"}],\"supportSiteTargetFragment\":\"p1c6fjcso5p9tmn1ls9ihbbg20n4c\"},{\"name\":\"CHARSET=\",\"optional\":true,\"description\":\"Specify the character set to be generated in the META declaration for the HTML output\",\"help\":\"CHARSET= *character-set*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0luttgd044rcen1sc1yp7xzkxqqc\"},{\"name\":\"CODE=\",\"optional\":true,\"description\":\"Open the HTML destination and specify the file that contains relevant style information\",\"help\":\"CODE= '*file-specification*' &lt;(*suboptions*)&gt;\",\"type\":\"value\",\"arguments\":[{\"name\":\"external-file\",\"placeholder\":true,\"description\":\"is the name of an external output file.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0cm0dg2mpnkayn1vyurari5fbqzc\"},{\"name\":\"fileref\",\"placeholder\":true,\"description\":\"is a file reference that has been assigned to an external file. Use the FILENAME statement to assign a fileref.\",\"help\":\"*fileref* \",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1p19xelzqo0sun1h69iqiz6g1kmc\"},{\"name\":\"entry.markup\",\"placeholder\":true,\"description\":\"specifies an entry in a SAS catalog to write to.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0btln4kok5qs2n1dpxz4fw219g5c\"},{\"name\":\"(DYNAMIC)\",\"description\":\"Send output directly to a web server instead of writing it to a file\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p07khl78ncm5g9n1b2n65b3q8l2zc\"},{\"name\":\"(URL= '' )\",\"description\":\"Specify a URL for the file-specification. ODS uses this URL (instead of the filename) in all the links and references that it creates and that point to the file.\",\"help\":\"(URL= '*Uniform-Resource-Locator*' )\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0tute23aeejksn15jydxgmgsbbyc\"}],\"supportSiteTargetFragment\":\"p042faxw7ovjosn1tnim626rb9ctc\"},{\"name\":\"CONTENTS=\",\"optional\":true,\"description\":\"Open the HTML destination and specify the file that contains a table of contents for the output\",\"help\":\"CONTENTS= '*file-specification*' &lt;(*suboptions*)&gt;\",\"type\":\"value\",\"arguments\":[{\"name\":\"external-file\",\"placeholder\":true,\"description\":\"is the name of an external output file.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0k6rt6gtiqji0n13bowqw3q013ib\"},{\"name\":\"fileref\",\"placeholder\":true,\"description\":\"is a file reference that has been assigned to an external file. Use the FILENAME statement to assign a fileref.\",\"help\":\"*fileref* \",\"type\":\"value\",\"supportSiteTargetFragment\":\"n09d0dfx40tymqn1f4h7gh7ilz3wb\"},{\"name\":\"entry.markup\",\"placeholder\":true,\"description\":\"specifies an entry in a SAS catalog to write to.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1mu3t9uw7czdun15d2mxyg5a5oxb\"},{\"name\":\"(DYNAMIC)\",\"description\":\"Send output directly to a web server instead of writing it to a file\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1n7kjoppaadqkn1nkx3gy66da2rb\"},{\"name\":\"(NO_BOTTOM_MATTER)\",\"description\":\"Specify that no ending markup language source code be added to the output file\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0k4hmc82xjavkn1cncevtndfwweb\"},{\"name\":\"(NO_TOP_MATTER)\",\"description\":\"Specify that no beginning markup language source code be added to the top of the output file.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1bwed0r5gvzjxn1w23x4a0mjyk3b\"},{\"name\":\"(TITLE='')\",\"description\":\"Insert into the metadata of a file, the text string that you specify as the text to appear in the browser window title bar.\",\"help\":\"(TITLE='*title-text*')\",\"type\":\"value\",\"arguments\":[{\"name\":\"title-text\",\"placeholder\":true,\"description\":\"is the text in the metadata of a file that indicates the title.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0dg901fhp21d1n10fwvez2643syb\"}],\"supportSiteTargetFragment\":\"n06hxs8ry8fqoun18im5gw4kltqwb\"},{\"name\":\"(URL= '' )\",\"description\":\"Specify a URL for the file-specification. ODS uses this URL (instead of the filename) in all the links and references that it creates and that point to the file.\",\"help\":\"(URL= '*Uniform-Resource-Locator*' )\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0ctlmmg4c9c0fn1o3497cnh7yx4b\"}],\"supportSiteTargetFragment\":\"p0yupsbsxb2e22n1junfuiynx131b\"},{\"name\":\"CSSSTYLE=\",\"optional\":true,\"description\":\"Specify a cascading style sheet to apply to your output\",\"help\":\"CSSSTYLE= '*file-specification*'&lt;(*media-type-1*&lt;…*media-type-10*&gt;)&gt;\",\"type\":\"value\",\"arguments\":[{\"name\":\"\\\"external-file\\\"\",\"placeholder\":true,\"description\":\"is the name of the external file.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1acjjnitg34uen0z96mk7z3bjezd\"},{\"name\":\"fileref\",\"placeholder\":true,\"description\":\"is a file reference that has been assigned to an external file. Use the FILENAME statement to assign a fileref.\",\"help\":\"*fileref* \",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1pacblr1igm6gn11sapppstue24d\"},{\"name\":\"\\\"URL\\\"\",\"placeholder\":true,\"description\":\"is a URL to an external file.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0i936ubl0icb1n14bzf4xuba1jfd\"},{\"name\":\"(media-type-1<.. media-type-10>)\",\"placeholder\":true,\"description\":\"specifies one or more media blocks that correspond to the type of media that your output is rendered on. CSS uses media type blocks to specify how a document is to be presented on different media: on the screen, on paper, with a speech synthesizer, with a braille device, and so on.\",\"help\":\"(*media-type-1&lt;.. media-type-10&gt;*)\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1ktodbg3cbcg3n1pcs3royigva0d\"}],\"supportSiteTargetFragment\":\"p1lipsp1ynf14mn1rgolhceti4vgd\"},{\"name\":\"DOM\",\"optional\":true,\"description\":\"Specify that the ODS document object model is written to the SAS Log or to an external file\",\"help\":\"DOM&lt;=\\\"*external-file*\\\"&gt;\",\"type\":\"standaloneOrValue\",\"arguments\":[{\"name\":\"external-file\",\"placeholder\":true,\"description\":\"is the name of an external output file.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0vzar5h7f8gtcn1x5ihohfiun0fi\"}],\"supportSiteTargetFragment\":\"n1c57d2048ucksn1o3iq5uj0pim2i\"},{\"name\":\"ENCODING=\",\"optional\":true,\"description\":\"Override the encoding for input or output processing (transcodes) of external files\",\"help\":\"ENCODING= *local-character-set-encoding*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1iri7jiorpy5an19yud8nmfkdaef\"},{\"name\":\"EVENT=\",\"optional\":true,\"description\":\"Specify an event and the value for event variables that is associated with the event\",\"help\":\"EVENT= (FILE=*event-name* | FINISH | LABEL= | NAME= | START | STYLE= | TARGET= | TEXT= | URL= )\",\"type\":\"choice\",\"arguments\":[{\"name\":\"(FILE=)\",\"description\":\"triggers one of the known types of output files that correspond to the BODY=, CODE=, CONTENTS=, FRAME=, PAGES=, and STYLESHEET= options.\",\"help\":\"(FILE= BODY | CODE | CONTENTS | DATA | FRAME | PAGES | STYLESHEET)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"BODY\",\"type\":\"standalone\"},{\"name\":\"CODE\",\"type\":\"standalone\"},{\"name\":\"CONTENTS\",\"type\":\"standalone\"},{\"name\":\"DATA\",\"type\":\"standalone\"},{\"name\":\"FRAME\",\"type\":\"standalone\"},{\"name\":\"PAGES\",\"type\":\"standalone\"},{\"name\":\"STYLESHEET\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"n0sto57qqqtz92n1pz4aoktvscdfd\"},{\"name\":\"(FINISH)\",\"description\":\"triggers the finish section of an event.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1puz3bafkovoan1dq2xehjwbyvnd\"},{\"name\":\"(LABEL='')\",\"description\":\"specifies the value for the LABEL event variable.\",\"help\":\"(LABEL='*variable-value*')\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0pxgjdbrqfm68n1plbl16q1l93vd\"},{\"name\":\"(NAME='')\",\"description\":\"specifies the value for the NAME event variable.\",\"help\":\"(NAME='*variable-value*')\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p05a4behw90sktn17hb8v511p1k6d\"},{\"name\":\"(START)\",\"description\":\"triggers the start section of an event.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0z505zsq5aekqn1g847yi2axtm9d\"},{\"name\":\"(STYLE=)\",\"description\":\"specifies a style element.\",\"help\":\"(STYLE=*style-element*)\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p05bcihqe87mw7n1vffjxj24p6umd\"},{\"name\":\"(TARGET='')\",\"description\":\"specifies the value for the TARGET event variable.\",\"help\":\"(TARGET='*variable-value*')\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1unxvgxq8zvubn19wyk19ouvcncd\"},{\"name\":\"(TEXT='')\",\"description\":\"specifies the value for the TEXT event variable.\",\"help\":\"(TEXT='*variable-value*')\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n11ir18xfxvca6n1rxyuhrb8pt4xd\"},{\"name\":\"(URL='')\",\"description\":\"specifies the value for the URL event variable.\",\"help\":\"(URL='*variable-value*')\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1dn1u2sgov29cn1bj05hcahnk10d\"}],\"supportSiteTargetFragment\":\"p0xwg5a2ovaxf5n17uac0z2ivnjnd\"},{\"name\":\"FRAME=\",\"optional\":true,\"description\":\"Specify the file that integrates the table of contents, the page contents, and the body file\",\"help\":\"FRAME= '*file-specification*' &lt;(*suboptions*)&gt;\",\"type\":\"value\",\"arguments\":[{\"name\":\"external-file\",\"placeholder\":true,\"description\":\"is the name of an external output file.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0ci2ninxo9zw6n1et8mfhiorp0fc\"},{\"name\":\"fileref\",\"placeholder\":true,\"description\":\"is a file reference that has been assigned to an external file. Use the FILENAME statement to assign a fileref.\",\"help\":\"*fileref* \",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0ifkzl3gajbsan1iv1dpr5zom8ac\"},{\"name\":\"entry.markup\",\"placeholder\":true,\"description\":\"specifies an entry in a SAS catalog to write to.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0bfbkwe6k00jmn1vwrgo49po3nuc\"},{\"name\":\"(DYNAMIC)\",\"description\":\"Send output directly to a web server instead of writing it to a file\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p09telsw1e17phn142yl7le0nicpc\"},{\"name\":\"(NO_BOTTOM_MATTER)\",\"description\":\"Specify that no ending markup language source code be added to the output file\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1uzccl28l5mrwn18dqj92sfxbl7c\"},{\"name\":\"(NO_TOP_MATTER)\",\"description\":\"Specify that no beginning markup language source code be added to the top of the output file.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0tpg2ge7ux0uzn196clp7a4kqibc\"},{\"name\":\"(TITLE='')\",\"description\":\"Insert into the metadata of a file, the text string that you specify as the text to appear in the browser window title bar\",\"help\":\"(TITLE='*title-text*')\",\"type\":\"value\",\"arguments\":[{\"name\":\"title-text\",\"placeholder\":true,\"description\":\"is the text in the metadata of a file that indicates the title.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0i7yq2gadvs1hn1d8qnz114bketc\"}],\"supportSiteTargetFragment\":\"p0q6q297uolf7rn12ub8f89mi2b0c\"},{\"name\":\"(URL= '' )\",\"description\":\"Specify a URL for the file-specification. ODS uses this URL (instead of the filename) in all the links and references that it creates and that point to the file.\",\"help\":\"(URL= '*Uniform-Resource-Locator*' )\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0zsurzpwsmxnun1vjgqv1m5kbjwc\"}],\"supportSiteTargetFragment\":\"n1wurfrvb6tsbnn1cmjlormpf268c\"},{\"name\":\"GFOOTNOTE\",\"optional\":true,\"description\":\"Control the location where footnotes are printed in the graphics output\",\"type\":\"standalone\",\"arguments\":[{\"name\":\"GFOOTNOTE\",\"description\":\"writes footnotes that are created by SAS/GRAPH, the SGPLOT procedure, the SGPANEL procedure, the SGPIE procedure, the SGMAP procedure, or the SGSCATTER procedure. The footnotes appear inside the graph borders.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1fn47ytfzt7i9n1kil12jvo7xyvc\"},{\"name\":\"NOGFOOTNOTE\",\"description\":\"writes footnotes that are created by ODS, which appear outside the graph borders.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1225ecfdy73nen1o0ps6wiiqbs7c\"}],\"supportSiteTargetFragment\":\"p0mat9atuedzjrn1opyxjp4744d7c\"},{\"name\":\"NOGFOOTNOTE\",\"optional\":true,\"description\":\"Control the location where footnotes are printed in the graphics output\",\"type\":\"standalone\",\"arguments\":[{\"name\":\"GFOOTNOTE\",\"description\":\"writes footnotes that are created by SAS/GRAPH, the SGPLOT procedure, the SGPANEL procedure, the SGPIE procedure, the SGMAP procedure, or the SGSCATTER procedure. The footnotes appear inside the graph borders.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1fn47ytfzt7i9n1kil12jvo7xyvc\"},{\"name\":\"NOGFOOTNOTE\",\"description\":\"writes footnotes that are created by ODS, which appear outside the graph borders.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1225ecfdy73nen1o0ps6wiiqbs7c\"}],\"supportSiteTargetFragment\":\"p0mat9atuedzjrn1opyxjp4744d7c\"},{\"name\":\"GPATH=\",\"optional\":true,\"description\":\"Specify the location for all graphics output that is generated while the destination is open\",\"help\":\"GPATH=*'aggregate-file-storage-specification'* | *fileref* |  (URL=*libref.catalog* '*Uniform-Resource-Locator*' | NONE)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"'aggregate-file-storage-location'\",\"placeholder\":true,\"description\":\"specifies an aggregate storage location such as directory, folder, or partitioned data set.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1ll2hoqs077ain1jsvghn3bnlqbc\"},{\"name\":\"fileref\",\"placeholder\":true,\"description\":\"is a file reference that has been assigned to an aggregate storage location. Use the FILENAME statement to assign a fileref.\",\"help\":\"*fileref* \",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1aigrrido468bn17vt3qzjyhsudc\"},{\"name\":\"libref.catalog\",\"placeholder\":true,\"description\":\"specifies a SAS catalog to write to.\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"n0691xw6mzpmidn1nhrzg6b9rsptc\"},{\"name\":\"URL=\",\"description\":\"specifies a URL for file-specification.\",\"help\":\"URL= '*Uniform-Resource-Locator*' | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"Uniform-Resource-Locator\",\"placeholder\":true,\"description\":\"is the URL that you specify. ODS uses this URL instead of the filename in all the links and references that it creates to the file.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0m3r77m8qtmudn1ebfh80y7e539c\"},{\"name\":\"NONE\",\"description\":\"specifies that no information from the GPATH= option appears in the links or references.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0d9tn4wwrtsjfn0zo0dbs97y59cc\"}],\"supportSiteTargetFragment\":\"p11rnpzbbhz9x8n13psx582rkf3kc\"}],\"supportSiteTargetFragment\":\"n17pvogtiwilj4n131m27u67cbagc\"},{\"name\":\"GTITLE\",\"optional\":true,\"description\":\"Control the location where titles are printed in the graphics output\",\"type\":\"standalone\",\"arguments\":[{\"name\":\"GTITLE\",\"description\":\"writes the title that is created by SAS/GRAPH, the SGPLOT procedure, the SGPANEL procedure, or the SGSCATTER procedure. The title appears inside the graph borders.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1n2tyk8aqrdkhn1k5lkaxte711vc\"},{\"name\":\"NOGTITLE\",\"description\":\"writes the title that is created by ODS, which appears outside of the graph borders.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0pg11ouf7em9an1ppy8w3mcpt1cc\"}],\"supportSiteTargetFragment\":\"p05noo3bc7xbxdn1va38xkarw9o3c\"},{\"name\":\"NOGTITLE\",\"optional\":true,\"description\":\"Control the location where titles are printed in the graphics output\",\"type\":\"standalone\",\"arguments\":[{\"name\":\"GTITLE\",\"description\":\"writes the title that is created by SAS/GRAPH, the SGPLOT procedure, the SGPANEL procedure, or the SGSCATTER procedure. The title appears inside the graph borders.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1n2tyk8aqrdkhn1k5lkaxte711vc\"},{\"name\":\"NOGTITLE\",\"description\":\"writes the title that is created by ODS, which appears outside of the graph borders.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0pg11ouf7em9an1ppy8w3mcpt1cc\"}],\"supportSiteTargetFragment\":\"p05noo3bc7xbxdn1va38xkarw9o3c\"},{\"name\":\"HEADTEXT=\",\"optional\":true,\"description\":\"Specify HTML tags to place between the < HEAD> and < /HEAD> tags in all of the output files.\",\"help\":\"HEADTEXT= '*markup-document-head*'\",\"type\":\"value\",\"arguments\":[{\"name\":\"markup-document-head\",\"placeholder\":true,\"description\":\"specifies the markup tags to place between the < HEAD> and < /HEAD> tags.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1tn2rj3atifd4n1m9n1ig3zmd23c\"}],\"supportSiteTargetFragment\":\"p0unihljo8oibqn1htfr8p9a084ac\"},{\"name\":\"(ID= )\",\"optional\":true,\"description\":\"Open multiple instances of the same destination at the same time\",\"help\":\"(ID= *identifier*)  \",\"type\":\"value\",\"arguments\":[{\"name\":\"identifier\",\"placeholder\":true,\"description\":\"specifies another instance of the destination that is already open. identifier is numeric or a series of characters that begin with a letter or an underscore. Subsequent characters can include letters, underscores, and numeric characters.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1ik5dutu6em7un12sygbpoibz2bg\"}],\"supportSiteTargetFragment\":\"n08a4r2r3ld7q5n1gegnp2cj0tbag\"},{\"name\":\"METATEXT=\",\"optional\":true,\"description\":\"Specify HTML code to use as the <META> tag between the <HEAD> and </HEAD> tags in all of the HTML output files.\",\"help\":\"METATEXT= '*metatext-for-document-head*'\",\"type\":\"value\",\"arguments\":[{\"name\":\"'metatext-for-document-head'\",\"placeholder\":true,\"description\":\"specifies the HTML code that provides the browser with information about the document that it is loading. For example, this attribute could specify the content type and the character set to use.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0bhulu3edb2u3n1edllr0mq156rc\"}],\"supportSiteTargetFragment\":\"n17lem66u6duxun1agi0x0spp2sjc\"},{\"name\":\"NEWFILE=\",\"optional\":true,\"description\":\"Create a new body file at the specified starting point\",\"help\":\"NEWFILE= *starting-point*\",\"type\":\"value\",\"arguments\":[{\"name\":\"BYGROUP\",\"description\":\"starts a new file for the results of each BY group.\",\"help\":\"BYGROUP \",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0cb532mycvnxhn1bl0y0h3ixid3e\"},{\"name\":\"NONE\",\"description\":\"writes all output to the body file that is currently open.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n19l1gwxdiqp2on1fehxjiqfuntle\"},{\"name\":\"OUTPUT\",\"aliases\":[\"TABLE\"],\"description\":\"starts a new body file for each output object. For SAS/GRAPH this means that ODS creates a new file for each SAS/GRAPH output file that the program generates.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0r7sk230x8uugn1t6t50ntwqt53e\"},{\"name\":\"PAGE\",\"description\":\"starts a new body file for each page of output. A page break occurs when a procedure explicitly starts a new page (not because the page size was exceeded) or when you start a new procedure.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0qy7xn25nkozsn1sswffg5sglu8e\"},{\"name\":\"PROC\",\"description\":\"starts a new body file each time you start a new procedure.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p03d2ii73d349cn1q08mh8fv7j37e\"}],\"supportSiteTargetFragment\":\"n0cwql5zij14uen1qlnfwso4vppze\"},{\"name\":\"OPTIONS\",\"optional\":true,\"description\":\"Specify ODS tagset-specific suboptions and a named value.\",\"help\":\"OPTIONS ( DOC=         ) | *sub-options*\",\"type\":\"choice\",\"arguments\":[{\"name\":\"(DOC='''''')\",\"description\":\"provides information about the specified tagset.\",\"help\":\"(DOC='QUICK | ''HELP | ''SETTINGS')\",\"type\":\"choice\",\"arguments\":[{\"name\":\"QUICK\",\"description\":\"describes the options available for this tagset.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0zfu1t8zf05g3n1rnvzw2rp9ohc\"},{\"name\":\"HELP\",\"description\":\"provides generic help and information with a quick reference.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0j4jgbo584j0tn1vjliclhupiiw\"},{\"name\":\"SETTINGS\",\"description\":\"provides the current option settings.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1f2l9orr5772gn12sa7meb1x8ci\"}],\"supportSiteTargetFragment\":\"n10n44e5lytktsn1wj1jaxafhgxx\"},{\"name\":\"sub-options\",\"placeholder\":true,\"description\":\"specifies one or more suboptions that are valid for the specified tagset. To list suboptions that are valid for a tagset, specify DOC=\\\"HELP\\\" or DOC=\\\"QUICK\\\" with the OPTIONS option.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1lj6pznvb3v3an1v74rg4zpf06c\"}],\"supportSiteTargetFragment\":\"n11glc6pberu17n1aimn4el67o3i\"},{\"name\":\"PAGE=\",\"optional\":true,\"description\":\"Open the HTML destination and specify the file that contains a description of each page of the body file and contains links to the body file\",\"help\":\"PAGE= '*file-specification*' &lt;(*suboptions*)&gt;\",\"type\":\"value\",\"arguments\":[{\"name\":\"external-file\",\"placeholder\":true,\"description\":\"is the name of an external output file.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0ymllfpb4xg9gn1d5ezao6pybkjc\"},{\"name\":\"fileref\",\"placeholder\":true,\"description\":\"is a file reference that has been assigned to an external file. Use the FILENAME statement to assign a fileref.\",\"help\":\"*fileref* \",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1ksuepg32zjgin1udonmxkqjs8ac\"},{\"name\":\"entry.markup\",\"placeholder\":true,\"description\":\"specifies an entry in a SAS catalog to write to.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1lc702327tzwjn1cv45r49f918ic\"},{\"name\":\"(DYNAMIC)\",\"description\":\"Send output directly to a web server instead of writing it to a file\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0u2ztkfnlce26n1c83xr9hlngmzc\"},{\"name\":\"(NO_BOTTOM_MATTER)\",\"description\":\"Specify that no ending markup language source code be added to the output file.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0m9gg2j98v97bn1o8ac6wmwpldsc\"},{\"name\":\"(NO_TOP_MATTER)\",\"description\":\"Specify that no beginning markup language source code be added to the top of the output file. For HTML 4.0, the NO_TOP_MATTER option removes the style sheet.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1iyk5sqiqujiqn18de7z49iemijc\"},{\"name\":\"(TITLE='')\",\"description\":\"Insert into the metadata of a file, the text string that you specify as the text to appear in the browser window title bar.\",\"help\":\"(TITLE='*title-text*')\",\"type\":\"value\",\"arguments\":[{\"name\":\"title-text\",\"placeholder\":true,\"description\":\"is the text in the metadata of a file that indicates the title.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1plv81u9x749en16o1l65eef75zc\"}],\"supportSiteTargetFragment\":\"p0zqmu17yzxgxxn1f0qzesxreaenc\"},{\"name\":\"(URL= '' )\",\"description\":\"Specify a URL for the file-specification. ODS uses this URL (instead of the filename) in all the links and references that it creates and that point to the file.\",\"help\":\"(URL= '*Uniform-Resource-Locator*' )\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1h4i3o0glwmvrn1sehd631ekasqc\"}],\"supportSiteTargetFragment\":\"n1ig4h0nechxk6n17zpi2uso25amc\"},{\"name\":\"PARAMETERS=\",\"optional\":true,\"description\":\"Write the specified parameters between the tags that generate dynamic graphics output\",\"help\":\"PARAMETERS= (*parameter-pair-1 ... parameter-pair-n*) \",\"type\":\"value\",\"arguments\":[{\"name\":\"parameter-name\",\"placeholder\":true,\"description\":\"is the name of the parameter.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1mvkqvcspg7l4n18zuna4p238m9c\"},{\"name\":\"parameter-value\",\"placeholder\":true,\"description\":\"is the value of the parameter.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1ipulu7997i4tn1jrwkrophlmqfc\"}],\"supportSiteTargetFragment\":\"p1j8kzgu4z2k64n1sdjt4x3qdmt6c\"},{\"name\":\"PATH=\",\"optional\":true,\"description\":\"Specify the location of an aggregate storage location or a SAS catalog for all markup files\",\"help\":\"PATH=*'aggregate-file-storage-specification'* | *fileref* |  (URL=*libref.catalog* '*Uniform-Resource-Locator*' | NONE)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"'aggregate-file-storage-location'\",\"placeholder\":true,\"description\":\"specifies an aggregate storage location such as directory, folder, or partitioned data set.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p090wtmjnlez69n1ewt5pwble4lpc\"},{\"name\":\"fileref\",\"placeholder\":true,\"description\":\"is a file reference that has been assigned to an aggregate storage location. Use the FILENAME statement to assign a fileref.\",\"help\":\"*fileref* \",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0fv46b6t84yj8n11eorqay9gn6cc\"},{\"name\":\"libref.catalog\",\"placeholder\":true,\"description\":\"specifies a SAS catalog to write to.\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"p1usmj3wgs0ywnn1k11yohqx4tv6c\"},{\"name\":\"URL=\",\"description\":\"specifies a URL for the file-specification.\",\"help\":\"URL= '*Uniform-Resource-Locator*' | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"Uniform-Resource-Locator\",\"placeholder\":true,\"description\":\"is the URL that you specify. ODS uses this URL instead of the filename in all the links and references that it creates to the file.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0dc34mrkp6eqnn1ajfg714dl169c\"},{\"name\":\"NONE\",\"description\":\"specifies that no information from the PATH= option appears in the links or references.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n11dtbohda5n00n1vr4yuxpcfjxuc\"}],\"supportSiteTargetFragment\":\"p099f8kja409zvn1r5psdreeej94c\"}],\"supportSiteTargetFragment\":\"n0b5w6uybhac3wn1mvbaktqgzv27c\"},{\"name\":\"RECORD_SEPARATOR=\",\"optional\":true,\"aliases\":[\"RECSEP=\",\"RS=\"],\"description\":\"Specify an alternative character or string to separate lines in the output files\",\"help\":\"RECORD_SEPARATOR= '*alternative-separator*' | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"alternative-separator\",\"placeholder\":true,\"description\":\"represents one or more characters in hexadecimal or ASCII format. For example, the following option specifies a record separator for a carriage return character and a linefeed character for use with an ASCII file system:\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n08j14wujf360on1jxxows0il1vce\"},{\"name\":\"NONE\",\"description\":\"produces the markup language that is appropriate for the environment where you run the SAS job.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1bp9phjrcxo6gn19mwm6l1fdwj2e\"}],\"supportSiteTargetFragment\":\"p0ndduc2o59aign152u7tf7h1vdie\"},{\"name\":\"STYLE=\",\"optional\":true,\"description\":\"Specify a style template to use in writing output files\",\"help\":\"STYLE= *style-template*\",\"type\":\"value\",\"arguments\":[{\"name\":\"style-template\",\"placeholder\":true,\"description\":\"describes how to display the presentation aspects (color, font face, font size, and so on) of your SAS output. A style template determines the overall appearance of the documents that use it. Each style template consists of style elements.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0psx768d5h7o8n18648rtnty8itb\"}],\"supportSiteTargetFragment\":\"p0o9k5qa5cvgbcn1xtbjq0e11sgfb\"},{\"name\":\"STYLESHEET=\",\"optional\":true,\"description\":\"Open the HTML destination and place style information for output into an external file, or read style sheet information from an existing file\",\"help\":\"STYLESHEET= '*file-specification*' &lt;(*suboptions*)&gt;\",\"type\":\"value\",\"arguments\":[{\"name\":\"external-file\",\"placeholder\":true,\"description\":\"is the name of an external output file.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p16l8jx1lqa17bn1ne13phbrrdzjc\"},{\"name\":\"fileref\",\"placeholder\":true,\"description\":\"is a file reference that has been assigned to an external file. Use the FILENAME statement to assign a fileref.\",\"help\":\"*fileref* \",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0hegpvvp7ncdun18qea0fmy1wpjc\"},{\"name\":\"entry.markup\",\"placeholder\":true,\"description\":\"specifies an entry in a SAS catalog to write to.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1ntt00im67gh4n1do1phrem6vgcc\"},{\"name\":\"(DYNAMIC)\",\"description\":\"Send output directly to a web server instead of writing it to a file\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1t7ap990unar9n1grfjfuigqjusc\"},{\"name\":\"(NO_BOTTOM_MATTER)\",\"description\":\"Specify that no ending markup language source code be added to the output file.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0mi66zsgh0ctvn13yfd11jcmyy8c\"},{\"name\":\"(NO_TOP_MATTER)\",\"description\":\"Specify that no beginning markup language source code be added to the top of the output file. For HTML 4.0, the NO_TOP_MATTER option removes the style sheet.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n05wlskwpn7d09n1ft6loy3jv9aac\"},{\"name\":\"(TITLE='')\",\"description\":\"Insert into the metadata of a file, the text string that you specify as the text to appear in the browser window title bar.\",\"help\":\"(TITLE='*title-text*')\",\"type\":\"value\",\"arguments\":[{\"name\":\"title-text\",\"placeholder\":true,\"description\":\"is the text in the metadata of a file that indicates the title.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1806jchepi6exn1njkhel57trb1c\"}],\"supportSiteTargetFragment\":\"n00il2taticl2vn12z7r2ede3lpbc\"},{\"name\":\"(URL= '' )\",\"description\":\"Specify a URL for the file-specification. ODS uses this URL (instead of the filename) in all the links and references that it creates and that point to the file.\",\"help\":\"(URL= '*Uniform-Resource-Locator*' )\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1drnd5gins5pan1uokrc09bq5w8c\"}],\"supportSiteTargetFragment\":\"p00g43mba8ez3fn1g5l2ilmuz07ic\"},{\"name\":\"TEXT=\",\"optional\":true,\"description\":\"Insert text into your document\",\"help\":\"TEXT=*text-string*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1jbxnitwgm8zbn1dq29n1e7gvkpb\"},{\"name\":\"TRANTAB=\",\"optional\":true,\"description\":\"Specify a translation table to use when transcoding a file for output\",\"help\":\"TRANTAB= '*translation-table*'\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"n1exxchaszw5s5n1pfhiv2qyntnhe\"},{\"name\":\"CLOSE\",\"optional\":true,\"description\":\"Close the destination and the file that is associated with it.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0314ri2ftw2xbn19qok9x5dcpxth\"},{\"name\":\"EXCLUDE\",\"optional\":true,\"description\":\"Exclude output objects from the destination\",\"help\":\"EXCLUDE *exclusion(s)* |  ALL |  NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"exclusion\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"ALL\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"p1dgxo1rmespghn1wosymk75o74ki\"},{\"name\":\"SELECT\",\"optional\":true,\"description\":\"Select output objects for the destination.\",\"help\":\"SELECT *selection(s)* |  ALL |  NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"selection\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"ALL\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"p1ivy4th5ppdkfn1aybs638tc3syi\"},{\"name\":\"SHOW\",\"optional\":true,\"description\":\"Write to the SAS Log the current selection or exclusion list for the destination\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0edxfd8jflk5xn1l1znzdzsupnai\"}],\"supportSiteInformation\":{\"docsetId\":\"odsug\",\"docsetVersion\":\"v_004\",\"docsetTargetFile\":\"n0jrwo0xyh8nlqn19u6uvrgx63gc.htm\"}},{\"name\":\"ODS VERIFY\",\"description\":\"Prints or suppresses a message indicating that a style template or a table template being used is not supplied by SAS.\",\"help\":\"ODS VERIFY &lt;ON | OFF | ERROR | WARN&gt; ;\",\"arguments\":[{\"name\":\"ON\",\"optional\":true,\"aliases\":[\"VERIFY\",\"YES\"],\"description\":\"prints the warning and sends output objects to open destinations.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0ye09srg84mbon180l47rsnesmj\"},{\"name\":\"OFF\",\"optional\":true,\"aliases\":[\"NOVERIFY\",\"NO\"],\"description\":\"suppresses the warning.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n11jhij78dwmz8n1snw4ic48pm0q\"},{\"name\":\"ERROR\",\"optional\":true,\"description\":\"prints an error message instead of a warning message and does not send output objects to open destinations.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0cxguatmtjt7on1xkrsykhudkjk\"},{\"name\":\"WARN\",\"optional\":true,\"description\":\"prints a warning message and does not send output objects to open destinations.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0t3ycrsm9g27fn15lu2mja078mf\"}],\"supportSiteInformation\":{\"docsetId\":\"odsug\",\"docsetVersion\":\"v_004\",\"docsetTargetFile\":\"n134obtgfogjx9n1xc01w1xgedbx.htm\"}},{\"name\":\"ODS WORD\",\"description\":\"Opens, manages, or closes the ODS destination for Word, which generates Microsoft Word output compatible with Microsoft Office 2010 and later versions.\",\"help\":\"ODS WORD <(<ID => identifier)><action> ;\\nODS WORD <(<ID => identifier)><options> ;\",\"arguments\":[{\"name\":\"ANCHOR=\",\"optional\":true,\"description\":\"Specify a unique base name for the anchor tag that identifies each output object in the document\",\"help\":\"ANCHOR='*anchor-name*' \",\"type\":\"value\",\"arguments\":[{\"name\":\"anchor-name\",\"placeholder\":true,\"description\":\"is the base name for the anchor tag that identifies each output object in the current chapter. ODS creates unique anchor names by incrementing the name that you specify. For example, if you specify ANCHOR='TABULATE', then ODS names the first anchor tabulate. The second anchor is named tabulate1; the third is named tabulate2, and so on.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p12v9tqdk52r9wn1ifqegk2qpzhg\"}],\"supportSiteTargetFragment\":\"n16d58ev04f6ggn1nld0lzqq5ye7\"},{\"name\":\"AUTHOR=\",\"optional\":true,\"description\":\"Specify the author of the Word document\",\"help\":\"AUTHOR='*text-string*'\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1m3z5yvgd0jg2n1vaw9lbyow4q9\"},{\"name\":\"BASE=\",\"optional\":true,\"description\":\"Specify the text to use as the first part of all links and references that ODS creates in the document\",\"help\":\"BASE='*base-text*'\",\"type\":\"value\",\"arguments\":[{\"name\":\"'base-text'\",\"placeholder\":true,\"description\":\"is the text that ODS uses as the first part of all links and references that ODS creates in the document.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0gca5phbaq51un1oay4m0t5ralt\"}],\"supportSiteTargetFragment\":\"p1efhzgai8759hn1e5nbm5wo9xiz\"},{\"name\":\"BOX_SIZING=\",\"optional\":true,\"description\":\"Specify how to measure the width of cells\",\"help\":\"BOX_SIZING=(CONTENTBOXBOX | BORDERBOX)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"CONTENTBOXBOX\",\"type\":\"standalone\"},{\"name\":\"BORDERBOX\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"n0damouemsnf07n1vlcq7abac9p1\"},{\"name\":\"CATEGORY=\",\"optional\":true,\"description\":\"Specify the category of the Word document\",\"help\":\"CATEGORY='*text-string*'\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0np73zvspb37fn113cyr3eyco74\"},{\"name\":\"COLUMNS=\",\"optional\":true,\"description\":\"Specify the number of columns to create on each page of output\",\"help\":\"COLUMNS=*n* | MAX\",\"type\":\"choice\",\"arguments\":[{\"name\":\"n\",\"placeholder\":true,\"description\":\"is the number of one-inch columns that you want on the page.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0rra50dga3c47n1q9v41x3uk6gd\"},{\"name\":\"MAX\",\"description\":\"specifies the maximum number of columns for the paper size and margin setting. This value is dependent upon the paper size and page orientation.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0exo61xij0p4gn1jz92f4j0j1kq\"}],\"supportSiteTargetFragment\":\"p0yn0zuqwbhwehn1txfi6b336k7w\"},{\"name\":\"COMMENTS=\",\"optional\":true,\"description\":\"Add comments to the properties of the Word document\",\"help\":\"COMMENTS='*text-string*'\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n01yoezgrd3lb1n1asp6jyl5zmqb\"},{\"name\":\"FILE=\",\"optional\":true,\"description\":\"Specify the file that contains the Word document created by the destination\",\"help\":\"FILE='*file-specification*'\",\"type\":\"value\",\"arguments\":[{\"name\":\"external-file\",\"placeholder\":true,\"description\":\"is the name of an external file to receive output.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n07jx9ht6y4wb7n1esl8opc2mity\"},{\"name\":\"fileref\",\"placeholder\":true,\"description\":\"is a file reference that has been assigned to an external file. Use the FILENAME statement to assign a fileref.\",\"help\":\"fileref\\n                           \",\"type\":\"value\",\"supportSiteTargetFragment\":\"p12ntfne6h8hydn1lm79rkdec6p5\"}],\"supportSiteTargetFragment\":\"n1qtgo53phexl5n1lv9n3zdz3l2s\"},{\"name\":\"GFOOTNOTE\",\"optional\":true,\"description\":\"Control the location where footnotes are printed in the graphics output\",\"type\":\"standalone\",\"arguments\":[{\"name\":\"GFOOTNOTE\",\"description\":\"prints footnotes that are created by SAS/GRAPH, or the SG Procedures. The footnotes appear inside the graph borders.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1is1821tvvq9mn1fp7sf701h6td\"},{\"name\":\"NOGFOOTNOTE\",\"description\":\"prints footnotes that are created by ODS, which appear outside the graph borders.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0ttudl0x94hgwn1h6zlihfy6oor\"}],\"supportSiteTargetFragment\":\"n0j2mxj9kbhx8hn0zqcja6hsqix5\"},{\"name\":\"NOGFOOTNOTE\",\"optional\":true,\"description\":\"Control the location where footnotes are printed in the graphics output\",\"type\":\"standalone\",\"arguments\":[{\"name\":\"GFOOTNOTE\",\"description\":\"prints footnotes that are created by SAS/GRAPH, or the SG Procedures. The footnotes appear inside the graph borders.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1is1821tvvq9mn1fp7sf701h6td\"},{\"name\":\"NOGFOOTNOTE\",\"description\":\"prints footnotes that are created by ODS, which appear outside the graph borders.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0ttudl0x94hgwn1h6zlihfy6oor\"}],\"supportSiteTargetFragment\":\"n0j2mxj9kbhx8hn0zqcja6hsqix5\"},{\"name\":\"GTITLE\",\"optional\":true,\"description\":\"Control the location where titles are printed in the graphics output\",\"type\":\"standalone\",\"arguments\":[{\"name\":\"GTITLE\",\"description\":\"prints the title that is created by SAS/GRAPH or the SG Procedures. The title appears inside the graph borders.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0g3pxe6fxn9rqn12zkp41kyb3q0\"},{\"name\":\"NOGTITLE\",\"description\":\"prints the title that is created by ODS, which appears outside of the graph borders.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0llpb433he1ndn12rqt0uxhck7e\"}],\"supportSiteTargetFragment\":\"n04he7cw9753y9n1s0n8b784zzbd\"},{\"name\":\"NOGTITLE\",\"optional\":true,\"description\":\"Control the location where titles are printed in the graphics output\",\"type\":\"standalone\",\"arguments\":[{\"name\":\"GTITLE\",\"description\":\"prints the title that is created by SAS/GRAPH or the SG Procedures. The title appears inside the graph borders.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0g3pxe6fxn9rqn12zkp41kyb3q0\"},{\"name\":\"NOGTITLE\",\"description\":\"prints the title that is created by ODS, which appears outside of the graph borders.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0llpb433he1ndn12rqt0uxhck7e\"}],\"supportSiteTargetFragment\":\"n04he7cw9753y9n1s0n8b784zzbd\"},{\"name\":\"IMAGE_DPI=\",\"optional\":true,\"aliases\":[\"DPI=\"],\"description\":\"Specify the image resolution for the graphical output\",\"help\":\"IMAGE_DPI='*integer*'\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0og2y407uvi3un1ivgsaic871my\"},{\"name\":\"KEYWORDS=\",\"optional\":true,\"description\":\"Add keywords to the Word document properties\",\"help\":\"KEYWORDS='*text-string*'\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0i0gqordxcmp5n1wkl11lqygsey\"},{\"name\":\"(ID=)\",\"optional\":true,\"description\":\"Run multiple instances of the same destination at the same time. Each instance can have different options.\",\"help\":\"(ID=*identifier*)\",\"type\":\"value\",\"arguments\":[{\"name\":\"identifier\",\"placeholder\":true,\"description\":\"specifies another instance of the destination that is already open. identifier is numeric or a series of characters that begin with a letter or an underscore. Subsequent characters can include letters, underscores, and numeric characters.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p17qth9x48fyw4n1s7rxw1rjnzyz\"}],\"supportSiteTargetFragment\":\"n1xtrjakq79qnen1ndqkggner78s\"},{\"name\":\"OPTIONS\",\"optional\":true,\"description\":\"Specify destination-specific suboptions\",\"help\":\"OPTIONS (&lt;                      *suboptions*&gt;)\",\"type\":\"value\",\"arguments\":[{\"name\":\"BODY_TITLE=\",\"description\":\"specifies that SAS titles and footnotes are placed into the body of the document instead of the header and footer sections of the document.\",\"help\":\"BODY_TITLE='OFF' | 'ON'\",\"type\":\"choice\",\"arguments\":[{\"name\":\"OFF\",\"aliases\":[\"NO\"],\"description\":\"\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p06f3hkh11tft8n1aiark9mmdihm\"},{\"name\":\"ON\",\"aliases\":[\"YES\"],\"description\":\"\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1bo11jlzqdabsn1b65yq7pzee6m\"}],\"supportSiteTargetFragment\":\"n1j0ay66wwa85tn150oh2gcrv102\"},{\"name\":\"CANT_SPLIT=\",\"description\":\"specifies whether all contents of a table row shall be rendered on the same page. If necessary, the start of the current row is moved to the start of a new page.\",\"help\":\"CANT_SPLIT='OFF' | 'ON'\",\"type\":\"choice\",\"arguments\":[{\"name\":\"OFF\",\"aliases\":[\"NO\"],\"description\":\"\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1qxibb606d69cn1jct1zs3ky0g3\"},{\"name\":\"ON\",\"aliases\":[\"YES\"],\"description\":\"\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1hv4e3e388mynn1hev3oofddz2h\"}],\"supportSiteTargetFragment\":\"n1a9jcdx70fb5zn1o9x3e9ls6421\"},{\"name\":\"CONTENTS=\",\"description\":\"Generate a table of contents\",\"help\":\"CONTENTS='OFF' | 'ON'\",\"type\":\"choice\",\"arguments\":[{\"name\":\"OFF\",\"aliases\":[\"NO\"],\"description\":\"\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0qymyaivmdy71n1d34l5rgpyvay\"},{\"name\":\"ON\",\"aliases\":[\"YES\"],\"description\":\"\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1t72373eqvkc1n1xgoj15j52ez4\"}],\"supportSiteTargetFragment\":\"n0ch4tnhhxy1jin0zgcn7eeggigw\"},{\"name\":\"FOOTER_Y=\",\"description\":\"Specify the distance from the bottom edge of the page to the bottom edge of the footer\",\"help\":\"FOOTER_Y='*text-string*'\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0n3fqer8brhkzn1ox2iyyebfwhq\"},{\"name\":\"HEADER_Y=\",\"description\":\"Specify the distance from the top edge of the page to the top edge of the header\",\"help\":\"HEADER_Y='*text-string*'\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1jp228k2e2niun1t2z1br7tz9f1\"},{\"name\":\"KEEP_LINES=\",\"description\":\"Specify that all lines of the current paragraph should be maintained on a single page whenever possible\",\"help\":\"KEEP_LINES='OFF' | 'ON'\",\"type\":\"choice\",\"arguments\":[{\"name\":\"OFF\",\"aliases\":[\"NO\"],\"description\":\"\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0i2fqyv9wznnln1fub18vl7w2d5\"},{\"name\":\"ON\",\"aliases\":[\"YES\"],\"description\":\"\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0uoseuywppv36n1f0mqif6w8hmx\"}],\"supportSiteTargetFragment\":\"p0jv6o8k8r2ljwn1p9fotmqkf1qg\"},{\"name\":\"KEEP_NEXT=\",\"description\":\"Specify that the contents of the current paragraph are at least partly rendered on the same page as the following paragraph whenever possible\",\"help\":\"KEEP_NEXT='OFF' | 'ON'\",\"type\":\"choice\",\"arguments\":[{\"name\":\"OFF\",\"aliases\":[\"NO\"],\"description\":\"\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0bu5bexe7ds7tn1odylsgg5l185\"},{\"name\":\"ON\",\"aliases\":[\"YES\"],\"description\":\"\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1ndvkljqsb9bfn1broorkmacrwo\"}],\"supportSiteTargetFragment\":\"n1rr1n1tnbmif4n1mnnqf0spdhq9\"},{\"name\":\"TABLE_LAYOUT=\",\"description\":\"Specify how table contents are laid out.\",\"help\":\"TABLE_LAYOUT='AUTOFIT' | 'FIXED'\",\"type\":\"choice\",\"arguments\":[{\"name\":\"AUTOFIT\",\"description\":\"the preferred widths on the table items are used to generate the final sizing of the table. The contents of the cells do not change the width of the table.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0or6otw1omw3kn18lfjnzqee42a\"},{\"name\":\"FIXED\",\"description\":\"the preferred widths on the table items are used to generate the sizing of the table. The contents of the cells are then used to determine the final column widths.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1gcmqa4qmmj98n1a85yy7egu283\"}],\"supportSiteTargetFragment\":\"n04gmakm1rt3kpn123ce9me0j2gl\"},{\"name\":\"TOC_DATA=\",\"aliases\":[\"Yes\"],\"description\":\"Specify whether to capture the contents data in the document\",\"help\":\"TOC_DATA='OFF' | 'ON'\",\"type\":\"choice\",\"arguments\":[{\"name\":\"OFF\",\"aliases\":[\"NO\"],\"description\":\"contents data is not captured\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1xjhxtp4xctn1n15fqmoi0hdzh9\"},{\"name\":\"ON\",\"description\":\"contents data is captured\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1fpxn85v4pcztn1g25e0sl2zlve\"}],\"supportSiteTargetFragment\":\"n0lfh4jc9k41ccn10dm3w01vdn8e\"},{\"name\":\"TOC_LEVEL=\",\"description\":\"Control the depth of the table of contents in the document\",\"help\":\"TOC_LEVEL=                            '*integer*'\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0smu4hhpl09fon1p43i86sdyv5u\"},{\"name\":\"TOC_TYPE=\",\"description\":\"Specify whether the ODS destination for Word generates the legacy table of contents automatically, or the user generates a custom table of contents manually using nested headings\",\"help\":\"TOC_TYPE='LEGACY' | 'HEADINGS'\",\"type\":\"choice\",\"arguments\":[{\"name\":\"'LEGACY'\",\"type\":\"standalone\"},{\"name\":\"'HEADINGS'\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"n1snkm022fjgkln1qzg22t5di4mn\"}],\"supportSiteTargetFragment\":\"p0eap59lcl9h6fn1tv36ly6i60gz\"},{\"name\":\"SASDATE\",\"optional\":true,\"description\":\"Insert the standard SAS date in the document in place of the default Word date and time field\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p03l2c5b9pxgy0n1fz45iinuf4c7\"},{\"name\":\"STARTPAGE=\",\"optional\":true,\"description\":\"Control the insertion of new pages\",\"help\":\"STARTPAGE=                      YES | NO | NOW | BYGROUP\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YES\",\"aliases\":[\"ON\"],\"description\":\"inserts a new page when ODS or the procedure requests one.\",\"help\":\"YES \",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0if25mca2llien190yt1qmp2bak\"},{\"name\":\"NO\",\"aliases\":[\"OFF\"],\"description\":\"instructs ODS not to insert a new page, even if the procedure code requests a new page. A new page is inserted only when a page is filled or when you specify STARTPAGE= NOW.\",\"help\":\"NO \",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1x5uu1dly8xk5n1uxxoix35aeke\"},{\"name\":\"NOW\",\"description\":\"forces the immediate insertion of a new page. Once STARTPAGE=NOW executes, the STARTPAGE= option reverts to the previously set STARTPAGE= argument. For example, if you set STARTPAGE=NO to STARTPAGE=NOW, STARTPAGE= reverts to STARTPAGE=NO.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p190nkyz9oc9m0n1d3zp17ei9y0b\"},{\"name\":\"BYGROUP\",\"description\":\"inserts a new page break after each BY group.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n19iwpv7xjdadmn148w13yrr6hgl\"}],\"supportSiteTargetFragment\":\"p18bzmq2j0px5in1ghlclsjvp1t9\"},{\"name\":\"STATUS=\",\"optional\":true,\"description\":\"Specify the status of the document\",\"help\":\"STATUS='*text-string*'\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0bjeb4kxegz0an193047c8dpx6w\"},{\"name\":\"SUBJECT=\",\"optional\":true,\"description\":\"Insert the text string that you specify as the subject in the metadata of a file\",\"help\":\"SUBJECT='*subject-text*'\",\"type\":\"value\",\"arguments\":[{\"name\":\"subject-text\",\"placeholder\":true,\"description\":\"specifies the text in the metadata of a file that indicates the subject.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1ox2fey5z7nlkn1raszk0ahs3fqc\"}],\"supportSiteTargetFragment\":\"p103tab91b65j5n15nl1vgag8f3kc\"},{\"name\":\"STYLE=\",\"optional\":true,\"description\":\"Specify the style template to apply to your output\",\"help\":\"STYLE=*style-definition*\",\"type\":\"value\",\"arguments\":[{\"name\":\"style-definition\",\"placeholder\":true,\"description\":\"describes how to display the presentation aspects (color, font face, and font size) of your SAS output. A style template determines the overall appearance of the document. Each style template consists of style elements.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n186csb7uo8q1yn17w0nur64u8h4\"}],\"supportSiteTargetFragment\":\"n10se6pt8r6dysn1de1w3z12txv2\"},{\"name\":\"TITLE=\",\"optional\":true,\"description\":\"Specify the title for the document\",\"help\":\"TITLE='*text-string*'\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p082bc92xxwaben1kbog3n4gwmw9\"},{\"name\":\"WORK=\",\"optional\":true,\"description\":\"Specify an alternate directory for the temporary files\",\"help\":\"WORK='*fileref*' | '*directory-name*'\",\"type\":\"choice\",\"arguments\":[{\"name\":\"'fileref'\",\"placeholder\":true,\"description\":\"is a file reference that has been assigned to a directory. Use the FILENAME statement to assign a fileref.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1girm1p9dcliun1mb4wol7sddwh\"},{\"name\":\"'directory-name'\",\"placeholder\":true,\"description\":\"is the name of the directory.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n03wflgcqxdfhfn1gik85ozcr6yx\"}],\"supportSiteTargetFragment\":\"n0z621k1zk9dnon1tsnopmcfi6o1\"},{\"name\":\"CLOSE\",\"optional\":true,\"description\":\"Close the destination and the file that is associated with it.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0314ri2ftw2xbn19qok9x5dcpxtj\"},{\"name\":\"EXCLUDE\",\"optional\":true,\"description\":\"Exclude output objects from the destination\",\"help\":\"EXCLUDE *exclusion(s)* |  ALL |  NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"exclusion\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"ALL\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"p1dgxo1rmespghn1wosymk75o74kk\"},{\"name\":\"SELECT\",\"optional\":true,\"description\":\"Select output objects for the destination.\",\"help\":\"SELECT *selection(s)* |  ALL |  NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"selection\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"ALL\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"p1ivy4th5ppdkfn1aybs638tc3syk\"},{\"name\":\"SHOW\",\"optional\":true,\"description\":\"Write to the SAS Log the current selection or exclusion list for the destination\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0edxfd8jflk5xn1l1znzdzsupnak\"}],\"supportSiteInformation\":{\"docsetId\":\"odsug\",\"docsetVersion\":\"v_004\",\"docsetTargetFile\":\"p10mxeb6wxqfjgn1p5u0w4t8qf20.htm\"}},{\"name\":\"ODS _ALL_ CLOSE\",\"description\":\"Closes all open ODS output destinations.\",\"help\":\"ODS _ALL_ CLOSE ;\",\"supportSiteInformation\":{\"docsetId\":\"odsug\",\"docsetVersion\":\"v_004\",\"docsetTargetFile\":\"n1sqlptpa8rdtsn1g45nrh7yoff6.htm\"}},{\"name\":\"OPTIONS\",\"description\":\"Specifies or changes the value of one or more SAS system options.\",\"help\":\"OPTIONS *options*;\",\"arguments\":[{\"name\":\"options\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies one or more SAS system options to be changed.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1j28ff1142f68n1v06vec2qo2uk\"},{\"name\":\"-ALTLOG\",\"description\":\"Specifies a destination for a copy of the SAS log.\",\"help\":\"-ALTLOG *destination*\",\"type\":\"value\",\"supportSiteInformation\":{\"docsetId\":\"lesysoptsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n0o3k9p3dkd6pln1vxeb26tlcvwc.htm\"}},{\"name\":\"-NOALTLOG\",\"description\":\"Specifies a destination for a copy of the SAS log.\",\"type\":\"standalone\",\"supportSiteInformation\":{\"docsetId\":\"lesysoptsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n0o3k9p3dkd6pln1vxeb26tlcvwc.htm\"}},{\"name\":\"ACCESSIBLECHECK\",\"description\":\"specifies to write messages to the SAS log if common violations of accessibility standards are found.\",\"type\":\"standalone\",\"supportSiteInformation\":{\"docsetId\":\"lesysoptsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n0b6ah1xwx1qp7n1ac24r33z9o0s.htm\"}},{\"name\":\"ACCESSIBLEGRAPH\",\"description\":\"specifies to enable the ACCESSIBLE_GRAPH option in the ODS HTML5 statement by default.\",\"type\":\"standalone\",\"supportSiteInformation\":{\"docsetId\":\"lesysoptsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n1q9wdhmgc4ohwn1ezjxqsupgc2t.htm\"}},{\"name\":\"ACCESSIBLEPDF\",\"description\":\"specifies to enable the ACCESSIBLE option in the ODS PDF statement.\",\"type\":\"standalone\",\"supportSiteInformation\":{\"docsetId\":\"lesysoptsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p0c6oabrolh6wen1q7xidwobfgvt.htm\"}},{\"name\":\"ACCESSIBLETABLE\",\"description\":\"specifies to create accessible tables by default.\",\"type\":\"standalone\",\"supportSiteInformation\":{\"docsetId\":\"lesysoptsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p1jfynrh23vc76n1wre8lb5ntnu4.htm\"}},{\"name\":\"ANIMATION=\",\"aliases\":[\"ANIMATE\"],\"description\":\"Specifies whether to start or stop creating animation frames.\",\"help\":\"ANIMATION= START | STOP\",\"type\":\"choice\",\"arguments\":[{\"name\":\"START\",\"optional\":true,\"description\":\"specifies to begin creating animation frames.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1u6kvuukt137sn1byv6arvr828c\"},{\"name\":\"STOP\",\"optional\":true,\"description\":\"specifies to stop creating animation frames.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1ikmcxiowkwr9n1liyexbx6jj7m\"}],\"supportSiteInformation\":{\"docsetId\":\"lesysoptsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p08pky384ude7gn1ij0d1uvb22i5.htm\"}},{\"name\":\"ANIMDURATION=\",\"description\":\"Specifies the amount of time that each frame in the animation is held in view.\",\"help\":\"ANIMDURATION= *duration* | MIN\",\"type\":\"choice\",\"arguments\":[{\"name\":\"duration\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the number of seconds to hold an animation frame in view. The number can be any numeric representation (for example, .01, 5, 6.5).\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0ppe8em1a4txhn1o03x2kwi42xy\"},{\"name\":\"MIN\",\"optional\":true,\"description\":\"specifies to use the device driver’s default value for the amount of time that each frame is held in view.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0yef9w5tnrzoxn1cd3mdnng9t77\"}],\"supportSiteInformation\":{\"docsetId\":\"lesysoptsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n0x1g1krtpumv2n1mp91s497n3ca.htm\"}},{\"name\":\"ANIMLOOP=\",\"description\":\"Specifies whether the animation loop is played continuously or is played once, or specifies a specific number of times that the animation loop is repeated.\",\"help\":\"ANIMLOOP= YES | NO  | *n*\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YES\",\"optional\":true,\"description\":\"specifies that animation loops continuously repeat.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0a52dlg7s1a9hn15tnsh96gseyz\"},{\"name\":\"NO\",\"optional\":true,\"description\":\"specifies that animation loops complete one loop.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0zj0ullvihn4kn1v7zjsbc7e4ps\"},{\"name\":\"n\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the number of times that an animation loop is continuously repeated. The number must be an integer.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0erctkkbd7ce9n18a7xlgbhj9ar\"}],\"supportSiteInformation\":{\"docsetId\":\"lesysoptsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p0z72v71jmlqf8n17g1jlk23kpxf.htm\"}},{\"name\":\"ANIMOVERLAY\",\"description\":\"specifies that each frame in an animation overlays the previous frame. All frames remain in view for the duration of the animation.\",\"type\":\"standalone\",\"supportSiteInformation\":{\"docsetId\":\"lesysoptsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n11bvedi7j9oksn1sbz7jh928sav.htm\"}},{\"name\":\"APPEND=\",\"description\":\"Appends a value to the existing value of the specified system option.\",\"help\":\"APPEND= (*system-option-1*=*argument-1*&lt;*system-option-2*=*argument-2* ...&gt;)\",\"type\":\"value\",\"arguments\":[{\"name\":\"system-option\",\"optional\":true,\"placeholder\":true,\"description\":\"In SAS Viya, system-option can be AUTOEXEC, CMPLIB, FMTSEARCH, MSG, SASAUTOS, SASHELP, SASSCRIPT, or SET.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1l6jvuw1l4p3wn1psd6rib3uv3z\"},{\"name\":\"argument\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies a new value that you want to append to the current value of system-option.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1oxiggizqsnozn1stvub40gx87z\"}],\"supportSiteInformation\":{\"docsetId\":\"lesysoptsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p1q9ay0ai0h2ein1n68qxomnm3q7.htm\"}},{\"name\":\"AUTHINFO=\",\"aliases\":[\"CASAUTHINFO=\"],\"description\":\"Specifies a file where user ID and passwords are kept for authentication.\",\"help\":\"AUTHINFO= '*authinfo_file_path*';\",\"type\":\"value\",\"supportSiteInformation\":{\"docsetId\":\"lesysoptsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p0z310blq1jl9on11vt1u24sfe7r.htm\"}},{\"name\":\"AUTOCORRECT\",\"description\":\"specifies that SAS attempts to automatically correct misspelled procedure names, misspelled procedure keywords, or misspelled global statement names.\",\"type\":\"standalone\",\"supportSiteInformation\":{\"docsetId\":\"lesysoptsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p0mzulmnthqs2bn1cuqm5eqlvgi8.htm\"}},{\"name\":\"AZURETENANTID=\",\"description\":\"Specifies the tenant ID for connecting to a Microsoft Azure storage system\",\"help\":\"AZURETENANTID= \\\"*tenant-id*\\\"\",\"type\":\"value\",\"arguments\":[{\"name\":\"tenant-id\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the tenant ID, which is a GUID, for connecting to Microsoft Azure Data Lake Storage Gen2.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n08s3rnk2eq5k6n121tt6y8wo664\"}],\"supportSiteInformation\":{\"docsetId\":\"lesysoptsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n1rop72gnqzbnmn1s6yhe9tehgf8.htm\"}},{\"name\":\"BOMFILE\",\"description\":\"Specifies to write a byte-order mark (BOM) prefix when a Unicode-encoded file is written to an external file.\",\"type\":\"standalone\",\"supportSiteInformation\":{\"docsetId\":\"nlsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n0ovum2tekkxadn1jel1gkpj5wx8.htm\"}},{\"name\":\"BOTTOMMARGIN=\",\"description\":\"Specifies the size of the margin at the bottom of a printed page.\",\"help\":\"BOTTOMMARGIN= *margin-size*&lt;*margin-unit*&gt;\",\"type\":\"value\",\"arguments\":[{\"name\":\"margin-size\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the size of the margin.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0t3ggg08sffatn16g61doc5a8qi\"},{\"name\":\"margin-unit\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the units for margin-size. The margin-unit can be in for inches or cm for centimeters. <margin-unit> is saved as part of the value of the BOTTOMMARGIN system option.\",\"type\":\"standaloneOrValue\",\"supportSiteTargetFragment\":\"n0lm5rzekl2vk1n1qqdvb75fn521\"}],\"supportSiteInformation\":{\"docsetId\":\"lesysoptsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n0a5ww26al348jn14oux6txwyapr.htm\"}},{\"name\":\"BUFNO\",\"description\":\"Specifies the number of buffers to be allocated for processing SAS data sets.\",\"help\":\"BUFNO =*n* |  *n*K |  *n*M |  *n*G |   *n*T |  *hex*X |  MIN |  MAX\",\"type\":\"choice\",\"arguments\":[{\"name\":\"n\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the number of buffers to be allocated in multiples of 1 (bytes); 1,024 (kilobytes); 1,048,576 (megabytes); 1,073,741,824 (gigabytes); or 1,099,511,627,776 (terabytes). For example, a value of 8 specifies 8 bytes, and a value of 3m specifies 3,145,728 bytes.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0rx1px5wajkiqn1kl2blwcpuo0p\"},{\"name\":\"K\",\"optional\":true,\"description\":\"specifies the number of buffers to be allocated in multiples of 1 (bytes); 1,024 (kilobytes); 1,048,576 (megabytes); 1,073,741,824 (gigabytes); or 1,099,511,627,776 (terabytes). For example, a value of 8 specifies 8 bytes, and a value of 3m specifies 3,145,728 bytes.\",\"help\":\"*n*K\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0rx1px5wajkiqn1kl2blwcpuo0p\"},{\"name\":\"M\",\"optional\":true,\"description\":\"specifies the number of buffers to be allocated in multiples of 1 (bytes); 1,024 (kilobytes); 1,048,576 (megabytes); 1,073,741,824 (gigabytes); or 1,099,511,627,776 (terabytes). For example, a value of 8 specifies 8 bytes, and a value of 3m specifies 3,145,728 bytes.\",\"help\":\"*n*M\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0rx1px5wajkiqn1kl2blwcpuo0p\"},{\"name\":\"G\",\"optional\":true,\"description\":\"specifies the number of buffers to be allocated in multiples of 1 (bytes); 1,024 (kilobytes); 1,048,576 (megabytes); 1,073,741,824 (gigabytes); or 1,099,511,627,776 (terabytes). For example, a value of 8 specifies 8 bytes, and a value of 3m specifies 3,145,728 bytes.\",\"help\":\"*n*G\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0rx1px5wajkiqn1kl2blwcpuo0p\"},{\"name\":\"T\",\"optional\":true,\"description\":\"specifies the number of buffers to be allocated in multiples of 1 (bytes); 1,024 (kilobytes); 1,048,576 (megabytes); 1,073,741,824 (gigabytes); or 1,099,511,627,776 (terabytes). For example, a value of 8 specifies 8 bytes, and a value of 3m specifies 3,145,728 bytes.\",\"help\":\"*n*T\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0rx1px5wajkiqn1kl2blwcpuo0p\"},{\"name\":\"X\",\"optional\":true,\"description\":\"specifies the number of buffers as a hexadecimal value. You must specify the value beginning with a number (0–9), followed by an X. For example, the value 2dx specifies 45 buffers.\",\"help\":\"*hex*X\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0reb46ydffw07n1f8yfce4d5gj4\"},{\"name\":\"MIN\",\"optional\":true,\"description\":\"sets the minimum number of buffers to 0, which causes SAS to use the minimum optimal value for the operating environment. This is the default.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1hclkpp5vcwdqn1m0j8ccdirxjh\"},{\"name\":\"MAX\",\"optional\":true,\"description\":\"sets the number of buffers to the maximum possible number in your operating environment, up to the largest four-byte, signed integer, which is 231-1, or approximately 2 billion.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0n4liv96jjwp8n14tgm1ldkoyc6\"}],\"supportSiteInformation\":{\"docsetId\":\"engfedsrv\",\"docsetVersion\":\"v_004\",\"docsetTargetFile\":\"n0vnjqu30f0vjzn1dd8ljaskl9l8.htm\"}},{\"name\":\"BUFNO=\",\"description\":\"Specifies the number of buffers to be allocated for processing SAS data sets.\",\"help\":\"BUFNO= *n* | *n*K | *n*M | *n*G | *hex*X | MIN | MAX\",\"type\":\"choice\",\"arguments\":[{\"name\":\"n\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the number of buffers to be allocated in multiples of 1: 1,024 (kilo); 1,048,576 (mega); 1,073,741,824 (giga). For example, a value of 8 specifies 8 buffers, and a value of 3m specifies 3,145,728 buffers.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p03iv6f4k0g59jn1ie18ensgd1iv\"},{\"name\":\"K\",\"optional\":true,\"description\":\"specifies the number of buffers to be allocated in multiples of 1: 1,024 (kilo); 1,048,576 (mega); 1,073,741,824 (giga). For example, a value of 8 specifies 8 buffers, and a value of 3m specifies 3,145,728 buffers.\",\"help\":\"*n*K\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p03iv6f4k0g59jn1ie18ensgd1iv\"},{\"name\":\"M\",\"optional\":true,\"description\":\"specifies the number of buffers to be allocated in multiples of 1: 1,024 (kilo); 1,048,576 (mega); 1,073,741,824 (giga). For example, a value of 8 specifies 8 buffers, and a value of 3m specifies 3,145,728 buffers.\",\"help\":\"*n*M\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p03iv6f4k0g59jn1ie18ensgd1iv\"},{\"name\":\"G\",\"optional\":true,\"description\":\"specifies the number of buffers to be allocated in multiples of 1: 1,024 (kilo); 1,048,576 (mega); 1,073,741,824 (giga). For example, a value of 8 specifies 8 buffers, and a value of 3m specifies 3,145,728 buffers.\",\"help\":\"*n*G \",\"type\":\"value\",\"supportSiteTargetFragment\":\"p03iv6f4k0g59jn1ie18ensgd1iv\"},{\"name\":\"X\",\"optional\":true,\"description\":\"specifies the number of buffers as a hexadecimal value. The value must begin with a number (0–9) and must be followed by an X. For example, the value 2dx specifies 45 buffers.\",\"help\":\"*hex*X\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p18ctou35rr825n1h896qqfdm22i\"},{\"name\":\"MIN\",\"optional\":true,\"description\":\"sets the minimum number of buffers to 0, which causes SAS to use the minimum optimal value for the operating environment.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1u29sg6cnrqk9n1e89qx53nzu52\"},{\"name\":\"MAX\",\"optional\":true,\"description\":\"sets the number of buffers to the maximum possible number in your operating environment, up to the largest four-byte, signed integer, which is 231–1, or approximately 2 billion.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1c7us6vox78uwn133ienj9kuafi\"}],\"supportSiteInformation\":{\"docsetId\":\"lesysoptsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p1dvhxsxcilbwon0zl48630qkpeb.htm\"}},{\"name\":\"BUFSIZE\",\"description\":\"Specifies the permanent buffer page size for output SAS data sets.\",\"help\":\"BUFSIZE =*n* | *n*K | *n*M | *n*G | *n*T | *hex*X | MAX\",\"type\":\"choice\",\"arguments\":[{\"name\":\"n\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the page size in multiples of 1 (bytes); 1,024 (kilobytes); 1,048,576 (megabytes); 1,073,741,824 (gigabytes); or 1,099,511,627,776 (terabytes). For example, a value of 8 specifies 8 bytes, and a value of 3m specifies 3,145,728 bytes.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1ba3ff39o6vmcn1cc8xrq1l1658\"},{\"name\":\"K\",\"optional\":true,\"description\":\"specifies the page size in multiples of 1 (bytes); 1,024 (kilobytes); 1,048,576 (megabytes); 1,073,741,824 (gigabytes); or 1,099,511,627,776 (terabytes). For example, a value of 8 specifies 8 bytes, and a value of 3m specifies 3,145,728 bytes.\",\"help\":\"*n*K\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1ba3ff39o6vmcn1cc8xrq1l1658\"},{\"name\":\"M\",\"optional\":true,\"description\":\"specifies the page size in multiples of 1 (bytes); 1,024 (kilobytes); 1,048,576 (megabytes); 1,073,741,824 (gigabytes); or 1,099,511,627,776 (terabytes). For example, a value of 8 specifies 8 bytes, and a value of 3m specifies 3,145,728 bytes.\",\"help\":\"*n*M\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1ba3ff39o6vmcn1cc8xrq1l1658\"},{\"name\":\"G\",\"optional\":true,\"description\":\"specifies the page size in multiples of 1 (bytes); 1,024 (kilobytes); 1,048,576 (megabytes); 1,073,741,824 (gigabytes); or 1,099,511,627,776 (terabytes). For example, a value of 8 specifies 8 bytes, and a value of 3m specifies 3,145,728 bytes.\",\"help\":\"*n*G\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1ba3ff39o6vmcn1cc8xrq1l1658\"},{\"name\":\"T\",\"optional\":true,\"description\":\"specifies the page size in multiples of 1 (bytes); 1,024 (kilobytes); 1,048,576 (megabytes); 1,073,741,824 (gigabytes); or 1,099,511,627,776 (terabytes). For example, a value of 8 specifies 8 bytes, and a value of 3m specifies 3,145,728 bytes.\",\"help\":\"*n*T\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1ba3ff39o6vmcn1cc8xrq1l1658\"},{\"name\":\"X\",\"optional\":true,\"description\":\"specifies the page size as a hexadecimal value. You must specify the value beginning with a number (0–9), followed by an X. For example, the value 2dx sets the page size to 45 bytes.\",\"help\":\"*hex*X\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0zj2kv3dl13e1n16w7hxbcnjvij\"},{\"name\":\"MAX\",\"optional\":true,\"description\":\"sets the page size to the maximum possible number in your operating environment, up to the largest four-byte, signed integer, which is 231-1, or approximately 2 billion bytes.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0efgahi2lhfj5n1dahgvyhttvi0\"}],\"supportSiteInformation\":{\"docsetId\":\"engfedsrv\",\"docsetVersion\":\"v_004\",\"docsetTargetFile\":\"p0rdd0n7e0v1s7n1onfnq0vz8343.htm\"}},{\"name\":\"BUFSIZE=\",\"description\":\"Specifies the permanent buffer size for output SAS data sets.\",\"help\":\"BUFSIZE= *n* | *n*K | *n*M | *n*G | *n*T | *hex*X | MAX\",\"type\":\"choice\",\"arguments\":[{\"name\":\"n\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the buffer size in multiples of 1 (bytes); 1,024 (kilobytes); 1,048,576 (megabytes); 1,073,741,824 (gigabytes); or 1,099,511,627,776 (terabytes). For example, a value of 8 specifies 8 bytes, and a value of 3m specifies 3,145,728 bytes.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p04db0wqrwqzjen101zctzkvj6ri\"},{\"name\":\"K\",\"optional\":true,\"description\":\"specifies the buffer size in multiples of 1 (bytes); 1,024 (kilobytes); 1,048,576 (megabytes); 1,073,741,824 (gigabytes); or 1,099,511,627,776 (terabytes). For example, a value of 8 specifies 8 bytes, and a value of 3m specifies 3,145,728 bytes.\",\"help\":\"*n*K\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p04db0wqrwqzjen101zctzkvj6ri\"},{\"name\":\"M\",\"optional\":true,\"description\":\"specifies the buffer size in multiples of 1 (bytes); 1,024 (kilobytes); 1,048,576 (megabytes); 1,073,741,824 (gigabytes); or 1,099,511,627,776 (terabytes). For example, a value of 8 specifies 8 bytes, and a value of 3m specifies 3,145,728 bytes.\",\"help\":\"*n*M\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p04db0wqrwqzjen101zctzkvj6ri\"},{\"name\":\"G\",\"optional\":true,\"description\":\"specifies the buffer size in multiples of 1 (bytes); 1,024 (kilobytes); 1,048,576 (megabytes); 1,073,741,824 (gigabytes); or 1,099,511,627,776 (terabytes). For example, a value of 8 specifies 8 bytes, and a value of 3m specifies 3,145,728 bytes.\",\"help\":\"*n*G\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p04db0wqrwqzjen101zctzkvj6ri\"},{\"name\":\"T\",\"optional\":true,\"description\":\"specifies the buffer size in multiples of 1 (bytes); 1,024 (kilobytes); 1,048,576 (megabytes); 1,073,741,824 (gigabytes); or 1,099,511,627,776 (terabytes). For example, a value of 8 specifies 8 bytes, and a value of 3m specifies 3,145,728 bytes.\",\"help\":\"*n*T\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p04db0wqrwqzjen101zctzkvj6ri\"},{\"name\":\"X\",\"optional\":true,\"description\":\"specifies the buffer size as a hexadecimal value. The value must begin with a number (0–9) and must be followed by an X. For example, the value 2dx sets the page size to 45 bytes.\",\"help\":\"*hex*X\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0ogxulpe7gzj2n1v4glmsprfyop\"},{\"name\":\"MAX\",\"optional\":true,\"description\":\"sets the buffer size to the maximum possible number in your operating environment, up to the largest four-byte, signed integer, which is 231-1, or approximately 2 billion bytes.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p12lqevw4uifs1n158d8y35kxoxh\"}],\"supportSiteInformation\":{\"docsetId\":\"lesysoptsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p1d8hx95jb53wqn0zzvawxw94nvi.htm\"}},{\"name\":\"BYERR\",\"description\":\"specifies that SAS issue an error message and stop processing if the SORT procedure attempts to sort a _NULL_ data set.\",\"type\":\"standalone\",\"supportSiteInformation\":{\"docsetId\":\"lesysoptsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n0fc6qbsnpf355n147gfw5hv36v4.htm\"}},{\"name\":\"BYLINE\",\"description\":\"specifies that BY lines are printed above each BY group.\",\"type\":\"standalone\",\"supportSiteInformation\":{\"docsetId\":\"lesysoptsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n1hr2wb7h5g6twn1gtt5r4zjsg39.htm\"}},{\"name\":\"BYSORTED\",\"description\":\"specifies that observations in a data set or data sets are sorted in alphabetic or numeric order.\",\"type\":\"standalone\",\"supportSiteInformation\":{\"docsetId\":\"lesysoptsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n1nys0tu3s8iftn15s4fbp99ilc0.htm\"}},{\"name\":\"CAPS\",\"description\":\"specifies that SAS translate lowercase characters to uppercase in these types of input:\\n• data following CARDS, CARDS4, DATALINES, DATALINES4, and PARMCARDS statements\\n• text enclosed in single or double quotation marks\\n• values in VALUE and INVALUE statements in the FORMAT procedure\\n• titles, footnotes, variable labels, and data set labels\\n• constant text in macro definitions\\n• values of macro variables\\n• parameter values passed to macros.\",\"type\":\"standalone\",\"supportSiteInformation\":{\"docsetId\":\"lesysoptsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n1sx39mn21gn7pn1vlw6gqcm8nnr.htm\"}},{\"name\":\"CARDIMAGE\",\"description\":\"specifies that SAS source and data lines be processed as if they were punched card images—all exactly 80 bytes long and padded with blanks. That is, column 1 of a line is treated as if it immediately followed column 80 of the previous line. Therefore, tokens can be split across lines. (A token is a character or series of characters that SAS treats as a discrete word.)\",\"type\":\"standalone\",\"supportSiteInformation\":{\"docsetId\":\"lesysoptsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n0r48a3yh1ob57n153b8to8kuik0.htm\"}},{\"name\":\"CASDATALIMIT=\",\"description\":\"Specifies the maximum number of bytes of data from a single CAS table that can be transferred from the CAS server to SAS.\",\"help\":\"CASDATALIMIT= *integer* | *integer*K |  *integer*M | *integer*G | ALL\",\"type\":\"choice\",\"supportSiteInformation\":{\"docsetId\":\"lesysoptsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p0wxc12m9hqke7n1bfcfnznsbpgo.htm\"}},{\"name\":\"CASHOST=\",\"description\":\"Specifies the CAS server that is associated with a CAS session.\",\"help\":\"CASHOST=      \\\"*Kubernetes-service-name*\\\"\",\"type\":\"value\",\"supportSiteInformation\":{\"docsetId\":\"lesysoptsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n0ojtoxzrezdh8n15lhztil43nt9.htm\"}},{\"name\":\"CASLIB=\",\"description\":\"Specifies the caslib name for the session that is identified by the SESSREF= option.\",\"help\":\"CASLIB= \\\"*name*\\\"\",\"type\":\"value\",\"supportSiteInformation\":{\"docsetId\":\"lesysoptsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p1i0lsn67jja72n1g7k0m5im815q.htm\"}},{\"name\":\"CASNCHARMULTIPLIER=\",\"description\":\"Specifies a multiplication factor that is used to increase the number of bytes for a fixed character variable when using the CAS LIBNAME engine and data is transcoded to the UTF-8 encoding in order to run in the CAS server.\",\"help\":\"CASNCHARMULTIPLIER= *n*\",\"type\":\"value\",\"supportSiteInformation\":{\"docsetId\":\"lesysoptsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n1rsugylwt5y6mn1htt45yr35mfa.htm\"}},{\"name\":\"CASNWORKERS=\",\"description\":\"Specifies the number of worker nodes to use for a CAS session.\",\"help\":\"CASNWORKERS=      ALL | *number*\",\"type\":\"value\",\"supportSiteInformation\":{\"docsetId\":\"lesysoptsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p1cepenuppxidwn11tg4yo61d443.htm\"}},{\"name\":\"CASPORT=\",\"description\":\"Specifies the port to use when connecting to CAS.\",\"help\":\"CASPORT= *port-number*\",\"type\":\"value\",\"supportSiteInformation\":{\"docsetId\":\"lesysoptsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p01icggnf68zsln1r64hm6lh42zs.htm\"}},{\"name\":\"CASSESSOPTS=\",\"aliases\":[\"SESSOPTS=\"],\"description\":\"Specifies one or more session options for the active CAS session.\",\"help\":\"CASSESSOPTS= (*session-options*)\",\"type\":\"value\",\"supportSiteInformation\":{\"docsetId\":\"lesysoptsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n0d2lofmcc7jsqn17qgwbmjwy3k4.htm\"}},{\"name\":\"CASTIMEOUT=\",\"description\":\"Specifies the CAS session time-out in seconds for new sessions. The session time-out starts when the number of connections to the session becomes zero and all session activity is complete.\",\"help\":\"CASTIMEOUT=      *n* | *n*K |  *n*M |  *hex*X | MAX | MIN\",\"type\":\"choice\",\"supportSiteInformation\":{\"docsetId\":\"lesysoptsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n0zt0mopcu7zvcn1hxl4xhrze6cu.htm\"}},{\"name\":\"CASUSER=\",\"aliases\":[\"CASUSERID=\"],\"description\":\"Specifies the user ID to use when connecting to CAS.\",\"help\":\"CASUSER=      *user-ID*\",\"type\":\"value\",\"supportSiteInformation\":{\"docsetId\":\"lesysoptsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n0cvioj8ujpu3hn1hfppugov4ryi.htm\"}},{\"name\":\"CBUFNO=\",\"description\":\"Specifies the number of extra page buffers to allocate for each open SAS catalog.\",\"help\":\"CBUFNO= *n*\",\"type\":\"value\",\"supportSiteInformation\":{\"docsetId\":\"lesysoptsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p0i9ua0byr9mben1swmc8qaxq7io.htm\"}},{\"name\":\"CENTER\",\"aliases\":[\"CENTRE\"],\"description\":\"centers SAS procedure output.\",\"type\":\"standalone\",\"supportSiteInformation\":{\"docsetId\":\"lesysoptsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n017xso4bnme1zn127nct3t8ornv.htm\"}},{\"name\":\"CGOPTIMIZE=\",\"aliases\":[\"CGOPT\"],\"description\":\"Specifies the level of optimization to perform during code compilation.\",\"help\":\"CGOPTIMIZE= 0 | 1 | 2 | 3\",\"type\":\"choice\",\"arguments\":[{\"name\":\"0\",\"optional\":true,\"description\":\"specifies not to perform optimization.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1c6n9nmyiremqn1p4d6mndlx101\"},{\"name\":\"1\",\"optional\":true,\"description\":\"specifies to perform stage 1 optimization. Stage 1 optimization removes redundant instructions, missing value checks, and repetitive computations for array subscriptions; detects patterns of instructions and replaces them with more efficient sequences.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1th0a8fg5nt9hn1ufhixx2n5ged\"},{\"name\":\"2\",\"optional\":true,\"description\":\"specifies to perform stage 2 optimization. Stage 2 performs optimizations that pertain to the SAS register.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1rlsaoz5t6jm1n1c65qp9v4p846\"},{\"name\":\"3\",\"optional\":true,\"description\":\"specifies to perform full optimization, which is a combination of stages 1 and 2.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1kr6kigu709obn18z0pzeb5gtdy\"}],\"supportSiteInformation\":{\"docsetId\":\"lesysoptsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n0m5u2waj9ttsxn1d1g7jl2sryoq.htm\"}},{\"name\":\"CHARCODE\",\"description\":\"allows certain character combinations to be substituted for special characters that might not be on your keyboard.\",\"type\":\"standalone\",\"supportSiteInformation\":{\"docsetId\":\"lesysoptsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p12ulbwcvihdn8n148ho3uurhse9.htm\"}},{\"name\":\"CLEANUP\",\"description\":\"specifies that during the entire session, SAS attempts to perform automatic, continuous cleanup of resources that are not essential for execution. Nonessential resources include resources that are not visible to the user (for example, cache memory) and resources that are visible to the user (for example, the KEYS windows).\",\"type\":\"standalone\",\"supportSiteInformation\":{\"docsetId\":\"lesysoptsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p0i494n8ucv8qcn1shaqia15jugk.htm\"}},{\"name\":\"CMDMAC\",\"description\":\"Controls command-style macro invocation.\",\"type\":\"standalone\",\"supportSiteInformation\":{\"docsetId\":\"mcrolref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n01942p8irrc7sn1csuqaxx299vj.htm\"}},{\"name\":\"CMPLIB=\",\"description\":\"Specifies one or more SAS data sets that contain compiler subroutines to include during program compilation.\",\"help\":\"CMPLIB= libref.data-set  |  (libref.data-set(s) < _DISPLAYLOC_>) | \\n(libref.data-set-m–libref.data-set-n < _DISPLAYLOC_>)\\\\nCMPLIB= _DISPLAYLOC_\\\\nCMPLIB= _NO_DISPLAYLOC_\",\"type\":\"choice\",\"arguments\":[{\"name\":\"libref.data-set\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the libref and the data set of the compiler subroutines that are to be included during program compilation. The libref and data-set must be valid SAS names.\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"n123whle257a1en1g3j7m0w4nygj\"},{\"name\":\"libref.data-set-m\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies a range of compiler subroutines that are to be included during program compilation. The name of the libref and the data set must be valid SAS names that contain a numeric suffix.\",\"help\":\"*libref.data-set-m* – *libref.data-set-n*\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"p0kvu9b8x6z8zsn18g3o1hb8q4t3\"}],\"supportSiteInformation\":{\"docsetId\":\"lesysoptsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p128h36bs9q0bon1mqwrlgxb9ucp.htm\"}},{\"name\":\"CMPMODEL\",\"description\":\"Specifies the output model type for the MODEL procedure.\",\"help\":\"CMPMODEL =BOTH | CATALOG | XML\",\"type\":\"choice\",\"arguments\":[{\"name\":\"BOTH\",\"optional\":true,\"description\":\"specifies that the MODEL procedure create two output types for a model, one as a SAS catalog entry and the other as an XML file.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1ey9szks82h5fn1tn2ula73if9i\"},{\"name\":\"CATALOG\",\"optional\":true,\"description\":\"specifies that the output model type is an entry in a SAS catalog.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0f7x7g7gns8r3n12ti0rspk6gaq\"},{\"name\":\"XML\",\"optional\":true,\"description\":\"specifies that the output model type is an XML file.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p197c38ocq10x5n1d0anzelrzpsj\"}],\"supportSiteInformation\":{\"docsetId\":\"lesysoptsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p0d5v8ek8cp29en1k4a7n3gt3ldt.htm\"}},{\"name\":\"CMPOPT=\",\"description\":\"Specifies the type of code generation optimizations to use in the SAS language compiler.\",\"help\":\"CMPOPT= *optimization-value* | (*optimization-value(s)*) | \\\"*optimization-value(s)*\\\" | ALL | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"CONSTANTFOLDING\",\"description\":\"specifies to evaluate numeric and character literal expressions at compile time for supported operations. When you specify NOCONSTANTFOLDING, numeric and character literal expressions are evaluated at runtime.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p14h2i2cllfyg6n1ldr4t8oux1la\"},{\"name\":\"NOCONSTANTFOLDING\",\"description\":\"specifies to evaluate numeric and character literal expressions at compile time for supported operations. When you specify NOCONSTANTFOLDING, numeric and character literal expressions are evaluated at runtime.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p14h2i2cllfyg6n1ldr4t8oux1la\"},{\"name\":\"EXTRAMATH\",\"description\":\"specifies to keep or remove mathematical operations that do not affect the outcome of a statement. When you specify EXTRAMATH, the compiler retains the extra mathematical operations. When you specify NOEXTRAMATH, the extra mathematical operations are removed.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0pks16c1p2b41n1vu86uqwboeoh\"},{\"name\":\"NOEXTRAMATH\",\"description\":\"specifies to keep or remove mathematical operations that do not affect the outcome of a statement. When you specify EXTRAMATH, the compiler retains the extra mathematical operations. When you specify NOEXTRAMATH, the extra mathematical operations are removed.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0pks16c1p2b41n1vu86uqwboeoh\"},{\"name\":\"FUNCDIFFERENCING\",\"description\":\"specifies whether analytic derivatives are computed for user-defined functions. When you specify NOFUNCDIFFERENCING, analytic derivatives are computed for user-defined functions. When you specify FUNCDIFFERENCING, numeric differencing is used to calculate derivatives for user-defined functions. The default is NOFUNCDIFFERENCING.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1fxeoo6gpp5k5n1gumikp0j33g2\"},{\"name\":\"NOFUNCDIFFERENCING\",\"description\":\"specifies whether analytic derivatives are computed for user-defined functions. When you specify NOFUNCDIFFERENCING, analytic derivatives are computed for user-defined functions. When you specify FUNCDIFFERENCING, numeric differencing is used to calculate derivatives for user-defined functions. The default is NOFUNCDIFFERENCING.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1fxeoo6gpp5k5n1gumikp0j33g2\"},{\"name\":\"GUARDCHECK\",\"description\":\"specifies whether to check for array boundary problems. When you specify GUARDCHECK, the compiler checks for array boundary problems. When you specify NOGUARDCHECK, the compiler does not check for array boundary problems.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0jbmrbadfaonan0zsqctjucioav\"},{\"name\":\"NOGUARDCHECK\",\"description\":\"specifies whether to check for array boundary problems. When you specify GUARDCHECK, the compiler checks for array boundary problems. When you specify NOGUARDCHECK, the compiler does not check for array boundary problems.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0jbmrbadfaonan0zsqctjucioav\"},{\"name\":\"MISSCHECK\",\"description\":\"specifies whether to check for missing values in the data. If the data contains a significant amount of missing data, then you can optimize the compilation by specifying MISSCHECK. If the data rarely contains missing values, then you can optimize the compilation by specifying NOMISSCHECK.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1rsw5bykaefnkn1qf9cij3jex5p\"},{\"name\":\"NOMISSCHECK\",\"description\":\"specifies whether to check for missing values in the data. If the data contains a significant amount of missing data, then you can optimize the compilation by specifying MISSCHECK. If the data rarely contains missing values, then you can optimize the compilation by specifying NOMISSCHECK.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1rsw5bykaefnkn1qf9cij3jex5p\"},{\"name\":\"PRECISE\",\"description\":\"specifies to handle exceptions at an operation boundary or at a statement boundary. When you specify PRECISE, exceptions are handled at the operation boundary. When you specify NOPRECISE, exceptions are handled at the statement boundary.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p04pnjq7phq77pn18lihrzia24gj\"},{\"name\":\"NOPRECISE\",\"description\":\"specifies to handle exceptions at an operation boundary or at a statement boundary. When you specify PRECISE, exceptions are handled at the operation boundary. When you specify NOPRECISE, exceptions are handled at the statement boundary.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p04pnjq7phq77pn18lihrzia24gj\"},{\"name\":\"PROFILE\",\"description\":\"specifies to append to the end of the profiling data set the total execution time for each function in a CMP statement.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p141gjvrrxytoen1cltyo3mk2fw1\"},{\"name\":\"NOPROFILE\",\"description\":\"specifies to append to the end of the profiling data set the total execution time for each function in a CMP statement.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p141gjvrrxytoen1cltyo3mk2fw1\"},{\"name\":\"SHORTCIRCUIT\",\"description\":\"specifies whether to optimize the evaluation of expressions that use multiple logical operators.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1ncdgbkb6sqp6n1nfgmmo7rifai\"},{\"name\":\"NOSHORTCIRCUIT\",\"description\":\"specifies whether to optimize the evaluation of expressions that use multiple logical operators.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1ncdgbkb6sqp6n1nfgmmo7rifai\"},{\"name\":\"ALL\",\"optional\":true,\"description\":\"specifies that the compiler is to optimize the machine language code by using the (CONSTANTFOLDING NOEXTRAMATH NOMISSCHECK NOPRECISE NOFUNCDIFFERENCING SHORTCIRCUIT) optimization values.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n077456hsbmvc8n1la637o948koj\"},{\"name\":\"NONE\",\"optional\":true,\"description\":\"specifies that the compiler is not set to optimize the machine language code by using the (NOCONSTANTFOLDING EXTRAMATH MISSCHECK PRECISE FUNCDIFFERENCING NOSHORTCIRCUIT) optimization values.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0kap7cnr9hbvmn1jyg1yikckj5a\"}],\"supportSiteInformation\":{\"docsetId\":\"lesysoptsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n16rhscxem9ljwn1kuhn5170xkbg.htm\"}},{\"name\":\"COLOPHON=\",\"description\":\"Specifies a text string that is embedded in a graphic file or a PDF that is created by Universal Printers. The text string is not displayed in the rendered graphic or PDF.\",\"help\":\"COLOPHON= \\\"*text-string*\\\"\",\"type\":\"value\",\"arguments\":[{\"name\":\"text-string\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the text that is embedded in a graphic file.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0envh4p1kwx6qn16dnkz4g8m7ca\"}],\"supportSiteInformation\":{\"docsetId\":\"lesysoptsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p1atoufd319xx3n0zjaf35l13pfy.htm\"}},{\"name\":\"COLORPRINTING\",\"description\":\"specifies to attempt to print in color.\",\"type\":\"standalone\",\"supportSiteInformation\":{\"docsetId\":\"lesysoptsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p0kdkpp493wivsn119cv9glcz3t8.htm\"}},{\"name\":\"COMPRESS=\",\"description\":\"Specifies to compress SPD Engine data sets on disk as they are being created.\",\"help\":\"COMPRESS= NO | CHAR | BINARY\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NO\",\"description\":\"performs no data set compression.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1m4e8v7wjuz29n1et4inhvljeu3\"},{\"name\":\"CHAR\",\"aliases\":[\"YES\"],\"description\":\"specifies that data in an SPD Engine data set be compressed in blocks by using RLE (run-length encoding). RLE compresses data by reducing repeated runs of the same character (including a blank space) to two-byte or three-byte representations.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0nqaq638985m2n15fdtagbkfbvr\"},{\"name\":\"BINARY\",\"description\":\"specifies that data in an SPD Engine data set be compressed in blocks by using RDC (Ross Data Compression). RDC combines RLE and sliding window compression to compress the file by representing repeated byte patterns more efficiently.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0kxfjpxh6k31mn1r02h220axbji\"}],\"supportSiteInformation\":{\"docsetId\":\"engspde\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n18x0srmvl6e14n1g6lmja4mm9oy.htm\"}},{\"name\":\"CPUCOUNT=\",\"description\":\"Specifies the number of processors that the thread-enabled applications should assume are available for concurrent processing.\",\"help\":\"CPUCOUNT= 1 - 1024 | ACTUAL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"1-1024\",\"optional\":true,\"description\":\"is the number of CPUs that SAS assumes are available for use by thread-enabled applications.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1dmjxkuw75jlxn1eg97qjetyk6f\"},{\"name\":\"ACTUAL\",\"optional\":true,\"description\":\"returns the number of physical processors that are associated with the operating system where SAS is executing. If the operating system is executing in a partition, the value of the CPUCOUNT= option is the number of physical processors that are associated with the operating system in that partition.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1ebvxfw425sr4n1a5dcdinyc889\"}],\"supportSiteInformation\":{\"docsetId\":\"lesysoptsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p14arc7flhenwqn1v1gipt9e49om.htm\"}},{\"name\":\"DATASTMTCHK=\",\"description\":\"Specifies which SAS statement keywords are prohibited from being specified as a one-level DATA step name to protect against overwriting an input data set.\",\"help\":\"DATASTMTCHK= COREKEYWORDS | ALLKEYWORDS | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"COREKEYWORDS\",\"optional\":true,\"description\":\"prohibits certain words as one-level SAS data set names in the DATA statement. They can appear as two-level names. The following keywords cannot appear as one-level SAS data set names:\\n• MERGE\\n• RETAIN\\n• SET\\n• UPDATE.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1p8o5jjkscjben117xb7rldohmv\"},{\"name\":\"ALLKEYWORDS\",\"optional\":true,\"description\":\"prohibits any keyword that can begin a statement in the DATA step (for example, ABORT, ARRAY, INFILE) as a one-level data set name in the DATA statement.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p16aj5bbqsj3ern1nalxw878lact\"},{\"name\":\"NONE\",\"optional\":true,\"description\":\"provides no protection against overwriting SAS data sets.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n111ydvn3u6oadn1kafzunxc8sq0\"}],\"supportSiteInformation\":{\"docsetId\":\"lesysoptsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n1ac3061djqjaan19uhyba31gwfa.htm\"}},{\"name\":\"DATE\",\"description\":\"specifies that the date and the time at which the SAS program started are printed at the top of each page of the SAS log and any output that is created by SAS.\",\"type\":\"standalone\",\"supportSiteInformation\":{\"docsetId\":\"lesysoptsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n0dfjdeat9ablan1xhf1n58d5sfw.htm\"}},{\"name\":\"DATESTYLE=\",\"description\":\"Specifies the sequence of month, day, and year when ANYDTDTE, ANYDTDTM, or ANYDTTME informat data is ambiguous.\",\"help\":\"DATESTYLE= MDY | YMD | DMY | LOCALE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"MDY\",\"optional\":true,\"description\":\"specifies that SAS set the order as month, day, year.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0q7lj7i15iawun1ks08qsa6akvj\"},{\"name\":\"YMD\",\"optional\":true,\"description\":\"specifies that SAS set the order as year, month, day.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p06hoadvurkw5mn10aclvapujbmd\"},{\"name\":\"DMY\",\"optional\":true,\"description\":\"specifies that SAS set the order as day, month, year.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0qai3n7qj43mvn1kwdcrlkqwr44\"},{\"name\":\"LOCALE\",\"optional\":true,\"description\":\"specifies that SAS set the order based on the value that corresponds to the LOCALE= system option value and is one of the following: MDY | YMD | DMY.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1nqcspzuay59an1tu65gszqw75z\"}],\"supportSiteInformation\":{\"docsetId\":\"lesysoptsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n0cmg3tjkn6zmbn1od6pna244zm7.htm\"}},{\"name\":\"DBFMTIGNORE\",\"description\":\"specifies that numeric formats are ignored and FLOAT data type is created.\",\"type\":\"standalone\",\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_011\",\"docsetTargetFile\":\"p1syj62v6df7cin1pwzcriu0x6uh.htm\"}},{\"name\":\"DBIDIRECTEXEC\",\"description\":\"indicates that the SQL pass-through facility optimizes handling of SQL statements by passing them directly to the database for execution, which optimizes performance. Using this option, you can process CREATE TABLE AS SELECT, INSERT INTO TABLE, INSERT INTO VALUES, UPDATE, and DELETE statements for the SQL procedure.\",\"type\":\"standalone\",\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_011\",\"docsetTargetFile\":\"n0n7t01ycak5ffn13lt20q1t53rl.htm\"}},{\"name\":\"DBSLICEPARM=\",\"description\":\"Controls the scope of DBMS threaded Reads and the number of threads.\",\"help\":\"DBSLICEPARM= NONE | THREADED_APPS | ALL\\\\nDBSLICEPARM=  ( NONE | THREADED_APPS | ALL&lt;*max-threads*&gt;             )\\\\nDBSLICEPARM=  (             NONE | THREADED_APPS | ALL&lt;, *max-threads*&gt;)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NONETHREADED_APPSALL\",\"description\":\"specifies how to manage threaded Reads from your data source.\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NONE\",\"type\":\"standalone\"},{\"name\":\"THREADED_APPS\",\"type\":\"standalone\"},{\"name\":\"ALL\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"p069mj35n50hzjn1jwzcjmq0wmoh\"}],\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_011\",\"docsetTargetFile\":\"p01dwdqh5tmuu9n1blkl7jjabtq5.htm\"}},{\"name\":\"DEBUGOPT=\",\"description\":\"Specifies the host and port where debugging SAS languages occurs\",\"help\":\"DEBUGOPT= “&lt;DEBUGHOST=*debug-host*&gt;&lt;, DEBUGPORT=*debug-port-number*&gt;”\",\"type\":\"standaloneOrValue\",\"arguments\":[{\"name\":\"DEBUGHOST=\",\"optional\":true,\"description\":\"specifies the name of the host where debugging occurs. The maximum number of characters is 1,024.\",\"help\":\"DEBUGHOST=*debug-host*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0pdoyrycrrpa1n1cgmdd3dz3srs\"},{\"name\":\"DEBUGPORT=\",\"optional\":true,\"description\":\"specifies the port number of the host where debugging occurs.\",\"help\":\"DEBUGPORT=*debug-port-number*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1cqcl4up33hbbn16kav1op5oquf\"}],\"supportSiteInformation\":{\"docsetId\":\"lesysoptsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p01j7nit9g5umyn1w9uwy0mvtcq3.htm\"}},{\"name\":\"DECIMALCONV=\",\"description\":\"Specifies the binary to decimal conversion and formatting methodology.\",\"help\":\"DECIMALCONV= COMPATIBLE | STDIEEE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"COMPATIBLE\",\"optional\":true,\"aliases\":[\"COMPAT\"],\"description\":\"Use this option when SAS output might be processed by existing applications that are sensitive to the details of formatting.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0uu5e7g3ejb1nn1v38e7152hmuk\"},{\"name\":\"STDIEEE\",\"optional\":true,\"description\":\"specifies to convert and format decimal values by using the IEEE Standard for Floating-Point Arithmetic 754-2008. Using the STDIEEE argument improves the accuracy and readability of floating-point numbers. In some cases, more significant digits can be displayed in the same field width.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0qduxoe7rw64bn1fs97mqcftpr5\"}],\"supportSiteInformation\":{\"docsetId\":\"lesysoptsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n130tap9xs8q36n14gq23sci5y52.htm\"}},{\"name\":\"DETAILS\",\"description\":\"includes additional information when some SAS procedures and windows display a listing of files in a SAS library.\",\"type\":\"standalone\",\"supportSiteInformation\":{\"docsetId\":\"lesysoptsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n0v54tw1kqg4qsn1e00e60wy4s10.htm\"}},{\"name\":\"DEVICE=\",\"aliases\":[\"DEV=\"],\"description\":\"Specifies the device driver to which SAS/GRAPH sends procedure output.\",\"help\":\"DEVICE= *device-driver-specification*\",\"type\":\"value\",\"arguments\":[{\"name\":\"device-driver-specification\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the name of a device driver.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0b5o8hhc8wouun1dprqbf2dsj7s\"}],\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"n0sfduua0e145gn1d8ez4qs8lcu9.htm\"}},{\"name\":\"DFLANG=\",\"description\":\"Specifies the language for international date informats and formats.\",\"help\":\"DFLANG= '*language*',LOCALE\",\"type\":\"standalone\",\"arguments\":[{\"name\":\"'language'\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the language that is used for international date informats and formats.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0074euhvkrog5n1905lqdpt4gl1\"},{\"name\":\"LOCALE\",\"optional\":true,\"description\":\"the locale that is specified with the LOCALE system option becomes the active locale.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p01di0f1pbkf5an13zozx8u2r2l6\"}],\"supportSiteInformation\":{\"docsetId\":\"nlsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n18m5lfc5965ejn0z54mujcjq9zx.htm\"}},{\"name\":\"DKRICOND=\",\"description\":\"Specifies the level of error detection to report when a variable is missing from an input data set during the processing of a DROP=, KEEP=, or RENAME= data set option.\",\"help\":\"DKRICOND= ERROR | WARNING | NOWARNING\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ERROR\",\"optional\":true,\"description\":\"sets the error flag and writes an error message to the SAS log when a variable is missing from an input data set during the processing of a DROP=, KEEP=, or RENAME= data set option.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0xyecnxson3jyn131ixz44bv66k\"},{\"name\":\"WARNING\",\"optional\":true,\"aliases\":[\"WARN\"],\"description\":\"writes a warning message to the SAS log when a variable is missing from an input data set during the processing of a DROP=, KEEP=, or RENAME= data set option.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n01wkx6g5fq35dn1usywusuxa3hf\"},{\"name\":\"NOWARNING\",\"optional\":true,\"aliases\":[\"NOWARN\"],\"description\":\"does not write a warning message to the SAS log when a variable is missing from an input data set during the processing of a DROP=, KEEP=, or RENAME= data set option.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0uphtf4u2imhsn1g2vmotvq97a2\"}],\"supportSiteInformation\":{\"docsetId\":\"lesysoptsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p11ksgdhjx7369n1dpiry84z7gjn.htm\"}},{\"name\":\"DKROCOND=\",\"description\":\"Specifies the level of error detection to report when a variable is missing for an output data set during the processing of a DROP=, KEEP=, or RENAME= data set option.\",\"help\":\"DKROCOND= ERROR | WARNING | NOWARNING\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ERROR\",\"optional\":true,\"description\":\"sets the error flag and writes an error message to the SAS log when a variable is missing for an output data set during the processing of a DROP=, KEEP=, or RENAME= data set option.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p02xabu03o83qwn18csp4e26v63a\"},{\"name\":\"WARNING\",\"optional\":true,\"aliases\":[\"WARN\"],\"description\":\"writes a warning message to the SAS log when a variable is missing for an output data set during the processing of a DROP=, KEEP=, or RENAME= data set option.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0dwkk0c9jnkz1n1omlm8gyjpfrl\"},{\"name\":\"NOWARNING\",\"optional\":true,\"aliases\":[\"NOWARN\"],\"description\":\"does not write a warning message to the SAS log when a variable is missing for an output data set during the processing of a DROP=, KEEP=, or RENAME= data set option.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n07g1tlrhcr4mnn0zl598cj90we8\"}],\"supportSiteInformation\":{\"docsetId\":\"lesysoptsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p0rvc5jmhoebkun1tj10qv4gd2jx.htm\"}},{\"name\":\"DLCREATEDIR\",\"description\":\"specifies to create a directory for a SAS library that is named in a LIBNAME statement if the directory does not exist.\",\"type\":\"standalone\",\"supportSiteInformation\":{\"docsetId\":\"lesysoptsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n1pihdnfpj4b32n1t62lx0zdsmdn.htm\"}},{\"name\":\"DLDMGACTION=\",\"description\":\"Specifies the type of action to take when a SAS data set or a SAS catalog is detected as damaged.\",\"help\":\"DLDMGACTION= FAIL | ABORT | REPAIR | NOINDEX | PROMPT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"FAIL\",\"optional\":true,\"description\":\"stops the step and issues an error message to the log immediately.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1bg5qcymdbntxn1acj53ozl9swu\"},{\"name\":\"ABORT\",\"optional\":true,\"description\":\"terminates the step and issues an error message to the log, and ends the SAS session.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0oeh2dbrz4az6n1po370vqp9vxd\"},{\"name\":\"REPAIR\",\"optional\":true,\"description\":\"For data files, automatically repairs and rebuilds indexes and integrity constraints, unless the data file is truncated. You use the REPAIR statement to restore the truncated data file. It issues a warning message to the log. For catalogs, REPAIR automatically deletes catalog entries for which an error occurs during the repair process.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1lmq5peedpbgun1big6x9usoqy7\"},{\"name\":\"NOINDEX\",\"optional\":true,\"description\":\"For data files, automatically repairs the data file without the indexes and integrity constraints, deletes the index file, updates the data file to reflect the disabled indexes and integrity constraints, and limits the data file to be opened only in INPUT mode. A warning is written to the SAS log instructing you to execute the PROC DATASETS REBUILD statement to correct or delete the disabled indexes and integrity constraints.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1emtaw3rx7nv9n12xqd2psgpphx\"},{\"name\":\"PROMPT\",\"optional\":true,\"description\":\"For data sets, displays a dialog box where you can specify either FAIL, ABORT, REPAIR, or NOINDEX. For a damaged catalog or library, PROMPT displays a dialog box where you can specify either FAIL, ABORT, or REPAIR.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0sdbx0m69of4ln1tq7t620ab77i\"}],\"supportSiteInformation\":{\"docsetId\":\"lesysoptsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p0tmodc2gpo5bpn11bmq0lihyp9z.htm\"}},{\"name\":\"DQLOCALE=\",\"description\":\"Specifies a locale, or an ordered list of locales\",\"help\":\"DQLOCALE= (*locale-1*&lt;*locale-2*&gt; ...&lt;*locale-n*&gt;)\",\"type\":\"value\",\"arguments\":[{\"name\":\"locale-1\",\"placeholder\":true,\"description\":\"specifies the QKB ISO codes for the default locale.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0585h8wdv6aphn1t9lmq90sc264\"},{\"name\":\"locale-2\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies an optional ordered list of locales. The ordered list is used only for locale guessing with the DQLOCALEGUESS function. If a list is specified, the default locale is the first locale in the list. All of the locales in the list must exist in the Quality Knowledge Base.\",\"help\":\"\\n                        locale-2\\n                         ...\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p007q3p9txfnhqn147991kjjmkl1\"}],\"supportSiteInformation\":{\"docsetId\":\"dqclref\",\"docsetVersion\":\"v_008\",\"docsetTargetFile\":\"n0nxvx50har4tfn1w4p81sv50urp.htm\"}},{\"name\":\"DQOPTIONS=\",\"description\":\"Specifies SAS session parameters for data quality programs.\",\"help\":\"DQOPTIONS= (DQSRVPROTOCOL= | &lt;TRANSCODE= | &gt;&lt;IWA= | &gt;)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DQSRVPROTOCOL=\",\"description\":\"specifies the SAS Data Quality Server protocol. In operating environments, other than z/OS, the default SOAP protocol is recommended.\",\"type\":\"choice\",\"arguments\":[{\"name\":\"SOAP\",\"description\":\"specifies to use the Simple Object Access Protocol (SOAP).\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0z14ggtbhe8r6n1w07ccqb4sl11\"},{\"name\":\"WIRELINE\",\"description\":\"specifies the Wireline protocol in the z/OS operating environment. The Wireline protocol improves data transfer performance in z/OS. In the SAS Data Quality Server software, z/OS support encompasses the DMSRVDATASVC procedure and all functions.\",\"help\":\"WIRELINE \",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n04q6z3b6hav5fn1po143wir2x3x\"}],\"supportSiteTargetFragment\":\"p101dyrmlthgqwn1rfi3taqg7kyd\"},{\"name\":\"TRANSCODE=\",\"optional\":true,\"description\":\"specifies whether transcoding errors end SAS processing.\\n• Errors can also occur when transcoding the 's character set into the character set that is used in the SAS session. \\n• Transcoding errors can occur if characters in the source data cannot be converted into the character set that is used by the selected .\",\"type\":\"choice\",\"arguments\":[{\"name\":\"IGNORE\",\"description\":\"prevents writing of transcoding warning messages to the SAS log. SAS processing continues and ignores any transcoding errors.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n13s7hy4p9zi0yn18dingf1jigho\"},{\"name\":\"WARN\",\"description\":\"writes transcoding error messages to the SAS log, and SAS stops processing.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0p7pkasni8dtsn13y0sydsmoxdf\"}],\"supportSiteTargetFragment\":\"p1fzd3x7snijjqn1xthb33p4d21a\"}],\"supportSiteInformation\":{\"docsetId\":\"dqclref\",\"docsetVersion\":\"v_008\",\"docsetTargetFile\":\"p1mttrrpeit2s2n1ah5e9dfoo99s.htm\"}},{\"name\":\"DQSETUPLOC=\",\"description\":\"Specifies the location of the root directory of the Quality Knowledge Base.\",\"help\":\"DQSETUPLOC= ('*qkb-name*')\",\"type\":\"value\",\"arguments\":[{\"name\":\"qkb-name\",\"placeholder\":true,\"description\":\"The name of the Quality Knowledge Base. The default value is QKB CI 33.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0n93pztfvz5pin1q1iy1mu6hqij\"}],\"supportSiteInformation\":{\"docsetId\":\"dqclref\",\"docsetVersion\":\"v_008\",\"docsetTargetFile\":\"p05cvyz39h18njn1hmmklso5uv53.htm\"}},{\"name\":\"DS2SCOND=\",\"description\":\"Specifies the level of messages that PROC DS2 displays in the SAS log for the DS2 variable declaration strict mode, which requires that every variable must be declared in the DS2 program.\",\"help\":\"DS2SCOND= ERROR | NONE | NOTE | WARNING\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ERROR\",\"aliases\":[\"ERR\"],\"description\":\"writes error messages to the SAS log.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0omg5cxwqglmnn1l0z03bkvbr2e\"},{\"name\":\"NONE\",\"description\":\"no messages are written to the SAS log.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n135uc8at7e8d6n1eyk7rajpmhgk\"},{\"name\":\"NOTE\",\"description\":\"writes notes to the SAS log.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0bcfhs8w1djz7n1ejc4m0dvbk7q\"},{\"name\":\"WARNING\",\"aliases\":[\"WARN\"],\"description\":\"writes warning messages to the SAS log. This is the default.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1cnpngp6cslfxn1liubbke2ogo4\"}],\"supportSiteInformation\":{\"docsetId\":\"ds2ref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n0pmmkjo0l4lhln1x856tgqnkhhk.htm\"}},{\"name\":\"DSACCEL=\",\"description\":\"Specifies whether the DATA step is enabled for in-database processing in supported environments.\",\"help\":\"DSACCEL= ANY | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ANY\",\"optional\":true,\"description\":\"enables the DATA step to execute with in-database processing.\",\"help\":\"ANY \",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p08wt6xpoy9f3mn1awvmd1sf559g\"},{\"name\":\"NONE\",\"optional\":true,\"description\":\"disables the DATA step from executing with in-database processing.\",\"help\":\"NONE \",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0tyxcmjgs593un1jmkttev2mgf6\"}],\"supportSiteInformation\":{\"docsetId\":\"indbug\",\"docsetVersion\":\"v_002\",\"docsetTargetFile\":\"n15u2yf2lsayjpn151fd9t7ga7k0.htm\"}},{\"name\":\"DSNFERR\",\"description\":\"specifies that SAS issue an error message and stop processing if a reference is made to a SAS data set that does not exist.\",\"type\":\"standalone\",\"supportSiteInformation\":{\"docsetId\":\"lesysoptsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p1o6bsb5wep7ahn1f8mlw3jf2drq.htm\"}},{\"name\":\"DTRESET\",\"description\":\"specifies that SAS update the date and time in the titles of the SAS log and the procedure output file.\",\"type\":\"standalone\",\"supportSiteInformation\":{\"docsetId\":\"lesysoptsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n04garu7xnh3ppn1swye15i8s0fx.htm\"}},{\"name\":\"ECHOAUTO\",\"description\":\"specifies that the SAS statements in the AUTOEXEC= file are written to the SAS log as they are executed.\",\"type\":\"standalone\",\"supportSiteInformation\":{\"docsetId\":\"lesysoptsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n0aeqd6gt2adqhn19f4qpg37kksr.htm\"}},{\"name\":\"EMAILACKWAIT=\",\"description\":\"Specifies the number of seconds that SAS waits to receive an acknowledgment from an SMTP server.\",\"help\":\"EMAILACKWAIT= *number-of-seconds*\",\"type\":\"value\",\"arguments\":[{\"name\":\"number-of-seconds\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the number of seconds that SAS waits to receive an acknowledgment from an SMTP server.\",\"help\":\"*number-of-seconds* \",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0vfr4anxmy4pfn1w0q03yst4y11\"}],\"supportSiteInformation\":{\"docsetId\":\"lesysoptsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n1s3ofo2vn63bln10wnrh4stkty2.htm\"}},{\"name\":\"EMAILAUTHPROTOCOL=\",\"description\":\"Specifies the authentication protocol for SMTP email.\",\"help\":\"EMAILAUTHPROTOCOL= NONE | LOGIN |  PLAIN\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NONE\",\"optional\":true,\"description\":\"specifies that no authentication protocol is used.\",\"help\":\"NONE \",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1ummookqetjs0n110t9mvwzi6v7\"},{\"name\":\"LOGIN\",\"optional\":true,\"description\":\"specifies that the LOGIN authentication protocol is used.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0sg4jmnyw69x7n1rh64c51vy8zh\"},{\"name\":\"PLAIN\",\"optional\":true,\"description\":\"specifies that the PLAIN authentication protocol is used. The PLAIN authentication protocol encodes the user ID and password in BASE64 and encodes them as one string.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1tj6mywsoxdwen1mgqe86348x3u\"}],\"supportSiteInformation\":{\"docsetId\":\"lesysoptsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n1hvusly6stc7an16p23om7xfem7.htm\"}},{\"name\":\"EMAILFROM\",\"description\":\"specifies that the FROM email option is required when sending email by using either the FILE or FILENAME statements.\",\"type\":\"standalone\",\"supportSiteInformation\":{\"docsetId\":\"lesysoptsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n019az3lkee2bun1grhii379mhw8.htm\"}},{\"name\":\"EMAILHOST=\",\"description\":\"Specifies one or more SMTP servers that support email access.\",\"help\":\"EMAILHOST= *server* | (*server*) | \\\"*server*\\\"\\\\nEMAILHOST= (*'server-1'* &lt;*options*&gt; &lt;*'server-2'*&gt; &lt;*options*&gt;  ...)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"server\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies one or more Simple Mail Transfer Protocol (SMTP) server domain names for your site.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0fnilz41cl65bn16147pmekjp1u\"}],\"supportSiteInformation\":{\"docsetId\":\"lesysoptsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p1v9dr6zep9p9en1prhl6tdy3igx.htm\"}},{\"name\":\"EMAILID\",\"description\":\"Identifies an email sender by specifying either a logon ID, an email profile, or an email address.\",\"help\":\"EMAILID = *logonid* | *profile* | *email-address*\",\"type\":\"choice\",\"arguments\":[{\"name\":\"logonid\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the logon ID for the user running SAS.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0pjtl1dboxt0cn197bhmdlhvvyi\"},{\"name\":\"profile\",\"optional\":true,\"placeholder\":true,\"description\":\"see documentation for your email system to determine the profile name.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0ck76ezupjs1wn1bdvqq5tdorko\"},{\"name\":\"email-address\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the fully qualified email address of the user running SAS.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0bj4pca1cfaign1wpoksfobo1uc\"}],\"supportSiteInformation\":{\"docsetId\":\"lesysoptsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n0vf9ol8a0263fn121kjocth4f2g.htm\"}},{\"name\":\"EMAILPORT=\",\"description\":\"Specifies the port that the SMTP server is attached to.\",\"help\":\"EMAILPORT= *port-number*\",\"type\":\"value\",\"arguments\":[{\"name\":\"port-number\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the port number that is used by the SMTP server that you specified on the EMAILHOST option.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1ku6dco1fvuwcn1whn5mmo1firu\"}],\"supportSiteInformation\":{\"docsetId\":\"lesysoptsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p0719qq0gsyyuln1b2vuwyk1ylu6.htm\"}},{\"name\":\"EMAILPW=\",\"description\":\"Specifies an email logon password.\",\"help\":\"EMAILPW=  \\\"*password*\\\" \",\"type\":\"value\",\"arguments\":[{\"name\":\"password\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the logon password for your logon name.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0bo5d8i3j6nvbn1nf3gx0wycyxn\"}],\"supportSiteInformation\":{\"docsetId\":\"lesysoptsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n1ulfalu3hfdsxn1nct1xjl6lptv.htm\"}},{\"name\":\"EMAILUTCOFFSET=\",\"description\":\"For email that is sent using the FILENAME statement EMAIL (SMTP) access method, specifies a UTC offset that is used in the Date header field of the email message.\",\"help\":\"EMAILUTCOFFSET= \\\"+*hhmm*\\\" | \\\"-*hhmm*\\\"\",\"type\":\"choice\",\"arguments\":[{\"name\":\"\\\"+hhmm\\\"\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the number of hours and minutes that are used as the UTC offset in the Date header field of an email. Use the UTC offset to establish the local time.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0rlhmqfgwdxsdn1pckrelzvgoln\"},{\"name\":\"\\\"-hhmm\\\"\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the number of hours and minutes that are used as the UTC offset in the Date header field of an email. Use the UTC offset to establish the local time.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0rlhmqfgwdxsdn1pckrelzvgoln\"}],\"supportSiteInformation\":{\"docsetId\":\"lesysoptsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n1pfaz2mryihfpn18zr7e2mxhamm.htm\"}},{\"name\":\"ERRORABEND\",\"aliases\":[\"ERRABEND\"],\"description\":\"specifies that SAS terminate for most errors (including syntax errors and file not found errors) that would normally cause it to issue an error message, set OBS=0, and go into syntax-check mode (if syntax checking is enabled). SAS also terminates if an error occurs in any global statement other than the LIBNAME and FILENAME statements.\",\"type\":\"standalone\",\"supportSiteInformation\":{\"docsetId\":\"lesysoptsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n1w4v7ouc6vfhmn1cnsq5aunqk2j.htm\"}},{\"name\":\"ERRORBYABEND\",\"description\":\"specifies that SAS ends a program for BY-group error conditions that would normally cause it to issue an error message.\",\"type\":\"standalone\",\"supportSiteInformation\":{\"docsetId\":\"lesysoptsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n0m7a75t5mj45yn1bby8jpz791c5.htm\"}},{\"name\":\"ERRORCHECK=\",\"description\":\"Specifies whether SAS enters syntax-check mode when errors are found in the LIBNAME, FILENAME, %INCLUDE, and LOCK statements.\",\"help\":\"ERRORCHECK= NORMAL | STRICT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NORMAL\",\"optional\":true,\"description\":\"specifies not to place the SAS program into syntax-check mode when an error occurs in a LIBNAME or FILENAME statement. In addition, the program or session does not terminate when a %INCLUDE statement fails due to a non-existent file.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0fjbzfm0k6fb4n1x399ztly0zvn\"},{\"name\":\"STRICT\",\"optional\":true,\"description\":\"specifies to place the SAS program into syntax-check mode when an error occurs in a LIBNAME or FILENAME statement. If the ERRORABEND system option is set and an error occurs in either a LIBNAME or FILENAME statement, SAS terminates. In addition, SAS terminates when a %INCLUDE statement fails due to a non-existent file.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p00ysd2uv18z2un1ly8e0id92eu7\"}],\"supportSiteInformation\":{\"docsetId\":\"lesysoptsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n074sx2hkq8dzpn1ptoydcmzfspt.htm\"}},{\"name\":\"ERRORS=\",\"description\":\"Specifies the maximum number of observations for which SAS issues complete error messages.\",\"help\":\"ERRORS= *n* | *n*K | *n*M | *n*G | *n*T | MIN | MAX | *hex*X\",\"type\":\"choice\",\"arguments\":[{\"name\":\"n\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the number of observations for which SAS issues error messages in terms of 1 (n); 1,024 (nK); 1,048,576 (nM); 1,073,741,824 (nG); or 1,099,511,627,776 (nT). For example, a value of 8 specifies eight observations, and a value of 3M specifies 3,145,728 observations.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1lh19ikw3hpgpn131pfay3pimcz\"},{\"name\":\"K\",\"optional\":true,\"description\":\"specifies the number of observations for which SAS issues error messages in terms of 1 (n); 1,024 (nK); 1,048,576 (nM); 1,073,741,824 (nG); or 1,099,511,627,776 (nT). For example, a value of 8 specifies eight observations, and a value of 3M specifies 3,145,728 observations.\",\"help\":\"*n*K\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1lh19ikw3hpgpn131pfay3pimcz\"},{\"name\":\"M\",\"optional\":true,\"description\":\"specifies the number of observations for which SAS issues error messages in terms of 1 (n); 1,024 (nK); 1,048,576 (nM); 1,073,741,824 (nG); or 1,099,511,627,776 (nT). For example, a value of 8 specifies eight observations, and a value of 3M specifies 3,145,728 observations.\",\"help\":\"*n*M\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1lh19ikw3hpgpn131pfay3pimcz\"},{\"name\":\"G\",\"optional\":true,\"description\":\"specifies the number of observations for which SAS issues error messages in terms of 1 (n); 1,024 (nK); 1,048,576 (nM); 1,073,741,824 (nG); or 1,099,511,627,776 (nT). For example, a value of 8 specifies eight observations, and a value of 3M specifies 3,145,728 observations.\",\"help\":\"*n*G\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1lh19ikw3hpgpn131pfay3pimcz\"},{\"name\":\"T\",\"optional\":true,\"description\":\"specifies the number of observations for which SAS issues error messages in terms of 1 (n); 1,024 (nK); 1,048,576 (nM); 1,073,741,824 (nG); or 1,099,511,627,776 (nT). For example, a value of 8 specifies eight observations, and a value of 3M specifies 3,145,728 observations.\",\"help\":\"*n*T\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1lh19ikw3hpgpn131pfay3pimcz\"},{\"name\":\"MIN\",\"optional\":true,\"description\":\"sets the number of observations for which SAS issues error messages to 0.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0fw7r10k2r7h4n1dsdgz6ie32r7\"},{\"name\":\"MAX\",\"optional\":true,\"description\":\"sets the maximum number of observations for which SAS issues error messages to the largest signed, 4-byte integer representable in your operating environment.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0lo1hglyk6gozn1lpho9s3cmwnb\"},{\"name\":\"X\",\"optional\":true,\"description\":\"specifies the maximum number of observations for which SAS issues error messages as a hexadecimal number. The value must begin with a number (0–9) and must be followed by an X. For example, the value 2dx sets the maximum number of observations for which SAS issues error messages to 45 observations.\",\"help\":\"*hex*X\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1pb84q6zf275rn1qmgrr8jkeosw\"}],\"supportSiteInformation\":{\"docsetId\":\"lesysoptsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p1vs7brycysl6ln1n3ucjf46fdo2.htm\"}},{\"name\":\"EVENTDS=\",\"description\":\"Specifies one or more data sets that define events.\",\"help\":\"EVENTDS= (&lt;DEFAULTS | NODEFAULTS&gt;*event-data-set(s)*)\",\"type\":\"dataSet\",\"arguments\":[{\"name\":\"DEFAULTS\",\"optional\":true,\"description\":\"specifies to use the SAS predefined holiday events.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0vahncyigkgd0n15mv4n7jh2map\"},{\"name\":\"NODEFAULTS\",\"optional\":true,\"description\":\"specifies not to use default event definitions. The only events that are used are specified by the event-data-set list.\",\"help\":\"NODEFAULTS \",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p06yqfxqs72tlsn0zm213csm3iff\"},{\"name\":\"event-data-set\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the name of a data set that contains event definitions. The data set can be specified as a one-level name, dataset, or a two-level name, libref.dataset.\",\"help\":\"*event-data-set* \",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"p092d535uzz0qrn1ieuvmsk8ur0l\"}],\"supportSiteInformation\":{\"docsetId\":\"lesysoptsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n13n4fojq3z7qjn19hmg5qcafmsy.htm\"}},{\"name\":\"EXTENDOBSCOUNTER\",\"aliases\":[\"EOC=\"],\"description\":\"Specifies whether to extend the maximum observation count in a new output SAS data file.\",\"help\":\"EXTENDOBSCOUNTER =YES | NO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YES\",\"optional\":true,\"description\":\"specifies to use the default maximum observation count of 231–1 or approximately 9.2 quintillion observations in a newly created SAS data file.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0cj5ug2icpb3rn1bysmg4emhr70\"},{\"name\":\"NO\",\"optional\":true,\"description\":\"is a compatibility setting for a newly created SAS data file, to enable its use in releases prior to SAS 9.3.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1urm1zse0jbynn1v7xvmw1ed5v0\"}],\"supportSiteInformation\":{\"docsetId\":\"lesysoptsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p1g662sh040xv3n12eg3gy0cs68g.htm\"}},{\"name\":\"FILELOCKS\",\"description\":\"Specifies whether file locking is turned on or off and what action should be taken if a file cannot be locked.\",\"help\":\"FILELOCKS =(*setting**path* | *path**setting*)\\\\nFILELOCKS =NONE | FAIL | CONTINUE | RESET\",\"type\":\"choice\",\"arguments\":[{\"name\":\"setting\",\"placeholder\":true,\"description\":\"specifies the operating environment locking value for the specified path. The following values are valid:\\n• NONE\\n• FAIL\\n• CONTINUE\\n• RESET\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1wia1bq05rprjn1i9boy7qvyrng\"},{\"name\":\"path\",\"placeholder\":true,\"description\":\"specifies a path to a Linux directory. Enclose the path in single or double quotation marks.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0uit6l5yo60v2n1j5da8ruxkzqr\"}],\"supportSiteInformation\":{\"docsetId\":\"lesysoptsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n1824lspl1ny8gn1f6or44dbaj9k.htm\"}},{\"name\":\"FIRSTOBS\",\"description\":\"Specifies the row number or external file record that SAS processes first.\",\"help\":\"FIRSTOBS =*n* |  *n*K |  *n*M |   *n*G |  *n*T |  *hex*X |  MIN |  MAX\",\"type\":\"choice\",\"arguments\":[{\"name\":\"n\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the number of the first row or external file record to process in multiples of 1 (bytes); 1,024 (kilobytes); 1,048,576 (megabytes); 1,073,741,824 (gigabytes); or 1,099,511,627,776 (terabytes). For example, a value of 8 specifies 8 bytes, and a value of 3m specifies 3,145,728 bytes.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1pxq381y7eq5qn1rtwq8dwn8ojx\"},{\"name\":\"K\",\"optional\":true,\"description\":\"specifies the number of the first row or external file record to process in multiples of 1 (bytes); 1,024 (kilobytes); 1,048,576 (megabytes); 1,073,741,824 (gigabytes); or 1,099,511,627,776 (terabytes). For example, a value of 8 specifies 8 bytes, and a value of 3m specifies 3,145,728 bytes.\",\"help\":\"*n*K\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1pxq381y7eq5qn1rtwq8dwn8ojx\"},{\"name\":\"M\",\"optional\":true,\"description\":\"specifies the number of the first row or external file record to process in multiples of 1 (bytes); 1,024 (kilobytes); 1,048,576 (megabytes); 1,073,741,824 (gigabytes); or 1,099,511,627,776 (terabytes). For example, a value of 8 specifies 8 bytes, and a value of 3m specifies 3,145,728 bytes.\",\"help\":\"*n*M\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1pxq381y7eq5qn1rtwq8dwn8ojx\"},{\"name\":\"G\",\"optional\":true,\"description\":\"specifies the number of the first row or external file record to process in multiples of 1 (bytes); 1,024 (kilobytes); 1,048,576 (megabytes); 1,073,741,824 (gigabytes); or 1,099,511,627,776 (terabytes). For example, a value of 8 specifies 8 bytes, and a value of 3m specifies 3,145,728 bytes.\",\"help\":\"*n*G\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1pxq381y7eq5qn1rtwq8dwn8ojx\"},{\"name\":\"T\",\"optional\":true,\"description\":\"specifies the number of the first row or external file record to process in multiples of 1 (bytes); 1,024 (kilobytes); 1,048,576 (megabytes); 1,073,741,824 (gigabytes); or 1,099,511,627,776 (terabytes). For example, a value of 8 specifies 8 bytes, and a value of 3m specifies 3,145,728 bytes.\",\"help\":\"*n*T\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1pxq381y7eq5qn1rtwq8dwn8ojx\"},{\"name\":\"X\",\"optional\":true,\"description\":\"specifies the number of the first row or the external file record to process as a hexadecimal value. You must specify the value beginning with a number (0–9), followed by an X. For example, the value 2dx specifies the 45th row.\",\"help\":\"*hex*X\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0n3gak51zf36jn14gx6s40qjtui\"},{\"name\":\"MIN\",\"optional\":true,\"description\":\"sets the number of the first row or external file record to process to 1. This is the default.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1879muveietj4n19iob72u7ml41\"},{\"name\":\"MAX\",\"optional\":true,\"description\":\"sets the number of the first row to process to the maximum number of rows in the data sets or records in the external file, up to the largest eight-byte, signed integer, which is 263-1, or approximately 9.2 quintillion rows.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1tk38i8ina8hon1pprhl7pmq2rl\"}],\"supportSiteInformation\":{\"docsetId\":\"engfedsrv\",\"docsetVersion\":\"v_004\",\"docsetTargetFile\":\"n0wv4plkmgmk04n1lo1bampgjz1c.htm\"}},{\"name\":\"FIRSTOBS=\",\"description\":\"Specifies the observation number or external file record that SAS processes first.\",\"help\":\"FIRSTOBS= *n* | *n*K | *n*M | *n*G | *n*T | *hex*X | MIN | MAX\",\"type\":\"choice\",\"arguments\":[{\"name\":\"n\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the number of the first observation or external file record to process, where n is an integer. Using one of the letter notations results in multiplying the integer by a specific value. That is, specifying K (kilo) multiplies the integer by 1,024; M (mega) multiplies by 1,048,576 ; G (giga) multiplies by 1,073,741,824; or T (tera) multiplies by 1,099,511,627,776. For example, a value of 8 specifies the eighth observations or records, and a value of 3m specifies observation or record 3,145,728.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n03lxx912wfggln1nzuh4v012muc\"},{\"name\":\"K\",\"optional\":true,\"description\":\"specifies the number of the first observation or external file record to process, where n is an integer. Using one of the letter notations results in multiplying the integer by a specific value. That is, specifying K (kilo) multiplies the integer by 1,024; M (mega) multiplies by 1,048,576 ; G (giga) multiplies by 1,073,741,824; or T (tera) multiplies by 1,099,511,627,776. For example, a value of 8 specifies the eighth observations or records, and a value of 3m specifies observation or record 3,145,728.\",\"help\":\"*n*K\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n03lxx912wfggln1nzuh4v012muc\"},{\"name\":\"M\",\"optional\":true,\"description\":\"specifies the number of the first observation or external file record to process, where n is an integer. Using one of the letter notations results in multiplying the integer by a specific value. That is, specifying K (kilo) multiplies the integer by 1,024; M (mega) multiplies by 1,048,576 ; G (giga) multiplies by 1,073,741,824; or T (tera) multiplies by 1,099,511,627,776. For example, a value of 8 specifies the eighth observations or records, and a value of 3m specifies observation or record 3,145,728.\",\"help\":\"*n*M\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n03lxx912wfggln1nzuh4v012muc\"},{\"name\":\"G\",\"optional\":true,\"description\":\"specifies the number of the first observation or external file record to process, where n is an integer. Using one of the letter notations results in multiplying the integer by a specific value. That is, specifying K (kilo) multiplies the integer by 1,024; M (mega) multiplies by 1,048,576 ; G (giga) multiplies by 1,073,741,824; or T (tera) multiplies by 1,099,511,627,776. For example, a value of 8 specifies the eighth observations or records, and a value of 3m specifies observation or record 3,145,728.\",\"help\":\"*n*G\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n03lxx912wfggln1nzuh4v012muc\"},{\"name\":\"T\",\"optional\":true,\"description\":\"specifies the number of the first observation or external file record to process, where n is an integer. Using one of the letter notations results in multiplying the integer by a specific value. That is, specifying K (kilo) multiplies the integer by 1,024; M (mega) multiplies by 1,048,576 ; G (giga) multiplies by 1,073,741,824; or T (tera) multiplies by 1,099,511,627,776. For example, a value of 8 specifies the eighth observations or records, and a value of 3m specifies observation or record 3,145,728.\",\"help\":\"*n*T\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n03lxx912wfggln1nzuh4v012muc\"},{\"name\":\"X\",\"optional\":true,\"description\":\"specifies the number of the first observation or the external file record to process as a hexadecimal value. The value must begin with a number (0–9) and must be followed by an X. For example, the value 2dx specifies the 45th observation.\",\"help\":\"*hex*X\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1rr4g0paekzzln1rmuvbyxu80ay\"},{\"name\":\"MIN\",\"optional\":true,\"description\":\"sets the number of the first observation or external file record to process to 1. This is the default.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p105wgrkcvicwhn1lb7udw51r7lg\"},{\"name\":\"MAX\",\"optional\":true,\"description\":\"sets the number of the first observation to process to the maximum number of observations in the data sets or records in the external file, up to the largest eight-byte, signed integer, which is 263-1, or approximately 9.2 quintillion observations.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0efc177nry8rsn1ekbddwpq50xf\"}],\"supportSiteInformation\":{\"docsetId\":\"lesysoptsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p0c2av6mvf2zsrn1b48go7vk6bro.htm\"}},{\"name\":\"FMTERR\",\"description\":\"specifies that when SAS cannot find a specified variable format, it generates an error message and does not allow default substitution to occur.\",\"type\":\"standalone\",\"supportSiteInformation\":{\"docsetId\":\"lesysoptsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p1djbl02hfnoe3n0zh2i3uu2aqrf.htm\"}},{\"name\":\"FMTSEARCH=\",\"description\":\"Specifies the order in which format catalogs are searched.\",\"help\":\"FMTSEARCH= (*catalog-specification(s)*)\",\"type\":\"dataSet\",\"arguments\":[{\"name\":\"libref/LOCALE\",\"description\":\"specifies to search the FORMATS catalog in the storage location that is specified by libref. When a libref is specified without a catalog, SAS uses FORMATS as the default catalog name.\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"n19khn3ivjcqekn1352d44y0cffs\"},{\"name\":\"libref.catalog/LOCALE\",\"description\":\"specifies to search for a specific library and catalog.\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"p176xkaqrrtbuxn183z7j2dxgtkw\"}],\"supportSiteInformation\":{\"docsetId\":\"lesysoptsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p1fvn6rwmpf1njn1whkud1hmsc97.htm\"}},{\"name\":\"FONTEMBEDDING\",\"description\":\"specifies to enable font embedding.\",\"type\":\"standalone\",\"supportSiteInformation\":{\"docsetId\":\"lesysoptsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n0nu146has5t9ln1bgkk5jr1atb2.htm\"}},{\"name\":\"FORMCHAR\",\"description\":\"Specifies the default output formatting characters.\",\"help\":\"FORMCHAR = *'formatting-characters'*\",\"type\":\"value\",\"arguments\":[{\"name\":\"'formatting-characters'\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies any string or list of strings of characters up to 64 bytes long. If fewer than 64 bytes are specified, the string is padded with blanks on the right.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1mfse01tnews2n1sryb1ikeo8ok\"}],\"supportSiteInformation\":{\"docsetId\":\"lesysoptsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n0b0m78j9u41s6n1t6t217rkq4sk.htm\"}},{\"name\":\"FULLSTIMER\",\"description\":\"writes to the SAS log a list of the host-dependent resources that were used for each step and for the entire SAS session. A datetime stamp is included in the output.\",\"type\":\"standalone\",\"supportSiteInformation\":{\"docsetId\":\"lesysoptsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n0k7vnqt9p9o91n1jsl23a08l13e.htm\"}},{\"name\":\"GSTYLE\",\"description\":\"specifies that ODS styles are used in the generation of graphs that are stored as GRSEG catalog entries. If no style is specified, the default style for the ODS destination is used. GSTYLE is always in effect. System option NOGSTYLE is no longer supported.\",\"type\":\"standalone\",\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"n05saudrdwvd2wn1a5n0e8xclu66.htm\"}},{\"name\":\"HOSTINFOLONG\",\"description\":\"specifies to print additional operating environment information in the SAS log when SAS starts.\",\"type\":\"standalone\",\"supportSiteInformation\":{\"docsetId\":\"lesysoptsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p01lgsbjy5n06fn1sb7yzg3z8ui2.htm\"}},{\"name\":\"HTTPNOHOST=\",\"description\":\"Specifies the hosts or endpoints that a user should be blocked from accessing.\",\"help\":\"HTTPNOHOST= *hostname*&lt; ...*hostname*&gt;\",\"type\":\"value\",\"supportSiteInformation\":{\"docsetId\":\"lesysoptsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p0lolkrx918joen1bdnhj3a0c880.htm\"}},{\"name\":\"IBUFNO=\",\"description\":\"Specifies an optional number of extra buffers to be allocated for navigating an index file.\",\"help\":\"IBUFNO= *n* |  *n*K |  *n*M | *n*G |  *n*T |  *hex*X |  MIN | MAX\",\"type\":\"choice\",\"arguments\":[{\"name\":\"n\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the number of extra index buffers to be allocated in multiples of 1 (bytes); 1,024 (kilobytes); 1,048,576 (megabytes); 1,073,741,824 (gigabytes); or 1,099,511,627,776 (terabytes). For example, a value of 8 specifies eight buffers, and a value of 3k specifies 3,072 buffers.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1kmvpa92otwq9n1mmnt1sdm58pu\"},{\"name\":\"K\",\"optional\":true,\"description\":\"specifies the number of extra index buffers to be allocated in multiples of 1 (bytes); 1,024 (kilobytes); 1,048,576 (megabytes); 1,073,741,824 (gigabytes); or 1,099,511,627,776 (terabytes). For example, a value of 8 specifies eight buffers, and a value of 3k specifies 3,072 buffers.\",\"help\":\"*n*K\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1kmvpa92otwq9n1mmnt1sdm58pu\"},{\"name\":\"M\",\"optional\":true,\"description\":\"specifies the number of extra index buffers to be allocated in multiples of 1 (bytes); 1,024 (kilobytes); 1,048,576 (megabytes); 1,073,741,824 (gigabytes); or 1,099,511,627,776 (terabytes). For example, a value of 8 specifies eight buffers, and a value of 3k specifies 3,072 buffers.\",\"help\":\"*n*M\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1kmvpa92otwq9n1mmnt1sdm58pu\"},{\"name\":\"G\",\"optional\":true,\"description\":\"specifies the number of extra index buffers to be allocated in multiples of 1 (bytes); 1,024 (kilobytes); 1,048,576 (megabytes); 1,073,741,824 (gigabytes); or 1,099,511,627,776 (terabytes). For example, a value of 8 specifies eight buffers, and a value of 3k specifies 3,072 buffers.\",\"help\":\"*n*G\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1kmvpa92otwq9n1mmnt1sdm58pu\"},{\"name\":\"T\",\"optional\":true,\"description\":\"specifies the number of extra index buffers to be allocated in multiples of 1 (bytes); 1,024 (kilobytes); 1,048,576 (megabytes); 1,073,741,824 (gigabytes); or 1,099,511,627,776 (terabytes). For example, a value of 8 specifies eight buffers, and a value of 3k specifies 3,072 buffers.\",\"help\":\"*n*T\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1kmvpa92otwq9n1mmnt1sdm58pu\"},{\"name\":\"X\",\"optional\":true,\"description\":\"specifies the number of extra index buffers as a hexadecimal value. The value must begin with a number (0–9) and must be followed by an X. For example, the value 2dx specifies 45 buffers.\",\"help\":\"*hex*X\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0o0adgjz3rtqxn1q43dd96748im\"},{\"name\":\"MIN\",\"optional\":true,\"description\":\"sets the number of extra index buffers to 0.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n03ymagktot8gzn1vh1yfnuxcspw\"},{\"name\":\"MAX\",\"optional\":true,\"description\":\"sets the maximum number of extra index buffers to 10,000.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n125pqh0a8z62wn1wsby3aig9aq1\"}],\"supportSiteInformation\":{\"docsetId\":\"lesysoptsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p1uuzonxjtnxwon1tgm27729dljx.htm\"}},{\"name\":\"IBUFSIZE=\",\"description\":\"Specifies the buffer size for an index file.\",\"help\":\"IBUFSIZE= *n* |  *n*K |  *hex*X |  MAX\",\"type\":\"choice\",\"arguments\":[{\"name\":\"n\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the buffer size to process in multiples of 1 (bytes); 1,024 (kilobytes). For example, a value of 8 specifies 8 bytes, and a value of 3k specifies 3,072 bytes. A value of 0 causes SAS to use the minimum optimal buffer size for the operating environment.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0ct8lw1d08wwyn1i6ktbk1fkyjm\"},{\"name\":\"K\",\"optional\":true,\"description\":\"specifies the buffer size to process in multiples of 1 (bytes); 1,024 (kilobytes). For example, a value of 8 specifies 8 bytes, and a value of 3k specifies 3,072 bytes. A value of 0 causes SAS to use the minimum optimal buffer size for the operating environment.\",\"help\":\"*n*K\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0ct8lw1d08wwyn1i6ktbk1fkyjm\"},{\"name\":\"M\",\"optional\":true,\"description\":\"specifies the buffer size to process in multiples of 1 (bytes); 1,024 (kilobytes). For example, a value of 8 specifies 8 bytes, and a value of 3k specifies 3,072 bytes. A value of 0 causes SAS to use the minimum optimal buffer size for the operating environment.\",\"help\":\"*n*M\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0ct8lw1d08wwyn1i6ktbk1fkyjm\"},{\"name\":\"G\",\"optional\":true,\"description\":\"specifies the buffer size to process in multiples of 1 (bytes); 1,024 (kilobytes). For example, a value of 8 specifies 8 bytes, and a value of 3k specifies 3,072 bytes. A value of 0 causes SAS to use the minimum optimal buffer size for the operating environment.\",\"help\":\"*n*G\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0ct8lw1d08wwyn1i6ktbk1fkyjm\"},{\"name\":\"T\",\"optional\":true,\"description\":\"specifies the buffer size to process in multiples of 1 (bytes); 1,024 (kilobytes). For example, a value of 8 specifies 8 bytes, and a value of 3k specifies 3,072 bytes. A value of 0 causes SAS to use the minimum optimal buffer size for the operating environment.\",\"help\":\"*n*T\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0ct8lw1d08wwyn1i6ktbk1fkyjm\"},{\"name\":\"X\",\"optional\":true,\"description\":\"specifies the buffer size as a hexadecimal value. The value must begin with a number (0–9) and must be followed by an X. For example, the value 2dx sets the page size to 45 bytes.\",\"help\":\"*hex*X\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0ulpq1bzbsojin1rc4ohpu2zhpp\"},{\"name\":\"MAX\",\"optional\":true,\"description\":\"sets the buffer size for an index file to the maximum possible number. For IBUFSIZE=, the value is 32,767 bytes.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1gcg0r8k1q3jsn114lgfy4yz2md\"}],\"supportSiteInformation\":{\"docsetId\":\"lesysoptsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p1q3zj6b59pmgdn1icyqhnvx1wju.htm\"}},{\"name\":\"IMLPACKAGEPRIVATE=\",\"description\":\"Specifies the directory for the private collection of SAS/IML packages.\",\"help\":\"IMLPACKAGEPRIVATE= *directory-path*\",\"type\":\"value\",\"arguments\":[{\"name\":\"directory-path\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the directory where the private collection of SAS/IML packages is stored. Packages in the private collection are available only to the current user. The directory specified by this option should be unique for each user.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n02gzqitb79w3fn1fq792nlee0hc\"}],\"supportSiteInformation\":{\"docsetId\":\"lesysoptsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n04tta8aycayemn16jg2hzpfdvy7.htm\"}},{\"name\":\"IMLPACKAGEPUBLIC=\",\"description\":\"Specifies the directory for the public collection of SAS/IML packages.\",\"help\":\"IMLPACKAGEPUBLIC= *directory-path*\",\"type\":\"value\",\"arguments\":[{\"name\":\"directory-path\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the directory where the public collection of SAS/IML packages is stored. Packages in the public collection are available to all users of the system. directory-path should be accessible by all users.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p04arhy08hb2oxn1pgf09cg0lqpv\"}],\"supportSiteInformation\":{\"docsetId\":\"lesysoptsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p10dwrqdrm9hpyn14mgjptkaygn1.htm\"}},{\"name\":\"IMLPACKAGESYSTEM=\",\"description\":\"Specifies the directory for packages that are installed as part of SAS/IML.\",\"help\":\"IMLPACKAGESYSTEM= *directory-path*\",\"type\":\"value\",\"arguments\":[{\"name\":\"directory-path\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the directory where the system collection of SAS/IML packages is stored. Packages in the system collection are installed as part of SAS/IML software and are available to all users of the system.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p00yqscjgfejakn1dpiog0bx3nqd\"}],\"supportSiteInformation\":{\"docsetId\":\"lesysoptsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p0em34xb0croxcn1dmklt5wau1kl.htm\"}},{\"name\":\"IMPLMAC\",\"description\":\"Controls statement-style macro invocation.\",\"type\":\"standalone\",\"supportSiteInformation\":{\"docsetId\":\"mcrolref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p18ardiyzk0yatn1mu19ovw2rfpi.htm\"}},{\"name\":\"INITSTMT=\",\"aliases\":[\"IS=\"],\"description\":\"Specifies a SAS statement to execute after any statements in the AUTOEXEC= file and before any statements from the SYSIN= file.\",\"help\":\"INITSTMT= '*statement*'\",\"type\":\"value\",\"arguments\":[{\"name\":\"'statement'\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies any SAS statement or statements.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n05ae52zn75i9kn1bgzqg873re69\"}],\"supportSiteInformation\":{\"docsetId\":\"lesysoptsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n16z79lqkz4a87n1urzo6mithnza.htm\"}},{\"name\":\"INSERT=\",\"description\":\"Inserts the specified value as the first value of the specified system option.\",\"help\":\"INSERT= (*system-option-1*=*argument-1* &lt;*system-option-2*=*argument-2* ...&gt;)\",\"type\":\"value\",\"arguments\":[{\"name\":\"system-option\",\"optional\":true,\"placeholder\":true,\"description\":\"In SAS Viya, can be AUTOEXEC, CMPLIB, FMTSEARCH, MAPSGFK, MSG, SASAUTOS, SASHELP, SASSCRIPT, or SET.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0ecfb5xsdp2wrn1ban3ukms7f2x\"},{\"name\":\"argument\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies a new value that you want as the first value of system-option.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n197s9y6vqhq8xn1wpa0z5ip1566\"}],\"supportSiteInformation\":{\"docsetId\":\"lesysoptsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p0pcr99h6vex16n1lhgfwgm347wr.htm\"}},{\"name\":\"INTERVALDS=\",\"description\":\"Specifies one or more interval name-value pairs, where the value is a SAS data set that contains user-defined intervals. The intervals can be used as arguments to the INTNX and INTCK functions.\",\"help\":\"INTERVALDS= (*interval-1*=*libref.dataset-name-1* &lt;*interval-2*=*libref.dataset-name-2* ...&gt; )\",\"type\":\"dataSet\",\"arguments\":[{\"name\":\"interval\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the name of an interval. The value of interval is used to represent the set of intervals that is specified in libref.dataset-name.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0x080h5fxqdq2n1lt1qph29a0zd\"},{\"name\":\"libref.dataset-name\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the libref and the data set name of the file that contains the user-defined intervals.\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"p06stxprfizq96n13h5w2p5qku53\"}],\"supportSiteInformation\":{\"docsetId\":\"lesysoptsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p150mod713bb53n19181dkbi6a3r.htm\"}},{\"name\":\"INVALIDDATA=\",\"description\":\"Specifies the value that SAS assigns to a variable when invalid numeric data is encountered.\",\"help\":\"INVALIDDATA= '*character*'\",\"type\":\"value\",\"arguments\":[{\"name\":\"'character'\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the value to be assigned, which can be a letter (A through Z, a through z), a period (.), or an underscore (_).\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0hovvzs1ugfean16nvxwcwymi9h\"}],\"supportSiteInformation\":{\"docsetId\":\"lesysoptsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p0opsnn1axipfvn11p3c04eeaml1.htm\"}},{\"name\":\"JPEGQUALITY=\",\"description\":\"Specifies the JPEG quality factor that determines the ratio of image quality to the level of compression for JPEG files produced by the SAS/GRAPH JPEG device driver.\",\"help\":\"JPEGQUALITY= *n* | MIN | MAX\",\"type\":\"choice\",\"arguments\":[{\"name\":\"n\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies an integer that indicates the JPEG quality factor. The quality of the image increases with larger numbers and decreases with smaller numbers. JPEG files are compressed less for higher-quality images. Therefore, the JPEG file size is greater for higher-quality images. For example, n=100 is completely uncompressed and the image quality is highest. When n=0, the image is produced at the maximum compression level with the lowest quality.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n02qdean8mt8ycn14udptlj570vj\"},{\"name\":\"MIN\",\"optional\":true,\"description\":\"specifies to set the JPEG quality factor to 0, which has the lowest image quality and the greatest file compression.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0rhgz004os6n7n1mdm2iu4v6fom\"},{\"name\":\"MAX\",\"optional\":true,\"description\":\"specifies to set the JPEG quality factor to 100, which has the highest image quality with no file compression.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1t6atxb1gyn44n11uayiclgz9j5\"}],\"supportSiteInformation\":{\"docsetId\":\"lesysoptsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p1ukyslbv3oprdn17bugyhlu3o1b.htm\"}},{\"name\":\"LABEL\",\"description\":\"specifies that SAS procedures can use labels with variables. The LABEL system option must be in effect before the LABEL option of any procedure can be used.\",\"type\":\"standalone\",\"supportSiteInformation\":{\"docsetId\":\"lesysoptsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p02de158iswt9tn1eu1nt59jmoae.htm\"}},{\"name\":\"LEFTMARGIN=\",\"description\":\"Specifies the print margin for the left side of the page.\",\"help\":\"LEFTMARGIN= *margin-size*&lt;*margin-unit*&gt;\",\"type\":\"value\",\"arguments\":[{\"name\":\"margin-size\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the size of the left print margin.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1dpushldk16fgn185bxvyiciclu\"},{\"name\":\"<margin-unit>\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the units for margin-size. The margin-unit can be in for inches or cm for centimeters. <margin-unit> is saved as part of the value of the LEFTMARGIN system option whether it is specified.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0bsz84w0ut9dan184hkw0z60ysb\"}],\"supportSiteInformation\":{\"docsetId\":\"lesysoptsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p1dv5vg8l0obz1n1x091i6l1rnu5.htm\"}},{\"name\":\"LINESIZE=\",\"aliases\":[\"LS=\"],\"description\":\"Specifies the line size for the SAS log and for SAS procedure output.\",\"help\":\"LINESIZE= *n* | MIN | MAX | *hex*X\",\"type\":\"choice\",\"arguments\":[{\"name\":\"n\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the number of characters in a line.\",\"help\":\"*n* \",\"type\":\"value\",\"supportSiteTargetFragment\":\"p14egmoq7quo1jn1jjyg0db6e3c6\"},{\"name\":\"MIN\",\"optional\":true,\"description\":\"sets the number of characters in a line to 64.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p02itxfhu0r0irn171hcpoaq6j1s\"},{\"name\":\"MAX\",\"optional\":true,\"description\":\"sets the number of characters in a line to 256.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p14mgpbtd9m4mgn1f8wbtbqbop84\"},{\"name\":\"X\",\"optional\":true,\"description\":\"specifies the number of characters in a line as a hexadecimal number. The value must begin with a number (0–9) and must be followed by an X. For example, the value 0FAx sets the line size of the SAS procedure output to 250.\",\"help\":\"*hex*X\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1hzrz05e0gwbyn1wxf829s0jmlq\"}],\"supportSiteInformation\":{\"docsetId\":\"lesysoptsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n1quv1ypgn8bojn1q4s7nfagkfwu.htm\"}},{\"name\":\"LOCALE=\",\"description\":\"Specifies a set of attributes in a SAS session that reflect the language, local conventions, and culture for a geographical region.\",\"help\":\"LOCALE= *locale-name*\",\"type\":\"value\",\"supportSiteInformation\":{\"docsetId\":\"nlsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n1n9bwctsthuqbn1xgipyw5xwujl.htm\"}},{\"name\":\"LPTYPE=\",\"description\":\"Specifies which Linux command and option settings are used to route files to the printer.\",\"help\":\"LPTYPE= BSD | SYSV\",\"type\":\"choice\",\"arguments\":[{\"name\":\"BSD\",\"description\":\"causes SAS to use the lpr command to send files to the printer. The lpr command is typically supported on Linux operating systems.\",\"help\":\"BSD \",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0c3tr99tgm7ddn15r4g8jt1isxk\"},{\"name\":\"SYSV\",\"description\":\"causes SAS to use the lp command to send files to the printer. The lp command is usually supported on operating systems derived from Linux System V.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1abgnhaw1shyan1ipxtyfxdlyvo\"}],\"supportSiteInformation\":{\"docsetId\":\"lesysoptsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n1dsjxkuku7a3yn1g5cf299zek42.htm\"}},{\"name\":\"LRECL=\",\"description\":\"Specifies the default logical record length to use for reading and writing external files.\",\"help\":\"LRECL= *n* |  *n*K |  *hex*X |  MIN | MAX\",\"type\":\"choice\",\"arguments\":[{\"name\":\"n\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the logical record length in multiples of 1 (bytes) or 1,024 (kilobytes). For example, a value of 32 specifies 32 bytes, and a value of 16k specifies 16,384 bytes.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0db4rreet88sin161m2o8481v6u\"},{\"name\":\"X\",\"optional\":true,\"description\":\"specifies the logical record length as a hexadecimal value. The value must begin with a number (0–9) and must be followed by an X. For example, the value 2dx sets the logical record length to 45 characters.\",\"help\":\"*hex*X\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0ab190mkhupnjn1q5ip10u7ultj\"},{\"name\":\"MIN\",\"optional\":true,\"description\":\"specifies a logical record length of 1.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0eeif252kan8in10u0kf4e3qbae\"},{\"name\":\"MAX\",\"optional\":true,\"description\":\"specifies a logical record length of 32,767.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0rb5sm600zn79n1p37krby97su8\"}],\"supportSiteInformation\":{\"docsetId\":\"lesysoptsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n1li19l98i6929n1981oqr3wq46u.htm\"}},{\"name\":\"MACRO\",\"description\":\"Controls whether the SAS macro language is available.\",\"type\":\"standalone\",\"supportSiteInformation\":{\"docsetId\":\"mcrolref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p10aezpfo5vpavn0zh0nq8otrr8l.htm\"}},{\"name\":\"MACROCOMPVERWARN\",\"description\":\"Specifies whether a warning or a note is written to the SAS log when a stored compiled macro that was compiled on a different operating system or a different version of SAS is executed.\",\"type\":\"standalone\",\"supportSiteInformation\":{\"docsetId\":\"mcrolref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p1uflzaji1wy1en18e4ieribgmah.htm\"}},{\"name\":\"MAPS\",\"description\":\"Specifies the name of the SAS library containing the SAS/GRAPH map data sets.\",\"help\":\"MAPS =*location-of-maps*\",\"type\":\"value\",\"arguments\":[{\"name\":\"location-of-maps\",\"placeholder\":true,\"description\":\"specifies a libref, a valid Linux pathname, or an environment variable associated with a pathname. Do not use a specific filename.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0k7vrdccgxnlyn1x7qpxzv60671\"}],\"supportSiteInformation\":{\"docsetId\":\"lesysoptsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n0fsdypirg70nen1hqdgwo6f2et2.htm\"}},{\"name\":\"MAPS=\",\"description\":\"Specifies the location of the SAS library that contains SAS/GRAPH map data sets.\",\"help\":\"MAPS= *location-of-maps*\",\"type\":\"value\",\"arguments\":[{\"name\":\"location-of-maps\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies either a physical path, an environment variable, or a libref to locate the SAS/GRAPH map data sets.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n12jslwagi7s86n1810x4fx09ptp\"}],\"supportSiteInformation\":{\"docsetId\":\"grmapref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"p1lxpubixajng3n173c1zoty1ujc.htm\"}},{\"name\":\"MAPSGFK=\",\"description\":\"Specifies the location of the SAS library that contains SAS/GRAPH digital vector map data sets. The libref MAPSGFK is assigned using the option value specified by the MAPSGFK= system option.\",\"help\":\"MAPSGFK= *location-of-maps*\",\"type\":\"value\",\"arguments\":[{\"name\":\"location-of-maps\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies either a physical path, an environment variable, or the MAPSGFK libref to locate the SAS/GRAPH digital vector map data sets. The option value can consist of up to 2048 characters. Upper or lower case characters are accepted as entered. Though not required, if you specify start and end quotation marks or parentheses, these are accepted and retained as part of the option’s value.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1gjjqjclurzbkn1oqmuzyu2e56z\"}],\"supportSiteInformation\":{\"docsetId\":\"grmapref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"p0v6jy3qny6qz6n1jh1uav19snhq.htm\"}},{\"name\":\"MAPSSAS=\",\"description\":\"Specifies the location of the SAS library that contains SAS/GRAPH map data sets.\",\"help\":\"MAPSSAS= *location-of-maps*\",\"type\":\"value\",\"arguments\":[{\"name\":\"location-of-maps\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies either a physical path, an environment variable, or the MAPSSAS libref to locate the SAS map data sets to use with SAS/GRAPH. The option value can consist of up to 2048 characters. Upper or lower case characters are accepted as entered. Though not required, if you specify start and end quotation marks or parentheses, these are accepted and retained as part of the option’s value.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n02tyw0ks78kfpn19yam9q4egzbg\"}],\"supportSiteInformation\":{\"docsetId\":\"grmapref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"p1kzkg38o71s08n1whctfp1fviud.htm\"}},{\"name\":\"MAUTOCOMPLOC\",\"description\":\"Displays in the SAS log the source location of an autocall macro when the autocall macro is compiled.\",\"type\":\"standalone\",\"supportSiteInformation\":{\"docsetId\":\"mcrolref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n188e0nhl068hzn1unfft60d9aj2.htm\"}},{\"name\":\"MAUTOLOCDISPLAY\",\"description\":\"Specifies whether to display the source location of the autocall macros in the log when the autocall macro is invoked.\",\"type\":\"standalone\",\"supportSiteInformation\":{\"docsetId\":\"mcrolref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p04o0tz0t7g88in1mqlh27hj7wgn.htm\"}},{\"name\":\"MAUTOLOCINDES\",\"description\":\"Specifies whether the macro processor prepends the full pathname of the autocall source file to the description field of the catalog entry of compiled autocall macro definition in the Work.SASMacr or Work.SASMacn catalog.\",\"type\":\"standalone\",\"supportSiteInformation\":{\"docsetId\":\"mcrolref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n0rgycsomlut20n1a13vgaf9j7f3.htm\"}},{\"name\":\"MAUTOSOURCE\",\"description\":\"Specifies whether the autocall feature is available.\",\"type\":\"standalone\",\"supportSiteInformation\":{\"docsetId\":\"mcrolref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n1fbcsjdhakzywn1qg28id3gl0ph.htm\"}},{\"name\":\"MAXMEMQUERY\",\"description\":\"Specifies the maximum amount of memory that can be allocated per request for certain procedures.\",\"help\":\"MAXMEMQUERY =*n* | *n*K | *n*M | *n*G | *hex*X | MIN | MAX\",\"type\":\"choice\",\"arguments\":[{\"name\":\"n\",\"placeholder\":true,\"description\":\"specifies the limit in multiples of 1 (bytes); 1,024 (kilobytes); 1,048,576 (megabytes); or 1,073,741,824 (gigabytes). You can specify decimal values for the number of kilobytes, megabytes, or gigabytes. For example, a value of 8 specifies 8 bytes, a value of .782k specifies 801 bytes, and a value of 3m specifies 3,145,728 bytes.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1kf5yct8295yan1eo32bk0qpwdk\"},{\"name\":\"K\",\"description\":\"specifies the limit in multiples of 1 (bytes); 1,024 (kilobytes); 1,048,576 (megabytes); or 1,073,741,824 (gigabytes). You can specify decimal values for the number of kilobytes, megabytes, or gigabytes. For example, a value of 8 specifies 8 bytes, a value of .782k specifies 801 bytes, and a value of 3m specifies 3,145,728 bytes.\",\"help\":\"*n*K\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1kf5yct8295yan1eo32bk0qpwdk\"},{\"name\":\"M\",\"description\":\"specifies the limit in multiples of 1 (bytes); 1,024 (kilobytes); 1,048,576 (megabytes); or 1,073,741,824 (gigabytes). You can specify decimal values for the number of kilobytes, megabytes, or gigabytes. For example, a value of 8 specifies 8 bytes, a value of .782k specifies 801 bytes, and a value of 3m specifies 3,145,728 bytes.\",\"help\":\"*n*M\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1kf5yct8295yan1eo32bk0qpwdk\"},{\"name\":\"G\",\"description\":\"specifies the limit in multiples of 1 (bytes); 1,024 (kilobytes); 1,048,576 (megabytes); or 1,073,741,824 (gigabytes). You can specify decimal values for the number of kilobytes, megabytes, or gigabytes. For example, a value of 8 specifies 8 bytes, a value of .782k specifies 801 bytes, and a value of 3m specifies 3,145,728 bytes.\",\"help\":\"*n*G\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1kf5yct8295yan1eo32bk0qpwdk\"},{\"name\":\"X\",\"description\":\"specifies the amount of memory as a hexadecimal value. You must specify the value beginning with a number (0–9), followed by hexadecimal characters (0–9, A–F), and then followed by an X. For example, 2dx sets the amount of memory to 45 bytes.\",\"help\":\"*hex*X\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0pol6ghphjkhcn1ksawma2o27bp\"},{\"name\":\"MIN\",\"description\":\"specifies 0 bytes, which indicates that there is no limit on the total amount of memory that can be allocated per request by each SAS procedure. These memory allocations are limited by the value of MEMSIZE.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0ln2htt2rsm90n1l304rfu4jxg1\"},{\"name\":\"MAX\",\"description\":\"specifies a limit to the amount of memory that is allocated. Memory allocations (9,007,199,254,740,992 byte limit on 64-bit machines) are limited by the value of MEMSIZE.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1p9c0zev90snyn1x4vshial1307\"}],\"supportSiteInformation\":{\"docsetId\":\"lesysoptsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p0109fin35h8prn1vn6kd7dq7qpl.htm\"}},{\"name\":\"MAXSEGRATIO=\",\"description\":\"Controls what percentage of index segments to identify as candidate segments before processing the WHERE expression. This occurs when evaluating a WHERE expression that contains indexed variables.\",\"help\":\"MAXSEGRATIO= *n* \",\"type\":\"value\",\"arguments\":[{\"name\":\"n\",\"placeholder\":true,\"description\":\"specifies an upper limit for the percentage of index segments that the SPD Engine identifies as containing the value referenced in the WHERE expression.\",\"help\":\"*n*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p14k7hrdacozson17c49rb5v8fvl\"}],\"supportSiteInformation\":{\"docsetId\":\"engspde\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n0ioi5sgks4nsxn14ts9t94g4zva.htm\"}},{\"name\":\"MCOMPILE\",\"description\":\"Specifies whether to allow new definitions of macros.\",\"type\":\"standalone\",\"supportSiteInformation\":{\"docsetId\":\"mcrolref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n1jf9tbi3e77ywn176c9l6g9v9ks.htm\"}},{\"name\":\"MCOMPILENOTE=\",\"description\":\"Issues a NOTE to the SAS log. The note contains the size and number of instructions upon the completion of the compilation of a macro.\",\"help\":\"MCOMPILENOTE= NONE | NOAUTOCALL | ALL\",\"type\":\"choice\",\"supportSiteInformation\":{\"docsetId\":\"mcrolref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p1rsjy2cpe7b6on1goigucu4f5vv.htm\"}},{\"name\":\"MCOVERAGE\",\"description\":\"Enables the generation of coverage analysis data.\",\"type\":\"standalone\",\"supportSiteInformation\":{\"docsetId\":\"mcrolref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n05xwm03akq0ljn12mq5bhge6q4g.htm\"}},{\"name\":\"MCOVERAGELOC=\",\"description\":\"Specifies the location of the coverage analysis data file.\",\"help\":\"MCOVERAGELOC= *fileref* | *file-specification*\",\"type\":\"choice\",\"supportSiteInformation\":{\"docsetId\":\"mcrolref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p0lt9hs8uc1g3an1g9om1rjc33n8.htm\"}},{\"name\":\"MERGENOBY=\",\"description\":\"Specifies the type of message that is issued when MERGE processing occurs without an associated BY statement.\",\"help\":\"MERGENOBY= NOWARN | WARN | ERROR\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NOWARN\",\"optional\":true,\"description\":\"specifies that no warning message is issued.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0avao90ovgb6fn1d6tzka2p5exm\"},{\"name\":\"WARN\",\"optional\":true,\"description\":\"specifies that a warning message is issued.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1xlkkm8a4vzjsn0z52iqwj8pxci\"},{\"name\":\"ERROR\",\"optional\":true,\"description\":\"specifies that an error message is issued.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1itaw6001ig0cn15uk776o5xgb0\"}],\"supportSiteInformation\":{\"docsetId\":\"lesysoptsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n0hlv62ubu3fa6n1co02ezotijyo.htm\"}},{\"name\":\"MERROR\",\"description\":\"Specifies whether the macro processor issues a warning message when a macro reference cannot be resolved.\",\"type\":\"standalone\",\"supportSiteInformation\":{\"docsetId\":\"mcrolref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n13lznpqnuh7pdn16gpptxr29cw9.htm\"}},{\"name\":\"MEXECNOTE\",\"description\":\"Specifies whether to display macro execution information in the SAS log at macro invocation.\",\"type\":\"standalone\",\"supportSiteInformation\":{\"docsetId\":\"mcrolref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n0xqrgug7d264zn17o4an7ieh925.htm\"}},{\"name\":\"MEXECSIZE=\",\"description\":\"Specifies the maximum macro size that can be executed in memory.\",\"help\":\"MEXECSIZE= *n* | *n*K | *n*M | *n*G | *n*T | *hex*X | MIN | MAX\",\"type\":\"choice\",\"supportSiteInformation\":{\"docsetId\":\"mcrolref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n1p237xxkrx6kyn1s1hngto0jjbo.htm\"}},{\"name\":\"MFILE\",\"description\":\"Specifies whether MPRINT output is routed to an external file.\",\"type\":\"standalone\",\"supportSiteInformation\":{\"docsetId\":\"mcrolref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p0j3zpinabl49ln13q5f5r1t46mg.htm\"}},{\"name\":\"MINDELIMITER=\",\"description\":\"Specifies the character to be used as the delimiter for the macro IN operator.\",\"help\":\"MINDELIMITER= \\\"*single-character*\\\"\",\"type\":\"value\",\"supportSiteInformation\":{\"docsetId\":\"mcrolref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n0vc5y2nyi55dvn1agla9j658kwh.htm\"}},{\"name\":\"MINOPERATOR\",\"description\":\"Controls whether the macro processor recognizes and evaluates the IN (#) logical operator.\",\"type\":\"standalone\",\"supportSiteInformation\":{\"docsetId\":\"mcrolref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p0pbehl7wj5sl4n1ov1ortnehtba.htm\"}},{\"name\":\"MISSING=\",\"description\":\"Specifies the character to print for missing numeric values.\",\"help\":\"MISSING= &lt;'&gt;*character*&lt;'&gt;\",\"type\":\"value\",\"arguments\":[{\"name\":\"character\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the value to be printed. The value can be any character. Single or double quotation marks are optional.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1ni858147c6gan1jzum7wqo7a3c\"}],\"supportSiteInformation\":{\"docsetId\":\"lesysoptsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n0qamf3yfjtwzhn1ran6xwblnlea.htm\"}},{\"name\":\"MLOGIC\",\"description\":\"Specifies whether the macro processor traces its execution for debugging.\",\"type\":\"standalone\",\"supportSiteInformation\":{\"docsetId\":\"mcrolref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n0xmqcv92coq2tn1k0z0q6fl2dew.htm\"}},{\"name\":\"MLOGICNEST\",\"description\":\"Specifies whether to display the macro nesting information in the MLOGIC output in the SAS log.\",\"type\":\"standalone\",\"supportSiteInformation\":{\"docsetId\":\"mcrolref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p0tn2ue6pjpv9kn1fbtwun9shjsv.htm\"}},{\"name\":\"MPRINT\",\"description\":\"Specifies whether SAS statements that are generated by macro execution are written to the SAS log.\",\"type\":\"standalone\",\"supportSiteInformation\":{\"docsetId\":\"mcrolref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p1dhqw0i5yj2m8n15opapnwteqra.htm\"}},{\"name\":\"MPRINTNEST\",\"description\":\"Specifies whether to display the macro nesting information in the MPRINT output in the SAS log.\",\"type\":\"standalone\",\"supportSiteInformation\":{\"docsetId\":\"mcrolref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p09skykl2erwkyn1xh90vqmmcrgy.htm\"}},{\"name\":\"MRECALL\",\"description\":\"Specifies whether autocall libraries are searched for a member that was not found during an earlier search.\",\"type\":\"standalone\",\"supportSiteInformation\":{\"docsetId\":\"mcrolref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n0cfvf12looza7n10yaa4foizemd.htm\"}},{\"name\":\"MREPLACE\",\"description\":\"Specifies whether to enable existing macros to be redefined.\",\"type\":\"standalone\",\"supportSiteInformation\":{\"docsetId\":\"mcrolref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p12f8cmpo3uszxn101516gzamibn.htm\"}},{\"name\":\"MSGLEVEL=\",\"description\":\"Specifies the level of detail in messages that are written to the SAS log.\",\"help\":\"MSGLEVEL= N | I\",\"type\":\"choice\",\"arguments\":[{\"name\":\"N\",\"optional\":true,\"description\":\"specifies to print notes, warnings, CEDA message, and error messages only.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0gc2srhf6erkdn1i14k7fo0iap8\"},{\"name\":\"I\",\"optional\":true,\"description\":\"specifies to print additional notes that pertain to index usage, merge processing, sort utilities, data type conversion, execution in CAS, and Hadoop MapReduce jobs along with standard notes, warnings, CEDA messages, and error messages.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p166lod9vi38kan1uz2h3hcu1kjf\"}],\"supportSiteInformation\":{\"docsetId\":\"lesysoptsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p17071zptzpruyn1a5hirqyle3r3.htm\"}},{\"name\":\"MSTORED\",\"description\":\"Specifies whether the macro facility searches a specific catalog for a stored compiled macro.\",\"type\":\"standalone\",\"supportSiteInformation\":{\"docsetId\":\"mcrolref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n1she0gfz2wh4sn1c8fwaeajjc4r.htm\"}},{\"name\":\"MSYMTABMAX=\",\"description\":\"Specifies the maximum amount of memory available to all macro variable symbol tables (global and local, combined).\",\"help\":\"MSYMTABMAX=                  *n* | *n*K | *n*M | *n*G | *hex*X | MIN | MAX\",\"type\":\"choice\",\"supportSiteInformation\":{\"docsetId\":\"mcrolref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n01cmxgq7yfq5yn1w0u13owvwzvq.htm\"}},{\"name\":\"MULTENVAPPL\",\"description\":\"specifies that an application font selector window lists only the SAS fonts.\",\"type\":\"standalone\",\"supportSiteInformation\":{\"docsetId\":\"lesysoptsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n08s7w03vtg2y6n1eed7xopzq8lu.htm\"}},{\"name\":\"MVARSIZE=\",\"description\":\"Specifies the maximum number of bytes for any macro variable stored in memory.\",\"help\":\"MVARSIZE= *n* | *n*K | *n*M | *n*G | *hex*X | MIN | MAX\",\"type\":\"choice\",\"supportSiteInformation\":{\"docsetId\":\"mcrolref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n1eqbq8qk42fz5n14v229azkoil6.htm\"}},{\"name\":\"NLDECSEPARATOR\",\"aliases\":[\"NLD\"],\"description\":\"Enables locale-sensitive numeric output for the decimal separator.\",\"type\":\"standalone\",\"supportSiteInformation\":{\"docsetId\":\"nlsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p01itdp4pna998n1wc25iifsephg.htm\"}},{\"name\":\"NOACCESSIBLECHECK\",\"description\":\"specifies not to check for common violations of accessibility standards.\",\"type\":\"standalone\",\"supportSiteInformation\":{\"docsetId\":\"lesysoptsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n0b6ah1xwx1qp7n1ac24r33z9o0s.htm\"}},{\"name\":\"NOACCESSIBLEGRAPH\",\"description\":\"specifies not to enable the ACCESSIBLE_GRAPH option in the ODS HTML5 statement by default.\",\"type\":\"standalone\",\"supportSiteInformation\":{\"docsetId\":\"lesysoptsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n1q9wdhmgc4ohwn1ezjxqsupgc2t.htm\"}},{\"name\":\"NOACCESSIBLEPDF\",\"description\":\"specifies not to enable the ACCESSIBLE option in the ODS PDF statement.\",\"type\":\"standalone\",\"supportSiteInformation\":{\"docsetId\":\"lesysoptsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p0c6oabrolh6wen1q7xidwobfgvt.htm\"}},{\"name\":\"NOACCESSIBLETABLE\",\"description\":\"specifies not to create accessible tables by default.\",\"type\":\"standalone\",\"supportSiteInformation\":{\"docsetId\":\"lesysoptsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p1jfynrh23vc76n1wre8lb5ntnu4.htm\"}},{\"name\":\"NOANIMOVERLAY\",\"description\":\"specifies that each frame is played sequentially. When a frame is played, it replaces the previous frame.\",\"type\":\"standalone\",\"supportSiteInformation\":{\"docsetId\":\"lesysoptsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n11bvedi7j9oksn1sbz7jh928sav.htm\"}},{\"name\":\"NOAUTOCORRECT\",\"description\":\"specifies that SAS does not automatically attempt to correct misspelled procedure names, misspelled procedure keywords, or misspelled global statement names.\",\"type\":\"standalone\",\"supportSiteInformation\":{\"docsetId\":\"lesysoptsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p0mzulmnthqs2bn1cuqm5eqlvgi8.htm\"}},{\"name\":\"NOBOMFILE\",\"description\":\"Specifies not to write a BOM prefix when a Unicode-encoded file is written to an external file.\",\"type\":\"standalone\",\"supportSiteInformation\":{\"docsetId\":\"nlsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n0ovum2tekkxadn1jel1gkpj5wx8.htm\"}},{\"name\":\"NOBYERR\",\"description\":\"specifies that SAS ignore the error message and continue processing if the SORT procedure attempts to sort a _NULL_ data.\",\"type\":\"standalone\",\"supportSiteInformation\":{\"docsetId\":\"lesysoptsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n0fc6qbsnpf355n147gfw5hv36v4.htm\"}},{\"name\":\"NOBYLINE\",\"description\":\"suppresses the automatic printing of BY lines.\",\"type\":\"standalone\",\"supportSiteInformation\":{\"docsetId\":\"lesysoptsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n1hr2wb7h5g6twn1gtt5r4zjsg39.htm\"}},{\"name\":\"NOBYSORTED\",\"description\":\"specifies that observations with the same BY value are grouped together but are not necessarily sorted in alphabetic or numeric order.\",\"type\":\"standalone\",\"supportSiteInformation\":{\"docsetId\":\"lesysoptsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n1nys0tu3s8iftn15s4fbp99ilc0.htm\"}},{\"name\":\"NOCAPS\",\"description\":\"specifies that lowercase characters that occur in the types of input that are listed above are not translated to uppercase.\",\"type\":\"standalone\",\"supportSiteInformation\":{\"docsetId\":\"lesysoptsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n1sx39mn21gn7pn1vlw6gqcm8nnr.htm\"}},{\"name\":\"NOCARDIMAGE\",\"description\":\"specifies that SAS source and data lines not be treated as if they were 80-byte card images. When NOCARDIMAGE is in effect, the end of a line is always treated as the end of the last token, except for strings in quotation marks. Strings in quotation marks can be split across lines. Other types of tokens cannot be split across lines under any circumstances. Strings in quotation marks that are split across lines are not padded with blanks.\",\"type\":\"standalone\",\"supportSiteInformation\":{\"docsetId\":\"lesysoptsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n0r48a3yh1ob57n153b8to8kuik0.htm\"}},{\"name\":\"NOCENTER\",\"aliases\":[\"NOCENTRE\"],\"description\":\"left aligns SAS procedure output.\",\"type\":\"standalone\",\"supportSiteInformation\":{\"docsetId\":\"lesysoptsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n017xso4bnme1zn127nct3t8ornv.htm\"}},{\"name\":\"NOCHARCODE\",\"description\":\"does not allow substitutions for certain keyboard characters.\",\"type\":\"standalone\",\"supportSiteInformation\":{\"docsetId\":\"lesysoptsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p12ulbwcvihdn8n148ho3uurhse9.htm\"}},{\"name\":\"NOCLEANUP\",\"description\":\"specifies that SAS allow the user to choose how to handle an out-of-resource condition. When NOCLEANUP is in effect and SAS cannot execute because of a lack of resources, SAS automatically attempts to clean up resources that are not visible to the user (for example, cache memory). However, resources that are visible to the user (for example, windows) are not automatically cleaned up. Instead, a dialog box appears that allows the user to choose how to proceed.\",\"type\":\"standalone\",\"supportSiteInformation\":{\"docsetId\":\"lesysoptsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p0i494n8ucv8qcn1shaqia15jugk.htm\"}},{\"name\":\"NOCMDMAC\",\"description\":\"Controls command-style macro invocation.\",\"type\":\"standalone\",\"supportSiteInformation\":{\"docsetId\":\"mcrolref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n01942p8irrc7sn1csuqaxx299vj.htm\"}},{\"name\":\"NOCMPOPT\",\"description\":\"specifies to set the value of CMPOPT to ALL. The compiler is to optimize the machine language code by using the (CONSTANTFOLDING NOEXTRAMATH NOMISSCHECK NOPRECISE NOFUNCDIFFERENCING SHORTCIRCUIT) optimization values.\",\"type\":\"standalone\",\"supportSiteInformation\":{\"docsetId\":\"lesysoptsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n16rhscxem9ljwn1kuhn5170xkbg.htm\"}},{\"name\":\"NOCOLORPRINTING\",\"description\":\"specifies not to print in color.\",\"type\":\"standalone\",\"supportSiteInformation\":{\"docsetId\":\"lesysoptsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p0kdkpp493wivsn119cv9glcz3t8.htm\"}},{\"name\":\"NODATE\",\"description\":\"specifies that the date and the time are not printed.\",\"type\":\"standalone\",\"supportSiteInformation\":{\"docsetId\":\"lesysoptsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n0dfjdeat9ablan1xhf1n58d5sfw.htm\"}},{\"name\":\"NODBFMTIGNORE\",\"description\":\"specifies that numeric formats are used.\",\"type\":\"standalone\",\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_011\",\"docsetTargetFile\":\"p1syj62v6df7cin1pwzcriu0x6uh.htm\"}},{\"name\":\"NODBIDIRECTEXEC\",\"description\":\"indicates that the SQL pass-through facility does not optimize handling of SQL statements.\",\"type\":\"standalone\",\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_011\",\"docsetTargetFile\":\"n0n7t01ycak5ffn13lt20q1t53rl.htm\"}},{\"name\":\"NODEBUGOPT\",\"description\":\"Specifies the host and port where debugging SAS languages occurs\",\"type\":\"standalone\",\"supportSiteInformation\":{\"docsetId\":\"lesysoptsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p01j7nit9g5umyn1w9uwy0mvtcq3.htm\"}},{\"name\":\"NODETAILS\",\"description\":\"does not include additional information.\",\"type\":\"standalone\",\"supportSiteInformation\":{\"docsetId\":\"lesysoptsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n0v54tw1kqg4qsn1e00e60wy4s10.htm\"}},{\"name\":\"NODLCREATEDIR\",\"description\":\"specifies not to create a directory for a SAS library that is named in a LIBNAME statement.\",\"type\":\"standalone\",\"supportSiteInformation\":{\"docsetId\":\"lesysoptsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n1pihdnfpj4b32n1t62lx0zdsmdn.htm\"}},{\"name\":\"NODSNFERR\",\"description\":\"specifies that SAS ignore the error message and continue processing if a reference is made to a SAS data set that does not exist. The data set reference is treated as if _NULL_ had been specified.\",\"type\":\"standalone\",\"supportSiteInformation\":{\"docsetId\":\"lesysoptsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p1o6bsb5wep7ahn1f8mlw3jf2drq.htm\"}},{\"name\":\"NODTRESET\",\"description\":\"specifies that SAS not update the date and time in the titles of the SAS log and the procedure output file.\",\"type\":\"standalone\",\"supportSiteInformation\":{\"docsetId\":\"lesysoptsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n04garu7xnh3ppn1swye15i8s0fx.htm\"}},{\"name\":\"NOECHOAUTO\",\"description\":\"specifies that SAS statements in the AUTOEXEC= file are not written in the SAS log, even though they are executed.\",\"type\":\"standalone\",\"supportSiteInformation\":{\"docsetId\":\"lesysoptsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n0aeqd6gt2adqhn19f4qpg37kksr.htm\"}},{\"name\":\"NOEMAILFROM\",\"description\":\"specifies that the FROM email option is not required when sending email by using either the FILE or FILENAME statements.\",\"type\":\"standalone\",\"supportSiteInformation\":{\"docsetId\":\"lesysoptsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n019az3lkee2bun1grhii379mhw8.htm\"}},{\"name\":\"NOERRORABEND\",\"aliases\":[\"NOERRABEND\"],\"description\":\"specifies that SAS handle errors normally, that is, issue an error message, set OBS=0, and go into syntax-check mode (if syntax checking is enabled).\",\"type\":\"standalone\",\"supportSiteInformation\":{\"docsetId\":\"lesysoptsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n1w4v7ouc6vfhmn1cnsq5aunqk2j.htm\"}},{\"name\":\"NOERRORBYABEND\",\"description\":\"specifies that SAS handle BY-group errors normally, that is, by issuing an error message and continuing processing.\",\"type\":\"standalone\",\"supportSiteInformation\":{\"docsetId\":\"lesysoptsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n0m7a75t5mj45yn1bby8jpz791c5.htm\"}},{\"name\":\"NOFMTERR\",\"description\":\"replaces missing formats with the w. or $w. default format, issues a note, and continues processing.\",\"type\":\"standalone\",\"supportSiteInformation\":{\"docsetId\":\"lesysoptsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p1djbl02hfnoe3n0zh2i3uu2aqrf.htm\"}},{\"name\":\"NOFONTEMBEDDING\",\"description\":\"specifies to disable font embedding.\",\"type\":\"standalone\",\"supportSiteInformation\":{\"docsetId\":\"lesysoptsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n0nu146has5t9ln1bgkk5jr1atb2.htm\"}},{\"name\":\"NOFULLSTIMER\",\"description\":\"does not write to the SAS log a complete list of resources or a datetime stamp.\",\"type\":\"standalone\",\"supportSiteInformation\":{\"docsetId\":\"lesysoptsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n0k7vnqt9p9o91n1jsl23a08l13e.htm\"}},{\"name\":\"NOHOSTINFOLONG\",\"description\":\"specifies to omit additional operating environment information in the SAS log when SAS starts.\",\"type\":\"standalone\",\"supportSiteInformation\":{\"docsetId\":\"lesysoptsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p01lgsbjy5n06fn1sb7yzg3z8ui2.htm\"}},{\"name\":\"NOIMPLMAC\",\"description\":\"Controls statement-style macro invocation.\",\"type\":\"standalone\",\"supportSiteInformation\":{\"docsetId\":\"mcrolref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p18ardiyzk0yatn1mu19ovw2rfpi.htm\"}},{\"name\":\"NOLABEL\",\"description\":\"specifies that SAS procedures cannot use labels with variables. If NOLABEL is specified, the LABEL option of a procedure is ignored.\",\"type\":\"standalone\",\"supportSiteInformation\":{\"docsetId\":\"lesysoptsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p02de158iswt9tn1eu1nt59jmoae.htm\"}},{\"name\":\"NOMACRO\",\"description\":\"Controls whether the SAS macro language is available.\",\"type\":\"standalone\",\"supportSiteInformation\":{\"docsetId\":\"mcrolref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p10aezpfo5vpavn0zh0nq8otrr8l.htm\"}},{\"name\":\"NOMACROCOMPVERWARN\",\"description\":\"Specifies whether a warning or a note is written to the SAS log when a stored compiled macro that was compiled on a different operating system or a different version of SAS is executed.\",\"type\":\"standalone\",\"supportSiteInformation\":{\"docsetId\":\"mcrolref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p1uflzaji1wy1en18e4ieribgmah.htm\"}},{\"name\":\"NOMAUTOCOMPLOC\",\"description\":\"Displays in the SAS log the source location of an autocall macro when the autocall macro is compiled.\",\"type\":\"standalone\",\"supportSiteInformation\":{\"docsetId\":\"mcrolref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n188e0nhl068hzn1unfft60d9aj2.htm\"}},{\"name\":\"NOMAUTOLOCDISPLAY\",\"description\":\"Specifies whether to display the source location of the autocall macros in the log when the autocall macro is invoked.\",\"type\":\"standalone\",\"supportSiteInformation\":{\"docsetId\":\"mcrolref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p04o0tz0t7g88in1mqlh27hj7wgn.htm\"}},{\"name\":\"NOMAUTOLOCINDES\",\"description\":\"Specifies whether the macro processor prepends the full pathname of the autocall source file to the description field of the catalog entry of compiled autocall macro definition in the Work.SASMacr or Work.SASMacn catalog.\",\"type\":\"standalone\",\"supportSiteInformation\":{\"docsetId\":\"mcrolref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n0rgycsomlut20n1a13vgaf9j7f3.htm\"}},{\"name\":\"NOMAUTOSOURCE\",\"description\":\"Specifies whether the autocall feature is available.\",\"type\":\"standalone\",\"supportSiteInformation\":{\"docsetId\":\"mcrolref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n1fbcsjdhakzywn1qg28id3gl0ph.htm\"}},{\"name\":\"NOMCOMPILE\",\"description\":\"Specifies whether to allow new definitions of macros.\",\"type\":\"standalone\",\"supportSiteInformation\":{\"docsetId\":\"mcrolref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n1jf9tbi3e77ywn176c9l6g9v9ks.htm\"}},{\"name\":\"NOMCOVERAGE\",\"description\":\"Enables the generation of coverage analysis data.\",\"type\":\"standalone\",\"supportSiteInformation\":{\"docsetId\":\"mcrolref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n05xwm03akq0ljn12mq5bhge6q4g.htm\"}},{\"name\":\"NOMERROR\",\"description\":\"Specifies whether the macro processor issues a warning message when a macro reference cannot be resolved.\",\"type\":\"standalone\",\"supportSiteInformation\":{\"docsetId\":\"mcrolref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n13lznpqnuh7pdn16gpptxr29cw9.htm\"}},{\"name\":\"NOMEXECNOTE\",\"description\":\"Specifies whether to display macro execution information in the SAS log at macro invocation.\",\"type\":\"standalone\",\"supportSiteInformation\":{\"docsetId\":\"mcrolref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n0xqrgug7d264zn17o4an7ieh925.htm\"}},{\"name\":\"NOMFILE\",\"description\":\"Specifies whether MPRINT output is routed to an external file.\",\"type\":\"standalone\",\"supportSiteInformation\":{\"docsetId\":\"mcrolref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p0j3zpinabl49ln13q5f5r1t46mg.htm\"}},{\"name\":\"NOMINOPERATOR\",\"description\":\"Controls whether the macro processor recognizes and evaluates the IN (#) logical operator.\",\"type\":\"standalone\",\"supportSiteInformation\":{\"docsetId\":\"mcrolref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p0pbehl7wj5sl4n1ov1ortnehtba.htm\"}},{\"name\":\"NOMLOGIC\",\"description\":\"Specifies whether the macro processor traces its execution for debugging.\",\"type\":\"standalone\",\"supportSiteInformation\":{\"docsetId\":\"mcrolref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n0xmqcv92coq2tn1k0z0q6fl2dew.htm\"}},{\"name\":\"NOMLOGICNEST\",\"description\":\"Specifies whether to display the macro nesting information in the MLOGIC output in the SAS log.\",\"type\":\"standalone\",\"supportSiteInformation\":{\"docsetId\":\"mcrolref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p0tn2ue6pjpv9kn1fbtwun9shjsv.htm\"}},{\"name\":\"NOMPRINT\",\"description\":\"Specifies whether SAS statements that are generated by macro execution are written to the SAS log.\",\"type\":\"standalone\",\"supportSiteInformation\":{\"docsetId\":\"mcrolref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p1dhqw0i5yj2m8n15opapnwteqra.htm\"}},{\"name\":\"NOMPRINTNEST\",\"description\":\"Specifies whether to display the macro nesting information in the MPRINT output in the SAS log.\",\"type\":\"standalone\",\"supportSiteInformation\":{\"docsetId\":\"mcrolref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p09skykl2erwkyn1xh90vqmmcrgy.htm\"}},{\"name\":\"NOMRECALL\",\"description\":\"Specifies whether autocall libraries are searched for a member that was not found during an earlier search.\",\"type\":\"standalone\",\"supportSiteInformation\":{\"docsetId\":\"mcrolref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n0cfvf12looza7n10yaa4foizemd.htm\"}},{\"name\":\"NOMREPLACE\",\"description\":\"Specifies whether to enable existing macros to be redefined.\",\"type\":\"standalone\",\"supportSiteInformation\":{\"docsetId\":\"mcrolref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p12f8cmpo3uszxn101516gzamibn.htm\"}},{\"name\":\"NOMSTORED\",\"description\":\"Specifies whether the macro facility searches a specific catalog for a stored compiled macro.\",\"type\":\"standalone\",\"supportSiteInformation\":{\"docsetId\":\"mcrolref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n1she0gfz2wh4sn1c8fwaeajjc4r.htm\"}},{\"name\":\"NOMULTENVAPPL\",\"description\":\"specifies that an application font selector window lists only the operating environment fonts.\",\"type\":\"standalone\",\"supportSiteInformation\":{\"docsetId\":\"lesysoptsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n08s7w03vtg2y6n1eed7xopzq8lu.htm\"}},{\"name\":\"NONLDECSEPARATOR\",\"description\":\"Disables locale-sensitive numeric output for the decimal separator.\",\"type\":\"standalone\",\"supportSiteInformation\":{\"docsetId\":\"nlsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p01itdp4pna998n1wc25iifsephg.htm\"}},{\"name\":\"NONOTES\",\"description\":\"specifies that SAS not write notes to the SAS log. NONOTES does not suppress error and warning messages.\",\"type\":\"standalone\",\"supportSiteInformation\":{\"docsetId\":\"lesysoptsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p1n9y0vee2emq9n1gotajyxubz3x.htm\"}},{\"name\":\"NONUMBER\",\"description\":\"specifies that SAS not print the page number on the first title line of each page of SAS output.\",\"type\":\"standalone\",\"supportSiteInformation\":{\"docsetId\":\"lesysoptsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n05f7gfmt2vy5tn0z4x36run57gm.htm\"}},{\"name\":\"NOOVP\",\"description\":\"specifies that overprinting of error messages is disabled.\",\"type\":\"standalone\",\"supportSiteInformation\":{\"docsetId\":\"lesysoptsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p1efwbztkr5j57n1irea9a6liqj8.htm\"}},{\"name\":\"NOPAGEBREAKINITIAL\",\"description\":\"specifies not to begin the SAS log and procedure output files on a new page.\",\"type\":\"standalone\",\"supportSiteInformation\":{\"docsetId\":\"lesysoptsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n042c35kwrf23un1aofxpi8ba05g.htm\"}},{\"name\":\"NOPDFACCESS\",\"description\":\"specifies that PDF documents cannot be edited.\",\"type\":\"standalone\",\"supportSiteInformation\":{\"docsetId\":\"lesysoptsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n17qb1ilnsg9pon1pn07hhlxu2p9.htm\"}},{\"name\":\"NOPDFASSEMBLY\",\"description\":\"specifies that PDF documents cannot be assembled.\",\"type\":\"standalone\",\"supportSiteInformation\":{\"docsetId\":\"lesysoptsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p0asa0r6gw2gkwn15anx2nlv4zu5.htm\"}},{\"name\":\"NOPDFCOMMENT\",\"description\":\"specifies that PDF document comments cannot be modified.\",\"type\":\"standalone\",\"supportSiteInformation\":{\"docsetId\":\"lesysoptsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p0fbeem2dn87p5n16xmxuk4bw2vs.htm\"}},{\"name\":\"NOPDFCONTENT\",\"description\":\"specifies that the contents of a PDF document cannot be changed.\",\"type\":\"standalone\",\"supportSiteInformation\":{\"docsetId\":\"lesysoptsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n1fwj90qdikbskn1go4oj8rssjuh.htm\"}},{\"name\":\"NOPDFCOPY\",\"description\":\"specifies that text and graphics from a PDF document cannot be copied.\",\"type\":\"standalone\",\"supportSiteInformation\":{\"docsetId\":\"lesysoptsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p01hbseekw1dgan1rcc6bafkkxjm.htm\"}},{\"name\":\"NOPDFFILLIN\",\"description\":\"specifies that PDF forms cannot be filled in.\",\"type\":\"standalone\",\"supportSiteInformation\":{\"docsetId\":\"lesysoptsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n0m0x3yhajru0un1v8k21ggsq14n.htm\"}},{\"name\":\"NOPRINTMSGLIST\",\"description\":\"specifies to print only the top-level message to the SAS log.\",\"type\":\"standalone\",\"supportSiteInformation\":{\"docsetId\":\"lesysoptsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n1l0qc149cp4con1djgg3z4rli7u.htm\"}},{\"name\":\"NOQUOTELENMAX\",\"description\":\"specifies that SAS does not write a note to the SAS log about the maximum length for strings in quotation marks.\",\"type\":\"standalone\",\"supportSiteInformation\":{\"docsetId\":\"lesysoptsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n1j7a6mgalhqo5n11kv0vbpbx277.htm\"}},{\"name\":\"NOREPLACE\",\"description\":\"specifies that a permanently stored SAS data set cannot be replaced with another SAS data set, which prevents the accidental replacement of existing SAS data sets.\",\"type\":\"standalone\",\"supportSiteInformation\":{\"docsetId\":\"lesysoptsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n16q7psnp46obtn1hqbni4o7f6qg.htm\"}},{\"name\":\"NORESTRICTFROM\",\"description\":\"Prevents users from using the FROM= parameter in the FILENAME EMAIL statement.\",\"type\":\"standalone\",\"supportSiteInformation\":{\"docsetId\":\"lesysoptsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n1po6tss6p4tc7n19m65tg8ez54v.htm\"}},{\"name\":\"NORSASIOTRANSERROR\",\"description\":\"specifies not to display a transcoding error when invalid values are read from a remote application.\",\"type\":\"standalone\",\"supportSiteInformation\":{\"docsetId\":\"nlsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p09yh96xgvdzhjn1gimcw1d7vy1c.htm\"}},{\"name\":\"NOSASAUTOS\",\"description\":\"Specifies the location of one or more autocall libraries.\",\"type\":\"standalone\",\"supportSiteInformation\":{\"docsetId\":\"mcrolref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p12b2qq72dkxpsn1e19y57emerr6.htm\"}},{\"name\":\"NOSERROR\",\"aliases\":[\"NOSERR\"],\"description\":\"issues no warning messages when the macro processor cannot match a macro variable reference to an existing macro variable.\",\"type\":\"standalone\",\"supportSiteInformation\":{\"docsetId\":\"mcrolref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n1rj17214ishqxn1l0pgyyc779gk.htm\"}},{\"name\":\"NOSORTEQUALS\",\"description\":\"specifies that no resources be used to control the order of observations with identical BY variable values in the output data set.\",\"type\":\"standalone\",\"supportSiteInformation\":{\"docsetId\":\"lesysoptsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n0rc82l3yk2pa9n1xetjcre5ve5e.htm\"}},{\"name\":\"NOSORTVALIDATE\",\"description\":\"specifies that the SORT procedure is not to verify if the observations in the data set are sorted.\",\"type\":\"standalone\",\"supportSiteInformation\":{\"docsetId\":\"lesysoptsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n0cdfgq2lsgve4n13cflndvlte98.htm\"}},{\"name\":\"NOSOURCE\",\"description\":\"does not write SAS source statements to the SAS log.\",\"type\":\"standalone\",\"supportSiteInformation\":{\"docsetId\":\"lesysoptsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n0gnz7tqcszvbpn1umls21zdkw62.htm\"}},{\"name\":\"NOSOURCE2\",\"description\":\"does not write secondary source statements to the SAS log.\",\"type\":\"standalone\",\"supportSiteInformation\":{\"docsetId\":\"lesysoptsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n0dk0dc3yeff1hn1murknwao75bb.htm\"}},{\"name\":\"NOSPOOL\",\"description\":\"specifies that SAS does not write statements to a utility data set. Specifying NOSPOOL accelerates execution time, but you cannot use the %INCLUDE and %LIST statements to resubmit SAS statements that were executed earlier in the session.\",\"type\":\"standalone\",\"supportSiteInformation\":{\"docsetId\":\"lesysoptsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n1qzvfxvfsws3an1i303rzyp6emk.htm\"}},{\"name\":\"NOSQLCONSTDATETIME\",\"description\":\"specifies that the SQL procedure is not to replace references to the DATE, TIME, DATETIME, and TODAY functions with their equivalent numeric constant values.\",\"help\":\"SQLCONSTDATETIME  | NOSQLCONSTDATETIME \",\"type\":\"choice\",\"arguments\":[{\"name\":\"SQLCONSTDATETIME\",\"optional\":true,\"description\":\"specifies that the SQL procedure is to replace references to the DATE, TIME, DATETIME, and TODAY functions with their equivalent numeric constant values.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0nj3en4dq5315n1r9ppl349ytok\"}],\"supportSiteInformation\":{\"docsetId\":\"sqlproc\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n1mar4dz971ln3n1lxmgx7hcgyc0.htm\"}},{\"name\":\"NOSQLIPONEATTEMPT\",\"description\":\"has no limitations on how many times PROC SQL can reject a query or part of a query that is being sent to a DBMS. This is the default value.\",\"help\":\"SQLIPONEATTEMPT  | NOSQLIPONEATTEMPT \",\"type\":\"choice\",\"arguments\":[{\"name\":\"SQLIPONEATTEMPT\",\"optional\":true,\"description\":\"instructs PROC SQL to fail an implicit pass-through (IP) query if the DBMS that the query or part of the query is being sent to rejects it.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0zygc2jx253m3n1q30s4w4um39w\"}],\"supportSiteInformation\":{\"docsetId\":\"sqlproc\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n1e315fgk008qwn1jjo83015285l.htm\"}},{\"name\":\"NOSQLREMERGE\",\"description\":\"specifies that PROC SQL cannot process queries that use remerged data.\",\"help\":\"SQLREMERGE  | NOSQLREMERGE \",\"type\":\"choice\",\"arguments\":[{\"name\":\"SQLREMERGE\",\"optional\":true,\"description\":\"specifies that PROC SQL can process queries that use remerged data.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1j2rwzonibu2on157t5wo8fmn6h\"}],\"supportSiteInformation\":{\"docsetId\":\"sqlproc\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n0vsajplmvvo6dn1n6i4tt22e4xx.htm\"}},{\"name\":\"NOSTIMER\",\"description\":\"does not write any statistics to the SAS log.\",\"type\":\"standalone\",\"supportSiteInformation\":{\"docsetId\":\"lesysoptsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n1na6t89rml29wn1v6zwagziox4t.htm\"}},{\"name\":\"NOSVGAUTOPLAY\",\"description\":\"specifies to display the first frame of the animation in the web page. The animated file is started by clicking Animation Play button.\",\"type\":\"standalone\",\"supportSiteInformation\":{\"docsetId\":\"lesysoptsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n0la1x92n5rb8kn1kumvr14eoyej.htm\"}},{\"name\":\"NOSVGCONTROLBUTTONS\",\"description\":\"specifies not to display the paging control buttons in the SVG document.\",\"type\":\"standalone\",\"supportSiteInformation\":{\"docsetId\":\"lesysoptsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p16rts1wfwshe0n172zlqgj70fr3.htm\"}},{\"name\":\"NOSVGMAGNIFYBUTTON\",\"description\":\"specifies to disable the SVG magnify tool for all SVG documents.\",\"type\":\"standalone\",\"supportSiteInformation\":{\"docsetId\":\"lesysoptsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n1wa8jr0kcezbzn16icpsmxbllzv.htm\"}},{\"name\":\"NOSYMBOLGEN\",\"aliases\":[\"NOSGEN\"],\"description\":\"does not display results of resolving macro variable references.\",\"type\":\"standalone\",\"supportSiteInformation\":{\"docsetId\":\"mcrolref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n0lh4tuknkdkf2n1d4qi7utpyf5n.htm\"}},{\"name\":\"NOSYNTAXCHECK\",\"description\":\"does not enable syntax check mode for statements that are submitted within a non-interactive or batch SAS session.\",\"type\":\"standalone\",\"supportSiteInformation\":{\"docsetId\":\"lesysoptsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n014qbvh3po8w5n1qlqbzr22vtg0.htm\"}},{\"name\":\"NOTES\",\"description\":\"specifies that SAS write notes to the SAS log.\",\"type\":\"standalone\",\"supportSiteInformation\":{\"docsetId\":\"lesysoptsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p1n9y0vee2emq9n1gotajyxubz3x.htm\"}},{\"name\":\"NOTHREADS\",\"description\":\"specifies not to use threaded processing for running SAS applications that support it.\",\"type\":\"standalone\",\"supportSiteInformation\":{\"docsetId\":\"lesysoptsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p0cvg7xpfvfyn4n1rnp64gu91poh.htm\"}},{\"name\":\"NOUPRINTCOMPRESSION\",\"aliases\":[\"UPC | NOUPC\"],\"description\":\"specifies to disable compression of files created by some Universal Printers and some SAS/GRAPH devices.\",\"type\":\"standalone\",\"supportSiteInformation\":{\"docsetId\":\"lesysoptsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n1hcvo7ica4001n1vnp3v6b4mzne.htm\"}},{\"name\":\"NOVNFERR\",\"description\":\"specifies that SAS issue a warning when a BY variable exists in one data set but not in another data set when the other data set is _NULL_. This option applies when processing the SET, MERGE, UPDATE, or MODIFY statements. When the warning occurs, SAS does not enter into syntax-check mode.\",\"help\":\"VNFERR  | NOVNFERR \",\"type\":\"choice\",\"arguments\":[{\"name\":\"VNFERR\",\"optional\":true,\"description\":\"specifies that SAS issue an error when a BY variable exists in one data set but not in another data set when the other data set is _NULL_. This option applies when processing the SET, MERGE, UPDATE, or MODIFY statements. When the error occurs, SAS enters into syntax-check mode.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0q9x6zo76hwltn1uskskau9i6cd\"}],\"supportSiteInformation\":{\"docsetId\":\"lesysoptsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p1uqbqvb1i87xzn1cntqqxy8wqe0.htm\"}},{\"name\":\"NOWORKTERM\",\"description\":\"does not erase the Work files.\",\"type\":\"standalone\",\"supportSiteInformation\":{\"docsetId\":\"lesysoptsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p182lylgccdsgin14sgkqd4heyiz.htm\"}},{\"name\":\"NOXCMD\",\"description\":\"specifies that the X command is not valid in the current SAS session.\",\"type\":\"standalone\",\"supportSiteInformation\":{\"docsetId\":\"lesysoptsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p10haxmkdtz2n5n1wm4j9zj2v4fw.htm\"}},{\"name\":\"NUMBER\",\"description\":\"specifies that SAS print the page number on the first title line of each page of SAS output.\",\"type\":\"standalone\",\"supportSiteInformation\":{\"docsetId\":\"lesysoptsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n05f7gfmt2vy5tn0z4x36run57gm.htm\"}},{\"name\":\"OBS=\",\"description\":\"Specifies the observation that is used to determine the last observation to process, or specifies the last record to process.\",\"help\":\"OBS= *n* |  *n*K |  *n*M | *n*G |  *n*T |  *hex*X |  MIN | MAX\",\"type\":\"choice\",\"arguments\":[{\"name\":\"n\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies a number to indicate when to stop processing, where n is an integer. Using one of the letter notations results in multiplying the integer by a specific value. That is, specifying K (kilo) multiplies the integer by 1,024; M (mega) multiplies by 1,048,576; G (giga) multiplies by 1,073,741,824; or T (tera) multiplies by 1,099,511,627,776. For example, a value of 20 specifies 20 observations or records, whereas a value of 3m specifies 3,145,728 observations or records.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n036vhvr91fbrxn1fj8g8nbxljkh\"},{\"name\":\"K\",\"optional\":true,\"description\":\"specifies a number to indicate when to stop processing, where n is an integer. Using one of the letter notations results in multiplying the integer by a specific value. That is, specifying K (kilo) multiplies the integer by 1,024; M (mega) multiplies by 1,048,576; G (giga) multiplies by 1,073,741,824; or T (tera) multiplies by 1,099,511,627,776. For example, a value of 20 specifies 20 observations or records, whereas a value of 3m specifies 3,145,728 observations or records.\",\"help\":\"*n*K\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n036vhvr91fbrxn1fj8g8nbxljkh\"},{\"name\":\"M\",\"optional\":true,\"description\":\"specifies a number to indicate when to stop processing, where n is an integer. Using one of the letter notations results in multiplying the integer by a specific value. That is, specifying K (kilo) multiplies the integer by 1,024; M (mega) multiplies by 1,048,576; G (giga) multiplies by 1,073,741,824; or T (tera) multiplies by 1,099,511,627,776. For example, a value of 20 specifies 20 observations or records, whereas a value of 3m specifies 3,145,728 observations or records.\",\"help\":\"*n*M\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n036vhvr91fbrxn1fj8g8nbxljkh\"},{\"name\":\"G\",\"optional\":true,\"description\":\"specifies a number to indicate when to stop processing, where n is an integer. Using one of the letter notations results in multiplying the integer by a specific value. That is, specifying K (kilo) multiplies the integer by 1,024; M (mega) multiplies by 1,048,576; G (giga) multiplies by 1,073,741,824; or T (tera) multiplies by 1,099,511,627,776. For example, a value of 20 specifies 20 observations or records, whereas a value of 3m specifies 3,145,728 observations or records.\",\"help\":\"*n*G\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n036vhvr91fbrxn1fj8g8nbxljkh\"},{\"name\":\"T\",\"optional\":true,\"description\":\"specifies a number to indicate when to stop processing, where n is an integer. Using one of the letter notations results in multiplying the integer by a specific value. That is, specifying K (kilo) multiplies the integer by 1,024; M (mega) multiplies by 1,048,576; G (giga) multiplies by 1,073,741,824; or T (tera) multiplies by 1,099,511,627,776. For example, a value of 20 specifies 20 observations or records, whereas a value of 3m specifies 3,145,728 observations or records.\",\"help\":\"*n*T\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n036vhvr91fbrxn1fj8g8nbxljkh\"},{\"name\":\"X\",\"optional\":true,\"description\":\"specifies a number to indicate when to stop processing as a hexadecimal value. The value must begin with a number (0–9) and must be followed by an X. For example, the hexadecimal value F8 must be specified as 0F8x in order to specify the decimal equivalent of 248. The value 2dx specifies the decimal equivalent of 45.\",\"help\":\"*hex*X\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0642oq4akw8ozn1avc0dlh5w1u4\"},{\"name\":\"MIN\",\"optional\":true,\"description\":\"sets the number to 0 to indicate when to stop processing.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1uraq4i06f6avn1vqdgc0saar4r\"},{\"name\":\"MAX\",\"optional\":true,\"description\":\"sets the number to indicate when to stop processing to the maximum number of observations or records, up to the largest eight-byte, signed integer, which is 263-1, or approximately 9.2 quintillion.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1v4thzvsxa9run1dc2v1l72sknv\"}],\"supportSiteInformation\":{\"docsetId\":\"lesysoptsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n06qlo77ayax2kn1xobou72cdz20.htm\"}},{\"name\":\"ORIENTATION=\",\"description\":\"Specifies the paper orientation to use when printing to a printer.\",\"help\":\"ORIENTATION= PORTRAIT | LANDSCAPE | REVERSEPORTRAIT | REVERSELANDSCAPE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"PORTRAIT\",\"optional\":true,\"description\":\"specifies the paper orientation as portrait.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0wm1hxwls6ydcn1fegipj433q2c\"},{\"name\":\"LANDSCAPE\",\"optional\":true,\"description\":\"specifies the paper orientation as landscape.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1myixehw22qsnn1pldvddix1x1k\"},{\"name\":\"REVERSEPORTRAIT\",\"optional\":true,\"description\":\"specifies the paper orientation as reverse portrait. Use this value to control the top of the page relative to how the paper is inserted into the input paper tray. REVERSEPORTRAIT can be used when you print preprinted or punched forms.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0i3v1l5remj6yn1lgb1h82cpcfp\"},{\"name\":\"REVERSELANDSCAPE\",\"optional\":true,\"description\":\"specifies the paper orientation as reverse landscape. Use this value to control the top of the page relative to how the paper is inserted into the input paper tray. REVERSELANDSCAPE can be used when you print preprinted or punched forms.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0du8v34lstsg2n1whz319o4dwv7\"}],\"supportSiteInformation\":{\"docsetId\":\"lesysoptsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p1a6e51zsy266jn1kfjmcl1y4a00.htm\"}},{\"name\":\"OVP\",\"description\":\"specifies that overprinting of error messages is enabled.\",\"type\":\"standalone\",\"supportSiteInformation\":{\"docsetId\":\"lesysoptsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p1efwbztkr5j57n1irea9a6liqj8.htm\"}},{\"name\":\"PAGEBREAKINITIAL\",\"description\":\"specifies to begin the SAS log and procedure output files on a new page.\",\"type\":\"standalone\",\"supportSiteInformation\":{\"docsetId\":\"lesysoptsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n042c35kwrf23un1aofxpi8ba05g.htm\"}},{\"name\":\"PAGENO=\",\"description\":\"Resets the SAS output page number.\",\"help\":\"PAGENO= *n* |  *n*K |  *hex*X |  MIN | MAX\",\"type\":\"choice\",\"arguments\":[{\"name\":\"n\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the page number in multiples of 1 (n); 1,024 (nK). For example, a value of 8 sets the page number to 8 and a value of 3k sets the page number to 3,072.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0adqfbivtni6kn1x5dsp6oj492q\"},{\"name\":\"K\",\"optional\":true,\"description\":\"specifies the page number in multiples of 1 (n); 1,024 (nK). For example, a value of 8 sets the page number to 8 and a value of 3k sets the page number to 3,072.\",\"help\":\"*n*K\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0adqfbivtni6kn1x5dsp6oj492q\"},{\"name\":\"X\",\"optional\":true,\"description\":\"specifies the page number as a hexadecimal number. The value must begin with a number (0–9) and must be followed by an X. For example, the value 2dx sets the page number to 45.\",\"help\":\"*hex*X\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p11brf8z4yzcj3n1en4m6j98ixon\"},{\"name\":\"MIN\",\"optional\":true,\"description\":\"sets the page number to the minimum number, 1.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n09kd6onz5uhstn15qfuph3ag4k5\"},{\"name\":\"MAX\",\"optional\":true,\"description\":\"specifies the maximum page number as the largest signed, four–byte integer that is representable in your operating environment.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1vdtiazdc6m64n1f0bkkzyx2c3k\"}],\"supportSiteInformation\":{\"docsetId\":\"lesysoptsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n1go1ykegve5rkn1hfr4m2hqw5lc.htm\"}},{\"name\":\"PAGESIZE=\",\"aliases\":[\"PS=\"],\"description\":\"Specifies the number of lines that compose a page of the SAS log and SAS output.\",\"help\":\"PAGESIZE= *n* |  *n*K |  *hex*X |  MIN | MAX\",\"type\":\"choice\",\"arguments\":[{\"name\":\"n\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the number of lines that compose a page in multiples of 1 (n) or 1,024 (nK). You can specify decimal values for the number of kilobytes. For example, a value of 800 specifies 800 lines, a value of .782k specifies 801 lines, and a value of 3k specifies 3,072 lines.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0yaig935bsc25n1s01s17a6ddiz\"},{\"name\":\"K\",\"optional\":true,\"description\":\"specifies the number of lines that compose a page in multiples of 1 (n) or 1,024 (nK). You can specify decimal values for the number of kilobytes. For example, a value of 800 specifies 800 lines, a value of .782k specifies 801 lines, and a value of 3k specifies 3,072 lines.\",\"help\":\"*n*K\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0yaig935bsc25n1s01s17a6ddiz\"},{\"name\":\"X\",\"optional\":true,\"description\":\"specifies the number of lines that compose a page as a hexadecimal number. The value must begin with a number (0–9) and must be followed by an X. For example, the value 2dx sets the number of lines that compose a page to 45.\",\"help\":\"*hex*X\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0l3sutze5fpfin1wqby3u08bi3x\"},{\"name\":\"MIN\",\"optional\":true,\"description\":\"sets the number of lines that compose a page to the minimum setting, 15.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0341m46mjmusvn1ig7dvqnbdy9d\"},{\"name\":\"MAX\",\"optional\":true,\"description\":\"sets the number of lines that compose a page to the maximum setting, 32,767.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1nqivsej7w3eun1deut6wmq45yx\"}],\"supportSiteInformation\":{\"docsetId\":\"lesysoptsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n02ek00ir5ihs8n1rewzb5obh1p7.htm\"}},{\"name\":\"PAPERSIZE=\",\"description\":\"Specifies the paper size to use for printing.\",\"help\":\"PAPERSIZE= LOCALE | paper_size_name | \\n(width_value<,>height_value) | \\n('width_value'<,> 'height_value') | \\n(\\\"width_value\\\"<,>\\\"height_value\\\")\",\"type\":\"choice\",\"arguments\":[{\"name\":\"LOCALE\",\"optional\":true,\"description\":\"specifies to use the value of the LOCALE= system option to determine the value of the PAPERSIZE= option. Depending on the locale, the PAPERSIZE= option is set to either LETTER or A4.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0no435laavivtn1xlpjutj33pph\"},{\"name\":\"paper_size_name\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies a predefined paper size.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n12w8gorib3lqhn1kpke9fpurzym\"},{\"name\":\"(“width-value”, “height-value”)\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies paper width and height as positive floating-point values.\",\"help\":\"*(“width-value”, “height-value”)*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n00qbwjacp457sn1bxzyaqi9l9y8\"}],\"supportSiteInformation\":{\"docsetId\":\"lesysoptsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n1ieb4hg6fijzon1slcsyiqu7972.htm\"}},{\"name\":\"PARM=\",\"description\":\"Specifies a parameter string that is passed to an external program.\",\"help\":\"PARM= &lt;'&gt;*string*&lt;'&gt;\",\"type\":\"value\",\"arguments\":[{\"name\":\"string\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies a character string that contains a parameter.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p12i8tcjemd0wun199rmlrbtacgr\"}],\"supportSiteInformation\":{\"docsetId\":\"lesysoptsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p0qwjjf0qpfmxwn1rg14ql2nk9wn.htm\"}},{\"name\":\"PARMCARDS=\",\"description\":\"Specifies the file reference to open when SAS encounters the PARMCARDS statement in a procedure.\",\"help\":\"PARMCARDS= *file-ref*\",\"type\":\"value\",\"arguments\":[{\"name\":\"file-ref\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the file reference to open.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n09uhfpcjmqa8dn1ns3dr2x8wa1n\"}],\"supportSiteInformation\":{\"docsetId\":\"lesysoptsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p0bwycx4em8cron1fmuza802n0e9.htm\"}},{\"name\":\"PDFACCESS\",\"description\":\"specifies that PDF documents can be edited.\",\"type\":\"standalone\",\"supportSiteInformation\":{\"docsetId\":\"lesysoptsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n17qb1ilnsg9pon1pn07hhlxu2p9.htm\"}},{\"name\":\"PDFASSEMBLY\",\"description\":\"specifies that PDF documents can be assembled.\",\"type\":\"standalone\",\"supportSiteInformation\":{\"docsetId\":\"lesysoptsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p0asa0r6gw2gkwn15anx2nlv4zu5.htm\"}},{\"name\":\"PDFCOMMENT\",\"description\":\"specifies that PDF document comments can be modified.\",\"type\":\"standalone\",\"supportSiteInformation\":{\"docsetId\":\"lesysoptsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p0fbeem2dn87p5n16xmxuk4bw2vs.htm\"}},{\"name\":\"PDFCONTENT\",\"description\":\"specifies that the contents of a PDF document can be changed.\",\"type\":\"standalone\",\"supportSiteInformation\":{\"docsetId\":\"lesysoptsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n1fwj90qdikbskn1go4oj8rssjuh.htm\"}},{\"name\":\"PDFCOPY\",\"description\":\"specifies that text and graphics from a PDF document can be copied.\",\"type\":\"standalone\",\"supportSiteInformation\":{\"docsetId\":\"lesysoptsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p01hbseekw1dgan1rcc6bafkkxjm.htm\"}},{\"name\":\"PDFFILLIN\",\"description\":\"specifies that PDF forms can be filled in.\",\"type\":\"standalone\",\"supportSiteInformation\":{\"docsetId\":\"lesysoptsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n0m0x3yhajru0un1v8k21ggsq14n.htm\"}},{\"name\":\"PDFPAGELAYOUT=\",\"description\":\"Specifies the page layout for PDF documents.\",\"help\":\"PDFPAGELAYOUT=                  DEFAULT | SINGLEPAGE | CONTINUOUS | \\nFACING | CONTINUOUSFACING\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DEFAULT\",\"optional\":true,\"description\":\"specifies to use the current page layout for Acrobat Reader.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1ocphgp0ipundn1hwjpnzfapjvk\"},{\"name\":\"SINGLEPAGE\",\"optional\":true,\"description\":\"specifies to display one page at a time in the viewing area.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0nwuj12zqx4c3n1e8klrhyuuv8w\"},{\"name\":\"CONTINUOUS\",\"optional\":true,\"description\":\"specifies to display all document pages in the viewing area in a single column.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0nfet8xcmq9fcn1xhuidh2ygs63\"},{\"name\":\"FACING\",\"optional\":true,\"description\":\"specifies to display only two pages in the viewing area, with the even pages on the left and the odd pages on the right.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p01qxsgyu1h9o2n1o6y9q1of7ddo\"},{\"name\":\"CONTINUOUSFACING\",\"optional\":true,\"description\":\"specifies to display all pages in the viewing area, two pages side by side. The even pages are displayed on the left, and the odd pages display on the right.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1hbhcu2qlbkscn167z60b89r00p\"}],\"supportSiteInformation\":{\"docsetId\":\"lesysoptsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p0a02jocf7ygifn1du4u7wnuscjb.htm\"}},{\"name\":\"PDFPAGEVIEW=\",\"description\":\"Specifies the page viewing mode for PDF documents.\",\"help\":\"PDFPAGEVIEW=                  DEFAULT | ACTUAL | FITPAGE | FITWIDTH | FULLSCREEN\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DEFAULT\",\"optional\":true,\"description\":\"specifies to use the current page view setting for Acrobat Reader.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0t8eb6oe66y68n16rwn6a7qbvty\"},{\"name\":\"ACTUAL\",\"optional\":true,\"description\":\"specifies to set the page view setting to 100%.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1askl8pdas9enn18i7qzpygnnpd\"},{\"name\":\"FITPAGE\",\"optional\":true,\"description\":\"specifies to view a page using the full extent of the viewing window, maintaining the height and width aspect ratio.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n013xn5sidmizzn1ohrjgxfwpafd\"},{\"name\":\"FITWIDTH\",\"optional\":true,\"description\":\"specifies to view a page using the full width of the viewing window. The height of the document is not scaled to fit the page.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n07iutkqi3neudn1c8fewwq5j45r\"},{\"name\":\"FULLSCREEN\",\"optional\":true,\"description\":\"specifies to view a page using the full screen. This option disables the table of contents, bookmarks, and all other document access aids, such as accessing a specific page.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0w1gztrl8w4h6n14ft2128hq646\"}],\"supportSiteInformation\":{\"docsetId\":\"lesysoptsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p0d28otos8vp3en1ntud04t22ulo.htm\"}},{\"name\":\"PDFPRINT=\",\"description\":\"Specifies the resolution to print PDF documents.\",\"help\":\"PDFPRINT= HRES | LRES | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"HRES\",\"optional\":true,\"description\":\"specifies to print PDF documents at the highest resolution available on the printer.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1tvcuvb2g6bpgn1x0jerb811wft\"},{\"name\":\"LRES\",\"optional\":true,\"description\":\"specifies to print PDF documents at a lower resolution for draft-quality documents.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1ahg68sznv1zkn177d1pqpxe26b\"},{\"name\":\"NONE\",\"optional\":true,\"description\":\"specifies the PDF documents have no print resolution.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1cl6ubj3qnz69n1vk715k0jiewq\"}],\"supportSiteInformation\":{\"docsetId\":\"lesysoptsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p00xe4e4ot19xun1qxb2ilylx6gz.htm\"}},{\"name\":\"PDFSECURITY=\",\"description\":\"Specifies the level of encryption for PDF documents.\",\"help\":\"PDFSECURITY= HIGH | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"HIGH\",\"optional\":true,\"description\":\"specifies that SAS encrypts PDF documents. Starting with 2023.07, PDFSECURITY=HIGH sets the encryption level to 256-bit AES encryption. In prior releases, RC4 128-bit encryption was used to encrypt PDF documents.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1mvvu56x563xkn0zdmbw6tsc341\"},{\"name\":\"NONE\",\"optional\":true,\"description\":\"specifies that no encryption is performed on PDF documents.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1dcwy8kotnpvqn1qriqcchzcb1m\"}],\"supportSiteInformation\":{\"docsetId\":\"lesysoptsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p1i0j2ehq4sti6n1copl4x0y97ye.htm\"}},{\"name\":\"PRINTCMD\",\"description\":\"Specifies the print command that SAS uses.\",\"help\":\"PRINTCMD =\\\"*print-command*\\\"\",\"type\":\"value\",\"arguments\":[{\"name\":\"print-command\",\"placeholder\":true,\"description\":\"specifies the options that you can use with PRINTCMD.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0cc4rim9i1vgzn1ng7fmy23hmkm\"}],\"supportSiteInformation\":{\"docsetId\":\"lesysoptsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n0i1iyt6fscgs0n17w43p6y74dm1.htm\"}},{\"name\":\"PRINTERPATH=\",\"description\":\"Specifies the name of a registered printer to use for Universal Printing.\",\"help\":\"PRINTERPATH= ('*printer-name*' &lt;*fileref*&gt; )\",\"type\":\"value\",\"arguments\":[{\"name\":\"'printer-name'\",\"optional\":true,\"placeholder\":true,\"description\":\"must be one of the printers defined in the SAS Registry\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p18nhelog97xmgn11ymi4m1korm9\"}],\"supportSiteInformation\":{\"docsetId\":\"lesysoptsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p08yk7y12joizbn15d74iaj7zo2z.htm\"}},{\"name\":\"PRINTMSGLIST\",\"description\":\"specifies to print the entire list of messages to the SAS log.\",\"type\":\"standalone\",\"supportSiteInformation\":{\"docsetId\":\"lesysoptsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n1l0qc149cp4con1djgg3z4rli7u.htm\"}},{\"name\":\"QUOTELENMAX\",\"description\":\"specifies that SAS write a note to the SAS log about the maximum length for strings in quotation marks.\",\"type\":\"standalone\",\"supportSiteInformation\":{\"docsetId\":\"lesysoptsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n1j7a6mgalhqo5n11kv0vbpbx277.htm\"}},{\"name\":\"REPLACE\",\"description\":\"specifies that a permanently stored SAS data set can be replaced with another SAS data set.\",\"type\":\"standalone\",\"supportSiteInformation\":{\"docsetId\":\"lesysoptsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n16q7psnp46obtn1hqbni4o7f6qg.htm\"}},{\"name\":\"RESTRICTFROM\",\"description\":\"Prevents users from using the FROM= parameter in the FILENAME EMAIL statement.\",\"type\":\"standalone\",\"supportSiteInformation\":{\"docsetId\":\"lesysoptsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n1po6tss6p4tc7n19m65tg8ez54v.htm\"}},{\"name\":\"REUSE=\",\"description\":\"Specifies whether SAS reuses space when observations are added to a compressed SAS data set.\",\"help\":\"REUSE= YES | NO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YES\",\"optional\":true,\"description\":\"specifies to track free space and reuses it whenever observations are added to an existing compressed data set.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1omjgucbpr3h8n15ork0e3mqo4g\"},{\"name\":\"NO\",\"optional\":true,\"description\":\"specifies not to track free space.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1q3stqioncdd0n1oa6yyi6ixkw1\"}],\"supportSiteInformation\":{\"docsetId\":\"lesysoptsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p0algcplfrz99mn123sw0vozospi.htm\"}},{\"name\":\"RIGHTMARGIN=\",\"description\":\"Specifies the print margin for the right side of the page.\",\"help\":\"RIGHTMARGIN= *margin-size*&lt;*margin-unit*&gt;\",\"type\":\"value\",\"arguments\":[{\"name\":\"margin-size\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the size of the margin.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n08j1cqy5aaoeun1qk3y5u7k2xqd\"},{\"name\":\"<margin-unit>\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the units for margin-size. The margin-unit can be in for inches or cm for centimeters. <margin-unit> is saved as part of the value of the RIGHTMARGIN system option.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1jt44xzjjow6xn1ptgy9kkjxd3n\"}],\"supportSiteInformation\":{\"docsetId\":\"lesysoptsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n15521hsefhc6ln1lhfjel9j4pki.htm\"}},{\"name\":\"RSASIOTRANSERROR\",\"description\":\"specifies to display a transcoding error when invalid values are read from a remote application.\",\"type\":\"standalone\",\"supportSiteInformation\":{\"docsetId\":\"nlsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p09yh96xgvdzhjn1gimcw1d7vy1c.htm\"}},{\"name\":\"RTRACELOC\",\"description\":\"Specifies the pathname of the file to which the list of resources that are read or loaded during a SAS session is written.\",\"help\":\"RTRACELOC =*pathname*\",\"type\":\"value\",\"arguments\":[{\"name\":\"pathname\",\"placeholder\":true,\"description\":\"specifies the file to which RTRACE information is written. The pathname must include the path and the filename for the RTRACE output.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0f3si9nlyrsern12am4c6keaibi\"}],\"supportSiteInformation\":{\"docsetId\":\"lesysoptsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n1bgf4f29oxnp1n19a6gl1stt9ra.htm\"}},{\"name\":\"S2=\",\"description\":\"Specifies the length of statements on each line of a source statement from a %INCLUDE statement, an AUTOEXEC= file, or an autocall macro file.\",\"help\":\"S2= S | *n* | *n*K | *n*M | *n*G | *n*T | *hex*X | MIN | MAX\",\"type\":\"choice\",\"arguments\":[{\"name\":\"S\",\"optional\":true,\"description\":\"uses the current value of the S= system option to compute the record length of text that comes from a %INCLUDE statement, an AUTOEXEC= file, or an autocall macro file.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n036p37h8tyfmsn1patryxshntyi\"},{\"name\":\"n\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the length of the statements in a file that is specified in a %INCLUDE statement, an autoexec file, or an autocall macro file, in terms of 1 (bytes); 1,024 (kilobytes); 1,048,576 (megabytes); 1,073,741,824 (gigabytes); or 1,099,511,627,776 (terabytes). For example, a value of 8 specifies 8 bytes, and a value of 3m specifies 3,145,728 bytes.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1lyf2x38fov5dn1hpz7rqe08oip\"},{\"name\":\"K\",\"optional\":true,\"description\":\"specifies the length of the statements in a file that is specified in a %INCLUDE statement, an autoexec file, or an autocall macro file, in terms of 1 (bytes); 1,024 (kilobytes); 1,048,576 (megabytes); 1,073,741,824 (gigabytes); or 1,099,511,627,776 (terabytes). For example, a value of 8 specifies 8 bytes, and a value of 3m specifies 3,145,728 bytes.\",\"help\":\"*n*K\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1lyf2x38fov5dn1hpz7rqe08oip\"},{\"name\":\"M\",\"optional\":true,\"description\":\"specifies the length of the statements in a file that is specified in a %INCLUDE statement, an autoexec file, or an autocall macro file, in terms of 1 (bytes); 1,024 (kilobytes); 1,048,576 (megabytes); 1,073,741,824 (gigabytes); or 1,099,511,627,776 (terabytes). For example, a value of 8 specifies 8 bytes, and a value of 3m specifies 3,145,728 bytes.\",\"help\":\"*n*M\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1lyf2x38fov5dn1hpz7rqe08oip\"},{\"name\":\"G\",\"optional\":true,\"description\":\"specifies the length of the statements in a file that is specified in a %INCLUDE statement, an autoexec file, or an autocall macro file, in terms of 1 (bytes); 1,024 (kilobytes); 1,048,576 (megabytes); 1,073,741,824 (gigabytes); or 1,099,511,627,776 (terabytes). For example, a value of 8 specifies 8 bytes, and a value of 3m specifies 3,145,728 bytes.\",\"help\":\"*n*G\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1lyf2x38fov5dn1hpz7rqe08oip\"},{\"name\":\"T\",\"optional\":true,\"description\":\"specifies the length of the statements in a file that is specified in a %INCLUDE statement, an autoexec file, or an autocall macro file, in terms of 1 (bytes); 1,024 (kilobytes); 1,048,576 (megabytes); 1,073,741,824 (gigabytes); or 1,099,511,627,776 (terabytes). For example, a value of 8 specifies 8 bytes, and a value of 3m specifies 3,145,728 bytes.\",\"help\":\"*n*T\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1lyf2x38fov5dn1hpz7rqe08oip\"},{\"name\":\"X\",\"optional\":true,\"description\":\"specifies the length of statements as a hexadecimal number. The value must begin with a number (0–9) and must be followed by an X. For example, the value 2dx sets the length of statements to 45.\",\"help\":\"*hex*X\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0gj0pl56psxi5n11esgzwd24mhd\"},{\"name\":\"MIN\",\"optional\":true,\"description\":\"sets the length of statements and data to 0.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p03s264tyi4rfxn1ep7zdh4cmmcv\"},{\"name\":\"MAX\",\"optional\":true,\"description\":\"sets the length of statements and data to 2,147,483,647.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1toasdvoy9hwdn175qcdg6lv49u\"}],\"supportSiteInformation\":{\"docsetId\":\"lesysoptsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p0z0a5lomx2cl7n1nefjm5mnspwo.htm\"}},{\"name\":\"S2V=\",\"description\":\"Specifies the starting position to begin reading a file that is specified in a %INCLUDE statement, an autoexec file, or an autocall macro file with a variable length record format.\",\"help\":\"S2V= S2 | S | *n* | *n*K | *n*M | *n*G | *n*T | MIN | MAX | *hex*X\",\"type\":\"choice\",\"arguments\":[{\"name\":\"S2\",\"optional\":true,\"description\":\"specifies to use the current value of the S2= system option to compute the starting position of the variable-sized record to read from a %INCLUDE statement, an autoexec file, or an autocall macro file. This is the default. The S2= option has a default value of 0.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0nn8shr64i984n1rbl3kvzh1oaa\"},{\"name\":\"S\",\"optional\":true,\"description\":\"specifies to use the current value of the S= system option to compute the starting position of the variable-sized record to read from a %INCLUDE statement, an autoexec file, or an autocall macro file.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p09ntdc8zkgjwjn1vi53tequinyx\"},{\"name\":\"n\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the starting position of the variable-length record to read that comes from a %INCLUDE statement, an autoexec file, or an autocall macro file, in terms of 1 (bytes); 1,024 (kilobytes); 1,048,576 (megabytes); 1,073,741,824 (gigabytes); or 1,099,511,627,776 (terabytes). For example, a value of 8 specifies 8 bytes, and a value of 3m specifies 3,145,728 bytes.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0z4n395ubl2y7n1vykaqis5gtu2\"},{\"name\":\"K\",\"optional\":true,\"description\":\"specifies the starting position of the variable-length record to read that comes from a %INCLUDE statement, an autoexec file, or an autocall macro file, in terms of 1 (bytes); 1,024 (kilobytes); 1,048,576 (megabytes); 1,073,741,824 (gigabytes); or 1,099,511,627,776 (terabytes). For example, a value of 8 specifies 8 bytes, and a value of 3m specifies 3,145,728 bytes.\",\"help\":\"*n*K\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0z4n395ubl2y7n1vykaqis5gtu2\"},{\"name\":\"M\",\"optional\":true,\"description\":\"specifies the starting position of the variable-length record to read that comes from a %INCLUDE statement, an autoexec file, or an autocall macro file, in terms of 1 (bytes); 1,024 (kilobytes); 1,048,576 (megabytes); 1,073,741,824 (gigabytes); or 1,099,511,627,776 (terabytes). For example, a value of 8 specifies 8 bytes, and a value of 3m specifies 3,145,728 bytes.\",\"help\":\"*n*M\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0z4n395ubl2y7n1vykaqis5gtu2\"},{\"name\":\"G\",\"optional\":true,\"description\":\"specifies the starting position of the variable-length record to read that comes from a %INCLUDE statement, an autoexec file, or an autocall macro file, in terms of 1 (bytes); 1,024 (kilobytes); 1,048,576 (megabytes); 1,073,741,824 (gigabytes); or 1,099,511,627,776 (terabytes). For example, a value of 8 specifies 8 bytes, and a value of 3m specifies 3,145,728 bytes.\",\"help\":\"*n*G\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0z4n395ubl2y7n1vykaqis5gtu2\"},{\"name\":\"T\",\"optional\":true,\"description\":\"specifies the starting position of the variable-length record to read that comes from a %INCLUDE statement, an autoexec file, or an autocall macro file, in terms of 1 (bytes); 1,024 (kilobytes); 1,048,576 (megabytes); 1,073,741,824 (gigabytes); or 1,099,511,627,776 (terabytes). For example, a value of 8 specifies 8 bytes, and a value of 3m specifies 3,145,728 bytes.\",\"help\":\"*n*T\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0z4n395ubl2y7n1vykaqis5gtu2\"},{\"name\":\"MIN\",\"optional\":true,\"description\":\"sets the starting position of the variable-length record to read that comes from a %INCLUDE statement, an autoexec file, or an autocall macro, to 0.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p046s7c643g36xn1ghq1mmqd3leq\"},{\"name\":\"MAX\",\"optional\":true,\"description\":\"sets the starting position of the variable-length record to read that comes from a %INCLUDE statement, an autoexec file, or an autocall macro, to 2,147,483,647.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0jpx3aj2j3bo4n1v70bktj3swny\"},{\"name\":\"X\",\"optional\":true,\"description\":\"specifies the starting position of the variable-length record to read that comes from a %INCLUDE statement, an autoexec file, or an autocall macro, as a hexadecimal number. The value must begin with a number (0–9) and must be followed by an X.\",\"help\":\"*hex*X\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0gty6fnl3ik6rn14ljvrgnq4pn7\"}],\"supportSiteInformation\":{\"docsetId\":\"lesysoptsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p18owi3dayxm9an1ahvriqc9838t.htm\"}},{\"name\":\"S=\",\"description\":\"Specifies the length of statements on each line of a source statement and the length of data on lines that follow a DATALINES statement.\",\"help\":\"S= *n* | *n*K | *n*M | *n*G | *n*T |  *hex*X | MIN | MAX \",\"type\":\"choice\",\"arguments\":[{\"name\":\"n\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the length of statements and data in terms of 1 (bytes); 1,024 (kilobytes); 1,048,576 (megabytes); 1,073,741,824 (gigabytes); or 1,099,511,627,776 (terabytes). For example, a value of 8 specifies 8 bytes, and a value of 3m specifies 3,145,728 bytes.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n06mh9i86hcvegn1eorcgbo1sena\"},{\"name\":\"K\",\"optional\":true,\"description\":\"specifies the length of statements and data in terms of 1 (bytes); 1,024 (kilobytes); 1,048,576 (megabytes); 1,073,741,824 (gigabytes); or 1,099,511,627,776 (terabytes). For example, a value of 8 specifies 8 bytes, and a value of 3m specifies 3,145,728 bytes.\",\"help\":\"*n*K\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n06mh9i86hcvegn1eorcgbo1sena\"},{\"name\":\"M\",\"optional\":true,\"description\":\"specifies the length of statements and data in terms of 1 (bytes); 1,024 (kilobytes); 1,048,576 (megabytes); 1,073,741,824 (gigabytes); or 1,099,511,627,776 (terabytes). For example, a value of 8 specifies 8 bytes, and a value of 3m specifies 3,145,728 bytes.\",\"help\":\"*n*M\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n06mh9i86hcvegn1eorcgbo1sena\"},{\"name\":\"G\",\"optional\":true,\"description\":\"specifies the length of statements and data in terms of 1 (bytes); 1,024 (kilobytes); 1,048,576 (megabytes); 1,073,741,824 (gigabytes); or 1,099,511,627,776 (terabytes). For example, a value of 8 specifies 8 bytes, and a value of 3m specifies 3,145,728 bytes.\",\"help\":\"*n*G\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n06mh9i86hcvegn1eorcgbo1sena\"},{\"name\":\"T\",\"optional\":true,\"description\":\"specifies the length of statements and data in terms of 1 (bytes); 1,024 (kilobytes); 1,048,576 (megabytes); 1,073,741,824 (gigabytes); or 1,099,511,627,776 (terabytes). For example, a value of 8 specifies 8 bytes, and a value of 3m specifies 3,145,728 bytes.\",\"help\":\"*n*T\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n06mh9i86hcvegn1eorcgbo1sena\"},{\"name\":\"X\",\"optional\":true,\"description\":\"specifies the length of statements and data as a hexadecimal number. The value must begin with a number (0–9) and must be followed by an X. For example, the value 2dx sets the length of statements and data to 45.\",\"help\":\"*hex*X\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0783iee16cktnn1fxyfcelka8kq\"},{\"name\":\"MIN\",\"optional\":true,\"description\":\"sets the length of statements and data to 0.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p11c9e16x1mbujn1k9fsw3uo0hy3\"},{\"name\":\"MAX\",\"optional\":true,\"description\":\"sets the length of statements and data to 2,147,483,647.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n00cvbiwf3f0y1n1u0q4d1ntejrt\"}],\"supportSiteInformation\":{\"docsetId\":\"lesysoptsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p0ul9fyvusnv79n1q026m6wwc8nr.htm\"}},{\"name\":\"SASAUTOS=\",\"description\":\"Specifies the location of one or more autocall libraries.\",\"help\":\"SASAUTOS= '*directory-specification*' | *fileref*\\\\nSASAUTOS= ('*directory-specification-1*' | *fileref-1*,  ..., '*directory-specification-n*' | *fileref-n*)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"directory-specification\",\"placeholder\":true,\"description\":\"specifies a pathname to an autocall macro library.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p077ndhsb7dsgcn1dl7rh4mnj5ne\"},{\"name\":\"fileref\",\"placeholder\":true,\"description\":\"specifies a name (shorthand reference) that has been assigned to an autocall macro library.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0kf5buw5r3ls7n1hznxveybgskm\"}],\"supportSiteInformation\":{\"docsetId\":\"mcrolref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p12b2qq72dkxpsn1e19y57emerr6.htm\"}},{\"name\":\"SASMSTORE=\",\"description\":\"Identifies the libref of a SAS library with a catalog that contains, or will contain, stored compiled SAS macros.\",\"help\":\"SASMSTORE= *libref*\",\"type\":\"dataSet\",\"supportSiteInformation\":{\"docsetId\":\"mcrolref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p156rt5c7ikat4n1o2n1dnb4jlza.htm\"}},{\"name\":\"SASTRACE=\",\"description\":\"Generates trace information from a DBMS engine.\",\"help\":\"SASTRACE= ',,,d' | ',,d,' | 'd,' | 'd,,,' | ',,,db' | ',,,s' | ',,,sa' | ',,t,' | OFF\",\"type\":\"choice\",\"arguments\":[{\"name\":\"',,,d'\",\"optional\":true,\"description\":\"specifies that all SQL statements that are sent to the DBMS are sent to the log. Here are the applicable statements:\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0pfunyfqr7vx9n1rqwdyaasaycv\"},{\"name\":\"',,d,'\",\"optional\":true,\"description\":\"specifies that all routine calls are sent to the log. All function enters, exits, and pertinent parameters and return codes are traced when you select this option. The information varies from engine to engine, however.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1qu8ophl20cftn1kzc1oju0twwa\"},{\"name\":\"'d,'\",\"optional\":true,\"description\":\"specifies that all DBMS calls (such as API and client calls, connection information, column bindings, column error information, and row processing) are sent to the log. This information varies from engine to engine, however.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1ibe95cw4sgyrn1nbtwc1b9qwem\"},{\"name\":\"'d,,,'\",\"optional\":true,\"description\":\"specifies that version information for the current DBMS and client are displayed in the log.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1odzgkeb4sh1nn185ct19c1je6r\"},{\"name\":\"',,,db'\",\"optional\":true,\"description\":\"specifies that only a brief version of all SQL statements that the ',,,d' option normally generates are sent to the log.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1x8neslhpiqpln1j8wr69nsgk7f\"},{\"name\":\"',,,s'\",\"optional\":true,\"description\":\"specifies that a summary of timing information for calls made to the DBMS is sent to the log.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1ne3a2tp08bsun17au4ppk1bt0f\"},{\"name\":\"',,,sa'\",\"optional\":true,\"description\":\"specifies that timing information for each call that is made to the DBMS is sent to the log along with a summary.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0e4yh92i84oydn1ld9n4n7qxlxl\"},{\"name\":\"',,t,'\",\"optional\":true,\"description\":\"specifies that all threading information is sent to the log. Here is the information that it includes:\\n• number of threads that are spawned\\n• number of observations that each thread contains\\n• exit code of the thread, if it fails\",\"help\":\" ',,t,'\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1pfogb21wgdd0n0ztqc61028l0p\"},{\"name\":\"OFF\",\"optional\":true,\"description\":\"specifies to turn tracing off.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n190finfi2o7a3n1ptj0zhqd9by4\"}],\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_011\",\"docsetTargetFile\":\"n0732u1mr57ycrn1urf24gzo38sc.htm\"}},{\"name\":\"SASTRACELOC=\",\"description\":\"Specifies the location where SASTRACE= information should be printed.\",\"help\":\"SASTRACELOC= stdout |  SASLOG |  FILE '*path-and-file-name*'\",\"type\":\"choice\",\"arguments\":[{\"name\":\"stdout\",\"description\":\"specifies the default output location for your operating environment.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p06edd076w6tkzn1izepa4rgiv84\"},{\"name\":\"SASLOG\",\"description\":\"specifies that trace messages should be printed to the SAS log.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0i1adht08wjzkn1dkbywcrskv5r\"},{\"name\":\"FILE=\",\"description\":\"specifies that trace messages should be printed to a file name that you provide. If you do not provide a path, the file is generated in the current working directory.\",\"help\":\"FILE='*path-and-file-name*'\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n148bnxu97lobdn15uzw0ghrffud\"}],\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_011\",\"docsetTargetFile\":\"p10zkrs6rnpiv2n1b7jkrbdgq4bd.htm\"}},{\"name\":\"SECURELUA\",\"description\":\"Specifies that PROC LUA runs with increased security.\",\"help\":\"SECURELUA =TRUE | False\",\"type\":\"choice\",\"supportSiteInformation\":{\"docsetId\":\"lesysoptsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p1877h5brfos1xn12w6xm4wk0nw6.htm\"}},{\"name\":\"SECURELUALOC\",\"description\":\"Specifies a directory, directories, or a directory tree for reliable Lua content.\",\"help\":\"SECURELUALOC =*\\\"&lt;directory path&gt;/*\\\"*\",\"type\":\"value\",\"supportSiteInformation\":{\"docsetId\":\"lesysoptsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p0b9gi0f753t5fn1nt5x295cfuv2.htm\"}},{\"name\":\"SECURELUALOC=\",\"description\":\"Specifies a directory, directories, or a directory tree for reliable Lua content.\",\"help\":\"SECURELUALOC= *\\\"&lt;directory path&gt;\\\"* | *\\\"&lt;directory path&gt; &lt;directory path&gt;...\\\"*\",\"type\":\"choice\",\"supportSiteInformation\":{\"docsetId\":\"lesysoptsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p0b9gi0f753t5fn1nt5x295cfuv2.htm\"}},{\"name\":\"SEQ=\",\"description\":\"Specifies the length of the numeric portion of the sequence field in input source lines or data lines.\",\"help\":\"SEQ= *n* | MIN | MAX | *hex*X\",\"type\":\"choice\",\"arguments\":[{\"name\":\"n\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the length in terms of bytes.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0nxsdbmlq2izzn1jcdsvpm117lk\"},{\"name\":\"MIN\",\"optional\":true,\"description\":\"sets the minimum length to 1.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1srt9hlqr6d44n1amwwbsbhk8ub\"},{\"name\":\"MAX\",\"optional\":true,\"description\":\"sets the maximum length to 8.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0xresi5qf1x03n1gza3lszd06l6\"},{\"name\":\"X\",\"optional\":true,\"description\":\"specifies the length as a hexadecimal. The value must begin with a number (0–9) and must be followed by an X.\",\"help\":\"*hex*X\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0p9mr9krnk9smn1rvb5ksbfvxso\"}],\"supportSiteInformation\":{\"docsetId\":\"lesysoptsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n1ljoyi8qw5hnun18zvdmmam52qv.htm\"}},{\"name\":\"SERROR\",\"aliases\":[\"SERR\"],\"description\":\"issues a warning message when the macro processor cannot match a macro variable reference to an existing macro variable.\",\"type\":\"standalone\",\"supportSiteInformation\":{\"docsetId\":\"mcrolref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n1rj17214ishqxn1l0pgyyc779gk.htm\"}},{\"name\":\"SESSREF=\",\"aliases\":[\"CASNAME\"],\"description\":\"Specifies the name of the default CAS session to use if a statement or procedure does not explicitly identify a session reference name.\",\"help\":\"SESSREF=                  *session-reference*\",\"type\":\"value\",\"supportSiteInformation\":{\"docsetId\":\"lesysoptsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p1ubn5s5ylmecin16deas1jtytln.htm\"}},{\"name\":\"SET\",\"description\":\"Defines a SAS environment variable for a SAS Session.\",\"help\":\"SET =*variable-name='value'*\",\"type\":\"value\",\"supportSiteInformation\":{\"docsetId\":\"lesysoptsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n1evyjd7jdkqxwn1w2d50ngwg386.htm\"}},{\"name\":\"SORTANOM\",\"description\":\"Specifies options for the host sort utility.\",\"help\":\"SORTANOM =*options*\",\"type\":\"value\",\"arguments\":[{\"name\":\"B\",\"description\":\"tells SyncSort to run in multi-call mode, instead of single-call mode. (See the documentation for syncsort for more information.)\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0imd4nvd16hhxn1sx515ch9gzzc\"},{\"name\":\"T\",\"description\":\"writes to the SAS log statistics about the external sorting process.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0jeswsp82ejo2n13kjaaahzfe8c\"},{\"name\":\"V\",\"description\":\"writes to the SAS log all of the commands that are passed to the host sort utility.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1fu99w019aemmn1h99i94ga3j85\"}],\"supportSiteInformation\":{\"docsetId\":\"lesysoptsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p0nak5dtayr9non1sr1csz0zzvfi.htm\"}},{\"name\":\"SORTCUT\",\"description\":\"Specifies the data size in number of observations above which SAS uses the host sort instead of the internal SAS sort.\",\"help\":\"SORTCUT =*n* | *n*K | *n*M | *n*G | *hex*X | MIN | MAX\",\"type\":\"choice\",\"arguments\":[{\"name\":\"n\",\"placeholder\":true,\"description\":\"specifies the number of observations in multiples of 1 (n); 1,024 (nK); 1,048,576 (nM); or 1,073,741,824 (nG). You can specify decimal values for the number of kilobytes, megabytes, or gigabytes. For example, a value of 800 specifies 800 observations, a value of .782k specifies 801 observations, and a value of 3m specifies 3,145,728 observations.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1wydwx78o3dhun1y10iwlfkvg68\"},{\"name\":\"K\",\"description\":\"specifies the number of observations in multiples of 1 (n); 1,024 (nK); 1,048,576 (nM); or 1,073,741,824 (nG). You can specify decimal values for the number of kilobytes, megabytes, or gigabytes. For example, a value of 800 specifies 800 observations, a value of .782k specifies 801 observations, and a value of 3m specifies 3,145,728 observations.\",\"help\":\"*n*K\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1wydwx78o3dhun1y10iwlfkvg68\"},{\"name\":\"M\",\"description\":\"specifies the number of observations in multiples of 1 (n); 1,024 (nK); 1,048,576 (nM); or 1,073,741,824 (nG). You can specify decimal values for the number of kilobytes, megabytes, or gigabytes. For example, a value of 800 specifies 800 observations, a value of .782k specifies 801 observations, and a value of 3m specifies 3,145,728 observations.\",\"help\":\"*n*M\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1wydwx78o3dhun1y10iwlfkvg68\"},{\"name\":\"G\",\"description\":\"specifies the number of observations in multiples of 1 (n); 1,024 (nK); 1,048,576 (nM); or 1,073,741,824 (nG). You can specify decimal values for the number of kilobytes, megabytes, or gigabytes. For example, a value of 800 specifies 800 observations, a value of .782k specifies 801 observations, and a value of 3m specifies 3,145,728 observations.\",\"help\":\"*n*G\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1wydwx78o3dhun1y10iwlfkvg68\"},{\"name\":\"X\",\"description\":\"specifies the number of observations as a hexadecimal value. You must specify the value beginning with a number (0–9), followed by hexadecimal characters (0–9, A–F), and then followed by an X. For example, the value 2ffx specifies 767 observations.\",\"help\":\"*hex*X\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1hgiuchxqoxcsn1a0yfbno1t283\"},{\"name\":\"MIN\",\"description\":\"specifies 0 observations.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0dsdyixo8396un1je5lrkpq8hs2\"},{\"name\":\"MAX\",\"description\":\"specifies 9,007,199,254,740,992 observations.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1222ozs6psfpvn12wchw4ju9g9u\"}],\"supportSiteInformation\":{\"docsetId\":\"lesysoptsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n1xv92yncwwaz4n1oar9vq5h8nrt.htm\"}},{\"name\":\"SORTCUTP\",\"description\":\"Specifies the data size in bytes above which SAS uses the host sort instead of the internal SAS sort.\",\"help\":\"SORTCUTP =*n* | *n*K | *n*M | *n*G | *hex*X | MIN | MAX\",\"type\":\"choice\",\"arguments\":[{\"name\":\"n\",\"placeholder\":true,\"description\":\"specifies the number of bytes in multiples of 1 (bytes); 1,024 (kilobytes); 1,048,576 (megabytes); or 1,073,741,824 (gigabytes). You can specify decimal values for the number of kilobytes, megabytes, or gigabytes. For example, a value of 8 specifies 8 bytes, a value of .782k specifies 801 bytes, and a value of 3m specifies 3,145,728 bytes.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1o2u1ah69zf7kn146ondopr4elt\"},{\"name\":\"K\",\"description\":\"specifies the number of bytes in multiples of 1 (bytes); 1,024 (kilobytes); 1,048,576 (megabytes); or 1,073,741,824 (gigabytes). You can specify decimal values for the number of kilobytes, megabytes, or gigabytes. For example, a value of 8 specifies 8 bytes, a value of .782k specifies 801 bytes, and a value of 3m specifies 3,145,728 bytes.\",\"help\":\"*n*K\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1o2u1ah69zf7kn146ondopr4elt\"},{\"name\":\"M\",\"description\":\"specifies the number of bytes in multiples of 1 (bytes); 1,024 (kilobytes); 1,048,576 (megabytes); or 1,073,741,824 (gigabytes). You can specify decimal values for the number of kilobytes, megabytes, or gigabytes. For example, a value of 8 specifies 8 bytes, a value of .782k specifies 801 bytes, and a value of 3m specifies 3,145,728 bytes.\",\"help\":\"*n*M\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1o2u1ah69zf7kn146ondopr4elt\"},{\"name\":\"G\",\"description\":\"specifies the number of bytes in multiples of 1 (bytes); 1,024 (kilobytes); 1,048,576 (megabytes); or 1,073,741,824 (gigabytes). You can specify decimal values for the number of kilobytes, megabytes, or gigabytes. For example, a value of 8 specifies 8 bytes, a value of .782k specifies 801 bytes, and a value of 3m specifies 3,145,728 bytes.\",\"help\":\"*n*G\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1o2u1ah69zf7kn146ondopr4elt\"},{\"name\":\"X\",\"description\":\"specifies the number of bytes as a hexadecimal value. You must specify the value beginning with a number (0–9), followed by hexadecimal characters (0–9, A–F), and then followed by an X. For example, the value 2dx specifies 45 bytes.\",\"help\":\"*hex*X\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0oiqnekruhduen1r70sux955qir\"},{\"name\":\"MIN\",\"description\":\"specifies 0 bytes.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p15b648gs3n565n107tadzqrjm4a\"},{\"name\":\"MAX\",\"description\":\"specifies 9,007,199,254,740,992 bytes.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p05blr191scwlwn1lxbit1y0kr1x\"}],\"supportSiteInformation\":{\"docsetId\":\"lesysoptsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p0q789q88u61n6n121olxwnl0leh.htm\"}},{\"name\":\"SORTDEV\",\"description\":\"Specifies the pathname used for temporary files created by the host sort utility.\",\"help\":\"SORTDEV ='*directory-specification*'\",\"type\":\"value\",\"supportSiteInformation\":{\"docsetId\":\"lesysoptsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p0gkps3iza2dtdn1t1snth7hvb31.htm\"}},{\"name\":\"SORTEQUALS\",\"description\":\"specifies that observations with identical BY variable values are to retain the same relative positions in the output data set as in the input data set.\",\"type\":\"standalone\",\"supportSiteInformation\":{\"docsetId\":\"lesysoptsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n0rc82l3yk2pa9n1xetjcre5ve5e.htm\"}},{\"name\":\"SORTNAME\",\"description\":\"Specifies the name of the host sort utility.\",\"help\":\"SORTNAME ='*host-sort-utility-name*'\",\"type\":\"value\",\"supportSiteInformation\":{\"docsetId\":\"lesysoptsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n0ql89ilm0krovn1080xpm81jnka.htm\"}},{\"name\":\"SORTPARM\",\"description\":\"Specifies parameters for the host sort utility.\",\"help\":\"SORTPARM ='*parameter(s)*'\",\"type\":\"value\",\"arguments\":[{\"name\":\"parameter\",\"placeholder\":true,\"description\":\"specifies any parameter that you want to pass to the sort utility. For a description of these parameters, see the documentation for the sort that you are using.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0rbs5n9a20ggfn1m27dc0lk34ik\"}],\"supportSiteInformation\":{\"docsetId\":\"lesysoptsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p0lkpwazyqaifyn1ee55lygdex5f.htm\"}},{\"name\":\"SORTPGM\",\"description\":\"Specifies whether to use the internal SAS sort utility or the host sort utility or to let SAS choose which sort utility to use.\",\"help\":\"SORTPGM =SAS | HOST | BEST\",\"type\":\"choice\",\"arguments\":[{\"name\":\"SAS\",\"description\":\"tells SAS to use the SAS sort.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1s00lw2ictki6n1m7kq5d44dvdv\"},{\"name\":\"HOST\",\"description\":\"tells SAS to use the sort that is specified by the SORTNAME system option.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n03s47r6g5ec9nn1r4002l3w4856\"},{\"name\":\"BEST\",\"description\":\"tells SAS to use the best routine to sort the data set: the SAS sort or the host sort that is specified by the SORTNAME system option. When set, the settings of the SORTCUT and SORTCUTP system options determine whether SAS chooses the SAS sort or the host sort. When SORTCUT and SORTCUTP are not set (or when they are both 0), SAS selects the sorting algorithm based on the following order of precedence:\\n• host sort utility\\n• SAS sort utility\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0qt6xx9m71e4ln120o5p1rvfhqr\"}],\"supportSiteInformation\":{\"docsetId\":\"lesysoptsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n1fj4lvyfaxlxfn1iqm9r30cxa46.htm\"}},{\"name\":\"SORTSEQ=\",\"description\":\"Specifies a language-specific collating sequence for the SORT and SQL procedures to use in the current SAS session.\",\"help\":\"SORTSEQ= &lt;*sort-table*&gt; | &lt;LINGUISTIC&gt;\",\"type\":\"standaloneOrValue\",\"arguments\":[{\"name\":\"sort-table\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies a translation table that you created with PROC TRANTAB.\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"p0wvu6efu5iw69n1x5hrtdrevzmj\"},{\"name\":\"LINGUISTIC\",\"optional\":true,\"description\":\"Sorts characters according to the rules of a specified language. The rules and default collating sequence are based on the language specified in the current locale setting. The implementation is provided by the International Components for Unicode (ICU) library. Refer to for more information.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0deqyfhop1yuhn1vvaody722icv\"}],\"supportSiteInformation\":{\"docsetId\":\"nlsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p020au9tkvtee3n12xkge1cmwfl6.htm\"}},{\"name\":\"SORTSIZE=\",\"description\":\"Specifies the amount of memory that is available to the SORT procedure.\",\"help\":\"SORTSIZE= *n* | *n*K | *n*M | *n*G | *n*T | *hex*X | MIN | MAX\",\"type\":\"choice\",\"arguments\":[{\"name\":\"n\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the amount of memory in terms of 1 (byte); 1,024 (kilobytes); 1,048,576 (megabytes); 1,073,741,824 (gigabytes); or 1,099,511,627,776 (terabytes). For example, a value of 4000 specifies 4,000 bytes and a value of 2m specifies 2,097,152 bytes. If n=0, the sort utility uses its default. Valid values for SORTSIZE range from 0 to 9,223,372,036,854,775,807.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p116s6pxuna794n1gh2dgj2eomxj\"},{\"name\":\"K\",\"optional\":true,\"description\":\"specifies the amount of memory in terms of 1 (byte); 1,024 (kilobytes); 1,048,576 (megabytes); 1,073,741,824 (gigabytes); or 1,099,511,627,776 (terabytes). For example, a value of 4000 specifies 4,000 bytes and a value of 2m specifies 2,097,152 bytes. If n=0, the sort utility uses its default. Valid values for SORTSIZE range from 0 to 9,223,372,036,854,775,807.\",\"help\":\"*n*K\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p116s6pxuna794n1gh2dgj2eomxj\"},{\"name\":\"M\",\"optional\":true,\"description\":\"specifies the amount of memory in terms of 1 (byte); 1,024 (kilobytes); 1,048,576 (megabytes); 1,073,741,824 (gigabytes); or 1,099,511,627,776 (terabytes). For example, a value of 4000 specifies 4,000 bytes and a value of 2m specifies 2,097,152 bytes. If n=0, the sort utility uses its default. Valid values for SORTSIZE range from 0 to 9,223,372,036,854,775,807.\",\"help\":\"*n*M\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p116s6pxuna794n1gh2dgj2eomxj\"},{\"name\":\"G\",\"optional\":true,\"description\":\"specifies the amount of memory in terms of 1 (byte); 1,024 (kilobytes); 1,048,576 (megabytes); 1,073,741,824 (gigabytes); or 1,099,511,627,776 (terabytes). For example, a value of 4000 specifies 4,000 bytes and a value of 2m specifies 2,097,152 bytes. If n=0, the sort utility uses its default. Valid values for SORTSIZE range from 0 to 9,223,372,036,854,775,807.\",\"help\":\"*n*G\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p116s6pxuna794n1gh2dgj2eomxj\"},{\"name\":\"T\",\"optional\":true,\"description\":\"specifies the amount of memory in terms of 1 (byte); 1,024 (kilobytes); 1,048,576 (megabytes); 1,073,741,824 (gigabytes); or 1,099,511,627,776 (terabytes). For example, a value of 4000 specifies 4,000 bytes and a value of 2m specifies 2,097,152 bytes. If n=0, the sort utility uses its default. Valid values for SORTSIZE range from 0 to 9,223,372,036,854,775,807.\",\"help\":\"*n*T\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p116s6pxuna794n1gh2dgj2eomxj\"},{\"name\":\"X\",\"optional\":true,\"description\":\"specifies the amount of memory as a hexadecimal number. The value must begin with a number (0–9) and must be followed by an X. For example, 0fffx specifies 4,095 bytes of memory.\",\"help\":\"*hex*X\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1vpdye6528z9bn18fpclp5ag8ud\"},{\"name\":\"MIN\",\"optional\":true,\"description\":\"specifies 0 bytes, which indicates that there is no limit except the limitation specified by the MEMSIZE system option.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p13kw1sbnewdgwn16zb345vh1x77\"},{\"name\":\"MAX\",\"optional\":true,\"description\":\"specifies the maximum amount of memory available.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0fsnx70p09rikn1sdagn6qnhurd\"}],\"supportSiteInformation\":{\"docsetId\":\"lesysoptsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n0ipa8xt1ma3h7n1wqjqr99679pg.htm\"}},{\"name\":\"SORTVALIDATE\",\"description\":\"specifies that the SORT procedure verifies if the observations in the data set are sorted by the variables specified in the BY statement.\",\"type\":\"standalone\",\"supportSiteInformation\":{\"docsetId\":\"lesysoptsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n0cdfgq2lsgve4n13cflndvlte98.htm\"}},{\"name\":\"SOUNDSLIKELEN=\",\"description\":\"Specifies the number of bytes used by the sounds-like operator.\",\"help\":\"SOUNDSLIKELEN= *n* | *n*K | *hex*X | MIN | MAX\",\"type\":\"choice\",\"arguments\":[{\"name\":\"n\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the length that is used to compare results of the SOUNDEX function when performing the sounds-like operation. If n < 0, all characters of the results of the SOUNDEX function are compared. The length can be specified in multiples of 1 (n) or 1,024 (nK). For example, a value of 8 specifies 8 bytes, a value of .782k specifies 801 bytes, and a value of 3k specifies 3,072 bytes.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p10nu1oytazjk0n19wyuo9i3vd8l\"},{\"name\":\"K\",\"optional\":true,\"description\":\"specifies the length that is used to compare results of the SOUNDEX function when performing the sounds-like operation. If n < 0, all characters of the results of the SOUNDEX function are compared. The length can be specified in multiples of 1 (n) or 1,024 (nK). For example, a value of 8 specifies 8 bytes, a value of .782k specifies 801 bytes, and a value of 3k specifies 3,072 bytes.\",\"help\":\"*n*K\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p10nu1oytazjk0n19wyuo9i3vd8l\"}],\"supportSiteInformation\":{\"docsetId\":\"lesysoptsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n1mu0a00rxxacqn1ry8niu17bzx3.htm\"}},{\"name\":\"SOURCE\",\"description\":\"writes SAS source statements to the SAS log.\",\"type\":\"standalone\",\"supportSiteInformation\":{\"docsetId\":\"lesysoptsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n0gnz7tqcszvbpn1umls21zdkw62.htm\"}},{\"name\":\"SOURCE2\",\"description\":\"writes source statements from files that have been included by %INCLUDE statements or autocall macros to the SAS log.\",\"type\":\"standalone\",\"supportSiteInformation\":{\"docsetId\":\"lesysoptsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n0dk0dc3yeff1hn1murknwao75bb.htm\"}},{\"name\":\"SPDEINDEXSORTSIZE=\",\"description\":\"Specifies the memory space size that the sorting utility can use when sorting values for creating an index.\",\"help\":\"SPDEINDEXSORTSIZE= *n* | *n*K | *n*M | *n*G\",\"type\":\"choice\",\"arguments\":[{\"name\":\"n\",\"placeholder\":true,\"description\":\"is the size of memory space in bytes, kilobytes, megabytes, or gigabytes.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1c19e780ld038n17xempq3a0c4n\"}],\"supportSiteInformation\":{\"docsetId\":\"engspde\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n1aefr4zvg0vf8n1te2e549ol0al.htm\"}},{\"name\":\"SPDEPARALLELREAD=\",\"description\":\"Determines when the SPD Engine uses parallel processing to read data stored in HDFS.\",\"help\":\"SPDEPARALLELREAD= NO | YES\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NO\",\"description\":\"specifies that parallel processing occurs only if a Read operation includes WHERE processing. This is the default behavior for the SPD Engine.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n06jlkcvwltkgmn1955w7cglz92n\"},{\"name\":\"YES\",\"description\":\"requests parallel processing for all Read operations for the SAS session.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0agsz4dj8hsw5n0zy64enqcyymz\"}],\"supportSiteInformation\":{\"docsetId\":\"engspdehdfsug\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n1o41swy8vi6mkn15fgqps9fjaj9.htm\"}},{\"name\":\"SPDESORTSIZE=\",\"description\":\"Specifies the memory space size that is needed for sorting operations used by the SPD Engine.\",\"help\":\"SPDESORTSIZE= *n* | *n*K | *n*M | *n*G\",\"type\":\"choice\",\"arguments\":[{\"name\":\"n\",\"placeholder\":true,\"description\":\"is the size of memory space in bytes, kilobytes, megabytes, or gigabytes.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1icus2lrfowahn1k40n2365kcka\"}],\"supportSiteInformation\":{\"docsetId\":\"engspde\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p14iytucvmskdtn1qeye9zkpp0ss.htm\"}},{\"name\":\"SPDEWHEVAL=\",\"description\":\"Specifies the process to determine which observations meet the condition or conditions of a WHERE expression.\",\"help\":\"SPDEWHEVAL= COST | EVAL1 | EVAL3EVAL4\",\"type\":\"choice\",\"arguments\":[{\"name\":\"COST\",\"description\":\"specifies that the SPD Engine decides which evaluation strategy to use to optimize the WHERE expression. This process calculates the number of threads to be used, which minimizes the overhead of spawning underused threads. This is the default.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1advzrhfsef0un165c1itmuwel1\"},{\"name\":\"EVAL1\",\"description\":\"is a multi-threaded index evaluation strategy that can quickly determine the rows that satisfy the WHERE expression using multiple threads. The number of threads that are spawned to retrieve the observations is equal to the THREADNUM= value.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0srdmc1v91kttn161jvbpimpwsd\"},{\"name\":\"EVAL3EVAL4\",\"description\":\"is a single-threaded index evaluation strategy that is used for a simple or compound WHERE expression. All the key variables have a simple index and no condition tests for non-equality. Multi-threading might be used to retrieve the observations.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1wcjr1f1mzywhn0z530p4bsg3a2\"}],\"supportSiteInformation\":{\"docsetId\":\"engspde\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p1ux0n9i04sm5xn1x4o4htowh7yz.htm\"}},{\"name\":\"SPOOL\",\"description\":\"specifies that SAS write statements to a utility data set in the Work library for later use by a %INCLUDE or %LIST statement, or by the RECALL command, within a windowing environment.\",\"type\":\"standalone\",\"supportSiteInformation\":{\"docsetId\":\"lesysoptsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n1qzvfxvfsws3an1i303rzyp6emk.htm\"}},{\"name\":\"SQLCONSTDATETIME\",\"description\":\"specifies that the SQL procedure is to replace references to the DATE, TIME, DATETIME, and TODAY functions with their equivalent numeric constant values.\",\"help\":\"SQLCONSTDATETIME  | NOSQLCONSTDATETIME \",\"type\":\"choice\",\"arguments\":[{\"name\":\"NOSQLCONSTDATETIME\",\"optional\":true,\"description\":\"specifies that the SQL procedure is not to replace references to the DATE, TIME, DATETIME, and TODAY functions with their equivalent numeric constant values.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1ask2znag2v3dn1b67ehfohecvr\"}],\"supportSiteInformation\":{\"docsetId\":\"sqlproc\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n1mar4dz971ln3n1lxmgx7hcgyc0.htm\"}},{\"name\":\"SQLGENERATION=\",\"description\":\"Specifies whether and when SAS procedures generate SQL for in-database processing of source data.\",\"help\":\"SQLGENERATION= <(>NONE | DBMS\\n\\t<DBMS='engine1 <engine2  ...>'>\\n\\n\\t<EXCLUDEDB=engine |  'engine1 < engine2  ...>'>\\n\\n\\t<EXCLUDEPROC=\\\"engine='proc1 <proc2 ...>' <engine2='proc1<proc2 ...>'>\\\"><)>\\n\\\\nSQLGENERATION= ' '\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DBMS=\",\"optional\":true,\"description\":\"specifies one or more SAS/ACCESS engines. It modifies the primary state.\",\"help\":\"DBMS='*engine1* &lt;*engine2* ...&gt;'\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0llgdmjuzkqxbn0zycwcti6k6s5\"},{\"name\":\"EXCLUDEDB=\",\"optional\":true,\"description\":\"prevents SAS procedures from generating SQL for in-database processing for one or more specified SAS/ACCESS engines.\",\"help\":\"EXCLUDEDB=*engine* | '*engine1*&lt;*engine2* ...&gt;'\",\"type\":\"choice\",\"arguments\":[{\"name\":\"engine\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"'engine1engine2'\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"n0grzfzuivmld1n1nid4i973ynx2\"},{\"name\":\"EXCLUDEPROC=\",\"optional\":true,\"description\":\"prevents one or more specified SAS procedures from generating SQL for in-database processing for one or more specified SAS/ACCESS engines.\",\"help\":\"EXCLUDEPROC=\\\"*engine*='*proc1* &lt;*proc2* ...&gt;' &lt;*engine2*='*proc1*&lt;*proc2* ...&gt;'&gt; \\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0e8swcltb1atln1saz7na968rwz\"}],\"supportSiteInformation\":{\"docsetId\":\"indbug\",\"docsetVersion\":\"v_002\",\"docsetTargetFile\":\"p0ltbj6gvz6w1sn1oqg2cq15ff6u.htm\"}},{\"name\":\"SQLIPONEATTEMPT\",\"description\":\"instructs PROC SQL to fail an implicit pass-through (IP) query if the DBMS that the query or part of the query is being sent to rejects it.\",\"help\":\"SQLIPONEATTEMPT  | NOSQLIPONEATTEMPT \",\"type\":\"choice\",\"arguments\":[{\"name\":\"NOSQLIPONEATTEMPT\",\"optional\":true,\"description\":\"has no limitations on how many times PROC SQL can reject a query or part of a query that is being sent to a DBMS. This is the default value.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1gwu073un2c1yn1pwbf1p65z1yc\"}],\"supportSiteInformation\":{\"docsetId\":\"sqlproc\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n1e315fgk008qwn1jjo83015285l.htm\"}},{\"name\":\"SQLMAPPUTTO=\",\"description\":\"Specifies whether the PUT function is mapped to the SAS_PUT function for a database. Use this system option to specify an alternative database in which the SAS_PUT function is published.\",\"help\":\"SQLMAPPUTTO= NONE | SAS_PUT | (*database*.SAS_PUT)\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NONE\",\"optional\":true,\"description\":\"specifies to PROC SQL that no PUT function mapping is to occur.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0ns5j18qeicwhn11meqaojgvyks\"},{\"name\":\"SAS_PUT\",\"optional\":true,\"description\":\"specifies that the PUT function be mapped to the SAS_PUT function in the database.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p159392o5y9drpn1vteg9efo41wu\"},{\"name\":\".SAS_PUT\",\"optional\":true,\"description\":\"specifies the database name where the SAS_PUT function and format definitions reside.\",\"help\":\"*database*.SAS_PUT\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n12zwxac39gq0kn1v7h3s2v3qtjm\"}],\"supportSiteInformation\":{\"docsetId\":\"acreldb\",\"docsetVersion\":\"v_011\",\"docsetTargetFile\":\"p0m3xjyqbcdf5gn1erzcg1kcocd4.htm\"}},{\"name\":\"SQLREDUCEPUT=\",\"description\":\"For the SQL procedure, specifies the engine type to use to optimize a PUT function in a query. The PUT function is replaced with a logically equivalent expression.\",\"help\":\"SQLREDUCEPUT= ALL | NONE | DBMS | BASE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"ALL\",\"optional\":true,\"description\":\"specifies to consider the optimization of all PUT functions, regardless of the engine that is used by the query to access the data.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0y376z8ag47xin1mn09p4kxg7vb\"},{\"name\":\"NONE\",\"optional\":true,\"description\":\"specifies to not optimize any PUT function.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0ffumf17j47xon1lowp4mwv6cq4\"},{\"name\":\"DBMS\",\"optional\":true,\"description\":\"specifies to consider the optimization of all PUT functions in a query performed by a SAS/ACCESS engine. This is the default.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1ufyjx98upzd6n1t9cgf17octl7\"},{\"name\":\"BASE\",\"optional\":true,\"description\":\"specifies to consider the optimization of all PUT functions in a query performed by a SAS/ACCESS engine or a Base SAS engine.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0fmj7jrzh6mdfn1swgy7z05iu3j\"}],\"supportSiteInformation\":{\"docsetId\":\"sqlproc\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p1ed3a62tqdnvzn1myrq7n8gn5k8.htm\"}},{\"name\":\"SQLREDUCEPUTOBS=\",\"description\":\"For the SQL procedure, when the SQLREDUCEPUT= system option is set to DBMS, BASE, or ALL, specifies the minimum number of observations that must be in a table for PROC SQL to optimize the PUT function in a query.\",\"help\":\"SQLREDUCEPUTOBS=  *n* \",\"type\":\"choice\",\"arguments\":[{\"name\":\"n\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the minimum number of observations that must be in a table for PROC SQL to optimize the PUT function in a query.\",\"help\":\"*n* \",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0mmdjfsdvhdj8n1s1pd617mbwhr\"}],\"supportSiteInformation\":{\"docsetId\":\"sqlproc\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p0882k5abl1n8an11tkvn8akds2n.htm\"}},{\"name\":\"SQLREDUCEPUTVALUES=\",\"description\":\"For the SQL procedure, when the SQLREDUCEPUT= system option is set to DBMS, BASE, or ALL, specifies the maximum number of SAS format values that can exist in a PUT function expression for PROC SQL to optimize the PUT function in a query.\",\"help\":\"SQLREDUCEPUTVALUES=  *n* \",\"type\":\"choice\",\"arguments\":[{\"name\":\"n\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the maximum number of SAS format values that can exist in a PUT function expression for PROC SQL to optimize the PUT function in a query.\",\"help\":\"*n* \",\"type\":\"value\",\"supportSiteTargetFragment\":\"p11a98fx94bickn1302q02h6dv9x\"}],\"supportSiteInformation\":{\"docsetId\":\"sqlproc\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p0oqrxtn8uaounn14h7k9vpe9d36.htm\"}},{\"name\":\"SQLREMERGE\",\"description\":\"specifies that PROC SQL can process queries that use remerged data.\",\"help\":\"SQLREMERGE  | NOSQLREMERGE \",\"type\":\"choice\",\"arguments\":[{\"name\":\"NOSQLREMERGE\",\"optional\":true,\"description\":\"specifies that PROC SQL cannot process queries that use remerged data.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n09blxuurj2ynsn10ojnttz9kcjl\"}],\"supportSiteInformation\":{\"docsetId\":\"sqlproc\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n0vsajplmvvo6dn1n6i4tt22e4xx.htm\"}},{\"name\":\"SQLUNDOPOLICY\",\"description\":\"Specifies how PROC SQL handles updated data if errors occur while you are updating data. You can use UNDO_POLICY= to control whether your changes are permanent.\",\"help\":\"SQLUNDOPOLICY =NONE | OPTIONAL | REQUIRED\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NONE\",\"optional\":true,\"description\":\"keeps any updates or inserts.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1cf6r4jlc049sn1maxim4n4yymw\"},{\"name\":\"OPTIONAL\",\"optional\":true,\"description\":\"reverses any updates or inserts that it can reverse reliably.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0bevouox9ycr2n1as6werkaxkwj\"},{\"name\":\"REQUIRED\",\"optional\":true,\"description\":\"reverses all updates or inserts that have been made up to the point of the error. This is the default.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n04o2y4tk6ljojn1wrxxg2qouywm\"}],\"supportSiteInformation\":{\"docsetId\":\"sqlproc\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p09g4p15bq4nkln1sft3h243ie42.htm\"}},{\"name\":\"SQL_PUSHTCINTOVIEW_FROM_OUTSIDE\",\"description\":\"Specifies that a truncated comparison operator (=:) in a WHERE clause returns all of the values in a view that begin with the specified value.\",\"help\":\"SQL_PUSHTCINTOVIEW_FROM_OUTSIDE  = YES | Y | NO | N ;\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NON\",\"description\":\"Specifies that the =: operator in a WHERE clause is not applied to a view.\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NO\",\"type\":\"standalone\"},{\"name\":\"N\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"p14h53m26pxvc5n118wcaub4dbt0\"}],\"supportSiteInformation\":{\"docsetId\":\"sqlproc\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p1uk7wffvm9o6an1gm0ro6spmjpg.htm\"}},{\"name\":\"STIMEFMT\",\"description\":\"Specifies the format that is used to display the time on FULLSTIMER and STIMER output.\",\"help\":\"STIMEFMT =*value*\",\"type\":\"value\",\"arguments\":[{\"name\":\"Datetime\",\"description\":\"\",\"help\":\"Datetime Stamp options\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0b7gtyg4q7heyn1lpowr2xnzqqp\"},{\"name\":\"Memory\",\"description\":\"is normally displayed as part of FULLSTIMER. The default memory output is displayed in kilobytes. The following options for memory are available:\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0ostxgvi0xf6sn13t0bjld9rbyv\"},{\"name\":\"Elapsed\",\"description\":\"can be configured to display hours, minutes, seconds, or best fit in STIMER and FULLSTIMER.\",\"help\":\"Elapsed and CPU time\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1wejba119lnopn1k2d8oh6nuei2\"},{\"name\":\"Counters\",\"description\":\"specifies that additional counters can be displayed as part of FULLSTIMER.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0g12irepv1n7in1f8t4m79h990q\"},{\"name\":\"Help\",\"description\":\"provides two values that are used to access help for the STIMEFMT option:\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1gczwf5cdpspjn175rbaxpuo05c\"}],\"supportSiteInformation\":{\"docsetId\":\"lesysoptsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p1xnpub3oq3nlun1efyzsy5ms3u9.htm\"}},{\"name\":\"STIMER\",\"description\":\"writes only real time and CPU time to the SAS log.\",\"type\":\"standalone\",\"supportSiteInformation\":{\"docsetId\":\"lesysoptsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n1na6t89rml29wn1v6zwagziox4t.htm\"}},{\"name\":\"STRIPESIZE=\",\"description\":\"Specifies one or more directory and size argument pairs that set the size of SAS data sets and utility files in that directory to the size of an I/O device stripe.\",\"help\":\"STRIPESIZE= (*directory-path-1* *size-1*&lt;*directory-path-2**size-2* ...&gt;)\\\\nSTRIPESIZE= (*directory-path*RESET)\",\"type\":\"value\",\"arguments\":[{\"name\":\"directory-path\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies an existing directory where the I/O page size for SAS data sets and utility files that are created in this directory is set to size. Subdirectories of directory-path inherit the data set or utility file size unless the STRIPESIZE= option has been set for the subdirectory.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n18090m7aql2kwn18rz18jlotddb\"},{\"name\":\"size\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the number of bytes in a RAID (Redundant Array of Independent Disks) stripe, in multiples of 1: 1,024 (kilo); 1,048,576 (mega); 1,073,741,824 (giga). For example, a value of 1024 specifies 1,024 bytes, and a value of 3m specifies 3,145,728 bytes.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0522fiuht2hshn16mbnnazcxa2z\"}],\"supportSiteInformation\":{\"docsetId\":\"lesysoptsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n0e4bdfj5qa5r4n1byty91t7wtiw.htm\"}},{\"name\":\"SUMSIZE=\",\"description\":\"Specifies a limit on the amount of memory that is available for data summarization procedures when class variables are active.\",\"help\":\"SUMSIZE= *n* | *n*K | *n*M | *n*G | *n*T | *hex*X | MIN | MAX\",\"type\":\"choice\",\"arguments\":[{\"name\":\"n\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the amount of memory in terms of 1 (bytes); 1,024 (kilobytes); 1,048,576 (megabytes); 1,073,741,824 (gigabytes); or 1,099,511,627,776 (terabytes). When n=0, the default value, the amount of memory is determined by values of the MEMSIZE option and the REALMEMSIZE option. Valid values for SUMSIZE range from 0 to 2 (n-1) where n is the data width in bits (32 or 64) of the operating system.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0e5w6majochjnn1n04qc5zwpqj3\"},{\"name\":\"K\",\"optional\":true,\"description\":\"specifies the amount of memory in terms of 1 (bytes); 1,024 (kilobytes); 1,048,576 (megabytes); 1,073,741,824 (gigabytes); or 1,099,511,627,776 (terabytes). When n=0, the default value, the amount of memory is determined by values of the MEMSIZE option and the REALMEMSIZE option. Valid values for SUMSIZE range from 0 to 2 (n-1) where n is the data width in bits (32 or 64) of the operating system.\",\"help\":\"*n*K\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0e5w6majochjnn1n04qc5zwpqj3\"},{\"name\":\"M\",\"optional\":true,\"description\":\"specifies the amount of memory in terms of 1 (bytes); 1,024 (kilobytes); 1,048,576 (megabytes); 1,073,741,824 (gigabytes); or 1,099,511,627,776 (terabytes). When n=0, the default value, the amount of memory is determined by values of the MEMSIZE option and the REALMEMSIZE option. Valid values for SUMSIZE range from 0 to 2 (n-1) where n is the data width in bits (32 or 64) of the operating system.\",\"help\":\"*n*M\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0e5w6majochjnn1n04qc5zwpqj3\"},{\"name\":\"G\",\"optional\":true,\"description\":\"specifies the amount of memory in terms of 1 (bytes); 1,024 (kilobytes); 1,048,576 (megabytes); 1,073,741,824 (gigabytes); or 1,099,511,627,776 (terabytes). When n=0, the default value, the amount of memory is determined by values of the MEMSIZE option and the REALMEMSIZE option. Valid values for SUMSIZE range from 0 to 2 (n-1) where n is the data width in bits (32 or 64) of the operating system.\",\"help\":\"*n*G\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0e5w6majochjnn1n04qc5zwpqj3\"},{\"name\":\"T\",\"optional\":true,\"description\":\"specifies the amount of memory in terms of 1 (bytes); 1,024 (kilobytes); 1,048,576 (megabytes); 1,073,741,824 (gigabytes); or 1,099,511,627,776 (terabytes). When n=0, the default value, the amount of memory is determined by values of the MEMSIZE option and the REALMEMSIZE option. Valid values for SUMSIZE range from 0 to 2 (n-1) where n is the data width in bits (32 or 64) of the operating system.\",\"help\":\"*n*T\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0e5w6majochjnn1n04qc5zwpqj3\"},{\"name\":\"X\",\"optional\":true,\"description\":\"specifies the amount of memory as a hexadecimal number. The value must begin with a number (0–9) and must be followed by an X. For example, a value of 0fffx specifies 4,095 bytes of memory.\",\"help\":\"*hex*X\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0zpi7ukol4slin1tfj4t8nx46cn\"},{\"name\":\"MIN\",\"optional\":true,\"description\":\"specifies the minimum amount of memory available.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1twyfror4x6ren1fdho7a9akx9h\"},{\"name\":\"MAX\",\"optional\":true,\"description\":\"specifies the maximum amount of memory available.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0pzslg88vfpvwn1693tc3855p8c\"}],\"supportSiteInformation\":{\"docsetId\":\"lesysoptsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n11y4v3sw4cxtvn14cxwbv88xhsc.htm\"}},{\"name\":\"SVGAUTOPLAY\",\"description\":\"specifies to automatically start the animation in the web page.\",\"type\":\"standalone\",\"supportSiteInformation\":{\"docsetId\":\"lesysoptsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n0la1x92n5rb8kn1kumvr14eoyej.htm\"}},{\"name\":\"SVGCONTROLBUTTONS\",\"description\":\"specifies to display the paging control buttons in the SVG document.\",\"type\":\"standalone\",\"supportSiteInformation\":{\"docsetId\":\"lesysoptsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p16rts1wfwshe0n172zlqgj70fr3.htm\"}},{\"name\":\"SVGFADEIN=\",\"description\":\"Specifies the number of seconds for an SVG frame to fade into view.\",\"help\":\"SVGFADEIN= *n*\",\"type\":\"value\",\"arguments\":[{\"name\":\"n\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the number of seconds for an SVG frame to fade into view. Valid values can be any numeric representation (for example, .01, 5, or 6.5).\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n03irx0qwpgo7jn191tu4p58lltz\"}],\"supportSiteInformation\":{\"docsetId\":\"lesysoptsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n1vs8x5j9mc8fmn1xrr95dp4fbfo.htm\"}},{\"name\":\"SVGFADEMODE=\",\"description\":\"Specifies whether an SVG frame overlaps the previous frame or whether each frame is played sequentially when a frame is fading in and out.\",\"help\":\"SVGFADEMODE= OVERLAP | SEQUENTIAL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"OVERLAP\",\"optional\":true,\"description\":\"specifies that for each SVG frame that is fading in or out of view, the fading of frames overlaps in the same time span.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1swjczlxs6xi9n1xgpap5v74uu0\"},{\"name\":\"SEQUENTIAL\",\"optional\":true,\"description\":\"specifies that for each SVG frame that is fading in or out of view, the frame fades out after the fade-out is complete. The next frame is a frame that is fading in.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1r9efs1wclamsn1qxpowf9vesxb\"}],\"supportSiteInformation\":{\"docsetId\":\"lesysoptsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p0xtl33xzhr5y0n1rlchghr8n4xp.htm\"}},{\"name\":\"SVGFADEOUT=\",\"description\":\"Specifies the number of seconds for an SVG frame to fade out of view.\",\"help\":\"SVGFADEOUT= *n*\",\"type\":\"value\",\"arguments\":[{\"name\":\"n\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the number of seconds for an SVG frame to fade out of view. Valid values can be any numeric representation (for example, .01, 5, or 6.5).\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0fatq2cszzu1an1qdmdw8g9l755\"}],\"supportSiteInformation\":{\"docsetId\":\"lesysoptsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n0ldggf2m9qu0wn1h9zb49epdbz2.htm\"}},{\"name\":\"SVGHEIGHT=\",\"description\":\"Specifies the height of the viewport unless the SVG output is embedded in another SVG output; specifies the value of the height attribute of the outermost <svg> element in the SVG file.\",\"help\":\"SVGHEIGHT= *number-of-units*&lt;*unit-of-measure*&gt; | \\\"\\\" | ''\",\"type\":\"value\",\"arguments\":[{\"name\":\"number-of-\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the height as a number of unit-of-measure.\",\"help\":\"*number-of- units*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1bnmqcnsru0evn1tukdl253rgto\"},{\"name\":\"unit-of-measure\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the unit of measurement, which can be one of the following:\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p115cjsmm2esren1brhvxqo5oxj3\"},{\"name\":\"\\\"\\\"\",\"optional\":true,\"description\":\"specifies to reset the height to the default value of 600 pixels.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0xtinkk1kfucdn15skvh4hid4pg\"},{\"name\":\"''\",\"optional\":true,\"description\":\"specifies to reset the height to the default value of 600 pixels.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0xtinkk1kfucdn15skvh4hid4pg\"}],\"supportSiteInformation\":{\"docsetId\":\"lesysoptsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n07l08sdcsx4wpn1g03020jinsc7.htm\"}},{\"name\":\"SVGMAGNIFYBUTTON\",\"description\":\"specifies to enable the SVG magnify tool in SVG documents.\",\"type\":\"standalone\",\"supportSiteInformation\":{\"docsetId\":\"lesysoptsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n1wa8jr0kcezbzn16icpsmxbllzv.htm\"}},{\"name\":\"SVGPRESERVEASPECTRATIO=\",\"description\":\"Specifies whether to force uniform scaling of SVG output; specifies the preserveAspectRatio attribute on the outermost <svg> element.\",\"help\":\"SVGPRESERVEASPECTRATIO= *align* | *meetOrSlice* | NONE | \\\"\\\"\\\\nSVGPRESERVEASPECTRATIO= \\\"*align* *meetOrSlice*\\\"\",\"type\":\"choice\",\"arguments\":[{\"name\":\"xMinYMin\",\"description\":\"specifies to force uniform scaling by using the following alignment:\\n• Align the &lt;min–x&gt; of the element's viewBox with the smallest X value of the viewport.\\n• Align the &lt;min–y&gt; of the element's viewBox with the smallest Y value of the viewport.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0h42fek061oqjn1x3rvpz4mol6o\"},{\"name\":\"xMidYMin\",\"description\":\"specifies to force uniform scaling by using the following alignment:\\n• Align the midpoint X value of the element's viewBox with the midpoint X value of the viewport.\\n• Align the &lt;min–y&gt; of the element's viewBox with the smallest Y value of the viewport.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1vjgtt7yqusmpn1jmlkelr9sdh1\"},{\"name\":\"xMaxYMin\",\"description\":\"specifies to force uniform scaling by using the following alignment:\\n• Align the &lt;min–x&gt;+&lt;width&gt; of the element's viewBox with the maximum X value of the viewport.\\n• Align the &lt;min–y&gt; of the element's viewBox with the smallest Y value of the viewport.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1lbipa6mw9avan1fttfui765fv7\"},{\"name\":\"xMinYMid\",\"description\":\"specifies to force uniform scaling by using the following alignment:\\n• Align the &lt;min–x&gt; of the element's viewBox with the smallest X value of the viewport.\\n• Align the midpoint Y value of the element's viewBox with the midpoint Y value of the viewport.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0jejxr62ojcrtn1sglvcndasmst\"},{\"name\":\"xMidYMid\",\"description\":\"specifies to force uniform scaling by using the following alignment:\\n• Align the midpoint X value of the element's viewBox with the midpoint X value of the viewport.\\n• Align the midpoint Y value of the element's viewBox with the midpoint Y value of the viewport. This is the default.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p17fmqhjghkwj8n1ig4j596ngdw6\"},{\"name\":\"xMaxYMid\",\"description\":\"specifies to force uniform scaling by using the following alignment:\\n• Align the &lt;min–x&gt;+&lt;width&gt; of the element's viewBox with the maximum X value of the viewport.\\n• Align the midpoint Y value of the element's viewBox with the midpoint Y value of the viewport.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n11q15s9cae9cwn137om6pw14ni2\"},{\"name\":\"xMinYMax\",\"description\":\"specifies to force uniform scaling by using the following alignment:\\n• Align the &lt;min–x&gt; of the element's viewBox with the smallest X value of the viewport.\\n• Align the &lt;min–y&gt;+&lt;height&gt; of the element's viewBox with the maximum Y value of the viewport.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0unnnryna908un1ui3lyd4qlrl1\"},{\"name\":\"xMidYMax\",\"description\":\"specifies to force uniform scaling by using the following alignment:\\n• Align the midpoint X value of the element's viewBox with the midpoint X value of the viewport.\\n• Align the &lt;min–y&gt;+&lt;height&gt; of the element's viewBox with the maximum Y value of the viewport.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1me1rftz4mr2xn1rrhcyuyob050\"},{\"name\":\"xMaxYMax\",\"description\":\"specifies to force uniform scaling by using the following alignment:\\n• Align the &lt;min–x&gt;+&lt;width&gt; of the element's viewBox with the maximum X value of the viewport.\\n• Align the &lt;min–y&gt;+&lt;height&gt; of the element's viewBox with the maximum Y value of the viewport.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n07zx1ani13ovcn14ntuiogau8ji\"},{\"name\":\"meet\",\"description\":\"specifies to scale the SVG graphic as follows:\\n• preserve the aspect ratio\\n• make the entire viewBox visible within the viewport\\n• scale up the viewBox as much as possible while meeting other criteria\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n184pp6nwae2bxn1b6169w56ypcs\"},{\"name\":\"slice\",\"description\":\"specifies to scale the SVG graphic as follows:\\n• preserve the aspect ratio\\n• cover the entire viewBox with the viewport\\n• scale down the viewBox as much as possible while meeting other criteria\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1d5e7dv6p0p6an1ufacr2shocgi\"},{\"name\":\"NONE\",\"optional\":true,\"description\":\"specifies not to force uniform scaling and to scale the SVG output nonuniformly so that the element's bounding box exactly matches the viewport rectangle.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n17d134sp7vobmn11a0ndnu084fx\"},{\"name\":\"\\\"\\\"\",\"optional\":true,\"description\":\"specifies to reset the preserveAspectRatio attribute of the <svg> element to the default value of xMidYMid meet.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0jurbi4elprk6n1fqs88b2jtuoo\"}],\"supportSiteInformation\":{\"docsetId\":\"lesysoptsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n1bd4y5lrfelvgn1sh085ebn463p.htm\"}},{\"name\":\"SVGTITLE=\",\"description\":\"Specifies the title in the title bar of the SVG output; specifies the value of the <title> element in the SVG file.\",\"help\":\"SVGTITLE= \\\"*title*\\\" | \\\"\\\" | ''\",\"type\":\"choice\",\"arguments\":[{\"name\":\"\\\"title\\\"\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the title of the SVG.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0ujxor744en20n1ef60cohuzn9c\"},{\"name\":\"\\\"\\\"\",\"optional\":true,\"description\":\"specifies to reset the title to empty.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0rlwgqe3dlfprn1sl8asr78x2kk\"},{\"name\":\"''\",\"optional\":true,\"description\":\"specifies to reset the title to empty.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0rlwgqe3dlfprn1sl8asr78x2kk\"}],\"supportSiteInformation\":{\"docsetId\":\"lesysoptsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p0itc28mft5osan1oedbms76edim.htm\"}},{\"name\":\"SVGVIEWBOX=\",\"description\":\"Specifies the coordinates, width, and height that are used to set the viewBox attribute on the outermost <svg> element, which enables SVG output to scale to the viewport.\",\"help\":\"SVGVIEWBOX= \\\"*min-x* *min-y* *width* *height*'' | none | \\\"\\\" | ''\",\"type\":\"value\",\"arguments\":[{\"name\":\"min–x\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the beginning x coordinate of the viewBox, in user units.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1290y96ukr57dn1cx4ts7pbbd37\"},{\"name\":\"min–y\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the beginning y coordinate of the viewBox, in user units.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0uiygn2lrg096n1fgfo4ge3ox2b\"},{\"name\":\"width\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the width of the viewBox, in user units.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1ijws6yg0n0ann1qy3kx58gkb7c\"},{\"name\":\"height\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the height of the viewBox, in user units.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1azhm07utksjan1ur9qkq3i2ps4\"},{\"name\":\"none\",\"optional\":true,\"description\":\"specifies that no viewBox attribute is to be specified on the outermost <svg> element, which effectively creates a static SVG document.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0nc52t2oetrasn1wk1yuy4hrttq\"},{\"name\":\"\\\"\\\"\",\"optional\":true,\"description\":\"specifies to reset the width and height of the viewBox to the width and height of the paper size for the SVG printer.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0dlpx7i7bzqlan1lakrcrkhb8vk\"},{\"name\":\"''\",\"optional\":true,\"description\":\"specifies to reset the width and height of the viewBox to the width and height of the paper size for the SVG printer.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0dlpx7i7bzqlan1lakrcrkhb8vk\"}],\"supportSiteInformation\":{\"docsetId\":\"lesysoptsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p0yj4hypj1ag6yn1vs0k5sp3oke0.htm\"}},{\"name\":\"SVGWIDTH=\",\"description\":\"Specifies the width of the viewport unless the SVG output is embedded in another SVG output; specifies the value of the width attribute in the outermost <svg> element in the SVG file.\",\"help\":\"SVGWIDTH= *number-of-units*&lt;*unit-of-measure*&gt; | \\\"\\\" | '' \",\"type\":\"value\",\"arguments\":[{\"name\":\"number-of-units\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the width as a number of unit-of-measure.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1tozl0omlz1apn11ak5k5hgemwa\"},{\"name\":\"unit-of-measure\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the unit of measurement, which can be one of the following:\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n19t565q4wpha2n1pe0v1w4fa69v\"},{\"name\":\"\\\"\\\"\",\"optional\":true,\"description\":\"specifies to reset the width to the default value of 800 pixels.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1qqeoo45yzrl4n1k5nc84uglkzz\"},{\"name\":\"''\",\"optional\":true,\"description\":\"specifies to reset the width to the default value of 800 pixels.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1qqeoo45yzrl4n1k5nc84uglkzz\"}],\"supportSiteInformation\":{\"docsetId\":\"lesysoptsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n172unyiufoh6kn1k6l3vlwpepxz.htm\"}},{\"name\":\"SVGX=\",\"description\":\"Specifies the x-axis coordinate of one corner of the rectangular region into which an embedded <svg> element is placed; specifies the x attribute in the outermost <svg> element in an SVG file.\",\"help\":\"SVGX= *number-of-units*&lt;*unit-of-measure*&gt; |  \\\"\\\" | ''\",\"type\":\"value\",\"arguments\":[{\"name\":\"number-of-units\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the x-axis coordinate as a number of unit-of-measure.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1011tdo59l90ln0zvsvpusx3ekf\"},{\"name\":\"unit-of-measure\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the unit of measurement, which can be one of the following:\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1u3n5wzw0fig4n1lr22ymss6wa2\"},{\"name\":\"\\\"\\\"\",\"optional\":true,\"description\":\"specifies to reset the x attribute to 0 on the <svg> element and the x-axis coordinate for embedded SVG to 0.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p09mepfdggk9f1n1am8gbjlkhbdl\"},{\"name\":\"''\",\"optional\":true,\"description\":\"specifies to reset the x attribute to 0 on the <svg> element and the x-axis coordinate for embedded SVG to 0.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p09mepfdggk9f1n1am8gbjlkhbdl\"}],\"supportSiteInformation\":{\"docsetId\":\"lesysoptsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p1q2fexjktytjin18pnul8ktyk23.htm\"}},{\"name\":\"SVGY=\",\"description\":\"Specifies the y-axis coordinate of one corner of the rectangular region into which an embedded <svg> element is placed; specifies the y attribute in the outermost <svg> element in an SVG file.\",\"help\":\"SVGY= *number-of-units*&lt;*unit-of-measure*&gt; | \\\"\\\" | ''\",\"type\":\"value\",\"arguments\":[{\"name\":\"number-of-units\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the y-axis coordinate as a number of unit-of-measure.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1r65lejkkdiu5n1cc4g4dqmjejf\"},{\"name\":\"unit-of-measure\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the unit of measurement, which can be one of the following:\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n19gedboafj4yxn12s5p0wvsxk53\"},{\"name\":\"\\\"\\\"\",\"optional\":true,\"description\":\"specifies to reset the y attribute on the <svg> element and the y-axis coordinate for embedded SVG output to 0.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n08agywbhojq7an1s6ykzu96yyhq\"},{\"name\":\"''\",\"optional\":true,\"description\":\"specifies to reset the y attribute on the <svg> element and the y-axis coordinate for embedded SVG output to 0.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n08agywbhojq7an1s6ykzu96yyhq\"}],\"supportSiteInformation\":{\"docsetId\":\"lesysoptsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n1rhak0pmnoqaxn12ounbafmgdws.htm\"}},{\"name\":\"SYMBOLGEN\",\"aliases\":[\"SGEN\"],\"description\":\"displays the results of resolving macro variable references. This option is useful for debugging.\",\"type\":\"standalone\",\"supportSiteInformation\":{\"docsetId\":\"mcrolref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n0lh4tuknkdkf2n1d4qi7utpyf5n.htm\"}},{\"name\":\"SYNTAXCHECK\",\"description\":\"enables syntax check mode for statements that are submitted within a non-interactive or batch SAS session.\",\"type\":\"standalone\",\"supportSiteInformation\":{\"docsetId\":\"lesysoptsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n014qbvh3po8w5n1qlqbzr22vtg0.htm\"}},{\"name\":\"SYSPARM=\",\"description\":\"Specifies a character string that can be passed to SAS programs.\",\"help\":\"SYSPARM= '*character-string*'\",\"type\":\"value\",\"supportSiteInformation\":{\"docsetId\":\"mcrolref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p00rpeae2y8s8zn13lj9l80beb9w.htm\"}},{\"name\":\"TEXTURELOC=\",\"description\":\"Specifies the location of textures and images that are used by ODS styles.\",\"help\":\"TEXTURELOC= *location*\",\"type\":\"value\",\"arguments\":[{\"name\":\"location\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the location of textures and images used by ODS styles. Location can refer either to the physical name of the directory or to a URL reference to the directory.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1xj7baokjg6dnn1nzwcthhilrv6\"}],\"supportSiteInformation\":{\"docsetId\":\"lesysoptsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n0ddxt4wpedwq3n1pfrnz1h7m9rn.htm\"}},{\"name\":\"THREADS\",\"description\":\"specifies to use threaded processing for SAS applications that support it.\",\"type\":\"standalone\",\"supportSiteInformation\":{\"docsetId\":\"lesysoptsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p0cvg7xpfvfyn4n1rnp64gu91poh.htm\"}},{\"name\":\"TIMEZONE=\",\"aliases\":[\"TZ=\"],\"description\":\"Specifies the user local time zone.\",\"help\":\"TIMEZONE= '*time-zone-name*' |  '*time-zone-ID*'\",\"type\":\"choice\",\"arguments\":[{\"name\":\"time-zone-name\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies a three- or four-character time zone name. For example, EST is a time zone name for Eastern Time.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1019d8qnx3pkan0zfbdct61zin3\"},{\"name\":\"time-zone-ID\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies a region/area value that is defined by SAS. When you specify a time zone ID, the time zone that SAS uses is determined by time zone name and Daylight Saving Time rules.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n01xmjg254rwq4n1j46ueqm0n92m\"}],\"supportSiteInformation\":{\"docsetId\":\"lesysoptsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p15siqs0s00e50n1wuuvygzkr14r.htm\"}},{\"name\":\"TOPMARGIN=\",\"description\":\"Specifies the print margin at the top of the page.\",\"help\":\"TOPMARGIN= *margin-size*&lt;*margin-unit*&gt;\",\"type\":\"value\",\"arguments\":[{\"name\":\"margin-size\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the size of the margin.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n14cp28s62m9e1n1fjrqnyhr0mqx\"},{\"name\":\"<margin-unit>\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the units for margin-size. The margin-unit can be in for inches or cm for centimeters. <margin-unit> is saved as part of the value of the TOPMARGIN system option.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1pe867klqkbesn1e7vfkiovsj4v\"}],\"supportSiteInformation\":{\"docsetId\":\"lesysoptsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p0br9fiat1445in16f3re0xpms3f.htm\"}},{\"name\":\"TRANTAB=\",\"description\":\"Specifies the translation tables that are used by various parts of SAS.\",\"help\":\"TRANTAB= (*catalog-entries*)\",\"type\":\"dataSet\",\"arguments\":[{\"name\":\"catalog-entries\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies SAS catalog entries that contain translation tables. If you specify entry-name.type, SAS searches SASUSER.PROFILE first and then SASUSER.HOST.\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"p0ducfoacz6zssn1bw8mawqodkkc\"}],\"supportSiteInformation\":{\"docsetId\":\"nlsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p0bhmw1cvfti31n1jweb29e3zvj3.htm\"}},{\"name\":\"UBUFNO=\",\"description\":\"Specifies the number of buffers to use for utility files.\",\"help\":\"UBUFNO= *n* | *n*K | *n*M | *n*G | *hex*X | MIN | MAX\",\"type\":\"choice\",\"arguments\":[{\"name\":\"n\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the number of utility file buffers to be allocated in multiples of 1: 1,024 (kilo); 1,048,576 (mega); 1,073,741,824 (giga). For example, a value of 8 specifies 8 buffers, and a value of .003k specifies 3 buffers.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0727r1d5vokzsn158nkrndktiqr\"},{\"name\":\"K\",\"optional\":true,\"description\":\"specifies the number of utility file buffers to be allocated in multiples of 1: 1,024 (kilo); 1,048,576 (mega); 1,073,741,824 (giga). For example, a value of 8 specifies 8 buffers, and a value of .003k specifies 3 buffers.\",\"help\":\"*n*K\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0727r1d5vokzsn158nkrndktiqr\"},{\"name\":\"M\",\"optional\":true,\"description\":\"specifies the number of utility file buffers to be allocated in multiples of 1: 1,024 (kilo); 1,048,576 (mega); 1,073,741,824 (giga). For example, a value of 8 specifies 8 buffers, and a value of .003k specifies 3 buffers.\",\"help\":\"*n*M\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0727r1d5vokzsn158nkrndktiqr\"},{\"name\":\"G\",\"optional\":true,\"description\":\"specifies the number of utility file buffers to be allocated in multiples of 1: 1,024 (kilo); 1,048,576 (mega); 1,073,741,824 (giga). For example, a value of 8 specifies 8 buffers, and a value of .003k specifies 3 buffers.\",\"help\":\"*n*G \",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0727r1d5vokzsn158nkrndktiqr\"},{\"name\":\"X\",\"optional\":true,\"description\":\"specifies the number of utility file buffers as a hexadecimal value. The value must begin with a number (0–9) and must be followed by an X. For example, the value 0fx specifies 15 buffers.\",\"help\":\"*hex*X\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p19iv19sl9lbivn1hurykkw00oao\"},{\"name\":\"MIN\",\"optional\":true,\"description\":\"sets the minimum number of utility file buffers to 0, which causes SAS to use the minimum optimal value for the operating environment.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1u8sqy1mcjs5en1m8lk035vih8d\"},{\"name\":\"MAX\",\"optional\":true,\"description\":\"sets the number of utility file buffers to 20.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p10kkuchmsddxvn0zirm66svsulc\"}],\"supportSiteInformation\":{\"docsetId\":\"lesysoptsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n12mugp7qkqgein1nb2zidy3sals.htm\"}},{\"name\":\"UBUFSIZE=\",\"description\":\"Specifies the buffer size for utility files.\",\"help\":\"UBUFSIZE= *n* | *n*K | *n*M | *n*G | *n*T | *hex*X | MIN | MAX\",\"type\":\"choice\",\"arguments\":[{\"name\":\"n\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the utility file buffer size in multiples of 1 (bytes); 1,024 (kilobytes); 1,048,576 (megabytes); 1,073,741,824 (gigabytes); or 1,099,511,627,776 (terabytes). For example, a value of 8 specifies 8 bytes, and a value of 3m specifies 3,145,728 bytes.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0vkmjmymgvhuen1knshkzr6e3fp\"},{\"name\":\"K\",\"optional\":true,\"description\":\"specifies the utility file buffer size in multiples of 1 (bytes); 1,024 (kilobytes); 1,048,576 (megabytes); 1,073,741,824 (gigabytes); or 1,099,511,627,776 (terabytes). For example, a value of 8 specifies 8 bytes, and a value of 3m specifies 3,145,728 bytes.\",\"help\":\"*n*K\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0vkmjmymgvhuen1knshkzr6e3fp\"},{\"name\":\"M\",\"optional\":true,\"description\":\"specifies the utility file buffer size in multiples of 1 (bytes); 1,024 (kilobytes); 1,048,576 (megabytes); 1,073,741,824 (gigabytes); or 1,099,511,627,776 (terabytes). For example, a value of 8 specifies 8 bytes, and a value of 3m specifies 3,145,728 bytes.\",\"help\":\"*n*M\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0vkmjmymgvhuen1knshkzr6e3fp\"},{\"name\":\"G\",\"optional\":true,\"description\":\"specifies the utility file buffer size in multiples of 1 (bytes); 1,024 (kilobytes); 1,048,576 (megabytes); 1,073,741,824 (gigabytes); or 1,099,511,627,776 (terabytes). For example, a value of 8 specifies 8 bytes, and a value of 3m specifies 3,145,728 bytes.\",\"help\":\"*n*G\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0vkmjmymgvhuen1knshkzr6e3fp\"},{\"name\":\"T\",\"optional\":true,\"description\":\"specifies the utility file buffer size in multiples of 1 (bytes); 1,024 (kilobytes); 1,048,576 (megabytes); 1,073,741,824 (gigabytes); or 1,099,511,627,776 (terabytes). For example, a value of 8 specifies 8 bytes, and a value of 3m specifies 3,145,728 bytes.\",\"help\":\"*n*T \",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0vkmjmymgvhuen1knshkzr6e3fp\"},{\"name\":\"X\",\"optional\":true,\"description\":\"specifies the utility file buffer size as a hexadecimal value. The value must begin with a number (0–9) and must be followed by an X. For example, the value 2dx sets the page size to 45 bytes.\",\"help\":\"*hex*X\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p00g7owcxmg6wgn1m2ru2bdbpwwc\"},{\"name\":\"MIN\",\"optional\":true,\"description\":\"sets the utility file buffer size to 0. A value of 0 specifies that the buffer size is set to the default page size for the operating environment.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n083afvnxc9loln1o2zywf592dcv\"},{\"name\":\"MAX\",\"optional\":true,\"description\":\"sets the utility buffer size to the maximum possible number in your operating environment, up to the largest four-byte, signed integer, which is 231-1, or approximately 2 billion bytes.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1ibc5q4wb5t03n1mlenaswvyluw\"}],\"supportSiteInformation\":{\"docsetId\":\"lesysoptsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n1538e31bh0bkhn1ehsdtwst8wbv.htm\"}},{\"name\":\"UPRINTCOMPRESSION\",\"aliases\":[\"UPC | NOUPC\"],\"description\":\"specifies to enable compression of files created by some Universal Printers and some SAS/GRAPH devices.\",\"type\":\"standalone\",\"supportSiteInformation\":{\"docsetId\":\"lesysoptsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n1hcvo7ica4001n1vnp3v6b4mzne.htm\"}},{\"name\":\"URLENCODING\",\"description\":\"Specifies whether the argument to the URLENCODE function and to the URLDECODE function is interpreted using the SAS session encoding or UTF-8 encoding.\",\"help\":\"URLENCODING =SESSION | UTF8\",\"type\":\"choice\",\"supportSiteInformation\":{\"docsetId\":\"nlsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n1trr8fs1qmrzbn1geqmstftty61.htm\"}},{\"name\":\"URLENCODING=\",\"description\":\"Specifies whether the argument to the URLENCODE function and to the URLDECODE function is interpreted using the SAS session encoding or UTF-8 encoding.\",\"help\":\"URLENCODING= SESSION | UTF8\",\"type\":\"choice\",\"arguments\":[{\"name\":\"SESSION\",\"optional\":true,\"description\":\"specifies that the argument to the URLENCODE function and to the URLDECODE function is interpreted using the SAS session encoding.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0vw8379a6ytxfn1jl24htdsb56v\"},{\"name\":\"UTF8\",\"optional\":true,\"description\":\"specifies that the argument to the URLENCODE function and to the URLDECODE function is interpreted using UTF-8 encoding.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0qmomynvl0dvkn14wl2czchhkti\"}],\"supportSiteInformation\":{\"docsetId\":\"lesysoptsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p1sap4esd54z3dn1wr57aoambtbx.htm\"}},{\"name\":\"USER\",\"description\":\"Specifies the default permanent SAS library.\",\"help\":\"USER ='*pathname*' | *libref*\",\"type\":\"dataSet\",\"arguments\":[{\"name\":\"pathname\",\"optional\":true,\"placeholder\":true,\"description\":\"identifies the directory containing your default permanent SAS library. It must be a directory name.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1uoig52r13e9zn1nd6l31zvicn8\"},{\"name\":\"libref\",\"optional\":true,\"placeholder\":true,\"description\":\"is the libref associated with the directory containing your default permanent SAS library. It must already be assigned.\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"n0acs536nbnsy1n1xrzmguwk9vdk\"}],\"supportSiteInformation\":{\"docsetId\":\"lesysoptsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p1tl8adik7ypwun1utdwxaauf9wq.htm\"}},{\"name\":\"UUIDCOUNT=\",\"description\":\"Specifies the number of UUIDs to acquire from the UUID Generator Daemon.\",\"help\":\"UUIDCOUNT= *n* | MIN | MAX\",\"type\":\"choice\",\"arguments\":[{\"name\":\"n\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the number of UUIDs to acquire. Zero indicates that the UUID Generator Daemon is not required.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1etb7g73nwxtzn0z2m0d5ujl51e\"}],\"supportSiteInformation\":{\"docsetId\":\"lesysoptsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p0pfcxyswgiyamn18shcpspr80d0.htm\"}},{\"name\":\"VALIDFMTNAME=\",\"description\":\"Specifies the maximum size (32 characters or 8 characters) that user-created format and informat names can be before an error or warning is issued.\",\"help\":\"VALIDFMTNAME= LONG | FAIL | WARN\",\"type\":\"choice\",\"arguments\":[{\"name\":\"LONG\",\"optional\":true,\"description\":\"specifies that format and informat names can be up to 32 alphanumeric characters.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0f9htx6vpv0dln1o6yh4sjbfkrp\"},{\"name\":\"FAIL\",\"optional\":true,\"description\":\"specifies that creating a format or informat name that is longer than eight characters results in an error message.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1cookhrppjp88n19a1elcsjwvcd\"},{\"name\":\"WARN\",\"optional\":true,\"description\":\"specifies that creating a format or informat name that is longer than eight characters results in a warning message to remind you that the format or informat cannot be used with releases prior to SAS 9.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1km92fo68op63n1covfdr2ipf52\"}],\"supportSiteInformation\":{\"docsetId\":\"lesysoptsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n1kopotcrfuwy5n1chcjmb8hbmrd.htm\"}},{\"name\":\"VALIDMEMNAME=\",\"description\":\"Specifies the rules for naming SAS data sets, SAS data views, and item stores.\",\"help\":\"VALIDMEMNAME= COMPATIBLE | EXTEND\",\"type\":\"choice\",\"arguments\":[{\"name\":\"COMPATIBLE\",\"optional\":true,\"aliases\":[\"COMPAT\"],\"description\":\"specifies that a SAS data set name, a SAS data view name, or an item store name must follow these rules:\\n• The length of the names can be up to 32 characters.\\n• Names must begin with a letter of the Latin alphabet (A–Z, a–z) or an underscore. Subsequent characters can be letters of the Latin alphabet, numerals, or underscores.\\n• Names cannot contain blanks or special characters except for the underscore.\\n• Names can contain mixed-case letters. SAS internally converts the member name to uppercase. Therefore, you cannot use the same member name with a different combination of uppercase and lowercase letters to represent different variables. For example, customer, Customer, and CUSTOMER all represent the same member name. How the name is saved on disk is determined by the operating environment.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0cjtiem03ltusn119ehg2c2ejqq\"},{\"name\":\"EXTEND\",\"optional\":true,\"description\":\"specifies that a SAS data set name, a SAS data view name, or an item store name must follow these rules:\\n• Names can include national characters.\\n• The name can include special characters, except for the / \\\\ * ? \\\" &lt; &gt; |: -. characters. \\n• The name must contain at least one character (letters, numbers, valid special characters, and national characters).\\n• The length of the name can be up to 32 bytes. \\n• Null bytes are not allowed.\\n• Names cannot begin with a blank or a ‘.’ (the period).\\n• Leading and trailing blanks are deleted when the member is created.\\n• Names can contain mixed-case letters. SAS internally converts the member name to uppercase. Therefore, you cannot use the same member name with a different combination of uppercase and lowercase letters to represent different variables. For example, customer, Customer, and CUSTOMER all represent the same member name. How the name appears is determined by the operating environment.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1p7vhdc00lhman1wuy3oyqmbbkf\"}],\"supportSiteInformation\":{\"docsetId\":\"lesysoptsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n10nwm6blrcrtmn0zdcwyxlwxfjh.htm\"}},{\"name\":\"VALIDVARNAME\",\"description\":\"Specifies the rules for valid SAS column names that can be created and processed during a SAS session.\",\"help\":\"VALIDVARNAME =V7 |  UPCASE |  ANY\",\"type\":\"choice\",\"arguments\":[{\"name\":\"V7\",\"optional\":true,\"description\":\"specifies that column names must follow these rules:\\n• can be up to 32 characters in length.\\n• must begin with a letter of the Latin alphabet (A - Z, a - z) or the underscore character. Subsequent characters can be letters of the Latin alphabet, numerals, or underscores.\\n• cannot contain blanks. \\n• cannot contain special characters except for the underscore.\\n• can contain mixed-case letters. SAS stores and writes the column name in the same case that is used in the first reference to the column. However, when SAS processes a column name, SAS internally converts it to uppercase. You cannot, therefore, use the same column name with a different combination of uppercase and lowercase letters to represent different columns. For example, cat, Cat, and CAT all represent the same column. \\n• cannot be assigned the names of special SAS automatic columns (such as _N_ and _ERROR_) or column list names (such as  _NUMERIC_, _CHARACTER_, and _ALL_).\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n08unxw9idn51cn1v5el42m281xe\"},{\"name\":\"UPCASE\",\"optional\":true,\"description\":\"specifies that the column name follows the same rules as V7, except that the column name is uppercase, as in earlier versions of SAS.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n03figotouezein1v8eb2db461w8\"},{\"name\":\"ANY\",\"optional\":true,\"description\":\"specifies that SAS column names must follow these rules:\\n• can be up to 32 characters in length. \\n• can begin with or contain any characters, including blanks.\\n• can contain mixed-case letters. SAS stores and writes the column name in the same case that is used in the first reference to the column. However, when SAS processes a column name, SAS internally converts it to uppercase. You cannot, therefore, use the same column name with a different combination of uppercase and lowercase letters to represent different columns. For example, cat, Cat, and CAT all represent the same column. \",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1i9o6s2zvle8hn1dgjg9j9g3vbm\"}],\"supportSiteInformation\":{\"docsetId\":\"engfedsrv\",\"docsetVersion\":\"v_004\",\"docsetTargetFile\":\"p1ffkpdm6kbjawn1wvfpgzuzjcbg.htm\"}},{\"name\":\"VALIDVARNAME=\",\"description\":\"Specifies the rules for valid SAS variable names that can be created and processed during a SAS session.\",\"help\":\"VALIDVARNAME= V7 | UPCASE | ANY\",\"type\":\"choice\",\"arguments\":[{\"name\":\"V7\",\"optional\":true,\"description\":\"specifies that variable names must follow these rules:\\n• The name can be up to 32 characters.\\n• The first character must begin with a letter of the Latin alphabet (A - Z, a - z) or the underscore. Subsequent characters can be letters of the Latin alphabet, numerals, or underscores.\\n• Trailing blanks are ignored. The variable name alignment is left-justified. \\n• A variable name cannot contain blanks or special characters except for the underscore.\\n• A variable name can contain mixed-case letters. SAS stores and writes the variable name in the same case that is used in the first reference to the variable. However, when SAS processes a variable name, SAS internally converts it to uppercase. Therefore, you cannot use the same variable name with a different combination of uppercase and lowercase letters to represent different variables. For example, cat, Cat, and CAT all represent the same variable. \\n• Do not assign variables the names of special SAS automatic variables (such as _N_ and _ERROR_) or variable list names (such as  _NUMERIC_, _CHARACTER_, and _ALL_) to variables.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0x48z14jasjk3n1oy357sexxif5\"},{\"name\":\"UPCASE\",\"optional\":true,\"description\":\"specifies that the variable name follows the same rules as V7, except that the variable name is uppercase, as in earlier versions of SAS.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1shphjbrc6zk6n137uog1md8bnx\"},{\"name\":\"ANY\",\"optional\":true,\"description\":\"specifies that SAS variable names must follow these rules:\\n• The name can begin with or contain any characters, including blanks, national characters, special characters, and multi-byte characters.\\n• The name can be up to 32  bytes in length.\\n• The name cannot contain any null bytes.\\n• Leading blanks are preserved, but trailing blanks are ignored.\\n• The name must contain at least one character. A name with all blanks is not permitted.\\n• The name can contain mixed-case letters. SAS stores and writes the variable name in the same case that is used in the first reference to the variable. However, when SAS processes a variable name, SAS internally converts it to uppercase. Therefore, you cannot use the same variable name with a different combination of uppercase and lowercase letters to represent different variables. For example, cat, Cat, and CAT all represent the same variable.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0p95ocgx3357mn1x7c08ngj0k1n\"}],\"supportSiteInformation\":{\"docsetId\":\"lesysoptsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p124dqdk8zoqu3n1r4nsfqu5vx52.htm\"}},{\"name\":\"VARINITCHK=\",\"description\":\"Specifies whether a DATA step stops or continues executing when a variable is not initialized and the type of message to write to the SAS log.\",\"help\":\"VARINITCHK= NONOTE | NOTE | WARN | ERROR\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NONOTE\",\"optional\":true,\"description\":\"specifies that the DATA step continues to execute without writing a message to the SAS log when a variable is not initialized.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0u0esnen134l5n1rntkf2g4fnbt\"},{\"name\":\"NOTE\",\"optional\":true,\"description\":\"specifies that the DATA step continues to execute and writes a note to the SAS log when a variable is not initialized.\",\"help\":\"NOTE \",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0i5f345yiunhzn1leihu0na1x97\"},{\"name\":\"WARN\",\"optional\":true,\"aliases\":[\"WARNING\"],\"description\":\"specifies that the DATA step continues to execute and writes a warning message to the SAS log when a variable is not initialized.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1ecqy84t19kaun1drjgb5qb9oc5\"},{\"name\":\"ERROR\",\"optional\":true,\"description\":\"specifies that the DATA step stops executing and writes an error message to the SAS log when a variable is not initialized.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n14lq9jvgr5b2en1ut2m8yj3n3ij\"}],\"supportSiteInformation\":{\"docsetId\":\"lesysoptsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n039l39682ccgen1xswd1fsfaqk9.htm\"}},{\"name\":\"VARLENCHK=\",\"description\":\"Specifies the type of message to write to the SAS log when inconsistent variable lengths are defined and the input data set is read using the SET, MERGE, UPDATE, or MODIFY statements.\",\"help\":\"VARLENCHK= NOWARN | WARN | ERROR\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NOWARN\",\"optional\":true,\"description\":\"specifies that no warning message is issued when the length of a variable in a data set that is being read is larger than the length that is defined by a length statement or another data set being read in the same data step for the variable.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n13wdx39ibz1don1n85t0g2jd1ck\"},{\"name\":\"WARN\",\"optional\":true,\"description\":\"specifies that a warning is issued when the length of a variable that is being read is larger than the length that is defined for the variable.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1q6p6lznwk9ncn1a0qny8ljdms2\"},{\"name\":\"ERROR\",\"optional\":true,\"description\":\"specifies that an error message is issued when the length of a variable that is being read is larger than the length that is defined for the variable.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1ldhkdcnd5cohn1g1vzvbc3lq8j\"}],\"supportSiteInformation\":{\"docsetId\":\"lesysoptsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n0xwcm523zbueln17krhgsbupntq.htm\"}},{\"name\":\"VBUFSIZE=\",\"description\":\"Specifies the size of the view buffer.\",\"help\":\"VBUFSIZE= *n* | *n*K | *n*M | *n*G | *n*T | *hex*X | MIN | MAX\",\"type\":\"choice\",\"arguments\":[{\"name\":\"n\",\"placeholder\":true,\"description\":\"specifies the size of the view buffer in multiples of 1 (bytes); 1,024 (kilobytes); 1,048,576 (megabytes); 1,073,741,824 (gigabytes); or 1,099,511,627,776 (terabytes). For example, a value of 8 specifies 8 bytes, and a value of 3m specifies 3,145,728 bytes.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n079vmjba8dvchn1rqxvr5gzmetv\"},{\"name\":\"K\",\"description\":\"specifies the size of the view buffer in multiples of 1 (bytes); 1,024 (kilobytes); 1,048,576 (megabytes); 1,073,741,824 (gigabytes); or 1,099,511,627,776 (terabytes). For example, a value of 8 specifies 8 bytes, and a value of 3m specifies 3,145,728 bytes.\",\"help\":\"*n*K\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n079vmjba8dvchn1rqxvr5gzmetv\"},{\"name\":\"M\",\"description\":\"specifies the size of the view buffer in multiples of 1 (bytes); 1,024 (kilobytes); 1,048,576 (megabytes); 1,073,741,824 (gigabytes); or 1,099,511,627,776 (terabytes). For example, a value of 8 specifies 8 bytes, and a value of 3m specifies 3,145,728 bytes.\",\"help\":\"*n*M\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n079vmjba8dvchn1rqxvr5gzmetv\"},{\"name\":\"G\",\"description\":\"specifies the size of the view buffer in multiples of 1 (bytes); 1,024 (kilobytes); 1,048,576 (megabytes); 1,073,741,824 (gigabytes); or 1,099,511,627,776 (terabytes). For example, a value of 8 specifies 8 bytes, and a value of 3m specifies 3,145,728 bytes.\",\"help\":\"*n*G\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n079vmjba8dvchn1rqxvr5gzmetv\"},{\"name\":\"T\",\"description\":\"specifies the size of the view buffer in multiples of 1 (bytes); 1,024 (kilobytes); 1,048,576 (megabytes); 1,073,741,824 (gigabytes); or 1,099,511,627,776 (terabytes). For example, a value of 8 specifies 8 bytes, and a value of 3m specifies 3,145,728 bytes.\",\"help\":\"*n*T\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n079vmjba8dvchn1rqxvr5gzmetv\"},{\"name\":\"X\",\"description\":\"specifies the size of the view buffer as a hexadecimal value. The value must begin with a number (0–9) and must be followed by an X. For example, the value 0fffeX specifies a buffer size of 65,534 bytes.\",\"help\":\"*hex*X\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1te9ss84e0lcmn1u4kw6o3bxbgb\"},{\"name\":\"MIN\",\"description\":\"sets the minimum number of buffers to 0.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1poacutwdobnzn1mty44gwtywtf\"},{\"name\":\"MAX\",\"description\":\"sets the view buffer size to 263–1, or approximately 9.2 quintillion bytes.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p12n1ks7062wkfn19bab9wmg2dvn\"}],\"supportSiteInformation\":{\"docsetId\":\"lesysoptsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n0r851czwyym1qn18sl79j7oafve.htm\"}},{\"name\":\"VNFERR\",\"description\":\"specifies that SAS issue an error when a BY variable exists in one data set but not in another data set when the other data set is _NULL_. This option applies when processing the SET, MERGE, UPDATE, or MODIFY statements. When the error occurs, SAS enters into syntax-check mode.\",\"help\":\"VNFERR  | NOVNFERR \",\"type\":\"choice\",\"arguments\":[{\"name\":\"NOVNFERR\",\"optional\":true,\"description\":\"specifies that SAS issue a warning when a BY variable exists in one data set but not in another data set when the other data set is _NULL_. This option applies when processing the SET, MERGE, UPDATE, or MODIFY statements. When the warning occurs, SAS does not enter into syntax-check mode.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1c8noihpf4modn1jzpfrsc843f3\"}],\"supportSiteInformation\":{\"docsetId\":\"lesysoptsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p1uqbqvb1i87xzn1cntqqxy8wqe0.htm\"}},{\"name\":\"WORKTERM\",\"description\":\"erases the Work files at the termination of a SAS session.\",\"type\":\"standalone\",\"supportSiteInformation\":{\"docsetId\":\"lesysoptsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p182lylgccdsgin14sgkqd4heyiz.htm\"}},{\"name\":\"XCMD\",\"description\":\"specifies that the X command is valid in the current SAS session.\",\"type\":\"standalone\",\"supportSiteInformation\":{\"docsetId\":\"lesysoptsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p10haxmkdtz2n5n1wm4j9zj2v4fw.htm\"}},{\"name\":\"YEARCUTOFF=\",\"description\":\"Specifies the first year of a 100-year span that is used by date informats and functions to read a two-digit year.\",\"help\":\"YEARCUTOFF= *nnnn* | *nnnnn*\",\"type\":\"choice\",\"arguments\":[{\"name\":\"nnnn\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the first year of the 100-year span.\",\"help\":\"*nnnn | nnnnn*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1x0x72q102s5rn1fm7zwckj61xy\"}],\"supportSiteInformation\":{\"docsetId\":\"lesysoptsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n0yt2tjgsd5dpzn16wk1m3thcd3c.htm\"}},{\"name\":\"_LAST_=\",\"description\":\"Specifies the most recently created data set.\",\"help\":\"_LAST_= *SAS-data-set*\",\"type\":\"dataSet\",\"arguments\":[{\"name\":\"SAS-data-set\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies a SAS data set name.\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"n0oekkww7ym9lbn1jk6466me52cr\"}],\"supportSiteInformation\":{\"docsetId\":\"lesysoptsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n1jcqq2r7mbk5xn1nsi74aavcdak.htm\"}}],\"supportSiteInformation\":{\"docsetId\":\"lesysoptsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n0xqwo95drfa24n1hm5nlss33a3s.htm\"}},{\"name\":\"PAGE\",\"description\":\"Skips to a new page in the SAS log.\",\"help\":\"PAGE ;\",\"supportSiteInformation\":{\"docsetId\":\"lestmtsglobal\",\"docsetVersion\":\"v_002\",\"docsetTargetFile\":\"p097onlmum27pgn1er7gup245gs0.htm\"}},{\"name\":\"PATTERN\",\"description\":\"Defines the characteristics of patterns used in maps.\",\"help\":\"PATTERN <1 - 255>\\n<COLOR=pattern-color | _style_>\\n<IMAGE=fileref | \\\"external-file\\\">\\n<IMAGESTYLE=TILE | FIT>\\n<REPEAT=number-of-times>\\n<VALUE=block-pattern | map-pattern >;\",\"arguments\":[{\"name\":\"COLOR=\",\"optional\":true,\"aliases\":[\"C=\"],\"description\":\"specifies the color of the fill. Pattern-color is any SAS/GRAPH color name. The _STYLE_ value specifies the appropriate color based on the current style. See .\",\"help\":\"  COLOR=*pattern-color | _style_*\",\"type\":\"color\",\"supportSiteTargetFragment\":\"n04o3ltoc2fi3dn1qrqbwoqel0oz\"},{\"name\":\"IMAGE=\",\"optional\":true,\"description\":\"specifies an image file that is used to fill one or more areas of a map. The format of the external file specification varies across operating environments. See the companion reference for your specific operating environment.\",\"help\":\"IMAGE=*fileref* | \\\"*external-file*\\\"\",\"type\":\"choice\",\"arguments\":[{\"name\":\"fileref\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"\\\"external-file\\\"\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p0ouxc8y4yh4z9n0zta3rb7wehnz\"},{\"name\":\"IMAGESTYLE=\",\"optional\":true,\"description\":\"specifies how the image specified in the IMAGE= option is to be applied to fill a map. The TILE value repeats the image as needed to fill the map. The FIT value stretches a single instance of the image to fill the map.\",\"help\":\"IMAGESTYLE=TILE | FIT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"TILE\",\"type\":\"standalone\"},{\"name\":\"FIT\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"n060na5p87y9z3n1a9cob434xber\"},{\"name\":\"REPEAT=\",\"optional\":true,\"aliases\":[\"R=\"],\"description\":\"specifies the number of times that a PATTERN definition is applied before the next PATTERN definition is used.\",\"help\":\"REPEAT=*number-of-times*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1wg2ddwanpifkn13587jzn0i44c\"},{\"name\":\"VALUE=\",\"optional\":true,\"description\":\"Patterns are specified for the blocks in block maps produced by the BLOCK statement in the GMAP procedure. (The map area from which the block rises takes a map pattern as described in the option .) See also .\",\"help\":\" VALUE=*block-pattern*\",\"type\":\"value\",\"arguments\":[{\"name\":\"EMPTY\",\"aliases\":[\"E\"],\"description\":\"an empty pattern.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1vgcexrchntspn1jsgg2uyjnnr1\"},{\"name\":\"SOLID\",\"aliases\":[\"S\"],\"description\":\"a solid pattern (the only valid value for three-dimensional charts).\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0zh6voqpu6qf4n1x3suekakou3c\"},{\"name\":\"L\",\"description\":\"specifies left-slanting lines.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1obm23k7vinzgn1cb2mhjp6cm12\"},{\"name\":\"R\",\"description\":\"specifies right-slanting lines.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1m4k5rpudrj21n0z9byk5n4lc7s\"},{\"name\":\"X\",\"description\":\"specifies crosshatched lines.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0qetixvh3cassn1me2oevldd3kq\"}],\"supportSiteTargetFragment\":\"p0d9vjz98piezwn17tccvfvz3ml9\"},{\"name\":\"VALUE=\",\"optional\":true,\"aliases\":[\"V=\"],\"description\":\"specifies patterns for the following:\",\"help\":\"VALUE= *map-pattern*\",\"type\":\"value\",\"arguments\":[{\"name\":\"MEMPTY\",\"aliases\":[\"ME\"],\"description\":\"specifies an empty pattern.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n145i5sbp5dw4wn124ljfmz7700v\"},{\"name\":\"MSOLID\",\"aliases\":[\"MS\"],\"description\":\"specifies a solid pattern.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1k1sfk9zgfql2n130zdz4z3sceo\"},{\"name\":\"M\",\"description\":\"specifies a shaded pattern.\",\"help\":\"M*density*&lt;*style*&lt;*angle*&gt;&gt;\",\"type\":\"value\",\"arguments\":[{\"name\":\"N\",\"description\":\"specifies parallel lines (the default).\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0dtwm6cjywz6bn1xj4bsl4vbtu1\"},{\"name\":\"X\",\"description\":\"specifies crosshatched lines.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1wduh6g3v1vf8n1n9k5nkgwi6uw\"}],\"supportSiteTargetFragment\":\"n1drlfytcz118wn1lgptl7aj8yre\"}],\"supportSiteTargetFragment\":\"p1qlexsc0lbq9xn1lwbh9uldlbe6\"},{\"name\":\"VALUE=\",\"optional\":true,\"aliases\":[\"V=\"],\"description\":\"specifies patterns for pie and star charts produced by the PIE and STAR statements in the GCHART procedure. Values for pie/star-pattern are as follows:\",\"help\":\"VALUE=*pie/star-pattern* \",\"type\":\"value\",\"arguments\":[{\"name\":\"PEMPTY\",\"aliases\":[\"PE\"],\"description\":\"specifies an empty pattern. EMPTY or E are also valid aliases.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1pm3ia46u6qmfn1l34vktekzt4c\"},{\"name\":\"PSOLID\",\"aliases\":[\"PS\"],\"description\":\"specifies a solid pattern. SOLID or S are also valid aliases.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0o667im664hvhn13f3l2c3bx3bd\"},{\"name\":\"P\",\"description\":\"specifies a shaded pattern.\",\"help\":\"P*density*&lt;*style*&lt;*angle*&gt;&gt;\",\"type\":\"value\",\"arguments\":[{\"name\":\"N\",\"description\":\"specifies parallel lines (the default).\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1kfk7epmx3c1an1gpcfrbuxfi0x\"},{\"name\":\"X\",\"description\":\"specifies crosshatched lines.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0bujn313eau29n108h8dik6c1g8\"}],\"supportSiteTargetFragment\":\"n0qyoc7gcqfcgwn1f9324u6dk7cx\"}],\"supportSiteTargetFragment\":\"p05ertj13xgjl3n1qfavk8fegfke\"}],\"supportSiteInformation\":{\"docsetId\":\"grmapref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"p02daopdgx5yh4n1vmffk4ud4697.htm\"}},{\"name\":\"PROCEDURE\",\"description\":\"Begins a procedure (PROC) step. The PROC step consists of a group of SAS statements that call and execute a procedure.\",\"help\":\"PROC *procedure-name*&lt;*options*&gt;;\",\"aliases\":[\"PROC\"],\"supportSiteInformation\":{\"docsetId\":\"lestmtsglobal\",\"docsetVersion\":\"v_002\",\"docsetTargetFile\":\"p03i2x79uxckvgn1ne9nmgm2tfth.htm\"}},{\"name\":\"RESETLINE\",\"description\":\"Restarts the program line numbers in the SAS log to 1.\",\"help\":\"RESETLINE ;\",\"supportSiteInformation\":{\"docsetId\":\"lestmtsglobal\",\"docsetVersion\":\"v_002\",\"docsetTargetFile\":\"n12yrecjoxsozln1rgu8t4h4eo3k.htm\"}},{\"name\":\"RUN\",\"description\":\"Executes the previously entered SAS statements.\",\"help\":\"RUN &lt;CANCEL&gt;;\",\"arguments\":[{\"name\":\"CANCEL\",\"optional\":true,\"description\":\"terminates the current step without executing it. SAS prints a message that indicates that the step was not executed.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n04i358txtlue2n1ibpqfs9dyfz2\"}],\"supportSiteInformation\":{\"docsetId\":\"lestmtsglobal\",\"docsetVersion\":\"v_002\",\"docsetTargetFile\":\"p1t5kfub2r2jkkn1ftqtm8gfkz41.htm\"}},{\"name\":\"SASFILE\",\"description\":\"Opens a SAS data set and allocates enough buffers to hold the entire file in memory.\",\"help\":\"SASFILE <libref.>member-name<.member-type><(password-options)>\\nOPEN |  LOAD |  CLOSE;\",\"arguments\":[{\"name\":\"libref\",\"optional\":true,\"placeholder\":true,\"description\":\"a name that is associated with a SAS library. The libref (library reference) must be a valid SAS name. The default libref is either User (if assigned) or Work (if User is not assigned).\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"n01y98z0bul4p3n1t1wm0bsmh7x2\"},{\"name\":\"member-name\",\"optional\":true,\"placeholder\":true,\"description\":\"a valid SAS name that is a SAS data file. The data file is a member of the SAS library associated with the libref.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n11re0c7mfvy2xn1g5hk35ylv6j1\"},{\"name\":\"member-type\",\"optional\":true,\"placeholder\":true,\"description\":\"the type of SAS file to be opened. A valid value is DATA, which is the default.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0xnem6ftp2tfrn1jfs9t1wipso9\"},{\"name\":\"ENCRYPTKEY=\",\"description\":\"enables the SASFILE statement to open an AES-encrypted SAS data file. If a SAS data file is encrypted with the AES (Advanced Encryption Standard) algorithm, a key value is assigned to the file and must be specified in order to access the file. The key value can be up to 64 bytes long.\",\"help\":\"ENCRYPTKEY=*key-value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1wsla1n0tm67ln1xekeh6g6pseq\"},{\"name\":\"READ=\",\"description\":\"enables the SASFILE statement to open a read-protected file. The password must be a valid SAS name.\",\"help\":\"READ=*password*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0evkycylpit4vn1newn06u1qbax\"},{\"name\":\"WRITE=\",\"description\":\"enables the SASFILE statement to use the WRITE password to open a file that is both read-protected and write-protected. The password must be a valid SAS name.\",\"help\":\"WRITE=*password*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n19wxocz0l4o2dn1uipcnes7f3jg\"},{\"name\":\"ALTER=\",\"description\":\"enables the SASFILE statement to use the ALTER password to open a file that is both read-protected and alter-protected. The password must be a valid SAS name.\",\"help\":\"ALTER=*password*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1emvn90xvm8aln1sfifqjrp44wz\"},{\"name\":\"PW=\",\"description\":\"enables the SASFILE statement to use the password to open a file that is assigned for all levels of protection. The password must be a valid SAS name.\",\"help\":\"PW=*password*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n03kek1o179qtgn1mtuxj7n88hil\"},{\"name\":\"OPEN\",\"optional\":true,\"description\":\"opens the file, allocates the buffers, but defers reading the data into memory until a procedure, statement, or application is executed.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n176okiegxr4pin16qxhanhh4php\"},{\"name\":\"LOAD\",\"optional\":true,\"description\":\"opens the file, allocates the buffers, and reads the data into memory.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0tmjw74k3dfqen16nklqsdysnug\"},{\"name\":\"CLOSE\",\"optional\":true,\"description\":\"frees the buffers and closes the file.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1ho62p5zrm4v8n1dh00k2jrqhzj\"}],\"supportSiteInformation\":{\"docsetId\":\"lestmtsglobal\",\"docsetVersion\":\"v_002\",\"docsetTargetFile\":\"n0osyhi338pfaan1plin9ioilduk.htm\"}},{\"name\":\"SKIP\",\"description\":\"Creates a blank line in the SAS log.\",\"help\":\"SKIP &lt;*n*&gt;;\",\"arguments\":[{\"name\":\"n\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the number of blank lines that you want to create in the log.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0r9mo1i08dtyln1we03pccsx0zw\"}],\"supportSiteInformation\":{\"docsetId\":\"lestmtsglobal\",\"docsetVersion\":\"v_002\",\"docsetTargetFile\":\"n1ntd5bhj24w4hn14tlm0k4crj2e.htm\"}},{\"name\":\"SYMBOL\",\"description\":\"Defines the characteristics of symbols that display the data plotted by a PLOT statement used by the GBARLINE, GCONTOUR, and GPLOT procedures.\",\"help\":\"SYMBOL <1 - 255>\\n<COLOR=symbol-color | _style_>\\n<MODE=EXCLUDE | INCLUDE>\\n<REPEAT=number-of-times>\\n<STEP=distance<units>>\\n<BWIDTH=box-width>\\n<CI=line-color | _style_>\\n<CO=color>\\n<CV=value-color | _style_>\\n<FONT=\\\"font\\\">\\n<HEIGHT=symbol-height<units>>\\n<LINE=line-type>\\n<POINTLABEL<=(label-description(s)) | NONE>>\\n<VALUE=special-symbol | text-string | SPECIAL | NONE>\\n<WIDTH=thickness-factor>\\n<INTERPOL=interpolation-option>\\n<SINGULAR=n>;\",\"arguments\":[{\"name\":\"BWIDTH=\",\"optional\":true,\"description\":\"specifies the width of the box generated by either the INTERPOL=BOX or INTERPOL=HILOB option.\",\"help\":\"BWIDTH=*box-width*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n02p4tzb5hk641n0zwbo4zdv7asf\"},{\"name\":\"CI=\",\"optional\":true,\"description\":\"specifies a color for an interpolation line (GPLOT and GBARLINE) or a contour line (GCONTOUR).\",\"help\":\"CI=*line-color* | _style_\",\"type\":\"choice\",\"arguments\":[{\"name\":\"line-color\",\"placeholder\":true,\"type\":\"color\"},{\"name\":\"_style_\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"n04n977e7tekl4n1jy44l69nbtjl\"},{\"name\":\"CO=\",\"optional\":true,\"description\":\"specifies a color for outlines of filled areas, confidence limit lines, and staffs, boxes, and bars.\",\"help\":\"CO=*color*\",\"type\":\"color\",\"supportSiteTargetFragment\":\"n00b7y6f0joc10n150c72w2ai8qn\"},{\"name\":\"COLOR=\",\"optional\":true,\"aliases\":[\"C=\"],\"description\":\"specifies a color for the entire definition, unless it is followed by a more explicit specification.\",\"help\":\"COLOR=*symbol-color* | _style_\",\"type\":\"choice\",\"arguments\":[{\"name\":\"symbol-color\",\"placeholder\":true,\"type\":\"color\"},{\"name\":\"_style_\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"p1jnbjpskdeht0n1vtd683vnhb4g\"},{\"name\":\"CV=\",\"optional\":true,\"description\":\"specifies a color for plot symbols, filled areas, and contour labels.\",\"help\":\"CV=*value-color* | _style_\",\"type\":\"choice\",\"arguments\":[{\"name\":\"value-color\",\"placeholder\":true,\"type\":\"color\"},{\"name\":\"_style_\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"n0oq668m0pdjbvn1ump9zn66oig4\"},{\"name\":\"FONT=\",\"optional\":true,\"aliases\":[\"F=\"],\"description\":\"specifies the font for the plot symbol (GPLOT, GBARLINE) or contour labels (GCONTOUR) specified by the VALUE= option.\",\"help\":\"FONT=\\\"*font*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0gbo6t6byr0qsn1nikjlrjow94e\"},{\"name\":\"HEIGHT=\",\"optional\":true,\"aliases\":[\"H=\"],\"description\":\"specifies the height in number of units of plot symbols (GPLOT, GBARLINE) or contour labels (GCONTOUR).\",\"help\":\"HEIGHT=*symbol-height*&lt;*units*&gt; \",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1cq6mdq1ipxhdn15d21ixbbvwvn\"},{\"name\":\"INTERPOL=\",\"optional\":true,\"aliases\":[\"I=\"],\"description\":\"specifies the interpolation method for the plot.\",\"help\":\"INTERPOL=*specification*\",\"type\":\"value\",\"arguments\":[{\"name\":\"BOX\",\"description\":\"produces box-and-whisker plots.\",\"help\":\"BOX&lt;*options*&gt;&lt;*00* - *25*&gt;\",\"type\":\"standaloneOrValue\",\"arguments\":[{\"name\":\"F\",\"description\":\"fills the box with the color specified by CV= and outlines the box with the color specified by CO=\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p13wor1612f2oin1n6gq8xf3p72y\"},{\"name\":\"J\",\"description\":\"joins the median points of the boxes with a line\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0v7siwyu3727vn1iq0i1bpgsoq7\"},{\"name\":\"T\",\"description\":\"draws tops and bottoms on the whiskers.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0wguge6gwmjg2n0zhnu97o1lidi\"},{\"name\":\"00\",\"description\":\"specifies high or low extremes. INTERPOL=BOX00 is not the same as the default, INTERPOL=BOX.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1vod162zyk22xn1vw1imbdn00q9\"},{\"name\":\"01\",\"description\":\"specifies 1st percentile low, 99th high.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n183r1ms4vitlln1len98ccre8k4\"},{\"name\":\"05\",\"description\":\"specifies 5th percentile low, 95th high.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1xr0t0pgmsyqbn1wvjmbbn0hnbo\"},{\"name\":\"10\",\"description\":\"specifies 10th percentile low, 90th high.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0lbgnksxko6r2n10xr2bex390q8\"},{\"name\":\"25\",\"description\":\"specifies 25th percentile low, 75th high. Because the box extends from the 25th to the 75th percentile, no whiskers are produced.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p102knsuidt3sqn1qwztxscz2wfe\"}],\"supportSiteTargetFragment\":\"p0s9xa3ttb7bxwn1q8ncucohyqbs\"},{\"name\":\"HILO\",\"description\":\"specifies that a solid vertical line connect the minimum and maximum Y values for each X value.\",\"help\":\"HILO&lt;C&gt;&lt;*option*&gt;\",\"type\":\"standaloneOrValue\",\"arguments\":[{\"name\":\"C\",\"description\":\"draws tick marks at the close value instead of at the mean value. Specifying C assumes that there are three values of Y (HIGH, LOW, and CLOSE) for every value of X. If more or fewer than three Y values are specified, the mean is ticked. The Y values can be in any order in the input data set.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0luv0bpkmgj7tn1nt0x7vrqe7t7\"},{\"name\":\"B\",\"description\":\"connects the minimum and maximum Y values with bars instead of lines. Use the BWIDTH= option to increase the width of the bars.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0t2wy5rae5ssan1sarxaflt67q6\"},{\"name\":\"J\",\"description\":\"joins the mean values or the close values (if HILOC is specified) with a line. This point is not marked with a tick mark. You cannot use the PLOT statement option AREAS= with INTERPOL=HILOJ.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1t5r3u9ak0y53n1sg7sdt1hiz0x\"},{\"name\":\"T\",\"description\":\"adds tops and bottoms to each line.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0xa068m3mx4sun1wze1c3scqdq3\"},{\"name\":\"BJ\",\"description\":\"connects maximum and minimum values with a bar and joins the mean or close values.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1xwa8234l60i6n1lk5hcjw6cegm\"},{\"name\":\"TJ\",\"description\":\"adds tops and bottoms to the lines and joins the mean or close values.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p12ia0rnejsaton13vh185vwf0w8\"}],\"supportSiteTargetFragment\":\"n1hhluwiy9a1k0n1u67l466ujo29\"},{\"name\":\"JOIN\",\"description\":\"connects data points with straight lines.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1icq6av9uv5ypn1f4852d7yb853\"},{\"name\":\"L\",\"description\":\"specifies a Lagrange interpolation to smooth the plot line.\",\"help\":\"L&lt;*degree*&gt;&lt;P&gt;&lt;S&gt;\",\"type\":\"standaloneOrValue\",\"arguments\":[{\"name\":\"1\",\"description\":\"specifies the degree of the Lagrange interpolation polynomial. By default, degree is 1.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1k5t2d97mx4idn1i3cis5fj5ah2\"},{\"name\":\"3\",\"description\":\"specifies the degree of the Lagrange interpolation polynomial. By default, degree is 1.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1k5t2d97mx4idn1i3cis5fj5ah2\"},{\"name\":\"5\",\"description\":\"specifies the degree of the Lagrange interpolation polynomial. By default, degree is 1.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1k5t2d97mx4idn1i3cis5fj5ah2\"},{\"name\":\"P\",\"description\":\"specifies a parametric interpolation.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1rmbvn2qhpxzon11496e1fjldph\"},{\"name\":\"S\",\"description\":\"sorts a data set by the independent variable before plotting its data.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1t8jsy6983mwbn14qh84z23l6ds\"}],\"supportSiteTargetFragment\":\"n09ehr75ikuafkn1mysieuawouw7\"},{\"name\":\"MEMPTY\",\"aliases\":[\"ME\"],\"description\":\"specifies an empty pattern. EMPTY and E are valid aliases.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0m95c0y5y1dw3n1o5n4nuqmh94v\"},{\"name\":\"MSOLID\",\"aliases\":[\"MS\"],\"description\":\"specifies a solid pattern. SOLID and S are valid aliases\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p182c4a10rox30n1nl88atmaojtl\"},{\"name\":\"M\",\"description\":\"specifies a shaded pattern.\",\"help\":\"M*density*&lt;*style*&lt;*angle*&gt;&gt;\",\"type\":\"value\",\"arguments\":[{\"name\":\"N\",\"description\":\"specifies parallel lines (the default)\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0sd9qq9poes7rn1qnc04qc9yo5y\"},{\"name\":\"X\",\"description\":\"specifies crosshatched lines.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1kyk7ipjmwkven1419irojvjhoy\"}],\"supportSiteTargetFragment\":\"n1tcwtjk00vxydn1ee86ge70jdbl\"},{\"name\":\"NEEDLE\",\"description\":\"draws a vertical line from each data point to a horizontal line at the 0 value on the vertical axis or the minimum value on the vertical axis.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1m9qrpgcucjdin1lti24hzoc0qg\"},{\"name\":\"NONE\",\"description\":\"suppresses any interpolation and, if the VALUE= option is not specified, also suppresses plot points.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0ysu65j14moksn1o5thew6j2a6t\"},{\"name\":\"R\",\"description\":\"specifies that a plot is a regression analysis.\",\"help\":\"R&lt;*type*&gt;&lt;*0*&gt;CLM | CLI&lt;*50* – *99*&gt;\",\"type\":\"standaloneOrValue\",\"arguments\":[{\"name\":\"L\",\"description\":\"requests linear regression representing the regression equation\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0wx6kq89easjbn1fsssbxnx6k7p\"},{\"name\":\"Q\",\"description\":\"requests quadratic regression representing the regression equation\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p176se0sjzd5w6n10ljuuedulguq\"},{\"name\":\"C\",\"description\":\"requests cubic regression representing the regression equation\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1u7klvlyeap4hn17vduy4q1fyd0\"},{\"name\":\"0\",\"description\":\"eliminates the β 0 parameter, or intercept, from the regression equation. If the origin is at (0,0), also forces the regression line through the origin. For example, if you specify 0 for a linear regression, the plot line represents the equation\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1q36blo54tva8n1f2631cr1kk2g\"},{\"name\":\"CLM\",\"description\":\"displays confidence limits for mean predicted values.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1vfoopxjvtxown1d5y6kqeu0shg\"},{\"name\":\"CLI\",\"description\":\"displays confidence limits for individual predicted values.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n06ok5ulhdgnudn10plva7ihk6fy\"}],\"supportSiteTargetFragment\":\"n19t7h5je4qettn11581ry83fmm0\"},{\"name\":\"SM\",\"description\":\"specifies that a smooth line is fit to data using a spline routine.\",\"help\":\"SM&lt;*n*&gt;&lt;P&gt;&lt;S&gt;\",\"type\":\"standaloneOrValue\",\"arguments\":[{\"name\":\"0\",\"placeholder\":true,\"description\":\"produces a cubic spline that minimizes a linear combination of the sum of squares of the residuals of fit and the integral of the square of the second derivativeC.H. Reinsch, “Smoothing by Spline Functions,” Numerische Mathematik 10 (1967): 177–183.. The greater the nn value, the smoother the fitted curve. By default, the value of nn is 0.\",\"help\":\"&lt;*0*&gt; - &lt;*99*&gt;\",\"type\":\"standaloneOrValue\",\"supportSiteTargetFragment\":\"n1b5ltge6y3pj9n186j1g3byueb1\"},{\"name\":\"P\",\"description\":\"specifies a parametric cubic spline.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n11tl1l2l39vifn1af9l2hd2wlje\"},{\"name\":\"S\",\"description\":\"sorts data by the independent variable before plotting.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1mfamuoofu4ftn0zuqam9lf599j\"}],\"supportSiteTargetFragment\":\"p115cutvcmx2dln1cdo96duwmxru\"},{\"name\":\"SPLINE\",\"description\":\"specifies that the interpolation for the plot line use a spline routine.\",\"help\":\"SPLINE&lt;P&gt;&lt;S&gt;\",\"type\":\"standaloneOrValue\",\"arguments\":[{\"name\":\"P\",\"description\":\"specifies a parametric spline interpolation method. This interpolation uses a parametric spline method with continuous second derivatives. Using the method described earlier for the spline interpolation, a parametric spline is fitted to both the horizontal and vertical values. The parameter used is the distance between points\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0jd99nwwaxbk6n1hf8w6xc1icpr\"},{\"name\":\"S\",\"description\":\"sorts a data set by the independent variable before plotting its data.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p17jczb0vj2ee4n1iya9jgo1truw\"}],\"supportSiteTargetFragment\":\"p1ko1hq3myju99n1eq4otfhpx2hw\"},{\"name\":\"STD\",\"description\":\"specifies that a solid line connect the mean Y value with ± 1, 2, or 3 standard deviations for each X.\",\"help\":\"STD&lt;1 | 2 | 3&gt; &lt;*variance*&gt; &lt;*options*&gt;\",\"type\":\"standaloneOrValue\",\"arguments\":[{\"name\":\"M\",\"description\":\"computes s sub y with macron above end sub sy¯ .\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1oken07vkp1ahn10ofykqroapza\"},{\"name\":\"P\",\"description\":\"computes sample variances using a pooled estimate, as in a one-way ANOVA model.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0t5byow1xxjqyn1o1fu9umfcqs8\"},{\"name\":\"B\",\"description\":\"connects the minimum and maximum Y values with bars instead of lines.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1mhi8ivtv3xk8n1ed6j4a141o9e\"},{\"name\":\"J\",\"description\":\"connects the means from bar to bar with a line.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0gqnbmhvn5erhn1pgmw5no0ebq7\"},{\"name\":\"T\",\"description\":\"adds tops and bottoms to each line.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0jdrtlosiwo2an1ls0whfjuacb3\"},{\"name\":\"BJ\",\"description\":\"connects maximum and minimum values with a bar and joins the mean values.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p07ehoj8sw46ywn1vsxs5sksd0kj\"},{\"name\":\"TJ\",\"description\":\"adds tops and bottoms to the lines and joins the mean values.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1aq6dkuiipbekn1ivgukk8vbaa5\"}],\"supportSiteTargetFragment\":\"p0og37mgy94pe6n1hvrh986m3o6u\"},{\"name\":\"STEP\",\"description\":\"specifies that the data are plotted with a step function.\",\"help\":\"STEP&lt;*placement*&gt;&lt;J&gt;&lt;S&gt;\",\"type\":\"standaloneOrValue\",\"arguments\":[{\"name\":\"L\",\"description\":\"displays the data point on the left of the step.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n19h3zrfscx2g0n1uk8gydwo8fxz\"},{\"name\":\"R\",\"description\":\"displays the data point on the right of the step.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1jz8hw1yzqihtn189i0k7fai8ao\"},{\"name\":\"C\",\"description\":\"displays the data point in the center of the step.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0r1mog9t7qyj1n1hejvsc8jkkb8\"},{\"name\":\"J\",\"description\":\"produces steps joined with a vertical line.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0pop7b1gg5ug5n1r02e6v924pcm\"},{\"name\":\"S\",\"description\":\"sorts unordered data by the independent variable before plotting.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0o35daqtjs6m7n1kt8oi1haja2t\"}],\"supportSiteTargetFragment\":\"p164p0ukswivrln10anczwsxig2z\"}],\"supportSiteTargetFragment\":\"p01mh5gvhcxjj6n11m8ecvddb563\"},{\"name\":\"LINE=\",\"optional\":true,\"aliases\":[\"L=\"],\"description\":\"specifies the line type of plot or contour lines.\",\"help\":\"LINE=*line-type*\",\"type\":\"value\",\"arguments\":[{\"name\":\"1\",\"description\":\"specifies a solid line.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1h3ygbmyhkll8n1qj46qyn8p6th\"},{\"name\":\"2\",\"placeholder\":true,\"description\":\"specifies a dashed line.\",\"help\":\"*2* - *46*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n09slygopzwk2dn11y3p945k4ih3\"}],\"supportSiteTargetFragment\":\"n108liiibqxas8n1f154z3dh544j\"},{\"name\":\"MODE=\",\"optional\":true,\"description\":\"specifies that any interpolation method exclude or include data values that are outside the range of plot axes.\",\"help\":\"MODE=EXCLUDE | INCLUDE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"EXCLUDE\",\"type\":\"standalone\"},{\"name\":\"INCLUDE\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"p0orq2ncx12uypn1pdjt5x3xz0xa\"},{\"name\":\"POINTLABEL\",\"optional\":true,\"description\":\"labels plot points.\",\"help\":\"POINTLABEL&lt;=(*label-description(s)*) | NONE&gt;\",\"type\":\"standaloneOrValue\",\"arguments\":[{\"name\":\"COLOR=\",\"aliases\":[\"C=\"],\"description\":\"specifies the color of the label text.\",\"help\":\"COLOR=*text-color*\",\"type\":\"color\",\"supportSiteTargetFragment\":\"p0u7iuiw9kww8pn1ekwfaiwccjy0\"},{\"name\":\"DROPCOLLISIONS\",\"description\":\"specify DROPCOLLISIONS to drop new labels if they collide with a label already in use. Specify NODROPCOLLISIONS to retain all labels. The default is DROPCOLLISIONS.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0s11pty4r7jugn1dp8972n2joyp\"},{\"name\":\"NODROPCOLLISIONS\",\"description\":\"specify DROPCOLLISIONS to drop new labels if they collide with a label already in use. Specify NODROPCOLLISIONS to retain all labels. The default is DROPCOLLISIONS.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0s11pty4r7jugn1dp8972n2joyp\"},{\"name\":\"FONT=\",\"aliases\":[\"F=\"],\"description\":\"specifies the font for the text. See for details about specifying font. If you omit FONT=, a font specification is searched for in this order:\",\"help\":\"FONT=*font* | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"font\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"NONE\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"n0cyybny3o86d1n1tkcfh2d0zqur\"},{\"name\":\"HEIGHT=\",\"aliases\":[\"H=\"],\"description\":\"specifies the height of the text characters in number of units. By default, HEIGHT=1 CELL. If you omit HEIGHT=, a text height specification is searched for in this order:\",\"help\":\"HEIGHT=*text-height* &lt;*units*&gt;\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0cl2vs3tn8iasn17s1xn7j6gu03\"},{\"name\":\"JUSTIFY=\",\"aliases\":[\"J=C | L | R\"],\"description\":\"specifies the horizontal alignment of the label text. The default is CENTER. The location of the point label is relative to the location of the corresponding data point.\",\"help\":\"JUSTIFY=CENTER | LEFT | RIGHT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"CENTER\",\"type\":\"standalone\"},{\"name\":\"LEFT\",\"type\":\"standalone\"},{\"name\":\"RIGHT\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"n0gs8zoqwvxvo6n1u5ou1t5x2krp\"},{\"name\":\"POSITION=\",\"description\":\"specifies the vertical placement of the label text. The default is TOP. The location of the point label is relative to the location of the corresponding data point.\",\"help\":\"POSITION=TOP | MIDDLE | BOTTOM\",\"type\":\"choice\",\"arguments\":[{\"name\":\"TOP\",\"type\":\"standalone\"},{\"name\":\"MIDDLE\",\"type\":\"standalone\"},{\"name\":\"BOTTOM\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"n014nqfqunuf9zn19cfkb9j6b6v6\"},{\"name\":\"\\\"#1\\\"\",\"description\":\"specifies the variable or variables whose values label the plot points, and the delimiter between more than one variable. The variable specification must be enclosed in either single or double quotation marks. The first specified variable must be prefixed with a number sign (#). If a second variable is specified, it must be prefixed with a colon and a number sign (:#). When you specify two variables, you can also specify the character to display as the delimiter between variable values in the plot label.\",\"help\":\"\\\"#*var*1&lt;:#*var*2 &lt;$*char*&gt;&gt;\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0vkzooixic7cqn1o6hc1vqlsmod\"}],\"supportSiteTargetFragment\":\"n0cre4yj257uwcn1xssqoburdt73\"},{\"name\":\"REPEAT=\",\"optional\":true,\"aliases\":[\"R=\"],\"description\":\"specifies the number of times that a SYMBOL definition is applied before the next SYMBOL definition is used.\",\"help\":\"REPEAT=*number-of-times*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p11k32xnmc701mn1sb6dw9rzy983\"},{\"name\":\"SINGULAR=\",\"optional\":true,\"description\":\"tunes the algorithm used to check for singularities.\",\"help\":\"SINGULAR=*n*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1w8xph2t1toann17bedym1ata51\"},{\"name\":\"STEP=\",\"optional\":true,\"description\":\"specifies the minimum distance between labels on contour lines\",\"help\":\"STEP=*distance*&lt;*units*&gt;\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0ccwxikpqew7mn17qkwtym9dxog\"},{\"name\":\"VALUE=\",\"optional\":true,\"aliases\":[\"V=\"],\"description\":\"specifies a plot symbol for the data points (GPLOT and GBARLINE).\",\"help\":\"VALUE=*special-symbol* | *text-string* | SPECIAL | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"special-symbol\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"text-string\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"SPECIAL\",\"type\":\"standalone\"},{\"name\":\"NONE\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"n1kt409x0myisxn147luxlgitewi\"},{\"name\":\"WIDTH=\",\"optional\":true,\"aliases\":[\"W=\"],\"description\":\"specifies the thickness of interpolated lines (GPLOT) or contour lines (GCONTOUR).\",\"help\":\"WIDTH=*thickness-factor*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n02xzz0jasbx3vn0z95wscr4uw9w\"}],\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"n0c0j84n1e2jz9n1bhkn41o3v0d6.htm\"}},{\"name\":\"SYSECHO\",\"description\":\"Sends a global statement complete event and passes a text string back to the IOM client.\",\"help\":\"SYSECHO &lt;\\\"*text*\\\"&gt; ;\",\"arguments\":[{\"name\":\"\\\"text\\\"\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies a text string that is passed back to the IOM client.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0r8y8w5n78tesn176cas6xz25ow\"}],\"supportSiteInformation\":{\"docsetId\":\"lestmtsglobal\",\"docsetVersion\":\"v_002\",\"docsetTargetFile\":\"p1h1e01yyff0fon1iyh0mk51maf2.htm\"}},{\"name\":\"SYSTASK\",\"description\":\"Issues an operating-environment command from a SAS session that executes, lists, or terminates asynchronous tasks.\",\"help\":\"SYSTASK  COMMAND                 \\\"operating environment command\\\"<WAIT  | NOWAIT><TASKNAME=taskname><MNAME=name-variable><STATUS=status-variable><SHELL=\\\"shell-command\\\"><CLEANUP>;\\nSYSTASK LIST <_ALL_|taskname><STATE><STATVAR>;\\nSYSTASK  KILL                 taskname<taskname>;\",\"arguments\":[{\"name\":\"COMMAND\",\"description\":\"executes the operating–environment-command.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1qzogwyz72iu5n1wfv1cjv055i1\"},{\"name\":\"LIST\",\"description\":\"lists either a specific active task or all of the active tasks in the system. A task is active if it is running or if it has completed and has not been waited for using the WAITFOR statement.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0jy4y73m38wajn1g3ddn2w1nsa5\"},{\"name\":\"KILL\",\"description\":\"forces the termination of the specified tasks.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0tbphbevgmr68n1sywa6kdp0zx1\"},{\"name\":\"operating-environment-command\",\"placeholder\":true,\"description\":\"specifies the name of a Linux command (including any command-specific options) or the name of an X window system application. Enclose the command in either single or double quotation marks. If the command-specific options require quotation marks, repeat them for each option. For example:\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1nfbchg5x9yfmn185pwz95pia12\"},{\"name\":\"_ALL_\",\"optional\":true,\"description\":\"specifies all active tasks in the system.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0xcesgcmbolu3n1sufe2ta61ux1\"},{\"name\":\"CLEANUP\",\"optional\":true,\"description\":\"specifies that the task should be removed from the LISTTASK output when the task completes. Once the task is removed, you can reuse the task name without issuing the WAITFOR statement.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1abp9ah4h4v24n18keb775ck9rm\"},{\"name\":\"MNAME=\",\"optional\":true,\"description\":\"specifies a macro variable that you want SYSTASK to store the task name that it automatically generated for the task. If you specify both the TASKNAME option and the MNAME option, SYSTASK copies the name that you specified with TASKNAME into the variable that you specified with MNAME.\",\"help\":\"MNAME=name-variable\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1lnvp8rpvhkv1n1dg2poosf043m\"},{\"name\":\"SHELL=\",\"optional\":true,\"description\":\"specifies that the operating-environment-command should be executed with the operating system shell command. The shell expands shell special characters that are contained in the operating-environment-command. If you specify a shell-command, SYSTASK uses the shell command that you specify to invoke the shell. Otherwise, SYSTASK uses the default shell. Enclose the shell command in quotation marks.\",\"help\":\"SHELL=\\\"shell-command\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0ohfmqp8nne54n1evemlwjdts7v\"},{\"name\":\"STATE\",\"optional\":true,\"description\":\"displays the status of the task, which can be Start Failed, Running, or Complete.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0qjve4h7ugmlan1dz85fjfvh2h1\"},{\"name\":\"STATUS=\",\"optional\":true,\"description\":\"specifies a macro variable that you want SYSTASK to store the status of the task. Status variable names must be unique among all active tasks.\",\"help\":\"STATUS=status-variable\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n13lk34070le9yn1sb0dfwh68q1o\"},{\"name\":\"STATVAR\",\"optional\":true,\"description\":\"displays the status variable associated with the task. The status variable is the variable that you assigned with the STATUS option in the SYSTASK COMMAND statement.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1dm9olyde13irn1gxuwpqgn4p5w\"},{\"name\":\"TASKNAME=\",\"optional\":true,\"description\":\"specifies a name that identifies the task. Task names must be unique among all active tasks. A task is active if it is running or if it has completed and has not been waited for using the WAITFOR statement. Duplicate task names generate an error in the SAS log. If you do not specify a task name, SYSTASK automatically generates a name. If the task name contains a blank character, enclose it in quotation marks.\",\"help\":\"TASKNAME=taskname\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1mzihwee0k9jzn19j3werz1uo65\"},{\"name\":\"WAIT\",\"optional\":true,\"description\":\"specifies whether SYSTASK COMMAND suspends execution of the current SAS session until the task has completed. NOWAIT is the default. For tasks that start with the NOWAIT option, you can use the WAITFOR statement when necessary to suspend execution of the SAS session until the task has finished.\",\"help\":\"WAIT | NOWAIT\",\"type\":\"choice\",\"supportSiteTargetFragment\":\"p1p3fipxmirfcbn10f6bnb9cg6he\"}],\"supportSiteInformation\":{\"docsetId\":\"lestmtsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n0gwoo4ja428ssn1y27zw1mhvb5f.htm\"}},{\"name\":\"TITLE\",\"description\":\"Controls the content, appearance, and placement of text in a title.\",\"help\":\"TITLE &lt;*1*-*10*&gt;&lt;*ods-format-options*&gt;&lt;*text-options*&gt;&lt;'*text-string*'&gt;;\",\"arguments\":[{\"name\":\"1–10\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the relative line that contains the title text.\",\"type\":\"standaloneOrValue\",\"supportSiteTargetFragment\":\"n0s2e9sxcbgyf2n1gzhtnimlqt5j\"},{\"name\":\"BCOLOR=\",\"aliases\":[\"BC=\"],\"description\":\"specifies the background color of the title block.\",\"help\":\"BCOLOR=*color*\",\"type\":\"color\",\"supportSiteTargetFragment\":\"n0kc4hyhp9dcj9n197ot0p0am06m\"},{\"name\":\"BOLD\",\"description\":\"specifies that the font weight is bold for the text string.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0m6co8xjdmblin1vn9730v2lv6x\"},{\"name\":\"COLOR=\",\"aliases\":[\"C=\"],\"description\":\"specifies the color for the text. You can specify colors using a number of different color-naming schemes. For more information, see .\",\"help\":\"COLOR=*color*\",\"type\":\"color\",\"supportSiteTargetFragment\":\"n16nvpkbg1qvtrn1k7kh1mreuvvk\"},{\"name\":\"FONT=\",\"aliases\":[\"F=\"],\"description\":\"specifies the system font to use for the subsequent text string. If you supply multiple fonts, then the destination device uses the first one that is installed on your system.\",\"help\":\"FONT=’*system-font*’\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1w91yij5wo7xon1s6dv7pibgcwv\"},{\"name\":\"HEIGHT=\",\"aliases\":[\"H=\"],\"description\":\"specifies the size of the text. You can also specify the unit of measurement. Without a unit of measure, the number becomes a relative size.\",\"help\":\"HEIGHT=*numeric-value*&lt;*units*&gt;\",\"type\":\"value\",\"arguments\":[{\"name\":\"numeric-value\",\"placeholder\":true,\"description\":\"The value of size is relative to all other font sizes in the HTML document.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0xdqisyqq0sv7n16k9rl1j2zwze\"},{\"name\":\"units\",\"placeholder\":true,\"description\":\"is a nonnegative number.\",\"type\":\"standaloneOrValue\",\"supportSiteTargetFragment\":\"n09eg03m42vzain1n3zg70ckb0q1\"}],\"supportSiteTargetFragment\":\"n0nlwx11bg8vien14hsxvggl978t\"},{\"name\":\"ITALIC\",\"description\":\"specifies that the font style is italic for the text string.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1pwfc7bqnm4bmn1nqckheqfizy2\"},{\"name\":\"JUSTIFY=\",\"aliases\":[\"J=\"],\"description\":\"specifies the alignment of the text string. You can specify one of the following values:\",\"help\":\"JUSTIFY= LEFT | CENTER | RIGHT\",\"type\":\"choice\",\"arguments\":[{\"name\":\"LEFT\",\"aliases\":[\"L\"],\"description\":\"aligns the text to the left.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p15vxvh2p9biupn1k1ygub6moxr2\"},{\"name\":\"CENTER\",\"aliases\":[\"C\"],\"description\":\"aligns the text in the center.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0vblqoh6vxkftn0zb3vr5o5g41d\"},{\"name\":\"RIGHT\",\"aliases\":[\"R\"],\"description\":\"aligns the text to the right.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n12elxsb852ifdn17acgz8lueg0l\"}],\"supportSiteTargetFragment\":\"n1e93bqyyg0bwdn1k1b3kpz6ct5l\"},{\"name\":\"LINK=\",\"description\":\"specifies a uniform resource locator (URL) to which a title links.\",\"help\":\"LINK='*URL*' \",\"type\":\"value\",\"supportSiteTargetFragment\":\"p03v4xperyzt11n1jm31dewkn8iy\"},{\"name\":\"UNDERLIN=\",\"aliases\":[\"U=\"],\"description\":\"specifies whether the subsequent text is underlined. UNDERLIN=0 indicates no underlining. Values 1, 2, and 3 indicate the same type of underlining.\",\"help\":\"UNDERLIN=*0*-*3*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0a3547e24twntn1j8r95j0indb8\"},{\"name\":\"ALT=\",\"description\":\"specifies descriptive text for a URL to which a title links, or the title itself.\",\"help\":\" ALT=*‘text-string’*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0f2pcqvn57ma8n1jteu9h1nk6sh\"},{\"name\":\"ANGLE=\",\"aliases\":[\"A=\"],\"description\":\"specifies the angle of the baseline of the entire text string with respect to the horizontal.\",\"help\":\" ANGLE=*degrees*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n03w104hln6n63n1uu3djg17s90s\"},{\"name\":\"BLANK=\",\"aliases\":[\"BL=\"],\"description\":\"protects the box and its contents from being overwritten by any subsequent graphics elements.\",\"help\":\"  BLANK=YES \",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1oewomiklx7y0n1c1msqao95lj5\"},{\"name\":\"BOX=\",\"aliases\":[\"BO=\"],\"description\":\"draws a box around one line of text.\",\"help\":\"  BOX=1-4  \",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1l5bhu2pq7enen1jc3e4fs6ry8e\"},{\"name\":\"BSPACE=\",\"aliases\":[\"BS=\"],\"description\":\"specifies the amount of space between the text and the border of a box that you create with the BOX= option.\",\"help\":\" BSPACE=*numeric-value*&lt;*units*&gt;\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n11qdyh0316y8yn1vphpx24ayffa\"},{\"name\":\"DRAW=\",\"aliases\":[\"D=\"],\"description\":\"draws lines anywhere on the graphics output area.\",\"help\":\" DRAW=(*x,y* -,*x-n,y-n*)&lt;*units*&gt;\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1fxnbn32mt2esn1swosxddhmocx\"},{\"name\":\"LANGLE=\",\"aliases\":[\"LA=\"],\"description\":\"specifies the angle of one or more than one entire text-string.\",\"help\":\" LANGLE=*degrees*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1fytzst9qzln2n17mz92v5pmkqo\"},{\"name\":\"LSPACE=\",\"aliases\":[\"LS=\"],\"description\":\"specifies the amount of space above lines of title text.\",\"help\":\" LSPACE=*line-space* &lt;*units*&gt;\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0up3xh6wzh1wan16f9shto3lcpg\"},{\"name\":\"MOVE=\",\"aliases\":[\"M=\"],\"description\":\"positions a text string.\",\"help\":\"  MOVE=(*x*,*y*) &lt;*units*&gt;\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0eeig8v7c7fben1fsvj5qbzbjhx\"},{\"name\":\"ROTATE=\",\"aliases\":[\"R=\"],\"description\":\"specifies the angle at which each character of text is rotated.\",\"help\":\" ROTATE=*degrees*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n09perkpjhvagln1rv57yos1q9ys\"},{\"name\":\"WRAP\",\"description\":\"wraps a text string containing a blank to a second line if the text does not fit on one line.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1n713cqxi1p9fn1qhq2lm29h5xf\"},{\"name\":\"'text-string'\",\"optional\":true,\"placeholder\":true,\"description\":\"is a text string with a maximum length if 255 bytes. You must enclose text strings in either single or double quotation marks. The text appears exactly as you enter it in the statement, including uppercase and lowercase characters and spaces. Titles automatically wrap to additional lines if necessary. If the length of the specified title is greater than the value of the LINESIZE option, the title is truncated to the line size.\",\"type\":\"standaloneOrValue\",\"supportSiteTargetFragment\":\"p0cdm6oybe39zrn1jmliox91u63a\"}],\"supportSiteInformation\":{\"docsetId\":\"lestmtsglobal\",\"docsetVersion\":\"v_002\",\"docsetTargetFile\":\"p10gcmrmf83iaxn1ilrx4pra969n.htm\"}},{\"name\":\"TRANTAB\",\"description\":\"Specifies the translation table to use when you transcode character data in order to export or transfer a SAS file.\",\"help\":\"TRANTAB  NAME=*translation-table-name*&lt;TYPE=(*etype-list)* &lt;OPT=DISP | SRC | (DISP SRC)&gt; &gt; ;\",\"arguments\":[{\"name\":\"NAME=\",\"description\":\"specifies the name of the translation table to apply to the SAS catalog that you want to export (PROC CPORT) or transfer (PROC UPLOAD or PROC DOWNLOAD). The translation-table-name that you specify as the name of a catalog entry in either your SASUSER.PROFILE catalog or the SASHELP.HOST catalog. The SASUSER.PROFILE catalog is searched first, and then the SASHELP.HOST catalog is searched.\",\"help\":\"NAME=*translation-table-name*\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"p08j8wuoyqo45vn12t8rrzlmxbin\"},{\"name\":\"TYPE=\",\"optional\":true,\"description\":\"applies the translation table only to the entries with the type or types that you specify. The etype-list can be one or more entry types. Examples of catalog entry types include DATA and FORMAT. If etype-list is a simple entry type, omit the parentheses.\",\"help\":\" TYPE=(*etype-list*)\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1lbqjqhb4syxcn1cffwd7bevgzs\"},{\"name\":\"OPT=\",\"optional\":true,\"description\":\"If you do not specify the OPT= option, the UPLOAD or DOWNLOAD procedure applies the translation table to all of the entries in the catalog that you specify.\",\"help\":\" OPT=DISP | SRC | ()\",\"type\":\"choice\",\"arguments\":[{\"name\":\"DISP\",\"type\":\"standalone\"},{\"name\":\"SRC\",\"type\":\"standalone\"},{\"name\":\"\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"p0j4u06bbmjx59n1jlyw71arqnhb\"}],\"supportSiteInformation\":{\"docsetId\":\"nlsref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n0izld1me1vk8rn1gu755nlvp1ew.htm\"}},{\"name\":\"X\",\"description\":\"Issues an operating-environment command from within a SAS session.\",\"help\":\"X &lt;&lt;'&gt;*operating-environment-command*&lt;'&gt;&gt;;\",\"arguments\":[{\"name\":\"'operating-environment-command'\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies a Linux command. If you specify only one command, you do not need to enclose the command in quotation marks. Separate multiple commands with a semi-colon (;).\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1ktg57yfl27fcn1bhdkzwh8abdj\"}],\"supportSiteInformation\":{\"docsetId\":\"lestmtsglobal\",\"docsetVersion\":\"v_002\",\"docsetTargetFile\":\"p11ba12uypvfazn1jk7acffuzlbl.htm\"}},{\"name\":\"refBlockName\",\"description\":\"shortDesc\",\"help\":\"\",\"arguments\":[{\"name\":\"arg2\",\"description\":\"This arg is not excluded.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0bnboe68sarw1n12ttms5f5fbtu\"}],\"supportSiteInformation\":{\"docsetId\":\"xdregdbooknoparts\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p1730zbfid2nxpn19bdsjr3z6217.htm\"}}]"
  },
  {
    "path": "server/pubsdata/Statements/en/macro.json",
    "content": "[{\"name\":\"%ABORT\",\"description\":\"Stops the macro that is executing along with the current DATA step, SAS job, or Compute Server.\",\"help\":\"%ABORT  &lt;ABEND | CANCEL | EXIT | RETURN | &lt;*n*&gt; | &lt;FILE&gt;&gt;;\",\"arguments\":[{\"name\":\"ABEND\",\"description\":\"causes abnormal termination of the current macro and SAS job. For the Compute Server, the SAS compute session is terminated. An abnormal error code is reflected in the sessionConditionCode. The session state is marked as canceled. Results depend on the method of operation:\\n• batch mode and non-interactive mode.  \\n• stops processing immediately.\\n• sends an error message to the SAS log that states that execution was terminated by the ABEND option of the %ABORT macro statement.\\n• does not execute any subsequent statements or check syntax.\\n• returns control to the operating environment. Further action is based on how your operating environment and your site treat jobs that end abnormally.\\n• interactive line mode. \\n• causes your macro                                  interactive line mode to stop processing immediately and return you                                  to your operating environment.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1fthswzuheamzn1fvpg8a6mbvyp\"},{\"name\":\"CANCEL\",\"description\":\"causes the cancellation of the current submitted statements. The results depend on the method of operation.\",\"help\":\"CANCEL &lt;FILE&gt;\",\"type\":\"standalone\",\"arguments\":[{\"name\":\"FILE\",\"description\":\"when coded as an option to the CANCEL argument in an autoexec file or in a %INCLUDE file, causes only the contents of the autoexec file or %INCLUDE file to be cleared by the %ABORT statement. Other submitted source statements will be executed after the autoexec or %INCLUDE file.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0vytm1ufvl5irn0znqxgecfkszy\"}],\"supportSiteTargetFragment\":\"n1tb7562jsd21an1nyxqa433ujh2\"},{\"name\":\"RETURN\",\"description\":\"causes abnormal termination of the current macro and SAS job or session. For the Compute Server, the SAS compute session is terminated. An abnormal error code is reflected in the sessionConditionCode. The session state is marked as canceled. Results depend on the method of operation:\\n• batch mode and non-interactive mode  \\n• stops processing immediately\\n• sends an error message to the SAS log that states that execution was terminated by the RETURN option of the %ABORT macro statement\\n• does not execute any subsequent statements or check syntax\\n• returns control to the operating environment with a condition code indicating an error\\n•  interactive line mode \\n• causes your macro and                                  interactive line mode to stop processing immediately and return you                                  to your operating environment \",\"help\":\"RETURN \",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n15gswo1ylouh2n1uxd6ysailxpj\"},{\"name\":\"n\",\"placeholder\":true,\"description\":\"an integer value that enables you to specify a condition code:\\n• When used with the CANCEL argument, the value is placed in the SYSINFO automatic macro variable.\\n• When it is NOT used with the CANCEL statement, SAS returns the value to the operating environment when the execution stops. The range of values for <i>n</i> depends on your operating environment.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n169qckb2nhagwn1ewso0eyzoiq1\"}],\"supportSiteInformation\":{\"docsetId\":\"mcrolref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p0f7j2zr6z71nqn1fpefnmulzazf.htm\"}},{\"name\":\"%COLORMAC\",\"description\":\"creates the color utility macros in the current SAS session.\",\"help\":\"%COLORMAC ;\",\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"n0f54aj6pc5nkbn1jvl6bcoc240y.htm\"}},{\"name\":\"%COPY\",\"description\":\"Copies specified items from a SAS macro library.\",\"help\":\"%COPY *macro-name* / &lt;LIBRARY=*libref*&gt; &lt; OUTFILE=*fileref* | '*external file*'&gt; SOURCE;\",\"arguments\":[{\"name\":\"macro-name\",\"placeholder\":true,\"description\":\"name of the macro that the %COPY statement will use.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1f264awvesu3qn1939s17va9thu\"},{\"name\":\"LIBRARY=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"LIB=\"],\"description\":\"specifies the libref of a SAS library that contains a catalog of stored compiled SAS macros. If no library is specified, the libref specified by the SASMSTORE= option is used.\",\"help\":\"LIBRARY=*libref*\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"p0ez1qipfss255n1lzeu1mgsux48\"},{\"name\":\"OUTFILE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"OUT=\"],\"description\":\"specifies the output destination of the %COPY statement. The value can be a fileref or an external file.\",\"help\":\"OUTFILE=*fileref* |  '*external file*'\",\"type\":\"choice\",\"arguments\":[{\"name\":\"fileref\",\"placeholder\":true,\"type\":\"value\"},{\"name\":\"'external\",\"placeholder\":true,\"type\":\"value\"}],\"supportSiteTargetFragment\":\"p1i9m743vjvachn1sfbvdz89ram0\"},{\"name\":\"SOURCE\",\"optional\":true,\"followsDelimiter\":\"/\",\"aliases\":[\"SRC\"],\"description\":\"specifies that the source code of the macro will be copied to the output destination. If the OUTFILE= option is not specified, the source is written to the SAS log.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1q2fpsyrrtyevn1n3m38n3ky8k1\"}],\"supportSiteInformation\":{\"docsetId\":\"mcrolref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p0oltlodtnemugn109vxxa76sref.htm\"}},{\"name\":\"%DO\",\"description\":\"Begins a %DO group.\",\"help\":\"Form 1: %DO group that is processed only once\\n%DO ; \\n\\ttext and macro language statements\\n\\n%END ;\\nForm 2: %DO group that iterates a fixed number of times\\n%DO  macro-variable=start %TO stop< %BY increment>; \\n\\ttext and macro language statements\\n\\n%END ;\\nForm 3: %DO group that iterates until a condition evaluates to false\\n%DO %UNTIL(expression); \\n\\ttext and macro language statements\\n\\n%END ;\\nForm 4: %DO group that iterates while a condition evaluates to true\\n%DO %WHILE(expression); \\n\\ttext and macro language statements\\n\\n\\n%END ;\",\"arguments\":[{\"name\":\"macro-variable\",\"placeholder\":true,\"description\":\"names a macro variable or a text expression that generates a macro variable name. Its value functions as an index that determines the number of times the %DO loop iterates. If the macro variable specified as the index does not exist, then the macro processor creates it in the local symbol table.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1h86o1q8l7rlfn1efn4jsy5ymke\"},{\"name\":\"start\",\"placeholder\":true,\"description\":\"specifies an integer (or a macro expression that generates an integer) to use as the initial value of macro-variable. Start and stop control the number of times the %DO group is processed. For the first iteration, macro-variable is equal to start. As processing continues, the value of macro-variable changes by the value of increment until the value of macro-variable is outside the range of integers specified by start and stop.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0qsj9uhuuz8ren1baddd1qhirvw\"},{\"name\":\"%TO\",\"optional\":true,\"description\":\"specifies an integer (or a macro expression that generates an integer) to use as the final macro-variable iteration value. Iteration stops if the value of macro-variable exceeds this value.\",\"help\":\"%TO *stop*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p05ya7tt8l194yn1w7z91un3tgb9\"},{\"name\":\"%BY\",\"optional\":true,\"description\":\"specifies a nonzero integer (or a macro expression that generates a nonzero integer) to be added to the value of the index variable in each iteration of the loop. By default, increment is 1. increment is evaluated before the first iteration of the loop. Therefore, you cannot change it as the loop iterates.\",\"help\":\"%BY *increment*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0dvk9hzgqpnvmn1pnu9pa81g87l\"},{\"name\":\"%UNTIL\",\"optional\":true,\"description\":\"iterates the %DO group until an expression evaluates to true. In a %DO %UNTIL statement, expression is evaluated at the end of each iteration. If it evaluates to true, then the %DO %UNTIL statement terminates. Otherwise, it proceeds with the next iteration. As a result, the %DO group is processed at least once.\",\"help\":\"%UNTIL(*expression*)\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0jw86hoqqltkxn1ijpjgrj32mf5\"},{\"name\":\"%WHILE\",\"optional\":true,\"description\":\"iterates the %DO group for as long as an expression evaluates to true. In a %DO %WHILE statement, expression is evaluated before each iteration. If it evaluates to false, then the %DO %WHILE statement terminates. Otherwise, it proceeds with the next iteration. As a result, the %DO group is not processed if the expression evaluates to false at the start of the first iteration.\",\"help\":\"%WHILE(*expression*)\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0nfts8pkjg13fn1e0dswfrtqcn3\"}],\"supportSiteInformation\":{\"docsetId\":\"mcrolref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n1f9h4stjb9j8pn1pmb4602ogzmx.htm\"}},{\"name\":\"%ELSE\",\"description\":\"defines the ELSE clause for the associated %IF statement.\",\"help\":\"%ELSE *action*;\",\"arguments\":[{\"name\":\"action\",\"placeholder\":true,\"description\":\"defines the ELSE clause for an %IF statement. Action specifies constant text, a text expression, or a macro statement that is processed when expression evaluates to False. If action contains semicolons (for example, in SAS statements), then the first semicolon after %ELSE ends the %ELSE clause. Use a %DO group or a quoting function, such as %STR, to prevent semicolons in action from ending the %ELSE statement.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1wa2sw8a0jdn5n16tcoy5e5auto\"}],\"supportSiteInformation\":{\"docsetId\":\"mcrolref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n0olji84xc12zyn1iwvk1j8c1c4f.htm\"}},{\"name\":\"%END\",\"description\":\"Ends a %DO group.\",\"help\":\"%END ;\",\"supportSiteInformation\":{\"docsetId\":\"mcrolref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n0yuc32i7hz1byn1j5cl0t0wsjhe.htm\"}},{\"name\":\"%GLOBAL\",\"description\":\"Creates macro variables that are available during the execution of an entire Compute Server session.\",\"help\":\"%GLOBAL macro-variable(s);\\nOr\\n%GLOBAL  / READONLY macro-variable=value;\",\"arguments\":[{\"name\":\"macro-variable\",\"placeholder\":true,\"description\":\"is the name of one or more macro variables or a text expression that generates one or more macro variable names. You cannot use a SAS variable list or a macro expression that generates a SAS variable list in a %GLOBAL statement.\",\"help\":\"*macro-variable(s)*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1xwh1vrmbzj4dn1ch7ce65k5hpo\"},{\"name\":\"READONLY\",\"optional\":true,\"description\":\"creates a new read only global macro variable.\",\"help\":\"READONLY *macro-variable*=*value*\",\"type\":\"value\",\"arguments\":[{\"name\":\"macro-variable\",\"placeholder\":true,\"description\":\"is the name of a macro variable or a text expression that produces a macro variable name. The name must be a new macro variable name.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n03fm6ga8o6ubsn1lxi4me4dfbmp\"},{\"name\":\"value\",\"placeholder\":true,\"description\":\"is a character string or a text expression.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0i9nt1r4ajj90n1jd42gtixsdlx\"}],\"supportSiteTargetFragment\":\"n1ddxllkrwqeion1mf3d5my597wz\"}],\"supportSiteInformation\":{\"docsetId\":\"mcrolref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p1lhhti7fjxgb1n1fuiubqk11h4d.htm\"}},{\"name\":\"%GOTO\",\"description\":\"Branches macro processing to the specified label.\",\"help\":\"%GOTO *label*;\",\"aliases\":[\"%GO TO\"],\"arguments\":[{\"name\":\"label\",\"placeholder\":true,\"description\":\"is either the name of the label that you want execution to branch to or a text expression that generates the label. A text expression that generates a label in a %GOTO statement is called a computed %GOTO destination.A computed %GOTO contains % or & and resolves to a label.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1rvze6l8627dan1j8qknaus3fs0\"}],\"supportSiteInformation\":{\"docsetId\":\"mcrolref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p0jfeh75p72icen1ddd9una5zbmm.htm\"}},{\"name\":\"%HELPCLR\",\"description\":\"writes Help information about the color utility macros to the SAS log.\",\"help\":\"%HELPCLR &lt;(ALL | *macro-name*)&gt;;\",\"arguments\":[{\"name\":\"ALL\",\"optional\":true,\"description\":\"writes a short description and an example for each of the color utility macros to the SAS log.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0qqen3txw9numn1i5vaabj3d9ty\"},{\"name\":\"macro-name\",\"optional\":true,\"placeholder\":true,\"description\":\"writes a short description and an example for the specified color utility macro to the SAS log. Do not include the percent sign (%) in macro-name.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1voplppybvyykn1fisbqyidptmn\"}],\"supportSiteInformation\":{\"docsetId\":\"graphref\",\"docsetVersion\":\"v_003\",\"docsetTargetFile\":\"n1100agkh9qjzen1jcfa3ut1iuln.htm\"}},{\"name\":\"%IF\",\"description\":\"Conditionally process a portion of a macro.\",\"help\":\"%IF expression %THEN action;\\n<%ELSE  action;>\",\"arguments\":[{\"name\":\"expression\",\"placeholder\":true,\"description\":\"is any macro expression that resolves to an integer. If the expression resolves to an integer other than zero, the expression is true and the %THEN clause is processed. If the expression resolves to zero, then the expression is false and the %ELSE statement, if one is present, is processed. If the expression resolves to a null value or a value containing nonnumeric characters, the macro processor issues an error message. For more information about writing macro expressions and their evaluation, see .\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1d0vam38whbaon1dxgv4d3eece3\"},{\"name\":\"%THEN\",\"description\":\"defines the THEN clause for the %IF statement. Action specifies constant text, a text expression, or a macro statement that is processed when expression evaluates to True. If action contains semicolons (for example, in SAS statements), then the first semicolon after %THEN ends the %THEN clause. Use a %DO group or a quoting function, such as %STR, to prevent semicolons in action from ending the %IF-%THEN statement. The following examples show two ways to conditionally generate text that contains semicolons:\",\"help\":\"%THEN *action*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n141wvykc64yr4n0zw6g62d095ys\"}],\"supportSiteInformation\":{\"docsetId\":\"mcrolref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n18fij8dqsue9pn1lp8436e5mvb7.htm\"}},{\"name\":\"%LET\",\"description\":\"Creates a macro variable and assigns it a value.\",\"help\":\"%LET *macro-variable*=&lt;*value*&gt;;\",\"arguments\":[{\"name\":\"macro-variable\",\"placeholder\":true,\"description\":\"is either the name of a macro variable or a text expression that produces a macro variable name. The name can refer to a new or existing macro variable.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p16lo7g9ggd7x2n1el7aldg1tq82\"},{\"name\":\"value\",\"placeholder\":true,\"description\":\"is a character string or a text expression. Omitting value produces a null value (0 characters). Leading and trailing blanks in value are ignored. To make them significant, enclose value with the %STR function.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1rab7132ah9orn1scdwmurq5mn2\"}],\"supportSiteInformation\":{\"docsetId\":\"mcrolref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p18wszyqagt1qcn1t6vo5piib1bq.htm\"}},{\"name\":\"%LOCAL\",\"description\":\"Creates macro variables that are available only during the execution of the macro where they are defined.\",\"help\":\"%LOCAL macro-variable(s);\\nOr\\n%LOCAL / READONLY macro-variable=value;\",\"arguments\":[{\"name\":\"macro-variable\",\"placeholder\":true,\"description\":\"is the name of one or more macro variables or a text expression that generates one or more macro variable names. You cannot use a SAS variable list or a macro expression that generates a SAS variable list in a %LOCAL statement.\",\"help\":\"*macro-variable(s)*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p01new6g2td1oqn1t0ahbh2sglsl\"},{\"name\":\"READONLY\",\"optional\":true,\"description\":\"creates a new read-only local macro variable.\",\"help\":\"READONLY *macro-variable*=*value*\",\"type\":\"value\",\"arguments\":[{\"name\":\"macro-variable\",\"placeholder\":true,\"description\":\"is the name of a macro variable or a text expression that produces a macro variable name.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n14l68gimhnl96n1379u51fog1tz\"},{\"name\":\"value\",\"placeholder\":true,\"description\":\"is a character string or a text expression.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1e93m1h1efe1mn12lb5og941vcp\"}],\"supportSiteTargetFragment\":\"p1aq491jsqstuan1wbylgg661i6t\"}],\"supportSiteInformation\":{\"docsetId\":\"mcrolref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p0ivgabci0y2den1usf43mxdkpgp.htm\"}},{\"name\":\"%MACRO\",\"description\":\"Begins a macro definition.\",\"help\":\"%MACRO *macro-name*&lt;(*parameters*)&gt;&lt;/ *options*&gt;;\",\"arguments\":[{\"name\":\"macro-name\",\"placeholder\":true,\"description\":\"names the macro. A macro name must be a SAS name, which you supply; you cannot use a text expression to generate a macro name in a %MACRO statement. In addition, do not use macro reserved words as a macro name. (For a list of macro reserved words, see .)\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0h6cj3mu3n633n1vl3qf29ks9j4\"},{\"name\":\"parameters\",\"placeholder\":true,\"description\":\"names one or more local macro variables whose values you specify when you invoke the macro. Parameters are local to the macro that defines them. You must supply each parameter name; you cannot use a text expression to generate it. A parameter list can contain any number of macro parameters separated by commas. The macro variables in the parameter list are usually referenced in the macro.\\n• <i>parameters</i> can be\\n• &lt;<i>positional-parameter-1</i>&gt;&lt;,<i>positional-parameter-2</i> ...&gt;\\n• &lt;<i>keyword-parameter</i>=&lt;<i>value</i>&gt; &lt;,<i>keyword-parameter-2</i>=&lt;<i>value</i>&gt; ...&gt;&gt;\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0lprfxgr6r9aen1oacsxnursqum\"},{\"name\":\"CMD\",\"description\":\"specifies that the macro can accept either a name-style invocation or a command-style invocation. Macros defined with the CMD option are sometimes called command-style macros.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1sm8ymjnsy0y3n1i0jp4ezyk4uu\"},{\"name\":\"DES=\",\"description\":\"specifies a description for the macro entry in the macro catalog. The description text can be up to 256 characters in length. Enclose the description in quotation marks. This description appears in the CATALOG window when you display the contents of the catalog containing the stored compiled macros. The DES= option is especially useful when you use the stored compiled macro facility.\",\"help\":\"DES='*text*'\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0a794pawsqci8n1gwmghafx1o1c\"},{\"name\":\"MINDELIMITER=\",\"description\":\"specifies a value that overrides the value of the MINDELIMITER= system option. The value must be a single character enclosed in single quotation marks and can appear only once in a %MACRO statement.\",\"help\":\"MINDELIMITER='*single character*';\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1caj9zw6rbfagn1m0mn2jnyh687\"},{\"name\":\"MINOPERATOR\",\"description\":\"the MINOPERATOR argument specifies that the macro processor recognizes and evaluates the mnemonic IN and the special character # as logical operators when evaluating arithmetic or logical expressions during the execution of the macro. See . The MINOPERATOR argument overrides the setting of the NOMINOPERATOR global system option.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n01925kmt5vqzrn1ospow06jo3sd\"},{\"name\":\"NOMINOPERATOR\",\"description\":\"the MINOPERATOR argument specifies that the macro processor recognizes and evaluates the mnemonic IN and the special character # as logical operators when evaluating arithmetic or logical expressions during the execution of the macro. See . The MINOPERATOR argument overrides the setting of the NOMINOPERATOR global system option.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n01925kmt5vqzrn1ospow06jo3sd\"},{\"name\":\"PARMBUFF\",\"description\":\"assigns the entire list of parameter values in a macro call, including the parentheses in a name-style invocation, as the value of the automatic macro variable SYSPBUFF. Using the PARMBUFF option, you can define a macro that accepts a varying number of parameter values.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1k1xr8jb5cgthn1wwdqv1bi6lj0\"},{\"name\":\"SECURE\",\"description\":\"causes the contents of a macro to be encoded when stored in a stored compiled macro library.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n00qbdeiz6cgw6n1wvnk3v5zfh5o\"},{\"name\":\"NOSECURE\",\"description\":\"causes the contents of a macro to be encoded when stored in a stored compiled macro library.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n00qbdeiz6cgw6n1wvnk3v5zfh5o\"},{\"name\":\"STMT\",\"description\":\"specifies that the macro can accept either a name-style invocation or a statement-style invocation. Macros defined with the STMT option are sometimes called statement-style macros.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0zlgu0mgvqx13n1k8uiszkm8olq\"},{\"name\":\"SOURCE\",\"description\":\"combines and stores the source of the compiled macro with the compiled macro code as an entry in a SAS catalog in a permanent SAS library. The SOURCE option requires that the STORE option and the MSTORED option be set. You can use the SASMSTORE= option to identify a permanent SAS library. You can store a macro or call a stored compiled macro only when the MSTORED option is in effect. (For more information, see .)\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1591c4dyrqwzrn19ubnnzzk0ofx\"},{\"name\":\"SRC\",\"description\":\"combines and stores the source of the compiled macro with the compiled macro code as an entry in a SAS catalog in a permanent SAS library. The SOURCE option requires that the STORE option and the MSTORED option be set. You can use the SASMSTORE= option to identify a permanent SAS library. You can store a macro or call a stored compiled macro only when the MSTORED option is in effect. (For more information, see .)\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1591c4dyrqwzrn19ubnnzzk0ofx\"},{\"name\":\"STORE\",\"description\":\"stores the compiled macro as an entry in a SAS catalog in a permanent SAS library. Use the SAS system option SASMSTORE= to identify a permanent SAS library. You can store a macro or call a stored compiled macro only when the SAS system option MSTORED is in effect. (For more information, see .)\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1i7l4t2nnauarn1u4ciskimy854\"}],\"supportSiteInformation\":{\"docsetId\":\"mcrolref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p1nypovnwon4uyn159rst8pgzqrl.htm\"}},{\"name\":\"%MEND\",\"description\":\"Ends a macro definition.\",\"help\":\"%MEND &lt;*macro-name*&gt; ;\",\"arguments\":[{\"name\":\"macro-name\",\"placeholder\":true,\"description\":\"names the macro as it ends a macro definition. Repeating the name of the macro is optional, but it is useful for clarity. If you specify macro-name, the name in the %MEND statement should match the name in the %MACRO statement; otherwise, SAS issues a warning message.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0x0lypm9t6kq9n1utilg871kk2i\"}],\"supportSiteInformation\":{\"docsetId\":\"mcrolref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n01mgvwt7f9smen159ad334ts4ha.htm\"}},{\"name\":\"%PUT\",\"description\":\"Writes text or macro variable information to the SAS log.\",\"help\":\"%PUT <text | _ALL_ | _AUTOMATIC_ | _GLOBAL_ | _LOCAL_ | _READONLY_ |  _USER_ | _WRITABLE_>;\\n%PUT ERROR: text | NOTE: text | WARNING: text;\\n%PUT ERROR- text | NOTE- text | WARNING- text;\",\"arguments\":[{\"name\":\"text\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies text that is written to the SAS log. Text can be literal text or a text expresson. If text is longer than the current line size, the remainder of the text appears on the next line. The %PUT statement removes leading and trailing blanks from text unless you use a macro quoting function.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p19qlkhybs5xjhn1u8qkpgdulzxv\"},{\"name\":\"ERROR:\",\"optional\":true,\"description\":\"specifies an error message, which is displayed in red text in the SAS log.\",\"help\":\"ERROR: *text*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0pgkwqxrqaijvn1nompyvtegppx\"},{\"name\":\"ERROR-\",\"optional\":true,\"description\":\"specifies an additional line of text for an error message.\",\"help\":\"ERROR- *text*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0iak0desw95emn1qikcbxwqeacg\"},{\"name\":\"NOTE:\",\"optional\":true,\"description\":\"specifies a note, which is displayed in blue text in the SAS log.\",\"help\":\"NOTE: *text*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0yozx20sllxbin13n9dgiaqb7mp\"},{\"name\":\"NOTE-\",\"optional\":true,\"description\":\"specifies an additional line of text for a note.\",\"help\":\"NOTE- *text*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0goezoxnmflsdn1qwwnwt3iog3a\"},{\"name\":\"WARNING:\",\"optional\":true,\"description\":\"specifies a warning message, which is displayed in green text in the SAS log.\",\"help\":\"WARNING: *text*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p04sxwxws1lqizn1ocispz0x91hs\"},{\"name\":\"WARNING-\",\"optional\":true,\"description\":\"specifies an additional line of text for a warning message.\",\"help\":\"WARNING- *text*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0m88ypo482qaan1q83c3pc3uoms\"},{\"name\":\"_ALL_\",\"optional\":true,\"description\":\"lists the values of all user-generated and automatic macro variables.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0irhsnu8j73dsn1e8mob3kpaxxq\"},{\"name\":\"_AUTOMATIC_\",\"optional\":true,\"description\":\"lists the values of automatic macro variables. The automatic variables listed depend on the SAS products installed at your site and on your operating system. The scope is identified as AUTOMATIC.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n14tqeyu1pb79cn17rlx9nff8wlt\"},{\"name\":\"_GLOBAL_\",\"optional\":true,\"description\":\"lists user-generated global macro variables. The scope is identified as GLOBAL.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0yy356nle2ys6n1hfg9jmcsj9f6\"},{\"name\":\"_LOCAL_\",\"optional\":true,\"description\":\"lists user-generated local macro variables. The scope is the name of the currently executing macro.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n03is57r8e0ihan1s8xwsk62bh9k\"},{\"name\":\"_READONLY_\",\"optional\":true,\"description\":\"lists all user-defined read-only macro variables, regardless of scope. The scope is either GLOBAL, for global macro variables, or the name of the macro in which the macro variable is defined.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1sjfwm0vkxd5jn18ooo1m884fjj\"},{\"name\":\"_USER_\",\"optional\":true,\"description\":\"lists user-generated global and local macro variables. The scope is identified either as GLOBAL, or as the name of the macro in which the macro variable is defined.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0m38pumdb7vkjn1c69vqpjxd7wr\"},{\"name\":\"_WRITABLE_\",\"optional\":true,\"description\":\"lists all user-defined read and write macro variables, regardless of scope. The scope is either GLOBAL, for global macro variables, or the name of the macro in which the macro variable is defined.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1w4vqz3zj67ypn19u3o912iogyr\"}],\"supportSiteInformation\":{\"docsetId\":\"mcrolref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n189qvy83pmkt6n1bq2mmwtyb4oe.htm\"}},{\"name\":\"%RETURN\",\"description\":\"Execution causes normal termination of the currently executing macro.\",\"help\":\"%RETURN ;\",\"supportSiteInformation\":{\"docsetId\":\"mcrolref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p0qyygqt5a69xnn1rhfju3kjs8al.htm\"}},{\"name\":\"%SYMDEL\",\"description\":\"Deletes the specified variable or variables from the macro global symbol table.\",\"help\":\"%SYMDEL *macro-variable(s)*&lt;/*option*&gt; ;\",\"arguments\":[{\"name\":\"macro-variable\",\"placeholder\":true,\"description\":\"is the name of one or more macro variables or a text expression that generates one or more macro variable names. You cannot use a SAS variable list or a macro expression that generates a SAS variable list in a %SYMDEL statement.\",\"help\":\"*macro-variable(s)*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0k6ptsduvxcjnn1kvpuasew1vlk\"},{\"name\":\"NOWARN\",\"description\":\"suppresses the warning message when an attempt is made to delete a non-existent macro variable.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n07m902uerhflfn14lsf9xtgyps6\"}],\"supportSiteInformation\":{\"docsetId\":\"mcrolref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p1vtk6flp9vpfzn14kkxolcnggzy.htm\"}},{\"name\":\"%SYSCALL\",\"description\":\"Invokes a SAS call routine.\",\"help\":\"%SYSCALL *call-routine*&lt; (*call-routine-argument(s)*)&gt;;\",\"arguments\":[{\"name\":\"call-routine\",\"placeholder\":true,\"description\":\"is a SAS or user-written CALL routine created with SAS/TOOLKIT software or a routine created using . All SAS CALL routines are accessible with %SYSCALL except LABEL, VNAME, SYMPUT, and EXECUTE.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0m8hbko9ani7on19ywndnbv4fgo\"},{\"name\":\"call-routine-argument\",\"placeholder\":true,\"description\":\"is one or more macro variable names (with no leading ampersands), separated by commas. You can use a text expression to generate part or all of the CALL routine arguments.\",\"help\":\"*call-routine-argument(s)*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n080ud3yvzi8sdn10t8jz0gs6c5i\"}],\"supportSiteInformation\":{\"docsetId\":\"mcrolref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n1xdrl171qpcr6n0zbskwm17wvct.htm\"}},{\"name\":\"%SYSEXEC\",\"description\":\"Executes Linux commands.\",\"help\":\"%SYSEXEC &lt;*command*&gt; ;\",\"arguments\":[{\"name\":\"no\",\"description\":\"starts a new Linux shell, where you can issue Linux commands and return to your Compute Server session.\",\"help\":\"no argument\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0yhsi7m8vvo03n1ira0t5ocblsy\"},{\"name\":\"command\",\"placeholder\":true,\"description\":\"is any Linux command. If command contains a semicolon, use a macro quoting function.\",\"help\":\"*command*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1knedh36yrixzn1flqjsl4tzjf6\"}],\"supportSiteInformation\":{\"docsetId\":\"mcrolref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n08ecabbpebv2xn13ieu8uylrohm.htm\"}},{\"name\":\"%SYSLPUT\",\"description\":\"Creates a new macro variable or modifies the value of an existing macro variable on a remote host or server.\",\"help\":\"%SYSLPUT macro-variable=<value></ REMOTE=server-ID>;\\n%SYSLPUT macro-variable-type</ option(s);>;\",\"arguments\":[{\"name\":\"value\",\"placeholder\":true,\"description\":\"is a macro variable reference, a macro invocation, or the character value to be assigned to the server macro-variable.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p193nzkqdl9ynan1xu8r2lyh9gxl\"},{\"name\":\"_ALL_\",\"description\":\"copies all user-generated and automatic macro variables to the server session.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0a267335uzgvxn14rj4d90b4v2s\"},{\"name\":\"_AUTOMATIC_\",\"description\":\"copies all automatic macro variables to the server session.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0j8fpwczhi3edn1e8pa1rapxtun\"},{\"name\":\"_GLOBAL_\",\"description\":\"copies all user-generated global macro variables to the server session.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p19wcjuzrnf7lgn0zfbuv1p9ae0y\"},{\"name\":\"_LOCAL_\",\"description\":\"copies all user-generated local macro variables to the server session.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p06ppsgggwp50xn1pxcyscc7usuo\"},{\"name\":\"_USER_\",\"description\":\"pushes all user-defined macro variables from the local host to the remote host or server all at the same time.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0jreoip26c3uyn1jkf2ukbi8qic\"},{\"name\":\"REMOTE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specfies the name of the server session that the macro variable will be created in.\",\"help\":\"REMOTE=*server-ID*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0u1tpnqm3jkghn1tn4ikhtvwes8\"},{\"name\":\"LIKE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"specifies a sequence of characters, or pattern, to be used as the criteria for determining which macro variables are to be copied to the server session.\",\"help\":\"LIKE='*character-string*'\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0o6xxoo0qk8con1254pdxasam5k\"}],\"supportSiteInformation\":{\"docsetId\":\"mcrolref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p13mg8ttnegfzxn15lz4aky4d3p5.htm\"}},{\"name\":\"%SYSMACDELETE\",\"description\":\"Deletes a macro definition from the Work.SASMacr or Work.SASMacn catalog.\",\"help\":\"%SYSMACDELETE                  *macro_name*&lt;/ *option*&gt;;\",\"arguments\":[{\"name\":\"macro_name\",\"placeholder\":true,\"description\":\"the name of a macro or a text expression that produces a macro variable name.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0akgko4idf5hon18fp8wi7lg970\"},{\"name\":\"NOWARN\",\"optional\":true,\"description\":\"specifies that no warning diagnostic message should be issued.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1it6mptpweqz4n1j3z0p14si4pq\"}],\"supportSiteInformation\":{\"docsetId\":\"mcrolref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n1mihelxhd39lgn1qvl44z89otpw.htm\"}},{\"name\":\"%SYSMSTORECLEAR\",\"description\":\"Closes the stored compiled macro catalog associated with the libref specified in the SASMSTORE= option.\",\"help\":\"\\n\\t%SYSMSTORECLEAR ;\",\"supportSiteInformation\":{\"docsetId\":\"mcrolref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"n16winv3nze1ykn1m1b0i5s24glt.htm\"}},{\"name\":\"%SYSRPUT\",\"description\":\"Assigns a value from the remote host to a macro variable on the local host.\",\"help\":\"%SYSRPUT local-macro-variable=remote-macro-variable | value;\\n%SYSRPUT _USER_ < / LIKE='character-string'> ;\",\"arguments\":[{\"name\":\"local-macro-variable\",\"placeholder\":true,\"description\":\"is the name of a macro variable with no leading ampersand or a text expression that produces the name of a macro variable. This name must be a macro variable that is stored on the local host.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1fds6e0ugfbs1n172syvngqm5xq\"},{\"name\":\"remote-macro-variable\",\"placeholder\":true,\"description\":\"is the name of a macro variable with the leading ampersand or a text expression that produces the name of a macro variable with the leading ampersand. This name must be a macro variable that is stored on a remote host.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n07j2mhjw1ph52n19wxg3whv5q1e\"},{\"name\":\"value\",\"placeholder\":true,\"description\":\"is a value or an expression that produces a value.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0c1nn09epnvvvn1a05tx8xs0ifd\"},{\"name\":\"_USER_\",\"description\":\"to push all remote user-defined macro variables from the remote host to the local host all at the same time.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n19ea9l4lln89rn1080lg2y1yuxu\"},{\"name\":\"LIKE=\",\"optional\":true,\"followsDelimiter\":\"/\",\"description\":\"Specifies the sequence of characters, or pattern, to be used as the criteria for determining which macro variables are to be copied to the server session. Character patterns can consist of the following:\\n• any sequence of characters, A–Z\\n• any sequence of digits, 0–9\\n• a single wildcard character in the form of an asterisk (*)\",\"help\":\"LIKE='*character-string*'\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1g8820roqb33ln193piunkx4k9w\"}],\"supportSiteInformation\":{\"docsetId\":\"mcrolref\",\"docsetVersion\":\"v_001\",\"docsetTargetFile\":\"p0pd9l0abrc4lqn1ukr0840sopl2.htm\"}}]"
  },
  {
    "path": "server/pubsdata/Statements/en/standalone.json",
    "content": "[{\"name\":\"CAS\",\"description\":\"Starts and manages your SAS Cloud Analytic Services session.\",\"help\":\"Form 1: Create a new session:\\nCAS <session-reference><HOST=\\\"Kubernetes-service-name\\\"><PORT=number><USER=user-ID><SESSOPTS=(session-options)><AUTHDOMAIN=authentication-domain | AUTHINFO=\\\"authentication-info-file\\\"><UUIDMAC=macro-variable-name>;\\nForm 2: Manage session options:\\nCAS session-referenceLISTSESSOPTS;CAS session-referenceSESSOPTS=(session-options);\\nForm 3: Get session information:\\nCAS session-referenceLIST;CAS _ALL_LIST;CAS session-referenceLISTSESSIONS;\\nForm 4: Disconnect or reconnect a session\\nCAS <session-name>DISCONNECT | RECONNECT;CAS <session-name>UUID=\\\"session-uuid\\\";\\nForm 5: Terminate a session or all sessions:\\nCAS <session-name>TERMINATE;CAS _ALL_TERMINATE;\\nForm 6: Get CAS server information:\\nCAS session-referenceLISTABOUT | LISTSERVERSTARTOPTS;\\nForm 7: Add or drop a format library:\\nCAS session-referenceADDFMTLIBFMTLIBNAME=format-library-name<option(s)>;CAS session-referenceADDFMTLIBTABLE=table-name<CASLIB=caslib><FMTLIBNAME=format-library-name><option(s)>;CAS session-referenceADDFMTLIBPATH=path<FMTLIBNAME=format-library-name><option(s)>;CAS session-referenceDROPFMTLIBFMTLIBNAME=format-library-name<FMTSEARCHREMOVE>;\\nForm 8: List formats:\\nCAS session-referenceLISTFORMATS<FMTLIBNAME=format-library-name><SCOPE=BOTH |  SESSION |  GLOBAL><MEMBERS>;CAS session-referenceLISTFMTRANGESFMTNAME=format-name;\\nForm 9: Manage the format search list:\\nCAS session-referenceLISTFMTSEARCH;CAS session-referenceFMTSEARCH=(name1<name2 ... nameN>)<POSITION=APPEND |  INSERT |  REPLACE>;CAS session-referenceFMTSEARCHCLEAR;\\nForm 10: Save a format library to disk:\\nCAS session-referenceSAVEFMTLIBFMTLIBNAME=format-library-name<table-option(s) |  PATH=path>;\\nForm 11: Promote a format library:\\nCAS session-referencePROMOTEFMTLIB<FMTLIBNAME=format-library-name><REPLACE>;\",\"arguments\":[{\"name\":\"_ALL_\",\"optional\":true,\"description\":\"specifies that the LIST or TERMINATE argument that follows applies to all of the sessions in the SAS client.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0v4ep0p0lp8ksn1g10f1tah59ui\"},{\"name\":\"ADDFMTLIB\",\"optional\":true,\"description\":\"adds a session format library.\",\"help\":\"ADDFMTLIB FMTLIBNAME=*format-library-name* &lt;*option(s)*&gt; <br/> ADDFMTLIB TABLE=*table-name* &lt;CASLIB=*caslib*&gt; &lt;FMTLIBNAME=*format-library-name*&gt; &lt;*option(s)*&gt; <br/> ADDFMTLIB PATH=*path* &lt;FMTLIBNAME=*format-library-name*&gt; &lt;*option(s)*&gt;\",\"type\":\"dataSet\",\"arguments\":[{\"name\":\"FMTLIBNAME=\",\"description\":\"specifies the name of the format library to add.\",\"help\":\"FMTLIBNAME=*format-library-name*\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"p1ur94ug4vgfoun1izdhnyajz9rb\"},{\"name\":\"TABLE=\",\"description\":\"specifies the name of the table where the format library was previously saved using SAVEFMTLIB.\",\"help\":\"TABLE=*table-name* &lt;CASLIB=*caslib*&gt;\",\"type\":\"dataSet\",\"arguments\":[{\"name\":\"table-name\",\"placeholder\":true,\"description\":\"specifies the name of the table in which the format library is saved.\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"n1iufa24xyzp9nn1wuz3xoslxype\"},{\"name\":\"CASLIB=\",\"description\":\"specifies the name of the caslib where the table is saved.\",\"help\":\"CASLIB=*caslib*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1g12ivc6cxhbgn1hx5fiaq782nt\"}],\"supportSiteTargetFragment\":\"n0jwr6x4jz48pan10gr4dqa2ubws\"},{\"name\":\"PATH=\",\"description\":\"specifies the absolute path to the file in which the format information is stored.\",\"help\":\"PATH=*path*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1ay1tv7rtkhfin124oik814aab3\"},{\"name\":\"POSITION=\",\"description\":\"specifies the position of this format library in the format-library search list.\",\"help\":\"POSITION=APPEND | INSERT | REPLACE | NONE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"APPEND\",\"description\":\"appends this format library to the end of the format-library search list.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p09fbh0hrmqtuin15ig6g6way0us\"},{\"name\":\"INSERT\",\"description\":\"inserts this format library at the beginning of the format-library search list.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n02vlb0xgj210dn1hxpov0gar2cm\"},{\"name\":\"REPLACE\",\"description\":\"replaces the current format-library search list with this format library.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0rtilui6tgtxjn1hupoa6smjz6a\"},{\"name\":\"NONE\",\"description\":\"does not add this format library to the format-library search list.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n09v1wc2sxi5jon1l9528tcis4te\"}],\"supportSiteTargetFragment\":\"p18x703lzrccxon1rpqyawn54dja\"},{\"name\":\"PROMOTE\",\"description\":\"promotes the format library to global scope so that it is available to all sessions.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1u83zdlzx7s2vn13mk8qp11hy1n\"},{\"name\":\"REPLACEFMTLIB\",\"description\":\"replaces the format library if it already exists.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1tfkuama77wfxn1sz361wc1z9jy\"}],\"supportSiteTargetFragment\":\"n1e34cdg5hyizwn1a7zv0k5x2540\"},{\"name\":\"AUTHDOMAIN=\",\"optional\":true,\"description\":\"obtains credentials from the credentials service for the SAS Viya platform.\",\"help\":\"AUTHDOMAIN=*authentication-domain*\",\"type\":\"value\",\"arguments\":[{\"name\":\"authentication-domain\",\"placeholder\":true,\"description\":\"specifies the name of an authentication domain object registered on the credentials service for the SAS Viya platform that associates user credentials with an identity. The domain name can be specified with or without quotation marks.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1wni0hvqgktv9n1e43a5wjx6xen\"}],\"supportSiteTargetFragment\":\"p11ynzjbz96oq1n17rgt2utv6swj\"},{\"name\":\"AUTHINFO=\",\"optional\":true,\"description\":\"specifies an authinfo file or netrc file that includes authentication information.\",\"help\":\"AUTHINFO=\\\"*authentication-info-file*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n174yddgn85756n1v5q4yb881xa0\"},{\"name\":\"DISCONNECT\",\"optional\":true,\"description\":\"disconnects SAS from the session.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0kivdlzpk80bpn13c6gpq31zw8d\"},{\"name\":\"DROPFMTLIB\",\"optional\":true,\"description\":\"drops a session-scope or a global-scope format library.\",\"help\":\"DROPFMTLIB FMTLIBNAME=*format-library-name* &lt;FMTSEARCHREMOVE&gt;\",\"type\":\"dataSet\",\"arguments\":[{\"name\":\"FMTLIBNAME=\",\"description\":\"specifies the name of the format library to drop.\",\"help\":\"FMTLIBNAME=*format-library-name*\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"p0qbcxis4kxlb4n1rcemp3gbz42k\"},{\"name\":\"FMTSEARCHREMOVE\",\"description\":\"removes the format library from the format search list.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0s0iik3f37wlgn1vow2er50bqk6\"}],\"supportSiteTargetFragment\":\"n0ughhnaikh5ejn1szhwxl4i3f5d\"},{\"name\":\"FMTSEARCH=\",\"optional\":true,\"description\":\"modifies the format library search list for the session.\",\"help\":\"FMTSEARCH=(*name1* &lt;*name2* ...*nameN*&gt;) &lt;POSITION=APPEND | INSERT | REPLACE&gt;\",\"type\":\"value\",\"arguments\":[{\"name\":\"(name1 name2nameN)\",\"placeholder\":true,\"description\":\"specifies a list of one or more format-library names enclosed in parentheses.\",\"help\":\"(*name1* &lt;*name2* ...*nameN*&gt;) \",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1ijhwkshq80tvn1tmw97as9s3gr\"},{\"name\":\"POSITION=\",\"description\":\"specifies the position of the format libraries in the format-library search list.\",\"help\":\"POSITION=APPEND | INSERT | REPLACE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"APPEND\",\"description\":\"appends the format libraries to the end of the format-library search list.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1r14x1k77ocakn1no9ysjb7ge7p\"},{\"name\":\"INSERT\",\"description\":\"inserts the format libraries at the beginning of the format-library search list.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0kn7gta5j80yan1giz12a11lpub\"},{\"name\":\"REPLACE\",\"description\":\"replaces the current format-library search list with the specified format libraries.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0e2943alcrx7bn1w5nxqtfz0mtk\"}],\"supportSiteTargetFragment\":\"n0o8z9ykk58hcnn1c7xs4noiz1tw\"}],\"supportSiteTargetFragment\":\"n01hacmqtvn6bjn1cpmy0oel28dj\"},{\"name\":\"FMTSEARCH\",\"optional\":true,\"description\":\"clears the format library search list for the session.\",\"help\":\"FMTSEARCH CLEAR\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1fqom569nk9hwn1e8iobvcyj90j\"},{\"name\":\"HOST=\",\"optional\":true,\"aliases\":[\"CASHOST\",\"SERVER\"],\"description\":\"specifies the name of the CAS service running in the Kubernetes framework for the SAS Viya platform.\",\"help\":\"HOST=\\\"*Kubernetes-service-name*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p118z2aep137rqn1n6ky2mv5h10x\"},{\"name\":\"LIST\",\"optional\":true,\"description\":\"writes to the SAS log information about a single session or all of the sessions in your SAS client.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0btezjg9luvkyn1a12gqxe912ow\"},{\"name\":\"LISTABOUT\",\"optional\":true,\"description\":\"writes information about SAS Cloud Analytic Services to the SAS log.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0lv14n7glhr64n1g25l7wtr1cc1\"},{\"name\":\"LISTFMTRANGES\",\"optional\":true,\"description\":\"lists the ranges and labels for a format.\",\"help\":\"LISTFMTRANGES FMTNAME=*format-name*\",\"type\":\"value\",\"arguments\":[{\"name\":\"FMTNAME=\",\"description\":\"specifies the name of the format to list.\",\"help\":\"FMTNAME=*format-name*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1lzvf2ilajj42n1sctjxuw4ofzi\"}],\"supportSiteTargetFragment\":\"p0jryhspjerpyrn1grlnakp5d7ru\"},{\"name\":\"LISTFMTSEARCH\",\"optional\":true,\"description\":\"displays the format library search list for the session.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0encm2uftqsvvn1rce1cc4y9r9a\"},{\"name\":\"LISTFORMATS\",\"optional\":true,\"description\":\"lists the user-defined format libraries that are known to SAS.\",\"help\":\"LISTFORMATS &lt;FMTLIBNAME=*format-library-name*&gt; &lt;SCOPE=BOTH | SESSION | GLOBAL&gt; &lt;MEMBERS&gt;\",\"type\":\"standaloneOrValue\",\"arguments\":[{\"name\":\"FMTLIBNAME=\",\"description\":\"specifies the name of the format library.\",\"help\":\"FMTLIBNAME=*format-library-name*\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"p122ergdd76nvin1ch4qqzab0p6l\"},{\"name\":\"SCOPE=\",\"description\":\"specifies the scope.\",\"help\":\"SCOPE=BOTH | SESSION | GLOBAL\",\"type\":\"choice\",\"arguments\":[{\"name\":\"BOTH\",\"description\":\"lists both SESSION and GLOBAL format libraries that are known to SAS.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1cb1aoqy97xtln1sthdezoewd7m\"},{\"name\":\"SESSION\",\"description\":\"lists the format libraries that are known to SAS.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n010rd5bypsiw0n1le5zrlf1y0y3\"},{\"name\":\"GLOBAL\",\"description\":\"lists the format libraries that are known globally to all SAS sessions.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1437xnn179xjpn13mbsxgpaevrc\"}],\"supportSiteTargetFragment\":\"n1wj4xrmp6nl3nn15s595qx6rda8\"},{\"name\":\"MEMBERS\",\"description\":\"lists the names of the members in each format library.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1b53ts4p4byc7n18w98v0xg3abn\"}],\"supportSiteTargetFragment\":\"p0m9vjf7ndtptin10q6yk1o6cuww\"},{\"name\":\"LISTHISTORY\",\"optional\":true,\"description\":\"prints the log of actions that were generated by statements and procedures and submitted to the CAS session.\",\"help\":\"LISTHISTORY&lt;*history_count* | _ALL_&gt;\",\"type\":\"standaloneOrValue\",\"arguments\":[{\"name\":\"history_count\",\"placeholder\":true,\"description\":\"specifies the number of the most recent actions that are to be listed.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p01msadsukiyh4n19t2zuzhf8mr9\"},{\"name\":\"_ALL_\",\"description\":\"lists all of the actions that have been executed in the current session.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0w9jpznzgs6y6n1t33pm22xbqik\"}],\"supportSiteTargetFragment\":\"p0x2ymjt06p6dbn17x2ajhvvv1al\"},{\"name\":\"LISTSERVERSTARTOPTS\",\"optional\":true,\"aliases\":[\"LISTSSO\"],\"description\":\"lists the SAS Cloud Analytic Services options and their current values.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1wsy2cztp9je4n1273ihdbmszhe\"},{\"name\":\"LISTSESSIONS\",\"optional\":true,\"description\":\"writes to the SAS log information about all of the current user's sessions that are known to SAS Cloud Analytic Services.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p07ov25ko537kfn1odult2sk0u2x\"},{\"name\":\"LISTSESSOPTS\",\"optional\":true,\"description\":\"lists the session options.\",\"help\":\"LISTSESSOPTS \",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0ki0aup7xtg1bn1j2cmrk1hogfg\"},{\"name\":\"PORT=\",\"optional\":true,\"aliases\":[\"CASPORT\"],\"description\":\"specifies the port on which the CAS Kubernetes service listens for client connections.\",\"help\":\"PORT=*number*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0g0qhwruulruvn16b2h21pl5jcs\"},{\"name\":\"PROMOTEFMTLIB\",\"optional\":true,\"description\":\"promotes a session-local format library to a global format library.\",\"help\":\"PROMOTEFMTLIB FMTLIBNAME=*format-library-name* &lt;REPLACE&gt;\",\"type\":\"dataSet\",\"arguments\":[{\"name\":\"FMTLIBNAME=\",\"description\":\"specifies the name of the format library.\",\"help\":\"FMTLIBNAME=*format-library-name*\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"n088edoddgltxxn1ogbho8b1zx8p\"},{\"name\":\"REPLACE\",\"description\":\"replaces the format library if it is already promoted.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p02adt73k0kfs6n1iy3ehj72ebhq\"}],\"supportSiteTargetFragment\":\"p0d85b4tcuusyyn1nphrkpv4wu4v\"},{\"name\":\"RECONNECT\",\"optional\":true,\"description\":\"reconnects to a session using a session name.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n00o9h73srdu2wn1qm402d86zdf4\"},{\"name\":\"SAVEFMTLIB\",\"optional\":true,\"description\":\"saves a session format library to a CAS table or to a file.\",\"help\":\"SAVEFMTLIB FMTLIBNAME=*format-library-name* &lt;*table-option(s)* | PATH=*path*&gt;\",\"type\":\"dataSet\",\"arguments\":[{\"name\":\"FMTLIBNAME=\",\"description\":\"specifies the name of the format library to save.\",\"help\":\"FMTLIBNAME=*format-library-name*\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"p19s1s9qxy5f7mn1ohh7jknmtv1d\"},{\"name\":\"CASLIB=\",\"description\":\"specifies the caslib in which the table is stored.\",\"help\":\"CASLIB=*caslib*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0c8doq41iki0rn1gtrm2cnhihvk\"},{\"name\":\"TABLE=\",\"description\":\"specifies the name of the table in which the format library is saved.\",\"help\":\"TABLE=*table-name*\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"p1xtnvipmvhpspn1wmm5dptghjmc\"},{\"name\":\"PROMOTE\",\"description\":\"promotes the format library to global scope so that it is available to all sessions.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n019fjfktlw7son1diob3toz034l\"},{\"name\":\"REPLACE\",\"aliases\":[\"REPLACETABLE\"],\"description\":\"replaces the table in the caslib if it already exists.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1ov0bmxpmy65qn1rluv67ihc6o1\"},{\"name\":\"PATH=\",\"description\":\"specifies the absolute path to the file in which the format library is to be saved.\",\"help\":\"PATH=*path*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n10q92c9141ecgn16b2ye0x1vbup\"}],\"supportSiteTargetFragment\":\"n12verldcvvlcwn1qkvflvp59qb9\"},{\"name\":\"SESSOPTS=\",\"optional\":true,\"description\":\"specifies one or more session option settings to apply during or after session start-up.\",\"help\":\"SESSOPTS=(*session-options*)\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0v0v63tt25h5bn15xhfi710rl78\"},{\"name\":\"TERMINATE\",\"optional\":true,\"aliases\":[\"CLEAR\"],\"description\":\"terminates a single connected or disconnected session, or all of the connected and disconnected sessions in your SAS client.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0mks0q242bnjln1la8ppld51o0k\"},{\"name\":\"USER=\",\"optional\":true,\"aliases\":[\"CASUSER\"],\"description\":\"specifies the user ID to use for connecting to SAS Cloud Analytic Services.\",\"help\":\"USER=*user-ID*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1wudn23dwswfwn1x0v7bt4b3wgv\"},{\"name\":\"UUID=\",\"optional\":true,\"description\":\"specifies the UUID of an existing session to which you want to connect.\",\"help\":\"UUID=\\\"*session-uuid*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1rtiafa7m1gomn1ot18jtkd7t5d\"},{\"name\":\"UUIDMAC=\",\"optional\":true,\"description\":\"specifies a SAS macro variable name into which the UUID of the session is stored.\",\"help\":\"UUIDMAC=*macro-variable-name*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1tc7no9591t86n1tgrbu0hqiv4o\"},{\"name\":\"session-reference\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies a valid SAS name that is less than 256 characters.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0qmtz23o31454n1hpdnf385bmqf\"}],\"supportSiteInformation\":{\"docsetId\":\"casref\",\"docsetVersion\":\"v_004\",\"docsetTargetFile\":\"n0z3r80fjqpobvn1lvegno9gefni.htm\"}},{\"name\":\"CASLIB\",\"description\":\"Adds and manages caslibs in a SAS Cloud Analytic Services session.\",\"help\":\"Form 1: \\nCASLIB caslib-reference-name<SESSREF=session-reference><DATASOURCE=(SRCTYPE=\\\"type\\\"                      <data-source-options>                ) >\\n<PATH=\\\"directory-path\\\"><options>;\\nForm 2: \\nCASLIB caslib-reference-nameLIST<SESSREF=session-reference> ;\\nForm 3: \\nCASLIB _ALL_ ASSIGN |         \\n       _ALL_ LIST<SESSREF=session-reference>;\",\"arguments\":[{\"name\":\"caslib-reference-name\",\"placeholder\":true,\"description\":\"specifies the name of the caslib. Names of session caslibs must be unique within the session. Names of global caslibs must be unique across all sessions within a server.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0z2j1bjz4zof0n1rsb7qy6z3pjs\"},{\"name\":\"ASSIGN\",\"optional\":true,\"description\":\"used with the _ALL_ option to assign SAS librefs for existing caslibs so that they are visible in the SAS Studio Libraries tree.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1hp9bsdzocjwun12w0l6dvuc078\"},{\"name\":\"_ALL_\",\"optional\":true,\"description\":\"specifies that the ASSIGN, or LIST argument applies to all currently added caslibs.\",\"help\":\"_ALL_ \",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p02nt3vhtwcbdfn12yifk3nkjm8z\"},{\"name\":\"CREATEDIRECTORY\",\"optional\":true,\"aliases\":[\"CREATEDIR\"],\"description\":\"creates a subdirectory in the caslib's data source. The path, up to the last directory, must already exist.\",\"help\":\"CREATEDIRECTORY \",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n06bu86jwcjlzbn1trgl09l2jro1\"},{\"name\":\"DATASOURCE=\",\"optional\":true,\"description\":\"specifies data source options to use when connecting to a data source. The SRCTYPE=\\\"type\\\" option specifies the data source type. Data sources can be either databases or path-based. The data-source-options syntax depends on the data source.\",\"help\":\"DATASOURCE=                      (SRCTYPE=\\\"*type*\\\",                         &lt;*data-source-options*&gt;,                         &lt;ENCRYPTIONPASSWORD=\\\"*string*\\\"&gt;,                         &lt;ENCRYPTIONDOMAIN=\\\"*string*”&gt;)\",\"type\":\"value\",\"arguments\":[{\"name\":\"ENCRYPTIONDOMAIN=\",\"description\":\"specifies the name for a collection of data that is stored with a common encryption password.\",\"help\":\"ENCRYPTIONDOMAIN=\\\"*string*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1xnu6346jhixnn1r4bgogwj8frc\"},{\"name\":\"ENCRYPTIONPASSWORD=\",\"description\":\"specifies a password for encrypting or decrypting stored data.\",\"help\":\"ENCRYPTIONPASSWORD=\\\"*string*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1ulh3rqrqm0gsn182lgvb1j26dm\"}],\"supportSiteTargetFragment\":\"p031qnqqjx0bfmn1hayacgha0y1l\"},{\"name\":\"DESCRIPTION=\",\"optional\":true,\"aliases\":[\"DESC=\"],\"description\":\"specifies a description of the data source.\",\"help\":\"DESCRIPTION=\\\"*description*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1jhfoo6bknit9n1x5vbievwp958\"},{\"name\":\"DROP\",\"optional\":true,\"aliases\":[\"CLEAR\"],\"description\":\"drops a session scope caslib.\",\"help\":\"DROP \",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0obs4a9lpz665n1hf6uohvzj7bd\"},{\"name\":\"GLOBAL\",\"optional\":true,\"description\":\"adds the caslib so that it has global scope. For a global-scope caslib, you can set access controls so that it is accessible from all sessions and can be a way to share data. Other connections to the server that get their own sessions have access to the caslib, subject to access controls. If you do not specify GLOBAL, the caslib is created with session scope. You must also grant access to the caslib in the CAS Server Monitor. You can add caslibs only if you are authorized to do so. See .\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0mfwqulpyom61n1k1uylah9uoor\"},{\"name\":\"LIBREF=\",\"optional\":true,\"description\":\"creates a libref and associates it with a caslib. The libref can then be used to access data in SAS Cloud Analytic Services.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n02dsfjlahrikhn1oq3i2s0fv5c9\"},{\"name\":\"LIST\",\"optional\":true,\"description\":\"displays caslib names and their specifications. To display all caslibs, specify _ALL_ for the caslib-reference-name .\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1k8dwxr3z17rln0zd76ak7jerww\"},{\"name\":\"NOTACTIVE\",\"optional\":true,\"description\":\"specifies that the caslib being added does not become the active caslib for the session.\",\"help\":\"NOTACTIVE \",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1xuy949z48ramn154wwr84l3g4u\"},{\"name\":\"PATH=\",\"optional\":true,\"description\":\"specifies the fully qualified path to a directory to use as a data source.\",\"help\":\"PATH=\\\"*directory-path*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1klciw0v0jg8xn1ty2pe3kw0pfn\"},{\"name\":\"SESSION\",\"optional\":true,\"aliases\":[\"LOCAL\"],\"description\":\"adds the caslib so that it is session-scope. Other connections to the server that get their own sessions do not have access to the caslib. The lifetime of the caslib is the lifetime of the session. When you add caslibs, SESSION is the default.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0octwahjebh93n1soyo2k1dapgl\"},{\"name\":\"SESSREF=\",\"optional\":true,\"description\":\"specifies the name of the session to associate the caslib with. By default, the most recently started session is used.\",\"help\":\"SESSREF=*session-reference*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n019xa9joof599n1wexu3cz48tps\"},{\"name\":\"SUBDIRS\",\"optional\":true,\"description\":\"specifies that subdirectories of the specified PATH= directory can be accessed with the caslib.\",\"help\":\"SUBDIRS \",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n13czjjhjhcp95n1hsoordfyck3a\"},{\"name\":\"TABLEREDISTUPPOLICY\",\"optional\":true,\"description\":\"specifies how tables loaded in the caslib are redistributed when a server scale-up occurs.\",\"help\":\"TABLEREDISTUPPOLICY = NOREDIST | REBALANCE\",\"type\":\"choice\",\"arguments\":[{\"name\":\"NOREDIST\",\"description\":\"specifies that tables loaded in the caslib will not be redistributed when a server scale-up occurs\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n08a2c0dab7uzpn1dx4pn16s5kig\"},{\"name\":\"REBALANCE\",\"description\":\"specifies that tables loaded in the caslib will be balanced across the available nodes or pods when a server scale-up occurs.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0vp37hcndhc0in1rn9mavl7ons6\"}],\"supportSiteTargetFragment\":\"p0d8xi54lf2p1jn14ufha7t3pz37\"}],\"supportSiteInformation\":{\"docsetId\":\"casref\",\"docsetVersion\":\"v_004\",\"docsetTargetFile\":\"n0kizq68ojk7vzn1fh3c9eg3jl33.htm\"}},{\"name\":\"DECLARE\",\"description\":\"Declares an ODS object and creates an instance of and initializes data for an ODS object.\",\"help\":\"DECLARE  ODSOUT *object-reference*&lt;( )&gt;;\",\"aliases\":[\"DCL\"],\"arguments\":[{\"name\":\"ODSOUT\",\"description\":\"is the class name.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1oot8okplp0tjn1v819ndjup8l4\"},{\"name\":\"object-reference\",\"placeholder\":true,\"description\":\"specifies the object reference name for the ODS object.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0lp16y3roh59qn185zx3vm4mq15\"},{\"name\":\"( )\",\"description\":\"instantiates the ODS object. As an alternative to the two-step process of using the DECLARE statement and the _NEW_ operator to declare and instantiate an ODS object, you can use the DECLARE statement to declare and instantiate the ODS object in one step. For example, in the following line of code, the DECLARE statement declares and instantiates an ODS object and assigns it to the object reference obj:\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p14gtl5zp1ed2pn1iywkg78fx9i6\"}],\"supportSiteInformation\":{\"docsetId\":\"odsadvug\",\"docsetVersion\":\"v_002\",\"docsetTargetFile\":\"n1hajt3yui39tgn11vvcdrvmyex3.htm\"}},{\"name\":\"ENDRSUBMIT\",\"description\":\"Marks the end of a block of statements that a client session submits to a server session for execution.\",\"help\":\"ENDRSUBMIT &lt;CANCEL&gt;;\",\"arguments\":[{\"name\":\"CANCEL\",\"optional\":true,\"description\":\"This option is useful in an interactive line mode session if you see an error in a previously entered statement, and you want to cancel the step.\",\"help\":\" CANCEL\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1nw6m1y0s0b6xn1tl795mc6tnfx\"}],\"supportSiteInformation\":{\"docsetId\":\"viyaconnref\",\"docsetVersion\":\"v_007\",\"docsetTargetFile\":\"n0lbiorcwrozyen15p4bhs7s64tu.htm\"}},{\"name\":\"KILLTASK\",\"description\":\"For asynchronous tasks, forces one or more active tasks or server sessions to terminate immediately.\",\"help\":\"KILLTASK _ALL_ | *task1...taskn*;\",\"arguments\":[{\"name\":\"_ALL_\",\"optional\":true,\"description\":\"terminates all active asynchronous tasks.\",\"help\":\" _ALL_\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p02wjp2iqnu6y1n1da842mq231hx\"},{\"name\":\"task\",\"optional\":true,\"placeholder\":true,\"description\":\"terminates a specific task by a name that corresponds to the server-ID that is associated with the CONNECTREMOTE= option in the RSUBMIT statement.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0gagei7trvxs0n11e3e0b8v10bb\"}],\"supportSiteInformation\":{\"docsetId\":\"viyaconnref\",\"docsetVersion\":\"v_007\",\"docsetTargetFile\":\"p1uaudnx3wy6fhn19lkg6x4cfshr.htm\"}},{\"name\":\"LISTTASK\",\"description\":\"Lists all active connections or tasks and identifies the execution status of each connection or task.\",\"help\":\"LISTTASK &lt;&lt;_ALL_&gt; | &lt;*task*&gt;|&gt;;\",\"arguments\":[{\"name\":\"_ALL_\",\"optional\":true,\"description\":\"provides status information about all current tasks.\",\"help\":\" _ALL_\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p18lf7pgjksfagn1j7z60wjemdmn\"},{\"name\":\"task\",\"optional\":true,\"placeholder\":true,\"description\":\"provides status information for the specified task. Identifies the specific task by a name that corresponds to the server-ID that is associated with the CONNECTREMOTE= option in the RSUBMIT or SIGNON statement.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n188go9l09n9vkn1vzcl7ob7t3cj\"}],\"supportSiteInformation\":{\"docsetId\":\"viyaconnref\",\"docsetVersion\":\"v_007\",\"docsetTargetFile\":\"p1b0xmeexfeexgn1eqri0pcdwp7t.htm\"}},{\"name\":\"RGET\",\"description\":\"Retrieves the log and output that are created by an asynchronous RSUBMIT and merges them into the Log and Output windows of the client session.\",\"help\":\"RGET &lt;&lt;CONNECTREMOTE=&gt;*server-ID*&gt;;\",\"arguments\":[{\"name\":\"CONNECTREMOTE=\",\"optional\":true,\"aliases\":[\"CREMOTE=\",\"PROCESS=\",\"REMOTE=\"],\"description\":\"specifies the name of the server session that generated the spooled log and output to be retrieved. If only one session is active, server-ID can be omitted. If multiple server sessions are active and the option is omitted, the spooled log and output statements from the most recently accessed server session are retrieved and merged into the client Log and Output windows. You can find out which server session is the current session by examining the value that is assigned to the CONNECTREMOTE system option.\",\"help\":\"CONNECTREMOTE=*server-ID**server-ID*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n19doaxrkaxd44n1fquf09b41e5k\"}],\"supportSiteInformation\":{\"docsetId\":\"viyaconnref\",\"docsetVersion\":\"v_007\",\"docsetTargetFile\":\"n0q2ykmhpz1p9on0zormk975zffd.htm\"}},{\"name\":\"RSPT\",\"description\":\"Statements used for remote SQL pass-through.\",\"help\":\"CONNECT TO dbms-name<AS alias><(dbms-argument-1=value <dbms-argument-2=value> ...)>;\\nSELECT . . . FROM CONNECTION TO dbms-name | alias (dbms-query);\\nEXECUTE  (SQL-statement) BY dbms-name | alias;\\nDISCONNECT FROM dbms-name | alias;\\n\\nCONNECT TO REMOTE <AS alias>\\n\\t(SERVER=serverid<SAPW=server-access-password>\\n\\n\\t<DBMS=dbms-name>\\n\\t\\t<PT2DBPW=passthrough-to-DBMS-password>\\n\\n\\t<DBMSARG=(dbms-argument-1=value <dbms-argument-2=value> ...)> );\\n\\nSELECT . . . FROM CONNECTION TO REMOTE | alias (dbms-query);\\nEXECUTE  (SQL-statement) BY REMOTE | alias; \\nDISCONNECT FROM REMOTE | alias;\",\"arguments\":[{\"name\":\"SERVER=\",\"optional\":true,\"description\":\"identifies the name of the SAS server. If the SAS/CONNECT single-user server is used, server-ID specifies the server session. In either case, server-ID should be the same name that is specified in the SERVER= option in a LIBNAME statement.\",\"help\":\"SERVER=*server-ID*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1pfo70wjpodj3n1by7cpe9nk7el\"},{\"name\":\"SAPW=\",\"optional\":true,\"description\":\"specifies the password for controlling user access to a multi-user server as specified in the UAPW= option in the PROC SERVER statement. If UAPW= is specified when the server is started, you must specify SAPW= in a CONNECT TO REMOTE statement that specifies that server.\",\"help\":\" SAPW=*server-access-password*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0zel50a3qcipfn1aluxl4mp4l6k\"},{\"name\":\"DBMS=\",\"optional\":true,\"description\":\"identifies the remote DBMS to connect to. This is the same name that you would specify in a CONNECT TO statement if you were connecting directly to the DBMS. This option is used if you want to connect to a remote DBMS instead of the remote SAS SQL processor.\",\"help\":\" DBMS=*dbms-name*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p14wmelv2v5yc1n1rr1m46pdhmhq\"},{\"name\":\"PT2DBPW=\",\"optional\":true,\"description\":\"specifies the password for controlling pass-through access to remote DBMS databases that are specified by using the PT2DBPW= option in the PROC SERVER statement. If PT2DBPW= is specified when the server is started, you must specify PT2DBPW= in a CONNECT TO REMOTE statement that specifies the same server and specifies DBMS=.\",\"help\":\" PT2DBPW=*passthrough-to-DBMS-password*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0b176bd3507ujn1h334vbha2fck\"},{\"name\":\"DBMSARG=\",\"optional\":true,\"description\":\"specifies the arguments that are required by the remote DBMS to establish the connection. These are the same arguments that you would specify in a CONNECT TO statement if you were connecting directly to the DBMS.\",\"help\":\" DBMSARG=(*dbms-argument-1=value* ... &lt;*dbms-argument-n=value*&gt;)\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p01n4qffgp7svrn14pwj0plntfu7\"},{\"name\":\"FROM\",\"optional\":true,\"description\":\"specifies the connection to the remote SAS SQL processor or the remote DBMS as the source of data for the SELECT statement and the recipient of the dbms-query. For remote SAS data that is accessed through the PROC SQL view engine, dbms-query is any valid SELECT statement in PROC SQL. For a remote DBMS, dbms-query is the same SQL query that you would specify if you were connected directly to the DBMS.\",\"help\":\"  FROM CONNECTION TO REMOTE\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p04h87ssm5fsfhn1q6zywhhcigp3\"},{\"name\":\"alias\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies the connection to the remote SAS SQL processor or the remote DBMS as the source of data for the SELECT statement and the recipient of the dbms-query. For remote SAS data that is accessed through the PROC SQL view engine, dbms-query is any valid SELECT statement in PROC SQL. For a remote DBMS, dbms-query is the same SQL query that you would specify if you were connected directly to the DBMS.\",\"help\":\"*alias* (*dbms-query*);\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p04h87ssm5fsfhn1q6zywhhcigp3\"},{\"name\":\"EXECUTE\",\"optional\":true,\"description\":\"specifies an SQL statement to be executed by the SAS SQL processor or by the remote DBMS in the server session. For remote SAS data that is accessed through the PROC SQL view engine, SQL-statement is any valid PROC SQL statement except SELECT. For a remote DBMS that is accessed through a single-user server in a SAS/CONNECT session, SQL-statement is the same SQL statement that you would specify if you were connected directly to the DBMS. For a remote DBMS, this statement might not be used if the DBMS is accessed through a remote multi-user server.\",\"help\":\" EXECUTE (*SQL-statement*) BY REMOTE\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1czvpo47nwcdqn10y6hbq0vouj8\"},{\"name\":\"alias;\",\"optional\":true,\"placeholder\":true,\"description\":\"specifies an SQL statement to be executed by the SAS SQL processor or by the remote DBMS in the server session. For remote SAS data that is accessed through the PROC SQL view engine, SQL-statement is any valid PROC SQL statement except SELECT. For a remote DBMS that is accessed through a single-user server in a SAS/CONNECT session, SQL-statement is the same SQL statement that you would specify if you were connected directly to the DBMS. For a remote DBMS, this statement might not be used if the DBMS is accessed through a remote multi-user server.\",\"help\":\"*alias*; \",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1czvpo47nwcdqn10y6hbq0vouj8\"},{\"name\":\"DISCONNECT\",\"optional\":true,\"description\":\"ends the connection to the remote DBMS or to the SAS SQL processor in the server session.\",\"help\":\"  DISCONNECT FROM REMOTE\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0l0irbi1cfo0fn0zo62zvbk7u4w\"},{\"name\":\"alias;\",\"optional\":true,\"placeholder\":true,\"description\":\"ends the connection to the remote DBMS or to the SAS SQL processor in the server session.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0l0irbi1cfo0fn0zo62zvbk7u4w\"}],\"supportSiteInformation\":{\"docsetId\":\"viyaconnref\",\"docsetVersion\":\"v_007\",\"docsetTargetFile\":\"p1ur128bkjrs4cn1lrjnsp4ptvm1.htm\"}},{\"name\":\"RSUBMIT\",\"description\":\"Marks the beginning of a block of statements that a client session submits to a server session for execution.\",\"help\":\"RSUBMIT <options>;   \\n\\tENDRSUBMIT <CANCEL>;\\n\\n\\tRGET <CONNECTREMOTE=><server-ID>;\\n\\n\\t%SYSRPUT macro-variable=value;\\n\\n\\t%SYSLPUT macro-variable=value</REMOTE=server-ID>;\\n\\n\\tWAITFOR <_ANY_ | _ALL_>task1task2 ...<TIMEOUT=seconds>;\\n\\n\\tLISTTASK <_ALL_ | task> ;\\n\\n\\tKILLTASK <_ALL_ | task1task2> ...;\\n\",\"arguments\":[{\"name\":\"CMACVAR=\",\"optional\":true,\"aliases\":[\"MACVAR=\"],\"description\":\"specifies the name of the macro variable in which SAS stores a code indicating the state of the current RSUBMIT. When an RSUBMIT is executed, SAS checks the state of the RSUBMIT and stores a return code of 0, 1, or 2 in the specified CMACVAR variable.\",\"help\":\"CMACVAR=*value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n099khlq739720n1cplutav6fq78\"},{\"name\":\"CONNECTPERSIST=\",\"optional\":true,\"aliases\":[\"CPERSIST=\",\"PERSIST=\"],\"description\":\"specifies whether a connection persists (continues) or is automatically terminated after an RSUBMIT has completed. A connection results from a sign–on to the server session.\",\"help\":\"CONNECTPERSIST=YES | NO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YES\",\"type\":\"standalone\"},{\"name\":\"NO\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"p13rcldtwmjdk2n1hqwgry829c2q\"},{\"name\":\"CONNECTREMOTE=\",\"optional\":true,\"aliases\":[\"CREMOTE=\",\"PROCESS=\",\"REMOTE=\"],\"description\":\"specifies the name of the server session that the RSUBMIT statements are executed in. If only one session is active, server-ID can be omitted. If multiple server sessions are active, omitting this option causes the program statements to be run in the most recently accessed server session. You can specify server-ID using the following formats:\",\"help\":\"CONNECTREMOTE=&lt;*server-ID*&gt;\",\"type\":\"standaloneOrValue\",\"arguments\":[{\"name\":\"process-name\",\"description\":\"process-name is a descriptive name that you assign to the server session on a multiprocessor computer when the SASCMD= option is used.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1xrt6hi96i378n1cpgdalo2sr4f\"},{\"name\":\"computer-name\",\"description\":\"computer-name is the name of a computer that is running a spawner that is not specified as a service. If the computer name is longer than eight characters, a SAS macro variable name should be used.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n18689ed8gk2ppn1nc86yt0ki2zf\"},{\"name\":\"computer-name.port-name\",\"placeholder\":true,\"description\":\"computer-name is the name of a server, and port-name is the name of the port that the spawner service runs on. If the computer name is longer than eight characters, assign the computer name to a SAS macro variable and use the macro variable name as the server ID.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1eglsjjyicbkbn17d84jhw6pf1q\"},{\"name\":\"computer-name.port-number\",\"placeholder\":true,\"description\":\"computer-name is the name of a server, and port-number is the port that the spawner service runs on.\\n• when used in a WAITFOR  statement that is used to wait for the completion of an asynchronous statement in a remote submit.\\n• when used in a LIBNAME statement.\",\"help\":\" *computer-name*.*port-number*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n065ploo79sbcon1to8f166vtzbs\"},{\"name\":\"computer-with-port\",\"placeholder\":true,\"description\":\"computer-with-port is a macro variable that contains the name of a server and the port that the spawner service runs on, separated by one or more spaces. This specification is appropriate in cases where the server-ID must be specified as a one-level name.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0aq6ijmt117ryn1v33j367eoqgb\"},{\"name\":\"computer-name._\",\"placeholder\":true,\"description\":\"computer-name is the name of a server and port-number is the port that the spawner service runs on.\",\"help\":\"*computer-name*._ _*port-number*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1pm6fpvzjmsitn12m8f2dlzyeme\"}],\"supportSiteTargetFragment\":\"n179f637ipaaeyn1paojrtsnwqu1\"},{\"name\":\"CONNECTWAIT=\",\"optional\":true,\"aliases\":[\"CWAIT=\",\"WAIT=\"],\"description\":\"specifies whether RSUBMIT blocks execute synchronously or asynchronously. Synchronous RSUBMIT statements are executed sequentially. An RSUBMIT must be completed in the server session before control is returned to the client session.\",\"help\":\"CONNECTWAIT=YES | NO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YES\",\"type\":\"standalone\"},{\"name\":\"NO\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"p0qi7vvvz5tgfrn1g2t33oi4w40i\"},{\"name\":\"CSYSRPUTSYNC=\",\"optional\":true,\"aliases\":[\"SYSRPUTSYNC=\"],\"description\":\"specifies whether to synchronize the client session's macro variables when the client session receives results from the server session or when a synchronization point is encountered. Macro variables are updated in the client session using the %SYSRPUT macro in an asynchronous RSUBMIT.\",\"help\":\"CSYSRPUTSYNC=YES | NO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YES\",\"type\":\"standalone\"},{\"name\":\"NO\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"p1arwv8yt0ajibn1f4644n196tek\"},{\"name\":\"INHERITLIB=\",\"optional\":true,\"description\":\"enables libraries that are defined in the client session to be inherited by the server session for Read and Write access. As an option, each client libref can be associated with a libref that is named differently in the server session. If the server libref is omitted, the client libref name is used in the server session. A space is used to separate each libref pair in a series, which is enclosed in parenthesis.\",\"help\":\" INHERITLIB=(*client-libref1* &lt;=*server-libref1*&gt; ... *client-librefn* &lt;=*server-librefn*&gt;)\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"n1bb7m4h2xt2zqn137gz270r73lj\"},{\"name\":\"LOG=\",\"optional\":true,\"description\":\"directs the SAS log or the SAS output that is generated by the current server session to the backing store or to the specified file. A backing store is a SAS utility file that is written to the client SAS Work directory.\",\"help\":\" LOG=KEEP | PURGE | *file-specification*&lt;NEW&gt;\",\"type\":\"choice\",\"arguments\":[{\"name\":\"KEEP\",\"description\":\"spools log or output lines, as applicable, to the backing store or to the computer on which the client session is running. The log or output lines can be retrieved using the RGET, RSUBMIT CONNECTWAIT=YES, or SIGNOFF statements. This is the default.\",\"help\":\"KEEP \",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1ire0n89q0jxzn1p3t3juft7m75\"},{\"name\":\"PURGE\",\"description\":\"deletes all the log or output lines that are generated by the current server session. PURGE is used to save disk resources. If you do not need the data, you can use PURGE to remove large volumes of log or output data that are written to the backing store.\",\"help\":\"PURGE \",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1kjcy9j5kc0tgn1sjdqqbjfxayf\"},{\"name\":\"file-specification\",\"description\":\"specifies a file as the destination for the log or output lines. The file is opened for output at the beginning of the asynchronous RSUBMIT and is closed at the end of the asynchronous RSUBMIT. After the current RSUBMIT has completed, subsequent RSUBMIT log or output lines can be appended to the preceding RSUBMIT destination file using the LOG= or OUTPUT= options. If you specify the same filename for multiple RSUBMIT statements and you do not specify the NEW or MOD options, then the log data will be appended to the current file by default.\",\"help\":\"*file-specification*&lt;NEW&gt;\",\"type\":\"value\",\"arguments\":[{\"name\":\"\\\"filename\",\"placeholder\":true,\"description\":\"is the physical location of the SAS log file or the SAS output file. Enclose the filename in double or single quotation marks.\",\"help\":\"\\\"*filename*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0i0gy9lvor3kwn19mqexv7o4hi3\"},{\"name\":\"fileref\",\"placeholder\":true,\"description\":\"is a SAS name that is associated with the physical location of the SAS log file or the SAS output file.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0iwseu8axnzrtn1x94o2ndgbmhy\"},{\"name\":\"NEW\",\"description\":\"specifies that the file will be opened for new log output. For example, if the file already exists from previous RSUBMIT sessions, it is deleted and re-created rather than appended to the current output log file.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0pjoklkmbui86n1xjbf7ucx027q\"}],\"supportSiteTargetFragment\":\"p0t659q2p1tfv0n14vt6i7p45mc8\"}],\"supportSiteTargetFragment\":\"p1983vky5lj7uyn13qgbmd1rqj6c\"},{\"name\":\"OUTPUT=\",\"optional\":true,\"description\":\"directs the SAS log or the SAS output that is generated by the current server session to the backing store or to the specified file. A backing store is a SAS utility file that is written to the client SAS Work directory.\",\"help\":\"OUTPUT=KEEP | PURGE | *file-specification*&lt;NEW&gt;\",\"type\":\"choice\",\"arguments\":[{\"name\":\"KEEP\",\"description\":\"spools log or output lines, as applicable, to the backing store or to the computer on which the client session is running. The log or output lines can be retrieved using the RGET, RSUBMIT CONNECTWAIT=YES, or SIGNOFF statements. This is the default.\",\"help\":\"KEEP \",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1ire0n89q0jxzn1p3t3juft7m75\"},{\"name\":\"PURGE\",\"description\":\"deletes all the log or output lines that are generated by the current server session. PURGE is used to save disk resources. If you do not need the data, you can use PURGE to remove large volumes of log or output data that are written to the backing store.\",\"help\":\"PURGE \",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1kjcy9j5kc0tgn1sjdqqbjfxayf\"},{\"name\":\"file-specification\",\"description\":\"specifies a file as the destination for the log or output lines. The file is opened for output at the beginning of the asynchronous RSUBMIT and is closed at the end of the asynchronous RSUBMIT. After the current RSUBMIT has completed, subsequent RSUBMIT log or output lines can be appended to the preceding RSUBMIT destination file using the LOG= or OUTPUT= options. If you specify the same filename for multiple RSUBMIT statements and you do not specify the NEW or MOD options, then the log data will be appended to the current file by default.\",\"help\":\"*file-specification*&lt;NEW&gt;\",\"type\":\"value\",\"arguments\":[{\"name\":\"\\\"filename\",\"placeholder\":true,\"description\":\"is the physical location of the SAS log file or the SAS output file. Enclose the filename in double or single quotation marks.\",\"help\":\"\\\"*filename*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0i0gy9lvor3kwn19mqexv7o4hi3\"},{\"name\":\"fileref\",\"placeholder\":true,\"description\":\"is a SAS name that is associated with the physical location of the SAS log file or the SAS output file.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0iwseu8axnzrtn1x94o2ndgbmhy\"},{\"name\":\"NEW\",\"description\":\"specifies that the file will be opened for new log output. For example, if the file already exists from previous RSUBMIT sessions, it is deleted and re-created rather than appended to the current output log file.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0pjoklkmbui86n1xjbf7ucx027q\"}],\"supportSiteTargetFragment\":\"p0t659q2p1tfv0n14vt6i7p45mc8\"}],\"supportSiteTargetFragment\":\"p1983vky5lj7uyn13qgbmd1rqj6c\"},{\"name\":\"NOCSCRIPT\",\"optional\":true,\"aliases\":[\"NOSCRIPT\"],\"description\":\"specifies that no script file should be used for sign-on. NOCSCRIPT accelerates sign-on and conserves memory resources.\",\"help\":\" NOCSCRIPT\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1gliobrwafgrjn12zmybx2lpbay\"},{\"name\":\"PASSWORD=\",\"optional\":true,\"aliases\":[\"PASSWD=\",\"PASS=\",\"PWD=\",\"PW=\"],\"description\":\"specifies the password to use in order to sign on to a server session. The operating environment that the server session runs under can affect password naming conventions.\",\"help\":\"PASSWORD=*password* | *encoded-password* | _PROMPT_ \",\"type\":\"choice\",\"arguments\":[{\"name\":\"password\",\"placeholder\":true,\"description\":\"The value for this option is replaced by Xs in the log. To protect this password, you should use the security software at your site to limit access to the SAS program statements that create the server.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1xv9jo0fdu59yn12xmb02alw35e\"},{\"name\":\"\\\"encoded-password\\\"\",\"placeholder\":true,\"description\":\"is an encoded version of a password. Using encoded passwords promotes security and enables you to store SAS programs that do not contain clear-text passwords.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1va7epd91egsen1eg2z861ym7kx\"}],\"supportSiteTargetFragment\":\"p0yrpfo1ozkqcnn1hugllpjp3un3\"},{\"name\":\"SASCMD=\",\"optional\":true,\"description\":\"signs on to the server session on the same symmetric multiprocessing (SMP) computer that the client session is running on. This option is most useful when client and server sessions run on SMP hardware.\",\"help\":\"SASCMD=*SAS-command* | \\\"!sascmd\\\" | \\\"!sascmdv\\\" | *host-command-file*\",\"type\":\"choice\",\"arguments\":[{\"name\":\"\\\"SAS\",\"placeholder\":true,\"description\":\"Specifies the SAS command that is used to sign on to a server session.\",\"help\":\"\\\"*SAS command*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1jz7wonfja5v4n11h4joba3cja9\"},{\"name\":\"!sascmd\",\"description\":\"Signs on to a server session by using the same command that was used to start the client session.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n119axrnqn4vlan1i9t5ya1kj7zg\"},{\"name\":\"!sascmdv\",\"description\":\"Signs on to a server session by using the same command that was used to start the client session. The SAS invocation is written to the SAS log.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0ow27zd6xibcdn1pk6gecw5ults\"},{\"name\":\"\\\"host-command-file\\\"\",\"placeholder\":true,\"description\":\"To execute additional commands before SAS is invoked, you can write a command file. The file extensions include .sh, .csh, and .ksh.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n05aneikd221den1i8xilcamit78\"}],\"supportSiteTargetFragment\":\"p17y7aertbhmxgn17eojba5a207t\"},{\"name\":\"SIGNONWAIT=\",\"optional\":true,\"description\":\"specifies whether a sign-on to a server session is to be executed synchronously or asynchronously. You can sign on using the SIGNON statement or the AUTOSIGNON system option.\",\"help\":\" SIGNONWAIT=YES | NO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YES\",\"type\":\"standalone\"},{\"name\":\"NO\",\"type\":\"standalone\"}],\"supportSiteTargetFragment\":\"n1x1skqmp9mrscn1c0v8y5fb17sx\"},{\"name\":\"USERNAME=\",\"optional\":true,\"aliases\":[\"USERID=\",\"USER=\",\"UID=\"],\"description\":\"specifies the user ID to be used when connecting to a server session.\",\"help\":\"USERNAME=*user-ID* | _PROMPT_ \",\"type\":\"choice\",\"arguments\":[{\"name\":\"user-ID\",\"placeholder\":true,\"description\":\"specifies the name to be used when using the RSUBMIT statement to submit code to a remote server session. For details about a valid user ID, see .\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0v2mhpm2lpgxhn1994gudpp6k8b\"},{\"name\":\"_PROMPT_\",\"description\":\"specifies that SAS prompt the user for a valid user ID. This value enforces security.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0b4hmaphzt8y9n1c90j8tykdair\"}],\"supportSiteTargetFragment\":\"n0bifmy2orf4usn0zaqmufi1s0z4\"}],\"supportSiteInformation\":{\"docsetId\":\"viyaconnref\",\"docsetVersion\":\"v_007\",\"docsetTargetFile\":\"n1bxfrbv5qhnehn1cni59jnjb81a.htm\"}},{\"name\":\"SIGNOFF\",\"description\":\"Ends the connection between a client session and a server session.\",\"help\":\"SIGNOFF &lt;*options*&gt;;\",\"arguments\":[{\"name\":\"_ALL_\",\"optional\":true,\"description\":\"ends all client/server connections running in parallel.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n01fqt96ud598ln18th8gsse2oj3\"},{\"name\":\"CMACVAR=\",\"optional\":true,\"aliases\":[\"MACVAR=\"],\"description\":\"specifies the name of the macro variable to associate with the sign-off. When CMACVAR= is specified, SAS generates a return code that provides information about the state of the sign-off. Except for this condition, the macro variable is set after the SIGNOFF statement is completed.\",\"help\":\" CMACVAR=*value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1p2qohi2i2hv4n1vegu5is1waq6\"},{\"name\":\"CONNECTREMOTE=\",\"optional\":true,\"aliases\":[\"CREMOTE=\",\"REMOTE=\",\"PROCESS=\"],\"description\":\"specifies the name of the server session that you want to sign off from. If only one session is active, server-ID can be omitted. If multiple server sessions are active, omitting this option signs off the most recently accessed server session. You can find out which server session is current by examining the value assigned to the CONNECTREMOTE= system option.\",\"help\":\"  CONNECTREMOTE=*server-ID*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n02q55s74qkarqn108837yaz2igf\"},{\"name\":\"server-ID\",\"optional\":true,\"placeholder\":true,\"aliases\":[\"CREMOTE=\",\"REMOTE=\",\"PROCESS=\"],\"description\":\"specifies the name of the server session that you want to sign off from. If only one session is active, server-ID can be omitted. If multiple server sessions are active, omitting this option signs off the most recently accessed server session. You can find out which server session is current by examining the value assigned to the CONNECTREMOTE= system option.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n02q55s74qkarqn108837yaz2igf\"},{\"name\":\"CSCRIPT=\",\"optional\":true,\"aliases\":[\"SCRIPT=\"],\"description\":\"specifies the script file to be used during sign-off. CSCRIPT can be specified as a fileref or a fully qualified pathname that is enclosed in parenthesis. If multiple CSCRIPT= options are specified, the last specification takes precedence.\",\"help\":\" CSCRIPT=*fileref* | *'filespec'*\",\"type\":\"choice\",\"arguments\":[{\"name\":\"fileref\",\"placeholder\":true,\"description\":\"is the name of the reference file that is associated with the script that ends the connection. A previously executed FILENAME statement must define the fileref.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0050ih7mpfuv4n1na0qhlrkvrbu\"},{\"name\":\"'filespec'\",\"placeholder\":true,\"description\":\"is the name of the SAS/CONNECT script that you want to execute. If you have not defined a fileref for the script that you want to execute, use the filespec in the SIGNOFF statement. The filespec can be either a fully qualified filename or the name of a file in the current working directory.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1lhx0z611r7zon1c2l5zbn9xe36\"}],\"supportSiteTargetFragment\":\"p06ezdybqt77phn11rdprlqha36p\"},{\"name\":\"NOCSCRIPT\",\"optional\":true,\"aliases\":[\"NOSCRIPT\"],\"description\":\"specifies that no SAS/CONNECT script should be used for sign-off. NOCSCRIPT is useful if you have defined the RLINK fileref but do not want to use it during sign-off. NOCSCRIPT accelerates sign-off and saves memory resources.\",\"help\":\" NOCSCRIPT\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0donnmw4n9duin1nwcwdybors4s\"}],\"supportSiteInformation\":{\"docsetId\":\"viyaconnref\",\"docsetVersion\":\"v_007\",\"docsetTargetFile\":\"n0qjvnv58dpwfan1lh41lpamrx4w.htm\"}},{\"name\":\"SIGNON\",\"description\":\"Initiates a connection between a client session and a server session.\",\"help\":\"SIGNON &lt;*options*&gt;;\",\"arguments\":[{\"name\":\"CMACVAR=\",\"optional\":true,\"aliases\":[\"MACVAR=\"],\"description\":\"specifies the name of the macro variable in which SAS stores a code indicating the state of the current sign-on. When a SIGNON is executed, SAS checks the state of the sign-on and stores a return code of 0, 1, or 2 in the specified CMACVAR variable. The return code is generated after SIGNON processing is complete and the name that you specify becomes the default name for the current server session. The CMACVAR macro variable can then be programmatically queried to learn the processing status of the sign-on (completed, failed, or in progress). See for a description of what each return code means.\",\"help\":\"CMACVAR=*value*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p00k2u9l53lwo6n1i9kk0un5t288\"},{\"name\":\"CONNECTREMOTE=\",\"optional\":true,\"aliases\":[\"CREMOTE=\",\"PROCESS=\",\"REMOTE=\"],\"description\":\"specifies the name of the server session that you want to sign on to. If only one session is active, server-ID can be omitted. If multiple server sessions are active, omitting this option causes the program statements to be run in the most recently accessed server session. The current server session is identified by the value that is assigned to the CONNECTREMOTE system option.\",\"help\":\"CONNECTREMOTE=&lt;*server-ID*&gt;\",\"type\":\"standaloneOrValue\",\"arguments\":[{\"name\":\"process-name\",\"placeholder\":true,\"description\":\"process-name is a descriptive name that you assign to the server session on a multiprocessor computer when the SASCMD= option is used.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p036ykhinw5l6qn1sr73dvt03w1v\"},{\"name\":\"computer-name\",\"placeholder\":true,\"description\":\"computer-name is the name of a computer that is running a spawner that is not specified as a service. If the computer name is longer than eight characters, a SAS macro variable name should be used.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n04wztij5v7kuun1m8cuty06tr2w\"},{\"name\":\"computer-name.port-name\",\"placeholder\":true,\"description\":\"computer-name is the name of a server, and port-name is the name of the port that the spawner service runs on. If the computer name is longer than eight characters, assign the computer name to a SAS macro variable and use the macro variable name as the server ID.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1vqb0xtmigggmn1sso8kcr5o951\"},{\"name\":\"computer-name.port-number\",\"placeholder\":true,\"description\":\"computer-name is the name of a server, and port-number is the port that the spawner service runs on.\\n• when used in a WAITFOR  statement that is used to wait for the completion of an asynchronous RSUBMIT.\\n• when used in a LIBNAME statement.\",\"help\":\" *computer-name*.*port-number*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p00mzjujbpnidqn19boqm9rlvr0i\"},{\"name\":\"computer-with-port\",\"placeholder\":true,\"description\":\"computer-with-port is a macro variable that contains the name of a server and the port that the spawner service runs on, separated by one or more spaces. This specification is appropriate in cases where the server-ID must be specified as a one-level name.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0y68jzeh8hsxin1pku3tjctg4p2\"},{\"name\":\"computer-name._\",\"placeholder\":true,\"description\":\"computer-name is the name of a server and port-number is the port that the spawner service runs on. This format should be used to specify the server-ID value for the SERVER= option in a LIBNAME statement.\",\"help\":\"*computer-name*._ _*port-number*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n0bpx7mdoshim3n1ec5h4hd3r5qj\"}],\"supportSiteTargetFragment\":\"p1d1z72hvox9esn1nmm4gjyrsikq\"},{\"name\":\"CONNECTSTATUS=\",\"optional\":true,\"aliases\":[\"CSTATUS=\",\"STATUS=\"],\"description\":\"specifies whether the Transfer Status window is displayed for file transfers within the current server session.\",\"help\":\"CONNECTSTATUS=YES | NO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YES\",\"aliases\":[\"Y\"],\"description\":\"specifies that the Transfer Status window is displayed for file transfers within the current server session.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1js2akow2l1xan1650ayn3btgg2\"},{\"name\":\"NO\",\"aliases\":[\"N\"],\"description\":\"specifies that the Transfer Status window is not displayed for file transfers within the current server session.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0gcfzr3hm26fwn1t9rg87l2j5vu\"}],\"supportSiteTargetFragment\":\"n1o2iwe3btxgf3n11t1v2ih747wr\"},{\"name\":\"CONNECTWAIT=\",\"optional\":true,\"aliases\":[\"CWAIT=\",\"WAIT=\"],\"description\":\"specifies whether RSUBMIT blocks execute synchronously or asynchronously. Synchronous RSUBMIT statements are executed sequentially. An RSUBMIT must be completed in the server session before control is returned to the client session.\",\"help\":\"CONNECTWAIT=YES | NO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YES\",\"aliases\":[\"Y\"],\"description\":\"specifies that the RSUBMIT blocks execute synchronously.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1l4da4l79hclwn1dc9ahexcshph\"},{\"name\":\"NO\",\"aliases\":[\"N\"],\"description\":\"specifies that the RSUBMIT blocks execute asynchronously.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n0jn9webnd55zen1ogap093vnpu4\"}],\"supportSiteTargetFragment\":\"n0ozht8tcobhjqn1dpz5az3lu34a\"},{\"name\":\"CSCRIPT=\",\"optional\":true,\"aliases\":[\"SCRIPT=\"],\"description\":\"specifies the SAS/CONNECT script file to be used during sign-on.\",\"help\":\"CSCRIPT=*file-specification*\",\"type\":\"value\",\"arguments\":[{\"name\":\"”filename”\",\"placeholder\":true,\"description\":\"specifies the name of the script file or specifies the name of the script file along with its location (pathname). Enclose the filename and fully qualified filename in double or single quotation marks.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p04lfiei0mukifn1qpws7j1b4r9a\"},{\"name\":\"“fully-qualified-filename\\\"\",\"placeholder\":true,\"description\":\"specifies the name of the script file or specifies the name of the script file along with its location (pathname). Enclose the filename and fully qualified filename in double or single quotation marks.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p04lfiei0mukifn1qpws7j1b4r9a\"},{\"name\":\"fileref\",\"placeholder\":true,\"description\":\"is the name of the reference file that is associated with the script file. A previously executed FILENAME statement must define the fileref.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1v0kz3u2m3g2qn1aonwffpyqmnn\"},{\"name\":\"\\\"SASSCRIPT-specification\\\"\",\"placeholder\":true,\"description\":\"is the physical location of the SAS/CONNECT script file in the directory that is specified by the SASSCRIPT system option.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1tpfpc8rr685an1ohqsn7fg5jbz\"}],\"supportSiteTargetFragment\":\"p0g33lew0wg98qn11bto5yieircv\"},{\"name\":\"CSYSRPUTSYNC=\",\"optional\":true,\"aliases\":[\"SYSRPUTSYNC=\"],\"description\":\"specifies whether to synchronize the client session's macro variables when the client session receives results from the server session or when a synchronization point is encountered. Macro variables are updated in the client session using the %SYSRPUT macro in a SIGNON statement.\",\"help\":\"CSYSRPUTSYNC=YES | NO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YES\",\"aliases\":[\"Y\"],\"description\":\"specifies that the client session's macro variables will be updated when the client receives the results of the server session's execution of the %SYSRPUT macro. The results are delivered in the form of a packet. Specifying YES does not mean that the client's macro variables will be updated immediately after the server's execution of the %SYSRPUT macro variable. YES means that the client's macro variables will be updated when the client receives the packet from the server. Therefore, the exact time at which the client's macro variables are updated will depend on the availability of the client to receive the packet. If the client is busy, the server will wait until the client session is ready to receive the packet.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1t9g0hys5oawpn1n3s45ybirhct\"},{\"name\":\"NO\",\"aliases\":[\"N\"],\"description\":\"specifies that the client session's macro variables will be updated when a synchronization point is encountered. This is the default.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0gd67l1si0vo2n1a5vrb16hh3np\"}],\"supportSiteTargetFragment\":\"p1nwyo8qosrjnon1pasnsckmgeco\"},{\"name\":\"INHERITLIB=\",\"optional\":true,\"description\":\"enables libraries that are defined in the client session to be inherited by the server session for Read and Write access. Also, each client libref can be associated with a libref that is named differently in the server session. A space is used to separate each libref pair in a series, which is enclosed in parentheses.\",\"help\":\" INHERITLIB=(*client-libref1*&lt;*=server-libref1*&gt; ... *client-librefn*&lt;*=server-librefn*&gt;)\",\"type\":\"dataSet\",\"supportSiteTargetFragment\":\"n1qgp54vc38tgxn19hu2kkt0u99t\"},{\"name\":\"LOG=\",\"optional\":true,\"description\":\"Used only when NOSIGNONWAIT is in effect, these options direct the SAS log or the SAS output that is generated by the current server session to the backing store or to a file specification. A backing store is a SAS utility file that is written to disk in the client SAS Work library.\",\"help\":\"LOG=KEEP | PURGE | *file-specification*&lt;NEW&gt;\",\"type\":\"choice\",\"arguments\":[{\"name\":\"KEEP\",\"description\":\"spools log or output lines, as applicable, to the backing store or to the computer on which the client session is running. The log or output lines can be retrieved using the RGET, RSUBMIT CONNECTWAIT=YES, or SIGNOFF statement. This is the default.\",\"help\":\"KEEP \",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p01p80whzz11s6n1xtf8zwoyaelk\"},{\"name\":\"PURGE\",\"description\":\"deletes all the log or output lines that are generated by the current server session. PURGE is used to save disk resources. If you do not need the data, you can use PURGE to remove large volumes of log or output data that are written to the backing store.\",\"help\":\"PURGE \",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0udh3zzqpdvxsn0zsw6ijo43cpk\"},{\"name\":\"file-specification\",\"description\":\"specifies a file as the destination for the log or output lines. The file is opened for output at the beginning of the asynchronous SIGNON and is closed at the end of the asynchronous SIGNON. After the current SIGNON has completed, subsequent SIGNON log or output lines can be appended to the preceding SIGNON destination file using the LOG= or OUTPUT= options.\",\"help\":\"*file-specification* &lt;NEW&gt;\",\"type\":\"value\",\"arguments\":[{\"name\":\"\\\"filename\",\"placeholder\":true,\"description\":\"is the physical location of the SAS log file or the SAS output file. Enclose the filename in double or single quotation marks.\",\"help\":\"\\\"*filename*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n16vt51y5f843gn16xxg0yp386us\"},{\"name\":\"fileref\",\"placeholder\":true,\"description\":\"is a SAS name that is associated with the physical location of the SAS log file or the SAS output file.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0tnpgjzsbk9i0n1smc27lklw20l\"},{\"name\":\"NEW\",\"description\":\"specifies that a new file is to be opened for output. If the file already exists, then it is deleted and re-created. NEW is not the default.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1nzp41lb4x935n1bhno8lalyz6r\"}],\"supportSiteTargetFragment\":\"n11beexq2vbfx3n1ddf8uaru0lyn\"}],\"supportSiteTargetFragment\":\"p1jgmzewbyr2e0n1lma3spffb056\"},{\"name\":\"OUTPUT=\",\"optional\":true,\"description\":\"Used only when NOSIGNONWAIT is in effect, these options direct the SAS log or the SAS output that is generated by the current server session to the backing store or to a file specification. A backing store is a SAS utility file that is written to disk in the client SAS Work library.\",\"help\":\"OUTPUT=KEEP | PURGE | *file-specification*&lt;NEW&gt;\",\"type\":\"choice\",\"arguments\":[{\"name\":\"KEEP\",\"description\":\"spools log or output lines, as applicable, to the backing store or to the computer on which the client session is running. The log or output lines can be retrieved using the RGET, RSUBMIT CONNECTWAIT=YES, or SIGNOFF statement. This is the default.\",\"help\":\"KEEP \",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p01p80whzz11s6n1xtf8zwoyaelk\"},{\"name\":\"PURGE\",\"description\":\"deletes all the log or output lines that are generated by the current server session. PURGE is used to save disk resources. If you do not need the data, you can use PURGE to remove large volumes of log or output data that are written to the backing store.\",\"help\":\"PURGE \",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0udh3zzqpdvxsn0zsw6ijo43cpk\"},{\"name\":\"file-specification\",\"description\":\"specifies a file as the destination for the log or output lines. The file is opened for output at the beginning of the asynchronous SIGNON and is closed at the end of the asynchronous SIGNON. After the current SIGNON has completed, subsequent SIGNON log or output lines can be appended to the preceding SIGNON destination file using the LOG= or OUTPUT= options.\",\"help\":\"*file-specification* &lt;NEW&gt;\",\"type\":\"value\",\"arguments\":[{\"name\":\"\\\"filename\",\"placeholder\":true,\"description\":\"is the physical location of the SAS log file or the SAS output file. Enclose the filename in double or single quotation marks.\",\"help\":\"\\\"*filename*\\\"\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n16vt51y5f843gn16xxg0yp386us\"},{\"name\":\"fileref\",\"placeholder\":true,\"description\":\"is a SAS name that is associated with the physical location of the SAS log file or the SAS output file.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0tnpgjzsbk9i0n1smc27lklw20l\"},{\"name\":\"NEW\",\"description\":\"specifies that a new file is to be opened for output. If the file already exists, then it is deleted and re-created. NEW is not the default.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1nzp41lb4x935n1bhno8lalyz6r\"}],\"supportSiteTargetFragment\":\"n11beexq2vbfx3n1ddf8uaru0lyn\"}],\"supportSiteTargetFragment\":\"p1jgmzewbyr2e0n1lma3spffb056\"},{\"name\":\"NOCSCRIPT\",\"optional\":true,\"aliases\":[\"NOSCRIPT\"],\"description\":\"specifies that no SAS/CONNECT script file should be used for sign-on. NOCSCRIPT accelerates sign-on and conserves memory resources.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1hnuntbzwr5cgn1vjci248tjus4\"},{\"name\":\"PASSWORD=\",\"optional\":true,\"aliases\":[\"PASSWD=\",\"PASS=\",\"PWD=\",\"PW=\"],\"description\":\"specifies the password to be used when connecting to a server. The operating environment that the server runs under can also affect password naming conventions. The value for password is replaced by Xs in the SAS log. To protect your password, use the security software at your site to limit access to the SAS program statements that create the server session.\",\"help\":\"PASSWORD=*password* | *encoded-password*\",\"type\":\"choice\",\"arguments\":[{\"name\":\"password\",\"placeholder\":true,\"description\":\"specifies a user-supplied password that meets the following requirements:\\n• can be up to 256 characters in length. \\n• can contain uppercase and lowercase letters.\\n• can contain periods ( . ) and spaces.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1k6fbv2hk8aacn1t3sl4ulsak3y\"},{\"name\":\"\\\"encoded-password\\\"\",\"placeholder\":true,\"description\":\"specifies an encoded password that was created using the PWENCODE procedure. Using encoded passwords promotes security and enables you to store SAS programs that do not contain clear-text passwords. To obtain an encoded password, use the PWENCODE procedure and specify the clear-text password as the value for the IN= option in the PROC PWENCODE statement. To use the generated encrypted password in a SIGNON statement, specify the entire string, including the key, as the value for the PASSWORD= option.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p1gk8j2dpax6b5n1v1p8v4tqec3g\"}],\"supportSiteTargetFragment\":\"p0s8mm3glrl5pgn12hhbgaxbs45b\"},{\"name\":\"SASCMD=\",\"optional\":true,\"description\":\"Starting in 2023.10, SASCMD sign-ons always start a server session in a new pod in the Kubernetes cluster by default.\",\"help\":\"SASCMD=*SAS-command* | \\\"!SASCMD\\\" | \\\"!SASCMDV\\\"\",\"type\":\"choice\",\"arguments\":[{\"name\":\"\\\"SAS-command\\\"\",\"placeholder\":true,\"description\":\"specifies a user-defined command that is used to start a SAS process. SAS/CONNECT adds the proper options to make the SAS session a SAS/CONNECT server session. The command file that starts the SAS session is specific to your operating environment. Linux extensions include .sh, .csh, and .ksh.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n1wetn8a76ci8bn19g0xsvodr9yo\"},{\"name\":\"\\\"!SASCMD\\\"\",\"description\":\"signs on to a server session using the same command that was used to start the client session. For example, if the SAS client session was started using the command\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1p3na260stxtmn1pirt4l62exmg\"},{\"name\":\"\\\"!SASCMDV\\\"\",\"description\":\"signs on to a server session using the same command that was used to start the client session and writes the SAS invocation to the SAS log. The “!SASCMDV” value is identical to the “!SASCMD” option value except that it also writes the SAS invocation to the SAS log.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"n1xlyjwz69z7qgn1ji68d3ij17sw\"}],\"supportSiteTargetFragment\":\"p0p9f1i3es9sxun1c4snvxley42b\"},{\"name\":\"SIGNONWAIT=\",\"optional\":true,\"description\":\"specifies whether a sign-on to a server session is to be executed synchronously or asynchronously.\",\"help\":\"SIGNONWAIT=YES | NO\",\"type\":\"choice\",\"arguments\":[{\"name\":\"YES\",\"aliases\":[\"Y\"],\"description\":\"specifies synchronous sign-on. A synchronous sign-on causes the client session to wait until the sign-on to a server session has completed before control is returned to the client session for continued execution. YES is the default.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1nga5omgvh06yn1x2j69x0tr0dn\"},{\"name\":\"NO\",\"aliases\":[\"N\"],\"description\":\"specifies an asynchronous sign-on. An asynchronous sign-on to a server session begins execution and control is returned to the client session immediately for continued execution. Asynchronous sign-on allows multiple tasks (including other sign-ons) to be executed in parallel. Asynchronous sign-ons reduce the total amount of time that would be used to execute individual sign-ons to multiple server sessions. Using the saved time, the client session can execute more statements.\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p140yiezhep1cyn1duxgm2pp8pje\"}],\"supportSiteTargetFragment\":\"n1aju8gicc7kwyn1pkyvutadulmb\"},{\"name\":\"TBUFSIZE=\",\"optional\":true,\"description\":\"specifies the size of the buffer that SAS/CONNECT uses for transferring data between a client session and a server session.\",\"help\":\" TBUFSIZE=*buffer-size-in-bytes*\",\"type\":\"value\",\"arguments\":[{\"name\":\"buffer-size-in-bytes\",\"placeholder\":true,\"description\":\"specifies the size of the buffer that SAS/CONNECT uses for transferring data. The value must be a number whose value is greater than 0 and is a multiple of 1024.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"n03vf5ao7rmxucn1w6wggkefxiqt\"}],\"supportSiteTargetFragment\":\"n0cnugapongp9fn1ddhgnctpxy9n\"},{\"name\":\"USERNAME=\",\"optional\":true,\"aliases\":[\"USER=\",\"USERID=\",\"UID=\"],\"description\":\"specifies the user ID to be used when connecting to a server session. Here are the values that can be assigned to USERNAME=:\",\"help\":\"USERNAME=*user-ID* \",\"type\":\"value\",\"arguments\":[{\"name\":\"user-ID\",\"placeholder\":true,\"description\":\"specifies the name to be used when signing on. For details about a valid user ID, see .\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p0pxbuku769xben1a9ekdsgf68f6\"}],\"supportSiteTargetFragment\":\"p1sy04gf2btmc0n14cac6qyz2f5b\"}],\"supportSiteInformation\":{\"docsetId\":\"viyaconnref\",\"docsetVersion\":\"v_007\",\"docsetTargetFile\":\"n0t65kl3rhn0fun1gdwb7h1jqqs0.htm\"}},{\"name\":\"WAITFOR\",\"description\":\"Causes the client session to wait for the completion of one or more tasks (asynchronous RSUBMIT statements) that are in progress.\",\"help\":\"WAITFOR &lt;_ANY_|_ALL_&gt;*task**task2* ...&lt;TIMEOUT=*seconds*&gt;;\",\"arguments\":[{\"name\":\"_ANY_\",\"optional\":true,\"description\":\"causes the client session to wait for the completion of any of the specified tasks (a logical OR of the completion task states).\",\"help\":\" _ANY_\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p0w8g5hdruguyxn1a2sdin64fgip\"},{\"name\":\"_ALL_\",\"optional\":true,\"description\":\"causes the client session to wait for the completion of all of the specified tasks (a logical AND of the completion task states).\",\"help\":\" _ALL_\",\"type\":\"standalone\",\"supportSiteTargetFragment\":\"p1oj7tdlwltgotn1bzsl4h3xo65c\"},{\"name\":\"task...taskn\",\"optional\":true,\"placeholder\":true,\"description\":\"identifies one or more asynchronous tasks to be completed. The task corresponds with the server–ID that is associated with the CONNECTREMOTE= option when the RSUBMIT is submitted.\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p117dtp84mwf91n1et1dod25ah3b\"},{\"name\":\"TIMEOUT=\",\"optional\":true,\"description\":\"allots the interval, in seconds, to wait for one or more asynchronous tasks to complete. If the specified tasks have not completed by time-out, then the WAITFOR statement is terminated, control is returned to the client session, and the asynchronous tasks continue to execute until they are completed. The SYSRC system macro variable will have a nonzero status.\",\"help\":\" TIMEOUT=*seconds*\",\"type\":\"value\",\"supportSiteTargetFragment\":\"p090329a12sr6wn1c2bzmf80d6x5\"}],\"supportSiteInformation\":{\"docsetId\":\"viyaconnref\",\"docsetVersion\":\"v_007\",\"docsetTargetFile\":\"n12np2ggz4cgg1n1k98ksy605xi8.htm\"}}]"
  },
  {
    "path": "server/pubsdata/procedures.json",
    "content": "[\n  \"ACCELERATOR\",\n  \"ACECLUS\",\n  \"ADAPTIVEREG\",\n  \"ANOM\",\n  \"ANOVA\",\n  \"APPEND\",\n  \"ARIMA\",\n  \"ASSESS\",\n  \"ASSESSBIAS\",\n  \"ASTORE\",\n  \"AUTOREG\",\n  \"BART\",\n  \"BCHOICE\",\n  \"BINNING\",\n  \"BNET\",\n  \"BOM\",\n  \"BOOLRULE\",\n  \"BOXPLOT\",\n  \"CAEFFECT\",\n  \"CALIS\",\n  \"CALLRFC\",\n  \"CANCORR\",\n  \"CANDISC\",\n  \"CAPABILITY\",\n  \"CARDINALITY\",\n  \"CAS\",\n  \"CASUTIL\",\n  \"CATALOG\",\n  \"CATMOD\",\n  \"CATTRANSFORM\",\n  \"CAUSALDISCOVERY\",\n  \"CAUSALGRAPH\",\n  \"CAUSALMED\",\n  \"CAUSALTRT\",\n  \"CCDM\",\n  \"CCOPULA\",\n  \"CESM\",\n  \"CIMPORT\",\n  \"CLP\",\n  \"CLUSTER\",\n  \"CNTSELECT\",\n  \"COMPARE\",\n  \"COMPILE\",\n  \"COMPUTAB\",\n  \"CONDENSEIMAGES\",\n  \"CONTENTS\",\n  \"COPULA\",\n  \"COPY\",\n  \"CORR\",\n  \"CORRELATION\",\n  \"CORRESP\",\n  \"COUNTREG\",\n  \"CPANEL\",\n  \"CPM\",\n  \"CPORT\",\n  \"CQLIM\",\n  \"CSPADE\",\n  \"CSPATIALREG\",\n  \"CSSM\",\n  \"CUSUM\",\n  \"DATA\",\n  \"DATAMETRICS\",\n  \"DATASETS\",\n  \"DATASOURCE\",\n  \"DATEKEYS\",\n  \"DBCSTAB\",\n  \"DEEPPRICE\",\n  \"DELETE\",\n  \"DFIL\",\n  \"DISCRIM\",\n  \"DISPLAYIMAGES\",\n  \"DISTANCE\",\n  \"DLMZEXPORT\",\n  \"DLMZSCORE\",\n  \"DLMZTRAIN\",\n  \"DMSRVADM\",\n  \"DMSRVDATASVC\",\n  \"DMSRVPROCESSSVC\",\n  \"DOCUMENT\",\n  \"DOWNLOAD\",\n  \"DQLOCLST\",\n  \"DQMATCH\",\n  \"DQSCHEME\",\n  \"DS2\",\n  \"DSTODS2\",\n  \"DTREE\",\n  \"DYNAMICLINEAR\",\n  \"EEL\",\n  \"EFA\",\n  \"ENTROPY\",\n  \"ERCOMPSTORE\",\n  \"ERQUERY\",\n  \"ERUPSERT\",\n  \"ESM\",\n  \"EXPAND\",\n  \"EXPORT\",\n  \"FACTEX\",\n  \"FACTMAC\",\n  \"FACTOR\",\n  \"FASTCLUS\",\n  \"FASTKNN\",\n  \"FCMP\",\n  \"FEDSQL\",\n  \"FISM\",\n  \"FITTEDQNET\",\n  \"FMM\",\n  \"FMTC2ITM\",\n  \"FONTREG\",\n  \"FOREST\",\n  \"FORMAT\",\n  \"FREQ\",\n  \"FREQTAB\",\n  \"G3D\",\n  \"G3GRID\",\n  \"GA\",\n  \"GAM\",\n  \"GAMMOD\",\n  \"GAMPL\",\n  \"GAMSELECT\",\n  \"GANNO\",\n  \"GANTT\",\n  \"GATEWAY\",\n  \"GBARLINE\",\n  \"GCHART\",\n  \"GCONTOUR\",\n  \"GDEVICE\",\n  \"GEE\",\n  \"GENMOD\",\n  \"GENSELECT\",\n  \"GEOCODE\",\n  \"GFONT\",\n  \"GINSIDE\",\n  \"GKPI\",\n  \"GLIMMIX\",\n  \"GLM\",\n  \"GLMMOD\",\n  \"GLMPOWER\",\n  \"GLMSELECT\",\n  \"GMAP\",\n  \"GMM\",\n  \"GOPTIONS\",\n  \"GPCLASS\",\n  \"GPLOT\",\n  \"GPREG\",\n  \"GPROJECT\",\n  \"GRADAR\",\n  \"GRADBOOST\",\n  \"GREDUCE\",\n  \"GREMOVE\",\n  \"GREPLAY\",\n  \"GROOVY\",\n  \"GSLIDE\",\n  \"GTILE\",\n  \"GVARCLUS\",\n  \"HADOOP\",\n  \"HMM\",\n  \"HP4SCORE\",\n  \"HPBIN\",\n  \"HPCANDISC\",\n  \"HPCDM\",\n  \"HPCLUS\",\n  \"HPCORR\",\n  \"HPCOUNTREG\",\n  \"HPDECIDE\",\n  \"HPDMDB\",\n  \"HPDS2\",\n  \"HPEXPORT\",\n  \"HPF\",\n  \"HPFARIMASPEC\",\n  \"HPFDIAGNOSE\",\n  \"HPFENGINE\",\n  \"HPFESMSPEC\",\n  \"HPFEVENTS\",\n  \"HPFEXMSPEC\",\n  \"HPFIDMSPEC\",\n  \"HPFMM\",\n  \"HPFOREST\",\n  \"HPFRECON\",\n  \"HPFSELECT\",\n  \"HPFTEMPRECON\",\n  \"HPFUCMSPEC\",\n  \"HPGENSELECT\",\n  \"HPIMPUTE\",\n  \"HPLMIXED\",\n  \"HPLOGISTIC\",\n  \"HPMIXED\",\n  \"HPNEURAL\",\n  \"HPNLMOD\",\n  \"HPPANEL\",\n  \"HPPLS\",\n  \"HPPRINCOMP\",\n  \"HPQLIM\",\n  \"HPQUANTSELECT\",\n  \"HPREDUCE\",\n  \"HPREG\",\n  \"HPSAMPLE\",\n  \"HPSEVERITY\",\n  \"HPSPLIT\",\n  \"HPSUMMARY\",\n  \"HTTP\",\n  \"ICA\",\n  \"ICLIFETEST\",\n  \"ICPHREG\",\n  \"IML\",\n  \"IMPORT\",\n  \"INBREED\",\n  \"IRP\",\n  \"IRT\",\n  \"JAVAINFO\",\n  \"JSON\",\n  \"KCLUS\",\n  \"KDE\",\n  \"KPCA\",\n  \"KRIGE2D\",\n  \"LATTICE\",\n  \"LIFEREG\",\n  \"LIFETEST\",\n  \"LMIXED\",\n  \"LOAN\",\n  \"LOCALEDATA\",\n  \"LOESS\",\n  \"LOGISTIC\",\n  \"LOGSELECT\",\n  \"LUA\",\n  \"MACONTROL\",\n  \"MAPIMPORT\",\n  \"MBANALYSIS\",\n  \"MBC\",\n  \"MCMC\",\n  \"MDC\",\n  \"MDS\",\n  \"MDSUMMARY\",\n  \"MEANS\",\n  \"MI\",\n  \"MIANALYZE\",\n  \"MIGRATE\",\n  \"MIRP\",\n  \"MIXED\",\n  \"MKTATTRIBUTION\",\n  \"MODECLUS\",\n  \"MODEL\",\n  \"MODELMATRIX\",\n  \"MTLEARN\",\n  \"MTS\",\n  \"MTSSCORE\",\n  \"MULTTEST\",\n  \"MVOUTLIER\",\n  \"MVPDIAGNOSE\",\n  \"MVPMODEL\",\n  \"MVPMONITOR\",\n  \"MWPCA\",\n  \"NESTED\",\n  \"NETDRAW\",\n  \"NETWORK\",\n  \"NLIN\",\n  \"NLMIXED\",\n  \"NLMOD\",\n  \"NNET\",\n  \"NPAR1WAY\",\n  \"ODSLIST\",\n  \"ODSTABLE\",\n  \"ODSTEXT\",\n  \"OPTBINNING\",\n  \"OPTEX\",\n  \"OPTGRAPH\",\n  \"OPTIONS\",\n  \"OPTLOAD\",\n  \"OPTLP\",\n  \"OPTLSO\",\n  \"OPTMILP\",\n  \"OPTMODEL\",\n  \"OPTNET\",\n  \"OPTNETWORK\",\n  \"OPTQP\",\n  \"OPTSAVE\",\n  \"ORTHOREG\",\n  \"PANEL\",\n  \"PARETO\",\n  \"PARTITION\",\n  \"PATHING\",\n  \"PCA\",\n  \"PDLREG\",\n  \"PHREG\",\n  \"PHSELECT\",\n  \"PLAN\",\n  \"PLM\",\n  \"PLS\",\n  \"PLSMOD\",\n  \"PM\",\n  \"POWER\",\n  \"PREFIXSPAN\",\n  \"PRINCOMP\",\n  \"PRINQUAL\",\n  \"PRINT\",\n  \"PRINTTO\",\n  \"PROBIT\",\n  \"PROTO\",\n  \"PRTDEF\",\n  \"PRTEXP\",\n  \"PSMATCH\",\n  \"PWENCODE\",\n  \"PYTHON\",\n  \"QDEVICE\",\n  \"QKB\",\n  \"QLIM\",\n  \"QTRSELECT\",\n  \"QUANTLIFE\",\n  \"QUANTREG\",\n  \"QUANTSELECT\",\n  \"RANK\",\n  \"REG\",\n  \"REGISTERMODEL\",\n  \"REGISTRY\",\n  \"REGSELECT\",\n  \"RELIABILITY\",\n  \"REPORT\",\n  \"RISK\",\n  \"ROBUSTREG\",\n  \"RPCA\",\n  \"RSREG\",\n  \"S3\",\n  \"SANDWICH\",\n  \"SCAPROC\",\n  \"SCORE\",\n  \"SCOREACCEL\",\n  \"SEMISUPLEARN\",\n  \"SEQDESIGN\",\n  \"SEQMC\",\n  \"SEQTEST\",\n  \"SEVERITY\",\n  \"SEVSELECT\",\n  \"SGMAP\",\n  \"SGPANEL\",\n  \"SGPIE\",\n  \"SGPLOT\",\n  \"SGRENDER\",\n  \"SGSCATTER\",\n  \"SHAPLEY\",\n  \"SHEWHART\",\n  \"SIM2D\",\n  \"SIMILARITY\",\n  \"SIMLIN\",\n  \"SIMNORMAL\",\n  \"SIMSYSTEM\",\n  \"SMCALIB\",\n  \"SMPROJECT\",\n  \"SMSCORE\",\n  \"SMSELECT\",\n  \"SMSPEC\",\n  \"SORT\",\n  \"SPARSEML\",\n  \"SPC\",\n  \"SPDO\",\n  \"SPECTRA\",\n  \"SPP\",\n  \"SQL\",\n  \"SQOOP\",\n  \"SSM\",\n  \"STANDARD\",\n  \"STATESPACE\",\n  \"STDIZE\",\n  \"STDRATE\",\n  \"STEPDISC\",\n  \"STREAM\",\n  \"STYLEGAN\",\n  \"SUMMARY\",\n  \"SUPERLEARNER\",\n  \"SURVEYFREQ\",\n  \"SURVEYIMPUTE\",\n  \"SURVEYLOGISTIC\",\n  \"SURVEYMEANS\",\n  \"SURVEYPHREG\",\n  \"SURVEYREG\",\n  \"SURVEYSELECT\",\n  \"SVDD\",\n  \"SVMACHINE\",\n  \"SYSLIN\",\n  \"TABULARGAN\",\n  \"TABULATE\",\n  \"TEMPLATE\",\n  \"TEXTCATEGORY\",\n  \"TEXTCATSCORE\",\n  \"TEXTCONCEPT\",\n  \"TEXTCONCEPTSCORE\",\n  \"TEXTMINE\",\n  \"TEXTNEARDUP\",\n  \"TEXTPROFILE\",\n  \"TEXTRULE\",\n  \"TEXTSENTIMENT\",\n  \"TEXTSENTSCORE\",\n  \"TEXTSUMMARY\",\n  \"TIMEID\",\n  \"TIMESERIES\",\n  \"TMODEL\",\n  \"TMSCORE\",\n  \"TPSPLINE\",\n  \"TRANSPOSE\",\n  \"TRANSREG\",\n  \"TRANTAB\",\n  \"TREE\",\n  \"TREESPLIT\",\n  \"TSCSREG\",\n  \"TSCUSTINT\",\n  \"TSGLOBALRECON\",\n  \"TSINFO\",\n  \"TSMODEL\",\n  \"TSMODREPO\",\n  \"TSNE\",\n  \"TSRECONCILE\",\n  \"TSSELECTLAG\",\n  \"TTEST\",\n  \"UCM\",\n  \"UNIVARIATE\",\n  \"UPLOAD\",\n  \"VARCLUS\",\n  \"VARCOMP\",\n  \"VARIMPUTE\",\n  \"VARIOGRAM\",\n  \"VARMAX\",\n  \"VARREDUCE\",\n  \"X11\",\n  \"X12\",\n  \"XSL\"\n]"
  },
  {
    "path": "server/src/browser/ResLoader.ts",
    "content": "// Copyright © 2022, SAS Institute Inc., Cary, NC, USA.  All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n\nexport const ResLoader = {\n  // eslint-disable-next-line\n  get: function (url: string, cb: (arg0: any) => void, async?: boolean) {\n    // have to explicitly write path for webpack to bundle\n    const index = url.indexOf(\"/data/\");\n    if (index > 0) {\n      // eslint-disable-next-line @typescript-eslint/no-require-imports\n      cb(require(`../../data/${url.slice(index + 6)}`));\n    } else {\n      const index = url.indexOf(\"/pubsdata/\");\n      if (index > 0) {\n        // eslint-disable-next-line @typescript-eslint/no-require-imports\n        cb(require(`../../pubsdata/${url.slice(index + 10)}`));\n      }\n    }\n  },\n  getBundle: function (locale: string): string {\n    // eslint-disable-next-line @typescript-eslint/no-require-imports\n    return require(`../../messagebundle_${locale}.properties`);\n  },\n};\n"
  },
  {
    "path": "server/src/browser/server.ts",
    "content": "// Copyright © 2022, SAS Institute Inc., Cary, NC, USA.  All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { Connection } from \"vscode-languageserver\";\nimport {\n  BrowserMessageReader,\n  BrowserMessageWriter,\n  createConnection,\n} from \"vscode-languageserver/browser\";\n\nimport { PyrightLanguageProviderBrowser } from \"../python/browser/PyrightLanguageProviderBrowser\";\nimport { runServer } from \"../server\";\n\n/* browser specific setup code */\nconst messageReader = new BrowserMessageReader(self);\nconst messageWriter = new BrowserMessageWriter(self);\n\nconst connection: Connection = createConnection(messageReader, messageWriter);\n\nrunServer(connection, new PyrightLanguageProviderBrowser(connection, 1));\n"
  },
  {
    "path": "server/src/node/ResLoader.ts",
    "content": "// Copyright © 2022, SAS Institute Inc., Cary, NC, USA.  All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { readFileSync } from \"fs\";\nimport * as path from \"path\";\n\nexport const ResLoader = {\n  // eslint-disable-next-line\n  get: function (url: string, cb: (arg0: any) => void, async?: boolean) {\n    // eslint-disable-next-line @typescript-eslint/no-require-imports\n    cb(require(url));\n  },\n  getBundle: function (locale: string): string {\n    return readFileSync(\n      path.resolve(__dirname, `../../messagebundle_${locale}.properties`),\n    ).toString();\n  },\n};\n"
  },
  {
    "path": "server/src/node/server.ts",
    "content": "// Copyright © 2022, SAS Institute Inc., Cary, NC, USA.  All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { Connection } from \"vscode-languageserver\";\nimport { ProposedFeatures, createConnection } from \"vscode-languageserver/node\";\n\nimport { PyrightLanguageProviderNode } from \"../python/node/PyrightLanguageProviderNode\";\nimport { runServer } from \"../server\";\n\nconst connection: Connection = createConnection(ProposedFeatures.all);\n\nrunServer(connection, new PyrightLanguageProviderNode(connection, 1));\n"
  },
  {
    "path": "server/src/python/PyrightLanguageProvider.ts",
    "content": "// Copyright © 2024, SAS Institute Inc., Cary, NC, USA.  All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport type { PyrightLanguageProviderBrowser } from \"./browser/PyrightLanguageProviderBrowser\";\nimport type { PyrightLanguageProviderNode } from \"./node/PyrightLanguageProviderNode\";\n\nexport type PyrightLanguageProvider =\n  | PyrightLanguageProviderNode\n  | PyrightLanguageProviderBrowser;\n"
  },
  {
    "path": "server/src/python/browser/PyrightLanguageProviderBrowser.ts",
    "content": "// Copyright © 2022-2024, SAS Institute Inc., Cary, NC, USA.  All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport {\n  CallHierarchyIncomingCallsParams,\n  CallHierarchyItem,\n  CallHierarchyOutgoingCall,\n  CallHierarchyOutgoingCallsParams,\n  CallHierarchyPrepareParams,\n  CancellationToken,\n  CodeAction,\n  CodeActionParams,\n  Command,\n  CompletionItem,\n  CompletionList,\n  CompletionParams,\n  Connection,\n  Declaration,\n  DeclarationLink,\n  Definition,\n  DefinitionLink,\n  DidChangeConfigurationParams,\n  DidChangeWatchedFilesParams,\n  DidCloseTextDocumentParams,\n  DidOpenTextDocumentParams,\n  DocumentHighlight,\n  DocumentHighlightParams,\n  DocumentSymbol,\n  DocumentSymbolParams,\n  ExecuteCommandParams,\n  HoverParams,\n  InitializeParams,\n  InitializeResult,\n  LSPAny,\n  Location,\n  PrepareRenameParams,\n  ReferenceParams,\n  RenameParams,\n  ResultProgressReporter,\n  SignatureHelpParams,\n  SymbolInformation,\n  TextDocumentPositionParams,\n  WorkDoneProgressReporter,\n  WorkspaceSymbol,\n  WorkspaceSymbolParams,\n} from \"vscode-languageserver\";\nimport { TextDocument } from \"vscode-languageserver-textdocument\";\n\nimport { IPythonMode } from \"pyright-internal-browser/dist/packages/pyright-internal/src/analyzer/sourceFile\";\nimport { FileSystem } from \"pyright-internal-browser/dist/packages/pyright-internal/src/common/fileSystem\";\nimport { PyrightServer } from \"pyright-internal-browser/dist/packages/pyright-internal/src/server\";\n\nimport { LanguageServiceProvider } from \"../../sas/LanguageServiceProvider\";\nimport { extractPythonCodes } from \"../utils\";\n\nexport class PyrightLanguageProviderBrowser extends PyrightServer {\n  protected sasLspProvider?: (uri: string) => LanguageServiceProvider;\n\n  constructor(\n    connection: Connection,\n    maxWorkers: number,\n    realFileSystem?: FileSystem,\n  ) {\n    // eslint-disable-next-line @typescript-eslint/consistent-type-assertions\n    super({ ...connection, listen() {} } as LSPAny, maxWorkers, realFileSystem);\n  }\n\n  public setSasLspProvider(\n    provider: (uri: string) => LanguageServiceProvider,\n  ): void {\n    this.sasLspProvider = provider;\n  }\n\n  public getClientCapabilities() {\n    return this.client;\n  }\n\n  protected setupConnection(\n    // eslint-disable-next-line @typescript-eslint/no-unused-vars\n    supportedCommands: string[],\n    // eslint-disable-next-line @typescript-eslint/no-unused-vars\n    supportedCodeActions: string[],\n  ): void {\n    return;\n  }\n\n  public onInitialized(): void {\n    this.updateSettingsForAllWorkspaces();\n    super.onInitialized();\n  }\n\n  public async initialize(\n    params: InitializeParams,\n    supportedCommands: string[],\n    supportedCodeActions: string[],\n  ): Promise<InitializeResult> {\n    return super.initialize(params, supportedCommands, supportedCodeActions);\n  }\n\n  public addContentChange(doc: TextDocument): void {\n    const languageService = this.sasLspProvider!(doc.uri);\n    const pythonDoc = extractPythonCodes(doc, languageService);\n\n    this.onDidChangeTextDocument({\n      textDocument: doc,\n      contentChanges: [{ text: pythonDoc }],\n    });\n  }\n\n  public async onHover(params: HoverParams, token: CancellationToken) {\n    return await super.onHover(params, token);\n  }\n\n  public async onDidOpenTextDocument(\n    params: DidOpenTextDocumentParams,\n    ipythonMode = IPythonMode.None,\n  ) {\n    const doc = TextDocument.create(\n      params.textDocument.uri,\n      \"sas\",\n      params.textDocument.version,\n      params.textDocument.text,\n    );\n    const languageService = this.sasLspProvider!(params.textDocument.uri);\n    const pythonDocContent = extractPythonCodes(doc, languageService);\n    const newParams: DidOpenTextDocumentParams = { ...params };\n    newParams.textDocument = { ...params.textDocument };\n    newParams.textDocument.languageId = \"python\";\n    newParams.textDocument.text = pythonDocContent;\n    await super.onDidOpenTextDocument(newParams, ipythonMode);\n  }\n\n  public async onDidCloseTextDocument(params: DidCloseTextDocumentParams) {\n    await super.onDidCloseTextDocument(params);\n  }\n\n  public onDidChangeConfiguration(params: DidChangeConfigurationParams): void {\n    super.onDidChangeConfiguration(params);\n  }\n\n  public async onDefinition(\n    params: TextDocumentPositionParams,\n    token: CancellationToken,\n  ): Promise<Definition | DefinitionLink[] | undefined | null> {\n    return await super.onDefinition(params, token);\n  }\n\n  public async onDeclaration(\n    params: TextDocumentPositionParams,\n    token: CancellationToken,\n  ): Promise<Declaration | DeclarationLink[] | undefined | null> {\n    return await super.onDeclaration(params, token);\n  }\n\n  public async onTypeDefinition(\n    params: TextDocumentPositionParams,\n    token: CancellationToken,\n  ): Promise<Definition | DefinitionLink[] | undefined | null> {\n    return await super.onTypeDefinition(params, token);\n  }\n\n  public async onReferences(\n    params: ReferenceParams,\n    token: CancellationToken,\n    workDoneReporter: WorkDoneProgressReporter,\n    resultReporter: ResultProgressReporter<Location[]> | undefined,\n  ): Promise<Location[] | null | undefined> {\n    return await super.onReferences(\n      params,\n      token,\n      workDoneReporter,\n      resultReporter,\n    );\n  }\n\n  public async onDocumentSymbol(\n    params: DocumentSymbolParams,\n    token: CancellationToken,\n  ): Promise<DocumentSymbol[] | SymbolInformation[] | null | undefined> {\n    return await super.onDocumentSymbol(params, token);\n  }\n\n  public async onWorkspaceSymbol(\n    params: WorkspaceSymbolParams,\n    token: CancellationToken,\n    resultReporter: ResultProgressReporter<SymbolInformation[]> | undefined,\n  ): Promise<SymbolInformation[] | WorkspaceSymbol[] | null | undefined> {\n    return await super.onWorkspaceSymbol(params, token, resultReporter);\n  }\n\n  public async onDocumentHighlight(\n    params: DocumentHighlightParams,\n    token: CancellationToken,\n  ): Promise<DocumentHighlight[] | null | undefined> {\n    if (params.position.character < 0) {\n      return null;\n    }\n    return await super.onDocumentHighlight(params, token);\n  }\n\n  public async onSignatureHelp(\n    params: SignatureHelpParams,\n    token: CancellationToken,\n  ) {\n    return await super.onSignatureHelp(params, token);\n  }\n\n  public async onCompletion(\n    params: CompletionParams,\n    token: CancellationToken,\n  ): Promise<CompletionList | null> {\n    return await super.onCompletion(params, token);\n  }\n\n  public async onCompletionResolve(\n    params: CompletionItem,\n    token: CancellationToken,\n  ): Promise<CompletionItem> {\n    return await super.onCompletionResolve(params, token);\n  }\n\n  public async onPrepareRenameRequest(\n    params: PrepareRenameParams,\n    token: CancellationToken,\n  ) {\n    return await super.onPrepareRenameRequest(params, token);\n  }\n\n  public async onRenameRequest(params: RenameParams, token: CancellationToken) {\n    if (params.position.character < 0) {\n      return null;\n    }\n    return await super.onRenameRequest(params, token);\n  }\n\n  public async onCallHierarchyPrepare(\n    params: CallHierarchyPrepareParams,\n    token: CancellationToken,\n  ): Promise<CallHierarchyItem[] | null> {\n    return await super.onCallHierarchyPrepare(params, token);\n  }\n\n  public async onCallHierarchyIncomingCalls(\n    params: CallHierarchyIncomingCallsParams,\n    token: CancellationToken,\n  ) {\n    return await super.onCallHierarchyIncomingCalls(params, token);\n  }\n\n  public async onCallHierarchyOutgoingCalls(\n    params: CallHierarchyOutgoingCallsParams,\n    token: CancellationToken,\n  ): Promise<CallHierarchyOutgoingCall[] | null> {\n    return await super.onCallHierarchyOutgoingCalls(params, token);\n  }\n\n  public onDidChangeWatchedFiles(params: DidChangeWatchedFilesParams): void {\n    super.onDidChangeWatchedFiles(params);\n  }\n\n  public async onExecuteCommand(\n    params: ExecuteCommandParams,\n    token: CancellationToken,\n    reporter: WorkDoneProgressReporter,\n  ) {\n    return await super.onExecuteCommand(params, token, reporter);\n  }\n\n  public async executeCodeAction(\n    params: CodeActionParams,\n    token: CancellationToken,\n  ): Promise<(Command | CodeAction)[] | undefined | null> {\n    return await super.executeCodeAction(params, token);\n  }\n\n  public async onShutdown(token: CancellationToken): Promise<void> {\n    return await super.onShutdown(token);\n  }\n}\n"
  },
  {
    "path": "server/src/python/browser/fakeFileSystem.ts",
    "content": "// Copyright © 2022-2024, SAS Institute Inc., Cary, NC, USA.  All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n/*\n * fakeFileSystem.ts\n *\n * simulate real fs access.\n */\nimport { CaseSensitivityDetector } from \"pyright-internal-browser/dist/packages/pyright-internal/src/common/caseSensitivityDetector\";\nimport { ConsoleInterface } from \"pyright-internal-browser/dist/packages/pyright-internal/src/common/console\";\nimport type {\n  FileSystem,\n  TempFile,\n  TmpfileOptions,\n} from \"pyright-internal-browser/dist/packages/pyright-internal/src/common/fileSystem\";\nimport { FileWatcherProvider } from \"pyright-internal-browser/dist/packages/pyright-internal/src/common/fileWatcher\";\nimport {\n  directoryExists,\n  getDirectoryPath,\n} from \"pyright-internal-browser/dist/packages/pyright-internal/src/common/pathUtils\";\nimport { Uri } from \"pyright-internal-browser/dist/packages/pyright-internal/src/common/uri/uri\";\nimport { UriEx } from \"pyright-internal-browser/dist/packages/pyright-internal/src/common/uri/uriUtils\";\nimport { TestFileSystem } from \"pyright-internal-browser/dist/packages/pyright-internal/src/tests/harness/vfs/filesystem\";\n\nimport { typeShed } from \"./typeShed\";\n\nconst fs = new TestFileSystem(false, { cwd: \"/\" });\n\nexport function createFromRealFileSystem(\n  // eslint-disable-next-line @typescript-eslint/no-unused-vars\n  console?: ConsoleInterface,\n  // eslint-disable-next-line @typescript-eslint/no-unused-vars\n  fileWatcherProvider?: FileWatcherProvider,\n): FileSystem {\n  // install builtin types\n  for (const entry of typeShed) {\n    const dir = getDirectoryPath(entry.filePath);\n    if (!directoryExists(fs, dir)) {\n      fs.mkdirpSync(dir);\n    }\n    fs.writeFileSync(UriEx.parse(entry.filePath), entry.content);\n  }\n\n  return fs;\n}\n\nexport class RealTempFile implements TempFile, CaseSensitivityDetector {\n  private tmpDirPath: string = \"pyright-tmp\";\n  private tmpFilePath: string = this.tmpDirPath + \"/pyright-tmp-file\";\n\n  constructor() {\n    // Empty\n  }\n\n  tmpdir(): Uri {\n    if (!fs.existsSync(UriEx.parse(this.tmpDirPath))) {\n      fs.mkdirpSync(this.tmpDirPath);\n    }\n    return Uri.file(this.tmpDirPath, this);\n  }\n\n  // eslint-disable-next-line @typescript-eslint/no-unused-vars\n  tmpfile(options?: TmpfileOptions): Uri {\n    const file = UriEx.parse(this.tmpFilePath);\n    if (!fs.existsSync(file)) {\n      fs.writeFileSync(file, \"\");\n    }\n    return Uri.file(file.fileName, this);\n  }\n\n  // eslint-disable-next-line @typescript-eslint/no-unused-vars\n  isCaseSensitive(uri: string): boolean {\n    // if (uri.startsWith(FileUriSchema)) {\n    //     return this._isLocalFileSystemCaseSensitive();\n    // }\n\n    return true;\n  }\n}\n"
  },
  {
    "path": "server/src/python/browser/typeShed.ts",
    "content": "// Copyright © 2022-2024, SAS Institute Inc., Cary, NC, USA.  All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n\n// typeshed-loader will fill in real content when bundling\nexport const typeShed = [\n  {\n    filePath: \"\",\n    content: \"\",\n  },\n];\n"
  },
  {
    "path": "server/src/python/browser/typeshed-loader/index.js",
    "content": "// Copyright © 2022-2024, SAS Institute Inc., Cary, NC, USA.  All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n\n/* eslint-disable @typescript-eslint/no-var-requires */\n\n/**\n * A webpack loader gathering typeshed for intellisense features\n */\nconst fs = require(\"fs/promises\");\nconst path = require(\"path\");\n\nconst dirs = [\"stdlib\", \"stubs/sas\"];\nconst result = [];\n\nasync function* walk(dir) {\n  for await (const d of await fs.opendir(dir)) {\n    const entry = path.join(dir, d.name);\n    if (d.isDirectory()) {\n      yield* walk(entry);\n    } else if (d.isFile()) {\n      yield entry;\n    }\n  }\n}\n\nasync function loader() {\n  const callback = this.async();\n\n  for (const dir of dirs) {\n    const entry = path.resolve(\n      __dirname,\n      \"../../../../dist/node/typeshed-fallback\",\n      dir,\n    );\n    const prefixLength = entry.indexOf(\"typeshed-fallback\") - 1;\n    for await (const filename of walk(entry)) {\n      if (filename.endsWith(\".pyi\")) {\n        const content = await fs.readFile(filename);\n        result.push({\n          content: content.toString(),\n          filePath: filename.slice(prefixLength).replace(/\\\\/g, \"/\"),\n        });\n      }\n    }\n  }\n\n  callback(null, `export const typeShed = ${JSON.stringify(result)}`);\n}\n\nmodule.exports = loader;\n"
  },
  {
    "path": "server/src/python/node/PyrightLanguageProviderNode.ts",
    "content": "// Copyright © 2022-2024, SAS Institute Inc., Cary, NC, USA.  All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport {\n  CallHierarchyIncomingCallsParams,\n  CallHierarchyItem,\n  CallHierarchyOutgoingCall,\n  CallHierarchyOutgoingCallsParams,\n  CallHierarchyPrepareParams,\n  CancellationToken,\n  CodeAction,\n  CodeActionParams,\n  Command,\n  CompletionItem,\n  CompletionList,\n  CompletionParams,\n  Connection,\n  Declaration,\n  DeclarationLink,\n  Definition,\n  DefinitionLink,\n  DidChangeConfigurationParams,\n  DidChangeWatchedFilesParams,\n  DidCloseTextDocumentParams,\n  DidOpenTextDocumentParams,\n  DocumentHighlight,\n  DocumentHighlightParams,\n  DocumentSymbol,\n  DocumentSymbolParams,\n  ExecuteCommandParams,\n  HoverParams,\n  InitializeParams,\n  InitializeResult,\n  LSPAny,\n  Location,\n  PrepareRenameParams,\n  ReferenceParams,\n  RenameParams,\n  ResultProgressReporter,\n  SignatureHelpParams,\n  SymbolInformation,\n  TextDocumentPositionParams,\n  WorkDoneProgressReporter,\n  WorkspaceSymbol,\n  WorkspaceSymbolParams,\n} from \"vscode-languageserver\";\nimport { TextDocument } from \"vscode-languageserver-textdocument\";\n\nimport { IPythonMode } from \"pyright-internal-node/dist/packages/pyright-internal/src/analyzer/sourceFile\";\nimport {\n  FileSystem,\n  ReadOnlyFileSystem,\n} from \"pyright-internal-node/dist/packages/pyright-internal/src/common/fileSystem\";\nimport { ClientCapabilities } from \"pyright-internal-node/dist/packages/pyright-internal/src/common/languageServerInterface\";\nimport { DocumentRange } from \"pyright-internal-node/dist/packages/pyright-internal/src/common/textRange\";\nimport { Uri } from \"pyright-internal-node/dist/packages/pyright-internal/src/common/uri/uri\";\nimport { CollectionResult } from \"pyright-internal-node/dist/packages/pyright-internal/src/languageService/documentSymbolCollector\";\nimport { ParseFileResults } from \"pyright-internal-node/dist/packages/pyright-internal/src/parser/parser\";\nimport { PyrightServer } from \"pyright-internal-node/dist/packages/pyright-internal/src/server\";\n\nimport { LanguageServiceProvider } from \"../../sas/LanguageServiceProvider\";\nimport { extractPythonCodes } from \"../utils\";\n\nexport class PyrightLanguageProviderNode extends PyrightServer {\n  protected sasLspProvider?: (uri: string) => LanguageServiceProvider;\n\n  constructor(\n    connection: Connection,\n    maxWorkers: number,\n    realFileSystem?: FileSystem,\n  ) {\n    // eslint-disable-next-line @typescript-eslint/consistent-type-assertions\n    super({ ...connection, listen() {} } as LSPAny, maxWorkers, realFileSystem);\n  }\n\n  public setSasLspProvider(\n    provider: (uri: string) => LanguageServiceProvider,\n  ): void {\n    this.sasLspProvider = provider;\n  }\n\n  public getClientCapabilities(): ClientCapabilities {\n    return this.client;\n  }\n\n  protected setupConnection(\n    // eslint-disable-next-line @typescript-eslint/no-unused-vars\n    supportedCommands: string[],\n    // eslint-disable-next-line @typescript-eslint/no-unused-vars\n    supportedCodeActions: string[],\n  ): void {\n    return;\n  }\n\n  public onInitialized(): void {\n    this.updateSettingsForAllWorkspaces();\n    super.onInitialized();\n  }\n\n  public async initialize(\n    params: InitializeParams,\n    supportedCommands: string[],\n    supportedCodeActions: string[],\n  ): Promise<InitializeResult> {\n    return super.initialize(params, supportedCommands, supportedCodeActions);\n  }\n\n  public addContentChange(doc: TextDocument): void {\n    const languageService = this.sasLspProvider!(doc.uri);\n    const pythonDoc = extractPythonCodes(doc, languageService);\n\n    this.onDidChangeTextDocument({\n      textDocument: doc,\n      contentChanges: [{ text: pythonDoc }],\n    });\n  }\n\n  public async onHover(params: HoverParams, token: CancellationToken) {\n    return await super.onHover(params, token);\n  }\n\n  public async onDidOpenTextDocument(\n    params: DidOpenTextDocumentParams,\n    ipythonMode = IPythonMode.None,\n  ) {\n    const doc = TextDocument.create(\n      params.textDocument.uri,\n      \"sas\",\n      params.textDocument.version,\n      params.textDocument.text,\n    );\n    const languageService = this.sasLspProvider!(params.textDocument.uri);\n    const pythonDocContent = extractPythonCodes(doc, languageService);\n    const newParams: DidOpenTextDocumentParams = { ...params };\n    newParams.textDocument = { ...params.textDocument };\n    newParams.textDocument.languageId = \"python\";\n    newParams.textDocument.text = pythonDocContent;\n    await super.onDidOpenTextDocument(newParams, ipythonMode);\n  }\n\n  public async onDidCloseTextDocument(params: DidCloseTextDocumentParams) {\n    await super.onDidCloseTextDocument(params);\n  }\n\n  public onDidChangeConfiguration(params: DidChangeConfigurationParams): void {\n    super.onDidChangeConfiguration(params);\n  }\n\n  public async onDefinition(\n    params: TextDocumentPositionParams,\n    token: CancellationToken,\n  ): Promise<Definition | DefinitionLink[] | undefined | null> {\n    return await super.onDefinition(params, token);\n  }\n\n  public async onDeclaration(\n    params: TextDocumentPositionParams,\n    token: CancellationToken,\n  ): Promise<Declaration | DeclarationLink[] | undefined | null> {\n    return await super.onDeclaration(params, token);\n  }\n\n  public async onTypeDefinition(\n    params: TextDocumentPositionParams,\n    token: CancellationToken,\n  ): Promise<Definition | DefinitionLink[] | undefined | null> {\n    return await super.onTypeDefinition(params, token);\n  }\n\n  public async onReferences(\n    params: ReferenceParams,\n    token: CancellationToken,\n    workDoneReporter: WorkDoneProgressReporter,\n    resultReporter: ResultProgressReporter<Location[]> | undefined,\n    createDocumentRange?: (\n      uri: Uri,\n      result: CollectionResult,\n      parseResults: ParseFileResults,\n    ) => DocumentRange,\n    convertToLocation?: (\n      fs: ReadOnlyFileSystem,\n      ranges: DocumentRange,\n    ) => Location | undefined,\n  ): Promise<Location[] | null | undefined> {\n    return await super.onReferences(\n      params,\n      token,\n      workDoneReporter,\n      resultReporter,\n      createDocumentRange,\n      convertToLocation,\n    );\n  }\n\n  public async onDocumentSymbol(\n    params: DocumentSymbolParams,\n    token: CancellationToken,\n  ): Promise<DocumentSymbol[] | SymbolInformation[] | null | undefined> {\n    return await super.onDocumentSymbol(params, token);\n  }\n\n  public async onWorkspaceSymbol(\n    params: WorkspaceSymbolParams,\n    token: CancellationToken,\n    resultReporter: ResultProgressReporter<SymbolInformation[]> | undefined,\n  ): Promise<SymbolInformation[] | WorkspaceSymbol[] | null | undefined> {\n    return await super.onWorkspaceSymbol(params, token, resultReporter);\n  }\n\n  public async onDocumentHighlight(\n    params: DocumentHighlightParams,\n    token: CancellationToken,\n  ): Promise<DocumentHighlight[] | null | undefined> {\n    if (params.position.character < 0) {\n      return null;\n    }\n    return await super.onDocumentHighlight(params, token);\n  }\n\n  public async onSignatureHelp(\n    params: SignatureHelpParams,\n    token: CancellationToken,\n  ) {\n    return await super.onSignatureHelp(params, token);\n  }\n\n  public async onCompletion(\n    params: CompletionParams,\n    token: CancellationToken,\n  ): Promise<CompletionList | null> {\n    return await super.onCompletion(params, token);\n  }\n\n  public async onCompletionResolve(\n    params: CompletionItem,\n    token: CancellationToken,\n  ): Promise<CompletionItem> {\n    return await super.onCompletionResolve(params, token);\n  }\n\n  public async onPrepareRenameRequest(\n    params: PrepareRenameParams,\n    token: CancellationToken,\n  ) {\n    return await super.onPrepareRenameRequest(params, token);\n  }\n\n  public async onRenameRequest(params: RenameParams, token: CancellationToken) {\n    if (params.position.character < 0) {\n      return null;\n    }\n    return await super.onRenameRequest(params, token);\n  }\n\n  public async onCallHierarchyPrepare(\n    params: CallHierarchyPrepareParams,\n    token: CancellationToken,\n  ): Promise<CallHierarchyItem[] | null> {\n    return await super.onCallHierarchyPrepare(params, token);\n  }\n\n  public async onCallHierarchyIncomingCalls(\n    params: CallHierarchyIncomingCallsParams,\n    token: CancellationToken,\n  ) {\n    return await super.onCallHierarchyIncomingCalls(params, token);\n  }\n\n  public async onCallHierarchyOutgoingCalls(\n    params: CallHierarchyOutgoingCallsParams,\n    token: CancellationToken,\n  ): Promise<CallHierarchyOutgoingCall[] | null> {\n    return await super.onCallHierarchyOutgoingCalls(params, token);\n  }\n\n  public onDidChangeWatchedFiles(params: DidChangeWatchedFilesParams): void {\n    super.onDidChangeWatchedFiles(params);\n  }\n\n  public async onExecuteCommand(\n    params: ExecuteCommandParams,\n    token: CancellationToken,\n    reporter: WorkDoneProgressReporter,\n  ) {\n    return await super.onExecuteCommand(params, token, reporter);\n  }\n\n  public async onShutdown(token: CancellationToken): Promise<void> {\n    return await super.onShutdown(token);\n  }\n\n  public async executeCodeAction(\n    params: CodeActionParams,\n    token: CancellationToken,\n  ): Promise<(Command | CodeAction)[] | undefined | null> {\n    return await super.executeCodeAction(params, token);\n  }\n}\n"
  },
  {
    "path": "server/src/python/sas/sas2py.pyi",
    "content": "# Copyright © 2024, SAS Institute Inc., Cary, NC, USA.  All Rights Reserved.\n# SPDX-License-Identifier: Apache-2.0\n\nclass SAS2py:\n   \"\"\"\n   This module provides the interface from the Python process to Proc Python in\n   the SAS process. It provides user callable methods for interacting with the\n   SAS process it's attached to.\n   \"\"\"\n\n   workpath: str\n   \"\"\"string containing the WORK libref's filesystem path, including the trailing slash.\"\"\"\n\n   def hideLOG(self, tf: bool) -> None:\n      \"\"\"\n      This methods identifies whether the SAS LOG output for the data transfer methods, sd2df()\n      and df2sd() is written or cached to a file. Since it's the Python log, and there's a lot\n      of SAS code and messages that those methods generate, the default is to not see all\n      of that cluttering up the Python log you're seeing. But, for diagnosing problems, having\n      that shown can be helpful. When set to True (default), the contents of the SAS LOG for\n      those methods is cached, and you can see it at any time using the printLOG() method, or\n      clear the current contents of the cache file using clearLOG().\n\n      :param tf: boolean default True. Whether to hide the LOG output for data transfer routines\n\n      :return: None\n      \"\"\"\n\n   def printLOG(self, method='SAS') -> None:\n      \"\"\"\n      This methods renders the parts of the SAS LOG output that were hidden from the data\n      transfer routines sd2df() and df2sd(), based upon the setting of hideLOG() which\n      defaults to True.\n\n      :param method: the default value 'SAS' uses SAS to write the output to the SAS LOG which allows\n                     for proper coloring of the output in Studio and also shows up before the Python\n                     output when in 'submit' processing.\n                     The value 'Python' uses Python to write the output to the Python log, which\n                     shows up in the SAS LOG without coloring and in the Python output where the method\n                     was executed, regardless of using 'submit' or 'interactive'.\n\n\n      :return: None\n      \"\"\"\n\n   def clearLOG(self) -> None:\n      \"\"\"\n      This method will delete all of the currently cached LOG output, if any. Subsequent output\n      from data transfer methods will continue to cache their output, if set to hide that output,\n      based upon the setting of hideLOG()\n\n      :return: None\n      \"\"\"\n\n   def submit(self, code: str) -> int:\n      \"\"\"\n      This methods submits the code you provide back into the existing SAS session, recursively\n      executing it while still within the PROC PYTHON that is running this method.\n\n      :param code: string of SAS code to submit\n\n      :return: None\n      \"\"\"\n\n   def symget(self, name: str) -> str:\n      \"\"\"\n      This methods retrieves the value for the macro variable who's name you provided. It returns\n      the string value. If the value represents a numeric type, you can simply cast it to what type\n      you like.\n\n      :param name: string of SAS macro variable name\n\n      :return: str\n      \"\"\"\n\n   def symput(self, name: str, val: str) -> int:\n      \"\"\"\n      This methods assigns a macro variable in SAS with the name and value you provide.\n\n      :param name: string of SAS macro variable name\n      :param val:  value to assign, which will be converted to a string, as that's what macro\n                   variable in SAS are\n\n      :return: int\n      \"\"\"\n\n   def pyplot(self, plot: object, filename: str = None, filepath: str = None,\n                    filetype: str='svg', **kwargs) -> None:\n      \"\"\"\n      This methods renders a matplot.pyplot object, or other plot object that supports pyplot's\n      savefig() method. It simply calls savefig() writing the plot to one of the supported ODS types\n      and submits the SAS code to render that file using ODS.\n\n      :param plot:     the plot object; pyplot or equivalent supporting the same savefig() method\n      :param filename: name of the file to create, defaults to 'matplot'\n      :param filepath: directory path to write the file; defaults to the work library\n      :param filetype: file type to create; defaults to 'svg'. This is passed to savefig via format=filetype\n      :param kwargs:   kwargs passed to the savefig() method\n\n      :return: None\n      \"\"\"\n\n   def renderImage(self, filename: str) -> None:\n      \"\"\"\n      This method renders a plot that has already been written to a file, so you\n      can render plots from any plotting object that isn't pyplot or doesn't have the same\n      savefig() method as pyplot. You write the plot to a supported ODS file type using that\n      objects methods and just call this method to have it rendered.\n\n      :param filename: fully qualified name of the file to render.\n\n      :return: None\n      \"\"\"\n\n   def logMessage(self, message: str, messageType: str = 'NOTE') -> None:\n      \"\"\"\n      Writes a well formed message to the SAS Log\n\n      :param message:     {String} - Message that should be written to the SAS log\n      :param messageType: {String  - default: NOTE}\n                                   - NOTE,    writes a  Note    to the SAS log\n                                   - WARNING, writes a  Warning to the SAS log\n                                   - ERROR,   writes an Error   to the SAS log\n\n      :return: None\n\n      # Example usage\n      SAS.logMessage('test')\n      SAS.logMessage('testWarn', 'warning')\n      SAS.logMessage('testError', 'error')\n\n      \"\"\"\n\n   def sasdata2dataframe(self, dataset: str, rowsep: str = '\\x01', colsep: str = '\\x02',\n                                        rowrep: str = ' ',    colrep: str = ' ', **kwargs):\n      \"\"\"\n      See the doc for sd2df(). This is just an alias for that method\n      \"\"\"\n\n   def sd2df(self, dataset: str, rowsep: str = '\\x01', colsep: str = '\\x02',\n                            rowrep: str = ' ',    colrep: str = ' ', **kwargs):\n      \"\"\"\n      This method exports the SAS Data Set to a Pandas DataFrame, returning the DataFrame object.\n\n      :param dataset: the 'libref.table(optional dataset options)' name of the SAS Data Set\n\n      These parameters are not to be used normally. Don't use them without instruction.\n\n      :param rowsep:  the row separator character to use; defaults to hex(1)\n      :param colsep:  the column separator character to use; defaults to hex(2)\n      :param rowrep:  the char to convert to for any embedded rowsep chars, defaults to  ' '\n      :param colrep:  the char to convert to for any embedded colsep chars, defaults to  ' '\n      :param errors:  this is the parameter to decode(errors=) when reading the stream of data into pandas and converting\n                      from bytes to chars. If the variables in the SAS data set have invalid characters (from truncation or other)\n                      then you can provide values like 'replace' or 'ignore' to load the invalid data instead of failing.\n      :param kwargs:  these are for internal use and are generally NOT needed.\n\n      :return: Pandas DataFrame\n      \"\"\"\n\n   def dataframe2sasdata(self, df, dataset: str,\n                         LF: str = '\\x01', CR: str = '\\x02',\n                         colsep: str = '\\x03', colrep: str = ' ',\n                         datetimes: dict={}, outfmts: dict={},\n                         labels: dict={}, char_lengths: dict={}, **kwargs):\n      \"\"\"\n      See the doc for df2sd(). This is just an alias for that method\n      \"\"\"\n\n   def df2sd(self, df: 'pandas.DataFrame', dataset: str,\n             LF: str = '\\x01', CR: str = '\\x02',\n             colsep: str = '\\x03', colrep: str = ' ',\n             datetimes: dict={}, outfmts: dict={},\n             labels: dict={}, char_lengths: dict={}, **kwargs) -> int:\n      \"\"\"\n      This method imports a Pandas DataFrame to a SAS Data Set you identify via the `dataset` parameter (libref.table).\n\n      Also note that DataFrame indexes (row label) are not transferred over as columns, as they aren't actually in df.columns.\n      You can simply use df.reset_index() before this method and df.set_index() after to have the index be a column which\n      is transferred over to the SAS data set. If you want to create a SAS index at the same time, specify that with the\n      output dataset options.\n\n      :param df:           Pandas DataFrame to import to a SAS Data Set\n      :param dataset:      the 'libref.table(optional output data set options)' name of the SAS Data Set to create\n      :param datetimes:    dict with column names as keys and values of 'date' or 'time' to create SAS date or times instead of datetimes\n      :param outfmts:      dict with column names and SAS formats to assign to the new SAS data set\n      :param labels:       dict with column names and labels to assign to the new SAS data set\n      :param char_lengths: a dictionary containing the names:lengths of all of the character columns. This eliminates\n                           running the code to calculate the lengths, and goes straight to transferring the data\n\n      These parameters are not to be used normally. Don't use them without instruction.\n\n      :param LF:      the character to use for LF when transferring the data; defaults to hex(1)\n      :param CR:      the character to use for CR when transferring the data; defaults to hex(2)\n      :param colsep:  the column separator character used for streaming the delimited data to SAS defaults to hex(3)\n      :param colrep:  the char to convert to for any embedded colsep, LF, CR chars in the data; defaults to  ' '\n\n      :return: int\n      \"\"\"\n\n   def sasfnc(self, *arg) -> str:\n      \"\"\"\n      This method executes the SAS or FCMP function you provide, returning the results.\n      The parameters vary based upon the function being called. But the first parameter\n      is the name of the function, followed by the required parameters for that function.\n\n      :param arg[1]:           name of the SAS function to call\n      :param arg[2] to arg[n]: arguments to SAS function\n\n      :return: str\n      \"\"\"\n"
  },
  {
    "path": "server/src/python/utils.ts",
    "content": "// Copyright © 2022-2024, SAS Institute Inc., Cary, NC, USA.  All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { DocumentSymbol } from \"vscode-languageserver\";\nimport { TextDocument } from \"vscode-languageserver-textdocument\";\n\nimport { CodeZoneManager } from \"../sas/CodeZoneManager\";\nimport { LanguageServiceProvider } from \"../sas/LanguageServiceProvider\";\nimport { isCustomRegionStartComment } from \"../sas/utils\";\n\nexport const extractPythonCodes = (\n  doc: TextDocument,\n  languageService: LanguageServiceProvider,\n): string => {\n  const codeZoneManager = languageService.getCodeZoneManager();\n  let pythonDocLines = [\"import sas2py;SAS = sas2py.SAS2py() #type: ignore\"];\n  const symbols: DocumentSymbol[] = languageService.getDocumentSymbols();\n  for (let i = 0; i < symbols.length; i++) {\n    const symbol = symbols[i];\n    if (isCustomRegionStartComment(symbol.name)) {\n      symbols.splice(i + 1, 0, ...(symbol.children ?? []));\n    }\n    if (symbol.name?.toUpperCase() !== \"PROC PYTHON\") {\n      continue;\n    }\n    let pythonCodeStart = undefined;\n    let pythonCodeEnd = undefined;\n    const pos = { ...symbol.range.start };\n    while (pos.line <= symbol.range.end.line) {\n      if (\n        !pythonCodeStart &&\n        codeZoneManager.getCurrentZone(pos.line, pos.character) ===\n          CodeZoneManager.ZONE_TYPE.EMBEDDED_LANG\n        // // a codezone bug\n        // pos.line >= symbol.range.start.line + 2\n      ) {\n        pythonCodeStart = { ...pos };\n      }\n      if (\n        pythonCodeStart &&\n        codeZoneManager.getCurrentZone(pos.line, pos.character) !==\n          CodeZoneManager.ZONE_TYPE.EMBEDDED_LANG\n      ) {\n        pythonCodeEnd = { ...pos };\n        if (pythonCodeEnd.character === 0) {\n          pythonCodeEnd.line--;\n          pythonCodeEnd.character =\n            languageService.model.getColumnCount(pythonCodeEnd.line) - 1;\n          if (pythonCodeEnd.character < 0) {\n            pythonCodeEnd.character = 0;\n          }\n        }\n        break;\n      }\n      pos.character++;\n      if (pos.character >= languageService.model.getLine(pos.line).length) {\n        pos.line++;\n        pos.character = 0;\n      }\n    }\n    if (!pythonCodeStart) {\n      continue;\n    }\n    const pythonCodeLines = doc\n      .getText({\n        start: pythonCodeStart,\n        end: pythonCodeEnd ?? symbol.range.end,\n      })\n      .split(\"\\n\");\n    const lineGap = pythonCodeStart.line - pythonDocLines.length;\n    if (lineGap > 0) {\n      pythonDocLines = pythonDocLines.concat(Array(lineGap).fill(\"\"));\n    } else if (lineGap === -1 && pythonCodeLines[0] === \"\") {\n      // head in one line: proc python; submit;\n      pythonCodeLines.shift();\n    }\n    pythonDocLines = pythonDocLines.concat(pythonCodeLines);\n    pythonDocLines.push(\"pass\");\n  }\n  const pythonDoc = pythonDocLines.join(\"\\n\");\n  return pythonDoc;\n};\n"
  },
  {
    "path": "server/src/sas/CodeZoneManager.ts",
    "content": "// Copyright © 2022, SAS Institute Inc., Cary, NC, USA.  All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n/* eslint-disable @typescript-eslint/no-unused-vars,@typescript-eslint/no-explicit-any, @typescript-eslint/dot-notation, @typescript-eslint/consistent-type-assertions */\nimport { Lexer, Token } from \"./Lexer\";\nimport { LexerEx } from \"./LexerEx\";\nimport { Model } from \"./Model\";\nimport { SyntaxDataProvider } from \"./SyntaxDataProvider\";\nimport { SyntaxProvider } from \"./SyntaxProvider\";\nimport { arrayToMap } from \"./utils\";\n\ninterface TokenEx extends Pick<Token, \"type\" | \"text\"> {\n  line: number;\n  col: number;\n  endLine?: number;\n  endCol?: number;\n}\ninterface TokenWithPos extends TokenEx {\n  pos: number;\n}\n\ninterface Context {\n  line: number;\n  col: number;\n  syntaxIdx: number;\n  block?: any;\n  cursor?: any;\n  tokens?: any;\n  tokenIdx?: any;\n  lastStmtEnd?: any;\n  scopes?: any;\n}\n\ninterface Zone {\n  type: number;\n}\n\nconst SEC_TYPE = LexerEx.SEC_TYPE,\n  _isBlockEnd: Record<string, 1> = { RUN: 1, QUIT: 1, \"%MEND\": 1 },\n  _secStarts: Record<string, 1> = { PROC: 1, DATA: 1 },\n  _secEnds: Record<string, 1> = { \"%MACRO\": 1, RUN: 1, QUIT: 1 },\n  _secType: Record<string, string | number> = {\n    PROC: SEC_TYPE.PROC,\n    DATA: SEC_TYPE.DATA,\n    \"%MACRO\": SEC_TYPE.MACRO,\n    BEGINGRAPH: \"statgraph\",\n  },\n  _isScopeBeginMark: Record<string, 1> = { \"[\": 1, \"{\": 1, \"(\": 1 },\n  _tagsets = arrayToMap([\n    \"CHTML\",\n    \"CORE\",\n    \"CSV\",\n    \"CSVALL\",\n    \"CVSBYLINE\",\n    \"DEFAULT\",\n    \"DOCBOOK\",\n    \"ExcelXP\",\n    \"HTML4\",\n    \"HTMLCSS\",\n    \"HTMLPANEL\",\n    \"HTMLSCROLL\",\n    \"IMODE\",\n    \"MSOFFICE2K\",\n    \"MVSHTML\",\n    \"PHTML\",\n    \"PYX\",\n    \"RTF\",\n    \"SASREPORT\",\n    \"SQL\",\n    \"SUPERMAP\",\n    \"TABLEEDITOR\",\n    \"WML\",\n    \"WMLOLIST\",\n    \"XBRL\",\n    \"XHTML\",\n    \"EVENT_HTML\",\n    \"NAMEDHTML\",\n    \"SHORT_MAP\",\n    \"STYLE_DISPLAY\",\n    \"STYLE_POPUP\",\n    \"TEXT_MAP\",\n    \"TPL_STYLE_LIST\",\n    \"TPL_STYLE_MAP\",\n  ]);\n\nexport class CodeZoneManager {\n  private _lexer;\n\n  private _procName = \"\";\n  private _stmtName = \"\";\n  private _optName = \"\";\n  private _subOptName = \"\";\n  private _embeddedCodeStarted = false;\n\n  private _topZone = 0;\n  private _sectionMode: {\n    secType: number;\n    procName: string;\n  } | null = null;\n  //_typeWithArgs = Utils.arrayToMap([ZONE_TYPE.OBJECT, ZONE_TYPE.MACRO_FUNC, ZONE_TYPE.SAS_FUNC]),\n  private _specialStmt: any = {\n    STYLE: this._style,\n    ODS: this._ods,\n    IF: this._if,\n    WHERE: this._where,\n  };\n  private _stmtCache: Record<string, Record<string, 1>> = {};\n  private _stmtWithOptionDelimiter: Record<string, Record<string, boolean>> =\n    {};\n\n  private _dummyToken = { line: 0, col: 0, type: \"text\", pos: -1 };\n\n  constructor(\n    private _model: Model,\n    private _syntaxDb: SyntaxDataProvider,\n    private _syntaxProvider: SyntaxProvider,\n  ) {\n    this._lexer = new Lexer(_model);\n  }\n  // private functions\n  private _reset() {\n    this._procName = \"\";\n    this._stmtName = \"\";\n    this._optName = \"\";\n    this._subOptName = \"\";\n    this._embeddedCodeStarted = false;\n  }\n  private _needOptionDelimiter() {\n    if (!this._stmtWithOptionDelimiter[this._procName]) {\n      this._stmtWithOptionDelimiter[this._procName] = {};\n    }\n\n    if (\n      this._stmtWithOptionDelimiter[this._procName][this._stmtName] ===\n      undefined\n    ) {\n      this._stmtWithOptionDelimiter[this._procName][this._stmtName] =\n        this._syntaxDb.hasOptionDelimiter(this._procName, this._stmtName);\n    }\n    return this._stmtWithOptionDelimiter[this._procName][this._stmtName];\n  }\n  private _isDatasetOpt(name: string) {\n    let type = null;\n    if (this._topZone === CodeZoneManager.ZONE_TYPE.PROC_DEF) {\n      type = this._syntaxDb.getProcedureOptionType(this._procName, name);\n    } else if (this._topZone === CodeZoneManager.ZONE_TYPE.PROC_STMT) {\n      type = this._syntaxDb.getProcedureStatementOptionType(\n        this._procName,\n        this._stmtName,\n        name,\n      );\n    }\n    if (type && this._syntaxDb.isDataSetType(type)) {\n      return true;\n    }\n    return false;\n  }\n  private _getStmts(procName: string) {\n    let stmts, setCache;\n\n    if (!this._stmtCache[procName]) {\n      stmts = this._syntaxDb.getProcedureStatements(procName, false);\n      setCache = (stmts?: string[]) => {\n        if (stmts && stmts.length > 0) {\n          this._stmtCache[procName] = arrayToMap(stmts);\n        }\n      };\n      //if (!stmts) {\n      //    _syntaxDb.getProcedureStatements(procName,function(stmts){\n      //        setCache(stmts);\n      //    });\n      //}\n      setCache(stmts);\n    }\n    return this._stmtCache[procName];\n  }\n  private _getFullStmtName(\n    context: Context,\n    procName: string,\n    stmt: TokenWithPos,\n  ) {\n    const stmts = this._getStmts(procName),\n      tmpContext2 = this._cloneContext(context),\n      token2 = this._getNextEx(tmpContext2),\n      tmpContext3 = this._cloneContext(tmpContext2),\n      token3 = this._getNextEx(tmpContext3),\n      tmpContext4 = this._cloneContext(tmpContext3),\n      token4 = this._getNextEx(tmpContext4),\n      name2 = stmt.text.toUpperCase() + \" \" + token2.text,\n      name3 = name2 + \" \" + token3.text,\n      name4 = name3 + \" \" + token4.text;\n    if (stmts) {\n      if (stmts[name4]) {\n        this._copyContext(tmpContext4, context);\n        stmt.text = name4;\n        stmt.pos = token4.pos > 0 ? 1 : token4.pos;\n      } else if (stmts[name3]) {\n        this._copyContext(tmpContext3, context);\n        stmt.text = name3;\n        stmt.pos = token3.pos > 0 ? 1 : token3.pos;\n      } else if (stmts[name2]) {\n        this._copyContext(tmpContext2, context);\n        stmt.text = name2;\n        stmt.pos = token2.pos > 0 ? 1 : token2.pos;\n      }\n    }\n    if (procName === \"ODS\" && _tagsets[token2.text.replace(\"TAGSETS.\", \"\")]) {\n      this._copyContext(tmpContext2, context);\n      stmt.text = name2;\n      stmt.pos = token2.pos > 0 ? 1 : token2.pos;\n    }\n  }\n  private _ended(token: TokenEx) {\n    let line,\n      start,\n      end,\n      ret = true,\n      reg = null;\n    const regs: Record<string, RegExp> = {\n      comment: /(^\\*.*;$|^\\/\\*.*\\*\\/$)/i,\n      \"macro-comment\": /(^%\\*.*;$)/i,\n      string: /(^'.*'$|^\".*\"$)/i,\n      date: /(^'.*'d$|^\".*\"d$)/i,\n      time: /(^'.*'t$|^\".*\"t$)/i,\n      dt: /(^'.*'dt$|^\".*\"dt$)/i,\n      bitmask: /(^'.*'b$|^\".*\"b$)/i,\n      namelit: /(^'.*'n$|^\".*\"n$)/i,\n      hex: /(^'.*'x$|^\".*\"x$)/i,\n    };\n    if (token.endLine) {\n      start = this._model.getLine(token.line).substr(token.col, 2);\n      end = this._model.getLine(token.endLine).substring(0, token.endCol);\n    } else {\n      start = token.text;\n      end = token.text;\n    }\n    line = start.substr(0, 2);\n    if (end.length <= 2) {\n      line += end;\n    } else {\n      line += end.substr(end.length - 2, 2);\n    }\n\n    if (Lexer.isComment[token.type] || Lexer.isLiteral[token.type]) {\n      reg = regs[token.type];\n      if (reg && !reg.test(line)) {\n        ret = false;\n      }\n    }\n    return ret;\n  }\n  private _token(line: number, col: number): TokenEx | null {\n    let syntax = this._syntaxProvider.getSyntax(line);\n    let foundSyntaxIdx = -1,\n      type: Token[\"type\"] = \"text\",\n      currLine = line;\n\n    for (let i = 0; i < syntax.length; i++) {\n      if (syntax[i].start <= col) {\n        if (i === syntax.length - 1 || syntax[i + 1].start > col) {\n          foundSyntaxIdx = i;\n          type = syntax[i].style;\n          break;\n        }\n      }\n    }\n\n    if (Lexer.isComment[type] || Lexer.isLiteral[type]) {\n      while (currLine >= 0) {\n        if (syntax[foundSyntaxIdx].state instanceof Object) {\n          return {\n            type: type,\n            text: \"\",\n            line: currLine,\n            col: syntax[foundSyntaxIdx].start,\n            endLine: syntax[foundSyntaxIdx].state.line,\n            endCol: syntax[foundSyntaxIdx].state.col,\n          };\n        } else if (syntax[foundSyntaxIdx].state === 1) {\n          //met the start of the node\n          break;\n        } else {\n          foundSyntaxIdx--;\n          if (foundSyntaxIdx < 0) {\n            do {\n              currLine--;\n              syntax = this._syntaxProvider.getSyntax(currLine); //skip the line without syntax\n            } while (currLine >= 0 && syntax.length === 0);\n            foundSyntaxIdx = syntax.length - 1;\n          }\n        }\n      }\n    }\n    if (foundSyntaxIdx >= 0) {\n      const lineText = this._model.getLine(line);\n      let endCol = 0,\n        startCol = 0;\n      syntax = this._syntaxProvider.getSyntax(line);\n      if (syntax.length !== 0) {\n        endCol = syntax[foundSyntaxIdx + 1]\n          ? syntax[foundSyntaxIdx + 1].start\n          : lineText.length;\n        startCol = syntax[foundSyntaxIdx].start;\n      }\n      return {\n        type: type,\n        text: lineText.substring(startCol, endCol),\n        line: line,\n        col: startCol,\n      };\n    }\n    return null;\n  }\n  private _getPrev(context: Context): TokenEx | null {\n    let line = \"\",\n      lineLen = 0,\n      syntax = [],\n      syntaxLen = 0,\n      text = \"\",\n      col = 0,\n      type: Token[\"type\"] = \"text\",\n      i = 0;\n    const lineCount = this._model.getLineCount();\n\n    if (context.line >= lineCount) {\n      context.line = lineCount - 1;\n      context.col = this._model.getLine(context.line).length;\n    }\n    line = this._model.getLine(context.line);\n    lineLen = line.length;\n    syntax = this._syntaxProvider.getSyntax(context.line);\n    syntaxLen = syntax.length;\n    // syntaxIdx is used to cache the index of syntax node in syntax table,\n    // if syntaxIdx is less than 0, we must initialize it\n    if (context.syntaxIdx < 0) {\n      context.syntaxIdx =\n        this._syntaxProvider.getSyntax(context.line).length - 2;\n    }\n    do {\n      // skip backward\n      while (context.col < 0 || syntax.length === 0) {\n        context.line--; // the previous line\n        if (context.line < 0) {\n          return null; // no any token\n        }\n        line = this._model.getLine(context.line);\n        lineLen = line.length;\n        context.col = lineLen - 1;\n        syntax = this._syntaxProvider.getSyntax(context.line);\n        syntaxLen = syntax.length;\n        context.syntaxIdx = syntaxLen - 2;\n      }\n\n      // find the node\n      if (\n        /*syntax[syntaxLen-1].state !== 0 && */ // for the line without normal end mark.\n        syntax[syntaxLen - 1].start <= context.col &&\n        lineLen >= context.col &&\n        syntax[syntaxLen - 1].start < lineLen // to prevent \"\"\n      ) {\n        i = syntaxLen - 1;\n      } else {\n        for (i = context.syntaxIdx; i >= 0; i--) {\n          if (\n            syntax[i].start <= context.col &&\n            syntax[i + 1].start >= context.col &&\n            syntax[i].start !== syntax[i + 1].start // to prevent \"\"\n          ) {\n            break;\n          }\n        }\n      }\n\n      if (i >= 0) {\n        col = syntax[i].start;\n        type = syntax[i].style;\n        text = line.substring(\n          col,\n          syntax[i + 1] ? syntax[i + 1].start : lineLen,\n        );\n      }\n\n      // adjust pointer\n      if (i >= 1) {\n        context.col = syntax[i - 1].start;\n        context.syntaxIdx = i - 1;\n      } else {\n        context.col = -1;\n        context.syntaxIdx = -1;\n      }\n    } while (/^\\s*$/.test(text));\n\n    if (Lexer.isComment[type] || Lexer.isLiteral[type]) {\n      const token = this._token(context.line, col)!;\n      if (!token) {\n        return null;\n      }\n      if (\n        token.endLine &&\n        (token.line !== context.line || token.col !== context.col)\n      ) {\n        context.col = token.col - 1;\n        context.line = token.line;\n        context.syntaxIdx = -1;\n      }\n      if (Lexer.isComment[type]) {\n        return this._getPrev(context);\n      }\n      return token;\n    }\n\n    return {\n      type: type,\n      text: text,\n      line: context.line,\n      col: col,\n    };\n  }\n  private _getNext(context: Context): TokenEx | null {\n    let token,\n      tmpToken: TokenEx | null = null,\n      pos;\n    if (context.tokens) {\n      if (context.tokenIdx < context.tokens.length) {\n        tmpToken = context.tokens[context.tokenIdx] as TokenEx;\n        if (tmpToken.endLine) {\n          context.line = tmpToken.endLine;\n          context.col = tmpToken.endCol!;\n        } else {\n          context.line = tmpToken.line;\n          context.col = tmpToken.col + tmpToken.text.length;\n        }\n        context.tokenIdx++;\n      }\n    } else {\n      pos = this._normalize(context.line, context.col);\n      this._lexer.startFrom(pos.line, pos.col);\n      token = this._lexer.getNext();\n      if (token) {\n        context.line = token.end.line;\n        context.col = token.end.column;\n        tmpToken = this._transToken(token);\n      }\n    }\n    while (tmpToken && Lexer.isComment[tmpToken.type]) {\n      //skip comments\n      tmpToken = this._getNext(context);\n    }\n    if (tmpToken && tmpToken.type === Lexer.TOKEN_TYPES.MREF) {\n      // skip macro-ref S1405245\n      const mRefToken = tmpToken;\n      tmpToken = this._getNext(context);\n      if (tmpToken && tmpToken.text === \"(\") {\n        while (\n          tmpToken &&\n          tmpToken.text !== \")\" &&\n          this._pos(context.cursor, tmpToken) === -1\n        ) {\n          tmpToken = this._getNext(context);\n        }\n        if (this._pos(context.cursor, tmpToken!) === -1) {\n          tmpToken = this._getNext(context);\n        } else {\n          tmpToken = mRefToken;\n        }\n      }\n    }\n    return tmpToken;\n  }\n  private _getNextEx(context: Context): TokenWithPos {\n    let token = this._getNext(context),\n      lc,\n      tmpContext,\n      next;\n\n    if (token && token.text === \"&\") {\n      tmpContext = this._cloneContext(context);\n      next = this._getNext(tmpContext);\n      if (next && next.text !== \"\" && Lexer.isWord[next.type]) {\n        //macro variables\n        token.text = \"&\" + next.text;\n        token.type = \"text\";\n        this._copyContext(tmpContext, context);\n      }\n    }\n    if (!token) {\n      lc = this._model.getLineCount() - 1;\n      token = {\n        type: \"text\",\n        text: \"\",\n        line: lc,\n        col: this._model.getColumnCount(lc),\n      };\n    }\n    return {\n      ...token,\n      pos: this._pos(context.cursor, token),\n      text: token.text.toUpperCase(),\n    };\n  }\n  private _transToken(token: Token) {\n    if (token) {\n      const nToken: TokenEx = {\n        type: token.type,\n        line: token.start.line,\n        col: token.start.column,\n        text: token.text,\n      };\n      if (token.start.line !== token.end.line) {\n        nToken[\"endLine\"] = token.end.line;\n        nToken[\"endCol\"] = token.end.column;\n      }\n      return nToken;\n    }\n    return token;\n  }\n  private _tokenizeStmt(line: number, col: number) {\n    let token;\n    const tokens = [];\n    this._lexer.startFrom(line, col);\n    do {\n      token = this._lexer.getNext();\n      if (token) {\n        token = this._transToken(token);\n        tokens.push(token);\n        if (token.type === \"sep\" && token.text === \";\") {\n          break;\n        }\n      }\n    } while (token);\n    return tokens;\n  }\n  private _emit(token: any, zone: number, force?: boolean) {\n    //if (force || !_typeWithArgs[token.zone]) {\n    // NOTE: bigger zone indicates it should be used.\n    if (force || !token.zone || zone > token.zone) {\n      token.zone = zone;\n    }\n  }\n  private _emit1(token: any, lZone: number, rZone: number) {\n    if (token.pos === 0) {\n      token.zone = rZone;\n    } else if (token.pos >= 2) {\n      token.zone = lZone;\n    }\n  }\n  private _blockName(block: { startLine: number; startCol: number }) {\n    let token = null;\n    const context = {\n      line: block.startLine,\n      col: block.startCol,\n      syntaxIdx: 0,\n    };\n    this._getNext(context); //section keyword\n    token = this._getNext(context);\n    return token ? token.text.toUpperCase() : \"\";\n  }\n  /* return values:\n     c c[c]c c\n     3 2 1 0 -1\n    */\n  private _pos(cursor: { line: number; col: number }, token: TokenEx) {\n    const l1 = token.line,\n      c1 = token.col;\n    let l2, c2;\n    if (token.endLine === undefined) {\n      l2 = l1;\n      c2 = c1 + token.text.length;\n    } else {\n      l2 = token.endLine;\n      c2 = token.endCol!;\n    }\n    if (cursor.line > l2) {\n      return -1;\n    } else if (cursor.line < l1) {\n      return 3;\n    } else if (l2 === l1) {\n      // token in a line\n      if (cursor.col < c1) {\n        return 3;\n      } else if (cursor.col === c1) {\n        return 2;\n      } else if (cursor.col === c2) {\n        return 0;\n      } else if (cursor.col > c2) {\n        return -1;\n      } else {\n        return 1;\n      }\n    } else {\n      // token cross multiple lines\n      if (cursor.line === l1) {\n        //start line\n        if (cursor.col < c1) {\n          return 3;\n        } else if (cursor.col === c1) {\n          return 2;\n        } else {\n          return 1;\n        }\n      } else if (cursor.line === l2) {\n        //end line\n        if (cursor.col > c2) {\n          return -1;\n        } else if (cursor.col === c2) {\n          return 0;\n        } else {\n          return 1;\n        }\n      } else {\n        return 1;\n      }\n    }\n  }\n  /*\n   * return value:\n   * 1: overlap\n   * 0: token in block\n   * -1: token outside of block\n   */\n  private _inBlock(\n    block: {\n      endLine: number;\n      endCol: number;\n      startLine: number;\n      startCol: number;\n    },\n    token: TokenEx,\n  ) {\n    if (token.endLine && token.endLine !== token.line) {\n      //multiple line token\n      //TODO: not implemented\n    } else {\n      //token in a line\n      //TODO: not implement all conditions\n      if (\n        (token.line === block.endLine && token.col >= block.endCol) ||\n        (token.line === block.startLine &&\n          token.col + token.text.length <= block.startCol) ||\n        token.line > block.endLine ||\n        token.line < block.startLine\n      ) {\n        return -1;\n      } else {\n        return 0; //TODO: include overlap\n      }\n    }\n  }\n  private _isBlockStart(\n    block: { startLine: number; startCol: number },\n    token: TokenEx,\n  ) {\n    /* FOR S1182067*/\n    return block.startLine === token.line && block.startCol === token.col;\n  }\n  private _endedReally(block: { endLine: number; endCol: number }) {\n    let token = null,\n      word = null;\n    const context = {\n      line: block.endLine,\n      col: block.endCol,\n      syntaxIdx: -1,\n    };\n\n    do {\n      token = this._getPrev(context);\n    } while (token && token.text !== \";\");\n    if (token) {\n      token = this._getPrev(context);\n      if (token && token.text) {\n        word = token.text.toUpperCase();\n        token = this._getPrev(context);\n        if (_isBlockEnd[word]) {\n          if (token?.text === \";\") {\n            return true;\n          }\n        }\n        if (word === \"CANCEL\") {\n          if (token && token.text && _isBlockEnd[token.text.toUpperCase()]) {\n            return true;\n          }\n        }\n        if (token?.text.toUpperCase() === \"%MEND\") {\n          token = this._getPrev(context);\n          return token?.text === \";\";\n        }\n      }\n    }\n    return false;\n  }\n  private _skipToStmtStart(context: Context, tokenizing: boolean) {\n    let token = null,\n      len = 0;\n    const tokens = [];\n\n    context.syntaxIdx = -1;\n    context.tokens = null;\n    while (true) {\n      token = this._getPrev(context);\n      tokens.push(token);\n      if (!token || token.text === \";\" || token.type === \"embedded-code\") {\n        break;\n      }\n    }\n    if (!token) {\n      context.line = 0;\n      context.col = 0;\n      context.syntaxIdx = -1;\n      context.lastStmtEnd = null;\n    } else {\n      context.line = token.line;\n      context.col = token.col + token.text.length;\n      context.syntaxIdx = -1;\n      context.lastStmtEnd = { line: token.line, col: token.col };\n    }\n    // ignore label\n    len = tokens.length;\n    if (\n      len > 3 &&\n      Lexer.isWord[tokens[len - 2]!.type] &&\n      tokens[len - 3]!.text === \":\"\n    ) {\n      this._getNext(context);\n      this._getNext(context);\n    }\n    if (tokenizing) {\n      context.tokens = this._tokenizeStmt(context.line, context.col);\n    }\n    context.tokenIdx = 0;\n  }\n  private _isStatgraph(\n    parentBlock: { startLine: number; startCol: number },\n    cursor: { line: number; col: number },\n    stmtName: string,\n  ) {\n    const block = this._findEmbeddedBlock(\n      parentBlock,\n      cursor,\n      { BEGINGRAPH: 1 },\n      { ENDGRAPH: 1 },\n    );\n    if (block && block.type === \"statgraph\" && stmtName !== \"BEGINGRAPH\") {\n      return true;\n    }\n    return false;\n  }\n  private _embeddedBlock(\n    parentBlock: { startLine: number; startCol: number },\n    cursor: { line: number; col: number },\n  ) {\n    return this._findEmbeddedBlock(parentBlock, cursor, _secStarts, _secEnds);\n  }\n  private _findEmbeddedBlock(\n    parentBlock: { startLine: number; startCol: number },\n    cursor: { line: number; col: number },\n    starts: Record<string, 1>,\n    ends: Record<string, 1>,\n  ) {\n    let token = null,\n      secName = null,\n      stmtCount = 0;\n    const context: Context = {\n      //'block': block,\n      line: cursor.line,\n      col: cursor.col,\n      syntaxIdx: -1,\n      cursor: cursor,\n    };\n    do {\n      this._skipToStmtStart(context, false);\n      stmtCount++;\n      token = this._getNext(context);\n\n      if (token) {\n        secName = token.text.toUpperCase();\n        if (starts[secName]) {\n          return {\n            startLine: token.line,\n            startCol: token.col,\n            endLine: cursor.line,\n            endCol:\n              token.col + 4 > cursor.col && token.line === cursor.line\n                ? token.col + 4\n                : cursor.col, // not real in most conditions\n            type: _secType[secName],\n          };\n        } else if (ends[secName]) {\n          if (stmtCount > 1) {\n            return null;\n          }\n        }\n      } else {\n        token = { line: context.line, col: context.col };\n      }\n      if (context.lastStmtEnd) {\n        context.col = context.lastStmtEnd.col - 1;\n        context.line = context.lastStmtEnd.line;\n        context.lastStmtEnd = null;\n      }\n    } while (\n      token.line > parentBlock.startLine ||\n      (token.line === parentBlock.startLine && token.col > parentBlock.startCol)\n    );\n    return null;\n  }\n  private _globalStmt(context: Context) {\n    let tmpContext = null,\n      block = null;\n    this._skipToStmtStart(context, true);\n    tmpContext = {\n      line: context.line,\n      col: context.col,\n      cursor: context.cursor,\n      syntaxIdx: -1,\n    };\n    const token = this._getNextEx(context); // procedure name\n    if (token.pos >= 0) {\n      block = this._syntaxProvider.getFoldingBlock(\n        tmpContext.line,\n        tmpContext.col,\n        false,\n        true,\n        true,\n      );\n      if (block) {\n        if (this._inBlock(block, token)! < 0 && !this._endedReally(block)) {\n          //not in block\n          if (token.text === \"%MACRO\") {\n            return CodeZoneManager.ZONE_TYPE.MACRO_STMT;\n          }\n          switch (block.type) {\n            case SEC_TYPE.PROC:\n              if (this._isStatgraph(block, context.cursor, token.text)) {\n                this._procName = \"STATGRAPH\";\n              } else {\n                this._procName = this._blockName(block);\n                this._stmtName = token.text;\n              }\n              return CodeZoneManager.ZONE_TYPE.PROC_STMT;\n            case SEC_TYPE.DATA:\n              return CodeZoneManager.ZONE_TYPE.DATA_STEP_STMT;\n            //case SEC_TYPE.MACRO: return ZONE_TYPE.GBL_STMT;\n          }\n        }\n      }\n      if (token.text[0] === \"%\") {\n        // if (token.text.toUpperCase() === \"%MACRO\") {\n        //   return CodeZoneManager.ZONE_TYPE.MACRO_DEF;\n        // } else {\n        return CodeZoneManager.ZONE_TYPE.MACRO_STMT; //TODO: need to differ among ARM macro, autocall macro, macro function, macro statement\n        // }\n      } else {\n        return CodeZoneManager.ZONE_TYPE.GBL_STMT;\n      }\n    }\n\n    switch (token.text.toUpperCase()) {\n      case \"PROC\":\n      case \"PROCEDURE\":\n        return this._procDef(context);\n      case \"DATA\":\n        return this._dataDef(context, token);\n      case \"%MACRO\":\n        return this._macroDef(context);\n    }\n    this._stmtName = token.text.toUpperCase();\n    this._topZone = CodeZoneManager.ZONE_TYPE.GBL_STMT;\n    const zone = this._stmtEx(context, token);\n    if (this._isCall(zone)) {\n      return CodeZoneManager.ZONE_TYPE.RESTRICTED;\n    } else if (zone.type === CodeZoneManager.ZONE_TYPE.OPT_NAME) {\n      return CodeZoneManager.ZONE_TYPE.GBL_STMT_OPT;\n    } else if (zone.type === CodeZoneManager.ZONE_TYPE.OPT_VALUE) {\n      return CodeZoneManager.ZONE_TYPE.GBL_STMT_OPT_VALUE;\n    } else if (zone.type === CodeZoneManager.ZONE_TYPE.SUB_OPT_NAME) {\n      if (\n        this._syntaxDb.isStatementSubOptKeyword(\n          this._stmtName,\n          this._optName,\n          this._subOptName,\n        ) ||\n        this._subOptName\n      ) {\n        return CodeZoneManager.ZONE_TYPE.GBL_STMT_SUB_OPT_NAME;\n      }\n    } else if (\n      this._stmtName === \"%SYSCALL\" &&\n      /^%SYSCALL\\b/.test(token.text)\n    ) {\n      return this._callStmt(context);\n    }\n    return zone.type;\n  }\n  private _procSec(context: Context) {\n    let token = null,\n      text = null,\n      inBlock = false;\n    this._skipToStmtStart(context, true);\n    token = this._getNextEx(context);\n    if (Lexer.isWord[token.type]) {\n      text = token.text.toUpperCase();\n      if (token.pos >= 0) {\n        //the token has been right side of the cursor\n        inBlock = this._inBlock(context.block, token)! >= 0;\n        if (\n          (inBlock && text !== \"PROC\") ||\n          (!inBlock && //not in block\n            !this._endedReally(context.block))\n        ) {\n          //not really end the last block\n          this._procName = this._blockName(context.block);\n          if (text[0] === \"%\") {\n            return CodeZoneManager.ZONE_TYPE.MACRO_STMT;\n          } else {\n            if (this._isStatgraph(context.block, context.cursor, text)) {\n              this._procName = \"STATGRAPH\";\n            }\n            const zone = this._procStmt(context, token); //some procedure statments' name includes several words.\n            // ??? Why only allow these zone types if it's not PROC_STMT?\n            if (\n              zone === CodeZoneManager.ZONE_TYPE.ODS_STMT ||\n              zone === CodeZoneManager.ZONE_TYPE.EMBEDDED_LANG\n            ) {\n              return zone;\n            }\n            return CodeZoneManager.ZONE_TYPE.PROC_STMT;\n          }\n        } else {\n          return CodeZoneManager.ZONE_TYPE.GBL_STMT;\n        }\n      } else {\n        switch (text) {\n          case \"PROC\":\n          case \"PROCEDURE\":\n            return this._procDef(context);\n          case \"DATA\":\n            return this._dataDef(context, token);\n          default: {\n            if (this._isStatgraph(context.block, context.cursor, text)) {\n              this._procName = \"STATGRAPH\";\n            } else {\n              this._procName = this._blockName(context.block);\n            }\n            return this._procStmt(context, token);\n          }\n        }\n      }\n    } else {\n      this._procName = this._blockName(context.block);\n      return this._procStmt(context, token);\n    }\n  }\n  private _procDef(context: Context) {\n    let token = null;\n    token = this._getNextEx(context); // procedure name\n    if (token.pos >= 0 && token.text !== \"=\") {\n      return CodeZoneManager.ZONE_TYPE.PROC_DEF;\n    }\n    this._procName = token.text.toUpperCase();\n    this._topZone = CodeZoneManager.ZONE_TYPE.PROC_DEF;\n    const zone = this._stmtEx(context, token);\n    if (this._isCall(zone)) {\n      return CodeZoneManager.ZONE_TYPE.RESTRICTED;\n    } else if (zone.type === CodeZoneManager.ZONE_TYPE.OPT_NAME) {\n      return CodeZoneManager.ZONE_TYPE.PROC_OPT;\n    } else if (zone.type === CodeZoneManager.ZONE_TYPE.OPT_VALUE) {\n      return CodeZoneManager.ZONE_TYPE.PROC_OPT_VALUE;\n    } else if (zone.type === CodeZoneManager.ZONE_TYPE.SUB_OPT_NAME) {\n      if (\n        this._syntaxDb.isProcedureSubOptKeyword(\n          this._procName,\n          this._optName,\n          this._subOptName,\n        )\n      ) {\n        return CodeZoneManager.ZONE_TYPE.PROC_SUB_OPT_NAME;\n      }\n    }\n    return zone.type;\n  }\n  /*\n   * e.g.\n   * root stmt_name arglist argitem ...\n   */\n  private _context(\n    root: any,\n    stack: any[],\n    obj?: { type?: string; argIndex?: number; value?: any },\n  ): any {\n    let i,\n      len,\n      found = false;\n    if (!obj) {\n      obj = { type: \"root\" };\n    }\n    obj.value = root;\n    stack.push(obj);\n    if (root instanceof Array) {\n      //options\n      i = 0;\n      len = root.length;\n      for (; i < len; i++) {\n        found = this._context(root[i], stack, { type: \"argitem\", argIndex: i });\n        if (found) {\n          break;\n        }\n        stack.pop();\n      }\n    } else if (root instanceof Object) {\n      //operation\n      if (root.op2 !== undefined) {\n        found = this._context(root.op1, stack, { type: \"lvalue\" });\n        if (!found) {\n          found = this._context(root.op, stack, { type: \"operator\" });\n          if (!found) {\n            found = this._context(root.op2, stack, { type: \"rvalue\" });\n            if (!found) {\n              stack.pop();\n              stack.pop();\n              stack.pop();\n            }\n          }\n        }\n      } else if (root.op1 !== undefined) {\n        found = this._context(root.op, stack, { type: \"obj\" });\n        if (!found) {\n          found = this._context(root.op1, stack, { type: \"arglist\" });\n          if (!found) {\n            stack.pop();\n            stack.pop();\n          }\n        }\n      } else {\n        if (root.pos >= 0) {\n          found = true;\n        }\n      }\n    }\n    return found;\n  }\n\n  private _setOptName(node: {\n    op: { text: string } | undefined;\n    text: string;\n    op2: any;\n    op1: any;\n  }) {\n    if (node.op === undefined) {\n      this._optName = node.text;\n    } else if (node.op && node.op2 === undefined) {\n      this._optName = node.op.text;\n    } else {\n      this._setOptName(node.op1);\n    }\n  }\n\n  private _zone(stack: any[], context: Context): Zone {\n    let type, text;\n\n    // stack.length must be > 0\n    const curr = stack[stack.length - 1].value;\n    type = curr.zone;\n    text = curr.text;\n    this._optName = curr.text;\n    this._subOptName = curr.text;\n\n    // a\n    // a=\n    // a=b\n    // a=b(...)\n\n    const MAIN_OPT_INDEX = 3;\n\n    if (stack.length > MAIN_OPT_INDEX) {\n      this._setOptName(stack[MAIN_OPT_INDEX].value);\n    }\n\n    if (curr.pos !== 1) {\n      this._subOptName = undefined as any; //NOTE: must be undefined for _syntaxDb query.\n    }\n\n    if (type === CodeZoneManager.ZONE_TYPE.OBJECT /* && text === 'STYLE'*/) {\n      type = CodeZoneManager.ZONE_TYPE.OPT_NAME;\n    }\n    if (type === CodeZoneManager.ZONE_TYPE.SIMPLE_ITEM) {\n      type = CodeZoneManager.ZONE_TYPE.OPT_VALUE; //!\n    }\n    // \"nofcout(where=(substr(_var_,1,6)='Assign' and round(_value_) = 1)) as p \" in 'create table ' statement\n    // the 'and' keyword should be treated as speical.\n    // maybe we should have another checking mechanism.\n    if (!type && stack[stack.length - 1].type === \"operator\") {\n      type = CodeZoneManager.ZONE_TYPE.SUB_OPT_NAME; //if we set SUB_OPT_NAME, the _procStmt will check whether it is an OPT_NAME\n    }\n\n    if (\n      this._stmtName.match(/ODS TAGSETS.\\w*/gi) ||\n      (this._stmtName === \"ODS\" && this._optName.match(/TAGSETS.\\w*/gi))\n    ) {\n      text = this._model.getLine(context.cursor.line);\n      text = text.substring(0, context.cursor.col);\n      if (text.match(/TAGSETS.\\w*$/gi)) {\n        type = CodeZoneManager.ZONE_TYPE.TAGSETS_NAME;\n      } else if (\n        text.match(/ods\\s+\\w+$/gi) ||\n        (text.match(/((^\\s*$)|(^\\s*\\w+$))/) &&\n          type === CodeZoneManager.ZONE_TYPE.STMT_NAME) ||\n        text.match(/ods\\s+$/gi)\n      ) {\n        type = CodeZoneManager.ZONE_TYPE.ODS_STMT;\n      }\n    }\n\n    if (this._stmtName[0] === \"%\") {\n      if (\n        type === CodeZoneManager.ZONE_TYPE.OPT_NAME ||\n        type === CodeZoneManager.ZONE_TYPE.OPT_VALUE\n      ) {\n        type = CodeZoneManager.ZONE_TYPE.MACRO_STMT_BODY;\n      }\n    }\n\n    return { type };\n  }\n  private _isCall(zone: any) {\n    /*if (zone.callName && (zone.type === ZONE_TYPE.OPT_NAME || zone.type === ZONE_TYPE.OPT_VALUE)) {\n          return true;\n      }*/ // S1224156\n    return false;\n  }\n  private _procStmt(context: Context, stmt: TokenWithPos) {\n    let type;\n    this._topZone = CodeZoneManager.ZONE_TYPE.PROC_STMT;\n    this._getFullStmtName(context, this._procName, stmt);\n    const zone = this._stmtEx(context, stmt);\n    type = zone.type;\n    if ([\"PYTHON\", \"LUA\", \"R\"].includes(this._procName)) {\n      if (!this._embeddedCodeStarted) {\n        if ([\"SUBMIT\", \"INTERACTIVE\", \"I\"].includes(stmt.text)) {\n          this._embeddedCodeStarted = true;\n        }\n        return CodeZoneManager.ZONE_TYPE.PROC_STMT;\n      } else {\n        // this._embeddedCodeStarted is true\n        if ([\"ENDSUBMIT\", \"ENDINTERACTIVE\", \"RUN\"].includes(stmt.text)) {\n          this._embeddedCodeStarted = false;\n          return CodeZoneManager.ZONE_TYPE.PROC_STMT;\n        } else {\n          return CodeZoneManager.ZONE_TYPE.EMBEDDED_LANG;\n        }\n      }\n    } else if (this._isCall(zone)) {\n      type = CodeZoneManager.ZONE_TYPE.RESTRICTED;\n    } else if (zone.type === CodeZoneManager.ZONE_TYPE.STMT_NAME) {\n      type = CodeZoneManager.ZONE_TYPE.PROC_STMT;\n    } else if (zone.type === CodeZoneManager.ZONE_TYPE.OPT_NAME) {\n      if (this._stmtName === \"CALL\" && /^CALL\\b/.test(stmt.text)) {\n        return this._callStmt(context);\n      }\n      type = CodeZoneManager.ZONE_TYPE.PROC_STMT_OPT;\n    } else if (zone.type === CodeZoneManager.ZONE_TYPE.OPT_NAME_REQ) {\n      type = CodeZoneManager.ZONE_TYPE.PROC_STMT_OPT_REQ;\n    } else if (zone.type === CodeZoneManager.ZONE_TYPE.OPT_VALUE) {\n      type = CodeZoneManager.ZONE_TYPE.PROC_STMT_OPT_VALUE;\n    } else if (zone.type === CodeZoneManager.ZONE_TYPE.SUB_OPT_NAME) {\n      const stmtWithDatasetOption = LexerEx.stmtWithDatasetOption_;\n      if (stmtWithDatasetOption[this._procName + \"/\" + stmt.text]) {\n        type = CodeZoneManager.ZONE_TYPE.DATA_SET_OPT_NAME;\n      } else if (\n        this._syntaxDb.isProcedureStatementSubOptKeyword(\n          this._procName,\n          this._stmtName,\n          this._optName,\n          this._subOptName,\n        )\n      ) {\n        type = CodeZoneManager.ZONE_TYPE.PROC_STMT_SUB_OPT;\n      } else if (\n        this._syntaxDb.isProcedureStatementKeyword(\n          this._procName,\n          this._stmtName,\n          this._subOptName,\n        )\n      ) {\n        type = CodeZoneManager.ZONE_TYPE.PROC_STMT_OPT;\n      }\n    } else if (zone.type === CodeZoneManager.ZONE_TYPE.SUB_OPT_VALUE) {\n      type = CodeZoneManager.ZONE_TYPE.PROC_STMT_SUB_OPT_VALUE;\n    }\n    return type;\n  }\n  private _stmtEx(context: Context, stmt: TokenWithPos) {\n    const tokens = this._stmt(context, stmt),\n      stack: any[] = [];\n    this._context(tokens, stack);\n    return this._zone(stack, context);\n  }\n  private _emit3(context: Context, tree: any, type: any) {\n    this._traverse(tree, (i: { type: string }) => {\n      if (Lexer.isWord[i.type] || i.type === \"text\") {\n        this._emit(i, type);\n      }\n    });\n  }\n  private _if(context: Context, stmt: { text: string }, type: number) {\n    const opts = [];\n    let expr = this._expr(context),\n      token,\n      token2;\n\n    token = this._getNextEx(context);\n    if (token.text === \"IN\") {\n      //special case IN operator, because we ignore IN always in _expr\n      expr = { op: token, op1: expr, op2: this._expr(context) };\n      token = this._getNextEx(context);\n    }\n    this._emit3(context, expr, type);\n    opts.push(expr);\n\n    this._emit(token, type);\n    if (\n      (token.text === \"THEN\" &&\n        type === CodeZoneManager.ZONE_TYPE.DATA_STEP_STMT_OPT) ||\n      (token.text === \"%THEN\" &&\n        type === CodeZoneManager.ZONE_TYPE.MACRO_STMT_OPT)\n    ) {\n      token2 = this._getNextEx(context);\n      //adjust statement name\n      opts.push({ op: token, op1: this._stmt(context, token2) });\n      if (token.pos >= 0) {\n        this._stmtName = stmt.text;\n      }\n    } else {\n      opts.push(token);\n    }\n    return { op: stmt, op1: opts };\n  }\n\n  private _where(context: Context, stmt: TokenWithPos) {\n    return { op: stmt, op1: this._expr(context) };\n  }\n\n  private _style(context: Context, stmt: TokenWithPos) {\n    const ret: any = { op: stmt },\n      styleElemNames = [];\n    let from = null,\n      existing,\n      op1,\n      token;\n    /*\n        STYLE style-element-name(s)\n        <FROM existing-style-element-name | _SELF_ ><\"text\">\n        </ style-attribute-specification(s)>;\n        style-attribute-specification(s):\n        style-attribute-name=<|>style-attribute-value\n         */\n    // style element names\n    do {\n      token = this._getNextEx(context);\n      this._emit(token, CodeZoneManager.ZONE_TYPE.STYLE_ELEMENT);\n      styleElemNames.push(token);\n      token = this._getNextEx(context);\n    } while (token.text === \",\");\n    //ret['op1'] = styleElemNames;\n\n    if (token.text === \"FROM\") {\n      from = token;\n      //this._emit(token, \"from\"); //TODO: ??\n      existing = this._getNextEx(context);\n      //this._emit(existing, \"existing\"); //TODO: ??\n      //ret['op1'] = {'op':token, 'op1': styleElemNames, 'op2':_getNextEx(context)};\n      token = this._getNextEx(context);\n      if (token.text === '\"text\"' || token.text === \"'text'\") {\n        //this._emit(token, \"text\"); //TODO: ??\n        token = this._getNextEx(context); //ignore\n      }\n    }\n    if (token.text === \"/\") {\n      if (from) {\n        op1 = { op: from, op1: styleElemNames, op2: existing };\n      } else {\n        op1 = styleElemNames;\n      }\n      this._emit1(\n        token,\n        CodeZoneManager.ZONE_TYPE.RESTRICTED,\n        CodeZoneManager.ZONE_TYPE.STYLE_ATTR,\n      );\n      ret[\"op1\"] = {\n        op: token,\n        op1: op1,\n        op2: this._stmtOptions(\n          context,\n          null,\n          CodeZoneManager.ZONE_TYPE.STYLE_ATTR,\n          CodeZoneManager.ZONE_TYPE.RESTRICTED,\n        ),\n      };\n    } else {\n      ret[\"op1\"] = styleElemNames;\n    }\n    return ret;\n  }\n  private _ods(context: Context, stmt: TokenWithPos) {\n    let nameType, optType;\n    this._getFullStmtName(context, \"ODS\", stmt);\n    this._stmtName = stmt.text.toUpperCase();\n    this._emit(stmt, CodeZoneManager.ZONE_TYPE.ODS_STMT);\n    if (this._stmtName === \"ODS\") {\n      nameType = CodeZoneManager.ZONE_TYPE.RESTRICTED;\n      optType = CodeZoneManager.ZONE_TYPE.RESTRICTED;\n    } else {\n      nameType = CodeZoneManager.ZONE_TYPE.ODS_STMT_OPT;\n      optType = CodeZoneManager.ZONE_TYPE.ODS_STMT_OPT_VALUE;\n    }\n    const opts = this._stmtOptions(context, stmt, nameType, optType);\n    const opt = this._firstToken(opts);\n    if (this._stmtName === \"ODS\" && opt.pos >= 0) {\n      this._emit(opt, CodeZoneManager.ZONE_TYPE.ODS_STMT);\n    }\n    return { op: stmt, op1: opts };\n  }\n  private _traverse(\n    top: {\n      forEach: (arg0: (i: any) => void) => void;\n      op: any;\n      op2: any;\n      op1: any;\n    },\n    cb: { (i: any): void },\n  ) {\n    if (top instanceof Array) {\n      top.forEach((i) => {\n        this._traverse(i, cb);\n      });\n    } else if (top.op === undefined) {\n      cb(top);\n    } else if (top.op2 === undefined) {\n      this._traverse(top.op, cb);\n      this._traverse(top.op1, cb);\n    } else {\n      this._traverse(top.op1, cb);\n      this._traverse(top.op, cb);\n      this._traverse(top.op2, cb);\n    }\n  }\n  private _firstToken(opt: any): any {\n    if (opt instanceof Array) {\n      return this._firstToken(opt[0]);\n    } else if (opt.op === undefined) {\n      return opt;\n    } else if (opt.op2 === undefined) {\n      return this._firstToken(opt.op);\n    } else {\n      return this._firstToken(opt.op1);\n    }\n  }\n  private _isNormalStmt(stmt: { text: string }) {\n    //TODO: we should improve this when we get enough information about SAS language\n    const _normalStmts: Record<string, 1> = {\n      SELECT: 1,\n    };\n    return _normalStmts[stmt.text];\n  }\n  private _checkFuncType(token: { text: string }) {\n    return token.text[0] === \"%\"\n      ? CodeZoneManager.ZONE_TYPE.MACRO_FUNC\n      : this._syntaxDb.isSasFunction(token.text)\n        ? CodeZoneManager.ZONE_TYPE.SAS_FUNC\n        : CodeZoneManager.ZONE_TYPE.OBJECT;\n  }\n  private _stmt(context: Context, stmt: { text: string }) {\n    const ret = this._tryGetOpr(context);\n    let token;\n    if (ret.token.text === \"/\") {\n      this._copyContext(ret.context, context); //ignore '/'\n    } else if (Lexer.isBinaryOpr[ret.token.text]) {\n      //This statement is only a expression.\n      this._copyContext(ret.context, context);\n      if (!this._isNormalStmt(stmt)) {\n        //S1224156\n        this._emit(stmt, CodeZoneManager.ZONE_TYPE.SIMPLE_ITEM);\n        this._stmtName = stmt.text;\n        return { op: ret.token, op1: stmt, op2: this._expr(context) };\n      }\n    }\n    this._emit(stmt, CodeZoneManager.ZONE_TYPE.STMT_NAME);\n    this._stmtName = stmt.text;\n    if (this._specialStmt[this._stmtName]) {\n      return this._specialStmt[this._stmtName].call(\n        this,\n        context,\n        stmt,\n        CodeZoneManager.ZONE_TYPE.DATA_STEP_STMT_OPT,\n      );\n    } else if (this._needOptionDelimiter()) {\n      token = ret.token;\n      if (token.text === \"/\") {\n        this._emit1(\n          token,\n          CodeZoneManager.ZONE_TYPE.OPT_NAME_REQ,\n          CodeZoneManager.ZONE_TYPE.OPT_NAME,\n        );\n        return {\n          op: stmt,\n          op1: [token].concat(\n            this._stmtOptions(\n              context,\n              stmt,\n              CodeZoneManager.ZONE_TYPE.OPT_NAME,\n            ) as any,\n          ),\n        };\n      }\n    }\n    return { op: stmt, op1: this._stmtOptions(context, stmt) };\n  }\n  private _startScope(context: Context, scope: number, obj?: any) {\n    if (!context.scopes) {\n      context.scopes = [];\n    }\n    context.scopes.push({ t: scope, o: obj });\n  }\n  private _endScope(context: Context) {\n    context.scopes.pop();\n  }\n  private _styleOptionAllowed() {\n    if (\n      this._procName === \"PRINT\" ||\n      this._procName === \"REPORT\"\n      /*|| _stmtName.match(/^ODS/gi)*/\n    ) {\n      return true;\n    }\n    return false;\n  }\n  /* list is array\n   * e.g. : (a=b,b=c,d=e)\n   * e.g. : stmtname a1 b(c=d e(f=g h=i)=j(k=l m=n))=o(p=q r(s=t u=v) w(x=y aa)=bb(cc=dd ee=ff));\n   */\n  private _emitArgList(list: any[], ltype: number, rtype: number) {\n    let i = 1;\n    const count = list.length - 1;\n    if (list[0].pos === 0) {\n      this._emit(list[0], ltype);\n    }\n    if (list[count].pos >= 2) {\n      this._emit(list[count], ltype);\n    }\n    for (; i < count; i++) {\n      if (list[i].op === undefined) {\n        //only a token, no value\n        this._emit(list[i], ltype);\n      } else if (list[i].op2 === undefined) {\n        //complicated, call or config\n        this._emit(list[i].op, ltype);\n      } else {\n        //with value\n        if (list[i].op1.op1 instanceof Array) {\n          this._emit(list[i].op1.op, ltype); // e(f=g h=i)=j(k=l m=n), ignore the nested\n        } else {\n          this._emit(list[i].op1, ltype);\n        }\n        this._emit1(list[i].op, ltype, rtype);\n        if (list[i].op2.op1 instanceof Array) {\n          this._emit(list[i].op2.op, rtype);\n        } else {\n          if (list[i].op1.text && list[i].op1.text.match(/color/gi)) {\n            rtype = CodeZoneManager.ZONE_TYPE.COLOR;\n          }\n          this._emit(list[i].op2, rtype);\n        }\n      }\n    }\n  }\n  /*\n   * e.g.:\n   * (1) a\n   * (2) (a=b,b=c,d=e)\n   * (3) a(a=b,b=c,d=e)\n   */\n  private _emitTree(context: Context, expr: any, type?: any) {\n    let subOpts;\n    if (!context.scopes || context.scopes.length <= 0) {\n      return;\n    }\n    const deep = context.scopes.length;\n    const opt = context.scopes[0];\n    const curr = context.scopes[deep - 1];\n    if (\n      (opt.o && opt.o.text === \"STYLE\") ||\n      (opt.o && opt.o.op && opt.o.op.text === \"STYLE\")\n    ) {\n      // special for style\n      if (!this._styleOptionAllowed()) {\n        return;\n      }\n      if (curr.t === CodeZoneManager.ZONE_TYPE.OPT_ITEM) {\n        if (expr.op1) {\n          //having options\n          this._emit(expr.op, type);\n          if (expr.op1 instanceof Array) {\n            this._emitArgList(\n              expr.op1,\n              CodeZoneManager.ZONE_TYPE.STYLE_LOC,\n              CodeZoneManager.ZONE_TYPE.RESTRICTED,\n            );\n          }\n        } else {\n          this._emit(expr, type);\n        }\n      } else if (curr.t === CodeZoneManager.ZONE_TYPE.OPT_VALUE) {\n        if (expr.op1 || expr instanceof Array) {\n          if (expr.op1) {\n            subOpts = expr.op1;\n            this._emit(expr.op, CodeZoneManager.ZONE_TYPE.STYLE_ELEMENT);\n          } else {\n            subOpts = expr;\n          }\n          if (subOpts instanceof Array) {\n            this._emitArgList(\n              subOpts,\n              CodeZoneManager.ZONE_TYPE.STYLE_ATTR,\n              CodeZoneManager.ZONE_TYPE.RESTRICTED,\n            );\n          }\n        } else {\n          this._emit(expr, CodeZoneManager.ZONE_TYPE.STYLE_ELEMENT);\n        }\n      }\n    } else if (this._stmtName === \"DATA\" && opt.o) {\n      if (curr.t === CodeZoneManager.ZONE_TYPE.OPT_ITEM) {\n        if (expr.op === undefined) {\n          this._emit(expr, CodeZoneManager.ZONE_TYPE.DATA_STEP_OPT_NAME);\n        }\n      } else if (curr.t === CodeZoneManager.ZONE_TYPE.OPT_VALUE) {\n        if (opt.o.text === \"VIEW\" || opt.o.text === \"PGM\") {\n          if (expr.op) {\n            this._emit(expr.op, CodeZoneManager.ZONE_TYPE.VIEW_OR_PGM_NAME);\n            if (expr.op1 instanceof Array) {\n              this._emitArgList(\n                expr.op1,\n                CodeZoneManager.ZONE_TYPE.VIEW_OR_PGM_OPT_NAME,\n                CodeZoneManager.ZONE_TYPE.VIEW_OR_PGM_OPT_VALUE,\n              );\n            }\n          } else {\n            this._emit(expr, CodeZoneManager.ZONE_TYPE.VIEW_OR_PGM_NAME);\n          }\n        } else {\n          if (expr.op === undefined) {\n            this._emit(expr, CodeZoneManager.ZONE_TYPE.DATA_STEP_OPT_VALUE);\n          }\n        }\n      }\n    } else if (opt.o && opt.o.text && opt.o.text.match(/color/gi)) {\n      if (\n        curr.t === CodeZoneManager.ZONE_TYPE.OPT_VALUE &&\n        expr instanceof Array\n      ) {\n        this._emitArgList(\n          expr,\n          CodeZoneManager.ZONE_TYPE.COLOR,\n          CodeZoneManager.ZONE_TYPE.RESTRICTED,\n        );\n      }\n    } else if (expr.op1 instanceof Array) {\n      this._emitArgList(\n        expr.op1,\n        CodeZoneManager.ZONE_TYPE.SUB_OPT_NAME,\n        CodeZoneManager.ZONE_TYPE.SUB_OPT_VALUE,\n      );\n    }\n  }\n  private _stmtOptions(\n    context: Context,\n    stmt: any,\n    nameType?: number,\n    valType?: number,\n  ) {\n    let name: any,\n      next: any,\n      tmpContext,\n      val,\n      exit = false;\n    const opts = [];\n\n    if (!nameType) {\n      nameType = this._needOptionDelimiter()\n        ? CodeZoneManager.ZONE_TYPE.OPT_NAME_REQ\n        : CodeZoneManager.ZONE_TYPE.OPT_NAME;\n    }\n    if (!valType) {\n      valType = CodeZoneManager.ZONE_TYPE.OPT_VALUE;\n    }\n    for (;;) {\n      // option name\n      tmpContext = this._cloneContext(context);\n      name = this._getNextEx(tmpContext);\n      if (name.text === \"\") {\n        this._emit(name, nameType);\n        opts.push(name);\n        exit = true;\n      } else if (name.text === \";\") {\n        if (name.pos >= 2) {\n          this._emit(name, nameType);\n        }\n        opts.push(name);\n        exit = true;\n      } else {\n        if (\n          nameType === CodeZoneManager.ZONE_TYPE.OPT_NAME_REQ &&\n          name.text === \"/\"\n        ) {\n          nameType = CodeZoneManager.ZONE_TYPE.OPT_NAME;\n        }\n        this._emit(name, nameType);\n        this._copyContext(tmpContext, context);\n        tmpContext = this._cloneContext(context);\n        next = this._getNextEx(tmpContext);\n        if (next.text === \"(\") {\n          this._emit(name, this._checkFuncType(name));\n          name = { op: name, op1: this._argList(context, name) };\n          tmpContext = this._cloneContext(context);\n          next = this._getNextEx(tmpContext);\n        }\n      }\n      this._startScope(context, CodeZoneManager.ZONE_TYPE.OPT_ITEM, name);\n      this._emitTree(context, name, nameType);\n      if (exit) {\n        this._endScope(context);\n        break;\n      }\n      switch (next.text) {\n        case \"{\":\n          break; // TODO:\n        case \"=\":\n          this._emit1(next, nameType, valType);\n          this._copyContext(tmpContext, context);\n          this._startScope(context, CodeZoneManager.ZONE_TYPE.OPT_VALUE);\n          if (\n            name.text === \"DATA\" ||\n            this._isDatasetOpt(name.op === undefined ? name.text : name.op.text)\n          ) {\n            val = this._dsExpr(context);\n          } else {\n            val = this._expr(context, {}, true);\n          }\n          // The first part after '=' is always treated as option value\n          if (val.type) {\n            //TODO: need to be improved\n            this._emit(val, valType);\n          } else if (\n            val.op &&\n            val.op.zone === CodeZoneManager.ZONE_TYPE.OBJECT\n          ) {\n            // FIXID S1271196\n            val.op.zone = valType; // Not use _emit, we force to set valType\n          }\n          this._emitTree(context, val);\n          opts.push({ op: next, op1: name, op2: val });\n          this._endScope(context);\n          break;\n        default: {\n          opts.push(name);\n        }\n      }\n      this._endScope(context);\n    }\n    return opts;\n  }\n  private _dsExpr(context: Context) {\n    const token1 = this._getNextEx(context),\n      tmpContext = this._cloneContext(context),\n      token2 = this._getNextEx(tmpContext);\n    if (token2.text === \"(\") {\n      this._emit(token1, CodeZoneManager.ZONE_TYPE.OBJECT);\n      return { op: token1, op1: this._datasetOptions(context) };\n    } else {\n      this._emit(token1, CodeZoneManager.ZONE_TYPE.OPT_VALUE);\n      return token1;\n    }\n  }\n  private _argList(\n    context: Context,\n    obj?: any,\n    nameType?: number,\n    valType?: number,\n  ) {\n    let token = this._getNextEx(context),\n      tmpContext = null,\n      lopd,\n      exit = false,\n      val;\n    const items = [],\n      marks: Record<string, string> = { \"(\": \")\", \"[\": \"]\", \"{\": \"}\" },\n      lmark = token.text,\n      rmark = marks[lmark],\n      ends: Record<string, 1> = {};\n\n    if (!nameType) {\n      nameType = CodeZoneManager.ZONE_TYPE.SUB_OPT_NAME;\n    }\n    if (!valType) {\n      valType = CodeZoneManager.ZONE_TYPE.SUB_OPT_VALUE;\n    }\n    ends[rmark] = 1;\n    this._emit1(\n      token,\n      obj ? obj.zone : CodeZoneManager.ZONE_TYPE.RESTRICTED,\n      nameType,\n    );\n    this._startScope(context, CodeZoneManager.ZONE_TYPE.ARG_LIST, obj);\n    items.push(token);\n    do {\n      lopd = this._expr(context, ends); //complex expression\n      if (lopd.op === undefined) {\n        //token\n        this._emit(lopd, nameType);\n      } else if (lopd.op.text === \"=\") {\n        if (lopd.op1.op === undefined) {\n          this._emit(lopd.op1, nameType);\n        }\n        this._emit1(lopd.op, nameType, valType);\n        if (lopd.op2.op === undefined) {\n          this._emit(lopd.op2, valType);\n        }\n      }\n      //tmpContext = _cloneContext(context);\n      //lopd = _getNextEx(tmpContext);//simple name\n      //_emit(lopd, nameType);\n      exit = true;\n      switch (lopd.text) {\n        case rmark:\n          if (lopd.pos < 2) {\n            this._emit(lopd, CodeZoneManager.ZONE_TYPE.RESTRICTED);\n          }\n          this._copyContext(tmpContext, context);\n          break;\n        case \";\":\n          if (lopd.pos < 2) {\n            this._emit(lopd, CodeZoneManager.ZONE_TYPE.RESTRICTED);\n          }\n          break;\n        case \"\":\n          break;\n        default: {\n          exit = false;\n        }\n      }\n      if (exit) {\n        items.push(lopd);\n        break;\n      }\n\n      //_copyContext(tmpContext, context);\n      tmpContext = this._cloneContext(context);\n      token = this._getNextEx(tmpContext);\n      switch (token.text) {\n        case \"\":\n          this._emit(token, nameType);\n          items.push(lopd, token); // the '' token\n          exit = true;\n          break;\n        case \";\":\n          if (token.pos >= 2) {\n            this._emit(token, nameType);\n          }\n          items.push(lopd, token);\n          exit = true;\n          break;\n        case rmark:\n          this._emit1(token, nameType, CodeZoneManager.ZONE_TYPE.RESTRICTED);\n          items.push(lopd, token);\n          this._copyContext(tmpContext, context);\n          exit = true;\n          break;\n        case \"=\":\n          this._copyContext(tmpContext, context);\n          this._emit1(token, nameType, valType);\n          val = this._expr(context);\n          if (val.op === undefined) {\n            this._emit(val, valType);\n          }\n          items.push({\n            op: token,\n            op1: lopd,\n            op2: val,\n          });\n          break;\n        case \",\":\n          items.push(lopd);\n          this._copyContext(tmpContext, context);\n          break;\n        default:\n          items.push(lopd);\n      }\n    } while (!exit);\n    this._endScope(context);\n    return items;\n  }\n  private _tryGetOpr(context: Context) {\n    const tmpContext = this._cloneContext(context),\n      token = this._getNextEx(tmpContext);\n\n    return { token: token, context: tmpContext };\n  }\n\n  private _expr(\n    context: Context,\n    ends?: Record<string, 1>,\n    one?: boolean,\n  ): any {\n    let text,\n      ret,\n      item = null;\n    const tmpContext = this._cloneContext(context);\n    //e.g.: left(symget('dmktdesopts'));\n    const token1 = this._getNextEx(tmpContext);\n    if (ends && ends[token1.text]) {\n      return this._dummyToken;\n    } else if (_isScopeBeginMark[token1.text]) {\n      //item = {'op': token1,'op1':_argList(context,null)};// complicated expression\n      item = this._argList(context, null);\n      //return item; //not return\n    } else if (Lexer.isUnaryOpr[token1.text]) {\n      this._copyContext(tmpContext, context);\n      item = { op: token1, op1: this._expr(context, ends, true) }; //not return\n    } else {\n      item = token1;\n      this._emit(\n        token1,\n        token1.text[0] === \"%\"\n          ? CodeZoneManager.ZONE_TYPE.MACRO_FUNC\n          : CodeZoneManager.ZONE_TYPE.SIMPLE_ITEM,\n      );\n      this._copyContext(tmpContext, context);\n    }\n    for (;;) {\n      ret = this._tryGetOpr(context);\n      text = ret.token.text;\n      if (Lexer.isBinaryOpr[text] && !one /*|| SasLexer.isUnaryOpr[text]*/) {\n        //ATTENTION: not concern the priority\n        this._copyContext(ret.context, context);\n        item = { op: ret.token, op1: item, op2: this._expr(context, ends) };\n      } else if (_isScopeBeginMark[text]) {\n        this._emit(token1, this._checkFuncType(token1)); //call or config\n        item = { op: token1, op1: this._argList(context, token1) };\n      } else {\n        return item;\n      }\n    }\n  }\n  //function _func(context,name) {\n  //TODO:\n  //}\n  private _dataSec(context: Context) {\n    let token = null,\n      text = null,\n      inBlock = false;\n    this._skipToStmtStart(context, true);\n    token = this._getNextEx(context);\n\n    if (Lexer.isWord[token.type]) {\n      text = token.text.toUpperCase();\n      if (token.pos >= 0) {\n        inBlock = this._inBlock(context.block, token)! >= 0;\n        if (\n          (inBlock && text !== \"DATA\") ||\n          (!inBlock && //not in block\n            !this._endedReally(context.block))\n        ) {\n          //not really end the last block\n          this._procName = this._blockName(context.block);\n          if (text[0] === \"%\") {\n            return CodeZoneManager.ZONE_TYPE.MACRO_STMT;\n          } else {\n            return CodeZoneManager.ZONE_TYPE.DATA_STEP_STMT;\n          }\n        } else {\n          return CodeZoneManager.ZONE_TYPE.GBL_STMT;\n        }\n      } else {\n        this._stmtName = text;\n        switch (text) {\n          case \"PROC\":\n          case \"PROCEDURE\":\n            return this._procDef(context);\n          case \"DATA\":\n            return this._dataDef(context, token);\n          //case '%SYSCALL':\n          //case 'CALL': return _callStmt(context);\n          case \"SET\":\n          case \"MERGE\":\n          case \"MODIFY\":\n          case \"UPDATE\":\n            return this._setStmt(context, token);\n          default:\n            return this._dataStmt(context, token);\n        }\n      }\n    } else {\n      return this._dataStmt(context, token);\n    }\n  }\n  private _dataDef(context: Context, stmt: TokenWithPos) {\n    let token1, token2, tmpContext, viewOrPrg: any, name;\n    const opts = [],\n      stack: any[] = [];\n\n    this._topZone = CodeZoneManager.ZONE_TYPE.DATA_STEP_DEF;\n    token1 = this._getNextEx(context);\n    tmpContext = this._cloneContext(context);\n    token2 = this._getNextEx(tmpContext);\n    if (Lexer.isWord[token1.type] || token1.type === \"string\") {\n      switch (token2.text) {\n        case \"/\": //data step option\n          this._emit(\n            token1,\n            token1.text === \"_NULL_\"\n              ? CodeZoneManager.ZONE_TYPE.DATA_STEP_DEF_OPT\n              : CodeZoneManager.ZONE_TYPE.DATA_SET_NAME,\n          );\n          this._emit1(\n            token2,\n            CodeZoneManager.ZONE_TYPE.DATA_SET_NAME,\n            CodeZoneManager.ZONE_TYPE.DATA_STEP_OPT_NAME,\n          );\n          this._copyContext(tmpContext, context);\n          opts.push(token1, token2, this._datastepOptions(context));\n          break;\n        case \"=\": // view name or program name\n          this._emit(token1, CodeZoneManager.ZONE_TYPE.DATA_STEP_DEF_OPT);\n          this._emit1(\n            token2,\n            CodeZoneManager.ZONE_TYPE.DATA_STEP_DEF_OPT,\n            CodeZoneManager.ZONE_TYPE.VIEW_OR_PGM_NAME,\n          );\n          name = token1.text;\n          viewOrPrg = { op: token2, op1: token1 };\n          opts.push(viewOrPrg);\n          this._copyContext(tmpContext, context);\n          token1 = this._getNextEx(context); // view name or program name\n          viewOrPrg[\"op2\"] = token1;\n          if (Lexer.isWord[token1.type]) {\n            this._emit(token1, CodeZoneManager.ZONE_TYPE.VIEW_OR_PGM_NAME);\n            tmpContext = this._cloneContext(context);\n            token2 = this._getNextEx(tmpContext);\n            if (token2.text === \"(\") {\n              this._emit(token1, CodeZoneManager.ZONE_TYPE.OBJECT);\n              viewOrPrg[\"op2\"] = {\n                op: token1,\n                op1: this._argList(\n                  context,\n                  token1,\n                  CodeZoneManager.ZONE_TYPE.VIEW_OR_PGM_OPT_NAME,\n                  CodeZoneManager.ZONE_TYPE.VIEW_OR_PGM_OPT_VALUE,\n                ),\n              };\n              token2 = this._getNextEx(context);\n            }\n            if (\n              (token2.text === \";\" || Lexer.isWord[token2.type]) &&\n              (name === \"VIEW\" || name === \"PGM\")\n            ) {\n              this._emit(\n                token2,\n                CodeZoneManager.ZONE_TYPE.VIEW_OR_PGM_SUB_OPT_NAME,\n              ); //NOLIST\n              opts.push(token2);\n            }\n          }\n          break;\n        case \"\":\n          this._emit(token1, CodeZoneManager.ZONE_TYPE.DATA_STEP_DEF_OPT);\n          opts.push(token1);\n          break;\n        default: {\n          for (;;) {\n            this._emit(\n              token1,\n              token1.text === \"_NULL_\"\n                ? CodeZoneManager.ZONE_TYPE.DATA_STEP_DEF_OPT\n                : CodeZoneManager.ZONE_TYPE.VIEW_OR_DATA_SET_NAME,\n            );\n            if (token2.text === \"(\") {\n              // data set option\n              this._emit(token1, CodeZoneManager.ZONE_TYPE.DATA_SET_NAME);\n              opts.push({ op: token1, op1: this._datasetOptions(context) });\n            } else {\n              opts.push(token1);\n            }\n            token1 = this._getNextEx(context);\n            tmpContext = this._cloneContext(context);\n            token2 = this._getNextEx(tmpContext);\n            if (token1.text === \"\") {\n              this._emit(\n                token1,\n                CodeZoneManager.ZONE_TYPE.VIEW_OR_DATA_SET_NAME,\n              );\n              opts.push(token1);\n              break;\n            } else if (token1.text === \"/\") {\n              this._emit1(\n                token1,\n                CodeZoneManager.ZONE_TYPE.VIEW_OR_DATA_SET_NAME,\n                CodeZoneManager.ZONE_TYPE.DATA_STEP_OPT_NAME,\n              );\n              opts.push(token1, this._datastepOptions(context));\n              break;\n            } else if (token1.text === \";\") {\n              break;\n            }\n          }\n        }\n      }\n    } else if (token1.text === \"/\") {\n      this._emit1(\n        token1,\n        CodeZoneManager.ZONE_TYPE.STMT_NAME,\n        CodeZoneManager.ZONE_TYPE.DATA_STEP_OPT_NAME,\n      );\n      opts.push(token1, this._datastepOptions(context));\n    } else {\n      // error\n    }\n\n    this._context({ op: \"DATA\", op1: opts }, stack);\n    const zone = this._zone(stack, context);\n    return zone.type;\n  }\n  //only for debug\n  //function _getZoneName(zone) {\n  //    for(var attr in ZONE_TYPE) {\n  //        if (ZONE_TYPE.hasOwnProperty(attr)) {\n  //            if (ZONE_TYPE[attr] === zone) {\n  //                return attr;\n  //            }\n  //        }\n  //    }\n  //}\n  private _datasetOptions(context: Context) {\n    let token1 = this._getNextEx(context),\n      equal,\n      tmpContext,\n      optVal,\n      simpleVal,\n      moreVals = [];\n    const opts = []; // ignore '('\n    this._emit1(\n      token1,\n      CodeZoneManager.ZONE_TYPE.VIEW_OR_DATA_SET_NAME,\n      CodeZoneManager.ZONE_TYPE.DATA_SET_OPT_NAME,\n    );\n    opts.push(token1);\n    for (;;) {\n      tmpContext = this._cloneContext(context);\n      token1 = this._getNextEx(tmpContext); //optiona name\n      this._emit(token1, CodeZoneManager.ZONE_TYPE.DATA_SET_OPT_NAME);\n      switch (token1.text) {\n        case \"\":\n        case \";\":\n          opts.push(token1);\n          return opts;\n        case \")\":\n          this._emit1(\n            token1,\n            CodeZoneManager.ZONE_TYPE.DATA_SET_OPT_NAME,\n            CodeZoneManager.ZONE_TYPE.RESTRICTED,\n          );\n          opts.push(token1);\n          this._copyContext(tmpContext, context);\n          return opts;\n        default:\n          if (Lexer.isWord[token1.type] === undefined) {\n            return opts;\n          }\n      }\n      this._copyContext(tmpContext, context);\n      //tmpContext = _cloneContext(context);\n      equal = this._getNextEx(tmpContext);\n\n      if (equal.text !== \"=\") {\n        opts.push(token1);\n        continue;\n      }\n      this._copyContext(tmpContext, context);\n      this._emit1(\n        equal,\n        CodeZoneManager.ZONE_TYPE.DATA_SET_OPT_NAME,\n        CodeZoneManager.ZONE_TYPE.DATA_SET_OPT_VALUE,\n      );\n\n      switch (token1.text) {\n        case \"INDEX\":\n        case \"RENAME\":\n        case \"WHERE\":\n          //token2 = _getNextEx(tmpContext);\n          //if (token2.text === '(') {\n          //    optVal = _argList(context, token1);\n          //}\n          optVal = this._expr(context);\n          break;\n        case \"SORTEDBY\":\n          optVal = this._expr(context);\n          if (optVal.op === undefined) {\n            this._emit(optVal, CodeZoneManager.ZONE_TYPE.DATA_SET_OPT_VALUE);\n          }\n          break;\n        default: {\n          //optVal = _getNextEx(context);\n          optVal = this._expr(context);\n          simpleVal = this._firstToken(optVal);\n          if (simpleVal.pos >= 0) {\n            this._emit(simpleVal, CodeZoneManager.ZONE_TYPE.DATA_SET_OPT_VALUE);\n          }\n          if (token1.text === \"DROP\" || token1.text === \"KEEP\") {\n            moreVals = this._tryGetMoreVals(\n              context,\n              CodeZoneManager.ZONE_TYPE.DATA_SET_OPT_VALUE,\n            );\n            if (moreVals.length) {\n              optVal = [optVal].concat(moreVals);\n            }\n          }\n        }\n      }\n      opts.push({ op: equal, op1: token1, op2: optVal });\n      if (optVal.text === \")\") {\n        break;\n      }\n    }\n    return opts;\n  }\n  private _tryGetMoreVals(context: Context, emitType: number) {\n    let token1, tmpContext2, token2;\n    const tmpContext1 = this._cloneContext(context),\n      vals = [],\n      notExpected = /[/);]/;\n    for (;;) {\n      token1 = this._getNextEx(tmpContext1);\n      tmpContext2 = this._cloneContext(tmpContext1);\n      token2 = this._getNextEx(tmpContext2);\n      if (\n        token2.text === \"=\" ||\n        notExpected.test(token1.text) ||\n        token1.text === \"\"\n      ) {\n        return vals;\n      } else {\n        this._emit(token1, emitType);\n        vals.push(token1);\n        this._copyContext(tmpContext1, context);\n      }\n    }\n  }\n  private _datastepOptions(context: Context) {\n    return this._stmtOptions(\n      context,\n      null,\n      CodeZoneManager.ZONE_TYPE.DATA_STEP_OPT_NAME,\n      CodeZoneManager.ZONE_TYPE.DATA_STEP_OPT_VALUE,\n    );\n  }\n  private _dataStmt(context: Context, stmt: TokenWithPos) {\n    let token = null,\n      text = null;\n    const newContext = {\n      block: context.block,\n      line: context.cursor.line,\n      col: context.cursor.col,\n      syntaxIdx: -1,\n      cursor: context.cursor,\n    };\n    this._topZone = CodeZoneManager.ZONE_TYPE.DATA_STEP_STMT;\n    this._stmtName = stmt.text.toUpperCase();\n    //special for call statement, and ignore others currently\n    token = this._getPrev(newContext); // current\n    text = token!.text.toUpperCase();\n    if (this._stmtName === \"IF\" || this._stmtName === \"CALL\") {\n      const prevToken = this._getPrev(newContext);\n      const prevText = prevToken?.text.toUpperCase();\n      if (\n        /^CALL\\b/.test(text) ||\n        (/^\\w+$/.test(text) && prevText && /^CALL$/.test(prevText))\n      ) {\n        return this._callStmt(newContext);\n      }\n    }\n    const zone = this._stmtEx(context, stmt);\n    if (this._isCall(zone)) {\n      return CodeZoneManager.ZONE_TYPE.RESTRICTED;\n    } else if (zone.type === CodeZoneManager.ZONE_TYPE.STMT_NAME) {\n      return CodeZoneManager.ZONE_TYPE.DATA_STEP_STMT;\n    } else if (zone.type === CodeZoneManager.ZONE_TYPE.OPT_NAME) {\n      return CodeZoneManager.ZONE_TYPE.DATA_STEP_STMT_OPT;\n    } else if (zone.type === CodeZoneManager.ZONE_TYPE.OPT_VALUE) {\n      return CodeZoneManager.ZONE_TYPE.DATA_STEP_STMT_OPT_VALUE;\n    }\n    return zone.type;\n  }\n  private _callStmt(context: Context) {\n    return CodeZoneManager.ZONE_TYPE.CALL_ROUTINE;\n  }\n  private _setStmt(context: Context, stmt: TokenWithPos) {\n    let item,\n      next,\n      tmpContext,\n      allowOption = false,\n      exit = false;\n    const opts = [],\n      stack: any[] = [];\n\n    this._stmtName = stmt.text;\n    do {\n      item = this._getNextEx(context);\n      if (item.text === \"\") {\n        //if (!allowOption) _emit(item, ZONE_TYPE.RESTRICTED);\n        //else {\n        this._emit(item, CodeZoneManager.ZONE_TYPE.DATA_STEP_STMT_OPT);\n        //}\n        exit = true;\n      } else if (item.text === \";\") {\n        if (item.pos >= 2 && allowOption) {\n          this._emit(item, CodeZoneManager.ZONE_TYPE.DATA_STEP_STMT_OPT);\n        }\n        exit = true;\n      } else if (Lexer.isWord[item.type]) {\n        tmpContext = this._cloneContext(context);\n        next = this._getNextEx(tmpContext);\n        if (next.text === \"(\") {\n          //data set options\n          item = { op: item, op1: this._datasetOptions(context) };\n        } else if (next.text === \"=\") {\n          //set options\n          this._emit(item, CodeZoneManager.ZONE_TYPE.DATA_STEP_STMT_OPT);\n          this._emit1(\n            next,\n            CodeZoneManager.ZONE_TYPE.DATA_STEP_STMT_OPT,\n            CodeZoneManager.ZONE_TYPE.DATA_STEP_STMT_OPT_VALUE,\n          );\n          this._copyContext(tmpContext, context);\n          item = { op: next, op1: item, op2: this._expr(context) };\n        } else {\n          this._emit(item, CodeZoneManager.ZONE_TYPE.DATA_STEP_STMT_OPT);\n        }\n        allowOption = true;\n      }\n      opts.push(item);\n    } while (!exit);\n    this._context({ op: stmt, op1: opts }, stack);\n    const zone = this._zone(stack, context);\n    if (zone.type === CodeZoneManager.ZONE_TYPE.OPT_VALUE) {\n      zone.type = CodeZoneManager.ZONE_TYPE.DATA_STEP_STMT_OPT_VALUE;\n    } else if (zone.type === undefined) {\n      // dataset\n      zone.type = CodeZoneManager.ZONE_TYPE.DATA_STEP_STMT_OPT;\n    }\n    return zone.type;\n  }\n  private _macroSec(context: Context) {\n    let token = null,\n      text = null,\n      embeddedBlock = null;\n    this._skipToStmtStart(context, true);\n    token = this._getNextEx(context);\n    this._stmtName = token.text;\n    if (Lexer.isWord[token.type]) {\n      text = token.text;\n      if (token.pos >= 0) {\n        const inBlock = this._inBlock(context.block, token)! >= 0;\n        if (\n          (inBlock && text !== \"%MACRO\") ||\n          (!inBlock && //not in block\n            !this._endedReally(context.block))\n        ) {\n          // in block\n          embeddedBlock = this._embeddedBlock(context.block, {\n            line: token.line,\n            col: token.col - 1,\n          });\n          if (embeddedBlock) {\n            context.block = embeddedBlock;\n            context.line = context.cursor.line;\n            context.col = context.cursor.col - 1;\n            if (embeddedBlock.type === SEC_TYPE.PROC) {\n              return this._procSec(context);\n            } else {\n              return this._dataSec(context);\n            }\n          }\n        }\n        if (text[0] === \"%\") {\n          return CodeZoneManager.ZONE_TYPE.MACRO_STMT;\n        } else {\n          return CodeZoneManager.ZONE_TYPE.GBL_STMT;\n        }\n      } else {\n        switch (text) {\n          case \"%MACRO\":\n            return this._macroDef(context);\n          case \"PROC\":\n            return this._procDef(context);\n          case \"DATA\":\n            return this._dataDef(context, token);\n          default: {\n            embeddedBlock = this._embeddedBlock(context.block, {\n              line: token.line,\n              col: token.col - 1,\n            });\n            if (embeddedBlock) {\n              context.block = embeddedBlock;\n              context.line = context.cursor.line;\n              context.col = context.cursor.col - 1;\n              if (embeddedBlock.type === SEC_TYPE.PROC) {\n                return this._procSec(context);\n              } else {\n                return this._dataSec(context);\n              }\n            } else {\n              return this._macroStmt(context, token);\n            }\n          }\n        }\n      }\n    } else {\n      return this._macroStmt(context, token);\n    }\n  }\n  private _macroDef(context: Context): number {\n    let token;\n    const name = this._getNextEx(context),\n      opts = [],\n      stack: any[] = [];\n\n    // if (name.text === \";\") {\n    //   return CodeZoneManager.ZONE_TYPE.MACRO_DEF;\n    // }\n\n    // this._emit(name, CodeZoneManager.ZONE_TYPE.MACRO_DEF); // macro name\n    this._emit(name, CodeZoneManager.ZONE_TYPE.RESTRICTED); // macro name\n\n    const tmpContext = this._cloneContext(context);\n    token = this._getNextEx(tmpContext);\n    if (token.text === \"(\") {\n      opts.push({ op: name, op1: this._argList(context) });\n      token = this._getNextEx(context);\n    } else {\n      this._copyContext(tmpContext, context);\n      opts.push(name);\n    }\n    if (token.text === \"/\") {\n      this._emit1(\n        token,\n        CodeZoneManager.ZONE_TYPE.RESTRICTED,\n        CodeZoneManager.ZONE_TYPE.MACRO_DEF_OPT,\n      );\n      opts.push(\n        token,\n        this._stmtOptions(\n          context,\n          null,\n          CodeZoneManager.ZONE_TYPE.MACRO_DEF_OPT,\n          CodeZoneManager.ZONE_TYPE.RESTRICTED,\n        ),\n      );\n    }\n    this._context({ op: \"%MACRO\", op1: opts }, stack);\n    const zone = this._zone(stack, context);\n    return zone.type;\n  }\n  private _macroStmt(context: Context, stmt: TokenWithPos) {\n    let tokens, zone, name;\n    const embeddedBlock = this._embeddedBlock(context.block, context.cursor),\n      stack: any[] = [];\n\n    if (embeddedBlock) {\n      if (this._isStatgraph(context.block, context.cursor, stmt.text)) {\n        this._procName = \"STATGRAPH\";\n      } else {\n        this._procName = this._blockName(context.block);\n      }\n      return this._procStmt(context, stmt);\n    } else if (stmt.text[0] === \"%\") {\n      name = stmt.text.substring(1);\n      if (this._specialStmt[name]) {\n        tokens = this._specialStmt[name].call(\n          this,\n          context,\n          stmt,\n          CodeZoneManager.ZONE_TYPE.MACRO_STMT_OPT,\n        );\n      } else if (\n        this._stmtName === \"%SYSCALL\" &&\n        /^%SYSCALL\\b/.test(stmt.text)\n      ) {\n        return this._callStmt(context);\n      } else {\n        const tmpContext = this._cloneContext(context);\n        const next = this._getNextEx(tmpContext);\n        if (next.text === \"%WHILE\" || next.text === \"%UNTIL\") {\n          //adjust statement name\n          //_stmtName += \" \";\n          //_stmtName += next.text;\n          this._stmtName = next.text;\n          this._copyContext(tmpContext, context);\n          tokens = { op: next, op1: this._expr(context) }; //ignore %do\n          this._emit(next, CodeZoneManager.ZONE_TYPE.MACRO_STMT);\n        } else {\n          tokens = {\n            op: stmt,\n            op1: this._stmtOptions(\n              context,\n              null,\n              CodeZoneManager.ZONE_TYPE.MACRO_STMT_OPT,\n              CodeZoneManager.ZONE_TYPE.MACRO_STMT_OPT_VALUE,\n            ),\n          };\n        }\n      }\n      this._context(tokens, stack);\n      zone = this._zone(stack, context);\n      if (zone.type === CodeZoneManager.ZONE_TYPE.STMT_NAME) {\n        return this._stmtName[0] === \"%\"\n          ? CodeZoneManager.ZONE_TYPE.MACRO_STMT\n          : CodeZoneManager.ZONE_TYPE.GBL_STMT;\n      }\n      return zone.type;\n    }\n\n    return this._globalStmt(context);\n  }\n  private _normalize(line: number, col: number) {\n    if (col < 0) {\n      if (line < 1) {\n        line = 0;\n        col = 0;\n      } else {\n        line--;\n        col = this._model.getLine(line).length;\n      }\n    }\n    return { line: line, col: col };\n  }\n  private _cloneContext(context: Context): Context {\n    // var obj = {};\n    // for (var attr in context) {\n    //   if (context.hasOwnProperty(attr)) {\n    //     obj[attr] = context[attr]; //not deep clone\n    //   }\n    // }\n    return Object.assign({}, context);\n  }\n  private _copyContext(src: any, dst: any) {\n    for (const attr in src) {\n      // eslint-disable-next-line no-prototype-builtins\n      if (src.hasOwnProperty(attr)) {\n        dst[attr] = src[attr];\n      }\n    }\n  }\n  private _currentZone(line: number, col: number) {\n    const newToken = this._token(line, col)!;\n    const type = newToken.type;\n    if (type === \"embedded-code\") {\n      return CodeZoneManager.ZONE_TYPE.EMBEDDED_LANG;\n    }\n    let context = null,\n      pos: any = this._normalize(line, col - 1);\n    const tmpLine = pos.line,\n      tmpCol = pos.col;\n    let token = this._token(tmpLine, tmpCol)!;\n    const block = this._syntaxProvider.getFoldingBlock(\n      tmpLine,\n      tmpCol,\n      true,\n      true,\n      true,\n    );\n    /* first check type to determine zone, some special conditions\n     * 1) for bringing up auto completion popup by shortcut,\n     * 2) input at the end of a line in comment or literal\n     */\n    pos = this._pos({ line: line, col: col }, token);\n    const newPos = this._pos({ line: line, col: col }, newToken);\n    if (pos === 1 || newPos === 1 || !this._ended(token)) {\n      //&& (SasLexer.isComment[type] || SasLexer.isLiteral[type])\n      ///*|| SasLexer.isComment[type] || SasLexer.isLiteral[type]*/) {\n      //return ZONE_TYPE.RESTRCITED;\n      if (Lexer.isComment[type]) {\n        return CodeZoneManager.ZONE_TYPE.COMMENT;\n      }\n      if (type === \"string\") {\n        return CodeZoneManager.ZONE_TYPE.QUOTED_STR;\n      }\n      if (type === \"cards-data\") {\n        return CodeZoneManager.ZONE_TYPE.DATALINES;\n      }\n      if (Lexer.isLiteral[type]) {\n        return CodeZoneManager.ZONE_TYPE.LITERAL;\n      }\n    }\n    context = {\n      block: block,\n      line: line,\n      col: col - 1, //\n      syntaxIdx: -1,\n      cursor: { line: line, col: col },\n    };\n    this._reset();\n    //_skipToStmtStart(context,true);\n    if (this._sectionMode) {\n      if (this._sectionMode.secType === SEC_TYPE.PROC) {\n        this._skipToStmtStart(context, true);\n        token = this._getNextEx(context);\n        this._procName = this._sectionMode.procName.toUpperCase();\n        return this._procStmt(context, token as TokenWithPos);\n      }\n    }\n    if (!block || this._isBlockStart(block, token)) {\n      return this._globalStmt(context);\n    } else if (block.type === SEC_TYPE.PROC) {\n      return this._procSec(context);\n    } else if (block.type === SEC_TYPE.DATA) {\n      return this._dataSec(context);\n    } else if (block.type === SEC_TYPE.MACRO) {\n      return this._macroSec(context);\n    }\n    return CodeZoneManager.ZONE_TYPE.RESTRICTED;\n  }\n  /* The followings are the APIs for code zone manager.*/\n  getProcName(): string {\n    return this._procName;\n  }\n  getStmtName(): string {\n    return this._stmtName;\n  }\n  getOptionName(): string {\n    return this._optName;\n  }\n  getSubOptionName(): string {\n    return this._subOptName;\n  }\n  getCurrentZone(line: number, col: number) {\n    try {\n      return this._currentZone(line, col);\n    } catch (e) {\n      return CodeZoneManager.ZONE_TYPE.RESTRICTED;\n    }\n  }\n  setSectionMode(secType: number, procName: string): void {\n    this._sectionMode = {\n      secType: secType,\n      procName: procName,\n    };\n  }\n\n  static readonly ZONE_TYPE = {\n    RESTRICTED: 10,\n    SIMPLE_ITEM: 11,\n    STMT_NAME: 12,\n    OPT_ITEM: 13,\n    OPT_NAME: 14,\n    OPT_NAME_REQ: 114,\n    OPT_VALUE: 15,\n    CALL_OR_CONFIG: 16,\n    OBJECT: 17,\n    SUB_OPT_NAME: 18,\n    SUB_OPT_VALUE: 19,\n    // global statement related\n    GBL_STMT: 500,\n    GBL_STMT_OPT: 501,\n    GBL_STMT_OPT_VALUE: 502,\n    GBL_STMT_SUB_OPT_NAME: 503,\n    // procedure related\n    PROC_DEF: 510,\n    PROC_OPT: 511,\n    PROC_OPT_VALUE: 512,\n    PROC_SUB_OPT_NAME: 509, //\n    PROC_STMT: 515,\n    PROC_STMT_OPT: 516,\n    PROC_STMT_OPT_REQ: 514,\n    PROC_STMT_OPT_VALUE: 517,\n    PROC_STMT_SUB_OPT: 518,\n    PROC_STMT_SUB_OPT_VALUE: 519,\n    // data step related\n    DATA_STEP_DEF: 520,\n    DATA_STEP_DEF_OPT: 521,\n    DATA_STEP_OPT_NAME: 522,\n    DATA_STEP_OPT_VALUE: 523,\n    DATA_SET_NAME: 524,\n    VIEW_OR_DATA_SET_NAME: 525,\n    DATA_SET_OPT_NAME: 526,\n    DATA_SET_OPT_VALUE: 530,\n    VIEW_OR_PGM_NAME: 531,\n    VIEW_OR_PGM_OPT_NAME: 532,\n    VIEW_OR_PGM_OPT_VALUE: 533,\n    VIEW_OR_PGM_SUB_OPT_NAME: 534,\n    DATA_STEP_STMT: 540,\n    DATA_STEP_STMT_OPT: 541,\n    DATA_STEP_STMT_OPT_VALUE: 542,\n    // macro related\n    MACRO_DEF: 545,\n    MACRO_DEF_OPT: 546,\n    MACRO_STMT: 547,\n    MACRO_STMT_OPT: 548,\n    MACRO_STMT_OPT_VALUE: 549,\n    MACRO_STMT_BODY: 550,\n    // style related\n    STYLE_LOC: 555,\n    STYLE_ELEMENT: 556,\n    STYLE_ATTR: 557,\n    // literals or comment\n    QUOTED_STR: 600,\n    COMMENT: 601,\n    LITERAL: 602,\n    COLOR: 605,\n    FORMAT: 606,\n    INFORMAT: 607,\n    MACRO_FUNC: 608,\n    SAS_FUNC: 609,\n    STAT_KW: 610,\n    AUTO_MACRO_VAR: 611,\n    MACRO_VAR: 612,\n    DATALINES: 613,\n    LIB: 614,\n    EMBEDDED_LANG: 615,\n    // misc\n    CALL_ROUTINE: 700,\n    ARG_LIST: 701,\n    ARG_LIST_START: 702,\n    ARG_LIST_END: 703,\n    TAGSETS_NAME: 704,\n    ODS_STMT: 705,\n    ODS_STMT_OPT: 706,\n    ODS_STMT_OPT_VALUE: 707,\n  };\n}\n"
  },
  {
    "path": "server/src/sas/CompletionProvider.ts",
    "content": "// Copyright © 2022, SAS Institute Inc., Cary, NC, USA.  All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n/* eslint-disable @typescript-eslint/no-explicit-any, @typescript-eslint/consistent-type-assertions */\nimport {\n  CompletionItem,\n  CompletionItemKind,\n  CompletionList,\n  CompletionParams,\n  Hover,\n  MarkupKind,\n  SignatureHelp,\n  SignatureInformation,\n  uinteger,\n} from \"vscode-languageserver\";\nimport { Position } from \"vscode-languageserver-textdocument\";\n\nimport { CodeZoneManager } from \"./CodeZoneManager\";\nimport { Model } from \"./Model\";\nimport { HelpData, LibCompleteItem, OptionValues } from \"./SyntaxDataProvider\";\nimport { SyntaxProvider } from \"./SyntaxProvider\";\nimport { arrayToMap, getText } from \"./utils\";\n\nconst ZONE_TYPE = CodeZoneManager.ZONE_TYPE;\n\n//TODO: please improve tagsets, that's dup.\nconst tagsets = arrayToMap([\n  \"CHTML\",\n  \"CORE\",\n  \"CSV\",\n  \"CSVALL\",\n  \"CVSBYLINE\",\n  \"DEFAULT\",\n  \"DOCBOOK\",\n  \"EXCELXP\",\n  \"HTML4\",\n  \"HTMLCSS\",\n  \"HTMLPANEL\",\n  \"HTMLSCROLL\",\n  \"IMODE\",\n  \"MSOFFICE2K\",\n  \"MVSHTML\",\n  \"PHTML\",\n  \"PYX\",\n  \"RTF\",\n  \"SASREPORT\",\n  \"SQL\",\n  \"SUPERMAP\",\n  \"TABLEEDITOR\",\n  \"WML\",\n  \"WMLOLIST\",\n  \"XBRL\",\n  \"XHTML\",\n  \"EVENT_HTML\",\n  \"NAMEDHTML\",\n  \"SHORT_MAP\",\n  \"STYLE_DISPLAY\",\n  \"STYLE_POPUP\",\n  \"TEXT_MAP\",\n  \"TPL_STYLE_LIST\",\n  \"TPL_STYLE_MAP\",\n]);\n\nfunction _buildKwMap() {\n  const KW_MAP = [\n    [ZONE_TYPE.FORMAT, \"formats\"],\n    [ZONE_TYPE.INFORMAT, \"informats\"],\n    [ZONE_TYPE.MACRO_FUNC, \"macro-func\"],\n    [ZONE_TYPE.MACRO_STMT, \"macro-stmt\"],\n    [ZONE_TYPE.AUTO_MACRO_VAR, \"auto-var\"],\n    [ZONE_TYPE.MACRO_VAR, \"auto-var\"],\n    [ZONE_TYPE.CALL_ROUTINE, \"call-routines\"],\n    [ZONE_TYPE.SAS_FUNC, \"func\"],\n    [ZONE_TYPE.STAT_KW, \"stat-kw\"],\n    [ZONE_TYPE.STYLE_LOC, \"style-loc\"],\n    [ZONE_TYPE.STYLE_ELEMENT, \"style-ele\"],\n    [ZONE_TYPE.STYLE_ATTR, \"style-att\"],\n    [ZONE_TYPE.GBL_STMT, \"gbl-stmt\"],\n    [ZONE_TYPE.DATA_STEP_STMT, \"ds-stmt\"],\n    [ZONE_TYPE.DATA_SET_OPT_NAME, \"ds-option\"],\n    [ZONE_TYPE.DATA_SET_OPT_VALUE, \"ds-option\"],\n    [ZONE_TYPE.TAGSETS_NAME, \"ods-tagsets\"],\n  ];\n  const map: any = {};\n  KW_MAP.forEach(function (item) {\n    map[item[0]] = item[1];\n  });\n  return map;\n}\nconst KW_MAP = _buildKwMap();\n\nconst possibleFuncZones = [\n  ZONE_TYPE.DATA_STEP_STMT_OPT,\n  ZONE_TYPE.DATA_STEP_STMT_OPT_VALUE,\n  ZONE_TYPE.GBL_STMT_OPT,\n  ZONE_TYPE.GBL_STMT_OPT_VALUE,\n  ZONE_TYPE.GBL_STMT_SUB_OPT_NAME,\n  ZONE_TYPE.MACRO_STMT,\n  ZONE_TYPE.MACRO_STMT_OPT,\n  ZONE_TYPE.MACRO_STMT_OPT_VALUE,\n  ZONE_TYPE.MACRO_STMT_BODY,\n  ZONE_TYPE.ODS_STMT_OPT_VALUE,\n  ZONE_TYPE.PROC_STMT_OPT,\n  ZONE_TYPE.PROC_STMT_OPT_REQ,\n  ZONE_TYPE.PROC_STMT_OPT_VALUE,\n  ZONE_TYPE.PROC_STMT_SUB_OPT,\n  ZONE_TYPE.PROC_STMT_SUB_OPT_VALUE,\n  ZONE_TYPE.SAS_FUNC,\n  ZONE_TYPE.MACRO_FUNC,\n  ZONE_TYPE.OPT_VALUE,\n  ZONE_TYPE.SUB_OPT_NAME,\n  ZONE_TYPE.SUB_OPT_VALUE,\n];\n\nfunction _distinctList(list: string[]) {\n  const newList = [],\n    obj: Record<string, true> = {};\n  for (let i = 0; i < list.length; i++) {\n    const item = list[i].toUpperCase();\n    if (!obj[item]) {\n      newList.push(list[i]);\n      obj[item] = true;\n    }\n  }\n  return newList;\n}\n\nfunction _notify<T>(cb: (data: T) => void, data: T) {\n  if (cb) {\n    setTimeout(function () {\n      cb(data);\n    }, 0);\n  }\n}\n\nfunction _cleanUpODSStmts(oldStmts: string[]) {\n  const stmts: string[] = [];\n  if (oldStmts) {\n    oldStmts.forEach(function (item) {\n      if (item.indexOf(\"ODS \") !== -1) {\n        stmts.push(item.replace(\"ODS \", \"\"));\n      }\n    });\n  }\n  return stmts;\n}\n\nfunction _cleanUpODSStmtName(name: string) {\n  name = name.replace(/(ODS\\s*)/gi, \"\");\n  if (name.indexOf(\"TAGSETS.\") !== -1 && name.indexOf(\"TAGSETS.RTF\") === -1) {\n    name = name.replace(\"TAGSETS.\", \"\");\n    if (tagsets[name]) {\n      name = \"MARKUP\";\n    }\n  }\n  return name === \"\" ? \"ODS\" : \"ODS \" + name;\n}\n\nfunction _cleanUpKeyword(keyword: string) {\n  if (keyword === undefined) {\n    //TODO: this check will be removed in the future.\n    return keyword;\n  }\n  keyword = keyword.replace(/(^\\s+|\\s+$)/g, \"\");\n  if (/^(TITLE|FOOTNOTE|AXIS|LEGEND|PATTERN|SYMBOL)\\d{0,}$/i.test(keyword)) {\n    const results = keyword.match(\n      /^(TITLE|FOOTNOTE|AXIS|LEGEND|PATTERN|SYMBOL)|\\d{0,}$/gi,\n    )!;\n    let nbr = 0,\n      upperLimit = 0;\n    nbr = parseInt(results[1], 10);\n    switch (results[0].toUpperCase()) {\n      case \"TITLE\":\n      case \"FOOTNOTE\":\n        upperLimit = 10;\n        break;\n      case \"AXIS\":\n      case \"LEGEND\":\n        upperLimit = 99;\n        break;\n      case \"PATTERN\":\n      case \"SYMBOL\":\n        upperLimit = 255;\n        break;\n    }\n    if (nbr > 0 && nbr <= upperLimit) {\n      keyword = results[0];\n    }\n  }\n  return keyword.toUpperCase();\n}\n\nfunction _getContextMain(zone: number, keyword: string) {\n  let context;\n  const wd = keyword.toUpperCase();\n  switch (zone) {\n    case ZONE_TYPE.GBL_STMT:\n    case ZONE_TYPE.DATA_STEP_STMT:\n    case ZONE_TYPE.PROC_STMT:\n    case ZONE_TYPE.MACRO_STMT:\n    case ZONE_TYPE.ODS_STMT:\n      context = getText(\"ce_ac_statement.fmt\", wd);\n      break;\n    case ZONE_TYPE.PROC_DEF:\n      context = getText(\"ce_ac_proc.fmt\", wd);\n      break;\n    case ZONE_TYPE.GBL_STMT_OPT_VALUE:\n    case ZONE_TYPE.PROC_OPT_VALUE:\n    case ZONE_TYPE.PROC_STMT_OPT_VALUE:\n    case ZONE_TYPE.VIEW_OR_PGM_OPT_VALUE:\n    case ZONE_TYPE.DATA_STEP_OPT_VALUE:\n    case ZONE_TYPE.DATA_STEP_STMT_OPT_VALUE:\n    case ZONE_TYPE.DATA_SET_OPT_VALUE:\n    case ZONE_TYPE.MACRO_STMT_OPT_VALUE:\n    case ZONE_TYPE.ODS_STMT_OPT_VALUE:\n    case ZONE_TYPE.OPT_VALUE:\n      context = wd;\n      break;\n    default:\n      context = getText(\"ce_ac_option.fmt\", wd);\n  }\n  return context;\n}\n\nfunction _cleanArg(arg = \"\", trimEndNum = false) {\n  return trimEndNum\n    ? arg\n        ?.replace(/[-_\\s]?\\d$/, \"\")\n        .replace(/[-_]n$/, \"\")\n        .replace(/(?<=.)\\s?n$/, \"\")\n        .trim()\n    : arg\n        ?.replace(/\\([snk\\d]\\)/g, \"\")\n        .replace(/['\"‘’,<>()|.…]/g, \"\")\n        .trim()\n        .toLowerCase();\n}\n\nfunction getItemKind(zone: number | LibCompleteItem[\"type\"]) {\n  if (zone === ZONE_TYPE.COLOR) {\n    return CompletionItemKind.Color;\n  }\n  if (zone === ZONE_TYPE.MACRO_VAR) {\n    return CompletionItemKind.Variable;\n  }\n  if (zone === \"LIBRARY\") {\n    return CompletionItemKind.Folder;\n  }\n  if (zone === ZONE_TYPE.SAS_FUNC || zone === ZONE_TYPE.MACRO_FUNC) {\n    return CompletionItemKind.Function;\n  }\n  return CompletionItemKind.Keyword;\n}\n\nfunction processLabelCase(label: string, prefix: string): string {\n  const validPrefix = prefix.indexOf(\"&\") === 0 ? prefix.substring(1) : prefix;\n\n  if (validPrefix.length === 0) {\n    return label.toLowerCase();\n  } else if (label.indexOf(validPrefix) === 0) {\n    return label;\n  } else if (validPrefix === validPrefix.toUpperCase()) {\n    return label.toUpperCase();\n  } else {\n    return label.toLowerCase();\n  }\n}\n\nexport class CompletionProvider {\n  private czMgr;\n  private loader;\n  private popupContext: any = {};\n\n  constructor(\n    private model: Model,\n    private syntaxProvider: SyntaxProvider,\n  ) {\n    this.loader = syntaxProvider.lexer.syntaxDb;\n    this.czMgr = new CodeZoneManager(model, this.loader, syntaxProvider);\n  }\n\n  getCodeZoneManager(): CodeZoneManager {\n    return this.czMgr;\n  }\n\n  getHelp(position: Position): Promise<Hover | undefined> | undefined {\n    const line = this.model.getLine(position.line);\n    const tokens = this.syntaxProvider.getSyntax(position.line);\n    for (let j = 0; j < tokens.length; j++) {\n      const start = tokens[j].start;\n      const end = j === tokens.length - 1 ? line.length : tokens[j + 1].start;\n      if (end > position.character) {\n        const keyword = this.model.getText({\n          start: { line: position.line, column: start },\n          end: { line: position.line, column: end },\n        });\n        const zone = this.czMgr.getCurrentZone(\n          position.line,\n          position.character,\n        );\n        return new Promise((resolve) => {\n          if (keyword.trim() === \"\") {\n            resolve(undefined);\n            return;\n          }\n          this._loadHelp({\n            keyword: keyword,\n            type: \"hint\",\n            zone,\n            procName: this.czMgr.getProcName(),\n            stmtName: this.czMgr.getStmtName(),\n            optName: this.czMgr.getOptionName(),\n            cb: (data) => {\n              if (data && data.data) {\n                resolve({\n                  contents: {\n                    kind: MarkupKind.Markdown,\n                    value: this._addLinkContext(zone, data),\n                  },\n                  range: {\n                    start: { line: position.line, character: start },\n                    end: { line: position.line, character: end },\n                  },\n                });\n              } else {\n                resolve(undefined);\n              }\n            },\n          });\n        });\n      }\n    }\n  }\n\n  getSignatureHelp(\n    position: Position,\n    activeSignature?: uinteger,\n  ): Promise<SignatureHelp | undefined> {\n    const line = this.model.getLine(position.line);\n    const tokens = this.syntaxProvider.getSyntax(position.line);\n    let keyword: string;\n    let zone: number | undefined;\n    let activeParameter = 0;\n    let bracketLevel = 0;\n    for (let j = tokens.length - 1; j >= 0; j--) {\n      const start = tokens[j].start;\n      const end = j === tokens.length - 1 ? line.length : tokens[j + 1].start;\n      if (end <= position.character) {\n        if (\n          tokens[j].style !== \"sep\" &&\n          tokens[j].style !== \"keyword\" &&\n          tokens[j].style !== \"macro-keyword\"\n        ) {\n          continue;\n        }\n        const _keyword = this.model.getText({\n          start: { line: position.line, column: start },\n          end: { line: position.line, column: end },\n        });\n        if (bracketLevel === -1) {\n          if (_keyword === \")\") {\n            bracketLevel = 1;\n            activeParameter = 0;\n            continue;\n          }\n          if (_keyword === \"(\") {\n            continue;\n          }\n          if (_keyword === \",\") {\n            bracketLevel = 0;\n            activeParameter = 1;\n            continue;\n          }\n\n          zone = this.czMgr.getCurrentZone(position.line, start + 1);\n          if (possibleFuncZones.includes(zone)) {\n            keyword = _keyword;\n            break;\n          }\n        } else if (_keyword === \")\") {\n          bracketLevel++;\n        } else if (_keyword === \"(\") {\n          bracketLevel--;\n        } else if (_keyword === \",\" && bracketLevel === 0) {\n          activeParameter++;\n        }\n      }\n    }\n\n    return new Promise((resolve) => {\n      if (!keyword || !zone) {\n        resolve(undefined);\n      } else {\n        zone = keyword.startsWith(\"%\")\n          ? ZONE_TYPE.MACRO_FUNC\n          : ZONE_TYPE.SAS_FUNC;\n        this._loadHelp({\n          keyword,\n          type: \"hint\",\n          zone,\n          procName: this.czMgr.getProcName(),\n          stmtName: this.czMgr.getStmtName(),\n          optName: this.czMgr.getOptionName(),\n          cb: (data) => {\n            if (data && data.key && data.syntax && data.data) {\n              // splice function document link address\n              const docLink = this._genKeywordLink(data, zone!);\n\n              // solve function overloading\n              const regexp = new RegExp(\n                `.*?${data.key}.*?\\\\(((?!${data.key}).)*\\\\)`,\n                \"g\",\n              );\n              const syntaxArr: string[] = (\n                data.syntax.replace(/\\s+/g, \" \").match(regexp) ?? [\n                  data.syntax.replace(/\\s+/g, \" \"),\n                ]\n              ).map((syntax) =>\n                syntax\n                  .replace(/&lt;/g, \"<\")\n                  .replace(/&gt;/g, \">\")\n                  .replace(/;|\\*|<\\/?sub>/g, \"\")\n                  .replace(/\\s*Form \\d:\\s*/gi, \"\"),\n              );\n              // match arguments in syntax\n              const allArgs: string[] = []; // allArgs include all arguments from all functions (function overloading)\n              const syntaxArgArr = syntaxArr.map((syntax) =>\n                syntax\n                  .match(/\\((.*)\\)/)?.[1]\n                  ?.split(\",\")\n                  .map<[string, string, boolean]>((initSyntaxArg) => {\n                    let cleanedSyntaxArgs = [_cleanArg(initSyntaxArg)];\n                    // match like time|datetime, interval <multiple><.shift-index> etc.\n                    if (\n                      initSyntaxArg.includes(\"|\") ||\n                      (initSyntaxArg.includes(\">\") &&\n                        initSyntaxArg.includes(\"<\") &&\n                        (initSyntaxArg.indexOf(\">\") > 0 ||\n                          initSyntaxArg.indexOf(\"<\") > 0))\n                    ) {\n                      cleanedSyntaxArgs = initSyntaxArg\n                        .split(/[<>\\\\|]/g)\n                        .map((arg) => _cleanArg(arg))\n                        .filter((item) => item);\n                    }\n                    cleanedSyntaxArgs = [...new Set(cleanedSyntaxArgs)];\n\n                    const argsInData = data.arguments?.map((item) =>\n                      _cleanArg(item.name),\n                    );\n                    let descriptions = cleanedSyntaxArgs\n                      .map((cleanedSyntaxArg) => {\n                        let argInData = data.arguments?.find((item, index) => {\n                          if (cleanedSyntaxArg === argsInData?.[index]) {\n                            // args in allArgs are not cleaned\n                            allArgs.push(item.name);\n                            return true;\n                          }\n                        });\n                        if (!argInData) {\n                          argInData = data.arguments?.find((item, index) => {\n                            if (\n                              _cleanArg(cleanedSyntaxArg, true) ===\n                                _cleanArg(argsInData?.[index], true) ||\n                              cleanedSyntaxArg.split(\" \")?.[0] ===\n                                argsInData?.[index].split(\" \")?.[0] ||\n                              cleanedSyntaxArg.split(\"_\")?.[0] ===\n                                argsInData?.[index].split(\"_\")?.[0] ||\n                              cleanedSyntaxArg.split(\"-\")?.[0] ===\n                                argsInData?.[index].split(\"-\")?.[0] ||\n                              cleanedSyntaxArg.split(\"–\")?.[0] ===\n                                argsInData?.[index].split(\"–\")?.[0]\n                            ) {\n                              // args in allArgs are not cleaned\n                              allArgs.push(item.name);\n                              return true;\n                            }\n                          });\n                        }\n                        if (argInData) {\n                          // use not cleaned name in data.arguments\n                          return `**${argInData.name}:** ${argInData.description}`;\n                        }\n                        return \"\";\n                      })\n                      .filter((item) => item);\n                    descriptions = [...new Set(descriptions)];\n\n                    if (cleanedSyntaxArgs.length === 1) {\n                      return [\n                        initSyntaxArg.match(/\\(.*?\\)/)\n                          ? initSyntaxArg\n                              .trim()\n                              .replace(/^[<>]/g, \"\")\n                              .replace(/[<>]$/g, \"\")\n                              .trim()\n                          : initSyntaxArg.replace(/[<>()]/g, \"\").trim(),\n                        descriptions[0],\n                        true,\n                      ];\n                    }\n                    return [\n                      initSyntaxArg.trim(),\n                      descriptions.join(\"\\n\\n\"),\n                      descriptions.length === cleanedSyntaxArgs.length, // no exact match\n                    ];\n                  }),\n              );\n\n              // switch to the function with enough arguments\n              if (activeParameter > 0 && syntaxArgArr.length > 1) {\n                const curArgLength =\n                  syntaxArgArr[activeSignature || 0]?.length || 0;\n                if (activeParameter > curArgLength - 1) {\n                  syntaxArgArr.some((item, index) => {\n                    if (item && item.length - 1 >= activeParameter) {\n                      activeSignature = index;\n                      return true;\n                    }\n                  });\n                }\n              }\n\n              const signatures: SignatureInformation[] = [];\n              syntaxArr.forEach((syntax, index) => {\n                const argsInSyntax = syntaxArgArr[index];\n                // match like the N in DIM <N> (array-name)\n                const outerArgs = syntax\n                  .match(new RegExp(`${keyword}\\\\s+([^(]*?)\\\\s+\\\\(`, \"i\"))?.[1]\n                  ?.replace(/[<>]/g, \"\")\n                  .split(\",\")\n                  .map((argument) => argument.trim());\n                const outerArgsDocumentation = data.arguments\n                  ?.filter((item) => outerArgs?.includes(item.name))\n                  .map((item) => `**${item.name}:** ${item.description}`)\n                  .join(\"\\n\\n\");\n                // the unmatched arguments in data.arguments but not in syntax\n                let unmatchedArgsDocumentation = \"\";\n                if (\n                  argsInSyntax &&\n                  !argsInSyntax.every((item) => item[1] && item[2])\n                ) {\n                  const unmatchedArgs = data.arguments\n                    ?.filter(\n                      (item) =>\n                        ![...allArgs, ...(outerArgs || [])].some(\n                          (_argument) =>\n                            _argument === item.name ||\n                            _cleanArg(_argument) === _cleanArg(item.name) ||\n                            _cleanArg(_argument, true) ===\n                              _cleanArg(item.name, true),\n                        ) && item.description,\n                    )\n                    .map((item) => `**${item.name}:** ${item.description}`);\n                  if (unmatchedArgs) {\n                    unmatchedArgsDocumentation = [\n                      ...new Set(unmatchedArgs),\n                    ].join(\"\\n\\n\");\n                  }\n                }\n\n                signatures.push({\n                  label: syntax,\n                  documentation: data.data,\n                  parameters: argsInSyntax?.map(\n                    ([label, syntaxArgDocumentation, allMatched]) => {\n                      const argsDocument = (\n                        syntaxArgDocumentation\n                          ? allMatched\n                            ? outerArgsDocumentation\n                              ? `${syntaxArgDocumentation}\\n\\n${outerArgsDocumentation}`\n                              : syntaxArgDocumentation\n                            : unmatchedArgsDocumentation\n                              ? outerArgsDocumentation\n                                ? `${syntaxArgDocumentation}\\n\\n${unmatchedArgsDocumentation}\\n\\n${outerArgsDocumentation}`\n                                : `${syntaxArgDocumentation}\\n\\n${unmatchedArgsDocumentation}`\n                              : syntaxArgDocumentation\n                          : unmatchedArgsDocumentation\n                            ? outerArgsDocumentation\n                              ? `${unmatchedArgsDocumentation}\\n\\n${outerArgsDocumentation}`\n                              : unmatchedArgsDocumentation\n                            : outerArgsDocumentation\n                              ? outerArgsDocumentation\n                              : \"\"\n                      ).replace(/<script .*?>/gi, \"\");\n                      const documentLink = `${getText(\n                        \"ce_ac_sas_function_doc_txt\",\n                      )} ${docLink}`;\n                      return {\n                        label,\n                        documentation: {\n                          kind: MarkupKind.Markdown,\n                          value: [\"...\", \"…\"].includes(\n                            label.replace(/['\"‘’<>()|]/g, \"\"),\n                          )\n                            ? documentLink\n                            : argsDocument\n                              ? `${argsDocument}\\n\\n${documentLink}`\n                              : documentLink,\n                        },\n                      };\n                    },\n                  ),\n                });\n              });\n              resolve({ signatures, activeSignature, activeParameter });\n            } else {\n              resolve(undefined);\n            }\n          },\n        });\n      }\n    });\n  }\n\n  getCompleteItems(\n    params: CompletionParams,\n  ): Promise<CompletionList | undefined> {\n    return new Promise((resolve) => {\n      this._getZone(params.position);\n      const prefix = this.popupContext.prefix;\n\n      this._loadAutoCompleteItems(this.popupContext.zone, (data) => {\n        if (\n          params.context?.triggerCharacter === \".\" &&\n          data &&\n          data[0] &&\n          (typeof data[0] === \"string\" ||\n            (data[0].type !== \"DATA\" && data[0].type !== \"VIEW\"))\n        ) {\n          // only data list can be triggered by \".\"\n          resolve(undefined);\n          return;\n        }\n        const items = data?.map((item) => ({\n          label: processLabelCase(\n            typeof item === \"string\" ? item : item.name,\n            prefix,\n          ),\n          kind: getItemKind(\n            typeof item === \"string\" ? this.popupContext.zone : item.type,\n          ),\n          insertText:\n            typeof item === \"string\" ||\n            !/\\W/.test(item.name) ||\n            (this.popupContext.datasetList &&\n              this.popupContext.datasetList.some((i: LibCompleteItem) => {\n                return item.name.toLowerCase() === i.name.toLowerCase();\n              }))\n              ? undefined\n              : `'${item.name.replace(/'/g, \"''\")}'n`,\n        }));\n\n        if (\n          prefix.length > 1 &&\n          (items === undefined ||\n            items.length === 0 ||\n            !items.find((item) => item.label.startsWith(prefix))) &&\n          possibleFuncZones.includes(this.popupContext.zone)\n        ) {\n          const loader = prefix.startsWith(\"%\")\n            ? this.loader.getMacroFunctions\n            : this.loader.getFunctions;\n          loader((data) => {\n            const match = data.filter((name) =>\n              name.startsWith(prefix.toUpperCase()),\n            );\n            if (match.length > 0) {\n              const matchedItems = match.map((name) => ({\n                label: processLabelCase(name, prefix),\n                kind: CompletionItemKind.Function,\n              }));\n              this.popupContext.zone = prefix.startsWith(\"%\")\n                ? ZONE_TYPE.MACRO_FUNC\n                : ZONE_TYPE.SAS_FUNC;\n              resolve({\n                isIncomplete: true,\n                items: matchedItems,\n              });\n              return;\n            }\n            resolve(undefined);\n          });\n          return;\n        }\n\n        resolve(\n          items === undefined\n            ? undefined\n            : {\n                isIncomplete: true,\n                items,\n              },\n        );\n      });\n    });\n  }\n\n  getCompleteItemHelp(item: CompletionItem): Promise<CompletionItem> {\n    return new Promise((resolve) => {\n      if ([\"endsubmit\", \"endinteractive\"].includes(item.label?.toLowerCase())) {\n        const procName = this.czMgr.getProcName()?.toUpperCase();\n\n        if (procName === \"R\" || procName === \"PYTHON\") {\n          this.loader.getProcedureStatementHelp(\n            procName,\n            item.label.toUpperCase(),\n            (data) => {\n              if (data && data.data) {\n                item.documentation = {\n                  kind: MarkupKind.Markdown,\n                  value: this._addLinkContext(515, data),\n                };\n              }\n              resolve(item);\n            },\n          );\n        } else {\n          resolve(item);\n        }\n      } else {\n        this._loadHelp({\n          keyword: item.label,\n          type: \"tooltip\",\n          ...this.popupContext,\n          cb: (data) => {\n            if (data && data.data) {\n              item.documentation = {\n                kind: MarkupKind.Markdown,\n                value: this._addLinkContext(this.popupContext.zone, data),\n              };\n            }\n            resolve(item);\n          },\n        });\n      }\n    });\n  }\n\n  private _loadAutoCompleteItems(\n    zone: number,\n    cb: (data?: (string | LibCompleteItem)[]) => void,\n  ) {\n    let stmtName = _cleanUpKeyword(this.czMgr.getStmtName());\n    const optName = _cleanUpKeyword(this.czMgr.getOptionName()),\n      procName = _cleanUpKeyword(this.czMgr.getProcName());\n\n    this.popupContext.procName = procName;\n    this.popupContext.stmtName = stmtName;\n    this.popupContext.optName = optName;\n    this.popupContext.zone = zone;\n    switch (zone) {\n      case ZONE_TYPE.PROC_DEF:\n        this.loader.getProcedures(cb);\n        break;\n      case ZONE_TYPE.PROC_OPT:\n        this.loader.getProcedureOptions(procName, cb);\n        break;\n      case ZONE_TYPE.PROC_OPT_VALUE:\n        this.loader.getProcedureOptionValues(\n          procName,\n          optName + \"=\",\n          (data) => {\n            this._notifyOptValue(cb, data, optName);\n          },\n        );\n        break;\n      case ZONE_TYPE.PROC_SUB_OPT_NAME:\n        this.loader.getProcedureSubOptions(procName, optName, cb);\n        break;\n      case ZONE_TYPE.PROC_STMT:\n        this.loader.getProcedureStatements(procName, false, (data) => {\n          if (procName === \"ODS\") {\n            cb(_cleanUpODSStmts(data));\n          } else {\n            cb(data);\n          }\n        });\n        break;\n      case ZONE_TYPE.EMBEDDED_LANG:\n        this.loader.getProcedureStatements(procName, true, cb);\n        break;\n      case ZONE_TYPE.PROC_STMT_OPT:\n      case ZONE_TYPE.PROC_STMT_OPT_REQ:\n        if (procName === \"ODS\") {\n          stmtName = \"ODS \" + stmtName;\n        }\n        this.loader.getProcedureStatementOptions(\n          procName,\n          stmtName,\n          cb,\n          zone === ZONE_TYPE.PROC_STMT_OPT_REQ,\n        );\n        break;\n      case ZONE_TYPE.PROC_STMT_OPT_VALUE:\n        if (procName === \"ODS\") {\n          stmtName = \"ODS \" + stmtName;\n        }\n        this.loader.getProcedureStatementOptionValues(\n          procName,\n          stmtName,\n          optName,\n          (data) => {\n            this._notifyOptValue(cb, data, optName);\n          },\n        );\n        break;\n      case ZONE_TYPE.PROC_STMT_SUB_OPT:\n        if (procName === \"ODS\") {\n          stmtName = \"ODS \" + stmtName;\n        }\n        this.loader.getProcedureStatementSubOptions(\n          procName,\n          stmtName,\n          optName,\n          function (data) {\n            cb(_distinctList(data));\n          },\n        );\n        break;\n      case ZONE_TYPE.STYLE_ELEMENT:\n        this.loader.getStyleElements(cb);\n        break;\n      case ZONE_TYPE.STYLE_ATTR:\n        this.loader.getStyleAttributes(cb);\n        break;\n      case ZONE_TYPE.STYLE_LOC:\n        this.loader.getStyleLocations(cb);\n        break;\n      case ZONE_TYPE.DATA_STEP_STMT:\n        this.loader.getDSStatements(cb);\n        break;\n      case ZONE_TYPE.DATA_STEP_DEF_OPT:\n        //case ZONE_TYPE.VIEW_OR_DATA_SET_NAME:\n        _notify(cb, [\"_NULL_\", \"VIEW=\", \"PGM=\"]);\n        break;\n      case ZONE_TYPE.DATA_SET_OPT_NAME:\n        this.loader.getDSOptions(cb);\n        break;\n      case ZONE_TYPE.DATA_SET_OPT_VALUE:\n        this.loader.getDataSetOptionValues(optName, function (data) {\n          cb(data ? data.values : undefined);\n        });\n        break;\n      case ZONE_TYPE.DATA_STEP_OPT_NAME:\n        _notify(cb, [\n          \"DEBUG\",\n          \"NESTING\",\n          \"STACK=\",\n          \"VIEW=\",\n          \"SOURCE=\",\n          \"NOLIST\",\n          \"PGM=\",\n        ]);\n        break;\n      case ZONE_TYPE.VIEW_OR_PGM_OPT_NAME:\n        _notify(cb, [\"ALTER=\", \"READ=\", \"PW=\", \"SOURCE=\"]);\n        break;\n      case ZONE_TYPE.VIEW_OR_PGM_OPT_VALUE:\n      case ZONE_TYPE.DATA_STEP_OPT_VALUE:\n        if (optName === \"SOURCE\") {\n          _notify(cb, [\"SAVE\", \"ENCRYPT\", \"NOSAVE\"]);\n        }\n        break;\n      case ZONE_TYPE.VIEW_OR_PGM_SUB_OPT_NAME:\n        _notify(cb, [\"NOLIST\"]);\n        break;\n      case ZONE_TYPE.OPT_NAME:\n        break;\n      case ZONE_TYPE.OPT_VALUE:\n        break;\n      case ZONE_TYPE.DATA_STEP_STMT_OPT:\n        if (stmtName === \"SET\") {\n          const pos = this.popupContext.position;\n          const lineText = this.model.getLine(pos.line);\n          const firstOptForSET = /^\\s+\\S*$/.test(\n            lineText.slice(\n              lineText.toUpperCase().indexOf(\"SET\") + 3,\n              pos.character,\n            ),\n          );\n          const libref = this._findLibRef();\n          if (firstOptForSET || libref) {\n            this.loader.getLibraryList((data: OptionValues) => {\n              this._notifyOptValue(cb, data, optName);\n            }, \"DV\");\n            break;\n          }\n        }\n        this.loader.getStatementOptions(\"datastep\", stmtName, (data) => {\n          if (!data) {\n            this.loader.getProcedureStatementOptions(\"DATA\", stmtName, cb);\n          } else {\n            cb(data);\n          }\n        });\n        break;\n      case ZONE_TYPE.DATA_STEP_STMT_OPT_VALUE:\n        this.loader.getStatementOptionValues(\n          \"datastep\",\n          stmtName,\n          optName,\n          (data) => {\n            if (data) {\n              this._notifyOptValue(cb, data, optName);\n            } else {\n              this.loader.getProcedureStatementOptionValues(\n                \"DATA\",\n                stmtName,\n                optName,\n                (data) => {\n                  this._notifyOptValue(cb, data, optName);\n                },\n              );\n            }\n          },\n        );\n        break;\n      case ZONE_TYPE.MACRO_STMT:\n        this.loader.getMacroStatements((macroStmts) => {\n          this.loader.getARMMacros(function (armMacros) {\n            //if (macroDefList) macroStmts = macroStmts.concat(macroDefList);\n            cb(_distinctList(armMacros.concat(macroStmts)));\n          });\n        });\n        //_getMacroDef();\n        break;\n      case ZONE_TYPE.MACRO_DEF:\n        this.loader.getMacroDefinitions();\n        break;\n      case ZONE_TYPE.MACRO_DEF_OPT:\n        this.loader.getProcedureOptions(\"MACRO\", cb);\n        break;\n      case ZONE_TYPE.MACRO_STMT_OPT:\n        this.loader.getStatementOptions(\"macro\", stmtName, cb);\n        break;\n      case ZONE_TYPE.MACRO_STMT_OPT_VALUE:\n        this.loader.getStatementOptionValues(\n          \"macro\",\n          stmtName,\n          optName,\n          (data) => {\n            this._notifyOptValue(cb, data, optName);\n          },\n        );\n        break;\n      case ZONE_TYPE.CALL_ROUTINE:\n        this.loader.getCallRoutines(cb);\n        break;\n      case ZONE_TYPE.GBL_STMT:\n        this.loader.getGlobalStatements((data) => {\n          if (this.popupContext.prefix.startsWith(\"%\")) {\n            this.popupContext.zone = ZONE_TYPE.MACRO_STMT;\n            this.loader.getMacroStatements((macroStmt: any) => {\n              cb(_distinctList(macroStmt.concat(data)));\n            });\n          } else {\n            cb(data);\n          }\n        });\n        break;\n      case ZONE_TYPE.GBL_STMT_OPT:\n        this.loader.getStatementOptions(\"global\", stmtName, (data) => {\n          if (!data) {\n            this.loader.getStatementOptions(\"standalone\", stmtName, cb);\n          } else {\n            cb(data);\n          }\n        });\n        break;\n      case ZONE_TYPE.GBL_STMT_OPT_VALUE:\n        this.loader.getStatementOptionValues(\n          \"global\",\n          stmtName,\n          optName,\n          (data) => {\n            if (!data) {\n              this.loader.getStatementOptionValues(\n                \"standalone\",\n                stmtName,\n                optName,\n                (data) => {\n                  this._notifyOptValue(cb, data, optName);\n                },\n              );\n            } else {\n              this._notifyOptValue(cb, data, optName);\n            }\n          },\n        );\n        break;\n      case ZONE_TYPE.GBL_STMT_SUB_OPT_NAME:\n        this.loader.getStatementSubOptions(\n          \"global\",\n          stmtName,\n          optName,\n          (data) => {\n            if (!data) {\n              this.loader.getStatementSubOptions(\n                \"standalone\",\n                stmtName,\n                optName,\n                cb,\n              );\n            } else {\n              cb(data);\n            }\n          },\n        );\n        break;\n      case ZONE_TYPE.COLOR:\n        this.loader.getSasColors(cb);\n        break;\n      case ZONE_TYPE.DATA_SET_NAME:\n        //TODO:\n        break;\n      case ZONE_TYPE.FORMAT:\n        this.loader.getFormats(cb);\n        break;\n      case ZONE_TYPE.INFORMAT:\n        this.loader.getInformats(cb);\n        break;\n      case ZONE_TYPE.TAGSETS_NAME:\n        this.loader.getODSTagsets(cb);\n        break;\n      case ZONE_TYPE.ODS_STMT:\n        this.loader.getGlobalStatements(function (data) {\n          cb(_cleanUpODSStmts(data));\n        });\n        break;\n      case ZONE_TYPE.ODS_STMT_OPT:\n        this.loader.getStatementOptions(\n          \"global\",\n          _cleanUpODSStmtName(stmtName),\n          cb,\n        );\n        break;\n      case ZONE_TYPE.ODS_STMT_OPT_VALUE:\n        this.loader.getStatementOptionValues(\n          \"global\",\n          _cleanUpODSStmtName(stmtName),\n          optName,\n          (data) => {\n            this._notifyOptValue(cb, data, optName);\n          },\n        );\n        break;\n      case ZONE_TYPE.LIB:\n        //TODO:\n        break;\n      case ZONE_TYPE.MACRO_FUNC:\n        this.loader.getMacroFunctions(cb);\n        break;\n      case ZONE_TYPE.SAS_FUNC:\n        this.loader.getFunctions(cb);\n        break;\n      case ZONE_TYPE.STAT_KW:\n        this.loader.getStatisticsKeywords(cb);\n        break;\n      case ZONE_TYPE.AUTO_MACRO_VAR:\n        this.loader.getAutoVariables(cb);\n        break;\n      case ZONE_TYPE.MACRO_VAR:\n        this.loader.getAutoVariables((autoVar) => {\n          const macroVarList = this._getMacroVar();\n          if (macroVarList.length) {\n            autoVar = _distinctList(autoVar.concat(macroVarList));\n          }\n          cb(autoVar);\n        });\n        break;\n      default:\n        cb();\n        return false;\n    }\n    return true;\n  }\n\n  private _loadHelp(context: {\n    keyword: string;\n    type: string;\n    zone: number;\n    procName: string;\n    stmtName: string;\n    optName: string;\n    cb: (data?: HelpData) => void;\n  }) {\n    let keyword = _cleanUpKeyword(context.keyword),\n      help = null;\n    const zone = context.zone,\n      cb = context.cb,\n      type = context.type;\n\n    switch (zone) {\n      case ZONE_TYPE.PROC_DEF:\n        help = this.loader.getProcedureHelp(keyword, cb);\n        break;\n      case ZONE_TYPE.PROC_OPT:\n        help = this.loader.getProcedureOptionHelp(\n          context.procName,\n          keyword,\n          cb,\n        );\n        break;\n      case ZONE_TYPE.PROC_SUB_OPT_NAME:\n        help = this.loader.getProcedureSubOptionHelp(\n          context.procName,\n          context.optName,\n          keyword,\n          cb,\n        );\n        break;\n      case ZONE_TYPE.PROC_OPT_VALUE:\n        help = this.loader.getProcedureOptionValueHelp(\n          context.procName,\n          context.optName,\n          keyword,\n          cb,\n        );\n        break;\n      case ZONE_TYPE.PROC_STMT:\n        if (type === \"hint\") {\n          keyword = _cleanUpKeyword(context.stmtName);\n        } //not use the real parameter value for hint\n        if (context.procName === \"ODS\") {\n          keyword = \"ODS \" + keyword;\n        }\n        help = this.loader.getProcedureStatementHelp(\n          context.procName,\n          keyword,\n          cb,\n        );\n        break;\n      case ZONE_TYPE.PROC_STMT_OPT:\n      case ZONE_TYPE.PROC_STMT_OPT_REQ:\n        context.stmtName = _cleanUpKeyword(context.stmtName);\n        if (context.procName === \"ODS\") {\n          context.stmtName = \"ODS \" + context.stmtName;\n        }\n        help = this.loader.getProcedureStatementOptionHelp(\n          context.procName,\n          context.stmtName,\n          keyword,\n          cb,\n        );\n        break;\n      case ZONE_TYPE.PROC_STMT_SUB_OPT:\n        help = this.loader.getProcedureStatementSubOptionHelp(\n          context.procName,\n          context.stmtName,\n          context.optName,\n          keyword,\n          cb,\n        );\n        break;\n      case ZONE_TYPE.PROC_STMT_OPT_VALUE:\n        if (context.procName === \"ODS\") {\n          context.stmtName = \"ODS \" + context.stmtName;\n        }\n        help = this.loader.getProcedureStatementOptionValueHelp(\n          context.procName,\n          context.stmtName,\n          context.optName,\n          keyword,\n          cb,\n        );\n        break;\n      case ZONE_TYPE.EMBEDDED_LANG:\n        if (cb) {\n          _notify(cb, undefined);\n        }\n\n        break;\n      case ZONE_TYPE.GBL_STMT_SUB_OPT_NAME:\n        help = this.loader.getStatementSubOptionHelp(\n          \"global\",\n          _cleanUpKeyword(context.stmtName),\n          context.optName,\n          keyword,\n        );\n        if (help) {\n          _notify(cb, help);\n        } else {\n          help = this.loader.getStatementSubOptionHelp(\n            \"standalone\",\n            _cleanUpKeyword(context.stmtName),\n            context.optName,\n            keyword,\n            cb,\n          );\n        }\n        break;\n      case ZONE_TYPE.GBL_STMT_OPT:\n        help = this.loader.getStatementOptionHelp(\n          \"global\",\n          _cleanUpKeyword(context.stmtName),\n          keyword,\n        );\n        if (help) {\n          _notify(cb, help);\n        } else {\n          help = this.loader.getStatementOptionHelp(\n            \"standalone\",\n            _cleanUpKeyword(context.stmtName),\n            keyword,\n            cb,\n          );\n        }\n        break;\n      case ZONE_TYPE.GBL_STMT_OPT_VALUE:\n        help = this.loader.getStatementOptionValueHelp(\n          \"global\",\n          context.stmtName,\n          context.optName,\n          keyword,\n        );\n        if (help) {\n          _notify(cb, help);\n        } else {\n          help = this.loader.getStatementOptionValueHelp(\n            \"standalone\",\n            context.stmtName,\n            context.optName,\n            keyword,\n            cb,\n          );\n        }\n        break;\n      case ZONE_TYPE.DATA_STEP_STMT:\n        help = this.loader.getKeywordHelp(keyword, undefined, KW_MAP[zone]); // always sync\n        if (help) {\n          _notify(cb, help);\n        } else {\n          help = this.loader.getProcedureStatementHelp(\"DATA\", keyword, cb);\n        }\n        break;\n      case ZONE_TYPE.DATA_STEP_STMT_OPT:\n        help = this.loader.getStatementOptionHelp(\n          \"datastep\",\n          context.stmtName,\n          keyword,\n        ); // always sync\n        if (help) {\n          _notify(cb, help);\n        } else {\n          if (context.stmtName === \"SET\") {\n            help = this.loader.getDataStepOptionHelp(\n              keyword,\n              cb,\n              \"datastep-option\",\n            );\n          } else {\n            help = this.loader.getProcedureStatementOptionHelp(\n              \"DATA\",\n              context.stmtName,\n              keyword,\n              cb,\n            );\n          }\n        }\n        break;\n      case ZONE_TYPE.DATA_STEP_STMT_OPT_VALUE:\n        help = this.loader.getStatementOptionValueHelp(\n          \"datastep\",\n          context.stmtName,\n          context.optName,\n          keyword,\n          cb,\n        );\n        if (help) {\n          _notify(cb, help);\n        } else {\n          if (context.stmtName === \"SET\") {\n            help = this.loader.getDataStepOptionValueHelp(\n              context.optName,\n              keyword,\n              cb,\n            );\n          } else {\n            help = this.loader.getProcedureStatementOptionValueHelp(\n              \"DATA\",\n              context.stmtName,\n              context.optName,\n              keyword,\n            ); // sync\n            if (!help) {\n              help = this.loader.getStatementOptionValueHelp(\n                \"global\",\n                context.stmtName,\n                context.optName,\n                keyword,\n                cb,\n              );\n            } else {\n              _notify(cb, help);\n            }\n          }\n        }\n        break;\n      case ZONE_TYPE.DATA_SET_OPT_VALUE:\n        help = this.loader.getDataSetOptionValueHelp(\n          context.optName,\n          keyword,\n          cb,\n        );\n        break;\n      case ZONE_TYPE.DATA_STEP_DEF_OPT:\n      case ZONE_TYPE.VIEW_OR_PGM_OPT_NAME:\n        help = this.loader.getDataStepOptionHelp(\n          keyword,\n          cb,\n          \"datastep-option2\",\n        );\n        break;\n      case ZONE_TYPE.DATA_SET_OPT_NAME:\n        help = this.loader.getDSOptionHelp(keyword, cb);\n        break;\n      case ZONE_TYPE.DATA_STEP_OPT_NAME:\n        help = this.loader.getDataStepOptionHelp(\n          keyword,\n          cb,\n          \"datastep-option\",\n        );\n        break;\n      case ZONE_TYPE.DATA_STEP_OPT_VALUE:\n      case ZONE_TYPE.VIEW_OR_PGM_OPT_VALUE:\n        help = this.loader.getDataStepOptionValueHelp(\n          context.optName,\n          keyword,\n          cb,\n        );\n        break;\n      case ZONE_TYPE.MACRO_DEF_OPT:\n        help = this.loader.getProcedureOptionHelp(\"MACRO\", keyword, cb);\n        break;\n      case ZONE_TYPE.MACRO_STMT_OPT:\n        help = this.loader.getStatementOptionHelp(\n          \"macro\",\n          context.stmtName,\n          keyword,\n          cb,\n        );\n        break;\n      case ZONE_TYPE.MACRO_STMT_OPT_VALUE:\n        help = this.loader.getStatementOptionValueHelp(\n          \"macro\",\n          context.stmtName,\n          context.optName,\n          keyword,\n          cb,\n        );\n        break;\n      case ZONE_TYPE.ODS_STMT:\n        keyword = _cleanUpODSStmtName(keyword);\n        help = this.loader.getKeywordHelp(keyword, cb, \"gbl-proc-stmt\");\n        break;\n      case ZONE_TYPE.ODS_STMT_OPT:\n        help = this.loader.getStatementOptionHelp(\n          \"global\",\n          _cleanUpODSStmtName(context.stmtName),\n          keyword,\n          cb,\n        );\n        //stmtName = context.stmtName.replace('TAGSETS.','');\n        //this.loader.getProcedureStatementOptionHelp('ODS', stmtName, keyword, cb);\n        break;\n      case ZONE_TYPE.ODS_STMT_OPT_VALUE:\n        help = this.loader.getStatementOptionValueHelp(\n          \"global\",\n          _cleanUpODSStmtName(context.stmtName),\n          context.optName,\n          keyword,\n          cb,\n        );\n        break;\n      default: {\n        if (KW_MAP[zone] === undefined) {\n          if (cb) {\n            _notify(cb, undefined);\n          }\n        } else {\n          help = this.loader.getKeywordHelp(keyword, cb, KW_MAP[zone]);\n        }\n      }\n    }\n    return help;\n  }\n\n  private _addLinkContext(zone: number, content: HelpData) {\n    const context: any = {};\n    let contextText,\n      linkTail,\n      keyword,\n      // productDocumentation,\n      // sasNote,\n      // papers,\n      // tmpHintInfo,\n      help,\n      alias = \"\";\n    keyword = _cleanUpKeyword(content.key);\n    // tmpHintInfo = {\n    //   text: keyword,\n    //   line: pos ? pos.line : hintInfo.line,\n    //   column: pos ? pos.column : hintInfo.column,\n    // };\n    //if (type === \"hint\") {\n    context.procName = this.czMgr.getProcName();\n    context.stmtName = this.czMgr.getStmtName();\n    context.optName = this.czMgr.getOptionName();\n    //context = hintContext;\n    //}\n    if (context.procName === \"STATGRAPH\") {\n      // S1481483\n      context.procName = \"TEMPLATE\";\n    }\n    switch (zone) {\n      case ZONE_TYPE.GBL_STMT:\n        contextText = getText(\"ce_ac_global_statement_txt\");\n        linkTail = \"%22\" + keyword + \"+STATEMENT%22\";\n        break;\n      case ZONE_TYPE.GBL_STMT_OPT:\n      case ZONE_TYPE.GBL_STMT_SUB_OPT_NAME:\n        if (zone === ZONE_TYPE.GBL_STMT_SUB_OPT_NAME) {\n          keyword = context.optName;\n        }\n        contextText = getText(\"ce_ac_statement.fmt\", context.stmtName);\n        linkTail =\n          \"%22SYSTEM+\" + context.stmtName.toUpperCase() + \"%22+\" + keyword;\n        break;\n      case ZONE_TYPE.GBL_STMT_OPT_VALUE:\n        contextText = getText(\"ce_ac_option.fmt\", context.optName + \"=\");\n        linkTail =\n          \"%22SYSTEM+\" +\n          context.stmtName +\n          \"%22+\" +\n          context.optName +\n          \"= \" +\n          keyword;\n        break;\n      case ZONE_TYPE.PROC_DEF:\n        contextText = getText(\"ce_ac_procedure_definition_txt\");\n        linkTail = \"%22PROC \" + keyword + \"%22\";\n        break;\n      case ZONE_TYPE.PROC_OPT:\n      case ZONE_TYPE.PROC_STMT:\n        if (content.isGlobal) {\n          contextText = getText(\"ce_ac_global_statement_txt\");\n          linkTail = \"%22\" + keyword + \"+STATEMENT%22\";\n        } else {\n          contextText = getText(\"ce_ac_proc.fmt\", context.procName);\n          linkTail = \"PROC+\" + context.procName + \"+\" + keyword;\n        }\n        break;\n      case ZONE_TYPE.PROC_SUB_OPT_NAME:\n        contextText =\n          getText(\"ce_ac_proc.fmt\", context.procName) +\n          \", \" +\n          getText(\"ce_ac_option.fmt\", context.optName + \"=\");\n        linkTail = \"%22PROC+\" + context.procName + \"%22+\" + context.optName;\n        break;\n      case ZONE_TYPE.PROC_OPT_VALUE:\n        contextText =\n          getText(\"ce_ac_proc.fmt\", context.procName) +\n          \", \" +\n          getText(\"ce_ac_option.fmt\", context.optName + \"=\");\n        linkTail =\n          \"%22PROC+\" +\n          context.procName +\n          \"%22+%22\" +\n          context.optName +\n          \"= \" +\n          keyword +\n          \"%22\";\n        break;\n      case ZONE_TYPE.PROC_STMT_OPT:\n      case ZONE_TYPE.PROC_STMT_SUB_OPT:\n        if (zone === ZONE_TYPE.PROC_STMT_SUB_OPT) {\n          keyword = context.optName;\n        }\n        if (content.isGlobal) {\n          contextText = getText(\"ce_ac_statement.fmt\", context.stmtName);\n          linkTail = \"%22\" + context.stmtName + \"+STATEMENT%22\";\n        } else {\n          contextText =\n            getText(\"ce_ac_proc.fmt\", context.procName) +\n            \", \" +\n            getText(\"ce_ac_statement.fmt\", context.stmtName);\n          linkTail =\n            \"%22PROC+\" +\n            context.procName +\n            \"%22+%22\" +\n            context.stmtName +\n            \"+STATEMENT%22+\" +\n            keyword;\n        }\n        break;\n      case ZONE_TYPE.PROC_STMT_OPT_VALUE:\n        if (content.isGlobal) {\n          contextText =\n            getText(\"ce_ac_global_statement_txt\") +\n            \", \" +\n            getText(\"ce_ac_option.fmt\", context.optName + \"=\");\n          linkTail =\n            \"%22SYSTEM+\" +\n            context.stmtName +\n            \"%22+\" +\n            context.optName +\n            \"= \" +\n            keyword;\n        } else {\n          contextText =\n            getText(\"ce_ac_proc.fmt\", context.procName) +\n            \", \" +\n            getText(\"ce_ac_statement.fmt\", context.stmtName) +\n            \", \" +\n            getText(\"ce_ac_option.fmt\", context.optName + \"=\");\n          linkTail =\n            \"PROC+\" +\n            context.procName +\n            \"+\" +\n            context.stmtName +\n            \"+STATEMENT+\" +\n            context.optName +\n            \"= \" +\n            keyword;\n        }\n        break;\n      case ZONE_TYPE.DATA_STEP_STMT:\n        contextText = getText(\"ce_ac_data_step_txt\");\n        linkTail = \"%22DATA+STEP%22+%22\" + keyword + \"+\" + \"STATEMENT%22\";\n        break;\n      case ZONE_TYPE.DATA_STEP_STMT_OPT:\n        contextText = getText(\"ce_ac_statement.fmt\", context.stmtName);\n        linkTail = \"%22\" + context.stmtName + \"+STATEMENT%22+\" + keyword;\n        break;\n      case ZONE_TYPE.DATA_STEP_OPT_NAME:\n      case ZONE_TYPE.DATA_STEP_DEF_OPT:\n        contextText = getText(\"ce_ac_data_step_txt\");\n        linkTail = \"%22DATA STATEMENT%22 \"; // + _getOptionName(tmpHintInfo);\n        break;\n      case ZONE_TYPE.DATA_STEP_OPT_VALUE:\n        contextText = getText(\"ce_ac_data_step_option_value_txt\");\n        linkTail = \"%22DATA STATEMENT%22 \" + context.optName + \"= \" + keyword;\n        break;\n      case ZONE_TYPE.VIEW_OR_PGM_OPT_NAME:\n        contextText = getText(\"ce_ac_data_step_txt\");\n        linkTail = \"%22DATA STEP PASSWORD= OPTION%22 \"; // + _getOptionName(tmpHintInfo);\n        break;\n      case ZONE_TYPE.VIEW_OR_PGM_OPT_VALUE:\n        contextText = getText(\"ce_ac_data_step_txt\");\n        linkTail =\n          \"%22DATA STEP PASSWORD= OPTION%22 \" +\n          context.optName +\n          \"= \" +\n          keyword;\n        break;\n      // case ZONE_TYPE.VIEW_OR_PGM_SUB_OPT_NAME:\n      // contextText = 'DATA STEP VIEW PGM SUB OPTION NAME';\n      // var nameParts = _getContextMain(zone, _cleanUpKeyword(_getOptionName(tmpHintInfo))).split(' ');\n      // linkTail = \"%22DATA STEP%22\" + \"%OPTIONS%22\"+\"%22\" + nameParts[0] + \"%22\";\n      // break;\n      case ZONE_TYPE.DATA_SET_OPT_NAME:\n        contextText = getText(\"ce_ac_data_set_option_txt\");\n        linkTail = \"%22DATA SET OPTIONS%22 \"; // + _getOptionName(tmpHintInfo);\n        break;\n      case ZONE_TYPE.DATA_SET_OPT_VALUE:\n        contextText = getText(\"ce_ac_data_set_option_value_txt\");\n        linkTail = \"%22DATA SET OPTIONS%22 \" + context.optName + \"= \" + keyword;\n        break;\n      case ZONE_TYPE.MACRO_DEF:\n        contextText = getText(\"ce_ac_macro_definition_txt\");\n        break;\n      case ZONE_TYPE.MACRO_STMT:\n        contextText = getText(\"ce_ac_macro_statement_txt\");\n        linkTail = \"%22\" + keyword.replace(\"%\", \"\") + \"+STATEMENT%22\";\n        break;\n      case ZONE_TYPE.MACRO_DEF_OPT:\n        contextText = getText(\"ce_ac_macro_definition_option_txt\");\n        linkTail =\n          \"%22\" +\n          context.stmtName.toUpperCase().replace(\"%\", \"\") +\n          \" \" +\n          keyword.replace(\"%\", \"\") +\n          \"%22\";\n        break;\n      case ZONE_TYPE.MACRO_STMT_OPT:\n        contextText = getText(\"ce_ac_macro_statement_option_txt\");\n        linkTail =\n          \"%22\" +\n          context.stmtName.toUpperCase().replace(\"%\", \"\") +\n          \" \" +\n          keyword.replace(\"%\", \"\") +\n          \"%22\";\n        break;\n      case ZONE_TYPE.ODS_STMT:\n        contextText = getText(\"ce_ac_ods_txt\");\n        linkTail = keyword;\n        break;\n      case ZONE_TYPE.ODS_STMT_OPT:\n        contextText = _cleanUpODSStmtName(context.stmtName);\n        linkTail = contextText + \"+\" + keyword;\n        contextText = getText(\"ce_ac_statement.fmt\", contextText);\n        break;\n      case ZONE_TYPE.ODS_STMT_OPT_VALUE:\n        contextText = _cleanUpODSStmtName(context.stmtName);\n        linkTail = contextText + \"+\" + context.optName + \"= \" + keyword;\n        contextText =\n          getText(\"ce_ac_statement.fmt\", contextText) +\n          \", \" +\n          getText(\"ce_ac_option.fmt\", context.optName + \"=\");\n        break;\n      case ZONE_TYPE.TAGSETS_NAME:\n        contextText = getText(\"ce_ac_ods_markup_txt\");\n        linkTail = \"ODS \" + keyword;\n        break;\n      case ZONE_TYPE.CALL_ROUTINE:\n        contextText = getText(\"ce_ac_call_routine_txt\");\n        linkTail = \"CALL \" + keyword;\n        break;\n      case ZONE_TYPE.STYLE_LOC:\n        contextText = getText(\"ce_ac_style_option_txt\");\n        linkTail = \"STYLE%28\" + keyword + \"%29%22\";\n        break;\n      case ZONE_TYPE.STYLE_ELEMENT:\n        contextText = getText(\"ce_ac_style_option_txt\");\n        linkTail = \"STYLE \" + keyword;\n        break;\n      case ZONE_TYPE.STYLE_ATTR:\n        contextText = getText(\"ce_ac_style_option_txt\");\n        linkTail = \"STYLE \" + keyword;\n        break;\n      // case ZONE_TYPE.MACRO_STMT:\n      // contextText = 'MACRO STATEMENT';\n      // linkTail = '%22' + keyword + '+STATEMENT%22';\n      // break;\n      default: //zone;\n        contextText = \"\";\n        linkTail = keyword.replace(\"%\", \"\");\n    }\n\n    keyword = this._genKeywordLink(content, zone, linkTail);\n\n    // const sasReleaseParam = \"fq=releasesystem%3AViya&\";\n    // productDocumentation =\n    //   \"<a href = 'https://support.sas.com/en/search.html?\" +\n    //   sasReleaseParam +\n    //   \"fq=siteArea%3ADocumentation&q=\" +\n    //   linkTail +\n    //   \"' target = '_blank'>\" +\n    //   getText(\"ce_ac_product_documentation_txt\") +\n    //   \"</a>\";\n    // sasNote =\n    //   \"<a href = 'https://support.sas.com/en/search.html?\" +\n    //   sasReleaseParam +\n    //   \"fq=siteArea%3A%22Samples%20%26%20SAS%20Notes%22&q=\" +\n    //   linkTail +\n    //   \"' target = '_blank'>\" +\n    //   getText(\"ce_ac_samples_and_sas_notes_txt\") +\n    //   \"</a>\";\n    // papers =\n    //   \"<a href = 'https://support.sas.com/en/search.html?\" +\n    //   sasReleaseParam +\n    //   \"fq=siteArea%3A%22Papers%20%26%20Proceedings%22&q=\" +\n    //   linkTail +\n    //   \"' target = '_blank'>\" +\n    //   getText(\"ce_ac_papers_txt\") +\n    //   \"</a>\";\n\n    contextText = contextText.toUpperCase();\n    if (contextText === \"\") {\n      contextText = \"\\n\\n\";\n    } else {\n      contextText =\n        \"\\\\\\n**\" +\n        getText(\"ce_ac_context_txt\") +\n        \" [\" +\n        contextText +\n        \"] \" +\n        _getContextMain(\n          zone,\n          _cleanUpKeyword(\n            /*_getOptionName(tmpHintInfo)*/ content.key.toUpperCase(),\n          ),\n        ) +\n        \"**\\n\\n\";\n    }\n    if (content.alias && content.alias.length) {\n      alias =\n        \"\\\\\\n\" + getText(\"ce_ac_alias_txt\") + \" \" + content.alias.join(\", \");\n    }\n    help = \"&lt;no help>\";\n    if (content.data) {\n      if (content.supportSite) {\n        help = \"\";\n        if (content.syntax) {\n          if (content.syntax.indexOf(\"\\n\") !== -1) {\n            // multi-lines\n            help =\n              \"```\\n\" +\n              getText(\"ce_ac_syntax_txt\") +\n              \" \" +\n              content.syntax +\n              \"\\n```\\n\\n\";\n          } else {\n            help = getText(\"ce_ac_syntax_txt\") + \" \" + content.syntax + \"\\n\\n\";\n          }\n        }\n        help +=\n          '<span style=\"white-space:pre-wrap;\">' + content.data + \"</span>\";\n      } else {\n        help = content.data.replace(/</g, \"&lt;\");\n      }\n    }\n    return (\n      getText(\"ce_ac_keyword_txt\") + \"  \" + keyword + alias + contextText + help\n      // \"\\n<br />\" +\n      // getText(\"ce_ac_search_txt\") +\n      // \"   \" +\n      // productDocumentation +\n      // \"     \" +\n      // sasNote +\n      // \"     \" +\n      // papers\n    );\n  }\n\n  private _notifyOptValue(\n    cb: (data?: (string | LibCompleteItem)[]) => void,\n    data: OptionValues | undefined,\n    optName: string,\n  ) {\n    if (data) {\n      if (this.loader.isColorType(data.type)) {\n        this.popupContext.zone = ZONE_TYPE.COLOR;\n        data.values = data.values.map((value: string) => value.slice(0, -9));\n      } else if (this.loader.isDataSetType(data.type)) {\n        if (optName !== this.popupContext.optName) {\n          cb(undefined);\n          return;\n        }\n        this.popupContext.zone = ZONE_TYPE.LIB;\n        let libref = this._findLibRef();\n        if (libref) {\n          libref = libref.toUpperCase();\n          for (let i = 0; i < data.values.length; i++) {\n            const libItem: LibCompleteItem = data.values[i] as any;\n            if (libref === libItem.name.toUpperCase()) {\n              this.loader.getDataSetNames(libItem.id, cb);\n              return;\n            }\n          }\n          data.values = [];\n        } else {\n          const datasetList = this._getDatasetNames() as any;\n          this.popupContext.datasetList = datasetList;\n          data.values = data.values.concat(datasetList);\n        }\n      } // else if (!this.loader.isDataSetType(data.type) && libref) {\n      // wrong guess, should not popup\n      //  cb(undefined);\n      //  return;\n      //}\n      cb(data.values);\n      this.popupContext.datasetList = undefined;\n    } else {\n      cb(undefined);\n    }\n  }\n\n  private _getZone(position: Position) {\n    this.popupContext.position = position;\n    this.popupContext.prefix = this._getPrefix(position);\n    const zone = this.czMgr.getCurrentZone(position.line, position.character);\n    this.popupContext.zone =\n      this.popupContext.prefix.startsWith(\"&\") &&\n      zone !== ZONE_TYPE.COMMENT &&\n      zone !== ZONE_TYPE.DATALINES\n        ? ZONE_TYPE.MACRO_VAR\n        : zone;\n  }\n\n  private _getPrefix(position: Position) {\n    const textBeforeCaret = this.model\n        .getLine(position.line)\n        .substring(0, position.character),\n      lastWorldStart = textBeforeCaret.search(\n        /[%&](\\w|[^\\x00-\\xff])*$|(\\w|[^\\x00-\\xff])+$/, // eslint-disable-line no-control-regex\n      );\n    return lastWorldStart === -1\n      ? \"\"\n      : textBeforeCaret.substring(lastWorldStart);\n  }\n\n  private _findLibRef() {\n    const pos = this.popupContext.position;\n    const syntax = this.syntaxProvider.getSyntax(pos.line),\n      count = syntax.length;\n    let end, libref;\n    for (let i = count - 1; i > 0; i--) {\n      if (syntax[i].start < pos.character) {\n        const line = this.model.getLine(pos.line);\n        if (!syntax[i + 1]) {\n          end = line.length - 1;\n        } else {\n          end = syntax[i + 1].start - 1;\n        }\n        if (syntax[i].style === \"format\") {\n          // data=<libref>.\n          libref = line.slice(syntax[i].start, end);\n        } else {\n          // data=<libref>.|...\n          const dotIndex = line.slice(syntax[i].start, end).indexOf(\".\");\n          if (\n            dotIndex > 0 &&\n            syntax[i].start + dotIndex < pos.character &&\n            line.slice(pos.character - 1, pos.character) !== \" \"\n          ) {\n            libref = line.slice(syntax[i].start, syntax[i].start + dotIndex);\n          }\n        }\n        break;\n      }\n    }\n    return libref;\n  }\n\n  private _getDatasetNames() {\n    const datasetList = [];\n    let flag = 0;\n    for (let line = 0; line < this.model.getLineCount(); line++) {\n      const syntax = this.syntaxProvider.getSyntax(line),\n        lineText = this.model.getLine(line),\n        count = syntax.length;\n      for (let i = 0; i < count; i++) {\n        const token =\n          i + 1 < count\n            ? lineText.slice(syntax[i].start, syntax[i + 1].start)\n            : lineText.slice(syntax[i].start);\n        if (\n          syntax[i].style === \"comment\" ||\n          syntax[i].style === \"macro-comment\" || // just comment, do nothing\n          (syntax[i].style === \"text\" &&\n            (token === \"\" || token.search(/\\s/) !== -1))\n        ) {\n          // just blanks, do nothing\n        } else if (\n          flag === 0 &&\n          syntax[i].style === \"sec-keyword\" &&\n          token.toUpperCase() === \"DATA\"\n        ) {\n          flag = 1; // found data\n        } else if (\n          flag === 1 &&\n          syntax[i].style === \"text\" &&\n          token.toUpperCase() !== \"_NULL_\"\n        ) {\n          datasetList.push({ name: token, type: \"DATA\" });\n        } else if (flag === 1 && syntax[i].style === \"sep\" && token === \"(\") {\n          flag = 2; // dataset options\n        } else if (flag === 2) {\n          if (syntax[i].style === \"sep\" && token === \")\") {\n            flag = 1;\n          }\n        } else {\n          flag = 0;\n        }\n      }\n    }\n    return datasetList;\n  }\n\n  private _getMacroVar() {\n    const macroVarList = [];\n    let flag = 0,\n      varName = \"\";\n    for (let line = 0; line < this.model.getLineCount(); line++) {\n      const syntax = this.syntaxProvider.getSyntax(line),\n        lineText = this.model.getLine(line),\n        count = syntax.length;\n      for (let i = 0; i < count; i++) {\n        const token =\n          i + 1 < count\n            ? lineText.slice(syntax[i].start, syntax[i + 1].start)\n            : lineText.slice(syntax[i].start);\n        if (\n          syntax[i].style === \"comment\" ||\n          syntax[i].style === \"macro-comment\" || // just comment, do nothing\n          (syntax[i].style === \"text\" &&\n            (token === \"\" || token.search(/\\s/) !== -1))\n        ) {\n          // just blanks, do nothing\n        } else if (\n          flag === 0 &&\n          syntax[i].style === \"macro-keyword\" &&\n          token.toUpperCase() === \"%LET\"\n        ) {\n          flag = 1; // Found %let\n        } else if (flag === 1 && syntax[i].style === \"text\") {\n          varName = token;\n          flag = 2; // found variable name\n        } else if (flag === 2 && syntax[i].style === \"sep\" && token === \"=\") {\n          flag = 3; // wait for ;\n        } else if (flag === 3) {\n          // anything between = and ; are considered as macro variable value\n          if (syntax[i].style === \"sep\" && token === \";\") {\n            macroVarList.push(varName);\n            flag = 0;\n          }\n        } else if (\n          flag === 0 &&\n          syntax[i].style === \"keyword\" &&\n          token.toUpperCase() === \"CALL\"\n        ) {\n          flag = 4; // found call\n        } else if (\n          flag === 4 &&\n          syntax[i].style === \"text\" &&\n          token.toUpperCase() === \"SYMPUT\"\n        ) {\n          flag = 5; // found symput\n        } else if (flag === 5 && syntax[i].style === \"sep\" && token === \"(\") {\n          flag = 6; // found (\n        } else if (flag === 6 && syntax[i].style === \"string\") {\n          varName = token.replace(/['\"]/g, \"\");\n          flag = 7; // found variable name\n        } else if (\n          flag === 7 &&\n          syntax[i].style === \"sep\" &&\n          token === \",\" &&\n          varName\n        ) {\n          flag = 3; // wait fot ;\n        } else {\n          flag = 0;\n        }\n      }\n    }\n    return macroVarList;\n    /*var re = textarea.value.match(/%let\\s+\\w+(?=\\s*=)/mgi);\n      if (re) {\n          re.forEach(function(item) {\n              macroVarList.push(item.match(/%let\\s+(\\w+)/mi)[1]);\n          });\n      }\n      re = textarea.value.match(/call\\s+symput\\s*\\(\\s*('\\w+'|\"\\w+\")(?=\\s*,)/mgi);\n      if (re) {\n          re.forEach(function(item) {\n              macroVarList.push(item.match(/call\\s+symput\\s*\\(\\s*['\"](\\w+)['\"]/mi)[1]);\n          });\n      }*/\n  }\n\n  private _genKeywordLink(\n    content: HelpData,\n    zone: number,\n    linkTail: string = \"\",\n  ) {\n    let addr =\n      \"https://support.sas.com/en/search.html?\" +\n      \"fq=releasesystem%3AViya&\" +\n      \"q=\" +\n      linkTail;\n    if (content.supportSite) {\n      addr =\n        \"https://documentation.sas.com/?docsetId=\" +\n        content.supportSite.docsetId +\n        \"&docsetVersion=\" +\n        content.supportSite.docsetVersion +\n        \"&docsetTarget=\";\n      if (\n        zone === ZONE_TYPE.PROC_DEF ||\n        zone === ZONE_TYPE.SAS_FUNC ||\n        !content.supportSite.supportSiteTargetFile\n      ) {\n        addr += content.supportSite.docsetTargetFile;\n      } else {\n        addr += content.supportSite.supportSiteTargetFile;\n        if (content.supportSite.supportSiteTargetFragment) {\n          addr += \"#\" + content.supportSite.supportSiteTargetFragment;\n        }\n      }\n    } else {\n      addr = addr.replace(/\\s/g, \"%20\");\n    }\n    // \"<a href = '\" +\n    // addr +\n    // \"' target = '_blank'>\" +\n    // _cleanUpKeyword(content.key.toUpperCase()) +\n    // \"</a>\";\n    return \"[\" + _cleanUpKeyword(content.key.toUpperCase()) + \"](\" + addr + \")\";\n  }\n}\n"
  },
  {
    "path": "server/src/sas/FormatOnTypeProvider.ts",
    "content": "// Copyright © 2023, SAS Institute Inc., Cary, NC, USA.  All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { TextEdit } from \"vscode-languageserver\";\n\nimport { CodeZoneManager } from \"./CodeZoneManager\";\nimport { Lexer } from \"./Lexer\";\nimport { FoldingBlock, LexerEx } from \"./LexerEx\";\nimport { Model } from \"./Model\";\nimport { SyntaxProvider, SyntaxToken } from \"./SyntaxProvider\";\n\nconst ZONE_TYPE = CodeZoneManager.ZONE_TYPE;\n\nexport class FormatOnTypeProvider {\n  private czMgr;\n  private loader;\n\n  constructor(\n    private model: Model,\n    private syntaxProvider: SyntaxProvider,\n  ) {\n    this.loader = syntaxProvider.lexer.syntaxDb;\n    this.czMgr = new CodeZoneManager(model, this.loader, syntaxProvider);\n  }\n\n  public getIndentEdit(\n    line: number,\n    col: number,\n    triggerChar: string,\n    tabSize: number,\n    useSpace: boolean,\n  ): TextEdit[] {\n    if (triggerChar === \"\\n\") {\n      return this._getEnterTriggeredIndentEdit(line - 1, tabSize, useSpace);\n    } else if (triggerChar === \";\") {\n      return this._getSemicolonTriggeredIndentEdit(\n        line,\n        col - 1,\n        tabSize,\n        useSpace,\n      );\n    }\n    return [];\n  }\n\n  private _getSemicolonTriggeredIndentEdit(\n    line: number,\n    semicolonCol: number,\n    tabSize: number,\n    useSpace: boolean,\n  ): TextEdit[] {\n    const ZT = ZONE_TYPE;\n    // validate end of zone\n    const zoneBeforeSemicolon: number = this.czMgr.getCurrentZone(\n      line,\n      semicolonCol,\n    );\n    const zoneAfterSemicolon: number = this.czMgr.getCurrentZone(\n      line,\n      semicolonCol + 1,\n    );\n    let curBlockZoneType: \"proc\" | \"data\" | undefined;\n    let shouldDecIndent = false;\n    if (\n      zoneAfterSemicolon === ZONE_TYPE.GBL_STMT ||\n      zoneAfterSemicolon === ZONE_TYPE.COMMENT ||\n      zoneAfterSemicolon === undefined\n    ) {\n      switch (zoneBeforeSemicolon) {\n        case ZT.PROC_STMT:\n        case ZT.PROC_STMT_OPT:\n        case ZT.PROC_STMT_OPT_REQ:\n        case ZT.PROC_STMT_OPT_VALUE:\n        case ZT.PROC_STMT_SUB_OPT:\n        case ZT.PROC_STMT_SUB_OPT_VALUE:\n          !curBlockZoneType && (curBlockZoneType = \"proc\");\n        // eslint-disable-next-line no-fallthrough\n        case ZT.DATA_STEP_STMT:\n        case ZT.DATA_STEP_STMT_OPT:\n        case ZT.DATA_STEP_STMT_OPT_VALUE:\n          !curBlockZoneType && (curBlockZoneType = \"data\");\n          shouldDecIndent = true;\n      }\n    }\n\n    const foldingBlock: FoldingBlock | null =\n      this.syntaxProvider.getFoldingBlock(line, semicolonCol, true, true, true);\n    // Detect recursive block, which is not supported yet\n    switch (curBlockZoneType) {\n      case \"data\": {\n        if (foldingBlock?.type !== LexerEx.SEC_TYPE.DATA) {\n          return [];\n        }\n        break;\n      }\n      case \"proc\": {\n        if (foldingBlock?.type !== LexerEx.SEC_TYPE.PROC) {\n          return [];\n        }\n        break;\n      }\n    }\n\n    let referLine;\n    let extraIndent = 0;\n    const lastNotEmptyLine = this._getLastNotEmptyLine(line - 1);\n    if (lastNotEmptyLine === undefined) {\n      return [];\n    }\n    if (!foldingBlock) {\n      referLine = lastNotEmptyLine;\n    } else if (foldingBlock?.startLine === line) {\n      referLine = lastNotEmptyLine;\n      const prevLineText = this.model.getLine(lastNotEmptyLine);\n      const lastFoldingBlock: FoldingBlock | null =\n        this.syntaxProvider.getFoldingBlock(\n          lastNotEmptyLine,\n          prevLineText.length - 1,\n          true,\n          true,\n          true,\n        );\n      if (\n        lastFoldingBlock?.startLine === lastNotEmptyLine &&\n        lastFoldingBlock?.startLine !== lastFoldingBlock?.endLine\n      ) {\n        // if the last line is the start line of the block, need to add extra indentation.\n        extraIndent = tabSize;\n      }\n    } else {\n      referLine = foldingBlock.startLine;\n    }\n\n    if (!shouldDecIndent) {\n      // when the ending word is in the separate line as following cases, the indentationRules cannot match it,\n      // we need to ajust the line indentation to the same as the last line.\n      let [tokenText, tokenStyle, tokenCol] = this._getPrevValidTokenInfo(\n        line,\n        semicolonCol - 1,\n        false,\n        true,\n      );\n      /*\n       * if the ending word is part of a string or comment and is in the next line.\n       * a ='\n       * run;\n       */\n      if (\n        tokenStyle &&\n        [\n          Lexer.TOKEN_TYPES.COMMENT,\n          Lexer.TOKEN_TYPES.MCOMMENT,\n          Lexer.TOKEN_TYPES.STR,\n        ].includes(tokenStyle)\n      ) {\n        const curLineText = this.model.getLine(line).trim();\n        if (\n          curLineText.match(\n            /(;|^\\s*)(\\s|\\/\\*.*\\*\\/|\\*[^;]*;)*(run|quit|%mend)(\\s|\\/\\*.*\\*\\/|\\*[^;]*;)*;$/i,\n          )\n        ) {\n          shouldDecIndent = true;\n        }\n      }\n      [tokenText, tokenStyle, tokenCol] = this._getPrevValidTokenInfo(\n        line,\n        semicolonCol - 1,\n        false,\n      );\n      /*\n       * a =\n       * run;\n       */\n      if (\n        tokenText &&\n        [\"RUN\", \"QUIT\", \"%MEND\"].includes(tokenText.toUpperCase())\n      ) {\n        let sameLinePrevTokenText;\n        if (tokenCol) {\n          [sameLinePrevTokenText] = this._getPrevValidTokenInfo(\n            line,\n            tokenCol - 1,\n            false,\n          );\n        }\n        // if no valid token in the same line, we should find the last valid token in the last line.\n        if (!sameLinePrevTokenText) {\n          const [prevLineTokenText] = this._getPrevValidTokenInfo(\n            line - 1,\n            undefined,\n          );\n          if (prevLineTokenText !== \";\") {\n            shouldDecIndent = true;\n          }\n        }\n      }\n      if (shouldDecIndent) {\n        referLine = lastNotEmptyLine;\n        // if the last line is the start line of the block, need to add extra indentation.\n        // it's impossible to be the end line of the block here.\n        if (foldingBlock?.startLine === lastNotEmptyLine) {\n          extraIndent = tabSize;\n        }\n      }\n\n      // macro\n      if (!shouldDecIndent) {\n        if (\n          tokenStyle === Lexer.TOKEN_TYPES.MSKEYWORD &&\n          tokenText?.toUpperCase() === \"%MEND\"\n        ) {\n          shouldDecIndent = true;\n        }\n        if (tokenText?.toUpperCase() !== \"%MEND\" && tokenCol) {\n          const [prevTokenText, prevTokenStyle] = this._getPrevValidTokenInfo(\n            line,\n            tokenCol - 1,\n          );\n          if (\n            (prevTokenStyle === Lexer.TOKEN_TYPES.MKEYWORD ||\n              prevTokenStyle === Lexer.TOKEN_TYPES.MSKEYWORD) &&\n            prevTokenText?.toUpperCase() === \"%MEND\"\n          ) {\n            shouldDecIndent = true;\n          }\n        }\n      }\n\n      // multiple run\n      if (\n        zoneBeforeSemicolon === ZT.GBL_STMT &&\n        zoneAfterSemicolon === ZT.GBL_STMT &&\n        (tokenStyle === Lexer.TOKEN_TYPES.SKEYWORD ||\n          tokenStyle === Lexer.TOKEN_TYPES.KEYWORD) &&\n        tokenText?.toUpperCase() === \"RUN\"\n      ) {\n        shouldDecIndent = true;\n        referLine = lastNotEmptyLine;\n      }\n\n      if (!shouldDecIndent) {\n        return [];\n      }\n    }\n\n    const referLineText = this.model.getLine(referLine);\n    const referLineIndentLen = this._getIndentLength(referLineText, tabSize);\n    const expectedCurLineIndent = referLineIndentLen + extraIndent;\n    const curLineText = this.model.getLine(line);\n    const curLineIndentText = this._getIndentText(curLineText);\n    const curLineIndentLen = this._getIndentLength(curLineText, tabSize);\n    if (expectedCurLineIndent === curLineIndentLen) {\n      return [];\n    } else {\n      const expectedCurLineIndentText = this._makeIndentText(\n        expectedCurLineIndent,\n        useSpace,\n        tabSize,\n      );\n      return [\n        TextEdit.replace(\n          {\n            start: { line: line, character: 0 },\n            end: { line: line, character: curLineIndentText.length },\n          },\n          expectedCurLineIndentText,\n        ),\n      ];\n    }\n  }\n\n  private _getEnterTriggeredIndentEdit(\n    line: number,\n    tabSize: number,\n    useSpace: boolean,\n  ): TextEdit[] {\n    // find indent text\n    const lastNotEmptyLine = this._getLastNotEmptyLine(line);\n    if (lastNotEmptyLine === undefined) {\n      return [];\n    }\n    const lastNotEmptyLineText = this.model.getLine(lastNotEmptyLine);\n    const nextLineText =\n      line < this.model.getLineCount() - 1 ? this.model.getLine(line + 1) : \"\";\n    const nextLineIndentText = this._getIndentText(nextLineText);\n\n    // calculate indent length\n    const curIndentLen = this._getIndentLength(lastNotEmptyLineText, tabSize);\n    const nextLineIndentInc: number | undefined =\n      this._getIndentIncrementOfNextLine(\n        lastNotEmptyLine,\n        curIndentLen,\n        tabSize,\n      );\n    if (nextLineIndentInc === undefined) {\n      return [];\n    }\n    const expectedNextLineIndentLen = curIndentLen + nextLineIndentInc;\n    const actualNextLineIndentLen = this._getIndentLength(\n      nextLineText,\n      tabSize,\n    );\n\n    if (expectedNextLineIndentLen === actualNextLineIndentLen) {\n      return [];\n    } else {\n      const expectedNextLineIndentText = this._makeIndentText(\n        expectedNextLineIndentLen,\n        useSpace,\n        tabSize,\n      );\n      return [\n        TextEdit.replace(\n          {\n            start: { line: line + 1, character: 0 },\n            end: { line: line + 1, character: nextLineIndentText.length },\n          },\n          expectedNextLineIndentText,\n        ),\n      ];\n    }\n  }\n\n  private _getIndentIncrementOfNextLine(\n    line: number,\n    curIndent: number,\n    tabSize: number,\n  ): number | undefined {\n    let curLine = line;\n    let isFoundSemicolon = false;\n    while (curLine >= 0) {\n      const tokens: SyntaxToken[] = this.syntaxProvider.getSyntax(curLine);\n      const cleanedTokens = this._cleanTokens(curLine, tokens);\n      const lineText = this.model.getLine(curLine);\n      let curIndex = cleanedTokens.length - 1;\n      while (curIndex >= 0) {\n        const curToken = cleanedTokens[curIndex];\n        const curTokenText = this._getTokenText(\n          cleanedTokens,\n          curIndex,\n          lineText,\n        ).trim();\n        curIndex--;\n        // nothing should be done before matching \";\"\n        if (!isFoundSemicolon && curTokenText !== \";\") {\n          continue;\n        }\n        isFoundSemicolon = true;\n        if (\n          curToken.style === Lexer.TOKEN_TYPES.SKEYWORD ||\n          curToken.style === Lexer.TOKEN_TYPES.KEYWORD ||\n          curToken.style === Lexer.TOKEN_TYPES.MKEYWORD ||\n          curToken.style === Lexer.TOKEN_TYPES.MSKEYWORD\n        ) {\n          if (\n            curToken.style === Lexer.TOKEN_TYPES.KEYWORD &&\n            /^(submit|interactive|i)$/i.test(curTokenText)\n          ) {\n            const block = this.syntaxProvider.getFoldingBlock(\n              curLine,\n              curIndex,\n              true,\n              true,\n              true,\n            );\n            if (\n              block &&\n              block.type === LexerEx.SEC_TYPE.PROC &&\n              this.syntaxProvider.getSymbolName(block) === \"PROC PYTHON\"\n            ) {\n              return -curIndent;\n            }\n          }\n          if (\n            curTokenText.toUpperCase() === \"DATA\" ||\n            curTokenText.toUpperCase() === \"PROC\" ||\n            curTokenText.toUpperCase() === \"%MACRO\"\n          ) {\n            return tabSize - (curIndent % tabSize);\n          }\n          if (\n            curTokenText.toUpperCase() === \"RUN\" ||\n            curTokenText.toUpperCase() === \"QUIT\" ||\n            curTokenText.toUpperCase() === \"%MEND\"\n          ) {\n            return 0;\n          }\n        }\n\n        // previous lines\n        if (curLine < line && curTokenText === \";\") {\n          return 0;\n        }\n      }\n      if (curIndex < 0) {\n        curLine--;\n      }\n    }\n    return 0;\n  }\n\n  /**\n   * remove comment, blanks\n   */\n  private _cleanTokens(line: number, tokens: SyntaxToken[]): SyntaxToken[] {\n    const lineText = this.model.getLine(line);\n    const cleanedTokens: SyntaxToken[] = [];\n    for (let i = 0; i < tokens.length; i++) {\n      const curToken = tokens[i];\n      const text = this._getTokenText(tokens, i, lineText);\n      if (this._isCommentOrBlankToken(curToken, text)) {\n        continue;\n      }\n      cleanedTokens.push(curToken);\n    }\n    return cleanedTokens;\n  }\n\n  private _getLastNotEmptyLine(line: number): number | undefined {\n    let lastNotEmptyLine = undefined;\n    let lastNotEmptyLineText = \"\";\n    for (let i = line; i >= 0; i--) {\n      lastNotEmptyLineText = this.model.getLine(i);\n      if (!this._isEmptyLine(lastNotEmptyLineText)) {\n        lastNotEmptyLine = i;\n        break;\n      }\n    }\n    return lastNotEmptyLine;\n  }\n\n  private _makeIndentText(\n    expectedIndentLen: number,\n    useSpace: boolean,\n    tabSize: number,\n  ): string {\n    let indentText;\n    if (useSpace) {\n      indentText = \" \".repeat(expectedIndentLen);\n    } else {\n      const tabCount = Math.floor(expectedIndentLen / tabSize);\n      indentText = \"\\t\".repeat(tabCount);\n      const spaceCount = expectedIndentLen % tabSize;\n      indentText += \" \".repeat(spaceCount);\n    }\n    return indentText;\n  }\n\n  private _getIndentText(line: string): string {\n    let pos = 0;\n    while (pos < line.length) {\n      if (line[pos] === \" \" || line[pos] === \"\\t\") {\n        pos++;\n      } else {\n        break;\n      }\n    }\n    return line.substring(0, pos);\n  }\n\n  private _getIndentLength(line: string, tabSize: number): number {\n    let indentLen = 0;\n    for (let i = 0; i < line.length; i++) {\n      if (line[i] === \" \") {\n        indentLen++;\n      } else if (line[i] === \"\\t\") {\n        indentLen += tabSize - (indentLen % tabSize);\n      } else {\n        break;\n      }\n    }\n    return indentLen;\n  }\n\n  private _isEmptyLine(line: string) {\n    return !/\\S/.test(line);\n  }\n\n  private _getTokenText(\n    tokens: SyntaxToken[],\n    index: number,\n    lineText: string,\n  ): string {\n    if (index < 0 || index >= tokens.length) {\n      return \"\";\n    }\n    const curToken = tokens[index];\n    let text;\n    if (index === tokens.length - 1) {\n      text = lineText.substring(curToken.start);\n    } else {\n      text = lineText.substring(curToken.start, tokens[index + 1].start);\n    }\n    return text;\n  }\n\n  private _getPrevValidTokenInfo(\n    line: number,\n    col: number | undefined,\n    needMultiLine = true,\n    returnComment = false,\n  ): [string | undefined, string, number | undefined] | [] {\n    let _line = line;\n    while (_line >= 0) {\n      const tokens: SyntaxToken[] = this.syntaxProvider.getSyntax(_line);\n      const lineText = this.model.getLine(_line);\n      for (let i = tokens.length - 1; i >= 0; i--) {\n        const curToken = tokens[i];\n        const text = this._getTokenText(tokens, i, lineText);\n        if (curToken.start <= (_line < line || !col ? lineText.length : col)) {\n          if (!this._isCommentOrBlankToken(curToken, text)) {\n            return [text, curToken.style, curToken.start];\n          }\n          if (\n            returnComment &&\n            (curToken.style === Lexer.TOKEN_TYPES.COMMENT ||\n              curToken.style === Lexer.TOKEN_TYPES.MCOMMENT)\n          ) {\n            return [undefined, curToken.style, undefined];\n          }\n        }\n      }\n      if (!needMultiLine) {\n        return [];\n      }\n      _line--;\n    }\n    return [];\n  }\n\n  private _isCommentOrBlankToken(token: SyntaxToken, text: string): boolean {\n    const TOKEN_TYPES = Lexer.TOKEN_TYPES;\n    if (\n      token.style === TOKEN_TYPES.COMMENT ||\n      token.style === TOKEN_TYPES.MCOMMENT\n    ) {\n      return true;\n    }\n    return this._isEmptyLine(text);\n  }\n}\n"
  },
  {
    "path": "server/src/sas/LanguageServiceProvider.ts",
    "content": "// Copyright © 2022-2023, SAS Institute Inc., Cary, NC, USA.  All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport {\n  DocumentSymbol,\n  FoldingRange,\n  SymbolKind,\n} from \"vscode-languageserver\";\nimport type { Range, TextDocument } from \"vscode-languageserver-textdocument\";\n\nimport { CodeZoneManager } from \"./CodeZoneManager\";\nimport { CompletionProvider } from \"./CompletionProvider\";\nimport { FormatOnTypeProvider } from \"./FormatOnTypeProvider\";\nimport { FoldingBlock, LexerEx } from \"./LexerEx\";\nimport { Model } from \"./Model\";\nimport type { LibService } from \"./SyntaxDataProvider\";\nimport { SyntaxProvider } from \"./SyntaxProvider\";\nimport { Formatter } from \"./formatter\";\n\nexport const legend = {\n  tokenTypes: [\n    \"sep\",\n    \"keyword\",\n    \"sec-keyword\",\n    \"proc-name\",\n    \"comment\",\n    \"macro-keyword\",\n    \"macro-comment\",\n    \"macro-ref\",\n    \"macro-sec-keyword\",\n    \"macro-keyword-param\",\n    \"cards-data\",\n    \"string\",\n    \"date\",\n    \"time\",\n    \"dt\",\n    \"bitmask\",\n    \"namelit\",\n    \"hex\",\n    \"numeric\",\n    \"format\", //, 'text', 'blank'\n  ],\n  tokenModifiers: [],\n};\n\nfunction getType(type: string) {\n  return legend.tokenTypes.indexOf(type);\n}\n\n// DATA, PROC, MACRO, GBL, CUSTOM\nconst SymbolKinds = [\n  SymbolKind.Struct,\n  SymbolKind.Function,\n  SymbolKind.Module,\n  SymbolKind.Module,\n  SymbolKind.Module,\n];\n\nexport class LanguageServiceProvider {\n  public model;\n  public syntaxProvider;\n  public completionProvider;\n  public formatOnTypeProvider;\n  public formatter;\n\n  constructor(doc: TextDocument) {\n    this.model = new Model(doc);\n    this.syntaxProvider = new SyntaxProvider(this.model);\n    this.completionProvider = new CompletionProvider(\n      this.model,\n      this.syntaxProvider,\n    );\n    this.formatOnTypeProvider = new FormatOnTypeProvider(\n      this.model,\n      this.syntaxProvider,\n    );\n    this.formatter = new Formatter(this.model, this.syntaxProvider);\n\n    const lineCount = this.model.getLineCount();\n\n    this.syntaxProvider.add({\n      text: \"\",\n      removedText: \"\",\n      oldRange: {\n        start: {\n          line: 0,\n          column: 0,\n        },\n        end: {\n          line: 0,\n          column: 0,\n        },\n      },\n      newRange: {\n        start: {\n          line: 0,\n          column: 0,\n        },\n        end: {\n          line: lineCount - 1,\n          column: this.model.getColumnCount(lineCount - 1),\n        },\n      },\n    });\n  }\n\n  getCodeZoneManager(): CodeZoneManager {\n    return this.completionProvider.getCodeZoneManager();\n  }\n\n  getTokens(): number[] {\n    const lineCount = this.model.getLineCount();\n\n    const data: number[] = [];\n    let prevLine = 0;\n    let prevChar = 0;\n\n    for (let i = 0; i < lineCount; i++) {\n      const line = this.model.getLine(i);\n      const tokens = this.syntaxProvider.getSyntax(i);\n      for (let j = 0; j < tokens.length; j++) {\n        const type = getType(tokens[j].style);\n        const end = j === tokens.length - 1 ? line.length : tokens[j + 1].start;\n        if (type < 0) {\n          continue;\n        }\n        data.push(\n          i - prevLine,\n          prevLine === i ? tokens[j].start - prevChar : tokens[j].start,\n          end - tokens[j].start,\n          type,\n          0,\n        );\n        prevLine = i;\n        prevChar = tokens[j].start;\n      }\n    }\n\n    return data;\n  }\n\n  getDocumentSymbols(): DocumentSymbol[] {\n    const lineCount = this.model.getLineCount();\n    const result: DocumentSymbol[] = [];\n\n    for (let i = 0; i < lineCount; i++) {\n      const rootBlock = this.syntaxProvider.getFoldingBlock(\n        i,\n        undefined,\n        false,\n        false,\n        true,\n      );\n      if (rootBlock && rootBlock.startLine === i) {\n        const docSymbol: DocumentSymbol = this._buildDocumentSymbol(rootBlock);\n        if (docSymbol.name) {\n          result.push(docSymbol);\n        }\n        i = rootBlock.endFoldingLine;\n        continue;\n      }\n    }\n    return result;\n  }\n\n  private _buildDocumentSymbol(\n    block: FoldingBlock,\n    parent?: DocumentSymbol,\n  ): DocumentSymbol {\n    const range: Range = {\n      start: { line: block.startLine, character: block.startCol },\n      end: { line: block.endFoldingLine, character: block.endFoldingCol },\n    };\n    const docSymbol: DocumentSymbol = {\n      name: this.syntaxProvider.getSymbolName(block),\n      kind: SymbolKinds[block.type],\n      range,\n      selectionRange: range,\n      children: [],\n    };\n    if (parent && docSymbol.name) {\n      parent.children!.push(docSymbol);\n    }\n    for (const innerBlock of block.innerBlocks) {\n      this._buildDocumentSymbol(innerBlock, docSymbol);\n    }\n    return docSymbol;\n  }\n\n  getFoldingRanges(): FoldingRange[] {\n    const lineCount = this.model.getLineCount();\n    const result: FoldingRange[] = [];\n    this.addCommentFolding(result);\n\n    for (let i = 0; i < lineCount; i++) {\n      const rootBlock = this.syntaxProvider.getFoldingBlock(\n        i,\n        undefined,\n        false,\n        false,\n        true,\n      );\n      if (rootBlock && rootBlock.startLine === i) {\n        const blocks: FoldingBlock[] = this._flattenFoldingBlockTree(rootBlock);\n        for (const block of blocks) {\n          result.push({\n            startLine: block.startLine,\n            endLine: block.endFoldingLine,\n            kind: block.type === LexerEx.SEC_TYPE.CUSTOM ? \"region\" : undefined,\n          });\n        }\n        i = rootBlock.endFoldingLine;\n        continue;\n      }\n    }\n\n    return result;\n  }\n  private addCommentFolding(result: FoldingRange[]) {\n    // Get multiline comments directly from lexer token processing\n    const commentRanges = this.syntaxProvider.getMultilineComments();\n\n    for (const range of commentRanges) {\n      result.push({\n        startLine: range.startLine,\n        endLine: range.endLine,\n        kind: \"comment\",\n      });\n    }\n  }\n  // DFS\n  private _flattenFoldingBlockTree(rootBlock: FoldingBlock): FoldingBlock[] {\n    const stack: FoldingBlock[] = [rootBlock];\n    const resultList: FoldingBlock[] = [];\n    while (stack.length > 0) {\n      const curBlock: FoldingBlock = stack.pop()!;\n      resultList.push(curBlock);\n      for (let i = curBlock.innerBlocks.length - 1; i >= 0; i--) {\n        const innerBlock = curBlock.innerBlocks[i];\n        stack.push(innerBlock);\n      }\n    }\n    return resultList;\n  }\n\n  getFoldingBlock(\n    line: number,\n    col: number,\n    strict?: boolean,\n    ignoreCustomBlock?: boolean,\n    ignoreGlobalBlock?: boolean,\n  ) {\n    return this.syntaxProvider.getFoldingBlock(\n      line,\n      col,\n      strict,\n      ignoreCustomBlock,\n      ignoreGlobalBlock,\n    );\n  }\n\n  toggleLineComment(range: Range) {\n    const token = this.syntaxProvider.getSyntax(range.start.line)[0];\n    if (token?.style === \"embedded-code\") {\n      return null;\n    }\n    const lines = this.model\n      .getText({\n        start: {\n          line: range.start.line,\n          column: 0,\n        },\n        end: {\n          line: range.end.line,\n          column: range.end.character,\n        },\n      })\n      .split(/\\n|\\r\\n/);\n    const shouldAdd = lines.some(\n      (line) => line.trim() !== \"\" && !/^\\s*\\/\\*.*\\*\\/\\s*$/.test(line),\n    );\n    if (shouldAdd) {\n      return lines\n        .map((line) => (line.trim() !== \"\" ? `/* ${line} */` : line))\n        .join(\"\\n\");\n    }\n    return lines\n      .map((line) => line.replace(/^(\\s*)\\/\\* ?| ?\\*\\/(\\s*)$/g, \"$1\"))\n      .join(\"\\n\");\n  }\n\n  setLibService(fn: LibService): void {\n    return this.syntaxProvider.lexer.syntaxDb.setLibService(fn);\n  }\n}\n"
  },
  {
    "path": "server/src/sas/Lexer.ts",
    "content": "// Copyright © 2022-2023, SAS Institute Inc., Cary, NC, USA.  All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n/* eslint-disable @typescript-eslint/consistent-type-assertions*/\nimport { Model } from \"./Model\";\nimport { SyntaxDataProvider } from \"./SyntaxDataProvider\";\nimport { TextPosition, arrayToMap } from \"./utils\";\n\nlet macroKwMap: Record<string, 1> | undefined = undefined;\n//TODO\n// var unicode = window.ace.require('ace/unicode');\n// wordReg = new RegExp(\"[\"\n//     + unicode.packages.L\n//     + unicode.packages.Mn + unicode.packages.Mc\n//     + unicode.packages.Nd\n//     + unicode.packages.Pc + \"\\\\$_]+$\");\nconst wordReg = /[^`~!@#%^&*()\\-=+[{\\]}\\\\|;:'\",.<>/?\\s]/;\n\nconst DAYS = {\n  JAN: 31,\n  FEB: 29,\n  MAR: 31,\n  APR: 30,\n  MAY: 31,\n  JUN: 30,\n  JUL: 31,\n  AUG: 31,\n  SEP: 30,\n  OCT: 31,\n  NOV: 30,\n  DEC: 31,\n};\nconst DATE_DDMMMYY_YYQ_REG =\n  /^\\d{2}(JAN|FEB|MAR|APR|MAY|JUN|JUL|AUG|SEP|OCT|NOV|DEC)(\\d{2}|\\d{4})|\\d{2}q[1234]\\b/i;\n\nfunction checkQuote(current: number, isHead: boolean, text: string) {\n  if (current === -1 && isHead) {\n    return 0;\n  } else if (current === 0 && text !== \"(\") {\n    return -1;\n  } else if (current >= 0) {\n    if (text === \"(\") {\n      return current + 1;\n    } else if (text === \")\") {\n      if (--current === 0) {\n        current = -1;\n      }\n    }\n  }\n  return current;\n}\n\nexport interface Token {\n  type:\n    | \"sep\"\n    | \"keyword\"\n    | \"sec-keyword\"\n    | \"proc-name\"\n    | \"comment\"\n    | \"macro-keyword\"\n    | \"macro-comment\"\n    | \"macro-ref\"\n    | \"macro-sec-keyword\"\n    | \"macro-keyword-param\"\n    | \"cards-data\"\n    | \"string\"\n    | \"date\"\n    | \"time\"\n    | \"dt\"\n    | \"bitmask\"\n    | \"namelit\"\n    | \"hex\"\n    | \"numeric\"\n    | \"text\"\n    | \"format\"\n    | \"blank\"\n    | \"embedded-code\";\n  start: TextPosition;\n  end: TextPosition;\n  text: string;\n}\n\nenum EmbeddedLangState {\n  NONE,\n  PROC_PYTHON_DEF,\n  PROC_PYTHON_SUBMIT_OR_INTERACTIVE,\n  PROC_PYTHON_CODE,\n  PROC_LUA_DEF,\n  PROC_LUA_SUBMIT_OR_INTERACTIVE,\n  PROC_LUA_CODE,\n  PROC_R_DEF,\n  PROC_R_SUBMIT_OR_INTERACTIVE,\n  PROC_R_CODE,\n}\nexport class Lexer {\n  start = { line: 0, column: 0 };\n  curr = { line: 0, column: 0 };\n  private quoting = -1;\n  private bquoting = -1;\n  private ignoreFormat = false;\n  private syntaxDb = new SyntaxDataProvider();\n  private context: {\n    lastNoncommentToken?: Token | null;\n    embeddedLangState?: EmbeddedLangState;\n  } = { embeddedLangState: EmbeddedLangState.NONE };\n\n  constructor(private model: Model) {\n    if (!macroKwMap) {\n      const macroStmts = this.syntaxDb\n        .getMacroStatements()\n        ?.map((name) => name.slice(1));\n      const macroFuncs = this.syntaxDb\n        .getMacroFunctions()\n        ?.map((name) => name.slice(1));\n      macroKwMap = arrayToMap(macroStmts?.concat(macroFuncs ?? []) ?? []);\n    }\n  }\n\n  static readonly TOKEN_TYPES = {\n    SEP: \"sep\",\n    KEYWORD: \"keyword\",\n    SKEYWORD: \"sec-keyword\",\n    PROCNAME: \"proc-name\",\n    COMMENT: \"comment\",\n    MKEYWORD: \"macro-keyword\",\n    MCOMMENT: \"macro-comment\",\n    MREF: \"macro-ref\",\n    MSKEYWORD: \"macro-sec-keyword\",\n    MKEYWORDPARAM: \"macro-keyword-param\",\n    CARDSDATA: \"cards-data\",\n    STR: \"string\",\n    DATE: \"date\",\n    TIME: \"time\",\n    DT: \"dt\",\n    BM: \"bitmask\",\n    NL: \"namelit\",\n    HEX: \"hex\",\n    NUM: \"numeric\",\n    WORD: \"text\",\n    FORMAT: \"format\",\n    BLANK: \"blank\",\n  };\n\n  static readonly notSyntaxToken = arrayToMap([\n    \"comment\",\n    \"macro-comment\",\n    \"blank\",\n  ]);\n  static readonly isComment = arrayToMap([\"comment\", \"macro-comment\"]);\n  static readonly isLiteral = arrayToMap([\n    \"string\",\n    \"date\",\n    \"time\",\n    \"dt\",\n    \"bitmask\",\n    \"namelit\",\n    \"hex\",\n    \"numeric\",\n    \"cards-data\",\n  ]);\n  static readonly isWord = arrayToMap([\n    \"keyword\",\n    \"sec-keyword\",\n    \"macro-sec-keyword\",\n    \"macro-ref\",\n    \"macro-keyword\",\n    \"text\",\n  ]);\n  static readonly isConst = arrayToMap([\n    \"string\",\n    \"date\",\n    \"time\",\n    \"dt\",\n    \"bitmask\",\n    \"namelit\",\n    \"hex\",\n    \"numeric\",\n    \"format\",\n  ]);\n  static readonly isCards = arrayToMap([\n    \"CARDS\",\n    \"LINES\",\n    \"DATALINES\",\n    \"DATALINES4\",\n    \"CARDS4\",\n    \"LINES4\",\n  ]);\n  static readonly isCards4 = arrayToMap([\"DATALINES4\", \"CARDS4\", \"LINES4\"]);\n  static readonly isParmcards = arrayToMap([\"PARMCARDS\", \"PARMCARDS4\"]);\n  static readonly isParmcards4 = arrayToMap([\"PARMCARDS4\"]);\n  static readonly isQuoting = arrayToMap([\n    \"%STR\",\n    \"%NRSTR\",\n    \"%QUOTE\",\n    \"%NRQUOTE\",\n  ]);\n  static readonly isBQuoting = arrayToMap([\"%SUPERQ\", \"%BQUOTE\", \"%NRBQUOTE\"]);\n  static readonly isBinaryOpr = arrayToMap([\n    \"**\",\n    \"+\",\n    \"-\",\n    \"*\",\n    \"/\", //arithmetic operators\n    \"&\",\n    \"|\",\n    \"!\",\n    \"\\u00A6\",\n    \"AND\",\n    \"OR\",\n    //'\\u00AC','\\u00B0','~','NOT',//boolean operators\n    \"||\", //contatenation operators\n    \"<>\",\n    \"><\", //min and max operators\n    \"=\",\n    \"EQ\",\n    \"^=\",\n    \"\\u00AC=\",\n    \"~=\",\n    \"NE\",\n    \">\",\n    \"GT\",\n    \"<\",\n    \"LT\",\n    \">=\",\n    \"GE\",\n    \"<=\",\n    \"LE\",\n    \"=:\",\n    \">:\",\n    \"<:\",\n    \"^=:\",\n    \"\\u00AC=:\",\n    \"~=:\",\n    \">=:\",\n    \"<=:\", //,//comparison\n    //'IN' // disable this for HTMLCOMMONS-3847 (height=0.75in ctext=red)\n  ]); // operators\n  static readonly isUnaryOpr = arrayToMap([\n    \"\\u00AC\",\n    \"\\u00B0\",\n    \"~\",\n    \"NOT\",\n    \"+\",\n    \"-\",\n  ]); //boolean operators\n\n  static readonly longBiOprs =\n    /^(\\^=:|\\u00AC=:|~=:|>=:|<=:|\\*\\*|<>|\\^=|\\u00AC=|~=|>=|<=|\\|\\||=:|>:|<:)/;\n  //'**','<>','><','^=','\\u00AC=','~=','>=','<=','||','=:','>:','<:',  //len 2\n  //'^=:','\\u00AC=:','~=:','>=:','<=:'   //len 3\n\n  _readToken(): Token | undefined {\n    const token = this.getNext_() as Token | undefined;\n    if (!token) {\n      this.context.embeddedLangState = EmbeddedLangState.NONE;\n      return undefined;\n    }\n    if (Lexer.isLiteral[token.type]) {\n      token.text = this.getText(token);\n    } else {\n      token.text = this.getWord(token).toUpperCase();\n    }\n    if (Lexer.isComment[token.type] === undefined) {\n      this.quoting = checkQuote(\n        this.quoting,\n        !!Lexer.isQuoting[token.text],\n        token.text,\n      );\n      this.bquoting = checkQuote(\n        this.bquoting,\n        !!Lexer.isBQuoting[token.text],\n        token.text,\n      );\n      if (this.quoting === -1 && this.bquoting === -1) {\n        if (!this.ignoreFormat && token.text === \"%PUT\") {\n          this.ignoreFormat = true;\n        } else if (this.ignoreFormat && token.text === \";\") {\n          this.ignoreFormat = false;\n        }\n      }\n    }\n    return token;\n  }\n\n  getNext(): Token | undefined {\n    let token: Token | undefined;\n    SWITCH: switch (this.context.embeddedLangState) {\n      case EmbeddedLangState.NONE: {\n        token = this._readToken();\n        if (!token) {\n          break SWITCH;\n        }\n        if (\n          this.context.lastNoncommentToken?.type === \"text\" &&\n          this.context.lastNoncommentToken.text === \"PROC\"\n        ) {\n          if (token.type === \"text\" && token.text === \"PYTHON\") {\n            this.context.embeddedLangState = EmbeddedLangState.PROC_PYTHON_DEF;\n          } else if (token.type === \"text\" && token.text === \"R\") {\n            this.context.embeddedLangState = EmbeddedLangState.PROC_R_DEF;\n          } else if (token.type === \"text\" && token.text === \"LUA\") {\n            this.context.embeddedLangState = EmbeddedLangState.PROC_LUA_DEF;\n          }\n        }\n        break SWITCH;\n      }\n      case EmbeddedLangState.PROC_PYTHON_DEF: {\n        token = this._readToken();\n        if (!token) {\n          break SWITCH;\n        }\n        if (\n          token.type === \"text\" &&\n          [\"SUBMIT\", \"INTERACTIVE\", \"I\"].includes(token.text)\n        ) {\n          this.context.embeddedLangState =\n            EmbeddedLangState.PROC_PYTHON_SUBMIT_OR_INTERACTIVE;\n        }\n        break SWITCH;\n      }\n      case EmbeddedLangState.PROC_LUA_DEF: {\n        token = this._readToken();\n        if (!token) {\n          break SWITCH;\n        }\n        if (\n          token.type === \"text\" &&\n          [\"SUBMIT\", \"INTERACTIVE\", \"I\"].includes(token.text)\n        ) {\n          this.context.embeddedLangState =\n            EmbeddedLangState.PROC_LUA_SUBMIT_OR_INTERACTIVE;\n        }\n        break SWITCH;\n      }\n      case EmbeddedLangState.PROC_R_DEF: {\n        token = this._readToken();\n        if (!token) {\n          break SWITCH;\n        }\n        if (\n          token.type === \"text\" &&\n          [\"SUBMIT\", \"INTERACTIVE\", \"I\"].includes(token.text)\n        ) {\n          this.context.embeddedLangState =\n            EmbeddedLangState.PROC_R_SUBMIT_OR_INTERACTIVE;\n        }\n        break SWITCH;\n      }\n      case EmbeddedLangState.PROC_PYTHON_SUBMIT_OR_INTERACTIVE: {\n        token = this._readToken();\n        if (!token) {\n          break SWITCH;\n        }\n        if (token.type === \"sep\" && token.text === \";\") {\n          this.context.embeddedLangState = EmbeddedLangState.PROC_PYTHON_CODE;\n        }\n        break SWITCH;\n      }\n      case EmbeddedLangState.PROC_PYTHON_CODE: {\n        let multiLineStrState: false | '\"\"\"' | \"'''\" = false;\n        for (\n          let line = this.curr.line;\n          line < this.model.getLineCount();\n          line++\n        ) {\n          const lineContent = this._readEmbeddedCodeLine(this.curr, line);\n          let pos = 0;\n          let match;\n          do {\n            if (match) {\n              pos += match.index + match[0].length;\n            }\n            if (multiLineStrState) {\n              match = /'''|\"\"\"/.exec(lineContent.substring(pos));\n              if (match && match[0] === multiLineStrState) {\n                multiLineStrState = false;\n              }\n            } else {\n              const stringReg = /'''|\"\"\"|(\"[^\"]*?(\"|$))|('[^']*?('|$))/;\n              const commentReg = /#.*$/;\n              const secReg =\n                /(\\b((endsubmit|endinteractive)(\\s+|\\/\\*.*?\\*\\/)*;|(data|proc|%macro)\\b[^'\";]*;))/;\n              match = new RegExp(\n                `${stringReg.source}|${commentReg.source}|${secReg.source}`,\n                \"m\",\n              ).exec(lineContent.substring(pos));\n              if (match) {\n                const matchedText = match[0];\n                if (matchedText === \"'''\" || matchedText === '\"\"\"') {\n                  multiLineStrState = matchedText;\n                } else if (\n                  matchedText.startsWith(\"'\") ||\n                  matchedText.startsWith('\"') ||\n                  matchedText.startsWith(\"#\")\n                ) {\n                  // do nothing to skip string and single line comment\n                } else {\n                  token = this._foundEmbeddedCodeToken(this.curr, {\n                    line: line,\n                    column: pos + match.index,\n                  });\n                  break SWITCH;\n                }\n              }\n            }\n          } while (match);\n        }\n        token = this._foundEmbeddedCodeToken(this.curr);\n        break SWITCH;\n      }\n      case EmbeddedLangState.PROC_R_SUBMIT_OR_INTERACTIVE: {\n        token = this._readToken();\n        if (!token) {\n          break SWITCH;\n        }\n        if (token.type === \"sep\" && token.text === \";\") {\n          this.context.embeddedLangState = EmbeddedLangState.PROC_R_CODE;\n        }\n        break SWITCH;\n      }\n      case EmbeddedLangState.PROC_R_CODE: {\n        // R doesn't have multi-line string delimiters like Python's triple quotes\n        for (\n          let line = this.curr.line;\n          line < this.model.getLineCount();\n          line++\n        ) {\n          const lineContent = this._readEmbeddedCodeLine(this.curr, line);\n          let pos = 0;\n          let match;\n          do {\n            if (match) {\n              pos += match.index + match[0].length;\n            }\n            const stringReg = /(\"[^\"]*?(\"|$))|('[^']*?('|$))/;\n            const commentReg = /#.*$/;\n            const secReg =\n              /(\\b((endsubmit|endinteractive)(\\s+|\\/\\*.*?\\*\\/)*;|(data|proc|%macro)\\b[^'\";]*;))/;\n            match = new RegExp(\n              `${stringReg.source}|${commentReg.source}|${secReg.source}`,\n              \"m\",\n            ).exec(lineContent.substring(pos));\n            if (match) {\n              const matchedText = match[0];\n              // Skip strings and single line comments\n              if (!/^('|\"|#)/.test(matchedText)) {\n                token = this._foundEmbeddedCodeToken(this.curr, {\n                  line: line,\n                  column: pos + match.index,\n                });\n                break SWITCH;\n              }\n            }\n          } while (match);\n        }\n        token = this._foundEmbeddedCodeToken(this.curr);\n        break SWITCH;\n      }\n      case EmbeddedLangState.PROC_LUA_SUBMIT_OR_INTERACTIVE: {\n        token = this._readToken();\n        if (!token) {\n          break SWITCH;\n        }\n        if (token.type === \"sep\" && token.text === \";\") {\n          this.context.embeddedLangState = EmbeddedLangState.PROC_LUA_CODE;\n        }\n        break SWITCH;\n      }\n      case EmbeddedLangState.PROC_LUA_CODE: {\n        let multiLineStrState: false | \"[[\" | \"--[[\" | \"/*\" = false;\n        for (\n          let line = this.curr.line;\n          line < this.model.getLineCount();\n          line++\n        ) {\n          const lineContent = this._readEmbeddedCodeLine(this.curr, line);\n          let pos = 0;\n          let match;\n          do {\n            if (match) {\n              pos += match.index + match[0].length;\n            }\n            if (multiLineStrState) {\n              match = /\\]\\]|--\\]\\]|\\*\\//.exec(lineContent.substring(pos));\n              if (match) {\n                if (multiLineStrState === \"[[\" && match[0] === \"]]\") {\n                  multiLineStrState = false;\n                } else if (\n                  multiLineStrState === \"--[[\" &&\n                  (match[0] === \"--]]\" || match[0] === \"]]\")\n                ) {\n                  multiLineStrState = false;\n                } else if (multiLineStrState === \"/*\" && match[0] === \"*/\") {\n                  multiLineStrState = false;\n                }\n              }\n            } else {\n              const stringReg = /(\"[^\"]*(\"|$))|('[^']*('|$))|\\[\\[/;\n              const commentReg = /--[^[].*$|--\\[\\[|\\/\\*/;\n              const secReg =\n                /(\\b((endsubmit|endinteractive)(\\s+|\\/\\*.*?\\*\\/)*;|(data|proc|%macro)\\b[^'\";]*;))/;\n              const reg = new RegExp(\n                `${stringReg.source}|${commentReg.source}|${secReg.source}`,\n                \"m\",\n              );\n              match = reg.exec(lineContent.substring(pos));\n              if (match) {\n                const matchedText = match[0];\n                if (matchedText.startsWith(\"[[\")) {\n                  multiLineStrState = \"[[\";\n                } else if (matchedText.startsWith(\"--[[\")) {\n                  multiLineStrState = \"--[[\";\n                } else if (matchedText.startsWith(\"/*\")) {\n                  multiLineStrState = \"/*\";\n                } else if (\n                  matchedText.startsWith(\"'\") ||\n                  matchedText.startsWith('\"') ||\n                  matchedText.startsWith(\"--\")\n                ) {\n                  // do nothing to skip string or single line comment\n                } else {\n                  token = this._foundEmbeddedCodeToken(this.curr, {\n                    line: line,\n                    column: pos + match.index,\n                  });\n                  break SWITCH;\n                }\n              }\n            }\n          } while (match);\n        }\n        token = this._foundEmbeddedCodeToken(this.curr);\n        break SWITCH;\n      }\n    }\n    if (token) {\n      if (Lexer.isComment[token.type] === undefined) {\n        this.context.lastNoncommentToken = {\n          ...token,\n          start: { ...token.start },\n          end: { ...token.end },\n        };\n      }\n    }\n    return token;\n  }\n\n  private _readEmbeddedCodeLine(\n    startPos: TextPosition,\n    curLine: number,\n  ): string {\n    let lineContent = this.model.getLine(curLine);\n    if (curLine === startPos.line) {\n      lineContent =\n        \" \".repeat(startPos.column) + lineContent.slice(startPos.column);\n    }\n    return lineContent;\n  }\n\n  private _foundEmbeddedCodeToken(\n    startPos: TextPosition,\n    endPos?: TextPosition,\n  ): Token {\n    const start = { ...startPos };\n    let end;\n    if (endPos) {\n      end = { ...endPos };\n    } else {\n      const lastLine = this.model.getLineCount() - 1;\n      end = {\n        line: lastLine,\n        column: this.model.getColumnCount(lastLine),\n      };\n    }\n    const token: Token = {\n      type: \"embedded-code\",\n      start,\n      end,\n      text: this.model.getText({ start, end }).trim(),\n    };\n    this.curr = { ...token.end };\n    this.context.embeddedLangState = EmbeddedLangState.NONE;\n    return token;\n  }\n\n  /**\n   * @returns {object}\n   * type: 'sep', 'comment', 'keyword', 'date', 'time', 'dt', 'normaltext',\n   *       'numeric', 'string',\n   *       'macro-sec', 'macro-keyword', 'macro-text', 'macro-def',\n   * start: start position\n   * end: end position\n   *\n   */\n  private getNext_(): Omit<Token, \"text\"> | undefined {\n    let j = 0,\n      type: Token[\"type\"],\n      i,\n      text,\n      qm,\n      //word,\n      ch,\n      len;\n    const totalLines = this.model.getLineCount();\n    //loop1:\n    while (this.curr.line < totalLines) {\n      this.start.line = this.curr.line;\n      this.start.column = this.curr.column;\n      i = this.curr.column;\n      text = this.model.getLine(this.curr.line);\n      len = text.length;\n      switch (text[i]) {\n        case \"/\":\n          i++;\n          if (i < len && text[i] === \"*\") {\n            //this is comment\n            //find the end of this comment\n            i++;\n            for (;;) {\n              j = text.indexOf(\"*/\", i);\n              if (j >= 0) {\n                this.curr.column = j + 2;\n                break;\n              }\n              this.curr.line++;\n              if (this.curr.line >= totalLines) {\n                this.curr.line--;\n                this.curr.column = text.length;\n                break;\n              } else {\n                this.curr.column = 0;\n                i = 0;\n                text = this.model.getLine(this.curr.line);\n              }\n            }\n            //this.curr.column++;\n            return {\n              type: \"comment\",\n              start: this.start,\n              end: this.curr,\n            };\n          } else {\n            this.curr.column = i;\n            return {\n              type: \"sep\",\n              start: this.start,\n              end: this.curr,\n            }; //\n          }\n        case \"%\":\n          //macro,\n          i++;\n          if (i < len && /[A-Za-z_]/.test(text[i])) {\n            //the first char\n            i++;\n            while (i < len && /[\\w_]/.test(text[i])) {\n              i++;\n            }\n            this.curr.column = i;\n            //check macro section keyword\n            type = \"text\";\n            if (\n              this.isMacroKeyword(\n                text.substr(this.start.column + 1, i - this.start.column - 1),\n              )\n            ) {\n              type = \"macro-keyword\";\n            } else {\n              type = \"macro-ref\";\n            }\n            return {\n              type: type, //SasLexer.TOKEN_TYPES.MKEYWORD,\n              start: this.start,\n              end: this.curr,\n            };\n          } else if (i < len && text[i] === \"*\") {\n            //macro comment\n            for (;;) {\n              i++;\n              if (i >= len) {\n                this.curr.line++;\n                i = 0;\n                if (this.curr.line < totalLines) {\n                  text = this.model.getLine(this.curr.line);\n                  len = text.length;\n                } else {\n                  this.curr.line--;\n                  this.curr.column = text.length;\n                  break;\n                }\n              }\n              if (text[i] === \";\") {\n                this.curr.column = i + 1;\n                break;\n              }\n            }\n\n            return {\n              type: \"macro-comment\",\n              start: this.start,\n              end: this.curr,\n            };\n          } else if (\n            this.quoting > 0 &&\n            i < len &&\n            (text[i] === \"'\" ||\n              text[i] === '\"' ||\n              text[i] === \"(\" ||\n              text[i] === \")\" ||\n              text[i] === \"%\")\n          ) {\n            this.curr.column++;\n          }\n          this.curr.column++;\n          return {\n            type: \"sep\",\n            start: this.start,\n            end: this.curr,\n          };\n        case '\"':\n        case \"'\": // string constants\n          // string constant, date, time, datetime,\n          if (this.bquoting > 0) {\n            this.curr.column++;\n            break;\n          }\n          qm = text[i]; //qm = qutation mark\n          type = \"string\";\n          //over multi lines\n          //escape??\n          i++;\n          while (this.curr.line < totalLines) {\n            if (i < len) {\n              if (qm === text[i]) {\n                //found end mark\n                i++;\n                if (this.quoting > 0 && text[i - 2] === \"%\") {\n                  // for escape, e.g. %str('Jim%'s office');\n                } else if (qm === text[i]) {\n                  i++; // for escape, e.g. name='Tom''s'; name=\"Tom\"\"s\";\n                } else {\n                  //check if this is date, time, datatime\n                  if (i < len) {\n                    switch (text[i]) {\n                      case \"d\":\n                      case \"D\":\n                        type = \"date\";\n                        i++;\n                        if (i < len && (text[i] === \"t\" || text[i] === \"T\")) {\n                          type = \"dt\";\n                          i++;\n                        }\n                        break;\n                      case \"t\":\n                      case \"T\":\n                        type = \"time\";\n                        i++;\n                        break;\n                      case \"b\":\n                      case \"B\":\n                        type = \"bitmask\";\n                        i++;\n                        break; //bit mask\n                      case \"n\":\n                      case \"N\":\n                        type = \"namelit\";\n                        i++;\n                        break; //name literal\n                      case \"x\":\n                      case \"X\":\n                        type = \"hex\";\n                        i++;\n                        break; //hexadecimal notation\n                    }\n                  }\n                  this.curr.column = i;\n                  return {\n                    type: type,\n                    start: this.start,\n                    end: this.curr,\n                  };\n                }\n              } else {\n                i++;\n              }\n            } else {\n              this.curr.line++;\n              if (this.curr.line >= totalLines) {\n                this.curr.line--;\n                this.curr.column = i;\n                return {\n                  type: type,\n                  start: this.start,\n                  end: this.curr,\n                };\n              }\n              i = 0;\n              text = this.model.getLine(this.curr.line);\n              len = text.length;\n            }\n          }\n          break;\n        case \"\\t\": /*\n          this.curr.column++;\n          return {\n            type: SasLexer.TOKEN_TYPES.WORD,\n            start: this.start,\n            end: this.curr\n          };*/\n        // eslint-disable-next-line no-fallthrough\n        case \" \": //space\n        case \"\\u00a0\":\n          this.curr.column++;\n          break;\n        case \".\":\n          this.curr.column = this.readNum(i, 10);\n          if (this.curr.column === i) {\n            this.curr.column++;\n            type = \"sep\";\n          } else {\n            type = \"numeric\";\n          }\n          return {\n            type: type,\n            start: this.start,\n            end: this.curr,\n          };\n        //break;\n        case \"$\":\n          this.curr.column++;\n          type = \"sep\";\n          i++;\n          if (i < len) {\n            ch = text[i];\n            if (/[a-zA-Z_0-9]/.test(ch)) {\n              i++;\n              while (i < len && /[\\w_]/.test(text[i])) {\n                i++;\n              }\n              if (i < len && text[i] === \".\") {\n                //format or informat\n                this.curr.column = this.readNum(i, 10);\n                if (this.curr.column === i) {\n                  this.curr.column++;\n                }\n                type = \"format\";\n              }\n            }\n          }\n          return {\n            type: type,\n            start: this.start,\n            end: this.curr,\n          };\n        //break;\n        case \"*\": //comment\n          // this kind of comment must follow ';' , may exists spaces between them\n          // may be multi lines\n          if (\n            this.context.lastNoncommentToken !== null &&\n            this.getWord(this.context.lastNoncommentToken) !== \";\"\n          ) {\n            i++;\n            this.curr.column = i;\n            return {\n              type: \"sep\",\n              start: this.start,\n              end: this.curr,\n            };\n          }\n          //\n          //this is comment\n          while (/*(this.curr.line < totalLines) &&*/ text[i] !== \";\") {\n            i++;\n            if (i >= len) {\n              //continue to handle the next line\n              this.curr.line++;\n              if (this.curr.line >= totalLines) {\n                //FIXID S0965730:Commenting and then uncommenting code in code editor causes code editor to be unusable.\n                i--;\n                this.curr.line--;\n                break;\n              }\n              i = 0;\n              text = this.model.getLine(this.curr.line);\n              len = text.length;\n            }\n          }\n          this.curr.column = i + 1;\n          return {\n            type: \"comment\",\n            start: this.start,\n            end: this.curr,\n          };\n        //break;\n        case \"\\n\":\n        case \"\\r\":\n        case \"\\u2028\":\n        case \"\\u2029\":\n        case undefined:\n          this.curr.line++;\n          this.curr.column = 0;\n          i = 0;\n          //if (this.end()){\n          //    return null;\n          //}\n          //continue loop1;\n          break;\n        //return null;\n        default: {\n          type = \"text\";\n          //word = '';\n          ch = text[i];\n          if (wordReg.test(ch) && !/\\d/.test(ch)) {\n            //the first char\n            i++;\n            while (i < len && wordReg.test(text[i])) {\n              i++;\n            }\n            //format or informat\n            if (\n              this.quoting === -1 &&\n              this.bquoting === -1 &&\n              !this.ignoreFormat &&\n              text[i] === \".\"\n            ) {\n              this.curr.column = this.readNum(i, 10);\n              if (this.curr.column === i) {\n                this.curr.column++;\n              }\n              i++;\n              if (\n                this.curr.column > i || // has digital after .\n                (i < len && wordReg.test(text[i]) === false) || //format like abc.#\n                (this.curr.column === i && i === len)\n              ) {\n                //format is the end of line\n                return {\n                  type: \"format\",\n                  start: this.start,\n                  end: this.curr,\n                };\n              } else {\n                // aaaa.bbb is token\n                while (i < len && wordReg.test(text[i])) {\n                  i++;\n                }\n              }\n            }\n            this.curr.column = i;\n            //TODO: check if it's keyword\n            //word = text.substr(this.start.column, i - this.start.column);\n            //if (this.isSectionWord(word)){\n            //    type = SasLexer.TOKEN_TYPES.SKEYWORD;\n            //}else\n            //if (this.isKeyword(word)) {\n            //    type = SasLexer.TOKEN_TYPES.KEYWORD;\n            //}\n\n            //end\n            return {\n              type: type,\n              start: this.start,\n              end: this.curr,\n            }; //TODO: hex\n          } else if (\n            ch <= \"9\" &&\n            ch >= \"0\"\n            //|| ch === '+'\n            //|| ch === '-'\n          ) {\n            // numeric\n            i++;\n            type = \"numeric\";\n            //FIXID S1300279\n            //REFERENCE: http://support.sas.com/documentation/cdl/en/lrcon/65287/HTML/default/viewer.htm#p1wj0wt2ebe2a0n1lv4lem9hdc0v.htm\n            DATE_DDMMMYY_YYQ_REG.lastIndex = 0;\n            text = this.model.getLine(this.curr.line);\n            let matched = DATE_DDMMMYY_YYQ_REG.exec(\n              text.substring(this.curr.column),\n            );\n            if (matched) {\n              const q = matched[0][2];\n              if (q !== \"q\" && q !== \"Q\") {\n                //not check YYQ\n                const day = parseInt(matched[0].substr(0, 2));\n                if (\n                  day < 1 ||\n                  day > DAYS[matched[1].toUpperCase() as keyof typeof DAYS]\n                ) {\n                  matched = null;\n                }\n              }\n            }\n            if (ch === \"+\" || ch === \"-\") {\n              if (text[i] <= \"9\" && text[i] >= \"0\") {\n                //this.curr.column = i;\n                i = this.readNum(i);\n              } else {\n                //seperator\n                this.curr.column = i;\n                return {\n                  type: \"sep\",\n                  start: this.start,\n                  end: this.curr,\n                };\n              }\n            } else if (matched) {\n              i = matched[0].length + this.curr.column;\n              type = \"date\"; //same as normal SAS date\n            } else {\n              i = this.readNum(this.curr.column);\n            }\n            //i++;//test\n            this.curr.column = i;\n            return {\n              type: type,\n              start: this.start,\n              end: this.curr,\n            };\n          } else {\n            if (ch !== \";\" || (this.quoting < 1 && this.bquoting < 1)) {\n              type = \"sep\";\n              const matches = Lexer.longBiOprs.exec(\n                text.substring(this.curr.column),\n              );\n              if (matches) {\n                this.curr.column += matches[0].length;\n              } else {\n                this.curr.column++;\n              }\n            } else {\n              this.curr.column++;\n            }\n            return {\n              type,\n              start: this.start,\n              end: this.curr,\n            };\n          }\n        } //end default\n      } //end switch\n    } //end while(1)\n  }\n  end(): boolean {\n    if (this.curr.line < this.model.getLineCount()) {\n      return false;\n    }\n    return true;\n  }\n  reset(): void {\n    this.curr.line = 0;\n    this.curr.column = 0;\n  }\n  startFrom(line: number, col: number): void {\n    this.curr.line = line;\n    this.curr.column = col;\n    this.context.lastNoncommentToken = null;\n    this.context.embeddedLangState = EmbeddedLangState.NONE;\n    this.quoting = -1;\n    this.bquoting = -1;\n    this.ignoreFormat = false;\n  }\n  readNum(col: number, radix?: number): number {\n    const text = this.model.getLine(this.curr.line);\n    let end = col,\n      reg =\n        /^\\b0?[0-9a-fA-F]+[xX]\\b|^(?!0\\d)\\d+(\\.\\d{1,})(E([-+])?(\\d+)?)?|^\\d+\\.|^(?!0\\d)\\d+(\\.\\d{1,})?(E([-+])?(\\d+)?)?|^\\d+\\.?\\d*|\\.\\d+/gi;\n    // Pay attention to the duplication, it is necessary.\n    if (radix === 10) {\n      reg = /^\\d+\\.?\\d*|^\\.\\d+/;\n    }\n\n    //reg.lastIndex = col;\n    //matched = reg.exec(text);\n    const matched = reg.exec(text.substring(col));\n    if (matched) {\n      end = matched[0].length + col;\n    }\n    return end;\n  }\n  isMacroKeyword(word: string): boolean {\n    return macroKwMap?.[word.toUpperCase()] ? true : false;\n  }\n  getWord(token: Token | undefined): string {\n    //token must be related to a word\n    if (token) {\n      return this.model\n        .getLine(token.end.line)\n        .substr(token.start.column, token.end.column - token.start.column);\n    }\n    return \"\";\n  }\n  getText(token: Token): string {\n    return this.model.getText(token);\n  }\n}\n"
  },
  {
    "path": "server/src/sas/LexerEx.ts",
    "content": "// Copyright © 2022-2023, SAS Institute Inc., Cary, NC, USA.  All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n/* eslint-disable */\nimport { Lexer, Token } from \"./Lexer\";\nimport { Model } from \"./Model\";\nimport { SyntaxDataProvider } from \"./SyntaxDataProvider\";\nimport { Change } from \"./SyntaxProvider\";\nimport {\n  TextPosition,\n  arrayToMap,\n  isCustomRegionEndComment,\n  isCustomRegionStartComment,\n} from \"./utils\";\n\n/**\n * LexerEx to handle basic semantic related problems.\n */\n\nexport class FoldingBlock {\n  startLine: number;\n  startCol: number;\n  endLine: number;\n  endCol: number;\n  type: any;\n  name: string;\n  endFoldingLine: number;\n  endFoldingCol: number;\n  collapsed?: boolean;\n  explicitEnd: any;\n  explicitEndStmt: any;\n  specialBlks: any;\n  sectionIdx: number | undefined;\n  blockComment: boolean | undefined;\n  outerBlock?: FoldingBlock;\n  innerBlocks: FoldingBlock[];\n  constructor(...arg: any[]) {\n    if (arguments.length === 1) {\n      //copy constructor\n      this.startLine = arguments[0].startLine;\n      this.startCol = arguments[0].startCol;\n      this.endLine = arguments[0].endLine;\n      this.endCol = arguments[0].endCol;\n      this.type = arguments[0].type;\n      this.name = arguments[0].name;\n      this.endFoldingLine = arguments[0].endFoldingLine;\n      this.endFoldingCol = arguments[0].endFoldingCol;\n      this.outerBlock = arguments[0].outerBlock;\n      this.innerBlocks = [...arguments[0].innerBlocks];\n    } else if (arguments.length >= 4) {\n      this.startLine = arguments[0];\n      this.startCol = arguments[1];\n      this.endLine = arguments[2];\n      this.endCol = arguments[3];\n      this.type = arguments[4];\n      this.name = arguments[5] ? arguments[5] : \"\";\n      this.innerBlocks = [];\n      this.endFoldingLine = -1;\n      this.endFoldingCol = -1;\n    } else {\n      this.startLine = -1;\n      this.startCol = -1;\n      this.endLine = -1;\n      this.endCol = -1;\n      this.type = -1;\n      this.name = \"\";\n      this.endFoldingLine = -1;\n      this.endFoldingCol = -1;\n      this.innerBlocks = [];\n    }\n  }\n}\n\n//var StmtBlock = FoldingBlock;\nconst TknBlock = FoldingBlock;\n\nconst stmtAlias: Record<string, string> = {\n  OPTION: \"OPTIONS\",\n  GOPTION: \"GOPTIONS\",\n};\n\nconst regComment =\n    /(\\/\\*[\\s\\S]*?\\*\\/)|(^\\s*\\*[\\s\\S]*?;)|(;\\s*\\*[\\s\\S]*?;)|(%\\*[\\s\\S]*?;)/i,\n  regConst = /('|\")([\\s\\S]*?)(\\1)/i,\n  regMacro = /%macro\\b(?!.+%mend;)/i,\n  regCardsStart = /(^\\s*|;\\s*)(data)(;|[\\s]+[^;]*;)/i, //first ;\n  regCards = /(;[\\s]*)(cards|lines|datalines)(;|[\\s]+[^;]*;)/i, //TODO: for the code having label\n  regCards4 = /(;[\\s]*)(cards4|lines4|datalines4)(;|[\\s]+[^;]*;)/i,\n  regParmcardsStart =\n    /(^\\s*|;\\s*)(proc)(\\s*\\/\\*[\\s\\S]+\\*\\/\\s*|\\s+)(explode)(;|[\\s]+[^;]*;)/i,\n  regParmcards = /(;[\\s]*)(parmcards)(;|[\\s]+[^;]*;)/i,\n  regParmcards4 = /(;[\\s]*)(parmcards4)(;|[\\s]+[^;]*;)/i,\n  regCardsEnd = /([^;]*;)/im,\n  regCards4End = /(\\n^;;;;)/im,\n  cards = {\n    start: regCardsStart,\n    cards: regCards,\n    end: regCardsEnd,\n  },\n  cards4 = {\n    start: regCardsStart,\n    cards: regCards4,\n    end: regCards4End,\n  },\n  parmcards = {\n    start: regParmcardsStart,\n    cards: regParmcards,\n    end: regCardsEnd,\n  },\n  parmcards4 = {\n    start: regParmcardsStart,\n    cards: regParmcards4,\n    end: regCards4End,\n  };\n\nexport class LexerEx {\n  lexer: Lexer;\n  expr: Expression;\n  syntaxDb: SyntaxDataProvider;\n  SEC_TYPE: typeof LexerEx.SEC_TYPE;\n  PARSING_STATE: {\n    IN_GBL: number;\n    IN_MACRO: number;\n    IN_PROC: number;\n    IN_DATA: number;\n  };\n  isTokenWithScopeMarks: any;\n  CARDS_STATE: {\n    IN_NULL: number;\n    IN_CMD: number;\n    IN_DATA: number;\n    IN_DATA_WAITING: number;\n  };\n  cardsState: any;\n  startLineForCardsData: number;\n  stack: any;\n  curr: any;\n  lookAheadTokens: any[];\n  sectionCache: (FoldingBlock | null)[];\n  lastToken: any;\n  sections: FoldingBlock[] = [];\n  tailSections: FoldingBlock[] = [];\n  currSection?: FoldingBlock;\n  //stmts: any[] = [],\n  //currStmt,\n  //isStmtStart = true,\n  tokens: any[] = [];\n  tknBlks: any[] = [];\n  tailTknBlks: FoldingBlock[] = [];\n  changedLineCount = 0;\n  changedColCount = 0;\n\n  static readonly SEC_TYPE = {\n    DATA: 0,\n    PROC: 1,\n    MACRO: 2,\n    GBL: 3,\n    CUSTOM: 4,\n  };\n\n  constructor(private model: Model) {\n    this.lexer = new Lexer(model);\n    this.expr = new Expression(this);\n    this.syntaxDb = new SyntaxDataProvider();\n    this.SEC_TYPE = LexerEx.SEC_TYPE;\n    this.PARSING_STATE = {\n      IN_GBL: 0,\n      IN_MACRO: 1,\n      IN_PROC: 2,\n      IN_DATA: 3,\n    };\n    this.isTokenWithScopeMarks = {\n      comment: 1,\n      \"macro-comment\": 1,\n      string: 1,\n      date: 1,\n      time: 1,\n      dt: 1,\n      bitmask: 1,\n      namelit: 1,\n      hex: 1,\n    };\n    this.CARDS_STATE = {\n      IN_NULL: 0,\n      IN_CMD: 1,\n      IN_DATA: 2,\n      IN_DATA_WAITING: 3,\n    };\n    this.cardsState = this.CARDS_STATE.IN_NULL;\n    this.startLineForCardsData = 0;\n    this.stack = null;\n    this.curr = null;\n    this.lookAheadTokens = [];\n    this.sectionCache = [];\n    this.lastToken = null;\n    // support to cache collapsible block\n    this.sections = [];\n    this.currSection = new FoldingBlock(); //this is ref to FoldingBlock obj\n    //currStmt = new StmtBlock();\n  }\n\n  // The definition of return value is same to getBlockPos1_\n  // FIXID S1178400\n  private getBlockPos2_(\n    blocks: FoldingBlock[],\n    currentIdx: number,\n    line: number,\n    col: number,\n  ) {\n    let i = currentIdx,\n      block = blocks[i];\n    const pos = { line: line, column: col };\n\n    if (\n      !block ||\n      this._isBetween(pos, this._startPos(block), this._endPos(block), true)\n    ) {\n      return currentIdx;\n    }\n\n    if (this._isBefore(pos, this._startPos(block))) {\n      /*\n        |[] <-\n      */\n      do {\n        i--;\n        block = blocks[i];\n      } while (\n        block &&\n        !this._isBetween(pos, this._startPos(block), this._endPos(block), true)\n      ); // []|\n\n      return block ? i : -1;\n    } else {\n      /*\n        []| ->\n      */\n      do {\n        i++;\n        block = blocks[i];\n      } while (\n        block &&\n        !this._isBetween(pos, this._startPos(block), this._endPos(block), true)\n      ); // |[]\n      return block ? i : -1;\n    }\n  }\n\n  private _startPos(block: FoldingBlock) {\n    return { line: block.startLine, column: block.startCol };\n  }\n  private _endPos(block: FoldingBlock) {\n    return { line: block.endLine, column: block.endCol };\n  }\n  private _setStart(block: FoldingBlock, pos: TextPosition) {\n    block.startLine = pos.line;\n    block.startCol = pos.column;\n  }\n  private _setEnd(block: FoldingBlock, pos: TextPosition) {\n    block.endLine = pos.line;\n    block.endCol = pos.column;\n  }\n  private _sectionEndPos(block: FoldingBlock) {\n    return { line: block.endFoldingLine, column: block.endFoldingCol };\n  }\n  private _setSectionEnd(block: FoldingBlock, pos: TextPosition) {\n    block.endFoldingLine = pos.line;\n    block.endFoldingCol = pos.column;\n  }\n\n  private _getNextValidTknBlkIdx(startIndex: number) {\n    // section index\n    let i = startIndex,\n      section;\n    const max = this.sections.length - 1;\n\n    while (i <= max) {\n      section = this.sections[i];\n      if (section && section.specialBlks) {\n        return section.specialBlks[0];\n      }\n      i++;\n    }\n    return -1;\n  }\n\n  private _checkCards4(\n    regExp: { start: RegExp; cards: RegExp; end?: RegExp },\n    text: string,\n  ) {\n    let cards = null;\n\n    const start = regExp.start.exec(text); //find start statement\n    if (start) {\n      text = text.substring(start.index + start[0].length);\n      cards = regExp.cards.exec(text); // find cards statement\n    }\n\n    return cards;\n  }\n  private _saveRemoveDataLines(\n    regExp: { start: RegExp; cards: RegExp; end: RegExp },\n    text: string,\n  ) {\n    let done;\n\n    function _removeDataLines(text: string) {\n      let start, cards, end, len;\n      const parts = [];\n\n      done = true;\n      for (;;) {\n        start = regExp.start.exec(text); //find start statement\n        if (start) {\n          len = start.index + start[0].length;\n          parts.push(text.substring(0, len));\n          text = \";\" + text.substring(len); //NOTE: add ;\n          cards = regExp.cards.exec(text); // find cards statement\n          if (cards) {\n            parts.push(text.substring(0, cards.index + 1));\n            text = text.substring(cards.index + cards[0].length); //remove cards;\n            end = regExp.end.exec(text); //find end position of cards data\n            if (end) {\n              text = text.substring(end.index + end[0].length);\n\n              if (parts.length > 400) {\n                // jump out to release memory\n                done = false;\n                break;\n              }\n            } else {\n              parts.push(cards[0]);\n              //text = \"\";\n              break;\n            }\n          } else {\n            parts.push(text.substring(1)); // no cards, we should keep the remaining\n            break;\n          }\n        } else {\n          parts.push(text);\n          break;\n        }\n      }\n      return parts.join(\"\");\n    }\n\n    do {\n      text = _removeDataLines(text);\n    } while (!done);\n    return text;\n  }\n\n  private _remove(reg: RegExp, text: string, replacement?: string) {\n    const parts = [];\n    for (;;) {\n      const matched = reg.exec(text);\n      if (matched) {\n        parts.push(text.substring(0, matched.index));\n        if (replacement) {\n          parts.push(replacement);\n        }\n        text = text.substring(matched.index + matched[0].length);\n      } else {\n        parts.push(text);\n        break;\n      }\n    }\n    return parts.join(\"\");\n  }\n\n  private _removeComment(text: string) {\n    return this._remove(regComment, text);\n  }\n\n  private _removeConst(text: string) {\n    return this._remove(regConst, text, \"x\");\n  }\n\n  private _isBlank(text: string) {\n    return /^\\s*$/.test(text);\n  }\n\n  private _isTailDestroyed(change: Change, block: FoldingBlock) {\n    const oldRange = change.oldRange;\n    if (\n      !this._isBefore(oldRange.end, this._endPos(block)) ||\n      (block.type !== LexerEx.SEC_TYPE.GBL &&\n        block.explicitEnd &&\n        this._isBefore(block.explicitEndStmt.start, oldRange.end))\n    ) {\n      return true;\n    }\n    return false;\n  }\n  private _isCollapsedPartially(block: FoldingBlock) {\n    return block && block.collapsed && block.endLine !== block.endFoldingLine;\n  }\n  private _isBetween(\n    pos: TextPosition,\n    start: TextPosition,\n    end: TextPosition,\n    inclusive?: boolean,\n  ) {\n    return (\n      this._isBefore(start, pos, inclusive) &&\n      this._isBefore(pos, end, inclusive)\n    );\n  }\n\n  private _isBefore(\n    pos1: TextPosition,\n    pos2: TextPosition,\n    inclusive?: boolean,\n  ) {\n    if (pos1.line < pos2.line) {\n      return true;\n    } else if (pos1.line === pos2.line) {\n      if (inclusive) {\n        return pos1.column <= pos2.column;\n      } else {\n        return pos1.column < pos2.column;\n      }\n    } else {\n      return false;\n    }\n  }\n\n  private _getBlkIndex(\n    startSectionIdx: number,\n    containerName: string,\n    blocks: FoldingBlock[],\n  ) {\n    let i = startSectionIdx,\n      section: any = this.sections[i],\n      blockIdxs = null;\n    while (section && !section[containerName]) {\n      i++;\n      section = this.sections[i];\n    }\n    if (section) {\n      blockIdxs = section[containerName];\n    }\n    return blockIdxs ? blockIdxs[0] : blocks.length;\n  }\n  private _handleSpecialBlocks(\n    change: Change,\n    parseRange: any,\n    getBlkIndex: { (startSectionIdx: any): any; (arg0: any): any },\n    blocks: FoldingBlock[],\n  ) {\n    if (this.sections.length <= 0 || parseRange.removedBlocks.count <= 0) {\n      return;\n    }\n    //find start idx\n    const startIdx = getBlkIndex(parseRange.removedBlocks.start);\n    // find end idx\n    const endIdx = getBlkIndex(parseRange.removedBlocks.end + 1); // must be here\n\n    const unchangedBlocks = blocks;\n    blocks = unchangedBlocks.splice(0, startIdx);\n    // t1 t2 t3 [] t4 ...\n    // no tokens are destroyed if i > end\n    // t1 [t2 t3 t4] t5 ...\n    // t1 [t2 .....\n    // t1 [t2 ...) ti...\n    if (unchangedBlocks.length > 0 && endIdx > startIdx) {\n      // remove blocks\n      unchangedBlocks.splice(0, endIdx - startIdx);\n\n      // adjust token coordinate\n      this._adjustBlocksCoord(unchangedBlocks, change, parseRange);\n    }\n    return { blocks: blocks, unchangedBlocks: unchangedBlocks };\n  }\n  private _getTknBlkIndex(startSectionIdx: number) {\n    return this._getBlkIndex(startSectionIdx, \"specialBlks\", this.tknBlks);\n  }\n\n  private _adjustPosCoord(change: Change, pos: TextPosition) {\n    if (pos.line === change.oldRange.end.line) {\n      let index = -1,\n        col;\n      const addedCount = change.text.length,\n        len1 = change.oldRange.start.column,\n        len2 = pos.column - change.oldRange.end.column;\n\n      index = change.text.lastIndexOf(\"\\n\");\n      if (index >= 0) {\n        // multiple lines\n        col =\n          change.text[change.text.length - 1] === \"\\n\"\n            ? len2\n            : addedCount - index - 1 + len2;\n      } else {\n        col = len1 + addedCount + len2;\n      }\n\n      pos.column = col;\n    } //ignore pos.line <> change.oldRange.end.line\n\n    pos.line +=\n      change.newRange.end.line -\n      change.newRange.start.line -\n      change.oldRange.end.line +\n      change.oldRange.start.line;\n  }\n\n  private _adjustBlocksCoord(\n    blocks: FoldingBlock[],\n    change: Change,\n    parseRange: { endLine: number },\n  ) {\n    const len = blocks.length;\n    let i, pos;\n    this.changedLineCount =\n      change.newRange.end.line -\n      change.newRange.start.line -\n      change.oldRange.end.line +\n      change.oldRange.start.line;\n\n    for (i = 0; i < len; i++) {\n      if (\n        blocks[i].startLine > parseRange.endLine &&\n        this.changedLineCount === 0\n      ) {\n        break;\n      }\n      pos = this._startPos(blocks[i]);\n      this._adjustPosCoord(change, pos);\n      this._setStart(blocks[i], pos);\n\n      pos = this._endPos(blocks[i]);\n      this._adjustPosCoord(change, pos);\n      this._setEnd(blocks[i], pos);\n      // TODO: not very good, folding block end\n      const isSection = arrayToMap([\n        LexerEx.SEC_TYPE.DATA,\n        LexerEx.SEC_TYPE.PROC,\n        LexerEx.SEC_TYPE.MACRO,\n      ]);\n      if (isSection[blocks[i].type]) {\n        pos = this._sectionEndPos(blocks[i]);\n        this._adjustPosCoord(change, pos);\n        this._setSectionEnd(blocks[i], pos);\n      }\n    }\n  }\n\n  private _isHeadDestroyed(change: Change, block: FoldingBlock) {\n    const oldRange = change.oldRange,\n      blank = this._isBlank(change.text + change.removedText);\n    if (this._isBefore(oldRange.start, this._startPos(block)) && !blank) {\n      //PROC PROCEDURE DATA %MACRO\n      return true;\n    } else if (oldRange.start.line === block.startLine) {\n      const offset = oldRange.start.column - block.startCol;\n      if (change.text === \"=\") {\n        const text = this.model\n          .getLine(block.startLine)\n          .slice(block.startCol, oldRange.start.column);\n        return /(PROC|PROCEDURE|DATA)\\s*/i.test(this._removeComment(text));\n      }\n      if (offset === 0 && blank) {\n        return false;\n      } else if (offset <= block.name.length) {\n        return true;\n      }\n    }\n    return false;\n  }\n\n  private _cleanKeyword(keyword: string) {\n    if (/^(TITLE|FOOTNOTE|AXIS|LEGEND|PATTERN|SYMBOL)\\d{0,}$/.test(keyword)) {\n      const results = keyword.match(\n          /(^(TITLE|FOOTNOTE|AXIS|LEGEND|PATTERN|SYMBOL)|\\d{0,}$)/g,\n        )!,\n        nbr = parseInt(results[1], 10);\n      let isKeyword = false;\n\n      switch (results[0]) {\n        case \"TITLE\":\n        case \"FOOTNOTE\":\n          isKeyword = nbr < 11 && nbr > 0;\n          break;\n        case \"AXIS\":\n        case \"LEGEND\":\n          isKeyword = nbr < 100 && nbr > 0;\n          break;\n        case \"PATTERN\":\n        case \"SYMBOL\":\n          isKeyword = nbr < 256 && nbr > 0;\n          break;\n      }\n      if (isKeyword) {\n        keyword = results[0];\n      }\n    } else {\n      const alias = stmtAlias[keyword];\n      if (alias) {\n        keyword = alias;\n      }\n    }\n\n    return keyword;\n  }\n  private adjustFoldingEnd_(prevBlock: FoldingBlock, currBlock: FoldingBlock) {\n    if (\n      prevBlock.endLine > prevBlock.startLine &&\n      prevBlock.endLine === currBlock.startLine\n    ) {\n      prevBlock.endFoldingLine = prevBlock.endLine - 1;\n      prevBlock.endFoldingCol = this.model.getColumnCount(\n        prevBlock.endFoldingLine,\n      );\n    } else {\n      prevBlock.endFoldingLine = prevBlock.endLine;\n      prevBlock.endFoldingCol = prevBlock.endCol;\n    }\n  }\n  private _pushRootBlock(block: FoldingBlock) {\n    // adjust previous block\n    const stack: FoldingBlock[] = [block];\n    while (stack.length > 0) {\n      const curBlock: FoldingBlock = stack.pop()!;\n      for (let i = curBlock.innerBlocks.length - 1; i >= 0; i--) {\n        const innerBlock = curBlock.innerBlocks[i];\n        stack.push(innerBlock);\n      }\n    }\n    this._adjustBlockTreeFoldingEnd(block);\n    if (this.sections.length) {\n      this.adjustFoldingEnd_(this.sections[this.sections.length - 1], block);\n    }\n    // add\n    this.sections.push(block);\n    this.tokens = [];\n  }\n\n  private _adjustBlockTreeFoldingEnd(rootBlock: FoldingBlock): void {\n    for (let i = 1; i < rootBlock.innerBlocks.length; i++) {\n      this.adjustFoldingEnd_(\n        rootBlock.innerBlocks[i - 1],\n        rootBlock.innerBlocks[i],\n      );\n    }\n    for (let i = 0; i < rootBlock.innerBlocks.length; i++) {\n      this._adjustBlockTreeFoldingEnd(rootBlock.innerBlocks[i]);\n    }\n  }\n\n  //TODO: IMPROVE\n  private _changeCardsDataToken(token: {\n    type: string;\n    start: TextPosition;\n    end: TextPosition;\n  }) {\n    this.tokens.pop();\n    this.tokens.push(token);\n    return token;\n  }\n  private _clonePos(pos: TextPosition) {\n    return { line: pos.line, column: pos.column };\n  }\n  private startFoldingBlock_(type: any, pos: TextPosition, name: string) {\n    const newBlock = new FoldingBlock();\n    newBlock.startLine = pos.line;\n    newBlock.startCol = pos.column;\n    newBlock.type = type;\n    newBlock.name = name;\n    newBlock.specialBlks = null;\n    if (!this.currSection) {\n      this.currSection = newBlock;\n    } else {\n      this.currSection.innerBlocks.push(newBlock);\n      newBlock.outerBlock = this.currSection;\n      this.currSection = newBlock;\n    }\n  }\n\n  private endFoldingBlock_(\n    type: any,\n    pos: TextPosition,\n    explicitEnd?: boolean,\n    start?: { start: any },\n    name?: string,\n  ) {\n    if (!this.currSection) {\n      return;\n    }\n    if (pos.line >= this.currSection.startLine) {\n      this.currSection.endLine = pos.line;\n      this.currSection.endCol = pos.column;\n      this.trimBlock_(this.currSection);\n      // folding end\n      this.sectionCache[this.currSection.startLine] = null; // clear cached block, it must try to get the last\n      this.currSection.endFoldingLine = this.currSection.endLine;\n      this.currSection.endFoldingCol = this.currSection.endCol;\n      //currSection.type = type;\n      if (!this.currSection.outerBlock) {\n        this.currSection.explicitEnd = explicitEnd;\n        if (explicitEnd) {\n          this.currSection.explicitEndStmt = {};\n          this.currSection.explicitEndStmt.start = start?.start;\n          this.currSection.explicitEndStmt.name = name;\n        }\n        if (this.currSection.specialBlks) {\n          this.currSection.specialBlks = this.currSection.specialBlks;\n          this.currSection.specialBlks = null;\n        }\n        this._pushRootBlock(this.currSection);\n      }\n    }\n    this.currSection = this.currSection.outerBlock;\n  }\n  private hasFoldingBlock_(): boolean {\n    return !!this.currSection;\n  }\n  private getLastNormalFoldingBlockInLine_(\n    currentIdx: number,\n    line: number,\n    blocks: FoldingBlock[],\n  ): FoldingBlock | null {\n    let i = currentIdx,\n      block = blocks[i],\n      idx = currentIdx;\n    // find forward\n    while (block && (block.startLine === line || block.endLine === line)) {\n      if (block.type !== this.SEC_TYPE.GBL) {\n        idx = i;\n      } else idx = -1;\n      i++;\n      block = blocks[i];\n    }\n    // find backward\n    if (idx < 0) {\n      i = currentIdx - 1;\n      block = blocks[i];\n      while (block && (block.startLine === line || block.endLine === line)) {\n        if (block.type !== this.SEC_TYPE.GBL) {\n          idx = i;\n          break;\n        } else idx = -1;\n        i--;\n        block = blocks[i];\n      }\n    }\n    return blocks[idx] ?? null;\n    //return sections[idx]?sections[idx]:null; //we return null if no\n  }\n  private getFoldingBlock_(\n    blocks: FoldingBlock[],\n    line: number,\n    col?: number,\n    strict?: boolean,\n  ): FoldingBlock | null {\n    const idx = this.getBlockPos_(blocks, line, col);\n    let block: FoldingBlock | null = blocks[idx];\n    let found: boolean = false;\n    if (strict) {\n      found = !!block;\n    } else if (block && block.startLine <= line && block.endLine >= line) {\n      block = this.getLastNormalFoldingBlockInLine_(idx, line, blocks);\n      found = !!block;\n    } else if (col) {\n      // for last block, the input position is the last\n      block = blocks[blocks.length - 1];\n      if (\n        block &&\n        !this._isBefore({ line: line, column: col }, this._endPos(block)) &&\n        !block.explicitEnd\n      ) {\n        // must use !\n        found = true;\n      }\n    }\n    if (found) {\n      if (block!.innerBlocks.length > 0) {\n        return (\n          this.getFoldingBlock_(block!.innerBlocks, line, col, strict) ?? block\n        );\n      } else {\n        return block;\n      }\n    } else {\n      return null;\n    }\n  }\n  getFoldingBlock(\n    line: number,\n    col?: number,\n    strict?: boolean,\n    ignoreCustomBlock?: boolean,\n    ignoreGlobalBlock?: boolean,\n  ): FoldingBlock | null {\n    let block: FoldingBlock | null = null;\n    if (col === undefined) {\n      if (!this.sectionCache[line]) {\n        const section = this.getFoldingBlock_(this.sections, line);\n        if (section && line <= section.endFoldingLine!) {\n          this.sectionCache[line] = section;\n        } else {\n          this.sectionCache[line] = null;\n        }\n      }\n      block = this.sectionCache[line];\n    } else {\n      block = this.getFoldingBlock_(this.sections, line, col, strict);\n    }\n    while (\n      (ignoreCustomBlock && block?.type === this.SEC_TYPE.CUSTOM) ||\n      (ignoreGlobalBlock && block?.type === this.SEC_TYPE.GBL)\n    ) {\n      block = block.outerBlock ?? null;\n    }\n    return block;\n  }\n  private getBlockPos_(blocks: FoldingBlock[], line: number, col?: number) {\n    let idx = this.getBlockPos1_(blocks, line);\n    if (col || col === 0) {\n      idx = this.getBlockPos2_(blocks, idx, line, col); // multiple blocks are in one same lines\n    }\n    return idx;\n  }\n\n  //SUPPORT CODE FOLDING\n  //we define global statments as a kind of block, so the return will always be the first form.\n  //\n  private getBlockPos1_(blocks: FoldingBlock[], line: number) {\n    const len = blocks.length,\n      flags: any = {};\n    let m = Math.floor(len / 2),\n      l = 0,\n      r = len - 1;\n    if (len) {\n      for (;;) {\n        flags[m] = true;\n        if (line <= blocks[m].endLine) {\n          if (line >= blocks[m].startLine) {\n            return m;\n          } else {\n            r = m;\n            m = Math.floor((l + r) / 2); // to left\n          }\n        } else {\n          l = m;\n          m = Math.ceil((l + r) / 2); //to right\n        }\n        if (flags[m]) {\n          if (line >= blocks[m].endLine) {\n            return m + 1;\n          } else {\n            return m;\n          }\n        }\n      }\n    }\n    return 0;\n  }\n  private resetFoldingBlockCache_() {\n    this.sections = [];\n  }\n  private tryEndFoldingBlock_(\n    pos: TextPosition,\n    untilType?: number,\n    lastPos?: TextPosition,\n  ) {\n    if (!lastPos) {\n      lastPos = pos;\n    }\n    if (this.hasFoldingBlock_()) {\n      // handle text end\n      let secType = this.SEC_TYPE.PROC;\n      if (this.curr.state === this.PARSING_STATE.IN_DATA) {\n        secType = this.SEC_TYPE.DATA;\n      } else if (this.curr.state === this.PARSING_STATE.IN_MACRO) {\n        secType = this.SEC_TYPE.MACRO;\n      } else if (this.curr.state === this.PARSING_STATE.IN_GBL) {\n        secType = this.SEC_TYPE.GBL;\n      }\n      let stop = false;\n      while (this.currSection && !stop) {\n        if (untilType && this.currSection.type === untilType) {\n          stop = true;\n        }\n        this.endFoldingBlock_(secType, stop ? lastPos : pos);\n      }\n    }\n  }\n  private tryStop_(token: Token) {\n    let len = this.tailSections.length;\n    //this.tryToAddStmtBlock_(token);\n    this.tryToAddTknBlock_(token);\n    //this.tryToAddCardsBlock_(token);\n    if (\n      token &&\n      len &&\n      !this._isBefore(token.start, this._startPos(this.tailSections[0]))\n    ) {\n      if (this.hasFoldingBlock_()) {\n        if (this.currSection?.type === this.SEC_TYPE.MACRO) {\n          this.tailSections.splice(0, 1);\n          return;\n        }\n        this.tryEndFoldingBlock_(this.lastToken.end);\n      }\n      // adjust the associated information\n      let blkIdx = this.tknBlks.length;\n      let sectionIdx = this.sections.length;\n      let i,\n        j = 0;\n      this.tailSections.forEach((section) => {\n        if (section.specialBlks) {\n          i = 0;\n          len = section.specialBlks.length;\n          for (; i < len; i++) {\n            section.specialBlks[i] = blkIdx;\n            if (this.tailTknBlks[j]) {\n              this.tailTknBlks[j].sectionIdx = sectionIdx;\n            }\n            j++;\n            blkIdx++;\n          }\n        }\n        sectionIdx++;\n      });\n      if (this.sections.length && this.tailSections.length) {\n        this.adjustFoldingEnd_(\n          this.sections[this.sections.length - 1],\n          this.tailSections[0],\n        );\n      }\n      // merge\n      this.sections = this.sections.concat(this.tailSections);\n      this.tknBlks = this.tknBlks.concat(this.tailTknBlks);\n      this.lastToken = null;\n      throw {\n        changedLineCount: this.changedLineCount,\n        changedColCount: this.changedColCount,\n        type: \"skip-syntax-parsing\",\n        token: token,\n      };\n    }\n    if (token) this.tokens.push(token);\n  }\n  printBlocks() {\n    for (let i = 0; i < this.sections.length; i++) {\n      //sas.log.info(sections[i].startLine + '-'+sections[i].endLine);\n    }\n  }\n  private normalizeStart_(block: FoldingBlock) {\n    if (\n      block.startCol !== 0 &&\n      block.startCol === this.model.getColumnCount(block.startLine) &&\n      block.startLine + 1 < this.model.getLineCount()\n    ) {\n      block.startLine++;\n      block.startCol = 0;\n    }\n  }\n  private normalizeEnd_(block: FoldingBlock) {\n    if (\n      block.endCol <= 0 &&\n      block.endLine > 0 &&\n      this.model.getColumnCount(block.endCol) > 0\n    ) {\n      block.endLine--;\n      block.endCol = this.model.getColumnCount(block.endLine);\n    }\n  }\n  private normalizeBlock_(block: FoldingBlock) {\n    this.normalizeStart_(block);\n    this.normalizeEnd_(block);\n  }\n  private trimBlock_(block: FoldingBlock) {\n    const lastToken = this.getLastToken_(block);\n    if (lastToken) {\n      block.endLine = lastToken.end.line;\n      block.endCol = lastToken.end.column;\n    }\n    this.normalizeBlock_(block);\n    //if (block.type === this.SEC_TYPE.GBL && this.isBlank_(block)) {\n    //    block.blank = true;\n    //}\n  }\n  private getLastToken_(block: FoldingBlock) {\n    let i = this.tokens.length - 1;\n    // skip the tokens belonging to next block\n    // while(i >= 0 && this.getWord_(tokens[i]) !== ';') {\n    while (\n      this.tokens[i] &&\n      (this.tokens[i].start.line > block.endLine ||\n        (this.tokens[i].start.line === block.endLine &&\n          this.tokens[i].start.column >= block.endCol))\n    ) {\n      i--;\n    }\n    while (i >= 0 && /^\\s*$/g.test(this.lexer.getText(this.tokens[i]))) {\n      i--;\n    }\n    if (i >= 0) {\n      return this.tokens[i];\n    }\n    return null;\n  }\n  private getChange_(blocks: FoldingBlock[], origPos: TextPosition) {\n    const idx = this.getBlockPos_(blocks, origPos.line, origPos.column);\n    let blockIdx = idx,\n      block: any = {\n        startLine: 0,\n        startCol: 0,\n        endLine: 0,\n        endCol: 0,\n      };\n\n    if (blocks[idx]) {\n      block = blocks[idx];\n    } else if (blocks.length > 0 && idx >= blocks.length) {\n      blockIdx = blocks.length - 1;\n      block = blocks[blockIdx];\n      if (block.explicitEnd) {\n        block = {\n          startLine: block.endLine,\n          startCol: block.endCol,\n          endLine: this.model.getLineCount() - 1,\n          endCol: 0,\n        };\n        block.endCol = this.model.getColumnCount(block.endLine);\n\n        if (this._isBefore(this._endPos(block), this._startPos(block))) {\n          block.endLine = block.startLine;\n          block.endCol = block.startCol;\n        }\n\n        blockIdx++; //no block\n      }\n    }\n\n    return {\n      startLine: block.startLine,\n      startCol: block.startCol,\n      endLine: block.endLine,\n      endCol: block.endCol,\n      blockIdx: blockIdx,\n    };\n  }\n  private _getParseRange(blocks: FoldingBlock[], change: Change) {\n    const oldRange = change.oldRange,\n      changeStart: any = this.getChange_(blocks, oldRange.start),\n      removedBlocks: any = {};\n    let range = changeStart,\n      changeEnd;\n    if (\n      oldRange.start.line === oldRange.end.line &&\n      oldRange.start.column === oldRange.end.column\n    ) {\n      //no removed\n      changeStart.removedBlocks = {\n        start: changeStart.blockIdx,\n        end: changeStart.blockIdx,\n      };\n      //return changeStart;\n    } else {\n      changeEnd = this.getChange_(blocks, oldRange.end); //TODO: May improve some situations\n      if (\n        changeEnd.startLine > changeStart.startLine &&\n        changeEnd.endLine < changeStart.endLine\n      ) {\n        // end is in start\n        changeStart.removedBlocks = {\n          start: changeStart.blockIdx,\n          end: changeStart.blockIdx,\n        };\n        //return changeStart;\n      } else {\n        let startLine, startCol, endLine, endCol;\n\n        if (changeEnd.startLine > changeStart.startLine) {\n          //gbl-head -> in-block\n          startLine = changeStart.startLine;\n          startCol = changeStart.startCol;\n        } else if (changeStart.startLine === changeEnd.startLine) {\n          //exist, two blocks is in one same line,\n          startLine = changeStart.startLine;\n          startCol =\n            changeStart.startCol > changeEnd.startCol\n              ? changeEnd.startCol\n              : changeStart.startCol; // the latter does not exist\n        } else {\n          //exist\n          startLine = changeEnd.startLine;\n          startCol = changeEnd.startCol;\n        }\n\n        if (changeStart.endLine > changeEnd.endLine) {\n          //not exist\n          endLine = changeStart.endLine;\n          endCol = changeStart.endCol;\n          //assert('error');\n        } else if (changeStart.endLine === changeEnd.endLine) {\n          //exist, two blocks is in one same line\n          endLine = changeStart.endLine;\n          endCol =\n            changeStart.endCol > changeEnd.endCol\n              ? changeStart.endCol\n              : changeEnd.endCol; //the former does not exist\n        } else {\n          //exist\n          endLine = changeEnd.endLine;\n          endCol = changeEnd.endCol;\n        }\n\n        removedBlocks.start = changeStart.blockIdx;\n        removedBlocks.end = changeEnd.blockIdx;\n\n        range = {\n          startLine: startLine,\n          startCol: startCol,\n          endLine: endLine,\n          endCol: endCol,\n          removedBlocks: removedBlocks,\n        };\n      }\n    }\n    return range;\n  }\n  //API\n  getParseRange(change: Change) {\n    return this.getParseRangeBySections_(change);\n  }\n  private getParseRangeBySections_(change: Change) {\n    const blocks = this.sections;\n    const range = this._getParseRange(blocks, change);\n    // include the previous part\n    let currBlock = blocks[range.removedBlocks.start - 1],\n      prevBlock = null;\n\n    if (currBlock) {\n      range.startLine = currBlock.endLine;\n      range.startCol = currBlock.endCol;\n    } else {\n      //if (currBlock && _isBefore(change.oldRange.start, _startPos(range))) {\n      range.startLine = 0; //change.oldRange.start.line;\n      range.startCol = 0; //change.oldRange.start.column;\n    }\n\n    currBlock = blocks[range.removedBlocks.start];\n\n    if (currBlock) {\n      prevBlock = blocks[range.removedBlocks.start - 1];\n      if (\n        prevBlock &&\n        ((this._isHeadDestroyed(change, currBlock) && !prevBlock.explicitEnd) ||\n          this._isCollapsedPartially(prevBlock))\n      ) {\n        //check whether re-parse the previous block\n        range.startLine = prevBlock.startLine;\n        range.startCol = prevBlock.startCol;\n        range.removedBlocks.start--;\n      } else if (\n        !this._isBefore(change.oldRange.start, this._endPos(currBlock)) &&\n        currBlock.explicitEnd\n      ) {\n        // use '!'\n        range.removedBlocks.start++;\n        range.startLine = currBlock.endLine;\n        range.startCol = currBlock.endCol;\n      }\n    }\n    // const, comment\n    const sectionToChange = this._checkSpecialChange(change, range);\n    if (sectionToChange >= 0) {\n      if (sectionToChange === this.sections.length) {\n        range.endLine = this.model.getLineCount() - 1;\n        range.endCol = this.model.getColumnCount(range.endLine);\n        range.removedBlocks.end = blocks.length - 1;\n      } else if (sectionToChange > range.removedBlocks.end) {\n        range.endLine = this.sections[sectionToChange].endLine;\n        range.endCol = this.sections[sectionToChange].endCol;\n        range.removedBlocks.end = sectionToChange;\n      }\n    } else {\n      let nextBlockIdx = range.removedBlocks.end,\n        nextBlock = null;\n      currBlock = blocks[nextBlockIdx];\n      if (currBlock && this._isTailDestroyed(change, currBlock)) {\n        do {\n          nextBlockIdx++;\n          nextBlock = blocks[nextBlockIdx];\n        } while (nextBlock && nextBlock.type === this.SEC_TYPE.GBL); //we should parse the subsequent global block\n\n        if (nextBlock) {\n          nextBlockIdx--;\n          if (nextBlockIdx === range.removedBlocks.end) {\n            // neighbor\n            nextBlockIdx++;\n          }\n          nextBlock = blocks[nextBlockIdx];\n          range.endLine = nextBlock.endLine;\n          range.endCol = nextBlock.endCol;\n        } else {\n          // all are global blocks after the current\n          range.endLine = this.model.getLineCount() - 1;\n          range.endCol = this.model.getColumnCount(range.endLine);\n        }\n        range.removedBlocks.end = nextBlockIdx;\n      }\n    }\n    if (range.removedBlocks.end >= blocks.length) {\n      range.removedBlocks.end = blocks.length - 1;\n    }\n    if (\n      range.removedBlocks.start >= 0 &&\n      range.removedBlocks.start < blocks.length\n    ) {\n      range.removedBlocks.count =\n        range.removedBlocks.end - range.removedBlocks.start + 1;\n    } else {\n      range.removedBlocks.count = 0;\n    }\n\n    // collect blocks\n    if (blocks.length > 0 && range.removedBlocks.count > 0) {\n      range.removedBlocks.blocks = [];\n      for (\n        let i = range.removedBlocks.start;\n        i >= 0 && i <= range.removedBlocks.end;\n        i++\n      ) {\n        range.removedBlocks.blocks.push(blocks[i]);\n      }\n    }\n\n    return range;\n  }\n  private trimRange_(range: { endLine: number; endCol: number }) {\n    if (range.endLine > this.model.getLineCount()) {\n      range.endLine = this.model.getLineCount() - 1;\n      if (range.endLine < 0) {\n        range.endCol = 0;\n      }\n    }\n    while (range.endCol <= 0) {\n      range.endLine--;\n      if (range.endLine < 0) {\n        range.endLine = 0;\n        range.endCol = 0;\n        break;\n      } else {\n        range.endCol = this.model.getColumnCount(range.endLine); //has problem when deleting\n      }\n    }\n  }\n\n  private start_(change: Change) {\n    const parseRange = this.getParseRangeBySections_(change);\n\n    //this.trimRange_(parseRange);\n    this._handleTokens(change, parseRange);\n    //this._handleStmts(change, parseRange);\n    this._handleSections(change, parseRange); // this must be called at last\n\n    this.stack = [{ parse: this.readProg_, state: this.PARSING_STATE.IN_GBL }];\n    this.curr = null;\n    this.currSection = undefined;\n    this.sectionCache.splice(\n      parseRange.startLine,\n      this.sectionCache.length - parseRange.startLine,\n    );\n    this.lexer.startFrom(parseRange.startLine, parseRange.startCol);\n    return parseRange;\n  }\n\n  private _handleSections(change: Change, parseRange: any) {\n    // keep the blocks not changed\n    this.tailSections = this.sections;\n    this.sections = this.tailSections.splice(0, parseRange.removedBlocks.start);\n    if (parseRange.removedBlocks !== undefined) {\n      this.tailSections.splice(0, parseRange.removedBlocks.count);\n    }\n    this.changedColCount = 0;\n    if (this.tailSections.length) {\n      const oldCol = this.tailSections[0].startCol;\n      this._adjustBlocksCoord(this.tailSections, change, parseRange);\n      this.changedColCount = this.tailSections[0].startCol - oldCol;\n    }\n  }\n  // _handleStmts(\n  //   change: any,\n  //   parseRange: {\n  //     startLine: number;\n  //     startCol: number;\n  //     endLine: number;\n  //     endCol: number;\n  //     blockIdx: number;\n  //   }\n  // ) {\n  //   var parseRange = this._getParseRange(stmts, change);\n  //   //sas.log.info(\"changed statement:\" + parseRange);\n  // }\n  _docEndPos() {\n    const line = this.model.getLineCount() - 1;\n    return { line: line, column: this.model.getColumnCount(line) };\n  }\n  private _getParseText(change: Change & { type: string }, parseRange: any) {\n    const startSection = this.sections[parseRange.removedBlocks.start],\n      endSection = this.sections[parseRange.removedBlocks.end],\n      tmpBlks = [];\n    let start, end, tmpBlk, nextSection;\n    if (!startSection) {\n      return change.text;\n    }\n\n    const prevSection = this.sections[parseRange.removedBlocks.start - 1];\n    if (prevSection) {\n      start = this._endPos(prevSection);\n    } else {\n      start = { line: 0, column: 0 };\n    }\n\n    if (change.type === \"textChanged\") {\n      nextSection = this.sections[parseRange.removedBlocks.end + 1];\n      if (\n        nextSection /*&& _isBefore(change.newRange.end, _startPos(nextSection))*/\n      ) {\n        tmpBlk = new FoldingBlock(nextSection);\n        tmpBlks.push(tmpBlk);\n        this._adjustBlocksCoord(tmpBlks, change, parseRange);\n        end = this._startPos(tmpBlk);\n      } else {\n        end = this._docEndPos();\n      }\n      return this.model.getText({ start: start, end: end });\n    } else {\n      const part1 = this.model.getText({\n        start: start,\n        end: change.oldRange.start,\n      });\n\n      end = endSection ? this._endPos(endSection) : this._docEndPos();\n      const part2 = this.model.getText({\n        start: change.oldRange.end,\n        end: end,\n      });\n\n      return part1 + change.text + part2;\n    }\n  }\n  private _getNextComment(startIndex: number) {\n    // section index\n    let i = this._getNextValidTknBlkIdx(startIndex);\n    while (this.tknBlks[i] && this.tknBlks[i].blockComment !== true) {\n      i++;\n    }\n    return this.tknBlks[i];\n  }\n  private _getNextCards4(startIndex: number) {\n    let i = this._getNextValidTknBlkIdx(startIndex);\n    while (\n      this.tknBlks[i] &&\n      !Lexer.isCards4[this.tknBlks[i].name] &&\n      !Lexer.isParmcards4[this.tknBlks[i].name]\n    ) {\n      i++;\n    }\n    return this.tknBlks[i];\n  }\n  private _checkSpecialChange(\n    change: any,\n    parseRange: {\n      startLine?: number;\n      startCol?: number;\n      endLine?: number;\n      endCol?: number;\n      blockIdx?: number;\n      removedBlocks?: any;\n    },\n  ) {\n    const regQuotesStart = /['\"]/gim,\n      regBlockCommentStart = /\\/\\*/gim;\n    let text = this._getParseText(change, parseRange),\n      nextBlockComment = null,\n      nextBlockCards4 = null,\n      sectionToChange = -1;\n    //sas.log.info(\"changed special tokens:\" + tknParseRange);\n    // text is of the blocks impacted directly\n    // clean up text\n    text = this._removeComment(text); //remove normal comments\n    text = this._removeConst(text);\n    // NOTE:\n    // (1) cards contain comment-like data, and matched token is outside\n    // (2) cards contain const-like data, and matched token is ourside\n    text = this._saveRemoveDataLines(cards, text);\n    text = this._saveRemoveDataLines(cards4, text);\n    text = this._saveRemoveDataLines(parmcards, text);\n    text = this._saveRemoveDataLines(parmcards4, text);\n    text = text.replace(/\\n/g, \" \");\n    //text = text.replace(regConst, \"x\");\n\n    // check comment\n    change = regBlockCommentStart.test(text);\n    if (change) {\n      //if (tknParseRange.removedBlocks) { // the block comment will stop to the next block comment if the current is not end normally\n      nextBlockComment = this._getNextComment(parseRange.removedBlocks.end + 1);\n      if (nextBlockComment) {\n        text += \" /**/\"; //with a space before /**/\n        sectionToChange = nextBlockComment.sectionIdx;\n        text = this._removeComment(text);\n        regBlockCommentStart.lastIndex = 0;\n        change = regBlockCommentStart.test(text);\n      }\n      //}\n      if (change) {\n        return this.sections.length; // always reparse all\n      }\n    }\n\n    // check const\n    change = regQuotesStart.test(text);\n    if (change) {\n      return this.sections.length;\n    }\n\n    // check macro\n    change = regMacro.test(text);\n    if (change) {\n      return this.sections.length;\n    }\n\n    if (text.lastIndexOf(\"*\") > 0) {\n      // S1454652: *comment need following ';'\n      sectionToChange = parseRange.removedBlocks.end + 1;\n      if (sectionToChange > this.sections.length) {\n        return this.sections.length;\n      }\n    }\n    if (sectionToChange > 0) {\n      return sectionToChange;\n    }\n\n    // check cards\n    change = this._checkCards4(cards4, text);\n    if (change) {\n      if (parseRange.removedBlocks) {\n        nextBlockCards4 = this._getNextCards4(parseRange.removedBlocks.end + 1);\n        if (nextBlockCards4) {\n          text += \" \\n;;;;\\n\";\n          sectionToChange = nextBlockCards4.sectionIdx;\n          text = this._saveRemoveDataLines(cards4, text);\n          change = this._checkCards4(cards4, text);\n        }\n      }\n      if (change) {\n        return this.sections.length;\n      }\n    }\n    // check parmcards\n    change = this._checkCards4(parmcards4, text);\n    if (change) {\n      if (parseRange.removedBlocks) {\n        nextBlockCards4 = this._getNextCards4(parseRange.removedBlocks.end + 1);\n        if (nextBlockCards4) {\n          text += \" \\n;;;;\\n\";\n          sectionToChange = nextBlockCards4.sectionIdx;\n          text = this._saveRemoveDataLines(parmcards4, text);\n          change = this._checkCards4(parmcards4, text);\n        }\n      }\n      if (change) {\n        return this.sections.length;\n      }\n    }\n    if (sectionToChange > 0) {\n      return sectionToChange;\n    }\n\n    return -1;\n  }\n  private _handleTokens(change: Change, parseRange: any) {\n    const ret = this._handleSpecialBlocks(\n      change,\n      parseRange,\n      this._getTknBlkIndex,\n      this.tknBlks,\n    );\n    if (ret) {\n      this.tknBlks = ret.blocks;\n      this.tailTknBlks = ret.unchangedBlocks;\n    }\n  }\n  //adjustTokenType_(token){//FIX S0891785 : Not all procs color code\n  setKeyword_(\n    token: {\n      type?: any;\n      text?: any;\n      start?: TextPosition | undefined;\n      end?: TextPosition | undefined;\n      notCheckKeyword?: any;\n    },\n    isKeyword: boolean,\n  ) {\n    //assert(token, \"Token must be valid.\");\n    //assert(SasLexer.isWord[token.type], \"Token must be word type.\");\n    if (token.type === \"text\") {\n      if (isKeyword) {\n        token.type = Lexer.TOKEN_TYPES.KEYWORD;\n        token.notCheckKeyword = true;\n      }\n    }\n    return token;\n  }\n  private addTknBlock_(block: FoldingBlock) {\n    if (!this.currSection) {\n      // unexpected\n      return;\n    }\n    if (!this.currSection.specialBlks) {\n      //const with quotes, comment, cards data\n      this.currSection.specialBlks = [];\n    }\n    this.currSection.specialBlks.push(this.tknBlks.length);\n\n    this.tknBlks.push(block);\n  }\n  private tryToAddTknBlock_(token: Token) {\n    if (token && this.isTokenWithScopeMarks[token.type]) {\n      const block = new TknBlock(\n        token.start.line,\n        token.start.column,\n        token.end.line,\n        token.end.column,\n        token.type,\n        this.lexer.getText(token),\n      );\n      block.sectionIdx = this.sections.length; //TODO: Improve this\n      block.blockComment =\n        this.model.getLine(token.start.line)[token.start.column] === \"/\"\n          ? true\n          : false;\n\n      this.addTknBlock_(block);\n    }\n  }\n  private tryToAddCardsBlock_(token: Token) {\n    if (token && token.type === Lexer.TOKEN_TYPES.CARDSDATA) {\n      const block = new TknBlock(\n        token.start.line,\n        token.start.column,\n        token.end.line,\n        token.end.column,\n        token.type,\n        this.curr.name,\n      );\n      block.sectionIdx = this.sections.length; //TODO: Improve this\n\n      this.addTknBlock_(block);\n    }\n  }\n  /*this.tryToAddStmtBlock_ = function(token) {\n        if (!token) {\n            if (!isStmtStart) {\n                this.endStmtBlock_();\n            }\n            return;\n        }\n        if (isStmtStart) {\n            currStmt.startLine = token.start.line;\n            currStmt.startCol = token.start.column;\n            isStmtStart = false;\n        }\n        //TODO: Not always do this\n        currStmt.endLine = token.end.line;\n        currStmt.endCol = token.end.column;\n        if (this.isTokenWithScopeMarks[token.type]) {\n            if (!currStmt.specialBlks) {\n                currStmt.specialBlks = [];\n            }\n            currStmt.specialBlks.push(token);\n        }\n\n        if (token.text ===\";\") {\n            this.endStmtBlock_();\n        }\n    };\n    this.endStmtBlock_ = function() {\n        isStmtStart = true;\n        stmts.push(new StmtBlock(currStmt));\n        currStmt.endLine = -1;\n    };*/\n\n  /*\n   * public method definitions\n   */\n  start(change: Change) {\n    this.lookAheadTokens = [];\n    return this.start_(change);\n    //this.stack = [{parse:this.readProg_, state:this.PARSING_STATE.IN_GBL}];\n    //this.curr = null;\n  }\n  end() {\n    return this.lexer.end() && this.lookAheadTokens.length === 0;\n  }\n  reset() {\n    this.resetFoldingBlockCache_();\n    return this.lexer.reset();\n  }\n  getNext() {\n    this.curr = this.stack[this.stack.length - 1];\n    const token = this.curr.parse.apply(this);\n    this.curr = this.stack[this.stack.length - 1];\n    this.tryToAddCardsBlock_(token);\n    if (!token || this.end()) {\n      const line = this.model.getLineCount() - 1,\n        col = line >= 0 ? this.model.getColumnCount(line) : 0;\n      this.tryEndFoldingBlock_({ line: line, column: col });\n    }\n    this.lastToken = token;\n    return token;\n  }\n  /*\n   * private method definitions\n   */\n  private getNext_() {\n    let ret = null;\n    if (this.lookAheadTokens.length > 0) {\n      ret = this.lookAheadTokens.shift();\n    } else {\n      const token = this.lexer.getNext();\n      ret = token\n        ? {\n            type: token.type,\n            text: token.text,\n            start: Object.assign({}, token.start),\n            end: Object.assign({}, token.end),\n          }\n        : token;\n    }\n    this.tryStop_(ret);\n    return ret;\n  }\n  private cacheToken_(token?: Token) {\n    let cache: Token | undefined;\n    if (token) {\n      cache = {\n        type: token.type,\n        text: token.text,\n        start: Object.assign({}, token.start),\n        end: Object.assign({}, token.end),\n      };\n      this.lookAheadTokens.push(cache);\n    }\n    return cache;\n  }\n  prefetch0_(pos: number) {\n    // 1, 2, 3,...  not ignore comments\n    let next = null;\n    if (this.lookAheadTokens.length >= pos) {\n      next = this.lookAheadTokens[pos - 1];\n    } else {\n      const len = pos - this.lookAheadTokens.length;\n      for (let i = 0; i < len; i++) {\n        next = this.cacheToken_(this.lexer.getNext());\n      }\n    }\n    return next;\n  }\n  private prefetch_(it: { pos: any }) {\n    // it: iterator, it.pos starts from 1, ignore comments\n    let next = null;\n\n    do {\n      next = this.prefetch0_(it.pos);\n      it.pos++;\n    } while (next && Lexer.isComment[next.type]);\n\n    return next;\n  }\n  private isNextTokenColon_() {\n    const nextToken = this.prefetch0_(1);\n    if (nextToken) {\n      if (nextToken.text === \":\") {\n        return true;\n      }\n    }\n    return false;\n  }\n  private getWord_(token: Token | undefined) {\n    //always uppercase\n    return this.lexer.getWord(token).toUpperCase();\n  }\n  private isLabel_(token?: Token) {\n    //ATTENTION: The precondition must be that token is a word, for performance\n    const next = this.prefetch_({ pos: 1 });\n    return /*SasLexer.isWord[token.type] && */ next && next.text === \":\";\n  }\n  private isAssignment_(token: Token) {\n    if (\n      token.text === \"PROC\" ||\n      token.text === \"PROCEDURE\" ||\n      token.text === \"DATA\" ||\n      token.text === \"RUN\" ||\n      token.text === \"QUIT\"\n    ) {\n      const next = this.prefetch_({ pos: 1 });\n      return next && next.text === \"=\";\n    }\n    return false;\n  }\n\n  private isCustomBlockStart_(token: Token): boolean {\n    if (token && isCustomRegionStartComment(token.text)) {\n      return true;\n    }\n    return false;\n  }\n\n  private isCustomBlockEnd_(token: Token): boolean {\n    if (token && isCustomRegionEndComment(token.text)) {\n      return true;\n    }\n    return false;\n  }\n\n  private readProg_() {\n    let word = \"\",\n      gbl = true,\n      isLabel,\n      isAssignment;\n    const token = this.getNext_();\n\n    if (!token) return null;\n    if (Lexer.isWord[token.type]) {\n      isLabel = this.isLabel_(token);\n      isAssignment = this.isAssignment_(token);\n      if (!isLabel && !isAssignment) {\n        word = token.text;\n        switch (word) {\n          case \"PROC\":\n          case \"PROCEDURE\": {\n            this.startFoldingBlock_(this.SEC_TYPE.PROC, token.start, word);\n            token.type = Lexer.TOKEN_TYPES.SKEYWORD;\n            const procName = this.handleProcName_();\n            this.stack.push({\n              parse: this.readProc_,\n              state: this.PARSING_STATE.IN_PROC,\n              name: procName,\n            });\n            this.stack.push({\n              parse: this.readProcDef_,\n              state: this.PARSING_STATE.IN_PROC,\n              name: procName,\n            });\n            gbl = false;\n            break;\n          }\n          case \"%MACRO\":\n            this.startFoldingBlock_(this.SEC_TYPE.MACRO, token.start, word);\n            token.type = Lexer.TOKEN_TYPES.MSKEYWORD;\n            this.stack.push({\n              parse: this.readMacro_,\n              state: this.PARSING_STATE.IN_MACRO,\n            });\n            this.stack.push({\n              parse: this.readMacroDef_,\n              state: this.PARSING_STATE.IN_MACRO,\n            });\n            gbl = false;\n            break;\n          case \"DATA\":\n            this.startFoldingBlock_(this.SEC_TYPE.DATA, token.start, word);\n            token.type = Lexer.TOKEN_TYPES.SKEYWORD;\n            this.stack.push({\n              parse: this.readData_,\n              state: this.PARSING_STATE.IN_DATA,\n            });\n            this.stack.push({\n              parse: this.readDataDef_,\n              state: this.PARSING_STATE.IN_DATA,\n            });\n            gbl = false;\n            break;\n        }\n      }\n    }\n\n    if (gbl) {\n      if (Lexer.isComment[token.type]) {\n        if (this.isCustomBlockStart_(token)) {\n          this.startFoldingBlock_(\n            this.SEC_TYPE.CUSTOM,\n            token.start,\n            token.text,\n          );\n        } else if (this.isCustomBlockEnd_(token)) {\n          this.tryEndFoldingBlock_(token.end, this.SEC_TYPE.CUSTOM);\n        }\n      } else if (!this.hasFoldingBlock_()) {\n        this.startFoldingBlock_(this.SEC_TYPE.GBL, token.start, word);\n      }\n      this.stack.push({\n        parse: this.readGbl_,\n        state: this.PARSING_STATE.IN_GBL,\n      });\n      if (isLabel) {\n        this.stack.push({\n          parse: this.readLabel_,\n          state: this.PARSING_STATE.IN_GBL,\n        });\n      } else if (token.type === Lexer.TOKEN_TYPES.MREF) {\n        this.handleMref_(this.PARSING_STATE.IN_GBL);\n      } else if (!Lexer.isComment[token.type] && token.text !== \";\") {\n        // not the start of a statement\n        const validName = this._cleanKeyword(word);\n        const state: any = {\n          parse: this.readGblStmt_,\n          state: this.PARSING_STATE.IN_GBL,\n          name: validName,\n        };\n        this.stack.push(state);\n        if (\n          !isAssignment &&\n          Lexer.isWord[token.type] &&\n          !this.tryToHandleSectionEnd_(token)\n        ) {\n          //this.setKeyword_(token, this.langSrv.isStatementKeyword(this._cleanKeyword(word)));\n          const obj = this.handleLongStmtName_(\"\", validName);\n          state.name = obj.stmtName;\n          this.setKeyword_(token, obj.isKeyword);\n          state.hasSlashOptionDelimiter = this.syntaxDb.hasOptionDelimiter(\n            \"\",\n            obj.stmtName,\n          );\n        }\n      }\n    }\n    return token;\n  }\n  static readonly stmtWithDatasetOption_ = arrayToMap([\n    //special\n    \"DATA/SET\",\n    \"DATA/MERGE\",\n    \"DATA/MODIFY\",\n    \"DATA/UPDATE\",\n    //These are in IF statement, not SET statement. The syntax files are strange.\n    //'CALIS/SET','COMPUTAB/SET','DSTRANS/SET','GENMOD/SET','GLIMMIX/SET','HPNLIN/SET','HPNLMOD/SET','IML/SET','MSMC/SET',\n    //'MODEL/SET','NLIN/SET','NLMIXED/SET','OPTMODEL/SET','PHREG/SET','TCALIS/SET',\n    \"DOCUMENT/IMPORT\",\n    \"JSON/EXPORT\",\n    \"SERVER/ALLOCATE SASFILE\",\n    //'EXPORT','FSBROWSE','FSEDIT','FSLETTER','FSVIEW','HPSUMMARY','SUMMARY'// define option will be handled correctly as options, ignored here.\n  ]);\n  OptionCheckers_ = {\n    \"proc-def\": {\n      getOptionType: function (this: LexerEx, optName: string) {\n        return this.syntaxDb.getProcedureOptionType(this.curr.name, optName);\n      },\n      checkSubOption: function (\n        this: LexerEx,\n        optName: string,\n        subOptName: string,\n      ) {\n        return this.syntaxDb.isProcedureSubOptKeyword(\n          this.curr.name,\n          optName,\n          subOptName,\n        );\n      },\n      checkOption: function (this: LexerEx, optName: string) {\n        return this.syntaxDb.isProcedureOptionKeyword(this.curr.name, optName);\n      },\n    },\n    \"proc-stmt\": {\n      getOptionType: function (this: LexerEx, optName: string) {\n        return this.syntaxDb.getProcedureStatementOptionType(\n          this.curr.procName,\n          this.curr.name,\n          optName,\n        );\n      },\n      checkSubOption: function (\n        this: LexerEx,\n        optName: string,\n        subOptName: string,\n        pos: any,\n      ) {\n        // pos is the relative position of subOptName to optName\n        return (\n          this.handleLongStmtSubOptionName_(\n            this.curr.procName,\n            this.curr.name,\n            optName,\n            subOptName,\n            pos,\n          ).isKeyword ||\n          this.handleLongStmtOptionName_(\n            this.curr.procName,\n            this.curr.name,\n            subOptName,\n            pos,\n          ).isKeyword ||\n          (LexerEx.stmtWithDatasetOption_[\n            this.curr.procName + \"/\" + this.curr.name\n          ]\n            ? this.syntaxDb.isDatasetKeyword(subOptName)\n            : false)\n        );\n        //e.g. proc sql;    create view proclib.jobs(pw=red) as ....\n      },\n      checkOption: function (this: LexerEx, optName: string) {\n        const obj = this.handleLongStmtOptionName_(\n          this.curr.procName,\n          this.curr.name,\n          optName,\n        );\n        return obj.isKeyword;\n        //return this.langSrv.isProcedureStatementKeyword(this.curr.procName, this.curr.name, optName);\n      },\n    },\n    \"data-def\": {\n      getOptionType: function (optName: string) {\n        return \"\";\n      },\n      checkSubOption: function (\n        this: LexerEx,\n        optName: string,\n        subOptName: string,\n      ) {\n        return this.syntaxDb.isDatasetKeyword(subOptName);\n      },\n      checkOption: function (this: LexerEx, optName: string) {\n        return this.syntaxDb.isProcedureOptionKeyword(\"DATA\", optName);\n      },\n    },\n    \"data-stmt\": {\n      getOptionType: function (this: LexerEx, optName: string) {\n        return this.syntaxDb.getProcedureStatementOptionType(\n          \"DATA\",\n          this.curr.name,\n          optName,\n        );\n      },\n      checkSubOption: function (\n        this: LexerEx,\n        optName: string,\n        subOptName: string,\n      ) {\n        let isKeyword = this.syntaxDb.isProcedureStatementSubOptKeyword(\n          \"DATA\",\n          this.curr.name,\n          optName,\n          subOptName,\n        );\n        if (!isKeyword) {\n          if (LexerEx.stmtWithDatasetOption_[\"DATA/\" + this.curr.name]) {\n            isKeyword = this.syntaxDb.isDatasetKeyword(subOptName);\n          }\n        }\n        return isKeyword;\n      },\n      checkOption: function (this: LexerEx, optName: string) {\n        return this.syntaxDb.isProcedureStatementKeyword(\n          \"DATA\",\n          this.curr.name,\n          optName,\n        );\n      },\n    },\n    \"macro-def\": {\n      getOptionType: function (this: LexerEx, optName: string) {\n        return this.syntaxDb.getProcedureOptionType(\"MACRO\", optName);\n      },\n      checkSubOption: function (\n        this: LexerEx,\n        optName: string,\n        subOptName: string,\n      ) {\n        return this.syntaxDb.isProcedureSubOptKeyword(\n          \"MACRO\",\n          optName,\n          subOptName,\n        );\n      },\n      checkOption: function (this: LexerEx, optName: string) {\n        return this.syntaxDb.isProcedureOptionKeyword(\"MACRO\", optName);\n      },\n    },\n    \"macro-stmt\": {\n      getOptionType: function (this: LexerEx, optName: string) {\n        return this.syntaxDb.getProcedureStatementOptionType(\n          \"MACRO\",\n          this.curr.name,\n          optName,\n        );\n      },\n      checkSubOption: function (\n        this: LexerEx,\n        optName: string,\n        subOptName: string,\n      ) {\n        return this.syntaxDb.isProcedureStatementSubOptKeyword(\n          \"MACRO\",\n          this.curr.name,\n          optName,\n          subOptName,\n        );\n      },\n      checkOption: function (this: LexerEx, optName: string) {\n        return this.syntaxDb.isProcedureStatementKeyword(\n          \"MACRO\",\n          this.curr.name,\n          optName,\n        );\n      },\n    },\n    \"gbl-stmt\": {\n      getOptionType: function (this: LexerEx, optName: string) {\n        return this.syntaxDb.getStatementOptionType(\n          this._cleanKeyword(this.curr.name),\n          optName,\n        );\n      },\n      checkSubOption: function (\n        this: LexerEx,\n        optName: string,\n        subOptName: string,\n      ) {\n        return this.syntaxDb.isStatementSubOptKeyword(\n          this._cleanKeyword(this.curr.name),\n          optName,\n          subOptName,\n        );\n      },\n      checkOption: function (this: LexerEx, optName: string) {\n        const isGlobal = this.syntaxDb.isStatementKeyword(\n          \"global\",\n          this._cleanKeyword(this.curr.name),\n          optName,\n        );\n        if (!isGlobal) {\n          return this.syntaxDb.isStatementKeyword(\n            \"standalone\",\n            this._cleanKeyword(this.curr.name),\n            optName,\n          );\n        }\n        return isGlobal;\n      },\n    },\n    \"sg-def\": {\n      // statgraph\n      getOptionType: function (this: LexerEx, optName: string) {\n        return this.syntaxDb.getProcedureStatementOptionType(\n          \"TEMPLATE\",\n          \"BEGINGRAPH\",\n          optName,\n        );\n      },\n      checkSubOption: function (\n        this: LexerEx,\n        optName: string,\n        subOptName: string,\n      ) {\n        return this.syntaxDb.isProcedureStatementSubOptKeyword(\n          \"TEMPLATE\",\n          \"BEGINGRAPH\",\n          optName,\n          subOptName,\n        );\n      },\n      checkOption: function (this: LexerEx, optName: string) {\n        return this.syntaxDb.isProcedureStatementKeyword(\n          \"TEMPLATE\",\n          \"BEGINGRAPH\",\n          optName,\n        );\n      },\n    },\n    \"sg-stmt\": {\n      getOptionType: function (this: LexerEx, optName: string) {\n        return this.syntaxDb.getProcedureStatementOptionType(\n          \"STATGRAPH\",\n          this.curr.name,\n          optName,\n        );\n      },\n      checkSubOption: function (\n        this: LexerEx,\n        optName: string,\n        subOptName: string,\n      ) {\n        return this.syntaxDb.isProcedureStatementSubOptKeyword(\n          \"STATGRAPH\",\n          this.curr.name,\n          optName,\n          subOptName,\n        );\n      },\n      checkOption: function (this: LexerEx, optName: string) {\n        return this.syntaxDb.isProcedureStatementKeyword(\n          \"STATGRAPH\",\n          this.curr.name,\n          optName,\n        );\n      },\n    },\n    \"dt-def\": {\n      // dt = define tagset\n      getOptionType: function (this: LexerEx, optName: string) {\n        return this.syntaxDb.getProcedureStatementOptionType(\n          \"TEMPLATE\",\n          \"DEFINE TAGSET\",\n          optName,\n        );\n      },\n      checkSubOption: function (\n        this: LexerEx,\n        optName: string,\n        subOptName: string,\n      ) {\n        return this.syntaxDb.isProcedureStatementSubOptKeyword(\n          \"TEMPLATE\",\n          this.curr.name,\n          optName,\n          subOptName,\n        );\n      },\n      checkOption: function (this: LexerEx, optName: string) {\n        return this.syntaxDb.isProcedureStatementKeyword(\n          \"TEMPLATE\",\n          \"DEFINE TAGSET\",\n          optName,\n        );\n      },\n    },\n    \"dt-stmt\": {\n      getOptionType: function (this: LexerEx, optName: string) {\n        return this.syntaxDb.getProcedureStatementOptionType(\n          \"DEFINE_TAGSET\",\n          this.curr.name,\n          optName,\n        );\n      },\n      checkSubOption: function (\n        this: LexerEx,\n        optName: string,\n        subOptName: string,\n      ) {\n        return this.syntaxDb.isProcedureStatementSubOptKeyword(\n          \"DEFINE_TAGSET\",\n          this.curr.name,\n          optName,\n          subOptName,\n        );\n      },\n      checkOption: function (this: LexerEx, optName: string) {\n        return this.syntaxDb.isProcedureStatementKeyword(\n          \"DEFINE_TAGSET\",\n          this.curr.name,\n          optName,\n        );\n      },\n    },\n    \"de-def\": {\n      // de = define event\n      getOptionType: function (this: LexerEx, optName: string) {\n        return this.syntaxDb.getProcedureStatementOptionType(\n          \"TEMPLATE\",\n          \"DEFINE EVENT\",\n          optName,\n        );\n      },\n      checkSubOption: function (\n        this: LexerEx,\n        optName: string,\n        subOptName: string,\n      ) {\n        return this.syntaxDb.isProcedureStatementSubOptKeyword(\n          \"TEMPLATE\",\n          \"DEFINE EVENT\",\n          optName,\n          subOptName,\n        );\n      },\n      checkOption: function (this: LexerEx, optName: string) {\n        return this.syntaxDb.isProcedureStatementKeyword(\n          \"TEMPLATE\",\n          \"DEFINE EVENT\",\n          optName,\n        );\n      },\n    },\n    \"de-stmt\": {\n      getOptionType: function (this: LexerEx, optName: string) {\n        return this.syntaxDb.getProcedureStatementOptionType(\n          \"DEFINE_EVENT\",\n          this.curr.name,\n          optName,\n        );\n      },\n      checkSubOption: function (\n        this: LexerEx,\n        optName: string,\n        subOptName: string,\n      ) {\n        return this.syntaxDb.isProcedureStatementSubOptKeyword(\n          \"DEFINE_EVENT\",\n          this.curr.name,\n          optName,\n          subOptName,\n        );\n      },\n      checkOption: function (this: LexerEx, optName: string) {\n        return this.syntaxDb.isProcedureStatementKeyword(\n          \"DEFINE_EVENT\",\n          this.curr.name,\n          optName,\n        );\n      },\n    },\n  };\n  private handleProcName_() {\n    const token = this.prefetch_({ pos: 1 });\n    let name = \"\";\n    if (token) {\n      name = token.text;\n      token.type = Lexer.TOKEN_TYPES.PROCNAME; // procedure name\n      token.notCheckKeyword = true;\n    }\n    return name;\n  }\n  private readProcDef_() {\n    return this.handleStatement_(this.OptionCheckers_[\"proc-def\"]);\n  }\n  private readDataDef_() {\n    return this.handleStatement_(this.OptionCheckers_[\"data-def\"]);\n  }\n  private readMacroDef_() {\n    const token = this.handleStatement_(this.OptionCheckers_[\"macro-def\"]);\n    // When we encounter '(' in a macro definition, push a dedicated handler to process macro parameters.\n    if (token && token.text === \"(\") {\n      this.stack.push({\n        parse: this.readMacroParams_,\n        state: this.PARSING_STATE.IN_MACRO,\n      });\n    }\n    return token;\n  }\n\n  // Handler for macro definition parameter lists. Processes tokens inside %macro name(...) until ')'.\n  private readMacroParams_() {\n    const token = this.getNext_();\n    if (!token) return token;\n\n    if (token.text === \")\") {\n      // End of parameter list — pop back to readMacroDef_\n      this.stack.pop();\n    } else if (Lexer.isWord[token.type]) {\n      // Check if this word is a keyword parameter (followed by '=')\n      const next = this.prefetch_({ pos: 1 });\n      if (next && next.text === \"=\") {\n        token.type = Lexer.TOKEN_TYPES.MKEYWORDPARAM;\n      }\n    }\n    return token;\n  }\n  private handleODSStmt_(token: Token) {\n    let isKeyword = false;\n    const currName = token.text,\n      procName = \"ODS\",\n      stmtName = procName;\n\n    if (this.curr.fullName === undefined) {\n      const obj = this.handleLongStmtName_(procName, stmtName + \" \" + currName); //e.g. ODS CHTML\n      if (obj.stmtNameLen === 1 && !obj.isKeyword) {\n        // try it in general statments\n        this.curr.fullName = stmtName;\n        isKeyword = this.syntaxDb._isStatementKeyword(stmtName, currName);\n      } else {\n        this.curr.fullName = obj.stmtName;\n        isKeyword = obj.isKeyword;\n      }\n    } else {\n      if (this.curr.fullName === this.curr.name) {\n        // \"ODS\"\n        isKeyword = this.syntaxDb._isStatementKeyword(stmtName, currName);\n      } else {\n        isKeyword = this.syntaxDb.isProcedureStatementKeyword(\n          procName,\n          this.curr.fullName,\n          currName,\n        );\n      }\n    }\n    this.setKeyword_(token, isKeyword);\n\n    return isKeyword;\n  }\n  private handleLongStmtName_(\n    procName: string,\n    startWord: string,\n  ): {\n    isKeyword: boolean;\n    stmtName: string;\n    stmtNameLen: number;\n  } {\n    const name1 = startWord,\n      it = { pos: 1 },\n      next1 = this.prefetch_(it);\n    let isKeyword = false,\n      name2 = null,\n      name3 = null,\n      name4 = null,\n      next2,\n      next3,\n      stmtNameLen = 1,\n      fullStmtName = name1;\n\n    if (next1 && Lexer.isWord[next1.type]) {\n      name2 = name1 + \" \" + next1.text; // the keyword has 2 words\n      next2 = this.prefetch_(it);\n      if (next2 && Lexer.isWord[next2.type]) {\n        name3 = name2 + \" \" + next2.text; // the keyword has 3 words\n        next3 = this.prefetch_(it);\n        if (next3 && Lexer.isWord[next3.type]) {\n          name4 = name3 + \" \" + next3.text;\n        }\n      }\n    }\n\n    if (name4) {\n      isKeyword = this.syntaxDb.isProcedureStatementKeyword(procName, name4);\n      if (isKeyword) {\n        stmtNameLen = 4;\n        fullStmtName = name4;\n        this.setKeyword_(next1, true);\n        this.setKeyword_(next2, true);\n        this.setKeyword_(next3, true);\n      }\n    }\n    if (!isKeyword && name3) {\n      isKeyword = this.syntaxDb.isProcedureStatementKeyword(procName, name3);\n      if (isKeyword) {\n        stmtNameLen = 3;\n        fullStmtName = name3;\n        this.setKeyword_(next1, true);\n        this.setKeyword_(next2, true);\n      }\n    }\n    if (!isKeyword && name2) {\n      isKeyword = this.syntaxDb.isProcedureStatementKeyword(procName, name2);\n      if (isKeyword) {\n        stmtNameLen = 2;\n        fullStmtName = name2;\n        this.setKeyword_(next1, true);\n      }\n    }\n    if (!isKeyword) {\n      isKeyword = this.syntaxDb.isProcedureStatementKeyword(procName, name1);\n    }\n    return {\n      isKeyword: isKeyword,\n      stmtName: fullStmtName,\n      stmtNameLen: stmtNameLen,\n    };\n  }\n  private handleLongStmtOptionName_(\n    procName: string,\n    stmtName: string,\n    startWord: string,\n    pos?: any,\n  ) {\n    const context = {\n      procName: procName,\n      stmtName: stmtName,\n      startWord: startWord,\n      pos: pos,\n      checkKeyword: function (\n        this: LexerEx,\n        context: { procName: any; stmtName: any },\n        name: any,\n      ) {\n        return this.syntaxDb.isProcedureStatementKeyword(\n          context.procName,\n          context.stmtName,\n          name,\n        );\n      },\n    };\n    return this.handleLongOptionName_(context);\n  }\n  private handleLongStmtSubOptionName_(\n    procName: string,\n    stmtName: string,\n    optName: string,\n    startWord: any,\n    pos: any,\n  ) {\n    const context = {\n      procName: procName,\n      stmtName: stmtName,\n      optName: optName,\n      startWord: startWord,\n      pos: pos,\n      checkKeyword: function (\n        this: LexerEx,\n        context: { procName: any; stmtName: any; optName: any },\n        name: any,\n      ) {\n        return this.syntaxDb.isProcedureStatementSubOptKeyword(\n          context.procName,\n          context.stmtName,\n          context.optName,\n          name,\n        );\n      },\n    };\n    return this.handleLongOptionName_(context);\n  }\n  // The pos is the offest of startWord from the current token in the state machine\n  private handleLongOptionName_(context: {\n    procName?: string;\n    stmtName?: string;\n    startWord: any;\n    pos: any;\n    checkKeyword: any;\n    optName?: string;\n  }) {\n    //procName, stmtName, startWord, cb, pos\n    let isKeyword = false,\n      name1 = context.startWord,\n      name2 = null, // longest option names generally include two word, and only occur in Statement Options\n      next,\n      nameLen = 1,\n      fullName = name1,\n      it = { pos: 1 }; //option names with 3 words are special situation, they can be covered, so we may ignore them.\n\n    if (context.pos) {\n      it.pos = context.pos + 1;\n    }\n    next = this.prefetch_(it);\n    if (next && Lexer.isWord[next.type]) {\n      name2 = name1 + \" \" + next.text; // The keyword has 2 words\n    }\n\n    if (name2) {\n      isKeyword = context.checkKeyword.call(this, context, name2);\n      if (isKeyword) {\n        nameLen = 2;\n        this.setKeyword_(next, true);\n        fullName = name2;\n      }\n    }\n    if (!isKeyword) {\n      isKeyword = context.checkKeyword.call(this, context, name1);\n    }\n    return {\n      isKeyword: isKeyword,\n      name: fullName,\n      nameLen: nameLen,\n    };\n  }\n  sectionEndStmts_: Record<string, 1> = {\n    RUN: 1,\n    \"RUN CANCEL\": 1,\n    QUIT: 1,\n  };\n  private tryToHandleSectionEnd_(token: Token) {\n    let ret = false;\n    if (this.sectionEndStmts_[token.text]) {\n      token.type = \"sec-keyword\"; // Lexer.TOKEN_TYPES.SKEYWORD;\n      const next = this.prefetch_({ pos: 1 });\n      if (next && next.text === \"CANCEL\") {\n        next.type = Lexer.TOKEN_TYPES.SKEYWORD;\n      }\n      ret = true;\n    }\n    return ret;\n  }\n  private tryToHandleExpr_(\n    token: {\n      type: any;\n      text: any;\n      start?: TextPosition;\n      end?: TextPosition;\n      notCheckKeyword?: any;\n    },\n    optChecker: { getOptionType: any; checkSubOption: any; checkOption?: any },\n  ) {\n    if (this.curr.exprTokenCount) {\n      // 1, 2, ...\n      token.notCheckKeyword = true;\n      //this.curr.exprTokenCount--;\n\n      this.curr.exprTokenIndex++;\n      if (this.curr.exprTokenIndex > this.curr.exprTokenCount) {\n        this.curr.exprTokenCount = 0;\n        token.notCheckKeyword = false;\n      }\n    }\n    if (!this.curr.exprTokenCount) {\n      let needToHandleExpr = false,\n        startPos = 0;\n      if (Lexer.isWord[token.type]) {\n        const next = this.prefetch_({ pos: 1 }),\n          exprBeg: Record<string, 1> = { \"=\": 1, \"(\": 1 };\n        if (next && exprBeg[next.text]) {\n          if (next.text === \"=\") {\n            startPos = 1;\n          }\n          needToHandleExpr = true;\n        }\n        if (next && next.text === \"(\") {\n          if (this.syntaxDb.isSasFunction(token.text)) {\n            this.setKeyword_(token, true);\n          }\n        }\n      } else if (token.text === \"=\") {\n        needToHandleExpr = true;\n      }\n      if (needToHandleExpr) {\n        const self = this;\n        const ret = this.expr.parse(\n          this.curr.hasSlashOptionDelimiter,\n          startPos,\n          function (subOptToken: { text: string }, pos: any) {\n            const type = optChecker.getOptionType.call(self, token.text) || \"\";\n            let isKeyword;\n            if (self.syntaxDb.isDataSetType(type)) {\n              isKeyword = self.syntaxDb.isDatasetKeyword(subOptToken.text);\n            } else {\n              isKeyword = optChecker.checkSubOption.call(\n                self,\n                token.text,\n                subOptToken.text,\n                pos,\n              );\n            }\n            self.setKeyword_(subOptToken, isKeyword);\n          },\n        );\n        this.curr.exprTokenCount = ret.pos;\n        this.curr.exprTokenIndex = 0;\n      }\n    }\n  }\n  private readGblStmt_() {\n    return this.handleStatement_(this.OptionCheckers_[\"gbl-stmt\"]);\n  }\n  specialStmts_: Record<string, 1> = {\n    \"DATASETS/IC CREATE\": 1,\n    \"TRANSREG/MODEL\": 1, //HTMLCOMMONS-3829\n  };\n  private readProcStmt_() {\n    const token = this.handleStatement_(this.OptionCheckers_[\"proc-stmt\"]);\n    if (\n      token &&\n      Lexer.isWord[token.type] &&\n      this.specialStmts_[this.curr.procName + \"/\" + this.curr.name]\n    ) {\n      //A simple way to handle this condition :)\n      let isKeyword = false;\n      //TODO: Imrove this\n      if (this.curr.optNameLen !== undefined && this.curr.optNameLen > 1) {\n        isKeyword = true;\n        this.curr.optNameLen--;\n      } else {\n        const obj = this.handleLongStmtOptionName_(\n          this.curr.procName,\n          this.curr.name,\n          token.text,\n        );\n        this.curr.optNameLen = obj.nameLen;\n        isKeyword = obj.isKeyword;\n      }\n\n      this.setKeyword_(token, isKeyword);\n    }\n    return token;\n  }\n  private readDataStmt_() {\n    return this.handleStatement_(this.OptionCheckers_[\"data-stmt\"]);\n  }\n  private readMacroStmt_() {\n    return this.handleStatement_(this.OptionCheckers_[\"macro-stmt\"]);\n  }\n  private popSMTo_(level: number) {\n    // SM = state machine, level = 1, 2, 3...\n    let deep = this.stack.length - level;\n    while (deep > 0) {\n      this.stack.pop();\n      deep--;\n    }\n  }\n  private handleBlock_(fn: { (token: any): void }) {\n    let word = \"\";\n    const token = this.getNext_();\n    if (!token) return null;\n\n    if (Lexer.isWord[token.type]) {\n      if (this.isLabel_()) {\n        this.stack.push({\n          parse: this.readLabel_,\n          state: this.PARSING_STATE.IN_PROC,\n        });\n      } else if (this.isAssignment_(token)) {\n        fn.call(this, token);\n      } else {\n        word = token.text;\n        switch (word) {\n          case \"RUN\":\n          case \"QUIT\":\n            token.type = Lexer.TOKEN_TYPES.SKEYWORD;\n            this.popSMTo_(2);\n            this.stack.push({\n              parse: this.readEnd_,\n              state: this.PARSING_STATE.IN_PROC,\n              start: token,\n              name: word,\n            });\n            break;\n          case \"PROC\":\n          case \"PROCEDURE\": {\n            if (this.currSection?.type === this.SEC_TYPE.CUSTOM) {\n              this.tryPromoteCustomBlock_();\n            } else {\n              this.endFoldingBlock_(this.SEC_TYPE.PROC, this.lastToken.end);\n            }\n            this.startFoldingBlock_(this.SEC_TYPE.PROC, token.start, word);\n            token.type = Lexer.TOKEN_TYPES.SKEYWORD;\n            this.popSMTo_(1);\n            const procName = this.handleProcName_();\n            this.stack.push({\n              parse: this.readProc_,\n              state: this.PARSING_STATE.IN_PROC,\n              name: procName,\n            });\n            this.stack.push({\n              parse: this.readProcDef_,\n              state: this.PARSING_STATE.IN_PROC,\n              name: procName,\n            });\n            break;\n          }\n          case \"DATA\":\n            if (this.currSection?.type === this.SEC_TYPE.CUSTOM) {\n              this.tryPromoteCustomBlock_();\n            } else {\n              this.endFoldingBlock_(this.SEC_TYPE.PROC, this.lastToken.end);\n            }\n            this.startFoldingBlock_(this.SEC_TYPE.DATA, token.start, word);\n            token.type = Lexer.TOKEN_TYPES.SKEYWORD;\n            this.popSMTo_(1);\n            this.stack.push({\n              parse: this.readData_,\n              state: this.PARSING_STATE.IN_DATA,\n            });\n            this.stack.push({\n              parse: this.readDataDef_,\n              state: this.PARSING_STATE.IN_DATA,\n            });\n            break;\n          case \"%MACRO\":\n            if (this.currSection?.type === this.SEC_TYPE.CUSTOM) {\n              this.tryPromoteCustomBlock_();\n            } else {\n              this.endFoldingBlock_(this.SEC_TYPE.PROC, this.lastToken.end);\n            }\n            this.startFoldingBlock_(this.SEC_TYPE.MACRO, token.start, word);\n            token.type = Lexer.TOKEN_TYPES.MSKEYWORD;\n            this.popSMTo_(1);\n            this.stack.push({\n              parse: this.readMacro_,\n              state: this.PARSING_STATE.IN_MACRO,\n            });\n            this.stack.push({\n              parse: this.readMacroDef_,\n              state: this.PARSING_STATE.IN_MACRO,\n            });\n            break;\n          default:\n            fn.call(this, token);\n        }\n      }\n    }\n    return token;\n  }\n  /*\n      OptionInforVisitor {\n          getOptionType: function(optName){},\n          checkSubOption: function(optName, subOptName){}\n      }\n    */\n  private handleStatement_(optChecker: {\n    getOptionType: (optName: any) => any;\n    checkSubOption:\n      | ((optName: any, subOptName: any) => any)\n      | ((optName: any, subOptName: any, pos: any) => any);\n    checkOption: any;\n  }) {\n    const token = this.getNext_();\n    if (token) {\n      this.tryToHandleExpr_(token, optChecker);\n\n      if (token.text === \";\") {\n        //statement ends\n        this.stack.pop();\n      } else if (Lexer.isWord[token.type] && !token.notCheckKeyword) {\n        if (this.curr.name === \"ODS\") {\n          this.handleODSStmt_(token);\n        } else {\n          if (optChecker.checkOption) {\n            this.setKeyword_(\n              token,\n              optChecker.checkOption.call(this, token.text),\n            );\n          }\n        }\n      }\n    }\n    return token;\n  }\n  private handleEnd_() {\n    const token = this.getNext_();\n    if (token && token.text === \";\") {\n      this.stack.pop();\n      this.stack.pop();\n    }\n    return token;\n  }\n  private handleMref_(state: number) {\n    const next = this.prefetch_({ pos: 1 });\n    if (next && next.text === \"(\") {\n      this.stack.push({ parse: this.readMRef_, state: state });\n    }\n  }\n  private readLabel_() {\n    const token = this.getNext_();\n    if (token && token.text === \":\") {\n      this.stack.pop();\n    }\n    return token;\n  }\n  private readMRef_() {\n    const token = this.getNext_();\n    if (token && token.text === \")\") {\n      this.stack.pop();\n    } else {\n      if (token && Lexer.isWord[token.type]) {\n        // Check if this is a keyword parameter (name=value pattern)\n        const next = this.prefetch_({ pos: 1 });\n        if (next && next.text === \"=\") {\n          token.type = Lexer.TOKEN_TYPES.MKEYWORDPARAM;\n        }\n      }\n      const next = this.prefetch_({ pos: 1 });\n      if (next && next.text === \"(\") {\n        this.stack.push(this.curr);\n      }\n    }\n    return token;\n  }\n  private readComment_() {\n    //ignore\n  }\n  private readStatGraph_() {\n    return this.handleBlock_(function (this: LexerEx, token: { text: string }) {\n      if (token.text === \"ENDGRAPH\") {\n        this.setKeyword_(token, true);\n        this.stack.push({\n          parse: this.readStatGraphEnd_,\n          state: this.PARSING_STATE.IN_PROC,\n          start: token,\n          name: token.text,\n        });\n      } else {\n        const state = {\n          parse: this.readStatGraphStmt_,\n          state: this.PARSING_STATE.IN_PROC,\n          name: token.text,\n        };\n        this.stack.push(state);\n        let next = null,\n          isKeyword = this.syntaxDb.isProcedureStatementKeyword(\n            \"STATGRAPH\",\n            this._cleanKeyword(token.text),\n          );\n        if (!isKeyword) {\n          next = this.prefetch_({ pos: 1 });\n          if (next) {\n            const word = token.text + \" \" + next.text;\n            isKeyword = this.syntaxDb.isProcedureStatementKeyword(\n              \"STATGRAPH\",\n              word,\n            );\n            if (isKeyword) {\n              state.name = word;\n              this.setKeyword_(next, true);\n            }\n          }\n        }\n        this.setKeyword_(token, isKeyword);\n      }\n    });\n  }\n  private readStatGraphDef_() {\n    return this.handleStatement_(this.OptionCheckers_[\"sg-def\"]);\n  }\n  private readStatGraphStmt_() {\n    return this.handleStatement_(this.OptionCheckers_[\"sg-stmt\"]);\n  }\n  private readStatGraphEnd_() {\n    return this.handleEnd_();\n  }\n  private readDefineTagset_() {\n    return this.handleBlock_(function (this: LexerEx, token: { text: string }) {\n      let word = token.text;\n      if (token.text === \"END\") {\n        this.setKeyword_(token, true);\n        this.stack.push({\n          parse: this.readDefineTagsetEnd_,\n          state: this.PARSING_STATE.IN_PROC,\n          start: token,\n          name: word,\n        });\n      } else {\n        let generalTagsetStmt = true;\n        const next = this.prefetch_({ pos: 1 });\n\n        if (next) {\n          const fullName = word + \" \" + next.text;\n          if (fullName === \"DEFINE EVENT\") {\n            this.stack.push({\n              parse: this.readDefineEvent_,\n              state: this.PARSING_STATE.IN_PROC,\n              name: fullName,\n            });\n            this.stack.push({\n              parse: this.readDefineEventDef_,\n              state: this.PARSING_STATE.IN_PROC,\n              name: fullName,\n            });\n            generalTagsetStmt = false;\n            this.setKeyword_(next, true);\n            this.setKeyword_(token, true);\n          }\n        }\n\n        if (generalTagsetStmt) {\n          const state = {\n            parse: this.readDefineTagsetStmt_,\n            state: this.PARSING_STATE.IN_PROC,\n            name: word,\n          };\n          this.stack.push(state);\n          // keyword checking\n          let isKeyword = this.syntaxDb.isProcedureStatementKeyword(\n            \"DEFINE_TAGSET\",\n            this._cleanKeyword(word),\n          );\n          if (!isKeyword) {\n            if (next) {\n              word += \" \" + next.text;\n              isKeyword = this.syntaxDb.isProcedureStatementKeyword(\n                \"DEFINE_TAGSET\",\n                word,\n              );\n              if (isKeyword) {\n                state.name = word;\n                this.setKeyword_(next, true);\n              }\n            }\n          }\n          this.setKeyword_(token, isKeyword);\n        }\n      }\n    });\n  }\n  private readDefineTagsetDef_() {\n    return this.handleStatement_(this.OptionCheckers_[\"dt-def\"]);\n  }\n  private readDefineTagsetStmt_() {\n    return this.handleStatement_(this.OptionCheckers_[\"dt-stmt\"]);\n  }\n  private readDefineTagsetEnd_() {\n    return this.handleEnd_();\n  }\n  private readDefineEvent_() {\n    return this.handleBlock_(function (this: LexerEx, token: { text: any }) {\n      let word = token.text;\n      if (word === \"END\") {\n        this.setKeyword_(token, true);\n        this.stack.push({\n          parse: this.readDefineEventEnd_,\n          state: this.PARSING_STATE.IN_PROC,\n          start: token,\n          name: word,\n        });\n      } else {\n        const state = {\n          parse: this.readDefineEventStmt_,\n          state: this.PARSING_STATE.IN_PROC,\n          name: word,\n        };\n        this.stack.push(state);\n        let next = null,\n          isKeyword = this.syntaxDb.isProcedureStatementKeyword(\n            \"DEFINE_EVENT\",\n            this._cleanKeyword(word),\n          );\n        if (!isKeyword) {\n          next = this.prefetch_({ pos: 1 });\n          if (next) {\n            word += \" \" + next.text;\n            isKeyword = this.syntaxDb.isProcedureStatementKeyword(\n              \"DEFINE_EVENT\",\n              word,\n            );\n            if (isKeyword) {\n              this.setKeyword_(next, true);\n              state.name = word;\n            }\n          }\n        }\n        this.setKeyword_(token, isKeyword);\n      }\n    });\n  }\n  private readDefineEventDef_() {\n    return this.handleStatement_(this.OptionCheckers_[\"de-def\"]);\n  }\n  private readDefineEventStmt_() {\n    return this.handleStatement_(this.OptionCheckers_[\"de-stmt\"]);\n  }\n  private readDefineEventEnd_() {\n    return this.handleEnd_();\n  }\n  private readSubmitOrInteractiveBlock_() {\n    const token = this.getNext_();\n    const next = this.prefetch_({ pos: 1 }); // <embedded code>\n    const next2 = this.prefetch_({ pos: 2 }); // endsubmit(endinteractive)\n    const next3 = this.prefetch_({ pos: 3 }); // ;\n    if (!token) {\n      return undefined;\n    }\n    if (\n      next &&\n      next2 &&\n      next3 &&\n      token.end.line <= next.start.line &&\n      next.type === \"embedded-code\" &&\n      [\"ENDSUBMIT\", \"ENDINTERACTIVE\"].includes(next2.text) &&\n      next3.type === \"sep\" &&\n      next3.text === \";\"\n    ) {\n      this.stack.push({\n        parse: this.handleEnd_,\n        state: this.PARSING_STATE.IN_PROC,\n      });\n      this.setKeyword_(next2, true);\n    } else if (next && [\"DATA\", \"PROC\", \"%MACRO\"].includes(next.text)) {\n      this.stack.pop();\n    }\n    return token;\n  }\n  /*            readProc_\n         *  DATA, %MACRO ----> pop + push\n         PROC ----> ignore\n         *\n         */\n  DS2_: Record<string, 1> = {\n    DS2: 1,\n    HPDS2: 1,\n  };\n\n  private readProc_() {\n    let word = \"\";\n    const token = this.getNext_(),\n      procName = this.curr.name || \"\";\n\n    if (!token) return;\n\n    if (Lexer.isWord[token.type]) {\n      if (this.isLabel_()) {\n        this.stack.push({\n          parse: this.readLabel_,\n          state: this.PARSING_STATE.IN_PROC,\n        });\n      } else if (this.isAssignment_(token)) {\n        const validName = this._cleanKeyword(word);\n        this.stack.push({\n          parse: this.readProcStmt_,\n          state: this.PARSING_STATE.IN_PROC,\n          name: validName,\n          procName: procName,\n        });\n      } else {\n        word = token.text;\n        switch (word) {\n          case this.syntaxDb.isInteractiveProc(procName) ? \"QUIT\" : \"RUN\":\n          case \"QUIT\":\n            //normal section end\n            token.type = Lexer.TOKEN_TYPES.SKEYWORD;\n            this.stack.push({\n              parse: this.readEnd_,\n              state: this.PARSING_STATE.IN_PROC,\n              start: token,\n              name: word,\n            });\n            break;\n          case \"%MEND\":\n            //error:\n            token.type = Lexer.TOKEN_TYPES.MSKEYWORD;\n            if (\n              this.stack.length > 2 &&\n              this.stack[this.stack.length - 2].state ===\n                this.PARSING_STATE.IN_MACRO\n            ) {\n              this.stack.pop();\n              this.stack.push({\n                parse: this.readMend_,\n                state: this.PARSING_STATE.IN_MACRO,\n                start: token,\n                name: word,\n              });\n            }\n            //this.stack.push({parse:this.readMend_, state:this.PARSING_STATE.IN_MACRO});\n            break;\n          case \"PROC\":\n          case \"PROCEDURE\": {\n            //no normal end, and another proc meet, there are syntax errors\n            // ignore\n            if (this.currSection?.type === this.SEC_TYPE.CUSTOM) {\n              this.tryPromoteCustomBlock_();\n            } else {\n              this.endFoldingBlock_(this.SEC_TYPE.PROC, this.lastToken.end);\n            }\n            this.startFoldingBlock_(this.SEC_TYPE.PROC, token.start, word);\n\n            token.type = Lexer.TOKEN_TYPES.SKEYWORD;\n            this.stack.pop();\n            const procName = this.handleProcName_();\n            this.stack.push({\n              parse: this.readProc_,\n              state: this.PARSING_STATE.IN_PROC,\n              name: procName,\n            });\n            this.stack.push({\n              parse: this.readProcDef_,\n              state: this.PARSING_STATE.IN_PROC,\n              name: procName,\n            });\n            break;\n          }\n          case \"%MACRO\":\n            if (this.currSection?.type === this.SEC_TYPE.CUSTOM) {\n              this.tryPromoteCustomBlock_();\n            } else {\n              this.endFoldingBlock_(this.SEC_TYPE.PROC, this.lastToken.end);\n            }\n            this.startFoldingBlock_(this.SEC_TYPE.MACRO, token.start, word);\n\n            token.type = Lexer.TOKEN_TYPES.MSKEYWORD;\n            this.stack.pop();\n            this.stack.push({\n              parse: this.readMacro_,\n              state: this.PARSING_STATE.IN_MACRO,\n            });\n            this.stack.push({\n              parse: this.readMacroDef_,\n              state: this.PARSING_STATE.IN_MACRO,\n            });\n            break;\n          case \"DATA\":\n            if (!this.DS2_[procName]) {\n              if (this.currSection?.type === this.SEC_TYPE.CUSTOM) {\n                this.tryPromoteCustomBlock_();\n              } else {\n                this.endFoldingBlock_(this.SEC_TYPE.PROC, this.lastToken.end);\n              }\n              this.startFoldingBlock_(this.SEC_TYPE.DATA, token.start, word);\n\n              token.type = Lexer.TOKEN_TYPES.SKEYWORD;\n              this.stack.pop();\n              this.stack.push({\n                parse: this.readData_,\n                state: this.PARSING_STATE.IN_DATA,\n              });\n              this.stack.push({\n                parse: this.readDataDef_,\n                state: this.PARSING_STATE.IN_DATA,\n              });\n              break;\n            } // not break\n          default: {\n            this.tryToHandleSectionEnd_(token);\n            let generalProcStmt = true;\n            if (procName === \"TEMPLATE\") {\n              if (word === \"BEGINGRAPH\") {\n                this.stack.push({\n                  parse: this.readStatGraph_,\n                  state: this.PARSING_STATE.IN_PROC,\n                });\n                this.stack.push({\n                  parse: this.readStatGraphDef_,\n                  state: this.PARSING_STATE.IN_PROC,\n                });\n                this.setKeyword_(token, true);\n                generalProcStmt = false;\n              } else {\n                const next = this.prefetch_({ pos: 1 });\n                if (next && next.text === \"TAGSET\" && word === \"DEFINE\") {\n                  this.stack.push({\n                    parse: this.readDefineTagset_,\n                    state: this.PARSING_STATE.IN_PROC,\n                  });\n                  this.stack.push({\n                    parse: this.readDefineTagsetDef_,\n                    state: this.PARSING_STATE.IN_PROC,\n                  });\n                  this.setKeyword_(next, true);\n                  this.setKeyword_(token, true);\n                  generalProcStmt = false;\n                }\n              }\n            } else if (procName === \"EXPLODE\") {\n              // TODO: we must modify block merging algorithm to support this.\n              if (Lexer.isParmcards[word]) {\n                this.cardsState = this.CARDS_STATE.IN_CMD;\n                this.stack.push({\n                  parse: this.readCards_,\n                  state: this.PARSING_STATE.IN_DATA,\n                  name: word,\n                  token: token,\n                });\n                this.setKeyword_(token, true);\n                generalProcStmt = false;\n              }\n            } else if (\n              procName === \"LUA\" ||\n              procName === \"PYTHON\" ||\n              procName === \"R\"\n            ) {\n              if ([\"SUBMIT\", \"INTERACTIVE\", \"I\"].includes(word)) {\n                const next = this.prefetch_({ pos: 1 });\n                if (next && next.text === \";\" && next.type === \"sep\") {\n                  this.stack.push({\n                    parse: this.readSubmitOrInteractiveBlock_,\n                    state: this.PARSING_STATE.IN_PROC,\n                  });\n                  this.setKeyword_(token, true);\n                  generalProcStmt = false;\n                }\n              }\n            } else if (token.type === Lexer.TOKEN_TYPES.MREF) {\n              this.handleMref_(this.PARSING_STATE.IN_PROC);\n              generalProcStmt = false;\n            }\n            if (generalProcStmt) {\n              const validName = this._cleanKeyword(word);\n              const state: any = {\n                parse: this.readProcStmt_,\n                state: this.PARSING_STATE.IN_PROC,\n                name: validName,\n                procName: procName,\n              };\n              this.stack.push(state);\n              const obj = this.handleLongStmtName_(procName, validName);\n              state.name = obj.stmtName;\n              this.setKeyword_(token, obj.isKeyword);\n              state.hasSlashOptionDelimiter = this.syntaxDb.hasOptionDelimiter(\n                procName,\n                obj.stmtName,\n              );\n            }\n          }\n        }\n      }\n    } else if (Lexer.isComment[token.type]) {\n      if (this.isCustomBlockStart_(token)) {\n        this.startFoldingBlock_(this.SEC_TYPE.CUSTOM, token.start, token.text);\n      } else if (this.isCustomBlockEnd_(token)) {\n        // only when there's an outer custom block, treat *endregion; as an end of custom region\n        if (\n          this.searchBlockUpwardOfType_(this.currSection, this.SEC_TYPE.CUSTOM)\n        ) {\n          this.tryEndFoldingBlock_(\n            token.start,\n            this.SEC_TYPE.CUSTOM,\n            token.end,\n          );\n        }\n      }\n    }\n    return token;\n  }\n  private hasRunCancelFollowed_() {\n    let next1,\n      next2,\n      ret = false;\n    const it = { pos: 1 };\n    do {\n      next1 = this.prefetch_(it);\n    } while (next1 && next1.text !== \";\");\n    if (next1) {\n      next1 = this.prefetch_(it);\n      next2 = this.prefetch_(it);\n\n      if (next1 && next2) {\n        if (Lexer.isWord[next1.type] && next2.text === \":\") {\n          // label\n          next1 = this.prefetch_(it);\n          next2 = this.prefetch_(it);\n        }\n        if (next1 && next2 && next1.text === \"RUN\" && next2.text === \"CANCEL\") {\n          ret = true;\n        }\n      }\n    }\n    return ret;\n  }\n  /*\n   *              readData_\n   *  %MACRO, PROC  ----> pop + push\n   *           DATA ----> ignore\n   */\n  private readData_() {\n    let word = \"\";\n    const token = this.getNext_();\n\n    if (!token) return;\n\n    if (Lexer.isWord[token.type]) {\n      if (this.isLabel_()) {\n        this.stack.push({\n          parse: this.readLabel_,\n          state: this.PARSING_STATE.IN_DATA,\n        });\n      } else if (this.isAssignment_(token)) {\n        const validName = this._cleanKeyword(word);\n        this.stack.push({\n          parse: this.readDataStmt_,\n          state: this.PARSING_STATE.IN_DATA,\n          name: validName,\n        });\n      } else {\n        word = token.text;\n        switch (word) {\n          case \"%MEND\":\n            //error\n            token.type = Lexer.TOKEN_TYPES.MSKEYWORD;\n            if (\n              this.stack.length > 2 &&\n              this.stack[this.stack.length - 2].state ===\n                this.PARSING_STATE.IN_MACRO\n            ) {\n              this.stack.pop();\n              this.stack.push({\n                parse: this.readMend_,\n                state: this.PARSING_STATE.IN_MACRO,\n                start: token,\n                name: word,\n              });\n            }\n            //this.stack.push({parse:this.readMend_, state:this.PARSING_STATE.IN_DATA});\n            break;\n          case \"DATA\":\n            //no normal end, and another data meet, there are syntax errors\n            // ignore\n            if (this.currSection?.type === this.SEC_TYPE.CUSTOM) {\n              this.tryPromoteCustomBlock_();\n            } else {\n              this.endFoldingBlock_(this.SEC_TYPE.DATA, this.lastToken.end);\n            }\n            this.startFoldingBlock_(this.SEC_TYPE.DATA, token.start, word);\n\n            token.type = Lexer.TOKEN_TYPES.SKEYWORD;\n            this.stack.push({\n              parse: this.readDataDef_,\n              state: this.PARSING_STATE.IN_DATA,\n            });\n            break;\n          case \"PROC\":\n          case \"PROCEDURE\": {\n            if (this.currSection?.type === this.SEC_TYPE.CUSTOM) {\n              this.tryPromoteCustomBlock_();\n            } else {\n              this.endFoldingBlock_(this.SEC_TYPE.DATA, this.lastToken.end);\n            }\n            this.startFoldingBlock_(this.SEC_TYPE.PROC, token.start, word);\n\n            token.type = Lexer.TOKEN_TYPES.SKEYWORD;\n            this.stack.pop(); //end data section\n            const procName = this.handleProcName_();\n            this.stack.push({\n              parse: this.readProc_,\n              state: this.PARSING_STATE.IN_PROC,\n              name: procName,\n            });\n            this.stack.push({\n              parse: this.readProcDef_,\n              state: this.PARSING_STATE.IN_PROC,\n              name: procName,\n            });\n            break;\n          }\n          case \"%MACRO\":\n            if (this.currSection?.type === this.SEC_TYPE.CUSTOM) {\n              this.tryPromoteCustomBlock_();\n            } else {\n              this.endFoldingBlock_(this.SEC_TYPE.DATA, this.lastToken.end);\n            }\n            this.startFoldingBlock_(this.SEC_TYPE.MACRO, token.start, word);\n\n            token.type = Lexer.TOKEN_TYPES.MSKEYWORD;\n            this.stack.pop(); //end data section\n            this.stack.push({\n              parse: this.readMacro_,\n              state: this.PARSING_STATE.IN_MACRO,\n            });\n            this.stack.push({\n              parse: this.readMacroDef_,\n              state: this.PARSING_STATE.IN_MACRO,\n            });\n            break;\n          case \"RUN\":\n          case \"QUIT\":\n            //normal section end\n            token.type = Lexer.TOKEN_TYPES.SKEYWORD;\n            if (!this.hasRunCancelFollowed_()) {\n              this.tryToHandleSectionEnd_(token);\n              this.stack.push({\n                parse: this.readEnd_,\n                state: this.PARSING_STATE.IN_DATA,\n                start: token,\n                name: word,\n              });\n              break;\n            } // attention: not break here\n          default:\n            if (Lexer.isCards[word]) {\n              this.cardsState = this.CARDS_STATE.IN_CMD;\n              this.stack.push({\n                parse: this.readCards_,\n                state: this.PARSING_STATE.IN_DATA,\n                name: word,\n                token: token,\n              });\n              this.setKeyword_(\n                token,\n                this.syntaxDb.isProcedureStatementKeyword(\"DATA\", word),\n              );\n            } else if (token.type === Lexer.TOKEN_TYPES.MREF) {\n              this.handleMref_(this.PARSING_STATE.IN_DATA);\n            } else {\n              //handle the statements in data section\n              const validName = this._cleanKeyword(word);\n              const state: any = {\n                parse: this.readDataStmt_,\n                state: this.PARSING_STATE.IN_DATA,\n                name: validName,\n              };\n              this.stack.push(state);\n              if (!this.tryToHandleSectionEnd_(token)) {\n                //this.setKeyword_(token, this.langSrv.isProcedureStatementKeyword(\"DATA\", validName));\n                const obj = this.handleLongStmtName_(\"DATA\", validName);\n                state.name = obj.stmtName;\n                this.setKeyword_(token, obj.isKeyword);\n                state.hasSlashOptionDelimiter =\n                  this.syntaxDb.hasOptionDelimiter(\"DATA\", obj.stmtName);\n              }\n            }\n        }\n      }\n    } else if (Lexer.isComment[token.type]) {\n      if (this.isCustomBlockStart_(token)) {\n        this.startFoldingBlock_(this.SEC_TYPE.CUSTOM, token.start, token.text);\n      } else if (this.isCustomBlockEnd_(token)) {\n        // only when there's an outer custom block, treat *endregion; as an end of custom region\n        if (\n          this.searchBlockUpwardOfType_(this.currSection, this.SEC_TYPE.CUSTOM)\n        ) {\n          this.tryEndFoldingBlock_(\n            token.start,\n            this.SEC_TYPE.CUSTOM,\n            token.end,\n          );\n        }\n      }\n    }\n    return token;\n  }\n\n  private searchBlockUpwardOfType_(\n    startBlock: FoldingBlock | undefined,\n    type: number,\n  ): FoldingBlock | null {\n    let cur: FoldingBlock | undefined = startBlock;\n    while (cur) {\n      if (cur.type === type) {\n        return cur;\n      } else {\n        cur = cur.outerBlock;\n      }\n    }\n    return null;\n  }\n\n  private searchLastConsecutiveBlockUpwardOfType_(\n    startBlock: FoldingBlock | undefined,\n  ): FoldingBlock | null {\n    if (!startBlock) {\n      return null;\n    }\n    let cur: FoldingBlock = startBlock;\n    while (cur.outerBlock && cur.outerBlock.type === cur.type) {\n      cur = cur.outerBlock;\n    }\n    return cur;\n  }\n\n  private tryPromoteCustomBlock_() {\n    const curSec = this.currSection;\n    const outermostCustomBlock: FoldingBlock =\n      this.searchLastConsecutiveBlockUpwardOfType_(this.currSection)!;\n    // custom block promotion\n    if (\n      [this.SEC_TYPE.DATA, this.SEC_TYPE.PROC].includes(\n        outermostCustomBlock?.outerBlock?.type,\n      )\n    ) {\n      const nearestNonCustomBlock: FoldingBlock | undefined =\n        outermostCustomBlock.outerBlock;\n      if (nearestNonCustomBlock) {\n        const pos =\n          nearestNonCustomBlock?.innerBlocks.indexOf(outermostCustomBlock);\n        nearestNonCustomBlock?.innerBlocks.splice(pos, 1);\n        this.currSection = nearestNonCustomBlock;\n        this.endFoldingBlock_(nearestNonCustomBlock.type, {\n          line: outermostCustomBlock.startLine,\n          column: outermostCustomBlock.startCol,\n        });\n        nearestNonCustomBlock.outerBlock?.innerBlocks.push(\n          outermostCustomBlock,\n        );\n        outermostCustomBlock.outerBlock = nearestNonCustomBlock.outerBlock;\n        this.currSection = curSec;\n      }\n    }\n  }\n\n  /*\n   *            readMacro_\n   *  PROC, DATA %MACRO -----> ignore\n   */\n  private readMacro_() {\n    let word = \"\";\n    const token = this.getNext_();\n\n    if (!token) return;\n\n    if (Lexer.isWord[token.type]) {\n      if (this.isLabel_()) {\n        this.stack.push({\n          parse: this.readLabel_,\n          state: this.PARSING_STATE.IN_MACRO,\n        });\n      } else if (this.isAssignment_(token)) {\n        const validName = this._cleanKeyword(word);\n        this.stack.push({\n          parse: this.readMacroStmt_,\n          state: this.PARSING_STATE.IN_MACRO,\n          name: validName,\n        });\n      } else {\n        word = token.text;\n        switch (word) {\n          case \"%MEND\":\n            //normal section end\n            token.type = Lexer.TOKEN_TYPES.MSKEYWORD;\n            this.stack.push({\n              parse: this.readMend_,\n              state: this.PARSING_STATE.IN_MACRO,\n              start: token,\n              name: word,\n            });\n            break;\n          case \"%MACRO\":\n            //no normal end, and another proc meet, there are syntax errors\n            // ignore\n            this.startFoldingBlock_(this.SEC_TYPE.MACRO, token.start, word);\n            token.type = Lexer.TOKEN_TYPES.MSKEYWORD;\n            this.stack.push({\n              parse: this.readMacro_,\n              state: this.PARSING_STATE.IN_MACRO,\n            });\n            this.stack.push({\n              parse: this.readMacroDef_,\n              state: this.PARSING_STATE.IN_MACRO,\n            });\n            break;\n          case \"PROC\":\n          case \"PROCEDURE\": {\n            this.startFoldingBlock_(this.SEC_TYPE.PROC, token.start, word);\n            token.type = Lexer.TOKEN_TYPES.SKEYWORD;\n            const procName = this.handleProcName_();\n            this.stack.push({\n              parse: this.readProc_,\n              state: this.PARSING_STATE.IN_PROC,\n              name: procName,\n            });\n            this.stack.push({\n              parse: this.readProcDef_,\n              state: this.PARSING_STATE.IN_PROC,\n              name: procName,\n            });\n            break;\n          }\n          case \"DATA\":\n            this.startFoldingBlock_(this.SEC_TYPE.DATA, token.start, word);\n            token.type = Lexer.TOKEN_TYPES.SKEYWORD;\n            this.stack.push({\n              parse: this.readData_,\n              state: this.PARSING_STATE.IN_DATA,\n            });\n            this.stack.push({\n              parse: this.readDataDef_,\n              state: this.PARSING_STATE.IN_DATA,\n            });\n            break;\n          default:\n            if (token.type === Lexer.TOKEN_TYPES.MREF) {\n              this.handleMref_(this.PARSING_STATE.IN_MACRO);\n            } else {\n              const validName = this._cleanKeyword(word);\n              const state: any = {\n                parse: this.readMacroStmt_,\n                state: this.PARSING_STATE.IN_MACRO,\n                name: validName,\n              };\n              this.stack.push(state);\n              //this.setKeyword_(token, this.langSrv.isProcedureStatementKeyword(\"MACRO\", validName));\n              const obj = this.handleLongStmtName_(\"MACRO\", validName);\n              state.name = obj.stmtName;\n              this.setKeyword_(token, obj.isKeyword);\n              state.hasSlashOptionDelimiter = this.syntaxDb.hasOptionDelimiter(\n                \"DATA\",\n                obj.stmtName,\n              );\n            }\n        }\n      }\n    } else if (Lexer.isComment[token.type]) {\n      if (this.isCustomBlockStart_(token)) {\n        this.startFoldingBlock_(this.SEC_TYPE.CUSTOM, token.start, token.text);\n      } else if (this.isCustomBlockEnd_(token)) {\n        // only when there's an outer custom block, treat *endregion; as an end of custom region\n        if (\n          this.searchBlockUpwardOfType_(this.currSection, this.SEC_TYPE.CUSTOM)\n        ) {\n          this.tryEndFoldingBlock_(\n            token.start,\n            this.SEC_TYPE.CUSTOM,\n            token.end,\n          );\n        }\n      }\n    }\n    return token;\n  }\n  private readGbl_() {\n    let word = \"\";\n    const token = this.getNext_();\n\n    if (!token) return;\n\n    if (Lexer.isWord[token.type]) {\n      if (this.isLabel_()) {\n        this.stack.push({\n          parse: this.readLabel_,\n          state: this.PARSING_STATE.IN_GBL,\n        });\n      } else if (this.isAssignment_(token)) {\n        const validName = this._cleanKeyword(word);\n        this.stack.push({\n          parse: this.readGblStmt_,\n          state: this.PARSING_STATE.IN_GBL,\n          name: validName,\n        });\n      } else {\n        word = token.text;\n        if (word === \"PROC\" || word === \"PROCEDURE\") {\n          if (this.currSection?.type !== this.SEC_TYPE.CUSTOM) {\n            this.endFoldingBlock_(this.SEC_TYPE.GBL, this.lastToken.end);\n          }\n          this.startFoldingBlock_(this.SEC_TYPE.PROC, token.start, word);\n          token.type = Lexer.TOKEN_TYPES.SKEYWORD;\n          this.stack.pop();\n          const procName = this.handleProcName_();\n          this.stack.push({\n            parse: this.readProc_,\n            state: this.PARSING_STATE.IN_PROC,\n            name: procName,\n          });\n          this.stack.push({\n            parse: this.readProcDef_,\n            state: this.PARSING_STATE.IN_PROC,\n            name: procName,\n          });\n        } else if (word === \"%MACRO\") {\n          if (this.currSection?.type !== this.SEC_TYPE.CUSTOM) {\n            this.endFoldingBlock_(this.SEC_TYPE.GBL, this.lastToken.end);\n          }\n          this.startFoldingBlock_(this.SEC_TYPE.MACRO, token.start, word);\n          token.type = Lexer.TOKEN_TYPES.MSKEYWORD;\n          this.stack.pop();\n          this.stack.push({\n            parse: this.readMacro_,\n            state: this.PARSING_STATE.IN_MACRO,\n          });\n          this.stack.push({\n            parse: this.readMacroDef_,\n            state: this.PARSING_STATE.IN_MACRO,\n          });\n        } else if (word === \"DATA\") {\n          if (this.currSection?.type !== this.SEC_TYPE.CUSTOM) {\n            this.endFoldingBlock_(this.SEC_TYPE.GBL, this.lastToken.end);\n          }\n          this.startFoldingBlock_(this.SEC_TYPE.DATA, token.start, word);\n          token.type = Lexer.TOKEN_TYPES.SKEYWORD;\n          this.stack.pop();\n          this.stack.push({\n            parse: this.readData_,\n            state: this.PARSING_STATE.IN_DATA,\n          });\n          this.stack.push({\n            parse: this.readDataDef_,\n            state: this.PARSING_STATE.IN_DATA,\n          });\n        } else if (token.type === Lexer.TOKEN_TYPES.MREF) {\n          this.handleMref_(this.PARSING_STATE.IN_GBL);\n        } else {\n          if (!this.hasFoldingBlock_()) {\n            this.startFoldingBlock_(this.SEC_TYPE.GBL, token.start, word);\n          }\n          const validName = this._cleanKeyword(word);\n          const state: any = {\n            parse: this.readGblStmt_,\n            state: this.PARSING_STATE.IN_GBL,\n            name: validName,\n          };\n          this.stack.push(state);\n          if (!this.tryToHandleSectionEnd_(token)) {\n            //this.setKeyword_(token, this.langSrv.isStatementKeyword(validName));\n            const obj = this.handleLongStmtName_(\"\", validName);\n            state.name = obj.stmtName;\n            this.setKeyword_(token, obj.isKeyword);\n            state.hasSlashOptionDelimiter = this.syntaxDb.hasOptionDelimiter(\n              \"\",\n              obj.stmtName,\n            );\n          }\n        }\n      }\n    } else if (Lexer.isComment[token.type]) {\n      if (this.isCustomBlockStart_(token)) {\n        if (this.currSection?.type !== this.SEC_TYPE.CUSTOM) {\n          this.endFoldingBlock_(this.SEC_TYPE.GBL, this.lastToken.end);\n        }\n        this.startFoldingBlock_(this.SEC_TYPE.CUSTOM, token.start, token.text);\n      } else if (this.isCustomBlockEnd_(token)) {\n        this.tryEndFoldingBlock_(token.end, this.SEC_TYPE.CUSTOM);\n      }\n    }\n    return token;\n  }\n  private readCards_() {\n    let word = \"\",\n      totalLines,\n      line,\n      text,\n      token = null;\n    const endExp =\n      Lexer.isCards4[this.curr.name] || Lexer.isParmcards4[this.curr.name]\n        ? /^;;;;/\n        : /;/;\n\n    if (this.cardsState === this.CARDS_STATE.IN_CMD) {\n      token = this.getNext_();\n      if (token && token.type === Lexer.TOKEN_TYPES.SEP) {\n        word = token.text;\n        if (word === \";\") {\n          //the data will start from the next line\n          this.startLineForCardsData = token.end.line + 1;\n          this.cardsState = this.CARDS_STATE.IN_DATA_WAITING;\n        }\n      }\n    } else if (this.cardsState === this.CARDS_STATE.IN_DATA_WAITING) {\n      token = this.getNext_();\n      if (token && token.start.line >= this.startLineForCardsData) {\n        //this line is data\n        this.cardsState = this.CARDS_STATE.IN_DATA;\n        //get data range\n        this.startLineForCardsData = token.start.line; //ignore blank lines\n        totalLines = this.model.getLineCount();\n        line = token.start.line;\n        text = \"\";\n        do {\n          text = this.model.getLine(line);\n          //find ';;;;' and it must be the start of a line\n          // or find ';'\n          if (endExp.test(text)) {\n            break;\n          } else {\n            line++;\n          }\n        } while (line < totalLines);\n\n        // FIXID S0890608: data in \"datalines\" statement does not change color when I input the SAS code in CE\n        // No matter whether found, always returns cardsdata\n        line--;\n        this.lexer.start.line = this.startLineForCardsData;\n        this.lexer.start.column = 0;\n        this.lexer.curr.line = line;\n        this.lexer.curr.column = this.model.getLine(line).length;\n        //TODO: IMPROVE\n        return this._changeCardsDataToken({\n          type: Lexer.TOKEN_TYPES.CARDSDATA,\n          start: this._clonePos(this.lexer.start),\n          end: this._clonePos(this.lexer.curr),\n        });\n      }\n    } else if (this.cardsState === this.CARDS_STATE.IN_DATA) {\n      token = this.getNext_();\n      if (token && token.text === \";\") {\n        // for datalines4, we also do this even there are 4 ;;;;\n        this.cardsState = this.CARDS_STATE.IN_NULL;\n        this.stack.pop();\n      }\n    } else {\n      //IN_NULL, error\n    }\n    return token;\n  }\n  private readEnd_() {\n    const token = this.getNext_();\n    if (token && token.text === \";\") {\n      if (\n        this.curr.state === this.PARSING_STATE.IN_PROC ||\n        this.curr.state === this.PARSING_STATE.IN_DATA\n      ) {\n        this.stack.pop();\n        this.stack.pop();\n        this.endFoldingBlock_(\n          this.curr.state === this.PARSING_STATE.IN_PROC\n            ? this.SEC_TYPE.PROC\n            : this.SEC_TYPE.DATA,\n          token.end,\n          true,\n          this.curr.start,\n          this.curr.name,\n        );\n      }\n    }\n    return token;\n  }\n  private readMend_() {\n    const token = this.getNext_();\n    if (token && token.text === \";\") {\n      if (this.curr.state === this.PARSING_STATE.IN_MACRO) {\n        this.stack.pop();\n        this.stack.pop();\n        this.tryEndFoldingBlock_(\n          this.curr.start.start,\n          this.SEC_TYPE.MACRO,\n          token.end,\n        );\n      }\n    }\n    return token;\n  }\n}\n/*\nHow to handle this kind of statement?\n  scatterplot x=horsepower y=mpg_city / group=origin name=\"cars\";\n\n  '/' is not an operator.\n\n*/\nclass Expression {\n  parse: (\n    ignoreDivision: boolean | undefined,\n    startPos: number,\n    onMeetTarget: any,\n  ) => { pos: number };\n  constructor(parser: LexerEx) {\n    const isScopeBeginMark = arrayToMap([\"[\", \"{\", \"(\"]);\n\n    function _copyContext(src: { pos: any }, dst: { pos: any }) {\n      dst.pos = src.pos;\n    }\n\n    function _cloneContext(src: { pos: any }) {\n      return {\n        pos: src.pos,\n      };\n    }\n\n    function _next0(context: { pos: number }) {\n      context.pos++;\n      let token = parser.prefetch0_(context.pos);\n      if (!token) {\n        const end = parser._docEndPos();\n        token = {\n          type: \"text\",\n          text: \"\",\n          start: end,\n          end: end,\n        };\n      }\n      return token;\n    }\n\n    function _next(context: { pos: any }) {\n      let token;\n      do {\n        token = _next0(context);\n      } while (Lexer.isComment[token.type]);\n      return token;\n    }\n\n    function _tryGetOpr(context: any) {\n      const tmpContext = _cloneContext(context),\n        token = _next(tmpContext);\n\n      return { token: token, context: tmpContext };\n    }\n    /*\n     *  output out= tmp*ginv((CovVarR-CovVarU),b=a)*tmp*(a+b)*(f(a,b))\n     *\n     */\n    // get the token count in an expression\n    function _expr(\n      context: { pos: any; onMeetTarget: any },\n      ends: { [x: string]: any; \";\"?: number },\n      optionNameCandidate?: boolean,\n    ) {\n      let text, ret;\n\n      const tmpContext = _cloneContext(context),\n        token = _next(tmpContext);\n      if (ends && ends[token.text]) {\n        return;\n      } else if (isScopeBeginMark[token.text]) {\n        // not consume this mark\n        _argList(context, ends);\n      } else if (Lexer.isUnaryOpr[token.text]) {\n        _copyContext(tmpContext, context); // consume this operator\n        _expr(context, ends);\n      } else {\n        _copyContext(tmpContext, context); // consume this token\n        if (optionNameCandidate && Lexer.isWord[token.type]) {\n          context.onMeetTarget(token, context.pos);\n        }\n      }\n\n      for (;;) {\n        ret = _tryGetOpr(context);\n        text = ret.token.text;\n        if (Lexer.isBinaryOpr[text]) {\n          // When a word token is followed by '=' as a binary operator\n          // inside a parenthesized argument list, mark it as a keyword parameter.\n          if (\n            text === \"=\" &&\n            optionNameCandidate &&\n            Lexer.isWord[token.type] &&\n            (token.type === \"text\" || token.type === Lexer.TOKEN_TYPES.MREF)\n          ) {\n            token.type = Lexer.TOKEN_TYPES.MKEYWORDPARAM;\n          }\n          _copyContext(ret.context, context);\n          if (Lexer.isWord[ret.token.type]) {\n            //may always be keyword, but we take the general flow (HTMLCOMMONS-3812)\n            context.onMeetTarget(ret.token, context.pos);\n          }\n          _expr(context, ends);\n        } else if (isScopeBeginMark[text]) {\n          if (Lexer.isWord[token.type] && text === \"(\") {\n            //TODO: Improve this\n            //function call\n            if (parser.syntaxDb.isSasFunction(token.text)) {\n              parser.setKeyword_(token, true);\n            }\n          }\n          _argList(context, ends);\n        } else {\n          return;\n        }\n      }\n    }\n\n    function _argList(context: any, ends: { [x: string]: number }) {\n      let token = _next(context), //consume left mark\n        tmpContext = null,\n        exit = false;\n      const marks: Record<string, string> = { \"(\": \")\", \"[\": \"]\", \"{\": \"}\" },\n        lmark = token.text,\n        rmark = marks[lmark];\n\n      ends = { \";\": 1 };\n      ends[rmark] = 1;\n      let lastArgToken: any = null;\n      do {\n        lastArgToken = null;\n        const origOnMeetTarget = context.onMeetTarget;\n        // Wrap onMeetTarget to capture the last word token in an argument\n        context.onMeetTarget = function (tok: any, pos: any) {\n          lastArgToken = tok;\n          origOnMeetTarget(tok, pos);\n        };\n        _expr(context, ends, true); //complex expression\n        context.onMeetTarget = origOnMeetTarget;\n        tmpContext = _cloneContext(context);\n        token = _next(tmpContext);\n        switch (token.text) {\n          case \"\":\n          case \";\":\n            exit = true;\n            break;\n          case rmark:\n            _copyContext(tmpContext, context); // consume right mark\n            exit = true;\n            break;\n          case \"=\":\n            // The word before '=' is a keyword parameter.  Only mark it if it wasn't already recognized as a known keyword.\n            if (\n              lastArgToken &&\n              (lastArgToken.type === \"text\" ||\n                lastArgToken.type === Lexer.TOKEN_TYPES.MREF)\n            ) {\n              lastArgToken.type = Lexer.TOKEN_TYPES.MKEYWORDPARAM;\n            }\n            _copyContext(tmpContext, context);\n            _expr(context, ends); //option value\n            break;\n          case \",\":\n            _copyContext(tmpContext, context);\n            break;\n        }\n      } while (!exit);\n    }\n\n    this.parse = function (\n      ignoreDivision: boolean | undefined,\n      startPos: number,\n      onMeetTarget: any,\n    ) {\n      const context = {\n          pos: startPos,\n          onMeetTarget: onMeetTarget,\n        },\n        ret = { pos: 0 };\n      try {\n        if (ignoreDivision === undefined) {\n          ignoreDivision = true;\n        }\n        ignoreDivision\n          ? delete Lexer.isBinaryOpr[\"/\"]\n          : (Lexer.isBinaryOpr[\"/\"] = 1);\n        // Lexer.isBinaryOpr[\"/\"] = !ignoreDivision;\n        _expr(context, { \";\": 1 });\n        ret.pos = context.pos;\n        Lexer.isBinaryOpr[\"/\"] = 1;\n      } catch (e) {\n        //ignore any errors\n        //assert('parse expression error'); // eslint-disable-line shikari/sas-i18n-ems\n      }\n      return ret;\n    };\n  }\n}\n"
  },
  {
    "path": "server/src/sas/Model.ts",
    "content": "// Copyright © 2022, SAS Institute Inc., Cary, NC, USA.  All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { TextDocument } from \"vscode-languageserver-textdocument\";\n\nimport { TextRange } from \"./utils\";\n\nexport class Model {\n  constructor(private doc: TextDocument) {}\n\n  getLine(line: number): string {\n    return this.doc.getText({\n      start: { line, character: 0 },\n      end: { line: line + 1, character: 0 },\n    });\n  }\n\n  getLineCount(): number {\n    return this.doc.lineCount;\n  }\n\n  getText(range: TextRange): string {\n    return this.doc.getText({\n      start: {\n        line: range.start.line,\n        character: range.start.column,\n      },\n      end: {\n        line: range.end.line,\n        character: range.end.column,\n      },\n    });\n  }\n\n  getColumnCount(line: number): number {\n    return (\n      this.doc.offsetAt({ line: line + 1, character: 0 }) -\n      this.doc.offsetAt({ line, character: 0 })\n    );\n  }\n}\n"
  },
  {
    "path": "server/src/sas/SyntaxDataProvider.ts",
    "content": "// Copyright © 2022, SAS Institute Inc., Cary, NC, USA.  All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n/* eslint-disable @typescript-eslint/no-unused-vars,@typescript-eslint/no-explicit-any,@typescript-eslint/dot-notation */\nimport { ResLoader } from \"../node/ResLoader\";\nimport { arrayToMap } from \"./utils\";\n\nconst getBaseUrl = () => \"../..\";\n\nexport interface HelpData {\n  key: string;\n  alias?: string[];\n  data?: string;\n  syntax?: string;\n  arguments?: ArgumentData[];\n  isGlobal?: boolean;\n  supportSite?: {\n    docsetId: string;\n    docsetVersion: string;\n    docsetTargetFile?: string;\n    supportSiteTargetFile?: string;\n    supportSiteTargetFragment?: string;\n  };\n}\n\nexport interface OptionValues {\n  type: string;\n  values: string[];\n}\n\nexport interface LibCompleteItem {\n  id: string;\n  name: string;\n  type: \"DATA\" | \"VIEW\" | \"LIBRARY\";\n}\n\nexport type LibService = (\n  libId: string | null,\n  resolve: (items: LibCompleteItem[]) => void,\n) => void;\n\ninterface SupportSiteInformation {\n  docsetId: string;\n  docsetVersion: string;\n  docsetTargetFile: string;\n}\n\ninterface FunctionData {\n  name: string;\n  description?: string;\n  syntax?: { help: string; arguments?: ArgumentData[] };\n  supportSiteInformation?: SupportSiteInformation;\n}\n\ninterface ArgumentData {\n  name: string;\n  description: string;\n  placeholder?: boolean;\n  optional?: boolean;\n  dataTypes?: string[];\n  supportSiteTargetFragment?: string;\n}\n\ninterface StatementOption {\n  name: string;\n  type: string;\n  aliases?: string[];\n  arguments?: StatementOption[];\n  followsDelimiter?: string;\n  description?: string;\n  help?: string;\n  placeholder?: boolean;\n  supportSiteTargetFragment?: string;\n  supportSiteInformation?: SupportSiteInformation;\n}\n\ninterface Statement {\n  name: string;\n  aliases?: string[];\n  arguments?: StatementOption[];\n  description?: string;\n  help?: string;\n  supportSiteTargetFile?: string;\n  supportSiteInformation?: SupportSiteInformation;\n}\n\ninterface Procedure {\n  name: string;\n  statements?: Statement[];\n  supportSiteInformation?: SupportSiteInformation;\n  interactive?: boolean;\n}\n\nconst db: any = {\n    procOpts: {},\n    procStmts: {},\n    kwPool: {},\n    stmts: {},\n    functions: {},\n    sasColors: [],\n  },\n  ID_HELP = \"_$help\",\n  ID_TYPE = \"_$type\",\n  ID_OPTS = \"_$options\",\n  ID_OPTS_REQ = \"_$optionsReq\",\n  ID_VALS = \"_$values\",\n  ID_STMTS = \"_$stms\",\n  ID_HAS_OPT_DELIMITER = \"_$hasOptDelimiter\",\n  ID_SUB_OPTS = \"_$subOpts\",\n  ID_KEYWORDS = \"_$keywords\",\n  ID_ALIAS = \"_$alias\",\n  ID_ATTR = \"_$attr\",\n  ID_SYNTAX = \"_$syntax\",\n  ID_ARGUMENTS = \"_$arguments\",\n  ID_SUPPORT_SITE = \"_$supportSite\",\n  stmtTable = arrayToMap([\n    \"ABORT\",\n    \"ARRAY\",\n    \"ATTRIB\",\n    \"AXIS\",\n    \"ENDRSUBMIT\",\n    \"FILE\",\n    \"FILENAME\",\n    \"FOOTNOTE\",\n    \"FORMAT\",\n    \"GOPTIONS\",\n    \"INFILE\",\n    \"INFORMAT\",\n    \"KILLTASK\",\n    \"LEGEND\",\n    \"LIBNAME\",\n    \"LISTTASK\",\n    \"LOCK\",\n    \"NOTE\",\n    \"ODS\",\n    \"OPTIONS\",\n    \"PATTERN\",\n    \"RDISPLAY\",\n    \"RGET\",\n    \"RSUBMIT\",\n    \"RUN\",\n    \"SIGNOFF\",\n    \"SIGNON\",\n    \"SYMBOL\",\n    \"SYSTASK\",\n    \"TITLE\",\n    \"CAS\",\n    \"CASLIB\",\n    \"WAITFOR\",\n    \"WHERE\",\n    \"DATA-SET\",\n    \"DATA-STEP\",\n  ]),\n  procTable = arrayToMap([\n    \"MACRO\",\n    \"ODS\",\n    \"DATA\",\n    \"STATGRAPH\",\n    \"DEFINE_TAGSET\",\n    \"DEFINE_EVENT\",\n  ]);\nlet libService: LibService;\n\n// Utilities\nfunction _uniq(arr: any[]) {\n  const a = [],\n    o: any = {},\n    len = arr.length;\n  if (len < 2) {\n    return arr;\n  }\n  for (let i = 0; i < len; i++) {\n    const v = arr[i];\n    if (!o[v]) {\n      a.push(v);\n      o[v] = true;\n    }\n  }\n  return a;\n}\n\nfunction _notify<T>(cb: ((arg0: T) => void) | null | undefined, data: T) {\n  if (cb) {\n    setTimeout(function () {\n      cb(data);\n    }, 0);\n  }\n  return data;\n}\n\nfunction _obj(root: any, ...other: any[]) {\n  let i = 0,\n    obj = root;\n  for (; obj && (other[i] !== undefined || other[i + 1] !== undefined); i++) {\n    obj = obj[other[i]];\n  }\n  return obj;\n}\n\nfunction _removeEqu(name: string) {\n  return name.replace(\"=\", \"\");\n}\nfunction _cleanName(name: string) {\n  const matched = /^\\((.*)\\)$/.exec(name);\n  if (matched) {\n    return matched[1];\n  } else {\n    return name.replace(/(\\(.*\\))|=/g, \"\");\n  }\n}\nfunction _resolveAliasFromPubs(alias: string, item: { name: string }) {\n  const cloneItem = JSON.parse(JSON.stringify(item)); // deep clone\n  cloneItem.name = alias;\n  const index = cloneItem.aliases.indexOf(alias);\n  cloneItem.aliases.splice(index, 1, item.name);\n  return cloneItem;\n}\nfunction _resolveAlias(name: string, pool: string) {\n  return pool.split(\"|\").filter(function (item) {\n    return item && _removeEqu(item) !== name;\n  });\n}\n\nfunction _stmtOptSupportSite(\n  context: string,\n  stmtName: string,\n  optName: string,\n) {\n  let supportSite = _procStmtObj(context, stmtName)[ID_SUPPORT_SITE];\n  if (supportSite) {\n    const optionSite = _procStmtObj(context, stmtName, optName)[\n      ID_SUPPORT_SITE\n    ];\n    if (optionSite && optionSite.docsetTargetFile) {\n      return optionSite;\n    }\n    supportSite = Object.assign({}, supportSite);\n    supportSite.supportSiteTargetFile = supportSite.docsetTargetFile;\n    supportSite.supportSiteTargetFragment = optionSite;\n  }\n  return supportSite;\n}\n\nfunction _procOptSupportSite(procName: string, optName: string) {\n  let supportSite = _procOptObj(procName)[ID_SUPPORT_SITE];\n  if (supportSite) {\n    supportSite = Object.assign({}, supportSite);\n    supportSite.supportSiteTargetFragment = _procOptObj(\n      procName,\n      _removeEqu(optName),\n    )[ID_SUPPORT_SITE];\n  }\n  return supportSite;\n}\n\nfunction _procStmtOptSupportSite(\n  procName: string,\n  stmtName: string,\n  optName: string,\n) {\n  let supportSite = _procOptObj(procName)[ID_SUPPORT_SITE];\n  if (supportSite) {\n    supportSite = Object.assign({}, supportSite);\n    supportSite.supportSiteTargetFile = _procStmtObj(procName, stmtName)[\n      ID_SUPPORT_SITE\n    ];\n    supportSite.supportSiteTargetFragment = _procStmtObj(\n      procName,\n      stmtName,\n      optName,\n    )[ID_SUPPORT_SITE];\n  }\n  return supportSite;\n}\n\nfunction _procOptObj(\n  procName: string,\n  optName?: string,\n  valName?: string,\n  subOptName?: string,\n) {\n  if (optName) {\n    optName = _removeEqu(optName);\n  }\n  if (subOptName) {\n    subOptName = _removeEqu(subOptName);\n  }\n  return _obj(db.procOpts, procName, optName, valName, subOptName);\n}\n\nfunction _procStmtObj(\n  procName: string,\n  stmtName?: string,\n  optName?: string,\n  valName?: string,\n  subOptName?: string,\n) {\n  if (optName) {\n    optName = _cleanName(optName);\n  }\n  if (subOptName) {\n    subOptName = _removeEqu(subOptName);\n  }\n  return _obj(db.procStmts, procName, stmtName, optName, valName, subOptName);\n}\n\nfunction _keywordObj(type: string, name?: string) {\n  return _obj(db.kwPool, type, name);\n}\n\nfunction _stmtObj(\n  stmtName: string,\n  optName?: string,\n  valName?: string,\n  subOptName?: string,\n) {\n  if (optName) {\n    optName = _removeEqu(optName);\n  }\n  return _obj(db.stmts, stmtName, optName, valName, subOptName);\n}\n\nfunction _funcObj(funcName: string, context: string) {\n  return _obj(db.functions, context, funcName);\n}\n\nconst Type2File: Record<string, string> = {\n  formats: \"SASFormats.json\",\n  informats: \"SASInformats.json\",\n  \"macro-func\": \"SASMacroFunctions.json\",\n  \"macro-stmt\": \"SASMacroStatements.json\",\n  \"macro-def-opt\": \"MacroDefinitionOptions.json\",\n  \"ods-tagsets\": \"ODS_Tagsets.json\",\n  \"auto-var\": \"SASAutoVariables.json\",\n  \"autocall-macro\": \"SASAutocallMacros.json\",\n  \"arm-macro\": \"SASARMMacros.json\",\n  \"call-routines\": \"SASCallRoutines.json\",\n  \"hash-pack-method\": \"HashPackageMethods.json\",\n  \"stat-kw\": \"StatisticsKeywords.json\",\n  \"style-loc\": \"StyleLocations.json\",\n  \"style-att\": \"StyleAttributes.json\",\n  \"style-ele\": \"StyleElements.json\",\n  func: \"SASFunctions.json\",\n  \"ds-stmt\": \"SASDataStepStatements.json\",\n  \"ds-option\": \"SASDataSetOptions.json\",\n  \"gbl-stmt\": \"SASGlobalStatements.json\",\n  \"gbl-proc-stmt\": \"SASGlobalProcedureStatements.json\",\n  proc: \"SASProcedures.json\",\n  \"datastep-option\": \"SASDataStepOptions.json\",\n  \"datastep-option2\": \"SASDataStepOptions2.json\",\n  sql: \"SQLKeywords.json\",\n};\nfunction _resolveURL(type: string) {\n  let url = getBaseUrl() + \"/data/\";\n  if (Type2File[type]) {\n    url += Type2File[type];\n  } else {\n    return null;\n  }\n  return url;\n}\n\nfunction _getSubOptKeywords(obj: any, data: string) {\n  //obj must be an object\n  const keywords = data.split(\"|\");\n  if (!obj[ID_KEYWORDS]) {\n    obj[ID_KEYWORDS] = [];\n  }\n  const list = obj[ID_KEYWORDS];\n  keywords.forEach(function (item) {\n    item =\n      typeof item === \"string\"\n        ? item.trim()\n        : item !== null\n          ? String(item).trim()\n          : \"\";\n    if (item === \"\") {\n      return;\n    }\n    obj[_removeEqu(item)] = true;\n    list.push(item);\n  });\n  return obj;\n}\n\nfunction _getHelp(data: { [x: string]: any }) {\n  return data ? data[\"#cdata\"] : \"\";\n}\n\nfunction _iterateValues(\n  values: { [x: string]: string },\n  tooltips: { [x: string]: any } | null,\n  cb: {\n    (i: any, name: any, tooltip: any): void;\n    (arg0: number, arg1: any, arg2: any): void;\n  },\n) {\n  let i = 1,\n    j = 0,\n    name = \"@Value\" + i,\n    names;\n  while (values[name]) {\n    names = values[name].split(\"|\");\n    for (j = 0; j < names.length; j++) {\n      cb(j, names[j], tooltips ? tooltips[\"@ToolTip\" + i] : undefined);\n    }\n    i++;\n    name = \"@Value\" + i;\n  }\n}\n\nfunction _iterateKeywords(\n  keywords: any[],\n  cb: {\n    (i: any, name: any, data: any): void;\n    (arg0: number, arg1: any, arg2: any): void;\n  },\n) {\n  const count = keywords.length;\n  for (let i = 0; i < count; i++) {\n    if (!keywords[i][\"Name\"]) {\n      continue;\n    }\n    const names = keywords[i].Name.split(\"|\");\n    for (let j = 0; j < names.length; j++) {\n      cb(i, names[j], keywords[i]);\n    }\n  }\n}\n\nfunction _tryToLoad<T>(config: {\n  userCb: ((data: T) => void) | null | undefined;\n  getData: () => T;\n  needToLoad: () => boolean;\n  load: (cb?: () => void) => void;\n}) {\n  if (!config.needToLoad()) {\n    //data is ready\n    return _notify(config.userCb, config.getData());\n  } else {\n    // data is not ready\n    const async = !!config.userCb;\n    if (async) {\n      // async mode\n      config.load(function () {\n        config.userCb?.(config.getData());\n      });\n    } else {\n      config.load();\n      return config.getData();\n    }\n  }\n}\n\n// Sas Colors\nfunction _setColors(values: any) {\n  _iterateValues(values, null, function (i: any, name: any, tooltip: any) {\n    db.sasColors.push(name);\n  });\n}\nfunction _loadColors(cb: () => void) {\n  const url = getBaseUrl() + \"/data/SASColorValues.json\";\n  ResLoader.get(\n    url,\n    function (data: { Color: { Values: any } }) {\n      if (data && data.Color) {\n        _setColors(data.Color.Values);\n        if (cb) {\n          cb();\n        }\n      }\n    },\n    !!cb,\n  ); //if cb exists, use async mode\n}\nfunction _sasColorsLoaded() {\n  return db.sasColors.length > 0;\n}\n\nfunction _tryToLoadColors(userCb: any) {\n  return _tryToLoad({\n    userCb: userCb,\n    getData: function () {\n      return db.sasColors;\n    },\n    needToLoad: function () {\n      return !_sasColorsLoaded();\n    },\n    load: function (cb: any) {\n      _loadColors(cb);\n    },\n  });\n}\n\nfunction _getFunctionHelp(funcName: string, context: string, userCb?: any) {\n  return _tryToLoadFunctionsFromPubs(context, userCb, function () {\n    let data = _funcObj(funcName, context);\n    if (data) {\n      data = {\n        key: funcName,\n        data: data[ID_HELP],\n        syntax: data[ID_SYNTAX],\n        arguments: data[ID_ARGUMENTS],\n        supportSite: data[ID_SUPPORT_SITE],\n      };\n    }\n    return data;\n  });\n}\nfunction _setFunctionsFromPubs(data: FunctionData[], context: string) {\n  if (!db.functions[context]) {\n    db.functions[context] = {};\n  }\n  const list: string[] = [];\n  data.forEach(function (fun) {\n    list.push(fun.name);\n    db.functions[context][fun.name] = {};\n    db.functions[context][fun.name][ID_HELP] = fun.description;\n    db.functions[context][fun.name][ID_SYNTAX] = fun.syntax && fun.syntax.help;\n    db.functions[context][fun.name][ID_ARGUMENTS] =\n      fun.syntax && fun.syntax.arguments;\n    db.functions[context][fun.name][ID_SUPPORT_SITE] =\n      fun.supportSiteInformation;\n  });\n  db.functions[context][ID_KEYWORDS] = list;\n}\nfunction _loadFunctionsFromPubs(context: string, cb?: () => void) {\n  const url = getBaseUrl() + \"/pubsdata/Functions/en/\" + context + \".json\";\n  ResLoader.get(\n    url,\n    function (data?: FunctionData[]) {\n      if (data && data.length) {\n        _setFunctionsFromPubs(data, context);\n        if (cb) {\n          cb();\n        }\n      }\n    },\n    !!cb,\n  ); //if cb exists, use async mode\n}\nfunction _FunctionsLoadedFromPubs(context: string) {\n  return db.functions[context];\n}\nfunction _tryToLoadFunctionsFromPubs<T>(\n  context: string,\n  userCb: ((data: T) => void) | null | undefined,\n  getDataFunc: () => T,\n) {\n  return _tryToLoad({\n    userCb: userCb,\n    getData: getDataFunc,\n    needToLoad: function () {\n      return !_FunctionsLoadedFromPubs(context);\n    },\n    load: function (cb) {\n      _loadFunctionsFromPubs(context, cb);\n    },\n  });\n}\n\nfunction _loadProceduresFromPubs(cb?: () => void) {\n  const url = getBaseUrl() + \"/pubsdata/procedures.json\";\n  ResLoader.get(\n    url,\n    function (data?: string[]) {\n      if (data && data.length) {\n        if (db.kwPool[\"proc\"] === undefined) {\n          db.kwPool.proc = {};\n        }\n        data.forEach(function (item) {\n          db.kwPool[\"proc\"][item] = {};\n        });\n        db.kwPool[\"proc\"][ID_KEYWORDS] = data;\n        if (cb) {\n          cb();\n        }\n      }\n    },\n    !!cb,\n  ); //if cb exists, use async mode\n}\nfunction _tryToLoadProceduresFromPubs<T>(\n  userCb: ((data: T) => void) | null | undefined,\n  getDataFunc: () => T,\n) {\n  return _tryToLoad({\n    userCb: userCb,\n    getData: getDataFunc,\n    needToLoad: function () {\n      return !_keywordLoaded(\"proc\");\n    },\n    load: function (cb) {\n      _loadProceduresFromPubs(cb);\n    },\n  });\n}\n\n// Statements\nfunction _setStatementOptionValueHelp(\n  stmtName: string,\n  optName: string,\n  valName: string,\n  help: string,\n) {\n  if (db.stmts[stmtName][optName][valName] === undefined) {\n    db.stmts[stmtName][optName][valName] = {};\n  }\n  db.stmts[stmtName][optName][valName][ID_HELP] = help;\n}\n\nfunction _setStatementOptionValues(\n  stmtName: string,\n  optName: string,\n  values: any,\n  tooltips: any,\n) {\n  const list: string[] = [];\n  _iterateValues(\n    values,\n    tooltips,\n    function (i: any, name: string, tooltip: any) {\n      list.push(name);\n      if (tooltips) {\n        _setStatementOptionValueHelp(\n          stmtName,\n          optName,\n          name.toUpperCase(),\n          tooltip,\n        );\n      }\n    },\n  );\n  db.stmts[stmtName][optName][ID_VALS] = list;\n}\nfunction _setStatementOptionHelp(stmtName: string, optName: string, data: any) {\n  db.stmts[stmtName][optName][ID_HELP] = _getHelp(data);\n}\nfunction _setStatementOptionType(stmtName: string, optName: string, data: any) {\n  db.stmts[stmtName][optName][ID_TYPE] = data;\n}\nfunction _setStatementOptionAlias(\n  stmtName: string,\n  optName: string,\n  data: any,\n) {\n  db.stmts[stmtName][optName][ID_ALIAS] = _resolveAlias(optName, data);\n}\nfunction _setStatementSubOptions(stmtName: string, optName: string, data: any) {\n  const list = db.stmts[stmtName][optName][ID_SUB_OPTS] || {};\n  _getSubOptKeywords(list, data);\n  db.stmts[stmtName][optName][ID_SUB_OPTS] = list;\n}\nfunction _setStatementOption(\n  stmtName: string,\n  optName: string,\n  data: {\n    Help: any;\n    Type: any;\n    Name: any;\n    Values: any;\n    ToolTips: any;\n    SubOptionsKeywords: any;\n  },\n) {\n  optName = _removeEqu(optName);\n  if (db.stmts[stmtName][optName] === undefined) {\n    db.stmts[stmtName][optName] = {};\n  }\n  _setStatementOptionHelp(stmtName, optName, data.Help);\n  _setStatementOptionType(stmtName, optName, data.Type);\n  _setStatementOptionAlias(stmtName, optName, data.Name);\n  if (data.Values) {\n    _setStatementOptionValues(stmtName, optName, data.Values, data.ToolTips);\n  }\n  if (data.SubOptionsKeywords) {\n    _setStatementSubOptions(stmtName, optName, data.SubOptionsKeywords);\n  }\n}\n\nfunction _setStatementOptions(stmtName: string, keywords: any) {\n  const list: string[] = [];\n  if (db.stmts[stmtName] === undefined) {\n    db.stmts[stmtName] = {};\n  }\n  _iterateKeywords(keywords, function (i: any, name: any, data: any) {\n    list.push(name);\n    _setStatementOption(stmtName, name, data);\n  });\n  db.stmts[stmtName][ID_OPTS] = list;\n}\n\nfunction _loadStatementOptions(stmtName: string, cb: () => void) {\n  let url = getBaseUrl() + \"/data/\";\n  if (stmtName === \"DATA-SET\") {\n    url += \"SASDataSetOptions\";\n  } else if (stmtName === \"DATA-STEP\") {\n    url += \"SASDataStepOptions\";\n  } else {\n    url += \"Statements/\" + stmtName.toUpperCase();\n  }\n  url += \".json\";\n  ResLoader.get(\n    url,\n    function (data: { Keywords: { Keyword: any } }) {\n      if (data && data.Keywords) {\n        _setStatementOptions(stmtName, data.Keywords.Keyword);\n        if (cb) {\n          cb();\n        }\n      }\n    },\n    !!cb,\n  );\n}\n\nfunction _statementLoaded(stmtName: string) {\n  return db.stmts[stmtName];\n}\n\nfunction _tryToLoadStatementOptions(\n  stmtName: string,\n  userCb: any,\n  getDataFunc: { (): any },\n) {\n  return _tryToLoad({\n    userCb: userCb,\n    getData: getDataFunc,\n    needToLoad: function () {\n      return stmtTable[stmtName] && !_statementLoaded(stmtName);\n    },\n    load: function (cb: any) {\n      _loadStatementOptions(stmtName, cb);\n    },\n  });\n}\n\nfunction _getStatementHelp(\n  context: string,\n  stmtName: string,\n  userCb?: (data?: HelpData) => void,\n) {\n  return _tryToLoadStatementsFromPubs(context, userCb, function () {\n    let data = _procStmtObj(context, stmtName);\n    if (data) {\n      data = {\n        key: stmtName,\n        data: data[ID_HELP],\n        alias: data[ID_ALIAS],\n        syntax: data[ID_SYNTAX],\n        supportSite: data[ID_SUPPORT_SITE],\n      };\n    }\n    return data;\n  });\n}\nfunction _setStatementsFromPubs(data: Statement[], context: string) {\n  if (!db.procStmts[context]) {\n    db.procStmts[context] = {};\n  }\n  const list: string[] = [];\n  data.forEach(function (stmt) {\n    const stmtName = stmt.name;\n    list.push(stmtName);\n    if (db.procStmts[context][stmtName] === undefined) {\n      db.procStmts[context][stmtName] = {};\n      db.procStmts[context][stmtName][ID_HAS_OPT_DELIMITER] = false;\n    }\n    db.procStmts[context][stmtName][ID_HELP] = stmt.description;\n    db.procStmts[context][stmtName][ID_SYNTAX] = stmt.help;\n    db.procStmts[context][stmtName][ID_SUPPORT_SITE] =\n      stmt.supportSiteInformation;\n    db.procStmts[context][stmtName][ID_ALIAS] = stmt.aliases;\n    const opts = stmt.arguments;\n    if (opts && opts.length) {\n      _setProcedureStatementOptionsFromPubs(context, stmtName, opts);\n    }\n    if (stmt.aliases) {\n      stmt.aliases.forEach(function (alias: string) {\n        list.push(alias);\n        db.procStmts[context][alias] = JSON.parse(\n          JSON.stringify(db.procStmts[context][stmtName]),\n        ); // deep clone\n        db.procStmts[context][alias][ID_ALIAS] = _resolveAliasFromPubs(\n          alias,\n          stmt,\n        ).aliases;\n      });\n    }\n  });\n  db.procStmts[context][ID_STMTS] = list;\n}\nfunction _loadStatementsFromPubs(context: string, cb?: () => void) {\n  const url = getBaseUrl() + \"/pubsdata/Statements/en/\" + context + \".json\";\n  ResLoader.get(\n    url,\n    function (data?: Statement[]) {\n      if (data && data.length) {\n        _setStatementsFromPubs(data, context);\n        if (cb) {\n          cb();\n        }\n      }\n    },\n    !!cb,\n  ); //if cb exists, use async mode\n}\nfunction _StatementsLoadedFromPubs(context: string) {\n  return db.procStmts[context];\n}\nfunction _tryToLoadStatementsFromPubs<T>(\n  context: string,\n  userCb: ((data: T) => void) | null | undefined,\n  getDataFunc: () => T,\n) {\n  return _tryToLoad({\n    userCb: userCb,\n    getData: getDataFunc,\n    needToLoad: function () {\n      return !_StatementsLoadedFromPubs(context);\n    },\n    load: function (cb) {\n      _loadStatementsFromPubs(context, cb);\n    },\n  });\n}\n\n// Keywords\nfunction _setKeywordHelp(type: string, name: string, data: any) {\n  db.kwPool[type][name][ID_HELP] = _getHelp(data);\n}\nfunction _setKeywordAlias(type: string, name: string, data: any) {\n  db.kwPool[type][name][ID_ALIAS] = _resolveAlias(name, data);\n}\nfunction _setKeywordAttr(type: string, name: string, data: string) {\n  db.kwPool[type][name][ID_ATTR] = data;\n}\nfunction _setKeyword(\n  type: string,\n  name: string,\n  data: { Help: any; Name: any; Attributes: any },\n) {\n  if (db.kwPool[type][name] === undefined) {\n    db.kwPool[type][name] = {};\n  }\n  _setKeywordHelp(type, name, data.Help);\n  _setKeywordAlias(type, name, data.Name);\n  _setKeywordAttr(type, name, data.Attributes);\n}\nfunction _setKeywords(type: string, keywords: any) {\n  const list: string[] = [];\n  if (db.kwPool[type] === undefined) {\n    db.kwPool[type] = {};\n  }\n  _iterateKeywords(keywords, function (i: any, name: any, data: any) {\n    list.push(name);\n    _setKeyword(type, _removeEqu(name).toUpperCase(), data);\n  });\n  db.kwPool[type][ID_KEYWORDS] = list;\n}\n\nfunction _loadKeywords(type: string, cb: any) {\n  const url = _resolveURL(type)!;\n  ResLoader.get(\n    url,\n    function (data: { Keywords: { Keyword: any } }) {\n      if (data && data.Keywords) {\n        _setKeywords(type, data.Keywords.Keyword);\n        if (cb) {\n          cb();\n        }\n      }\n    },\n    !!cb,\n  );\n}\nfunction _keywordLoaded(type: string) {\n  return db.kwPool[type];\n}\n\nfunction _tryToLoadKeywords(\n  type: string,\n  userCb: any,\n  getDataFunc: { (): any },\n) {\n  return _tryToLoad({\n    userCb: userCb,\n    getData: getDataFunc,\n    needToLoad: function () {\n      return !_keywordLoaded(type);\n    },\n    load: function (cb: any) {\n      _loadKeywords(type, cb);\n    },\n  });\n}\n\nfunction _getKeywords(type: string, userCb: any) {\n  return _tryToLoadKeywords(type, userCb, function () {\n    let data = _keywordObj(type);\n    if (data) {\n      data = data[ID_KEYWORDS];\n    }\n    return data;\n  });\n}\nfunction _getKeywordHelp(name: string, type: string, userCb: any) {\n  return _tryToLoadKeywords(type, userCb, function () {\n    let data = _keywordObj(type, _removeEqu(name).toUpperCase());\n    if (data) {\n      data = { key: name, data: data[ID_HELP], alias: data[ID_ALIAS] };\n    }\n    return data;\n  });\n}\n\n// Procedures\nfunction _loadProcedureFromPubs(procName: string, cb?: () => void) {\n  const url = getBaseUrl() + \"/pubsdata/Procedures/en/\" + procName + \".json\";\n  ResLoader.get(\n    url,\n    function (data: Procedure) {\n      if (data && data.statements) {\n        _setProcedureFromPubs(\n          procName,\n          data.statements,\n          data.supportSiteInformation,\n        );\n        if (data.interactive) {\n          _setKeywordAttr(\"proc\", data.name, \"InteractivePROC\");\n        }\n        if (cb) {\n          cb();\n        }\n      }\n    },\n    !!cb,\n  );\n}\nfunction _loadProcedure(procName: string, cb?: () => void) {\n  if (procTable[procName]) {\n    const url = getBaseUrl() + \"/data/Procedures/\" + procName + \".json\";\n    return ResLoader.get(\n      url,\n      function (data: { Procedure: any }) {\n        if (data && data.Procedure) {\n          _setProcedure(procName, data.Procedure);\n          if (cb) {\n            cb();\n          }\n        }\n      },\n      !!cb,\n    );\n  }\n  return _loadProcedureFromPubs(procName, cb);\n}\n\nfunction _procedureLoaded(procName: string) {\n  return db.procStmts[procName];\n}\n\nfunction _tryToLoadProcedure<T>(\n  procName: string,\n  userCb: ((data: T) => void) | null | undefined,\n  getDataFunc: () => T,\n) {\n  return _tryToLoad({\n    userCb: userCb,\n    getData: getDataFunc,\n    needToLoad: function () {\n      const procs = _tryToLoadProceduresFromPubs(null, function () {\n        return _keywordObj(\"proc\");\n      });\n      return (\n        procs &&\n        (procs[procName] || procTable[procName]) &&\n        !_procedureLoaded(procName)\n      );\n    },\n    load: function (cb) {\n      _loadProcedure(procName, cb);\n    },\n  });\n}\n\nfunction _setProcedureFromPubs(\n  procName: string,\n  data: Statement[],\n  supportSite?: SupportSiteInformation,\n) {\n  if (db.procOpts[procName] === undefined) {\n    db.procOpts[procName] = {};\n  }\n  if (db.procStmts[procName] === undefined) {\n    db.procStmts[procName] = {};\n  }\n  if (data[0]) {\n    if (supportSite) {\n      db.procOpts[procName][ID_SUPPORT_SITE] = {\n        ...supportSite,\n        supportSiteTargetFile: data[0].supportSiteTargetFile,\n      };\n    }\n    _setProcedureHelpFromPubs(procName, data[0]);\n    const opts = data[0].arguments;\n    if (opts && opts.length) {\n      _setProcedureOptionsFromPubs(procName, opts);\n    }\n  }\n  data.splice(0, 1);\n  if (data.length) {\n    _setProcedureStatementsFromPubs(procName, data);\n  }\n}\nfunction _setProcedure(\n  procName: string,\n  data: { ProcedureHelp: any; ProcedureOptions: any; ProcedureStatements: any },\n) {\n  if (db.procOpts[procName] === undefined) {\n    db.procOpts[procName] = {};\n  }\n  if (db.procStmts[procName] === undefined) {\n    db.procStmts[procName] = {};\n  }\n  _setProcedureHelp(procName, data.ProcedureHelp);\n  if (data.ProcedureOptions) {\n    let opts = data.ProcedureOptions;\n    if (!(opts instanceof Array)) {\n      opts = [opts];\n    }\n    opts.forEach(function (item: { ProcedureOption: any }) {\n      _setProcedureOptions(procName, item.ProcedureOption);\n    });\n  }\n  if (data.ProcedureStatements) {\n    let stmts = data.ProcedureStatements;\n    if (!(stmts instanceof Array)) {\n      stmts = [stmts];\n    }\n    stmts.forEach(function (item: { ProcedureStatement: any }) {\n      if (item) {\n        _setProcedureStatements(procName, item.ProcedureStatement);\n      }\n    });\n  }\n}\nfunction _setProcedureHelpFromPubs(procName: string, data: Statement) {\n  db.procOpts[procName][ID_HELP] = data.description;\n  db.procOpts[procName][ID_SYNTAX] = data.help;\n}\nfunction _setProcedureHelp(procName: string, data: any) {\n  // data is json format\n  db.procOpts[procName][ID_HELP] = _getHelp(data);\n}\nfunction _setProcedureOptionHelpFromPubs(\n  procName: string,\n  optName: string,\n  data: StatementOption,\n) {\n  db.procOpts[procName][optName][ID_HELP] = data.description;\n  db.procOpts[procName][optName][ID_SYNTAX] = data.help;\n  db.procOpts[procName][optName][ID_SUPPORT_SITE] =\n    data.supportSiteTargetFragment;\n}\nfunction _setProcedureOptionHelp(procName: string, optName: string, data: any) {\n  db.procOpts[procName][optName][ID_HELP] = _getHelp(data);\n}\nfunction _setProcedureOptionType(\n  procName: string,\n  optName: string,\n  data: string,\n) {\n  db.procOpts[procName][optName][ID_TYPE] = data;\n}\nfunction _setProcedureOptionAliasFromPubs(\n  procName: string,\n  optName: string,\n  data?: string[],\n) {\n  db.procOpts[procName][optName][ID_ALIAS] = data;\n}\nfunction _setProcedureOptionAlias(\n  procName: string,\n  optName: string,\n  data: any,\n) {\n  db.procOpts[procName][optName][ID_ALIAS] = _resolveAlias(optName, data);\n}\nfunction _setProcedureOptionSubOptKeywordsFromPubs(\n  procName: string,\n  optName: string,\n  data: StatementOption[],\n) {\n  const list = db.procOpts[procName][optName][ID_SUB_OPTS] || {};\n  if (!list[ID_KEYWORDS]) {\n    list[ID_KEYWORDS] = [];\n  }\n  data.forEach(function (arg) {\n    if (arg.placeholder || arg.type === \"standalone\") {\n      return;\n    }\n    const name = arg.name;\n    list[ID_KEYWORDS].push(name);\n    list[_removeEqu(name)] = true;\n    if (db.procOpts[procName][optName][name] === undefined) {\n      db.procOpts[procName][optName][name] = {};\n    }\n    if (arg.description) {\n      db.procOpts[procName][optName][name][ID_HELP] = arg.description;\n    }\n  });\n  db.procOpts[procName][optName][ID_SUB_OPTS] = list;\n}\nfunction _setProcedureOptionSubOptKeywords(\n  procName: string,\n  optName: string,\n  data: any,\n) {\n  //db.procOpts[procName][optName][ID_SUB_OPTS] = _getSubOptKeywords(data);;\n  //we store all sub option keywords in single place\n  const list = db.procOpts[procName][optName][ID_SUB_OPTS] || {};\n  _getSubOptKeywords(list, data);\n  db.procOpts[procName][optName][ID_SUB_OPTS] = list;\n}\nfunction _setProcedureOptionValueHelp(\n  procName: string,\n  optName: string,\n  valName: string,\n  data: string,\n) {\n  db.procOpts[procName][optName][valName][ID_HELP] = data;\n}\nfunction _setProcedureOptionValueFromPubs(\n  procName: string,\n  optName: string,\n  val: StatementOption,\n) {\n  const name = val.name.toUpperCase();\n  if (db.procOpts[procName][optName][name] === undefined) {\n    db.procOpts[procName][optName][name] = {};\n  }\n  db.procOpts[procName][optName][name][ID_ALIAS] = val.aliases;\n  if (val.description) {\n    _setProcedureOptionValueHelp(procName, optName, name, val.description);\n  }\n}\nfunction _setProcedureOptionValuesFromPubs(\n  procName: string,\n  optName: string,\n  values: StatementOption[],\n) {\n  const list: string[] = [];\n  values.forEach(function (val) {\n    if (val.placeholder || val.type !== \"standalone\") {\n      return;\n    }\n    const name = val.name;\n    list.push(name);\n    _setProcedureOptionValueFromPubs(procName, optName, val);\n    if (val.aliases && val.aliases.length) {\n      val.aliases.forEach(function (alias) {\n        list.push(alias);\n        _setProcedureOptionValueFromPubs(\n          procName,\n          optName,\n          _resolveAliasFromPubs(alias, val),\n        );\n      });\n    }\n  });\n\n  db.procOpts[procName][optName][ID_VALS] = list;\n}\nfunction _setProcedureOptionValues(\n  procName: string,\n  optName: string,\n  values: any,\n  tooltips: any,\n) {\n  const list: string[] = [];\n  _iterateValues(\n    values,\n    tooltips,\n    function (i: any, name: string, tooltip: any) {\n      list.push(name);\n      if (db.procOpts[procName][optName][name] === undefined) {\n        db.procOpts[procName][optName][name] = {};\n      }\n      if (tooltip) {\n        _setProcedureOptionValueHelp(procName, optName, name, tooltip);\n      }\n    },\n  );\n\n  db.procOpts[procName][optName][ID_VALS] = list;\n}\nfunction _setProcedureOptionFromPubs(procName: string, data: StatementOption) {\n  const optName = _removeEqu(data.name).toUpperCase();\n  if (db.procOpts[procName][optName] === undefined) {\n    db.procOpts[procName][optName] = {};\n  }\n  _setProcedureOptionHelpFromPubs(procName, optName, data);\n  _setProcedureOptionType(procName, optName, data.type);\n  _setProcedureOptionAliasFromPubs(procName, optName, data.aliases);\n  const args = data.arguments;\n  if (args && args.length) {\n    //if (data.type === 'choice') {\n    _setProcedureOptionValuesFromPubs(procName, optName, args);\n    _setProcedureOptionSubOptKeywordsFromPubs(procName, optName, args);\n  }\n}\nfunction _setProcedureOption(\n  procName: string,\n  optName: string,\n  data: {\n    ProcedureOptionHelp: any;\n    ProcedureOptionType: any;\n    ProcedureOptionName: any;\n    SubOptionsKeywords: any;\n    ProcedureOptionValues: any;\n    ProcedureOptionToolTips: any;\n  },\n) {\n  optName = _removeEqu(optName);\n  if (db.procOpts[procName][optName] === undefined) {\n    db.procOpts[procName][optName] = {};\n  }\n  _setProcedureOptionHelp(procName, optName, data.ProcedureOptionHelp);\n  _setProcedureOptionType(procName, optName, data.ProcedureOptionType);\n  _setProcedureOptionAlias(procName, optName, data.ProcedureOptionName);\n  if (data.SubOptionsKeywords) {\n    _setProcedureOptionSubOptKeywords(\n      procName,\n      optName,\n      data.SubOptionsKeywords,\n    );\n  }\n  if (data.ProcedureOptionValues) {\n    _setProcedureOptionValues(\n      procName,\n      optName,\n      data.ProcedureOptionValues,\n      data.ProcedureOptionToolTips,\n    );\n  }\n}\nfunction _setProcedureOptionsFromPubs(\n  procName: string,\n  data: StatementOption[],\n) {\n  const keywords: string[] = [];\n  data.forEach(function (item) {\n    if (!item.placeholder) {\n      _setProcedureOptionFromPubs(procName, item);\n      keywords.push(item.name);\n      if (item.aliases && item.aliases.length) {\n        item.aliases.forEach(function (alias) {\n          _setProcedureOptionFromPubs(\n            procName,\n            _resolveAliasFromPubs(alias, item),\n          );\n          keywords.push(alias);\n        });\n      }\n    }\n  });\n  db.procOpts[procName][ID_OPTS] = keywords;\n}\nfunction _setProcedureOptions(procName: string, data: any[]) {\n  if (data) {\n    let keywords: string[] = [];\n    if (!(data instanceof Array)) {\n      data = [data];\n    }\n    for (let i = 0; i < data.length; i++) {\n      if (!data[i][\"ProcedureOptionName\"]) {\n        continue;\n      }\n      const names = data[i][\"ProcedureOptionName\"].split(\"|\");\n      if (names[names.length - 1] === \"\") {\n        names.pop();\n      }\n      for (let j = 0; j < names.length; j++) {\n        _setProcedureOption(procName, names[j], data[i]);\n      }\n\n      keywords = keywords.concat(names);\n    }\n    db.procOpts[procName][ID_OPTS] = keywords;\n  }\n}\nfunction _setProcedureStatementHelpFromPubs(\n  procName: string,\n  stmtName: string,\n  data: Statement,\n) {\n  db.procStmts[procName][stmtName][ID_HELP] = data.description;\n  db.procStmts[procName][stmtName][ID_SYNTAX] = data.help;\n  db.procStmts[procName][stmtName][ID_SUPPORT_SITE] =\n    data.supportSiteTargetFile;\n}\nfunction _setProcedureStatementHelp(\n  procName: string,\n  stmtName: string,\n  data: any,\n) {\n  db.procStmts[procName][stmtName][ID_HELP] = _getHelp(data);\n}\nfunction _setProcedureStatementAliasFromPubs(\n  procName: string,\n  stmtName: string,\n  data?: string[],\n) {\n  db.procStmts[procName][stmtName][ID_ALIAS] = data;\n}\nfunction _setProcedureStatementAlias(\n  procName: string,\n  stmtName: string,\n  data: any,\n) {\n  db.procStmts[procName][stmtName][ID_ALIAS] = _resolveAlias(stmtName, data);\n}\nfunction _setProcedureStatementOptionFromPubs(\n  procName: string,\n  stmtName: string,\n  data: StatementOption,\n) {\n  const optName = _cleanName(data.name).toUpperCase(); //optName.replace('=','');\n  if (db.procStmts[procName][stmtName][optName] === undefined) {\n    db.procStmts[procName][stmtName][optName] = {};\n  }\n  _setProcedureStatementOptionHelpFromPubs(procName, stmtName, optName, data);\n  _setProcedureStatementOptionType(procName, stmtName, optName, data.type);\n  _setProcedureStatementOptionAliasFromPubs(\n    procName,\n    stmtName,\n    optName,\n    data.aliases,\n  );\n  const args = data.arguments;\n  if (args && args.length) {\n    //if (data.type === 'choice') {\n    _setProcedureStatementOptionValuesFromPubs(\n      procName,\n      stmtName,\n      optName,\n      args,\n    );\n    //} else {\n    _setProcedureStatementSubOptKeywordsFromPubs(\n      procName,\n      stmtName,\n      optName,\n      args,\n    );\n    //}\n  }\n}\nfunction _setProcedureStatementOption(\n  procName: string,\n  stmtName: string,\n  optName: string,\n  data: {\n    StatementOptionHelp: any;\n    StatementOptionType: any;\n    StatementOptionName: any;\n    SubOptionsKeywords: any;\n    StatementOptionValues: any;\n    StatementOptionToolTips: any;\n  },\n) {\n  optName = _cleanName(optName); //optName.replace('=','');\n  if (db.procStmts[procName][stmtName][optName] === undefined) {\n    db.procStmts[procName][stmtName][optName] = {};\n  }\n  _setProcedureStatementOptionHelp(\n    procName,\n    stmtName,\n    optName,\n    data.StatementOptionHelp,\n  );\n  _setProcedureStatementOptionType(\n    procName,\n    stmtName,\n    optName,\n    data.StatementOptionType,\n  );\n  _setProcedureStatementOptionAlias(\n    procName,\n    stmtName,\n    optName,\n    data.StatementOptionName,\n  );\n  if (data.SubOptionsKeywords) {\n    _setProcedureStatementSubOptKeywords(\n      procName,\n      stmtName,\n      optName,\n      data.SubOptionsKeywords,\n    );\n  }\n  if (data.StatementOptionValues) {\n    //StatementOptionValues\n    _setProcedureStatementOptionValues(\n      procName,\n      stmtName,\n      optName,\n      data.StatementOptionValues,\n      data.StatementOptionToolTips,\n    );\n  }\n}\nfunction _setProcedureStatementOptionHelpFromPubs(\n  procName: string,\n  stmtName: string,\n  optName: string,\n  data: StatementOption,\n) {\n  db.procStmts[procName][stmtName][optName][ID_HELP] = data.description;\n  db.procStmts[procName][stmtName][optName][ID_SYNTAX] = data.help;\n  db.procStmts[procName][stmtName][optName][ID_SUPPORT_SITE] =\n    data.supportSiteTargetFragment || data.supportSiteInformation;\n}\nfunction _setProcedureStatementOptionHelp(\n  procName: string,\n  stmtName: string,\n  optName: string,\n  data: any,\n) {\n  db.procStmts[procName][stmtName][optName][ID_HELP] = _getHelp(data);\n}\nfunction _setProcedureStatementOptionType(\n  procName: string,\n  stmtName: string,\n  optName: string,\n  data: string,\n) {\n  db.procStmts[procName][stmtName][optName][ID_TYPE] = data;\n}\nfunction _setProcedureStatementOptionAliasFromPubs(\n  procName: string,\n  stmtName: string,\n  optName: string,\n  data?: string[],\n) {\n  db.procStmts[procName][stmtName][optName][ID_ALIAS] = data;\n}\nfunction _setProcedureStatementOptionAlias(\n  procName: string,\n  stmtName: string,\n  optName: string,\n  data: any,\n) {\n  db.procStmts[procName][stmtName][optName][ID_ALIAS] = _resolveAlias(\n    optName,\n    data,\n  );\n}\nfunction _setProcedureStatementSubOptKeywordFromPubs(\n  procName: string,\n  stmtName: string,\n  optName: string,\n  subOptName: string,\n  arg: StatementOption,\n) {\n  if (db.procStmts[procName][stmtName][optName][subOptName] === undefined) {\n    db.procStmts[procName][stmtName][optName][subOptName] = {};\n  }\n  if (arg.description) {\n    db.procStmts[procName][stmtName][optName][subOptName][ID_HELP] =\n      arg.description;\n  }\n  if (arg.help) {\n    db.procStmts[procName][stmtName][optName][subOptName][ID_SYNTAX] = arg.help;\n  }\n  if (arg.aliases) {\n    db.procStmts[procName][stmtName][optName][subOptName][ID_ALIAS] =\n      arg.aliases;\n  }\n}\nfunction _setProcedureStatementSubOptKeywordsFromPubs(\n  procName: string,\n  stmtName: string,\n  optName: string,\n  data: StatementOption[],\n) {\n  const list = db.procStmts[procName][stmtName][optName][ID_SUB_OPTS] || {};\n  if (!list[ID_KEYWORDS]) {\n    list[ID_KEYWORDS] = [];\n  }\n  data.forEach(function (arg) {\n    if (arg.placeholder || arg.type === \"standalone\") {\n      return;\n    }\n    const name = arg.name;\n    list[ID_KEYWORDS].push(name);\n    list[_removeEqu(name)] = true;\n    _setProcedureStatementSubOptKeywordFromPubs(\n      procName,\n      stmtName,\n      optName,\n      name,\n      arg,\n    );\n    if (arg.aliases) {\n      arg.aliases.forEach(function (alias) {\n        list[ID_KEYWORDS].push(alias);\n        list[_removeEqu(alias)] = true;\n        _setProcedureStatementSubOptKeywordFromPubs(\n          procName,\n          stmtName,\n          optName,\n          alias,\n          _resolveAliasFromPubs(alias, arg),\n        );\n      });\n    }\n  });\n  db.procStmts[procName][stmtName][optName][ID_SUB_OPTS] = list;\n}\nfunction _setProcedureStatementSubOptKeywords(\n  procName: string,\n  stmtName: string,\n  optName: string,\n  data: any,\n) {\n  //db.procStmts[procName][stmtName][optName][ID_SUB_OPTS] = _getSubOptKeywords(data);\n  //we store all sub option keywords in single place\n  const list = db.procStmts[procName][stmtName][optName][ID_SUB_OPTS] || {};\n  _getSubOptKeywords(list, data);\n  db.procStmts[procName][stmtName][optName][ID_SUB_OPTS] = list;\n}\nfunction _setProcedureStatementOptionValueHelp(\n  procName: string,\n  stmtName: string,\n  optName: string,\n  valName: string,\n  data: string,\n) {\n  db.procStmts[procName][stmtName][optName][valName][ID_HELP] = data;\n}\nfunction _setProcedureStatementOptionValueFromPubs(\n  procName: string,\n  stmtName: string,\n  optName: string,\n  val: StatementOption,\n) {\n  const name = val.name.toUpperCase();\n  if (db.procStmts[procName][stmtName][optName][name] === undefined) {\n    db.procStmts[procName][stmtName][optName][name] = {};\n  }\n  db.procStmts[procName][stmtName][optName][name][ID_ALIAS] = val.aliases;\n  if (val.description) {\n    _setProcedureStatementOptionValueHelp(\n      procName,\n      stmtName,\n      optName,\n      name,\n      val.description,\n    );\n  }\n}\nfunction _setProcedureStatementOptionValuesFromPubs(\n  procName: string,\n  stmtName: string,\n  optName: string,\n  values: StatementOption[],\n) {\n  const list: string[] = [];\n  values.forEach(function (val) {\n    if (val.placeholder || val.type !== \"standalone\") {\n      return;\n    }\n    const name = val.name;\n    list.push(name);\n    _setProcedureStatementOptionValueFromPubs(procName, stmtName, optName, val);\n    if (val.aliases && val.aliases.length) {\n      val.aliases.forEach(function (alias) {\n        list.push(alias);\n        _setProcedureStatementOptionValueFromPubs(\n          procName,\n          stmtName,\n          optName,\n          _resolveAliasFromPubs(alias, val),\n        );\n      });\n    }\n  });\n\n  db.procStmts[procName][stmtName][optName][ID_VALS] = list;\n}\nfunction _setProcedureStatementOptionValues(\n  procName: string,\n  stmtName: string,\n  optName: string,\n  values: any,\n  tooltips: any,\n) {\n  const list: string[] = [];\n  _iterateValues(\n    values,\n    tooltips,\n    function (i: any, name: string, tooltip: any) {\n      list.push(name);\n      if (db.procStmts[procName][stmtName][optName][name] === undefined) {\n        db.procStmts[procName][stmtName][optName][name] = {};\n      }\n      if (tooltips) {\n        _setProcedureStatementOptionValueHelp(\n          procName,\n          stmtName,\n          optName,\n          name,\n          tooltip,\n        );\n      }\n    },\n  );\n\n  db.procStmts[procName][stmtName][optName][ID_VALS] = list;\n}\nfunction _setProcedureStatementOptionsFromPubs(\n  procName: string,\n  stmtName: string,\n  data: StatementOption[],\n) {\n  let keywords: string[] = [],\n    keywordsReq: string[] = [];\n  data.forEach(function (item) {\n    if (!item.placeholder) {\n      _setProcedureStatementOptionFromPubs(procName, stmtName, item);\n      if (item.followsDelimiter) {\n        keywords.push(item.name);\n      } else {\n        keywordsReq.push(item.name);\n      }\n      if (item.aliases && item.aliases.length) {\n        item.aliases.forEach(function (alias) {\n          _setProcedureStatementOptionFromPubs(\n            procName,\n            stmtName,\n            _resolveAliasFromPubs(alias, item),\n          );\n          if (item.followsDelimiter) {\n            keywords.push(alias);\n          } else {\n            keywordsReq.push(alias);\n          }\n        });\n      }\n    }\n  });\n  if (keywords.length > 0) {\n    db.procStmts[procName][stmtName][ID_HAS_OPT_DELIMITER] = true;\n  } else {\n    keywords = keywordsReq;\n    keywordsReq = [];\n  }\n  db.procStmts[procName][stmtName][ID_OPTS] = keywords;\n  db.procStmts[procName][stmtName][ID_OPTS_REQ] = keywordsReq;\n}\nfunction _setProcedureStatementOptions(\n  procName: string,\n  stmtName: string,\n  data: any[],\n) {\n  if (data) {\n    let keywords: string[] = [];\n    if (!(data instanceof Array)) {\n      data = [data];\n    }\n    for (let i = 0; i < data.length; i++) {\n      let names = data[i][\"StatementOptionName\"];\n      if (!names) {\n        continue;\n      }\n      names = names.split(\"|\");\n      if (names[names.length - 1] === \"\") {\n        names.pop();\n      }\n      for (let j = 0; j < names.length; j++) {\n        _setProcedureStatementOption(procName, stmtName, names[j], data[i]);\n      }\n      keywords = keywords.concat(names);\n    }\n    db.procStmts[procName][stmtName][ID_OPTS] = keywords;\n  }\n}\nfunction _setProcedureStatementFromPubs(\n  procName: string,\n  stmtName: string,\n  data: Statement,\n) {\n  if (db.procStmts[procName][stmtName] === undefined) {\n    db.procStmts[procName][stmtName] = {};\n    db.procStmts[procName][stmtName][ID_HAS_OPT_DELIMITER] = false;\n  }\n  _setProcedureStatementHelpFromPubs(procName, stmtName, data);\n  _setProcedureStatementAliasFromPubs(procName, stmtName, data.aliases);\n  const opts = data.arguments;\n  if (opts && opts.length) {\n    _setProcedureStatementOptionsFromPubs(procName, stmtName, opts);\n  }\n}\nfunction _setProcedureStatement(\n  procName: string,\n  stmtName: string,\n  data: {\n    StatementHelp: any;\n    StatementName: any;\n    StatementOptions: { StatementOption: any };\n  },\n) {\n  if (db.procStmts[procName][stmtName] === undefined) {\n    db.procStmts[procName][stmtName] = {};\n  }\n  _setProcedureStatementHelp(procName, stmtName, data.StatementHelp);\n  _setProcedureStatementAlias(procName, stmtName, data.StatementName);\n  if (data.StatementOptions) {\n    _setProcedureStatementOptions(\n      procName,\n      stmtName,\n      data.StatementOptions.StatementOption,\n    );\n  }\n}\nfunction _setProcedureStatementsFromPubs(procName: string, data: Statement[]) {\n  const keywords: string[] = [];\n  data.forEach(function (item) {\n    const stmtName = _removeEqu(item.name.toUpperCase());\n    _setProcedureStatementFromPubs(procName, stmtName, item);\n    if (item.aliases) {\n      item.aliases.forEach((alias) => {\n        keywords.push(alias);\n        db.procStmts[procName][alias] = Object.assign(\n          {},\n          db.procStmts[procName][stmtName],\n        );\n        db.procStmts[procName][alias][ID_ALIAS] = _resolveAliasFromPubs(\n          alias,\n          item,\n        ).aliases;\n      });\n    }\n    keywords.push(item.name);\n  });\n  db.procStmts[procName][ID_STMTS] = keywords;\n}\nfunction _setProcedureStatements(procName: string, data: any[]) {\n  if (data) {\n    let keywords: string[] = [];\n    if (!(data instanceof Array)) {\n      data = [data];\n    }\n    for (let i = 0; i < data.length; i++) {\n      let names = data[i][\"StatementName\"];\n      if (!names) {\n        continue;\n      }\n      names = names.split(\"|\");\n      if (names[names.length - 1] === \"\") {\n        names.pop();\n      }\n      for (let j = 0; j < names.length; j++) {\n        _setProcedureStatement(\n          procName,\n          _removeEqu(names[j].toUpperCase()),\n          data[i],\n        );\n      }\n      keywords = keywords.concat(names);\n    }\n    db.procStmts[procName][ID_STMTS] = keywords;\n  }\n}\nfunction _loadProcedureImmediately(procName: string) {\n  if (_procOptObj(procName)) {\n    return;\n  } //for performance\n  _tryToLoadProcedure(procName, null, function () {\n    return _procOptObj(procName);\n  });\n}\nfunction _loadKeywordsImmediately(type: string) {\n  if (_keywordObj(type)) {\n    return;\n  }\n  _tryToLoadKeywords(type, null, function () {\n    return _keywordObj(type);\n  });\n}\nfunction _tryToLoadStatementOptionsImmediately(stmtName: string) {\n  if (_stmtObj(stmtName)) {\n    return;\n  }\n  _tryToLoadStatementOptions(stmtName, null, function () {\n    return _stmtObj(stmtName);\n  });\n}\n\nexport class SyntaxDataProvider {\n  // private functions\n  private _handleOptionValues(\n    data: OptionValues,\n    cb?: (data: OptionValues) => void,\n  ) {\n    // support async behavior\n    if (this.isColorType(data.type)) {\n      // color value\n      data.values = this.getSasColors();\n      _notify(cb, data);\n    } else if (this.isDataSetType(data.type)) {\n      // library value\n      this.getLibraryList(cb, data.type); // It always is asynchronous\n    } else {\n      _notify(cb, data);\n    }\n    return data;\n  }\n  /* ************************************************************************\n   * PUBLIC INTERFACES\n   * ************************************************************************/\n  setLibService(fn: LibService) {\n    libService = fn;\n  }\n  /*\n   *  If cb is valid, the call will work in asynchronous mode;\n   *  if cb is invalid, the call will work in synchronous mode.\n   */\n  getProcedures(cb: (data: string[]) => void) {\n    //return _loadKeywords(/*'procedures'*/'proc', cb);\n    return _tryToLoadProceduresFromPubs(cb, function () {\n      let data = _keywordObj(\"proc\");\n      if (data) {\n        data = data[ID_KEYWORDS];\n      }\n      return data;\n    });\n  }\n\n  getProcedureHelp(procName: string, cb: (data: HelpData) => void) {\n    procName = procName.toUpperCase();\n    return _tryToLoadProcedure(procName, cb, function () {\n      let data = _procOptObj(procName);\n      if (data) {\n        data = {\n          data: data[ID_HELP],\n          key: procName,\n          syntax: data[ID_SYNTAX],\n          supportSite: data[ID_SUPPORT_SITE],\n        };\n      }\n      return data;\n    });\n  }\n  getProcedureOptions(procName: string, cb: (data?: string[]) => void) {\n    procName = procName.toUpperCase();\n    return _tryToLoadProcedure(procName, cb, function () {\n      let data = _procOptObj(procName);\n      if (data) {\n        data = data[ID_OPTS];\n      }\n      return data;\n    });\n  }\n  getProcedureOptionHelp(\n    procName: string,\n    optName: string,\n    cb: (data?: HelpData) => void,\n  ) {\n    procName = procName.toUpperCase();\n    optName = optName.toUpperCase();\n    return _tryToLoadProcedure(procName, cb, function () {\n      let data = _procOptObj(procName, _removeEqu(optName));\n      if (data) {\n        data = {\n          data: data[ID_HELP],\n          key: optName,\n          alias: data[ID_ALIAS],\n          syntax: data[ID_SYNTAX],\n          supportSite: _procOptSupportSite(procName, optName),\n        };\n      }\n      return data;\n    });\n  }\n  getProcedureOptionType(procName: string, optName: string) {\n    procName = procName.toUpperCase();\n    optName = optName.toUpperCase();\n    return _tryToLoadProcedure(procName, null, function () {\n      let data = _procOptObj(procName, _removeEqu(optName));\n      if (data) {\n        data = data[ID_TYPE];\n      }\n      return data;\n    });\n  }\n  getProcedureOptionValueHelp(\n    procName: string,\n    optName: string,\n    valName: string,\n    cb: (data?: HelpData) => void,\n  ) {\n    return _tryToLoadProcedure(procName, cb, function () {\n      procName = procName.toUpperCase();\n      optName = optName.toUpperCase();\n      valName = valName.toUpperCase();\n      let data = _procOptObj(procName, optName, valName);\n      if (data) {\n        data = {\n          key: valName,\n          data: data[ID_HELP],\n          alias: data[ID_ALIAS],\n          supportSite: _procOptSupportSite(procName, optName),\n        };\n      }\n      return data;\n    });\n  }\n  getProcedureOptionValues(\n    procName: string,\n    optName: string,\n    cb: (data: OptionValues) => void,\n  ) {\n    let ret = _tryToLoadProcedure(procName, null, () => {\n      //sync\n      procName = procName.toUpperCase();\n      optName = optName.toUpperCase();\n      let data = _procOptObj(procName, optName);\n      if (data) {\n        const type = this.getProcedureOptionType(procName, optName);\n        data = { type: type, values: data[ID_VALS] };\n      }\n      return data;\n    });\n    if (ret) {\n      ret = this._handleOptionValues(ret, cb);\n    }\n    return ret;\n  }\n  getProcedureSubOptions(\n    procName: string,\n    optName: string,\n    cb: (data: string[]) => void,\n  ) {\n    return _tryToLoadProcedure(procName, cb, function () {\n      procName = procName.toUpperCase();\n      optName = optName.toUpperCase();\n      let data = _procOptObj(procName, optName, ID_SUB_OPTS);\n\n      data = data ? data[ID_KEYWORDS] : [];\n\n      return data;\n    });\n  }\n  getProcedureSubOptionHelp(\n    procName: string,\n    optName: string,\n    subOptName: string,\n    cb: (data?: HelpData) => void,\n  ) {\n    return _tryToLoadProcedure(procName, cb, function () {\n      procName = procName.toUpperCase();\n      optName = optName.toUpperCase();\n      subOptName = subOptName.toUpperCase();\n      let data = _procOptObj(procName, optName, subOptName);\n      if (data) {\n        data = {\n          key: subOptName,\n          data: data[ID_HELP],\n          alias: data[ID_ALIAS],\n          syntax: data[ID_SYNTAX],\n          supportSite: _procOptSupportSite(procName, optName),\n        };\n      }\n      return data;\n    });\n  }\n  getProcedureStatements(\n    procName: string,\n    noGlobal?: boolean,\n    cb?: (data: string[]) => void,\n  ) {\n    procName = procName.toUpperCase();\n    return _tryToLoadProcedure(procName, cb, () => {\n      let data = _procStmtObj(procName);\n      if (data) {\n        data = data[ID_STMTS]; // data[ID_STMTS] can be undefined\n      }\n      if (!data) {\n        data = [];\n      }\n      if (!noGlobal) {\n        const gps = this.getGlobalProcedureStatements();\n        if (gps) {\n          data = data.concat(gps);\n          data = _uniq(data);\n        }\n      }\n      return data.length > 0 ? data : null;\n    });\n  }\n  getProcedureStatementHelp(\n    procName: string,\n    stmtName: string,\n    cb?: (data: HelpData) => void,\n  ) {\n    procName = procName.toUpperCase();\n    stmtName = stmtName.toUpperCase();\n    return _tryToLoadProcedure(procName, cb, () => {\n      let data = _procStmtObj(procName, stmtName);\n      if (data) {\n        let supportSite = _procOptObj(procName)[ID_SUPPORT_SITE];\n        if (supportSite) {\n          supportSite = Object.assign({}, supportSite);\n          supportSite.supportSiteTargetFile = data[ID_SUPPORT_SITE];\n        }\n        data = {\n          key: stmtName,\n          data: data[ID_HELP],\n          alias: data[ID_ALIAS],\n          syntax: data[ID_SYNTAX],\n          supportSite: supportSite,\n        };\n      } else {\n        data = this.getKeywordHelp(stmtName, null, \"gbl-proc-stmt\");\n        if (data) {\n          data.isGlobal = true;\n        }\n      }\n      return data;\n    });\n  }\n  getProcedureStatementOptions(\n    procName: string,\n    stmtName: string,\n    cb: (data: string[]) => void,\n    req?: boolean,\n  ) {\n    procName = procName.toUpperCase();\n    stmtName = stmtName.toUpperCase();\n    return _tryToLoadProcedure(procName, cb, () => {\n      let data = _procStmtObj(procName, stmtName);\n      if (data) {\n        data = req ? data[ID_OPTS_REQ] : data[ID_OPTS];\n      } else {\n        data = this.getStatementOptions(\"global\", stmtName, undefined, req);\n      }\n      return data;\n    });\n  }\n  getProcedureStatementOptionHelp(\n    procName: string,\n    stmtName: string,\n    optName: string,\n    cb?: (data?: HelpData) => void,\n  ) {\n    procName = procName.toUpperCase();\n    stmtName = stmtName.toUpperCase();\n    optName = optName.toUpperCase();\n    return _tryToLoadProcedure(procName, cb, () => {\n      let data = _procStmtObj(procName, stmtName, optName);\n      if (data) {\n        data = {\n          key: optName,\n          data: data[ID_HELP],\n          alias: data[ID_ALIAS],\n          syntax: data[ID_SYNTAX],\n          supportSite: _procStmtOptSupportSite(procName, stmtName, optName),\n        };\n      } else {\n        data = this.getStatementOptionHelp(\"global\", stmtName, optName);\n      }\n      return data;\n    });\n  }\n  getProcedureStatementOptionType(\n    procName: string,\n    stmtName: string,\n    optName: string,\n  ) {\n    procName = procName.toUpperCase();\n    stmtName = stmtName.toUpperCase();\n    optName = optName.toUpperCase();\n    return _tryToLoadProcedure(procName, null, () => {\n      let data = _procStmtObj(procName, stmtName, optName);\n      if (data) {\n        data = data[ID_TYPE];\n      } else {\n        data = this.getStatementOptionType(stmtName, optName);\n      }\n\n      return data;\n    });\n  }\n  getProcedureStatementSubOptions(\n    procName: string,\n    stmtName: string,\n    optName: string,\n    cb: (data: string[]) => void,\n  ) {\n    procName = procName.toUpperCase();\n    stmtName = stmtName.toUpperCase();\n    optName = optName.toUpperCase();\n    return _tryToLoadProcedure(procName, cb, () => {\n      let data = _procStmtObj(procName, stmtName, optName, ID_SUB_OPTS);\n      if (data) {\n        data = data[ID_KEYWORDS];\n      } else {\n        data = this.getStatementSubOptions(\"global\", stmtName, optName);\n      }\n      return data;\n    });\n  }\n  getProcedureStatementSubOptionHelp(\n    procName: string,\n    stmtName: string,\n    optName: string,\n    subOptName: string,\n    cb: (data?: HelpData) => void,\n  ) {\n    procName = procName.toUpperCase();\n    stmtName = stmtName.toUpperCase();\n    optName = optName && optName.toUpperCase();\n    subOptName = subOptName && subOptName.toUpperCase();\n    return _tryToLoadProcedure(procName, cb, () => {\n      let data = _procStmtObj(procName, stmtName, optName, subOptName);\n      if (data) {\n        data = {\n          key: subOptName,\n          data: data[ID_HELP],\n          alias: data[ID_ALIAS],\n          syntax: data[ID_SYNTAX],\n          supportSite: _procStmtOptSupportSite(procName, stmtName, optName),\n        };\n      } else {\n        data = this.getStatementSubOptionHelp(\n          \"global\",\n          stmtName,\n          optName,\n          subOptName,\n        );\n      }\n\n      return data;\n    });\n  }\n  getProcedureStatementOptionValueHelp(\n    procName: string,\n    stmtName: string,\n    optName: string,\n    valName: string,\n    cb?: (data?: HelpData) => void,\n  ) {\n    procName = procName.toUpperCase();\n    stmtName = stmtName.toUpperCase();\n    optName = optName && optName.toUpperCase();\n    return _tryToLoadProcedure(procName, cb, () => {\n      let data = _procStmtObj(procName, stmtName, optName, valName);\n      if (data) {\n        data = {\n          key: valName,\n          data: data[ID_HELP],\n          alias: data[ID_ALIAS],\n          supportSite: _procStmtOptSupportSite(procName, stmtName, optName),\n        };\n      } else {\n        data = this.getStatementOptionValueHelp(\n          \"global\",\n          stmtName,\n          optName,\n          valName,\n        );\n      }\n\n      return data;\n    });\n  }\n  getProcedureStatementOptionValues(\n    procName: string,\n    stmtName: string,\n    optName: string,\n    cb: (data?: OptionValues) => void,\n  ) {\n    if (!optName) {\n      cb(undefined);\n      return null;\n    }\n    stmtName = stmtName.toUpperCase();\n    procName = procName.toUpperCase();\n    optName = optName.toUpperCase();\n    let ret = _tryToLoadProcedure(procName, null, () => {\n      //sync\n      let data = _procStmtObj(procName, stmtName, optName);\n      if (data) {\n        const type = this.getProcedureStatementOptionType(\n          procName,\n          stmtName,\n          optName,\n        );\n        data = { type: type, values: data[ID_VALS] };\n      } else {\n        data = this.getStatementOptionValues(\"global\", stmtName, optName);\n      }\n      return data;\n    });\n\n    if (ret) {\n      ret = this._handleOptionValues(ret, cb);\n    } else {\n      _notify(cb, ret);\n    }\n    return ret;\n  }\n  addUserDefinedAbbr(abbr: any) {\n    //TODO:\n  }\n  getUserDefinedAbbr() {\n    //TODO:\n  }\n  getFilenameOrLibnameOptions() {\n    //TODO:\n  }\n\n  // access Statements/*.xml, mainly global statements or global procedure statements\n  getStatementOptions(\n    context: string,\n    stmtName: string,\n    cb?: (data: string[]) => void,\n    req?: boolean,\n  ) {\n    stmtName = stmtName.toUpperCase();\n    return _tryToLoadStatementsFromPubs(context, cb, function () {\n      let data = _procStmtObj(context, stmtName);\n      if (data) {\n        data = req ? data[ID_OPTS_REQ] : data[ID_OPTS];\n      }\n      return data;\n    });\n  }\n  // access Statements/*.xml, mainly global statements or global procedure statements\n  getStatementOptionHelp(\n    context: string,\n    stmtName: string,\n    optName: string,\n    cb?: (data?: HelpData) => void,\n  ) {\n    return _tryToLoadStatementsFromPubs(context, cb, function () {\n      stmtName = stmtName.toUpperCase();\n      optName = optName && optName.toUpperCase();\n      let data = _procStmtObj(context, stmtName, optName);\n      if (data) {\n        data = {\n          key: optName,\n          data: data[ID_HELP],\n          alias: data[ID_ALIAS],\n          syntax: data[ID_SYNTAX],\n          supportSite: _stmtOptSupportSite(context, stmtName, optName),\n        };\n      }\n      return data;\n    });\n  }\n  getStatementOptionValueHelp(\n    context: string,\n    stmtName: string,\n    optName: string,\n    valName: string,\n    cb?: (data?: HelpData) => void,\n  ) {\n    return _tryToLoadStatementsFromPubs(context, cb, function () {\n      stmtName = stmtName.toUpperCase();\n      optName = optName && optName.toUpperCase();\n      valName = valName && valName.toUpperCase();\n      let data = _procStmtObj(context, stmtName, optName, valName);\n      if (data) {\n        data = {\n          key: valName,\n          data: data[ID_HELP],\n          alias: data[ID_ALIAS],\n          supportSite: _stmtOptSupportSite(context, stmtName, optName),\n        };\n      }\n      return data;\n    });\n  }\n  // old data is still used by some places\n  _getStatementOptionValueHelp(\n    stmtName: string,\n    optName: string,\n    valName: string,\n    cb: any,\n  ) {\n    return _tryToLoadStatementOptions(stmtName, cb, function () {\n      stmtName = stmtName.toUpperCase();\n      optName = optName && optName.toUpperCase();\n      valName = valName.toUpperCase();\n      let data = _stmtObj(stmtName, optName, valName);\n      if (data) {\n        data = { key: valName, data: data[ID_HELP] };\n      }\n      return data;\n    });\n  }\n  getStatementOptionType(stmtName: string, optName: string, cb?: any) {\n    return _tryToLoadStatementOptions(stmtName, cb, function () {\n      stmtName = stmtName.toUpperCase();\n      optName = optName.toUpperCase();\n      let data = _stmtObj(stmtName, optName);\n      if (data) {\n        data = data[ID_TYPE];\n      }\n      return data;\n    });\n  }\n  getStatementOptionValues(\n    context: string,\n    stmtName: string,\n    optName: string,\n    cb?: (data: OptionValues) => void,\n  ) {\n    let ret = _tryToLoadStatementsFromPubs(context, null, function () {\n      stmtName = stmtName.toUpperCase();\n      optName = optName && optName.toUpperCase();\n      let data = _procStmtObj(context, stmtName, optName);\n      if (data) {\n        data = { type: data[ID_TYPE], values: data[ID_VALS] };\n      }\n      return data;\n    });\n    if (ret) {\n      ret = this._handleOptionValues(ret, cb);\n    } else {\n      _notify(cb, ret);\n    }\n    return ret;\n  }\n  // old data is still used by some places\n  _getStatementOptionValues(stmtName: string, optName: string, cb: any) {\n    let ret = _tryToLoadStatementOptions(stmtName, null, () => {\n      //sync\n      stmtName = stmtName.toUpperCase();\n      optName = optName && optName.toUpperCase();\n      let data = _stmtObj(stmtName, optName);\n      if (data) {\n        const type = this.getStatementOptionType(stmtName, optName);\n        data = { type: type, values: data[ID_VALS] };\n      }\n      return data;\n    });\n\n    if (ret) {\n      ret = this._handleOptionValues(ret, cb);\n    }\n    return ret;\n  }\n  getStatementSubOptions(\n    context: string,\n    stmtName: string,\n    optName: string,\n    cb?: (data: string[]) => void,\n  ) {\n    return _tryToLoadStatementsFromPubs(context, cb, function () {\n      stmtName = stmtName.toUpperCase();\n      optName = optName && optName.toUpperCase();\n      let data = _procStmtObj(context, stmtName, optName, ID_SUB_OPTS);\n      if (data) {\n        data = data[ID_KEYWORDS];\n      } else {\n        data = [];\n      }\n      return data;\n    });\n  }\n  getStatementSubOptionHelp(\n    context: string,\n    stmtName: string,\n    optName: string,\n    subOptName: string,\n    cb?: (data?: HelpData) => void,\n  ) {\n    return _tryToLoadStatementsFromPubs(context, cb, function () {\n      stmtName = stmtName.toUpperCase();\n      optName = optName && optName.toUpperCase();\n      let data = _procStmtObj(context, stmtName, optName, subOptName);\n      if (data) {\n        data = {\n          key: subOptName,\n          data: data[ID_HELP],\n          alias: data[ID_ALIAS],\n          syntax: data[ID_SYNTAX],\n          supportSite: _stmtOptSupportSite(context, stmtName, optName),\n        };\n      }\n      return data;\n    });\n  }\n  getDataStepOptions(cb?: (data: string[]) => void) {\n    return _getKeywords(\"datastep-option\", cb);\n  }\n  getDataStepOptionHelp(\n    optName: string,\n    cb: (data: HelpData) => void,\n    type: string,\n  ) {\n    return _getKeywordHelp(optName, type, cb);\n  }\n  getDataStepOptionValueHelp(\n    optName: string,\n    valName: string,\n    cb: (data?: HelpData) => void,\n  ) {\n    this.getStatementOptionValueHelp(\"datastep\", \"DATA\", optName, valName, cb);\n  }\n  getDataStepOptionValues(optName: string, cb: (data: OptionValues) => void) {\n    this.getStatementOptionValues(\"datastep\", \"DATA\", optName, cb);\n  }\n  getDataSetOptionValueHelp(\n    optName: string,\n    valName: string,\n    cb: (data: HelpData) => void,\n  ) {\n    this._getStatementOptionValueHelp(\"DATA-SET\", optName, valName, cb);\n  }\n  getDataSetOptionValues(optName: string, cb: (data: OptionValues) => void) {\n    this._getStatementOptionValues(\"DATA-SET\", optName, cb);\n  }\n  // get all keyword's help, not only global statement, or global procedure statement\n  getKeywordHelp(\n    name: string,\n    cb: ((data?: HelpData) => void) | null | undefined,\n    type: string,\n  ) {\n    if (type === \"func\") {\n      // from pubsdata\n      const data = _getFunctionHelp(name, \"base\");\n      return _notify(cb, data);\n    }\n    if (type === \"macro-func\") {\n      // from pubsdata\n      const data = _getFunctionHelp(name, \"macro\");\n      return _notify(cb, data);\n    }\n    if (type === \"gbl-proc-stmt\") {\n      const data = _getStatementHelp(\"global\", name);\n      return _notify(cb, data);\n    }\n    if (type === \"gbl-stmt\") {\n      let data = _getStatementHelp(\"standalone\", name);\n      if (!data) {\n        data = _getStatementHelp(\"global\", name);\n      }\n      return _notify(cb, data);\n    }\n    if (type === \"ds-stmt\") {\n      const data = _getStatementHelp(\"datastep\", name);\n      return _notify(cb, data);\n    }\n    if (type === \"macro-stmt\") {\n      let data = _getStatementHelp(\"macro\", name);\n      if (!data) {\n        data = _getStatementHelp(\"global\", name);\n      }\n      return _notify(cb, data);\n    }\n    let data = _getKeywordHelp(name, type, null); //handle synchronously\n    if (!data) {\n      if (type === \"datastep-option\") {\n        data = _getKeywordHelp(name, \"datastep-option2\", null);\n      } else if (type === \"ds-stmt\") {\n        data = _getKeywordHelp(name, \"gbl-stmt\", null);\n      } else if (type === \"macro-stmt\") {\n        data = _getKeywordHelp(name, \"arm-macro\", null);\n      }\n    }\n\n    return _notify(cb, data);\n  }\n  // the name parameter can be the name of call routines or functions\n  getContextPrompt(name: string, cb?: any) {\n    //var url = Utils.getBaseUrl() + '/data/SASContextPrompt.json';\n    //TODO:\n  }\n  getSasColors(cb?: any) {\n    /*_loadKeywords('colorValues',cb);*/\n    return _tryToLoadColors(cb);\n  }\n  //ODS tagsets\n  getODSTagsets(cb?: (data: string[]) => void) {\n    return _getKeywords(/*'ODSTagsets'*/ \"ods-tagsets\", cb);\n  }\n  //Style\n  getStyleAttributes(cb?: (data: string[]) => void) {\n    return _getKeywords(/*'styleAttributes'*/ \"style-att\", cb);\n  }\n  getStyleElements(cb?: (data: string[]) => void) {\n    return _getKeywords(/*'styleElements'*/ \"style-ele\", cb);\n  }\n  getStyleLocations(cb?: (data: string[]) => void) {\n    return _getKeywords(/*'styleLocations'*/ \"style-loc\", cb);\n  }\n  // macro\n  getARMMacros(cb?: (data: string[]) => void) {\n    return _getKeywords(/*'ARMMacros'*/ \"arm-macro\", cb);\n  }\n  getAutocallMacros(cb?: (data: string[]) => void) {\n    return _getKeywords(/*'autocallMacros'*/ \"autocall-macro\", cb);\n  }\n  getAutoVariables(cb?: (data: string[]) => void) {\n    return _getKeywords(/*'autoVariables'*/ \"auto-var\", cb);\n  }\n  getMacroDefinitionOptions(cb?: (data: string[]) => void) {\n    return _getKeywords(\"macro-def-opt\", cb);\n  }\n  getGlobalStatements(cb?: (data: string[]) => void) {\n    const globalProcStatements = this.getGlobalProcedureStatements();\n    return _tryToLoadStatementsFromPubs(\"standalone\", cb, function () {\n      const data = _procStmtObj(\"standalone\");\n      return data[ID_STMTS].concat(globalProcStatements);\n    });\n  }\n  getGlobalProcedureStatements(cb?: (data: string[]) => void) {\n    return _tryToLoadStatementsFromPubs(\"global\", cb, function () {\n      const data = _procStmtObj(\"global\");\n      return data[ID_STMTS];\n    });\n  }\n  getMacroStatements(cb?: (data: string[]) => void) {\n    return _tryToLoadStatementsFromPubs(\"macro\", cb, function () {\n      const data = _procStmtObj(\"macro\");\n      return data[ID_STMTS];\n    });\n  }\n  getFunctions(cb?: (data: string[]) => void) {\n    return _tryToLoadFunctionsFromPubs(\"base\", cb, function () {\n      const data = db.functions[\"base\"][ID_KEYWORDS];\n      return data;\n    });\n  }\n  getCallRoutines(cb?: (data: string[]) => void) {\n    return _getKeywords(/*'callRoutines'*/ \"call-routines\", cb);\n  }\n  getMacroFunctions(cb?: (data: string[]) => void) {\n    return _tryToLoadFunctionsFromPubs(\"macro\", cb, function () {\n      const data = db.functions[\"macro\"][ID_KEYWORDS];\n      return data;\n    });\n  }\n  getHashPackageMethods(cb?: (data: string[]) => void) {\n    return _getKeywords(/*'hashPackageMethods'*/ \"hash-pack-method\", cb);\n  }\n  getFormats(cb?: (data: string[]) => void) {\n    return _getKeywords(\"formats\", cb);\n  }\n  getInformats(cb?: (data: string[]) => void) {\n    return _getKeywords(\"informats\", cb);\n  }\n  getStatisticsKeywords(cb?: (data: string[]) => void) {\n    return _getKeywords(/*'statisticsKeywords'*/ \"stat-kw\", cb);\n  }\n  getDSStatements(cb?: (data: string[]) => void) {\n    const globalProcStatements = this.getGlobalProcedureStatements();\n    return _tryToLoadStatementsFromPubs(\"datastep\", cb, function () {\n      const data = _procStmtObj(\"datastep\");\n      return data[ID_STMTS].concat(globalProcStatements);\n    });\n  }\n  getDSOptions(cb?: (data: string[]) => void) {\n    return _getKeywords(/*'datasetOptions'*/ \"ds-option\", cb);\n  }\n  getDSOptionHelp(optName: string, cb?: any) {\n    return _getKeywordHelp(optName, \"ds-option\", cb);\n  }\n  getDS2Keywords() {\n    //TODO:\n  }\n  getDS2Functions() {\n    //TODO:\n  }\n  getLibraryList(cb: any, type: string) {\n    if (typeof libService === \"function\") {\n      libService(null, function (data) {\n        _notify(cb, { values: data, type: type });\n      });\n    } else {\n      _notify(cb, { values: [], type: type });\n    }\n  }\n  getDataSetNames(libId: any, cb: any) {\n    if (libId && typeof libService === \"function\") {\n      libService(libId, function (data) {\n        if (data && data.length !== 0) {\n          _notify(cb, data);\n          return;\n        }\n        _notify(cb, null);\n      });\n    } else {\n      _notify(cb, null);\n    }\n  }\n  getDocumentVariables() {\n    //TODO:\n  }\n  getMacroDefinitions() {\n    //TODO:\n  }\n  getMacroVariables() {\n    //TODO:\n  }\n  hasOptionDelimiter(procName: string, stmtName: string) {\n    let obj,\n      ret = false;\n    const help = this.getProcedureStatementHelp(procName, stmtName); // try to load\n\n    if (help) {\n      if (help.isGlobal) {\n        obj = _procStmtObj(\"global\", stmtName); //_keywordObj('gbl-proc-stmt',stmtName);\n      } else {\n        obj = _procStmtObj(procName, stmtName);\n      }\n      if (obj[ID_HAS_OPT_DELIMITER] === undefined) {\n        obj[ID_HAS_OPT_DELIMITER] = /Syntax:(.|\\n)*\\/(.|\\n)*;/i.test(\n          help.data!,\n        );\n      }\n      ret = obj[ID_HAS_OPT_DELIMITER];\n    }\n    return ret;\n  }\n\n  isProcedureOptionKeyword(\n    procName: string,\n    optName: string,\n    valName?: string,\n  ) {\n    _loadProcedureImmediately(procName);\n    return !!_procOptObj(procName, optName, valName);\n  }\n  isProcedureSubOptKeyword(\n    procName: string,\n    optName: string,\n    subOptName: string,\n  ) {\n    _loadProcedureImmediately(procName);\n    return !!_procOptObj(procName, optName, ID_SUB_OPTS, subOptName);\n    //return !!_procOptObj(procName, ID_SUB_OPTS, subOptName);\n  }\n  isProcedureStatementKeyword(\n    procName: string,\n    stmtName: string,\n    optName?: string,\n    valName?: string,\n  ): boolean {\n    _loadProcedureImmediately(procName);\n    let ret = _procStmtObj(procName, stmtName, optName, valName);\n    if (stmtName && !ret) {\n      // var type = 'gbl-proc-stmt';\n      //NOTE: It seems that it is reasonable to use 'gbl-proc-stmt',\n      // but the result is different form EG, so here we use 'gbl-stmt'.\n      //var type = 'gbl-proc-stmt';\n      //_loadKeywordsImmediately(type);\n      //if (optName === undefined) {\n      //    ret = _keywordObj(type, stmtName);\n      //    if (!ret) {\n      //        type = 'gbl-stmt';\n      //        _loadKeywordsImmediately(type);\n      //        ret = _keywordObj(type, stmtName);\n      //    }\n      //} else {\n      //    if (_keywordObj(type, stmtName)) {\n      ret = this.isStatementKeyword(\"global\", stmtName, optName, valName);\n      if (!ret && (procName === \"\" || procName === \"DATA\")) {\n        const type = procName === \"DATA\" ? \"datastep\" : \"standalone\";\n        ret = this.isStatementKeyword(type, stmtName, optName, valName);\n      }\n      //    }\n      //}\n    }\n    return !!ret;\n  }\n  isProcedureStatementSubOptKeyword(\n    procName: string,\n    stmtName: string,\n    optName: string,\n    subOptName: string,\n  ) {\n    _loadProcedureImmediately(procName);\n    return (\n      !!_procStmtObj(procName, stmtName, optName, ID_SUB_OPTS, subOptName) ||\n      !!_stmtObj(stmtName, optName, ID_SUB_OPTS, subOptName)\n    );\n    //return !!_procStmtObj(procName, stmtName, ID_SUB_OPTS, subOptName);\n  }\n  isStatementKeyword(\n    context: string,\n    stmtName: string,\n    optName?: string,\n    valName?: string,\n  ): boolean {\n    return !!_tryToLoadStatementsFromPubs(context, null, function () {\n      return !!_procStmtObj(context, stmtName, optName, valName);\n    });\n  }\n  _isStatementKeyword(stmtName: string, optName: string, valName?: string) {\n    _tryToLoadStatementOptionsImmediately(stmtName);\n    let ret = !!_stmtObj(stmtName, optName, valName);\n    if (!ret && !optName) {\n      const type = \"gbl-stmt\";\n      _loadKeywordsImmediately(type);\n      ret = !!_keywordObj(type, stmtName);\n    }\n    return ret;\n  }\n  isStatementSubOptKeyword(\n    stmtName: string,\n    optName: string,\n    subOptName: string,\n  ) {\n    _tryToLoadStatementOptionsImmediately(stmtName);\n    return !!_stmtObj(stmtName, optName, ID_SUB_OPTS, subOptName);\n  }\n  isDatasetKeyword(name: string) {\n    const type = \"ds-option\";\n    _loadKeywordsImmediately(type);\n    return !!_keywordObj(type, name);\n  }\n  isSasFunction(name: string) {\n    return _tryToLoadFunctionsFromPubs(\"base\", null, function () {\n      return db.functions[\"base\"][ID_KEYWORDS].indexOf(name) !== -1;\n    });\n  }\n  isDataSetType(type: string) {\n    return /\\bDV\\b/.test(type) || type.toLowerCase() === \"dataset\";\n  }\n  isColorType(type: string) {\n    return /\\bC\\b/.test(type) || type.toLowerCase() === \"color\";\n  }\n  isInteractiveProc(name: string) {\n    _tryToLoadProceduresFromPubs(null, function () {});\n    const data = _keywordObj(\"proc\", name);\n    return data && data[ID_ATTR] === \"InteractivePROC\";\n  }\n}\n"
  },
  {
    "path": "server/src/sas/SyntaxProvider.ts",
    "content": "// Copyright © 2022, SAS Institute Inc., Cary, NC, USA.  All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n/* eslint-disable @typescript-eslint/no-unused-vars,@typescript-eslint/no-explicit-any */\nimport { Token } from \"./Lexer\";\nimport { FoldingBlock, LexerEx } from \"./LexerEx\";\nimport { Model } from \"./Model\";\nimport { TextRange } from \"./utils\";\n\nexport interface Change {\n  text: string;\n  removedText: string;\n  oldRange: TextRange;\n  newRange: TextRange;\n}\n\nexport interface SyntaxToken {\n  start: number;\n  state: any;\n  style: Token[\"type\"];\n}\n\nexport class SyntaxProvider {\n  private parsingQueue: Change[] = [];\n  private parsingState = 2;\n  private syntaxTable: SyntaxToken[][] = [];\n  private lastToken: Omit<Token, \"text\"> | null = null;\n  private currTokenIndex = 0;\n  private parsedRange: any = {};\n  private tailUnchangedSyntaxTable: SyntaxToken[][] = [];\n  private removedSyntaxTable: SyntaxToken[][] = [];\n  private _tokenCallback: ((token: Token) => void) | undefined;\n  private _multilineComments: Array<{ startLine: number; endLine: number }> =\n    [];\n\n  public blockComment = { start: \"/*\", end: \"*/\" };\n  public lexer;\n\n  constructor(private model: Model) {\n    this.lexer = new LexerEx(model);\n  }\n\n  // private functions\n  private _push(change: Change) {\n    this.parsingQueue.push(change);\n  }\n  private _startParse(change: Change) {\n    let startLine = 0;\n    this.currTokenIndex = 0;\n    this.lastToken = null;\n    this._multilineComments = []; // Clear previous comments\n    this.parsingState = 1; //LanguageService.ParsingState.STARTING;\n    this.parsedRange = this.lexer.start(change);\n\n    startLine = this.parsedRange.endLine + 1;\n    this.tailUnchangedSyntaxTable = this.syntaxTable.splice(\n      startLine,\n      this.syntaxTable.length - startLine,\n    );\n    this.removedSyntaxTable = this.syntaxTable.splice(\n      this.parsedRange.startLine,\n      startLine - this.parsedRange.startLine,\n    );\n\n    /*\n      (1) ^ removed\n      -----^^^^^     //keep the head part\n      ^^^^^^^^^^\n      ^^^-------   //keep the tail part\n      (2)\n      ---^^^^---    //keep the tail part and the head part\n      (3)\n      ----|-----   //no removed. keep the head part and tail part\n      (4)\n      --------\n      ~~~~~~~~  // parsed\n      ~~~~~~~~\n      --------\n      */\n    const syntaxLine: SyntaxToken[] = [];\n    let i = 0;\n    const tmpSyntaxLine = this.removedSyntaxTable[0];\n    // keep the head part\n    if (this.parsedRange.startCol > 0 && tmpSyntaxLine) {\n      while (\n        tmpSyntaxLine[i] &&\n        tmpSyntaxLine[i].start < this.parsedRange.startCol\n      ) {\n        syntaxLine.push(tmpSyntaxLine[i]);\n        i++;\n      }\n      tmpSyntaxLine.splice(0, i); //remove\n\n      let endCol = this.parsedRange.startCol;\n      if (tmpSyntaxLine.length) {\n        endCol = tmpSyntaxLine[0].start;\n      }\n      const tmp = syntaxLine[syntaxLine.length - 1];\n      this.lastToken = {\n        start: { line: this.parsedRange.startLine, column: tmp.start },\n        end: { line: this.parsedRange.startLine, column: endCol },\n        type: tmp.style,\n      };\n      this.currTokenIndex = syntaxLine.length;\n      this.syntaxTable[this.parsedRange.startLine] = syntaxLine;\n    }\n\n    // remove changed (middle part)\n    i = 0;\n    if (\n      this.parsedRange.startLine === this.parsedRange.endLine &&\n      tmpSyntaxLine\n    ) {\n      while (\n        tmpSyntaxLine[i] &&\n        tmpSyntaxLine[i].start < this.parsedRange.endCol\n      ) {\n        i++;\n      }\n      tmpSyntaxLine.splice(0, i);\n    }\n    // for multiple lines, keep the last line for late usage, we handle it in _parse\n    this._parse(change);\n  }\n  private _endParse(change: Change) {\n    this.parsingState = 2; //LanguageService.ParsingState.ENDED;\n\n    this._schedule();\n  }\n  private _schedule() {\n    if (\n      this.parsingState === 2 /*LanguageService.ParsingState.ENDED*/ &&\n      this.parsingQueue.length\n    ) {\n      const change = this.parsingQueue.shift()!;\n      this._startParse(change);\n    }\n  }\n  private _parse(change: Change) {\n    let token = null;\n    try {\n      for (;;) {\n        token = this.lexer.getNext();\n        this._addItem(token);\n        if (!token || this.lexer.end()) {\n          this._endParse(change);\n          break;\n        }\n      }\n    } catch (e: any) {\n      if (e && e.changedLineCount !== undefined) {\n        if (this.lastToken) {\n          token = this.lastToken;\n        } else if (this.syntaxTable.length === 0) {\n          token = {\n            type: \"text\",\n            start: { line: 0, column: 0 },\n            end: { line: 0, column: 0 },\n          };\n        } else {\n          //ignored\n        }\n\n        // merge tokens\n        let tailPart,\n          validPos = 0;\n        const len = this.removedSyntaxTable.length,\n          line = e.token.start.line;\n        if (\n          len >= 1 &&\n          line === this.parsedRange.endLine + e.changedLineCount\n        ) {\n          tailPart = this.removedSyntaxTable[len - 1];\n          tailPart.forEach(function (item: { start: number }) {\n            item.start += e.changedColCount;\n            if (item.start < e.token.start.column) {\n              validPos++;\n            }\n          });\n          tailPart.splice(0, validPos);\n          if (this.syntaxTable[line]) {\n            //add blank token.\n            this._tryToAddBlank(line, this.syntaxTable[line], tailPart);\n            //\n            this.syntaxTable[line] = this.syntaxTable[line].concat(tailPart);\n          }\n        } /*else if (parsedRange.startLine === parsedRange.endLine) {\n          tailPart = removedSyntaxTable[0];\n          tailPart.forEach(function(item) {\n            item.start += e.changedColCount;\n          });\n          if (syntaxTable[parsedRange.startLine]) {//FIXID S1159519\n           syntaxTable[parsedRange.startLine] = syntaxTable[parsedRange.startLine].concat(tailPart);\n          }\n        }*/\n\n        // merge syntax table\n        //_addEndMarkForSkippedLines(token, e.token.start.line);\n        this.syntaxTable = this.syntaxTable.concat(\n          this.tailUnchangedSyntaxTable,\n        );\n        this._endParse(change);\n      } else {\n        throw e;\n      }\n    }\n  }\n  private _tryToAddBlank(\n    line: number,\n    syntax: SyntaxToken[],\n    added: SyntaxToken[],\n  ) {\n    if (syntax.length) {\n      const token = syntax[syntax.length - 1];\n      if (added.length) {\n        const text = this.model\n          .getLine(line)\n          .substring(token.start, added[0].start);\n        const matches = /\\s+$/.exec(text);\n        if (matches) {\n          syntax.push({\n            start: token.start + text.length - matches[0].length,\n            state: null,\n            style: \"text\",\n          });\n        }\n      }\n    }\n  }\n  private _addEndMarkForSkippedLines(\n    token: Omit<Token, \"text\">,\n    endLine: number,\n  ) {\n    let line = 0,\n      column = 0,\n      syntaxLine = null;\n    if (token.end.line !== endLine) {\n      line = token.end.line;\n      column = token.end.column;\n      do {\n        syntaxLine = this.syntaxTable[line] = this.syntaxTable[line] || [];\n        if (this.currTokenIndex < syntaxLine.length) {\n          syntaxLine.splice(\n            this.currTokenIndex,\n            syntaxLine.length - this.currTokenIndex,\n          ); //clear the garbages\n        }\n        //add end marks\n        syntaxLine.push({ start: column, state: 0, style: \"text\" });\n        line++;\n        column = 0;\n      } while (line < endLine);\n      this.currTokenIndex = 0;\n      this.lastToken = null;\n    }\n  }\n  private _addItem(token: Omit<Token, \"text\">) {\n    let line = 0,\n      syntaxLine = null,\n      addRange = false,\n      addStartTag = true;\n    if (this.lastToken) {\n      // (1) line changed, handle the end marks\n      // (2) end all, add marks for all skipped lines\n      this._addEndMarkForSkippedLines(\n        this.lastToken,\n        token ? token.start.line : this.model.getLineCount(),\n      );\n    }\n    if (!token) {\n      return;\n    }\n    // handle new token\n    line = token.start.line;\n    //add blank to the head for old format requirement\n    //(1) there are space(s) before the first token\n    //(2) the token is a middle token,\n    if (\n      (this.lastToken === null && token.start.column > 0) ||\n      (this.lastToken &&\n        this.lastToken.end.column !== token.start.column &&\n        this.lastToken.end.line === token.start.line)\n    ) {\n      syntaxLine = this.syntaxTable[line] = this.syntaxTable[line] || [];\n      if (this.currTokenIndex < syntaxLine.length) {\n        syntaxLine.splice(\n          this.currTokenIndex,\n          syntaxLine.length - this.currTokenIndex,\n        );\n      }\n      syntaxLine.push({\n        start: this.lastToken ? this.lastToken.end.column : 0,\n        state: null,\n        style: \"text\",\n      });\n      this.currTokenIndex++;\n    }\n    // ATTENTION: multiple lines condition\n    if (token.end.line !== token.start.line) {\n      addRange = true;\n    }\n    do {\n      syntaxLine = this.syntaxTable[line] = this.syntaxTable[line] || [];\n      //add the token\n      if (this.currTokenIndex < syntaxLine.length) {\n        //clear the unused elements\n        syntaxLine.splice(\n          this.currTokenIndex,\n          syntaxLine.length - this.currTokenIndex,\n        );\n      }\n      syntaxLine.push({\n        start: line === token.start.line ? token.start.column : 0,\n        state: addStartTag\n          ? addRange\n            ? { line: token.end.line, col: token.end.column }\n            : 1\n          : null,\n        style: token.type,\n      });\n      this.currTokenIndex++;\n      addRange = false;\n      addStartTag = false;\n      //next line\n      if (line < token.end.line) {\n        //add end marks, ignore the last line\n        syntaxLine.push({\n          start: this.model.getLine(line).length,\n          state: 0,\n          style: \"text\",\n        });\n        this.currTokenIndex = 0;\n      }\n      line++;\n    } while (line <= token.end.line); //end do\n\n    //currTokenIndex++;\n    this.lastToken = {\n      type: token.type,\n      start: { line: token.start.line, column: token.start.column },\n      end: { line: token.end.line, column: token.end.column },\n    }; // jpnjfk\n\n    if (this._tokenCallback) {\n      this._tokenCallback({\n        text: this.model.getText(token),\n        type: token.type,\n        start: { line: token.start.line, column: token.start.column },\n        end: { line: token.end.line, column: token.end.column },\n      });\n    }\n\n    // Collect multiline comments as they're processed by the lexer\n    if (\n      (token.type === \"comment\" || token.type === \"macro-comment\") &&\n      token.end.line > token.start.line\n    ) {\n      this._multilineComments.push({\n        startLine: token.start.line,\n        endLine: token.end.line,\n      });\n    }\n  }\n\n  // public functions\n  getSyntax(line: number): SyntaxToken[] {\n    return this.syntaxTable[line] ? this.syntaxTable[line] : [];\n  }\n  getParseRange(change: Change) {\n    return this.lexer.getParseRange(change);\n  }\n  getFoldingBlock(\n    line: number,\n    col?: number,\n    strict?: boolean,\n    ignoreCustomBlock?: boolean,\n    ignoreGlobalBlock?: boolean,\n  ): FoldingBlock | null {\n    return this.lexer.getFoldingBlock(\n      line,\n      col,\n      strict,\n      ignoreCustomBlock,\n      ignoreGlobalBlock,\n    );\n  }\n  add(change: Change): void {\n    this._push(change);\n    this._schedule();\n  }\n  type(line: number, col: number): Token[\"type\"] {\n    const syntax = this.getSyntax(line),\n      len = syntax.length;\n    for (let i = 1; i < len; i++) {\n      // TODO: improve algorithm\n      if (syntax[i].start >= col) {\n        if (syntax[i - 1].start <= col) {\n          return syntax[i - 1].style;\n        } else {\n          return \"text\";\n        }\n      }\n    } //try our best to get real type\n    return syntax &&\n      syntax.length === 2 &&\n      syntax[0].start === 0 &&\n      syntax[1].state === 0\n      ? syntax[0].style\n      : \"text\";\n  }\n  setTokenCallback(cb: ((token: Token) => void) | undefined): void {\n    this._tokenCallback = cb;\n  }\n  getSymbolName(block: FoldingBlock) {\n    const line = block.startLine;\n    const tokens = this.getSyntax(line);\n    for (let i = 2; i < tokens.length; i++) {\n      const token = tokens[i];\n      if (token.start <= block.startCol) {\n        continue;\n      }\n      if (token.style === \"proc-name\" || token.style === \"text\") {\n        const end =\n          i === tokens.length - 1\n            ? this.model.getColumnCount(line)\n            : tokens[i + 1].start;\n        const tokenText = this.model.getText({\n          start: { line, column: token.start },\n          end: { line, column: end },\n        });\n        if (tokenText.trim() === \"\") {\n          continue;\n        }\n        return `${block.name} ${\n          token.style === \"proc-name\" ? tokenText.toUpperCase() : tokenText\n        }`;\n      }\n    }\n    return block.name;\n  }\n  getMultilineComments(): Array<{ startLine: number; endLine: number }> {\n    return this._multilineComments;\n  }\n}\n"
  },
  {
    "path": "server/src/sas/formatter/index.ts",
    "content": "// Copyright © 2023, SAS Institute Inc., Cary, NC, USA.  All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport type { TextEdit } from \"vscode-languageserver-protocol\";\n\nimport type { Options, Plugin } from \"prettier\";\nimport { format } from \"prettier/standalone\";\n\nimport type { Token } from \"../Lexer\";\nimport type { Model } from \"../Model\";\nimport type { SyntaxProvider } from \"../SyntaxProvider\";\nimport { SASAST, getParser } from \"./parser\";\nimport { print } from \"./printer\";\n\nconst getSasPlugin = (\n  model: Model,\n  tokens: Token[],\n  syntaxProvider: SyntaxProvider,\n): Plugin<SASAST> => ({\n  languages: [\n    {\n      name: \"sas\",\n      parsers: [\"sas\"],\n      extensions: [\".sas\"],\n      vscodeLanguageIds: [\"sas\"],\n    },\n  ],\n  parsers: {\n    sas: {\n      parse: getParser(model, tokens, syntaxProvider),\n      astFormat: \"sas-ast\",\n      locStart: () => 0,\n      locEnd: () => 0,\n    },\n  },\n  printers: {\n    \"sas-ast\": {\n      print,\n    },\n  },\n});\n\nexport class Formatter {\n  private tokens: Token[] = [];\n\n  constructor(\n    private model: Model,\n    private syntaxProvider: SyntaxProvider,\n  ) {\n    this.syntaxProvider.setTokenCallback(this.tokens.push.bind(this.tokens));\n  }\n\n  async format(options: Options): Promise<TextEdit[]> {\n    const formattedText = await format(\"text\", {\n      parser: \"sas\",\n      plugins: [getSasPlugin(this.model, this.tokens, this.syntaxProvider)],\n      ...options,\n    });\n    return [\n      {\n        range: {\n          start: { line: 0, character: 0 },\n          end: { line: this.model.getLineCount(), character: 0 },\n        },\n        newText: formattedText,\n      },\n    ];\n  }\n}\n"
  },
  {
    "path": "server/src/sas/formatter/parser.ts",
    "content": "// Copyright © 2023, SAS Institute Inc., Cary, NC, USA.  All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { Lexer, Token as RealToken } from \"../Lexer\";\nimport { type FoldingBlock, LexerEx } from \"../LexerEx\";\nimport type { Model } from \"../Model\";\nimport type { SyntaxProvider } from \"../SyntaxProvider\";\nimport { isSamePosition } from \"../utils\";\n\ninterface FakeToken extends Omit<RealToken, \"type\"> {\n  type: \"raw-data\";\n}\nexport type Token = FakeToken | RealToken;\n\nexport interface Statement {\n  type: \"statement\";\n  name: string;\n  children: Token[];\n  leadingComment?: Token;\n}\n\nexport interface Region {\n  type: \"region\";\n  block?: FoldingBlock;\n  children: (Region | Statement)[];\n}\n\ninterface Program {\n  type: \"program\";\n  children: (Region | Statement)[];\n}\n\nexport type SASAST = Program | Region | Statement | Token;\n\nexport const isComment = (token: Token) =>\n  token.type === \"comment\" || token.type === \"macro-comment\";\n\nconst isAtBlockEnd = (block: FoldingBlock | undefined, token: Token) =>\n  block &&\n  block.endLine === token.end.line &&\n  block.endCol === token.end.column;\n\nconst removePrevStatement = (parent: Program | Region) => {\n  if (parent.children.length <= 1) {\n    return;\n  }\n  let prevStatement = parent.children[parent.children.length - 2];\n  if (prevStatement.type === \"statement\") {\n    parent.children.splice(-2, 1);\n    return;\n  }\n  while (prevStatement.type === \"region\") {\n    parent = prevStatement;\n    prevStatement = prevStatement.children[prevStatement.children.length - 1];\n  }\n  parent.children.pop();\n};\n\nconst getBlockParent = (parents: Region[]) => {\n  let index = parents.length - 1;\n  while (index >= 0 && !parents[index].block) {\n    index--;\n  }\n  return parents[index];\n};\n\nconst hasParent = (parents: Region[], block: FoldingBlock) => {\n  const parentBlock = getBlockParent(parents)?.block;\n  if (!parentBlock) {\n    return false;\n  }\n  while (block.outerBlock) {\n    if (block.outerBlock === parentBlock) {\n      return true;\n    }\n    block = block.outerBlock;\n  }\n  return false;\n};\n\nconst isStartingRegion = (parents: Region[], currentStatement: Statement) => {\n  if (/^%?do$/i.test(currentStatement.children[0].text)) {\n    return true;\n  }\n  if (\n    /^(%?if|%?else|when)$/i.test(currentStatement.children[0].text) &&\n    currentStatement.children.length > 1\n  ) {\n    for (let i = 1; i < currentStatement.children.length - 1; i++) {\n      if (/^%?do$/i.test(currentStatement.children[i].text)) {\n        return true;\n      }\n    }\n  }\n\n  const parent = getBlockParent(parents);\n  if (!parent || !parent.block) {\n    return false;\n  }\n\n  const map: Record<string, RegExp> = {\n    data: /^select$/i,\n    ds2: /^(select|method|data|package|thread)$/i,\n    template: /^(define|begingraph|layout)$/i,\n  };\n\n  const block = parent.block;\n  let procName = \"\";\n  if (block.name === \"PROC\") {\n    const firstToken = parent.children[0].children[1];\n    if (firstToken && \"text\" in firstToken) {\n      procName = firstToken.text;\n    }\n  }\n  const regexp = map[(procName || block.name).toLowerCase()];\n  if (regexp && regexp.test(currentStatement.children[0].text)) {\n    return true;\n  }\n  return false;\n};\n\nconst preserveProcs = (\n  current: number,\n  region: Region,\n  token: Token,\n  model: Model,\n) => {\n  // should not format python/R/lua, treat it as raw data\n  const lastStatement =\n    region.children.length >= 2 &&\n    region.children[region.children.length - 1].children;\n  if (\n    current === -1 &&\n    region.block?.name === \"PROC\" &&\n    lastStatement &&\n    region.children[0].children.length > 0 &&\n    lastStatement.length > 1 &&\n    \"text\" in region.children[0].children[1] &&\n    /^(python|lua|r)$/i.test(region.children[0].children[1].text) &&\n    \"text\" in lastStatement[0] &&\n    /^(submit|interactive|i)$/i.test(lastStatement[0].text)\n  ) {\n    current = 0;\n  }\n  if (current === 0 && /^(endsubmit|endinteractive)$/i.test(token.text)) {\n    return 1;\n  } else if (current === 1 && token.type === \"sep\" && token.text === \";\") {\n    current = 2;\n\n    const start =\n      \"start\" in region.children[1].children[0] &&\n      region.children[1].children[0].start;\n    const end = token.end;\n    if (start) {\n      region.children = [\n        region.children[0],\n        {\n          type: \"statement\",\n          name: \"\",\n          children: [\n            {\n              type: \"raw-data\",\n              text: model.getText({ start, end }),\n              start,\n              end,\n            },\n          ],\n        },\n      ];\n    }\n  } else if (current === 2) {\n    current = -1;\n  }\n  return current;\n};\n\nconst preserveCustomRegion = (\n  current: number,\n  statement: Statement,\n  model: Model,\n  syntaxProvider: SyntaxProvider,\n) => {\n  const token = statement.children[statement.children.length - 1];\n  if (current === -1) {\n    if (isComment(token) && /\\*\\s*region\\s+format-ignore\\b/.test(token.text)) {\n      const block = syntaxProvider.getFoldingBlock(\n        token.start.line,\n        token.start.column,\n        true,\n        false,\n        true,\n      );\n      if (\n        block &&\n        block.type === LexerEx.SEC_TYPE.CUSTOM &&\n        block.startLine === token.start.line &&\n        block.startCol === token.start.column\n      ) {\n        current = 0;\n        const start = token.start;\n        const end = { line: block.endLine, column: block.endCol };\n        statement.children.pop();\n        statement.children.push({\n          type: \"raw-data\",\n          text: model.getText({ start, end }),\n          start,\n          end,\n        });\n      }\n    }\n  } else if (current === 0) {\n    statement.children.pop();\n    if (\n      statement &&\n      statement.children.length > 0 &&\n      isSamePosition(\n        token.end,\n        statement.children[statement.children.length - 1].end,\n      )\n    ) {\n      current = 1;\n    }\n  } else if (current === 1) {\n    return -1;\n  }\n  return current;\n};\n\nconst preserveQuoting = (\n  current: number,\n  statement: Statement,\n  model: Model,\n) => {\n  const token = statement.children[statement.children.length - 1];\n  if (isComment(token)) {\n    return current;\n  }\n\n  if (\n    current === -1 &&\n    (Lexer.isQuoting[token.text.toUpperCase()] ||\n      Lexer.isBQuoting[token.text.toUpperCase()])\n  ) {\n    return 0;\n  } else if (current === 0 && token.text !== \"(\") {\n    return -1;\n  } else if (current >= 0) {\n    statement.children.pop();\n    if (token.text === \"(\") {\n      if (++current === 1) {\n        statement.children.push(token);\n      }\n    } else if (token.text === \")\") {\n      if (--current === 0) {\n        const preToken = statement.children[statement.children.length - 1];\n        const start = preToken.start;\n        const end = token.end;\n        statement.children.pop();\n        statement.children.push({\n          type: \"text\",\n          text: model.getText({ start, end }),\n          start,\n          end,\n        });\n        return -1;\n      }\n    }\n  }\n  return current;\n};\n\nexport const getParser =\n  (model: Model, tokens: Token[], syntaxProvider: SyntaxProvider) => () => {\n    const root: Program = {\n      type: \"program\",\n      children: [],\n    };\n    const parents: Region[] = [];\n    let region: Region | undefined = undefined;\n    let currentStatement: Statement | undefined = undefined;\n    let prevStatement: Statement | undefined = undefined;\n    let quoting = -1;\n    let preserveProc = -1;\n    let preserveCustom = -1;\n\n    for (let i = 0; i < tokens.length; i++) {\n      const node = tokens[i];\n      let parent = parents.length ? parents[parents.length - 1] : root;\n\n      //#region --- Preserve Python/R/Lua\n      if (region && region.block) {\n        preserveProc = preserveProcs(preserveProc, region, node, model);\n        if (preserveProc === 0 && i === tokens.length - 1) {\n          // force finish at file end\n          const fakeNode: Token = { ...node, text: \";\", type: \"sep\" };\n          if (node.text.endsWith(\"\\n\\n\")) {\n            // printer will add trailing new line\n            fakeNode.end = { line: node.end.line - 1, column: 0 };\n          }\n          preserveProc = preserveProcs(1, region, fakeNode, model);\n        }\n        if (preserveProc >= 0) {\n          continue;\n        }\n      }\n      if (node.type === \"embedded-code\") {\n        continue;\n      }\n      //#endregion ---\n\n      //#region --- Check for block start: DATA, PROC, %MACRO\n      if (node.type === \"sec-keyword\" || node.type === \"macro-sec-keyword\") {\n        const block = syntaxProvider.getFoldingBlock(\n          node.start.line,\n          node.start.column,\n          true,\n          true,\n          true,\n        );\n        if (\n          block &&\n          block.startLine === node.start.line &&\n          block.startCol === node.start.column\n        ) {\n          if (region && hasParent([...parents, region], block)) {\n            parents.push(region);\n            parent = region;\n          }\n          region = {\n            type: \"region\",\n            block: block,\n            children: [],\n          };\n          parent.children.push(region);\n          if (currentStatement) {\n            prevStatement = currentStatement;\n            currentStatement = undefined;\n          }\n        }\n      }\n      //#endregion ---\n\n      //#region --- Check for statement start\n      if (!currentStatement) {\n        currentStatement = {\n          type: \"statement\",\n          name: node.text,\n          children: [],\n        };\n        if (region) {\n          if (region.children.length === 0 && prevStatement) {\n            const prevToken =\n              prevStatement.children[prevStatement.children.length - 1];\n            if (prevStatement.children.length === 1 && isComment(prevToken)) {\n              // leading comment will be printed together with current statement\n              currentStatement.leadingComment = prevToken;\n              // remove it from previous AST location\n              removePrevStatement(parent);\n            }\n          }\n          region.children.push(currentStatement);\n        } else {\n          parent.children.push(currentStatement);\n        }\n      }\n      //#endregion ---\n\n      currentStatement.children.push(node);\n\n      preserveCustom = preserveCustomRegion(\n        preserveCustom,\n        currentStatement,\n        model,\n        syntaxProvider,\n      );\n      if (preserveCustom >= 0) {\n        if (preserveCustom === 1) {\n          prevStatement = currentStatement;\n          currentStatement = undefined;\n        }\n        continue;\n      }\n\n      quoting = preserveQuoting(quoting, currentStatement, model);\n      if (quoting >= 0) {\n        continue;\n      }\n\n      //#region --- Check for statement end\n      if (node.type === \"sep\" && node.text === \";\") {\n        if (\n          currentStatement.children[0].type === \"cards-data\" &&\n          /(cards|lines|datalines|parmcards)4/i.test(\n            (region && prevStatement?.name) ?? \"\",\n          ) &&\n          currentStatement.children.length < 5\n        ) {\n          // datalines4 requires ;;;; to end\n          continue;\n        }\n        if (\n          isStartingRegion(\n            region ? [...parents, region] : parents,\n            currentStatement,\n          )\n        ) {\n          if (region) {\n            region.children.pop();\n            parents.push(region);\n            parent = region;\n          } else {\n            parent.children.pop();\n          }\n          region = {\n            type: \"region\",\n            children: [currentStatement],\n          };\n          parent.children.push(region);\n        } else if (\n          region &&\n          !region.block &&\n          currentStatement.children.length > 1 &&\n          /^(%?end|enddata|endpackage|endthread|endgraph|endlayout)$/i.test(\n            currentStatement.children[currentStatement.children.length - 2]\n              .text,\n          )\n        ) {\n          // region end\n          // put `end` out of region children to outdent\n          parent.children.push(region.children.pop()!);\n          region = parents.pop();\n        } else if (region && isAtBlockEnd(region.block, node)) {\n          // block end\n          if (/^(run|quit|%mend)\\b/i.test(currentStatement.children[0].text)) {\n            // put `run` out of section children to outdent\n            parent.children.push(region.children.pop()!);\n          }\n          region = parents.pop();\n        }\n        if (i < tokens.length - 1) {\n          const nextToken = tokens[i + 1];\n          if (isComment(nextToken) && nextToken.end.line === node.end.line) {\n            // trailing comment\n            currentStatement.children.push(nextToken);\n            ++i;\n          }\n          const lineGap = nextToken.start.line - node.end.line;\n          const hasCardsData = currentStatement.children.some(\n            (token) => token.type === \"cards-data\",\n          );\n          const minGapToPreserve = hasCardsData ? 2 : 1;\n          if (lineGap > minGapToPreserve) {\n            // preserve user explicit empty line\n            currentStatement.children.push({\n              type: \"raw-data\",\n              text: \"\\n\",\n              start: node.end,\n              end: nextToken.start,\n            });\n          }\n        }\n        prevStatement = currentStatement;\n        currentStatement = undefined;\n      } else if (currentStatement.children.length === 1 && isComment(node)) {\n        // standalone comment, treat as a whole statement\n        prevStatement = currentStatement;\n        currentStatement = undefined;\n        if (isAtBlockEnd(region?.block, node)) {\n          region = parents.pop();\n        }\n      } else if (\n        currentStatement.children.length === 2 &&\n        node.type === \"sep\" &&\n        node.text === \":\" &&\n        currentStatement.children[0].type === \"text\"\n      ) {\n        // label: treat as raw data\n        currentStatement.children[0] = {\n          ...currentStatement.children[0],\n          type: \"raw-data\",\n        };\n        prevStatement = currentStatement;\n        currentStatement = undefined;\n      }\n      //#endregion ---\n    }\n\n    return root;\n  };\n"
  },
  {
    "path": "server/src/sas/formatter/printer.ts",
    "content": "// Copyright © 2023, SAS Institute Inc., Cary, NC, USA.  All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport type { Doc, Printer } from \"prettier\";\nimport { builders, utils } from \"prettier/doc\";\n\nimport { isSamePosition } from \"../utils\";\nimport { SASAST, Statement, Token, isComment } from \"./parser\";\n\nconst {\n  fill,\n  hardline,\n  indent,\n  join,\n  line,\n  literalline,\n  markAsRoot,\n  softline,\n} = builders;\n\nconst isRootAlign = (doc: Doc) =>\n  typeof doc === \"object\" &&\n  \"type\" in doc &&\n  doc.type === \"align\" &&\n  typeof doc.n === \"object\" &&\n  doc.n.type === \"root\";\n\nconst isEqualsSign = (token: Token) =>\n  token.type === \"sep\" && token.text === \"=\";\n\nconst startsWithLineBreak = (doc: Doc) => {\n  while (Array.isArray(doc)) {\n    doc = doc[0];\n  }\n  return typeof doc === \"object\" && \"type\" in doc && doc.type === \"line\";\n};\n\nexport const print: Printer<SASAST>[\"print\"] = (path, options, print) => {\n  const { node } = path;\n  if (\"children\" in node && node.children?.length) {\n    if (node.type === \"statement\") {\n      return printStatement(node);\n    }\n    const children = removeRedundantLineBreaks(\n      path.map(print, \"children\").filter((doc) => doc !== \"\"),\n    );\n    if (node.type === \"region\") {\n      const region = printRegion(children);\n      return !(\n        path.isFirst ||\n        (path.index === 1 && path.parent?.type === \"region\")\n      ) && node.block\n        ? [hardline, ...region]\n        : region;\n    }\n    children[children.length - 1] = utils.stripTrailingHardline(\n      children[children.length - 1],\n    );\n    return [...join(line, children), literalline];\n  }\n  return \"text\" in node ? node.text : \"\";\n};\n\nconst printRegion = (children: Doc[]) => {\n  const [first, ...others] = children;\n  return [\n    first,\n    indent(\n      others.reduce<Doc[]>(\n        (pre, doc) => [...pre, isRootAlign(doc) ? literalline : line, doc],\n        [],\n      ),\n    ),\n  ];\n};\n\nconst printStatement = (node: Statement) => {\n  const [first, ...others] = node.children;\n  const statement =\n    first.type === \"cards-data\" || first.type === \"raw-data\"\n      ? markAsRoot(node.children.map((token) => token.text))\n      : fill(\n          // Note: `fill` requires elements with odd indices must be line breaks\n          // Refers to https://github.com/prettier/prettier/blob/main/commands.md#fill\n          others.reduce<Doc[]>(\n            (pre, token, index) => {\n              const preToken = index === 0 ? first : others[index - 1];\n              if (\n                typeof pre[pre.length - 1] === \"string\" &&\n                isSamePosition(token.start, preToken.end)\n              ) {\n                // do not break if no whitespace\n                pre[pre.length - 1] += token.text;\n                return pre;\n              }\n              return [\n                ...pre,\n                indent(\n                  isEqualsSign(token) ||\n                    (isEqualsSign(preToken) &&\n                      index + 1 < others.length &&\n                      !isEqualsSign(others[index + 1]))\n                    ? // trim whitespace around equals sign\n                      softline\n                    : line,\n                ),\n                token.text,\n              ];\n            },\n            [isComment(first) ? printComment(first) : first.text],\n          ),\n        );\n  return node.leadingComment\n    ? [printComment(node.leadingComment), hardline, statement]\n    : statement;\n};\n\nconst printComment = (token: Token) => {\n  const text = token.text.split(\"\\n\");\n  if (text.length === 0 || !token.text.startsWith(\"/*\")) {\n    return token.text;\n  }\n  return join(\n    hardline,\n    text.map((line) => line.trim().replace(/^\\*/, \" *\")),\n  );\n};\n\nconst removeRedundantLineBreaks = (docs: Doc[]) =>\n  docs.map((doc, index) =>\n    index < docs.length - 1 && startsWithLineBreak(docs[index + 1])\n      ? utils.stripTrailingHardline(doc)\n      : doc,\n  );\n"
  },
  {
    "path": "server/src/sas/utils.ts",
    "content": "// Copyright © 2022, SAS Institute Inc., Cary, NC, USA.  All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { ResLoader } from \"../node/ResLoader\";\n\nexport interface TextPosition {\n  line: number;\n  column: number;\n}\n\nexport interface TextRange {\n  start: TextPosition;\n  end: TextPosition;\n}\n\nexport function isSamePosition(pos1: TextPosition, pos2: TextPosition) {\n  return pos1.line === pos2.line && pos1.column === pos2.column;\n}\n\nexport function arrayToMap(arr: string[] | number[]): Record<string, 1> {\n  const map: Record<string, 1> = {};\n  for (const key of arr) {\n    map[key] = 1;\n  }\n  return map;\n}\n\nlet bundle: Record<string, string>;\nconst locale: string =\n  typeof process !== \"undefined\" && process.env.VSCODE_NLS_CONFIG\n    ? JSON.parse(process.env.VSCODE_NLS_CONFIG).locale\n    : (global.navigator?.language ?? \"en\");\nconst supportedLanguages = [\n  \"ar\",\n  \"cs\",\n  \"da\",\n  \"de\",\n  \"el\",\n  \"es\",\n  \"fi\",\n  \"fr\",\n  \"he\",\n  \"hr\",\n  \"hu\",\n  \"it\",\n  \"iw\",\n  \"ja\",\n  \"ko\",\n  \"nb\",\n  \"nl\",\n  \"no\",\n  \"pl\",\n  \"pt_BR\",\n  \"pt\",\n  \"ru\",\n  \"sh\",\n  \"sk\",\n  \"sl\",\n  \"sr\",\n  \"sv\",\n  \"th\",\n  \"tr\",\n  \"uk\",\n  \"zh_CN\",\n  \"zh_TW\",\n];\nexport function getText(key: string, arg?: string): string {\n  if (!bundle) {\n    bundle = {};\n    // eslint-disable-next-line @typescript-eslint/no-require-imports\n    require(\"../../messagebundle.properties\")\n      .split(\"\\n\")\n      .forEach((pair: string) => {\n        const [key, value] = pair.split(\"=\");\n        bundle[key] = value;\n      });\n\n    if (locale !== \"en\") {\n      const localeString = locale.replace(\"-\", \"_\").toLowerCase();\n      let index = supportedLanguages.findIndex(\n        (l) => l.toLowerCase() === localeString,\n      );\n      if (index === -1) {\n        const parentLocale = locale.split(\"-\")[0];\n        index = supportedLanguages.indexOf(parentLocale);\n      }\n      if (index >= 0) {\n        ResLoader.getBundle(supportedLanguages[index])\n          .split(\"\\n\")\n          .forEach((pair: string) => {\n            const [key, value] = pair.split(\"=\");\n            if (key && value) {\n              bundle[key] = value.replace(/\\\\u(.{4})/g, (_, p1) =>\n                String.fromCodePoint(parseInt(p1, 16)),\n              );\n            }\n          });\n      }\n    }\n  }\n  let result = bundle[key];\n  if (arg) {\n    result = result.replace(\"{0}\", arg);\n  }\n  return result;\n}\n\nexport const isCustomRegionStartComment = (commmentText?: string) => {\n  return /^\\s*[%/]?\\*\\s*region\\b/i.test(commmentText ?? \"\");\n};\n\nexport const isCustomRegionEndComment = (commmentText?: string) => {\n  return /^\\s*[%/]?\\*\\s*endregion\\b/i.test(commmentText ?? \"\");\n};\n"
  },
  {
    "path": "server/src/server.ts",
    "content": "// Copyright © 2022-2024, SAS Institute Inc., Cary, NC, USA.  All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport {\n  CancellationToken,\n  CodeActionKind,\n  CompletionItemKind,\n  CompletionTriggerKind,\n  Connection,\n  DidChangeConfigurationParams,\n  DidChangeWatchedFilesParams,\n  DocumentHighlightParams,\n  DocumentSymbol,\n  ExecuteCommandParams,\n  InitializeResult,\n  Location,\n  Position,\n  PrepareRenameParams,\n  Range,\n  ReferenceParams,\n  Registration,\n  RegistrationRequest,\n  RenameParams,\n  ResultProgressReporter,\n  SemanticTokensRequest,\n  TextDocumentPositionParams,\n  TextDocumentSyncKind,\n  Unregistration,\n  UnregistrationRequest,\n  WorkDoneProgressReporter,\n  WorkspaceSymbolParams,\n} from \"vscode-languageserver\";\nimport { TextDocument } from \"vscode-languageserver-textdocument\";\n\nimport { ReadOnlyFileSystem } from \"pyright-internal-node/dist/packages/pyright-internal/src/common/fileSystem\";\nimport { DocumentRange } from \"pyright-internal-node/dist/packages/pyright-internal/src/common/textRange\";\nimport { Uri } from \"pyright-internal-node/dist/packages/pyright-internal/src/common/uri/uri\";\nimport { CollectionResult } from \"pyright-internal-node/dist/packages/pyright-internal/src/languageService/documentSymbolCollector\";\nimport { ParseFileResults } from \"pyright-internal-node/dist/packages/pyright-internal/src/parser/parser\";\n\nimport { PyrightLanguageProvider } from \"./python/PyrightLanguageProvider\";\nimport { CodeZoneManager } from \"./sas/CodeZoneManager\";\nimport { LanguageServiceProvider, legend } from \"./sas/LanguageServiceProvider\";\nimport type { LibCompleteItem } from \"./sas/SyntaxDataProvider\";\nimport { isCustomRegionStartComment } from \"./sas/utils\";\n\ninterface DocumentInfo {\n  document: TextDocument;\n  changed: boolean;\n  service?: LanguageServiceProvider;\n}\n\nexport const runServer = (\n  connection: Connection,\n  _pyrightLanguageProvider: PyrightLanguageProvider,\n) => {\n  const documentPool: Record<string, DocumentInfo> = {};\n\n  let supportSASGetLibList = false;\n  let registeredAdvancedCapabilities = false;\n\n  _pyrightLanguageProvider.setSasLspProvider(getLanguageService);\n\n  connection.onInitialize((params) => {\n    if (\n      params.initializationOptions &&\n      params.initializationOptions.supportSASGetLibList\n    ) {\n      supportSASGetLibList = true;\n    }\n    _pyrightLanguageProvider.initialize(params, [], []);\n\n    const result: InitializeResult = {\n      capabilities: {\n        textDocumentSync: TextDocumentSyncKind.Incremental,\n        semanticTokensProvider: {\n          legend,\n          full: true,\n        },\n        documentFormattingProvider: true,\n        foldingRangeProvider: true,\n        documentOnTypeFormattingProvider: {\n          firstTriggerCharacter: \"\\n\",\n          moreTriggerCharacter: [\";\"],\n        },\n        documentSymbolProvider: { workDoneProgress: true },\n        workspaceSymbolProvider: { workDoneProgress: true },\n        hoverProvider: { workDoneProgress: true },\n        completionProvider: {\n          triggerCharacters: _pyrightLanguageProvider.getClientCapabilities()\n            .hasVisualStudioExtensionsCapability\n            ? [\".\", \"[\", \"@\", '\"', \"'\", \" \"]\n            : [\".\", \"[\", '\"', \"'\", \" \"],\n          resolveProvider: true,\n          workDoneProgress: true,\n          completionItem: {\n            labelDetailsSupport: true,\n          },\n        },\n        signatureHelpProvider: {\n          triggerCharacters: [\"(\", \",\", \")\"],\n          workDoneProgress: true,\n        },\n        workspace: {\n          workspaceFolders: {\n            supported: true,\n            changeNotifications: true,\n          },\n        },\n        codeActionProvider: {\n          codeActionKinds: [\n            CodeActionKind.QuickFix,\n            CodeActionKind.SourceOrganizeImports,\n          ],\n        },\n      },\n    };\n    return result;\n  });\n\n  connection.onInitialized(() => _pyrightLanguageProvider.onInitialized());\n\n  connection.onRequest(SemanticTokensRequest.type, (params) => {\n    syncIfDocChange(params.textDocument.uri);\n    const languageService = getLanguageService(params.textDocument.uri);\n\n    return { data: languageService.getTokens() };\n  });\n\n  connection.onHover(async (params, token) => {\n    return await dispatch(params, {\n      async sas(languageService) {\n        return await languageService.completionProvider.getHelp(\n          params.position,\n        );\n      },\n      async python(pyrightLanguageService) {\n        return await pyrightLanguageService.onHover(params, token);\n      },\n    });\n  });\n\n  connection.onCompletion(async (params, token) => {\n    return await dispatch(params, {\n      async sas(languageService) {\n        if (\n          params.context?.triggerCharacter &&\n          params.context.triggerCharacter !== \" \" &&\n          params.context.triggerCharacter !== \".\"\n        ) {\n          return undefined;\n        }\n        const completionList =\n          await languageService.completionProvider.getCompleteItems(params);\n        if (completionList) {\n          for (const item of completionList.items) {\n            if (!item.data) {\n              item.data = {};\n            }\n            item.data._languageService = \"sas\";\n            item.data._uri = params.textDocument.uri;\n          }\n        }\n        return completionList;\n      },\n      async python(pyrightLanguageService) {\n        const completionList = await pyrightLanguageService.onCompletion(\n          params,\n          token,\n        );\n        if (completionList) {\n          for (const item of completionList.items) {\n            if (!item.data) {\n              item.data = {};\n            }\n            item.data._languageService = \"python\";\n            item.data._uri = params.textDocument.uri;\n          }\n\n          if (\n            params.context?.triggerKind === CompletionTriggerKind.Invoked ||\n            params.context?.triggerKind ===\n              CompletionTriggerKind.TriggerForIncompleteCompletions\n          ) {\n            const doc = documentPool[params.textDocument.uri].document;\n            const line = doc.getText({\n              start: {\n                line: params.position.line,\n                character: 0,\n              },\n              end: params.position,\n            });\n            if (!/\\W/.test(line.trimStart())) {\n              const item = {\n                kind: CompletionItemKind.Keyword,\n                data: {\n                  _languageService: \"sas\",\n                  _uri: params.textDocument.uri,\n                },\n              };\n              if (\n                completionList.items.findIndex(\n                  (item) => item.label === \"endsubmit\",\n                ) === -1\n              ) {\n                completionList.items.push({ ...item, label: \"endsubmit\" });\n              }\n              if (\n                completionList.items.findIndex(\n                  (item) => item.label === \"endinteractive\",\n                ) === -1\n              ) {\n                completionList.items.push({ ...item, label: \"endinteractive\" });\n              }\n            }\n          }\n        }\n        return completionList;\n      },\n    });\n  });\n\n  connection.onCompletionResolve(async (completionItem, token) => {\n    const lang = completionItem.data._languageService;\n    if (lang === \"sas\") {\n      const languageService = getLanguageService(completionItem.data._uri);\n      return await languageService.completionProvider.getCompleteItemHelp(\n        completionItem,\n      );\n    } else if (lang === \"python\") {\n      return await _pyrightLanguageProvider.onCompletionResolve(\n        completionItem,\n        token,\n      );\n    }\n    return completionItem;\n  });\n\n  connection.onDocumentSymbol(async (params, token) => {\n    syncIfDocChange(params.textDocument.uri);\n    const languageService = getLanguageService(params.textDocument.uri);\n    const sasSymbols = languageService.getDocumentSymbols();\n    const pythonSymbols =\n      (await _pyrightLanguageProvider.onDocumentSymbol(params, token)) ?? [];\n    let hasPythonCode = false;\n    const symbolList = [...sasSymbols];\n    for (let i = 0; i < symbolList.length; i++) {\n      const curSymbol = symbolList[i];\n      if (isCustomRegionStartComment(curSymbol.name)) {\n        symbolList.splice(i + 1, 0, ...(curSymbol.children ?? []));\n      } else if (curSymbol.name?.toUpperCase() === \"PROC PYTHON\") {\n        hasPythonCode = true;\n        for (const pythonSymbol of pythonSymbols) {\n          if (!(\"range\" in pythonSymbol)) {\n            continue;\n          }\n          if (isRangeIncluded(curSymbol.range, pythonSymbol.range)) {\n            curSymbol.children?.push(pythonSymbol);\n          }\n        }\n      }\n    }\n    if (registeredAdvancedCapabilities) {\n      if (!hasPythonCode) {\n        unregisterAdvancedCapabilities(connection);\n      }\n    } else {\n      if (hasPythonCode) {\n        registerAdvancedCapabilities(connection);\n      }\n    }\n    return sasSymbols;\n  });\n\n  // todo\n  connection.onFoldingRanges((params) => {\n    syncIfDocChange(params.textDocument.uri);\n    const languageService = getLanguageService(params.textDocument.uri);\n    return languageService.getFoldingRanges();\n  });\n\n  connection.onRequest(\"sas/getFoldingBlock\", async (params) => {\n    const languageService = getLanguageService(params.textDocument.uri);\n    const block = languageService.getFoldingBlock(\n      params.line,\n      params.col,\n      params.strict ?? true,\n      params.ignoreCustomBlock,\n      params.ignoreGlobalBlock,\n    );\n    if (!block) {\n      return undefined;\n    } else {\n      return { ...block, outerBlock: undefined, innerBlocks: undefined };\n    }\n  });\n\n  connection.onRequest(\"sas/toggleLineComment\", (params) => {\n    const languageService = getLanguageService(params.textDocument.uri);\n    return languageService.toggleLineComment(params.range);\n  });\n\n  connection.onDocumentOnTypeFormatting(async (params) => {\n    return await dispatch(params, {\n      async sas(languageService) {\n        return languageService.formatOnTypeProvider.getIndentEdit(\n          params.position.line,\n          params.position.character,\n          params.ch,\n          params.options.tabSize,\n          params.options.insertSpaces,\n        );\n      },\n    });\n  });\n\n  connection.onSignatureHelp(async (params, token) => {\n    return await dispatch(params, {\n      async sas(languageService) {\n        return await languageService.completionProvider.getSignatureHelp(\n          params.position,\n          params.context?.activeSignatureHelp?.activeSignature,\n        );\n      },\n      async python(pyrightLanguageService) {\n        // eslint-disable-next-line @typescript-eslint/consistent-type-assertions\n        return (await pyrightLanguageService.onSignatureHelp(\n          params,\n          token,\n          // eslint-disable-next-line @typescript-eslint/no-explicit-any\n        )) as any;\n      },\n    });\n  });\n\n  connection.onDocumentFormatting((params) => {\n    syncIfDocChange(params.textDocument.uri);\n    const languageService = getLanguageService(params.textDocument.uri);\n    return languageService.formatter.format({\n      tabWidth: params.options.tabSize,\n      useTabs: params.options.insertSpaces === false,\n    });\n  });\n\n  connection.onDidOpenTextDocument(async (params) => {\n    const doc = TextDocument.create(\n      params.textDocument.uri,\n      \"sas\",\n      params.textDocument.version,\n      params.textDocument.text,\n    );\n    documentPool[doc.uri] = { document: doc, changed: false };\n    await _pyrightLanguageProvider.onDidOpenTextDocument(params);\n  });\n\n  connection.onDidCloseTextDocument(async (params) => {\n    const uri = params.textDocument.uri;\n    delete documentPool[uri];\n    await _pyrightLanguageProvider.onDidCloseTextDocument(params);\n  });\n\n  connection.onDidChangeTextDocument((params) => {\n    const uri = params.textDocument.uri;\n    const docInfo = documentPool[uri];\n    TextDocument.update(\n      docInfo.document,\n      params.contentChanges,\n      params.textDocument.version,\n    );\n    docInfo.changed = true;\n    docInfo.service = undefined;\n  });\n\n  connection.onDidChangeConfiguration(\n    async (params: DidChangeConfigurationParams) => {\n      return await _pyrightLanguageProvider.onDidChangeConfiguration(params);\n    },\n  );\n\n  connection.onDefinition(\n    async (params: TextDocumentPositionParams, token: CancellationToken) => {\n      return await dispatch(params, {\n        async python(pyrightLanguageService) {\n          return await pyrightLanguageService.onDefinition(params, token);\n        },\n      });\n    },\n  );\n\n  connection.onDeclaration(\n    async (params: TextDocumentPositionParams, token: CancellationToken) => {\n      return await dispatch(params, {\n        async python(pyrightLanguageService) {\n          return await pyrightLanguageService.onDeclaration(params, token);\n        },\n      });\n    },\n  );\n\n  connection.onTypeDefinition(\n    async (params: TextDocumentPositionParams, token: CancellationToken) => {\n      return await dispatch(params, {\n        async python(pyrightLanguageService) {\n          return await pyrightLanguageService.onTypeDefinition(params, token);\n        },\n      });\n    },\n  );\n\n  connection.onReferences(\n    async (\n      params: ReferenceParams,\n      token: CancellationToken,\n      workDoneReporter: WorkDoneProgressReporter,\n      resultReporter: ResultProgressReporter<Location[]> | undefined,\n      createDocumentRange?: (\n        uri: Uri,\n        result: CollectionResult,\n        parseResults: ParseFileResults,\n      ) => DocumentRange,\n      convertToLocation?: (\n        fs: ReadOnlyFileSystem,\n        ranges: DocumentRange,\n      ) => Location | undefined,\n    ) => {\n      return await dispatch(params, {\n        async python(pyrightLanguageService) {\n          return await pyrightLanguageService.onReferences(\n            params,\n            token,\n            workDoneReporter,\n            resultReporter,\n            createDocumentRange,\n            convertToLocation,\n          );\n        },\n      });\n    },\n  );\n\n  connection.onWorkspaceSymbol(\n    async (\n      params: WorkspaceSymbolParams,\n      token: CancellationToken,\n      workDoneProgress,\n      resultProgress,\n    ) => {\n      syncAllChangedDoc();\n      return await _pyrightLanguageProvider.onWorkspaceSymbol(\n        params,\n        token,\n        resultProgress,\n      );\n    },\n  );\n\n  connection.onDocumentHighlight(\n    async (params: DocumentHighlightParams, token: CancellationToken) => {\n      return await dispatch(params, {\n        async python(pyrightLanguageService) {\n          return await pyrightLanguageService.onDocumentHighlight(\n            params,\n            token,\n          );\n        },\n      });\n    },\n  );\n\n  connection.onPrepareRename(\n    async (params: PrepareRenameParams, token: CancellationToken) => {\n      return await dispatch(params, {\n        async python(pyrightLanguageService) {\n          return await pyrightLanguageService.onPrepareRenameRequest(\n            params,\n            token,\n          );\n        },\n      });\n    },\n  );\n\n  connection.onRenameRequest(\n    async (params: RenameParams, token: CancellationToken) => {\n      return await dispatch(params, {\n        async python(pyrightLanguageService) {\n          // eslint-disable-next-line @typescript-eslint/consistent-type-assertions\n          return (await pyrightLanguageService.onRenameRequest(\n            params,\n            token,\n            // eslint-disable-next-line @typescript-eslint/no-explicit-any\n          )) as any;\n        },\n      });\n    },\n  );\n\n  connection.onDidChangeWatchedFiles(\n    async (params: DidChangeWatchedFilesParams) => {\n      params.changes.forEach((item) => {\n        if (item.uri in documentPool) {\n          syncIfDocChange(item.uri);\n        }\n      });\n      _pyrightLanguageProvider.onDidChangeWatchedFiles(params);\n    },\n  );\n\n  connection.onExecuteCommand(\n    async (\n      params: ExecuteCommandParams,\n      token: CancellationToken,\n      reporter: WorkDoneProgressReporter,\n    ) => {\n      syncAllChangedDoc();\n      return await _pyrightLanguageProvider.onExecuteCommand(\n        params,\n        token,\n        reporter,\n      );\n    },\n  );\n\n  const callHierarchy = connection.languages.callHierarchy;\n\n  callHierarchy.onPrepare(async (params, token) => {\n    return (\n      (await dispatch(params, {\n        async python(pyrightLanguageService) {\n          return await pyrightLanguageService.onCallHierarchyPrepare(\n            params,\n            token,\n          );\n        },\n      })) ?? []\n    );\n  });\n\n  callHierarchy.onIncomingCalls(async (params, token) => {\n    return await _pyrightLanguageProvider.onCallHierarchyIncomingCalls(\n      params,\n      token,\n    );\n  });\n\n  callHierarchy.onOutgoingCalls(async (params, token) => {\n    return await _pyrightLanguageProvider.onCallHierarchyOutgoingCalls(\n      params,\n      token,\n    );\n  });\n\n  connection.onCodeAction(async (params, token) => {\n    return await dispatch(\n      { textDocument: params.textDocument, position: params.range.start },\n      {\n        async python(pyrightLanguageService) {\n          return await pyrightLanguageService.executeCodeAction(params, token);\n        },\n      },\n    );\n  });\n\n  connection.onShutdown(async (token) => {\n    await _pyrightLanguageProvider.onShutdown(token);\n  });\n\n  // Listen on the connection\n  connection.listen();\n\n  function getLanguageService(uri: string) {\n    const docInfo = documentPool[uri];\n    // re-create LanguageServer if document changed\n    if (!docInfo.service) {\n      docInfo.service = new LanguageServiceProvider(docInfo.document);\n\n      if (supportSASGetLibList) {\n        docInfo.service.setLibService((libId, resolve) =>\n          connection\n            .sendRequest<LibCompleteItem[]>(\"sas/getLibList\", { libId: libId })\n            .then(resolve),\n        );\n      }\n    }\n    return docInfo.service!;\n  }\n\n  const dispatch = async <Ret>(\n    params: { textDocument: { uri: string }; position: Position },\n    callbacks: {\n      sas?: (languageService: LanguageServiceProvider) => Promise<Ret>;\n      python?: (\n        pyrightLanguageService: PyrightLanguageProvider,\n      ) => Promise<Ret>;\n      default?: (languageServices: {\n        sasLanguageService: LanguageServiceProvider;\n        pythonLanguageService?: PyrightLanguageProvider;\n      }) => Promise<Ret>;\n    },\n  ) => {\n    syncIfDocChange(params.textDocument.uri);\n    const languageService = getLanguageService(params.textDocument.uri);\n    const codeZoneManager = languageService.getCodeZoneManager();\n    const pos = params.position;\n    const symbols: DocumentSymbol[] = languageService.getDocumentSymbols();\n    for (let i = 0; i < symbols.length; i++) {\n      const symbol = symbols[i];\n      if (isCustomRegionStartComment(symbol.name)) {\n        symbols.splice(i + 1, 0, ...(symbol.children ?? []));\n        continue;\n      }\n      const start = symbol.range.start;\n      const end = symbol.range.end;\n      if (\n        (start.line < pos.line ||\n          (start.line === pos.line && start.character <= pos.character)) &&\n        (end.line > pos.line ||\n          (end.line === pos.line && end.character >= pos.character))\n      ) {\n        if (\n          symbol.name?.toUpperCase() === \"PROC PYTHON\" &&\n          codeZoneManager.getCurrentZone(pos.line, pos.character) ===\n            CodeZoneManager.ZONE_TYPE.EMBEDDED_LANG\n        ) {\n          if (callbacks.python) {\n            return await callbacks.python(_pyrightLanguageProvider);\n          } else if (callbacks.default) {\n            return await callbacks.default({\n              sasLanguageService: languageService,\n              pythonLanguageService: _pyrightLanguageProvider,\n            });\n          } else {\n            return undefined;\n          }\n        }\n      }\n    }\n    if (callbacks.sas) {\n      return await callbacks.sas(languageService);\n    } else if (callbacks.default) {\n      return await callbacks.default({\n        sasLanguageService: languageService,\n        pythonLanguageService: _pyrightLanguageProvider,\n      });\n    }\n    {\n      return undefined;\n    }\n  };\n\n  const isRangeIncluded = (a: Range, b: Range) => {\n    if (\n      b.start.line > a.start.line &&\n      (b.end.line < a.end.line ||\n        (b.end.line === a.end.line && b.end.character <= a.end.character))\n    ) {\n      return true;\n    }\n    return false;\n  };\n\n  const syncIfDocChange = (uri: string) => {\n    const docInfo = documentPool[uri];\n    if (!docInfo.changed) {\n      return;\n    }\n    docInfo.changed = false;\n    _pyrightLanguageProvider.addContentChange(docInfo.document);\n  };\n\n  const syncAllChangedDoc = () => {\n    for (const uri in documentPool) {\n      syncIfDocChange(uri);\n    }\n  };\n\n  const advancedCapabilities = [\n    \"textDocument/declaration\",\n    \"textDocument/definition\",\n    \"textDocument/typeDefinition\",\n    \"textDocument/references\",\n    \"textDocument/rename\",\n    \"textDocument/documentHighlight\",\n    \"textDocument/prepareCallHierarchy\",\n  ];\n\n  const registerAdvancedCapabilities = async (conn: Connection) => {\n    if (registeredAdvancedCapabilities) {\n      return;\n    }\n    registeredAdvancedCapabilities = true;\n    const registerOptions = {\n      documentSelector: [{ language: \"sas\" }],\n    };\n    const registrations: Registration[] = [];\n    for (const capability of advancedCapabilities) {\n      registrations.push({\n        id: capability,\n        method: capability,\n        registerOptions,\n      });\n    }\n    await conn.sendRequest(RegistrationRequest.type, { registrations });\n  };\n\n  const unregisterAdvancedCapabilities = async (conn: Connection) => {\n    if (!registeredAdvancedCapabilities) {\n      return;\n    }\n    registeredAdvancedCapabilities = false;\n    const unregisterations: Unregistration[] = [];\n    for (const capability of advancedCapabilities) {\n      unregisterations.push({ id: capability, method: capability });\n    }\n    await conn.sendRequest(UnregistrationRequest.type, {\n      unregisterations: unregisterations,\n    });\n  };\n};\n"
  },
  {
    "path": "server/test/embedded_lang/embedded_lang.test.ts",
    "content": "// Copyright © 2022-2024, SAS Institute Inc., Cary, NC, USA.  All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { TextDocument } from \"vscode-languageserver-textdocument\";\n\nimport { assert } from \"chai\";\nimport fs from \"fs\";\n\nimport { CodeZoneManager } from \"../../src/sas/CodeZoneManager\";\nimport { LanguageServiceProvider } from \"../../src/sas/LanguageServiceProvider\";\n\nconst openDoc = (path: string): TextDocument => {\n  const content = fs.readFileSync(path, {\n    encoding: \"utf-8\",\n  });\n  const doc: TextDocument = TextDocument.create(path, \"sas\", 1, content);\n  return doc;\n};\n\ndescribe(\"Test code zone for embedded language\", () => {\n  it(\"proc sql\", () => {\n    const doc = openDoc(\"server/testFixture/embedded_lang/proc_sql.sas\");\n    const languageServer = new LanguageServiceProvider(doc);\n    const codeZoneManager = languageServer.getCodeZoneManager();\n\n    const zoneList = [];\n    for (let i = 0; i < doc.lineCount; i++) {\n      zoneList.push(codeZoneManager.getCurrentZone(i, 1));\n    }\n\n    assert.equal(zoneList[0], CodeZoneManager.ZONE_TYPE.COMMENT);\n    assert.equal(zoneList[3], CodeZoneManager.ZONE_TYPE.PROC_STMT);\n    assert.equal(zoneList[5], CodeZoneManager.ZONE_TYPE.COMMENT);\n    assert.equal(zoneList[8], CodeZoneManager.ZONE_TYPE.PROC_STMT);\n  });\n\n  it(\"proc python\", () => {\n    const doc = openDoc(\"server/testFixture/embedded_lang/proc_python.sas\");\n    const languageServer = new LanguageServiceProvider(doc);\n    const codeZoneManager = languageServer.getCodeZoneManager();\n\n    const zoneList = [];\n    for (let i = 0; i < doc.lineCount; i++) {\n      zoneList.push(codeZoneManager.getCurrentZone(i, 1));\n    }\n\n    assert.equal(zoneList[2], CodeZoneManager.ZONE_TYPE.COMMENT);\n    assert.equal(zoneList[6], CodeZoneManager.ZONE_TYPE.PROC_STMT);\n    assert.equal(zoneList[8], CodeZoneManager.ZONE_TYPE.EMBEDDED_LANG);\n    assert.equal(zoneList[11], CodeZoneManager.ZONE_TYPE.PROC_STMT);\n  });\n\n  it(\"proc lua\", () => {\n    const doc = openDoc(\"server/testFixture/embedded_lang/proc_lua.sas\");\n    const languageServer = new LanguageServiceProvider(doc);\n    const codeZoneManager = languageServer.getCodeZoneManager();\n\n    const zoneList = [];\n    for (let i = 0; i < doc.lineCount; i++) {\n      zoneList.push(codeZoneManager.getCurrentZone(i, 1));\n    }\n\n    assert.equal(zoneList[1], CodeZoneManager.ZONE_TYPE.PROC_STMT);\n    assert.equal(zoneList[2], CodeZoneManager.ZONE_TYPE.EMBEDDED_LANG);\n    assert.equal(zoneList[4], CodeZoneManager.ZONE_TYPE.EMBEDDED_LANG);\n    assert.equal(zoneList[6], CodeZoneManager.ZONE_TYPE.PROC_STMT);\n  });\n\n  it(\"proc r\", () => {\n    const doc = openDoc(\"server/testFixture/embedded_lang/proc_r.sas\");\n    const languageServer = new LanguageServiceProvider(doc);\n    const codeZoneManager = languageServer.getCodeZoneManager();\n\n    const zoneList = [];\n    for (let i = 0; i < doc.lineCount; i++) {\n      zoneList.push(codeZoneManager.getCurrentZone(i, 1));\n    }\n    assert.equal(zoneList[1], CodeZoneManager.ZONE_TYPE.PROC_STMT);\n    assert.equal(zoneList[2], CodeZoneManager.ZONE_TYPE.EMBEDDED_LANG);\n    assert.equal(zoneList[4], CodeZoneManager.ZONE_TYPE.EMBEDDED_LANG);\n    assert.equal(zoneList[6], CodeZoneManager.ZONE_TYPE.PROC_STMT);\n  });\n});\n"
  },
  {
    "path": "server/testFixture/embedded_lang/proc_lua.sas",
    "content": "proc lua;\nsubmit;\n    local code = [[\n        data sample;\n        run;\n    ]]\nendsubmit;\nrun;\n"
  },
  {
    "path": "server/testFixture/embedded_lang/proc_python.sas",
    "content": "*\n'''\nmy proc python\n'''\n;\nproc python;\ninteractive;\n  text = \"\"\"\n    abc\n  \"\"\"\n  print('first statement after for loop');\nendinteractive;\nrun;\n"
  },
  {
    "path": "server/testFixture/embedded_lang/proc_r.sas",
    "content": "proc r;\nsubmit;\n    for (x in 1:6) {\n      print(x)\n    }\n    print(\"first statement after for loop\")\nendsubmit;\nrun;\n"
  },
  {
    "path": "server/testFixture/embedded_lang/proc_sql.sas",
    "content": "/* comment */\nproc sql outobs=2;\n  title 'Densities of Countries';\n  select name format=$20. from sql.newcountries;\n\n/* comment */\nproc sql outobs=2;\n  title 'Densities of Countries';\n  select name format=$20. from sql.newcountries;\n"
  },
  {
    "path": "server/tsconfig.json",
    "content": "{\n  \"compilerOptions\": {\n    \"esModuleInterop\": true,\n    \"target\": \"es2019\",\n    \"lib\": [\"ES2019\", \"WebWorker\"],\n    \"module\": \"commonjs\",\n    \"moduleResolution\": \"node\",\n    \"sourceMap\": true,\n    \"strict\": true,\n    \"outDir\": \"out\",\n    \"rootDir\": \".\"\n  },\n  \"include\": [\"src\", \"test\"],\n  \"exclude\": [\"node_modules\", \".vscode-test\"]\n}\n"
  },
  {
    "path": "snippets/proc-snippets.json",
    "content": "{\n  \"proc print\": {\n    \"prefix\": \"print\",\n    \"body\": [\"proc print data=$1;\", \"run;\\n\"],\n    \"description\": \"PROC PRINT template\"\n  },\n  \"proc import\": {\n    \"prefix\": \"import\",\n    \"body\": [\"proc import datafile=$1 out=$2 dbms=$3;\", \"run;\\n\"],\n    \"description\": \"PROC IMPORT template\"\n  },\n  \"proc export\": {\n    \"prefix\": \"export\",\n    \"body\": [\"proc export data=$1 outfile=$2 dbms=$3;\", \"run;\\n\"],\n    \"description\": \"PROC EXPORT template\"\n  },\n  \"proc ds2\": {\n    \"prefix\": \"ds2\",\n    \"body\": [\n      \"proc ds2;\",\n      \"data;\\n\",\n      \"\\tmethod init();\",\n      \"\\t\\t$1\",\n      \"\\tend;\\n\",\n      \"enddata;\",\n      \"run;\",\n      \"quit;\\n\"\n    ],\n    \"description\": \"PROC DS2 template\"\n  },\n  \"proc sql\": {\n    \"prefix\": \"sql\",\n    \"body\": [\"proc sql;\", \"\\tselect $1\", \"\\tfrom $2\", \"\\twhere $3;\", \"quit;\\n\"],\n    \"description\": \"PROC SQL template\"\n  }\n}\n"
  },
  {
    "path": "syntaxes/sas.tmLanguage.json",
    "content": "{\n  \"name\": \"SAS\",\n  \"scopeName\": \"source.sas\",\n  \"patterns\": [\n    {\n      \"include\": \"#strings-or-comments\"\n    },\n    {\n      \"begin\": \"(?i)proc(\\\\s|/\\\\*.*?\\\\*/)*(sql|fedsql)\\\\b[^;]*;\",\n      \"end\": \"(?i)(quit(\\\\s|/\\\\*.*?\\\\*/)*;|(?=(data|proc|%macro)\\\\b[^;]*;))\",\n      \"name\": \"sas.proc.sql\",\n      \"patterns\": [\n        {\n          \"begin\": \"\\\\G\",\n          \"end\": \"(?i)(?=quit(\\\\s|/\\\\*.*?\\\\*/)*;|(data|proc|%macro)\\\\b[^;]*;)\",\n          \"beginCaptures\": {\n            \"0\": {\n              \"name\": \"strange_bug\"\n            }\n          },\n          \"patterns\": [\n            {\n              \"include\": \"source.sassql\"\n            }\n          ]\n        }\n      ]\n    },\n    {\n      \"begin\": \"(?i)proc(\\\\s|/\\\\*.*?\\\\*/)*lua\",\n      \"end\": \"(?i)(?=(run|quit)(\\\\s|/\\\\*.*?\\\\*/)*;|(data|proc|%macro)\\\\b[^;]*;)\",\n      \"name\": \"sas.proc.lua\",\n      \"patterns\": [\n        {\n          \"include\": \"#strings-or-comments\"\n        },\n        {\n          \"begin\": \"(?i)(?<=\\\\bsubmit|\\\\binteractive|\\\\bi)(\\\\s|/\\\\*.*?\\\\*/)*;\",\n          \"end\": \"(?i)(endsubmit|endinteractive)(\\\\s|/\\\\*.*?\\\\*/)*;\",\n          \"name\": \"source.lua\",\n          \"beginCaptures\": {\n            \"0\": {\n              \"name\": \"strange_bug\"\n            }\n          },\n          \"patterns\": [\n            {\n              \"include\": \"source.lua\"\n            }\n          ]\n        }\n      ]\n    },\n    {\n      \"begin\": \"(?i)proc(\\\\s|/\\\\*.*?\\\\*/)*python\",\n      \"end\": \"(?i)(?=(run|quit)(\\\\s|/\\\\*.*?\\\\*/)*;|(data|proc|%macro)\\\\b[^;]*;)\",\n      \"name\": \"sas.proc.python\",\n      \"patterns\": [\n        {\n          \"include\": \"#strings-or-comments\"\n        },\n        {\n          \"begin\": \"(?i)(?<=\\\\bsubmit|\\\\binteractive|\\\\bi)(\\\\s|/\\\\*.*?\\\\*/)*;\",\n          \"end\": \"(?i)(endsubmit|endinteractive)(\\\\s|/\\\\*.*?\\\\*/)*;\",\n          \"name\": \"source.python\",\n          \"beginCaptures\": {\n            \"0\": {\n              \"name\": \"strange_bug\"\n            }\n          },\n          \"patterns\": [\n            {\n              \"include\": \"source.python\"\n            }\n          ]\n        }\n      ]\n    },\n    {\n      \"begin\": \"(?i)proc(\\\\s|/\\\\*.*?\\\\*/)*r\",\n      \"end\": \"(?i)(?=(run|quit)(\\\\s|/\\\\*.*?\\\\*/)*;|(data|proc|%macro)\\\\b[^;]*;)\",\n      \"name\": \"sas.proc.r\",\n      \"patterns\": [\n        {\n          \"include\": \"#strings-or-comments\"\n        },\n        {\n          \"begin\": \"(?i)(?<=\\\\bsubmit|\\\\binteractive|\\\\bi)(\\\\s|/\\\\*.*?\\\\*/)*;\",\n          \"end\": \"(?i)(endsubmit|endinteractive)(\\\\s|/\\\\*.*?\\\\*/)*;\",\n          \"name\": \"source.r\",\n          \"beginCaptures\": {\n            \"0\": {\n              \"name\": \"strange_bug\"\n            }\n          },\n          \"patterns\": [\n            {\n              \"include\": \"source.r\"\n            }\n          ]\n        }\n      ]\n    },\n    {\n      \"begin\": \"(?i)data\\\\b.*?;\",\n      \"end\": \"(?i)(?=(run|quit)(\\\\s|/\\\\*.*?\\\\*/)*;|(data|proc|%macro)\\\\b[^;]*;)\",\n      \"name\": \"sas.data\",\n      \"patterns\": [\n        {\n          \"include\": \"#strings-or-comments\"\n        }\n      ]\n    }\n  ],\n  \"repository\": {\n    \"strings-or-comments\": {\n      \"patterns\": [\n        {\n          \"include\": \"#comment-block\"\n        },\n        {\n          \"include\": \"#sas-macro-quotes\"\n        },\n        {\n          \"include\": \"#cards\"\n        },\n        {\n          \"include\": \"#cards4\"\n        },\n        {\n          \"include\": \"#string\"\n        }\n      ]\n    },\n    \"comment-block\": {\n      \"patterns\": [\n        {\n          \"name\": \"sas.commentblock\",\n          \"begin\": \"(/\\\\*)\",\n          \"end\": \"\\\\*/\"\n        },\n        {\n          \"name\": \"sas.commentblock\",\n          \"begin\": \"(\\\\*)\",\n          \"end\": \";\"\n        }\n      ]\n    },\n    \"string\": {\n      \"patterns\": [\n        {\n          \"include\": \"#qstring-single\"\n        },\n        {\n          \"include\": \"#qstring-double\"\n        }\n      ]\n    },\n    \"qstring-double\": {\n      \"name\": \"sas.string.quoted.double\",\n      \"begin\": \"\\\"\",\n      \"end\": \"\\\"|(?=\\\\n)\"\n    },\n    \"qstring-single\": {\n      \"name\": \"sas.string.quoted.single\",\n      \"begin\": \"'\",\n      \"end\": \"'|(?=\\\\n)\"\n    },\n    \"sas-macro-quotes\": {\n      \"begin\": \"(?i)%(?:quote|bquote|superq|nrbquote|nrquote|nrstr|str)\",\n      \"end\": \"\\\\)|(?=\\\\n)\",\n      \"name\": \"sas.quoted.macro\",\n      \"patterns\": [\n        {\n          \"include\": \"#sas-macro-quotes\"\n        }\n      ]\n    },\n    \"cards\": {\n      \"begin\": \"(?i)\\\\b(?:cards|lines|datalines)\\\\b(\\\\s|/\\\\*.*?\\\\*/)*;\",\n      \"end\": \";\",\n      \"name\": \"sas.string.quoted.cards\"\n    },\n    \"cards4\": {\n      \"begin\": \"(?i)\\\\b(?:cards4|lines4|datalines4)\\\\b(\\\\s|/\\\\*.*?\\\\*/)*;;;;\",\n      \"end\": \";;;;\",\n      \"name\": \"sas.string.quoted.cards4\"\n    },\n    \"ws\": {\n      \"name\": \"ws\",\n      \"match\": \"\\\\s\"\n    }\n  }\n}\n"
  },
  {
    "path": "syntaxes/sassql.tmLanguage.json",
    "content": "{\n  \"information_for_contributors\": [\n    \"This file has been converted from https://github.com/microsoft/vscode-mssql/blob/master/syntaxes/SQL.plist\",\n    \"If you want to provide a fix or improvement, please create a pull request against the original repository.\",\n    \"Once accepted there, we are happy to receive an update request.\"\n  ],\n  \"version\": \"https://github.com/microsoft/vscode-mssql/commit/49eff02f68b6ee73025c6665c672ca1c93385dde\",\n  \"name\": \"SASSQL\",\n  \"scopeName\": \"source.sassql\",\n  \"patterns\": [\n    {\n      \"match\": \"((?<!@)@)\\\\b(\\\\w+)\\\\b\",\n      \"name\": \"text.variable\"\n    },\n    {\n      \"match\": \"(\\\\[)[^\\\\]]*(\\\\])\",\n      \"name\": \"text.bracketed\"\n    },\n    {\n      \"include\": \"#comments\"\n    },\n    {\n      \"captures\": {\n        \"1\": {\n          \"name\": \"keyword.other.create.sql\"\n        },\n        \"2\": {\n          \"name\": \"keyword.other.sql\"\n        },\n        \"5\": {\n          \"name\": \"entity.name.function.sql\"\n        }\n      },\n      \"match\": \"(?i:^\\\\s*(create(?:\\\\s+or\\\\s+replace)?)\\\\s+(aggregate|conversion|database|domain|function|group|(unique\\\\s+)?index|language|operator class|operator|rule|schema|sequence|table|tablespace|trigger|type|user|view)\\\\s+)(['\\\"`]?)(\\\\w+)\\\\4\",\n      \"name\": \"meta.create.sql\"\n    },\n    {\n      \"captures\": {\n        \"1\": {\n          \"name\": \"keyword.other.create.sql\"\n        },\n        \"2\": {\n          \"name\": \"keyword.other.sql\"\n        }\n      },\n      \"match\": \"(?i:^\\\\s*(drop)\\\\s+(aggregate|conversion|database|domain|function|group|index|language|operator class|operator|rule|schema|sequence|table|tablespace|trigger|type|user|view))\",\n      \"name\": \"meta.drop.sql\"\n    },\n    {\n      \"captures\": {\n        \"1\": {\n          \"name\": \"keyword.other.create.sql\"\n        },\n        \"2\": {\n          \"name\": \"keyword.other.table.sql\"\n        },\n        \"3\": {\n          \"name\": \"entity.name.function.sql\"\n        },\n        \"4\": {\n          \"name\": \"keyword.other.cascade.sql\"\n        }\n      },\n      \"match\": \"(?i:\\\\s*(drop)\\\\s+(table)\\\\s+(\\\\w+)(\\\\s+cascade)?\\\\b)\",\n      \"name\": \"meta.drop.sql\"\n    },\n    {\n      \"captures\": {\n        \"1\": {\n          \"name\": \"keyword.other.create.sql\"\n        },\n        \"2\": {\n          \"name\": \"keyword.other.table.sql\"\n        }\n      },\n      \"match\": \"(?i:^\\\\s*(alter)\\\\s+(aggregate|conversion|database|domain|function|group|index|language|operator class|operator|proc(edure)?|rule|schema|sequence|table|tablespace|trigger|type|user|view)\\\\s+)\",\n      \"name\": \"meta.alter.sql\"\n    },\n    {\n      \"captures\": {\n        \"1\": {\n          \"name\": \"storage.type.sql\"\n        },\n        \"2\": {\n          \"name\": \"storage.type.sql\"\n        },\n        \"3\": {\n          \"name\": \"constant.numeric.sql\"\n        },\n        \"4\": {\n          \"name\": \"storage.type.sql\"\n        },\n        \"5\": {\n          \"name\": \"constant.numeric.sql\"\n        },\n        \"6\": {\n          \"name\": \"storage.type.sql\"\n        },\n        \"7\": {\n          \"name\": \"constant.numeric.sql\"\n        },\n        \"8\": {\n          \"name\": \"constant.numeric.sql\"\n        },\n        \"9\": {\n          \"name\": \"storage.type.sql\"\n        },\n        \"10\": {\n          \"name\": \"constant.numeric.sql\"\n        },\n        \"11\": {\n          \"name\": \"storage.type.sql\"\n        },\n        \"12\": {\n          \"name\": \"storage.type.sql\"\n        },\n        \"13\": {\n          \"name\": \"storage.type.sql\"\n        },\n        \"14\": {\n          \"name\": \"constant.numeric.sql\"\n        },\n        \"15\": {\n          \"name\": \"storage.type.sql\"\n        }\n      },\n      \"match\": \"(?xi)\\n\\n\\t\\t\\t\\t# normal stuff, capture 1\\n\\t\\t\\t\\t \\\\b(bigint|bigserial|bit|boolean|box|bytea|cidr|circle|date|double\\\\sprecision|inet|int|integer|line|lseg|macaddr|money|oid|path|point|polygon|real|serial|smallint|sysdate|text)\\\\b\\n\\n\\t\\t\\t\\t# numeric suffix, capture 2 + 3i\\n\\t\\t\\t\\t|\\\\b(bit\\\\svarying|character\\\\s(?:varying)?|tinyint|var\\\\schar|float|interval)\\\\((\\\\d+)\\\\)\\n\\n\\t\\t\\t\\t# optional numeric suffix, capture 4 + 5i\\n\\t\\t\\t\\t|\\\\b(char|number|varchar\\\\d?)\\\\b(?:\\\\((\\\\d+)\\\\))?\\n\\n\\t\\t\\t\\t# special case, capture 6 + 7i + 8i\\n\\t\\t\\t\\t|\\\\b(numeric|decimal)\\\\b(?:\\\\((\\\\d+),(\\\\d+)\\\\))?\\n\\n\\t\\t\\t\\t# special case, captures 9, 10i, 11\\n\\t\\t\\t\\t|\\\\b(times?)\\\\b(?:\\\\((\\\\d+)\\\\))?(\\\\swith(?:out)?\\\\stime\\\\szone\\\\b)?\\n\\n\\t\\t\\t\\t# special case, captures 12, 13, 14i, 15\\n\\t\\t\\t\\t|\\\\b(timestamp)(?:(s|tz))?\\\\b(?:\\\\((\\\\d+)\\\\))?(\\\\s(with|without)\\\\stime\\\\szone\\\\b)?\\n\\n\\t\\t\\t\"\n    },\n    {\n      \"match\": \"(?i:\\\\b((?:primary|foreign)\\\\s+key|references|on\\\\sdelete(\\\\s+cascade)?|nocheck|check|constraint|collate|default)\\\\b)\",\n      \"name\": \"storage.modifier.sql\"\n    },\n    {\n      \"match\": \"\\\\b\\\\d+\\\\b\",\n      \"name\": \"constant.numeric.sql\"\n    },\n    {\n      \"match\": \"(?i:\\\\b(select(\\\\s+(all|distinct))?|insert\\\\s+(ignore\\\\s+)?into|update|delete|from|set|where|group\\\\s+by|or|like|and|union(\\\\s+all)?|having|order\\\\s+by|limit|cross\\\\s+join|join|straight_join|(inner|(left|right|full)(\\\\s+outer)?)\\\\s+join|natural(\\\\s+(inner|(left|right|full)(\\\\s+outer)?))?\\\\s+join)\\\\b)\",\n      \"name\": \"keyword.other.DML.sql\"\n    },\n    {\n      \"match\": \"(?i:\\\\b(on|off|((is\\\\s+)?not\\\\s+)?null)\\\\b)\",\n      \"name\": \"keyword.other.DDL.create.II.sql\"\n    },\n    {\n      \"match\": \"(?i:\\\\bvalues\\\\b)\",\n      \"name\": \"keyword.other.DML.II.sql\"\n    },\n    {\n      \"match\": \"(?i:\\\\b(begin(\\\\s+work)?|start\\\\s+transaction|commit(\\\\s+work)?|rollback(\\\\s+work)?)\\\\b)\",\n      \"name\": \"keyword.other.LUW.sql\"\n    },\n    {\n      \"match\": \"(?i:\\\\b(grant(\\\\swith\\\\sgrant\\\\soption)?|revoke)\\\\b)\",\n      \"name\": \"keyword.other.authorization.sql\"\n    },\n    {\n      \"match\": \"(?i:\\\\bin\\\\b)\",\n      \"name\": \"keyword.other.data-integrity.sql\"\n    },\n    {\n      \"match\": \"(?i:^\\\\s*(comment\\\\s+on\\\\s+(table|column|aggregate|constraint|database|domain|function|index|operator|rule|schema|sequence|trigger|type|view))\\\\s+.*?\\\\s+(is)\\\\s+)\",\n      \"name\": \"keyword.other.object-comments.sql\"\n    },\n    {\n      \"match\": \"(?i)\\\\bAS\\\\b\",\n      \"name\": \"keyword.other.alias.sql\"\n    },\n    {\n      \"match\": \"(?i)\\\\b(DESC|ASC)\\\\b\",\n      \"name\": \"keyword.other.order.sql\"\n    },\n    {\n      \"match\": \"\\\\*\",\n      \"name\": \"keyword.operator.star.sql\"\n    },\n    {\n      \"match\": \"[!<>]?=|<>|<|>\",\n      \"name\": \"keyword.operator.comparison.sql\"\n    },\n    {\n      \"match\": \"-|\\\\+|/\",\n      \"name\": \"keyword.operator.math.sql\"\n    },\n    {\n      \"match\": \"\\\\|\\\\|\",\n      \"name\": \"keyword.operator.concatenator.sql\"\n    },\n    {\n      \"match\": \"(?i)\\\\b(approx_count_distinct|approx_percentile_cont|approx_percentile_disc|avg|checksum_agg|count|count_big|group|grouping|grouping_id|max|min|sum|stdev|stdevp|var|varp)\\\\b\\\\s*\\\\(\",\n      \"captures\": {\n        \"1\": {\n          \"name\": \"support.function.aggregate.sql\"\n        }\n      }\n    },\n    {\n      \"match\": \"(?i)\\\\b(cume_dist|first_value|lag|last_value|lead|percent_rank|percentile_cont|percentile_disc)\\\\b\\\\s*\\\\(\",\n      \"captures\": {\n        \"1\": {\n          \"name\": \"support.function.analytic.sql\"\n        }\n      }\n    },\n    {\n      \"match\": \"(?i)\\\\b(bit_count|get_bit|left_shift|right_shift|set_bit)\\\\b\\\\s*\\\\(\",\n      \"captures\": {\n        \"1\": {\n          \"name\": \"support.function.bitmanipulation.sql\"\n        }\n      }\n    },\n    {\n      \"match\": \"(?i)\\\\b(cast|convert|parse|try_cast|try_convert|try_parse)\\\\b\\\\s*\\\\(\",\n      \"captures\": {\n        \"1\": {\n          \"name\": \"support.function.conversion.sql\"\n        }\n      }\n    },\n    {\n      \"match\": \"(?i)\\\\b(collationproperty|tertiary_weights)\\\\b\\\\s*\\\\(\",\n      \"captures\": {\n        \"1\": {\n          \"name\": \"support.function.collation.sql\"\n        }\n      }\n    },\n    {\n      \"match\": \"(?i)\\\\b(asymkey_id|asymkeyproperty|certproperty|cert_id|crypt_gen_random|decryptbyasymkey|decryptbycert|decryptbykey|decryptbykeyautoasymkey|decryptbykeyautocert|decryptbypassphrase|encryptbyasymkey|encryptbycert|encryptbykey|encryptbypassphrase|hashbytes|is_objectsigned|key_guid|key_id|key_name|signbyasymkey|signbycert|symkeyproperty|verifysignedbycert|verifysignedbyasymkey)\\\\b\\\\s*\\\\(\",\n      \"captures\": {\n        \"1\": {\n          \"name\": \"support.function.cryptographic.sql\"\n        }\n      }\n    },\n    {\n      \"match\": \"(?i)\\\\b(cursor_status)\\\\b\\\\s*\\\\(\",\n      \"captures\": {\n        \"1\": {\n          \"name\": \"support.function.cursor.sql\"\n        }\n      }\n    },\n    {\n      \"match\": \"(?i)\\\\b(sysdatetime|sysdatetimeoffset|sysutcdatetime|current_time(stamp)?|getdate|getutcdate|datename|datepart|day|month|year|datefromparts|datetime2fromparts|datetimefromparts|datetimeoffsetfromparts|smalldatetimefromparts|timefromparts|datediff|dateadd|datetrunc|eomonth|switchoffset|todatetimeoffset|isdate|date_bucket)\\\\b\\\\s*\\\\(\",\n      \"captures\": {\n        \"1\": {\n          \"name\": \"support.function.datetime.sql\"\n        }\n      }\n    },\n    {\n      \"match\": \"(?i)\\\\b(datalength|ident_current|ident_incr|ident_seed|identity|sql_variant_property)\\\\b\\\\s*\\\\(\",\n      \"captures\": {\n        \"1\": {\n          \"name\": \"support.function.datatype.sql\"\n        }\n      }\n    },\n    {\n      \"match\": \"(?i)\\\\b(coalesce|nullif)\\\\b\\\\s*\\\\(\",\n      \"captures\": {\n        \"1\": {\n          \"name\": \"support.function.expression.sql\"\n        }\n      }\n    },\n    {\n      \"match\": \"(?<!@)@@(?i)\\\\b(cursor_rows|connections|cpu_busy|datefirst|dbts|error|fetch_status|identity|idle|io_busy|langid|language|lock_timeout|max_connections|max_precision|nestlevel|options|packet_errors|pack_received|pack_sent|procid|remserver|rowcount|servername|servicename|spid|textsize|timeticks|total_errors|total_read|total_write|trancount|version)\\\\b\\\\s*\\\\(\",\n      \"captures\": {\n        \"1\": {\n          \"name\": \"support.function.globalvar.sql\"\n        }\n      }\n    },\n    {\n      \"match\": \"(?i)\\\\b(json|isjson|json_object|json_array|json_value|json_query|json_modify|json_path_exists)\\\\b\\\\s*\\\\(\",\n      \"captures\": {\n        \"1\": {\n          \"name\": \"support.function.json.sql\"\n        }\n      }\n    },\n    {\n      \"match\": \"(?i)\\\\b(choose|iif|greatest|least)\\\\b\\\\s*\\\\(\",\n      \"captures\": {\n        \"1\": {\n          \"name\": \"support.function.logical.sql\"\n        }\n      }\n    },\n    {\n      \"match\": \"(?i)\\\\b(abs|acos|asin|atan|atn2|ceiling|cos|cot|degrees|exp|floor|log|log10|pi|power|radians|rand|round|sign|sin|sqrt|square|tan)\\\\b\\\\s*\\\\(\",\n      \"captures\": {\n        \"1\": {\n          \"name\": \"support.function.mathematical.sql\"\n        }\n      }\n    },\n    {\n      \"match\": \"(?i)\\\\b(app_name|applock_mode|applock_test|assemblyproperty|col_length|col_name|columnproperty|database_principal_id|databasepropertyex|db_id|db_name|file_id|file_idex|file_name|filegroup_id|filegroup_name|filegroupproperty|fileproperty|fulltextcatalogproperty|fulltextserviceproperty|index_col|indexkey_property|indexproperty|object_definition|object_id|object_name|object_schema_name|objectproperty|objectpropertyex|original_db_name|parsename|schema_id|schema_name|scope_identity|serverproperty|stats_date|type_id|type_name|typeproperty)\\\\b\\\\s*\\\\(\",\n      \"captures\": {\n        \"1\": {\n          \"name\": \"support.function.metadata.sql\"\n        }\n      }\n    },\n    {\n      \"match\": \"(?i)\\\\b(rank|dense_rank|ntile|row_number)\\\\b\\\\s*\\\\(\",\n      \"captures\": {\n        \"1\": {\n          \"name\": \"support.function.ranking.sql\"\n        }\n      }\n    },\n    {\n      \"match\": \"(?i)\\\\b(generate_series|opendatasource|openjson|openrowset|openquery|openxml|predict|string_split)\\\\b\\\\s*\\\\(\",\n      \"captures\": {\n        \"1\": {\n          \"name\": \"support.function.rowset.sql\"\n        }\n      }\n    },\n    {\n      \"match\": \"(?i)\\\\b(certencoded|certprivatekey|current_user|database_principal_id|has_perms_by_name|is_member|is_rolemember|is_srvrolemember|original_login|permissions|pwdcompare|pwdencrypt|schema_id|schema_name|session_user|suser_id|suser_sid|suser_sname|system_user|suser_name|user_id|user_name)\\\\b\\\\s*\\\\(\",\n      \"captures\": {\n        \"1\": {\n          \"name\": \"support.function.security.sql\"\n        }\n      }\n    },\n    {\n      \"match\": \"(?i)\\\\b(ascii|char|charindex|concat|difference|format|left|len|lower|ltrim|nchar|nodes|patindex|quotename|replace|replicate|reverse|right|rtrim|soundex|space|str|string_agg|string_escape|string_split|stuff|substring|translate|trim|unicode|upper)\\\\b\\\\s*\\\\(\",\n      \"captures\": {\n        \"1\": {\n          \"name\": \"support.function.string.sql\"\n        }\n      }\n    },\n    {\n      \"match\": \"(?i)\\\\b(binary_checksum|checksum|compress|connectionproperty|context_info|current_request_id|current_transaction_id|decompress|error_line|error_message|error_number|error_procedure|error_severity|error_state|formatmessage|get_filestream_transaction_context|getansinull|host_id|host_name|isnull|isnumeric|min_active_rowversion|newid|newsequentialid|rowcount_big|session_context|session_id|xact_state)\\\\b\\\\s*\\\\(\",\n      \"captures\": {\n        \"1\": {\n          \"name\": \"support.function.system.sql\"\n        }\n      }\n    },\n    {\n      \"match\": \"(?i)\\\\b(patindex|textptr|textvalid)\\\\b\\\\s*\\\\(\",\n      \"captures\": {\n        \"1\": {\n          \"name\": \"support.function.textimage.sql\"\n        }\n      }\n    },\n    {\n      \"captures\": {\n        \"1\": {\n          \"name\": \"constant.other.database-name.sql\"\n        },\n        \"2\": {\n          \"name\": \"constant.other.table-name.sql\"\n        }\n      },\n      \"match\": \"(\\\\w+?)\\\\.(\\\\w+)\"\n    },\n    {\n      \"include\": \"#strings\"\n    },\n    {\n      \"include\": \"#regexps\"\n    },\n    {\n      \"match\": \"\\\\b(?i)(abort|abort_after_wait|absent|absolute|accent_sensitivity|acceptable_cursopt|acp|action|activation|add|address|admin|aes_128|aes_192|aes_256|affinity|after|aggregate|algorithm|all_constraints|all_errormsgs|all_indexes|all_levels|all_results|allow_connections|allow_dup_row|allow_encrypted_value_modifications|allow_page_locks|allow_row_locks|allow_snapshot_isolation|alter|altercolumn|always|anonymous|ansi_defaults|ansi_null_default|ansi_null_dflt_off|ansi_null_dflt_on|ansi_nulls|ansi_padding|ansi_warnings|appdomain|append|application|apply|arithabort|arithignore|array|assembly|asymmetric|asynchronous_commit|at|atan2|atomic|attach|attach_force_rebuild_log|attach_rebuild_log|audit|auth_realm|authentication|auto|auto_cleanup|auto_close|auto_create_statistics|auto_drop|auto_shrink|auto_update_statistics|auto_update_statistics_async|automated_backup_preference|automatic|autopilot|availability|availability_mode|backup|backup_priority|base64|basic|batches|batchsize|before|between|bigint|binary|binding|bit|block|blockers|blocksize|bmk|both|break|broker|broker_instance|bucket_count|buffer|buffercount|bulk_logged|by|call|caller|card|case|catalog|catch|cert|certificate|change_retention|change_tracking|change_tracking_context|changes|char|character|character_set|check_expiration|check_policy|checkconstraints|checkindex|checkpoint|checksum|cleanup_policy|clear|clear_port|close|clustered|codepage|collection|column_encryption_key|column_master_key|columnstore|columnstore_archive|colv_80_to_100|colv_100_to_80|commit_differential_base|committed|compatibility_level|compress_all_row_groups|compression|compression_delay|concat_null_yields_null|concatenate|configuration|connect|connection|containment|continue|continue_after_error|contract|contract_name|control|conversation|conversation_group_id|conversation_handle|copy|copy_only|count_rows|counter|create(\\\\\\\\s+or\\\\\\\\s+alter)?|credential|cross|cryptographic|cryptographic_provider|cube|cursor|cursor_close_on_commit|cursor_default|data|data_compression|data_flush_interval_seconds|data_mirroring|data_purity|data_source|database|database_name|database_snapshot|datafiletype|date_correlation_optimization|date|datefirst|dateformat|date_format|datetime|datetime2|datetimeoffset|day(s)?|db_chaining|dbid|dbidexec|dbo_only|deadlock_priority|deallocate|dec|decimal|declare|decrypt|decrypt_a|decryption|default_database|default_fulltext_language|default_language|default_logon_domain|default_schema|definition|delay|delayed_durability|delimitedtext|density_vector|dependent|des|description|desired_state|desx|differential|digest|disable|disable_broker|disable_def_cnst_chk|disabled|disk|distinct|distributed|distribution|drop|drop_existing|dts_buffers|dump|durability|dynamic|edition|elements|else|emergency|empty|enable|enable_broker|enabled|encoding|encrypted|encrypted_value|encryption|encryption_type|end|endpoint|endpoint_url|enhancedintegrity|entry|error_broker_conversations|errorfile|estimateonly|event|except|exec|executable|execute|exists|expand|expiredate|expiry_date|explicit|external|external_access|failover|failover_mode|failure_condition_level|fast|fast_forward|fastfirstrow|federated_service_account|fetch|field_terminator|fieldterminator|file|filelistonly|filegroup|filegrowth|filename|filestream|filestream_log|filestream_on|filetable|file_format|filter|first_row|fips_flagger|fire_triggers|first|firstrow|float|flush_interval_seconds|fmtonly|following|for|force|force_failover_allow_data_loss|force_service_allow_data_loss|forced|forceplan|formatfile|format_options|format_type|formsof|forward_only|free_cursors|free_exec_context|fullscan|fulltext|fulltextall|fulltextkey|function|generated|get|geography|geometry|global|go|goto|governor|guid|hadoop|hardening|hash|hashed|header_limit|headeronly|health_check_timeout|hidden|hierarchyid|histogram|histogram_steps|hits_cursors|hits_exec_context|hour(s)?|http|identity|identity_value|if|ifnull|ignore|ignore_constraints|ignore_dup_key|ignore_dup_row|ignore_triggers|image|immediate|implicit_transactions|include|include_null_values|incremental|index|inflectional|init|initiator|insensitive|insert|instead|int|integer|integrated|intersect|intermediate|interval_length_minutes|into|inuse_cursors|inuse_exec_context|io|is|isabout|iso_week|isolation|job_tracker_location|json|keep|keep_nulls|keep_replication|keepdefaults|keepfixed|keepidentity|keepnulls|kerberos|key|key_path|key_source|key_store_provider_name|keyset|kill|kilobytes_per_batch|labelonly|langid|language|last|lastrow|leading|legacy_cardinality_estimation|length|level|lifetime|lineage_80_to_100|lineage_100_to_80|listener_ip|listener_port|load|loadhistory|lob_compaction|local|local_service_name|locate|location|lock_escalation|lock_timeout|lockres|log|login|login_type|loop|manual|mark_in_use_for_removal|masked|master|match|matched|max_queue_readers|max_duration|max_outstanding_io_per_volume|maxdop|maxerrors|maxlength|maxtransfersize|max_plans_per_query|max_storage_size_mb|mediadescription|medianame|mediapassword|memogroup|memory_optimized|merge|message|message_forward_size|message_forwarding|microsecond|millisecond|minute(s)?|mirror_address|misses_cursors|misses_exec_context|mixed|modify|money|month|move|multi_user|must_change|name|namespace|nanosecond|native|native_compilation|nchar|ncharacter|nested_triggers|never|new_account|new_broker|newname|next|no|no_browsetable|no_checksum|no_compression|no_infomsgs|no_triggers|no_truncate|nocount|noexec|noexpand|noformat|noinit|nolock|nonatomic|nonclustered|nondurable|none|norecompute|norecovery|noreset|norewind|noskip|not|notification|nounload|now|nowait|ntext|ntlm|nulls|numeric|numeric_roundabort|nvarchar|object|objid|oem|offline|old_account|online|operation_mode|open|openjson|optimistic|option|orc|out|outer|output|over|override|owner|ownership|pad_index|page|page_checksum|page_verify|pagecount|paglock|param|parameter_sniffing|parameter_type_expansion|parameterization|parquet|parseonly|partial|partition|partner|password|path|pause|percentage|permission_set|persisted|period|physical_only|plan_forcing_mode|policy|pool|population|ports|preceding|precision|predicate|presume_abort|primary|primary_role|print|prior|priority |priority_level|private|proc(edure)?|procedure_name|profile|provider|quarter|query_capture_mode|query_governor_cost_limit|query_optimizer_hotfixes|query_store|queue|quoted_identifier|raiserror|range|raw|rcfile|rc2|rc4|rc4_128|rdbms|read_committed_snapshot|read|read_only|read_write|readcommitted|readcommittedlock|readonly|readpast|readuncommitted|readwrite|real|rebuild|receive|recmodel_70backcomp|recompile|reconfigure|recovery|recursive|recursive_triggers|redo_queue|reject_sample_value|reject_type|reject_value|relative|remote|remote_data_archive|remote_proc_transactions|remote_service_name|remove|removed_cursors|removed_exec_context|reorganize|repeat|repeatable|repeatableread|replace|replica|replicated|replnick_100_to_80|replnickarray_80_to_100|replnickarray_100_to_80|required|required_cursopt|resample|reset|resource|resource_manager_location|respect|restart|restore|restricted_user|resume|retaindays|retention|return|revert|rewind|rewindonly|returns|robust|role|rollup|root|round_robin|route|row|rowdump|rowguidcol|rowlock|row_terminator|rows|rows_per_batch|rowsets_only|rowterminator|rowversion|rsa_1024|rsa_2048|rsa_3072|rsa_4096|rsa_512|safe|safety|sample|save|scalar|schema|schemabinding|scoped|scroll|scroll_locks|sddl|second|secexpr|seconds|secondary|secondary_only|secondary_role|secret|security|securityaudit|selective|self|send|sent|sequence|serde_method|serializable|server|service|service_broker|service_name|service_objective|session_timeout|session|sessions|seterror|setopts|sets|shard_map_manager|shard_map_name|sharded|shared_memory|shortest_path|show_statistics|showplan_all|showplan_text|showplan_xml|showplan_xml_with_recompile|shrinkdb|shutdown|sid|signature|simple|single_blob|single_clob|single_nclob|single_user|singleton|site|size|size_based_cleanup_mode|skip|smalldatetime|smallint|smallmoney|snapshot|snapshot_import|snapshotrestorephase|soap|softnuma|sort_in_tempdb|sorted_data|sorted_data_reorg|spatial|sql|sql_bigint|sql_binary|sql_bit|sql_char|sql_date|sql_decimal|sql_double|sql_float|sql_guid|sql_handle|sql_longvarbinary|sql_longvarchar|sql_numeric|sql_real|sql_smallint|sql_time|sql_timestamp|sql_tinyint|sql_tsi_day|sql_tsi_frac_second|sql_tsi_hour|sql_tsi_minute|sql_tsi_month|sql_tsi_quarter|sql_tsi_second|sql_tsi_week|sql_tsi_year|sql_type_date|sql_type_time|sql_type_timestamp|sql_varbinary|sql_varchar|sql_variant|sql_wchar|sql_wlongvarchar|ssl|ssl_port|standard|standby|start|start_date|started|stat_header|state|statement|static|statistics|statistics_incremental|statistics_norecompute|statistics_only|statman|stats|stats_stream|status|stop|stop_on_error|stopat|stopatmark|stopbeforemark|stoplist|stopped|string_delimiter|subject|supplemental_logging|supported|suspend|symmetric|synchronous_commit|synonym|sysname|system|system_time|system_versioning|table|tableresults|tablock|tablockx|take|tape|target|target_index|target_partition|target_recovery_time|tcp|temporal_history_retention|text|textimage_on|then|thesaurus|throw|time|timeout|timestamp|tinyint|to|top|torn_page_detection|track_columns_updated|trailing|tran|transaction|transfer|transform_noise_words|triple_des|triple_des_3key|truncate|trustworthy|try|tsql|two_digit_year_cutoff|type|type_desc|type_warning|tzoffset|uid|unbounded|uncommitted|unique|uniqueidentifier|unlimited|unload|unlock|unsafe|updlock|url|use|useplan|useroptions|use_type_default|using|utcdatetime|valid_xml|validation|value|values|varbinary|varchar|verbose|verifyonly|version|view_metadata|virtual_device|visiblity|wait_at_low_priority|waitfor|webmethod|week|weekday|weight|well_formed_xml|when|while|widechar|widechar_ansi|widenative|window|windows|with|within|within group|witness|without|without_array_wrapper|workload|wsdl|xact_abort|xlock|xml|xmlschema|xquery|xsinil|year|zone|describe)\\\\b\",\n      \"name\": \"keyword.other.sql\"\n    },\n    {\n      \"captures\": {\n        \"1\": {\n          \"name\": \"punctuation.section.scope.begin.sql\"\n        },\n        \"2\": {\n          \"name\": \"punctuation.section.scope.end.sql\"\n        }\n      },\n      \"comment\": \"Allow for special ↩ behavior\",\n      \"match\": \"(\\\\()(\\\\))\",\n      \"name\": \"meta.block.sql\"\n    },\n    {\n      \"include\": \"#sas-keywords\"\n    },\n    {\n      \"include\": \"#sas-macro-put\"\n    },\n    {\n      \"include\": \"#sas-global-stmt\"\n    }\n  ],\n  \"repository\": {\n    \"comments\": {\n      \"patterns\": [\n        {\n          \"begin\": \"(^[ \\\\t]+)?(?=--)\",\n          \"beginCaptures\": {\n            \"1\": {\n              \"name\": \"punctuation.whitespace.comment.leading.sql\"\n            }\n          },\n          \"end\": \"(?!\\\\G)\",\n          \"patterns\": [\n            {\n              \"begin\": \"--\",\n              \"beginCaptures\": {\n                \"0\": {\n                  \"name\": \"punctuation.definition.comment.sql\"\n                }\n              },\n              \"end\": \"\\\\n\",\n              \"name\": \"comment.line.double-dash.sql\"\n            }\n          ]\n        },\n        {\n          \"begin\": \"(^[ \\\\t]+)?(?=#)\",\n          \"beginCaptures\": {\n            \"1\": {\n              \"name\": \"punctuation.whitespace.comment.leading.sql\"\n            }\n          },\n          \"end\": \"(?!\\\\G)\",\n          \"patterns\": []\n        },\n        {\n          \"include\": \"#comment-block\"\n        }\n      ]\n    },\n    \"comment-block\": {\n      \"begin\": \"/\\\\*\",\n      \"captures\": {\n        \"0\": {\n          \"name\": \"punctuation.definition.comment.sql\"\n        }\n      },\n      \"end\": \"\\\\*/\",\n      \"name\": \"commentblock\",\n      \"patterns\": [\n        {\n          \"include\": \"#comment-block\"\n        }\n      ]\n    },\n    \"regexps\": {\n      \"patterns\": [\n        {\n          \"begin\": \"/(?=\\\\S.*/)\",\n          \"beginCaptures\": {\n            \"0\": {\n              \"name\": \"punctuation.definition.string.begin.sql\"\n            }\n          },\n          \"end\": \"/\",\n          \"endCaptures\": {\n            \"0\": {\n              \"name\": \"punctuation.definition.string.end.sql\"\n            }\n          },\n          \"name\": \"string.regexp.sql\",\n          \"patterns\": [\n            {\n              \"include\": \"#string_interpolation\"\n            },\n            {\n              \"match\": \"\\\\\\\\/\",\n              \"name\": \"constant.character.escape.slash.sql\"\n            }\n          ]\n        },\n        {\n          \"begin\": \"%r\\\\{\",\n          \"beginCaptures\": {\n            \"0\": {\n              \"name\": \"punctuation.definition.string.begin.sql\"\n            }\n          },\n          \"comment\": \"We should probably handle nested bracket pairs!?! -- Allan\",\n          \"end\": \"\\\\}\",\n          \"endCaptures\": {\n            \"0\": {\n              \"name\": \"punctuation.definition.string.end.sql\"\n            }\n          },\n          \"name\": \"string.regexp.modr.sql\",\n          \"patterns\": [\n            {\n              \"include\": \"#string_interpolation\"\n            }\n          ]\n        }\n      ]\n    },\n    \"string_escape\": {\n      \"match\": \"\\\\\\\\.\",\n      \"name\": \"constant.character.escape.sql\"\n    },\n    \"string_interpolation\": {\n      \"captures\": {\n        \"1\": {\n          \"name\": \"punctuation.definition.string.begin.sql\"\n        },\n        \"3\": {\n          \"name\": \"punctuation.definition.string.end.sql\"\n        }\n      },\n      \"match\": \"(#\\\\{)([^\\\\}]*)(\\\\})\",\n      \"name\": \"string.interpolated.sql\"\n    },\n    \"strings\": {\n      \"patterns\": [\n        {\n          \"captures\": {\n            \"2\": {\n              \"name\": \"punctuation.definition.string.begin.sql\"\n            },\n            \"3\": {\n              \"name\": \"punctuation.definition.string.end.sql\"\n            }\n          },\n          \"comment\": \"this is faster than the next begin/end rule since sub-pattern will match till end-of-line and SQL files tend to have very long lines.\",\n          \"match\": \"(N)?(')[^']*(')\",\n          \"name\": \"string.quoted.single.sql\"\n        },\n        {\n          \"begin\": \"'\",\n          \"beginCaptures\": {\n            \"0\": {\n              \"name\": \"punctuation.definition.string.begin.sql\"\n            }\n          },\n          \"end\": \"'\",\n          \"endCaptures\": {\n            \"0\": {\n              \"name\": \"punctuation.definition.string.end.sql\"\n            }\n          },\n          \"name\": \"string.quoted.single.sql\",\n          \"patterns\": [\n            {\n              \"include\": \"#string_escape\"\n            }\n          ]\n        },\n        {\n          \"captures\": {\n            \"1\": {\n              \"name\": \"punctuation.definition.string.begin.sql\"\n            },\n            \"2\": {\n              \"name\": \"punctuation.definition.string.end.sql\"\n            }\n          },\n          \"comment\": \"this is faster than the next begin/end rule since sub-pattern will match till end-of-line and SQL files tend to have very long lines.\",\n          \"match\": \"(`)[^`\\\\\\\\]*(`)\",\n          \"name\": \"string.quoted.other.backtick.sql\"\n        },\n        {\n          \"begin\": \"`\",\n          \"beginCaptures\": {\n            \"0\": {\n              \"name\": \"punctuation.definition.string.begin.sql\"\n            }\n          },\n          \"end\": \"`\",\n          \"endCaptures\": {\n            \"0\": {\n              \"name\": \"punctuation.definition.string.end.sql\"\n            }\n          },\n          \"name\": \"string.quoted.other.backtick.sql\",\n          \"patterns\": [\n            {\n              \"include\": \"#string_escape\"\n            }\n          ]\n        },\n        {\n          \"captures\": {\n            \"1\": {\n              \"name\": \"punctuation.definition.string.begin.sql\"\n            },\n            \"2\": {\n              \"name\": \"punctuation.definition.string.end.sql\"\n            }\n          },\n          \"comment\": \"this is faster than the next begin/end rule since sub-pattern will match till end-of-line and SQL files tend to have very long lines.\",\n          \"match\": \"(\\\")[^\\\"#]*(\\\")\",\n          \"name\": \"string.quoted.double.sql\"\n        },\n        {\n          \"begin\": \"\\\"\",\n          \"beginCaptures\": {\n            \"0\": {\n              \"name\": \"punctuation.definition.string.begin.sql\"\n            }\n          },\n          \"end\": \"\\\"\",\n          \"endCaptures\": {\n            \"0\": {\n              \"name\": \"punctuation.definition.string.end.sql\"\n            }\n          },\n          \"name\": \"string.quoted.double.sql\",\n          \"patterns\": [\n            {\n              \"include\": \"#string_interpolation\"\n            }\n          ]\n        },\n        {\n          \"begin\": \"%\\\\{\",\n          \"beginCaptures\": {\n            \"0\": {\n              \"name\": \"punctuation.definition.string.begin.sql\"\n            }\n          },\n          \"end\": \"\\\\}\",\n          \"endCaptures\": {\n            \"0\": {\n              \"name\": \"punctuation.definition.string.end.sql\"\n            }\n          },\n          \"name\": \"string.other.quoted.brackets.sql\",\n          \"patterns\": [\n            {\n              \"include\": \"#string_interpolation\"\n            }\n          ]\n        }\n      ]\n    },\n    \"sas-keywords\": {\n      \"patterns\": [\n        {\n          \"match\": \"(?i)(run|quit|%mend)(\\\\s|/\\\\*.*\\\\*/|\\\\*[^;]*;)*;$\",\n          \"name\": \"sas.keyword.section.sas\"\n        }\n      ]\n    },\n    \"sas-macro-put\": {\n      \"begin\": \"(?i)%put\\\\b\",\n      \"end\": \";\",\n      \"name\": \"macro\",\n      \"patterns\": [\n        {\n          \"include\": \"#sas-macro-quotes\"\n        }\n      ]\n    },\n    \"sas-macro-quotes\": {\n      \"begin\": \"(?i)%(?:quote|bquote|superq|nrbquote|nrquote|nrstr|str)\",\n      \"end\": \"\\\\)|(?=\\\\n)\",\n      \"name\": \"sas.quoted.macro\",\n      \"patterns\": [\n        {\n          \"include\": \"#sas-macro-quotes\"\n        }\n      ]\n    },\n    \"sas-global-stmt\": {\n      \"begin\": \"(?i)(libname|((title|footnote|axis|legend|pattern|symbol)\\\\d{0,}))\\\\b\",\n      \"end\": \";\",\n      \"name\": \"macro\",\n      \"patterns\": [\n        {\n          \"include\": \"#sas-macro-quotes\"\n        }\n      ]\n    }\n  }\n}\n"
  },
  {
    "path": "themes/dark_plus.json",
    "content": "{\n  \"$schema\": \"vscode://schemas/color-theme\",\n  \"name\": \"Dark+ (default dark)\",\n  \"include\": \"./dark_vs.json\",\n  \"tokenColors\": [\n    {\n      \"name\": \"Function declarations\",\n      \"scope\": [\n        \"entity.name.function\",\n        \"support.function\",\n        \"support.constant.handlebars\",\n        \"source.powershell variable.other.member\",\n        \"entity.name.operator.custom-literal\" // See https://en.cppreference.com/w/cpp/language/user_literal\n      ],\n      \"settings\": {\n        \"foreground\": \"#DCDCAA\"\n      }\n    },\n    {\n      \"name\": \"Types declaration and references\",\n      \"scope\": [\n        \"support.class\",\n        \"support.type\",\n        \"entity.name.type\",\n        \"entity.name.namespace\",\n        \"entity.other.attribute\",\n        \"entity.name.scope-resolution\",\n        \"entity.name.class\",\n        \"storage.type.numeric.go\",\n        \"storage.type.byte.go\",\n        \"storage.type.boolean.go\",\n        \"storage.type.string.go\",\n        \"storage.type.uintptr.go\",\n        \"storage.type.error.go\",\n        \"storage.type.rune.go\",\n        \"storage.type.cs\",\n        \"storage.type.generic.cs\",\n        \"storage.type.modifier.cs\",\n        \"storage.type.variable.cs\",\n        \"storage.type.annotation.java\",\n        \"storage.type.generic.java\",\n        \"storage.type.java\",\n        \"storage.type.object.array.java\",\n        \"storage.type.primitive.array.java\",\n        \"storage.type.primitive.java\",\n        \"storage.type.token.java\",\n        \"storage.type.groovy\",\n        \"storage.type.annotation.groovy\",\n        \"storage.type.parameters.groovy\",\n        \"storage.type.generic.groovy\",\n        \"storage.type.object.array.groovy\",\n        \"storage.type.primitive.array.groovy\",\n        \"storage.type.primitive.groovy\"\n      ],\n      \"settings\": {\n        \"foreground\": \"#4EC9B0\"\n      }\n    },\n    {\n      \"name\": \"Types declaration and references, TS grammar specific\",\n      \"scope\": [\n        \"meta.type.cast.expr\",\n        \"meta.type.new.expr\",\n        \"support.constant.math\",\n        \"support.constant.dom\",\n        \"support.constant.json\",\n        \"entity.other.inherited-class\"\n      ],\n      \"settings\": {\n        \"foreground\": \"#4EC9B0\"\n      }\n    },\n    {\n      \"name\": \"Control flow / Special keywords\",\n      \"scope\": [\n        \"keyword.control\",\n        \"source.cpp keyword.operator.new\",\n        \"keyword.operator.delete\",\n        \"keyword.other.using\",\n        \"keyword.other.operator\",\n        \"entity.name.operator\"\n      ],\n      \"settings\": {\n        \"foreground\": \"#C586C0\"\n      }\n    },\n    {\n      \"name\": \"Variable and parameter name\",\n      \"scope\": [\n        \"variable\",\n        \"meta.definition.variable.name\",\n        \"support.variable\",\n        \"entity.name.variable\",\n        \"constant.other.placeholder\" // placeholders in strings\n      ],\n      \"settings\": {\n        \"foreground\": \"#9CDCFE\"\n      }\n    },\n    {\n      \"name\": \"Constants and enums\",\n      \"scope\": [\"variable.other.constant\", \"variable.other.enummember\"],\n      \"settings\": {\n        \"foreground\": \"#4FC1FF\"\n      }\n    },\n    {\n      \"name\": \"Object keys, TS grammar specific\",\n      \"scope\": [\"meta.object-literal.key\"],\n      \"settings\": {\n        \"foreground\": \"#9CDCFE\"\n      }\n    },\n    {\n      \"name\": \"CSS property value\",\n      \"scope\": [\n        \"support.constant.property-value\",\n        \"support.constant.font-name\",\n        \"support.constant.media-type\",\n        \"support.constant.media\",\n        \"constant.other.color.rgb-value\",\n        \"constant.other.rgb-value\",\n        \"support.constant.color\"\n      ],\n      \"settings\": {\n        \"foreground\": \"#CE9178\"\n      }\n    },\n    {\n      \"name\": \"Regular expression groups\",\n      \"scope\": [\n        \"punctuation.definition.group.regexp\",\n        \"punctuation.definition.group.assertion.regexp\",\n        \"punctuation.definition.character-class.regexp\",\n        \"punctuation.character.set.begin.regexp\",\n        \"punctuation.character.set.end.regexp\",\n        \"keyword.operator.negation.regexp\",\n        \"support.other.parenthesis.regexp\"\n      ],\n      \"settings\": {\n        \"foreground\": \"#CE9178\"\n      }\n    },\n    {\n      \"scope\": [\n        \"constant.character.character-class.regexp\",\n        \"constant.other.character-class.set.regexp\",\n        \"constant.other.character-class.regexp\",\n        \"constant.character.set.regexp\"\n      ],\n      \"settings\": {\n        \"foreground\": \"#d16969\"\n      }\n    },\n    {\n      \"scope\": [\"keyword.operator.or.regexp\", \"keyword.control.anchor.regexp\"],\n      \"settings\": {\n        \"foreground\": \"#DCDCAA\"\n      }\n    },\n    {\n      \"scope\": \"keyword.operator.quantifier.regexp\",\n      \"settings\": {\n        \"foreground\": \"#d7ba7d\"\n      }\n    },\n    {\n      \"scope\": \"constant.character\",\n      \"settings\": {\n        \"foreground\": \"#569cd6\"\n      }\n    },\n    {\n      \"scope\": \"constant.character.escape\",\n      \"settings\": {\n        \"foreground\": \"#d7ba7d\"\n      }\n    },\n    {\n      \"scope\": \"entity.name.label\",\n      \"settings\": {\n        \"foreground\": \"#C8C8C8\"\n      }\n    }\n  ],\n  \"semanticTokenColors\": {\n    \"newOperator\": \"#C586C0\",\n    \"stringLiteral\": \"#ce9178\",\n    \"customLiteral\": \"#DCDCAA\",\n    \"numberLiteral\": \"#b5cea8\"\n  }\n}\n"
  },
  {
    "path": "themes/dark_vs.json",
    "content": "{\n  \"$schema\": \"vscode://schemas/color-theme\",\n  \"name\": \"Dark (Visual Studio)\",\n  \"colors\": {\n    \"editor.background\": \"#1E1E1E\",\n    \"editor.foreground\": \"#D4D4D4\",\n    \"editor.inactiveSelectionBackground\": \"#3A3D41\",\n    \"editorIndentGuide.background\": \"#404040\",\n    \"editorIndentGuide.activeBackground\": \"#707070\",\n    \"editor.selectionHighlightBackground\": \"#ADD6FF26\",\n    \"list.dropBackground\": \"#383B3D\",\n    \"activityBarBadge.background\": \"#007ACC\",\n    \"sideBarTitle.foreground\": \"#BBBBBB\",\n    \"input.placeholderForeground\": \"#A6A6A6\",\n    \"menu.background\": \"#303031\",\n    \"menu.foreground\": \"#CCCCCC\",\n    \"statusBarItem.remoteForeground\": \"#FFF\",\n    \"statusBarItem.remoteBackground\": \"#16825D\",\n    \"ports.iconRunningProcessForeground\": \"#369432\",\n    \"sideBarSectionHeader.background\": \"#0000\",\n    \"sideBarSectionHeader.border\": \"#ccc3\",\n    \"tab.lastPinnedBorder\": \"#ccc3\",\n    \"list.activeSelectionIconForeground\": \"#FFF\"\n  },\n  \"tokenColors\": [\n    {\n      \"scope\": [\"meta.embedded\", \"source.groovy.embedded\"],\n      \"settings\": {\n        \"foreground\": \"#D4D4D4\"\n      }\n    },\n    {\n      \"scope\": \"emphasis\",\n      \"settings\": {\n        \"fontStyle\": \"italic\"\n      }\n    },\n    {\n      \"scope\": \"strong\",\n      \"settings\": {\n        \"fontStyle\": \"bold\"\n      }\n    },\n    {\n      \"scope\": \"header\",\n      \"settings\": {\n        \"foreground\": \"#000080\"\n      }\n    },\n    {\n      \"scope\": \"comment\",\n      \"settings\": {\n        \"foreground\": \"#6A9955\"\n      }\n    },\n    {\n      \"scope\": \"constant.language\",\n      \"settings\": {\n        \"foreground\": \"#569cd6\"\n      }\n    },\n    {\n      \"scope\": [\n        \"constant.numeric\",\n        \"variable.other.enummember\",\n        \"keyword.operator.plus.exponent\",\n        \"keyword.operator.minus.exponent\"\n      ],\n      \"settings\": {\n        \"foreground\": \"#b5cea8\"\n      }\n    },\n    {\n      \"scope\": \"constant.regexp\",\n      \"settings\": {\n        \"foreground\": \"#646695\"\n      }\n    },\n    {\n      \"scope\": \"entity.name.tag\",\n      \"settings\": {\n        \"foreground\": \"#569cd6\"\n      }\n    },\n    {\n      \"scope\": \"entity.name.tag.css\",\n      \"settings\": {\n        \"foreground\": \"#d7ba7d\"\n      }\n    },\n    {\n      \"scope\": \"entity.other.attribute-name\",\n      \"settings\": {\n        \"foreground\": \"#9cdcfe\"\n      }\n    },\n    {\n      \"scope\": [\n        \"entity.other.attribute-name.class.css\",\n        \"entity.other.attribute-name.class.mixin.css\",\n        \"entity.other.attribute-name.id.css\",\n        \"entity.other.attribute-name.parent-selector.css\",\n        \"entity.other.attribute-name.pseudo-class.css\",\n        \"entity.other.attribute-name.pseudo-element.css\",\n        \"source.css.less entity.other.attribute-name.id\",\n        \"entity.other.attribute-name.scss\"\n      ],\n      \"settings\": {\n        \"foreground\": \"#d7ba7d\"\n      }\n    },\n    {\n      \"scope\": \"invalid\",\n      \"settings\": {\n        \"foreground\": \"#f44747\"\n      }\n    },\n    {\n      \"scope\": \"markup.underline\",\n      \"settings\": {\n        \"fontStyle\": \"underline\"\n      }\n    },\n    {\n      \"scope\": \"markup.bold\",\n      \"settings\": {\n        \"fontStyle\": \"bold\",\n        \"foreground\": \"#569cd6\"\n      }\n    },\n    {\n      \"scope\": \"markup.heading\",\n      \"settings\": {\n        \"fontStyle\": \"bold\",\n        \"foreground\": \"#569cd6\"\n      }\n    },\n    {\n      \"scope\": \"markup.italic\",\n      \"settings\": {\n        \"fontStyle\": \"italic\"\n      }\n    },\n    {\n      \"scope\": \"markup.strikethrough\",\n      \"settings\": {\n        \"fontStyle\": \"strikethrough\"\n      }\n    },\n    {\n      \"scope\": \"markup.inserted\",\n      \"settings\": {\n        \"foreground\": \"#b5cea8\"\n      }\n    },\n    {\n      \"scope\": \"markup.deleted\",\n      \"settings\": {\n        \"foreground\": \"#ce9178\"\n      }\n    },\n    {\n      \"scope\": \"markup.changed\",\n      \"settings\": {\n        \"foreground\": \"#569cd6\"\n      }\n    },\n    {\n      \"scope\": \"punctuation.definition.quote.begin.markdown\",\n      \"settings\": {\n        \"foreground\": \"#6A9955\"\n      }\n    },\n    {\n      \"scope\": \"punctuation.definition.list.begin.markdown\",\n      \"settings\": {\n        \"foreground\": \"#6796e6\"\n      }\n    },\n    {\n      \"scope\": \"markup.inline.raw\",\n      \"settings\": {\n        \"foreground\": \"#ce9178\"\n      }\n    },\n    {\n      \"name\": \"brackets of XML/HTML tags\",\n      \"scope\": \"punctuation.definition.tag\",\n      \"settings\": {\n        \"foreground\": \"#808080\"\n      }\n    },\n    {\n      \"scope\": [\"meta.preprocessor\", \"entity.name.function.preprocessor\"],\n      \"settings\": {\n        \"foreground\": \"#569cd6\"\n      }\n    },\n    {\n      \"scope\": \"meta.preprocessor.string\",\n      \"settings\": {\n        \"foreground\": \"#ce9178\"\n      }\n    },\n    {\n      \"scope\": \"meta.preprocessor.numeric\",\n      \"settings\": {\n        \"foreground\": \"#b5cea8\"\n      }\n    },\n    {\n      \"scope\": \"meta.structure.dictionary.key.python\",\n      \"settings\": {\n        \"foreground\": \"#9cdcfe\"\n      }\n    },\n    {\n      \"scope\": \"meta.diff.header\",\n      \"settings\": {\n        \"foreground\": \"#569cd6\"\n      }\n    },\n    {\n      \"scope\": \"storage\",\n      \"settings\": {\n        \"foreground\": \"#569cd6\"\n      }\n    },\n    {\n      \"scope\": \"storage.type\",\n      \"settings\": {\n        \"foreground\": \"#569cd6\"\n      }\n    },\n    {\n      \"scope\": [\"storage.modifier\", \"keyword.operator.noexcept\"],\n      \"settings\": {\n        \"foreground\": \"#569cd6\"\n      }\n    },\n    {\n      \"scope\": [\"string\", \"meta.embedded.assembly\"],\n      \"settings\": {\n        \"foreground\": \"#ce9178\"\n      }\n    },\n    {\n      \"scope\": \"string.tag\",\n      \"settings\": {\n        \"foreground\": \"#ce9178\"\n      }\n    },\n    {\n      \"scope\": \"string.value\",\n      \"settings\": {\n        \"foreground\": \"#ce9178\"\n      }\n    },\n    {\n      \"scope\": \"string.regexp\",\n      \"settings\": {\n        \"foreground\": \"#d16969\"\n      }\n    },\n    {\n      \"name\": \"String interpolation\",\n      \"scope\": [\n        \"punctuation.definition.template-expression.begin\",\n        \"punctuation.definition.template-expression.end\",\n        \"punctuation.section.embedded\"\n      ],\n      \"settings\": {\n        \"foreground\": \"#569cd6\"\n      }\n    },\n    {\n      \"name\": \"Reset JavaScript string interpolation expression\",\n      \"scope\": [\"meta.template.expression\"],\n      \"settings\": {\n        \"foreground\": \"#d4d4d4\"\n      }\n    },\n    {\n      \"scope\": [\n        \"support.type.vendored.property-name\",\n        \"support.type.property-name\",\n        \"variable.css\",\n        \"variable.scss\",\n        \"variable.other.less\",\n        \"source.coffee.embedded\"\n      ],\n      \"settings\": {\n        \"foreground\": \"#9cdcfe\"\n      }\n    },\n    {\n      \"scope\": \"keyword\",\n      \"settings\": {\n        \"foreground\": \"#569cd6\"\n      }\n    },\n    {\n      \"scope\": \"keyword.control\",\n      \"settings\": {\n        \"foreground\": \"#569cd6\"\n      }\n    },\n    {\n      \"scope\": \"keyword.operator\",\n      \"settings\": {\n        \"foreground\": \"#d4d4d4\"\n      }\n    },\n    {\n      \"scope\": [\n        \"keyword.operator.new\",\n        \"keyword.operator.expression\",\n        \"keyword.operator.cast\",\n        \"keyword.operator.sizeof\",\n        \"keyword.operator.alignof\",\n        \"keyword.operator.typeid\",\n        \"keyword.operator.alignas\",\n        \"keyword.operator.instanceof\",\n        \"keyword.operator.logical.python\",\n        \"keyword.operator.wordlike\"\n      ],\n      \"settings\": {\n        \"foreground\": \"#569cd6\"\n      }\n    },\n    {\n      \"scope\": \"keyword.other.unit\",\n      \"settings\": {\n        \"foreground\": \"#b5cea8\"\n      }\n    },\n    {\n      \"scope\": [\n        \"punctuation.section.embedded.begin.php\",\n        \"punctuation.section.embedded.end.php\"\n      ],\n      \"settings\": {\n        \"foreground\": \"#569cd6\"\n      }\n    },\n    {\n      \"scope\": \"support.function.git-rebase\",\n      \"settings\": {\n        \"foreground\": \"#9cdcfe\"\n      }\n    },\n    {\n      \"scope\": \"constant.sha.git-rebase\",\n      \"settings\": {\n        \"foreground\": \"#b5cea8\"\n      }\n    },\n    {\n      \"name\": \"coloring of the Java import and package identifiers\",\n      \"scope\": [\n        \"storage.modifier.import.java\",\n        \"variable.language.wildcard.java\",\n        \"storage.modifier.package.java\"\n      ],\n      \"settings\": {\n        \"foreground\": \"#d4d4d4\"\n      }\n    },\n    {\n      \"name\": \"this.self\",\n      \"scope\": \"variable.language\",\n      \"settings\": {\n        \"foreground\": \"#569cd6\"\n      }\n    }\n  ],\n  \"semanticHighlighting\": true,\n  \"semanticTokenColors\": {\n    \"newOperator\": \"#d4d4d4\",\n    \"stringLiteral\": \"#ce9178\",\n    \"customLiteral\": \"#D4D4D4\",\n    \"numberLiteral\": \"#b5cea8\"\n  }\n}\n"
  },
  {
    "path": "themes/hc_black.json",
    "content": "{\n  \"$schema\": \"vscode://schemas/color-theme\",\n  \"name\": \"Dark High Contrast\",\n  \"colors\": {\n    \"editor.background\": \"#000000\",\n    \"editor.foreground\": \"#FFFFFF\",\n    \"editorIndentGuide.background\": \"#FFFFFF\",\n    \"editorIndentGuide.activeBackground\": \"#FFFFFF\",\n    \"sideBarTitle.foreground\": \"#FFFFFF\",\n    \"selection.background\": \"#008000\",\n    \"editor.selectionBackground\": \"#FFFFFF\",\n    \"statusBarItem.remoteBackground\": \"#00000000\",\n    \"ports.iconRunningProcessForeground\": \"#FFFFFF\",\n    \"editorWhitespace.foreground\": \"#7c7c7c\"\n  },\n  \"tokenColors\": [\n    {\n      \"scope\": [\"meta.embedded\", \"source.groovy.embedded\"],\n      \"settings\": { \"foreground\": \"#FFFFFF\" }\n    },\n    { \"scope\": \"emphasis\", \"settings\": { \"fontStyle\": \"italic\" } },\n    { \"scope\": \"strong\", \"settings\": { \"fontStyle\": \"bold\" } },\n    { \"scope\": \"meta.diff.header\", \"settings\": { \"foreground\": \"#000080\" } },\n    { \"scope\": \"comment\", \"settings\": { \"foreground\": \"#7ca668\" } },\n    { \"scope\": \"constant.language\", \"settings\": { \"foreground\": \"#569cd6\" } },\n    {\n      \"scope\": [\n        \"constant.numeric\",\n        \"constant.other.color.rgb-value\",\n        \"constant.other.rgb-value\",\n        \"support.constant.color\"\n      ],\n      \"settings\": { \"foreground\": \"#b5cea8\" }\n    },\n    { \"scope\": \"constant.regexp\", \"settings\": { \"foreground\": \"#b46695\" } },\n    { \"scope\": \"constant.character\", \"settings\": { \"foreground\": \"#569cd6\" } },\n    { \"scope\": \"entity.name.tag\", \"settings\": { \"foreground\": \"#569cd6\" } },\n    { \"scope\": \"entity.name.tag.css\", \"settings\": { \"foreground\": \"#d7ba7d\" } },\n    {\n      \"scope\": \"entity.other.attribute-name\",\n      \"settings\": { \"foreground\": \"#9cdcfe\" }\n    },\n    {\n      \"scope\": [\n        \"entity.other.attribute-name.class.css\",\n        \"entity.other.attribute-name.class.mixin.css\",\n        \"entity.other.attribute-name.id.css\",\n        \"entity.other.attribute-name.parent-selector.css\",\n        \"entity.other.attribute-name.pseudo-class.css\",\n        \"entity.other.attribute-name.pseudo-element.css\",\n        \"source.css.less entity.other.attribute-name.id\",\n        \"entity.other.attribute-name.scss\"\n      ],\n      \"settings\": { \"foreground\": \"#d7ba7d\" }\n    },\n    { \"scope\": \"invalid\", \"settings\": { \"foreground\": \"#f44747\" } },\n    { \"scope\": \"markup.underline\", \"settings\": { \"fontStyle\": \"underline\" } },\n    { \"scope\": \"markup.bold\", \"settings\": { \"fontStyle\": \"bold\" } },\n    {\n      \"scope\": \"markup.heading\",\n      \"settings\": { \"fontStyle\": \"bold\", \"foreground\": \"#6796e6\" }\n    },\n    { \"scope\": \"markup.italic\", \"settings\": { \"fontStyle\": \"italic\" } },\n    {\n      \"scope\": \"markup.strikethrough\",\n      \"settings\": { \"fontStyle\": \"strikethrough\" }\n    },\n    { \"scope\": \"markup.inserted\", \"settings\": { \"foreground\": \"#b5cea8\" } },\n    { \"scope\": \"markup.deleted\", \"settings\": { \"foreground\": \"#ce9178\" } },\n    { \"scope\": \"markup.changed\", \"settings\": { \"foreground\": \"#569cd6\" } },\n    {\n      \"name\": \"brackets of XML/HTML tags\",\n      \"scope\": [\"punctuation.definition.tag\"],\n      \"settings\": { \"foreground\": \"#808080\" }\n    },\n    { \"scope\": \"meta.preprocessor\", \"settings\": { \"foreground\": \"#569cd6\" } },\n    {\n      \"scope\": \"meta.preprocessor.string\",\n      \"settings\": { \"foreground\": \"#ce9178\" }\n    },\n    {\n      \"scope\": \"meta.preprocessor.numeric\",\n      \"settings\": { \"foreground\": \"#b5cea8\" }\n    },\n    {\n      \"scope\": \"meta.structure.dictionary.key.python\",\n      \"settings\": { \"foreground\": \"#9cdcfe\" }\n    },\n    { \"scope\": \"storage\", \"settings\": { \"foreground\": \"#569cd6\" } },\n    { \"scope\": \"storage.type\", \"settings\": { \"foreground\": \"#569cd6\" } },\n    { \"scope\": \"storage.modifier\", \"settings\": { \"foreground\": \"#569cd6\" } },\n    { \"scope\": \"string\", \"settings\": { \"foreground\": \"#ce9178\" } },\n    { \"scope\": \"string.tag\", \"settings\": { \"foreground\": \"#ce9178\" } },\n    { \"scope\": \"string.value\", \"settings\": { \"foreground\": \"#ce9178\" } },\n    { \"scope\": \"string.regexp\", \"settings\": { \"foreground\": \"#d16969\" } },\n    {\n      \"name\": \"String interpolation\",\n      \"scope\": [\n        \"punctuation.definition.template-expression.begin\",\n        \"punctuation.definition.template-expression.end\",\n        \"punctuation.section.embedded\"\n      ],\n      \"settings\": { \"foreground\": \"#569cd6\" }\n    },\n    {\n      \"name\": \"Reset JavaScript string interpolation expression\",\n      \"scope\": [\"meta.template.expression\"],\n      \"settings\": { \"foreground\": \"#ffffff\" }\n    },\n    {\n      \"scope\": [\n        \"support.type.vendored.property-name\",\n        \"support.type.property-name\",\n        \"variable.css\",\n        \"variable.scss\",\n        \"variable.other.less\",\n        \"source.coffee.embedded\"\n      ],\n      \"settings\": { \"foreground\": \"#d4d4d4\" }\n    },\n    { \"scope\": \"keyword\", \"settings\": { \"foreground\": \"#569cd6\" } },\n    { \"scope\": \"keyword.control\", \"settings\": { \"foreground\": \"#569cd6\" } },\n    { \"scope\": \"keyword.operator\", \"settings\": { \"foreground\": \"#d4d4d4\" } },\n    {\n      \"scope\": [\n        \"keyword.operator.new\",\n        \"keyword.operator.expression\",\n        \"keyword.operator.cast\",\n        \"keyword.operator.sizeof\",\n        \"keyword.operator.logical.python\"\n      ],\n      \"settings\": { \"foreground\": \"#569cd6\" }\n    },\n    { \"scope\": \"keyword.other.unit\", \"settings\": { \"foreground\": \"#b5cea8\" } },\n    {\n      \"scope\": \"support.function.git-rebase\",\n      \"settings\": { \"foreground\": \"#d4d4d4\" }\n    },\n    {\n      \"scope\": \"constant.sha.git-rebase\",\n      \"settings\": { \"foreground\": \"#b5cea8\" }\n    },\n    {\n      \"name\": \"coloring of the Java import and package identifiers\",\n      \"scope\": [\n        \"storage.modifier.import.java\",\n        \"variable.language.wildcard.java\",\n        \"storage.modifier.package.java\"\n      ],\n      \"settings\": { \"foreground\": \"#d4d4d4\" }\n    },\n    {\n      \"name\": \"coloring of the TS this\",\n      \"scope\": \"variable.language.this\",\n      \"settings\": { \"foreground\": \"#569cd6\" }\n    },\n    {\n      \"name\": \"Function declarations\",\n      \"scope\": [\n        \"entity.name.function\",\n        \"support.function\",\n        \"support.constant.handlebars\",\n        \"source.powershell variable.other.member\"\n      ],\n      \"settings\": { \"foreground\": \"#DCDCAA\" }\n    },\n    {\n      \"name\": \"Types declaration and references\",\n      \"scope\": [\n        \"support.class\",\n        \"support.type\",\n        \"entity.name.type\",\n        \"entity.name.namespace\",\n        \"entity.name.scope-resolution\",\n        \"entity.name.class\",\n        \"storage.type.cs\",\n        \"storage.type.generic.cs\",\n        \"storage.type.modifier.cs\",\n        \"storage.type.variable.cs\",\n        \"storage.type.annotation.java\",\n        \"storage.type.generic.java\",\n        \"storage.type.java\",\n        \"storage.type.object.array.java\",\n        \"storage.type.primitive.array.java\",\n        \"storage.type.primitive.java\",\n        \"storage.type.token.java\",\n        \"storage.type.groovy\",\n        \"storage.type.annotation.groovy\",\n        \"storage.type.parameters.groovy\",\n        \"storage.type.generic.groovy\",\n        \"storage.type.object.array.groovy\",\n        \"storage.type.primitive.array.groovy\",\n        \"storage.type.primitive.groovy\"\n      ],\n      \"settings\": { \"foreground\": \"#4EC9B0\" }\n    },\n    {\n      \"name\": \"Types declaration and references, TS grammar specific\",\n      \"scope\": [\n        \"meta.type.cast.expr\",\n        \"meta.type.new.expr\",\n        \"support.constant.math\",\n        \"support.constant.dom\",\n        \"support.constant.json\",\n        \"entity.other.inherited-class\"\n      ],\n      \"settings\": { \"foreground\": \"#4EC9B0\" }\n    },\n    {\n      \"name\": \"Control flow / Special keywords\",\n      \"scope\": [\n        \"keyword.control\",\n        \"source.cpp keyword.operator.new\",\n        \"source.cpp keyword.operator.delete\",\n        \"keyword.other.using\",\n        \"keyword.other.operator\"\n      ],\n      \"settings\": { \"foreground\": \"#C586C0\" }\n    },\n    {\n      \"name\": \"Variable and parameter name\",\n      \"scope\": [\n        \"variable\",\n        \"meta.definition.variable.name\",\n        \"support.variable\"\n      ],\n      \"settings\": { \"foreground\": \"#9CDCFE\" }\n    },\n    {\n      \"name\": \"Object keys, TS grammar specific\",\n      \"scope\": [\"meta.object-literal.key\"],\n      \"settings\": { \"foreground\": \"#9CDCFE\" }\n    },\n    {\n      \"name\": \"CSS property value\",\n      \"scope\": [\n        \"support.constant.property-value\",\n        \"support.constant.font-name\",\n        \"support.constant.media-type\",\n        \"support.constant.media\",\n        \"constant.other.color.rgb-value\",\n        \"constant.other.rgb-value\",\n        \"support.constant.color\"\n      ],\n      \"settings\": { \"foreground\": \"#CE9178\" }\n    },\n    {\n      \"name\": \"HC Search Editor context line override\",\n      \"scope\": \"meta.resultLinePrefix.contextLinePrefix.search\",\n      \"settings\": { \"foreground\": \"#CBEDCB\" }\n    }\n  ],\n  \"semanticHighlighting\": true,\n  \"semanticTokenColors\": {\n    \"newOperator\": \"#FFFFFF\",\n    \"stringLiteral\": \"#ce9178\",\n    \"customLiteral\": \"#DCDCAA\",\n    \"numberLiteral\": \"#b5cea8\"\n  }\n}\n"
  },
  {
    "path": "themes/light_plus.json",
    "content": "{\n  \"$schema\": \"vscode://schemas/color-theme\",\n  \"name\": \"Light+ (default light)\",\n  \"include\": \"./light_vs.json\",\n  \"tokenColors\": [\n    // adds rules to the light vs rules\n    {\n      \"name\": \"Function declarations\",\n      \"scope\": [\n        \"entity.name.function\",\n        \"support.function\",\n        \"support.constant.handlebars\",\n        \"source.powershell variable.other.member\",\n        \"entity.name.operator.custom-literal\" // See https://en.cppreference.com/w/cpp/language/user_literal\n      ],\n      \"settings\": {\n        \"foreground\": \"#795E26\"\n      }\n    },\n    {\n      \"name\": \"Types declaration and references\",\n      \"scope\": [\n        \"support.class\",\n        \"support.type\",\n        \"entity.name.type\",\n        \"entity.name.namespace\",\n        \"entity.other.attribute\",\n        \"entity.name.scope-resolution\",\n        \"entity.name.class\",\n        \"storage.type.numeric.go\",\n        \"storage.type.byte.go\",\n        \"storage.type.boolean.go\",\n        \"storage.type.string.go\",\n        \"storage.type.uintptr.go\",\n        \"storage.type.error.go\",\n        \"storage.type.rune.go\",\n        \"storage.type.cs\",\n        \"storage.type.generic.cs\",\n        \"storage.type.modifier.cs\",\n        \"storage.type.variable.cs\",\n        \"storage.type.annotation.java\",\n        \"storage.type.generic.java\",\n        \"storage.type.java\",\n        \"storage.type.object.array.java\",\n        \"storage.type.primitive.array.java\",\n        \"storage.type.primitive.java\",\n        \"storage.type.token.java\",\n        \"storage.type.groovy\",\n        \"storage.type.annotation.groovy\",\n        \"storage.type.parameters.groovy\",\n        \"storage.type.generic.groovy\",\n        \"storage.type.object.array.groovy\",\n        \"storage.type.primitive.array.groovy\",\n        \"storage.type.primitive.groovy\"\n      ],\n      \"settings\": {\n        \"foreground\": \"#267f99\"\n      }\n    },\n    {\n      \"name\": \"Types declaration and references, TS grammar specific\",\n      \"scope\": [\n        \"meta.type.cast.expr\",\n        \"meta.type.new.expr\",\n        \"support.constant.math\",\n        \"support.constant.dom\",\n        \"support.constant.json\",\n        \"entity.other.inherited-class\"\n      ],\n      \"settings\": {\n        \"foreground\": \"#267f99\"\n      }\n    },\n    {\n      \"name\": \"Control flow / Special keywords\",\n      \"scope\": [\n        \"keyword.control\",\n        \"source.cpp keyword.operator.new\",\n        \"source.cpp keyword.operator.delete\",\n        \"keyword.other.using\",\n        \"keyword.other.operator\",\n        \"entity.name.operator\"\n      ],\n      \"settings\": {\n        \"foreground\": \"#AF00DB\"\n      }\n    },\n    {\n      \"name\": \"Variable and parameter name\",\n      \"scope\": [\n        \"variable\",\n        \"meta.definition.variable.name\",\n        \"support.variable\",\n        \"entity.name.variable\",\n        \"constant.other.placeholder\" // placeholders in strings\n      ],\n      \"settings\": {\n        \"foreground\": \"#001080\"\n      }\n    },\n    {\n      \"name\": \"Constants and enums\",\n      \"scope\": [\"variable.other.constant\", \"variable.other.enummember\"],\n      \"settings\": {\n        \"foreground\": \"#0070C1\"\n      }\n    },\n    {\n      \"name\": \"Object keys, TS grammar specific\",\n      \"scope\": [\"meta.object-literal.key\"],\n      \"settings\": {\n        \"foreground\": \"#001080\"\n      }\n    },\n    {\n      \"name\": \"CSS property value\",\n      \"scope\": [\n        \"support.constant.property-value\",\n        \"support.constant.font-name\",\n        \"support.constant.media-type\",\n        \"support.constant.media\",\n        \"constant.other.color.rgb-value\",\n        \"constant.other.rgb-value\",\n        \"support.constant.color\"\n      ],\n      \"settings\": {\n        \"foreground\": \"#0451a5\"\n      }\n    },\n    {\n      \"name\": \"Regular expression groups\",\n      \"scope\": [\n        \"punctuation.definition.group.regexp\",\n        \"punctuation.definition.group.assertion.regexp\",\n        \"punctuation.definition.character-class.regexp\",\n        \"punctuation.character.set.begin.regexp\",\n        \"punctuation.character.set.end.regexp\",\n        \"keyword.operator.negation.regexp\",\n        \"support.other.parenthesis.regexp\"\n      ],\n      \"settings\": {\n        \"foreground\": \"#d16969\"\n      }\n    },\n    {\n      \"scope\": [\n        \"constant.character.character-class.regexp\",\n        \"constant.other.character-class.set.regexp\",\n        \"constant.other.character-class.regexp\",\n        \"constant.character.set.regexp\"\n      ],\n      \"settings\": {\n        \"foreground\": \"#811f3f\"\n      }\n    },\n    {\n      \"scope\": \"keyword.operator.quantifier.regexp\",\n      \"settings\": {\n        \"foreground\": \"#000000\"\n      }\n    },\n    {\n      \"scope\": [\"keyword.operator.or.regexp\", \"keyword.control.anchor.regexp\"],\n      \"settings\": {\n        \"foreground\": \"#EE0000\"\n      }\n    },\n    {\n      \"scope\": \"constant.character\",\n      \"settings\": {\n        \"foreground\": \"#0000ff\"\n      }\n    },\n    {\n      \"scope\": \"constant.character.escape\",\n      \"settings\": {\n        \"foreground\": \"#EE0000\"\n      }\n    },\n    {\n      \"scope\": \"entity.name.label\",\n      \"settings\": {\n        \"foreground\": \"#000000\"\n      }\n    }\n  ],\n  \"semanticHighlighting\": true,\n  \"semanticTokenColors\": {\n    \"newOperator\": \"#AF00DB\",\n    \"stringLiteral\": \"#a31515\",\n    \"customLiteral\": \"#795E26\",\n    \"numberLiteral\": \"#098658\"\n  }\n}\n"
  },
  {
    "path": "themes/light_vs.json",
    "content": "{\n  \"$schema\": \"vscode://schemas/color-theme\",\n  \"name\": \"Light (Visual Studio)\",\n  \"colors\": {\n    \"editor.background\": \"#FFFFFF\",\n    \"editor.foreground\": \"#000000\",\n    \"editor.inactiveSelectionBackground\": \"#E5EBF1\",\n    \"editorIndentGuide.background\": \"#D3D3D3\",\n    \"editorIndentGuide.activeBackground\": \"#939393\",\n    \"editor.selectionHighlightBackground\": \"#ADD6FF80\",\n    \"editorSuggestWidget.background\": \"#F3F3F3\",\n    \"activityBarBadge.background\": \"#007ACC\",\n    \"sideBarTitle.foreground\": \"#6F6F6F\",\n    \"list.hoverBackground\": \"#E8E8E8\",\n    \"input.placeholderForeground\": \"#767676\",\n    \"searchEditor.textInputBorder\": \"#CECECE\",\n    \"settings.textInputBorder\": \"#CECECE\",\n    \"settings.numberInputBorder\": \"#CECECE\",\n    \"statusBarItem.remoteForeground\": \"#FFF\",\n    \"statusBarItem.remoteBackground\": \"#16825D\",\n    \"ports.iconRunningProcessForeground\": \"#369432\",\n    \"sideBarSectionHeader.background\": \"#0000\",\n    \"sideBarSectionHeader.border\": \"#61616130\",\n    \"tab.lastPinnedBorder\": \"#61616130\",\n    \"notebook.cellBorderColor\": \"#E8E8E8\",\n    \"notebook.selectedCellBackground\": \"#c8ddf150\",\n    \"statusBarItem.errorBackground\": \"#c72e0f\",\n    \"list.activeSelectionIconForeground\": \"#FFF\"\n  },\n  \"tokenColors\": [\n    {\n      \"scope\": [\"meta.embedded\", \"source.groovy.embedded\"],\n      \"settings\": {\n        \"foreground\": \"#000000ff\"\n      }\n    },\n    {\n      \"scope\": \"emphasis\",\n      \"settings\": {\n        \"fontStyle\": \"italic\"\n      }\n    },\n    {\n      \"scope\": \"strong\",\n      \"settings\": {\n        \"fontStyle\": \"bold\"\n      }\n    },\n    {\n      \"scope\": \"meta.diff.header\",\n      \"settings\": {\n        \"foreground\": \"#000080\"\n      }\n    },\n    {\n      \"scope\": \"comment\",\n      \"settings\": {\n        \"foreground\": \"#008000\"\n      }\n    },\n    {\n      \"scope\": \"constant.language\",\n      \"settings\": {\n        \"foreground\": \"#0000ff\"\n      }\n    },\n    {\n      \"scope\": [\n        \"constant.numeric\",\n        \"variable.other.enummember\",\n        \"keyword.operator.plus.exponent\",\n        \"keyword.operator.minus.exponent\"\n      ],\n      \"settings\": {\n        \"foreground\": \"#098658\"\n      }\n    },\n    {\n      \"scope\": \"constant.regexp\",\n      \"settings\": {\n        \"foreground\": \"#811f3f\"\n      }\n    },\n    {\n      \"name\": \"css tags in selectors, xml tags\",\n      \"scope\": \"entity.name.tag\",\n      \"settings\": {\n        \"foreground\": \"#800000\"\n      }\n    },\n    {\n      \"scope\": \"entity.name.selector\",\n      \"settings\": {\n        \"foreground\": \"#800000\"\n      }\n    },\n    {\n      \"scope\": \"entity.other.attribute-name\",\n      \"settings\": {\n        \"foreground\": \"#ff0000\"\n      }\n    },\n    {\n      \"scope\": [\n        \"entity.other.attribute-name.class.css\",\n        \"entity.other.attribute-name.class.mixin.css\",\n        \"entity.other.attribute-name.id.css\",\n        \"entity.other.attribute-name.parent-selector.css\",\n        \"entity.other.attribute-name.pseudo-class.css\",\n        \"entity.other.attribute-name.pseudo-element.css\",\n        \"source.css.less entity.other.attribute-name.id\",\n        \"entity.other.attribute-name.scss\"\n      ],\n      \"settings\": {\n        \"foreground\": \"#800000\"\n      }\n    },\n    {\n      \"scope\": \"invalid\",\n      \"settings\": {\n        \"foreground\": \"#cd3131\"\n      }\n    },\n    {\n      \"scope\": \"markup.underline\",\n      \"settings\": {\n        \"fontStyle\": \"underline\"\n      }\n    },\n    {\n      \"scope\": \"markup.bold\",\n      \"settings\": {\n        \"fontStyle\": \"bold\",\n        \"foreground\": \"#000080\"\n      }\n    },\n    {\n      \"scope\": \"markup.heading\",\n      \"settings\": {\n        \"fontStyle\": \"bold\",\n        \"foreground\": \"#800000\"\n      }\n    },\n    {\n      \"scope\": \"markup.italic\",\n      \"settings\": {\n        \"fontStyle\": \"italic\"\n      }\n    },\n    {\n      \"scope\": \"markup.strikethrough\",\n      \"settings\": {\n        \"fontStyle\": \"strikethrough\"\n      }\n    },\n    {\n      \"scope\": \"markup.inserted\",\n      \"settings\": {\n        \"foreground\": \"#098658\"\n      }\n    },\n    {\n      \"scope\": \"markup.deleted\",\n      \"settings\": {\n        \"foreground\": \"#a31515\"\n      }\n    },\n    {\n      \"scope\": \"markup.changed\",\n      \"settings\": {\n        \"foreground\": \"#0451a5\"\n      }\n    },\n    {\n      \"scope\": [\n        \"punctuation.definition.quote.begin.markdown\",\n        \"punctuation.definition.list.begin.markdown\"\n      ],\n      \"settings\": {\n        \"foreground\": \"#0451a5\"\n      }\n    },\n    {\n      \"scope\": \"markup.inline.raw\",\n      \"settings\": {\n        \"foreground\": \"#800000\"\n      }\n    },\n    {\n      \"name\": \"brackets of XML/HTML tags\",\n      \"scope\": \"punctuation.definition.tag\",\n      \"settings\": {\n        \"foreground\": \"#800000\"\n      }\n    },\n    {\n      \"scope\": [\"meta.preprocessor\", \"entity.name.function.preprocessor\"],\n      \"settings\": {\n        \"foreground\": \"#0000ff\"\n      }\n    },\n    {\n      \"scope\": \"meta.preprocessor.string\",\n      \"settings\": {\n        \"foreground\": \"#a31515\"\n      }\n    },\n    {\n      \"scope\": \"meta.preprocessor.numeric\",\n      \"settings\": {\n        \"foreground\": \"#098658\"\n      }\n    },\n    {\n      \"scope\": \"meta.structure.dictionary.key.python\",\n      \"settings\": {\n        \"foreground\": \"#0451a5\"\n      }\n    },\n    {\n      \"scope\": \"storage\",\n      \"settings\": {\n        \"foreground\": \"#0000ff\"\n      }\n    },\n    {\n      \"scope\": \"storage.type\",\n      \"settings\": {\n        \"foreground\": \"#0000ff\"\n      }\n    },\n    {\n      \"scope\": [\"storage.modifier\", \"keyword.operator.noexcept\"],\n      \"settings\": {\n        \"foreground\": \"#0000ff\"\n      }\n    },\n    {\n      \"scope\": [\"string\", \"meta.embedded.assembly\"],\n      \"settings\": {\n        \"foreground\": \"#a31515\"\n      }\n    },\n    {\n      \"scope\": [\n        \"string.comment.buffered.block.pug\",\n        \"string.quoted.pug\",\n        \"string.interpolated.pug\",\n        \"string.unquoted.plain.in.yaml\",\n        \"string.unquoted.plain.out.yaml\",\n        \"string.unquoted.block.yaml\",\n        \"string.quoted.single.yaml\",\n        \"string.quoted.double.xml\",\n        \"string.quoted.single.xml\",\n        \"string.unquoted.cdata.xml\",\n        \"string.quoted.double.html\",\n        \"string.quoted.single.html\",\n        \"string.unquoted.html\",\n        \"string.quoted.single.handlebars\",\n        \"string.quoted.double.handlebars\"\n      ],\n      \"settings\": {\n        \"foreground\": \"#0000ff\"\n      }\n    },\n    {\n      \"scope\": \"string.regexp\",\n      \"settings\": {\n        \"foreground\": \"#811f3f\"\n      }\n    },\n    {\n      \"name\": \"String interpolation\",\n      \"scope\": [\n        \"punctuation.definition.template-expression.begin\",\n        \"punctuation.definition.template-expression.end\",\n        \"punctuation.section.embedded\"\n      ],\n      \"settings\": {\n        \"foreground\": \"#0000ff\"\n      }\n    },\n    {\n      \"name\": \"Reset JavaScript string interpolation expression\",\n      \"scope\": [\"meta.template.expression\"],\n      \"settings\": {\n        \"foreground\": \"#000000\"\n      }\n    },\n    {\n      \"scope\": [\n        \"support.constant.property-value\",\n        \"support.constant.font-name\",\n        \"support.constant.media-type\",\n        \"support.constant.media\",\n        \"constant.other.color.rgb-value\",\n        \"constant.other.rgb-value\",\n        \"support.constant.color\"\n      ],\n      \"settings\": {\n        \"foreground\": \"#0451a5\"\n      }\n    },\n    {\n      \"scope\": [\n        \"support.type.vendored.property-name\",\n        \"support.type.property-name\",\n        \"variable.css\",\n        \"variable.scss\",\n        \"variable.other.less\",\n        \"source.coffee.embedded\"\n      ],\n      \"settings\": {\n        \"foreground\": \"#ff0000\"\n      }\n    },\n    {\n      \"scope\": [\"support.type.property-name.json\"],\n      \"settings\": {\n        \"foreground\": \"#0451a5\"\n      }\n    },\n    {\n      \"scope\": \"keyword\",\n      \"settings\": {\n        \"foreground\": \"#0000ff\"\n      }\n    },\n    {\n      \"scope\": \"keyword.control\",\n      \"settings\": {\n        \"foreground\": \"#0000ff\"\n      }\n    },\n    {\n      \"scope\": \"keyword.operator\",\n      \"settings\": {\n        \"foreground\": \"#000000\"\n      }\n    },\n    {\n      \"scope\": [\n        \"keyword.operator.new\",\n        \"keyword.operator.expression\",\n        \"keyword.operator.cast\",\n        \"keyword.operator.sizeof\",\n        \"keyword.operator.alignof\",\n        \"keyword.operator.typeid\",\n        \"keyword.operator.alignas\",\n        \"keyword.operator.instanceof\",\n        \"keyword.operator.logical.python\",\n        \"keyword.operator.wordlike\"\n      ],\n      \"settings\": {\n        \"foreground\": \"#0000ff\"\n      }\n    },\n    {\n      \"scope\": \"keyword.other.unit\",\n      \"settings\": {\n        \"foreground\": \"#098658\"\n      }\n    },\n    {\n      \"scope\": [\n        \"punctuation.section.embedded.begin.php\",\n        \"punctuation.section.embedded.end.php\"\n      ],\n      \"settings\": {\n        \"foreground\": \"#800000\"\n      }\n    },\n    {\n      \"scope\": \"support.function.git-rebase\",\n      \"settings\": {\n        \"foreground\": \"#0451a5\"\n      }\n    },\n    {\n      \"scope\": \"constant.sha.git-rebase\",\n      \"settings\": {\n        \"foreground\": \"#098658\"\n      }\n    },\n    {\n      \"name\": \"coloring of the Java import and package identifiers\",\n      \"scope\": [\n        \"storage.modifier.import.java\",\n        \"variable.language.wildcard.java\",\n        \"storage.modifier.package.java\"\n      ],\n      \"settings\": {\n        \"foreground\": \"#000000\"\n      }\n    },\n    {\n      \"name\": \"this.self\",\n      \"scope\": \"variable.language\",\n      \"settings\": {\n        \"foreground\": \"#0000ff\"\n      }\n    }\n  ],\n  \"semanticHighlighting\": true,\n  \"semanticTokenColors\": {\n    \"newOperator\": \"#0000ff\",\n    \"stringLiteral\": \"#a31515\",\n    \"customLiteral\": \"#000000\",\n    \"numberLiteral\": \"#098658\"\n  }\n}\n"
  },
  {
    "path": "themes/sas-dark-color-theme.json",
    "content": "{\n  \"name\": \"SAS Dark\",\n  \"include\": \"./dark_plus.json\",\n  \"semanticHighlighting\": true,\n  \"semanticTokenColors\": {\n    \"sep\": { \"foreground\": \"#dddfe4\" },\n    \"keyword\": { \"foreground\": \"#4398f9\" },\n    \"sec-keyword\": { \"foreground\": \"#92c3fc\", \"bold\": true },\n    \"proc-name\": { \"foreground\": \"#92c3fc\", \"bold\": true },\n    \"comment\": { \"foreground\": \"#97c03f\" },\n    \"macro-keyword\": { \"foreground\": \"#4398f9\" },\n    \"macro-comment\": { \"foreground\": \"#97c03f\" },\n    \"macro-ref\": { \"foreground\": \"#dddfe4\", \"bold\": true },\n    \"macro-sec-keyword\": { \"foreground\": \"#dddfe4\", \"bold\": true },\n    \"macro-keyword-param\": { \"foreground\": \"#97c6fc\" },\n    \"cards-data\": { \"foreground\": \"#faaa6b\" },\n    \"string\": { \"foreground\": \"#f17e70\" },\n    \"date\": { \"foreground\": \"#54b6a4\", \"bold\": true },\n    \"time\": { \"foreground\": \"#54b6a4\", \"bold\": true },\n    \"dt\": { \"foreground\": \"#54b6a4\", \"bold\": true },\n    \"bitmask\": { \"foreground\": \"#54b6a4\", \"bold\": true },\n    \"namelit\": { \"foreground\": \"#f17e70\", \"bold\": true },\n    \"hex\": { \"foreground\": \"#54b6a4\", \"bold\": true },\n    \"numeric\": { \"foreground\": \"#54b6a4\", \"bold\": true },\n    \"format\": { \"foreground\": \"#54b6a4\" },\n    \"error\": { \"foreground\": \"#ff4d4d\" },\n    \"warning\": { \"foreground\": \"#ffb829\" },\n    \"note\": { \"foreground\": \"#2fa8fe\" }\n  },\n  \"colors\": {\n    \"editor.background\": \"#021727\",\n    \"editor.foreground\": \"#dddfe4\",\n    \"input.background\": \"#021727\",\n    \"editorHoverWidget.background\": \"#03233a\",\n    \"editorSuggestWidget.background\": \"#03233a\",\n    \"editorGroupHeader.tabsBackground\": \"#03233a\",\n    \"tab.inactiveBackground\": \"#03233a\",\n    \"sideBar.background\": \"#03233a\",\n    \"menu.background\": \"#03233a\",\n    \"menu.selectionBackground\": \"#9fb6c633\",\n    \"list.hoverBackground\": \"#9fb6c633\",\n    \"list.inactiveSelectionBackground\": \"#042c49\",\n    \"activityBar.background\": \"#042c49\",\n    \"titleBar.activeBackground\": \"#042c49\",\n    \"quickInput.background\": \"#03233a\"\n  }\n}\n"
  },
  {
    "path": "themes/sas-highcontrast-color-theme.json",
    "content": "{\n  \"name\": \"SAS High Contrast\",\n  \"include\": \"./hc_black.json\",\n  \"semanticHighlighting\": true,\n  \"semanticTokenColors\": {\n    \"sep\": { \"foreground\": \"#fff\" },\n    \"keyword\": { \"foreground\": \"#c68aff\" },\n    \"sec-keyword\": { \"foreground\": \"#61a8fa\", \"bold\": true },\n    \"proc-name\": { \"foreground\": \"#61a8fa\", \"bold\": true },\n    \"comment\": { \"foreground\": \"#87b532\" },\n    \"macro-keyword\": { \"foreground\": \"#c68aff\" },\n    \"macro-comment\": { \"foreground\": \"#87b532\" },\n    \"macro-ref\": { \"foreground\": \"#fff\", \"bold\": true },\n    \"macro-sec-keyword\": { \"foreground\": \"#fff\", \"bold\": true },\n    \"macro-keyword-param\": { \"foreground\": \"#74b3fb\" },\n    \"cards-data\": { \"foreground\": \"#f98e39\" },\n    \"string\": { \"foreground\": \"#ff7973\" },\n    \"date\": { \"foreground\": \"#1fbba9\", \"bold\": true },\n    \"time\": { \"foreground\": \"#1fbba9\", \"bold\": true },\n    \"dt\": { \"foreground\": \"#1fbba9\", \"bold\": true },\n    \"bitmask\": { \"foreground\": \"#1fbba9\", \"bold\": true },\n    \"namelit\": { \"foreground\": \"#ff7973\", \"bold\": true },\n    \"hex\": { \"foreground\": \"#1fbba9\", \"bold\": true },\n    \"numeric\": { \"foreground\": \"#1fbba9\", \"bold\": true },\n    \"format\": { \"foreground\": \"#1fbba9\" },\n    \"error\": { \"foreground\": \"#f5a3a3\" },\n    \"warning\": { \"foreground\": \"#f2d08c\" },\n    \"note\": { \"foreground\": \"#8cc8f2\" }\n  }\n}\n"
  },
  {
    "path": "themes/sas-light-color-theme.json",
    "content": "{\n  \"name\": \"SAS Light\",\n  \"include\": \"./light_plus.json\",\n  \"semanticHighlighting\": true,\n  \"semanticTokenColors\": {\n    \"sep\": { \"foreground\": \"#1b1d22\" },\n    \"keyword\": { \"foreground\": \"#3578c5\" },\n    \"sec-keyword\": { \"foreground\": \"#224c7c\", \"bold\": true },\n    \"proc-name\": { \"foreground\": \"#224c7c\", \"bold\": true },\n    \"comment\": { \"foreground\": \"#647f29\" },\n    \"macro-keyword\": { \"foreground\": \"#3578c5\" },\n    \"macro-comment\": { \"foreground\": \"#647f29\" },\n    \"macro-ref\": { \"foreground\": \"#1b1d22\", \"bold\": true },\n    \"macro-sec-keyword\": { \"foreground\": \"#1b1d22\", \"bold\": true },\n    \"macro-keyword-param\": { \"foreground\": \"#054894\" },\n    \"cards-data\": { \"foreground\": \"#ad6531\" },\n    \"string\": { \"foreground\": \"#8f4238\" },\n    \"date\": { \"foreground\": \"#3c8275\", \"bold\": true },\n    \"time\": { \"foreground\": \"#3c8275\", \"bold\": true },\n    \"dt\": { \"foreground\": \"#3c8275\", \"bold\": true },\n    \"bitmask\": { \"foreground\": \"#3c8275\", \"bold\": true },\n    \"namelit\": { \"foreground\": \"#8f4238\", \"bold\": true },\n    \"hex\": { \"foreground\": \"#3c8275\", \"bold\": true },\n    \"numeric\": { \"foreground\": \"#3c8275\", \"bold\": true },\n    \"format\": { \"foreground\": \"#3c8275\" },\n    \"error\": { \"foreground\": \"#ff0000\" },\n    \"warning\": { \"foreground\": \"#8f5f00\" },\n    \"note\": { \"foreground\": \"#0000ff\" }\n  }\n}\n"
  },
  {
    "path": "tools/build.mjs",
    "content": "import concurrently from \"concurrently\";\nimport esbuild from \"esbuild\";\nimport fs from \"fs\";\n\nconst dev = process.argv[2];\n\nconst plugins = [\n  {\n    name: \"watch-plugin\",\n    setup(build) {\n      build.onEnd((result) => {\n        // for VS Code task tracking\n        console.log(\"start\");\n        console.log(\"end\");\n      });\n    },\n  },\n];\n\nconst commonBuildOptions = {\n  bundle: true,\n  outdir: \".\",\n  external: [\"vscode\"],\n  loader: {\n    \".properties\": \"text\",\n    \".node\": \"copy\",\n    \".svg\": \"dataurl\",\n  },\n  sourcemap: !!dev,\n  minify: !dev,\n  plugins: dev ? plugins : [],\n  define: {\n    \"process.env.NODE_ENV\": dev ? `\"development\"` : `\"production\"`,\n  },\n};\n\nconst nodeBuildOptions = {\n  ...commonBuildOptions,\n  entryPoints: {\n    \"./client/dist/node/extension\": \"./client/src/node/extension.ts\",\n    \"./server/dist/node/server\": \"./server/src/node/server.ts\",\n  },\n  platform: \"node\",\n};\n\nconst browserBuildOptions = {\n  ...commonBuildOptions,\n  format: \"esm\",\n  entryPoints: {\n    \"./client/dist/webview/DataViewer\": \"./client/src/webview/DataViewer.tsx\",\n    \"./client/dist/webview/TablePropertiesViewer\":\n      \"./client/src/webview/TablePropertiesViewer.ts\",\n    \"./client/dist/notebook/LogRenderer\":\n      \"./client/src/components/notebook/renderers/LogRenderer.ts\",\n    \"./client/dist/notebook/HTMLRenderer\":\n      \"./client/src/components/notebook/renderers/HTMLRenderer.ts\",\n  },\n};\n\n// Process KaTeX CSS - embed fonts as base64 data URIs for self-contained HTML\nconst copyKatexCss = () => {\n  let katexCss = fs.readFileSync(\n    \"./client/node_modules/katex/dist/katex.min.css\",\n    \"utf8\",\n  );\n\n  const katexFontsDir = \"./client/node_modules/katex/dist/fonts\";\n\n  // Find all font file references in the CSS\n  const fontRegex = /url\\(fonts\\/([\\w-]+\\.(woff2|woff|ttf))\\)/g;\n  let match;\n  const fontReplacements = new Map();\n\n  while ((match = fontRegex.exec(katexCss)) !== null) {\n    const fontFile = match[1];\n    if (!fontReplacements.has(fontFile)) {\n      const fontPath = `${katexFontsDir}/${fontFile}`;\n      if (fs.existsSync(fontPath)) {\n        const fontData = fs.readFileSync(fontPath);\n        const base64 = fontData.toString(\"base64\");\n        const mimeType = fontFile.endsWith(\".woff2\")\n          ? \"font/woff2\"\n          : fontFile.endsWith(\".woff\")\n            ? \"font/woff\"\n            : \"font/ttf\";\n        fontReplacements.set(fontFile, `data:${mimeType};base64,${base64}`);\n      }\n    }\n  }\n\n  // Replace all font URLs with data URIs\n  fontReplacements.forEach((dataUri, fontFile) => {\n    katexCss = katexCss.replace(\n      new RegExp(`fonts/${fontFile.replace(/\\./g, \"\\\\.\")}`, \"g\"),\n      dataUri,\n    );\n  });\n\n  fs.writeFileSync(\n    \"./client/dist/notebook/exporters/templates/katex.css\",\n    katexCss,\n  );\n};\n\nconst copyFiles = (filter = null) => {\n  const foldersToCopy = [\n    {\n      src: \"./server/node_modules/jsonc-parser/lib/umd/impl\",\n      dest: \"./server/dist/node/impl\",\n    },\n    {\n      src: \"./server/node_modules/pyright-internal-node/dist/packages/pyright-internal/typeshed-fallback\",\n      dest: \"./server/dist/node/typeshed-fallback\",\n    },\n    {\n      src: \"./server/src/python/sas\",\n      dest: \"./server/dist/node/typeshed-fallback/stubs/sas\",\n    },\n    {\n      src: \"./client/src/components/notebook/exporters/templates\",\n      dest: \"./client/dist/notebook/exporters/templates\",\n    },\n    {\n      src: \"./client/src/connection/itc/script\",\n      dest: \"./client/dist/node\",\n    },\n  ];\n  const filteredFoldersToCopy =\n    filter === null\n      ? foldersToCopy\n      : foldersToCopy.filter((folder) => folder.src === filter);\n\n  if (filter) {\n    console.log(`Copying files matching \"${filter}\"`);\n  } else {\n    console.log(\"Copying files\");\n  }\n\n  filteredFoldersToCopy.map((item) =>\n    fs.cpSync(item.src, item.dest, { recursive: true, force: true }),\n  );\n\n  copyKatexCss();\n  console.log(\"Files copied\");\n};\n\nconst staticFilesToWatch = [\"./client/src/connection/itc/script\"];\n\nif (process.env.npm_config_static) {\n  copyFiles();\n  if (dev) {\n    staticFilesToWatch.forEach((pathToWatch) =>\n      fs.watch(pathToWatch, () => copyFiles(pathToWatch)),\n    );\n  }\n} else if (process.env.npm_config_webviews || process.env.npm_config_client) {\n  const ctx = await esbuild.context(\n    process.env.npm_config_webviews ? browserBuildOptions : nodeBuildOptions,\n  );\n  await ctx.rebuild();\n\n  if (dev) {\n    await ctx.watch();\n  } else {\n    await ctx.dispose();\n  }\n} else {\n  const { result } = concurrently([\n    {\n      command: `npm run ${process.env.npm_lifecycle_event} --webviews`,\n      name: \"browser\",\n      prefixColor: \"magenta\",\n    },\n    {\n      command: `npm run ${process.env.npm_lifecycle_event} --client`,\n      name: \"node\",\n      prefixColor: \"cyan\",\n    },\n    {\n      command: `npm run ${process.env.npm_lifecycle_event} --static`,\n      name: \"static\",\n      prefixColor: \"green\",\n    },\n  ]);\n  await result.then(\n    () => {},\n    () => console.error(\"Concurrently failed to run\"),\n  );\n}\n"
  },
  {
    "path": "tools/check-copyright.mjs",
    "content": "import { readFileSync, writeFileSync } from \"fs\";\nimport { glob } from \"glob\";\n\n// These files will not be checked for copyright information\nconst filesToIgnore = [\n  \"**/dist/**\",\n  \"**/node_modules/**\",\n  \"**/out/**\",\n  \"**/test/**\",\n  \"*.config.*js\",\n  \"*.test.tsx?\",\n  \"tools/**\",\n  \"website/**\",\n];\n\nconst COPYRIGHT_REGEX = /^\\/\\/ Copyright © ([0-9-\\s]+), SAS Institute/;\nconst COPYRIGHT_TEMPLATE = `// Copyright © ${new Date().getFullYear()}, SAS Institute Inc., Cary, NC, USA.  All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n\n`;\n\nconst processChanges = (filesToCheck, fix = false) => {\n  let invalidFiles = [];\n  filesToCheck.map((file) => {\n    const fileContents = readFileSync(file);\n    if (!COPYRIGHT_REGEX.test(fileContents.toString())) {\n      invalidFiles.push(file);\n      if (fix) {\n        writeFileSync(file, `${COPYRIGHT_TEMPLATE}${fileContents}`);\n      }\n    }\n  });\n\n  if (invalidFiles.length > 0) {\n    console.log(\n      fix\n        ? \"The following files have been updated with copyright information\"\n        : \"The following files are missing copyright information\",\n    );\n    console.log(invalidFiles.map((file) => `- ${file}`).join(\"\\n\"));\n    process.exit(1);\n  }\n};\n\nawait processChanges(\n  glob.sync(\"**/*.{mjs,js,ts,tsx,jsx}\", {\n    ignore: filesToIgnore,\n  }),\n  process.env.npm_config_fix || false,\n);\n"
  },
  {
    "path": "tools/locale.mjs",
    "content": "import { readFileSync, writeFileSync } from \"fs\";\nimport { glob } from \"glob\";\nimport csv from \"papaparse\";\nimport { dirname, isAbsolute, join } from \"path\";\nimport { fileURLToPath } from \"url\";\n\nconst __dirname = dirname(fileURLToPath(import.meta.url));\nconst packagePath = join(__dirname, \"..\");\nconst l10nPath = join(__dirname, \"..\", \"l10n\");\nconst csvPath = join(__dirname, \"..\");\nconst defaultPackageNlsPath = join(packagePath, \"package.nls.json\");\n\nconst newLocale = process.env.npm_config_new;\nconst localeToUpdate = process.env.npm_config_update_locale;\nconst updateAllLocales = process.env.npm_config_update_locales;\nconst generateCSV = process.env.npm_config_generate_csv;\nconst importCSV = process.env.npm_config_import_csv;\n\nconst SOURCE_L10N = \"l10n\";\nconst SOURCE_NLS = \"nls\";\n\nconst sortKeys = (content) => {\n  const contentJSON =\n    typeof content === \"string\" ? JSON.parse(content) : content;\n  const orderedResults = Object.keys(contentJSON)\n    .sort()\n    .reduce(function (result, key) {\n      result[key] = contentJSON[key];\n      return result;\n    }, {});\n\n  return JSON.stringify(orderedResults, null, \"  \");\n};\n\nconst packageNls = readFileSync(defaultPackageNlsPath).toString();\nconst l10nBundle = readFileSync(join(l10nPath, \"bundle.l10n.json\")).toString();\n\nconst getMissingTranslations = (\n  newTranslationMap,\n  currentTranslationMap,\n  source,\n) =>\n  Object.entries(newTranslationMap)\n    .map(([key, value]) => {\n      if (currentTranslationMap[key]) {\n        return null;\n      }\n\n      return {\n        Term: key,\n        \"English text\": value,\n        Translation: \"<add translation here>\",\n        Source: source,\n      };\n    })\n    .filter((missingTranslation) => !!missingTranslation);\n\nconst csvTranslationMap = (source) => {\n  if (!importCSV) {\n    return {};\n  }\n\n  const csvData = readFileSync(\n    // User can choose to read from an absolute path, or a relative path\n    isAbsolute(importCSV) ? importCSV : join(csvPath, importCSV),\n  ).toString();\n  const { data } = csv.parse(csvData);\n  const headers = data.shift();\n  const items = data\n    .map((itemArray) =>\n      itemArray.reduce(\n        (carry, value, idx) => ({\n          ...carry,\n          [headers[idx]]: value,\n        }),\n        {},\n      ),\n    )\n    .filter((item) => item.Source === source);\n\n  const translationMap = items.reduce(\n    (carry, value) => ({\n      ...carry,\n      [value.Term]: value.Translation,\n    }),\n    {},\n  );\n\n  return translationMap;\n};\n\nconst omitMissingTerms = (newMap, translationSourceMap) =>\n  Object.keys(newMap).reduce((carry, translationKey) => {\n    if (translationSourceMap[translationKey]) {\n      return { ...carry, [translationKey]: newMap[translationKey] };\n    }\n    return carry;\n  }, {});\n\nconst cleanupUnusedPackageKeys = (packageNlsJson) => {\n  const allFiles = glob.sync(`${packagePath}/**/*.{ts,json,tsx}`, {\n    ignore: [\n      \"**/node_modules/**\",\n      \"**/package.nls.*\",\n      \"**/out/**\",\n      \"**/dist/**\",\n      \"**/l10n/**\",\n      \"**/*.test.{ts,tsx}\",\n      \"**/package-lock.json\",\n    ],\n  });\n  const allFileContents = allFiles.map((filePath) =>\n    readFileSync(filePath).toString(),\n  );\n\n  return Object.keys(packageNlsJson).reduce((carry, term) => {\n    if (allFileContents.find((file) => file.includes(term))) {\n      return { ...carry, [term]: packageNlsJson[term] };\n    }\n\n    return carry;\n  }, {});\n};\n\nconst updateLocale = (locale) => {\n  const packageNlsPath = join(packagePath, `package.nls.${locale}.json`);\n  const l10BundlePath = join(l10nPath, `bundle.l10n.${locale}.json`);\n\n  const newPackageNlsMap = cleanupUnusedPackageKeys(JSON.parse(packageNls));\n  const currentPackageNlsMap = JSON.parse(readFileSync(packageNlsPath));\n  const currentPackageNlsJSON = omitMissingTerms(\n    {\n      ...newPackageNlsMap,\n      ...currentPackageNlsMap,\n      ...csvTranslationMap(SOURCE_NLS),\n    },\n    newPackageNlsMap,\n  );\n\n  const newL10NBundleMap = JSON.parse(l10nBundle);\n  const currentL10NBundleMap = JSON.parse(readFileSync(l10BundlePath));\n  const currentL10nBundleJSON = omitMissingTerms(\n    {\n      ...newL10NBundleMap,\n      ...currentL10NBundleMap,\n      ...csvTranslationMap(SOURCE_L10N),\n    },\n    newL10NBundleMap,\n  );\n\n  writeFileSync(packageNlsPath, sortKeys(currentPackageNlsJSON) + \"\\n\");\n  writeFileSync(l10BundlePath, sortKeys(currentL10nBundleJSON) + \"\\n\");\n  writeFileSync(defaultPackageNlsPath, sortKeys(newPackageNlsMap) + \"\\n\");\n\n  if (generateCSV) {\n    const csvEntries = getMissingTranslations(\n      newPackageNlsMap,\n      currentPackageNlsMap,\n      SOURCE_NLS,\n    ).concat(\n      getMissingTranslations(\n        newL10NBundleMap,\n        currentL10NBundleMap,\n        SOURCE_L10N,\n      ),\n    );\n\n    if (csvEntries.length > 0) {\n      writeFileSync(\n        // User can choose to write to an absolute path, or use a relative path\n        isAbsolute(generateCSV) ? generateCSV : join(csvPath, generateCSV),\n        csv.unparse(csvEntries),\n      );\n    }\n  }\n};\n\nif (newLocale) {\n  writeFileSync(\n    join(packagePath, `package.nls.${newLocale}.json`),\n    sortKeys(packageNls) + \"\\n\",\n  );\n\n  writeFileSync(\n    join(l10nPath, `bundle.l10n.${newLocale}.json`),\n    sortKeys(l10nBundle) + \"\\n\",\n  );\n}\n\nif (localeToUpdate) {\n  updateLocale(localeToUpdate);\n}\n\nif (updateAllLocales) {\n  const packageNlsFiles = glob.sync(join(packagePath, \"package.nls.*.json\"));\n\n  const locales = packageNlsFiles.map(\n    (filePath) => filePath.match(/package\\.nls\\.(.*)\\.json/)[1],\n  );\n\n  locales.forEach((locale) => updateLocale(locale));\n}\n"
  },
  {
    "path": "tools/preparePubsdata.js",
    "content": "/* eslint-disable @typescript-eslint/no-var-requires */\nconst fs = require(\"fs\");\nconst path = require(\"path\");\n\nconst dirs = [\n  \"../server/pubsdata/Procedures/en\",\n  \"../server/pubsdata/Statements/en\",\n  \"../server/pubsdata/Functions/en\",\n];\n\nfunction convert(str) {\n  if (str.indexOf(\"\\n\") !== -1) {\n    // multi-lines, no style can be applied\n    return str\n      .replace(/<i>|<\\/i>/g, \"\")\n      .replace(/&lt;/g, \"<\")\n      .replace(/&gt;/g, \">\");\n  }\n  return str.replace(/<i>\\s*|\\s*<\\/i>/g, \"*\");\n}\n\nfunction gothrough(syntax) {\n  for (const data of syntax) {\n    if (data.arguments) gothrough(data.arguments);\n    if (data.syntax && data.syntax.arguments) gothrough(data.syntax.arguments);\n    if (data.help) data.help = convert(data.help);\n    if (data.syntax && data.syntax.help)\n      data.syntax.help = convert(data.syntax.help);\n  }\n}\n\nfor (const dir of dirs) {\n  fs.readdir(dir, (err, files) => {\n    for (const file of files) {\n      fs.readFile(path.join(dir, file), (err, data) => {\n        const syntax = JSON.parse(data);\n        gothrough(syntax.statements ? syntax.statements : syntax);\n        fs.writeFileSync(path.join(dir, file), JSON.stringify(syntax));\n      });\n    }\n  });\n}\n"
  },
  {
    "path": "tsconfig.json",
    "content": "{\n  \"compilerOptions\": {\n    \"module\": \"commonjs\",\n    \"target\": \"es2019\",\n    \"lib\": [\"ES2019\"],\n    \"outDir\": \"out\",\n    \"rootDir\": \"src\",\n    \"sourceMap\": true,\n    \"jsx\": \"react\"\n  },\n  \"include\": [\"src\"],\n  \"exclude\": [\"node_modules\", \".vscode-test\"],\n  \"references\": [{ \"path\": \"./client\" }, { \"path\": \"./server\" }]\n}\n"
  },
  {
    "path": "webpack.config.js",
    "content": "/* eslint-disable no-undef */\n/* eslint-disable @typescript-eslint/no-var-requires */\n\n//@ts-check\n\"use strict\";\n\n//@ts-check\n/** @typedef {import('webpack').Configuration} WebpackConfig **/\n\nconst path = require(\"path\");\nconst { ProvidePlugin, DefinePlugin } = require(\"webpack\");\n\n/** @type WebpackConfig */\nconst browserClientConfig = {\n  context: path.join(__dirname, \"client\"),\n  mode: \"none\",\n  target: \"webworker\", // web extensions run in a webworker context\n  entry: {\n    extension: \"./src/browser/extension.ts\",\n  },\n  output: {\n    filename: \"[name].js\",\n    path: path.join(__dirname, \"client\", \"dist\", \"browser\"),\n    libraryTarget: \"commonjs\",\n  },\n  resolve: {\n    mainFields: [\"browser\", \"module\", \"main\"],\n    extensions: [\".ts\", \".js\"], // support ts-files and js-files\n    alias: {},\n    fallback: {\n      path: require.resolve(\"path-browserify\"),\n    },\n  },\n  module: {\n    rules: [\n      {\n        test: /\\.ts$/,\n        exclude: /node_modules/,\n        use: [\n          {\n            loader: \"ts-loader\",\n          },\n        ],\n      },\n    ],\n  },\n  externals: {\n    vscode: \"commonjs vscode\", // ignored because it doesn't exist\n  },\n  performance: {\n    hints: false,\n  },\n  devtool: \"source-map\",\n};\n\n/** @type WebpackConfig */\nconst browserServerConfig = {\n  context: path.join(__dirname, \"server\"),\n  mode: \"none\",\n  target: \"webworker\", // web extensions run in a webworker context\n  entry: {\n    server: \"./src/browser/server.ts\",\n  },\n  output: {\n    filename: \"[name].js\",\n    path: path.join(__dirname, \"server\", \"dist\", \"browser\"),\n    libraryTarget: \"var\",\n    library: \"serverExportVar\",\n  },\n  resolve: {\n    mainFields: [\"browser\", \"module\", \"main\"],\n    extensions: [\".ts\", \".js\"], // support ts-files and js-files\n    alias: {\n      \"../node\": path.resolve(__dirname, \"server/src/browser\"),\n      \"./common/realFileSystem\": path.resolve(\n        __dirname,\n        \"server/src/python/browser/fakeFileSystem\",\n      ),\n    },\n    fallback: {\n      path: require.resolve(\"path-browserify\"),\n      os: false,\n      crypto: false,\n      // buffer: require.resolve(\"buffer/\"),\n      stream: false,\n      child_process: false,\n      fs: false,\n      assert: false,\n      util: false,\n    },\n  },\n  module: {\n    rules: [\n      {\n        test: /\\.ts$/,\n        exclude: /node_modules/,\n        use: [\n          {\n            loader: \"ts-loader\",\n          },\n        ],\n      },\n      {\n        test: /python[\\\\|/]browser[\\\\|/]typeShed\\.ts$/,\n        use: [\n          {\n            loader: path.resolve(\n              __dirname,\n              \"server/src/python/browser/typeshed-loader\",\n            ),\n          },\n        ],\n      },\n      {\n        test: /\\.properties$/,\n        exclude: /node_modules/,\n        type: \"asset/source\",\n      },\n    ],\n  },\n  externals: {\n    vscode: \"commonjs vscode\", // ignored because it doesn't exist\n    fsevents: \"commonjs2 fsevents\",\n  },\n  performance: {\n    hints: false,\n  },\n  devtool: \"source-map\",\n  plugins: [\n    new DefinePlugin({\n      process: \"{ env: {}, execArgv: [], cwd: () => '/' }\",\n    }),\n    new ProvidePlugin({\n      Buffer: [\"buffer\", \"Buffer\"],\n    }),\n  ],\n};\n\nmodule.exports = [browserClientConfig, browserServerConfig];\n"
  },
  {
    "path": "website/.gitignore",
    "content": "# Dependencies\n/node_modules\n\n# Production\n/build\n\n# Generated files\n.docusaurus\n.cache-loader\n\n# Misc\n.DS_Store\n.env.local\n.env.development.local\n.env.test.local\n.env.production.local\n\nnpm-debug.log*\nyarn-debug.log*\nyarn-error.log*\n"
  },
  {
    "path": "website/README.md",
    "content": "# Website\n\nThis website is built using [Docusaurus](https://docusaurus.io/), a modern static website generator.\n\n### Installation\n\n```\n$ yarn\n```\n\n### Local Development\n\n```\n$ yarn start\n```\n\nThis command starts a local development server and opens up a browser window. Most changes are reflected live without having to restart the server.\n\n### Build\n\n```\n$ yarn build\n```\n\nThis command generates static content into the `build` directory and can be served using any static contents hosting service.\n\n### Deployment\n\nUsing SSH:\n\n```\n$ USE_SSH=true yarn deploy\n```\n\nNot using SSH:\n\n```\n$ GIT_USER=<Your GitHub username> yarn deploy\n```\n\nIf you are using GitHub pages for hosting, this command is a convenient way to build the website and push to the `gh-pages` branch.\n"
  },
  {
    "path": "website/babel.config.js",
    "content": "module.exports = {\n  presets: [require.resolve(\"@docusaurus/core/lib/babel/preset\")],\n};\n"
  },
  {
    "path": "website/docs/Configurations/Profiles/_category_.json",
    "content": "{\n  \"collapsed\": false\n}\n"
  },
  {
    "path": "website/docs/Configurations/Profiles/additional.md",
    "content": "# Additional Profile Settings\n\n## SAS Options Settings Examples\n\nSAS system options can be set for each connection profile. Changes to the SAS system options do not take effect until you close and restart your SAS session. See the following examples of the required formats for the supported connection profile types.\n\n- SAS Viya:\n\n  ```json\n  {\n    \"profiles\": {\n      \"viya4\": {\n        \"endpoint\": \"https://example-endpoint.com\",\n        \"connectionType\": \"rest\",\n        \"sasOptions\": [\"NONEWS\", \"ECHOAUTO\", \"PAGESIZE=MAX\"]\n      }\n    }\n  }\n  ```\n\n- SAS 9.4 (remote - IOM):\n\n  ```json\n  {\n    \"profiles\": {\n      \"sas9IOM\": {\n        \"host\": \"host\",\n        \"username\": \"username\",\n        \"port\": 8591,\n        \"sasOptions\": [\"NONEWS\", \"ECHOAUTO\", \"PAGESIZE=MAX\"],\n        \"ConnectionType\": \"iom\"\n      }\n    }\n  }\n  ```\n\n- SAS 9.4 (local):\n\n  ```json\n  {\n    \"profiles\": {\n      \"sas9COM\": {\n        \"host\": \"localhost\",\n        \"sasOptions\": [\"NONEWS\", \"ECHOAUTO\", \"PAGESIZE=MAX\"],\n        \"ConnectionType\": \"com\"\n      }\n    }\n  }\n  ```\n\n- SAS 9 (remote - SSH):\n\n  ```json\n  {\n    \"profiles\": {\n      \"SAS9SSH\": {\n        \"host\": \"hostname\",\n        \"username\": \"username\",\n        \"port\": 22,\n        \"sasPath\": \"/remote/path/to/sas_u8\",\n        \"sasOptions\": [\"-NONEWS\", \"-ECHOAUTO\", \"-PAGESIZE MAX\"],\n        \"connectionType\": \"ssh\"\n      }\n    }\n  }\n  ```\n\n## SAS Autoexec Settings\n\nFor SAS Viya connection profiles, you can set up autoexec code that executes each time you start a new session. Changes to the autoexec code do not take effect until you close and restart your SAS session. The Autoexec option supports different modes for how to define the SAS lines that should run:\n\n- Line Mode: embed lines directly into the connection profile JSON. This mode is useful if only a few lines are needed to run on session startup. Note that standard JSON escaping rules apply.\n\n  ```json\n  \"SAS.connectionProfiles\": {\n    \"activeProfile\": \"viyaServer\",\n    \"profiles\": {\n      \"viya4\": {\n        \"endpoint\": \"https://example-endpoint.com\",\n        \"connectionType\": \"rest\",\n        \"autoExec\": [\n          {\n            \"type\": \"line\",\n            \"line\": \"ods graphics / imagemap;\"\n          }\n        ]\n      }\n    }\n  }\n  ```\n\n- File Mode: specify a path to a file containing autoexec lines to execute. The file must be in a location that is readable by the extension. This mode is useful for complex autoexec scenarios:\n\n  ```json\n  \"SAS.connectionProfiles\": {\n    \"activeProfile\": \"viyaServer\",\n    \"profiles\": {\n      \"viya4\": {\n        \"endpoint\": \"https://example-endpoint.com\",\n        \"connectionType\": \"rest\",\n        \"autoExec\": [\n          {\n            \"type\": \"file\",\n            \"filePath\": \"/my/local/autoexec.sas\"\n          }\n        ]\n      }\n    }\n  }\n  ```\n\n- Mixed Mode: The autoexec option supports an array of entries, so it is possible to use a combination of both embedded lines and files. The lines will be read in sequential order as they occur in the array itself.\n\n  ```json\n  \"SAS.connectionProfiles\": {\n    \"activeProfile\": \"viyaServer\",\n    \"profiles\": {\n      \"viya4\": {\n        \"endpoint\": \"https://example-endpoint.com\",\n        \"connectionType\": \"rest\",\n        \"autoExec\": [\n          {\n            \"type\": \"line\",\n            \"line\": \"ods graphics / imagemap;\"\n          },\n          {\n            \"type\": \"file\",\n            \"filePath\": \"/my/local/autoexec.sas\"\n          }\n        ]\n      }\n    }\n  }\n  ```\n\n## SAS Interop Library Settings\n\nSAS Interop library settings can be configured for ITC-based connections (\"remote - IOM\" and \"local\" connection types). ITC-based connections have a dependency on `SASInterop.dll` and `SASOManInterop.dll`. The extension tries to load these libraries from the following locations (ordered by priority):\n\n1. The path specified in `interopLibraryFolderPath`. This should be an absolute path to the folder containing the files listed above.\n2. If `interopLibraryFolderPath` is empty or invalid, the extension will attempt to resolve the path from Windows registry\n3. If steps 1 and 2 fail, the extension will attempt to load libraries from the default Integration Technologies Client folder (`C:\\Program Files\\SASHome\\x86\\Integration Technologies`)\n\nThe following demonstrates how to setup `interopLibraryFolderPath` in user settings:\n\n- SAS 9.4 (remote - IOM):\n\n  ```json\n  {\n    \"profiles\": {\n      \"sas9IOM\": {\n        \"host\": \"host\",\n        \"username\": \"username\",\n        \"port\": 8591,\n        \"ConnectionType\": \"iom\",\n        \"interopLibraryFolderPath\": \"C:\\\\Program Files\\\\SASHome\\\\x86\\\\Integration Technologies\"\n      }\n    }\n  }\n  ```\n\n- SAS 9.4 (local):\n\n  ```json\n  {\n    \"profiles\": {\n      \"sas9COM\": {\n        \"host\": \"localhost\",\n        \"ConnectionType\": \"com\",\n        \"interopLibraryFolderPath\": \"C:\\\\Program Files\\\\SASHome\\\\x86\\\\Integration Technologies\"\n      }\n    }\n  }\n  ```\n\n## SAS Server File Navigation Root Settings\n\nSAS Server File Navigation Root Settings can be configured for ITC-based connections (\"remote - IOM\" and \"local\" connection types) and Viya connections. Two settings are available:\n\n- `fileNavigationRoot`: This can be set to USER (default), SYSTEM, or CUSTOM. When using a \"CUSTOM\" root, you'll need to specify `fileNavigationCustomRootPath`\n- `fileNavigationCustomRootPath`: The absolute path to the folder to use as your root directory.\n\nThese user-defined settings can be overwritten in Viya environments by a SAS administrator. If the options above are specified in the context definition for the SAS Compute Server, they will be prioritized over user settings. The following screenshot provides an example context definition setup:\n![context definition setup for file navigation root settings](/images/context-definition.png)\n\nThe following demonstrates how to setup `fileNavigationCustomRootPath`/`fileNavigationRoot` in user settings:\n\n- SAS Viya:\n\n  ```json\n  {\n    \"profiles\": {\n      \"viya4\": {\n        \"endpoint\": \"https://example-endpoint.com\",\n        \"connectionType\": \"rest\",\n        \"sasOptions\": [\"NONEWS\", \"ECHOAUTO\", \"PAGESIZE=MAX\"],\n        \"fileNavigationCustomRootPath\": \"/custom/file/path\",\n        \"fileNavigationRoot\": \"CUSTOM\"\n      }\n    }\n  }\n  ```\n\n- SAS 9.4 (remote - IOM):\n\n  ```json\n  {\n    \"profiles\": {\n      \"sas9IOM\": {\n        \"host\": \"host\",\n        \"username\": \"username\",\n        \"port\": 8591,\n        \"ConnectionType\": \"iom\",\n        \"fileNavigationRoot\": \"SYSTEM\"\n      }\n    }\n  }\n  ```\n\n- SAS 9.4 (local):\n\n  ```json\n  {\n    \"profiles\": {\n      \"sas9COM\": {\n        \"host\": \"localhost\",\n        \"ConnectionType\": \"com\",\n        \"fileNavigationCustomRootPath\": \"C:\\\\Users\\\\User\\\\Documents\",\n        \"fileNavigationRoot\": \"CUSTOM\"\n      }\n    }\n  }\n  ```\n"
  },
  {
    "path": "website/docs/Configurations/Profiles/index.md",
    "content": "# Profile Definitions and Connection Types\n\nProfiles provide an easy way to switch between multiple SAS deployments. For SAS Viya connections, multiple Viya profiles are used to switch between compute contexts. There is no limit to the number of stored profiles you can create.\n\nYou configure the profiles in VS Code and they are stored in the VS Code `settings.json` file. You can update the profile settings, if needed.\n\nThe following commands are supported for profiles:\n\n| Command             | Title                                  |\n| ------------------- | -------------------------------------- |\n| `SAS.addProfile`    | SAS: Add New Connection Profile        |\n| `SAS.switchProfile` | SAS: Switch Current Connection profile |\n| `SAS.updateProfile` | SAS: Update Connection profile         |\n| `SAS.deleteProfile` | SAS: Delete Connection profile         |\n\n## Add New Connection Profile\n\n1. Open the command palette (`F1`, or `Ctrl+Shift+P` on Windows or Linux, or `Shift+CMD+P` on OSX) and execute the `SAS.addProfile` command.\n\n2. Select a connection type and complete the prompts to create a new profile.\n\n## Delete Connection Profile\n\nAfter executing the `SAS.deleteProfile` command:\n\n1. Select a profile to delete from the list of profiles\n\n2. A notification message is displayed when the profile is successfully deleted.\n\n## Switch Current Connection Profile\n\nAfter executing the `SAS.switchProfile` command:\n\n1. Select a profile to set active from the list of profiles. If no profiles can be found, the extension prompts you to [create a new profile](#add-new-connection-profile)\n\n2. The StatusBar is updated to display the name of the selected profile\n\n## Update Connection Profile\n\nAfter executing the `SAS.updateProfile` command:\n\n1. Select a profile to update from the list of profiles.\n\n2. Complete the prompts to update the profile.\n\nTo update the name of a profile, you must delete and recreate the profile.\n"
  },
  {
    "path": "website/docs/Configurations/Profiles/sas9iom.md",
    "content": "---\nsidebar_position: 3\n---\n\n# SAS 9.4 (remote - IOM) Connection Profile\n\nTo use a SAS 9.4 (remote – IOM) connection type, you need to install both SAS Integration Technologies Client for Windows (ITCLIENT) and the SAS Providers for OLE DB on the client machine where VS Code is installed. The order of installation does not matter.\n\n:::note\n\nYou must install the SAS Providers for OLE DB if you are running the SAS Extension for Visual Studio Code v1.15 or later.\n\n:::\n\nSAS Integration Technologies Client and SAS Providers for OLE DB are automatically installed with some SAS software, such as SAS Enterprise Guide and SAS Add-in for Microsoft Office. You can check the SASHOME location on your client machine to see if SAS Integration Technologies Client and SAS Providers for OLE DB are installed in their default locations.\n\nIf the following folders exist on your machine, then the software is installed:\n\n- SAS Integration Technologies Client - `C:\\Program Files\\SASHome\\x86\\Integration Technologies`\n\n- SAS Providers for OLE DB - `C:\\Program Files\\SASHome\\x86\\SASProvidersforOLEDB`\n\nIf you do not already have SAS Integration Technologies Client and SAS Providers for OLE DB installed on the client machine, see [Installing SAS Integration Technologies Client and SAS Providers for OLE DB](#installing-sas-integration-technologies-client-and-sas-providers-for-ole-db).\n\n:::note\n\nIf you are using a SAS 9.4 (remote - IOM) connection profile, you can use SAS Grid Manager to balance your workload across multiple servers.\n\n:::\n\n## Profile Anatomy\n\nA SAS 9.4 (remote – IOM) connection profile includes the following parameters:\n\n`\"connectionType\": \"iom\"`\n\n| Name                       | Description              | Additional Notes                                                                                       |\n| -------------------------- | ------------------------ | ------------------------------------------------------------------------------------------------------ |\n| `host`                     | IOM Server Host          | Appears when hovering over the status bar.                                                             |\n| `username`                 | IOM Server Username      | The username to establish the IOM connection to the server.                                            |\n| `port`                     | IOM Server Port          | The port of the IOM server. Default value is 8591.                                                     |\n| `interopLibraryFolderPath` | IOM interop library path | A custom path to a folder containing SAS interop libraries (`SASInterop.dll` and `SASOManInterop.dll`) |\n\n## Installing SAS Integration Technologies Client and SAS Providers for OLE DB\n\nYou can install SAS Integration Technologies Client and SAS Providers for OLE DB by running your SAS 9.4 installer and making sure \"Integration Technologies Client\" and \"SAS Providers for OLE DB\" are checked.\n\nYou can also use the following link to download and install the SAS Providers for OLE DB on the client machine. By default, the SAS Providers for OLE DB installation includes the SAS Integration Technologies Client. See the note below for guidance on which version to download and install.\n\n[SAS Support Downloads: SAS Providers for OLE DB](https://support.sas.com/downloads/browse.htm?fil=&cat=64)\n\n**Note**: If you have no existing SAS software on the client machine, download and install the latest (currently 9.4M9) version of SAS Providers for OLE DB and SAS Integration Technologies Client by using the link above. If you have SAS software already installed on the client machine, you must download and install the matching version of SAS Providers for OLE DB and SAS Integration Technologies Client. For example, if you already have SAS 9.4M6 on the client machine (a 9.4M6 SASHOME directory), download and install the 9.4M6 versions of SAS Providers for OLE DB and SAS Integration Technologies Client.\n\nSAS Integration Technologies Client is backwards compatible, so any version of SAS Integration Technologies Client will allow you to connect to the same or earlier version SAS 9 server. For example, if you have SAS Integration Technologies Client 9.4M8, you will be able to connect to SAS 9.4M8, 9.4M7, 9.4M6, or earlier SAS 9.4 servers.\n"
  },
  {
    "path": "website/docs/Configurations/Profiles/sas9local.md",
    "content": "---\nsidebar_position: 2\n---\n\n# SAS 9.4 (local) Connection Profile\n\nTo use a SAS 9.4 (local) connection type, you need to install both SAS Integration Technologies Client for Windows (ITCLIENT) and the SAS Providers for OLE DB on the client machine where VS Code is installed. The order of installation does not matter.\n\n:::note\n\nYou must install the SAS Providers for OLE DB if you are running the SAS Extension for Visual Studio Code v1.15 or later.\n\n:::\n\nSAS Integration Technologies Client and SAS Providers for OLE DB are automatically installed with some SAS software, such as SAS Enterprise Guide and SAS Add-in for Microsoft Office. You can check the SASHOME location on your client machine to see if SAS Integration Technologies Client and SAS Providers for OLE DB are installed in their default locations.\n\nIf the following folders exist on your machine, then the software is installed:\n\n- SAS Integration Technologies Client - `C:\\Program Files\\SASHome\\x86\\Integration Technologies`\n\n- SAS Providers for OLE DB - `C:\\Program Files\\SASHome\\x86\\SASProvidersforOLEDB`\n\nIf you do not already have SAS Integration Technologies Client and SAS Providers for OLE DB installed on the client machine, see [Installing SAS Integration Technologies Client and SAS Providers for OLE DB](./sas9iom.md#installing-sas-integration-technologies-client-and-sas-providers-for-ole-db).\n\n## Profile Anatomy\n\nA local SAS 9.4 connection profile includes the following parameters:\n\n`\"connectionType\": \"com\"`\n\n| Name                       | Description                      | Additional Notes                                                                                       |\n| -------------------------- | -------------------------------- | ------------------------------------------------------------------------------------------------------ |\n| `host`                     | Indicates SAS 9.4 local instance | Defaults to \"localhost\" for com                                                                        |\n| `interopLibraryFolderPath` | COM interop library path         | A custom path to a folder containing SAS interop libraries (`SASInterop.dll` and `SASOManInterop.dll`) |\n"
  },
  {
    "path": "website/docs/Configurations/Profiles/sas9ssh.md",
    "content": "---\nsidebar_position: 4\n---\n\n# SAS 9.4 (remote - SSH) Connection Profile\n\nTo use a SAS 9.4 (remote - SSH) connection type, your SAS server must be running on Unix or Linux. The SSH connection method uses SSH to authenticate to a SAS server and runs SAS code using [Interactive Line Mode](https://go.documentation.sas.com/doc/en/pgmsascdc/9.4_3.5/hostunx/n16ui9f6dacn8pn1t0y2hgxgi7wa.htm). Several authentication methods are available to create a secure connection to the SAS 9.4 server.\n\n:::note\n\nYou can use the console log to help debug connection issues. For more information, see [How do I debug connection failures?](../../faq.md#how-do-i-debug-connection-failures)\n\n:::\n\n## Profile Anatomy\n\nA SAS 9.4 (remote – SSH) connection profile includes the following parameters:\n\n`\"connectionType\": \"ssh\"`\n\n| Name                 | Description                          | Additional Notes                                                              |\n| -------------------- | ------------------------------------ | ----------------------------------------------------------------------------- |\n| `host`               | SSH Server Host                      | Appears when hovering over the status bar.                                    |\n| `username`           | SSH Server Username                  | The username to establish the SSH connection to the server.                   |\n| `port`               | SSH Server Port                      | The SSH port of the SSH server. The default value is 22.                      |\n| `saspath`            | Path to SAS Executable on the server | Must be a fully qualified path on the SSH server to a SAS executable file.    |\n| `privateKeyFilePath` | SSH Private Key File (optional)      | Must be a fully qualified path on the same machine that VSCode is running on. |\n\n## Authenticating to a SAS Server\n\nThe extension will attempt to authenticate to the SAS Server over ssh using the auth methods specified in the SSH Server configuration defined on the SAS Server. The extension currently supports using the SSH auth methods listed below:\n\n- [Publickey](#publickey)\n- [Password](#password)\n- [Keyboard Interactive](#keyboard-interactive)\n\n### Publickey\n\n#### SSH Agent\n\nWhen using publickey SSH authentication, The extension can be configured to use keys defined in the SSH Agent. The socket defined in the environment variable `SSH_AUTH_SOCK` is used to communicate with ssh-agent to authenticate the SSH session. The private key must be registered with the ssh-agent when using this method. The steps for configuring SSH follow. Follow the steps below to complete the setup.\n\n##### Windows\n\n1. Enable OpenSSH for Windows using these [instructions](https://learn.microsoft.com/en-us/windows-server/administration/openssh/openssh_install_firstuse?tabs=gui).\n\n2. [Create an environment variable](https://phoenixnap.com/kb/windows-set-environment-variable) named SSH_AUTH_SOCK with value `//./pipe/openssh-ssh-agent`\n   (Windows uses a named pipe for the auth sock).\n\n   **Note**: An attempt to create the varible using Powershell command line did not register; suggest using these GUI instructions.\n\n3. Ensure that the ssh-agent service is running and set the Startup type to Automatic using [these instructions](https://dev.to/aka_anoop/how-to-enable-openssh-agent-to-access-your-github-repositories-on-windows-powershell-1ab8)\n\n4. [Generate ed25519 keys](https://medium.com/risan/upgrade-your-ssh-key-to-ed25519-c6e8d60d3c54) with the following command (email address is not binding; you can use any email address):\n\n```sh\nssh-keygen -o -a 100 -t ed25519 -f ~/.ssh/id_ed25519 -C \"youremail@company.com\"\n```\n\n5. You are prompted to enter additional information. If you did not enter a path, a default path is provided for you. You can also specify a passphrase. If you do not specify a passphrase, your key is not password-protected. Press Enter to accept the default value for each prompt.\n   - Enter a file in which to save the key (/c/Users/you/.ssh/id_ed25519):[Press enter]\n   - Enter passphrase (empty for no passphrase): [Type a passphrase]\n   - Enter same passphrase again: [Type passphrase again]\n\n6. Define an entry in ~/.ssh/config using the following format:\n\n```\nHost host.machine.name\n    AddKeysToAgent yes\n    IdentityFile /path/to/private/key/with/passphrase\n```\n\nNote: if ~/.ssh/config does not exist, run the following Powershell command to create it: `Out-File -FilePath config`\n\n7. Add the private key to ssh-agent: ssh-add /path/to/private/key/with/passphrase\n\n8. In VS Code, define a connection profile (see detailed instructions in the [Add New Connection Profile](./index.md#add-new-connection-profile) section). The connection for the remote server is stored in the settings.json file.\n\n```json\n\"ssh_test\": {\n    \"connectionType\": \"ssh\",\n    \"host\": \"host.machine.name\",\n    \"saspath\": \"/path/to/sas/executable\",\n    \"username\": \"username\",\n    \"port\": 22\n}\n```\n\nNote: the default path to the SAS executable (saspath) is /opt/sasinside/SASHome/SASFoundation/9.4/bin/sas_u8. Check with your SAS administrator for the exact path.\n\n9. Add the public part of the keypair to the SAS server. Add the contents of the key file to the ~/.ssh/authorized_keys file.\n\n##### Mac\n\n1. Start ssh-agent in the background:\n\n```sh\neval \"$(ssh-agent -s)\"\n```\n\n2. Ensure that SSH_AUTH_SOCK has a value\n\n```sh\necho $SSH_AUTH_SOCK\n```\n\n3. Define an entry in $HOME/.ssh/config of the form:\n\n```\nHost host.machine.name\n  AddKeysToAgent yes\n  UseKeychain yes\n  IdentityFile /path/to/private/key/with/passphrase\n```\n\n4. Add the private key to ssh-agent: ssh-add /path/to/private/key/with/passphrase\n\n5. Define a connection profile in settings.json for a remote server (see detailed instructions in the [Add New Connection Profile](./index.md#add-new-connection-profile) section):\n\n```json\n\"ssh_test\": {\n    \"connectionType\": \"ssh\",\n    \"host\": \"host.machine.name\",\n    \"saspath\": \"/path/to/sas/executable\",\n    \"username\": \"username\",\n    \"port\": 22\n}\n```\n\n6. Add the public part of the keypair to the SAS server. Add the contents of the key file to the ~/.ssh/authorized_keys file.\n\n#### Private Key File Path\n\nA private key can optionally be specified in the `privateKeyFilePath` field in the connection profile for SAS 9.4 (remote - SSH). This is useful for auth setups where the SSH Agent cannot be used. If a private key file contains a passphrase, the user will be prompted to enter it during each Session creation for which it is used.\n\n```json\n\"ssh_test\": {\n    \"connectionType\": \"ssh\",\n    \"host\": \"host.machine.name\",\n    \"saspath\": \"/path/to/sas/executable\",\n    \"username\": \"username\",\n    \"port\": 22,\n    \"privateKeyFilePath\": \"/path/to/privatekey/file\"\n}\n```\n\n### Password\n\nEnter the password using the secure input prompt during each Session creation. To authenticate without using a password, configure the extension using one of the Publickey setups.\n\n### Keyboard Interactive\n\nEnter the response to each question using the secure input prompts during each Session creation.\n"
  },
  {
    "path": "website/docs/Configurations/Profiles/viya.md",
    "content": "---\nsidebar_position: 1\n---\n\n# SAS Viya Connection Profile\n\n## Profile Anatomy\n\nA SAS Viya connection profile includes the following parameters:\n\n`\"connectionType\": \"rest\"`\n\n| Name           | Description                                                           | Additional Notes                                                                                                                                           |\n| -------------- | --------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| `endpoint`     | URL for the SAS Viya server. An example is `https://example.sas.com`. | Appears when hovering over the status bar.                                                                                                                 |\n| `context`      | Context for Compute Server                                            | Please see [SAS Documentation](https://go.documentation.sas.com/doc/en/sasadmincdc/default/evfun/p1dkdadd9rkbmdn1fpv562l2p5vy.htm) for more information.   |\n| `clientId`     | Registered Client ID for SAS Viya                                     | Please contact your SAS administrator. `authorization_code` and `refresh_token` grant types are required.<br /> _Leave blank for Viya4 2022.11 and later._ |\n| `clientSecret` | Registered Client Secret for SAS Viya                                 | Please contact your SAS administrator.<br /> _Leave blank for Viya4 2022.11 and later._                                                                    |\n\nDepending on your SAS Viya version, the values for the prompts differ slightly.\n\n- For SAS Viya 2022.11 and later, you can leave Client ID and Client Secret prompts empty and simply press Enter. (The built-in Client ID `vscode` will be used.)\n\n- For SAS Viya 2022.10 and before (including SAS Viya 3.5), you need to provide a Client ID and secret.\n\nFor more information about Client IDs and the authentication process, please see the blog post [Authentication to SAS Viya: a couple of approaches](https://blogs.sas.com/content/sgf/2021/09/24/authentication-to-sas-viya/). A SAS administrator can follow the Steps 1 and 2 in the post to register a new client.\n"
  },
  {
    "path": "website/docs/Configurations/_category_.json",
    "content": "{\n  \"collapsed\": false\n}\n"
  },
  {
    "path": "website/docs/Configurations/index.md",
    "content": "# Configuring the SAS Extension\n\nBefore running SAS code, you must configure the SAS extension to access a SAS 9.4 (remote or local) server or a SAS Viya server. You must license SAS 9.4 or SAS Viya to run SAS code.\n\nTo configure the SAS extension:\n\n1. Open a SAS program file.\n\n2. Click \"No Profile\" in the status bar on the bottom left of your VS Code window.\n\n   You can also open the command palette (`F1`, or `Ctrl+Shift+P` on Windows or Linux, or `Shift+CMD+P` on OSX) and locate `SAS: Add New Connection Profile` command.\n\n   ![No Active Profiles Found](/images/NoActiveProfilesStatusBar.png)\n\n3. Follow the instructions in the [Add New Connection Profile](./Profiles/index.md#add-new-connection-profile) section to add a profile.\n\n4. After you have created a profile, the Status Bar Item changes from \"No Profile\" to the name of the new profile.\n\n   ![Status Bar Profile](/images/StatusBarProfileItem.png)\n"
  },
  {
    "path": "website/docs/Configurations/sasLog.md",
    "content": "# SAS Log\n\nYou can customize when the SAS log is displayed in the bottom panel by using the following extension settings. These settings apply to all connection profiles:\n\n| Name                            | Description                        | Additional Notes |\n| ------------------------------- | ---------------------------------- | ---------------- |\n| `SAS.log.showOnExecutionStart`  | Show SAS log on start of execution | default: `true`  |\n| `SAS.log.showOnExecutionFinish` | Show SAS log on end of execution   | default: `true`  |\n\nTo access the SAS settings, select `File > Preferences > Settings`. Search for \"sas\" and then click SAS in the search results to view the SAS extension settings. You can edit the settings directly in the `settings.json` file by clicking `Edit in settings.json`.\n\nExample\n\n```json title=\"settings.json\"\n{\n  \"SAS.log.showOnExecutionFinish\": true,\n  \"SAS.log.showOnExecutionStart\": false,\n  \"SAS.connectionProfiles\": {\n    \"activeProfile\": \"viyaServer\",\n    \"profiles\": {\n      \"viya4\": {\n        \"endpoint\": \"https://example-endpoint.com\",\n        \"connectionType\": \"rest\",\n        \"sasOptions\": [\"NONEWS\", \"ECHOAUTO\"],\n        \"autoExec\": [\n          {\n            \"type\": \"line\",\n            \"line\": \"ods graphics / imagemap;\"\n          },\n          {\n            \"type\": \"file\",\n            \"filePath\": \"/my/local/autoexec.sas\"\n          }\n        ]\n      }\n    }\n  }\n}\n```\n\n:::tip\n\nTo view the SAS log as a text file, click the `...` icon on the top right of the OUTPUT panel, and select `Open Output in Editor`.\n\n:::\n"
  },
  {
    "path": "website/docs/Features/_category_.json",
    "content": "{\n  \"collapsed\": false\n}\n"
  },
  {
    "path": "website/docs/Features/accessContent.md",
    "content": "---\nsidebar_position: 1\n---\n\n# Accessing SAS Content\n\nAfter you configure the SAS extension for a SAS Viya environment, you can access SAS Content.\n\nTo access SAS Content:\n\n1. Click the SAS icon in the VS Code activity bar.\n2. Click `Sign In`.\n3. Your SAS Content should be displayed after you sign in. You can create, edit, delete, upload, download, and run files stored on a SAS server.\n\n:::info note\n\nSAS Content requires a profile with a connection to a SAS Viya server.\n\n:::\n\n![SAS Content](/images/sasContent.png)\n\n## Drag and Drop\n\n- You can drag and drop files and folders between the SAS Content pane and File Explorer.\n- You can drag and drop a file from SAS Content into your SAS code. SAS generates a `FILENAME` statement for you.\n"
  },
  {
    "path": "website/docs/Features/accessLibraries.md",
    "content": "---\nsidebar_position: 2\n---\n\n# Accessing Libraries and Tables\n\nAfter you configure the SAS extension for a SAS Viya, SAS 9.4 (local), or SAS 9.4 (remote-IOM) environment, you can access your connected libraries.\n\nYou can use the Libraries pane to delete a table, drag and drop tables into your SAS program code, view table data, or view table properties.\n\n## Viewing Table Data\n\nWhen viewing table data, you have the following options available for each column (accessible by hovering over a column and clicking the menu button):\n\n- Column pinning: Each column can be pinned to the left or the right of the data viewer to have an always on-screen view of important columns.\n- Sort: Each column can be sorted ascending or descending. To add multiple columns to a sort, click the menu for each column and select the sort type. Sort priority will be displayed next to each column's direction icon.\n- Properties: Clicking properties will reveal the properties for the specific column chosen.\n- Filtering results: Results can be filtered by specifying where conditions in the filter bar and pressing enter. To reset the filter, click the clear (X) button.\n\n![Table Viewing](/images/tableViewing.gif)\n\n## Table Properties\n\nTable Properties can be revealed using the \"Properties\" menu item in the libraries pane or by clicking \"Properties\" from a table's column menu.\n\n![Table Properties](/images/tableProperties.png)\n"
  },
  {
    "path": "website/docs/Features/accessServer.md",
    "content": "---\nsidebar_position: 3\n---\n\n# Accessing SAS Server\n\nAfter you configure the SAS extension for a SAS Viya environment, you can access SAS Server.\n\nTo access SAS Server:\n\n1. Click the SAS icon in the VS Code activity bar.\n2. Click `Sign In`.\n3. Your SAS Server files should be displayed after you sign in. You can create, edit, delete, upload, download, and run files stored on a SAS server.\n\n:::info note\n\nSAS Server requires a profile with one of the following connection types: SAS Viya, SAS 9.4 (remote - IOM), SAS 9.4 (local)\n\n:::\n\n## Drag and Drop\n\n- You can drag and drop files and folders between the SAS Server pane and File Explorer.\n"
  },
  {
    "path": "website/docs/Features/errorsWarnings.md",
    "content": "---\nsidebar_position: 6\n---\n\n# Fixing Errors and Warnings\n\nThe Problems panel contains error and warning messages that are generated by the SAS log when you run a program. Errors and warnings in the Problems panel are not cleared until you rerun the code. The Quick Fix option enables you to remove items from the Problems panel without rerunning the code.\n\nTo use the Quick Fix options:\n\n1. Open the Quick Fix menu in one of these ways:\n   - Click a message in the Problems panel and then click the corresponding `Show Code Actions` icon in the code editor.\n\n   - Click the `Show fixes` button for the appropriate message in the Problems panel.\n\n![Quick Fix](/images/quickFix.png)\n\n2. Select one of the following options:\n   - `Ignore: current position` - clears the currently selected problem from the Problems panel and the code editor.\n\n   - `Ignore: warnings` - clears all warnings from the Problems panel and the code editor.\n\n   - `Ignore: error` - clears all errors from the Problems panel and the code editor.\n\n   - `Ignore: all` - clears all problems from the Problems panel and the code editor.\n\n:::tip\n\nYou can use the Problems panel as a to-do list when you are debugging your code. When you correct an error in your code, open the Quick Fix options for that error and select `Ignore: current position` to remove the error message from the list.\n\n:::\n"
  },
  {
    "path": "website/docs/Features/index.md",
    "content": "# Features\n\nThe SAS extension includes many features to help you access your data, write and run code, and create SAS notebooks.\n\n- You can use the SAS extension to access your libraries and tables. If you are connected to a SAS Viya server, you can also access SAS Content.\n- You can edit code using many of the same features that are available in the SAS code editor.\n- You can run SAS code and create a custom task to run a specific SAS file.\n- You can create an interactive SAS notebook.\n"
  },
  {
    "path": "website/docs/Features/running.md",
    "content": "---\nsidebar_position: 4\n---\n\n# Running SAS Code\n\nAfter you configure the SAS extension for your SAS environment, you can run your SAS program and view the log and results. The steps to connect to SAS and run your program are different for SAS Viya and SAS 9.\n\n## SAS Viya\n\nTo run a SAS program with a SAS Viya connection:\n\n1. Click the ![running person](../../../icons/light/submitSASCode.svg#gh-light-mode-only)![running person](../../../icons/dark/submitSASCode.svg#gh-dark-mode-only) icon in the upper right corner of your SAS program window.\n2. For a secure connection to SAS Viya, you must connect with an authorization code:\n\n   2.1. If VS Code prompts you to sign in using SAS, click 'Allow'.\n\n   2.2. If VS Code prompts you to open an external website, click 'Open'. A new browser window opens so that you can log on to SAS.\n\n   2.3. Log on with your SAS credentials.\n\n   2.4. SAS returns an authorization code. Copy this code.\n\n   2.5. Paste the authorization code in the authorization box at the top of the VS Code application.\n\n3. VS Code connects to SAS and runs the code.\n\n4. The results are displayed in the application.\n\n5. The SAS output log and error information are displayed in the application.\n\n![runCode2](/images/runCode2.png)\n\n:::info\n\nYour sign in status will persist in VS Code. You can view it and sign out from VS Code's `Accounts` menu.\n\n:::\n\n## SAS 9.4\n\n1. Click the ![running person](../../../icons/light/submitSASCode.svg#gh-light-mode-only)![running person](../../../icons/dark/submitSASCode.svg#gh-dark-mode-only) icon in the upper right corner of your SAS program window.\n\n2. VS Code connects to SAS and runs the code.\n\n3. The results, log, and error status are displayed in the application.\n\n## Additional notes\n\nTo run a selection of SAS code:\n\n- The `Run Selected or All SAS Code` command (`F3`) will automatically run selected code when you have selected lines of code in a program. If you have not selected any lines of code, SAS runs the entire program.\n- If you have selected multiple sections of code, the `Run Selected or All SAS Code` command combines the code from the selections in the order in which they were selected, and then submits the combined code.\n- The `Run All SAS Code` command (`F8`) always runs the entire program.\n\n**Notes**:\n\n- A new session must be created the first time you run SAS code. Connection time will vary depending on the server connection.\n- Currently, only HTML output is supported. By default, the ODS HTML5 statement is added to the submitted code. Clear the `Enable/disable ODS HTML5 output` option in the Settings editor for the SAS extension to disable this output.\n- When you click `Run`, the code in the active tab in the editor is submitted. Make sure that the correct tab is active when you run your program.\n- To reset your connection to SAS, run the `Close Current Session` command in VS Code or click the `Close Session` button from the tooltip of the active profile status bar item.\n"
  },
  {
    "path": "website/docs/Features/runningTask.md",
    "content": "---\nsidebar_position: 5\n---\n\n# Running SAS Code by Task\n\n## Run selected code or all code in active editor\n\n1. Open the command palette (`F1`, or `Ctrl+Shift+P` on Windows or Linux, or `Shift+CMD+P` on OSX) and execute the `Tasks: Run Task` command.\n2. Select the **sas** task category and then select the **sas: Run sas file** task.\n3. This task automatically runs selected code or all code in active editor (depending on whether you have selected any code).\n\n## Custom task to run specified SAS file in workspace\n\n1. Open the command palette (`F1`, or `Ctrl+Shift+P` on Windows or Linux, or `Shift+CMD+P` on OSX) and execute the `Tasks: Configure Task` command.\n2. Select **sas: Run sas file** task.\n3. The `tasks.json` file opens with an initial task definition:\n\n```json\n{\n  \"version\": \"2.0.0\",\n  \"tasks\": [\n    {\n      \"type\": \"sas\",\n      \"task\": \"Run sas file\",\n      \"problemMatcher\": [],\n      \"label\": \"sas: Run sas file\"\n    }\n  ]\n}\n```\n\n3. Add the **file** field and assign a SAS file name to it.\n4. Update the **label** field. Here is an example of the final task definition:\n\n```json\n{\n  \"version\": \"2.0.0\",\n  \"tasks\": [\n    {\n      \"type\": \"sas\",\n      \"task\": \"Run sas file\",\n      \"file\": \"my.sas\",\n      \"problemMatcher\": [],\n      \"label\": \"run my.sas code\"\n    }\n  ]\n}\n```\n\n5. Save `tasks.json`.\n6. This custom task can be run by **Run Tasks...** in the global **Terminal** menu\n\n**Note**:\n\n- If you do not specify a file property or you assign an empty string to the file property in your task definition, the custom task will use the default properties of a built-in task.\n\n## Custom task to run sas code with preamble and postamble added\n\n1. Open the command palette (`F1`, or `Ctrl+Shift+P` on Windows or Linux, or `Shift+CMD+P` on OSX) and execute the `Tasks: Configure Task` command.\n2. Select **sas: Run sas file** task.\n3. Add **preamble** and/or **postamble** properties and enter the SAS code.\n4. if a file is specified, the **preamble** and **postamble** will be added in the code from this file when this task is executed.\n5. If **file** is absent, then **preamble** and **postamble** will be added in the selected code (if you have selected code) or all code in active editor when this task is executed.\n\n```json\n{\n  \"version\": \"2.0.0\",\n  \"tasks\": [\n    {\n      \"type\": \"sas\",\n      \"task\": \"Run sas file\",\n      \"file\": \"code.sas\",\n      \"preamble\": \"some code*\",\n      \"postamble\": \"some code*\",\n      \"problemMatcher\": [],\n      \"label\": \"Run additional code\"\n    }\n  ]\n}\n```\n\n## Assigning keyboard shortcuts to tasks\n\nIf you need to run a task frequently, you can define a keyboard shortcut for the task.\n\nFor example, to assign `Ctrl+H` to the **run additional code** task from above, add the following to your keybindings.json file:\n\n```json\n{\n  \"key\": \"ctrl+h\",\n  \"command\": \"workbench.action.tasks.runTask\",\n  \"args\": \"Run additional code\"\n}\n```\n"
  },
  {
    "path": "website/docs/Features/sasCodeEditing.md",
    "content": "---\nsidebar_position: 7\n---\n\n# SAS Code Editing Features\n\n## SAS Syntax Highlighting\n\nThe SAS extension highlights these syntax elements in your program, just as they would appear in a SAS editor:\n\n- Global statements\n- SAS procedures\n- SAS procedure statements\n- Data step definition\n- Data step statements\n- SAS data sets\n- Macro definition\n- Macro statements\n- Functions\n- CALL routines\n- Formats and informats\n- Macro variables\n- SAS colors\n- Style elements and style attributes\n- Comment\n- Various constants\n- Options, enumerated option values, sub-options and sub-option values for various procedure definitions and statements\n\n## Color Themes\n\nYou can choose among three SAS-related color themes that control the color of the application and syntax elements. The SAS Light, SAS Dark and SAS High Contrast options mirror the themes available in SAS Studio.\n\nTo specify the color theme:\n\n- Select `File > Preferences > Color Theme` and select the theme, by name. The image below demonstrates the process changing from SAS Light to SAS Dark.\n\n![vsCodeChangeTheme2](/images/vsCodeChangeTheme2.gif)\n\n## Code Completion\n\nThe SAS extension includes automatic code completion and pop-up syntax help for SAS keywords. The autocomplete, or code completion, feature in the code editor can predict the next word that you want to enter in your SAS program. See code completion in action below.\n\n![vsCodeTypeAhead](/images/vsCodeTypeAhead.gif)\n\nTo use the autocomplete feature:\n\n- Start typing a valid SAS keyboard. Scroll through the pop-up list of suggested keywords by using your mouse or the up and down arrow keys.\n\n## Pop-up Syntax Help\n\nThe syntax help gets you started with a hint about the syntax or a brief description of the keyword. You can get additional help by clicking the links in the syntax help window.\n\nTo view the syntax help:\n\n- Move the mouse pointer over a valid SAS keyword in the code.\n\nIn the following example, the help panel displays syntax help for the DATA= option in the PROC PRINT statement.\n\n![vsCodeSyntaxAssist2](/images/vsCodeSyntaxAssist2.gif)\n\n:::tip\n\nClick the links in the syntax help window to navigate to the SAS online help.\n\n:::\n\n## Snippets\n\nSnippets are lines of commonly used code or text that you can insert into your program. The SAS extension includes snippets for SAS functions and procedures to facilitate writing your SAS programs.\n\nTo access the list of snippets for a function or procedure:\n\n- Type the name of a function or procedure in your SAS program. This example shows a snippet for the PROC DS2.\n\n![vsCodeSnippets](/images/vsCodeSnippets.gif)\n\n## Code Folding and Code Outline\n\nRegions of code are identified in your SAS program as blocks of code that can be collapsed and expanded. You can also view an outline of your program that identifies DATA steps, procedures, macro sections, and user-defined regions of code.\n\n![vsCodeFoldAndOutline](/images/vsCodeFoldAndOutline.gif)\n\n:::tip\n\nYou can define a custom region by adding `/*region*/` and `/*endregion*/` tags to the start and end of the block of code.\n\n:::\n\n![vsCodeRegionFunction](/images/vsCodeRegionFunction.gif)\n\n## Code Formatting\n\nTo format your code, open context menu and select `Format Document`.\n\n![formatter](/images/formatter.gif)\n\n:::tip\n\nYou can define custom regions as below to exclude code from being formatted.\n\n```sas\nproc format library=library;\n/* region format-ignore */\n  invalue evaluation 'O'=4\n                     'S'=3\n                     'E'=2\n                     'C'=1\n                     'N'=0;\n/* endregion */\nrun;\n```\n\n:::\n\n## Function Signature Help\n\nSignature help provides information for current parameter as you are writing function calls.\n\n![signatureHelp](/images/signatureHelp.gif)\n"
  },
  {
    "path": "website/docs/Features/sasNotebook.md",
    "content": "---\nsidebar_position: 8\n---\n\n# SAS Notebook\n\nSAS Notebook is an interactive notebook file that includes markdown code, executable code snippets, and corresponding rich output cells.\n\n- To create a SAS notebook, select `File > New File > SAS Notebook`.\n- To change a code language, click the `Select Cell Language Mode` button in the lower right corner of a code cell.\n- To toggle log or ODS output display, click the **More Actions** (`...`) button in the upper left corner of the output and select `Change Presentation`.\n- You can use the `File` menu to save your SAS Notebook to a `.sasnb` file, share the notebook with others, and open the notebook in another VS Code window.\n\n![SAS Notebook](/images/sasNotebook.png)\n\n:::note\n\nStarting with Visual Studio Code version 1.93, [the language for SQL files has been renamed](https://code.visualstudio.com/updates/v1_93#_renamed-sql-to-ms-sql) from 'SQL' to 'MS SQL'. As a result, the SQL cell in SAS Notebook is now labeled 'MS SQL'. The SAS Extension for Visual Studio Code does not control the label of the SQL cell in SAS Notebook. The functionality of the SQL cell has not changed, however. Valid PROC SQL code continues to work in the MS SQL cell.\n\n:::\n\n## Export\n\nTo export your SAS Notebook to other formats, click the **More Actions** (`...`) button on the notebook toolbar at top, and select `Export`. The following formats are supported.\n\n### SAS\n\nPYTHON, R, and SQL code cells will be wrapped with PROC PYTHON/R/SQL respectively to be executed on SAS. Markdown cells will be converted to block comments.\n\n### HTML\n\nThe exported HTML will be in Light or Dark theme depending on your VS Code theme kind.\n\nBy default it doesn't include SAS log into the exported HTML file. To include log, check the `SAS.notebook.export.includeLog` setting.\n"
  },
  {
    "path": "website/docs/README.md",
    "content": "---\nsidebar_position: 1\n---\n\n# SAS Extension for Visual Studio Code\n\nWelcome to the SAS Extension for Visual Studio Code! The SAS extension is lightweight, runs anywhere, and allows you to integrate SAS with other languages.\n\nThe SAS extension includes the following features:\n\n- SAS syntax highlighting and help, code completion, and code snippets\n\n- Profile configuration for connecting to SAS and running code\n\n- Support for SAS Viya and SAS 9 connections\n\n- Access to SAS Content and libraries\n\n- Ability to create notebooks for SAS, SQL, Python, R, and other languages\n"
  },
  {
    "path": "website/docs/faq.md",
    "content": "# Frequently Asked Questions\n\n## Usage questions\n\n### Why don't I see correct syntax colors in my SAS code?\n\nSelect `File > Preferences > Color Theme` and select a SAS color theme.\n\n### Why don't I see error or note colors in my SAS log​?\n\nSelect `File > Preferences > Color Theme` and select a SAS color theme.\n\n### Can I change the default shortcuts to run SAS code?\n\nTo manage shortcuts in VS Code, select `File > Preferences > Keyboard Shortcuts`. Enter \"run sas\" in the search box to view the commands that are associated with running SAS code. Hover the mouse pointer over the column to the left of the command to add or edit a shortcut for the command.\n\n### Can I reduce the number of autocomplete suggestions I'm getting?\n\nTo turn off autocomplete suggestions when you enter a trigger character, such as Space, select `File > Preferences > Settings` and enter \"trigger\" in the search box. Clear the `Suggest On Trigger Characters` checkbox. When this option is disabled, you can still display a code suggestion by entering matched text or by pressing Ctrl+Space.\n\nTo change how suggestions are accepted, search for the `Accept Suggestion on Enter` option. To accept changes only when you press Tab, select `off` from the drop-down list.\n\n**Note**: You can specify that any setting changes you make affect only SAS files. For more information, see https://code.visualstudio.com/docs/getstarted/settings#_language-specific-editor-settings\n\n### Can I still get word-based suggestions after enabling the SAS extension?\n\nVS Code provides a default word-based autocompletion for any programming language when there is no language extension installed. When a language extension is installed, however, the default autocomplete feature is no longer available. For more information, see https://github.com/microsoft/vscode/issues/21611\n\n### Why does it take so long to run SAS code the first time?\n\nA new session must be created the first time you run SAS code. Connection time varies depending on the server connection. Subsequent runs within the session should be quicker.\n\n## Connection issues\n\n### How do I get my client ID and secret?\n\nSAS administrators can refer to this [documentation](https://documentation.sas.com/?cdcId=sasadmincdc&cdcVersion=v_052&docsetId=calauthmdl&docsetTarget=n1iyx40th7exrqn1ej8t12gfhm88.htm#n0ce1kz53qzmukn165fzrqdsws3e) for how to generate client IDs.\n\nThe client ID needs the `authorization_code` grant type. If you want it to automatically refresh the access token, it also needs the `refresh_token` grant type.\n\n### What do the `unable to verify the first certificate` or `self-signed certificate in certificate chain` errors mean when run my code?\n\nYou need to manually trust your server's certificate using the steps below:\n\n1. Get your server's certificate file\n\n   1.1. Access your SAS Viya endpoint with Google Chrome or Microsoft Edge\n\n   1.2. Click the \"lock\" icon on the left of the URL on the address bar. The site information panel opens.\n\n   1.3. Click \"Connection is secure\", then click \"Certificate is valid\". The Certificate Viewer opens.\n\n   1.4. Click the \"Details\" tab, then click \"Export\". Select \"Base64-encoded ASCII, certificate chain\" and save it to a file.\n\n2. For Mac OS, you can install the certificate file into your Keychain Access and trust the certificate. If you are using another operating system or you don't want to add the certificate to your system, open VS Code Settings > `SAS: User Provided Certificates`. Enter the full path of the certificate file.\n\n3. Restart VS Code.\n\nIf the steps above do not work, you can bypass the certificate check:\n\n1. Set the environment variable [NODE_TLS_REJECT_UNAUTHORIZED](https://nodejs.org/api/cli.html#node_tls_reject_unauthorizedvalue) to 0 to bypass the certificate check.\n\n2. Shut down all VS Code instances and then restart the application with the updated environment variable. If you are connecting to a remote workspace, set the environment variable on the remote system and terminate all VS Code server processes (for example, run `ps -aux | grep vscode-server` on the remote Linux machine to see the processes).\n\n### When I connect to my SAS Viya connection profile, why doesn't VS Code prompt me to open a browser window and sign in using SAS?\n\nConfirm that you have specified the protocol correctly. For example, if your SAS Viya server is on https, make sure you included `https://` in your `endpoint` setting.\n\n### Why did I get the `Unable to parse decrypted password` error​?\n\n- For Microsoft Windows, open the Control Panel and navigate to `All Control Panel Items\\Credential Manager`, click `Windows Credentials`, Select items that start with `vscodesas` and click `Remove`. Restart VS Code.\n\n- For Mac OS, open `Keychain Access`, select `login` keychain and then select `Passwords`. Right-click any items that start with `vscodesas` and select `Delete`. Restart VS Code.\n\n### Why did I get the `Setup error: Retrieving the COM class factory`... error when connecting to SAS 9.4 (remote-IOM)?\n\nConfirm if SAS Integration Technologies Client is successfully installed. Refer to the [documentation](./Configurations/Profiles/sas9iom.md) for details.\n\n### I got the `See console log for more details` error. How do I find the console log?​\n\nClick `Help > Toggle Developer Tools` from the top menu bar.\n\n### How do I debug connection failures?\n\nThe console log includes detailed errors and warnings that you can use to help debug problems with your connection. To open the console log, click `Help > Toggle Developer Tools` from the top menu bar.\n\nIf you need more help, you can enter a GitHub issue by clicking https://github.com/sassoftware/vscode-sas-extension/issues/new/choose and filling out the form. Be sure to include the errors and warnings from the console log.\n\n### Why am I getting blank errors?\n\nRestart your VS Code session.\n\n## Problems Panel questions\n\n### Can I change the sort order of the messages in the Problems panel?\n\nNo, you cannot change the order in which the messages are displayed in the Problems panel. The items are sorted first by severity and then by order of their appearance in the log.\n\n### What does the Show Infos option in the Filters menu do?\n\nThe Show Infos option is not implemented in the SAS extension.\n\n### How do I access the toolbar options on the Problems panel when I am displaying a second panel side-by-side?\n\nIf the options on the Problems panel toolbar are not visible, you can display the options by clicking the Problems panel to make it the active panel or by hovering your mouse pointer over the Problems panel toolbar.\n\n### Can I control whether errors and warnings from my SAS log are displayed in the Problems panel?\n\nYes. The `SAS.problems.log` setting controls whether problems from the SAS log are displayed in the Problems panel. This option is enabled by default. To access this option, select `File > Preferences > Settings`, and search for \"sas problems\".\n"
  },
  {
    "path": "website/docs/installation.md",
    "content": "---\nsidebar_position: 3\n---\n\n# Installation\n\nInstall the latest version of Visual Studio Code (version 1.89 or later).\n\nTo install the SAS extension:\n\n1. Open the Extensions view by clicking the Extensions icon in the Activity Bar on the left side of the Visual Studio Code window.\n\n2. Search for the 'Official' SAS extension, and click the Install button. Once the installation is complete, the Install button changes to the Manage button.\n"
  },
  {
    "path": "website/docs/matrix.md",
    "content": "---\nsidebar_position: 2\n---\n\n# Capabilities by Connection Type\n\n| SAS Extension for Visual Studio Code - Capabilities by Connection Type                        |      SAS Viya      | SAS 9.4 (local) <br/> SAS 9.4 (remote - IOM) | SAS 9.4 (remote - SSH) | Notes                                                                                                                 |\n| --------------------------------------------------------------------------------------------- | :----------------: | :------------------------------------------: | :--------------------: | --------------------------------------------------------------------------------------------------------------------- |\n| [SAS Options settings](./Configurations/Profiles/additional.md#sas-options-settings-examples) | :heavy_check_mark: |             :heavy_check_mark:\\*             |   :heavy_check_mark:   | \\*Options that can only be specified _at_ SAS session startup are not supported for SAS 9.4 (local) and (remote-IOM). |\n| [SAS Autoexec settings](./Configurations/Profiles/additional.md#sas-autoexec-settings)        | :heavy_check_mark: |                     :x:                      |          :x:           |\n| [Access SAS Content](./Features/accessContent.md)                                             | :heavy_check_mark: |                     :x:                      |          :x:           |\n| [Access SAS Server](./Features/accessServer.md)                                               | :heavy_check_mark: |              :heavy_check_mark:              |          :x:           | SSH support to be added in a future release                                                                           |\n| [Access connected libraries](./Features/accessLibraries.md)                                   | :heavy_check_mark: |              :heavy_check_mark:              |          :x:           |\n| [Table viewer](./Features/accessLibraries.md)                                                 | :heavy_check_mark: |              :heavy_check_mark:              |          :x:           |\n| [SAS Notebooks](./Features/sasNotebook.md)                                                    | :heavy_check_mark: |              :heavy_check_mark:              |   :heavy_check_mark:   |\n| Convert SAS Notebook to SAS Studio Flow                                                       | :heavy_check_mark: |                     :x:                      |          :x:           |\n| [SAS syntax highlighting in SAS code](./Features/sasCodeEditing.md#sas-syntax-highlighting)   | :heavy_check_mark: |              :heavy_check_mark:              |   :heavy_check_mark:   |\n| SAS errors, warnings, and notes highlighting in SAS log                                       | :heavy_check_mark: |              :heavy_check_mark:              |          :x:           | A SAS color theme is required.                                                                                        |\n| Show problems from SAS log                                                                    | :heavy_check_mark: |              :heavy_check_mark:              |          :x:           |\n| [Code folding and code outline](./Features/sasCodeEditing.md#code-folding-and-code-outline)   | :heavy_check_mark: |              :heavy_check_mark:              |   :heavy_check_mark:   |\n| [Code completion](./Features/sasCodeEditing.md#code-completion)                               | :heavy_check_mark: |              :heavy_check_mark:              |   :heavy_check_mark:   |\n| [Pop-up syntax help](./Features/sasCodeEditing.md#pop-up-syntax-help)                         | :heavy_check_mark: |              :heavy_check_mark:              |   :heavy_check_mark:   |\n| [Snippets](./Features/sasCodeEditing.md#snippets)                                             | :heavy_check_mark: |              :heavy_check_mark:              |   :heavy_check_mark:   |\n| Able to cancel a running program                                                              | :heavy_check_mark: |              :heavy_check_mark:              |          :x:           |\n\n# Choose Connection Type\n\n```mermaid\nflowchart LR;\nQ1{SAS version?}\nQ1 -->|Viya| Viya[SAS Viya]\nQ1 -->|SAS 9.4| Q2{Extension on Windows?}\nQ2 -->|Yes| Q3{Connecting to Local?}\nQ2 -->|No| SSH[\"SAS 9.4 (remote - SSH)\"]\nQ3 -->|Yes| Local[\"SAS 9.4 (local)\"]\nQ3 -->|No| IOM[\"SAS 9.4 (remote - IOM)\"]\n```\n\n:::info\n\nWhen doing [VS Code Remote Development](https://code.visualstudio.com/docs/remote/remote-overview), the SAS extension is running on the Remote OS.\n\n:::\n"
  },
  {
    "path": "website/docusaurus.config.ts",
    "content": "import type * as Preset from \"@docusaurus/preset-classic\";\nimport type { Config } from \"@docusaurus/types\";\n\nimport { themes as prismThemes } from \"prism-react-renderer\";\n\nconst config: Config = {\n  title: \"SAS Extension for Visual Studio Code Documentation\",\n  favicon: \"images/sas.png\",\n\n  // Set the production url of your site here\n  url: \"https://sassoftware.github.io\",\n  // Set the /<baseUrl>/ pathname under which your site is served\n  // For GitHub pages deployment, it is often '/<projectName>/'\n  baseUrl: \"/vscode-sas-extension/\",\n\n  // GitHub pages deployment config.\n  // If you aren't using GitHub pages, you don't need these.\n  organizationName: \"sassoftware\", // Usually your GitHub org/user name.\n  projectName: \"vscode-sas-extension\", // Usually your repo name.\n\n  onBrokenLinks: \"throw\",\n  onBrokenMarkdownLinks: \"throw\",\n\n  // Even if you don't use internationalization, you can use this field to set\n  // useful metadata like html lang. For example, if your site is Chinese, you\n  // may want to replace \"en\" with \"zh-Hans\".\n  i18n: {\n    defaultLocale: \"en\",\n    locales: [\"en\"],\n  },\n\n  presets: [\n    [\n      \"classic\",\n      {\n        docs: {\n          routeBasePath: \"/\",\n          // Remove this to remove the \"edit this page\" links.\n          editUrl:\n            \"https://github.com/sassoftware/vscode-sas-extension/tree/main/website/\",\n        },\n        blog: false,\n        theme: {\n          customCss: [\"./src/css/custom.css\"],\n        },\n      } satisfies Preset.Options,\n    ],\n  ],\n\n  themeConfig: {\n    docs: {\n      sidebar: {\n        hideable: true,\n      },\n    },\n    navbar: {\n      title: \"SAS Extension for Visual Studio Code Documentation\",\n      logo: {\n        alt: \"SAS\",\n        src: \"images/sas.png\",\n      },\n      items: [\n        {\n          href: \"https://github.com/sassoftware/vscode-sas-extension\",\n          className: \"header-github-link\",\n          title: \"GitHub repository\",\n          position: \"right\",\n        },\n      ],\n    },\n    footer: {\n      style: \"dark\",\n      links: [\n        {\n          title: \"Support\",\n          items: [\n            {\n              label: \"SAS Communities\",\n              href: \"https://communities.sas.com/t5/SAS-Programming/bd-p/programming\",\n            },\n            {\n              label: \"SAS Programming Documentation\",\n              href: \"https://go.documentation.sas.com/doc/en/pgmsascdc/v_048/lepg/titlepage.htm\",\n            },\n            {\n              label: \"GitHub Repository\",\n              href: \"https://github.com/sassoftware/vscode-sas-extension\",\n            },\n          ],\n        },\n      ],\n      copyright: `Copyright © ${new Date().getFullYear()}, SAS Institute Inc., Cary, NC, USA. All Rights Reserved. Built with Docusaurus.`,\n    },\n    prism: {\n      theme: prismThemes.github,\n      darkTheme: prismThemes.dracula,\n      additionalLanguages: [\"bash\", \"json\", \"sas\"],\n    },\n  } satisfies Preset.ThemeConfig,\n\n  markdown: {\n    mermaid: true,\n  },\n\n  themes: [\n    [\n      \"@easyops-cn/docusaurus-search-local\",\n      {\n        docsRouteBasePath: \"/\",\n        explicitSearchResultPath: true,\n        hashed: true,\n        highlightSearchTermsOnTargetPage: true,\n      },\n    ],\n    \"@docusaurus/theme-mermaid\",\n  ],\n};\n\nexport default config;\n"
  },
  {
    "path": "website/package.json",
    "content": "{\n  \"name\": \"website\",\n  \"version\": \"0.0.0\",\n  \"private\": true,\n  \"scripts\": {\n    \"docusaurus\": \"docusaurus\",\n    \"start\": \"docusaurus start\",\n    \"build\": \"docusaurus build\",\n    \"swizzle\": \"docusaurus swizzle\",\n    \"deploy\": \"docusaurus deploy\",\n    \"clear\": \"docusaurus clear\",\n    \"serve\": \"docusaurus serve\",\n    \"write-translations\": \"docusaurus write-translations\",\n    \"write-heading-ids\": \"docusaurus write-heading-ids\",\n    \"typecheck\": \"tsc\"\n  },\n  \"dependencies\": {\n    \"@docusaurus/preset-classic\": \"3.10.1\",\n    \"@docusaurus/theme-mermaid\": \"3.10.1\",\n    \"@easyops-cn/docusaurus-search-local\": \"0.55.1\",\n    \"prism-react-renderer\": \"^2.4.1\",\n    \"react\": \"^19.2.5\",\n    \"react-dom\": \"^19.2.5\"\n  },\n  \"devDependencies\": {\n    \"@docusaurus/module-type-aliases\": \"3.10.1\",\n    \"@docusaurus/tsconfig\": \"3.10.1\",\n    \"typescript\": \"~5.9.3\"\n  },\n  \"browserslist\": {\n    \"production\": [\n      \">0.5%\",\n      \"not dead\",\n      \"not op_mini all\"\n    ],\n    \"development\": [\n      \"last 3 chrome version\",\n      \"last 3 firefox version\",\n      \"last 5 safari version\"\n    ]\n  },\n  \"engines\": {\n    \"node\": \">=18.0\"\n  }\n}\n"
  },
  {
    "path": "website/src/css/custom.css",
    "content": ".footer--dark {\n  --ifm-footer-background-color: #0664d0;\n  --ifm-footer-link-hover-color: var(--ifm-color-white);\n}\n\n.header-github-link::before {\n  content: \"\";\n  width: 24px;\n  height: 24px;\n  display: flex;\n  background-color: var(--ifm-navbar-link-color);\n  mask-image: url(\"data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12 .297c-6.63 0-12 5.373-12 12 0 5.303 3.438 9.8 8.205 11.385.6.113.82-.258.82-.577 0-.285-.01-1.04-.015-2.04-3.338.724-4.042-1.61-4.042-1.61C4.422 18.07 3.633 17.7 3.633 17.7c-1.087-.744.084-.729.084-.729 1.205.084 1.838 1.236 1.838 1.236 1.07 1.835 2.809 1.305 3.495.998.108-.776.417-1.305.76-1.605-2.665-.3-5.466-1.332-5.466-5.93 0-1.31.465-2.38 1.235-3.22-.135-.303-.54-1.523.105-3.176 0 0 1.005-.322 3.3 1.23.96-.267 1.98-.399 3-.405 1.02.006 2.04.138 3 .405 2.28-1.552 3.285-1.23 3.285-1.23.645 1.653.24 2.873.12 3.176.765.84 1.23 1.91 1.23 3.22 0 4.61-2.805 5.625-5.475 5.92.42.36.81 1.096.81 2.22 0 1.606-.015 2.896-.015 3.286 0 .315.21.69.825.57C20.565 22.092 24 17.592 24 12.297c0-6.627-5.373-12-12-12'/%3E%3C/svg%3E\");\n  transition: background-color var(--ifm-transition-fast)\n    var(--ifm-transition-timing-default);\n}\n.header-github-link:hover::before {\n  background-color: var(--ifm-navbar-link-hover-color);\n}\n\n.navbar__search-input {\n  transition: box-shadow var(--ifm-transition-fast)\n    var(--ifm-transition-timing-default);\n}\n.navbar__search-input:hover {\n  box-shadow: 0 0 0 2px var(--ifm-navbar-link-hover-color);\n}\n\n[data-theme=\"light\"] img[src$=\"#gh-dark-mode-only\"],\n[data-theme=\"dark\"] img[src$=\"#gh-light-mode-only\"] {\n  display: none;\n}\n"
  },
  {
    "path": "website/static/.nojekyll",
    "content": ""
  },
  {
    "path": "website/tsconfig.json",
    "content": "{\n  // This file is not used in compilation. It is here just for a nice editor experience.\n  \"extends\": \"@docusaurus/tsconfig\",\n  \"compilerOptions\": {\n    \"baseUrl\": \".\"\n  }\n}\n"
  }
]